about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-11 23:37:02 +0000
committerAlyssa Ross <hi@alyssa.is>2020-01-11 23:41:30 +0000
commit6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch)
tree035a071d5d8980df6de0fa42e2ef8fc0cce7055e
parentda7500bc026e937ac7fce7b50f67a0e1765737a7 (diff)
parente4134747f5666bcab8680aff67fa3b63384f9a0f (diff)
downloadnixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
-rw-r--r--modules/ssh/default.nix13
-rw-r--r--modules/workstation/hardware/keyboard/default.nix2
-rw-r--r--nixpkgs-overlays/patches/bemenu/default.nix18
-rw-r--r--nixpkgs-overlays/patches/default.nix4
-rw-r--r--nixpkgs-overlays/patches/neomutt/1388.patch29
-rw-r--r--nixpkgs-overlays/patches/neomutt/default.nix5
-rw-r--r--nixpkgs-overlays/patches/tmux/0001-Add-function-for-querying-location-of-configure-file.patch64
-rw-r--r--nixpkgs-overlays/patches/tmux/0002-Load-tmux.conf-from-if-there-was-no-file-in-home-df0.patch45
-rw-r--r--nixpkgs-overlays/patches/tmux/default.nix8
-rw-r--r--nixpkgs/.github/CODEOWNERS29
-rw-r--r--nixpkgs/.github/CONTRIBUTING.md7
-rw-r--r--nixpkgs/.github/ISSUE_TEMPLATE.md2
-rw-r--r--nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md2
-rw-r--r--nixpkgs/.github/PULL_REQUEST_TEMPLATE.md6
-rw-r--r--nixpkgs/.github/stale.yml32
-rw-r--r--nixpkgs/README.md12
-rw-r--r--nixpkgs/doc/builders/fetchers.xml (renamed from nixpkgs/doc/functions/fetchers.xml)28
-rw-r--r--nixpkgs/doc/builders/images.xml12
-rw-r--r--nixpkgs/doc/builders/images/appimagetools.xml (renamed from nixpkgs/doc/functions/appimagetools.xml)0
-rw-r--r--nixpkgs/doc/builders/images/dockertools.xml (renamed from nixpkgs/doc/functions/dockertools.xml)6
-rw-r--r--nixpkgs/doc/builders/images/ocitools.xml (renamed from nixpkgs/doc/functions/ocitools.xml)0
-rw-r--r--nixpkgs/doc/builders/images/snap/example-firefox.nix (renamed from nixpkgs/doc/functions/snap/example-firefox.nix)0
-rw-r--r--nixpkgs/doc/builders/images/snap/example-hello.nix (renamed from nixpkgs/doc/functions/snap/example-hello.nix)0
-rw-r--r--nixpkgs/doc/builders/images/snaptools.xml (renamed from nixpkgs/doc/functions/snaptools.xml)0
-rw-r--r--nixpkgs/doc/builders/packages/citrix.xml44
-rw-r--r--nixpkgs/doc/builders/packages/dlib.xml24
-rw-r--r--nixpkgs/doc/builders/packages/eclipse.xml72
-rw-r--r--nixpkgs/doc/builders/packages/elm.xml17
-rw-r--r--nixpkgs/doc/builders/packages/emacs.xml131
-rw-r--r--nixpkgs/doc/builders/packages/ibus.xml57
-rw-r--r--nixpkgs/doc/builders/packages/index.xml23
-rw-r--r--nixpkgs/doc/builders/packages/kakoune.xml14
-rw-r--r--nixpkgs/doc/builders/packages/linux.xml85
-rw-r--r--nixpkgs/doc/builders/packages/locales.xml13
-rw-r--r--nixpkgs/doc/builders/packages/nginx.xml25
-rw-r--r--nixpkgs/doc/builders/packages/opengl.xml9
-rw-r--r--nixpkgs/doc/builders/packages/shell-helpers.xml25
-rw-r--r--nixpkgs/doc/builders/packages/steam.xml131
-rw-r--r--nixpkgs/doc/builders/packages/unfree.xml13
-rw-r--r--nixpkgs/doc/builders/packages/weechat.xml85
-rw-r--r--nixpkgs/doc/builders/packages/xorg.xml34
-rw-r--r--nixpkgs/doc/builders/special.xml10
-rw-r--r--nixpkgs/doc/builders/special/fhs-environments.xml (renamed from nixpkgs/doc/functions/fhs-environments.xml)0
-rw-r--r--nixpkgs/doc/builders/special/mkshell.xml (renamed from nixpkgs/doc/functions/shell.xml)0
-rw-r--r--nixpkgs/doc/builders/trivial-builders.xml (renamed from nixpkgs/doc/functions/trivial-builders.xml)29
-rw-r--r--nixpkgs/doc/contributing/coding-conventions.xml (renamed from nixpkgs/doc/coding-conventions.xml)21
-rw-r--r--nixpkgs/doc/contributing/contributing-to-documentation.xml (renamed from nixpkgs/doc/contributing.xml)0
-rw-r--r--nixpkgs/doc/contributing/quick-start.xml (renamed from nixpkgs/doc/quick-start.xml)0
-rw-r--r--nixpkgs/doc/contributing/reviewing-contributions.xml (renamed from nixpkgs/doc/reviewing-contributions.xml)15
-rw-r--r--nixpkgs/doc/contributing/submitting-changes.xml (renamed from nixpkgs/doc/submitting-changes.xml)83
-rw-r--r--nixpkgs/doc/doc-support/parameters.xml2
-rw-r--r--nixpkgs/doc/functions.xml9
-rw-r--r--nixpkgs/doc/languages-frameworks/android.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/beam.xml320
-rw-r--r--nixpkgs/doc/languages-frameworks/emscripten.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/gnome.xml37
-rw-r--r--nixpkgs/doc/languages-frameworks/go.xml15
-rw-r--r--nixpkgs/doc/languages-frameworks/haskell.section.md65
-rw-r--r--nixpkgs/doc/languages-frameworks/idris.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/index.xml6
-rw-r--r--nixpkgs/doc/languages-frameworks/ios.section.md12
-rw-r--r--nixpkgs/doc/languages-frameworks/node.section.md4
-rw-r--r--nixpkgs/doc/languages-frameworks/python.section.md41
-rw-r--r--nixpkgs/doc/languages-frameworks/r.section.md4
-rw-r--r--nixpkgs/doc/languages-frameworks/rust.section.md19
-rw-r--r--nixpkgs/doc/languages-frameworks/texlive.xml91
-rw-r--r--nixpkgs/doc/languages-frameworks/vim.section.md2
-rw-r--r--nixpkgs/doc/manual.xml50
-rw-r--r--nixpkgs/doc/package-notes.xml422
-rw-r--r--nixpkgs/doc/package-specific-user-notes.xml357
-rw-r--r--nixpkgs/doc/preface.chapter.md (renamed from nixpkgs/doc/introduction.chapter.md)27
-rw-r--r--nixpkgs/doc/stdenv/cross-compilation.xml (renamed from nixpkgs/doc/cross-compilation.xml)6
-rw-r--r--nixpkgs/doc/stdenv/meta.xml (renamed from nixpkgs/doc/meta.xml)0
-rw-r--r--nixpkgs/doc/stdenv/multiple-output.xml (renamed from nixpkgs/doc/multiple-output.xml)0
-rw-r--r--nixpkgs/doc/stdenv/platform-notes.xml (renamed from nixpkgs/doc/platform-notes.xml)2
-rw-r--r--nixpkgs/doc/stdenv/stdenv.xml (renamed from nixpkgs/doc/stdenv.xml)16
-rw-r--r--nixpkgs/doc/using/configuration.xml (renamed from nixpkgs/doc/configuration.xml)13
-rw-r--r--nixpkgs/doc/using/overlays.xml (renamed from nixpkgs/doc/overlays.xml)0
-rw-r--r--nixpkgs/doc/using/overrides.xml (renamed from nixpkgs/doc/functions/overrides.xml)12
-rw-r--r--nixpkgs/lib/customisation.nix37
-rw-r--r--nixpkgs/lib/default.nix15
-rw-r--r--nixpkgs/lib/modules.nix166
-rw-r--r--nixpkgs/lib/strings.nix17
-rw-r--r--nixpkgs/lib/systems/default.nix2
-rw-r--r--nixpkgs/lib/systems/doubles.nix8
-rw-r--r--nixpkgs/lib/systems/examples.nix10
-rw-r--r--nixpkgs/lib/systems/inspect.nix1
-rw-r--r--nixpkgs/lib/systems/parse.nix6
-rw-r--r--nixpkgs/lib/tests/misc.nix40
-rwxr-xr-xnixpkgs/lib/tests/modules.sh81
-rw-r--r--nixpkgs/lib/tests/modules/declare-attrsOfSub-any-enable.nix (renamed from nixpkgs/lib/tests/modules/declare-loaOfSub-any-enable.nix)4
-rw-r--r--nixpkgs/lib/tests/modules/declare-submoduleWith-modules.nix30
-rw-r--r--nixpkgs/lib/tests/modules/declare-submoduleWith-noshorthand.nix13
-rw-r--r--nixpkgs/lib/tests/modules/declare-submoduleWith-path.nix12
-rw-r--r--nixpkgs/lib/tests/modules/declare-submoduleWith-shorthand.nix14
-rw-r--r--nixpkgs/lib/tests/modules/declare-submoduleWith-special.nix17
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-bar-enable.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-bar.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-force.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-if.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo-force-enable.nix (renamed from nixpkgs/lib/tests/modules/define-loaOfSub-foo-force-enable.nix)2
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo-if-enable.nix (renamed from nixpkgs/lib/tests/modules/define-loaOfSub-foo-if-enable.nix)2
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-foo.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-force-foo-enable.nix (renamed from nixpkgs/lib/tests/modules/define-loaOfSub-force-foo-enable.nix)2
-rw-r--r--nixpkgs/lib/tests/modules/define-attrsOfSub-if-foo-enable.nix (renamed from nixpkgs/lib/tests/modules/define-loaOfSub-if-foo-enable.nix)2
-rw-r--r--nixpkgs/lib/tests/modules/define-force-attrsOfSub-foo-enable.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-force-loaOfSub-foo-enable.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-if-attrsOfSub-foo-enable.nix (renamed from nixpkgs/lib/tests/modules/define-if-loaOfSub-foo-enable.nix)2
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-bar-enable.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-bar.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-force.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-if.nix5
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-loaOfSub-foo.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-submoduleWith-noshorthand.nix3
-rw-r--r--nixpkgs/lib/tests/modules/define-submoduleWith-shorthand.nix3
-rw-r--r--nixpkgs/lib/tests/modules/disable-recursive/bar.nix5
-rw-r--r--nixpkgs/lib/tests/modules/disable-recursive/disable-bar.nix7
-rw-r--r--nixpkgs/lib/tests/modules/disable-recursive/disable-foo.nix7
-rw-r--r--nixpkgs/lib/tests/modules/disable-recursive/foo.nix5
-rw-r--r--nixpkgs/lib/tests/modules/disable-recursive/main.nix8
-rw-r--r--nixpkgs/lib/tests/modules/loaOf-with-long-list.nix19
-rw-r--r--nixpkgs/lib/tests/modules/loaOf-with-many-list-merges.nix19
-rw-r--r--nixpkgs/lib/tests/systems.nix6
-rw-r--r--nixpkgs/lib/trivial.nix37
-rw-r--r--nixpkgs/lib/types.nix106
-rw-r--r--nixpkgs/lib/versions.nix12
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix726
-rw-r--r--nixpkgs/maintainers/scripts/luarocks-packages.csv4
-rwxr-xr-xnixpkgs/maintainers/scripts/update-discord6
-rwxr-xr-xnixpkgs/maintainers/scripts/update.nix4
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/abstractions.xml135
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/config-file.xml8
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/profiles/graphical.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/wireless.xml11
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/x-windows.xml5
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/xfce.xml19
-rw-r--r--nixpkgs/nixos/doc/manual/default.nix3
-rw-r--r--nixpkgs/nixos/doc/manual/development/option-declarations.xml10
-rw-r--r--nixpkgs/nixos/doc/manual/development/option-types.xml56
-rwxr-xr-xnixpkgs/nixos/doc/manual/development/releases.xml21
-rw-r--r--nixpkgs/nixos/doc/manual/development/replace-modules.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml14
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml2
-rw-r--r--nixpkgs/nixos/doc/manual/development/sources.xml19
-rw-r--r--nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml106
-rw-r--r--nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml5
-rw-r--r--nixpkgs/nixos/doc/manual/installation/installing.xml23
-rw-r--r--nixpkgs/nixos/doc/manual/installation/upgrading.xml16
-rw-r--r--nixpkgs/nixos/doc/manual/man-configuration.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-build-vms.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-enter.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-generate-config.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-install.xml66
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-option.xml34
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml18
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-version.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/manual.xml27
-rw-r--r--nixpkgs/nixos/doc/manual/preface.xml37
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml97
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2003.xml362
-rw-r--r--nixpkgs/nixos/lib/make-ext4-fs.nix44
-rw-r--r--nixpkgs/nixos/lib/make-iso9660-image.nix6
-rw-r--r--nixpkgs/nixos/lib/make-options-doc/default.nix2
-rw-r--r--nixpkgs/nixos/lib/test-driver/test-driver.py900
-rw-r--r--nixpkgs/nixos/lib/testing-python.nix284
-rw-r--r--nixpkgs/nixos/lib/testing.nix4
-rwxr-xr-xnixpkgs/nixos/maintainers/scripts/azure/create-azure.sh4
-rwxr-xr-xnixpkgs/nixos/maintainers/scripts/ec2/create-amis.sh6
-rwxr-xr-xnixpkgs/nixos/maintainers/scripts/gce/create-gce.sh2
-rw-r--r--nixpkgs/nixos/modules/config/console.nix203
-rw-r--r--nixpkgs/nixos/modules/config/fonts/corefonts.nix36
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fontconfig-ultimate.nix86
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fontconfig.nix10
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fonts.nix3
-rw-r--r--nixpkgs/nixos/modules/config/i18n.nix80
-rw-r--r--nixpkgs/nixos/modules/config/ldap.nix4
-rw-r--r--nixpkgs/nixos/modules/config/networking.nix20
-rw-r--r--nixpkgs/nixos/modules/config/no-x-libs.nix1
-rw-r--r--nixpkgs/nixos/modules/config/pulseaudio.nix35
-rw-r--r--nixpkgs/nixos/modules/config/qt5.nix2
-rw-r--r--nixpkgs/nixos/modules/config/resolvconf.nix6
-rw-r--r--nixpkgs/nixos/modules/config/shells-environment.nix14
-rw-r--r--nixpkgs/nixos/modules/config/swap.nix2
-rw-r--r--nixpkgs/nixos/modules/config/sysctl.nix2
-rw-r--r--nixpkgs/nixos/modules/config/system-environment.nix21
-rw-r--r--nixpkgs/nixos/modules/config/unix-odbc-drivers.nix2
-rw-r--r--nixpkgs/nixos/modules/config/update-users-groups.pl4
-rw-r--r--nixpkgs/nixos/modules/config/users-groups.nix6
-rw-r--r--nixpkgs/nixos/modules/config/vpnc.nix41
-rw-r--r--nixpkgs/nixos/modules/config/xdg/portal.nix4
-rw-r--r--nixpkgs/nixos/modules/config/xdg/sounds.nix6
-rw-r--r--nixpkgs/nixos/modules/hardware/all-firmware.nix8
-rw-r--r--nixpkgs/nixos/modules/hardware/brillo.nix22
-rw-r--r--nixpkgs/nixos/modules/hardware/ckb-next.nix5
-rw-r--r--nixpkgs/nixos/modules/hardware/ksm.nix4
-rw-r--r--nixpkgs/nixos/modules/hardware/opengl.nix5
-rw-r--r--nixpkgs/nixos/modules/hardware/steam-hardware.nix7
-rw-r--r--nixpkgs/nixos/modules/hardware/video/displaylink.nix22
-rw-r--r--nixpkgs/nixos/modules/hardware/video/nvidia.nix16
-rw-r--r--nixpkgs/nixos/modules/i18n/input-method/ibus.nix16
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix15
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix2
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix20
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix32
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix2
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix31
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix34
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-pc.nix5
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix5
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/system-tarball.nix2
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix8
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl25
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-install.sh15
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option.sh327
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option/CMakeLists.txt8
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option/default.nix11
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc83
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh9
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-option/nixos-option.cc618
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh13
-rw-r--r--nixpkgs/nixos/modules/installer/tools/tools.nix12
-rw-r--r--nixpkgs/nixos/modules/misc/documentation.nix12
-rw-r--r--nixpkgs/nixos/modules/misc/ids.nix17
-rw-r--r--nixpkgs/nixos/modules/misc/locate.nix10
-rw-r--r--nixpkgs/nixos/modules/misc/version.nix8
-rw-r--r--nixpkgs/nixos/modules/module-list.nix46
-rw-r--r--nixpkgs/nixos/modules/profiles/graphical.nix2
-rw-r--r--nixpkgs/nixos/modules/profiles/hardened.nix21
-rw-r--r--nixpkgs/nixos/modules/profiles/installation-device.nix3
-rw-r--r--nixpkgs/nixos/modules/programs/adb.nix3
-rw-r--r--nixpkgs/nixos/modules/programs/bandwhich.nix29
-rw-r--r--nixpkgs/nixos/modules/programs/bash/bash.nix4
-rw-r--r--nixpkgs/nixos/modules/programs/blcr.nix27
-rw-r--r--nixpkgs/nixos/modules/programs/dconf.nix15
-rw-r--r--nixpkgs/nixos/modules/programs/environment.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/gnupg.nix41
-rw-r--r--nixpkgs/nixos/modules/programs/nm-applet.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/oblogout.nix171
-rw-r--r--nixpkgs/nixos/modules/programs/screen.nix1
-rw-r--r--nixpkgs/nixos/modules/programs/seahorse.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/shadow.nix42
-rw-r--r--nixpkgs/nixos/modules/programs/shell.nix54
-rw-r--r--nixpkgs/nixos/modules/programs/ssh.nix11
-rw-r--r--nixpkgs/nixos/modules/programs/ssmtp.nix19
-rw-r--r--nixpkgs/nixos/modules/programs/sway.nix66
-rw-r--r--nixpkgs/nixos/modules/programs/x2goserver.nix1
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/oh-my-zsh.nix7
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix4
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix11
-rw-r--r--nixpkgs/nixos/modules/rename.nix297
-rw-r--r--nixpkgs/nixos/modules/security/acme.nix68
-rw-r--r--nixpkgs/nixos/modules/security/apparmor-suid.nix3
-rw-r--r--nixpkgs/nixos/modules/security/chromium-suid-sandbox.nix4
-rw-r--r--nixpkgs/nixos/modules/security/duosec.nix28
-rw-r--r--nixpkgs/nixos/modules/security/pam.nix18
-rw-r--r--nixpkgs/nixos/modules/security/pam_mount.nix11
-rw-r--r--nixpkgs/nixos/modules/security/polkit.nix5
-rw-r--r--nixpkgs/nixos/modules/security/rtkit.nix5
-rw-r--r--nixpkgs/nixos/modules/security/sudo.nix3
-rw-r--r--nixpkgs/nixos/modules/security/wrappers/default.nix4
-rw-r--r--nixpkgs/nixos/modules/services/admin/oxidized.nix2
-rw-r--r--nixpkgs/nixos/modules/services/amqp/rabbitmq.nix2
-rw-r--r--nixpkgs/nixos/modules/services/audio/alsa.nix3
-rw-r--r--nixpkgs/nixos/modules/services/audio/jack.nix1
-rw-r--r--nixpkgs/nixos/modules/services/audio/mpd.nix28
-rw-r--r--nixpkgs/nixos/modules/services/audio/roon-server.nix3
-rw-r--r--nixpkgs/nixos/modules/services/backup/automysqlbackup.nix5
-rw-r--r--nixpkgs/nixos/modules/services/backup/bacula.nix166
-rw-r--r--nixpkgs/nixos/modules/services/backup/borgbackup.nix52
-rw-r--r--nixpkgs/nixos/modules/services/backup/mysql-backup.nix7
-rw-r--r--nixpkgs/nixos/modules/services/backup/postgresql-backup.nix9
-rw-r--r--nixpkgs/nixos/modules/services/backup/tarsnap.nix4
-rw-r--r--nixpkgs/nixos/modules/services/backup/znapzend.nix28
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix4
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix12
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix12
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix5
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix7
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix1
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix10
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix12
-rw-r--r--nixpkgs/nixos/modules/services/computing/slurm/slurm.nix51
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix21
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/buildbot/worker.nix21
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/buildkite-agent.nix1
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix24
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix24
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix4
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix24
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/jenkins/slave.nix20
-rw-r--r--nixpkgs/nixos/modules/services/databases/4store-endpoint.nix74
-rw-r--r--nixpkgs/nixos/modules/services/databases/4store.nix72
-rw-r--r--nixpkgs/nixos/modules/services/databases/cockroachdb.nix14
-rw-r--r--nixpkgs/nixos/modules/services/databases/foundationdb.nix14
-rw-r--r--nixpkgs/nixos/modules/services/databases/influxdb.nix14
-rw-r--r--nixpkgs/nixos/modules/services/databases/memcached.nix6
-rw-r--r--nixpkgs/nixos/modules/services/databases/mysql.nix28
-rw-r--r--nixpkgs/nixos/modules/services/databases/neo4j.nix15
-rw-r--r--nixpkgs/nixos/modules/services/databases/postgresql.nix7
-rw-r--r--nixpkgs/nixos/modules/services/databases/redis.nix28
-rw-r--r--nixpkgs/nixos/modules/services/databases/rethinkdb.nix1
-rw-r--r--nixpkgs/nixos/modules/services/databases/virtuoso.nix5
-rw-r--r--nixpkgs/nixos/modules/services/desktops/geoclue2.nix41
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix86
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix49
-rw-r--r--nixpkgs/nixos/modules/services/desktops/neard.nix23
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pantheon/contractor.nix25
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pantheon/files.nix31
-rw-r--r--nixpkgs/nixos/modules/services/desktops/system-config-printer.nix3
-rw-r--r--nixpkgs/nixos/modules/services/desktops/tumbler.nix18
-rw-r--r--nixpkgs/nixos/modules/services/development/lorri.nix47
-rw-r--r--nixpkgs/nixos/modules/services/editors/infinoted.nix14
-rw-r--r--nixpkgs/nixos/modules/services/games/openarena.nix56
-rw-r--r--nixpkgs/nixos/modules/services/hardware/bluetooth.nix34
-rw-r--r--nixpkgs/nixos/modules/services/hardware/fancontrol.nix45
-rw-r--r--nixpkgs/nixos/modules/services/hardware/fwupd.nix6
-rw-r--r--nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix11
-rw-r--r--nixpkgs/nixos/modules/services/hardware/tcsd.nix14
-rw-r--r--nixpkgs/nixos/modules/services/hardware/tlp.nix17
-rw-r--r--nixpkgs/nixos/modules/services/hardware/trezord.nix16
-rw-r--r--nixpkgs/nixos/modules/services/hardware/udev.nix15
-rw-r--r--nixpkgs/nixos/modules/services/hardware/udisks2.nix5
-rw-r--r--nixpkgs/nixos/modules/services/hardware/upower.nix181
-rw-r--r--nixpkgs/nixos/modules/services/hardware/usbmuxd.nix12
-rw-r--r--nixpkgs/nixos/modules/services/hardware/vdr.nix1
-rw-r--r--nixpkgs/nixos/modules/services/logging/awstats.nix298
-rw-r--r--nixpkgs/nixos/modules/services/logging/logcheck.nix7
-rw-r--r--nixpkgs/nixos/modules/services/logging/logstash.nix5
-rw-r--r--nixpkgs/nixos/modules/services/logging/syslog-ng.nix4
-rw-r--r--nixpkgs/nixos/modules/services/mail/dovecot.nix59
-rw-r--r--nixpkgs/nixos/modules/services/mail/dspam.nix14
-rw-r--r--nixpkgs/nixos/modules/services/mail/exim.nix6
-rw-r--r--nixpkgs/nixos/modules/services/mail/mailcatcher.nix9
-rw-r--r--nixpkgs/nixos/modules/services/mail/mailhog.nix1
-rw-r--r--nixpkgs/nixos/modules/services/mail/mlmmj.nix6
-rw-r--r--nixpkgs/nixos/modules/services/mail/nullmailer.nix7
-rw-r--r--nixpkgs/nixos/modules/services/mail/opendkim.nix17
-rw-r--r--nixpkgs/nixos/modules/services/mail/opensmtpd.nix18
-rw-r--r--nixpkgs/nixos/modules/services/mail/postfix.nix21
-rw-r--r--nixpkgs/nixos/modules/services/mail/postgrey.nix11
-rw-r--r--nixpkgs/nixos/modules/services/mail/postsrsd.nix14
-rw-r--r--nixpkgs/nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/rspamd.nix10
-rw-r--r--nixpkgs/nixos/modules/services/mail/spamassassin.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/airsonic.nix1
-rw-r--r--nixpkgs/nixos/modules/services/misc/apache-kafka.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/beanstalkd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/bepasty.nix18
-rw-r--r--nixpkgs/nixos/modules/services/misc/cgminer.nix7
-rw-r--r--nixpkgs/nixos/modules/services/misc/couchpotato.nix11
-rw-r--r--nixpkgs/nixos/modules/services/misc/dictd.nix10
-rw-r--r--nixpkgs/nixos/modules/services/misc/docker-registry.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/errbot.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/etcd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/ethminer.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/exhibitor.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/felix.nix10
-rw-r--r--nixpkgs/nixos/modules/services/misc/folding-at-home.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitea.nix22
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitlab.nix205
-rw-r--r--nixpkgs/nixos/modules/services/misc/gollum.nix1
-rw-r--r--nixpkgs/nixos/modules/services/misc/gpsd.nix10
-rw-r--r--nixpkgs/nixos/modules/services/misc/headphones.nix24
-rw-r--r--nixpkgs/nixos/modules/services/misc/home-assistant.nix9
-rw-r--r--nixpkgs/nixos/modules/services/misc/jellyfin.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/lidarr.nix15
-rw-r--r--nixpkgs/nixos/modules/services/misc/mame.nix67
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-synapse.nix86
-rw-r--r--nixpkgs/nixos/modules/services/misc/mediatomb.nix24
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-daemon.nix107
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-optimise.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/nixos-manual.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/nzbget.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/octoprint.nix14
-rw-r--r--nixpkgs/nixos/modules/services/misc/osrm.nix1
-rw-r--r--nixpkgs/nixos/modules/services/misc/parsoid.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/pykms.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/redmine.nix29
-rw-r--r--nixpkgs/nixos/modules/services/misc/ripple-data-api.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/rippled.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/rogue.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/serviio.nix13
-rw-r--r--nixpkgs/nixos/modules/services/misc/sickbeard.nix24
-rw-r--r--nixpkgs/nixos/modules/services/misc/siproxd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/taskserver/default.nix16
-rw-r--r--nixpkgs/nixos/modules/services/misc/tautulli.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/uhub.nix24
-rw-r--r--nixpkgs/nixos/modules/services/misc/zoneminder.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/zookeeper.nix3
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/collectd.nix45
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix21
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/dd-agent/dd-agent.nix60
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/do-agent.nix34
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/grafana.nix2
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/graphite.nix3
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/heapster.nix3
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/munin.nix10
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/nagios.nix153
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/netdata.nix12
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/osquery.nix91
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix9
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix5
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix22
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix53
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix58
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix2
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix5
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/statsd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/sysstat.nix12
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/telegraf.nix5
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/thanos.nix34
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/ups.nix45
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix1
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix6
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/beegfs.nix357
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/ceph.nix79
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/davfs2.nix23
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/drbd.nix6
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/nfsd.nix4
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix97
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix225
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/samba.nix26
-rw-r--r--nixpkgs/nixos/modules/services/networking/3proxy.nix424
-rw-r--r--nixpkgs/nixos/modules/services/networking/bind.nix11
-rw-r--r--nixpkgs/nixos/modules/services/networking/bitcoind.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/bitlbee.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/charybdis.nix6
-rw-r--r--nixpkgs/nixos/modules/services/networking/connman.nix44
-rw-r--r--nixpkgs/nixos/modules/services/networking/coturn.nix14
-rw-r--r--nixpkgs/nixos/modules/services/networking/ddclient.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/dhcpcd.nix6
-rw-r--r--nixpkgs/nixos/modules/services/networking/dhcpd.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnscache.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnschain.nix7
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnsdist.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnsmasq.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/ejabberd.nix14
-rw-r--r--nixpkgs/nixos/modules/services/networking/eternal-terminal.nix6
-rw-r--r--nixpkgs/nixos/modules/services/networking/fakeroute.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/firewall.nix30
-rw-r--r--nixpkgs/nixos/modules/services/networking/gale.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/git-daemon.nix12
-rw-r--r--nixpkgs/nixos/modules/services/networking/gnunet.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix30
-rw-r--r--nixpkgs/nixos/modules/services/networking/hans.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/haproxy.nix36
-rw-r--r--nixpkgs/nixos/modules/services/networking/helpers.nix11
-rw-r--r--nixpkgs/nixos/modules/services/networking/i2pd.nix22
-rw-r--r--nixpkgs/nixos/modules/services/networking/iodine.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/jormungandr.nix102
-rw-r--r--nixpkgs/nixos/modules/services/networking/kippo.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/kresd.nix35
-rw-r--r--nixpkgs/nixos/modules/services/networking/matterbridge.nix12
-rw-r--r--nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix9
-rw-r--r--nixpkgs/nixos/modules/services/networking/monero.nix20
-rw-r--r--nixpkgs/nixos/modules/services/networking/morty.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/murmur.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/mxisd.nix45
-rw-r--r--nixpkgs/nixos/modules/services/networking/namecoind.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/nat.nix32
-rw-r--r--nixpkgs/nixos/modules/services/networking/networkmanager.nix272
-rw-r--r--nixpkgs/nixos/modules/services/networking/nghttpx/default.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/nntp-proxy.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/nsd.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/ntp/chrony.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/ntp/ntpd.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/openvpn.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/owamp.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/pdns-recursor.nix15
-rw-r--r--nixpkgs/nixos/modules/services/networking/pdnsd.nix6
-rw-r--r--nixpkgs/nixos/modules/services/networking/polipo.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/pppd.nix136
-rw-r--r--nixpkgs/nixos/modules/services/networking/prayer.nix11
-rw-r--r--nixpkgs/nixos/modules/services/networking/privoxy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/quassel.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/radicale.nix11
-rw-r--r--nixpkgs/nixos/modules/services/networking/searx.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/shairport-sync.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/shorewall.nix75
-rw-r--r--nixpkgs/nixos/modules/services/networking/shorewall6.nix75
-rw-r--r--nixpkgs/nixos/modules/services/networking/shout.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/smokeping.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/spacecookie.nix83
-rw-r--r--nixpkgs/nixos/modules/services/networking/ssh/sshd.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/stunnel.nix15
-rw-r--r--nixpkgs/nixos/modules/services/networking/supybot.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncthing.nix76
-rw-r--r--nixpkgs/nixos/modules/services/networking/tcpcrypt.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/thelounge.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/tinydns.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/tox-bootstrapd.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/trickster.nix112
-rw-r--r--nixpkgs/nixos/modules/services/networking/unbound.nix13
-rw-r--r--nixpkgs/nixos/modules/services/networking/v2ray.nix81
-rw-r--r--nixpkgs/nixos/modules/services/networking/vsftpd.nix144
-rw-r--r--nixpkgs/nixos/modules/services/networking/wireguard.nix66
-rw-r--r--nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix23
-rw-r--r--nixpkgs/nixos/modules/services/networking/yggdrasil.nix187
-rw-r--r--nixpkgs/nixos/modules/services/networking/zeronet.nix92
-rw-r--r--nixpkgs/nixos/modules/services/networking/znc/default.nix28
-rw-r--r--nixpkgs/nixos/modules/services/printing/cupsd.nix16
-rw-r--r--nixpkgs/nixos/modules/services/scheduling/atd.nix10
-rw-r--r--nixpkgs/nixos/modules/services/scheduling/fcron.nix5
-rw-r--r--nixpkgs/nixos/modules/services/scheduling/marathon.nix2
-rw-r--r--nixpkgs/nixos/modules/services/search/hound.nix22
-rw-r--r--nixpkgs/nixos/modules/services/search/kibana.nix3
-rw-r--r--nixpkgs/nixos/modules/services/search/solr.nix14
-rw-r--r--nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix5
-rw-r--r--nixpkgs/nixos/modules/services/security/clamav.nix13
-rw-r--r--nixpkgs/nixos/modules/services/security/fprintd.nix7
-rw-r--r--nixpkgs/nixos/modules/services/security/fprot.nix14
-rw-r--r--nixpkgs/nixos/modules/services/security/oauth2_proxy.nix1
-rw-r--r--nixpkgs/nixos/modules/services/security/tor.nix6
-rw-r--r--nixpkgs/nixos/modules/services/security/torify.nix3
-rw-r--r--nixpkgs/nixos/modules/services/security/torsocks.nix9
-rw-r--r--nixpkgs/nixos/modules/services/security/vault.nix5
-rw-r--r--nixpkgs/nixos/modules/services/system/dbus.nix5
-rw-r--r--nixpkgs/nixos/modules/services/system/localtime.nix4
-rw-r--r--nixpkgs/nixos/modules/services/torrent/magnetico.nix10
-rw-r--r--nixpkgs/nixos/modules/services/torrent/transmission.nix21
-rw-r--r--nixpkgs/nixos/modules/services/ttys/agetty.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/codimd.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/documize.nix11
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/frab.nix11
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/gotify-server.nix49
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix141
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/limesurvey.nix93
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/matomo-doc.xml8
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/matomo.nix64
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mattermost.nix22
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mediawiki.nix64
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/moinmoin.nix303
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/moodle.nix60
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.nix16
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nexus.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/restya-board.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/shiori.nix50
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/trac.nix79
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/trilium.nix137
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/virtlyst.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/wordpress.nix87
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/zabbix.nix54
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix647
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix407
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/hitch/default.nix5
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/default.nix90
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix5
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix10
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/tomcat.nix10
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/traefik.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/ttyd.nix196
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/unit/default.nix43
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/uwsgi.nix33
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/varnish/default.nix6
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix55
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix27
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix9
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix65
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix4
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix327
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix27
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix112
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix156
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix39
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/default.nix268
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix78
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix5
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix72
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix27
-rwxr-xr-xnixpkgs/nixos/modules/services/x11/display-managers/set-session.py86
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/slim.nix160
-rw-r--r--nixpkgs/nixos/modules/services/x11/extra-layouts.nix8
-rw-r--r--nixpkgs/nixos/modules/services/x11/hardware/cmt.nix7
-rw-r--r--nixpkgs/nixos/modules/services/x11/hardware/digimend.nix43
-rw-r--r--nixpkgs/nixos/modules/services/x11/hardware/libinput.nix21
-rw-r--r--nixpkgs/nixos/modules/services/x11/imwheel.nix68
-rw-r--r--nixpkgs/nixos/modules/services/x11/picom.nix (renamed from nixpkgs/nixos/modules/services/x11/compton.nix)34
-rw-r--r--nixpkgs/nixos/modules/services/x11/unclutter.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/urxvtd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix23
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/default.nix16
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/xserver.nix37
-rw-r--r--nixpkgs/nixos/modules/system/boot/binfmt.nix4
-rw-r--r--nixpkgs/nixos/modules/system/boot/grow-partition.nix3
-rw-r--r--nixpkgs/nixos/modules/system/boot/kernel.nix5
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix4
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/loader.nix7
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh10
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix6
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix6
-rw-r--r--nixpkgs/nixos/modules/system/boot/luksroot.nix5
-rw-r--r--nixpkgs/nixos/modules/system/boot/networkd.nix22
-rw-r--r--nixpkgs/nixos/modules/system/boot/plymouth.nix33
-rw-r--r--nixpkgs/nixos/modules/system/boot/resolved.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1-init.sh27
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-2-init.sh2
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix24
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd-unit-options.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd.nix25
-rw-r--r--nixpkgs/nixos/modules/system/boot/timesyncd.nix18
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/nfs.nix6
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/zfs.nix92
-rw-r--r--nixpkgs/nixos/modules/tasks/kbd.nix127
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix27
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces.nix15
-rw-r--r--nixpkgs/nixos/modules/testing/test-instrumentation.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/amazon-image.nix3
-rw-r--r--nixpkgs/nixos/modules/virtualisation/container-config.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/containers.nix24
-rw-r--r--nixpkgs/nixos/modules/virtualisation/digital-ocean-config.nix197
-rw-r--r--nixpkgs/nixos/modules/virtualisation/digital-ocean-image.nix69
-rw-r--r--nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix95
-rw-r--r--nixpkgs/nixos/modules/virtualisation/docker-containers.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/ec2-amis.nix18
-rw-r--r--nixpkgs/nixos/modules/virtualisation/ec2-data.nix4
-rw-r--r--nixpkgs/nixos/modules/virtualisation/libvirtd.nix8
-rw-r--r--nixpkgs/nixos/modules/virtualisation/lxc.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/lxd.nix28
-rw-r--r--nixpkgs/nixos/modules/virtualisation/openvswitch.nix13
-rw-r--r--nixpkgs/nixos/modules/virtualisation/qemu-vm.nix137
-rw-r--r--nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix9
-rw-r--r--nixpkgs/nixos/modules/virtualisation/vmware-guest.nix4
-rw-r--r--nixpkgs/nixos/modules/virtualisation/xen-dom0.nix36
-rw-r--r--nixpkgs/nixos/release-combined.nix9
-rw-r--r--nixpkgs/nixos/release-small.nix3
-rw-r--r--nixpkgs/nixos/release.nix5
-rw-r--r--nixpkgs/nixos/tests/3proxy.nix185
-rw-r--r--nixpkgs/nixos/tests/acme.nix64
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix63
-rw-r--r--nixpkgs/nixos/tests/ammonite.nix6
-rw-r--r--nixpkgs/nixos/tests/atd.nix20
-rw-r--r--nixpkgs/nixos/tests/automysqlbackup.nix32
-rw-r--r--nixpkgs/nixos/tests/avahi.nix70
-rw-r--r--nixpkgs/nixos/tests/babeld.nix148
-rw-r--r--nixpkgs/nixos/tests/bcachefs.nix44
-rw-r--r--nixpkgs/nixos/tests/beanstalkd.nix16
-rw-r--r--nixpkgs/nixos/tests/beegfs.nix115
-rw-r--r--nixpkgs/nixos/tests/bees.nix37
-rw-r--r--nixpkgs/nixos/tests/bind.nix8
-rw-r--r--nixpkgs/nixos/tests/bittorrent.nix58
-rw-r--r--nixpkgs/nixos/tests/boot-stage1.nix14
-rw-r--r--nixpkgs/nixos/tests/boot.nix35
-rw-r--r--nixpkgs/nixos/tests/borgbackup.nix122
-rw-r--r--nixpkgs/nixos/tests/caddy.nix87
-rw-r--r--nixpkgs/nixos/tests/cadvisor.nix23
-rw-r--r--nixpkgs/nixos/tests/cassandra.nix134
-rw-r--r--nixpkgs/nixos/tests/ceph-multi-node.nix233
-rw-r--r--nixpkgs/nixos/tests/ceph-single-node.nix196
-rw-r--r--nixpkgs/nixos/tests/ceph.nix161
-rw-r--r--nixpkgs/nixos/tests/certmgr.nix28
-rw-r--r--nixpkgs/nixos/tests/cfssl.nix8
-rw-r--r--nixpkgs/nixos/tests/chromium.nix2
-rw-r--r--nixpkgs/nixos/tests/cjdns.nix47
-rw-r--r--nixpkgs/nixos/tests/clickhouse.nix20
-rw-r--r--nixpkgs/nixos/tests/cloud-init.nix13
-rw-r--r--nixpkgs/nixos/tests/codimd.nix26
-rw-r--r--nixpkgs/nixos/tests/colord.nix18
-rw-r--r--nixpkgs/nixos/tests/common/letsencrypt/common.nix26
-rw-r--r--nixpkgs/nixos/tests/common/letsencrypt/default.nix370
-rw-r--r--nixpkgs/nixos/tests/common/letsencrypt/mkcerts.nix2
-rw-r--r--nixpkgs/nixos/tests/common/letsencrypt/snakeoil-certs.nix451
-rw-r--r--nixpkgs/nixos/tests/common/user-account.nix1
-rw-r--r--nixpkgs/nixos/tests/common/x11.nix8
-rw-r--r--nixpkgs/nixos/tests/consul.nix143
-rw-r--r--nixpkgs/nixos/tests/containers-bridge.nix79
-rw-r--r--nixpkgs/nixos/tests/containers-ephemeral.nix36
-rw-r--r--nixpkgs/nixos/tests/containers-extra_veth.nix71
-rw-r--r--nixpkgs/nixos/tests/containers-hosts.nix12
-rw-r--r--nixpkgs/nixos/tests/containers-imperative.nix186
-rw-r--r--nixpkgs/nixos/tests/containers-ip.nix77
-rw-r--r--nixpkgs/nixos/tests/containers-ipv4.nix55
-rw-r--r--nixpkgs/nixos/tests/containers-ipv6.nix60
-rw-r--r--nixpkgs/nixos/tests/containers-macvlans.nix28
-rw-r--r--nixpkgs/nixos/tests/containers-physical_interfaces.nix91
-rw-r--r--nixpkgs/nixos/tests/containers-portforward.nix22
-rw-r--r--nixpkgs/nixos/tests/containers-reloadable.nix31
-rw-r--r--nixpkgs/nixos/tests/containers-restart_networking.nix90
-rw-r--r--nixpkgs/nixos/tests/containers-tmpfs.nix104
-rw-r--r--nixpkgs/nixos/tests/couchdb.nix56
-rw-r--r--nixpkgs/nixos/tests/deluge.nix26
-rw-r--r--nixpkgs/nixos/tests/dhparams.nix98
-rw-r--r--nixpkgs/nixos/tests/dnscrypt-proxy.nix12
-rw-r--r--nixpkgs/nixos/tests/docker-edge.nix22
-rw-r--r--nixpkgs/nixos/tests/docker-registry.nix62
-rw-r--r--nixpkgs/nixos/tests/docker-tools-overlay.nix15
-rw-r--r--nixpkgs/nixos/tests/docker.nix22
-rw-r--r--nixpkgs/nixos/tests/documize.nix56
-rw-r--r--nixpkgs/nixos/tests/dovecot.nix16
-rw-r--r--nixpkgs/nixos/tests/ec2.nix2
-rw-r--r--nixpkgs/nixos/tests/ecryptfs.nix121
-rw-r--r--nixpkgs/nixos/tests/emacs-daemon.nix23
-rw-r--r--nixpkgs/nixos/tests/env.nix25
-rw-r--r--nixpkgs/nixos/tests/etcd-cluster.nix47
-rw-r--r--nixpkgs/nixos/tests/etcd.nix16
-rw-r--r--nixpkgs/nixos/tests/fancontrol.nix28
-rw-r--r--nixpkgs/nixos/tests/ferm.nix32
-rw-r--r--nixpkgs/nixos/tests/firefox.nix36
-rw-r--r--nixpkgs/nixos/tests/firewall.nix30
-rw-r--r--nixpkgs/nixos/tests/fish.nix11
-rw-r--r--nixpkgs/nixos/tests/flatpak-builder.nix20
-rw-r--r--nixpkgs/nixos/tests/flatpak.nix26
-rw-r--r--nixpkgs/nixos/tests/fluentd.nix17
-rw-r--r--nixpkgs/nixos/tests/fontconfig-default-fonts.nix15
-rw-r--r--nixpkgs/nixos/tests/fsck.nix22
-rw-r--r--nixpkgs/nixos/tests/fwupd.nix21
-rw-r--r--nixpkgs/nixos/tests/gdk-pixbuf.nix21
-rw-r--r--nixpkgs/nixos/tests/gitea.nix136
-rw-r--r--nixpkgs/nixos/tests/gitlab.nix48
-rw-r--r--nixpkgs/nixos/tests/gitolite-fcgiwrap.nix93
-rw-r--r--nixpkgs/nixos/tests/gitolite.nix103
-rw-r--r--nixpkgs/nixos/tests/gjs.nix19
-rw-r--r--nixpkgs/nixos/tests/glib-networking.nix17
-rw-r--r--nixpkgs/nixos/tests/glusterfs.nix32
-rw-r--r--nixpkgs/nixos/tests/gnome-photos.nix42
-rw-r--r--nixpkgs/nixos/tests/gnome3-xorg.nix80
-rw-r--r--nixpkgs/nixos/tests/gnome3.nix2
-rw-r--r--nixpkgs/nixos/tests/gocd-agent.nix24
-rw-r--r--nixpkgs/nixos/tests/gocd-server.nix26
-rw-r--r--nixpkgs/nixos/tests/google-oslogin/default.nix54
-rw-r--r--nixpkgs/nixos/tests/gotify-server.nix45
-rw-r--r--nixpkgs/nixos/tests/grafana.nix48
-rw-r--r--nixpkgs/nixos/tests/graphene.nix18
-rw-r--r--nixpkgs/nixos/tests/graylog.nix82
-rw-r--r--nixpkgs/nixos/tests/gvisor.nix49
-rw-r--r--nixpkgs/nixos/tests/hadoop/hdfs.nix26
-rw-r--r--nixpkgs/nixos/tests/hadoop/yarn.nix24
-rw-r--r--nixpkgs/nixos/tests/haka.nix10
-rw-r--r--nixpkgs/nixos/tests/handbrake.nix12
-rw-r--r--nixpkgs/nixos/tests/haproxy.nix32
-rw-r--r--nixpkgs/nixos/tests/hibernate.nix23
-rw-r--r--nixpkgs/nixos/tests/hitch/default.nix14
-rw-r--r--nixpkgs/nixos/tests/home-assistant.nix71
-rw-r--r--nixpkgs/nixos/tests/hound.nix19
-rw-r--r--nixpkgs/nixos/tests/hydra/default.nix30
-rw-r--r--nixpkgs/nixos/tests/i3wm.nix53
-rw-r--r--nixpkgs/nixos/tests/icingaweb2.nix8
-rw-r--r--nixpkgs/nixos/tests/iftop.nix25
-rw-r--r--nixpkgs/nixos/tests/ihatemoney.nix52
-rw-r--r--nixpkgs/nixos/tests/incron.nix32
-rw-r--r--nixpkgs/nixos/tests/influxdb.nix33
-rw-r--r--nixpkgs/nixos/tests/initrd-network-ssh/default.nix38
-rw-r--r--nixpkgs/nixos/tests/initrd-network.nix8
-rw-r--r--nixpkgs/nixos/tests/installed-tests/colord.nix5
-rw-r--r--nixpkgs/nixos/tests/installed-tests/default.nix96
-rw-r--r--nixpkgs/nixos/tests/installed-tests/flatpak-builder.nix14
-rw-r--r--nixpkgs/nixos/tests/installed-tests/flatpak.nix19
-rw-r--r--nixpkgs/nixos/tests/installed-tests/fwupd.nix12
-rw-r--r--nixpkgs/nixos/tests/installed-tests/gcab.nix5
-rw-r--r--nixpkgs/nixos/tests/installed-tests/gdk-pixbuf.nix13
-rw-r--r--nixpkgs/nixos/tests/installed-tests/gjs.nix6
-rw-r--r--nixpkgs/nixos/tests/installed-tests/glib-networking.nix5
-rw-r--r--nixpkgs/nixos/tests/installed-tests/gnome-photos.nix35
-rw-r--r--nixpkgs/nixos/tests/installed-tests/graphene.nix5
-rw-r--r--nixpkgs/nixos/tests/installed-tests/ibus.nix20
-rw-r--r--nixpkgs/nixos/tests/installed-tests/libgdata.nix11
-rw-r--r--nixpkgs/nixos/tests/installed-tests/libxmlb.nix5
-rw-r--r--nixpkgs/nixos/tests/installed-tests/ostree.nix23
-rw-r--r--nixpkgs/nixos/tests/installed-tests/xdg-desktop-portal.nix5
-rw-r--r--nixpkgs/nixos/tests/installer.nix4
-rw-r--r--nixpkgs/nixos/tests/ipv6.nix81
-rw-r--r--nixpkgs/nixos/tests/jackett.nix9
-rw-r--r--nixpkgs/nixos/tests/jellyfin.nix8
-rw-r--r--nixpkgs/nixos/tests/jenkins.nix19
-rw-r--r--nixpkgs/nixos/tests/jormungandr.nix77
-rw-r--r--nixpkgs/nixos/tests/kafka.nix1
-rw-r--r--nixpkgs/nixos/tests/keepalived.nix42
-rw-r--r--nixpkgs/nixos/tests/kerberos/heimdal.nix39
-rw-r--r--nixpkgs/nixos/tests/kerberos/mit.nix28
-rw-r--r--nixpkgs/nixos/tests/kernel-latest.nix6
-rw-r--r--nixpkgs/nixos/tests/kernel-lts.nix6
-rw-r--r--nixpkgs/nixos/tests/kernel-testing.nix6
-rw-r--r--nixpkgs/nixos/tests/kexec.nix18
-rw-r--r--nixpkgs/nixos/tests/knot.nix68
-rw-r--r--nixpkgs/nixos/tests/kubernetes/base.nix1
-rw-r--r--nixpkgs/nixos/tests/ldap.nix212
-rw-r--r--nixpkgs/nixos/tests/leaps.nix12
-rw-r--r--nixpkgs/nixos/tests/libgdata.nix21
-rw-r--r--nixpkgs/nixos/tests/libxmlb.nix17
-rw-r--r--nixpkgs/nixos/tests/lidarr.nix10
-rw-r--r--nixpkgs/nixos/tests/lightdm.nix19
-rw-r--r--nixpkgs/nixos/tests/login.nix104
-rw-r--r--nixpkgs/nixos/tests/loki.nix18
-rw-r--r--nixpkgs/nixos/tests/lorri/builder.sh3
-rw-r--r--nixpkgs/nixos/tests/lorri/default.nix26
-rw-r--r--nixpkgs/nixos/tests/lorri/fake-shell.nix5
-rw-r--r--nixpkgs/nixos/tests/magnetico.nix26
-rw-r--r--nixpkgs/nixos/tests/mailcatcher.nix20
-rw-r--r--nixpkgs/nixos/tests/make-test-python.nix9
-rw-r--r--nixpkgs/nixos/tests/matomo.nix48
-rw-r--r--nixpkgs/nixos/tests/matrix-synapse.nix20
-rw-r--r--nixpkgs/nixos/tests/mediawiki.nix10
-rw-r--r--nixpkgs/nixos/tests/memcached.nix26
-rw-r--r--nixpkgs/nixos/tests/metabase.nix10
-rw-r--r--nixpkgs/nixos/tests/minidlna.nix14
-rw-r--r--nixpkgs/nixos/tests/miniflux.nix24
-rw-r--r--nixpkgs/nixos/tests/minio.nix32
-rw-r--r--nixpkgs/nixos/tests/moinmoin.nix28
-rw-r--r--nixpkgs/nixos/tests/mongodb.nix10
-rw-r--r--nixpkgs/nixos/tests/moodle.nix8
-rw-r--r--nixpkgs/nixos/tests/morty.nix10
-rw-r--r--nixpkgs/nixos/tests/mosquitto.nix70
-rw-r--r--nixpkgs/nixos/tests/mpd.nix111
-rw-r--r--nixpkgs/nixos/tests/mumble.nix66
-rw-r--r--nixpkgs/nixos/tests/munin.nix44
-rw-r--r--nixpkgs/nixos/tests/mutable-users.nix28
-rw-r--r--nixpkgs/nixos/tests/mxisd.nix19
-rw-r--r--nixpkgs/nixos/tests/mysql-backup.nix48
-rw-r--r--nixpkgs/nixos/tests/mysql-replication.nix46
-rw-r--r--nixpkgs/nixos/tests/mysql.nix42
-rw-r--r--nixpkgs/nixos/tests/nagios.nix116
-rw-r--r--nixpkgs/nixos/tests/nat.nix55
-rw-r--r--nixpkgs/nixos/tests/ndppd.nix10
-rw-r--r--nixpkgs/nixos/tests/neo4j.nix10
-rw-r--r--nixpkgs/nixos/tests/nesting.nix36
-rw-r--r--nixpkgs/nixos/tests/netdata.nix20
-rw-r--r--nixpkgs/nixos/tests/networking.nix497
-rw-r--r--nixpkgs/nixos/tests/nextcloud/basic.nix18
-rw-r--r--nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix21
-rw-r--r--nixpkgs/nixos/tests/nextcloud/with-postgresql-and-redis.nix57
-rw-r--r--nixpkgs/nixos/tests/nexus.nix10
-rw-r--r--nixpkgs/nixos/tests/nfs.nix90
-rw-r--r--nixpkgs/nixos/tests/nfs/default.nix9
-rw-r--r--nixpkgs/nixos/tests/nfs/kerberos.nix133
-rw-r--r--nixpkgs/nixos/tests/nfs/simple.nix94
-rw-r--r--nixpkgs/nixos/tests/nghttpx.nix10
-rw-r--r--nixpkgs/nixos/tests/nginx-etag.nix89
-rw-r--r--nixpkgs/nixos/tests/nginx-sso.nix24
-rw-r--r--nixpkgs/nixos/tests/nginx.nix97
-rw-r--r--nixpkgs/nixos/tests/nix-ssh-serve.nix30
-rw-r--r--nixpkgs/nixos/tests/nixos-generate-config.nix14
-rw-r--r--nixpkgs/nixos/tests/novacomd.nix32
-rw-r--r--nixpkgs/nixos/tests/nzbget.nix18
-rw-r--r--nixpkgs/nixos/tests/openarena.nix41
-rw-r--r--nixpkgs/nixos/tests/openldap.nix10
-rw-r--r--nixpkgs/nixos/tests/opensmtpd.nix26
-rw-r--r--nixpkgs/nixos/tests/openssh.nix94
-rw-r--r--nixpkgs/nixos/tests/orangefs.nix82
-rw-r--r--nixpkgs/nixos/tests/os-prober.nix3
-rw-r--r--nixpkgs/nixos/tests/osquery.nix28
-rw-r--r--nixpkgs/nixos/tests/osrm-backend.nix14
-rw-r--r--nixpkgs/nixos/tests/ostree.nix21
-rw-r--r--nixpkgs/nixos/tests/overlayfs.nix77
-rw-r--r--nixpkgs/nixos/tests/packagekit.nix10
-rw-r--r--nixpkgs/nixos/tests/pam-oath-login.nix110
-rw-r--r--nixpkgs/nixos/tests/pam-u2f.nix8
-rw-r--r--nixpkgs/nixos/tests/pantheon.nix66
-rw-r--r--nixpkgs/nixos/tests/paperless.nix29
-rw-r--r--nixpkgs/nixos/tests/pdns-recursor.nix6
-rw-r--r--nixpkgs/nixos/tests/peerflix.nix8
-rw-r--r--nixpkgs/nixos/tests/pgjwt.nix23
-rw-r--r--nixpkgs/nixos/tests/pgmanage.nix12
-rw-r--r--nixpkgs/nixos/tests/php-pcre.nix9
-rw-r--r--nixpkgs/nixos/tests/plasma5.nix70
-rw-r--r--nixpkgs/nixos/tests/postgis.nix12
-rw-r--r--nixpkgs/nixos/tests/postgresql.nix44
-rw-r--r--nixpkgs/nixos/tests/powerdns.nix7
-rw-r--r--nixpkgs/nixos/tests/pppd.nix62
-rw-r--r--nixpkgs/nixos/tests/predictable-interface-names.nix7
-rw-r--r--nixpkgs/nixos/tests/prometheus-exporters.nix250
-rw-r--r--nixpkgs/nixos/tests/prometheus.nix78
-rw-r--r--nixpkgs/nixos/tests/proxy.nix15
-rw-r--r--nixpkgs/nixos/tests/quagga.nix28
-rw-r--r--nixpkgs/nixos/tests/quake3.nix95
-rw-r--r--nixpkgs/nixos/tests/rabbitmq.nix16
-rw-r--r--nixpkgs/nixos/tests/radarr.nix8
-rw-r--r--nixpkgs/nixos/tests/radicale.nix88
-rw-r--r--nixpkgs/nixos/tests/redis.nix14
-rw-r--r--nixpkgs/nixos/tests/redmine.nix13
-rw-r--r--nixpkgs/nixos/tests/resolv.nix46
-rw-r--r--nixpkgs/nixos/tests/roundcube.nix14
-rw-r--r--nixpkgs/nixos/tests/rspamd.nix159
-rw-r--r--nixpkgs/nixos/tests/rss2email.nix16
-rw-r--r--nixpkgs/nixos/tests/rxe.nix32
-rw-r--r--nixpkgs/nixos/tests/samba.nix14
-rw-r--r--nixpkgs/nixos/tests/sddm.nix34
-rw-r--r--nixpkgs/nixos/tests/shiori.nix81
-rw-r--r--nixpkgs/nixos/tests/signal-desktop.nix12
-rw-r--r--nixpkgs/nixos/tests/simple.nix8
-rw-r--r--nixpkgs/nixos/tests/slim.nix66
-rw-r--r--nixpkgs/nixos/tests/slurm.nix87
-rw-r--r--nixpkgs/nixos/tests/smokeping.nix16
-rw-r--r--nixpkgs/nixos/tests/snapper.nix32
-rw-r--r--nixpkgs/nixos/tests/sonarr.nix8
-rw-r--r--nixpkgs/nixos/tests/spacecookie.nix51
-rw-r--r--nixpkgs/nixos/tests/spike.nix22
-rw-r--r--nixpkgs/nixos/tests/strongswan-swanctl.nix6
-rw-r--r--nixpkgs/nixos/tests/sudo.nix52
-rw-r--r--nixpkgs/nixos/tests/switch-test.nix10
-rw-r--r--nixpkgs/nixos/tests/syncthing-init.nix12
-rw-r--r--nixpkgs/nixos/tests/syncthing-relay.nix14
-rw-r--r--nixpkgs/nixos/tests/systemd-analyze.nix46
-rw-r--r--nixpkgs/nixos/tests/systemd-networkd-wireguard.nix26
-rw-r--r--nixpkgs/nixos/tests/systemd-nspawn.nix60
-rw-r--r--nixpkgs/nixos/tests/systemd-timesyncd.nix24
-rw-r--r--nixpkgs/nixos/tests/telegraf.nix8
-rw-r--r--nixpkgs/nixos/tests/tiddlywiki.nix80
-rw-r--r--nixpkgs/nixos/tests/timezone.nix95
-rw-r--r--nixpkgs/nixos/tests/tinydns.nix8
-rw-r--r--nixpkgs/nixos/tests/tor.nix10
-rw-r--r--nixpkgs/nixos/tests/trac.nix19
-rw-r--r--nixpkgs/nixos/tests/transmission.nix8
-rw-r--r--nixpkgs/nixos/tests/trezord.nix12
-rw-r--r--nixpkgs/nixos/tests/trickster.nix37
-rw-r--r--nixpkgs/nixos/tests/trilium-server.nix53
-rw-r--r--nixpkgs/nixos/tests/udisks2.nix44
-rw-r--r--nixpkgs/nixos/tests/upnp.nix28
-rw-r--r--nixpkgs/nixos/tests/uwsgi.nix10
-rw-r--r--nixpkgs/nixos/tests/vault.nix14
-rw-r--r--nixpkgs/nixos/tests/wireguard/default.nix12
-rw-r--r--nixpkgs/nixos/tests/wireguard/generated.nix56
-rw-r--r--nixpkgs/nixos/tests/wireguard/namespaces.nix78
-rw-r--r--nixpkgs/nixos/tests/wordpress.nix42
-rw-r--r--nixpkgs/nixos/tests/xautolock.nix12
-rw-r--r--nixpkgs/nixos/tests/xdg-desktop-portal.nix17
-rw-r--r--nixpkgs/nixos/tests/xfce.nix36
-rw-r--r--nixpkgs/nixos/tests/xfce4-14.nix37
-rw-r--r--nixpkgs/nixos/tests/xmonad.nix36
-rw-r--r--nixpkgs/nixos/tests/xmpp/ejabberd.nix26
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody-mysql.nix20
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody.nix20
-rw-r--r--nixpkgs/nixos/tests/xrdp.nix36
-rw-r--r--nixpkgs/nixos/tests/xss-lock.nix26
-rw-r--r--nixpkgs/nixos/tests/yabar.nix14
-rw-r--r--nixpkgs/nixos/tests/yggdrasil.nix125
-rw-r--r--nixpkgs/nixos/tests/zfs.nix20
-rw-r--r--nixpkgs/nixos/tests/zookeeper.nix22
-rw-r--r--nixpkgs/nixos/tests/zsh-history.nix35
-rw-r--r--nixpkgs/pkgs/applications/accessibility/contrast/default.nix71
-rw-r--r--nixpkgs/pkgs/applications/audio/MMA/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/adlplug/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/aeolus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/airwave/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/audio/amarok/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/ams-lv2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/asunder/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/audacity/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/audio/avldrums-lv2/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix17
-rw-r--r--nixpkgs/pkgs/applications/audio/bsequencer/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/bshapr/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/bslizr/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/cadence/default.nix110
-rw-r--r--nixpkgs/pkgs/applications/audio/cantata/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/cd-discid/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/chuck/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/clementine/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/cmus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/denemo/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/audio/distrho/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/drumgizmo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/drumkv1/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/easytag/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/elisa/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ensemble-chorus/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/eq10q/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/espeak-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/flacon/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/fmit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/fmsynth/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/foo-yc20/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/freewheeling/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/audio/friture/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/audio/friture/factorial.patch13
-rw-r--r--nixpkgs/pkgs/applications/audio/giada/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix85
-rw-r--r--nixpkgs/pkgs/applications/audio/gpodder/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/gradio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/gxmatcheq-lv2/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/audio/helm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/i-score/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/jack-oscrolloscope/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/jack-rack/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/jamin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/kid3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/lash/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/linuxsampler/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/lmms/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/lollypop/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/meters_lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mixxx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/moc/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mp3gain/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/mpc/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mpg321/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/muse/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/ncmpc/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/audio/ncspot/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/audio/netease-cloud-music/default.nix82
-rw-r--r--nixpkgs/pkgs/applications/audio/noise-repellent/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/audio/openmpt123/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/opus-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/opusfile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/padthv1/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/parlatype/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/paulstretch/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/audio/pianobar/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/pianobooster/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/audio/picard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pithos/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/projectm/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pulseeffects/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/qjackctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qmidinet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qsampler/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/qsynth/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/quodlibet/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/reaper/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/renoise/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/rofi-mpd/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/audio/rosegarden/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/audio/samplv1/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/setbfree/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/audio/sisco.lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/snd/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/sndpeek/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/audio/sndpeek/pthread.patch13
-rw-r--r--nixpkgs/pkgs/applications/audio/sonata/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/sonic-pi/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify-tui/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/spotifyd/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/stone-phaser/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/audio/strawberry/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/audio/svox/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/synthv1/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/timemachine/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/tomahawk/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/audio/vcv-rack/default.nix69
-rw-r--r--nixpkgs/pkgs/applications/audio/vcv-rack/glfw.patch13
-rw-r--r--nixpkgs/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch7
-rw-r--r--nixpkgs/pkgs/applications/audio/vocal/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/waon/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/audio/whipper/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/yoshimi/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/zam-plugins/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/backup/deja-dup/default.nix90
-rw-r--r--nixpkgs/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch30
-rw-r--r--nixpkgs/pkgs/applications/blockchains/aeon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix8
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin.nix32
-rw-r--r--nixpkgs/pkgs/applications/blockchains/clightning.nix11
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dogecoin.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/go-ethereum.nix40
-rw-r--r--nixpkgs/pkgs/applications/blockchains/jormungandr/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix52
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lnd.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/blockchains/monero/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/blockchains/parity/beta.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/parity/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/pivx.nix27
-rw-r--r--nixpkgs/pkgs/applications/blockchains/polkadot/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wownero.nix29
-rw-r--r--nixpkgs/pkgs/applications/blockchains/zcash/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix6
-rw-r--r--nixpkgs/pkgs/applications/display-managers/sddm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/no-logfile.patch80
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/run-once.patch12
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/runtime-paths.patch70
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/sort-sessions.patch40
-rw-r--r--nixpkgs/pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/common.nix38
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/editors/atom/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/atom/env.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/bvi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/bviplus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/codeblocks/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/eclipse/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/editors/eclipse/plugins.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/edbrowse/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix248
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/libgenerated.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/manual-packages.nix21
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix117
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json11704
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/25.nix29
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/macport.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/flpsed/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/fte/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/geany/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/editors/geany/with-vte.nix32
-rw-r--r--nixpkgs/pkgs/applications/editors/glow/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/editors/gnome-builder/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/editors/gobby/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/hexcurse/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/hexdino/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/editors/jucipp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix31
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/kodestudio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/manuskript/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/mle/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/editors/nano/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/ne/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/editors/nedit/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/gnvim/wrapper.nix41
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/qt.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/wrapper.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/netbeans/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/okteta/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/editors/quilter/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/editors/rednotebook/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/retext/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/sublime/3/packages.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/texmacs/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/editors/texmaker/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/editors/texstudio/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/thonny/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/editors/tiled/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/common.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/configurable.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/macvim.nix17
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/macvim.patch21
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/generic.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscode.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscodium.nix18
-rw-r--r--nixpkgs/pkgs/applications/editors/yi/wrapper.nix4
-rw-r--r--nixpkgs/pkgs/applications/gis/grass/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/gis/openorienteering-mapper/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix18
-rw-r--r--nixpkgs/pkgs/applications/gis/saga/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/akira/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch88
-rw-r--r--nixpkgs/pkgs/applications/graphics/antimony/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/avocode/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/azpainter/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/cinepaint/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/graphics/cinepaint/install.patch24
-rw-r--r--nixpkgs/pkgs/applications/graphics/cq-editor/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/graphics/darktable/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/graphics/dia/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/digikam/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/displaycal/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/graphics/dosage/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/draftsight/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawpile/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/exrdisplay/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/fbida/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/feh/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/fondo/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/freecad/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/freepv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gcolor2/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/gcolor3/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/default.nix137
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/wrapper.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/glabels/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnuclad/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/goxel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gqview/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ideogram/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/graphics/imv/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/graphics/ipe/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/k3d/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/graphics/kodelife/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/graphics/krita/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix64
-rw-r--r--nixpkgs/pkgs/applications/graphics/mcomix/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/graphics/meshlab/default.nix103
-rw-r--r--nixpkgs/pkgs/applications/graphics/meshlab/fix-20180627-beta.patch25
-rw-r--r--nixpkgs/pkgs/applications/graphics/mirage/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/graphics/mypaint/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/graphics/nomacs/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/openscad/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/paraview/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/photoflow/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/photoqt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix66
-rw-r--r--nixpkgs/pkgs/applications/graphics/potrace/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/pqiv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/renderdoc/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/graphics/runwayml/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/rx/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/backends/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/backends/generic.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/backends/git.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/frontends.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/seg3d/cstdio.patch81
-rw-r--r--nixpkgs/pkgs/applications/graphics/seg3d/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/graphics/smartdeblur/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/sxiv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/tev/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/graphics/viewnior/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/vimiv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/write_stylus/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/graphics/xournal/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/xournalpp/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/yacreader/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/graphics/yed/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/yeetgif/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/graphics/zgv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/akonadi-calendar.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/akonadi-search.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/akonadiconsole.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/ark/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/kde/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/kde/fetch.sh2
-rw-r--r--nixpkgs/pkgs/applications/kde/kalarm.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kalarmcal.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kate.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kcachegrind.nix5
-rw-r--r--nixpkgs/pkgs/applications/kde/kcalutils.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kdepim-addons.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kitinerary.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kmailtransport.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/knotes.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/konsole.nix7
-rw-r--r--nixpkgs/pkgs/applications/kde/kontact.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/kpat.nix25
-rw-r--r--nixpkgs/pkgs/applications/kde/ksudoku.nix18
-rw-r--r--nixpkgs/pkgs/applications/kde/ktnef.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/libkgapi.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/pim-data-exporter.nix15
-rw-r--r--nixpkgs/pkgs/applications/kde/print-manager.nix3
-rw-r--r--nixpkgs/pkgs/applications/kde/rocs.nix25
-rw-r--r--nixpkgs/pkgs/applications/kde/spectacle.nix4
-rw-r--r--nixpkgs/pkgs/applications/kde/srcs.nix1736
-rw-r--r--nixpkgs/pkgs/applications/misc/1password/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/alacritty/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/almanah/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/misc/appeditor/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch22
-rw-r--r--nixpkgs/pkgs/applications/misc/barrier/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/batti/default.nix51
-rw-r--r--nixpkgs/pkgs/applications/misc/bemenu/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/bibletime/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/birdtray/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/misc/bleachbit/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/blugon/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/misc/buku/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/calcurse/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/calibre/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/misc/cbatticon/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/cdrtools/fix-paths.patch32
-rw-r--r--nixpkgs/pkgs/applications/misc/cheat/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/cherrytree/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/misc/cipher/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/clipit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cmatrix/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/cointop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/copyq/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/coursera-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cpp-ethereum/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/curaengine.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/libarcus.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/libsavitar.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch16
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/plugins.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ddgr/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/diffpdf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/digitalbitbox/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch72
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch39
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch111
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch28
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch32
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch51
-rw-r--r--nixpkgs/pkgs/applications/misc/doomseeker/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/dupeguru/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/misc/eaglemode/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/electron-cash/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/dash.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/elogind/default.nix82
-rw-r--r--nixpkgs/pkgs/applications/misc/epr/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/et/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/exercism/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/exercism/deps.nix201
-rw-r--r--nixpkgs/pkgs/applications/misc/fbreader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/fetchmail/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/firestarter/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/font-manager/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/formatter/default.nix77
-rw-r--r--nixpkgs/pkgs/applications/misc/formatter/fix-paths.patch53
-rw-r--r--nixpkgs/pkgs/applications/misc/fsv/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/geoipupdate/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/get_iplayer/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/getxbook/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/girara/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/glava/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/glom/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/gnome-firmware-updater/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/misc/gnome-usage/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/gnome15/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock16
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/gemset.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/googleearth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/googler/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/gpscorrelate/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/gpscorrelate/fix-localedir.diff27
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxlab/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/grip/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/guake/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/misc/gummi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gxmessage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gxneur/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/hamster-time-tracker/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/misc/heimer/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/hivemind/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/houdini/runtime.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/hstr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/hubstaff/revision.json6
-rw-r--r--nixpkgs/pkgs/applications/misc/hugo/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/misc/icesl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ipmiview/default.nix87
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock38
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix64
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock50
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix88
-rw-r--r--nixpkgs/pkgs/applications/misc/jgmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/josm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/jotta-cli/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/misc/jp2a/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/k2pdfopt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kdeconnect/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/misc/keepassx/community.nix17
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch21
-rw-r--r--nixpkgs/pkgs/applications/misc/khard/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/misc/kitty/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/misc/kitty/fix-paths.patch11
-rw-r--r--nixpkgs/pkgs/applications/misc/kitty/library-paths.patch32
-rw-r--r--nixpkgs/pkgs/applications/misc/kitty/no-werror.patch6
-rw-r--r--nixpkgs/pkgs/applications/misc/krusader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kupfer/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/latte-dock/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/librecad/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/misc/llpp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/lutris/chrootenv.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/megasync/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/merkaartor/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/minder/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/mlterm/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/mu-repo/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/misc/multibootusb/default.nix80
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mysql-workbench/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/navit/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/netsurf/libcss/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/netsurf/libnsgif/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/nnn/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/notable/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/notejot/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/notify-osd-customizable/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/nut/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/plugins.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/onboard/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/oneko/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/openbrf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/opencpn/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/opentx/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/orca/default.nix83
-rw-r--r--nixpkgs/pkgs/applications/misc/osm2xmap/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/overmind/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pastel/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/misc/pbpst/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfarranger/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfpc/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pgmodeler/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/misc/plank/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/plover/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/pmenu/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/polybar/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/pwsafe/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pyditz/cerberus.nix (renamed from nixpkgs/pkgs/development/python-modules/cerberus11/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/misc/pyditz/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/pytrainer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/qdirstat/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/qlcplus/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/qmapshack/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/misc/qpdfview/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/qtbitcointrader/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/qtpass/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/misc/raiseorlaunch/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/ranger/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/redis-desktop-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/redshift/default.nix177
-rw-r--r--nixpkgs/pkgs/applications/misc/regextester/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/rescuetime/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi/wrapper.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/roxterm/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/rsclock/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-bidi/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/misc/sakura/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/sequeler/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/sidequest/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/simplenote/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/misc/sleepyhead/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/slic3r/boost-compile-error.patch12
-rw-r--r--nixpkgs/pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/slmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/stretchly/default.nix140
-rw-r--r--nixpkgs/pkgs/applications/misc/stupidterm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/sweethome3d/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/synapse/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/syncthingtray/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/taizen/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/misc/tangogps/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/taskell/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/taskjuggler/2.x/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/tasksh/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/termite/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/misc/tilix/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/timewarrior/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/tint2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tmatrix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tnef/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/toot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/tootle/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/misc/twmn/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/udiskie/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/ulauncher/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/variety/default.nix73
-rw-r--r--nixpkgs/pkgs/applications/misc/veracrypt/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/verbiste/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/vifm/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/viking/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/vit/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/misc/vym/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/misc/waybar/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/web-media-controller/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/wego/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/wofi/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/worker/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/workrave/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/wtf/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/xchm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xdgmenumaker/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/misc/xmr-stak/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xpad/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xpdf/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/misc/xsw/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/xterm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xxkb/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/core/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zola/cargo-lock.patch28
-rw-r--r--nixpkgs/pkgs/applications/misc/zola/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/3proxy/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/browsh/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/browsh/deps.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix46
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch117
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch26
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch11
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch54
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch13
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine.patch24
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/eolie/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/ephemeral/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix776
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix776
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix776
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/links2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/luakit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/midori/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/next/default.nix147
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix50
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/opera/default.nix116
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/surf/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/uzbl/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vimprobable2/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/webmacs/default.nix75
-rw-r--r--nixpkgs/pkgs/applications/networking/c14/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/calls/default.nix85
-rw-r--r--nixpkgs/pkgs/applications/networking/cawbird/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo/deps.nix518
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/flink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/deps.nix1182
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kops/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube3d/deps.nix174
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeval/deps.nix174
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spacegun/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spacegun/node-composition.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spacegun/node-packages.nix11420
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spacegun/package.json3
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/spark/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix376
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt12
-rwxr-xr-xnixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix107
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/corebird/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/datovka/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/networking/davmail/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/dropbox/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/dsvpn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/errbot/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/networking/esniper/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/newsboat/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/flent/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/flexget/default.nix83
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/gmailieer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/gui.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/server.nix35
-rw-r--r--nixpkgs/pkgs/applications/networking/gopher/gopher/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/hydroxide/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/bro/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/suricata/bpf_stubs_workaround.patch19
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/suricata/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/zeek/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/ekiga/default.nix73
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/fractal/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix540
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix1426
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/matrixcli/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile34
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock142
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix201
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile (renamed from nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile)3
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile (renamed from nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile)0
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile (renamed from nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile)1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile (renamed from nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile)2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/psi/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/psi/fix-cmake-hunspell-1.7.patch12
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/bare.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix8
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix27
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/swift-im/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/client.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/server.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/twinkle/default.nix78
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/wavebox/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix111
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix28
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/update.sh2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/bip/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/epic5/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/glowing-bear/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/quassel/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/sic/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/networking/maestral/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch56
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/balsa/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/imapfilter.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/lumail/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notbit/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/sylpheed/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix490
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix501
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch12
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/trojita/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/mpop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/msmtp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/mumble/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/owncloud-client/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/firestr/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/firestr/return.patch13
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/gnunet/git.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/soulseekqt/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/torrential/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/transgui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/zeronet/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/ping/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/protocol/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/anydesk/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/putty/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/remmina/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/resilio-sync/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/sipcmd/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/station/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/casync/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/syncplay/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/syncthing/add-stcli-target.patch16
-rw-r--r--nixpkgs/pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/testssl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/transporter/default.nix71
-rw-r--r--nixpkgs/pkgs/applications/networking/trebleshot/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/networking/weather/meteo/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/znc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/znc/modules.nix10
-rw-r--r--nixpkgs/pkgs/applications/office/aesop/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/office/antiword/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/bookworm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/envelope/default.nix80
-rw-r--r--nixpkgs/pkgs/applications/office/fava/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/flexibee/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/office/gnumeric/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/grisbi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/impressive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/jabref/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/kexi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/kmymoney/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/ledger-autosync/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/README.md9
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix29
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix)6
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix)0
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix35
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix)0
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix34
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/still.nix384
-rw-r--r--nixpkgs/pkgs/applications/office/mendeley/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/minetime/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/office/mmex/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/office/notes-up/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/office/paperwork/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/planner/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/pympress/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/scribus/unstable.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/skrooge/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/generic.nix34
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/spice-up/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/office/timetable/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/todoman/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch69
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix129
-rw-r--r--nixpkgs/pkgs/applications/office/tryton/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/office/tusk/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/office/vnote/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/watson/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/wpsoffice/default.nix84
-rw-r--r--nixpkgs/pkgs/applications/office/zim/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/zotero/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/radio/chirp/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/radio/dablin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/dmrconfig/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/radio/dump1090/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/radio/flmsg/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/flrig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix8
-rw-r--r--nixpkgs/pkgs/applications/radio/qsstv/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/radio/rtl_433/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrangel/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/radio/soapysdr/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/radio/tlf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/tqsl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/uhd/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/radio/urh/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/radio/welle-io/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/radio/wsjtx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/xlog/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/celestia/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/stellarium/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/xearth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/xplanet/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/xplanet/gcc6.patch128
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/xplanet/giflib.patch141
-rw-r--r--nixpkgs/pkgs/applications/science/biology/EZminc/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bayescan/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bcftools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bedtools/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bftools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/blast/default.nix108
-rw-r--r--nixpkgs/pkgs/applications/science/biology/blast/no_slash_bin.patch184
-rw-r--r--nixpkgs/pkgs/applications/science/biology/dcm2niix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/deeptools/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/science/biology/delly/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/science/biology/freebayes/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/biology/hmmer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/kssd/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/science/biology/last/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/science/biology/macse/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/science/biology/megahit/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minia/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minia/no-bundle.patch222
-rw-r--r--nixpkgs/pkgs/applications/science/biology/niftyreg/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/niftyseg/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/paml/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/spades/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/science/biology/star/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/strelka/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/biology/sumatools/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/svaba/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/science/biology/tebreak/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/science/biology/truvari/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/avogadro/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/base.nix130
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/default.nix255
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/libraries.nix64
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix56
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/ngspice/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/pcb/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilog/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/aiger/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/aspino/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/avy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/boolector/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/logic/btor2tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/coq/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/science/logic/elan/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/eprover/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/hol_light/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/logic/jonprl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lean2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lingeling/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/minisat/clang.diff45
-rw-r--r--nixpkgs/pkgs/applications/science/logic/minisat/darwin.patch26
-rw-r--r--nixpkgs/pkgs/applications/science/logic/minisat/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/science/logic/minisat/unstable.nix23
-rw-r--r--nixpkgs/pkgs/applications/science/logic/monosat/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/science/logic/ott/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/logic/prover9/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/stp/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/yices/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/streamlit/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/math/calculix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/cbc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/clp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/cntk/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/giac/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/math/ginac/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/glsurf/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/math/gmsh/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/math/mathematica/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/msieve/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/nasc/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/science/math/nauty/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/polymake/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/pspp/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/ries/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch24
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch12
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch13
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch13
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/threejs-offline.patch64
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/pybrial.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-env.nix25
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix44
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-tests.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sagelib.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sagenb.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/scilab/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/yacas/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/medicine/aliza/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/misc/boinc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/colmap/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/misc/golly/beta.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/golly/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/megam/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/misc/netlogo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/5.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/sw_vers.patch81
-rw-r--r--nixpkgs/pkgs/applications/science/misc/simgrid/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/science/misc/snakemake/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/vite/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/science/physics/xfitter/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/system/monitor/default.nix69
-rw-r--r--nixpkgs/pkgs/applications/version-management/bcompare/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/version-management/bugseverywhere/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/diffuse/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/version-management/dvc/default.nix65
-rw-r--r--nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch21
-rw-r--r--nixpkgs/pkgs/applications/version-management/fossil/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-gone/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix35
-rwxr-xr-xnixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-backup/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-sizer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-up/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitkraken/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/data.json39
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/default.nix135
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile13
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock64
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/deps.nix716
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch13
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix99
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix714
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch72
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix1416
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch11
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile449
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock1288
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix4025
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile (renamed from nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile)157
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock (renamed from nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock)509
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix (renamed from nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix)1576
-rwxr-xr-xnixpkgs/pkgs/applications/version-management/gitlab/update.py159
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix13157
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitless/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitolite/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/gogs/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/gource/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix71
-rw-r--r--nixpkgs/pkgs/applications/version-management/mercurial/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/monotone/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/mr/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/nbstripout/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/p4v/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/pijul/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/version-management/rcs/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile72
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile.lock203
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/4.x/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/4.x/gemset.nix614
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/Gemfile78
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock327
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/gemset.nix441
-rw-r--r--nixpkgs/pkgs/applications/version-management/smartgithg/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/core.nix18
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/git.nix16
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix7
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/man.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/paste.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix10
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix36
-rw-r--r--nixpkgs/pkgs/applications/version-management/src/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix51
-rw-r--r--nixpkgs/pkgs/applications/version-management/yadm/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/video/aegisub/default.nix105
-rw-r--r--nixpkgs/pkgs/applications/video/bomi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/catt/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/video/celluloid/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/cinelerra/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/handbrake/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/video/kazam/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/video/key-mon/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/video/kino/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/video/makemkv/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/mediathekview/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/video/minitube/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/mplayer/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mythtv/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/video/mythtv/disable-os-detection.patch51
-rw-r--r--nixpkgs/pkgs/applications/video/mythtv/exiv2.patch19
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/fix-search-path.patch13
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch17
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/linuxbrowser.nix9
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/obs-ndi.nix41
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/wlrobs.nix37
-rw-r--r--nixpkgs/pkgs/applications/video/olive-editor/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/video/openshot-qt/libopenshot.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/peek/default.nix67
-rw-r--r--nixpkgs/pkgs/applications/video/recordmydesktop/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/video/recordmydesktop/gtk.nix37
-rw-r--r--nixpkgs/pkgs/applications/video/recordmydesktop/qt.nix37
-rw-r--r--nixpkgs/pkgs/applications/video/screenkey/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/shotcut/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/smplayer/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/xawtv/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/video/xine-ui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/OVMF/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/arion/default.nix83
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch13
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch14
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cntr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cri-o/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff15
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crosvm/default.nix89
-rwxr-xr-xnixpkgs/pkgs/applications/virtualization/crosvm/update.py91
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crosvm/upstream-info.json19
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/distribution.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/dumb-init/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/virtualization/firecracker/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/virtualization/firectl/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/virtualization/gvisor/containerd-shim.nix36
-rw-r--r--nixpkgs/pkgs/applications/virtualization/gvisor/default.nix101
-rw-r--r--nixpkgs/pkgs/applications/virtualization/lkl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/no-etc-install.patch11
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/utils.nix16
-rw-r--r--nixpkgs/pkgs/applications/virtualization/remotebox/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/runc/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/virtualization/spice-vdagent/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/virtualization/spike/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/virtualization/tini/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/virtualization/umoci/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-top/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-what/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix95
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch72
-rw-r--r--nixpkgs/pkgs/applications/virtualization/x11docker/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/4.10.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/4.8.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xhyve/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/window-managers/2bwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/awesome/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cwm/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/window-managers/fvwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/blocks.nix19
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/layout-manager.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/ion-3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/larswm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/cargo-lock.patch1496
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/notion/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/default.nix (renamed from nixpkgs/pkgs/applications/window-managers/compton/default.nix)15
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix47
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix50
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/agda/default.nix6
-rw-r--r--nixpkgs/pkgs/build-support/appimage/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/bintools-wrapper/default.nix26
-rw-r--r--nixpkgs/pkgs/build-support/bintools-wrapper/setup-hook.sh11
-rw-r--r--nixpkgs/pkgs/build-support/build-bazel-package/default.nix29
-rw-r--r--nixpkgs/pkgs/build-support/build-dotnet-package/default.nix8
-rwxr-xr-xnixpkgs/pkgs/build-support/buildenv/builder.pl16
-rw-r--r--nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh11
-rw-r--r--nixpkgs/pkgs/build-support/cc-wrapper/default.nix46
-rw-r--r--nixpkgs/pkgs/build-support/cc-wrapper/setup-hook.sh3
-rw-r--r--nixpkgs/pkgs/build-support/docker/default.nix43
-rw-r--r--nixpkgs/pkgs/build-support/docker/examples.nix8
-rw-r--r--nixpkgs/pkgs/build-support/emacs/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/build-support/emacs/wrapper.nix209
-rwxr-xr-xnixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--nixpkgs/pkgs/build-support/fetchgit/private.nix26
-rw-r--r--nixpkgs/pkgs/build-support/fetchgitiles/default.nix10
-rw-r--r--nixpkgs/pkgs/build-support/fetchgitlab/default.nix17
-rw-r--r--nixpkgs/pkgs/build-support/fetchurl/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/kernel/make-initrd.nix19
-rw-r--r--nixpkgs/pkgs/build-support/kernel/modules-closure.sh8
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/libredirect.c15
-rw-r--r--nixpkgs/pkgs/build-support/make-desktopitem/default.nix33
-rw-r--r--nixpkgs/pkgs/build-support/nix-prefetch-github/default.nix29
-rw-r--r--nixpkgs/pkgs/build-support/nuke-references/default.nix5
-rw-r--r--nixpkgs/pkgs/build-support/ocaml/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/build-crate.nix214
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix17
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix173
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/helpers.nix10
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/install-crate.nix45
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/lib.sh138
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/log.nix33
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix119
-rw-r--r--nixpkgs/pkgs/build-support/rust/default.nix53
-rw-r--r--nixpkgs/pkgs/build-support/rust/fetchcargo.nix26
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/audit-tmpdir.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/compress-man-pages.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/find-xml-catalogs.sh4
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh9
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/move-lib64.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/move-sbin.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh6
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/patch-shebangs.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/prune-libtool-files.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/set-java-classpath.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/strip.sh4
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh30
-rw-r--r--nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix36
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders.nix29
-rw-r--r--nixpkgs/pkgs/build-support/vm/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/vm/windows/default.nix3
-rw-r--r--nixpkgs/pkgs/build-support/writers/default.nix5
-rw-r--r--nixpkgs/pkgs/build-support/writers/test.nix30
-rwxr-xr-xnixpkgs/pkgs/common-updater/scripts/update-source-version4
-rw-r--r--nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix34
-rw-r--r--nixpkgs/pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/babelstone-han/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/cherry/default.nix13
-rw-r--r--nixpkgs/pkgs/data/fonts/comic-neue/default.nix16
-rw-r--r--nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/fantasque-sans-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/gohufont/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/gubbi/default.nix29
-rw-r--r--nixpkgs/pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/input-fonts/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/inter/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/bin.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/default.nix44
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/package.json8
-rw-r--r--nixpkgs/pkgs/data/fonts/liberation-sans-narrow/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/material-design-icons/default.nix7
-rw-r--r--nixpkgs/pkgs/data/fonts/monoid/default.nix9
-rw-r--r--nixpkgs/pkgs/data/fonts/nerdfonts/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/default.nix12
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix33
-rw-r--r--nixpkgs/pkgs/data/fonts/overpass/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/public-sans/default.nix12
-rw-r--r--nixpkgs/pkgs/data/fonts/recursive/default.nix39
-rw-r--r--nixpkgs/pkgs/data/fonts/rhodium-libre/default.nix28
-rw-r--r--nixpkgs/pkgs/data/fonts/ricty/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/rictydiminished-with-firacode/default.nix28
-rw-r--r--nixpkgs/pkgs/data/fonts/spleen/default.nix10
-rw-r--r--nixpkgs/pkgs/data/fonts/stix-two/default.nix18
-rw-r--r--nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix38
-rw-r--r--nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix78
-rw-r--r--nixpkgs/pkgs/data/fonts/uw-ttyp0/determinism.patch13
-rw-r--r--nixpkgs/pkgs/data/fonts/victor-mono/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/work-sans/default.nix29
-rw-r--r--nixpkgs/pkgs/data/fonts/xits-math/default.nix10
-rw-r--r--nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/default.nix6
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix41
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix41
-rw-r--r--nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix12
-rw-r--r--nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix35
-rw-r--r--nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh16
-rw-r--r--nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix14
-rw-r--r--nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix18
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix16
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix14
-rw-r--r--nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix10
-rw-r--r--nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix6
-rw-r--r--nixpkgs/pkgs/data/icons/zafiro-icons/default.nix14
-rw-r--r--nixpkgs/pkgs/data/misc/cacert/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/cacert/setup-hook.sh10
-rw-r--r--nixpkgs/pkgs/data/misc/cldr-emoji-annotation/default.nix27
-rw-r--r--nixpkgs/pkgs/data/misc/hackage/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/mailcap/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/media-player-info/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/shared-mime-info/default.nix35
-rw-r--r--nixpkgs/pkgs/data/misc/tzdata/default.nix6
-rw-r--r--nixpkgs/pkgs/data/misc/unicode-character-database/default.nix38
-rw-r--r--nixpkgs/pkgs/data/misc/unicode-emoji/default.nix59
-rw-r--r--nixpkgs/pkgs/data/misc/unihan-database/default.nix38
-rw-r--r--nixpkgs/pkgs/data/themes/adapta-kde/default.nix (renamed from nixpkgs/pkgs/misc/themes/adapta-kde/default.nix)6
-rw-r--r--nixpkgs/pkgs/data/themes/adapta/default.nix (renamed from nixpkgs/pkgs/misc/themes/adapta/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/adwaita-qt/default.nix (renamed from nixpkgs/pkgs/misc/themes/adwaita-qt/default.nix)12
-rw-r--r--nixpkgs/pkgs/data/themes/albatross/default.nix (renamed from nixpkgs/pkgs/misc/themes/albatross/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/amber/default.nix27
-rw-r--r--nixpkgs/pkgs/data/themes/arc-kde/default.nix (renamed from nixpkgs/pkgs/misc/themes/arc-kde/default.nix)10
-rw-r--r--nixpkgs/pkgs/data/themes/blackbird/default.nix (renamed from nixpkgs/pkgs/misc/themes/blackbird/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/clearlooks-phenix/default.nix (renamed from nixpkgs/pkgs/misc/themes/clearlooks-phenix/default.nix)6
-rw-r--r--nixpkgs/pkgs/data/themes/e17gtk/default.nix (renamed from nixpkgs/pkgs/misc/themes/e17gtk/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/equilux-theme/default.nix (renamed from nixpkgs/pkgs/misc/themes/equilux-theme/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/gnome-breeze/default.nix (renamed from nixpkgs/pkgs/misc/themes/gnome-breeze/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/greybird/default.nix17
-rw-r--r--nixpkgs/pkgs/data/themes/jade1/default.nix (renamed from nixpkgs/pkgs/misc/themes/jade1/default.nix)6
-rw-r--r--nixpkgs/pkgs/data/themes/kde2/default.nix (renamed from nixpkgs/pkgs/misc/themes/kde2/default.nix)19
-rw-r--r--nixpkgs/pkgs/data/themes/lounge/default.nix35
-rw-r--r--nixpkgs/pkgs/data/themes/matcha/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/mojave/default.nix26
-rw-r--r--nixpkgs/pkgs/data/themes/numix-solarized/default.nix (renamed from nixpkgs/pkgs/misc/themes/numix-solarized/default.nix)4
-rw-r--r--nixpkgs/pkgs/data/themes/numix-sx/default.nix (renamed from nixpkgs/pkgs/misc/themes/numix-sx/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/numix/default.nix (renamed from nixpkgs/pkgs/misc/themes/numix/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/obsidian2/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/onestepback/default.nix (renamed from nixpkgs/pkgs/misc/themes/onestepback/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/orion/default.nix (renamed from nixpkgs/pkgs/misc/themes/orion/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/paper-gtk/default.nix (renamed from nixpkgs/pkgs/misc/themes/paper/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/plano/default.nix14
-rw-r--r--nixpkgs/pkgs/data/themes/plata/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/pop-gtk/default.nix62
-rw-r--r--nixpkgs/pkgs/data/themes/qogir/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/qtcurve/default.nix (renamed from nixpkgs/pkgs/misc/themes/qtcurve/default.nix)10
-rw-r--r--nixpkgs/pkgs/data/themes/shades-of-gray/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/sierra/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/solarc/default.nix (renamed from nixpkgs/pkgs/misc/themes/solarc/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/stilo/default.nix8
-rw-r--r--nixpkgs/pkgs/data/themes/sweet/default.nix47
-rw-r--r--nixpkgs/pkgs/data/themes/vertex/default.nix (renamed from nixpkgs/pkgs/misc/themes/vertex/default.nix)0
-rw-r--r--nixpkgs/pkgs/data/themes/yaru/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/zuki/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/cdesktopenv/default.nix75
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix104
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dbus-factory/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-api/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-api/deps.nix24
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-calendar/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-control-center/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-daemon/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-daemon/deps.nix20
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-dock/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-file-manager/default.nix37
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-kwin/0001-dde-kwin.pc-make-paths-relative.patch56
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-kwin/default.nix140
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-kwin/fix-paths.patch16
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-launcher/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-network-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-polkit-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-session-ui/default.nix25
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-anything/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-calculator/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-desktop-base/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-editor/default.nix64
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-gettext-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-gtk-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-icon-theme/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-image-viewer/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-menu/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-metacity/default.nix65
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-movie-reborn/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch41
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-mutter/default.nix79
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-screenshot/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-sound-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-terminal/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-turbo/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-wallpapers/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix75
-rw-r--r--nixpkgs/pkgs/desktops/deepin/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/deepin/disomaster/default.nix41
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dtkcore/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dtkwidget/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dtkwm/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-dbus-factory/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-dbus-generator/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-gir-generator/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-lib/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/deepin/qcef/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix29
-rw-r--r--nixpkgs/pkgs/desktops/deepin/qt5integration/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/deepin/startdde/default.nix136
-rw-r--r--nixpkgs/pkgs/desktops/deepin/startdde/deps.nix30
-rw-r--r--nixpkgs/pkgs/desktops/deepin/udisks2-qt5/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/econnman.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/efl.nix164
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/enlightenment.nix6
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/ephoto.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/rage.nix2
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/terminology.nix10
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix68
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix127
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix98
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix90
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix31
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix63
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix137
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix90
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix74
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix33
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix109
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch67
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch14
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix36
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix86
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix45
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch25
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix120
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch132
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch63
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch15
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix83
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix69
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix33
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/default.nix46
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/devtools/anjuta/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/devtools/devhelp/default.nix59
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/appindicator/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/caffeine/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch32
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/mediaplayer/default.nix37
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix21
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix30
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/timepp/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-grid.nix30
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/aisleriot/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/atomix/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-mines/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-robots/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/iagno/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/lightsoff/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/quadrapassel/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/swell-foop/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix28
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix22
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix76
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/base/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/make/builder.sh2
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/make/setup-hook.sh26
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qps/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/atril/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/engrampa/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/eom/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmateweather/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/marco/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-applets/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-calc/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-common/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch81
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-media/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-menus/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-panel/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix23
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-themes/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mozo/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/pluma/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/python-caja/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix92
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix69
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix73
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch55
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch63
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch35
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch43
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch23
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix21
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch36
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix27
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/default.nix57
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch309
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch25
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix70
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch22
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix72
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix72
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch272
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix28
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix31
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/granite/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc1
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore32
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix53
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex71
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex42
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex85
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs28
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix19
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs49
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs1
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/update.nix36
-rwxr-xr-xnixpkgs/pkgs/desktops/pantheon/update.sh223
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix43
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwallet-pam.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix39
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch18
-rw-r--r--nixpkgs/pkgs/desktops/rox/rox-filer/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/surf-display/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix (renamed from nixpkgs/pkgs/applications/search/catfish/default.nix)33
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/gigolo.nix22
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/gigolo/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/mousepad-12134.patch90
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/mousepad.nix38
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/mousepad/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/orage.nix44
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/orage/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/parole.nix38
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/parole/default.nix)9
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/ristretto.nix34
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/ristretto/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/terminal.nix25
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-mixer.nix51
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd.nix32
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix29
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix22
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix31
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix)2
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix (renamed from nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh (renamed from nixpkgs/pkgs/desktops/xfce4-14/automakeAddFlags.sh)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/exo.nix27
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/exo/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/exo/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/garcon-10967.patch14
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/garcon-12700.patch44
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/garcon.nix27
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/garcon/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/gtk-xfce-engine.nix31
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/libxfce4ui.nix41
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/libxfce4ui/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/libxfce4util.nix26
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/libxfce4util/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/libxfcegui4.nix37
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar-build.nix42
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar-volman.nix30
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/thunar-volman/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar.nix68
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix70
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch (renamed from nixpkgs/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch)10
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix34
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/tumbler.nix42
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/tumbler/default.nix)9
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder.nix29
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools.nix28
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-light-locker.patch25
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-panel.nix59
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-panel/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch (renamed from nixpkgs/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager.nix44
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-session.nix44
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-session/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch11
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-settings.nix54
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-settings/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfconf.nix30
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfconf/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfdesktop.nix36
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfdesktop/default.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfwm4.nix31
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfwm4/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/default.nix134
-rw-r--r--nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/mkXfceDerivation.nix)0
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix24
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix24
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix29
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix26
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix5
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix5
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix5
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix5
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix5
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix24
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix34
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix)6
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix7
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix27
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix36
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix)4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix28
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix (renamed from nixpkgs/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix)7
-rw-r--r--nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix65
-rw-r--r--nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix40
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/default.nix116
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/thunar/default.nix25
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/xfburn/default.nix12
-rw-r--r--nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix2
-rw-r--r--nixpkgs/pkgs/development/beam-modules/build-mix.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/default.nix10
-rw-r--r--nixpkgs/pkgs/development/beam-modules/hex-packages.nix37751
-rw-r--r--nixpkgs/pkgs/development/beam-modules/hex-registry-snapshot.nix27
-rwxr-xr-xnixpkgs/pkgs/development/beam-modules/mix-bootstrap6
-rw-r--r--nixpkgs/pkgs/development/beam-modules/webdriver/default.nix2
-rw-r--r--nixpkgs/pkgs/development/chez-modules/chez-matchable/default.nix33
-rw-r--r--nixpkgs/pkgs/development/chez-modules/chez-mit/default.nix33
-rw-r--r--nixpkgs/pkgs/development/chez-modules/chez-scmutils/default.nix33
-rw-r--r--nixpkgs/pkgs/development/chez-modules/chez-srfi/default.nix32
-rw-r--r--nixpkgs/pkgs/development/compilers/abcl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json160
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/bs-platform/bs-platform-62.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/bs-platform/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/bs-platform/ocaml.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/carp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/chez/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix202
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh3
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/closure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/cmdstan/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/compcert/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/default.nix67
-rw-r--r--nixpkgs/pkgs/development/compilers/cudatoolkit/common.nix220
-rw-r--r--nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix219
-rw-r--r--nixpkgs/pkgs/development/compilers/dev86/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch15
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/libffi-3.3-abi.patch15
-rw-r--r--nixpkgs/pkgs/development/compilers/eli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/default.nix86
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/fetchElmDeps.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/makeDotElm.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix38
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elm.nix24
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix22
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json2
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix2101
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/registry.datbin0 -> 86479 bytes
-rwxr-xr-xnixpkgs/pkgs/development/compilers/elm/update.sh7
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/versions.datbin94810 -> 0 bytes
-rw-r--r--nixpkgs/pkgs/development/compilers/eql/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/fpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/fstar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix42
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix40
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix40
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix53
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix52
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix219
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix226
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/5/default.nix226
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/6/default.nix245
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/7/default.nix219
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/8/default.nix221
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/9/default.nix218
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix174
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/extra-target-flags.nix30
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix12
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/snapshot/default.nix210
-rw-r--r--nixpkgs/pkgs/development/compilers/gerbil/build.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/gerbil/unstable.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.10.1.nix232
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.6.5.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.8.2.nix232
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/head.nix41
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json6
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix176
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs/base.nix161
-rwxr-xr-xnixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb54
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/gleam/default.nix24
-rw-r--r--nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix35
-rw-r--r--nixpkgs/pkgs/development/compilers/go-jsonnet/deps.nix48
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.12.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.13.nix242
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.4.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch34
-rw-r--r--nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch64
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/halide/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/halide/nix.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/haxe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/hhvm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/iasl/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix73
-rw-r--r--nixpkgs/pkgs/development/compilers/intercal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ispc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/jasmin/default.nix44
-rw-r--r--nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j31
-rw-r--r--nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix12
-rw-r--r--nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/jikes/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/jsonnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ldc/default.nix72
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch63
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/clang/0001-Fix-compilation-w-gcc9.patch59
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/clang/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/fix-gcc9.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/fix-gcc9.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch53
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix122
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch30
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix72
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/default.nix197
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix67
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch12
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lld.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch31
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix72
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix191
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch412
-rw-r--r--nixpkgs/pkgs/development/compilers/manticore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/mruby/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/neko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix40
-rw-r--r--nixpkgs/pkgs/development/compilers/nim/default.nix68
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/4.09.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/generic.nix23
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/11.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/8.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/orc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/osl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/pakcs/curry-base.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/pakcs/curry-frontend.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/pakcs/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/5.6.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/5.7.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/rasm/default.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/reason/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/rgbds/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/1_38_0.nix21
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/1_40_0.nix29
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/bootstrap.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/cargo.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/default.nix38
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch92
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch20
-rwxr-xr-xnixpkgs/pkgs/development/compilers/rust/print-hashes.sh1
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rust-src.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustc.nix127
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/smlnj/default.nix68
-rw-r--r--nixpkgs/pkgs/development/compilers/smlnj/heap2exec.diff9
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/patches/shared-libs-install.patch71
-rw-r--r--nixpkgs/pkgs/development/compilers/souffle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix38
-rw-r--r--nixpkgs/pkgs/development/compilers/swi-prolog/default.nix64
-rw-r--r--nixpkgs/pkgs/development/compilers/tinycc/default.nix22
-rw-r--r--nixpkgs/pkgs/development/compilers/tinygo/default.nix35
-rw-r--r--nixpkgs/pkgs/development/compilers/unison/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/urweb/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix43
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch261
-rw-r--r--nixpkgs/pkgs/development/compilers/vlang/default.nix31
-rw-r--r--nixpkgs/pkgs/development/compilers/x11basic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/yap/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/z88dk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/zig/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/8.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/Cheerios/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/InfSeqExt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/StructTact/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/Verdi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/autosubst/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/bignums/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/contribs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-bits/default.nix38
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix10
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-extensible-records/default.nix38
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coqprime/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/corn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix8
-rw-r--r--nixpkgs/pkgs/development/coq-modules/equations/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/heq/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/ltac2/default.nix18
-rw-r--r--nixpkgs/pkgs/development/coq-modules/math-classes/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp/extra.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/paco/default.nix39
-rw-r--r--nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/tlc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/em-modules/generic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/go-modules/generic/default.nix28
-rw-r--r--nixpkgs/pkgs/development/go-packages/generic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-common.nix243
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix44
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix28
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix171
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghcjs.nix12
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml841
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix148
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/generic-builder.nix14
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/generic-stack-builder.nix4
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix16648
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hoogle.nix5
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/make-package-set.nix13
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix5
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/GLUT.patch2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch8
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch75
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch82
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix14
-rw-r--r--nixpkgs/pkgs/development/idris-modules/default.nix2
-rw-r--r--nixpkgs/pkgs/development/idris-modules/heyting-algebra.nix25
-rw-r--r--nixpkgs/pkgs/development/idris-modules/tparsec.nix9
-rw-r--r--nixpkgs/pkgs/development/interpreters/angelscript/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/default.nix30
-rw-r--r--nixpkgs/pkgs/development/interpreters/duktape/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/eff/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.9.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R22.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/evcxr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/gauche/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/gtk-server/default.nix38
-rw-r--r--nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.0.sh8
-rw-r--r--nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.2.sh8
-rw-r--r--nixpkgs/pkgs/development/interpreters/guile/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/hy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/io/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/jimtcl/default.nix30
-rw-r--r--nixpkgs/pkgs/development/interpreters/joker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/kona/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.10.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.7.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.8.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.9.nix5
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/11.1.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch (renamed from nixpkgs/pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch)0
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch22
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/default.nix9
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/wrapper.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/2.0.nix5
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lush/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/metamath/default.nix20
-rw-r--r--nixpkgs/pkgs/development/interpreters/micropython/default.nix44
-rw-r--r--nixpkgs/pkgs/development/interpreters/octave/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/perl/default.nix52
-rw-r--r--nixpkgs/pkgs/development/interpreters/perl/sw_vers.patch2
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/default.nix52
-rw-r--r--nixpkgs/pkgs/development/interpreters/picolisp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/proglodyte-wasm/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/pure/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix9
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch7
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch100
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix47
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/graalpython/default.nix21
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/default.nix25
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/egg-build-hook.sh15
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/egg-install-hook.sh21
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/egg-unpack-hook.sh17
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/flit-build-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/pip-build-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh10
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/manylinux/default.nix86
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix5
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/default.nix3
-rwxr-xr-xnixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py47
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/wrap.sh10
-rw-r--r--nixpkgs/pkgs/development/interpreters/quickjs/default.nix42
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/renpy/default.nix14
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/default.nix54
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix9
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/52.nix82
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix15
-rw-r--r--nixpkgs/pkgs/development/interpreters/tcl/generic.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmtime/cargo-lock.patch2050
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmtime/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/AntTweakBar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/4.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL/find-headers.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL/setup-hook.sh5
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2_mixer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL_Pango/fixes.patch148
-rw-r--r--nixpkgs/pkgs/development/libraries/accounts-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/accountsservice/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/accountsservice/drop-prefix-check-extensions.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/ace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/Agda-Sheaves/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/TotalParserCombinators/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-base/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-stdlib/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/bitvector/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/categories/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/pretty/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/alembic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/alkimia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/5.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/amtk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/apr/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/aqbanking/libchipcard.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/aravis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arb/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/argp-standalone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arrayfire/default.nix70
-rw-r--r--nixpkgs/pkgs/development/libraries/arrayfire/no-download.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix93
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/aspell/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/assimp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/atk/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/atk/fix_pc.patch9
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lilv/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/sratom/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/audiofile/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/avahi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-c-common/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/bamf/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/bamf/gtester2xunit-python3.patch53
-rw-r--r--nixpkgs/pkgs/development/libraries/bcg729/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/bctoolbox/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/belle-sip/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/blitz/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/boehm-gc/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/boehm-gc/mcfgthread.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.71.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/generic.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/box2d/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/boxfort/default.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/buddy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/bullet/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/bullet/roboschool-fork.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/c-blosc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/caf/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/cairo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/catch2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ccrtp/1.8.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/cereal/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/cfitsio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/check/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/chipmunk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/chromaprint/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/cimg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/clfft/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/clipper/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/cln/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/clutter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/codec2/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/cogl/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/coin3d/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/commoncpp2/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/coprthr/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/coredumper/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cppdb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/cppzmq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/crc32c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/criterion/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/crypto++/GNUmakefile-darwin.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/crypto++/default.nix54
-rw-r--r--nixpkgs/pkgs/development/libraries/crypto++/dll.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/csfml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/cutee/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/cutelyst/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cwiid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cyrus-sasl/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/czmq/3.x.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/czmq/czmq3-gcc7.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/czmq/default.nix (renamed from nixpkgs/pkgs/development/libraries/czmq/4.x.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/czmqpp/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/czmqpp/socket.patch17
-rw-r--r--nixpkgs/pkgs/development/libraries/dav1d/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/dbus/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/dconf/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix)11
-rw-r--r--nixpkgs/pkgs/development/libraries/dee/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/dirac/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/dirac/dirac-1.0.2.patch362
-rw-r--r--nixpkgs/pkgs/development/libraries/dleyna-core/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/dlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/double-conversion/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/dqlite/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/drumstick/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eclib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/egl-wayland/default.nix79
-rw-r--r--nixpkgs/pkgs/development/libraries/egl-wayland/eglmesaext.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/enet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/epoxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/exempi/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/expat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/farbfeld/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/farstream/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/faudio/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/fdk-aac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fflas-ffpack/1.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/4.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ffms/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/filter-audio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/flatbuffers/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/flatcc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/flatpak/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/flint/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fltk/1.4.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/fltk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/folks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/folly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig-ultimate/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/forge/default.nix51
-rw-r--r--nixpkgs/pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fplll/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/freeglut/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/freenect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/freetds/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fribidi/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/fstrm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ftgl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gaia/default.nix87
-rw-r--r--nixpkgs/pkgs/development/libraries/gamin/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/garmintools/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/gcab/default.nix69
-rw-r--r--nixpkgs/pkgs/development/libraries/gcab/installed-tests-path.patch21
-rw-r--r--nixpkgs/pkgs/development/libraries/gcr/default.nix73
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/2.4.0.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/gdal-1_11.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gdata-sharp/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/gdbm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/gdcm/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/gdl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/4.0.nix128
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/patches/no-simple-backend-file-test.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/geis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/geoclue/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/geoip/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/geos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch323
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/gettext-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch82
-rw-r--r--nixpkgs/pkgs/development/libraries/gf2x/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/gflags/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/giflib/5.1.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/giflib/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/git2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gjs/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix)65
-rw-r--r--nixpkgs/pkgs/development/libraries/gle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/glfw/3.x.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/glib-networking/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/default.nix88
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/setup-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/split-dev-programs.patch154
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11236.patch146
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11237.patch55
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/common.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/glm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/glog/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/gloox/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/glui/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/gmime/3.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gmp/6.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix104
-rw-r--r--nixpkgs/pkgs/development/libraries/gnu-efi/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/gnutls-kdh/generic.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/gnutls/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/goffice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gom/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/google-cloud-cpp/default.nix73
-rw-r--r--nixpkgs/pkgs/development/libraries/gperftools/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/gpgme/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/grib-api/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/grpc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gsmlib/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/gsound/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gspell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix252
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix176
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix107
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix65
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix155
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix55
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix52
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix85
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix83
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/gtest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-engine-bluecurve/default.nix (renamed from nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-engine-murrine/default.nix (renamed from nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-engines/default.nix (renamed from nixpkgs/pkgs/misc/themes/gtk2/gtk-engines/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/2.x.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/3.x.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh19
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/hooks/gtk2-clean-immodules-cache.sh (renamed from nixpkgs/pkgs/development/libraries/gtk/setup-hook.sh)4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/hooks/gtk3-clean-immodules-cache.sh (renamed from nixpkgs/pkgs/development/libraries/gtk/gtk3-setup-hook.sh)5
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/01-build-Fix-path-handling-in-pkgconfig.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/01-build-Fix-path-handling-in-pkgconfig.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/2.0-darwin-x11.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/2.0-darwin-x11.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/2.0-immodules.cache.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/2.0-immodules.cache.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/3.0-darwin-x11.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/3.0-darwin-x11.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/3.0-immodules.cache.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/3.0-immodules.cache.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/gtk2-theme-paths.patch (renamed from nixpkgs/pkgs/development/libraries/gtk/gtk2-theme-paths.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkd/default.nix126
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkd/paths.d8
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkspell/3.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gts/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/gvfs/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hspell/dicts.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/http-parser/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/hwloc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hyperscan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hyphen/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/icu/58.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/icu/base.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/ilmbase/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/incrtcl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/irrlicht/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/iso-codes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/itk/4.x.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/jasper/default.nix5
-rwxr-xr-xnixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/smack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/swt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/jbig2dec/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/jitterentropy/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/jsoncpp/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/jsonrpc-glib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/breeze-icons.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch5
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh16
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/ki18n.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kplotting.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kxmlgui.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix648
-rw-r--r--nixpkgs/pkgs/development/libraries/kf5gpgmepp/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/kmsxx/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/ldns/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/leatherman/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libaal/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libabigail/default.nix59
-rw-r--r--nixpkgs/pkgs/development/libraries/libabw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libagar/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libao/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libappindicator/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/libav/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libbfd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libbladeRF/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libbluray/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libbsd/darwin.patch283
-rw-r--r--nixpkgs/pkgs/development/libraries/libbsd/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libbsd/musl.patch14
-rw-r--r--nixpkgs/pkgs/development/libraries/libburn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcaca/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcbor/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libcdaudio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libcec/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libcerf/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libchamplain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libck/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/libclc/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libco-canonical/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch36
-rw-r--r--nixpkgs/pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libctb/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libctb/include-kbhit.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/libcutl/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/libdazzle/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libde265/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvbpsi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdynd/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libebml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libechonest/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/libedit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libevdev/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libevdevplus/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libexecinfo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libexif/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libextractor/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libf2c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libfakekey/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfaketime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libffi/3.2.1-cygwin.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/libffi/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/libfido2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint/default.nix71
-rw-r--r--nixpkgs/pkgs/development/libraries/libfpx/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libfsm/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libftdi/1.x.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libftdi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libgcrypt/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libgda/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libgdata/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libgdiplus/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/libglvnd/default.nix41
-rw-r--r--nixpkgs/pkgs/development/libraries/libgnomekbd/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/libgnurl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpg-error/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpod/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/libgroove/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgudev/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/appliance.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libgweather/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libhandy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libheif/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libical/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libicns/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/libiconv/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libimagequant/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libindicate/default.nix66
-rw-r--r--nixpkgs/pkgs/development/libraries/libinjection/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/libinput/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libisds/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libisoburn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libisofs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libivykis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg-drop/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libksi/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/liblockfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liblouis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch73
-rw-r--r--nixpkgs/pkgs/development/libraries/libmad/default.nix56
-rw-r--r--nixpkgs/pkgs/development/libraries/libmad/optimize.diff77
-rw-r--r--nixpkgs/pkgs/development/libraries/libmad/pkgconfig.patch117
-rw-r--r--nixpkgs/pkgs/development/libraries/libmanette/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/libmatchbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmediaart/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libmemcached/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libmesode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libminc/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodule/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmpeg2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmypaint/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libnabo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libnats-c/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/libndctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libngspice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libnice/default.nix53
-rw-r--r--nixpkgs/pkgs/development/libraries/libnotify/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/libofx/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/libogg/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/liboping/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmpbf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libowfat/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libpcap/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/libpeas/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/libpeas/fix-libpeas-gtk-pc.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/libpfm/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libphonenumber/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libplacebo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libpng/12.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libpng/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libpointmatcher/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libproxy/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/libpsl/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/libpwquality/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqtav/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libraw/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/redland.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libre/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/librem/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libressl/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/librseq/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/librsvg/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/librsync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libscrypt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libsearpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libsecret/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libsexy/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/libsodium/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libsolv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libsoup/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libspectrum/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/libspotify/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libstrophe/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libsvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtcod/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libtermkey/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libtiff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtommath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtoxcore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libtxc_dxtn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libui/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libuinputplus/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libunique/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libunity/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libunity/fix-vala.patch36
-rw-r--r--nixpkgs/pkgs/development/libraries/liburing/default.nix51
-rw-r--r--nixpkgs/pkgs/development/libraries/libusb1/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libuv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libvdpau/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libvmaf/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/libvncserver/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/libvorbis/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libvterm-neovim/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libwacom/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libwebp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libwhereami/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libwmf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libwps/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libx86emu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxklavier/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch89
-rw-r--r--nixpkgs/pkgs/development/libraries/libxl/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libxls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxml2/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/libxmlb/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/libxslt/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libzip/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/lightning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lightstep-tracer-cpp/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/linbox/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/live555/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/lmdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/log4cplus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mapnik/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/mbedtls/1.3.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/mbedtls/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/mediastreamer/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/mediastreamer/msopenh264.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/stubs.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mimalloc/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/minixml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/minizip/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/qt-5.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/mm-common/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/mpich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mps/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/muparser/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/mygui/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/nanoflann/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/nco/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/ncurses/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/ndi/default.nix60
-rw-r--r--nixpkgs/pkgs/development/libraries/netcdf/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/nettle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nghttp2/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/nlohmann_json/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/nspr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nss/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nsss/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ntl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ntrack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ois/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/olm/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/oniguruma/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/onnxruntime/default.nix67
-rw-r--r--nixpkgs/pkgs/development/libraries/opae/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/opal/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/opal/disable-samples-ftbfs.diff14
-rw-r--r--nixpkgs/pkgs/development/libraries/opal/libav10.patch208
-rw-r--r--nixpkgs/pkgs/development/libraries/opal/libav9.patch543
-rw-r--r--nixpkgs/pkgs/development/libraries/openal-soft/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/openal-soft/search-out.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/openbabel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/openbsm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/opencl-clang/default.nix97
-rw-r--r--nixpkgs/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/opencolorio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/opencsg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/3.x.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/4.x.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opendbx/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/openexr/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/openexrid-unstable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/openfst/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/openh264/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/openmpi/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/openscenegraph/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/openvdb/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/openxr-loader/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/openzwave/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/orcania/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ortp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/p11-kit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/packr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pango/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/pangox-compat/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/partio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pcaudiolib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/pcre/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/phonon/backends/gstreamer.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix45
-rw-r--r--nixpkgs/pkgs/development/libraries/phonon/default.nix59
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/applgrid/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/fastjet-contrib/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/geant4/datasets-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/geant4/datasets.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/geant4/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/geant4/g4py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/herwig/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/pythia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/qcdnum/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/rivet/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/thepeg/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/plib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/plplot/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/pmdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/poco/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/polkit/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/poly2tri-c/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/0.61.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/portaudio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/precice/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/prometheus-cpp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.10.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.11.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.9.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protolock/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/pstreams/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/ptlib/default.nix59
-rw-r--r--nixpkgs/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/pybind11/default.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/pybind11/no_test_cmake_build.patch7
-rw-r--r--nixpkgs/pkgs/development/libraries/qca2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/qoauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qrupdate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla/default.nix59
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-3/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/fetch.sh1
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase.patch1106
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch46
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtscript.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtserialport.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qttools.patch86
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch37
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.11/srcs.nix325
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch1146
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch403
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch116
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch465
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch68
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch194
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch48
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch51
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0012-fix-header_module.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch16
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/srcs.nix320
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix172
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/fetch.sh1
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch1119
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtscript.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtserialport.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qttools.patch71
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch50
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch64
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/srcs.nix333
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh14
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh31
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/mkDerivation.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix88
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/qtkeychain/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/qtpbfimageplugin/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/qtutilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/quesoglc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/quickder/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/rabbitmq-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/raft-canonical/default.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/randomx/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/range-v3/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/rdkafka/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/6.2.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/6.3.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/7.0.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/8.0.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rnnoise/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/robin-map/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rocksdb/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/safefile/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/schroedinger/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/benchmark/papi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/elastix/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/QuadProgpp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/brial/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/caffe2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/clmagma/default.nix75
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix41
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/magma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix118
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch5
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/osi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scalapack/openmpi4.patch143
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/tensorflow/bin.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/sentencepiece/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/serd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/serialdv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/shhmsg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/shhopt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/simgear/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/skalibs/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/slang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/smpeg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/snappy/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/sonic/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/sord/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/soxt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/spandsp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/spatialite-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch17
-rw-r--r--nixpkgs/pkgs/development/libraries/spdlog/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/sphinxbase/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/spirv-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlcipher/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/archive-version.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/srt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/srtp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/sundials/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/sundials/tests-parallel.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/symengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/t1lib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tachyon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/taglib/1.9.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/taglib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tbb/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/tcllib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tdlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/template-glib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tepl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/thrift/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/tiledb/default.nix76
-rw-r--r--nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tntdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/torch/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/tpm2-tss/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch9
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/tre/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tremor/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/trompeloeil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/umockdev/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/unibilium/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/uri/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/usbredir/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/utmps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/3.14.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/3.16.14.nix81
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/vaapi-vdpau/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/vapoursynth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/vapoursynth/editor.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/vrpn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/vte/default.nix75
-rw-r--r--nixpkgs/pkgs/development/libraries/vte/ng.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/vtk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/vxl/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/1.9.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/2.4.nix111
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/configure.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/default.nix203
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/fix-execinfo.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/libc++.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch586
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/plugin-none.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/quartz-webcore.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch8
-rw-r--r--nixpkgs/pkgs/development/libraries/wiredtiger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wt/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/wxSVG/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/x265/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xapian/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch6
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-dbus-proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xmlsec/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/xxHash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/yajl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/yder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/zeitgeist/default.nix69
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/zeromq/4.x.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/zlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/zziplib/default.nix16
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix1
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/clwrapper/setup-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/define-package.nix8
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/openssl-lib-marked.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode-xhtml.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix6
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-hooks.nix34
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html-parse.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-jpeg.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix13
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-prevalence.nix27
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-protobufs.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-typesetting.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-html.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql-socket.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-sqlite3.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-uffi.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/collectors.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-simple-tree.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-stp.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix24
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-client.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-common.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-server.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-ssl.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sysdeps.nix25
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-xml.nix27
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stefil.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/string-case.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix12
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix15
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix49
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/shell.nix4
-rw-r--r--nixpkgs/pkgs/development/lua-modules/generated-packages.nix55
-rw-r--r--nixpkgs/pkgs/development/lua-modules/overrides.nix36
-rw-r--r--nixpkgs/pkgs/development/misc/amdapp-sdk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/misc/h3/default.nix30
-rw-r--r--nixpkgs/pkgs/development/misc/qmk_firmware/default.nix2
-rw-r--r--nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix1
-rw-r--r--nixpkgs/pkgs/development/misc/stm32/inav/default.nix1
-rw-r--r--nixpkgs/pkgs/development/misc/vc4/newlib.nix28
-rw-r--r--nixpkgs/pkgs/development/misc/yelp-tools/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix2
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/deploy-androidpackage.nix1
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/lldb.nix2
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/platform-tools.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock33
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock27
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix70
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix69
-rw-r--r--nixpkgs/pkgs/development/mobile/titaniumenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix (renamed from nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix)19
-rw-r--r--nixpkgs/pkgs/development/mobile/xcodeenv/build-app.nix2
-rw-r--r--nixpkgs/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix2
-rw-r--r--nixpkgs/pkgs/development/node-packages/composition-v13.nix17
-rw-r--r--nixpkgs/pkgs/development/node-packages/default-v10.nix6
-rw-r--r--nixpkgs/pkgs/development/node-packages/default-v13.nix16
-rwxr-xr-xnixpkgs/pkgs/development/node-packages/generate.sh4
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-env.nix2
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v10.json9
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v10.nix18110
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v12.nix152
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v13.json3
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v13.nix1451
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix16
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/angstrom-async/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/angstrom-unix/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/angstrom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/asn1-combinators/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bigstringaf/default.nix11
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/biniou/1.0.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/biniou/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/biocaml/default.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bolt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bos/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.2.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.5.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cfstream/default.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cfstream/git_commit.patch13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix43
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cmdliner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cohttp/0.19.3.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/conduit/default.nix34
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/containers/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cpu/default.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cpuid/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cryptgps/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/csv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ctypes/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/curses/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix36
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dispatch/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/doc-ock-html/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/doc-ock-xml/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/doc-ock/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dtoa/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/duff/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dune-configurator/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dune-private-libs/default.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dypgen/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/earlybird/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/easy-format/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/eigen/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/eliom/camlp4.patch12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/encore/default.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/eqaf/default.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/facile/default.nix35
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/faraday/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/fmt/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/fontconfig/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/functoria/default.nix41
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/functory/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/git/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/gnuplot/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/graphql/cohttp.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/graphql/default.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/graphql/lwt.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/graphql/parser.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/imagelib/unix.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/index/default.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/integers/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ipaddr/default.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin-watcher/default.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/1.4.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix31
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/fs.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/git.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/graphql.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/http.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/mem.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/pack.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/test.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/unix.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/iso8601/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/iter/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/janestreet/0.12.nix36
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/kafka/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ke/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix38
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lacaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/logs/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lru/default.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lua-ml/default.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/3.x.nix39
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/4.x.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/legacy.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/magic-mime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/menhir/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/menhir/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/metrics/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/metrics/lwt.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/metrics/unix.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mysql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/num/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/num/enable-static.patch12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-cairo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-monadic/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-version/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocamlgraph/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocamlnat/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocplib-simplex/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/odn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/opam-file-format/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/owl-base/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/owl/default.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/parany/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pcre/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/psmt2-frontend/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/psq/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ptmap/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/react/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rope/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rpclib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sawja/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sodium/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/spelll/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sqlite3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ssl/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/stdint/default.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tls/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/twt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/type_conv/108.08.00.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uchar/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ulex/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uutf/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/webmachine/default.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/wtf8/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/yaml/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/zarith/default.nix11
-rw-r--r--nixpkgs/pkgs/development/perl-modules/BerkeleyDB/default.nix16
-rw-r--r--nixpkgs/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix27
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix20
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-Pg/default.nix25
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-SQLite/default.nix32
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-mysql/default.nix18
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-sybase/default.nix18
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DB_File/default.nix20
-rw-r--r--nixpkgs/pkgs/development/perl-modules/Device-OUI-1.04-hash.patch11
-rw-r--r--nixpkgs/pkgs/development/perl-modules/MNI/default.nix1
-rw-r--r--nixpkgs/pkgs/development/perl-modules/Mozilla-LDAP/default.nix18
-rw-r--r--nixpkgs/pkgs/development/perl-modules/Percona-Toolkit/default.nix20
-rw-r--r--nixpkgs/pkgs/development/perl-modules/Po4a/default.nix37
-rw-r--r--nixpkgs/pkgs/development/perl-modules/WWW-YoutubeViewer/default.nix31
-rw-r--r--nixpkgs/pkgs/development/perl-modules/alien-sdl.patch30
-rw-r--r--nixpkgs/pkgs/development/perl-modules/generic/builder.sh11
-rw-r--r--nixpkgs/pkgs/development/perl-modules/generic/default.nix9
-rw-r--r--nixpkgs/pkgs/development/perl-modules/ham/default.nix42
-rw-r--r--nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch51
-rw-r--r--nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-nova-compat.patch21
-rw-r--r--nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix34
-rw-r--r--nixpkgs/pkgs/development/perl-modules/timedate-2020.patch12
-rw-r--r--nixpkgs/pkgs/development/pharo/vm/build-vm-legacy.nix6
-rw-r--r--nixpkgs/pkgs/development/pharo/vm/build-vm.nix6
-rw-r--r--nixpkgs/pkgs/development/pharo/vm/vms.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/audio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/avahi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/csv/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/doc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/faust/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/ffi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gen/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gl/default.nix9
-rw-r--r--nixpkgs/pkgs/development/pure-modules/glpk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gplot/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gsl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gtk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/liblo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lilv/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lv2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/midi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/mpfr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/octave/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/odbc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/pandoc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/rational/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/readline/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sockets/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sql3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stldict/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stllib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/tk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/xml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Babel/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/Cython/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/GitPython/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/HTSeq/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/JPype1/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/JPype1/set-compiler-language.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/JayDeBeApi/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/Logbook/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Mako/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/MechanicalSoup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/PyLD/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/Pygments/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ROPGadget/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Rtree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Theano/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/WazeRouteCalculator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/accupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/acoustics/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/addic7ed-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aenum/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/affine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioamqp/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioconsole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocontextvars/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioeventlet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiokafka/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomysql/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioredis/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioresponses/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorun/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounittest/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/alembic/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/alerta-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/alerta/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allpairspy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/alot/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aniso8601/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/annoy/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansi2html/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansiwrap/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/antlr4-python2-runtime/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/antlr4-python3-runtime/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/anytree/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix188
-rw-r--r--nixpkgs/pkgs/development/python-modules/apispec/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/apprise/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/approvaltests/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/apsw/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/area/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/aresponses/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/arpeggio/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/arrow/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/arviz/default.nix80
-rw-r--r--nixpkgs/pkgs/development/python-modules/asdf/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/ase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asgiref/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asn1crypto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astor/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-helpers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch54
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroquery/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/astunparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncpg/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/atomman/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/attrs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/audio-metadata/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/authlib/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/autobahn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/autograd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/autologging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/automat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/avro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward1/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-batch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix93
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cli-telemetry/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-common/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-core/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cosmosdb-table/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-datalake-store/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-functions-devops-build/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-graphrbac/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-identity/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-loganalytics/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-advisor/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-authorization/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-batchai/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-billing/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-botservice/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-cdn/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-commerce/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-common/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-dns/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-logic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-monitor/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-msi/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-relay/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-reservations/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-search/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-security/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-signalr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-multiapi-storage/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-nspkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-common/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-file/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-nspkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/babelfish/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/babelgladeextractor/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports_functools_lru_cache/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports_lzma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports_unittest-mock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bandit/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/basemap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bashlex/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/bayespy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bcdoc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/behave/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/bidict/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bids-validator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/billiard/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/binwalk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/0001-Buffer-Protocol-Py3.patch106
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitstruct/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bjoern/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/black/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/bleach/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/blis/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/blist/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/blivet/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/block-io/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/bokeh/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/boltons/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/boolean-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bottle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bottleneck/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/bpython/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/branca/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/breathe/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/broadlink/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugz/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugzilla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/worker.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildout-nix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bumps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bx-python/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachecontrol/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachetools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/cadquery/default.nix93
-rw-r--r--nixpkgs/pkgs/development/python-modules/cairosvg/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/caldav/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/can/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/canmatrix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/capstone/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/carbon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cartopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/casbin/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/catalogue/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/cchardet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cerberus/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/certifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/certipy/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/cffi/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/cftime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chainer/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/chalice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/channels-redis/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/channels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chart-studio/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/check-manifest/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/tests.patch45
-rw-r--r--nixpkgs/pkgs/development/python-modules/cherrypy/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/cld2-cffi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cleo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-completion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-default-group/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cliff/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/clifford/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clikit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clize/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clustershell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cma/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cnvkit/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/cocotb/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/codespell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cogapp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coilmq/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/colorama/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/colorcet/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/colored/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/colormath/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/colorspacious/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/commonmark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/compiledb/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/configargparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/configparser/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/configshell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/connexion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/consonance/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/contextlib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coordinates/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/cornice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coverage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coveralls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crayons/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crc32c/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/crccheck/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/credstash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/croniter/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptacular/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssmin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssselect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssselect2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssutils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cufflinks/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/curio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cymem/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/cytoolz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-jobqueue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-ml/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-mpi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-xgboost/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/databases/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataclasses/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datadog/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/datamodeldict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/datashader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datatable/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/datatable/remove-compiler-monkeypatch_disable-native-relocation.patch28
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateutil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbf/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ddt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/debian/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/decorator/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/deeptoolsintervals/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/deform/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/defusedxml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deluge-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/demjson/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deprecated/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/devpi-common/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/dftfit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dict2xml/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff_cover/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/dill/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/discordpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diskcache/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissononce/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-allauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-configurations/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cors-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-dynamic-preferences/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-filter/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-multiselectfield/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-pglocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-pipeline/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-q/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-ranged-response/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-raster/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-sesame/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-storages/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/1_11.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/2_1.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/2_2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_contrib_comments/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_evolution/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_guardian/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_reversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_silk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_taggit/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_treebeard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangoql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangorestframework/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/dkimpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dmenu/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dnslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/docker/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/docutils/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/dodgy/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/dotnetcore2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dotnetcore2/runtime.patch7
-rw-r--r--nixpkgs/pkgs/development/python-modules/dpkt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/drms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dugong/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dulwich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/easyprocess/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/easysnmp/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/ecdsa/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ed25519/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/effect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elementpath/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/emcee/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/entrance/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/enum-compat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ephem/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/etelemetry/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/evdev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eve/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/eventlet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/exchangelib/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/execnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/extras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/eyed3/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/face/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/factory_boy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/faker/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi/setup.py.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastparquet/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/favicon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedparser/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fido2/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/filebytes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/filterpy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fints/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/fiona/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8-debugger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flaky/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/flammkuchen/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-admin/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix80
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-babelex/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-bcrypt/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-caching/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-cors/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-httpauth/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-openid/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-restplus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-swagger-ui/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flit/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fluent-logger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flup/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/folium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fonttools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/foolscap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/foxdot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fpylll/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fs/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/fsspec/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcparserlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fuse-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/future/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/futures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fx2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gateone/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcovr/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/gdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/genanki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gensim/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/geographiclib/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoip2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/geopandas/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/geopy/2.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/geopy/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/gidgethub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gin-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/git-annex-adapter/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/git-revise/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitdb2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glances/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/glasgow/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/glom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gmusicapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/goobook/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/goocalendar/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-i18n-address/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-music-proto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-music/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-pasta/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_api_core/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_apputils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_auth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_asset/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_automl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_bigquery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_bigtable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_container/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_core/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_dataproc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_datastore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_dlp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_dns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_error_reporting/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_firestore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_iot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_kms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_language/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_logging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_monitoring/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_pubsub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_resource_manager/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_securitycenter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_spanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_storage/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_tasks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_texttospeech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_trace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_translate/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_videointelligence/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_vision/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_resumable_media/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/googleapis_common_protos/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpapi/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/gplaycli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpyopt/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/graph_nets/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/green/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/grequests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/gsd/1.7.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/gsd/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/guessit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gunicorn/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/gym/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/gyp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/h3/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/h3/disable-custom-install.patch41
-rw-r--r--nixpkgs/pkgs/development/python-modules/h3/hardcode-h3-path.patch19
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-ffmpeg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/handout/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/hbmqtt/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/hcloud/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdbscan/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/heapdict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hiredis/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/hiro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/histbook/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/homeassistant-pyozw/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/hopcroftkarp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/howdoi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hstspreload/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/html2text/2018.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/html2text/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/html5lib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/httplib2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpretty/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvac/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvplot/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyperlink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypothesis/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ics/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix92
-rw-r--r--nixpkgs/pkgs/development/python-modules/ijson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imagecodecs-lite/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/imgaug/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/immutables/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/impacket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/imutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/inflect/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iniparse/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/intake/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/internetarchive/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/intreehooks/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipaddr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipaddress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipykernel/4.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipykernel/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/7.9.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/irc/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/isbnlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/islpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/isort/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/janus/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_classes/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_stream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_text/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/javaobj-py3/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/javaproperties/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jedi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jeepney/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/jieba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jinja2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jira/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/joblib/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsbeautifier/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-merge-patch/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonlines/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonmerge/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonrpc-async/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonrpc-base/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonrpc-websocket/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/junitparser/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupytext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kafka-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kajiki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kconfiglib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/keepkey_agent/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/keras-applications/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/keras-preprocessing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/keras/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyring/2.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyring/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-alt/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/klaus/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/kmapper/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/koji/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/kombu/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/labelbox/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazr/config.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/ldap3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ldaptor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledger_agent/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/leveldb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libarcus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libcloud/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/librosa/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/libsavitar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libsexy/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/libversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/license-expression/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightgbm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightparam/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/limits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/limnoria/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/livestreamer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lmdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lmtpd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/logilab/common.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/loguru/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/logutils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/luftdaten/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lxml/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/m2crypto/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/m3u8/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mahotas/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/maildir-deduplicate/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/managesieve/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/manuel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mapbox/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/mapsplotlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/marionette_driver.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozcrash.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozdevice.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozfile.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozinfo.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozlog.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozprocess.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozprofile.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozrunner.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marionette-harness/mozversion.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow-enum/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/2.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/mautrix-appservice/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/mautrix/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/maxminddb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/measurement/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mechanize/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/meinheld/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/meld3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/merkletools/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/mesa/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/mesonpep517/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/micawber/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/minidb/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/minio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/misaka/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlrose/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mnemonic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mnist/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/mock/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/mockito/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/moderngl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/mongoengine/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/monkeyhex/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/monty/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/more-itertools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moretools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/moviepy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mox/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mox3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpi4py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpmath/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/msgpack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msrest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msrestazure/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mt-940/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multidict/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/multiprocess/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/munch/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/musicbrainzngs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mwoauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/myfitnesspal/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/extensions.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/namebench/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/nameparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/names/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/natsort/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbdime/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbval/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ncclient/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netcdf4/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/networkx/2.2.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/networkx/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/neurotools/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/nevow/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nibabel/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nimfa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nipype/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/nipype/neurdflib.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/nixpkgs-pytools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmigen/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose-exclude/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/2.nix76
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/notedown/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/nuitka/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numcodecs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/numericalunits/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/numexpr/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpydoc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/nvchecker/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauth/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/odo/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/ofxtools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/onkyo-eiscp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openpyxl/2.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/openpyxl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentimestamps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentracing/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/opt-einsum/2.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/optuna/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/orm/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/osc/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/oscrypto/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/outcome/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ovh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oyaml/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/packaging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/packet-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pafy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/palettable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/2.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandoc-attributes/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/panel/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/papermill/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/paperspace/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/papis/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/param/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parameterized/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/paramiko/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/parse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsley/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/parso/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/partd/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/passlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paste/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pastescript/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/path.py/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pathlib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pathos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pathspec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pcpp/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdf2image/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdfminer_six/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdftotext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pefile/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pelican/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pendulum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/periodictable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/persim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/persistent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/persisting-theory/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pexpect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pglast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgsanity/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgspecial/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/phik/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/piccata/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip-tools/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip2nix/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipdate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pivy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pkgconfig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plac/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plone-testing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pluggy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plumbum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plyfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/poetry/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/poetry/jsonschema.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/polyline/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pomegranate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pony/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/portalocker/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/portend/black-19.10b0.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/portend/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/poster3/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/pox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ppft/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/prance/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/praw/6.3.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/praw/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/prawcore/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pre-commit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/preggy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/premailer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/preshed/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/prison/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/progressbar2/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/protobuf/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/prox-tv/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/prox-tv/use-openblas.patch11
-rw-r--r--nixpkgs/pkgs/development/python-modules/psd-tools/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psycopg2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ptpython/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pulp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/purepng/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pvlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pwntools/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-vapid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py2bit/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3buddy/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3dns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3status/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyGithub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyannotate/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyasn1/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatmo/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybase64/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybfd/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybids/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybigwig/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybindgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybotvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybullet/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycares/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycdio/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycm/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycollada/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycountry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptopp/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycuda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycurl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydocstyle/2.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydocstyle/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydocumentdb/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydrive/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyelftools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfribidi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftdi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftgl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfxa/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygbm/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglet/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch50
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygtk/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhocon/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjks/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjson5/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjwkest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjwt/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykde4/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykde4/dlfcn.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykeepass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykickstart/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibacl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibmc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint/1.9.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymatgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymavlink/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymbolic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymc3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymemoize/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pympler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymssql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymupdf/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynvim/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyobjc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyomo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopengl/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyparsing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyperf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypillowfight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrabbit2/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro4/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrsistent/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscard/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyserial-asyncio/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside/shiboken.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyslurm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysmb/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysmbc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnmp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnmp/setup.py-Fix-the-setuptools-version-check.patch27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnooper/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysonos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspf/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspotify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysvn/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytaglib/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytesseract/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-black/black-version.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-black/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-django/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-faulthandler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mypy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-openfiles/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-relaxed/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-services/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-xvfb/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/4.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytestrunner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-binance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-daemon/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-doi/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-efl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-hosts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-language-server/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-logstash/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lzf/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lzo/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-multipart/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-nomad/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-oauth2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-olm/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-periphery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ptrace/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-redis-lock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-slugify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-toolbox/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-twitter/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-uinput/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-vlc/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-vlc/vlc-paths.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/python2-pythondialog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python_mimeparse/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/python_openzwave/cython.patch20
-rw-r--r--nixpkgs/pkgs/development/python-modules/python_openzwave/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythondialog/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonirclib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonnet/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytmx/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch/default.nix185
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytrends/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytzdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyunifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyupdate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyutil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyutilib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvcd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvcf/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywavelets/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywbem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywebkitgtk/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywebpush/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywinrm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyxattr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyxl3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyzmq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qds_sdk/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/qimage2ndarray/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/qrcode/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quandl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/qutip/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/r2pipe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/radio_beam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rasterio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/rbtools/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rebulk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/recommonmark/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/regex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/remotecv/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reproject/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-cache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-oauthlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/resampy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/responses/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/restrictedpython/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/rethinkdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rfc-bibtex/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ripser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rl-coach/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rlp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robomachine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework-requests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/root_numpy/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/rootpy/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/ropper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpy2/2.nix108
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpy2/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch21
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpyc/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel_ordereddict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel_yaml_clib/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/rubymarshal/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/runsnakerun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/runway-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3fs/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3transfer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sacremoses/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic/default.nix79
-rw-r--r--nixpkgs/pkgs/development/python-modules/sasmodels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scapy/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/schema/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-image/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikitlearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scipy/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/secure/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/seekpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/semantic-version/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/send2trash/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentencepiece/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentinel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/sepaxml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/serpent/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/sharedmem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shodan/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/shutilwhich/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/simpleeval/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplejson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/six/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/slicedimage/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/slicerator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snakebite/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/snitun/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowballstemmer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/snug/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/snuggs/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/soco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/solo-python/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/sounddevice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/soundfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/soupsieve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/models.json72
-rw-r--r--nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sparse/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/speedtest-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/spglib/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx/2.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch22
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/splinter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-citext/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlobject/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/squaremap/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/srsly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ssdeep/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ssdp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/starfish/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/starlette/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/statsmodels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stevedore/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/stm32loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamz/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/strictyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/structlog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stups-cli-support/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/stups-tokens/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/stups-zign/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/stytra/default.nix81
-rw-r--r--nixpkgs/pkgs/development/python-modules/sunpy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/supervisor/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/svg-path/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/svgwrite/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/symengine/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/sympy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/tables/3.5.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/tables/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabulate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tasklib/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/tatsu/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/tblib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tbm-utils/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/telethon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tenacity/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-estimator/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/cuda-10.2-no-bin2c-path.patch10
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix114
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch213
-rw-r--r--nixpkgs/pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tesserocr/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/testfixtures/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/testpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/testresources/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/text-unidecode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textwrap3/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/thinc/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/thrift/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/thumbor/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tifffile/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiledb/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/tilestache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/timezonefinder/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/tinydb/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/tld/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tldextract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/todoist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomlkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tqdm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/trackpy/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/traitlets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/traits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transaction/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transformers/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/transitions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/treq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trezor/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/trezor_agent/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/trio/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/trustme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twine/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/twisted/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/twofish/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtorcon/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/typeguard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typesystem/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tzlocal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uamqp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uarray/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ueberzug/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/umap-learn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unicode-slugify/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/unicorn/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/unidecode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uproot-methods/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uproot/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/uranium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uritemplate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uritools/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/urlgrabber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwid/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvicorn/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvloop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/validators/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vcrpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/venusian/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/vidstab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/viewstate/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtual-display/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/virtualenv-change-prefix.patch8
-rw-r--r--nixpkgs/pkgs/development/python-modules/vmprof/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vsts-cd-manager/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/waitress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wasabi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weasyprint/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/web/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webcolors/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/weboob/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/websockets/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/websockify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webtest/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/werkzeug/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wfuzz/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/wheel/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/whichcraft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whisper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whitenoise/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/willow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/word2vec/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/worldengine/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/wrapt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wrf-python/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/wxPython/4.0.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xapian/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/xapp/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xattr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xcffib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdis/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/xmlschema/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/xmodem/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/xstatic-bootstrap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yapf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yappi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yarl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yowsup/argparse-dependency.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/yowsup/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/yowsup/dependency-fixes.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/yt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/yubico-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zake/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/zc_lockfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zerorpc/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/zetup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/zipp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/zm-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_component/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_i18n/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_interface/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/zstd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/r-modules/bioc-packages.nix6
-rw-r--r--nixpkgs/pkgs/development/r-modules/cran-packages.nix4947
-rw-r--r--nixpkgs/pkgs/development/r-modules/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix2
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb4
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix51
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb5
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/solargraph/Gemfile.lock25
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/solargraph/gemset.nix50
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile1
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/with-packages/test.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/alloy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ameba/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/ammonite/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/autoflake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/codeql/default.nix61
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/coz/default.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cpplint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/ikos/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/include-what-you-use/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix45
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/radare2/cutter.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/radare2/default.nix24
-rwxr-xr-xnixpkgs/pkgs/development/tools/analysis/radare2/update.py2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/rr/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tflint/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/apktool/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/async/default.nix29
-rw-r--r--nixpkgs/pkgs/development/tools/avro-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/azcopy/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/azcopy/deps.nix129
-rw-r--r--nixpkgs/pkgs/development/tools/bazelisk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/boomerang/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/0.4.nix100
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix102
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch51
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix49
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json152
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/buck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch4
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh34
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/conan/default.nix29
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/doit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/jam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/kati/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch22
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch47
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix14
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap45
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/disable-go-module-mode.patch33
-rw-r--r--nixpkgs/pkgs/development/tools/buildpack/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/cargo-flamegraph/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/ccloud-cli/default.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/chefdk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/chit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/clang-tools/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/clang-tools/wrapper20
-rw-r--r--nixpkgs/pkgs/development/tools/clj-kondo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/cloudflare-wrangler/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/cmake-format/default.nix32
-rw-r--r--nixpkgs/pkgs/development/tools/conftest/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/conftest/go-1.13-deps.patch99
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/deps.nix274
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone/deps.nix38
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/cue/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/database/dbmate/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/pgcli/default.nix39
-rw-r--r--nixpkgs/pkgs/development/tools/database/schemaspy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/devpi-client/default.nix59
-rw-r--r--nixpkgs/pkgs/development/tools/devpi-server/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/diesel-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/distgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/dive/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/doctl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/antora/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch24
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/mdsh/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/erlang/cuter/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/erlang/hex2nix/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/fdroidserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fedpkg/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/flamegraph/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/flatpak-builder/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/flyway/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/gamecube-tools/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/gir/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/git-quick-stats/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/git-series/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/godot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/golangci-lint/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/gotestsum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gotools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/grabserial/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/hcloud/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/hcloud/deps.nix111
-rw-r--r--nixpkgs/pkgs/development/tools/heroku/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/icestorm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/imatix_gsl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/irony-server/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/java/cfr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/java/visualvm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/jazzy/Gemfile.lock41
-rw-r--r--nixpkgs/pkgs/development/tools/jazzy/gemset.nix85
-rw-r--r--nixpkgs/pkgs/development/tools/jo/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/jtc/default.nix37
-rw-r--r--nixpkgs/pkgs/development/tools/just/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kafkacat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kcli/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/kind/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/kind/deps.nix393
-rw-r--r--nixpkgs/pkgs/development/tools/ktlint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kubectx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kubeprompt/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/lazygit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/metals/default.nix57
-rw-r--r--nixpkgs/pkgs/development/tools/micronaut/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/misc/act/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/argbash/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch41
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/wrapper2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/chrpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cli11/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cquery/wrapper2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ddd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dialog/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/direvent/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/misc/doclifter/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gdb/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/global/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gputils/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/itstool/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lsof/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix38
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mkcert/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/misc/openocd/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pahole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix54
-rw-r--r--nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/scc/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sccache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sipp/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sloccount/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sqitch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/srecord/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix78
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/swig/4.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sysbench/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terracognita/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texinfo/common.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texlab/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/misc/tokei/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/Gemfile3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock14
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/gemset.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/misc/trv/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/nrpl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/nsis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlp5/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/cppo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/crunch/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/2.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/merlin/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/oasis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocaml-top/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlify/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlscript/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/utop/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch48
-rw-r--r--nixpkgs/pkgs/development/tools/open-policy-agent/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/open-policy-agent/deps.nix408
-rw-r--r--nixpkgs/pkgs/development/tools/out-of-tree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/overcommit/Gemfile2
-rw-r--r--nixpkgs/pkgs/development/tools/overcommit/Gemfile.lock17
-rw-r--r--nixpkgs/pkgs/development/tools/overcommit/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/overcommit/gemset.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/packer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parinfer-rust/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/antlr/4.7.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/peg/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/re2c/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/pet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/phantomjs2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pipenv/default.nix56
-rw-r--r--nixpkgs/pkgs/development/tools/poetry/default.nix69
-rw-r--r--nixpkgs/pkgs/development/tools/poetry/poetry.lock1886
-rw-r--r--nixpkgs/pkgs/development/tools/poetry/pyproject.toml118
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/README.md6
-rwxr-xr-xnixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix98
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix252
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json14
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix79
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix100
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix405
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix106
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix218
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pyproject-without-path.py18
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix80
-rwxr-xr-xnixpkgs/pkgs/development/tools/poetry2nix/update31
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/EZTrace/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/pyflame/default.nix143
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/sysprof/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/prototool/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/pry/Gemfile2
-rw-r--r--nixpkgs/pkgs/development/tools/pry/Gemfile.lock17
-rw-r--r--nixpkgs/pkgs/development/tools/pry/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/pry/gemset.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/purescript/spago/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/purescript/spago/spago.nix47
-rwxr-xr-xnixpkgs/pkgs/development/tools/purescript/spago/update.sh30
-rw-r--r--nixpkgs/pkgs/development/tools/pypi2nix/default.nix118
-rw-r--r--nixpkgs/pkgs/development/tools/pyre/default.nix137
-rw-r--r--nixpkgs/pkgs/development/tools/pyre/pyre-bdist-wheel.patch43
-rw-r--r--nixpkgs/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/qtcreator/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/rdbtools/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/react-native-debugger/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/richgo/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/rtags/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock10
-rw-r--r--nixpkgs/pkgs/development/tools/rubocop/gemset.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/rucksack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/rund/default.nix49
-rw-r--r--nixpkgs/pkgs/development/tools/rust/bindgen/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix48
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-make/Cargo.lock738
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-raze/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/racer/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/rust/racerd/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rustup/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/scry/default.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/scry/shards.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/simavr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/skaffold/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/sourcetrail/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/spirv-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/spring-boot/default.nix46
-rw-r--r--nixpkgs/pkgs/development/tools/sslmate/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/stagit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/tora/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/trellis/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/tychus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/unityhub/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/vagrant/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/vagrant/gemset.nix181
-rw-r--r--nixpkgs/pkgs/development/tools/vala-lint/default.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/valadoc/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/vim-vint/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/vogl/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/wabt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/wally-cli/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/wally-cli/deps.nix66
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch2384
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/wiiload/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/xcbuild/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/yarn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/yq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix10
-rw-r--r--nixpkgs/pkgs/development/web/grails/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/insomnia/default.nix29
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/disable-libatomic-darwin.patch11
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/nodejs.nix26
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v10.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v11.nix10
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v12.nix8
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v13.nix10
-rw-r--r--nixpkgs/pkgs/development/web/postman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/wml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/woff2/brotli-static.patch36
-rw-r--r--nixpkgs/pkgs/development/web/woff2/default.nix16
-rw-r--r--nixpkgs/pkgs/games/0ad/game.nix6
-rw-r--r--nixpkgs/pkgs/games/adom/default.nix4
-rw-r--r--nixpkgs/pkgs/games/airstrike/default.nix4
-rw-r--r--nixpkgs/pkgs/games/alienarena/default.nix6
-rw-r--r--nixpkgs/pkgs/games/angband/default.nix2
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix11
-rw-r--r--nixpkgs/pkgs/games/armagetronad/default.nix6
-rw-r--r--nixpkgs/pkgs/games/arx-libertatis/default.nix25
-rw-r--r--nixpkgs/pkgs/games/astromenace/default.nix4
-rw-r--r--nixpkgs/pkgs/games/bitsnbots/default.nix4
-rw-r--r--nixpkgs/pkgs/games/blackshades/default.nix4
-rw-r--r--nixpkgs/pkgs/games/blobby/default.nix4
-rw-r--r--nixpkgs/pkgs/games/boohu/default.nix4
-rw-r--r--nixpkgs/pkgs/games/boohu/deps.nix8
-rw-r--r--nixpkgs/pkgs/games/bzflag/default.nix4
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/default.nix2
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/git.nix11
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch6
-rw-r--r--nixpkgs/pkgs/games/chessx/default.nix25
-rw-r--r--nixpkgs/pkgs/games/construo/default.nix11
-rw-r--r--nixpkgs/pkgs/games/crack-attack/default.nix4
-rw-r--r--nixpkgs/pkgs/games/crawl/default.nix17
-rw-r--r--nixpkgs/pkgs/games/crispy-doom/default.nix28
-rw-r--r--nixpkgs/pkgs/games/crrcsim/default.nix4
-rw-r--r--nixpkgs/pkgs/games/devilutionx/default.nix28
-rw-r--r--nixpkgs/pkgs/games/dhewm3/default.nix6
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix4
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/game.nix2
-rw-r--r--nixpkgs/pkgs/games/dxx-rebirth/default.nix4
-rw-r--r--nixpkgs/pkgs/games/eboard/default.nix7
-rw-r--r--nixpkgs/pkgs/games/eduke32/default.nix13
-rw-r--r--nixpkgs/pkgs/games/egoboo/default.nix8
-rw-r--r--nixpkgs/pkgs/games/eidolon/cargo-lock.patch19
-rw-r--r--nixpkgs/pkgs/games/eidolon/default.nix26
-rw-r--r--nixpkgs/pkgs/games/empty-epsilon/default.nix8
-rw-r--r--nixpkgs/pkgs/games/endless-sky/default.nix4
-rw-r--r--nixpkgs/pkgs/games/endless-sky/fixes.patch9
-rw-r--r--nixpkgs/pkgs/games/extremetuxracer/default.nix6
-rw-r--r--nixpkgs/pkgs/games/exult/default.nix2
-rw-r--r--nixpkgs/pkgs/games/ezquake/default.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/default.nix2
-rw-r--r--nixpkgs/pkgs/games/flightgear/default.nix4
-rw-r--r--nixpkgs/pkgs/games/freeorion/default.nix4
-rw-r--r--nixpkgs/pkgs/games/frotz/default.nix2
-rw-r--r--nixpkgs/pkgs/games/frozen-bubble/default.nix25
-rw-r--r--nixpkgs/pkgs/games/frozen-bubble/fix-compilation.patch33
-rw-r--r--nixpkgs/pkgs/games/fsg/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gcompris/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gcs/default.nix8
-rw-r--r--nixpkgs/pkgs/games/gl-117/default.nix4
-rw-r--r--nixpkgs/pkgs/games/globulation/default.nix8
-rw-r--r--nixpkgs/pkgs/games/gltron/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gmad/default.nix2
-rw-r--r--nixpkgs/pkgs/games/gnujump/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gscrabble/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gweled/default.nix30
-rw-r--r--nixpkgs/pkgs/games/gzdoom/default.nix14
-rw-r--r--nixpkgs/pkgs/games/harmonist/default.nix4
-rw-r--r--nixpkgs/pkgs/games/harmonist/deps.nix8
-rw-r--r--nixpkgs/pkgs/games/hedgewars/default.nix13
-rw-r--r--nixpkgs/pkgs/games/hexen/default.nix18
-rw-r--r--nixpkgs/pkgs/games/hyperrogue/default.nix6
-rw-r--r--nixpkgs/pkgs/games/instead/default.nix16
-rw-r--r--nixpkgs/pkgs/games/ivan/default.nix29
-rw-r--r--nixpkgs/pkgs/games/kobodeluxe/default.nix4
-rw-r--r--nixpkgs/pkgs/games/lgogdownloader/default.nix10
-rw-r--r--nixpkgs/pkgs/games/lincity/ng.nix4
-rw-r--r--nixpkgs/pkgs/games/liquidwar/5.nix1
-rw-r--r--nixpkgs/pkgs/games/macopix/default.nix2
-rw-r--r--nixpkgs/pkgs/games/mars/default.nix4
-rw-r--r--nixpkgs/pkgs/games/minecraft/default.nix6
-rw-r--r--nixpkgs/pkgs/games/minetest/default.nix14
-rw-r--r--nixpkgs/pkgs/games/mnemosyne/default.nix23
-rw-r--r--nixpkgs/pkgs/games/mudlet/default.nix11
-rw-r--r--nixpkgs/pkgs/games/naev/default.nix4
-rw-r--r--nixpkgs/pkgs/games/newtonwars/default.nix7
-rw-r--r--nixpkgs/pkgs/games/nexuiz/default.nix4
-rw-r--r--nixpkgs/pkgs/games/odamex/default.nix21
-rw-r--r--nixpkgs/pkgs/games/onscripter-en/default.nix2
-rw-r--r--nixpkgs/pkgs/games/openarena/default.nix21
-rw-r--r--nixpkgs/pkgs/games/opendungeons/default.nix4
-rw-r--r--nixpkgs/pkgs/games/openjk/default.nix6
-rw-r--r--nixpkgs/pkgs/games/openmw/tes3mp.nix12
-rw-r--r--nixpkgs/pkgs/games/openra/common.nix2
-rw-r--r--nixpkgs/pkgs/games/openrct2/default.nix19
-rw-r--r--nixpkgs/pkgs/games/openrw/default.nix16
-rw-r--r--nixpkgs/pkgs/games/openspades/default.nix2
-rw-r--r--nixpkgs/pkgs/games/openttd/default.nix2
-rw-r--r--nixpkgs/pkgs/games/openxcom/default.nix12
-rw-r--r--nixpkgs/pkgs/games/openxray/default.nix76
-rw-r--r--nixpkgs/pkgs/games/pingus/default.nix6
-rw-r--r--nixpkgs/pkgs/games/pioneer/default.nix8
-rw-r--r--nixpkgs/pkgs/games/pokerth/default.nix2
-rw-r--r--nixpkgs/pkgs/games/prboom/default.nix7
-rw-r--r--nixpkgs/pkgs/games/privateer/default.nix4
-rw-r--r--nixpkgs/pkgs/games/pysolfc/default.nix49
-rw-r--r--nixpkgs/pkgs/games/qtads/default.nix27
-rw-r--r--nixpkgs/pkgs/games/quake3/quake3e/default.nix37
-rw-r--r--nixpkgs/pkgs/games/quakespasm/vulkan.nix5
-rw-r--r--nixpkgs/pkgs/games/redeclipse/default.nix2
-rw-r--r--nixpkgs/pkgs/games/residualvm/default.nix6
-rw-r--r--nixpkgs/pkgs/games/rigsofrods/default.nix4
-rw-r--r--nixpkgs/pkgs/games/rogue/default.nix2
-rw-r--r--nixpkgs/pkgs/games/runelite/default.nix20
-rw-r--r--nixpkgs/pkgs/games/sauerbraten/default.nix12
-rw-r--r--nixpkgs/pkgs/games/scorched3d/default.nix6
-rw-r--r--nixpkgs/pkgs/games/scummvm/default.nix10
-rw-r--r--nixpkgs/pkgs/games/sdlmame/default.nix42
-rw-r--r--nixpkgs/pkgs/games/sgt-puzzles/default.nix6
-rw-r--r--nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix78
-rw-r--r--nixpkgs/pkgs/games/simutrans/default.nix3
-rw-r--r--nixpkgs/pkgs/games/soi/default.nix4
-rw-r--r--nixpkgs/pkgs/games/space-orbit/default.nix4
-rw-r--r--nixpkgs/pkgs/games/speed-dreams/default.nix4
-rw-r--r--nixpkgs/pkgs/games/spring/default.nix5
-rw-r--r--nixpkgs/pkgs/games/stardust/default.nix4
-rw-r--r--nixpkgs/pkgs/games/steam/chrootenv.nix7
-rw-r--r--nixpkgs/pkgs/games/stockfish/default.nix2
-rw-r--r--nixpkgs/pkgs/games/super-tux-kart/default.nix6
-rw-r--r--nixpkgs/pkgs/games/supertux/default.nix8
-rw-r--r--nixpkgs/pkgs/games/system-syzygy/default.nix43
-rw-r--r--nixpkgs/pkgs/games/tdm/default.nix8
-rw-r--r--nixpkgs/pkgs/games/tibia/default.nix6
-rw-r--r--nixpkgs/pkgs/games/tintin/default.nix14
-rw-r--r--nixpkgs/pkgs/games/tome4/default.nix10
-rw-r--r--nixpkgs/pkgs/games/trackballs/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tremulous/default.nix6
-rw-r--r--nixpkgs/pkgs/games/trigger/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ufoai/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ultimatestunts/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ultrastardx/default.nix4
-rw-r--r--nixpkgs/pkgs/games/uqm/default.nix4
-rw-r--r--nixpkgs/pkgs/games/urbanterror/default.nix6
-rw-r--r--nixpkgs/pkgs/games/vdrift/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vitetris/default.nix2
-rw-r--r--nixpkgs/pkgs/games/voxelands/default.nix4
-rw-r--r--nixpkgs/pkgs/games/wesnoth/default.nix4
-rw-r--r--nixpkgs/pkgs/games/widelands/default.nix6
-rw-r--r--nixpkgs/pkgs/games/worldofgoo/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xbill/default.nix2
-rw-r--r--nixpkgs/pkgs/games/xbomb/default.nix7
-rw-r--r--nixpkgs/pkgs/games/xmoto/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xonotic/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xpilot/bloodspilot-client.nix6
-rw-r--r--nixpkgs/pkgs/games/xpilot/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xskat/default.nix2
-rw-r--r--nixpkgs/pkgs/games/zandronum/default.nix9
-rw-r--r--nixpkgs/pkgs/games/zod/default.nix6
-rw-r--r--nixpkgs/pkgs/games/zoom/default.nix12
-rw-r--r--nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix39
-rw-r--r--nixpkgs/pkgs/misc/beep/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/cups-pk-helper.nix10
-rw-r--r--nixpkgs/pkgs/misc/cups/default.nix35
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/default.nix88
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch13
-rw-r--r--nixpkgs/pkgs/misc/cups/filters.nix4
-rw-r--r--nixpkgs/pkgs/misc/drivers/epkowa/default.nix47
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix7
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch10
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix14
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix14
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix13
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix10
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/3.18.5.nix10
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/default.nix11
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/default.nix202
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch166
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch56
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/patches/print-errors.patch15
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/patches/series3
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/atari800/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/attract-mode/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/blastem/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/gui.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/citra/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/emulators/desmume/01_use_system_tinyxml.patch231
-rw-r--r--nixpkgs/pkgs/misc/emulators/desmume/default.nix15
-rw-r--r--nixpkgs/pkgs/misc/emulators/desmume/gcc6_fixes.patch59
-rw-r--r--nixpkgs/pkgs/misc/emulators/desmume/gcc7_fixes.patch18
-rw-r--r--nixpkgs/pkgs/misc/emulators/dlx/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--nixpkgs/pkgs/misc/emulators/dosbox/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/emulationstation/default.nix17
-rw-r--r--nixpkgs/pkgs/misc/emulators/epsxe/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/emulators/fakenes/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/fs-uae/default.nix10
-rw-r--r--nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix29
-rw-r--r--nixpkgs/pkgs/misc/emulators/gens-gs/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/hatari/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/higan/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/libdsk/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/mame/default.nix73
-rw-r--r--nixpkgs/pkgs/misc/emulators/mame/emuopts.patch29
-rw-r--r--nixpkgs/pkgs/misc/emulators/mednafen/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/mess/default.nix49
-rw-r--r--nixpkgs/pkgs/misc/emulators/mgba/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/emulators/nestopia/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/pcsxr/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/emulators/ppsspp/default.nix70
-rw-r--r--nixpkgs/pkgs/misc/emulators/qmc2/default.nix1
-rw-r--r--nixpkgs/pkgs/misc/emulators/resim/default.nix18
-rw-r--r--nixpkgs/pkgs/misc/emulators/retroarch/cores.nix668
-rw-r--r--nixpkgs/pkgs/misc/emulators/retroarch/default.nix20
-rw-r--r--nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix10
-rw-r--r--nixpkgs/pkgs/misc/emulators/vbam/default.nix15
-rw-r--r--nixpkgs/pkgs/misc/emulators/vice/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/base.nix15
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/sources.nix10
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/staging.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix26
-rw-r--r--nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/yabause/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/zsnes/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/frescobaldi/default.nix20
-rw-r--r--nixpkgs/pkgs/misc/ghostscript/default.nix38
-rw-r--r--nixpkgs/pkgs/misc/gnash/default.nix21
-rw-r--r--nixpkgs/pkgs/misc/jackaudio/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/jackaudio/jack1.nix6
-rw-r--r--nixpkgs/pkgs/misc/logging/beats/6.x.nix1
-rw-r--r--nixpkgs/pkgs/misc/logging/beats/7.x.nix2
-rw-r--r--nixpkgs/pkgs/misc/meson-tools/default.nix27
-rw-r--r--nixpkgs/pkgs/misc/sailsd/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/scrcpy/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/light-locker/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/screensavers/physlock/default.nix13
-rw-r--r--nixpkgs/pkgs/misc/screensavers/rss-glx/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/slock/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xautolock/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/sndio/default.nix9
-rw-r--r--nixpkgs/pkgs/misc/tmux-plugins/default.nix29
-rw-r--r--nixpkgs/pkgs/misc/uboot/default.nix149
-rw-r--r--nixpkgs/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch105
-rw-r--r--nixpkgs/pkgs/misc/uboot/rock64.nix38
-rw-r--r--nixpkgs/pkgs/misc/uboot/rockpro64.nix38
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix2
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/generated.nix1864
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/overrides.nix59
-rwxr-xr-xnixpkgs/pkgs/misc/vim-plugins/update.py138
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names67
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix23
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/default.nix114
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/python/default.nix10
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix55
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/wakatime/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/binutils/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/cctools/apfs.patch22
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch12
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/cctools/port.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/osxsnarf/default.nix24
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/acpitool/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alienfx/default.nix39
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alienfx/unistd.patch12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-firmware/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-oss/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/apparmor/default.nix25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ati-drivers/builder.sh4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ati-drivers/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/audit/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/autofs/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/batman-adv/alfred.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/batman-adv/batctl.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bcc/default.nix41
-rw-r--r--nixpkgs/pkgs/os-specific/linux/beegfs/default.nix167
-rw-r--r--nixpkgs/pkgs/os-specific/linux/beegfs/kernel-module.nix46
-rw-r--r--nixpkgs/pkgs/os-specific/linux/blcr/default.nix43
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch61
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bluez/default.nix90
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bpftool/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/brillo/default.nix34
-rw-r--r--nixpkgs/pkgs/os-specific/linux/brillo/udev-rule.patch13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/btfs/default.nix11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/busybox/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/chromium-xorg-conf/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cifs-utils/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/consoletools/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cpupower/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/criu/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ddcci/default.nix44
-rw-r--r--nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/digimend/default.nix54
-rw-r--r--nixpkgs/pkgs/os-specific/linux/displaylink/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/displaylink/udev-installer.patch4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dpdk/default.nix83
-rw-r--r--nixpkgs/pkgs/os-specific/linux/drbd/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dropwatch/default.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ebtables/default.nix11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/eudev/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/extrace/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fbterm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fbterm/select.patch12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch66
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix41
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/no-which.patch31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupdate/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/forktty/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fwts/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fwts/module.nix31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/google-authenticator/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hdparm/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/health-check/default.nix28
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hostapd/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iio-sensor-proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix57
-rw-r--r--nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iproute/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch193
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iptables/default.nix34
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iwd/default.nix21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jool/cli.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix55
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_4_14.patch (renamed from nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch)0
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch42
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch86
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.3.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix (renamed from nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix)8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/patches.nix20
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/perf.nix28
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper.patch13
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/kernel/update-libre.sh26
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/kernel/update.sh3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kexectools/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/keyutils/conf-symlink.patch13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/keyutils/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod/enable-static.patch12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmscon/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ldm/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ledger-udev-rules/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libaio/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libcap/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libnl/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libratbag/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libselinux/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libsepol/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lm-sensors/default.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/purity.patch44
-rw-r--r--nixpkgs/pkgs/os-specific/linux/macchanger/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mbpfan/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/microcode/intel.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mmc-utils/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/molly-guard/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mstpd/default.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/musl/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nftables/default.nix35
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nmon/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/numad/default.nix2
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix38
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix56
-rw-r--r--nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/open-isns/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix32
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix82
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch274
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pagemon/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_ccreds/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_ldap/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/paxtest/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pcmciautils/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pktgen/configure.patch17
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pktgen/default.nix55
-rw-r--r--nixpkgs/pkgs/os-specific/linux/power-calibrate/default.nix24
-rw-r--r--nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/procdump/default.nix31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/procps-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/r8168/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/reptyr/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rfkill/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtkit/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8192eu/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8723bs/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtlwifi_new/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/shadow/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/smemstat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysdig/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysstat/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/default.nix85
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/targetcli/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tiptop/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tomb/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch59
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix17
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/src.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trezor-udev-rules/default.nix33
-rw-r--r--nixpkgs/pkgs/os-specific/linux/turbostat/default.nix20
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uclibc/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/untie/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/upower/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usbguard/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usbip/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch37
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usermount/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/util-linux/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wireguard/default.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/xf86-input-cmt/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zfs/default.nix29
-rw-r--r--nixpkgs/pkgs/os-specific/windows/default.nix52
-rw-r--r--nixpkgs/pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/windows/mcfgthreads/default.nix24
-rw-r--r--nixpkgs/pkgs/os-specific/windows/mingw-w64/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/apache-kafka/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/atlassian/confluence.nix8
-rw-r--r--nixpkgs/pkgs/servers/atlassian/jira.nix8
-rw-r--r--nixpkgs/pkgs/servers/bird/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/caddy/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/caddy/v2.nix25
-rw-r--r--nixpkgs/pkgs/servers/clickhouse/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/cloud-print-connector/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/computing/slurm/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/computing/torque/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/consul/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/corosync/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/couchpotato/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/dns/coredns/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/dns/coredns/deps.nix84
-rw-r--r--nixpkgs/pkgs/servers/dns/dnsdist/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/nsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/documize-community/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/fileshare/default.nix35
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/cmake.nix2
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/freeradius/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/gortr/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/gotify/default.nix57
-rw-r--r--nixpkgs/pkgs/servers/gotify/package.json80
-rw-r--r--nixpkgs/pkgs/servers/gotify/ui.nix25
-rwxr-xr-xnixpkgs/pkgs/servers/gotify/update-yarn-deps.sh20
-rw-r--r--nixpkgs/pkgs/servers/gotify/yarndeps.nix11853
-rw-r--r--nixpkgs/pkgs/servers/gotty/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/gotty/deps.nix74
-rw-r--r--nixpkgs/pkgs/servers/gpsd/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/hitch/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/appdaemon.nix2
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/cli.nix6
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix75
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix76
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/esphome.nix17
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/frontend.nix6
-rwxr-xr-xnixpkgs/pkgs/servers/home-assistant/parse-requirements.py10
-rw-r--r--nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch12
-rw-r--r--nixpkgs/pkgs/servers/http/4store/default.nix50
-rw-r--r--nixpkgs/pkgs/servers/http/4store/src-for-default.nix9
-rw-r--r--nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix5
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix35
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h66
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h66
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_tile/default.nix35
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/h2o/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/hiawatha/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/jetty/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/lighttpd/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/generic.nix26
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/modules.nix9
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch18
-rw-r--r--nixpkgs/pkgs/servers/http/openresty/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/tengine/default.nix27
-rw-r--r--nixpkgs/pkgs/servers/http/unit/default.nix52
-rw-r--r--nixpkgs/pkgs/servers/hylafaxplus/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/irc/atheme/default.nix33
-rw-r--r--nixpkgs/pkgs/servers/irc/charybdis/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/jackett/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jellyfin/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/ldap/389/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/lidarr/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/livepeer/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/ma1sd/0001-gradle.patch20
-rw-r--r--nixpkgs/pkgs/servers/ma1sd/default.nix70
-rw-r--r--nixpkgs/pkgs/servers/mail/archiveopteryx/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch135
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch165
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/exim/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/mail/opensmtpd/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix25
-rw-r--r--nixpkgs/pkgs/servers/mail/postfix/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/mail/postfix/pfixtools.nix7
-rw-r--r--nixpkgs/pkgs/servers/mail/public-inbox/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/mail/spamassassin/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh11
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix (renamed from nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.nix)4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix3678
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json3
-rw-r--r--nixpkgs/pkgs/servers/mautrix-telegram/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch46
-rw-r--r--nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/memcached/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/metabase/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/meteor/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/miniflux/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/minio/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/misc/airsonic/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/misc/qremotecontrol-server/default.nix46
-rw-r--r--nixpkgs/pkgs/servers/misc/subsonic/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/monitoring/alertmanager-bot/deps.nix948
-rw-r--r--nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/monitoring/consul-alerts/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/do-agent/default.nix33
-rw-r--r--nixpkgs/pkgs/servers/monitoring/facette/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/loki/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/monitoring/munin/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/monitoring/nagios/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/monitoring/nagios/plugins/pynagsystemd.nix22
-rw-r--r--nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/monitoring/plugins/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix7
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/default.nix65
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix138
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix14
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter-deps.nix300
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix27
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix27
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix282
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix14
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/snmp-exporter.nix4
-rwxr-xr-xnixpkgs/pkgs/servers/monitoring/prometheus/update-webui-deps.sh20
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/varnish-exporter.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/webui-package.json96
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix11885
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix12
-rw-r--r--nixpkgs/pkgs/servers/monitoring/riemann/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/monitoring/thanos/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/server.nix8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix14
-rw-r--r--nixpkgs/pkgs/servers/mpd/clientlib.nix4
-rw-r--r--nixpkgs/pkgs/servers/mpd/default.nix282
-rw-r--r--nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mtprotoproxy/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mxisd/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/nats-server/default.nix (renamed from nixpkgs/pkgs/servers/gnatsd/default.nix)15
-rw-r--r--nixpkgs/pkgs/servers/nats-streaming-server/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nginx-sso/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/aerospike/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/arangodb/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/mongodb/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/redis/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.6/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.6/module.nix2
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/cross-build.patch2
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/module.nix16
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--nixpkgs/pkgs/servers/osrm-backend/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/plex/raw.nix4
-rw-r--r--nixpkgs/pkgs/servers/pounce/default.nix48
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/default.nix43
-rw-r--r--nixpkgs/pkgs/servers/quagga/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/rainloop/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch2
-rw-r--r--nixpkgs/pkgs/servers/roundcube/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/routinator/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/samba/3.x.nix99
-rw-r--r--nixpkgs/pkgs/servers/samba/4.x.nix4
-rw-r--r--nixpkgs/pkgs/servers/scylladb/configure-etc-osrelease.patch28
-rw-r--r--nixpkgs/pkgs/servers/scylladb/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix8
-rw-r--r--nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix79
-rw-r--r--nixpkgs/pkgs/servers/search/groonga/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/solr/8.x.nix4
-rw-r--r--nixpkgs/pkgs/servers/shairport-sync/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/shellinabox/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/sip/freeswitch/default.nix60
-rw-r--r--nixpkgs/pkgs/servers/sip/freeswitch/modules.nix11
-rw-r--r--nixpkgs/pkgs/servers/sonarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/cockroachdb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/dolt/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch21
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_1.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix52
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/default.nix177
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/galera/25.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix63
-rw-r--r--nixpkgs/pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix5
-rw-r--r--nixpkgs/pkgs/servers/sql/percona/5.6.x.nix1
-rw-r--r--nixpkgs/pkgs/servers/sql/pgbouncer/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_hll.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_partman.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_repack.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_topn.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pgtap.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix6
-rw-r--r--nixpkgs/pkgs/servers/squid/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/tautulli/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/teleport/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/tmate-ssh-server/default.nix29
-rw-r--r--nixpkgs/pkgs/servers/trezord/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/trickster/trickster.nix27
-rw-r--r--nixpkgs/pkgs/servers/trickster/trickster_deps.nix237
-rw-r--r--nixpkgs/pkgs/servers/tvheadend/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/uhub/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/unifi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/unpfs/default.nix34
-rw-r--r--nixpkgs/pkgs/servers/uwsgi/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/varnish/default.nix34
-rw-r--r--nixpkgs/pkgs/servers/varnish/digest.nix2
-rw-r--r--nixpkgs/pkgs/servers/varnish/dynamic.nix6
-rw-r--r--nixpkgs/pkgs/servers/varnish/geoip.nix31
-rw-r--r--nixpkgs/pkgs/servers/varnish/modules.nix4
-rw-r--r--nixpkgs/pkgs/servers/varnish/packages.nix25
-rw-r--r--nixpkgs/pkgs/servers/varnish/rtstatus.nix21
-rw-r--r--nixpkgs/pkgs/servers/web-apps/codimd/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/web-apps/fileshelter/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/default.nix59
-rw-r--r--nixpkgs/pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/shiori/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/webmetro/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/default.nix48
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/overrides.nix88
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/tarballs.list16
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/xwayland.nix4
-rw-r--r--nixpkgs/pkgs/servers/xandikos/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/zoneminder/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/zookeeper/default.nix5
-rw-r--r--nixpkgs/pkgs/shells/bash/4.4.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/5.0.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch86
-rw-r--r--nixpkgs/pkgs/shells/bash/bash-completion/default.nix47
-rw-r--r--nixpkgs/pkgs/shells/ion/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/ksh/default.nix18
-rw-r--r--nixpkgs/pkgs/shells/mrsh/default.nix24
-rw-r--r--nixpkgs/pkgs/shells/nushell/default.nix52
-rw-r--r--nixpkgs/pkgs/shells/oh/default.nix8
-rw-r--r--nixpkgs/pkgs/shells/oil/default.nix17
-rw-r--r--nixpkgs/pkgs/shells/powershell/default.nix12
-rw-r--r--nixpkgs/pkgs/shells/xonsh/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/antibody/default.nix8
-rw-r--r--nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix37
-rw-r--r--nixpkgs/pkgs/shells/zsh/gradle-completion/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix8
-rwxr-xr-xnixpkgs/pkgs/shells/zsh/oh-my-zsh/update.sh6
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix30
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-history/default.nix36
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix39
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/gitstatusd.patch14
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix4
-rw-r--r--nixpkgs/pkgs/stdenv/booter.nix13
-rw-r--r--nixpkgs/pkgs/stdenv/cross/default.nix8
-rw-r--r--nixpkgs/pkgs/stdenv/cygwin/rebase-i686.sh2
-rw-r--r--nixpkgs/pkgs/stdenv/cygwin/rebase-x86_64.sh2
-rw-r--r--nixpkgs/pkgs/stdenv/generic/check-meta.nix8
-rw-r--r--nixpkgs/pkgs/stdenv/generic/default.nix16
-rw-r--r--nixpkgs/pkgs/stdenv/generic/setup.sh133
-rw-r--r--nixpkgs/pkgs/stdenv/linux/make-bootstrap-tools.nix29
-rw-r--r--nixpkgs/pkgs/test/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/dragon-drop/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/hsetroot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/imwheel/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/oblogout/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch66
-rw-r--r--nixpkgs/pkgs/tools/X11/screen-message/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/setroot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/srandrd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/winswitch/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/x11spice/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/X11/xbrightness/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xcwd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-utils/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/X11/xdotool/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xidlehook/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/X11/xnee/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xob/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xsecurelock/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/X11/xzoom/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/ansible/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/aws_shell/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/admin/awslogs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/awsweeper/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/default.nix250
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix287
-rw-r--r--nixpkgs/pkgs/tools/admin/berglas/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/admin/boulder/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch60
-rw-r--r--nixpkgs/pkgs/tools/admin/certbot/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/admin/docker-credential-helpers/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/elasticsearch-curator/default.nix (renamed from nixpkgs/pkgs/development/python-modules/elasticsearch-curator/default.nix)56
-rw-r--r--nixpkgs/pkgs/tools/admin/fastlane/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/admin/fbvnc/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/admin/mycli/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/mycli/fix-tests.patch446
-rw-r--r--nixpkgs/pkgs/tools/admin/oxidized/Gemfile.lock2
-rw-r--r--nixpkgs/pkgs/tools/admin/oxidized/gemset.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/pebble/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/admin/procs/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix51
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/update.sh55
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/simp_le/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/swiftclient/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/tigervnc/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch18
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch19
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch16
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch14
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/archivers/afio/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch29
-rw-r--r--nixpkgs/pkgs/tools/archivers/cpio/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/archivers/innoextract/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/archivers/sharutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/snzip/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/archivers/undmg/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/unzip/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/archivers/xarchiver/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/zip/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch17
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/check-plugin.nix35
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/audio/bpm-tools/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/audio/gvolicon/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/mpdris2/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/audio/trx/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/audio/video2midi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/volctl/default.nix58
-rw-r--r--nixpkgs/pkgs/tools/backup/bareos/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/backup/btrbk/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/backup/bup/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/dar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicati/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicity/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/backup/hpe-ltfs/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/backup/lvmsync/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/backup/mydumper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/pyznap/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/backup/restic/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/rsnapshot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/s3ql/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/stenc/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/backup/wal-g/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/backup/zfsbackup/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix273
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueman/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix (renamed from nixpkgs/pkgs/applications/misc/cdrtools/default.nix)18
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch13
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch93
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch13
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/compression/advancecomp/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/compression/brotli/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/compression/gzrt/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/compression/lbzip2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/lz4/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/compression/pbzip2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch13
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bees/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/blobfuse/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/cryfs/default.nix82
-rw-r--r--nixpkgs/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch34
-rw-r--r--nixpkgs/pkgs/tools/filesystems/cryfs/test-no-network.patch24
-rw-r--r--nixpkgs/pkgs/tools/filesystems/davfs2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/dislocker/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/filesystems/duff/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/filesystems/f2fs-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch30
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fatresize/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fusesmb/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/go.mod.patch28
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/go.sum.patch38
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gitfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gocryptfs/deps.nix21
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gocryptfs/fix-unix2syscall_darwin.go-build-failure.patch14
-rw-r--r--nixpkgs/pkgs/tools/filesystems/grive2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/irods/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/filesystems/lizardfs/remove-download-external.patch25
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/moosefs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/orangefs/default.nix61
-rw-r--r--nixpkgs/pkgs/tools/filesystems/reiser4progs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/s3backer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch103
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/graphics/appleseed/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/graphics/argyllcms/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/asymptote/default.nix100
-rw-r--r--nixpkgs/pkgs/tools/graphics/dcraw/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/graphics/dpic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/enblend-enfuse/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/facedetect/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/fim/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/gifsicle/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/graphics/gifski/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/glee/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/gmic/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/graphics/gnuplot/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/base.nix12
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/ifm/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/graphics/jhead/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/graphics/jpegexiforient/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/graphics/kst/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/logstalgia/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/luxcorerender/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/maim/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/nifskope/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/graphics/nifskope/no-sse-on-arm.patch19
-rw-r--r--nixpkgs/pkgs/tools/graphics/oxipng/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/graphics/pfstools/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/graphics/pfstools/pfsalign.patch12
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngcheck/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/povray/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/quirc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/scrot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/shotgun/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/graphics/svgbob/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/vips/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/wallutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch29
-rw-r--r--nixpkgs/pkgs/tools/graphics/wdisplays/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/graphics/zbar/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/evdevremapkeys/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix8
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx/unwrapped.nix28
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fusuma/Gemfile.lock4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fusuma/gemset.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/gebaar-libinput/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix59
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch13
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus/default.nix145
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus/fix-paths.patch2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/libinput-gestures/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/3llo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/arp-scan/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/automirror/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bandwidth/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bash_unit/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/bat/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2psf/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/bepasty/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/bibtool/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/birdfont/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bonfire/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/byobu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/calamares/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/deps.nix507
-rw-r--r--nixpkgs/pkgs/tools/misc/ckb-next/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/ckb-next/install-dirs.patch37
-rw-r--r--nixpkgs/pkgs/tools/misc/ckb-next/modprobe.patch36
-rw-r--r--nixpkgs/pkgs/tools/misc/ckb-next/systemd-service.patch45
-rw-r--r--nixpkgs/pkgs/tools/misc/clac/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/clipman/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/cloc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cloud-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/colord-gtk/default.nix59
-rw-r--r--nixpkgs/pkgs/tools/misc/colord/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/cpulimit/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/crudini/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/misc/cutecom/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/debianutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/desktop-file-utils/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/dua/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/dust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/dylibbundler/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/ent/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/entr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/etcher/default.nix94
-rw-r--r--nixpkgs/pkgs/tools/misc/ethminer/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch589
-rw-r--r--nixpkgs/pkgs/tools/misc/eva/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/exa/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/execline/default.nix111
-rw-r--r--nixpkgs/pkgs/tools/misc/execline/execlineb-wrapper.c43
-rw-r--r--nixpkgs/pkgs/tools/misc/fdupes/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/file/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/fondu/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/fontforge/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/fpp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fselect/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/fwup/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fzf/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/fzy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/gawp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/geekbench/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/getopt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/gotify-cli/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/gparted/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hashit/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/hebcal/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/heimdall/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/hexyl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock14
-rw-r--r--nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/hyperfine/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/kisslicer/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/latex2html/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/lazydocker/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ldmtool/default.nix75
-rw-r--r--nixpkgs/pkgs/tools/misc/lf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/licensor/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/lnav/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/logstash/7.x.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/lorri/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/misc/lorri/runtime-closure.nix.template37
-rw-r--r--nixpkgs/pkgs/tools/misc/lorri/runtime.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/man-db/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/marlin-calc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mbuffer/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/memtest86+/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/misc/miniserve/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/mktorrent/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/moreutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mtm/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/multitail/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/multitime/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/misc/mysqltuner/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/noti/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ocz-ssd-guru/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/onefetch/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/ostree/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/pal/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/paps/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/parcellite/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/parted/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch34
-rw-r--r--nixpkgs/pkgs/tools/misc/partition-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/patdiff/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pazi/cargo-lock.patch13
-rw-r--r--nixpkgs/pkgs/tools/misc/pazi/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/peruse/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/pfetch/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/pg_flame/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/pgcenter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pgmetrics/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pipelight/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/pkgdiff/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ponysay/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/powerline-go/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pspg/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/pws/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/qjoypad/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/qt5ct/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/rename/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/reredirect/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/rlwrap/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/rmlint/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/routino/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/scfbuild/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/scfbuild/python-3.patch46
-rw-r--r--nixpkgs/pkgs/tools/misc/screen/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/screenfetch/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/shadowenv/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/skim/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/slop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/snapper/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/snore/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/system-config-printer/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/misc/tealdeer/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/teleconsole/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tensorman/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/termplay/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/termtosvg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/testdisk/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/timidity/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tio/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tmate/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tmpwatch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/topgrade/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/toybox/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/trac/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/misc/trash-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ttfautohint/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tty-clock/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/ttygif/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/txr/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/ultrastar-creator/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ultrastar-manager/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/units/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/misc/venus/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/vimpager/build.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/vivid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vmtouch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/wacomtablet/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/wagyu/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/watchexec/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/websocat/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/wl-clipboard/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/wlr-randr/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/wob/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/woeusb/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/woeusb/remove-workaround.patch82
-rw-r--r--nixpkgs/pkgs/tools/misc/wyrd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/xdo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/xilinx-bootgen/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/misc/xprite-editor/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/misc/xsel/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/yad/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/you-get/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/z-lua/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/6tunnel/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/networking/acme-client/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/airfield/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/altermime/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/argus/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/aria2/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/atinout/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/networking/axel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/babeld/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/bandwhich/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpdump/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/boringtun/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/bwm-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/cadaver/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch26
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch13
-rw-r--r--nixpkgs/pkgs/tools/networking/circus/default.nix (renamed from nixpkgs/pkgs/development/python-modules/circus/default.nix)14
-rw-r--r--nixpkgs/pkgs/tools/networking/cjdns/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/clash/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/networking/connman/connman-notify/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/networking/connman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/corerad/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/curl/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/curlie/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/davix/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcp/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpcd/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsmasq/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/networking/eggdrop/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/envoy/default.nix303
-rw-r--r--nixpkgs/pkgs/tools/networking/envoy/nixos.patch41
-rw-r--r--nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/ferm/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/findomain/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/networking/flannel/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/frp/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/gandi-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/getmail/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix76
-rw-r--r--nixpkgs/pkgs/tools/networking/gnirehtet/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/go-shadowsocks2/deps.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/networking/htpdate/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/http-prompt/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/iodine/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/iperf/3.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ipv6calc/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/networking/kea/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/keepalived/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/lftp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch36
-rw-r--r--nixpkgs/pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/logmein-hamachi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mailutils/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch16
-rw-r--r--nixpkgs/pkgs/tools/networking/maphosts/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/maxscale/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/mcrcon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/miniupnpc/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/mitmproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mmsd/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/networking/modem-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/mtr/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/mu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/nbd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/nebula/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/applet.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/fix-install-paths.patch8
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/fix-paths.patch50
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/fortisslvpn/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/iodine/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/openvpn/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/strongswan.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/vpnc/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/nfstrace/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-2/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-2/versions.json30
-rw-r--r--nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ocserv/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/offlineimap/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openconnect/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openresolv/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix34
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/amule/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/packetdrill/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/phodav/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/pirate-get/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/pmacct/default.nix62
-rw-r--r--nixpkgs/pkgs/tools/networking/ppp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/prettyping/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/radsecproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ratools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/s6-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/s6-networking/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowfox/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/shorewall/default.nix130
-rw-r--r--nixpkgs/pkgs/tools/networking/slirp4netns/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/smokeping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/snabb/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/sshoogr/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/networking/sshping/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/sslsplit/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/ssmtp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/strongswan/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/subfinder/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/subfinder/deps.nix145
-rw-r--r--nixpkgs/pkgs/tools/networking/surfraw/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/swaks/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpdump/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/tdns-cli/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/networking/tracebox/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/traceroute/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/twa/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/uget/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/python.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/uwimap/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/generic.nix50
-rwxr-xr-xnixpkgs/pkgs/tools/networking/v2ray/update.sh53
-rw-r--r--nixpkgs/pkgs/tools/networking/vde2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/weighttp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/whois/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/wifite2/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch26
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix43
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/wrk/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/wstunnel/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/networking/xl2tpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/change-runtime-dir.patch12
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/zerotierone/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/apt/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-deps/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch368
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-license/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch1283
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix11
-rwxr-xr-xnixpkgs/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh18
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-release/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-tree/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/clib/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/emplace/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/librepo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/nfpm/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-du/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-index/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-serve/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix (renamed from nixpkgs/pkgs/tools/package-management/nix-review/default.nix)10
-rw-r--r--nixpkgs/pkgs/tools/package-management/nox/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/packagekit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/pacman/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/reuse/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/package-management/xbps/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/aespipe/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/afl/README.md4
-rw-r--r--nixpkgs/pkgs/tools/security/afl/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/afl/libdislocator.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch28
-rw-r--r--nixpkgs/pkgs/tools/security/afl/qemu.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/age/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/security/aws-okta/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/bettercap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bettercap/deps.nix398
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden-cli/default.nix18
-rwxr-xr-xnixpkgs/pkgs/tools/security/bitwarden-cli/generate.sh8
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix1407
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.json3
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bruteforce-luks/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/chaps/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/security/clamav/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/crunch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/diceware/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/duo-unix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/efitools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/enchive/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/enpass/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/fail2ban/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/security/fierce/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/fprintd/default.nix61
-rw-r--r--nixpkgs/pkgs/tools/security/fwknop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/gnome-keysign/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/20.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/22.nix27
-rw-r--r--nixpkgs/pkgs/tools/security/gobuster/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/gpgstats/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/haka/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ibm-sw-tpm2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ipscan/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/security/jd-gui/default.nix50
-rw-r--r--nixpkgs/pkgs/tools/security/john/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/fix-paths-keybase.patch16
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/gui.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/keycard-cli/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/kwalletcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/mbox/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/meo/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/monkeysphere/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/nitrokey-app/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/notary/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/nsjail/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/nwipe/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/opensc/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/ossec/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pass/clip-wayland-support.patch113
-rw-r--r--nixpkgs/pkgs/tools/security/pass/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/checkup.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/import.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/pbis/default.nix70
-rw-r--r--nixpkgs/pkgs/tools/security/pcsclite/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/pcsctools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pdfcrack/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/phrasendrescher/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry/default.nix105
-rw-r--r--nixpkgs/pkgs/tools/security/pius/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/proxmark3/default.nix78
-rw-r--r--nixpkgs/pkgs/tools/security/rarcrack/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/rhash/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/ripasso/cursive.nix23
-rw-r--r--nixpkgs/pkgs/tools/security/rng-tools/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/security/scrypt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/sequoia/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/sops/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/deps.nix291
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/deps.nix453
-rw-r--r--nixpkgs/pkgs/tools/security/stoken/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/sudo/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/super/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/tboot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/thc-hydra/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/theharvester/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/tpm-quote-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/tpm2-tools/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/security/trousers/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/verifpal/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/vulnix/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock46
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/gemset.nix82
-rw-r--r--nixpkgs/pkgs/tools/security/yara/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/augeas/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/bfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/bootchart/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/system/clinfo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/collectd/default.nix63
-rw-r--r--nixpkgs/pkgs/tools/system/collectd/plugins.nix347
-rw-r--r--nixpkgs/pkgs/tools/system/ctop/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/daemon/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/di/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/system/efivar/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/facter/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/system/fakeroot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/fcron/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/fio/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/gdmap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/hardinfo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/hwinfo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/inxi/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/ioping/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/system/logcheck/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/logrotate/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/lr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/minijail/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch98
-rw-r--r--nixpkgs/pkgs/tools/system/nq/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/opencl-info/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch41
-rw-r--r--nixpkgs/pkgs/tools/system/osquery/default.nix149
-rw-r--r--nixpkgs/pkgs/tools/system/pciutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/plan9port/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/proot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/ps_mem/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/rowhammer-test/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/rsyslog/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/s6/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/setserial/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/system/testdisk/default.nix (renamed from nixpkgs/pkgs/tools/system/testdisk-photorec/default.nix)51
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/system/thinkfan/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/system/tre-command/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/system/uefitool/common.nix39
-rw-r--r--nixpkgs/pkgs/tools/system/uefitool/variants.nix15
-rw-r--r--nixpkgs/pkgs/tools/system/uptimed/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/vboot_reference/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/system/which/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/xe/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/yeshup/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/amber/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/ansifilter/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/text/boxes/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/text/catdoc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/coloursum/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/text/diffr/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/text/diffstat/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/discount/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/dos2unix/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/gawk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/gawk/gawk-with-extensions.nix12
-rw-r--r--nixpkgs/pkgs/tools/text/gawk/gawkextlib.nix149
-rw-r--r--nixpkgs/pkgs/tools/text/gawk/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638-and-CVE-2018-20969.patch (renamed from nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638.patch)0
-rw-r--r--nixpkgs/pkgs/tools/text/gnupatch/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/grip-search/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch46
-rw-r--r--nixpkgs/pkgs/tools/text/groff/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/text/groff/look-for-ar.patch39
-rw-r--r--nixpkgs/pkgs/tools/text/groff/mdate-determinism.patch13
-rw-r--r--nixpkgs/pkgs/tools/text/gtranslator/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/highlight/default.nix110
-rw-r--r--nixpkgs/pkgs/tools/text/icdiff/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/kytea/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/languagetool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/link-grammar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/lv/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/text/mawk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdcat/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/text/multitran/libmtquery/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/numdiff/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/ocrmypdf/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/text/papertrail/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/par/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/text/poedit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/qgrep/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/text/reckon/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/text/recode/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/text/replace/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/ripgrep-all/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/text/ripgrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ruplacer/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/text/sgml/jade/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/tools/text/smu/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/text/snippetpixie/default.nix89
-rw-r--r--nixpkgs/pkgs/tools/text/source-highlight/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/tab/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/text/transifex-client/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/text/untex/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/wgetpaste/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/xml/sablotron/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/text/xurls/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/zimreader/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/typesetting/biber/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/typesetting/fop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/hevea/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pygmentex/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tectonic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/pplatex/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/UPGRADING.md2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix163
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix7
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch16
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix5323
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix18539
-rw-r--r--nixpkgs/pkgs/tools/typesetting/xml2rfc/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/video/bento4/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/video/mjpegtools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/video/rav1e/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/video/vncrec/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/video/yamdi/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/wayland/ydotool/default.nix33
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix92
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix2598
-rw-r--r--nixpkgs/pkgs/top-level/coq-packages.nix7
-rw-r--r--nixpkgs/pkgs/top-level/dotnet-packages.nix1
-rw-r--r--nixpkgs/pkgs/top-level/emacs-packages.nix2
-rw-r--r--nixpkgs/pkgs/top-level/emscripten-packages.nix7
-rw-r--r--nixpkgs/pkgs/top-level/haskell-packages.nix35
-rw-r--r--nixpkgs/pkgs/top-level/lua-packages.nix35
-rw-r--r--nixpkgs/pkgs/top-level/ocaml-packages.nix141
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix2019
-rw-r--r--nixpkgs/pkgs/top-level/php-packages.nix119
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix711
-rw-r--r--nixpkgs/pkgs/top-level/release-cross.nix10
-rw-r--r--nixpkgs/pkgs/top-level/release.nix10
-rw-r--r--nixpkgs/pkgs/top-level/ruby-packages.nix11
-rw-r--r--nixpkgs/pkgs/top-level/stage.nix2
-rw-r--r--nixpkgs/pkgs/top-level/static.nix112
-rw-r--r--nixpkgs/pkgs/top-level/wine-packages.nix2
8134 files changed, 233439 insertions, 156238 deletions
diff --git a/modules/ssh/default.nix b/modules/ssh/default.nix
index 816992945ed2..8c978f9c7909 100644
--- a/modules/ssh/default.nix
+++ b/modules/ssh/default.nix
@@ -26,16 +26,15 @@ in
 
   users.users.root.openssh.authorizedKeys.keyFiles = [ ./keys/qyliss.keys ];
 
-  programs.ssh.knownHosts = [
-    {
-      hostNames = [ "github.com" ];
+  programs.ssh.knownHosts = {
+    "github.com" = {
       publicKeyFile = ./keys/github.keys;
-    }
+    };
 
-    {
+    "edef" = {
       certAuthority = true;
       hostNames = [ "edef.eu" "*.edef.eu" ];
       publicKeyFile = ./keys/edef.keys;
-    }
-  ];
+    };
+  };
 }
diff --git a/modules/workstation/hardware/keyboard/default.nix b/modules/workstation/hardware/keyboard/default.nix
index d2b13640277c..092854d535b4 100644
--- a/modules/workstation/hardware/keyboard/default.nix
+++ b/modules/workstation/hardware/keyboard/default.nix
@@ -5,7 +5,7 @@ let
 
 in
 {
-  i18n.consoleUseXkbConfig = true;
+  console.useXkbConfig = true;
   services.xserver.layout = "dvorak";
   services.xserver.xkbOptions = "ctrl:nocaps,compose:menu";
 
diff --git a/nixpkgs-overlays/patches/bemenu/default.nix b/nixpkgs-overlays/patches/bemenu/default.nix
deleted file mode 100644
index 4de73a856048..000000000000
--- a/nixpkgs-overlays/patches/bemenu/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ bemenu, fetchpatch }:
-
-bemenu.overrideAttrs ({ patches ? [], ... }: {
-  patches = patches ++ [
-    (fetchpatch {
-      url = https://github.com/Cloudef/bemenu/commit/ab82afab7f8da81fbd6445a0b65fb70ecba898b8.patch;
-      sha256 = "0nn0jb33aq893ql8lgmajma9a5fjhz68c4aqjrgawz6lljxlbafg";
-    })
-    (fetchpatch {
-      url = https://github.com/Cloudef/bemenu/commit/330a340a72e9909bfbae4bfa51a8502f9c66ddc1.patch;
-      sha256 = "0iyd8c0l3g7f49p0vz493f8rzzvj5fdbqv13lzvnn77bfv0bpd4v";
-    })
-    (fetchpatch {
-      url = https://github.com/hexd0t/bemenu/commit/c7ceb253ed88be40c83a0d7c5772945119c294fa.patch;
-      sha256 = "0rc27n5shclaki578s0vwwgr9d2xkyljak75hc24adkg4zj1vly8";
-    })
-  ];
-})
diff --git a/nixpkgs-overlays/patches/default.nix b/nixpkgs-overlays/patches/default.nix
index 9c8749ea7c6a..ee0dcc7e2b59 100644
--- a/nixpkgs-overlays/patches/default.nix
+++ b/nixpkgs-overlays/patches/default.nix
@@ -1,6 +1,4 @@
 self: super: {
-  bemenu = self.callPackage ./bemenu { inherit (super) bemenu; };
-
   dino = self.callPackage ./dino { inherit (super) dino; };
 
   direnv = self.callPackage ./direnv { inherit (super) direnv; };
@@ -9,7 +7,5 @@ self: super: {
     inherit (super) firefoxPackages;
   };
 
-  neomutt = self.callPackage ./neomutt { inherit (super) neomutt; };
-
   tmux = self.callPackage ./tmux { inherit (super) tmux; };
 }
diff --git a/nixpkgs-overlays/patches/neomutt/1388.patch b/nixpkgs-overlays/patches/neomutt/1388.patch
deleted file mode 100644
index 581c4e2b4af9..000000000000
--- a/nixpkgs-overlays/patches/neomutt/1388.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From aaee4ae3272416ad0d66a4984f3398552df13cef Mon Sep 17 00:00:00 2001
-From: Alyssa Ross <hi@alyssa.is>
-Date: Sun, 4 Nov 2018 17:01:05 +0000
-Subject: [PATCH] Work around mutt_expando_format buffer overflow
-
-This doesn't actually fix the overflow, but at least makes it less
-likely to be encountered.
-
-See https://github.com/neomutt/neomutt/issues/1388.
----
- muttlib.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/muttlib.c b/muttlib.c
-index 431d759b9..1498c5a45 100644
---- a/muttlib.c
-+++ b/muttlib.c
-@@ -773,7 +773,7 @@ void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const c
-   FILE *filter = NULL;
-   char *recycler = NULL;
- 
--  char src2[STRING];
-+  char src2[LONG_STRING];
-   mutt_str_strfcpy(src2, src, mutt_str_strlen(src) + 1);
-   src = src2;
- 
--- 
-2.19.1
-
diff --git a/nixpkgs-overlays/patches/neomutt/default.nix b/nixpkgs-overlays/patches/neomutt/default.nix
deleted file mode 100644
index f62ba785a182..000000000000
--- a/nixpkgs-overlays/patches/neomutt/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ neomutt }:
-
-neomutt.overrideAttrs (oldAttrs: {
-  patches = (oldAttrs.patches or []) ++ [ ./1388.patch ];
-})
diff --git a/nixpkgs-overlays/patches/tmux/0001-Add-function-for-querying-location-of-configure-file.patch b/nixpkgs-overlays/patches/tmux/0001-Add-function-for-querying-location-of-configure-file.patch
new file mode 100644
index 000000000000..7b65f4507b4f
--- /dev/null
+++ b/nixpkgs-overlays/patches/tmux/0001-Add-function-for-querying-location-of-configure-file.patch
@@ -0,0 +1,64 @@
+From b3671b4779ec432f76e42743fa5130844d2829a3 Mon Sep 17 00:00:00 2001
+From: fekir <federico.kircheis@gmail.com>
+Date: Tue, 31 Oct 2017 14:33:14 +0100
+Subject: [PATCH 1/2] Add function for querying location of configure files
+
+---
+ tmux.c | 28 ++++++++++++++++++++++++++++
+ tmux.h |  1 +
+ 2 files changed, 29 insertions(+)
+
+diff --git a/tmux.c b/tmux.c
+index f9de920c..e30c8b1e 100644
+--- a/tmux.c
++++ b/tmux.c
+@@ -208,6 +208,34 @@ find_home(void)
+ 	return (home);
+ }
+ 
++const char *
++find_config_dir(const char* home)
++{
++	const char default_dir_rel_to_home[] = "/.config";
++	static char	*config_dir;
++
++	if (config_dir != NULL){
++		return (config_dir);
++	}
++
++	config_dir = getenv("XDG_CONFIG_HOME");
++	if (config_dir != NULL && *config_dir != '\0') {
++		return config_dir;
++	}
++
++	// fallback to default location
++	if(home == NULL){
++		return NULL;
++	}
++
++	config_dir = malloc(strlen(home)+ strlen(default_dir_rel_to_home) + 1);
++	if(config_dir != NULL){
++		strcpy( config_dir, home ) ;
++		strcat( config_dir, default_dir_rel_to_home ) ;
++	}
++	return config_dir;
++}
++
+ int
+ main(int argc, char **argv)
+ {
+diff --git a/tmux.h b/tmux.h
+index 9bf9f933..9d59bf84 100644
+--- a/tmux.h
++++ b/tmux.h
+@@ -1697,6 +1697,7 @@ int		 areshell(const char *);
+ void		 setblocking(int, int);
+ const char	*find_cwd(void);
+ const char	*find_home(void);
++const char	*find_config_dir(const char* home);
+ 
+ /* proc.c */
+ struct imsg;
+-- 
+2.23.0
+
diff --git a/nixpkgs-overlays/patches/tmux/0002-Load-tmux.conf-from-if-there-was-no-file-in-home-df0.patch b/nixpkgs-overlays/patches/tmux/0002-Load-tmux.conf-from-if-there-was-no-file-in-home-df0.patch
new file mode 100644
index 000000000000..bd2c1c55a7b4
--- /dev/null
+++ b/nixpkgs-overlays/patches/tmux/0002-Load-tmux.conf-from-if-there-was-no-file-in-home-df0.patch
@@ -0,0 +1,45 @@
+From 0829e4239a63cbbe649e685d0c85abeccc16f7ab Mon Sep 17 00:00:00 2001
+From: fekir <federico.kircheis@gmail.com>
+Date: Tue, 31 Oct 2017 14:35:05 +0100
+Subject: [PATCH 2/2] Load tmux.conf from  if there was no file in /home/df0
+
+---
+ cfg.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/cfg.c b/cfg.c
+index c29292b2..ac1b1218 100644
+--- a/cfg.c
++++ b/cfg.c
+@@ -69,7 +69,8 @@ set_cfg_file(const char *path)
+ void
+ start_cfg(void)
+ {
+-	const char	*home;
++	const char	*home = NULL;
++	const char	*config_dir;
+ 	int		 flags = 0;
+ 	struct client	*c;
+ 
+@@ -96,8 +97,17 @@ start_cfg(void)
+ 		xasprintf(&cfg_file, "%s/.tmux.conf", home);
+ 		flags = CMD_PARSE_QUIET;
+ 	}
+-	if (cfg_file != NULL)
++	if (cfg_file == NULL || load_cfg(cfg_file, c, NULL, flags, NULL) <= 0){
++		cfg_file = NULL;
++	}
++
++	if (cfg_file == NULL && (config_dir = find_config_dir(home)) != NULL) {
++		xasprintf(&cfg_file, "%s/tmux.conf", config_dir);
++		flags = CMD_PARSE_QUIET;
++	}
++	if (cfg_file != NULL){
+ 		load_cfg(cfg_file, c, NULL, flags, NULL);
++	}
+ 
+ 	cmdq_append(NULL, cmdq_get_callback(cfg_done, NULL));
+ }
+-- 
+2.23.0
+
diff --git a/nixpkgs-overlays/patches/tmux/default.nix b/nixpkgs-overlays/patches/tmux/default.nix
index 54ad974cef3c..fea9db02c6eb 100644
--- a/nixpkgs-overlays/patches/tmux/default.nix
+++ b/nixpkgs-overlays/patches/tmux/default.nix
@@ -1,10 +1,8 @@
-{ fetchpatch, tmux }:
+{ tmux }:
 
 tmux.overrideAttrs ({ patches ? [], ... }: {
   patches = patches ++ [
-    (fetchpatch {
-      url = https://github.com/tmux/tmux/pull/1144.patch;
-      sha256 = "0zg1q2n23vfiiwi5l54k8kn7k2p1xdh11cw7pyzjl44jpqzqwvaq";
-    })
+    ./0001-Add-function-for-querying-location-of-configure-file.patch
+    ./0002-Load-tmux.conf-from-if-there-was-no-file-in-home-df0.patch    
   ];
 })
diff --git a/nixpkgs/.github/CODEOWNERS b/nixpkgs/.github/CODEOWNERS
index 62971ba2c726..0c06c59f3780 100644
--- a/nixpkgs/.github/CODEOWNERS
+++ b/nixpkgs/.github/CODEOWNERS
@@ -11,7 +11,7 @@
 /.github/CODEOWNERS @edolstra
 
 # Libraries
-/lib                        @edolstra @nbp
+/lib                        @edolstra @nbp @infinisil
 /lib/systems                @nbp @ericson2314 @matthewbauer
 /lib/generators.nix         @edolstra @nbp @Profpatsch
 /lib/debug.nix              @edolstra @nbp @Profpatsch
@@ -30,9 +30,9 @@
 /pkgs/build-support/setup-hooks       @Ericson2314
 
 # NixOS Internals
-/nixos/default.nix          @nbp
-/nixos/lib/from-env.nix     @nbp
-/nixos/lib/eval-config.nix  @nbp
+/nixos/default.nix          @nbp @infinisil
+/nixos/lib/from-env.nix     @nbp @infinisil
+/nixos/lib/eval-config.nix  @nbp @infinisil
 /nixos/doc/manual/configuration/abstractions.xml      @nbp
 /nixos/doc/manual/configuration/config-file.xml       @nbp
 /nixos/doc/manual/configuration/config-syntax.xml     @nbp
@@ -47,19 +47,22 @@
 /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
 
 # Python-related code and docs
 /maintainers/scripts/update-python-libraries	@FRidh
-/pkgs/top-level/python-packages.nix     @FRidh
+/pkgs/top-level/python-packages.nix     @FRidh @jonringer
 /pkgs/development/interpreters/python   @FRidh
-/pkgs/development/python-modules        @FRidh
+/pkgs/development/python-modules        @FRidh @jonringer
 /doc/languages-frameworks/python.section.md     @FRidh
 
 # Haskell
 /pkgs/development/compilers/ghc                       @basvandijk @cdepillabout
-/pkgs/development/haskell-modules                     @basvandijk @cdepillabout
+/pkgs/development/haskell-modules                     @basvandijk @cdepillabout @infinisil
 /pkgs/development/haskell-modules/default.nix         @basvandijk @cdepillabout
 /pkgs/development/haskell-modules/generic-builder.nix @basvandijk @cdepillabout
 /pkgs/development/haskell-modules/hoogle.nix          @basvandijk @cdepillabout
@@ -79,6 +82,7 @@
 
 # Rust
 /pkgs/development/compilers/rust @Mic92 @LnL7
+/pkgs/build-support/rust @andir
 
 # Darwin-related
 /pkgs/stdenv/darwin         @NixOS/darwin-maintainers
@@ -157,7 +161,18 @@
 /pkgs/applications/editors/emacs       @adisbladis
 /pkgs/top-level/emacs-packages.nix     @adisbladis
 
+# VimPlugins
+/pkgs/misc/vim-plugins         @jonringer
+
+# VsCode Extensions
+/pkgs/misc/vscode-extensions   @jonringer
+
 # Prometheus exporter modules and tests
 /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/nixpkgs/.github/CONTRIBUTING.md b/nixpkgs/.github/CONTRIBUTING.md
index 07eddc80c253..706952b208db 100644
--- a/nixpkgs/.github/CONTRIBUTING.md
+++ b/nixpkgs/.github/CONTRIBUTING.md
@@ -6,9 +6,8 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 ## Opening issues
 
 * Make sure you have a [GitHub account](https://github.com/signup/free)
-* [Submit an issue](https://github.com/NixOS/nixpkgs/issues) - assuming one does not already exist.
-  * Clearly describe the issue including steps to reproduce when it is a bug.
-  * Include information what version of nixpkgs and Nix are you using (nixos-version or git revision).
+* Make sure there is no open issue on the topic
+* [Submit a new issue](https://github.com/NixOS/nixpkgs/issues/new/choose) by choosing the kind of topic and fill out the template
 
 ## Submitting changes
 
@@ -51,4 +50,4 @@ For package version upgrades and such a one-line commit message is usually suffi
 
 ## Reviewing contributions
 
-See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions).
+See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#chap-reviewing-contributions).
diff --git a/nixpkgs/.github/ISSUE_TEMPLATE.md b/nixpkgs/.github/ISSUE_TEMPLATE.md
index d7463385ae58..1913e321a8c8 100644
--- a/nixpkgs/.github/ISSUE_TEMPLATE.md
+++ b/nixpkgs/.github/ISSUE_TEMPLATE.md
@@ -8,4 +8,4 @@
 
 ## Technical details
 
-Please run `nix run nixpkgs.nix-info -c nix-info -m` and paste the result.
+Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
diff --git a/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md b/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
index 8cc9a80758d3..07c93f84fe0a 100644
--- a/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
@@ -26,7 +26,7 @@ If applicable, add screenshots to help explain your problem.
 Add any other context about the problem here.
 
 **Metadata**
-Please run `nix run nixpkgs.nix-info -c nix-info -m` and paste the result.
+Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
 
 Maintainer information:
 ```yaml
diff --git a/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md b/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
index a4f1c61e8f59..b923902cf929 100644
--- a/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
+++ b/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,4 +1,4 @@
-<!-- Nixpkgs has a lot of new incoming Pull Requests, but not enough people to review this constant stream. Even if you aren't a committer, we would appreciate reviews of other PRs, especially simple ones like package updates. Just testing the relevant package/service and leaving a comment saying what you tested, how you tested it and whether it worked would be great. List of open PRs: <https://github.com/NixOS/nixpkgs/pulls>, for more about reviewing contributions: <https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#sec-reviewing-contributions>. Reviewing isn't mandatory, but it would help out a lot and reduce the average time-to-merge for all of us. Thanks a lot if you do! -->
+<!-- Nixpkgs has a lot of new incoming Pull Requests, but not enough people to review this constant stream. Even if you aren't a committer, we would appreciate reviews of other PRs, especially simple ones like package updates. Just testing the relevant package/service and leaving a comment saying what you tested, how you tested it and whether it worked would be great. List of open PRs: <https://github.com/NixOS/nixpkgs/pulls>, for more about reviewing contributions: <https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#chap-reviewing-contributions>. Reviewing isn't mandatory, but it would help out a lot and reduce the average time-to-merge for all of us. Thanks a lot if you do! -->
 ###### Motivation for this change
 
 
@@ -6,13 +6,13 @@
 
 <!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
 
-- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS)
+- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux)
 - Built on platform(s)
    - [ ] NixOS
    - [ ] macOS
    - [ ] other Linux distributions
 - [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
-- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nix-review --run "nix-review wip"`
+- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review wip"`
 - [ ] Tested execution of all binary files (usually in `./result/bin/`)
 - [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)
 - [ ] Ensured that relevant documentation is up to date
diff --git a/nixpkgs/.github/stale.yml b/nixpkgs/.github/stale.yml
new file mode 100644
index 000000000000..bf47ba3c25b4
--- /dev/null
+++ b/nixpkgs/.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/nixpkgs/README.md b/nixpkgs/README.md
index b34438e41a8f..f5090e023289 100644
--- a/nixpkgs/README.md
+++ b/nixpkgs/README.md
@@ -16,7 +16,7 @@
 
 * [NixOS Manual](https://nixos.org/nixos/manual) - how to install, configure, and maintain a purely-functional Linux distribution
 * [Nixpkgs Manual](https://nixos.org/nixpkgs/manual/) - contributing to Nixpkgs and using programming-language-specific Nix expressions
-* [Nix Package Manager Manual](https://nixos.org/nix/manual) - how to write Nix expresssions (programs), and how to use Nix command line tools
+* [Nix Package Manager Manual](https://nixos.org/nix/manual) - how to write Nix expressions (programs), and how to use Nix command line tools
 
 # Community
 
@@ -27,7 +27,7 @@
 
 # Other Project Repositories
 
-The sources of all offical Nix-related projects are in the [NixOS
+The sources of all official Nix-related projects are in the [NixOS
 organization on GitHub](https://github.com/NixOS/). Here are some of
 the main ones:
 
@@ -44,16 +44,14 @@ Nixpkgs and NixOS are built and tested by our continuous integration
 system, [Hydra](https://hydra.nixos.org/).
 
 * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
-* [Continuous package builds for the NixOS 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
+* [Continuous package builds for the NixOS 19.09 release](https://hydra.nixos.org/jobset/nixos/release-19.09)
 * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
-* [Tests for the NixOS 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
+* [Tests for the NixOS 19.09 release](https://hydra.nixos.org/job/nixos/release-19.09/tested#tabs-constituents)
 
 Artifacts successfully built with Hydra are published to cache at
 https://cache.nixos.org/. When successful build and test criteria are
 met, the Nixpkgs expressions are distributed via [Nix
-channels](https://nixos.org/nix/manual/#sec-channels). The channels
-are provided via a read-only mirror of the Nixpkgs repository called
-[nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels).
+channels](https://nixos.org/nix/manual/#sec-channels).
 
 # Contributing
 
diff --git a/nixpkgs/doc/functions/fetchers.xml b/nixpkgs/doc/builders/fetchers.xml
index 369c1fb153eb..f07c310dcdf1 100644
--- a/nixpkgs/doc/functions/fetchers.xml
+++ b/nixpkgs/doc/builders/fetchers.xml
@@ -1,17 +1,14 @@
-<section xmlns="http://docbook.org/ns/docbook"
+<chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
-         xml:id="sec-pkgs-fetchers">
- <title>Fetcher functions</title>
-
+         xml:id="chap-pkgs-fetchers">
+ <title>Fetchers</title>
  <para>
   When using Nix, you will frequently need to download source code and other files from the internet. Nixpkgs comes with a few helper functions that allow you to fetch fixed-output derivations in a structured way.
  </para>
-
  <para>
   The two fetcher primitives are <function>fetchurl</function> and <function>fetchzip</function>. Both of these have two required arguments, a URL and a hash. The hash is typically <literal>sha256</literal>, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use <literal>sha256</literal>. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
  </para>
-
 <programlisting><![CDATA[
 { stdenv, fetchurl }:
 
@@ -23,19 +20,15 @@ stdenv.mkDerivation {
   };
 }
 ]]></programlisting>
-
  <para>
   The main difference between <function>fetchurl</function> and <function>fetchzip</function> is in how they store the contents. <function>fetchurl</function> will store the unaltered contents of the URL within the Nix store. <function>fetchzip</function> on the other hand will decompress the archive for you, making files and directories directly accessible in the future. <function>fetchzip</function> can only be used with archives. Despite the name, <function>fetchzip</function> is not limited to .zip files and can also be used with any tarball.
  </para>
-
  <para>
   <function>fetchpatch</function> works very similarly to <function>fetchurl</function> with the same arguments expected. It expects patch files as a source and and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
  </para>
-
  <para>
   Other fetcher functions allow you to add source code directly from a VCS such as subversion or git. These are mostly straightforward names based on the name of the command used with the VCS system. Because they give you a working repository, they act most like <function>fetchzip</function>.
  </para>
-
  <variablelist>
   <varlistentry>
    <term>
@@ -88,11 +81,9 @@ stdenv.mkDerivation {
    </listitem>
   </varlistentry>
  </variablelist>
-
  <para>
   A number of fetcher functions wrap part of <function>fetchurl</function> and <function>fetchzip</function>. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
  </para>
-
  <variablelist>
   <varlistentry>
    <term>
@@ -116,6 +107,17 @@ stdenv.mkDerivation {
   </varlistentry>
   <varlistentry>
    <term>
+    <literal>fetchFromGitiles</literal>
+   </term>
+   <listitem>
+    <para>
+     This is used with Gitiles repositories. The arguments expected
+     are similar to fetchgit.
+    </para>
+   </listitem>
+  </varlistentry>
+  <varlistentry>
+   <term>
     <literal>fetchFromBitbucket</literal>
    </term>
    <listitem>
@@ -145,4 +147,4 @@ stdenv.mkDerivation {
    </listitem>
   </varlistentry>
  </variablelist>
-</section>
+</chapter>
diff --git a/nixpkgs/doc/builders/images.xml b/nixpkgs/doc/builders/images.xml
new file mode 100644
index 000000000000..5e042a8ada80
--- /dev/null
+++ b/nixpkgs/doc/builders/images.xml
@@ -0,0 +1,12 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xml:id="chap-images">
+ <title>Images</title>
+ <para>
+  This chapter describes tools for creating various types of images.
+ </para>
+ <xi:include href="images/appimagetools.xml" />
+ <xi:include href="images/dockertools.xml" />
+ <xi:include href="images/ocitools.xml" />
+ <xi:include href="images/snaptools.xml" />
+</chapter>
diff --git a/nixpkgs/doc/functions/appimagetools.xml b/nixpkgs/doc/builders/images/appimagetools.xml
index 37e4251cda2e..37e4251cda2e 100644
--- a/nixpkgs/doc/functions/appimagetools.xml
+++ b/nixpkgs/doc/builders/images/appimagetools.xml
diff --git a/nixpkgs/doc/functions/dockertools.xml b/nixpkgs/doc/builders/images/dockertools.xml
index 2243453c3e97..e7f37fdaaf00 100644
--- a/nixpkgs/doc/functions/dockertools.xml
+++ b/nixpkgs/doc/builders/images/dockertools.xml
@@ -8,12 +8,6 @@
   <varname>pkgs.dockerTools</varname> is a set of functions for creating and manipulating Docker images according to the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120"> Docker Image Specification v1.2.0 </link>. Docker itself is not used to perform any of the operations done by these functions.
  </para>
 
- <warning>
-  <para>
-   The <varname>dockerTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
-  </para>
- </warning>
-
  <section xml:id="ssec-pkgs-dockerTools-buildImage">
   <title>buildImage</title>
 
diff --git a/nixpkgs/doc/functions/ocitools.xml b/nixpkgs/doc/builders/images/ocitools.xml
index f61075b242f8..f61075b242f8 100644
--- a/nixpkgs/doc/functions/ocitools.xml
+++ b/nixpkgs/doc/builders/images/ocitools.xml
diff --git a/nixpkgs/doc/functions/snap/example-firefox.nix b/nixpkgs/doc/builders/images/snap/example-firefox.nix
index d58c98a65a2e..d58c98a65a2e 100644
--- a/nixpkgs/doc/functions/snap/example-firefox.nix
+++ b/nixpkgs/doc/builders/images/snap/example-firefox.nix
diff --git a/nixpkgs/doc/functions/snap/example-hello.nix b/nixpkgs/doc/builders/images/snap/example-hello.nix
index 123da80c5477..123da80c5477 100644
--- a/nixpkgs/doc/functions/snap/example-hello.nix
+++ b/nixpkgs/doc/builders/images/snap/example-hello.nix
diff --git a/nixpkgs/doc/functions/snaptools.xml b/nixpkgs/doc/builders/images/snaptools.xml
index 422fcfa37d88..422fcfa37d88 100644
--- a/nixpkgs/doc/functions/snaptools.xml
+++ b/nixpkgs/doc/builders/images/snaptools.xml
diff --git a/nixpkgs/doc/builders/packages/citrix.xml b/nixpkgs/doc/builders/packages/citrix.xml
new file mode 100644
index 000000000000..c629dc9ee503
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/citrix.xml
@@ -0,0 +1,44 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-citrix">
+ <title>Citrix Workspace</title>
+
+ <para>
+  <note>
+   <para>
+    Please note that the <literal>citrix_receiver</literal> package has been deprecated since its development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link> and has been replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
+   </para>
+  </note>
+  <link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link> are a remote desktop viewers which provide access to <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link> installations.
+ </para>
+
+ <section xml:id="sec-citrix-base">
+  <title>Basic usage</title>
+
+  <para>
+   The tarball archive needs to be downloaded manually as the license agreements of the vendor for <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">Citrix Receiver</link> or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link> need to be accepted first. Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>. With the archive available in the store the package can be built and installed with Nix.
+  </para>
+
+  <warning>
+   <title>Caution with <command>nix-shell</command> installs</title>
+   <para>
+    It's recommended to install <literal>Citrix Receiver</literal> and/or <literal>Citrix Workspace</literal> using <literal>nix-env -i</literal> or globally to ensure that the <literal>.desktop</literal> files are installed properly into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to open <literal>.ica</literal> files automatically from the browser to start a Citrix connection.
+   </para>
+  </warning>
+ </section>
+
+ <section xml:id="sec-citrix-custom-certs">
+  <title>Custom certificates</title>
+
+  <para>
+   The <literal>Citrix Workspace App</literal> in <literal>nixpkgs</literal> trust several certificates <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the Mozilla database</link> by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in <link xlink:href="https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/"><literal>$ICAROOT</literal></link>, however this directory is a store path in <literal>nixpkgs</literal>. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using <literal>symlinkJoin</literal>:
+<programlisting>
+<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
+let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
+citrix_workspace.override {
+  inherit extraCerts;
+}]]>
+</programlisting>
+  </para>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/dlib.xml b/nixpkgs/doc/builders/packages/dlib.xml
new file mode 100644
index 000000000000..5f768dd51b62
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/dlib.xml
@@ -0,0 +1,24 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="dlib">
+ <title>DLib</title>
+
+ <para>
+  <link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which provides several machine learning algorithms.
+ </para>
+
+ <section xml:id="compiling-without-avx-support">
+  <title>Compiling without AVX support</title>
+
+  <para>
+   Especially older CPUs don't support <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link> (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to optimize their algorithms.
+  </para>
+
+  <para>
+   On the affected hardware errors like <literal>Illegal instruction</literal> will occur. In those cases AVX support needs to be disabled:
+<programlisting>self: super: {
+  dlib = super.dlib.override { avxSupport = false; };
+}</programlisting>
+  </para>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/eclipse.xml b/nixpkgs/doc/builders/packages/eclipse.xml
new file mode 100644
index 000000000000..fc5094ed8f36
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/eclipse.xml
@@ -0,0 +1,72 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-eclipse">
+ <title>Eclipse</title>
+
+ <para>
+  The Nix expressions related to the Eclipse platform and IDE are in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
+ </para>
+
+ <para>
+  Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
+<screen>
+<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
+</screen>
+  Once an Eclipse variant is installed it can be run using the <command>eclipse</command> command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
+ </para>
+
+ <para>
+  If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an <emphasis>Eclipse environment</emphasis>. This type of environment is created using the function <varname>eclipseWithPlugins</varname> found inside the <varname>nixpkgs.eclipses</varname> attribute set. This function takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal> where <varname>eclipse</varname> is a one of the Eclipse packages described above, <varname>plugins</varname> is a list of plugin derivations, and <varname>jvmArgs</varname> is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
+<screen>
+packageOverrides = pkgs: {
+  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
+    eclipse = eclipse-platform;
+    jvmArgs = [ "-Xmx2048m" ];
+    plugins = [ plugins.color-theme ];
+  };
+}
+</screen>
+  to your Nixpkgs configuration (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using <varname>eclipseWithPlugins</varname> by running
+<screen>
+<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
+</screen>
+ </para>
+
+ <para>
+  If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the <varname>buildEclipseUpdateSite</varname> and <varname>buildEclipsePlugin</varname> functions found in the <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the <varname>buildEclipseUpdateSite</varname> function to install a plugin distributed as an Eclipse update site. This function takes <literal>{ name, src }</literal> as argument where <literal>src</literal> indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the <varname>buildEclipsePlugin</varname> function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument <literal>{ name, srcFeature, srcPlugin }</literal> where <literal>srcFeature</literal> and <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
+ </para>
+
+ <para>
+  Expanding the previous example with two plugins using the above functions we have
+<screen>
+packageOverrides = pkgs: {
+  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
+    eclipse = eclipse-platform;
+    jvmArgs = [ "-Xmx2048m" ];
+    plugins = [
+      plugins.color-theme
+      (plugins.buildEclipsePlugin {
+        name = "myplugin1-1.0";
+        srcFeature = fetchurl {
+          url = "http://…/features/myplugin1.jar";
+          sha256 = "123…";
+        };
+        srcPlugin = fetchurl {
+          url = "http://…/plugins/myplugin1.jar";
+          sha256 = "123…";
+        };
+      });
+      (plugins.buildEclipseUpdateSite {
+        name = "myplugin2-1.0";
+        src = fetchurl {
+          stripRoot = false;
+          url = "http://…/myplugin2.zip";
+          sha256 = "123…";
+        };
+      });
+    ];
+  };
+}
+</screen>
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/elm.xml b/nixpkgs/doc/builders/packages/elm.xml
new file mode 100644
index 000000000000..a067f6c7c70e
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/elm.xml
@@ -0,0 +1,17 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-elm">
+ <title>Elm</title>
+
+ <para>
+  To start a development environment do <command>nix-shell -p elmPackages.elm elmPackages.elm-format</command>
+ </para>
+
+ <para>
+  To update Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
+ </para>
+
+ <para>
+  To package Elm applications, <link xlink:href="https://github.com/hercules-ci/elm2nix#elm2nix">read about elm2nix</link>.
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/emacs.xml b/nixpkgs/doc/builders/packages/emacs.xml
new file mode 100644
index 000000000000..9cce7c40863a
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/emacs.xml
@@ -0,0 +1,131 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-emacs">
+ <title>Emacs</title>
+
+ <section xml:id="sec-emacs-config">
+  <title>Configuring Emacs</title>
+
+  <para>
+   The Emacs package comes with some extra helpers to make it easier to configure. <varname>emacsWithPackages</varname> allows you to manage packages from ELPA. This means that you will not have to install that packages from within Emacs. For instance, if you wanted to use <literal>company</literal>, <literal>counsel</literal>, <literal>flycheck</literal>, <literal>ivy</literal>, <literal>magit</literal>, <literal>projectile</literal>, and <literal>use-package</literal> you could use this as a <filename>~/.config/nixpkgs/config.nix</filename> override:
+  </para>
+
+<screen>
+{
+  packageOverrides = pkgs: with pkgs; {
+    myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
+      company
+      counsel
+      flycheck
+      ivy
+      magit
+      projectile
+      use-package
+    ]));
+  }
+}
+</screen>
+
+  <para>
+   You can install it like any other packages via <command>nix-env -iA myEmacs</command>. However, this will only install those packages. It will not <literal>configure</literal> them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provide a <filename>default.el</filename> file in <filename>/share/emacs/site-start/</filename>. Emacs knows to load this file automatically when it starts.
+  </para>
+
+<screen>
+{
+  packageOverrides = pkgs: with pkgs; rec {
+    myEmacsConfig = writeText "default.el" ''
+;; initialize package
+
+(require 'package)
+(package-initialize 'noactivate)
+(eval-when-compile
+  (require 'use-package))
+
+;; load some packages
+
+(use-package company
+  :bind ("&lt;C-tab&gt;" . company-complete)
+  :diminish company-mode
+  :commands (company-mode global-company-mode)
+  :defer 1
+  :config
+  (global-company-mode))
+
+(use-package counsel
+  :commands (counsel-descbinds)
+  :bind (([remap execute-extended-command] . counsel-M-x)
+         ("C-x C-f" . counsel-find-file)
+         ("C-c g" . counsel-git)
+         ("C-c j" . counsel-git-grep)
+         ("C-c k" . counsel-ag)
+         ("C-x l" . counsel-locate)
+         ("M-y" . counsel-yank-pop)))
+
+(use-package flycheck
+  :defer 2
+  :config (global-flycheck-mode))
+
+(use-package ivy
+  :defer 1
+  :bind (("C-c C-r" . ivy-resume)
+         ("C-x C-b" . ivy-switch-buffer)
+         :map ivy-minibuffer-map
+         ("C-j" . ivy-call))
+  :diminish ivy-mode
+  :commands ivy-mode
+  :config
+  (ivy-mode 1))
+
+(use-package magit
+  :defer
+  :if (executable-find "git")
+  :bind (("C-x g" . magit-status)
+         ("C-x G" . magit-dispatch-popup))
+  :init
+  (setq magit-completing-read-function 'ivy-completing-read))
+
+(use-package projectile
+  :commands projectile-mode
+  :bind-keymap ("C-c p" . projectile-command-map)
+  :defer 5
+  :config
+  (projectile-global-mode))
+    '';
+    myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
+      (runCommand "default.el" {} ''
+mkdir -p $out/share/emacs/site-lisp
+cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
+'')
+      company
+      counsel
+      flycheck
+      ivy
+      magit
+      projectile
+      use-package
+    ]));
+  };
+}
+</screen>
+
+  <para>
+   This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing <command>-q</command> to the Emacs command.
+  </para>
+
+  <para>
+   Sometimes <varname>emacsWithPackages</varname> is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in <filename>pkgs/top-level/emacs-packages.nix</filename>). But you can't control this priorities when some package is installed as a dependency. You can override it on per-package-basis, providing all the required dependencies manually - but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package you can use <varname>overrideScope'</varname>.
+  </para>
+
+<screen>
+overrides = self: super: rec {
+  haskell-mode = self.melpaPackages.haskell-mode;
+  ...
+};
+((emacsPackagesGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
+  # here both these package will use haskell-mode of our own choice
+  ghc-mod
+  dante
+])
+</screen>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/ibus.xml b/nixpkgs/doc/builders/packages/ibus.xml
new file mode 100644
index 000000000000..2ed37903a273
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/ibus.xml
@@ -0,0 +1,57 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-ibus-typing-booster">
+ <title>ibus-engines.typing-booster</title>
+
+ <para>
+  This package is an ibus-based completion method to speed up typing.
+ </para>
+
+ <section xml:id="sec-ibus-typing-booster-activate">
+  <title>Activating the engine</title>
+
+  <para>
+   IBus needs to be configured accordingly to activate <literal>typing-booster</literal>. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the <link xlink:href="https://mike-fabian.github.io/ibus-typing-booster/documentation.html">upstream docs</link>.
+  </para>
+
+  <para>
+   On NixOS you need to explicitly enable <literal>ibus</literal> with given engines before customizing your desktop to use <literal>typing-booster</literal>. This can be achieved using the <literal>ibus</literal> module:
+<programlisting>{ pkgs, ... }: {
+  i18n.inputMethod = {
+    enabled = "ibus";
+    ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
+  };
+}</programlisting>
+  </para>
+ </section>
+
+ <section xml:id="sec-ibus-typing-booster-customize-hunspell">
+  <title>Using custom hunspell dictionaries</title>
+
+  <para>
+   The IBus engine is based on <literal>hunspell</literal> to support completion in many languages. By default the dictionaries <literal>de-de</literal>, <literal>en-us</literal>, <literal>fr-moderne</literal> <literal>es-es</literal>, <literal>it-it</literal>, <literal>sv-se</literal> and <literal>sv-fi</literal> are in use. To add another dictionary, the package can be overridden like this:
+<programlisting>ibus-engines.typing-booster.override {
+  langs = [ "de-at" "en-gb" ];
+}</programlisting>
+  </para>
+
+  <para>
+   <emphasis>Note: each language passed to <literal>langs</literal> must be an attribute name in <literal>pkgs.hunspellDicts</literal>.</emphasis>
+  </para>
+ </section>
+
+ <section xml:id="sec-ibus-typing-booster-emoji-picker">
+  <title>Built-in emoji picker</title>
+
+  <para>
+   The <literal>ibus-engines.typing-booster</literal> package contains a program named <literal>emoji-picker</literal>. To display all emojis correctly, a special font such as <literal>noto-fonts-emoji</literal> is needed:
+  </para>
+
+  <para>
+   On NixOS it can be installed using the following expression:
+<programlisting>{ pkgs, ... }: {
+  fonts.fonts = with pkgs; [ noto-fonts-emoji ];
+}</programlisting>
+  </para>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/index.xml b/nixpkgs/doc/builders/packages/index.xml
new file mode 100644
index 000000000000..9f3f58a8d903
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/index.xml
@@ -0,0 +1,23 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xml:id="chap-packages">
+ <title>Packages</title>
+ <para>
+  This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
+ </para>
+ <xi:include href="citrix.xml" />
+ <xi:include href="dlib.xml" />
+ <xi:include href="eclipse.xml" />
+ <xi:include href="elm.xml" />
+ <xi:include href="emacs.xml" />
+ <xi:include href="ibus.xml" />
+ <xi:include href="kakoune.xml" />
+ <xi:include href="linux.xml" />
+ <xi:include href="locales.xml" />
+ <xi:include href="nginx.xml" />
+ <xi:include href="opengl.xml" />
+ <xi:include href="shell-helpers.xml" />
+ <xi:include href="steam.xml" />
+ <xi:include href="weechat.xml" />
+ <xi:include href="xorg.xml" />
+</chapter>
diff --git a/nixpkgs/doc/builders/packages/kakoune.xml b/nixpkgs/doc/builders/packages/kakoune.xml
new file mode 100644
index 000000000000..728d40dacc92
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/kakoune.xml
@@ -0,0 +1,14 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-kakoune">
+ <title>Kakoune</title>
+
+ <para>
+  Kakoune can be built to autoload plugins:
+<programlisting>(kakoune.override {
+  configure = {
+    plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
+  };
+})</programlisting>
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/linux.xml b/nixpkgs/doc/builders/packages/linux.xml
new file mode 100644
index 000000000000..72d0e21493b3
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/linux.xml
@@ -0,0 +1,85 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-linux-kernel">
+ <title>Linux kernel</title>
+
+ <para>
+  The Nix expressions to build the Linux kernel are in <link
+xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.
+ </para>
+
+ <para>
+  The function that builds the kernel has an argument <varname>kernelPatches</varname> which should be a list of <literal>{name, patch, extraConfig}</literal> attribute sets, where <varname>name</varname> is the name of the patch (which is included in the kernel’s <varname>meta.description</varname> attribute), <varname>patch</varname> is the patch itself (possibly compressed), and <varname>extraConfig</varname> (optional) is a string specifying extra options to be concatenated to the kernel configuration file (<filename>.config</filename>).
+ </para>
+
+ <para>
+  The kernel derivation exports an attribute <varname>features</varname> specifying whether optional functionality is or isn’t enabled. This is used in NixOS to implement kernel-specific behaviour. For instance, if the kernel has the <varname>iwlwifi</varname> feature (i.e. has built-in support for Intel wireless chipsets), then NixOS doesn’t have to build the external <varname>iwlwifi</varname> package:
+<programlisting>
+modulesTree = [kernel]
+  ++ pkgs.lib.optional (!kernel.features ? iwlwifi) kernelPackages.iwlwifi
+  ++ ...;
+</programlisting>
+ </para>
+
+ <para>
+  How to add a new (major) version of the Linux kernel to Nixpkgs:
+  <orderedlist>
+   <listitem>
+    <para>
+     Copy the old Nix expression (e.g. <filename>linux-2.6.21.nix</filename>) to the new one (e.g. <filename>linux-2.6.22.nix</filename>) and update it.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Add the new kernel to <filename>all-packages.nix</filename> (e.g., create an attribute <varname>kernel_2_6_22</varname>).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Now we’re going to update the kernel configuration. First unpack the kernel. Then for each supported platform (<literal>i686</literal>, <literal>x86_64</literal>, <literal>uml</literal>) do the following:
+     <orderedlist>
+      <listitem>
+       <para>
+        Make an copy from the old config (e.g. <filename>config-2.6.21-i686-smp</filename>) to the new one (e.g. <filename>config-2.6.22-i686-smp</filename>).
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Copy the config file for this platform (e.g. <filename>config-2.6.22-i686-smp</filename>) to <filename>.config</filename> in the kernel source tree.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Run <literal>make oldconfig ARCH=<replaceable>{i386,x86_64,um}</replaceable></literal> and answer all questions. (For the uml configuration, also add <literal>SHELL=bash</literal>.) Make sure to keep the configuration consistent between platforms (i.e. don’t enable some feature on <literal>i686</literal> and disable it on <literal>x86_64</literal>).
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        If needed you can also run <literal>make menuconfig</literal>:
+<screen>
+<prompt>$ </prompt>nix-env -i ncurses
+<prompt>$ </prompt>export NIX_CFLAGS_LINK=-lncurses
+<prompt>$ </prompt>make menuconfig ARCH=<replaceable>arch</replaceable></screen>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Copy <filename>.config</filename> over the new config file (e.g. <filename>config-2.6.22-i686-smp</filename>).
+       </para>
+      </listitem>
+     </orderedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Test building the kernel: <literal>nix-build -A kernel_2_6_22</literal>. If it compiles, ship it! For extra credit, try booting NixOS with it.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the <varname>linuxPackagesFor</varname> function in <filename>all-packages.nix</filename> (such as the NVIDIA drivers, AUFS, etc.). If the updated packages aren’t backwards compatible with older kernels, you may need to keep the older versions around.
+    </para>
+   </listitem>
+  </orderedlist>
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/locales.xml b/nixpkgs/doc/builders/packages/locales.xml
new file mode 100644
index 000000000000..44fdef034e77
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/locales.xml
@@ -0,0 +1,13 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="locales">
+ <title>Locales</title>
+
+ <para>
+  To allow simultaneous use of packages linked against different versions of <literal>glibc</literal> with different locale archive formats Nixpkgs patches <literal>glibc</literal> to rely on <literal>LOCALE_ARCHIVE</literal> environment variable.
+ </para>
+
+ <para>
+  On non-NixOS distributions this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the <literal>LOCALE_ARCHIVE</literal> variable pointing to <literal>${glibcLocales}/lib/locale/locale-archive</literal>. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters <literal>allLocales</literal> and <literal>locales</literal> of the package.
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/nginx.xml b/nixpkgs/doc/builders/packages/nginx.xml
new file mode 100644
index 000000000000..65854ba02366
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/nginx.xml
@@ -0,0 +1,25 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-nginx">
+ <title>Nginx</title>
+
+ <para>
+  <link xlink:href="https://nginx.org/">Nginx</link> is a reverse proxy and lightweight webserver.
+ </para>
+
+ <section xml:id="sec-nginx-etag">
+  <title>ETags on static files served from the Nix store</title>
+
+  <para>
+   HTTP has a couple different mechanisms for caching to prevent clients from having to download the same content repeatedly if a resource has not changed since the last time it was requested. When nginx is used as a server for static files, it implements the caching mechanism based on the <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified"><literal>Last-Modified</literal></link> response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the <literal>Last-Modified</literal> header. This doesn't give the desired behavior when the file is in the Nix store, because all file timestamps are set to 0 (for reasons related to build reproducibility).
+  </para>
+
+  <para>
+   Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag"><literal>ETag</literal></link> response header. The value of the <literal>ETag</literal> header specifies some identifier for the particular content that the server is sending (e.g. a hash). When a client makes a second request for the same resource, it sends that value back in an <literal>If-None-Match</literal> header. If the ETag value is unchanged, then the server does not need to resend the content.
+  </para>
+
+  <para>
+   As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when nginx serves a file out of <filename>/nix/store</filename>, the hash in the store path is used as the <literal>ETag</literal> header in the HTTP response, thus providing proper caching functionality. This happens automatically; you do not need to do modify any configuration to get this behavior.
+  </para>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/opengl.xml b/nixpkgs/doc/builders/packages/opengl.xml
new file mode 100644
index 000000000000..5f4433a28844
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/opengl.xml
@@ -0,0 +1,9 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-opengl">
+ <title>OpenGL</title>
+
+ <para>
+  Packages that use OpenGL have NixOS desktop as their primary target. The current solution for loading the GPU-specific drivers is based on <literal>libglvnd</literal> and looks for the driver implementation in <literal>LD_LIBRARY_PATH</literal>. If you are using a non-NixOS GNU/Linux/X11 desktop with free software video drivers, consider launching OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of <literal>libglvnd</literal> and <literal>mesa_drivers</literal> in <literal>LD_LIBRARY_PATH</literal>. For proprietary video drivers you might have luck with also adding the corresponding video driver package.
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/shell-helpers.xml b/nixpkgs/doc/builders/packages/shell-helpers.xml
new file mode 100644
index 000000000000..cb70d527d67b
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/shell-helpers.xml
@@ -0,0 +1,25 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-shell-helpers">
+ <title>Interactive shell helpers</title>
+
+ <para>
+  Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard share directory location. This is why a bunch <command>PACKAGE-share</command> scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>autojump</literal>: <command>autojump-share</command>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>fzf</literal>: <command>fzf-share</command>
+    </para>
+   </listitem>
+  </itemizedlist>
+  E.g. <literal>autojump</literal> can then used in the .bashrc like this:
+<screen>
+  source "$(autojump-share)/autojump.bash"
+</screen>
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/steam.xml b/nixpkgs/doc/builders/packages/steam.xml
new file mode 100644
index 000000000000..8dfede59ac1b
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/steam.xml
@@ -0,0 +1,131 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-steam">
+ <title>Steam</title>
+
+ <section xml:id="sec-steam-nix">
+  <title>Steam in Nix</title>
+
+  <para>
+   Steam is distributed as a <filename>.deb</filename> file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called <filename>steam</filename> that in Ubuntu (their target distro) would go to <filename>/usr/bin </filename>. When run for the first time, this script copies some files to the user's home, which include another script that is the ultimate responsible for launching the steam binary, which is also in $HOME.
+  </para>
+
+  <para>
+   Nix problems and constraints:
+   <itemizedlist>
+    <listitem>
+     <para>
+      We don't have <filename>/bin/bash</filename> and many scripts point there. Similarly for <filename>/usr/bin/python</filename> .
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      We don't have the dynamic loader in <filename>/lib </filename>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The <filename>steam.sh</filename> script in $HOME can not be patched, as it is checked and rewritten by steam.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The steam binary cannot be patched, it's also checked.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+
+  <para>
+   The current approach to deploy Steam in NixOS is composing a FHS-compatible chroot environment, as documented <link xlink:href="http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html">here</link>. This allows us to have binaries in the expected paths without disrupting the system, and to avoid patching them to work in a non FHS environment.
+  </para>
+ </section>
+
+ <section xml:id="sec-steam-play">
+  <title>How to play</title>
+
+  <para>
+   For 64-bit systems it's important to have
+<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
+   in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
+<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
+   if you are using PulseAudio - this will enable 32bit ALSA apps integration. To use the Steam controller or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro, you need to add
+<programlisting>hardware.steam-hardware.enable = true;</programlisting>
+   to your configuration.
+  </para>
+ </section>
+
+ <section xml:id="sec-steam-troub">
+  <title>Troubleshooting</title>
+
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term>
+      Steam fails to start. What do I do?
+     </term>
+     <listitem>
+      <para>
+       Try to run
+<programlisting>strace steam</programlisting>
+       to see what is causing steam to fail.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>
+      Using the FOSS Radeon or nouveau (nvidia) drivers
+     </term>
+     <listitem>
+      <itemizedlist>
+       <listitem>
+        <para>
+         The <literal>newStdcpp</literal> parameter was removed since NixOS 17.09 and should not be needed anymore.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Steam ships statically linked with a version of libcrypto that conflics with the one dynamically loaded by radeonsi_dri.so. If you get the error
+<programlisting>steam.sh: line 713: 7842 Segmentation fault (core dumped)</programlisting>
+         have a look at <link xlink:href="https://github.com/NixOS/nixpkgs/pull/20269">this pull request</link>.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>
+      Java
+     </term>
+     <listitem>
+      <orderedlist>
+       <listitem>
+        <para>
+         There is no java in steam chrootenv by default. If you get a message like
+<programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
+         You need to add
+<programlisting> steam.override { withJava = true; };</programlisting>
+         to your configuration.
+        </para>
+       </listitem>
+      </orderedlist>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </section>
+
+ <section xml:id="sec-steam-run">
+  <title>steam-run</title>
+
+  <para>
+   The FHS-compatible chroot used for steam can also be used to run other linux games that expect a FHS environment. To do it, add
+<programlisting>pkgs.(steam.override {
+          nativeOnly = true;
+          newStdcpp = true;
+        }).run</programlisting>
+   to your configuration, rebuild, and run the game with
+<programlisting>steam-run ./foo</programlisting>
+  </para>
+ </section>
+</section>
diff --git a/nixpkgs/doc/builders/packages/unfree.xml b/nixpkgs/doc/builders/packages/unfree.xml
new file mode 100644
index 000000000000..3d4f199f8fb0
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/unfree.xml
@@ -0,0 +1,13 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="unfree-software">
+ <title>Unfree software</title>
+
+ <para>
+  All users of Nixpkgs are free software users, and many users (and developers) of Nixpkgs want to limit and tightly control their exposure to unfree software. At the same time, many users need (or want) to run some specific pieces of proprietary software. Nixpkgs includes some expressions for unfree software packages. By default unfree software cannot be installed and doesn’t show up in searches. To allow installing unfree software in a single Nix invocation one can export <literal>NIXPKGS_ALLOW_UNFREE=1</literal>. For a persistent solution, users can set <literal>allowUnfree</literal> in the Nixpkgs configuration.
+ </para>
+
+ <para>
+  Fine-grained control is possible by defining <literal>allowUnfreePredicate</literal> function in config; it takes the <literal>mkDerivation</literal> parameter attrset and returns <literal>true</literal> for unfree packages that should be allowed.
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/weechat.xml b/nixpkgs/doc/builders/packages/weechat.xml
new file mode 100644
index 000000000000..a110d3f491c7
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/weechat.xml
@@ -0,0 +1,85 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-weechat">
+ <title>Weechat</title>
+
+ <para>
+  Weechat can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, install an expression that overrides its configuration such as
+<programlisting>weechat.override {configure = {availablePlugins, ...}: {
+    plugins = with availablePlugins; [ python perl ];
+  }
+}</programlisting>
+  If the <literal>configure</literal> function returns an attrset without the <literal>plugins</literal> attribute, <literal>availablePlugins</literal> will be used automatically.
+ </para>
+
+ <para>
+  The plugins currently available are <literal>python</literal>, <literal>perl</literal>, <literal>ruby</literal>, <literal>guile</literal>, <literal>tcl</literal> and <literal>lua</literal>.
+ </para>
+
+ <para>
+  The python and perl plugins allows the addition of extra libraries. For instance, the <literal>inotify.py</literal> script in weechat-scripts requires D-Bus or libnotify, and the <literal>fish.py</literal> script requires pycrypto. To use these scripts, use the plugin's <literal>withPackages</literal> attribute:
+<programlisting>weechat.override { configure = {availablePlugins, ...}: {
+    plugins = with availablePlugins; [
+            (python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
+        ];
+    };
+}
+</programlisting>
+ </para>
+
+ <para>
+  In order to also keep all default plugins installed, it is possible to use the following method:
+<programlisting>weechat.override { configure = { availablePlugins, ... }: {
+  plugins = builtins.attrValues (availablePlugins // {
+    python = availablePlugins.python.withPackages (ps: with ps; [ pycrypto python-dbus ]);
+  });
+}; }
+</programlisting>
+ </para>
+
+ <para>
+  WeeChat allows to set defaults on startup using the <literal>--run-command</literal>. The <literal>configure</literal> method can be used to pass commands to the program:
+<programlisting>weechat.override {
+  configure = { availablePlugins, ... }: {
+    init = ''
+      /set foo bar
+      /server add freenode chat.freenode.org
+    '';
+  };
+}</programlisting>
+  Further values can be added to the list of commands when running <literal>weechat --run-command "your-commands"</literal>.
+ </para>
+
+ <para>
+  Additionally it's possible to specify scripts to be loaded when starting <literal>weechat</literal>. These will be loaded before the commands from <literal>init</literal>:
+<programlisting>weechat.override {
+  configure = { availablePlugins, ... }: {
+    scripts = with pkgs.weechatScripts; [
+      weechat-xmpp weechat-matrix-bridge wee-slack
+    ];
+    init = ''
+      /set plugins.var.python.jabber.key "val"
+    '':
+  };
+}</programlisting>
+ </para>
+
+ <para>
+  In <literal>nixpkgs</literal> there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a <literal>passthru.scripts</literal> attribute which contains a list of all scripts inside the store path. Furthermore all scripts have to live in <literal>$out/share</literal>. An exemplary derivation looks like this:
+<programlisting>{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "exemplary-weechat-script";
+  src = fetchurl {
+    url = "https://scripts.tld/your-scripts.tar.gz";
+    sha256 = "...";
+  };
+  passthru.scripts = [ "foo.py" "bar.lua" ];
+  installPhase = ''
+    mkdir $out/share
+    cp foo.py $out/share
+    cp bar.lua $out/share
+  '';
+}</programlisting>
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/packages/xorg.xml b/nixpkgs/doc/builders/packages/xorg.xml
new file mode 100644
index 000000000000..ebf4930cc097
--- /dev/null
+++ b/nixpkgs/doc/builders/packages/xorg.xml
@@ -0,0 +1,34 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="sec-xorg">
+ <title>X.org</title>
+
+ <para>
+  The Nix expressions for the X.org packages reside in <filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is automatically generated from lists of tarballs in an X.org release. As such it should not be modified directly; rather, you should modify the lists, the generator script or the file <filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you can override or add to the derivations produced by the generator.
+ </para>
+
+ <para>
+  The generator is invoked as follows:
+<screen>
+<prompt>$ </prompt>cd pkgs/servers/x11/xorg
+<prompt>$ </prompt>cat tarballs-7.5.list extra.list old.list \
+  | perl ./generate-expr-from-tarballs.pl
+</screen>
+  For each of the tarballs in the <filename>.list</filename> files, the script downloads it, unpacks it, and searches its <filename>configure.ac</filename> and <filename>*.pc.in</filename> files for dependencies. This information is used to generate <filename>default.nix</filename>. The generator caches downloaded tarballs between runs. Pay close attention to the <literal>NOT FOUND: <replaceable>name</replaceable></literal> messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.)
+ </para>
+
+ <para>
+  A file like <filename>tarballs-7.5.list</filename> contains all tarballs in a X.org release. It can be generated like this:
+<screen>
+<prompt>$ </prompt>export i="mirror://xorg/X11R7.4/src/everything/"
+<prompt>$ </prompt>cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
+  | perl -e 'while (&lt;>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \
+  | sort > tarballs-7.4.list
+</screen>
+  <filename>extra.list</filename> contains libraries that aren’t part of X.org proper, but are closely related to it, such as <literal>libxcb</literal>. <filename>old.list</filename> contains some packages that were removed from X.org, but are still needed by some people or by other packages (such as <varname>imake</varname>).
+ </para>
+
+ <para>
+  If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, <varname>patches</varname> or a <varname>postInstall</varname> hook), you should modify <filename>pkgs/servers/x11/xorg/overrides.nix</filename>.
+ </para>
+</section>
diff --git a/nixpkgs/doc/builders/special.xml b/nixpkgs/doc/builders/special.xml
new file mode 100644
index 000000000000..15fdba9a0419
--- /dev/null
+++ b/nixpkgs/doc/builders/special.xml
@@ -0,0 +1,10 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xml:id="chap-special">
+ <title>Special builders</title>
+ <para>
+  This chapter describes several special builders.
+ </para>
+ <xi:include href="special/fhs-environments.xml" />
+ <xi:include href="special/mkshell.xml" />
+</chapter>
diff --git a/nixpkgs/doc/functions/fhs-environments.xml b/nixpkgs/doc/builders/special/fhs-environments.xml
index e7b81e97a23f..e7b81e97a23f 100644
--- a/nixpkgs/doc/functions/fhs-environments.xml
+++ b/nixpkgs/doc/builders/special/fhs-environments.xml
diff --git a/nixpkgs/doc/functions/shell.xml b/nixpkgs/doc/builders/special/mkshell.xml
index cef65d06b882..cef65d06b882 100644
--- a/nixpkgs/doc/functions/shell.xml
+++ b/nixpkgs/doc/builders/special/mkshell.xml
diff --git a/nixpkgs/doc/functions/trivial-builders.xml b/nixpkgs/doc/builders/trivial-builders.xml
index ae9f3a1b255d..94948c57b91f 100644
--- a/nixpkgs/doc/functions/trivial-builders.xml
+++ b/nixpkgs/doc/builders/trivial-builders.xml
@@ -1,15 +1,13 @@
-<section xmlns="http://docbook.org/ns/docbook"
+<chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
-         xml:id="sec-trivial-builders">
+         xml:id="chap-trivial-builders">
  <title>Trivial builders</title>
-
  <para>
   Nixpkgs provides a couple of functions that help with building derivations. The most important one, <function>stdenv.mkDerivation</function>, has already been documented above. The following functions wrap <function>stdenv.mkDerivation</function>, making it easier to use in certain cases.
  </para>
-
  <variablelist>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommand">
    <term>
     <literal>runCommand</literal>
    </term>
@@ -42,7 +40,7 @@
 </programlisting>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandCC">
    <term>
     <literal>runCommandCC</literal>
    </term>
@@ -52,7 +50,20 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandLocal">
+   <term>
+    <literal>runCommandLocal</literal>
+   </term>
+   <listitem>
+    <para>
+     Variant of <literal>runCommand</literal> that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
+    </para>
+    <note><para>
+      This sets <link xlink:href="https://nixos.org/nix/manual/#adv-attr-allowSubstitutes"><literal>allowSubstitutes</literal> to <literal>false</literal></link>, so only use <literal>runCommandLocal</literal> if you are certain the user will always have a builder for the <literal>system</literal> of the derivation. This should be true for most trivial use cases (e.g. just copying some files to a different location or adding symlinks), because there the <literal>system</literal> is usually the same as <literal>builtins.currentSystem</literal>.
+    </para></note>
+   </listitem>
+  </varlistentry>
+  <varlistentry xml:id="trivial-builder-writeText">
    <term>
     <literal>writeTextFile</literal>, <literal>writeText</literal>, <literal>writeTextDir</literal>, <literal>writeScript</literal>, <literal>writeScriptBin</literal>
    </term>
@@ -65,7 +76,7 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-symlinkJoin">
    <term>
     <literal>symlinkJoin</literal>
    </term>
@@ -76,4 +87,4 @@
    </listitem>
   </varlistentry>
  </variablelist>
-</section>
+</chapter>
diff --git a/nixpkgs/doc/coding-conventions.xml b/nixpkgs/doc/contributing/coding-conventions.xml
index 799f1479467a..fcb6501f6159 100644
--- a/nixpkgs/doc/coding-conventions.xml
+++ b/nixpkgs/doc/contributing/coding-conventions.xml
@@ -622,6 +622,16 @@ args.stdenv.mkDerivation (args // {
        </varlistentry>
        <varlistentry>
         <term>
+         If it’s an <emphasis>icon theme</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/icons</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>
          If it’s related to <emphasis>SGML/XML processing</emphasis>:
         </term>
         <listitem>
@@ -652,6 +662,17 @@ args.stdenv.mkDerivation (args // {
          </variablelist>
         </listitem>
        </varlistentry>
+       <varlistentry>
+        <term>
+         If it’s a <emphasis>theme</emphasis> for a <emphasis>desktop environment</emphasis>,
+         a <emphasis>window manager</emphasis> or a <emphasis>display manager</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/themes</filename>
+         </para>
+        </listitem>
+       </varlistentry>
       </variablelist>
      </listitem>
     </varlistentry>
diff --git a/nixpkgs/doc/contributing.xml b/nixpkgs/doc/contributing/contributing-to-documentation.xml
index b0266043775f..b0266043775f 100644
--- a/nixpkgs/doc/contributing.xml
+++ b/nixpkgs/doc/contributing/contributing-to-documentation.xml
diff --git a/nixpkgs/doc/quick-start.xml b/nixpkgs/doc/contributing/quick-start.xml
index 80514cba4904..80514cba4904 100644
--- a/nixpkgs/doc/quick-start.xml
+++ b/nixpkgs/doc/contributing/quick-start.xml
diff --git a/nixpkgs/doc/reviewing-contributions.xml b/nixpkgs/doc/contributing/reviewing-contributions.xml
index 5a14684f9b1e..fe79d8d992b1 100644
--- a/nixpkgs/doc/reviewing-contributions.xml
+++ b/nixpkgs/doc/contributing/reviewing-contributions.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-reviewing-contributions">
+        xml:id="chap-reviewing-contributions">
  <title>Reviewing contributions</title>
  <warning>
   <para>
@@ -115,19 +115,12 @@
       <para>
        It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone.
 <screen>
-<prompt>$ </prompt>git remote add channels https://github.com/NixOS/nixpkgs-channels.git <co
-  xml:id='reviewing-rebase-1' />
-<prompt>$ </prompt>git fetch channels nixos-unstable <co xml:id='reviewing-rebase-2' />
+<prompt>$ </prompt>git fetch origin nixos-unstable <co xml:id='reviewing-rebase-2' />
 <prompt>$ </prompt>git fetch origin pull/PRNUMBER/head <co xml:id='reviewing-rebase-3' />
 <prompt>$ </prompt>git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD <co
   xml:id='reviewing-rebase-4' />
 </screen>
        <calloutlist>
-        <callout arearefs='reviewing-rebase-1'>
-         <para>
-          This should be done only once to be able to fetch channel branches from the nixpkgs-channels repository.
-         </para>
-        </callout>
         <callout arearefs='reviewing-rebase-2'>
          <para>
           Fetching the nixos-unstable branch.
@@ -148,10 +141,10 @@
      </listitem>
      <listitem>
       <para>
-       The <link xlink:href="https://github.com/Mic92/nix-review">nix-review</link> tool can be used to review a pull request content in a single command. <varname>PRNUMBER</varname> should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
+       The <link xlink:href="https://github.com/Mic92/nixpkgs-review">nixpkgs-review</link> tool can be used to review a pull request content in a single command. <varname>PRNUMBER</varname> should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
       </para>
 <screen>
-<prompt>$ </prompt>nix-shell -p nix-review --run "nix-review pr PRNUMBER"
+<prompt>$ </prompt>nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER"
 </screen>
      </listitem>
     </itemizedlist>
diff --git a/nixpkgs/doc/submitting-changes.xml b/nixpkgs/doc/contributing/submitting-changes.xml
index 2c7defb81749..f283ae1e6851 100644
--- a/nixpkgs/doc/submitting-changes.xml
+++ b/nixpkgs/doc/contributing/submitting-changes.xml
@@ -228,6 +228,33 @@ Additional information.
    </listitem>
   </itemizedlist>
  </section>
+ <section xml:id="submitting-changes-submitting-security-fixes">
+  <title>Submitting security fixes</title>
+
+  <para>
+   Security fixes are submitted in the same way as other changes and thus the same guidelines apply.
+  </para>
+
+  <para>
+   If the security fix comes in the form of a patch and a CVE is available, then the name of the patch should be the CVE identifier, so e.g. <literal>CVE-2019-13636.patch</literal> in the case of a patch that is included in the Nixpkgs tree. If a patch is fetched the name needs to be set as well, e.g.:
+  </para>
+
+<programlisting>
+   (fetchpatch {
+     name = "CVE-2019-11068.patch";
+     url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
+     sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
+   })
+  </programlisting>
+
+  <para>
+   If a security fix applies to both master and a stable release then, similar to regular changes, they are preferably delivered via master first and cherry-picked to the release branch.
+  </para>
+
+  <para>
+   Critical security fixes may by-pass the staging branches and be delivered directly to release branches such as <literal>master</literal> and <literal>release-*</literal>.
+  </para>
+ </section>
  <section xml:id="submitting-changes-pull-request-template">
   <title>Pull Request Template</title>
 
@@ -290,20 +317,25 @@ Additional information.
   </section>
 
   <section xml:id="submitting-changes-tested-compilation">
-   <title>Tested compilation of all pkgs that depend on this change using <command>nix-review</command></title>
+   <title>Tested compilation of all pkgs that depend on this change using <command>nixpkgs-review</command></title>
 
    <para>
-    If you are updating a package's version, you can use nix-review to make sure all packages that depend on the updated package still compile correctly. The <command>nix-review</command> utility can look for and build all dependencies either based on uncommited changes with the <literal>wip</literal> option or specifying a github pull request number.
+    If you are updating a package's version, you can use nixpkgs-review to make sure all packages that depend on the updated package still compile correctly. The <command>nixpkgs-review</command> utility can look for and build all dependencies either based on uncommited changes with the <literal>wip</literal> option or specifying a github pull request number.
    </para>
 
    <para>
     review changes from pull request number 12345:
-<screen>nix-shell -p nix-review --run "nix-review pr 12345"</screen>
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review pr 12345</screen>
    </para>
 
    <para>
     review uncommitted changes:
-<screen>nix-shell -p nix-review --run "nix-review wip"</screen>
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review wip</screen>
+   </para>
+
+   <para>
+    review changes from last commit:
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review rev HEAD</screen>
    </para>
   </section>
 
@@ -375,31 +407,32 @@ Additional information.
 
   <section xml:id="submitting-changes-master-branch">
    <title>Master branch</title>
-
-   <itemizedlist>
-    <listitem>
-     <para>
-      It should only see non-breaking commits that do not cause mass rebuilds.
-     </para>
-    </listitem>
-   </itemizedlist>
+   <para>
+    The <literal>master</literal> branch is the main development branch.
+    It should only see non-breaking commits that do not cause mass rebuilds.
+   </para>
   </section>
 
   <section xml:id="submitting-changes-staging-branch">
    <title>Staging branch</title>
+   <para>
+    The <literal>staging</literal> branch is a development branch where mass-rebuilds go.
+    It should only see non-breaking mass-rebuild commits.
+    That means it is not to be used for testing, and changes must have been well tested already.
+    If the branch is already in a broken state, please refrain from adding extra new breakages.
+   </para>
+  </section>
 
-   <itemizedlist>
-    <listitem>
-     <para>
-      It's only for non-breaking mass-rebuild commits. That means it's not to be used for testing, and changes must have been well tested already. <link xlink:href="https://web.archive.org/web/20160528180406/http://comments.gmane.org/gmane.linux.distributions.nixos/13447">Read policy here</link>.
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days, merge into master, then resume development on staging. <link xlink:href="http://hydra.nixos.org/jobset/nixpkgs/staging#tabs-evaluations">Keep an eye on the staging evaluations here</link>. If any fixes for staging happen to be already in master, then master can be merged into staging.
-     </para>
-    </listitem>
-   </itemizedlist>
+  <section xml:id="submitting-changes-staging-next-branch">
+   <title>Staging-next branch</title>
+   <para>
+    The <literal>staging-next</literal> branch is for stabilizing mass-rebuilds submitted to the <literal>staging</literal> branch prior to merging them into <literal>master</literal>.
+    Mass-rebuilds should go via the <literal>staging</literal> branch.
+    It should only see non-breaking commits that are fixing issues blocking it from being merged into the <literal>master </literal> branch.
+   </para>
+   <para>
+    If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
+   </para>
   </section>
 
   <section xml:id="submitting-changes-stable-release-branches">
@@ -408,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/nixpkgs/doc/doc-support/parameters.xml b/nixpkgs/doc/doc-support/parameters.xml
index bc13e2b70dec..e4b33e66ee4d 100644
--- a/nixpkgs/doc/doc-support/parameters.xml
+++ b/nixpkgs/doc/doc-support/parameters.xml
@@ -8,7 +8,7 @@
  <xsl:param name="html.script" select="'./highlightjs/highlight.pack.js ./highlightjs/loader.js'" />
  <xsl:param name="xref.with.number.and.title" select="1" />
  <xsl:param name="use.id.as.filename" select="1" />
- <xsl:param name="toc.section.depth" select="3" />
+ <xsl:param name="toc.section.depth" select="0" />
  <xsl:param name="admon.style" select="''" />
  <xsl:param name="callout.graphics.extension" select="'.svg'" />
 </xsl:stylesheet>
diff --git a/nixpkgs/doc/functions.xml b/nixpkgs/doc/functions.xml
index 3e126e6b1397..5a9240ec800e 100644
--- a/nixpkgs/doc/functions.xml
+++ b/nixpkgs/doc/functions.xml
@@ -7,17 +7,8 @@
   The nixpkgs repository has several utility functions to manipulate Nix expressions.
  </para>
  <xi:include href="functions/library.xml" />
- <xi:include href="functions/overrides.xml" />
  <xi:include href="functions/generators.xml" />
  <xi:include href="functions/debug.xml" />
- <xi:include href="functions/fetchers.xml" />
- <xi:include href="functions/trivial-builders.xml" />
- <xi:include href="functions/fhs-environments.xml" />
- <xi:include href="functions/shell.xml" />
- <xi:include href="functions/dockertools.xml" />
- <xi:include href="functions/snaptools.xml" />
- <xi:include href="functions/appimagetools.xml" />
  <xi:include href="functions/prefer-remote-fetch.xml" />
  <xi:include href="functions/nix-gitignore.xml" />
- <xi:include href="functions/ocitools.xml" />
 </chapter>
diff --git a/nixpkgs/doc/languages-frameworks/android.section.md b/nixpkgs/doc/languages-frameworks/android.section.md
index f268c5525660..9a5df2523a25 100644
--- a/nixpkgs/doc/languages-frameworks/android.section.md
+++ b/nixpkgs/doc/languages-frameworks/android.section.md
@@ -95,7 +95,7 @@ $ nix-build
 
 The Android SDK gets deployed with all desired plugin versions.
 
-We can also deploy subsets of the Android SDK. For example, to only the the
+We can also deploy subsets of the Android SDK. For example, to only the
 `platform-tools` package, you can evaluate the following expression:
 
 ```nix
diff --git a/nixpkgs/doc/languages-frameworks/beam.xml b/nixpkgs/doc/languages-frameworks/beam.xml
index 65f28d0a2d3b..278535237c2c 100644
--- a/nixpkgs/doc/languages-frameworks/beam.xml
+++ b/nixpkgs/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,20 +51,7 @@
    <title>Rebar3</title>
 
    <para>
-    By default, Rebar3 wants to manage its own dependencies. This is perfectly acceptable in the normal, non-Nix setup, but in the Nix world, it is not. To rectify this, we provide two versions of Rebar3:
-    <itemizedlist>
-     <listitem>
-      <para>
-       <literal>rebar3</literal>: patched to remove the ability to download anything. When not running it via <literal>nix-shell</literal> or <literal>nix-build</literal>, it's probably not going to work as desired.
-      </para>
-     </listitem>
-     <listitem>
-      <para>
-       <literal>rebar3-open</literal>: the normal, unmodified Rebar3. It should work exactly as would any other version of Rebar3. Any Erlang package should rely on <literal>rebar3</literal> instead. See <xref
-            linkend="rebar3-packages"/>.
-      </para>
-     </listitem>
-    </itemizedlist>
+    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>
 
@@ -85,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>
@@ -122,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>
@@ -165,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">
@@ -198,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>
@@ -256,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; {} }:
@@ -324,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/nixpkgs/doc/languages-frameworks/emscripten.section.md b/nixpkgs/doc/languages-frameworks/emscripten.section.md
index 24c49ec1409c..80e1094809ad 100644
--- a/nixpkgs/doc/languages-frameworks/emscripten.section.md
+++ b/nixpkgs/doc/languages-frameworks/emscripten.section.md
@@ -1,4 +1,4 @@
-# User's Guide to Emscripten in Nixpkgs
+# Emscripten
 
 [Emscripten](https://github.com/kripken/emscripten): An LLVM-to-JavaScript Compiler
 
diff --git a/nixpkgs/doc/languages-frameworks/gnome.xml b/nixpkgs/doc/languages-frameworks/gnome.xml
index 9e0f21a6c74f..bb68d026ae23 100644
--- a/nixpkgs/doc/languages-frameworks/gnome.xml
+++ b/nixpkgs/doc/languages-frameworks/gnome.xml
@@ -32,7 +32,11 @@
    <title>Icons</title>
 
    <para>
-    When an application uses icons, an icon theme should be available in <envar>XDG_DATA_DIRS</envar>. The package for the default, icon-less <link xlink:href="https://www.freedesktop.org/wiki/Software/icon-theme/">hicolor-icon-theme</link> contains <link linkend="ssec-gnome-hooks-hicolor-icon-theme">a setup hook</link> that will pick up icon themes from <literal>buildInputs</literal> and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed.
+    When an application uses icons, an icon theme should be available in <envar>XDG_DATA_DIRS</envar> during runtime. The package for the default, icon-less <link xlink:href="https://www.freedesktop.org/wiki/Software/icon-theme/">hicolor-icon-theme</link> (should be propagated by every icon theme) contains <link linkend="ssec-gnome-hooks-hicolor-icon-theme">a setup hook</link> that will pick up icon themes from <literal>buildInputs</literal> and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed.
+   </para>
+
+   <para>
+    To avoid costly file system access when locating icons, GTK, <link xlink:href="https://woboq.com/blog/qicon-reads-gtk-icon-cache-in-qt57.html">as well as Qt</link>, can rely on <filename>icon-theme.cache</filename> files from the themes’ top-level directories. These files are generated using <command>gtk-update-icon-cache</command>, which is expected to be run whenever an icon is added or removed to an icon theme (typically an application icon into <literal>hicolor</literal> theme) and some programs do indeed run this after icon installation. However, since packages are installed into their own prefix by Nix, this would lead to conflicts. For that reason, <package>gtk3</package> provides a <link xlink:href="#ssec-gnome-hooks-gtk-drop-icon-theme-cache">setup hook</link> that will clean the file from installation. Since most applications only ship their own icon that will be loaded on start-up, it should not affect them too much. On the other hand, icon themes are much larger and more widely used so we need to cache them. Because we recommend installing icon themes globally, we will generate the cache files from all packages in a profile using a NixOS module. You can enable the cache generation using <option>gtk.iconCache.enable</option> option if your desktop environment does not already do that.
    </para>
   </section>
 
@@ -70,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}" \
@@ -91,9 +95,14 @@ preFixup = ''
       <package>glib</package> setup hook will populate <envar>GSETTINGS_SCHEMAS_PATH</envar> and then <package>wrapGAppsHook</package> will prepend it to <envar>XDG_DATA_DIRS</envar>.
      </para>
     </listitem>
+    <listitem xml:id="ssec-gnome-hooks-gtk-drop-icon-theme-cache">
+     <para>
+      One of <package>gtk3</package>’s setup hooks will remove <filename>icon-theme.cache</filename> files from package’s icon theme directories to avoid conflicts. Icon theme packages should prevent this with <code>dontDropIconThemeCache = true;</code>.
+     </para>
+    </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">
@@ -190,9 +199,9 @@ python3.pkgs.buildPythonApplication {
   dontWrapGApps = true;
 
   # Arguments to be passed to `makeWrapper`, only used by buildPython*
-  makeWrapperArgs = [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 }
 </programlisting>
       And for a QT app like:
@@ -210,9 +219,9 @@ mkDerivation {
   dontWrapGApps = true;
 
   # Arguments to be passed to `makeWrapper`, only used by qt5’s mkDerivation
-  qtWrapperArgs [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 }
 </programlisting>
      </para>
@@ -258,6 +267,16 @@ mkDerivation {
      </para>
     </listitem>
    </varlistentry>
+   <varlistentry xml:id="ssec-gnome-common-issues-weird-location">
+    <term>
+     I need to wrap a binary outside <filename>bin</filename> and <filename>libexec</filename> directories.
+    </term>
+    <listitem>
+     <para>
+      You can manually trigger the wrapping with <function>wrapGApp</function> in <literal>preFixup</literal> phase. It takes a path to a program as a first argument; the remaining arguments are passed directly to <function xlink:href="#fun-wrapProgram">wrapProgram</function> function.
+     </para>
+    </listitem>
+   </varlistentry>
   </variablelist>
  </section>
 </section>
diff --git a/nixpkgs/doc/languages-frameworks/go.xml b/nixpkgs/doc/languages-frameworks/go.xml
index 288a90298631..e8cf27d05652 100644
--- a/nixpkgs/doc/languages-frameworks/go.xml
+++ b/nixpkgs/doc/languages-frameworks/go.xml
@@ -26,7 +26,7 @@
    <title>buildGoModule</title>
 <programlisting>
 pet = buildGoModule rec {
-  name = "pet-${version}";
+  pname = "pet";
   version = "0.3.4";
 
   src = fetchFromGitHub {
@@ -66,6 +66,15 @@ pet = buildGoModule rec {
     </callout>
    </calloutlist>
   </para>
+
+  <para>
+    <varname>modSha256</varname> can also take <varname>null</varname> as an input.
+
+    When `null` is used as a value, the derivation won't be a
+    fixed-output derivation but disable the build sandbox instead. This can be useful outside
+    of nixpkgs where re-generating the modSha256 on each mod.sum changes is cumbersome,
+    but will fail to build by Hydra, as builds with a disabled sandbox are discouraged.
+  </para>
  </section>
 
  <section xml:id="ssec-go-legacy">
@@ -79,7 +88,7 @@ pet = buildGoModule rec {
    <title>buildGoPackage</title>
 <programlisting>
 deis = buildGoPackage rec {
-  name = "deis-${version}";
+  pname = "deis";
   version = "1.13.0";
 
   goPackagePath = "github.com/deis/deis"; <co xml:id='ex-buildGoPackage-1' />
@@ -94,7 +103,7 @@ deis = buildGoPackage rec {
 
   goDeps = ./deps.nix; <co xml:id='ex-buildGoPackage-3' />
 
-  buildFlags = "--tags release"; <co xml:id='ex-buildGoPackage-4' />
+  buildFlags = [ "--tags" "release" ]; <co xml:id='ex-buildGoPackage-4' />
 }
 </programlisting>
   </example>
diff --git a/nixpkgs/doc/languages-frameworks/haskell.section.md b/nixpkgs/doc/languages-frameworks/haskell.section.md
index 48d22831cd9b..b485ec583ec3 100644
--- a/nixpkgs/doc/languages-frameworks/haskell.section.md
+++ b/nixpkgs/doc/languages-frameworks/haskell.section.md
@@ -3,7 +3,7 @@ title: User's Guide for Haskell in Nixpkgs
 author: Peter Simons
 date: 2015-06-01
 ---
-# User's Guide to the Haskell Infrastructure
+# Haskell
 
 
 ## How to install Haskell packages
@@ -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
@@ -84,36 +84,37 @@ nix-env -qaP -A nixos.haskellPackages
 nix-env -iA nixos.haskellPackages.cabal-install
 ```
 
-Our current default compiler is GHC 7.10.x and the `haskellPackages` set
-contains packages built with that particular version. Nixpkgs contains the
-latest major release of every GHC since 6.10.4, however, and there is a whole
-family of package sets available that defines Hackage packages built with each
-of those compilers, too:
+Our current default compiler is GHC 8.6.x and the `haskellPackages` set
+contains packages built with that particular version. Nixpkgs contains the last
+three major releases of GHC and there is a whole family of package sets
+available that defines Hackage packages built with each of those compilers,
+too:
 ```shell
-nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc6123
-nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc763
+nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc844
+nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc882
 ```
 
 The name `haskellPackages` is really just a synonym for
-`haskell.packages.ghc7102`, because we prefer that package set internally and
+`haskell.packages.ghc865`, because we prefer that package set internally and
 recommend it to our users as their default choice, but ultimately you are free
 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.ghc8101                 ghc-8.10.0.20191210
+haskell.compiler.integer-simple.ghc8101  ghc-8.10.0.20191210
+haskell.compiler.ghcHEAD                 ghc-8.10.20191119
+haskell.compiler.integer-simple.ghcHEAD  ghc-8.10.20191119
+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.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.ghc882                  ghc-8.8.1.20191211
+haskell.compiler.integer-simple.ghc882   ghc-8.8.1.20191211
+haskell.compiler.ghcjs                   ghcjs-8.6.0.1
 ```
 
 We have no package sets for `jhc` or `uhc` yet, unfortunately, but for every
@@ -398,7 +399,9 @@ nix:
 For more on how to write a `shell.nix` file see the below section. You'll need
 to express a derivation. Note that Nixpkgs ships with a convenience wrapper
 function around `mkDerivation` called `haskell.lib.buildStackProject` to help you
-create this derivation in exactly the way Stack expects. All of the same inputs
+create this derivation in exactly the way Stack expects. However for this to work
+you need to disable the sandbox, which you can do by using `--option sandbox relaxed`
+or `--option sandbox false` to the Nix command. All of the same inputs
 as `mkDerivation` can be provided. For example, to build a Stack project that
 including packages that link against a version of the R library compiled with
 special options turned on:
diff --git a/nixpkgs/doc/languages-frameworks/idris.section.md b/nixpkgs/doc/languages-frameworks/idris.section.md
index e88015f08e3f..8d7962d7fb9b 100644
--- a/nixpkgs/doc/languages-frameworks/idris.section.md
+++ b/nixpkgs/doc/languages-frameworks/idris.section.md
@@ -1,4 +1,4 @@
-# Idris packages
+# Idris
 
 ## Installing Idris
 
diff --git a/nixpkgs/doc/languages-frameworks/index.xml b/nixpkgs/doc/languages-frameworks/index.xml
index cd0b48adb14a..9364c764bbf9 100644
--- a/nixpkgs/doc/languages-frameworks/index.xml
+++ b/nixpkgs/doc/languages-frameworks/index.xml
@@ -1,7 +1,7 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          xml:id="chap-language-support">
- <title>Support for specific programming languages and frameworks</title>
+ <title>Languages and frameworks</title>
  <para>
   The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accomodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
  </para>
@@ -9,6 +9,8 @@
  <xi:include href="beam.xml" />
  <xi:include href="bower.xml" />
  <xi:include href="coq.xml" />
+ <xi:include href="crystal.section.xml" />
+ <xi:include href="emscripten.section.xml" />
  <xi:include href="gnome.xml" />
  <xi:include href="go.xml" />
  <xi:include href="haskell.section.xml" />
@@ -27,6 +29,4 @@
  <xi:include href="texlive.xml" />
  <xi:include href="titanium.section.xml" />
  <xi:include href="vim.section.xml" />
- <xi:include href="emscripten.section.xml" />
- <xi:include href="crystal.section.xml" />
 </chapter>
diff --git a/nixpkgs/doc/languages-frameworks/ios.section.md b/nixpkgs/doc/languages-frameworks/ios.section.md
index 6684b809ffe6..5a81795c004a 100644
--- a/nixpkgs/doc/languages-frameworks/ios.section.md
+++ b/nixpkgs/doc/languages-frameworks/ios.section.md
@@ -1,7 +1,7 @@
 ---
 title: iOS
 author: Sander van der Burg
-date: 2018-11-18
+date: 2019-11-10
 ---
 # iOS
 
@@ -217,3 +217,13 @@ xcode.simulateApp {
 
 By providing the result of an `xcode.buildApp {}` function and configuring the
 app bundle id, the app gets deployed automatically and started.
+
+Troubleshooting
+---------------
+In some rare cases, it may happen that after a failure, changes are not picked
+up. Most likely, this is caused by a derived data cache that Xcode maintains.
+To wipe it you can run:
+
+```bash
+$ rm -rf ~/Library/Developer/Xcode/DerivedData
+```
diff --git a/nixpkgs/doc/languages-frameworks/node.section.md b/nixpkgs/doc/languages-frameworks/node.section.md
index c6dce04c7b8b..4dc95fc1dd98 100644
--- a/nixpkgs/doc/languages-frameworks/node.section.md
+++ b/nixpkgs/doc/languages-frameworks/node.section.md
@@ -1,5 +1,5 @@
-Node.js packages
-================
+Node.js
+=======
 The `pkgs/development/node-packages` folder contains a generated collection of
 [NPM packages](https://npmjs.com/) that can be installed with the Nix package
 manager.
diff --git a/nixpkgs/doc/languages-frameworks/python.section.md b/nixpkgs/doc/languages-frameworks/python.section.md
index 88dc42ebc6c2..41a5dae8b9b0 100644
--- a/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/nixpkgs/doc/languages-frameworks/python.section.md
@@ -144,6 +144,24 @@ What's happening here?
 2. Then we create a Python 3.5 environment with the `withPackages` function.
 3. The `withPackages` function expects us to provide a function as an argument that takes the set of all python packages and returns a list of packages to include in the environment. Here, we select the packages `numpy` and `toolz` from the package set.
 
+To combine this with `mkShell` you can:
+
+```nix
+with import <nixpkgs> {};
+
+let
+  pythonEnv = python35.withPackages (ps: [
+    ps.numpy
+    ps.toolz
+  ]);
+in mkShell {
+  buildInputs = [
+    pythonEnv
+    hello
+  ];
+}
+```
+
 ##### Execute command with `--run`
 A convenient option with `nix-shell` is the `--run`
 option, with which you can execute a command in the `nix-shell`. We can
@@ -593,7 +611,7 @@ as the interpreter unless overridden otherwise.
 All parameters from `stdenv.mkDerivation` function are still supported. The following are specific to `buildPythonPackage`:
 
 * `catchConflicts ? true`: If `true`, abort package build if a package name appears more than once in dependency tree. Default is `true`.
-* `disabled` ? false: If `true`, package is not build for the particular Python interpreter version.
+* `disabled` ? false: If `true`, package is not built for the particular Python interpreter version.
 * `dontWrapPythonPrograms ? false`: Skip wrapping of python programs.
 * `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment variable in wrapped programs.
 * `installFlags ? []`: A list of strings. Arguments to be passed to `pip install`. To pass options to `python setup.py install`, use `--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]`.
@@ -803,6 +821,9 @@ should be used with `ignoreCollisions = true`.
 The following are setup hooks specifically for Python packages. Most of these are
 used in `buildPythonPackage`.
 
+- `eggUnpackhook` to move an egg to the correct folder so it can be installed with the `eggInstallHook`
+- `eggBuildHook` to skip building for eggs.
+- `eggInstallHook` to install eggs.
 - `flitBuildHook` to build a wheel using `flit`.
 - `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system (e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
 - `pipInstallHook` to install wheels.
@@ -850,9 +871,8 @@ Note: There is a boolean value `lib.inNixShell` set to `true` if nix-shell is in
 Packages inside nixpkgs are written by hand. However many tools exist in
 community to help save time. No tool is preferred at the moment.
 
-- [python2nix](https://github.com/proger/python2nix) by Vladimir Kirillov
-- [pypi2nix](https://github.com/garbas/pypi2nix) by Rok Garbas
-- [pypi2nix](https://github.com/offlinehacker/pypi2nix) by Jaka Hudoklin
+- [pypi2nix](https://github.com/nix-community/pypi2nix): Generate Nix expressions for your Python project. Note that [sharing derivations from pypi2nix with nixpkgs is possible but not encouraged](https://github.com/nix-community/pypi2nix/issues/222#issuecomment-443497376).
+- [python2nix](https://github.com/proger/python2nix) by Vladimir Kirillov.
 
 ### Deterministic builds
 
@@ -1017,7 +1037,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex
 
 ```nix
 with import <nixpkgs> {};
-with python27Packages;
+
+let
+  pythonPackages = python27Packages;
+in
 
 stdenv.mkDerivation {
   name = "impurePythonEnv";
@@ -1027,9 +1050,8 @@ stdenv.mkDerivation {
   buildInputs = [
     # these packages are required for virtualenv and pip to work:
     #
-    python27Full
-    python27Packages.virtualenv
-    python27Packages.pip
+    pythonPackages.virtualenv
+    pythonPackages.pip
     # the following packages are related to the dependencies of your python
     # project.
     # In this particular example the python modules listed in the
@@ -1042,14 +1064,13 @@ stdenv.mkDerivation {
     libxml2
     libxslt
     libzip
-    stdenv
     zlib
   ];
 
   shellHook = ''
     # set SOURCE_DATE_EPOCH so that we can use python wheels
     SOURCE_DATE_EPOCH=$(date +%s)
-    virtualenv --no-setuptools venv
+    virtualenv --python=${pythonPackages.python.interpreter} --no-setuptools venv
     export PATH=$PWD/venv/bin:$PATH
     pip install -r requirements.txt
   '';
diff --git a/nixpkgs/doc/languages-frameworks/r.section.md b/nixpkgs/doc/languages-frameworks/r.section.md
index c8f02bd14780..d4e1617779ce 100644
--- a/nixpkgs/doc/languages-frameworks/r.section.md
+++ b/nixpkgs/doc/languages-frameworks/r.section.md
@@ -1,5 +1,5 @@
-R packages
-==========
+R
+=
 
 ## Installation
 
diff --git a/nixpkgs/doc/languages-frameworks/rust.section.md b/nixpkgs/doc/languages-frameworks/rust.section.md
index 2d9338f2e89b..709a0d504cf7 100644
--- a/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -4,7 +4,7 @@ author: Matthias Beyer
 date: 2017-03-05
 ---
 
-# User's Guide to the Rust Infrastructure
+# Rust
 
 To install the rust compiler and cargo put
 
@@ -43,6 +43,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
+  verifyCargoDeps = true;
 
   meta = with stdenv.lib; {
     description = "A fast line-oriented regex search tool, similar to ag and ack";
@@ -64,6 +65,20 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the
 added in `cargoPatches` will also be prepended to the patches in `patches` at
 build-time.
 
+When `verifyCargoDeps` is set to `true`, the build will also verify that the
+`cargoSha256` is not out of date by comparing the `Cargo.lock` file in both the `cargoDeps` and `src`. Note that this option changes the value of `cargoSha256` since it also copies the `Cargo.lock` in it. To avoid breaking backward-compatibility this option is not enabled by default but hopefully will be in the future.
+
+### Building a crate for a different target
+
+To build your crate with a different cargo `--target` simply specify the `target` attribute:
+
+```nix
+pkgs.rustPlatform.buildRustPackage {
+  (...)
+  target = "x86_64-fortanix-unknown-sgx";
+}
+```
+
 ## Compiling Rust crates using Nix instead of Cargo
 
 ### Simple operation
@@ -188,7 +203,7 @@ argument and returns a set that contains all attribute that should be
 overwritten.
 
 For more complicated cases, such as when parts of the crate's
-derivation depend on the the crate's version, the `attrs` argument of
+derivation depend on the crate's version, the `attrs` argument of
 the override above can be read, as in the following example, which
 patches the derivation:
 
diff --git a/nixpkgs/doc/languages-frameworks/texlive.xml b/nixpkgs/doc/languages-frameworks/texlive.xml
index 7876cc213b66..8fa8f963b2f6 100644
--- a/nixpkgs/doc/languages-frameworks/texlive.xml
+++ b/nixpkgs/doc/languages-frameworks/texlive.xml
@@ -59,6 +59,97 @@ nix-repl> texlive.collection-<TAB>
   </itemizedlist>
  </section>
 
+ <section xml:id="sec-language-texlive-custom-packages">
+  <title>Custom packages</title>
+  <para>
+    You may find that you need to use an external TeX package. A derivation for such package has to provide contents of the "texmf" directory in its output and provide the <varname>tlType</varname> attribute. Here is a (very verbose) example:
+<programlisting><![CDATA[
+with import <nixpkgs> {};
+
+let
+  foiltex_run = stdenvNoCC.mkDerivation {
+    pname = "latex-foiltex";
+    version = "2.1.4b";
+    passthru.tlType = "run";
+
+    srcs = [
+      (fetchurl {
+        url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.dtx";
+        sha256 = "07frz0krpz7kkcwlayrwrj2a2pixmv0icbngyw92srp9fp23cqpz";
+      })
+      (fetchurl {
+        url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.ins";
+        sha256 = "09wkyidxk3n3zvqxfs61wlypmbhi1pxmjdi1kns9n2ky8ykbff99";
+      })
+    ];
+
+    unpackPhase = ''
+      runHook preUnpack
+
+      for _src in $srcs; do
+        cp "$_src" $(stripHash "$_src")
+      done
+
+      runHook postUnpack
+    '';
+
+    nativeBuildInputs = [ texlive.combined.scheme-small ];
+
+    dontConfigure = true;
+
+    buildPhase = ''
+      runHook preBuild
+
+      # Generate the style files
+      latex foiltex.ins
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      path="$out/tex/latex/foiltex"
+      mkdir -p "$path"
+      cp *.{cls,def,clo} "$path/"
+
+      runHook postInstall
+    '';
+
+    meta = with lib; {
+      description = "A LaTeX2e class for overhead transparencies";
+      license = licenses.unfreeRedistributable;
+      maintainers = with maintainers; [ veprbl ];
+      platforms = platforms.all;
+    };
+  };
+  foiltex = { pkgs = [ foiltex_run ]; };
+
+  latex_with_foiltex = texlive.combine {
+    inherit (texlive) scheme-small;
+    inherit foiltex;
+  };
+in
+  runCommand "test.pdf" {
+    nativeBuildInputs = [ latex_with_foiltex ];
+  } ''
+cat >test.tex <<EOF
+\documentclass{foils}
+
+\title{Presentation title}
+\date{}
+
+\begin{document}
+\maketitle
+\end{document}
+EOF
+  pdflatex test.tex
+  cp test.pdf $out
+''
+]]></programlisting>
+  </para>
+ </section>
+
  <section xml:id="sec-language-texlive-known-problems">
   <title>Known problems</title>
 
diff --git a/nixpkgs/doc/languages-frameworks/vim.section.md b/nixpkgs/doc/languages-frameworks/vim.section.md
index 537e7b93e523..05a23d26cf2f 100644
--- a/nixpkgs/doc/languages-frameworks/vim.section.md
+++ b/nixpkgs/doc/languages-frameworks/vim.section.md
@@ -3,7 +3,7 @@ title: User's Guide for Vim in Nixpkgs
 author: Marc Weber
 date: 2016-06-25
 ---
-# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
+# Vim
 
 Both Neovim and Vim can be configured to include your favorite plugins
 and additional libraries.
diff --git a/nixpkgs/doc/manual.xml b/nixpkgs/doc/manual.xml
index ab845e1a1086..1f69872d2a72 100644
--- a/nixpkgs/doc/manual.xml
+++ b/nixpkgs/doc/manual.xml
@@ -5,21 +5,37 @@
   <subtitle>Version <xi:include href=".version" parse="text" />
   </subtitle>
  </info>
- <xi:include href="introduction.chapter.xml" />
- <xi:include href="quick-start.xml" />
- <xi:include href="package-specific-user-notes.xml" />
- <xi:include href="stdenv.xml" />
- <xi:include href="multiple-output.xml" />
- <xi:include href="cross-compilation.xml" />
- <xi:include href="configuration.xml" />
- <xi:include href="functions.xml" />
- <xi:include href="meta.xml" />
- <xi:include href="languages-frameworks/index.xml" />
- <xi:include href="platform-notes.xml" />
- <xi:include href="package-notes.xml" />
- <xi:include href="overlays.xml" />
- <xi:include href="coding-conventions.xml" />
- <xi:include href="submitting-changes.xml" />
- <xi:include href="reviewing-contributions.xml" />
- <xi:include href="contributing.xml" />
+ <xi:include href="preface.chapter.xml" />
+ <part>
+  <title>Using Nixpkgs</title>
+  <xi:include href="using/configuration.xml" />
+  <xi:include href="using/overlays.xml" />
+  <xi:include href="using/overrides.xml" />
+  <xi:include href="functions.xml" />
+ </part>
+ <part>
+  <title>Standard environment</title>
+  <xi:include href="stdenv/stdenv.xml" />
+  <xi:include href="stdenv/meta.xml" />
+  <xi:include href="stdenv/multiple-output.xml" />
+  <xi:include href="stdenv/cross-compilation.xml" />
+  <xi:include href="stdenv/platform-notes.xml" />
+ </part>
+ <part>
+  <title>Builders</title>
+  <xi:include href="builders/fetchers.xml" />
+  <xi:include href="builders/trivial-builders.xml" />
+  <xi:include href="builders/special.xml" />
+  <xi:include href="builders/images.xml" />
+  <xi:include href="languages-frameworks/index.xml" />
+  <xi:include href="builders/packages/index.xml" />
+ </part>
+ <part>
+  <title>Contributing to Nixpkgs</title>
+  <xi:include href="contributing/quick-start.xml" />
+  <xi:include href="contributing/coding-conventions.xml" />
+  <xi:include href="contributing/submitting-changes.xml" />
+  <xi:include href="contributing/reviewing-contributions.xml" />
+  <xi:include href="contributing/contributing-to-documentation.xml" />
+ </part>
 </book>
diff --git a/nixpkgs/doc/package-notes.xml b/nixpkgs/doc/package-notes.xml
deleted file mode 100644
index 770b277cd909..000000000000
--- a/nixpkgs/doc/package-notes.xml
+++ /dev/null
@@ -1,422 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="chap-package-notes">
- <title>Package Notes</title>
- <para>
-  This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
- </para>
-<!--============================================================-->
- <section xml:id="sec-linux-kernel">
-  <title>Linux kernel</title>
-
-  <para>
-   The Nix expressions to build the Linux kernel are in <link
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.
-  </para>
-
-  <para>
-   The function that builds the kernel has an argument <varname>kernelPatches</varname> which should be a list of <literal>{name, patch, extraConfig}</literal> attribute sets, where <varname>name</varname> is the name of the patch (which is included in the kernel’s <varname>meta.description</varname> attribute), <varname>patch</varname> is the patch itself (possibly compressed), and <varname>extraConfig</varname> (optional) is a string specifying extra options to be concatenated to the kernel configuration file (<filename>.config</filename>).
-  </para>
-
-  <para>
-   The kernel derivation exports an attribute <varname>features</varname> specifying whether optional functionality is or isn’t enabled. This is used in NixOS to implement kernel-specific behaviour. For instance, if the kernel has the <varname>iwlwifi</varname> feature (i.e. has built-in support for Intel wireless chipsets), then NixOS doesn’t have to build the external <varname>iwlwifi</varname> package:
-<programlisting>
-modulesTree = [kernel]
-  ++ pkgs.lib.optional (!kernel.features ? iwlwifi) kernelPackages.iwlwifi
-  ++ ...;
-</programlisting>
-  </para>
-
-  <para>
-   How to add a new (major) version of the Linux kernel to Nixpkgs:
-   <orderedlist>
-    <listitem>
-     <para>
-      Copy the old Nix expression (e.g. <filename>linux-2.6.21.nix</filename>) to the new one (e.g. <filename>linux-2.6.22.nix</filename>) and update it.
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      Add the new kernel to <filename>all-packages.nix</filename> (e.g., create an attribute <varname>kernel_2_6_22</varname>).
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      Now we’re going to update the kernel configuration. First unpack the kernel. Then for each supported platform (<literal>i686</literal>, <literal>x86_64</literal>, <literal>uml</literal>) do the following:
-      <orderedlist>
-       <listitem>
-        <para>
-         Make an copy from the old config (e.g. <filename>config-2.6.21-i686-smp</filename>) to the new one (e.g. <filename>config-2.6.22-i686-smp</filename>).
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Copy the config file for this platform (e.g. <filename>config-2.6.22-i686-smp</filename>) to <filename>.config</filename> in the kernel source tree.
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Run <literal>make oldconfig ARCH=<replaceable>{i386,x86_64,um}</replaceable></literal> and answer all questions. (For the uml configuration, also add <literal>SHELL=bash</literal>.) Make sure to keep the configuration consistent between platforms (i.e. don’t enable some feature on <literal>i686</literal> and disable it on <literal>x86_64</literal>).
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         If needed you can also run <literal>make menuconfig</literal>:
-<screen>
-<prompt>$ </prompt>nix-env -i ncurses
-<prompt>$ </prompt>export NIX_CFLAGS_LINK=-lncurses
-<prompt>$ </prompt>make menuconfig ARCH=<replaceable>arch</replaceable></screen>
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Copy <filename>.config</filename> over the new config file (e.g. <filename>config-2.6.22-i686-smp</filename>).
-        </para>
-       </listitem>
-      </orderedlist>
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      Test building the kernel: <literal>nix-build -A kernel_2_6_22</literal>. If it compiles, ship it! For extra credit, try booting NixOS with it.
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the <varname>linuxPackagesFor</varname> function in <filename>all-packages.nix</filename> (such as the NVIDIA drivers, AUFS, etc.). If the updated packages aren’t backwards compatible with older kernels, you may need to keep the older versions around.
-     </para>
-    </listitem>
-   </orderedlist>
-  </para>
- </section>
-<!--============================================================-->
- <section xml:id="sec-xorg">
-  <title>X.org</title>
-
-  <para>
-   The Nix expressions for the X.org packages reside in <filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is automatically generated from lists of tarballs in an X.org release. As such it should not be modified directly; rather, you should modify the lists, the generator script or the file <filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you can override or add to the derivations produced by the generator.
-  </para>
-
-  <para>
-   The generator is invoked as follows:
-<screen>
-<prompt>$ </prompt>cd pkgs/servers/x11/xorg
-<prompt>$ </prompt>cat tarballs-7.5.list extra.list old.list \
-  | perl ./generate-expr-from-tarballs.pl
-</screen>
-   For each of the tarballs in the <filename>.list</filename> files, the script downloads it, unpacks it, and searches its <filename>configure.ac</filename> and <filename>*.pc.in</filename> files for dependencies. This information is used to generate <filename>default.nix</filename>. The generator caches downloaded tarballs between runs. Pay close attention to the <literal>NOT FOUND: <replaceable>name</replaceable></literal> messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.)
-  </para>
-
-  <para>
-   A file like <filename>tarballs-7.5.list</filename> contains all tarballs in a X.org release. It can be generated like this:
-<screen>
-<prompt>$ </prompt>export i="mirror://xorg/X11R7.4/src/everything/"
-<prompt>$ </prompt>cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
-  | perl -e 'while (&lt;>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \
-  | sort > tarballs-7.4.list
-</screen>
-   <filename>extra.list</filename> contains libraries that aren’t part of X.org proper, but are closely related to it, such as <literal>libxcb</literal>. <filename>old.list</filename> contains some packages that were removed from X.org, but are still needed by some people or by other packages (such as <varname>imake</varname>).
-  </para>
-
-  <para>
-   If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, <varname>patches</varname> or a <varname>postInstall</varname> hook), you should modify <filename>pkgs/servers/x11/xorg/overrides.nix</filename>.
-  </para>
- </section>
-<!--============================================================-->
-<!--
-<section xml:id="sec-package-notes-gnome">
-  <title>Gnome</title>
-  <para>* Expression is auto-generated</para>
-  <para>* How to update</para>
-</section>
--->
-<!--============================================================-->
-<!--
-<section xml:id="sec-package-notes-gcc">
-  <title>GCC</title>
-  <para>…</para>
-</section>
--->
-<!--============================================================-->
- <section xml:id="sec-eclipse">
-  <title>Eclipse</title>
-
-  <para>
-   The Nix expressions related to the Eclipse platform and IDE are in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
-  </para>
-
-  <para>
-   Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
-<screen>
-<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
-</screen>
-   Once an Eclipse variant is installed it can be run using the <command>eclipse</command> command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
-  </para>
-
-  <para>
-   If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an <emphasis>Eclipse environment</emphasis>. This type of environment is created using the function <varname>eclipseWithPlugins</varname> found inside the <varname>nixpkgs.eclipses</varname> attribute set. This function takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal> where <varname>eclipse</varname> is a one of the Eclipse packages described above, <varname>plugins</varname> is a list of plugin derivations, and <varname>jvmArgs</varname> is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
-<screen>
-packageOverrides = pkgs: {
-  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
-    eclipse = eclipse-platform;
-    jvmArgs = [ "-Xmx2048m" ];
-    plugins = [ plugins.color-theme ];
-  };
-}
-</screen>
-   to your Nixpkgs configuration (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using <varname>eclipseWithPlugins</varname> by running
-<screen>
-<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
-</screen>
-  </para>
-
-  <para>
-   If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the <varname>buildEclipseUpdateSite</varname> and <varname>buildEclipsePlugin</varname> functions found in the <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the <varname>buildEclipseUpdateSite</varname> function to install a plugin distributed as an Eclipse update site. This function takes <literal>{ name, src }</literal> as argument where <literal>src</literal> indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the <varname>buildEclipsePlugin</varname> function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument <literal>{ name, srcFeature, srcPlugin }</literal> where <literal>srcFeature</literal> and <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
-  </para>
-
-  <para>
-   Expanding the previous example with two plugins using the above functions we have
-<screen>
-packageOverrides = pkgs: {
-  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
-    eclipse = eclipse-platform;
-    jvmArgs = [ "-Xmx2048m" ];
-    plugins = [
-      plugins.color-theme
-      (plugins.buildEclipsePlugin {
-        name = "myplugin1-1.0";
-        srcFeature = fetchurl {
-          url = "http://…/features/myplugin1.jar";
-          sha256 = "123…";
-        };
-        srcPlugin = fetchurl {
-          url = "http://…/plugins/myplugin1.jar";
-          sha256 = "123…";
-        };
-      });
-      (plugins.buildEclipseUpdateSite {
-        name = "myplugin2-1.0";
-        src = fetchurl {
-          stripRoot = false;
-          url = "http://…/myplugin2.zip";
-          sha256 = "123…";
-        };
-      });
-    ];
-  };
-}
-</screen>
-  </para>
- </section>
- <section xml:id="sec-elm">
-  <title>Elm</title>
-
-  <para>
-   To start a development environment do <command>nix-shell -p elmPackages.elm elmPackages.elm-format</command>
-  </para>
-
-  <para>
-   To update Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
-  </para>
-
-  <para>
-   To package Elm applications, <link xlink:href="https://github.com/hercules-ci/elm2nix#elm2nix">read about elm2nix</link>.
-  </para>
- </section>
- <section xml:id="sec-kakoune">
-  <title>Kakoune</title>
-
-  <para>
-   Kakoune can be built to autoload plugins:
-<programlisting>(kakoune.override {
-  configure = {
-    plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
-  };
-})</programlisting>
-  </para>
- </section>
- <section xml:id="sec-shell-helpers">
-  <title>Interactive shell helpers</title>
-
-  <para>
-   Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard share directory location. This is why a bunch <command>PACKAGE-share</command> scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
-   <itemizedlist>
-    <listitem>
-     <para>
-      <literal>autojump</literal>: <command>autojump-share</command>
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      <literal>fzf</literal>: <command>fzf-share</command>
-     </para>
-    </listitem>
-   </itemizedlist>
-   E.g. <literal>autojump</literal> can then used in the .bashrc like this:
-<screen>
-  source "$(autojump-share)/autojump.bash"
-</screen>
-  </para>
- </section>
- <section xml:id="sec-weechat">
-  <title>Weechat</title>
-
-  <para>
-   Weechat can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, install an expression that overrides its configuration such as
-<programlisting>weechat.override {configure = {availablePlugins, ...}: {
-    plugins = with availablePlugins; [ python perl ];
-  }
-}</programlisting>
-   If the <literal>configure</literal> function returns an attrset without the <literal>plugins</literal> attribute, <literal>availablePlugins</literal> will be used automatically.
-  </para>
-
-  <para>
-   The plugins currently available are <literal>python</literal>, <literal>perl</literal>, <literal>ruby</literal>, <literal>guile</literal>, <literal>tcl</literal> and <literal>lua</literal>.
-  </para>
-
-  <para>
-   The python and perl plugins allows the addition of extra libraries. For instance, the <literal>inotify.py</literal> script in weechat-scripts requires D-Bus or libnotify, and the <literal>fish.py</literal> script requires pycrypto. To use these scripts, use the plugin's <literal>withPackages</literal> attribute:
-<programlisting>weechat.override { configure = {availablePlugins, ...}: {
-    plugins = with availablePlugins; [
-            (python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
-        ];
-    };
-}
-</programlisting>
-  </para>
-
-  <para>
-   In order to also keep all default plugins installed, it is possible to use the following method:
-<programlisting>weechat.override { configure = { availablePlugins, ... }: {
-  plugins = builtins.attrValues (availablePlugins // {
-    python = availablePlugins.python.withPackages (ps: with ps; [ pycrypto python-dbus ]);
-  });
-}; }
-</programlisting>
-  </para>
-
-  <para>
-   WeeChat allows to set defaults on startup using the <literal>--run-command</literal>. The <literal>configure</literal> method can be used to pass commands to the program:
-<programlisting>weechat.override {
-  configure = { availablePlugins, ... }: {
-    init = ''
-      /set foo bar
-      /server add freenode chat.freenode.org
-    '';
-  };
-}</programlisting>
-   Further values can be added to the list of commands when running <literal>weechat --run-command "your-commands"</literal>.
-  </para>
-
-  <para>
-   Additionally it's possible to specify scripts to be loaded when starting <literal>weechat</literal>. These will be loaded before the commands from <literal>init</literal>:
-<programlisting>weechat.override {
-  configure = { availablePlugins, ... }: {
-    scripts = with pkgs.weechatScripts; [
-      weechat-xmpp weechat-matrix-bridge wee-slack
-    ];
-    init = ''
-      /set plugins.var.python.jabber.key "val"
-    '':
-  };
-}</programlisting>
-  </para>
-
-  <para>
-   In <literal>nixpkgs</literal> there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a <literal>passthru.scripts</literal> attribute which contains a list of all scripts inside the store path. Furthermore all scripts have to live in <literal>$out/share</literal>. An exemplary derivation looks like this:
-<programlisting>{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "exemplary-weechat-script";
-  src = fetchurl {
-    url = "https://scripts.tld/your-scripts.tar.gz";
-    sha256 = "...";
-  };
-  passthru.scripts = [ "foo.py" "bar.lua" ];
-  installPhase = ''
-    mkdir $out/share
-    cp foo.py $out/share
-    cp bar.lua $out/share
-  '';
-}</programlisting>
-  </para>
- </section>
- <section xml:id="sec-ibus-typing-booster">
-  <title>ibus-engines.typing-booster</title>
-
-  <para>
-   This package is an ibus-based completion method to speed up typing.
-  </para>
-
-  <section xml:id="sec-ibus-typing-booster-activate">
-   <title>Activating the engine</title>
-
-   <para>
-    IBus needs to be configured accordingly to activate <literal>typing-booster</literal>. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the <link xlink:href="https://mike-fabian.github.io/ibus-typing-booster/documentation.html">upstream docs</link>.
-   </para>
-
-   <para>
-    On NixOS you need to explicitly enable <literal>ibus</literal> with given engines before customizing your desktop to use <literal>typing-booster</literal>. This can be achieved using the <literal>ibus</literal> module:
-<programlisting>{ pkgs, ... }: {
-  i18n.inputMethod = {
-    enabled = "ibus";
-    ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
-  };
-}</programlisting>
-   </para>
-  </section>
-
-  <section xml:id="sec-ibus-typing-booster-customize-hunspell">
-   <title>Using custom hunspell dictionaries</title>
-
-   <para>
-    The IBus engine is based on <literal>hunspell</literal> to support completion in many languages. By default the dictionaries <literal>de-de</literal>, <literal>en-us</literal>, <literal>fr-moderne</literal> <literal>es-es</literal>, <literal>it-it</literal>, <literal>sv-se</literal> and <literal>sv-fi</literal> are in use. To add another dictionary, the package can be overridden like this:
-<programlisting>ibus-engines.typing-booster.override {
-  langs = [ "de-at" "en-gb" ];
-}</programlisting>
-   </para>
-
-   <para>
-    <emphasis>Note: each language passed to <literal>langs</literal> must be an attribute name in <literal>pkgs.hunspellDicts</literal>.</emphasis>
-   </para>
-  </section>
-
-  <section xml:id="sec-ibus-typing-booster-emoji-picker">
-   <title>Built-in emoji picker</title>
-
-   <para>
-    The <literal>ibus-engines.typing-booster</literal> package contains a program named <literal>emoji-picker</literal>. To display all emojis correctly, a special font such as <literal>noto-fonts-emoji</literal> is needed:
-   </para>
-
-   <para>
-    On NixOS it can be installed using the following expression:
-<programlisting>{ pkgs, ... }: {
-  fonts.fonts = with pkgs; [ noto-fonts-emoji ];
-}</programlisting>
-   </para>
-  </section>
- </section>
- <section xml:id="sec-nginx">
-  <title>Nginx</title>
-
-  <para>
-   <link xlink:href="https://nginx.org/">Nginx</link> is a reverse proxy and lightweight webserver.
-  </para>
-
-  <section xml:id="sec-nginx-etag">
-   <title>ETags on static files served from the Nix store</title>
-
-   <para>
-    HTTP has a couple different mechanisms for caching to prevent clients from having to download the same content repeatedly if a resource has not changed since the last time it was requested. When nginx is used as a server for static files, it implements the caching mechanism based on the <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified"><literal>Last-Modified</literal></link> response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the <literal>Last-Modified</literal> header. This doesn't give the desired behavior when the file is in the Nix store, because all file timestamps are set to 0 (for reasons related to build reproducibility).
-   </para>
-
-   <para>
-    Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag"><literal>ETag</literal></link> response header. The value of the <literal>ETag</literal> header specifies some identifier for the particular content that the server is sending (e.g. a hash). When a client makes a second request for the same resource, it sends that value back in an <literal>If-None-Match</literal> header. If the ETag value is unchanged, then the server does not need to resend the content.
-   </para>
-
-   <para>
-    As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when nginx serves a file out of <filename>/nix/store</filename>, the hash in the store path is used as the <literal>ETag</literal> header in the HTTP response, thus providing proper caching functionality. This happens automatically; you do not need to do modify any configuration to get this behavior.
-   </para>
-  </section>
- </section>
-</chapter>
diff --git a/nixpkgs/doc/package-specific-user-notes.xml b/nixpkgs/doc/package-specific-user-notes.xml
deleted file mode 100644
index a3ee42dc7fa0..000000000000
--- a/nixpkgs/doc/package-specific-user-notes.xml
+++ /dev/null
@@ -1,357 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="package-specific-user-notes">
- <title>Package-specific usage notes</title>
- <para>
-  These chapters includes some notes that apply to specific packages and should answer some of the frequently asked questions related to Nixpkgs use. Some useful information related to package use can be found in <link linkend="chap-package-notes">package-specific development notes</link>.
- </para>
- <section xml:id="opengl">
-  <title>OpenGL</title>
-
-  <para>
-   Packages that use OpenGL have NixOS desktop as their primary target. The current solution for loading the GPU-specific drivers is based on <literal>libglvnd</literal> and looks for the driver implementation in <literal>LD_LIBRARY_PATH</literal>. If you are using a non-NixOS GNU/Linux/X11 desktop with free software video drivers, consider launching OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of <literal>libglvnd</literal> and <literal>mesa_drivers</literal> in <literal>LD_LIBRARY_PATH</literal>. For proprietary video drivers you might have luck with also adding the corresponding video driver package.
-  </para>
- </section>
- <section xml:id="locales">
-  <title>Locales</title>
-
-  <para>
-   To allow simultaneous use of packages linked against different versions of <literal>glibc</literal> with different locale archive formats Nixpkgs patches <literal>glibc</literal> to rely on <literal>LOCALE_ARCHIVE</literal> environment variable.
-  </para>
-
-  <para>
-   On non-NixOS distributions this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the <literal>LOCALE_ARCHIVE</literal> variable pointing to <literal>${glibcLocales}/lib/locale/locale-archive</literal>. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters <literal>allLocales</literal> and <literal>locales</literal> of the package.
-  </para>
- </section>
- <section xml:id="sec-emacs">
-  <title>Emacs</title>
-
-  <section xml:id="sec-emacs-config">
-   <title>Configuring Emacs</title>
-
-   <para>
-    The Emacs package comes with some extra helpers to make it easier to configure. <varname>emacsWithPackages</varname> allows you to manage packages from ELPA. This means that you will not have to install that packages from within Emacs. For instance, if you wanted to use <literal>company</literal>, <literal>counsel</literal>, <literal>flycheck</literal>, <literal>ivy</literal>, <literal>magit</literal>, <literal>projectile</literal>, and <literal>use-package</literal> you could use this as a <filename>~/.config/nixpkgs/config.nix</filename> override:
-   </para>
-
-<screen>
-{
-  packageOverrides = pkgs: with pkgs; {
-    myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
-      company
-      counsel
-      flycheck
-      ivy
-      magit
-      projectile
-      use-package
-    ]));
-  }
-}
-</screen>
-
-   <para>
-    You can install it like any other packages via <command>nix-env -iA myEmacs</command>. However, this will only install those packages. It will not <literal>configure</literal> them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provide a <filename>default.el</filename> file in <filename>/share/emacs/site-start/</filename>. Emacs knows to load this file automatically when it starts.
-   </para>
-
-<screen>
-{
-  packageOverrides = pkgs: with pkgs; rec {
-    myEmacsConfig = writeText "default.el" ''
-;; initialize package
-
-(require 'package)
-(package-initialize 'noactivate)
-(eval-when-compile
-  (require 'use-package))
-
-;; load some packages
-
-(use-package company
-  :bind ("&lt;C-tab&gt;" . company-complete)
-  :diminish company-mode
-  :commands (company-mode global-company-mode)
-  :defer 1
-  :config
-  (global-company-mode))
-
-(use-package counsel
-  :commands (counsel-descbinds)
-  :bind (([remap execute-extended-command] . counsel-M-x)
-         ("C-x C-f" . counsel-find-file)
-         ("C-c g" . counsel-git)
-         ("C-c j" . counsel-git-grep)
-         ("C-c k" . counsel-ag)
-         ("C-x l" . counsel-locate)
-         ("M-y" . counsel-yank-pop)))
-
-(use-package flycheck
-  :defer 2
-  :config (global-flycheck-mode))
-
-(use-package ivy
-  :defer 1
-  :bind (("C-c C-r" . ivy-resume)
-         ("C-x C-b" . ivy-switch-buffer)
-         :map ivy-minibuffer-map
-         ("C-j" . ivy-call))
-  :diminish ivy-mode
-  :commands ivy-mode
-  :config
-  (ivy-mode 1))
-
-(use-package magit
-  :defer
-  :if (executable-find "git")
-  :bind (("C-x g" . magit-status)
-         ("C-x G" . magit-dispatch-popup))
-  :init
-  (setq magit-completing-read-function 'ivy-completing-read))
-
-(use-package projectile
-  :commands projectile-mode
-  :bind-keymap ("C-c p" . projectile-command-map)
-  :defer 5
-  :config
-  (projectile-global-mode))
-    '';
-    myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
-      (runCommand "default.el" {} ''
-mkdir -p $out/share/emacs/site-lisp
-cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
-'')
-      company
-      counsel
-      flycheck
-      ivy
-      magit
-      projectile
-      use-package
-    ]));
-  };
-}
-</screen>
-
-   <para>
-    This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing <command>-q</command> to the Emacs command.
-   </para>
-
-   <para>
-    Sometimes <varname>emacsWithPackages</varname> is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in <filename>pkgs/top-level/emacs-packages.nix</filename>). But you can't control this priorities when some package is installed as a dependency. You can override it on per-package-basis, providing all the required dependencies manually - but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package you can use <varname>overrideScope'</varname>.
-   </para>
-
-<screen>
-overrides = self: super: rec {
-  haskell-mode = self.melpaPackages.haskell-mode;
-  ...
-};
-((emacsPackagesGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
-  # here both these package will use haskell-mode of our own choice
-  ghc-mod
-  dante
-])
-</screen>
-  </section>
- </section>
- <section xml:id="dlib">
-  <title>DLib</title>
-
-  <para>
-   <link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which provides several machine learning algorithms.
-  </para>
-
-  <section xml:id="compiling-without-avx-support">
-   <title>Compiling without AVX support</title>
-
-   <para>
-    Especially older CPUs don't support <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link> (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to optimize their algorithms.
-   </para>
-
-   <para>
-    On the affected hardware errors like <literal>Illegal instruction</literal> will occur. In those cases AVX support needs to be disabled:
-<programlisting>self: super: {
-  dlib = super.dlib.override { avxSupport = false; };
-}</programlisting>
-   </para>
-  </section>
- </section>
- <section xml:id="unfree-software">
-  <title>Unfree software</title>
-
-  <para>
-   All users of Nixpkgs are free software users, and many users (and developers) of Nixpkgs want to limit and tightly control their exposure to unfree software. At the same time, many users need (or want) to run some specific pieces of proprietary software. Nixpkgs includes some expressions for unfree software packages. By default unfree software cannot be installed and doesn’t show up in searches. To allow installing unfree software in a single Nix invocation one can export <literal>NIXPKGS_ALLOW_UNFREE=1</literal>. For a persistent solution, users can set <literal>allowUnfree</literal> in the Nixpkgs configuration.
-  </para>
-
-  <para>
-   Fine-grained control is possible by defining <literal>allowUnfreePredicate</literal> function in config; it takes the <literal>mkDerivation</literal> parameter attrset and returns <literal>true</literal> for unfree packages that should be allowed.
-  </para>
- </section>
- <section xml:id="sec-steam">
-  <title>Steam</title>
-
-  <section xml:id="sec-steam-nix">
-   <title>Steam in Nix</title>
-
-   <para>
-    Steam is distributed as a <filename>.deb</filename> file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called <filename>steam</filename> that in Ubuntu (their target distro) would go to <filename>/usr/bin </filename>. When run for the first time, this script copies some files to the user's home, which include another script that is the ultimate responsible for launching the steam binary, which is also in $HOME.
-   </para>
-
-   <para>
-    Nix problems and constraints:
-    <itemizedlist>
-     <listitem>
-      <para>
-       We don't have <filename>/bin/bash</filename> and many scripts point there. Similarly for <filename>/usr/bin/python</filename> .
-      </para>
-     </listitem>
-     <listitem>
-      <para>
-       We don't have the dynamic loader in <filename>/lib </filename>.
-      </para>
-     </listitem>
-     <listitem>
-      <para>
-       The <filename>steam.sh</filename> script in $HOME can not be patched, as it is checked and rewritten by steam.
-      </para>
-     </listitem>
-     <listitem>
-      <para>
-       The steam binary cannot be patched, it's also checked.
-      </para>
-     </listitem>
-    </itemizedlist>
-   </para>
-
-   <para>
-    The current approach to deploy Steam in NixOS is composing a FHS-compatible chroot environment, as documented <link xlink:href="http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html">here</link>. This allows us to have binaries in the expected paths without disrupting the system, and to avoid patching them to work in a non FHS environment.
-   </para>
-  </section>
-
-  <section xml:id="sec-steam-play">
-   <title>How to play</title>
-
-   <para>
-    For 64-bit systems it's important to have
-<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
-    in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
-<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
-    if you are using PulseAudio - this will enable 32bit ALSA apps integration. To use the Steam controller or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro, you need to add
-<programlisting>hardware.steam-hardware.enable = true;</programlisting>
-    to your configuration.
-   </para>
-  </section>
-
-  <section xml:id="sec-steam-troub">
-   <title>Troubleshooting</title>
-
-   <para>
-    <variablelist>
-     <varlistentry>
-      <term>
-       Steam fails to start. What do I do?
-      </term>
-      <listitem>
-       <para>
-        Try to run
-<programlisting>strace steam</programlisting>
-        to see what is causing steam to fail.
-       </para>
-      </listitem>
-     </varlistentry>
-     <varlistentry>
-      <term>
-       Using the FOSS Radeon or nouveau (nvidia) drivers
-      </term>
-      <listitem>
-       <itemizedlist>
-        <listitem>
-         <para>
-          The <literal>newStdcpp</literal> parameter was removed since NixOS 17.09 and should not be needed anymore.
-         </para>
-        </listitem>
-        <listitem>
-         <para>
-          Steam ships statically linked with a version of libcrypto that conflics with the one dynamically loaded by radeonsi_dri.so. If you get the error
-<programlisting>steam.sh: line 713: 7842 Segmentation fault (core dumped)</programlisting>
-          have a look at <link xlink:href="https://github.com/NixOS/nixpkgs/pull/20269">this pull request</link>.
-         </para>
-        </listitem>
-       </itemizedlist>
-      </listitem>
-     </varlistentry>
-     <varlistentry>
-      <term>
-       Java
-      </term>
-      <listitem>
-       <orderedlist>
-        <listitem>
-         <para>
-          There is no java in steam chrootenv by default. If you get a message like
-<programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
-          You need to add
-<programlisting> steam.override { withJava = true; };</programlisting>
-          to your configuration.
-         </para>
-        </listitem>
-       </orderedlist>
-      </listitem>
-     </varlistentry>
-    </variablelist>
-   </para>
-  </section>
-
-  <section xml:id="sec-steam-run">
-   <title>steam-run</title>
-
-   <para>
-    The FHS-compatible chroot used for steam can also be used to run other linux games that expect a FHS environment. To do it, add
-<programlisting>pkgs.(steam.override {
-          nativeOnly = true;
-          newStdcpp = true;
-        }).run</programlisting>
-    to your configuration, rebuild, and run the game with
-<programlisting>steam-run ./foo</programlisting>
-   </para>
-  </section>
- </section>
- <section xml:id="sec-citrix">
-  <title>Citrix Receiver &amp; Citrix Workspace App</title>
-
-  <para>
-   <note>
-    <para>
-     Please note that the <literal>citrix_receiver</literal> package has been deprecated since its development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link> and has been replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
-    </para>
-   </note>
-   <link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link> are a remote desktop viewers which provide access to <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link> installations.
-  </para>
-
-  <section xml:id="sec-citrix-base">
-   <title>Basic usage</title>
-
-   <para>
-    The tarball archive needs to be downloaded manually as the license agreements of the vendor for <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">Citrix Receiver</link> or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link> need to be accepted first. Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>. With the archive available in the store the package can be built and installed with Nix.
-   </para>
-
-   <warning>
-    <title>Caution with <command>nix-shell</command> installs</title>
-    <para>
-     It's recommended to install <literal>Citrix Receiver</literal> and/or <literal>Citrix Workspace</literal> using <literal>nix-env -i</literal> or globally to ensure that the <literal>.desktop</literal> files are installed properly into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to open <literal>.ica</literal> files automatically from the browser to start a Citrix connection.
-    </para>
-   </warning>
-  </section>
-
-  <section xml:id="sec-citrix-custom-certs">
-   <title>Custom certificates</title>
-
-   <para>
-    The <literal>Citrix Workspace App</literal> in <literal>nixpkgs</literal> trust several certificates <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the Mozilla database</link> by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in <link xlink:href="https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/"><literal>$ICAROOT</literal></link>, however this directory is a store path in <literal>nixpkgs</literal>. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using <literal>symlinkJoin</literal>:
-<programlisting>
-<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
-let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
-citrix_workspace.override {
-  inherit extraCerts;
-}]]>
-</programlisting>
-   </para>
-  </section>
- </section>
-</chapter>
diff --git a/nixpkgs/doc/introduction.chapter.md b/nixpkgs/doc/preface.chapter.md
index 6abdc2714e2c..88ca5e2e3cec 100644
--- a/nixpkgs/doc/introduction.chapter.md
+++ b/nixpkgs/doc/preface.chapter.md
@@ -1,44 +1,45 @@
 ---
-title: Introduction
+title: Preface
 author: Frederik Rietdijk
 date: 2015-11-25
 ---
 
-# Introduction
+# Preface
 
 The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
-[Nix package manager](http://nixos.org/nix/), released under a
+[Nix package manager](https://nixos.org/nix/), released under a
 [permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
 Packages are available for several platforms, and can be used with the Nix
-package manager on most GNU/Linux distributions as well as NixOS.
+package manager on most GNU/Linux distributions as well as [NixOS](https://nixos.org/nixos).
 
 This manual primarily describes how to write packages for the Nix Packages collection
 (Nixpkgs). Thus it’s mainly for packagers and developers who want to add packages to
 Nixpkgs. If you like to learn more about the Nix package manager and the Nix
-expression language, then you are kindly referred to the [Nix manual](http://nixos.org/nix/manual/).
+expression language, then you are kindly referred to the [Nix manual](https://nixos.org/nix/manual/).
+The NixOS distribution is documented in the [NixOS manual](https://nixos.org/nixos/manual/).
 
 ## Overview of Nixpkgs
 
 Nix expressions describe how to build packages from source and are collected in
 the [nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
 collection are Nix expressions for
-[NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules).
+[NixOS modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules).
 With these expressions the Nix package manager can build binary packages.
 
 Packages, including the Nix packages collection, are distributed through
-[channels](http://nixos.org/nix/manual/#sec-channels). The collection is
+[channels](https://nixos.org/nix/manual/#sec-channels). The collection is
 distributed for users of Nix on non-NixOS distributions through the channel
 `nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g.
-`nixos-16.03`, which includes all packages and modules for the stable NixOS
-16.03. Stable NixOS releases are generally only given
+`nixos-19.09`, which includes all packages and modules for the stable NixOS
+19.09. Stable NixOS releases are generally only given
 security updates. More up to date packages and modules are available via the
 `nixos-unstable` channel.
 
 Both `nixos-unstable` and `nixpkgs` follow the `master` branch of the Nixpkgs
 repository, although both do lag the `master` branch by generally
-[a couple of days](http://howoldis.herokuapp.com/). Updates to a channel are
+[a couple of days](https://howoldis.herokuapp.com/). Updates to a channel are
 distributed as soon as all tests for that channel pass, e.g.
-[this table](http://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
+[this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
 shows the status of tests for the `nixpkgs` channel.
 
 The tests are conducted by a cluster called [Hydra](http://nixos.org/hydra/),
@@ -47,5 +48,5 @@ which also builds binary packages from the Nix expressions in Nixpkgs for
 The binaries are made available via a [binary cache](https://cache.nixos.org).
 
 The current Nix expressions of the channels are available in the
-[`nixpkgs-channels`](https://github.com/NixOS/nixpkgs-channels) repository,
-which has branches corresponding to the available channels.
+[`nixpkgs`](https://github.com/NixOS/nixpkgs) repository in branches
+that correspond to the channel names (e.g. `nixos-19.09-small`).
diff --git a/nixpkgs/doc/cross-compilation.xml b/nixpkgs/doc/stdenv/cross-compilation.xml
index 93fe9095ce2f..bea56a0c2fc1 100644
--- a/nixpkgs/doc/cross-compilation.xml
+++ b/nixpkgs/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>
@@ -348,12 +348,12 @@ nix-build '&lt;nixpkgs&gt;' --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&g
       </para>
      </listitem>
     </orderedlist>
-    In each stage, <varname>pkgsBuildHost</varname> refers the the previous stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and <varname>pkgsHostTarget</varname> refers to the current one, and <varname>pkgsTargetTarget</varname> refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note how all the invariants regarding the mapping between dependency and depending packages' build host and target platforms are preserved. <varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" self-references at the ends). We just special case each instead. All the primary edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>, and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
+    In each stage, <varname>pkgsBuildHost</varname> refers to the previous stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and <varname>pkgsHostTarget</varname> refers to the current one, and <varname>pkgsTargetTarget</varname> refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note how all the invariants regarding the mapping between dependency and depending packages' build host and target platforms are preserved. <varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" self-references at the ends). We just special case each instead. All the primary edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>, and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
    </para>
 
    <note>
     <para>
-     Note the native stages are bootstrapped in legacy ways that predate the current cross implementation. This is why the the bootstrapping stages leading up to the final stages are ignored inthe previous paragraph.
+     Note the native stages are bootstrapped in legacy ways that predate the current cross implementation. This is why the bootstrapping stages leading up to the final stages are ignored inthe previous paragraph.
     </para>
    </note>
 
diff --git a/nixpkgs/doc/meta.xml b/nixpkgs/doc/stdenv/meta.xml
index 9371196818ad..9371196818ad 100644
--- a/nixpkgs/doc/meta.xml
+++ b/nixpkgs/doc/stdenv/meta.xml
diff --git a/nixpkgs/doc/multiple-output.xml b/nixpkgs/doc/stdenv/multiple-output.xml
index 83275bb2fbd1..83275bb2fbd1 100644
--- a/nixpkgs/doc/multiple-output.xml
+++ b/nixpkgs/doc/stdenv/multiple-output.xml
diff --git a/nixpkgs/doc/platform-notes.xml b/nixpkgs/doc/stdenv/platform-notes.xml
index d8d7692fc9a7..5a266fdc0eea 100644
--- a/nixpkgs/doc/platform-notes.xml
+++ b/nixpkgs/doc/stdenv/platform-notes.xml
@@ -1,6 +1,6 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="chap-platform-nodes">
+         xml:id="chap-platform-notes">
  <title>Platform Notes</title>
  <section xml:id="sec-darwin">
   <title>Darwin (macOS)</title>
diff --git a/nixpkgs/doc/stdenv.xml b/nixpkgs/doc/stdenv/stdenv.xml
index 5495ce29ce31..1e97bf6157bb 100644
--- a/nixpkgs/doc/stdenv.xml
+++ b/nixpkgs/doc/stdenv/stdenv.xml
@@ -1123,6 +1123,16 @@ preBuild = ''
 
    <variablelist>
     <title>Variables controlling the install phase</title>
+     <varlistentry>
+     <term>
+       <varname>dontInstall</varname>
+     </term>
+     <listitem>
+      <para>
+       Set to true to skip the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term>
       <varname>makeFlags</varname> / <varname>makeFlagsArray</varname> / <varname>makefile</varname>
@@ -1692,7 +1702,7 @@ someVar=$(stripHash $name)
     </term>
     <listitem>
      <para>
-      Convenience function for <literal>makeWrapper</literal> that automatically creates a sane wrapper file It takes all the same arguments as <literal>makeWrapper</literal>, except for <literal>--argv0</literal>.
+      Convenience function for <literal>makeWrapper</literal> that automatically creates a sane wrapper file. It takes all the same arguments as <literal>makeWrapper</literal>, except for <literal>--argv0</literal>.
      </para>
      <para>
       It cannot be applied multiple times, since it will overwrite the wrapper file.
@@ -1717,7 +1727,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>
@@ -1869,7 +1879,7 @@ addEnvHooks "$hostOffset" myBashFunction
   </para>
 
   <para>
-   Here are some more packages that provide a setup hook. Since the list of hooks is extensible, this is not an exhaustive list the mechanism is only to be used as a last resort, it might cover most uses.
+   Here are some more packages that provide a setup hook. Since the list of hooks is extensible, this is not an exhaustive list. The mechanism is only to be used as a last resort, so it might cover most uses.
    <variablelist>
     <varlistentry>
      <term>
diff --git a/nixpkgs/doc/configuration.xml b/nixpkgs/doc/using/configuration.xml
index cb660452d828..f4d6e9110064 100644
--- a/nixpkgs/doc/configuration.xml
+++ b/nixpkgs/doc/using/configuration.xml
@@ -45,7 +45,7 @@
   However, this does not allow unfree software for individual users. Their configurations are managed separately.
  </para>
  <para>
-  A user's of nixpkgs configuration is stored in a user-specific configuration file located at <filename>~/.config/nixpkgs/config.nix</filename>. For example:
+  A user's nixpkgs configuration is stored in a user-specific configuration file located at <filename>~/.config/nixpkgs/config.nix</filename>. For example:
 <programlisting>
 {
   allowUnfree = true;
@@ -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
-    (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/nixpkgs/doc/overlays.xml b/nixpkgs/doc/using/overlays.xml
index 26a888368abf..26a888368abf 100644
--- a/nixpkgs/doc/overlays.xml
+++ b/nixpkgs/doc/using/overlays.xml
diff --git a/nixpkgs/doc/functions/overrides.xml b/nixpkgs/doc/using/overrides.xml
index 4ba4283c6094..c9d36ddb2d7b 100644
--- a/nixpkgs/doc/functions/overrides.xml
+++ b/nixpkgs/doc/using/overrides.xml
@@ -1,17 +1,14 @@
-<section xmlns="http://docbook.org/ns/docbook"
+<chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
-         xml:id="sec-overrides">
+         xml:id="chap-overrides">
  <title>Overriding</title>
-
  <para>
   Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g. derivation attributes, the results of derivations.
  </para>
-
  <para>
   These functions are used to make changes to packages, returning only single packages. <link xlink:href="#chap-overlays">Overlays</link>, on the other hand, can be used to combine the overridden packages across the entire package set of Nixpkgs.
  </para>
-
  <section xml:id="sec-pkg-override">
   <title>&lt;pkg&gt;.override</title>
 
@@ -45,7 +42,6 @@ mypkg = pkgs.callPackage ./mypkg.nix {
    In the first example, <varname>pkgs.foo</varname> is the result of a function call with some default arguments, usually a derivation. Using <varname>pkgs.foo.override</varname> will call the same function with the given new arguments.
   </para>
  </section>
-
  <section xml:id="sec-pkg-overrideAttrs">
   <title>&lt;pkg&gt;.overrideAttrs</title>
 
@@ -76,7 +72,6 @@ helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
    </para>
   </note>
  </section>
-
  <section xml:id="sec-pkg-overrideDerivation">
   <title>&lt;pkg&gt;.overrideDerivation</title>
 
@@ -124,7 +119,6 @@ mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
    </para>
   </note>
  </section>
-
  <section xml:id="sec-lib-makeOverridable">
   <title>lib.makeOverridable</title>
 
@@ -148,4 +142,4 @@ c = lib.makeOverridable f { a = 1; b = 2; };
    The variable <varname>c</varname> however also has some additional functions, like <link linkend="sec-pkg-override">c.override</link> which can be used to override the default arguments. In this example the value of <varname>(c.override { a = 4; }).result</varname> is 6.
   </para>
  </section>
-</section>
+</chapter>
diff --git a/nixpkgs/lib/customisation.nix b/nixpkgs/lib/customisation.nix
index 3be36fcd719b..ac234e3b8c6f 100644
--- a/nixpkgs/lib/customisation.nix
+++ b/nixpkgs/lib/customisation.nix
@@ -66,22 +66,31 @@ rec {
   */
   makeOverridable = f: origArgs:
     let
-      ff = f origArgs;
+      result = f origArgs;
+
+      # Creates a functor with the same arguments as f
+      copyArgs = g: lib.setFunctionArgs g (lib.functionArgs f);
+      # Changes the original arguments with (potentially a function that returns) a set of new attributes
       overrideWith = newArgs: origArgs // (if lib.isFunction newArgs then newArgs origArgs else newArgs);
+
+      # Re-call the function but with different arguments
+      overrideArgs = copyArgs (newArgs: makeOverridable f (overrideWith newArgs));
+      # Change the result of the function call by applying g to it
+      overrideResult = g: makeOverridable (copyArgs (args: g (f args))) origArgs;
     in
-      if builtins.isAttrs ff then (ff // {
-        override = newArgs: makeOverridable f (overrideWith newArgs);
-        overrideDerivation = fdrv:
-          makeOverridable (args: overrideDerivation (f args) fdrv) origArgs;
-        ${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv:
-          makeOverridable (args: (f args).overrideAttrs fdrv) origArgs;
-      })
-      else if lib.isFunction ff then {
-        override = newArgs: makeOverridable f (overrideWith newArgs);
-        __functor = self: ff;
-        overrideDerivation = throw "overrideDerivation not yet supported for functors";
-      }
-      else ff;
+      if builtins.isAttrs result then
+        result // {
+          override = overrideArgs;
+          overrideDerivation = fdrv: overrideResult (x: overrideDerivation x fdrv);
+          ${if result ? overrideAttrs then "overrideAttrs" else null} = fdrv:
+            overrideResult (x: x.overrideAttrs fdrv);
+        }
+      else if lib.isFunction result then
+        # Transform the result into a functor while propagating its arguments
+        lib.setFunctionArgs result (lib.functionArgs result) // {
+          override = overrideArgs;
+        }
+      else result;
 
 
   /* Call the package function in the file `fn' with the required
diff --git a/nixpkgs/lib/default.nix b/nixpkgs/lib/default.nix
index 18d2dfae1e18..9f7a088d792d 100644
--- a/nixpkgs/lib/default.nix
+++ b/nixpkgs/lib/default.nix
@@ -57,8 +57,8 @@ let
       hasAttr head isAttrs isBool isInt isList isString length
       lessThan listToAttrs pathExists readFile replaceStrings seq
       stringLength sub substring tail;
-    inherit (trivial) id const concat or and bitAnd bitOr bitXor bitNot
-      boolToString mergeAttrs flip mapNullable inNixShell min max
+    inherit (trivial) id const pipe concat or and bitAnd bitOr bitXor
+      bitNot boolToString mergeAttrs flip mapNullable inNixShell min max
       importJSON warn info showWarnings nixpkgsVersion version mod compare
       splitByAndCompare functionArgs setFunctionArgs isFunction;
     inherit (fixedPoints) fix fix' converge extends composeExtensions
@@ -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;
@@ -100,8 +101,8 @@ let
       cleanSource sourceByRegex sourceFilesBySuffices
       commitIdFromGitRepo cleanSourceWith pathHasContext
       canCleanSource;
-    inherit (modules) evalModules closeModules unifyModuleSyntax
-      applyIfFunction unpackSubmodule packSubmodule mergeModules
+    inherit (modules) evalModules unifyModuleSyntax
+      applyIfFunction mergeModules
       mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
       pushDownProperties dischargeProperties filterOverrides
       sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride
@@ -109,7 +110,7 @@ let
       mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions
       mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
       mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
-      mkAliasOptionModule doRename filterModules;
+      mkAliasOptionModule doRename;
     inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions
       mergeDefaultOption mergeOneOption mergeEqualOption getValues
       getFiles optionAttrSetToDocList optionAttrSetToDocList'
@@ -134,5 +135,7 @@ let
       mergeAttrsByFuncDefaultsClean mergeAttrBy
       fakeSha256 fakeSha512
       nixType imap;
+    inherit (versions)
+      splitVersion;
   });
 in lib
diff --git a/nixpkgs/lib/modules.nix b/nixpkgs/lib/modules.nix
index c3c903c1dfa8..38d6ac8cd916 100644
--- a/nixpkgs/lib/modules.nix
+++ b/nixpkgs/lib/modules.nix
@@ -59,9 +59,12 @@ rec {
         };
       };
 
-      closed = closeModules (modules ++ [ internalModule ]) ({ inherit config options lib; } // specialArgs);
+      collected = collectModules
+        (specialArgs.modulesPath or "")
+        (modules ++ [ internalModule ])
+        ({ inherit config options lib; } // specialArgs);
 
-      options = mergeModules prefix (reverseList (filterModules (specialArgs.modulesPath or "") closed));
+      options = mergeModules prefix (reverseList collected);
 
       # Traverse options and extract the option values into the final
       # config set.  At the same time, check whether all option
@@ -87,58 +90,103 @@ rec {
       result = { inherit options config; };
     in result;
 
+  # collectModules :: (modulesPath: String) -> (modules: [ Module ]) -> (args: Attrs) -> [ Module ]
+  #
+  # Collects all modules recursively through `import` statements, filtering out
+  # all modules in disabledModules.
+  collectModules = let
 
- # Filter disabled modules. Modules can be disabled allowing
- # their implementation to be replaced.
- filterModules = modulesPath: modules:
-   let
-     moduleKey = m: if isString m then toString modulesPath + "/" + m else toString m;
-     disabledKeys = map moduleKey (concatMap (m: m.disabledModules) modules);
-   in
-     filter (m: !(elem m.key disabledKeys)) modules;
+      # Like unifyModuleSyntax, but also imports paths and calls functions if necessary
+      loadModule = args: fallbackFile: fallbackKey: m:
+        if isFunction m || isAttrs m then
+          unifyModuleSyntax fallbackFile fallbackKey (applyIfFunction fallbackKey m args)
+        else unifyModuleSyntax (toString m) (toString m) (applyIfFunction (toString m) (import m) args);
 
-  /* Close a set of modules under the ‘imports’ relation. */
-  closeModules = modules: args:
-    let
-      toClosureList = file: parentKey: imap1 (n: x:
-        if isAttrs x || isFunction x then
-          let key = "${parentKey}:anon-${toString n}"; in
-          unifyModuleSyntax file key (unpackSubmodule (applyIfFunction key) x args)
-        else
-          let file = toString x; key = toString x; in
-          unifyModuleSyntax file key (applyIfFunction key (import x) args));
-    in
-      builtins.genericClosure {
-        startSet = toClosureList unknownModule "" modules;
-        operator = m: toClosureList m.file m.key m.imports;
-      };
+      /*
+      Collects all modules recursively into the form
+
+        {
+          disabled = [ <list of disabled modules> ];
+          # All modules of the main module list
+          modules = [
+            {
+              key = <key1>;
+              module = <module for key1>;
+              # All modules imported by the module for key1
+              modules = [
+                {
+                  key = <key1-1>;
+                  module = <module for key1-1>;
+                  # All modules imported by the module for key1-1
+                  modules = [ ... ];
+                }
+                ...
+              ];
+            }
+            ...
+          ];
+        }
+      */
+      collectStructuredModules =
+        let
+          collectResults = modules: {
+            disabled = concatLists (catAttrs "disabled" modules);
+            inherit modules;
+          };
+        in parentFile: parentKey: initialModules: args: collectResults (imap1 (n: x:
+          let
+            module = loadModule args parentFile "${parentKey}:anon-${toString n}" x;
+            collectedImports = collectStructuredModules module._file module.key module.imports args;
+          in {
+            key = module.key;
+            module = module;
+            modules = collectedImports.modules;
+            disabled = module.disabledModules ++ collectedImports.disabled;
+          }) initialModules);
+
+      # filterModules :: String -> { disabled, modules } -> [ Module ]
+      #
+      # Filters a structure as emitted by collectStructuredModules by removing all disabled
+      # modules recursively. It returns the final list of unique-by-key modules
+      filterModules = modulesPath: { disabled, modules }:
+        let
+          moduleKey = m: if isString m then toString modulesPath + "/" + m else toString m;
+          disabledKeys = listToAttrs (map (k: nameValuePair (moduleKey k) null) disabled);
+          keyFilter = filter (attrs: ! disabledKeys ? ${attrs.key});
+        in map (attrs: attrs.module) (builtins.genericClosure {
+          startSet = keyFilter modules;
+          operator = attrs: keyFilter attrs.modules;
+        });
+
+    in modulesPath: initialModules: args:
+      filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
 
   /* Massage a module into canonical form, that is, a set consisting
      of ‘options’, ‘config’ and ‘imports’ attributes. */
   unifyModuleSyntax = file: key: m:
-    let metaSet = if m ? meta
-      then { meta = m.meta; }
-      else {};
+    let addMeta = config: if m ? meta
+      then mkMerge [ config { meta = m.meta; } ]
+      else config;
     in
     if m ? config || m ? options then
       let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta"]; in
       if badAttrs != {} then
-        throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by assignments to the top-level attributes `config' or `options'."
+        throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by introducing a top-level `config' or `options' attribute. Add configuration attributes immediately on the top level instead, or move all of them (namely: ${toString (attrNames badAttrs)}) into the explicit `config' attribute."
       else
-        { file = m._file or file;
+        { _file = m._file or file;
           key = toString m.key or key;
           disabledModules = m.disabledModules or [];
           imports = m.imports or [];
           options = m.options or {};
-          config = mkMerge [ (m.config or {}) metaSet ];
+          config = addMeta (m.config or {});
         }
     else
-      { file = m._file or file;
+      { _file = m._file or file;
         key = toString m.key or key;
         disabledModules = m.disabledModules or [];
         imports = m.require or [] ++ m.imports or [];
         options = {};
-        config = mkMerge [ (removeAttrs m ["_file" "key" "disabledModules" "require" "imports"]) metaSet ];
+        config = addMeta (removeAttrs m ["_file" "key" "disabledModules" "require" "imports"]);
       };
 
   applyIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
@@ -171,17 +219,6 @@ rec {
   else
     f;
 
-  /* We have to pack and unpack submodules. We cannot wrap the expected
-     result of the function as we would no longer be able to list the arguments
-     of the submodule. (see applyIfFunction) */
-  unpackSubmodule = unpack: m: args:
-    if isType "submodule" m then
-      { _file = m.file; } // (unpack m.submodule args)
-    else unpack m args;
-
-  packSubmodule = file: m:
-    { _type = "submodule"; file = file; submodule = m; };
-
   /* Merge a list of modules.  This will recurse over the option
      declarations in all modules, combining them into a single set.
      At the same time, for each option declaration, it will merge the
@@ -189,7 +226,7 @@ rec {
      in the ‘value’ attribute of each option. */
   mergeModules = prefix: modules:
     mergeModules' prefix modules
-      (concatMap (m: map (config: { inherit (m) file; inherit config; }) (pushDownProperties m.config)) modules);
+      (concatMap (m: map (config: { file = m._file; inherit config; }) (pushDownProperties m.config)) modules);
 
   mergeModules' = prefix: options: configs:
     let
@@ -223,7 +260,7 @@ rec {
                ) {} modules;
       # an attrset 'name' => list of submodules that declare ‘name’.
       declsByName = byName "options" (module: option:
-          [{ inherit (module) file; options = option; }]
+          [{ inherit (module) _file; options = option; }]
         ) options;
       # an attrset 'name' => list of submodules that define ‘name’.
       defnsByName = byName "config" (module: value:
@@ -250,7 +287,7 @@ rec {
               firstOption = findFirst (m: isOption m.options) "" decls;
               firstNonOption = findFirst (m: !isOption m.options) "" decls;
             in
-              throw "The option `${showOption loc}' in `${firstOption.file}' is a prefix of options in `${firstNonOption.file}'."
+              throw "The option `${showOption loc}' in `${firstOption._file}' is a prefix of options in `${firstNonOption._file}'."
           else
             mergeModules' loc decls defns
       ))
@@ -267,7 +304,14 @@ rec {
 
      'opts' is a list of modules.  Each module has an options attribute which
      correspond to the definition of 'loc' in 'opt.file'. */
-  mergeOptionDecls = loc: opts:
+  mergeOptionDecls =
+   let
+    packSubmodule = file: m:
+      { _file = file; imports = [ m ]; };
+    coerceOption = file: opt:
+      if isFunction opt then packSubmodule file opt
+      else packSubmodule file { options = opt; };
+   in loc: opts:
     foldl' (res: opt:
       let t  = res.type;
           t' = opt.options.type;
@@ -284,7 +328,7 @@ rec {
          bothHave "apply" ||
          (bothHave "type" && (! typesMergeable))
       then
-        throw "The option `${showOption loc}' in `${opt.file}' is already declared in ${showFiles res.declarations}."
+        throw "The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
       else
         let
           /* Add the modules of the current option to the list of modules
@@ -293,16 +337,14 @@ rec {
              current option declaration as the file use for the submodule.  If the
              submodule defines any filename, then we ignore the enclosing option file. */
           options' = toList opt.options.options;
-          coerceOption = file: opt:
-            if isFunction opt then packSubmodule file opt
-            else packSubmodule file { options = opt; };
+
           getSubModules = opt.options.type.getSubModules or null;
           submodules =
-            if getSubModules != null then map (packSubmodule opt.file) getSubModules ++ res.options
-            else if opt.options ? options then map (coerceOption opt.file) options' ++ res.options
+            if getSubModules != null then map (packSubmodule opt._file) getSubModules ++ res.options
+            else if opt.options ? options then map (coerceOption opt._file) options' ++ res.options
             else res.options;
         in opt.options // res //
-          { declarations = res.declarations ++ [opt.file];
+          { declarations = res.declarations ++ [opt._file];
             options = submodules;
           } // typeSet
     ) { inherit loc; declarations = []; options = []; } opts;
@@ -326,6 +368,8 @@ rec {
 
       # The value with a check that it is defined
       valueDefined = if res.isDefined then res.mergedValue else
+        # (nixos-option detects this specific error message and gives it special
+        # handling.  If changed here, please change it there too.)
         throw "The option `${showOption loc}' is used but not defined.";
 
       # Apply the 'apply' function to the merged value. This allows options to
@@ -591,12 +635,16 @@ rec {
     { options, ... }:
     { options = setAttrByPath optionName (mkOption {
         visible = false;
+        apply = x: throw "The option `${showOption optionName}' can no longer be used since it's been removed. ${replacementInstructions}";
       });
-      config.warnings =
-        let opt = getAttrFromPath optionName options; in
-        optional opt.isDefined ''
+      config.assertions =
+        let opt = getAttrFromPath optionName options; in [{
+          assertion = !opt.isDefined;
+          message = ''
             The option definition `${showOption optionName}' in ${showFiles opt.files} no longer has any effect; please remove it.
-            ${replacementInstructions}'';
+            ${replacementInstructions}
+          '';
+        }];
     };
 
   /* Return a module that causes a warning to be shown if the
diff --git a/nixpkgs/lib/strings.nix b/nixpkgs/lib/strings.nix
index ae0d74c6721d..6dbb3d3a3e8b 100644
--- a/nixpkgs/lib/strings.nix
+++ b/nixpkgs/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/nixpkgs/lib/systems/default.nix b/nixpkgs/lib/systems/default.nix
index 0c0cdf1f11b1..026117cc34fd 100644
--- a/nixpkgs/lib/systems/default.nix
+++ b/nixpkgs/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
@@ -79,6 +80,7 @@ rec {
         else if final.isAarch64 then "arm64"
         else if final.isx86_32 then "x86"
         else if final.isx86_64 then "ia64"
+        else if final.isMips then "mips"
         else final.parsed.cpu.name;
 
       qemuArch =
diff --git a/nixpkgs/lib/systems/doubles.nix b/nixpkgs/lib/systems/doubles.nix
index 8e02fcb5de0c..96e602d0e167 100644
--- a/nixpkgs/lib/systems/doubles.nix
+++ b/nixpkgs/lib/systems/doubles.nix
@@ -7,7 +7,7 @@ let
 
   all = [
     "aarch64-linux"
-    "armv5tel-linux" "armv6l-linux" "armv7l-linux"
+    "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux"
 
     "mipsel-linux"
 
@@ -26,7 +26,9 @@ 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"
+
+    "js-ghcjs"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -45,6 +47,8 @@ in {
   x86_64  = filterDoubles predicates.isx86_64;
   mips    = filterDoubles predicates.isMips;
   riscv   = filterDoubles predicates.isRiscV;
+  vc4     = filterDoubles predicates.isVc4;
+  js      = filterDoubles predicates.isJavaScript;
 
   cygwin  = filterDoubles predicates.isCygwin;
   darwin  = filterDoubles predicates.isDarwin;
diff --git a/nixpkgs/lib/systems/examples.nix b/nixpkgs/lib/systems/examples.nix
index 511ae1979485..cb8bc3de6c48 100644
--- a/nixpkgs/lib/systems/examples.nix
+++ b/nixpkgs/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";
@@ -207,7 +213,7 @@ rec {
 
   # 32 bit mingw-w64
   mingw32 = {
-    config = "i686-pc-mingw32";
+    config = "i686-w64-mingw32";
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
@@ -215,7 +221,7 @@ rec {
   # 64 bit mingw-w64
   mingwW64 = {
     # That's the triplet they use in the mingw-w64 docs.
-    config = "x86_64-pc-mingw32";
+    config = "x86_64-w64-mingw32";
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
diff --git a/nixpkgs/lib/systems/inspect.nix b/nixpkgs/lib/systems/inspect.nix
index 8a983b3d3637..d1980c6dff81 100644
--- a/nixpkgs/lib/systems/inspect.nix
+++ b/nixpkgs/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/nixpkgs/lib/systems/parse.nix b/nixpkgs/lib/systems/parse.nix
index 5e12df32ffdd..6a02dbb51528 100644
--- a/nixpkgs/lib/systems/parse.nix
+++ b/nixpkgs/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"; };
   };
 
@@ -208,6 +210,9 @@ rec {
   vendors = setTypes types.openVendor {
     apple = {};
     pc = {};
+    # Actually matters, unlocking some MinGW-w64-specific options in GCC. See
+    # bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
+    w64 = {};
 
     none = {};
     unknown = {};
@@ -327,6 +332,7 @@ rec {
         }
       ];
     };
+    gnuabi64     = { abi = "64"; };
 
     musleabi     = { float = "soft"; };
     musleabihf   = { float = "hard"; };
diff --git a/nixpkgs/lib/tests/misc.nix b/nixpkgs/lib/tests/misc.nix
index d8f412d3fc49..b064faa1e1ba 100644
--- a/nixpkgs/lib/tests/misc.nix
+++ b/nixpkgs/lib/tests/misc.nix
@@ -18,6 +18,31 @@ runTests {
     expected = 2;
   };
 
+  testPipe = {
+    expr = pipe 2 [
+      (x: x + 2) # 2 + 2 = 4
+      (x: x * 2) # 4 * 2 = 8
+    ];
+    expected = 8;
+  };
+
+  testPipeEmpty = {
+    expr = pipe 2 [];
+    expected = 2;
+  };
+
+  testPipeStrings = {
+    expr = pipe [ 3 4 ] [
+      (map toString)
+      (map (s: s + "\n"))
+      concatStrings
+    ];
+    expected = ''
+      3
+      4
+    '';
+  };
+
   /*
   testOr = {
     expr = or true false;
@@ -102,6 +127,21 @@ runTests {
     expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
   };
 
+  testSplitVersionSingle = {
+    expr = versions.splitVersion "1";
+    expected = [ "1" ];
+  };
+
+  testSplitVersionDouble = {
+    expr = versions.splitVersion "1.2";
+    expected = [ "1" "2" ];
+  };
+
+  testSplitVersionTriple = {
+    expr = versions.splitVersion "1.2.3";
+    expected = [ "1" "2" "3" ];
+  };
+
   testIsStorePath =  {
     expr =
       let goodPath =
diff --git a/nixpkgs/lib/tests/modules.sh b/nixpkgs/lib/tests/modules.sh
index cf344122cf4e..2997fb1ada1b 100755
--- a/nixpkgs/lib/tests/modules.sh
+++ b/nixpkgs/lib/tests/modules.sh
@@ -87,36 +87,36 @@ checkConfigOutput "false" "$@" ./define-force-enable.nix
 checkConfigOutput "false" "$@" ./define-enable-force.nix
 
 # Check mkForce with option and submodules.
-checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix
-checkConfigOutput 'false' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
-set -- config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix
+checkConfigOutput 'false' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
+set -- config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo-enable.nix
 checkConfigOutput 'true' "$@"
-checkConfigOutput 'false' "$@" ./define-force-loaOfSub-foo-enable.nix
-checkConfigOutput 'false' "$@" ./define-loaOfSub-force-foo-enable.nix
-checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-force-enable.nix
-checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-force.nix
+checkConfigOutput 'false' "$@" ./define-force-attrsOfSub-foo-enable.nix
+checkConfigOutput 'false' "$@" ./define-attrsOfSub-force-foo-enable.nix
+checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-force-enable.nix
+checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-force.nix
 
 # Check overriding effect of mkForce on submodule definitions.
-checkConfigError 'attribute .*bar.* .* not found' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
-checkConfigOutput 'false' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar.nix
-set -- config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar-enable.nix
+checkConfigError 'attribute .*bar.* .* not found' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
+checkConfigOutput 'false' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar.nix
+set -- config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar-enable.nix
 checkConfigOutput 'true' "$@"
-checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-loaOfSub-foo-enable.nix
-checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-loaOfSub-force-foo-enable.nix
-checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-force-enable.nix
-checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-enable-force.nix
+checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-attrsOfSub-foo-enable.nix
+checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-attrsOfSub-force-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-force-enable.nix
+checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-enable-force.nix
 
 # Check mkIf with submodules.
-checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
-set -- config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
-checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-loaOfSub-foo-enable.nix
-checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-if-foo-enable.nix
-checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-foo-if-enable.nix
-checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-if.nix
-checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-loaOfSub-foo-enable.nix
-checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-if-foo-enable.nix
-checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-if-enable.nix
-checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-enable-if.nix
+checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-any-enable.nix
+set -- config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-any-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-attrsOfSub-foo-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-if-foo-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-foo-if-enable.nix
+checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-if.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-attrsOfSub-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-if-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-if-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-enable-if.nix
 
 # Check disabledModules with config definitions and option declarations.
 set -- config.enable ./define-enable.nix ./declare-enable.nix
@@ -138,7 +138,7 @@ checkConfigError 'while evaluating the module argument .*custom.* in .*import-cu
 checkConfigError 'infinite recursion encountered' "$@"
 
 # Check _module.check.
-set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-loaOfSub-foo.nix
+set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-attrsOfSub-foo.nix
 checkConfigError 'The option .* defined in .* does not exist.' "$@"
 checkConfigOutput "true" "$@" ./define-module-check.nix
 
@@ -152,18 +152,37 @@ checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix
 checkConfigError 'The option value .* in .* is not.*8 bit signed integer.* or string convertible to it' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
 checkConfigError 'unrecognised JSON value' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
 
-# Check loaOf with long list.
-checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.nix
-
-# Check loaOf with many merges of lists.
-checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix
-
 # Check mkAliasOptionModule.
 checkConfigOutput "true" config.enable ./alias-with-priority.nix
 checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix
 checkConfigOutput "false" config.enable ./alias-with-priority-can-override.nix
 checkConfigOutput "false" config.enableAlias ./alias-with-priority-can-override.nix
 
+# submoduleWith
+
+## specialArgs should work
+checkConfigOutput "foo" config.submodule.foo ./declare-submoduleWith-special.nix
+
+## shorthandOnlyDefines config behaves as expected
+checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix
+checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix
+checkConfigError 'value is a boolean while a set was expected' config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix
+checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix
+
+## submoduleWith should merge all modules in one swoop
+checkConfigOutput "true" config.submodule.inner ./declare-submoduleWith-modules.nix
+checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.nix
+
+## Paths should be allowed as values and work as expected
+# Temporarily disabled until https://github.com/NixOS/nixpkgs/pull/76861
+#checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix
+
+# Check that disabledModules works recursively and correctly
+checkConfigOutput "true" config.enable ./disable-recursive/main.nix
+checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-foo.nix}
+checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-bar.nix}
+checkConfigError 'The option .* defined in .* does not exist' config.enable ./disable-recursive/{main.nix,disable-foo.nix,disable-bar.nix}
+
 cat <<EOF
 ====== module tests ======
 $pass Pass
diff --git a/nixpkgs/lib/tests/modules/declare-loaOfSub-any-enable.nix b/nixpkgs/lib/tests/modules/declare-attrsOfSub-any-enable.nix
index 71dad1c91359..986d07227e13 100644
--- a/nixpkgs/lib/tests/modules/declare-loaOfSub-any-enable.nix
+++ b/nixpkgs/lib/tests/modules/declare-attrsOfSub-any-enable.nix
@@ -17,10 +17,10 @@ in
 
 {
   options = {
-    loaOfSub = lib.mkOption {
+    attrsOfSub = lib.mkOption {
       default = {};
       example = {};
-      type = lib.types.loaOf (lib.types.submodule [ submod ]);
+      type = lib.types.attrsOf (lib.types.submodule [ submod ]);
       description = ''
         Some descriptive text
       '';
diff --git a/nixpkgs/lib/tests/modules/declare-submoduleWith-modules.nix b/nixpkgs/lib/tests/modules/declare-submoduleWith-modules.nix
new file mode 100644
index 000000000000..4736ab41751b
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/declare-submoduleWith-modules.nix
@@ -0,0 +1,30 @@
+{ lib, ... }: {
+  options.submodule = lib.mkOption {
+    type = lib.types.submoduleWith {
+      modules = [
+        {
+          options.inner = lib.mkOption {
+            type = lib.types.bool;
+            default = false;
+          };
+        }
+        {
+          outer = true;
+        }
+      ];
+    };
+    default = {};
+  };
+
+  config.submodule = lib.mkMerge [
+    ({ lib, ... }: {
+      options.outer = lib.mkOption {
+        type = lib.types.bool;
+        default = false;
+      };
+    })
+    {
+      inner = true;
+    }
+  ];
+}
diff --git a/nixpkgs/lib/tests/modules/declare-submoduleWith-noshorthand.nix b/nixpkgs/lib/tests/modules/declare-submoduleWith-noshorthand.nix
new file mode 100644
index 000000000000..af3b4ba470ff
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/declare-submoduleWith-noshorthand.nix
@@ -0,0 +1,13 @@
+{ lib, ... }: let
+  sub.options.config = lib.mkOption {
+    type = lib.types.bool;
+    default = false;
+  };
+in {
+  options.submodule = lib.mkOption {
+    type = lib.types.submoduleWith {
+      modules = [ sub ];
+    };
+    default = {};
+  };
+}
diff --git a/nixpkgs/lib/tests/modules/declare-submoduleWith-path.nix b/nixpkgs/lib/tests/modules/declare-submoduleWith-path.nix
new file mode 100644
index 000000000000..477647f32121
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/declare-submoduleWith-path.nix
@@ -0,0 +1,12 @@
+{ lib, ... }: {
+  options.submodule = lib.mkOption {
+    type = lib.types.submoduleWith {
+      modules = [
+        ./declare-enable.nix
+      ];
+    };
+    default = {};
+  };
+
+  config.submodule = ./define-enable.nix;
+}
diff --git a/nixpkgs/lib/tests/modules/declare-submoduleWith-shorthand.nix b/nixpkgs/lib/tests/modules/declare-submoduleWith-shorthand.nix
new file mode 100644
index 000000000000..63ac16293e2b
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/declare-submoduleWith-shorthand.nix
@@ -0,0 +1,14 @@
+{ lib, ... }: let
+  sub.options.config = lib.mkOption {
+    type = lib.types.bool;
+    default = false;
+  };
+in {
+  options.submodule = lib.mkOption {
+    type = lib.types.submoduleWith {
+      modules = [ sub ];
+      shorthandOnlyDefinesConfig = true;
+    };
+    default = {};
+  };
+}
diff --git a/nixpkgs/lib/tests/modules/declare-submoduleWith-special.nix b/nixpkgs/lib/tests/modules/declare-submoduleWith-special.nix
new file mode 100644
index 000000000000..6b15c5bde203
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/declare-submoduleWith-special.nix
@@ -0,0 +1,17 @@
+{ lib, ... }: {
+  options.submodule = lib.mkOption {
+    type = lib.types.submoduleWith {
+      modules = [
+        ({ lib, ... }: {
+          options.foo = lib.mkOption {
+            default = lib.foo;
+          };
+        })
+      ];
+      specialArgs.lib = lib // {
+        foo = "foo";
+      };
+    };
+    default = {};
+  };
+}
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-bar-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-bar-enable.nix
new file mode 100644
index 000000000000..99c55d8b3608
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-bar-enable.nix
@@ -0,0 +1,3 @@
+{
+  attrsOfSub.bar.enable = true;
+}
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-bar.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-bar.nix
new file mode 100644
index 000000000000..2a33068a5687
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-bar.nix
@@ -0,0 +1,3 @@
+{
+  attrsOfSub.bar = {};
+}
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-force.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-force.nix
new file mode 100644
index 000000000000..c9ee36446f14
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-force.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+{
+  attrsOfSub.foo.enable = lib.mkForce false;
+}
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-if.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-if.nix
new file mode 100644
index 000000000000..0b3baddb5ec0
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable-if.nix
@@ -0,0 +1,5 @@
+{ config, lib, ... }:
+
+{
+  attrsOfSub.foo.enable = lib.mkIf config.enable true;
+}
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable.nix
new file mode 100644
index 000000000000..39cd63cef724
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-enable.nix
@@ -0,0 +1,3 @@
+{
+  attrsOfSub.foo.enable = true;
+}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-force-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-force-enable.nix
index dce0ef547b31..009da7c77cdd 100644
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-force-enable.nix
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-force-enable.nix
@@ -1,7 +1,7 @@
 { lib, ... }:
 
 {
-  loaOfSub.foo = lib.mkForce {
+  attrsOfSub.foo = lib.mkForce {
     enable = false;
   };
 }
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-if-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-if-enable.nix
index 236b2840ee51..93702dfa86f3 100644
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-if-enable.nix
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo-if-enable.nix
@@ -1,7 +1,7 @@
 { config, lib, ... }:
 
 {
-  loaOfSub.foo = lib.mkIf config.enable {
+  attrsOfSub.foo = lib.mkIf config.enable {
     enable = true;
   };
 }
diff --git a/nixpkgs/lib/tests/modules/define-attrsOfSub-foo.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo.nix
new file mode 100644
index 000000000000..e6bb531dedde
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-foo.nix
@@ -0,0 +1,3 @@
+{
+  attrsOfSub.foo = {};
+}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-force-foo-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-force-foo-enable.nix
index df5722274ee5..5c02dd343146 100644
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-force-foo-enable.nix
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-force-foo-enable.nix
@@ -1,7 +1,7 @@
 { lib, ... }:
 
 {
-  loaOfSub = lib.mkForce {
+  attrsOfSub = lib.mkForce {
     foo.enable = false;
   };
 }
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-if-foo-enable.nix b/nixpkgs/lib/tests/modules/define-attrsOfSub-if-foo-enable.nix
index bd2d068d31a2..a3fe6051d41f 100644
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-if-foo-enable.nix
+++ b/nixpkgs/lib/tests/modules/define-attrsOfSub-if-foo-enable.nix
@@ -1,7 +1,7 @@
 { config, lib, ... }:
 
 {
-  loaOfSub = lib.mkIf config.enable {
+  attrsOfSub = lib.mkIf config.enable {
     foo.enable = true;
   };
 }
diff --git a/nixpkgs/lib/tests/modules/define-force-attrsOfSub-foo-enable.nix b/nixpkgs/lib/tests/modules/define-force-attrsOfSub-foo-enable.nix
new file mode 100644
index 000000000000..dafb2360e1f1
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-force-attrsOfSub-foo-enable.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+lib.mkForce {
+  attrsOfSub.foo.enable = false;
+}
diff --git a/nixpkgs/lib/tests/modules/define-force-loaOfSub-foo-enable.nix b/nixpkgs/lib/tests/modules/define-force-loaOfSub-foo-enable.nix
deleted file mode 100644
index bfd8e084b590..000000000000
--- a/nixpkgs/lib/tests/modules/define-force-loaOfSub-foo-enable.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ lib, ... }:
-
-lib.mkForce {
-  loaOfSub.foo.enable = false;
-}
diff --git a/nixpkgs/lib/tests/modules/define-if-loaOfSub-foo-enable.nix b/nixpkgs/lib/tests/modules/define-if-attrsOfSub-foo-enable.nix
index 4288d74dec00..6a8e32e802a2 100644
--- a/nixpkgs/lib/tests/modules/define-if-loaOfSub-foo-enable.nix
+++ b/nixpkgs/lib/tests/modules/define-if-attrsOfSub-foo-enable.nix
@@ -1,5 +1,5 @@
 { config, lib, ... }:
 
 lib.mkIf config.enable {
-  loaOfSub.foo.enable = true;
+  attrsOfSub.foo.enable = true;
 }
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-bar-enable.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-bar-enable.nix
deleted file mode 100644
index 422bb0a600bf..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-bar-enable.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  loaOfSub.bar.enable = true;
-}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-bar.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-bar.nix
deleted file mode 100644
index c24315e09b6e..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-bar.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  loaOfSub.bar = {};
-}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-force.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-force.nix
deleted file mode 100644
index c1d7b198be54..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-force.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ lib, ... }:
-
-{
-  loaOfSub.foo.enable = lib.mkForce false;
-}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-if.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-if.nix
deleted file mode 100644
index 44b2c96cd021..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable-if.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, lib, ... }:
-
-{
-  loaOfSub.foo.enable = lib.mkIf config.enable true;
-}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable.nix
deleted file mode 100644
index 822425c71bb9..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo-enable.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  loaOfSub.foo.enable = true;
-}
diff --git a/nixpkgs/lib/tests/modules/define-loaOfSub-foo.nix b/nixpkgs/lib/tests/modules/define-loaOfSub-foo.nix
deleted file mode 100644
index e9b2e631f2ec..000000000000
--- a/nixpkgs/lib/tests/modules/define-loaOfSub-foo.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  loaOfSub.foo = {};
-}
diff --git a/nixpkgs/lib/tests/modules/define-submoduleWith-noshorthand.nix b/nixpkgs/lib/tests/modules/define-submoduleWith-noshorthand.nix
new file mode 100644
index 000000000000..35e1607b6f1c
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-submoduleWith-noshorthand.nix
@@ -0,0 +1,3 @@
+{
+  submodule.config.config = true;
+}
diff --git a/nixpkgs/lib/tests/modules/define-submoduleWith-shorthand.nix b/nixpkgs/lib/tests/modules/define-submoduleWith-shorthand.nix
new file mode 100644
index 000000000000..17df248db8ef
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/define-submoduleWith-shorthand.nix
@@ -0,0 +1,3 @@
+{
+  submodule.config = true;
+}
diff --git a/nixpkgs/lib/tests/modules/disable-recursive/bar.nix b/nixpkgs/lib/tests/modules/disable-recursive/bar.nix
new file mode 100644
index 000000000000..4d9240a432df
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/disable-recursive/bar.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ../declare-enable.nix
+  ];
+}
diff --git a/nixpkgs/lib/tests/modules/disable-recursive/disable-bar.nix b/nixpkgs/lib/tests/modules/disable-recursive/disable-bar.nix
new file mode 100644
index 000000000000..987b2802ae8c
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/disable-recursive/disable-bar.nix
@@ -0,0 +1,7 @@
+{
+
+  disabledModules = [
+    ./bar.nix
+  ];
+
+}
diff --git a/nixpkgs/lib/tests/modules/disable-recursive/disable-foo.nix b/nixpkgs/lib/tests/modules/disable-recursive/disable-foo.nix
new file mode 100644
index 000000000000..5b68a3c46105
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/disable-recursive/disable-foo.nix
@@ -0,0 +1,7 @@
+{
+
+  disabledModules = [
+    ./foo.nix
+  ];
+
+}
diff --git a/nixpkgs/lib/tests/modules/disable-recursive/foo.nix b/nixpkgs/lib/tests/modules/disable-recursive/foo.nix
new file mode 100644
index 000000000000..4d9240a432df
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/disable-recursive/foo.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ../declare-enable.nix
+  ];
+}
diff --git a/nixpkgs/lib/tests/modules/disable-recursive/main.nix b/nixpkgs/lib/tests/modules/disable-recursive/main.nix
new file mode 100644
index 000000000000..48a3c6218cf3
--- /dev/null
+++ b/nixpkgs/lib/tests/modules/disable-recursive/main.nix
@@ -0,0 +1,8 @@
+{
+  imports = [
+    ./foo.nix
+    ./bar.nix
+  ];
+
+  enable = true;
+}
diff --git a/nixpkgs/lib/tests/modules/loaOf-with-long-list.nix b/nixpkgs/lib/tests/modules/loaOf-with-long-list.nix
deleted file mode 100644
index f30903c47e50..000000000000
--- a/nixpkgs/lib/tests/modules/loaOf-with-long-list.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, ... }:
-
-{
-  options = {
-    loaOfInt = lib.mkOption {
-      type = lib.types.loaOf lib.types.int;
-    };
-
-    result = lib.mkOption {
-      type = lib.types.str;
-    };
-  };
-
-  config = {
-    loaOfInt = [ 1 2 3 4 5 6 7 8 9 10 ];
-
-    result = toString (lib.attrValues config.loaOfInt);
-  };
-}
diff --git a/nixpkgs/lib/tests/modules/loaOf-with-many-list-merges.nix b/nixpkgs/lib/tests/modules/loaOf-with-many-list-merges.nix
deleted file mode 100644
index f8f8a8da82bc..000000000000
--- a/nixpkgs/lib/tests/modules/loaOf-with-many-list-merges.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, ... }:
-
-{
-  options = {
-    loaOfInt = lib.mkOption {
-      type = lib.types.loaOf lib.types.int;
-    };
-
-    result = lib.mkOption {
-      type = lib.types.str;
-    };
-  };
-
-  config = {
-    loaOfInt = lib.mkMerge (map lib.singleton [ 1 2 3 4 5 6 7 8 9 10 ]);
-
-    result = toString (lib.attrValues config.loaOfInt);
-  };
-}
diff --git a/nixpkgs/lib/tests/systems.nix b/nixpkgs/lib/tests/systems.nix
index 5748c09b564d..6f52912994df 100644
--- a/nixpkgs/lib/tests/systems.nix
+++ b/nixpkgs/lib/tests/systems.nix
@@ -12,9 +12,9 @@ let
     expected = lib.sort lib.lessThan y;
   };
 in with lib.systems.doubles; lib.runTests {
-  testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded);
+  testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ js);
 
-  testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ];
+  testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ];
   testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
   testmips = mseteq mips [ "mipsel-linux" ];
   testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
@@ -24,7 +24,7 @@ in with lib.systems.doubles; lib.runTests {
   testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
   testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
   testillumos = mseteq illumos [ "x86_64-solaris" ];
-  testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64le-linux" ];
+  testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64le-linux" ];
   testnetbsd = mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ];
   testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
   testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
diff --git a/nixpkgs/lib/trivial.nix b/nixpkgs/lib/trivial.nix
index 54c66cfce7b9..3a25e31fb052 100644
--- a/nixpkgs/lib/trivial.nix
+++ b/nixpkgs/lib/trivial.nix
@@ -29,6 +29,43 @@ rec {
     # Value to ignore
     y: x;
 
+  /* Pipes a value through a list of functions, left to right.
+
+     Type: pipe :: a -> [<functions>] -> <return type of last function>
+     Example:
+       pipe 2 [
+         (x: x + 2)  # 2 + 2 = 4
+         (x: x * 2)  # 4 * 2 = 8
+       ]
+       => 8
+
+       # ideal to do text transformations
+       pipe [ "a/b" "a/c" ] [
+
+         # create the cp command
+         (map (file: ''cp "${src}/${file}" $out\n''))
+
+         # concatenate all commands into one string
+         lib.concatStrings
+
+         # make that string into a nix derivation
+         (pkgs.runCommand "copy-to-out" {})
+
+       ]
+       => <drv which copies all files to $out>
+
+     The output type of each function has to be the input type
+     of the next function, and the last function returns the
+     final value.
+  */
+  pipe = val: functions:
+    let reverseApply = x: f: f x;
+    in builtins.foldl' reverseApply val functions;
+  /* note please don’t add a function like `compose = flip pipe`.
+     This would confuse users, because the order of the functions
+     in the list is not clear. With pipe, it’s obvious that it
+     goes first-to-last. With `compose`, not so much.
+  */
 
   ## Named versions corresponding to some builtin operators.
 
diff --git a/nixpkgs/lib/types.nix b/nixpkgs/lib/types.nix
index 5e9a28ac4f0a..4872a6766571 100644
--- a/nixpkgs/lib/types.nix
+++ b/nixpkgs/lib/types.nix
@@ -242,8 +242,7 @@ rec {
 
     path = mkOptionType {
       name = "path";
-      # Hacky: there is no ‘isPath’ primop.
-      check = x: builtins.substring 0 1 (toString x) == "/";
+      check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
       merge = mergeEqualOption;
     };
 
@@ -295,26 +294,43 @@ rec {
     # List or attribute set of ...
     loaOf = elemType:
       let
-        convertAllLists = defs:
+        convertAllLists = loc: defs:
           let
             padWidth = stringLength (toString (length defs));
             unnamedPrefix = i: "unnamed-" + fixedWidthNumber padWidth i + ".";
           in
-            imap1 (i: convertIfList (unnamedPrefix i)) defs;
-
-        convertIfList = unnamedPrefix: def:
+            imap1 (i: convertIfList loc (unnamedPrefix i)) defs;
+        convertIfList = loc: unnamedPrefix: def:
           if isList def.value then
             let
               padWidth = stringLength (toString (length def.value));
               unnamed = i: unnamedPrefix + fixedWidthNumber padWidth i;
+              res =
+                { inherit (def) file;
+                  value = listToAttrs (
+                    imap1 (elemIdx: elem:
+                      { name  = elem.name or (unnamed elemIdx);
+                        value = elem;
+                      }) def.value);
+                };
+              option = concatStringsSep "." loc;
+              sample = take 3 def.value;
+              list = concatMapStrings (x: ''{ name = "${x.name or "unnamed"}"; ...} '') sample;
+              set = concatMapStrings (x: ''${x.name or "unnamed"} = {...}; '') sample;
+              msg = ''
+                In file ${def.file}
+                a list is being assigned to the option config.${option}.
+                This will soon be an error as type loaOf is deprecated.
+                See https://git.io/fj2zm for more information.
+                Do
+                  ${option} =
+                    { ${set}...}
+                instead of
+                  ${option} =
+                    [ ${list}...]
+              '';
             in
-              { inherit (def) file;
-                value = listToAttrs (
-                  imap1 (elemIdx: elem:
-                    { name = elem.name or (unnamed elemIdx);
-                      value = elem;
-                    }) def.value);
-              }
+              lib.warn msg res
           else
             def;
         attrOnly = attrsOf elemType;
@@ -322,7 +338,7 @@ rec {
         name = "loaOf";
         description = "list or attribute set of ${elemType.description}s";
         check = x: isList x || isAttrs x;
-        merge = loc: defs: attrOnly.merge loc (convertAllLists defs);
+        merge = loc: defs: attrOnly.merge loc (convertAllLists loc defs);
         getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["<name?>"]);
         getSubModules = elemType.getSubModules;
         substSubModules = m: loaOf (elemType.substSubModules m);
@@ -358,25 +374,41 @@ rec {
     };
 
     # A submodule (like typed attribute set). See NixOS manual.
-    submodule = opts:
+    submodule = modules: submoduleWith {
+      shorthandOnlyDefinesConfig = true;
+      modules = toList modules;
+    };
+
+    submoduleWith =
+      { modules
+      , specialArgs ? {}
+      , shorthandOnlyDefinesConfig ? false
+      }@attrs:
       let
-        opts' = toList opts;
         inherit (lib.modules) evalModules;
+
+        coerce = unify: value: if isFunction value
+          then setFunctionArgs (args: unify (value args)) (functionArgs value)
+          else unify (if shorthandOnlyDefinesConfig then { config = value; } else value);
+
+        allModules = defs: modules ++ imap1 (n: { value, file }:
+          # Annotate the value with the location of its definition for better error messages
+          coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value
+        ) defs;
+
       in
       mkOptionType rec {
         name = "submodule";
         check = x: isAttrs x || isFunction x;
         merge = loc: defs:
-          let
-            coerce = def: if isFunction def then def else { config = def; };
-            modules = opts' ++ map (def: { _file = def.file; imports = [(coerce def.value)]; }) defs;
-          in (evalModules {
-            inherit modules;
+          (evalModules {
+            modules = allModules defs;
+            inherit specialArgs;
             args.name = last loc;
             prefix = loc;
           }).config;
         getSubOptions = prefix: (evalModules
-          { modules = opts'; inherit prefix;
+          { inherit modules prefix specialArgs;
             # This is a work-around due to the fact that some sub-modules,
             # such as the one included in an attribute set, expects a "args"
             # attribute to be given to the sub-module. As the option
@@ -394,13 +426,29 @@ rec {
             # It shouldn't cause an issue since this is cosmetic for the manual.
             args.name = "‹name›";
           }).options;
-        getSubModules = opts';
-        substSubModules = m: submodule m;
-        functor = (defaultFunctor name) // {
-          # Merging of submodules is done as part of mergeOptionDecls, as we have to annotate
-          # each submodule with its location.
-          payload = [];
-          binOp = lhs: rhs: [];
+        getSubModules = modules;
+        substSubModules = m: submoduleWith (attrs // {
+          modules = m;
+        });
+        functor = defaultFunctor name // {
+          type = types.submoduleWith;
+          payload = {
+            modules = modules;
+            specialArgs = specialArgs;
+            shorthandOnlyDefinesConfig = shorthandOnlyDefinesConfig;
+          };
+          binOp = lhs: rhs: {
+            modules = lhs.modules ++ rhs.modules;
+            specialArgs =
+              let intersecting = builtins.intersectAttrs lhs.specialArgs rhs.specialArgs;
+              in if intersecting == {}
+              then lhs.specialArgs // rhs.specialArgs
+              else throw "A submoduleWith option is declared multiple times with the same specialArgs \"${toString (attrNames intersecting)}\"";
+            shorthandOnlyDefinesConfig =
+              if lhs.shorthandOnlyDefinesConfig == rhs.shorthandOnlyDefinesConfig
+              then lhs.shorthandOnlyDefinesConfig
+              else throw "A submoduleWith option is declared multiple times with conflicting shorthandOnlyDefinesConfig values";
+          };
         };
       };
 
diff --git a/nixpkgs/lib/versions.nix b/nixpkgs/lib/versions.nix
index 2c05445b3dd0..0e9d81ac78b1 100644
--- a/nixpkgs/lib/versions.nix
+++ b/nixpkgs/lib/versions.nix
@@ -1,13 +1,15 @@
 /* Version string functions. */
 { lib }:
 
-let
+rec {
 
-  splitVersion = builtins.splitVersion or (lib.splitString ".");
-
-in
+  /* Break a version string into its component parts.
 
-{
+     Example:
+       splitVersion "1.2.3"
+       => ["1" "2" "3"]
+  */
+  splitVersion = builtins.splitVersion or (lib.splitString ".");
 
   /* Get the major version string from a string.
 
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index 9e5138497ef9..09a45d267e72 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -137,6 +137,11 @@
     githubId = 2321000;
     name = "Ruslan Babayev";
   };
+  acairncross = {
+    email = "acairncross@gmail.com";
+    github = "acairncross";
+    name = "Aiken Cairncross";
+  };
   acowley = {
     email = "acowley@gmail.com";
     github = "acowley";
@@ -184,6 +189,12 @@
     githubId = 1250775;
     name = "Adolfo E. García Castro";
   };
+  adsr = {
+    email = "as@php.net";
+    github = "adsr";
+    githubId = 315003;
+    name = "Adam Saponara";
+  };
   aepsil0n = {
     email = "eduard.bopp@aepsil0n.de";
     github = "aepsil0n";
@@ -305,6 +316,7 @@
   alexbakker = {
     email = "ab@alexbakker.me";
     github = "alexbakker";
+    githubId = 2387841;
     name = "Alexander Bakker";
   };
   alexchapman = {
@@ -356,6 +368,16 @@
     github = "alunduil";
     name = "Alex Brandt";
   };
+  alva = {
+    email = "alva@skogen.is";
+    github = "fjallarefur";
+    githubId = 42881386;
+    name = "Alva";
+    keys = [{
+      longkeyid = "ed25519/0xF53E323342F7A6D3";
+      fingerprint = "B422 CFB1 C9EF 73F7 E1E2 698D F53E 3233 42F7 A6D3A";
+    }];
+  };
   amar1729 = {
     email = "amar.paul16@gmail.com";
     github = "amar1729";
@@ -536,12 +558,24 @@
     githubId = 56009;
     name = "Arcadio Rubio García";
   };
+  arcnmx = {
+    email = "arcnmx@users.noreply.github.com";
+    github = "arcnmx";
+    githubId = 13426784;
+    name = "arcnmx";
+  };
   ardumont = {
     email = "eniotna.t@gmail.com";
     github = "ardumont";
     githubId = 718812;
     name = "Antoine R. Dumont";
   };
+  arianvp = {
+    email = "arian.vanputten@gmail.com";
+    github = "arianvp";
+    githubId = 628387;
+    name = "Arian van Putten";
+  };
   aristid = {
     email = "aristidb@gmail.com";
     github = "aristidb";
@@ -570,6 +604,12 @@
       fingerprint = "3D2B B230 F9FA F0C5 1832  46DD 4FDC 96F1 61E7 BA8A";
     }];
   };
+  arthur = {
+    email = "me@arthur.li";
+    github = "arthurl";
+    githubId = 3965744;
+    name = "Arthur Lee";
+  };
   artuuge = {
     email = "artuuge@gmail.com";
     github = "artuuge";
@@ -692,6 +732,16 @@
     githubId = 135230;
     name = "Aycan iRiCAN";
   };
+  b4dm4n = {
+    email = "fabianm88@gmail.com";
+    github = "B4dM4n";
+    githubId = 448169;
+    name = "Fabian Möller";
+    keys = [{
+      longkeyid = "rsa4096/0x754B5C0963C42C5";
+      fingerprint = "6309 E212 29D4 DA30 AF24  BDED 754B 5C09 63C4 2C50";
+    }];
+  };
   babariviere = {
     email = "babathriviere@gmail.com";
     github = "babariviere";
@@ -895,6 +945,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";
@@ -1019,6 +1075,21 @@
     githubId = 510553;
     name = "Jos van Bakel";
   };
+  cab404 = {
+    email = "cab404@mailbox.org";
+    github = "cab404";
+    githubId = 6453661;
+    name = "Vladimir Serov";
+    keys = [
+      # compare with https://keybase.io/cab404
+      { longkeyid = "1BB96810926F4E715DEF567E6BA7C26C3FDF7BB3";
+        fingerprint = "rsa3072/0xCBDECF658C38079E";
+      }
+      { longkeyid = "1EBC648C64D6045463013B3EB7EFFC271D55DB8A";
+        fingerprint = "ed25519/0xB7EFFC271D55DB8A";
+      }
+    ];
+  };
   calbrecht = {
     email = "christian.albrecht@mayflower.de";
     github = "calbrecht";
@@ -1055,6 +1126,12 @@
     githubId = 5555066;
     name = "Andrew Cann";
   };
+  cap = {
+    name = "cap";
+    email = "nixos_xasenw9@digitalpostkasten.de";
+    github = "scaredmushroom";
+    githubId = 45340040;
+  };
   carlosdagos = {
     email = "m@cdagostino.io";
     github = "carlosdagos";
@@ -1115,6 +1192,12 @@
     githubId = 5771456;
     name = "Chaddaï Fouché";
   };
+  cfsmp3 = {
+    email = "carlos@sanz.dev";
+    github = "cfsmp3";
+    githubId = 5949913;
+    name = "Carlos Fernandez Sanz";
+  };
   chaduffy = {
     email = "charles@dyfis.net";
     github = "charles-dyfis-net";
@@ -1161,6 +1244,12 @@
     githubId = 30435868;
     name = "Okina Matara";
   };
+  chkno = {
+    email = "chuck@intelligence.org";
+    github = "chkno";
+    githubId = 1118859;
+    name = "Scott Worley";
+  };
   choochootrain = {
     email = "hurshal@imap.cc";
     github = "choochootrain";
@@ -1338,6 +1427,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";
@@ -1350,6 +1445,12 @@
     githubId = 411324;
     name = "Carles Pagès";
   };
+  craigem = {
+    email = "craige@mcwhirter.io";
+    github = "craigem";
+    githubId = 6470493;
+    name = "Craige McWhirter";
+  };
   cransom = {
     email = "cransom@hubns.net";
     github = "cransom";
@@ -1385,6 +1486,12 @@
     githubId = 143982;
     name = "Charles Strahan";
   };
+  cswank = {
+    email = "craigswank@gmail.com";
+    github = "cswank";
+    githubId = 490965;
+    name = "Craig Swank";
+  };
   cwoac = {
     email = "oliver@codersoffortune.net";
     github = "cwoac";
@@ -1393,7 +1500,7 @@
   };
   cypherpunk2140 = {
     email = "stefan.mihaila@pm.me";
-    github = "cypherpunk2140";
+    github = "stefan-mihaila";
     githubId = 2217136;
     name = "Ștefan D. Mihăilă";
     keys = [
@@ -1405,6 +1512,26 @@
       }
     ];
   };
+  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";
+    github = "dadada";
+    githubId = 7216772;
+    keys = [{
+      longkeyid = "ed25519/0xEEB8D1CE62C4DFEA";
+      fingerprint = "D68C 8469 5C08 7E0F 733A  28D0 EEB8 D1CE 62C4 DFEA";
+    }];
+  };
   dalance = {
     email = "dalance@gmail.com";
     github = "dalance";
@@ -1429,6 +1556,12 @@
     githubId = 245394;
     name = "Hannu Hartikainen";
   };
+  danderson = {
+    email = "dave@natulte.net";
+    github = "danderson";
+    githubId = 1918;
+    name = "David Anderson";
+  };
   danharaj = {
     email = "dan@obsidian.systems";
     github = "danharaj";
@@ -1480,6 +1613,16 @@
     github = "davidrusu";
     name = "David Rusu";
   };
+  davidtwco = {
+    email = "nix@david.davidtw.co";
+    github = "davidtwco";
+    githubId = 1295100;
+    name = "David Wood";
+    keys = [{
+      longkeyid = "rsa4096/0x01760B4F9F53F154";
+      fingerprint = "5B08 313C 6853 E5BF FA91  A817 0176 0B4F 9F53 F154";
+    }];
+  };
   davorb = {
     email = "davor@davor.se";
     github = "davorb";
@@ -1504,6 +1647,12 @@
     githubId = 14032;
     name = "Daniel Brockman";
   };
+  dduan = {
+    email = "daniel@duan.ca";
+    github = "dduan";
+    githubId = 75067;
+    name = "Daniel Duan";
+  };
   deepfire = {
     email = "_deepfire@feelingofgreen.ru";
     github = "deepfire";
@@ -1615,6 +1764,12 @@
     githubId = 11946442;
     name = "Dipin Hora";
   };
+  dirkx = {
+    email = "dirkx@webweaving.org";
+    github = "dirkx";
+    githubId = 392583;
+    name = "Dirk-Willem van Gulik";
+  };
   disassembler = {
     email = "disasm@gmail.com";
     github = "disassembler";
@@ -1645,6 +1800,12 @@
     githubId = 1316469;
     name = "Naomi Morse";
   };
+  dkudriavtsev = {
+    email = "dkudriavtsev@gmail.com";
+    github = "dkudriavtsev";
+    githubId = 9790772;
+    name = "Dmitry Kudriavtsev";
+  };
   dmalikov = {
     email = "malikov.d.y@gmail.com";
     github = "dmalikov";
@@ -1663,6 +1824,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";
@@ -1699,7 +1866,7 @@
     name = "Chris Double";
   };
   dpaetzel = {
-    email = "david.a.paetzel@gmail.com";
+    email = "david.paetzel@posteo.de";
     github = "dpaetzel";
     githubId = 974130;
     name = "David Pätzel";
@@ -1822,6 +1989,12 @@
     githubId = 50854;
     name = "edef";
   };
+  emantor = {
+    email = "rouven+nixos@czerwinskis.de";
+    github = "emantor";
+    githubId = 934284;
+    name = "Rouven Czerwinski";
+  };
   embr = {
     email = "hi@liclac.eu";
     github = "liclac";
@@ -1865,7 +2038,7 @@
     name = "Edward Tjörnhammar";
   };
   eelco = {
-    email = "eelco.dolstra@logicblox.com";
+    email = "edolstra+nixpkgs@gmail.com";
     github = "edolstra";
     githubId = 1148549;
     name = "Eelco Dolstra";
@@ -1877,7 +2050,9 @@
     name = "Eric Hegnes";
   };
   ehmry = {
-    email = "emery@vfemail.net";
+    email = "ehmry@posteo.net";
+    github= "ehmry";
+    githubId = 537775;
     name = "Emery Hemingway";
   };
   eikek = {
@@ -1946,6 +2121,12 @@
     githubId = 1365692;
     name = "Will Fancher";
   };
+  elyhaka = {
+    email = "elyhaka@protonmail.com";
+    github = "Elyhaka";
+    githubId = 57923898;
+    name = "Elyhaka";
+  };
   emmanuelrosa = {
     email = "emmanuel_rosa@aol.com";
     github = "emmanuelrosa";
@@ -1963,12 +2144,24 @@
       github = "ericnorris";
       githubId = 1906605;
   };
+  Enteee = {
+    email = "nix@duckpond.ch";
+    github = "Enteee";
+    githubid = 5493775;
+    name = "Ente";
+  };
   enzime = {
     email = "enzime@users.noreply.github.com";
     github = "enzime";
     githubId = 10492681;
     name = "Michael Hoang";
   };
+  eonpatapon = {
+    email = "eon@patapon.info";
+    github = "eonpatapon";
+    githubId = 418227;
+    name = "Jean-Philippe Braun";
+  };
   eperuffo = {
     email = "info@emanueleperuffo.com";
     github = "emanueleperuffo";
@@ -1979,6 +2172,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";
@@ -1997,6 +2196,11 @@
     githubId = 4828;
     name = "Eric Merritt";
   };
+  ericdallo = {
+    email = "ercdll1337@gmail.com";
+    github = "ericdallo";
+    name = "Eric Dallo";
+  };
   ericsagnes = {
     email = "eric.sagnes@gmail.com";
     github = "ericsagnes";
@@ -2030,11 +2234,23 @@
     githubId = 1583484;
     name = "Andrey Golovizin";
   };
+  ersin = {
+    email = "me@ersinakinci.com";
+    github = "earksiinni";
+    githubId = 5427394;
+    name = "Ersin Akinci";
+  };
   ertes = {
     email = "esz@posteo.de";
     github = "ertes";
     name = "Ertugrul Söylemez";
   };
+  esclear = {
+    email = "esclear@users.noreply.github.com";
+    github = "esclear";
+    githubId = 7432848;
+    name = "Daniel Albert";
+  };
   Esteth = {
     email = "adam.copp@gmail.com";
     name = "Adam Copp";
@@ -2067,6 +2283,18 @@
     githubId = 195032;
     name = "Eric Evenchick";
   };
+  evenbrenden = {
+    email = "evenbrenden@gmail.com";
+    github = "evenbrenden";
+    githubId = 2512008;
+    name = "Even Brenden";
+  };
+  evils = {
+    email = "evils.devils@protonmail.com";
+    github = "evils-devils";
+    githubId = 30512529;
+    name = "Evils";
+  };
   exfalso = {
     email = "0slemi0@gmail.com";
     github = "exfalso";
@@ -2103,12 +2331,6 @@
     githubId = 2817965;
     name = "f--t";
   };
-  fleaz = {
-    email = "mail@felixbreidenstein.de";
-    github = "fleaz";
-    githubId = 2489598;
-    name = "Felix Breidenstein";
-  };
   fadenb = {
     email = "tristan.helmich+nixos@gmail.com";
     github = "fadenb";
@@ -2149,12 +2371,32 @@
     githubId = 8182846;
     name = "Francesco Gazzetta";
   };
+  filalex77 = {
+    email = "brightone@protonmail.com";
+    github = "filalex77";
+    githubId = 12615679;
+    name = "Oleksii Filonenko";
+    keys = [{
+      longkeyid = "rsa3072/0xA1BC8428323ECFE8";
+      fingerprint = "F549 3B7F 9372 5578 FDD3  D0B8 A1BC 8428 323E CFE8";
+    }];
+  };
   FireyFly = {
     email = "nix@firefly.nu";
     github = "FireyFly";
     githubId = 415760;
     name = "Jonas Höglund";
   };
+  Flakebi = {
+    email = "flakebi@t-online.de";
+    github = "Flakebi";
+    githubId = 6499211;
+    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";
@@ -2239,7 +2481,7 @@
     name = "Frede Emil";
   };
   freepotion = {
-    email = "free.potion@yandex.ru";
+    email = "42352817+freepotion@users.noreply.github.com";
     github = "freepotion";
     githubId = 42352817;
     name = "Free Potion";
@@ -2312,6 +2554,12 @@
     githubId = 40521440;
     name = "Haruka Akiyama";
   };
+  fuzen = {
+    email = "me@fuzen.cafe";
+    github = "fuzen-py";
+    githubId = 17859309;
+    name = "Fuzen";
+  };
   fuzzy-id = {
     email = "hacking+nixos@babibo.de";
     name = "Thomas Bach";
@@ -2334,6 +2582,12 @@
     githubId = 7047019;
     name = "Florent Becker";
   };
+  gamb = {
+    email = "adam.gamble@pm.me";
+    github = "gamb";
+    githubId = 293586;
+    name = "Adam Gamble";
+  };
   garbas = {
     email = "rok@garbas.si";
     github = "garbas";
@@ -2350,6 +2604,12 @@
     github = "gavinrogers";
     name = "Gavin Rogers";
   };
+  gazally = {
+    email = "gazally@runbox.com";
+    github = "gazally";
+    githubId = 16470252;
+    name = "Gemini Lasswell";
+  };
   gebner = {
     email = "gebner@gebner.org";
     github = "gebner";
@@ -2492,6 +2752,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";
@@ -2594,6 +2860,11 @@
     githubId = 1401179;
     name = "Guanpeng Xu";
   };
+  hexa = {
+    github = "mweinelt";
+    githubId = 131599;
+    name = "Martin Weinelt";
+  };
   hhm = {
     email = "heehooman+nixpkgs@gmail.com";
     github = "hhm0";
@@ -2661,6 +2932,12 @@
     githubId = 69209;
     name = "Ian Duncan";
   };
+  ianmjones = {
+    email = "ian@ianmjones.com";
+    github = "ianmjones";
+    githubId = 4710;
+    name = "Ian M. Jones";
+  };
   ianwookim = {
     email = "ianwookim@gmail.com";
     github = "wavewave";
@@ -2736,7 +3013,12 @@
   infinisil = {
     email = "contact@infinisil.com";
     github = "infinisil";
+    githubId = 20525370;
     name = "Silvan Mosberger";
+    keys = [{
+      longkeyid = "rsa4096/0x422E9EDAE0157170";
+      fingerprint = "6C2B 55D4 4E04 8266 6B7D  DA1A 422E 9EDA E015 7170";
+    }];
   };
   ingenieroariel = {
     email = "ariel@nunez.co";
@@ -2750,6 +3032,15 @@
     githubId = 137306;
     name = "Michele Catalano";
   };
+  isgy = {
+    email = "isgy@teiyg.com";
+    github = "isgy";
+    githubId = 13622947;
+    keys = [{
+      longkeyid = "rsa4096/0xD3E1B013B4631293";
+      fingerprint = "1412 816B A9FA F62F D051 1975 D3E1 B013 B463 1293";
+    }];
+  };
   ivan = {
     email = "ivan@ludios.org";
     github = "ivan";
@@ -2798,6 +3089,12 @@
     githubId = 26877687;
     name = "Yurii Izorkin";
   };
+  jacg = {
+    name = "Jacek Generowicz";
+    email = "jacg@my-post-office.net";
+    github = "jacg";
+    githubId = 2570854;
+  };
   jasoncarr = {
     email = "jcarr250@gmail.com";
     github = "jasoncarr0";
@@ -2826,6 +3123,12 @@
     githubId = 820715;
     name = "Jake Logemann";
   };
+  jakestanger = {
+    email = "mail@jstanger.dev";
+    github = "JakeStanger";
+    githubId = 5057870;
+    name = "Jake Stanger";
+  };
   jakewaksbaum = {
     email = "jake.waksbaum@gmail.com";
     github = "jbaum98";
@@ -2893,6 +3196,7 @@
   jdanek = {
     email = "jdanek@redhat.com";
     github = "jdanekrh";
+    githubId = 17877663;
     keys = [{
       longkeyid = "ed25519/0x69275CADF15D872E";
       fingerprint = "D4A6 F051 AD58 2E7C BCED  5439 6927 5CAD F15D 872E";
@@ -2993,6 +3297,11 @@
     githubId = 184898;
     name = "Jirka Marsik";
   };
+  jitwit = {
+    email = "jrn@bluefarm.ca";
+    github = "jitwit";
+    name = "jitwit";
+  };
   jlesquembre = {
     email = "jl@lafuente.me";
     github = "jlesquembre";
@@ -3005,6 +3314,12 @@
     githubId = 2195834;
     name = "Jaakko Luttinen";
   };
+  jm2dev = {
+    email = "jomarcar@gmail.com";
+    github = "jm2dev";
+    githubId = 474643;
+    name = "José Miguel Martínez Carrasco";
+  };
   jmagnusj = {
     email = "jmagnusj@gmail.com";
     github = "magnusjonsson";
@@ -3052,6 +3367,7 @@
   joesalisbury = {
     email = "salisbury.joseph@gmail.com";
     github = "JosephSalisbury";
+    githubId = 297653;
     name = "Joe Salisbury";
   };
   johanot = {
@@ -3117,6 +3433,11 @@
     githubId = 392720;
     name = "Jon Banafato";
   };
+  jonathanmarler = {
+    email = "johnnymarler@gmail.com";
+    github = "marler8997";
+    name = "Jonathan Marler";
+  };
   jonathanreeve = {
     email = "jon.reeve@gmail.com";
     github = "JonathanReeve";
@@ -3200,6 +3521,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";
@@ -3212,6 +3539,12 @@
     githubId = 8460;
     name = "John Wiegley";
   };
+  jwijenbergh = {
+    email = "jeroenwijenbergh@protonmail.com";
+    github = "jwijenbergh";
+    githubId = 46386452;
+    name = "Jeroen Wijenbergh";
+  };
   jwilberding = {
     email = "jwilberding@afiniate.com";
     name = "Jordan Wilberding";
@@ -3239,6 +3572,16 @@
     githubId = 87115;
     name = "Wael Nasreddine";
   };
+  kamadorueda = {
+    name = "Kevin Amado";
+    email = "kamadorueda@gmail.com";
+    github = "kamadorueda";
+    githubId = 47480384;
+    keys = [{
+      longkeyid = "rsa4096/0x04D0CEAF916A9A40";
+      fingerprint = "2BE3 BAFD 793E A349 ED1F  F00F 04D0 CEAF 916A 9A40";
+    }];
+  };
   kamilchm = {
     email = "kamil.chm@gmail.com";
     github = "kamilchm";
@@ -3254,6 +3597,12 @@
     email = "info+nix@chmist.com";
     name = "karolchmist";
   };
+  kayhide = {
+    email = "kayhide@gmail.com";
+    github = "kayhide";
+    githubId = 1730718;
+    name = "Hideaki Kawai";
+  };
   kazcw = {
     email = "kaz@lambdaverse.org";
     github = "kazcw";
@@ -3311,6 +3660,7 @@
   kim0 = {
     email = "email.ahmedkamal@googlemail.com";
     github = "kim0";
+    githubId = 59667;
     name = "Ahmed Kamal";
   };
   kimburgess = {
@@ -3334,6 +3684,7 @@
   kirikaza = {
     email = "k@kirikaza.ru";
     github = "kirikaza";
+    githubId = 804677;
     name = "Kirill Kazakov";
   };
   kisonecat = {
@@ -3368,6 +3719,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";
@@ -3381,7 +3738,11 @@
     github = "kmein";
     githubId = 10352507;
   };
-
+  knairda = {
+    email = "adrian@kummerlaender.eu";
+    name = "Adrian Kummerlaender";
+    github = "KnairdA";
+  };
   knedlsepp = {
     email = "josef.kemetmueller@gmail.com";
     github = "knedlsepp";
@@ -3456,6 +3817,7 @@
   ktor = {
     email = "kruszewsky@gmail.com";
     github = "ktor";
+    githubId = 99639;
     name = "Pawel Kruszewski";
   };
   ktosiek = {
@@ -3470,12 +3832,29 @@
     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";
     githubId = 1362179;
     name = "Kyle Lacy";
   };
+  laikq = {
+    email = "gwen@quasebarth.de";
+    github = "laikq";
+    name = "Gwendolyn Quasebarth";
+  };
   lasandell = {
     email = "lasandell@gmail.com";
     github = "lasandell";
@@ -3493,6 +3872,19 @@
     github = "Lassulus";
     name = "Lassulus";
   };
+  lattfein = {
+    email = "lattfein@gmail.com";
+    # Their GitHub account was deleted.
+    #
+    # See: https://github.com/NixOS/nixpkgs/pull/69007 where this
+    # was added but is now owned by a ghost.
+    #
+    # Possibly the username lattfein (currently github ID 56827487) is
+    # owned by the same person, but we should confirm before adding
+    # the GitHub name or ID back.
+    # github = "lattfein";
+    name = "Koki Yasuno";
+  };
   layus = {
     email = "layus.on@gmail.com";
     github = "layus";
@@ -3587,9 +3979,16 @@
     githubId = 307589;
     name = "Nathaniel Baxter";
   };
+  liff = {
+    email = "liff@iki.fi";
+    github = "liff";
+    githubId = 124475;
+    name = "Olli Helenius";
+  };
   lightbulbjim = {
     email = "chris@killred.net";
     github = "lightbulbjim";
+    githubId = 4312404;
     name = "Chris Rendle-Short";
   };
   lightdiscord = {
@@ -3703,6 +4102,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";
@@ -3774,6 +4189,11 @@
     githubId = 13791;
     name = "Luke Gorrie";
   };
+  lumi = {
+    email = "lumi@pew.im";
+    github = "lumi-me-not";
+    name = "lumi";
+  };
   luz = {
     email = "luz666@daum.net";
     github = "Luz";
@@ -3860,6 +4280,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";
@@ -3945,6 +4371,12 @@
     githubId = 427866;
     name = "Matthias Beyer";
   };
+  matthuszagh = {
+    email = "huszaghmatt@gmail.com";
+    github = "matthuszagh";
+    githubId = 7377393;
+    name = "Matt Huszagh";
+  };
   matti-kariluoma = {
     email = "matti@kariluo.ma";
     github = "matti-kariluoma";
@@ -4010,6 +4442,12 @@
     githubId = 4378377;
     name = "Matthias Devlamynck";
   };
+  mdlayher = {
+    email = "mdlayher@gmail.com";
+    github = "mdlayher";
+    githubId = 1926905;
+    name = "Matt Layher";
+  };
   meditans = {
     email = "meditans@gmail.com";
     github = "meditans";
@@ -4154,6 +4592,12 @@
     githubId = 3958340;
     name = "Eshin Kunishima";
   };
+  mildlyincompetent = {
+    email = "nix@kch.dev";
+    github = "mildlyincompetent";
+    githubId = 19479662;
+    name = "Kajetan Champlewski";
+  };
   miltador = {
     email = "miltador@yandex.ua";
     name = "Vasiliy Solovey";
@@ -4192,18 +4636,43 @@
     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";
     githubId = 5698461;
     name = "Maciej Kazulak";
   };
+  mkf = {
+    email = "m@mikf.pl";
+    github = "mkf";
+    name = "Michał Krzysztof Feiler";
+    keys = [{
+      longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
+      fingerprint = "1E36 9940 CC7E 01C4 CFE8  F20A E35C 2D7C 2C6A C724";
+    }];
+  };
   mkg = {
     email = "mkg@vt.edu";
     github = "mkgvt";
     githubId = 22477669;
     name = "Mark K Gardner";
   };
+  mkg20001 = {
+    email = "mkg20001+nix@gmail.com";
+    github = "mkg20001";
+    githubId = 7735145;
+    name = "Maciej Krüger";
+    keys = [{
+      longkeyid = "rsa4096/0x0D948CE19CF49C5F";
+      fingerprint = "E90C BA34 55B3 6236 740C  038F 0D94 8CE1 9CF4 9C5F";
+    }];
+  };
   mlieberman85 = {
     email = "mlieberman85@gmail.com";
     github = "mlieberman85";
@@ -4216,6 +4685,18 @@
     githubId = 104795;
     name = "Marek Mahut";
   };
+  mmai = {
+    email = "henri.bourcereau@gmail.com";
+    github = "mmai";
+    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";
@@ -4273,6 +4754,10 @@
     github = "moredread";
     githubId = 100848;
     name = "André-Patrick Bubel";
+    keys = [{
+      longkeyid = "rsa8192/0x118CE7C424B45728";
+      fingerprint = "4412 38AD CAD3 228D 876C  5455 118C E7C4 24B4 5728";
+    }];
   };
   moretea = {
     email = "maarten@moretea.nl";
@@ -4326,6 +4811,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";
@@ -4363,6 +4854,12 @@
     githubId = 437005;
     name = "Mikkel Christiansen";
   };
+  mschuwalow = {
+    github = "mschuwalow";
+    githubId = 16665913;
+    name = "Maxim Schuwalow";
+    email = "maxim.schuwalow@gmail.com";
+  };
   msiedlarek = {
     email = "mikolaj@siedlarek.pl";
     github = "msiedlarek";
@@ -4410,6 +4907,12 @@
     githubId = 69918;
     name = "Stefan Dorn";
   };
+  multun = {
+    email = "victor.collod@epita.fr";
+    github = "multun";
+    githubId = 5047140;
+    name = "Victor Collod";
+  };
   mvnetbiz = {
     email = "mvnetbiz@gmail.com";
     github = "mvnetbiz";
@@ -4473,12 +4976,6 @@
     githubId = 364510;
     name = "Tobias Geerinckx-Rice";
   };
-  ndowens = {
-    email = "ndowens04@gmail.com";
-    github = "ndowens";
-    githubId = 117743;
-    name = "Nathan Owens";
-  };
   neeasade = {
     email = "nathanisom27@gmail.com";
     github = "neeasade";
@@ -4609,6 +5106,12 @@
     githubId = 2946283;
     name = "Brian Cohen";
   };
+  novoxudonoser = {
+    email = "radnovox@gmail.com";
+    github = "novoxudonoser";
+    githubId = 6052922;
+    name = "Kirill Struokov";
+  };
   np = {
     email = "np.nix@nicolaspouillard.fr";
     github = "np";
@@ -4829,6 +5332,12 @@
     githubId = 20792;
     name = "Sebastian Galkin";
   };
+  pashashocky = {
+    email = "pashashocky@gmail.com";
+    github = "pashashocky";
+    githubId = 673857;
+    name = "Pash Shocky";
+  };
   pashev = {
     email = "pashev.igor@gmail.com";
     github = "ip1981";
@@ -4954,6 +5463,16 @@
     githubId = 1179566;
     name = "Nicolas B. Pierron";
   };
+  pingiun = {
+    email = "nixos@pingiun.com";
+    github = "pingiun";
+    githubId = 1576660;
+    name = "Jelle Besseling";
+    keys = [{
+      longkeyid = "rsa4096/0x9712452E8BE3372E";
+      fingerprint = "A3A3 65AE 16ED A7A0 C29C  88F1 9712 452E 8BE3 372E";
+    }];
+  };
   piotr = {
     email = "ppietrasa@gmail.com";
     name = "Piotr Pietraszkiewicz";
@@ -5370,6 +5889,12 @@
     github = "rickynils";
     name = "Rickard Nilsson";
   };
+  rika = {
+    email = "rika@paymentswit.ch";
+    github = "NekomimiScience";
+    githubId = 1810487;
+    name = "Rika";
+  };
   rileyinman = {
     email = "rileyminman@gmail.com";
     github = "rileyinman";
@@ -5759,6 +6284,16 @@
     githubId = 307899;
     name = "Gurkan Gur";
   };
+  servalcatty = {
+    email = "servalcat@pm.me";
+    github = "servalcatty";
+    githubid = 51969817;
+    name = "Serval";
+    keys = [{
+      longkeyid = "rsa4096/0x4A2AAAA382F8294C";
+      fingerprint = "A317 37B3 693C 921B 480C  C629 4A2A AAA3 82F8 294C";
+    }];
+  };
   sfrijters = {
     email = "sfrijters@gmail.com";
     github = "sfrijters";
@@ -5777,8 +6312,14 @@
     githubId = 1151264;
     name = "Sebastian Graf";
   };
+  shahrukh330 = {
+    email = "shahrukh330@gmail.com";
+    github = "shahrukh330";
+    githubId = 1588288;
+    name = "Shahrukh Khan";
+  };
   shanemikel = {
-    email = "shanemikel1@gmail.com";
+    email = "shanepearlman@pm.me";
     github = "shanemikel";
     githubId = 6720672;
     name = "Shane Pearlman";
@@ -5828,6 +6369,12 @@
     githubId = 819413;
     name = "Benedict Aas";
   };
+  shyim = {
+    email = "s.sayakci@gmail.com";
+    github = "shyim";
+    githubId = 6224096;
+    name = "Soner Sayakci";
+  };
   siddharthist = {
     email = "langston.barrett@gmail.com";
     github = "langston-barrett";
@@ -5862,6 +6409,12 @@
       fingerprint = "ADF4 C13D 0E36 1240 BD01  9B51 D1DE 6D7F 6936 63A5";
     }];
   };
+  simonchatts = {
+    email = "code@chatts.net";
+    github = "simonchatts";
+    githubId = 11135311;
+    name = "Simon Chatterjee";
+  };
   simonvandel = {
     email = "simon.vandel@gmail.com";
     github = "simonvandel";
@@ -5955,6 +6508,12 @@
     githubId = 1437166;
     name = "Xia Bin";
   };
+  softinio = {
+    email = "code@softinio.com";
+    github = "softinio";
+    githubId = 3371635;
+    name = "Salar Rahmanian";
+  };
   solson = {
     email = "scott@solson.me";
     github = "solson";
@@ -6159,6 +6718,12 @@
     githubId = 120188;
     name = "Scott W. Dunlop";
   };
+  sweber = {
+    email = "sweber2342+nixpkgs@gmail.com";
+    github = "sweber83";
+    githubId = 19905904;
+    name = "Simon Weber";
+  };
   swflint = {
     email = "swflint@flintfam.org";
     github = "swflint";
@@ -6276,6 +6841,12 @@
     githubId = 506181;
     name = "Peter Marheine";
   };
+  tasmo = {
+    email = "tasmo@tasmo.de";
+    github = "tasmo";
+    githubId = 102685;
+    name = "Thomas Friese";
+  };
   tavyc = {
     email = "octavian.cerna@gmail.com";
     github = "tavyc";
@@ -6294,6 +6865,11 @@
     githubId = 863327;
     name = "Tyler Benster";
   };
+  tckmn = {
+    email = "andy@tck.mn";
+    github = "tckmn";
+    name = "Andy Tockman";
+  };
   teh = {
     email = "tehunger@gmail.com";
     github = "teh";
@@ -6375,6 +6951,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";
@@ -6415,6 +6997,12 @@
     githubId = 224674;
     name = "Thomas Pham";
   };
+  Thra11 = {
+    email = "tahall256@protonmail.ch";
+    github = "Thra11";
+    githubId = 1391883;
+    name = "Tom Hall";
+  };
   tilpner = {
     email = "till@hoeppner.ws";
     github = "tilpner";
@@ -6456,6 +7044,16 @@
     githubId = 13026;
     name = "Jonathan Rudenberg";
   };
+  tkerber = {
+    email = "tk@drwx.org";
+    github = "tkerber";
+    githubId = 5722198;
+    name = "Thomas Kerber";
+    keys = [ {
+      longkeyid = "rsa4096/0x8489B911F9ED617B";
+      fingerprint = "556A 403F B0A2 D423 F656  3424 8489 B911 F9ED 617B";
+    } ];
+  };
   tmplt = {
     email = "tmplt@dragons.rocks";
     github = "tmplt";
@@ -6503,6 +7101,12 @@
     githubId = 178444;
     name = "Thomas Bereknyei";
   };
+  tomfitzhenry = {
+    email = "tom@tom-fitzhenry.me.uk";
+    github = "tomfitzhenry";
+    githubId = 61303;
+    name = "Tom Fitzhenry";
+  };
   tomsmeets = {
     email = "tom.tsmeets@gmail.com";
     github = "tomsmeets";
@@ -6533,6 +7137,12 @@
     githubId = 1312290;
     name = "Trevor Joynson";
   };
+  tricktron = {
+    email = "tgagnaux@gmail.com";
+    github = "tricktron";
+    githubId = 16036882;
+    name = "Thibault Gagnaux";
+  };
   trino = {
     email = "muehlhans.hubert@ekodia.de";
     github = "hmuehlhans";
@@ -6545,6 +7155,11 @@
     githubId = 483735;
     name = "Dmitry Geurkov";
   };
+  tscholak = {
+    email = "torsten.scholak@googlemail.com";
+    github = "tscholak";
+    name = "Torsten Scholak";
+  };
   tstrobel = {
     email = "4ZKTUB6TEP74PYJOPWIR013S2AV29YUBW5F9ZH2F4D5UMJUJ6S@hash.domains";
     name = "Thomas Strobel";
@@ -6704,6 +7319,11 @@
     githubId = 797581;
     name = "Vincent Bernardoff";
   };
+  vcanadi = {
+    email = "vito.canadi@gmail.com";
+    github = "vcanadi";
+    name = "Vitomir Čanadi";
+  };
   vcunat = {
     name = "Vladimír Čunát";
     email = "v@cunat.cz"; # vcunat@gmail.com predominated in commits before 2019/03
@@ -6861,6 +7481,12 @@
     email = "kirill.wedens@gmail.com";
     name = "wedens";
   };
+  WhittlesJr = {
+    email = "alex.joseph.whitt@gmail.com";
+    github = "WhittlesJr";
+    githubId = 19174984;
+    name = "Alex Whitt";
+  };
   willibutz = {
     email = "willibutz@posteo.de";
     github = "willibutz";
@@ -6958,6 +7584,12 @@
     githubId = 36407913;
     name = "Uli Baum";
   };
+  xfix = {
+    email = "konrad@borowski.pw";
+    github = "xfix";
+    githubId = 1297598;
+    name = "Konrad Borowski";
+  };
   xnaveira = {
     email = "xnaveira@gmail.com";
     github = "xnaveira";
@@ -7070,8 +7702,24 @@
     githubId = 1866448;
     name = "Eric Bailey";
   };
-  z77z = {
-    email = "maggesi@math.unifi.it";
+  Yumasi = {
+    email = "gpagnoux@gmail.com";
+    github = "Yumasi";
+    githubId = 24368641;
+    name = "Guillaume Pagnoux";
+    keys = [{
+      longkeyid = "rsa4096/0xEC5065899AEAAF4C";
+      fingerprint = "85F8 E850 F8F2 F823 F934  535B EC50 6589 9AEA AF4C";
+    }];
+  };
+  yvt = {
+    email = "i@yvt.jp";
+    github = "yvt";
+    githubId = 5253988;
+    name = "yvt";
+  };
+  maggesi = {
+    email = "marco.maggesi@gmail.com";
     github = "maggesi";
     githubId = 1809783;
     name = "Marco Maggesi";
@@ -7115,6 +7763,12 @@
     email = "zef@zef.me";
     name = "Zef Hemel";
   };
+  zfnmxt = {
+    name = "zfnmxt";
+    email = "zfnmxt@zfnmxt.com";
+    github = "zfnmxt";
+    githubId = 37446532;
+  };
   zgrannan = {
     email = "zgrannan@gmail.com";
     github = "zgrannan";
@@ -7187,4 +7841,34 @@
     githubId = 1986844;
     name = "Daniel Wheeler";
   };
+  misuzu = {
+    email = "bakalolka@gmail.com";
+    github = "misuzu";
+    githubId = 248143;
+    name = "misuzu";
+  };
+  zokrezyl = {
+    email = "zokrezyl@gmail.com";
+    github = "zokrezyl";
+    githubId = 51886259;
+    name = "Zokre Zyl";
+  };
+  rakesh4g = {
+    email = "rakeshgupta4u@gmail.com";
+    github = "rakesh4g";
+    githubId = 50867187;
+    name = "Rakesh Gupta";
+  };
+  mlatus = {
+    email = "wqseleven@gmail.com";
+    github = "Ninlives";
+    githubId = 17873203;
+    name = "mlatus";
+  };
+  waiting-for-dev = {
+    email = "marc@lamarciana.com";
+    github = "waiting-for-dev";
+    githubId = 52650;
+    name = "Marc Busqué";
+  };
 }
diff --git a/nixpkgs/maintainers/scripts/luarocks-packages.csv b/nixpkgs/maintainers/scripts/luarocks-packages.csv
index a6fbcd5a0beb..526a928438d2 100644
--- a/nixpkgs/maintainers/scripts/luarocks-packages.csv
+++ b/nixpkgs/maintainers/scripts/luarocks-packages.csv
@@ -37,14 +37,17 @@ lua-zlib,,,,,koral
 lua_cliargs,,,,,
 luabitop,,,,,
 luacheck,,,,,
+luacov,,,,,
 luadbi,,,,,
 luadbi-mysql,,,,,
 luadbi-postgresql,,,,,
 luadbi-sqlite3,,,,,
+luadoc,,,,,
 luaevent,,,,,
 luaexpat,,,1.3.0-1,,arobyn flosse
 luaffi,,http://luarocks.org/dev,,,
 luafilesystem,,,1.7.0-2,,flosse vcunat
+lualogging,,,,,
 luaossl,,,,lua5_1,vcunat
 luaposix,,,,,vyp lblasc
 luasec,,,,,flosse
@@ -68,3 +71,4 @@ say,,,,,
 std__debug,std._debug,,,,
 std_normalize,std.normalize,,,,
 stdlib,,,,,vyp
+pulseaudio,,,,,doronbehar
diff --git a/nixpkgs/maintainers/scripts/update-discord b/nixpkgs/maintainers/scripts/update-discord
index 23ec6e401be4..b4c26b3bdefd 100755
--- a/nixpkgs/maintainers/scripts/update-discord
+++ b/nixpkgs/maintainers/scripts/update-discord
@@ -6,7 +6,7 @@ exec >${1:?usage: $0 <output-file>}
 
 cat <<EOF
 { branch ? "stable", pkgs }:
-
+# Generated by /maintainers/scripts/update-discord
 let
   inherit (pkgs) callPackage fetchurl;
 in {
@@ -16,7 +16,7 @@ for branch in "" ptb canary; do
     url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
     version=${url##https://dl*.discordapp.net/apps/linux/}
     version=${version%%/*.tar.gz}
-    echo "  ${branch:-stable} = callPackage ./base.nix {"
+    echo "  ${branch:-stable} = callPackage ./base.nix rec {"
     echo "    pname = \"discord${branch:+-}${branch}\";"
     case $branch in
         "") suffix="" ;;
@@ -27,7 +27,7 @@ for branch in "" ptb canary; do
     echo "    desktopName = \"Discord${suffix:+ }${suffix}\";"
     echo "    version = \"${version}\";"
     echo "    src = fetchurl {"
-    echo "      url = \"${url}\";"
+    echo "      url = \"${url//${version}/\$\{version\}}\";"
     echo "      sha256 = \"$(nix-prefetch-url "$url")\";"
     echo "    };"
     echo "  };"
diff --git a/nixpkgs/maintainers/scripts/update.nix b/nixpkgs/maintainers/scripts/update.nix
index 04723cb8a366..bbc3004b1c4e 100755
--- a/nixpkgs/maintainers/scripts/update.nix
+++ b/nixpkgs/maintainers/scripts/update.nix
@@ -105,7 +105,7 @@ let
     to run all update scripts for all packages that lists \`garbas\` as a maintainer
     and have \`updateScript\` defined, or:
 
-        % nix-shell maintainers/scripts/update.nix --argstr package garbas
+        % nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus
 
     to run update script for specific package, or
 
@@ -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/nixpkgs/nixos/doc/manual/configuration/abstractions.xml b/nixpkgs/nixos/doc/manual/configuration/abstractions.xml
index 5bf0635cc1aa..df9ff2615e1a 100644
--- a/nixpkgs/nixos/doc/manual/configuration/abstractions.xml
+++ b/nixpkgs/nixos/doc/manual/configuration/abstractions.xml
@@ -11,50 +11,46 @@
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    [ { hostName = "example.org";
-        documentRoot = "/webroot";
+    { "blog.example.org" = {
+        documentRoot = "/webroot/blog.example.org";
         adminAddr = "alice@example.org";
-        enableUserDir = true;
-      }
-      { hostName = "example.org";
-        documentRoot = "/webroot";
+        forceSSL = true;
+        enableACME = true;
+        enablePHP = true;
+      };
+      "wiki.example.org" = {
+        documentRoot = "/webroot/wiki.example.org";
         adminAddr = "alice@example.org";
-        enableUserDir = true;
-        enableSSL = true;
-        sslServerCert = "/root/ssl-example-org.crt";
-        sslServerKey = "/root/ssl-example-org.key";
-      }
-    ];
+        forceSSL = true;
+        enableACME = true;
+        enablePHP = true;
+      };
+    };
 }
 </programlisting>
   It defines two virtual hosts with nearly identical configuration; the only
-  difference is that the second one has SSL enabled. To prevent this
+  difference is the document root directories. To prevent this
   duplication, we can use a <literal>let</literal>:
 <programlisting>
 let
-  exampleOrgCommon =
-    { hostName = "example.org";
-      documentRoot = "/webroot";
-      adminAddr = "alice@example.org";
-      enableUserDir = true;
+  commonConfig =
+    { adminAddr = "alice@example.org";
+      forceSSL = true;
+      enableACME = true;
     };
 in
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    [ exampleOrgCommon
-      (exampleOrgCommon // {
-        enableSSL = true;
-        sslServerCert = "/root/ssl-example-org.crt";
-        sslServerKey = "/root/ssl-example-org.key";
-      })
-    ];
+    { "blog.example.org" = (commonConfig // { documentRoot = "/webroot/blog.example.org"; });
+      "wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.com"; });
+    };
 }
 </programlisting>
-  The <literal>let exampleOrgCommon = <replaceable>...</replaceable></literal>
-  defines a variable named <literal>exampleOrgCommon</literal>. The
+  The <literal>let commonConfig = <replaceable>...</replaceable></literal>
+  defines a variable named <literal>commonConfig</literal>. The
   <literal>//</literal> operator merges two attribute sets, so the
   configuration of the second virtual host is the set
-  <literal>exampleOrgCommon</literal> extended with the SSL options.
+  <literal>commonConfig</literal> extended with the document root option.
  </para>
 
  <para>
@@ -63,13 +59,13 @@ in
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let exampleOrgCommon = <replaceable>...</replaceable>; in
-    [ exampleOrgCommon
-      (exampleOrgCommon // { <replaceable>...</replaceable> })
-    ];
+    let commonConfig = <replaceable>...</replaceable>; in
+    { "blog.example.org" = (commonConfig // { <replaceable>...</replaceable> })
+      "wiki.example.org" = (commonConfig // { <replaceable>...</replaceable> })
+    };
 }
 </programlisting>
-  but not <literal>{ let exampleOrgCommon = <replaceable>...</replaceable>; in
+  but not <literal>{ let commonConfig = <replaceable>...</replaceable>; in
   <replaceable>...</replaceable>; }</literal> since attributes (as opposed to
   attribute values) are not expressions.
  </para>
@@ -77,80 +73,29 @@ in
  <para>
   <emphasis>Functions</emphasis> provide another method of abstraction. For
   instance, suppose that we want to generate lots of different virtual hosts,
-  all with identical configuration except for the host name. This can be done
+  all with identical configuration except for the document root. This can be done
   as follows:
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
     let
-      makeVirtualHost = name:
-        { hostName = name;
-          documentRoot = "/webroot";
+      makeVirtualHost = webroot:
+        { documentRoot = webroot;
           adminAddr = "alice@example.org";
+          forceSSL = true;
+          enableACME = true;
         };
     in
-      [ (makeVirtualHost "example.org")
-        (makeVirtualHost "example.com")
-        (makeVirtualHost "example.gov")
-        (makeVirtualHost "example.nl")
-      ];
+      { "example.org" = (makeVirtualHost "/webroot/example.org");
+        "example.com" = (makeVirtualHost "/webroot/example.com");
+        "example.gov" = (makeVirtualHost "/webroot/example.gov");
+        "example.nl" = (makeVirtualHost "/webroot/example.nl");
+      };
 }
 </programlisting>
   Here, <varname>makeVirtualHost</varname> is a function that takes a single
-  argument <literal>name</literal> and returns the configuration for a virtual
+  argument <literal>webroot</literal> and returns the configuration for a virtual
   host. That function is then called for several names to produce the list of
   virtual host configurations.
  </para>
-
- <para>
-  We can further improve on this by using the function <varname>map</varname>,
-  which applies another function to every element in a list:
-<programlisting>
-{
-  <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let
-      makeVirtualHost = <replaceable>...</replaceable>;
-    in map makeVirtualHost
-      [ "example.org" "example.com" "example.gov" "example.nl" ];
-}
-</programlisting>
-  (The function <literal>map</literal> is called a <emphasis>higher-order
-  function</emphasis> because it takes another function as an argument.)
- </para>
-
- <para>
-  What if you need more than one argument, for instance, if we want to use a
-  different <literal>documentRoot</literal> for each virtual host? Then we can
-  make <varname>makeVirtualHost</varname> a function that takes a
-  <emphasis>set</emphasis> as its argument, like this:
-<programlisting>
-{
-  <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let
-      makeVirtualHost = { name, root }:
-        { hostName = name;
-          documentRoot = root;
-          adminAddr = "alice@example.org";
-        };
-    in map makeVirtualHost
-      [ { name = "example.org"; root = "/sites/example.org"; }
-        { name = "example.com"; root = "/sites/example.com"; }
-        { name = "example.gov"; root = "/sites/example.gov"; }
-        { name = "example.nl"; root = "/sites/example.nl"; }
-      ];
-}
-</programlisting>
-  But in this case (where every root is a subdirectory of
-  <filename>/sites</filename> named after the virtual host), it would have been
-  shorter to define <varname>makeVirtualHost</varname> as
-<programlisting>
-makeVirtualHost = name:
-  { hostName = name;
-    documentRoot = "/sites/${name}";
-    adminAddr = "alice@example.org";
-  };
-</programlisting>
-  Here, the construct <literal>${<replaceable>...</replaceable>}</literal>
-  allows the result of an expression to be spliced into a string.
- </para>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/configuration/config-file.xml b/nixpkgs/nixos/doc/manual/configuration/config-file.xml
index eadafb94b8f6..7ccb5b3664ea 100644
--- a/nixpkgs/nixos/doc/manual/configuration/config-file.xml
+++ b/nixpkgs/nixos/doc/manual/configuration/config-file.xml
@@ -27,7 +27,7 @@
 
 { <xref linkend="opt-services.httpd.enable"/> = true;
   <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
-  <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";
+  <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.localhost.documentRoot</link> = "/webroot";
 }
 </programlisting>
   defines a configuration with three option definitions that together enable
@@ -50,7 +50,11 @@
     httpd = {
       enable = true;
       adminAddr = "alice@example.org";
-      documentRoot = "/webroot";
+      virtualHosts = {
+        localhost = {
+          documentRoot = "/webroot";
+        };
+      };
     };
   };
 }
diff --git a/nixpkgs/nixos/doc/manual/configuration/profiles/graphical.xml b/nixpkgs/nixos/doc/manual/configuration/profiles/graphical.xml
index 73e3abc59d0c..cc6d0825d241 100644
--- a/nixpkgs/nixos/doc/manual/configuration/profiles/graphical.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/configuration/wireless.xml b/nixpkgs/nixos/doc/manual/configuration/wireless.xml
index 9c0e3a8d7aa4..247d29d58314 100644
--- a/nixpkgs/nixos/doc/manual/configuration/wireless.xml
+++ b/nixpkgs/nixos/doc/manual/configuration/wireless.xml
@@ -19,10 +19,17 @@
   NixOS lets you specify networks for wpa_supplicant declaratively:
 <programlisting>
 <xref linkend="opt-networking.wireless.networks"/> = {
-  echelon = {
+  echelon = {                # SSID with no spaces or special characters
     psk = "abcdefgh";
   };
-  "free.wifi" = {};
+  "echelon's AP" = {         # SSID with spaces and/or special characters
+    psk = "ijklmnop";
+  };
+  echelon = {                # Hidden SSID
+    hidden = true;
+    psk = "qrstuvwx";
+  };
+  free.wifi = {};            # Public wireless network
 };
 </programlisting>
   Be aware that keys will be written to the nix store in plaintext! When no
diff --git a/nixpkgs/nixos/doc/manual/configuration/x-windows.xml b/nixpkgs/nixos/doc/manual/configuration/x-windows.xml
index f6f659b02afa..55ad9fe6e653 100644
--- a/nixpkgs/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixpkgs/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>
@@ -83,8 +83,7 @@
   desktop environment. If you wanted no desktop environment and i3 as your your
   window manager, you'd define:
 <programlisting>
-<xref linkend="opt-services.xserver.desktopManager.default"/> = "none";
-<xref linkend="opt-services.xserver.windowManager.default"/> = "i3";
+<xref linkend="opt-services.xserver.displayManager.defaultSession"/> = "none+i3";
 </programlisting>
   And, finally, to enable auto-login for a user <literal>johndoe</literal>:
 <programlisting>
diff --git a/nixpkgs/nixos/doc/manual/configuration/xfce.xml b/nixpkgs/nixos/doc/manual/configuration/xfce.xml
index 6ac99c6b2bee..7d2862f8b31f 100644
--- a/nixpkgs/nixos/doc/manual/configuration/xfce.xml
+++ b/nixpkgs/nixos/doc/manual/configuration/xfce.xml
@@ -7,22 +7,21 @@
  <para>
   To enable the Xfce Desktop Environment, set
 <programlisting>
-<link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
-  <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
-  <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";
+<xref linkend="opt-services.xserver.desktopManager.xfce.enable" /> = true;
+<xref linkend="opt-services.xserver.displayManager.defaultSession" /> = "xfce";
 };
 </programlisting>
  </para>
  <para>
-  Optionally, <emphasis>compton</emphasis> can be enabled for nice graphical
+  Optionally, <emphasis>picom</emphasis> can be enabled for nice graphical
   effects, some example settings:
 <programlisting>
-<link linkend="opt-services.compton.enable">services.compton</link> = {
-  <link linkend="opt-services.compton.enable">enable</link>          = true;
-  <link linkend="opt-services.compton.fade">fade</link>            = true;
-  <link linkend="opt-services.compton.inactiveOpacity">inactiveOpacity</link> = "0.9";
-  <link linkend="opt-services.compton.shadow">shadow</link>          = true;
-  <link linkend="opt-services.compton.fadeDelta">fadeDelta</link>       = 4;
+<link linkend="opt-services.picom.enable">services.picom</link> = {
+  <link linkend="opt-services.picom.enable">enable</link>          = true;
+  <link linkend="opt-services.picom.fade">fade</link>            = true;
+  <link linkend="opt-services.picom.inactiveOpacity">inactiveOpacity</link> = "0.9";
+  <link linkend="opt-services.picom.shadow">shadow</link>          = true;
+  <link linkend="opt-services.picom.fadeDelta">fadeDelta</link>       = 4;
 };
 </programlisting>
  </para>
diff --git a/nixpkgs/nixos/doc/manual/default.nix b/nixpkgs/nixos/doc/manual/default.nix
index f9de2db1a084..6ca75f869f45 100644
--- a/nixpkgs/nixos/doc/manual/default.nix
+++ b/nixpkgs/nixos/doc/manual/default.nix
@@ -62,14 +62,13 @@ let
     "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
     "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
     "--param xref.with.number.and.title 1"
-    "--param toc.section.depth 3"
+    "--param toc.section.depth 0"
     "--stringparam admon.style ''"
     "--stringparam callout.graphics.extension .svg"
     "--stringparam current.docid manual"
     "--param chunk.section.depth 0"
     "--param chunk.first.sections 1"
     "--param use.id.as.filename 1"
-    "--stringparam generate.toc 'book toc appendix toc'"
     "--stringparam chunk.toc ${toc}"
   ];
 
diff --git a/nixpkgs/nixos/doc/manual/development/option-declarations.xml b/nixpkgs/nixos/doc/manual/development/option-declarations.xml
index eee81bf64263..56ebf4816306 100644
--- a/nixpkgs/nixos/doc/manual/development/option-declarations.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/option-types.xml b/nixpkgs/nixos/doc/manual/development/option-types.xml
index 8fcbb627342b..1ec7e3efad71 100644
--- a/nixpkgs/nixos/doc/manual/development/option-types.xml
+++ b/nixpkgs/nixos/doc/manual/development/option-types.xml
@@ -259,12 +259,66 @@
       A set of sub options <replaceable>o</replaceable>.
       <replaceable>o</replaceable> can be an attribute set or a function
       returning an attribute set. Submodules are used in composed types to
-      create modular options. Submodule are detailed in
+      create modular options. This is equivalent to
+      <literal>types.submoduleWith { modules = toList o; shorthandOnlyDefinesConfig = true; }</literal>.
+      Submodules are detailed in
       <xref
           linkend='section-option-types-submodule' />.
      </para>
     </listitem>
    </varlistentry>
+   <varlistentry>
+     <term>
+       <varname>types.submoduleWith</varname> {
+        <replaceable>modules</replaceable>,
+        <replaceable>specialArgs</replaceable> ? {},
+        <replaceable>shorthandOnlyDefinesConfig</replaceable> ? false }
+     </term>
+     <listitem>
+       <para>
+         Like <varname>types.submodule</varname>, but more flexible and with better defaults.
+         It has parameters
+         <itemizedlist>
+           <listitem><para>
+             <replaceable>modules</replaceable>
+             A list of modules to use by default for this submodule type. This gets combined
+             with all option definitions to build the final list of modules that will be included.
+             <note><para>
+               Only options defined with this argument are included in rendered documentation.
+             </para></note>
+           </para></listitem>
+           <listitem><para>
+             <replaceable>specialArgs</replaceable>
+             An attribute set of extra arguments to be passed to the module functions.
+             The option <literal>_module.args</literal> should be used instead
+             for most arguments since it allows overriding. <replaceable>specialArgs</replaceable> should only be
+             used for arguments that can&apos;t go through the module fixed-point, because of
+             infinite recursion or other problems. An example is overriding the
+             <varname>lib</varname> argument, because <varname>lib</varname> itself is used
+             to define <literal>_module.args</literal>, which makes using
+             <literal>_module.args</literal> to define it impossible.
+           </para></listitem>
+           <listitem><para>
+             <replaceable>shorthandOnlyDefinesConfig</replaceable>
+             Whether definitions of this type should default to the <literal>config</literal>
+             section of a module (see <xref linkend='ex-module-syntax'/>) if it is an attribute
+             set. Enabling this only has a benefit when the submodule defines an option named
+             <literal>config</literal> or <literal>options</literal>. In such a case it would
+             allow the option to be set with <literal>the-submodule.config = "value"</literal>
+             instead of requiring <literal>the-submodule.config.config = "value"</literal>.
+             This is because only when modules <emphasis>don&apos;t</emphasis> set the
+             <literal>config</literal> or <literal>options</literal> keys, all keys are interpreted
+             as option definitions in the <literal>config</literal> section. Enabling this option
+             implicitly puts all attributes in the <literal>config</literal> section.
+           </para>
+           <para>
+             With this option enabled, defining a non-<literal>config</literal> section requires
+             using a function: <literal>the-submodule = { ... }: { options = { ... }; }</literal>.
+           </para></listitem>
+         </itemizedlist>
+       </para>
+     </listitem>
+   </varlistentry>
   </variablelist>
  </section>
 
diff --git a/nixpkgs/nixos/doc/manual/development/releases.xml b/nixpkgs/nixos/doc/manual/development/releases.xml
index 1cdec64f69b0..9371af9984d1 100755
--- a/nixpkgs/nixos/doc/manual/development/releases.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/replace-modules.xml b/nixpkgs/nixos/doc/manual/development/replace-modules.xml
index 7b103c36d907..b4a466e22942 100644
--- a/nixpkgs/nixos/doc/manual/development/replace-modules.xml
+++ b/nixpkgs/nixos/doc/manual/development/replace-modules.xml
@@ -6,8 +6,8 @@
  <title>Replace Modules</title>
 
  <para>
-  Modules that are imported can also be disabled. The option declarations and
-  config implementation of a disabled module will be ignored, allowing another
+  Modules that are imported can also be disabled. The option declarations,
+  config implementation and the imports of a disabled module will be ignored, allowing another
   to take it's place. This can be used to import a set of modules from another
   channel while keeping the rest of the system on a stable release.
  </para>
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml
index e390d62fde2f..31216874c706 100644
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml
+++ b/nixpkgs/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>
@@ -14,14 +14,14 @@
 starting VDE switch for network 1
 <prompt>&gt;</prompt>
 </screen>
-  You can then take any Perl statement, e.g.
+  You can then take any Python statement, e.g.
 <screen>
-<prompt>&gt;</prompt> startAll
-<prompt>&gt;</prompt> testScript
-<prompt>&gt;</prompt> $machine->succeed("touch /tmp/foo")
-<prompt>&gt;</prompt> print($machine->succeed("pwd")) # Show stdout of command
+<prompt>&gt;</prompt> start_all()
+<prompt>&gt;</prompt> test_script()
+<prompt>&gt;</prompt> machine.succeed("touch /tmp/foo")
+<prompt>&gt;</prompt> print(machine.succeed("pwd")) # Show stdout of command
 </screen>
-  The function <command>testScript</command> executes the entire test script
+  The function <command>test_script</command> executes the entire test script
   and drops you back into the test driver command line upon its completion.
   This allows you to inspect the state of the VMs after the test (e.g. to debug
   the test script).
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml
index 13ae1ed93699..e9257c907daf 100644
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/sources.xml b/nixpkgs/nixos/doc/manual/development/sources.xml
index 3c30c782746d..b333ccabb420 100644
--- a/nixpkgs/nixos/doc/manual/development/sources.xml
+++ b/nixpkgs/nixos/doc/manual/development/sources.xml
@@ -13,17 +13,16 @@
 <screen>
 <prompt>$ </prompt>git clone https://github.com/NixOS/nixpkgs
 <prompt>$ </prompt>cd nixpkgs
-<prompt>$ </prompt>git remote add channels https://github.com/NixOS/nixpkgs-channels
-<prompt>$ </prompt>git remote update channels
+<prompt>$ </prompt>git remote update origin
 </screen>
   This will check out the latest Nixpkgs sources to
   <filename>./nixpkgs</filename> the NixOS sources to
   <filename>./nixpkgs/nixos</filename>. (The NixOS source tree lives in a
-  subdirectory of the Nixpkgs repository.) The remote
-  <literal>channels</literal> refers to a read-only repository that tracks the
-  Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/> for more
+  subdirectory of the Nixpkgs repository.) The
+  <literal>nixpkgs</literal> repository has branches that correspond
+  to each Nixpkgs/NixOS channel (see <xref linkend="sec-upgrading"/> for more
   information about channels). Thus, the Git branch
-  <literal>channels/nixos-17.03</literal> will contain the latest built and
+  <literal>origin/nixos-17.03</literal> will contain the latest built and
   tested version available in the <literal>nixos-17.03</literal> channel.
  </para>
  <para>
@@ -40,15 +39,15 @@
   Or, to base your local branch on the latest version available in a NixOS
   channel:
 <screen>
-<prompt>$ </prompt>git remote update channels
-<prompt>$ </prompt>git checkout -b local channels/nixos-17.03
+<prompt>$ </prompt>git remote update origin
+<prompt>$ </prompt>git checkout -b local origin/nixos-17.03
 </screen>
   (Replace <literal>nixos-17.03</literal> with the name of the channel you want
   to use.) You can use <command>git merge</command> or <command>git
   rebase</command> to keep your local branch in sync with the channel, e.g.
 <screen>
-<prompt>$ </prompt>git remote update channels
-<prompt>$ </prompt>git merge channels/nixos-17.03
+<prompt>$ </prompt>git remote update origin
+<prompt>$ </prompt>git merge origin/nixos-17.03
 </screen>
   You can use <command>git cherry-pick</command> to copy commits from your
   local branch to the upstream branch.
diff --git a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml
index 6be2d0a4d231..e5a887c18c77 100644
--- a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -8,7 +8,7 @@
  <para>
   A NixOS test is a Nix expression that has the following structure:
 <programlisting>
-import ./make-test.nix {
+import ./make-test-python.nix {
 
   # Either the configuration of a single machine:
   machine =
@@ -27,11 +27,11 @@ import ./make-test.nix {
 
   testScript =
     ''
-      <replaceable>Perl code…</replaceable>
+      <replaceable>Python code…</replaceable>
     '';
 }
 </programlisting>
-  The attribute <literal>testScript</literal> is a bit of Perl code that
+  The attribute <literal>testScript</literal> is a bit of Python code that
   executes the test (described below). During the test, it will start one or
   more virtual machines, the configuration of which is described by the
   attribute <literal>machine</literal> (if you need only one machine in your
@@ -96,26 +96,27 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualis
  </para>
 
  <para>
-  The test script is a sequence of Perl statements that perform various
+  The test script is a sequence of Python statements that perform various
   actions, such as starting VMs, executing commands in the VMs, and so on. Each
   virtual machine is represented as an object stored in the variable
-  <literal>$<replaceable>name</replaceable></literal>, where
-  <replaceable>name</replaceable> is the identifier of the machine (which is
-  just <literal>machine</literal> if you didn’t specify multiple machines
-  using the <literal>nodes</literal> attribute). For instance, the following
-  starts the machine, waits until it has finished booting, then executes a
-  command and checks that the output is more-or-less correct:
+  <literal><replaceable>name</replaceable></literal> if this is also the
+  identifier of the machine in the declarative config.
+  If you didn't specify multiple machines using the <literal>nodes</literal>
+  attribute, it is just <literal>machine</literal>.
+  The following example starts the machine, waits until it has finished booting,
+  then executes a command and checks that the output is more-or-less correct:
 <programlisting>
-$machine->start;
-$machine->waitForUnit("default.target");
-$machine->succeed("uname") =~ /Linux/ or die;
+machine.start()
+machine.wait_for_unit("default.target")
+if not "Linux" in machine.succeed("uname"):
+  raise Exception("Wrong OS")
 </programlisting>
   The first line is actually unnecessary; machines are implicitly started when
-  you first execute an action on them (such as <literal>waitForUnit</literal>
+  you first execute an action on them (such as <literal>wait_for_unit</literal>
   or <literal>succeed</literal>). If you have multiple machines, you can speed
   up the test by starting them in parallel:
 <programlisting>
-startAll;
+start_all()
 </programlisting>
  </para>
 
@@ -187,7 +188,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>getScreenText</methodname>
+     <methodname>get_screen_text</methodname>
     </term>
     <listitem>
      <para>
@@ -204,7 +205,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>sendMonitorCommand</methodname>
+     <methodname>send_monitor_command</methodname>
     </term>
     <listitem>
      <para>
@@ -215,23 +216,23 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>sendKeys</methodname>
+     <methodname>send_keys</methodname>
     </term>
     <listitem>
      <para>
       Simulate pressing keys on the virtual keyboard, e.g.,
-      <literal>sendKeys("ctrl-alt-delete")</literal>.
+      <literal>send_keys("ctrl-alt-delete")</literal>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>sendChars</methodname>
+     <methodname>send_chars</methodname>
     </term>
     <listitem>
      <para>
       Simulate typing a sequence of characters on the virtual keyboard, e.g.,
-      <literal>sendKeys("foobar\n")</literal> will type the string
+      <literal>send_keys("foobar\n")</literal> will type the string
       <literal>foobar</literal> followed by the Enter key.
      </para>
     </listitem>
@@ -272,7 +273,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitUntilSucceeds</methodname>
+     <methodname>wait_until_succeeds</methodname>
     </term>
     <listitem>
      <para>
@@ -282,7 +283,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitUntilFails</methodname>
+     <methodname>wait_until_fails</methodname>
     </term>
     <listitem>
      <para>
@@ -292,7 +293,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForUnit</methodname>
+     <methodname>wait_for_unit</methodname>
     </term>
     <listitem>
      <para>
@@ -302,7 +303,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForFile</methodname>
+     <methodname>wait_for_file</methodname>
     </term>
     <listitem>
      <para>
@@ -312,7 +313,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForOpenPort</methodname>
+     <methodname>wait_for_open_port</methodname>
     </term>
     <listitem>
      <para>
@@ -323,7 +324,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForClosedPort</methodname>
+     <methodname>wait_for_closed_port</methodname>
     </term>
     <listitem>
      <para>
@@ -333,7 +334,7 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForX</methodname>
+     <methodname>wait_for_x</methodname>
     </term>
     <listitem>
      <para>
@@ -343,13 +344,13 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForText</methodname>
+     <methodname>wait_for_text</methodname>
     </term>
     <listitem>
      <para>
       Wait until the supplied regular expressions matches the textual contents
       of the screen by using optical character recognition (see
-      <methodname>getScreenText</methodname>).
+      <methodname>get_screen_text</methodname>).
      </para>
      <note>
       <para>
@@ -361,23 +362,23 @@ startAll;
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>waitForWindow</methodname>
+     <methodname>wait_for_window</methodname>
     </term>
     <listitem>
      <para>
       Wait until an X11 window has appeared whose name matches the given
-      regular expression, e.g., <literal>waitForWindow(qr/Terminal/)</literal>.
+      regular expression, e.g., <literal>wait_for_window("Terminal")</literal>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
-     <methodname>copyFileFromHost</methodname>
+     <methodname>copy_file_from_host</methodname>
     </term>
     <listitem>
      <para>
       Copies a file from host to machine, e.g.,
-      <literal>copyFileFromHost("myfile", "/etc/my/important/file")</literal>.
+      <literal>copy_file_from_host("myfile", "/etc/my/important/file")</literal>.
      </para>
      <para>
       The first argument is the file on the host. The file needs to be
@@ -397,8 +398,8 @@ startAll;
      </para>
      <para>
 <programlisting>
-$machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager`
-$machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
+machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager`
+machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
 </programlisting>
      </para>
     </listitem>
@@ -408,14 +409,33 @@ $machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `
 
  <para>
   To test user units declared by <literal>systemd.user.services</literal> the
-  optional <literal>$user</literal> argument can be used:
+  optional <literal>user</literal> argument can be used:
 <programlisting>
-$machine->start;
-$machine->waitForX;
-$machine->waitForUnit("xautolock.service", "x-session-user");
+machine.start()
+machine.wait_for_x()
+machine.wait_for_unit("xautolock.service", "x-session-user")
+</programlisting>
+  This applies to <literal>systemctl</literal>, <literal>get_unit_info</literal>,
+  <literal>wait_for_unit</literal>, <literal>start_job</literal> and
+  <literal>stop_job</literal>.
+ </para>
+
+ <para>
+  For faster dev cycles it's also possible to disable the code-linters (this shouldn't
+  be commited though):
+<programlisting>
+import ./make-test-python.nix {
+  skipLint = true;
+  machine =
+    { config, pkgs, ... }:
+    { <replaceable>configuration…</replaceable>
+    };
+
+  testScript =
+    ''
+      <replaceable>Python code…</replaceable>
+    '';
+}
 </programlisting>
-  This applies to <literal>systemctl</literal>, <literal>getUnitInfo</literal>,
-  <literal>waitForUnit</literal>, <literal>startJob</literal> and
-  <literal>stopJob</literal>.
  </para>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index 5c86eacfbf45..0ba909fa953f 100644
--- a/nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -49,6 +49,11 @@
   </listitem>
   <listitem>
    <para>
+    Click on Settings / Display / Screen and select VBoxVGA as Graphics Controller
+   </para>
+  </listitem>
+  <listitem>
+   <para>
     Save the settings, start the virtual machine, and continue installation
     like normal
    </para>
diff --git a/nixpkgs/nixos/doc/manual/installation/installing.xml b/nixpkgs/nixos/doc/manual/installation/installing.xml
index f1e1568c0349..4041b4ad163a 100644
--- a/nixpkgs/nixos/doc/manual/installation/installing.xml
+++ b/nixpkgs/nixos/doc/manual/installation/installing.xml
@@ -68,7 +68,7 @@
     If you would like to continue the installation from a different machine you
     need to activate the SSH daemon via <command>systemctl start
     sshd</command>. You then must set a password for either <literal>root</literal> or
-    <literal>nixos</literal> with <command>passwd></command> to be able to login.
+    <literal>nixos</literal> with <command>passwd</command> to be able to login.
    </para>
   </section>
  </section>
@@ -380,7 +380,10 @@
     </para>
     <para>
      If you need to configure networking for your machine the configuration
-     options are described in <xref linkend="sec-networking"/>.
+     options are described in <xref linkend="sec-networking"/>. In particular,
+     while wifi is supported on the installation image, it is not enabled by
+     default in the configuration generated by
+     <command>nixos-generate-config</command>.
     </para>
     <para>
      Another critical option is <option>fileSystems</option>, specifying the
@@ -392,11 +395,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 +421,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
@@ -475,7 +478,7 @@ Retype new UNIX password: ***</screen>
      shows what packages are available, and
 <screen>
 <prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -iA w3m</screen>
-     install the <literal>w3m</literal> browser.
+     installs the <literal>w3m</literal> browser.
     </para>
    </listitem>
   </orderedlist>
diff --git a/nixpkgs/nixos/doc/manual/installation/upgrading.xml b/nixpkgs/nixos/doc/manual/installation/upgrading.xml
index 35b4d266e12e..8d3f35b7c26f 100644
--- a/nixpkgs/nixos/doc/manual/installation/upgrading.xml
+++ b/nixpkgs/nixos/doc/manual/installation/upgrading.xml
@@ -14,7 +14,7 @@
     <para>
      <emphasis>Stable channels</emphasis>, such as
      <literal
-    xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03</literal>.
+    xlink:href="https://nixos.org/channels/nixos-19.09">nixos-19.09</literal>.
      These only get conservative bug fixes and package upgrades. For instance,
      a channel update may cause the Linux kernel on your system to be upgraded
      from 4.19.34 to 4.19.38 (a minor bug fix), but not from
@@ -38,7 +38,7 @@
     <para>
      <emphasis>Small channels</emphasis>, such as
      <literal
-    xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small</literal>
+    xlink:href="https://nixos.org/channels/nixos-19.09-small">nixos-19.09-small</literal>
      or
      <literal
     xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
@@ -63,8 +63,8 @@
  <para>
   When you first install NixOS, you’re automatically subscribed to the NixOS
   channel that corresponds to your installation source. For instance, if you
-  installed from a 19.03 ISO, you will be subscribed to the
-  <literal>nixos-19.03</literal> channel. To see which NixOS channel you’re
+  installed from a 19.09 ISO, you will be subscribed to the
+  <literal>nixos-19.09</literal> channel. To see which NixOS channel you’re
   subscribed to, run the following as root:
 <screen>
 # nix-channel --list | grep nixos
@@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
 # nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
 </screen>
   (Be sure to include the <literal>nixos</literal> parameter at the end.) For
-  instance, to use the NixOS 19.03 stable channel:
+  instance, to use the NixOS 19.09 stable channel:
 <screen>
-# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
+# nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
 </screen>
   If you have a server, you may want to use the “small” channel instead:
 <screen>
-# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos
+# nix-channel --add https://nixos.org/channels/nixos-19.09-small nixos
 </screen>
   And if you want to live on the bleeding edge:
 <screen>
@@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
    current channel. (To see when the service runs, see <command>systemctl
    list-timers</command>.) You can also specify a channel explicitly, e.g.
 <programlisting>
-<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.03;
+<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09;
 </programlisting>
   </para>
  </section>
diff --git a/nixpkgs/nixos/doc/manual/man-configuration.xml b/nixpkgs/nixos/doc/manual/man-configuration.xml
index 9f30b7925101..ddb1408fdcf5 100644
--- a/nixpkgs/nixos/doc/manual/man-configuration.xml
+++ b/nixpkgs/nixos/doc/manual/man-configuration.xml
@@ -8,8 +8,8 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><filename>configuration.nix</filename>
-  </refname><refpurpose>NixOS system configuration specification</refpurpose>
+  <refname><filename>configuration.nix</filename></refname>
+  <refpurpose>NixOS system configuration specification</refpurpose>
  </refnamediv>
  <refsection>
   <title>Description</title>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-build-vms.xml b/nixpkgs/nixos/doc/manual/man-nixos-build-vms.xml
index 7d6e04e0dd90..d114261f53be 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-build-vms.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-build-vms.xml
@@ -8,8 +8,8 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-build-vms</command>
-  </refname><refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
+  <refname><command>nixos-build-vms</command></refname>
+  <refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-enter.xml b/nixpkgs/nixos/doc/manual/man-nixos-enter.xml
index 1481db467122..fe560d3efdd8 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-enter.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-enter.xml
@@ -8,8 +8,8 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-enter</command>
-  </refname><refpurpose>run a command in a NixOS chroot environment</refpurpose>
+  <refname><command>nixos-enter</command></refname>
+  <refpurpose>run a command in a NixOS chroot environment</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-generate-config.xml b/nixpkgs/nixos/doc/manual/man-nixos-generate-config.xml
index 61531a8f01ca..9ac3b918ff69 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-generate-config.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-generate-config.xml
@@ -8,8 +8,8 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-generate-config</command>
-  </refname><refpurpose>generate NixOS configuration modules</refpurpose>
+  <refname><command>nixos-generate-config</command></refname>
+  <refpurpose>generate NixOS configuration modules</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-install.xml b/nixpkgs/nixos/doc/manual/man-nixos-install.xml
index 4fb94ee7494c..0752c397182f 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-install.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-install.xml
@@ -8,13 +8,33 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-install</command>
-  </refname><refpurpose>install bootloader and NixOS</refpurpose>
+  <refname><command>nixos-install</command></refname>
+  <refpurpose>install bootloader and NixOS</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>nixos-install</command>
    <arg>
+    <group choice='req'>
+     <arg choice='plain'>
+      <option>--verbose</option>
+     </arg>
+     <arg choice='plain'>
+      <option>-v</option>
+     </arg>
+    </group>
+   </arg>
+   <arg>
+    <group choice='req'>
+     <arg choice='plain'>
+      <option>--print-build-logs</option>
+     </arg>
+     <arg choice='plain'>
+      <option>-L</option>
+     </arg>
+    </group>
+   </arg>
+   <arg>
     <arg choice='plain'>
      <option>-I</option>
     </arg>
@@ -36,6 +56,13 @@
    </arg>
 
    <arg>
+     <arg choice='plain'>
+       <option>--channel</option>
+     </arg>
+     <replaceable>channel</replaceable>
+   </arg>
+
+   <arg>
     <arg choice='plain'>
      <option>--no-channel-copy</option>
     </arg>
@@ -107,6 +134,12 @@
      </para>
     </listitem>
     <listitem>
+      <para>
+        It installs the current channel <quote>nixos</quote> in the target channel
+        profile (unless <option>--no-channel-copy</option> is specified).
+      </para>
+    </listitem>
+    <listitem>
      <para>
       It installs the GRUB boot loader on the device specified in the option
       <option>boot.loader.grub.device</option> (unless
@@ -135,6 +168,23 @@
   </para>
   <variablelist>
    <varlistentry>
+    <term><option>--verbose</option> / <option>-v</option></term>
+    <listitem>
+     <para>Increases the level of verbosity of diagnostic messages
+     printed on standard error.  For each Nix operation, the information
+     printed on standard output is well-defined; any diagnostic
+     information is printed on standard error, never on standard
+     output.</para>
+     <para>Please note that this option may be specified repeatedly.</para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--print-build-logs</option> / <option>-L</option></term>
+    <listitem>
+     <para>Print the full build logs of <command>nix build</command> to stderr.</para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
     <term>
      <option>--root</option>
     </term>
@@ -166,6 +216,18 @@
     </listitem>
    </varlistentry>
    <varlistentry>
+     <term>
+       <option>--channel</option>
+     </term>
+     <listitem>
+       <para>
+         If this option is provided, do not copy the current
+         <quote>nixos</quote> channel to the target host. Instead, use the
+         specified derivation.
+       </para>
+     </listitem>
+   </varlistentry>
+   <varlistentry>
     <term>
      <option>-I</option>
     </term>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-option.xml b/nixpkgs/nixos/doc/manual/man-nixos-option.xml
index 3e316e10d4eb..b82f31256099 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-option.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-option.xml
@@ -8,8 +8,8 @@
 <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-option</command>
-  </refname><refpurpose>inspect a NixOS configuration</refpurpose>
+  <refname><command>nixos-option</command></refname>
+  <refpurpose>inspect a NixOS configuration</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
@@ -19,14 +19,10 @@
    </arg>
 
    <arg>
-    <option>--verbose</option>
+    <option>--all</option>
    </arg>
 
    <arg>
-    <option>--xml</option>
-   </arg>
-
-   <arg choice="plain">
     <replaceable>option.name</replaceable>
    </arg>
   </cmdsynopsis>
@@ -62,22 +58,11 @@
    </varlistentry>
    <varlistentry>
     <term>
-     <option>--verbose</option>
-    </term>
-    <listitem>
-     <para>
-      This option enables verbose mode, which currently is just the Bash
-      <command>set</command> <option>-x</option> debug mode.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <option>--xml</option>
+     <option>--all</option>
     </term>
     <listitem>
      <para>
-      This option causes the output to be rendered as XML.
+      Print the values of all options.
      </para>
     </listitem>
    </varlistentry>
@@ -134,4 +119,13 @@ Defined by:
    bug, please report to Nicolas Pierron.
   </para>
  </refsection>
+ <refsection>
+  <title>See also</title>
+  <para>
+   <citerefentry>
+    <refentrytitle>configuration.nix</refentrytitle>
+    <manvolnum>5</manvolnum>
+   </citerefentry>
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml b/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
index a83c4fb965eb..495dbc8859b1 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
@@ -9,8 +9,8 @@
  </refmeta>
 
  <refnamediv>
-  <refname><command>nixos-rebuild</command>
-  </refname><refpurpose>reconfigure a NixOS machine</refpurpose>
+  <refname><command>nixos-rebuild</command></refname>
+  <refpurpose>reconfigure a NixOS machine</refpurpose>
  </refnamediv>
 
  <refsynopsisdiv>
@@ -494,6 +494,20 @@
      </para>
     </listitem>
    </varlistentry>
+
+   <varlistentry>
+    <term>
+     <option>--use-remote-sudo</option>
+    </term>
+    <listitem>
+     <para>
+      When set, nixos-rebuild prefixes remote commands that run on
+      the <option>--build-host</option> and <option>--target-host</option>
+      systems with <command>sudo</command>. Setting this option allows
+      deploying as a non-root user.
+     </para>
+    </listitem>
+   </varlistentry>
   </variablelist>
 
   <para>
diff --git a/nixpkgs/nixos/doc/manual/man-nixos-version.xml b/nixpkgs/nixos/doc/manual/man-nixos-version.xml
index 931c4a5ad029..e9ad8bddcace 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-version.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-version.xml
@@ -7,8 +7,8 @@
   <refmiscinfo class="source">NixOS</refmiscinfo>
  </refmeta>
  <refnamediv>
-  <refname><command>nixos-version</command>
-  </refname><refpurpose>show the NixOS version</refpurpose>
+  <refname><command>nixos-version</command></refname>
+  <refpurpose>show the NixOS version</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
   <cmdsynopsis>
diff --git a/nixpkgs/nixos/doc/manual/manual.xml b/nixpkgs/nixos/doc/manual/manual.xml
index 12f52e1997c8..18a67a2dd941 100644
--- a/nixpkgs/nixos/doc/manual/manual.xml
+++ b/nixpkgs/nixos/doc/manual/manual.xml
@@ -8,32 +8,7 @@
   <subtitle>Version <xi:include href="./generated/version" parse="text" />
   </subtitle>
  </info>
- <preface xml:id="preface">
-  <title>Preface</title>
-  <para>
-   This manual describes how to install, use and extend NixOS, a Linux
-   distribution based on the purely functional package management system Nix.
-  </para>
-  <para>
-   If you encounter problems, please report them on the
-   <literal
-    xlink:href="https://discourse.nixos.org">Discourse</literal> or
-   on the <link
-    xlink:href="irc://irc.freenode.net/#nixos">
-   <literal>#nixos</literal> channel on Freenode</link>. Bugs should be
-   reported in
-   <link
-    xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’
-   GitHub issue tracker</link>.
-  </para>
-  <note>
-   <para>
-    Commands prefixed with <literal>#</literal> have to be run as root, either
-    requiring to login as root user or temporarily switching to it using
-    <literal>sudo</literal> for example.
-   </para>
-  </note>
- </preface>
+ <xi:include href="preface.xml" />
  <xi:include href="installation/installation.xml" />
  <xi:include href="configuration/configuration.xml" />
  <xi:include href="administration/running.xml" />
diff --git a/nixpkgs/nixos/doc/manual/preface.xml b/nixpkgs/nixos/doc/manual/preface.xml
new file mode 100644
index 000000000000..6ac9ae7e7861
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/preface.xml
@@ -0,0 +1,37 @@
+<preface xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="preface">
+ <title>Preface</title>
+ <para>
+  This manual describes how to install, use and extend NixOS, a Linux
+  distribution based on the purely functional package management system
+  <link xlink:href="https://nixos.org/nix">Nix</link>, that is composed
+  using modules and packages defined in the
+  <link xlink:href="https://nixos.org/nixpkgs">Nixpkgs</link> project.
+ </para>
+ <para>
+  Additional information regarding the Nix package manager and the Nixpkgs
+  project can be found in respectively the
+  <link xlink:href="https://nixos.org/nix/manual">Nix manual</link> and the
+  <link xlink:href="https://nixos.org/nixpkgs/manual">Nixpkgs manual</link>.
+ </para>
+ <para>
+  If you encounter problems, please report them on the
+  <literal
+   xlink:href="https://discourse.nixos.org">Discourse</literal> or
+  on the <link
+   xlink:href="irc://irc.freenode.net/#nixos">
+  <literal>#nixos</literal> channel on Freenode</link>. Bugs should be
+  reported in
+  <link
+   xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’
+  GitHub issue tracker</link>.
+ </para>
+ <note>
+  <para>
+   Commands prefixed with <literal>#</literal> have to be run as root, either
+   requiring to login as root user or temporarily switching to it using
+   <literal>sudo</literal> for example.
+  </para>
+ </note>
+</preface>
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml b/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
index e4dcc90cdd30..4102fe206e19 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
@@ -3,7 +3,7 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-19.09">
- <title>Release 19.09 (“Loris”, 2019/09/??)</title>
+ <title>Release 19.09 (“Loris”, 2019/10/09)</title>
 
  <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -25,6 +25,26 @@
    </listitem>
    <listitem>
     <para>
+     Nix has been updated to 2.3; see its
+     <link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.3">release
+     notes</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>Core version changes:</para>
+    <para>systemd: 239 -&gt; 243</para>
+    <para>gcc: 7 -&gt; 8</para>
+    <para>glibc: 2.27 (unchanged)</para>
+    <para>linux: 4.19 LTS (unchanged)</para>
+    <para>openssl: 1.0 -&gt; 1.1</para>
+   </listitem>
+   <listitem>
+    <para>Desktop version changes:</para>
+    <para>plasma5: 5.14 -&gt; 5.16</para>
+    <para>gnome3: 3.30 -&gt; 3.32</para>
+   </listitem>
+   <listitem>
+    <para>
      PHP now defaults to PHP 7.3, updated from 7.2.
     </para>
    </listitem>
@@ -170,6 +190,13 @@
      </listitem>
     </itemizedlist>
    </listitem>
+   <listitem>
+    <para>
+     <xref linkend="opt-services.blueman.enable"/> has been added.
+     If you previously had blueman installed via <option>environment.systemPackages</option> please
+     migrate to using the NixOS module, as this would result in an insufficiently configured blueman.
+    </para>
+   </listitem>
   </itemizedlist>
 
  </section>
@@ -513,6 +540,57 @@
        must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
      </para>
    </listitem>
+   <listitem>
+     <para>
+      The <option>networking.useDHCP</option> option is unsupported in combination with
+      <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>
+   </listitem>
+   <listitem>
+     <para>
+       The Twitter client <literal>corebird</literal> has been dropped as <link xlink:href="https://www.patreon.com/posts/corebirds-future-18921328">it is discontinued and does not work against the new Twitter API</link>.
+       Please use the fork <literal>cawbird</literal> instead which has been adapted to the API changes and is still maintained.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+      The <literal>nodejs-11_x</literal> package has been removed as it's EOLed by upstream.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+       Because of the systemd upgrade,
+       <application>systemd-timesyncd</application> will no longer work if
+       <option>system.stateVersion</option> is not set correctly. When
+       upgrading from NixOS 19.03, please make sure that
+       <option>system.stateVersion</option> is set to
+       <literal>"19.03"</literal>, or lower if the installation dates back to an
+       earlier version of NixOS.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+       Due to the short lifetime of non-LTS kernel releases package attributes like <literal>linux_5_1</literal>,
+       <literal>linux_5_2</literal> and <literal>linux_5_3</literal> have been removed to discourage dependence
+       on specific non-LTS kernel versions in stable NixOS releases.
+
+       Going forward, versioned attributes like <literal>linux_4_9</literal> will exist for LTS versions only.
+       Please use <literal>linux_latest</literal> or <literal>linux_testing</literal> if you depend on non-LTS
+       releases. Keep in mind that <literal>linux_latest</literal> and <literal>linux_testing</literal> will
+       change versions under the hood during the lifetime of a stable release and might include breaking changes.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+       Because of the systemd upgrade,
+       some network interfaces might change their name. For details see
+       <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html#History">
+       upstream docs</link> or <link xlink:href="https://github.com/NixOS/nixpkgs/issues/71086">
+       our ticket</link>.
+     </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -711,7 +789,7 @@
       </para>
      </listitem>
     </itemizedlist>
-     This also configures the kernel to pass coredumps to <literal>systemd-coredump</literal>,
+     This also configures the kernel to pass core dumps to <literal>systemd-coredump</literal>,
      and restricts the SysRq key combinations to the sync command only.
      These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
      and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
@@ -720,12 +798,15 @@
    </listitem>
    <listitem>
     <para>
-      Coredumps are now acquired by <literal>systemd-coredump</literal> by default.
-      <literal>systemd-coredump</literal> behaviour can still be modified via
-      <option>systemd.coredump.extraConfig</option>.
-      To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal>
-      in the working directory), without piping it through <literal>systemd-coredump</literal>, set
-      <option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>.
+      Core dumps are now processed by <literal>systemd-coredump</literal>
+      by default. <literal>systemd-coredump</literal> behaviour can
+      still be modified via
+      <option>systemd.coredump.extraConfig</option>. To stick to the
+      old behaviour (having the kernel dump to a file called
+      <literal>core</literal> in the working directory), without piping
+      it through <literal>systemd-coredump</literal>, set
+      <option>systemd.coredump.enable</option> to
+      <literal>false</literal>.
     </para>
    </listitem>
    <listitem>
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2003.xml b/nixpkgs/nixos/doc/manual/release-notes/rl-2003.xml
index c84bc8dbb379..ca319dfea411 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2003.xml
@@ -23,6 +23,51 @@
      Support is planned until the end of October 2020, handing over to 20.09.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     Postgresql for NixOS service now defaults to v11.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The graphical installer image starts the graphical session automatically.
+     Before you'd be greeted by a tty and asked to enter <command>systemctl start display-manager</command>.
+     It is now possible to disable the display-manager from running by selecting the <literal>Disable display-manager</literal>
+     quirk in the boot menu.
+    </para>
+   </listitem>
+   <listitem>
+     <para>
+       By default zfs pools will now be trimmed on a weekly basis.
+       Trimming is only done on supported devices (i.e. NVME or SSDs)
+       and should improve throughput and lifetime of these devices.
+       It is controlled by the <varname>services.zfs.trim.enable</varname> varname.
+       The zfs scrub service (<varname>services.zfs.autoScrub.enable</varname>)
+       and the zfs autosnapshot service (<varname>services.zfs.autoSnapshot.enable</varname>)
+       are now only enabled if zfs is set in <varname>config.boot.initrd.supportedFilesystems</varname> or
+       <varname>config.boot.supportedFilesystems</varname>. These lists will automatically contain
+       zfs as soon as any zfs mountpoint is configured in <varname>fileSystems</varname>.
+     </para>
+   </listitem>
+   <listitem>
+    <para>
+      <command>nixos-option</command> has been rewritten in C++, speeding it up, improving correctness,
+      and adding a <option>--all</option> option which prints all options and their values.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <option>services.xserver.desktopManager.default</option> and <option>services.xserver.windowManager.default</option> options were replaced by a single <xref linkend="opt-services.xserver.displayManager.defaultSession"/> option to improve support for upstream session files. If you used something like:
+<programlisting>
+services.xserver.desktopManager.default = "xfce";
+services.xserver.windowManager.default = "icewm";
+</programlisting>
+     you should change it to:
+<programlisting>
+services.xserver.displayManager.defaultSession = "xfce+icewm";
+</programlisting>
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -39,7 +84,17 @@
 
   <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>
+   <listitem>
+    <para>
+    UPower's configuration is now managed by NixOS and can be customized
+    via <option>services.upower</option>.
+    </para>
    </listitem>
   </itemizedlist>
 
@@ -59,7 +114,282 @@
 
   <itemizedlist>
    <listitem>
-    <para />
+    <para>
+      GnuPG is now built without support for a graphical passphrase entry
+      by default. Please enable the <literal>gpg-agent</literal> user service
+      via the NixOS option <literal>programs.gnupg.agent.enable</literal>.
+      Note that upstream recommends using <literal>gpg-agent</literal> and
+      will spawn a <literal>gpg-agent</literal> on the first invocation of
+      GnuPG anyway.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>dynamicHosts</literal> option has been removed from the
+     <link linkend="opt-networking.networkmanager.enable">networkd</link>
+     module. Allowing (multiple) regular users to override host entries
+     affecting the whole system opens up a huge attack vector.
+     There seem to be very rare cases where this might be useful.
+     Consider setting system-wide host entries using
+     <link linkend="opt-networking.hosts">networking.hosts</link>, provide
+     them via the DNS server in your network, or use
+     <link linkend="opt-environment.etc">environment.etc</link>
+     to add a file into <literal>/etc/NetworkManager/dnsmasq.d</literal>
+     reconfiguring <literal>hostsdir</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>99-main.network</literal> file was removed. Maching all
+     network interfaces caused many breakages, see
+     <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
+       and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
+    </para>
+    <para>
+     We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
+     <link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
+     <link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
+     if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
+     but direct users to configure the per-device
+     <link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The stdenv now runs all bash with <literal>set -u</literal>, to catch the use of undefined variables.
+      Before, it itself used <literal>set -u</literal> but was careful to unset it so other packages' code ran as before.
+      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>
+   <listitem>
+    <para>
+     Pango was upgraded to 1.44, which no longer uses freetype for font loading.  This means that type1
+     and bitmap fonts are no longer supported in applications relying on Pango for font rendering
+     (notably, GTK application). See <link xlink:href="https://gitlab.gnome.org/GNOME/pango/issues/386">
+     upstream issue</link> for more information.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The packages <literal>openobex</literal> and <literal>obexftp</literal>
+     are no longer installed when enabling Bluetooth via
+     <option>hardware.bluetooth.enable</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>dump1090</literal> derivation has been changed to use FlightAware's dump1090
+     as its upstream. However, this version does not have an internal webserver anymore. The
+     assets in the <literal>share/dump1090</literal> directory of the derivation can be used
+     in conjunction with an external webserver to replace this functionality.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The fourStore and fourStoreEndpoint modules have been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Polkit no longer has the user of uid 0 (root) as an admin identity.
+     We now follow the upstream default of only having every member of the wheel
+     group admin privileged. Before it was root and members of wheel.
+     The positive outcome of this is pkexec GUI popups or terminal prompts
+     will no longer require the user to choose between two essentially equivalent
+     choices (whether to perform the action as themselves with wheel permissions, or as the root user).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS containers no longer build NixOS manual by default. This saves evaluation time,
+     especially if there are many declarative containers defined. Note that this is already done
+     when <literal>&lt;nixos/modules/profiles/minimal.nix&gt;</literal> module is included
+     in container config.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>kresd</literal> services deprecates the <literal>interfaces</literal> option
+     in favor of the <literal>listenPlain</literal> option which requires full
+     <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream=">systemd.socket compatible</link>
+     declaration which always include a port.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Virtual console options have been reorganized and can be found under
+     a single top-level attribute: <literal>console</literal>.
+     The full set of changes is as follows:
+    </para>
+    <itemizedlist>
+      <listitem>
+       <para>
+         <literal>i18n.consoleFont</literal> renamed to
+         <link linkend="opt-console.font">console.font</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleKeyMap</literal> renamed to
+         <link linkend="opt-console.keyMap">console.keyMap</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleColors</literal> renamed to
+         <link linkend="opt-console.colors">console.colors</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consolePackages</literal> renamed to
+         <link linkend="opt-console.packages">console.packages</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleUseXkbConfig</literal> renamed to
+         <link linkend="opt-console.useXkbConfig">console.useXkbConfig</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>boot.earlyVconsoleSetup</literal> renamed to
+         <link linkend="opt-console.earlySetup">console.earlySetup</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>boot.extraTTYs</literal> renamed to
+         <link linkend="opt-console.extraTTYs">console.extraTTYs</link>
+       </para>
+      </listitem>
+    </itemizedlist>
+   </listitem>
+   <listitem>
+    <para>
+     The <link linkend="opt-services.awstats.enable">awstats</link> module has been rewritten
+     to serve stats via static html pages, updated on a timer, over <link linkend="opt-services.nginx.virtualHosts">nginx</link>,
+     instead of dynamic cgi pages over <link linkend="opt-services.httpd.enable">apache</link>.
+    </para>
+    <para>
+     Minor changes will be required to migrate existing configurations. Details of the
+     required changes can seen by looking through the <link linkend="opt-services.awstats.enable">awstats</link>
+     module.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The httpd module no longer provides options to support serving web content without defining a virtual host. As a
+      result of this the <link linkend="opt-services.httpd.logPerVirtualHost">services.httpd.logPerVirtualHost</link>
+      option now defaults to <literal>true</literal> instead of <literal>false</literal>. Please update your
+      configuration to make use of <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts</link>.
+    </para>
+    <para>
+      The <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;</link>
+      option has changed type from a list of submodules to an attribute set of submodules, better matching
+      <link linkend="opt-services.nginx.virtualHosts">services.nginx.virtualHosts.&lt;name&gt;</link>.
+    </para>
+    <para>
+      This change comes with the addition of the following options which mimic the functionality of their <literal>nginx</literal> counterparts:
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.addSSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.forceSSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.onlySSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.enableACME</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.acmeRoot</link>, and
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.useACMEHost</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     For NixOS configuration options, the <literal>loaOf</literal> type has
+     been deprecated and will be removed in a future release. In nixpkgs,
+     options of this type will be changed to <literal>attrsOf</literal>
+     instead. If you were using one of these in your configuration, you will
+     see a warning suggesting what changes will be required.
+    </para>
+    <para>
+     For example, <link linkend="opt-users.users">users.users</link> is a
+     <literal>loaOf</literal> option that is commonly used as follows:
+     <programlisting>
+users.users =
+  [ { name = "me";
+      description = "My personal user.";
+      isNormalUser = true;
+    }
+  ];
+     </programlisting>
+     This should be rewritten by removing the list and using the
+     value of <literal>name</literal> as the name of the attribute set:
+     <programlisting>
+users.users.me =
+  { description = "My personal user.";
+    isNormalUser = true;
+  };
+     </programlisting>
+    </para>
+    <para>
+     For more information on this change have look at these links:
+     <link xlink:href="https://github.com/NixOS/nixpkgs/issues/1800">issue #1800</link>,
+     <link xlink:href="https://github.com/NixOS/nixpkgs/pull/63103">PR #63103</link>.
+    </para>
    </listitem>
   </itemizedlist>
  </section>
@@ -73,7 +403,33 @@
 
   <itemizedlist>
    <listitem>
-    <para />
+     <para>SD images are now compressed by default using <literal>bzip2</literal>.</para>
+   </listitem>
+   <listitem>
+    <para>
+     The nginx web server previously started its master process as root
+     privileged, then ran worker processes as a less privileged identity user.
+     This was changed to start all of nginx as a less privileged user (defined by
+     <literal>services.nginx.user</literal> and
+     <literal>services.nginx.group</literal>). As a consequence, all files that
+     are needed for nginx to run (included configuration fragments, SSL
+     certificates and keys, etc.) must now be readable by this less privileged
+     user/group.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     OpenSSH has been upgraded from 7.9 to 8.1, improving security and adding features
+     but with potential incompatibilities.  Consult the
+     <link xlink:href="https://www.openssh.com/txt/release-8.1">
+     release announcement</link> for more information.
+    </para>
+   </listitem>
+   <listitem>
+     <para>
+       <literal>PRETTY_NAME</literal> in <literal>/etc/os-release</literal>
+       now uses the short rather than full version string.
+     </para>
    </listitem>
   </itemizedlist>
  </section>
diff --git a/nixpkgs/nixos/lib/make-ext4-fs.nix b/nixpkgs/nixos/lib/make-ext4-fs.nix
index 932adcd97967..f46d3990c06b 100644
--- a/nixpkgs/nixos/lib/make-ext4-fs.nix
+++ b/nixpkgs/nixos/lib/make-ext4-fs.nix
@@ -4,8 +4,11 @@
 # generated image is sized to only fit its contents, with the expectation
 # that a script resizes the filesystem at boot time.
 { pkgs
+, lib
 # List of derivations to be included
 , storePaths
+# Whether or not to compress the resulting image with zstd
+, compressImage ? false, zstd
 # Shell commands to populate the ./files directory.
 # All files in that directory are copied to the root of the FS.
 , populateImageCommands ? ""
@@ -20,18 +23,20 @@
 let
   sdClosureInfo = pkgs.buildPackages.closureInfo { rootPaths = storePaths; };
 in
-
 pkgs.stdenv.mkDerivation {
-  name = "ext4-fs.img";
+  name = "ext4-fs.img${lib.optionalString compressImage ".zst"}";
 
-  nativeBuildInputs = [e2fsprogs.bin libfaketime perl lkl];
+  nativeBuildInputs = [ e2fsprogs.bin libfaketime perl lkl ]
+  ++ lib.optional compressImage zstd;
 
   buildCommand =
     ''
+      ${if compressImage then "img=temp.img" else "img=$out"}
       (
       mkdir -p ./files
       ${populateImageCommands}
       )
+
       # Add the closures of the top-level store objects.
       storePaths=$(cat ${sdClosureInfo}/store-paths)
 
@@ -42,28 +47,26 @@ pkgs.stdenv.mkDerivation {
       bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks))
       echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
 
-      truncate -s $bytes $out
-      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $out
+      truncate -s $bytes $img
+      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $img
 
       # Also include a manifest of the closures in a format suitable for nix-store --load-db.
       cp ${sdClosureInfo}/registration nix-path-registration
-      cptofs -t ext4 -i $out nix-path-registration /
+      cptofs -t ext4 -i $img nix-path-registration /
 
       # Create nix/store before copying paths
       faketime -f "1970-01-01 00:00:01" mkdir -p nix/store
-      cptofs -t ext4 -i $out nix /
+      cptofs -t ext4 -i $img nix /
 
       echo "copying store paths to image..."
-      cptofs -t ext4 -i $out $storePaths /nix/store/
+      cptofs -t ext4 -i $img $storePaths /nix/store/
 
-      (
       echo "copying files to image..."
-      cd ./files
-      cptofs -t ext4 -i $out ./* /
-      )
+      cptofs -t ext4 -i $img ./files/* /
+
 
       # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.
-      if ! fsck.ext4 -n -f $out; then
+      if ! fsck.ext4 -n -f $img; then
         echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
         cat errorlog
         return 1
@@ -71,9 +74,9 @@ pkgs.stdenv.mkDerivation {
 
       (
         # Resizes **snugly** to its actual limits (or closer to)
-        free=$(dumpe2fs $out | grep '^Free blocks:')
-        blocksize=$(dumpe2fs $out | grep '^Block size:')
-        blocks=$(dumpe2fs $out | grep '^Block count:')
+        free=$(dumpe2fs $img | grep '^Free blocks:')
+        blocksize=$(dumpe2fs $img | grep '^Block size:')
+        blocks=$(dumpe2fs $img | grep '^Block count:')
         blocks=$((''${blocks##*:})) # format the number.
         blocksize=$((''${blocksize##*:})) # format the number.
         # System can't boot with 0 blocks free.
@@ -82,10 +85,15 @@ pkgs.stdenv.mkDerivation {
         size=$(( blocks - ''${free##*:} + fudge ))
 
         echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
-        EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
+        EXT2FS_NO_MTAB_OK=yes resize2fs $img -f $size
       )
 
       # And a final fsck, because of the previous truncating.
-      fsck.ext4 -n -f $out
+      fsck.ext4 -n -f $img
+
+      if [ ${builtins.toString compressImage} ]; then
+        echo "Compressing image"
+        zstd -v --no-progress ./$img -o $out
+      fi
     '';
 }
diff --git a/nixpkgs/nixos/lib/make-iso9660-image.nix b/nixpkgs/nixos/lib/make-iso9660-image.nix
index 8cd19b6e1874..0f3f2b5b5234 100644
--- a/nixpkgs/nixos/lib/make-iso9660-image.nix
+++ b/nixpkgs/nixos/lib/make-iso9660-image.nix
@@ -10,9 +10,9 @@
   contents
 
 , # In addition to `contents', the closure of the store paths listed
-  # in `packages' are also placed in the Nix store of the CD.  This is
-  # a list of attribute sets {object, symlink} where `object' if a
-  # store path whose closure will be copied, and `symlink' is a
+  # in `storeContents' are also placed in the Nix store of the CD.
+  # This is a list of attribute sets {object, symlink} where `object'
+  # is a store path whose closure will be copied, and `symlink' is a
   # symlink to `object' that will be added to the CD.
   storeContents ? []
 
diff --git a/nixpkgs/nixos/lib/make-options-doc/default.nix b/nixpkgs/nixos/lib/make-options-doc/default.nix
index 35c8b543dece..eee8f612410d 100644
--- a/nixpkgs/nixos/lib/make-options-doc/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/lib/test-driver/test-driver.py b/nixpkgs/nixos/lib/test-driver/test-driver.py
new file mode 100644
index 000000000000..7e575189209a
--- /dev/null
+++ b/nixpkgs/nixos/lib/test-driver/test-driver.py
@@ -0,0 +1,900 @@
+#! /somewhere/python3
+from contextlib import contextmanager, _GeneratorContextManager
+from xml.sax.saxutils import XMLGenerator
+import _thread
+import atexit
+import os
+import ptpython.repl
+import pty
+from queue import Queue, Empty
+import re
+import shutil
+import socket
+import subprocess
+import sys
+import tempfile
+import time
+import unicodedata
+from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
+import shlex
+import pathlib
+
+CHAR_TO_KEY = {
+    "A": "shift-a",
+    "N": "shift-n",
+    "-": "0x0C",
+    "_": "shift-0x0C",
+    "B": "shift-b",
+    "O": "shift-o",
+    "=": "0x0D",
+    "+": "shift-0x0D",
+    "C": "shift-c",
+    "P": "shift-p",
+    "[": "0x1A",
+    "{": "shift-0x1A",
+    "D": "shift-d",
+    "Q": "shift-q",
+    "]": "0x1B",
+    "}": "shift-0x1B",
+    "E": "shift-e",
+    "R": "shift-r",
+    ";": "0x27",
+    ":": "shift-0x27",
+    "F": "shift-f",
+    "S": "shift-s",
+    "'": "0x28",
+    '"': "shift-0x28",
+    "G": "shift-g",
+    "T": "shift-t",
+    "`": "0x29",
+    "~": "shift-0x29",
+    "H": "shift-h",
+    "U": "shift-u",
+    "\\": "0x2B",
+    "|": "shift-0x2B",
+    "I": "shift-i",
+    "V": "shift-v",
+    ",": "0x33",
+    "<": "shift-0x33",
+    "J": "shift-j",
+    "W": "shift-w",
+    ".": "0x34",
+    ">": "shift-0x34",
+    "K": "shift-k",
+    "X": "shift-x",
+    "/": "0x35",
+    "?": "shift-0x35",
+    "L": "shift-l",
+    "Y": "shift-y",
+    " ": "spc",
+    "M": "shift-m",
+    "Z": "shift-z",
+    "\n": "ret",
+    "!": "shift-0x02",
+    "@": "shift-0x03",
+    "#": "shift-0x04",
+    "$": "shift-0x05",
+    "%": "shift-0x06",
+    "^": "shift-0x07",
+    "&": "shift-0x08",
+    "*": "shift-0x09",
+    "(": "shift-0x0A",
+    ")": "shift-0x0B",
+}
+
+# Forward references
+nr_tests: int
+nr_succeeded: int
+log: "Logger"
+machines: "List[Machine]"
+
+
+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))
+    vde_socket = os.path.abspath("./vde{}.ctl".format(vlan_nr))
+    pty_master, pty_slave = pty.openpty()
+    vde_process = subprocess.Popen(
+        ["vde_switch", "-s", vde_socket, "--dirmode", "0777"],
+        bufsize=1,
+        stdin=pty_slave,
+        stdout=subprocess.PIPE,
+        stderr=subprocess.PIPE,
+        shell=False,
+    )
+    fd = os.fdopen(pty_master, "w")
+    fd.write("version\n")
+    # TODO: perl version checks if this can be read from
+    # an if not, dies. we could hang here forever. Fix it.
+    vde_process.stdout.readline()
+    if not os.path.exists(os.path.join(vde_socket, "ctl")):
+        raise Exception("cannot start vde_switch")
+
+    return (vlan_nr, vde_socket, vde_process, fd)
+
+
+def retry(fn: Callable) -> None:
+    """Call the given function repeatedly, with 1 second intervals,
+    until it returns True or a timeout is reached.
+    """
+
+    for _ in range(900):
+        if fn(False):
+            return
+        time.sleep(1)
+
+    if not fn(True):
+        raise Exception("action timed out")
+
+
+class Logger:
+    def __init__(self) -> None:
+        self.logfile = os.environ.get("LOGFILE", "/dev/null")
+        self.logfile_handle = open(self.logfile, "wb")
+        self.xml = XMLGenerator(self.logfile_handle, encoding="utf-8")
+        self.queue: "Queue[Dict[str, str]]" = Queue(1000)
+
+        self.xml.startDocument()
+        self.xml.startElement("logfile", attrs={})
+
+    def close(self) -> None:
+        self.xml.endElement("logfile")
+        self.xml.endDocument()
+        self.logfile_handle.close()
+
+    def sanitise(self, message: str) -> str:
+        return "".join(ch for ch in message if unicodedata.category(ch)[0] != "C")
+
+    def maybe_prefix(self, message: str, attributes: Dict[str, str]) -> str:
+        if "machine" in attributes:
+            return "{}: {}".format(attributes["machine"], message)
+        return message
+
+    def log_line(self, message: str, attributes: Dict[str, str]) -> None:
+        self.xml.startElement("line", attributes)
+        self.xml.characters(message)
+        self.xml.endElement("line")
+
+    def log(self, message: str, attributes: Dict[str, str] = {}) -> None:
+        eprint(self.maybe_prefix(message, attributes))
+        self.drain_log_queue()
+        self.log_line(message, attributes)
+
+    def enqueue(self, message: Dict[str, str]) -> None:
+        self.queue.put(message)
+
+    def drain_log_queue(self) -> None:
+        try:
+            while True:
+                item = self.queue.get_nowait()
+                attributes = {"machine": item["machine"], "type": "serial"}
+                self.log_line(self.sanitise(item["msg"]), attributes)
+        except Empty:
+            pass
+
+    @contextmanager
+    def nested(self, message: str, attributes: Dict[str, str] = {}) -> Iterator[None]:
+        eprint(self.maybe_prefix(message, attributes))
+
+        self.xml.startElement("nest", attrs={})
+        self.xml.startElement("head", attributes)
+        self.xml.characters(message)
+        self.xml.endElement("head")
+
+        tic = time.time()
+        self.drain_log_queue()
+        yield
+        self.drain_log_queue()
+        toc = time.time()
+        self.log("({:.2f} seconds)".format(toc - tic))
+
+        self.xml.endElement("nest")
+
+
+class Machine:
+    def __init__(self, args: Dict[str, Any]) -> None:
+        if "name" in args:
+            self.name = args["name"]
+        else:
+            self.name = "machine"
+            cmd = args.get("startCommand", None)
+            if cmd:
+                match = re.search("run-(.+)-vm$", cmd)
+                if match:
+                    self.name = match.group(1)
+
+        self.script = args.get("startCommand", self.create_startcommand(args))
+
+        tmp_dir = os.environ.get("TMPDIR", tempfile.gettempdir())
+
+        def create_dir(name: str) -> str:
+            path = os.path.join(tmp_dir, name)
+            os.makedirs(path, mode=0o700, exist_ok=True)
+            return path
+
+        self.state_dir = create_dir("vm-state-{}".format(self.name))
+        self.shared_dir = create_dir("{}/xchg".format(self.state_dir))
+
+        self.booted = False
+        self.connected = False
+        self.pid: Optional[int] = None
+        self.socket = None
+        self.monitor: Optional[socket.socket] = None
+        self.logger: Logger = args["log"]
+        self.allow_reboot = args.get("allowReboot", False)
+
+    @staticmethod
+    def create_startcommand(args: Dict[str, str]) -> str:
+        net_backend = "-netdev user,id=net0"
+        net_frontend = "-device virtio-net-pci,netdev=net0"
+
+        if "netBackendArgs" in args:
+            net_backend += "," + args["netBackendArgs"]
+
+        if "netFrontendArgs" in args:
+            net_frontend += "," + args["netFrontendArgs"]
+
+        start_command = (
+            "qemu-kvm -m 384 " + net_backend + " " + net_frontend + " $QEMU_OPTS "
+        )
+
+        if "hda" in args:
+            hda_path = os.path.abspath(args["hda"])
+            if args.get("hdaInterface", "") == "scsi":
+                start_command += (
+                    "-drive id=hda,file="
+                    + hda_path
+                    + ",werror=report,if=none "
+                    + "-device scsi-hd,drive=hda "
+                )
+            else:
+                start_command += (
+                    "-drive file="
+                    + hda_path
+                    + ",if="
+                    + args["hdaInterface"]
+                    + ",werror=report "
+                )
+
+        if "cdrom" in args:
+            start_command += "-cdrom " + args["cdrom"] + " "
+
+        if "usb" in args:
+            start_command += (
+                "-device piix3-usb-uhci -drive "
+                + "id=usbdisk,file="
+                + args["usb"]
+                + ",if=none,readonly "
+                + "-device usb-storage,drive=usbdisk "
+            )
+        if "bios" in args:
+            start_command += "-bios " + args["bios"] + " "
+
+        start_command += args.get("qemuFlags", "")
+
+        return start_command
+
+    def is_up(self) -> bool:
+        return self.booted and self.connected
+
+    def log(self, msg: str) -> None:
+        self.logger.log(msg, {"machine": self.name})
+
+    def nested(self, msg: str, attrs: Dict[str, str] = {}) -> _GeneratorContextManager:
+        my_attrs = {"machine": self.name}
+        my_attrs.update(attrs)
+        return self.logger.nested(msg, my_attrs)
+
+    def wait_for_monitor_prompt(self) -> str:
+        assert self.monitor is not None
+        answer = ""
+        while True:
+            undecoded_answer = self.monitor.recv(1024)
+            if not undecoded_answer:
+                break
+            answer += undecoded_answer.decode()
+            if answer.endswith("(qemu) "):
+                break
+        return answer
+
+    def send_monitor_command(self, command: str) -> str:
+        message = ("{}\n".format(command)).encode()
+        self.log("sending monitor command: {}".format(command))
+        assert self.monitor is not None
+        self.monitor.send(message)
+        return self.wait_for_monitor_prompt()
+
+    def wait_for_unit(self, unit: str, user: Optional[str] = None) -> None:
+        """Wait for a systemd unit to get into "active" state.
+        Throws exceptions on "failed" and "inactive" states as well as
+        after timing out.
+        """
+
+        def check_active(_: Any) -> bool:
+            info = self.get_unit_info(unit, user)
+            state = info["ActiveState"]
+            if state == "failed":
+                raise Exception('unit "{}" reached state "{}"'.format(unit, state))
+
+            if state == "inactive":
+                status, jobs = self.systemctl("list-jobs --full 2>&1", user)
+                if "No jobs" in jobs:
+                    info = self.get_unit_info(unit, user)
+                    if info["ActiveState"] == state:
+                        raise Exception(
+                            (
+                                'unit "{}" is inactive and there ' "are no pending jobs"
+                            ).format(unit)
+                        )
+
+            return state == "active"
+
+        retry(check_active)
+
+    def get_unit_info(self, unit: str, user: Optional[str] = None) -> Dict[str, str]:
+        status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user)
+        if status != 0:
+            raise Exception(
+                'retrieving systemctl info for unit "{}" {} failed with exit code {}'.format(
+                    unit, "" if user is None else 'under user "{}"'.format(user), status
+                )
+            )
+
+        line_pattern = re.compile(r"^([^=]+)=(.*)$")
+
+        def tuple_from_line(line: str) -> Tuple[str, str]:
+            match = line_pattern.match(line)
+            assert match is not None
+            return match[1], match[2]
+
+        return dict(
+            tuple_from_line(line)
+            for line in lines.split("\n")
+            if line_pattern.match(line)
+        )
+
+    def systemctl(self, q: str, user: Optional[str] = None) -> Tuple[int, str]:
+        if user is not None:
+            q = q.replace("'", "\\'")
+            return self.execute(
+                (
+                    "su -l {} -c "
+                    "$'XDG_RUNTIME_DIR=/run/user/`id -u` "
+                    "systemctl --user {}'"
+                ).format(user, q)
+            )
+        return self.execute("systemctl {}".format(q))
+
+    def require_unit_state(self, unit: str, require_state: str = "active") -> None:
+        with self.nested(
+            "checking if unit ‘{}’ has reached state '{}'".format(unit, require_state)
+        ):
+            info = self.get_unit_info(unit)
+            state = info["ActiveState"]
+            if state != require_state:
+                raise Exception(
+                    "Expected unit ‘{}’ to to be in state ".format(unit)
+                    + "'active' but it is in state ‘{}’".format(state)
+                )
+
+    def execute(self, command: str) -> Tuple[int, str]:
+        self.connect()
+
+        out_command = "( {} ); echo '|!EOF' $?\n".format(command)
+        self.shell.send(out_command.encode())
+
+        output = ""
+        status_code_pattern = re.compile(r"(.*)\|\!EOF\s+(\d+)")
+
+        while True:
+            chunk = self.shell.recv(4096).decode()
+            match = status_code_pattern.match(chunk)
+            if match:
+                output += match[1]
+                status_code = int(match[2])
+                return (status_code, output)
+            output += chunk
+
+    def succeed(self, *commands: str) -> str:
+        """Execute each command and check that it succeeds."""
+        output = ""
+        for command in commands:
+            with self.nested("must succeed: {}".format(command)):
+                (status, out) = self.execute(command)
+                if status != 0:
+                    self.log("output: {}".format(out))
+                    raise Exception(
+                        "command `{}` failed (exit code {})".format(command, status)
+                    )
+                output += out
+        return output
+
+    def fail(self, *commands: str) -> None:
+        """Execute each command and check that it fails."""
+        for command in commands:
+            with self.nested("must fail: {}".format(command)):
+                status, output = self.execute(command)
+                if status == 0:
+                    raise Exception(
+                        "command `{}` unexpectedly succeeded".format(command)
+                    )
+
+    def wait_until_succeeds(self, command: str) -> str:
+        """Wait until a command returns success and return its output.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_success(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status == 0
+
+        with self.nested("waiting for success: {}".format(command)):
+            retry(check_success)
+            return output
+
+    def wait_until_fails(self, command: str) -> str:
+        """Wait until a command returns failure.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_failure(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status != 0
+
+        with self.nested("waiting for failure: {}".format(command)):
+            retry(check_failure)
+            return output
+
+    def wait_for_shutdown(self) -> None:
+        if not self.booted:
+            return
+
+        with self.nested("waiting for the VM to power off"):
+            sys.stdout.flush()
+            self.process.wait()
+
+            self.pid = None
+            self.booted = False
+            self.connected = False
+
+    def get_tty_text(self, tty: str) -> str:
+        status, output = self.execute(
+            "fold -w$(stty -F /dev/tty{0} size | "
+            "awk '{{print $2}}') /dev/vcs{0}".format(tty)
+        )
+        return output
+
+    def wait_until_tty_matches(self, tty: str, regexp: str) -> None:
+        """Wait until the visible output on the chosen TTY matches regular
+        expression. Throws an exception on timeout.
+        """
+        matcher = re.compile(regexp)
+
+        def tty_matches(last: bool) -> bool:
+            text = self.get_tty_text(tty)
+            if last:
+                self.log(
+                    f"Last chance to match /{regexp}/ on TTY{tty}, "
+                    f"which currently contains: {text}"
+                )
+            return len(matcher.findall(text)) > 0
+
+        with self.nested("waiting for {} to appear on tty {}".format(regexp, tty)):
+            retry(tty_matches)
+
+    def send_chars(self, chars: List[str]) -> None:
+        with self.nested("sending keys ‘{}‘".format(chars)):
+            for char in chars:
+                self.send_key(char)
+
+    def wait_for_file(self, filename: str) -> None:
+        """Waits until the file exists in machine's file system."""
+
+        def check_file(_: Any) -> bool:
+            status, _ = self.execute("test -e {}".format(filename))
+            return status == 0
+
+        with self.nested("waiting for file ‘{}‘".format(filename)):
+            retry(check_file)
+
+    def wait_for_open_port(self, port: int) -> None:
+        def port_is_open(_: Any) -> bool:
+            status, _ = self.execute("nc -z localhost {}".format(port))
+            return status == 0
+
+        with self.nested("waiting for TCP port {}".format(port)):
+            retry(port_is_open)
+
+    def wait_for_closed_port(self, port: int) -> None:
+        def port_is_closed(_: Any) -> bool:
+            status, _ = self.execute("nc -z localhost {}".format(port))
+            return status != 0
+
+        retry(port_is_closed)
+
+    def start_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
+        return self.systemctl("start {}".format(jobname), user)
+
+    def stop_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
+        return self.systemctl("stop {}".format(jobname), user)
+
+    def wait_for_job(self, jobname: str) -> None:
+        self.wait_for_unit(jobname)
+
+    def connect(self) -> None:
+        if self.connected:
+            return
+
+        with self.nested("waiting for the VM to finish booting"):
+            self.start()
+
+            tic = time.time()
+            self.shell.recv(1024)
+            # TODO: Timeout
+            toc = time.time()
+
+            self.log("connected to guest root shell")
+            self.log("(connecting took {:.2f} seconds)".format(toc - tic))
+            self.connected = True
+
+    def screenshot(self, filename: str) -> None:
+        out_dir = os.environ.get("out", os.getcwd())
+        word_pattern = re.compile(r"^\w+$")
+        if word_pattern.match(filename):
+            filename = os.path.join(out_dir, "{}.png".format(filename))
+        tmp = "{}.ppm".format(filename)
+
+        with self.nested(
+            "making screenshot {}".format(filename),
+            {"image": os.path.basename(filename)},
+        ):
+            self.send_monitor_command("screendump {}".format(tmp))
+            ret = subprocess.run("pnmtopng {} > {}".format(tmp, filename), shell=True)
+            os.unlink(tmp)
+            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>
+        """
+        self.execute("fold -w 80 /dev/vcs{} | systemd-cat".format(tty))
+
+    def get_screen_text(self) -> str:
+        if shutil.which("tesseract") is None:
+            raise Exception("get_screen_text used but enableOCR is false")
+
+        magick_args = (
+            "-filter Catrom -density 72 -resample 300 "
+            + "-contrast -normalize -despeckle -type grayscale "
+            + "-sharpen 1 -posterize 3 -negate -gamma 100 "
+            + "-blur 1x65535"
+        )
+
+        tess_args = "-c debug_file=/dev/null --psm 11 --oem 2"
+
+        with self.nested("performing optical character recognition"):
+            with tempfile.NamedTemporaryFile() as tmpin:
+                self.send_monitor_command("screendump {}".format(tmpin.name))
+
+                cmd = "convert {} {} tiff:- | tesseract - - {}".format(
+                    magick_args, tmpin.name, tess_args
+                )
+                ret = subprocess.run(cmd, shell=True, capture_output=True)
+                if ret.returncode != 0:
+                    raise Exception(
+                        "OCR failed with exit code {}".format(ret.returncode)
+                    )
+
+                return ret.stdout.decode("utf-8")
+
+    def wait_for_text(self, regex: str) -> None:
+        def screen_matches(last: bool) -> bool:
+            text = self.get_screen_text()
+            matches = re.search(regex, text) is not None
+
+            if last and not matches:
+                self.log("Last OCR attempt failed. Text was: {}".format(text))
+
+            return matches
+
+        with self.nested("waiting for {} to appear on screen".format(regex)):
+            retry(screen_matches)
+
+    def send_key(self, key: str) -> None:
+        key = CHAR_TO_KEY.get(key, key)
+        self.send_monitor_command("sendkey {}".format(key))
+
+    def start(self) -> None:
+        if self.booted:
+            return
+
+        self.log("starting vm")
+
+        def create_socket(path: str) -> socket.socket:
+            if os.path.exists(path):
+                os.unlink(path)
+            s = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_STREAM)
+            s.bind(path)
+            s.listen(1)
+            return s
+
+        monitor_path = os.path.join(self.state_dir, "monitor")
+        self.monitor_socket = create_socket(monitor_path)
+
+        shell_path = os.path.join(self.state_dir, "shell")
+        self.shell_socket = create_socket(shell_path)
+
+        qemu_options = (
+            " ".join(
+                [
+                    "" if self.allow_reboot else "-no-reboot",
+                    "-monitor unix:{}".format(monitor_path),
+                    "-chardev socket,id=shell,path={}".format(shell_path),
+                    "-device virtio-serial",
+                    "-device virtconsole,chardev=shell",
+                    "-device virtio-rng-pci",
+                    "-serial stdio" if "DISPLAY" in os.environ else "-nographic",
+                ]
+            )
+            + " "
+            + os.environ.get("QEMU_OPTS", "")
+        )
+
+        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,
+            bufsize=1,
+            stdin=subprocess.DEVNULL,
+            stdout=subprocess.PIPE,
+            stderr=subprocess.STDOUT,
+            shell=True,
+            cwd=self.state_dir,
+            env=environment,
+        )
+        self.monitor, _ = self.monitor_socket.accept()
+        self.shell, _ = self.shell_socket.accept()
+
+        def process_serial_output() -> None:
+            for _line in self.process.stdout:
+                line = _line.decode("unicode_escape").replace("\r", "").rstrip()
+                eprint("{} # {}".format(self.name, line))
+                self.logger.enqueue({"msg": line, "machine": self.name})
+
+        _thread.start_new_thread(process_serial_output, ())
+
+        self.wait_for_monitor_prompt()
+
+        self.pid = self.process.pid
+        self.booted = True
+
+        self.log("QEMU running (pid {})".format(self.pid))
+
+    def shutdown(self) -> None:
+        if not self.booted:
+            return
+
+        self.shell.send("poweroff\n".encode())
+        self.wait_for_shutdown()
+
+    def crash(self) -> None:
+        if not self.booted:
+            return
+
+        self.log("forced crash")
+        self.send_monitor_command("quit")
+        self.wait_for_shutdown()
+
+    def wait_for_x(self) -> None:
+        """Wait until it is possible to connect to the X server.  Note that
+        testing the existence of /tmp/.X11-unix/X0 is insufficient.
+        """
+
+        def check_x(_: Any) -> bool:
+            cmd = (
+                "journalctl -b SYSLOG_IDENTIFIER=systemd | "
+                + 'grep "Reached target Current graphical"'
+            )
+            status, _ = self.execute(cmd)
+            if status != 0:
+                return False
+            status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]")
+            return status == 0
+
+        with self.nested("waiting for the X11 server"):
+            retry(check_x)
+
+    def get_window_names(self) -> List[str]:
+        return self.succeed(
+            r"xwininfo -root -tree | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'"
+        ).splitlines()
+
+    def wait_for_window(self, regexp: str) -> None:
+        pattern = re.compile(regexp)
+
+        def window_is_visible(last_try: bool) -> bool:
+            names = self.get_window_names()
+            if last_try:
+                self.log(
+                    "Last chance to match {} on the window list,".format(regexp)
+                    + " which currently contains: "
+                    + ", ".join(names)
+                )
+            return any(pattern.search(name) for name in names)
+
+        with self.nested("Waiting for a window to appear"):
+            retry(window_is_visible)
+
+    def sleep(self, secs: int) -> None:
+        time.sleep(secs)
+
+    def forward_port(self, host_port: int = 8080, guest_port: int = 80) -> None:
+        """Forward a TCP port on the host to a TCP port on the guest.
+        Useful during interactive testing.
+        """
+        self.send_monitor_command(
+            "hostfwd_add tcp::{}-:{}".format(host_port, guest_port)
+        )
+
+    def block(self) -> None:
+        """Make the machine unreachable by shutting down eth1 (the multicast
+        interface used to talk to the other VMs).  We keep eth0 up so that
+        the test driver can continue to talk to the machine.
+        """
+        self.send_monitor_command("set_link virtio-net-pci.1 off")
+
+    def unblock(self) -> None:
+        """Make the machine reachable.
+        """
+        self.send_monitor_command("set_link virtio-net-pci.1 on")
+
+
+def create_machine(args: Dict[str, Any]) -> Machine:
+    global log
+    args["log"] = log
+    args["redirectSerial"] = os.environ.get("USE_SERIAL", "0") == "1"
+    return Machine(args)
+
+
+def start_all() -> None:
+    global machines
+    with log.nested("starting all VMs"):
+        for machine in machines:
+            machine.start()
+
+
+def join_all() -> None:
+    global machines
+    with log.nested("waiting for all VMs to finish"):
+        for machine in machines:
+            machine.wait_for_shutdown()
+
+
+def test_script() -> None:
+    exec(os.environ["testScript"])
+
+
+def run_tests() -> None:
+    global machines
+    tests = os.environ.get("tests", None)
+    if tests is not None:
+        with log.nested("running the VM test script"):
+            try:
+                exec(tests, globals())
+            except Exception as e:
+                eprint("error: {}".format(str(e)))
+                sys.exit(1)
+    else:
+        ptpython.repl.embed(locals(), globals())
+
+    # TODO: Collect coverage data
+
+    for machine in machines:
+        if machine.is_up():
+            machine.execute("sync")
+
+    if nr_tests != 0:
+        eprint("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
+        if nr_tests > nr_succeeded:
+            sys.exit(1)
+
+
+@contextmanager
+def subtest(name: str) -> Iterator[None]:
+    global nr_tests
+    global nr_succeeded
+
+    with log.nested(name):
+        nr_tests += 1
+        try:
+            yield
+            nr_succeeded += 1
+            return True
+        except Exception as e:
+            log.log("error: {}".format(str(e)))
+
+    return False
+
+
+if __name__ == "__main__":
+    log = Logger()
+
+    vlan_nrs = list(dict.fromkeys(os.environ["VLANS"].split()))
+    vde_sockets = [create_vlan(v) for v in vlan_nrs]
+    for nr, vde_socket, _, _ in vde_sockets:
+        os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket
+
+    vm_scripts = sys.argv[1:]
+    machines = [create_machine({"startCommand": s}) for s in vm_scripts]
+    machine_eval = [
+        "{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines)
+    ]
+    exec("\n".join(machine_eval))
+
+    nr_tests = 0
+    nr_succeeded = 0
+
+    @atexit.register
+    def clean_up() -> None:
+        with log.nested("cleaning up"):
+            for machine in machines:
+                if machine.pid is None:
+                    continue
+                log.log("killing {} (pid {})".format(machine.name, machine.pid))
+                machine.process.kill()
+
+            for _, _, process, _ in vde_sockets:
+                process.kill()
+        log.close()
+
+    tic = time.time()
+    run_tests()
+    toc = time.time()
+    print("test script finished in {:.2f}s".format(toc - tic))
diff --git a/nixpkgs/nixos/lib/testing-python.nix b/nixpkgs/nixos/lib/testing-python.nix
new file mode 100644
index 000000000000..3d09be3b6cd5
--- /dev/null
+++ b/nixpkgs/nixos/lib/testing-python.nix
@@ -0,0 +1,284 @@
+{ system
+, pkgs ? import ../.. { inherit system config; }
+  # Use a minimal kernel?
+, minimal ? false
+  # Ignored
+, config ? {}
+  # Modules to add to each VM
+, extraConfigurations ? [] }:
+
+with import ./build-vms.nix { inherit system pkgs minimal extraConfigurations; };
+with pkgs;
+
+let
+  jquery-ui = callPackage ./testing/jquery-ui.nix { };
+  jquery = callPackage ./testing/jquery.nix { };
+
+in rec {
+
+  inherit pkgs;
+
+
+  testDriver = let
+    testDriverScript = ./test-driver/test-driver.py;
+  in stdenv.mkDerivation {
+    name = "nixos-test-driver";
+
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ (python3.withPackages (p: [ p.ptpython ])) ];
+    checkInputs = with python3Packages; [ pylint black mypy ];
+
+    dontUnpack = true;
+
+    preferLocalBuild = true;
+
+    doCheck = true;
+    checkPhase = ''
+      mypy --disallow-untyped-defs \
+           --no-implicit-optional \
+           --ignore-missing-imports ${testDriverScript}
+      pylint --errors-only ${testDriverScript}
+      black --check --diff ${testDriverScript}
+    '';
+
+    installPhase =
+      ''
+        mkdir -p $out/bin
+        cp ${testDriverScript} $out/bin/nixos-test-driver
+        chmod u+x $out/bin/nixos-test-driver
+        # TODO: copy user script part into this file (append)
+
+        wrapProgram $out/bin/nixos-test-driver \
+          --prefix PATH : "${lib.makeBinPath [ qemu_test vde2 netpbm coreutils ]}" \
+      '';
+  };
+
+
+  # Run an automated test suite in the given virtual network.
+  # `driver' is the script that runs the network.
+  runTests = driver:
+    stdenv.mkDerivation {
+      name = "vm-test-run-${driver.testName}";
+
+      requiredSystemFeatures = [ "kvm" "nixos-test" ];
+
+      buildInputs = [ libxslt ];
+
+      buildCommand =
+        ''
+          mkdir -p $out/nix-support
+
+          LOGFILE=$out/log.xml tests='exec(os.environ["testScript"])' ${driver}/bin/nixos-test-driver
+
+          # Generate a pretty-printed log.
+          xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml
+          ln -s ${./test-driver/logfile.css} $out/logfile.css
+          ln -s ${./test-driver/treebits.js} $out/treebits.js
+          ln -s ${jquery}/js/jquery.min.js $out/
+          ln -s ${jquery}/js/jquery.js $out/
+          ln -s ${jquery-ui}/js/jquery-ui.min.js $out/
+          ln -s ${jquery-ui}/js/jquery-ui.js $out/
+
+          touch $out/nix-support/hydra-build-products
+          echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products
+
+          for i in */xchg/coverage-data; do
+            mkdir -p $out/coverage-data
+            mv $i $out/coverage-data/$(dirname $(dirname $i))
+          done
+        '';
+    };
+
+
+  makeTest =
+    { testScript
+    , makeCoverageReport ? false
+    , enableOCR ? false
+    , name ? "unnamed"
+    # Skip linting (mainly intended for faster dev cycles)
+    , skipLint ? false
+    , ...
+    } @ t:
+
+    let
+      # A standard store path to the vm monitor is built like this:
+      #   /tmp/nix-build-vm-test-run-$name.drv-0/vm-state-machine/monitor
+      # The max filename length of a unix domain socket is 108 bytes.
+      # This means $name can at most be 50 bytes long.
+      maxTestNameLen = 50;
+      testNameLen = builtins.stringLength name;
+
+      testDriverName = with builtins;
+        if testNameLen > maxTestNameLen then
+          abort ("The name of the test '${name}' must not be longer than ${toString maxTestNameLen} " +
+            "it's currently ${toString testNameLen} characters long.")
+        else
+          "nixos-test-driver-${name}";
+
+      nodes = buildVirtualNetwork (
+        t.nodes or (if t ? machine then { machine = t.machine; } else { }));
+
+      testScript' =
+        # Call the test script with the computed nodes.
+        if lib.isFunction testScript
+        then testScript { inherit nodes; }
+        else testScript;
+
+      vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes);
+
+      vms = map (m: m.config.system.build.vm) (lib.attrValues nodes);
+
+      ocrProg = tesseract4.override { enableLanguages = [ "eng" ]; };
+
+      imagemagick_tiff = imagemagick_light.override { inherit libtiff; };
+
+      # Generate onvenience wrappers for running the test driver
+      # interactively with the specified network, and for starting the
+      # VMs from the command line.
+      driver = let warn = if skipLint then lib.warn "Linting is disabled!" else lib.id; in warn (runCommand testDriverName
+        { buildInputs = [ makeWrapper];
+          testScript = testScript';
+          preferLocalBuild = true;
+          testName = name;
+        }
+        ''
+          mkdir -p $out/bin
+
+          echo -n "$testScript" > $out/test-script
+          ${lib.optionalString (!skipLint) ''
+            ${python3Packages.black}/bin/black --check --diff $out/test-script
+          ''}
+
+          ln -s ${testDriver}/bin/nixos-test-driver $out/bin/
+          vms=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
+          wrapProgram $out/bin/nixos-test-driver \
+            --add-flags "''${vms[*]}" \
+            ${lib.optionalString enableOCR
+              "--prefix PATH : '${ocrProg}/bin:${imagemagick_tiff}/bin'"} \
+            --run "export testScript=\"\$(cat $out/test-script)\"" \
+            --set VLANS '${toString vlans}'
+          ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
+          wrapProgram $out/bin/nixos-run-vms \
+            --add-flags "''${vms[*]}" \
+            ${lib.optionalString enableOCR "--prefix PATH : '${ocrProg}/bin'"} \
+            --set tests 'start_all(); join_all();' \
+            --set VLANS '${toString vlans}' \
+            ${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"}
+        ''); # "
+
+      passMeta = drv: drv // lib.optionalAttrs (t ? meta) {
+        meta = (drv.meta or {}) // t.meta;
+      };
+
+      test = passMeta (runTests driver);
+      report = passMeta (releaseTools.gcovReport { coverageRuns = [ test ]; });
+
+      nodeNames = builtins.attrNames nodes;
+      invalidNodeNames = lib.filter
+        (node: builtins.match "^[A-z_][A-z0-9_]+$" node == null) nodeNames;
+
+    in
+      if lib.length invalidNodeNames > 0 then
+        throw ''
+          Cannot create machines out of (${lib.concatStringsSep ", " invalidNodeNames})!
+          All machines are referenced as perl variables in the testing framework which will break the
+          script when special characters are used.
+
+          Please stick to alphanumeric chars and underscores as separation.
+        ''
+      else
+        (if makeCoverageReport then report else test) // {
+          inherit nodes driver test;
+        };
+
+  runInMachine =
+    { drv
+    , machine
+    , preBuild ? ""
+    , postBuild ? ""
+    , ... # ???
+    }:
+    let
+      vm = buildVM { }
+        [ machine
+          { key = "run-in-machine";
+            networking.hostName = "client";
+            nix.readOnlyStore = false;
+            virtualisation.writableStore = false;
+          }
+        ];
+
+      buildrunner = writeText "vm-build" ''
+        source $1
+
+        ${coreutils}/bin/mkdir -p $TMPDIR
+        cd $TMPDIR
+
+        exec $origBuilder $origArgs
+      '';
+
+      testScript = ''
+        startAll;
+        $client->waitForUnit("multi-user.target");
+        ${preBuild}
+        $client->succeed("env -i ${bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2");
+        ${postBuild}
+        $client->succeed("sync"); # flush all data before pulling the plug
+      '';
+
+      vmRunCommand = writeText "vm-run" ''
+        xchg=vm-state-client/xchg
+        ${coreutils}/bin/mkdir $out
+        ${coreutils}/bin/mkdir -p $xchg
+
+        for i in $passAsFile; do
+          i2=''${i}Path
+          _basename=$(${coreutils}/bin/basename ''${!i2})
+          ${coreutils}/bin/cp ''${!i2} $xchg/$_basename
+          eval $i2=/tmp/xchg/$_basename
+          ${coreutils}/bin/ls -la $xchg
+        done
+
+        unset i i2 _basename
+        export | ${gnugrep}/bin/grep -v '^xchg=' > $xchg/saved-env
+        unset xchg
+
+        export tests='${testScript}'
+        ${testDriver}/bin/nixos-test-driver ${vm.config.system.build.vm}/bin/run-*-vm
+      ''; # */
+
+    in
+      lib.overrideDerivation drv (attrs: {
+        requiredSystemFeatures = [ "kvm" ];
+        builder = "${bash}/bin/sh";
+        args = ["-e" vmRunCommand];
+        origArgs = attrs.args;
+        origBuilder = attrs.builder;
+      });
+
+
+  runInMachineWithX = { require ? [], ... } @ args:
+    let
+      client =
+        { ... }:
+        {
+          inherit require;
+          virtualisation.memorySize = 1024;
+          services.xserver.enable = true;
+          services.xserver.displayManager.auto.enable = true;
+          services.xserver.displayManager.defaultSession = "none+icewm";
+          services.xserver.windowManager.icewm.enable = true;
+        };
+    in
+      runInMachine ({
+        machine = client;
+        preBuild =
+          ''
+            $client->waitForX;
+          '';
+      } // args);
+
+
+  simpleTest = as: (makeTest as).test;
+
+}
diff --git a/nixpkgs/nixos/lib/testing.nix b/nixpkgs/nixos/lib/testing.nix
index 767068771036..ae8ecd6270ce 100644
--- a/nixpkgs/nixos/lib/testing.nix
+++ b/nixpkgs/nixos/lib/testing.nix
@@ -248,11 +248,9 @@ 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.displayManager.defaultSession = "none+icewm";
           services.xserver.windowManager.icewm.enable = true;
-          services.xserver.desktopManager.default = "none";
         };
     in
       runInMachine ({
diff --git a/nixpkgs/nixos/maintainers/scripts/azure/create-azure.sh b/nixpkgs/nixos/maintainers/scripts/azure/create-azure.sh
index 2b22cb536619..0558f8dfffcb 100755
--- a/nixpkgs/nixos/maintainers/scripts/azure/create-azure.sh
+++ b/nixpkgs/nixos/maintainers/scripts/azure/create-azure.sh
@@ -1,6 +1,6 @@
-#! /bin/sh -e
+#! /bin/sh -eu
 
-export NIX_PATH=nixpkgs=../../../..
+export NIX_PATH=nixpkgs=$(dirname $(readlink -f $0))/../../../..
 export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/azure-image.nix
 export TIMESTAMP=$(date +%Y%m%d%H%M)
 
diff --git a/nixpkgs/nixos/maintainers/scripts/ec2/create-amis.sh b/nixpkgs/nixos/maintainers/scripts/ec2/create-amis.sh
index c4149e3e8ffe..5dc1c5aaed57 100755
--- a/nixpkgs/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixpkgs/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -14,7 +14,7 @@
 set -euo pipefail
 
 # configuration
-state_dir=/home/deploy/amis/ec2-images
+state_dir=$HOME/amis/ec2-images
 home_region=eu-west-1
 bucket=nixos-amis
 
@@ -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/nixpkgs/nixos/maintainers/scripts/gce/create-gce.sh b/nixpkgs/nixos/maintainers/scripts/gce/create-gce.sh
index 48748a59d298..77cc64e591e9 100755
--- a/nixpkgs/nixos/maintainers/scripts/gce/create-gce.sh
+++ b/nixpkgs/nixos/maintainers/scripts/gce/create-gce.sh
@@ -15,7 +15,7 @@ nix-build '<nixpkgs/nixos/lib/eval-config.nix>' \
    -j 10
 
 img_path=$(echo gce/*.tar.gz)
-img_name=$(basename "$img_path")
+img_name=${IMAGE_NAME:-$(basename "$img_path")}
 img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
 if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
   gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
diff --git a/nixpkgs/nixos/modules/config/console.nix b/nixpkgs/nixos/modules/config/console.nix
new file mode 100644
index 000000000000..f662ed62d31d
--- /dev/null
+++ b/nixpkgs/nixos/modules/config/console.nix
@@ -0,0 +1,203 @@
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.console;
+
+  makeColor = i: concatMapStringsSep "," (x: "0x" + substring (2*i) 2 x);
+
+  isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);
+
+  optimizedKeymap = pkgs.runCommand "keymap" {
+    nativeBuildInputs = [ pkgs.buildPackages.kbd ];
+    LOADKEYS_KEYMAP_PATH = "${consoleEnv}/share/keymaps/**";
+    preferLocalBuild = true;
+  } ''
+    loadkeys -b ${optionalString isUnicode "-u"} "${cfg.keyMap}" > $out
+  '';
+
+  # Sadly, systemd-vconsole-setup doesn't support binary keymaps.
+  vconsoleConf = pkgs.writeText "vconsole.conf" ''
+    KEYMAP=${cfg.keyMap}
+    FONT=${cfg.font}
+  '';
+
+  consoleEnv = pkgs.buildEnv {
+    name = "console-env";
+    paths = [ pkgs.kbd ] ++ cfg.packages;
+    pathsToLink = [
+      "/share/consolefonts"
+      "/share/consoletrans"
+      "/share/keymaps"
+      "/share/unimaps"
+    ];
+  };
+
+  setVconsole = !config.boot.isContainer;
+in
+
+{
+  ###### interface
+
+  options.console  = {
+    font = mkOption {
+      type = types.str;
+      default = "Lat2-Terminus16";
+      example = "LatArCyrHeb-16";
+      description = ''
+        The font used for the virtual consoles.  Leave empty to use
+        whatever the <command>setfont</command> program considers the
+        default font.
+      '';
+    };
+
+    keyMap = mkOption {
+      type = with types; either str path;
+      default = "us";
+      example = "fr";
+      description = ''
+        The keyboard mapping table for the virtual consoles.
+      '';
+    };
+
+    colors = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = [
+        "002b36" "dc322f" "859900" "b58900"
+        "268bd2" "d33682" "2aa198" "eee8d5"
+        "002b36" "cb4b16" "586e75" "657b83"
+        "839496" "6c71c4" "93a1a1" "fdf6e3"
+      ];
+      description = ''
+        The 16 colors palette used by the virtual consoles.
+        Leave empty to use the default colors.
+        Colors must be in hexadecimal format and listed in
+        order from color 0 to color 15.
+      '';
+
+    };
+
+    packages = mkOption {
+      type = types.listOf types.package;
+      default = with pkgs.kbdKeymaps; [ dvp neo ];
+      defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
+      description = ''
+        List of additional packages that provide console fonts, keymaps and
+        other resources for virtual consoles use.
+      '';
+    };
+
+    extraTTYs = mkOption {
+      default = [];
+      type = types.listOf types.str;
+      example = ["tty8" "tty9"];
+      description = ''
+        TTY (virtual console) devices, in addition to the consoles on
+        which mingetty and syslogd run, that must be initialised.
+        Only useful if you have some program that you want to run on
+        some fixed console.  For example, the NixOS installation CD
+        opens the manual in a web browser on console 7, so it sets
+        <option>console.extraTTYs</option> to <literal>["tty7"]</literal>.
+      '';
+    };
+
+    useXkbConfig = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        If set, configure the virtual console keymap from the xserver
+        keyboard settings.
+      '';
+    };
+
+    earlySetup = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enable setting virtual console options as early as possible (in initrd).
+      '';
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkMerge [
+    { console.keyMap = with config.services.xserver;
+        mkIf cfg.useXkbConfig
+          (pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
+            '${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
+              -option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
+          '');
+    }
+
+    (mkIf (!setVconsole) {
+      systemd.services.systemd-vconsole-setup.enable = false;
+    })
+
+    (mkIf setVconsole (mkMerge [
+      { environment.systemPackages = [ pkgs.kbd ];
+
+        # Let systemd-vconsole-setup.service do the work of setting up the
+        # virtual consoles.
+        environment.etc."vconsole.conf".source = vconsoleConf;
+        # Provide kbd with additional packages.
+        environment.etc.kbd.source = "${consoleEnv}/share";
+
+        boot.initrd.preLVMCommands = mkBefore ''
+          kbd_mode ${if isUnicode then "-u" else "-a"} -C /dev/console
+          printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
+          loadkmap < ${optimizedKeymap}
+
+          ${optionalString cfg.earlySetup ''
+            setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
+          ''}
+        '';
+
+        systemd.services.systemd-vconsole-setup =
+          { before = [ "display-manager.service" ];
+            after = [ "systemd-udev-settle.service" ];
+            restartTriggers = [ vconsoleConf consoleEnv ];
+          };
+      }
+
+      (mkIf (cfg.colors != []) {
+        boot.kernelParams = [
+          "vt.default_red=${makeColor 0 cfg.colors}"
+          "vt.default_grn=${makeColor 1 cfg.colors}"
+          "vt.default_blu=${makeColor 2 cfg.colors}"
+        ];
+      })
+
+      (mkIf cfg.earlySetup {
+        boot.initrd.extraUtilsCommands = ''
+          mkdir -p $out/share/consolefonts
+          ${if substring 0 1 cfg.font == "/" then ''
+            font="${cfg.font}"
+          '' else ''
+            font="$(echo ${consoleEnv}/share/consolefonts/${cfg.font}.*)"
+          ''}
+          if [[ $font == *.gz ]]; then
+            gzip -cd $font > $out/share/consolefonts/font.psf
+          else
+            cp -L $font $out/share/consolefonts/font.psf
+          fi
+        '';
+      })
+    ]))
+  ];
+
+  imports = [
+    (mkRenamedOptionModule [ "i18n" "consoleFont" ] [ "console" "font" ])
+    (mkRenamedOptionModule [ "i18n" "consoleKeyMap" ] [ "console" "keyMap" ])
+    (mkRenamedOptionModule [ "i18n" "consoleColors" ] [ "console" "colors" ])
+    (mkRenamedOptionModule [ "i18n" "consolePackages" ] [ "console" "packages" ])
+    (mkRenamedOptionModule [ "i18n" "consoleUseXkbConfig" ] [ "console" "useXkbConfig" ])
+    (mkRenamedOptionModule [ "boot" "earlyVconsoleSetup" ] [ "console" "earlySetup" ])
+    (mkRenamedOptionModule [ "boot" "extraTTYs" ] [ "console" "extraTTYs" ])
+  ];
+}
diff --git a/nixpkgs/nixos/modules/config/fonts/corefonts.nix b/nixpkgs/nixos/modules/config/fonts/corefonts.nix
deleted file mode 100644
index b9f69879a103..000000000000
--- a/nixpkgs/nixos/modules/config/fonts/corefonts.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-# This module is deprecated, since you can just say ‘fonts.fonts = [
-# pkgs.corefonts ];’ instead.
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  options = {
-
-    fonts = {
-
-      enableCoreFonts = mkOption {
-        visible = false;
-        default = false;
-        description = ''
-          Whether to include Microsoft's proprietary Core Fonts.  These fonts
-          are redistributable, but only verbatim, among other restrictions.
-          See <link xlink:href="http://corefonts.sourceforge.net/eula.htm"/>
-          for details.
-       '';
-      };
-
-    };
-
-  };
-
-
-  config = mkIf config.fonts.enableCoreFonts {
-
-    fonts.fonts = [ pkgs.corefonts ];
-
-  };
-
-}
diff --git a/nixpkgs/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixpkgs/nixos/modules/config/fonts/fontconfig-ultimate.nix
deleted file mode 100644
index 84d90899dfff..000000000000
--- a/nixpkgs/nixos/modules/config/fonts/fontconfig-ultimate.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let cfg = config.fonts.fontconfig.ultimate;
-
-    latestVersion  = pkgs.fontconfig.configVersion;
-
-    # The configuration to be included in /etc/font/
-    confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } ''
-      support_folder=$out/etc/fonts/conf.d
-      latest_folder=$out/etc/fonts/${latestVersion}/conf.d
-
-      mkdir -p $support_folder
-      mkdir -p $latest_folder
-
-      # fontconfig ultimate substitutions
-      ${optionalString (cfg.substitutions != "none") ''
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
-            $support_folder
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
-            $latest_folder
-      ''}
-
-      # fontconfig ultimate various configuration files
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
-            $support_folder
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
-            $latest_folder
-    '';
-
-in
-{
-
-  options = {
-
-    fonts = {
-
-      fontconfig = {
-
-        ultimate = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Enable fontconfig-ultimate settings (formerly known as
-              Infinality). Besides the customizable settings in this NixOS
-              module, fontconfig-ultimate also provides many font-specific
-              rendering tweaks.
-            '';
-          };
-
-          substitutions = mkOption {
-            type = types.enum ["free" "combi" "ms" "none"];
-            default = "free";
-            description = ''
-              Font substitutions to replace common Type 1 fonts with nicer
-              TrueType fonts. <literal>free</literal> uses free fonts,
-              <literal>ms</literal> uses Microsoft fonts,
-              <literal>combi</literal> uses a combination, and
-              <literal>none</literal> disables the substitutions.
-            '';
-          };
-
-          preset = mkOption {
-            type = types.enum ["ultimate1" "ultimate2" "ultimate3" "ultimate4" "ultimate5" "osx" "windowsxp"];
-            default = "ultimate3";
-            description = ''
-              FreeType rendering settings preset. Any of the presets may be
-              customized by setting environment variables.
-            '';
-          };
-        };
-      };
-    };
-
-  };
-
-  config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
-
-    fonts.fontconfig.confPackages = [ confPkg ];
-    environment.variables.INFINALITY_FT = cfg.preset;
-
-  };
-
-}
diff --git a/nixpkgs/nixos/modules/config/fonts/fontconfig.nix b/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
index 8f227c423266..3bfa1893a8ba 100644
--- a/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
@@ -264,6 +264,16 @@ let
   };
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/config/fonts/fonts.nix b/nixpkgs/nixos/modules/config/fonts/fonts.nix
index abb806b601a7..b9bae44b2f9c 100644
--- a/nixpkgs/nixos/modules/config/fonts/fonts.nix
+++ b/nixpkgs/nixos/modules/config/fonts/fonts.nix
@@ -3,6 +3,9 @@
 with lib;
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/config/i18n.nix b/nixpkgs/nixos/modules/config/i18n.nix
index dc7305b1ba24..cc2ddda9d32f 100644
--- a/nixpkgs/nixos/modules/config/i18n.nix
+++ b/nixpkgs/nixos/modules/config/i18n.nix
@@ -58,66 +58,6 @@ with lib;
         '';
       };
 
-      consolePackages = mkOption {
-        type = types.listOf types.package;
-        default = with pkgs.kbdKeymaps; [ dvp neo ];
-        defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
-        description = ''
-          List of additional packages that provide console fonts, keymaps and
-          other resources.
-        '';
-      };
-
-      consoleFont = mkOption {
-        type = types.str;
-        default = "Lat2-Terminus16";
-        example = "LatArCyrHeb-16";
-        description = ''
-          The font used for the virtual consoles.  Leave empty to use
-          whatever the <command>setfont</command> program considers the
-          default font.
-        '';
-      };
-
-      consoleUseXkbConfig = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          If set, configure the console keymap from the xserver keyboard
-          settings.
-        '';
-      };
-
-      consoleKeyMap = mkOption {
-        type = mkOptionType {
-          name = "string or path";
-          check = t: (isString t || types.path.check t);
-        };
-
-        default = "us";
-        example = "fr";
-        description = ''
-          The keyboard mapping table for the virtual consoles.
-        '';
-      };
-
-      consoleColors = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [
-          "002b36" "dc322f" "859900" "b58900"
-          "268bd2" "d33682" "2aa198" "eee8d5"
-          "002b36" "cb4b16" "586e75" "657b83"
-          "839496" "6c71c4" "93a1a1" "fdf6e3"
-        ];
-        description = ''
-          The 16 colors palette used by the virtual consoles.
-          Leave empty to use the default colors.
-          Colors must be in hexadecimal format and listed in
-          order from color 0 to color 15.
-        '';
-      };
-
     };
 
   };
@@ -127,13 +67,6 @@ with lib;
 
   config = {
 
-    i18n.consoleKeyMap = with config.services.xserver;
-      mkIf config.i18n.consoleUseXkbConfig
-        (pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
-          '${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
-            -option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
-        '');
-
     environment.systemPackages =
       optional (config.i18n.supportedLocales != []) config.i18n.glibcLocales;
 
@@ -147,14 +80,11 @@ with lib;
     };
 
     # ‘/etc/locale.conf’ is used by systemd.
-    environment.etc = singleton
-      { target = "locale.conf";
-        source = pkgs.writeText "locale.conf"
-          ''
-            LANG=${config.i18n.defaultLocale}
-            ${concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${v}'') config.i18n.extraLocaleSettings)}
-          '';
-      };
+    environment.etc."locale.conf".source = pkgs.writeText "locale.conf"
+      ''
+        LANG=${config.i18n.defaultLocale}
+        ${concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${v}'') config.i18n.extraLocaleSettings)}
+      '';
 
   };
 }
diff --git a/nixpkgs/nixos/modules/config/ldap.nix b/nixpkgs/nixos/modules/config/ldap.nix
index e008497a2a6e..9c8e9d149371 100644
--- a/nixpkgs/nixos/modules/config/ldap.nix
+++ b/nixpkgs/nixos/modules/config/ldap.nix
@@ -224,7 +224,9 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.etc = optional (!cfg.daemon.enable) ldapConfig;
+    environment.etc = optionalAttrs (!cfg.daemon.enable) {
+      "ldap.conf" = ldapConfig;
+    };
 
     system.activationScripts = mkIf (!cfg.daemon.enable) {
       ldap = stringAfter [ "etc" "groups" "users" ] ''
diff --git a/nixpkgs/nixos/modules/config/networking.nix b/nixpkgs/nixos/modules/config/networking.nix
index a89667ea221c..81427bb8ee64 100644
--- a/nixpkgs/nixos/modules/config/networking.nix
+++ b/nixpkgs/nixos/modules/config/networking.nix
@@ -16,6 +16,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "networking" "hostConf" ] "Use environment.etc.\"host.conf\" instead.")
+  ];
 
   options = {
 
@@ -41,19 +44,6 @@ in
       '';
     };
 
-    networking.hostConf = lib.mkOption {
-      type = types.lines;
-      default = "multi on";
-      example = ''
-        multi on
-        reorder on
-        trim lan
-      '';
-      description = ''
-        The contents of <filename>/etc/host.conf</filename>. See also <citerefentry><refentrytitle>host.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
-      '';
-    };
-
     networking.timeServers = mkOption {
       default = [
         "0.nixos.pool.ntp.org"
@@ -186,7 +176,9 @@ in
         '';
 
         # /etc/host.conf: resolver configuration file
-        "host.conf".text = cfg.hostConf;
+        "host.conf".text = ''
+          multi on
+        '';
 
       } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
         # /etc/rpc: RPC program numbers.
diff --git a/nixpkgs/nixos/modules/config/no-x-libs.nix b/nixpkgs/nixos/modules/config/no-x-libs.nix
index 74cf74d74181..873b8073fed9 100644
--- a/nixpkgs/nixos/modules/config/no-x-libs.nix
+++ b/nixpkgs/nixos/modules/config/no-x-libs.nix
@@ -34,7 +34,6 @@ with lib;
       networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
       networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
       networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
-      pinentry = super.pinentry.override { gtk2 = null; gcr = null; qt4 = null; qt5 = null; };
       gobject-introspection = super.gobject-introspection.override { x11Support = false; };
     }));
   };
diff --git a/nixpkgs/nixos/modules/config/pulseaudio.nix b/nixpkgs/nixos/modules/config/pulseaudio.nix
index 5c3e39302583..048bbb30c73d 100644
--- a/nixpkgs/nixos/modules/config/pulseaudio.nix
+++ b/nixpkgs/nixos/modules/config/pulseaudio.nix
@@ -51,8 +51,7 @@ let
   # that we can disable the autospawn feature in programs that
   # are built with PulseAudio support (like KDE).
   clientConf = writeText "client.conf" ''
-    autospawn=${if nonSystemWide then "yes" else "no"}
-    ${optionalString nonSystemWide "daemon-binary=${binary}"}
+    autospawn=no
     ${cfg.extraClientConf}
   '';
 
@@ -99,11 +98,12 @@ in {
         description = ''
           If false, a PulseAudio server is launched automatically for
           each user that tries to use the sound system. The server runs
-          with user privileges. This is the recommended and most secure
-          way to use PulseAudio. If true, one system-wide PulseAudio
+          with user privileges. If true, one system-wide PulseAudio
           server is launched on boot, running as the user "pulse", and
           only users in the "audio" group will have access to the server.
           Please read the PulseAudio documentation for more details.
+
+          Don't enable this option unless you know what you are doing.
         '';
       };
 
@@ -215,9 +215,8 @@ in {
 
   config = mkMerge [
     {
-      environment.etc = singleton {
-        target = "pulse/client.conf";
-        source = clientConf;
+      environment.etc = {
+        "pulse/client.conf".source = clientConf;
       };
 
       hardware.pulseaudio.configFile = mkDefault "${getBin overriddenPackage}/etc/pulse/default.pa";
@@ -228,19 +227,16 @@ in {
 
       sound.enable = true;
 
-      environment.etc = [
-        { target = "asound.conf";
-          source = alsaConf; }
+      environment.etc = {
+        "asound.conf".source = alsaConf;
 
-        { target = "pulse/daemon.conf";
-          source = writeText "daemon.conf" (lib.generators.toKeyValue {} cfg.daemon.config); }
+        "pulse/daemon.conf".source = writeText "daemon.conf"
+          (lib.generators.toKeyValue {} cfg.daemon.config);
 
-        { target = "openal/alsoft.conf";
-          source = writeText "alsoft.conf" "drivers=pulse"; }
+        "openal/alsoft.conf".source = writeText "alsoft.conf" "drivers=pulse";
 
-        { target = "libao.conf";
-          source = writeText "libao.conf" "default_driver=pulse"; }
-      ];
+        "libao.conf".source = writeText "libao.conf" "default_driver=pulse";
+      };
 
       # Disable flat volumes to enable relative ones
       hardware.pulseaudio.daemon.config.flat-volumes = mkDefault "no";
@@ -275,9 +271,8 @@ in {
     })
 
     (mkIf nonSystemWide {
-      environment.etc = singleton {
-        target = "pulse/default.pa";
-        source = myConfigFile;
+      environment.etc = {
+        "pulse/default.pa".source = myConfigFile;
       };
       systemd.user = {
         services.pulseaudio = {
diff --git a/nixpkgs/nixos/modules/config/qt5.nix b/nixpkgs/nixos/modules/config/qt5.nix
index 7de1c0f5d557..d9dec74f1552 100644
--- a/nixpkgs/nixos/modules/config/qt5.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/config/resolvconf.nix b/nixpkgs/nixos/modules/config/resolvconf.nix
index 406c6a7ac329..7d2f252a8886 100644
--- a/nixpkgs/nixos/modules/config/resolvconf.nix
+++ b/nixpkgs/nixos/modules/config/resolvconf.nix
@@ -33,6 +33,12 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ])
+    (mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ])
+    (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
+    (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/config/shells-environment.nix b/nixpkgs/nixos/modules/config/shells-environment.nix
index d939cbb393ee..a0a20228a742 100644
--- a/nixpkgs/nixos/modules/config/shells-environment.nix
+++ b/nixpkgs/nixos/modules/config/shells-environment.nix
@@ -118,6 +118,14 @@ in
       type = with types; attrsOf (nullOr (either str path));
     };
 
+    environment.homeBinInPath = mkOption {
+      description = ''
+        Include ~/bin/ in $PATH.
+      '';
+      default = false;
+      type = types.bool;
+    };
+
     environment.binsh = mkOption {
       default = "${config.system.build.binsh}/bin/sh";
       defaultText = "\${config.system.build.binsh}/bin/sh";
@@ -186,8 +194,10 @@ in
 
         ${cfg.extraInit}
 
-        # ~/bin if it exists overrides other bin directories.
-        export PATH="$HOME/bin:$PATH"
+        ${optionalString cfg.homeBinInPath ''
+          # ~/bin if it exists overrides other bin directories.
+          export PATH="$HOME/bin:$PATH"
+        ''}
       '';
 
     system.activationScripts.binsh = stringAfter [ "stdio" ]
diff --git a/nixpkgs/nixos/modules/config/swap.nix b/nixpkgs/nixos/modules/config/swap.nix
index fed3fa3bc7c8..d0fc0d4a3ea4 100644
--- a/nixpkgs/nixos/modules/config/swap.nix
+++ b/nixpkgs/nixos/modules/config/swap.nix
@@ -58,7 +58,7 @@ let
       device = mkOption {
         example = "/dev/sda3";
         type = types.str;
-        description = "Path of the device.";
+        description = "Path of the device or swap file.";
       };
 
       label = mkOption {
diff --git a/nixpkgs/nixos/modules/config/sysctl.nix b/nixpkgs/nixos/modules/config/sysctl.nix
index fb2b58eed720..e59c7a32c287 100644
--- a/nixpkgs/nixos/modules/config/sysctl.nix
+++ b/nixpkgs/nixos/modules/config/sysctl.nix
@@ -54,7 +54,7 @@ in
 
     # Hide kernel pointers (e.g. in /proc/modules) for unprivileged
     # users as these make it easier to exploit kernel vulnerabilities.
-    boot.kernel.sysctl."kernel.kptr_restrict" = 1;
+    boot.kernel.sysctl."kernel.kptr_restrict" = mkDefault 1;
 
     # Disable YAMA by default to allow easy debugging.
     boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkDefault 0;
diff --git a/nixpkgs/nixos/modules/config/system-environment.nix b/nixpkgs/nixos/modules/config/system-environment.nix
index 792d1dbb38f6..4888740ba3d5 100644
--- a/nixpkgs/nixos/modules/config/system-environment.nix
+++ b/nixpkgs/nixos/modules/config/system-environment.nix
@@ -8,11 +8,6 @@ let
 
   cfg = config.environment;
 
-  pamProfiles =
-    map
-      (replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"])
-      cfg.profiles;
-
 in
 
 {
@@ -75,19 +70,31 @@ in
       let
         suffixedVariables =
           flip mapAttrs cfg.profileRelativeSessionVariables (envVar: suffixes:
-            flip concatMap pamProfiles (profile:
+            flip concatMap cfg.profiles (profile:
               map (suffix: "${profile}${suffix}") suffixes
             )
           );
 
+        # We're trying to use the same syntax for PAM variables and env variables.
+        # That means we need to map the env variables that people might use to their
+        # equivalent PAM variable.
+        replaceEnvVars = replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"];
+
         pamVariable = n: v:
-          ''${n}   DEFAULT="${concatStringsSep ":" (toList v)}"'';
+          ''${n}   DEFAULT="${concatStringsSep ":" (map replaceEnvVars (toList v))}"'';
 
         pamVariables =
           concatStringsSep "\n"
           (mapAttrsToList pamVariable
           (zipAttrsWith (n: concatLists)
             [
+              # Make sure security wrappers are prioritized without polluting
+              # shell environments with an extra entry. Sessions which depend on
+              # pam for its environment will otherwise have eg. broken sudo. In
+              # particular Gnome Shell sometimes fails to source a proper
+              # environment from a shell.
+              { PATH = [ config.security.wrapperDir ]; }
+
               (mapAttrs (n: toList) cfg.sessionVariables)
               suffixedVariables
             ]));
diff --git a/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix b/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix
index 8dd811727389..abc12a627d6f 100644
--- a/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix
+++ b/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix
@@ -24,7 +24,7 @@ in {
         Specifies Unix ODBC drivers to be registered in
         <filename>/etc/odbcinst.ini</filename>.  You may also want to
         add <literal>pkgs.unixODBC</literal> to the system path to get
-        a command line client to connnect to ODBC databases.
+        a command line client to connect to ODBC databases.
       '';
     };
   };
diff --git a/nixpkgs/nixos/modules/config/update-users-groups.pl b/nixpkgs/nixos/modules/config/update-users-groups.pl
index ee5c77c1a908..e97d46ccf7f7 100644
--- a/nixpkgs/nixos/modules/config/update-users-groups.pl
+++ b/nixpkgs/nixos/modules/config/update-users-groups.pl
@@ -57,12 +57,12 @@ sub allocGid {
         $gidsUsed{$prevGid} = 1;
         return $prevGid;
     }
-    return allocId(\%gidsUsed, \%gidsPrevUsed, 400, 499, 0, sub { my ($gid) = @_; getgrgid($gid) });
+    return allocId(\%gidsUsed, \%gidsPrevUsed, 400, 999, 0, sub { my ($gid) = @_; getgrgid($gid) });
 }
 
 sub allocUid {
     my ($name, $isSystemUser) = @_;
-    my ($min, $max, $up) = $isSystemUser ? (400, 499, 0) : (1000, 29999, 1);
+    my ($min, $max, $up) = $isSystemUser ? (400, 999, 0) : (1000, 29999, 1);
     my $prevUid = $uidMap->{$name};
     if (defined $prevUid && $prevUid >= $min && $prevUid <= $max && !defined $uidsUsed{$prevUid}) {
         print STDERR "reviving user '$name' with UID $prevUid\n";
diff --git a/nixpkgs/nixos/modules/config/users-groups.nix b/nixpkgs/nixos/modules/config/users-groups.nix
index ba79bd3d6ecc..141e43fec39b 100644
--- a/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/nixpkgs/nixos/modules/config/users-groups.nix
@@ -251,7 +251,7 @@ let
         default = [];
         example = literalExample "[ pkgs.firefox pkgs.thunderbird ]";
         description = ''
-          The set of packages that should be made availabe to the user.
+          The set of packages that should be made available to the user.
           This is in contrast to <option>environment.systemPackages</option>,
           which adds packages to all users.
         '';
@@ -403,6 +403,10 @@ let
       filter types.shellPackage.check shells;
 
 in {
+  imports = [
+    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
+    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/config/vpnc.nix b/nixpkgs/nixos/modules/config/vpnc.nix
deleted file mode 100644
index 356e007c0a3e..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/config/xdg/portal.nix b/nixpkgs/nixos/modules/config/xdg/portal.nix
index bdbbfda2bb42..95fa8e05fa3f 100644
--- a/nixpkgs/nixos/modules/config/xdg/portal.nix
+++ b/nixpkgs/nixos/modules/config/xdg/portal.nix
@@ -3,6 +3,10 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ])
+  ];
+
   options.xdg.portal = {
     enable =
       mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>"//{
diff --git a/nixpkgs/nixos/modules/config/xdg/sounds.nix b/nixpkgs/nixos/modules/config/xdg/sounds.nix
index 148240d631cf..14d6340fc33b 100644
--- a/nixpkgs/nixos/modules/config/xdg/sounds.nix
+++ b/nixpkgs/nixos/modules/config/xdg/sounds.nix
@@ -1,4 +1,4 @@
-{ config, lib, ... }:
+{ config, lib, pkgs, ... }:
 
 with lib;
 {
@@ -14,6 +14,10 @@ with lib;
   };
 
   config = mkIf config.xdg.sounds.enable {
+    environment.systemPackages = [
+      pkgs.sound-theme-freedesktop
+    ];
+
     environment.pathsToLink = [
       "/share/sounds"
     ];
diff --git a/nixpkgs/nixos/modules/hardware/all-firmware.nix b/nixpkgs/nixos/modules/hardware/all-firmware.nix
index 534fcc34276b..16be8bcfdd7d 100644
--- a/nixpkgs/nixos/modules/hardware/all-firmware.nix
+++ b/nixpkgs/nixos/modules/hardware/all-firmware.nix
@@ -6,6 +6,14 @@ let
   cfg = config.hardware;
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/hardware/brillo.nix b/nixpkgs/nixos/modules/hardware/brillo.nix
new file mode 100644
index 000000000000..e970c9480998
--- /dev/null
+++ b/nixpkgs/nixos/modules/hardware/brillo.nix
@@ -0,0 +1,22 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.hardware.brillo;
+in
+{
+  options = {
+    hardware.brillo = {
+      enable = mkEnableOption ''
+        Enable brillo in userspace.
+        This will allow brightness control from users in the video group.
+      '';
+    };
+  };
+
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [ pkgs.brillo ];
+    environment.systemPackages = [ pkgs.brillo ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/hardware/ckb-next.nix b/nixpkgs/nixos/modules/hardware/ckb-next.nix
index 20b2756d8b26..fe0ca9f26d54 100644
--- a/nixpkgs/nixos/modules/hardware/ckb-next.nix
+++ b/nixpkgs/nixos/modules/hardware/ckb-next.nix
@@ -7,6 +7,11 @@ let
 
 in
   {
+    imports = [
+      (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ])
+      (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ])
+    ];
+
     options.hardware.ckb-next = {
       enable = mkEnableOption "the Corsair keyboard/mouse driver";
 
diff --git a/nixpkgs/nixos/modules/hardware/ksm.nix b/nixpkgs/nixos/modules/hardware/ksm.nix
index 99d46c25236e..0938dbdc1101 100644
--- a/nixpkgs/nixos/modules/hardware/ksm.nix
+++ b/nixpkgs/nixos/modules/hardware/ksm.nix
@@ -6,6 +6,10 @@ let
   cfg = config.hardware.ksm;
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ])
+  ];
+
   options.hardware.ksm = {
     enable = mkEnableOption "Kernel Same-Page Merging";
     sleep = mkOption {
diff --git a/nixpkgs/nixos/modules/hardware/opengl.nix b/nixpkgs/nixos/modules/hardware/opengl.nix
index 57cac56bd8ab..89dc5008df58 100644
--- a/nixpkgs/nixos/modules/hardware/opengl.nix
+++ b/nixpkgs/nixos/modules/hardware/opengl.nix
@@ -31,6 +31,11 @@ let
 in
 
 {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
+  ];
+
   options = {
 
     hardware.opengl = {
diff --git a/nixpkgs/nixos/modules/hardware/steam-hardware.nix b/nixpkgs/nixos/modules/hardware/steam-hardware.nix
index 378aeffe71b5..6218c9ffbb9b 100644
--- a/nixpkgs/nixos/modules/hardware/steam-hardware.nix
+++ b/nixpkgs/nixos/modules/hardware/steam-hardware.nix
@@ -21,5 +21,12 @@ in
     services.udev.packages = [
       pkgs.steamPackages.steam
     ];
+
+    # The uinput module needs to be loaded in order to trigger the udev rules
+    # defined in the steam package for setting permissions on /dev/uinput.
+    #
+    # If the udev rules are not triggered, some controllers won't work with
+    # steam.
+    boot.kernelModules = [ "uinput" ];
   };
 }
diff --git a/nixpkgs/nixos/modules/hardware/video/displaylink.nix b/nixpkgs/nixos/modules/hardware/video/displaylink.nix
index 669ac849cbad..912f53da836a 100644
--- a/nixpkgs/nixos/modules/hardware/video/displaylink.nix
+++ b/nixpkgs/nixos/modules/hardware/video/displaylink.nix
@@ -19,6 +19,21 @@ in
   config = mkIf enabled {
 
     boot.extraModulePackages = [ evdi ];
+    boot.kernelModules = [ "evdi" ];
+
+    environment.etc."X11/xorg.conf.d/40-displaylink.conf".text = ''
+      Section "OutputClass"
+        Identifier  "DisplayLink"
+        MatchDriver "evdi"
+        Driver      "modesetting"
+        Option      "AccelMethod" "none"
+      EndSection
+    '';
+
+    # make the device available
+    services.xserver.displayManager.sessionCommands = ''
+      ${lib.getBin pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource 1 0
+    '';
 
     # Those are taken from displaylink-installer.sh and from Arch Linux AUR package.
 
@@ -47,18 +62,13 @@ in
       description = "DisplayLink Manager Service";
       after = [ "display-manager.service" ];
       conflicts = [ "getty@tty7.service" ];
-      path = [ pkgs.kmod ];
 
       serviceConfig = {
         ExecStart = "${displaylink}/bin/DisplayLinkManager";
         Restart = "always";
         RestartSec = 5;
+        LogsDirectory = "displaylink";
       };
-
-      preStart = ''
-        mkdir -p /var/log/displaylink
-        modprobe evdi
-      '';
     };
 
   };
diff --git a/nixpkgs/nixos/modules/hardware/video/nvidia.nix b/nixpkgs/nixos/modules/hardware/video/nvidia.nix
index 3ab2afc97407..1794bb4b433d 100644
--- a/nixpkgs/nixos/modules/hardware/video/nvidia.nix
+++ b/nixpkgs/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 != "");
@@ -197,10 +198,11 @@ in
     # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
     services.udev.extraRules =
       ''
-        KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
-        KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
-        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
-        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
+        KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
+        KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
+        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
+        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
+        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
       '';
 
     boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];
diff --git a/nixpkgs/nixos/modules/i18n/input-method/ibus.nix b/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
index 8109ef76c402..a3d97619fc45 100644
--- a/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
+++ b/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
@@ -27,6 +27,10 @@ let
   };
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ])
+  ];
+
   options = {
     i18n.inputMethod.ibus = {
       engines = mkOption {
@@ -53,9 +57,17 @@ in
   config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
     i18n.inputMethod.package = ibusPackage;
 
+    environment.systemPackages = [
+      ibusAutostart
+    ];
+
     # Without dconf enabled it is impossible to use IBus
-    environment.systemPackages = with pkgs; [
-      gnome3.dconf ibusAutostart
+    programs.dconf.enable = true;
+
+    programs.dconf.profiles.ibus = "${ibusPackage}/etc/dconf/profile/ibus";
+
+    services.dbus.packages = [
+      ibusAutostart
     ];
 
     environment.variables = {
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
index 1578e1547bc1..e0b558dcb0d8 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -22,20 +22,7 @@ with lib;
     });
   '';
 
-  services.xserver = {
-    enable = true;
-
-    # Don't start the X server by default.
-    autorun = mkForce false;
-
-    # Automatically login as nixos.
-    displayManager.slim = {
-      enable = true;
-      defaultUser = "nixos";
-      autoLogin = true;
-    };
-
-  };
+  services.xserver.enable = true;
 
   # Provide networkmanager for easy wireless configuration.
   networking.networkmanager.enable = true;
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 0b813bbf37b4..23c3426bff08 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
@@ -10,8 +10,6 @@ with lib;
 
   services.xserver.desktopManager.gnome3.enable = true;
 
-  services.xserver.displayManager.slim.enable = mkForce false;
-
   # Auto-login as root.
   services.xserver.displayManager.gdm.autoLogin = {
     enable = true;
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
index 559899b0a3b1..e00d3f7535b2 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
@@ -11,7 +11,15 @@ with lib;
   services.xserver = {
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
+    };
+
+    # Automatically login as nixos.
+    displayManager.sddm = {
+      enable = true;
+      autoLogin = {
+        enable = true;
+        user = "nixos";
+      };
     };
   };
 
@@ -22,14 +30,8 @@ with lib;
 
   system.activationScripts.installerDesktop = let
 
-    manualDesktopFile = pkgs.writeScript "nixos-manual.desktop" ''
-      [Desktop Entry]
-      Version=1.0
-      Type=Application
-      Name=NixOS Manual
-      Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html
-      Icon=text-html
-    '';
+    # Comes from documentation.nix when xserver and nixos.enable are true.
+    manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop";
 
     homeDir = "/home/nixos/";
     desktopDir = homeDir + "Desktop/";
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
index d5c92cfc1d9e..11319e5f4f82 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -24,7 +24,7 @@ let
         # Name appended to menuentry defaults to params if no specific name given.
         option.name or (if option ? params then "(${option.params})" else "")
         }' ${if option ? class then " --class ${option.class}" else ""} {
-          linux ${defaults.image} ${defaults.params} ${
+          linux ${defaults.image} \''${isoboot} ${defaults.params} ${
             option.params or ""
           }
           initrd ${defaults.initrd}
@@ -165,8 +165,8 @@ let
     else
       "# No refind for ${targetArch}"
   ;
-  
-  grubPkgs = if config.boot.loader.grub.forcei686 then pkgs.pkgsi686Linux else pkgs; 
+
+  grubPkgs = if config.boot.loader.grub.forcei686 then pkgs.pkgsi686Linux else pkgs;
 
   grubMenuCfg = ''
     #
@@ -268,6 +268,12 @@ let
     set timeout=10
     ${grubMenuCfg}
 
+    # If the parameter iso_path is set, append the findiso parameter to the kernel
+    # line. We need this to allow the nixos iso to be booted from grub directly.
+    if [ \''${iso_path} ] ; then
+      set isoboot="findiso=\''${iso_path}"
+    fi
+
     #
     # Menu entries
     #
@@ -284,6 +290,14 @@ let
         ${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"}
       }
 
+      # If we boot into a graphical environment where X is autoran
+      # and always crashes, it makes the media unusable. Allow the user
+      # to disable this.
+      submenu "Disable display-manager" --class quirk-disable-displaymanager {
+        ${grubMenuCfg}
+        ${buildMenuAdditionalParamsGrub2 config "systemd.mask=display-manager.service"}
+      }
+
       # Some laptop and convertibles have the panel installed in an
       # inconvenient way, rotated away from the keyboard.
       # Those entries makes it easier to use the installer.
@@ -562,8 +576,6 @@ in
 
     boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "uas" ];
 
-    boot.blacklistedKernelModules = [ "nouveau" ];
-
     boot.initrd.kernelModules = [ "loop" ];
 
     # Closures to be copied to the Nix store on the CD, namely the init
@@ -591,9 +603,6 @@ in
         { source = config.system.build.squashfsStore;
           target = "/nix-store.squashfs";
         }
-        { source = config.isoImage.efiSplashImage;
-          target = "/EFI/boot/efi-background.png";
-        }
         { source = config.isoImage.splashImage;
           target = "/isolinux/background.png";
         }
@@ -618,6 +627,9 @@ in
         { source = "${efiDir}/EFI";
           target = "/EFI";
         }
+        { source = (pkgs.writeTextDir "grub/loopback.cfg" "source /EFI/boot/grub.cfg") + "/grub";
+          target = "/boot/grub";
+        }
       ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
         { source = "${pkgs.memtest86plus}/memtest.bin";
           target = "/boot/memtest.bin";
@@ -626,6 +638,10 @@ in
         { source = config.isoImage.grubTheme;
           target = "/EFI/boot/grub-theme";
         }
+      ] ++ [
+        { source = config.isoImage.efiSplashImage;
+          target = "/EFI/boot/efi-background.png";
+        }
       ];
 
     boot.loader.timeout = 10;
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index 2a131d9ce980..ba4127eaa0e8 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -19,7 +19,7 @@ in
   boot.loader.generic-extlinux-compatible.enable = true;
 
   boot.consoleLogLevel = lib.mkDefault 7;
-  boot.kernelPackages = pkgs.linuxPackages_rpi;
+  boot.kernelPackages = pkgs.linuxPackages_rpi1;
 
   sdImage = {
     populateFirmwareCommands = let
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix
new file mode 100644
index 000000000000..c545a1e7e242
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix
@@ -0,0 +1,31 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ../../profiles/installation-device.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader.grub.enable = false;
+  boot.loader.raspberryPi.enable = true;
+  boot.loader.raspberryPi.version = 4;
+  boot.kernelPackages = pkgs.linuxPackages_rpi4;
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+
+  sdImage = {
+    firmwareSize = 128;
+    # This is a hack to avoid replicating config.txt from boot.loader.raspberryPi
+    populateFirmwareCommands =
+      "${config.system.build.installBootLoader} ${config.system.build.toplevel} -d ./firmware";
+    # As the boot process is done entirely in the firmware partition.
+    populateRootCommands = "";
+  };
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix
index a2a8e8ef7522..901c60befb6c 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -18,6 +18,7 @@ with lib;
 let
   rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
     inherit (config.sdImage) storePaths;
+    compressImage = true;
     populateImageCommands = config.sdImage.populateRootCommands;
     volumeLabel = "NIXOS_SD";
   } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
@@ -98,6 +99,16 @@ in
         populate the ./files/boot (/boot) directory.
       '';
     };
+
+    compressImage = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether the SD image should be compressed using
+        <command>bzip2</command>.
+      '';
+    };
+
   };
 
   config = {
@@ -118,23 +129,33 @@ in
 
     sdImage.storePaths = [ config.system.build.toplevel ];
 
-    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, mtools, libfaketime, utillinux }: stdenv.mkDerivation {
+    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
+    mtools, libfaketime, utillinux, bzip2, zstd }: stdenv.mkDerivation {
       name = config.sdImage.imageName;
 
-      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux ];
+      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux bzip2 zstd ];
+
+      inherit (config.sdImage) compressImage;
 
       buildCommand = ''
         mkdir -p $out/nix-support $out/sd-image
         export img=$out/sd-image/${config.sdImage.imageName}
 
         echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system
-        echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+        if test -n "$compressImage"; then
+          echo "file sd-image $img.bz2" >> $out/nix-support/hydra-build-products
+        else
+          echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+        fi
+
+        echo "Decompressing rootfs image"
+        zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img
 
         # Gap in front of the first partition, in MiB
         gap=8
 
         # Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
-        rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }')
+        rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }')
         firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
         imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
         truncate -s $imageSize $img
@@ -152,7 +173,7 @@ in
 
         # Copy the rootfs into the SD image
         eval $(partx $img -o START,SECTORS --nr 2 --pairs)
-        dd conv=notrunc if=${rootfsImage} of=$img seek=$START count=$SECTORS
+        dd conv=notrunc if=./root-fs.img of=$img seek=$START count=$SECTORS
 
         # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
         eval $(partx $img -o START,SECTORS --nr 1 --pairs)
@@ -168,6 +189,9 @@ in
         # Verify the FAT partition before copying it.
         fsck.vfat -vn firmware_part.img
         dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS
+        if test -n "$compressImage"; then
+            bzip2 $img
+        fi
       '';
     }) {};
 
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-pc.nix b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
index bf8b7deb59eb..f2af7dcde3d5 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
@@ -122,11 +122,10 @@ in
 
   /* fake entry, just to have a happy stage-1. Users
      may boot without having stage-1 though */
-  fileSystems = [
+  fileSystems.fake =
     { mountPoint = "/";
       device = "/dev/something";
-      }
-  ];
+    };
 
   nixpkgs.config = {
     packageOverrides = p: {
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
index 90a5128c02a5..8408f56f94f9 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
@@ -117,11 +117,10 @@ in
 
   /* fake entry, just to have a happy stage-1. Users
      may boot without having stage-1 though */
-  fileSystems = [
+  fileSystems.fake =
     { mountPoint = "/";
       device = "/dev/something";
-      }
-  ];
+    };
 
   services.mingetty = {
     # Some more help text.
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball.nix
index b84096861f56..58098c45535d 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/system-tarball.nix
@@ -41,7 +41,7 @@ in
 
     # In stage 1 of the boot, mount the CD/DVD as the root FS by label
     # so that we don't need to know its device.
-    fileSystems = [ ];
+    fileSystems = { };
 
     # boot.initrd.availableKernelModules = [ "mvsdio" "reiserfs" "ext3" "ext4" ];
 
diff --git a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
index 2673887d2b96..c2f2578733ba 100644
--- a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,6 +1,6 @@
 {
-  x86_64-linux = "/nix/store/3ds3cgji9vjxdbgp10av6smyym1126d1-nix-2.3";
-  i686-linux = "/nix/store/ln1ndqvfpc9cdl03vqxi6kvlxm9wfv9g-nix-2.3";
-  aarch64-linux = "/nix/store/n8a1rwzrp20qcr2c4hvyn6c5q9zx8csw-nix-2.3";
-  x86_64-darwin = "/nix/store/jq6npmpld02sz4rgniz0qrsdfnm6j17a-nix-2.3";
+  x86_64-linux = "/nix/store/0q5qnh10m2sfrriszc1ysmggw659q6qm-nix-2.3.2";
+  i686-linux = "/nix/store/i7ad7r5d8a5b3l22hg4a1im2qq05y6vd-nix-2.3.2";
+  aarch64-linux = "/nix/store/bv06pavfw0dbqzr8w3l7s71nx27gnxa0-nix-2.3.2";
+  x86_64-darwin = "/nix/store/x6mnl1nij7y4v5ihlplr4k937ayr403r-nix-2.3.2";
 }
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl b/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl
index cfdbdaabf5c5..629c56814a16 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -335,6 +335,9 @@ if (@swaps) {
         next unless -e $swapFilename;
         my $dev = findStableDevPath $swapFilename;
         if ($swapType =~ "partition") {
+            # zram devices are more likely created by configuration.nix, so
+            # ignore them here
+            next if ($swapFilename =~ /^\/dev\/zram/);
             push @swapDevices, "{ device = \"$dev\"; }";
         } elsif ($swapType =~ "file") {
             # swap *files* are more likely specified in configuration.nix, so
@@ -498,7 +501,7 @@ if (-f $fb_modes_file && -r $fb_modes_file) {
     my $console_width = $1, my $console_height = $2;
     if ($console_width > 1920) {
         push @attrs, "# High-DPI console";
-        push @attrs, 'i18n.consoleFont = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";';
+        push @attrs, 'console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";';
     }
 }
 
@@ -563,6 +566,24 @@ $fsAndSwap
 ${\join "", (map { "  $_\n" } (uniq @attrs))}}
 EOF
 
+sub generateNetworkingDhcpConfig {
+    my $config = <<EOF;
+  # The global useDHCP flag is deprecated, therefore explicitly set to false here.
+  # Per-interface useDHCP will be mandatory in the future, so this generated config
+  # replicates the default behaviour.
+  networking.useDHCP = false;
+EOF
+
+    foreach my $path (glob "/sys/class/net/*") {
+        my $dev = basename($path);
+        if ($dev ne "lo") {
+            $config .= "  networking.interfaces.$dev.useDHCP = true;\n";
+        }
+    }
+
+    return $config;
+}
+
 
 if ($showHardwareConfig) {
     print STDOUT $hwConfig;
@@ -606,6 +627,8 @@ EOF
 EOF
         }
 
+        my $networkingDhcpConfig = generateNetworkingDhcpConfig();
+
         write_file($fn, <<EOF);
 @configuration@
 EOF
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-install.sh b/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
index 8685cb345e1e..a3ff3fe2c0c1 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
@@ -14,6 +14,8 @@ extraBuildFlags=()
 mountPoint=/mnt
 channelPath=
 system=
+verbosity=()
+buildLogs=
 
 while [ "$#" -gt 0 ]; do
     i="$1"; shift 1
@@ -55,6 +57,12 @@ while [ "$#" -gt 0 ]; do
         --debug)
             set -x
             ;;
+        -v*|--verbose)
+            verbosity+=("$i")
+            ;;
+        -L|--print-build-logs)
+            buildLogs="$i"
+            ;;
         *)
             echo "$0: unknown option \`$i'"
             exit 1
@@ -94,7 +102,7 @@ if [[ -z $system ]]; then
     outLink="$tmpdir/system"
     nix build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
         --extra-substituters "$sub" \
-        -f '<nixpkgs/nixos>' system -I "nixos-config=$NIXOS_CONFIG"
+        -f '<nixpkgs/nixos>' system -I "nixos-config=$NIXOS_CONFIG" ${verbosity[@]} ${buildLogs}
     system=$(readlink -f $outLink)
 fi
 
@@ -103,7 +111,7 @@ fi
 # a progress bar.
 nix-env --store "$mountPoint" "${extraBuildFlags[@]}" \
         --extra-substituters "$sub" \
-        -p $mountPoint/nix/var/nix/profiles/system --set "$system"
+        -p $mountPoint/nix/var/nix/profiles/system --set "$system" ${verbosity[@]}
 
 # Copy the NixOS/Nixpkgs sources to the target as the initial contents
 # of the NixOS channel.
@@ -115,7 +123,8 @@ if [[ -z $noChannelCopy ]]; then
         echo "copying channel..."
         mkdir -p $mountPoint/nix/var/nix/profiles/per-user/root
         nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \
-                -p $mountPoint/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet
+                -p $mountPoint/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \
+                ${verbosity[@]}
         install -m 0700 -d $mountPoint/root/.nix-defexpr
         ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defexpr/channels
     fi
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option.sh b/nixpkgs/nixos/modules/installer/tools/nixos-option.sh
deleted file mode 100644
index 4560e9c7403a..000000000000
--- a/nixpkgs/nixos/modules/installer/tools/nixos-option.sh
+++ /dev/null
@@ -1,327 +0,0 @@
-#! @shell@ -e
-
-# FIXME: rewrite this in a more suitable language.
-
-usage () {
-    exec man nixos-option
-    exit 1
-}
-
-#####################
-# Process Arguments #
-#####################
-
-xml=false
-verbose=false
-nixPath=""
-
-option=""
-exit_code=0
-
-argfun=""
-for arg; do
-  if test -z "$argfun"; then
-    case $arg in
-      -*)
-        sarg="$arg"
-        longarg=""
-        while test "$sarg" != "-"; do
-          case $sarg in
-            --*) longarg=$arg; sarg="--";;
-            -I) argfun="include_nixpath";;
-            -*) usage;;
-          esac
-          # remove the first letter option
-          sarg="-${sarg#??}"
-        done
-        ;;
-      *) longarg=$arg;;
-    esac
-    for larg in $longarg; do
-      case $larg in
-        --xml) xml=true;;
-        --verbose) verbose=true;;
-        --help) usage;;
-        -*) usage;;
-        *) if test -z "$option"; then
-             option="$larg"
-           else
-             usage
-           fi;;
-      esac
-    done
-  else
-    case $argfun in
-      set_*)
-        var=$(echo $argfun | sed 's,^set_,,')
-        eval $var=$arg
-        ;;
-      include_nixpath)
-        nixPath="-I $arg $nixPath"
-        ;;
-    esac
-    argfun=""
-  fi
-done
-
-if $verbose; then
-  set -x
-else
-  set +x
-fi
-
-#############################
-# Process the configuration #
-#############################
-
-evalNix(){
-  # disable `-e` flag, it's possible that the evaluation of `nix-instantiate` fails (e.g. due to broken pkgs)
-  set +e
-  result=$(nix-instantiate ${nixPath:+$nixPath} - --eval-only "$@" 2>&1)
-  exit_code=$?
-  set -e
-
-  if test $exit_code -eq 0; then
-      sed '/^warning: Nix search path/d' <<EOF
-$result
-EOF
-      return 0;
-  else
-      sed -n '
-  /^error/ { s/, at (string):[0-9]*:[0-9]*//; p; };
-  /^warning: Nix search path/ { p; };
-' >&2 <<EOF
-$result
-EOF
-    exit_code=1
-  fi
-}
-
-header="let
-  nixos = import <nixpkgs/nixos> {};
-  nixpkgs = import <nixpkgs> {};
-in with nixpkgs.lib;
-"
-
-# This function is used for converting the option definition path given by
-# the user into accessors for reaching the definition and the declaration
-# corresponding to this option.
-generateAccessors(){
-  if result=$(evalNix --strict --show-trace <<EOF
-$header
-
-let
-  path = "${option:+$option}";
-  pathList = splitString "." path;
-
-  walkOptions = attrsNames: result:
-    if attrsNames == [] then
-      result
-    else
-      let name = head attrsNames; rest = tail attrsNames; in
-      if isOption result.options then
-        walkOptions rest {
-          options = result.options.type.getSubOptions "";
-          opt = ''(\${result.opt}.type.getSubOptions "")'';
-          cfg = ''\${result.cfg}."\${name}"'';
-        }
-      else
-        walkOptions rest {
-          options = result.options.\${name};
-          opt = ''\${result.opt}."\${name}"'';
-          cfg = ''\${result.cfg}."\${name}"'';
-        }
-    ;
-
-  walkResult = (if path == "" then x: x else walkOptions pathList) {
-    options = nixos.options;
-    opt = ''nixos.options'';
-    cfg = ''nixos.config'';
-  };
-
-in
-  ''let option = \${walkResult.opt}; config = \${walkResult.cfg}; in''
-EOF
-)
-  then
-      echo $result
-  else
-      # In case of error we want to ignore the error message roduced by the
-      # script above, as it is iterating over each attribute, which does not
-      # produce a nice error message.  The following code is a fallback
-      # solution which is cause a nicer error message in the next
-      # evaluation.
-      echo "\"let option = nixos.options${option:+.$option}; config = nixos.config${option:+.$option}; in\""
-  fi
-}
-
-header="$header
-$(eval echo $(generateAccessors))
-"
-
-evalAttr(){
-  local prefix="$1"
-  local strict="$2"
-  local suffix="$3"
-
-  # If strict is set, then set it to "true".
-  test -n "$strict" && strict=true
-
-  evalNix ${strict:+--strict} <<EOF
-$header
-
-let
-  value = $prefix${suffix:+.$suffix};
-  strict = ${strict:-false};
-  cleanOutput = x: with nixpkgs.lib;
-    if isDerivation x then x.outPath
-    else if isFunction x then "<CODE>"
-    else if strict then
-      if isAttrs x then mapAttrs (n: cleanOutput) x
-      else if isList x then map cleanOutput x
-      else x
-    else x;
-in
-  cleanOutput value
-EOF
-}
-
-evalOpt(){
-  evalAttr "option" "" "$@"
-}
-
-evalCfg(){
-  local strict="$1"
-  evalAttr "config" "$strict"
-}
-
-findSources(){
-  local suffix=$1
-  evalNix --strict <<EOF
-$header
-
-option.$suffix
-EOF
-}
-
-# Given a result from nix-instantiate, recover the list of attributes it
-# contains.
-attrNames() {
-  local attributeset=$1
-  # sed is used to replace un-printable subset by 0s, and to remove most of
-  # the inner-attribute set, which reduce the likelyhood to encounter badly
-  # pre-processed input.
-  echo "builtins.attrNames $attributeset" | \
-    sed 's,<[A-Z]*>,0,g; :inner; s/{[^\{\}]*};/0;/g; t inner;' | \
-    evalNix --strict
-}
-
-# map a simple list which contains strings or paths.
-nixMap() {
-  local fun="$1"
-  local list="$2"
-  local elem
-  for elem in $list; do
-    test $elem = '[' -o $elem = ']' && continue;
-    $fun $elem
-  done
-}
-
-# This duplicates the work made below, but it is useful for processing
-# the output of nixos-option with other tools such as nixos-gui.
-if $xml; then
-  evalNix --xml --no-location <<EOF
-$header
-
-let
-  sources = builtins.map (f: f.source);
-  opt = option;
-  cfg = config;
-in
-
-with nixpkgs.lib;
-
-let
-  optStrict = v:
-    let
-      traverse = x :
-        if isAttrs x then
-          if x ? outPath then true
-          else all id (mapAttrsFlatten (n: traverseNoAttrs) x)
-        else traverseNoAttrs x;
-      traverseNoAttrs = x:
-        # do not continue in attribute sets
-        if isAttrs x then true
-        else if isList x then all id (map traverse x)
-        else true;
-    in assert traverse v; v;
-in
-
-if isOption opt then
-  optStrict ({}
-  // optionalAttrs (opt ? default) { inherit (opt) default; }
-  // optionalAttrs (opt ? example) { inherit (opt) example; }
-  // optionalAttrs (opt ? description) { inherit (opt) description; }
-  // optionalAttrs (opt ? type) { typename = opt.type.description; }
-  // optionalAttrs (opt ? options) { inherit (opt) options; }
-  // {
-    # to disambiguate the xml output.
-    _isOption = true;
-    declarations = sources opt.declarations;
-    definitions = sources opt.definitions;
-    value = cfg;
-  })
-else
-  opt
-EOF
-  exit $?
-fi
-
-if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then
-  echo "Value:"
-  evalCfg 1
-
-  echo
-
-  echo "Default:"
-  if default=$(evalOpt "default" - 2> /dev/null); then
-    echo "$default"
-  else
-    echo "<None>"
-  fi
-  echo
-  if example=$(evalOpt "example" - 2> /dev/null); then
-    echo "Example:"
-    echo "$example"
-    echo
-  fi
-  echo "Description:"
-  echo
-  echo $(evalOpt "description")
-
-  echo $desc;
-
-  printPath () { echo "  $1"; }
-
-  echo "Declared by:"
-  nixMap printPath "$(findSources "declarations")"
-  echo
-  echo "Defined by:"
-  nixMap printPath "$(findSources "files")"
-  echo
-
-else
-  # echo 1>&2 "Warning: This value is not an option."
-
-  result=$(evalCfg "")
-  if [ ! -z "$result" ]; then
-    names=$(attrNames "$result" 2> /dev/null)
-    echo 1>&2 "This attribute set contains:"
-    escapeQuotes () { eval echo "$1"; }
-    nixMap escapeQuotes "$names"
-  else
-    echo 1>&2 "An error occurred while looking for attribute names. Are you sure that '$option' exists?"
-  fi
-fi
-
-exit $exit_code
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option/CMakeLists.txt b/nixpkgs/nixos/modules/installer/tools/nixos-option/CMakeLists.txt
new file mode 100644
index 000000000000..e5834598c4fd
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-option/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required (VERSION 2.6)
+project (nixos-option)
+
+add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc)
+target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil)
+target_compile_features(nixos-option PRIVATE cxx_std_17)
+
+install (TARGETS nixos-option DESTINATION bin)
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option/default.nix b/nixpkgs/nixos/modules/installer/tools/nixos-option/default.nix
new file mode 100644
index 000000000000..753fd92c7bbf
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-option/default.nix
@@ -0,0 +1,11 @@
+{lib, stdenv, boost, cmake, pkgconfig, nix, ... }:
+stdenv.mkDerivation rec {
+  name = "nixos-option";
+  src = ./.;
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ boost nix ];
+  meta = {
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = with lib.maintainers; [ chkno ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc b/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc
new file mode 100644
index 000000000000..875c07da6399
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc
@@ -0,0 +1,83 @@
+// These are useful methods inside the nix library that ought to be exported.
+// Since they are not, copy/paste them here.
+// TODO: Delete these and use the ones in the library as they become available.
+
+#include <nix/config.h> // for nix/globals.hh's reference to SYSTEM
+
+#include "libnix-copy-paste.hh"
+#include <boost/format/alt_sstream.hpp>           // for basic_altstringbuf...
+#include <boost/format/alt_sstream_impl.hpp>      // for basic_altstringbuf...
+#include <boost/format/format_class.hpp>          // for basic_format
+#include <boost/format/format_fwd.hpp>            // for format
+#include <boost/format/format_implementation.hpp> // for basic_format::basi...
+#include <boost/optional/optional.hpp>            // for get_pointer
+#include <iostream>                               // for operator<<, basic_...
+#include <nix/types.hh>                           // for Strings, Error
+#include <string>                                 // for string, basic_string
+
+using boost::format;
+using nix::Error;
+using nix::Strings;
+using std::string;
+
+// From nix/src/libexpr/attr-path.cc
+Strings parseAttrPath(const string & s)
+{
+    Strings res;
+    string cur;
+    string::const_iterator i = s.begin();
+    while (i != s.end()) {
+        if (*i == '.') {
+            res.push_back(cur);
+            cur.clear();
+        } else if (*i == '"') {
+            ++i;
+            while (1) {
+                if (i == s.end())
+                    throw Error(format("missing closing quote in selection path '%1%'") % s);
+                if (*i == '"')
+                    break;
+                cur.push_back(*i++);
+            }
+        } else
+            cur.push_back(*i);
+        ++i;
+    }
+    if (!cur.empty())
+        res.push_back(cur);
+    return res;
+}
+
+// From nix/src/nix/repl.cc
+bool isVarName(const string & s)
+{
+    if (s.size() == 0)
+        return false;
+    char c = s[0];
+    if ((c >= '0' && c <= '9') || c == '-' || c == '\'')
+        return false;
+    for (auto & i : s)
+        if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' ||
+              i == '\''))
+            return false;
+    return true;
+}
+
+// From nix/src/nix/repl.cc
+std::ostream & printStringValue(std::ostream & str, const char * string)
+{
+    str << "\"";
+    for (const char * i = string; *i; i++)
+        if (*i == '\"' || *i == '\\')
+            str << "\\" << *i;
+        else if (*i == '\n')
+            str << "\\n";
+        else if (*i == '\r')
+            str << "\\r";
+        else if (*i == '\t')
+            str << "\\t";
+        else
+            str << *i;
+    str << "\"";
+    return str;
+}
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh b/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh
new file mode 100644
index 000000000000..2274e9a0f853
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <iostream>
+#include <nix/types.hh>
+#include <string>
+
+nix::Strings parseAttrPath(const std::string & s);
+bool isVarName(const std::string & s);
+std::ostream & printStringValue(std::ostream & str, const char * string);
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixpkgs/nixos/modules/installer/tools/nixos-option/nixos-option.cc
new file mode 100644
index 000000000000..9b92dc829cd1
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-option/nixos-option.cc
@@ -0,0 +1,618 @@
+#include <nix/config.h> // for nix/globals.hh's reference to SYSTEM
+
+#include <exception>               // for exception_ptr, current_exception
+#include <functional>              // for function
+#include <iostream>                // for operator<<, basic_ostream, ostrin...
+#include <iterator>                // for next
+#include <list>                    // for _List_iterator
+#include <memory>                  // for allocator, unique_ptr, make_unique
+#include <new>                     // for operator new
+#include <nix/args.hh>             // for argvToStrings, UsageError
+#include <nix/attr-path.hh>        // for findAlongAttrPath
+#include <nix/attr-set.hh>         // for Attr, Bindings, Bindings::iterator
+#include <nix/common-eval-args.hh> // for MixEvalArgs
+#include <nix/eval-inline.hh>      // for EvalState::forceValue
+#include <nix/eval.hh>             // for EvalState, initGC, operator<<
+#include <nix/globals.hh>          // for initPlugins, Settings, settings
+#include <nix/nixexpr.hh>          // for Pos
+#include <nix/shared.hh>           // for getArg, LegacyArgs, printVersion
+#include <nix/store-api.hh>        // for openStore
+#include <nix/symbol-table.hh>     // for Symbol, SymbolTable
+#include <nix/types.hh>            // for Error, Path, Strings, PathSet
+#include <nix/util.hh>             // for absPath, baseNameOf
+#include <nix/value.hh>            // for Value, Value::(anonymous), Value:...
+#include <string>                  // for string, operator+, operator==
+#include <utility>                 // for move
+#include <variant>                 // for get, holds_alternative, variant
+#include <vector>                  // for vector<>::iterator, vector
+
+#include "libnix-copy-paste.hh"
+
+using nix::absPath;
+using nix::Bindings;
+using nix::Error;
+using nix::EvalError;
+using nix::EvalState;
+using nix::Path;
+using nix::PathSet;
+using nix::Strings;
+using nix::Symbol;
+using nix::tAttrs;
+using nix::ThrownError;
+using nix::tLambda;
+using nix::tString;
+using nix::UsageError;
+using nix::Value;
+
+// An ostream wrapper to handle nested indentation
+class Out
+{
+  public:
+    class Separator
+    {};
+    const static Separator sep;
+    enum LinePolicy
+    {
+        ONE_LINE,
+        MULTI_LINE
+    };
+    explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), writeSinceSep(true) {}
+    Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy);
+    Out(Out & o, const std::string & start, const std::string & end, int count)
+        : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE)
+    {}
+    Out(const Out &) = delete;
+    Out(Out &&) = default;
+    Out & operator=(const Out &) = delete;
+    Out & operator=(Out &&) = delete;
+    ~Out() { ostream << end; }
+
+  private:
+    std::ostream & ostream;
+    std::string indentation;
+    std::string end;
+    LinePolicy policy;
+    bool writeSinceSep;
+    template <typename T> friend Out & operator<<(Out & o, T thing);
+};
+
+template <typename T> Out & operator<<(Out & o, T thing)
+{
+    if (!o.writeSinceSep && o.policy == Out::MULTI_LINE) {
+        o.ostream << o.indentation;
+    }
+    o.writeSinceSep = true;
+    o.ostream << thing;
+    return o;
+}
+
+template <> Out & operator<<<Out::Separator>(Out & o, Out::Separator /* thing */)
+{
+    o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n");
+    o.writeSinceSep = false;
+    return o;
+}
+
+Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy)
+    : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + "  "),
+      end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), writeSinceSep(true)
+{
+    o << start;
+    *this << Out::sep;
+}
+
+// Stuff needed for evaluation
+struct Context
+{
+    Context(EvalState & state, Bindings & autoArgs, Value optionsRoot, Value configRoot)
+        : state(state), autoArgs(autoArgs), optionsRoot(optionsRoot), configRoot(configRoot),
+          underscoreType(state.symbols.create("_type"))
+    {}
+    EvalState & state;
+    Bindings & autoArgs;
+    Value optionsRoot;
+    Value configRoot;
+    Symbol underscoreType;
+};
+
+Value evaluateValue(Context & ctx, Value & v)
+{
+    ctx.state.forceValue(v);
+    if (ctx.autoArgs.empty()) {
+        return v;
+    }
+    Value called{};
+    ctx.state.autoCallFunction(ctx.autoArgs, v, called);
+    return called;
+}
+
+bool isOption(Context & ctx, const Value & v)
+{
+    if (v.type != tAttrs) {
+        return false;
+    }
+    const auto & atualType = v.attrs->find(ctx.underscoreType);
+    if (atualType == v.attrs->end()) {
+        return false;
+    }
+    try {
+        Value evaluatedType = evaluateValue(ctx, *atualType->value);
+        if (evaluatedType.type != tString) {
+            return false;
+        }
+        return static_cast<std::string>(evaluatedType.string.s) == "option";
+    } catch (Error &) {
+        return false;
+    }
+}
+
+// Add quotes to a component of a path.
+// These are needed for paths like:
+//    fileSystems."/".fsType
+//    systemd.units."dbus.service".text
+std::string quoteAttribute(const std::string & attribute)
+{
+    if (isVarName(attribute)) {
+        return attribute;
+    }
+    std::ostringstream buf;
+    printStringValue(buf, attribute.c_str());
+    return buf.str();
+}
+
+const std::string appendPath(const std::string & prefix, const std::string & suffix)
+{
+    if (prefix.empty()) {
+        return quoteAttribute(suffix);
+    }
+    return prefix + "." + quoteAttribute(suffix);
+}
+
+bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; }
+
+void recurse(const std::function<bool(const std::string & path, std::variant<Value, std::exception_ptr>)> & f,
+             Context & ctx, Value v, const std::string & path)
+{
+    std::variant<Value, std::exception_ptr> evaluated;
+    try {
+        evaluated = evaluateValue(ctx, v);
+    } catch (Error &) {
+        evaluated = std::current_exception();
+    }
+    if (!f(path, evaluated)) {
+        return;
+    }
+    if (std::holds_alternative<std::exception_ptr>(evaluated)) {
+        return;
+    }
+    const Value & evaluated_value = std::get<Value>(evaluated);
+    if (evaluated_value.type != tAttrs) {
+        return;
+    }
+    for (const auto & child : evaluated_value.attrs->lexicographicOrder()) {
+        if (forbiddenRecursionName(child->name)) {
+            continue;
+        }
+        recurse(f, ctx, *child->value, appendPath(path, child->name));
+    }
+}
+
+// Calls f on all the option names
+void mapOptions(const std::function<void(const std::string & path)> & f, Context & ctx, Value root)
+{
+    recurse(
+        [f, &ctx](const std::string & path, std::variant<Value, std::exception_ptr> v) {
+            bool isOpt = std::holds_alternative<std::exception_ptr>(v) || isOption(ctx, std::get<Value>(v));
+            if (isOpt) {
+                f(path);
+            }
+            return !isOpt;
+        },
+        ctx, root, "");
+}
+
+// Calls f on all the config values inside one option.
+// Simple options have one config value inside, like sound.enable = true.
+// Compound options have multiple config values.  For example, the option
+// "users.users" has about 1000 config values inside it:
+//   users.users.avahi.createHome = false;
+//   users.users.avahi.cryptHomeLuks = null;
+//   users.users.avahi.description = "`avahi-daemon' privilege separation user";
+//   ...
+//   users.users.avahi.openssh.authorizedKeys.keyFiles = [ ];
+//   users.users.avahi.openssh.authorizedKeys.keys = [ ];
+//   ...
+//   users.users.avahi.uid = 10;
+//   users.users.avahi.useDefaultShell = false;
+//   users.users.cups.createHome = false;
+//   ...
+//   users.users.cups.useDefaultShell = false;
+//   users.users.gdm = ... ... ...
+//   users.users.messagebus = ... .. ...
+//   users.users.nixbld1 = ... .. ...
+//   ...
+//   users.users.systemd-timesync = ... .. ...
+void mapConfigValuesInOption(
+    const std::function<void(const std::string & path, std::variant<Value, std::exception_ptr> v)> & f,
+    const std::string & path, Context & ctx)
+{
+    Value * option;
+    try {
+        option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.configRoot);
+    } catch (Error &) {
+        f(path, std::current_exception());
+        return;
+    }
+    recurse(
+        [f, ctx](const std::string & path, std::variant<Value, std::exception_ptr> v) {
+            bool leaf = std::holds_alternative<std::exception_ptr>(v) || std::get<Value>(v).type != tAttrs ||
+                        ctx.state.isDerivation(std::get<Value>(v));
+            if (!leaf) {
+                return true; // Keep digging
+            }
+            f(path, v);
+            return false;
+        },
+        ctx, *option, path);
+}
+
+std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"; }
+
+void describeDerivation(Context & ctx, Out & out, Value v)
+{
+    // Copy-pasted from nix/src/nix/repl.cc  :(
+    Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath);
+    PathSet pathset;
+    try {
+        Path drvPath = i != v.attrs->end() ? ctx.state.coerceToPath(*i->pos, *i->value, pathset) : "???";
+        out << "«derivation " << drvPath << "»";
+    } catch (Error & e) {
+        out << describeError(e);
+    }
+}
+
+Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path)
+{
+    Value v{};
+    state.eval(state.parseExprFromString(expression, absPath(path)), v);
+    return v;
+}
+
+void printValue(Context & ctx, Out & out, std::variant<Value, std::exception_ptr> maybeValue, const std::string & path);
+
+void printList(Context & ctx, Out & out, Value & v)
+{
+    Out listOut(out, "[", "]", v.listSize());
+    for (unsigned int n = 0; n < v.listSize(); ++n) {
+        printValue(ctx, listOut, *v.listElems()[n], "");
+        listOut << Out::sep;
+    }
+}
+
+void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path)
+{
+    Out attrsOut(out, "{", "}", v.attrs->size());
+    for (const auto & a : v.attrs->lexicographicOrder()) {
+        std::string name = a->name;
+        attrsOut << name << " = ";
+        printValue(ctx, attrsOut, *a->value, appendPath(path, name));
+        attrsOut << ";" << Out::sep;
+    }
+}
+
+void multiLineStringEscape(Out & out, const std::string & s)
+{
+    int i;
+    for (i = 1; i < s.size(); i++) {
+        if (s[i - 1] == '$' && s[i] == '{') {
+            out << "''${";
+            i++;
+        } else if (s[i - 1] == '\'' && s[i] == '\'') {
+            out << "'''";
+            i++;
+        } else {
+            out << s[i - 1];
+        }
+    }
+    if (i == s.size()) {
+        out << s[i - 1];
+    }
+}
+
+void printMultiLineString(Out & out, const Value & v)
+{
+    std::string s = v.string.s;
+    Out strOut(out, "''", "''", Out::MULTI_LINE);
+    std::string::size_type begin = 0;
+    while (begin < s.size()) {
+        std::string::size_type end = s.find('\n', begin);
+        if (end == std::string::npos) {
+            multiLineStringEscape(strOut, s.substr(begin, s.size() - begin));
+            break;
+        }
+        multiLineStringEscape(strOut, s.substr(begin, end - begin));
+        strOut << Out::sep;
+        begin = end + 1;
+    }
+}
+
+void printValue(Context & ctx, Out & out, std::variant<Value, std::exception_ptr> maybeValue, const std::string & path)
+{
+    try {
+        if (auto ex = std::get_if<std::exception_ptr>(&maybeValue)) {
+            std::rethrow_exception(*ex);
+        }
+        Value v = evaluateValue(ctx, std::get<Value>(maybeValue));
+        if (ctx.state.isDerivation(v)) {
+            describeDerivation(ctx, out, v);
+        } else if (v.isList()) {
+            printList(ctx, out, v);
+        } else if (v.type == tAttrs) {
+            printAttrs(ctx, out, v, path);
+        } else if (v.type == tString && std::string(v.string.s).find('\n') != std::string::npos) {
+            printMultiLineString(out, v);
+        } else {
+            ctx.state.forceValueDeep(v);
+            out << v;
+        }
+    } catch (ThrownError & e) {
+        if (e.msg() == "The option `" + path + "' is used but not defined.") {
+            // 93% of errors are this, and just letting this message through would be
+            // misleading.  These values may or may not actually be "used" in the
+            // config.  The thing throwing the error message assumes that if anything
+            // ever looks at this value, it is a "use" of this value.  But here in
+            // nixos-option, we are looking at this value only to print it.
+            // In order to avoid implying that this undefined value is actually
+            // referenced, eat the underlying error message and emit "«not defined»".
+            out << "«not defined»";
+        } else {
+            out << describeError(e);
+        }
+    } catch (Error & e) {
+        out << describeError(e);
+    }
+}
+
+void printConfigValue(Context & ctx, Out & out, const std::string & path, std::variant<Value, std::exception_ptr> v)
+{
+    out << path << " = ";
+    printValue(ctx, out, std::move(v), path);
+    out << ";\n";
+}
+
+void printAll(Context & ctx, Out & out)
+{
+    mapOptions(
+        [&ctx, &out](const std::string & optionPath) {
+            mapConfigValuesInOption(
+                [&ctx, &out](const std::string & configPath, std::variant<Value, std::exception_ptr> v) {
+                    printConfigValue(ctx, out, configPath, v);
+                },
+                optionPath, ctx);
+        },
+        ctx, ctx.optionsRoot);
+}
+
+void printAttr(Context & ctx, Out & out, const std::string & path, Value & root)
+{
+    try {
+        printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, root), path);
+    } catch (Error & e) {
+        out << describeError(e);
+    }
+}
+
+bool hasExample(Context & ctx, Value & option)
+{
+    try {
+        findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option);
+        return true;
+    } catch (Error &) {
+        return false;
+    }
+}
+
+void printOption(Context & ctx, Out & out, const std::string & path, Value & option)
+{
+    out << "Value:\n";
+    printAttr(ctx, out, path, ctx.configRoot);
+
+    out << "\n\nDefault:\n";
+    printAttr(ctx, out, "default", option);
+
+    out << "\n\nType:\n";
+    printAttr(ctx, out, "type.description", option);
+
+    if (hasExample(ctx, option)) {
+        out << "\n\nExample:\n";
+        printAttr(ctx, out, "example", option);
+    }
+
+    out << "\n\nDescription:\n";
+    printAttr(ctx, out, "description", option);
+
+    out << "\n\nDeclared by:\n";
+    printAttr(ctx, out, "declarations", option);
+
+    out << "\n\nDefined by:\n";
+    printAttr(ctx, out, "files", option);
+    out << "\n";
+}
+
+void printListing(Out & out, Value & v)
+{
+    out << "This attribute set contains:\n";
+    for (const auto & a : v.attrs->lexicographicOrder()) {
+        std::string name = a->name;
+        if (!name.empty() && name[0] != '_') {
+            out << name << "\n";
+        }
+    }
+}
+
+bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType)
+{
+    try {
+        const auto & typeLookup = v.attrs->find(ctx.state.sType);
+        if (typeLookup == v.attrs->end()) {
+            return false;
+        }
+        Value type = evaluateValue(ctx, *typeLookup->value);
+        if (type.type != tAttrs) {
+            return false;
+        }
+        const auto & nameLookup = type.attrs->find(ctx.state.sName);
+        if (nameLookup == type.attrs->end()) {
+            return false;
+        }
+        Value name = evaluateValue(ctx, *nameLookup->value);
+        if (name.type != tString) {
+            return false;
+        }
+        return name.string.s == soughtType;
+    } catch (Error &) {
+        return false;
+    }
+}
+
+bool isAggregateOptionType(Context & ctx, Value & v)
+{
+    return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf") || optionTypeIs(ctx, v, "loaOf");
+}
+
+MakeError(OptionPathError, EvalError);
+
+Value getSubOptions(Context & ctx, Value & option)
+{
+    Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option));
+    if (getSubOptions.type != tLambda) {
+        throw OptionPathError("Option's type.getSubOptions isn't a function");
+    }
+    Value emptyString{};
+    nix::mkString(emptyString, "");
+    Value v;
+    ctx.state.callFunction(getSubOptions, emptyString, v, nix::Pos{});
+    return v;
+}
+
+// Carefully walk an option path, looking for sub-options when a path walks past
+// an option value.
+Value findAlongOptionPath(Context & ctx, const std::string & path)
+{
+    Strings tokens = parseAttrPath(path);
+    Value v = ctx.optionsRoot;
+    for (auto i = tokens.begin(); i != tokens.end(); i++) {
+        const auto & attr = *i;
+        try {
+            bool lastAttribute = std::next(i) == tokens.end();
+            v = evaluateValue(ctx, v);
+            if (attr.empty()) {
+                throw OptionPathError("empty attribute name");
+            }
+            if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) {
+                v = getSubOptions(ctx, v);
+            }
+            if (isOption(ctx, v) && isAggregateOptionType(ctx, v) && !lastAttribute) {
+                v = getSubOptions(ctx, v);
+                // Note that we've consumed attr, but didn't actually use it.  This is the path component that's looked
+                // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name".
+            } else if (v.type != tAttrs) {
+                throw OptionPathError("Value is %s while a set was expected", showType(v));
+            } else {
+                const auto & next = v.attrs->find(ctx.state.symbols.create(attr));
+                if (next == v.attrs->end()) {
+                    throw OptionPathError("Attribute not found", attr, path);
+                }
+                v = *next->value;
+            }
+        } catch (OptionPathError & e) {
+            throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg());
+        }
+    }
+    return v;
+}
+
+void printOne(Context & ctx, Out & out, const std::string & path)
+{
+    try {
+        Value option = findAlongOptionPath(ctx, path);
+        option = evaluateValue(ctx, option);
+        if (isOption(ctx, option)) {
+            printOption(ctx, out, path, option);
+        } else {
+            printListing(out, option);
+        }
+    } catch (Error & e) {
+        std::cerr << "error: " << e.msg()
+                  << "\nAn error occurred while looking for attribute names. Are "
+                     "you sure that '"
+                  << path << "' exists?\n";
+    }
+}
+
+int main(int argc, char ** argv)
+{
+    bool all = false;
+    std::string path = ".";
+    std::string optionsExpr = "(import <nixpkgs/nixos> {}).options";
+    std::string configExpr = "(import <nixpkgs/nixos> {}).config";
+    std::vector<std::string> args;
+
+    struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs
+    {
+        using nix::LegacyArgs::LegacyArgs;
+    };
+
+    MyArgs myArgs(nix::baseNameOf(argv[0]), [&](Strings::iterator & arg, const Strings::iterator & end) {
+        if (*arg == "--help") {
+            nix::showManPage("nixos-option");
+        } else if (*arg == "--version") {
+            nix::printVersion("nixos-option");
+        } else if (*arg == "--all") {
+            all = true;
+        } else if (*arg == "--path") {
+            path = nix::getArg(*arg, arg, end);
+        } else if (*arg == "--options_expr") {
+            optionsExpr = nix::getArg(*arg, arg, end);
+        } else if (*arg == "--config_expr") {
+            configExpr = nix::getArg(*arg, arg, end);
+        } else if (!arg->empty() && arg->at(0) == '-') {
+            return false;
+        } else {
+            args.push_back(*arg);
+        }
+        return true;
+    });
+
+    myArgs.parseCmdline(nix::argvToStrings(argc, argv));
+
+    nix::initPlugins();
+    nix::initGC();
+    nix::settings.readOnlyMode = true;
+    auto store = nix::openStore();
+    auto state = std::make_unique<EvalState>(myArgs.searchPath, store);
+
+    Value optionsRoot = parseAndEval(*state, optionsExpr, path);
+    Value configRoot = parseAndEval(*state, configExpr, path);
+
+    Context ctx{*state, *myArgs.getAutoArgs(*state), optionsRoot, configRoot};
+    Out out(std::cout);
+
+    if (all) {
+        if (!args.empty()) {
+            throw UsageError("--all cannot be used with arguments");
+        }
+        printAll(ctx, out);
+    } else {
+        if (args.empty()) {
+            printOne(ctx, out, "");
+        }
+        for (const auto & arg : args) {
+            printOne(ctx, out, arg);
+        }
+    }
+
+    ctx.state.printStats();
+
+    return 0;
+}
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh b/nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh
index 6a08c9b4c6c6..c53dc1000c4a 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -22,6 +22,7 @@ repair=
 profile=/nix/var/nix/profiles/system
 buildHost=
 targetHost=
+maybeSudo=
 
 while [ "$#" -gt 0 ]; do
     i="$1"; shift 1
@@ -89,6 +90,11 @@ while [ "$#" -gt 0 ]; do
         targetHost="$1"
         shift 1
         ;;
+      --use-remote-sudo)
+        # note the trailing space
+        maybeSudo="sudo "
+        shift 1
+        ;;
       *)
         echo "$0: unknown option \`$i'"
         exit 1
@@ -96,7 +102,6 @@ while [ "$#" -gt 0 ]; do
     esac
 done
 
-
 if [ -z "$buildHost" -a -n "$targetHost" ]; then
     buildHost="$targetHost"
 fi
@@ -111,9 +116,9 @@ buildHostCmd() {
     if [ -z "$buildHost" ]; then
         "$@"
     elif [ -n "$remoteNix" ]; then
-        ssh $SSHOPTS "$buildHost" PATH="$remoteNix:$PATH" "$@"
+        ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "$maybeSudo$@"
     else
-        ssh $SSHOPTS "$buildHost" "$@"
+        ssh $SSHOPTS "$buildHost" "$maybeSudo$@"
     fi
 }
 
@@ -121,7 +126,7 @@ targetHostCmd() {
     if [ -z "$targetHost" ]; then
         "$@"
     else
-        ssh $SSHOPTS "$targetHost" "$@"
+        ssh $SSHOPTS "$targetHost" "$maybeSudo$@"
     fi
 }
 
diff --git a/nixpkgs/nixos/modules/installer/tools/tools.nix b/nixpkgs/nixos/modules/installer/tools/tools.nix
index 05add59117d1..e4db39b5c810 100644
--- a/nixpkgs/nixos/modules/installer/tools/tools.nix
+++ b/nixpkgs/nixos/modules/installer/tools/tools.nix
@@ -41,10 +41,7 @@ let
     inherit (config.system.nixos-generate-config) configuration;
   };
 
-  nixos-option = makeProg {
-    name = "nixos-option";
-    src = ./nixos-option.sh;
-  };
+  nixos-option = pkgs.callPackage ./nixos-option { };
 
   nixos-version = makeProg {
     name = "nixos-version";
@@ -96,6 +93,7 @@ in
         # networking.hostName = "nixos"; # Define your hostname.
         # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 
+      $networkingDhcpConfig
         # Configure network proxy if necessary
         # networking.proxy.default = "http://user:password\@proxy:port/";
         # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
@@ -119,7 +117,11 @@ in
         # Some programs need SUID wrappers, can be configured further or are
         # started in user sessions.
         # programs.mtr.enable = true;
-        # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
+        # programs.gnupg.agent = {
+        #   enable = true;
+        #   enableSSHSupport = true;
+        #   pinentryFlavor = "gnome3";
+        # };
 
         # List services that you want to enable:
 
diff --git a/nixpkgs/nixos/modules/misc/documentation.nix b/nixpkgs/nixos/modules/misc/documentation.nix
index deecb005270f..d09afadd6097 100644
--- a/nixpkgs/nixos/modules/misc/documentation.nix
+++ b/nixpkgs/nixos/modules/misc/documentation.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, baseModules, extraModules, modules, ... }:
+{ config, lib, pkgs, baseModules, extraModules, modules, modulesPath, ... }:
 
 with lib;
 
@@ -22,7 +22,10 @@ let
         scrubbedEval = evalModules {
           modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ manualModules;
           args = (config._module.args) // { modules = [ ]; };
-          specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
+          specialArgs = {
+            pkgs = scrubDerivations "pkgs" pkgs;
+            inherit modulesPath;
+          };
         };
         scrubDerivations = namePrefix: pkgSet: mapAttrs
           (name: value:
@@ -67,6 +70,11 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
+    (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
+    (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/misc/ids.nix b/nixpkgs/nixos/modules/misc/ids.nix
index 14d162540fe7..0218855198ac 100644
--- a/nixpkgs/nixos/modules/misc/ids.nix
+++ b/nixpkgs/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;
     };
 
   };
@@ -75,8 +80,8 @@
       #kdm = 39; # dropped in 17.03
       #ghostone = 40; # dropped in 18.03
       git = 41;
-      fourstore = 42;
-      fourstorehttp = 43;
+      #fourstore = 42; # dropped in 20.03
+      #fourstorehttp = 43; # dropped in 20.03
       virtuoso = 44;
       rtkit = 45;
       dovecot2 = 46;
@@ -128,7 +133,7 @@
       tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
       firebird = 95;
       #keys = 96; # unused
-      haproxy = 97;
+      #haproxy = 97; # DynamicUser as of 2019-11-08
       mongodb = 98;
       openldap = 99;
       #users = 100; # unused
@@ -328,7 +333,7 @@
       qemu-libvirtd = 301;
       # kvm = 302; # unused
       # render = 303; # unused
-      zeronet = 304;
+      # zeronet = 304; # removed 2019-01-03
       lirc = 305;
       lidarr = 306;
       slurm = 307;
@@ -443,7 +448,7 @@
       #tcpcryptd = 93; # unused
       firebird = 95;
       keys = 96;
-      haproxy = 97;
+      #haproxy = 97; # DynamicUser as of 2019-11-08
       #mongodb = 98; # unused
       openldap = 99;
       munin = 102;
@@ -629,7 +634,7 @@
       qemu-libvirtd = 301;
       kvm = 302; # default udev rules from systemd requires these
       render = 303; # default udev rules from systemd requires these
-      zeronet = 304;
+      # zeronet = 304; # removed 2019-01-03
       lirc = 305;
       lidarr = 306;
       slurm = 307;
diff --git a/nixpkgs/nixos/modules/misc/locate.nix b/nixpkgs/nixos/modules/misc/locate.nix
index 449149e4bb65..552535c253e6 100644
--- a/nixpkgs/nixos/modules/misc/locate.nix
+++ b/nixpkgs/nixos/modules/misc/locate.nix
@@ -7,6 +7,11 @@ let
   isMLocate = hasPrefix "mlocate" cfg.locate.name;
   isFindutils = hasPrefix "findutils" cfg.locate.name;
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
+    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
+  ];
+
   options.services.locate = with types; {
     enable = mkOption {
       type = bool;
@@ -128,7 +133,10 @@ in {
 
     # directory creation needs to be separated from main service
     # because ReadWritePaths fails when the directory doesn't already exist
-    systemd.tmpfiles.rules = [ "d ${dirOf cfg.output} 0755 root root -" ];
+    systemd.tmpfiles.rules =
+      let dir = dirOf cfg.output; in
+      mkIf (dir != "/var/cache")
+        [ "d ${dir} 0755 root root -" ];
 
     systemd.services.update-locatedb =
       { description = "Update Locate Database";
diff --git a/nixpkgs/nixos/modules/misc/version.nix b/nixpkgs/nixos/modules/misc/version.nix
index 773724ffbd5e..0540b493003f 100644
--- a/nixpkgs/nixos/modules/misc/version.nix
+++ b/nixpkgs/nixos/modules/misc/version.nix
@@ -10,6 +10,12 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
+    (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
+    (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
+    (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
+  ];
 
   options.system = {
 
@@ -92,7 +98,7 @@ in
         VERSION="${cfg.version} (${cfg.codeName})"
         VERSION_CODENAME=${toLower cfg.codeName}
         VERSION_ID="${cfg.version}"
-        PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})"
+        PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
         LOGO="nix-snowflake"
         HOME_URL="https://nixos.org/"
         DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html"
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index 46a8232dc8e0..105c86c6ba52 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -1,9 +1,7 @@
 [
   ./config/debug-info.nix
-  ./config/fonts/corefonts.nix
   ./config/fonts/fontconfig.nix
   ./config/fonts/fontconfig-penultimate.nix
-  ./config/fonts/fontconfig-ultimate.nix
   ./config/fonts/fontdir.nix
   ./config/fonts/fonts.nix
   ./config/fonts/ghostscript.nix
@@ -13,6 +11,7 @@
   ./config/xdg/mime.nix
   ./config/xdg/portal.nix
   ./config/appstream.nix
+  ./config/console.nix
   ./config/xdg/sounds.nix
   ./config/gtk/gtk-icon-cache.nix
   ./config/gnu.nix
@@ -37,13 +36,13 @@
   ./config/terminfo.nix
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
-  ./config/vpnc.nix
   ./config/vte.nix
   ./config/zram.nix
   ./hardware/acpilight.nix
   ./hardware/all-firmware.nix
   ./hardware/bladeRF.nix
   ./hardware/brightnessctl.nix
+  ./hardware/brillo.nix
   ./hardware/ckb-next.nix
   ./hardware/cpu/amd-microcode.nix
   ./hardware/cpu/intel-microcode.nix
@@ -96,9 +95,9 @@
   ./programs/adb.nix
   ./programs/atop.nix
   ./programs/autojump.nix
+  ./programs/bandwhich.nix
   ./programs/bash/bash.nix
   ./programs/bcc.nix
-  ./programs/blcr.nix
   ./programs/browserpass.nix
   ./programs/captive-browser.nix
   ./programs/ccache.nix
@@ -143,7 +142,6 @@
   ./programs/seahorse.nix
   ./programs/slock.nix
   ./programs/shadow.nix
-  ./programs/shell.nix
   ./programs/spacefm.nix
   ./programs/singularity.nix
   ./programs/ssh.nix
@@ -229,6 +227,7 @@
   ./services/backup/rsnapshot.nix
   ./services/backup/tarsnap.nix
   ./services/backup/tsm.nix
+  ./services/backup/zfs-replication.nix
   ./services/backup/znapzend.nix
   ./services/cluster/hadoop/default.nix
   ./services/cluster/kubernetes/addons/dns.nix
@@ -257,8 +256,6 @@
   ./services/continuous-integration/jenkins/default.nix
   ./services/continuous-integration/jenkins/job-builder.nix
   ./services/continuous-integration/jenkins/slave.nix
-  ./services/databases/4store-endpoint.nix
-  ./services/databases/4store.nix
   ./services/databases/aerospike.nix
   ./services/databases/cassandra.nix
   ./services/databases/clickhouse.nix
@@ -299,16 +296,18 @@
   ./services/desktops/gnome3/chrome-gnome-shell.nix
   ./services/desktops/gnome3/evolution-data-server.nix
   ./services/desktops/gnome3/glib-networking.nix
+  ./services/desktops/gnome3/gnome-initial-setup.nix
   ./services/desktops/gnome3/gnome-keyring.nix
   ./services/desktops/gnome3/gnome-online-accounts.nix
-  ./services/desktops/gnome3/gnome-remote-desktop.nix
   ./services/desktops/gnome3/gnome-online-miners.nix
+  ./services/desktops/gnome3/gnome-remote-desktop.nix
   ./services/desktops/gnome3/gnome-settings-daemon.nix
   ./services/desktops/gnome3/gnome-user-share.nix
   ./services/desktops/gnome3/rygel.nix
   ./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
@@ -317,11 +316,13 @@
   ./services/development/bloop.nix
   ./services/development/hoogle.nix
   ./services/development/jupyter/default.nix
+  ./services/development/lorri.nix
   ./services/editors/emacs.nix
   ./services/editors/infinoted.nix
   ./services/games/factorio.nix
   ./services/games/minecraft-server.nix
   ./services/games/minetest-server.nix
+  ./services/games/openarena.nix
   ./services/games/terraria.nix
   ./services/hardware/acpid.nix
   ./services/hardware/actkbd.nix
@@ -329,6 +330,7 @@
   ./services/hardware/bolt.nix
   ./services/hardware/brltty.nix
   ./services/hardware/evscript.nix
+  ./services/hardware/fancontrol.nix
   ./services/hardware/freefall.nix
   ./services/hardware/fwupd.nix
   ./services/hardware/illum.nix
@@ -445,6 +447,7 @@
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
+  ./services/misc/mame.nix
   ./services/misc/mathics.nix
   ./services/misc/matrix-synapse.nix
   ./services/misc/mbpfan.nix
@@ -504,6 +507,7 @@
   ./services/monitoring/das_watchdog.nix
   ./services/monitoring/datadog-agent.nix
   ./services/monitoring/dd-agent/dd-agent.nix
+  ./services/monitoring/do-agent.nix
   ./services/monitoring/fusion-inventory.nix
   ./services/monitoring/grafana.nix
   ./services/monitoring/grafana-reporter.nix
@@ -518,7 +522,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
@@ -538,7 +541,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
@@ -549,6 +551,8 @@
   ./services/network-filesystems/nfsd.nix
   ./services/network-filesystems/openafs/client.nix
   ./services/network-filesystems/openafs/server.nix
+  ./services/network-filesystems/orangefs/server.nix
+  ./services/network-filesystems/orangefs/client.nix
   ./services/network-filesystems/rsyncd.nix
   ./services/network-filesystems/samba.nix
   ./services/network-filesystems/tahoe.nix
@@ -557,6 +561,7 @@
   ./services/network-filesystems/yandex-disk.nix
   ./services/network-filesystems/xtreemfs.nix
   ./services/network-filesystems/ceph.nix
+  ./services/networking/3proxy.nix
   ./services/networking/amuled.nix
   ./services/networking/aria2.nix
   ./services/networking/asterisk.nix
@@ -602,6 +607,7 @@
   ./services/networking/gdomap.nix
   ./services/networking/git-daemon.nix
   ./services/networking/gnunet.nix
+  ./services/networking/go-shadowsocks2.nix
   ./services/networking/gogoclient.nix
   ./services/networking/gvpe.nix
   ./services/networking/hans.nix
@@ -615,7 +621,6 @@
   ./services/networking/iodine.nix
   ./services/networking/iperf3.nix
   ./services/networking/ircd-hybrid/default.nix
-  ./services/networking/jormungandr.nix
   ./services/networking/iwd.nix
   ./services/networking/keepalived/default.nix
   ./services/networking/keybase.nix
@@ -667,6 +672,7 @@
   ./services/networking/polipo.nix
   ./services/networking/powerdns.nix
   ./services/networking/pdns-recursor.nix
+  ./services/networking/pppd.nix
   ./services/networking/pptpd.nix
   ./services/networking/prayer.nix
   ./services/networking/privoxy.nix
@@ -688,10 +694,13 @@
   ./services/networking/skydns.nix
   ./services/networking/shadowsocks.nix
   ./services/networking/shairport-sync.nix
+  ./services/networking/shorewall.nix
+  ./services/networking/shorewall6.nix
   ./services/networking/shout.nix
   ./services/networking/sniproxy.nix
   ./services/networking/smokeping.nix
   ./services/networking/softether.nix
+  ./services/networking/spacecookie.nix
   ./services/networking/spiped.nix
   ./services/networking/squid.nix
   ./services/networking/sslh.nix
@@ -713,12 +722,14 @@
   ./services/networking/tinc.nix
   ./services/networking/tinydns.nix
   ./services/networking/tftpd.nix
+  ./services/networking/trickster.nix
   ./services/networking/tox-bootstrapd.nix
   ./services/networking/tox-node.nix
   ./services/networking/toxvpn.nix
   ./services/networking/tvheadend.nix
   ./services/networking/unbound.nix
   ./services/networking/unifi.nix
+  ./services/networking/v2ray.nix
   ./services/networking/vsftpd.nix
   ./services/networking/wakeonlan.nix
   ./services/networking/websockify.nix
@@ -729,6 +740,7 @@
   ./services/networking/xinetd.nix
   ./services/networking/xl2tpd.nix
   ./services/networking/xrdp.nix
+  ./services/networking/yggdrasil.nix
   ./services/networking/zerobin.nix
   ./services/networking/zeronet.nix
   ./services/networking/zerotierone.nix
@@ -793,8 +805,10 @@
   ./services/web-apps/cryptpad.nix
   ./services/web-apps/documize.nix
   ./services/web-apps/frab.nix
+  ./services/web-apps/gotify-server.nix
   ./services/web-apps/icingaweb2/icingaweb2.nix
   ./services/web-apps/icingaweb2/module-monitoring.nix
+  ./services/web-apps/ihatemoney
   ./services/web-apps/limesurvey.nix
   ./services/web-apps/mattermost.nix
   ./services/web-apps/mediawiki.nix
@@ -804,9 +818,13 @@
   ./services/web-apps/nexus.nix
   ./services/web-apps/pgpkeyserver-lite.nix
   ./services/web-apps/matomo.nix
+  ./services/web-apps/moinmoin.nix
   ./services/web-apps/restya-board.nix
   ./services/web-apps/tt-rss.nix
+  ./services/web-apps/trac.nix
+  ./services/web-apps/trilium.nix
   ./services/web-apps/selfoss.nix
+  ./services/web-apps/shiori.nix
   ./services/web-apps/virtlyst.nix
   ./services/web-apps/wordpress.nix
   ./services/web-apps/youtrack.nix
@@ -832,13 +850,14 @@
   ./services/web-servers/shellinabox.nix
   ./services/web-servers/tomcat.nix
   ./services/web-servers/traefik.nix
+  ./services/web-servers/ttyd.nix
   ./services/web-servers/uwsgi.nix
   ./services/web-servers/varnish/default.nix
   ./services/web-servers/zope2.nix
   ./services/x11/extra-layouts.nix
   ./services/x11/clight.nix
   ./services/x11/colord.nix
-  ./services/x11/compton.nix
+  ./services/x11/picom.nix
   ./services/x11/unclutter.nix
   ./services/x11/unclutter-xfixes.nix
   ./services/x11/desktop-managers/default.nix
@@ -855,8 +874,10 @@
   ./services/x11/hardware/multitouch.nix
   ./services/x11/hardware/synaptics.nix
   ./services/x11/hardware/wacom.nix
+  ./services/x11/hardware/digimend.nix
   ./services/x11/hardware/cmt.nix
   ./services/x11/gdk-pixbuf.nix
+  ./services/x11/imwheel.nix
   ./services/x11/redshift.nix
   ./services/x11/urxvtd.nix
   ./services/x11/window-managers/awesome.nix
@@ -927,7 +948,6 @@
   ./tasks/filesystems/vfat.nix
   ./tasks/filesystems/xfs.nix
   ./tasks/filesystems/zfs.nix
-  ./tasks/kbd.nix
   ./tasks/lvm.nix
   ./tasks/network-interfaces.nix
   ./tasks/network-interfaces-systemd.nix
diff --git a/nixpkgs/nixos/modules/profiles/graphical.nix b/nixpkgs/nixos/modules/profiles/graphical.nix
index 649f5564ac61..d80456cede56 100644
--- a/nixpkgs/nixos/modules/profiles/graphical.nix
+++ b/nixpkgs/nixos/modules/profiles/graphical.nix
@@ -9,14 +9,12 @@
     displayManager.sddm.enable = true;
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
     };
     libinput.enable = true; # for touchpad support on many laptops
   };
 
   # Enable sound in virtualbox appliances.
   hardware.pulseaudio.enable = true;
-  hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root.
 
   environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
 }
diff --git a/nixpkgs/nixos/modules/profiles/hardened.nix b/nixpkgs/nixos/modules/profiles/hardened.nix
index 626d8b1d2bde..f7b2f5c7fc1e 100644
--- a/nixpkgs/nixos/modules/profiles/hardened.nix
+++ b/nixpkgs/nixos/modules/profiles/hardened.nix
@@ -52,6 +52,27 @@ with lib;
     "ax25"
     "netrom"
     "rose"
+
+    # Old or rare or insufficiently audited filesystems
+    "adfs"
+    "affs"
+    "bfs"
+    "befs"
+    "cramfs"
+    "efs"
+    "erofs"
+    "exofs"
+    "freevxfs"
+    "f2fs"
+    "hfs"
+    "hpfs"
+    "jfs"
+    "minix"
+    "nilfs2"
+    "qnx4"
+    "qnx6"
+    "sysv"
+    "ufs"
   ];
 
   # Restrict ptrace() usage to processes with a pre-defined relationship
diff --git a/nixpkgs/nixos/modules/profiles/installation-device.nix b/nixpkgs/nixos/modules/profiles/installation-device.nix
index fd30220ce1c9..4596e163404c 100644
--- a/nixpkgs/nixos/modules/profiles/installation-device.nix
+++ b/nixpkgs/nixos/modules/profiles/installation-device.nix
@@ -31,9 +31,6 @@ with lib;
     # Let the user play Rogue on TTY 8 during the installation.
     #services.rogue.enable = true;
 
-    # Disable some other stuff we don't need.
-    services.udisks2.enable = mkDefault false;
-
     # Use less privileged nixos user
     users.users.nixos = {
       isNormalUser = true;
diff --git a/nixpkgs/nixos/modules/programs/adb.nix b/nixpkgs/nixos/modules/programs/adb.nix
index 250d8c252a3b..83bcfe886aa1 100644
--- a/nixpkgs/nixos/modules/programs/adb.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/bandwhich.nix b/nixpkgs/nixos/modules/programs/bandwhich.nix
new file mode 100644
index 000000000000..5413044f4614
--- /dev/null
+++ b/nixpkgs/nixos/modules/programs/bandwhich.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.programs.bandwhich;
+in {
+  meta.maintainers = with maintainers; [ filalex77 ];
+
+  options = {
+    programs.bandwhich = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to add bandwhich to the global environment and configure a
+          setcap wrapper for it.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = with pkgs; [ bandwhich ];
+    security.wrappers.bandwhich = {
+      source = "${pkgs.bandwhich}/bin/bandwhich";
+      capabilities = "cap_net_raw,cap_net_admin+ep";
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/programs/bash/bash.nix b/nixpkgs/nixos/modules/programs/bash/bash.nix
index 548babac38ca..366c07c0a352 100644
--- a/nixpkgs/nixos/modules/programs/bash/bash.nix
+++ b/nixpkgs/nixos/modules/programs/bash/bash.nix
@@ -40,6 +40,10 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
+  ];
+
   options = {
 
     programs.bash = {
diff --git a/nixpkgs/nixos/modules/programs/blcr.nix b/nixpkgs/nixos/modules/programs/blcr.nix
deleted file mode 100644
index 804e1d01f12b..000000000000
--- a/nixpkgs/nixos/modules/programs/blcr.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ config, lib, ... }:
-
-let
-  inherit (lib) mkOption mkIf;
-  cfg = config.environment.blcr;
-  blcrPkg = config.boot.kernelPackages.blcr;
-in
-
-{
-  ###### interface
-
-  options = {
-    environment.blcr.enable = mkOption {
-      default = false;
-      description =
-        "Whether to enable support for the BLCR checkpointing tool.";
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    boot.kernelModules = [ "blcr" "blcr_imports" ];
-    boot.extraModulePackages = [ blcrPkg ];
-    environment.systemPackages = [ blcrPkg ];
-  };
-}
diff --git a/nixpkgs/nixos/modules/programs/dconf.nix b/nixpkgs/nixos/modules/programs/dconf.nix
index eeebc3558bdf..6702e8efd1cb 100644
--- a/nixpkgs/nixos/modules/programs/dconf.nix
+++ b/nixpkgs/nixos/modules/programs/dconf.nix
@@ -6,7 +6,10 @@ let
   cfg = config.programs.dconf;
 
   mkDconfProfile = name: path:
-    { source = path; target = "dconf/profile/${name}"; };
+    {
+      name = "dconf/profile/${name}";
+      value.source = path; 
+    };
 
 in
 {
@@ -29,16 +32,16 @@ in
   ###### implementation
 
   config = mkIf (cfg.profiles != {} || cfg.enable) {
-    environment.etc = optionals (cfg.profiles != {})
-      (mapAttrsToList mkDconfProfile cfg.profiles);
+    environment.etc = optionalAttrs (cfg.profiles != {})
+      (mapAttrs' 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/nixpkgs/nixos/modules/programs/environment.nix b/nixpkgs/nixos/modules/programs/environment.nix
index fcffb2134980..38bdabb4fa81 100644
--- a/nixpkgs/nixos/modules/programs/environment.nix
+++ b/nixpkgs/nixos/modules/programs/environment.nix
@@ -21,8 +21,6 @@ in
         PAGER = mkDefault "less -R";
         EDITOR = mkDefault "nano";
         XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc
-        GTK_DATA_PREFIX = "${config.system.path}"; # needed for gtk2 apps to find themes
-        GTK_EXE_PREFIX = "${config.system.path}";
       };
 
     environment.profiles = mkAfter
diff --git a/nixpkgs/nixos/modules/programs/gnupg.nix b/nixpkgs/nixos/modules/programs/gnupg.nix
index bcbc994efe9b..2d262d906579 100644
--- a/nixpkgs/nixos/modules/programs/gnupg.nix
+++ b/nixpkgs/nixos/modules/programs/gnupg.nix
@@ -6,6 +6,19 @@ let
 
   cfg = config.programs.gnupg;
 
+  xserverCfg = config.services.xserver;
+
+  defaultPinentryFlavor =
+    if xserverCfg.desktopManager.lxqt.enable
+    || xserverCfg.desktopManager.plasma5.enable then
+      "qt"
+    else if xserverCfg.desktopManager.xfce.enable then
+      "gtk2"
+    else if xserverCfg.enable || config.programs.sway.enable then
+      "gnome3"
+    else
+      null;
+
 in
 
 {
@@ -54,6 +67,20 @@ in
       '';
     };
 
+    agent.pinentryFlavor = mkOption {
+      type = types.nullOr (types.enum pkgs.pinentry.flavors);
+      example = "gnome3";
+      description = ''
+        Which pinentry interface to use. If not null, the path to the
+        pinentry binary will be passed to gpg-agent via commandline and
+        thus overrides the pinentry option in gpg-agent.conf in the user's
+        home directory.
+        If not set at all, it'll pick an appropriate flavor depending on the
+        system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce
+        4.12, gnome3 on all other systems with X enabled, ncurses otherwise).
+      '';
+    };
+
     dirmngr.enable = mkOption {
       type = types.bool;
       default = false;
@@ -64,6 +91,16 @@ in
   };
 
   config = mkIf cfg.agent.enable {
+    programs.gnupg.agent.pinentryFlavor = mkDefault defaultPinentryFlavor;
+
+    # This overrides the systemd user unit shipped with the gnupg package
+    systemd.user.services.gpg-agent = mkIf (cfg.agent.pinentryFlavor != null) {
+      serviceConfig.ExecStart = [ "" ''
+        ${pkgs.gnupg}/bin/gpg-agent --supervised \
+          --pinentry-program ${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry
+      '' ];
+    };
+
     systemd.user.sockets.gpg-agent = {
       wantedBy = [ "sockets.target" ];
     };
@@ -83,7 +120,9 @@ in
     systemd.user.sockets.dirmngr = mkIf cfg.dirmngr.enable {
       wantedBy = [ "sockets.target" ];
     };
-    
+
+    services.dbus.packages = mkIf (cfg.agent.pinentryFlavor == "gnome3") [ pkgs.gcr ];
+
     environment.systemPackages = with pkgs; [ cfg.package ];
     systemd.packages = [ cfg.package ];
 
diff --git a/nixpkgs/nixos/modules/programs/nm-applet.nix b/nixpkgs/nixos/modules/programs/nm-applet.nix
index e42219e9638c..1b806071c43c 100644
--- a/nixpkgs/nixos/modules/programs/nm-applet.nix
+++ b/nixpkgs/nixos/modules/programs/nm-applet.nix
@@ -10,5 +10,7 @@
       partOf = [ "graphical-session.target" ];
       serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
     };
+
+    services.dbus.packages = [ pkgs.gcr ];
   };
 }
diff --git a/nixpkgs/nixos/modules/programs/oblogout.nix b/nixpkgs/nixos/modules/programs/oblogout.nix
index 720c29b1eaee..a039b0623b52 100644
--- a/nixpkgs/nixos/modules/programs/oblogout.nix
+++ b/nixpkgs/nixos/modules/programs/oblogout.nix
@@ -1,176 +1,11 @@
-# Global configuration for oblogout.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
-let cfg = config.programs.oblogout;
-
-in
 {
-  ###### interface
-
-  options = {
-
-    programs.oblogout = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to install OBLogout and create <filename>/etc/oblogout.conf</filename>.
-          See <filename>${pkgs.oblogout}/share/doc/README</filename>.
-        '';
-      };
-
-      opacity = mkOption {
-        type = types.int;
-        default = 70;
-        description = ''
-          Opacity percentage of Cairo rendered backgrounds.
-        '';
-      };
-
-      bgcolor = mkOption {
-        type = types.str;
-        default = "black";
-        description = ''
-          Colour name or hex code (#ffffff) of the background color.
-        '';
-      };
-
-      buttontheme = mkOption {
-        type = types.str;
-        default = "simplistic";
-        description = ''
-          Icon theme for the buttons, must be in the themes folder of
-          the package, or in
-          <filename>~/.themes/&lt;name&gt;/oblogout/</filename>.
-        '';
-      };
-
-      buttons = mkOption {
-        type = types.str;
-        default =  "cancel, logout, restart, shutdown, suspend, hibernate";
-        description = ''
-          List and order of buttons to show.
-        '';
-      };
-
-      cancel = mkOption {
-        type = types.str;
-        default =  "Escape";
-        description = ''
-          Cancel logout/shutdown shortcut.
-        '';
-      };
-
-      shutdown = mkOption {
-        type = types.str;
-        default = "S";
-        description = ''
-          Shutdown shortcut.
-        '';
-      };
-
-      restart = mkOption {
-        type = types.str;
-        default = "R";
-        description = ''
-          Restart shortcut.
-        '';
-      };
-
-      suspend = mkOption {
-        type = types.str;
-        default = "U";
-        description = ''
-          Suspend shortcut.
-        '';
-      };
-
-      logout = mkOption {
-        type = types.str;
-        default = "L";
-        description = ''
-          Logout shortcut.
-        '';
-      };
-
-      lock = mkOption {
-        type = types.str;
-        default = "K";
-        description = ''
-          Lock session shortcut.
-        '';
-      };
-
-      hibernate = mkOption {
-        type = types.str;
-        default =  "H";
-        description = ''
-          Hibernate shortcut.
-        '';
-      };
-
-      clogout = mkOption {
-        type = types.str;
-        default = "openbox --exit";
-        description = ''
-          Command to logout.
-        '';
-      };
-
-      clock = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to lock screen.
-        '';
-      };
-
-      cswitchuser = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to switch user.
-        '';
-      };
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.oblogout ];
-
-    environment.etc."oblogout.conf".text = ''
-      [settings]
-      usehal = false
-
-      [looks]
-      opacity = ${toString cfg.opacity}
-      bgcolor = ${cfg.bgcolor}
-      buttontheme = ${cfg.buttontheme}
-      buttons = ${cfg.buttons}
 
-      [shortcuts]
-      cancel = ${cfg.cancel}
-      shutdown = ${cfg.shutdown}
-      restart = ${cfg.restart}
-      suspend = ${cfg.suspend}
-      logout = ${cfg.logout}
-      lock = ${cfg.lock}
-      hibernate = ${cfg.hibernate}
+  imports = [
+    (mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
+  ];
 
-      [commands]
-      shutdown = systemctl poweroff
-      restart = systemctl reboot
-      suspend = systemctl suspend
-      hibernate = systemctl hibernate
-      logout = ${cfg.clogout}
-      lock = ${cfg.clock}
-      switchuser = ${cfg.cswitchuser}
-    '';
-  };
 }
diff --git a/nixpkgs/nixos/modules/programs/screen.nix b/nixpkgs/nixos/modules/programs/screen.nix
index 4fd800dbae79..728a0eb8cea5 100644
--- a/nixpkgs/nixos/modules/programs/screen.nix
+++ b/nixpkgs/nixos/modules/programs/screen.nix
@@ -27,6 +27,7 @@ in
     environment.etc.screenrc.text = cfg.screenrc;
 
     environment.systemPackages = [ pkgs.screen ];
+    security.pam.services.screen = {};
   };
 
 }
diff --git a/nixpkgs/nixos/modules/programs/seahorse.nix b/nixpkgs/nixos/modules/programs/seahorse.nix
index c08b0a85374c..b229d2a2c0db 100644
--- a/nixpkgs/nixos/modules/programs/seahorse.nix
+++ b/nixpkgs/nixos/modules/programs/seahorse.nix
@@ -31,6 +31,8 @@ with lib;
 
   config = mkIf config.programs.seahorse.enable {
 
+    programs.ssh.askPassword = mkDefault "${pkgs.gnome3.seahorse}/libexec/seahorse/ssh-askpass";
+
     environment.systemPackages = [
       pkgs.gnome3.seahorse
     ];
diff --git a/nixpkgs/nixos/modules/programs/shadow.nix b/nixpkgs/nixos/modules/programs/shadow.nix
index 8ec4169207db..fc352795c017 100644
--- a/nixpkgs/nixos/modules/programs/shadow.nix
+++ b/nixpkgs/nixos/modules/programs/shadow.nix
@@ -6,17 +6,27 @@ with lib;
 
 let
 
+  /*
+  There are three different sources for user/group id ranges, each of which gets
+  used by different programs:
+  - The login.defs file, used by the useradd, groupadd and newusers commands
+  - The update-users-groups.pl file, used by NixOS in the activation phase to
+    decide on which ids to use for declaratively defined users without a static
+    id
+  - Systemd compile time options -Dsystem-uid-max= and -Dsystem-gid-max=, used
+    by systemd for features like ConditionUser=@system and systemd-sysusers
+  */
   loginDefs =
     ''
       DEFAULT_HOME yes
 
       SYS_UID_MIN  400
-      SYS_UID_MAX  499
+      SYS_UID_MAX  999
       UID_MIN      1000
       UID_MAX      29999
 
       SYS_GID_MIN  400
-      SYS_GID_MAX  499
+      SYS_GID_MAX  999
       GID_MIN      1000
       GID_MAX      29999
 
@@ -66,22 +76,18 @@ in
         config.users.defaultUserShell;
 
     environment.etc =
-      [ { # /etc/login.defs: global configuration for pwdutils.  You
-          # cannot login without it!
-          source = pkgs.writeText "login.defs" loginDefs;
-          target = "login.defs";
-        }
-
-        { # /etc/default/useradd: configuration for useradd.
-          source = pkgs.writeText "useradd"
-            ''
-              GROUP=100
-              HOME=/home
-              SHELL=${utils.toShellPath config.users.defaultUserShell}
-            '';
-          target = "default/useradd";
-        }
-      ];
+      { # /etc/login.defs: global configuration for pwdutils.  You
+        # cannot login without it!
+        "login.defs".source = pkgs.writeText "login.defs" loginDefs;
+
+        # /etc/default/useradd: configuration for useradd.
+        "default/useradd".source = pkgs.writeText "useradd"
+          ''
+            GROUP=100
+            HOME=/home
+            SHELL=${utils.toShellPath config.users.defaultUserShell}
+          '';
+      };
 
     security.pam.services =
       { chsh = { rootOK = true; };
diff --git a/nixpkgs/nixos/modules/programs/shell.nix b/nixpkgs/nixos/modules/programs/shell.nix
deleted file mode 100644
index b7f7b91b5fbe..000000000000
--- a/nixpkgs/nixos/modules/programs/shell.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-# This module defines a standard configuration for NixOS shells.
-
-{ config, lib, ... }:
-
-with lib;
-
-{
-
-  config = {
-
-    environment.shellInit =
-      ''
-        # Set up the per-user profile.
-        mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
-        if [ "$(stat -c '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then
-            echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2
-        fi
-
-        if [ -w "$HOME" ]; then
-          if ! [ -L "$HOME/.nix-profile" ]; then
-              if [ "$USER" != root ]; then
-                  ln -s "$NIX_USER_PROFILE_DIR/profile" "$HOME/.nix-profile"
-              else
-                  # Root installs in the system-wide profile by default.
-                  ln -s /nix/var/nix/profiles/default "$HOME/.nix-profile"
-              fi
-          fi
-
-          # Subscribe the root user to the NixOS channel by default.
-          if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then
-              echo "${config.system.defaultChannel} nixos" > "$HOME/.nix-channels"
-          fi
-
-          # Create the per-user garbage collector roots directory.
-          NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
-          mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
-          if [ "$(stat -c '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then
-              echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2
-          fi
-
-          # Set up a default Nix expression from which to install stuff.
-          if [ ! -e "$HOME/.nix-defexpr" -o -L "$HOME/.nix-defexpr" ]; then
-              rm -f "$HOME/.nix-defexpr"
-              mkdir -p "$HOME/.nix-defexpr"
-              if [ "$USER" != root ]; then
-                  ln -s /nix/var/nix/profiles/per-user/root/channels "$HOME/.nix-defexpr/channels_root"
-              fi
-          fi
-        fi
-      '';
-
-  };
-
-}
diff --git a/nixpkgs/nixos/modules/programs/ssh.nix b/nixpkgs/nixos/modules/programs/ssh.nix
index 733b8f7636fd..80198990ed11 100644
--- a/nixpkgs/nixos/modules/programs/ssh.nix
+++ b/nixpkgs/nixos/modules/programs/ssh.nix
@@ -115,6 +115,16 @@ in
         '';
       };
 
+      agentPKCS11Whitelist = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "\${pkgs.opensc}/lib/opensc-pkcs11.so";
+        description = ''
+          A pattern-list of acceptable paths for PKCS#11 shared libraries
+          that may be used with the -s option to ssh-add.
+        '';
+      };
+
       package = mkOption {
         type = types.package;
         default = pkgs.openssh;
@@ -241,6 +251,7 @@ in
             ExecStart =
                 "${cfg.package}/bin/ssh-agent " +
                 optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") +
+                optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") +
                 "-a %t/ssh-agent";
             StandardOutput = "null";
             Type = "forking";
diff --git a/nixpkgs/nixos/modules/programs/ssmtp.nix b/nixpkgs/nixos/modules/programs/ssmtp.nix
index 0e060e3f5226..f794eac8af00 100644
--- a/nixpkgs/nixos/modules/programs/ssmtp.nix
+++ b/nixpkgs/nixos/modules/programs/ssmtp.nix
@@ -8,18 +8,21 @@
 with lib;
 
 let
-
-  cfg = config.networking.defaultMailServer;
+  cfg = config.services.ssmtp;
 
 in
-
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
+    (mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
+  ];
+
   options = {
 
-    networking.defaultMailServer = {
+    services.ssmtp = {
 
-      directDelivery = mkOption {
+      enable = mkOption {
         type = types.bool;
         default = false;
         description = ''
@@ -29,7 +32,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 +132,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/nixpkgs/nixos/modules/programs/sway.nix b/nixpkgs/nixos/modules/programs/sway.nix
index f92d09a7ef44..e2a4018e9023 100644
--- a/nixpkgs/nixos/modules/programs/sway.nix
+++ b/nixpkgs/nixos/modules/programs/sway.nix
@@ -4,26 +4,32 @@ with lib;
 
 let
   cfg = config.programs.sway;
-  swayPackage = pkgs.sway;
 
-  swayWrapped = pkgs.writeShellScriptBin "sway" ''
-    set -o errexit
-
-    if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
-      export _SWAY_WRAPPER_ALREADY_EXECUTED=1
-      ${cfg.extraSessionCommands}
-    fi
+  wrapperOptions = types.submodule {
+    options =
+      let
+        mkWrapperFeature  = default: description: mkOption {
+          type = types.bool;
+          inherit default;
+          example = !default;
+          description = "Whether to make use of the ${description}";
+        };
+      in {
+        base = mkWrapperFeature true ''
+          base wrapper to execute extra session commands and prepend a
+          dbus-run-session to the sway command.
+        '';
+        gtk = mkWrapperFeature false ''
+          wrapGAppsHook wrapper to execute sway with required environment
+          variables for GTK applications.
+        '';
+    };
+  };
 
-    if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
-      export DBUS_SESSION_BUS_ADDRESS
-      exec ${swayPackage}/bin/sway "$@"
-    else
-      exec ${pkgs.dbus}/bin/dbus-run-session ${swayPackage}/bin/sway "$@"
-    fi
-  '';
-  swayJoined = pkgs.symlinkJoin {
-    name = "sway-joined";
-    paths = [ swayWrapped swayPackage ];
+  swayPackage = pkgs.sway.override {
+    extraSessionCommands = cfg.extraSessionCommands;
+    withBaseWrapper = cfg.wrapperFeatures.base;
+    withGtkWrapper = cfg.wrapperFeatures.gtk;
   };
 in {
   options.programs.sway = {
@@ -35,6 +41,15 @@ in {
       Please have a look at the "extraSessionCommands" example for running
       programs natively under Wayland'';
 
+    wrapperFeatures = mkOption {
+      type = wrapperOptions;
+      default = { };
+      example = { gtk = true; };
+      description = ''
+        Attribute set of features to enable in the wrapper.
+      '';
+    };
+
     extraSessionCommands = mkOption {
       type = types.lines;
       default = "";
@@ -55,7 +70,7 @@ in {
     extraPackages = mkOption {
       type = with types; listOf package;
       default = with pkgs; [
-        swaylock swayidle swaybg
+        swaylock swayidle
         xwayland rxvt_unicode dmenu
       ];
       defaultText = literalExample ''
@@ -75,8 +90,17 @@ in {
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.extraSessionCommands != "" -> cfg.wrapperFeatures.base;
+        message = ''
+          The extraSessionCommands for Sway will not be run if
+          wrapperFeatures.base is disabled.
+        '';
+      }
+    ];
     environment = {
-      systemPackages = [ swayJoined ] ++ cfg.extraPackages;
+      systemPackages = [ swayPackage ] ++ cfg.extraPackages;
       etc = {
         "sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
         #"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/";
@@ -87,6 +111,8 @@ in {
     hardware.opengl.enable = mkDefault true;
     fonts.enableDefaultFonts = mkDefault true;
     programs.dconf.enable = mkDefault true;
+    # To make a Sway session available if a display manager like SDDM is enabled:
+    services.xserver.displayManager.sessionPackages = [ swayPackage ];
   };
 
   meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
diff --git a/nixpkgs/nixos/modules/programs/x2goserver.nix b/nixpkgs/nixos/modules/programs/x2goserver.nix
index 77a1a0da7993..7d74231e956b 100644
--- a/nixpkgs/nixos/modules/programs/x2goserver.nix
+++ b/nixpkgs/nixos/modules/programs/x2goserver.nix
@@ -69,6 +69,7 @@ in {
     users.users.x2go = {
       home = "/var/lib/x2go/db";
       group = "x2go";
+      isSystemUser = true;
     };
 
     security.wrappers.x2gosqliteWrapper = {
diff --git a/nixpkgs/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixpkgs/nixos/modules/programs/zsh/oh-my-zsh.nix
index f4df4e983e42..932a780a356a 100644
--- a/nixpkgs/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixpkgs/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -29,6 +29,13 @@ let
 
 in
   {
+    imports = [
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
+    ];
+
     options = {
       programs.zsh.ohMyZsh = {
         enable = mkOption {
diff --git a/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
index ded17f38a618..037888fdc5a8 100644
--- a/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
+++ b/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
@@ -6,6 +6,10 @@ let
   cfg = config.programs.zsh.autosuggestions;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
+  ];
+
   options.programs.zsh.autosuggestions = {
 
     enable = mkEnableOption "zsh-autosuggestions";
diff --git a/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
index 7184e5d9b9a8..927a904369d5 100644
--- a/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
+++ b/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
@@ -6,6 +6,13 @@ let
   cfg = config.programs.zsh.syntaxHighlighting;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
+  ];
+
   options = {
     programs.zsh.syntaxHighlighting = {
       enable = mkEnableOption "zsh-syntax-highlighting";
@@ -81,7 +88,7 @@ in
     ];
 
     programs.zsh.interactiveShellInit = with pkgs;
-      lib.concatStringsSep "\n" ([
+      lib.mkAfter (lib.concatStringsSep "\n" ([
         "source ${zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
       ] ++ optional (length(cfg.highlighters) > 0)
         "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
@@ -95,6 +102,6 @@ in
             styles: design:
             "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'"
           ) cfg.styles)
-      );
+      ));
   };
 }
diff --git a/nixpkgs/nixos/modules/rename.nix b/nixpkgs/nixos/modules/rename.nix
index 802ffcdc94eb..7109ab5a1099 100644
--- a/nixpkgs/nixos/modules/rename.nix
+++ b/nixpkgs/nixos/modules/rename.nix
@@ -4,289 +4,30 @@ with lib;
 
 {
   imports = [
-    (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
-    (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
-      (config:
-        let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
-        in if enabled then [ pkgs.gutenprint ] else [ ]))
-    (mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
-      (config:
-        let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
-        in if value != "" then [ value ] else []))
-    (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
-    (mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ])
-    (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"])
-    (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "")
-    (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ])
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "")
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "")
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "allowPrivileged" ] "")
-    (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"])
-    (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "")
-    (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "enableHttps" ] [ "services" "neo4j" "https" "enable" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "certDir" ] [ "services" "neo4j" "directories" "certificates" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "dataDir" ] [ "services" "neo4j" "directories" "home" ])
-    (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanagerURL" ] ''
-      Due to incompatibility, the alertmanagerURL option has been removed,
-      please use 'services.prometheus2.alertmanagers' instead.
-    '')
-    (mkRenamedOptionModule [ "services" "prometheus2" ] [ "services" "prometheus" ])
-    (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
-    (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
-    (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
+    /*
+    This file defines some renaming/removing options for backwards compatibility
 
-    (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
-    (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
-
-    (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
-
-    (mkRemovedOptionModule [ "services" "pykms" "verbose" ] "Use services.pykms.logLevel instead")
-
-    (mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead")
-    (mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead")
-
-    (mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ])
-
-    # PAM
-    (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
-
-    # rmilter/rspamd
-    (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service")
-
-    # Xsession script
-    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
-    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
-
-    # Old Grub-related options.
-    (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ])
-    (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ])
-
-    # OpenSSH
-    (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
-    (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
-
-    # libvirtd
-    (mkRemovedOptionModule [ "virtualisation" "libvirtd" "enableKVM" ]
-      "Set the option `virtualisation.libvirtd.qemuPackage' instead.")
-
-    # ibus
-    (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ])
-
-    # sandboxing
-    (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ])
-    (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
-
-    (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
+    It should ONLY be used when the relevant module can't define these imports
+    itself, such as when the module was removed completely.
+    See https://github.com/NixOS/nixpkgs/pull/61570 for explanation
+    */
 
+    # This alias module can't be where _module.check is defined because it would
+    # be added to submodules as well there
     (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
 
-    # opendkim
-    (mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ])
-
-    # Enlightenment
-    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
-
-    # Iodine
-    (mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
-    (mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
-    (mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
-    (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
-    (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
-
-    # Unity3D
-    (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
-
-    # murmur
-    (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
-    (mkRemovedOptionModule [ "services" "murmur" "pidfile" ] "Hardcoded to /run/murmur/murmurd.pid now")
-
-    # parsoid
-    (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead")
-
-    # plexpy / tautulli
-    (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ])
-
-    # piwik was renamed to matomo
-    (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
-    (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ])
-    (mkRenamedOptionModule [ "services" "piwik" "phpfpmProcessManagerConfig" ] [ "services" "matomo" "phpfpmProcessManagerConfig" ])
-    (mkRenamedOptionModule [ "services" "piwik" "nginx" ] [ "services" "matomo" "nginx" ])
-
-    # tarsnap
-    (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
-
-    # alsa
-    (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
-
-    # postgrey
-    (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
-        value = p: getAttrFromPath p config;
-        inetAddr = [ "services" "postgrey" "inetAddr" ];
-        inetPort = [ "services" "postgrey" "inetPort" ];
-      in
-        if value inetAddr == null
-        then { path = "/run/postgrey.sock"; }
-        else { addr = value inetAddr; port = value inetPort; }
-    ))
-
-    # dhcpd
-    (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
-
-    # locate
-    (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
-    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
-
-    # nfs
-    (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
-    (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
-
-    # KDE Plasma 5
-    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
-
-    # Fontconfig
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
-
-    # postgresqlBackup
-    (mkRemovedOptionModule [ "services" "postgresqlBackup" "period" ] ''
-       A systemd timer is now used instead of cron.
-       The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
-    '')
-
-    # phpfpm
-    (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
-
-    # zabbixServer
-    (mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
-
-    # Profile splitting
-    (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ])
-
-    # misc/version.nix
-    (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
-    (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
-    (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
-    (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
-
-    # Users
-    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
-    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
-
-    # Options that are obsolete and have no replacement.
-    (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
-    (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
-    (mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
-    (mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "")
-    (mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "")
-    (mkRemovedOptionModule [ "ec2" "metadata" ] "")
-    (mkRemovedOptionModule [ "services" "openvpn" "enable" ] "")
-    (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "")
-    (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "")
-    (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.")
-    (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.")
-    (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
-      "See the 16.09 release notes for more information.")
-    (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
-    (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
+    # Completely removed modules
     (mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "")
     (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
-    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
-      "Set the option `services.xserver.displayManager.sddm.package' instead.")
-    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
-    (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
-    (mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash")
-    (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd")
-    (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
-    (mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
-    (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
-    (mkRemovedOptionModule [ "systemd" "coredump" "enable" ] "Enabled by default. Set boot.kernel.sysctl.\"kernel.core_pattern\" = \"core\"; to disable.")
-
-    # ZSH
-    (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
-
-    (mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
-
-    # Xen
-    (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
-
-    (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
-    (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
-    (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
-
-    # ckb
-    (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ])
-    (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ])
-
-    # binfmt
-    (mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ])
-
-    # ACME
-    (mkRemovedOptionModule [ "security" "acme" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.")
-    (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
-    (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
-
-    # KSM
-    (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ])
-
-    # resolvconf
-    (mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ])
-    (mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ])
-    (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
-    (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
-
-    # 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.")
-    (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
-    (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
-    (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
-
-  ] ++ (forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
-                   "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
-                   "snmpExporter" "unifiExporter" "varnishExporter" ]
-       (opt: mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
-         The prometheus exporters are now configured using `services.prometheus.exporters'.
-         See the 18.03 release notes for more information.
-       '' ));
+    (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
+    (mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
+    (mkRemovedOptionModule [ "services.beegfsEnable" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services.beegfs" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services.osquery" ] "The osquery module has been removed")
+    (mkRemovedOptionModule [ "services.fourStore" ] "The fourStore module has been removed")
+    (mkRemovedOptionModule [ "services.fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
+
+    # Do NOT add any option renames here, see top of the file
+  ];
 }
diff --git a/nixpkgs/nixos/modules/security/acme.nix b/nixpkgs/nixos/modules/security/acme.nix
index b321c04e574c..890c421b0ea9 100644
--- a/nixpkgs/nixos/modules/security/acme.nix
+++ b/nixpkgs/nixos/modules/security/acme.nix
@@ -20,6 +20,16 @@ let
         '';
       };
 
+      server = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          ACME Directory Resource URI. Defaults to let's encrypt
+          production endpoint,
+          https://acme-v02.api.letsencrypt.org/directory, if unset.
+        '';
+      };
+
       domain = mkOption {
         type = types.str;
         default = name;
@@ -69,9 +79,9 @@ let
       plugins = mkOption {
         type = types.listOf (types.enum [
           "cert.der" "cert.pem" "chain.pem" "external.sh"
-          "fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json"
+          "fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json" "account_reg.json"
         ]);
-        default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" ];
+        default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" "account_reg.json" ];
         description = ''
           Plugins to enable. With default settings simp_le will
           store public certificate bundle in <filename>fullchain.pem</filename>,
@@ -109,7 +119,18 @@ in
 {
 
   ###### interface
-
+  imports = [
+    (mkRemovedOptionModule [ "security" "acme" "production" ] ''
+      Use security.acme.server to define your staging ACME server URL instead.
+
+      To use the let's encrypt staging server, use security.acme.server =
+      "https://acme-staging-v02.api.letsencrypt.org/directory".
+    ''
+    )
+    (mkRemovedOptionModule [ "security" "acme" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.")
+    (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
+    (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
+  ];
   options = {
     security.acme = {
 
@@ -129,6 +150,16 @@ in
         '';
       };
 
+      server = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          ACME Directory Resource URI. Defaults to let's encrypt
+          production endpoint,
+          <literal>https://acme-v02.api.letsencrypt.org/directory</literal>, if unset.
+        '';
+      };
+
       preliminarySelfsigned = mkOption {
         type = types.bool;
         default = true;
@@ -142,20 +173,6 @@ in
         '';
       };
 
-      production = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          If set to true, use Let's Encrypt's production environment
-          instead of the staging environment. The main benefit of the
-          staging environment is to get much higher rate limits.
-
-          See
-          <literal>https://letsencrypt.org/docs/staging-environment</literal>
-          for more detail.
-        '';
-      };
-
       certs = mkOption {
         default = { };
         type = with types; attrsOf (submodule certOpts);
@@ -198,13 +215,24 @@ in
                           ++ optionals (data.email != null) [ "--email" data.email ]
                           ++ concatMap (p: [ "-f" p ]) data.plugins
                           ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
-                          ++ optionals (!cfg.production) ["--server" "https://acme-staging.api.letsencrypt.org/directory"];
+                          ++ optionals (cfg.server != null || data.server != null) ["--server" (if data.server == null then cfg.server else data.server)];
                 acmeService = {
                   description = "Renew ACME Certificate for ${cert}";
                   after = [ "network.target" "network-online.target" ];
                   wants = [ "network-online.target" ];
+                  # simp_le uses requests, which uses certifi under the hood,
+                  # which doesn't respect the system trust store.
+                  # At least in the acme test, we provision a fake CA, impersonating the LE endpoint.
+                  # REQUESTS_CA_BUNDLE is a way to teach python requests to use something else
+                  environment.REQUESTS_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt";
                   serviceConfig = {
                     Type = "oneshot";
+                    # With RemainAfterExit the service is considered active even
+                    # after the main process having exited, which means when it
+                    # gets changed, the activation phase restarts it, meaning
+                    # the permissions of the StateDirectory get adjusted
+                    # according to the specified group
+                    RemainAfterExit = true;
                     SuccessExitStatus = [ "0" "1" ];
                     User = data.user;
                     Group = data.group;
@@ -213,9 +241,9 @@ in
                     StateDirectoryMode = rights;
                     WorkingDirectory = "/var/lib/${lpath}";
                     ExecStart = "${pkgs.simp_le}/bin/simp_le ${escapeShellArgs cmdline}";
-                    ExecStopPost =
+                    ExecStartPost =
                       let
-                        script = pkgs.writeScript "acme-post-stop" ''
+                        script = pkgs.writeScript "acme-post-start" ''
                           #!${pkgs.runtimeShell} -e
                           ${data.postRun}
                         '';
diff --git a/nixpkgs/nixos/modules/security/apparmor-suid.nix b/nixpkgs/nixos/modules/security/apparmor-suid.nix
index 498c2f25d1c0..3c93f5440ab5 100644
--- a/nixpkgs/nixos/modules/security/apparmor-suid.nix
+++ b/nixpkgs/nixos/modules/security/apparmor-suid.nix
@@ -4,6 +4,9 @@ let
 in
 with lib;
 {
+  imports = [
+    (mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ])
+  ];
 
   options.security.apparmor.confineSUIDApplications = mkOption {
     default = true;
diff --git a/nixpkgs/nixos/modules/security/chromium-suid-sandbox.nix b/nixpkgs/nixos/modules/security/chromium-suid-sandbox.nix
index 2255477f26e4..b83dbc4202a8 100644
--- a/nixpkgs/nixos/modules/security/chromium-suid-sandbox.nix
+++ b/nixpkgs/nixos/modules/security/chromium-suid-sandbox.nix
@@ -7,6 +7,10 @@ let
   sandbox = pkgs.chromium.sandbox;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
+  ];
+
   options.security.chromiumSuidSandbox.enable = mkOption {
     type = types.bool;
     default = false;
diff --git a/nixpkgs/nixos/modules/security/duosec.nix b/nixpkgs/nixos/modules/security/duosec.nix
index 997328ad9e6a..78a82b7154e7 100644
--- a/nixpkgs/nixos/modules/security/duosec.nix
+++ b/nixpkgs/nixos/modules/security/duosec.nix
@@ -25,19 +25,21 @@ let
     accept_env_factor=${boolToStr cfg.acceptEnvFactor}
   '';
 
-  loginCfgFile = optional cfg.ssh.enable
-    { source = pkgs.writeText "login_duo.conf" configFileLogin;
-      mode   = "0600";
-      user   = "sshd";
-      target = "duo/login_duo.conf";
-    };
+  loginCfgFile = optionalAttrs cfg.ssh.enable {
+    "duo/login_duo.conf" =
+      { source = pkgs.writeText "login_duo.conf" configFileLogin;
+        mode   = "0600";
+        user   = "sshd";
+      };
+  };
 
-  pamCfgFile = optional cfg.pam.enable
-    { source = pkgs.writeText "pam_duo.conf" configFilePam;
-      mode   = "0600";
-      user   = "sshd";
-      target = "duo/pam_duo.conf";
-    };
+  pamCfgFile = optional cfg.pam.enable {
+    "duo/pam_duo.conf" =
+      { source = pkgs.writeText "pam_duo.conf" configFilePam;
+        mode   = "0600";
+        user   = "sshd";
+      };
+  };
 in
 {
   options = {
@@ -186,7 +188,7 @@ in
      environment.systemPackages = [ pkgs.duo-unix ];
 
      security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";
-     environment.etc = loginCfgFile ++ pamCfgFile;
+     environment.etc = loginCfgFile // pamCfgFile;
 
      /* If PAM *and* SSH are enabled, then don't do anything special.
      If PAM isn't used, set the default SSH-only options. */
diff --git a/nixpkgs/nixos/modules/security/pam.nix b/nixpkgs/nixos/modules/security/pam.nix
index 11227354ad3b..bfc2a881387f 100644
--- a/nixpkgs/nixos/modules/security/pam.nix
+++ b/nixpkgs/nixos/modules/security/pam.nix
@@ -475,15 +475,19 @@ let
 
   motd = pkgs.writeText "motd" config.users.motd;
 
-  makePAMService = pamService:
-    { source = pkgs.writeText "${pamService.name}.pam" pamService.text;
-      target = "pam.d/${pamService.name}";
+  makePAMService = name: service:
+    { name = "pam.d/${name}";
+      value.source = pkgs.writeText "${name}.pam" service.text;
     };
 
 in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
+  ];
+
   ###### interface
 
   options = {
@@ -707,7 +711,7 @@ in
 
           Use "challenge-response" for offline validation using YubiKeys with HMAC-SHA-1
           Challenge-Response configurations. See the man-page ykpamcfg(1) for further
-          details on how to configure offline Challenge-Response validation. 
+          details on how to configure offline Challenge-Response validation.
 
           More information can be found <link
           xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
@@ -756,8 +760,7 @@ in
       };
     };
 
-    environment.etc =
-      mapAttrsToList (n: v: makePAMService v) config.security.pam.services;
+    environment.etc = mapAttrs' makePAMService config.security.pam.services;
 
     security.pam.services =
       { other.text =
@@ -773,11 +776,8 @@ in
           '';
 
         # Most of these should be moved to specific modules.
-        cups = {};
-        ftp = {};
         i3lock = {};
         i3lock-color = {};
-        screen = {};
         vlock = {};
         xlock = {};
         xscreensaver = {};
diff --git a/nixpkgs/nixos/modules/security/pam_mount.nix b/nixpkgs/nixos/modules/security/pam_mount.nix
index 8b131c54a2a5..77e22a96b553 100644
--- a/nixpkgs/nixos/modules/security/pam_mount.nix
+++ b/nixpkgs/nixos/modules/security/pam_mount.nix
@@ -36,8 +36,7 @@ in
   config = mkIf (cfg.enable || anyPamMount) {
 
     environment.systemPackages = [ pkgs.pam_mount ];
-    environment.etc = [{
-      target = "security/pam_mount.conf.xml";
+    environment.etc."security/pam_mount.conf.xml" = {
       source =
         let
           extraUserVolumes = filterAttrs (n: u: u.cryptHomeLuks != null) config.users.users;
@@ -50,9 +49,6 @@ in
           <pam_mount>
           <debug enable="0" />
 
-          ${concatStrings (map userVolumeEntry (attrValues extraUserVolumes))}
-          ${concatStringsSep "\n" cfg.extraVolumes}
-
           <!-- if activated, requires ofl from hxtools to be present -->
           <logout wait="0" hup="no" term="no" kill="no" />
           <!-- set PATH variable for pam_mount module -->
@@ -64,9 +60,12 @@ in
           <cryptmount>${pkgs.pam_mount}/bin/mount.crypt %(VOLUME) %(MNTPT)</cryptmount>
           <cryptumount>${pkgs.pam_mount}/bin/umount.crypt %(MNTPT)</cryptumount>
           <pmvarrun>${pkgs.pam_mount}/bin/pmvarrun -u %(USER) -o %(OPERATION)</pmvarrun>
+
+          ${concatStrings (map userVolumeEntry (attrValues extraUserVolumes))}
+          ${concatStringsSep "\n" cfg.extraVolumes}
           </pam_mount>
           '';
-    }];
+    };
 
   };
 }
diff --git a/nixpkgs/nixos/modules/security/polkit.nix b/nixpkgs/nixos/modules/security/polkit.nix
index f2b2df4004cb..a6724bd75832 100644
--- a/nixpkgs/nixos/modules/security/polkit.nix
+++ b/nixpkgs/nixos/modules/security/polkit.nix
@@ -42,15 +42,14 @@ in
 
     security.polkit.adminIdentities = mkOption {
       type = types.listOf types.str;
-      default = [ "unix-user:0" "unix-group:wheel" ];
+      default = [ "unix-group:wheel" ];
       example = [ "unix-user:alice" "unix-group:admin" ];
       description =
         ''
           Specifies which users are considered “administrators”, for those
           actions that require the user to authenticate as an
           administrator (i.e. have an <literal>auth_admin</literal>
-          value).  By default, this is the <literal>root</literal>
-          user and all users in the <literal>wheel</literal> group.
+          value).  By default, this is all users in the <literal>wheel</literal> group.
         '';
     };
 
diff --git a/nixpkgs/nixos/modules/security/rtkit.nix b/nixpkgs/nixos/modules/security/rtkit.nix
index f6dda21c6006..a7b27cbcf215 100644
--- a/nixpkgs/nixos/modules/security/rtkit.nix
+++ b/nixpkgs/nixos/modules/security/rtkit.nix
@@ -34,9 +34,8 @@ with lib;
 
     services.dbus.packages = [ pkgs.rtkit ];
 
-    users.users = singleton
-      { name = "rtkit";
-        uid = config.ids.uids.rtkit;
+    users.users.rtkit =
+      { uid = config.ids.uids.rtkit;
         description = "RealtimeKit daemon";
       };
 
diff --git a/nixpkgs/nixos/modules/security/sudo.nix b/nixpkgs/nixos/modules/security/sudo.nix
index 10ee036be84e..d899806ef058 100644
--- a/nixpkgs/nixos/modules/security/sudo.nix
+++ b/nixpkgs/nixos/modules/security/sudo.nix
@@ -212,7 +212,7 @@ in
 
     security.pam.services.sudo = { sshAgentAuth = true; };
 
-    environment.etc = singleton
+    environment.etc.sudoers =
       { source =
           pkgs.runCommand "sudoers"
           {
@@ -222,7 +222,6 @@ in
           # Make sure that the sudoers file is syntactically valid.
           # (currently disabled - NIXOS-66)
           "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out";
-        target = "sudoers";
         mode = "0440";
       };
 
diff --git a/nixpkgs/nixos/modules/security/wrappers/default.nix b/nixpkgs/nixos/modules/security/wrappers/default.nix
index 47738e7962ea..a0fadb018eca 100644
--- a/nixpkgs/nixos/modules/security/wrappers/default.nix
+++ b/nixpkgs/nixos/modules/security/wrappers/default.nix
@@ -94,6 +94,10 @@ let
       ) programs;
 in
 {
+  imports = [
+    (lib.mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead")
+    (lib.mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead")
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/services/admin/oxidized.nix b/nixpkgs/nixos/modules/services/admin/oxidized.nix
index 39112c3970d5..94b44630ba6c 100644
--- a/nixpkgs/nixos/modules/services/admin/oxidized.nix
+++ b/nixpkgs/nixos/modules/services/admin/oxidized.nix
@@ -89,6 +89,7 @@ in
       group = cfg.group;
       home = cfg.dataDir;
       createHome = true;
+      isSystemUser = true;
     };
 
     systemd.services.oxidized = {
@@ -110,6 +111,7 @@ in
         Restart  = "always";
         WorkingDirectory = cfg.dataDir;
         KillSignal = "SIGKILL";
+        PIDFile = "${cfg.dataDir}/.config/oxidized/pid";
       };
     };
   };
diff --git a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
index 302b94de1965..697732426ccf 100644
--- a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
+++ b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
@@ -80,7 +80,7 @@ in {
       configItems = mkOption {
         default = {};
         type = types.attrsOf types.str;
-        example = ''
+        example = literalExample ''
           {
             "auth_backends.1.authn" = "rabbit_auth_backend_ldap";
             "auth_backends.1.authz" = "rabbit_auth_backend_internal";
diff --git a/nixpkgs/nixos/modules/services/audio/alsa.nix b/nixpkgs/nixos/modules/services/audio/alsa.nix
index f632644af09e..990398e65463 100644
--- a/nixpkgs/nixos/modules/services/audio/alsa.nix
+++ b/nixpkgs/nixos/modules/services/audio/alsa.nix
@@ -12,6 +12,9 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/services/audio/jack.nix b/nixpkgs/nixos/modules/services/audio/jack.nix
index aa3351f401af..ceff366d0bbb 100644
--- a/nixpkgs/nixos/modules/services/audio/jack.nix
+++ b/nixpkgs/nixos/modules/services/audio/jack.nix
@@ -223,6 +223,7 @@ in {
         group = "jackaudio";
         extraGroups = [ "audio" ];
         description = "JACK Audio system service user";
+        isSystemUser = true;
       };
       # http://jackaudio.org/faq/linux_rt_config.html
       security.pam.loginLimits = [
diff --git a/nixpkgs/nixos/modules/services/audio/mpd.nix b/nixpkgs/nixos/modules/services/audio/mpd.nix
index 0df8f9688d25..e20591b5beb4 100644
--- a/nixpkgs/nixos/modules/services/audio/mpd.nix
+++ b/nixpkgs/nixos/modules/services/audio/mpd.nix
@@ -18,7 +18,6 @@ let
     ''}
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
-    log_file            "syslog"
     user                "${cfg.user}"
     group               "${cfg.group}"
 
@@ -181,22 +180,23 @@ in {
         ProtectKernelModules = true;
         RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_NETLINK";
         RestrictNamespaces = true;
+        Restart = "always";
       };
     };
 
-    users.users = optionalAttrs (cfg.user == name) (singleton {
-      inherit uid;
-      inherit name;
-      group = cfg.group;
-      extraGroups = [ "audio" ];
-      description = "Music Player Daemon user";
-      home = "${cfg.dataDir}";
-    });
-
-    users.groups = optionalAttrs (cfg.group == name) (singleton {
-      inherit name;
-      gid = gid;
-    });
+    users.users = optionalAttrs (cfg.user == name) {
+      ${name} = {
+        inherit uid;
+        group = cfg.group;
+        extraGroups = [ "audio" ];
+        description = "Music Player Daemon user";
+        home = "${cfg.dataDir}";
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == name) {
+      ${name}.gid = gid;
+    };
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/audio/roon-server.nix b/nixpkgs/nixos/modules/services/audio/roon-server.nix
index 4eda3c5708da..6aed485638cc 100644
--- a/nixpkgs/nixos/modules/services/audio/roon-server.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix b/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
index 1884f3536a97..e3a8d1f79934 100644
--- a/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
+++ b/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
@@ -99,7 +99,10 @@ in
 
     environment.systemPackages = [ pkg ];
 
-    users.users.${user}.group = group;
+    users.users.${user} = {
+      group = group;
+      isSystemUser = true;
+    };
     users.groups.${group} = { };
 
     systemd.tmpfiles.rules = [
diff --git a/nixpkgs/nixos/modules/services/backup/bacula.nix b/nixpkgs/nixos/modules/services/backup/bacula.nix
index 41bda7893a75..cef304734aee 100644
--- a/nixpkgs/nixos/modules/services/backup/bacula.nix
+++ b/nixpkgs/nixos/modules/services/backup/bacula.nix
@@ -44,7 +44,17 @@ let
         Pid Directory = "/run";
         ${sd_cfg.extraStorageConfig}
       }
- 
+
+      ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
+      Autochanger {
+        Name = "${name}";
+        Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)};
+        Changer Device =  "${value.changerDevice}";
+        Changer Command = "${value.changerCommand}";
+        ${value.extraAutochangerConfig}
+      }
+      '') sd_cfg.autochanger)}
+
       ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
       Device {
         Name = "${name}";
@@ -103,7 +113,19 @@ let
       password = mkOption {
         # TODO: required?
         description = ''
-           Specifies the password that must be supplied for a Director to b
+          Specifies the password that must be supplied for the default Bacula
+          Console to be authorized. The same password must appear in the
+          Director resource of the Console configuration file. For added
+          security, the password is never passed across the network but instead
+          a challenge response hash code created with the password. This
+          directive is required. If you have either /dev/random or bc on your
+          machine, Bacula will generate a random password during the
+          configuration process, otherwise it will be left blank and you must
+          manually supply it.
+
+          The password is plain text. It is not generated through any special
+          process but as noted above, it is better to use random text for
+          security reasons. 
         '';
       };
       
@@ -111,26 +133,133 @@ let
         default = "no";
         example = "yes";
         description = ''
-           If Monitor is set to no (default), this director will have full 
+          If Monitor is set to <literal>no</literal>, this director will have
+          full access to this Storage daemon. If Monitor is set to
+          <literal>yes</literal>, this director will only be able to fetch the
+          current status of this Storage daemon.
+
+          Please note that if this director is being used by a Monitor, we
+          highly recommend to set this directive to yes to avoid serious
+          security problems. 
+        '';
+      };
+    };
+  };
+
+  autochangerOptions = {...}:
+  {
+    options = {
+      changerDevice = mkOption {
+        description = ''
+          The specified name-string must be the generic SCSI device name of the
+          autochanger that corresponds to the normal read/write Archive Device
+          specified in the Device resource. This generic SCSI device name
+          should be specified if you have an autochanger or if you have a
+          standard tape drive and want to use the Alert Command (see below).
+          For example, on Linux systems, for an Archive Device name of
+          <literal>/dev/nst0</literal>, you would specify
+          <literal>/dev/sg0</literal> for the Changer Device name.  Depending
+          on your exact configuration, and the number of autochangers or the
+          type of autochanger, what you specify here can vary. This directive
+          is optional. See the Using AutochangersAutochangersChapter chapter of
+          this manual for more details of using this and the following
+          autochanger directives.         
+          '';
+      };
+
+      changerCommand = mkOption {
+        description = ''
+          The name-string specifies an external program to be called that will
+          automatically change volumes as required by Bacula. Normally, this
+          directive will be specified only in the AutoChanger resource, which
+          is then used for all devices. However, you may also specify the
+          different Changer Command in each Device resource. Most frequently,
+          you will specify the Bacula supplied mtx-changer script as follows:
+
+          <literal>"/path/mtx-changer %c %o %S %a %d"</literal>
+
+          and you will install the mtx on your system (found in the depkgs
+          release). An example of this command is in the default bacula-sd.conf
+          file. For more details on the substitution characters that may be
+          specified to configure your autochanger please see the
+          AutochangersAutochangersChapter chapter of this manual. For FreeBSD
+          users, you might want to see one of the several chio scripts in
+          examples/autochangers.
+          '';
+        default = "/etc/bacula/mtx-changer %c %o %S %a %d";
+      };
+
+      devices = mkOption {
+        description = ''
+        '';
+      };
+
+      extraAutochangerConfig = mkOption {
+        default = "";
+        description = ''
+          Extra configuration to be passed in Autochanger directive.
+        '';
+        example = ''
+   
         '';
       };
     };
   };
 
+
   deviceOptions = {...}:
   {
     options = {
       archiveDevice = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string gives the system file name of the storage device managed by this storage daemon. This will usually be the device file name of a removable storage device (tape drive), for example " /dev/nst0" or "/dev/rmt/0mbn". For a DVD-writer, it will be for example /dev/hdc. It may also be a directory name if you are archiving to disk storage.
+          The specified name-string gives the system file name of the storage
+          device managed by this storage daemon. This will usually be the
+          device file name of a removable storage device (tape drive), for
+          example <literal>/dev/nst0</literal> or
+          <literal>/dev/rmt/0mbn</literal>. For a DVD-writer, it will be for
+          example <literal>/dev/hdc</literal>. It may also be a directory name
+          if you are archiving to disk storage. In this case, you must supply
+          the full absolute path to the directory. When specifying a tape
+          device, it is preferable that the "non-rewind" variant of the device
+          file name be given. 
         '';
       };
 
       mediaType = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string names the type of media supported by this device, for example, "DLT7000". Media type names are arbitrary in that you set them to anything you want, but they must be known to the volume database to keep track of which storage daemons can read which volumes. In general, each different storage type should have a unique Media Type associated with it. The same name-string must appear in the appropriate Storage resource definition in the Director's configuration file.
+          The specified name-string names the type of media supported by this
+          device, for example, <literal>DLT7000</literal>. Media type names are
+          arbitrary in that you set them to anything you want, but they must be
+          known to the volume database to keep track of which storage daemons
+          can read which volumes. In general, each different storage type
+          should have a unique Media Type associated with it. The same
+          name-string must appear in the appropriate Storage resource
+          definition in the Director's configuration file.
+
+          Even though the names you assign are arbitrary (i.e. you choose the
+          name you want), you should take care in specifying them because the
+          Media Type is used to determine which storage device Bacula will
+          select during restore. Thus you should probably use the same Media
+          Type specification for all drives where the Media can be freely
+          interchanged. This is not generally an issue if you have a single
+          Storage daemon, but it is with multiple Storage daemons, especially
+          if they have incompatible media.
+
+          For example, if you specify a Media Type of <literal>DDS-4</literal>
+          then during the restore, Bacula will be able to choose any Storage
+          Daemon that handles <literal>DDS-4</literal>. If you have an
+          autochanger, you might want to name the Media Type in a way that is
+          unique to the autochanger, unless you wish to possibly use the
+          Volumes in other drives. You should also ensure to have unique Media
+          Type names if the Media is not compatible between drives. This
+          specification is required for all devices.
+
+          In addition, if you are using disk storage, each Device resource will
+          generally have a different mount point or directory. In order for
+          Bacula to select the correct Device resource, each one must have a
+          unique Media Type.
         '';
       };
 
@@ -166,8 +295,8 @@ in {
         default = "${config.networking.hostName}-fd";
         description = ''
           The client name that must be used by the Director when connecting.
-          Generally, it is a good idea to use a name related to the machine
-          so that error messages can be easily identified if you have multiple
+          Generally, it is a good idea to use a name related to the machine so
+          that error messages can be easily identified if you have multiple
           Clients. This directive is required.
         '';
       };
@@ -232,7 +361,8 @@ in {
         default = 9103;
         type = types.int;
         description = ''
-          Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.
+          Specifies port number on which the Storage daemon listens for
+          Director connections.
         '';
       };
 
@@ -251,7 +381,15 @@ in {
         '';
         type = with types; attrsOf (submodule deviceOptions);
       };
- 
+
+      autochanger = mkOption {
+        default = {};
+        description = ''
+          This option defines Autochanger resources in Bacula Storage Daemon.
+        '';
+        type = with types; attrsOf (submodule autochangerOptions);
+      };
+
       extraStorageConfig = mkOption {
         default = "";
         description = ''
@@ -287,7 +425,8 @@ in {
       name = mkOption {
         default = "${config.networking.hostName}-dir";
         description = ''
-          The director name used by the system administrator. This directive is required.
+          The director name used by the system administrator. This directive is
+          required.
         '';
       };
  
@@ -295,7 +434,12 @@ in {
         default = 9101;
         type = types.int;
         description = ''
-          Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.
+          Specify the port (a positive integer) on which the Director daemon
+          will listen for Bacula Console connections. This same port number
+          must be specified in the Director resource of the Console
+          configuration file. The default is 9101, so normally this directive
+          need not be specified. This directive should not be used if you
+          specify DirAddresses (N.B plural) directive.
         '';
       };
  
diff --git a/nixpkgs/nixos/modules/services/backup/borgbackup.nix b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
index 2ad116a7872a..a2eb80c55a8c 100644
--- a/nixpkgs/nixos/modules/services/backup/borgbackup.nix
+++ b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
@@ -8,7 +8,7 @@ let
     builtins.substring 0 1 x == "/"      # absolute path
     || builtins.substring 0 1 x == "."   # relative path
     || builtins.match "[.*:.*]" == null; # not machine:path
- 
+
   mkExcludeFile = cfg:
     # Write each exclude pattern to a new line
     pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude);
@@ -68,7 +68,7 @@ let
       { BORG_PASSPHRASE = passphrase; }
     else { };
 
-  mkBackupService = name: cfg: 
+  mkBackupService = name: cfg:
     let
       userHome = config.users.users.${cfg.user}.home;
     in nameValuePair "borgbackup-job-${name}" {
@@ -98,18 +98,35 @@ let
       inherit (cfg) startAt;
     };
 
+  # utility function around makeWrapper
+  mkWrapperDrv = {
+      original, name, set ? {}
+    }:
+    pkgs.runCommandNoCC "${name}-wrapper" {
+      buildInputs = [ pkgs.makeWrapper ];
+    } (with lib; ''
+      makeWrapper "${original}" "$out/bin/${name}" \
+        ${concatStringsSep " \\\n " (mapAttrsToList (name: value: ''--set ${name} "${value}"'') set)}
+    '');
+
+  mkBorgWrapper = name: cfg: mkWrapperDrv {
+    original = "${pkgs.borgbackup}/bin/borg";
+    name = "borg-job-${name}";
+    set = { BORG_REPO = cfg.repo; } // (mkPassEnv cfg) // cfg.environment;
+  };
+
   # Paths listed in ReadWritePaths must exist before service is started
   mkActivationScript = name: cfg:
     let
       install = "install -o ${cfg.user} -g ${cfg.group}";
     in
       nameValuePair "borgbackup-job-${name}" (stringAfter [ "users" ] (''
-        # Eensure that the home directory already exists
+        # Ensure that the home directory already exists
         # We can't assert createHome == true because that's not the case for root
-        cd "${config.users.users.${cfg.user}.home}"                                                                                                         
+        cd "${config.users.users.${cfg.user}.home}"
         ${install} -d .config/borg
         ${install} -d .cache/borg
-      '' + optionalString (isLocalPath cfg.repo) ''
+      '' + optionalString (isLocalPath cfg.repo && !cfg.removableDevice) ''
         ${install} -d ${escapeShellArg cfg.repo}
       ''));
 
@@ -163,13 +180,24 @@ let
       + " without at least one public key";
   };
 
+  mkRemovableDeviceAssertions = name: cfg: {
+    assertion = !(isLocalPath cfg.repo) -> !cfg.removableDevice;
+    message = ''
+      borgbackup.repos.${name}: repo isn't a local path, thus it can't be a removable device!
+    '';
+  };
+
 in {
   meta.maintainers = with maintainers; [ dotlambda ];
 
   ###### interface
 
   options.services.borgbackup.jobs = mkOption {
-    description = "Deduplicating backups using BorgBackup.";
+    description = ''
+      Deduplicating backups using BorgBackup.
+      Adding a job will cause a borg-job-NAME wrapper to be added
+      to your system path, so that you can perform maintenance easily.
+    '';
     default = { };
     example = literalExample ''
       {
@@ -202,6 +230,12 @@ in {
             example = "user@machine:/path/to/repo";
           };
 
+          removableDevice = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether the repo (which must be local) is a removable device.";
+          };
+
           archiveBaseName = mkOption {
             type = types.strMatching "[^/{}]+";
             default = "${globalConfig.networking.hostName}-${name}";
@@ -511,7 +545,6 @@ in {
     type = types.attrsOf (types.submodule (
       { ... }: {
         options = {
-          
           path = mkOption {
             type = types.path;
             description = ''
@@ -598,7 +631,8 @@ in {
     (with config.services.borgbackup; {
       assertions =
         mapAttrsToList mkPassAssertion jobs
-        ++ mapAttrsToList mkKeysAssertion repos;
+        ++ mapAttrsToList mkKeysAssertion repos
+        ++ mapAttrsToList mkRemovableDeviceAssertions jobs;
 
       system.activationScripts = mapAttrs' mkActivationScript jobs;
 
@@ -610,6 +644,6 @@ in {
 
       users = mkMerge (mapAttrsToList mkUsersConfig repos);
 
-      environment.systemPackages = with pkgs; [ borgbackup ];
+      environment.systemPackages = with pkgs; [ borgbackup ] ++ (mapAttrsToList mkBorgWrapper jobs);
     });
 }
diff --git a/nixpkgs/nixos/modules/services/backup/mysql-backup.nix b/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
index dbd5605143f6..f58af82773f3 100644
--- a/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
+++ b/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
@@ -84,13 +84,14 @@ in
   };
 
   config = mkIf cfg.enable {
-    users.users = optionalAttrs (cfg.user == defaultUser) (singleton
-      { name = defaultUser;
+    users.users = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} = {
         isSystemUser = true;
         createHome = false;
         home = cfg.location;
         group = "nogroup";
-      });
+      };
+    };
 
     services.mysql.ensureUsers = [{
       name = cfg.user;
diff --git a/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix b/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
index 13a36ae32ac0..580c7ce68f1d 100644
--- a/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
@@ -35,6 +35,13 @@ let
 
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "postgresqlBackup" "period" ] ''
+       A systemd timer is now used instead of cron.
+       The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
+    '')
+  ];
+
   options = {
     services.postgresqlBackup = {
       enable = mkOption {
@@ -82,7 +89,7 @@ in {
 
       pgdumpOptions = mkOption {
         type = types.separatedString " ";
-        default = "-Cbo";
+        default = "-C";
         description = ''
           Command line options for pg_dump. This options is not used
           if <literal>config.services.postgresqlBackup.backupAll</literal> is enabled.
diff --git a/nixpkgs/nixos/modules/services/backup/tarsnap.nix b/nixpkgs/nixos/modules/services/backup/tarsnap.nix
index 4fc7c24813a5..6d99a1efb613 100644
--- a/nixpkgs/nixos/modules/services/backup/tarsnap.nix
+++ b/nixpkgs/nixos/modules/services/backup/tarsnap.nix
@@ -23,6 +23,10 @@ let
   '';
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
+  ];
+
   options = {
     services.tarsnap = {
       enable = mkOption {
diff --git a/nixpkgs/nixos/modules/services/backup/znapzend.nix b/nixpkgs/nixos/modules/services/backup/znapzend.nix
index f317078ddda2..203631a577f0 100644
--- a/nixpkgs/nixos/modules/services/backup/znapzend.nix
+++ b/nixpkgs/nixos/modules/services/backup/znapzend.nix
@@ -34,6 +34,8 @@ let
     description = "string of the form number{b|k|M|G}";
   };
 
+  enabledFeatures = concatLists (mapAttrsToList (name: enabled: optional enabled name) cfg.features);
+
   # Type for a string that must contain certain other strings (the list parameter).
   # Note that these would need regex escaping.
   stringContainingStrings = list: let
@@ -354,6 +356,22 @@ in
         '';
         default = false;
       };
+
+      features.recvu = mkEnableOption ''
+        recvu feature which uses <literal>-u</literal> on the receiving end to keep the destination
+        filesystem unmounted.
+      '';
+      features.compressed = mkEnableOption ''
+        compressed feature which adds the options <literal>-Lce</literal> to
+        the <command>zfs send</command> command. When this is enabled, make
+        sure that both the sending and receiving pool have the same relevant
+        features enabled. Using <literal>-c</literal> will skip unneccessary
+        decompress-compress stages, <literal>-L</literal> is for large block
+        support and -e is for embedded data support. see
+        <citerefentry><refentrytitle>znapzend</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+        and <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        for more info.
+      '';
     };
   };
 
@@ -381,12 +399,22 @@ in
         '';
 
         serviceConfig = {
+          # znapzendzetup --import apparently tries to connect to the backup
+          # host 3 times with a timeout of 30 seconds, leading to a startup
+          # delay of >90s when the host is down, which is just above the default
+          # service timeout of 90 seconds. Increase the timeout so it doesn't
+          # make the service fail in that case.
+          TimeoutStartSec = 180;
+          # Needs to have write access to ZFS
+          User = "root";
           ExecStart = let
             args = concatStringsSep " " [
               "--logto=${cfg.logTo}"
               "--loglevel=${cfg.logLevel}"
               (optionalString cfg.noDestroy "--nodestroy")
               (optionalString cfg.autoCreation "--autoCreation")
+              (optionalString (enabledFeatures != [])
+                "--features=${concatStringsSep "," enabledFeatures}")
             ]; in "${pkgs.znapzend}/bin/znapzend ${args}";
           ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
           Restart = "on-failure";
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
index 70f96d75a461..2ed7742eda09 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
@@ -5,6 +5,10 @@ with lib;
 let
   cfg = config.services.kubernetes.addons.dashboard;
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ])
+  ];
+
   options.services.kubernetes.addons.dashboard = {
     enable = mkEnableOption "kubernetes dashboard addon";
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 47e588de3c93..f12e866930da 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
index 33796bf2e080..95bdb4c0d14e 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -13,6 +13,18 @@ let
   )) + ".1");
 in
 {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"])
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"])
+    (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "")
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ])
+  ];
+
   ###### interface
   options.services.kubernetes.apiserver = with lib.types; {
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index 0b73d090f241..a99ef6640e97 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -7,6 +7,11 @@ let
   cfg = top.controllerManager;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"])
+    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"])
+  ];
+
   ###### interface
   options.services.kubernetes.controllerManager = with lib.types; {
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
index 3790ac9b6918..3a11a6513a49 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
@@ -74,6 +74,10 @@ let
   };
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "")
+  ];
+
   ###### interface
 
   options.services.kubernetes = {
@@ -262,8 +266,7 @@ in {
         "d /var/lib/kubernetes 0755 kubernetes kubernetes -"
       ];
 
-      users.users = singleton {
-        name = "kubernetes";
+      users.users.kubernetes = {
         uid = config.ids.uids.kubernetes;
         description = "Kubernetes user";
         extraGroups = [ "docker" ];
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
index d799e638fc94..548ffed1ddb5 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 250da4c807ec..c3d67552cc8c 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -52,6 +52,12 @@ let
   taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.taints);
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "")
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "")
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "allowPrivileged" ] "")
+  ];
+
   ###### interface
   options.services.kubernetes.kubelet = with lib.types; {
 
@@ -92,7 +98,7 @@ in
         default = [];
         example = literalExample ''
           [{
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "name": "mynet",
             "type": "bridge",
             "bridge": "cni0",
@@ -106,7 +112,7 @@ in
                 ]
             }
           } {
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "type": "loopback"
           }]
         '';
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
index bd4bf04ea833..86d1dc2439bd 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -7,6 +7,9 @@ let
   cfg = top.proxy;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"])
+  ];
 
   ###### interface
   options.services.kubernetes.proxy = with lib.types; {
@@ -31,6 +34,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 +68,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 +79,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/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix b/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
index d1a1383e45b0..c70d999ca96d 100644
--- a/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
@@ -18,7 +18,7 @@ let
       ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
       ${toString (map (x: "NodeName=${x}\n") cfg.nodeName)}
       ${toString (map (x: "PartitionName=${x}\n") cfg.partitionName)}
-      PlugStackConfig=${plugStackConfig}
+      PlugStackConfig=${plugStackConfig}/plugstack.conf
       ProctrackType=${cfg.procTrackType}
       ${cfg.extraConfig}
     '';
@@ -39,6 +39,8 @@ let
      DbdHost=${cfg.dbdserver.dbdHost}
      SlurmUser=${cfg.user}
      StorageType=accounting_storage/mysql
+     StorageUser=${cfg.dbdserver.storageUser}
+     ${optionalString (cfg.dbdserver.storagePass != null) "StoragePass=${cfg.dbdserver.storagePass}"}
      ${cfg.dbdserver.extraConfig}
    '';
 
@@ -48,7 +50,6 @@ let
     name = "etc-slurm";
     paths = [ configFile cgroupConfig plugStackConfig ] ++ cfg.extraConfigPaths;
   };
-
 in
 
 {
@@ -86,6 +87,37 @@ in
           '';
         };
 
+        storageUser = mkOption {
+          type = types.str;
+          default = cfg.user;
+          description = ''
+            Database user name.
+          '';
+        };
+
+        storagePass = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Database password. Note that this password will be publicable
+            readable in the nix store. Use <option>configFile</option>
+            to store the and config file and password outside the nix store.
+          '';
+        };
+
+        configFile = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Path to <literal>slurmdbd.conf</literal>. The password for the database connection
+            is stored in the config file. Use this option to specfify a path
+            outside the nix store. If this option is unset a configuration file
+            will be generated. See also:
+            <citerefentry><refentrytitle>slurmdbd.conf</refentrytitle>
+            <manvolnum>8</manvolnum></citerefentry>.
+          '';
+        };
+
         extraConfig = mkOption {
           type = types.lines;
           default = "";
@@ -112,7 +144,7 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.slurm;
+        default = pkgs.slurm.override { enableX11 = ! cfg.enableSrunX11; };
         defaultText = "pkgs.slurm";
         example = literalExample "pkgs.slurm-full";
         description = ''
@@ -178,9 +210,14 @@ in
           If enabled srun will accept the option "--x11" to allow for X11 forwarding
           from within an interactive session or a batch job. This activates the
           slurm-spank-x11 module. Note that this option also enables
-          'services.openssh.forwardX11' on the client.
+          <option>services.openssh.forwardX11</option> on the client.
 
           This option requires slurm to be compiled without native X11 support.
+          The default behavior is to re-compile the slurm package with native X11
+          support disabled if this option is set to true.
+
+          To use the native X11 support add <literal>PrologFlags=X11</literal> in <option>extraConfig</option>.
+          Note that this method will only work RSA SSH host keys.
         '';
       };
 
@@ -356,7 +393,11 @@ in
       requires = [ "munged.service" "mysql.service" ];
 
       # slurm strips the last component off the path
-      environment.SLURM_CONF = "${slurmdbdConf}/slurm.conf";
+      environment.SLURM_CONF =
+        if (cfg.dbdserver.configFile == null) then
+          "${slurmdbdConf}/slurm.conf"
+        else
+          cfg.dbdserver.configFile;
 
       serviceConfig = {
         Type = "forking";
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
index 9c615fbe885f..326d2cbd82cc 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -223,18 +223,19 @@ in {
 
   config = mkIf cfg.enable {
     users.groups = optional (cfg.group == "buildbot") {
-      name = "buildbot";
+      buildbot = { };
     };
 
-    users.users = optional (cfg.user == "buildbot") {
-      name = "buildbot";
-      description = "Buildbot User.";
-      isNormalUser = true;
-      createHome = true;
-      home = cfg.home;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      useDefaultShell = true;
+    users.users = optionalAttrs (cfg.user == "buildbot") {
+      buildbot = {
+        description = "Buildbot User.";
+        isNormalUser = true;
+        createHome = true;
+        home = cfg.home;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        useDefaultShell = true;
+      };
     };
 
     systemd.services.buildbot-master = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixpkgs/nixos/modules/services/continuous-integration/buildbot/worker.nix
index 49e04ca36228..7613692f0a34 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/buildbot/worker.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/buildbot/worker.nix
@@ -137,18 +137,19 @@ in {
     services.buildbot-worker.workerPassFile = mkDefault (pkgs.writeText "buildbot-worker-password" cfg.workerPass);
 
     users.groups = optional (cfg.group == "bbworker") {
-      name = "bbworker";
+      bbworker = { };
     };
 
-    users.users = optional (cfg.user == "bbworker") {
-      name = "bbworker";
-      description = "Buildbot Worker User.";
-      isNormalUser = true;
-      createHome = true;
-      home = cfg.home;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      useDefaultShell = true;
+    users.users = optionalAttrs (cfg.user == "bbworker") {
+      bbworker = {
+        description = "Buildbot Worker User.";
+        isNormalUser = true;
+        createHome = true;
+        home = cfg.home;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        useDefaultShell = true;
+      };
     };
 
     systemd.services.buildbot-worker = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agent.nix
index 12cc3d2b1ccc..32f361454bc1 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -191,6 +191,7 @@ in
         createHome = true;
         description = "Buildkite agent user";
         extraGroups = [ "keys" ];
+        isSystemUser = true;
       };
 
     environment.systemPackages = [ cfg.package ];
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
index 8126f27c2b0c..2e9e1c94857a 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
@@ -135,20 +135,20 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.groups = optional (cfg.group == "gocd-agent") {
-      name = "gocd-agent";
-      gid = config.ids.gids.gocd-agent;
+    users.groups = optionalAttrs (cfg.group == "gocd-agent") {
+      gocd-agent.gid = config.ids.gids.gocd-agent;
     };
 
-    users.users = optional (cfg.user == "gocd-agent") {
-      name = "gocd-agent";
-      description = "gocd-agent user";
-      createHome = true;
-      home = cfg.workDir;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      useDefaultShell = true;
-      uid = config.ids.uids.gocd-agent;
+    users.users = optionalAttrs (cfg.user == "gocd-agent") {
+      gocd-agent = {
+        description = "gocd-agent user";
+        createHome = true;
+        home = cfg.workDir;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        useDefaultShell = true;
+        uid = config.ids.uids.gocd-agent;
+      };
     };
 
     systemd.services.gocd-agent = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
index 8f177da129e5..4fa41ac49edf 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
@@ -143,20 +143,20 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.groups = optional (cfg.group == "gocd-server") {
-      name = "gocd-server";
-      gid = config.ids.gids.gocd-server;
+    users.groups = optionalAttrs (cfg.group == "gocd-server") {
+      gocd-server.gid = config.ids.gids.gocd-server;
     };
 
-    users.users = optional (cfg.user == "gocd-server") {
-      name = "gocd-server";
-      description = "gocd-server user";
-      createHome = true;
-      home = cfg.workDir;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      useDefaultShell = true;
-      uid = config.ids.uids.gocd-server;
+    users.users = optionalAttrs (cfg.user == "gocd-server") {
+      gocd-server = {
+        description = "gocd-server user";
+        createHome = true;
+        home = cfg.workDir;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        useDefaultShell = true;
+        uid = config.ids.uids.gocd-server;
+      };
     };
 
     systemd.services.gocd-server = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
index 2da10a9a5e2a..30c5550f71c5 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -242,8 +242,8 @@ in
     environment.variables = hydraEnv;
 
     nix.extraOptions = ''
-      gc-keep-outputs = true
-      gc-keep-derivations = true
+      keep-outputs = true
+      keep-derivations = true
 
       # The default (`true') slows Nix down a lot since the build farm
       # has so many GC roots.
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
index 0ec906713885..1477c471f8ab 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -150,20 +150,20 @@ in {
       pkgs.dejavu_fonts
     ];
 
-    users.groups = optional (cfg.group == "jenkins") {
-      name = "jenkins";
-      gid = config.ids.gids.jenkins;
+    users.groups = optionalAttrs (cfg.group == "jenkins") {
+      jenkins.gid = config.ids.gids.jenkins;
     };
 
-    users.users = optional (cfg.user == "jenkins") {
-      name = "jenkins";
-      description = "jenkins user";
-      createHome = true;
-      home = cfg.home;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      useDefaultShell = true;
-      uid = config.ids.uids.jenkins;
+    users.users = optionalAttrs (cfg.user == "jenkins") {
+      jenkins = {
+        description = "jenkins user";
+        createHome = true;
+        home = cfg.home;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        useDefaultShell = true;
+        uid = config.ids.uids.jenkins;
+      };
     };
 
     systemd.services.jenkins = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/slave.nix
index 92deabc3dd3b..26368cb94e47 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/slave.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/slave.nix
@@ -51,18 +51,18 @@ in {
 
   config = mkIf (cfg.enable && !masterCfg.enable) {
     users.groups = optional (cfg.group == "jenkins") {
-      name = "jenkins";
-      gid = config.ids.gids.jenkins;
+      jenkins.gid = config.ids.gids.jenkins;
     };
 
-    users.users = optional (cfg.user == "jenkins") {
-      name = "jenkins";
-      description = "jenkins user";
-      createHome = true;
-      home = cfg.home;
-      group = cfg.group;
-      useDefaultShell = true;
-      uid = config.ids.uids.jenkins;
+    users.users = optionalAttrs (cfg.user == "jenkins") {
+      jenkins = {
+        description = "jenkins user";
+        createHome = true;
+        home = cfg.home;
+        group = cfg.group;
+        useDefaultShell = true;
+        uid = config.ids.uids.jenkins;
+      };
     };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/databases/4store-endpoint.nix b/nixpkgs/nixos/modules/services/databases/4store-endpoint.nix
deleted file mode 100644
index 59ed0e5f0afd..000000000000
--- a/nixpkgs/nixos/modules/services/databases/4store-endpoint.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.services.fourStoreEndpoint;
-  endpointUser = "fourstorehttp";
-  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${endpointUser} -c";
-in
-with lib;
-{
-
-  ###### interface
-
-  options = {
-
-    services.fourStoreEndpoint = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable 4Store SPARQL endpoint.";
-      };
-
-      database = mkOption {
-        default = config.services.fourStore.database;
-        description = "RDF database name to expose via the endpoint. Defaults to local 4Store database name.";
-      };
-
-      listenAddress = mkOption {
-        default = null;
-        description = "IP address to listen on.";
-      };
-
-      port = mkOption {
-        default = 8080;
-        description = "port to listen on.";
-      };
-
-      options = mkOption {
-        default = "";
-        description = "Extra CLI options to pass to 4Store's 4s-httpd process.";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    assertions = singleton
-      { assertion = cfg.enable -> cfg.database != "";
-        message = "Must specify 4Store database name";
-      };
-
-    users.users = singleton
-      { name = endpointUser;
-        uid = config.ids.uids.fourstorehttp;
-        description = "4Store SPARQL endpoint user";
-      };
-
-    services.avahi.enable = true;
-
-    systemd.services."4store-endpoint" = {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      script = ''
-        ${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}'
-      '';
-    };
-
-  };
-
-}
diff --git a/nixpkgs/nixos/modules/services/databases/4store.nix b/nixpkgs/nixos/modules/services/databases/4store.nix
deleted file mode 100644
index be4351c1c38f..000000000000
--- a/nixpkgs/nixos/modules/services/databases/4store.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.services.fourStore;
-  stateDir = "/var/lib/4store";
-  fourStoreUser = "fourstore";
-  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${fourStoreUser}";
-in
-with lib;
-{
-
-  ###### interface
-
-  options = {
-
-    services.fourStore = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable 4Store RDF database server.";
-      };
-
-      database = mkOption {
-        default = "";
-        description = "RDF database name. If it doesn't exist, it will be created. Databases are stored in ${stateDir}.";
-      };
-
-      options = mkOption {
-        default = "";
-        description = "Extra CLI options to pass to 4Store.";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    assertions = singleton
-      { assertion = cfg.enable -> cfg.database != "";
-        message = "Must specify 4Store database name.";
-      };
-
-    users.users = singleton
-      { name = fourStoreUser;
-        uid = config.ids.uids.fourstore;
-        description = "4Store database user";
-        home = stateDir;
-      };
-
-    services.avahi.enable = true;
-
-    systemd.services."4store" = {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      preStart = ''
-        mkdir -p ${stateDir}/
-        chown ${fourStoreUser} ${stateDir}
-        if ! test -e "${stateDir}/${cfg.database}"; then
-          ${run} -c '${pkgs.rdf4store}/bin/4s-backend-setup ${cfg.database}'
-        fi
-      '';
-
-      script = ''
-        ${run} -c '${pkgs.rdf4store}/bin/4s-backend -D ${cfg.options} ${cfg.database}'
-      '';
-    };
-  };
-}
diff --git a/nixpkgs/nixos/modules/services/databases/cockroachdb.nix b/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
index 268fdcc819fd..b6f94a4881a0 100644
--- a/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
+++ b/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
@@ -171,17 +171,17 @@ in
 
     environment.systemPackages = [ crdb ];
 
-    users.users = optionalAttrs (cfg.user == "cockroachdb") (singleton
-      { name        = "cockroachdb";
+    users.users = optionalAttrs (cfg.user == "cockroachdb") {
+      cockroachdb = {
         description = "CockroachDB Server User";
         uid         = config.ids.uids.cockroachdb;
         group       = cfg.group;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "cockroachdb") (singleton
-      { name = "cockroachdb";
-        gid  = config.ids.gids.cockroachdb;
-      });
+    users.groups = optionalAttrs (cfg.group == "cockroachdb") {
+      cockroachdb.gid = config.ids.gids.cockroachdb;
+    };
 
     networking.firewall.allowedTCPPorts = lib.optionals cfg.openPorts
       [ cfg.http.port cfg.listen.port ];
diff --git a/nixpkgs/nixos/modules/services/databases/foundationdb.nix b/nixpkgs/nixos/modules/services/databases/foundationdb.nix
index 8f8d0da7c8d3..18727acc7c75 100644
--- a/nixpkgs/nixos/modules/services/databases/foundationdb.nix
+++ b/nixpkgs/nixos/modules/services/databases/foundationdb.nix
@@ -341,17 +341,17 @@ in
 
     environment.systemPackages = [ pkg ];
 
-    users.users = optionalAttrs (cfg.user == "foundationdb") (singleton
-      { name        = "foundationdb";
+    users.users = optionalAttrs (cfg.user == "foundationdb") {
+      foundationdb = {
         description = "FoundationDB User";
         uid         = config.ids.uids.foundationdb;
         group       = cfg.group;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "foundationdb") (singleton
-      { name = "foundationdb";
-        gid  = config.ids.gids.foundationdb;
-      });
+    users.groups = optionalAttrs (cfg.group == "foundationdb") {
+      foundationdb.gid = config.ids.gids.foundationdb;
+    };
 
     networking.firewall.allowedTCPPortRanges = mkIf cfg.openFirewall
       [ { from = cfg.listenPortStart;
diff --git a/nixpkgs/nixos/modules/services/databases/influxdb.nix b/nixpkgs/nixos/modules/services/databases/influxdb.nix
index 2f176a038729..dd5d69b1147a 100644
--- a/nixpkgs/nixos/modules/services/databases/influxdb.nix
+++ b/nixpkgs/nixos/modules/services/databases/influxdb.nix
@@ -182,15 +182,15 @@ in
         '';
     };
 
-    users.users = optional (cfg.user == "influxdb") {
-      name = "influxdb";
-      uid = config.ids.uids.influxdb;
-      description = "Influxdb daemon user";
+    users.users = optionalAttrs (cfg.user == "influxdb") {
+      influxdb = {
+        uid = config.ids.uids.influxdb;
+        description = "Influxdb daemon user";
+      };
     };
 
-    users.groups = optional (cfg.group == "influxdb") {
-      name = "influxdb";
-      gid = config.ids.gids.influxdb;
+    users.groups = optionalAttrs (cfg.group == "influxdb") {
+      influxdb.gid = config.ids.gids.influxdb;
     };
   };
 
diff --git a/nixpkgs/nixos/modules/services/databases/memcached.nix b/nixpkgs/nixos/modules/services/databases/memcached.nix
index 84d2c8674f4e..89ff957babf5 100644
--- a/nixpkgs/nixos/modules/services/databases/memcached.nix
+++ b/nixpkgs/nixos/modules/services/databases/memcached.nix
@@ -64,9 +64,9 @@ in
 
   config = mkIf config.services.memcached.enable {
 
-    users.users = optional (cfg.user == "memcached") {
-      name = "memcached";
-      description = "Memcached server user";
+    users.users = optionalAttrs (cfg.user == "memcached") {
+      memcached.description = "Memcached server user";
+      memcached.isSystemUser = true;
     };
 
     environment.systemPackages = [ memcached ];
diff --git a/nixpkgs/nixos/modules/services/databases/mysql.nix b/nixpkgs/nixos/modules/services/databases/mysql.nix
index df74cfc9a26b..8d520b82fb55 100644
--- a/nixpkgs/nixos/modules/services/databases/mysql.nix
+++ b/nixpkgs/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}";
@@ -28,6 +24,10 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd")
+    (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
+  ];
 
   ###### interface
 
@@ -272,8 +272,13 @@ in
       port = ${toString cfg.port}
       datadir = ${cfg.dataDir}
       ${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" }
-      ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"}
-      ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"}
+      ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave")
+      ''
+        log-bin=mysql-bin-${toString cfg.replication.serverId}
+        log-bin-index=mysql-bin-${toString cfg.replication.serverId}.index
+        relay-log=mysql-relay-bin
+        server-id = ${toString cfg.replication.serverId}
+      ''}
       ${optionalString (cfg.ensureUsers != [])
       ''
         plugin-load-add = auth_socket.so
@@ -315,6 +320,8 @@ in
           Type = if hasNotify then "notify" else "simple";
           RuntimeDirectory = "mysqld";
           RuntimeDirectoryMode = "0755";
+          Restart = "on-abort";
+          RestartSec = "5s";
           # The last two environment variables are used for starting Galera clusters
           ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
           ExecStartPost =
@@ -381,6 +388,7 @@ in
 
                         ( echo "stop slave;"
                           echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';"
+                          echo "set global slave_exec_mode='IDEMPOTENT';"
                           echo "start slave;"
                         ) | ${mysql}/bin/mysql -u root -N
                       ''}
diff --git a/nixpkgs/nixos/modules/services/databases/neo4j.nix b/nixpkgs/nixos/modules/services/databases/neo4j.nix
index 5533182c3116..09b453e75845 100644
--- a/nixpkgs/nixos/modules/services/databases/neo4j.nix
+++ b/nixpkgs/nixos/modules/services/databases/neo4j.nix
@@ -103,6 +103,18 @@ let
 
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "enableHttps" ] [ "services" "neo4j" "https" "enable" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "certDir" ] [ "services" "neo4j" "directories" "certificates" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "dataDir" ] [ "services" "neo4j" "directories" "home" ])
+    (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
+  ];
+
   ###### interface
 
   options.services.neo4j = {
@@ -638,8 +650,7 @@ in {
 
       environment.systemPackages = [ cfg.package ];
 
-      users.users = singleton {
-        name = "neo4j";
+      users.users.neo4j = {
         uid = config.ids.uids.neo4j;
         description = "Neo4j daemon user";
         home = cfg.directories.home;
diff --git a/nixpkgs/nixos/modules/services/databases/postgresql.nix b/nixpkgs/nixos/modules/services/databases/postgresql.nix
index 7bba4dacddcc..c8fdd89d0d8f 100644
--- a/nixpkgs/nixos/modules/services/databases/postgresql.nix
+++ b/nixpkgs/nixos/modules/services/databases/postgresql.nix
@@ -226,7 +226,8 @@ in
       # Note: when changing the default, make it conditional on
       # ‘system.stateVersion’ to maintain compatibility with existing
       # systems!
-      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
+      mkDefault (if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
+            else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
             else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5
             else throw "postgresql_9_4 was removed, please upgrade your postgresql version.");
 
@@ -338,9 +339,9 @@ in
             '') cfg.ensureDatabases}
           '' + ''
             ${concatMapStrings (user: ''
-              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}"
+              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
               ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
-                $PSQL -tAc 'GRANT ${permission} ON ${database} TO ${user.name}'
+                $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
               '') user.ensurePermissions)}
             '') cfg.ensureUsers}
           '';
diff --git a/nixpkgs/nixos/modules/services/databases/redis.nix b/nixpkgs/nixos/modules/services/databases/redis.nix
index 9c389d80a6df..70895fa53e45 100644
--- a/nixpkgs/nixos/modules/services/databases/redis.nix
+++ b/nixpkgs/nixos/modules/services/databases/redis.nix
@@ -32,6 +32,13 @@ let
   '';
 in
 {
+  imports = [
+    (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.")
+    (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
+    (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
+    (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
+  ];
 
   ###### interface
 
@@ -185,27 +192,22 @@ in
   ###### implementation
 
   config = mkIf config.services.redis.enable {
-
-    boot.kernel.sysctl = mkIf cfg.vmOverCommit {
-      "vm.overcommit_memory" = "1";
-    };
+    boot.kernel.sysctl = (mkMerge [
+      { "vm.nr_hugepages" = "0"; }
+      ( mkIf cfg.vmOverCommit { "vm.overcommit_memory" = "1"; } )
+    ]);
 
     networking.firewall = mkIf cfg.openFirewall {
       allowedTCPPorts = [ cfg.port ];
     };
 
-    users.users.redis.description = "Redis database user";
+    users.users.redis = {
+      description = "Redis database user";
+      isSystemUser = true;
+    };
 
     environment.systemPackages = [ cfg.package ];
 
-    systemd.services.disable-transparent-huge-pages = {
-      description = "Disable Transparent Huge Pages (required by Redis)";
-      before = [ "redis.service" ];
-      wantedBy = [ "redis.service" ];
-      script = "echo never > /sys/kernel/mm/transparent_hugepage/enabled";
-      serviceConfig.Type = "oneshot";
-    };
-
     systemd.services.redis =
       { description = "Redis Server";
 
diff --git a/nixpkgs/nixos/modules/services/databases/rethinkdb.nix b/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
index 4828e594b328..f18fbaf5b062 100644
--- a/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
+++ b/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
@@ -99,6 +99,7 @@ in
     users.users.rethinkdb = mkIf (cfg.user == "rethinkdb")
       { name = "rethinkdb";
         description = "RethinkDB server user";
+        isSystemUser = true;
       };
 
     users.groups = optionalAttrs (cfg.group == "rethinkdb") (singleton
diff --git a/nixpkgs/nixos/modules/services/databases/virtuoso.nix b/nixpkgs/nixos/modules/services/databases/virtuoso.nix
index 6ffc44a5274e..0cc027cb1d74 100644
--- a/nixpkgs/nixos/modules/services/databases/virtuoso.nix
+++ b/nixpkgs/nixos/modules/services/databases/virtuoso.nix
@@ -54,9 +54,8 @@ with lib;
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = virtuosoUser;
-        uid = config.ids.uids.virtuoso;
+    users.users.${virtuosoUser} =
+      { uid = config.ids.uids.virtuoso;
         description = "virtuoso user";
         home = stateDir;
       };
diff --git a/nixpkgs/nixos/modules/services/desktops/geoclue2.nix b/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
index 6007dddf50c0..542b2ead4104 100644
--- a/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
+++ b/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
@@ -188,34 +188,41 @@ in
 
     systemd.packages = [ package ];
 
-    users.users.geoclue = {
-      isSystemUser = true;
-      home = "/var/lib/geoclue";
-      group = "geoclue";
-      description = "Geoinformation service";
-    };
-
-    users.groups.geoclue = {};
+    # we cannot use DynamicUser as we need the the geoclue user to exist for the dbus policy to work
+    users = {
+      users.geoclue = {
+        isSystemUser = true;
+        home = "/var/lib/geoclue";
+        group = "geoclue";
+        description = "Geoinformation service";
+      };
 
-    systemd.tmpfiles.rules = [
-      "d /var/lib/geoclue 0755 geoclue geoclue"
-    ];
+      groups.geoclue = {};
+    };
 
-    # restart geoclue service when the configuration changes
-    systemd.services.geoclue.restartTriggers = [
-      config.environment.etc."geoclue/geoclue.conf".source
-    ];
+    systemd.services.geoclue = {
+      # restart geoclue service when the configuration changes
+      restartTriggers = [
+        config.environment.etc."geoclue/geoclue.conf".source
+      ];
+      serviceConfig.StateDirectory = "geoclue";
+    };
 
     # this needs to run as a user service, since it's associated with the
     # user who is making the requests
     systemd.user.services = mkIf cfg.enableDemoAgent {
       geoclue-agent = {
         description = "Geoclue agent";
-        script = "${package}/libexec/geoclue-2.0/demos/agent";
         # this should really be `partOf = [ "geoclue.service" ]`, but
         # we can't be part of a system service, and the agent should
         # be okay with the main service coming and going
         wantedBy = [ "default.target" ];
+        serviceConfig = {
+          Type = "exec";
+          ExecStart = "${package}/libexec/geoclue-2.0/demos/agent";
+          Restart = "on-failure";
+          PrivateTmp = true;
+        };
       };
     };
 
@@ -256,4 +263,6 @@ in
         };
       } // mapAttrs' appConfigToINICompatible cfg.appConfig);
   };
+
+  meta.maintainers = with lib.maintainers; [ worldofpeace ];
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix
new file mode 100644
index 000000000000..d715d52c2d06
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix
@@ -0,0 +1,86 @@
+# GNOME Initial Setup.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  # GNOME initial setup's run is conditioned on whether
+  # the gnome-initial-setup-done file exists in XDG_CONFIG_HOME
+  # Because of this, every existing user will have initial setup
+  # running because they never ran it before.
+  #
+  # To prevent this we create the file if the users stateVersion
+  # is older than 20.03 (the release we added this module).
+
+  script = pkgs.writeScript "create-gis-stamp-files" ''
+    #!${pkgs.runtimeShell}
+    setup_done=$HOME/.config/gnome-initial-setup-done
+
+    echo "Creating g-i-s stamp file $setup_done ..."
+    cat - > $setup_done <<- EOF
+    yes
+    EOF
+  '';
+
+  createGisStampFilesAutostart = pkgs.writeTextFile rec {
+    name = "create-g-i-s-stamp-files";
+    destination = "/etc/xdg/autostart/${name}.desktop";
+    text = ''
+      [Desktop Entry]
+      Type=Application
+      Name=Create GNOME Initial Setup stamp files
+      Exec=${script}
+      StartupNotify=false
+      NoDisplay=true
+      OnlyShowIn=GNOME;
+      AutostartCondition=unless-exists gnome-initial-setup-done
+      X-GNOME-Autostart-Phase=EarlyInitialization
+    '';
+  };
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.gnome3.gnome-initial-setup = {
+
+      enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system";
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.gnome3.gnome-initial-setup.enable {
+
+    environment.systemPackages = [
+      pkgs.gnome3.gnome-initial-setup
+    ]
+    ++ optional (versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart
+    ;
+
+    systemd.packages = [
+      pkgs.gnome3.gnome-initial-setup
+    ];
+
+    systemd.user.targets."gnome-session".wants = [
+      "gnome-initial-setup-copy-worker.service"
+      "gnome-initial-setup-first-login.service"
+      "gnome-welcome-tour.service"
+    ];
+
+    systemd.user.targets."gnome-session@gnome-initial-setup".wants = [
+      "gnome-initial-setup.service"
+    ];
+
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
index 7f7adcf26acf..2f83fd653bde 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
@@ -12,6 +12,12 @@ in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule
+      ["services" "gnome3" "gnome-settings-daemon" "package"]
+      "")
+  ];
+
   ###### interface
 
   options = {
@@ -20,13 +26,6 @@ in
 
       enable = mkEnableOption "GNOME Settings Daemon";
 
-      # There are many forks of gnome-settings-daemon
-      package = mkOption {
-        type = types.package;
-        default = pkgs.gnome3.gnome-settings-daemon;
-        description = "Which gnome-settings-daemon package to use.";
-      };
-
     };
 
   };
@@ -36,9 +35,39 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ cfg.package ];
-
-    services.udev.packages = [ cfg.package ];
+    environment.systemPackages = [
+      pkgs.gnome3.gnome-settings-daemon
+    ];
+
+    services.udev.packages = [
+      pkgs.gnome3.gnome-settings-daemon
+    ];
+
+    systemd.packages = [
+      pkgs.gnome3.gnome-settings-daemon
+    ];
+
+    systemd.user.targets."gnome-session-initialized".wants = [
+      "gsd-color.target"
+      "gsd-datetime.target"
+      "gsd-keyboard.target"
+      "gsd-media-keys.target"
+      "gsd-print-notifications.target"
+      "gsd-rfkill.target"
+      "gsd-screensaver-proxy.target"
+      "gsd-sharing.target"
+      "gsd-smartcard.target"
+      "gsd-sound.target"
+      "gsd-wacom.target"
+      "gsd-wwan.target"
+      "gsd-a11y-settings.target"
+      "gsd-housekeeping.target"
+      "gsd-power.target"
+    ];
+
+    systemd.user.targets."gnome-session-x11-services".wants = [
+      "gsd-xsettings.target"
+    ];
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/desktops/neard.nix b/nixpkgs/nixos/modules/services/desktops/neard.nix
new file mode 100644
index 000000000000..9b0f8d1b3a77
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/pantheon/contractor.nix b/nixpkgs/nixos/modules/services/desktops/pantheon/contractor.nix
index 2638a21df733..c76145191a70 100644
--- a/nixpkgs/nixos/modules/services/desktops/pantheon/contractor.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pantheon/contractor.nix
@@ -6,35 +6,12 @@ with lib;
 
 {
 
-  meta.maintainers = pkgs.pantheon.maintainers;
-
-  ###### interface
-
-  options = {
-
-    services.pantheon.contractor = {
-
-      enable = mkEnableOption "contractor, a desktop-wide extension service used by pantheon";
-
-    };
-
-  };
-
 
   ###### implementation
 
   config = mkIf config.services.pantheon.contractor.enable {
 
-    environment.systemPackages = with  pkgs.pantheon; [
-      contractor
-      extra-elementary-contracts
-    ];
-
-    services.dbus.packages = [ pkgs.pantheon.contractor ];
-
-    environment.pathsToLink = [
-      "/share/contractor"
-    ];
+    
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix b/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix
index 577aad6c2987..8cee9f42b62f 100644
--- a/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix
@@ -6,33 +6,8 @@ with lib;
 
 {
 
-  meta.maintainers = pkgs.pantheon.maintainers;
-
-  ###### interface
-
-  options = {
-
-    services.pantheon.files = {
-
-      enable = mkEnableOption "pantheon files daemon";
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.pantheon.files.enable {
-
-    environment.systemPackages = [
-      pkgs.pantheon.elementary-files
-    ];
-
-    services.dbus.packages = [
-      pkgs.pantheon.elementary-files
-    ];
-
-  };
+  imports = [
+    (mkRemovedOptionModule [ "services" "pantheon" "files" "enable" ] "Use `environment.systemPackages [ pkgs.pantheon.elementary-files ];`")
+  ];
 
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix b/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
index 8a80be266b20..09c68c587b43 100644
--- a/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
+++ b/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
@@ -33,6 +33,9 @@ with lib;
       pkgs.system-config-printer
     ];
 
+    # for $out/bin/install-printer-driver
+    services.packagekit.enable = true;
+
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/tumbler.nix b/nixpkgs/nixos/modules/services/desktops/tumbler.nix
index d18088d4634b..a833e99ff8c6 100644
--- a/nixpkgs/nixos/modules/services/desktops/tumbler.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/development/lorri.nix b/nixpkgs/nixos/modules/services/development/lorri.nix
new file mode 100644
index 000000000000..c843aa56d133
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/development/lorri.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.lorri;
+  socketPath = "lorri/daemon.socket";
+in {
+  options = {
+    services.lorri = {
+      enable = lib.mkOption {
+        default = false;
+        type = lib.types.bool;
+        description = ''
+          Enables the daemon for `lorri`, a nix-shell replacement for project
+          development. The socket-activated daemon starts on the first request
+          issued by the `lorri` command.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.user.sockets.lorri = {
+      description = "Socket for Lorri Daemon";
+      wantedBy = [ "sockets.target" ];
+      socketConfig = {
+        ListenStream = "%t/${socketPath}";
+        RuntimeDirectory = "lorri";
+      };
+    };
+
+    systemd.user.services.lorri = {
+      description = "Lorri Daemon";
+      requires = [ "lorri.socket" ];
+      after = [ "lorri.socket" ];
+      path = with pkgs; [ config.nix.package git gnutar gzip ];
+      serviceConfig = {
+        ExecStart = "${pkgs.lorri}/bin/lorri daemon";
+        PrivateTmp = true;
+        ProtectSystem = "strict";
+        ProtectHome = "read-only";
+        Restart = "on-failure";
+      };
+    };
+
+    environment.systemPackages = [ pkgs.lorri ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/editors/infinoted.nix b/nixpkgs/nixos/modules/services/editors/infinoted.nix
index 9cc8d421270e..8b997ccbf66e 100644
--- a/nixpkgs/nixos/modules/services/editors/infinoted.nix
+++ b/nixpkgs/nixos/modules/services/editors/infinoted.nix
@@ -111,13 +111,15 @@ in {
   };
 
   config = mkIf (cfg.enable) {
-    users.users = optional (cfg.user == "infinoted")
-      { name = "infinoted";
-        description = "Infinoted user";
-        group = cfg.group;
+    users.users = optionalAttrs (cfg.user == "infinoted")
+      { infinoted = {
+          description = "Infinoted user";
+          group = cfg.group;
+          isSystemUser = true;
+        };
       };
-    users.groups = optional (cfg.group == "infinoted")
-      { name = "infinoted";
+    users.groups = optionalAttrs (cfg.group == "infinoted")
+      { infinoted = { };
       };
 
     systemd.services.infinoted =
diff --git a/nixpkgs/nixos/modules/services/games/openarena.nix b/nixpkgs/nixos/modules/services/games/openarena.nix
new file mode 100644
index 000000000000..8c014d78809b
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/games/openarena.nix
@@ -0,0 +1,56 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.openarena;
+in
+{
+  options = {
+    services.openarena = {
+      enable = mkEnableOption "OpenArena";
+
+      openPorts = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to open firewall ports for OpenArena";
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''Extra flags to pass to <command>oa_ded</command>'';
+        example = [
+          "+set dedicated 2"
+          "+set sv_hostname 'My NixOS OpenArena Server'"
+          # Load a map. Mandatory for clients to be able to connect.
+          "+map oa_dm1"
+        ];
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall = mkIf cfg.openPorts {
+      allowedUDPPorts = [ 27960 ];
+    };
+
+    systemd.services.openarena = {
+      description = "OpenArena";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = "openarena";
+        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
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/hardware/bluetooth.nix b/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
index c5f9d1f9b725..dfa39e7f6024 100644
--- a/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixpkgs/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,17 +64,19 @@ in {
   ###### implementation
 
   config = mkIf cfg.enable {
+    warnings = optional (cfg.extraConfig != null) "hardware.bluetooth.`extraConfig` is deprecated, please use hardware.bluetooth.`config`.";
 
-    environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
+    hardware.bluetooth.config = {
+      Policy = {
+        AutoEnable = mkDefault cfg.powerOnBoot;
+      };
+    };
 
-    environment.etc = singleton {
-      source = pkgs.writeText "main.conf" ''
-        [Policy]
-        AutoEnable=${lib.boolToString cfg.powerOnBoot}
+    environment.systemPackages = [ bluez-bluetooth ];
 
-        ${cfg.extraConfig}
-      '';
-      target = "bluetooth/main.conf";
+    environment.etc."bluetooth/main.conf"= {
+      source = pkgs.writeText "main.conf"
+        (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig);
     };
 
     services.udev.packages = [ bluez-bluetooth ];
diff --git a/nixpkgs/nixos/modules/services/hardware/fancontrol.nix b/nixpkgs/nixos/modules/services/hardware/fancontrol.nix
new file mode 100644
index 000000000000..bb4541a784da
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/hardware/fancontrol.nix
@@ -0,0 +1,45 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.hardware.fancontrol;
+  configFile = pkgs.writeText "fancontrol.conf" cfg.config;
+
+in{
+  options.hardware.fancontrol = {
+    enable = mkEnableOption "software fan control (requires fancontrol.config)";
+
+    config = mkOption {
+      default = null;
+      type = types.lines;
+      description = "Fancontrol configuration file content. See <citerefentry><refentrytitle>pwmconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry> from the lm_sensors package.";
+      example = ''
+        # Configuration file generated by pwmconfig
+        INTERVAL=10
+        DEVPATH=hwmon3=devices/virtual/thermal/thermal_zone2 hwmon4=devices/platform/f71882fg.656
+        DEVNAME=hwmon3=soc_dts1 hwmon4=f71869a
+        FCTEMPS=hwmon4/device/pwm1=hwmon3/temp1_input
+        FCFANS= hwmon4/device/pwm1=hwmon4/device/fan1_input
+        MINTEMP=hwmon4/device/pwm1=35
+        MAXTEMP=hwmon4/device/pwm1=65
+        MINSTART=hwmon4/device/pwm1=150
+        MINSTOP=hwmon4/device/pwm1=0
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.fancontrol = {
+      unitConfig.Documentation = "man:fancontrol(8)";
+      description = "software fan control";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "lm_sensors.service" ];
+
+      serviceConfig = {
+        Type = "simple";
+        ExecStart = "${pkgs.lm_sensors}/sbin/fancontrol ${configFile}";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/hardware/fwupd.nix b/nixpkgs/nixos/modules/services/hardware/fwupd.nix
index 6c341bcbf240..51877970a8bc 100644
--- a/nixpkgs/nixos/modules/services/hardware/fwupd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix b/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
index f6ed4e25e9cb..6f49a1ab6d40 100644
--- a/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
+++ b/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
@@ -67,11 +67,11 @@ in
 {
   options = {
 
-    hardware.sane.brscan4.enable = 
+    hardware.sane.brscan4.enable =
       mkEnableOption "Brother's brscan4 scan backend" // {
       description = ''
         When enabled, will automatically register the "brscan4" sane
-        backend and bring configuration files to their expected location. 
+        backend and bring configuration files to their expected location.
       '';
     };
 
@@ -95,14 +95,11 @@ in
       pkgs.brscan4
     ];
 
-    environment.etc = singleton {
-      target = "opt/brother/scanner/brscan4";
-      source = "${etcFiles}/etc/opt/brother/scanner/brscan4";
-    };
+    environment.etc."opt/brother/scanner/brscan4" =
+      { source = "${etcFiles}/etc/opt/brother/scanner/brscan4"; };
 
     assertions = [
       { assertion = all (x: !(null != x.ip && null != x.nodename)) netDeviceList;
-          
         message = ''
           When describing a network device as part of the attribute list
           `hardware.sane.brscan4.netDevices`, only one of its `ip` or `nodename`
diff --git a/nixpkgs/nixos/modules/services/hardware/tcsd.nix b/nixpkgs/nixos/modules/services/hardware/tcsd.nix
index 3876280ee6bc..68cb5d791aa3 100644
--- a/nixpkgs/nixos/modules/services/hardware/tcsd.nix
+++ b/nixpkgs/nixos/modules/services/hardware/tcsd.nix
@@ -137,15 +137,15 @@ in
       serviceConfig.ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
     };
 
-    users.users = optionalAttrs (cfg.user == "tss") (singleton
-      { name = "tss";
+    users.users = optionalAttrs (cfg.user == "tss") {
+      tss = {
         group = "tss";
         uid = config.ids.uids.tss;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "tss") (singleton
-      { name = "tss";
-        gid = config.ids.gids.tss;
-      });
+    users.groups = optionalAttrs (cfg.group == "tss") {
+      tss.gid = config.ids.gids.tss;
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/hardware/tlp.nix b/nixpkgs/nixos/modules/services/hardware/tlp.nix
index 4f8af7978286..955a60677997 100644
--- a/nixpkgs/nixos/modules/services/hardware/tlp.nix
+++ b/nixpkgs/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 {
@@ -103,13 +103,14 @@ in
 
     services.udev.packages = [ tlp ];
 
-    environment.etc = [{ source = confFile;
-                         target = "default/tlp";
-                       }
-                      ] ++ optional enableRDW {
-                        source = "${tlp}/etc/NetworkManager/dispatcher.d/99tlp-rdw-nm";
-                        target = "NetworkManager/dispatcher.d/99tlp-rdw-nm";
-                      };
+    environment.etc =
+      {
+        "default/tlp".source = confFile;
+      } // optionalAttrs enableRDW {
+        "NetworkManager/dispatcher.d/99tlp-rdw-nm" = {
+          source = "${tlp}/etc/NetworkManager/dispatcher.d/99tlp-rdw-nm";
+        };
+      };
 
     environment.systemPackages = [ tlp ];
 
diff --git a/nixpkgs/nixos/modules/services/hardware/trezord.nix b/nixpkgs/nixos/modules/services/hardware/trezord.nix
index 62824ed7350a..c517e9fbb2bd 100644
--- a/nixpkgs/nixos/modules/services/hardware/trezord.nix
+++ b/nixpkgs/nixos/modules/services/hardware/trezord.nix
@@ -44,20 +44,7 @@ in {
   ### implementation
 
   config = mkIf cfg.enable {
-    services.udev.packages = lib.singleton (pkgs.writeTextFile {
-      name = "trezord-udev-rules";
-      destination = "/etc/udev/rules.d/51-trezor.rules";
-      text = ''
-        # TREZOR v1 (One)
-        SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
-        KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0660", GROUP="trezord", TAG+="uaccess"
-
-        # TREZOR v2 (T)
-        SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
-        SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
-        KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="trezord", TAG+="uaccess"
-      '';
-    });
+    services.udev.packages = [ pkgs.trezor-udev-rules ];
 
     systemd.services.trezord = {
       description = "TREZOR Bridge";
@@ -74,6 +61,7 @@ in {
     users.users.trezord = {
       group = "trezord";
       description = "Trezor bridge daemon user";
+      isSystemUser = true;
     };
 
     users.groups.trezord = {};
diff --git a/nixpkgs/nixos/modules/services/hardware/udev.nix b/nixpkgs/nixos/modules/services/hardware/udev.nix
index 83ab93bd7cfc..168056a475e5 100644
--- a/nixpkgs/nixos/modules/services/hardware/udev.nix
+++ b/nixpkgs/nixos/modules/services/hardware/udev.nix
@@ -221,8 +221,8 @@ in
         type = types.lines;
         description = ''
           Additional <command>hwdb</command> files. They'll be written
-          into file <filename>10-local.hwdb</filename>. Thus they are
-          read before all other files.
+          into file <filename>99-local.hwdb</filename>. Thus they are
+          read after all other files.
         '';
       };
 
@@ -281,13 +281,10 @@ in
     boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
 
     environment.etc =
-      [ { source = udevRules;
-          target = "udev/rules.d";
-        }
-        { source = hwdbBin;
-          target = "udev/hwdb.bin";
-        }
-      ];
+      {
+        "udev/rules.d".source = udevRules;
+        "udev/hwdb.bin".source = hwdbBin;
+      };
 
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isEnabled "UNIX")
diff --git a/nixpkgs/nixos/modules/services/hardware/udisks2.nix b/nixpkgs/nixos/modules/services/hardware/udisks2.nix
index ed8703be921c..e898f3260585 100644
--- a/nixpkgs/nixos/modules/services/hardware/udisks2.nix
+++ b/nixpkgs/nixos/modules/services/hardware/udisks2.nix
@@ -34,10 +34,7 @@ with lib;
 
     services.dbus.packages = [ pkgs.udisks2 ];
 
-    system.activationScripts.udisks2 =
-      ''
-        mkdir -m 0755 -p /var/lib/udisks2
-      '';
+    systemd.tmpfiles.rules = [ "d /var/lib/udisks2 0755 root root -" ];
 
     services.udev.packages = [ pkgs.udisks2 ];
 
diff --git a/nixpkgs/nixos/modules/services/hardware/upower.nix b/nixpkgs/nixos/modules/services/hardware/upower.nix
index 5e7ac7a6e659..449810b53150 100644
--- a/nixpkgs/nixos/modules/services/hardware/upower.nix
+++ b/nixpkgs/nixos/modules/services/hardware/upower.nix
@@ -37,6 +37,172 @@ in
         '';
       };
 
+      enableWattsUpPro = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the Watts Up Pro device.
+
+          The Watts Up Pro contains a generic FTDI USB device without a specific
+          vendor and product ID. When we probe for WUP devices, we can cause
+          the user to get a perplexing "Device or resource busy" error when
+          attempting to use their non-WUP device.
+
+          The generic FTDI device is known to also be used on:
+
+          <itemizedlist>
+            <listitem><para>Sparkfun FT232 breakout board</para></listitem>
+            <listitem><para>Parallax Propeller</para></listitem>
+          </itemizedlist>
+        '';
+      };
+
+      noPollBatteries = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Don't poll the kernel for battery level changes.
+
+          Some hardware will send us battery level changes through
+          events, rather than us having to poll for it. This option
+          allows disabling polling for hardware that sends out events.
+        '';
+      };
+
+      ignoreLid = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Do we ignore the lid state
+
+          Some laptops are broken. The lid state is either inverted, or stuck
+          on or off. We can't do much to fix these problems, but this is a way
+          for users to make the laptop panel vanish, a state that might be used
+          by a couple of user-space daemons. On Linux systems, see also
+          logind.conf(5).
+        '';
+      };
+
+      usePercentageForPolicy = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Policy for warnings and action based on battery levels
+
+          Whether battery percentage based policy should be used. The default
+          is to use the percentage, which
+          should work around broken firmwares. It is also more reliable than
+          the time left (frantically saving all your files is going to use more
+          battery than letting it rest for example).
+        '';
+      };
+
+      percentageLow = mkOption {
+        type = types.ints.unsigned;
+        default = 10;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery low.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 3;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery critical.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageAction = mkOption {
+        type = types.ints.unsigned;
+        default = 2;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will take action
+          for the critical battery level.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      timeLow = mkOption {
+        type = types.ints.unsigned;
+        default = 1200;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery low.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 300;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery critical.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeAction = mkOption {
+        type = types.ints.unsigned;
+        default = 120;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          take action for the critical battery level.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      criticalPowerAction = mkOption {
+        type = types.enum [ "PowerOff" "Hibernate" "HybridSleep" ];
+        default = "HybridSleep";
+        description = ''
+          The action to take when <literal>timeAction</literal> or
+          <literal>percentageAction</literal> has been reached for the batteries
+          (UPS or laptop batteries) supplying the computer
+        '';
+      };
+
     };
 
   };
@@ -54,6 +220,21 @@ in
 
     systemd.packages = [ cfg.package ];
 
+    environment.etc."UPower/UPower.conf".text = generators.toINI {} {
+      UPower = {
+        EnableWattsUpPro = cfg.enableWattsUpPro;
+        NoPollBatteries = cfg.noPollBatteries;
+        IgnoreLid = cfg.ignoreLid;
+        UsePercentageForPolicy = cfg.usePercentageForPolicy;
+        PercentageLow = cfg.percentageLow;
+        PercentageCritical = cfg.percentageCritical;
+        PercentageAction = cfg.percentageAction;
+        TimeLow = cfg.timeLow;
+        TimeCritical = cfg.timeCritical;
+        TimeAction = cfg.timeAction;
+        CriticalPowerAction = cfg.criticalPowerAction;
+      };
+    };
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/hardware/usbmuxd.nix b/nixpkgs/nixos/modules/services/hardware/usbmuxd.nix
index 93ced0b9f04d..50b931dcb487 100644
--- a/nixpkgs/nixos/modules/services/hardware/usbmuxd.nix
+++ b/nixpkgs/nixos/modules/services/hardware/usbmuxd.nix
@@ -43,14 +43,16 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = optional (cfg.user == defaultUserGroup) {
-      name = cfg.user;
-      description = "usbmuxd user";
-      group = cfg.group;
+    users.users = optionalAttrs (cfg.user == defaultUserGroup) {
+      ${cfg.user} = {
+        description = "usbmuxd user";
+        group = cfg.group;
+        isSystemUser = true;
+      };
     };
 
     users.groups = optional (cfg.group == defaultUserGroup) {
-      name = cfg.group;
+      ${cfg.group} = { };
     };
 
     # Give usbmuxd permission for Apple devices
diff --git a/nixpkgs/nixos/modules/services/hardware/vdr.nix b/nixpkgs/nixos/modules/services/hardware/vdr.nix
index 6e246f70f515..8a6cde51b06f 100644
--- a/nixpkgs/nixos/modules/services/hardware/vdr.nix
+++ b/nixpkgs/nixos/modules/services/hardware/vdr.nix
@@ -66,6 +66,7 @@ in {
     users.users.vdr = {
       group = "vdr";
       home = libDir;
+      isSystemUser = true;
     };
 
     users.groups.vdr = {};
diff --git a/nixpkgs/nixos/modules/services/logging/awstats.nix b/nixpkgs/nixos/modules/services/logging/awstats.nix
index a92ff3bee490..5939d7808f7f 100644
--- a/nixpkgs/nixos/modules/services/logging/awstats.nix
+++ b/nixpkgs/nixos/modules/services/logging/awstats.nix
@@ -4,31 +4,117 @@ with lib;
 
 let
   cfg = config.services.awstats;
-  httpd = config.services.httpd;
   package = pkgs.awstats;
-in
+  configOpts = {name, config, ...}: {
+    options = {
+      type = mkOption{
+        type = types.enum [ "mail" "web" ];
+        default = "web";
+        example = "mail";
+        description = ''
+          The type of log being collected.
+        '';
+      };
+      domain = mkOption {
+        type = types.str;
+        default = name;
+        description = "The domain name to collect stats for.";
+        example = "example.com";
+      };
+
+      logFile = mkOption {
+        type = types.str;
+        example = "/var/spool/nginx/logs/access.log";
+        description = ''
+          The log file to be scanned.
 
+          For mail, set this to
+          <literal>
+          journalctl $OLD_CURSOR -u postfix.service | ''${pkgs.perl}/bin/perl ''${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard |
+          </literal>
+        '';
+      };
+
+      logFormat = mkOption {
+        type = types.str;
+        default = "1";
+        description = ''
+          The log format being used.
+
+          For mail, set this to
+          <literal>
+          %time2 %email %email_r %host %host_r %method %url %code %bytesd
+          </literal>
+        '';
+      };
+
+      hostAliases = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = "[ \"www.example.org\" ]";
+        description = ''
+          List of aliases the site has.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = literalExample ''
+          {
+            "ValidHTTPCodes" = "404";
+          }
+        '';
+        description = "Extra configuration to be appendend to awstats.\${name}.conf.";
+      };
+
+      webService = {
+        enable = mkEnableOption "awstats web service";
+
+        hostname = mkOption {
+          type = types.str;
+          default = config.domain;
+          description = "The hostname the web service appears under.";
+        };
+
+        urlPrefix = mkOption {
+          type = types.str;
+          default = "/awstats";
+          description = "The URL prefix under which the awstats pages appear.";
+        };
+      };
+    };
+  };
+  webServices = filterAttrs (name: value: value.webService.enable) cfg.configs;
+in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "awstats" "service" "enable" ] "Please enable per domain with `services.awstats.configs.<name>.webService.enable`")
+    (mkRemovedOptionModule [ "services" "awstats" "service" "urlPrefix" ] "Please set per domain with `services.awstats.configs.<name>.webService.urlPrefix`")
+    (mkRenamedOptionModule [ "services" "awstats" "vardir" ] [ "services" "awstats" "dataDir" ])
+  ];
+
   options.services.awstats = {
-    enable = mkOption {
-      type = types.bool;
-      default = cfg.service.enable;
-      description = ''
-        Enable the awstats program (but not service).
-        Currently only simple httpd (Apache) configs are supported,
-        and awstats plugins may not work correctly.
-      '';
-    };
-    vardir = mkOption {
+    enable = mkEnableOption "awstats";
+
+    dataDir = mkOption {
       type = types.path;
       default = "/var/lib/awstats";
-      description = "The directory where variable awstats data will be stored.";
+      description = "The directory where awstats data will be stored.";
     };
 
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      description = "Extra configuration to be appendend to awstats.conf.";
+    configs = mkOption {
+      type = types.attrsOf (types.submodule configOpts);
+      default = {};
+      example = literalExample ''
+        {
+          "mysite" = {
+            domain = "example.com";
+            logFile = "/var/spool/nginx/logs/access.log";
+          };
+        }
+      '';
+      description = "Attribute set of domains to collect stats for.";
     };
 
     updateAt = mkOption {
@@ -42,75 +128,129 @@ in
           <manvolnum>7</manvolnum></citerefentry>)
       '';
     };
-
-    service = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''Enable the awstats web service. This switches on httpd.'';
-      };
-      urlPrefix = mkOption {
-        type = types.str;
-        default = "/awstats";
-        description = "The URL prefix under which the awstats service appears.";
-      };
-    };
   };
 
 
   config = mkIf cfg.enable {
     environment.systemPackages = [ package.bin ];
-    /* TODO:
-      - heed config.services.httpd.logPerVirtualHost, etc.
-      - Can't AllowToUpdateStatsFromBrowser, as CGI scripts don't have permission
-        to read the logs, and our httpd config apparently doesn't an option for that.
-    */
-    environment.etc."awstats/awstats.conf".source = pkgs.runCommand "awstats.conf"
+
+    environment.etc = mapAttrs' (name: opts:
+    nameValuePair "awstats/awstats.${name}.conf" {
+      source = pkgs.runCommand "awstats.${name}.conf"
       { preferLocalBuild = true; }
-      ( let
-          logFormat =
-            if httpd.logFormat == "combined" then "1" else
-            if httpd.logFormat == "common" then "4" else
-            throw "awstats service doesn't support Apache log format `${httpd.logFormat}`";
-        in
-        ''
-          sed \
-            -e 's|^\(DirData\)=.*$|\1="${cfg.vardir}"|' \
-            -e 's|^\(DirIcons\)=.*$|\1="icons"|' \
-            -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \
-            -e 's|^\(SiteDomain\)=.*$|\1="${httpd.hostName}"|' \
-            -e 's|^\(LogFile\)=.*$|\1="${httpd.logDir}/access_log"|' \
-            -e 's|^\(LogFormat\)=.*$|\1=${logFormat}|' \
-            < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out"
-          echo '${cfg.extraConfig}' >> "$out"
-        '');
-
-    systemd.tmpfiles.rules = optionals cfg.service.enable [
-      "d '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
-      "Z '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
-    ];
-
-    # The httpd sub-service showing awstats.
-    services.httpd = optionalAttrs cfg.service.enable {
-      enable = true;
-      extraConfig = ''
-        Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/"
-        Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/"
-        Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/"
-        ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/"
-
-        <Directory "${package.out}/wwwroot">
-          Options None
-          Require all granted
-        </Directory>
-      '';
-    };
+      (''
+        sed \
+      ''
+      # set up mail stats
+      + optionalString (opts.type == "mail")
+      ''
+        -e 's|^\(LogType\)=.*$|\1=M|' \
+        -e 's|^\(LevelForBrowsersDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForOSDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForRefererAnalyze\)=.*$|\1=0|' \
+        -e 's|^\(LevelForRobotsDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForSearchEnginesDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForFileTypesDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForWormsDetection\)=.*$|\1=0|' \
+        -e 's|^\(ShowMenu\)=.*$|\1=1|' \
+        -e 's|^\(ShowSummary\)=.*$|\1=HB|' \
+        -e 's|^\(ShowMonthStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDaysOfMonthStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDaysOfWeekStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowHoursStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDomainsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowHostsStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowAuthenticatedUsers\)=.*$|\1=0|' \
+        -e 's|^\(ShowRobotsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowEMailSenders\)=.*$|\1=HBML|' \
+        -e 's|^\(ShowEMailReceivers\)=.*$|\1=HBML|' \
+        -e 's|^\(ShowSessionsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowPagesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowFileTypesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowFileSizesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowBrowsersStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowOSStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowOriginStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowKeyphrasesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowKeywordsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowMiscStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowHTTPErrorsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowSMTPErrorsStats\)=.*$|\1=1|' \
+      ''
+      +
+      # common options
+      ''
+        -e 's|^\(DirData\)=.*$|\1="${cfg.dataDir}/${name}"|' \
+        -e 's|^\(DirIcons\)=.*$|\1="icons"|' \
+        -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \
+        -e 's|^\(SiteDomain\)=.*$|\1="${name}"|' \
+        -e 's|^\(LogFile\)=.*$|\1="${opts.logFile}"|' \
+        -e 's|^\(LogFormat\)=.*$|\1="${opts.logFormat}"|' \
+      ''
+      +
+      # extra config
+      concatStringsSep "\n" (mapAttrsToList (n: v: ''
+        -e 's|^\(${n}\)=.*$|\1="${v}"|' \
+      '') opts.extraConfig)
+      +
+      ''
+        < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out"
+      '');
+    }) cfg.configs;
 
-    systemd.services.awstats-update = mkIf (cfg.updateAt != null) {
-      description = "awstats log collector";
-      script = "exec '${package.bin}/bin/awstats' -update -config=awstats.conf";
-      startAt = cfg.updateAt;
-    };
+    # create data directory with the correct permissions
+    systemd.tmpfiles.rules =
+      [ "d '${cfg.dataDir}' 755 root root - -" ] ++
+      mapAttrsToList (name: opts: "d '${cfg.dataDir}/${name}' 755 root root - -") cfg.configs ++
+      [ "Z '${cfg.dataDir}' 755 root root - -" ];
+
+    # nginx options
+    services.nginx.virtualHosts = mapAttrs'(name: opts: {
+      name = opts.webService.hostname;
+      value = {
+        locations = {
+          "${opts.webService.urlPrefix}/css/" = {
+            alias = "${package.out}/wwwroot/css/";
+          };
+          "${opts.webService.urlPrefix}/icons/" = {
+            alias = "${package.out}/wwwroot/icon/";
+          };
+          "${opts.webService.urlPrefix}/" = {
+            alias = "${cfg.dataDir}/${name}/";
+            extraConfig = ''
+              autoindex on;
+            '';
+          };
+        };
+      };
+    }) webServices;
+
+    # update awstats
+    systemd.services = mkIf (cfg.updateAt != null) (mapAttrs' (name: opts:
+      nameValuePair "awstats-${name}-update" {
+        description = "update awstats for ${name}";
+        script = optionalString (opts.type == "mail")
+        ''
+          if [[ -f "${cfg.dataDir}/${name}-cursor" ]]; then
+            CURSOR="$(cat "${cfg.dataDir}/${name}-cursor" | tr -d '\n')"
+            if [[ -n "$CURSOR" ]]; then
+              echo "Using cursor: $CURSOR"
+              export OLD_CURSOR="--cursor $CURSOR"
+            fi
+          fi
+          NEW_CURSOR="$(journalctl $OLD_CURSOR -u postfix.service --show-cursor | tail -n 1 | tr -d '\n' | sed -e 's#^-- cursor: \(.*\)#\1#')"
+          echo "New cursor: $NEW_CURSOR"
+          ${package.bin}/bin/awstats -update -config=${name}
+          if [ -n "$NEW_CURSOR" ]; then
+            echo -n "$NEW_CURSOR" > ${cfg.dataDir}/${name}-cursor
+          fi
+        '' + ''
+          ${package.out}/share/awstats/tools/awstats_buildstaticpages.pl \
+            -config=${name} -update -dir=${cfg.dataDir}/${name} \
+            -awstatsprog=${package.bin}/bin/awstats
+        '';
+        startAt = cfg.updateAt;
+    }) cfg.configs);
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/logging/logcheck.nix b/nixpkgs/nixos/modules/services/logging/logcheck.nix
index 6d8be5b926d5..4296b2270c29 100644
--- a/nixpkgs/nixos/modules/services/logging/logcheck.nix
+++ b/nixpkgs/nixos/modules/services/logging/logcheck.nix
@@ -213,13 +213,14 @@ in
         mapAttrsToList writeIgnoreRule cfg.ignore
         ++ mapAttrsToList writeIgnoreCronRule cfg.ignoreCron;
 
-    users.users = optionalAttrs (cfg.user == "logcheck") (singleton
-      { name = "logcheck";
+    users.users = optionalAttrs (cfg.user == "logcheck") {
+      logcheck = {
         uid = config.ids.uids.logcheck;
         shell = "/bin/sh";
         description = "Logcheck user account";
         extraGroups = cfg.extraGroups;
-      });
+      };
+    };
 
     system.activationScripts.logcheck = ''
       mkdir -m 700 -p /var/{lib,lock}/logcheck
diff --git a/nixpkgs/nixos/modules/services/logging/logstash.nix b/nixpkgs/nixos/modules/services/logging/logstash.nix
index 4943e8d7db3a..21a83803fd8c 100644
--- a/nixpkgs/nixos/modules/services/logging/logstash.nix
+++ b/nixpkgs/nixos/modules/services/logging/logstash.nix
@@ -37,6 +37,11 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
+    (mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash")
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/logging/syslog-ng.nix b/nixpkgs/nixos/modules/services/logging/syslog-ng.nix
index 65e103ac2ba5..35055311680b 100644
--- a/nixpkgs/nixos/modules/services/logging/syslog-ng.nix
+++ b/nixpkgs/nixos/modules/services/logging/syslog-ng.nix
@@ -25,6 +25,10 @@ let
   ];
 
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "")
+    (mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "")
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/services/mail/dovecot.nix b/nixpkgs/nixos/modules/services/mail/dovecot.nix
index cdbb776454b6..b5ed2c594f77 100644
--- a/nixpkgs/nixos/modules/services/mail/dovecot.nix
+++ b/nixpkgs/nixos/modules/services/mail/dovecot.nix
@@ -86,7 +86,7 @@ let
       }
 
       plugin {
-        quota_rule = *:storage=${cfg.quotaGlobalPerUser} 
+        quota_rule = *:storage=${cfg.quotaGlobalPerUser}
         quota = maildir:User quota # per virtual mail user quota # BUG/FIXME broken, we couldn't get this working
         quota_status_success = DUNNO
         quota_status_nouser = DUNNO
@@ -133,6 +133,9 @@ let
   };
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
+  ];
 
   options.services.dovecot2 = {
     enable = mkEnableOption "Dovecot 2.x POP3/IMAP server";
@@ -181,7 +184,7 @@ in
     };
 
     configFile = mkOption {
-      type = types.nullOr types.str;
+      type = types.nullOr types.path;
       default = null;
       description = "Config file used for the whole dovecot configuration.";
       apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
@@ -307,36 +310,32 @@ in
      ++ optional cfg.enablePop3 "pop3"
      ++ optional cfg.enableLmtp "lmtp";
 
-    users.users = [
-      { name = "dovenull";
-        uid = config.ids.uids.dovenull2;
-        description = "Dovecot user for untrusted logins";
-        group = "dovenull";
-      }
-    ] ++ optional (cfg.user == "dovecot2")
-         { name = "dovecot2";
-           uid = config.ids.uids.dovecot2;
+    users.users = {
+      dovenull =
+        { uid = config.ids.uids.dovenull2;
+          description = "Dovecot user for untrusted logins";
+          group = "dovenull";
+        };
+    } // optionalAttrs (cfg.user == "dovecot2") {
+      dovecot2 =
+         { uid = config.ids.uids.dovecot2;
            description = "Dovecot user";
            group = cfg.group;
-         }
-      ++ optional (cfg.createMailUser && cfg.mailUser != null)
-         ({ name = cfg.mailUser;
-            description = "Virtual Mail User";
-         } // optionalAttrs (cfg.mailGroup != null) {
-           group = cfg.mailGroup;
-         });
-
-    users.groups = optional (cfg.group == "dovecot2")
-      { name = "dovecot2";
-        gid = config.ids.gids.dovecot2;
-      }
-    ++ optional (cfg.createMailUser && cfg.mailGroup != null)
-      { name = cfg.mailGroup;
-      }
-    ++ singleton
-      { name = "dovenull";
-        gid = config.ids.gids.dovenull2;
-      };
+         };
+    } // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
+      ${cfg.mailUser} =
+        { description = "Virtual Mail User"; } //
+        optionalAttrs (cfg.mailGroup != null)
+          { group = cfg.mailGroup; };
+    };
+
+    users.groups = {
+      dovenull.gid = config.ids.gids.dovenull2;
+    } // optionalAttrs (cfg.group == "dovecot2") {
+      dovecot2.gid = config.ids.gids.dovecot2;
+    } // optionalAttrs (cfg.createMailUser && cfg.mailGroup != null) {
+      ${cfg.mailGroup} = { };
+    };
 
     environment.etc."dovecot/modules".source = modulesDir;
     environment.etc."dovecot/dovecot.conf".source = cfg.configFile;
diff --git a/nixpkgs/nixos/modules/services/mail/dspam.nix b/nixpkgs/nixos/modules/services/mail/dspam.nix
index 72b8c4c08b92..766ebc8095a0 100644
--- a/nixpkgs/nixos/modules/services/mail/dspam.nix
+++ b/nixpkgs/nixos/modules/services/mail/dspam.nix
@@ -86,16 +86,16 @@ in {
 
   config = mkIf cfg.enable (mkMerge [
     {
-      users.users = optionalAttrs (cfg.user == "dspam") (singleton
-        { name = "dspam";
+      users.users = optionalAttrs (cfg.user == "dspam") {
+        dspam = {
           group = cfg.group;
           uid = config.ids.uids.dspam;
-        });
+        };
+      };
 
-      users.groups = optionalAttrs (cfg.group == "dspam") (singleton
-        { name = "dspam";
-          gid = config.ids.gids.dspam;
-        });
+      users.groups = optionalAttrs (cfg.group == "dspam") {
+        dspam.gid = config.ids.gids.dspam;
+      };
 
       environment.systemPackages = [ dspam ];
 
diff --git a/nixpkgs/nixos/modules/services/mail/exim.nix b/nixpkgs/nixos/modules/services/mail/exim.nix
index 47812dd1e40e..892fbd33214a 100644
--- a/nixpkgs/nixos/modules/services/mail/exim.nix
+++ b/nixpkgs/nixos/modules/services/mail/exim.nix
@@ -87,15 +87,13 @@ in
       systemPackages = [ cfg.package ];
     };
 
-    users.users = singleton {
-      name = cfg.user;
+    users.users.${cfg.user} = {
       description = "Exim mail transfer agent user";
       uid = config.ids.uids.exim;
       group = cfg.group;
     };
 
-    users.groups = singleton {
-      name = cfg.group;
+    users.groups.${cfg.group} = {
       gid = config.ids.gids.exim;
     };
 
diff --git a/nixpkgs/nixos/modules/services/mail/mailcatcher.nix b/nixpkgs/nixos/modules/services/mail/mailcatcher.nix
index f5b4508b335c..84f06ed199dc 100644
--- a/nixpkgs/nixos/modules/services/mail/mailcatcher.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/mail/mailhog.nix b/nixpkgs/nixos/modules/services/mail/mailhog.nix
index b78f4c8e0e66..0f998c6d0ea6 100644
--- a/nixpkgs/nixos/modules/services/mail/mailhog.nix
+++ b/nixpkgs/nixos/modules/services/mail/mailhog.nix
@@ -27,6 +27,7 @@ in {
     users.users.mailhog = {
       name = cfg.user;
       description = "MailHog service user";
+      isSystemUser = true;
     };
 
     systemd.services.mailhog = {
diff --git a/nixpkgs/nixos/modules/services/mail/mlmmj.nix b/nixpkgs/nixos/modules/services/mail/mlmmj.nix
index 7ae00f3e501e..d58d93c4214c 100644
--- a/nixpkgs/nixos/modules/services/mail/mlmmj.nix
+++ b/nixpkgs/nixos/modules/services/mail/mlmmj.nix
@@ -94,8 +94,7 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton {
-      name = cfg.user;
+    users.users.${cfg.user} = {
       description = "mlmmj user";
       home = stateDir;
       createHome = true;
@@ -104,8 +103,7 @@ in
       useDefaultShell = true;
     };
 
-    users.groups = singleton {
-      name = cfg.group;
+    users.groups.${cfg.group} = {
       gid = config.ids.gids.mlmmj;
     };
 
diff --git a/nixpkgs/nixos/modules/services/mail/nullmailer.nix b/nixpkgs/nixos/modules/services/mail/nullmailer.nix
index 2c2910e0aa9b..fe3f8ef9b391 100644
--- a/nixpkgs/nixos/modules/services/mail/nullmailer.nix
+++ b/nixpkgs/nixos/modules/services/mail/nullmailer.nix
@@ -201,15 +201,12 @@ with lib;
     };
 
     users = {
-      users = singleton {
-        name = cfg.user;
+      users.${cfg.user} = {
         description = "Nullmailer relay-only mta user";
         group = cfg.group;
       };
 
-      groups = singleton {
-        name = cfg.group;
-      };
+      groups.${cfg.group} = { };
     };
 
     systemd.tmpfiles.rules = [
diff --git a/nixpkgs/nixos/modules/services/mail/opendkim.nix b/nixpkgs/nixos/modules/services/mail/opendkim.nix
index 253823cbaf9c..eb6a426684d4 100644
--- a/nixpkgs/nixos/modules/services/mail/opendkim.nix
+++ b/nixpkgs/nixos/modules/services/mail/opendkim.nix
@@ -18,6 +18,9 @@ let
          ] ++ optionals (cfg.configFile != null) [ "-x" cfg.configFile ];
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ])
+  ];
 
   ###### interface
 
@@ -88,16 +91,16 @@ in {
 
   config = mkIf cfg.enable {
 
-    users.users = optionalAttrs (cfg.user == "opendkim") (singleton
-      { name = "opendkim";
+    users.users = optionalAttrs (cfg.user == "opendkim") {
+      opendkim = {
         group = cfg.group;
         uid = config.ids.uids.opendkim;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "opendkim") (singleton
-      { name = "opendkim";
-        gid = config.ids.gids.opendkim;
-      });
+    users.groups = optionalAttrs (cfg.group == "opendkim") {
+      opendkim.gid = config.ids.gids.opendkim;
+    };
 
     environment.systemPackages = [ pkgs.opendkim ];
 
diff --git a/nixpkgs/nixos/modules/services/mail/opensmtpd.nix b/nixpkgs/nixos/modules/services/mail/opensmtpd.nix
index a870550ba50b..1fabe2da45c5 100644
--- a/nixpkgs/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixpkgs/nixos/modules/services/mail/opensmtpd.nix
@@ -101,6 +101,12 @@ in {
       };
     };
 
+    systemd.tmpfiles.rules = [
+      "d /var/spool/smtpd 711 root - - -"
+      "d /var/spool/smtpd/offline 770 root smtpq - -"
+      "d /var/spool/smtpd/purge 700 smtpq root - -"
+    ];
+
     systemd.services.opensmtpd = let
       procEnv = pkgs.buildEnv {
         name = "opensmtpd-procs";
@@ -110,18 +116,6 @@ in {
     in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      preStart = ''
-        mkdir -p /var/spool/smtpd
-        chmod 711 /var/spool/smtpd
-
-        mkdir -p /var/spool/smtpd/offline
-        chown root.smtpq /var/spool/smtpd/offline
-        chmod 770 /var/spool/smtpd/offline
-
-        mkdir -p /var/spool/smtpd/purge
-        chown smtpq.root /var/spool/smtpd/purge
-        chmod 700 /var/spool/smtpd/purge
-      '';
       serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}";
       environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
     };
diff --git a/nixpkgs/nixos/modules/services/mail/postfix.nix b/nixpkgs/nixos/modules/services/mail/postfix.nix
index df438a0c69d1..d7378821440d 100644
--- a/nixpkgs/nixos/modules/services/mail/postfix.nix
+++ b/nixpkgs/nixos/modules/services/mail/postfix.nix
@@ -655,21 +655,20 @@ in
         setgid = true;
       };
 
-      users.users = optional (user == "postfix")
-        { name = "postfix";
-          description = "Postfix mail server user";
-          uid = config.ids.uids.postfix;
-          group = group;
+      users.users = optionalAttrs (user == "postfix")
+        { postfix = {
+            description = "Postfix mail server user";
+            uid = config.ids.uids.postfix;
+            group = group;
+          };
         };
 
       users.groups =
-        optional (group == "postfix")
-        { name = group;
-          gid = config.ids.gids.postfix;
+        optionalAttrs (group == "postfix")
+        { ${group}.gid = config.ids.gids.postfix;
         }
-        ++ optional (setgidGroup == "postdrop")
-        { name = setgidGroup;
-          gid = config.ids.gids.postdrop;
+        // optionalAttrs (setgidGroup == "postdrop")
+        { ${setgidGroup}.gid = config.ids.gids.postdrop;
         };
 
       systemd.services.postfix =
diff --git a/nixpkgs/nixos/modules/services/mail/postgrey.nix b/nixpkgs/nixos/modules/services/mail/postgrey.nix
index 88fb7f0b4ad1..709f6b21aa0a 100644
--- a/nixpkgs/nixos/modules/services/mail/postgrey.nix
+++ b/nixpkgs/nixos/modules/services/mail/postgrey.nix
@@ -42,6 +42,17 @@ with lib; let
   };
 
 in {
+  imports = [
+    (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
+        value = p: getAttrFromPath p config;
+        inetAddr = [ "services" "postgrey" "inetAddr" ];
+        inetPort = [ "services" "postgrey" "inetPort" ];
+      in
+        if value inetAddr == null
+        then { path = "/run/postgrey.sock"; }
+        else { addr = value inetAddr; port = value inetPort; }
+    ))
+  ];
 
   options = {
     services.postgrey = with types; {
diff --git a/nixpkgs/nixos/modules/services/mail/postsrsd.nix b/nixpkgs/nixos/modules/services/mail/postsrsd.nix
index 8f12a16906c5..2ebc675ab10a 100644
--- a/nixpkgs/nixos/modules/services/mail/postsrsd.nix
+++ b/nixpkgs/nixos/modules/services/mail/postsrsd.nix
@@ -90,16 +90,16 @@ in {
 
     services.postsrsd.domain = mkDefault config.networking.hostName;
 
-    users.users = optionalAttrs (cfg.user == "postsrsd") (singleton
-      { name = "postsrsd";
+    users.users = optionalAttrs (cfg.user == "postsrsd") {
+      postsrsd = {
         group = cfg.group;
         uid = config.ids.uids.postsrsd;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "postsrsd") (singleton
-      { name = "postsrsd";
-        gid = config.ids.gids.postsrsd;
-      });
+    users.groups = optionalAttrs (cfg.group == "postsrsd") {
+      postsrsd.gid = config.ids.gids.postsrsd;
+    };
 
     systemd.services.postsrsd = {
       description = "PostSRSd SRS rewriting server";
diff --git a/nixpkgs/nixos/modules/services/mail/roundcube.nix b/nixpkgs/nixos/modules/services/mail/roundcube.nix
index bdedfa1bb701..36dda619ad06 100644
--- a/nixpkgs/nixos/modules/services/mail/roundcube.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/mail/rspamd.nix b/nixpkgs/nixos/modules/services/mail/rspamd.nix
index 4db35d9e89ab..aacdbe2aeed2 100644
--- a/nixpkgs/nixos/modules/services/mail/rspamd.nix
+++ b/nixpkgs/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
@@ -220,7 +220,6 @@ let
 in
 
 {
-
   ###### interface
 
   options = {
@@ -375,15 +374,13 @@ in
     # Allow users to run 'rspamc' and 'rspamadm'.
     environment.systemPackages = [ pkgs.rspamd ];
 
-    users.users = singleton {
-      name = cfg.user;
+    users.users.${cfg.user} = {
       description = "rspamd daemon";
       uid = config.ids.uids.rspamd;
       group = cfg.group;
     };
 
-    users.groups = singleton {
-      name = cfg.group;
+    users.groups.${cfg.group} = {
       gid = config.ids.gids.rspamd;
     };
 
@@ -414,5 +411,6 @@ in
 	     "Socket activation never worked correctly and could at this time not be fixed and so was removed")
     (mkRenamedOptionModule [ "services" "rspamd" "bindSocket" ] [ "services" "rspamd" "workers" "normal" "bindSockets" ])
     (mkRenamedOptionModule [ "services" "rspamd" "bindUISocket" ] [ "services" "rspamd" "workers" "controller" "bindSockets" ])
+    (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service")
   ];
 }
diff --git a/nixpkgs/nixos/modules/services/mail/spamassassin.nix b/nixpkgs/nixos/modules/services/mail/spamassassin.nix
index cea525606481..851dbacfbf2e 100644
--- a/nixpkgs/nixos/modules/services/mail/spamassassin.nix
+++ b/nixpkgs/nixos/modules/services/mail/spamassassin.nix
@@ -117,15 +117,13 @@ in
     # Allow users to run 'spamc'.
     environment.systemPackages = [ pkgs.spamassassin ];
 
-    users.users = singleton {
-      name = "spamd";
+    users.users.spamd = {
       description = "Spam Assassin Daemon";
       uid = config.ids.uids.spamd;
       group = "spamd";
     };
 
-    users.groups = singleton {
-      name = "spamd";
+    users.groups.spamd = {
       gid = config.ids.gids.spamd;
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/airsonic.nix b/nixpkgs/nixos/modules/services/misc/airsonic.nix
index 919d3b2f6e64..c296e048cea4 100644
--- a/nixpkgs/nixos/modules/services/misc/airsonic.nix
+++ b/nixpkgs/nixos/modules/services/misc/airsonic.nix
@@ -148,6 +148,7 @@ in {
       name = cfg.user;
       home = cfg.home;
       createHome = true;
+      isSystemUser = true;
     };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/misc/apache-kafka.nix b/nixpkgs/nixos/modules/services/misc/apache-kafka.nix
index 798e902ccae4..f3a650a260f1 100644
--- a/nixpkgs/nixos/modules/services/misc/apache-kafka.nix
+++ b/nixpkgs/nixos/modules/services/misc/apache-kafka.nix
@@ -124,14 +124,13 @@ in {
 
     environment.systemPackages = [cfg.package];
 
-    users.users = singleton {
-      name = "apache-kafka";
+    users.users.apache-kafka = {
       uid = config.ids.uids.apache-kafka;
       description = "Apache Kafka daemon user";
       home = head cfg.logDirs;
     };
 
-    systemd.tmpfiles.rules = map (logDir: "d '${logDir} 0700 apache-kafka - - -") cfg.logDirs;
+    systemd.tmpfiles.rules = map (logDir: "d '${logDir}' 0700 apache-kafka - - -") cfg.logDirs;
 
     systemd.services.apache-kafka = {
       description = "Apache Kafka Daemon";
diff --git a/nixpkgs/nixos/modules/services/misc/beanstalkd.nix b/nixpkgs/nixos/modules/services/misc/beanstalkd.nix
index 06e881406b52..bcd133c97411 100644
--- a/nixpkgs/nixos/modules/services/misc/beanstalkd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/bepasty.nix b/nixpkgs/nixos/modules/services/misc/bepasty.nix
index 87d360681445..f69832e5b2bd 100644
--- a/nixpkgs/nixos/modules/services/misc/bepasty.nix
+++ b/nixpkgs/nixos/modules/services/misc/bepasty.nix
@@ -168,16 +168,12 @@ in
         })
     ) cfg.servers;
 
-    users.users = [{
-      uid = config.ids.uids.bepasty;
-      name = user;
-      group = group;
-      home = default_home;
-    }];
-
-    users.groups = [{
-      name = group;
-      gid = config.ids.gids.bepasty;
-    }];
+    users.users.${user} =
+      { uid = config.ids.uids.bepasty;
+        group = group;
+        home = default_home;
+      };
+
+    users.groups.${group}.gid = config.ids.gids.bepasty;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/misc/cgminer.nix b/nixpkgs/nixos/modules/services/misc/cgminer.nix
index b1cf5a7d1104..9fcae6452696 100644
--- a/nixpkgs/nixos/modules/services/misc/cgminer.nix
+++ b/nixpkgs/nixos/modules/services/misc/cgminer.nix
@@ -110,11 +110,12 @@ in
 
   config = mkIf config.services.cgminer.enable {
 
-    users.users = optionalAttrs (cfg.user == "cgminer") (singleton
-      { name = "cgminer";
+    users.users = optionalAttrs (cfg.user == "cgminer") {
+      cgminer = {
         uid = config.ids.uids.cgminer;
         description = "Cgminer user";
-      });
+      };
+    };
 
     environment.systemPackages = [ cfg.package ];
 
diff --git a/nixpkgs/nixos/modules/services/misc/couchpotato.nix b/nixpkgs/nixos/modules/services/misc/couchpotato.nix
index 528af486b414..f5163cf86cf5 100644
--- a/nixpkgs/nixos/modules/services/misc/couchpotato.nix
+++ b/nixpkgs/nixos/modules/services/misc/couchpotato.nix
@@ -29,17 +29,14 @@ in
       };
     };
 
-    users.users = singleton
-      { name = "couchpotato";
-        group = "couchpotato";
+    users.users.couchpotato =
+      { group = "couchpotato";
         home = "/var/lib/couchpotato/";
         description = "CouchPotato daemon user";
         uid = config.ids.uids.couchpotato;
       };
 
-    users.groups = singleton
-      { name = "couchpotato";
-        gid = config.ids.gids.couchpotato;
-      };
+    users.groups.couchpotato =
+      { gid = config.ids.gids.couchpotato; };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/misc/dictd.nix b/nixpkgs/nixos/modules/services/misc/dictd.nix
index d7b0997a1fc5..ae477dc3b634 100644
--- a/nixpkgs/nixos/modules/services/misc/dictd.nix
+++ b/nixpkgs/nixos/modules/services/misc/dictd.nix
@@ -49,18 +49,14 @@ in
       server localhost
     '';
 
-    users.users = singleton
-      { name = "dictd";
-        group = "dictd";
+    users.users.dictd =
+      { group = "dictd";
         description = "DICT.org dictd server";
         home = "${dictdb}/share/dictd";
         uid = config.ids.uids.dictd;
       };
 
-    users.groups = singleton
-      { name = "dictd";
-        gid = config.ids.gids.dictd;
-      };
+    users.groups.dictd.gid = config.ids.gids.dictd;
 
     systemd.services.dictd = {
       description = "DICT.org Dictionary Server";
diff --git a/nixpkgs/nixos/modules/services/misc/docker-registry.nix b/nixpkgs/nixos/modules/services/misc/docker-registry.nix
index c87607d2666a..89bac4f47d73 100644
--- a/nixpkgs/nixos/modules/services/misc/docker-registry.nix
+++ b/nixpkgs/nixos/modules/services/misc/docker-registry.nix
@@ -145,11 +145,13 @@ in {
     };
 
     users.users.docker-registry =
-      if cfg.storagePath != null
+      (if cfg.storagePath != null
       then {
         createHome = true;
         home = cfg.storagePath;
       }
-      else {};
+      else {}) // {
+        isSystemUser = true;
+      };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/misc/errbot.nix b/nixpkgs/nixos/modules/services/misc/errbot.nix
index 256adce2f02e..b447ba5d438d 100644
--- a/nixpkgs/nixos/modules/services/misc/errbot.nix
+++ b/nixpkgs/nixos/modules/services/misc/errbot.nix
@@ -76,7 +76,10 @@ in {
   };
 
   config = mkIf (cfg.instances != {}) {
-    users.users.errbot.group = "errbot";
+    users.users.errbot = {
+      group = "errbot";
+      isSystemUser = true;
+    };
     users.groups.errbot = {};
 
     systemd.services = mapAttrs' (name: instanceCfg: nameValuePair "errbot-${name}" (
diff --git a/nixpkgs/nixos/modules/services/misc/etcd.nix b/nixpkgs/nixos/modules/services/misc/etcd.nix
index e4d5322f9b5f..7322e1c080be 100644
--- a/nixpkgs/nixos/modules/services/misc/etcd.nix
+++ b/nixpkgs/nixos/modules/services/misc/etcd.nix
@@ -186,8 +186,7 @@ in {
 
     environment.systemPackages = [ pkgs.etcdctl ];
 
-    users.users = singleton {
-      name = "etcd";
+    users.users.etcd = {
       uid = config.ids.uids.etcd;
       description = "Etcd daemon user";
       home = cfg.dataDir;
diff --git a/nixpkgs/nixos/modules/services/misc/ethminer.nix b/nixpkgs/nixos/modules/services/misc/ethminer.nix
index 2958cf214473..95afb0460fb8 100644
--- a/nixpkgs/nixos/modules/services/misc/ethminer.nix
+++ b/nixpkgs/nixos/modules/services/misc/ethminer.nix
@@ -71,7 +71,7 @@ in
 
       maxPower = mkOption {
         type = types.int;
-        default = 115;
+        default = 113;
         description = "Miner max watt usage.";
       };
 
@@ -92,7 +92,9 @@ in
 
       serviceConfig = {
         DynamicUser = true;
+        ExecStartPre = "${pkgs.ethminer}/bin/.ethminer-wrapped --list-devices";
         ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}";
+        Restart = "always";
       };
 
       environment = {
diff --git a/nixpkgs/nixos/modules/services/misc/exhibitor.nix b/nixpkgs/nixos/modules/services/misc/exhibitor.nix
index 74f4f671f460..f8c79f892da3 100644
--- a/nixpkgs/nixos/modules/services/misc/exhibitor.nix
+++ b/nixpkgs/nixos/modules/services/misc/exhibitor.nix
@@ -410,8 +410,7 @@ in
         sed -i 's/'"$replace_what"'/'"$replace_with"'/g' ${cfg.baseDir}/zookeeper/bin/zk*.sh
       '';
     };
-    users.users = singleton {
-      name = "zookeeper";
+    users.users.zookeeper = {
       uid = config.ids.uids.zookeeper;
       description = "Zookeeper daemon user";
       home = cfg.baseDir;
diff --git a/nixpkgs/nixos/modules/services/misc/felix.nix b/nixpkgs/nixos/modules/services/misc/felix.nix
index 1c5ece868258..188e45abc58b 100644
--- a/nixpkgs/nixos/modules/services/misc/felix.nix
+++ b/nixpkgs/nixos/modules/services/misc/felix.nix
@@ -47,14 +47,10 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
-    users.groups = singleton
-      { name = "osgi";
-        gid = config.ids.gids.osgi;
-      };
+    users.groups.osgi.gid = config.ids.gids.osgi;
 
-    users.users = singleton
-      { name = "osgi";
-        uid = config.ids.uids.osgi;
+    users.users.osgi =
+      { uid = config.ids.uids.osgi;
         description = "OSGi user";
         home = "/homeless-shelter";
       };
diff --git a/nixpkgs/nixos/modules/services/misc/folding-at-home.nix b/nixpkgs/nixos/modules/services/misc/folding-at-home.nix
index 122c89ce0680..fd2ea3948f64 100644
--- a/nixpkgs/nixos/modules/services/misc/folding-at-home.nix
+++ b/nixpkgs/nixos/modules/services/misc/folding-at-home.nix
@@ -42,9 +42,8 @@ in {
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = fahUser;
-        uid = config.ids.uids.foldingathome;
+    users.users.${fahUser} =
+      { uid = config.ids.uids.foldingathome;
         description = "Folding@Home user";
         home = stateDir;
       };
diff --git a/nixpkgs/nixos/modules/services/misc/gitea.nix b/nixpkgs/nixos/modules/services/misc/gitea.nix
index 4992b13c9d4a..258476dd9feb 100644
--- a/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -394,6 +394,26 @@ in
         WorkingDirectory = cfg.stateDir;
         ExecStart = "${gitea.bin}/bin/gitea web";
         Restart = "always";
+
+        # Filesystem
+        ProtectHome = 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 = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
+        SystemCallArchitectures = "native";
+        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
       };
 
       environment = {
@@ -409,6 +429,7 @@ in
         home = cfg.stateDir;
         useDefaultShell = true;
         group = "gitea";
+        isSystemUser = true;
       };
     };
 
@@ -452,4 +473,5 @@ in
       timerConfig.OnCalendar = cfg.dump.interval;
     };
   };
+  meta.maintainers = with lib.maintainers; [ srhb ];
 }
diff --git a/nixpkgs/nixos/modules/services/misc/gitlab.nix b/nixpkgs/nixos/modules/services/misc/gitlab.nix
index 4c1ffead00c8..aa9589853797 100644
--- a/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitlab.nix
@@ -7,6 +7,11 @@ let
 
   ruby = cfg.packages.gitlab.ruby;
 
+  postgresqlPackage = if config.services.postgresql.enable then
+                        config.services.postgresql.package
+                      else
+                        pkgs.postgresql;
+
   gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
   gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
   pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
@@ -22,6 +27,9 @@ let
     } // cfg.extraDatabaseConfig;
   };
 
+  # We only want to create a database if we're actually going to connect to it.
+  databaseActuallyCreateLocally = cfg.databaseCreateLocally && cfg.databaseHost == "";
+
   gitalyToml = pkgs.writeText "gitaly.toml" ''
     socket_path = "${lib.escape ["\""] gitalySocket}"
     bin_dir = "${cfg.packages.gitaly}/bin"
@@ -138,7 +146,7 @@ let
       mkdir -p $out/bin
       makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
-          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
+          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
      '';
@@ -153,7 +161,7 @@ let
       mkdir -p $out/bin
       makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
-          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
+          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
      '';
   };
@@ -181,6 +189,11 @@ let
 
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
+    (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
+  ];
+
   options = {
     services.gitlab = {
       enable = mkOption {
@@ -266,8 +279,8 @@ in {
         description = ''
           Whether a database should be automatically created on the
           local host. Set this to <literal>false</literal> if you plan
-          on provisioning a local database yourself or use an external
-          one.
+          on provisioning a local database yourself. This has no effect
+          if <option>services.gitlab.databaseHost</option> is customized.
         '';
       };
 
@@ -557,8 +570,8 @@ in {
 
     assertions = [
       {
-        assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
-        message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
+        assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.databaseUsername);
+        message = ''For local automatic database provisioning (services.gitlab.databaseCreateLocally == true) with peer authentication (services.gitlab.databaseHost == "") to work services.gitlab.user and services.gitlab.databaseUsername must be identical.'';
       }
       {
         assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
@@ -592,14 +605,16 @@ in {
     services.redis.enable = mkDefault true;
 
     # We use postgres as the main data store.
-    services.postgresql = optionalAttrs cfg.databaseCreateLocally {
+    services.postgresql = optionalAttrs databaseActuallyCreateLocally {
       enable = true;
       ensureUsers = singleton { name = cfg.databaseUsername; };
     };
     # The postgresql module doesn't currently support concepts like
     # objects owners and extensions; for now we tack on what's needed
     # here.
-    systemd.services.postgresql.postStart = mkAfter (optionalString cfg.databaseCreateLocally ''
+    systemd.services.postgresql.postStart = mkAfter (optionalString databaseActuallyCreateLocally ''
+      set -eu
+
       $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
       current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
       if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
@@ -618,20 +633,14 @@ in {
     # Use postfix to send out mails.
     services.postfix.enable = mkDefault true;
 
-    users.users = [
-      { name = cfg.user;
-        group = cfg.group;
+    users.users.${cfg.user} =
+      { group = cfg.group;
         home = "${cfg.statePath}/home";
         shell = "${pkgs.bash}/bin/bash";
         uid = config.ids.uids.gitlab;
-      }
-    ];
+      };
 
-    users.groups = [
-      { name = cfg.group;
-        gid = config.ids.gids.gitlab;
-      }
-    ];
+    users.groups.${cfg.group}.gid = config.ids.gids.gitlab;
 
     systemd.tmpfiles.rules = [
       "d /run/gitlab 0755 ${cfg.user} ${cfg.group} -"
@@ -641,7 +650,7 @@ in {
       "d ${cfg.statePath} 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
-      "D ${cfg.statePath}/config/initializers 0750 ${cfg.user} ${cfg.group} -"
+      "d ${cfg.statePath}/config/initializers 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
@@ -658,7 +667,6 @@ in {
       "d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
       "d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
       "d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
-      "L+ ${cfg.statePath}/lib - - - - ${cfg.packages.gitlab}/share/gitlab/lib"
       "L+ /run/gitlab/config - - - - ${cfg.statePath}/config"
       "L+ /run/gitlab/log - - - - ${cfg.statePath}/log"
       "L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp"
@@ -675,7 +683,7 @@ in {
       wantedBy = [ "multi-user.target" ];
       environment = gitlabEnv;
       path = with pkgs; [
-        config.services.postgresql.package
+        postgresqlPackage
         gitAndTools.git
         ruby
         openssh
@@ -732,7 +740,6 @@ in {
         gitlab-workhorse
       ];
       serviceConfig = {
-        PermissionsStartOnly = true; # preStart must be run as root
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
@@ -756,89 +763,109 @@ in {
       wantedBy = [ "multi-user.target" ];
       environment = gitlabEnv;
       path = with pkgs; [
-        config.services.postgresql.package
+        postgresqlPackage
         gitAndTools.git
         openssh
         nodejs
         procps
         gnupg
       ];
-      preStart = ''
-        cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
-        rm -rf ${cfg.statePath}/db/*
-        cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
-        cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
-
-        ${cfg.packages.gitlab-shell}/bin/install
 
-        ${optionalString cfg.smtp.enable ''
-          install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
-          ${optionalString (cfg.smtp.passwordFile != null) ''
-            smtp_password=$(<'${cfg.smtp.passwordFile}')
-            ${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
-          ''}
-        ''}
-
-        (
-          umask u=rwx,g=,o=
+      serviceConfig = {
+        Type = "simple";
+        User = cfg.user;
+        Group = cfg.group;
+        TimeoutSec = "infinity";
+        Restart = "on-failure";
+        WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+        ExecStartPre = let
+          preStartFullPrivileges = ''
+            shopt -s dotglob nullglob
+            set -eu
 
-          ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
+            chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
+            chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/config/*
+          '';
+          preStart = ''
+            set -eu
 
-          ${if cfg.databasePasswordFile != null then ''
-              export db_password="$(<'${cfg.databasePasswordFile}')"
+            cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
+            rm -rf ${cfg.statePath}/db/*
+            rm -rf ${cfg.statePath}/config/initializers/*
+            rm -f ${cfg.statePath}/lib
+            cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
+            cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
 
-              if [[ -z "$db_password" ]]; then
-                >&2 echo "Database password was an empty string!"
-                exit 1
-              fi
+            ${cfg.packages.gitlab-shell}/bin/install
 
-              ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
-                                '.production.password = $ENV.db_password' \
-                                >'${cfg.statePath}/config/database.yml'
-            ''
-            else ''
-              ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
-                                >'${cfg.statePath}/config/database.yml'
-            ''
-          }
-
-          ${utils.genJqSecretsReplacementSnippet
-              gitlabConfig
-              "${cfg.statePath}/config/gitlab.yml"
-          }
-
-          if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
-            rm '${cfg.statePath}/config/secrets.yml'
-          fi
+            ${optionalString cfg.smtp.enable ''
+              install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
+              ${optionalString (cfg.smtp.passwordFile != null) ''
+                smtp_password=$(<'${cfg.smtp.passwordFile}')
+                ${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
+              ''}
+            ''}
 
-          export secret="$(<'${cfg.secrets.secretFile}')"
-          export db="$(<'${cfg.secrets.dbFile}')"
-          export otp="$(<'${cfg.secrets.otpFile}')"
-          export jws="$(<'${cfg.secrets.jwsFile}')"
-          ${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
-                                              otp_key_base: $ENV.otp,
-                                              db_key_base: $ENV.db,
-                                              openid_connect_signing_key: $ENV.jws}}' \
-                            > '${cfg.statePath}/config/secrets.yml'
-        )
+            (
+              umask u=rwx,g=,o=
 
-        initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
-        ${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
-                                                           GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
+              ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
 
-        # We remove potentially broken links to old gitlab-shell versions
-        rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
+              if [[ -h '${cfg.statePath}/config/database.yml' ]]; then
+                rm '${cfg.statePath}/config/database.yml'
+              fi
 
-        ${pkgs.git}/bin/git config --global core.autocrlf "input"
-      '';
+              ${if cfg.databasePasswordFile != null then ''
+                  export db_password="$(<'${cfg.databasePasswordFile}')"
+
+                  if [[ -z "$db_password" ]]; then
+                    >&2 echo "Database password was an empty string!"
+                    exit 1
+                  fi
+
+                  ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
+                                    '.production.password = $ENV.db_password' \
+                                    >'${cfg.statePath}/config/database.yml'
+                ''
+                else ''
+                  ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
+                                    >'${cfg.statePath}/config/database.yml'
+                ''
+              }
+
+              ${utils.genJqSecretsReplacementSnippet
+                  gitlabConfig
+                  "${cfg.statePath}/config/gitlab.yml"
+              }
+
+              if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
+                rm '${cfg.statePath}/config/secrets.yml'
+              fi
 
-      serviceConfig = {
-        Type = "simple";
-        User = cfg.user;
-        Group = cfg.group;
-        TimeoutSec = "infinity";
-        Restart = "on-failure";
-        WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+              export secret="$(<'${cfg.secrets.secretFile}')"
+              export db="$(<'${cfg.secrets.dbFile}')"
+              export otp="$(<'${cfg.secrets.otpFile}')"
+              export jws="$(<'${cfg.secrets.jwsFile}')"
+              ${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
+                                                  otp_key_base: $ENV.otp,
+                                                  db_key_base: $ENV.db,
+                                                  openid_connect_signing_key: $ENV.jws}}' \
+                                > '${cfg.statePath}/config/secrets.yml'
+            )
+
+            initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
+            ${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
+                                                               GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}' > /dev/null
+
+            # We remove potentially broken links to old gitlab-shell versions
+            rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
+
+            ${pkgs.git}/bin/git config --global core.autocrlf "input"
+          '';
+        in [
+          "+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}"
+          "${pkgs.writeShellScript "gitlab-pre-start" preStart}"
+        ];
         ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
       };
 
diff --git a/nixpkgs/nixos/modules/services/misc/gollum.nix b/nixpkgs/nixos/modules/services/misc/gollum.nix
index 7653b415bf09..f4a9c72b1545 100644
--- a/nixpkgs/nixos/modules/services/misc/gollum.nix
+++ b/nixpkgs/nixos/modules/services/misc/gollum.nix
@@ -71,6 +71,7 @@ in
       group = config.users.users.gollum.name;
       description = "Gollum user";
       createHome = false;
+      isSystemUser = true;
     };
 
     users.groups.gollum = { };
diff --git a/nixpkgs/nixos/modules/services/misc/gpsd.nix b/nixpkgs/nixos/modules/services/misc/gpsd.nix
index 3bfcb636a3c6..f954249942a8 100644
--- a/nixpkgs/nixos/modules/services/misc/gpsd.nix
+++ b/nixpkgs/nixos/modules/services/misc/gpsd.nix
@@ -86,17 +86,13 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = "gpsd";
-        inherit uid;
+    users.users.gpsd =
+      { inherit uid;
         description = "gpsd daemon user";
         home = "/var/empty";
       };
 
-    users.groups = singleton
-      { name = "gpsd";
-        inherit gid;
-      };
+    users.groups.gpsd = { inherit gid; };
 
     systemd.services.gpsd = {
       description = "GPSD daemon";
diff --git a/nixpkgs/nixos/modules/services/misc/headphones.nix b/nixpkgs/nixos/modules/services/misc/headphones.nix
index 4a77045be28e..3ee0a4458bd0 100644
--- a/nixpkgs/nixos/modules/services/misc/headphones.nix
+++ b/nixpkgs/nixos/modules/services/misc/headphones.nix
@@ -59,19 +59,19 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = optionalAttrs (cfg.user == name) (singleton {
-      name = name;
-      uid = config.ids.uids.headphones;
-      group = cfg.group;
-      description = "headphones user";
-      home = cfg.dataDir;
-      createHome = true;
-    });
+    users.users = optionalAttrs (cfg.user == name) {
+      ${name} = {
+        uid = config.ids.uids.headphones;
+        group = cfg.group;
+        description = "headphones user";
+        home = cfg.dataDir;
+        createHome = true;
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == name) (singleton {
-      name = name;
-      gid = config.ids.gids.headphones;
-    });
+    users.groups = optionalAttrs (cfg.group == name) {
+      ${name}.gid = config.ids.gids.headphones;
+    };
 
     systemd.services.headphones = {
         description = "Headphones Server";
diff --git a/nixpkgs/nixos/modules/services/misc/home-assistant.nix b/nixpkgs/nixos/modules/services/misc/home-assistant.nix
index 74702c97f551..cc113ca2d0c1 100644
--- a/nixpkgs/nixos/modules/services/misc/home-assistant.nix
+++ b/nixpkgs/nixos/modules/services/misc/home-assistant.nix
@@ -11,6 +11,9 @@ let
     (recursiveUpdate defaultConfig cfg.config) else cfg.config));
   configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
     ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
+    # Hack to support secrets, that are encoded as custom yaml objects,
+    # https://www.home-assistant.io/docs/configuration/secrets/
+    sed -i -e "s/'\!secret \(.*\)'/\!secret \1/" $out
   '';
 
   lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
@@ -98,6 +101,10 @@ in {
         {
           homeassistant = {
             name = "Home";
+            latitude = "!secret latitude";
+            longitude = "!secret longitude";
+            elevation = "!secret elevation";
+            unit_system = "metric";
             time_zone = "UTC";
           };
           frontend = { };
@@ -108,6 +115,8 @@ in {
       description = ''
         Your <filename>configuration.yaml</filename> as a Nix attribute set.
         Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
+        <link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">Secrets</link>
+        are encoded as strings as shown in the example.
       '';
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/jellyfin.nix b/nixpkgs/nixos/modules/services/misc/jellyfin.nix
index 55559206568d..6ecdfb57dc35 100644
--- a/nixpkgs/nixos/modules/services/misc/jellyfin.nix
+++ b/nixpkgs/nixos/modules/services/misc/jellyfin.nix
@@ -41,7 +41,10 @@ in
     };
 
     users.users = mkIf (cfg.user == "jellyfin") {
-      jellyfin.group = cfg.group;
+      jellyfin = {
+        group = cfg.group;
+        isSystemUser = true;
+      };
     };
 
     users.groups = mkIf (cfg.group == "jellyfin") {
diff --git a/nixpkgs/nixos/modules/services/misc/lidarr.nix b/nixpkgs/nixos/modules/services/misc/lidarr.nix
index 40755c162171..8ff1adadcf23 100644
--- a/nixpkgs/nixos/modules/services/misc/lidarr.nix
+++ b/nixpkgs/nixos/modules/services/misc/lidarr.nix
@@ -10,6 +10,12 @@ in
     services.lidarr = {
       enable = mkEnableOption "Lidarr";
 
+      dataDir = mkOption {
+        type = types.str;
+        default = "/var/lib/lidarr/.config/Lidarr";
+        description = "The directory where Lidarr stores its data files.";
+      };
+
       package = mkOption {
         type = types.package;
         default = pkgs.lidarr;
@@ -44,6 +50,10 @@ in
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.lidarr = {
       description = "Lidarr";
       after = [ "network.target" ];
@@ -53,11 +63,8 @@ in
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        ExecStart = "${cfg.package}/bin/Lidarr";
+        ExecStart = "${cfg.package}/bin/Lidarr -nobrowser -data='${cfg.dataDir}'";
         Restart = "on-failure";
-
-        StateDirectory = "lidarr";
-        StateDirectoryMode = "0770";
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/mame.nix b/nixpkgs/nixos/modules/services/misc/mame.nix
new file mode 100644
index 000000000000..c5d5e9e48371
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/mame.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.mame;
+  mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}";
+in
+{
+  options = {
+    services.mame = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to setup TUN/TAP Ethernet interface for MAME emulator.
+        '';
+      };
+      user = mkOption {
+        type = types.str;
+        description = ''
+          User from which you run MAME binary.
+        '';
+      };
+      hostAddr = mkOption {
+        type = types.str;
+        description = ''
+          IP address of the host system. Usually an address of the main network
+          adapter or the adapter through which you get an internet connection.
+        '';
+        example = "192.168.31.156";
+      };
+      emuAddr = mkOption {
+        type = types.str;
+        description = ''
+          IP address of the guest system. The same you set inside guest OS under
+          MAME. Should be on the same subnet as <option>services.mame.hostAddr</option>.
+        '';
+        example = "192.168.31.155";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.mame ];
+
+    security.wrappers."${mame}" = {
+      source = "${pkgs.mame}/bin/${mame}";
+      capabilities = "cap_net_admin,cap_net_raw+eip";
+    };
+
+    systemd.services.mame = {
+      description = "MAME TUN/TAP Ethernet interface";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.iproute ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -";
+        ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}";
+      };
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ gnidorah ];
+}
diff --git a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
index 018fac386163..750f4a292fb4 100644
--- a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
@@ -79,7 +79,11 @@ turn_user_lifetime: "${cfg.turn_user_lifetime}"
 user_creation_max_duration: ${cfg.user_creation_max_duration}
 bcrypt_rounds: ${cfg.bcrypt_rounds}
 allow_guest_access: ${boolToString cfg.allow_guest_access}
-trusted_third_party_id_servers: ${builtins.toJSON cfg.trusted_third_party_id_servers}
+
+account_threepid_delegates:
+  ${optionalString (cfg.account_threepid_delegates.email != null) "email: ${cfg.account_threepid_delegates.email}"}
+  ${optionalString (cfg.account_threepid_delegates.msisdn != null) "msisdn: ${cfg.account_threepid_delegates.msisdn}"}
+
 room_invite_state_types: ${builtins.toJSON cfg.room_invite_state_types}
 ${optionalString (cfg.macaroon_secret_key != null) ''
   macaroon_secret_key: "${cfg.macaroon_secret_key}"
@@ -102,6 +106,7 @@ perspectives:
     '') cfg.servers)}
     }
   }
+redaction_retention_period: ${toString cfg.redaction_retention_period}
 app_service_config_files: ${builtins.toJSON cfg.app_service_config_files}
 
 ${cfg.extraConfig}
@@ -402,6 +407,9 @@ in {
           "192.168.0.0/16"
           "100.64.0.0/10"
           "169.254.0.0/16"
+          "::1/128"
+          "fe80::/64"
+          "fc00::/7"
         ];
         description = ''
           List of IP address CIDR ranges that the URL preview spider is denied
@@ -552,14 +560,18 @@ in {
           accessible to anonymous users.
         '';
       };
-      trusted_third_party_id_servers = mkOption {
-        type = types.listOf types.str;
-        default = [
-          "matrix.org"
-          "vector.im"
-        ];
+      account_threepid_delegates.email = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Delegate email sending to https://example.org
+        '';
+      };
+      account_threepid_delegates.msisdn = mkOption {
+        type = types.nullOr types.str;
+        default = null;
         description = ''
-          The list of identity servers trusted to verify third party identifiers by this server.
+          Delegate SMS sending to this local process (https://localhost:8090)
         '';
       };
       room_invite_state_types = mkOption {
@@ -600,6 +612,13 @@ in {
           A list of application service config file to use
         '';
       };
+      redaction_retention_period = mkOption {
+        type = types.int;
+        default = 7;
+        description = ''
+          How long to keep redacted events in unredacted form in the database.
+        '';
+      };
       extraConfig = mkOption {
         type = types.lines;
         default = "";
@@ -638,57 +657,42 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.users = [
-      { name = "matrix-synapse";
+    users.users.matrix-synapse = { 
         group = "matrix-synapse";
         home = cfg.dataDir;
         createHome = true;
         shell = "${pkgs.bash}/bin/bash";
         uid = config.ids.uids.matrix-synapse;
-      } ];
+      };
 
-    users.groups = [
-      { name = "matrix-synapse";
-        gid = config.ids.gids.matrix-synapse;
-      } ];
+    users.groups.matrix-synapse = {
+      gid = config.ids.gids.matrix-synapse;
+    };
 
-    services.postgresql.enable = mkIf usePostgresql (mkDefault true);
+    services.postgresql = mkIf (usePostgresql && cfg.create_local_database) {
+      enable = mkDefault true;
+      ensureDatabases = [ cfg.database_name ];
+      ensureUsers = [{
+        name = cfg.database_user;
+        ensurePermissions = { "DATABASE \"${cfg.database_name}\"" = "ALL PRIVILEGES"; };
+      }];
+    };
 
     systemd.services.matrix-synapse = {
       description = "Synapse Matrix homeserver";
-      after = [ "network.target" "postgresql.service" ];
+      after = [ "network.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service" ;
       wantedBy = [ "multi-user.target" ];
       preStart = ''
         ${cfg.package}/bin/homeserver \
           --config-path ${configFile} \
           --keys-directory ${cfg.dataDir} \
           --generate-keys
-      '' + optionalString (usePostgresql && cfg.create_local_database) ''
-        if ! test -e "${cfg.dataDir}/db-created"; then
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createuser \
-            --login \
-            --no-createdb \
-            --no-createrole \
-            --encrypted \
-            ${cfg.database_user}
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createdb \
-            --owner=${cfg.database_user} \
-            --encoding=UTF8 \
-            --lc-collate=C \
-            --lc-ctype=C \
-            --template=template0 \
-            ${cfg.database_name}
-          touch "${cfg.dataDir}/db-created"
-        fi
       '';
       serviceConfig = {
         Type = "notify";
         User = "matrix-synapse";
         Group = "matrix-synapse";
         WorkingDirectory = cfg.dataDir;
-        PermissionsStartOnly = true;
         ExecStart = ''
           ${cfg.package}/bin/homeserver \
             ${ concatMapStringsSep "\n  " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) }
@@ -699,4 +703,12 @@ in {
       };
     };
   };
+
+  imports = [
+    (mkRemovedOptionModule [ "services" "matrix-synapse" "trusted_third_party_id_servers" ] ''
+      The `trusted_third_party_id_servers` option as been removed in `matrix-synapse` v1.4.0
+      as the behavior is now obsolete.
+    '')
+  ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/misc/mediatomb.nix b/nixpkgs/nixos/modules/services/misc/mediatomb.nix
index 107fb57fe1c4..529f584a201e 100644
--- a/nixpkgs/nixos/modules/services/misc/mediatomb.nix
+++ b/nixpkgs/nixos/modules/services/misc/mediatomb.nix
@@ -266,19 +266,19 @@ in {
       serviceConfig.User = "${cfg.user}";
     };
 
-    users.groups = optionalAttrs (cfg.group == "mediatomb") (singleton {
-      name = "mediatomb";
-      gid = gid;
-    });
+    users.groups = optionalAttrs (cfg.group == "mediatomb") {
+      mediatomb.gid = gid;
+    };
 
-    users.users = optionalAttrs (cfg.user == "mediatomb") (singleton {
-      name = "mediatomb";
-      isSystemUser = true;
-      group = cfg.group;
-      home = "${cfg.dataDir}";
-      createHome = true;
-      description = "Mediatomb DLNA Server User";
-    });
+    users.users = optionalAttrs (cfg.user == "mediatomb") {
+      mediatomb = {
+        isSystemUser = true;
+        group = cfg.group;
+        home = "${cfg.dataDir}";
+        createHome = true;
+        description = "Mediatomb DLNA Server User";
+      };
+    };
 
     networking.firewall = {
       allowedUDPPorts = [ 1900 cfg.port ];
diff --git a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
index 3826f728afd0..17c3582db0f6 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
@@ -10,10 +10,11 @@ let
 
   nixVersion = getVersion nix;
 
-  isNix20 = versionAtLeast nixVersion "2.0pre";
+  isNix23 = versionAtLeast nixVersion "2.3pre";
 
-  makeNixBuildUser = nr:
-    { name = "nixbld${toString nr}";
+  makeNixBuildUser = nr: {
+    name  = "nixbld${toString nr}";
+    value = {
       description = "Nix build user ${toString nr}";
 
       /* For consistency with the setgid(2), setuid(2), and setgroups(2)
@@ -23,47 +24,35 @@ let
       group = "nixbld";
       extraGroups = [ "nixbld" ];
     };
+  };
 
-  nixbldUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
+  nixbldUsers = listToAttrs (map makeNixBuildUser (range 1 cfg.nrBuildUsers));
 
   nixConf =
-    let
-      # In Nix < 2.0, If we're using sandbox for builds, then provide
-      # /bin/sh in the sandbox as a bind-mount to bash. This means we
-      # also need to include the entire closure of bash. Nix >= 2.0
-      # provides a /bin/sh by default.
-      sh = pkgs.runtimeShell;
-      binshDeps = pkgs.writeReferencesToFile sh;
-    in
-      pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (''
-        ${optionalString (!isNix20) ''
-          extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
-        ''}
+    assert versionAtLeast nixVersion "2.2";
+    pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (
+      ''
         cat > $out <<END
         # WARNING: this file is generated from the nix.* options in
         # your NixOS configuration, typically
         # /etc/nixos/configuration.nix.  Do not edit it!
         build-users-group = nixbld
-        ${if isNix20 then "max-jobs" else "build-max-jobs"} = ${toString (cfg.maxJobs)}
-        ${if isNix20 then "cores" else "build-cores"} = ${toString (cfg.buildCores)}
-        ${if isNix20 then "sandbox" else "build-use-sandbox"} = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
-        ${if isNix20 then "extra-sandbox-paths" else "build-sandbox-paths"} = ${toString cfg.sandboxPaths} ${optionalString (!isNix20) "/bin/sh=${sh} $(echo $extraPaths)"}
-        ${if isNix20 then "substituters" else "binary-caches"} = ${toString cfg.binaryCaches}
-        ${if isNix20 then "trusted-substituters" else "trusted-binary-caches"} = ${toString cfg.trustedBinaryCaches}
-        ${if isNix20 then "trusted-public-keys" else "binary-cache-public-keys"} = ${toString cfg.binaryCachePublicKeys}
+        max-jobs = ${toString (cfg.maxJobs)}
+        cores = ${toString (cfg.buildCores)}
+        sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
+        extra-sandbox-paths = ${toString cfg.sandboxPaths}
+        substituters = ${toString cfg.binaryCaches}
+        trusted-substituters = ${toString cfg.trustedBinaryCaches}
+        trusted-public-keys = ${toString cfg.binaryCachePublicKeys}
         auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
-        ${if isNix20 then ''
-          require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
-        '' else ''
-          signed-binary-caches = ${if cfg.requireSignedBinaryCaches then "*" else ""}
-        ''}
+        require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
         trusted-users = ${toString cfg.trustedUsers}
         allowed-users = ${toString cfg.allowedUsers}
-        ${optionalString (isNix20 && !cfg.distributedBuilds) ''
+        ${optionalString (!cfg.distributedBuilds) ''
           builders =
         ''}
         system-features = ${toString cfg.systemFeatures}
-        ${optionalString (versionAtLeast nixVersion "2.3pre") ''
+        ${optionalString isNix23 ''
           sandbox-fallback = false
         ''}
         $extraOptions
@@ -74,13 +63,17 @@ let
             '' else ''
               echo "Checking that Nix can read nix.conf..."
               ln -s $out ./nix.conf
-              NIX_CONF_DIR=$PWD ${cfg.package}/bin/nix show-config >/dev/null
+              NIX_CONF_DIR=$PWD ${cfg.package}/bin/nix show-config ${optionalString isNix23 "--no-net --option experimental-features nix-command"} >/dev/null
             '')
       );
 
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ])
+    (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
+  ];
 
   ###### interface
 
@@ -165,8 +158,8 @@ in
         type = types.lines;
         default = "";
         example = ''
-          gc-keep-outputs = true
-          gc-keep-derivations = true
+          keep-outputs = true
+          keep-derivations = true
         '';
         description = "Additional text appended to <filename>nix.conf</filename>.";
       };
@@ -421,8 +414,7 @@ in
 
     systemd.services.nix-daemon =
       { path = [ nix pkgs.utillinux config.programs.ssh.package ]
-          ++ optionals cfg.distributedBuilds [ pkgs.gzip ]
-          ++ optionals (!isNix20) [ pkgs.openssl.bin ];
+          ++ optionals cfg.distributedBuilds [ pkgs.gzip ];
 
         environment = cfg.envVars
           // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
@@ -439,34 +431,13 @@ in
         restartTriggers = [ nixConf ];
       };
 
-    nix.envVars =
-      optionalAttrs (!isNix20) {
-        NIX_CONF_DIR = "/etc/nix";
-
-        # Enable the copy-from-other-stores substituter, which allows
-        # builds to be sped up by copying build results from remote
-        # Nix stores.  To do this, mount the remote file system on a
-        # subdirectory of /run/nix/remote-stores.
-        NIX_OTHER_STORES = "/run/nix/remote-stores/*/nix";
-      }
-
-      // optionalAttrs (cfg.distributedBuilds && !isNix20) {
-        NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
-      };
-
     # Set up the environment variables for running Nix.
     environment.sessionVariables = cfg.envVars //
       { NIX_PATH = cfg.nixPath;
       };
 
-    environment.extraInit = optionalString (!isNix20)
+    environment.extraInit =
       ''
-        # Set up secure multi-user builds: non-root users build through the
-        # Nix daemon.
-        if [ "$USER" != root -o ! -w /nix/var/nix/db ]; then
-            export NIX_REMOTE=daemon
-        fi
-      '' + ''
         if [ -e "$HOME/.nix-defexpr/channels" ]; then
           export NIX_PATH="$HOME/.nix-defexpr/channels''${NIX_PATH:+:$NIX_PATH}"
         fi
@@ -476,23 +447,17 @@ in
 
     users.users = nixbldUsers;
 
-    services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
+    services.xserver.displayManager.hiddenUsers = attrNames nixbldUsers;
 
-    # FIXME: use systemd-tmpfiles to create Nix directories.
     system.activationScripts.nix = stringAfter [ "etc" "users" ]
       ''
-        # Nix initialisation.
-        install -m 0755 -d \
-          /nix/var/nix/gcroots \
-          /nix/var/nix/temproots \
-          /nix/var/nix/userpool \
-          /nix/var/nix/profiles \
-          /nix/var/nix/db \
-          /nix/var/log/nix/drvs
-        install -m 1777 -d \
-          /nix/var/nix/gcroots/per-user \
-          /nix/var/nix/profiles/per-user \
-          /nix/var/nix/gcroots/tmp
+        # Create directories in /nix.
+        ${nix}/bin/nix ping-store --no-net
+
+        # Subscribe the root user to the NixOS channel by default.
+        if [ ! -e "/root/.nix-channels" ]; then
+            echo "${config.system.defaultChannel} nixos" > "/root/.nix-channels"
+        fi
       '';
 
     nix.systemFeatures = mkDefault (
diff --git a/nixpkgs/nixos/modules/services/misc/nix-optimise.nix b/nixpkgs/nixos/modules/services/misc/nix-optimise.nix
index 416529f690e0..e02026d5f76c 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-optimise.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-optimise.nix
@@ -40,8 +40,8 @@ in
 
     systemd.services.nix-optimise =
       { description = "Nix Store Optimiser";
-        # No point running it inside a nixos-container. It should be on the host instead.
-        unitConfig.ConditionVirtualization = "!container";
+        # No point this if the nix daemon (and thus the nix store) is outside
+        unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";
         serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise";
         startAt = optionals cfg.automatic cfg.dates;
       };
diff --git a/nixpkgs/nixos/modules/services/misc/nixos-manual.nix b/nixpkgs/nixos/modules/services/misc/nixos-manual.nix
index 20ba3d8ef0bc..ab73f49d4be5 100644
--- a/nixpkgs/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixpkgs/nixos/modules/services/misc/nixos-manual.nix
@@ -52,7 +52,7 @@ in
       };
     })
     (mkIf (cfg.showManual && cfgd.enable && cfgd.nixos.enable) {
-      boot.extraTTYs = [ "tty${toString cfg.ttyNumber}" ];
+      console.extraTTYs = [ "tty${toString cfg.ttyNumber}" ];
 
       systemd.services.nixos-manual = {
         description = "NixOS Manual";
diff --git a/nixpkgs/nixos/modules/services/misc/nzbget.nix b/nixpkgs/nixos/modules/services/misc/nzbget.nix
index eb7b4c05d82d..715ec891cd68 100644
--- a/nixpkgs/nixos/modules/services/misc/nzbget.nix
+++ b/nixpkgs/nixos/modules/services/misc/nzbget.nix
@@ -27,6 +27,12 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
+  ];
+
   # interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/misc/octoprint.nix b/nixpkgs/nixos/modules/services/misc/octoprint.nix
index 8950010773cf..651ed3743884 100644
--- a/nixpkgs/nixos/modules/services/misc/octoprint.nix
+++ b/nixpkgs/nixos/modules/services/misc/octoprint.nix
@@ -86,16 +86,16 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = optionalAttrs (cfg.user == "octoprint") (singleton
-      { name = "octoprint";
+    users.users = optionalAttrs (cfg.user == "octoprint") {
+      octoprint = {
         group = cfg.group;
         uid = config.ids.uids.octoprint;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "octoprint") (singleton
-      { name = "octoprint";
-        gid = config.ids.gids.octoprint;
-      });
+    users.groups = optionalAttrs (cfg.group == "octoprint") {
+      octoprint.gid = config.ids.gids.octoprint;
+    };
 
     systemd.tmpfiles.rules = [
       "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -"
diff --git a/nixpkgs/nixos/modules/services/misc/osrm.nix b/nixpkgs/nixos/modules/services/misc/osrm.nix
index f89f37ccd9df..79c347ab7e0e 100644
--- a/nixpkgs/nixos/modules/services/misc/osrm.nix
+++ b/nixpkgs/nixos/modules/services/misc/osrm.nix
@@ -59,6 +59,7 @@ in
       group = config.users.users.osrm.name;
       description = "OSRM user";
       createHome = false;
+      isSystemUser = true;
     };
 
     users.groups.osrm = { };
diff --git a/nixpkgs/nixos/modules/services/misc/parsoid.nix b/nixpkgs/nixos/modules/services/misc/parsoid.nix
index c757093e5c1b..61626e78f8b3 100644
--- a/nixpkgs/nixos/modules/services/misc/parsoid.nix
+++ b/nixpkgs/nixos/modules/services/misc/parsoid.nix
@@ -26,6 +26,10 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead")
+  ];
+
   ##### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/misc/pykms.nix b/nixpkgs/nixos/modules/services/misc/pykms.nix
index e2d1254602b0..25aa27ae7673 100644
--- a/nixpkgs/nixos/modules/services/misc/pykms.nix
+++ b/nixpkgs/nixos/modules/services/misc/pykms.nix
@@ -9,6 +9,10 @@ let
 in {
   meta.maintainers = with lib.maintainers; [ peterhoeg ];
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "pykms" "verbose" ] "Use services.pykms.logLevel instead")
+  ];
+
   options = {
     services.pykms = {
       enable = mkOption {
diff --git a/nixpkgs/nixos/modules/services/misc/redmine.nix b/nixpkgs/nixos/modules/services/misc/redmine.nix
index 24b9e27ac2da..3b8c14d196f8 100644
--- a/nixpkgs/nixos/modules/services/misc/redmine.nix
+++ b/nixpkgs/nixos/modules/services/misc/redmine.nix
@@ -62,20 +62,11 @@ in
     services.redmine = {
       enable = mkEnableOption "Redmine";
 
-      # default to the 4.x series not forcing major version upgrade of those on the 3.x series
       package = mkOption {
         type = types.package;
-        default = if versionAtLeast config.system.stateVersion "19.03"
-          then pkgs.redmine_4
-          else pkgs.redmine
-        ;
-        defaultText = "pkgs.redmine";
-        description = ''
-          Which Redmine package to use. This defaults to version 3.x if
-          <literal>system.stateVersion &lt; 19.03</literal> and version 4.x
-          otherwise.
-        '';
-        example = "pkgs.redmine_4.override { ruby = pkgs.ruby_2_4; }";
+        default = pkgs.redmine;
+        description = "Which Redmine package to use.";
+        example = "pkgs.redmine.override { ruby = pkgs.ruby_2_7; }";
       };
 
       user = mkOption {
@@ -376,17 +367,17 @@ in
 
     };
 
-    users.users = optionalAttrs (cfg.user == "redmine") (singleton
-      { name = "redmine";
+    users.users = optionalAttrs (cfg.user == "redmine") {
+      redmine = {
         group = cfg.group;
         home = cfg.stateDir;
         uid = config.ids.uids.redmine;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "redmine") (singleton
-      { name = "redmine";
-        gid = config.ids.gids.redmine;
-      });
+    users.groups = optionalAttrs (cfg.group == "redmine") {
+      redmine.gid = config.ids.gids.redmine;
+    };
 
     warnings = optional (cfg.database.password != "")
       ''config.services.redmine.database.password will be stored as plaintext
diff --git a/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix b/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
index 042b496d35ee..9fab462f7e3b 100644
--- a/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
+++ b/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
@@ -185,9 +185,8 @@ in {
       ];
     };
 
-    users.users = singleton
-      { name = "ripple-data-api";
-        description = "Ripple data api user";
+    users.users.ripple-data-api =
+      { description = "Ripple data api user";
         uid = config.ids.uids.ripple-data-api;
       };
   };
diff --git a/nixpkgs/nixos/modules/services/misc/rippled.nix b/nixpkgs/nixos/modules/services/misc/rippled.nix
index cdf61730de33..ef34e3a779f0 100644
--- a/nixpkgs/nixos/modules/services/misc/rippled.nix
+++ b/nixpkgs/nixos/modules/services/misc/rippled.nix
@@ -406,9 +406,8 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = "rippled";
-        description = "Ripple server user";
+    users.users.rippled =
+      { description = "Ripple server user";
         uid = config.ids.uids.rippled;
         home = cfg.databasePath;
         createHome = true;
diff --git a/nixpkgs/nixos/modules/services/misc/rogue.nix b/nixpkgs/nixos/modules/services/misc/rogue.nix
index aae02e384c97..d56d103b5f34 100644
--- a/nixpkgs/nixos/modules/services/misc/rogue.nix
+++ b/nixpkgs/nixos/modules/services/misc/rogue.nix
@@ -40,7 +40,7 @@ in
 
   config = mkIf cfg.enable {
 
-    boot.extraTTYs = [ cfg.tty ];
+    console.extraTTYs = [ cfg.tty ];
 
     systemd.services.rogue =
       { description = "Rogue dungeon crawling game";
diff --git a/nixpkgs/nixos/modules/services/misc/serviio.nix b/nixpkgs/nixos/modules/services/misc/serviio.nix
index 9868192724b5..0ead6a816918 100644
--- a/nixpkgs/nixos/modules/services/misc/serviio.nix
+++ b/nixpkgs/nixos/modules/services/misc/serviio.nix
@@ -63,20 +63,15 @@ in {
       };
     };
 
-    users.users = [
-      {
-        name = "serviio";
-        group = "serviio";
+    users.users.serviio =
+      { group = "serviio";
         home = cfg.dataDir;
         description = "Serviio Media Server User";
         createHome = true;
         isSystemUser = true;
-      }
-    ];
+      };
 
-    users.groups = [
-      { name = "serviio";}
-    ];
+    users.groups.serviio = { };
 
     networking.firewall = {
       allowedTCPPorts = [
diff --git a/nixpkgs/nixos/modules/services/misc/sickbeard.nix b/nixpkgs/nixos/modules/services/misc/sickbeard.nix
index 5cfbbe516ae1..a32dbfa3108f 100644
--- a/nixpkgs/nixos/modules/services/misc/sickbeard.nix
+++ b/nixpkgs/nixos/modules/services/misc/sickbeard.nix
@@ -63,19 +63,19 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = optionalAttrs (cfg.user == name) (singleton {
-      name = name;
-      uid = config.ids.uids.sickbeard;
-      group = cfg.group;
-      description = "sickbeard user";
-      home = cfg.dataDir;
-      createHome = true;
-    });
+    users.users = optionalAttrs (cfg.user == name) {
+      ${name} = {
+        uid = config.ids.uids.sickbeard;
+        group = cfg.group;
+        description = "sickbeard user";
+        home = cfg.dataDir;
+        createHome = true;
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == name) (singleton {
-      name = name;
-      gid = config.ids.gids.sickbeard;
-    });
+    users.groups = optionalAttrs (cfg.group == name) {
+      ${name}.gid = config.ids.gids.sickbeard;
+    };
 
     systemd.services.sickbeard = {
       description = "Sickbeard Server";
diff --git a/nixpkgs/nixos/modules/services/misc/siproxd.nix b/nixpkgs/nixos/modules/services/misc/siproxd.nix
index dcaf73aca448..ae7b27de8e70 100644
--- a/nixpkgs/nixos/modules/services/misc/siproxd.nix
+++ b/nixpkgs/nixos/modules/services/misc/siproxd.nix
@@ -161,8 +161,7 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton {
-      name = "siproxyd";
+    users.users.siproxyd = {
       uid = config.ids.uids.siproxd;
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/taskserver/default.nix b/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
index 8a57277fafe7..a894caed1a34 100644
--- a/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
@@ -368,16 +368,16 @@ in {
     (mkIf cfg.enable {
       environment.systemPackages = [ nixos-taskserver ];
 
-      users.users = optional (cfg.user == "taskd") {
-        name = "taskd";
-        uid = config.ids.uids.taskd;
-        description = "Taskserver user";
-        group = cfg.group;
+      users.users = optionalAttrs (cfg.user == "taskd") {
+        taskd = {
+          uid = config.ids.uids.taskd;
+          description = "Taskserver user";
+          group = cfg.group;
+        };
       };
 
-      users.groups = optional (cfg.group == "taskd") {
-        name = "taskd";
-        gid = config.ids.gids.taskd;
+      users.groups = optionalAttrs (cfg.group == "taskd") {
+        taskd.gid = config.ids.gids.taskd;
       };
 
       services.taskserver.config = {
diff --git a/nixpkgs/nixos/modules/services/misc/tautulli.nix b/nixpkgs/nixos/modules/services/misc/tautulli.nix
index 50e450366478..aded33629f1c 100644
--- a/nixpkgs/nixos/modules/services/misc/tautulli.nix
+++ b/nixpkgs/nixos/modules/services/misc/tautulli.nix
@@ -6,6 +6,10 @@ let
   cfg = config.services.tautulli;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ])
+  ];
+
   options = {
     services.tautulli = {
       enable = mkEnableOption "Tautulli Plex Monitor";
diff --git a/nixpkgs/nixos/modules/services/misc/uhub.nix b/nixpkgs/nixos/modules/services/misc/uhub.nix
index 753580c3e404..d1b388310280 100644
--- a/nixpkgs/nixos/modules/services/misc/uhub.nix
+++ b/nixpkgs/nixos/modules/services/misc/uhub.nix
@@ -41,31 +41,31 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-	description = "Whether to enable the uhub ADC hub.";
+        description = "Whether to enable the uhub ADC hub.";
       };
 
       port = mkOption {
         type = types.int;
         default = 1511;
-	description = "TCP port to bind the hub to.";
+        description = "TCP port to bind the hub to.";
       };
 
       address = mkOption {
         type = types.str;
         default = "any";
-	description = "Address to bind the hub to.";
+        description = "Address to bind the hub to.";
       };
 
       enableTLS = mkOption {
         type = types.bool;
         default = false;
-	description = "Whether to enable TLS support.";
+        description = "Whether to enable TLS support.";
       };
 
       hubConfig = mkOption {
         type = types.lines;
         default = "";
-	description = "Contents of uhub configuration file.";
+        description = "Contents of uhub configuration file.";
       };
 
       aclConfig = mkOption {
@@ -77,11 +77,11 @@ in
       plugins = {
 
         authSqlite = {
-	  enable = mkOption {
+          enable = mkOption {
             type = types.bool;
             default = false;
             description = "Whether to enable the Sqlite authentication database plugin";
-	  };
+          };
           file = mkOption {
             type = types.path;
             example = "/var/db/uhub-users";
@@ -161,14 +161,8 @@ in
   config = mkIf cfg.enable {
 
     users = {
-      users = singleton {
-        name = "uhub";
-        uid = config.ids.uids.uhub;
-      };
-      groups = singleton {
-        name = "uhub";
-        gid = config.ids.gids.uhub;
-      };
+      users.uhub.uid = config.ids.uids.uhub;
+      groups.uhub.gid = config.ids.gids.uhub;
     };
 
     systemd.services.uhub = {
diff --git a/nixpkgs/nixos/modules/services/misc/zoneminder.nix b/nixpkgs/nixos/modules/services/misc/zoneminder.nix
index 3bff04e7127d..d7f7324580c0 100644
--- a/nixpkgs/nixos/modules/services/misc/zoneminder.nix
+++ b/nixpkgs/nixos/modules/services/misc/zoneminder.nix
@@ -265,7 +265,7 @@ in {
                 }
 
                 location /cache/ {
-                  alias /var/cache/${dirName};
+                  alias /var/cache/${dirName}/;
                 }
 
                 location ~ \.php$ {
diff --git a/nixpkgs/nixos/modules/services/misc/zookeeper.nix b/nixpkgs/nixos/modules/services/misc/zookeeper.nix
index 5d91e44a199d..f6af7c75ebae 100644
--- a/nixpkgs/nixos/modules/services/misc/zookeeper.nix
+++ b/nixpkgs/nixos/modules/services/misc/zookeeper.nix
@@ -146,8 +146,7 @@ in {
       '';
     };
 
-    users.users = singleton {
-      name = "zookeeper";
+    users.users.zookeeper = {
       uid = config.ids.uids.zookeeper;
       description = "Zookeeper daemon user";
       home = cfg.dataDir;
diff --git a/nixpkgs/nixos/modules/services/monitoring/collectd.nix b/nixpkgs/nixos/modules/services/monitoring/collectd.nix
index 6a4c678eb21f..ef3663c62e04 100644
--- a/nixpkgs/nixos/modules/services/monitoring/collectd.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/collectd.nix
@@ -16,13 +16,29 @@ let
       NotifyLevel "OKAY"
     </Plugin>
 
+    ${concatStrings (mapAttrsToList (plugin: pluginConfig: ''
+      LoadPlugin ${plugin}
+      <Plugin "${plugin}">
+      ${pluginConfig}
+      </Plugin>
+    '') cfg.plugins)}
+
     ${concatMapStrings (f: ''
-    Include "${f}"
+      Include "${f}"
     '') cfg.include}
 
     ${cfg.extraConfig}
   '';
 
+  package =
+    if cfg.buildMinimalPackage
+    then minimalPackage
+    else cfg.package;
+
+  minimalPackage = cfg.package.override {
+    enabledPlugins = [ "syslog" ] ++ builtins.attrNames cfg.plugins;
+  };
+
 in {
   options.services.collectd = with types; {
     enable = mkEnableOption "collectd agent";
@@ -33,7 +49,15 @@ in {
       description = ''
         Which collectd package to use.
       '';
-      type = package;
+      type = types.package;
+    };
+
+    buildMinimalPackage = mkOption {
+      default = false;
+      description = ''
+        Build a minimal collectd package with only the configured `services.collectd.plugins`
+      '';
+      type = types.bool;
     };
 
     user = mkOption {
@@ -68,6 +92,15 @@ in {
       type = listOf str;
     };
 
+    plugins = mkOption {
+      default = {};
+      example = { cpu = ""; memory = ""; network = "Server 192.168.1.1 25826"; };
+      description = ''
+        Attribute set of plugin names to plugin config segments
+      '';
+      type = types.attrsOf types.str;
+    };
+
     extraConfig = mkOption {
       default = "";
       description = ''
@@ -89,15 +122,17 @@ in {
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
-        ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
+        ExecStart = "${package}/sbin/collectd -C ${conf} -f";
         User = cfg.user;
         Restart = "on-failure";
         RestartSec = 3;
       };
     };
 
-    users.users = optional (cfg.user == "collectd") {
-      name = "collectd";
+    users.users = optionalAttrs (cfg.user == "collectd") {
+      collectd = {
+        isSystemUser = true;
+      };
     };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix b/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
index 02a9f316fc32..2c5fe47242e7 100644
--- a/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
@@ -22,9 +22,9 @@ let
   # Generate Datadog configuration files for each configured checks.
   # This works because check configurations have predictable paths,
   # and because JSON is a valid subset of YAML.
-  makeCheckConfigs = entries: mapAttrsToList (name: conf: {
-    source = pkgs.writeText "${name}-check-conf.yaml" (builtins.toJSON conf);
-    target = "datadog-agent/conf.d/${name}.d/conf.yaml";
+  makeCheckConfigs = entries: mapAttrs' (name: conf: {
+    name = "datadog-agent/conf.d/${name}.d/conf.yaml";
+    value.source = pkgs.writeText "${name}-check-conf.yaml" (builtins.toJSON conf);
   }) entries;
 
   defaultChecks = {
@@ -34,10 +34,11 @@ let
 
   # Assemble all check configurations and the top-level agent
   # configuration.
-  etcfiles = with pkgs; with builtins; [{
-    source = writeText "datadog.yaml" (toJSON ddConf);
-    target = "datadog-agent/datadog.yaml";
-  }] ++ makeCheckConfigs (cfg.checks // defaultChecks);
+  etcfiles = with pkgs; with builtins;
+  { "datadog-agent/datadog.yaml" = {
+      source = writeText "datadog.yaml" (toJSON ddConf);
+    };
+  } // makeCheckConfigs (cfg.checks // defaultChecks);
 
   # Apply the configured extraIntegrations to the provided agent
   # package. See the documentation of `dd-agent/integrations-core.nix`
@@ -204,7 +205,7 @@ in {
   config = mkIf cfg.enable {
     environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute ];
 
-    users.extraUsers.datadog = {
+    users.users.datadog = {
       description = "Datadog Agent User";
       uid = config.ids.uids.datadog;
       group = "datadog";
@@ -212,7 +213,7 @@ in {
       createHome = true;
     };
 
-    users.extraGroups.datadog.gid = config.ids.gids.datadog;
+    users.groups.datadog.gid = config.ids.gids.datadog;
 
     systemd.services = let
       makeService = attrs: recursiveUpdate {
@@ -224,7 +225,7 @@ in {
           Restart = "always";
           RestartSec = 2;
         };
-        restartTriggers = [ datadogPkg ] ++ map (etc: etc.source) etcfiles;
+        restartTriggers = [ datadogPkg ] ++ attrNames etcfiles;
       } attrs;
     in {
       datadog-agent = makeService {
diff --git a/nixpkgs/nixos/modules/services/monitoring/dd-agent/dd-agent.nix b/nixpkgs/nixos/modules/services/monitoring/dd-agent/dd-agent.nix
index 5ee6b092a6a4..e91717fb2054 100644
--- a/nixpkgs/nixos/modules/services/monitoring/dd-agent/dd-agent.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/dd-agent/dd-agent.nix
@@ -78,37 +78,35 @@ let
   etcfiles =
     let
       defaultConfd = import ./dd-agent-defaults.nix;
-    in (map (f: { source = "${pkgs.dd-agent}/agent/conf.d-system/${f}";
-                  target = "dd-agent/conf.d/${f}";
-                }) defaultConfd) ++ [
-      { source = ddConf;
-        target = "dd-agent/datadog.conf";
-      }
-      { source = diskConfig;
-        target = "dd-agent/conf.d/disk.yaml";
-      }
-      { source = networkConfig;
-        target = "dd-agent/conf.d/network.yaml";
-      } ] ++
-    (optional (cfg.postgresqlConfig != null)
-      { source = postgresqlConfig;
-        target = "dd-agent/conf.d/postgres.yaml";
-      }) ++
-    (optional (cfg.nginxConfig != null)
-      { source = nginxConfig;
-        target = "dd-agent/conf.d/nginx.yaml";
-      }) ++
-    (optional (cfg.mongoConfig != null)
-      { source = mongoConfig;
-        target = "dd-agent/conf.d/mongo.yaml";
-      }) ++
-    (optional (cfg.processConfig != null)
-      { source = processConfig;
-        target = "dd-agent/conf.d/process.yaml";
-      }) ++
-    (optional (cfg.jmxConfig != null)
-      { source = jmxConfig;
-        target = "dd-agent/conf.d/jmx.yaml";
+    in
+      listToAttrs (map (f: {
+        name = "dd-agent/conf.d/${f}";
+        value.source = "${pkgs.dd-agent}/agent/conf.d-system/${f}";
+      }) defaultConfd) //
+      {
+        "dd-agent/datadog.conf".source = ddConf;
+        "dd-agent/conf.d/disk.yaml".source = diskConfig;
+        "dd-agent/conf.d/network.yaml".source = networkConfig;
+      } //
+      (optionalAttrs (cfg.postgresqlConfig != null)
+      {
+        "dd-agent/conf.d/postgres.yaml".source = postgresqlConfig;
+      }) //
+      (optionalAttrs (cfg.nginxConfig != null)
+      {
+        "dd-agent/conf.d/nginx.yaml".source = nginxConfig;
+      }) //
+      (optionalAttrs (cfg.mongoConfig != null)
+      { 
+        "dd-agent/conf.d/mongo.yaml".source = mongoConfig;
+      }) //
+      (optionalAttrs (cfg.processConfig != null)
+      { 
+        "dd-agent/conf.d/process.yaml".source = processConfig;
+      }) //
+      (optionalAttrs (cfg.jmxConfig != null)
+      {
+        "dd-agent/conf.d/jmx.yaml".source = jmxConfig;
       });
 
 in {
diff --git a/nixpkgs/nixos/modules/services/monitoring/do-agent.nix b/nixpkgs/nixos/modules/services/monitoring/do-agent.nix
new file mode 100644
index 000000000000..2d3fe2f79768
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/monitoring/do-agent.nix
@@ -0,0 +1,34 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.do-agent;
+in
+{
+  options.services.do-agent = {
+    enable = mkEnableOption "do-agent, the DigitalOcean droplet metrics agent";
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.do-agent ];
+
+    systemd.services.do-agent = {
+      description = "DigitalOcean Droplet Metrics Agent";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      wants = [ "network-online.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.do-agent}/bin/do-agent --syslog";
+        Restart = "always";
+        OOMScoreAdjust = -900;
+        SyslogIdentifier = "DigitalOceanAgent";
+        PrivateTmp = "yes";
+        ProtectSystem = "full";
+        ProtectHome = "yes";
+        NoNewPrivileges = "yes";
+        DynamicUser = "yes";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix b/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
index b90579bb70c7..9b65c76ce02e 100644
--- a/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
@@ -46,9 +46,9 @@ in {
 
   config = mkIf cfg.enable {
 
-    users.users = singleton {
-      name = "fusion-inventory";
+    users.users.fusion-inventory = {
       description = "FusionInventory user";
+      isSystemUser = true;
     };
 
     systemd.services.fusion-inventory = {
diff --git a/nixpkgs/nixos/modules/services/monitoring/grafana.nix b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
index bf1084eecc3a..0f8bc2471e33 100644
--- a/nixpkgs/nixos/modules/services/monitoring/grafana.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
@@ -43,7 +43,7 @@ let
 
     ANALYTICS_REPORTING_ENABLED = boolToString cfg.analytics.reporting.enable;
 
-    SMTP_ENABLE = boolToString cfg.smtp.enable;
+    SMTP_ENABLED = boolToString cfg.smtp.enable;
     SMTP_HOST = cfg.smtp.host;
     SMTP_USER = cfg.smtp.user;
     SMTP_PASSWORD = cfg.smtp.password;
diff --git a/nixpkgs/nixos/modules/services/monitoring/graphite.nix b/nixpkgs/nixos/modules/services/monitoring/graphite.nix
index f7874af3df29..dd147bb37930 100644
--- a/nixpkgs/nixos/modules/services/monitoring/graphite.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/graphite.nix
@@ -632,8 +632,7 @@ in {
       cfg.web.enable || cfg.api.enable ||
       cfg.seyren.enable || cfg.pager.enable || cfg.beacon.enable
      ) {
-      users.users = singleton {
-        name = "graphite";
+      users.users.graphite = {
         uid = config.ids.uids.graphite;
         description = "Graphite daemon user";
         home = dataDir;
diff --git a/nixpkgs/nixos/modules/services/monitoring/heapster.nix b/nixpkgs/nixos/modules/services/monitoring/heapster.nix
index 6da0831b4c5f..585632943fdc 100644
--- a/nixpkgs/nixos/modules/services/monitoring/heapster.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/heapster.nix
@@ -49,8 +49,7 @@ in {
       };
     };
 
-    users.users = singleton {
-      name = "heapster";
+    users.users.heapsterrs = {
       uid = config.ids.uids.heapster;
       description = "Heapster user";
     };
diff --git a/nixpkgs/nixos/modules/services/monitoring/munin.nix b/nixpkgs/nixos/modules/services/monitoring/munin.nix
index 8af0650c7380..1ebf7ee6a761 100644
--- a/nixpkgs/nixos/modules/services/monitoring/munin.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/munin.nix
@@ -317,18 +317,16 @@ in
 
     environment.systemPackages = [ pkgs.munin ];
 
-    users.users = [{
-      name = "munin";
+    users.users.munin = {
       description = "Munin monitoring user";
       group = "munin";
       uid = config.ids.uids.munin;
       home = "/var/lib/munin";
-    }];
+    };
 
-    users.groups = [{
-      name = "munin";
+    users.groups.munin = {
       gid = config.ids.gids.munin;
-    }];
+    };
 
   }) (mkIf nodeCfg.enable {
 
diff --git a/nixpkgs/nixos/modules/services/monitoring/nagios.nix b/nixpkgs/nixos/modules/services/monitoring/nagios.nix
index 6a3b97769462..3ca79dddaf57 100644
--- a/nixpkgs/nixos/modules/services/monitoring/nagios.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/nagios.nix
@@ -8,6 +8,7 @@ let
 
   nagiosState = "/var/lib/nagios";
   nagiosLogDir = "/var/log/nagios";
+  urlPath = "/nagios";
 
   nagiosObjectDefs = cfg.objectDefs;
 
@@ -16,32 +17,39 @@ let
       preferLocalBuild = true;
     } "mkdir -p $out; ln -s $nagiosObjectDefs $out/";
 
-  nagiosCfgFile = pkgs.writeText "nagios.cfg"
-    ''
-      # Paths for state and logs.
-      log_file=${nagiosLogDir}/current
-      log_archive_path=${nagiosLogDir}/archive
-      status_file=${nagiosState}/status.dat
-      object_cache_file=${nagiosState}/objects.cache
-      temp_file=${nagiosState}/nagios.tmp
-      lock_file=/run/nagios.lock # Not used I think.
-      state_retention_file=${nagiosState}/retention.dat
-      query_socket=${nagiosState}/nagios.qh
-      check_result_path=${nagiosState}
-      command_file=${nagiosState}/nagios.cmd
-
-      # Configuration files.
-      #resource_file=resource.cfg
-      cfg_dir=${nagiosObjectDefsDir}
-
-      # Uid/gid that the daemon runs under.
-      nagios_user=nagios
-      nagios_group=nagios
-
-      # Misc. options.
-      illegal_macro_output_chars=`~$&|'"<>
-      retain_state_information=1
-    ''; # "
+  nagiosCfgFile = let
+    default = {
+      log_file="${nagiosLogDir}/current";
+      log_archive_path="${nagiosLogDir}/archive";
+      status_file="${nagiosState}/status.dat";
+      object_cache_file="${nagiosState}/objects.cache";
+      temp_file="${nagiosState}/nagios.tmp";
+      lock_file="/run/nagios.lock";
+      state_retention_file="${nagiosState}/retention.dat";
+      query_socket="${nagiosState}/nagios.qh";
+      check_result_path="${nagiosState}";
+      command_file="${nagiosState}/nagios.cmd";
+      cfg_dir="${nagiosObjectDefsDir}";
+      nagios_user="nagios";
+      nagios_group="nagios";
+      illegal_macro_output_chars="`~$&|'\"<>";
+      retain_state_information="1";
+    };
+    lines = mapAttrsToList (key: value: "${key}=${value}") (default // cfg.extraConfig);
+    content = concatStringsSep "\n" lines;
+    file = pkgs.writeText "nagios.cfg" content;
+    validated =  pkgs.runCommand "nagios-checked.cfg" {preferLocalBuild=true;} ''
+      cp ${file} nagios.cfg
+      # nagios checks the existence of /var/lib/nagios, but
+      # it does not exists in the build sandbox, so we fake it
+      mkdir lib
+      lib=$(readlink -f lib)
+      sed -i s@=${nagiosState}@=$lib@ nagios.cfg
+      ${pkgs.nagios}/bin/nagios -v nagios.cfg && cp ${file} $out
+    '';
+    defaultCfgFile = if cfg.validateConfig then validated else file;
+  in
+  if cfg.mainConfigFile == null then defaultCfgFile else cfg.mainConfigFile;
 
   # Plain configuration for the Nagios web-interface with no
   # authentication.
@@ -49,12 +57,12 @@ let
     ''
       main_config_file=${cfg.mainConfigFile}
       use_authentication=0
-      url_html_path=${cfg.urlPath}
+      url_html_path=${urlPath}
     '';
 
   extraHttpdConfig =
     ''
-      ScriptAlias ${cfg.urlPath}/cgi-bin ${pkgs.nagios}/sbin
+      ScriptAlias ${urlPath}/cgi-bin ${pkgs.nagios}/sbin
 
       <Directory "${pkgs.nagios}/sbin">
         Options ExecCGI
@@ -62,7 +70,7 @@ let
         SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile}
       </Directory>
 
-      Alias ${cfg.urlPath} ${pkgs.nagios}/share
+      Alias ${urlPath} ${pkgs.nagios}/share
 
       <Directory "${pkgs.nagios}/share">
         Options None
@@ -72,16 +80,15 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "nagios" "urlPath" ] "The urlPath option has been removed as it is hard coded to /nagios in the nagios package.")
+  ];
+
+  meta.maintainers = with lib.maintainers; [ symphorien ];
+
   options = {
     services.nagios = {
-      enable = mkOption {
-        default = false;
-        description = "
-          Whether to use <link
-          xlink:href='http://www.nagios.org/'>Nagios</link> to monitor
-          your system or network.
-        ";
-      };
+      enable = mkEnableOption "<link xlink:href='http://www.nagios.org/'>Nagios</link> to monitor your system or network.";
 
       objectDefs = mkOption {
         description = "
@@ -89,12 +96,14 @@ in
           the hosts, host groups, services and contacts for the
           network that you want Nagios to monitor.
         ";
+        type = types.listOf types.path;
+        example = literalExample "[ ./objects.cfg ]";
       };
 
       plugins = mkOption {
         type = types.listOf types.package;
-        default = [pkgs.nagiosPluginsOfficial pkgs.ssmtp];
-        defaultText = "[pkgs.nagiosPluginsOfficial pkgs.ssmtp]";
+        default = with pkgs; [ nagiosPluginsOfficial ssmtp mailutils ];
+        defaultText = "[pkgs.nagiosPluginsOfficial pkgs.ssmtp pkgs.mailutils]";
         description = "
           Packages to be added to the Nagios <envar>PATH</envar>.
           Typically used to add plugins, but can be anything.
@@ -102,14 +111,29 @@ in
       };
 
       mainConfigFile = mkOption {
-        type = types.package;
-        default = nagiosCfgFile;
-        defaultText = "nagiosCfgFile";
+        type = types.nullOr types.package;
+        default = null;
         description = "
-          Derivation for the main configuration file of Nagios.
+          If non-null, overrides the main configuration file of Nagios.
         ";
       };
 
+      extraConfig = mkOption {
+        type = types.attrsOf types.str;
+        example = {
+          debug_level = "-1";
+          debug_file = "/var/log/nagios/debug.log";
+        };
+        default = {};
+        description = "Configuration to add to /etc/nagios.cfg";
+      };
+
+      validateConfig = mkOption {
+        type = types.bool;
+        default = pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform;
+        description = "if true, the syntax of the nagios configuration file is checked at build time";
+      };
+
       cgiConfigFile = mkOption {
         type = types.package;
         default = nagiosCGICfgFile;
@@ -121,6 +145,7 @@ in
       };
 
       enableWebInterface = mkOption {
+        type = types.bool;
         default = false;
         description = "
           Whether to enable the Nagios web interface.  You should also
@@ -128,13 +153,20 @@ in
         ";
       };
 
-      urlPath = mkOption {
-        default = "/nagios";
-        description = "
-          The URL path under which the Nagios web interface appears.
-          That is, you can access the Nagios web interface through
-          <literal>http://<replaceable>server</replaceable>/<replaceable>urlPath</replaceable></literal>.
-        ";
+      virtualHost = mkOption {
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+        example = literalExample ''
+          { hostName = "example.org";
+            adminAddr = "webmaster@example.org";
+            enableSSL = true;
+            sslServerCert = "/var/lib/acme/example.org/full.pem";
+            sslServerKey = "/var/lib/acme/example.org/key.pem";
+          }
+        '';
+        description = ''
+          Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
+          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        '';
       };
     };
   };
@@ -152,16 +184,12 @@ in
 
     # This isn't needed, it's just so that the user can type "nagiostats
     # -c /etc/nagios.cfg".
-    environment.etc = [
-      { source = cfg.mainConfigFile;
-        target = "nagios.cfg";
-      }
-    ];
+    environment.etc."nagios.cfg".source = nagiosCfgFile;
 
     environment.systemPackages = [ pkgs.nagios ];
     systemd.services.nagios = {
       description = "Nagios monitoring daemon";
-      path     = [ pkgs.nagios ];
+      path     = [ pkgs.nagios ] ++ cfg.plugins;
       wantedBy = [ "multi-user.target" ];
       after    = [ "network.target" ];
 
@@ -172,16 +200,13 @@ in
         RestartSec = 2;
         LogsDirectory = "nagios";
         StateDirectory = "nagios";
+        ExecStart = "${pkgs.nagios}/bin/nagios /etc/nagios.cfg";
+        X-ReloadIfChanged = nagiosCfgFile;
       };
-
-      script = ''
-        for i in ${toString cfg.plugins}; do
-          export PATH=$i/bin:$i/sbin:$i/libexec:$PATH
-        done
-        exec ${pkgs.nagios}/bin/nagios ${cfg.mainConfigFile}
-      '';
     };
 
-    services.httpd.extraConfig = optionalString cfg.enableWebInterface extraHttpdConfig;
+    services.httpd.virtualHosts = optionalAttrs cfg.enableWebInterface {
+      ${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost { extraConfig = extraHttpdConfig; } ];
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/monitoring/netdata.nix b/nixpkgs/nixos/modules/services/monitoring/netdata.nix
index 463b1b882acf..f8225af20428 100644
--- a/nixpkgs/nixos/modules/services/monitoring/netdata.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/netdata.nix
@@ -138,7 +138,7 @@ in {
       description = "Real time performance monitoring";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable
+      path = (with pkgs; [ curl gawk which ]) ++ lib.optional cfg.python.enable
         (pkgs.python3.withPackages cfg.python.extraPackages);
       serviceConfig = {
         Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules";
@@ -179,12 +179,14 @@ in {
       { domain = "netdata"; type = "hard"; item = "nofile"; value = "30000"; }
     ];
 
-    users.users = optional (cfg.user == defaultUser) {
-      name = defaultUser;
+    users.users = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} = {
+        isSystemUser = true;
+      };
     };
 
-    users.groups = optional (cfg.group == defaultUser) {
-      name = defaultUser;
+    users.groups = optionalAttrs (cfg.group == defaultUser) {
+      ${defaultUser} = { };
     };
 
   };
diff --git a/nixpkgs/nixos/modules/services/monitoring/osquery.nix b/nixpkgs/nixos/modules/services/monitoring/osquery.nix
deleted file mode 100644
index c8c625577d39..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
index 11d85e9c4fc3..9af6b1d94f37 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
@@ -27,6 +27,15 @@ let
       "--log.format ${cfg.logFormat}"
   );
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanagerURL" ] ''
+      Due to incompatibility, the alertmanagerURL option has been removed,
+      please use 'services.prometheus2.alertmanagers' instead.
+    '')
+  ];
+
   options = {
     services.prometheus.alertmanager = {
       enable = mkEnableOption "Prometheus Alertmanager";
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
index 191c0bff9c84..b67f697ca0de 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
@@ -464,6 +464,11 @@ let
   };
 
 in {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "prometheus2" ] [ "services" "prometheus" ])
+  ];
+
   options.services.prometheus = {
 
     enable = mkOption {
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
index 84486aa98a40..36ebffa44636 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -30,6 +30,7 @@ let
     "json"
     "mail"
     "minio"
+    "nextcloud"
     "nginx"
     "node"
     "postfix"
@@ -159,6 +160,24 @@ let
   };
 in
 {
+
+  imports = (lib.forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
+                   "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
+                   "snmpExporter" "unifiExporter" "varnishExporter" ]
+       (opt: lib.mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
+         The prometheus exporters are now configured using `services.prometheus.exporters'.
+         See the 18.03 release notes for more information.
+       '' ))
+
+    ++ (lib.forEach [ "enable" "substitutions" "preset" ]
+       (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
+         The fonts.fontconfig.ultimate module and configuration is obsolete.
+         The repository has since been archived and activity has ceased.
+         https://github.com/bohoomil/fontconfig-ultimate/issues/171.
+         No action should be needed for font configuration, as the fonts.fontconfig
+         module is already used by default.
+       '' ));
+
   options.services.prometheus.exporters = mkOption {
     type = types.submodule {
       options = (mkSubModules);
@@ -196,6 +215,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/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
index ca4366121e12..8a90afa99842 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
@@ -3,16 +3,34 @@
 with lib;
 
 let
+  logPrefix = "services.prometheus.exporter.blackbox";
   cfg = config.services.prometheus.exporters.blackbox;
 
-  checkConfig = file: pkgs.runCommand "checked-blackbox-exporter.conf" {
-    preferLocalBuild = true;
-    buildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ]; } ''
-    ln -s ${file} $out
-    blackbox_exporter --config.check --config.file $out
-  '';
-in
-{
+  # This ensures that we can deal with string paths, path types and
+  # store-path strings with context.
+  coerceConfigFile = file:
+    if (builtins.isPath file) || (lib.isStorePath file) then
+      file
+    else
+      (lib.warn ''
+        ${logPrefix}: configuration file "${file}" is being copied to the nix-store.
+        If you would like to avoid that, please set enableConfigCheck to false.
+      '' /. + file);
+  checkConfigLocation = file:
+    if lib.hasPrefix "/tmp/" file then
+      throw
+      "${logPrefix}: configuration file must not reside within /tmp - it won't be visible to the systemd service."
+    else
+      true;
+  checkConfig = file:
+    pkgs.runCommand "checked-blackbox-exporter.conf" {
+      preferLocalBuild = true;
+      buildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ];
+    } ''
+      ln -s ${coerceConfigFile file} $out
+      blackbox_exporter --config.check --config.file $out
+    '';
+in {
   port = 9115;
   extraOpts = {
     configFile = mkOption {
@@ -21,14 +39,29 @@ in
         Path to configuration file.
       '';
     };
+    enableConfigCheck = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether to run a correctness check for the configuration file. This depends
+        on the configuration file residing in the nix-store. Paths passed as string will
+        be copied to the store.
+      '';
+    };
   };
-  serviceOpts = {
+
+  serviceOpts = let
+    adjustedConfigFile = if cfg.enableConfigCheck then
+      checkConfig cfg.configFile
+    else
+      checkConfigLocation cfg.configFile;
+  in {
     serviceConfig = {
       AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes
       ExecStart = ''
         ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \
           --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-          --config.file ${checkConfig cfg.configFile} \
+          --config.file ${adjustedConfigFile} \
           ${concatStringsSep " \\\n  " cfg.extraFlags}
       '';
       ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
new file mode 100644
index 000000000000..5f9a52053f79
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
@@ -0,0 +1,58 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.nextcloud;
+in
+{
+  port = 9205;
+  extraOpts = {
+    url = mkOption {
+      type = types.str;
+      example = "https://domain.tld";
+      description = ''
+        URL to the Nextcloud serverinfo page.
+        Adding the path to the serverinfo API is optional, it defaults
+        to <literal>/ocs/v2.php/apps/serverinfo/api/v1/info</literal>.
+      '';
+    };
+    username = mkOption {
+      type = types.str;
+      default = "nextcloud-exporter";
+      description = ''
+        Username for connecting to Nextcloud.
+        Note that this account needs to have admin privileges in Nextcloud.
+      '';
+    };
+    passwordFile = mkOption {
+      type = types.path;
+      example = "/path/to/password-file";
+      description = ''
+        File containing the password for connecting to Nextcloud.
+        Make sure that this file is readable by the exporter user.
+      '';
+    };
+    timeout = mkOption {
+      type = types.str;
+      default = "5s";
+      description = ''
+        Timeout for getting server info document.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = false;
+      ExecStart = ''
+        ${pkgs.prometheus-nextcloud-exporter}/bin/nextcloud-exporter \
+          -a ${cfg.listenAddress}:${toString cfg.port} \
+          -u ${cfg.username} \
+          -t ${cfg.timeout} \
+          -l ${cfg.url} \
+          -p @${cfg.passwordFile} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index 554377df37ba..ba852fea4336 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -49,6 +49,6 @@ in
     (mkRemovedOptionModule [ "insecure" ] ''
       This option was replaced by 'prometheus.exporters.nginx.sslVerify'.
     '')
-    ({ options.warnings = options.warnings; })
+    ({ options.warnings = options.warnings; options.assertions = options.assertions; })
   ];
 }
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 8ae2c927b58c..374f83a2939d 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -6,6 +6,10 @@ let
   cfg = config.services.prometheus.exporters.wireguard;
 in {
   port = 9586;
+  imports = [
+    (mkRenamedOptionModule [ "addr" ] [ "listenAddress" ])
+    ({ options.warnings = options.warnings; options.assertions = options.assertions; })
+  ];
   extraOpts = {
     verbose = mkEnableOption "Verbose logging mode for prometheus-wireguard-exporter";
 
@@ -51,6 +55,7 @@ in {
       ExecStart = ''
         ${pkgs.prometheus-wireguard-exporter}/bin/prometheus_wireguard_exporter \
           -p ${toString cfg.port} \
+          -l ${cfg.listenAddress} \
           ${optionalString cfg.verbose "-v"} \
           ${optionalString cfg.singleSubnetPerField "-s"} \
           ${optionalString cfg.withRemoteIp "-r"} \
diff --git a/nixpkgs/nixos/modules/services/monitoring/statsd.nix b/nixpkgs/nixos/modules/services/monitoring/statsd.nix
index ea155821ecc9..17836e95a6f8 100644
--- a/nixpkgs/nixos/modules/services/monitoring/statsd.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/statsd.nix
@@ -125,8 +125,7 @@ in
       message = "Only builtin backends (graphite, console, repeater) or backends enumerated in `pkgs.nodePackages` are allowed!";
     }) cfg.backends;
 
-    users.users = singleton {
-      name = "statsd";
+    users.use.statsdrs = {
       uid = config.ids.uids.statsd;
       description = "Statsd daemon user";
     };
diff --git a/nixpkgs/nixos/modules/services/monitoring/sysstat.nix b/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
index d668faa53cc3..ca2cff827232 100644
--- a/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
@@ -5,15 +5,10 @@ let
 in {
   options = {
     services.sysstat = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable sar system activity collection.
-        '';
-      };
+      enable = mkEnableOption "sar system activity collection";
 
       collect-frequency = mkOption {
+        type = types.str;
         default = "*:00/10";
         description = ''
           OnCalendar specification for sysstat-collect
@@ -21,6 +16,7 @@ in {
       };
 
       collect-args = mkOption {
+        type = types.str;
         default = "1 1";
         description = ''
           Arguments to pass sa1 when collecting statistics
@@ -33,13 +29,13 @@ in {
     systemd.services.sysstat = {
       description = "Resets System Activity Logs";
       wantedBy = [ "multi-user.target" ];
-      preStart = "test -d /var/log/sa || mkdir -p /var/log/sa";
 
       serviceConfig = {
         User = "root";
         RemainAfterExit = true;
         Type = "oneshot";
         ExecStart = "${pkgs.sysstat}/lib/sa/sa1 --boot";
+        LogsDirectory = "sa";
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/monitoring/telegraf.nix b/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
index d87867326682..5d131557e8be 100644
--- a/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
@@ -63,10 +63,9 @@ in {
       };
     };
 
-    users.users = [{
-      name = "telegraf";
+    users.users.telegraf = {
       uid = config.ids.uids.telegraf;
       description = "telegraf daemon user";
-    }];
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/monitoring/thanos.nix b/nixpkgs/nixos/modules/services/monitoring/thanos.nix
index 215cd43fd864..52dab28cf72f 100644
--- a/nixpkgs/nixos/modules/services/monitoring/thanos.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/thanos.nix
@@ -126,6 +126,8 @@ let
           '';
           description = ''
             Path to YAML file that contains tracing configuration.
+
+            See format details: <link xlink:href="https://thanos.io/tracing.md/#configuration"/>
           '';
         };
       };
@@ -141,6 +143,8 @@ let
             <option>tracing.config-file</option> will default to its path.
 
             If <option>tracing.config-file</option> is set this option has no effect.
+
+            See format details: <link xlink:href="https://thanos.io/tracing.md/#configuration"/>
           '';
         };
     };
@@ -187,6 +191,8 @@ let
           '';
           description = ''
             Path to YAML file that contains object store configuration.
+
+            See format details: <link xlink:href="https://thanos.io/storage.md/#configuration"/>
           '';
         };
       };
@@ -202,6 +208,8 @@ let
             <option>objstore.config-file</option> will default to its path.
 
             If <option>objstore.config-file</option> is set this option has no effect.
+
+            See format details: <link xlink:href="https://thanos.io/storage.md/#configuration"/>
           '';
         };
     };
@@ -276,6 +284,24 @@ let
       block-sync-concurrency = mkParamDef types.int 20 ''
         Number of goroutines to use when syncing blocks from object storage.
       '';
+
+      min-time = mkParamDef types.str "0000-01-01T00:00:00Z" ''
+        Start of time range limit to serve.
+
+        Thanos Store serves only metrics, which happened later than this
+        value. Option can be a constant time in RFC3339 format or time duration
+        relative to current time, such as -1d or 2h45m. Valid duration units are
+        ms, s, m, h, d, w, y.
+      '';
+
+      max-time = mkParamDef types.str "9999-12-31T23:59:59Z" ''
+        End of time range limit to serve.
+
+        Thanos Store serves only blocks, which happened eariler than this
+        value. Option can be a constant time in RFC3339 format or time duration
+        relative to current time, such as -1d or 2h45m. Valid duration units are
+        ms, s, m, h, d, w, y.
+      '';
     };
 
     query = params.common cfg.query // {
@@ -560,6 +586,14 @@ let
         '';
       };
 
+      downsampling.disable = mkFlagParam ''
+        Disables downsampling.
+
+        This is not recommended as querying long time ranges without
+        non-downsampled data is not efficient and useful e.g it is not possible
+        to render all samples for a human eye anyway
+      '';
+
       block-sync-concurrency = mkParamDef types.int 20 ''
         Number of goroutines to use when syncing block metadata from object storage.
       '';
diff --git a/nixpkgs/nixos/modules/services/monitoring/ups.nix b/nixpkgs/nixos/modules/services/monitoring/ups.nix
index 1bdc4e4410f1..a45e806d4ad8 100644
--- a/nixpkgs/nixos/modules/services/monitoring/ups.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/ups.nix
@@ -214,14 +214,12 @@ in
       environment.NUT_STATEPATH = "/var/lib/nut/";
     };
 
-    environment.etc = [
-      { source = pkgs.writeText "nut.conf"
+    environment.etc = {
+      "nut/nut.conf".source = pkgs.writeText "nut.conf"
         ''
           MODE = ${cfg.mode}
         '';
-        target = "nut/nut.conf";
-      }
-      { source = pkgs.writeText "ups.conf"
+      "nut/ups.conf".source = pkgs.writeText "ups.conf"
         ''
           maxstartdelay = ${toString cfg.maxStartDelay}
 
@@ -229,25 +227,15 @@ in
 
           "}
         '';
-        target = "nut/ups.conf";
-      }
-      { source = cfg.schedulerRules;
-        target = "nut/upssched.conf";
-      }
+      "nut/upssched.conf".source = cfg.schedulerRules;
       # These file are containing private informations and thus should not
       # be stored inside the Nix store.
       /*
-      { source = ;
-        target = "nut/upsd.conf";
-      }
-      { source = ;
-        target = "nut/upsd.users";
-      }
-      { source = ;
-        target = "nut/upsmon.conf;
-      }
+      "nut/upsd.conf".source = "";
+      "nut/upsd.users".source = "";
+      "nut/upsmon.conf".source = "";
       */
-    ];
+    };
 
     power.ups.schedulerRules = mkDefault "${pkgs.nut}/etc/upssched.conf.sample";
 
@@ -259,21 +247,16 @@ in
 
 
 /*
-    users.users = [
-      { name = "nut";
-        uid = 84;
+    users.users.nut =
+      { uid = 84;
         home = "/var/lib/nut";
         createHome = true;
         group = "nut";
         description = "UPnP A/V Media Server user";
-      }
-    ];
-
-    users.groups = [
-      { name = "nut";
-        gid = 84;
-      }
-    ];
+      };
+
+    users.groups."nut" =
+      { gid = 84; };
 */
 
   };
diff --git a/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix b/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
index 856b9432892b..b3383ed628b2 100644
--- a/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
@@ -131,6 +131,7 @@ in
     users.users.${user} = {
       description = "Zabbix Agent daemon user";
       inherit group;
+      isSystemUser = true;
     };
 
     users.groups.${group} = { };
diff --git a/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix b/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
index 4b4049ed360e..b4e4378ce1e7 100644
--- a/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
@@ -30,6 +30,7 @@ let
     DBUser = ${cfg.database.user}
     ${optionalString (cfg.database.passwordFile != null) "Include ${passwordFile}"}
     ${optionalString (mysqlLocal && cfg.database.socket != null) "DBSocket = ${cfg.database.socket}"}
+    PidFile = ${runtimeDir}/zabbix_server.pid
     SocketDir = ${runtimeDir}
     FpingLocation = /run/wrappers/bin/fping
     ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"}
@@ -43,6 +44,11 @@ let
 in
 
 {
+  imports = [
+    (lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
+    (lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
+  ];
+
   # interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/beegfs.nix b/nixpkgs/nixos/modules/services/network-filesystems/beegfs.nix
deleted file mode 100644
index 2e03a422665a..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix b/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
index 656a2d21b868..d17959a6a305 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
@@ -9,12 +9,14 @@ let
   expandCamelCase = replaceStrings upperChars (map (s: " ${s}") lowerChars);
   expandCamelCaseAttrs = mapAttrs' (name: value: nameValuePair (expandCamelCase name) value);
 
-  makeServices = (daemonType: daemonIds: extraServiceConfig:
+  makeServices = (daemonType: daemonIds:
     mkMerge (map (daemonId:
-      { "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName pkgs.ceph extraServiceConfig; })
+      { "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName pkgs.ceph; })
       daemonIds));
 
-  makeService = (daemonType: daemonId: clusterName: ceph: extraServiceConfig: {
+  makeService = (daemonType: daemonId: clusterName: ceph:
+    let
+      stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
     enable = true;
     description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}";
     after = [ "network-online.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target";
@@ -22,6 +24,11 @@ let
     partOf = [ "ceph-${daemonType}.target" ];
     wantedBy = [ "ceph-${daemonType}.target" ];
 
+    path = [ pkgs.getopt ];
+
+    # Don't start services that are not yet initialized
+    unitConfig.ConditionPathExists = "/var/lib/${stateDirectory}/keyring";
+
     serviceConfig = {
       LimitNOFILE = 1048576;
       LimitNPROC = 1048576;
@@ -34,22 +41,22 @@ let
       Restart = "on-failure";
       StartLimitBurst = "5";
       StartLimitInterval = "30min";
+      StateDirectory = stateDirectory;
+      User = "ceph";
+      Group = if daemonType == "osd" then "disk" else "ceph";
       ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
-                    -f --cluster ${clusterName} --id ${daemonId} --setuser ceph \
-                    --setgroup ${if daemonType == "osd" then "disk" else "ceph"}'';
-    } // extraServiceConfig
-      // optionalAttrs (daemonType == "osd") { ExecStartPre = ''${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh \
-                                                              --id ${daemonId} --cluster ${clusterName}''; };
-    } // optionalAttrs (builtins.elem daemonType [ "mds" "mon" "rgw" "mgr" ]) {
-      preStart = ''
-        daemonPath="/var/lib/ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"
-        if [ ! -d $daemonPath ]; then
-          mkdir -m 755 -p $daemonPath
-          chown -R ceph:ceph $daemonPath
-        fi
-      '';
-    } // optionalAttrs (daemonType == "osd") { path = [ pkgs.getopt ]; }
-  );
+                    -f --cluster ${clusterName} --id ${daemonId}'';
+    } // optionalAttrs (daemonType == "osd") {
+      ExecStartPre = ''${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}'';
+      StartLimitBurst = "30";
+      RestartSec = "20s";
+      PrivateDevices = "no"; # osd needs disk access
+    } // optionalAttrs ( daemonType == "mon") {
+      RestartSec = "10";
+    } // optionalAttrs (lib.elem daemonType ["mgr" "mds"]) {
+      StartLimitBurst = "3";
+    };
+  });
 
   makeTarget = (daemonType:
     {
@@ -58,6 +65,7 @@ let
         partOf = [ "ceph.target" ];
         wantedBy = [ "ceph.target" ];
         before = [ "ceph.target" ];
+        unitConfig.StopWhenUnneeded = true;
       };
     }
   );
@@ -363,36 +371,35 @@ in
       in
         generators.toINI {} totalConfig;
 
-    users.users = singleton {
-      name = "ceph";
+    users.users.ceph = {
       uid = config.ids.uids.ceph;
       description = "Ceph daemon user";
       group = "ceph";
       extraGroups = [ "disk" ];
     };
-    users.groups = singleton {
-      name = "ceph";
+
+    users.groups.ceph = {
       gid = config.ids.gids.ceph;
     };
 
     systemd.services = let
       services = []
-        ++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons { RestartSec = "10"; })
-        ++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons { StartLimitBurst = "3"; })
-        ++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons { StartLimitBurst = "30";
-                                                                         RestartSec = "20s";
-                                                                         PrivateDevices = "no"; # osd needs disk access
-                                                                       })
-        ++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons { })
-        ++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons { StartLimitBurst = "3"; });
+        ++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
+        ++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
+        ++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
+        ++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
+        ++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
       in
         mkMerge services;
 
     systemd.targets = let
       targets = [
-        { ceph = { description = "Ceph target allowing to start/stop all ceph service instances at once";
-                     wantedBy = [ "multi-user.target" ]; }; }
-      ] ++ optional cfg.mon.enable (makeTarget "mon")
+        { ceph = {
+          description = "Ceph target allowing to start/stop all ceph service instances at once";
+          wantedBy = [ "multi-user.target" ];
+          unitConfig.StopWhenUnneeded = true;
+        }; } ]
+        ++ optional cfg.mon.enable (makeTarget "mon")
         ++ optional cfg.mds.enable (makeTarget "mds")
         ++ optional cfg.osd.enable (makeTarget "osd")
         ++ optional cfg.rgw.enable (makeTarget "rgw")
@@ -401,7 +408,11 @@ in
         mkMerge targets;
 
     systemd.tmpfiles.rules = [
+      "d /etc/ceph - ceph ceph - -"
       "d /run/ceph 0770 ceph ceph -"
-    ];
+      "d /var/lib/ceph - ceph ceph - -"]
+    ++ optionals cfg.mgr.enable [ "d /var/lib/ceph/mgr - ceph ceph - -"]
+    ++ optionals cfg.mon.enable [ "d /var/lib/ceph/mon - ceph ceph - -"]
+    ++ optionals cfg.osd.enable [ "d /var/lib/ceph/osd - ceph ceph - -"];
   };
 }
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/davfs2.nix b/nixpkgs/nixos/modules/services/network-filesystems/davfs2.nix
index 100d458d536c..4b6f85e4a2c9 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/davfs2.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/davfs2.nix
@@ -57,18 +57,19 @@ in
     environment.systemPackages = [ pkgs.davfs2 ];
     environment.etc."davfs2/davfs2.conf".source = cfgFile;
 
-    users.groups = optionalAttrs (cfg.davGroup == "davfs2") (singleton {
-      name = "davfs2";
-      gid = config.ids.gids.davfs2;
-    });
+    users.groups = optionalAttrs (cfg.davGroup == "davfs2") {
+      davfs2.gid = config.ids.gids.davfs2;
+    };
+
+    users.users = optionalAttrs (cfg.davUser == "davfs2") {
+      davfs2 = {
+        createHome = false;
+        group = cfg.davGroup;
+        uid = config.ids.uids.davfs2;
+        description = "davfs2 user";
+      };
+    };
 
-    users.users = optionalAttrs (cfg.davUser == "davfs2") (singleton {
-      name = "davfs2";
-      createHome = false;
-      group = cfg.davGroup;
-      uid = config.ids.uids.davfs2;
-      description = "davfs2 user";
-    });
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/drbd.nix b/nixpkgs/nixos/modules/services/network-filesystems/drbd.nix
index 4ab74ed8e1c0..916e7eaaaa94 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/drbd.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/drbd.nix
@@ -47,10 +47,8 @@ let cfg = config.services.drbd; in
         options drbd usermode_helper=/run/current-system/sw/bin/drbdadm
       '';
 
-    environment.etc = singleton
-      { source = pkgs.writeText "drbd.conf" cfg.config;
-        target = "drbd.conf";
-      };
+    environment.etc.drbd.conf =
+      { source = pkgs.writeText "drbd.conf" cfg.config; };
 
     systemd.services.drbd = {
       after = [ "systemd-udev.settle.service" "network.target" ];
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/nfsd.nix b/nixpkgs/nixos/modules/services/network-filesystems/nfsd.nix
index 1a78f9a76a33..1b62bfa82035 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/nfsd.nix
@@ -11,6 +11,10 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
+    (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix b/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix
new file mode 100644
index 000000000000..b69d9e713c3d
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix
@@ -0,0 +1,97 @@
+{ config, lib, pkgs, ...} :
+
+with lib;
+
+let
+  cfg = config.services.orangefs.client;
+
+in {
+  ###### interface
+
+  options = {
+    services.orangefs.client = {
+      enable = mkEnableOption "OrangeFS client daemon";
+
+      extraOptions = mkOption {
+        type = with types; listOf str;
+        default = [];
+        description = "Extra command line options for pvfs2-client.";
+      };
+
+      fileSystems = mkOption {
+        description = ''
+          The orangefs file systems to be mounted.
+          This option is prefered over using <option>fileSystems</option> directly since
+          the pvfs client service needs to be running for it to be mounted.
+        '';
+
+        example = [{
+          mountPoint = "/orangefs";
+          target = "tcp://server:3334/orangefs";
+        }];
+
+        type = with types; listOf (submodule ({ ... } : {
+          options = {
+
+            mountPoint = mkOption {
+              type = types.str;
+              default = "/orangefs";
+              description = "Mount point.";
+            };
+
+            options = mkOption {
+              type = with types; listOf str;
+              default = [];
+              description = "Mount options";
+            };
+
+            target = mkOption {
+              type = types.str;
+              default = null;
+              example = "tcp://server:3334/orangefs";
+              description = "Target URL";
+            };
+          };
+        }));
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.orangefs ];
+
+    boot.supportedFilesystems = [ "pvfs2" ];
+    boot.kernelModules = [ "orangefs" ];
+
+    systemd.services.orangefs-client = {
+      requires = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+
+      serviceConfig = {
+        Type = "simple";
+
+         ExecStart = ''
+           ${pkgs.orangefs}/bin/pvfs2-client-core \
+              --logtype=syslog ${concatStringsSep " " cfg.extraOptions}
+        '';
+
+        TimeoutStopSec = "120";
+      };
+    };
+
+    systemd.mounts = map (fs: {
+      requires = [ "orangefs-client.service" ];
+      after = [ "orangefs-client.service" ];
+      bindsTo = [ "orangefs-client.service" ];
+      wantedBy = [ "remote-fs.target" ];
+      type = "pvfs2";
+      options = concatStringsSep "," fs.options;
+      what = fs.target;
+      where = fs.mountPoint;
+    }) cfg.fileSystems;
+  };
+}
+
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix b/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix
new file mode 100644
index 000000000000..74ebdc134024
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix
@@ -0,0 +1,225 @@
+{ config, lib, pkgs, ...} :
+
+with lib;
+
+let
+  cfg = config.services.orangefs.server;
+
+  aliases = mapAttrsToList (alias: url: alias) cfg.servers;
+
+  # Maximum handle number is 2^63
+  maxHandle = 9223372036854775806;
+
+  # One range of handles for each meta/data instance
+  handleStep = maxHandle / (length aliases) / 2;
+
+  fileSystems = mapAttrsToList (name: fs: ''
+    <FileSystem>
+      Name ${name}
+      ID ${toString fs.id}
+      RootHandle ${toString fs.rootHandle}
+
+      ${fs.extraConfig}
+
+      <MetaHandleRanges>
+      ${concatStringsSep "\n" (
+          imap0 (i: alias:
+            let
+              begin = i * handleStep + 3;
+              end = begin + handleStep - 1;
+            in "Range ${alias} ${toString begin}-${toString end}") aliases
+       )}
+      </MetaHandleRanges>
+
+      <DataHandleRanges>
+      ${concatStringsSep "\n" (
+          imap0 (i: alias:
+            let
+              begin = i * handleStep + 3 + (length aliases) * handleStep;
+              end = begin + handleStep - 1;
+            in "Range ${alias} ${toString begin}-${toString end}") aliases
+       )}
+      </DataHandleRanges>
+
+      <StorageHints>
+      TroveSyncMeta ${if fs.troveSyncMeta then "yes" else "no"}
+      TroveSyncData ${if fs.troveSyncData then "yes" else "no"}
+      ${fs.extraStorageHints}
+      </StorageHints>
+
+    </FileSystem>
+  '') cfg.fileSystems;
+
+  configFile = ''
+    <Defaults>
+    LogType ${cfg.logType}
+    DataStorageSpace ${cfg.dataStorageSpace}
+    MetaDataStorageSpace ${cfg.metadataStorageSpace}
+
+    BMIModules ${concatStringsSep "," cfg.BMIModules}
+    ${cfg.extraDefaults}
+    </Defaults>
+
+    ${cfg.extraConfig}
+
+    <Aliases>
+    ${concatStringsSep "\n" (mapAttrsToList (alias: url: "Alias ${alias} ${url}") cfg.servers)}
+    </Aliases>
+
+    ${concatStringsSep "\n" fileSystems}
+  '';
+
+in {
+  ###### interface
+
+  options = {
+    services.orangefs.server = {
+      enable = mkEnableOption "OrangeFS server";
+
+      logType = mkOption {
+        type = with types; enum [ "file" "syslog" ];
+        default = "syslog";
+        description = "Destination for log messages.";
+      };
+
+      dataStorageSpace = mkOption {
+        type = types.str;
+        default = null;
+        example = "/data/storage";
+        description = "Directory for data storage.";
+      };
+
+      metadataStorageSpace = mkOption {
+        type = types.str;
+        default = null;
+        example = "/data/meta";
+        description = "Directory for meta data storage.";
+      };
+
+      BMIModules = mkOption {
+        type = with types; listOf str;
+        default = [ "bmi_tcp" ];
+        example = [ "bmi_tcp" "bmi_ib"];
+        description = "List of BMI modules to load.";
+      };
+
+      extraDefaults = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Extra config for <literal>&lt;Defaults&gt;</literal> section.";
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Extra config for the global section.";
+      };
+
+      servers = mkOption {
+        type = with types; attrsOf types.str;
+        default = {};
+        example = ''
+          {
+            node1="tcp://node1:3334";
+            node2="tcp://node2:3334";
+          }
+        '';
+        description = "URLs for storage server including port. The attribute names define the server alias.";
+      };
+
+      fileSystems = mkOption {
+        description = ''
+          These options will create the <literal>&lt;FileSystem&gt;</literal> sections of config file.
+        '';
+        default = { orangefs = {}; };
+        defaultText = literalExample "{ orangefs = {}; }";
+        example = literalExample ''
+          {
+            fs1 = {
+              id = 101;
+            };
+
+            fs2 = {
+              id = 102;
+            };
+          }
+        '';
+        type = with types; attrsOf (submodule ({ ... } : {
+          options = {
+            id = mkOption {
+              type = types.int;
+              default = 1;
+              description = "File system ID (must be unique within configuration).";
+            };
+
+            rootHandle = mkOption {
+              type = types.int;
+              default = 3;
+              description = "File system root ID.";
+            };
+
+            extraConfig = mkOption {
+              type = types.lines;
+              default = "";
+              description = "Extra config for <literal>&lt;FileSystem&gt;</literal> section.";
+            };
+
+            troveSyncMeta = mkOption {
+              type = types.bool;
+              default = true;
+              description = "Sync meta data.";
+            };
+
+            troveSyncData = mkOption {
+              type = types.bool;
+              default = false;
+              description = "Sync data.";
+            };
+
+            extraStorageHints = mkOption {
+              type = types.lines;
+              default = "";
+              description = "Extra config for <literal>&lt;StorageHints&gt;</literal> section.";
+            };
+          };
+        }));
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.orangefs ];
+
+    # orangefs daemon will run as user
+    users.users.orangefs.isSystemUser = true;
+    users.groups.orangefs = {};
+
+    # To format the file system the config file is needed.
+    environment.etc."orangefs/server.conf" = {
+      text = configFile;
+      user = "orangefs";
+      group = "orangefs";
+    };
+
+    systemd.services.orangefs-server = {
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+
+      serviceConfig = {
+        # Run as "simple" in forground mode.
+        # This is more reliable
+        ExecStart = ''
+          ${pkgs.orangefs}/bin/pvfs2-server -d \
+            /etc/orangefs/server.conf
+        '';
+        TimeoutStopSec = "120";
+        User = "orangefs";
+        Group = "orangefs";
+      };
+    };
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/samba.nix b/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
index 055508a32244..a3c22ce69484 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
@@ -12,11 +12,6 @@ let
 
   samba = cfg.package;
 
-  setupScript =
-    ''
-      mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
-    '';
-
   shareConfig = name:
     let share = getAttr name cfg.shares; in
     "[${name}]\n " + (smbToString (
@@ -45,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" ];
 
@@ -61,6 +57,7 @@ let
         Type = "notify";
         NotifyAccess = "all"; #may not do anything...
       };
+      unitConfig.RequiresMountsFor = "/var/lib/samba";
 
       restartTriggers = [ configFile ];
     };
@@ -68,6 +65,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
+  ];
 
   ###### interface
 
@@ -118,7 +118,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.
         '';
@@ -227,8 +227,7 @@ in
         systemd = {
           targets.samba = {
             description = "Samba Server";
-            requires = [ "samba-setup.service" ];
-            after = [ "samba-setup.service" "network.target" ];
+            after = [ "network.target" ];
             wantedBy = [ "multi-user.target" ];
           };
           # Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
@@ -237,12 +236,13 @@ in
             samba-smbd = daemonService "smbd" "";
             samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
             samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
-            samba-setup = {
-              description = "Samba Setup Task";
-              script = setupScript;
-              unitConfig.RequiresMountsFor = "/var/lib/samba";
-            };
           };
+          tmpfiles.rules = [
+            "d /var/lock/samba - - - - -"
+            "d /var/log/samba - - - - -"
+            "d /var/cache/samba - - - - -"
+            "d /var/lib/samba/private - - - - -"
+          ];
         };
 
         security.pam.services.samba = {};
diff --git a/nixpkgs/nixos/modules/services/networking/3proxy.nix b/nixpkgs/nixos/modules/services/networking/3proxy.nix
new file mode 100644
index 000000000000..26aa16679467
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/3proxy.nix
@@ -0,0 +1,424 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  pkg = pkgs._3proxy;
+  cfg = config.services._3proxy;
+  optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
+in {
+  options.services._3proxy = {
+    enable = mkEnableOption "3proxy";
+    confFile = mkOption {
+      type = types.path;
+      example = "/var/lib/3proxy/3proxy.conf";
+      description = ''
+        Ignore all other 3proxy options and load configuration from this file.
+      '';
+    };
+    usersFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/var/lib/3proxy/3proxy.passwd";
+      description = ''
+        Load users and passwords from this file.
+
+        Example users file with plain-text passwords:
+
+        <literal>
+          test1:CL:password1
+          test2:CL:password2
+        </literal>
+
+        Example users file with md5-crypted passwords:
+
+        <literal>
+          test1:CR:$1$tFkisVd2$1GA8JXkRmTXdLDytM/i3a1
+          test2:CR:$1$rkpibm5J$Aq1.9VtYAn0JrqZ8M.1ME.
+        </literal>
+
+        You can generate md5-crypted passwords via https://unix4lyfe.org/crypt/
+        Note that htpasswd tool generates incompatible md5-crypted passwords.
+        Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/How-To-(incomplete)#USERS">documentation</link> for more information.
+      '';
+    };
+    services = mkOption {
+      type = types.listOf (types.submodule {
+        options = {
+          type = mkOption {
+            type = types.enum [
+              "proxy"
+              "socks"
+              "pop3p"
+              "ftppr"
+              "admin"
+              "dnspr"
+              "tcppm"
+              "udppm"
+            ];
+            example = "proxy";
+            description = ''
+              Service type. The following values are valid:
+
+              <itemizedlist>
+                <listitem><para>
+                  <literal>"proxy"</literal>: HTTP/HTTPS proxy (default port 3128).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"socks"</literal>: SOCKS 4/4.5/5 proxy (default port 1080).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"pop3p"</literal>: POP3 proxy (default port 110).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"ftppr"</literal>: FTP proxy (default port 21).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"admin"</literal>: Web interface (default port 80).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"dnspr"</literal>: Caching DNS proxy (default port 53).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"tcppm"</literal>: TCP portmapper.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"udppm"</literal>: UDP portmapper.
+                </para></listitem>
+              </itemizedlist>
+            '';
+          };
+          bindAddress = mkOption {
+            type = types.str;
+            default = "[::]";
+            example = "127.0.0.1";
+            description = ''
+              Address used for service.
+            '';
+          };
+          bindPort = mkOption {
+            type = types.nullOr types.int;
+            default = null;
+            example = 3128;
+            description = ''
+              Override default port used for service.
+            '';
+          };
+          maxConnections = mkOption {
+            type = types.int;
+            default = 100;
+            example = 1000;
+            description = ''
+              Maximum number of simulationeous connections to this service.
+            '';
+          };
+          auth = mkOption {
+            type = types.listOf (types.enum [ "none" "iponly" "strong" ]);
+            example = [ "iponly" "strong" ];
+            description = ''
+              Authentication type. The following values are valid:
+
+              <itemizedlist>
+                <listitem><para>
+                  <literal>"none"</literal>: disables both authentication and authorization. You can not use ACLs.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"iponly"</literal>: specifies no authentication. ACLs authorization is used.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
+                </para></listitem>
+              </itemizedlist>
+
+              Double authentication is possible, e.g.
+
+              <literal>
+                {
+                  auth = [ "iponly" "strong" ];
+                  acl = [
+                    {
+                      rule = "allow";
+                      targets = [ "192.168.0.0/16" ];
+                    }
+                    {
+                      rule = "allow"
+                      users = [ "user1" "user2" ];
+                    }
+                  ];
+                }
+              </literal>
+              In this example strong username authentication is not required to access 192.168.0.0/16.
+            '';
+          };
+          acl = mkOption {
+            type = types.listOf (types.submodule {
+              options = {
+                rule = mkOption {
+                  type = types.enum [ "allow" "deny" ];
+                  example = "allow";
+                  description = ''
+                    ACL rule. The following values are valid:
+
+                    <itemizedlist>
+                      <listitem><para>
+                        <literal>"allow"</literal>: connections allowed.
+                      </para></listitem>
+                      <listitem><para>
+                        <literal>"deny"</literal>: connections not allowed.
+                      </para></listitem>
+                    </itemizedlist>
+                  '';
+                };
+                users = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "user1" "user2" "user3" ];
+                  description = ''
+                    List of users, use empty list for any.
+                  '';
+                };
+                sources = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "127.0.0.1" "192.168.1.0/24" ];
+                  description = ''
+                    List of source IP range, use empty list for any.
+                  '';
+                };
+                targets = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "127.0.0.1" "192.168.1.0/24" ];
+                  description = ''
+                    List of target IP ranges, use empty list for any.
+                    May also contain host names instead of addresses.
+                    It's possible to use wildmask in the begginning and in the the end of hostname, e.g. *badsite.com or *badcontent*.
+                    Hostname is only checked if hostname presents in request.
+                  '';
+                };
+                targetPorts = mkOption {
+                  type = types.listOf types.int;
+                  default = [ ];
+                  example = [ 80 443 ];
+                  description = ''
+                    List of target ports, use empty list for any.
+                  '';
+                };
+              };
+            });
+            default = [ ];
+            example = literalExample ''
+              [
+                {
+                  rule = "allow";
+                  users = [ "user1" ];
+                }
+                {
+                  rule = "allow";
+                  sources = [ "192.168.1.0/24" ];
+                }
+                {
+                  rule = "deny";
+                }
+              ]
+            '';
+            description = ''
+              Use this option to limit user access to resources.
+            '';
+          };
+          extraArguments = mkOption {
+            type = types.nullOr types.str;
+            default = null;
+            example = "-46";
+            description = ''
+              Extra arguments for service.
+              Consult "Options" section in <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available arguments.
+            '';
+          };
+          extraConfig = mkOption {
+            type = types.nullOr types.lines;
+            default = null;
+            description = ''
+              Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection.
+              Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
+            '';
+          };
+        };
+      });
+      default = [ ];
+      example = literalExample ''
+        [
+          {
+            type = "proxy";
+            bindAddress = "192.168.1.24";
+            bindPort = 3128;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindAddress = "10.10.1.20";
+            bindPort = 3128;
+            auth = [ "iponly" ];
+          }
+          {
+            type = "socks";
+            bindAddress = "172.17.0.1";
+            bindPort = 1080;
+            auth = [ "strong" ];
+          }
+        ]
+      '';
+      description = ''
+        Use this option to define 3proxy services.
+      '';
+    };
+    denyPrivate = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether to deny access to private IP ranges including loopback.
+      '';
+    };
+    privateRanges = mkOption {
+      type = types.listOf types.str;
+      default = [
+        "0.0.0.0/8"
+        "127.0.0.0/8"
+        "10.0.0.0/8"
+        "100.64.0.0/10"
+        "172.16.0.0/12"
+        "192.168.0.0/16"
+        "::"
+        "::1"
+        "fc00::/7"
+      ];
+      example = [
+        "0.0.0.0/8"
+        "127.0.0.0/8"
+        "10.0.0.0/8"
+        "100.64.0.0/10"
+        "172.16.0.0/12"
+        "192.168.0.0/16"
+        "::"
+        "::1"
+        "fc00::/7"
+      ];
+      description = ''
+        What IP ranges to deny access when denyPrivate is set tu true.
+      '';
+    };
+    resolution = mkOption {
+      type = types.submodule {
+        options = {
+          nserver = mkOption {
+            type = types.listOf types.str;
+            default = [ ];
+            example = [ "127.0.0.53" "192.168.1.3:5353/tcp" ];
+            description = ''
+              List of nameservers to use.
+
+              Up to 5 nservers may be specified. If no nserver is configured,
+              default system name resolution functions are used.
+            '';
+          };
+          nscache = mkOption {
+            type = types.int;
+            default = 65535;
+            example = 65535;
+            description = "Set name cache size for IPv4.";
+          };
+          nscache6 = mkOption {
+            type = types.int;
+            default = 65535;
+            example = 65535;
+            description = "Set name cache size for IPv6.";
+          };
+          nsrecord = mkOption {
+            type = types.attrsOf types.str;
+            default = { };
+            example = {
+              "files.local" = "192.168.1.12";
+              "site.local" = "192.168.1.43";
+            };
+            description = "Adds static nsrecords.";
+          };
+        };
+      };
+      default = { };
+      description = ''
+        Use this option to configure name resolution and DNS caching.
+      '';
+    };
+    extraConfig = mkOption {
+      type = types.nullOr types.lines;
+      default = null;
+      description = ''
+        Extra configuration, appended to the 3proxy configuration file.
+        Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services._3proxy.confFile = mkDefault (pkgs.writeText "3proxy.conf" ''
+      # log to stdout
+      log
+
+      ${concatMapStringsSep "\n" (x: "nserver " + x) cfg.resolution.nserver}
+
+      nscache ${toString cfg.resolution.nscache}
+      nscache6 ${toString cfg.resolution.nscache6}
+
+      ${concatMapStringsSep "\n" (x: "nsrecord " + x)
+      (mapAttrsToList (name: value: "${name} ${value}")
+        cfg.resolution.nsrecord)}
+
+      ${optionalString (cfg.usersFile != null)
+        ''users $"${cfg.usersFile}"''
+      }
+
+      ${concatMapStringsSep "\n" (service: ''
+        auth ${concatStringsSep " " service.auth}
+
+        ${optionalString (cfg.denyPrivate)
+        "deny * * ${optionalList cfg.privateRanges}"}
+
+        ${concatMapStringsSep "\n" (acl:
+          "${acl.rule} ${
+            concatMapStringsSep " " optionalList [
+              acl.users
+              acl.sources
+              acl.targets
+              acl.targetPorts
+            ]
+          }") service.acl}
+
+        maxconn ${toString service.maxConnections}
+
+        ${optionalString (service.extraConfig != null) service.extraConfig}
+
+        ${service.type} -i${toString service.bindAddress} ${
+          optionalString (service.bindPort != null)
+          "-p${toString service.bindPort}"
+        } ${
+          optionalString (service.extraArguments != null) service.extraArguments
+        }
+
+        flush
+      '') cfg.services}
+      ${optionalString (cfg.extraConfig != null) cfg.extraConfig}
+    '');
+    systemd.services."3proxy" = {
+      description = "Tiny free proxy server";
+      documentation = [ "https://github.com/z3APA3A/3proxy/wiki" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = "3proxy";
+        ExecStart = "${pkg}/bin/3proxy ${cfg.confFile}";
+        Restart = "on-failure";
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ misuzu ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/bind.nix b/nixpkgs/nixos/modules/services/networking/bind.nix
index 06af4dbcca4e..e3b95afb3d86 100644
--- a/nixpkgs/nixos/modules/services/networking/bind.nix
+++ b/nixpkgs/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.
         ";
       };
 
@@ -174,9 +178,8 @@ in
 
     networking.resolvconf.useLocalResolver = mkDefault true;
 
-    users.users = singleton
-      { name = bindUser;
-        uid = config.ids.uids.bind;
+    users.users.${bindUser} =
+      { uid = config.ids.uids.bind;
         description = "BIND daemon user";
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/bitcoind.nix b/nixpkgs/nixos/modules/services/networking/bitcoind.nix
index 1439d739da9d..4e00a8865474 100644
--- a/nixpkgs/nixos/modules/services/networking/bitcoind.nix
+++ b/nixpkgs/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} = {
@@ -187,6 +184,7 @@ in {
       group = cfg.group;
       description = "Bitcoin daemon user";
       home = cfg.dataDir;
+      isSystemUser = true;
     };
     users.groups.${cfg.group} = {
       name = cfg.group;
diff --git a/nixpkgs/nixos/modules/services/networking/bitlbee.nix b/nixpkgs/nixos/modules/services/networking/bitlbee.nix
index 274b36171608..54fe70f7ccc0 100644
--- a/nixpkgs/nixos/modules/services/networking/bitlbee.nix
+++ b/nixpkgs/nixos/modules/services/networking/bitlbee.nix
@@ -161,8 +161,7 @@ in
 
   config =  mkMerge [
     (mkIf config.services.bitlbee.enable {
-      users.users = singleton {
-        name = "bitlbee";
+      users.users.bitlbee = {
         uid = bitlbeeUid;
         description = "BitlBee user";
         home = "/var/lib/bitlbee";
diff --git a/nixpkgs/nixos/modules/services/networking/charybdis.nix b/nixpkgs/nixos/modules/services/networking/charybdis.nix
index da26246e703e..43829d36e417 100644
--- a/nixpkgs/nixos/modules/services/networking/charybdis.nix
+++ b/nixpkgs/nixos/modules/services/networking/charybdis.nix
@@ -71,15 +71,13 @@ in
 
   config = mkIf cfg.enable (lib.mkMerge [
     {
-      users.users = singleton {
-        name = cfg.user;
+      users.users.${cfg.user} = {
         description = "Charybdis IRC daemon user";
         uid = config.ids.uids.ircd;
         group = cfg.group;
       };
 
-      users.groups = singleton {
-        name = cfg.group;
+      users.groups.${cfg.group} = {
         gid = config.ids.gids.ircd;
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/connman.nix b/nixpkgs/nixos/modules/services/networking/connman.nix
index 31127f790499..e8eadc4e187d 100644
--- a/nixpkgs/nixos/modules/services/networking/connman.nix
+++ b/nixpkgs/nixos/modules/services/networking/connman.nix
@@ -4,20 +4,25 @@ with pkgs;
 with lib;
 
 let
-  cfg = config.networking.connman;
+  cfg = config.services.connman;
   configFile = pkgs.writeText "connman.conf" ''
     [General]
     NetworkInterfaceBlacklist=${concatStringsSep "," cfg.networkInterfaceBlacklist}
 
     ${cfg.extraConfig}
   '';
+  enableIwd = cfg.wifi.backend == "iwd";
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
+  ];
+
   ###### interface
 
   options = {
 
-    networking.connman = {
+    services.connman = {
 
       enable = mkOption {
         type = types.bool;
@@ -52,6 +57,17 @@ in {
         '';
       };
 
+      wifi = {
+        backend = mkOption {
+          type = types.enum [ "wpa_supplicant" "iwd" ];
+          default = "wpa_supplicant";
+          description = ''
+            Specify the Wi-Fi backend used.
+            Currently supported are <option>wpa_supplicant</option> or <option>iwd</option>.
+          '';
+        };
+      };
+
       extraFlags = mkOption {
         type = with types; listOf str;
         default = [ ];
@@ -71,13 +87,10 @@ in {
 
     assertions = [{
       assertion = !config.networking.useDHCP;
-      message = "You can not use services.networking.connman with services.networking.useDHCP";
-    }{
-      assertion = config.networking.wireless.enable;
-      message = "You must use services.networking.connman with services.networking.wireless";
+      message = "You can not use services.connman with networking.useDHCP";
     }{
       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 ];
@@ -85,12 +98,18 @@ in {
     systemd.services.connman = {
       description = "Connection service";
       wantedBy = [ "multi-user.target" ];
-      after = [ "syslog.target" ];
+      after = [ "syslog.target" ] ++ optional enableIwd "iwd.service";
+      requires = optional enableIwd "iwd.service";
       serviceConfig = {
         Type = "dbus";
         BusName = "net.connman";
         Restart = "on-failure";
-        ExecStart = "${pkgs.connman}/sbin/connmand --config=${configFile} --nodaemon ${toString cfg.extraFlags}";
+        ExecStart = toString ([
+          "${pkgs.connman}/sbin/connmand"
+          "--config=${configFile}"
+          "--nodaemon"
+        ] ++ optional enableIwd "--wifi=iwd_agent"
+          ++ cfg.extraFlags);
         StandardOutput = "null";
       };
     };
@@ -121,7 +140,12 @@ in {
 
     networking = {
       useDHCP = false;
-      wireless.enable = true;
+      wireless = {
+        enable = mkIf (!enableIwd) true;
+        iwd = mkIf enableIwd {
+          enable = true;
+        };
+      };
       networkmanager.enable = false;
     };
   };
diff --git a/nixpkgs/nixos/modules/services/networking/coturn.nix b/nixpkgs/nixos/modules/services/networking/coturn.nix
index c430ce5af92a..1bfbc307c59d 100644
--- a/nixpkgs/nixos/modules/services/networking/coturn.nix
+++ b/nixpkgs/nixos/modules/services/networking/coturn.nix
@@ -294,16 +294,14 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.users = [
-      { name = "turnserver";
-        uid = config.ids.uids.turnserver;
+    users.users.turnserver =
+      { uid = config.ids.uids.turnserver;
         description = "coturn TURN server user";
-      } ];
-    users.groups = [
-      { name = "turnserver";
-        gid = config.ids.gids.turnserver;
+      };
+    users.groups.turnserver =
+      { gid = config.ids.gids.turnserver;
         members = [ "turnserver" ];
-      } ];
+      };
 
     systemd.services.coturn = {
       description = "coturn TURN server";
diff --git a/nixpkgs/nixos/modules/services/networking/ddclient.nix b/nixpkgs/nixos/modules/services/networking/ddclient.nix
index 04ce5ca3a874..053efe712709 100644
--- a/nixpkgs/nixos/modules/services/networking/ddclient.nix
+++ b/nixpkgs/nixos/modules/services/networking/ddclient.nix
@@ -30,6 +30,14 @@ with lib;
 
 {
 
+  imports = [
+    (mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
+      (config:
+        let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
+        in if value != "" then [ value ] else []))
+    (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/networking/dhcpcd.nix b/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
index 7b2786034552..6fbc014db718 100644
--- a/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
@@ -185,11 +185,7 @@ in
 
     environment.systemPackages = [ dhcpcd ];
 
-    environment.etc =
-      [ { source = exitHook;
-          target = "dhcpcd.exit-hook";
-        }
-      ];
+    environment.etc."dhcpcd.exit-hook".source = exitHook;
 
     powerManagement.resumeCommands = mkIf config.systemd.services.dhcpcd.enable
       ''
diff --git a/nixpkgs/nixos/modules/services/networking/dhcpd.nix b/nixpkgs/nixos/modules/services/networking/dhcpd.nix
index 0b2063bc4246..67f7d8118870 100644
--- a/nixpkgs/nixos/modules/services/networking/dhcpd.nix
+++ b/nixpkgs/nixos/modules/services/networking/dhcpd.nix
@@ -182,6 +182,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/networking/dnscache.nix b/nixpkgs/nixos/modules/services/networking/dnscache.nix
index 5051fc916d96..d123bca93219 100644
--- a/nixpkgs/nixos/modules/services/networking/dnscache.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnscache.nix
@@ -84,7 +84,7 @@ in {
 
   config = mkIf config.services.dnscache.enable {
     environment.systemPackages = [ pkgs.djbdns ];
-    users.users.dnscache = {};
+    users.users.dnscache.isSystemUser = true;
 
     systemd.services.dnscache = {
       description = "djbdns dnscache server";
diff --git a/nixpkgs/nixos/modules/services/networking/dnschain.nix b/nixpkgs/nixos/modules/services/networking/dnschain.nix
index 5b58ea9b0c91..003609ea7054 100644
--- a/nixpkgs/nixos/modules/services/networking/dnschain.nix
+++ b/nixpkgs/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}";
         };
@@ -147,8 +147,7 @@ in
       '';
     };
 
-    users.users = singleton {
-      name = username;
+    users.users.${username} = {
       description = "DNSChain daemon user";
       home = dataDir;
       createHome = true;
@@ -180,4 +179,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix b/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
index bf13d5c6f5fe..e53fb7a15782 100644
--- a/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
@@ -142,6 +142,7 @@ in {
       description = "dnscrypt-wrapper daemon user";
       home = "${dataDir}";
       createHome = true;
+      isSystemUser = true;
     };
     users.groups.dnscrypt-wrapper = { };
 
@@ -196,4 +197,7 @@ in {
     };
 
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/dnsdist.nix b/nixpkgs/nixos/modules/services/networking/dnsdist.nix
index 12eee136e639..8249da69bc1a 100644
--- a/nixpkgs/nixos/modules/services/networking/dnsdist.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnsdist.nix
@@ -46,11 +46,10 @@ in {
         RestartSec="1";
         DynamicUser = true;
         StartLimitInterval="0";
-        PrivateTmp=true;
         PrivateDevices=true;
-        CapabilityBoundingSet="CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
+        AmbientCapabilities="CAP_NET_BIND_SERVICE";
+        CapabilityBoundingSet="CAP_NET_BIND_SERVICE";
         ExecStart = "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}";
-        ProtectSystem="full";
         ProtectHome=true;
         RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6";
         LimitNOFILE="16384";
diff --git a/nixpkgs/nixos/modules/services/networking/dnsmasq.nix b/nixpkgs/nixos/modules/services/networking/dnsmasq.nix
index 714a5903bff1..377d7bc57058 100644
--- a/nixpkgs/nixos/modules/services/networking/dnsmasq.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnsmasq.nix
@@ -86,8 +86,7 @@ in
 
     services.dbus.packages = [ dnsmasq ];
 
-    users.users = singleton {
-      name = "dnsmasq";
+    users.users.dnsmasq = {
       uid = config.ids.uids.dnsmasq;
       description = "Dnsmasq daemon user";
     };
diff --git a/nixpkgs/nixos/modules/services/networking/ejabberd.nix b/nixpkgs/nixos/modules/services/networking/ejabberd.nix
index 6a38f85c48a2..a5af25b983b9 100644
--- a/nixpkgs/nixos/modules/services/networking/ejabberd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ejabberd.nix
@@ -94,18 +94,18 @@ in {
   config = mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
-    users.users = optionalAttrs (cfg.user == "ejabberd") (singleton
-      { name = "ejabberd";
+    users.users = optionalAttrs (cfg.user == "ejabberd") {
+      ejabberd = {
         group = cfg.group;
         home = cfg.spoolDir;
         createHome = true;
         uid = config.ids.uids.ejabberd;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "ejabberd") (singleton
-      { name = "ejabberd";
-        gid = config.ids.gids.ejabberd;
-      });
+    users.groups = optionalAttrs (cfg.group == "ejabberd") {
+      ejabberd.gid = config.ids.gids.ejabberd;
+    };
 
     systemd.services.ejabberd = {
       description = "ejabberd server";
diff --git a/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix b/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
index be7337ece7e4..a2e5b30dc0f0 100644
--- a/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/fakeroute.nix b/nixpkgs/nixos/modules/services/networking/fakeroute.nix
index 82a9fb729d84..7916ad4098a7 100644
--- a/nixpkgs/nixos/modules/services/networking/fakeroute.nix
+++ b/nixpkgs/nixos/modules/services/networking/fakeroute.nix
@@ -60,4 +60,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/firewall.nix b/nixpkgs/nixos/modules/services/networking/firewall.nix
index 5b3aa19af3bb..15aaf7410674 100644
--- a/nixpkgs/nixos/modules/services/networking/firewall.nix
+++ b/nixpkgs/nixos/modules/services/networking/firewall.nix
@@ -42,16 +42,7 @@ let
 
   kernelHasRPFilter = ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") || (kernel.features.netfilterRPFilter or false);
 
-  helpers =
-    ''
-      # Helper command to manipulate both the IPv4 and IPv6 tables.
-      ip46tables() {
-        iptables -w "$@"
-        ${optionalString config.networking.enableIPv6 ''
-          ip6tables -w "$@"
-        ''}
-      }
-    '';
+  helpers = import ./helpers.nix { inherit config lib; };
 
   writeShScript = name: text: let dir = pkgs.writeScriptBin name ''
     #! ${pkgs.runtimeShell} -e
@@ -271,7 +262,7 @@ let
       apply = canonicalizePortList;
       example = [ 22 80 ];
       description =
-        '' 
+        ''
           List of TCP ports on which incoming connections are
           accepted.
         '';
@@ -282,7 +273,7 @@ let
       default = [ ];
       example = [ { from = 8999; to = 9003; } ];
       description =
-        '' 
+        ''
           A range of TCP ports on which incoming connections are
           accepted.
         '';
@@ -331,6 +322,17 @@ in
           '';
       };
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.iptables;
+        defaultText = "pkgs.iptables";
+        example = literalExample "pkgs.iptables-nftables-compat";
+        description =
+          ''
+            The iptables package to use for running the firewall service."
+          '';
+      };
+
       logRefusedConnections = mkOption {
         type = types.bool;
         default = true;
@@ -536,7 +538,7 @@ in
 
     networking.firewall.trustedInterfaces = [ "lo" ];
 
-    environment.systemPackages = [ pkgs.iptables ] ++ cfg.extraPackages;
+    environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
 
     boot.kernelModules = (optional cfg.autoLoadConntrackHelpers "nf_conntrack")
       ++ map (x: "nf_conntrack_${x}") cfg.connectionTrackingModules;
@@ -555,7 +557,7 @@ in
       before = [ "network-pre.target" ];
       after = [ "systemd-modules-load.service" ];
 
-      path = [ pkgs.iptables ] ++ cfg.extraPackages;
+      path = [ cfg.package ] ++ cfg.extraPackages;
 
       # FIXME: this module may also try to load kernel modules, but
       # containers don't have CAP_SYS_MODULE.  So the host system had
diff --git a/nixpkgs/nixos/modules/services/networking/gale.nix b/nixpkgs/nixos/modules/services/networking/gale.nix
index 7083d87c4073..cb954fd836bc 100644
--- a/nixpkgs/nixos/modules/services/networking/gale.nix
+++ b/nixpkgs/nixos/modules/services/networking/gale.nix
@@ -104,14 +104,13 @@ in
          systemPackages = [ pkgs.gale ];
        };
 
-       users.users = [{
-         name = cfg.user;
+       users.users.${cfg.user} = {
          description = "Gale daemon";
          uid = config.ids.uids.gale;
          group = cfg.group;
          home = home;
          createHome = true;
-       }];
+       };
 
        users.groups = [{
          name = cfg.group;
diff --git a/nixpkgs/nixos/modules/services/networking/git-daemon.nix b/nixpkgs/nixos/modules/services/networking/git-daemon.nix
index a638a3083fba..6f2e149433f3 100644
--- a/nixpkgs/nixos/modules/services/networking/git-daemon.nix
+++ b/nixpkgs/nixos/modules/services/networking/git-daemon.nix
@@ -104,16 +104,16 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = if cfg.user != "git" then {} else singleton
-      { name = "git";
+    users.users = optionalAttrs (cfg.user != "git") {
+      git = {
         uid = config.ids.uids.git;
         description = "Git daemon user";
       };
+    };
 
-    users.groups = if cfg.group != "git" then {} else singleton
-      { name = "git";
-        gid = config.ids.gids.git;
-      };
+    users.groups = optionalAttrs (cfg.group != "git") {
+      git.gid = config.ids.gids.git;
+    };
 
     systemd.services.git-daemon = {
       after = [ "network.target" ];
diff --git a/nixpkgs/nixos/modules/services/networking/gnunet.nix b/nixpkgs/nixos/modules/services/networking/gnunet.nix
index 178a832c166e..69d4ed047756 100644
--- a/nixpkgs/nixos/modules/services/networking/gnunet.nix
+++ b/nixpkgs/nixos/modules/services/networking/gnunet.nix
@@ -42,6 +42,7 @@ in
     services.gnunet = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = ''
           Whether to run the GNUnet daemon.  GNUnet is GNU's anonymous
@@ -51,6 +52,7 @@ in
 
       fileSharing = {
         quota = mkOption {
+          type = types.int;
           default = 1024;
           description = ''
             Maximum file system usage (in MiB) for file sharing.
@@ -60,6 +62,7 @@ in
 
       udp = {
         port = mkOption {
+          type = types.port;
           default = 2086;  # assigned by IANA
           description = ''
             The UDP port for use by GNUnet.
@@ -69,6 +72,7 @@ in
 
       tcp = {
         port = mkOption {
+          type = types.port;
           default = 2086;  # assigned by IANA
           description = ''
             The TCP port for use by GNUnet.
@@ -78,6 +82,7 @@ in
 
       load = {
         maxNetDownBandwidth = mkOption {
+          type = types.int;
           default = 50000;
           description = ''
             Maximum bandwidth usage (in bits per second) for GNUnet
@@ -86,6 +91,7 @@ in
         };
 
         maxNetUpBandwidth = mkOption {
+          type = types.int;
           default = 50000;
           description = ''
             Maximum bandwidth usage (in bits per second) for GNUnet
@@ -94,6 +100,7 @@ in
         };
 
         hardNetUpBandwidth = mkOption {
+          type = types.int;
           default = 0;
           description = ''
             Hard bandwidth limit (in bits per second) when uploading
@@ -111,6 +118,7 @@ in
       };
 
       extraOptions = mkOption {
+        type = types.lines;
         default = "";
         description = ''
           Additional options that will be copied verbatim in `gnunet.conf'.
diff --git a/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix b/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix
new file mode 100644
index 000000000000..afbd7ea27c65
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.services.go-shadowsocks2.server;
+in {
+  options.services.go-shadowsocks2.server = {
+    enable = mkEnableOption "go-shadowsocks2 server";
+
+    listenAddress = mkOption {
+      type = types.str;
+      description = "Server listen address or URL";
+      example = "ss://AEAD_CHACHA20_POLY1305:your-password@:8488";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.go-shadowsocks2-server = {
+      description = "go-shadowsocks2 server";
+
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.go-shadowsocks2}/bin/go-shadowsocks2 -s '${cfg.listenAddress}'";
+        DynamicUser = true;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/hans.nix b/nixpkgs/nixos/modules/services/networking/hans.nix
index 20e57e4626ef..8334dc68d623 100644
--- a/nixpkgs/nixos/modules/services/networking/hans.nix
+++ b/nixpkgs/nixos/modules/services/networking/hans.nix
@@ -135,9 +135,9 @@ in
       };
     };
 
-    users.users = singleton {
-      name = hansUser;
+    users.users.${hansUser} = {
       description = "Hans daemon user";
+      isSystemUser = true;
     };
   };
 
diff --git a/nixpkgs/nixos/modules/services/networking/haproxy.nix b/nixpkgs/nixos/modules/services/networking/haproxy.nix
index 0438d0bf8d86..aff71e5e97da 100644
--- a/nixpkgs/nixos/modules/services/networking/haproxy.nix
+++ b/nixpkgs/nixos/modules/services/networking/haproxy.nix
@@ -1,7 +1,16 @@
 { config, lib, pkgs, ... }:
+
 let
   cfg = config.services.haproxy;
-  haproxyCfg = pkgs.writeText "haproxy.conf" cfg.config;
+
+  haproxyCfg = pkgs.writeText "haproxy.conf" ''
+    global
+      # needed for hot-reload to work without dropping packets in multi-worker mode
+      stats socket /run/haproxy/haproxy.sock mode 600 expose-fd listeners level user
+
+    ${cfg.config}
+  '';
+
 in
 with lib;
 {
@@ -25,9 +34,7 @@ with lib;
           <filename>haproxy.conf</filename>.
         '';
       };
-
     };
-
   };
 
   config = mkIf cfg.enable {
@@ -42,21 +49,16 @@ with lib;
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        Type = "forking";
-        PIDFile = "/run/haproxy.pid";
-        ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -q -f ${haproxyCfg}";
-        ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid";
-        ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid -sf $MAINPID\"";
+        DynamicUser = true;
+        Type = "notify";
+        # when running the config test, don't be quiet so we can see what goes wrong
+        ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}";
+        ExecStart = "${pkgs.haproxy}/sbin/haproxy -Ws -f ${haproxyCfg}";
+        Restart = "on-failure";
+        RuntimeDirectory = "haproxy";
+        # needed in case we bind to port < 1024
+        AmbientCapabilities = "CAP_NET_BIND_SERVICE";
       };
     };
-
-    environment.systemPackages = [ pkgs.haproxy ];
-
-    users.users.haproxy = {
-      group = "haproxy";
-      uid = config.ids.uids.haproxy;
-    };
-
-    users.groups.haproxy.gid = config.ids.uids.haproxy;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/networking/helpers.nix b/nixpkgs/nixos/modules/services/networking/helpers.nix
new file mode 100644
index 000000000000..d7d42de0e3a8
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/helpers.nix
@@ -0,0 +1,11 @@
+{ config, lib, ... }: ''
+  # Helper command to manipulate both the IPv4 and IPv6 tables.
+  ip46tables() {
+    iptables -w "$@"
+    ${
+      lib.optionalString config.networking.enableIPv6 ''
+        ip6tables -w "$@"
+      ''
+    }
+  }
+''
diff --git a/nixpkgs/nixos/modules/services/networking/i2pd.nix b/nixpkgs/nixos/modules/services/networking/i2pd.nix
index f2be417738ee..326d34f6ca92 100644
--- a/nixpkgs/nixos/modules/services/networking/i2pd.nix
+++ b/nixpkgs/nixos/modules/services/networking/i2pd.nix
@@ -158,10 +158,10 @@ let
       (sec "addressbook")
       (strOpt "defaulturl" cfg.addressbook.defaulturl)
     ] ++ (optionalEmptyList "subscriptions" cfg.addressbook.subscriptions)
-      ++ (flip map
-      (collect (proto: proto ? port && proto ? address && proto ? name) cfg.proto)
+      ++ (flip mapAttrs
+      (collect (name: proto: proto ? port && proto ? address && proto ? name) cfg.proto)
       (proto: let protoOpts = [
-        (sec proto.name)
+        (sec name)
         (boolOpt "enabled" proto.enable)
         (strOpt "address" proto.address)
         (intOpt "port" proto.port)
@@ -181,10 +181,10 @@ let
 
   tunnelConf = let opts = [
     notice
-    (flip map
-      (collect (tun: tun ? port && tun ? destination) cfg.outTunnels)
+    (flip mapAttrs
+      (collect (name: tun: tun ? port && tun ? destination) cfg.outTunnels)
       (tun: let outTunOpts = [
-        (sec tun.name)
+        (sec name)
         "type = client"
         (intOpt "port" tun.port)
         (strOpt "destination" tun.destination)
@@ -204,10 +204,10 @@ let
         ++ (if tun ? crypto.tagsToSend then
             optionalNullInt "crypto.tagstosend" tun.crypto.tagsToSend else []);
         in concatStringsSep "\n" outTunOpts))
-    (flip map
-      (collect (tun: tun ? port && tun ? address) cfg.inTunnels)
+    (flip mapAttrs
+      (collect (name: tun: tun ? port && tun ? address) cfg.inTunnels)
       (tun: let inTunOpts = [
-        (sec tun.name)
+        (sec name)
         "type = server"
         (intOpt "port" tun.port)
         (strOpt "host" tun.address)
@@ -235,6 +235,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/networking/iodine.nix b/nixpkgs/nixos/modules/services/networking/iodine.nix
index 344f84374bbd..f9ca26c27960 100644
--- a/nixpkgs/nixos/modules/services/networking/iodine.nix
+++ b/nixpkgs/nixos/modules/services/networking/iodine.nix
@@ -11,6 +11,13 @@ let
 
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
+    (mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
+    (mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
+    (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
+    (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
+  ];
 
   ### configuration
 
@@ -140,8 +147,7 @@ in
       };
     };
 
-    users.users = singleton {
-      name = iodinedUser;
+    users.users.${iodinedUser} = {
       uid = config.ids.uids.iodined;
       description = "Iodine daemon user";
     };
diff --git a/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
index f5abe61a1baf..b236552eb653 100644
--- a/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
+++ b/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
@@ -112,9 +112,8 @@ in
 
   config = mkIf config.services.ircdHybrid.enable {
 
-    users.users = singleton
-      { name = "ircd";
-        description = "IRCD owner";
+    users.users.ircd =
+      { description = "IRCD owner";
         group = "ircd";
         uid = config.ids.uids.ircd;
       };
diff --git a/nixpkgs/nixos/modules/services/networking/jormungandr.nix b/nixpkgs/nixos/modules/services/networking/jormungandr.nix
deleted file mode 100644
index 152cceb4bf91..000000000000
--- a/nixpkgs/nixos/modules/services/networking/jormungandr.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-  cfg = config.services.jormungandr;
-
-  inherit (lib) mkEnableOption mkIf mkOption;
-  inherit (lib) optionalString types;
-
-  dataDir = "/var/lib/jormungandr";
-
-  # Default settings so far, as the service matures we will
-  # move these out as separate settings
-  configSettings = {
-    storage = dataDir;
-    p2p = {
-      public_address = "/ip4/127.0.0.1/tcp/8299";
-      topics_of_interest = {
-        messages = "high";
-        blocks = "high";
-      };
-    };
-    rest = {
-      listen = "127.0.0.1:8607";
-    };
-  };
-
-  configFile = if cfg.configFile == null then
-    pkgs.writeText "jormungandr.yaml" (builtins.toJSON configSettings)
-  else cfg.configFile;
-
-in {
-
-  options = {
-
-    services.jormungandr = {
-      enable = mkEnableOption "jormungandr service";
-
-      configFile = mkOption {
-       type = types.nullOr types.path;
-       default = null;
-       example = "/var/lib/jormungandr/node.yaml";
-       description = ''
-         The path of the jormungandr blockchain configuration file in YAML format.
-         If no file is specified, a file is generated using the other options.
-       '';
-     };
-
-      secretFile = mkOption {
-       type = types.nullOr types.path;
-       default = null;
-       example = "/etc/secret/jormungandr.yaml";
-       description = ''
-         The path of the jormungandr blockchain secret node configuration file in
-         YAML format. Do not store this in nix store!
-       '';
-     };
-
-      genesisBlockHash = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "d70495af81ae8600aca3e642b2427327cb6001ec4d7a0037e96a00dabed163f9";
-        description = ''
-          Set the genesis block hash (the hash of the block0) so we can retrieve
-          the genesis block (and the blockchain configuration) from the existing
-          storage or from the network.
-        '';
-      };
-
-      genesisBlockFile = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        example = "/var/lib/jormungandr/block-0.bin";
-        description = ''
-          The path of the genesis block file if we are hosting it locally.
-        '';
-      };
-
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    systemd.services.jormungandr = {
-      description = "jormungandr server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-online.target" ];
-      environment = {
-        RUST_BACKTRACE = "full";
-      };
-      serviceConfig = {
-        DynamicUser = true;
-        StateDirectory = baseNameOf dataDir;
-        ExecStart = ''
-          ${pkgs.jormungandr}/bin/jormungandr --config ${configFile} \
-            ${optionalString (cfg.secretFile != null) " --secret ${cfg.secretFile}"} \
-            ${optionalString (cfg.genesisBlockHash != null) " --genesis-block-hash ${cfg.genesisBlockHash}"} \
-            ${optionalString (cfg.genesisBlockFile != null) " --genesis-block ${cfg.genesisBlockFile}"}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixpkgs/nixos/modules/services/networking/kippo.nix b/nixpkgs/nixos/modules/services/networking/kippo.nix
index bdea6a1d1caa..553415a2f329 100644
--- a/nixpkgs/nixos/modules/services/networking/kippo.nix
+++ b/nixpkgs/nixos/modules/services/networking/kippo.nix
@@ -73,12 +73,11 @@ in
         ${cfg.extraConfig}
     '';
 
-    users.users = singleton {
-      name = "kippo";
+    users.users.kippo = {
       description = "kippo web server privilege separation user";
       uid = 108; # why does config.ids.uids.kippo give an error?
     };
-    users.groups = singleton { name = "kippo";gid=108; };
+    users.groups.kippo.gid = 108;
 
     systemd.services.kippo = with pkgs; {
       description = "Kippo Web Server";
diff --git a/nixpkgs/nixos/modules/services/networking/kresd.nix b/nixpkgs/nixos/modules/services/networking/kresd.nix
index fc516c01230a..5eb50a13ca9a 100644
--- a/nixpkgs/nixos/modules/services/networking/kresd.nix
+++ b/nixpkgs/nixos/modules/services/networking/kresd.nix
@@ -13,6 +13,17 @@ in
 {
   meta.maintainers = [ maintainers.vcunat /* upstream developer */ ];
 
+  imports = [
+    (mkChangedOptionModule [ "services" "kresd" "interfaces" ] [ "services" "kresd" "listenPlain" ]
+      (config:
+        let value = getAttrFromPath [ "services" "kresd" "interfaces" ] config;
+        in map
+          (iface: if elem ":" (stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") # Syntax depends on being IPv6 or IPv4.
+          value
+      )
+    )
+  ];
+
   ###### interface
   options.services.kresd = {
     enable = mkOption {
@@ -39,11 +50,12 @@ in
         Directory for caches.  They are intended to survive reboots.
       '';
     };
-    interfaces = mkOption {
+    listenPlain = mkOption {
       type = with types; listOf str;
-      default = [ "::1" "127.0.0.1" ];
+      default = [ "[::1]:53" "127.0.0.1:53" ];
       description = ''
-        What addresses the server should listen on. (UDP+TCP 53)
+        What addresses and ports the server should listen on.
+        For detailed syntax see ListenStream in man systemd.socket.
       '';
     };
     listenTLS = mkOption {
@@ -51,7 +63,7 @@ in
       default = [];
       example = [ "198.51.100.1:853" "[2001:db8::1]:853" "853" ];
       description = ''
-        Addresses on which kresd should provide DNS over TLS (see RFC 7858).
+        Addresses and ports on which kresd should provide DNS over TLS (see RFC 7858).
         For detailed syntax see ListenStream in man systemd.socket.
       '';
     };
@@ -62,24 +74,17 @@ in
   config = mkIf cfg.enable {
     environment.etc."kresd.conf".source = configFile; # not required
 
-    users.users = singleton
-      { name = "kresd";
-        uid = config.ids.uids.kresd;
+    users.users.kresd =
+      { uid = config.ids.uids.kresd;
         group = "kresd";
         description = "Knot-resolver daemon user";
       };
-    users.groups = singleton
-      { name = "kresd";
-        gid = config.ids.gids.kresd;
-      };
+    users.groups.kresd.gid = config.ids.gids.kresd;
 
     systemd.sockets.kresd = rec {
       wantedBy = [ "sockets.target" ];
       before = wantedBy;
-      listenStreams = map
-        # Syntax depends on being IPv6 or IPv4.
-        (iface: if elem ":" (stringToCharacters iface) then "[${iface}]:53" else "${iface}:53")
-        cfg.interfaces;
+      listenStreams = cfg.listenPlain;
       socketConfig = {
         ListenDatagram = listenStreams;
         FreeBind = true;
diff --git a/nixpkgs/nixos/modules/services/networking/matterbridge.nix b/nixpkgs/nixos/modules/services/networking/matterbridge.nix
index 1fd63348c16c..bad35133459a 100644
--- a/nixpkgs/nixos/modules/services/networking/matterbridge.nix
+++ b/nixpkgs/nixos/modules/services/networking/matterbridge.nix
@@ -92,13 +92,15 @@ in
     warnings = optional options.services.matterbridge.configFile.isDefined
       "The option services.matterbridge.configFile is insecure and should be replaced with services.matterbridge.configPath";
 
-    users.users = optional (cfg.user == "matterbridge")
-      { name = "matterbridge";
-        group = "matterbridge";
+    users.users = optionalAttrs (cfg.user == "matterbridge")
+      { matterbridge = {
+          group = "matterbridge";
+          isSystemUser = true;
+        };
       };
 
-    users.groups = optional (cfg.group == "matterbridge")
-      { name = "matterbridge";
+    users.groups = optionalAttrs (cfg.group == "matterbridge")
+      { matterbridge = { };
       };
 
     systemd.services.matterbridge = {
diff --git a/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix b/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
index e0a6c112e3cb..dbc35e2e71c0 100644
--- a/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
+++ b/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
@@ -49,10 +49,11 @@ in {
 
   config = mkIf cfg.enable {
 
-    users.users = optional (cfg.user == "mjpg-streamer") {
-      name = "mjpg-streamer";
-      uid = config.ids.uids.mjpg-streamer;
-      group = cfg.group;
+    users.users = optionalAttrs (cfg.user == "mjpg-streamer") {
+      mjpg-streamer = {
+        uid = config.ids.uids.mjpg-streamer;
+        group = cfg.group;
+      };
     };
 
     systemd.services.mjpg-streamer = {
diff --git a/nixpkgs/nixos/modules/services/networking/monero.nix b/nixpkgs/nixos/modules/services/networking/monero.nix
index 831e4d60d8da..b95364308682 100644
--- a/nixpkgs/nixos/modules/services/networking/monero.nix
+++ b/nixpkgs/nixos/modules/services/networking/monero.nix
@@ -197,17 +197,15 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton {
-      name = "monero";
+    users.users.monero = {
       uid  = config.ids.uids.monero;
       description = "Monero daemon user";
       home = dataDir;
       createHome = true;
     };
 
-    users.groups = singleton {
-      name = "monero";
-      gid  = config.ids.gids.monero;
+    users.groups.monero = {
+      gid = config.ids.gids.monero;
     };
 
     systemd.services.monero = {
@@ -224,15 +222,17 @@ in
       };
     };
 
-   assertions = singleton {
-     assertion = cfg.mining.enable -> cfg.mining.address != "";
-     message   = ''
+    assertions = singleton {
+      assertion = cfg.mining.enable -> cfg.mining.address != "";
+      message   = ''
        You need a Monero address to receive mining rewards:
        specify one using option monero.mining.address.
-    '';
-   };
+      '';
+    };
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
 
diff --git a/nixpkgs/nixos/modules/services/networking/morty.nix b/nixpkgs/nixos/modules/services/networking/morty.nix
index 1b3084fe9abb..e3a6444c1163 100644
--- a/nixpkgs/nixos/modules/services/networking/morty.nix
+++ b/nixpkgs/nixos/modules/services/networking/morty.nix
@@ -74,6 +74,7 @@ in
       { description = "Morty user";
         createHome = true;
         home = "/var/lib/morty";
+        isSystemUser = true;
       };
 
     systemd.services.morty =
diff --git a/nixpkgs/nixos/modules/services/networking/murmur.nix b/nixpkgs/nixos/modules/services/networking/murmur.nix
index 082953d2f6ab..3054ae1b201f 100644
--- a/nixpkgs/nixos/modules/services/networking/murmur.nix
+++ b/nixpkgs/nixos/modules/services/networking/murmur.nix
@@ -46,6 +46,11 @@ let
   '';
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
+    (mkRemovedOptionModule [ "services" "murmur" "pidfile" ] "Hardcoded to /run/murmur/murmurd.pid now")
+  ];
+
   options = {
     services.murmur = {
       enable = mkOption {
diff --git a/nixpkgs/nixos/modules/services/networking/mxisd.nix b/nixpkgs/nixos/modules/services/networking/mxisd.nix
index 02e89f441b34..482d6ff456b1 100644
--- a/nixpkgs/nixos/modules/services/networking/mxisd.nix
+++ b/nixpkgs/nixos/modules/services/networking/mxisd.nix
@@ -3,6 +3,15 @@
 with lib;
 
 let
+
+  isMa1sd =
+    package:
+    lib.hasPrefix "ma1sd" package.name;
+
+  isMxisd =
+    package:
+    lib.hasPrefix "mxisd" package.name;
+
   cfg = config.services.mxisd;
 
   server = optionalAttrs (cfg.server.name != null) { inherit (cfg.server) name; }
@@ -12,37 +21,41 @@ let
     matrix.domain = cfg.matrix.domain;
     key.path = "${cfg.dataDir}/signing.key";
     storage = {
-      provider.sqlite.database = "${cfg.dataDir}/mxisd.db";
+      provider.sqlite.database = if isMa1sd cfg.package
+                                 then "${cfg.dataDir}/ma1sd.db"
+                                 else "${cfg.dataDir}/mxisd.db";
     };
   } // optionalAttrs (server != {}) { inherit server; };
 
   # merges baseConfig and extraConfig into a single file
   fullConfig = recursiveUpdate baseConfig cfg.extraConfig;
 
-  configFile = pkgs.writeText "mxisd-config.yaml" (builtins.toJSON fullConfig);
+  configFile = if isMa1sd cfg.package
+               then pkgs.writeText "ma1sd-config.yaml" (builtins.toJSON fullConfig)
+               else pkgs.writeText "mxisd-config.yaml" (builtins.toJSON fullConfig);
 
 in {
   options = {
     services.mxisd = {
-      enable = mkEnableOption "mxisd matrix federated identity server";
+      enable = mkEnableOption "matrix federated identity server";
 
       package = mkOption {
         type = types.package;
         default = pkgs.mxisd;
         defaultText = "pkgs.mxisd";
-        description = "The mxisd package to use";
+        description = "The mxisd/ma1sd package to use";
       };
 
       dataDir = mkOption {
         type = types.str;
         default = "/var/lib/mxisd";
-        description = "Where data mxisd uses resides";
+        description = "Where data mxisd/ma1sd uses resides";
       };
 
       extraConfig = mkOption {
         type = types.attrs;
         default = {};
-        description = "Extra options merged into the mxisd configuration";
+        description = "Extra options merged into the mxisd/ma1sd configuration";
       };
 
       matrix = {
@@ -62,7 +75,7 @@ in {
           type = types.nullOr types.str;
           default = null;
           description = ''
-            Public hostname of mxisd, if different from the Matrix domain.
+            Public hostname of mxisd/ma1sd, if different from the Matrix domain.
           '';
         };
 
@@ -80,34 +93,32 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.users = [
+    users.users.mxisd =
       {
-        name = "mxisd";
         group = "mxisd";
         home = cfg.dataDir;
         createHome = true;
         shell = "${pkgs.bash}/bin/bash";
         uid = config.ids.uids.mxisd;
-      }
-    ];
+      };
 
-    users.groups = [
+    users.groups.mxisd =
       {
-        name = "mxisd";
         gid = config.ids.gids.mxisd;
-      }
-    ];
+      };
 
     systemd.services.mxisd = {
       description = "a federated identity server for the matrix ecosystem";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      serviceConfig = {
+      serviceConfig = let
+        executable = if isMa1sd cfg.package then "ma1sd" else "mxisd";
+      in {
         Type = "simple";
         User = "mxisd";
         Group = "mxisd";
-        ExecStart = "${cfg.package}/bin/mxisd -c ${configFile}";
+        ExecStart = "${cfg.package}/bin/${executable} -c ${configFile}";
         WorkingDirectory = cfg.dataDir;
         Restart = "on-failure";
       };
diff --git a/nixpkgs/nixos/modules/services/networking/namecoind.nix b/nixpkgs/nixos/modules/services/networking/namecoind.nix
index c8ee0a2f5647..ead7f0859434 100644
--- a/nixpkgs/nixos/modules/services/networking/namecoind.nix
+++ b/nixpkgs/nixos/modules/services/networking/namecoind.nix
@@ -154,16 +154,14 @@ in
       config = ${configFile}
     '';
 
-    users.users = singleton {
-      name = "namecoin";
+    users.users.namecoin = {
       uid  = config.ids.uids.namecoin;
       description = "Namecoin daemon user";
       home = dataDir;
       createHome = true;
     };
 
-    users.groups = singleton {
-      name = "namecoin";
+    users.groups.namecoin = {
       gid  = config.ids.gids.namecoin;
     };
 
@@ -201,4 +199,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/nat.nix b/nixpkgs/nixos/modules/services/networking/nat.nix
index 89d8590093dd..f1238bc6b168 100644
--- a/nixpkgs/nixos/modules/services/networking/nat.nix
+++ b/nixpkgs/nixos/modules/services/networking/nat.nix
@@ -7,29 +7,36 @@
 with lib;
 
 let
-
   cfg = config.networking.nat;
 
   dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}";
 
+  helpers = import ./helpers.nix { inherit config lib; };
+
   flushNat = ''
-    iptables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
-    iptables -w -t nat -F nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ${helpers}
+    ip46tables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
+    ip46tables -w -t nat -F nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -D OUTPUT -j nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-out 2>/dev/null || true
 
     ${cfg.extraStopCommands}
   '';
 
   setupNat = ''
+    ${helpers}
     # Create subchain where we store rules
-    iptables -w -t nat -N nixos-nat-pre
-    iptables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-pre
+    ip46tables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-out
 
     # We can't match on incoming interface in POSTROUTING, so
-    # mark packets coming from the external interfaces.
+    # mark packets coming from the internal interfaces.
     ${concatMapStrings (iface: ''
       iptables -w -t nat -A nixos-nat-pre \
         -i '${iface}' -j MARK --set-mark 1
@@ -88,8 +95,9 @@ let
     ${cfg.extraCommands}
 
     # Append our chains to the nat tables
-    iptables -w -t nat -A PREROUTING -j nixos-nat-pre
-    iptables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A PREROUTING -j nixos-nat-pre
+    ip46tables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A OUTPUT -j nixos-nat-out
   '';
 
 in
diff --git a/nixpkgs/nixos/modules/services/networking/networkmanager.nix b/nixpkgs/nixos/modules/services/networking/networkmanager.nix
index 887c89ddf3ab..e817f295a445 100644
--- a/nixpkgs/nixos/modules/services/networking/networkmanager.nix
+++ b/nixpkgs/nixos/modules/services/networking/networkmanager.nix
@@ -5,13 +5,21 @@ with lib;
 let
   cfg = config.networking.networkmanager;
 
-  dynamicHostsEnabled =
-    cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {};
+  basePackages = with pkgs; [
+    crda
+    modemmanager
+    networkmanager
+    networkmanager-fortisslvpn
+    networkmanager-iodine
+    networkmanager-l2tp
+    networkmanager-openconnect
+    networkmanager-openvpn
+    networkmanager-vpnc
+   ] ++ optional (!delegateWireless && !enableIwd) wpa_supplicant;
 
   delegateWireless = config.networking.wireless.enable == true && cfg.unmanaged != [];
 
-  # /var/lib/misc is for dnsmasq.leases.
-  stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
+  enableIwd = cfg.wifi.backend == "iwd";
 
   configFile = pkgs.writeText "NetworkManager.conf" ''
     [main]
@@ -38,6 +46,7 @@ let
 
     [device]
     wifi.scan-rand-mac-address=${if cfg.wifi.scanRandMacAddress then "yes" else "no"}
+    wifi.backend=${cfg.wifi.backend}
 
     ${cfg.extraConfig}
   '';
@@ -176,30 +185,18 @@ in {
         '';
       };
 
-      # Ugly hack for using the correct gnome3 packageSet
-      basePackages = mkOption {
-        type = types.attrsOf types.package;
-        default = { inherit (pkgs)
-                            networkmanager modemmanager crda
-                            networkmanager-openvpn networkmanager-vpnc
-                            networkmanager-openconnect networkmanager-fortisslvpn
-                            networkmanager-l2tp networkmanager-iodine; }
-                  // optionalAttrs (!delegateWireless) { inherit (pkgs) wpa_supplicant; };
-        internal = true;
-      };
-
       packages = mkOption {
-        type = types.listOf types.path;
+        type = types.listOf types.package;
         default = [ ];
         description = ''
           Extra packages that provide NetworkManager plugins.
         '';
-        apply = list: (attrValues cfg.basePackages) ++ list;
+        apply = list: basePackages ++ list;
       };
 
       dhcp = mkOption {
         type = types.enum [ "dhclient" "dhcpcd" "internal" ];
-        default = "dhclient";
+        default = "internal";
         description = ''
           Which program (or internal library) should be used for DHCP.
         '';
@@ -236,6 +233,15 @@ in {
       wifi = {
         macAddress = macAddressOpt;
 
+        backend = mkOption {
+          type = types.enum [ "wpa_supplicant" "iwd" ];
+          default = "wpa_supplicant";
+          description = ''
+            Specify the Wi-Fi backend used for the device.
+            Currently supported are <option>wpa_supplicant</option> or <option>iwd</option> (experimental).
+          '';
+        };
+
         powersave = mkOption {
           type = types.nullOr types.bool;
           default = null;
@@ -302,6 +308,7 @@ in {
 
                 if [ "$2" != "up" ]; then
                     logger "exit: event $2 != up"
+                    exit
                 fi
 
                 # coreutils and iproute are in PATH too
@@ -326,55 +333,21 @@ in {
           so you don't need to to that yourself.
         '';
       };
-
-      dynamicHosts = {
-        enable = mkOption {
-          type = types.bool;
-          default = false;
-          description = ''
-            Enabling this option requires the
-            <option>networking.networkmanager.dns</option> option to be
-            set to <literal>dnsmasq</literal>. If enabled, the directories
-            defined by the
-            <option>networking.networkmanager.dynamicHosts.hostsDirs</option>
-            option will be set up when the service starts. The dnsmasq instance
-            managed by NetworkManager will then watch those directories for
-            hosts files (see the <literal>--hostsdir</literal> option of
-            dnsmasq). This way a non-privileged user can add or override DNS
-            entries on the local system (depending on what hosts directories
-            that are configured)..
-          '';
-        };
-        hostsDirs = mkOption {
-          type = with types; attrsOf (submodule {
-            options = {
-              user = mkOption {
-                type = types.str;
-                default = "root";
-                description = ''
-                  The user that will own the hosts directory.
-                '';
-              };
-              group = mkOption {
-                type = types.str;
-                default = "root";
-                description = ''
-                  The group that will own the hosts directory.
-                '';
-              };
-            };
-          });
-          default = {};
-          description = ''
-            Defines a set of directories (relative to
-            <literal>/run/NetworkManager/hostdirs</literal>) that dnsmasq will
-            watch for hosts files.
-          '';
-        };
-      };
     };
   };
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
+    (mkRemovedOptionModule ["networking" "networkmanager" "dynamicHosts"] ''
+      This option was removed because allowing (multiple) regular users to
+      override host entries affecting the whole system opens up a huge attack
+      vector. There seem to be very rare cases where this might be useful.
+      Consider setting system-wide host entries using networking.hosts, provide
+      them via the DNS server in your network, or use environment.etc
+      to add a file into /etc/NetworkManager/dnsmasq.d reconfiguring hostsdir.
+    '')
+  ];
+
 
   ###### implementation
 
@@ -387,108 +360,90 @@ in {
           Except if you mark some interfaces as <literal>unmanaged</literal> by NetworkManager.
         '';
       }
-      { assertion = !dynamicHostsEnabled || (dynamicHostsEnabled && cfg.dns == "dnsmasq");
-        message = ''
-          To use networking.networkmanager.dynamicHosts you also need to set
-          networking.networkmanager.dns = "dnsmasq"
-        '';
-      }
     ];
 
-    environment.etc = with cfg.basePackages; [
-      { source = configFile;
-        target = "NetworkManager/NetworkManager.conf";
-      }
-      { source = "${networkmanager-openvpn}/lib/NetworkManager/VPN/nm-openvpn-service.name";
-        target = "NetworkManager/VPN/nm-openvpn-service.name";
-      }
-      { source = "${networkmanager-vpnc}/lib/NetworkManager/VPN/nm-vpnc-service.name";
-        target = "NetworkManager/VPN/nm-vpnc-service.name";
-      }
-      { source = "${networkmanager-openconnect}/lib/NetworkManager/VPN/nm-openconnect-service.name";
-        target = "NetworkManager/VPN/nm-openconnect-service.name";
-      }
-      { source = "${networkmanager-fortisslvpn}/lib/NetworkManager/VPN/nm-fortisslvpn-service.name";
-        target = "NetworkManager/VPN/nm-fortisslvpn-service.name";
-      }
-      { source = "${networkmanager-l2tp}/lib/NetworkManager/VPN/nm-l2tp-service.name";
-        target = "NetworkManager/VPN/nm-l2tp-service.name";
-      }
-      { source = "${networkmanager-iodine}/lib/NetworkManager/VPN/nm-iodine-service.name";
-        target = "NetworkManager/VPN/nm-iodine-service.name";
+    environment.etc = with pkgs; {
+      "NetworkManager/NetworkManager.conf".source = configFile;
+
+      "NetworkManager/VPN/nm-openvpn-service.name".source =
+        "${networkmanager-openvpn}/lib/NetworkManager/VPN/nm-openvpn-service.name";
+
+      "NetworkManager/VPN/nm-vpnc-service.name".source =
+        "${networkmanager-vpnc}/lib/NetworkManager/VPN/nm-vpnc-service.name";
+
+      "NetworkManager/VPN/nm-openconnect-service.name".source =
+        "${networkmanager-openconnect}/lib/NetworkManager/VPN/nm-openconnect-service.name";
+
+      "NetworkManager/VPN/nm-fortisslvpn-service.name".source =
+        "${networkmanager-fortisslvpn}/lib/NetworkManager/VPN/nm-fortisslvpn-service.name";
+
+      "NetworkManager/VPN/nm-l2tp-service.name".source =
+        "${networkmanager-l2tp}/lib/NetworkManager/VPN/nm-l2tp-service.name";
+
+      "NetworkManager/VPN/nm-iodine-service.name".source =
+        "${networkmanager-iodine}/lib/NetworkManager/VPN/nm-iodine-service.name";
       }
-    ] ++ optional (cfg.appendNameservers != [] || cfg.insertNameservers != [])
-           { source = overrideNameserversScript;
-             target = "NetworkManager/dispatcher.d/02overridedns";
-           }
-      ++ lib.imap1 (i: s: {
-        inherit (s) source;
-        target = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}";
-        mode = "0544";
-      }) cfg.dispatcherScripts
-      ++ optional dynamicHostsEnabled
-           { target = "NetworkManager/dnsmasq.d/dyndns.conf";
-             text = concatMapStrings (n: ''
-               hostsdir=/run/NetworkManager/hostsdirs/${n}
-             '') (attrNames cfg.dynamicHosts.hostsDirs);
-           }
-      ++ optional cfg.enableStrongSwan
-           { source = "${pkgs.networkmanager_strongswan}/lib/NetworkManager/VPN/nm-strongswan-service.name";
-             target = "NetworkManager/VPN/nm-strongswan-service.name";
-           };
+      // optionalAttrs (cfg.appendNameservers != [] || cfg.insertNameservers != [])
+         {
+           "NetworkManager/dispatcher.d/02overridedns".source = overrideNameserversScript;
+         }
+      // optionalAttrs cfg.enableStrongSwan
+         {
+           "NetworkManager/VPN/nm-strongswan-service.name".source =
+             "${pkgs.networkmanager_strongswan}/lib/NetworkManager/VPN/nm-strongswan-service.name";
+         }
+      // listToAttrs (lib.imap1 (i: s:
+         {
+            name = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}";
+            value = { mode = "0544"; inherit (s) source; };
+         }) cfg.dispatcherScripts);
 
     environment.systemPackages = cfg.packages;
 
-    users.groups = [{
-      name = "networkmanager";
-      gid = config.ids.gids.networkmanager;
-    }
-    {
-      name = "nm-openvpn";
-      gid = config.ids.gids.nm-openvpn;
-    }];
-    users.users = [{
-      name = "nm-openvpn";
-      uid = config.ids.uids.nm-openvpn;
-      extraGroups = [ "networkmanager" ];
-    }
-    {
-      name = "nm-iodine";
-      isSystemUser = true;
-      group = "networkmanager";
-    }];
+    users.groups = {
+      networkmanager.gid = config.ids.gids.networkmanager;
+      nm-openvpn.gid = config.ids.gids.nm-openvpn;
+    };
+
+    users.users = {
+      nm-openvpn = {
+        uid = config.ids.uids.nm-openvpn;
+        extraGroups = [ "networkmanager" ];
+      };
+      nm-iodine = {
+        isSystemUser = true;
+        group = "networkmanager";
+      };
+    };
 
     systemd.packages = cfg.packages;
 
+    systemd.tmpfiles.rules = [
+      "d /etc/NetworkManager/system-connections 0700 root root -"
+      "d /etc/ipsec.d 0700 root root -"
+      "d /var/lib/NetworkManager-fortisslvpn 0700 root root -"
+
+      "d /var/lib/dhclient 0755 root root -"
+      "d /var/lib/misc 0755 root root -" # for dnsmasq.leases
+    ];
+
     systemd.services.NetworkManager = {
       wantedBy = [ "network.target" ];
       restartTriggers = [ configFile ];
 
-      preStart = ''
-        mkdir -m 700 -p /etc/NetworkManager/system-connections
-        mkdir -m 700 -p /etc/ipsec.d
-        mkdir -m 755 -p ${stateDirs}
-      '';
+      aliases = [ "dbus-org.freedesktop.NetworkManager.service" ];
+
+      serviceConfig = {
+        StateDirectory = "NetworkManager";
+        StateDirectoryMode = 755; # not sure if this really needs to be 755
+      };
     };
 
     systemd.services.NetworkManager-wait-online = {
       wantedBy = [ "network-online.target" ];
     };
 
-    systemd.services.nm-setup-hostsdirs = mkIf dynamicHostsEnabled {
-      wantedBy = [ "NetworkManager.service" ];
-      before = [ "NetworkManager.service" ];
-      partOf = [ "NetworkManager.service" ];
-      script = concatStrings (mapAttrsToList (n: d: ''
-        mkdir -p "/run/NetworkManager/hostsdirs/${n}"
-        chown "${d.user}:${d.group}" "/run/NetworkManager/hostsdirs/${n}"
-        chmod 0775 "/run/NetworkManager/hostsdirs/${n}"
-      '') cfg.dynamicHosts.hostsDirs);
-      serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = true;
-      };
-    };
+    systemd.services.ModemManager.aliases = [ "dbus-org.freedesktop.ModemManager1.service" ];
 
     systemd.services.NetworkManager-dispatcher = {
       wantedBy = [ "network.target" ];
@@ -496,16 +451,23 @@ in {
 
       # useful binaries for user-specified hooks
       path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ];
+      aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ];
     };
 
     # Turn off NixOS' network management when networking is managed entirely by NetworkManager
-    networking = (mkIf (!delegateWireless) {
-      useDHCP = false;
-      # Use mkDefault to trigger the assertion about the conflict above
-      wireless.enable = mkDefault false;
-    }) // (mkIf cfg.enableStrongSwan {
-      networkmanager.packages = [ pkgs.networkmanager_strongswan ];
-    });
+    networking = mkMerge [
+      (mkIf (!delegateWireless) {
+        useDHCP = false;
+      })
+
+      (mkIf cfg.enableStrongSwan {
+        networkmanager.packages = [ pkgs.networkmanager_strongswan ];
+      })
+
+      (mkIf enableIwd {
+        wireless.iwd.enable = true;
+      })
+    ];
 
     security.polkit.extraConfig = polkitConf;
 
diff --git a/nixpkgs/nixos/modules/services/networking/nghttpx/default.nix b/nixpkgs/nixos/modules/services/networking/nghttpx/default.nix
index d6e1906e3881..881a2670f5db 100644
--- a/nixpkgs/nixos/modules/services/networking/nghttpx/default.nix
+++ b/nixpkgs/nixos/modules/services/networking/nghttpx/default.nix
@@ -96,6 +96,7 @@ in
     users.groups.nghttpx = { };
     users.users.nghttpx = {
       group = config.users.groups.nghttpx.name;
+      isSystemUser = true;
     };
       
 
diff --git a/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix b/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
index d24d6f77a491..cc061bf6e3b9 100644
--- a/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
+++ b/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
@@ -210,9 +210,8 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = proxyUser;
-        uid = config.ids.uids.nntp-proxy;
+    users.users.${proxyUser} =
+      { uid = config.ids.uids.nntp-proxy;
         description = "NNTP-Proxy daemon user";
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/nsd.nix b/nixpkgs/nixos/modules/services/networking/nsd.nix
index bc0966e6b8e6..344396638a6c 100644
--- a/nixpkgs/nixos/modules/services/networking/nsd.nix
+++ b/nixpkgs/nixos/modules/services/networking/nsd.nix
@@ -899,13 +899,9 @@ in
 
     environment.systemPackages = [ nsdPkg ];
 
-    users.groups = singleton {
-      name = username;
-      gid = config.ids.gids.nsd;
-    };
+    users.groups.${username}.gid = config.ids.gids.nsd;
 
-    users.users = singleton {
-      name = username;
+    users.users.${username} = {
       description = "NSD service user";
       home = stateDir;
       createHome  = true;
diff --git a/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix b/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
index c74476c7a155..da9d960cc142 100644
--- a/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
+++ b/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
@@ -79,14 +79,10 @@ in
 
     environment.systemPackages = [ pkgs.chrony ];
 
-    users.groups = singleton
-      { name = "chrony";
-        gid = config.ids.gids.chrony;
-      };
+    users.groups.chrony.gid = config.ids.gids.chrony;
 
-    users.users = singleton
-      { name = "chrony";
-        uid = config.ids.uids.chrony;
+    users.users.chrony =
+      { uid = config.ids.uids.chrony;
         group = "chrony";
         description = "chrony daemon user";
         home = stateDir;
diff --git a/nixpkgs/nixos/modules/services/networking/ntp/ntpd.nix b/nixpkgs/nixos/modules/services/networking/ntp/ntpd.nix
index 1197c84f0459..b5403cb747d0 100644
--- a/nixpkgs/nixos/modules/services/networking/ntp/ntpd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ntp/ntpd.nix
@@ -104,9 +104,8 @@ in
 
     systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service"; };
 
-    users.users = singleton
-      { name = ntpUser;
-        uid = config.ids.uids.ntp;
+    users.users.${ntpUser} =
+      { uid = config.ids.uids.ntp;
         description = "NTP daemon user";
         home = stateDir;
       };
diff --git a/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix b/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
index 471d15b1687b..67a04d48d308 100644
--- a/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
@@ -60,8 +60,7 @@ in
 
     environment.etc."ntpd.conf".text = configFile;
 
-    users.users = singleton {
-      name = "ntp";
+    users.users.ntp = {
       uid = config.ids.uids.ntp;
       description = "OpenNTP daemon user";
       home = "/var/empty";
diff --git a/nixpkgs/nixos/modules/services/networking/openvpn.nix b/nixpkgs/nixos/modules/services/networking/openvpn.nix
index 05be97e66a3d..dcd7e9e5fa4c 100644
--- a/nixpkgs/nixos/modules/services/networking/openvpn.nix
+++ b/nixpkgs/nixos/modules/services/networking/openvpn.nix
@@ -73,6 +73,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "openvpn" "enable" ] "")
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/services/networking/owamp.nix b/nixpkgs/nixos/modules/services/networking/owamp.nix
index 821a0258f4be..637ed618b893 100644
--- a/nixpkgs/nixos/modules/services/networking/owamp.nix
+++ b/nixpkgs/nixos/modules/services/networking/owamp.nix
@@ -17,15 +17,13 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
-    users.users = singleton {
-      name = "owamp";
+    users.users.owamp = {
       group = "owamp";
       description = "Owamp daemon";
+      isSystemUser = true;
     };
 
-    users.groups = singleton {
-      name = "owamp";
-    };
+    users.groups.owamp = { };
 
     systemd.services.owamp = {
       description = "Owamp server";
diff --git a/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix b/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
index ebfdd9f35b72..6ff181377fcc 100644
--- a/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
+++ b/nixpkgs/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;
@@ -210,4 +219,6 @@ in {
      "To change extra Recursor settings use services.pdns-recursor.settings instead.")
   ];
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/pdnsd.nix b/nixpkgs/nixos/modules/services/networking/pdnsd.nix
index f5b174dd7b7b..24b5bbc5104e 100644
--- a/nixpkgs/nixos/modules/services/networking/pdnsd.nix
+++ b/nixpkgs/nixos/modules/services/networking/pdnsd.nix
@@ -62,15 +62,13 @@ in
     };
 
   config = mkIf cfg.enable {
-    users.users = singleton {
-      name = pdnsdUser;
+    users.users.${pdnsdUser} = {
       uid = config.ids.uids.pdnsd;
       group = pdnsdGroup;
       description = "pdnsd user";
     };
 
-    users.groups = singleton {
-      name = pdnsdGroup;
+    users.groups.${pdnsdGroup} = {
       gid = config.ids.gids.pdnsd;
     };
 
diff --git a/nixpkgs/nixos/modules/services/networking/polipo.nix b/nixpkgs/nixos/modules/services/networking/polipo.nix
index dbe3b7380970..1ff9388346b6 100644
--- a/nixpkgs/nixos/modules/services/networking/polipo.nix
+++ b/nixpkgs/nixos/modules/services/networking/polipo.nix
@@ -85,17 +85,15 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton
-      { name = "polipo";
-        uid = config.ids.uids.polipo;
+    users.users.polipo =
+      { uid = config.ids.uids.polipo;
         description = "Polipo caching proxy user";
         home = "/var/cache/polipo";
         createHome = true;
       };
 
-    users.groups = singleton
-      { name = "polipo";
-        gid = config.ids.gids.polipo;
+    users.groups.polipo =
+      { gid = config.ids.gids.polipo;
         members = [ "polipo" ];
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/pppd.nix b/nixpkgs/nixos/modules/services/networking/pppd.nix
new file mode 100644
index 000000000000..b31bfa642358
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/pppd.nix
@@ -0,0 +1,136 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.pppd;
+in
+{
+  meta = {
+    maintainers = with maintainers; [ danderson ];
+  };
+
+  options = {
+    services.pppd = {
+      enable = mkEnableOption "pppd";
+
+      package = mkOption {
+        default = pkgs.ppp;
+        defaultText = "pkgs.ppp";
+        type = types.package;
+        description = "pppd package to use.";
+      };
+
+      peers = mkOption {
+        default = {};
+        description = "pppd peers.";
+        type = types.attrsOf (types.submodule (
+          { name, ... }:
+          {
+            options = {
+              name = mkOption {
+                type = types.str;
+                default = name;
+                example = "dialup";
+                description = "Name of the PPP peer.";
+              };
+
+              enable = mkOption {
+                type = types.bool;
+                default = true;
+                example = false;
+                description = "Whether to enable this PPP peer.";
+              };
+
+              autostart = mkOption {
+                type = types.bool;
+                default = true;
+                example = false;
+                description = "Whether the PPP session is automatically started at boot time.";
+              };
+
+              config = mkOption {
+                type = types.lines;
+                default = "";
+                description = "pppd configuration for this peer, see the pppd(8) man page.";
+              };
+            };
+          }));
+      };
+    };
+  };
+
+  config = let
+    enabledConfigs = filter (f: f.enable) (attrValues cfg.peers);
+
+    mkEtc = peerCfg: {
+      name = "ppp/peers/${peerCfg.name}";
+      value.text = peerCfg.config;
+    };
+
+    mkSystemd = peerCfg: {
+      name = "pppd-${peerCfg.name}";
+      value = {
+        restartTriggers = [ config.environment.etc."ppp/peers/${peerCfg.name}".source ];
+        before = [ "network.target" ];
+        wants = [ "network.target" ];
+        after = [ "network-pre.target" ];
+        environment = {
+          # pppd likes to write directly into /var/run. This is rude
+          # on a modern system, so we use libredirect to transparently
+          # move those files into /run/pppd.
+          LD_PRELOAD = "${pkgs.libredirect}/lib/libredirect.so";
+          NIX_REDIRECTS = "/var/run=/run/pppd";
+        };
+        serviceConfig = {
+          ExecStart = "${getBin cfg.package}/sbin/pppd call ${peerCfg.name} nodetach nolog";
+          Restart = "always";
+          RestartSec = 5;
+
+          AmbientCapabilities = "CAP_SYS_TTY_CONFIG CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN";
+          CapabilityBoundingSet = "CAP_SYS_TTY_CONFIG CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN";
+          KeyringMode = "private";
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          NoNewPrivileges = true;
+          PrivateMounts = true;
+          PrivateTmp = true;
+          ProtectControlGroups = true;
+          ProtectHome = true;
+          ProtectHostname = true;
+          ProtectKernelModules = true;
+          # pppd can be configured to tweak kernel settings.
+          ProtectKernelTunables = false;
+          ProtectSystem = "strict";
+          RemoveIPC = true;
+          RestrictAddressFamilies = "AF_PACKET AF_UNIX AF_PPPOX AF_ATMPVC AF_ATMSVC AF_INET AF_INET6 AF_IPX";
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          SecureBits = "no-setuid-fixup-locked noroot-locked";
+          SystemCallFilter = "@system-service";
+          SystemCallArchitectures = "native";
+
+          # All pppd instances on a system must share a runtime
+          # directory in order for PPP multilink to work correctly. So
+          # we give all instances the same /run/pppd directory to store
+          # things in.
+          #
+          # For the same reason, we can't set PrivateUsers=true, because
+          # all instances need to run as the same user to access the
+          # multilink database.
+          RuntimeDirectory = "pppd";
+          RuntimeDirectoryPreserve = true;
+        };
+        wantedBy = mkIf peerCfg.autostart [ "multi-user.target" ];
+      };
+    };
+
+    etcFiles = listToAttrs (map mkEtc enabledConfigs);
+    systemdConfigs = listToAttrs (map mkSystemd enabledConfigs);
+
+  in mkIf cfg.enable {
+    environment.etc = mkMerge etcFiles;
+    systemd.services = mkMerge systemdConfigs;
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/prayer.nix b/nixpkgs/nixos/modules/services/networking/prayer.nix
index c936417e68cb..9c9eeba23da2 100644
--- a/nixpkgs/nixos/modules/services/networking/prayer.nix
+++ b/nixpkgs/nixos/modules/services/networking/prayer.nix
@@ -72,17 +72,14 @@ in
   config = mkIf config.services.prayer.enable {
     environment.systemPackages = [ prayer ];
 
-    users.users = singleton
-      { name = prayerUser;
-        uid = config.ids.uids.prayer;
+    users.users.${prayerUser} =
+      { uid = config.ids.uids.prayer;
         description = "Prayer daemon user";
         home = stateDir;
       };
 
-    users.groups = singleton
-      { name = prayerGroup;
-        gid = config.ids.gids.prayer;
-      };
+    users.groups.${prayerGroup} =
+      { gid = config.ids.gids.prayer; };
 
     systemd.services.prayer = {
       wantedBy = [ "multi-user.target" ];
diff --git a/nixpkgs/nixos/modules/services/networking/privoxy.nix b/nixpkgs/nixos/modules/services/networking/privoxy.nix
index 49ca839a2c37..1f41c720adf5 100644
--- a/nixpkgs/nixos/modules/services/networking/privoxy.nix
+++ b/nixpkgs/nixos/modules/services/networking/privoxy.nix
@@ -109,4 +109,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/quassel.nix b/nixpkgs/nixos/modules/services/networking/quassel.nix
index b495b3948fb5..52ecd90b7c69 100644
--- a/nixpkgs/nixos/modules/services/networking/quassel.nix
+++ b/nixpkgs/nixos/modules/services/networking/quassel.nix
@@ -92,17 +92,21 @@ in
         message = "Quassel needs a certificate file in order to require SSL";
       }];
 
-    users.users = mkIf (cfg.user == null) [
-      { name = "quassel";
+    users.users = optionalAttrs (cfg.user == null) {
+      quassel = {
+        name = "quassel";
         description = "Quassel IRC client daemon";
         group = "quassel";
         uid = config.ids.uids.quassel;
-      }];
+      };
+    };
 
-    users.groups = mkIf (cfg.user == null) [
-      { name = "quassel";
+    users.groups = optionalAttrs (cfg.user == null) {
+      quassel = {
+        name = "quassel";
         gid = config.ids.gids.quassel;
-      }];
+      };
+    };
 
     systemd.tmpfiles.rules = [
       "d '${cfg.dataDir}' - ${user} - - -"
diff --git a/nixpkgs/nixos/modules/services/networking/radicale.nix b/nixpkgs/nixos/modules/services/networking/radicale.nix
index 1daced4a6c70..30bf22586f86 100644
--- a/nixpkgs/nixos/modules/services/networking/radicale.nix
+++ b/nixpkgs/nixos/modules/services/networking/radicale.nix
@@ -59,18 +59,15 @@ in
   config = mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
-    users.users = singleton
-      { name = "radicale";
-        uid = config.ids.uids.radicale;
+    users.users.radicale =
+      { uid = config.ids.uids.radicale;
         description = "radicale user";
         home = "/var/lib/radicale";
         createHome = true;
       };
 
-    users.groups = singleton
-      { name = "radicale";
-        gid = config.ids.gids.radicale;
-      };
+    users.groups.radicale =
+      { gid = config.ids.gids.radicale; };
 
     systemd.services.radicale = {
       description = "A Simple Calendar and Contact Server";
diff --git a/nixpkgs/nixos/modules/services/networking/searx.nix b/nixpkgs/nixos/modules/services/networking/searx.nix
index 9412d0ef8a62..60fb3d5d6d44 100644
--- a/nixpkgs/nixos/modules/services/networking/searx.nix
+++ b/nixpkgs/nixos/modules/services/networking/searx.nix
@@ -75,4 +75,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/shairport-sync.nix b/nixpkgs/nixos/modules/services/networking/shairport-sync.nix
index 68e005ab81da..2e988e0ca2e0 100644
--- a/nixpkgs/nixos/modules/services/networking/shairport-sync.nix
+++ b/nixpkgs/nixos/modules/services/networking/shairport-sync.nix
@@ -55,9 +55,8 @@ in
     services.avahi.publish.enable = true;
     services.avahi.publish.userServices = true;
 
-    users.users = singleton
-      { name = cfg.user;
-        description = "Shairport user";
+    users.users.${cfg.user} =
+      { description = "Shairport user";
         isSystemUser = true;
         createHome = true;
         home = "/var/lib/shairport-sync";
diff --git a/nixpkgs/nixos/modules/services/networking/shorewall.nix b/nixpkgs/nixos/modules/services/networking/shorewall.nix
new file mode 100644
index 000000000000..0f94d414fcf7
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/shorewall.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+let
+  types = lib.types;
+  cfg = config.services.shorewall;
+in {
+  options = {
+    services.shorewall = {
+      enable = lib.mkOption {
+        type        = types.bool;
+        default     = false;
+        description = ''
+          Whether to enable Shorewall IPv4 Firewall.
+          <warning>
+            <para>
+            Enabling this service WILL disable the existing NixOS
+            firewall! Default firewall rules provided by packages are not
+            considered at the moment.
+            </para>
+          </warning>
+        '';
+      };
+      package = lib.mkOption {
+        type        = types.package;
+        default     = pkgs.shorewall;
+        defaultText = "pkgs.shorewall";
+        description = "The shorewall package to use.";
+      };
+      configs = lib.mkOption {
+        type        = types.attrsOf types.str;
+        default     = {};
+        description = ''
+          This option defines the Shorewall configs.
+          The attribute name defines the name of the config,
+          and the attribute value defines the content of the config.
+        '';
+        apply = lib.mapAttrs (name: text: pkgs.writeText "${name}" text);
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.firewall.enable = false;
+    systemd.services.shorewall = {
+      description     = "Shorewall IPv4 Firewall";
+      after           = [ "ipset.target" ];
+      before          = [ "network-pre.target" ];
+      wants           = [ "network-pre.target" ];
+      wantedBy        = [ "multi-user.target" ];
+      reloadIfChanged = true;
+      restartTriggers = lib.attrValues cfg.configs;
+      serviceConfig = {
+        Type            = "oneshot";
+        RemainAfterExit = "yes";
+        ExecStart       = "${cfg.package}/bin/shorewall start";
+        ExecReload      = "${cfg.package}/bin/shorewall reload";
+        ExecStop        = "${cfg.package}/bin/shorewall stop";
+      };
+      preStart = ''
+        install -D -d -m 750 /var/lib/shorewall
+        install -D -d -m 755 /var/lock/subsys
+        touch                /var/log/shorewall.log
+        chown 750            /var/log/shorewall.log
+      '';
+    };
+    environment = {
+      etc = lib.mapAttrsToList
+              (name: file:
+                { source = file;
+                  target = "shorewall/${name}";
+                })
+              cfg.configs;
+      systemPackages = [ cfg.package ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/shorewall6.nix b/nixpkgs/nixos/modules/services/networking/shorewall6.nix
new file mode 100644
index 000000000000..9c22a037c0b4
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/shorewall6.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+let
+  types = lib.types;
+  cfg = config.services.shorewall6;
+in {
+  options = {
+    services.shorewall6 = {
+      enable = lib.mkOption {
+        type        = types.bool;
+        default     = false;
+        description = ''
+          Whether to enable Shorewall IPv6 Firewall.
+          <warning>
+            <para>
+            Enabling this service WILL disable the existing NixOS
+            firewall! Default firewall rules provided by packages are not
+            considered at the moment.
+            </para>
+          </warning>
+        '';
+      };
+      package = lib.mkOption {
+        type        = types.package;
+        default     = pkgs.shorewall;
+        defaultText = "pkgs.shorewall";
+        description = "The shorewall package to use.";
+      };
+      configs = lib.mkOption {
+        type        = types.attrsOf types.str;
+        default     = {};
+        description = ''
+          This option defines the Shorewall configs.
+          The attribute name defines the name of the config,
+          and the attribute value defines the content of the config.
+        '';
+        apply = lib.mapAttrs (name: text: pkgs.writeText "${name}" text);
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.firewall.enable = false;
+    systemd.services.shorewall6 = {
+      description     = "Shorewall IPv6 Firewall";
+      after           = [ "ipset.target" ];
+      before          = [ "network-pre.target" ];
+      wants           = [ "network-pre.target" ];
+      wantedBy        = [ "multi-user.target" ];
+      reloadIfChanged = true;
+      restartTriggers = lib.attrValues cfg.configs;
+      serviceConfig = {
+        Type            = "oneshot";
+        RemainAfterExit = "yes";
+        ExecStart       = "${cfg.package}/bin/shorewall6 start";
+        ExecReload      = "${cfg.package}/bin/shorewall6 reload";
+        ExecStop        = "${cfg.package}/bin/shorewall6 stop";
+      };
+      preStart = ''
+        install -D -d -m 750 /var/lib/shorewall6
+        install -D -d -m 755 /var/lock/subsys
+        touch                /var/log/shorewall6.log
+        chown 750            /var/log/shorewall6.log
+      '';
+    };
+    environment = {
+      etc = lib.mapAttrsToList
+              (name: file:
+                { source = file;
+                  target = "shorewall6/${name}";
+                })
+              cfg.configs;
+      systemPackages = [ cfg.package ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/shout.nix b/nixpkgs/nixos/modules/services/networking/shout.nix
index e548ec66962a..a808a7f39d05 100644
--- a/nixpkgs/nixos/modules/services/networking/shout.nix
+++ b/nixpkgs/nixos/modules/services/networking/shout.nix
@@ -82,8 +82,7 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.users = singleton {
-      name = "shout";
+    users.users.shout = {
       uid = config.ids.uids.shout;
       description = "Shout daemon user";
       home = shoutHome;
diff --git a/nixpkgs/nixos/modules/services/networking/smokeping.nix b/nixpkgs/nixos/modules/services/networking/smokeping.nix
index d4d0594a9cdd..37ee2a803890 100644
--- a/nixpkgs/nixos/modules/services/networking/smokeping.nix
+++ b/nixpkgs/nixos/modules/services/networking/smokeping.nix
@@ -280,8 +280,7 @@ in
       fping6.source = "${pkgs.fping}/bin/fping6";
     };
     environment.systemPackages = [ pkgs.fping ];
-    users.users = singleton {
-      name = cfg.user;
+    users.users.${cfg.user} = {
       isNormalUser = false;
       isSystemUser = true;
       uid = config.ids.uids.smokeping;
@@ -299,7 +298,8 @@ in
         mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data
         rm -f ${smokepingHome}/cropper
         ln -s ${cfg.package}/htdocs/cropper ${smokepingHome}/cropper
-        cp ${cgiHome} ${smokepingHome}/smokeping.fcgi
+        rm -f ${smokepingHome}/smokeping.fcgi
+        ln -s ${cgiHome} ${smokepingHome}/smokeping.fcgi
         ${cfg.package}/bin/smokeping --check --config=${configPath}
         ${cfg.package}/bin/smokeping --static --config=${configPath}
       '';
@@ -314,5 +314,7 @@ in
       serviceConfig.Restart = "always";
     };
   };
+
+  meta.maintainers = with lib.maintainers; [ erictapen ];
 }
 
diff --git a/nixpkgs/nixos/modules/services/networking/spacecookie.nix b/nixpkgs/nixos/modules/services/networking/spacecookie.nix
new file mode 100644
index 000000000000..c4d06df6ad4a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/spacecookie.nix
@@ -0,0 +1,83 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.spacecookie;
+  configFile = pkgs.writeText "spacecookie.json" (lib.generators.toJSON {} {
+    inherit (cfg) hostname port root;
+  });
+in {
+
+  options = {
+
+    services.spacecookie = {
+
+      enable = mkEnableOption "spacecookie";
+
+      hostname = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "The hostname the service is reachable via. Clients will use this hostname for further requests after loading the initial gopher menu.";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 70;
+        description = "Port the gopher service should be exposed on.";
+      };
+
+      root = mkOption {
+        type = types.path;
+        default = "/srv/gopher";
+        description = "The root directory spacecookie serves via gopher.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.sockets.spacecookie = {
+      description = "Socket for the Spacecookie Gopher Server";
+      wantedBy = [ "sockets.target" ];
+      listenStreams = [ "[::]:${toString cfg.port}" ];
+      socketConfig = {
+        BindIPv6Only = "both";
+      };
+    };
+
+    systemd.services.spacecookie = {
+      description = "Spacecookie Gopher Server";
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "spacecookie.socket" ];
+
+      serviceConfig = {
+        Type = "notify";
+        ExecStart = "${pkgs.haskellPackages.spacecookie}/bin/spacecookie ${configFile}";
+        FileDescriptorStoreMax = 1;
+
+        DynamicUser = true;
+
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        LockPersonality = true;
+        RestrictRealtime = true;
+
+        # AF_UNIX for communication with systemd
+        # AF_INET replaced by BindIPv6Only=both
+        RestrictAddressFamilies = "AF_UNIX AF_INET6";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
index df4fed46d34a..5d5302f76fb4 100644
--- a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
@@ -74,6 +74,10 @@ let
 in
 
 {
+  imports = [
+    (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
+    (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
+  ];
 
   ###### interface
 
diff --git a/nixpkgs/nixos/modules/services/networking/stunnel.nix b/nixpkgs/nixos/modules/services/networking/stunnel.nix
index cbc899f2b4d7..ab51bba2f6ac 100644
--- a/nixpkgs/nixos/modules/services/networking/stunnel.nix
+++ b/nixpkgs/nixos/modules/services/networking/stunnel.nix
@@ -57,7 +57,13 @@ let
       };
 
       CAPath = mkOption {
-        type = types.path;
+        type = types.nullOr types.path;
+        default = null;
+        description = "Path to a directory containing certificates to validate against.";
+      };
+
+      CAFile = mkOption {
+        type = types.nullOr types.path;
         default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
         description = "Path to a file containing certificates to validate against.";
       };
@@ -196,6 +202,7 @@ in
                verifyChain = ${yesNo v.verifyChain}
                verifyPeer = ${yesNo v.verifyPeer}
                ${optionalString (v.CAPath != null) "CApath = ${v.CAPath}"}
+               ${optionalString (v.CAFile != null) "CAFile = ${v.CAFile}"}
                ${optionalString (v.verifyHostname != null) "checkHost = ${v.verifyHostname}"}
                OCSPaia = yes
 
@@ -216,6 +223,12 @@ in
       };
     };
 
+    meta.maintainers = with maintainers; [
+      # Server side
+      lschuermann
+      # Client side
+      das_j
+    ];
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/networking/supybot.nix b/nixpkgs/nixos/modules/services/networking/supybot.nix
index 64eb11068329..92c84bd0e1e2 100644
--- a/nixpkgs/nixos/modules/services/networking/supybot.nix
+++ b/nixpkgs/nixos/modules/services/networking/supybot.nix
@@ -45,8 +45,7 @@ in
 
     environment.systemPackages = [ pkgs.pythonPackages.limnoria ];
 
-    users.users = singleton {
-      name = "supybot";
+    users.users.supybotrs = {
       uid = config.ids.uids.supybot;
       group = "supybot";
       description = "Supybot IRC bot user";
@@ -55,7 +54,6 @@ in
     };
 
     users.groups.supybot = {
-      name = "supybot";
       gid = config.ids.gids.supybot;
     };
 
diff --git a/nixpkgs/nixos/modules/services/networking/syncthing.nix b/nixpkgs/nixos/modules/services/networking/syncthing.nix
index 165fd5970cf8..47b10e408c02 100644
--- a/nixpkgs/nixos/modules/services/networking/syncthing.nix
+++ b/nixpkgs/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
@@ -111,12 +112,12 @@ in {
               addresses = [ "tcp://192.168.0.10:51820" ];
             };
           };
-          type = types.attrsOf (types.submodule ({ config, ... }: {
+          type = types.attrsOf (types.submodule ({ name, ... }: {
             options = {
 
               name = mkOption {
                 type = types.str;
-                default = config._module.args.name;
+                default = name;
                 description = ''
                   Name of the device
                 '';
@@ -174,7 +175,7 @@ in {
               devices = [ "bigbox" ];
             };
           };
-          type = types.attrsOf (types.submodule ({ config, ... }: {
+          type = types.attrsOf (types.submodule ({ name, ... }: {
             options = {
 
               enable = mkOption {
@@ -189,7 +190,7 @@ in {
 
               path = mkOption {
                 type = types.str;
-                default = config._module.args.name;
+                default = name;
                 description = ''
                   The path to the folder which should be shared.
                 '';
@@ -197,7 +198,7 @@ in {
 
               id = mkOption {
                 type = types.str;
-                default = config._module.args.name;
+                default = name;
                 description = ''
                   The id of the folder. Must be the same on all devices.
                 '';
@@ -205,7 +206,7 @@ in {
 
               label = mkOption {
                 type = types.str;
-                default = config._module.args.name;
+                default = name;
                 description = ''
                   The label of the folder.
                 '';
@@ -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/nixpkgs/nixos/modules/services/networking/tcpcrypt.nix b/nixpkgs/nixos/modules/services/networking/tcpcrypt.nix
index a0ccb9950094..18f2e135124b 100644
--- a/nixpkgs/nixos/modules/services/networking/tcpcrypt.nix
+++ b/nixpkgs/nixos/modules/services/networking/tcpcrypt.nix
@@ -29,8 +29,7 @@ in
 
   config = mkIf cfg.enable {
 
-    users.users = singleton {
-      name = "tcpcryptd";
+    users.users.tcpcryptd = {
       uid = config.ids.uids.tcpcryptd;
       description = "tcpcrypt daemon user";
     };
diff --git a/nixpkgs/nixos/modules/services/networking/thelounge.nix b/nixpkgs/nixos/modules/services/networking/thelounge.nix
index b1d23372955e..875d8f661697 100644
--- a/nixpkgs/nixos/modules/services/networking/thelounge.nix
+++ b/nixpkgs/nixos/modules/services/networking/thelounge.nix
@@ -56,6 +56,7 @@ in {
     users.users.thelounge = {
       description = "thelounge service user";
       group = "thelounge";
+      isSystemUser = true;
     };
     users.groups.thelounge = {};
     systemd.services.thelounge = {
diff --git a/nixpkgs/nixos/modules/services/networking/tinydns.nix b/nixpkgs/nixos/modules/services/networking/tinydns.nix
index 7d5db71601ef..79507b2ebcdd 100644
--- a/nixpkgs/nixos/modules/services/networking/tinydns.nix
+++ b/nixpkgs/nixos/modules/services/networking/tinydns.nix
@@ -32,11 +32,12 @@ with lib;
   config = mkIf config.services.tinydns.enable {
     environment.systemPackages = [ pkgs.djbdns ];
 
-    users.users.tinydns = {};
+    users.users.tinydns.isSystemUser = true;
 
     systemd.services.tinydns = {
       description = "djbdns tinydns server";
       wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
       path = with pkgs; [ daemontools djbdns ];
       preStart = ''
         rm -rf /var/lib/tinydns
diff --git a/nixpkgs/nixos/modules/services/networking/tox-bootstrapd.nix b/nixpkgs/nixos/modules/services/networking/tox-bootstrapd.nix
index 1d3492151690..f88e34827d00 100644
--- a/nixpkgs/nixos/modules/services/networking/tox-bootstrapd.nix
+++ b/nixpkgs/nixos/modules/services/networking/tox-bootstrapd.nix
@@ -56,9 +56,8 @@ in
 
   config = mkIf config.services.toxBootstrapd.enable {
 
-    users.users = singleton
-      { name = "tox-bootstrapd";
-        uid = config.ids.uids.tox-bootstrapd;
+    users.users.tox-bootstrapd =
+      { uid = config.ids.uids.tox-bootstrapd;
         description = "Tox bootstrap daemon user";
         inherit home;
         createHome = true;
diff --git a/nixpkgs/nixos/modules/services/networking/trickster.nix b/nixpkgs/nixos/modules/services/networking/trickster.nix
new file mode 100644
index 000000000000..8760dd5a9382
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/trickster.nix
@@ -0,0 +1,112 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.trickster;
+in
+{
+
+  options = {
+    services.trickster = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable Trickster.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.trickster;
+        defaultText = "pkgs.trickster";
+        description = ''
+          Package that should be used for trickster.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to configuration file.
+        '';
+      };
+
+      instance-id = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Instance ID for when running multiple processes (default null).
+        '';
+      };
+
+      log-level = mkOption {
+        type = types.str;
+        default = "info";
+        description = ''
+          Level of Logging to use (debug, info, warn, error) (default "info").
+        '';
+      };
+
+      metrics-port = mkOption {
+        type = types.port;
+        default = 8082;
+        description = ''
+          Port that the /metrics endpoint will listen on.
+        '';
+      };
+
+      origin = mkOption {
+        type = types.str;
+        default = "http://prometheus:9090";
+        description = ''
+          URL to the Prometheus Origin. Enter it like you would in grafana, e.g., http://prometheus:9090 (default http://prometheus:9090).
+        '';
+      };
+
+      profiler-port = mkOption {
+        type = types.nullOr types.port;
+        default = null;
+        description = ''
+          Port that the /debug/pprof endpoint will listen on.
+        '';
+      };
+
+      proxy-port = mkOption {
+        type = types.port;
+        default = 9090;
+        description = ''
+          Port that the Proxy server will listen on.
+        '';
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.trickster = {
+      description = "Dashboard Accelerator for Prometheus";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        ExecStart = ''
+          ${cfg.package}/bin/trickster \
+          -log-level ${cfg.log-level} \
+          -metrics-port ${toString cfg.metrics-port} \
+          -origin ${cfg.origin} \
+          -proxy-port ${toString cfg.proxy-port} \
+          ${optionalString (cfg.configFile != null) "-config ${cfg.configFile}"} \
+          ${optionalString (cfg.profiler-port != null) "-profiler-port ${cfg.profiler-port}"} \
+          ${optionalString (cfg.instance-id != null) "-instance-id ${cfg.instance-id}"}
+        '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        Restart = "always";
+      };
+    };
+
+  };  
+}
+
diff --git a/nixpkgs/nixos/modules/services/networking/unbound.nix b/nixpkgs/nixos/modules/services/networking/unbound.nix
index 3cf82e8839bb..baed83591e1e 100644
--- a/nixpkgs/nixos/modules/services/networking/unbound.nix
+++ b/nixpkgs/nixos/modules/services/networking/unbound.nix
@@ -53,6 +53,13 @@ in
 
       enable = mkEnableOption "Unbound domain name server";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.unbound;
+        defaultText = "pkgs.unbound";
+        description = "The unbound package to use";
+      };
+
       allowedAccess = mkOption {
         default = [ "127.0.0.0/24" ];
         type = types.listOf types.str;
@@ -94,7 +101,7 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.unbound ];
+    environment.systemPackages = [ cfg.package ];
 
     users.users.unbound = {
       description = "unbound daemon user";
@@ -114,7 +121,7 @@ in
         mkdir -m 0755 -p ${stateDir}/dev/
         cp ${confFile} ${stateDir}/unbound.conf
         ${optionalString cfg.enableRootTrustAnchor ''
-          ${pkgs.unbound}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
+          ${cfg.package}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
           chown unbound ${stateDir} ${rootTrustAnchorFile}
         ''}
         touch ${stateDir}/dev/random
@@ -122,7 +129,7 @@ in
       '';
 
       serviceConfig = {
-        ExecStart = "${pkgs.unbound}/bin/unbound -d -c ${stateDir}/unbound.conf";
+        ExecStart = "${cfg.package}/bin/unbound -d -c ${stateDir}/unbound.conf";
         ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random";
 
         ProtectSystem = true;
diff --git a/nixpkgs/nixos/modules/services/networking/v2ray.nix b/nixpkgs/nixos/modules/services/networking/v2ray.nix
new file mode 100644
index 000000000000..a1774cdffbb9
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/v2ray.nix
@@ -0,0 +1,81 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  options = {
+
+    services.v2ray = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run v2ray server.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/etc/v2ray/config.json";
+        description = ''
+          The absolute path to the configuration file.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+
+      config = mkOption {
+        type = types.nullOr (types.attrsOf types.unspecified);
+        default = null;
+        example = {
+          inbounds = [{
+            port = 1080;
+            listen = "127.0.0.1";
+            protocol = "http";
+          }];
+          outbounds = [{
+            protocol = "freedom";
+          }];
+        };
+        description = ''
+          The configuration object.
+
+          Either `configFile` or `config` must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+    };
+
+  };
+
+  config = let
+    cfg = config.services.v2ray;
+    configFile = if cfg.configFile != null
+      then cfg.configFile
+      else (pkgs.writeText "v2ray.json" (builtins.toJSON cfg.config));
+
+  in mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = (cfg.configFile == null) != (cfg.config == null);
+        message = "Either but not both `configFile` and `config` should be specified for v2ray.";
+      }
+    ];
+
+    systemd.services.v2ray = {
+      description = "v2ray Daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.v2ray ];
+      script = ''
+        exec v2ray -config ${configFile}
+      '';
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/vsftpd.nix b/nixpkgs/nixos/modules/services/networking/vsftpd.nix
index 67be60da5673..47990dbb3772 100644
--- a/nixpkgs/nixos/modules/services/networking/vsftpd.nix
+++ b/nixpkgs/nixos/modules/services/networking/vsftpd.nix
@@ -34,6 +34,15 @@ let
   };
 
   optionDescription = [
+    (yesNoOption "allowWriteableChroot" "allow_writeable_chroot" false ''
+      Allow the use of writeable root inside chroot().
+    '')
+    (yesNoOption "virtualUseLocalPrivs" "virtual_use_local_privs" false ''
+      If enabled, virtual users will use the same privileges as local
+      users. By default, virtual users will use the same privileges as
+      anonymous users, which tends to be more restrictive (especially
+      in terms of write access).
+    '')
     (yesNoOption "anonymousUser" "anonymous_enable" false ''
       Whether to enable the anonymous FTP user.
     '')
@@ -76,9 +85,21 @@ let
       outgoing data connections can only connect to the client. Only enable if you
       know what you are doing!
     '')
-    (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  '' '')
-    (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '')
-    (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '')
+    (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit TLS v1 protocol connections.
+      TLS v1 connections are preferred.
+    '')
+    (yesNoOption "ssl_sslv2" "ssl_sslv2" false ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit SSL v2 protocol connections.
+      TLS v1 connections are preferred.
+    '')
+    (yesNoOption "ssl_sslv3" "ssl_sslv3" false ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit SSL v3 protocol connections.
+      TLS v1 connections are preferred.
+    '')
   ];
 
   configFile = pkgs.writeText "vsftpd.conf"
@@ -98,6 +119,9 @@ let
       listen=YES
       nopriv_user=vsftpd
       secure_chroot_dir=/var/empty
+      ${optionalString (cfg.localRoot != null) ''
+        local_root=${cfg.localRoot}
+      ''}
       syslog_enable=YES
       ${optionalString (pkgs.stdenv.hostPlatform.system == "x86_64-linux") ''
         seccomp_sandbox=NO
@@ -106,6 +130,11 @@ let
       ${optionalString cfg.anonymousUser ''
         anon_root=${cfg.anonymousUserHome}
       ''}
+      ${optionalString cfg.enableVirtualUsers ''
+        guest_enable=YES
+        guest_username=vsftpd
+        pam_service_name=vsftpd
+      ''}
       ${cfg.extraConfig}
     '';
 
@@ -119,10 +148,7 @@ in
 
     services.vsftpd = {
 
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable the vsftpd FTP server.";
-      };
+      enable = mkEnableOption "vsftpd";
 
       userlist = mkOption {
         default = [];
@@ -143,6 +169,61 @@ in
         '';
       };
 
+      enableVirtualUsers = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the <literal>pam_userdb</literal>-based
+          virtual user system
+        '';
+      };
+
+      userDbPath = mkOption {
+        type = types.nullOr types.str;
+        example = "/etc/vsftpd/userDb";
+        default = null;
+        description = ''
+          Only applies if <option>enableVirtualUsers</option> is true.
+          Path pointing to the <literal>pam_userdb</literal> user
+          database used by vsftpd to authenticate the virtual users.
+
+          This user list should be stored in the Berkeley DB database
+          format.
+
+          To generate a new user database, create a text file, add
+          your users using the following format:
+          <programlisting>
+          user1
+          password1
+          user2
+          password2
+          </programlisting>
+
+          You can then install <literal>pkgs.db</literal> to generate
+          the Berkeley DB using
+          <programlisting>
+          db_load -T -t hash -f logins.txt userDb.db
+          </programlisting>
+
+          Caution: <literal>pam_userdb</literal> will automatically
+          append a <literal>.db</literal> suffix to the filename you
+          provide though this option. This option shouldn't include
+          this filetype suffix.
+        '';
+      };
+
+      localRoot = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/var/www/$USER";
+        description = ''
+          This option represents a directory which vsftpd will try to
+          change into after a local (i.e. non- anonymous) login.
+
+          Failure is silently ignored.
+        '';
+      };
+
       anonymousUserHome = mkOption {
         type = types.path;
         default = "/home/ftp/";
@@ -186,26 +267,34 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = singleton
+    assertions = [
       { assertion =
               (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null)
           &&  (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null);
         message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!";
+      }
+      {
+        assertion = (cfg.enableVirtualUsers -> cfg.userDbPath != null)
+                 && (cfg.enableVirtualUsers -> cfg.localUsers != null);
+        message = "vsftpd: If enableVirtualUsers is true, you need to setup both the userDbPath and localUsers options.";
+      }];
+
+    users.users = {
+      "vsftpd" = {
+        uid = config.ids.uids.vsftpd;
+        description = "VSFTPD user";
+        home = if cfg.localRoot != null
+               then cfg.localRoot # <= Necessary for virtual users.
+               else "/homeless-shelter";
       };
-
-    users.users =
-      [ { name = "vsftpd";
-          uid = config.ids.uids.vsftpd;
-          description = "VSFTPD user";
-          home = "/homeless-shelter";
-        }
-      ] ++ optional cfg.anonymousUser
-        { name = "ftp";
+    } // optionalAttrs cfg.anonymousUser {
+      "ftp" = { name = "ftp";
           uid = config.ids.uids.ftp;
           group = "ftp";
           description = "Anonymous FTP user";
           home = cfg.anonymousUserHome;
         };
+    };
 
     users.groups.ftp.gid = config.ids.gids.ftp;
 
@@ -213,23 +302,24 @@ in
     # = false and whitelist root
     services.vsftpd.userlist = if cfg.userlistDeny then ["root"] else [];
 
-    systemd.services.vsftpd =
-      { description = "Vsftpd Server";
+    systemd = {
+      tmpfiles.rules = optional cfg.anonymousUser
+        #Type Path                       Mode User   Gr    Age Arg
+        "d    '${builtins.toString cfg.anonymousUserHome}' 0555 'ftp'  'ftp' -   -";
+      services.vsftpd = {
+        description = "Vsftpd Server";
 
         wantedBy = [ "multi-user.target" ];
 
-        preStart =
-          optionalString cfg.anonymousUser
-            ''
-              mkdir -p -m 555 ${cfg.anonymousUserHome}
-              chown -R ftp:ftp ${cfg.anonymousUserHome}
-            '';
-
         serviceConfig.ExecStart = "@${vsftpd}/sbin/vsftpd vsftpd ${configFile}";
         serviceConfig.Restart = "always";
         serviceConfig.Type = "forking";
       };
+    };
 
+    security.pam.services.vsftpd.text = mkIf (cfg.enableVirtualUsers && cfg.userDbPath != null)''
+      auth required pam_userdb.so db=${cfg.userDbPath}
+      account required pam_userdb.so db=${cfg.userDbPath}
+    '';
   };
-
 }
diff --git a/nixpkgs/nixos/modules/services/networking/wireguard.nix b/nixpkgs/nixos/modules/services/networking/wireguard.nix
index 4176da2c8cb8..980961225c9e 100644
--- a/nixpkgs/nixos/modules/services/networking/wireguard.nix
+++ b/nixpkgs/nixos/modules/services/networking/wireguard.nix
@@ -112,6 +112,32 @@ let
           Determines whether to add allowed IPs as routes or not.
         '';
       };
+
+      socketNamespace = mkOption {
+        default = null;
+        type = with types; nullOr str;
+        example = "container";
+        description = ''The pre-existing network namespace in which the
+        WireGuard interface is created, and which retains the socket even if the
+        interface is moved via <option>interfaceNamespace</option>. When
+        <literal>null</literal>, the interface is created in the init namespace.
+        See <link
+        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        '';
+      };
+
+      interfaceNamespace = mkOption {
+        default = null;
+        type = with types; nullOr str;
+        example = "init";
+        description = ''The pre-existing network namespace the WireGuard
+        interface is moved to. The special value <literal>init</literal> means
+        the init namespace. When <literal>null</literal>, the interface is not
+        moved.
+        See <link
+        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        '';
+      };
     };
 
   };
@@ -239,6 +265,10 @@ let
         if peer.presharedKey != null
           then pkgs.writeText "wg-psk" peer.presharedKey
           else peer.presharedKeyFile;
+      src = interfaceCfg.socketNamespace;
+      dst = interfaceCfg.interfaceNamespace;
+      ip = nsWrap "ip" src dst;
+      wg = nsWrap "wg" src dst;
     in nameValuePair "wireguard-${interfaceName}-peer-${unitName}"
       {
         description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}";
@@ -255,16 +285,16 @@ let
         };
 
         script = let
-          wg_setup = "wg set ${interfaceName} peer ${peer.publicKey}" +
+          wg_setup = "${wg} set ${interfaceName} peer ${peer.publicKey}" +
             optionalString (psk != null) " preshared-key ${psk}" +
             optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" +
             optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" +
             optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}";
           route_setup =
-            optionalString (interfaceCfg.allowedIPsAsRoutes != false)
+            optionalString interfaceCfg.allowedIPsAsRoutes
               (concatMapStringsSep "\n"
                 (allowedIP:
-                  "ip route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
+                  "${ip} route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
                 ) peer.allowedIPs);
         in ''
           ${wg_setup}
@@ -272,13 +302,13 @@ let
         '';
 
         postStop = let
-          route_destroy = optionalString (interfaceCfg.allowedIPsAsRoutes != false)
+          route_destroy = optionalString interfaceCfg.allowedIPsAsRoutes
             (concatMapStringsSep "\n"
               (allowedIP:
-                "ip route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
+                "${ip} route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
               ) peer.allowedIPs);
         in ''
-          wg set ${interfaceName} peer ${peer.publicKey} remove
+          ${wg} set ${interfaceName} peer ${peer.publicKey} remove
           ${route_destroy}
         '';
       };
@@ -287,6 +317,13 @@ let
     # exactly one way to specify the private key must be set
     #assert (values.privateKey != null) != (values.privateKeyFile != null);
     let privKey = if values.privateKeyFile != null then values.privateKeyFile else pkgs.writeText "wg-key" values.privateKey;
+        src = values.socketNamespace;
+        dst = values.interfaceNamespace;
+        ipPreMove  = nsWrap "ip" src null;
+        ipPostMove = nsWrap "ip" src dst;
+        wg = nsWrap "wg" src dst;
+        ns = if dst == "init" then "1" else dst;
+
     in
     nameValuePair "wireguard-${name}"
       {
@@ -307,26 +344,33 @@ let
 
           ${values.preSetup}
 
-          ip link add dev ${name} type wireguard
+          ${ipPreMove} link add dev ${name} type wireguard
+          ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) "${ipPreMove} link set ${name} netns ${ns}"}
 
           ${concatMapStringsSep "\n" (ip:
-            "ip address add ${ip} dev ${name}"
+            "${ipPostMove} address add ${ip} dev ${name}"
           ) values.ips}
 
-          wg set ${name} private-key ${privKey} ${
+          ${wg} set ${name} private-key ${privKey} ${
             optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"}
 
-          ip link set up dev ${name}
+          ${ipPostMove} link set up dev ${name}
 
           ${values.postSetup}
         '';
 
         postStop = ''
-          ip link del dev ${name}
+          ${ipPostMove} link del dev ${name}
           ${values.postShutdown}
         '';
       };
 
+  nsWrap = cmd: src: dst:
+    let
+      nsList = filter (ns: ns != null) [ src dst ];
+      ns = last nsList;
+    in
+      if (length nsList > 0 && ns != "init") then "ip netns exec ${ns} ${cmd}" else cmd;
 in
 
 {
diff --git a/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
index 63e59e7c8fac..8f05c3949fba 100644
--- a/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
@@ -103,6 +103,13 @@ in {
               description = ''
                 Set this to <literal>true</literal> if the SSID of the network is hidden.
               '';
+              example = literalExample ''
+                { echelon = {
+                    hidden = true;
+                    psk = "abcdefgh";
+                  };
+                }
+              '';
             };
 
             priority = mkOption {
@@ -146,10 +153,13 @@ in {
         '';
         default = {};
         example = literalExample ''
-          { echelon = {
+          { echelon = {                   # SSID with no spaces or special characters
               psk = "abcdefgh";
             };
-            "free.wifi" = {};
+            "echelon's AP" = {            # SSID with spaces and/or special characters
+               psk = "ijklmnop";
+            };
+            "free.wifi" = {};             # Public wireless network
           }
         '';
       };
@@ -226,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/nixpkgs/nixos/modules/services/networking/yggdrasil.nix b/nixpkgs/nixos/modules/services/networking/yggdrasil.nix
new file mode 100644
index 000000000000..9e675ecd6f4b
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/yggdrasil.nix
@@ -0,0 +1,187 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.yggdrasil;
+  configProvided = (cfg.config != {});
+  configAsFile = (if configProvided then
+                   toString (pkgs.writeTextFile {
+                     name = "yggdrasil-conf";
+                     text = builtins.toJSON cfg.config;
+                   })
+                   else null);
+  configFileProvided = (cfg.configFile != null);
+  generateConfig = (
+    if configProvided && configFileProvided then
+      "${pkgs.jq}/bin/jq -s add ${configAsFile} ${cfg.configFile}"
+    else if configProvided then
+      "cat ${configAsFile}"
+    else if configFileProvided then
+      "cat ${cfg.configFile}"
+    else
+      "${cfg.package}/bin/yggdrasil -genconf"
+  );
+
+in {
+  options = with types; {
+    services.yggdrasil = {
+      enable = mkEnableOption "the yggdrasil system service";
+
+      configFile = mkOption {
+        type =  nullOr str;
+        default = null;
+        example = "/run/keys/yggdrasil.conf";
+        description = ''
+          A file which contains JSON configuration for yggdrasil.
+
+          You do not have to supply a complete configuration, as
+          yggdrasil will use default values for anything which is
+          omitted.  If the encryption and signing keys are omitted,
+          yggdrasil will generate new ones each time the service is
+          started, resulting in a random IPv6 address on the yggdrasil
+          network each time.
+
+          If both this option and <option>config</option> are
+          supplied, they will be combined, with values from
+          <option>config</option> taking precedence.
+
+          You can use the command <code>nix-shell -p yggdrasil --run
+          "yggdrasil -genconf -json"</code> to generate a default
+          JSON configuration.
+        '';
+      };
+
+      config = mkOption {
+        type = attrs;
+        default = {};
+        example = {
+          Peers = [
+            "tcp://aa.bb.cc.dd:eeeee"
+            "tcp://[aaaa:bbbb:cccc:dddd::eeee]:fffff"
+          ];
+          Listen = [
+            "tcp://0.0.0.0:xxxxx"
+          ];
+        };
+        description = ''
+          Configuration for yggdrasil, as a Nix attribute set.
+
+          Warning: this is stored in the WORLD-READABLE Nix store!
+          Therefore, it is not appropriate for private keys.  If you
+          do not specify the keys, yggdrasil will generate a new set
+          each time the service is started, creating a random IPv6
+          address on the yggdrasil network each time.
+
+          If you wish to specify the keys, use
+          <option>configFile</option>.  If both
+          <option>configFile</option> and <option>config</option> are
+          supplied, they will be combined, with values from
+          <option>config</option> taking precedence.
+
+          You can use the command <code>nix-shell -p yggdrasil --run
+          "yggdrasil -genconf"</code> to generate default
+          configuration values with documentation.
+        '';
+      };
+
+      openMulticastPort = mkOption {
+        type = bool;
+        default = false;
+        description = ''
+          Whether to open the UDP port used for multicast peer
+          discovery. The NixOS firewall blocks link-local
+          communication, so in order to make local peering work you
+          will also need to set <code>LinkLocalTCPPort</code> in your
+          yggdrasil configuration (<option>config</option> or
+          <option>configFile</option>) to a port number other than 0,
+          and then add that port to
+          <option>networking.firewall.allowedTCPPorts</option>.
+        '';
+      };
+
+      denyDhcpcdInterfaces = mkOption {
+        type = listOf str;
+        default = [];
+        example = [ "tap*" ];
+        description = ''
+          Disable the DHCP client for any interface whose name matches
+          any of the shell glob patterns in this list.  Use this
+          option to prevent the DHCP client from broadcasting requests
+          on the yggdrasil network.  It is only necessary to do so
+          when yggdrasil is running in TAP mode, because TUN
+          interfaces do not support broadcasting.
+        '';
+      };
+
+      package = mkOption {
+        type = package;
+        default = pkgs.yggdrasil;
+        defaultText = "pkgs.yggdrasil";
+        description = "Yggdrasil package to use.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [
+      { assertion = config.networking.enableIPv6;
+        message = "networking.enableIPv6 must be true for yggdrasil to work";
+      }
+    ];
+
+    systemd.services.yggdrasil = {
+      description = "Yggdrasil Network Service";
+      path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
+      bindsTo = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      preStart = ''
+        ${generateConfig} | yggdrasil -normaliseconf -useconf > /run/yggdrasil/yggdrasil.conf
+      '';
+
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /run/yggdrasil/yggdrasil.conf";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        Restart = "always";
+
+        RuntimeDirectory = "yggdrasil";
+        RuntimeDirectoryMode = "0700";
+        BindReadOnlyPaths = mkIf configFileProvided
+          [ "${cfg.configFile}" ];
+
+        # TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails
+        # to set up the network adapter when DynamicUser is set.  See
+        # github.com/yggdrasil-network/yggdrasil-go/issues/557.  The
+        # following options are implied by DynamicUser according to
+        # the systemd.exec documentation, and can be removed if the
+        # upstream issue is fixed and DynamicUser is set to true:
+        PrivateTmp = true;
+        RemoveIPC = true;
+        NoNewPrivileges = true;
+        ProtectSystem = "strict";
+        RestrictSUIDSGID = true;
+        # End of list of options implied by DynamicUser.
+
+        AmbientCapabilities = "CAP_NET_ADMIN";
+        CapabilityBoundingSet = "CAP_NET_ADMIN";
+        MemoryDenyWriteExecute = true;
+        ProtectControlGroups = true;
+        ProtectHome = "tmpfs";
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @resources";
+      };
+    };
+
+    networking.dhcpcd.denyInterfaces = cfg.denyDhcpcdInterfaces;
+    networking.firewall.allowedUDPPorts = mkIf cfg.openMulticastPort [ 9001 ];
+
+    # Make yggdrasilctl available on the command line.
+    environment.systemPackages = [ cfg.package ];
+  };
+  meta.maintainers = with lib.maintainers; [ gazally ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/zeronet.nix b/nixpkgs/nixos/modules/services/networking/zeronet.nix
index f4988a902685..f354a9d42c79 100644
--- a/nixpkgs/nixos/modules/services/networking/zeronet.nix
+++ b/nixpkgs/nixos/modules/services/networking/zeronet.nix
@@ -1,44 +1,39 @@
 { config, lib, pkgs, ... }:
 
 let
+  inherit (lib) generators literalExample mkEnableOption mkIf mkOption recursiveUpdate types;
   cfg = config.services.zeronet;
-
-  zConfFile = pkgs.writeTextFile {
-    name = "zeronet.conf";
-
-    text = ''
-      [global]
-      data_dir = ${cfg.dataDir}
-      log_dir = ${cfg.logDir}
-    '' + lib.optionalString (cfg.port != null) ''
-      ui_port = ${toString cfg.port}
-    '' + lib.optionalString (cfg.fileserverPort != null) ''
-      fileserver_port = ${toString cfg.fileserverPort}
-    '' + lib.optionalString (cfg.torAlways) ''
-      tor = always
-    '' + cfg.extraConfig;
+  dataDir = "/var/lib/zeronet";
+  configFile = pkgs.writeText "zeronet.conf" (generators.toINI {} (recursiveUpdate defaultSettings cfg.settings));
+
+  defaultSettings = {
+    global = {
+      data_dir = dataDir;
+      log_dir = dataDir;
+      ui_port = cfg.port;
+      fileserver_port = cfg.fileserverPort;
+      tor = if !cfg.tor then "disable" else if cfg.torAlways then "always" else "enable";
+    };
   };
 in with lib; {
   options.services.zeronet = {
     enable = mkEnableOption "zeronet";
 
-    dataDir = mkOption {
-      type = types.path;
-      default = "/var/lib/zeronet";
-      example = "/home/okina/zeronet";
-      description = "Path to the zeronet data directory.";
-    };
+    settings = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
+      default = {};
+      example = literalExample "global.tor = enable;";
 
-    logDir = mkOption {
-      type = types.path;
-      default = "/var/log/zeronet";
-      example = "/home/okina/zeronet/log";
-      description = "Path to the zeronet log directory.";
+      description = ''
+        <filename>zeronet.conf</filename> configuration. Refer to
+        <link xlink:href="https://zeronet.readthedocs.io/en/latest/faq/#is-it-possible-to-use-a-configuration-file"/>
+        for details on supported values;
+      '';
     };
 
     port = mkOption {
-      type = types.nullOr types.int;
-      default = null;
+      type = types.int;
+      default = 43110;
       example = 43110;
       description = "Optional zeronet web UI port.";
     };
@@ -63,22 +58,13 @@ in with lib; {
       default = false;
       description = "Use TOR for all zeronet traffic.";
     };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-
-      description = ''
-        Extra configuration. Contents will be added verbatim to the
-        configuration file at the end.
-      '';
-    };
   };
 
   config = mkIf cfg.enable {
     services.tor = mkIf cfg.tor {
       enable = true;
       controlPort = 9051;
+
       extraConfig = ''
         CacheDirectoryGroupReadable 1
         CookieAuthentication 1
@@ -86,37 +72,25 @@ in with lib; {
       '';
     };
 
-    systemd.tmpfiles.rules = [
-      "d '${cfg.dataDir}' 750 zeronet zeronet - -"
-      "d '${cfg.logDir}' 750 zeronet zeronet - -"
-    ];
-
     systemd.services.zeronet = {
       description = "zeronet";
       after = [ "network.target" (optionalString cfg.tor "tor.service") ];
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
-        PrivateTmp = "yes";
         User = "zeronet";
-        Group = "zeronet";
-        ExecStart = "${pkgs.zeronet}/bin/zeronet --config_file ${zConfFile}";
-      };
-    };
-
-    users = {
-      groups.zeronet.gid = config.ids.gids.zeronet;
-
-      users.zeronet = {
-        description = "zeronet service user";
-        home = cfg.dataDir;
-        createHome = true;
-        group = "zeronet";
-        extraGroups = mkIf cfg.tor [ "tor" ];
-        uid = config.ids.uids.zeronet;
+        DynamicUser = true;
+        StateDirectory = "zeronet";
+        SupplementaryGroups = mkIf cfg.tor [ "tor" ];
+        ExecStart = "${pkgs.zeronet}/bin/zeronet --config_file ${configFile}";
       };
     };
   };
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "zeronet" "dataDir" ] "Zeronet will store data by default in /var/lib/zeronet")
+    (mkRemovedOptionModule [ "services" "zeronet" "logDir" ] "Zeronet will log by default in /var/lib/zeronet")
+  ];
+
   meta.maintainers = with maintainers; [ chiiruno ];
 }
diff --git a/nixpkgs/nixos/modules/services/networking/znc/default.nix b/nixpkgs/nixos/modules/services/networking/znc/default.nix
index 05f97bfa539f..a7315896c506 100644
--- a/nixpkgs/nixos/modules/services/networking/znc/default.nix
+++ b/nixpkgs/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;
       };
@@ -287,20 +287,22 @@ in
       '';
     };
 
-    users.users = optional (cfg.user == defaultUser)
-      { name = defaultUser;
-        description = "ZNC server daemon owner";
-        group = defaultUser;
-        uid = config.ids.uids.znc;
-        home = cfg.dataDir;
-        createHome = true;
+    users.users = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} =
+        { description = "ZNC server daemon owner";
+          group = defaultUser;
+          uid = config.ids.uids.znc;
+          home = cfg.dataDir;
+          createHome = true;
+        };
       };
 
-    users.groups = optional (cfg.user == defaultUser)
-      { name = defaultUser;
-        gid = config.ids.gids.znc;
-        members = [ defaultUser ];
-      };
+    users.groups = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} =
+        { gid = config.ids.gids.znc;
+          members = [ defaultUser ];
+        };
+    };
 
   };
 }
diff --git a/nixpkgs/nixos/modules/services/printing/cupsd.nix b/nixpkgs/nixos/modules/services/printing/cupsd.nix
index 3fcae611dc79..59306d625e6b 100644
--- a/nixpkgs/nixos/modules/services/printing/cupsd.nix
+++ b/nixpkgs/nixos/modules/services/printing/cupsd.nix
@@ -31,7 +31,7 @@ let
   # part of CUPS itself, e.g. the SMB backend is part of Samba.  Since
   # we can't update ${cups.out}/lib/cups itself, we create a symlink tree
   # here and add the additional programs.  The ServerBin directive in
-  # cupsd.conf tells cupsd to use this tree.
+  # cups-files.conf tells cupsd to use this tree.
   bindir = pkgs.buildEnv {
     name = "cups-progs";
     paths =
@@ -112,6 +112,15 @@ in
 
 {
 
+  imports = [
+    (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
+      (config:
+        let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
+        in if enabled then [ pkgs.gutenprint ] else [ ]))
+    (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "")
+    (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "")
+  ];
+
   ###### interface
 
   options = {
@@ -279,9 +288,8 @@ in
 
   config = mkIf config.services.printing.enable {
 
-    users.users = singleton
-      { name = "cups";
-        uid = config.ids.uids.cups;
+    users.users.cups =
+      { uid = config.ids.uids.cups;
         group = "lp";
         description = "CUPS printing services";
       };
diff --git a/nixpkgs/nixos/modules/services/scheduling/atd.nix b/nixpkgs/nixos/modules/services/scheduling/atd.nix
index a32907647a0d..93ed9231d3c5 100644
--- a/nixpkgs/nixos/modules/services/scheduling/atd.nix
+++ b/nixpkgs/nixos/modules/services/scheduling/atd.nix
@@ -57,17 +57,13 @@ in
 
     security.pam.services.atd = {};
 
-    users.users = singleton
-      { name = "atd";
-        uid = config.ids.uids.atd;
+    users.users.atd =
+      { uid = config.ids.uids.atd;
         description = "atd user";
         home = "/var/empty";
       };
 
-    users.groups = singleton
-      { name = "atd";
-        gid = config.ids.gids.atd;
-      };
+    users.groups.atd.gid = config.ids.gids.atd;
 
     systemd.services.atd = {
       description = "Job Execution Daemon (atd)";
diff --git a/nixpkgs/nixos/modules/services/scheduling/fcron.nix b/nixpkgs/nixos/modules/services/scheduling/fcron.nix
index e43ca014e148..42bed21bf25b 100644
--- a/nixpkgs/nixos/modules/services/scheduling/fcron.nix
+++ b/nixpkgs/nixos/modules/services/scheduling/fcron.nix
@@ -86,7 +86,8 @@ in
 
     services.fcron.systab = systemCronJobs;
 
-    environment.etc =
+    environment.etc = listToAttrs
+      (map (x: { name = x.target; value = x; })
       [ (allowdeny "allow" (cfg.allow))
         (allowdeny "deny" cfg.deny)
         # see man 5 fcron.conf
@@ -112,7 +113,7 @@ in
           gid = config.ids.gids.fcron;
           mode = "0644";
         }
-      ];
+      ]);
 
     environment.systemPackages = [ pkgs.fcron ];
     users.users.fcron = {
diff --git a/nixpkgs/nixos/modules/services/scheduling/marathon.nix b/nixpkgs/nixos/modules/services/scheduling/marathon.nix
index 0961a67770e1..2e0d20c64b23 100644
--- a/nixpkgs/nixos/modules/services/scheduling/marathon.nix
+++ b/nixpkgs/nixos/modules/services/scheduling/marathon.nix
@@ -93,6 +93,6 @@ in {
       };
     };
 
-    users.users.${cfg.user} = { };
+    users.users.${cfg.user}.isSystemUser = true;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/search/hound.nix b/nixpkgs/nixos/modules/services/search/hound.nix
index 6740928db9a7..7a44489efe61 100644
--- a/nixpkgs/nixos/modules/services/search/hound.nix
+++ b/nixpkgs/nixos/modules/services/search/hound.nix
@@ -88,19 +88,19 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.groups = optional (cfg.group == "hound") {
-      name = "hound";
-      gid = config.ids.gids.hound;
+    users.groups = optionalAttrs (cfg.group == "hound") {
+      hound.gid = config.ids.gids.hound;
     };
 
-    users.users = optional (cfg.user == "hound") {
-      name = "hound";
-      description = "hound code search";
-      createHome = true;
-      home = cfg.home;
-      group = cfg.group;
-      extraGroups = cfg.extraGroups;
-      uid = config.ids.uids.hound;
+    users.users = optionalAttrs (cfg.user == "hound") {
+      hound = {
+        description = "hound code search";
+        createHome = true;
+        home = cfg.home;
+        group = cfg.group;
+        extraGroups = cfg.extraGroups;
+        uid = config.ids.uids.hound;
+      };
     };
 
     systemd.services.hound = {
diff --git a/nixpkgs/nixos/modules/services/search/kibana.nix b/nixpkgs/nixos/modules/services/search/kibana.nix
index 43a63aa8fdc2..2beb265ee5d1 100644
--- a/nixpkgs/nixos/modules/services/search/kibana.nix
+++ b/nixpkgs/nixos/modules/services/search/kibana.nix
@@ -198,8 +198,7 @@ in {
 
     environment.systemPackages = [ cfg.package ];
 
-    users.users = singleton {
-      name = "kibana";
+    users.users.kibana = {
       uid = config.ids.uids.kibana;
       description = "Kibana service user";
       home = cfg.dataDir;
diff --git a/nixpkgs/nixos/modules/services/search/solr.nix b/nixpkgs/nixos/modules/services/search/solr.nix
index 5ef7d9893a49..b2176225493e 100644
--- a/nixpkgs/nixos/modules/services/search/solr.nix
+++ b/nixpkgs/nixos/modules/services/search/solr.nix
@@ -100,18 +100,18 @@ in
       };
     };
 
-    users.users = optionalAttrs (cfg.user == "solr") (singleton
-      { name = "solr";
+    users.users = optionalAttrs (cfg.user == "solr") {
+      solr = {
         group = cfg.group;
         home = cfg.stateDir;
         createHome = true;
         uid = config.ids.uids.solr;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "solr") (singleton
-      { name = "solr";
-        gid = config.ids.gids.solr;
-      });
+    users.groups = optionalAttrs (cfg.group == "solr") {
+      solr.gid = config.ids.gids.solr;
+    };
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix b/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix
index 80fd65891ff8..d1817db07555 100644
--- a/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix
+++ b/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix
@@ -74,7 +74,10 @@ in {
       webVaultEnabled = mkDefault true;
     };
 
-    users.users.bitwarden_rs = { inherit group; };
+    users.users.bitwarden_rs = {
+      inherit group;
+      isSystemUser = true;
+    };
     users.groups.bitwarden_rs = { };
 
     systemd.services.bitwarden_rs = {
diff --git a/nixpkgs/nixos/modules/services/security/clamav.nix b/nixpkgs/nixos/modules/services/security/clamav.nix
index 04b433f8f2bf..aaf6fb0479ba 100644
--- a/nixpkgs/nixos/modules/services/security/clamav.nix
+++ b/nixpkgs/nixos/modules/services/security/clamav.nix
@@ -30,6 +30,10 @@ let
   '';
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
+  ];
+
   options = {
     services.clamav = {
       daemon = {
@@ -79,18 +83,15 @@ in
   config = mkIf (cfg.updater.enable || cfg.daemon.enable) {
     environment.systemPackages = [ pkg ];
 
-    users.users = singleton {
-      name = clamavUser;
+    users.users.${clamavUser} = {
       uid = config.ids.uids.clamav;
       group = clamavGroup;
       description = "ClamAV daemon user";
       home = stateDir;
     };
 
-    users.groups = singleton {
-      name = clamavGroup;
-      gid = config.ids.gids.clamav;
-    };
+    users.groups.${clamavGroup} =
+      { gid = config.ids.gids.clamav; };
 
     environment.etc."clamav/freshclam.conf".source = freshclamConfigFile;
     environment.etc."clamav/clamd.conf".source = clamdConfigFile;
diff --git a/nixpkgs/nixos/modules/services/security/fprintd.nix b/nixpkgs/nixos/modules/services/security/fprintd.nix
index 5662ebc61d20..8ece1ca19013 100644
--- a/nixpkgs/nixos/modules/services/security/fprintd.nix
+++ b/nixpkgs/nixos/modules/services/security/fprintd.nix
@@ -50,13 +50,6 @@ in
 
     systemd.packages = [ cfg.package ];
 
-
-    # The upstream unit does not use StateDirectory, and will
-    # fail if the directory it needs is not present. Should be
-    # fixed when https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/5
-    # is merged.
-    systemd.services.fprintd.serviceConfig.StateDirectory = "fprint";
-
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/security/fprot.nix b/nixpkgs/nixos/modules/services/security/fprot.nix
index 474490391463..f203f2abc033 100644
--- a/nixpkgs/nixos/modules/services/security/fprot.nix
+++ b/nixpkgs/nixos/modules/services/security/fprot.nix
@@ -48,22 +48,18 @@ in {
     services.fprot.updater.licenseKeyfile = mkDefault "${pkgs.fprot}/opt/f-prot/license.key";
 
     environment.systemPackages = [ pkgs.fprot ];
-    environment.etc = singleton {
+    environment.etc."f-prot.conf" = {
       source = "${pkgs.fprot}/opt/f-prot/f-prot.conf";
-      target = "f-prot.conf";
     };
 
-    users.users = singleton
-      { name = fprotUser;
-        uid = config.ids.uids.fprot;
+    users.users.${fprotUser} =
+      { uid = config.ids.uids.fprot;
         description = "F-Prot daemon user";
         home = stateDir;
       };
 
-    users.groups = singleton
-      { name = fprotGroup;
-        gid = config.ids.gids.fprot;
-      };
+    users.groups.${fprotGroup} =
+      { gid = config.ids.gids.fprot; };
 
     services.cron.systemCronJobs = [ "*/${toString cfg.updater.frequency} * * * * root start fprot-updater" ];
 
diff --git a/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix b/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
index bb03f7fc9e43..2abb9ec32aca 100644
--- a/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
+++ b/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
@@ -546,6 +546,7 @@ in
 
     users.users.oauth2_proxy = {
       description = "OAuth2 Proxy";
+      isSystemUser = true;
     };
 
     systemd.services.oauth2_proxy = {
diff --git a/nixpkgs/nixos/modules/services/security/tor.nix b/nixpkgs/nixos/modules/services/security/tor.nix
index ed862387cce1..18c105b2f576 100644
--- a/nixpkgs/nixos/modules/services/security/tor.nix
+++ b/nixpkgs/nixos/modules/services/security/tor.nix
@@ -106,6 +106,12 @@ let
 
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
+    (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.")
+    (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.")
+  ];
+
   options = {
     services.tor = {
       enable = mkOption {
diff --git a/nixpkgs/nixos/modules/services/security/torify.nix b/nixpkgs/nixos/modules/services/security/torify.nix
index 08da726437ea..39551190dd33 100644
--- a/nixpkgs/nixos/modules/services/security/torify.nix
+++ b/nixpkgs/nixos/modules/services/security/torify.nix
@@ -25,6 +25,7 @@ in
     services.tor.tsocks = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = ''
           Whether to build tsocks wrapper script to relay application traffic via Tor.
@@ -40,6 +41,7 @@ in
       };
 
       server = mkOption {
+        type = types.str;
         default = "localhost:9050";
         example = "192.168.0.20";
         description = ''
@@ -48,6 +50,7 @@ in
       };
 
       config = mkOption {
+        type = types.lines;
         default = "";
         description = ''
           Extra configuration. Contents will be added verbatim to TSocks
diff --git a/nixpkgs/nixos/modules/services/security/torsocks.nix b/nixpkgs/nixos/modules/services/security/torsocks.nix
index c60c745443bc..47ac95c4626e 100644
--- a/nixpkgs/nixos/modules/services/security/torsocks.nix
+++ b/nixpkgs/nixos/modules/services/security/torsocks.nix
@@ -112,10 +112,9 @@ in
   config = mkIf cfg.enable {
     environment.systemPackages = [ pkgs.torsocks (wrapTorsocks "torsocks-faster" cfg.fasterServer) ];
 
-    environment.etc =
-      [ { source = pkgs.writeText "torsocks.conf" (configFile cfg.server);
-          target = "tor/torsocks.conf";
-        }
-      ];
+    environment.etc."tor/torsocks.conf" =
+      {
+        source = pkgs.writeText "torsocks.conf" (configFile cfg.server);
+      };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/security/vault.nix b/nixpkgs/nixos/modules/services/security/vault.nix
index d5962ba9af90..b0ab8fadcbec 100644
--- a/nixpkgs/nixos/modules/services/security/vault.nix
+++ b/nixpkgs/nixos/modules/services/security/vault.nix
@@ -119,9 +119,8 @@ in
     };
     users.groups.vault.gid = config.ids.gids.vault;
 
-    systemd.tmpfiles.rules = optional (cfg.storagePath != null) [
-      "d '${cfg.storagePath}' 0700 vault vault - -"
-    ];
+    systemd.tmpfiles.rules = optional (cfg.storagePath != null)
+      "d '${cfg.storagePath}' 0700 vault vault - -";
 
     systemd.services.vault = {
       description = "Vault server daemon";
diff --git a/nixpkgs/nixos/modules/services/system/dbus.nix b/nixpkgs/nixos/modules/services/system/dbus.nix
index 936646a5fd78..4a60fec1ca80 100644
--- a/nixpkgs/nixos/modules/services/system/dbus.nix
+++ b/nixpkgs/nixos/modules/services/system/dbus.nix
@@ -68,10 +68,7 @@ in
 
     environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus ];
 
-    environment.etc = singleton
-      { source = configDir;
-        target = "dbus-1";
-      };
+    environment.etc."dbus-1".source = configDir;
 
     users.users.messagebus = {
       uid = config.ids.uids.messagebus;
diff --git a/nixpkgs/nixos/modules/services/system/localtime.nix b/nixpkgs/nixos/modules/services/system/localtime.nix
index c3c0b432b494..74925c5e2c47 100644
--- a/nixpkgs/nixos/modules/services/system/localtime.nix
+++ b/nixpkgs/nixos/modules/services/system/localtime.nix
@@ -35,6 +35,10 @@ in {
     # Install the systemd unit.
     systemd.packages = [ pkgs.localtime.out ];
 
+    users.users.localtimed = {
+      description = "Taskserver user";
+    };
+
     systemd.services.localtime = {
       wantedBy = [ "multi-user.target" ];
       serviceConfig.Restart = "on-failure";
diff --git a/nixpkgs/nixos/modules/services/torrent/magnetico.nix b/nixpkgs/nixos/modules/services/torrent/magnetico.nix
index 02fa2ac0750a..7465c10e002c 100644
--- a/nixpkgs/nixos/modules/services/torrent/magnetico.nix
+++ b/nixpkgs/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 {
@@ -171,12 +172,13 @@ in {
 
     users.users.magnetico = {
       description = "Magnetico daemons user";
+      isSystemUser = true;
     };
 
     systemd.services.magneticod = {
       description = "Magnetico DHT crawler";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" ];
+      after    = [ "network.target" ];
 
       serviceConfig = {
         User      = "magnetico";
@@ -188,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";
@@ -201,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.
@@ -211,4 +213,6 @@ in {
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/torrent/transmission.nix b/nixpkgs/nixos/modules/services/torrent/transmission.nix
index 7409eb8cdcbe..aa1acdf7d20b 100644
--- a/nixpkgs/nixos/modules/services/torrent/transmission.nix
+++ b/nixpkgs/nixos/modules/services/torrent/transmission.nix
@@ -7,6 +7,7 @@ let
   apparmor = config.security.apparmor.enable;
 
   homeDir = cfg.home;
+  downloadDirPermissions = cfg.downloadDirPermissions;
   downloadDir = "${homeDir}/Downloads";
   incompleteDir = "${homeDir}/.incomplete";
 
@@ -16,16 +17,14 @@ let
   # for users in group "transmission" to have access to torrents
   fullSettings = { umask = 2; download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings;
 
-  # Directories transmission expects to exist and be ug+rwx.
-  directoriesToManage = [ homeDir settingsDir fullSettings.download-dir fullSettings.incomplete-dir ];
-
   preStart = pkgs.writeScript "transmission-pre-start" ''
     #!${pkgs.runtimeShell}
     set -ex
-    for DIR in ${escapeShellArgs directoriesToManage}; do
+    for DIR in "${homeDir}" "${settingsDir}" "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"; do
       mkdir -p "$DIR"
-      chmod 770 "$DIR"
     done
+    chmod 700 "${homeDir}" "${settingsDir}"
+    chmod ${downloadDirPermissions} "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"
     cp -f ${settingsFile} ${settingsDir}/settings.json
   '';
 in
@@ -71,6 +70,16 @@ in
         '';
       };
 
+      downloadDirPermissions = mkOption {
+        type = types.str;
+        default = "770";
+        example = "775";
+        description = ''
+          The permissions to set for download-dir and incomplete-dir.
+          They will be applied on every service start.
+        '';
+      };
+
       port = mkOption {
         type = types.int;
         default = 9091;
@@ -109,7 +118,7 @@ in
       # 1) Only the "transmission" user and group have access to torrents.
       # 2) Optionally update/force specific fields into the configuration file.
       serviceConfig.ExecStartPre = preStart;
-      serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
+      serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port} --config-dir ${settingsDir}";
       serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
       serviceConfig.User = cfg.user;
       serviceConfig.Group = cfg.group;
diff --git a/nixpkgs/nixos/modules/services/ttys/agetty.nix b/nixpkgs/nixos/modules/services/ttys/agetty.nix
index 47eb3ab8206a..996925134524 100644
--- a/nixpkgs/nixos/modules/services/ttys/agetty.nix
+++ b/nixpkgs/nixos/modules/services/ttys/agetty.nix
@@ -124,7 +124,7 @@ in
         enable = mkDefault config.boot.isContainer;
       };
 
-    environment.etc = singleton
+    environment.etc.issue =
       { # Friendly greeting on the virtual consoles.
         source = pkgs.writeText "issue" ''
 
@@ -132,7 +132,6 @@ in
           ${config.services.mingetty.helpLine}
 
         '';
-        target = "issue";
       };
 
   };
diff --git a/nixpkgs/nixos/modules/services/web-apps/codimd.nix b/nixpkgs/nixos/modules/services/web-apps/codimd.nix
index 7ae7cd9c52d8..5f56f8ed5a09 100644
--- a/nixpkgs/nixos/modules/services/web-apps/codimd.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/codimd.nix
@@ -893,6 +893,7 @@ in
       extraGroups = cfg.groups;
       home = cfg.workDir;
       createHome = true;
+      isSystemUser = true;
     };
 
     systemd.services.codimd = {
diff --git a/nixpkgs/nixos/modules/services/web-apps/documize.nix b/nixpkgs/nixos/modules/services/web-apps/documize.nix
index 37359869cb64..1b90299aa23c 100644
--- a/nixpkgs/nixos/modules/services/web-apps/documize.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/documize.nix
@@ -14,6 +14,15 @@ in {
   options.services.documize = {
     enable = mkEnableOption "Documize Wiki";
 
+    stateDirectoryName = mkOption {
+      type = types.str;
+      default = "documize";
+      description = ''
+        The name of the directory below <filename>/var/lib/private</filename>
+        where documize runs in and stores, for example, backups.
+      '';
+    };
+
     package = mkOption {
       type = types.package;
       default = pkgs.documize-community;
@@ -132,6 +141,8 @@ in {
         ];
         Restart = "always";
         DynamicUser = "yes";
+        StateDirectory = cfg.stateDirectoryName;
+        WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
       };
     };
   };
diff --git a/nixpkgs/nixos/modules/services/web-apps/frab.nix b/nixpkgs/nixos/modules/services/web-apps/frab.nix
index 7914e5cc0ee1..1b5890d6b0c7 100644
--- a/nixpkgs/nixos/modules/services/web-apps/frab.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/frab.nix
@@ -173,14 +173,13 @@ in
   config = mkIf cfg.enable {
     environment.systemPackages = [ frab-rake ];
 
-    users.users = [
-      { name = cfg.user;
-        group = cfg.group;
+    users.users.${cfg.user} =
+      { group = cfg.group;
         home = "${cfg.statePath}";
-      }
-    ];
+        isSystemUser = true;
+      };
 
-    users.groups = [ { name = cfg.group; } ];
+    users.groups.${cfg.group} = { };
 
     systemd.tmpfiles.rules = [
       "d '${cfg.statePath}/system/attachments' - ${cfg.user} ${cfg.group} - -"
diff --git a/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix b/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix
new file mode 100644
index 000000000000..03e01f46a944
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix
@@ -0,0 +1,49 @@
+{ pkgs, lib, config, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gotify;
+in {
+  options = {
+    services.gotify = {
+      enable = mkEnableOption "Gotify webserver";
+
+      port = mkOption {
+        type = types.port;
+        description = ''
+          Port the server listens to.
+        '';
+      };
+
+      stateDirectoryName = mkOption {
+        type = types.str;
+        default = "gotify-server";
+        description = ''
+          The name of the directory below <filename>/var/lib</filename> where
+          gotify stores its runtime data.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.gotify-server = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      description = "Simple server for sending and receiving messages";
+
+      environment = {
+        GOTIFY_SERVER_PORT = toString cfg.port;
+      };
+
+      serviceConfig = {
+        WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
+        StateDirectory = cfg.stateDirectoryName;
+        Restart = "always";
+        DynamicUser = "yes";
+        ExecStart = "${pkgs.gotify-server}/bin/server";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix b/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix
new file mode 100644
index 000000000000..68769ac8c031
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix
@@ -0,0 +1,141 @@
+{ config, pkgs, lib, ... }:
+with lib;
+let
+  cfg = config.services.ihatemoney;
+  user = "ihatemoney";
+  group = "ihatemoney";
+  db = "ihatemoney";
+  python3 = config.services.uwsgi.package.python3;
+  pkg = python3.pkgs.ihatemoney;
+  toBool = x: if x then "True" else "False";
+  configFile = pkgs.writeText "ihatemoney.cfg" ''
+        from secrets import token_hex
+        # load a persistent secret key
+        SECRET_KEY_FILE = "/var/lib/ihatemoney/secret_key"
+        SECRET_KEY = ""
+        try:
+          with open(SECRET_KEY_FILE) as f:
+            SECRET_KEY = f.read()
+        except FileNotFoundError:
+          pass
+        if not SECRET_KEY:
+          print("ihatemoney: generating a new secret key")
+          SECRET_KEY = token_hex(50)
+          with open(SECRET_KEY_FILE, "w") as f:
+            f.write(SECRET_KEY)
+        del token_hex
+        del SECRET_KEY_FILE
+
+        # "normal" configuration
+        DEBUG = False
+        SQLALCHEMY_DATABASE_URI = '${
+          if cfg.backend == "sqlite"
+          then "sqlite:////var/lib/ihatemoney/ihatemoney.sqlite"
+          else "postgresql:///${db}"}'
+        SQLALCHEMY_TRACK_MODIFICATIONS = False
+        MAIL_DEFAULT_SENDER = ("${cfg.defaultSender.name}", "${cfg.defaultSender.email}")
+        ACTIVATE_DEMO_PROJECT = ${toBool cfg.enableDemoProject}
+        ADMIN_PASSWORD = "${toString cfg.adminHashedPassword /*toString null == ""*/}"
+        ALLOW_PUBLIC_PROJECT_CREATION = ${toBool cfg.enablePublicProjectCreation}
+        ACTIVATE_ADMIN_DASHBOARD = ${toBool cfg.enableAdminDashboard}
+
+        ${cfg.extraConfig}
+  '';
+in
+  {
+    options.services.ihatemoney = {
+      enable = mkEnableOption "ihatemoney webapp. Note that this will set uwsgi to emperor mode running as root";
+      backend = mkOption {
+        type = types.enum [ "sqlite" "postgresql" ];
+        default = "sqlite";
+        description = ''
+          The database engine to use for ihatemoney.
+          If <literal>postgresql</literal> is selected, then a database called
+          <literal>${db}</literal> will be created. If you disable this option,
+          it will however not be removed.
+        '';
+      };
+      adminHashedPassword = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "The hashed password of the administrator. To obtain it, run <literal>ihatemoney generate_password_hash</literal>";
+      };
+      uwsgiConfig = mkOption {
+        type = types.attrs;
+        example = {
+          http = ":8000";
+        };
+        description = "Additionnal configuration of the UWSGI vassal running ihatemoney. It should notably specify on which interfaces and ports the vassal should listen.";
+      };
+      defaultSender = {
+        name = mkOption {
+          type = types.str;
+          default = "Budget manager";
+          description = "The display name of the sender of ihatemoney emails";
+        };
+        email = mkOption {
+          type = types.str;
+          default = "ihatemoney@${config.networking.hostName}";
+          description = "The email of the sender of ihatemoney emails";
+        };
+      };
+      enableDemoProject = mkEnableOption "access to the demo project in ihatemoney";
+      enablePublicProjectCreation = mkEnableOption "permission to create projects in ihatemoney by anyone";
+      enableAdminDashboard = mkEnableOption "ihatemoney admin dashboard";
+      extraConfig = mkOption {
+        type = types.str;
+        default = "";
+        description = "Extra configuration appended to ihatemoney's configuration file. It is a python file, so pay attention to indentation.";
+      };
+    };
+    config = mkIf cfg.enable {
+      services.postgresql = mkIf (cfg.backend == "postgresql") {
+        enable = true;
+        ensureDatabases = [ db ];
+        ensureUsers = [ {
+          name = user;
+          ensurePermissions = {
+            "DATABASE ${db}" = "ALL PRIVILEGES";
+          };
+        } ];
+      };
+      systemd.services.postgresql = mkIf (cfg.backend == "postgresql") {
+        wantedBy = [ "uwsgi.service" ];
+        before = [ "uwsgi.service" ];
+      };
+      systemd.tmpfiles.rules = [
+        "d /var/lib/ihatemoney 770 ${user} ${group}"
+      ];
+      users = {
+        users.${user} = {
+          isSystemUser = true;
+          inherit group;
+        };
+        groups.${group} = {};
+      };
+      services.uwsgi = {
+        enable = true;
+        plugins = [ "python3" ];
+        # the vassal needs to be able to setuid
+        user = "root";
+        group = "root";
+        instance = {
+          type = "emperor";
+          vassals.ihatemoney = {
+            type = "normal";
+            strict = true;
+            uid = user;
+            gid = group;
+            # apparently flask uses threads: https://github.com/spiral-project/ihatemoney/commit/c7815e48781b6d3a457eaff1808d179402558f8c
+            enable-threads = true;
+            module = "wsgi:application";
+            chdir = "${pkg}/${pkg.pythonModule.sitePackages}/ihatemoney";
+            env = [ "IHATEMONEY_SETTINGS_FILE_PATH=${configFile}" ];
+            pythonPackages = self: [ self.ihatemoney ];
+          } // cfg.uwsgiConfig;
+        };
+      };
+    };
+  }
+
+
diff --git a/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix b/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
index 68b57a9b90dd..e00a47191c6f 100644
--- a/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
@@ -3,7 +3,7 @@
 let
 
   inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption;
-  inherit (lib) mapAttrs optional optionalString types;
+  inherit (lib) literalExample mapAttrs optional optionalString types;
 
   cfg = config.services.limesurvey;
   fpm = config.services.phpfpm.pools.limesurvey;
@@ -100,19 +100,15 @@ in
     };
 
     virtualHost = mkOption {
-      type = types.submodule ({
-        options = import ../web-servers/apache-httpd/per-server-options.nix {
-          inherit lib;
-          forMainServer = false;
-        };
-      });
-      example = {
-        hostName = "survey.example.org";
-        enableSSL = true;
-        adminAddr = "webmaster@example.org";
-        sslServerCert = "/var/lib/acme/survey.example.org/full.pem";
-        sslServerKey = "/var/lib/acme/survey.example.org/key.pem";
-      };
+      type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+      example = literalExample ''
+        {
+          hostName = "survey.example.org";
+          adminAddr = "webmaster@example.org";
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
       description = ''
         Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
         See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -184,7 +180,7 @@ in
       config = {
         tempdir = "${stateDir}/tmp";
         uploaddir = "${stateDir}/upload";
-        force_ssl = mkIf cfg.virtualHost.enableSSL "on";
+        force_ssl = mkIf (cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL) "on";
         config.defaultlang = "en";
       };
     };
@@ -215,38 +211,36 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${pkg}/share/limesurvey";
-          extraConfig = ''
-            Alias "/tmp" "${stateDir}/tmp"
-            <Directory "${stateDir}">
-              AllowOverride all
-              Require all granted
-              Options -Indexes +FollowSymlinks
-            </Directory>
-
-            Alias "/upload" "${stateDir}/upload"
-            <Directory "${stateDir}/upload">
-              AllowOverride all
-              Require all granted
-              Options -Indexes
-            </Directory>
-
-            <Directory "${pkg}/share/limesurvey">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-
-              AllowOverride all
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg}/share/limesurvey";
+        extraConfig = ''
+          Alias "/tmp" "${stateDir}/tmp"
+          <Directory "${stateDir}">
+            AllowOverride all
+            Require all granted
+            Options -Indexes +FollowSymlinks
+          </Directory>
+
+          Alias "/upload" "${stateDir}/upload"
+          <Directory "${stateDir}/upload">
+            AllowOverride all
+            Require all granted
+            Options -Indexes
+          </Directory>
+
+          <Directory "${pkg}/share/limesurvey">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            AllowOverride all
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
@@ -277,7 +271,10 @@ in
 
     systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
 
-    users.users.${user}.group = group;
+    users.users.${user} = {
+      group = group;
+      isSystemUser = true;
+    };
 
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/matomo-doc.xml b/nixpkgs/nixos/modules/services/web-apps/matomo-doc.xml
index 8485492c51c7..69d1170e4523 100644
--- a/nixpkgs/nixos/modules/services/web-apps/matomo-doc.xml
+++ b/nixpkgs/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.
@@ -105,7 +99,7 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
   <para>
    You can use other web servers by forwarding calls for
    <filename>index.php</filename> and <filename>piwik.php</filename> to the
-   <literal>/run/phpfpm-matomo.sock</literal> fastcgi unix socket. You can use
+   <literal><link linkend="opt-services.phpfpm.pools._name_.socket">services.phpfpm.pools.&lt;name&gt;.socket</link></literal> fastcgi unix socket. You can use
    the nginx configuration in the module code as a reference to what else
    should be configured.
   </para>
diff --git a/nixpkgs/nixos/modules/services/web-apps/matomo.nix b/nixpkgs/nixos/modules/services/web-apps/matomo.nix
index 1e34aff8d171..75da474dc446 100644
--- a/nixpkgs/nixos/modules/services/web-apps/matomo.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/matomo.nix
@@ -2,15 +2,13 @@
 with lib;
 let
   cfg = config.services.matomo;
+  fpm = config.services.phpfpm.pools.${pool};
 
   user = "matomo";
   dataDir = "/var/lib/${user}";
   deprecatedDataDir = "/var/lib/piwik";
 
   pool = user;
-  # it's not possible to use /run/phpfpm/${pool}.sock because /run/phpfpm/ is root:root 0770,
-  # and therefore is not accessible by the web server.
-  phpSocket = "/run/phpfpm-${pool}.sock";
   phpExecutionUnit = "phpfpm-${pool}";
   databaseService = "mysql.service";
 
@@ -20,6 +18,14 @@ let
      in join config.networking.hostName config.networking.domain;
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
+    (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ])
+    (mkRemovedOptionModule [ "services" "piwik" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
+    (mkRemovedOptionModule [ "services" "matomo" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
+    (mkRenamedOptionModule [ "services" "piwik" "nginx" ] [ "services" "matomo" "nginx" ])
+  ];
+
   options = {
     services.matomo = {
       # NixOS PR for database setup: https://github.com/NixOS/nixpkgs/pull/6963
@@ -50,7 +56,7 @@ in {
         default = null;
         example = "lighttpd";
         description = ''
-          Name of the web server user that forwards requests to the ${phpSocket} fastcgi socket for Matomo if the nginx
+          Name of the web server user that forwards requests to <option>services.phpfpm.pools.&lt;name&gt;.socket</option> the fastcgi socket for Matomo if the nginx
           option is not used. Either this option or the nginx option is mandatory.
           If you want to use another webserver than nginx, you need to set this to that server's user
           and pass fastcgi requests to `index.php`, `matomo.php` and `piwik.php` (legacy name) to this socket.
@@ -71,25 +77,6 @@ in {
         '';
       };
 
-      phpfpmProcessManagerConfig = mkOption {
-        type = types.str;
-        default = ''
-          ; default phpfpm process manager settings
-          pm = dynamic
-          pm.max_children = 75
-          pm.start_servers = 10
-          pm.min_spare_servers = 5
-          pm.max_spare_servers = 20
-          pm.max_requests = 500
-
-          ; log worker's stdout, but this has a performance hit
-          catch_workers_output = yes
-        '';
-        description = ''
-          Settings for phpfpm's process manager. You might need to change this depending on the load for Matomo.
-        '';
-      };
-
       nginx = mkOption {
         type = types.nullOr (types.submodule (
           recursiveUpdate
@@ -233,15 +220,24 @@ in {
       else if (cfg.webServerUser != null) then cfg.webServerUser else "";
     in {
       ${pool} = {
-        listen = phpSocket;
-        extraConfig = ''
-          listen.owner = ${socketOwner}
-          listen.group = root
-          listen.mode = 0600
-          user = ${user}
-          env[PIWIK_USER_PATH] = ${dataDir}
-          ${cfg.phpfpmProcessManagerConfig}
+        inherit user;
+        phpOptions = ''
+          error_log = 'stderr'
+          log_errors = on
         '';
+        settings = mapAttrs (name: mkDefault) {
+          "listen.owner" = socketOwner;
+          "listen.group" = "root";
+          "listen.mode" = "0660";
+          "pm" = "dynamic";
+          "pm.max_children" = 75;
+          "pm.start_servers" = 10;
+          "pm.min_spare_servers" = 5;
+          "pm.max_spare_servers" = 20;
+          "pm.max_requests" = 500;
+          "catch_workers_output" = true;
+        };
+        phpEnv.PIWIK_USER_PATH = dataDir;
       };
     };
 
@@ -264,15 +260,15 @@ in {
         };
         # allow index.php for webinterface
         locations."= /index.php".extraConfig = ''
-          fastcgi_pass unix:${phpSocket};
+          fastcgi_pass unix:${fpm.socket};
         '';
         # allow matomo.php for tracking
         locations."= /matomo.php".extraConfig = ''
-          fastcgi_pass unix:${phpSocket};
+          fastcgi_pass unix:${fpm.socket};
         '';
         # allow piwik.php for tracking (deprecated name)
         locations."= /piwik.php".extraConfig = ''
-          fastcgi_pass unix:${phpSocket};
+          fastcgi_pass unix:${fpm.socket};
         '';
         # Any other attempt to access any php files is forbidden
         locations."~* ^.+\\.php$".extraConfig = ''
diff --git a/nixpkgs/nixos/modules/services/web-apps/mattermost.nix b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
index 8c7fc4056adc..41c52b9653bf 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
@@ -146,17 +146,17 @@ in
 
   config = mkMerge [
     (mkIf cfg.enable {
-      users.users = optionalAttrs (cfg.user == "mattermost") (singleton {
-        name = "mattermost";
-        group = cfg.group;
-        uid = config.ids.uids.mattermost;
-        home = cfg.statePath;
-      });
-
-      users.groups = optionalAttrs (cfg.group == "mattermost") (singleton {
-        name = "mattermost";
-        gid = config.ids.gids.mattermost;
-      });
+      users.users = optionalAttrs (cfg.user == "mattermost") {
+        mattermost = {
+          group = cfg.group;
+          uid = config.ids.uids.mattermost;
+          home = cfg.statePath;
+        };
+      };
+
+      users.groups = optionalAttrs (cfg.group == "mattermost") {
+        mattermost.gid = config.ids.gids.mattermost;
+      };
 
       services.postgresql.enable = cfg.localDatabaseCreate;
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
index ec2568bf952d..8a109b39bb57 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
@@ -64,7 +64,7 @@ let
       $wgScriptPath = "";
 
       ## The protocol and server name to use in fully-qualified URLs
-      $wgServer = "${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}";
+      $wgServer = "${if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then "https" else "http"}://${cfg.virtualHost.hostName}";
 
       ## The URL path to static resources (images, scripts, etc.)
       $wgResourceBasePath = $wgScriptPath;
@@ -290,19 +290,13 @@ in
       };
 
       virtualHost = mkOption {
-        type = types.submodule ({
-          options = import ../web-servers/apache-httpd/per-server-options.nix {
-            inherit lib;
-            forMainServer = false;
-          };
-        });
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
         example = literalExample ''
           {
             hostName = "mediawiki.example.org";
-            enableSSL = true;
             adminAddr = "webmaster@example.org";
-            sslServerCert = "/var/lib/acme/mediawiki.example.org/full.pem";
-            sslServerKey = "/var/lib/acme/mediawiki.example.org/key.pem";
+            forceSSL = true;
+            enableACME = true;
           }
         '';
         description = ''
@@ -389,31 +383,28 @@ in
 
     services.httpd = {
       enable = true;
-      adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${pkg}/share/mediawiki";
-          extraConfig = ''
-            <Directory "${pkg}/share/mediawiki">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-
-              Require all granted
-              DirectoryIndex index.php
-              AllowOverride All
-            </Directory>
-          '' + optionalString (cfg.uploadsDir != null) ''
-            Alias "/images" "${cfg.uploadsDir}"
-            <Directory "${cfg.uploadsDir}">
-              Require all granted
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg}/share/mediawiki";
+        extraConfig = ''
+          <Directory "${pkg}/share/mediawiki">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            Require all granted
+            DirectoryIndex index.php
+            AllowOverride All
+          </Directory>
+        '' + optionalString (cfg.uploadsDir != null) ''
+          Alias "/images" "${cfg.uploadsDir}"
+          <Directory "${cfg.uploadsDir}">
+            Require all granted
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
@@ -461,7 +452,10 @@ in
 
     systemd.services.httpd.after = optional (cfg.database.createLocally && cfg.database.type == "mysql") "mysql.service";
 
-    users.users.${user}.group = group;
+    users.users.${user} = {
+      group = group;
+      isSystemUser = true;
+    };
 
     environment.systemPackages = [ mediawikiScripts ];
   };
diff --git a/nixpkgs/nixos/modules/services/web-apps/moinmoin.nix b/nixpkgs/nixos/modules/services/web-apps/moinmoin.nix
new file mode 100644
index 000000000000..0fee64be0bb2
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/moinmoin.nix
@@ -0,0 +1,303 @@
+{ config, lib, pkgs, ... }:
+with lib;
+
+let
+  cfg = config.services.moinmoin;
+  python = pkgs.python27;
+  pkg = python.pkgs.moinmoin;
+  dataDir = "/var/lib/moin";
+  usingGunicorn = cfg.webServer == "nginx-gunicorn" || cfg.webServer == "gunicorn";
+  usingNginx = cfg.webServer == "nginx-gunicorn";
+  user = "moin";
+  group = "moin";
+
+  uLit = s: ''u"${s}"'';
+  indentLines = n: str: concatMapStrings (line: "${fixedWidthString n " " " "}${line}\n") (splitString "\n" str);
+
+  moinCliWrapper = wikiIdent: pkgs.writeShellScriptBin "moin-${wikiIdent}" ''
+    ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} -c "${pkg}/bin/moin --config-dir=/var/lib/moin/${wikiIdent}/config $*" ${user}
+  '';
+
+  wikiConfig = wikiIdent: w: ''
+    # -*- coding: utf-8 -*-
+
+    from MoinMoin.config import multiconfig, url_prefix_static
+
+    class Config(multiconfig.DefaultConfig):
+        ${optionalString (w.webLocation != "/") ''
+          url_prefix_static = '${w.webLocation}' + url_prefix_static
+        ''}
+
+        sitename = u'${w.siteName}'
+        page_front_page = u'${w.frontPage}'
+
+        data_dir = '${dataDir}/${wikiIdent}/data'
+        data_underlay_dir = '${dataDir}/${wikiIdent}/underlay'
+
+        language_default = u'${w.languageDefault}'
+        ${optionalString (w.superUsers != []) ''
+          superuser = [${concatMapStringsSep ", " uLit w.superUsers}]
+        ''}
+
+    ${indentLines 4 w.extraConfig}
+  '';
+  wikiConfigFile = name: wiki: pkgs.writeText "${name}.py" (wikiConfig name wiki);
+
+in
+{
+  options.services.moinmoin = with types; {
+    enable = mkEnableOption "MoinMoin Wiki Engine";
+
+    webServer = mkOption {
+      type = enum [ "nginx-gunicorn" "gunicorn" "none" ];
+      default = "nginx-gunicorn";
+      example = "none";
+      description = ''
+        Which web server to use to serve the wiki.
+        Use <literal>none</literal> if you want to configure this yourself.
+      '';
+    };
+
+    gunicorn.workers = mkOption {
+      type = ints.positive;
+      default = 3;
+      example = 10;
+      description = ''
+        The number of worker processes for handling requests.
+      '';
+    };
+
+    wikis = mkOption {
+      type = attrsOf (submodule ({ name, ... }: {
+        options = {
+          siteName = mkOption {
+            type = str;
+            default = "Untitled Wiki";
+            example = "ExampleWiki";
+            description = ''
+              Short description of your wiki site, displayed below the logo on each page, and
+              used in RSS documents as the channel title.
+            '';
+          };
+
+          webHost = mkOption {
+            type = str;
+            description = "Host part of the wiki URL. If undefined, the name of the attribute set will be used.";
+            example = "wiki.example.org";
+          };
+
+          webLocation = mkOption {
+            type = str;
+            default = "/";
+            example = "/moin";
+            description = "Location part of the wiki URL.";
+          };
+
+          frontPage = mkOption {
+            type = str;
+            default = "LanguageSetup";
+            example = "FrontPage";
+            description = ''
+              Front page name. Set this to something like <literal>FrontPage</literal> once languages are
+              configured.
+            '';
+          };
+
+          superUsers = mkOption {
+            type = listOf str;
+            default = [];
+            example = [ "elvis" ];
+            description = ''
+              List of trusted user names with wiki system administration super powers.
+
+              Please note that accounts for these users need to be created using the <command>moin</command> command-line utility, e.g.:
+              <command>moin-<replaceable>WIKINAME</replaceable> account create --name=<replaceable>NAME</replaceable> --email=<replaceable>EMAIL</replaceable> --password=<replaceable>PASSWORD</replaceable></command>.
+            '';
+          };
+
+          languageDefault = mkOption {
+            type = str;
+            default = "en";
+            example = "de";
+            description = "The ISO-639-1 name of the main wiki language. Languages that MoinMoin does not support are ignored.";
+          };
+
+          extraConfig = mkOption {
+            type = lines;
+            default = "";
+            example = ''
+              show_hosts = True
+              search_results_per_page = 100
+              acl_rights_default = u"Known:read,write,delete,revert All:read"
+              logo_string = u"<h2>\U0001f639</h2>"
+              theme_default = u"modernized"
+
+              user_checkbox_defaults = {'show_page_trail': 0, 'edit_on_doubleclick': 0}
+              navi_bar = [u'SomePage'] + multiconfig.DefaultConfig.navi_bar
+              actions_excluded = multiconfig.DefaultConfig.actions_excluded + ['newaccount']
+
+              mail_smarthost = "mail.example.org"
+              mail_from = u"Example.Org Wiki <wiki@example.org>"
+            '';
+            description = ''
+              Additional configuration to be appended verbatim to this wiki's config.
+
+              See <link xlink:href='http://moinmo.in/HelpOnConfiguration' /> for documentation.
+            '';
+          };
+
+        };
+        config = {
+          webHost = mkDefault name;
+        };
+      }));
+      example = literalExample ''
+        {
+          "mywiki" = {
+            siteName = "Example Wiki";
+            webHost = "wiki.example.org";
+            superUsers = [ "admin" ];
+            frontPage = "Index";
+            extraConfig = "page_category_regex = ur'(?P<all>(Category|Kategorie)(?P<key>(?!Template)\S+))'"
+          };
+        }
+      '';
+      description = ''
+        Configurations of the individual wikis. Attribute names must be valid Python
+        identifiers of the form <literal>[A-Za-z_][A-Za-z0-9_]*</literal>.
+
+        For every attribute <replaceable>WIKINAME</replaceable>, a helper script
+        moin-<replaceable>WIKINAME</replaceable> is created which runs the
+        <command>moin</command> command under the <literal>moin</literal> user (to avoid
+        file ownership issues) and with the right configuration directory passed to it.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = forEach (attrNames cfg.wikis) (wname:
+      { assertion = builtins.match "[A-Za-z_][A-Za-z0-9_]*" wname != null;
+        message = "${wname} is not valid Python identifier";
+      }
+    );
+
+    users.users = {
+      moin = {
+        description = "MoinMoin wiki";
+        home = dataDir;
+        group = group;
+        isSystemUser = true;
+      };
+    };
+
+    users.groups = {
+      moin = {
+        members = mkIf usingNginx [ config.services.nginx.user ];
+      };
+    };
+
+    environment.systemPackages = [ pkg ] ++ map moinCliWrapper (attrNames cfg.wikis);
+
+    systemd.services = mkIf usingGunicorn
+      (flip mapAttrs' cfg.wikis (wikiIdent: wiki:
+        nameValuePair "moin-${wikiIdent}"
+          {
+            description = "MoinMoin wiki ${wikiIdent} - gunicorn process";
+            wantedBy = [ "multi-user.target" ];
+            after = [ "network.target" ];
+            restartIfChanged = true;
+            restartTriggers = [ (wikiConfigFile wikiIdent wiki) ];
+
+            environment = let
+              penv = python.buildEnv.override {
+                # setuptools: https://github.com/benoitc/gunicorn/issues/1716
+                extraLibs = [ python.pkgs.gevent python.pkgs.setuptools pkg ];
+              };
+            in {
+              PYTHONPATH = "${dataDir}/${wikiIdent}/config:${penv}/${python.sitePackages}";
+            };
+
+            preStart = ''
+              umask 0007
+              rm -rf ${dataDir}/${wikiIdent}/underlay
+              cp -r ${pkg}/share/moin/underlay ${dataDir}/${wikiIdent}/
+              chmod -R u+w ${dataDir}/${wikiIdent}/underlay
+            '';
+
+            serviceConfig = {
+              User = user;
+              Group = group;
+              WorkingDirectory = "${dataDir}/${wikiIdent}";
+              ExecStart = ''${python.pkgs.gunicorn}/bin/gunicorn moin_wsgi \
+                --name gunicorn-${wikiIdent} \
+                --workers ${toString cfg.gunicorn.workers} \
+                --worker-class gevent \
+                --bind unix:/run/moin/${wikiIdent}/gunicorn.sock
+              '';
+
+              Restart = "on-failure";
+              RestartSec = "2s";
+              StartLimitIntervalSec = "30s";
+
+              StateDirectory = "moin/${wikiIdent}";
+              StateDirectoryMode = "0750";
+              RuntimeDirectory = "moin/${wikiIdent}";
+              RuntimeDirectoryMode = "0750";
+
+              NoNewPrivileges = true;
+              ProtectSystem = "strict";
+              ProtectHome = true;
+              PrivateTmp = true;
+              PrivateDevices = true;
+              PrivateNetwork = true;
+              ProtectKernelTunables = true;
+              ProtectKernelModules = true;
+              ProtectControlGroups = true;
+              RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+              RestrictNamespaces = true;
+              LockPersonality = true;
+              MemoryDenyWriteExecute = true;
+              RestrictRealtime = true;
+            };
+          }
+      ));
+
+    services.nginx = mkIf usingNginx {
+      enable = true;
+      virtualHosts = flip mapAttrs' cfg.wikis (name: w: nameValuePair w.webHost {
+        forceSSL = mkDefault true;
+        enableACME = mkDefault true;
+        locations."${w.webLocation}" = {
+          extraConfig = ''
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;
+            proxy_set_header X-Forwarded-Host $host;
+            proxy_set_header X-Forwarded-Server $host;
+
+            proxy_pass http://unix:/run/moin/${name}/gunicorn.sock;
+          '';
+        };
+      });
+    };
+
+    systemd.tmpfiles.rules = [
+      "d  /run/moin            0750 ${user} ${group} - -"
+      "d  ${dataDir}           0550 ${user} ${group} - -"
+    ]
+    ++ (concatLists (flip mapAttrsToList cfg.wikis (wikiIdent: wiki: [
+      "d  ${dataDir}/${wikiIdent}                      0750 ${user} ${group} - -"
+      "d  ${dataDir}/${wikiIdent}/config               0550 ${user} ${group} - -"
+      "L+ ${dataDir}/${wikiIdent}/config/wikiconfig.py -    -       -        - ${wikiConfigFile wikiIdent wiki}"
+      # needed in order to pass module name to gunicorn
+      "L+ ${dataDir}/${wikiIdent}/config/moin_wsgi.py  -    -       -        - ${pkg}/share/moin/server/moin.wsgi"
+      # seed data files
+      "C  ${dataDir}/${wikiIdent}/data                 0770 ${user} ${group} - ${pkg}/share/moin/data"
+      # fix nix store permissions
+      "Z  ${dataDir}/${wikiIdent}/data                 0770 ${user} ${group} - -"
+    ])));
+  };
+
+  meta.maintainers = with lib.maintainers; [ b42 ];
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/moodle.nix b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
index 211bc17ee192..595d070d940a 100644
--- a/nixpkgs/nixos/modules/services/web-apps/moodle.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
@@ -32,7 +32,7 @@ let
     'dbcollation' => 'utf8mb4_unicode_ci',
   );
 
-  $CFG->wwwroot   = '${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}';
+  $CFG->wwwroot   = '${if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then "https" else "http"}://${cfg.virtualHost.hostName}';
   $CFG->dataroot  = '${stateDir}';
   $CFG->admin     = 'admin';
 
@@ -140,19 +140,15 @@ in
     };
 
     virtualHost = mkOption {
-      type = types.submodule ({
-        options = import ../web-servers/apache-httpd/per-server-options.nix {
-          inherit lib;
-          forMainServer = false;
-        };
-      });
-      example = {
-        hostName = "moodle.example.org";
-        enableSSL = true;
-        adminAddr = "webmaster@example.org";
-        sslServerCert = "/var/lib/acme/moodle.example.org/full.pem";
-        sslServerKey = "/var/lib/acme/moodle.example.org/key.pem";
-      };
+      type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+      example = literalExample ''
+        {
+          hostName = "moodle.example.org";
+          adminAddr = "webmaster@example.org";
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
       description = ''
         Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
         See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -241,22 +237,20 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${cfg.package}/share/moodle";
-          extraConfig = ''
-            <Directory "${cfg.package}/share/moodle">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${cfg.package}/share/moodle";
+        extraConfig = ''
+          <Directory "${cfg.package}/share/moodle">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
@@ -309,7 +303,9 @@ in
 
     systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
 
-    users.users.${user}.group = group;
-
+    users.users.${user} = {
+      group = group;
+      isSystemUser = true;
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index db5dc915c89f..f1dabadc119a 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -31,8 +31,12 @@ let
   occ = pkgs.writeScriptBin "nextcloud-occ" ''
     #! ${pkgs.stdenv.shell}
     cd ${pkgs.nextcloud}
-    exec /run/wrappers/bin/sudo -u nextcloud \
-      NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" \
+    sudo=exec
+    if [[ "$USER" != nextcloud ]]; then
+      sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR'
+    fi
+    export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
+    $sudo \
       ${phpPackage}/bin/php \
       -c ${pkgs.writeText "php.ini" phpOptionsStr}\
       occ $*
@@ -58,7 +62,7 @@ in {
     https = mkOption {
       type = types.bool;
       default = false;
-      description = "Enable if there is a TLS terminating proxy in front of nextcloud.";
+      description = "Use https for generated links.";
     };
 
     maxUploadSize = mkOption {
@@ -390,6 +394,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}/
@@ -419,6 +424,7 @@ in {
         nextcloud-update-plugins = mkIf cfg.autoUpdateApps.enable {
           serviceConfig.Type = "oneshot";
           serviceConfig.ExecStart = "${occ}/bin/nextcloud-occ app:update --all";
+          serviceConfig.User = "nextcloud";
           startAt = cfg.autoUpdateApps.startAt;
         };
       };
@@ -467,7 +473,7 @@ in {
               };
               "/" = {
                 priority = 200;
-                extraConfig = "rewrite ^ /index.php$request_uri;";
+                extraConfig = "rewrite ^ /index.php;";
               };
               "~ ^/store-apps" = {
                 priority = 201;
@@ -494,6 +500,7 @@ in {
                 extraConfig = ''
                   include ${config.services.nginx.package}/conf/fastcgi.conf;
                   fastcgi_split_path_info ^(.+\.php)(\\/.*)$;
+                  try_files $fastcgi_script_name =404;
                   fastcgi_param PATH_INFO $fastcgi_path_info;
                   fastcgi_param HTTPS ${if cfg.https then "on" else "off"};
                   fastcgi_param modHeadersAvailable true;
@@ -531,6 +538,7 @@ in {
               add_header X-Download-Options noopen;
               add_header X-Permitted-Cross-Domain-Policies none;
               add_header Referrer-Policy no-referrer;
+              add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
               error_page 403 /core/templates/403.php;
               error_page 404 /core/templates/404.php;
               client_max_body_size ${cfg.maxUploadSize};
diff --git a/nixpkgs/nixos/modules/services/web-apps/nexus.nix b/nixpkgs/nixos/modules/services/web-apps/nexus.nix
index 3af97e146d0a..d4d507362c97 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nexus.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nexus.nix
@@ -68,6 +68,7 @@ in
           -Dkaraf.data=${cfg.home}/nexus3
           -Djava.io.tmpdir=${cfg.home}/nexus3/tmp
           -Dkaraf.startLocalConsole=false
+          -Djava.endorsed.dirs=${cfg.package}/lib/endorsed
         '';
 
         description = ''
diff --git a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix b/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
index 2c2f36ac598a..9d0a3f65253e 100644
--- a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
@@ -116,7 +116,7 @@ in
         };
 
         passwordFile = mkOption {
-          type = types.nullOr types.str;
+          type = types.nullOr types.path;
           default = null;
           description = ''
             The database user's password. 'null' if no password is set.
@@ -285,7 +285,7 @@ in
           sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
         '' else ''
           sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
-          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', '$(<${cfg.database.dbPassFile})');/g" "${runDir}/server/php/config.inc.php"
+          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'file_get_contents(${cfg.database.passwordFile})'"});/g" "${runDir}/server/php/config.inc.php
         ''}
         sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
         sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
diff --git a/nixpkgs/nixos/modules/services/web-apps/shiori.nix b/nixpkgs/nixos/modules/services/web-apps/shiori.nix
new file mode 100644
index 000000000000..1817a2039352
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/shiori.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.services.shiori;
+in {
+  options = {
+    services.shiori = {
+      enable = mkEnableOption "Shiori simple bookmarks manager";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.shiori;
+        defaultText = "pkgs.shiori";
+        description = "The Shiori package to use.";
+      };
+
+      address = mkOption {
+        type = types.str;
+        default = "";
+        description = ''
+          The IP address on which Shiori will listen.
+          If empty, listens on all interfaces.
+        '';
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 8080;
+        description = "The port of the Shiori web application";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.shiori = with cfg; {
+      description = "Shiori simple bookmarks manager";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        ExecStart = "${package}/bin/shiori serve --address '${address}' --port '${toString port}'";
+        DynamicUser = true;
+        Environment = "SHIORI_DIR=/var/lib/shiori";
+        StateDirectory = "shiori";
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ minijackson ];
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/trac.nix b/nixpkgs/nixos/modules/services/web-apps/trac.nix
new file mode 100644
index 000000000000..207fb857438a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/trac.nix
@@ -0,0 +1,79 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.trac;
+
+  inherit (lib) mkEnableOption mkIf mkOption types;
+
+in {
+
+  options = {
+
+    services.trac = {
+      enable = mkEnableOption "Trac service";
+
+      listen = {
+        ip = mkOption {
+          type = types.str;
+          default = "0.0.0.0";
+          description = ''
+            IP address that Trac should listen on.
+          '';
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8000;
+          description = ''
+            Listen port for Trac.
+          '';
+        };
+      };
+
+      dataDir = mkOption {
+        default = "/var/lib/trac";
+        type = types.path;
+        description = ''
+            The directory for storing the Trac data.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open ports in the firewall for Trac.
+        '';
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.trac = {
+      description = "Trac server";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = baseNameOf cfg.dataDir;
+        ExecStart = ''
+          ${pkgs.trac}/bin/tracd -s \
+            -b ${toString cfg.listen.ip} \
+            -p ${toString cfg.listen.port} \
+            ${cfg.dataDir}
+        '';
+      };
+      preStart = ''
+        if [ ! -e ${cfg.dataDir}/VERSION ]; then
+          ${pkgs.trac}/bin/trac-admin ${cfg.dataDir} initenv Trac "sqlite:db/trac.db"
+        fi
+      '';
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.listen.port ];
+    };
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/trilium.nix b/nixpkgs/nixos/modules/services/web-apps/trilium.nix
new file mode 100644
index 000000000000..6f47193c62b9
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/trilium.nix
@@ -0,0 +1,137 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.trilium-server;
+  configIni = pkgs.writeText "trilium-config.ini" ''
+    [General]
+    # Instance name can be used to distinguish between different instances
+    instanceName=${cfg.instanceName}
+
+    # Disable automatically generating desktop icon
+    noDesktopIcon=true
+
+    [Network]
+    # host setting is relevant only for web deployments - set the host on which the server will listen
+    host=${cfg.host}
+    # port setting is relevant only for web deployments, desktop builds run on random free port
+    port=${toString cfg.port}
+    # true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
+    https=false
+  '';
+in
+{
+
+  options.services.trilium-server = with lib; {
+    enable = mkEnableOption "trilium-server";
+
+    dataDir = mkOption {
+      type = types.str;
+      default = "/var/lib/trilium";
+      description = ''
+        The directory storing the nodes database and the configuration.
+      '';
+    };
+
+    instanceName = mkOption {
+      type = types.str;
+      default = "Trilium";
+      description = ''
+        Instance name used to distinguish between different instances
+      '';
+    };
+
+    host = mkOption {
+      type = types.str;
+      default = "127.0.0.1";
+      description = ''
+        The host address to bind to (defaults to localhost).
+      '';
+    };
+
+    port = mkOption {
+      type = types.int;
+      default = 8080;
+      description = ''
+        The port number to bind to.
+      '';
+    };
+
+    nginx = mkOption {
+      default = {};
+      description = ''
+        Configuration for nginx reverse proxy.
+      '';
+
+      type = types.submodule {
+        options = {
+          enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''
+              Configure the nginx reverse proxy settings.
+            '';
+          };
+
+          hostName = mkOption {
+            type = types.str;
+            description = ''
+              The hostname use to setup the virtualhost configuration
+            '';
+          };
+        };
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable (lib.mkMerge [ 
+  {
+    meta.maintainers = with lib.maintainers; [ kampka ];
+
+    users.groups.trilium = {};
+    users.users.trilium = {
+      description = "Trilium User";
+      group = "trilium";
+      home = cfg.dataDir;
+      isSystemUser = true;
+    };
+
+    systemd.services.trilium-server = {
+      wantedBy = [ "multi-user.target" ];
+      environment.TRILIUM_DATA_DIR = cfg.dataDir;
+      serviceConfig = {
+        ExecStart = "${pkgs.trilium-server}/bin/trilium-server";
+        User = "trilium";
+        Group = "trilium";
+        PrivateTmp = "true";
+      };
+    };
+
+    systemd.tmpfiles.rules = [
+      "d  ${cfg.dataDir}            0750 trilium trilium - -"
+      "L+ ${cfg.dataDir}/config.ini -    -       -       - ${configIni}"
+    ];
+
+  }
+
+  (lib.mkIf cfg.nginx.enable {
+    services.nginx = {
+      enable = true;
+      virtualHosts."${cfg.nginx.hostName}" = {
+        locations."/" = {
+          proxyPass = "http://${cfg.host}:${toString cfg.port}/";
+          extraConfig = ''
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection 'upgrade';
+            proxy_set_header Host $host;
+            proxy_cache_bypass $http_upgrade;
+          '';
+        };
+        extraConfig = ''
+          client_max_body_size 0;
+        '';
+      };
+    };
+  })
+  ]);
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/virtlyst.nix b/nixpkgs/nixos/modules/services/web-apps/virtlyst.nix
index e5c0bff2168a..37bdbb0e3b42 100644
--- a/nixpkgs/nixos/modules/services/web-apps/virtlyst.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/virtlyst.nix
@@ -54,6 +54,7 @@ in
       home = stateDir;
       createHome = true;
       group = mkIf config.virtualisation.libvirtd.enable "libvirtd";
+      isSystemUser = true;
     };
 
     systemd.services.virtlyst = {
diff --git a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
index e311dd917dd0..ad4f39fbf52c 100644
--- a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
@@ -3,7 +3,7 @@
 let
   inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
   inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
-  inherit (lib) mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
+  inherit (lib) mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
 
   eachSite = config.services.wordpress;
   user = "wordpress";
@@ -127,7 +127,7 @@ let
             <note><para>These themes need to be packaged before use, see example.</para></note>
           '';
           example = ''
-            # For shits and giggles, let's package the responsive theme
+            # Let's package the responsive theme
             responsiveTheme = pkgs.stdenv.mkDerivation {
               name = "responsive-theme";
               # Download the theme from the wordpress site
@@ -209,18 +209,12 @@ let
         };
 
         virtualHost = mkOption {
-          type = types.submodule ({
-            options = import ../web-servers/apache-httpd/per-server-options.nix {
-              inherit lib;
-              forMainServer = false;
-            };
-          });
+          type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
           example = literalExample ''
             {
-              enableSSL = true;
               adminAddr = "webmaster@example.org";
-              sslServerCert = "/var/lib/acme/wordpress.example.org/full.pem";
-              sslServerKey = "/var/lib/acme/wordpress.example.org/key.pem";
+              forceSSL = true;
+              enableACME = true;
             }
           '';
           description = ''
@@ -304,41 +298,37 @@ in
     services.httpd = {
       enable = true;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = mapAttrsToList (hostName: cfg:
-        (mkMerge [
-          cfg.virtualHost {
-            documentRoot = mkForce "${pkg hostName cfg}/share/wordpress";
-            extraConfig = ''
-              <Directory "${pkg hostName cfg}/share/wordpress">
-                <FilesMatch "\.php$">
-                  <If "-f %{REQUEST_FILENAME}">
-                    SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
-                  </If>
-                </FilesMatch>
-
-                # standard wordpress .htaccess contents
-                <IfModule mod_rewrite.c>
-                  RewriteEngine On
-                  RewriteBase /
-                  RewriteRule ^index\.php$ - [L]
-                  RewriteCond %{REQUEST_FILENAME} !-f
-                  RewriteCond %{REQUEST_FILENAME} !-d
-                  RewriteRule . /index.php [L]
-                </IfModule>
-
-                DirectoryIndex index.php
-                Require all granted
-                Options +FollowSymLinks
-              </Directory>
-
-              # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
-              <Files wp-config.php>
-                Require all denied
-              </Files>
-            '';
-          }
-        ])
-      ) eachSite;
+      virtualHosts = mapAttrs (hostName: cfg: mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg hostName cfg}/share/wordpress";
+        extraConfig = ''
+          <Directory "${pkg hostName cfg}/share/wordpress">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            # standard wordpress .htaccess contents
+            <IfModule mod_rewrite.c>
+              RewriteEngine On
+              RewriteBase /
+              RewriteRule ^index\.php$ - [L]
+              RewriteCond %{REQUEST_FILENAME} !-f
+              RewriteCond %{REQUEST_FILENAME} !-d
+              RewriteRule . /index.php [L]
+            </IfModule>
+
+            DirectoryIndex index.php
+            Require all granted
+            Options +FollowSymLinks
+          </Directory>
+
+          # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
+          <Files wp-config.php>
+            Require all denied
+          </Files>
+        '';
+      } ]) eachSite;
     };
 
     systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
@@ -367,7 +357,10 @@ in
       })
     ];
 
-    users.users.${user}.group = group;
+    users.users.${user} = {
+      group = group;
+      isSystemUser = true;
+    };
 
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/zabbix.nix b/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
index 09538726b7cd..ee8447810c6d 100644
--- a/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
@@ -113,19 +113,15 @@ in
       };
 
       virtualHost = mkOption {
-        type = types.submodule ({
-          options = import ../web-servers/apache-httpd/per-server-options.nix {
-            inherit lib;
-            forMainServer = false;
-          };
-        });
-        example = {
-          hostName = "zabbix.example.org";
-          enableSSL = true;
-          adminAddr = "webmaster@example.org";
-          sslServerCert = "/var/lib/acme/zabbix.example.org/full.pem";
-          sslServerKey = "/var/lib/acme/zabbix.example.org/key.pem";
-        };
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+        example = literalExample ''
+          {
+            hostName = "zabbix.example.org";
+            adminAddr = "webmaster@example.org";
+            forceSSL = true;
+            enableACME = true;
+          }
+        '';
         description = ''
           Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
           See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -190,23 +186,21 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${cfg.package}/share/zabbix";
-          extraConfig = ''
-            <Directory "${cfg.package}/share/zabbix">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-              AllowOverride all
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${cfg.package}/share/zabbix";
+        extraConfig = ''
+          <Directory "${cfg.package}/share/zabbix">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+            AllowOverride all
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     users.users.${user} = mapAttrs (name: mkDefault) {
diff --git a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
index 098160ee3692..4460f89ec5c1 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -6,124 +6,50 @@ let
 
   mainCfg = config.services.httpd;
 
+  runtimeDir = "/run/httpd";
+
   httpd = mainCfg.package.out;
 
   httpdConf = mainCfg.configFile;
 
   php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ };
 
-  phpMajorVersion = head (splitString "." php.version);
+  phpMajorVersion = lib.versions.major (lib.getVersion php);
 
   mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; };
 
-  defaultListen = cfg: if cfg.enableSSL
-    then [{ip = "*"; port = 443;}]
-    else [{ip = "*"; port = 80;}];
-
-  getListen = cfg:
-    if cfg.listen == []
-      then defaultListen cfg
-      else cfg.listen;
-
-  listenToString = l: "${l.ip}:${toString l.port}";
-
-  extraModules = attrByPath ["extraModules"] [] mainCfg;
-  extraForeignModules = filter isAttrs extraModules;
-  extraApacheModules = filter isString extraModules;
-
-
-  makeServerInfo = cfg: {
-    # Canonical name must not include a trailing slash.
-    canonicalNames =
-      let defaultPort = (head (defaultListen cfg)).port; in
-      map (port:
-        (if cfg.enableSSL then "https" else "http") + "://" +
-        cfg.hostName +
-        (if port != defaultPort then ":${toString port}" else "")
-        ) (map (x: x.port) (getListen cfg));
-
-    # Admin address: inherit from the main server if not specified for
-    # a virtual host.
-    adminAddr = if cfg.adminAddr != null then cfg.adminAddr else mainCfg.adminAddr;
-
-    vhostConfig = cfg;
-    serverConfig = mainCfg;
-    fullConfig = config; # machine config
-  };
-
-
-  allHosts = [mainCfg] ++ mainCfg.virtualHosts;
-
-
-  callSubservices = serverInfo: defs:
-    let f = svc:
-      let
-        svcFunction =
-          if svc ? function then svc.function
-          # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix;
-          else if svc ? serviceExpression then import (toString svc.serviceExpression)
-          else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix");
-        config = (evalModules
-          { modules = [ { options = res.options; config = svc.config or svc; } ];
-            check = false;
-          }).config;
-        defaults = {
-          extraConfig = "";
-          extraModules = [];
-          extraModulesPre = [];
-          extraPath = [];
-          extraServerPath = [];
-          globalEnvVars = [];
-          robotsEntries = "";
-          startupScript = "";
-          enablePHP = false;
-          enablePerl = false;
-          phpOptions = "";
-          options = {};
-          documentRoot = null;
-        };
-        res = defaults // svcFunction { inherit config lib pkgs serverInfo php; };
-      in res;
-    in map f defs;
+  vhosts = attrValues mainCfg.virtualHosts;
 
+  mkListenInfo = hostOpts:
+    if hostOpts.listen != [] then hostOpts.listen
+    else (
+      optional (hostOpts.onlySSL || hostOpts.addSSL || hostOpts.forceSSL) { ip = "*"; port = 443; ssl = true; } ++
+      optional (!hostOpts.onlySSL) { ip = "*"; port = 80; ssl = false; }
+    );
 
-  # !!! callSubservices is expensive
-  subservicesFor = cfg: callSubservices (makeServerInfo cfg) cfg.extraSubservices;
+  listenInfo = unique (concatMap mkListenInfo vhosts);
 
-  mainSubservices = subservicesFor mainCfg;
+  enableSSL = any (listen: listen.ssl) listenInfo;
 
-  allSubservices = mainSubservices ++ concatMap subservicesFor mainCfg.virtualHosts;
+  enableUserDir = any (vhost: vhost.enableUserDir) vhosts;
 
-
-  enableSSL = any (vhost: vhost.enableSSL) allHosts;
-
-
-  # Names of modules from ${httpd}/modules that we want to load.
-  apacheModules =
-    [ # HTTP authentication mechanisms: basic and digest.
-      "auth_basic" "auth_digest"
-
-      # Authentication: is the user who he claims to be?
-      "authn_file" "authn_dbm" "authn_anon" "authn_core"
-
-      # Authorization: is the user allowed access?
-      "authz_user" "authz_groupfile" "authz_host" "authz_core"
-
-      # Other modules.
-      "ext_filter" "include" "log_config" "env" "mime_magic"
-      "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif"
-      "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs"
-      "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling"
-      "userdir" "alias" "rewrite" "proxy" "proxy_http"
-      "unixd" "cache" "cache_disk" "slotmem_shm" "socache_shmcb"
+  # NOTE: generally speaking order of modules is very important
+  modules =
+    [ # required apache modules our httpd service cannot run without
+      "authn_core" "authz_core"
+      "log_config"
+      "mime" "autoindex" "negotiation" "dir"
+      "alias" "rewrite"
+      "unixd" "slotmem_shm" "socache_shmcb"
       "mpm_${mainCfg.multiProcessingModule}"
-
-      # For compatibility with old configurations, the new module mod_access_compat is provided.
-      "access_compat"
     ]
     ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
     ++ optional enableSSL "ssl"
-    ++ extraApacheModules;
+    ++ optional enableUserDir "userdir"
+    ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
+    ++ optional mainCfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
+    ++ optional mainCfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
+    ++ mainCfg.extraModules;
 
 
   allDenied = "Require all denied";
@@ -147,20 +73,22 @@ let
 
 
   browserHacks = ''
-    BrowserMatch "Mozilla/2" nokeepalive
-    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-    BrowserMatch "RealPlayer 4\.0" force-response-1.0
-    BrowserMatch "Java/1\.0" force-response-1.0
-    BrowserMatch "JDK/1\.0" force-response-1.0
-    BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
-    BrowserMatch "^WebDrive" redirect-carefully
-    BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
-    BrowserMatch "^gnome-vfs" redirect-carefully
+    <IfModule mod_setenvif.c>
+        BrowserMatch "Mozilla/2" nokeepalive
+        BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+        BrowserMatch "RealPlayer 4\.0" force-response-1.0
+        BrowserMatch "Java/1\.0" force-response-1.0
+        BrowserMatch "JDK/1\.0" force-response-1.0
+        BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
+        BrowserMatch "^WebDrive" redirect-carefully
+        BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
+        BrowserMatch "^gnome-vfs" redirect-carefully
+    </IfModule>
   '';
 
 
   sslConf = ''
-    SSLSessionCache shmcb:${mainCfg.stateDir}/ssl_scache(512000)
+    SSLSessionCache shmcb:${runtimeDir}/ssl_scache(512000)
 
     Mutex posixsem
 
@@ -185,130 +113,144 @@ let
     </IfModule>
   '';
 
-
-  perServerConf = isMainServer: cfg: let
-
-    serverInfo = makeServerInfo cfg;
-
-    subservices = callSubservices serverInfo cfg.extraSubservices;
-
-    maybeDocumentRoot = fold (svc: acc:
-      if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc
-    ) null ([ cfg ] ++ subservices);
-
-    documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else
-      pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out";
-
-    documentRootConf = ''
-      DocumentRoot "${documentRoot}"
-
-      <Directory "${documentRoot}">
-          Options Indexes FollowSymLinks
-          AllowOverride None
-          ${allGranted}
-      </Directory>
-    '';
-
-    robotsTxt =
-      concatStringsSep "\n" (filter (x: x != "") (
-        # If this is a vhost, the include the entries for the main server as well.
-        (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices)
-        ++ [cfg.robotsEntries]
-        ++ (map (svc: svc.robotsEntries) subservices)));
-
-  in ''
-    ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)}
-
-    ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases}
-
-    ${if cfg.sslServerCert != null then ''
-      SSLCertificateFile ${cfg.sslServerCert}
-      SSLCertificateKeyFile ${cfg.sslServerKey}
-      ${if cfg.sslServerChain != null then ''
-        SSLCertificateChainFile ${cfg.sslServerChain}
-      '' else ""}
-    '' else ""}
-
-    ${if cfg.enableSSL then ''
-      SSLEngine on
-    '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */
-    ''
-      SSLEngine off
-    '' else ""}
-
-    ${if isMainServer || cfg.adminAddr != null then ''
-      ServerAdmin ${cfg.adminAddr}
-    '' else ""}
-
-    ${if !isMainServer && mainCfg.logPerVirtualHost then ''
-      ErrorLog ${mainCfg.logDir}/error-${cfg.hostName}.log
-      CustomLog ${mainCfg.logDir}/access-${cfg.hostName}.log ${cfg.logFormat}
-    '' else ""}
-
-    ${optionalString (robotsTxt != "") ''
-      Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt}
-    ''}
-
-    ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""}
-
-    ${if cfg.enableUserDir then ''
-
-      UserDir public_html
-      UserDir disabled root
-
-      <Directory "/home/*/public_html">
-          AllowOverride FileInfo AuthConfig Limit Indexes
-          Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-          <Limit GET POST OPTIONS>
-              ${allGranted}
-          </Limit>
-          <LimitExcept GET POST OPTIONS>
-              ${allDenied}
-          </LimitExcept>
-      </Directory>
-
-    '' else ""}
-
-    ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then ''
-      RedirectPermanent / ${cfg.globalRedirect}
-    '' else ""}
-
-    ${
-      let makeFileConf = elem: ''
-            Alias ${elem.urlPath} ${elem.file}
-          '';
-      in concatMapStrings makeFileConf cfg.servedFiles
-    }
-
-    ${
-      let makeDirConf = elem: ''
-            Alias ${elem.urlPath} ${elem.dir}/
-            <Directory ${elem.dir}>
-                Options +Indexes
-                ${allGranted}
-                AllowOverride All
-            </Directory>
-          '';
-      in concatMapStrings makeDirConf cfg.servedDirs
-    }
-
-    ${concatMapStrings (svc: svc.extraConfig) subservices}
-
-    ${cfg.extraConfig}
-  '';
+  mkVHostConf = hostOpts:
+    let
+      adminAddr = if hostOpts.adminAddr != null then hostOpts.adminAddr else mainCfg.adminAddr;
+      listen = filter (listen: !listen.ssl) (mkListenInfo hostOpts);
+      listenSSL = filter (listen: listen.ssl) (mkListenInfo hostOpts);
+
+      useACME = hostOpts.enableACME || hostOpts.useACMEHost != null;
+      sslCertDir =
+        if hostOpts.enableACME then config.security.acme.certs.${hostOpts.hostName}.directory
+        else if hostOpts.useACMEHost != null then config.security.acme.certs.${hostOpts.useACMEHost}.directory
+        else abort "This case should never happen.";
+
+      sslServerCert = if useACME then "${sslCertDir}/full.pem" else hostOpts.sslServerCert;
+      sslServerKey = if useACME then "${sslCertDir}/key.pem" else hostOpts.sslServerKey;
+      sslServerChain = if useACME then "${sslCertDir}/fullchain.pem" else hostOpts.sslServerChain;
+
+      acmeChallenge = optionalString useACME ''
+        Alias /.well-known/acme-challenge/ "${hostOpts.acmeRoot}/.well-known/acme-challenge/"
+        <Directory "${hostOpts.acmeRoot}">
+            AllowOverride None
+            Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+            Require method GET POST OPTIONS
+            Require all granted
+        </Directory>
+      '';
+    in
+      optionalString (listen != []) ''
+        <VirtualHost ${concatMapStringsSep " " (listen: "${listen.ip}:${toString listen.port}") listen}>
+            ServerName ${hostOpts.hostName}
+            ${concatMapStrings (alias: "ServerAlias ${alias}\n") hostOpts.serverAliases}
+            ServerAdmin ${adminAddr}
+            <IfModule mod_ssl.c>
+                SSLEngine off
+            </IfModule>
+            ${acmeChallenge}
+            ${if hostOpts.forceSSL then ''
+              <IfModule mod_rewrite.c>
+                  RewriteEngine on
+                  RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge [NC]
+                  RewriteCond %{HTTPS} off
+                  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
+              </IfModule>
+            '' else mkVHostCommonConf hostOpts}
+        </VirtualHost>
+      '' +
+      optionalString (listenSSL != []) ''
+        <VirtualHost ${concatMapStringsSep " " (listen: "${listen.ip}:${toString listen.port}") listenSSL}>
+            ServerName ${hostOpts.hostName}
+            ${concatMapStrings (alias: "ServerAlias ${alias}\n") hostOpts.serverAliases}
+            ServerAdmin ${adminAddr}
+            SSLEngine on
+            SSLCertificateFile ${sslServerCert}
+            SSLCertificateKeyFile ${sslServerKey}
+            ${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"}
+            ${acmeChallenge}
+            ${mkVHostCommonConf hostOpts}
+        </VirtualHost>
+      ''
+  ;
+
+  mkVHostCommonConf = hostOpts:
+    let
+      documentRoot = if hostOpts.documentRoot != null
+        then hostOpts.documentRoot
+        else pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"
+      ;
+    in
+      ''
+        ${optionalString mainCfg.logPerVirtualHost ''
+          ErrorLog ${mainCfg.logDir}/error-${hostOpts.hostName}.log
+          CustomLog ${mainCfg.logDir}/access-${hostOpts.hostName}.log ${hostOpts.logFormat}
+        ''}
+
+        ${optionalString (hostOpts.robotsEntries != "") ''
+          Alias /robots.txt ${pkgs.writeText "robots.txt" hostOpts.robotsEntries}
+        ''}
+
+        DocumentRoot "${documentRoot}"
+
+        <Directory "${documentRoot}">
+            Options Indexes FollowSymLinks
+            AllowOverride None
+            ${allGranted}
+        </Directory>
+
+        ${optionalString hostOpts.enableUserDir ''
+          UserDir public_html
+          UserDir disabled root
+          <Directory "/home/*/public_html">
+              AllowOverride FileInfo AuthConfig Limit Indexes
+              Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+              <Limit GET POST OPTIONS>
+                  Require all granted
+              </Limit>
+              <LimitExcept GET POST OPTIONS>
+                  Require all denied
+              </LimitExcept>
+          </Directory>
+        ''}
+
+        ${optionalString (hostOpts.globalRedirect != null && hostOpts.globalRedirect != "") ''
+          RedirectPermanent / ${hostOpts.globalRedirect}
+        ''}
+
+        ${
+          let makeFileConf = elem: ''
+                Alias ${elem.urlPath} ${elem.file}
+              '';
+          in concatMapStrings makeFileConf hostOpts.servedFiles
+        }
+        ${
+          let makeDirConf = elem: ''
+                Alias ${elem.urlPath} ${elem.dir}/
+                <Directory ${elem.dir}>
+                    Options +Indexes
+                    ${allGranted}
+                    AllowOverride All
+                </Directory>
+              '';
+          in concatMapStrings makeDirConf hostOpts.servedDirs
+        }
+
+        ${hostOpts.extraConfig}
+      ''
+  ;
 
 
   confFile = pkgs.writeText "httpd.conf" ''
 
     ServerRoot ${httpd}
+    ServerName ${config.networking.hostName}
+    DefaultRuntimeDir ${runtimeDir}/runtime
 
-    DefaultRuntimeDir ${mainCfg.stateDir}/runtime
-
-    PidFile ${mainCfg.stateDir}/httpd.pid
+    PidFile ${runtimeDir}/httpd.pid
 
     ${optionalString (mainCfg.multiProcessingModule != "prefork") ''
       # mod_cgid requires this.
-      ScriptSock ${mainCfg.stateDir}/cgisock
+      ScriptSock ${runtimeDir}/cgisock
     ''}
 
     <IfModule prefork.c>
@@ -317,26 +259,21 @@ let
     </IfModule>
 
     ${let
-        listen = concatMap getListen allHosts;
-        toStr = listen: "Listen ${listenToString listen}\n";
-        uniqueListen = uniqList {inputList = map toStr listen;};
-      in concatStrings uniqueListen
+        toStr = listen: "Listen ${listen.ip}:${toString listen.port} ${if listen.ssl then "https" else "http"}";
+        uniqueListen = uniqList {inputList = map toStr listenInfo;};
+      in concatStringsSep "\n" uniqueListen
     }
 
     User ${mainCfg.user}
     Group ${mainCfg.group}
 
     ${let
-        load = {name, path}: "LoadModule ${name}_module ${path}\n";
-        allModules =
-          concatMap (svc: svc.extraModulesPre) allSubservices
-          ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules
-          ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
-          ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
-          ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
-          ++ concatMap (svc: svc.extraModules) allSubservices
-          ++ extraForeignModules;
-      in concatMapStrings load (unique allModules)
+        mkModule = module:
+          if isString module then { name = module; path = "${httpd}/modules/mod_${module}.so"; }
+          else if isAttrs module then { inherit (module) name path; }
+          else throw "Expecting either a string or attribute set including a name and path.";
+      in
+        concatMapStringsSep "\n" (module: "LoadModule ${module.name}_module ${module.path}") (unique (map mkModule modules))
     }
 
     AddHandler type-map var
@@ -372,30 +309,15 @@ let
         ${allGranted}
     </Directory>
 
-    # Generate directives for the main server.
-    ${perServerConf true mainCfg}
+    ${mainCfg.extraConfig}
 
-    ${let
-        makeVirtualHost = vhost: ''
-          <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}>
-              ${perServerConf false vhost}
-          </VirtualHost>
-        '';
-      in concatMapStrings makeVirtualHost mainCfg.virtualHosts
-    }
+    ${concatMapStringsSep "\n" mkVHostConf vhosts}
   '';
 
-
-  enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices;
-
-  enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices;
-
-
   # Generate the PHP configuration file.  Should probably be factored
   # out into a separate module.
   phpIni = pkgs.runCommand "php.ini"
-    { options = concatStringsSep "\n"
-        ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices));
+    { options = mainCfg.phpOptions;
       preferLocalBuild = true;
     }
     ''
@@ -408,6 +330,26 @@ in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "httpd" "extraSubservices" ] "Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.")
+    (mkRemovedOptionModule [ "services" "httpd" "stateDir" ] "The httpd module now uses /run/httpd as a runtime directory.")
+
+    # virtualHosts options
+    (mkRemovedOptionModule [ "services" "httpd" "documentRoot" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "enableSSL" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "enableUserDir" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "globalRedirect" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "hostName" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "listen" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "robotsEntries" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "servedDirs" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "servedFiles" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "serverAliases" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerCert" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerChain" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerKey" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+  ];
+
   ###### interface
 
   options = {
@@ -444,7 +386,7 @@ in
         type = types.lines;
         default = "";
         description = ''
-          Cnfiguration lines appended to the generated Apache
+          Configuration lines appended to the generated Apache
           configuration file. Note that this mechanism may not work
           when <option>configFile</option> is overridden.
         '';
@@ -453,7 +395,12 @@ in
       extraModules = mkOption {
         type = types.listOf types.unspecified;
         default = [];
-        example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]'';
+        example = literalExample ''
+          [
+            "proxy_connect"
+            { name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
+          ]
+        '';
         description = ''
           Additional Apache modules to be used.  These can be
           specified as a string in the case of modules distributed
@@ -463,9 +410,25 @@ in
         '';
       };
 
+      adminAddr = mkOption {
+        type = types.str;
+        example = "admin@example.org";
+        description = "E-mail address of the server administrator.";
+      };
+
+      logFormat = mkOption {
+        type = types.str;
+        default = "common";
+        example = "combined";
+        description = ''
+          Log format for log files. Possible values are: combined, common, referer, agent.
+          See <link xlink:href="https://httpd.apache.org/docs/2.4/logs.html"/> for more details.
+        '';
+      };
+
       logPerVirtualHost = mkOption {
         type = types.bool;
-        default = false;
+        default = true;
         description = ''
           If enabled, each virtual host gets its own
           <filename>access.log</filename> and
@@ -500,37 +463,29 @@ in
         '';
       };
 
-      stateDir = mkOption {
-        type = types.path;
-        default = "/run/httpd";
-        description = ''
-          Directory for Apache's transient runtime state (such as PID
-          files).  It is created automatically.  Note that the default,
-          <filename>/run/httpd</filename>, is deleted at boot time.
-        '';
-      };
-
       virtualHosts = mkOption {
-        type = types.listOf (types.submodule (
-          { options = import ./per-server-options.nix {
-              inherit lib;
-              forMainServer = false;
+        type = with types; attrsOf (submodule (import ./per-server-options.nix));
+        default = {
+          localhost = {
+            documentRoot = "${httpd}/htdocs";
+          };
+        };
+        example = literalExample ''
+          {
+            "foo.example.com" = {
+              forceSSL = true;
+              documentRoot = "/var/www/foo.example.com"
+            };
+            "bar.example.com" = {
+              addSSL = true;
+              documentRoot = "/var/www/bar.example.com";
             };
-          }));
-        default = [];
-        example = [
-          { hostName = "foo";
-            documentRoot = "/data/webroot-foo";
-          }
-          { hostName = "bar";
-            documentRoot = "/data/webroot-bar";
           }
-        ];
+        '';
         description = ''
-          Specification of the virtual hosts served by Apache.  Each
+          Specification of the virtual hosts served by Apache. Each
           element should be an attribute set specifying the
-          configuration of the virtual host.  The available options
-          are the non-global options permissible for the main host.
+          configuration of the virtual host.
         '';
       };
 
@@ -612,17 +567,11 @@ in
 
       sslProtocols = mkOption {
         type = types.str;
-        default = "All -SSLv2 -SSLv3 -TLSv1";
+        default = "All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1";
         example = "All -SSLv2 -SSLv3";
         description = "Allowed SSL/TLS protocol versions.";
       };
-    }
-
-    # Include the options shared between the main server and virtual hosts.
-    // (import ./per-server-options.nix {
-      inherit lib;
-      forMainServer = true;
-    });
+    };
 
   };
 
@@ -631,27 +580,54 @@ in
 
   config = mkIf config.services.httpd.enable {
 
-    assertions = [ { assertion = mainCfg.enableSSL == true
-                               -> mainCfg.sslServerCert != null
-                                    && mainCfg.sslServerKey != null;
-                     message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; }
-                 ];
-
-    warnings = map (cfg: "apache-httpd's extraSubservices option is deprecated. Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.") (lib.filter (cfg: cfg.extraSubservices != []) allHosts);
+    assertions = [
+      {
+        assertion = all (hostOpts: !hostOpts.enableSSL) vhosts;
+        message = ''
+          The option `services.httpd.virtualHosts.<name>.enableSSL` no longer has any effect; please remove it.
+          Select one of `services.httpd.virtualHosts.<name>.addSSL`, `services.httpd.virtualHosts.<name>.forceSSL`,
+          or `services.httpd.virtualHosts.<name>.onlySSL`.
+        '';
+      }
+      {
+        assertion = all (hostOpts: with hostOpts; !(addSSL && onlySSL) && !(forceSSL && onlySSL) && !(addSSL && forceSSL)) vhosts;
+        message = ''
+          Options `services.httpd.virtualHosts.<name>.addSSL`,
+          `services.httpd.virtualHosts.<name>.onlySSL` and `services.httpd.virtualHosts.<name>.forceSSL`
+          are mutually exclusive.
+        '';
+      }
+      {
+        assertion = all (hostOpts: !(hostOpts.enableACME && hostOpts.useACMEHost != null)) vhosts;
+        message = ''
+          Options `services.httpd.virtualHosts.<name>.enableACME` and
+          `services.httpd.virtualHosts.<name>.useACMEHost` are mutually exclusive.
+        '';
+      }
+    ];
 
-    users.users = optionalAttrs (mainCfg.user == "wwwrun") (singleton
-      { name = "wwwrun";
+    users.users = optionalAttrs (mainCfg.user == "wwwrun") {
+      wwwrun = {
         group = mainCfg.group;
         description = "Apache httpd user";
         uid = config.ids.uids.wwwrun;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (mainCfg.group == "wwwrun") (singleton
-      { name = "wwwrun";
-        gid = config.ids.gids.wwwrun;
-      });
+    users.groups = optionalAttrs (mainCfg.group == "wwwrun") {
+      wwwrun.gid = config.ids.gids.wwwrun;
+    };
 
-    environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices;
+    security.acme.certs = mapAttrs (name: hostOpts: {
+      user = mainCfg.user;
+      group = mkDefault mainCfg.group;
+      email = if hostOpts.adminAddr != null then hostOpts.adminAddr else mainCfg.adminAddr;
+      webroot = hostOpts.acmeRoot;
+      extraDomains = genAttrs hostOpts.serverAliases (alias: null);
+      postRun = "systemctl reload httpd.service";
+    }) (filterAttrs (name: hostOpts: hostOpts.enableACME) mainCfg.virtualHosts);
+
+    environment.systemPackages = [httpd];
 
     services.httpd.phpOptions =
       ''
@@ -666,30 +642,48 @@ in
         date.timezone = "${config.time.timeZone}"
       '';
 
+    services.httpd.extraModules = mkBefore [
+      # HTTP authentication mechanisms: basic and digest.
+      "auth_basic" "auth_digest"
+
+      # Authentication: is the user who he claims to be?
+      "authn_file" "authn_dbm" "authn_anon"
+
+      # Authorization: is the user allowed access?
+      "authz_user" "authz_groupfile" "authz_host"
+
+      # Other modules.
+      "ext_filter" "include" "env" "mime_magic"
+      "cern_meta" "expires" "headers" "usertrack" "setenvif"
+      "dav" "status" "asis" "info" "dav_fs"
+      "vhost_alias" "imagemap" "actions" "speling"
+      "proxy" "proxy_http"
+      "cache" "cache_disk"
+
+      # For compatibility with old configurations, the new module mod_access_compat is provided.
+      "access_compat"
+    ];
+
     systemd.services.httpd =
+      let
+        vhostsACME = filter (hostOpts: hostOpts.enableACME) vhosts;
+      in
       { description = "Apache HTTPD";
 
         wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" "fs.target" ];
+        wants = concatLists (map (hostOpts: [ "acme-${hostOpts.hostName}.service" "acme-selfsigned-${hostOpts.hostName}.service" ]) vhostsACME);
+        after = [ "network.target" "fs.target" ] ++ map (hostOpts: "acme-selfsigned-${hostOpts.hostName}.service") vhostsACME;
 
         path =
           [ httpd pkgs.coreutils pkgs.gnugrep ]
-          ++ optional enablePHP pkgs.system-sendmail # Needed for PHP's mail() function.
-          ++ concatMap (svc: svc.extraServerPath) allSubservices;
+          ++ optional mainCfg.enablePHP pkgs.system-sendmail; # Needed for PHP's mail() function.
 
         environment =
-          optionalAttrs enablePHP { PHPRC = phpIni; }
-          // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH  = "${pkgs.xmlsec}/lib"; }
-          // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices));
+          optionalAttrs mainCfg.enablePHP { PHPRC = phpIni; }
+          // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH  = "${pkgs.xmlsec}/lib"; };
 
         preStart =
           ''
-            mkdir -m 0750 -p ${mainCfg.stateDir}
-            [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir}
-
-            mkdir -m 0750 -p "${mainCfg.stateDir}/runtime"
-            [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime"
-
             mkdir -m 0700 -p ${mainCfg.logDir}
 
             # Get rid of old semaphores.  These tend to accumulate across
@@ -698,21 +692,18 @@ in
             for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${mainCfg.user} ' | cut -f2 -d ' '); do
                 ${pkgs.utillinux}/bin/ipcrm -s $i
             done
-
-            # Run the startup hooks for the subservices.
-            for i in ${toString (map (svn: svn.startupScript) allSubservices)}; do
-                echo Running Apache startup hook $i...
-                $i
-            done
           '';
 
         serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}";
         serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop";
         serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful";
+        serviceConfig.Group = mainCfg.group;
         serviceConfig.Type = "forking";
-        serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid";
+        serviceConfig.PIDFile = "${runtimeDir}/httpd.pid";
         serviceConfig.Restart = "always";
         serviceConfig.RestartSec = "5s";
+        serviceConfig.RuntimeDirectory = "httpd httpd/runtime";
+        serviceConfig.RuntimeDirectoryMode = "0750";
       };
 
   };
diff --git a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
index 9d747549c274..f2e92cda05f6 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
@@ -1,180 +1,235 @@
-# This file defines the options that can be used both for the Apache
-# 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.)
-
-{ forMainServer, lib }:
-
-with lib;
-
+{ config, lib, name, ... }:
+let
+  inherit (lib) mkOption types;
+in
 {
+  options = {
+
+    hostName = mkOption {
+      type = types.str;
+      default = name;
+      description = "Canonical hostname for the server.";
+    };
+
+    serverAliases = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = ["www.example.org" "www.example.org:8080" "example.org"];
+      description = ''
+        Additional names of virtual hosts served by this virtual host configuration.
+      '';
+    };
+
+    listen = mkOption {
+      type = with types; listOf (submodule ({
+        options = {
+          port = mkOption {
+            type = types.port;
+            description = "Port to listen on";
+          };
+          ip = mkOption {
+            type = types.str;
+            default = "*";
+            description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all.";
+          };
+          ssl = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable SSL (https) support.";
+          };
+        };
+      }));
+      default = [];
+      example = [
+        { ip = "195.154.1.1"; port = 443; ssl = true;}
+        { ip = "192.154.1.1"; port = 80; }
+        { ip = "*"; port = 8080; }
+      ];
+      description = ''
+        Listen addresses and ports for this virtual host.
+        <note><para>
+          This option overrides <literal>addSSL</literal>, <literal>forceSSL</literal> and <literal>onlySSL</literal>.
+        </para></note>
+      '';
+    };
+
+    enableSSL = mkOption {
+      type = types.bool;
+      visible = false;
+      default = false;
+    };
+
+    addSSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
+        <literal>listen</literal> to listen on all interfaces on the respective default
+        ports (80, 443).
+      '';
+    };
+
+    onlySSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable HTTPS and reject plain HTTP connections. This will set
+        defaults for <literal>listen</literal> to listen on all interfaces on port 443.
+      '';
+    };
+
+    forceSSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to add a separate nginx server block that permanently redirects (301)
+        all plain HTTP traffic to HTTPS. This will set defaults for
+        <literal>listen</literal> to listen on all interfaces on the respective default
+        ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
+      '';
+    };
+
+    enableACME = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to ask Let's Encrypt to sign a certificate for this vhost.
+        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
+      '';
+    };
+
+    useACMEHost = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        A host of an existing Let's Encrypt certificate to use.
+        This is useful if you have many subdomains and want to avoid hitting the
+        <link xlink:href="https://letsencrypt.org/docs/rate-limits/">rate limit</link>.
+        Alternately, you can generate a certificate through <option>enableACME</option>.
+        <emphasis>Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using  <xref linkend="opt-security.acme.certs"/>.</emphasis>
+      '';
+    };
+
+    acmeRoot = mkOption {
+      type = types.str;
+      default = "/var/lib/acme/acme-challenges";
+      description = "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here";
+    };
+
+    sslServerCert = mkOption {
+      type = types.path;
+      example = "/var/host.cert";
+      description = "Path to server SSL certificate.";
+    };
+
+    sslServerKey = mkOption {
+      type = types.path;
+      example = "/var/host.key";
+      description = "Path to server SSL certificate key.";
+    };
+
+    sslServerChain = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/var/ca.pem";
+      description = "Path to server SSL chain file.";
+    };
+
+    adminAddr = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "admin@example.org";
+      description = "E-mail address of the server administrator.";
+    };
+
+    documentRoot = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/data/webserver/docs";
+      description = ''
+        The path of Apache's document root directory.  If left undefined,
+        an empty directory in the Nix store will be used as root.
+      '';
+    };
+
+    servedDirs = mkOption {
+      type = types.listOf types.attrs;
+      default = [];
+      example = [
+        { urlPath = "/nix";
+          dir = "/home/eelco/Dev/nix-homepage";
+        }
+      ];
+      description = ''
+        This option provides a simple way to serve static directories.
+      '';
+    };
+
+    servedFiles = mkOption {
+      type = types.listOf types.attrs;
+      default = [];
+      example = [
+        { urlPath = "/foo/bar.png";
+          file = "/home/eelco/some-file.png";
+        }
+      ];
+      description = ''
+        This option provides a simple way to serve individual, static files.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      example = ''
+        <Directory /home>
+          Options FollowSymlinks
+          AllowOverride All
+        </Directory>
+      '';
+      description = ''
+        These lines go to httpd.conf verbatim. They will go after
+        directories and directory aliases defined by default.
+      '';
+    };
+
+    enableUserDir = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable serving <filename>~/public_html</filename> as
+        <literal>/~<replaceable>username</replaceable></literal>.
+      '';
+    };
+
+    globalRedirect = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = http://newserver.example.org/;
+      description = ''
+        If set, all requests for this host are redirected permanently to
+        the given URL.
+      '';
+    };
+
+    logFormat = mkOption {
+      type = types.str;
+      default = "common";
+      example = "combined";
+      description = ''
+        Log format for Apache's log files. Possible values are: combined, common, referer, agent.
+      '';
+    };
+
+    robotsEntries = mkOption {
+      type = types.lines;
+      default = "";
+      example = "Disallow: /foo/";
+      description = ''
+        Specification of pages to be ignored by web crawlers. See <link
+        xlink:href='http://www.robotstxt.org/'/> for details.
+      '';
+    };
 
-  hostName = mkOption {
-    type = types.str;
-    default = "localhost";
-    description = "Canonical hostname for the server.";
-  };
-
-  serverAliases = mkOption {
-    type = types.listOf types.str;
-    default = [];
-    example = ["www.example.org" "www.example.org:8080" "example.org"];
-    description = ''
-      Additional names of virtual hosts served by this virtual host configuration.
-    '';
-  };
-
-  listen = mkOption {
-     type = types.listOf (types.submodule (
-          {
-            options = {
-              port = mkOption {
-                type = types.int;
-                description = "port to listen on";
-              };
-              ip = mkOption {
-                type = types.str;
-                default = "*";
-                description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all.";
-              };
-            };
-          } ));
-    description = ''
-      List of { /* ip: "*"; */ port = 80;} to listen on
-    '';
-
-    default = [];
-  };
-
-  enableSSL = mkOption {
-    type = types.bool;
-    default = false;
-    description = "Whether to enable SSL (https) support.";
-  };
-
-  # Note: sslServerCert and sslServerKey can be left empty, but this
-  # only makes sense for virtual hosts (they will inherit from the
-  # main server).
-
-  sslServerCert = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/var/host.cert";
-    description = "Path to server SSL certificate.";
-  };
-
-  sslServerKey = mkOption {
-    type = types.path;
-    example = "/var/host.key";
-    description = "Path to server SSL certificate key.";
-  };
-
-  sslServerChain = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/var/ca.pem";
-    description = "Path to server SSL chain file.";
-  };
-
-  adminAddr = mkOption ({
-    type = types.nullOr types.str;
-    example = "admin@example.org";
-    description = "E-mail address of the server administrator.";
-  } // (if forMainServer then {} else {default = null;}));
-
-  documentRoot = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/data/webserver/docs";
-    description = ''
-      The path of Apache's document root directory.  If left undefined,
-      an empty directory in the Nix store will be used as root.
-    '';
   };
-
-  servedDirs = mkOption {
-    type = types.listOf types.attrs;
-    default = [];
-    example = [
-      { urlPath = "/nix";
-        dir = "/home/eelco/Dev/nix-homepage";
-      }
-    ];
-    description = ''
-      This option provides a simple way to serve static directories.
-    '';
-  };
-
-  servedFiles = mkOption {
-    type = types.listOf types.attrs;
-    default = [];
-    example = [
-      { urlPath = "/foo/bar.png";
-        file = "/home/eelco/some-file.png";
-      }
-    ];
-    description = ''
-      This option provides a simple way to serve individual, static files.
-    '';
-  };
-
-  extraConfig = mkOption {
-    type = types.lines;
-    default = "";
-    example = ''
-      <Directory /home>
-        Options FollowSymlinks
-        AllowOverride All
-      </Directory>
-    '';
-    description = ''
-      These lines go to httpd.conf verbatim. They will go after
-      directories and directory aliases defined by default.
-    '';
-  };
-
-  extraSubservices = mkOption {
-    type = types.listOf types.unspecified;
-    default = [];
-    description = "Extra subservices to enable in the webserver.";
-  };
-
-  enableUserDir = mkOption {
-    type = types.bool;
-    default = false;
-    description = ''
-      Whether to enable serving <filename>~/public_html</filename> as
-      <literal>/~<replaceable>username</replaceable></literal>.
-    '';
-  };
-
-  globalRedirect = mkOption {
-    type = types.nullOr types.str;
-    default = null;
-    example = http://newserver.example.org/;
-    description = ''
-      If set, all requests for this host are redirected permanently to
-      the given URL.
-    '';
-  };
-
-  logFormat = mkOption {
-    type = types.str;
-    default = "common";
-    example = "combined";
-    description = ''
-      Log format for Apache's log files. Possible values are: combined, common, referer, agent.
-    '';
-  };
-
-  robotsEntries = mkOption {
-    type = types.lines;
-    default = "";
-    example = "Disallow: /foo/";
-    description = ''
-      Specification of pages to be ignored by web crawlers. See <link
-      xlink:href='http://www.robotstxt.org/'/> for details.
-    '';
-  };
-
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix b/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
index a6c4cbea1225..1812f225b74d 100644
--- a/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
@@ -102,7 +102,10 @@ with lib;
 
     environment.systemPackages = [ pkgs.hitch ];
 
-    users.users.hitch.group = "hitch";
+    users.users.hitch = {
+      group = "hitch";
+      isSystemUser = true;
+    };
     users.groups.hitch = {};
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index e597f34700ae..c8602e5975b3 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -47,7 +47,7 @@ let
   ''));
 
   configFile = pkgs.writers.writeNginxConfig "nginx.conf" ''
-    user ${cfg.user} ${cfg.group};
+    pid /run/nginx/nginx.pid;
     error_log ${cfg.logError};
     daemon off;
 
@@ -61,7 +61,10 @@ let
 
     ${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
     http {
-      include ${cfg.package}/conf/mime.types;
+      # The mime type definitions included with nginx are very incomplete, so
+      # we use a list of mime types from the mailcap package, which is also
+      # used by most other Linux distributions by default.
+      include ${pkgs.mailcap}/etc/nginx/mime.types;
       include ${cfg.package}/conf/fastcgi.conf;
       include ${cfg.package}/conf/uwsgi_params;
 
@@ -119,6 +122,14 @@ let
         include ${recommendedProxyConfig};
       ''}
 
+      ${optionalString (cfg.mapHashBucketSize != null) ''
+        map_hash_bucket_size ${toString cfg.mapHashBucketSize};
+      ''}
+
+      ${optionalString (cfg.mapHashMaxSize != null) ''
+        map_hash_max_size ${toString cfg.mapHashMaxSize};
+      ''}
+
       # $connection_upgrade is used for websocket proxying
       map $http_upgrade $connection_upgrade {
           default upgrade;
@@ -167,6 +178,8 @@ let
     then "/etc/nginx/nginx.conf"
     else configFile;
 
+  execCommand = "${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}'";
+
   vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost:
     let
         onlySSL = vhost.onlySSL || vhost.enableSSL;
@@ -355,12 +368,7 @@ in
 
       preStart =  mkOption {
         type = types.lines;
-        default = ''
-          test -d ${cfg.stateDir}/logs || mkdir -m 750 -p ${cfg.stateDir}/logs
-          test `stat -c %a ${cfg.stateDir}` = "750" || chmod 750 ${cfg.stateDir}
-          test `stat -c %a ${cfg.stateDir}/logs` = "750" || chmod 750 ${cfg.stateDir}/logs
-          chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
-        '';
+        default = "";
         description = "
           Shell commands executed before the service's nginx is started.
         ";
@@ -507,6 +515,23 @@ in
         '';
       };
 
+      mapHashBucketSize = mkOption {
+        type = types.nullOr (types.enum [ 32 64 128 ]);
+        default = null;
+        description = ''
+            Sets the bucket size for the map variables hash tables. Default
+            value depends on the processor’s cache line size.
+          '';
+      };
+
+      mapHashMaxSize = mkOption {
+        type = types.nullOr types.ints.positive;
+        default = null;
+        description = ''
+            Sets the maximum size of the map variables hash tables.
+          '';
+      };
+
       resolver = mkOption {
         type = types.submodule {
           options = {
@@ -645,23 +670,36 @@ in
       }
     ];
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.stateDir}/logs' 0750 ${cfg.user} ${cfg.group} - -"
+      "Z '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.nginx = {
       description = "Nginx Web Server";
       wantedBy = [ "multi-user.target" ];
       wants = concatLists (map (vhostConfig: ["acme-${vhostConfig.serverName}.service" "acme-selfsigned-${vhostConfig.serverName}.service"]) acmeEnabledVhosts);
       after = [ "network.target" ] ++ map (vhostConfig: "acme-selfsigned-${vhostConfig.serverName}.service") acmeEnabledVhosts;
       stopIfChanged = false;
-      preStart =
-        ''
+      preStart = ''
         ${cfg.preStart}
-        ${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir} -t
-        '';
+        ${execCommand} -t
+      '';
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir}";
+        ExecStart = execCommand;
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
         RestartSec = "10s";
         StartLimitInterval = "1min";
+        # User and group
+        User = cfg.user;
+        Group = cfg.group;
+        # Runtime directory and mode
+        RuntimeDirectory = "nginx";
+        RuntimeDirectoryMode = "0750";
+        # Capabilities
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ];
       };
     };
 
@@ -670,11 +708,18 @@ in
     };
 
     systemd.services.nginx-config-reload = mkIf cfg.enableReload {
-      wantedBy = [ "nginx.service" ];
+      wants = [ "nginx.service" ];
+      wantedBy = [ "multi-user.target" ];
       restartTriggers = [ configFile ];
+      # commented, because can cause extra delays during activate for this config:
+      #      services.nginx.virtualHosts."_".locations."/".proxyPass = "http://blabla:3000";
+      # stopIfChanged = false;
+      serviceConfig.Type = "oneshot";
+      serviceConfig.TimeoutSec = 60;
       script = ''
         if ${pkgs.systemd}/bin/systemctl -q is-active nginx.service ; then
-          ${pkgs.systemd}/bin/systemctl reload nginx.service
+          ${execCommand} -t && \
+            ${pkgs.systemd}/bin/systemctl reload nginx.service
         fi
       '';
       serviceConfig.RemainAfterExit = true;
@@ -695,15 +740,16 @@ in
         listToAttrs acmePairs
     );
 
-    users.users = optionalAttrs (cfg.user == "nginx") (singleton
-      { name = "nginx";
+    users.users = optionalAttrs (cfg.user == "nginx") {
+      nginx = {
         group = cfg.group;
         uid = config.ids.uids.nginx;
-      });
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "nginx") {
+      nginx.gid = config.ids.gids.nginx;
+    };
 
-    users.groups = optionalAttrs (cfg.group == "nginx") (singleton
-      { name = "nginx";
-        gid = config.ids.gids.nginx;
-      });
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
index aeb9b1dd79ef..3d9e391ecf20 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixpkgs/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.)
@@ -67,7 +67,7 @@ with lib;
     return = mkOption {
       type = types.nullOr types.str;
       default = null;
-      example = "301 http://example.com$request_uri;";
+      example = "301 http://example.com$request_uri";
       description = ''
         Adds a return directive, for e.g. redirections.
       '';
@@ -92,4 +92,3 @@ with lib;
     };
   };
 }
-
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 15b933c984a6..455854e2a965 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixpkgs/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.)
@@ -207,6 +207,7 @@ with lib;
       default = null;
       description = ''
         Basic Auth password file for a vhost.
+        Can be created via: <command>htpasswd -c &lt;filename&gt; &lt;username&gt;</command>
       '';
     };
 
diff --git a/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix b/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
index 4ab7e3f0c0a9..2c73da103946 100644
--- a/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -31,7 +31,7 @@ let
     '';
     passAsFile = [ "nixDefaults" "phpOptions" ];
   } ''
-    cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
+    cat ${poolOpts.phpPackage}/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
   '';
 
   poolOpts = { name, ... }:
@@ -69,8 +69,6 @@ let
 
         phpOptions = mkOption {
           type = types.lines;
-          default = cfg.phpOptions;
-          defaultText = "config.services.phpfpm.phpOptions";
           description = ''
             "Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
           '';
@@ -137,6 +135,7 @@ let
       config = {
         socket = if poolOpts.listen == "" then "${runtimeDir}/${name}.sock" else poolOpts.listen;
         group = mkDefault poolOpts.user;
+        phpOptions = mkBefore cfg.phpOptions;
 
         settings = mapAttrs (name: mkDefault){
           listen = poolOpts.socket;
@@ -147,6 +146,10 @@ let
     };
 
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
+    (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
+  ];
 
   options = {
     services.phpfpm = {
@@ -263,6 +266,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/nixpkgs/nixos/modules/services/web-servers/tomcat.nix b/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
index 68261c50324d..6d12925829f7 100644
--- a/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
@@ -194,14 +194,10 @@ in
 
   config = mkIf config.services.tomcat.enable {
 
-    users.groups = singleton
-      { name = "tomcat";
-        gid = config.ids.gids.tomcat;
-      };
+    users.groups.tomcat.gid = config.ids.gids.tomcat;
 
-    users.users = singleton
-      { name = "tomcat";
-        uid = config.ids.uids.tomcat;
+    users.users.tomcat =
+      { uid = config.ids.uids.tomcat;
         description = "Tomcat user";
         home = "/homeless-shelter";
         extraGroups = cfg.extraGroups;
diff --git a/nixpkgs/nixos/modules/services/web-servers/traefik.nix b/nixpkgs/nixos/modules/services/web-servers/traefik.nix
index 8de7df0d446c..5b0fc467ea46 100644
--- a/nixpkgs/nixos/modules/services/web-servers/traefik.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/traefik.nix
@@ -117,6 +117,7 @@ in {
       group = "traefik";
       home = cfg.dataDir;
       createHome = true;
+      isSystemUser = true;
     };
 
     users.groups.traefik = {};
diff --git a/nixpkgs/nixos/modules/services/web-servers/ttyd.nix b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
new file mode 100644
index 000000000000..01a01d97a234
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
@@ -0,0 +1,196 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.ttyd;
+
+  # Command line arguments for the ttyd daemon
+  args = [ "--port" (toString cfg.port) ]
+         ++ optionals (cfg.socket != null) [ "--interface" cfg.socket ]
+         ++ optionals (cfg.interface != null) [ "--interface" cfg.interface ]
+         ++ [ "--signal" (toString cfg.signal) ]
+         ++ (concatLists (mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
+         ++ [ "--terminal-type" cfg.terminalType ]
+         ++ optionals cfg.checkOrigin [ "--check-origin" ]
+         ++ [ "--max-clients" (toString cfg.maxClients) ]
+         ++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ]
+         ++ optionals cfg.enableIPv6 [ "--ipv6" ]
+         ++ optionals cfg.enableSSL [ "--ssl-cert" cfg.certFile
+                                      "--ssl-key" cfg.keyFile
+                                      "--ssl-ca" cfg.caFile ]
+         ++ [ "--debug" (toString cfg.logLevel) ];
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+    services.ttyd = {
+      enable = mkEnableOption "ttyd daemon";
+
+      port = mkOption {
+        type = types.int;
+        default = 7681;
+        description = "Port to listen on (use 0 for random port)";
+      };
+
+      socket = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/run/ttyd.sock";
+        description = "UNIX domain socket path to bind.";
+      };
+
+      interface = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "eth0";
+        description = "Network interface to bind.";
+      };
+
+      username = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "Username for basic authentication.";
+      };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        apply = value: if value == null then null else toString value;
+        description = ''
+          File containing the password to use for basic authentication.
+          For insecurely putting the password in the globally readable store use
+          <literal>pkgs.writeText "ttydpw" "MyPassword"</literal>.
+        '';
+      };
+
+      signal = mkOption {
+        type = types.ints.u8;
+        default = 1;
+        description = "Signal to send to the command on session close.";
+      };
+
+      clientOptions = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = literalExample ''{
+          fontSize = "16";
+          fontFamily = "Fira Code";
+
+        }'';
+        description = ''
+          Attribute set of client options for xtermjs.
+          <link xlink:href="https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/"/>
+        '';
+      };
+
+      terminalType = mkOption {
+        type = types.str;
+        default = "xterm-256color";
+        description = "Terminal type to report.";
+      };
+
+      checkOrigin = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to allow a websocket connection from a different origin.";
+      };
+
+      maxClients = mkOption {
+        type = types.int;
+        default = 0;
+        description = "Maximum clients to support (0, no limit)";
+      };
+
+      indexFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "Custom index.html path";
+      };
+
+      enableIPv6 = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether or not to enable IPv6 support.";
+      };
+
+      enableSSL = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether or not to enable SSL (https) support.";
+      };
+
+      certFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "SSL certificate file path.";
+      };
+
+      keyFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        apply = value: if value == null then null else toString value;
+        description = ''
+          SSL key file path.
+          For insecurely putting the keyFile in the globally readable store use
+          <literal>pkgs.writeText "ttydKeyFile" "SSLKEY"</literal>.
+        '';
+      };
+
+      caFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "SSL CA file path for client certificate verification.";
+      };
+
+      logLevel = mkOption {
+        type = types.int;
+        default = 7;
+        description = "Set log level.";
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions =
+      [ { assertion = cfg.enableSSL
+            -> cfg.certFile != null && cfg.keyFile != null && cfg.caFile != null;
+          message = "SSL is enabled for ttyd, but no certFile, keyFile or caFile has been specefied."; }
+        { assertion = ! (cfg.interface != null && cfg.socket != null);
+          message = "Cannot set both interface and socket for ttyd."; }
+        { assertion = (cfg.username != null) == (cfg.passwordFile != null);
+          message = "Need to set both username and passwordFile for ttyd"; }
+      ];
+
+    systemd.services.ttyd = {
+      description = "ttyd Web Server Daemon";
+
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        # Runs login which needs to be run as root
+        # login: Cannot possibly work without effective root
+        User = "root";
+      };
+
+      script = if cfg.passwordFile != null then ''
+        PASSWORD=$(cat ${escapeShellArg cfg.passwordFile})
+        ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
+          --credential ${escapeShellArg cfg.username}:"$PASSWORD" \
+          ${pkgs.shadow}/bin/login
+      ''
+      else ''
+        ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
+          ${pkgs.shadow}/bin/login
+      '';
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-servers/unit/default.nix b/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
index a4a9d370d644..2303dfa95404 100644
--- a/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
@@ -85,7 +85,7 @@ in {
     systemd.tmpfiles.rules = [
       "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -"
       "d '${cfg.logDir}' 0750 ${cfg.user} ${cfg.group} - -"
-     ];
+    ];
 
     systemd.services.unit = {
       description = "Unit App Server";
@@ -93,33 +93,50 @@ in {
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ curl ];
       preStart = ''
-        test -f '/run/unit/control.unit.sock' || rm -f '/run/unit/control.unit.sock'
+        test -f '${cfg.stateDir}/conf.json' || rm -f '${cfg.stateDir}/conf.json'
       '';
       postStart = ''
         curl -X PUT --data-binary '@${configFile}' --unix-socket '/run/unit/control.unit.sock' 'http://localhost/config'
       '';
       serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
-        AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
-        CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
         ExecStart = ''
           ${cfg.package}/bin/unitd --control 'unix:/run/unit/control.unit.sock' --pid '/run/unit/unit.pid' \
                                    --log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' --no-daemon \
                                    --user ${cfg.user} --group ${cfg.group}
         '';
+        # User and group
+        User = cfg.user;
+        Group = cfg.group;
+        # Capabilities
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SETGID" "CAP_SETUID" ];
+        # Security
+        NoNewPrivileges = true;
+        # Sanboxing
+        ProtectSystem = "full";
+        ProtectHome = true;
         RuntimeDirectory = "unit";
         RuntimeDirectoryMode = "0750";
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectHostname = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
       };
     };
 
-    users.users = optionalAttrs (cfg.user == "unit") (singleton {
-      name = "unit";
-      group = cfg.group;
-    });
+    users.users = optionalAttrs (cfg.user == "unit") {
+      unit.group = cfg.group;
+      isSystemUser = true;
+    };
+
+    users.groups = optionalAttrs (cfg.group == "unit") {
+      unit = { };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "unit") (singleton {
-      name = "unit";
-    });
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix b/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
index 0131ad30333e..a80e1f11f67c 100644
--- a/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
@@ -5,10 +5,6 @@ with lib;
 let
   cfg = config.services.uwsgi;
 
-  uwsgi = pkgs.uwsgi.override {
-    plugins = cfg.plugins;
-  };
-
   buildCfg = name: c:
     let
       plugins =
@@ -23,8 +19,8 @@ let
       python =
         if hasPython2 && hasPython3 then
           throw "`plugins` attribute in UWSGI configuration shouldn't contain both python2 and python3"
-        else if hasPython2 then uwsgi.python2
-        else if hasPython3 then uwsgi.python3
+        else if hasPython2 then cfg.package.python2
+        else if hasPython3 then cfg.package.python3
         else null;
 
       pythonEnv = python.withPackages (c.pythonPackages or (self: []));
@@ -77,6 +73,11 @@ in {
         description = "Where uWSGI communication sockets can live";
       };
 
+      package = mkOption {
+        type = types.package;
+        internal = true;
+      };
+
       instance = mkOption {
         type = types.attrs;
         default = {
@@ -138,7 +139,7 @@ in {
       '';
       serviceConfig = {
         Type = "notify";
-        ExecStart = "${uwsgi}/bin/uwsgi --uid ${cfg.user} --gid ${cfg.group} --json ${buildCfg "server" cfg.instance}/server.json";
+        ExecStart = "${cfg.package}/bin/uwsgi --uid ${cfg.user} --gid ${cfg.group} --json ${buildCfg "server" cfg.instance}/server.json";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
         NotifyAccess = "main";
@@ -146,15 +147,19 @@ in {
       };
     };
 
-    users.users = optionalAttrs (cfg.user == "uwsgi") (singleton
-      { name = "uwsgi";
+    users.users = optionalAttrs (cfg.user == "uwsgi") {
+      uwsgi = {
         group = cfg.group;
         uid = config.ids.uids.uwsgi;
-      });
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "uwsgi") {
+      uwsgi.gid = config.ids.gids.uwsgi;
+    };
 
-    users.groups = optionalAttrs (cfg.group == "uwsgi") (singleton
-      { name = "uwsgi";
-        gid = config.ids.gids.uwsgi;
-      });
+    services.uwsgi.package = pkgs.uwsgi.override {
+      inherit (cfg) plugins;
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix b/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
index 63f967185c2d..01fe3d12917a 100644
--- a/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
@@ -15,8 +15,8 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.varnish5;
-        defaultText = "pkgs.varnish5";
+        default = pkgs.varnish;
+        defaultText = "pkgs.varnish";
         description = ''
           The package to use
         '';
@@ -48,7 +48,7 @@ in
       extraModules = mkOption {
         type = types.listOf types.package;
         default = [];
-        example = literalExample "[ pkgs.varnish5Packages.geoip ]";
+        example = literalExample "[ pkgs.varnishPackages.geoip ]";
         description = "
           Varnish modules (except 'std').
         ";
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix
new file mode 100644
index 000000000000..c1b6d3bf064a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix
@@ -0,0 +1,55 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.cde;
+in {
+  options.services.xserver.desktopManager.cde = {
+    enable = mkEnableOption "Common Desktop Environment";
+  };
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+    services.rpcbind.enable = true;
+
+    services.xinetd.enable = true;
+    services.xinetd.services = [
+      {
+        name = "cmsd";
+        protocol = "udp";
+        user = "root";
+        server = "${pkgs.cdesktopenv}/opt/dt/bin/rpc.cmsd";
+        extraConfig = ''
+          type  = RPC UNLISTED
+          rpc_number  = 100068
+          rpc_version = 2-5
+          only_from   = 127.0.0.1/0
+        '';
+      }
+    ];
+
+    users.groups.mail = {};
+    security.wrappers = {
+      dtmail = {
+        source = "${pkgs.cdesktopenv}/bin/dtmail";
+        group = "mail";
+        setgid = true;
+      };
+    };
+
+    system.activationScripts.setup-cde = ''
+      mkdir -p /var/dt/{tmp,appconfig/appmanager}
+      chmod a+w+t /var/dt/{tmp,appconfig/appmanager}
+    '';
+
+    services.xserver.desktopManager.session = [
+    { name = "CDE";
+      start = ''
+        exec ${pkgs.cdesktopenv}/opt/dt/bin/Xsession
+      '';
+    }];
+  };
+
+  meta.maintainers = [ maintainers.gnidorah ];
+}
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
index dfb84113e130..970fa620c6b6 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,9 +18,9 @@ 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
+    ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
   ];
 
   options = {
@@ -86,23 +86,14 @@ in
       };
 
       default = mkOption {
-        type = types.str;
-        default = "";
+        type = types.nullOr types.str;
+        default = null;
         example = "none";
-        description = "Default desktop manager loaded if none have been chosen.";
-        apply = defaultDM:
-          if defaultDM == "" && cfg.session.list != [] then
-            (head cfg.session.list).name
-          else if any (w: w.name == defaultDM) cfg.session.list then
-            defaultDM
-          else
-            builtins.trace ''
-              Default desktop manager (${defaultDM}) not found at evaluation time.
-              These are the known valid session names:
-                ${concatMapStringsSep "\n  " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list}
-              It's also possible the default can be found in one of these packages:
-                ${concatMapStringsSep "\n  " (p: p.name) config.services.xserver.displayManager.extraSessionFilePackages}
-            '' defaultDM;
+        description = ''
+          <emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
+
+          Default desktop manager loaded if none have been chosen.
+        '';
       };
 
     };
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 3745069f6eaf..26b662a2a643 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -16,6 +16,10 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
+  ];
+
   options = {
 
     services.xserver.desktopManager.enlightenment.enable = mkOption {
@@ -64,10 +68,7 @@ in
 
     security.wrappers = (import "${e.enlightenment}/e-wrappers.nix").security.wrappers;
 
-    environment.etc = singleton
-      { source = xcfg.xkbDir;
-        target = "X11/xkb";
-      };
+    environment.etc."X11/xkb".source = xcfg.xkbDir;
 
     fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
 
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 30c5250221c1..6d9bd284bc72 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -28,6 +28,12 @@ let
         (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n")
         (defaultPackages ++ cfg.extraGSettingsOverridePackages)}
 
+     cp -f ${pkgs.gnome3.gnome-shell}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
+
+     ${optionalString flashbackEnabled ''
+       cp -f ${pkgs.gnome3.gnome-flashback}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
+     ''}
+
      chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
      cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
        [org.gnome.desktop.background]
@@ -138,7 +144,7 @@ in
       services.gnome3.core-shell.enable = true;
       services.gnome3.core-utilities.enable = mkDefault true;
 
-      services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
+      services.xserver.displayManager.sessionPackages = [ pkgs.gnome3.gnome-session ];
 
       environment.extraInit = ''
         ${concatMapStrings (p: ''
@@ -155,17 +161,17 @@ in
 
       environment.systemPackages = cfg.sessionPath;
 
-      environment.variables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
+      environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
 
       # Override GSettings schemas
-      environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+      environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
 
        # If gnome3 is installed, build vim for gtk3 too.
       nixpkgs.config.vim.gui = "gtk3";
     })
 
     (mkIf flashbackEnabled {
-      services.xserver.displayManager.extraSessionFilePackages =  map
+      services.xserver.displayManager.sessionPackages =  map
         (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
           inherit (wm) wmName wmLabel wmCommand;
         }) (optional cfg.flashback.enableMetacity {
@@ -178,6 +184,13 @@ in
         enableGnomeKeyring = true;
       };
 
+      systemd.packages = with pkgs.gnome3; [
+        gnome-flashback
+      ] ++ (map
+        (wm: gnome-flashback.mkSystemdTargetForWm {
+          inherit (wm) wmName;
+        }) cfg.flashback.customSessions);
+
       services.dbus.packages = [
         pkgs.gnome3.gnome-screensaver
       ];
@@ -209,16 +222,14 @@ in
 
       networking.networkmanager.enable = mkDefault true;
 
-      # Use the correct gnome3 packageSet
-      networking.networkmanager.basePackages = {
-        inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
-        inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
-        networkmanager-openconnect networkmanager-fortisslvpn
-        networkmanager-iodine networkmanager-l2tp;
-      };
-
       services.xserver.updateDbusEnvironment = true;
 
+      # gnome has a custom alert theme but it still
+      # inherits from the freedesktop theme.
+      environment.systemPackages = with pkgs; [
+        sound-theme-freedesktop
+      ];
+
       # Needed for themes and backgrounds
       environment.pathsToLink = [
         "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173
@@ -229,6 +240,7 @@ in
       services.colord.enable = mkDefault true;
       services.gnome3.chrome-gnome-shell.enable = mkDefault true;
       services.gnome3.glib-networking.enable = true;
+      services.gnome3.gnome-initial-setup.enable = mkDefault true;
       services.gnome3.gnome-remote-desktop.enable = mkDefault true;
       services.gnome3.gnome-settings-daemon.enable = true;
       services.gnome3.gnome-user-share.enable = mkDefault true;
@@ -236,7 +248,8 @@ in
       services.gvfs.enable = true;
       services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
       services.telepathy.enable = mkDefault true;
-      systemd.packages = [ pkgs.gnome3.vino ];
+
+      systemd.packages = with pkgs.gnome3; [ vino gnome-session ];
 
       services.avahi.enable = mkDefault true;
 
@@ -265,6 +278,26 @@ in
         source-sans-pro
       ];
 
+      ## Enable soft realtime scheduling, only supported on wayland ##
+
+      security.wrappers.".gnome-shell-wrapped" = {
+        source = "${pkgs.gnome3.gnome-shell}/bin/.gnome-shell-wrapped";
+        capabilities = "cap_sys_nice=ep";
+      };
+
+      systemd.user.services.gnome-shell-wayland = let
+        gnomeShellRT = with pkgs.gnome3; pkgs.runCommand "gnome-shell-rt" {} ''
+          mkdir -p $out/bin/
+          cp ${gnome-shell}/bin/gnome-shell $out/bin
+          sed -i "s@${gnome-shell}/bin/@${config.security.wrapperDir}/@" $out/bin/gnome-shell
+        '';
+      in {
+        # Note we need to clear ExecStart before overriding it
+        serviceConfig.ExecStart = ["" "${gnomeShellRT}/bin/gnome-shell"];
+        # Do not use the default environment, it provides a broken PATH
+        environment = mkForce {};
+      };
+
       # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-shell.bst
       environment.systemPackages = with pkgs.gnome3; [
         adwaita-icon-theme
@@ -276,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
@@ -329,10 +362,10 @@ in
 
       # Let nautilus find extensions
       # TODO: Create nautilus-with-extensions package
-      environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
+      environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
 
       # Override default mimeapps for nautilus
-      environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ];
+      environment.sessionVariables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ];
 
       environment.pathsToLink = [
         "/share/nautilus-python/extensions"
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
index 4563583e0704..4a6f2ca727d9 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -85,6 +85,7 @@ in
         pkgs.gtk3.out
         pkgs.shared-mime-info
         pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
+        pkgs.mate.mate-settings-daemon
       ];
 
     programs.dconf.enable = true;
@@ -97,8 +98,7 @@ in
 
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.gnome-keyring.enable = true;
-    services.gnome3.gnome-settings-daemon.enable = true;
-    services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon;
+    services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
     services.gvfs.enable = true;
     services.upower.enable = config.powerManagement.enable;
 
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
index d80ea9a53e80..b46a2d189ef9 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -5,6 +5,7 @@ with lib;
 let
 
   cfg = config.services.xserver.desktopManager.pantheon;
+  serviceCfg = config.services.pantheon;
 
   nixos-gsettings-desktop-schemas = pkgs.pantheon.elementary-gsettings-schemas.override {
     extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
@@ -19,6 +20,16 @@ in
 
   options = {
 
+    services.pantheon = {
+
+      contractor = {
+         enable = mkEnableOption "contractor, a desktop-wide extension service used by Pantheon";
+      };
+
+      apps.enable = mkEnableOption "Pantheon default applications";
+
+    };
+
     services.xserver.desktopManager.pantheon = {
       enable = mkOption {
         type = types.bool;
@@ -41,6 +52,18 @@ in
         ];
       };
 
+      extraWingpanelIndicators = mkOption {
+        default = null;
+        type = with types; nullOr (listOf package);
+        description = "Indicators to add to Wingpanel.";
+      };
+
+      extraSwitchboardPlugs = mkOption {
+        default = null;
+        type = with types; nullOr (listOf package);
+        description = "Plugs to add to Switchboard.";
+      };
+
       extraGSettingsOverrides = mkOption {
         default = "";
         type = types.lines;
@@ -67,128 +90,88 @@ in
   };
 
 
-  config = mkIf cfg.enable {
+  config = mkMerge [
+    (mkIf cfg.enable {
 
-    services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ];
+      services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ];
 
-    # Ensure lightdm is used when Pantheon is enabled
-    # Without it screen locking will be nonfunctional because of the use of lightlocker
+      # Ensure lightdm is used when Pantheon is enabled
+      # Without it screen locking will be nonfunctional because of the use of lightlocker
+      warnings = optional (config.services.xserver.displayManager.lightdm.enable != true)
+        ''
+          Using Pantheon without LightDM as a displayManager will break screenlocking from the UI.
+        '';
 
-    warnings = optional (config.services.xserver.displayManager.lightdm.enable != true)
-      ''
-        Using Pantheon without LightDM as a displayManager will break screenlocking from the UI.
+      services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
+
+      # Without this, elementary LightDM greeter will pre-select non-existent `default` session
+      # https://github.com/elementary/greeter/issues/368
+      services.xserver.displayManager.defaultSession = "pantheon";
+
+      services.xserver.displayManager.sessionCommands = ''
+        if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
+            ${concatMapStrings (p: ''
+              if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
+                export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
+              fi
+
+              if [ -d "${p}/lib/girepository-1.0" ]; then
+                export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
+                export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
+              fi
+            '') cfg.sessionPath}
+        fi
       '';
 
-    services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
-
-    # If not set manually Pantheon session cannot be started
-    # Known issue of https://github.com/NixOS/nixpkgs/pull/43992
-    services.xserver.desktopManager.default = mkForce "pantheon";
-
-    services.xserver.displayManager.sessionCommands = ''
-      if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
-          ${concatMapStrings (p: ''
-            if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
-              export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
-            fi
-
-            if [ -d "${p}/lib/girepository-1.0" ]; then
-              export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
-              export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
-            fi
-          '') cfg.sessionPath}
-      fi
-    '';
-
-    hardware.bluetooth.enable = mkDefault true;
-    hardware.pulseaudio.enable = mkDefault true;
-    security.polkit.enable = true;
-    services.accounts-daemon.enable = true;
-    services.bamf.enable = true;
-    services.colord.enable = mkDefault true;
-    services.pantheon.files.enable = mkDefault true;
-    services.tumbler.enable = mkDefault true;
-    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.dbus.packages = [
-      pkgs.pantheon.switchboard-plug-power
-    ];
-    services.pantheon.contractor.enable = mkDefault true;
-    services.gnome3.at-spi2-core.enable = true;
-    services.gnome3.evolution-data-server.enable = true;
-    services.gnome3.glib-networking.enable = true;
-    # TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
-    services.gnome3.gnome-keyring.enable = true;
-    services.gnome3.gnome-settings-daemon.enable = true;
-    services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
-    services.gvfs.enable = true;
-    services.gnome3.rygel.enable = mkDefault true;
-    services.gsignond.enable = mkDefault true;
-    services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
-    services.udisks2.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-    services.xserver.libinput.enable = mkDefault true;
-    services.xserver.updateDbusEnvironment = true;
-    services.zeitgeist.enable = mkDefault true;
-    services.geoclue2.enable = mkDefault true;
-    # pantheon has pantheon-agent-geoclue2
-    services.geoclue2.enableDemoAgent = false;
-    services.geoclue2.appConfig."io.elementary.desktop.agent-geoclue2" = {
-      isAllowed = true;
-      isSystem = true;
-    };
-
-    programs.dconf.enable = true;
-    programs.evince.enable = mkDefault true;
-    programs.file-roller.enable = mkDefault true;
-    # Otherwise you can't store NetworkManager Secrets with
-    # "Store the password only for this user"
-    programs.nm-applet.enable = true;
-
-    # Shell integration for VTE terminals
-    programs.bash.vteIntegration = mkDefault true;
-    programs.zsh.vteIntegration = mkDefault true;
-
-    # Harmonize Qt5 applications under Pantheon
-    qt5.enable = true;
-    qt5.platformTheme = "gnome";
-    qt5.style = "adwaita";
-
-    networking.networkmanager.enable = mkDefault true;
-    networking.networkmanager.basePackages =
-      { inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
-        inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
-                              networkmanager-openconnect networkmanager-fortisslvpn
-                              networkmanager-iodine networkmanager-l2tp; };
-
-    # Override GSettings schemas
-    environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
-
-    environment.sessionVariables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
-
-    # Settings from elementary-default-settings
-    environment.sessionVariables.GTK_CSD = "1";
-    environment.sessionVariables.GTK_MODULES = "pantheon-filechooser-module";
-    environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
-
-    environment.pathsToLink = [
-      # FIXME: modules should link subdirs of `/share` rather than relying on this
-      "/share"
-    ];
-
-    environment.systemPackages =
-      pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath
-      ++ (with pkgs; gnome3.removePackagesByName
-      ([
-        gnome3.geary
-        gnome3.epiphany
-        gnome3.gnome-font-viewer
-      ] ++ pantheon.apps) config.environment.pantheon.excludePackages)
-      ++ (with pkgs;
-      [
-        adwaita-qt
+      # Default services
+      hardware.bluetooth.enable = mkDefault true;
+      hardware.pulseaudio.enable = mkDefault true;
+      security.polkit.enable = true;
+      services.accounts-daemon.enable = true;
+      services.bamf.enable = true;
+      services.colord.enable = mkDefault true;
+      services.tumbler.enable = mkDefault true;
+      services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
+      services.dbus.packages = with pkgs.pantheon; [
+        switchboard-plug-power
+        elementary-default-settings # accountsservice extensions
+      ];
+      services.pantheon.apps.enable = mkDefault true;
+      services.pantheon.contractor.enable = mkDefault true;
+      services.gnome3.at-spi2-core.enable = true;
+      services.gnome3.evolution-data-server.enable = true;
+      services.gnome3.glib-networking.enable = true;
+      services.gnome3.gnome-keyring.enable = true;
+      services.gvfs.enable = true;
+      services.gnome3.rygel.enable = mkDefault true;
+      services.gsignond.enable = mkDefault true;
+      services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
+      services.udisks2.enable = true;
+      services.upower.enable = config.powerManagement.enable;
+      services.xserver.libinput.enable = mkDefault true;
+      services.xserver.updateDbusEnvironment = true;
+      services.zeitgeist.enable = mkDefault true;
+      services.geoclue2.enable = mkDefault true;
+      # pantheon has pantheon-agent-geoclue2
+      services.geoclue2.enableDemoAgent = false;
+      services.geoclue2.appConfig."io.elementary.desktop.agent-geoclue2" = {
+        isAllowed = true;
+        isSystem = true;
+      };
+      # Use gnome-settings-daemon fork
+      services.udev.packages = [
+        pkgs.pantheon.elementary-settings-daemon
+      ];
+      systemd.packages = [
+        pkgs.pantheon.elementary-settings-daemon
+      ];
+      programs.dconf.enable = true;
+      networking.networkmanager.enable = mkDefault true;
+
+      # Global environment
+      environment.systemPackages = with pkgs; [
         desktop-file-utils
         glib
-        glib-networking
         gnome-menus
         gnome3.adwaita-icon-theme
         gtk3.out
@@ -200,19 +183,111 @@ in
         shared-mime-info
         sound-theme-freedesktop
         xdg-user-dirs
-      ]);
+      ] ++ (with pkgs.pantheon; [
+        # Artwork
+        elementary-gtk-theme
+        elementary-icon-theme
+        elementary-sound-theme
+        elementary-wallpapers
+
+        # Desktop
+        elementary-default-settings
+        elementary-session-settings
+        elementary-shortcut-overlay
+        gala
+        (switchboard-with-plugs.override {
+          plugs = cfg.extraSwitchboardPlugs;
+        })
+        (wingpanel-with-indicators.override {
+          indicators = cfg.extraWingpanelIndicators;
+        })
+
+        # Services
+        cerbere
+        elementary-capnet-assist
+        elementary-dpms-helper
+        elementary-settings-daemon
+        pantheon-agent-geoclue2
+        pantheon-agent-polkit
+      ]) ++ (gnome3.removePackagesByName [
+        gnome3.geary
+        gnome3.epiphany
+        gnome3.gnome-font-viewer
+      ] config.environment.pantheon.excludePackages);
 
-    fonts.fonts = with pkgs; [
-      open-sans
-      roboto-mono
-      pantheon.elementary-redacted-script # needed by screenshot-tool
-    ];
+      programs.evince.enable = mkDefault true;
+      programs.file-roller.enable = mkDefault true;
 
-    fonts.fontconfig.defaultFonts = {
-      monospace = [ "Roboto Mono" ];
-      sansSerif = [ "Open Sans" ];
-    };
+      # Settings from elementary-default-settings
+      environment.sessionVariables.GTK_CSD = "1";
+      environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ];
+      environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
 
-  };
+      # Override GSettings schemas
+      environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
 
+      environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
+
+      environment.pathsToLink = [
+        # FIXME: modules should link subdirs of `/share` rather than relying on this
+        "/share"
+      ];
+
+      # Otherwise you can't store NetworkManager Secrets with
+      # "Store the password only for this user"
+      programs.nm-applet.enable = true;
+
+      # Shell integration for VTE terminals
+      programs.bash.vteIntegration = mkDefault true;
+      programs.zsh.vteIntegration = mkDefault true;
+
+      # Harmonize Qt5 applications under Pantheon
+      qt5.enable = true;
+      qt5.platformTheme = "gnome";
+      qt5.style = "adwaita";
+
+      # Default Fonts
+      fonts.fonts = with pkgs; [
+        open-sans
+        roboto-mono
+      ];
+
+      fonts.fontconfig.defaultFonts = {
+        monospace = [ "Roboto Mono" ];
+        sansSerif = [ "Open Sans" ];
+      };
+    })
+
+    (mkIf serviceCfg.apps.enable {
+      environment.systemPackages = (with pkgs.pantheon; pkgs.gnome3.removePackagesByName [
+        elementary-calculator
+        elementary-calendar
+        elementary-camera
+        elementary-code
+        elementary-files
+        elementary-music
+        elementary-photos
+        elementary-screenshot-tool
+        elementary-terminal
+        elementary-videos
+      ] config.environment.pantheon.excludePackages);
+
+      # needed by screenshot-tool
+      fonts.fonts = [
+        pkgs.pantheon.elementary-redacted-script
+      ];
+    })
+
+    (mkIf serviceCfg.contractor.enable {
+      environment.systemPackages = with  pkgs.pantheon; [
+        contractor
+        extra-elementary-contracts
+      ];
+
+      environment.pathsToLink = [
+        "/share/contractor"
+      ];
+    })
+
+  ];
 }
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
index b10755df4dc2..2538858ac0f7 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -27,20 +27,14 @@ 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.")
+    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
+  ];
 
   config = mkMerge [
     (mkIf cfg.enable {
@@ -173,27 +167,23 @@ 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 ]
+        ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt openobex obexftp ]
         ++ lib.optional config.networking.networkmanager.enable plasma-nm
         ++ lib.optional config.hardware.pulseaudio.enable plasma-pa
         ++ lib.optional config.powerManagement.enable powerdevil
         ++ lib.optional config.services.colord.enable colord-kde
-        ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ];
+        ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]
+        ++ lib.optional config.services.xserver.wacom.enable wacomtablet;
 
       environment.pathsToLink = [
         # FIXME: modules should link subdirs of `/share` rather than relying on this
         "/share"
       ];
 
-      environment.etc = singleton {
-        source = xcfg.xkbDir;
-        target = "X11/xkb";
-      };
+      environment.etc."X11/xkb".source = xcfg.xkbDir;
 
       # Enable GTK applications to load SVG icons
       services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
@@ -231,7 +221,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/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
index 140dde828daa..9aeb0bbd2a88 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
@@ -118,7 +118,7 @@ in {
   };
 
   config = mkIf cfg.enable {
-    services.xserver.displayManager.extraSessionFilePackages = [
+    services.xserver.displayManager.sessionPackages = [
       pkgs.surf-display
     ];
 
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix
index 6965c6d26467..a08b1947f65b 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -7,6 +7,33 @@ 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" ])
+    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
+  ];
+
   options = {
     services.xserver.desktopManager.xfce = {
       enable = mkOption {
@@ -30,14 +57,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 +67,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/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
deleted file mode 100644
index 130e865a1fb4..000000000000
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
+++ /dev/null
@@ -1,156 +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
-        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"
-    ];
-
-    # Use the correct gnome3 packageSet
-    networking.networkmanager.basePackages = mkIf config.networking.networkmanager.enable {
-      inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
-      inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
-      networkmanager-openconnect networkmanager-fortisslvpn
-      networkmanager-iodine networkmanager-l2tp;
-    };
-
-    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/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix
new file mode 100644
index 000000000000..1dbe703b5662
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix
@@ -0,0 +1,39 @@
+{ accountsservice
+, glib
+, gobject-introspection
+, python3
+, wrapGAppsHook
+}:
+
+python3.pkgs.buildPythonApplication {
+  name = "set-session";
+
+  format = "other";
+
+  src = ./set-session.py;
+
+  dontUnpack = true;
+
+  strictDeps = false;
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    accountsservice
+    glib
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pygobject3
+    ordered-set
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/set-session
+    chmod +x $out/bin/set-session
+  '';
+}
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix b/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
index bf6b048654b3..1efd07393765 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixpkgs/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).
 
@@ -27,16 +27,7 @@ let
     Xft.hintstyle: hintslight
   '';
 
-  mkCases = session:
-    concatStrings (
-      mapAttrsToList (name: starts: ''
-                       (${name})
-                         ${concatMapStringsSep "\n  " (n: n.start) starts}
-                         ;;
-                     '') (lib.groupBy (n: n.name) session)
-    );
-
-  # file provided by services.xserver.displayManager.session.wrapper
+  # file provided by services.xserver.displayManager.sessionData.wrapper
   xsessionWrapper = pkgs.writeScript "xsession-wrapper"
     ''
       #! ${pkgs.bash}/bin/bash
@@ -116,99 +107,47 @@ let
           # Run the supplied session command. Remove any double quotes with eval.
           eval exec "$@"
       else
-          # Fall back to the default window/desktopManager
-          exec ${cfg.displayManager.session.script}
+          # TODO: Do we need this? Should not the session always exist?
+          echo "error: unknown session $1" 1>&2
+          exit 1
       fi
     '';
 
-  # file provided by services.xserver.displayManager.session.script
-  xsession = wm: dm: pkgs.writeScript "xsession"
-    ''
-      #! ${pkgs.bash}/bin/bash
-
-      # Legacy session script used to construct .desktop files from
-      # `services.xserver.displayManager.session` entries. Called from
-      # `sessionWrapper`.
-
-      # Expected parameters:
-      #   $1 = <desktop-manager>+<window-manager>
-
-      # The first argument of this script is the session type.
-      sessionType="$1"
-      if [ "$sessionType" = default ]; then sessionType=""; fi
-
-      # The session type is "<desktop-manager>+<window-manager>", so
-      # extract those (see:
-      # http://wiki.bash-hackers.org/syntax/pe#substring_removal).
-      windowManager="''${sessionType##*+}"
-      : ''${windowManager:=${cfg.windowManager.default}}
-      desktopManager="''${sessionType%%+*}"
-      : ''${desktopManager:=${cfg.desktopManager.default}}
-
-      # Start the window manager.
-      case "$windowManager" in
-        ${mkCases wm}
-        (*) echo "$0: Window manager '$windowManager' not found.";;
-      esac
-
-      # Start the desktop manager.
-      case "$desktopManager" in
-        ${mkCases dm}
-        (*) echo "$0: Desktop manager '$desktopManager' not found.";;
-      esac
-
-      ${optionalString cfg.updateDbusEnvironment ''
-        ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
-      ''}
-
-      test -n "$waitPID" && wait "$waitPID"
-
-      ${config.systemd.package}/bin/systemctl --user stop graphical-session.target
-
-      exit 0
-    '';
-
-  # Desktop Entry Specification:
-  # - https://standards.freedesktop.org/desktop-entry-spec/latest/
-  # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
-  mkDesktops = names: pkgs.runCommand "desktops"
+  installedSessions = pkgs.runCommand "desktops"
     { # trivial derivation
       preferLocalBuild = true;
       allowSubstitutes = false;
     }
     ''
-      mkdir -p "$out/share/xsessions"
-      ${concatMapStrings (n: ''
-        cat - > "$out/share/xsessions/${n}.desktop" << EODESKTOP
-        [Desktop Entry]
-        Version=1.0
-        Type=XSession
-        TryExec=${cfg.displayManager.session.script}
-        Exec=${cfg.displayManager.session.script} "${n}"
-        Name=${n}
-        Comment=
-        EODESKTOP
-      '') names}
+      mkdir -p "$out/share/"{xsessions,wayland-sessions}
 
       ${concatMapStrings (pkg: ''
+        for n in ${concatStringsSep " " pkg.providedSessions}; do
+          if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \
+                    -f ${pkg}/share/xsessions/$n.desktop; then
+            echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:"
+            echo "  ${pkg}"
+            return 1
+          fi
+        done
+
         if test -d ${pkg}/share/xsessions; then
           ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
         fi
-      '') cfg.displayManager.extraSessionFilePackages}
-
-      
-      ${concatMapStrings (pkg: ''
         if test -d ${pkg}/share/wayland-sessions; then
-          mkdir -p "$out/share/wayland-sessions"
           ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
         fi
-      '') cfg.displayManager.extraSessionFilePackages}
+      '') cfg.displayManager.sessionPackages}
     '';
 
+  dmDefault = cfg.desktopManager.default;
+  wmDefault = cfg.windowManager.default;
+
+  defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault));
+
 in
 
 {
-
   options = {
 
     services.xserver.displayManager = {
@@ -263,11 +202,24 @@ in
         '';
       };
 
-      extraSessionFilePackages = mkOption {
-        type = types.listOf types.package;
+      sessionPackages = mkOption {
+        type = with types; listOf (package // {
+          description = "package with provided sessions";
+          check = p: assertMsg
+            (package.check p && p ? providedSessions
+            && p.providedSessions != [] && all isString p.providedSessions)
+            ''
+              Package, '${p.name}', did not specify any session names, as strings, in
+              'passthru.providedSessions'. This is required when used as a session package.
+
+              The session names can be looked up in:
+                ${p}/share/xsessions
+                ${p}/share/wayland-sessions
+           '';
+        });
         default = [];
         description = ''
-          A list of packages containing xsession files to be passed to the display manager.
+          A list of packages containing x11 or wayland session files to be passed to the display manager.
         '';
       };
 
@@ -298,18 +250,50 @@ in
           inside the display manager with the desktop manager name
           followed by the window manager name.
         '';
-        apply = list: rec {
-          wm = filter (s: s.manage == "window") list;
-          dm = filter (s: s.manage == "desktop") list;
-          names = flip concatMap dm
-            (d: map (w: d.name + optionalString (w.name != "none") ("+" + w.name))
-              (filter (w: d.name != "none" || w.name != "none") wm));
-          desktops = mkDesktops names;
-          script = xsession wm dm;
+      };
+
+      sessionData = mkOption {
+        description = "Data exported for display managers’ convenience";
+        internal = true;
+        default = {};
+        apply = val: {
           wrapper = xsessionWrapper;
+          desktops = installedSessions;
+          sessionNames = concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages;
+          # We do not want to force users to set defaultSession when they have only single DE.
+          autologinSession =
+            if cfg.displayManager.defaultSession != null then
+              cfg.displayManager.defaultSession
+            else if cfg.displayManager.sessionData.sessionNames != [] then
+              head cfg.displayManager.sessionData.sessionNames
+            else
+              null;
         };
       };
 
+      defaultSession = mkOption {
+        type = with types; nullOr str // {
+          description = "session name";
+          check = d:
+            assertMsg (d != null -> (str.check d && elem d cfg.displayManager.sessionData.sessionNames)) ''
+                Default graphical session, '${d}', not found.
+                Valid names for 'services.xserver.displayManager.defaultSession' are:
+                  ${concatStringsSep "\n  " cfg.displayManager.sessionData.sessionNames}
+              '';
+        };
+        default =
+          if dmDefault != null || wmDefault != null then
+            defaultSessionFromLegacyOptions
+          else
+            null;
+        example = "gnome";
+        description = ''
+          Graphical session to pre-select in the session chooser (only effective for GDM and LightDM).
+
+          On GDM, LightDM and SDDM, it will also be used as a session for auto-login.
+        '';
+      };
+
       job = {
 
         preStart = mkOption {
@@ -322,7 +306,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 +314,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.";
         };
 
@@ -359,6 +342,27 @@ in
   };
 
   config = {
+    assertions = [
+      {
+        assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions;
+        message = "You cannot use both services.xserver.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default).";
+      }
+    ];
+
+    warnings =
+      mkIf (dmDefault != null || wmDefault != null) [
+        ''
+          The following options are deprecated:
+            ${concatStringsSep "\n  " (map ({c, t}: t) (filter ({c, t}: c != null) [
+            { c = dmDefault; t = "- services.xserver.desktopManager.default"; }
+            { c = wmDefault; t = "- services.xserver.windowManager.default"; }
+            ]))}
+          Please use
+            services.xserver.displayManager.defaultSession = "${concatStringsSep "+" (filter (s: s != null) [ dmDefault wmDefault ])}";
+          instead.
+        ''
+      ];
+
     services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
 
     systemd.user.targets.graphical-session = {
@@ -367,11 +371,75 @@ in
         StopWhenUnneeded = false;
       };
     };
+
+    # Create desktop files and scripts for starting sessions for WMs/DMs
+    # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options).
+    services.xserver.displayManager.sessionPackages =
+      let
+        dms = filter (s: s.manage == "desktop") cfg.displayManager.session;
+        wms = filter (s: s.manage == "window") cfg.displayManager.session;
+
+        # Script responsible for starting the window manager and the desktop manager.
+        xsession = dm: wm: pkgs.writeScript "xsession" ''
+          #! ${pkgs.bash}/bin/bash
+
+          # Legacy session script used to construct .desktop files from
+          # `services.xserver.displayManager.session` entries. Called from
+          # `sessionWrapper`.
+
+          # Start the window manager.
+          ${wm.start}
+
+          # Start the desktop manager.
+          ${dm.start}
+
+          ${optionalString cfg.updateDbusEnvironment ''
+            ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
+          ''}
+
+          test -n "$waitPID" && wait "$waitPID"
+
+          ${config.systemd.package}/bin/systemctl --user stop graphical-session.target
+
+          exit 0
+        '';
+      in
+        # We will generate every possible pair of WM and DM.
+        concatLists (
+          crossLists
+            (dm: wm: let
+              sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
+              script = xsession dm wm;
+            in
+              optional (dm.name != "none" || wm.name != "none")
+                (pkgs.writeTextFile {
+                  name = "${sessionName}-xsession";
+                  destination = "/share/xsessions/${sessionName}.desktop";
+                  # Desktop Entry Specification:
+                  # - https://standards.freedesktop.org/desktop-entry-spec/latest/
+                  # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
+                  text = ''
+                    [Desktop Entry]
+                    Version=1.0
+                    Type=XSession
+                    TryExec=${script}
+                    Exec=${script}
+                    Name=${sessionName}
+                  '';
+                } // {
+                  providedSessions = [ sessionName ];
+                })
+            )
+            [dms wms]
+          );
   };
 
   imports = [
-   (mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
      "The option is no longer necessary because all display managers have already delegated lid management to systemd.")
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "xserver" "displayManager" "sessionPackages" ])
   ];
 
 }
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index 0a5d52e319ec..2f8c8cc90137 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -31,6 +31,9 @@ let
     load-module module-position-event-sounds
   '';
 
+  defaultSessionName = config.services.xserver.displayManager.defaultSession;
+
+  setSessionScript = pkgs.callPackage ./account-service-util.nix { };
 in
 
 {
@@ -42,10 +45,7 @@ in
     services.xserver.displayManager.gdm = {
 
       enable = mkEnableOption ''
-        GDM as the display manager.
-        <emphasis>GDM in NixOS is not well-tested with desktops other
-        than GNOME, so use with caution, as it could render the
-        system unusable.</emphasis>
+        GDM, the GNOME Display Manager
       '';
 
       debug = mkEnableOption ''
@@ -91,11 +91,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 = ''
@@ -141,7 +151,7 @@ in
         environment = {
           GDM_X_SERVER_EXTRA_ARGS = toString
             (filter (arg: arg != "-terminate") cfg.xserverArgs);
-          XDG_DATA_DIRS = "${cfg.session.desktops}/share/";
+          XDG_DATA_DIRS = "${cfg.sessionData.desktops}/share/";
         } // optionalAttrs (xSessionWrapper != null) {
           # Make GDM use this wrapper before running the session, which runs the
           # configured setupCommands. This relies on a patched GDM which supports
@@ -149,19 +159,43 @@ in
           GDM_X_SESSION_WRAPPER = "${xSessionWrapper}";
         };
         execCmd = "exec ${gdm}/bin/gdm";
-        preStart = optionalString config.hardware.pulseaudio.enable ''
-          mkdir -p /run/gdm/.config/pulse
-          ln -sf ${pulseConfig} /run/gdm/.config/pulse/default.pa
-          chown -R gdm:gdm /run/gdm/.config
+        preStart = optionalString (defaultSessionName != null) ''
+          # Set default session in session chooser to a specified values – basically ignore session history.
+          ${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession}
         '';
       };
 
-    # Because sd_login_monitor_new requires /run/systemd/machines
-    systemd.services.display-manager.wants = [ "systemd-machined.service" ];
+    systemd.tmpfiles.rules = [
+      "d /run/gdm/.config 0711 gdm gdm -"
+    ] ++ optionals config.hardware.pulseaudio.enable [
+      "L+ /run/gdm/.config/pulse - - - - ${pulseConfig}"
+    ] ++ optionals config.services.gnome3.gnome-initial-setup.enable [
+      # Create stamp file for gnome-initial-setup to prevent it starting in GDM.
+      "f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm - yes"
+    ];
+
+    systemd.services.display-manager.wants = [
+      # Because sd_login_monitor_new requires /run/systemd/machines
+      "systemd-machined.service"
+      # setSessionScript wants AccountsService
+      "accounts-daemon.service"
+    ];
+
     systemd.services.display-manager.after = [
       "rc-local.service"
       "systemd-machined.service"
       "systemd-user-sessions.service"
+      "getty@tty${gdm.initialVT}.service"
+      "plymouth-quit.service"
+      "plymouth-start.service"
+    ];
+    systemd.services.display-manager.conflicts = [
+       "getty@tty${gdm.initialVT}.service"
+       # TODO: Add "plymouth-quit.service" so GDM can control when plymouth quits.
+       # Currently this breaks switching configurations while using plymouth.
+    ];
+    systemd.services.display-manager.onFailure = [
+      "plymouth-quit.service"
     ];
 
     systemd.services.display-manager.serviceConfig = {
@@ -171,6 +205,9 @@ in
       BusName = "org.gnome.DisplayManager";
       StandardOutput = "syslog";
       StandardError = "inherit";
+      ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
+      KeyringMode = "shared";
+      EnvironmentFile = "-/etc/locale.conf";
     };
 
     systemd.services.display-manager.path = [ pkgs.gnome3.gnome-session ];
@@ -180,6 +217,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 =
@@ -201,7 +251,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 {
@@ -246,7 +296,7 @@ in
       ${optionalString cfg.gdm.debug "Enable=true"}
     '';
 
-    environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.session.wrapper;
+    environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.sessionData.wrapper;
 
     # GDM LFS PAM modules, adapted somehow to NixOS
     security.pam.services = {
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
index fa9445af32e7..0025f9b36037 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
@@ -53,9 +53,8 @@ in
           Whether to enable lightdm-mini-greeter as the lightdm greeter.
 
           Note that this greeter starts only the default X session.
-          You can configure the default X session by
-          <option>services.xserver.desktopManager.default</option> and
-          <option>services.xserver.windowManager.default</option>.
+          You can configure the default X session using
+          <xref linkend="opt-services.xserver.displayManager.defaultSession"/>.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
index 29cb6ccbc06b..77c94114e6d9 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -35,6 +35,9 @@ in
       name = "io.elementary.greeter";
     };
 
+    # Show manual login card.
+    services.xserver.displayManager.lightdm.extraSeatDefaults = "greeter-show-manual-login=true";
+
     environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
     environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
 
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
index f105cb496e68..f7face0adb7e 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -8,10 +8,9 @@ let
   dmcfg = xcfg.displayManager;
   xEnv = config.systemd.services.display-manager.environment;
   cfg = dmcfg.lightdm;
+  sessionData = dmcfg.sessionData;
 
-  dmDefault = xcfg.desktopManager.default;
-  wmDefault = xcfg.windowManager.default;
-  hasDefaultUserSession = dmDefault != "none" || wmDefault != "none";
+  setSessionScript = pkgs.callPackage ./account-service-util.nix { };
 
   inherit (pkgs) lightdm writeScript writeText;
 
@@ -45,22 +44,19 @@ let
         greeter-user = ${config.users.users.lightdm.name}
         greeters-directory = ${cfg.greeter.package}
       ''}
-      sessions-directory = ${dmcfg.session.desktops}/share/xsessions
+      sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions
       ${cfg.extraConfig}
 
       [Seat:*]
       xserver-command = ${xserverWrapper}
-      session-wrapper = ${dmcfg.session.wrapper}
+      session-wrapper = ${dmcfg.sessionData.wrapper}
       ${optionalString cfg.greeter.enable ''
         greeter-session = ${cfg.greeter.name}
       ''}
       ${optionalString cfg.autoLogin.enable ''
         autologin-user = ${cfg.autoLogin.user}
         autologin-user-timeout = ${toString cfg.autoLogin.timeout}
-        autologin-session = ${defaultSessionName}
-      ''}
-      ${optionalString hasDefaultUserSession ''
-        user-session=${defaultSessionName}
+        autologin-session = ${sessionData.autologinSession}
       ''}
       ${optionalString (dmcfg.setupCommands != "") ''
         display-setup-script=${pkgs.writeScript "lightdm-display-setup" ''
@@ -71,7 +67,6 @@ let
       ${cfg.extraSeatDefaults}
     '';
 
-  defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault);
 in
 {
   # Note: the order in which lightdm greeter modules are imported
@@ -199,11 +194,9 @@ in
           LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set
         '';
       }
-      { assertion = cfg.autoLogin.enable -> dmDefault != "none" || wmDefault != "none";
+      { assertion = cfg.autoLogin.enable -> sessionData.autologinSession != null;
         message = ''
-          LightDM auto-login requires that services.xserver.desktopManager.default and
-          services.xserver.windowManager.default are set to valid values. The current
-          default session: ${defaultSessionName} is not valid.
+          LightDM auto-login requires that services.xserver.displayManager.defaultSession is set.
         '';
       }
       { assertion = !cfg.greeter.enable -> (cfg.autoLogin.enable && cfg.autoLogin.timeout == 0);
@@ -214,12 +207,63 @@ in
       }
     ];
 
+    # Set default session in session chooser to a specified values – basically ignore session history.
+    # Auto-login is already covered by a config value.
+    services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) ''
+      ${setSessionScript}/bin/set-session ${dmcfg.defaultSession}
+    '';
+
+    # setSessionScript needs session-files in XDG_DATA_DIRS
+    services.xserver.displayManager.job.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/";
+
+    # setSessionScript wants AccountsService
+    systemd.services.display-manager.wants = [
+      "accounts-daemon.service"
+    ];
+
     # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
     services.xserver.displayManager.job.execCmd = ''
       export PATH=${lightdm}/sbin:$PATH
       exec ${lightdm}/sbin/lightdm
     '';
 
+    # Replaces getty
+    systemd.services.display-manager.conflicts = [
+      "getty@tty7.service"
+      # TODO: Add "plymouth-quit.service" so LightDM can control when plymouth
+      # quits. Currently this breaks switching to configurations with plymouth.
+     ];
+
+    # Pull in dependencies of services we replace.
+    systemd.services.display-manager.after = [
+      "rc-local.service"
+      "systemd-machined.service"
+      "systemd-user-sessions.service"
+      "getty@tty7.service"
+      "user.slice"
+    ];
+
+    # user.slice needs to be present
+    systemd.services.display-manager.requires = [
+      "user.slice"
+    ];
+
+    # lightdm stops plymouth so when it fails make sure plymouth stops.
+    systemd.services.display-manager.onFailure = [
+      "plymouth-quit.service"
+    ];
+
+    systemd.services.display-manager.serviceConfig = {
+      BusName = "org.freedesktop.DisplayManager";
+      IgnoreSIGPIPE = "no";
+      # This allows lightdm to pass the LUKS password through to PAM.
+      # login keyring is unlocked automatic when autologin is used.
+      KeyringMode = "shared";
+      KillMode = "mixed";
+      StandardError = "inherit";
+      StandardOutput = "syslog";
+    };
+
     environment.etc."lightdm/lightdm.conf".source = lightdmConf;
     environment.etc."lightdm/users.conf".source = usersConf;
 
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
index 8847acb0c604..4224c557ed63 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
@@ -14,7 +14,7 @@ let
   xserverWrapper = pkgs.writeScript "xserver-wrapper" ''
     #!/bin/sh
     ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
-    exec systemd-cat ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@"
+    exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@"
   '';
 
   Xsetup = pkgs.writeScript "Xsetup" ''
@@ -50,8 +50,8 @@ let
     MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)}
     ServerPath=${xserverWrapper}
     XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr
-    SessionCommand=${dmcfg.session.wrapper}
-    SessionDir=${dmcfg.session.desktops}/share/xsessions
+    SessionCommand=${dmcfg.sessionData.wrapper}
+    SessionDir=${dmcfg.sessionData.desktops}/share/xsessions
     XauthPath=${pkgs.xorg.xauth}/bin/xauth
     DisplayCommand=${Xsetup}
     DisplayStopCommand=${Xstop}
@@ -59,26 +59,27 @@ let
 
     [Wayland]
     EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
-    SessionDir=${dmcfg.session.desktops}/share/wayland-sessions
+    SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions
 
     ${optionalString cfg.autoLogin.enable ''
     [Autologin]
     User=${cfg.autoLogin.user}
-    Session=${defaultSessionName}.desktop
+    Session=${autoLoginSessionName}.desktop
     Relogin=${boolToString cfg.autoLogin.relogin}
     ''}
 
     ${cfg.extraConfig}
   '';
 
-  defaultSessionName =
-    let
-      dm = xcfg.desktopManager.default;
-      wm = xcfg.windowManager.default;
-    in dm + optionalString (wm != "none") ("+" + wm);
+  autoLoginSessionName = dmcfg.sessionData.autologinSession;
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
+      "Set the option `services.xserver.displayManager.sddm.package' instead.")
+  ];
+
   options = {
 
     services.xserver.displayManager.sddm = {
@@ -205,11 +206,9 @@ in
           SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set
         '';
       }
-      { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names;
+      { assertion = cfg.autoLogin.enable -> autoLoginSessionName != null;
         message = ''
-          SDDM auto-login requires that services.xserver.desktopManager.default and
-          services.xserver.windowManager.default are set to valid values. The current
-          default session: ${defaultSessionName} is not valid.
+          SDDM auto-login requires that services.xserver.displayManager.defaultSession is set.
         '';
       }
     ];
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py b/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py
new file mode 100755
index 000000000000..0cca80af44e8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/display-managers/slim.nix b/nixpkgs/nixos/modules/services/x11/display-managers/slim.nix
index 124660a43f07..4b0948a5b7a5 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/extra-layouts.nix b/nixpkgs/nixos/modules/services/x11/extra-layouts.nix
index 1af98a1318bb..f48216ff446f 100644
--- a/nixpkgs/nixos/modules/services/x11/extra-layouts.nix
+++ b/nixpkgs/nixos/modules/services/x11/extra-layouts.nix
@@ -141,7 +141,7 @@ in
         });
 
         xkbcomp = super.xorg.xkbcomp.overrideAttrs (old: {
-          configureFlags = "--with-xkb-config-root=${self.xkb_patched}/share/X11/xkb";
+          configureFlags = [ "--with-xkb-config-root=${self.xkb_patched}/share/X11/xkb" ];
         });
 
       };
@@ -158,6 +158,12 @@ in
 
     });
 
+    environment.sessionVariables = {
+      # runtime override supported by multiple libraries e. g. libxkbcommon
+      # https://xkbcommon.org/doc/current/group__include-path.html
+      XKB_CONFIG_ROOT = "${pkgs.xkb_patched}/etc/X11/xkb";
+    };
+
     services.xserver = {
       xkbDir = "${pkgs.xkb_patched}/etc/X11/xkb";
       exportConfiguration = config.services.xserver.displayManager.startx.enable;
diff --git a/nixpkgs/nixos/modules/services/x11/hardware/cmt.nix b/nixpkgs/nixos/modules/services/x11/hardware/cmt.nix
index 95353e92098e..5ac824c5e419 100644
--- a/nixpkgs/nixos/modules/services/x11/hardware/cmt.nix
+++ b/nixpkgs/nixos/modules/services/x11/hardware/cmt.nix
@@ -47,7 +47,12 @@ in {
     assertions = [
       {
         assertion = !config.services.xserver.libinput.enable;
-        message = "cmt and libinput are incompatible, you cannot enable both (in services.xserver).";
+        message = ''
+          cmt and libinput are incompatible, meaning you cannot enable them both.
+          To use cmt you need to disable libinput with `services.xserver.libinput.enable = false`
+          If you haven't enabled it in configuration.nix, it's enabled by default on a
+          different xserver module.
+        '';
       }
     ];
   };
diff --git a/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix b/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix
new file mode 100644
index 000000000000..a9f5640905aa
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix
@@ -0,0 +1,43 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.xserver.digimend;
+
+  pkg = config.boot.kernelPackages.digimend;
+
+in
+
+{
+
+  options = {
+
+    services.xserver.digimend = {
+
+      enable = mkOption {
+        default = false;
+        description = ''
+          Whether to enable the digimend drivers for Huion/XP-Pen/etc. tablets.
+        '';
+      };
+
+    };
+
+  };
+
+
+  config = mkIf cfg.enable {
+
+    # digimend drivers use xsetwacom and wacom X11 drivers
+    services.xserver.wacom.enable = true;
+
+    boot.extraModulePackages = [ pkg ];
+
+    environment.etc."X11/xorg.conf.d/50-digimend.conf".source =
+      "${pkg}/usr/share/X11/xorg.conf.d/50-digimend.conf";
+
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix b/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
index bd289976532b..f6b0e7c09f51 100644
--- a/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
@@ -122,7 +122,7 @@ in {
         description =
           ''
             Specify the scrolling method: <literal>twofinger</literal>, <literal>edge</literal>,
-            or <literal>none</literal>
+            <literal>button</literal>, or <literal>none</literal>
           '';
       };
 
@@ -198,23 +198,24 @@ in {
 
     environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ];
 
-    environment.etc = [
-      (let cfgPath = "X11/xorg.conf.d/40-libinput.conf"; in {
-        source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath;
-        target = cfgPath;
-      })
-    ];
+    environment.etc =
+      let cfgPath = "X11/xorg.conf.d/40-libinput.conf";
+      in {
+        ${cfgPath} = {
+          source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath;
+        };
+      };
 
     services.udev.packages = [ pkgs.libinput.out ];
 
     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/nixpkgs/nixos/modules/services/x11/imwheel.nix b/nixpkgs/nixos/modules/services/x11/imwheel.nix
new file mode 100644
index 000000000000..3923df498e79
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/imwheel.nix
@@ -0,0 +1,68 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.xserver.imwheel;
+in
+  {
+    options = {
+      services.xserver.imwheel = {
+        enable = mkEnableOption "IMWheel service";
+
+        extraOptions = mkOption {
+          type = types.listOf types.str;
+          default = [ "--buttons=45" ];
+          example = [ "--debug" ];
+          description = ''
+            Additional command-line arguments to pass to
+            <command>imwheel</command>.
+          '';
+        };
+
+        rules = mkOption {
+          type = types.attrsOf types.str;
+          default = {};
+          example = literalExample ''
+            ".*" = '''
+              None,      Up,   Button4, 8
+              None,      Down, Button5, 8
+              Shift_L,   Up,   Shift_L|Button4, 4
+              Shift_L,   Down, Shift_L|Button5, 4
+              Control_L, Up,   Control_L|Button4
+              Control_L, Down, Control_L|Button5
+            ''';
+          '';
+          description = ''
+            Window class translation rules.
+            /etc/X11/imwheelrc is generated based on this config
+            which means this config is global for all users.
+            See <link xlink:href="http://imwheel.sourceforge.net/imwheel.1.html">offical man pages</link>
+            for more informations.
+          '';
+        };
+      };
+    };
+
+    config = mkIf cfg.enable {
+      environment.systemPackages = [ pkgs.imwheel ];
+
+      environment.etc."X11/imwheel/imwheelrc".source =
+        pkgs.writeText "imwheelrc" (concatStringsSep "\n\n"
+          (mapAttrsToList
+            (rule: conf: "\"${rule}\"\n${conf}") cfg.rules
+          ));
+
+      systemd.user.services.imwheel = {
+        description = "imwheel service";
+        wantedBy = [ "graphical-session.target" ];
+        partOf = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${pkgs.imwheel}/bin/imwheel " + escapeShellArgs ([
+            "--detach"
+            "--kill"
+          ] ++ cfg.extraOptions);
+          ExecStop = "${pkgs.procps}/bin/pkill imwheel";
+          Restart = "on-failure";
+        };
+      };
+    };
+  }
diff --git a/nixpkgs/nixos/modules/services/x11/compton.nix b/nixpkgs/nixos/modules/services/x11/picom.nix
index a94a76ff0c0f..e3bd21be73e4 100644
--- a/nixpkgs/nixos/modules/services/x11/compton.nix
+++ b/nixpkgs/nixos/modules/services/x11/picom.nix
@@ -5,7 +5,7 @@ with builtins;
 
 let
 
-  cfg = config.services.compton;
+  cfg = config.services.picom;
 
   pairOf = x: with types; addCheck (listOf x) (y: length y == 2);
 
@@ -31,20 +31,24 @@ let
                 (key: value: "${toString key}=${mkValueString value};")
                 v)
             + " }"
-          else abort "compton.mkValueString: unexpected type (v = ${v})";
+          else abort "picom.mkValueString: unexpected type (v = ${v})";
       in "${escape [ sep ] k}${sep}${mkValueString v};")
       attrs);
 
-  configFile = pkgs.writeText "compton.conf" (toConf cfg.settings);
+  configFile = pkgs.writeText "picom.conf" (toConf cfg.settings);
 
 in {
 
-  options.services.compton = {
+  imports = [
+    (mkAliasOptionModule [ "services" "compton" ] [ "services" "picom" ])
+  ];
+
+  options.services.picom = {
     enable = mkOption {
       type = types.bool;
       default = false;
       description = ''
-        Whether of not to enable Compton as the X.org composite manager.
+        Whether of not to enable Picom as the X.org composite manager.
       '';
     };
 
@@ -85,7 +89,7 @@ in {
       ];
       description = ''
         List of conditions of windows that should not be faded.
-        See <literal>compton(1)</literal> man page for more examples.
+        See <literal>picom(1)</literal> man page for more examples.
       '';
     };
 
@@ -125,7 +129,7 @@ in {
       ];
       description = ''
         List of conditions of windows that should have no shadow.
-        See <literal>compton(1)</literal> man page for more examples.
+        See <literal>picom(1)</literal> man page for more examples.
       '';
     };
 
@@ -192,7 +196,7 @@ in {
       apply = x:
         let
           res = x != "none";
-          msg = "The type of services.compton.vSync has changed to bool:"
+          msg = "The type of services.picom.vSync has changed to bool:"
                 + " interpreting ${x} as ${boolToString res}";
         in
           if isBool x then x
@@ -222,13 +226,13 @@ in {
       type = loaOf (types.either configTypes (loaOf (types.either configTypes (loaOf configTypes))));
       default = {};
       description = ''
-        Additional Compton configuration.
+        Additional Picom configuration.
       '';
     };
   };
 
   config = mkIf cfg.enable {
-    services.compton.settings = let
+    services.picom.settings = let
       # Hard conversion to float, literally lib.toInt but toFloat
       toFloat = str: let
         may_be_float = builtins.fromJSON str;
@@ -264,8 +268,8 @@ in {
       refresh-rate     = mkDefault cfg.refreshRate;
     };
 
-    systemd.user.services.compton = {
-      description = "Compton composite manager";
+    systemd.user.services.picom = {
+      description = "Picom composite manager";
       wantedBy = [ "graphical-session.target" ];
       partOf = [ "graphical-session.target" ];
 
@@ -275,13 +279,15 @@ in {
       };
 
       serviceConfig = {
-        ExecStart = "${pkgs.compton}/bin/compton --config ${configFile}";
+        ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}";
         RestartSec = 3;
         Restart = "always";
       };
     };
 
-    environment.systemPackages = [ pkgs.compton ];
+    environment.systemPackages = [ pkgs.picom ];
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/x11/unclutter.nix b/nixpkgs/nixos/modules/services/x11/unclutter.nix
index 5f16a680050d..2478aaabb799 100644
--- a/nixpkgs/nixos/modules/services/x11/unclutter.nix
+++ b/nixpkgs/nixos/modules/services/x11/unclutter.nix
@@ -71,4 +71,7 @@ in {
       serviceConfig.Restart = "always";
     };
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/x11/urxvtd.nix b/nixpkgs/nixos/modules/services/x11/urxvtd.nix
index d916fa5bb393..9bfcfa9b065d 100644
--- a/nixpkgs/nixos/modules/services/x11/urxvtd.nix
+++ b/nixpkgs/nixos/modules/services/x11/urxvtd.nix
@@ -45,4 +45,6 @@ in {
     environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket";
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix b/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix
new file mode 100644
index 000000000000..03375a226bb6
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix
@@ -0,0 +1,23 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.cwm;
+in
+{
+  options = {
+    services.xserver.windowManager.cwm.enable = mkEnableOption "cwm";
+  };
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton
+      { name = "cwm";
+        start =
+          ''
+            cwm &
+            waitPID=$!
+          '';
+      };
+    environment.systemPackages = [ pkgs.cwm ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/default.nix b/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
index 2a1f22fa9a4c..04a9fc46628c 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
@@ -11,6 +11,7 @@ in
     ./2bwm.nix
     ./afterstep.nix
     ./bspwm.nix
+    ./cwm.nix
     ./dwm.nix
     ./evilwm.nix
     ./exwm.nix
@@ -58,15 +59,14 @@ in
       };
 
       default = mkOption {
-        type = types.str;
-        default = "none";
+        type = types.nullOr types.str;
+        default = null;
         example = "wmii";
-        description = "Default window manager loaded if none have been chosen.";
-        apply = defaultWM:
-          if any (w: w.name == defaultWM) cfg.session then
-            defaultWM
-          else
-            throw "Default window manager (${defaultWM}) not found.";
+        description = ''
+          <emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
+
+          Default window manager loaded if none have been chosen.
+        '';
       };
 
     };
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix b/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
index 0e1314122767..30c59b88f82f 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -86,7 +86,7 @@ in
           ${xmonadBin}
           waitPID=$!
         '' else ''
-          ${xmonad}/bin/xmonad &
+          systemd-cat -t xmonad ${xmonad}/bin/xmonad &
           waitPID=$!
         '';
       }];
diff --git a/nixpkgs/nixos/modules/services/x11/xserver.nix b/nixpkgs/nixos/modules/services/x11/xserver.nix
index a8406544a72f..7029919170aa 100644
--- a/nixpkgs/nixos/modules/services/x11/xserver.nix
+++ b/nixpkgs/nixos/modules/services/x11/xserver.nix
@@ -149,6 +149,8 @@ in
     [ ./display-managers/default.nix
       ./window-managers/default.nix
       ./desktop-managers/default.nix
+      (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
+        "See the 16.09 release notes for more information.")
     ];
 
 
@@ -329,9 +331,9 @@ in
       };
 
       xkbOptions = mkOption {
-        type = types.str;
+        type = types.commas;
         default = "terminate:ctrl_alt_bksp";
-        example = "grp:caps_toggle, grp_led:scroll";
+        example = "grp:caps_toggle,grp_led:scroll";
         description = ''
           X keyboard options; layout switching goes here.
         '';
@@ -557,7 +559,6 @@ in
           default = !( dmconf.auto.enable
                     || dmconf.gdm.enable
                     || dmconf.sddm.enable
-                    || dmconf.slim.enable
                     || dmconf.xpra.enable );
       in mkIf (default) true;
 
@@ -589,19 +590,15 @@ in
     ];
 
     environment.etc =
-      (optionals cfg.exportConfiguration
-        [ { source = "${configFile}";
-            target = "X11/xorg.conf";
-          }
+      (optionalAttrs cfg.exportConfiguration
+        {
+          "X11/xorg.conf".source = "${configFile}";
           # -xkbdir command line option does not seems to be passed to xkbcomp.
-          { source = "${cfg.xkbDir}";
-            target = "X11/xkb";
-          }
-        ])
+          "X11/xkb".source = "${cfg.xkbDir}";
+        })
       # localectl looks into 00-keyboard.conf
-      ++ [
-        {
-          text = ''
+      //{
+          "X11/xorg.conf.d/00-keyboard.conf".text = ''
             Section "InputClass"
               Identifier "Keyboard catchall"
               MatchIsKeyboard "on"
@@ -611,16 +608,12 @@ in
               Option "XkbVariant" "${cfg.xkbVariant}"
             EndSection
           '';
-          target = "X11/xorg.conf.d/00-keyboard.conf";
         }
-      ]
       # Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5
-      ++ (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in
-        [{
-          source = xorg.xf86inputevdev.out + "/share" + cfgPath;
-          target = cfgPath;
-        }]
-      );
+      // (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in
+        {
+          ${cfgPath}.source = xorg.xf86inputevdev.out + "/share" + cfgPath;
+        });
 
     environment.systemPackages =
       [ xorg.xorgserver.out
diff --git a/nixpkgs/nixos/modules/system/boot/binfmt.nix b/nixpkgs/nixos/modules/system/boot/binfmt.nix
index a32c9dc1f2b4..a677ab4cb71a 100644
--- a/nixpkgs/nixos/modules/system/boot/binfmt.nix
+++ b/nixpkgs/nixos/modules/system/boot/binfmt.nix
@@ -134,6 +134,10 @@ let
   };
 
 in {
+  imports = [
+    (lib.mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ])
+  ];
+
   options = {
     boot.binfmt = {
       registrations = mkOption {
diff --git a/nixpkgs/nixos/modules/system/boot/grow-partition.nix b/nixpkgs/nixos/modules/system/boot/grow-partition.nix
index 8c9b1502558a..71a86c74772e 100644
--- a/nixpkgs/nixos/modules/system/boot/grow-partition.nix
+++ b/nixpkgs/nixos/modules/system/boot/grow-partition.nix
@@ -7,6 +7,9 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ])
+  ];
 
   options = {
     boot.growPartition = mkEnableOption "grow the root partition on boot";
diff --git a/nixpkgs/nixos/modules/system/boot/kernel.nix b/nixpkgs/nixos/modules/system/boot/kernel.nix
index 8a309f3bc5fe..6edb9082e75a 100644
--- a/nixpkgs/nixos/modules/system/boot/kernel.nix
+++ b/nixpkgs/nixos/modules/system/boot/kernel.nix
@@ -256,9 +256,8 @@ in
 
     # Create /etc/modules-load.d/nixos.conf, which is read by
     # systemd-modules-load.service to load required kernel modules.
-    environment.etc = singleton
-      { target = "modules-load.d/nixos.conf";
-        source = kernelModulesConf;
+    environment.etc =
+      { "modules-load.d/nixos.conf".source = kernelModulesConf;
       };
 
     systemd.services.systemd-modules-load =
diff --git a/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix b/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
index e13f0421d38f..9a4db84f7b73 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/loader/loader.nix b/nixpkgs/nixos/modules/system/boot/loader/loader.nix
index 7fbda9ef0f57..01475f79b9c2 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/loader.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/loader.nix
@@ -3,6 +3,11 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ])
+    (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ])
+  ];
+
     options = {
         boot.loader.timeout =  mkOption {
             default = 5;
@@ -12,4 +17,4 @@ with lib;
             '';
         };
     };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh
index 0fb07de10c04..c8b5bf2e61af 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh
+++ b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh
@@ -71,7 +71,7 @@ addEntry() {
 
     local kernel=$(readlink -f $path/kernel)
     local initrd=$(readlink -f $path/initrd)
-    local dtb_path=$(readlink -f $path/kernel-modules/dtbs)
+    local dtb_path=$(readlink -f $path/dtbs)
 
     if test -n "@copyKernels@"; then
         copyToKernelsDir $kernel; kernel=$result
@@ -113,10 +113,18 @@ done
 fwdir=@firmware@/share/raspberrypi/boot/
 copyForced $fwdir/bootcode.bin  $target/bootcode.bin
 copyForced $fwdir/fixup.dat     $target/fixup.dat
+copyForced $fwdir/fixup4.dat    $target/fixup4.dat
+copyForced $fwdir/fixup4cd.dat  $target/fixup4cd.dat
+copyForced $fwdir/fixup4db.dat  $target/fixup4db.dat
+copyForced $fwdir/fixup4x.dat   $target/fixup4x.dat
 copyForced $fwdir/fixup_cd.dat  $target/fixup_cd.dat
 copyForced $fwdir/fixup_db.dat  $target/fixup_db.dat
 copyForced $fwdir/fixup_x.dat   $target/fixup_x.dat
 copyForced $fwdir/start.elf     $target/start.elf
+copyForced $fwdir/start4.elf    $target/start4.elf
+copyForced $fwdir/start4cd.elf  $target/start4cd.elf
+copyForced $fwdir/start4db.elf  $target/start4db.elf
+copyForced $fwdir/start4x.elf   $target/start4x.elf
 copyForced $fwdir/start_cd.elf  $target/start_cd.elf
 copyForced $fwdir/start_db.elf  $target/start_db.elf
 copyForced $fwdir/start_x.elf   $target/start_x.elf
diff --git a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
index 1c8354e52696..337afe9ef628 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
@@ -59,7 +59,7 @@ in
 
       version = mkOption {
         default = 2;
-        type = types.enum [ 0 1 2 3 ];
+        type = types.enum [ 0 1 2 3 4 ];
         description = ''
         '';
       };
@@ -97,8 +97,8 @@ in
 
   config = mkIf cfg.enable {
     assertions = singleton {
-      assertion = !pkgs.stdenv.hostPlatform.isAarch64 || cfg.version == 3;
-      message = "Only Raspberry Pi 3 supports aarch64.";
+      assertion = !pkgs.stdenv.hostPlatform.isAarch64 || cfg.version >= 3;
+      message = "Only Raspberry Pi >= 3 supports aarch64.";
     };
 
     system.build.installBootLoader = builder;
diff --git a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
index 9d4f8a93d282..1dc397e521b4 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
@@ -10,11 +10,13 @@ let
       pkgs.ubootRaspberryPi
     else if version == 2 then
       pkgs.ubootRaspberryPi2
-    else
+    else if version == 3 then
       if isAarch64 then
         pkgs.ubootRaspberryPi3_64bit
       else
-        pkgs.ubootRaspberryPi3_32bit;
+        pkgs.ubootRaspberryPi3_32bit
+    else
+      throw "U-Boot is not yet supported on the raspberry pi 4.";
 
   extlinuxConfBuilder =
     import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
diff --git a/nixpkgs/nixos/modules/system/boot/luksroot.nix b/nixpkgs/nixos/modules/system/boot/luksroot.nix
index a4029d766b05..0bb8396a44fc 100644
--- a/nixpkgs/nixos/modules/system/boot/luksroot.nix
+++ b/nixpkgs/nixos/modules/system/boot/luksroot.nix
@@ -126,7 +126,7 @@ let
 
     gpg-agent --daemon --scdaemon-program $out/bin/scdaemon > /dev/null 2> /dev/null
     ''}
-        
+
     # Disable all input echo for the whole stage. We could use read -s
     # instead but that would ocasionally leak characters between read
     # invocations.
@@ -417,6 +417,9 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
+  ];
 
   options = {
 
diff --git a/nixpkgs/nixos/modules/system/boot/networkd.nix b/nixpkgs/nixos/modules/system/boot/networkd.nix
index f2060e21509c..3e289a63139f 100644
--- a/nixpkgs/nixos/modules/system/boot/networkd.nix
+++ b/nixpkgs/nixos/modules/system/boot/networkd.nix
@@ -10,8 +10,8 @@ let
 
   checkLink = checkUnitConfig "Link" [
     (assertOnlyFields [
-      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName"
-      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
+      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" "OriginalName"
+      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port" "Advertise"
       "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
       "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"
       "OtherChannels" "CombinedChannels"
@@ -187,7 +187,7 @@ let
     # Note: For DHCP the values both, none, v4, v6 are deprecated
     (assertValueOneOf "DHCP" ["yes" "no" "ipv4" "ipv6" "both" "none" "v4" "v6"])
     (assertValueOneOf "DHCPServer" boolValues)
-    (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6"])
+    (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6" "ipv4-fallback" "fallback"])
     (assertValueOneOf "IPv4LLRoute" boolValues)
     (assertValueOneOf "LLMNR" ["yes" "resolve" "no"])
     (assertValueOneOf "MulticastDNS" ["yes" "resolve" "no"])
@@ -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)
@@ -276,7 +276,7 @@ let
     (assertValueOneOf "ARP" boolValues)
     (assertValueOneOf "Multicast" boolValues)
     (assertValueOneOf "Unmanaged" boolValues)
-    (assertValueOneOf "RequiredForOnline" boolValues)
+    (assertValueOneOf "RequiredForOnline" (boolValues ++ ["off" "no-carrier" "dormant" "degraded-carrier" "carrier" "degraded" "enslaved" "routable"]))
   ];
 
 
@@ -872,10 +872,10 @@ let
         '';
     };
 
-  unitFiles = map (name: {
-    target = "systemd/network/${name}";
-    source = "${cfg.units.${name}.unit}/${name}";
-  }) (attrNames cfg.units);
+  unitFiles = listToAttrs (map (name: {
+    name = "systemd/network/${name}";
+    value.source = "${cfg.units.${name}.unit}/${name}";
+  }) (attrNames cfg.units));
 in
 
 {
@@ -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"
     ];
@@ -936,7 +938,7 @@ in
 
     systemd.services.systemd-networkd = {
       wantedBy = [ "multi-user.target" ];
-      restartTriggers = map (f: f.source) (unitFiles);
+      restartTriggers = attrNames unitFiles;
       # prevent race condition with interface renaming (#39069)
       requires = [ "systemd-udev-settle.service" ];
       after = [ "systemd-udev-settle.service" ];
diff --git a/nixpkgs/nixos/modules/system/boot/plymouth.nix b/nixpkgs/nixos/modules/system/boot/plymouth.nix
index e4223bae7d32..23fce22366d8 100644
--- a/nixpkgs/nixos/modules/system/boot/plymouth.nix
+++ b/nixpkgs/nixos/modules/system/boot/plymouth.nix
@@ -5,23 +5,27 @@ with lib;
 let
 
   inherit (pkgs) plymouth;
+  inherit (pkgs) nixos-icons;
 
   cfg = config.boot.plymouth;
 
-  breezePlymouth = pkgs.breeze-plymouth.override {
-    nixosBranding = true;
-    nixosVersion = config.system.nixos.release;
+  nixosBreezePlymouth = pkgs.breeze-plymouth.override {
+    logoFile = cfg.logo;
+    logoName = "nixos";
+    osName = "NixOS";
+    osVersion = config.system.nixos.release;
   };
 
   themesEnv = pkgs.buildEnv {
     name = "plymouth-themes";
-    paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
+    paths = [ plymouth ] ++ cfg.themePackages;
   };
 
   configFile = pkgs.writeText "plymouthd.conf" ''
     [Daemon]
     ShowDelay=0
     Theme=${cfg.theme}
+    ${cfg.extraConfig}
   '';
 
 in
@@ -35,7 +39,7 @@ in
       enable = mkEnableOption "Plymouth boot splash screen";
 
       themePackages = mkOption {
-        default = [];
+        default = [ nixosBreezePlymouth ];
         type = types.listOf types.package;
         description = ''
           Extra theme packages for plymouth.
@@ -52,10 +56,7 @@ in
 
       logo = mkOption {
         type = types.path;
-        default = pkgs.fetchurl {
-          url = "https://nixos.org/logo/nixos-hires.png";
-          sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
-        };
+        default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
         defaultText = ''pkgs.fetchurl {
           url = "https://nixos.org/logo/nixos-hires.png";
           sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
@@ -65,6 +66,15 @@ in
         '';
       };
 
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Literal string to append to <literal>configFile</literal>
+          and the config file generated by the plymouth module.
+        '';
+      };
+
     };
 
   };
@@ -88,10 +98,7 @@ in
     systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ];
     systemd.services.plymouth-halt.wantedBy = [ "halt.target" ];
     systemd.services.plymouth-quit-wait.wantedBy = [ "multi-user.target" ];
-    systemd.services.plymouth-quit = {
-      wantedBy = [ "multi-user.target" ];
-      after = [ "display-manager.service" ];
-    };
+    systemd.services.plymouth-quit.wantedBy = [ "multi-user.target" ];
     systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ];
     systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];
     systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ];
diff --git a/nixpkgs/nixos/modules/system/boot/resolved.nix b/nixpkgs/nixos/modules/system/boot/resolved.nix
index 3ea96f8e4645..da61c64faf8b 100644
--- a/nixpkgs/nixos/modules/system/boot/resolved.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/stage-1-init.sh b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
index b817a45deba3..f520bf54ad1b 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
@@ -183,6 +183,12 @@ for o in $(cat /proc/cmdline); do
         copytoram)
             copytoram=1
             ;;
+        findiso=*)
+            # if an iso name is supplied, try to find the device where
+            # the iso resides on
+            set -- $(IFS==; echo $o)
+            isoPath=$2
+            ;;
     esac
 done
 
@@ -442,6 +448,27 @@ if test -e /sys/power/resume -a -e /sys/power/disk; then
     fi
 fi
 
+# If we have a path to an iso file, find the iso and link it to /dev/root
+if [ -n "$isoPath" ]; then
+  mkdir -p /findiso
+
+  for delay in 5 10; do
+    blkid | while read -r line; do
+      device=$(echo "$line" | sed 's/:.*//')
+      type=$(echo "$line" | sed 's/.*TYPE="\([^"]*\)".*/\1/')
+
+      mount -t "$type" "$device" /findiso
+      if [ -e "/findiso$isoPath" ]; then
+        ln -sf "/findiso$isoPath" /dev/root
+        break 2
+      else
+        umount /findiso
+      fi
+    done
+
+    sleep "$delay"
+  done
+fi
 
 # Try to find and mount the root device.
 mkdir -p $targetRoot
diff --git a/nixpkgs/nixos/modules/system/boot/stage-2-init.sh b/nixpkgs/nixos/modules/system/boot/stage-2-init.sh
index 03daafa1ce4f..d1de7920df98 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixpkgs/nixos/modules/system/boot/stage-2-init.sh
@@ -142,7 +142,7 @@ fi
 # Record the boot configuration.
 ln -sfn "$systemConfig" /run/booted-system
 
-# Prevent the booted system form being garbage-collected If it weren't
+# Prevent the booted system from being garbage-collected. If it weren't
 # a gcroot, if we were running a different kernel, switched system,
 # and garbage collected all, we could not load kernel modules anymore.
 ln -sfn /run/booted-system /nix/var/nix/gcroots/booted-system
diff --git a/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix b/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix
index db6e06b41072..1e2435e36f0c 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix
@@ -113,11 +113,21 @@ in {
   config =
     let
       units = mapAttrs' (n: v: let nspawnFile = "${n}.nspawn"; in nameValuePair nspawnFile (instanceToUnit nspawnFile v)) cfg;
-    in mkIf (cfg != {}) {
-
-      environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
-
-      systemd.targets.multi-user.wants = [ "machines.target" ];
-  };
-
+    in 
+      mkMerge [
+        (mkIf (cfg != {}) { 
+          environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits "nspawn" units [] []);
+        })
+        {
+          systemd.targets.multi-user.wants = [ "machines.target" ];
+
+          # Workaround for https://github.com/NixOS/nixpkgs/pull/67232#issuecomment-531315437 and https://github.com/systemd/systemd/issues/13622
+          # Once systemd fixes this upstream, we can re-enable -U
+          systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [ 
+            ""  # deliberately empty. signals systemd to override the ExecStart
+            # Only difference between upstream is that we do not pass the -U flag
+            "${config.systemd.package}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
+          ];
+        }
+      ];
 }
diff --git a/nixpkgs/nixos/modules/system/boot/systemd-unit-options.nix b/nixpkgs/nixos/modules/system/boot/systemd-unit-options.nix
index c1f2c98afcd8..bee21f1a8f36 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd-unit-options.nix
@@ -24,7 +24,7 @@ in rec {
       in
         if isList (head defs'')
         then concatLists defs''
-        else mergeOneOption loc defs';
+        else mergeEqualOption loc defs';
   };
 
   sharedOptions = {
diff --git a/nixpkgs/nixos/modules/system/boot/systemd.nix b/nixpkgs/nixos/modules/system/boot/systemd.nix
index 5cf437bfbcbe..c438bb216e70 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd.nix
@@ -63,6 +63,7 @@ let
       "systemd-logind.service"
       "autovt@.service"
       "systemd-user-sessions.service"
+      "dbus-org.freedesktop.import1.service"
       "dbus-org.freedesktop.machine1.service"
       "user@.service"
       "user-runtime-dir@.service"
@@ -145,6 +146,7 @@ let
       "user.slice"
       "machine.slice"
       "machines.target"
+      "systemd-importd.service"
       "systemd-machined.service"
       "systemd-nspawn@.service"
 
@@ -238,7 +240,7 @@ let
   serviceConfig = { name, config, ... }: {
     config = mkMerge
       [ { # Default path for systemd services.  Should be quite minimal.
-          path =
+          path = mkAfter
             [ pkgs.coreutils
               pkgs.findutils
               pkgs.gnugrep
@@ -406,7 +408,6 @@ let
 in
 
 {
-
   ###### interface
 
   options = {
@@ -546,6 +547,16 @@ in
       '';
     };
 
+    systemd.coredump.enable = mkOption {
+      default = true;
+      type = types.bool;
+      description = ''
+        Whether core dumps should be processed by
+        <command>systemd-coredump</command>. If disabled, core dumps
+        appear in the current directory of the crashing process.
+      '';
+    };
+
     systemd.coredump.extraConfig = mkOption {
       default = "";
       type = types.lines;
@@ -861,8 +872,8 @@ in
       "tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
       "tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
       "tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
-      "tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/system-nspawn.conf";
-      "tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/system-tmp.conf";
+      "tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.conf";
+      "tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/systemd-tmp.conf";
       "tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
       "tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
 
@@ -983,6 +994,10 @@ in
     # Don't bother with certain units in containers.
     systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
     systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
+
+    boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
+      "kernel.core_pattern" = "core";
+    };
   };
 
   # FIXME: Remove these eventually.
@@ -990,5 +1005,7 @@ in
     [ (mkRenamedOptionModule [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ])
       (mkRenamedOptionModule [ "boot" "systemd" "targets" ] [ "systemd" "targets" ])
       (mkRenamedOptionModule [ "boot" "systemd" "services" ] [ "systemd" "services" ])
+      (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
+      (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
     ];
 }
diff --git a/nixpkgs/nixos/modules/system/boot/timesyncd.nix b/nixpkgs/nixos/modules/system/boot/timesyncd.nix
index 8282cdd6f3aa..9e2f36ca01f8 100644
--- a/nixpkgs/nixos/modules/system/boot/timesyncd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/tasks/filesystems/nfs.nix b/nixpkgs/nixos/modules/tasks/filesystems/nfs.nix
index e0e8bb1f03de..ddcc0ed8f5a4 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/nfs.nix
@@ -25,6 +25,9 @@ let
   '';
 
   nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig;
+  requestKeyConfFile = pkgs.writeText "request-key.conf" ''
+    create id_resolver * * ${pkgs.nfs-utils}/bin/nfsidmap -t 600 %k %d
+  '';
 
   cfg = config.services.nfs;
 
@@ -57,9 +60,12 @@ in
 
     systemd.packages = [ pkgs.nfs-utils ];
 
+    environment.systemPackages = [ pkgs.keyutils ];
+
     environment.etc = {
       "idmapd.conf".source = idmapdConfFile;
       "nfs.conf".source = nfsConfFile;
+      "request-key.conf".source = requestKeyConfFile;
     };
 
     systemd.services.nfs-blkmap =
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix b/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
index 2ed8c5aa2927..d14ba98ec48b 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
@@ -12,13 +12,12 @@ let
   cfgSnapFlags = cfgSnapshots.flags;
   cfgScrub = config.services.zfs.autoScrub;
   cfgTrim = config.services.zfs.trim;
+  cfgZED = config.services.zfs.zed;
 
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
   inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems;
 
-  enableAutoSnapshots = cfgSnapshots.enable;
-  enableAutoScrub = cfgScrub.enable;
-  enableZfs = inInitrd || inSystem || enableAutoSnapshots || enableAutoScrub;
+  enableZfs = inInitrd || inSystem;
 
   kernel = config.boot.kernelPackages;
 
@@ -89,10 +88,25 @@ let
     }
   '';
 
+  zedConf = generators.toKeyValue {
+    mkKeyValue = generators.mkKeyValueDefault {
+      mkValueString = v:
+        if isInt           v then toString v
+        else if isString   v then "\"${v}\""
+        else if true  ==   v then "1"
+        else if false ==   v then "0"
+        else if isList     v then "\"" + (concatStringsSep " " v) + "\""
+        else err "this value is" (toString v);
+    } "=";
+  } cfgZED.settings;
 in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.")
+  ];
+
   ###### interface
 
   options = {
@@ -268,7 +282,12 @@ in
     };
 
     services.zfs.trim = {
-      enable = mkEnableOption "Enables periodic TRIM on all ZFS pools.";
+      enable = mkOption {
+        description = "Whether to enable periodic TRIM on all ZFS pools.";
+        default = true;
+        example = false;
+        type = types.bool;
+      };
 
       interval = mkOption {
         default = "weekly";
@@ -309,6 +328,32 @@ in
         '';
       };
     };
+
+    services.zfs.zed.settings = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
+      example = literalExample ''
+        {
+          ZED_DEBUG_LOG = "/tmp/zed.debug.log";
+
+          ZED_EMAIL_ADDR = [ "root" ];
+          ZED_EMAIL_PROG = "mail";
+          ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
+
+          ZED_NOTIFY_INTERVAL_SECS = 3600;
+          ZED_NOTIFY_VERBOSE = false;
+
+          ZED_USE_ENCLOSURE_LEDS = true;
+          ZED_SCRUB_AFTER_RESILVER = false;
+        }
+      '';
+      description = ''
+        ZFS Event Daemon /etc/zfs/zed.d/zed.rc content
+
+        See
+        <citerefentry><refentrytitle>zed</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        for details on ZED and the scripts in /etc/zfs/zed.d to find the possible variables
+      '';
+    };
   };
 
   ###### implementation
@@ -386,11 +431,36 @@ in
         zfsSupport = true;
       };
 
-      environment.etc."zfs/zed.d".source = "${packages.zfsUser}/etc/zfs/zed.d/";
+      services.zfs.zed.settings = {
+        ZED_EMAIL_PROG = mkDefault "${pkgs.mailutils}/bin/mail";
+      };
+
+      environment.etc = genAttrs
+        (map
+          (file: "zfs/zed.d/${file}")
+          [
+            "all-syslog.sh"
+            "pool_import-led.sh"
+            "resilver_finish-start-scrub.sh"
+            "statechange-led.sh"
+            "vdev_attach-led.sh"
+            "zed-functions.sh"
+            "data-notify.sh"
+            "resilver_finish-notify.sh"
+            "scrub_finish-notify.sh"
+            "statechange-notify.sh"
+            "vdev_clear-led.sh"
+          ]
+        )
+        (file: { source = "${packages.zfsUser}/etc/${file}"; })
+      // {
+        "zfs/zed.d/zed.rc".text = zedConf;
+        "zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+      };
 
       system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck
       environment.systemPackages = [ packages.zfsUser ]
-        ++ optional enableAutoSnapshots autosnapPkg; # so the user can run the command to see flags
+        ++ optional cfgSnapshots.enable autosnapPkg; # so the user can run the command to see flags
 
       services.udev.packages = [ packages.zfsUser ]; # to hook zvol naming, etc.
       systemd.packages = [ packages.zfsUser ];
@@ -482,7 +552,7 @@ in
       systemd.targets.zfs.wantedBy = [ "multi-user.target" ];
     })
 
-    (mkIf enableAutoSnapshots {
+    (mkIf (enableZfs && cfgSnapshots.enable) {
       systemd.services = let
                            descr = name: if name == "frequent" then "15 mins"
                                     else if name == "hourly" then "hour"
@@ -520,7 +590,7 @@ in
                             }) snapshotNames);
     })
 
-    (mkIf enableAutoScrub {
+    (mkIf (enableZfs && cfgScrub.enable) {
       systemd.services.zfs-scrub = {
         description = "ZFS pools scrubbing";
         after = [ "zfs-import.target" ];
@@ -547,15 +617,13 @@ in
       };
     })
 
-    (mkIf cfgTrim.enable {
+    (mkIf (enableZfs && cfgTrim.enable) {
       systemd.services.zpool-trim = {
         description = "ZFS pools trim";
         after = [ "zfs-import.target" ];
         path = [ packages.zfsUser ];
         startAt = cfgTrim.interval;
-        script = ''
-          zpool list -H -o name | xargs -n1 zpool trim
-        '';
+        serviceConfig.ExecStart = "${pkgs.runtimeShell} -c 'zpool list -H -o name | xargs --no-run-if-empty -n1 zpool trim'";
       };
     })
   ];
diff --git a/nixpkgs/nixos/modules/tasks/kbd.nix b/nixpkgs/nixos/modules/tasks/kbd.nix
deleted file mode 100644
index c6ba998b19e6..000000000000
--- a/nixpkgs/nixos/modules/tasks/kbd.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  makeColor = n: value: "COLOR_${toString n}=${value}";
-  makeColorCS =
-    let positions = [ "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F" ];
-    in n: value: "\\033]P${elemAt positions (n - 1)}${value}";
-  colors = concatImapStringsSep "\n" makeColor config.i18n.consoleColors;
-
-  isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);
-
-  optimizedKeymap = pkgs.runCommand "keymap" {
-    nativeBuildInputs = [ pkgs.buildPackages.kbd ];
-    LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**";
-    preferLocalBuild = true;
-  } ''
-    loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out
-  '';
-
-  # Sadly, systemd-vconsole-setup doesn't support binary keymaps.
-  vconsoleConf = pkgs.writeText "vconsole.conf" ''
-    KEYMAP=${config.i18n.consoleKeyMap}
-    FONT=${config.i18n.consoleFont}
-    ${colors}
-  '';
-
-  kbdEnv = pkgs.buildEnv {
-    name = "kbd-env";
-    paths = [ pkgs.kbd ] ++ config.i18n.consolePackages;
-    pathsToLink = [ "/share/consolefonts" "/share/consoletrans" "/share/keymaps" "/share/unimaps" ];
-  };
-
-  setVconsole = !config.boot.isContainer;
-in
-
-{
-  ###### interface
-
-  options = {
-
-    # most options are defined in i18n.nix
-
-    # FIXME: still needed?
-    boot.extraTTYs = mkOption {
-      default = [];
-      type = types.listOf types.str;
-      example = ["tty8" "tty9"];
-      description = ''
-        Tty (virtual console) devices, in addition to the consoles on
-        which mingetty and syslogd run, that must be initialised.
-        Only useful if you have some program that you want to run on
-        some fixed console.  For example, the NixOS installation CD
-        opens the manual in a web browser on console 7, so it sets
-        <option>boot.extraTTYs</option> to <literal>["tty7"]</literal>.
-      '';
-    };
-
-    boot.earlyVconsoleSetup = mkOption {
-      default = false;
-      type = types.bool;
-      description = ''
-        Enable setting font as early as possible (in initrd).
-      '';
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkMerge [
-    (mkIf (!setVconsole) {
-      systemd.services.systemd-vconsole-setup.enable = false;
-    })
-
-    (mkIf setVconsole (mkMerge [
-      { environment.systemPackages = [ pkgs.kbd ];
-
-        # Let systemd-vconsole-setup.service do the work of setting up the
-        # virtual consoles.
-        environment.etc."vconsole.conf".source = vconsoleConf;
-        # Provide kbd with additional packages.
-        environment.etc.kbd.source = "${kbdEnv}/share";
-
-        boot.initrd.preLVMCommands = mkBefore ''
-          kbd_mode ${if isUnicode then "-u" else "-a"} -C /dev/console
-          printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
-          loadkmap < ${optimizedKeymap}
-
-          ${optionalString config.boot.earlyVconsoleSetup ''
-            setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
-          ''}
-
-          ${concatImapStringsSep "\n" (n: color: ''
-            printf "${makeColorCS n color}" >> /dev/console
-          '') config.i18n.consoleColors}
-        '';
-
-        systemd.services.systemd-vconsole-setup =
-          { before = [ "display-manager.service" ];
-            after = [ "systemd-udev-settle.service" ];
-            restartTriggers = [ vconsoleConf kbdEnv ];
-          };
-      }
-
-      (mkIf config.boot.earlyVconsoleSetup {
-        boot.initrd.extraUtilsCommands = ''
-          mkdir -p $out/share/consolefonts
-          ${if substring 0 1 config.i18n.consoleFont == "/" then ''
-            font="${config.i18n.consoleFont}"
-          '' else ''
-            font="$(echo ${kbdEnv}/share/consolefonts/${config.i18n.consoleFont}.*)"
-          ''}
-          if [[ $font == *.gz ]]; then
-            gzip -cd $font > $out/share/consolefonts/font.psf
-          else
-            cp -L $font $out/share/consolefonts/font.psf
-          fi
-        '';
-      })
-    ]))
-  ];
-
-}
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
index 7c6604922cf7..e25dc0c0b39a 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -31,13 +31,19 @@ in
       message = "networking.defaultGatewayWindowSize is not supported by networkd.";
     } {
       assertion = cfg.vswitches == {};
-      message = "networking.vswichtes are not supported by networkd.";
+      message = "networking.vswitches are not supported by networkd.";
     } {
       assertion = cfg.defaultGateway == null || cfg.defaultGateway.interface == null;
       message = "networking.defaultGateway.interface is not supported by networkd.";
     } {
       assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
       message = "networking.defaultGateway6.interface is not supported by networkd.";
+    } {
+      assertion = cfg.useDHCP == false;
+      message = ''
+        networking.useDHCP is not supported by networkd.
+        Please use per interface configuration and set the global option to false.
+      '';
     } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
       assertion = !rstp;
       message = "networking.bridges.${n}.rstp is not supported by networkd.";
@@ -54,11 +60,9 @@ in
       let
         domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
         genericNetwork = override:
-          let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
-            ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
-          in {
-            DHCP = override (dhcpStr cfg.useDHCP);
-          } // optionalAttrs (gateway != [ ]) {
+          let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
+            ++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
+          in optionalAttrs (gateway != [ ]) {
             routes = override [
               {
                 routeConfig = {
@@ -72,15 +76,6 @@ in
           };
       in mkMerge [ {
         enable = true;
-        networks."99-main" = (genericNetwork mkDefault) // {
-          # We keep the "broken" behaviour of applying this to all interfaces.
-          # In general we want to get rid of this workaround but there hasn't
-          # been any work on that.
-          # See the following issues for details:
-          # - https://github.com/NixOS/nixpkgs/issues/18962
-          # - https://github.com/NixOS/nixpkgs/issues/61629
-          matchConfig = mkDefault { Name = "*"; };
-        };
       }
       (mkMerge (forEach interfaces (i: {
         netdevs = mkIf i.virtual ({
@@ -97,7 +92,7 @@ in
         networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
           name = mkDefault i.name;
           DHCP = mkForce (dhcpStr
-            (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
+            (if i.useDHCP != null then i.useDHCP else false));
           address = forEach (interfaceIps i)
             (ip: "${ip.address}/${toString ip.prefixLength}");
           networkConfig.IPv6PrivacyExtensions = "kernel";
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces.nix b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
index 5bf7b0d227f0..31e2ed1cd1ea 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
@@ -305,7 +305,7 @@ let
             optional (defined ipv6Address && defined ipv6PrefixLength)
             { address = ipv6Address; prefixLength = ipv6PrefixLength; }))
 
-        ({ options.warnings = options.warnings; })
+        ({ options.warnings = options.warnings; options.assertions = options.assertions; })
       ];
 
   };
@@ -903,6 +903,11 @@ in
         Whether to use DHCP to obtain an IP address and other
         configuration for all network interfaces that are not manually
         configured.
+
+        Using this option is highly discouraged and also incompatible with
+        <option>networking.useNetworkd</option>. Please use
+        <option>networking.interfaces.&lt;name&gt;.useDHCP</option> instead
+        and set this to false.
       '';
     };
 
@@ -967,9 +972,9 @@ in
       "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
       "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
     } // listToAttrs (flip concatMap (filter (i: i.proxyARP) interfaces)
-        (i: forEach [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true)))
+        (i: forEach [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${replaceChars ["."] ["/"] i.name}.proxy_arp" true)))
       // listToAttrs (forEach (filter (i: i.preferTempAddress) interfaces)
-        (i: nameValuePair "net.ipv6.conf.${i.name}.use_tempaddr" 2));
+        (i: nameValuePair "net.ipv6.conf.${replaceChars ["."] ["/"] i.name}.use_tempaddr" 2));
 
     # Capabilities won't work unless we have at-least a 4.3 Linux
     # kernel because we need the ambient capability
@@ -1092,7 +1097,7 @@ in
         destination = "/etc/udev/rules.d/98-${name}";
         text = ''
           # enable and prefer IPv6 privacy addresses by default
-          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.%k.use_tempaddr=2"
+          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.bash}/bin/sh -c 'echo 2 > /proc/sys/net/ipv6/conf/%k/use_tempaddr'"
         '';
       })
       (pkgs.writeTextFile rec {
@@ -1100,7 +1105,7 @@ in
         destination = "/etc/udev/rules.d/99-${name}";
         text = concatMapStrings (i: ''
           # enable IPv6 privacy addresses but prefer EUI-64 addresses for ${i.name}
-          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.${i.name}.use_tempaddr=1"
+          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.${replaceChars ["."] ["/"] i.name}.use_tempaddr=1"
         '') (filter (i: !i.preferTempAddress) interfaces);
       })
     ] ++ lib.optional (cfg.wlanInterfaces != {})
diff --git a/nixpkgs/nixos/modules/testing/test-instrumentation.nix b/nixpkgs/nixos/modules/testing/test-instrumentation.nix
index 1a11d9ce7c26..1baeab53b0c2 100644
--- a/nixpkgs/nixos/modules/testing/test-instrumentation.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/amazon-image.nix b/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
index aadfc5add350..20d48add7129 100644
--- a/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
@@ -135,6 +135,9 @@ in
     services.openssh.enable = true;
     services.openssh.permitRootLogin = "prohibit-password";
 
+    # Creates symlinks for block device names.
+    services.udev.packages = [ pkgs.ec2-utils ];
+
     # Force getting the hostname from EC2.
     networking.hostName = mkDefault "";
 
diff --git a/nixpkgs/nixos/modules/virtualisation/container-config.nix b/nixpkgs/nixos/modules/virtualisation/container-config.nix
index 604fb8a75932..6ff6bdd30c20 100644
--- a/nixpkgs/nixos/modules/virtualisation/container-config.nix
+++ b/nixpkgs/nixos/modules/virtualisation/container-config.nix
@@ -7,8 +7,10 @@ with lib;
   config = mkIf config.boot.isContainer {
 
     # Disable some features that are not useful in a container.
+    nix.optimise.automatic = mkDefault false; # the store is host managed
     services.udisks2.enable = mkDefault false;
     powerManagement.enable = mkDefault false;
+    documentation.nixos.enable = mkDefault false;
 
     networking.useHostResolvConf = mkDefault true;
 
diff --git a/nixpkgs/nixos/modules/virtualisation/containers.nix b/nixpkgs/nixos/modules/virtualisation/containers.nix
index 9c9f8fc0c215..02de5801da25 100644
--- a/nixpkgs/nixos/modules/virtualisation/containers.nix
+++ b/nixpkgs/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 ""
@@ -225,12 +225,6 @@ let
           fi
           ${concatStringsSep "\n" (mapAttrsToList renderExtraVeth cfg.extraVeths)}
         fi
-
-        # Get the leader PID so that we can signal it in
-        # preStop. We can't use machinectl there because D-Bus
-        # might be shutting down. FIXME: in systemd 219 we can
-        # just signal systemd-nspawn to do a clean shutdown.
-        machinectl show "$INSTANCE" | sed 's/Leader=\(.*\)/\1/;t;d' > "/run/containers/$INSTANCE.pid"
       ''
   );
 
@@ -715,14 +709,7 @@ in
 
       postStart = postStartScript dummyConfig;
 
-      preStop =
-        ''
-          pid="$(cat /run/containers/$INSTANCE.pid)"
-          if [ -n "$pid" ]; then
-            kill -RTMIN+4 "$pid"
-          fi
-          rm -f "/run/containers/$INSTANCE.pid"
-        '';
+      preStop = "machinectl poweroff $INSTANCE";
 
       restartIfChanged = false;
 
@@ -824,5 +811,12 @@ in
     '';
 
     environment.systemPackages = [ pkgs.nixos-container ];
+
+    boot.kernelModules = [
+      "bridge"
+      "macvlan"
+      "tap"
+      "tun"
+    ];
   });
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/digital-ocean-config.nix b/nixpkgs/nixos/modules/virtualisation/digital-ocean-config.nix
new file mode 100644
index 000000000000..88cb0cd450e8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/digital-ocean-image.nix b/nixpkgs/nixos/modules/virtualisation/digital-ocean-image.nix
new file mode 100644
index 000000000000..b582e235d435
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix b/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix
new file mode 100644
index 000000000000..02f4de009fa8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/docker-containers.nix b/nixpkgs/nixos/modules/virtualisation/docker-containers.nix
index 59b0943f591f..760cb9122a2f 100644
--- a/nixpkgs/nixos/modules/virtualisation/docker-containers.nix
+++ b/nixpkgs/nixos/modules/virtualisation/docker-containers.nix
@@ -186,7 +186,7 @@ let
         ++ map escapeShellArg container.cmd
       );
       ExecStartPre = "-${pkgs.docker}/bin/docker rm -f %n";
-      ExecStop = "${pkgs.docker}/bin/docker stop %n";
+      ExecStop = ''${pkgs.bash}/bin/sh -c "[ $SERVICE_RESULT = success ] || ${pkgs.docker}/bin/docker stop %n"'';
       ExecStopPost = "-${pkgs.docker}/bin/docker rm -f %n";
 
       ### There is no generalized way of supporting `reload` for docker
diff --git a/nixpkgs/nixos/modules/virtualisation/ec2-amis.nix b/nixpkgs/nixos/modules/virtualisation/ec2-amis.nix
index f640bb21b133..3b4e55d39d7b 100644
--- a/nixpkgs/nixos/modules/virtualisation/ec2-amis.nix
+++ b/nixpkgs/nixos/modules/virtualisation/ec2-amis.nix
@@ -291,5 +291,21 @@ let self = {
   "19.03".sa-east-1.hvm-ebs = "ami-0c6a43c6e0ad1f4e2";
   "19.03".ap-south-1.hvm-ebs = "ami-0303deb1b5890f878";
 
-  latest = self."19.03";
+  # 19.09.981.205691b7cbe
+  "19.09".eu-west-1.hvm-ebs = "ami-0ebd3156e21e9642f";
+  "19.09".eu-west-2.hvm-ebs = "ami-02a2b5480a79084b7";
+  "19.09".eu-west-3.hvm-ebs = "ami-09aa175c7588734f7";
+  "19.09".eu-central-1.hvm-ebs = "ami-00a7fafd7e237a330";
+  "19.09".us-east-1.hvm-ebs = "ami-00a8eeaf232a74f84";
+  "19.09".us-east-2.hvm-ebs = "ami-093efd3a57a1e03a8";
+  "19.09".us-west-1.hvm-ebs = "ami-0913e9a2b677fac30";
+  "19.09".us-west-2.hvm-ebs = "ami-02d9a19f77b47882a";
+  "19.09".ca-central-1.hvm-ebs = "ami-0627dd3f7b3627a29";
+  "19.09".ap-southeast-1.hvm-ebs = "ami-083614e4d08f2164d";
+  "19.09".ap-southeast-2.hvm-ebs = "ami-0048c704185ded6dc";
+  "19.09".ap-northeast-1.hvm-ebs = "ami-0329e7fc2d7f60bd0";
+  "19.09".ap-northeast-2.hvm-ebs = "ami-03d4ae7d0b5fc364f";
+  "19.09".ap-south-1.hvm-ebs = "ami-0b599690b35aeef23";
+
+  latest = self."19.09";
 }; in self
diff --git a/nixpkgs/nixos/modules/virtualisation/ec2-data.nix b/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
index 82451787e8a1..629125350182 100644
--- a/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
+++ b/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
@@ -7,6 +7,10 @@
 with lib;
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "ec2" "metadata" ] "")
+  ];
+
   config = {
 
     systemd.services.apply-ec2-data =
diff --git a/nixpkgs/nixos/modules/virtualisation/libvirtd.nix b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
index 16b79d869193..52d852894ce5 100644
--- a/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
@@ -28,6 +28,11 @@ let
 
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "libvirtd" "enableKVM" ]
+      "Set the option `virtualisation.libvirtd.qemuPackage' instead.")
+  ];
+
   ###### interface
 
   options.virtualisation.libvirtd = {
@@ -146,7 +151,8 @@ in {
       # this file is expected in /etc/qemu and not sysconfdir (/var/lib)
       etc."qemu/bridge.conf".text = lib.concatMapStringsSep "\n" (e:
         "allow ${e}") cfg.allowedBridges;
-      systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ];
+      systemPackages = with pkgs; [ libvirt libressl.nc iptables cfg.qemuPackage ];
+      etc.ethertypes.source = "${pkgs.iptables}/etc/ethertypes";
     };
 
     boot.kernelModules = [ "tun" ];
diff --git a/nixpkgs/nixos/modules/virtualisation/lxc.nix b/nixpkgs/nixos/modules/virtualisation/lxc.nix
index 9b5adaf08249..f484d5ee59a8 100644
--- a/nixpkgs/nixos/modules/virtualisation/lxc.nix
+++ b/nixpkgs/nixos/modules/virtualisation/lxc.nix
@@ -58,7 +58,7 @@ in
           ''
             This is the config file for managing unprivileged user network
             administration access in LXC. See <citerefentry>
-            <refentrytitle>lxc-user-net</refentrytitle><manvolnum>5</manvolnum>
+            <refentrytitle>lxc-usernet</refentrytitle><manvolnum>5</manvolnum>
             </citerefentry>.
           '';
       };
diff --git a/nixpkgs/nixos/modules/virtualisation/lxd.nix b/nixpkgs/nixos/modules/virtualisation/lxd.nix
index 505c11abd208..b4934a86cf56 100644
--- a/nixpkgs/nixos/modules/virtualisation/lxd.nix
+++ b/nixpkgs/nixos/modules/virtualisation/lxd.nix
@@ -35,6 +35,18 @@ in
           with nixos.
         '';
       };
+      recommendedSysctlSettings = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          enables various settings to avoid common pitfalls when
+          running containers requiring many file operations.
+          Fixes errors like "Too many open files" or
+          "neighbour: ndisc_cache: neighbor table overflow!".
+          See https://lxd.readthedocs.io/en/latest/production-setup/
+          for details.
+        '';
+      };
     };
   };
 
@@ -69,8 +81,11 @@ in
         ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --group lxd";
         Type = "simple";
         KillMode = "process"; # when stopping, leave the containers alone
+        LimitMEMLOCK = "infinity";
+        LimitNOFILE = "1048576";
+        LimitNPROC = "infinity";
+        TasksMax = "infinity";
       };
-
     };
 
     users.groups.lxd.gid = config.ids.gids.lxd;
@@ -79,5 +94,16 @@ in
       subUidRanges = [ { startUid = 1000000; count = 65536; } ];
       subGidRanges = [ { startGid = 1000000; count = 65536; } ];
     };
+
+    boot.kernel.sysctl = mkIf cfg.recommendedSysctlSettings {
+      "fs.inotify.max_queued_events" = 1048576;
+      "fs.inotify.max_user_instances" = 1048576;
+      "fs.inotify.max_user_watches" = 1048576;
+      "vm.max_map_count" = 262144;
+      "kernel.dmesg_restrict" = 1;
+      "net.ipv4.neigh.default.gc_thresh3" = 8192;
+      "net.ipv6.neigh.default.gc_thresh3" = 8192;
+      "kernel.keys.maxkeys" = 2000;
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/openvswitch.nix b/nixpkgs/nixos/modules/virtualisation/openvswitch.nix
index edec37402308..6b8ad83661fe 100644
--- a/nixpkgs/nixos/modules/virtualisation/openvswitch.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix b/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
index ed3431554be4..31d332e9f07a 100644
--- a/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
@@ -23,24 +23,56 @@ let
 
   cfg = config.virtualisation;
 
-  qemuGraphics = lib.optionalString (!cfg.graphics) "-nographic";
-
   consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles;
 
-  # XXX: This is very ugly and in the future we really should use attribute
-  # sets to build ALL of the QEMU flags instead of this mixed mess of Nix
-  # expressions and shell script stuff.
-  mkDiskIfaceDriveFlag = idx: driveArgs: let
-    inherit (cfg.qemu) diskInterface;
-    # The drive identifier created by incrementing the index by one using the
-    # shell.
-    drvId = "drive$((${idx} + 1))";
-    # NOTE: DO NOT shell escape, because this may contain shell variables.
-    commonArgs = "index=${idx},id=${drvId},${driveArgs}";
-    isSCSI = diskInterface == "scsi";
-    devArgs = "${diskInterface}-hd,drive=${drvId}";
-    args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}";
-  in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}";
+  driveOpts = { ... }: {
+
+    options = {
+
+      file = mkOption {
+        type = types.str;
+        description = "The file image used for this drive.";
+      };
+
+      driveExtraOpts = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        description = "Extra options passed to drive flag.";
+      };
+
+      deviceExtraOpts = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        description = "Extra options passed to device flag.";
+      };
+
+    };
+
+  };
+
+  driveCmdline = idx: { file, driveExtraOpts, deviceExtraOpts, ... }:
+    let
+      drvId = "drive${toString idx}";
+      mkKeyValue = generators.mkKeyValueDefault {} "=";
+      mkOpts = opts: concatStringsSep "," (mapAttrsToList mkKeyValue opts);
+      driveOpts = mkOpts (driveExtraOpts // {
+        index = idx;
+        id = drvId;
+        "if" = "none";
+        inherit file;
+      });
+      deviceOpts = mkOpts (deviceExtraOpts // {
+        drive = drvId;
+      });
+      device =
+        if cfg.qemu.diskInterface == "scsi" then
+          "-device lsi53c895a -device scsi-hd,${deviceOpts}"
+        else
+          "-device virtio-blk-pci,${deviceOpts}";
+    in
+      "-drive ${driveOpts} ${device}";
+
+  drivesCmdLine = drives: concatStringsSep " " (imap1 driveCmdline drives);
 
   # Shell script to start the VM.
   startVM =
@@ -77,13 +109,11 @@ let
       ''}
 
       cd $TMPDIR
-      idx=2
-      extraDisks=""
+      idx=0
       ${flip concatMapStrings cfg.emptyDiskImages (size: ''
         if ! test -e "empty$idx.qcow2"; then
             ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
         fi
-        extraDisks="$extraDisks ${mkDiskIfaceDriveFlag "$idx" "file=$(pwd)/empty$idx.qcow2,werror=report"}"
         idx=$((idx + 1))
       '')}
 
@@ -97,21 +127,7 @@ let
           -virtfs local,path=/nix/store,security_model=none,mount_tag=store \
           -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
           -virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
-          ${if cfg.useBootLoader then ''
-            ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
-            ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \
-            ${if cfg.useEFIBoot then ''
-              -pflash $TMPDIR/bios.bin \
-            '' else ''
-            ''}
-          '' else ''
-            ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
-            -kernel ${config.system.build.toplevel}/kernel \
-            -initrd ${config.system.build.toplevel}/initrd \
-            -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \
-          ''} \
-          $extraDisks \
-          ${qemuGraphics} \
+          ${drivesCmdLine config.virtualisation.qemu.drives} \
           ${toString config.virtualisation.qemu.options} \
           $QEMU_OPTS \
           "$@"
@@ -367,6 +383,12 @@ in
           '';
         };
 
+      drives =
+        mkOption {
+          type = types.listOf (types.submodule driveOpts);
+          description = "Drives passed to qemu.";
+        };
+
       diskInterface =
         mkOption {
           default = "virtio";
@@ -476,8 +498,49 @@ in
 
     # FIXME: Consolidate this one day.
     virtualisation.qemu.options = mkMerge [
-      (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ])
-      (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
+      (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
+        "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0"
+      ])
+      (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [
+        "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet"
+      ])
+      (mkIf (!cfg.useBootLoader) [
+        "-kernel ${config.system.build.toplevel}/kernel"
+        "-initrd ${config.system.build.toplevel}/initrd"
+        ''-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS"''
+      ])
+      (mkIf cfg.useEFIBoot [
+        "-pflash $TMPDIR/bios.bin"
+      ])
+      (mkIf (!cfg.graphics) [
+        "-nographic"
+      ])
+    ];
+
+    virtualisation.qemu.drives = mkMerge [
+      (mkIf cfg.useBootLoader [
+        {
+          file = "$NIX_DISK_IMAGE";
+          driveExtraOpts.cache = "writeback";
+          driveExtraOpts.werror = "report";
+        }
+        {
+          file = "$TMPDIR/disk.img";
+          driveExtraOpts.media = "disk";
+          deviceExtraOpts.bootindex = "1";
+        }
+      ])
+      (mkIf (!cfg.useBootLoader) [
+        {
+          file = "$NIX_DISK_IMAGE";
+          driveExtraOpts.cache = "writeback";
+          driveExtraOpts.werror = "report";
+        }
+      ])
+      (imap0 (idx: _: {
+        file = "$(pwd)/empty${toString idx}.qcow2";
+        driveExtraOpts.werror = "report";
+      }) cfg.emptyDiskImages)
     ];
 
     # Mount the host filesystem via 9P, and bind-mount the Nix store
@@ -557,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/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix b/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
index 6081d4153a6c..ddb0a7bda4f3 100644
--- a/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
+++ b/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
@@ -149,5 +149,12 @@ in
     # Make sure NetworkManager won't assume this interface being up
     # means we have internet access.
     networking.networkmanager.unmanaged = ["vboxnet0"];
-  })]);
+  }) (mkIf config.networking.useNetworkd {
+    systemd.network.networks."40-vboxnet0".extraConfig = ''
+      [Link]
+      RequiredForOnline=no
+    '';
+  })
+
+]);
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix b/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
index f418f849759f..962a9059ea47 100644
--- a/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
+++ b/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
@@ -8,6 +8,10 @@ let
   xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
+  ];
+
   options.virtualisation.vmware.guest = {
     enable = mkEnableOption "VMWare Guest Support";
     headless = mkOption {
diff --git a/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix b/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
index 06d5c63476f9..7f0af9901b9b 100644
--- a/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
@@ -9,6 +9,11 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
+    (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
+  ];
+
   ###### interface
 
   options = {
@@ -228,26 +233,19 @@ in
 
 
     environment.etc =
-      [ { source = "${cfg.package}/etc/xen/xl.conf";
-          target = "xen/xl.conf";
-        }
-        { source = "${cfg.package}/etc/xen/scripts";
-          target = "xen/scripts";
-        }
-        { text = ''
-            source ${cfg.package}/etc/default/xendomains
-
-            ${cfg.domains.extraConfig}
-          '';
-          target = "default/xendomains";
-        }
-      ]
-      ++ lib.optionals (builtins.compareVersions cfg.package.version "4.10" >= 0) [
+      {
+        "xen/xl.conf".source = "${cfg.package}/etc/xen/xl.conf";
+        "xen/scripts".source = "${cfg.package}/etc/xen/scripts";
+        "default/xendomains".text = ''
+          source ${cfg.package}/etc/default/xendomains
+
+          ${cfg.domains.extraConfig}
+        '';
+      }
+      // optionalAttrs (builtins.compareVersions cfg.package.version "4.10" >= 0) {
         # in V 4.10 oxenstored requires /etc/xen/oxenstored.conf to start
-        { source = "${cfg.package}/etc/xen/oxenstored.conf";
-          target = "xen/oxenstored.conf";
-        }
-      ];
+        "xen/oxenstored.conf".source = "${cfg.package}/etc/xen/oxenstored.conf";
+      };
 
     # Xen provides udev rules.
     services.udev.packages = [ cfg.package ];
diff --git a/nixpkgs/nixos/release-combined.nix b/nixpkgs/nixos/release-combined.nix
index 9e2109d88b5f..ca9c6f9a7f91 100644
--- a/nixpkgs/nixos/release-combined.nix
+++ b/nixpkgs/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)
@@ -121,8 +120,8 @@ in rec {
         (all nixos.tests.networking.scripted.macvlan)
         (all nixos.tests.networking.scripted.sit)
         (all nixos.tests.networking.scripted.vlan)
-        (all nixos.tests.nfs3)
-        (all nixos.tests.nfs4)
+        (all nixos.tests.nfs3.simple)
+        (all nixos.tests.nfs4.simple)
         (all nixos.tests.openssh)
         (all nixos.tests.php-pcre)
         (all nixos.tests.predictable-interface-names.predictable)
@@ -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/nixpkgs/nixos/release-small.nix b/nixpkgs/nixos/release-small.nix
index 84af457801a1..74c16e990f35 100644
--- a/nixpkgs/nixos/release-small.nix
+++ b/nixpkgs/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/nixpkgs/nixos/release.nix b/nixpkgs/nixos/release.nix
index a4b6b6bb91a8..f40b5fa9bd7f 100644
--- a/nixpkgs/nixos/release.nix
+++ b/nixpkgs/nixos/release.nix
@@ -180,6 +180,11 @@ in rec {
     inherit system;
   });
 
+  sd_image_raspberrypi4 = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
+    module = ./modules/installer/cd-dvd/sd-image-raspberrypi4.nix;
+    inherit system;
+  });
+
   # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
   ova = forMatchingSystems [ "x86_64-linux" ] (system:
 
diff --git a/nixpkgs/nixos/tests/3proxy.nix b/nixpkgs/nixos/tests/3proxy.nix
new file mode 100644
index 000000000000..3e2061d7e42f
--- /dev/null
+++ b/nixpkgs/nixos/tests/3proxy.nix
@@ -0,0 +1,185 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "3proxy";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ misuzu ];
+  };
+
+  nodes = {
+    peer0 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.1";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.111";
+            prefixLength = 24;
+          }
+        ];
+      };
+    };
+
+    peer1 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.2";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.112";
+            prefixLength = 24;
+          }
+        ];
+      };
+      # test that binding to [::] is working when ipv6 is disabled
+      networking.enableIPv6 = false;
+      services._3proxy = {
+        enable = true;
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "none" ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+
+    peer2 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.3";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.113";
+            prefixLength = 24;
+          }
+        ];
+      };
+      services._3proxy = {
+        enable = true;
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "iponly" ];
+            acl = [
+              {
+                rule = "allow";
+              }
+            ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+
+    peer3 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.4";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.114";
+            prefixLength = 24;
+          }
+        ];
+      };
+      services._3proxy = {
+        enable = true;
+        usersFile = pkgs.writeText "3proxy.passwd" ''
+          admin:CR:$1$.GUV4Wvk$WnEVQtaqutD9.beO5ar1W/
+        '';
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "strong" ];
+            acl = [
+              {
+                rule = "allow";
+              }
+            ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+  };
+
+  testScript = ''
+    peer1.wait_for_unit("3proxy.service")
+    peer1.wait_for_open_port("9999")
+
+    # test none auth
+    peer0.succeed(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://216.58.211.112:9999"
+    )
+    peer0.succeed(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://192.168.0.2:9999"
+    )
+    peer0.succeed(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://127.0.0.1:9999"
+    )
+
+    peer2.wait_for_unit("3proxy.service")
+    peer2.wait_for_open_port("9999")
+
+    # test iponly auth
+    peer0.succeed(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://216.58.211.113:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://192.168.0.3:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://127.0.0.1:9999"
+    )
+
+    peer3.wait_for_unit("3proxy.service")
+    peer3.wait_for_open_port("9999")
+
+    # test strong auth
+    peer0.succeed(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://admin:bigsecret\@192.168.0.4:3128 -S -O /dev/null http://216.58.211.114:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://admin:bigsecret\@192.168.0.4:3128 -S -O /dev/null http://192.168.0.4:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://216.58.211.114:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://192.168.0.4:9999"
+    )
+    peer0.fail(
+        "${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://127.0.0.1:9999"
+    )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/acme.nix b/nixpkgs/nixos/tests/acme.nix
index 8cfdea4a16ef..6bd315ff1eaa 100644
--- a/nixpkgs/nixos/tests/acme.nix
+++ b/nixpkgs/nixos/tests/acme.nix
@@ -1,6 +1,6 @@
 let
   commonConfig = ./common/letsencrypt/common.nix;
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "acme";
 
   nodes = rec {
@@ -12,8 +12,11 @@ in import ./make-test.nix {
       networking.extraHosts = ''
         ${config.networking.primaryIPAddress} standalone.com
       '';
-      security.acme.certs."standalone.com" = {
-        webroot = "/var/lib/acme/acme-challenges";
+      security.acme = {
+        server = "https://acme-v02.api.letsencrypt.org/dir";
+        certs."standalone.com" = {
+            webroot = "/var/lib/acme/acme-challenges";
+        };
       };
       systemd.targets."acme-finished-standalone.com" = {};
       systemd.services."acme-standalone.com" = {
@@ -54,6 +57,8 @@ in import ./make-test.nix {
         '';
       };
 
+      security.acme.server = "https://acme-v02.api.letsencrypt.org/dir";
+
       nesting.clone = [
         ({pkgs, ...}: {
 
@@ -80,36 +85,49 @@ in import ./make-test.nix {
     client = commonConfig;
   };
 
-  testScript = {nodes, ...}: 
+  testScript = {nodes, ...}:
     let
       newServerSystem = nodes.webserver2.config.system.build.toplevel;
       switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test";
     in
-    # Note, waitForUnit does not work for oneshot services that do not have RemainAfterExit=true,
+    # Note, wait_for_unit does not work for oneshot services that do not have RemainAfterExit=true,
     # this is because a oneshot goes from inactive => activating => inactive, and never
     # reaches the active state. To work around this, we create some mock target units which
     # get pulled in by the oneshot units. The target units linger after activation, and hence we
     # can use them to probe that a oneshot fired. It is a bit ugly, but it is the best we can do
     ''
-      $client->waitForUnit("default.target");
-      $letsencrypt->waitForUnit("default.target");
-      $letsencrypt->waitForUnit("boulder.service");
-
-      subtest "can request certificate with HTTPS-01 challenge", sub {
-        $acmeStandalone->waitForUnit("default.target");
-        $acmeStandalone->succeed("systemctl start acme-standalone.com.service");
-        $acmeStandalone->waitForUnit("acme-finished-standalone.com.target");
-      };
+      client.start()
+      letsencrypt.start()
+      acmeStandalone.start()
 
-      subtest "Can request certificate for nginx service", sub {
-        $webserver->waitForUnit("acme-finished-a.example.com.target");
-        $client->succeed('curl https://a.example.com/ | grep -qF "hello world"');
-      };
+      letsencrypt.wait_for_unit("default.target")
+      letsencrypt.wait_for_unit("pebble.service")
 
-      subtest "Can add another certificate for nginx service", sub {
-        $webserver->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
-        $webserver->waitForUnit("acme-finished-b.example.com.target");
-        $client->succeed('curl https://b.example.com/ | grep -qF "hello world"');
-      };
+      with subtest("can request certificate with HTTPS-01 challenge"):
+          acmeStandalone.wait_for_unit("default.target")
+          acmeStandalone.succeed("systemctl start acme-standalone.com.service")
+          acmeStandalone.wait_for_unit("acme-finished-standalone.com.target")
+
+      client.wait_for_unit("default.target")
+
+      client.succeed("curl https://acme-v02.api.letsencrypt.org:15000/roots/0 > /tmp/ca.crt")
+      client.succeed(
+          "curl https://acme-v02.api.letsencrypt.org:15000/intermediate-keys/0 >> /tmp/ca.crt"
+      )
+
+      with subtest("Can request certificate for nginx service"):
+          webserver.wait_for_unit("acme-finished-a.example.com.target")
+          client.succeed(
+              "curl --cacert /tmp/ca.crt https://a.example.com/ | grep -qF 'hello world'"
+          )
+
+      with subtest("Can add another certificate for nginx service"):
+          webserver.succeed(
+              "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
+          )
+          webserver.wait_for_unit("acme-finished-b.example.com.target")
+          client.succeed(
+              "curl --cacert /tmp/ca.crt https://b.example.com/ | grep -qF 'hello world'"
+          )
     '';
 }
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index 5643da99e557..fe9c4df1416f 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -21,13 +21,15 @@ let
     else {};
 in
 {
+  _3proxy = handleTest ./3proxy.nix {};
   acme = handleTestOn ["x86_64-linux"] ./acme.nix {};
   atd = handleTest ./atd.nix {};
   automysqlbackup = handleTest ./automysqlbackup.nix {};
   avahi = handleTest ./avahi.nix {};
+  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
@@ -35,9 +37,11 @@ in
   boot-stage1 = handleTest ./boot-stage1.nix {};
   borgbackup = handleTest ./borgbackup.nix {};
   buildbot = handleTest ./buildbot.nix {};
+  caddy = handleTest ./caddy.nix {};
   cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
   cassandra = handleTest ./cassandra.nix {};
-  ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
+  ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
+  ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
   certmgr = handleTest ./certmgr.nix {};
   cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {};
   chromium = (handleTestOn ["x86_64-linux"] ./chromium.nix {}).stable or {};
@@ -45,16 +49,16 @@ in
   clickhouse = handleTest ./clickhouse.nix {};
   cloud-init = handleTest ./cloud-init.nix {};
   codimd = handleTest ./codimd.nix {};
-  colord = handleTest ./colord.nix {};
+  consul = handleTest ./consul.nix {};
   containers-bridge = handleTest ./containers-bridge.nix {};
   containers-ephemeral = handleTest ./containers-ephemeral.nix {};
   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-portforward = handleTest ./containers-portforward.nix {};
   containers-restart_networking = handleTest ./containers-restart_networking.nix {};
   containers-tmpfs = handleTest ./containers-tmpfs.nix {};
   couchdb = handleTest ./couchdb.nix {};
@@ -79,34 +83,31 @@ in
   env = handleTest ./env.nix {};
   etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
   etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
+  fancontrol = handleTest ./fancontrol.nix {};
   ferm = handleTest ./ferm.nix {};
   firefox = handleTest ./firefox.nix {};
   firewall = handleTest ./firewall.nix {};
   fish = handleTest ./fish.nix {};
   flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
-  flatpak = handleTest ./flatpak.nix {};
-  flatpak-builder = handleTest ./flatpak-builder.nix {};
   fluentd = handleTest ./fluentd.nix {};
   fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
   fsck = handleTest ./fsck.nix {};
-  fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64
-  gdk-pixbuf = handleTest ./gdk-pixbuf.nix {};
+  gotify-server = handleTest ./gotify-server.nix {};
   gitea = handleTest ./gitea.nix {};
   gitlab = handleTest ./gitlab.nix {};
   gitolite = handleTest ./gitolite.nix {};
-  gjs = handleTest ./gjs.nix {};
-  glib-networking = handleTest ./glib-networking.nix {};
+  gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
   glusterfs = handleTest ./glusterfs.nix {};
   gnome3-xorg = handleTest ./gnome3-xorg.nix {};
   gnome3 = handleTest ./gnome3.nix {};
-  gnome-photos = handleTest ./gnome-photos.nix {};
+  installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
   gocd-agent = handleTest ./gocd-agent.nix {};
   gocd-server = handleTest ./gocd-server.nix {};
   google-oslogin = handleTest ./google-oslogin {};
-  graphene = handleTest ./graphene.nix {};
   grafana = handleTest ./grafana.nix {};
   graphite = handleTest ./graphite.nix {};
   graylog = handleTest ./graylog.nix {};
+  gvisor = handleTest ./gvisor.nix {};
   hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
   hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
   handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
@@ -121,6 +122,7 @@ in
   i3wm = handleTest ./i3wm.nix {};
   icingaweb2 = handleTest ./icingaweb2.nix {};
   iftop = handleTest ./iftop.nix {};
+  ihatemoney = handleTest ./ihatemoney.nix {};
   incron = handleTest ./incron.nix {};
   influxdb = handleTest ./influxdb.nix {};
   initrd-network-ssh = handleTest ./initrd-network-ssh {};
@@ -130,8 +132,8 @@ in
   jackett = handleTest ./jackett.nix {};
   jellyfin = handleTest ./jellyfin.nix {};
   jenkins = handleTest ./jenkins.nix {};
-  jormungandr = handleTest ./jormungandr.nix {};
   kafka = handleTest ./kafka.nix {};
+  keepalived = handleTest ./keepalived.nix {};
   kerberos = handleTest ./kerberos/default.nix {};
   kernel-latest = handleTest ./kernel-latest.nix {};
   kernel-lts = handleTest ./kernel-lts.nix {};
@@ -145,16 +147,17 @@ in
   latestKernel.login = handleTest ./login.nix { latestKernel = true; };
   ldap = handleTest ./ldap.nix {};
   leaps = handleTest ./leaps.nix {};
-  libgdata = handleTest ./libgdata.nix {};
-  libxmlb = handleTest ./libxmlb.nix {};
   lidarr = handleTest ./lidarr.nix {};
   lightdm = handleTest ./lightdm.nix {};
   limesurvey = handleTest ./limesurvey.nix {};
   login = handleTest ./login.nix {};
   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 {};
   matrix-synapse = handleTest ./matrix-synapse.nix {};
   mediawiki = handleTest ./mediawiki.nix {};
   memcached = handleTest ./memcached.nix {};
@@ -164,6 +167,7 @@ in
   minio = handleTest ./minio.nix {};
   minidlna = handleTest ./minidlna.nix {};
   misc = handleTest ./misc.nix {};
+  moinmoin = handleTest ./moinmoin.nix {};
   mongodb = handleTest ./mongodb.nix {};
   moodle = handleTest ./moodle.nix {};
   morty = handleTest ./morty.nix {};
@@ -176,6 +180,7 @@ in
   mysql = handleTest ./mysql.nix {};
   mysqlBackup = handleTest ./mysql-backup.nix {};
   mysqlReplication = handleTest ./mysql-replication.nix {};
+  nagios = handleTest ./nagios.nix {};
   nat.firewall = handleTest ./nat.nix { withFirewall = true; };
   nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
   nat.standalone = handleTest ./nat.nix { withFirewall = false; };
@@ -189,26 +194,28 @@ in
   networkingProxy = handleTest ./networking-proxy.nix {};
   nextcloud = handleTest ./nextcloud {};
   nexus = handleTest ./nexus.nix {};
-  nfs3 = handleTest ./nfs.nix { version = 3; };
-  nfs4 = handleTest ./nfs.nix { version = 4; };
+  # TODO: Test nfsv3 + Kerberos
+  nfs3 = handleTest ./nfs { version = 3; };
+  nfs4 = handleTest ./nfs { version = 4; };
   nghttpx = handleTest ./nghttpx.nix {};
   nginx = handleTest ./nginx.nix {};
+  nginx-etag = handleTest ./nginx-etag.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
   nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
   nixos-generate-config = handleTest ./nixos-generate-config.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nsd = handleTest ./nsd.nix {};
   nzbget = handleTest ./nzbget.nix {};
+  openarena = handleTest ./openarena.nix {};
   openldap = handleTest ./openldap.nix {};
   opensmtpd = handleTest ./opensmtpd.nix {};
   openssh = handleTest ./openssh.nix {};
   # openstack-image-userdata doesn't work in a sandbox as the simulated openstack instance needs network access
   #openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
   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 {};
-  ostree = handleTest ./ostree.nix {};
   overlayfs = handleTest ./overlayfs.nix {};
   packagekit = handleTest ./packagekit.nix {};
   pam-oath-login = handleTest ./pam-oath-login.nix {};
@@ -225,6 +232,7 @@ in
   postgresql = handleTest ./postgresql.nix {};
   postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
   powerdns = handleTest ./powerdns.nix {};
+  pppd = handleTest ./pppd.nix {};
   predictable-interface-names = handleTest ./predictable-interface-names.nix {};
   printing = handleTest ./printing.nix {};
   prometheus = handleTest ./prometheus.nix {};
@@ -233,7 +241,6 @@ in
   prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {};
   proxy = handleTest ./proxy.nix {};
   quagga = handleTest ./quagga.nix {};
-  quake3 = handleTest ./quake3.nix {};
   rabbitmq = handleTest ./rabbitmq.nix {};
   radarr = handleTest ./radarr.nix {};
   radicale = handleTest ./radicale.nix {};
@@ -247,13 +254,14 @@ in
   rxe = handleTest ./rxe.nix {};
   samba = handleTest ./samba.nix {};
   sddm = handleTest ./sddm.nix {};
+  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 {};
   solr = handleTest ./solr.nix {};
+  spacecookie = handleTest ./spacecookie.nix {};
   sonarr = handleTest ./sonarr.nix {};
   strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
   sudo = handleTest ./sudo.nix {};
@@ -261,17 +269,23 @@ in
   syncthing-init = handleTest ./syncthing-init.nix {};
   syncthing-relay = handleTest ./syncthing-relay.nix {};
   systemd = handleTest ./systemd.nix {};
+  systemd-analyze = handleTest ./systemd-analyze.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
+  systemd-nspawn = handleTest ./systemd-nspawn.nix {};
   pdns-recursor = handleTest ./pdns-recursor.nix {};
   taskserver = handleTest ./taskserver.nix {};
   telegraf = handleTest ./telegraf.nix {};
   tiddlywiki = handleTest ./tiddlywiki.nix {};
+  timezone = handleTest ./timezone.nix {};
   tinydns = handleTest ./tinydns.nix {};
   tor = handleTest ./tor.nix {};
   transmission = handleTest ./transmission.nix {};
+  trac = handleTest ./trac.nix {};
+  trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
   trezord = handleTest ./trezord.nix {};
+  trickster = handleTest ./trickster.nix {};
   udisks2 = handleTest ./udisks2.nix {};
   upnp = handleTest ./upnp.nix {};
   uwsgi = handleTest ./uwsgi.nix {};
@@ -279,14 +293,15 @@ in
   virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
   wireguard = handleTest ./wireguard {};
   wireguard-generated = handleTest ./wireguard/generated.nix {};
+  wireguard-namespaces = handleTest ./wireguard/namespaces.nix {};
   wordpress = handleTest ./wordpress.nix {};
   xautolock = handleTest ./xautolock.nix {};
-  xdg-desktop-portal = handleTest ./xdg-desktop-portal.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 {};
   yabar = handleTest ./yabar.nix {};
+  yggdrasil = handleTest ./yggdrasil.nix {};
+  zsh-history = handleTest ./zsh-history.nix {};
   zookeeper = handleTest ./zookeeper.nix {};
 }
diff --git a/nixpkgs/nixos/tests/ammonite.nix b/nixpkgs/nixos/tests/ammonite.nix
index fedfde233e8d..1955e42be5f0 100644
--- a/nixpkgs/nixos/tests/ammonite.nix
+++ b/nixpkgs/nixos/tests/ammonite.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "ammonite";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -13,8 +13,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $amm->succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42")
+    amm.succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42")
   '';
 })
diff --git a/nixpkgs/nixos/tests/atd.nix b/nixpkgs/nixos/tests/atd.nix
index 25db72799241..c3abe5c253df 100644
--- a/nixpkgs/nixos/tests/atd.nix
+++ b/nixpkgs/nixos/tests/atd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "atd";
@@ -14,18 +14,18 @@ import ./make-test.nix ({ pkgs, ... }:
 
   # "at" has a resolution of 1 minute
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('atd.service'); # wait for atd to start
-    $machine->fail("test -f ~root/at-1");
-    $machine->fail("test -f ~alice/at-1");
+    machine.wait_for_unit("atd.service")  # wait for atd to start
+    machine.fail("test -f ~root/at-1")
+    machine.fail("test -f ~alice/at-1")
 
-    $machine->succeed("echo 'touch ~root/at-1' | at now+1min");
-    $machine->succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"");
+    machine.succeed("echo 'touch ~root/at-1' | at now+1min")
+    machine.succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"")
 
-    $machine->succeed("sleep 1.5m");
+    machine.succeed("sleep 1.5m")
 
-    $machine->succeed("test -f ~root/at-1");
-    $machine->succeed("test -f ~alice/at-1");
+    machine.succeed("test -f ~root/at-1")
+    machine.succeed("test -f ~alice/at-1")
   '';
 })
diff --git a/nixpkgs/nixos/tests/automysqlbackup.nix b/nixpkgs/nixos/tests/automysqlbackup.nix
index ada104a34de3..224b93862fbd 100644
--- a/nixpkgs/nixos/tests/automysqlbackup.nix
+++ b/nixpkgs/nixos/tests/automysqlbackup.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 {
   name = "automysqlbackup";
@@ -15,20 +15,24 @@ import ./make-test.nix ({ pkgs, lib, ... }:
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
     # Need to have mysql started so that it can be populated with data.
-    $machine->waitForUnit("mysql.service");
-
-    # Wait for testdb to be fully populated (5 rows).
-    $machine->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
-
-    # Do a backup and wait for it to start
-    $machine->startJob("automysqlbackup.service");
-    $machine->waitForJob("automysqlbackup.service");
-
-    # wait for backup file and check that data appears in backup
-    $machine->waitForFile("/var/backup/mysql/daily/testdb");
-    $machine->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello");
+    machine.wait_for_unit("mysql.service")
+
+    with subtest("Wait for testdb to be fully populated (5 rows)."):
+        machine.wait_until_succeeds(
+            "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+        )
+
+    with subtest("Do a backup and wait for it to start"):
+        machine.start_job("automysqlbackup.service")
+        machine.wait_for_job("automysqlbackup.service")
+
+    with subtest("wait for backup file and check that data appears in backup"):
+        machine.wait_for_file("/var/backup/mysql/daily/testdb")
+        machine.succeed(
+            "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
+        )
     '';
 })
diff --git a/nixpkgs/nixos/tests/avahi.nix b/nixpkgs/nixos/tests/avahi.nix
index ae4f54d5266a..fe027c14d5a8 100644
--- a/nixpkgs/nixos/tests/avahi.nix
+++ b/nixpkgs/nixos/tests/avahi.nix
@@ -1,5 +1,5 @@
 # Test whether `avahi-daemon' and `libnss-mdns' work as expected.
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "avahi";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -23,45 +23,45 @@ import ./make-test.nix ({ pkgs, ... } : {
     two = cfg;
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       # mDNS.
-       $one->waitForUnit("network.target");
-       $two->waitForUnit("network.target");
+    # mDNS.
+    one.wait_for_unit("network.target")
+    two.wait_for_unit("network.target")
 
-       $one->succeed("avahi-resolve-host-name one.local | tee out >&2");
-       $one->succeed("test \"`cut -f1 < out`\" = one.local");
-       $one->succeed("avahi-resolve-host-name two.local | tee out >&2");
-       $one->succeed("test \"`cut -f1 < out`\" = two.local");
+    one.succeed("avahi-resolve-host-name one.local | tee out >&2")
+    one.succeed('test "`cut -f1 < out`" = one.local')
+    one.succeed("avahi-resolve-host-name two.local | tee out >&2")
+    one.succeed('test "`cut -f1 < out`" = two.local')
 
-       $two->succeed("avahi-resolve-host-name one.local | tee out >&2");
-       $two->succeed("test \"`cut -f1 < out`\" = one.local");
-       $two->succeed("avahi-resolve-host-name two.local | tee out >&2");
-       $two->succeed("test \"`cut -f1 < out`\" = two.local");
+    two.succeed("avahi-resolve-host-name one.local | tee out >&2")
+    two.succeed('test "`cut -f1 < out`" = one.local')
+    two.succeed("avahi-resolve-host-name two.local | tee out >&2")
+    two.succeed('test "`cut -f1 < out`" = two.local')
 
-       # Basic DNS-SD.
-       $one->succeed("avahi-browse -r -t _workstation._tcp | tee out >&2");
-       $one->succeed("test `wc -l < out` -gt 0");
-       $two->succeed("avahi-browse -r -t _workstation._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
+    # Basic DNS-SD.
+    one.succeed("avahi-browse -r -t _workstation._tcp | tee out >&2")
+    one.succeed("test `wc -l < out` -gt 0")
+    two.succeed("avahi-browse -r -t _workstation._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
 
-       # More DNS-SD.
-       $one->execute("avahi-publish -s \"This is a test\" _test._tcp 123 one=1 &");
-       $one->sleep(5);
-       $two->succeed("avahi-browse -r -t _test._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
+    # More DNS-SD.
+    one.execute('avahi-publish -s "This is a test" _test._tcp 123 one=1 &')
+    one.sleep(5)
+    two.succeed("avahi-browse -r -t _test._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
 
-       # NSS-mDNS.
-       $one->succeed("getent hosts one.local >&2");
-       $one->succeed("getent hosts two.local >&2");
-       $two->succeed("getent hosts one.local >&2");
-       $two->succeed("getent hosts two.local >&2");
+    # NSS-mDNS.
+    one.succeed("getent hosts one.local >&2")
+    one.succeed("getent hosts two.local >&2")
+    two.succeed("getent hosts one.local >&2")
+    two.succeed("getent hosts two.local >&2")
 
-       # extra service definitions
-       $one->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2");
-       $one->succeed("test `wc -l < out` -gt 0");
-       $two->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
-    '';
+    # extra service definitions
+    one.succeed("avahi-browse -r -t _ssh._tcp | tee out >&2")
+    one.succeed("test `wc -l < out` -gt 0")
+    two.succeed("avahi-browse -r -t _ssh._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
+  '';
 })
diff --git a/nixpkgs/nixos/tests/babeld.nix b/nixpkgs/nixos/tests/babeld.nix
new file mode 100644
index 000000000000..fafa788ba57b
--- /dev/null
+++ b/nixpkgs/nixos/tests/babeld.nix
@@ -0,0 +1,148 @@
+
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
+  name = "babeld";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ hexa ];
+  };
+
+  nodes =
+    { client = { pkgs, lib, ... }:
+      {
+        virtualisation.vlans = [ 10 ];
+
+        networking = {
+          useDHCP = false;
+          interfaces."eth1" = {
+            ipv4.addresses = lib.mkForce [ { address = "192.168.10.2"; prefixLength = 24; } ];
+            ipv4.routes = lib.mkForce [ { address = "0.0.0.0"; prefixLength = 0; via = "192.168.10.1"; } ];
+            ipv6.addresses = lib.mkForce [ { address = "2001:db8:10::2"; prefixLength = 64; } ];
+            ipv6.routes = lib.mkForce [ { address = "::"; prefixLength = 0; via = "2001:db8:10::1"; } ];
+          };
+        };
+      };
+
+      local_router = { pkgs, lib, ... }:
+      {
+        virtualisation.vlans = [ 10 20 ];
+
+        boot.kernel.sysctl."net.ipv4.conf.all.forwarding" = 1;
+        boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1;
+
+        networking = {
+          useDHCP = false;
+          firewall.enable = false;
+
+          interfaces."eth1" = {
+            ipv4.addresses = lib.mkForce [ { address = "192.168.10.1"; prefixLength = 24; } ];
+            ipv6.addresses = lib.mkForce [ { address = "2001:db8:10::1"; prefixLength = 64; } ];
+          };
+
+          interfaces."eth2" = {
+            ipv4.addresses = lib.mkForce [ { address = "192.168.20.1"; prefixLength = 24; } ];
+            ipv6.addresses = lib.mkForce [ { address = "2001:db8:20::1"; prefixLength = 64; } ];
+          };
+        };
+
+        services.babeld = {
+          enable = true;
+          interfaces.eth2 = {
+            hello-interval = 1;
+            type = "wired";
+          };
+          extraConfig = ''
+            local-port-readwrite 33123
+
+            import-table 254 # main
+            export-table 254 # main
+
+            in ip 192.168.10.0/24 deny
+            in ip 192.168.20.0/24 deny
+            in ip 2001:db8:10::/64 deny
+            in ip 2001:db8:20::/64 deny
+
+            in ip 192.168.30.0/24 allow
+            in ip 2001:db8:30::/64 allow
+
+            in deny
+
+            redistribute local proto 2
+            redistribute local deny
+          '';
+        };
+      };
+      remote_router = { pkgs, lib, ... }:
+      {
+        virtualisation.vlans = [ 20 30 ];
+
+        boot.kernel.sysctl."net.ipv4.conf.all.forwarding" = 1;
+        boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1;
+
+        networking = {
+          useDHCP = false;
+          firewall.enable = false;
+
+          interfaces."eth1" = {
+            ipv4.addresses = lib.mkForce [ { address = "192.168.20.2"; prefixLength = 24; } ];
+            ipv6.addresses = lib.mkForce [ { address = "2001:db8:20::2"; prefixLength = 64; } ];
+          };
+
+          interfaces."eth2" = {
+            ipv4.addresses = lib.mkForce [ { address = "192.168.30.1"; prefixLength = 24; } ];
+            ipv6.addresses = lib.mkForce [ { address = "2001:db8:30::1"; prefixLength = 64; } ];
+          };
+        };
+
+        services.babeld = {
+          enable = true;
+          interfaces.eth1 = {
+            hello-interval = 1;
+            type = "wired";
+          };
+          extraConfig = ''
+            local-port-readwrite 33123
+
+            import-table 254 # main
+            export-table 254 # main
+
+            in ip 192.168.20.0/24 deny
+            in ip 192.168.30.0/24 deny
+            in ip 2001:db8:20::/64 deny
+            in ip 2001:db8:30::/64 deny
+
+            in ip 192.168.10.0/24 allow
+            in ip 2001:db8:10::/64 allow
+
+            in deny
+
+            redistribute local proto 2
+            redistribute local deny
+          '';
+        };
+
+      };
+    };
+
+  testScript =
+    ''
+      start_all()
+
+      client.wait_for_unit("network-online.target")
+      local_router.wait_for_unit("network-online.target")
+      remote_router.wait_for_unit("network-online.target")
+
+      local_router.wait_for_unit("babeld.service")
+      remote_router.wait_for_unit("babeld.service")
+
+      local_router.wait_until_succeeds("ip route get 192.168.30.1")
+      local_router.wait_until_succeeds("ip route get 2001:db8:30::1")
+
+      remote_router.wait_until_succeeds("ip route get 192.168.10.1")
+      remote_router.wait_until_succeeds("ip route get 2001:db8:10::1")
+
+      client.succeed("ping -c1 192.168.30.1")
+      client.succeed("ping -c1 2001:db8:30::1")
+
+      remote_router.succeed("ping -c1 192.168.10.2")
+      remote_router.succeed("ping -c1 2001:db8:10::2")
+    '';
+})
diff --git a/nixpkgs/nixos/tests/bcachefs.nix b/nixpkgs/nixos/tests/bcachefs.nix
index 658676ef0ab9..0541e5803225 100644
--- a/nixpkgs/nixos/tests/bcachefs.nix
+++ b/nixpkgs/nixos/tests/bcachefs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "bcachefs";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ chiiruno ];
 
@@ -10,29 +10,25 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->succeed("modprobe bcachefs");
-    $machine->succeed("bcachefs version");
-    $machine->succeed("ls /dev");
+    machine.succeed("modprobe bcachefs")
+    machine.succeed("bcachefs version")
+    machine.succeed("ls /dev")
     
-    $machine->succeed(
-      "mkdir /tmp/mnt",
-
-      "udevadm settle",
-      "parted --script /dev/vdb mklabel msdos",
-      "parted --script /dev/vdb -- mkpart primary 1024M -1s",
-      "udevadm settle",
-
-      # Due to #32279, we cannot use encryption for this test yet
-      # "echo password | bcachefs format --encrypted /dev/vdb1",
-      # "echo password | bcachefs unlock /dev/vdb1",
-      "bcachefs format /dev/vdb1",
-      "mount -t bcachefs /dev/vdb1 /tmp/mnt",
-      "udevadm settle",
-
-      "bcachefs fs usage /tmp/mnt",
-
-      "umount /tmp/mnt",
-      "udevadm settle"
-    );
+    machine.succeed(
+        "mkdir /tmp/mnt",
+        "udevadm settle",
+        "parted --script /dev/vdb mklabel msdos",
+        "parted --script /dev/vdb -- mkpart primary 1024M -1s",
+        "udevadm settle",
+        # Due to #32279, we cannot use encryption for this test yet
+        # "echo password | bcachefs format --encrypted /dev/vdb1",
+        # "echo password | bcachefs unlock /dev/vdb1",
+        "bcachefs format /dev/vdb1",
+        "mount -t bcachefs /dev/vdb1 /tmp/mnt",
+        "udevadm settle",
+        "bcachefs fs usage /tmp/mnt",
+        "umount /tmp/mnt",
+        "udevadm settle",
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/beanstalkd.nix b/nixpkgs/nixos/tests/beanstalkd.nix
index fa2fbc2c92ab..4f4a454fb47f 100644
--- a/nixpkgs/nixos/tests/beanstalkd.nix
+++ b/nixpkgs/nixos/tests/beanstalkd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 let
   pythonEnv = pkgs.python3.withPackages (p: [p.beanstalkc]);
@@ -34,12 +34,16 @@ in
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('beanstalkd.service');
+    machine.wait_for_unit("beanstalkd.service")
 
-    $machine->succeed("${produce}");
-    $machine->succeed("${consume}") eq "this is a job\n" or die;
-    $machine->succeed("${consume}") eq "this is another job\n" or die;
+    machine.succeed("${produce}")
+    assert "this is a job\n" == machine.succeed(
+        "${consume}"
+    )
+    assert "this is another job\n" == machine.succeed(
+        "${consume}"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/beegfs.nix b/nixpkgs/nixos/tests/beegfs.nix
deleted file mode 100644
index 3465272f5599..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/bees.nix b/nixpkgs/nixos/tests/bees.nix
index 6f68c2f834f1..6e6a9c3446b0 100644
--- a/nixpkgs/nixos/tests/bees.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/bind.nix b/nixpkgs/nixos/tests/bind.nix
index 1f8c1dc7be40..09917b15a8e0 100644
--- a/nixpkgs/nixos/tests/bind.nix
+++ b/nixpkgs/nixos/tests/bind.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "bind";
 
   machine = { pkgs, lib, ... }: {
@@ -20,8 +20,8 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('bind.service');
-    $machine->waitForOpenPort(53);
-    $machine->succeed('host 192.168.0.1 127.0.0.1 | grep -qF ns.example.org');
+    machine.wait_for_unit("bind.service")
+    machine.wait_for_open_port(53)
+    machine.succeed("host 192.168.0.1 127.0.0.1 | grep -qF ns.example.org")
   '';
 }
diff --git a/nixpkgs/nixos/tests/bittorrent.nix b/nixpkgs/nixos/tests/bittorrent.nix
index 3b1169a1b7f2..e5be652c7112 100644
--- a/nixpkgs/nixos/tests/bittorrent.nix
+++ b/nixpkgs/nixos/tests/bittorrent.nix
@@ -6,7 +6,7 @@
 # which only works if the first client successfully uses the UPnP-IGD
 # protocol to poke a hole in the NAT.
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
 
@@ -108,42 +108,56 @@ in
   testScript =
     { nodes, ... }:
     ''
-      startAll;
+      start_all()
 
       # Wait for network and miniupnpd.
-      $router->waitForUnit("network-online.target");
-      $router->waitForUnit("miniupnpd");
+      router.wait_for_unit("network-online.target")
+      router.wait_for_unit("miniupnpd")
 
       # Create the torrent.
-      $tracker->succeed("mkdir /tmp/data");
-      $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2");
-      $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 --private --tracker http://${externalTrackerAddress}:6969/announce --outfile /tmp/test.torrent");
-      $tracker->succeed("chmod 644 /tmp/test.torrent");
+      tracker.succeed("mkdir /tmp/data")
+      tracker.succeed(
+          "cp ${file} /tmp/data/test.tar.bz2"
+      )
+      tracker.succeed(
+          "transmission-create /tmp/data/test.tar.bz2 --private --tracker http://${externalTrackerAddress}:6969/announce --outfile /tmp/test.torrent"
+      )
+      tracker.succeed("chmod 644 /tmp/test.torrent")
 
       # Start the tracker.  !!! use a less crappy tracker
-      $tracker->waitForUnit("network-online.target");
-      $tracker->waitForUnit("opentracker.service");
-      $tracker->waitForOpenPort(6969);
+      tracker.wait_for_unit("network-online.target")
+      tracker.wait_for_unit("opentracker.service")
+      tracker.wait_for_open_port(6969)
 
       # Start the initial seeder.
-      $tracker->succeed("transmission-remote --add /tmp/test.torrent --no-portmap --no-dht --download-dir /tmp/data");
+      tracker.succeed(
+          "transmission-remote --add /tmp/test.torrent --no-portmap --no-dht --download-dir /tmp/data"
+      )
 
       # Now we should be able to download from the client behind the NAT.
-      $tracker->waitForUnit("httpd");
-      $client1->waitForUnit("network-online.target");
-      $client1->succeed("transmission-remote --add http://${externalTrackerAddress}/test.torrent --download-dir /tmp >&2 &");
-      $client1->waitForFile("/tmp/test.tar.bz2");
-      $client1->succeed("cmp /tmp/test.tar.bz2 ${file}");
+      tracker.wait_for_unit("httpd")
+      client1.wait_for_unit("network-online.target")
+      client1.succeed(
+          "transmission-remote --add http://${externalTrackerAddress}/test.torrent --download-dir /tmp >&2 &"
+      )
+      client1.wait_for_file("/tmp/test.tar.bz2")
+      client1.succeed(
+          "cmp /tmp/test.tar.bz2 ${file}"
+      )
 
       # Bring down the initial seeder.
-      # $tracker->stopJob("transmission");
+      # tracker.stop_job("transmission")
 
       # Now download from the second client.  This can only succeed if
       # the first client created a NAT hole in the router.
-      $client2->waitForUnit("network-online.target");
-      $client2->succeed("transmission-remote --add http://${externalTrackerAddress}/test.torrent --no-portmap --no-dht --download-dir /tmp >&2 &");
-      $client2->waitForFile("/tmp/test.tar.bz2");
-      $client2->succeed("cmp /tmp/test.tar.bz2 ${file}");
+      client2.wait_for_unit("network-online.target")
+      client2.succeed(
+          "transmission-remote --add http://${externalTrackerAddress}/test.torrent --no-portmap --no-dht --download-dir /tmp >&2 &"
+      )
+      client2.wait_for_file("/tmp/test.tar.bz2")
+      client2.succeed(
+          "cmp /tmp/test.tar.bz2 ${file}"
+      )
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/boot-stage1.nix b/nixpkgs/nixos/tests/boot-stage1.nix
index b2e74bff6fcd..cfb2ccb82856 100644
--- a/nixpkgs/nixos/tests/boot-stage1.nix
+++ b/nixpkgs/nixos/tests/boot-stage1.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "boot-stage1";
 
   machine = { config, pkgs, lib, ... }: {
@@ -150,12 +150,12 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->waitForUnit("multi-user.target");
-    $machine->succeed('test -s /run/canary2.pid');
-    $machine->fail('pgrep -a canary1');
-    $machine->fail('kill -0 $(< /run/canary2.pid)');
-    $machine->succeed('pgrep -a -f \'^@canary3$\''');
-    $machine->succeed('pgrep -a -f \'^kcanary$\''');
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("test -s /run/canary2.pid")
+    machine.fail("pgrep -a canary1")
+    machine.fail("kill -0 $(< /run/canary2.pid)")
+    machine.succeed('pgrep -a -f "^@canary3$"')
+    machine.succeed('pgrep -a -f "^kcanary$"')
   '';
 
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ aszlig ];
diff --git a/nixpkgs/nixos/tests/boot.nix b/nixpkgs/nixos/tests/boot.nix
index 57d8006d7ac3..c5040f3b31fb 100644
--- a/nixpkgs/nixos/tests/boot.nix
+++ b/nixpkgs/nixos/tests/boot.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -17,11 +17,11 @@ let
         ];
     }).config.system.build.isoImage;
 
-  perlAttrs = params: "{ ${concatStringsSep ", " (mapAttrsToList (name: param: "${name} => ${builtins.toJSON param}") params)} }";
+  pythonDict = params: "\n    {\n        ${concatStringsSep ",\n        " (mapAttrsToList (name: param: "\"${name}\": \"${param}\"") params)},\n    }\n";
 
   makeBootTest = name: extraConfig:
     let
-      machineConfig = perlAttrs ({ qemuFlags = "-m 768"; } // extraConfig);
+      machineConfig = pythonDict ({ qemuFlags = "-m 768"; } // extraConfig);
     in
       makeTest {
         inherit iso;
@@ -29,16 +29,16 @@ let
         nodes = { };
         testScript =
           ''
-            my $machine = createMachine(${machineConfig});
-            $machine->start;
-            $machine->waitForUnit("multi-user.target");
-            $machine->succeed("nix verify -r --no-trust /run/current-system");
+            machine = create_machine(${machineConfig})
+            machine.start()
+            machine.wait_for_unit("multi-user.target")
+            machine.succeed("nix verify -r --no-trust /run/current-system")
 
-            # Test whether the channel got installed correctly.
-            $machine->succeed("nix-instantiate --dry-run '<nixpkgs>' -A hello");
-            $machine->succeed("nix-env --dry-run -iA nixos.procps");
+            with subtest("Check whether the channel got installed correctly"):
+                machine.succeed("nix-instantiate --dry-run '<nixpkgs>' -A hello")
+                machine.succeed("nix-env --dry-run -iA nixos.procps")
 
-            $machine->shutdown;
+            machine.shutdown()
           '';
       };
 
@@ -60,7 +60,7 @@ let
           config.system.build.netbootIpxeScript
         ];
       };
-      machineConfig = perlAttrs ({
+      machineConfig = pythonDict ({
         qemuFlags = "-boot order=n -m 2000";
         netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe";
       } // extraConfig);
@@ -68,12 +68,11 @@ let
       makeTest {
         name = "boot-netboot-" + name;
         nodes = { };
-        testScript =
-          ''
-            my $machine = createMachine(${machineConfig});
-            $machine->start;
-            $machine->waitForUnit("multi-user.target");
-            $machine->shutdown;
+        testScript = ''
+            machine = create_machine(${machineConfig})
+            machine.start()
+            machine.wait_for_unit("multi-user.target")
+            machine.shutdown()
           '';
       };
 in {
diff --git a/nixpkgs/nixos/tests/borgbackup.nix b/nixpkgs/nixos/tests/borgbackup.nix
index 165f64b0d6dc..d97471e293e8 100644
--- a/nixpkgs/nixos/tests/borgbackup.nix
+++ b/nixpkgs/nixos/tests/borgbackup.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   passphrase = "supersecret";
@@ -106,60 +106,70 @@ in {
   };
 
   testScript = ''
-    startAll;
-
-    $client->fail('test -d "${remoteRepo}"');
-
-    $client->succeed("cp ${privateKey} /root/id_ed25519");
-    $client->succeed("chmod 0600 /root/id_ed25519");
-    $client->succeed("cp ${privateKeyAppendOnly} /root/id_ed25519.appendOnly");
-    $client->succeed("chmod 0600 /root/id_ed25519.appendOnly");
-
-    $client->succeed("mkdir -p ${dataDir}");
-    $client->succeed("touch ${dataDir}/${excludeFile}");
-    $client->succeed("echo '${keepFileData}' > ${dataDir}/${keepFile}");
-
-    subtest "local", sub {
-      my $borg = "BORG_PASSPHRASE='${passphrase}' borg";
-      $client->systemctl("start --wait borgbackup-job-local");
-      $client->fail("systemctl is-failed borgbackup-job-local");
-      # Make sure exactly one archive has been created
-      $client->succeed("c=\$($borg list '${localRepo}' | wc -l) && [[ \$c == '1' ]]");
-      # Make sure excludeFile has been excluded
-      $client->fail("$borg list '${localRepo}::${archiveName}' | grep -qF '${excludeFile}'");
-      # Make sure keepFile has the correct content
-      $client->succeed("$borg extract '${localRepo}::${archiveName}'");
-      $client->succeed('c=$(cat ${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
-      # Make sure the same is true when using `borg mount`
-      $client->succeed("mkdir -p /mnt/borg && $borg mount '${localRepo}::${archiveName}' /mnt/borg");
-      $client->succeed('c=$(cat /mnt/borg/${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
-    };
-
-    subtest "remote", sub {
-      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519' borg";
-      $server->waitForUnit("sshd.service");
-      $client->waitForUnit("network.target");
-      $client->systemctl("start --wait borgbackup-job-remote");
-      $client->fail("systemctl is-failed borgbackup-job-remote");
-
-      # Make sure we can't access repos other than the specified one
-      $client->fail("$borg list borg\@server:wrong");
-
-      #TODO: Make sure that data is actually deleted
-    };
-
-    subtest "remoteAppendOnly", sub {
-      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly' borg";
-      $server->waitForUnit("sshd.service");
-      $client->waitForUnit("network.target");
-      $client->systemctl("start --wait borgbackup-job-remoteAppendOnly");
-      $client->fail("systemctl is-failed borgbackup-job-remoteAppendOnly");
-
-      # Make sure we can't access repos other than the specified one
-      $client->fail("$borg list borg\@server:wrong");
-
-      #TODO: Make sure that data is not actually deleted
-    };
-
+    start_all()
+
+    client.fail('test -d "${remoteRepo}"')
+
+    client.succeed(
+        "cp ${privateKey} /root/id_ed25519"
+    )
+    client.succeed("chmod 0600 /root/id_ed25519")
+    client.succeed(
+        "cp ${privateKeyAppendOnly} /root/id_ed25519.appendOnly"
+    )
+    client.succeed("chmod 0600 /root/id_ed25519.appendOnly")
+
+    client.succeed("mkdir -p ${dataDir}")
+    client.succeed("touch ${dataDir}/${excludeFile}")
+    client.succeed("echo '${keepFileData}' > ${dataDir}/${keepFile}")
+
+    with subtest("local"):
+        borg = "BORG_PASSPHRASE='${passphrase}' borg"
+        client.systemctl("start --wait borgbackup-job-local")
+        client.fail("systemctl is-failed borgbackup-job-local")
+        # Make sure exactly one archive has been created
+        assert int(client.succeed("{} list '${localRepo}' | wc -l".format(borg))) > 0
+        # Make sure excludeFile has been excluded
+        client.fail(
+            "{} list '${localRepo}::${archiveName}' | grep -qF '${excludeFile}'".format(borg)
+        )
+        # Make sure keepFile has the correct content
+        client.succeed("{} extract '${localRepo}::${archiveName}'".format(borg))
+        assert "${keepFileData}" in client.succeed("cat ${dataDir}/${keepFile}")
+        # Make sure the same is true when using `borg mount`
+        client.succeed(
+            "mkdir -p /mnt/borg && {} mount '${localRepo}::${archiveName}' /mnt/borg".format(
+                borg
+            )
+        )
+        assert "${keepFileData}" in client.succeed(
+            "cat /mnt/borg/${dataDir}/${keepFile}"
+        )
+
+    with subtest("remote"):
+        borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519' borg"
+        server.wait_for_unit("sshd.service")
+        client.wait_for_unit("network.target")
+        client.systemctl("start --wait borgbackup-job-remote")
+        client.fail("systemctl is-failed borgbackup-job-remote")
+
+        # Make sure we can't access repos other than the specified one
+        client.fail("{} list borg\@server:wrong".format(borg))
+
+        # TODO: Make sure that data is actually deleted
+
+    with subtest("remoteAppendOnly"):
+        borg = (
+            "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly' borg"
+        )
+        server.wait_for_unit("sshd.service")
+        client.wait_for_unit("network.target")
+        client.systemctl("start --wait borgbackup-job-remoteAppendOnly")
+        client.fail("systemctl is-failed borgbackup-job-remoteAppendOnly")
+
+        # Make sure we can't access repos other than the specified one
+        client.fail("{} list borg\@server:wrong".format(borg))
+
+        # TODO: Make sure that data is not actually deleted
   '';
 })
diff --git a/nixpkgs/nixos/tests/caddy.nix b/nixpkgs/nixos/tests/caddy.nix
new file mode 100644
index 000000000000..fc10df0c79b5
--- /dev/null
+++ b/nixpkgs/nixos/tests/caddy.nix
@@ -0,0 +1,87 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "caddy";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ xfix ];
+  };
+
+  nodes = {
+    webserver = { pkgs, lib, ... }: {
+      services.caddy.enable = true;
+      services.caddy.config = ''
+        http://localhost {
+          gzip
+
+          root ${
+            pkgs.runCommand "testdir" {} ''
+              mkdir "$out"
+              echo hello world > "$out/example.html"
+            ''
+          }
+        }
+      '';
+
+      nesting.clone = [
+        {
+          services.caddy.config = lib.mkForce ''
+            http://localhost {
+              gzip
+
+              root ${
+                pkgs.runCommand "testdir2" {} ''
+                  mkdir "$out"
+                  echo changed > "$out/example.html"
+                ''
+              }
+            }
+          '';
+        }
+
+        {
+          services.caddy.config = ''
+            http://localhost:8080 {
+            }
+          '';
+        }
+      ];
+    };
+  };
+
+  testScript = { nodes, ... }: let
+    etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
+    justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
+  in ''
+    url = "http://localhost/example.html"
+    webserver.wait_for_unit("caddy")
+    webserver.wait_for_open_port("80")
+
+
+    def check_etag(url):
+        etag = webserver.succeed(
+            "curl -v '{}' 2>&1 | sed -n -e \"s/^< [Ee][Tt][Aa][Gg]: *//p\"".format(url)
+        )
+        etag = etag.replace("\r\n", " ")
+        http_code = webserver.succeed(
+            "curl -w \"%{{http_code}}\" -X HEAD -H 'If-None-Match: {}' {}".format(etag, url)
+        )
+        assert int(http_code) == 304, "HTTP code is not 304"
+        return etag
+
+
+    with subtest("check ETag if serving Nix store paths"):
+        old_etag = check_etag(url)
+        webserver.succeed(
+            "${etagSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.sleep(1)
+        new_etag = check_etag(url)
+        assert old_etag != new_etag, "Old ETag {} is the same as {}".format(
+            old_etag, new_etag
+        )
+    
+    with subtest("config is reloaded on nixos-rebuild switch"):
+        webserver.succeed(
+            "${justReloadSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.wait_for_open_port("8080")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/cadvisor.nix b/nixpkgs/nixos/tests/cadvisor.nix
index e60bae4b7003..60c04f147800 100644
--- a/nixpkgs/nixos/tests/cadvisor.nix
+++ b/nixpkgs/nixos/tests/cadvisor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "cadvisor";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -16,20 +16,19 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("cadvisor.service");
-      $machine->succeed("curl http://localhost:8080/containers/");
+  testScript =  ''
+      start_all()
+      machine.wait_for_unit("cadvisor.service")
+      machine.succeed("curl http://localhost:8080/containers/")
 
-      $influxdb->waitForUnit("influxdb.service");
+      influxdb.wait_for_unit("influxdb.service")
 
       # create influxdb database
-      $influxdb->succeed(q~
-        curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root"
-      ~);
+      influxdb.succeed(
+          'curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root"'
+      )
 
-      $influxdb->waitForUnit("cadvisor.service");
-      $influxdb->succeed("curl http://localhost:8080/containers/");
+      influxdb.wait_for_unit("cadvisor.service")
+      influxdb.succeed("curl http://localhost:8080/containers/")
     '';
 })
diff --git a/nixpkgs/nixos/tests/cassandra.nix b/nixpkgs/nixos/tests/cassandra.nix
index c55733c9be7b..05607956a9d6 100644
--- a/nixpkgs/nixos/tests/cassandra.nix
+++ b/nixpkgs/nixos/tests/cassandra.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let
   # Change this to test a different version of Cassandra:
   testPackage = pkgs.cassandra;
@@ -9,13 +9,16 @@ let
   jmxRolesFile = ./cassandra-jmx-roles;
   jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}";
   jmxPort = 7200;  # Non-standard port so it doesn't accidentally work
+  jmxPortStr = toString jmxPort;
 
-  # Would usually be assigned to 512M
+  # Would usually be assigned to 512M.
+  # Set it to a different value, so that we can check whether our config
+  # actually changes it.
   numMaxHeapSize = "400";
   getHeapLimitCommand = ''
-    nodetool info -p ${toString jmxPort} | grep "^Heap Memory" | awk \'{print $NF}\'
+    nodetool info -p ${jmxPortStr} | grep "^Heap Memory" | awk '{print $NF}'
   '';
-  checkHeapLimitCommand = ''
+  checkHeapLimitCommand = pkgs.writeShellScript "check-heap-limit.sh" ''
     [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ]
   '';
 
@@ -44,7 +47,10 @@ let
   };
 in
 {
-  name = "cassandra-ci";
+  name = "cassandra";
+  meta = {
+    maintainers = with lib.maintainers; [ johnazoidberg ];
+  };
 
   nodes = {
     cass0 = nodeCfg "192.168.1.1" {};
@@ -52,66 +58,74 @@ in
     cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; };
   };
 
-  testScript = let
-    jmxPortS = toString jmxPort;
-  in ''
+  testScript = ''
     # Check configuration
-    subtest "Timers exist", sub {
-      $cass0->succeed("systemctl list-timers | grep cassandra-full-repair.timer");
-      $cass0->succeed("systemctl list-timers | grep cassandra-incremental-repair.timer");
-    };
-    subtest "Can connect via cqlsh", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z cass0 9042");
-      $cass0->succeed("echo 'show version;' | cqlsh cass0");
-    };
-    subtest "Nodetool is operational", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass0'");
-    };
-    subtest "Cluster name was set", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass0->waitUntilSucceeds("nodetool describecluster -p ${jmxPortS} | grep 'Name: ${clusterName}'");
-    };
-    subtest "Heap limit set correctly", sub {
-      # Nodetool takes a while until it can display info
-      $cass0->waitUntilSucceeds('nodetool info -p ${jmxPortS}');
-      $cass0->succeed('${checkHeapLimitCommand}');
-    };
+    with subtest("Timers exist"):
+        cass0.succeed("systemctl list-timers | grep cassandra-full-repair.timer")
+        cass0.succeed("systemctl list-timers | grep cassandra-incremental-repair.timer")
+
+    with subtest("Can connect via cqlsh"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z cass0 9042")
+        cass0.succeed("echo 'show version;' | cqlsh cass0")
+
+    with subtest("Nodetool is operational"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass0'")
+
+    with subtest("Cluster name was set"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.wait_until_succeeds(
+            "nodetool describecluster -p ${jmxPortStr} | grep 'Name: ${clusterName}'"
+        )
+
+    with subtest("Heap limit set correctly"):
+        # Nodetool takes a while until it can display info
+        cass0.wait_until_succeeds("nodetool info -p ${jmxPortStr}")
+        cass0.succeed("${checkHeapLimitCommand}")
 
     # Check cluster interaction
-    subtest "Bring up cluster", sub {
-      $cass1->waitForUnit("cassandra.service");
-      $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
-      $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
-    };
+    with subtest("Bring up cluster"):
+        cass1.wait_for_unit("cassandra.service")
+        cass1.wait_until_succeeds(
+            "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'")
   '' + lib.optionalString testRemoteAuth ''
-    subtest "Remote authenticated jmx", sub {
-      # Doesn't work if not enabled
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass1->fail("nc -z 192.168.1.1 ${toString jmxPort}");
-      $cass1->fail("nodetool -p ${jmxPortS} -h 192.168.1.1 status");
+    with subtest("Remote authenticated jmx"):
+        # Doesn't work if not enabled
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass1.fail("nc -z 192.168.1.1 ${jmxPortStr}")
+        cass1.fail("nodetool -p ${jmxPortStr} -h 192.168.1.1 status")
 
-      # Works if enabled
-      $cass1->waitUntilSucceeds("nc -z localhost ${toString jmxPort}");
-      $cass0->succeed("nodetool -p ${jmxPortS} -h 192.168.1.2 ${jmxAuthArgs} status");
-    };
+        # Works if enabled
+        cass1.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.succeed("nodetool -p ${jmxPortStr} -h 192.168.1.2 ${jmxAuthArgs} status")
   '' + ''
-    subtest "Break and fix node", sub {
-      $cass1->block;
-      $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'");
-      $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN'  | grep 1");
-      $cass1->unblock;
-      $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN'  | grep 2");
-      $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN'  | grep 2");
-    };
-    subtest "Replace crashed node", sub {
-      $cass1->crash;
-      $cass2->waitForUnit("cassandra.service");
-      $cass0->waitUntilFails("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
-      $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass2'");
-    };
+    with subtest("Break and fix node"):
+        cass1.block()
+        cass0.wait_until_succeeds(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN'  | grep 1")
+        cass1.unblock()
+        cass1.wait_until_succeeds(
+            "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN'  | grep 2"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN'  | grep 2")
+
+    with subtest("Replace crashed node"):
+        cass1.block()  # .crash() waits until it's fully shutdown
+        cass2.start()
+        cass0.wait_until_fails(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'"
+        )
+
+        cass2.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass2'"
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/ceph-multi-node.nix b/nixpkgs/nixos/tests/ceph-multi-node.nix
new file mode 100644
index 000000000000..90dd747525de
--- /dev/null
+++ b/nixpkgs/nixos/tests/ceph-multi-node.nix
@@ -0,0 +1,233 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  cfg = {
+    clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03";
+    monA = {
+      name = "a";
+      ip = "192.168.1.1";
+    };
+    osd0 = {
+      name = "0";
+      ip = "192.168.1.2";
+      key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==";
+      uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9";
+    };
+    osd1 = {
+      name = "1";
+      ip = "192.168.1.3";
+      key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==";
+      uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5";
+    };
+    osd2 = {
+      name = "2";
+      ip = "192.168.1.4";
+      key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w==";
+      uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f";
+    };
+  };
+  generateCephConfig = { daemonConfig }: {
+    enable = true;
+    global = {
+      fsid = cfg.clusterId;
+      monHost = cfg.monA.ip;
+      monInitialMembers = cfg.monA.name;
+    };
+  } // daemonConfig;
+
+  generateHost = { pkgs, cephConfig, networkConfig, ... }: {
+    virtualisation = {
+      memorySize = 512;
+      emptyDiskImages = [ 20480 ];
+      vlans = [ 1 ];
+    };
+
+    networking = networkConfig;
+
+    environment.systemPackages = with pkgs; [
+      bash
+      sudo
+      ceph
+      xfsprogs
+      netcat-openbsd
+    ];
+
+    boot.kernelModules = [ "xfs" ];
+
+    services.ceph = cephConfig;
+  };
+
+  networkMonA = {
+    dhcpcd.enable = false;
+    interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+      { address = cfg.monA.ip; prefixLength = 24; }
+    ];
+    firewall = {
+      allowedTCPPorts = [ 6789 3300 ];
+      allowedTCPPortRanges = [ { from = 6800; to = 7300; } ];
+    };
+  };
+  cephConfigMonA = generateCephConfig { daemonConfig = {
+    mon = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+    mgr = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+  }; };
+
+  networkOsd = osd: {
+    dhcpcd.enable = false;
+    interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+      { address = osd.ip; prefixLength = 24; }
+    ];
+    firewall = {
+      allowedTCPPortRanges = [ { from = 6800; to = 7300; } ];
+    };
+  };
+
+  cephConfigOsd = osd: generateCephConfig { daemonConfig = {
+    osd = {
+      enable = true;
+      daemons = [ osd.name ];
+    };
+  }; };
+
+  # Following deployment is based on the manual deployment described here:
+  # https://docs.ceph.com/docs/master/install/manual-deployment/
+  # For other ways to deploy a ceph cluster, look at the documentation at
+  # https://docs.ceph.com/docs/master/
+  testscript = { ... }: ''
+    start_all()
+
+    monA.wait_for_unit("network.target")
+    osd0.wait_for_unit("network.target")
+    osd1.wait_for_unit("network.target")
+    osd2.wait_for_unit("network.target")
+
+    # Bootstrap ceph-mon daemon
+    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'")
+
+    # Start the ceph-mgr daemon, it has no deps and hardly any setup
+    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.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")
+    osd2.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph")
+
+    # Bootstrap OSDs
+    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 -',
+    )
+    osd2.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd2.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}",
+        'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -',
+    )
+
+    # Initialize the OSDs with regular filestore
+    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}",
+    )
+    osd2.succeed(
+        "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd2.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 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()
+    osd2.crash()
+
+    # Start it up
+    osd0.start()
+    osd1.start()
+    osd2.start()
+    monA.start()
+
+    # Ensure the cluster comes back up again
+    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 '3 osds: 3 up[^,]*, 3 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";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lejonet ];
+  };
+
+  nodes = {
+    monA = generateHost { pkgs = pkgs; cephConfig = cephConfigMonA; networkConfig = networkMonA; };
+    osd0 = generateHost { pkgs = pkgs; cephConfig = cephConfigOsd cfg.osd0; networkConfig = networkOsd cfg.osd0; };
+    osd1 = generateHost { pkgs = pkgs; cephConfig = cephConfigOsd cfg.osd1; networkConfig = networkOsd cfg.osd1; };
+    osd2 = generateHost { pkgs = pkgs; cephConfig = cephConfigOsd cfg.osd2; networkConfig = networkOsd cfg.osd2; };
+  };
+
+  testScript = testscript;
+})
diff --git a/nixpkgs/nixos/tests/ceph-single-node.nix b/nixpkgs/nixos/tests/ceph-single-node.nix
new file mode 100644
index 000000000000..1a027e178367
--- /dev/null
+++ b/nixpkgs/nixos/tests/ceph-single-node.nix
@@ -0,0 +1,196 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  cfg = {
+    clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03";
+    monA = {
+      name = "a";
+      ip = "192.168.1.1";
+    };
+    osd0 = {
+      name = "0";
+      key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==";
+      uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9";
+    };
+    osd1 = {
+      name = "1";
+      key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==";
+      uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5";
+    };
+    osd2 = {
+      name = "2";
+      key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w==";
+      uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f";
+    };
+  };
+  generateCephConfig = { daemonConfig }: {
+    enable = true;
+    global = {
+      fsid = cfg.clusterId;
+      monHost = cfg.monA.ip;
+      monInitialMembers = cfg.monA.name;
+    };
+  } // daemonConfig;
+
+  generateHost = { pkgs, cephConfig, networkConfig, ... }: {
+    virtualisation = {
+      memorySize = 512;
+      emptyDiskImages = [ 20480 20480 20480 ];
+      vlans = [ 1 ];
+    };
+
+    networking = networkConfig;
+
+    environment.systemPackages = with pkgs; [
+      bash
+      sudo
+      ceph
+      xfsprogs
+    ];
+
+    boot.kernelModules = [ "xfs" ];
+
+    services.ceph = cephConfig;
+  };
+
+  networkMonA = {
+    dhcpcd.enable = false;
+    interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+      { address = cfg.monA.ip; prefixLength = 24; }
+    ];
+  };
+  cephConfigMonA = generateCephConfig { daemonConfig = {
+    mon = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+    mgr = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+    osd = {
+      enable = true;
+      daemons = [ cfg.osd0.name cfg.osd1.name cfg.osd2.name ];
+    };
+  }; };
+
+  # Following deployment is based on the manual deployment described here:
+  # https://docs.ceph.com/docs/master/install/manual-deployment/
+  # For other ways to deploy a ceph cluster, look at the documentation at
+  # https://docs.ceph.com/docs/master/
+  testscript = { ... }: ''
+    start_all()
+
+    monA.wait_for_unit("network.target")
+
+    # Bootstrap ceph-mon daemon
+    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'")
+
+    # Start the ceph-mgr daemon, after copying in the keyring
+    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 OSDs
+    monA.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkfs.xfs /dev/vdc",
+        "mkfs.xfs /dev/vdd",
+        "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}",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}",
+        "mount /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.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}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.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 -',
+        'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -',
+    )
+
+    # Initialize the OSDs with regular filestore
+    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}",
+        "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+        "systemctl start ceph-osd-${cfg.osd2.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 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.succeed("systemctl stop ceph.target")
+
+    # Start it up
+    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}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd2.name}")
+
+    # Ensure the cluster comes back up again
+    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 '3 osds: 3 up[^,]*, 3 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";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lejonet johanot ];
+  };
+
+  nodes = {
+    monA = generateHost { pkgs = pkgs; cephConfig = cephConfigMonA; networkConfig = networkMonA; };
+  };
+
+  testScript = testscript;
+})
diff --git a/nixpkgs/nixos/tests/ceph.nix b/nixpkgs/nixos/tests/ceph.nix
deleted file mode 100644
index 57120ff978f7..000000000000
--- a/nixpkgs/nixos/tests/ceph.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-import ./make-test.nix ({pkgs, lib, ...}: {
-  name = "All-in-one-basic-ceph-cluster";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ johanot lejonet ];
-  };
-
-  nodes = {
-    aio = { pkgs, ... }: {
-      virtualisation = {
-        memorySize = 1536;
-        emptyDiskImages = [ 20480 20480 ];
-        vlans = [ 1 ];
-      };
-
-      networking = {
-        useDHCP = false;
-        interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
-          { address = "192.168.1.1"; prefixLength = 24; }
-        ];
-      };
-
-      environment.systemPackages = with pkgs; [
-        bash
-        sudo
-        ceph
-        xfsprogs
-      ];
-
-      boot.kernelModules = [ "xfs" ];
-
-      services.ceph.enable = true;
-      services.ceph.global = {
-        fsid = "066ae264-2a5d-4729-8001-6ad265f50b03";
-        monInitialMembers = "aio";
-        monHost = "192.168.1.1";
-      };
-
-      services.ceph.mon = {
-        enable = true;
-        daemons = [ "aio" ];
-      };
-
-      services.ceph.mgr = {
-        enable = true;
-        daemons = [ "aio" ];
-      };
-
-      services.ceph.osd = {
-        enable = true;
-        daemons = [ "0" "1" ];
-      };
-
-      # So that we don't have to battle systemd when bootstraping
-      systemd.targets.ceph.wantedBy = lib.mkForce [];
-    };
-  };
-
-  testScript = { ... }: ''
-    startAll;
-
-    $aio->waitForUnit("network.target");
-
-    # Create the ceph-related directories
-    $aio->mustSucceed(
-      "mkdir -p /var/lib/ceph/mgr/ceph-aio",
-      "mkdir -p /var/lib/ceph/mon/ceph-aio",
-      "mkdir -p /var/lib/ceph/osd/ceph-{0,1}",
-      "chown ceph:ceph -R /var/lib/ceph/",
-      "mkdir -p /etc/ceph",
-      "chown ceph:ceph -R /etc/ceph"
-    );
-
-    # Bootstrap ceph-mon daemon
-    $aio->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 aio 192.168.1.1 --fsid 066ae264-2a5d-4729-8001-6ad265f50b03 /tmp/monmap",
-      "sudo -u ceph ceph-mon --mkfs -i aio --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
-      "sudo -u ceph touch /var/lib/ceph/mon/ceph-aio/done",
-      "systemctl start ceph-mon-aio"
-    );
-    $aio->waitForUnit("ceph-mon-aio");
-    $aio->mustSucceed("ceph mon enable-msgr2");
-
-    # Can't check ceph status until a mon is up
-    $aio->succeed("ceph -s | grep 'mon: 1 daemons'");
-
-    # Start the ceph-mgr daemon, it has no deps and hardly any setup
-    $aio->mustSucceed(
-      "ceph auth get-or-create mgr.aio mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-aio/keyring",
-      "systemctl start ceph-mgr-aio"
-    );
-    $aio->waitForUnit("ceph-mgr-aio");
-    $aio->waitUntilSucceeds("ceph -s | grep 'quorum aio'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'mgr: aio(active,'");
-
-    # Bootstrap both OSDs
-    $aio->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mkfs.xfs /dev/vdc",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-0",
-      "mount /dev/vdc /var/lib/ceph/osd/ceph-1",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-0/keyring --name osd.0 --add-key AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-1/keyring --name osd.1 --add-key AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==",
-      "echo '{\"cephx_secret\": \"AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==\"}' | ceph osd new 55ba2294-3e24-478f-bee0-9dca4c231dd9 -i -",
-      "echo '{\"cephx_secret\": \"AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==\"}' | ceph osd new 5e97a838-85b6-43b0-8950-cb56d554d1e5 -i -"
-    );
-
-    # Initialize the OSDs with regular filestore
-    $aio->mustSucceed(
-      "ceph-osd -i 0 --mkfs --osd-uuid 55ba2294-3e24-478f-bee0-9dca4c231dd9",
-      "ceph-osd -i 1 --mkfs --osd-uuid 5e97a838-85b6-43b0-8950-cb56d554d1e5",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-0",
-      "systemctl start ceph-osd-1"
-    );
-
-    $aio->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'mgr: aio(active,'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-
-    $aio->mustSucceed(
-      "ceph osd pool create aio-test 100 100",
-      "ceph osd pool ls | grep 'aio-test'",
-      "ceph osd pool rename aio-test aio-other-test",
-      "ceph osd pool ls | grep 'aio-other-test'",
-      "ceph -s | grep '1 pools, 100 pgs'",
-      "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 aio-other-test size 2"
-    );
-    $aio->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-    $aio->waitUntilSucceeds("ceph -s | grep '100 active+clean'");
-    $aio->mustFail(
-      "ceph osd pool ls | grep 'aio-test'",
-      "ceph osd pool delete aio-other-test aio-other-test --yes-i-really-really-mean-it"
-    );
-
-    # As we disable the target in the config, we still want to test that it works as intended
-    $aio->mustSucceed(
-      "systemctl stop ceph-osd-0",
-      "systemctl stop ceph-osd-1",
-      "systemctl stop ceph-mgr-aio",
-      "systemctl stop ceph-mon-aio"
-    );
-    $aio->succeed("systemctl start ceph.target");
-    $aio->waitForUnit("ceph-mon-aio");
-    $aio->waitForUnit("ceph-mgr-aio");
-    $aio->waitForUnit("ceph-osd-0");
-    $aio->waitForUnit("ceph-osd-1");
-    $aio->succeed("ceph -s | grep 'mon: 1 daemons'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'quorum aio'");
-    $aio->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'mgr: aio(active,'");
-    $aio->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/certmgr.nix b/nixpkgs/nixos/tests/certmgr.nix
index fe67833808ce..cb69f35e862f 100644
--- a/nixpkgs/nixos/tests/certmgr.nix
+++ b/nixpkgs/nixos/tests/certmgr.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 let
   mkSpec = { host, service ? null, action }: {
     inherit action;
@@ -123,17 +123,17 @@ in
       )));
     };
     testScript = ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-ca.pem');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-key.pem');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-cert.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-ca.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-key.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-cert.pem');
-      $machine->waitForUnit('nginx.service');
-      $machine->succeed('[ "1" -lt "$(journalctl -u nginx | grep "Starting Nginx" | wc -l)" ]');
-      $machine->succeed('curl --cacert /tmp/imp.example.org-ca.pem https://imp.example.org');
-      $machine->succeed('curl --cacert /tmp/decl.example.org-ca.pem https://decl.example.org');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-ca.pem")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-key.pem")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-cert.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-ca.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-key.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-cert.pem")
+      machine.wait_for_unit("nginx.service")
+      assert 1 < int(machine.succeed('journalctl -u nginx | grep "Starting Nginx" | wc -l'))
+      machine.succeed("curl --cacert /tmp/imp.example.org-ca.pem https://imp.example.org")
+      machine.succeed("curl --cacert /tmp/decl.example.org-ca.pem https://decl.example.org")
     '';
   };
 
@@ -143,8 +143,8 @@ in
       test = mkSpec { host = "command.example.org"; action = "touch /tmp/command.executed"; };
     };
     testScript = ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('stat /tmp/command.executed');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("stat /tmp/command.executed")
     '';
   };
 
diff --git a/nixpkgs/nixos/tests/cfssl.nix b/nixpkgs/nixos/tests/cfssl.nix
index 513ed8c45741..e291fc285fba 100644
--- a/nixpkgs/nixos/tests/cfssl.nix
+++ b/nixpkgs/nixos/tests/cfssl.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "cfssl";
 
   machine = { config, lib, pkgs, ... }:
@@ -60,8 +60,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     });
   in
     ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('${cfsslrequest}');
-      $machine->succeed('ls /tmp/certificate-key.pem');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("${cfsslrequest}")
+      machine.succeed("ls /tmp/certificate-key.pem")
     '';
 })
diff --git a/nixpkgs/nixos/tests/chromium.nix b/nixpkgs/nixos/tests/chromium.nix
index af5db2a3dbe1..a5531d112e3c 100644
--- a/nixpkgs/nixos/tests/chromium.nix
+++ b/nixpkgs/nixos/tests/chromium.nix
@@ -36,7 +36,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
     <body onload="javascript:document.title='startup done'">
       <img src="file://${pkgs.fetchurl {
         url = "http://nixos.org/logo/nixos-hex.svg";
-        sha256 = "0wxpp65npdw2cg8m0cxc9qff1sb3b478cxpg1741d8951g948rg8";
+        sha256 = "07ymq6nw8kc22m7kzxjxldhiq8gzmc7f45kq2bvhbdm0w5s112s4";
       }}" />
     </body>
     </html>
diff --git a/nixpkgs/nixos/tests/cjdns.nix b/nixpkgs/nixos/tests/cjdns.nix
index 6660eecf05b9..d72236d415d4 100644
--- a/nixpkgs/nixos/tests/cjdns.nix
+++ b/nixpkgs/nixos/tests/cjdns.nix
@@ -17,7 +17,7 @@ let
 
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "cjdns";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ehmry ];
@@ -83,36 +83,39 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
+      import re
 
-      $alice->waitForUnit("cjdns.service");
-      $bob->waitForUnit("cjdns.service");
-      $carol->waitForUnit("cjdns.service");
+      start_all()
 
-      sub cjdnsIp {
-          my ($machine) = @_;
-          my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev tun0"))[3];
-          $machine->log("has ip $ip");
-          return $ip;
-      }
+      alice.wait_for_unit("cjdns.service")
+      bob.wait_for_unit("cjdns.service")
+      carol.wait_for_unit("cjdns.service")
 
-      my $aliceIp6 = cjdnsIp $alice;
-      my $bobIp6   = cjdnsIp $bob;
-      my $carolIp6 = cjdnsIp $carol;
+
+      def cjdns_ip(machine):
+          res = machine.succeed("ip -o -6 addr show dev tun0")
+          ip = re.split("\s+|/", res)[3]
+          machine.log("has ip {}".format(ip))
+          return ip
+
+
+      alice_ip6 = cjdns_ip(alice)
+      bob_ip6 = cjdns_ip(bob)
+      carol_ip6 = cjdns_ip(carol)
 
       # ping a few times each to let the routing table establish itself
 
-      $alice->succeed("ping -c 4 $carolIp6");
-      $bob->succeed("ping -c 4 $carolIp6");
+      alice.succeed("ping -c 4 {}".format(carol_ip6))
+      bob.succeed("ping -c 4 {}".format(carol_ip6))
 
-      $carol->succeed("ping -c 4 $aliceIp6");
-      $carol->succeed("ping -c 4 $bobIp6");
+      carol.succeed("ping -c 4 {}".format(alice_ip6))
+      carol.succeed("ping -c 4 {}".format(bob_ip6))
 
-      $alice->succeed("ping -c 4 $bobIp6");
-      $bob->succeed("ping -c 4 $aliceIp6");
+      alice.succeed("ping -c 4 {}".format(bob_ip6))
+      bob.succeed("ping -c 4 {}".format(alice_ip6))
 
-      $alice->waitForUnit("httpd.service");
+      alice.wait_for_unit("httpd.service")
 
-      $bob->succeed("curl --fail -g http://[$aliceIp6]");
+      bob.succeed("curl --fail -g http://[{}]".format(alice_ip6))
     '';
 })
diff --git a/nixpkgs/nixos/tests/clickhouse.nix b/nixpkgs/nixos/tests/clickhouse.nix
index 7d835069ec4d..2d8a7cf7aa9f 100644
--- a/nixpkgs/nixos/tests/clickhouse.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/cloud-init.nix b/nixpkgs/nixos/tests/cloud-init.nix
index 516d29c9036b..aafa6e24e84a 100644
--- a/nixpkgs/nixos/tests/cloud-init.nix
+++ b/nixpkgs/nixos/tests/cloud-init.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -30,6 +30,7 @@ let
       '';
   };
 in makeTest {
+  name = "cloud-init";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ lewo ];
   };
@@ -40,10 +41,12 @@ in makeTest {
       services.cloud-init.enable = true;
     };
   testScript = ''
-     $machine->start;
-     $machine->waitForUnit("cloud-init.service");
-     $machine->succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'");
+      machine.start()
+      machine.wait_for_unit("cloud-init.service")
+      machine.succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'")
 
-     $machine->waitUntilSucceeds("cat /root/.ssh/authorized_keys | grep -q 'should be a key!'");
+      machine.wait_until_succeeds(
+          "cat /root/.ssh/authorized_keys | grep -q 'should be a key!'"
+      )
   '';
 }
diff --git a/nixpkgs/nixos/tests/codimd.nix b/nixpkgs/nixos/tests/codimd.nix
index 562f6f24f999..b1acbf4a8322 100644
--- a/nixpkgs/nixos/tests/codimd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/colord.nix b/nixpkgs/nixos/tests/colord.nix
deleted file mode 100644
index ce38aaca4bf2..000000000000
--- a/nixpkgs/nixos/tests/colord.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "colord";
-
-  meta = {
-    maintainers = pkgs.colord.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.colord.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/common/letsencrypt/common.nix b/nixpkgs/nixos/tests/common/letsencrypt/common.nix
index 798a749f7f9b..c530de817bf2 100644
--- a/nixpkgs/nixos/tests/common/letsencrypt/common.nix
+++ b/nixpkgs/nixos/tests/common/letsencrypt/common.nix
@@ -1,27 +1,9 @@
-{ lib, nodes, ... }: {
+{ lib, nodes, pkgs, ... }: let
+  letsencrypt-ca = nodes.letsencrypt.config.test-support.letsencrypt.caCert;
+in {
   networking.nameservers = [
     nodes.letsencrypt.config.networking.primaryIPAddress
   ];
 
-  nixpkgs.overlays = lib.singleton (self: super: {
-    cacert = super.cacert.overrideDerivation (drv: {
-      installPhase = (drv.installPhase or "") + ''
-        cat "${nodes.letsencrypt.config.test-support.letsencrypt.caCert}" \
-          >> "$out/etc/ssl/certs/ca-bundle.crt"
-      '';
-    });
-
-    # Override certifi so that it accepts fake certificate for Let's Encrypt
-    # Need to override the attribute used by simp_le, which is python3Packages
-    python3Packages = (super.python3.override {
-      packageOverrides = lib.const (pysuper: {
-        certifi = pysuper.certifi.overridePythonAttrs (attrs: {
-          postPatch = (attrs.postPatch or "") + ''
-            cat "${self.cacert}/etc/ssl/certs/ca-bundle.crt" \
-              > certifi/cacert.pem
-          '';
-        });
-      });
-    }).pkgs;
-  });
+  security.pki.certificateFiles = [ letsencrypt-ca ];
 }
diff --git a/nixpkgs/nixos/tests/common/letsencrypt/default.nix b/nixpkgs/nixos/tests/common/letsencrypt/default.nix
index 58d87c64e344..110a2520971d 100644
--- a/nixpkgs/nixos/tests/common/letsencrypt/default.nix
+++ b/nixpkgs/nixos/tests/common/letsencrypt/default.nix
@@ -1,6 +1,3 @@
-# Fully pluggable module to have Letsencrypt's Boulder ACME service running in
-# a test environment.
-#
 # The certificate for the ACME service is exported as:
 #
 #   config.test-support.letsencrypt.caCert
@@ -54,277 +51,35 @@
 # that it has to be started _before_ the ACME service.
 { config, pkgs, lib, ... }:
 
-let
-  softhsm = pkgs.stdenv.mkDerivation rec {
-    pname = "softhsm";
-    version = "1.3.8";
-
-    src = pkgs.fetchurl {
-      url = "https://dist.opendnssec.org/source/${pname}-${version}.tar.gz";
-      sha256 = "0flmnpkgp65ym7w3qyg78d3fbmvq3aznmi66rgd420n33shf7aif";
-    };
-
-    configureFlags = [ "--with-botan=${pkgs.botan}" ];
-    buildInputs = [ pkgs.sqlite ];
-  };
-
-  pkcs11-proxy = pkgs.stdenv.mkDerivation {
-    name = "pkcs11-proxy";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "SUNET";
-      repo = "pkcs11-proxy";
-      rev = "944684f78bca0c8da6cabe3fa273fed3db44a890";
-      sha256 = "1nxgd29y9wmifm11pjcdpd2y293p0dgi0x5ycis55miy97n0f5zy";
-    };
-
-    postPatch = "patchShebangs mksyscalls.sh";
-
-    nativeBuildInputs = [ pkgs.cmake ];
-    buildInputs = [ pkgs.openssl pkgs.libseccomp ];
-  };
-
-  mkGoDep = { goPackagePath, url ? "https://${goPackagePath}", rev, sha256 }: {
-    inherit goPackagePath;
-    src = pkgs.fetchgit { inherit url rev sha256; };
-  };
-
-  goose = let
-    owner = "liamstask";
-    repo = "goose";
-    rev = "8488cc47d90c8a502b1c41a462a6d9cc8ee0a895";
-    version = "20150116";
-
-  in pkgs.buildGoPackage rec {
-    name = "${repo}-${version}";
-
-    src = pkgs.fetchFromBitbucket {
-      name = "${name}-src";
-      inherit rev owner repo;
-      sha256 = "1jy0pscxjnxjdg3hj111w21g8079rq9ah2ix5ycxxhbbi3f0wdhs";
-    };
-
-    goPackagePath = "bitbucket.org/${owner}/${repo}";
-    subPackages = [ "cmd/goose" ];
-    extraSrcs = map mkGoDep [
-      { goPackagePath = "github.com/go-sql-driver/mysql";
-        rev = "2e00b5cd70399450106cec6431c2e2ce3cae5034";
-        sha256 = "085g48jq9hzmlcxg122n0c4pi41sc1nn2qpx1vrl2jfa8crsppa5";
-      }
-      { goPackagePath = "github.com/kylelemons/go-gypsy";
-        rev = "08cad365cd28a7fba23bb1e57aa43c5e18ad8bb8";
-        sha256 = "1djv7nii3hy451n5jlslk0dblqzb1hia1cbqpdwhnps1g8hqjy8q";
-      }
-      { goPackagePath = "github.com/lib/pq";
-        rev = "ba5d4f7a35561e22fbdf7a39aa0070f4d460cfc0";
-        sha256 = "1mfbqw9g00bk24bfmf53wri5c2wqmgl0qh4sh1qv2da13a7cwwg3";
-      }
-      { goPackagePath = "github.com/mattn/go-sqlite3";
-        rev = "2acfafad5870400156f6fceb12852c281cbba4d5";
-        sha256 = "1rpgil3w4hh1cibidskv1js898hwz83ps06gh0hm3mym7ki8d5h7";
-      }
-      { goPackagePath = "github.com/ziutek/mymysql";
-        rev = "0582bcf675f52c0c2045c027fd135bd726048f45";
-        sha256 = "0bkc9x8sgqbzgdimsmsnhb0qrzlzfv33fgajmmjxl4hcb21qz3rf";
-      }
-      { goPackagePath = "golang.org/x/net";
-        url = "https://go.googlesource.com/net";
-        rev = "10c134ea0df15f7e34d789338c7a2d76cc7a3ab9";
-        sha256 = "14cbr2shl08gyg85n5gj7nbjhrhhgrd52h073qd14j97qcxsakcz";
-      }
-    ];
-  };
-
-  boulder = let
-    owner = "letsencrypt";
-    repo = "boulder";
-    rev = "9c6a1f2adc4c26d925588f5ae366cfd4efb7813a";
-    version = "20180129";
-
-  in pkgs.buildGoPackage rec {
-    name = "${repo}-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      name = "${name}-src";
-      inherit rev owner repo;
-      sha256 = "09kszswrifm9rc6idfaq0p1mz5w21as2qbc8gd5pphrq9cf9pn55";
-    };
-
-    postPatch = ''
-      # compat for go < 1.8
-      sed -i -e 's/time\.Until(\([^)]\+\))/\1.Sub(time.Now())/' \
-        test/ocsp/helper/helper.go
-
-      find test -type f -exec sed -i -e '/libpkcs11-proxy.so/ {
-        s,/usr/local,${pkcs11-proxy},
-      }' {} +
-
-      sed -i -r \
-        -e '/^def +install/a \    return True' \
-        -e 's,exec \./bin/,,' \
-        test/startservers.py
-
-      cat ${lib.escapeShellArg snakeOilCerts.ca.key} > test/test-ca.key
-      cat ${lib.escapeShellArg snakeOilCerts.ca.cert} > test/test-ca.pem
-    '';
-
-    # Until vendored pkcs11 is go 1.9 compatible
-    preBuild = ''
-      rm -r go/src/github.com/letsencrypt/boulder/vendor/github.com/miekg/pkcs11
-    '';
-
-    # XXX: Temporarily brought back putting the source code in the output,
-    # since e95f17e2720e67e2eabd59d7754c814d3e27a0b2 was removing that from
-    # buildGoPackage.
-    preInstall = ''
-      mkdir -p $out
-      pushd "$NIX_BUILD_TOP/go"
-      while read f; do
-        echo "$f" | grep -q '^./\(src\|pkg/[^/]*\)/${goPackagePath}' \
-          || continue
-        mkdir -p "$(dirname "$out/share/go/$f")"
-        cp "$NIX_BUILD_TOP/go/$f" "$out/share/go/$f"
-      done < <(find . -type f)
-      popd
-    '';
-
-    extraSrcs = map mkGoDep [
-      { goPackagePath = "github.com/miekg/pkcs11";
-        rev           = "6dbd569b952ec150d1425722dbbe80f2c6193f83";
-        sha256        = "1m8g6fx7df6hf6q6zsbyw1icjmm52dmsx28rgb0h930wagvngfwb";
-      }
-    ];
-
-    goPackagePath = "github.com/${owner}/${repo}";
-    buildInputs = [ pkgs.libtool ];
-  };
-
-  boulderSource = "${boulder.out}/share/go/src/${boulder.goPackagePath}";
-
-  softHsmConf = pkgs.writeText "softhsm.conf" ''
-    0:/var/lib/softhsm/slot0.db
-    1:/var/lib/softhsm/slot1.db
-  '';
 
+let
   snakeOilCerts = import ./snakeoil-certs.nix;
 
-  wfeDomain = "acme-v01.api.letsencrypt.org";
+  wfeDomain = "acme-v02.api.letsencrypt.org";
   wfeCertFile = snakeOilCerts.${wfeDomain}.cert;
   wfeKeyFile = snakeOilCerts.${wfeDomain}.key;
 
   siteDomain = "letsencrypt.org";
   siteCertFile = snakeOilCerts.${siteDomain}.cert;
   siteKeyFile = snakeOilCerts.${siteDomain}.key;
-
-  # Retrieved via:
-  # curl -s -I https://acme-v01.api.letsencrypt.org/terms \
-  #   | sed -ne 's/^[Ll]ocation: *//p'
-  tosUrl = "https://letsencrypt.org/documents/2017.11.15-LE-SA-v1.2.pdf";
-  tosPath = builtins.head (builtins.match "https?://[^/]+(.*)" tosUrl);
-
-  tosFile = pkgs.fetchurl {
-    url = tosUrl;
-    sha256 = "0yvyckqzj0b1xi61sypcha82nanizzlm8yqy828h2jbza7cxi26c";
-  };
-
+  pebble = pkgs.pebble;
   resolver = let
     message = "You need to define a resolver for the letsencrypt test module.";
     firstNS = lib.head config.networking.nameservers;
   in if config.networking.nameservers == [] then throw message else firstNS;
 
-  cfgDir = pkgs.stdenv.mkDerivation {
-    name = "boulder-config";
-    src = "${boulderSource}/test/config";
-    nativeBuildInputs = [ pkgs.jq ];
-    phases = [ "unpackPhase" "patchPhase" "installPhase" ];
-    postPatch = ''
-      sed -i -e 's/5002/80/' -e 's/5002/443/' va.json
-      sed -i -e '/listenAddress/s/:4000/:80/' wfe.json
-      sed -i -r \
-        -e ${lib.escapeShellArg "s,http://boulder:4000/terms/v1,${tosUrl},g"} \
-        -e 's,http://(boulder|127\.0\.0\.1):4000,https://${wfeDomain},g' \
-        -e '/dnsResolver/s/127\.0\.0\.1:8053/${resolver}:53/' \
-        *.json
-      if grep 4000 *.json; then exit 1; fi
-
-      # Change all ports from 1909X to 909X, because the 1909X range of ports is
-      # allocated by startservers.py in order to intercept gRPC communication.
-      sed -i -e 's/\<1\(909[0-9]\)\>/\1/' *.json
-
-      # Patch out all additional issuer certs
-      jq '. + {ca: (.ca + {Issuers:
-        [.ca.Issuers[] | select(.CertFile == "test/test-ca.pem")]
-      })}' ca.json > tmp
-      mv tmp ca.json
-    '';
-    installPhase = "cp -r . \"$out\"";
-  };
-
-  components = {
-    gsb-test-srv.args = "-apikey my-voice-is-my-passport";
-    gsb-test-srv.waitForPort = 6000;
-    gsb-test-srv.first = true;
-    boulder-sa.args = "--config ${cfgDir}/sa.json";
-    boulder-wfe.args = "--config ${cfgDir}/wfe.json";
-    boulder-ra.args = "--config ${cfgDir}/ra.json";
-    boulder-ca.args = "--config ${cfgDir}/ca.json";
-    boulder-va.args = "--config ${cfgDir}/va.json";
-    boulder-publisher.args = "--config ${cfgDir}/publisher.json";
-    boulder-publisher.waitForPort = 9091;
-    ocsp-updater.args = "--config ${cfgDir}/ocsp-updater.json";
-    ocsp-updater.after = [ "boulder-publisher" ];
-    ocsp-responder.args = "--config ${cfgDir}/ocsp-responder.json";
-    ct-test-srv = {};
-    mail-test-srv.args = let
-      key = "${boulderSource}/test/mail-test-srv/minica-key.pem";
-      crt = "${boulderSource}/test/mail-test-srv/minica.pem";
-     in
-      "--closeFirst 5 --cert ${crt} --key ${key}";
+  pebbleConf.pebble = {
+    listenAddress = "0.0.0.0:443";
+    managementListenAddress = "0.0.0.0:15000";
+    certificate = snakeOilCerts.${wfeDomain}.cert;
+    privateKey = snakeOilCerts.${wfeDomain}.key;
+    httpPort = 80;
+    tlsPort = 443;
+    ocspResponderURL = "http://0.0.0.0:4002";
   };
 
-  commonPath = [ softhsm pkgs.mariadb goose boulder ];
-
-  mkServices = a: b: with lib; listToAttrs (concatLists (mapAttrsToList a b));
-
-  componentServices = mkServices (name: attrs: let
-    mkSrvName = n: "boulder-${n}.service";
-    firsts = lib.filterAttrs (lib.const (c: c.first or false)) components;
-    firstServices = map mkSrvName (lib.attrNames firsts);
-    firstServicesNoSelf = lib.remove "boulder-${name}.service" firstServices;
-    additionalAfter = firstServicesNoSelf ++ map mkSrvName (attrs.after or []);
-    needsPort = attrs ? waitForPort;
-    inits = map (n: "boulder-init-${n}.service") [ "mysql" "softhsm" ];
-    portWaiter = {
-      name = "boulder-${name}";
-      value = {
-        description = "Wait For Port ${toString attrs.waitForPort} (${name})";
-        after = [ "boulder-real-${name}.service" "bind.service" ];
-        requires = [ "boulder-real-${name}.service" ];
-        requiredBy = [ "boulder.service" ];
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
-        script = let
-          netcat = "${pkgs.libressl.nc}/bin/nc";
-          portCheck = "${netcat} -z 127.0.0.1 ${toString attrs.waitForPort}";
-        in "while ! ${portCheck}; do :; done";
-      };
-    };
-  in lib.optional needsPort portWaiter ++ lib.singleton {
-    name = if needsPort then "boulder-real-${name}" else "boulder-${name}";
-    value = {
-      description = "Boulder ACME Component (${name})";
-      after = inits ++ additionalAfter;
-      requires = inits;
-      requiredBy = [ "boulder.service" ];
-      path = commonPath;
-      environment.GORACE = "halt_on_error=1";
-      environment.SOFTHSM_CONF = softHsmConf;
-      environment.PKCS11_PROXY_SOCKET = "tcp://127.0.0.1:5657";
-      serviceConfig.WorkingDirectory = boulderSource;
-      serviceConfig.ExecStart = "${boulder}/bin/${name} ${attrs.args or ""}";
-      serviceConfig.Restart = "on-failure";
-    };
-  }) components;
+  pebbleConfFile = pkgs.writeText "pebble.conf" (builtins.toJSON pebbleConf);
+  pebbleDataDir = "/root/pebble";
 
 in {
   imports = [ ../resolver.nix ];
@@ -352,94 +107,29 @@ in {
     networking.firewall.enable = false;
 
     networking.extraHosts = ''
-      127.0.0.1 ${toString [
-        "sa.boulder" "ra.boulder" "wfe.boulder" "ca.boulder" "va.boulder"
-        "publisher.boulder" "ocsp-updater.boulder" "admin-revoker.boulder"
-        "boulder" "boulder-mysql" wfeDomain
-      ]}
+      127.0.0.1 ${wfeDomain}
       ${config.networking.primaryIPAddress} ${wfeDomain} ${siteDomain}
     '';
 
-    services.mysql.enable = true;
-    services.mysql.package = pkgs.mariadb;
-
-    services.nginx.enable = true;
-    services.nginx.recommendedProxySettings = true;
-    # This fixes the test on i686
-    services.nginx.commonHttpConfig = ''
-      server_names_hash_bucket_size 64;
-    '';
-    services.nginx.virtualHosts.${wfeDomain} = {
-      onlySSL = true;
-      enableACME = false;
-      sslCertificate = wfeCertFile;
-      sslCertificateKey = wfeKeyFile;
-      locations."/".proxyPass = "http://127.0.0.1:80";
-    };
-    services.nginx.virtualHosts.${siteDomain} = {
-      onlySSL = true;
-      enableACME = false;
-      sslCertificate = siteCertFile;
-      sslCertificateKey = siteKeyFile;
-      locations."= ${tosPath}".alias = tosFile;
-    };
-
     systemd.services = {
-      pkcs11-daemon = {
-        description = "PKCS11 Daemon";
-        after = [ "boulder-init-softhsm.service" ];
-        before = map (n: "${n}.service") (lib.attrNames componentServices);
-        wantedBy = [ "multi-user.target" ];
-        environment.SOFTHSM_CONF = softHsmConf;
-        environment.PKCS11_DAEMON_SOCKET = "tcp://127.0.0.1:5657";
-        serviceConfig.ExecStart = let
-          softhsmLib = "${softhsm}/lib/softhsm/libsofthsm.so";
-        in "${pkcs11-proxy}/bin/pkcs11-daemon ${softhsmLib}";
-      };
-
-      boulder-init-mysql = {
-        description = "Boulder ACME Init (MySQL)";
-        after = [ "mysql.service" ];
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
-        serviceConfig.WorkingDirectory = boulderSource;
-        path = commonPath;
-        script = "${pkgs.bash}/bin/sh test/create_db.sh";
-      };
-
-      boulder-init-softhsm = {
-        description = "Boulder ACME Init (SoftHSM)";
-        environment.SOFTHSM_CONF = softHsmConf;
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
-        serviceConfig.WorkingDirectory = boulderSource;
-        preStart = "mkdir -p /var/lib/softhsm";
-        path = commonPath;
+      pebble = {
+        enable = true;
+        description = "Pebble ACME server";
+        requires = [ ];
+        wantedBy = [ "network.target" ];
+        preStart = ''
+          mkdir ${pebbleDataDir}
+        '';
         script = ''
-          softhsm --slot 0 --init-token \
-            --label intermediate --pin 5678 --so-pin 1234
-          softhsm --slot 0 --import test/test-ca.key \
-            --label intermediate_key --pin 5678 --id FB
-          softhsm --slot 1 --init-token \
-            --label root --pin 5678 --so-pin 1234
-          softhsm --slot 1 --import test/test-root.key \
-            --label root_key --pin 5678 --id FA
+          cd ${pebbleDataDir}
+          ${pebble}/bin/pebble -config ${pebbleConfFile}
         '';
+        serviceConfig = {
+          # Required to bind on privileged ports.
+          User = "root";
+          Group = "root";
+        };
       };
-
-      boulder = {
-        description = "Boulder ACME Server";
-        after = map (n: "${n}.service") (lib.attrNames componentServices);
-        wantedBy = [ "multi-user.target" ];
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
-        script = let
-          ports = lib.range 8000 8005 ++ lib.singleton 80;
-          netcat = "${pkgs.libressl.nc}/bin/nc";
-          mkPortCheck = port: "${netcat} -z 127.0.0.1 ${toString port}";
-          checks = "(${lib.concatMapStringsSep " && " mkPortCheck ports})";
-        in "while ! ${checks}; do :; done";
-      };
-    } // componentServices;
+    };
   };
 }
diff --git a/nixpkgs/nixos/tests/common/letsencrypt/mkcerts.nix b/nixpkgs/nixos/tests/common/letsencrypt/mkcerts.nix
index 3b4a589e4142..e7ac2bae46bd 100644
--- a/nixpkgs/nixos/tests/common/letsencrypt/mkcerts.nix
+++ b/nixpkgs/nixos/tests/common/letsencrypt/mkcerts.nix
@@ -1,7 +1,7 @@
 { pkgs ? import <nixpkgs> {}
 , lib ? pkgs.lib
 
-, domains ? [ "acme-v01.api.letsencrypt.org" "letsencrypt.org" ]
+, domains ? [ "acme-v02.api.letsencrypt.org" "letsencrypt.org" ]
 }:
 
 pkgs.runCommand "letsencrypt-snakeoil-ca" {
diff --git a/nixpkgs/nixos/tests/common/letsencrypt/snakeoil-certs.nix b/nixpkgs/nixos/tests/common/letsencrypt/snakeoil-certs.nix
index c3d29ab8f163..ca4f71ae688a 100644
--- a/nixpkgs/nixos/tests/common/letsencrypt/snakeoil-certs.nix
+++ b/nixpkgs/nixos/tests/common/letsencrypt/snakeoil-certs.nix
@@ -2,252 +2,253 @@
 {
   ca.key = builtins.toFile "ca.key" ''
     -----BEGIN PRIVATE KEY-----
-    MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDfdVxC/4HwhuzD
-    9or9CDDu3TBQE5lirJI5KYmfMZtfgdzEjgOzmR9AVSkn2rQeCqzM5m+YCzPO+2y7
-    0Fdk7vDORi1OdhYfUQIW6/TZ27xEjx4t82j9i705yUqTJZKjMbD830geXImJ6VGj
-    Nv/WisTHmwBspWKefYQPN68ZvYNCn0d5rYJg9uROZPJHSI0MYj9iERWIPN+xhZoS
-    xN74ILJ0rEOQfx2GHDhTr99vZYAFqbAIfh35fYulRWarUSekI+rDxa83FD8q9cMg
-    OP84KkLep2dRXXTbUWErGUOpHP55M9M7ws0RVNdl9PUSbDgChl7yYlHCde3261q/
-    zGp5dMV/t/jXXNUgRurvXc4gUKKjS4Sffvg0XVnPs3sMlZ4JNmycK9klgISVmbTK
-    VcjRRJv8Bva2NQVsJ9TIryV0QEk94DucgsC3LbhQfQdmnWVcEdzwrZHNpk9az5mn
-    w42RuvZW9L19T7xpIrdLSHaOis4VEquZjkWIhfIz0DVMeXtYEQmwqFG23Ww0utcp
-    mCW4FPvpyYs5GAPmGWfrlMxsLD/7eteot3AheC+56ZBoVBnI8FFvIX2qci+gfVDu
-    CjvDmbyS/0NvxLGqvSC1GUPmWP3TR5Fb1H8Rp+39zJHRmH+qYWlhcv6p7FlY2/6d
-    9Rkw8WKRTSCB7yeUdNNPiPopk6N4NwIDAQABAoICAQCzV0ei5dntpvwjEp3eElLj
-    glYiDnjOPt5kTjgLsg6XCmyau7ewzrXMNgz/1YE1ky+4i0EI8AS2nAdafQ2HDlXp
-    11zJWfDLVYKtztYGe1qQU6TPEEo1I4/M7waRLliP7XO0n6cL5wzjyIQi0CNolprz
-    8CzZBasutGHmrLQ1nmnYcGk2+NBo7f2yBUaFe27of3mLRVbYrrKBkU5kveiNkABp
-    r0/SipKxbbivQbm7d+TVpqiHSGDaOa54CEksOcfs7n6efOvw8qj326KtG9GJzDE6
-    7XP4U19UHe40XuR0t7Zso/FmRyO6QzNUutJt5LjXHezZ75razTcdMyr0QCU8MUHH
-    jXZxQCsbt+9AmdxUMBm1SMNVBdHYM8oiNHynlgsEj9eM6jxDEss/Uc3FeKoHl+XL
-    L6m28guIB8NivqjVzZcwhxvdiQCzYxjyqMC+/eX7aaK4NIlX2QRMoDL6mJ58Bz/8
-    V2Qxp2UNVwKJFWAmpgXC+sq6XV/TP3HkOvd0OK82Nid2QxEvfE/EmOhU63qAjgUR
-    QnteLEcJ3MkGGurs05pYBDE7ejKVz6uu2tHahFMOv+yanGP2gfivnT9a323/nTqH
-    oR5ffMEI1u/ufpWU7sWXZfL/mH1L47x87k+9wwXHCPeSigcy+hFI7t1+rYsdCmz9
-    V6QtmxZHMLanwzh5R0ipcQKCAQEA8kuZIz9JyYP6L+5qmIUxiWESihVlRCSKIqLB
-    fJ5sQ06aDBV2sqS4XnoWsHuJWUd39rulks8cg8WIQu8oJwVkFI9EpARt/+a1fRP0
-    Ncc9qiBdP6VctQGgKfe5KyOfMzIBUl3zj2cAmU6q+CW1OgdhnEl4QhgBe5XQGquZ
-    Alrd2P2jhJbMO3sNFgzTy7xPEr3KqUy+L4gtRnGOegKIh8EllmsyMRO4eIrZV2z3
-    XI+S2ZLyUn3WHYkaJqvUFrbfekgBBmbk5Ead6ImlsLsBla6MolKrVYV1kN6KT+Y+
-    plcxNpWY8bnWfw5058OWPLPa9LPfReu9rxAeGT2ZLmAhSkjGxQKCAQEA7BkBzT3m
-    SIzop9RKl5VzYbVysCYDjFU9KYMW5kBIw5ghSMnRmU7kXIZUkc6C1L/v9cTNFFLw
-    ZSF4vCHLdYLmDysW2d4DU8fS4qdlDlco5A00g8T1FS7nD9CzdkVN/oix6ujw7RuI
-    7pE1K3JELUYFBc8AZ7mIGGbddeCwnM+NdPIlhWzk5s4x4/r31cdk0gzor0kE4e+d
-    5m0s1T4O/Iak6rc0MGDeTejZQg04p1eAJFYQ6OY23tJhH/kO8CMYnQ4fidfCkf8v
-    85v4EC1MCorFR7J65uSj8MiaL7LTXPvLAkgFls1c3ijQ2tJ8qXvqmfo0by33T1OF
-    ZGyaOP9/1WQSywKCAQB47m6CfyYO5EZNAgxGD8SHsuGT9dXTSwF/BAjacB/NAEA2
-    48eYpko3LWyBrUcCPn+LsGCVg7XRtxepgMBjqXcoI9G4o1VbsgTHZtwus0D91qV0
-    DM7WsPcFu1S6SU8+OCkcuTPFUT2lRvRiYj+vtNttK+ZP5rdmvYFermLyH/Q2R3ID
-    zVgmH+aKKODVASneSsgJ8/nAs5EVZbwc/YKzbx2Zk+s7P4KE95g+4G4dzrMW0RcN
-    QS1LFJDu2DhFFgU4fRO15Ek9/lj2JS2DpfLGiJY8tlI5nyDsq4YRFvQSBdbUTZpG
-    m+CJDegffSlRJtuT4ur/dQf5hmvfYTVBRk2XS/eZAoIBAB143a22PWnvFRfmO02C
-    3X1j/iYZCLZa6aCl+ZTSj4LDGdyRPPXrUDxwlFwDMHfIYfcHEyanV9T4Aa9SdKh9
-    p6RbF6YovbeWqS+b/9RzcupM77JHQuTbDwL9ZXmtGxhcDgGqBHFEz6ogPEfpIrOY
-    GwZnmcBY+7E4HgsZ+lII4rqng6GNP2HEeZvg91Eba+2AqQdAkTh3Bfn+xOr1rT8+
-    u5WFOyGS5g1JtN0280yIcrmWeNPp8Q2Nq4wnNgMqDmeEnNFDOsmo1l6NqMC0NtrW
-    CdxyXj82aXSkRgMQSqw/zk7BmNkDV8VvyOqX/fHWQynnfuYmEco4Pd2UZQgadOW5
-    cVMCggEBANGz1fC+QQaangUzsVNOJwg2+CsUFYlAKYA3pRKZPIyMob2CBXk3Oln/
-    YqOq6j373kG2AX74EZT07JFn28F27JF3r+zpyS/TYrfZyO1lz/5ZejPtDTmqBiVd
-    qa2coaPKwCOz64s77A9KSPyvpvyuTfRVa8UoArHcrQsPXMHgEhnFRsbxgmdP582A
-    kfYfoJBSse6dQtS9ZnREJtyWJlBNIBvsuKwzicuIgtE3oCBcIUZpEa6rBSN7Om2d
-    ex8ejCcS7qpHeULYspXbm5ZcwE4glKlQbJDTKaJ9mjiMdvuNFUZnv1BdMQ3Tb8zf
-    Gvfq54FbDuB10XP8JdLrsy9Z6GEsmoE=
+    MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDQ0b23I1srJZwR
+    2MMdvSJK5pcwLfrXU+4gEZEnWNyT8yeVweya+8vmNNOlvK3zxf+ZiY/7aQ0RZJMO
+    h2+VdlgHmr2QKhQTf1HwfZA/06FolD3/DcS+DMJMSTVr179/XLndeVVZUqU7tjvB
+    AWKSIS8H2hSF1UOPi9gBDR8MwCP6Qgj8WYhbkt9q47/lO96qAmm6U1F+Q7RYM9ZQ
+    IWI81N0Ms5wJocg7n6S19iV66ePh7APapZFYup61gFGWfahmA217ELIZd56n8yjO
+    F0epb9sC0XpYCDRrYKBWLqPiv+6wvdZtZvALItyIv08ZwXlBkFg3LbAAhPnf0Vxz
+    pYysQmyyyzkgy252n+Sie0kx+B4qm6fOkpfgYlPSVTb2dXx/be/SE08u0a9FO0fZ
+    pkByWEZJUUwngsJgLUa7MorQf3avxozfC25XqvzbieZfSXlA7mOUclZbC/WUFpyj
+    MlyJU2eCQ8wSwsPXl91oxcYlOkuVLgd41gr9pGXQSuKIkrgbfkftjg2tDC+7g7O8
+    qrdF42FjbZjIx/74AasmsGh4GTQtiSkvEnTstioC6aCV44DlJWbBIMvkyawubjUl
+    Ppij0H66Y9Q4tEc/ktc7oGQfqqluyLb43TeobTPHALsNeAYb39rMtBo5DDCUc81s
+    fuDMhMr/oYXKrFstUsg5AY6mJaRG0QIDAQABAoICAF5ZVfmoPOoKzTB3GvmV2iez
+    dj4rmDmwT1gn98iqasdiRtFwVGJWQHNcDQDGdmY9YNZThD2Y4nGoWpVm9jC2zuFo
+    thusF3QTw8cARKvCCBzDVhumce1YwHVNYpi+W2TFValOyBRathN7rBXxdUMHQUOv
+    8jPh/uudyNP4xL2zFs5dBchW/7g4bT/TdYGyglGYU4L/YEPHfXWYvk1oOAW6O8Ig
+    aPElKt5drEMW2yplATSzua4RvtEzSMBDIRn43pxxEgdXrNC67nF9+ULc2+Efi/oD
+    Ad9CncSiXO9zlVK/W655p6e4qd6uOqyCm8/MTegkuub7eplRe8D3zGjoNN4kCQ4S
+    rckVvIDDb6vZk7PKx9F7GWIqaG/YvFFFKO1MrAZg7SguFA6PtGOYAFocT03P6KXT
+    l2SnZQWKyxUAlh4tOBGlRFgGCx/krRIKbgNYn/qk/ezcRl8c7GpOPh+b7Icoq7u3
+    l4tIVBBHqS8uGgtyi+YwuJeht2MV1aEcSkykKLh2ipp8tb6spORJUkhjawDjvxeQ
+    GztN30Xh2riTXYZ0HExVTtJa8jyvFyp/97ptPIJXaVt2A2KIS3sBFHKnpY+/OrQg
+    uUauYgi13WFHsKOxZL9GYGk7Ujd8bw4CEcJFxKY7bhpGVI6Du7NRkUDWN0+0yusI
+    2szCJ7+ZqJkrc1+GrI/RAoIBAQDseAEggOLYZkpU2Pht15ZbxjM9ayT2ANq1+RTu
+    LjJx4gv2/o/XJCfMZCL0b9TJqtYeH+N6G9oDRJ99VIhUPedhWSYdj9Qj+rPd++TS
+    bp+MoSjmfUfxLTDrmFHL7ppquAE65aDy3B5c+OCb0I4X6CILUf0LynBzgl4kdrzN
+    U6BG3Mt0RiGPojlPV82B9ZUF/09YAz7BIz9X3KMhze1Gps5OeGuUnc9O2IAJYkrj
+    ur9H2YlNS4w+IjRLAXSXUqC8bqPZp6WTo1G/rlyAkIRXCGN90uk5JQvXoj9immFO
+    WaylbdcNG3YcGutreYeZL/UIWF6zCdc6pYG0cCBJS6S/RN7FAoIBAQDiERrLuUbV
+    3fx/a8uMeZop6hXtQpF7jlFxqUmza7QSvBuwks4QVJF+qMSiSvKDkCKqZD4qVf4N
+    TMxEj5vNR0PbnmDshyKJNGVjEauKJSb65CFDUcL1eR/A/oJvxiIdN1Z4cPrpnRux
+    /zIfPuYfYHpdz52buxxmlD7bfwYmVKVpnzjB9z0I1CasZ5uqB0Z8H0OLyUu8S4ju
+    RfkKBDMgVl2q96i8ZvX4C1b7XuimIUqv4WHq5+ejcYirgrYtUbBIaDU3/LORcJdy
+    /K76L1/up70RTDUYYm/HKaRy+vMTpUsZJ7Qbh0hrvQkUvNQ1HXjprW2AePIYi33N
+    h3mb1ulqw4idAoIBAQCsn0YjVjNDShkFK4bfmLv4rw2Ezoyi0SjYIsb2wN6uaBfX
+    7SlQIuKywH8L9f9eYMoCH8FNyLs0G4paUbVb2fzpAc1jUzXINiHL8TCvtXXfkV5s
+    NBSqqRTHR+CegMZVFZJATpVZ9PptYHmHBY5VQW5o2SdizhudFxRmhg95zIx6boBP
+    l0q0sfYoR66MKpzpTeG8HFJZZ8O7/iNQcCXAp9B/VEUkrrdBlaaSMyD8cb1lVBZ5
+    SKdOTGXkQ2G7feQ86n/OSiYDSvxIc56vc9BIQKVwmuEKiFLGzXh8ILrcGXaBJVgS
+    B3QHPFeTk5o7Z9j2iJxJEuv9sginkhrfpsrTnhEJAoIBACkrUkTtjd/e2F/gIqaH
+    crLVZX7a06G7rktTuA9LuvR6e1Rxt8Mzk3eMhprDqVyaQCXlsYiGNoj3hm+p84az
+    xsDVG/OXPIveFeSv0ByNXYbtSr12w1lu4ICGGP0ACTBm5oFymc83hFarEdas3r2y
+    FTbGW36D2c04jCXvARCz85fDnlN8kgnskMpu5+NUBdsO2n83fmphGyPBbHQNhb4K
+    3G4JQhplab/tWL7YbufqQi67jdh4uS+Duo75c/HW4ZKeH6r9gzomVf5j0/3N6NuO
+    gpkG1tiE/LQ5ejBSUTgvrvh6yYsF3QN53pB/PuoZXu63Xay62ePsa1GlrVjbD5EY
+    4OUCggEAJFr7F7AQLMJTAxHFLCsZZ0ZZ+tXYclBC4eHPkZ6sD5jvL3KIpW3Q7jXk
+    oIoD/XEX4B+Qe5M3jQJ/Y5ZJETHcgfcHZbDpCKN2WHQgldQbAJiFd4GY1OegdVsr
+    7TC8jh3Q2eYjzL8u4z7LSNI6aQSv1eWE7S1Q5j/sX/YYDR4W3CBMeIUpqoDWpn87
+    czbIRyA/4L0Y/HLpg/ZCbvtJZbsQwYXhyqfbjlm4BRQ6JiC5uEBKvuDRUXToBJta
+    JU8XMm+Ae5Ogrw7P6hg68dWpagfjb7UZ7Zxv+VDsbrU6KsDcyGCAwrrRZou/6KUG
+    Eq4OVTSu/s8gmY94tgbjeOaLUPEPmg==
     -----END PRIVATE KEY-----
   '';
   ca.cert = builtins.toFile "ca.cert" ''
     -----BEGIN CERTIFICATE-----
-    MIIFATCCAumgAwIBAgIJANydi4uFZr0LMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
-    BAMMC1NuYWtlb2lsIENBMCAXDTE4MDcxMjAwMjIxNloYDzIxMTgwNjE4MDAyMjE2
-    WjAWMRQwEgYDVQQDDAtTbmFrZW9pbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
-    ADCCAgoCggIBAN91XEL/gfCG7MP2iv0IMO7dMFATmWKskjkpiZ8xm1+B3MSOA7OZ
-    H0BVKSfatB4KrMzmb5gLM877bLvQV2Tu8M5GLU52Fh9RAhbr9NnbvESPHi3zaP2L
-    vTnJSpMlkqMxsPzfSB5ciYnpUaM2/9aKxMebAGylYp59hA83rxm9g0KfR3mtgmD2
-    5E5k8kdIjQxiP2IRFYg837GFmhLE3vggsnSsQ5B/HYYcOFOv329lgAWpsAh+Hfl9
-    i6VFZqtRJ6Qj6sPFrzcUPyr1wyA4/zgqQt6nZ1FddNtRYSsZQ6kc/nkz0zvCzRFU
-    12X09RJsOAKGXvJiUcJ17fbrWr/Manl0xX+3+Ndc1SBG6u9dziBQoqNLhJ9++DRd
-    Wc+zewyVngk2bJwr2SWAhJWZtMpVyNFEm/wG9rY1BWwn1MivJXRAST3gO5yCwLct
-    uFB9B2adZVwR3PCtkc2mT1rPmafDjZG69lb0vX1PvGkit0tIdo6KzhUSq5mORYiF
-    8jPQNUx5e1gRCbCoUbbdbDS61ymYJbgU++nJizkYA+YZZ+uUzGwsP/t616i3cCF4
-    L7npkGhUGcjwUW8hfapyL6B9UO4KO8OZvJL/Q2/Esaq9ILUZQ+ZY/dNHkVvUfxGn
-    7f3MkdGYf6phaWFy/qnsWVjb/p31GTDxYpFNIIHvJ5R000+I+imTo3g3AgMBAAGj
-    UDBOMB0GA1UdDgQWBBQ3vPWzjLmu5krbSpfhBAht9KL3czAfBgNVHSMEGDAWgBQ3
-    vPWzjLmu5krbSpfhBAht9KL3czAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA
-    A4ICAQDF9HyC1ZFN3Ob+JA9Dj5+Rcobi7JIA5F8uW3Q92LfPoVaUGEkBrwJSiTFX
-    47zvP/ySBJIpZ9rzHMbJ+1L+eJgczF1uQ91inthCKo1THTPo5TgBrpJj0YAIunsj
-    9eH1tBnfWFYdVIDZoTSiwPtgIvglpyuK/eJXEe+FRzubhtdc9w1Hlzox1sd0TQuy
-    Pl9KFHg7BlFZfCPig1mkB8pfwjBDgVhv5DKJ9cJXh3R5zSoiyuS2b+qYSvw8YTHq
-    0WNKWUthb7BVAYE3OmcbOHgUAUjtJ6EIGIB9z/SoLe90CofXLXFR5dppuVLKCMBA
-    kgL4luBIu7t8mcnN2yzobvcGHy8RVY6F5abCCy6gackLzjOzvH1SYOxP8yN74aKB
-    ANgcqdWspb8JYoU8lEbA8dhBVrsgBf7XeJlrZvMdcUENlJ2PI0JWr9WvlRAM9rYY
-    EY1alJqBCp6530Ggd6/f0V64cEqptejUdmN9L0zboxKjQf4LjpUNraGvg8tw/xkY
-    4dT1U2HlVnhOyBVkx/tE6zIK/RU16oMqwpjCdfbK/TuWCNc/emJz5PMlp81zm83+
-    dExpWwuV4rt6OQbZ/GSatNLJXOw+pkLjaEhnHgrsgI+HqAUXg3ByKol+1e76wN51
-    k1ZKpB6mk4kejySGPYBHiJwED0IyXu9gUfalSczXFO4ySAvhCg==
+    MIIFDzCCAvegAwIBAgIUU9rbCLTuvaI6gjSsFsJJjfLWIX8wDQYJKoZIhvcNAQEL
+    BQAwFjEUMBIGA1UEAwwLU25ha2VvaWwgQ0EwIBcNMTkxMDE4MDc1NDEyWhgPMjEx
+    OTA5MjQwNzU0MTJaMBYxFDASBgNVBAMMC1NuYWtlb2lsIENBMIICIjANBgkqhkiG
+    9w0BAQEFAAOCAg8AMIICCgKCAgEA0NG9tyNbKyWcEdjDHb0iSuaXMC3611PuIBGR
+    J1jck/MnlcHsmvvL5jTTpbyt88X/mYmP+2kNEWSTDodvlXZYB5q9kCoUE39R8H2Q
+    P9OhaJQ9/w3EvgzCTEk1a9e/f1y53XlVWVKlO7Y7wQFikiEvB9oUhdVDj4vYAQ0f
+    DMAj+kII/FmIW5LfauO/5TveqgJpulNRfkO0WDPWUCFiPNTdDLOcCaHIO5+ktfYl
+    eunj4ewD2qWRWLqetYBRln2oZgNtexCyGXeep/MozhdHqW/bAtF6WAg0a2CgVi6j
+    4r/usL3WbWbwCyLciL9PGcF5QZBYNy2wAIT539Fcc6WMrEJssss5IMtudp/kontJ
+    MfgeKpunzpKX4GJT0lU29nV8f23v0hNPLtGvRTtH2aZAclhGSVFMJ4LCYC1GuzKK
+    0H92r8aM3wtuV6r824nmX0l5QO5jlHJWWwv1lBacozJciVNngkPMEsLD15fdaMXG
+    JTpLlS4HeNYK/aRl0EriiJK4G35H7Y4NrQwvu4OzvKq3ReNhY22YyMf++AGrJrBo
+    eBk0LYkpLxJ07LYqAumgleOA5SVmwSDL5MmsLm41JT6Yo9B+umPUOLRHP5LXO6Bk
+    H6qpbsi2+N03qG0zxwC7DXgGG9/azLQaOQwwlHPNbH7gzITK/6GFyqxbLVLIOQGO
+    piWkRtECAwEAAaNTMFEwHQYDVR0OBBYEFAZcEiVphGxBT4OWXbM6lKu96dvbMB8G
+    A1UdIwQYMBaAFAZcEiVphGxBT4OWXbM6lKu96dvbMA8GA1UdEwEB/wQFMAMBAf8w
+    DQYJKoZIhvcNAQELBQADggIBAGJ5Jnxq1IQ++IRYxCE7r7BqzzF+HTx0EWKkSOmt
+    eSPqeOdhC26hJlclgGZXAF/Xosmn8vkSQMHhj/jr4HI0VF9IyvDUJm8AKsnOgu/7
+    DUey3lEUdOtJpTG9NyTOcrzxToMJ+hWlFLZKxx2dk4FLIvTLjmo1VHM97Bat7XYW
+    IrL9RRIZ25V+eCYtlR7XYjceGFQ0rCdp8SFIQwC6C/AH2tV3b1AJFsND9PcoLu7c
+    //fH+WUQCcD/N0grdC/QCX7AFWzd4rKQ8gjfND4TSYFTSDwW10Mud4kAVhY2P1sY
+    Y3ZpnxWrCHbIZMbszlbMyD+cjsCBnNvOtYGm7pDut/371rllVcB/uOWYWMCtKPoj
+    0elPrwNMrK+P+wceNBCRQO+9gwzB589F2morFTtsob/qtpAygW8Sfl8M+iLWXeYS
+    c3LBLnj0TpgXKRWg7wgIWKSZx9v6pgy70U0qvkjNS1XseUCPf7hfAbxT3xF+37Dw
+    zZRwF4WAWqdnJoOey21mgc+a2DQzqtykA6KfHgCqNFfDbQXPXvNy25DDThbk+paX
+    G2M2EWtr+Nv9s/zm7Xv/pOXlgMFavaj+ikqZ4wfJf6c/sMOdZJtMA4TsYtAJgbc8
+    ts+0eymTq4v5S8/fW51Lbjw6hc1Kcm8k7NbHSi9sEjBfxFLTZNQ5eb4NGr9Od3sU
+    kgwJ
     -----END CERTIFICATE-----
   '';
-  "acme-v01.api.letsencrypt.org".key = builtins.toFile "acme-v01.api.letsencrypt.org.key" ''
+  "acme-v02.api.letsencrypt.org".key = builtins.toFile "acme-v02.api.letsencrypt.org.key" ''
     -----BEGIN RSA PRIVATE KEY-----
-    MIIJKQIBAAKCAgEAvG+sL4q0VkgSClBTn4NkPiUrtXx5oLyZ+CCM1jrQx/xotUt5
-    X2S4/7vMnAK/yRLsR7R2PhXO8CZPqJ7B6OfAgaDTgvipJkZYPZQSMP3KOinM3WJL
-    ssqKh7/HOxZIf0iyUXewrnX5eTAo/CLsUnhBjBD7E99nmQz/leLWSl82sSYDkO3n
-    Uk3/1qJZA8iddb4uH0IEQWcNKev3WoQQzwiVrXBiftlRQOJy5JJXm5m8229MCpMA
-    1AUWmpdu6sl3/gFFdsDhUFq/a7LFrVyaUCMRIHg9szAB7ZFkixr9umQs8jKwuo98
-    3JHB11h2SirwgfIzHHmyhaWhCt22ucTwEXGhq63LtrzZvLsfP8Ql5S+AuqGTH0v8
-    meuc784leAjulBZjkpuIFwDnVv9+YeUEbqJeo1hSHrILddora3nkH4E2dJWmLpqp
-    iPr++GRi+BNgYKW/BQLTJ7C6v+vUs+kdPgYJH5z7oP6f0YZkT0Wkubp/UEz7UV2d
-    fjz57d77DYx5rFWGYzJriWR/xltgL1zDpjwjwG1FDpRqwlyYbBFpjQhxI+X0aT98
-    m6fCzBDQHDb/+JgvsjTHh6OZatahFAwzFIEfrceDv1BG8sBWIaZGhLzYiWQxafl8
-    oXbWv1T6I1jpsTlCdCSkWzaJb4ZjxI9Ga1ynVu8F16+GR2a71wKWu7UbZQsCAwEA
-    AQKCAgBYvrs4FLoD3KNqahRIDqhaQEVKjtn1Yn2dBy9tAXwsg2qI34fE7nnWLwsY
-    +o56U0gmKQ57BOhV36Uqg8JNP0BBjI2wpA19simCrsa2fgAMznzmUpHWHV+KuT5K
-    TJ9OGt2oUpdKQtOASLc0r/neiTZNkf29iTyQLzf7zj4f/qGSYpXRXsnP0F5KJmGH
-    z6agujWckQnSB4eCk9gFsCb+akubyE8K8Kw8w6lajrVl2czBB7SnUj5UnCTeH62k
-    M8goP08Is6QppON8BFDm6bLfRPSe9yIPzu9JhGz2unp+mwkz872Zz1P9yUOieM4U
-    9g4ZFQkPQx1ZpfynUm3pJZ/uhzadBabnIvMe/1qwDAEDifh/WzEM76/2kBpQkHtS
-    qcjwjAElfWnP8aBr1Pj42/cVJy3dbDqb0OawFHx/8xSO2CkY4Gq2h3OYv1XpPv3g
-    S9qqKhvuaT+aD0YjKhP4FYc2vvQSJwdZL8vqOyma8JGmc+r7jakIPCyOx3oPVqnS
-    L2P7DuJ1FcGIZyYOU3UUSzKndDU9fVC8YoLWvHDlwm4RK9UPtdsBY8mEu6BlaAwL
-    zEQG+fbcFnEkHPiJeAohYUCHiqCihLt0pqGwZi+QrudPQE6C47YijGZWJu4VVLjB
-    B2L9iDQKsN4FnBJ9egJIwWBLX3XXQfjC43UGm1A5sBvD+ScsCQKCAQEA7GxU7/SW
-    4YJ+wBXrp7Z3vzlc5mTT5U4L2muWZLhIjT/jmpHpZ4c9a5DY/K9OYcu8XJ+7kx2B
-    N40cU3ZkT2ZbB5/BUCEmi3Wzy3R/KZshHDzvvSZHcXJqVBtv+HGJgR5ssFqAw8c6
-    gJtDls+JE9Sz+nhLk0ZZ4658vbTQfG1lmtzrbC3Kz2xK8RPTdOU5Or7fayeaEKEW
-    ECBJPE41ME2UTdB/E85vyYoee0MBijjAs19QKqvoNbyrsZ5bihcIDYsrvjCmkdW1
-    20IUrSF3ZYJ9bb+CxHeRyNqwvRxPYSkzdMjZHx+xEAvJgw51QqmIi2QQf/qB+ych
-    cSbE/0Jhx4QbDQKCAQEAzAoenEOgmZvUegFUu8C6gWeibMjl3Y9SikQ4CoQO/zWr
-    aoCr5BpbzbtOffwnPfgk9wCGvXf6smOdrLUP1K2QAhBr/vJh7ih2MonvpYr5HPP7
-    maVARR66IgtxXP2ER2I9+9p2OQdecGRP2fUn2KCDQIASHSSY/VjBb8LLJgryC/DS
-    r2b0+m1e2qXfNWt/BYTQZhD/8B/jl/2pl/jI2ne3rkeiwEm7lqZaDt3Q8gC+qoP5
-    /IdG1Gob7UTMCbICWy1aGuzRYUmbpg0Vq4DAV1RtgBySB5oNq5PMBHYpOxedM2nM
-    NxHvf0u6wsxVULwQ4IfWUqUTspjxDmIgogSzmOGadwKCAQEA558if4tynjBImUtg
-    egirvG4oc5doeQhDWJN63eYlPizPgUleD41RQSbBTp04/1qoiV38WJ7ZT2Ex1Rry
-    H0+58vgyXZx8tLh1kufpBQv0HkQc44SzDZP4U7olspMZEaSK+yNPb36p9AEo8IEW
-    XJVQVhywffK4cfUqRHj2oFBU8KlrA6rBPQFtUk4IJkfED6ecHtDHgW8vvFDFLw23
-    0kDPAIU5WmAu6JYmUsBMq+v57kF8urF8Z9kVpIfuSpVR0GL+UfA74DgtWEefFhbp
-    cEutMm4jYPN7ofmOmVc49Yl13f4/qNxVjdDedUUe4FZTbax09cyotzOY8c/3w9R3
-    Ew57qQKCAQAa5jqi30eM+L5KV2KUXhQ4ezEupk2np/15vQSmXkKb4rd2kwAWUmNH
-    /Cmc8mE6CjzVU3xv/iFO41MmMbikkT0rCH80XUAL5cmvX//4ExpEduX0m5SdiC+B
-    zYBkggeuYYVKbsKnQhFxP8hHM8rNBFxJZJj+vpRs0gaudT/TBB5k9JrSBQDHAyQ+
-    Lx/+Ku3UDG5tBlC3l3ypzQdOwb25D49nqooKT64rbkLxMs0ZGoAIet26LRtpZZPI
-    9AjyPkWRP6lhY1c3PD0I5zC0K4Uv/jFxclLOLcEfnZyH+gv1fmd7H7eMixDH93Pn
-    uoiE3EZdU4st2hV+tisRel5S/cuvnA6BAoIBAQDJISK8H0hwYp+J4/WUv/WLtrm4
-    Mhmn8ItdEPAyCljycU6oLHJy4fgmmfRHeoO1i3jb87ks2GghegFBbJNzugfoGxIM
-    dLWIV+uFXWs24fMJ/J6lqN1JtAj7HjvqkXp061X+MdIJ0DsACygzFfJOjv+Ij77Q
-    Q1OBTSPfb0EWFNOuIJr9i2TwdN9eW/2ZMo1bPuwe4ttPEIBssfIC02dn2KD1RTqM
-    1l+L97vVFk7CoSJZf5rLeysLVyUeGdDcoEcRA6fKhfB/55h+iqrZNvySX1HrR6on
-    PQcxDRPJD7f9rMsTzVl3DOxzvXAU3lIcZtPZps97IwXceAAh2e1kZNNv/cxj
+    MIIJKQIBAAKCAgEApny0WhfDwEXe6WDTCw8qBuMAPDr88pj6kbhQWfzAW2c0TggJ
+    Etjs9dktENeTpSl14nnLVMiSYIJPYY3KbOIFQH1qDaOuQ7NaOhj9CdMTm5r9bl+C
+    YAyqLIMQ9AAZDhUcQjOy3moiL7ClFHlkFYuEzZBO9DF7hJpfUFIs0Idg50mNoZh/
+    K/fb4P2skNjfCjjomTRUmZHxT6G00ImSTtSaYbN/WHut1xXwJvOoT1nlEA/PghKm
+    JJ9ZuRMSddUJmjL+sT09L8LVkK8CKeHi4r58DHM0D0u8owIFV9qsXd5UvZHaNgvQ
+    4OAWGukMX+TxRuqkUZkaj84vnNL+ttEMl4jedw0ImzNtCOYehDyTPRkfng5PLWMS
+    vWbwyP8jDd2578mSbx5BF7ypYX366+vknjIFyZ5WezcC1pscIHxLoEwuhuf+knN+
+    kFkLOHeYbqQrU6mxSnu9q0hnNvGUkTP0a/1aLOGRfQ5C/pxpE/Rebi8qfM/OJFd4
+    mSxGL93JUTXWAItiIeBnQpIne65/Ska9dWynOEfIb0okdet3kfmNHz3zc17dZ5g4
+    AdOSCgHAlQgFt/Qd8W6xXUe4C5Mfv2ctxRrfQhDwtB6rMByPwzImnciC2h3vCwD3
+    vS/vjUyWICyhZyi2LZDUQz+sCKBXCYYcYh8ThFO40j5x1OnYMq7XQvyl8QkCAwEA
+    AQKCAgBSAfdssWwRF9m3p6QNPIj9H3AMOxpB/azffqTFzsSJwYp4LWkayZPfffy+
+    4RGvN38D8e6ActP3ifjEGu3tOGBR5fUJhujeHEiDea+a2Ug9S9kuNwmnelWQ23bM
+    Wgf9cdSbn4+qEymHyEFolmsAWdsuzri1fHJVXR06GWBNz4GiLA8B3HY4GD1M1Gfe
+    aZVkGagpXyeVBdiR2xuP5VQWVI8/NQWzdiipW/sRlNABVkyI3uDeN4VzYLL3gTeE
+    p021kQz4DSxIjHZacHpmWwhBnIbKMy0fo7TlrqcnIWXqTwv63Q9Zs/RN8NOyqb0Y
+    t1NKFWafcwUsdOnrG9uv/cVwF1FNE8puydaOi8rL1zAeK89JH8NRQ02wohR9w8qy
+    b2tB6DyGMtuqBt8Il6GA16ZoEuaXeayvlsvDEmG1cS9ZwBvfgrVPAmlm2AYdIf5B
+    RHIJu4BJC6Nn2ehVLqxx1QDhog3SOnAsCmcfg5g/fCwxcVMLIhODFoiKYGeMitDG
+    Q4e5JKcOg+RR8PT/n4eY4rUDBGtsR+Nw8S2DWgXmSufyfDtKCjZB4IuLWPS29tNh
+    zF6iYfoiTWzrSs/yqPSKIFpv+PWZwkKSvjdxia6lSBYYEON4W2QICEtiEs+SvcG4
+    0eIqWM+rRmPnJyMfGqX6GCs3rHDQB2VNJPBCYPQalJ/KwZumAQKCAQEA0ezM6qPJ
+    1JM/fddgeQ50h0T9TRXVUTCISxXza+l4NuFt1NdqUOdHsGtbL1JR4GaQUG8qD1/P
+    R39YgnQEQimxpmYLCZkobkwPxTZm9oiMXpcJrlN4PB5evaWShRSv3mgigpt3Wzml
+    Td+2R9RoA/hvF/wEyIvaWznYOyugBC7GXs20dNnZDULhUapeQu7r6JvgmxBOby7S
+    0FbhGplBiSDETzZURqzH/GMJKaJtNgyyVf3Hbg4mZAQDWoBRr+8HxsNbDkxP6e91
+    QrPHy2VZFiaTmJfoxRhyMTn7/JZaLJaUHDOniOsdMj/V7vMCgpfBqh5vR8bKzuPy
+    ZINggpcFPp1IYQKCAQEAywc7AQoktMBCru/3vzBqUveXbR3RKzNyZCTH5CMm3UNH
+    zmblFgqF2nxzNil21GqAXzSwZk5FyHbkeD3yvEZm+bXzsZTDNokAwoiTgyrr2tf8
+    GLMlCHHl5euIh1xHuyg/oKajVGOoXUXK8piqiDpQKd3Zwc6u2oyQlh+gYTPKh+7i
+    ilipkYawoE6teb6JUGpvU+d27INgNhB2oDEXY3pG2PbV+wv229ykSZxh1sJUdDwT
+    a8eTg+3pCGXtOZiJoQTFwKUlD2WYTGqS4Gx6dIJco5k+ZikGNST1JGE64Jl4MZdI
+    rtyvpcYblh5Q14sJGvp4kWYS9tjEM8pA+4Z9th3JqQKCAQEAkidH0+UM1A9gmQCm
+    jiHeR39ky5Jz3f7oJT63J15479yrVxBTWNhtNQrJhXzOvGkr+JQsuF+ANMsYmFql
+    zFqy8KMC9D/JwmD6adeif+o5sHF/r/s1LsYGOAtao4TvnOzrefs7ciwERt+GTSQ4
+    9uq0jgJMYkPcVr9DKI8K7V6ThdW52dECKRVzQiRXVEp7vIsqKUuFECuNYrfaKWai
+    FhLWGkA9FKee5L0e1/naB1N3ph72Bk2btO6GVzAXr2HADEZe0umWiczJ2xLH+3go
+    Oh/JiufYi8ClYFh6dDVJutlrbOcZsV3gCegfzikqijmWABcIavSgpsJVNF2zh7gV
+    Uq62gQKCAQAdO2FHeQpn6/at8WceY/4rC/MFhvGC4tlpidIuCtGhsfo4wZ/iWImF
+    N73u4nF1jBAHpTJwyHxLrLKgjWrRqOFSutvniZ/BzmAJolh63kcvL0Hg3IpMePm8
+    7PivZJ3/WIAwxU1m7SJkq5PY8ho7mwnHvWWI/hU26l42/z68QBS9FawQd0uS5G2x
+    5yIbEU/8ABcfYYhB7XiA0EYEMo1HiWeB/ag5iTN13ILbBmUf4sL+KVgygH3A1RRk
+    XSiWzluij2lZn22ClgIjnoSfQ38uH0bvVzUgyG9YX4XcQxOTGwWvPjT82FGB8NAw
+    ARVqs14QQFfzt1qrp/I38rsAfBDFk+xhAoIBAQCEKNk/oJcy9t/jMIbLcn6z3aCc
+    Fn8GBPSXtFj0t6weN5lHof+cggw4owMFWQQyAXxo/K6NnKNydMPZ5qjtLsHNpbpQ
+    aT1Or0/1YR1bJ8Lo82B4QM++7F761GWQPvE/tyrfPkfkWl92ITIpmnlw4wycRlkq
+    9anI2fnj1nIZwixzE2peb6PcsZU2HOs9uZ5RRd9wia696I7IpNibs4O4J2WTm4va
+    +NeYif3V2g9qwgT0Va0c9/Jlg3b58R0vA8j/VCU5I0TyXpkB3Xapx+pvEdZ3viUL
+    mXZaVotmWjgBXGDtd2VQg2ZiAMXHn3RzXSgV4Z+A/XacRs75h9bNw0ZJYrz1
     -----END RSA PRIVATE KEY-----
   '';
-  "acme-v01.api.letsencrypt.org".cert = builtins.toFile "acme-v01.api.letsencrypt.org.cert" ''
+  "acme-v02.api.letsencrypt.org".cert = builtins.toFile "acme-v02.api.letsencrypt.org.cert" ''
     -----BEGIN CERTIFICATE-----
     MIIEtDCCApwCAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
-    IENBMCAXDTE4MDcxMjAwMjIxN1oYDzIxMTgwNjE4MDAyMjE3WjAnMSUwIwYDVQQD
-    DBxhY21lLXYwMS5hcGkubGV0c2VuY3J5cHQub3JnMIICIjANBgkqhkiG9w0BAQEF
-    AAOCAg8AMIICCgKCAgEAvG+sL4q0VkgSClBTn4NkPiUrtXx5oLyZ+CCM1jrQx/xo
-    tUt5X2S4/7vMnAK/yRLsR7R2PhXO8CZPqJ7B6OfAgaDTgvipJkZYPZQSMP3KOinM
-    3WJLssqKh7/HOxZIf0iyUXewrnX5eTAo/CLsUnhBjBD7E99nmQz/leLWSl82sSYD
-    kO3nUk3/1qJZA8iddb4uH0IEQWcNKev3WoQQzwiVrXBiftlRQOJy5JJXm5m8229M
-    CpMA1AUWmpdu6sl3/gFFdsDhUFq/a7LFrVyaUCMRIHg9szAB7ZFkixr9umQs8jKw
-    uo983JHB11h2SirwgfIzHHmyhaWhCt22ucTwEXGhq63LtrzZvLsfP8Ql5S+AuqGT
-    H0v8meuc784leAjulBZjkpuIFwDnVv9+YeUEbqJeo1hSHrILddora3nkH4E2dJWm
-    LpqpiPr++GRi+BNgYKW/BQLTJ7C6v+vUs+kdPgYJH5z7oP6f0YZkT0Wkubp/UEz7
-    UV2dfjz57d77DYx5rFWGYzJriWR/xltgL1zDpjwjwG1FDpRqwlyYbBFpjQhxI+X0
-    aT98m6fCzBDQHDb/+JgvsjTHh6OZatahFAwzFIEfrceDv1BG8sBWIaZGhLzYiWQx
-    afl8oXbWv1T6I1jpsTlCdCSkWzaJb4ZjxI9Ga1ynVu8F16+GR2a71wKWu7UbZQsC
-    AwEAATANBgkqhkiG9w0BAQsFAAOCAgEAzeGlFMz1Bo+bbpZDQ60HLdw7qDp3SPJi
-    x5LYG860yzbh9ghvyc59MIm5E6vB140LRJAs+Xo6VdVSTC4jUA2kI9k1BQsbZKds
-    XT0RqA7HkqcLS3t3JWFkkKbCshMGZTSZ//hpbaUG1qEAfUfmZw1lAxqSa0kqavbP
-    awf7k8qHbqcj7WORCdH7fjKAjntEQwIpl1GEkAdCSghOJz2/o9aWmiGZt27OM/sG
-    MLSrcmL3QBElCjOxg14P8rnsmZ+VEp6MO93otoJ4dJL7fN7vTIh5ThbS384at/4l
-    4KK/y7XctUzAtWzhnodjk/NSgrrGX2kseOGOWEM1sZc9xtinHH2tpOMqtLVOkgHD
-    Lul+TArqgqeoOdEM/9OL64kgOrO/JzxBq+egLUi4wgAul2wmtecKZK1dkwYZHeqW
-    74i55yeBp+TTomnPr0ZBns6xKFYldJVzC34OB+2YVDxe8y9XtWtuQOxFw0LQHhNb
-    zy5aBverWzZFwiIIjJoVHTQq848uKBJec0YILfMinS1Wjif4xqW/IMfi+GFS0oka
-    sKCGNE/8ur9u/Jm6cbto3f2dtV8/vkhiITQgwzM2jalyuVJ9jyPxG7EvbTvZORgw
-    pRvBRTd4/eE7I1L+UDe6x8EjR/MrqfF9FWVGOZo4vPTyNbrSWYBh6s9kYy56ds1l
-    IRxst1BXEfI=
+    IENBMCAXDTE5MTAxODA3NTQxM1oYDzIxMTkwOTI0MDc1NDEzWjAnMSUwIwYDVQQD
+    DBxhY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnMIICIjANBgkqhkiG9w0BAQEF
+    AAOCAg8AMIICCgKCAgEApny0WhfDwEXe6WDTCw8qBuMAPDr88pj6kbhQWfzAW2c0
+    TggJEtjs9dktENeTpSl14nnLVMiSYIJPYY3KbOIFQH1qDaOuQ7NaOhj9CdMTm5r9
+    bl+CYAyqLIMQ9AAZDhUcQjOy3moiL7ClFHlkFYuEzZBO9DF7hJpfUFIs0Idg50mN
+    oZh/K/fb4P2skNjfCjjomTRUmZHxT6G00ImSTtSaYbN/WHut1xXwJvOoT1nlEA/P
+    ghKmJJ9ZuRMSddUJmjL+sT09L8LVkK8CKeHi4r58DHM0D0u8owIFV9qsXd5UvZHa
+    NgvQ4OAWGukMX+TxRuqkUZkaj84vnNL+ttEMl4jedw0ImzNtCOYehDyTPRkfng5P
+    LWMSvWbwyP8jDd2578mSbx5BF7ypYX366+vknjIFyZ5WezcC1pscIHxLoEwuhuf+
+    knN+kFkLOHeYbqQrU6mxSnu9q0hnNvGUkTP0a/1aLOGRfQ5C/pxpE/Rebi8qfM/O
+    JFd4mSxGL93JUTXWAItiIeBnQpIne65/Ska9dWynOEfIb0okdet3kfmNHz3zc17d
+    Z5g4AdOSCgHAlQgFt/Qd8W6xXUe4C5Mfv2ctxRrfQhDwtB6rMByPwzImnciC2h3v
+    CwD3vS/vjUyWICyhZyi2LZDUQz+sCKBXCYYcYh8ThFO40j5x1OnYMq7XQvyl8QkC
+    AwEAATANBgkqhkiG9w0BAQsFAAOCAgEAkx0GLPuCvKSLTHxVLh5tP4jxSGG/zN37
+    PeZLu3QJTdRdRc8bgeOGXAVEVFbqOLTNTsuY1mvpiv2V6wxR6nns+PIHeLY/UOdc
+    mOreKPtMU2dWPp3ybec2Jwii6PhAXZJ26AKintmug1psMw7662crR3SCnn85/CvW
+    192vhr5gM1PqLBIlbsX0tAqxAwBe1YkxBb9vCq8NVghJlKme49xnwGULMTGs15MW
+    hIPx6sW93zwrGiTsDImH49ILGF+NcX1AgAq90nG0j/l5zhDgXGJglX+K1xP99X1R
+    de3I4uoufPa5q+Pjmhy7muL+o4Qt0D0Vm86RqqjTkNPsr7gAJtt66A7TJrYiIoKn
+    GTIBsgM6egeFLLYQsT0ap/59HJismO2Pjx4Jk/jHOkC8TJsXQNRq1Km76VMBnuc0
+    2CMoD9pb38GjUUH94D4hJK4Ls/gJMF3ftKUyR8Sr/LjE6qU6Yj+ZpeEQP4kW9ANq
+    Lv9KSNDQQpRTL4LwGLTGomksLTQEekge7/q4J2TQRZNYJ/mxnrBKRcv9EAMgBMXq
+    Q+7GHtKDv9tJVlMfG/MRD3CMuuSRiT3OVbvMMkFzsPkqxYAP1CqE/JGvh67TzKI+
+    MUfXKehA6TKuxrTVqCtoFIfGaqA9IWyoRTtugYq/xssB9ESeEYGeaM1A9Yueqz+h
+    KkBZO00jHSE=
     -----END CERTIFICATE-----
   '';
   "letsencrypt.org".key = builtins.toFile "letsencrypt.org.key" ''
     -----BEGIN RSA PRIVATE KEY-----
-    MIIJKAIBAAKCAgEAwPvhlwemgPi6919sSD7Pz6l6CRfU1G/fDc0AvsMN/nTmiGND
-    pqn9ef1CA+RtLtOuPc1LLyEovcfu75/V+6KSgO4k19E2CrFCFwjEOWDGF4DgclT3
-    751WGmFJgzPEfZfhbOrmQfQau86KxAtNZVp9FxcKbuLyQ/sNNxfNMB+7IHbVhwvz
-    VcndHpYZEP6kdnwvNLP22bouX5q3avxWStln01uZ0BfUm4XwxaUNIU7t0Dv56FK9
-    C9hW9AZae0do0BJBWRF7xSwLeDJqn9uZz+sX0X/tIaaSQSBuZySj0He5ZKzdUO0t
-    px2xTS2Brl3Y2BOJaOE98HubWvdKoslLt4X2rVrMxGa86SmFzcyDL1RSowcP/ruy
-    y555l7pepL5s4cmMgRBBXj5tXhqUTVOn5WO+JClLk+rtvtAT4rogJmMqEKmMw2t7
-    LNy1W9ri/378QG/i3AGaLIL/7GsPbuRO51Sdti4QMVe2zNFze72mzNmj1SXokWy7
-    +ZvjUMp55oEjRRsTPUZdNOEHJWy6Os2znuqL7ZpIHCxBG8FKnkCViXRJqAA8bzcE
-    hR+pLamLIOHlv4kdzJ6phHkSvK68qvbRReUmOjJgSupVBI9jhK+fHay/UWR4zfJQ
-    ed99H8ZOoiXlrLCVs+VPDynUUKrzF1nYyolNzi/NS4e4AbnfWgyC5JKRpjUCAwEA
-    AQKCAgB0fNYL+zM3MGxy+2d6KGf6GnuuV3NBlBGY3ACyJT0iNmAdPYXNaVi2tPeP
-    L+fz1xSa+3uBhEt6Wt/QRrO8g8JZDuawWvl69MpG6yS+2bpY35MbkExkl50sqULd
-    bncRtIb+3r+EWht099RtR8E9B6TwNhk3G8hO3pB4i+ZwQQcMLo7vSHhmdUYCu2mA
-    B6UwW/+GmYbMoARz8wj6DDzuS1LPksBCis/r3KqcMue9Dk6gXkOYR7ETIFBEVj1x
-    ooYS6qIFaHdEajS2JgCUY9LxXR/wdn6lzE0GANSDb+tt34bJzUp+Gdxvvo2SX4Ci
-    xsUokIpmA2gG7CW3gAPORSFuMu/VYZtvt+owNYlODXRPuGi/eLDknFRB/S4Nx0J0
-    WZZq5uTgJdQainyKYtDZALia5X4cc5I2hNetCorG9jNZIsSunbIAG+htx2FI3eqK
-    jwOUiHE8SCZ6YdXoDQjg2w+g8jeB23eqkPyzunpZphYiKay7VFeLwQEMC2a791ln
-    +MbHhhpRAc1uAoU2reB2fxKyaPlOfAWVMgUOGlgpVOuEVeMoc1CwjajaFztGG7fI
-    8EHNoyAftCdXnTaLZk2KZnnIDHHzFXR62TE1GJFD1fdI1pHAloCbgA4h+Dtwm1Uu
-    iAEEfvVU/E5wbtAzv6pY32+OKX5kyHAbM5/e918B8ZxmHG1J9QKCAQEA6FwxsRG3
-    526NnZak540yboht5kV12BNBChjmARv/XgZ7o1VsfwjaosErMvasUBcHDEYOC/oE
-    ZgPAyrMVsYm0xe/5FSIFLJVeYXTr0rmCNhVtBCHx3IS94BCXreNnz0qoEWnb5E09
-    Z1O42D0yGcLXklg6QaJfb7EdHh03F3dSVMHyDR3JlAQHRINeuP6LlQpbvRD3adH5
-    QWr2M3k+Stuq2OJdG7eUS1dreCxRShLuDjDhiZekdl/TB3LM0prOaWrKBrryN2g6
-    mjiasH6I5zRD3LQP5zg57Thb8afHqA4Fb85Frt6ltfFlPTIoxXZ5drVhmRWfXXnQ
-    POnj8T+w4zVjvwKCAQEA1J4ivyFkCL0JTSY3/PtwAQvBBj3GazzU6P+urWeH74Vh
-    WK17Ae40iOUHGyy80Db/fVY4VLQTpxvAeG91Gj5Nd/AucXJgOrisabcEz6N/xUs5
-    sjJNgXuNKTAgjYBu0bqLXxgZj43zT8JhA6KW7RuYU0PtHMRragz4RbK9NWDaVvJb
-    xSR5QoVLS00PerUa0SfupEYKCrlSTP6FOM5YNkCuSMt7X6/m9cR0WwVINKvUQBiT
-    ObrN+KeBmF9awpQQnQOq/GbCl3kf6VyPQqYFhdrWSg52w33c2tBVYrtHJpeXGcin
-    akw4KKcj4rdU2qxMuuRiD5paagshbLdGsYMTbSzjCwKCAQEAh89DGAyUIcfDLAWd
-    st0bSfGh0oJsw3NVg3JUFPfpRWqiny/Rr1pcd95RwoLc6h7bdrgHg8aJBZtR9ue/
-    WTp0l3CQdGKjBZD0TiAJqevViIjzZAP3Gn3XgPwRu4f75/Pp0eu+o2zl49vSYUk7
-    XEU+vIGm4y/leiHaM/y9c5DBZVrKgBIV/NZx7QCfv56/tMgOIK6m/YnFlw/OgP1v
-    hE9qR0PfSdD98x9QaDf290WjMFYvrL0eWjXd4S+fOcVTude55z8jTXE1N2i4OUpr
-    +D7bH0d7OBjr+pQDYXZAQyCW2ueEYRYvYu2Jz7/ehrOdgN25AsHZmMgXB1NpcFta
-    pyJQfwKCAQByoPMwworRH0GVg4Zp8RFYrwKZH9MK29gZ6kc9m/Sw0OND0PvhdZCD
-    QZ8MKpl9VDl4VHS4TgHOdWrWQ5kJ1g8kG6yeY0C4R/pEYHTKkWaAcucfSHl61qar
-    TxQt1dFpZz5evXqCZ9CG7tApCo5+NQNx2MxMVyVmHqn3wb66uYXdnHqXlet+Tqji
-    ZyByUpOrsfC6RjyBvZo+gnZGwxDR5xtPiczxML+/PvRQYk+kfgNHrzgoxqrnZT+8
-    a6ReBT/TtzeHLsu4qIfo44slLqcJnIstkBC9ouzgV7PBMCDTEKVZNFH2QDOCz2HM
-    iHTKFFyl4h1wNhKK24dguor1hyqBENMzAoIBAAQvQHwRWIVlfCMRI170Ls8AXB9Z
-    MMdZJ37bh6kmJpkV3+HB1ZkKwofHKR9h/3xLt5iYXzqT+/zA4EAsFFs1A93+tkzh
-    yPrN5iTSJicophZSlA4ObX1hMkgshvl7ZB1fRM5WyiszBOfm8W7eAxaK8nY2oAoP
-    tI7rioo6CFBNMCGbOl4gEX6YJ4OsVSm+efCRSDDw+3HW8H2YgqufBzAULk1Jcj5t
-    ZvraXpC5qZ92VtsH0cGA1ovNDAmoOV4AAvtZVpLQsXwaphad/Fbn/ItGrrluvvFC
-    HuldRzYtl/AQtoirK86LTY3aAmcwVFuiYvDQMzjzkJvVMmRCFZBcUIaz2oI=
+    MIIJKgIBAAKCAgEA9dpdPEyzD3/BBds7tA/51s+WmLFyWuFrq4yMd2R+vi5gvK7n
+    lLNVKhYgiTmK2Um+UEpGucJqZHcTSZA1Bz4S/8ND/AI9I6EmwvBinY5/PubxEALk
+    9YiDA+IzH8ZGFM8wXg7fMbbJAsyv+SHAtr2jmCsggrpuD5fgzs2p+F2q0+oVoeFw
+    MAOUdAf2jNtNLEj2Q6MiR5Xq+wFOcRtXlNlXWIX3NrmubO/xOpDNpsyjyYC5Ld+W
+    06MS5bTHSdv56AkUg2PugMChj15TOddEJIK8zPXFTlMYye9SKwjhNUZovfe4xXCa
+    Tj2nmzrcuMKLz+S3sKQeTWjiRcY3w4zTlAbhtGXDjXjhMObrHoWM8e3cTL4NJMvt
+    tNStXficxbeTbIiYu+7dtF0q+iWaZqexc6PdAaIpFZ0XSw+i5iLdQZmBwzY7NLlH
+    pQupfh6ze0qDUVZAMDubo4JKUTBzH6QTuhHx+uUm7Lc8YdNArn7o/vMZDQym1Eia
+    xKxZuCGaqFvq8ZK4nBVsHfcXbhF/XD2HMid3t7ImbREVu9qnc+En+acU/SJaaL3r
+    jMW6HLVMr6+vQrCzYkvLzKYpoUm9D1Kcn6d8Ofxl2iCaY9CkMr5/6J1p1wcTdcN7
+    IVQ/DFBeTDauyWbyZkO/lPoZoakWyXOx9S9tgClzhFmNgRkZv9wN+QguNDcCAwEA
+    AQKCAgEA0ndlacGfaJ1NeN39dmBW2XZMzdrassJXkjx34528gsLhPaXdyobbWXQn
+    1lHUc7+VlNaBRXUR73+gm1FAlDqnuRxIjuy7ukyzCh8PzSG3/PlnVPWlXCzJPAHh
+    EkqCpD3agirpF34LBsKDwxsKB2bBLft9kWxX3DGA2olmAKDvJQs4CaUcjX4DEHHg
+    tyTmJAsyByUYq3/D8a1koZ9ukpadF8NXpxm+ILQoJqLf6vM1I8N2w7atP/BStSLV
+    mH0gq2tajEB4ZPCDXmC5jsKiKz9gsXWUu0CX8AdYqE6pvRnRgQ8Ytq1265QMb+8s
+    FV82oXqDZkyZRFuNmX3fLyDX39kkTcVS37S56Gzk4EzDWE/u2RXCAPeWla2zUFYI
+    hg8X4ZAwbZRODtK2cZTuCZEILM/iKmtSgHC+aQhp18EUAefa7WGrRD4AvbTxH4VF
+    ek60bwISBk5Mhf39MwqIiQxGOFmfLsQReZvzH4jI5zfDXf/0yZ/1SdGeu6+Walt0
+    V81Ua/DB6zshHpeSP74HMuJHZ4DOQfcV/ndyzvoP84pAjenSx6O034OwQTkpoMI/
+    f/2rK8kdzYSL4f//kFMuRLqmAwOmAFYB2oMo0/YaIoQ4vgTHDKTSxj5mbno56GdT
+    huMAVMKskaCSVbyMB/xyQG7senLItVv+HafVk6ChMUbkIjv9zgECggEBAP+ux1RG
+    cETGjK2U3CRoHGxR7FwaX6hkSokG+aFdVLer+WUrZmR8Ccvh2ALpm8K1G6TTk/5X
+    ZeVX4+1VFYDeTHMN8g20usS5mw3v2GF3fGxGLe4q56l4/4kKMZOrSBuWH4niiIKD
+    0QogdzWkpQJ93nMbZxZ5lk+lRZVf3qSm6nzyP468ndrfI57Ov5OUIWZ7KhTUH9IK
+    8/urUk+lEvyzQmNTlt5ZZXRz7cR01K8chx1zevVAyynzSuGjTysaBN7LTT0v3yVu
+    96yKNsxJvuIz2+4qSjhbnN4jH+feN0VsdF3+Qkru0lBmLVgJl4X67XFaAKMDU9yv
+    3alS53Pkol+Dy1cCggEBAPYodofHC1ydoOmCvUAq4oJNtyI4iIOY/ch3sxVhkNyi
+    KBscQqbay/DiXFiNl+NsemzB1PrHzvCaqKcBKw537XzeKqUgYuVLkFGubf9bDhXi
+    wSRcYbU/oNTgiTgXPW8wH60uIoLaiNi1/YjO2zh4GEY/kFqSuD54Y91iFmcC75bv
+    OjCNugnRdpRjOFhaeNx75tdverR37w3APVZuBSv3bJlMPCtaf+fEAKxJxeqCs3Oq
+    rtsw2TQ4TqfE8/w9qPCVv3bQbMbO48SwjxAz47qH2h3qGu3Ov8badeARe+Ou7nuI
+    U13gPuPOhPXIQP/MYOyamPJdFyng1b8vyNsfjOcWMiECggEAEkMgl6NkV3U7DRbp
+    1mvdQ9tiH33+wR9Qt5LY966b43aUHKbJ7Hlzla1u6V5YMsMO02oNUwhZDdWGQShn
+    ncnC+iDP3iy/flenfIpaETQgnfcxRqan31H2Joqk2eBNCTNi001r5K6XmrqQ6TL2
+    WkQ1RFF7vn42vz+VxcKQO4B0lTIUWhSczcpMWAZ6ZocZD6HScqRoFW+U16/39Bpd
+    TdFb944742vNNFEndXXGzy8hc3gRGz1ihX+MJKuuduyn1mX9AVbPAHR5mkhQ+6x0
+    xuFfXxaEMJxSiwdFOyGDHyFM+n2zrHh8ayOxL22X9gjjNspv6zTMo6GoGnUCdSOq
+    eVoHhwKCAQEAot5O3rOB/vuEljwcv7IgQJrvCsNg/8FgWR1p7kGpuXHJG3btWrz1
+    pyH+e9DjqGQD9KWjJ3LAp02NPUJ2nJIZHj9Y8/yjspb2nDTPLt+uSCjKJibBt0ys
+    O219HRGzYjfzHYCi8PVrCggQAk7rmUdMuF4iQutE4ICDgtz9eZbls3YBiFKdvxVK
+    Yg/sHflucmPAbtah13prPyvs6ZzN6zNANYXNYdn1OwHieBwvyWRFG8jY/MorTHPd
+    BwA3drPNbbGHBzQMZNZKub8gSVYr3SU52gUlYCclmIq+50xqLlF2FWIz1q8irVPd
+    gUnIR/eQQbxgaivRwbGze1ZAjUsozVVQQQKCAQEA9uAKU3O06bEUGj+L0G+7R7r/
+    bi2DNi2kLJ7jyq+n0OqcHEQ1zFK4LAPaXY0yMYXieUzhivMGLSNDiubGO2/KxkFF
+    REXUFgYWZYMwrKsUuscybB64cQDwzD0oXrhvEa2PHecdG6AZ63iLcHaaDzyCPID/
+    wtljekLO2jbJ5esXZd016lykFfUd/K4KP1DGyI2Dkq6q0gTc/Y36gDAcPhIWtzna
+    UujYCe3a8DWCElH4geKXaB5ABbV1eJ8Lch599lXJ9Hszem6QNosFsPaHDCcqLS9H
+    yy2WA6CY2LVU7kONN+O0kxs2fVbxIkI+d/LZyX/yIGlkXcAzL07llIlrTAYebQ==
     -----END RSA PRIVATE KEY-----
   '';
   "letsencrypt.org".cert = builtins.toFile "letsencrypt.org.cert" ''
     -----BEGIN CERTIFICATE-----
     MIIEpzCCAo8CAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
-    IENBMCAXDTE4MDcxMjAwMjIxOVoYDzIxMTgwNjE4MDAyMjE5WjAaMRgwFgYDVQQD
+    IENBMCAXDTE5MTAxODA3NTQxNVoYDzIxMTkwOTI0MDc1NDE1WjAaMRgwFgYDVQQD
     DA9sZXRzZW5jcnlwdC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
-    AQDA++GXB6aA+Lr3X2xIPs/PqXoJF9TUb98NzQC+ww3+dOaIY0Omqf15/UID5G0u
-    0649zUsvISi9x+7vn9X7opKA7iTX0TYKsUIXCMQ5YMYXgOByVPfvnVYaYUmDM8R9
-    l+Fs6uZB9Bq7zorEC01lWn0XFwpu4vJD+w03F80wH7sgdtWHC/NVyd0elhkQ/qR2
-    fC80s/bZui5fmrdq/FZK2WfTW5nQF9SbhfDFpQ0hTu3QO/noUr0L2Fb0Blp7R2jQ
-    EkFZEXvFLAt4Mmqf25nP6xfRf+0hppJBIG5nJKPQd7lkrN1Q7S2nHbFNLYGuXdjY
-    E4lo4T3we5ta90qiyUu3hfatWszEZrzpKYXNzIMvVFKjBw/+u7LLnnmXul6kvmzh
-    yYyBEEFePm1eGpRNU6flY74kKUuT6u2+0BPiuiAmYyoQqYzDa3ss3LVb2uL/fvxA
-    b+LcAZosgv/saw9u5E7nVJ22LhAxV7bM0XN7vabM2aPVJeiRbLv5m+NQynnmgSNF
-    GxM9Rl004QclbLo6zbOe6ovtmkgcLEEbwUqeQJWJdEmoADxvNwSFH6ktqYsg4eW/
-    iR3MnqmEeRK8rryq9tFF5SY6MmBK6lUEj2OEr58drL9RZHjN8lB5330fxk6iJeWs
-    sJWz5U8PKdRQqvMXWdjKiU3OL81Lh7gBud9aDILkkpGmNQIDAQABMA0GCSqGSIb3
-    DQEBCwUAA4ICAQAkx3jcryukAuYP7PQxMy3LElOl65ZFVqxDtTDlr7DvAkWJzVCb
-    g08L6Tu+K0rKh2RbG/PqS0+8/jBgc4IwSOPfDDAX+sinfj0kwXG34WMzB0G3fQzU
-    2BMplJDOaBcNqHG8pLP1BG+9HAtR/RHe9p2Jw8LG2qmZs6uemPT/nCTNoyIL4oxh
-    UncjETV4ayCHDKD1XA7/icgddYsnfLQHWuIMuCrmQCHo0uQAd7qVHfUWZ+gcsZx0
-    jTNCcaI8OTS2S65Bjaq2HaM7GMcUYNUD2vSyNQeQbha4ZeyZ9bPyFzznPMmrPXQe
-    MJdkbJ009RQIG9As79En4m+l+/6zrdx4DNdROqaL6YNiSebWMnuFHpMW/rCnhrT/
-    HYadijHOiJJGj9tWSdC4XJs7fvZW3crMPUYxpOvl01xW2ZlgaekILi1FAjSMQVoV
-    NhWstdGCKJdthJqLL5MtNdfgihKcmgkJqKFXTkPv7sgAQCopu6X+S+srCgn856Lv
-    21haRWZa8Ml+E0L/ticT8Fd8Luysc6K9TJ4mT8ENC5ywvgDlEkwBD3yvINXm5lg1
-    xOIxv/Ye5gFk1knuM7OzpUFBrXUHdVVxflCUqNAhFPbcXwjgEQ+A+S5B0vI6Ohue
-    ZnR/wuiou6Y+Yzh8XfqL/3H18mGDdjyMXI1B6l4Judk000UVyr46cnI7mw==
+    AQD12l08TLMPf8EF2zu0D/nWz5aYsXJa4WurjIx3ZH6+LmC8rueUs1UqFiCJOYrZ
+    Sb5QSka5wmpkdxNJkDUHPhL/w0P8Aj0joSbC8GKdjn8+5vEQAuT1iIMD4jMfxkYU
+    zzBeDt8xtskCzK/5IcC2vaOYKyCCum4Pl+DOzan4XarT6hWh4XAwA5R0B/aM200s
+    SPZDoyJHler7AU5xG1eU2VdYhfc2ua5s7/E6kM2mzKPJgLkt35bToxLltMdJ2/no
+    CRSDY+6AwKGPXlM510QkgrzM9cVOUxjJ71IrCOE1Rmi997jFcJpOPaebOty4wovP
+    5LewpB5NaOJFxjfDjNOUBuG0ZcONeOEw5usehYzx7dxMvg0ky+201K1d+JzFt5Ns
+    iJi77t20XSr6JZpmp7Fzo90BoikVnRdLD6LmIt1BmYHDNjs0uUelC6l+HrN7SoNR
+    VkAwO5ujgkpRMHMfpBO6EfH65Sbstzxh00Cufuj+8xkNDKbUSJrErFm4IZqoW+rx
+    kricFWwd9xduEX9cPYcyJ3e3siZtERW72qdz4Sf5pxT9IlpoveuMxboctUyvr69C
+    sLNiS8vMpimhSb0PUpyfp3w5/GXaIJpj0KQyvn/onWnXBxN1w3shVD8MUF5MNq7J
+    ZvJmQ7+U+hmhqRbJc7H1L22AKXOEWY2BGRm/3A35CC40NwIDAQABMA0GCSqGSIb3
+    DQEBCwUAA4ICAQBbJwE+qc0j6JGHWe0TGjv1viJU3WuyJkMRi+ejx0p/k7Ntp5An
+    2wLC7b/lVP/Nh+PKY/iXWn/BErv2MUo4POc1g8svgxsmMMh5KGGieIfGs7xT+JMH
+    dzZZM+pUpIB5fEO5JfjiOEOKDdAvRSs0mTAVYZEokGkXSNWyylvEaA16mHtMgPjo
+    Lm75d0O66RfJDdd/hTl8umGpF7kEGW1qYk2QmuPr7AqOa8na7olL5fMPh6Q7yRqx
+    GIS9JKQ0fWl8Ngk09WfwUN/kEMcp9Jl5iunNRkbpUJIM/lHFkSA7yOFFL+dVWzd4
+    2r+ddJXTFzW8Rwt65l8SV2MEhijEamKva3mqKLIRWxDsfFVT1T04LWFtnzMW4Z29
+    UHF9Pi7XSyKz0Y/Lz31mNTkjJYbOvbnwok8lc3wFWHc+lummZk8IkCq8xfqzwmwX
+    Ow6EV+Q6VaQpOHumQZ12pBBLtL8DyDhWaRUgVy2vYpwYsMYa5BFMcKCynjlSewo9
+    G2hNoW45cQZP1qHltRR9Xad7SaP7iTETDCiR7AWOqSpDipSh9eMfVW97ZbSfz+vl
+    xl8PZEZMTRIIRVXsPP+E8gtDUhUQp2+Vcz8r6q71qslXM09xl/501uaNjCc3hH2R
+    iw2N77Lho1F3FrBbHdML3RYHZI55eC9iQw6R4S+R4b+iWLJoHzHrW61itg==
     -----END CERTIFICATE-----
   '';
 }
diff --git a/nixpkgs/nixos/tests/common/user-account.nix b/nixpkgs/nixos/tests/common/user-account.nix
index 9cd531a1f96c..a57ee2d59ae3 100644
--- a/nixpkgs/nixos/tests/common/user-account.nix
+++ b/nixpkgs/nixos/tests/common/user-account.nix
@@ -4,6 +4,7 @@
     { isNormalUser = true;
       description = "Alice Foobar";
       password = "foobar";
+      uid = 1000;
     };
 
   users.users.bob =
diff --git a/nixpkgs/nixos/tests/common/x11.nix b/nixpkgs/nixos/tests/common/x11.nix
index c5a7c165d126..5ad0ac20fac8 100644
--- a/nixpkgs/nixos/tests/common/x11.nix
+++ b/nixpkgs/nixos/tests/common/x11.nix
@@ -1,12 +1,12 @@
+{ lib, ... }:
+
 { services.xserver.enable = true;
 
   # Automatically log in.
   services.xserver.displayManager.auto.enable = true;
 
   # Use IceWM as the window manager.
-  services.xserver.windowManager.default = "icewm";
-  services.xserver.windowManager.icewm.enable = true;
-
   # Don't use a desktop manager.
-  services.xserver.desktopManager.default = "none";
+  services.xserver.displayManager.defaultSession = lib.mkDefault "none+icewm";
+  services.xserver.windowManager.icewm.enable = true;
 }
diff --git a/nixpkgs/nixos/tests/consul.nix b/nixpkgs/nixos/tests/consul.nix
new file mode 100644
index 000000000000..6600dae4770b
--- /dev/null
+++ b/nixpkgs/nixos/tests/consul.nix
@@ -0,0 +1,143 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  # Settings for both servers and agents
+  webUi = true;
+  retry_interval = "1s";
+  raft_multiplier = 1;
+
+  defaultExtraConfig = {
+    inherit retry_interval;
+    performance = {
+      inherit raft_multiplier;
+    };
+  };
+
+  allConsensusServerHosts = [
+    "192.168.1.1"
+    "192.168.1.2"
+    "192.168.1.3"
+  ];
+
+  allConsensusClientHosts = [
+    "192.168.2.1"
+    "192.168.2.2"
+  ];
+
+  firewallSettings = {
+    # See https://www.consul.io/docs/install/ports.html
+    allowedTCPPorts = [ 8301 8302 8600 8500 8300 ];
+    allowedUDPPorts = [ 8301 8302 8600 ];
+  };
+
+  client = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusClientHosts index;
+    in
+      {
+        environment.systemPackages = [ pkgs.consul ];
+
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = ip; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul = {
+          enable = true;
+          inherit webUi;
+          extraConfig = defaultExtraConfig // {
+            server = false;
+            retry_join = allConsensusServerHosts;
+            bind_addr = ip;
+          };
+        };
+      };
+
+  server = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusServerHosts index;
+    in
+      {
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = builtins.elemAt allConsensusServerHosts index; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul =
+          let
+            thisConsensusServerHost = builtins.elemAt allConsensusServerHosts index;
+          in
+          assert builtins.elem thisConsensusServerHost allConsensusServerHosts;
+          {
+            enable = true;
+            inherit webUi;
+            extraConfig = defaultExtraConfig // {
+              server = true;
+              bootstrap_expect = builtins.length allConsensusServerHosts;
+              retry_join =
+                # If there's only 1 node in the network, we allow self-join;
+                # otherwise, the node must not try to join itself, and join only the other servers.
+                # See https://github.com/hashicorp/consul/issues/2868
+                if builtins.length allConsensusServerHosts == 1
+                  then allConsensusServerHosts
+                  else builtins.filter (h: h != thisConsensusServerHost) allConsensusServerHosts;
+              bind_addr = ip;
+            };
+          };
+      };
+in {
+  name = "consul";
+
+  nodes = {
+    server1 = server 0;
+    server2 = server 1;
+    server3 = server 2;
+
+    client1 = client 0;
+    client2 = client 1;
+  };
+
+  testScript = ''
+    servers = [server1, server2, server3]
+    machines = [server1, server2, server3, client1, client2]
+
+    for m in machines:
+        m.wait_for_unit("consul.service")
+
+    for m in machines:
+        m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+    client1.succeed("consul kv put testkey 42")
+    client2.succeed("[ $(consul kv get testkey) == 42 ]")
+
+    # Test that the cluster can tolearate failures of any single server:
+    for server in servers:
+        server.crash()
+
+        # For each client, wait until they have connection again
+        # using `kv get -recurse` before issuing commands.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions while one server is down.
+        client1.succeed("consul kv put testkey 43")
+        client2.succeed("[ $(consul kv get testkey) == 43 ]")
+        client2.succeed("consul kv delete testkey")
+
+        # Restart crashed machine.
+        server.start()
+
+        # Wait for recovery.
+        for m in machines:
+            m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+        # Wait for client connections.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions with server back up.
+        client1.succeed("consul kv put testkey 44")
+        client2.succeed("[ $(consul kv get testkey) == 44 ]")
+        client2.succeed("consul kv delete testkey")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/containers-bridge.nix b/nixpkgs/nixos/tests/containers-bridge.nix
index 38db64eb7931..2c8e8fa5370f 100644
--- a/nixpkgs/nixos/tests/containers-bridge.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-ephemeral.nix b/nixpkgs/nixos/tests/containers-ephemeral.nix
index 1ef8717d9a0e..692554ac0ba2 100644
--- a/nixpkgs/nixos/tests/containers-ephemeral.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-extra_veth.nix b/nixpkgs/nixos/tests/containers-extra_veth.nix
index b3d3bce87579..7d30b3f76cd7 100644
--- a/nixpkgs/nixos/tests/containers-extra_veth.nix
+++ b/nixpkgs/nixos/tests/containers-extra_veth.nix
@@ -1,7 +1,7 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-bridge";
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-extra_veth";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
   };
@@ -52,52 +52,43 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      machine.wait_for_unit("default.target")
+      assert "webserver" in machine.succeed("nixos-container list")
 
-      # Status of the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
+      with subtest("Status of the webserver container is up"):
+          assert "up" in machine.succeed("nixos-container status webserver")
 
-      # Debug
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
+      with subtest("Ensure that the veths are inside the container"):
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth1"
+          )
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth2"
+          )
 
-      # Ensure that the veths are inside the container
-      $machine->succeed("nixos-container run webserver -- ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("nixos-container run webserver -- ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ensure the presence of the extra veths"):
+          assert "state UP" in machine.succeed("ip link show veth1")
+          assert "state UP" in machine.succeed("ip link show veth2")
 
-      # Debug
-      #$machine->succeed("ip link >&2");
+      with subtest("Ensure the veth1 is part of br1 on the host"):
+          assert "master br1" in machine.succeed("ip link show veth1")
 
-      # Ensure the presence of the extra veths
-      $machine->succeed("ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ping on main veth"):
+          machine.succeed("ping -n -c 1 192.168.0.100")
+          machine.succeed("ping -n -c 1 fc00::2")
 
-      # Ensure the veth1 is part of br1 on the host
-      $machine->succeed("ip link show veth1") =~ /master br1/ or die;
+      with subtest("Ping on the first extra veth"):
+          machine.succeed("ping -n -c 1 192.168.1.100 >&2")
 
-      # Debug
-      #$machine->succeed("ip -4 a >&2");
-      #$machine->succeed("ip -4 r >&2");
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 a >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 r >&2");
+      with subtest("Ping on the second extra veth"):
+          machine.succeed("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on main veth
-      $machine->succeed("ping -n -c 1 192.168.0.100");
-      $machine->succeed("ping -n -c 1 fc00::2");
+      with subtest("Container can be stopped"):
+          machine.succeed("nixos-container stop webserver")
+          machine.fail("ping -n -c 1 192.168.1.100 >&2")
+          machine.fail("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on the first extra veth
-      $machine->succeed("ping -n -c 1 192.168.1.100 >&2");
-
-      # Ping on the second extra veth
-      $machine->succeed("ping -n -c 1 192.168.2.100 >&2");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("ping -n -c 1 192.168.1.100 >&2");
-      $machine->fail("ping -n -c 1 192.168.2.100 >&2");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      with subtest("Destroying a declarative container should fail"):
+          machine.fail("nixos-container destroy webserver")
     '';
 })
diff --git a/nixpkgs/nixos/tests/containers-hosts.nix b/nixpkgs/nixos/tests/containers-hosts.nix
index 8cf298c62258..d6fb4a761eef 100644
--- a/nixpkgs/nixos/tests/containers-hosts.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-imperative.nix b/nixpkgs/nixos/tests/containers-imperative.nix
index 2e7e4b2f1d69..61df74042cb3 100644
--- a/nixpkgs/nixos/tests/containers-imperative.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-ip.nix b/nixpkgs/nixos/tests/containers-ip.nix
new file mode 100644
index 000000000000..8583a08c6258
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-ipv4.nix b/nixpkgs/nixos/tests/containers-ipv4.nix
deleted file mode 100644
index ace68ff2df8b..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/containers-ipv6.nix b/nixpkgs/nixos/tests/containers-ipv6.nix
deleted file mode 100644
index a9499d192bd4..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/containers-macvlans.nix b/nixpkgs/nixos/tests/containers-macvlans.nix
index 2bdb926a8e2b..0e8f67bc76f0 100644
--- a/nixpkgs/nixos/tests/containers-macvlans.nix
+++ b/nixpkgs/nixos/tests/containers-macvlans.nix
@@ -6,7 +6,7 @@ let
   containerIp2 = "192.168.1.254";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-macvlans";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ montag451 ];
@@ -64,19 +64,23 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $machine1->waitForUnit("default.target");
-    $machine2->waitForUnit("default.target");
+    start_all()
+    machine1.wait_for_unit("default.target")
+    machine2.wait_for_unit("default.target")
 
-    # Ping between containers to check that macvlans are created in bridge mode
-    $machine1->succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping between containers to check that macvlans are created in bridge mode"
+    ):
+        machine1.succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the host (machine1)
-    $machine1->succeed("ping -n -c 1 ${containerIp1}");
-    $machine1->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest("Ping containers from the host (machine1)"):
+        machine1.succeed("ping -n -c 1 ${containerIp1}")
+        machine1.succeed("ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the second machine to check that containers are reachable from the outside
-    $machine2->succeed("ping -n -c 1 ${containerIp1}");
-    $machine2->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping containers from the second machine to check that containers are reachable from the outside"
+    ):
+        machine2.succeed("ping -n -c 1 ${containerIp1}")
+        machine2.succeed("ping -n -c 1 ${containerIp2}")
   '';
 })
diff --git a/nixpkgs/nixos/tests/containers-physical_interfaces.nix b/nixpkgs/nixos/tests/containers-physical_interfaces.nix
index 1e312f59f437..e800751a23c2 100644
--- a/nixpkgs/nixos/tests/containers-physical_interfaces.nix
+++ b/nixpkgs/nixos/tests/containers-physical_interfaces.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-physical_interfaces";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
@@ -86,48 +86,51 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    subtest "prepare server", sub {
-      $server->waitForUnit("default.target");
-      $server->succeed("ip link show dev eth1 >&2");
-    };
-
-    subtest "simple physical interface", sub {
-      $server->succeed("nixos-container start server");
-      $server->waitForUnit("container\@server");
-      $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2");
-
-      # The other tests will ping this container on its ip. Here we just check
-      # that the device is present in the container.
-      $server->succeed("nixos-container run server -- ip a show dev eth1 >&2");
-    };
-
-    subtest "physical device in bridge in container", sub {
-      $bridged->waitForUnit("default.target");
-      $bridged->succeed("nixos-container start bridged");
-      $bridged->waitForUnit("container\@bridged");
-      $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2");
-      $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service");
-      $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in container", sub {
-      $bonded->waitForUnit("default.target");
-      $bonded->succeed("nixos-container start bonded");
-      $bonded->waitForUnit("container\@bonded");
-      $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2");
-      $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2");
-      $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in bridge in container", sub {
-      $bridgedbond->waitForUnit("default.target");
-      $bridgedbond->succeed("nixos-container start bridgedbond");
-      $bridgedbond->waitForUnit("container\@bridgedbond");
-      $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2");
-      $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service");
-      $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
+    start_all()
+
+    with subtest("Prepare server"):
+        server.wait_for_unit("default.target")
+        server.succeed("ip link show dev eth1 >&2")
+
+    with subtest("Simple physical interface is up"):
+        server.succeed("nixos-container start server")
+        server.wait_for_unit("container@server")
+        server.succeed(
+            "systemctl -M server list-dependencies network-addresses-eth1.service >&2"
+        )
+
+        # The other tests will ping this container on its ip. Here we just check
+        # that the device is present in the container.
+        server.succeed("nixos-container run server -- ip a show dev eth1 >&2")
+
+    with subtest("Physical device in bridge in container can ping server"):
+        bridged.wait_for_unit("default.target")
+        bridged.succeed("nixos-container start bridged")
+        bridged.wait_for_unit("container@bridged")
+        bridged.succeed(
+            "systemctl -M bridged list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridged status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in container can ping server"):
+        bonded.wait_for_unit("default.target")
+        bonded.succeed("nixos-container start bonded")
+        bonded.wait_for_unit("container@bonded")
+        bonded.succeed(
+            "systemctl -M bonded list-dependencies network-addresses-bond0 >&2",
+            "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2",
+            "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in bridge in container can ping server"):
+        bridgedbond.wait_for_unit("default.target")
+        bridgedbond.succeed("nixos-container start bridgedbond")
+        bridgedbond.wait_for_unit("container@bridgedbond")
+        bridgedbond.succeed(
+            "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/containers-portforward.nix b/nixpkgs/nixos/tests/containers-portforward.nix
index ec8e9629c21d..fc90e151bd9e 100644
--- a/nixpkgs/nixos/tests/containers-portforward.nix
+++ b/nixpkgs/nixos/tests/containers-portforward.nix
@@ -7,7 +7,7 @@ let
   containerPort = 80;
 in 
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-portforward";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ];
@@ -36,27 +36,27 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      container_list = machine.succeed("nixos-container list")
+      assert "webserver" in container_list
 
       # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
+      machine.succeed("nixos-container start webserver")
 
       # wait two seconds for the container to start and the network to be up
-      sleep 2;
+      machine.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 ${hostIp}");
-      $machine->succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null");
+      # ip = machine.succeed("nixos-container show-ip webserver").strip()
+      machine.succeed("ping -n -c1 ${hostIp}")
+      machine.succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null");
+      machine.succeed("nixos-container stop webserver")
+      machine.fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      machine.fail("nixos-container destroy webserver")
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/containers-reloadable.nix b/nixpkgs/nixos/tests/containers-reloadable.nix
index f41dea91b1e4..35aff91e85b5 100644
--- a/nixpkgs/nixos/tests/containers-reloadable.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/containers-restart_networking.nix b/nixpkgs/nixos/tests/containers-restart_networking.nix
index df15f5b2f455..b50dadd13e47 100644
--- a/nixpkgs/nixos/tests/containers-restart_networking.nix
+++ b/nixpkgs/nixos/tests/containers-restart_networking.nix
@@ -16,7 +16,7 @@ let
       };
     };
   };
-in import ./make-test.nix ({ pkgs, ...} :
+in import ./make-test-python.nix ({ pkgs, ...} :
 {
   name = "containers-restart_networking";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -64,50 +64,52 @@ in import ./make-test.nix ({ pkgs, ...} :
     eth1_bridged = nodes.client_eth1.config.system.build.toplevel;
     eth1_rstp = nodes.client_eth1_rstp.config.system.build.toplevel;
   in ''
-    $client->start();
-
-    $client->waitForUnit("default.target");
-
-    subtest "initial state", sub {
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    subtest "interfaces without stp", sub {
-      $client->succeed("${eth1_bridged}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-
-      $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-      $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    # activating rstp needs another service, therefor the bridge will restart and the container will loose its connectivity
-    #subtest "interfaces with rstp", sub {
-    #  $client->succeed("${eth1_rstp}/bin/switch-to-configuration test >&2");
-    #  $client->execute("ip -4 a >&2");
-    #  $client->execute("ip l >&2");
+    client.start()
+
+    client.wait_for_unit("default.target")
+
+    with subtest("Initial configuration connectivity check"):
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
+
+    with subtest("Bridged configuration without STP preserves connectivity"):
+        client.succeed(
+            "${eth1_bridged}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed(
+            "ping 192.168.1.122 -c 1 -n >&2",
+            "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+            "ip l show eth1 |grep 'master br0' >&2",
+            "grep eth1 /run/br0.interfaces >&2",
+        )
+
+    #  activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity
+    # with subtest("Bridged configuration with STP"):
+    #     client.succeed("${eth1_rstp}/bin/switch-to-configuration test >&2")
+    #     client.execute("ip -4 a >&2")
+    #     client.execute("ip l >&2")
     #
-    #  $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-    #  $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-    #
-    #  $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-    #  $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    #};
-
-    subtest "back to no interfaces and no stp", sub {
-      $client->succeed("${originalSystem}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
+    #     client.succeed(
+    #         "ping 192.168.1.122 -c 1 -n >&2",
+    #         "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+    #         "ip l show eth1 |grep 'master br0' >&2",
+    #         "grep eth1 /run/br0.interfaces >&2",
+    #     )
+
+    with subtest("Reverting to initial configuration preserves connectivity"):
+        client.succeed(
+            "${originalSystem}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
   '';
 
 })
diff --git a/nixpkgs/nixos/tests/containers-tmpfs.nix b/nixpkgs/nixos/tests/containers-tmpfs.nix
index e29fe6bbf032..171e8f01c7b9 100644
--- a/nixpkgs/nixos/tests/containers-tmpfs.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/couchdb.nix b/nixpkgs/nixos/tests/couchdb.nix
index 48ea48eebbb3..10e95701acdb 100644
--- a/nixpkgs/nixos/tests/couchdb.nix
+++ b/nixpkgs/nixos/tests/couchdb.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...}:
+import ./make-test-python.nix ({ pkgs, lib, ...}:
 
 with lib;
 
@@ -35,22 +35,42 @@ with lib;
         fi
       '';
   in ''
-    startAll;
-
-    $couchdb1->waitForUnit("couchdb.service");
-    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
-    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
-    $couchdb1->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
-    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "3"}");
-    $couchdb1->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
-    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
-
-    $couchdb2->waitForUnit("couchdb.service");
-    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
-    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
-    $couchdb2->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
-    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "1"}");
-    $couchdb2->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
-    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
+    start_all()
+
+    couchdb1.wait_for_unit("couchdb.service")
+    couchdb1.wait_until_succeeds(
+        "${curlJqCheck "GET" "" ".couchdb" "Welcome"}"
+    )
+    couchdb1.wait_until_succeeds(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "2"}"
+    )
+    couchdb1.succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}")
+    couchdb1.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "3"}"
+    )
+    couchdb1.succeed(
+        "${curlJqCheck "DELETE" "foo" ".ok" "true"}"
+    )
+    couchdb1.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "2"}"
+    )
+
+    couchdb2.wait_for_unit("couchdb.service")
+    couchdb2.wait_until_succeeds(
+        "${curlJqCheck "GET" "" ".couchdb" "Welcome"}"
+    )
+    couchdb2.wait_until_succeeds(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "0"}"
+    )
+    couchdb2.succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}")
+    couchdb2.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "1"}"
+    )
+    couchdb2.succeed(
+        "${curlJqCheck "DELETE" "foo" ".ok" "true"}"
+    )
+    couchdb2.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "0"}"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/deluge.nix b/nixpkgs/nixos/tests/deluge.nix
index b58030409b5c..37689c3d9137 100644
--- a/nixpkgs/nixos/tests/deluge.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/dhparams.nix b/nixpkgs/nixos/tests/dhparams.nix
index d11dfeec5d0c..a0de2911777c 100644
--- a/nixpkgs/nixos/tests/dhparams.nix
+++ b/nixpkgs/nixos/tests/dhparams.nix
@@ -4,7 +4,7 @@ let
     environment.systemPackages = [ pkgs.openssl ];
   };
 
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "dhparams";
 
   nodes.generation1 = { pkgs, config, ... }: {
@@ -66,79 +66,77 @@ in import ./make-test.nix {
       node = "generation${toString gen}";
     in nodes.${node}.config.security.dhparams.params.${name}.path;
 
-    assertParamBits = gen: name: bits: let
-      path = getParamPath gen name;
-    in ''
-      $machine->nest('check bit size of ${path}', sub {
-        my $out = $machine->succeed('openssl dhparam -in ${path} -text');
-        $out =~ /^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$/m;
-        die "bit size should be ${toString bits} but it is $1 instead."
-          if $1 != ${toString bits};
-      });
-    '';
-
     switchToGeneration = gen: let
       node = "generation${toString gen}";
       inherit (nodes.${node}.config.system.build) toplevel;
       switchCmd = "${toplevel}/bin/switch-to-configuration test";
     in ''
-      $machine->nest('switch to generation ${toString gen}', sub {
-        $machine->succeed('${switchCmd}');
-        $main::machine = ''$${node};
-      });
+      with machine.nested("switch to generation ${toString gen}"):
+          machine.succeed(
+              "${switchCmd}"
+          )
+          machine = ${node}
     '';
 
   in ''
-    my $machine = $generation1;
+    import re
 
-    $machine->waitForUnit('multi-user.target');
 
-    subtest "verify startup order", sub {
-      $machine->succeed('systemctl is-active foo.service');
-    };
+    def assert_param_bits(path, bits):
+        with machine.nested(f"check bit size of {path}"):
+            output = machine.succeed(f"openssl dhparam -in {path} -text")
+            pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M)
+            match = pattern.match(output)
+            if match is None:
+                raise Exception("bla")
+            if match[1] != str(bits):
+                raise Exception(f"bit size should be {bits} but it is {match[1]} instead.")
 
-    subtest "check bit sizes of dhparam files", sub {
-      ${assertParamBits 1 "foo" 16}
-      ${assertParamBits 1 "bar" 17}
-    };
+
+    machine = generation1
+
+    machine.wait_for_unit("multi-user.target")
+
+    with subtest("verify startup order"):
+        machine.succeed("systemctl is-active foo.service")
+
+    with subtest("check bit sizes of dhparam files"):
+        assert_param_bits("${getParamPath 1 "foo"}", 16)
+        assert_param_bits("${getParamPath 1 "bar"}", 17)
 
     ${switchToGeneration 2}
 
-    subtest "check whether bit size has changed", sub {
-      ${assertParamBits 2 "foo" 18}
-    };
+    with subtest("check whether bit size has changed"):
+        assert_param_bits("${getParamPath 2 "foo"}", 18)
 
-    subtest "ensure that dhparams file for 'bar' was deleted", sub {
-      $machine->fail('test -e ${getParamPath 1 "bar"}');
-    };
+    with subtest("ensure that dhparams file for 'bar' was deleted"):
+        machine.fail("test -e ${getParamPath 1 "bar"}")
 
     ${switchToGeneration 3}
 
-    subtest "ensure that 'security.dhparams.path' has been deleted", sub {
-      $machine->fail(
-        'test -e ${nodes.generation3.config.security.dhparams.path}'
-      );
-    };
+    with subtest("ensure that 'security.dhparams.path' has been deleted"):
+        machine.fail("test -e ${nodes.generation3.config.security.dhparams.path}")
 
     ${switchToGeneration 4}
 
-    subtest "check bit sizes dhparam files", sub {
-      ${assertParamBits 4 "foo2" 18}
-      ${assertParamBits 4 "bar2" 19}
-    };
+    with subtest("check bit sizes dhparam files"):
+        assert_param_bits(
+            "${getParamPath 4 "foo2"}", 18
+        )
+        assert_param_bits(
+            "${getParamPath 4 "bar2"}", 19
+        )
 
-    subtest "check whether dhparam files are in the Nix store", sub {
-      $machine->succeed(
-        'expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}',
-        'expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}',
-      );
-    };
+    with subtest("check whether dhparam files are in the Nix store"):
+        machine.succeed(
+            "expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}",
+            "expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}",
+        )
 
     ${switchToGeneration 5}
 
-    subtest "check whether defaultBitSize works as intended", sub {
-      ${assertParamBits 5 "foo3" 30}
-      ${assertParamBits 5 "bar3" 30}
-    };
+    with subtest("check whether defaultBitSize works as intended"):
+        assert_param_bits("${getParamPath 5 "foo3"}", 30)
+        assert_param_bits("${getParamPath 5 "bar3"}", 30)
   '';
 }
diff --git a/nixpkgs/nixos/tests/dnscrypt-proxy.nix b/nixpkgs/nixos/tests/dnscrypt-proxy.nix
index 13bc9d3d9168..98153d5c9047 100644
--- a/nixpkgs/nixos/tests/dnscrypt-proxy.nix
+++ b/nixpkgs/nixos/tests/dnscrypt-proxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "dnscrypt-proxy";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ joachifm ];
@@ -23,11 +23,13 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $client->waitForUnit("dnsmasq");
+    client.wait_for_unit("dnsmasq")
 
     # The daemon is socket activated; sending a single ping should activate it.
-    $client->fail("systemctl is-active dnscrypt-proxy");
-    $client->execute("${pkgs.iputils}/bin/ping -c1 example.com");
-    $client->waitUntilSucceeds("systemctl is-active dnscrypt-proxy");
+    client.fail("systemctl is-active dnscrypt-proxy")
+    client.execute(
+        "${pkgs.iputils}/bin/ping -c1 example.com"
+    )
+    client.wait_until_succeeds("systemctl is-active dnscrypt-proxy")
   '';
 })
diff --git a/nixpkgs/nixos/tests/docker-edge.nix b/nixpkgs/nixos/tests/docker-edge.nix
index b306c149be91..96de885a554a 100644
--- a/nixpkgs/nixos/tests/docker-edge.nix
+++ b/nixpkgs/nixos/tests/docker-edge.nix
@@ -1,6 +1,6 @@
 # This test runs docker and checks if simple container starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus offline ];
@@ -31,17 +31,19 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $docker->waitForUnit("sockets.target");
-    $docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
-    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
-    $docker->succeed("docker ps | grep sleeping");
-    $docker->succeed("sudo -u hasprivs docker ps");
-    $docker->fail("sudo -u noprivs docker ps");
-    $docker->succeed("docker stop sleeping");
+    docker.wait_for_unit("sockets.target")
+    docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    docker.succeed(
+        "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    docker.succeed("docker ps | grep sleeping")
+    docker.succeed("sudo -u hasprivs docker ps")
+    docker.fail("sudo -u noprivs docker ps")
+    docker.succeed("docker stop sleeping")
 
     # Must match version twice to ensure client and server versions are correct
-    $docker->succeed('[ $(docker version | grep ${pkgs.docker-edge.version} | wc -l) = "2" ]');
+    docker.succeed('[ $(docker version | grep ${pkgs.docker-edge.version} | wc -l) = "2" ]')
   '';
 })
diff --git a/nixpkgs/nixos/tests/docker-registry.nix b/nixpkgs/nixos/tests/docker-registry.nix
index 8936421072a9..2928fd8141a4 100644
--- a/nixpkgs/nixos/tests/docker-registry.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/docker-tools-overlay.nix b/nixpkgs/nixos/tests/docker-tools-overlay.nix
index 637957bd3e8b..1a0e0ea67750 100644
--- a/nixpkgs/nixos/tests/docker-tools-overlay.nix
+++ b/nixpkgs/nixos/tests/docker-tools-overlay.nix
@@ -1,6 +1,6 @@
 # this test creates a simple GNU image with docker tools and sees if it executes
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "docker-tools-overlay";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -16,17 +16,18 @@ import ./make-test.nix ({ pkgs, ... }:
       };
   };
 
-  testScript =
-    ''
-      $docker->waitForUnit("sockets.target");
+  testScript = ''
+      docker.wait_for_unit("sockets.target")
 
-      $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
-      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed(
+          "docker load --input='${pkgs.dockerTools.examples.bash}'",
+          "docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version",
+      )
 
       # Check if the nix store has correct user permissions depending on what
       # storage driver is used, incorrectly built images can show up as readonly.
       # drw-------  3 0 0   3 Apr 14 11:36 /nix
       # drw------- 99 0 0 100 Apr 14 11:36 /nix/store
-      $docker->succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version")
     '';
 })
diff --git a/nixpkgs/nixos/tests/docker.nix b/nixpkgs/nixos/tests/docker.nix
index d67b2f8743d8..8fda7c1395ef 100644
--- a/nixpkgs/nixos/tests/docker.nix
+++ b/nixpkgs/nixos/tests/docker.nix
@@ -1,6 +1,6 @@
 # This test runs docker and checks if simple container starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus offline ];
@@ -31,17 +31,19 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $docker->waitForUnit("sockets.target");
-    $docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
-    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
-    $docker->succeed("docker ps | grep sleeping");
-    $docker->succeed("sudo -u hasprivs docker ps");
-    $docker->fail("sudo -u noprivs docker ps");
-    $docker->succeed("docker stop sleeping");
+    docker.wait_for_unit("sockets.target")
+    docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    docker.succeed(
+        "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    docker.succeed("docker ps | grep sleeping")
+    docker.succeed("sudo -u hasprivs docker ps")
+    docker.fail("sudo -u noprivs docker ps")
+    docker.succeed("docker stop sleeping")
 
     # Must match version twice to ensure client and server versions are correct
-    $docker->succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "2" ]');
+    docker.succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "2" ]')
   '';
 })
diff --git a/nixpkgs/nixos/tests/documize.nix b/nixpkgs/nixos/tests/documize.nix
index 8b852a4f7795..3be20a780d31 100644
--- a/nixpkgs/nixos/tests/documize.nix
+++ b/nixpkgs/nixos/tests/documize.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "documize";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 ];
@@ -29,30 +29,34 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    $machine->waitForUnit("documize-server.service");
-    $machine->waitForOpenPort(3000);
-
-    my $dbhash = $machine->succeed("curl -f localhost:3000 "
-                                  . " | grep 'property=\"dbhash' "
-                                  . " | grep -Po 'content=\"\\K[^\"]*'"
-                                  );
-
-    chomp($dbhash);
-
-    $machine->succeed("curl -X POST "
-                      . "--data 'dbname=documize' "
-                      . "--data 'dbhash=$dbhash' "
-                      . "--data 'title=NixOS' "
-                      . "--data 'message=Docs' "
-                      . "--data 'firstname=John' "
-                      . "--data 'lastname=Doe' "
-                      . "--data 'email=john.doe\@nixos.org' "
-                      . "--data 'password=verysafe' "
-                      . "-f localhost:3000/api/setup"
-                    );
-
-    $machine->succeed('test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"');
+    start_all()
+
+    machine.wait_for_unit("documize-server.service")
+    machine.wait_for_open_port(3000)
+
+    dbhash = machine.succeed(
+        "curl -f localhost:3000 | grep 'property=\"dbhash' | grep -Po 'content=\"\\K[^\"]*'"
+    )
+
+    dbhash = dbhash.strip()
+
+    machine.succeed(
+        (
+            "curl -X POST"
+            " --data 'dbname=documize'"
+            " --data 'dbhash={}'"
+            " --data 'title=NixOS'"
+            " --data 'message=Docs'"
+            " --data 'firstname=John'"
+            " --data 'lastname=Doe'"
+            " --data 'email=john.doe@nixos.org'"
+            " --data 'password=verysafe'"
+            " -f localhost:3000/api/setup"
+        ).format(dbhash)
+    )
+
+    machine.succeed(
+        'test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"'
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/dovecot.nix b/nixpkgs/nixos/tests/dovecot.nix
index 156079d1d585..c19850f418bc 100644
--- a/nixpkgs/nixos/tests/dovecot.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ec2.nix b/nixpkgs/nixos/tests/ec2.nix
index 384fce67c227..c649ce852dad 100644
--- a/nixpkgs/nixos/tests/ec2.nix
+++ b/nixpkgs/nixos/tests/ec2.nix
@@ -113,7 +113,7 @@ in {
         services.httpd = {
           enable = true;
           adminAddr = "test@example.org";
-          documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
+          virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
         };
         networking.firewall.allowedTCPPorts = [ 80 ];
       }
diff --git a/nixpkgs/nixos/tests/ecryptfs.nix b/nixpkgs/nixos/tests/ecryptfs.nix
index 3f02cecb8662..ef7bd13eb92c 100644
--- a/nixpkgs/nixos/tests/ecryptfs.nix
+++ b/nixpkgs/nixos/tests/ecryptfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 {
   name = "ecryptfs";
 
@@ -10,75 +10,76 @@ import ./make-test.nix ({ ... }:
   };
 
   testScript = ''
-    $machine->waitForUnit("default.target");
+    def login_as_alice():
+        machine.wait_until_tty_matches(1, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(1, "Password: ")
+        machine.send_chars("foobar\n")
+        machine.wait_until_tty_matches(1, "alice\@machine")
 
-    # Set alice up with a password and a home
-    $machine->succeed("(echo foobar; echo foobar) | passwd alice");
-    $machine->succeed("chown -R alice.users ~alice");
 
-    # Migrate alice's home
-    my $out = $machine->succeed("echo foobar | ecryptfs-migrate-home -u alice");
-    $machine->log("ecryptfs-migrate-home said: $out");
+    def logout():
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
-    # Log alice in (ecryptfs passwhrase is wrapped during first login)
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+
+    machine.wait_for_unit("default.target")
+
+    with subtest("Set alice up with a password and a home"):
+        machine.succeed("(echo foobar; echo foobar) | passwd alice")
+        machine.succeed("chown -R alice.users ~alice")
+
+    with subtest("Migrate alice's home"):
+        out = machine.succeed("echo foobar | ecryptfs-migrate-home -u alice")
+        machine.log(f"ecryptfs-migrate-home said: {out}")
+
+    with subtest("Log alice in (ecryptfs passwhrase is wrapped during first login)"):
+        login_as_alice()
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-    $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("check that encrypted home is not mounted"):
+        machine.fail("mount | grep ecryptfs")
 
-    # Show contents of the user keyring
-    my $out = $machine->succeed("su - alice -c 'keyctl list \@u'");
-    $machine->log("keyctl unlink said: " . $out);
+    with subtest("Show contents of the user keyring"):
+        out = machine.succeed("su - alice -c 'keyctl list \@u'")
+        machine.log(f"keyctl unlink said: {out}")
 
-    # Log alice again
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
+    with subtest("Log alice again"):
+        login_as_alice()
 
-    # Create some files in encrypted home
-    $machine->succeed("su alice -c 'touch ~alice/a'");
-    $machine->succeed("su alice -c 'echo c > ~alice/b'");
+    with subtest("Create some files in encrypted home"):
+        machine.succeed("su alice -c 'touch ~alice/a'")
+        machine.succeed("su alice -c 'echo c > ~alice/b'")
 
-    # Logout
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    with subtest("Logout"):
+        logout()
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-
-    # Check that the filesystem is not accessible
-    $machine->fail("mount | grep ecryptfs");
-    $machine->succeed("su alice -c 'test \! -f ~alice/a'");
-    $machine->succeed("su alice -c 'test \! -f ~alice/b'");
-
-    # Log alice once more
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-
-    # Check that the files are there
-    $machine->sleep(1);
-    $machine->succeed("su alice -c 'test -f ~alice/a'");
-    $machine->succeed("su alice -c 'test -f ~alice/b'");
-    $machine->succeed(qq%test "\$(cat ~alice/b)" = "c"%);
-
-    # Catch https://github.com/NixOS/nixpkgs/issues/16766
-    $machine->succeed("su alice -c 'ls -lh ~alice/'");
-
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("Check that the filesystem is not accessible"):
+        machine.fail("mount | grep ecryptfs")
+        machine.succeed("su alice -c 'test \! -f ~alice/a'")
+        machine.succeed("su alice -c 'test \! -f ~alice/b'")
+
+    with subtest("Log alice once more"):
+        login_as_alice()
+
+    with subtest("Check that the files are there"):
+        machine.sleep(1)
+        machine.succeed("su alice -c 'test -f ~alice/a'")
+        machine.succeed("su alice -c 'test -f ~alice/b'")
+        machine.succeed('test "$(cat ~alice/b)" = "c"')
+
+    with subtest("Catch https://github.com/NixOS/nixpkgs/issues/16766"):
+        machine.succeed("su alice -c 'ls -lh ~alice/'")
+
+    logout()
   '';
 })
diff --git a/nixpkgs/nixos/tests/emacs-daemon.nix b/nixpkgs/nixos/tests/emacs-daemon.nix
index 3594e35e343c..b89d9b1bde69 100644
--- a/nixpkgs/nixos/tests/emacs-daemon.nix
+++ b/nixpkgs/nixos/tests/emacs-daemon.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "emacs-daemon";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ];
@@ -21,25 +21,28 @@ import ./make-test.nix ({ pkgs, ...} : {
       environment.variables.TEST_SYSTEM_VARIABLE = "system variable";
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("multi-user.target");
+  testScript = ''
+      machine.wait_for_unit("multi-user.target")
 
       # checks that the EDITOR environment variable is set
-      $machine->succeed("test \$(basename \"\$EDITOR\") = emacseditor");
+      machine.succeed('test $(basename "$EDITOR") = emacseditor')
 
       # waits for the emacs service to be ready
-      $machine->waitUntilSucceeds("systemctl --user status emacs.service | grep 'Active: active'");
+      machine.wait_until_succeeds(
+          "systemctl --user status emacs.service | grep 'Active: active'"
+      )
 
       # connects to the daemon
-      $machine->succeed("emacsclient --create-frame \$EDITOR &");
+      machine.succeed("emacsclient --create-frame $EDITOR &")
 
       # checks that Emacs shows the edited filename
-      $machine->waitForText("emacseditor");
+      machine.wait_for_text("emacseditor")
 
       # makes sure environment variables are accessible from Emacs
-      $machine->succeed("emacsclient --eval '(getenv \"TEST_SYSTEM_VARIABLE\")'") =~ /system variable/ or die;
+      machine.succeed(
+          "emacsclient --eval '(getenv \"TEST_SYSTEM_VARIABLE\")' | grep -q 'system variable'"
+      )
 
-      $machine->screenshot("emacsclient");
+      machine.screenshot("emacsclient")
     '';
 })
diff --git a/nixpkgs/nixos/tests/env.nix b/nixpkgs/nixos/tests/env.nix
index 6c681905b19f..e603338e489b 100644
--- a/nixpkgs/nixos/tests/env.nix
+++ b/nixpkgs/nixos/tests/env.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "environment";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -20,16 +20,17 @@ import ./make-test.nix ({ pkgs, ...} : {
       };
     };
 
-  testScript =
-    ''
-      $machine->succeed('[ -L "/etc/plainFile" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
-      $machine->succeed('[ -d "/etc/folder" ]');
-      $machine->succeed('[ -d "/etc/folder/with" ]');
-      $machine->succeed('[ -L "/etc/folder/with/file" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
+  testScript = ''
+    machine.succeed('[ -L "/etc/plainFile" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
+    machine.succeed('[ -d "/etc/folder" ]')
+    machine.succeed('[ -d "/etc/folder/with" ]')
+    machine.succeed('[ -L "/etc/folder/with/file" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
 
-      $machine->succeed('echo ''${TERMINFO_DIRS} | grep "/run/current-system/sw/share/terminfo"');
-      $machine->succeed('echo ''${NIXCON} | grep "awesome"');
-    '';
+    assert "/run/current-system/sw/share/terminfo" in machine.succeed(
+        "echo ''${TERMINFO_DIRS}"
+    )
+    assert "awesome" in machine.succeed("echo ''${NIXCON}")
+  '';
 })
diff --git a/nixpkgs/nixos/tests/etcd-cluster.nix b/nixpkgs/nixos/tests/etcd-cluster.nix
index 43fde7d59205..19c5d9158236 100644
--- a/nixpkgs/nixos/tests/etcd-cluster.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/etcd.nix b/nixpkgs/nixos/tests/etcd.nix
index 6c23b31779bc..842724343841 100644
--- a/nixpkgs/nixos/tests/etcd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/fancontrol.nix b/nixpkgs/nixos/tests/fancontrol.nix
new file mode 100644
index 000000000000..356cd57ffa1a
--- /dev/null
+++ b/nixpkgs/nixos/tests/fancontrol.nix
@@ -0,0 +1,28 @@
+import ./make-test-python.nix ({ pkgs, ... } : {
+  name = "fancontrol";
+
+  machine =
+    { ... }:
+    { hardware.fancontrol.enable = true;
+      hardware.fancontrol.config = ''
+        INTERVAL=42
+        DEVPATH=hwmon1=devices/platform/dummy
+        DEVNAME=hwmon1=dummy
+        FCTEMPS=hwmon1/device/pwm1=hwmon1/device/temp1_input
+        FCFANS=hwmon1/device/pwm1=hwmon1/device/fan1_input
+        MINTEMP=hwmon1/device/pwm1=25
+        MAXTEMP=hwmon1/device/pwm1=65
+        MINSTART=hwmon1/device/pwm1=150
+        MINSTOP=hwmon1/device/pwm1=0
+      '';
+    };
+
+  # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error.
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("fancontrol.service")
+    machine.wait_until_succeeds(
+        "journalctl -eu fancontrol | grep 'Configuration appears to be outdated'"
+    )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/ferm.nix b/nixpkgs/nixos/tests/ferm.nix
index b8e8663e3ad2..a73c9ce739cf 100644
--- a/nixpkgs/nixos/tests/ferm.nix
+++ b/nixpkgs/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 ];
@@ -22,6 +22,8 @@ import ./make-test.nix ({ pkgs, ...} : {
         {
           networking = {
             dhcpcd.enable = false;
+            useNetworkd = true;
+            useDHCP = false;
             interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
             interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
           };
@@ -51,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/nixpkgs/nixos/tests/firefox.nix b/nixpkgs/nixos/tests/firefox.nix
index f5b946a08810..56ddabbae771 100644
--- a/nixpkgs/nixos/tests/firefox.nix
+++ b/nixpkgs/nixos/tests/firefox.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "firefox";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco shlevy ];
@@ -11,19 +11,27 @@ import ./make-test.nix ({ pkgs, ... }: {
       environment.systemPackages = [ pkgs.firefox pkgs.xdotool ];
     };
 
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->execute("xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &");
-      $machine->waitForWindow(qr/Valgrind/);
-      $machine->sleep(40); # wait until Firefox has finished loading the page
-      $machine->execute("xdotool key space"); # do I want to make Firefox the
-                             # default browser? I just want to close the dialog
-      $machine->sleep(2); # wait until Firefox hides the default browser window
-      $machine->execute("xdotool key F12");
-      $machine->sleep(10); # wait until Firefox draws the developer tool panel
-      $machine->succeed("xwininfo -root -tree | grep Valgrind");
-      $machine->screenshot("screen");
+  testScript = ''
+      machine.wait_for_x()
+
+      with subtest("wait until Firefox has finished loading the Valgrind docs page"):
+          machine.execute(
+              "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &"
+          )
+          machine.wait_for_window("Valgrind")
+          machine.sleep(40)
+
+      with subtest("Close default browser prompt"):
+          machine.execute("xdotool key space")
+
+      with subtest("Hide default browser window"):
+          machine.sleep(2)
+          machine.execute("xdotool key F12")
+
+      with subtest("wait until Firefox draws the developer tool panel"):
+          machine.sleep(10)
+          machine.succeed("xwininfo -root -tree | grep Valgrind")
+          machine.screenshot("screen")
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/firewall.nix b/nixpkgs/nixos/tests/firewall.nix
index fcf758910e00..09a1fef852e6 100644
--- a/nixpkgs/nixos/tests/firewall.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/fish.nix b/nixpkgs/nixos/tests/fish.nix
index 97c4e8e37ac1..68fba428439b 100644
--- a/nixpkgs/nixos/tests/fish.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/flatpak-builder.nix b/nixpkgs/nixos/tests/flatpak-builder.nix
deleted file mode 100644
index 49b97e8ca99e..000000000000
--- a/nixpkgs/nixos/tests/flatpak-builder.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "flatpak-builder";
-  meta = {
-    maintainers = pkgs.flatpak-builder.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    services.flatpak.enable = true;
-    xdg.portal.enable = true;
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing flatpak-builder ] ++ flatpak-builder.installedTestsDependencies;
-    virtualisation.diskSize = 2048;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak-builder.installedTests}/share' --timeout 3600");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/flatpak.nix b/nixpkgs/nixos/tests/flatpak.nix
deleted file mode 100644
index b0c61830d05a..000000000000
--- a/nixpkgs/nixos/tests/flatpak.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "flatpak";
-  meta = {
-    maintainers = pkgs.flatpak.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
-    # common/x11.nix enables the auto display manager (lightdm)
-    services.xserver.displayManager.gdm.enable = false;
-    environment.gnome3.excludePackages = pkgs.gnome3.optionalPackages;
-    services.flatpak.enable = true;
-    environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ];
-    virtualisation.memorySize = 2047;
-    virtualisation.diskSize = 1024;
-  };
-
-  testScript = ''
-    $machine->waitForX();
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak.installedTests}/share' --timeout 3600");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/fluentd.nix b/nixpkgs/nixos/tests/fluentd.nix
index e5c4c3d21631..918f2f87db17 100644
--- a/nixpkgs/nixos/tests/fluentd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/fontconfig-default-fonts.nix b/nixpkgs/nixos/tests/fontconfig-default-fonts.nix
index 1991cec92189..68c6ac9e9c83 100644
--- a/nixpkgs/nixos/tests/fontconfig-default-fonts.nix
+++ b/nixpkgs/nixos/tests/fontconfig-default-fonts.nix
@@ -1,7 +1,12 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 {
   name = "fontconfig-default-fonts";
 
+  meta.maintainers = with lib.maintainers; [
+    jtojnar
+    worldofpeace
+  ];
+
   machine = { config, pkgs, ... }: {
     fonts.enableDefaultFonts = true; # Background fonts
     fonts.fonts = with pkgs; [
@@ -20,9 +25,9 @@ import ./make-test.nix ({ lib, ... }:
   };
 
   testScript = ''
-    $machine->succeed("fc-match serif | grep '\"Gentium Plus\"'");
-    $machine->succeed("fc-match sans-serif | grep '\"Cantarell\"'");
-    $machine->succeed("fc-match monospace | grep '\"Source Code Pro\"'");
-    $machine->succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'");
+    machine.succeed("fc-match serif | grep '\"Gentium Plus\"'")
+    machine.succeed("fc-match sans-serif | grep '\"Cantarell\"'")
+    machine.succeed("fc-match monospace | grep '\"Source Code Pro\"'")
+    machine.succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/fsck.nix b/nixpkgs/nixos/tests/fsck.nix
index f943bb7f2350..e522419fde2b 100644
--- a/nixpkgs/nixos/tests/fsck.nix
+++ b/nixpkgs/nixos/tests/fsck.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "fsck";
 
   machine = { lib, ... }: {
@@ -14,16 +14,18 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('default.target');
+    machine.wait_for_unit("default.target")
 
-    subtest "root fs is fsckd", sub {
-      $machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"');
-    };
+    with subtest("root fs is fsckd"):
+        machine.succeed("journalctl -b | grep 'fsck.ext4.*/dev/vda'")
 
-    subtest "mnt fs is fsckd", sub {
-      $machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"');
-      $machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
-      $machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
-    };
+    with subtest("mnt fs is fsckd"):
+        machine.succeed("journalctl -b | grep 'fsck.*/dev/vdb.*clean'")
+        machine.succeed(
+            "grep 'Requires=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount"
+        )
+        machine.succeed(
+            "grep 'After=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount"
+        )
   '';
 }
diff --git a/nixpkgs/nixos/tests/fwupd.nix b/nixpkgs/nixos/tests/fwupd.nix
deleted file mode 100644
index 88dac8ccbcdb..000000000000
--- a/nixpkgs/nixos/tests/fwupd.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "fwupd";
-
-  meta = {
-    maintainers = pkgs.fwupd.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    services.fwupd.enable = true;
-    services.fwupd.blacklistPlugins = []; # don't blacklist test plugin
-    services.fwupd.enableTestRemote = true;
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.fwupd.installedTests}/share" ];
-    virtualisation.memorySize = 768;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/gdk-pixbuf.nix b/nixpkgs/nixos/tests/gdk-pixbuf.nix
deleted file mode 100644
index 9a62b593f46d..000000000000
--- a/nixpkgs/nixos/tests/gdk-pixbuf.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "gdk-pixbuf";
-
-  meta = {
-    maintainers = pkgs.gdk-pixbuf.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk-pixbuf.installedTests}/share" ];
-
-    # Tests allocate a lot of memory trying to exploit a CVE
-    # but qemu-system-i386 has a 2047M memory limit
-    virtualisation.memorySize = if pkgs.stdenv.isi686 then 2047 else 4096;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -t 1800"); # increase timeout to 1800s
-  '';
-})
diff --git a/nixpkgs/nixos/tests/gitea.nix b/nixpkgs/nixos/tests/gitea.nix
index b8ab6dabc8c1..aaed2486421f 100644
--- a/nixpkgs/nixos/tests/gitea.nix
+++ b/nixpkgs/nixos/tests/gitea.nix
@@ -3,65 +3,107 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
-{
-  mysql = makeTest {
-    name = "gitea-mysql";
-    meta.maintainers = with maintainers; [ aanderse kolaente ];
+let
+  supportedDbTypes = [ "mysql" "postgres" "sqlite3" ];
+  makeGiteaTest = type: nameValuePair type (makeTest {
+    name = "gitea-${type}";
+    meta.maintainers = with maintainers; [ aanderse kolaente ma27 ];
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "mysql";
+    nodes = {
+      server = { config, pkgs, ... }: {
+        services.gitea = {
+          enable = true;
+          database = { inherit type; };
+          disableRegistration = true;
+        };
+        environment.systemPackages = [ pkgs.gitea pkgs.jq ];
+        services.openssh.enable = true;
       };
+      client1 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
+      };
+      client2 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
+      };
+    };
 
-    testScript = ''
-      startAll;
+    testScript = let
+      inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
+    in ''
+      GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no"
+      REPO = "gitea@server:test/repo"
+      PRIVK = "${snakeOilPrivateKey}"
 
-      $machine->waitForUnit('gitea.service');
-      $machine->waitForOpenPort('3000');
-      $machine->succeed("curl --fail http://localhost:3000/");
-    '';
-  };
+      start_all()
 
-  postgres = makeTest {
-    name = "gitea-postgres";
-    meta.maintainers = [ maintainers.aanderse ];
+      client1.succeed("mkdir /tmp/repo")
+      client1.succeed("mkdir -p $HOME/.ssh")
+      client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client1.succeed("chmod 0400 $HOME/.ssh/privk")
+      client1.succeed("git -C /tmp/repo init")
+      client1.succeed("echo hello world > /tmp/repo/testfile")
+      client1.succeed("git -C /tmp/repo add .")
+      client1.succeed("git config --global user.email test@localhost")
+      client1.succeed("git config --global user.name test")
+      client1.succeed("git -C /tmp/repo commit -m 'Initial import'")
+      client1.succeed(f"git -C /tmp/repo remote add origin {REPO}")
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "postgres";
-      };
+      server.wait_for_unit("gitea.service")
+      server.wait_for_open_port(3000)
+      server.succeed("curl --fail http://localhost:3000/")
 
-    testScript = ''
-      startAll;
+      server.succeed(
+          "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. "
+          + "Please contact your site administrator.'"
+      )
+      server.succeed(
+          "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin create-user "
+          + "--username test --password totallysafe --email test@localhost'"
+      )
 
-      $machine->waitForUnit('gitea.service');
-      $machine->waitForOpenPort('3000');
-      $machine->succeed("curl --fail http://localhost:3000/");
-    '';
-  };
+      api_token = server.succeed(
+          "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d "
+          + "'{\"name\":\"token\"}' | jq '.sha1' | xargs echo -n"
+      )
 
-  sqlite = makeTest {
-    name = "gitea-sqlite";
-    meta.maintainers = [ maintainers.aanderse ];
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/repos "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\'''
+      )
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.disableRegistration = true;
-      };
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/keys "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\'''
+      )
+
+      client1.succeed(
+          f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master"
+      )
 
-    testScript = ''
-      startAll;
+      client2.succeed("mkdir -p $HOME/.ssh")
+      client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client2.succeed("chmod 0400 $HOME/.ssh/privk")
+      client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
+      client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
 
-      $machine->waitForUnit('gitea.service');
-      $machine->waitForOpenPort('3000');
-      $machine->succeed("curl --fail http://localhost:3000/");
-      $machine->succeed("curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'");
+      server.succeed(
+          'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits '
+          + '-H "Accept: application/json" | jq length)" = "1"'
+      )
+
+      client1.shutdown()
+      client2.shutdown()
+      server.shutdown()
     '';
-  };
-}
+  });
+in
+
+listToAttrs (map makeGiteaTest supportedDbTypes)
diff --git a/nixpkgs/nixos/tests/gitlab.nix b/nixpkgs/nixos/tests/gitlab.nix
index be0b3c8746a9..7e4e8bcef92d 100644
--- a/nixpkgs/nixos/tests/gitlab.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix b/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix
new file mode 100644
index 000000000000..414b7d6fe7ef
--- /dev/null
+++ b/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix
@@ -0,0 +1,93 @@
+import ./make-test-python.nix (
+  { pkgs, ... }:
+
+    let
+      user = "gitolite-admin";
+      password = "some_password";
+
+      # not used but needed to setup gitolite
+      adminPublicKey = ''
+        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client
+      '';
+    in
+      {
+        name = "gitolite-fcgiwrap";
+
+        meta = with pkgs.stdenv.lib.maintainers; {
+          maintainers = [ bbigras ];
+        };
+
+        nodes = {
+
+          server =
+            { ... }:
+              {
+                networking.firewall.allowedTCPPorts = [ 80 ];
+
+                services.fcgiwrap.enable = true;
+                services.gitolite = {
+                  enable = true;
+                  adminPubkey = adminPublicKey;
+                };
+
+                services.nginx = {
+                  enable = true;
+                  recommendedProxySettings = true;
+                  virtualHosts."server".locations."/git".extraConfig = ''
+                    # turn off gzip as git objects are already well compressed
+                    gzip off;
+
+                    # use file based basic authentication
+                    auth_basic "Git Repository Authentication";
+                    auth_basic_user_file /etc/gitolite/htpasswd;
+
+                    # common FastCGI parameters are required
+                    include ${pkgs.nginx}/conf/fastcgi_params;
+
+                    # strip the CGI program prefix
+                    fastcgi_split_path_info ^(/git)(.*)$;
+                    fastcgi_param PATH_INFO $fastcgi_path_info;
+
+                    # pass authenticated user login(mandatory) to Gitolite
+                    fastcgi_param REMOTE_USER $remote_user;
+
+                    # pass git repository root directory and hosting user directory
+                    # these env variables can be set in a wrapper script
+                    fastcgi_param GIT_HTTP_EXPORT_ALL "";
+                    fastcgi_param GIT_PROJECT_ROOT /var/lib/gitolite/repositories;
+                    fastcgi_param GITOLITE_HTTP_HOME /var/lib/gitolite;
+                    fastcgi_param SCRIPT_FILENAME ${pkgs.gitolite}/bin/gitolite-shell;
+
+                    # use Unix domain socket or inet socket
+                    fastcgi_pass unix:/run/fcgiwrap.sock;
+                  '';
+                };
+
+                # WARNING: DON'T DO THIS IN PRODUCTION!
+                # This puts unhashed secrets directly into the Nix store for ease of testing.
+                environment.etc."gitolite/htpasswd".source = pkgs.runCommand "htpasswd" {} ''
+                  ${pkgs.apacheHttpd}/bin/htpasswd -bc "$out" ${user} ${password}
+                '';
+              };
+
+          client =
+            { pkgs, ... }:
+              {
+                environment.systemPackages = [ pkgs.git ];
+              };
+        };
+
+        testScript = ''
+          start_all()
+
+          server.wait_for_unit("gitolite-init.service")
+          server.wait_for_unit("nginx.service")
+          server.wait_for_file("/run/fcgiwrap.sock")
+
+          client.wait_for_unit("multi-user.target")
+          client.succeed(
+              "git clone http://${user}:${password}@server/git/gitolite-admin.git"
+          )
+        '';
+      }
+)
diff --git a/nixpkgs/nixos/tests/gitolite.nix b/nixpkgs/nixos/tests/gitolite.nix
index 690e456ed7c8..a928645bd80f 100644
--- a/nixpkgs/nixos/tests/gitolite.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gjs.nix b/nixpkgs/nixos/tests/gjs.nix
deleted file mode 100644
index e6002ef98dd0..000000000000
--- a/nixpkgs/nixos/tests/gjs.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "gjs";
-
-  meta = {
-    maintainers = pkgs.gnome3.gjs.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.gnome3.gjs.installedTests}/share" ];
-  };
-
-  testScript = ''
-    $machine->waitForX;
-    $machine->succeed("gnome-desktop-testing-runner");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/glib-networking.nix b/nixpkgs/nixos/tests/glib-networking.nix
deleted file mode 100644
index c0bbb2b3554b..000000000000
--- a/nixpkgs/nixos/tests/glib-networking.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "glib-networking";
-  meta = {
-    maintainers = pkgs.glib-networking.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.glib-networking.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/glusterfs.nix b/nixpkgs/nixos/tests/glusterfs.nix
index 9fd8bd2ed129..8f9cb8973d51 100644
--- a/nixpkgs/nixos/tests/glusterfs.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gnome-photos.nix b/nixpkgs/nixos/tests/gnome-photos.nix
deleted file mode 100644
index 2ecda1d68ce3..000000000000
--- a/nixpkgs/nixos/tests/gnome-photos.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, lib, ... }:
-
-let
-
-  # gsettings tool with access to gsettings-desktop-schemas
-  desktop-gsettings = with pkgs; stdenv.mkDerivation {
-    name = "desktop-gsettings";
-    dontUnpack = true;
-    nativeBuildInputs = [ glib wrapGAppsHook ];
-    buildInputs = [ gsettings-desktop-schemas ];
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/bin
-      ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings
-      runHook postInstall
-    '';
-  };
-
-in
-
-{
-  name = "gnome-photos";
-  meta = {
-    maintainers = pkgs.gnome-photos.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    programs.dconf.enable = true;
-    services.gnome3.at-spi2-core.enable = true; # needed for dogtail
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing desktop-gsettings ];
-    services.dbus.packages = with pkgs; [ gnome-photos ];
-  };
-
-  testScript = ''
-    $machine->waitForX;
-    # dogtail needs accessibility enabled
-    $machine->succeed("desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1");
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.gnome-photos.installedTests}/share' 2>&1");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/gnome3-xorg.nix b/nixpkgs/nixos/tests/gnome3-xorg.nix
index f12361da0372..f793bb922ad7 100644
--- a/nixpkgs/nixos/tests/gnome3-xorg.nix
+++ b/nixpkgs/nixos/tests/gnome3-xorg.nix
@@ -1,41 +1,79 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "gnome3-xorg";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = pkgs.gnome3.maintainers;
   };
 
-  machine =
-    { ... }:
+  machine = { nodes, ... }: let
+    user = nodes.machine.config.users.users.alice;
+  in
 
     { imports = [ ./common/user-account.nix ];
 
       services.xserver.enable = true;
 
-      services.xserver.displayManager.gdm.enable = false;
-      services.xserver.displayManager.lightdm.enable = true;
-      services.xserver.displayManager.lightdm.autoLogin.enable = true;
-      services.xserver.displayManager.lightdm.autoLogin.user = "alice";
+      services.xserver.displayManager.gdm = {
+        enable = true;
+        autoLogin = {
+          enable = true;
+          user = user.name;
+        };
+      };
+
       services.xserver.desktopManager.gnome3.enable = true;
-      services.xserver.desktopManager.default = "gnome-xorg";
+      services.xserver.displayManager.defaultSession = "gnome-xorg";
 
       virtualisation.memorySize = 1024;
     };
 
-  testScript =
-    ''
-      $machine->waitForX;
+  testScript = { nodes, ... }: let
+    user = nodes.machine.config.users.users.alice;
+    uid = toString user.uid;
+    bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
+    xauthority = "/run/user/${uid}/gdm/Xauthority";
+    display = "DISPLAY=:0.0";
+    env = "${bus} XAUTHORITY=${xauthority} ${display}";
+    gdbus = "${env} gdbus";
+    su = command: "su - ${user.name} -c '${env} ${command}'";
+
+    # Call javascript in gnome shell, returns a tuple (success, output), where
+    # `success` is true if the dbus call was successful and output is what the
+    # javascript evaluates to.
+    eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
+
+    # False when startup is done
+    startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp";
+
+    # Start gnome-terminal
+    gnomeTerminalCommand = su "gnome-terminal";
 
-      # wait for alice to be logged in
-      $machine->waitForUnit("default.target","alice");
+    # Hopefully gnome-terminal's wm class
+    wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
+  in ''
+      with subtest("Login to GNOME Xorg with GDM"):
+          machine.wait_for_x()
+          # Wait for alice to be logged in"
+          machine.wait_for_unit("default.target", "${user.name}")
+          machine.wait_for_file("${xauthority}")
+          machine.succeed("xauth merge ${xauthority}")
+          # Check that logging in has given the user ownership of devices
+          assert "alice" in machine.succeed("getfacl -p /dev/snd/timer")
 
-      # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+      with subtest("Wait for GNOME Shell"):
+          # correct output should be (true, 'false')
+          machine.wait_until_succeeds(
+              "${startingUp} | grep -q 'true,..false'"
+          )
 
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
-      $machine->waitForWindow(qr/alice.*machine/);
-      $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'");
-      $machine->sleep(10);
-      $machine->screenshot("screen");
+      with subtest("Open Gnome Terminal"):
+          machine.succeed(
+              "${gnomeTerminalCommand}"
+          )
+          # correct output should be (true, '"Gnome-terminal"')
+          machine.wait_until_succeeds(
+              "${wmClass} | grep -q  'true,...Gnome-terminal'"
+          )
+          machine.sleep(20)
+          machine.screenshot("screen")
     '';
 })
diff --git a/nixpkgs/nixos/tests/gnome3.nix b/nixpkgs/nixos/tests/gnome3.nix
index b6fe602a7327..ab363efb6a19 100644
--- a/nixpkgs/nixos/tests/gnome3.nix
+++ b/nixpkgs/nixos/tests/gnome3.nix
@@ -44,7 +44,7 @@ import ./make-test.nix ({ pkgs, ...} : {
       $machine->waitForUnit("default.target","alice");
 
       # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+      $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
 
       # Wait for the wayland server
       $machine->waitForFile("/run/user/1000/wayland-0");
diff --git a/nixpkgs/nixos/tests/gocd-agent.nix b/nixpkgs/nixos/tests/gocd-agent.nix
index 50470379576b..5b630a40736e 100644
--- a/nixpkgs/nixos/tests/gocd-agent.nix
+++ b/nixpkgs/nixos/tests/gocd-agent.nix
@@ -9,14 +9,18 @@ let
   header = "Accept: application/vnd.go.cd.v2+json";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "gocd-agent";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ grahamc swarren83 ];
+
+    # gocd agent needs to register with the autoregister key created on first server startup,
+    # but NixOS module doesn't seem to allow to pass during runtime currently
+    broken = true;
   };
 
   nodes = {
-    gocd_agent =
+    agent =
       { ... }:
       {
         virtualisation.memorySize = 2046;
@@ -30,11 +34,15 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $gocd_agent->waitForUnit("gocd-server");
-    $gocd_agent->waitForOpenPort("8153");
-    $gocd_agent->waitForUnit("gocd-agent");
-    $gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid");
-    $gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle");
+    start_all()
+    agent.wait_for_unit("gocd-server")
+    agent.wait_for_open_port("8153")
+    agent.wait_for_unit("gocd-agent")
+    agent.wait_until_succeeds(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"
+    )
+    agent.succeed(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/gocd-server.nix b/nixpkgs/nixos/tests/gocd-server.nix
index 80cf04ed6404..20faf85a1ccd 100644
--- a/nixpkgs/nixos/tests/gocd-server.nix
+++ b/nixpkgs/nixos/tests/gocd-server.nix
@@ -2,7 +2,7 @@
 #   1. GoCD server starts
 #   2. GoCD server responds
 
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "gocd-server";
@@ -10,19 +10,19 @@ import ./make-test.nix ({ pkgs, ...} :
     maintainers = [ swarren83 ];
   };
 
-nodes = {
-  gocd_server =
-    { ... }:
-    {
-      virtualisation.memorySize = 2046;
-      services.gocd-server.enable = true;
-    };
-};
+  nodes = {
+    server =
+      { ... }:
+      {
+        virtualisation.memorySize = 2046;
+        services.gocd-server.enable = true;
+      };
+  };
 
   testScript = ''
-    $gocd_server->start;
-    $gocd_server->waitForUnit("gocd-server");
-    $gocd_server->waitForOpenPort("8153");
-    $gocd_server->waitUntilSucceeds("curl -s -f localhost:8153/go");
+    server.start()
+    server.wait_for_unit("gocd-server")
+    server.wait_for_open_port(8153)
+    server.wait_until_succeeds("curl -s -f localhost:8153/go")
   '';
 })
diff --git a/nixpkgs/nixos/tests/google-oslogin/default.nix b/nixpkgs/nixos/tests/google-oslogin/default.nix
index 3b84bba3f985..1977e92e9877 100644
--- a/nixpkgs/nixos/tests/google-oslogin/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gotify-server.nix b/nixpkgs/nixos/tests/gotify-server.nix
new file mode 100644
index 000000000000..c6e00686aed9
--- /dev/null
+++ b/nixpkgs/nixos/tests/gotify-server.nix
@@ -0,0 +1,45 @@
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
+  name = "gotify-server";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ma27 ];
+  };
+
+  machine = { pkgs, ... }: {
+    environment.systemPackages = [ pkgs.jq ];
+
+    services.gotify = {
+      enable = true;
+      port = 3000;
+    };
+  };
+
+  testScript = ''
+    machine.start()
+
+    machine.wait_for_unit("gotify-server.service")
+    machine.wait_for_open_port(3000)
+
+    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"
+    )
+
+    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(
+        f"curl --fail -sS -X POST 'localhost:3000/message?token={token}' -H 'Accept: application/json' "
+        + "-F title=Gotify -F message=Works"
+    )
+
+    title = machine.succeed(
+        f"curl --fail -sS 'localhost:3000/message?since=0&token={usertoken}' | jq '.messages|.[0]|.title' | xargs echo -n"
+    )
+
+    assert title == "Gotify"
+  '';
+})
diff --git a/nixpkgs/nixos/tests/grafana.nix b/nixpkgs/nixos/tests/grafana.nix
index 7a1b4c8ffbbc..4b453ece7f1e 100644
--- a/nixpkgs/nixos/tests/grafana.nix
+++ b/nixpkgs/nixos/tests/grafana.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 let
   inherit (lib) mkMerge nameValuePair maintainers;
@@ -64,28 +64,34 @@ in {
   inherit nodes;
 
   testScript = ''
-    startAll();
+    start_all()
 
-    subtest "Grafana sqlite", sub {
-      $sqlite->waitForUnit("grafana.service");
-      $sqlite->waitForOpenPort(3000);
-      $sqlite->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with sqlite db"):
+        sqlite.wait_for_unit("grafana.service")
+        sqlite.wait_for_open_port(3000)
+        sqlite.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        sqlite.shutdown()
 
-    subtest "Grafana postgresql", sub {
-      $postgresql->waitForUnit("grafana.service");
-      $postgresql->waitForUnit("postgresql.service");
-      $postgresql->waitForOpenPort(3000);
-      $postgresql->waitForOpenPort(5432);
-      $postgresql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with postgresql db"):
+        postgresql.wait_for_unit("grafana.service")
+        postgresql.wait_for_unit("postgresql.service")
+        postgresql.wait_for_open_port(3000)
+        postgresql.wait_for_open_port(5432)
+        postgresql.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        postgresql.shutdown()
 
-    subtest "Grafana mysql", sub {
-      $mysql->waitForUnit("grafana.service");
-      $mysql->waitForUnit("mysql.service");
-      $mysql->waitForOpenPort(3000);
-      $mysql->waitForOpenPort(3306);
-      $mysql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with mysql db"):
+        mysql.wait_for_unit("grafana.service")
+        mysql.wait_for_unit("mysql.service")
+        mysql.wait_for_open_port(3000)
+        mysql.wait_for_open_port(3306)
+        mysql.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        mysql.shutdown()
   '';
 })
diff --git a/nixpkgs/nixos/tests/graphene.nix b/nixpkgs/nixos/tests/graphene.nix
deleted file mode 100644
index 5591bcc30c07..000000000000
--- a/nixpkgs/nixos/tests/graphene.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "graphene";
-
-  meta = {
-    maintainers = pkgs.graphene.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.graphene.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/graylog.nix b/nixpkgs/nixos/tests/graylog.nix
index dc54afd1d26d..2d22012fa7c0 100644
--- a/nixpkgs/nixos/tests/graylog.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gvisor.nix b/nixpkgs/nixos/tests/gvisor.nix
new file mode 100644
index 000000000000..4d68a1d8a5f8
--- /dev/null
+++ b/nixpkgs/nixos/tests/gvisor.nix
@@ -0,0 +1,49 @@
+# This test runs a container through gvisor and checks if simple container starts
+
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "gvisor";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ andrew-d ];
+  };
+
+  nodes = {
+    gvisor =
+      { pkgs, ... }:
+        {
+          virtualisation.docker = {
+            enable = true;
+            extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc";
+          };
+
+          networking = {
+            dhcpcd.enable = false;
+            defaultGateway = "192.168.1.1";
+            interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+              { address = "192.168.1.2"; prefixLength = 24; }
+            ];
+          };
+        };
+    };
+
+  testScript = ''
+    start_all()
+
+    gvisor.wait_for_unit("network.target")
+    gvisor.wait_for_unit("sockets.target")
+
+    # Start by verifying that gvisor itself works
+    output = gvisor.succeed(
+        "${pkgs.gvisor}/bin/runsc -alsologtostderr do ${pkgs.coreutils}/bin/echo hello world"
+    )
+    assert output.strip() == "hello world"
+
+    # Also test the Docker runtime
+    gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    gvisor.succeed(
+        "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    gvisor.succeed("docker ps | grep sleeping")
+    gvisor.succeed("docker stop sleeping")
+  '';
+})
+
diff --git a/nixpkgs/nixos/tests/hadoop/hdfs.nix b/nixpkgs/nixos/tests/hadoop/hdfs.nix
index e7d72a56e1e7..85aaab34b158 100644
--- a/nixpkgs/nixos/tests/hadoop/hdfs.nix
+++ b/nixpkgs/nixos/tests/hadoop/hdfs.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({...}: {
+import ../make-test-python.nix ({...}: {
   nodes = {
     namenode = {pkgs, ...}: {
       services.hadoop = {
@@ -35,20 +35,20 @@ import ../make-test.nix ({...}: {
   };
 
   testScript = ''
-    startAll
+    start_all()
 
-    $namenode->waitForUnit("hdfs-namenode");
-    $namenode->waitForUnit("network.target");
-    $namenode->waitForOpenPort(8020);
-    $namenode->waitForOpenPort(9870);
+    namenode.wait_for_unit("hdfs-namenode")
+    namenode.wait_for_unit("network.target")
+    namenode.wait_for_open_port(8020)
+    namenode.wait_for_open_port(9870)
 
-    $datanode->waitForUnit("hdfs-datanode");
-    $datanode->waitForUnit("network.target");
-    $datanode->waitForOpenPort(9864);
-    $datanode->waitForOpenPort(9866);
-    $datanode->waitForOpenPort(9867);
+    datanode.wait_for_unit("hdfs-datanode")
+    datanode.wait_for_unit("network.target")
+    datanode.wait_for_open_port(9864)
+    datanode.wait_for_open_port(9866)
+    datanode.wait_for_open_port(9867)
 
-    $namenode->succeed("curl http://namenode:9870");
-    $datanode->succeed("curl http://datanode:9864");
+    namenode.succeed("curl http://namenode:9870")
+    datanode.succeed("curl http://datanode:9864")
   '';
 })
diff --git a/nixpkgs/nixos/tests/hadoop/yarn.nix b/nixpkgs/nixos/tests/hadoop/yarn.nix
index 031592301f17..2264ecaff155 100644
--- a/nixpkgs/nixos/tests/hadoop/yarn.nix
+++ b/nixpkgs/nixos/tests/hadoop/yarn.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({...}: {
+import ../make-test-python.nix ({...}: {
   nodes = {
     resourcemanager = {pkgs, ...}: {
       services.hadoop.package = pkgs.hadoop_3_1;
@@ -28,19 +28,19 @@ import ../make-test.nix ({...}: {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $resourcemanager->waitForUnit("yarn-resourcemanager");
-    $resourcemanager->waitForUnit("network.target");
-    $resourcemanager->waitForOpenPort(8031);
-    $resourcemanager->waitForOpenPort(8088);
+    resourcemanager.wait_for_unit("yarn-resourcemanager")
+    resourcemanager.wait_for_unit("network.target")
+    resourcemanager.wait_for_open_port(8031)
+    resourcemanager.wait_for_open_port(8088)
 
-    $nodemanager->waitForUnit("yarn-nodemanager");
-    $nodemanager->waitForUnit("network.target");
-    $nodemanager->waitForOpenPort(8042);
-    $nodemanager->waitForOpenPort(8041);
+    nodemanager.wait_for_unit("yarn-nodemanager")
+    nodemanager.wait_for_unit("network.target")
+    nodemanager.wait_for_open_port(8042)
+    nodemanager.wait_for_open_port(8041)
 
-    $resourcemanager->succeed("curl http://localhost:8088");
-    $nodemanager->succeed("curl http://localhost:8042");
+    resourcemanager.succeed("curl http://localhost:8088")
+    nodemanager.succeed("curl http://localhost:8042")
   '';
 })
diff --git a/nixpkgs/nixos/tests/haka.nix b/nixpkgs/nixos/tests/haka.nix
index 6277ebb4933f..3ca19cb0971c 100644
--- a/nixpkgs/nixos/tests/haka.nix
+++ b/nixpkgs/nixos/tests/haka.nix
@@ -1,6 +1,6 @@
 # This test runs haka and probes it with hakactl
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "haka";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ tvestelind ];
@@ -15,10 +15,10 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $haka->waitForUnit("haka.service");
-    $haka->succeed("hakactl status");
-    $haka->succeed("hakactl stop");
+    haka.wait_for_unit("haka.service")
+    haka.succeed("hakactl status")
+    haka.succeed("hakactl stop")
   '';
 })
diff --git a/nixpkgs/nixos/tests/handbrake.nix b/nixpkgs/nixos/tests/handbrake.nix
index ae87e1f69a7d..e5fb6b269b19 100644
--- a/nixpkgs/nixos/tests/handbrake.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/haproxy.nix b/nixpkgs/nixos/tests/haproxy.nix
index 22a83e9d1eab..79f34b07faf4 100644
--- a/nixpkgs/nixos/tests/haproxy.nix
+++ b/nixpkgs/nixos/tests/haproxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...}: {
+import ./make-test-python.nix ({ pkgs, ...}: {
   name = "haproxy";
   nodes = {
     machine = { ... }: {
@@ -16,26 +16,32 @@ import ./make-test.nix ({ pkgs, ...}: {
           frontend http
             bind *:80
             mode http
+            option http-use-htx
+            http-request use-service prometheus-exporter if { path /metrics }
             use_backend http_server
         '';
       };
       services.httpd = {
         enable = true;
-        documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
-        adminAddr = "notme@yourhost.local";
-        listen = [{
-          ip = "::1";
-          port = 8000;
-        }];
+        virtualHosts.localhost = {
+          documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
+          adminAddr = "notme@yourhost.local";
+          listen = [{
+            ip = "::1";
+            port = 8000;
+          }];
+        };
       };
     };
   };
   testScript = ''
-    startAll;
-    $machine->waitForUnit('multi-user.target');
-    $machine->waitForUnit('haproxy.service');
-    $machine->waitForUnit('httpd.service');
-    $machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"');
-
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("haproxy.service")
+    machine.wait_for_unit("httpd.service")
+    assert "We are all good!" in machine.succeed("curl -k http://localhost:80/index.txt")
+    assert "haproxy_process_pool_allocated_bytes" in machine.succeed(
+        "curl -k http://localhost:80/metrics"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/hibernate.nix b/nixpkgs/nixos/tests/hibernate.nix
index 274aa7becc82..8251c6e7ef85 100644
--- a/nixpkgs/nixos/tests/hibernate.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/hitch/default.nix b/nixpkgs/nixos/tests/hitch/default.nix
index cb24c4dcffc2..904d12619d70 100644
--- a/nixpkgs/nixos/tests/hitch/default.nix
+++ b/nixpkgs/nixos/tests/hitch/default.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ... }:
+import ../make-test-python.nix ({ pkgs, ... }:
 {
   name = "hitch";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -16,18 +16,18 @@ import ../make-test.nix ({ pkgs, ... }:
 
     services.httpd = {
       enable = true;
-      documentRoot = ./example;
+      virtualHosts.localhost.documentRoot = ./example;
       adminAddr = "noone@testing.nowhere";
     };
   };
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('hitch.service');
-      $machine->waitForOpenPort(443);
-      $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("hitch.service")
+      machine.wait_for_open_port(443)
+      assert "We are all good!" in machine.succeed("curl -k https://localhost:443/index.txt")
     '';
 })
diff --git a/nixpkgs/nixos/tests/home-assistant.nix b/nixpkgs/nixos/tests/home-assistant.nix
index 6b53914fd859..80dca43f1f3d 100644
--- a/nixpkgs/nixos/tests/home-assistant.nix
+++ b/nixpkgs/nixos/tests/home-assistant.nix
@@ -1,11 +1,10 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   configDir = "/var/lib/foobar";
   apiPassword = "some_secret";
   mqttPassword = "another_secret";
   hassCli = "hass-cli --server http://hass:8123 --password '${apiPassword}'";
-
 in {
   name = "home-assistant";
   meta = with pkgs.stdenv.lib; {
@@ -69,36 +68,44 @@ in {
   };
 
   testScript = ''
-    startAll;
-    $hass->waitForUnit("home-assistant.service");
-
-    # The config is specified using a Nix attribute set,
-    # converted from JSON to YAML, and linked to the config dir
-    $hass->succeed("test -L ${configDir}/configuration.yaml");
-    # The lovelace config is copied because lovelaceConfigWritable = true
-    $hass->succeed("test -f ${configDir}/ui-lovelace.yaml");
-
-    # Check that Home Assistant's web interface and API can be reached
-    $hass->waitForOpenPort(8123);
-    $hass->succeed("curl --fail http://localhost:8123/states");
-    $hass->succeed("curl --fail -H 'x-ha-access: ${apiPassword}' http://localhost:8123/api/ | grep -qF 'API running'");
-
-    # Toggle a binary sensor using MQTT
-    $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'");
-    $hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light");
-    $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'");
-
-    # Toggle a binary sensor using hass-cli
-    $hass->succeed("${hassCli} --output json state get binary_sensor.mqtt_binary_sensor | grep -qF '\"state\": \"on\"'");
-    $hass->succeed("${hassCli} state edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'");
-    $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'");
-
-    # Print log to ease debugging
-    my $log = $hass->succeed("cat ${configDir}/home-assistant.log");
-    print "\n### home-assistant.log ###\n";
-    print "$log\n";
+    start_all()
+    hass.wait_for_unit("home-assistant.service")
+    with subtest("Check that YAML configuration file is in place"):
+        hass.succeed("test -L ${configDir}/configuration.yaml")
+    with subtest("lovelace config is copied because lovelaceConfigWritable = true"):
+        hass.succeed("test -f ${configDir}/ui-lovelace.yaml")
+    with subtest("Check that Home Assistant's web interface and API can be reached"):
+        hass.wait_for_open_port(8123)
+        hass.succeed("curl --fail http://localhost:8123/states")
+        assert "API running" in hass.succeed(
+            "curl --fail -H 'x-ha-access: ${apiPassword}' http://localhost:8123/api/"
+        )
+    with subtest("Toggle a binary sensor using MQTT"):
+        assert '"state": "off"' in hass.succeed(
+            "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'"
+        )
+        hass.wait_until_succeeds(
+            "mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light"
+        )
+        assert '"state": "on"' in hass.succeed(
+            "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'"
+        )
+    with subtest("Toggle a binary sensor using hass-cli"):
+        assert '"state": "on"' in hass.succeed(
+            "${hassCli} --output json state get binary_sensor.mqtt_binary_sensor"
+        )
+        hass.succeed(
+            "${hassCli} state edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'"
+        )
+        assert '"state": "off"' in hass.succeed(
+            "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'"
+        )
+    with subtest("Print log to ease debugging"):
+        output_log = hass.succeed("cat ${configDir}/home-assistant.log")
+        print("\n### home-assistant.log ###\n")
+        print(output_log + "\n")
 
-    # Check that no errors were logged
-    $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
+    with subtest("Check that no errors were logged"):
+        assert "ERROR" not in output_log
   '';
 })
diff --git a/nixpkgs/nixos/tests/hound.nix b/nixpkgs/nixos/tests/hound.nix
index cb8e25332c07..27c65abdf27c 100644
--- a/nixpkgs/nixos/tests/hound.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/hydra/default.nix b/nixpkgs/nixos/tests/hydra/default.nix
index 6ca05a2c7797..1c0ed3369b1c 100644
--- a/nixpkgs/nixos/tests/hydra/default.nix
+++ b/nixpkgs/nixos/tests/hydra/default.nix
@@ -30,11 +30,11 @@ let
   callTest = f: f { inherit system pkgs; };
 
   hydraPkgs = {
-    inherit (pkgs) nixStable nixUnstable;
+    inherit (pkgs) nixStable nixUnstable nixFlakes;
   };
 
   tests = pkgs.lib.flip pkgs.lib.mapAttrs hydraPkgs (name: nix:
-    callTest (import ../make-test.nix ({ pkgs, lib, ... }:
+    callTest (import ../make-test-python.nix ({ pkgs, lib, ... }:
       {
         name = "hydra-with-${name}";
         meta = with pkgs.stdenv.lib.maintainers; {
@@ -73,26 +73,30 @@ let
 
         testScript = ''
           # let the system boot up
-          $machine->waitForUnit("multi-user.target");
+          machine.wait_for_unit("multi-user.target")
           # test whether the database is running
-          $machine->waitForUnit("postgresql.service");
+          machine.wait_for_unit("postgresql.service")
           # test whether the actual hydra daemons are running
-          $machine->waitForUnit("hydra-init.service");
-          $machine->requireActiveUnit("hydra-queue-runner.service");
-          $machine->requireActiveUnit("hydra-evaluator.service");
-          $machine->requireActiveUnit("hydra-notify.service");
+          machine.wait_for_unit("hydra-init.service")
+          machine.require_unit_state("hydra-queue-runner.service")
+          machine.require_unit_state("hydra-evaluator.service")
+          machine.require_unit_state("hydra-notify.service")
 
-          $machine->succeed("hydra-create-user admin --role admin --password admin");
+          machine.succeed("hydra-create-user admin --role admin --password admin")
 
           # create a project with a trivial job
-          $machine->waitForOpenPort(3000);
+          machine.wait_for_open_port(3000)
 
           # make sure the build as been successfully built
-          $machine->succeed("create-trivial-project.sh");
+          machine.succeed("create-trivial-project.sh")
 
-          $machine->waitUntilSucceeds('curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" |  jq .buildstatus | xargs test 0 -eq');
+          machine.wait_until_succeeds(
+              'curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" |  jq .buildstatus | xargs test 0 -eq'
+          )
 
-          $machine->waitUntilSucceeds('journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"');
+          machine.wait_until_succeeds(
+              'journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"'
+          )
         '';
       })));
 
diff --git a/nixpkgs/nixos/tests/i3wm.nix b/nixpkgs/nixos/tests/i3wm.nix
index d309f19a0b4a..126178d11879 100644
--- a/nixpkgs/nixos/tests/i3wm.nix
+++ b/nixpkgs/nixos/tests/i3wm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "i3wm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig ];
@@ -7,29 +7,40 @@ import ./make-test.nix ({ pkgs, ...} : {
   machine = { lib, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     services.xserver.displayManager.auto.user = "alice";
-    services.xserver.windowManager.default = lib.mkForce "i3";
+    services.xserver.displayManager.defaultSession = lib.mkForce "none+i3";
     services.xserver.windowManager.i3.enable = true;
   };
 
   testScript = { ... }: ''
-    $machine->waitForX;
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->waitForWindow(qr/first configuration/);
-    $machine->sleep(2);
-    $machine->screenshot("started");
-    $machine->sendKeys("ret");
-    $machine->sleep(2);
-    $machine->sendKeys("alt");
-    $machine->sleep(2);
-    $machine->screenshot("configured");
-    $machine->sendKeys("ret");
-    # make sure the config file is created before we continue
-    $machine->waitForFile("/home/alice/.config/i3/config");
-    $machine->sleep(2);
-    $machine->sendKeys("alt-ret");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(2);
-    $machine->screenshot("terminal");
+    with subtest("ensure x starts"):
+        machine.wait_for_x()
+        machine.wait_for_file("/home/alice/.Xauthority")
+        machine.succeed("xauth merge ~alice/.Xauthority")
+
+    with subtest("ensure we get first configuration window"):
+        machine.wait_for_window(r".*?first configuration.*?")
+        machine.sleep(2)
+        machine.screenshot("started")
+
+    with subtest("ensure we generate and save a config"):
+        # press return to indicate we want to gen a new config
+        machine.send_key("\n")
+        machine.sleep(2)
+        machine.screenshot("preconfig")
+        # press alt then return to indicate we want to use alt as our Mod key
+        machine.send_key("alt")
+        machine.send_key("\n")
+        machine.sleep(2)
+        # make sure the config file is created before we continue
+        machine.wait_for_file("/home/alice/.config/i3/config")
+        machine.screenshot("postconfig")
+        machine.sleep(2)
+
+    with subtest("ensure we can open a new terminal"):
+        machine.send_key("alt-ret")
+        machine.sleep(2)
+        machine.wait_for_window(r"alice.*?machine")
+        machine.sleep(2)
+        machine.screenshot("terminal")
   '';
 })
diff --git a/nixpkgs/nixos/tests/icingaweb2.nix b/nixpkgs/nixos/tests/icingaweb2.nix
index ea1b94c526b1..2f65604539c1 100644
--- a/nixpkgs/nixos/tests/icingaweb2.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/iftop.nix b/nixpkgs/nixos/tests/iftop.nix
index a4f524ceb27b..8a161027c2ad 100644
--- a/nixpkgs/nixos/tests/iftop.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ihatemoney.nix b/nixpkgs/nixos/tests/ihatemoney.nix
new file mode 100644
index 000000000000..14db17fe5e67
--- /dev/null
+++ b/nixpkgs/nixos/tests/ihatemoney.nix
@@ -0,0 +1,52 @@
+{ system ? builtins.currentSystem
+, config ? {}
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+let
+  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+in
+map (
+  backend: makeTest {
+    name = "ihatemoney-${backend}";
+    machine = { lib, ... }: {
+      services.ihatemoney = {
+        enable = true;
+        enablePublicProjectCreation = true;
+        inherit backend;
+        uwsgiConfig = {
+          http = ":8000";
+        };
+      };
+      boot.cleanTmpDir = true;
+      # ihatemoney needs a local smtp server otherwise project creation just crashes
+      services.opensmtpd = {
+        enable = true;
+        serverConfiguration = ''
+          listen on lo
+          action foo relay
+          match from any for any action foo
+        '';
+      };
+    };
+    testScript = ''
+      $machine->waitForOpenPort(8000);
+      $machine->waitForUnit("uwsgi.service");
+      my $return = $machine->succeed("curl -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay\@example.com'");
+      die "wrong project id $return" unless "\"yay\"\n" eq $return;
+      my $timestamp = $machine->succeed("stat --printf %Y /var/lib/ihatemoney/secret_key");
+      my $owner = $machine->succeed("stat --printf %U:%G /var/lib/ihatemoney/secret_key");
+      die "wrong ownership for the secret key: $owner, is uwsgi running as the right user ?" unless $owner eq "ihatemoney:ihatemoney";
+      $machine->shutdown();
+      $machine->start();
+      $machine->waitForOpenPort(8000);
+      $machine->waitForUnit("uwsgi.service");
+      # check that the database is really persistent
+      print $machine->succeed("curl --basic -u yay:yay http://localhost:8000/api/projects/yay");
+      # check that the secret key is really persistent
+      my $timestamp2 = $machine->succeed("stat --printf %Y /var/lib/ihatemoney/secret_key");
+      die unless $timestamp eq $timestamp2;
+      $machine->succeed("curl http://localhost:8000 | grep ihatemoney");
+    '';
+  }
+) [ "sqlite" "postgresql" ]
diff --git a/nixpkgs/nixos/tests/incron.nix b/nixpkgs/nixos/tests/incron.nix
index e39bbb5f096b..b22ee4c9a037 100644
--- a/nixpkgs/nixos/tests/incron.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/influxdb.nix b/nixpkgs/nixos/tests/influxdb.nix
index 61201202204b..04ef80461010 100644
--- a/nixpkgs/nixos/tests/influxdb.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/initrd-network-ssh/default.nix b/nixpkgs/nixos/tests/initrd-network-ssh/default.nix
index 796c50c610e3..73d9f938e226 100644
--- a/nixpkgs/nixos/tests/initrd-network-ssh/default.nix
+++ b/nixpkgs/nixos/tests/initrd-network-ssh/default.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ lib, ... }:
+import ../make-test-python.nix ({ lib, ... }:
 
 {
   name = "initrd-network-ssh";
@@ -35,25 +35,31 @@ import ../make-test.nix ({ lib, ... }:
     client =
       { config, ... }:
       {
-        environment.etc.knownHosts = {
-          text = concatStrings [
-            "server,"
-            "${toString (head (splitString " " (
-              toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
-            )))} "
-            "${readFile ./dropbear.pub}"
-          ];
+        environment.etc = {
+          knownHosts = {
+            text = concatStrings [
+              "server,"
+              "${toString (head (splitString " " (
+                toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
+              )))} "
+              "${readFile ./dropbear.pub}"
+            ];
+          };
+          sshKey = {
+            source = ./openssh.priv; # dont use this anywhere else
+            mode = "0600";
+          };
         };
       };
   };
 
   testScript = ''
-    startAll;
-    $client->waitForUnit("network.target");
-    $client->copyFileFromHost("${./openssh.priv}","/etc/sshKey");
-    $client->succeed("chmod 0600 /etc/sshKey");
-    $client->waitUntilSucceeds("ping -c 1 server");
-    $client->succeed("ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'");
-    $client->shutdown;
+    start_all()
+    client.wait_for_unit("network.target")
+    client.wait_until_succeeds("ping -c 1 server")
+    client.succeed(
+        "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'"
+    )
+    client.shutdown()
   '';
 })
diff --git a/nixpkgs/nixos/tests/initrd-network.nix b/nixpkgs/nixos/tests/initrd-network.nix
index ed9b82e2da77..4796ff9b7c8d 100644
--- a/nixpkgs/nixos/tests/initrd-network.nix
+++ b/nixpkgs/nixos/tests/initrd-network.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "initrd-network";
 
   meta.maintainers = [ pkgs.stdenv.lib.maintainers.eelco ];
@@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("multi-user.target");
-      $machine->succeed("ip link >&2");
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed("ip link >&2")
     '';
 })
diff --git a/nixpkgs/nixos/tests/installed-tests/colord.nix b/nixpkgs/nixos/tests/installed-tests/colord.nix
new file mode 100644
index 000000000000..77e6b917fe68
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/colord.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.colord;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/default.nix b/nixpkgs/nixos/tests/installed-tests/default.nix
new file mode 100644
index 000000000000..8e997ee4aeb9
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/default.nix
@@ -0,0 +1,96 @@
+# NixOS tests for gnome-desktop-testing-runner using software
+# See https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
+
+{ system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; }
+}:
+
+with import ../../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+
+let
+
+  callInstalledTest = pkgs.newScope { inherit makeInstalledTest; };
+
+  makeInstalledTest =
+    { # Package to test. Needs to have an installedTests output
+      tested
+
+      # Config to inject into machine
+    , testConfig ? {}
+
+      # Test script snippet to inject before gnome-desktop-testing-runner begins.
+      # This is useful for extra setup the environment may need before the runner begins.
+    , preTestScript ? ""
+
+      # Does test need X11?
+    , withX11 ? false
+
+      # Extra flags to pass to gnome-desktop-testing-runner.
+    , testRunnerFlags ? ""
+
+      # Extra attributes to pass to makeTest.
+      # They will be recursively merged into the attrset created by this function.
+    , ...
+    }@args:
+    makeTest
+      (recursiveUpdate
+        rec {
+          name = tested.name;
+
+          meta = {
+            maintainers = tested.meta.maintainers;
+          };
+
+          machine = { ... }: {
+            imports = [
+              testConfig
+            ] ++ optional withX11 ../common/x11.nix;
+
+            environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
+
+          };
+
+          testScript =
+            optionalString withX11 ''
+              machine.wait_for_x()
+            '' +
+            optionalString (preTestScript != "") ''
+              ${preTestScript}
+            '' +
+            ''
+              machine.succeed(
+                  "gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
+              )
+            '';
+        }
+
+        (removeAttrs args [
+          "tested"
+          "testConfig"
+          "preTestScript"
+          "withX11"
+          "testRunnerFlags"
+        ])
+      );
+
+in
+
+{
+  colord = callInstalledTest ./colord.nix {};
+  flatpak = callInstalledTest ./flatpak.nix {};
+  flatpak-builder = callInstalledTest ./flatpak-builder.nix {};
+  fwupd = callInstalledTest ./fwupd.nix {};
+  gcab = callInstalledTest ./gcab.nix {};
+  gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix {};
+  gjs = callInstalledTest ./gjs.nix {};
+  glib-networking = callInstalledTest ./glib-networking.nix {};
+  gnome-photos = callInstalledTest ./gnome-photos.nix {};
+  graphene = callInstalledTest ./graphene.nix {};
+  ibus = callInstalledTest ./ibus.nix {};
+  libgdata = callInstalledTest ./libgdata.nix {};
+  libxmlb = callInstalledTest ./libxmlb.nix {};
+  ostree = callInstalledTest ./ostree.nix {};
+  xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/flatpak-builder.nix b/nixpkgs/nixos/tests/installed-tests/flatpak-builder.nix
new file mode 100644
index 000000000000..31b9f2b258fd
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/flatpak-builder.nix
@@ -0,0 +1,14 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.flatpak-builder;
+
+  testConfig = {
+    services.flatpak.enable = true;
+    xdg.portal.enable = true;
+    environment.systemPackages = with pkgs; [ flatpak-builder ] ++ flatpak-builder.installedTestsDependencies;
+    virtualisation.diskSize = 2048;
+  };
+
+  testRunnerFlags = "--timeout 3600";
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/flatpak.nix b/nixpkgs/nixos/tests/installed-tests/flatpak.nix
new file mode 100644
index 000000000000..091c99326629
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/flatpak.nix
@@ -0,0 +1,19 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.flatpak;
+  withX11 = true;
+
+  testConfig = {
+    services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
+    # common/x11.nix enables the auto display manager (lightdm)
+    services.xserver.displayManager.gdm.enable = false;
+    services.gnome3.core-utilities.enable = false;
+    services.flatpak.enable = true;
+    environment.systemPackages = with pkgs; [ gnupg ostree python2 ];
+    virtualisation.memorySize = 2047;
+    virtualisation.diskSize = 1024;
+  };
+
+  testRunnerFlags = "--timeout 3600";
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/fwupd.nix b/nixpkgs/nixos/tests/installed-tests/fwupd.nix
new file mode 100644
index 000000000000..b9f761e99582
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/fwupd.nix
@@ -0,0 +1,12 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.fwupd;
+
+  testConfig = {
+    services.fwupd.enable = true;
+    services.fwupd.blacklistPlugins = []; # don't blacklist test plugin
+    services.fwupd.enableTestRemote = true;
+    virtualisation.memorySize = 768;
+  };
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/gcab.nix b/nixpkgs/nixos/tests/installed-tests/gcab.nix
new file mode 100644
index 000000000000..b24cc2e01267
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/gcab.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gcab;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/gdk-pixbuf.nix b/nixpkgs/nixos/tests/installed-tests/gdk-pixbuf.nix
new file mode 100644
index 000000000000..3d0011a427a4
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/gdk-pixbuf.nix
@@ -0,0 +1,13 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gdk-pixbuf;
+
+  testConfig = {
+    # Tests allocate a lot of memory trying to exploit a CVE
+    # but qemu-system-i386 has a 2047M memory limit
+    virtualisation.memorySize = if pkgs.stdenv.isi686 then 2047 else 4096;
+  };
+
+  testRunnerFlags = "--timeout 1800";
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/gjs.nix b/nixpkgs/nixos/tests/installed-tests/gjs.nix
new file mode 100644
index 000000000000..1656e9de171b
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/gjs.nix
@@ -0,0 +1,6 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gjs;
+  withX11 = true;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/glib-networking.nix b/nixpkgs/nixos/tests/installed-tests/glib-networking.nix
new file mode 100644
index 000000000000..b58d4df21fca
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/glib-networking.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.glib-networking;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/gnome-photos.nix b/nixpkgs/nixos/tests/installed-tests/gnome-photos.nix
new file mode 100644
index 000000000000..05e7ccb65ad5
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/gnome-photos.nix
@@ -0,0 +1,35 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gnome-photos;
+
+  withX11 = true;
+
+  testConfig = {
+    programs.dconf.enable = true;
+    services.gnome3.at-spi2-core.enable = true; # needed for dogtail
+    environment.systemPackages = with pkgs; [
+      # gsettings tool with access to gsettings-desktop-schemas
+      (stdenv.mkDerivation {
+        name = "desktop-gsettings";
+        dontUnpack = true;
+        nativeBuildInputs = [ glib wrapGAppsHook ];
+        buildInputs = [ gsettings-desktop-schemas ];
+        installPhase = ''
+          runHook preInstall
+          mkdir -p $out/bin
+          ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings
+          runHook postInstall
+        '';
+      })
+    ];
+    services.dbus.packages = with pkgs; [ gnome-photos ];
+  };
+
+  preTestScript = ''
+    # dogtail needs accessibility enabled
+    machine.succeed(
+        "desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1"
+    )
+  '';
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/graphene.nix b/nixpkgs/nixos/tests/installed-tests/graphene.nix
new file mode 100644
index 000000000000..e43339abd88c
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/graphene.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.graphene;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/ibus.nix b/nixpkgs/nixos/tests/installed-tests/ibus.nix
new file mode 100644
index 000000000000..af54b612b507
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/ibus.nix
@@ -0,0 +1,20 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.ibus;
+
+  testConfig = {
+    i18n.inputMethod.enabled = "ibus";
+  };
+
+  preTestScript = ''
+    # ibus has ibus-desktop-testing-runner but it tries to manage desktop session so we just spawn ibus-daemon ourselves
+    machine.succeed("ibus-daemon --daemonize --verbose")
+  '';
+
+  withX11 = true;
+
+  # TODO: ibus-daemon is currently crashing or something
+  # maybe make ibus systemd service that auto-restarts?
+  meta.broken = true;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/libgdata.nix b/nixpkgs/nixos/tests/installed-tests/libgdata.nix
new file mode 100644
index 000000000000..f11a7bc1bc51
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/libgdata.nix
@@ -0,0 +1,11 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.libgdata;
+
+  testConfig = {
+    # # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dummy (GDummyTlsBackend) for ‘gio-tls-backend’
+    # Bail out! libgdata:ERROR:../gdata/tests/common.c:134:gdata_test_init: assertion failed (child_error == NULL): TLS support is not available (g-tls-error-quark, 0)
+    services.gnome3.glib-networking.enable = true;
+  };
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/libxmlb.nix b/nixpkgs/nixos/tests/installed-tests/libxmlb.nix
new file mode 100644
index 000000000000..af2bbe9c35e2
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/libxmlb.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.libxmlb;
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/ostree.nix b/nixpkgs/nixos/tests/installed-tests/ostree.nix
new file mode 100644
index 000000000000..eef7cace54cc
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/ostree.nix
@@ -0,0 +1,23 @@
+{ pkgs, lib, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.ostree;
+
+  # TODO: Wrap/patch the tests directly in the package
+  testConfig = {
+    environment.systemPackages = with pkgs; [
+      (python3.withPackages (p: with p; [ pyyaml ]))
+      gnupg
+      ostree
+    ];
+
+    # for GJS tests
+    environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [
+      gtk3
+      pango.out
+      ostree
+      gdk-pixbuf
+      atk
+    ]);
+  };
+}
diff --git a/nixpkgs/nixos/tests/installed-tests/xdg-desktop-portal.nix b/nixpkgs/nixos/tests/installed-tests/xdg-desktop-portal.nix
new file mode 100644
index 000000000000..b16008ff4add
--- /dev/null
+++ b/nixpkgs/nixos/tests/installed-tests/xdg-desktop-portal.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.xdg-desktop-portal;
+}
diff --git a/nixpkgs/nixos/tests/installer.nix b/nixpkgs/nixos/tests/installer.nix
index a136678c6eff..eb1f4f192dd1 100644
--- a/nixpkgs/nixos/tests/installer.nix
+++ b/nixpkgs/nixos/tests/installer.nix
@@ -54,8 +54,6 @@ let
 
         hardware.enableAllFirmware = lib.mkForce false;
 
-        services.udisks2.enable = lib.mkDefault false;
-
         ${replaceChars ["\n"] ["\n  "] extraConfig}
       }
     '';
@@ -295,8 +293,6 @@ let
               ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
               ++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ];
 
-            services.udisks2.enable = mkDefault false;
-
             nix.binaryCaches = mkForce [ ];
             nix.extraOptions =
               ''
diff --git a/nixpkgs/nixos/tests/ipv6.nix b/nixpkgs/nixos/tests/ipv6.nix
index d11eba764da3..ba464b57447b 100644
--- a/nixpkgs/nixos/tests/ipv6.nix
+++ b/nixpkgs/nixos/tests/ipv6.nix
@@ -1,7 +1,7 @@
 # Test of IPv6 functionality in NixOS, including whether router
 # solicication/advertisement using radvd works.
 
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ipv6";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -35,51 +35,56 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
 
   testScript =
     ''
+      import re
+
       # Start the router first so that it respond to router solicitations.
-      $router->waitForUnit("radvd");
+      router.wait_for_unit("radvd")
 
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network.target");
-      $server->waitForUnit("network.target");
-      $server->waitForUnit("httpd.service");
+      client.wait_for_unit("network.target")
+      server.wait_for_unit("network.target")
+      server.wait_for_unit("httpd.service")
 
       # Wait until the given interface has a non-tentative address of
       # the desired scope (i.e. has completed Duplicate Address
       # Detection).
-      sub waitForAddress {
-          my ($machine, $iface, $scope) = @_;
-          $machine->waitUntilSucceeds("[ `ip -o -6 addr show dev $iface scope $scope | grep -v tentative | wc -l` -ge 1 ]");
-          my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev $iface scope $scope"))[3];
-          $machine->log("$scope address on $iface is $ip");
-          return $ip;
-      }
-
-      subtest "loopback address", sub {
-          $client->succeed("ping -c 1 ::1 >&2");
-          $client->fail("ping -c 1 ::2 >&2");
-      };
-
-      subtest "local link addressing", sub {
-          my $clientIp = waitForAddress $client, "eth1", "link";
-          my $serverIp = waitForAddress $server, "eth1", "link";
-          $client->succeed("ping -c 1 $clientIp%eth1 >&2");
-          $client->succeed("ping -c 1 $serverIp%eth1 >&2");
-      };
-
-      subtest "global addressing", sub {
-          my $clientIp = waitForAddress $client, "eth1", "global";
-          my $serverIp = waitForAddress $server, "eth1", "global";
-          $client->succeed("ping -c 1 $clientIp >&2");
-          $client->succeed("ping -c 1 $serverIp >&2");
-          $client->succeed("curl --fail -g http://[$serverIp]");
-          $client->fail("curl --fail -g http://[$clientIp]");
-      };
-      subtest "privacy extensions", sub {
-          my $ip = waitForAddress $client, "eth1", "global temporary";
+      def wait_for_address(machine, iface, scope, temporary=False):
+          temporary_flag = "temporary" if temporary else "-temporary"
+          cmd = f"ip -o -6 addr show dev {iface} scope {scope} -tentative {temporary_flag}"
+
+          machine.wait_until_succeeds(f"[ `{cmd} | wc -l` -eq 1 ]")
+          output = machine.succeed(cmd)
+          ip = re.search(r"inet6 ([0-9a-f:]{2,})/", output).group(1)
+
+          if temporary:
+              scope = scope + " temporary"
+          machine.log(f"{scope} address on {iface} is {ip}")
+          return ip
+
+
+      with subtest("Loopback address can be pinged"):
+          client.succeed("ping -c 1 ::1 >&2")
+          client.fail("ping -c 1 ::2 >&2")
+
+      with subtest("Local link addresses can be obtained and pinged"):
+          client_ip = wait_for_address(client, "eth1", "link")
+          server_ip = wait_for_address(server, "eth1", "link")
+          client.succeed(f"ping -c 1 {client_ip}%eth1 >&2")
+          client.succeed(f"ping -c 1 {server_ip}%eth1 >&2")
+
+      with subtest("Global addresses can be obtained, pinged, and reached via http"):
+          client_ip = wait_for_address(client, "eth1", "global")
+          server_ip = wait_for_address(server, "eth1", "global")
+          client.succeed(f"ping -c 1 {client_ip} >&2")
+          client.succeed(f"ping -c 1 {server_ip} >&2")
+          client.succeed(f"curl --fail -g http://[{server_ip}]")
+          client.fail(f"curl --fail -g http://[{client_ip}]")
+
+      with subtest("Privacy extensions: Global temporary address can be obtained and pinged"):
+          ip = wait_for_address(client, "eth1", "global", temporary=True)
           # Default route should have "src <temporary address>" in it
-          $client->succeed("ip r g ::2 | grep $ip");
-      };
+          client.succeed(f"ip r g ::2 | grep {ip}")
 
       # TODO: test reachability of a machine on another network.
     '';
diff --git a/nixpkgs/nixos/tests/jackett.nix b/nixpkgs/nixos/tests/jackett.nix
index c749c32ad04e..0a706c99b999 100644
--- a/nixpkgs/nixos/tests/jackett.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/jellyfin.nix b/nixpkgs/nixos/tests/jellyfin.nix
index b60c6eb94f46..65360624d487 100644
--- a/nixpkgs/nixos/tests/jellyfin.nix
+++ b/nixpkgs/nixos/tests/jellyfin.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ...}:
+import ./make-test-python.nix ({ lib, ...}:
 
 {
   name = "jellyfin";
@@ -9,8 +9,8 @@ import ./make-test.nix ({ lib, ...}:
     { services.jellyfin.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('jellyfin.service');
-    $machine->waitForOpenPort('8096');
-    $machine->succeed("curl --fail http://localhost:8096/");
+    machine.wait_for_unit("jellyfin.service")
+    machine.wait_for_open_port(8096)
+    machine.succeed("curl --fail http://localhost:8096/")
   '';
 })
diff --git a/nixpkgs/nixos/tests/jenkins.nix b/nixpkgs/nixos/tests/jenkins.nix
index a6eec411ff28..cd64ff512878 100644
--- a/nixpkgs/nixos/tests/jenkins.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/jormungandr.nix b/nixpkgs/nixos/tests/jormungandr.nix
deleted file mode 100644
index 2abafc53ce51..000000000000
--- a/nixpkgs/nixos/tests/jormungandr.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "jormungandr";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mmahut ];
-  };
-
-  nodes = {
-    # Testing the Byzantine Fault Tolerant protocol
-    bft = { ... }: {
-      environment.systemPackages = [ pkgs.jormungandr ];
-      services.jormungandr.enable = true;
-      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
-      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
-    };
-
-    # Testing the Ouroboros Genesis Praos protocol
-    genesis = { ... }: {
-      environment.systemPackages = [ pkgs.jormungandr ];
-      services.jormungandr.enable = true;
-      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
-      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    ## Testing BFT
-    # Let's wait for the StateDirectory
-    $bft->waitForFile("/var/lib/jormungandr/");
-
-    # First, we generate the genesis file for our new blockchain
-    $bft->succeed("jcli genesis init > /root/genesis.yaml");
-
-    # We need to generate our secret key
-    $bft->succeed("jcli key generate --type=Ed25519 > /root/key.prv");
-
-    # We include the secret key into our services.jormungandr.secretFile
-    $bft->succeed("mkdir -p /etc/secrets");
-    $bft->succeed("echo -e \"bft:\\n signing_key:\" \$(cat /root/key.prv) > /etc/secrets/jormungandr.yaml");
-
-    # After that, we generate our public key from it
-    $bft->succeed("cat /root/key.prv | jcli key to-public > /root/key.pub");
-
-    # We add our public key as a consensus leader in the genesis configration file
-    $bft->succeed("sed -ie \"s/ed25519_pk1vvwp2s0n5jl5f4xcjurp2e92sj2awehkrydrlas4vgqr7xzt33jsadha32/\$(cat /root/key.pub)/\" /root/genesis.yaml");
-
-    # Now we can generate the genesis block from it
-    $bft->succeed("jcli genesis encode --input /root/genesis.yaml --output /var/lib/jormungandr/block-0.bin");
-
-    # We should have everything to start the service now
-    $bft->succeed("systemctl restart jormungandr");
-    $bft->waitForUnit("jormungandr.service");
-
-    # Now we can test if we are able to reach the REST API
-    $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime");
-
-    ## Testing Genesis
-    # Let's wait for the StateDirectory
-    $genesis->waitForFile("/var/lib/jormungandr/");
-
-    # Bootstraping the configuration
-    $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1");
-
-    # Moving generated files in place
-    $genesis->succeed("mkdir -p /etc/secrets");
-    $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml");
-    $genesis->succeed("mv block-0.bin /var/lib/jormungandr/");
-
-    # We should have everything to start the service now
-    $genesis->succeed("systemctl restart jormungandr");
-    $genesis->waitForUnit("jormungandr.service");
-
-    # Now we can create and delegate an account
-    $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/kafka.nix b/nixpkgs/nixos/tests/kafka.nix
index f526d18befee..48ca98da8fa1 100644
--- a/nixpkgs/nixos/tests/kafka.nix
+++ b/nixpkgs/nixos/tests/kafka.nix
@@ -73,4 +73,5 @@ in with pkgs; {
   kafka_2_0  = makeKafkaTest "kafka_2_0"  apacheKafka_2_0;
   kafka_2_1  = makeKafkaTest "kafka_2_1"  apacheKafka_2_1;
   kafka_2_2  = makeKafkaTest "kafka_2_2"  apacheKafka_2_2;
+  kafka_2_3  = makeKafkaTest "kafka_2_3"  apacheKafka_2_3;
 }
diff --git a/nixpkgs/nixos/tests/keepalived.nix b/nixpkgs/nixos/tests/keepalived.nix
new file mode 100644
index 000000000000..d0bf9d465200
--- /dev/null
+++ b/nixpkgs/nixos/tests/keepalived.nix
@@ -0,0 +1,42 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "keepalived";
+
+  nodes = {
+    node1 = { pkgs, ... }: {
+      networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
+      services.keepalived.enable = true;
+      services.keepalived.vrrpInstances.test = {
+        interface = "eth1";
+        state = "MASTER";
+        priority = 50;
+        virtualIps = [{ addr = "192.168.1.200"; }];
+        virtualRouterId = 1;
+      };
+      environment.systemPackages = [ pkgs.tcpdump ];
+    };
+    node2 = { pkgs, ... }: {
+      networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
+      services.keepalived.enable = true;
+      services.keepalived.vrrpInstances.test = {
+        interface = "eth1";
+        state = "MASTER";
+        priority = 100;
+        virtualIps = [{ addr = "192.168.1.200"; }];
+        virtualRouterId = 1;
+      };
+      environment.systemPackages = [ pkgs.tcpdump ];
+    };
+  };
+
+  testScript = ''
+    # wait for boot time delay to pass
+    for node in [node1, node2]:
+        node.wait_until_succeeds(
+            "systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'"
+        )
+        node.wait_for_unit("keepalived")
+    node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200")
+    node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200")
+    node1.succeed("ping -c1 192.168.1.200")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/kerberos/heimdal.nix b/nixpkgs/nixos/tests/kerberos/heimdal.nix
index a0551b131e91..8abae667d043 100644
--- a/nixpkgs/nixos/tests/kerberos/heimdal.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/kerberos/mit.nix b/nixpkgs/nixos/tests/kerberos/mit.nix
index 6da3a384aa99..93b4020d4994 100644
--- a/nixpkgs/nixos/tests/kerberos/mit.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/kernel-latest.nix b/nixpkgs/nixos/tests/kernel-latest.nix
index f30bd2e2e760..f09d0926d223 100644
--- a/nixpkgs/nixos/tests/kernel-latest.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/kernel-lts.nix b/nixpkgs/nixos/tests/kernel-lts.nix
index 28717fa6a844..bad706d63c03 100644
--- a/nixpkgs/nixos/tests/kernel-lts.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/kernel-testing.nix b/nixpkgs/nixos/tests/kernel-testing.nix
index 276d2de12bb5..b7e10ebd5bd1 100644
--- a/nixpkgs/nixos/tests/kernel-testing.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/kexec.nix b/nixpkgs/nixos/tests/kexec.nix
index b13b4131091f..ec0cd9796b0e 100644
--- a/nixpkgs/nixos/tests/kexec.nix
+++ b/nixpkgs/nixos/tests/kexec.nix
@@ -1,9 +1,15 @@
 # Test whether fast reboots via kexec work.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "kexec";
-  meta = with pkgs.stdenv.lib.maintainers; {
+  meta = with lib.maintainers; {
     maintainers = [ eelco ];
+    # Currently hangs forever; last output is:
+    #     machine # [   10.239914] dhcpcd[707]: eth0: adding default route via fe80::2
+    #     machine: waiting for the VM to finish booting
+    #     machine # Cannot find the ESP partition mount point.
+    #     machine # [   28.681197] nscd[692]: 692 checking for monitored file `/etc/netgroup': No such file or directory
+    broken = true;
   };
 
   machine = { ... }:
@@ -11,9 +17,9 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("multi-user.target");
-      $machine->execute("systemctl kexec &");
-      $machine->{connected} = 0;
-      $machine->waitForUnit("multi-user.target");
+      machine.wait_for_unit("multi-user.target")
+      machine.execute("systemctl kexec &")
+      machine.connected = False
+      machine.wait_for_unit("multi-user.target")
     '';
 })
diff --git a/nixpkgs/nixos/tests/knot.nix b/nixpkgs/nixos/tests/knot.nix
index e46159836ccc..0588cf86ac09 100644
--- a/nixpkgs/nixos/tests/knot.nix
+++ b/nixpkgs/nixos/tests/knot.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 let
   common = {
     networking.firewall.enable = false;
@@ -30,6 +30,10 @@ let
   };
 in {
   name = "knot";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ hexa ];
+  };
+
 
   nodes = {
     master = { lib, ... }: {
@@ -161,37 +165,35 @@ in {
     slave4 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv4.addresses).address;
     slave6 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv6.addresses).address;
   in ''
-    startAll;
-
-    $client->waitForUnit("network.target");
-    $master->waitForUnit("knot.service");
-    $slave->waitForUnit("knot.service");
-
-    sub assertResponse {
-      my ($knot, $query_type, $query, $expected) = @_;
-      my $out = $client->succeed("khost -t $query_type $query $knot");
-      $client->log("$knot replies with: $out");
-      chomp $out;
-      die "DNS query for $query ($query_type) against $knot gave '$out' instead of '$expected'"
-        if ($out !~ $expected);
-    }
-
-    foreach ("${master4}", "${master6}", "${slave4}", "${slave6}") {
-      subtest $_, sub {
-        assertResponse($_, "SOA", "example.com", qr/start of authority.*?noc\.example\.com/);
-        assertResponse($_, "A", "example.com", qr/has no [^ ]+ record/);
-        assertResponse($_, "AAAA", "example.com", qr/has no [^ ]+ record/);
-
-        assertResponse($_, "A", "www.example.com", qr/address 192.0.2.1$/);
-        assertResponse($_, "AAAA", "www.example.com", qr/address 2001:db8::1$/);
-
-        assertResponse($_, "NS", "sub.example.com", qr/nameserver is ns\d\.example\.com.$/);
-        assertResponse($_, "A", "sub.example.com", qr/address 192.0.2.2$/);
-        assertResponse($_, "AAAA", "sub.example.com", qr/address 2001:db8::2$/);
-
-        assertResponse($_, "RRSIG", "www.example.com", qr/RR set signature is/);
-        assertResponse($_, "DNSKEY", "example.com", qr/DNSSEC key is/);
-      };
-    }
+    import re
+
+    start_all()
+
+    client.wait_for_unit("network.target")
+    master.wait_for_unit("knot.service")
+    slave.wait_for_unit("knot.service")
+
+
+    def test(host, query_type, query, pattern):
+        out = client.succeed(f"khost -t {query_type} {query} {host}").strip()
+        client.log(f"{host} replied with: {out}")
+        assert re.search(pattern, out), f'Did not match "{pattern}"'
+
+
+    for host in ("${master4}", "${master6}", "${slave4}", "${slave6}"):
+        with subtest(f"Interrogate {host}"):
+            test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.")
+            test(host, "A", "example.com", r"has no [^ ]+ record")
+            test(host, "AAAA", "example.com", r"has no [^ ]+ record")
+
+            test(host, "A", "www.example.com", r"address 192.0.2.1$")
+            test(host, "AAAA", "www.example.com", r"address 2001:db8::1$")
+
+            test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$")
+            test(host, "A", "sub.example.com", r"address 192.0.2.2$")
+            test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$")
+
+            test(host, "RRSIG", "www.example.com", r"RR set signature is")
+            test(host, "DNSKEY", "example.com", r"DNSSEC key is")
   '';
 })
diff --git a/nixpkgs/nixos/tests/kubernetes/base.nix b/nixpkgs/nixos/tests/kubernetes/base.nix
index f21634c4ffbf..adb736506895 100644
--- a/nixpkgs/nixos/tests/kubernetes/base.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ldap.nix b/nixpkgs/nixos/tests/ldap.nix
index 665b9ee09b55..74b002fc00ee 100644
--- a/nixpkgs/nixos/tests/ldap.nix
+++ b/nixpkgs/nixos/tests/ldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 
 let
   unlines = lib.concatStringsSep "\n";
@@ -288,108 +288,118 @@ in
 
     client1 = mkClient true; # use nss_pam_ldapd
     client2 = mkClient false; # use nss_ldap and pam_ldap
-
   };
 
   testScript = ''
-    $server->start;
-    $server->waitForUnit("default.target");
-
-    subtest "slapd", sub {
-      subtest "auth as database admin with SASL and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-      subtest "auth as database admin with password and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldap://server',
-             '-D \'cn=admin,${dbSuffix}\' -w \'${dbAdminPwd}\' ',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-    };
-
-    $client1->start;
-    $client1->waitForUnit("default.target");
-
-    subtest "password", sub {
-      subtest "su with password to a POSIX account", sub {
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-      };
-      subtest "change password of a POSIX account as root", sub {
-        $client1->succeed("chpasswd <<<'${ldapUser}:new-password'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-      subtest "change password of a POSIX account from itself", sub {
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su --login ${ldapUser} -c passwd',
-          'expect "Password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "(current) UNIX password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "New password: "',
-          'send "new-password\n"',
-          'expect "Retype new password: "',
-          'send "new-password\n"',
-          'expect "passwd: password updated successfully" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "su: Authentication failure" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-    };
-
-    $client2->start;
-    $client2->waitForUnit("default.target");
-
-    subtest "NSS", sub {
-        $client1->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client1->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client1->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client1->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-        $client2->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client2->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client2->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client2->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-    };
-
-    subtest "PAM", sub {
-        $client1->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-        $client2->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-    };
+    def expect_script(*commands):
+        script = ";".join(commands)
+        return f"${pkgs.expect}/bin/expect -c '{script}'"
+
+
+    server.start()
+    server.wait_for_unit("default.target")
+
+    with subtest("slapd: auth as database admin with SASL and check a POSIX account"):
+        server.succeed(
+            'test "$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL '
+            + "-b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    with subtest("slapd: auth as database admin with password and check a POSIX account"):
+        server.succeed(
+            "test \"$(ldapsearch -LLL -H ldap://server -D 'cn=admin,${dbSuffix}' "
+            + "-w '${dbAdminPwd}' -b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    client1.start()
+    client1.wait_for_unit("default.target")
+
+    with subtest("password: su with password to a POSIX account"):
+        client1.succeed(
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            )
+        )
+
+    with subtest("password: change password of a POSIX account as root"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:new-password'",
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    with subtest("password: change password of a POSIX account from itself"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}' ",
+            expect_script(
+                "spawn su --login ${ldapUser} -c passwd",
+                'expect "Password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "(current) UNIX password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "New password: "',
+                'send "new-password\n"',
+                'expect "Retype new password: "',
+                'send "new-password\n"',
+                'expect "passwd: password updated successfully" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "su: Authentication failure" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    client2.start()
+    client2.wait_for_unit("default.target")
+
+    with subtest("NSS"):
+        client1.succeed(
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+        )
+
+    with subtest("PAM"):
+        client1.succeed(
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/leaps.nix b/nixpkgs/nixos/tests/leaps.nix
index 6163fed56b6f..65b475d734ec 100644
--- a/nixpkgs/nixos/tests/leaps.nix
+++ b/nixpkgs/nixos/tests/leaps.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs,  ... }:
+import ./make-test-python.nix ({ pkgs,  ... }:
 
 {
   name = "leaps";
@@ -22,9 +22,11 @@ import ./make-test.nix ({ pkgs,  ... }:
 
   testScript =
     ''
-      startAll;
-      $server->waitForOpenPort(6666);
-      $client->waitForUnit("network.target");
-      $client->succeed("${pkgs.curl}/bin/curl http://server:6666/leaps/ | grep -i 'leaps'");
+      start_all()
+      server.wait_for_open_port(6666)
+      client.wait_for_unit("network.target")
+      assert "leaps" in client.succeed(
+          "${pkgs.curl}/bin/curl http://server:6666/leaps/"
+      )
     '';
 })
diff --git a/nixpkgs/nixos/tests/libgdata.nix b/nixpkgs/nixos/tests/libgdata.nix
deleted file mode 100644
index 10a3ca97dd22..000000000000
--- a/nixpkgs/nixos/tests/libgdata.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "libgdata";
-
-  meta = {
-    maintainers = pkgs.libgdata.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    # # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dummy (GDummyTlsBackend) for ‘gio-tls-backend’
-    # Bail out! libgdata:ERROR:../gdata/tests/common.c:134:gdata_test_init: assertion failed (child_error == NULL): TLS support is not available (g-tls-error-quark, 0)
-    services.gnome3.glib-networking.enable = true;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libgdata.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/libxmlb.nix b/nixpkgs/nixos/tests/libxmlb.nix
deleted file mode 100644
index 3bee568ac5a2..000000000000
--- a/nixpkgs/nixos/tests/libxmlb.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "libxmlb";
-  meta = {
-    maintainers = pkgs.libxmlb.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libxmlb.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/lidarr.nix b/nixpkgs/nixos/tests/lidarr.nix
index 85fcbd21d8c0..d3f83e5d9145 100644
--- a/nixpkgs/nixos/tests/lidarr.nix
+++ b/nixpkgs/nixos/tests/lidarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,10 @@ with lib;
     { services.lidarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('lidarr.service');
-    $machine->waitForOpenPort('8686');
-    $machine->succeed("curl --fail http://localhost:8686/");
+    start_all()
+
+    machine.wait_for_unit("lidarr.service")
+    machine.wait_for_open_port("8686")
+    machine.succeed("curl --fail http://localhost:8686/")
   '';
 })
diff --git a/nixpkgs/nixos/tests/lightdm.nix b/nixpkgs/nixos/tests/lightdm.nix
index c805f1ed9f3c..46c2ed7ccc59 100644
--- a/nixpkgs/nixos/tests/lightdm.nix
+++ b/nixpkgs/nixos/tests/lightdm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "lightdm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig worldofpeace ];
@@ -8,9 +8,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
     services.xserver.displayManager.lightdm.enable = true;
-    services.xserver.windowManager.default = "icewm";
+    services.xserver.displayManager.defaultSession = "none+icewm";
     services.xserver.windowManager.icewm.enable = true;
-    services.xserver.desktopManager.default = "none";
   };
 
   enableOCR = true;
@@ -18,12 +17,12 @@ import ./make-test.nix ({ pkgs, ...} : {
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in ''
-    startAll;
-    $machine->waitForText(qr/${user.description}/);
-    $machine->screenshot("lightdm");
-    $machine->sendChars("${user.password}\n");
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->waitForWindow("^IceWM ");
+    start_all()
+    machine.wait_for_text("${user.description}")
+    machine.screenshot("lightdm")
+    machine.send_chars("${user.password}\n")
+    machine.wait_for_file("${user.home}/.Xauthority")
+    machine.succeed("xauth merge ${user.home}/.Xauthority")
+    machine.wait_for_window("^IceWM ")
   '';
 })
diff --git a/nixpkgs/nixos/tests/login.nix b/nixpkgs/nixos/tests/login.nix
index 2a7c063d3033..d36c1a91be43 100644
--- a/nixpkgs/nixos/tests/login.nix
+++ b/nixpkgs/nixos/tests/login.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, latestKernel ? false, ... }:
+import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
 
 {
   name = "login";
@@ -12,62 +12,48 @@ import ./make-test.nix ({ pkgs, latestKernel ? false, ... }:
       sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'");
-      $machine->screenshot("postboot");
-
-      subtest "create user", sub {
-          $machine->succeed("useradd -m alice");
-          $machine->succeed("(echo foobar; echo foobar) | passwd alice");
-      };
-
-      # Check whether switching VTs works.
-      subtest "virtual console switching", sub {
-          $machine->fail("pgrep -f 'agetty.*tty2'");
-          $machine->sendKeys("alt-f2");
-          $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]");
-          $machine->waitForUnit('getty@tty2.service');
-          $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'");
-      };
-
-      # Log in as alice on a virtual console.
-      subtest "virtual console login", sub {
-          $machine->waitUntilTTYMatches(2, "login: ");
-          $machine->sendChars("alice\n");
-          $machine->waitUntilTTYMatches(2, "login: alice");
-          $machine->waitUntilSucceeds("pgrep login");
-          $machine->waitUntilTTYMatches(2, "Password: ");
-          $machine->sendChars("foobar\n");
-          $machine->waitUntilSucceeds("pgrep -u alice bash");
-          $machine->sendChars("touch done\n");
-          $machine->waitForFile("/home/alice/done");
-      };
-
-      # Check whether systemd gives and removes device ownership as
-      # needed.
-      subtest "device permissions", sub {
-          $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
-          $machine->sendKeys("alt-f1");
-          $machine->waitUntilSucceeds("[ \$(fgconsole) = 1 ]");
-          $machine->fail("getfacl /dev/snd/timer | grep -q alice");
-          $machine->succeed("chvt 2");
-          $machine->waitUntilSucceeds("getfacl /dev/snd/timer | grep -q alice");
-      };
-
-      # Log out.
-      subtest "virtual console logout", sub {
-          $machine->sendChars("exit\n");
-          $machine->waitUntilFails("pgrep -u alice bash");
-          $machine->screenshot("mingetty");
-      };
-
-      # Check whether ctrl-alt-delete works.
-      subtest "ctrl-alt-delete", sub {
-          $machine->sendKeys("ctrl-alt-delete");
-          $machine->waitForShutdown;
-      };
-    '';
-
+  testScript = ''
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+      machine.screenshot("postboot")
+
+      with subtest("create user"):
+          machine.succeed("useradd -m alice")
+          machine.succeed("(echo foobar; echo foobar) | passwd alice")
+
+      with subtest("Check whether switching VTs works"):
+          machine.fail("pgrep -f 'agetty.*tty2'")
+          machine.send_key("alt-f2")
+          machine.wait_until_succeeds("[ $(fgconsole) = 2 ]")
+          machine.wait_for_unit("getty@tty2.service")
+          machine.wait_until_succeeds("pgrep -f 'agetty.*tty2'")
+
+      with subtest("Log in as alice on a virtual console"):
+          machine.wait_until_tty_matches(2, "login: ")
+          machine.send_chars("alice\n")
+          machine.wait_until_tty_matches(2, "login: alice")
+          machine.wait_until_succeeds("pgrep login")
+          machine.wait_until_tty_matches(2, "Password: ")
+          machine.send_chars("foobar\n")
+          machine.wait_until_succeeds("pgrep -u alice bash")
+          machine.send_chars("touch done\n")
+          machine.wait_for_file("/home/alice/done")
+
+      with subtest("Systemd gives and removes device ownership as needed"):
+          machine.succeed("getfacl /dev/snd/timer | grep -q alice")
+          machine.send_key("alt-f1")
+          machine.wait_until_succeeds("[ $(fgconsole) = 1 ]")
+          machine.fail("getfacl /dev/snd/timer | grep -q alice")
+          machine.succeed("chvt 2")
+          machine.wait_until_succeeds("getfacl /dev/snd/timer | grep -q alice")
+
+      with subtest("Virtual console logout"):
+          machine.send_chars("exit\n")
+          machine.wait_until_fails("pgrep -u alice bash")
+          machine.screenshot("mingetty")
+
+      with subtest("Check whether ctrl-alt-delete works"):
+          machine.send_key("ctrl-alt-delete")
+          machine.wait_for_shutdown()
+  '';
 })
diff --git a/nixpkgs/nixos/tests/loki.nix b/nixpkgs/nixos/tests/loki.nix
index 9c3058d02f84..dbf1e8a650f5 100644
--- a/nixpkgs/nixos/tests/loki.nix
+++ b/nixpkgs/nixos/tests/loki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 {
   name = "loki";
@@ -26,12 +26,14 @@ import ./make-test.nix ({ lib, pkgs, ... }:
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForUnit("loki.service");
-    $machine->waitForUnit("promtail.service");
-    $machine->waitForOpenPort(3100);
-    $machine->waitForOpenPort(9080);
-    $machine->succeed("echo 'Loki Ingestion Test' > /var/log/testlog");
-    $machine->waitUntilSucceeds("${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'");
+    machine.start
+    machine.wait_for_unit("loki.service")
+    machine.wait_for_unit("promtail.service")
+    machine.wait_for_open_port(3100)
+    machine.wait_for_open_port(9080)
+    machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
+    machine.wait_until_succeeds(
+        "${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/lorri/builder.sh b/nixpkgs/nixos/tests/lorri/builder.sh
new file mode 100644
index 000000000000..b586b2bf7985
--- /dev/null
+++ b/nixpkgs/nixos/tests/lorri/builder.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+printf "%s" "${name:?}" > "${out:?}"
diff --git a/nixpkgs/nixos/tests/lorri/default.nix b/nixpkgs/nixos/tests/lorri/default.nix
new file mode 100644
index 000000000000..53074385a652
--- /dev/null
+++ b/nixpkgs/nixos/tests/lorri/default.nix
@@ -0,0 +1,26 @@
+import ../make-test-python.nix {
+  machine = { pkgs, ... }: {
+    imports = [ ../../modules/profiles/minimal.nix ];
+    environment.systemPackages = [ pkgs.lorri ];
+  };
+
+  testScript = ''
+    # Copy files over
+    machine.succeed(
+        "cp '${./fake-shell.nix}' shell.nix"
+    )
+    machine.succeed(
+        "cp '${./builder.sh}' builder.sh"
+    )
+
+    # Start the daemon and wait until it is ready
+    machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
+    machine.wait_until_succeeds("grep --fixed-strings 'lorri: ready' lorri.stdout")
+
+    # Ping the daemon
+    machine.execute("lorri ping_ $(readlink -f shell.nix)")
+
+    # Wait for the daemon to finish the build
+    machine.wait_until_succeeds("grep --fixed-strings 'OutputPaths' lorri.stdout")
+  '';
+}
diff --git a/nixpkgs/nixos/tests/lorri/fake-shell.nix b/nixpkgs/nixos/tests/lorri/fake-shell.nix
new file mode 100644
index 000000000000..9de9d247e542
--- /dev/null
+++ b/nixpkgs/nixos/tests/lorri/fake-shell.nix
@@ -0,0 +1,5 @@
+derivation {
+  system = builtins.currentSystem;
+  name = "fake-shell";
+  builder = ./builder.sh;
+}
diff --git a/nixpkgs/nixos/tests/magnetico.nix b/nixpkgs/nixos/tests/magnetico.nix
index bc7aef653ee5..6770d32358e8 100644
--- a/nixpkgs/nixos/tests/magnetico.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/mailcatcher.nix b/nixpkgs/nixos/tests/mailcatcher.nix
index d45b5d4edfc5..2ef38544fe0a 100644
--- a/nixpkgs/nixos/tests/mailcatcher.nix
+++ b/nixpkgs/nixos/tests/mailcatcher.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 {
   name = "mailcatcher";
@@ -9,18 +9,22 @@ 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 ];
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('mailcatcher.service');
-    $machine->waitForOpenPort('1025');
-    $machine->succeed('echo "this is the body of the email" | mail -s "subject" root@example.org');
-    $machine->succeed('curl http://localhost:1080/messages/1.source') =~ /this is the body of the email/ or die;
+    machine.wait_for_unit("mailcatcher.service")
+    machine.wait_for_open_port("1025")
+    machine.succeed(
+        'echo "this is the body of the email" | mail -s "subject" root@example.org'
+    )
+    assert "this is the body of the email" in machine.succeed(
+        "curl http://localhost:1080/messages/1.source"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/make-test-python.nix b/nixpkgs/nixos/tests/make-test-python.nix
new file mode 100644
index 000000000000..89897fe7e61b
--- /dev/null
+++ b/nixpkgs/nixos/tests/make-test-python.nix
@@ -0,0 +1,9 @@
+f: {
+  system ? builtins.currentSystem,
+  pkgs ? import ../.. { inherit system; config = {}; },
+  ...
+} @ args:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+
+makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
diff --git a/nixpkgs/nixos/tests/matomo.nix b/nixpkgs/nixos/tests/matomo.nix
new file mode 100644
index 000000000000..2bea237c8bdd
--- /dev/null
+++ b/nixpkgs/nixos/tests/matomo.nix
@@ -0,0 +1,48 @@
+{ system ? builtins.currentSystem, config ? { }
+, pkgs ? import ../.. { inherit system config; } }:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+
+let
+  matomoTest = package:
+  makeTest {
+    machine = { config, pkgs, ... }: {
+      services.matomo = {
+        package = package;
+        enable = true;
+        nginx = {
+          forceSSL = false;
+          enableACME = false;
+        };
+      };
+      services.mysql = {
+        enable = true;
+        package = pkgs.mysql;
+      };
+      services.nginx.enable = true;
+    };
+
+    testScript = ''
+      start_all()
+      machine.wait_for_unit("mysql.service")
+      machine.wait_for_unit("phpfpm-matomo.service")
+      machine.wait_for_unit("nginx.service")
+
+      # without the grep the command does not produce valid utf-8 for some reason
+      with subtest("welcome screen loads"):
+          machine.succeed(
+              "curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'"
+          )
+    '';
+  };
+in {
+  matomo = matomoTest pkgs.matomo // {
+    name = "matomo";
+    meta.maintainers = with maintainers; [ florianjacob kiwi mmilata ];
+  };
+  matomo-beta = matomoTest pkgs.matomo-beta // {
+    name = "matomo-beta";
+    meta.maintainers = with maintainers; [ florianjacob kiwi mmilata ];
+  };
+}
diff --git a/nixpkgs/nixos/tests/matrix-synapse.nix b/nixpkgs/nixos/tests/matrix-synapse.nix
index 882e4b75814b..fca53009083a 100644
--- a/nixpkgs/nixos/tests/matrix-synapse.nix
+++ b/nixpkgs/nixos/tests/matrix-synapse.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : let
+import ./make-test-python.nix ({ pkgs, ... } : let
 
 
   runWithOpenSSL = file: cmd: pkgs.runCommand file {
@@ -55,13 +55,17 @@ in {
   };
 
   testScript = ''
-    startAll;
-    $serverpostgres->waitForUnit("matrix-synapse.service");
-    $serverpostgres->waitUntilSucceeds("curl -L --cacert ${ca_pem} https://localhost:8448/");
-    $serverpostgres->requireActiveUnit("postgresql.service");
-    $serversqlite->waitForUnit("matrix-synapse.service");
-    $serversqlite->waitUntilSucceeds("curl -L --cacert ${ca_pem} https://localhost:8448/");
-    $serversqlite->mustSucceed("[ -e /var/lib/matrix-synapse/homeserver.db ]");
+    start_all()
+    serverpostgres.wait_for_unit("matrix-synapse.service")
+    serverpostgres.wait_until_succeeds(
+        "curl -L --cacert ${ca_pem} https://localhost:8448/"
+    )
+    serverpostgres.require_unit_state("postgresql.service")
+    serversqlite.wait_for_unit("matrix-synapse.service")
+    serversqlite.wait_until_succeeds(
+        "curl -L --cacert ${ca_pem} https://localhost:8448/"
+    )
+    serversqlite.succeed("[ -e /var/lib/matrix-synapse/homeserver.db ]")
   '';
 
 })
diff --git a/nixpkgs/nixos/tests/mediawiki.nix b/nixpkgs/nixos/tests/mediawiki.nix
index 6293e8a2f465..9468c1de8ccb 100644
--- a/nixpkgs/nixos/tests/mediawiki.nix
+++ b/nixpkgs/nixos/tests/mediawiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "mediawiki";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
@@ -11,9 +11,11 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('phpfpm-mediawiki.service');
-    $machine->succeed('curl -L http://localhost/') =~ /MediaWiki has been installed/ or die;
+    machine.wait_for_unit("phpfpm-mediawiki.service")
+
+    page = machine.succeed("curl -L http://localhost/")
+    assert "MediaWiki has been installed" in page
   '';
 })
diff --git a/nixpkgs/nixos/tests/memcached.nix b/nixpkgs/nixos/tests/memcached.nix
index b120599c51dd..31f5627d25ce 100644
--- a/nixpkgs/nixos/tests/memcached.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/metabase.nix b/nixpkgs/nixos/tests/metabase.nix
index be9e5ed5b1e8..1450a4e9086f 100644
--- a/nixpkgs/nixos/tests/metabase.nix
+++ b/nixpkgs/nixos/tests/metabase.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "metabase";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mmahut ];
@@ -12,9 +12,9 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("metabase.service");
-    $machine->waitForOpenPort(3000);
-    $machine->waitUntilSucceeds("curl -L http://localhost:3000/setup | grep Metabase");
+    start_all()
+    machine.wait_for_unit("metabase.service")
+    machine.wait_for_open_port(3000)
+    machine.wait_until_succeeds("curl -L http://localhost:3000/setup | grep Metabase")
   '';
 })
diff --git a/nixpkgs/nixos/tests/minidlna.nix b/nixpkgs/nixos/tests/minidlna.nix
index 7bf1bed69d06..d852c7f60bc4 100644
--- a/nixpkgs/nixos/tests/minidlna.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/miniflux.nix b/nixpkgs/nixos/tests/miniflux.nix
index 19ab4803a1d3..7d83d061a9df 100644
--- a/nixpkgs/nixos/tests/miniflux.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/minio.nix b/nixpkgs/nixos/tests/minio.nix
index f1218b537711..3b0619742671 100644
--- a/nixpkgs/nixos/tests/minio.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/moinmoin.nix b/nixpkgs/nixos/tests/moinmoin.nix
new file mode 100644
index 000000000000..ac327498eba0
--- /dev/null
+++ b/nixpkgs/nixos/tests/moinmoin.nix
@@ -0,0 +1,28 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "moinmoin";
+  meta.maintainers = with lib.maintainers; [ mmilata ];
+
+  machine =
+    { ... }:
+    { services.moinmoin.enable = true;
+      services.moinmoin.wikis.ExampleWiki.superUsers = [ "admin" ];
+      services.moinmoin.wikis.ExampleWiki.webHost = "localhost";
+
+      services.nginx.virtualHosts.localhost.enableACME = false;
+      services.nginx.virtualHosts.localhost.forceSSL = false;
+    };
+
+  testScript = ''
+    start_all()
+
+    machine.wait_for_unit("moin-ExampleWiki.service")
+    machine.wait_for_unit("nginx.service")
+    machine.wait_for_file("/run/moin/ExampleWiki/gunicorn.sock")
+
+    assert "If you have just installed" in machine.succeed("curl -L http://localhost/")
+
+    assert "status success" in machine.succeed(
+        "moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1"
+    )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/mongodb.nix b/nixpkgs/nixos/tests/mongodb.nix
index 0ccbeb062f92..9ebf84eed232 100644
--- a/nixpkgs/nixos/tests/mongodb.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/moodle.nix b/nixpkgs/nixos/tests/moodle.nix
index 565a6b636949..56aa62596c07 100644
--- a/nixpkgs/nixos/tests/moodle.nix
+++ b/nixpkgs/nixos/tests/moodle.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "moodle";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
@@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit('phpfpm-moodle.service');
-    $machine->succeed('curl http://localhost/') =~ /You are not logged in/ or die;
+    start_all()
+    machine.wait_for_unit("phpfpm-moodle.service")
+    machine.wait_until_succeeds("curl http://localhost/ | grep 'You are not logged in'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/morty.nix b/nixpkgs/nixos/tests/morty.nix
index eab123bd50f8..64c5a27665d6 100644
--- a/nixpkgs/nixos/tests/morty.nix
+++ b/nixpkgs/nixos/tests/morty.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "morty";
@@ -22,11 +22,9 @@ import ./make-test.nix ({ pkgs, ... }:
   testScript =
     { ... }:
     ''
-      $mortyProxyWithKey->waitForUnit("default.target");
-
-      $mortyProxyWithKey->waitForOpenPort(3001);
-      $mortyProxyWithKey->succeed("curl -L 127.0.0.1:3001 | grep MortyProxy");
-
+      mortyProxyWithKey.wait_for_unit("default.target")
+      mortyProxyWithKey.wait_for_open_port(3001)
+      mortyProxyWithKey.succeed("curl -L 127.0.0.1:3001 | grep MortyProxy")
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/mosquitto.nix b/nixpkgs/nixos/tests/mosquitto.nix
index b4c897c3ab5d..1f2fdf4237fa 100644
--- a/nixpkgs/nixos/tests/mosquitto.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/mpd.nix b/nixpkgs/nixos/tests/mpd.nix
index ac2b810defe3..895b7e2014c8 100644
--- a/nixpkgs/nixos/tests/mpd.nix
+++ b/nixpkgs/nixos/tests/mpd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+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
@@ -46,74 +46,87 @@ import ./make-test.nix ({ pkgs, ... }:
     };
 
   nodes =
-    { client = 
+    { client =
       { ... }: { };
 
       serverALSA =
-        { ... }: (mkServer {
-          mpd = defaultMpdCfg // {
-            network.listenAddress = "any";
-            extraConfig = ''
-              audio_output {
-                type "alsa"
-                name "ALSA"
-                mixer_type "null"
-              }
-            '';
-          };
-
-          musicService = with defaultMpdCfg; musicService { inherit user group musicDirectory; };
-        }) // { networking.firewall.allowedTCPPorts = [ 6600 ]; };
+        { ... }: lib.mkMerge [
+          (mkServer {
+            mpd = defaultMpdCfg // {
+              network.listenAddress = "any";
+              extraConfig = ''
+                audio_output {
+                  type "alsa"
+                  name "ALSA"
+                  mixer_type "null"
+                }
+              '';
+            };
+            musicService = with defaultMpdCfg; musicService { inherit user group musicDirectory; };
+          })
+          { networking.firewall.allowedTCPPorts = [ 6600 ]; }
+        ];
 
       serverPulseAudio =
-        { ... }: (mkServer {
-          mpd = defaultMpdCfg // {
-            extraConfig = ''
-              audio_output {
-                type "pulse"
-                name "The Pulse"
-              }
-            '';
-          };
-
-          musicService = with defaultCfg; musicService { inherit user group musicDirectory; };
-        }) // { hardware.pulseaudio.enable = true; };
+        { ... }: lib.mkMerge [
+          (mkServer {
+            mpd = defaultMpdCfg // {
+              extraConfig = ''
+                audio_output {
+                  type "pulse"
+                  name "The Pulse"
+                }
+              '';
+            };
+
+            musicService = with defaultCfg; musicService { inherit user group musicDirectory; };
+          })
+          {
+            hardware.pulseaudio = {
+              enable = true;
+              systemWide = true;
+              tcp.enable = true;
+              tcp.anonymousClients.allowAll = true;
+            };
+            systemd.services.mpd.environment.PULSE_SERVER = "localhost";
+          }
+        ];
     };
 
   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->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/nixpkgs/nixos/tests/mumble.nix b/nixpkgs/nixos/tests/mumble.nix
index 652d49a24b1c..e9b6d14c6a1f 100644
--- a/nixpkgs/nixos/tests/mumble.nix
+++ b/nixpkgs/nixos/tests/mumble.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : 
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   client = { pkgs, ... }: {
@@ -24,50 +24,50 @@ in
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("murmur.service");
-    $client1->waitForX;
-    $client2->waitForX;
+    server.wait_for_unit("murmur.service")
+    client1.wait_for_x()
+    client2.wait_for_x()
 
-    $client1->execute("mumble mumble://client1\@server/test &");
-    $client2->execute("mumble mumble://client2\@server/test &");
+    client1.execute("mumble mumble://client1\@server/test &")
+    client2.execute("mumble mumble://client2\@server/test &")
 
     # cancel client audio configuration
-    $client1->waitForWindow(qr/Audio Tuning Wizard/);
-    $client2->waitForWindow(qr/Audio Tuning Wizard/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendKeys("esc");
-    $client2->sendKeys("esc");
+    client1.wait_for_window(r"Audio Tuning Wizard")
+    client2.wait_for_window(r"Audio Tuning Wizard")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_key("esc")
+    client2.send_key("esc")
 
     # cancel client cert configuration
-    $client1->waitForWindow(qr/Certificate Management/);
-    $client2->waitForWindow(qr/Certificate Management/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendKeys("esc");
-    $client2->sendKeys("esc");
+    client1.wait_for_window(r"Certificate Management")
+    client2.wait_for_window(r"Certificate Management")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_key("esc")
+    client2.send_key("esc")
 
     # accept server certificate
-    $client1->waitForWindow(qr/^Mumble$/);
-    $client2->waitForWindow(qr/^Mumble$/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendChars("y");
-    $client2->sendChars("y");
-    $server->sleep(5); # wait because mumble is slow to register event handlers
+    client1.wait_for_window(r"^Mumble$")
+    client2.wait_for_window(r"^Mumble$")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_chars("y")
+    client2.send_chars("y")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
 
     # sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again
-    $client1->sendKeys("alt-tab");
-    $client2->sendKeys("alt-tab");
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendChars("y");
-    $client2->sendChars("y");
+    client1.send_key("alt-tab")
+    client2.send_key("alt-tab")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_chars("y")
+    client2.send_chars("y")
 
     # Find clients in logs
-    $server->waitUntilSucceeds("journalctl -eu murmur -o cat | grep -q client1");
-    $server->waitUntilSucceeds("journalctl -eu murmur -o cat | grep -q client2");
+    server.wait_until_succeeds("journalctl -eu murmur -o cat | grep -q client1")
+    server.wait_until_succeeds("journalctl -eu murmur -o cat | grep -q client2")
 
-    $server->sleep(5); # wait to get screenshot
-    $client1->screenshot("screen1");
-    $client2->screenshot("screen2");
+    server.sleep(5)  # wait to get screenshot
+    client1.screenshot("screen1")
+    client2.screenshot("screen2")
   '';
 })
diff --git a/nixpkgs/nixos/tests/munin.nix b/nixpkgs/nixos/tests/munin.nix
index 31374aaf77e7..7b674db7768d 100644
--- a/nixpkgs/nixos/tests/munin.nix
+++ b/nixpkgs/nixos/tests/munin.nix
@@ -1,7 +1,7 @@
 # This test runs basic munin setup with node and cron job running on the same
 # machine.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "munin";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ domenkozar eelco ];
@@ -12,33 +12,33 @@ import ./make-test.nix ({ pkgs, ...} : {
       { config, ... }:
         {
           services = {
-           munin-node = {
+            munin-node = {
+              enable = true;
+              # disable a failing plugin to prevent irrelevant error message, see #23049
+              disabledPlugins = [ "apc_nis" ];
+            };
+            munin-cron = {
              enable = true;
-             # disable a failing plugin to prevent irrelevant error message, see #23049
-             disabledPlugins = [ "apc_nis" ];
-           };
-           munin-cron = {
-            enable = true;
-            hosts = ''
-              [${config.networking.hostName}]
-              address localhost
-            '';
-           };
+             hosts = ''
+               [${config.networking.hostName}]
+               address localhost
+             '';
+            };
           };
-          # long timeout to prevent hydra failure on high load
-          systemd.services.munin-node.serviceConfig.TimeoutStartSec = "10min";
+
+          # increase the systemd timer interval so it fires more often
+          systemd.timers.munin-cron.timerConfig.OnCalendar = pkgs.stdenv.lib.mkForce "*:*:0/10";
         };
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $one->waitForUnit("munin-node.service");
-    # make sure the node is actually listening
-    $one->waitForOpenPort(4949);
-    $one->succeed('systemctl start munin-cron');
-    # wait for munin-cron output
-    $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd");
-    $one->waitForFile("/var/www/munin/one/index.html");
+    with subtest("ensure munin-node starts and listens on 4949"):
+        one.wait_for_unit("munin-node.service")
+        one.wait_for_open_port(4949)
+    with subtest("ensure munin-cron output is correct"):
+        one.wait_for_file("/var/lib/munin/one/one-uptime-uptime-g.rrd")
+        one.wait_for_file("/var/www/munin/one/index.html")
   '';
 })
diff --git a/nixpkgs/nixos/tests/mutable-users.nix b/nixpkgs/nixos/tests/mutable-users.nix
index e590703ab2f4..49c7f78b82ed 100644
--- a/nixpkgs/nixos/tests/mutable-users.nix
+++ b/nixpkgs/nixos/tests/mutable-users.nix
@@ -1,6 +1,6 @@
 # Mutable users tests.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "mutable-users";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gleber ];
@@ -19,21 +19,27 @@ import ./make-test.nix ({ pkgs, ...} : {
     immutableSystem = nodes.machine.config.system.build.toplevel;
     mutableSystem = nodes.mutable.config.system.build.toplevel;
   in ''
-    $machine->start();
-    $machine->waitForUnit("default.target");
+    machine.start()
+    machine.wait_for_unit("default.target")
 
     # Machine starts in immutable mode. Add a user and test if reactivating
     # configuration removes the user.
-    $machine->fail("cat /etc/passwd | grep ^foobar:");
-    $machine->succeed("sudo useradd foobar");
-    $machine->succeed("cat /etc/passwd | grep ^foobar:");
-    $machine->succeed("${immutableSystem}/bin/switch-to-configuration test");
-    $machine->fail("cat /etc/passwd | grep ^foobar:");
+    with subtest("Machine in immutable mode"):
+        assert "foobar" not in machine.succeed("cat /etc/passwd")
+        machine.succeed("sudo useradd foobar")
+        assert "foobar" in machine.succeed("cat /etc/passwd")
+        machine.succeed(
+            "${immutableSystem}/bin/switch-to-configuration test"
+        )
+        assert "foobar" not in machine.succeed("cat /etc/passwd")
 
     # In immutable mode passwd is not wrapped, while in mutable mode it is
     # wrapped.
-    $machine->succeed('which passwd | grep /run/current-system/');
-    $machine->succeed("${mutableSystem}/bin/switch-to-configuration test");
-    $machine->succeed('which passwd | grep /run/wrappers/');
+    with subtest("Password is wrapped in mutable mode"):
+        assert "/run/current-system/" in machine.succeed("which passwd")
+        machine.succeed(
+            "${mutableSystem}/bin/switch-to-configuration test"
+        )
+        assert "/run/wrappers/" in machine.succeed("which passwd")
   '';
 })
diff --git a/nixpkgs/nixos/tests/mxisd.nix b/nixpkgs/nixos/tests/mxisd.nix
index 3d03a5a53e38..b2b60db4d822 100644
--- a/nixpkgs/nixos/tests/mxisd.nix
+++ b/nixpkgs/nixos/tests/mxisd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
 
   name = "mxisd";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -10,12 +10,21 @@ import ./make-test.nix ({ pkgs, ... } : {
       services.mxisd.enable = true;
       services.mxisd.matrix.domain = "example.org";
     };
+
+    server_ma1sd = args : {
+      services.mxisd.enable = true;
+      services.mxisd.matrix.domain = "example.org";
+      services.mxisd.package = pkgs.ma1sd;
+    };
   };
 
   testScript = ''
-    startAll;
-    $server_mxisd->waitForUnit("mxisd.service");
-    $server_mxisd->waitForOpenPort(8090);
-    $server_mxisd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"")
+    start_all()
+    server_mxisd.wait_for_unit("mxisd.service")
+    server_mxisd.wait_for_open_port(8090)
+    server_mxisd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
+    server_ma1sd.wait_for_unit("mxisd.service")
+    server_ma1sd.wait_for_open_port(8090)
+    server_ma1sd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/mysql-backup.nix b/nixpkgs/nixos/tests/mysql-backup.nix
index 81482dfef7e5..a0595e4d5539 100644
--- a/nixpkgs/nixos/tests/mysql-backup.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/mysql-replication.nix b/nixpkgs/nixos/tests/mysql-replication.nix
index c75a862106f6..a2654f041add 100644
--- a/nixpkgs/nixos/tests/mysql-replication.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/mysql.nix b/nixpkgs/nixos/tests/mysql.nix
index 05bd968de02d..924bac84e26c 100644
--- a/nixpkgs/nixos/tests/mysql.nix
+++ b/nixpkgs/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 ];
@@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
       {
         users.users.testuser = { };
+        users.users.testuser2 = { };
         services.mysql.enable = true;
         services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" ''
           ALTER USER root@localhost IDENTIFIED WITH unix_socket;
@@ -34,12 +35,17 @@ import ./make-test.nix ({ pkgs, ...} : {
           DELETE FROM mysql.user WHERE user = ''';
           FLUSH PRIVILEGES;
         '';
-        services.mysql.ensureDatabases = [ "testdb" ];
+        services.mysql.ensureDatabases = [ "testdb" "testdb2" ];
         services.mysql.ensureUsers = [{
           name = "testuser";
           ensurePermissions = {
             "testdb.*" = "ALL PRIVILEGES";
           };
+        } {
+          name = "testuser2";
+          ensurePermissions = {
+            "testdb2.*" = "ALL PRIVILEGES";
+          };
         }];
         services.mysql.package = pkgs.mariadb;
       };
@@ -47,17 +53,31 @@ 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"
+    )
+    # Ensure testuser2 is not able to insert into testdb as mysql testuser2
+    mariadb.fail(
+        "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2"
+    )
+    # Ensure testuser2 is not able to authenticate as mysql testuser
+    mariadb.fail(
+        "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 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/nixpkgs/nixos/tests/nagios.nix b/nixpkgs/nixos/tests/nagios.nix
new file mode 100644
index 000000000000..6f5d44472878
--- /dev/null
+++ b/nixpkgs/nixos/tests/nagios.nix
@@ -0,0 +1,116 @@
+import ./make-test-python.nix (
+  { pkgs, ... }: {
+    name = "nagios";
+    meta = with pkgs.stdenv.lib.maintainers; {
+      maintainers = [ symphorien ];
+    };
+
+    machine = { lib, ... }: let
+      writer = pkgs.writeShellScript "write" ''
+        set -x
+        echo "$@"  >> /tmp/notifications
+      '';
+    in
+      {
+        # tested service
+        services.sshd.enable = true;
+        # nagios
+        services.nagios = {
+          enable = true;
+          # make state transitions faster
+          extraConfig.interval_length = "5";
+          objectDefs =
+            (map (x: "${pkgs.nagios}/etc/objects/${x}.cfg") [ "templates" "timeperiods" "commands" ]) ++ [
+              (
+                pkgs.writeText "objects.cfg" ''
+                  # notifications are written to /tmp/notifications
+                  define command {
+                  command_name notify-host-by-file
+                  command_line ${writer} "$HOSTNAME is $HOSTSTATE$"
+                  }
+                  define command {
+                  command_name notify-service-by-file
+                  command_line ${writer} "$SERVICEDESC$ is $SERVICESTATE$"
+                  }
+
+                  # nagios boilerplate
+                  define contact {
+                  contact_name                    alice
+                  alias                           alice
+                  host_notifications_enabled      1
+                  service_notifications_enabled   1
+                  service_notification_period     24x7
+                  host_notification_period        24x7
+                  service_notification_options    w,u,c,r,f,s
+                  host_notification_options       d,u,r,f,s
+                  service_notification_commands   notify-service-by-file
+                  host_notification_commands      notify-host-by-file
+                  email                           foo@example.com
+                  }
+                  define contactgroup {
+                  contactgroup_name   admins
+                  alias               Admins
+                  members alice
+                  }
+                  define hostgroup{
+                  hostgroup_name  allhosts
+                  alias  All hosts
+                  }
+
+                  # monitored objects
+                  define host {
+                  use         generic-host
+                  host_name   localhost
+                  alias       localhost
+                  address     localhost
+                  hostgroups  allhosts
+                  contact_groups admins
+                  # make state transitions faster.
+                  max_check_attempts 2
+                  check_interval 1
+                  retry_interval 1
+                  }
+                  define service {
+                  use                 generic-service
+                  host_name           localhost
+                  service_description ssh
+                  check_command       check_ssh
+                  # make state transitions faster.
+                  max_check_attempts 2
+                  check_interval 1
+                  retry_interval 1
+                  }
+                ''
+              )
+            ];
+        };
+      };
+
+    testScript = { ... }: ''
+      with subtest("ensure sshd starts"):
+          machine.wait_for_unit("sshd.service")
+
+
+      with subtest("ensure nagios starts"):
+          machine.wait_for_file("/var/log/nagios/current")
+
+
+      def assert_notify(text):
+          machine.wait_for_file("/tmp/notifications")
+          real = machine.succeed("cat /tmp/notifications").strip()
+          print(f"got {real!r}, expected {text!r}")
+          assert text == real
+
+
+      with subtest("ensure we get a notification when sshd is down"):
+          machine.succeed("systemctl stop sshd")
+          assert_notify("ssh is CRITICAL")
+
+
+      with subtest("ensure tests can succeed"):
+          machine.succeed("systemctl start sshd")
+          machine.succeed("rm /tmp/notifications")
+          assert_notify("ssh is OK")
+    '';
+  }
+)
diff --git a/nixpkgs/nixos/tests/nat.nix b/nixpkgs/nixos/tests/nat.nix
index 51d9cf166bb6..0d1f7aaedfa2 100644
--- a/nixpkgs/nixos/tests/nat.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ndppd.nix b/nixpkgs/nixos/tests/ndppd.nix
index 6a6f602726de..b67b26a79341 100644
--- a/nixpkgs/nixos/tests/ndppd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/neo4j.nix b/nixpkgs/nixos/tests/neo4j.nix
index 86ed8970517c..32ee7f501b8b 100644
--- a/nixpkgs/nixos/tests/neo4j.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/nesting.nix b/nixpkgs/nixos/tests/nesting.nix
index 1306d6f8e0c5..6388b67a6e40 100644
--- a/nixpkgs/nixos/tests/nesting.nix
+++ b/nixpkgs/nixos/tests/nesting.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "nesting";
   nodes =  {
     clone = { pkgs, ... }: {
@@ -19,24 +19,26 @@ import ./make-test.nix {
     };
   };
   testScript = ''
-    $clone->waitForUnit("default.target");
-    $clone->succeed("cowsay hey");
-    $clone->fail("hello");
+    clone.wait_for_unit("default.target")
+    clone.succeed("cowsay hey")
+    clone.fail("hello")
 
-    # Nested clones do inherit from parent
-    $clone->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
-    $clone->succeed("cowsay hey");
-    $clone->succeed("hello");
+    with subtest("Nested clones do inherit from parent"):
+        clone.succeed(
+            "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
+        )
+        clone.succeed("cowsay hey")
+        clone.succeed("hello")
     
+        children.wait_for_unit("default.target")
+        children.succeed("cowsay hey")
+        children.fail("hello")
 
-    $children->waitForUnit("default.target");
-    $children->succeed("cowsay hey");
-    $children->fail("hello");
-
-    # Nested children do not inherit from parent
-    $children->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
-    $children->fail("cowsay hey");
-    $children->succeed("hello");
-
+    with subtest("Nested children do not inherit from parent"):
+        children.succeed(
+            "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
+        )
+        children.fail("cowsay hey")
+        children.succeed("hello")
   '';
 }
diff --git a/nixpkgs/nixos/tests/netdata.nix b/nixpkgs/nixos/tests/netdata.nix
index 9bd147968e4b..4ddc96e8bc22 100644
--- a/nixpkgs/nixos/tests/netdata.nix
+++ b/nixpkgs/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,23 @@ 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/")
+    netdata.succeed("sleep 4")
 
     # 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/nixpkgs/nixos/tests/networking.nix b/nixpkgs/nixos/tests/networking.nix
index 7452768033ab..9448a104073f 100644
--- a/nixpkgs/nixos/tests/networking.nix
+++ b/nixpkgs/nixos/tests/networking.nix
@@ -4,7 +4,7 @@
 # bool: whether to use networkd in the tests
 , networkd }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -72,12 +72,14 @@ let
   testCases = {
     loopback = {
       name = "Loopback";
+      machine.networking.useDHCP = false;
       machine.networking.useNetworkd = networkd;
       testScript = ''
-        startAll;
-        $machine->waitForUnit("network.target");
-        $machine->succeed("ip addr show lo | grep -q 'inet 127.0.0.1/8 '");
-        $machine->succeed("ip addr show lo | grep -q 'inet6 ::1/128 '");
+        start_all()
+        machine.wait_for_unit("network.target")
+        loopback_addresses = machine.succeed("ip addr show lo")
+        assert "inet 127.0.0.1/8" in loopback_addresses
+        assert "inet6 ::1/128" in loopback_addresses
       '';
     };
     static = {
@@ -101,35 +103,35 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
+          client.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
 
-          # Make sure dhcpcd is not started
-          $client->fail("systemctl status dhcpcd.service");
+          with subtest("Make sure dhcpcd is not started"):
+              client.fail("systemctl status dhcpcd.service")
 
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.10");
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 192.168.1.3")
+              client.wait_until_succeeds("ping -c 1 192.168.1.10")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.10");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
+              router.wait_until_succeeds("ping -c 1 192.168.1.10")
 
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.wait_until_succeeds("ping -c 1 192.168.2.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.wait_until_succeeds("ping -c 1 192.168.2.2")
 
-          # Test default gateway
-          $router->waitUntilSucceeds("ping -c 1 192.168.3.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.3.1");
+          with subtest("Test default gateway"):
+              router.wait_until_succeeds("ping -c 1 192.168.3.1")
+              client.wait_until_succeeds("ping -c 1 192.168.3.1")
         '';
     };
     dhcpSimple = {
@@ -139,51 +141,53 @@ let
         virtualisation.vlans = [ 1 2 ];
         networking = {
           useNetworkd = networkd;
-          useDHCP = true;
+          useDHCP = false;
           interfaces.eth1 = {
             ipv4.addresses = mkOverride 0 [ ];
             ipv6.addresses = mkOverride 0 [ ];
+            useDHCP = true;
           };
           interfaces.eth2 = {
             ipv4.addresses = mkOverride 0 [ ];
             ipv6.addresses = mkOverride 0 [ ];
+            useDHCP = true;
           };
         };
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
-
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-          $client->waitUntilSucceeds("ip addr show dev eth2 | grep -q '192.168.2'");
-          $client->waitUntilSucceeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'");
-
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::2");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::2");
-
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::2");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::1");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::2");
+          start_all()
+
+          client.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
+
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
+              client.wait_until_succeeds("ip addr show dev eth2 | grep -q '192.168.2'")
+              client.wait_until_succeeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'")
+
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
+
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
+
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.wait_until_succeeds("ping -c 1 192.168.2.2")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
+
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.wait_until_succeeds("ping -c 1 192.168.2.2")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
         '';
     };
     dhcpOneIf = {
@@ -203,28 +207,28 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              client.wait_for_unit("network.target")
+              router.wait_for_unit("network.target")
 
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
 
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
 
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->fail("ping -c 1 192.168.2.2");
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.fail("ping -c 1 192.168.2.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->fail("ping -c 1 192.168.2.2");
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.fail("ping -c 1 192.168.2.2")
         '';
     };
     bond = let
@@ -249,18 +253,18 @@ let
       nodes.client2 = node "192.168.1.2";
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Test bonding
-          $client1->waitUntilSucceeds("ping -c 2 192.168.1.1");
-          $client1->waitUntilSucceeds("ping -c 2 192.168.1.2");
+          with subtest("Test bonding"):
+              client1.wait_until_succeeds("ping -c 2 192.168.1.1")
+              client1.wait_until_succeeds("ping -c 2 192.168.1.2")
 
-          $client2->waitUntilSucceeds("ping -c 2 192.168.1.1");
-          $client2->waitUntilSucceeds("ping -c 2 192.168.1.2");
+              client2.wait_until_succeeds("ping -c 2 192.168.1.1")
+              client2.wait_until_succeeds("ping -c 2 192.168.1.2")
         '';
     };
     bridge = let
@@ -291,25 +295,24 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              for machine in client1, client2, router:
+                  machine.wait_for_unit("network.target")
 
-          # Test bridging
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.3");
+          with subtest("Test bridging"):
+              client1.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client1.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client1.wait_until_succeeds("ping -c 1 192.168.1.3")
 
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.3");
+              client2.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client2.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client2.wait_until_succeeds("ping -c 1 192.168.1.3")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
         '';
     };
     macvlan = {
@@ -320,46 +323,52 @@ let
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
+          useDHCP = false;
           firewall.logReversePathDrops = true; # to debug firewall rules
           # reverse path filtering rules for the macvlan interface seem
           # to be incorrect, causing the test to fail. Disable temporarily.
           firewall.checkReversePath = false;
-          useDHCP = true;
           macvlans.macvlan.interface = "eth1";
-          interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
+          interfaces.eth1 = {
+            ipv4.addresses = mkOverride 0 [ ];
+            useDHCP = true;
+          };
+          interfaces.macvlan = {
+            useDHCP = true;
+          };
         };
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          # Wait for networking to come up
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
-
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
-          $client->waitUntilSucceeds("ip addr show dev macvlan | grep -q '192.168.1'");
-
-          # Print lots of diagnostic information
-          $router->log('**********************************************');
-          $router->succeed("ip addr >&2");
-          $router->succeed("ip route >&2");
-          $router->execute("iptables-save >&2");
-          $client->log('==============================================');
-          $client->succeed("ip addr >&2");
-          $client->succeed("ip route >&2");
-          $client->execute("iptables-save >&2");
-          $client->log('##############################################');
-
-          # Test macvlan creates routable ips
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
+          start_all()
+
+          with subtest("Wait for networking to come up"):
+              client.wait_for_unit("network.target")
+              router.wait_for_unit("network.target")
+
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
+              client.wait_until_succeeds("ip addr show dev macvlan | grep -q '192.168.1'")
+
+          with subtest("Print lots of diagnostic information"):
+              router.log("**********************************************")
+              router.succeed("ip addr >&2")
+              router.succeed("ip route >&2")
+              router.execute("iptables-save >&2")
+              client.log("==============================================")
+              client.succeed("ip addr >&2")
+              client.succeed("ip route >&2")
+              client.execute("iptables-save >&2")
+              client.log("##############################################")
+
+          with subtest("Test macvlan creates routable ips"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 192.168.1.3")
+
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
         '';
     };
     sit = let
@@ -386,22 +395,22 @@ let
       nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to be configured
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to be configured"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Print diagnostic information
-          $client1->succeed("ip addr >&2");
-          $client2->succeed("ip addr >&2");
+              # Print diagnostic information
+              client1.succeed("ip addr >&2")
+              client2.succeed("ip addr >&2")
 
-          # Test ipv6
-          $client1->waitUntilSucceeds("ping -c 1 fc00::1");
-          $client1->waitUntilSucceeds("ping -c 1 fc00::2");
+          with subtest("Test ipv6"):
+              client1.wait_until_succeeds("ping -c 1 fc00::1")
+              client1.wait_until_succeeds("ping -c 1 fc00::2")
 
-          $client2->waitUntilSucceeds("ping -c 1 fc00::1");
-          $client2->waitUntilSucceeds("ping -c 1 fc00::2");
+              client2.wait_until_succeeds("ping -c 1 fc00::1")
+              client2.wait_until_succeeds("ping -c 1 fc00::2")
         '';
     };
     vlan = let
@@ -426,20 +435,22 @@ let
       nodes.client2 = node "192.168.1.2";
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to be configured
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to be configured"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Test vlan is setup
-          $client1->succeed("ip addr show dev vlan >&2");
-          $client2->succeed("ip addr show dev vlan >&2");
+          with subtest("Test vlan is setup"):
+              client1.succeed("ip addr show dev vlan >&2")
+              client2.succeed("ip addr show dev vlan >&2")
         '';
     };
     virtual = {
       name = "Virtual";
       machine = {
+        networking.useNetworkd = networkd;
+        networking.useDHCP = false;
         networking.interfaces.tap0 = {
           ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
           ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
@@ -453,33 +464,38 @@ let
       };
 
       testScript = ''
-        my $targetList = <<'END';
+        targetList = """
         tap0: tap persist user 0
         tun0: tun persist user 0
-        END
-
-        # Wait for networking to come up
-        $machine->start;
-        $machine->waitForUnit("network-online.target");
-
-        # Test interfaces set up
-        my $list = $machine->succeed("ip tuntap list | sort");
-        "$list" eq "$targetList" or die(
-          "The list of virtual interfaces does not match the expected one:\n",
-          "Result:\n", "$list\n",
-          "Expected:\n", "$targetList\n"
-        );
-
-        # Test interfaces clean up
-        $machine->succeed("systemctl stop network-addresses-tap0");
-        $machine->sleep(10);
-        $machine->succeed("systemctl stop network-addresses-tun0");
-        $machine->sleep(10);
-        my $residue = $machine->succeed("ip tuntap list");
-        $residue eq "" or die(
-          "Some virtual interface has not been properly cleaned:\n",
-          "$residue\n"
-        );
+        """.strip()
+
+        with subtest("Wait for networking to come up"):
+            machine.start()
+            machine.wait_for_unit("network-online.target")
+
+        with subtest("Test interfaces set up"):
+            list = machine.succeed("ip tuntap list | sort").strip()
+            assert (
+                list == targetList
+            ), """
+            The list of virtual interfaces does not match the expected one:
+            Result:
+              {}
+            Expected:
+              {}
+            """.format(
+                list, targetList
+            )
+
+        with subtest("Test interfaces clean up"):
+            machine.succeed("systemctl stop network-addresses-tap0")
+            machine.sleep(10)
+            machine.succeed("systemctl stop network-addresses-tun0")
+            machine.sleep(10)
+            residue = machine.succeed("ip tuntap list")
+            assert (
+                residue is ""
+            ), "Some virtual interface has not been properly cleaned:\n{}".format(residue)
       '';
     };
     privacy = {
@@ -489,6 +505,7 @@ let
         boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
         networking = {
           useNetworkd = networkd;
+          useDHCP = false;
           interfaces.eth1.ipv6.addresses = singleton {
             address = "fd00:1234:5678:1::1";
             prefixLength = 64;
@@ -510,15 +527,16 @@ let
           '';
         };
       };
-      nodes.clientWithPrivacy = { pkgs, ... }: with pkgs.lib; {
+      nodes.client_with_privacy = { pkgs, ... }: with pkgs.lib; {
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
-          useDHCP = true;
+          useDHCP = false;
           interfaces.eth1 = {
             preferTempAddress = true;
             ipv4.addresses = mkOverride 0 [ ];
             ipv6.addresses = mkOverride 0 [ ];
+            useDHCP = true;
           };
         };
       };
@@ -526,35 +544,42 @@ let
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
-          useDHCP = true;
+          useDHCP = false;
           interfaces.eth1 = {
             preferTempAddress = false;
             ipv4.addresses = mkOverride 0 [ ];
             ipv6.addresses = mkOverride 0 [ ];
+            useDHCP = true;
           };
         };
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          $client->waitForUnit("network.target");
-          $clientWithPrivacy->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
-
-          # Wait until we have an ip address
-          $clientWithPrivacy->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-
-          # Test vlan 1
-          $clientWithPrivacy->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-
-          # Test address used is temporary
-          $clientWithPrivacy->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
-
-          # Test address used is EUI-64
-          $client->waitUntilSucceeds("ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
+          start_all()
+
+          client.wait_for_unit("network.target")
+          client_with_privacy.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
+
+          with subtest("Wait until we have an ip address"):
+              client_with_privacy.wait_until_succeeds(
+                  "ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"
+              )
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
+
+          with subtest("Test vlan 1"):
+              client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+
+          with subtest("Test address used is temporary"):
+              client_with_privacy.wait_until_succeeds(
+                  "! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
+              )
+
+          with subtest("Test address used is EUI-64"):
+              client.wait_until_succeeds(
+                  "ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
+              )
         '';
     };
     routes = {
@@ -577,47 +602,57 @@ let
       };
 
       testScript = ''
-        my $targetIPv4Table = <<'END';
+        targetIPv4Table = """
         10.0.0.0/16 proto static scope link mtu 1500 
         192.168.1.0/24 proto kernel scope link src 192.168.1.2 
         192.168.2.0/24 via 192.168.1.1 proto static 
-        END
+        """.strip()
 
-        my $targetIPv6Table = <<'END';
+        targetIPv6Table = """
         2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium
         2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium
         fdfd:b3f0::/48 proto static metric 1024 pref medium
-        END
-
-        $machine->start;
-        $machine->waitForUnit("network.target");
-
-        # test routing tables
-        my $ipv4Table = $machine->succeed("ip -4 route list dev eth0 | head -n3");
-        my $ipv6Table = $machine->succeed("ip -6 route list dev eth0 | head -n3");
-        "$ipv4Table" eq "$targetIPv4Table" or die(
-          "The IPv4 routing table does not match the expected one:\n",
-          "Result:\n", "$ipv4Table\n",
-          "Expected:\n", "$targetIPv4Table\n"
-        );
-        "$ipv6Table" eq "$targetIPv6Table" or die(
-          "The IPv6 routing table does not match the expected one:\n",
-          "Result:\n", "$ipv6Table\n",
-          "Expected:\n", "$targetIPv6Table\n"
-        );
-
-        # test clean-up of the tables
-        $machine->succeed("systemctl stop network-addresses-eth0");
-        my $ipv4Residue = $machine->succeed("ip -4 route list dev eth0 | head -n-3");
-        my $ipv6Residue = $machine->succeed("ip -6 route list dev eth0 | head -n-3");
-        $ipv4Residue eq "" or die(
-          "The IPv4 routing table has not been properly cleaned:\n",
-          "$ipv4Residue\n"
-        );
-        $ipv6Residue eq "" or die(
-          "The IPv6 routing table has not been properly cleaned:\n",
-          "$ipv6Residue\n"
-        );
+        """.strip()
+
+        machine.start()
+        machine.wait_for_unit("network.target")
+
+        with subtest("test routing tables"):
+            ipv4Table = machine.succeed("ip -4 route list dev eth0 | head -n3").strip()
+            ipv6Table = machine.succeed("ip -6 route list dev eth0 | head -n3").strip()
+            assert (
+                ipv4Table == targetIPv4Table
+            ), """
+              The IPv4 routing table does not match the expected one:
+                Result:
+                  {}
+                Expected:
+                  {}
+              """.format(
+                ipv4Table, targetIPv4Table
+            )
+            assert (
+                ipv6Table == targetIPv6Table
+            ), """
+              The IPv6 routing table does not match the expected one:
+                Result:
+                  {}
+                Expected:
+                  {}
+              """.format(
+                ipv6Table, targetIPv6Table
+            )
+
+        with subtest("test clean-up of the tables"):
+            machine.succeed("systemctl stop network-addresses-eth0")
+            ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip()
+            ipv6Residue = machine.succeed("ip -6 route list dev eth0 | head -n-3").strip()
+            assert (
+                ipv4Residue is ""
+            ), "The IPv4 routing table has not been properly cleaned:\n{}".format(ipv4Residue)
+            assert (
+                ipv6Residue is ""
+            ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue)
       '';
     };
   };
diff --git a/nixpkgs/nixos/tests/nextcloud/basic.nix b/nixpkgs/nixos/tests/nextcloud/basic.nix
index bfb97ec3f230..75862feb202d 100644
--- a/nixpkgs/nixos/tests/nextcloud/basic.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index aaf37ee4c810..b9ba5888187d 100644
--- a/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixpkgs/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index 81c269c23788..324853350af6 100644
--- a/nixpkgs/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixpkgs/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 {
@@ -36,49 +36,16 @@ in {
       };
 
       services.redis = {
-        unixSocket = "/var/run/redis/redis.sock";
         enable = true;
-        extraConfig = ''
-          unixsocketperm 770
-        '';
-      };
-
-      systemd.services.redis = {
-        preStart = ''
-          mkdir -p /var/run/redis
-          chown ${config.services.redis.user}:${config.services.nginx.group} /var/run/redis
-        '';
-        serviceConfig.PermissionsStartOnly = true;
       };
 
       systemd.services.nextcloud-setup= {
         requires = ["postgresql.service"];
         after = [
           "postgresql.service"
-          "chown-redis-socket.service"
         ];
       };
 
-      # At the time of writing, redis creates its socket with the "nobody"
-      # group.  I figure this is slightly less bad than making the socket world
-      # readable.
-      systemd.services.chown-redis-socket = {
-        enable = true;
-        script = ''
-          until ${pkgs.redis}/bin/redis-cli ping; do
-            echo "waiting for redis..."
-            sleep 1
-          done
-          chown ${config.services.redis.user}:${config.services.nginx.group} /var/run/redis/redis.sock
-        '';
-        after = [ "redis.service" ];
-        requires = [ "redis.service" ];
-        wantedBy = [ "redis.service" ];
-        serviceConfig = {
-          Type = "oneshot";
-        };
-      };
-
       services.postgresql = {
         enable = true;
         ensureDatabases = [ "nextcloud" ];
@@ -94,8 +61,8 @@ in {
   testScript = let
     configureRedis = pkgs.writeScript "configure-redis" ''
       #!${pkgs.stdenv.shell}
-      nextcloud-occ config:system:set redis 'host' --value '/var/run/redis/redis.sock' --type string
-      nextcloud-occ config:system:set redis 'port' --value 0 --type integer
+      nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string
+      nextcloud-occ config:system:set redis 'port' --value 6379 --type integer
       nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string
       nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string
     '';
@@ -118,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/nixpkgs/nixos/tests/nexus.nix b/nixpkgs/nixos/tests/nexus.nix
index 783c9f5c019f..1ec5c40476a6 100644
--- a/nixpkgs/nixos/tests/nexus.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/nfs.nix b/nixpkgs/nixos/tests/nfs.nix
deleted file mode 100644
index 2f655336e757..000000000000
--- a/nixpkgs/nixos/tests/nfs.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-import ./make-test.nix ({ pkgs, version ? 4, ... }:
-
-let
-
-  client =
-    { pkgs, ... }:
-    { fileSystems = pkgs.lib.mkVMOverride
-        [ { mountPoint = "/data";
-            # nfs4 exports the export with fsid=0 as a virtual root directory
-            device = if (version == 4) then "server:/" else "server:/data";
-            fsType = "nfs";
-            options = [ "vers=${toString version}" ];
-          }
-        ];
-      networking.firewall.enable = false; # FIXME: only open statd
-    };
-
-in
-
-{
-  name = "nfs";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco ];
-  };
-
-  nodes =
-    { client1 = client;
-      client2 = client;
-
-      server =
-        { ... }:
-        { services.nfs.server.enable = true;
-          services.nfs.server.exports =
-            ''
-              /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0)
-            '';
-          services.nfs.server.createMountPoints = true;
-          networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed
-        };
-    };
-
-  testScript =
-    ''
-      $server->waitForUnit("nfs-server");
-      $server->succeed("systemctl start network-online.target");
-      $server->waitForUnit("network-online.target");
-
-      startAll;
-
-      $client1->waitForUnit("data.mount");
-      $client1->succeed("echo bla > /data/foo");
-      $server->succeed("test -e /data/foo");
-
-      $client2->waitForUnit("data.mount");
-      $client2->succeed("echo bla > /data/bar");
-      $server->succeed("test -e /data/bar");
-
-      # Test whether restarting ‘nfs-server’ works correctly.
-      $server->succeed("systemctl restart nfs-server");
-      $client2->succeed("echo bla >> /data/bar"); # will take 90 seconds due to the NFS grace period
-
-      # Test whether we can get a lock.
-      $client2->succeed("time flock -n -s /data/lock true");
-
-      # Test locking: client 1 acquires an exclusive lock, so client 2
-      # should then fail to acquire a shared lock.
-      $client1->succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &");
-      $client1->waitForFile("locked");
-      $client2->fail("flock -n -s /data/lock true");
-
-      # Test whether client 2 obtains the lock if we reset client 1.
-      $client2->succeed("flock -x /data/lock -c 'echo acquired; touch locked; sleep 100000' >&2 &");
-      $client1->crash;
-      $client1->start;
-      $client2->waitForFile("locked");
-
-      # Test whether locks survive a reboot of the server.
-      $client1->waitForUnit("data.mount");
-      $server->shutdown;
-      $server->start;
-      $client1->succeed("touch /data/xyzzy");
-      $client1->fail("time flock -n -s /data/lock true");
-
-      # Test whether unmounting during shutdown happens quickly.
-      my $t1 = time;
-      $client1->shutdown;
-      my $duration = time - $t1;
-      die "shutdown took too long ($duration seconds)" if $duration > 30;
-    '';
-})
diff --git a/nixpkgs/nixos/tests/nfs/default.nix b/nixpkgs/nixos/tests/nfs/default.nix
new file mode 100644
index 000000000000..6bc803c91b46
--- /dev/null
+++ b/nixpkgs/nixos/tests/nfs/default.nix
@@ -0,0 +1,9 @@
+{ version ? 4
+, system ? builtins.currentSystem
+, pkgs ? import ../../.. { inherit system; }
+}: {
+  simple = import ./simple.nix { inherit version system pkgs; };
+} // pkgs.lib.optionalAttrs (version == 4) {
+  # TODO: Test kerberos + nfsv3
+  kerberos = import ./kerberos.nix { inherit version system pkgs; };
+}
diff --git a/nixpkgs/nixos/tests/nfs/kerberos.nix b/nixpkgs/nixos/tests/nfs/kerberos.nix
new file mode 100644
index 000000000000..1f2d0d453ea0
--- /dev/null
+++ b/nixpkgs/nixos/tests/nfs/kerberos.nix
@@ -0,0 +1,133 @@
+import ../make-test-python.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+let
+  krb5 = 
+    { enable = true;
+      domain_realm."nfs.test"   = "NFS.TEST";
+      libdefaults.default_realm = "NFS.TEST";
+      realms."NFS.TEST" =
+        { admin_server = "server.nfs.test";
+          kdc = "server.nfs.test";
+        };
+    };
+
+  hosts =
+    ''
+      192.168.1.1 client.nfs.test
+      192.168.1.2 server.nfs.test
+    '';
+
+  users = {
+    users.alice = {
+        isNormalUser = true;
+        name = "alice";
+        uid = 1000;
+      };
+  };
+
+in
+
+{
+  name = "nfsv4-with-kerberos";
+ 
+  nodes = {
+    client = { lib, ... }:
+      { inherit krb5 users;
+
+        networking.extraHosts = hosts;
+        networking.domain = "nfs.test";
+        networking.hostName = "client";
+
+        fileSystems = lib.mkVMOverride
+          { "/data" = {
+              device  = "server.nfs.test:/";
+              fsType  = "nfs";
+              options = [ "nfsvers=4" "sec=krb5p" "noauto" ];
+            };
+          };
+      };
+
+    server = { lib, ...}:
+      { inherit krb5 users;
+
+        networking.extraHosts = hosts;
+        networking.domain = "nfs.test";
+        networking.hostName = "server";
+
+        networking.firewall.allowedTCPPorts = [
+          111  # rpc
+          2049 # nfs
+          88   # kerberos
+          749  # kerberos admin
+        ];
+
+        services.kerberos_server.enable = true;
+        services.kerberos_server.realms =
+          { "NFS.TEST".acl =
+            [ { access = "all"; principal = "admin/admin"; } ];
+          };
+
+        services.nfs.server.enable = true;
+        services.nfs.server.createMountPoints = true;
+        services.nfs.server.exports =
+          ''
+            /data *(rw,no_root_squash,fsid=0,sec=krb5p)
+          '';
+      };
+  };
+
+  testScript =
+    ''
+      server.succeed("mkdir -p /data/alice")
+      server.succeed("chown alice:users /data/alice")
+
+      # set up kerberos database
+      server.succeed(
+          "kdb5_util create -s -r NFS.TEST -P master_key",
+          "systemctl restart kadmind.service kdc.service",
+      )
+      server.wait_for_unit(f"kadmind.service")
+      server.wait_for_unit(f"kdc.service")
+
+      # create principals
+      server.succeed(
+          "kadmin.local add_principal -randkey nfs/server.nfs.test",
+          "kadmin.local add_principal -randkey nfs/client.nfs.test",
+          "kadmin.local add_principal -pw admin_pw admin/admin",
+          "kadmin.local add_principal -pw alice_pw alice",
+      )
+
+      # add principals to server keytab
+      server.succeed("kadmin.local ktadd nfs/server.nfs.test")
+      server.succeed("systemctl start rpc-gssd.service rpc-svcgssd.service")
+      server.wait_for_unit(f"rpc-gssd.service")
+      server.wait_for_unit(f"rpc-svcgssd.service")
+
+      client.wait_for_unit("network-online.target")
+
+      # add principals to client keytab
+      client.succeed("echo admin_pw | kadmin -p admin/admin ktadd nfs/client.nfs.test")
+      client.succeed("systemctl start rpc-gssd.service")
+      client.wait_for_unit("rpc-gssd.service")
+
+      with subtest("nfs share mounts"):
+          client.succeed("systemctl restart data.mount")
+          client.wait_for_unit("data.mount")
+
+      with subtest("permissions on nfs share are enforced"):
+          client.fail("su alice -c 'ls /data'")
+          client.succeed("su alice -c 'echo alice_pw | kinit'")
+          client.succeed("su alice -c 'ls /data'")
+
+          client.fail("su alice -c 'echo bla >> /data/foo'")
+          client.succeed("su alice -c 'echo bla >> /data/alice/foo'")
+          server.succeed("test -e /data/alice/foo")
+
+      with subtest("uids/gids are mapped correctly on nfs share"):
+          ids = client.succeed("stat -c '%U %G' /data/alice").split()
+          expected = ["alice", "users"]
+          assert ids == expected, f"ids incorrect: got {ids} expected {expected}"
+    '';
+})
diff --git a/nixpkgs/nixos/tests/nfs/simple.nix b/nixpkgs/nixos/tests/nfs/simple.nix
new file mode 100644
index 000000000000..a1a09ee0f45c
--- /dev/null
+++ b/nixpkgs/nixos/tests/nfs/simple.nix
@@ -0,0 +1,94 @@
+import ../make-test-python.nix ({ pkgs, version ? 4, ... }:
+
+let
+
+  client =
+    { pkgs, ... }:
+    { fileSystems = pkgs.lib.mkVMOverride
+        [ { mountPoint = "/data";
+            # nfs4 exports the export with fsid=0 as a virtual root directory
+            device = if (version == 4) then "server:/" else "server:/data";
+            fsType = "nfs";
+            options = [ "vers=${toString version}" ];
+          }
+        ];
+      networking.firewall.enable = false; # FIXME: only open statd
+    };
+
+in
+
+{
+  name = "nfs";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ eelco ];
+  };
+
+  nodes =
+    { client1 = client;
+      client2 = client;
+
+      server =
+        { ... }:
+        { services.nfs.server.enable = true;
+          services.nfs.server.exports =
+            ''
+              /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0)
+            '';
+          services.nfs.server.createMountPoints = true;
+          networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed
+        };
+    };
+
+  testScript =
+    ''
+      import time
+
+      server.wait_for_unit("nfs-server")
+      server.succeed("systemctl start network-online.target")
+      server.wait_for_unit("network-online.target")
+
+      start_all()
+
+      client1.wait_for_unit("data.mount")
+      client1.succeed("echo bla > /data/foo")
+      server.succeed("test -e /data/foo")
+
+      client2.wait_for_unit("data.mount")
+      client2.succeed("echo bla > /data/bar")
+      server.succeed("test -e /data/bar")
+
+      with subtest("restarting 'nfs-server' works correctly"):
+          server.succeed("systemctl restart nfs-server")
+          # will take 90 seconds due to the NFS grace period
+          client2.succeed("echo bla >> /data/bar")
+
+      with subtest("can get a lock"):
+          client2.succeed("time flock -n -s /data/lock true")
+
+      with subtest("client 2 fails to acquire lock held by client 1"):
+          client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &")
+          client1.wait_for_file("locked")
+          client2.fail("flock -n -s /data/lock true")
+
+      with subtest("client 2 obtains lock after resetting client 1"):
+          client2.succeed(
+              "flock -x /data/lock -c 'echo acquired; touch locked; sleep 100000' >&2 &"
+          )
+          client1.crash()
+          client1.start()
+          client2.wait_for_file("locked")
+
+      with subtest("locks survive server reboot"):
+          client1.wait_for_unit("data.mount")
+          server.shutdown()
+          server.start()
+          client1.succeed("touch /data/xyzzy")
+          client1.fail("time flock -n -s /data/lock true")
+
+      with subtest("unmounting during shutdown happens quickly"):
+          t1 = time.monotonic()
+          client1.shutdown()
+          duration = time.monotonic() - t1
+          assert duration < 30, f"shutdown took too long ({duration} seconds)"
+    '';
+})
diff --git a/nixpkgs/nixos/tests/nghttpx.nix b/nixpkgs/nixos/tests/nghttpx.nix
index 11611bfe1063..d83c1c4cae63 100644
--- a/nixpkgs/nixos/tests/nghttpx.nix
+++ b/nixpkgs/nixos/tests/nghttpx.nix
@@ -1,7 +1,7 @@
 let
   nginxRoot = "/run/nginx";
 in
-  import ./make-test.nix ({...}: {
+  import ./make-test-python.nix ({...}: {
     name  = "nghttpx";
     nodes = {
       webserver = {
@@ -52,10 +52,10 @@ in
     };
 
     testScript = ''
-      startAll;
+      start_all()
 
-      $webserver->waitForOpenPort("80");
-      $proxy->waitForOpenPort("80");
-      $client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
+      webserver.wait_for_open_port("80")
+      proxy.wait_for_open_port("80")
+      client.wait_until_succeeds("curl -s --fail http://proxy/hello-world.txt")
     '';
   })
diff --git a/nixpkgs/nixos/tests/nginx-etag.nix b/nixpkgs/nixos/tests/nginx-etag.nix
new file mode 100644
index 000000000000..e357309d166a
--- /dev/null
+++ b/nixpkgs/nixos/tests/nginx-etag.nix
@@ -0,0 +1,89 @@
+import ./make-test-python.nix {
+  name = "nginx-etag";
+
+  nodes = {
+    server = { pkgs, lib, ... }: {
+      networking.firewall.enable = false;
+      services.nginx.enable = true;
+      services.nginx.virtualHosts.server = {
+        root = pkgs.runCommandLocal "testdir" {} ''
+          mkdir "$out"
+          cat > "$out/test.js" <<EOF
+          document.getElementById('foobar').setAttribute('foo', 'bar');
+          EOF
+          cat > "$out/index.html" <<EOF
+          <!DOCTYPE html>
+          <div id="foobar">test</div>
+          <script src="test.js"></script>
+          EOF
+        '';
+      };
+
+      nesting.clone = lib.singleton {
+        services.nginx.virtualHosts.server = {
+          root = lib.mkForce (pkgs.runCommandLocal "testdir2" {} ''
+            mkdir "$out"
+            cat > "$out/test.js" <<EOF
+            document.getElementById('foobar').setAttribute('foo', 'yay');
+            EOF
+            cat > "$out/index.html" <<EOF
+            <!DOCTYPE html>
+            <div id="foobar">test</div>
+            <script src="test.js"></script>
+            EOF
+          '');
+        };
+      };
+    };
+
+    client = { pkgs, lib, ... }: {
+      virtualisation.memorySize = 512;
+      environment.systemPackages = let
+        testRunner = pkgs.writers.writePython3Bin "test-runner" {
+          libraries = [ pkgs.python3Packages.selenium ];
+        } ''
+          import os
+          import time
+
+          from selenium.webdriver import Firefox
+          from selenium.webdriver.firefox.options import Options
+
+          options = Options()
+          options.add_argument('--headless')
+          driver = Firefox(options=options)
+
+          driver.implicitly_wait(20)
+          driver.get('http://server/')
+          driver.find_element_by_xpath('//div[@foo="bar"]')
+          open('/tmp/passed_stage1', 'w')
+
+          while not os.path.exists('/tmp/proceed'):
+              time.sleep(0.5)
+
+          driver.get('http://server/')
+          driver.find_element_by_xpath('//div[@foo="yay"]')
+          open('/tmp/passed', 'w')
+        '';
+      in [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
+    };
+  };
+
+  testScript = { nodes, ... }: let
+    inherit (nodes.server.config.system.build) toplevel;
+    newSystem = "${toplevel}/fine-tune/child-1";
+  in ''
+    start_all()
+
+    server.wait_for_unit("nginx.service")
+    client.wait_for_unit("multi-user.target")
+    client.execute("test-runner &")
+    client.wait_for_file("/tmp/passed_stage1")
+
+    server.succeed(
+        "${newSystem}/bin/switch-to-configuration test >&2"
+    )
+    client.succeed("touch /tmp/proceed")
+
+    client.wait_for_file("/tmp/passed")
+  '';
+}
diff --git a/nixpkgs/nixos/tests/nginx-sso.nix b/nixpkgs/nixos/tests/nginx-sso.nix
index e19992cb6bf7..8834fc31c387 100644
--- a/nixpkgs/nixos/tests/nginx-sso.nix
+++ b/nixpkgs/nixos/tests/nginx-sso.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "nginx-sso";
   meta = {
     maintainers = with pkgs.stdenv.lib.maintainers; [ delroth ];
@@ -27,18 +27,22 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit("nginx-sso.service");
-    $machine->waitForOpenPort(8080);
+    machine.wait_for_unit("nginx-sso.service")
+    machine.wait_for_open_port(8080)
 
-    # No valid user -> 401.
-    $machine->fail("curl -sSf http://localhost:8080/auth");
+    with subtest("No valid user -> 401"):
+        machine.fail("curl -sSf http://localhost:8080/auth")
 
-    # Valid user but no matching ACL -> 403.
-    $machine->fail("curl -sSf -H 'Authorization: Token MyToken' http://localhost:8080/auth");
+    with subtest("Valid user but no matching ACL -> 403"):
+        machine.fail(
+            "curl -sSf -H 'Authorization: Token MyToken' http://localhost:8080/auth"
+        )
 
-    # Valid user and matching ACL -> 200.
-    $machine->succeed("curl -sSf -H 'Authorization: Token MyToken' -H 'X-Application: MyApp' http://localhost:8080/auth");
+    with subtest("Valid user and matching ACL -> 200"):
+        machine.succeed(
+            "curl -sSf -H 'Authorization: Token MyToken' -H 'X-Application: MyApp' http://localhost:8080/auth"
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/nginx.nix b/nixpkgs/nixos/tests/nginx.nix
index d0b7306ae83b..7358800a6763 100644
--- a/nixpkgs/nixos/tests/nginx.nix
+++ b/nixpkgs/nixos/tests/nginx.nix
@@ -4,10 +4,10 @@
 #   2. whether the ETag header is properly generated whenever we're serving
 #      files in Nix store paths
 #   3. nginx doesn't restart on configuration changes (only reloads)
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "nginx";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mbbx6spp ];
+    maintainers = [ mbbx6spp danbst ];
   };
 
   nodes = {
@@ -59,6 +59,11 @@ import ./make-test.nix ({ pkgs, ... }: {
         {
           services.nginx.package = pkgs.nginxUnstable;
         }
+
+        {
+          services.nginx.package = pkgs.nginxUnstable;
+          services.nginx.virtualHosts."!@$$(#*%".locations."~@#*$*!)".proxyPass = ";;;";
+        }
       ];
     };
 
@@ -68,44 +73,60 @@ import ./make-test.nix ({ pkgs, ... }: {
     etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
     justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
     reloadRestartSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-3";
+    reloadWithErrorsSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-4";
   in ''
-    my $url = 'http://localhost/index.html';
-
-    sub checkEtag {
-      my $etag = $webserver->succeed(
-        'curl -v '.$url.' 2>&1 | sed -n -e "s/^< [Ee][Tt][Aa][Gg]: *//p"'
-      );
-      $etag =~ s/\r?\n$//;
-      my $httpCode = $webserver->succeed(
-        'curl -w "%{http_code}" -X HEAD -H \'If-None-Match: '.$etag.'\' '.$url
-      );
-      chomp $httpCode;
-      die "HTTP code is not 304" unless $httpCode == 304;
-      return $etag;
-    }
-
-    $webserver->waitForUnit("nginx");
-    $webserver->waitForOpenPort("80");
-
-    subtest "check ETag if serving Nix store paths", sub {
-      my $oldEtag = checkEtag;
-      $webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2");
-      $webserver->sleep(1); # race condition
-      my $newEtag = checkEtag;
-      die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag;
-    };
+    url = "http://localhost/index.html"
 
-    subtest "config is reloaded on nixos-rebuild switch", sub {
-      $webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2");
-      $webserver->waitForOpenPort("8080");
-      $webserver->fail("journalctl -u nginx | grep -q -i stopped");
-      $webserver->succeed("journalctl -u nginx | grep -q -i reloaded");
-    };
 
-    subtest "restart when nginx package changes", sub {
-      $webserver->succeed("${reloadRestartSystem}/bin/switch-to-configuration test >&2");
-      $webserver->waitForUnit("nginx");
-      $webserver->succeed("journalctl -u nginx | grep -q -i stopped");
-    };
+    def check_etag():
+        etag = webserver.succeed(
+            f'curl -v {url} 2>&1 | sed -n -e "s/^< etag: *//ip"'
+        ).rstrip()
+        http_code = webserver.succeed(
+            f"curl -w '%{{http_code}}' --head --fail -H 'If-None-Match: {etag}' {url}"
+        )
+        assert http_code.split("\n")[-1] == "304"
+
+        return etag
+
+
+    webserver.wait_for_unit("nginx")
+    webserver.wait_for_open_port(80)
+
+    with subtest("check ETag if serving Nix store paths"):
+        old_etag = check_etag()
+        webserver.succeed(
+            "${etagSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.sleep(1)
+        new_etag = check_etag()
+        assert old_etag != new_etag
+
+    with subtest("config is reloaded on nixos-rebuild switch"):
+        webserver.succeed(
+            "${justReloadSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.wait_for_open_port(8080)
+        webserver.fail("journalctl -u nginx | grep -q -i stopped")
+        webserver.succeed("journalctl -u nginx | grep -q -i reloaded")
+
+    with subtest("restart when nginx package changes"):
+        webserver.succeed(
+            "${reloadRestartSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.wait_for_unit("nginx")
+        webserver.succeed("journalctl -u nginx | grep -q -i stopped")
+
+    with subtest("nixos-rebuild --switch should fail when there are configuration errors"):
+        webserver.fail(
+            "${reloadWithErrorsSystem}/bin/switch-to-configuration test >&2"
+        )
+        webserver.succeed("[[ $(systemctl is-failed nginx-config-reload) == failed ]]")
+        webserver.succeed("[[ $(systemctl is-failed nginx) == active ]]")
+        # just to make sure operation is idempotent. During development I had a situation
+        # when first time it shows error, but stops showing it on subsequent rebuilds
+        webserver.fail(
+            "${reloadWithErrorsSystem}/bin/switch-to-configuration test >&2"
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/nix-ssh-serve.nix b/nixpkgs/nixos/tests/nix-ssh-serve.nix
index 494d55121eb1..03f83542c7c1 100644
--- a/nixpkgs/nixos/tests/nix-ssh-serve.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/nixos-generate-config.nix b/nixpkgs/nixos/tests/nixos-generate-config.nix
index 15a173e024b4..6c83ccecc70a 100644
--- a/nixpkgs/nixos/tests/nixos-generate-config.nix
+++ b/nixpkgs/nixos/tests/nixos-generate-config.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... } : {
+import ./make-test-python.nix ({ lib, ... } : {
   name = "nixos-generate-config";
   meta.maintainers = with lib.maintainers; [ basvandijk ];
   machine = {
@@ -11,14 +11,16 @@ import ./make-test.nix ({ lib, ... } : {
     '';
   };
   testScript = ''
-    startAll;
-    $machine->waitForUnit("multi-user.target");
-    $machine->succeed("nixos-generate-config");
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("nixos-generate-config")
 
     # Test if the configuration really is overridden
-    $machine->succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix");
+    machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix")
 
     # Test of if the Perl variable $bootLoaderConfig is spliced correctly:
-    $machine->succeed("grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix");
+    machine.succeed(
+        "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/novacomd.nix b/nixpkgs/nixos/tests/novacomd.nix
index 4eb60c0feb5c..940210dee235 100644
--- a/nixpkgs/nixos/tests/novacomd.nix
+++ b/nixpkgs/nixos/tests/novacomd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "novacomd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ dtzWill ];
@@ -9,26 +9,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $machine->waitForUnit("multi-user.target");
+    machine.wait_for_unit("novacomd.service")
 
-    # multi-user.target wants novacomd.service, but let's make sure
-    $machine->waitForUnit("novacomd.service");
+    with subtest("Make sure the daemon is really listening"):
+        machine.wait_for_open_port(6968)
+        machine.succeed("novacom -l")
 
-    # Check status and try connecting with novacom
-    $machine->succeed("systemctl status novacomd.service >&2");
-    # to prevent non-deterministic failure,
-    # make sure the daemon is really listening
-    $machine->waitForOpenPort(6968);
-    $machine->succeed("novacom -l");
+    with subtest("Stop the daemon, double-check novacom fails if daemon isn't working"):
+        machine.stop_job("novacomd")
+        machine.fail("novacom -l")
 
-    # Stop the daemon, double-check novacom fails if daemon isn't working
-    $machine->stopJob("novacomd");
-    $machine->fail("novacom -l");
-
-    # And back again for good measure
-    $machine->startJob("novacomd");
-    # make sure the daemon is really listening
-    $machine->waitForOpenPort(6968);
-    $machine->succeed("novacom -l");
+    with subtest("Make sure the daemon starts back up again"):
+        machine.start_job("novacomd")
+        # make sure the daemon is really listening
+        machine.wait_for_open_port(6968)
+        machine.succeed("novacom -l")
   '';
 })
diff --git a/nixpkgs/nixos/tests/nzbget.nix b/nixpkgs/nixos/tests/nzbget.nix
index 042ccec98cf6..12d8ed6ea8da 100644
--- a/nixpkgs/nixos/tests/nzbget.nix
+++ b/nixpkgs/nixos/tests/nzbget.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "nzbget";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aanderse flokli ];
@@ -15,12 +15,16 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("nzbget.service");
-    $server->waitForUnit("network.target");
-    $server->waitForOpenPort(6789);
-    $server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'");
-    $server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V");
+    server.wait_for_unit("nzbget.service")
+    server.wait_for_unit("network.target")
+    server.wait_for_open_port(6789)
+    assert "This file is part of nzbget" in server.succeed(
+        "curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789"
+    )
+    server.succeed(
+        "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/openarena.nix b/nixpkgs/nixos/tests/openarena.nix
new file mode 100644
index 000000000000..b315426532ba
--- /dev/null
+++ b/nixpkgs/nixos/tests/openarena.nix
@@ -0,0 +1,41 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "openarena";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ tomfitzhenry ];
+  };
+
+  machine =
+    { pkgs, ... }:
+
+    { imports = [];
+      environment.systemPackages = with pkgs; [
+        socat
+      ];
+      services.openarena = {
+        enable = true;
+        extraFlags = [
+          "+set dedicated 2"
+          "+set sv_hostname 'My NixOS server'"
+          "+map oa_dm1"
+        ];
+      };
+    };
+
+  testScript =
+    ''
+      machine.wait_for_unit("openarena.service")
+      machine.wait_until_succeeds("ss --numeric --udp --listening | grep -q 27960")
+
+      # The log line containing 'resolve address' is last and only message that occurs after
+      # the server starts accepting clients.
+      machine.wait_until_succeeds(
+          "journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'"
+      )
+
+      # Check it's possible to join the server.
+      # Can't use substring match instead of grep because the output is not utf-8
+      machine.succeed(
+          "echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse"
+      )
+    '';
+})
diff --git a/nixpkgs/nixos/tests/openldap.nix b/nixpkgs/nixos/tests/openldap.nix
index 3ef90e183479..f8321a2c522d 100644
--- a/nixpkgs/nixos/tests/openldap.nix
+++ b/nixpkgs/nixos/tests/openldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "openldap";
 
   machine = { pkgs, ... }: {
@@ -24,8 +24,10 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('openldap.service');
-    $machine->succeed('systemctl status openldap.service');
-    $machine->succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"');
+    machine.wait_for_unit("openldap.service")
+    machine.succeed(
+        "systemctl status openldap.service",
+        'ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"',
+    )
   '';
 }
diff --git a/nixpkgs/nixos/tests/opensmtpd.nix b/nixpkgs/nixos/tests/opensmtpd.nix
index 883ad7604941..e6f52db1d984 100644
--- a/nixpkgs/nixos/tests/opensmtpd.nix
+++ b/nixpkgs/nixos/tests/opensmtpd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "opensmtpd";
 
   nodes = {
@@ -102,23 +102,23 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $client->waitForUnit("network-online.target");
-    $smtp1->waitForUnit('opensmtpd');
-    $smtp2->waitForUnit('opensmtpd');
-    $smtp2->waitForUnit('dovecot2');
+    client.wait_for_unit("network-online.target")
+    smtp1.wait_for_unit("opensmtpd")
+    smtp2.wait_for_unit("opensmtpd")
+    smtp2.wait_for_unit("dovecot2")
 
     # To prevent sporadic failures during daemon startup, make sure
     # services are listening on their ports before sending requests
-    $smtp1->waitForOpenPort(25);
-    $smtp2->waitForOpenPort(25);
-    $smtp2->waitForOpenPort(143);
+    smtp1.wait_for_open_port(25)
+    smtp2.wait_for_open_port(25)
+    smtp2.wait_for_open_port(143)
 
-    $client->succeed('send-a-test-mail');
-    $smtp1->waitUntilFails('smtpctl show queue | egrep .');
-    $smtp2->waitUntilFails('smtpctl show queue | egrep .');
-    $client->succeed('check-mail-landed >&2');
+    client.succeed("send-a-test-mail")
+    smtp1.wait_until_fails("smtpctl show queue | egrep .")
+    smtp2.wait_until_fails("smtpctl show queue | egrep .")
+    client.succeed("check-mail-landed >&2")
   '';
 
   meta.timeout = 30;
diff --git a/nixpkgs/nixos/tests/openssh.nix b/nixpkgs/nixos/tests/openssh.nix
index 8b9e2170f150..e9692b503272 100644
--- a/nixpkgs/nixos/tests/openssh.nix
+++ b/nixpkgs/nixos/tests/openssh.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let inherit (import ./ssh-keys.nix pkgs)
       snakeOilPrivateKey snakeOilPublicKey;
@@ -58,47 +58,55 @@ in {
   };
 
   testScript = ''
-    startAll;
-
-    my $key=`${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f key -N ""`;
-
-    $server->waitForUnit("sshd");
-
-    subtest "manual-authkey", sub {
-      $server->succeed("mkdir -m 700 /root/.ssh");
-      $server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
-      $server_lazy->succeed("mkdir -m 700 /root/.ssh");
-      $server_lazy->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
-
-      $client->succeed("mkdir -m 700 /root/.ssh");
-      $client->copyFileFromHost("key", "/root/.ssh/id_ed25519");
-      $client->succeed("chmod 600 /root/.ssh/id_ed25519");
-
-      $client->waitForUnit("network.target");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024");
-
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024");
-
-    };
-
-    subtest "configured-authkey", sub {
-      $client->succeed("cat ${snakeOilPrivateKey} > privkey.snakeoil");
-      $client->succeed("chmod 600 privkey.snakeoil");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
-                       " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
-                       " server true");
-
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
-                       " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
-                       " server_lazy true");
-
-    };
-
-    subtest "localhost-only", sub {
-      $server_localhost_only->succeed("ss -nlt | grep '127.0.0.1:22'");
-      $server_localhost_only_lazy->succeed("ss -nlt | grep '127.0.0.1:22'");
-    }
+    start_all()
+
+    server.wait_for_unit("sshd")
+
+    with subtest("manual-authkey"):
+        client.succeed("mkdir -m 700 /root/.ssh")
+        client.succeed(
+            '${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""'
+        )
+        public_key = client.succeed(
+            "${pkgs.openssh}/bin/ssh-keygen -y -f /root/.ssh/id_ed25519"
+        )
+        public_key = public_key.strip()
+        client.succeed("chmod 600 /root/.ssh/id_ed25519")
+
+        server.succeed("mkdir -m 700 /root/.ssh")
+        server.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key))
+        server_lazy.succeed("mkdir -m 700 /root/.ssh")
+        server_lazy.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key))
+
+        client.wait_for_unit("network.target")
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"
+        )
+
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"
+        )
+
+    with subtest("configured-authkey"):
+        client.succeed(
+            "cat ${snakeOilPrivateKey} > privkey.snakeoil"
+        )
+        client.succeed("chmod 600 privkey.snakeoil")
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true"
+        )
+
+    with subtest("localhost-only"):
+        server_localhost_only.succeed("ss -nlt | grep '127.0.0.1:22'")
+        server_localhost_only_lazy.succeed("ss -nlt | grep '127.0.0.1:22'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/orangefs.nix b/nixpkgs/nixos/tests/orangefs.nix
new file mode 100644
index 000000000000..46d7a6a72f89
--- /dev/null
+++ b/nixpkgs/nixos/tests/orangefs.nix
@@ -0,0 +1,82 @@
+import ./make-test-python.nix ({ ... } :
+
+let
+  server = { pkgs, ... } : {
+    networking.firewall.allowedTCPPorts = [ 3334 ];
+    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";
+        }
+      ];
+
+    services.orangefs.server = {
+      enable = true;
+      dataStorageSpace = "/data/storage";
+      metadataStorageSpace = "/data/meta";
+      servers = {
+        server1 = "tcp://server1:3334";
+        server2 = "tcp://server2:3334";
+      };
+    };
+  };
+
+  client = { lib, ... } : {
+    networking.firewall.enable = true;
+
+    services.orangefs.client = {
+      enable = true;
+      fileSystems = [{
+        target = "tcp://server1:3334/orangefs";
+        mountPoint = "/orangefs";
+      }];
+    };
+  };
+
+in {
+  name = "orangefs";
+
+  nodes = {
+    server1 = server;
+    server2 = server;
+
+    client1 = client;
+    client2 = client;
+  };
+
+  testScript = ''
+    # format storage
+    for server in server1, server2:
+        server.start()
+        server.wait_for_unit("multi-user.target")
+        server.succeed("mkdir -p /data/storage /data/meta")
+        server.succeed("chown orangefs:orangefs /data/storage /data/meta")
+        server.succeed("chmod 0770 /data/storage /data/meta")
+        server.succeed(
+            "sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf"
+        )
+
+    # start services after storage is formated on all machines
+    for server in server1, server2:
+        server.succeed("systemctl start orangefs-server.service")
+
+    with subtest("clients can reach and mount the FS"):
+        for client in client1, client2:
+            client.start()
+            client.wait_for_unit("orangefs-client.service")
+            # Both servers need to be reachable
+            client.succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334")
+            client.succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334")
+            client.wait_for_unit("orangefs.mount")
+
+    with subtest("R/W test between clients"):
+        client1.succeed("echo test > /orangefs/file1")
+        client2.succeed("grep test /orangefs/file1")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/os-prober.nix b/nixpkgs/nixos/tests/os-prober.nix
index 9cd9f4ecd150..5407a62339fe 100644
--- a/nixpkgs/nixos/tests/os-prober.nix
+++ b/nixpkgs/nixos/tests/os-prober.nix
@@ -51,12 +51,11 @@ let
       hashed-mirrors =
       connect-timeout = 1
     '';
-    services.udisks2.enable = lib.mkForce false;
   };
   # /etc/nixos/configuration.nix for the vm
   configFile = pkgs.writeText "configuration.nix"  ''
     {config, pkgs, ...}: ({
-    imports = 
+    imports =
           [ ./hardware-configuration.nix
             <nixpkgs/nixos/modules/testing/test-instrumentation.nix>
           ];
diff --git a/nixpkgs/nixos/tests/osquery.nix b/nixpkgs/nixos/tests/osquery.nix
deleted file mode 100644
index d95871ffafc6..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/osrm-backend.nix b/nixpkgs/nixos/tests/osrm-backend.nix
index 6e2d098d4adb..db67a5a589f9 100644
--- a/nixpkgs/nixos/tests/osrm-backend.nix
+++ b/nixpkgs/nixos/tests/osrm-backend.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let
   port = 5000;
 in {
@@ -45,9 +45,13 @@ in {
   testScript = let
     query = "http://localhost:${toString port}/route/v1/driving/7.41720,43.73304;7.42463,43.73886?steps=true";
   in ''
-    $machine->waitForUnit("osrm.service");
-    $machine->waitForOpenPort(${toString port});
-    $machine->succeed("curl --silent '${query}' | jq .waypoints[0].name | grep -F 'Boulevard Rainier III'");
-    $machine->succeed("curl --silent '${query}' | jq .waypoints[1].name | grep -F 'Avenue de la Costa'");
+    machine.wait_for_unit("osrm.service")
+    machine.wait_for_open_port(${toString port})
+    assert "Boulevard Rainier III" in machine.succeed(
+        "curl --silent '${query}' | jq .waypoints[0].name"
+    )
+    assert "Avenue de la Costa" in machine.succeed(
+        "curl --silent '${query}' | jq .waypoints[1].name"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/ostree.nix b/nixpkgs/nixos/tests/ostree.nix
deleted file mode 100644
index d7ad84a1a5f0..000000000000
--- a/nixpkgs/nixos/tests/ostree.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, lib, ... }: {
-  name = "ostree";
-
-  meta = {
-    maintainers = pkgs.ostree.meta.maintainers;
-  };
-
-  # TODO: Wrap/patch the tests directly in the package
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [
-      gnome-desktop-testing ostree gnupg (python3.withPackages (p: with p; [ pyyaml ]))
-    ];
-
-    environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [ gtk3 pango.out ostree gdk-pixbuf atk ]); # for GJS tests
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d ${pkgs.ostree.installedTests}/share");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/overlayfs.nix b/nixpkgs/nixos/tests/overlayfs.nix
index 99bb6b0f5531..33794deb9ed8 100644
--- a/nixpkgs/nixos/tests/overlayfs.nix
+++ b/nixpkgs/nixos/tests/overlayfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "overlayfs";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bachp ];
 
@@ -9,49 +9,42 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->succeed("ls /dev");
+    machine.succeed("ls /dev")
 
-    $machine->succeed("mkdir -p /tmp/mnt");
+    machine.succeed("mkdir -p /tmp/mnt")
 
     # Test ext4 + overlayfs
-    $machine->succeed(
-
-      "mkfs.ext4 -F -L overlay-ext4 /dev/vdb",
-      "mount -t ext4 /dev/vdb /tmp/mnt",
-
-      "mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged",
-
-      # Setup some existing files
-      "echo 'Replace' > /tmp/mnt/lower/replace.txt",
-      "echo 'Append' > /tmp/mnt/lower/append.txt",
-      "echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt",
-
-      "mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged",
-
-      # Test new
-      "echo 'New' > /tmp/mnt/merged/new.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/new.txt)\" == \"New\" ]]",
-
-      # Test replace
-      "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replace\" ]]",
-      "echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt",
-      "mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replaced\" ]]",
-
-      # Overwrite
-      "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwrite\" ]]",
-      "echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwritten\" ]]",
-
-      # Test append
-      "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\" ]]",
-      "echo 'ed' >> /tmp/mnt/merged/append.txt",
-      #"cat /tmp/mnt/merged/append.txt && exit 1",
-      "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\ned\" ]]",
-
-      "umount /tmp/mnt/merged",
-      "umount /tmp/mnt",
-      "udevadm settle"
-    );
+    machine.succeed(
+        """
+          mkfs.ext4 -F -L overlay-ext4 /dev/vdb
+          mount -t ext4 /dev/vdb /tmp/mnt
+          mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged
+          # Setup some existing files
+          echo 'Replace' > /tmp/mnt/lower/replace.txt
+          echo 'Append' > /tmp/mnt/lower/append.txt
+          echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt
+          mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged
+          # Test new
+          echo 'New' > /tmp/mnt/merged/new.txt
+          [[ "\$(cat /tmp/mnt/merged/new.txt)" == "New" ]]
+          # Test replace
+          [[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replace" ]]
+          echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt
+          mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt
+          [[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replaced" ]]
+          # Overwrite
+          [[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwrite" ]]
+          echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt
+          [[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwritten" ]]
+          # Test append
+          [[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append" ]]
+          echo 'ed' >> /tmp/mnt/merged/append.txt
+          #"cat /tmp/mnt/merged/append.txt && exit 1
+          [[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]
+          umount /tmp/mnt/merged
+          umount /tmp/mnt
+          udevadm settle
+      """
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/packagekit.nix b/nixpkgs/nixos/tests/packagekit.nix
index e2d68af661f8..7e93ad35e80a 100644
--- a/nixpkgs/nixos/tests/packagekit.nix
+++ b/nixpkgs/nixos/tests/packagekit.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "packagekit";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ peterhoeg ];
@@ -13,12 +13,14 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
     # send a dbus message to activate the service
-    $machine->succeed("dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect");
+    machine.succeed(
+        "dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect"
+    )
 
     # so now it should be running
-    $machine->succeed("systemctl is-active packagekit.service");
+    machine.wait_for_unit("packagekit.service")
   '';
 })
diff --git a/nixpkgs/nixos/tests/pam-oath-login.nix b/nixpkgs/nixos/tests/pam-oath-login.nix
index b9d489950e72..6d48199eda97 100644
--- a/nixpkgs/nixos/tests/pam-oath-login.nix
+++ b/nixpkgs/nixos/tests/pam-oath-login.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 let
   oathSnakeoilSecret = "cdd4083ef8ff1fa9178c6d46bfb1a3";
@@ -55,70 +55,54 @@ in
       };
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'");
-      $machine->screenshot("postboot");
-
-
-      subtest "Invalid password", sub {
-        $machine->fail("pgrep -f 'agetty.*tty2'");
-        $machine->sendKeys("alt-f2");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]");
-        $machine->waitForUnit('getty@tty2.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'");
-
-        $machine->waitUntilTTYMatches(2, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(2, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-
-        $machine->waitUntilTTYMatches(2, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword1}\n");
-        $machine->waitUntilTTYMatches(2, "Password: ");
-        $machine->sendChars("blorg\n");
-        $machine->waitUntilTTYMatches(2, "Login incorrect");
-      };
+  testScript = ''
+    def switch_to_tty(tty_number):
+        machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'")
+        machine.send_key(f"alt-f{tty_number}")
+        machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]")
+        machine.wait_for_unit(f"getty@tty{tty_number}.service")
+        machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'")
 
-      subtest "Invalid oath token", sub {
-        $machine->fail("pgrep -f 'agetty.*tty3'");
-        $machine->sendKeys("alt-f3");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 3 ]");
-        $machine->waitForUnit('getty@tty3.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty3'");
-
-        $machine->waitUntilTTYMatches(3, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(3, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(3, "One-time password");
-        $machine->sendChars("000000\n");
-        $machine->waitUntilTTYMatches(3, "Login incorrect");
-        $machine->waitUntilTTYMatches(3, "login:");
-      };
 
-      subtest "Happy path (both passwords are mandatory to get us in)", sub {
-        $machine->fail("pgrep -f 'agetty.*tty4'");
-        $machine->sendKeys("alt-f4");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 4 ]");
-        $machine->waitForUnit('getty@tty4.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty4'");
-
-        $machine->waitUntilTTYMatches(4, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(4, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(4, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword2}\n");
-        $machine->waitUntilTTYMatches(4, "Password: ");
-        $machine->sendChars("${alicePassword}\n");
-
-        $machine->waitUntilSucceeds("pgrep -u alice bash");
-        $machine->sendChars("touch  done4\n");
-        $machine->waitForFile("/home/alice/done4");
-      };
+    def enter_user_alice(tty_number):
+        machine.wait_until_tty_matches(tty_number, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(tty_number, "login: alice")
+        machine.wait_until_succeeds("pgrep login")
+        machine.wait_until_tty_matches(tty_number, "One-time password")
 
-    '';
 
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+    machine.screenshot("postboot")
+
+    with subtest("Invalid password"):
+        switch_to_tty(2)
+        enter_user_alice(2)
+
+        machine.send_chars("${oathSnakeOilPassword1}\n")
+        machine.wait_until_tty_matches(2, "Password: ")
+        machine.send_chars("blorg\n")
+        machine.wait_until_tty_matches(2, "Login incorrect")
+
+    with subtest("Invalid oath token"):
+        switch_to_tty(3)
+        enter_user_alice(3)
+
+        machine.send_chars("000000\n")
+        machine.wait_until_tty_matches(3, "Login incorrect")
+        machine.wait_until_tty_matches(3, "login:")
+
+    with subtest("Happy path: Both passwords are mandatory to get us in"):
+        switch_to_tty(4)
+        enter_user_alice(4)
+
+        machine.send_chars("${oathSnakeOilPassword2}\n")
+        machine.wait_until_tty_matches(4, "Password: ")
+        machine.send_chars("${alicePassword}\n")
+
+        machine.wait_until_succeeds("pgrep -u alice bash")
+        machine.send_chars("touch  done4\n")
+        machine.wait_for_file("/home/alice/done4")
+    '';
 })
diff --git a/nixpkgs/nixos/tests/pam-u2f.nix b/nixpkgs/nixos/tests/pam-u2f.nix
index 1052a2f3b916..f492baa9e139 100644
--- a/nixpkgs/nixos/tests/pam-u2f.nix
+++ b/nixpkgs/nixos/tests/pam-u2f.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 {
   name = "pam-u2f";
@@ -17,7 +17,9 @@ import ./make-test.nix ({ ... }:
 
   testScript =
     ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->succeed('egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R');
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed(
+          'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R'
+      )
     '';
 })
diff --git a/nixpkgs/nixos/tests/pantheon.nix b/nixpkgs/nixos/tests/pantheon.nix
index c50f77f86173..c0434f20754c 100644
--- a/nixpkgs/nixos/tests/pantheon.nix
+++ b/nixpkgs/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 /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/nixpkgs/nixos/tests/paperless.nix b/nixpkgs/nixos/tests/paperless.nix
index 860ad0a6218f..355e7041d3fe 100644
--- a/nixpkgs/nixos/tests/paperless.nix
+++ b/nixpkgs/nixos/tests/paperless.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... } : {
+import ./make-test-python.nix ({ lib, ... } : {
   name = "paperless";
   meta = with lib.maintainers; {
     maintainers = [ earvstedt ];
@@ -13,17 +13,24 @@ import ./make-test.nix ({ lib, ... } : {
   };
 
   testScript = ''
-    $machine->waitForUnit("paperless-consumer.service");
+    machine.wait_for_unit("paperless-consumer.service")
+
     # Create test doc
-    $machine->succeed('convert -size 400x40 xc:white -font "DejaVu-Sans" -pointsize 20 -fill black \
-      -annotate +5+20 "hello world 16-10-2005" /var/lib/paperless/consume/doc.png');
+    machine.succeed(
+        "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black -annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png"
+    )
+
+    with subtest("Service gets ready"):
+        machine.wait_for_unit("paperless-server.service")
+        # Wait until server accepts connections
+        machine.wait_until_succeeds("curl -s localhost:28981")
 
-    $machine->waitForUnit("paperless-server.service");
-    # Wait until server accepts connections
-    $machine->waitUntilSucceeds("curl -s localhost:28981");
-    # Wait until document is consumed
-    $machine->waitUntilSucceeds('(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))');
-    $machine->succeed("curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'")
-      =~ /2005-10-16/ or die;
+    with subtest("Test document is consumed"):
+        machine.wait_until_succeeds(
+            "(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))"
+        )
+        assert "2005-10-16" in machine.succeed(
+            "curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'"
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/pdns-recursor.nix b/nixpkgs/nixos/tests/pdns-recursor.nix
index bf6e6093d69c..de1b60e0b1c7 100644
--- a/nixpkgs/nixos/tests/pdns-recursor.nix
+++ b/nixpkgs/nixos/tests/pdns-recursor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "powerdns";
 
   nodes.server = { ... }: {
@@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $server->waitForUnit("pdns-recursor");
-    $server->waitForOpenPort("53");
+    server.wait_for_unit("pdns-recursor")
+    server.wait_for_open_port("53")
   '';
 })
diff --git a/nixpkgs/nixos/tests/peerflix.nix b/nixpkgs/nixos/tests/peerflix.nix
index fae37fedaac7..37628604d49b 100644
--- a/nixpkgs/nixos/tests/peerflix.nix
+++ b/nixpkgs/nixos/tests/peerflix.nix
@@ -1,6 +1,6 @@
 # This test runs peerflix and checks if peerflix starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "peerflix";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -15,9 +15,9 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $peerflix->waitForUnit("peerflix.service");
-    $peerflix->waitUntilSucceeds("curl localhost:9000");
+    peerflix.wait_for_unit("peerflix.service")
+    peerflix.wait_until_succeeds("curl localhost:9000")
   '';
 })
diff --git a/nixpkgs/nixos/tests/pgjwt.nix b/nixpkgs/nixos/tests/pgjwt.nix
index a2d81288c812..4793a3e31503 100644
--- a/nixpkgs/nixos/tests/pgjwt.nix
+++ b/nixpkgs/nixos/tests/pgjwt.nix
@@ -1,12 +1,5 @@
-import ./make-test.nix ({ pkgs, lib, ...}:
-let
-  test = with pkgs; runCommand "patch-test" {
-    nativeBuildInputs = [ pgjwt ];
-  }
-  ''
-    sed -e '12 i CREATE EXTENSION pgcrypto;\nCREATE EXTENSION pgtap;\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > $out;
-  '';
-in
+import ./make-test-python.nix ({ pkgs, lib, ...}:
+
 with pkgs; {
   name = "pgjwt";
   meta = with lib.maintainers; {
@@ -29,9 +22,13 @@ with pkgs; {
     pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}";
   in
   ''
-    startAll;
-    $master->waitForUnit("postgresql");
-    $master->copyFileFromHost("${test}","/tmp/test.sql");
-    $master->succeed("${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql");
+    start_all()
+    master.wait_for_unit("postgresql")
+    master.succeed(
+        "${pkgs.gnused}/bin/sed -e '12 i CREATE EXTENSION pgcrypto;\\nCREATE EXTENSION pgtap;\\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > /tmp/test.sql"
+    )
+    master.succeed(
+        "${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/pgmanage.nix b/nixpkgs/nixos/tests/pgmanage.nix
index bacaf3f41588..4f5dbed24a97 100644
--- a/nixpkgs/nixos/tests/pgmanage.nix
+++ b/nixpkgs/nixos/tests/pgmanage.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } :
+import ./make-test-python.nix ({ pkgs, ... } :
 let
   role     = "test";
   password = "secret";
@@ -29,11 +29,13 @@ in
   };
 
   testScript = ''
-    startAll;
-    $one->waitForUnit("default.target");
-    $one->requireActiveUnit("pgmanage.service");
+    start_all()
+    one.wait_for_unit("default.target")
+    one.require_unit_state("pgmanage.service", "active")
 
     # Test if we can log in.
-    $one->waitUntilSucceeds("curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail");
+    one.wait_until_succeeds(
+        "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/php-pcre.nix b/nixpkgs/nixos/tests/php-pcre.nix
index ae44aec7944f..d5c22e0582a0 100644
--- a/nixpkgs/nixos/tests/php-pcre.nix
+++ b/nixpkgs/nixos/tests/php-pcre.nix
@@ -1,7 +1,7 @@
 
 let testString = "can-use-subgroups"; in
 
-import ./make-test.nix ({ ...}: {
+import ./make-test-python.nix ({ ...}: {
   name = "php-httpd-pcre-jit-test";
   machine = { lib, pkgs, ... }: {
     time.timeZone = "UTC";
@@ -31,9 +31,10 @@ import ./make-test.nix ({ ...}: {
   };
   testScript = { ... }:
   ''
-    $machine->waitForUnit('httpd.service');
+    machine.wait_for_unit("httpd.service")
     # Ensure php evaluation by matching on the var_dump syntax
-    $machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \
-      | grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""');
+    assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed(
+        "curl -vvv -s http://127.0.0.1:80/index.php"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/plasma5.nix b/nixpkgs/nixos/tests/plasma5.nix
index 88d4ff334369..2eccfdf47f59 100644
--- a/nixpkgs/nixos/tests/plasma5.nix
+++ b/nixpkgs/nixos/tests/plasma5.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "plasma5";
@@ -7,59 +7,53 @@ 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.displayManager.defaultSession = "plasma5";
     services.xserver.desktopManager.plasma5.enable = true;
-    services.xserver.desktopManager.default = "plasma5";
     services.xserver.displayManager.sddm.autoLogin = {
       enable = true;
       user = "alice";
     };
     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 /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/nixpkgs/nixos/tests/postgis.nix b/nixpkgs/nixos/tests/postgis.nix
index 294eb50b5fe5..84bbb0bc8ec6 100644
--- a/nixpkgs/nixos/tests/postgis.nix
+++ b/nixpkgs/nixos/tests/postgis.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "postgis";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ lsix ];
@@ -20,10 +20,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $master->waitForUnit("postgresql");
-    $master->sleep(10); # Hopefully this is long enough!!
-    $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'");
-    $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'");
+    start_all()
+    master.wait_for_unit("postgresql")
+    master.sleep(10)  # Hopefully this is long enough!!
+    master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'")
+    master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/postgresql.nix b/nixpkgs/nixos/tests/postgresql.nix
index ae5d6d095ea2..e71c38882881 100644
--- a/nixpkgs/nixos/tests/postgresql.nix
+++ b/nixpkgs/nixos/tests/postgresql.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -40,29 +40,33 @@ let
       backupName = if backup-all then "all" else "postgres";
       backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres";
     in ''
-      sub check_count {
-        my ($select, $nlines) = @_;
-        return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines;
-      }
+      def check_count(statement, lines):
+          return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
+              statement, lines
+          )
+
+
+      machine.start()
+      machine.wait_for_unit("postgresql")
 
-      $machine->start;
-      $machine->waitForUnit("postgresql");
       # postgresql should be available just after unit start
-      $machine->succeed("cat ${test-sql} | sudo -u postgres psql");
-      $machine->shutdown; # make sure that postgresql survive restart (bug #1735)
-      sleep(2);
-      $machine->start;
-      $machine->waitForUnit("postgresql");
-      $machine->fail(check_count("SELECT * FROM sth;", 3));
-      $machine->succeed(check_count("SELECT * FROM sth;", 5));
-      $machine->fail(check_count("SELECT * FROM sth;", 4));
-      $machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1));
+      machine.succeed(
+          "cat ${test-sql} | sudo -u postgres psql"
+      )
+      machine.shutdown()  # make sure that postgresql survive restart (bug #1735)
+      time.sleep(2)
+      machine.start()
+      machine.wait_for_unit("postgresql")
+      machine.fail(check_count("SELECT * FROM sth;", 3))
+      machine.succeed(check_count("SELECT * FROM sth;", 5))
+      machine.fail(check_count("SELECT * FROM sth;", 4))
+      machine.succeed(check_count("SELECT xpath('/test/text()', doc) FROM xmltest;", 1))
 
       # Check backup service
-      $machine->succeed("systemctl start ${backupService}.service");
-      $machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'");
-      $machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600");
-      $machine->shutdown;
+      machine.succeed("systemctl start ${backupService}.service")
+      machine.succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'")
+      machine.succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600")
+      machine.shutdown()
     '';
 
   };
diff --git a/nixpkgs/nixos/tests/powerdns.nix b/nixpkgs/nixos/tests/powerdns.nix
index 8addcc784012..75d71315e644 100644
--- a/nixpkgs/nixos/tests/powerdns.nix
+++ b/nixpkgs/nixos/tests/powerdns.nix
@@ -1,12 +1,13 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "powerdns";
 
   nodes.server = { ... }: {
     services.powerdns.enable = true;
+    environment.systemPackages = [ pkgs.dnsutils ];
   };
 
   testScript = ''
-    $server->waitForUnit("pdns");
-    $server->succeed("${pkgs.dnsutils}/bin/dig version.bind txt chaos \@127.0.0.1");
+    server.wait_for_unit("pdns")
+    server.succeed("dig version.bind txt chaos \@127.0.0.1")
   '';
 })
diff --git a/nixpkgs/nixos/tests/pppd.nix b/nixpkgs/nixos/tests/pppd.nix
new file mode 100644
index 000000000000..bda0aa75bb50
--- /dev/null
+++ b/nixpkgs/nixos/tests/pppd.nix
@@ -0,0 +1,62 @@
+import ./make-test-python.nix (
+  let
+    chap-secrets = {
+      text = ''"flynn" * "reindeerflotilla" *'';
+      mode = "0640";
+    };
+  in {
+    nodes = {
+      server = {config, pkgs, ...}: {
+        config = {
+          # Run a PPPoE access concentrator server. It will spawn an
+          # appropriate PPP server process when a PPPoE client sets up a
+          # PPPoE session.
+          systemd.services.pppoe-server = {
+            restartTriggers = [
+              config.environment.etc."ppp/pppoe-server-options".source
+              config.environment.etc."ppp/chap-secrets".source
+            ];
+            after = ["network.target"];
+            serviceConfig = {
+              ExecStart = "${pkgs.rpPPPoE}/sbin/pppoe-server -F -O /etc/ppp/pppoe-server-options -q ${pkgs.ppp}/sbin/pppd -I eth1 -L 192.0.2.1 -R 192.0.2.2";
+            };
+            wantedBy = ["multi-user.target"];
+          };
+          environment.etc = {
+            "ppp/pppoe-server-options".text = ''
+              lcp-echo-interval 10
+              lcp-echo-failure 2
+              plugin rp-pppoe.so
+              require-chap
+              nobsdcomp
+              noccp
+              novj
+            '';
+            "ppp/chap-secrets" = chap-secrets;
+          };
+        };
+      };
+      client = {config, pkgs, ...}: {
+        services.pppd = {
+          enable = true;
+          peers.test = {
+            config = ''
+              plugin rp-pppoe.so eth1
+              name "flynn"
+              noipdefault
+              persist
+              noauth
+              debug
+            '';
+          };
+        };
+        environment.etc."ppp/chap-secrets" = chap-secrets;
+      };
+    };
+
+    testScript = ''
+      start_all()
+      client.wait_until_succeeds("ping -c1 -W1 192.0.2.1")
+      server.wait_until_succeeds("ping -c1 -W1 192.0.2.2")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/predictable-interface-names.nix b/nixpkgs/nixos/tests/predictable-interface-names.nix
index 85047f66f23c..83883477a5cc 100644
--- a/nixpkgs/nixos/tests/predictable-interface-names.nix
+++ b/nixpkgs/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";
@@ -16,11 +16,12 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
       networking.usePredictableInterfaceNames = lib.mkForce predictable;
       networking.useNetworkd = withNetworkd;
       networking.dhcpcd.enable = !withNetworkd;
+      networking.useDHCP = !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/nixpkgs/nixos/tests/prometheus-exporters.nix b/nixpkgs/nixos/tests/prometheus-exporters.nix
index 9826b56b74d7..563f24726477 100644
--- a/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/nixpkgs/nixos/tests/prometheus-exporters.nix
@@ -4,12 +4,10 @@
 }:
 
 let
-  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
   inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge
                      removeSuffix replaceChars singleton splitString;
 
-  escape' = str: replaceChars [''"'' "$" "\n"] [''\\\"'' "\\$" ""] str;
-
 /*
  * The attrset `exporterTests` contains one attribute
  * for each exporter test. Each of these attributes
@@ -33,9 +31,9 @@ let
  *        services.<metricProvider>.enable = true;
  *      };
  *      exporterTest = ''
- *        waitForUnit("prometheus-<exporterName>-exporter.service");
- *        waitForOpenPort("1234");
- *        succeed("curl -sSf 'localhost:1234/metrics'");
+ *        wait_for_unit("prometheus-<exporterName>-exporter.service")
+ *        wait_for_open_port("1234")
+ *        succeed("curl -sSf 'localhost:1234/metrics'")
  *      '';
  *    };
  *
@@ -49,11 +47,11 @@ let
  *    };
  *
  *    testScript = ''
- *      $<exporterName>->start();
- *      $<exporterName>->waitForUnit("prometheus-<exporterName>-exporter.service");
- *      $<exporterName>->waitForOpenPort("1234");
- *      $<exporterName>->succeed("curl -sSf 'localhost:1234/metrics'");
- *      $<exporterName>->shutdown();
+ *      <exporterName>.start()
+ *      <exporterName>.wait_for_unit("prometheus-<exporterName>-exporter.service")
+ *      <exporterName>.wait_for_open_port("1234")
+ *      <exporterName>.succeed("curl -sSf 'localhost:1234/metrics'")
+ *      <exporterName>.shutdown()
  *    '';
  */
 
@@ -72,9 +70,11 @@ let
         '';
       };
       exporterTest = ''
-        waitForUnit("prometheus-bind-exporter.service");
-        waitForOpenPort(9119);
-        succeed("curl -sSf http://localhost:9119/metrics | grep -q 'bind_query_recursions_total 0'");
+        wait_for_unit("prometheus-bind-exporter.service")
+        wait_for_open_port(9119)
+        succeed(
+            "curl -sSf http://localhost:9119/metrics | grep -q 'bind_query_recursions_total 0'"
+        )
       '';
     };
 
@@ -89,9 +89,11 @@ let
         });
       };
       exporterTest = ''
-        waitForUnit("prometheus-blackbox-exporter.service");
-        waitForOpenPort(9115);
-        succeed("curl -sSf 'http://localhost:9115/probe?target=localhost&module=icmp_v6' | grep -q 'probe_success 1'");
+        wait_for_unit("prometheus-blackbox-exporter.service")
+        wait_for_open_port(9115)
+        succeed(
+            "curl -sSf 'http://localhost:9115/probe?target=localhost&module=icmp_v6' | grep -q 'probe_success 1'"
+        )
       '';
     };
 
@@ -100,7 +102,7 @@ let
         enable = true;
         extraFlags = [ "--web.collectd-push-path /collectd" ];
       };
-      exporterTest =let postData = escape' ''
+      exporterTest = let postData = replaceChars [ "\n" ] [ "" ] ''
         [{
           "values":[23],
           "dstypes":["gauge"],
@@ -108,13 +110,21 @@ let
           "interval":1000,
           "host":"testhost",
           "plugin":"testplugin",
-          "time":$(date +%s)
+          "time":DATE
         }]
         ''; in ''
-        waitForUnit("prometheus-collectd-exporter.service");
-        waitForOpenPort(9103);
-        succeed("curl -sSfH 'Content-Type: application/json' -X POST --data \"${postData}\" localhost:9103/collectd");
-        succeed("curl -sSf localhost:9103/metrics | grep -q 'collectd_testplugin_gauge{instance=\"testhost\"} 23'");
+        wait_for_unit("prometheus-collectd-exporter.service")
+        wait_for_open_port(9103)
+        succeed(
+            'echo \'${postData}\'> /tmp/data.json'
+        )
+        succeed('sed -ie "s DATE $(date +%s) " /tmp/data.json')
+        succeed(
+            "curl -sSfH 'Content-Type: application/json' -X POST --data @/tmp/data.json localhost:9103/collectd"
+        )
+        succeed(
+            "curl -sSf localhost:9103/metrics | grep -q 'collectd_testplugin_gauge{instance=\"testhost\"} 23'"
+        )
       '';
     };
 
@@ -127,9 +137,9 @@ let
         services.dnsmasq.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-dnsmasq-exporter.service");
-        waitForOpenPort(9153);
-        succeed("curl -sSf http://localhost:9153/metrics | grep -q 'dnsmasq_leases 0'");
+        wait_for_unit("prometheus-dnsmasq-exporter.service")
+        wait_for_open_port(9153)
+        succeed("curl -sSf http://localhost:9153/metrics | grep -q 'dnsmasq_leases 0'")
       '';
     };
 
@@ -144,9 +154,11 @@ let
         services.dovecot2.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-dovecot-exporter.service");
-        waitForOpenPort(9166);
-        succeed("curl -sSf http://localhost:9166/metrics | grep -q 'dovecot_up{scope=\"global\"} 1'");
+        wait_for_unit("prometheus-dovecot-exporter.service")
+        wait_for_open_port(9166)
+        succeed(
+            "curl -sSf http://localhost:9166/metrics | grep -q 'dovecot_up{scope=\"global\"} 1'"
+        )
       '';
     };
 
@@ -155,9 +167,11 @@ let
         enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-fritzbox-exporter.service");
-        waitForOpenPort(9133);
-        succeed("curl -sSf http://localhost:9133/metrics | grep -q 'fritzbox_exporter_collect_errors 0'");
+        wait_for_unit("prometheus-fritzbox-exporter.service")
+        wait_for_open_port(9133)
+        succeed(
+            "curl -sSf http://localhost:9133/metrics | grep -q 'fritzbox_exporter_collect_errors 0'"
+        )
       '';
     };
 
@@ -180,11 +194,11 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service");
-        waitForOpenPort(80);
-        waitForUnit("prometheus-json-exporter.service");
-        waitForOpenPort(7979);
-        succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'");
+        wait_for_unit("nginx.service")
+        wait_for_open_port(80)
+        wait_for_unit("prometheus-json-exporter.service")
+        wait_for_open_port(7979)
+        succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'")
       '';
     };
 
@@ -222,10 +236,46 @@ let
         users.users.mailexporter.isSystemUser = true;
       };
       exporterTest = ''
-        waitForUnit("postfix.service")
-        waitForUnit("prometheus-mail-exporter.service")
-        waitForOpenPort(9225)
-        waitUntilSucceeds("curl -sSf http://localhost:9225/metrics | grep -q 'mail_deliver_success{configname=\"testserver\"} 1'")
+        wait_for_unit("postfix.service")
+        wait_for_unit("prometheus-mail-exporter.service")
+        wait_for_open_port(9225)
+        wait_until_succeeds(
+            "curl -sSf http://localhost:9225/metrics | grep -q 'mail_deliver_success{configname=\"testserver\"} 1'"
+        )
+      '';
+    };
+
+    nextcloud = {
+      exporterConfig = {
+        enable = true;
+        passwordFile = "/var/nextcloud-pwfile";
+        url = "http://localhost/negative-space.xml";
+      };
+      metricProvider = {
+        systemd.services.nc-pwfile = let
+          passfile = (pkgs.writeText "pwfile" "snakeoilpw");
+        in {
+          requiredBy = [ "prometheus-nextcloud-exporter.service" ];
+          before = [ "prometheus-nextcloud-exporter.service" ];
+          serviceConfig.ExecStart = ''
+            ${pkgs.coreutils}/bin/install -o nextcloud-exporter -m 0400 ${passfile} /var/nextcloud-pwfile
+          '';
+        };
+        services.nginx = {
+          enable = true;
+          virtualHosts."localhost" = {
+            basicAuth.nextcloud-exporter = "snakeoilpw";
+            locations."/" = {
+              root = "${pkgs.prometheus-nextcloud-exporter.src}/serverinfo/testdata";
+            };
+          };
+        };
+      };
+      exporterTest = ''
+        wait_for_unit("nginx.service")
+        wait_for_unit("prometheus-nextcloud-exporter.service")
+        wait_for_open_port(9205)
+        succeed("curl -sSf http://localhost:9205/metrics | grep -q 'nextcloud_up 1'")
       '';
     };
 
@@ -241,9 +291,9 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service")
-        waitForUnit("prometheus-nginx-exporter.service")
-        waitForOpenPort(9113)
+        wait_for_unit("nginx.service")
+        wait_for_unit("prometheus-nginx-exporter.service")
+        wait_for_open_port(9113)
         succeed("curl -sSf http://localhost:9113/metrics | grep -q 'nginx_up 1'")
       '';
     };
@@ -253,9 +303,11 @@ let
         enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-node-exporter.service");
-        waitForOpenPort(9100);
-        succeed("curl -sSf http://localhost:9100/metrics | grep -q 'node_exporter_build_info{.\\+} 1'");
+        wait_for_unit("prometheus-node-exporter.service")
+        wait_for_open_port(9100)
+        succeed(
+            "curl -sSf http://localhost:9100/metrics | grep -q 'node_exporter_build_info{.\\+} 1'"
+        )
       '';
     };
 
@@ -267,9 +319,11 @@ let
         services.postfix.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-postfix-exporter.service");
-        waitForOpenPort(9154);
-        succeed("curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'");
+        wait_for_unit("prometheus-postfix-exporter.service")
+        wait_for_open_port(9154)
+        succeed(
+            "curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'"
+        )
       '';
     };
 
@@ -282,18 +336,24 @@ let
         services.postgresql.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-postgres-exporter.service");
-        waitForOpenPort(9187);
-        waitForUnit("postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'");
-        systemctl("stop postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -qv 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 0'");
-        systemctl("start postgresql.service");
-        waitForUnit("postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'");
+        wait_for_unit("prometheus-postgres-exporter.service")
+        wait_for_open_port(9187)
+        wait_for_unit("postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'")
+        systemctl("stop postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -qv 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 0'")
+        systemctl("start postgresql.service")
+        wait_for_unit("postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'")
       '';
     };
 
@@ -305,11 +365,13 @@ let
         services.rspamd.enable = true;
       };
       exporterTest = ''
-        waitForUnit("rspamd.service");
-        waitForUnit("prometheus-rspamd-exporter.service");
-        waitForOpenPort(11334);
-        waitForOpenPort(7980);
-        waitUntilSucceeds("curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'");
+        wait_for_unit("rspamd.service")
+        wait_for_unit("prometheus-rspamd-exporter.service")
+        wait_for_open_port(11334)
+        wait_for_open_port(7980)
+        wait_until_succeeds(
+            "curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'"
+        )
       '';
     };
 
@@ -322,9 +384,9 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("prometheus-snmp-exporter.service");
-        waitForOpenPort(9116);
-        succeed("curl -sSf localhost:9116/metrics | grep -q 'snmp_request_errors_total 0'");
+        wait_for_unit("prometheus-snmp-exporter.service")
+        wait_for_open_port(9116)
+        succeed("curl -sSf localhost:9116/metrics | grep -q 'snmp_request_errors_total 0'")
       '';
     };
 
@@ -343,11 +405,11 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service");
-        waitForOpenPort(80);
-        waitForUnit("prometheus-surfboard-exporter.service");
-        waitForOpenPort(9239);
-        succeed("curl -sSf localhost:9239/metrics | grep -q 'surfboard_up 1'");
+        wait_for_unit("nginx.service")
+        wait_for_open_port(80)
+        wait_for_unit("prometheus-surfboard-exporter.service")
+        wait_for_open_port(9239)
+        succeed("curl -sSf localhost:9239/metrics | grep -q 'surfboard_up 1'")
       '';
     };
 
@@ -362,11 +424,11 @@ let
         services.tor.controlPort = 9051;
       };
       exporterTest = ''
-        waitForUnit("tor.service");
-        waitForOpenPort(9051);
-        waitForUnit("prometheus-tor-exporter.service");
-        waitForOpenPort(9130);
-        succeed("curl -sSf localhost:9130/metrics | grep -q 'tor_version{.\\+} 1'");
+        wait_for_unit("tor.service")
+        wait_for_open_port(9051)
+        wait_for_unit("prometheus-tor-exporter.service")
+        wait_for_open_port(9130)
+        succeed("curl -sSf localhost:9130/metrics | grep -q 'tor_version{.\\+} 1'")
       '';
     };
 
@@ -392,10 +454,10 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("prometheus-varnish-exporter.service");
-        waitForOpenPort(6081);
-        waitForOpenPort(9131);
-        succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'");
+        wait_for_unit("prometheus-varnish-exporter.service")
+        wait_for_open_port(6081)
+        wait_for_open_port(9131)
+        succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'")
       '';
     };
 
@@ -417,9 +479,11 @@ let
         systemd.services.prometheus-wireguard-exporter.after = [ "wireguard-wg0.service" ];
       };
       exporterTest = ''
-        waitForUnit("prometheus-wireguard-exporter.service");
-        waitForOpenPort(9586);
-        waitUntilSucceeds("curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'");
+        wait_for_unit("prometheus-wireguard-exporter.service")
+        wait_for_open_port(9586)
+        wait_until_succeeds(
+            "curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'"
+        )
       '';
     };
   };
@@ -432,11 +496,13 @@ mapAttrs (exporter: testConfig: (makeTest {
   } testConfig.metricProvider or {}];
 
   testScript = ''
-    ${"$"+exporter}->start();
-    ${concatStringsSep "  " (map (line: ''
-      ${"$"+exporter}->${line};
-    '') (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
-    ${"$"+exporter}->shutdown();
+    ${exporter}.start()
+    ${concatStringsSep "\n" (map (line:
+      if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")")
+      then line
+      else "${exporter}.${line}"
+    ) (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
+    ${exporter}.shutdown()
   '';
 
   meta = with maintainers; {
diff --git a/nixpkgs/nixos/tests/prometheus.nix b/nixpkgs/nixos/tests/prometheus.nix
index 52f61046be39..8bfd0c131e61 100644
--- a/nixpkgs/nixos/tests/prometheus.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/proxy.nix b/nixpkgs/nixos/tests/proxy.nix
index 1f39e903cddb..3859d429c21b 100644
--- a/nixpkgs/nixos/tests/proxy.nix
+++ b/nixpkgs/nixos/tests/proxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : 
+import ./make-test.nix ({ pkgs, ...} :
 
 let
 
@@ -7,7 +7,7 @@ let
 
     { services.httpd.enable = true;
       services.httpd.adminAddr = "foo@example.org";
-      services.httpd.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
+      services.httpd.virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
       networking.firewall.allowedTCPPorts = [ 80 ];
     };
 
@@ -26,11 +26,11 @@ in
         { services.httpd.enable = true;
           services.httpd.adminAddr = "bar@example.org";
           services.httpd.extraModules = [ "proxy_balancer" "lbmethod_byrequests" ];
-
-          services.httpd.extraConfig =
-            ''
-              ExtendedStatus on
-
+          services.httpd.extraConfig = ''
+            ExtendedStatus on
+          '';
+          services.httpd.virtualHosts.localhost = {
+            extraConfig = ''
               <Location /server-status>
                 Require all granted
                 SetHandler server-status
@@ -50,6 +50,7 @@ in
               # For testing; don't want to wait forever for dead backend servers.
               ProxyTimeout      5
             '';
+          };
 
           networking.firewall.allowedTCPPorts = [ 80 ];
         };
diff --git a/nixpkgs/nixos/tests/quagga.nix b/nixpkgs/nixos/tests/quagga.nix
index 6aee7ea57f03..04590aa0eb38 100644
--- a/nixpkgs/nixos/tests/quagga.nix
+++ b/nixpkgs/nixos/tests/quagga.nix
@@ -5,7 +5,7 @@
 #
 # All interfaces are in OSPF Area 0.
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
   let
 
     ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
@@ -74,23 +74,23 @@ import ./make-test.nix ({ pkgs, ... }:
       testScript =
         { ... }:
         ''
-          startAll;
+          start_all()
 
           # Wait for the networking to start on all machines
-          $_->waitForUnit("network.target") foreach values %vms;
+          for machine in client, router1, router2, server:
+              machine.wait_for_unit("network.target")
 
-          # Wait for OSPF to form adjacencies
-          for my $gw ($router1, $router2) {
-              $gw->waitForUnit("ospfd");
-              $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full");
-              $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'");
-          }
+          with subtest("Wait for OSPF to form adjacencies"):
+              for gw in router1, router2:
+                  gw.wait_for_unit("ospfd")
+                  gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full")
+                  gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
 
-          # Test ICMP.
-          $client->succeed("ping -c 3 server >&2");
+          with subtest("Test ICMP"):
+              client.wait_until_succeeds("ping -c 3 server >&2")
 
-          # Test whether HTTP works.
-          $server->waitForUnit("httpd");
-          $client->succeed("curl --fail http://server/ >&2");
+          with subtest("Test whether HTTP works"):
+              server.wait_for_unit("httpd")
+              client.succeed("curl --fail http://server/ >&2")
         '';
     })
diff --git a/nixpkgs/nixos/tests/quake3.nix b/nixpkgs/nixos/tests/quake3.nix
deleted file mode 100644
index 4253ce4a8672..000000000000
--- a/nixpkgs/nixos/tests/quake3.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} :
-
-let
-
-  # Build Quake with coverage instrumentation.
-  overrides = pkgs:
-    {
-      quake3game = pkgs.quake3game.override (args: {
-        stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv;
-      });
-    };
-
-  # Only allow the demo data to be used (only if it's unfreeRedistributable).
-  unfreePredicate = pkg: with pkgs.lib; let
-    allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
-    allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ];
-  in elem pkg.pname allowPackageNames &&
-     elem (pkg.meta.license or null) allowLicenses;
-
-in
-
-rec {
-  name = "quake3";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ domenkozar eelco ];
-  };
-
-  # TODO: lcov doesn't work atm
-  #makeCoverageReport = true;
-
-  client =
-    { pkgs, ... }:
-
-    { imports = [ ./common/x11.nix ];
-      hardware.opengl.driSupport = true;
-      environment.systemPackages = [ pkgs.quake3demo ];
-      nixpkgs.config.packageOverrides = overrides;
-      nixpkgs.config.allowUnfreePredicate = unfreePredicate;
-    };
-
-  nodes =
-    { server =
-        { pkgs, ... }:
-
-        { systemd.services.quake3-server =
-            { wantedBy = [ "multi-user.target" ];
-              script =
-                "${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " +
-                "+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log";
-            };
-          nixpkgs.config.packageOverrides = overrides;
-          nixpkgs.config.allowUnfreePredicate = unfreePredicate;
-          networking.firewall.allowedUDPPorts = [ 27960 ];
-        };
-
-      client1 = client;
-      client2 = client;
-    };
-
-  testScript =
-    ''
-      startAll;
-
-      $server->waitForUnit("quake3-server");
-      $client1->waitForX;
-      $client2->waitForX;
-
-      $client1->execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &");
-      $client2->execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &");
-
-      $server->waitUntilSucceeds("grep -q 'Foo.*entered the game' /tmp/log");
-      $server->waitUntilSucceeds("grep -q 'Bar.*entered the game' /tmp/log");
-
-      $server->sleep(10); # wait for a while to get a nice screenshot
-
-      $client1->block();
-
-      $server->sleep(20);
-
-      $client1->screenshot("screen1");
-      $client2->screenshot("screen2");
-
-      $client1->unblock();
-
-      $server->sleep(10);
-
-      $client1->screenshot("screen3");
-      $client2->screenshot("screen4");
-
-      $client1->shutdown();
-      $client2->shutdown();
-      $server->stopJob("quake3-server");
-    '';
-
-})
diff --git a/nixpkgs/nixos/tests/rabbitmq.nix b/nixpkgs/nixos/tests/rabbitmq.nix
index bb5932c36417..8e7f34d06e32 100644
--- a/nixpkgs/nixos/tests/rabbitmq.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/radarr.nix b/nixpkgs/nixos/tests/radarr.nix
index 9bc5607ccd5a..ed90025ac420 100644
--- a/nixpkgs/nixos/tests/radarr.nix
+++ b/nixpkgs/nixos/tests/radarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,8 @@ with lib;
     { services.radarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('radarr.service');
-    $machine->waitForOpenPort('7878');
-    $machine->succeed("curl --fail http://localhost:7878/");
+    machine.wait_for_unit("radarr.service")
+    machine.wait_for_open_port("7878")
+    machine.succeed("curl --fail http://localhost:7878/")
   '';
 })
diff --git a/nixpkgs/nixos/tests/radicale.nix b/nixpkgs/nixos/tests/radicale.nix
index 607964255640..c81e78a8f994 100644
--- a/nixpkgs/nixos/tests/radicale.nix
+++ b/nixpkgs/nixos/tests/radicale.nix
@@ -28,7 +28,7 @@ let
 
 in
 
-  import ./make-test.nix ({ lib, ... }@args: {
+  import ./make-test-python.nix ({ lib, ... }@args: {
     name = "radicale";
     meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
 
@@ -64,43 +64,59 @@ in
         newSystem = nodes.${nodeName}.config.system.build.toplevel;
       in "${newSystem}/bin/switch-to-configuration test";
     in ''
-      # Check Radicale 1 functionality
-      $radicale->succeed('${switchToConfig "radicale1"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
+      with subtest("Check Radicale 1 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale1"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+          radicale.succeed(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
 
-      # Export data in Radicale 2 format
-      $radicale->succeed('systemctl stop radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->fail('ls -al /tmp/collections-new');
-      # Radicale exits immediately after exporting storage
-      $radicale->succeed('${switchToConfig "radicale1_export"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->succeed('ls -al /tmp/collections-new');
+      with subtest("Export data in Radicale 2 format"):
+          radicale.succeed("systemctl stop radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.fail("ls -al /tmp/collections-new")
 
-      # Verify data in Radicale 2 format
-      $radicale->succeed('rm -r /tmp/collections/${user}');
-      $radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections');
-      $radicale->succeed('${switchToConfig "radicale2_verify"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10');
-      if ($retcode != 0 || index($logs, 'Verifying storage') == -1) {
-        die "Radicale 2 didn't verify storage"
-      }
-      if (index($logs, 'failed') != -1 || index($logs, 'exception') != -1) {
-        die "storage verification failed"
-      }
+      with subtest("Radicale exits immediately after exporting storage"):
+          radicale.succeed(
+              "${switchToConfig "radicale1_export"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.succeed("ls -al /tmp/collections-new")
 
-      # Check Radicale 2 functionality
-      $radicale->succeed('${switchToConfig "radicale2"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      my ($retcode, $output) = $radicale->execute('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
-      if ($retcode != 0 || index($output, 'VCALENDAR') == -1) {
-        die "Could not read calendar from Radicale 2"
-      }
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
+      with subtest("Verify data in Radicale 2 format"):
+          radicale.succeed("rm -r /tmp/collections/${user}")
+          radicale.succeed("mv /tmp/collections-new/collection-root /tmp/collections")
+          radicale.succeed(
+              "${switchToConfig "radicale2_verify"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+
+          (retcode, logs) = radicale.execute("journalctl -u radicale -n 10")
+          assert (
+              retcode == 0 and "Verifying storage" in logs
+          ), "Radicale 2 didn't verify storage"
+          assert (
+              "failed" not in logs and "exception" not in logs
+          ), "storage verification failed"
+
+      with subtest("Check Radicale 2 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale2"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+
+          (retcode, output) = radicale.execute(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
+          assert (
+              retcode == 0 and "VCALENDAR" in output
+          ), "Could not read calendar from Radicale 2"
+
+      radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
     '';
 })
diff --git a/nixpkgs/nixos/tests/redis.nix b/nixpkgs/nixos/tests/redis.nix
index 325d93424dd7..529965d7acde 100644
--- a/nixpkgs/nixos/tests/redis.nix
+++ b/nixpkgs/nixos/tests/redis.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "redis";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ flokli ];
@@ -15,12 +15,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    $machine->waitForUnit("redis");
-    $machine->waitForOpenPort("6379");
-
-    $machine->succeed("redis-cli ping | grep PONG");
-    $machine->succeed("redis-cli -s /run/redis/redis.sock ping | grep PONG");
+    start_all()
+    machine.wait_for_unit("redis")
+    machine.wait_for_open_port("6379")
+    machine.succeed("redis-cli ping | grep PONG")
+    machine.succeed("redis-cli -s /run/redis/redis.sock ping | grep PONG")
   '';
 })
diff --git a/nixpkgs/nixos/tests/redmine.nix b/nixpkgs/nixos/tests/redmine.nix
index 2d4df288b055..f0f4cbf6a21c 100644
--- a/nixpkgs/nixos/tests/redmine.nix
+++ b/nixpkgs/nixos/tests/redmine.nix
@@ -64,18 +64,13 @@ let
   };
 in
 {
-  v3-mysql = mysqlTest pkgs.redmine // {
-    name = "v3-mysql";
+  mysql = mysqlTest pkgs.redmine // {
+    name = "mysql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 
-  v4-mysql = mysqlTest pkgs.redmine_4 // {
-    name = "v4-mysql";
-    meta.maintainers = [ maintainers.aanderse ];
-  };
-
-  v4-pgsql = pgsqlTest pkgs.redmine_4 // {
-    name = "v4-pgsql";
+  pgsql = pgsqlTest pkgs.redmine // {
+    name = "pgsql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 }
diff --git a/nixpkgs/nixos/tests/resolv.nix b/nixpkgs/nixos/tests/resolv.nix
new file mode 100644
index 000000000000..b506f87451ee
--- /dev/null
+++ b/nixpkgs/nixos/tests/resolv.nix
@@ -0,0 +1,46 @@
+# Test whether DNS resolving returns multiple records and all address families.
+import ./make-test-python.nix ({ pkgs, ... } : {
+  name = "resolv";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ckauhaus ];
+  };
+
+  nodes.resolv = { ... }: {
+    networking.extraHosts = ''
+      # IPv4 only
+      192.0.2.1 host-ipv4.example.net
+      192.0.2.2 host-ipv4.example.net
+      # IP6 only
+      2001:db8::2:1 host-ipv6.example.net
+      2001:db8::2:2 host-ipv6.example.net
+      # dual stack
+      192.0.2.1 host-dual.example.net
+      192.0.2.2 host-dual.example.net
+      2001:db8::2:1 host-dual.example.net
+      2001:db8::2:2 host-dual.example.net
+    '';
+  };
+
+  testScript = ''
+    def addrs_in(hostname, addrs):
+        res = resolv.succeed("getent ahosts {}".format(hostname))
+        for addr in addrs:
+            assert addr in res, "Expected output '{}' not found in\n{}".format(addr, res)
+
+
+    start_all()
+    resolv.wait_for_unit("nscd")
+
+    ipv4 = ["192.0.2.1", "192.0.2.2"]
+    ipv6 = ["2001:db8::2:1", "2001:db8::2:2"]
+
+    with subtest("IPv4 resolves"):
+        addrs_in("host-ipv4.example.net", ipv4)
+
+    with subtest("IPv6 resolves"):
+        addrs_in("host-ipv6.example.net", ipv6)
+
+    with subtest("Dual stack resolves"):
+        addrs_in("host-dual.example.net", ipv4 + ipv6)
+  '';
+})
diff --git a/nixpkgs/nixos/tests/roundcube.nix b/nixpkgs/nixos/tests/roundcube.nix
index ed0ebd7dd19d..1897b53e283a 100644
--- a/nixpkgs/nixos/tests/roundcube.nix
+++ b/nixpkgs/nixos/tests/roundcube.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "roundcube";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ];
@@ -9,7 +9,7 @@ import ./make-test.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" ];
       };
@@ -21,10 +21,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $roundcube->start;
-    $roundcube->waitForUnit("postgresql.service");
-    $roundcube->waitForUnit("phpfpm-roundcube.service");
-    $roundcube->waitForUnit("nginx.service");
-    $roundcube->succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'");
+    roundcube.start
+    roundcube.wait_for_unit("postgresql.service")
+    roundcube.wait_for_unit("phpfpm-roundcube.service")
+    roundcube.wait_for_unit("nginx.service")
+    roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/rspamd.nix b/nixpkgs/nixos/tests/rspamd.nix
index 0cc94728f80a..bf3f0de62044 100644
--- a/nixpkgs/nixos/tests/rspamd.nix
+++ b/nixpkgs/nixos/tests/rspamd.nix
@@ -3,20 +3,20 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
   initMachine = ''
-    startAll
-    $machine->waitForUnit("rspamd.service");
-    $machine->succeed("id \"rspamd\" >/dev/null");
+    start_all()
+    machine.wait_for_unit("rspamd.service")
+    machine.succeed("id rspamd >/dev/null")
   '';
   checkSocket = socket: user: group: mode: ''
-    $machine->succeed("ls ${socket} >/dev/null");
-    $machine->succeed("[[ \"\$(stat -c %U ${socket})\" == \"${user}\" ]]");
-    $machine->succeed("[[ \"\$(stat -c %G ${socket})\" == \"${group}\" ]]");
-    $machine->succeed("[[ \"\$(stat -c %a ${socket})\" == \"${mode}\" ]]");
+    machine.succeed("ls ${socket} >/dev/null")
+    machine.succeed('[[ "$(stat -c %U ${socket})" == "${user}" ]]')
+    machine.succeed('[[ "$(stat -c %G ${socket})" == "${group}" ]]')
+    machine.succeed('[[ "$(stat -c %a ${socket})" == "${mode}" ]]')
   '';
   simple = name: enableIPv6: makeTest {
     name = "rspamd-${name}";
@@ -25,22 +25,23 @@ let
       networking.enableIPv6 = enableIPv6;
     };
     testScript = ''
-      startAll
-      $machine->waitForUnit("multi-user.target");
-      $machine->waitForOpenPort(11334);
-      $machine->waitForUnit("rspamd.service");
-      $machine->succeed("id \"rspamd\" >/dev/null");
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_open_port(11334)
+      machine.wait_for_unit("rspamd.service")
+      machine.succeed("id rspamd >/dev/null")
       ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" }
-      sleep 10;
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("systemctl cat rspamd.service"));
-      $machine->log($machine->succeed("curl http://localhost:11334/auth"));
-      $machine->log($machine->succeed("curl http://127.0.0.1:11334/auth"));
-      ${optionalString enableIPv6 ''
-        $machine->log($machine->succeed("curl http://[::1]:11334/auth"));
-      ''}
+      machine.sleep(10)
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("systemctl cat rspamd.service"))
+      machine.log(machine.succeed("curl http://localhost:11334/auth"))
+      machine.log(machine.succeed("curl http://127.0.0.1:11334/auth"))
+      ${optionalString enableIPv6 ''machine.log(machine.succeed("curl http://[::1]:11334/auth"))''}
+      # would not reformat
     '';
   };
 in
@@ -69,14 +70,18 @@ in
 
     testScript = ''
       ${initMachine}
-      $machine->waitForFile("/run/rspamd.sock");
+      machine.wait_for_file("/run/rspamd.sock")
       ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
       ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("rspamc -h /run/rspamd-worker.sock stat"))
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")
+      )
     '';
   };
 
@@ -111,18 +116,32 @@ in
 
     testScript = ''
       ${initMachine}
-      $machine->waitForFile("/run/rspamd.sock");
+      machine.wait_for_file("/run/rspamd.sock")
       ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
       ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'LOCAL_CONFDIR/override.d/worker-controller2.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'verysecretpassword' /etc/rspamd/override.d/worker-controller2.inc"));
-      $machine->waitUntilSucceeds("journalctl -u rspamd | grep -i 'starting controller process' >&2");
-      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
-      $machine->log($machine->succeed("curl http://localhost:11335/ping"));
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed(
+              "grep 'LOCAL_CONFDIR/override.d/worker-controller2.inc' /etc/rspamd/rspamd.conf"
+          )
+      )
+      machine.log(
+          machine.succeed(
+              "grep 'verysecretpassword' /etc/rspamd/override.d/worker-controller2.inc"
+          )
+      )
+      machine.wait_until_succeeds(
+          "journalctl -u rspamd | grep -i 'starting controller process' >&2"
+      )
+      machine.log(machine.succeed("rspamc -h /run/rspamd-worker.sock stat"))
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")
+      )
+      machine.log(machine.succeed("curl http://localhost:11335/ping"))
     '';
   };
   customLuaRules = makeTest {
@@ -199,22 +218,34 @@ in
     };
     testScript = ''
       ${initMachine}
-      $machine->waitForOpenPort(11334);
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.local.lua"));
-      $machine->log($machine->succeed("cat /etc/rspamd/local.d/groups.conf"));
+      machine.wait_for_open_port(11334)
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.local.lua"))
+      machine.log(machine.succeed("cat /etc/rspamd/local.d/groups.conf"))
       # Verify that redis.conf was not written
-      $machine->fail("cat /etc/rspamd/local.d/redis.conf >&2");
+      machine.fail("cat /etc/rspamd/local.d/redis.conf >&2")
       # Verify that antivirus.conf was not written
-      $machine->fail("cat /etc/rspamd/local.d/antivirus.conf >&2");
+      machine.fail("cat /etc/rspamd/local.d/antivirus.conf >&2")
       ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" }
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd/rspamd.sock http://localhost/ping"));
-      $machine->log($machine->succeed("rspamc -h 127.0.0.1:11334 stat"));
-      $machine->log($machine->succeed("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334"));
-      $machine->log($machine->succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols"));
-      $machine->waitUntilSucceeds("journalctl -u rspamd | grep -i muh >&2");
-      $machine->log($machine->fail("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"));
-      $machine->log($machine->succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"));
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd/rspamd.sock http://localhost/ping")
+      )
+      machine.log(machine.succeed("rspamc -h 127.0.0.1:11334 stat"))
+      machine.log(machine.succeed("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334"))
+      machine.log(
+          machine.succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols")
+      )
+      machine.wait_until_succeeds("journalctl -u rspamd | grep -i muh >&2")
+      machine.log(
+          machine.fail(
+              "cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"
+          )
+      )
+      machine.log(
+          machine.succeed(
+              "cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"
+          )
+      )
     '';
   };
   postfixIntegration = makeTest {
@@ -250,16 +281,24 @@ in
     };
     testScript = ''
       ${initMachine}
-      $machine->waitForOpenPort(11334);
-      $machine->waitForOpenPort(25);
+      machine.wait_for_open_port(11334)
+      machine.wait_for_open_port(25)
       ${checkSocket "/run/rspamd/rspamd-milter.sock" "rspamd" "postfix" "660" }
-      $machine->log($machine->succeed("rspamc -h 127.0.0.1:11334 stat"));
-      $machine->log($machine->succeed("msmtp --host=localhost -t --read-envelope-from < /etc/tests/example.eml"));
-      $machine->log($machine->fail("msmtp --host=localhost -t --read-envelope-from < /etc/tests/gtube.eml"));
+      machine.log(machine.succeed("rspamc -h 127.0.0.1:11334 stat"))
+      machine.log(
+          machine.succeed(
+              "msmtp --host=localhost -t --read-envelope-from < /etc/tests/example.eml"
+          )
+      )
+      machine.log(
+          machine.fail(
+              "msmtp --host=localhost -t --read-envelope-from < /etc/tests/gtube.eml"
+          )
+      )
 
-      $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
-      $machine->fail("journalctl -u postfix | grep -i error >&2");
-      $machine->fail("journalctl -u postfix | grep -i warning >&2");
+      machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]')
+      machine.fail("journalctl -u postfix | grep -i error >&2")
+      machine.fail("journalctl -u postfix | grep -i warning >&2")
     '';
   };
 }
diff --git a/nixpkgs/nixos/tests/rss2email.nix b/nixpkgs/nixos/tests/rss2email.nix
index 492d47da9f56..d62207a417b8 100644
--- a/nixpkgs/nixos/tests/rss2email.nix
+++ b/nixpkgs/nixos/tests/rss2email.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "opensmtpd";
 
   nodes = {
@@ -53,14 +53,14 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("network-online.target");
-    $server->waitForUnit("opensmtpd");
-    $server->waitForUnit("dovecot2");
-    $server->waitForUnit("nginx");
-    $server->waitForUnit("rss2email");
+    server.wait_for_unit("network-online.target")
+    server.wait_for_unit("opensmtpd")
+    server.wait_for_unit("dovecot2")
+    server.wait_for_unit("nginx")
+    server.wait_for_unit("rss2email")
 
-    $server->waitUntilSucceeds('check-mail-landed >&2');
+    server.wait_until_succeeds("check-mail-landed >&2")
   '';
 }
diff --git a/nixpkgs/nixos/tests/rxe.nix b/nixpkgs/nixos/tests/rxe.nix
index d0b53db8eeb6..194a2e3d2b94 100644
--- a/nixpkgs/nixos/tests/rxe.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/samba.nix b/nixpkgs/nixos/tests/samba.nix
index 2802e00a5b1a..142269752b34 100644
--- a/nixpkgs/nixos/tests/samba.nix
+++ b/nixpkgs/nixos/tests/samba.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "samba";
@@ -36,12 +36,12 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      $server->start;
-      $server->waitForUnit("samba.target");
-      $server->succeed("mkdir -p /public; echo bar > /public/foo");
+      server.start()
+      server.wait_for_unit("samba.target")
+      server.succeed("mkdir -p /public; echo bar > /public/foo")
 
-      $client->start;
-      $client->waitForUnit("remote-fs.target");
-      $client->succeed("[[ \$(cat /public/foo) = bar ]]");
+      client.start()
+      client.wait_for_unit("remote-fs.target")
+      client.succeed("[[ $(cat /public/foo) = bar ]]")
     '';
 })
diff --git a/nixpkgs/nixos/tests/sddm.nix b/nixpkgs/nixos/tests/sddm.nix
index 678bcbeab20a..a145705250f7 100644
--- a/nixpkgs/nixos/tests/sddm.nix
+++ b/nixpkgs/nixos/tests/sddm.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 
 let
   inherit (pkgs) lib;
@@ -16,9 +16,8 @@ let
         imports = [ ./common/user-account.nix ];
         services.xserver.enable = true;
         services.xserver.displayManager.sddm.enable = true;
-        services.xserver.windowManager.default = "icewm";
+        services.xserver.displayManager.defaultSession = "none+icewm";
         services.xserver.windowManager.icewm.enable = true;
-        services.xserver.desktopManager.default = "none";
       };
 
       enableOCR = true;
@@ -26,13 +25,13 @@ let
       testScript = { nodes, ... }: let
         user = nodes.machine.config.users.users.alice;
       in ''
-        startAll;
-        $machine->waitForText(qr/select your user/i);
-        $machine->screenshot("sddm");
-        $machine->sendChars("${user.password}\n");
-        $machine->waitForFile("/home/alice/.Xauthority");
-        $machine->succeed("xauth merge ~alice/.Xauthority");
-        $machine->waitForWindow("^IceWM ");
+        start_all()
+        machine.wait_for_text("(?i)select your user")
+        machine.screenshot("sddm")
+        machine.send_chars("${user.password}\n")
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+        machine.wait_for_window("^IceWM ")
       '';
     };
 
@@ -52,16 +51,17 @@ let
             user = "alice";
           };
         };
-        services.xserver.windowManager.default = "icewm";
+        services.xserver.displayManager.defaultSession = "none+icewm";
         services.xserver.windowManager.icewm.enable = true;
-        services.xserver.desktopManager.default = "none";
       };
 
-      testScript = { ... }: ''
-        startAll;
-        $machine->waitForFile("/home/alice/.Xauthority");
-        $machine->succeed("xauth merge ~alice/.Xauthority");
-        $machine->waitForWindow("^IceWM ");
+      testScript = { nodes, ... }: let
+        user = nodes.machine.config.users.users.alice;
+      in ''
+        start_all()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+        machine.wait_for_window("^IceWM ")
       '';
     };
   };
diff --git a/nixpkgs/nixos/tests/shiori.nix b/nixpkgs/nixos/tests/shiori.nix
new file mode 100644
index 000000000000..a5771262c6f2
--- /dev/null
+++ b/nixpkgs/nixos/tests/shiori.nix
@@ -0,0 +1,81 @@
+import ./make-test-python.nix ({ pkgs, lib, ...}:
+
+{
+  name = "shiori";
+  meta.maintainers = with lib.maintainers; [ minijackson ];
+
+  machine =
+    { ... }:
+    { services.shiori.enable = true; };
+
+  testScript = let
+    authJSON = pkgs.writeText "auth.json" (builtins.toJSON {
+      username = "shiori";
+      password = "gopher";
+      remember = 1; # hour
+      owner = true;
+    });
+
+  insertBookmark = {
+    url = "http://example.org";
+    title = "Example Bookmark";
+  };
+
+  insertBookmarkJSON = pkgs.writeText "insertBookmark.json" (builtins.toJSON insertBookmark);
+  in ''
+    import json
+
+    machine.wait_for_unit("shiori.service")
+    machine.wait_for_open_port(8080)
+    machine.succeed("curl --fail http://localhost:8080/")
+    machine.succeed("curl --fail --location http://localhost:8080/ | grep -qi shiori")
+
+    with subtest("login"):
+        auth_json = machine.succeed(
+            "curl --fail --location http://localhost:8080/api/login "
+            "-X POST -H 'Content-Type:application/json' -d @${authJSON}"
+        )
+        auth_ret = json.loads(auth_json)
+        session_id = auth_ret["session"]
+
+    with subtest("bookmarks"):
+        with subtest("first use no bookmarks"):
+            bookmarks_json = machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-H 'X-Session-Id:{}'"
+                ).format(session_id)
+            )
+
+            if json.loads(bookmarks_json)["bookmarks"] != []:
+                raise Exception("Shiori have a bookmark on first use")
+
+        with subtest("insert bookmark"):
+            machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-X POST -H 'X-Session-Id:{}' "
+                    "-H 'Content-Type:application/json' -d @${insertBookmarkJSON}"
+                ).format(session_id)
+            )
+
+        with subtest("get inserted bookmark"):
+            bookmarks_json = machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-H 'X-Session-Id:{}'"
+                ).format(session_id)
+            )
+
+            bookmarks = json.loads(bookmarks_json)["bookmarks"]
+            if len(bookmarks) != 1:
+                raise Exception("Shiori didn't save the bookmark")
+
+            bookmark = bookmarks[0]
+            if (
+                bookmark["url"] != "${insertBookmark.url}"
+                or bookmark["title"] != "${insertBookmark.title}"
+            ):
+                raise Exception("Inserted bookmark doesn't have same URL or title")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/signal-desktop.nix b/nixpkgs/nixos/tests/signal-desktop.nix
index 605b9c3e1301..c746d46dc550 100644
--- a/nixpkgs/nixos/tests/signal-desktop.nix
+++ b/nixpkgs/nixos/tests/signal-desktop.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "signal-desktop";
@@ -24,14 +24,14 @@ import ./make-test.nix ({ pkgs, ...} :
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in ''
-    startAll;
-    $machine->waitForX;
+    start_all()
+    machine.wait_for_x()
 
     # start signal desktop
-    $machine->execute("su - alice -c signal-desktop &");
+    machine.execute("su - alice -c signal-desktop &")
 
     # wait for the "Link your phone to Signal Desktop" message
-    $machine->waitForText(qr/Link your phone to Signal Desktop/);
-    $machine->screenshot("signal_desktop");
+    machine.wait_for_text("Link your phone to Signal Desktop")
+    machine.screenshot("signal_desktop")
   '';
 })
diff --git a/nixpkgs/nixos/tests/simple.nix b/nixpkgs/nixos/tests/simple.nix
index 84c5621d962f..3810a2cd3a58 100644
--- a/nixpkgs/nixos/tests/simple.nix
+++ b/nixpkgs/nixos/tests/simple.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "simple";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -10,8 +10,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("multi-user.target");
-      $machine->shutdown;
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.shutdown()
     '';
 })
diff --git a/nixpkgs/nixos/tests/slim.nix b/nixpkgs/nixos/tests/slim.nix
deleted file mode 100644
index 42c87dfa039d..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/slurm.nix b/nixpkgs/nixos/tests/slurm.nix
index 4c2cd3c3d264..d0e62d15437c 100644
--- a/nixpkgs/nixos/tests/slurm.nix
+++ b/nixpkgs/nixos/tests/slurm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 let
     mungekey = "mungeverryweakkeybuteasytointegratoinatest";
 
@@ -54,10 +54,15 @@ in {
         networking.firewall.enable = false;
         services.slurm.dbdserver = {
           enable = true;
+          storagePass = "password123";
         };
         services.mysql = {
           enable = true;
-          package = pkgs.mysql;
+          package = pkgs.mariadb;
+          initialScript = pkgs.writeText "mysql-init.sql" ''
+            CREATE USER 'slurm'@'localhost' IDENTIFIED BY 'password123';
+            GRANT ALL PRIVILEGES ON slurm_acct_db.* TO 'slurm'@'localhost';
+          '';
           ensureDatabases = [ "slurm_acct_db" ];
           ensureUsers = [{
             ensurePermissions = { "slurm_acct_db.*" = "ALL PRIVILEGES"; };
@@ -80,63 +85,57 @@ in {
 
   testScript =
   ''
-  startAll;
+  start_all()
 
   # Set up authentification across the cluster
-  foreach my $node (($submit,$control,$dbd,$node1,$node2,$node3))
-  {
-    $node->waitForUnit("default.target");
+  for node in [submit, control, dbd, node1, node2, node3]:
 
-    $node->succeed("mkdir /etc/munge");
-    $node->succeed("echo '${mungekey}' > /etc/munge/munge.key");
-    $node->succeed("chmod 0400 /etc/munge/munge.key");
-    $node->succeed("chown munge:munge /etc/munge/munge.key");
-    $node->succeed("systemctl restart munged");
+      node.wait_for_unit("default.target")
+
+      node.succeed("mkdir /etc/munge")
+      node.succeed(
+          "echo '${mungekey}' > /etc/munge/munge.key"
+      )
+      node.succeed("chmod 0400 /etc/munge/munge.key")
+      node.succeed("chown munge:munge /etc/munge/munge.key")
+      node.succeed("systemctl restart munged")
+
+      node.wait_for_unit("munged")
 
-    $node->waitForUnit("munged");
-  };
 
   # Restart the services since they have probably failed due to the munge init
   # failure
-  subtest "can_start_slurmdbd", sub {
-    $dbd->succeed("systemctl restart slurmdbd");
-    $dbd->waitForUnit("slurmdbd.service");
-    $dbd->waitForOpenPort(6819);
-  };
+  with subtest("can_start_slurmdbd"):
+      dbd.succeed("systemctl restart slurmdbd")
+      dbd.wait_for_unit("slurmdbd.service")
+      dbd.wait_for_open_port(6819)
 
   # there needs to be an entry for the current
   # cluster in the database before slurmctld is restarted
-  subtest "add_account", sub {
-    $control->succeed("sacctmgr -i add cluster default");
-    # check for cluster entry
-    $control->succeed("sacctmgr list cluster | awk '{ print \$1 }' | grep default");
-  };
+  with subtest("add_account"):
+      control.succeed("sacctmgr -i add cluster default")
+      # check for cluster entry
+      control.succeed("sacctmgr list cluster | awk '{ print $1 }' | grep default")
 
-  subtest "can_start_slurmctld", sub {
-    $control->succeed("systemctl restart slurmctld");
-    $control->waitForUnit("slurmctld.service");
-  };
+  with subtest("can_start_slurmctld"):
+      control.succeed("systemctl restart slurmctld")
+      control.wait_for_unit("slurmctld.service")
 
-  subtest "can_start_slurmd", sub {
-    foreach my $node (($node1,$node2,$node3))
-    {
-      $node->succeed("systemctl restart slurmd.service");
-      $node->waitForUnit("slurmd");
-    }
-  };
+  with subtest("can_start_slurmd"):
+      for node in [node1, node2, node3]:
+          node.succeed("systemctl restart slurmd.service")
+          node.wait_for_unit("slurmd")
 
   # Test that the cluster works and can distribute jobs;
 
-  subtest "run_distributed_command", sub {
-    # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
-    # The output must contain the 3 different names
-    $submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
-  };
+  with subtest("run_distributed_command"):
+      # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
+      # The output must contain the 3 different names
+      submit.succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq")
 
-  subtest "check_slurm_dbd", sub {
-    # find the srun job from above in the database
-    sleep 5;
-    $control->succeed("sacct | grep hostname");
-  };
+      with subtest("check_slurm_dbd"):
+          # find the srun job from above in the database
+          control.succeed("sleep 5")
+          control.succeed("sacct | grep hostname")
   '';
 })
diff --git a/nixpkgs/nixos/tests/smokeping.nix b/nixpkgs/nixos/tests/smokeping.nix
index 07d228051127..4f8f0fcc9fe2 100644
--- a/nixpkgs/nixos/tests/smokeping.nix
+++ b/nixpkgs/nixos/tests/smokeping.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "smokeping";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ cransom ];
@@ -22,12 +22,12 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $sm->waitForUnit("smokeping");
-    $sm->waitForUnit("thttpd");
-    $sm->waitForFile("/var/lib/smokeping/data/Local/LocalMachine.rrd");
-    $sm->succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local");
-    $sm->succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png");
-    $sm->succeed("ls /var/lib/smokeping/cache/index.html");
+    start_all()
+    sm.wait_for_unit("smokeping")
+    sm.wait_for_unit("thttpd")
+    sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd")
+    sm.succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local")
+    sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png")
+    sm.succeed("ls /var/lib/smokeping/cache/index.html")
   '';
 })
diff --git a/nixpkgs/nixos/tests/snapper.nix b/nixpkgs/nixos/tests/snapper.nix
index 74ec22fd3499..018102d7f640 100644
--- a/nixpkgs/nixos/tests/snapper.nix
+++ b/nixpkgs/nixos/tests/snapper.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 {
   name = "snapper";
 
@@ -20,24 +20,16 @@ import ./make-test.nix ({ ... }:
   };
 
   testScript = ''
-    $machine->succeed("btrfs subvolume create /home/.snapshots");
-
-    $machine->succeed("snapper -c home list");
-
-    $machine->succeed("snapper -c home create --description empty");
-
-    $machine->succeed("echo test > /home/file");
-    $machine->succeed("snapper -c home create --description file");
-
-    $machine->succeed("snapper -c home status 1..2");
-
-    $machine->succeed("snapper -c home undochange 1..2");
-    $machine->fail("ls /home/file");
-
-    $machine->succeed("snapper -c home delete 2");
-
-    $machine->succeed("systemctl --wait start snapper-timeline.service");
-
-    $machine->succeed("systemctl --wait start snapper-cleanup.service");
+    machine.succeed("btrfs subvolume create /home/.snapshots")
+    machine.succeed("snapper -c home list")
+    machine.succeed("snapper -c home create --description empty")
+    machine.succeed("echo test > /home/file")
+    machine.succeed("snapper -c home create --description file")
+    machine.succeed("snapper -c home status 1..2")
+    machine.succeed("snapper -c home undochange 1..2")
+    machine.fail("ls /home/file")
+    machine.succeed("snapper -c home delete 2")
+    machine.succeed("systemctl --wait start snapper-timeline.service")
+    machine.succeed("systemctl --wait start snapper-cleanup.service")
   '';
 })
diff --git a/nixpkgs/nixos/tests/sonarr.nix b/nixpkgs/nixos/tests/sonarr.nix
index 3e84445099ab..764a4d05b381 100644
--- a/nixpkgs/nixos/tests/sonarr.nix
+++ b/nixpkgs/nixos/tests/sonarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,8 @@ with lib;
     { services.sonarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('sonarr.service');
-    $machine->waitForOpenPort('8989');
-    $machine->succeed("curl --fail http://localhost:8989/");
+    machine.wait_for_unit("sonarr.service")
+    machine.wait_for_open_port("8989")
+    machine.succeed("curl --fail http://localhost:8989/")
   '';
 })
diff --git a/nixpkgs/nixos/tests/spacecookie.nix b/nixpkgs/nixos/tests/spacecookie.nix
new file mode 100644
index 000000000000..6eff32a2e75d
--- /dev/null
+++ b/nixpkgs/nixos/tests/spacecookie.nix
@@ -0,0 +1,51 @@
+let
+  gopherRoot  = "/tmp/gopher";
+  gopherHost  = "gopherd";
+  fileContent = "Hello Gopher!";
+  fileName    = "file.txt";
+in
+  import ./make-test-python.nix ({...}: {
+    name = "spacecookie";
+    nodes = {
+      ${gopherHost} = {
+        networking.firewall.allowedTCPPorts = [ 70 ];
+        systemd.services.spacecookie = {
+          preStart = ''
+            mkdir -p ${gopherRoot}/directory
+            echo "${fileContent}" > ${gopherRoot}/${fileName}
+          '';
+        };
+
+        services.spacecookie = {
+          enable = true;
+          root = gopherRoot;
+          hostname = gopherHost;
+        };
+      };
+
+      client = {};
+    };
+
+    testScript = ''
+      start_all()
+      ${gopherHost}.wait_for_open_port(70)
+      ${gopherHost}.wait_for_unit("spacecookie.service")
+      client.wait_for_unit("network.target")
+
+      fileResponse = client.succeed("curl -s gopher://${gopherHost}//${fileName}")
+
+      # the file response should return our created file exactly
+      if not (fileResponse == "${fileContent}\n"):
+          raise Exception("Unexpected file response")
+
+      # sanity check on the directory listing: we serve a directory and a file
+      # via gopher, so the directory listing should have exactly two entries,
+      # one with gopher file type 0 (file) and one with file type 1 (directory).
+      dirResponse = client.succeed("curl -s gopher://${gopherHost}")
+      dirEntries = [l[0] for l in dirResponse.split("\n") if len(l) > 0]
+      dirEntries.sort()
+
+      if not (["0", "1"] == dirEntries):
+          raise Exception("Unexpected directory response")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/spike.nix b/nixpkgs/nixos/tests/spike.nix
new file mode 100644
index 000000000000..47763e75ffa2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/strongswan-swanctl.nix b/nixpkgs/nixos/tests/strongswan-swanctl.nix
index 9bab9349ea73..152c0d61c543 100644
--- a/nixpkgs/nixos/tests/strongswan-swanctl.nix
+++ b/nixpkgs/nixos/tests/strongswan-swanctl.nix
@@ -16,7 +16,7 @@
 # See the NixOS manual for how to run this test:
 # https://nixos.org/nixos/manual/index.html#sec-running-nixos-tests-interactively
 
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   allowESP = "iptables --insert INPUT --protocol ESP --jump ACCEPT";
@@ -142,7 +142,7 @@ in {
 
   };
   testScript = ''
-    startAll();
-    $carol->waitUntilSucceeds("ping -c 1 alice");
+    start_all()
+    carol.wait_until_succeeds("ping -c 1 alice")
   '';
 })
diff --git a/nixpkgs/nixos/tests/sudo.nix b/nixpkgs/nixos/tests/sudo.nix
index fc16b99cc19c..5bbec3d57269 100644
--- a/nixpkgs/nixos/tests/sudo.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/switch-test.nix b/nixpkgs/nixos/tests/switch-test.nix
index 0dba3697980f..7076bd77b770 100644
--- a/nixpkgs/nixos/tests/switch-test.nix
+++ b/nixpkgs/nixos/tests/switch-test.nix
@@ -1,6 +1,6 @@
 # Test configuration switching.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "switch-test";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gleber ];
@@ -28,7 +28,11 @@ import ./make-test.nix ({ pkgs, ...} : {
       exec env -i "$@" | tee /dev/stderr
     '';
   in ''
-    $machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test");
-    $machine->succeed("${stderrRunner} ${otherSystem}/bin/switch-to-configuration test");
+    machine.succeed(
+        "${stderrRunner} ${originalSystem}/bin/switch-to-configuration test"
+    )
+    machine.succeed(
+        "${stderrRunner} ${otherSystem}/bin/switch-to-configuration test"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/syncthing-init.nix b/nixpkgs/nixos/tests/syncthing-init.nix
index 0de76b688bdc..9c8e0a3d087e 100644
--- a/nixpkgs/nixos/tests/syncthing-init.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/syncthing-relay.nix b/nixpkgs/nixos/tests/syncthing-relay.nix
index f1ceb4993337..cd72ef1cbe1d 100644
--- a/nixpkgs/nixos/tests/syncthing-relay.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/systemd-analyze.nix b/nixpkgs/nixos/tests/systemd-analyze.nix
new file mode 100644
index 000000000000..a78ba08cd55c
--- /dev/null
+++ b/nixpkgs/nixos/tests/systemd-analyze.nix
@@ -0,0 +1,46 @@
+import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
+
+{
+  name = "systemd-analyze";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ raskin ];
+  };
+
+  machine =
+    { pkgs, lib, ... }:
+    { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
+      sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
+    };
+
+  testScript = ''
+    machine.wait_for_unit("multi-user.target")
+
+    # We create a special output directory to copy it as a whole
+    with subtest("Prepare output dir"):
+        machine.succeed("mkdir systemd-analyze")
+
+
+    # Save the output into a file with given name inside the common
+    # output directory
+    def run_systemd_analyze(args, name):
+        tgt_dir = "systemd-analyze"
+        machine.succeed(
+            "systemd-analyze {} > {}/{} 2> {}/{}.err".format(
+                " ".join(args), tgt_dir, name, tgt_dir, name
+            )
+        )
+
+
+    with subtest("Print statistics"):
+        run_systemd_analyze(["blame"], "blame.txt")
+        run_systemd_analyze(["critical-chain"], "critical-chain.txt")
+        run_systemd_analyze(["dot"], "dependencies.dot")
+        run_systemd_analyze(["plot"], "systemd-analyze.svg")
+
+    # We copy the main graph into the $out (toplevel), and we also copy
+    # the entire output directory with additional data
+    with subtest("Copying the resulting data into $out"):
+        machine.copy_from_vm("systemd-analyze/", "")
+        machine.copy_from_vm("systemd-analyze/systemd-analyze.svg", "")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix b/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix
index f1ce1e791ce3..be5c0da981d2 100644
--- a/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix
+++ b/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix
@@ -1,18 +1,22 @@
-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;
+      networking.useDHCP = false;
       networking.firewall.enable = false;
       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;
             };
@@ -44,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 ];
@@ -52,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";
@@ -61,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";
@@ -69,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/nixpkgs/nixos/tests/systemd-nspawn.nix b/nixpkgs/nixos/tests/systemd-nspawn.nix
new file mode 100644
index 000000000000..5bf55060d2e0
--- /dev/null
+++ b/nixpkgs/nixos/tests/systemd-nspawn.nix
@@ -0,0 +1,60 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+let
+  gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
+    mkdir -p $out
+    export GNUPGHOME=$out
+    cat > foo <<EOF
+      %echo Generating a basic OpenPGP key
+      %no-protection
+      Key-Type: DSA
+      Key-Length: 1024
+      Subkey-Type: ELG-E
+      Subkey-Length: 1024
+      Name-Real: Joe Tester
+      Name-Email: joe@foo.bar
+      Expire-Date: 0
+      # Do a commit here, so that we can later print "done"
+      %commit
+      %echo done
+    EOF
+    gpg --batch --generate-key foo
+    rm $out/S.gpg-agent $out/S.gpg-agent.*
+    gpg --export joe@foo.bar -a > $out/pubkey.gpg
+  '');
+
+  nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
+    mkdir -p $out
+    cd $out
+    dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5
+    sha256sum testimage.raw > SHA256SUMS
+    export GNUPGHOME="$(mktemp -d)"
+    cp -R ${gpgKeyring}/* $GNUPGHOME
+    gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
+  '');
+in {
+  name = "systemd-nspawn";
+
+  nodes = {
+    server = { pkgs, ... }: {
+      networking.firewall.allowedTCPPorts = [ 80 ];
+      services.nginx = {
+        enable = true;
+        virtualHosts."server".root = nspawnImages;
+      };
+    };
+    client = { pkgs, ... }: {
+      environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg";
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    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/nixpkgs/nixos/tests/systemd-timesyncd.nix b/nixpkgs/nixos/tests/systemd-timesyncd.nix
index d12b8eb2bf7e..ad5b9a47383b 100644
--- a/nixpkgs/nixos/tests/systemd-timesyncd.nix
+++ b/nixpkgs/nixos/tests/systemd-timesyncd.nix
@@ -1,7 +1,7 @@
 # Regression test for systemd-timesync having moved the state directory without
 # upstream providing a migration path. https://github.com/systemd/systemd/issues/12131
 
-import ./make-test.nix (let
+import ./make-test-python.nix (let
   common = { lib, ... }: {
     # override the `false` value from the qemu-vm base profile
     services.timesyncd.enable = lib.mkForce true;
@@ -25,28 +25,28 @@ in {
   };
 
   testScript = ''
-    startAll;
-    $current->succeed('systemctl status systemd-timesyncd.service');
+    start_all()
+    current.succeed("systemctl status systemd-timesyncd.service")
     # on a new install with a recent systemd there should not be any
     # leftovers from the dynamic user mess
-    $current->succeed('test -e /var/lib/systemd/timesync');
-    $current->succeed('test ! -L /var/lib/systemd/timesync');
+    current.succeed("test -e /var/lib/systemd/timesync")
+    current.succeed("test ! -L /var/lib/systemd/timesync")
 
     # timesyncd should be running on the upgrading system since we fixed the
     # file bits in the activation script
-    $pre1909->succeed('systemctl status systemd-timesyncd.service');
+    pre1909.succeed("systemctl status systemd-timesyncd.service")
 
     # the path should be gone after the migration
-    $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync');
+    pre1909.succeed("test ! -e /var/lib/private/systemd/timesync")
 
     # and the new path should no longer be a symlink
-    $pre1909->succeed('test -e /var/lib/systemd/timesync');
-    $pre1909->succeed('test ! -L /var/lib/systemd/timesync');
+    pre1909.succeed("test -e /var/lib/systemd/timesync")
+    pre1909.succeed("test ! -L /var/lib/systemd/timesync")
 
     # after a restart things should still work and not fail in the activation
     # scripts and cause the boot to fail..
-    $pre1909->shutdown;
-    $pre1909->start;
-    $pre1909->succeed('systemctl status systemd-timesyncd.service');
+    pre1909.shutdown()
+    pre1909.start()
+    pre1909.succeed("systemctl status systemd-timesyncd.service")
   '';
 })
diff --git a/nixpkgs/nixos/tests/telegraf.nix b/nixpkgs/nixos/tests/telegraf.nix
index 6776f8d8c37f..73f741b11357 100644
--- a/nixpkgs/nixos/tests/telegraf.nix
+++ b/nixpkgs/nixos/tests/telegraf.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "telegraf";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mic92 ];
@@ -22,9 +22,9 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit("telegraf.service");
-    $machine->waitUntilSucceeds("grep -q example /tmp/metrics.out");
+    machine.wait_for_unit("telegraf.service")
+    machine.wait_until_succeeds("grep -q example /tmp/metrics.out")
   '';
 })
diff --git a/nixpkgs/nixos/tests/tiddlywiki.nix b/nixpkgs/nixos/tests/tiddlywiki.nix
index 4a2014a4ec91..cf45578b0f98 100644
--- a/nixpkgs/nixos/tests/tiddlywiki.nix
+++ b/nixpkgs/nixos/tests/tiddlywiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }: {
+import ./make-test-python.nix ({ ... }: {
   name = "tiddlywiki";
   nodes = {
     default = {
@@ -20,48 +20,50 @@ import ./make-test.nix ({ ... }: {
     };
   };
 
-  testScript = ''
-    startAll;
+  testScript =
+    ''
+      start_all()
 
-    subtest "by default works without configuration", sub {
-      $default->waitForUnit("tiddlywiki.service");
-    };
-
-    subtest "by default available on port 8080 without auth", sub {
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
-      $default->succeed("curl --fail 127.0.0.1:8080");
-    };
-
-    subtest "by default creates empty wiki", sub {
-      $default->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("tiddlywiki.service")
 
-    subtest "configured on port 3000 with basic auth", sub {
-      $configured->waitForUnit("tiddlywiki.service");
-      $configured->waitForOpenPort(3000);
-      $configured->fail("curl --fail 127.0.0.1:3000");
-      $configured->succeed("curl --fail 127.0.0.1:3000 --user somelogin:somesecret");
-    };
+      with subtest("by default available on port 8080 without auth"):
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
+          # we output to /dev/null here to avoid a python UTF-8 decode error
+          # but the check will still fail if the service doesn't respond
+          default.succeed("curl --fail -o /dev/null 127.0.0.1:8080")
 
-    subtest "configured with different wikifolder", sub {
-      $configured->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default creates empty wiki"):
+          default.succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info")
 
-    subtest "restart preserves changes", sub {
-      # given running wiki
-      $default->waitForUnit("tiddlywiki.service");
-      # with some changes
-      $default->succeed("curl --fail --request PUT --header 'X-Requested-With:TiddlyWiki' --data '{ \"title\": \"title\", \"text\": \"content\" }' --url 127.0.0.1:8080/recipes/default/tiddlers/somepage ");
-      $default->succeed("sleep 2"); # server syncs to filesystem on timer
+      with subtest("configured on port 3000 with basic auth"):
+          configured.wait_for_unit("tiddlywiki.service")
+          configured.wait_for_open_port(3000)
+          configured.fail("curl --fail -o /dev/null 127.0.0.1:3000")
+          configured.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:3000 --user somelogin:somesecret"
+          )
+      
+      with subtest("restart preserves changes"):
+          # given running wiki
+          default.wait_for_unit("tiddlywiki.service")
+          # with some changes
+          default.succeed(
+              'curl --fail --request PUT --header \'X-Requested-With:TiddlyWiki\' \
+              --data \'{ "title": "title", "text": "content" }\' \
+              --url 127.0.0.1:8080/recipes/default/tiddlers/somepage '
+          )
+          default.succeed("sleep 2")
 
-      # when wiki is cycled
-      $default->systemctl("restart tiddlywiki.service");
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
+          # when wiki is cycled
+          default.systemctl("restart tiddlywiki.service")
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
 
-      # the change is preserved
-      $default->succeed("curl --fail 127.0.0.1:8080/recipes/default/tiddlers/somepage");
-    };
-  '';
+          # the change is preserved
+          default.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:8080/recipes/default/tiddlers/somepage"
+          )
+    '';
 })
diff --git a/nixpkgs/nixos/tests/timezone.nix b/nixpkgs/nixos/tests/timezone.nix
index 2204649a3fc4..7fc9a5058eee 100644
--- a/nixpkgs/nixos/tests/timezone.nix
+++ b/nixpkgs/nixos/tests/timezone.nix
@@ -1,45 +1,50 @@
-{
-  timezone-static = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-static";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = "Europe/Amsterdam";
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-      $machine->fail("timedatectl set-timezone Asia/Tokyo");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      $dateResult[1] eq "1970-01-01 01:00:00\n" or die "Timezone seems to be wrong";
-    '';
-  });
-
-  timezone-imperative = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-imperative";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = null;
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-
-      # Should default to UTC
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 00:00:00\n" or die "Timezone seems to be wrong";
-
-      $machine->succeed("timedatectl set-timezone Asia/Tokyo");
-
-      # Adjustment should be taken into account
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone was not adjusted";
-
-      # Adjustment should persist across a reboot
-      $machine->shutdown;
-      $machine->waitForUnit("dbus.socket");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone adjustment was not persisted";
-    '';
-  });
-}
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "timezone";
+  meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
+
+  nodes = {
+    node_eutz = { pkgs, ... }: {
+      time.timeZone = "Europe/Amsterdam";
+    };
+
+    node_nulltz = { pkgs, ... }: {
+      time.timeZone = null;
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+      node_eutz.wait_for_unit("dbus.socket")
+
+      with subtest("static - Ensure timezone change gives the correct result"):
+          node_eutz.fail("timedatectl set-timezone Asia/Tokyo")
+          date_result = node_eutz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          assert date_result == "1970-01-01 01:00:00\n", "Timezone seems to be wrong"
+
+      node_nulltz.wait_for_unit("dbus.socket")
+
+      with subtest("imperative - Ensure timezone defaults to UTC"):
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 00:00:00\n"
+          ), "Timezone seems to be wrong (not UTC)"
+
+      with subtest("imperative - Ensure timezone adjustment produces expected result"):
+          node_nulltz.succeed("timedatectl set-timezone Asia/Tokyo")
+
+          # Adjustment should be taken into account
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert date_result == "1970-01-01 09:00:00\n", "Timezone was not adjusted"
+
+      with subtest("imperative - Ensure timezone adjustment persists across reboot"):
+          # Adjustment should persist across a reboot
+          node_nulltz.shutdown()
+          node_nulltz.wait_for_unit("dbus.socket")
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 09:00:00\n"
+          ), "Timezone adjustment was not persisted"
+  '';
+})
diff --git a/nixpkgs/nixos/tests/tinydns.nix b/nixpkgs/nixos/tests/tinydns.nix
index cb7ee0c5fb5e..c7740d5ade35 100644
--- a/nixpkgs/nixos/tests/tinydns.nix
+++ b/nixpkgs/nixos/tests/tinydns.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ...} : {
+import ./make-test-python.nix ({ lib, ...} : {
   name = "tinydns";
   meta = {
     maintainers = with lib.maintainers; [ basvandijk ];
@@ -19,8 +19,8 @@ import ./make-test.nix ({ lib, ...} : {
     };
   };
   testScript = ''
-    $nameserver->start;
-    $nameserver->waitForUnit("tinydns.service");
-    $nameserver->succeed("host bla.foo.bar | grep '1\.2\.3\.4'");
+    nameserver.start()
+    nameserver.wait_for_unit("tinydns.service")
+    nameserver.succeed("host bla.foo.bar | grep '1\.2\.3\.4'")
   '';
 })
diff --git a/nixpkgs/nixos/tests/tor.nix b/nixpkgs/nixos/tests/tor.nix
index 0cb44ddff248..ad07231557c3 100644
--- a/nixpkgs/nixos/tests/tor.nix
+++ b/nixpkgs/nixos/tests/tor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }: with lib;
+import ./make-test-python.nix ({ lib, ... }: with lib;
 
 rec {
   name = "tor";
@@ -21,8 +21,10 @@ rec {
     };
 
   testScript = ''
-    $client->waitForUnit("tor.service");
-    $client->waitForOpenPort(9051);
-    $client->succeed("echo GETINFO version | nc 127.0.0.1 9051") =~ /514 Authentication required./ or die;
+    client.wait_for_unit("tor.service")
+    client.wait_for_open_port(9051)
+    assert "514 Authentication required." in client.succeed(
+        "echo GETINFO version | nc 127.0.0.1 9051"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/trac.nix b/nixpkgs/nixos/tests/trac.nix
new file mode 100644
index 000000000000..7953f8d41f77
--- /dev/null
+++ b/nixpkgs/nixos/tests/trac.nix
@@ -0,0 +1,19 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "trac";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mmahut ];
+  };
+
+  nodes = {
+    machine = { ... }: {
+      services.trac.enable = true;
+    };
+  };
+
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("trac.service")
+    machine.wait_for_open_port(8000)
+    machine.wait_until_succeeds("curl -L http://localhost:8000/ | grep 'Trac Powered'")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/transmission.nix b/nixpkgs/nixos/tests/transmission.nix
index f1c238730ebb..f4f2186be1ff 100644
--- a/nixpkgs/nixos/tests/transmission.nix
+++ b/nixpkgs/nixos/tests/transmission.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "transmission";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ coconnor ];
@@ -14,8 +14,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("transmission");
-      $machine->shutdown;
+      start_all()
+      machine.wait_for_unit("transmission")
+      machine.shutdown()
     '';
 })
diff --git a/nixpkgs/nixos/tests/trezord.nix b/nixpkgs/nixos/tests/trezord.nix
index 1c85bf539345..8d908a522492 100644
--- a/nixpkgs/nixos/tests/trezord.nix
+++ b/nixpkgs/nixos/tests/trezord.nix
@@ -1,7 +1,7 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "trezord";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mmahut ];
+    maintainers = [ mmahut "1000101" ];
   };
 
   nodes = {
@@ -12,9 +12,9 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("trezord.service");
-    $machine->waitForOpenPort(21325);
-    $machine->waitUntilSucceeds("curl -L http://localhost:21325/status/ | grep Version");
+    start_all()
+    machine.wait_for_unit("trezord.service")
+    machine.wait_for_open_port(21325)
+    machine.wait_until_succeeds("curl -L http://localhost:21325/status/ | grep Version")
   '';
 })
diff --git a/nixpkgs/nixos/tests/trickster.nix b/nixpkgs/nixos/tests/trickster.nix
new file mode 100644
index 000000000000..e2ca00980d53
--- /dev/null
+++ b/nixpkgs/nixos/tests/trickster.nix
@@ -0,0 +1,37 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "trickster";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ "1000101" ];
+  };
+
+  nodes = {
+    prometheus = { ... }: {
+      services.prometheus.enable = true;
+      networking.firewall.allowedTCPPorts = [ 9090 ];
+    };
+    trickster = { ... }: {
+      services.trickster.enable = true;
+    };
+  };
+
+  testScript = ''
+    start_all()
+    prometheus.wait_for_unit("prometheus.service")
+    prometheus.wait_for_open_port(9090)
+    prometheus.wait_until_succeeds(
+        "curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_for_unit("trickster.service")
+    trickster.wait_for_open_port(8082)
+    trickster.wait_for_open_port(9090)
+    trickster.wait_until_succeeds(
+        "curl -L http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_until_succeeds(
+        "curl -L http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_until_succeeds(
+        "curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+  '';
+})
\ No newline at end of file
diff --git a/nixpkgs/nixos/tests/trilium-server.nix b/nixpkgs/nixos/tests/trilium-server.nix
new file mode 100644
index 000000000000..6346575b33da
--- /dev/null
+++ b/nixpkgs/nixos/tests/trilium-server.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix ({ ... }: {
+  name = "trilium-server";
+  nodes = {
+    default = {
+      services.trilium-server.enable = true;
+    };
+    configured = {
+      services.trilium-server = {
+        enable = true;
+        dataDir = "/data/trilium";
+      };
+    };
+
+    nginx = {
+      services.trilium-server = {
+        enable = true;
+        nginx.enable = true;
+        nginx.hostName = "trilium.example.com";
+      };
+    };
+  };
+
+  testScript =
+    ''
+      start_all()
+
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("trilium-server.service")
+
+      with subtest("by default available on port 8080"):
+          default.wait_for_unit("trilium-server.service")
+          default.wait_for_open_port(8080)
+          # we output to /dev/null here to avoid a python UTF-8 decode error
+          # but the check will still fail if the service doesn't respond
+          default.succeed("curl --fail -o /dev/null 127.0.0.1:8080")
+
+      with subtest("by default creates empty document"):
+          default.wait_for_unit("trilium-server.service")
+          default.succeed("test -f /var/lib/trilium/document.db")
+
+      with subtest("configured with custom data store"):
+          configured.wait_for_unit("trilium-server.service")
+          configured.succeed("test -f /data/trilium/document.db")
+
+      with subtest("nginx with custom host name"):
+          nginx.wait_for_unit("trilium-server.service")
+          nginx.wait_for_unit("nginx.service")
+
+          nginx.succeed(
+              "curl --resolve 'trilium.example.com:80:127.0.0.1' http://trilium.example.com/"
+          )
+    '';
+})
diff --git a/nixpkgs/nixos/tests/udisks2.nix b/nixpkgs/nixos/tests/udisks2.nix
index dcf869908d82..0cbfa0c4c7be 100644
--- a/nixpkgs/nixos/tests/udisks2.nix
+++ b/nixpkgs/nixos/tests/udisks2.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
 
@@ -30,32 +30,40 @@ in
 
   testScript =
     ''
-      my $stick = $machine->stateDir . "/usbstick.img";
-      system("xz -d < ${stick} > $stick") == 0 or die;
+      import lzma
 
-      $machine->succeed("udisksctl info -b /dev/vda >&2");
-      $machine->fail("udisksctl info -b /dev/sda1");
+      with lzma.open(
+          "${stick}"
+      ) as data, open(machine.state_dir + "/usbstick.img", "wb") as stick:
+          stick.write(data.read())
+
+      machine.succeed("udisksctl info -b /dev/vda >&2")
+      machine.fail("udisksctl info -b /dev/sda1")
 
       # Attach a USB stick and wait for it to show up.
-      $machine->sendMonitorCommand("drive_add 0 id=stick,if=none,file=$stick,format=raw");
-      $machine->sendMonitorCommand("device_add usb-storage,id=stick,drive=stick");
-      $machine->waitUntilSucceeds("udisksctl info -b /dev/sda1");
-      $machine->succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'");
+      machine.send_monitor_command(
+          f"drive_add 0 id=stick,if=none,file={stick.name},format=raw"
+      )
+      machine.send_monitor_command("device_add usb-storage,id=stick,drive=stick")
+      machine.wait_until_succeeds("udisksctl info -b /dev/sda1")
+      machine.succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'")
 
       # Mount the stick as a non-root user and do some stuff with it.
-      $machine->succeed("su - alice -c 'udisksctl info -b /dev/sda1'");
-      $machine->succeed("su - alice -c 'udisksctl mount -b /dev/sda1'");
-      $machine->succeed("su - alice -c 'cat /run/media/alice/USBSTICK/test.txt'") =~ /Hello World/ or die;
-      $machine->succeed("su - alice -c 'echo foo > /run/media/alice/USBSTICK/bar.txt'");
+      machine.succeed("su - alice -c 'udisksctl info -b /dev/sda1'")
+      machine.succeed("su - alice -c 'udisksctl mount -b /dev/sda1'")
+      machine.succeed(
+          "su - alice -c 'cat /run/media/alice/USBSTICK/test.txt' | grep -q 'Hello World'"
+      )
+      machine.succeed("su - alice -c 'echo foo > /run/media/alice/USBSTICK/bar.txt'")
 
       # Unmounting the stick should make the mountpoint disappear.
-      $machine->succeed("su - alice -c 'udisksctl unmount -b /dev/sda1'");
-      $machine->fail("[ -d /run/media/alice/USBSTICK ]");
+      machine.succeed("su - alice -c 'udisksctl unmount -b /dev/sda1'")
+      machine.fail("[ -d /run/media/alice/USBSTICK ]")
 
       # Remove the USB stick.
-      $machine->sendMonitorCommand("device_del stick");
-      $machine->waitUntilFails("udisksctl info -b /dev/sda1");
-      $machine->fail("[ -e /dev/sda ]");
+      machine.send_monitor_command("device_del stick")
+      machine.wait_until_fails("udisksctl info -b /dev/sda1")
+      machine.fail("[ -e /dev/sda ]")
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/upnp.nix b/nixpkgs/nixos/tests/upnp.nix
index 98344aee3efa..a7d837ea0708 100644
--- a/nixpkgs/nixos/tests/upnp.nix
+++ b/nixpkgs/nixos/tests/upnp.nix
@@ -5,7 +5,7 @@
 # this succeeds an external client will try to connect to the port
 # mapping.
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   internalRouterAddress = "192.168.3.1";
@@ -56,9 +56,11 @@ in
           networking.firewall.enable = false;
 
           services.httpd.enable = true;
-          services.httpd.listen = [{ ip = "*"; port = 9000; }];
-          services.httpd.adminAddr = "foo@example.org";
-          services.httpd.documentRoot = "/tmp";
+          services.httpd.virtualHosts.localhost = {
+            listen = [{ ip = "*"; port = 9000; }];
+            adminAddr = "foo@example.org";
+            documentRoot = "/tmp";
+          };
         };
 
       client2 =
@@ -75,20 +77,20 @@ in
   testScript =
     { nodes, ... }:
     ''
-      startAll;
+      start_all()
 
       # Wait for network and miniupnpd.
-      $router->waitForUnit("network-online.target");
-      # $router->waitForUnit("nat");
-      $router->waitForUnit("firewall.service");
-      $router->waitForUnit("miniupnpd");
+      router.wait_for_unit("network-online.target")
+      # $router.wait_for_unit("nat")
+      router.wait_for_unit("firewall.service")
+      router.wait_for_unit("miniupnpd")
 
-      $client1->waitForUnit("network-online.target");
+      client1.wait_for_unit("network-online.target")
 
-      $client1->succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP");
+      client1.succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP")
 
-      $client1->waitForUnit("httpd");
-      $client2->waitUntilSucceeds("curl http://${externalRouterAddress}:9000/");
+      client1.wait_for_unit("httpd")
+      client2.wait_until_succeeds("curl http://${externalRouterAddress}:9000/")
     '';
 
 })
diff --git a/nixpkgs/nixos/tests/uwsgi.nix b/nixpkgs/nixos/tests/uwsgi.nix
index afc03e74ed7e..78a87147f55c 100644
--- a/nixpkgs/nixos/tests/uwsgi.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/vault.nix b/nixpkgs/nixos/tests/vault.nix
index caf0cbb2abfe..ac8cf0703da5 100644
--- a/nixpkgs/nixos/tests/vault.nix
+++ b/nixpkgs/nixos/tests/vault.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "vault";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -12,12 +12,12 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('vault.service');
-      $machine->waitForOpenPort(8200);
-      $machine->succeed('vault operator init');
-      $machine->succeed('vault status | grep Sealed | grep true');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("vault.service")
+      machine.wait_for_open_port(8200)
+      machine.succeed("vault operator init")
+      machine.succeed("vault status | grep Sealed | grep true")
     '';
 })
diff --git a/nixpkgs/nixos/tests/wireguard/default.nix b/nixpkgs/nixos/tests/wireguard/default.nix
index b0797b963235..8206823a9181 100644
--- a/nixpkgs/nixos/tests/wireguard/default.nix
+++ b/nixpkgs/nixos/tests/wireguard/default.nix
@@ -2,7 +2,7 @@ let
   wg-snakeoil-keys = import ./snakeoil-keys.nix;
 in
 
-import ../make-test.nix ({ pkgs, ...} : {
+import ../make-test-python.nix ({ pkgs, ...} : {
   name = "wireguard";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 ];
@@ -86,12 +86,12 @@ import ../make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $peer0->waitForUnit("wireguard-wg0.service");
-    $peer1->waitForUnit("wireguard-wg0.service");
+    peer0.wait_for_unit("wireguard-wg0.service")
+    peer1.wait_for_unit("wireguard-wg0.service")
 
-    $peer1->succeed("ping -c5 fc00::1");
-    $peer1->succeed("ping -c5 10.23.42.1")
+    peer1.succeed("ping -c5 fc00::1")
+    peer1.succeed("ping -c5 10.23.42.1")
   '';
 })
diff --git a/nixpkgs/nixos/tests/wireguard/generated.nix b/nixpkgs/nixos/tests/wireguard/generated.nix
index 897feafe3ff2..a29afd2d4666 100644
--- a/nixpkgs/nixos/tests/wireguard/generated.nix
+++ b/nixpkgs/nixos/tests/wireguard/generated.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...} : {
+import ../make-test-python.nix ({ pkgs, ...} : {
   name = "wireguard-generated";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 grahamc ];
@@ -28,30 +28,34 @@ import ../make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    $peer1->waitForUnit("wireguard-wg0.service");
-    $peer2->waitForUnit("wireguard-wg0.service");
-
-    my ($retcode, $peer1pubkey) = $peer1->execute("wg pubkey < /etc/wireguard/private");
-    $peer1pubkey =~ s/\s+$//;
-    if ($retcode != 0) {
-      die "Could not read public key from peer1";
-    }
-
-    my ($retcode, $peer2pubkey) = $peer2->execute("wg pubkey < /etc/wireguard/private");
-    $peer2pubkey =~ s/\s+$//;
-    if ($retcode != 0) {
-      die "Could not read public key from peer2";
-    }
-
-    $peer1->succeed("wg set wg0 peer $peer2pubkey allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1");
-    $peer1->succeed("ip route replace 10.10.10.2/32 dev wg0 table main");
-
-    $peer2->succeed("wg set wg0 peer $peer1pubkey allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1");
-    $peer2->succeed("ip route replace 10.10.10.1/32 dev wg0 table main");
-
-    $peer1->succeed("ping -c1 10.10.10.2");
-    $peer2->succeed("ping -c1 10.10.10.1");
+    start_all()
+
+    peer1.wait_for_unit("wireguard-wg0.service")
+    peer2.wait_for_unit("wireguard-wg0.service")
+
+    retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private")
+    if retcode != 0:
+        raise Exception("Could not read public key from peer1")
+
+    retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private")
+    if retcode != 0:
+        raise Exception("Could not read public key from peer2")
+
+    peer1.succeed(
+        "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format(
+            peer2pubkey.strip()
+        )
+    )
+    peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main")
+
+    peer2.succeed(
+        "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format(
+            peer1pubkey.strip()
+        )
+    )
+    peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main")
+
+    peer1.succeed("ping -c1 10.10.10.2")
+    peer2.succeed("ping -c1 10.10.10.1")
   '';
 })
diff --git a/nixpkgs/nixos/tests/wireguard/namespaces.nix b/nixpkgs/nixos/tests/wireguard/namespaces.nix
new file mode 100644
index 000000000000..c8a4e3bb52a1
--- /dev/null
+++ b/nixpkgs/nixos/tests/wireguard/namespaces.nix
@@ -0,0 +1,78 @@
+let
+  listenPort = 12345;
+  socketNamespace = "foo";
+  interfaceNamespace = "bar";
+  node = {
+    networking.wireguard.interfaces.wg0 = {
+      listenPort = listenPort;
+      ips = [ "10.10.10.1/24" ];
+      privateKeyFile = "/etc/wireguard/private";
+      generatePrivateKeyFile = true;
+    };
+  };
+
+in
+
+import ../make-test-python.nix ({ pkgs, ...} : {
+  name = "wireguard-with-namespaces";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ asymmetric ];
+  };
+
+  nodes = {
+    # interface should be created in the socketNamespace
+    # and not moved from there
+    peer0 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+        '';
+        inherit socketNamespace;
+      };
+    };
+    # interface should be created in the init namespace
+    # and moved to the interfaceNamespace
+    peer1 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${interfaceNamespace}
+        '';
+        inherit interfaceNamespace;
+      };
+    };
+    # interface should be created in the socketNamespace
+    # and moved to the interfaceNamespace
+    peer2 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+          ip netns add ${interfaceNamespace}
+        '';
+        inherit socketNamespace interfaceNamespace;
+      };
+    };
+    # interface should be created in the socketNamespace
+    # and moved to the init namespace
+    peer3 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+        '';
+        inherit socketNamespace;
+        interfaceNamespace = "init";
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    for machine in peer0, peer1, peer2, peer3:
+        machine.wait_for_unit("wireguard-wg0.service")
+
+    peer0.succeed("ip -n ${socketNamespace} link show wg0")
+    peer1.succeed("ip -n ${interfaceNamespace} link show wg0")
+    peer2.succeed("ip -n ${interfaceNamespace} link show wg0")
+    peer3.succeed("ip link show wg0")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/wordpress.nix b/nixpkgs/nixos/tests/wordpress.nix
index c6acfa6c1f3d..b7449859f7e6 100644
--- a/nixpkgs/nixos/tests/wordpress.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xautolock.nix b/nixpkgs/nixos/tests/xautolock.nix
index ee46d9e05b06..10e92b40e956 100644
--- a/nixpkgs/nixos/tests/xautolock.nix
+++ b/nixpkgs/nixos/tests/xautolock.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -15,10 +15,10 @@ with lib;
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForX;
-    $machine->mustFail("pgrep xlock");
-    $machine->sleep(120);
-    $machine->mustSucceed("pgrep xlock");
+    machine.start()
+    machine.wait_for_x()
+    machine.fail("pgrep xlock")
+    machine.sleep(120)
+    machine.succeed("pgrep xlock")
   '';
 })
diff --git a/nixpkgs/nixos/tests/xdg-desktop-portal.nix b/nixpkgs/nixos/tests/xdg-desktop-portal.nix
deleted file mode 100644
index 79ebb83c49a5..000000000000
--- a/nixpkgs/nixos/tests/xdg-desktop-portal.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "xdg-desktop-portal";
-  meta = {
-    maintainers = pkgs.xdg-desktop-portal.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.xdg-desktop-portal.installedTests}/share'");
-  '';
-})
diff --git a/nixpkgs/nixos/tests/xfce.nix b/nixpkgs/nixos/tests/xfce.nix
index 6cb4fae2021f..3ea96b383631 100644
--- a/nixpkgs/nixos/tests/xfce.nix
+++ b/nixpkgs/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 /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/nixpkgs/nixos/tests/xfce4-14.nix b/nixpkgs/nixos/tests/xfce4-14.nix
deleted file mode 100644
index 94378f0c8d34..000000000000
--- a/nixpkgs/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 /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/nixpkgs/nixos/tests/xmonad.nix b/nixpkgs/nixos/tests/xmonad.nix
index 79c15ccffecd..ef711f8dcf6a 100644
--- a/nixpkgs/nixos/tests/xmonad.nix
+++ b/nixpkgs/nixos/tests/xmonad.nix
@@ -1,13 +1,13 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xmonad";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
   };
 
-  machine = { lib, pkgs, ... }: {
+  machine = { pkgs, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     services.xserver.displayManager.auto.user = "alice";
-    services.xserver.windowManager.default = lib.mkForce "xmonad";
+    services.xserver.displayManager.defaultSession = "none+xmonad";
     services.xserver.windowManager.xmonad = {
       enable = true;
       enableContribAndExtras = true;
@@ -21,19 +21,21 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
   };
 
-  testScript = { ... }: ''
-    $machine->waitForX;
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->sendKeys("alt-ctrl-x");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(1);
-    $machine->screenshot("terminal");
-    $machine->waitUntilSucceeds("xmonad --restart");
-    $machine->sleep(3);
-    $machine->sendKeys("alt-shift-ret");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(1);
-    $machine->screenshot("terminal");
+  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.send_key("alt-ctrl-x")
+    machine.wait_for_window("${user.name}.*machine")
+    machine.sleep(1)
+    machine.screenshot("terminal")
+    machine.wait_until_succeeds("xmonad --restart")
+    machine.sleep(3)
+    machine.send_key("alt-shift-ret")
+    machine.wait_for_window("${user.name}.*machine")
+    machine.sleep(1)
+    machine.screenshot("terminal")
   '';
 })
diff --git a/nixpkgs/nixos/tests/xmpp/ejabberd.nix b/nixpkgs/nixos/tests/xmpp/ejabberd.nix
index 196a04aca300..1518aaacc8ab 100644
--- a/nixpkgs/nixos/tests/xmpp/ejabberd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix b/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix
index 62b4a17421e5..0507227021b2 100644
--- a/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xmpp/prosody.nix b/nixpkgs/nixos/tests/xmpp/prosody.nix
index 8331c7b6d331..9d1374bff6bd 100644
--- a/nixpkgs/nixos/tests/xmpp/prosody.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xrdp.nix b/nixpkgs/nixos/tests/xrdp.nix
index 0106aefe8318..1aceeffb955d 100644
--- a/nixpkgs/nixos/tests/xrdp.nix
+++ b/nixpkgs/nixos/tests/xrdp.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xrdp";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ volth ];
@@ -21,25 +21,27 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
   };
 
-  testScript = { ... }: ''
-    startAll;
+  testScript = { nodes, ... }: let
+    user = nodes.client.config.users.users.alice;
+  in ''
+    start_all()
 
-    $client->waitForX;
-    $client->waitForFile("/home/alice/.Xauthority");
-    $client->succeed("xauth merge ~alice/.Xauthority");
+    client.wait_for_x()
+    client.wait_for_file("${user.home}/.Xauthority")
+    client.succeed("xauth merge ${user.home}/.Xauthority")
 
-    $client->sleep(5);
+    client.sleep(5)
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("localrdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("localrdp")
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("remoterdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("remoterdp")
   '';
 })
diff --git a/nixpkgs/nixos/tests/xss-lock.nix b/nixpkgs/nixos/tests/xss-lock.nix
index 0d757e8cef3f..3a7dea07d53a 100644
--- a/nixpkgs/nixos/tests/xss-lock.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/yabar.nix b/nixpkgs/nixos/tests/yabar.nix
index bbc0cf4c7dd7..9108004d4df9 100644
--- a/nixpkgs/nixos/tests/yabar.nix
+++ b/nixpkgs/nixos/tests/yabar.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -20,14 +20,14 @@ with lib;
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForX;
+    machine.start()
+    machine.wait_for_x()
 
     # confirm proper startup
-    $machine->waitForUnit("yabar.service", "bob");
-    $machine->sleep(10);
-    $machine->waitForUnit("yabar.service", "bob");
+    machine.wait_for_unit("yabar.service", "bob")
+    machine.sleep(10)
+    machine.wait_for_unit("yabar.service", "bob")
 
-    $machine->screenshot("top_bar");
+    machine.screenshot("top_bar")
   '';
 })
diff --git a/nixpkgs/nixos/tests/yggdrasil.nix b/nixpkgs/nixos/tests/yggdrasil.nix
new file mode 100644
index 000000000000..468fcf671274
--- /dev/null
+++ b/nixpkgs/nixos/tests/yggdrasil.nix
@@ -0,0 +1,125 @@
+let
+  aliceIp6 = "200:3b91:b2d8:e708:fbf3:f06:fdd5:90d0";
+  aliceKeys = {
+    EncryptionPublicKey = "13e23986fe76bc3966b42453f479bc563348b7ff76633b7efcb76e185ec7652f";
+    EncryptionPrivateKey = "9f86947b15e86f9badac095517a1982e39a2db37ca726357f95987b898d82208";
+    SigningPublicKey = "e2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
+    SigningPrivateKey = "fe3add8da35316c05f6d90d3ca79bd2801e6ccab6d37e5339fef4152589398abe2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
+  };
+  bobIp6 = "201:ebbd:bde9:f138:c302:4afa:1fb6:a19a";
+  bobConfig = {
+    InterfacePeers = {
+      eth1 = [ "tcp://192.168.1.200:12345" ];
+    };
+    MulticastInterfaces = [ "eth1" ];
+    LinkLocalTCPPort = 54321;
+    EncryptionPublicKey = "c99d6830111e12d1b004c52fe9e5a2eef0f6aefca167aca14589a370b7373279";
+    EncryptionPrivateKey = "2e698a53d3fdce5962d2ff37de0fe77742a5c8b56cd8259f5da6aa792f6e8ba3";
+    SigningPublicKey = "de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
+    SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
+  };
+
+in import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "yggdrasil";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ gazally ];
+  };
+
+  nodes = rec {
+    # Alice is listening for peerings on a specified port,
+    # but has multicast peering disabled.  Alice has part of her
+    # yggdrasil config in Nix and part of it in a file.
+    alice =
+      { ... }:
+      {
+        networking = {
+          interfaces.eth1.ipv4.addresses = [{
+            address = "192.168.1.200";
+            prefixLength = 24;
+          }];
+          firewall.allowedTCPPorts = [ 80 12345 ];
+        };
+        services.httpd.enable = true;
+        services.httpd.adminAddr = "foo@example.org";
+
+        services.yggdrasil = {
+          enable = true;
+          config = {
+            Listen = ["tcp://0.0.0.0:12345"];
+            MulticastInterfaces = [ ];
+          };
+          configFile = toString (pkgs.writeTextFile {
+                         name = "yggdrasil-alice-conf";
+                         text = builtins.toJSON aliceKeys;
+                       });
+        };
+      };
+
+    # Bob is set up to peer with Alice, and also to do local multicast
+    # peering.  Bob's yggdrasil config is in a file.
+    bob =
+      { ... }:
+      {
+        networking.firewall.allowedTCPPorts = [ 54321 ];
+        services.yggdrasil = {
+          enable = true;
+          openMulticastPort = true;
+          configFile = toString (pkgs.writeTextFile {
+                         name = "yggdrasil-bob-conf";
+                         text = builtins.toJSON bobConfig;
+                       });
+        };
+      };
+
+    # Carol only does local peering.  Carol's yggdrasil config is all Nix.
+    carol =
+      { ... }:
+      {
+        networking.firewall.allowedTCPPorts = [ 43210 ];
+        services.yggdrasil = {
+          enable = true;
+          denyDhcpcdInterfaces = [ "ygg0" ];
+          config = {
+            IfTAPMode = true;
+            IfName = "ygg0";
+            MulticastInterfaces = [ "eth1" ];
+            LinkLocalTCPPort = 43210;
+          };
+        };
+      };
+    };
+
+  testScript =
+    ''
+      import re
+
+      # Give Alice a head start so she is ready when Bob calls.
+      alice.start()
+      alice.wait_for_unit("yggdrasil.service")
+
+      bob.start()
+      carol.start()
+      bob.wait_for_unit("yggdrasil.service")
+      carol.wait_for_unit("yggdrasil.service")
+
+      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.wait_until_succeeds(f"ping -c 1 {carol_ip6}")
+      alice.succeed(f"ping -c 1 ${bobIp6}")
+
+      bob.succeed("ping -c 1 ${aliceIp6}")
+      bob.succeed(f"ping -c 1 {carol_ip6}")
+
+      carol.succeed("ping -c 1 ${aliceIp6}")
+      carol.succeed("ping -c 1 ${bobIp6}")
+
+      carol.fail("journalctl -u dhcpcd | grep ygg0")
+
+      alice.wait_for_unit("httpd.service")
+      carol.succeed("curl --fail -g http://[${aliceIp6}]")
+    '';
+})
diff --git a/nixpkgs/nixos/tests/zfs.nix b/nixpkgs/nixos/tests/zfs.nix
index d7a08268e984..8f844aca4160 100644
--- a/nixpkgs/nixos/tests/zfs.nix
+++ b/nixpkgs/nixos/tests/zfs.nix
@@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
 
 let
 
-  makeTest = import ./make-test.nix;
+  makeTest = import ./make-test-python.nix;
 
   makeZfsTest = name:
     { kernelPackage ? pkgs.linuxPackages_latest
@@ -34,12 +34,12 @@ let
         };
 
       testScript = ''
-        $machine->succeed("modprobe zfs");
-        $machine->succeed("zpool status");
+        machine.succeed("modprobe zfs")
+        machine.succeed("zpool status")
 
-        $machine->succeed("ls /dev");
+        machine.succeed("ls /dev")
 
-        $machine->succeed(
+        machine.succeed(
           "mkdir /tmp/mnt",
 
           "udevadm settle",
@@ -55,9 +55,7 @@ let
           "umount /tmp/mnt",
           "zpool destroy rpool",
           "udevadm settle"
-
-        );
-
+        )
       '' + extraTest;
 
     };
@@ -70,8 +68,8 @@ in {
   unstable = makeZfsTest "unstable" {
     enableUnstable = true;
     extraTest = ''
-      $machine->succeed(
-        "echo password | zpool create -o altroot='/tmp/mnt' -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
+      machine.succeed(
+        "echo password | zpool create -o altroot=\"/tmp/mnt\" -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
         "zfs create -o mountpoint=legacy rpool/root",
         "mount -t zfs rpool/root /tmp/mnt",
         "udevadm settle",
@@ -79,7 +77,7 @@ in {
         "umount /tmp/mnt",
         "zpool destroy rpool",
         "udevadm settle"
-      );
+      )
     '';
   };
 
diff --git a/nixpkgs/nixos/tests/zookeeper.nix b/nixpkgs/nixos/tests/zookeeper.nix
index f343ebd39e44..42cf20b39c52 100644
--- a/nixpkgs/nixos/tests/zookeeper.nix
+++ b/nixpkgs/nixos/tests/zookeeper.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "zookeeper";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -15,14 +15,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("zookeeper");
-    $server->waitForUnit("network.target");
-    $server->waitForOpenPort(2181);
+    server.wait_for_unit("zookeeper")
+    server.wait_for_unit("network.target")
+    server.wait_for_open_port(2181)
 
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar");
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello");
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello");
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar"
+    )
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello"
+    )
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello"
+    )
   '';
 })
diff --git a/nixpkgs/nixos/tests/zsh-history.nix b/nixpkgs/nixos/tests/zsh-history.nix
new file mode 100644
index 000000000000..4380ec9adfd2
--- /dev/null
+++ b/nixpkgs/nixos/tests/zsh-history.nix
@@ -0,0 +1,35 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "zsh-history";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ kampka ];
+  };
+
+  nodes.default = { ... }: {
+    programs = {
+      zsh.enable = true;
+    };
+    environment.systemPackages = [ pkgs.zsh-history ];
+    programs.zsh.interactiveShellInit = ''
+      source ${pkgs.zsh-history.out}/share/zsh/init.zsh
+    '';
+    users.users.root.shell = "${pkgs.zsh}/bin/zsh";
+  };
+
+  testScript = ''
+    start_all()
+    default.wait_for_unit("multi-user.target")
+    default.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+
+    # Login
+    default.wait_until_tty_matches(1, "login: ")
+    default.send_chars("root\n")
+    default.wait_until_tty_matches(1, "root@default>")
+
+    # Generate some history
+    default.send_chars("echo foobar\n")
+    default.wait_until_tty_matches(1, "foobar")
+
+    # Ensure that command was recorded in history
+    default.succeed("/run/current-system/sw/bin/history list | grep -q foobar")
+  '';
+})
diff --git a/nixpkgs/pkgs/applications/accessibility/contrast/default.nix b/nixpkgs/pkgs/applications/accessibility/contrast/default.nix
new file mode 100644
index 000000000000..3e03cf2da730
--- /dev/null
+++ b/nixpkgs/pkgs/applications/accessibility/contrast/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, fetchFromGitLab
+, cairo
+, dbus
+, desktop-file-utils
+, gettext
+, glib
+, gtk3
+, libhandy
+, meson
+, ninja
+, pango
+, pkgconfig
+, python3
+, rustc
+, rustPlatform
+, wrapGAppsHook
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "contrast";
+  version = "0.0.2";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    group = "World";
+    owner = "design";
+    repo = "contrast";
+    rev = version;
+    sha256 = "0rm705zrk9rfv31pwbqxrswi5v6vhnghxa8dgxjmcrh00l8dm6j9";
+  };
+
+  cargoSha256 = "06vgc89d93fhjcyy9d1v6lf8kr34pl5bbpwbv2jpfahpj9y84bgj";
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    dbus
+    glib
+    gtk3
+    libhandy
+    pango
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson_post_install.py
+  '';
+
+  # Don't use buildRustPackage phases, only use it for rust deps setup
+  configurePhase = null;
+  buildPhase = null;
+  checkPhase = null;
+  installPhase = null;
+
+  meta = with stdenv.lib; {
+    description = "Checks whether the contrast between two colors meet the WCAG requirements";
+    homepage = https://gitlab.gnome.org/World/design/contrast;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/audio/MMA/default.nix b/nixpkgs/pkgs/applications/audio/MMA/default.nix
index 92f46abddd5a..42f8af99e6f4 100644
--- a/nixpkgs/pkgs/applications/audio/MMA/default.nix
+++ b/nixpkgs/pkgs/applications/audio/MMA/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, python3, alsaUtils, timidity }:
 
   stdenv.mkDerivation rec {
-  version = "16.06";
+  version = "19.08";
   pname = "mma";
 
   src = fetchurl {
     url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
-    sha256 = "1g4gvc0nr0qjc0fyqrnx037zpaasgymgmrm5s7cdxqnld9wqw8ww";
+    sha256 = "02g2q9f1hbrj1v4mbf7zx2571vqpfla5803hcjpkdkvn8g0dwci0";
   };
 
   buildInputs = [ makeWrapper python3 alsaUtils timidity ];
diff --git a/nixpkgs/pkgs/applications/audio/adlplug/default.nix b/nixpkgs/pkgs/applications/audio/adlplug/default.nix
index 631e0c9cca52..bc626cbad114 100644
--- a/nixpkgs/pkgs/applications/audio/adlplug/default.nix
+++ b/nixpkgs/pkgs/applications/audio/adlplug/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, libjack2, alsaLib
 , freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
+, fetchpatch
 , adlplugChip ? "-DADLplug_CHIP=OPL3"
 , pname ? "ADLplug" }:
 
@@ -15,6 +16,15 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/jpcima/ADLplug/83636c55bec1b86cabf634b9a6d56d07f00ecc61/resources/patch/juce-gcc9.patch";
+      sha256 = "15hkdb76n9lgjsrpczj27ld9b4804bzrgw89g95cj4sc8wwkplyy";
+      extraPrefix = "thirdparty/JUCE/";
+      stripLen = 1;
+    })
+  ];
+
   cmakeFlags = [ adlplugChip ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/aeolus/default.nix b/nixpkgs/pkgs/applications/audio/aeolus/default.nix
index 389052d30e1c..ee9932a7aa3b 100644
--- a/nixpkgs/pkgs/applications/audio/aeolus/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aeolus/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   preBuild = "cd source";
 
-  makeFlags = "DESTDIR= PREFIX=$(out)";
+  makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
 
   meta = {
     description = "Synthetized (not sampled) pipe organ emulator";
diff --git a/nixpkgs/pkgs/applications/audio/airwave/default.nix b/nixpkgs/pkgs/applications/audio/airwave/default.nix
index 737e73421c9b..1d91ad4d2be1 100644
--- a/nixpkgs/pkgs/applications/audio/airwave/default.nix
+++ b/nixpkgs/pkgs/applications/audio/airwave/default.nix
@@ -22,6 +22,7 @@ let
     };
     nativeBuildInputs = [ unzip ];
     installPhase = "cp -r . $out";
+    meta.license = stdenv.lib.licenses.unfree;
   };
 
   wine-wow64 = wine.override {
@@ -62,7 +63,7 @@ multiStdenv.mkDerivation {
   # Cf. https://github.com/phantom-code/airwave/issues/57
   hardeningDisable = [ "format" ];
 
-  cmakeFlags = "-DVSTSDK_PATH=${vst-sdk}/VST2_SDK";
+  cmakeFlags = [ "-DVSTSDK_PATH=${vst-sdk}/VST2_SDK" ];
 
   postInstall = ''
     mv $out/bin $out/libexec
diff --git a/nixpkgs/pkgs/applications/audio/amarok/default.nix b/nixpkgs/pkgs/applications/audio/amarok/default.nix
index c72815d5ca25..cd951701e771 100644
--- a/nixpkgs/pkgs/applications/audio/amarok/default.nix
+++ b/nixpkgs/pkgs/applications/audio/amarok/default.nix
@@ -33,6 +33,8 @@ mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
+    homepage = "https://amarok.kde.org";
+    description = "A powerful music player with an intuitive interface";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
index 0750c38550b1..34f5667bfcaa 100644
--- a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation  rec {
 
   meta = with stdenv.lib; {
     description = "An LV2 port of the internal modules found in Alsa Modular Synth";
-    homepage = http://objectivewave.wordpress.com/ams-lv2;
+    homepage = "https://github.com/blablack/ams-lv2";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/audio/asunder/default.nix b/nixpkgs/pkgs/applications/audio/asunder/default.nix
index e4c145b35c75..5a0b6797a241 100644
--- a/nixpkgs/pkgs/applications/audio/asunder/default.nix
+++ b/nixpkgs/pkgs/applications/audio/asunder/default.nix
@@ -12,15 +12,15 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.9.3";
+  version = "2.9.5";
   pname = "asunder";
   src = fetchurl {
     url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
-    sha256 = "1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5";
+    sha256 = "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 libcddb intltool makeWrapper ];
+  nativeBuildInputs = [ intltool makeWrapper pkgconfig ];
+  buildInputs = [ gtk2 libcddb ];
 
   runtimeDeps =
     optional mp3Support lame ++
diff --git a/nixpkgs/pkgs/applications/audio/audacity/default.nix b/nixpkgs/pkgs/applications/audio/audacity/default.nix
index 6be40a7b93aa..57e0c52e6406 100644
--- a/nixpkgs/pkgs/applications/audio/audacity/default.nix
+++ b/nixpkgs/pkgs/applications/audio/audacity/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2,
+{ stdenv, fetchzip, wxGTK30, pkgconfig, file, gettext,
   libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
   expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
   autoconf, automake, libtool
@@ -7,12 +7,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.3.2";
+  version = "2.3.3";
   pname = "audacity";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
-    sha256 = "0cf7fr1qhyyylj8g9ax1rq5sb887bcv5b8d7hwlcfwamzxqpliyc";
+    sha256 = "0ddc03dbm4ixy877czmwd03fpjgr3y68bxfgb6n2q6cv4prp30ig";
   };
 
   preConfigure = /* we prefer system-wide libs */ ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   # audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually
-  NIX_LDFLAGS = [
+  NIX_LDFLAGS = toString [
     # LAME
     "-lmp3lame"
     # ffmpeg
@@ -43,12 +43,11 @@ stdenv.mkDerivation rec {
     "-lswscale"
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
   buildInputs = [
     file gettext wxGTK30 expat alsaLib
-    libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2
+    libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil wxGTK30.gtk
     ffmpeg libmad lame libvorbis flac soundtouch
-    autoconf automake libtool # for the preConfigure phase
   ]; #ToDo: detach sbsms
 
   enableParallelBuilding = true;
@@ -60,7 +59,7 @@ stdenv.mkDerivation rec {
     description = "Sound editor with graphical UI";
     homepage = http://audacityteam.org/;
     license = licenses.gpl2Plus;
-    platforms = with platforms; linux;
+    platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
     maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/avldrums-lv2/default.nix b/nixpkgs/pkgs/applications/audio/avldrums-lv2/default.nix
index 7ca5d83b48b2..d71718c32a82 100644
--- a/nixpkgs/pkgs/applications/audio/avldrums-lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/avldrums-lv2/default.nix
@@ -2,17 +2,17 @@
 
 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;
   };
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 3e9a2d380e27..0cff19819c01 100644
--- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -1,16 +1,25 @@
-{ fetchurl, bitwig-studio1,
-  pulseaudio }:
+{ fetchurl, bitwig-studio1, pulseaudio, xorg }:
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "0k25p1j4kgnhm7p90qp1cz79xddgi6nh1nx1y5wz42x8qrpxya0s";
+    sha256 = "1mgyyl1mr8hmzn3qdmg77km6sk58hyd0gsqr9jksh0a8p6hj24pk";
   };
 
+  buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];
+
   runtimeDependencies = [
     pulseaudio
   ];
+
+  installPhase = ''
+    ${oldAttrs.installPhase}
+
+    # recover commercial jre
+    rm -f $out/libexec/lib/jre
+    cp -r opt/bitwig-studio/lib/jre $out/libexec/lib
+  '';
 })
diff --git a/nixpkgs/pkgs/applications/audio/bsequencer/default.nix b/nixpkgs/pkgs/applications/audio/bsequencer/default.nix
new file mode 100644
index 000000000000..b91554f5716e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/bsequencer/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, xorg, cairo, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "BSEQuencer";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 cairo lv2
+  ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sjaehn/BSEQuencer;
+    description = "Multi channel MIDI step sequencer LV2 plugin";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/bshapr/default.nix b/nixpkgs/pkgs/applications/audio/bshapr/default.nix
new file mode 100644
index 000000000000..732a8cf1ce2f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/bshapr/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, xorg, cairo, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "BShapr";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mi8f0svq1h9cmmxyskcazr5x2q4dls3j9jc6ahi5rlk7i0bpa74";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 cairo lv2
+  ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sjaehn/BShapr;
+    description = "Beat / envelope shaper LV2 plugin";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/bslizr/default.nix b/nixpkgs/pkgs/applications/audio/bslizr/default.nix
new file mode 100644
index 000000000000..3273d7de68c2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/bslizr/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, xorg, cairo, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "BSlizr";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "0q92ygz17iiriwzqylmaxd5ml2bhqy3n6c3f7g71n4hn9z3bl3s1";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 cairo lv2
+  ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sjaehn/BSlizr;
+    description = "Sequenced audio slicing effect LV2 plugin (step sequencer effect)";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/cadence/default.nix b/nixpkgs/pkgs/applications/audio/cadence/default.nix
index 87efa6fb6b66..52f5a6540e8b 100644
--- a/nixpkgs/pkgs/applications/audio/cadence/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cadence/default.nix
@@ -1,4 +1,7 @@
 { stdenv
+, mkDerivation
+, lib
+, fetchpatch
 , fetchzip
 , pkgconfig
 , qtbase
@@ -6,74 +9,73 @@
 , python3Packages
 }:
 
- stdenv.mkDerivation rec {
-  version = "0.9.0";
+ mkDerivation rec {
+  version = "0.9.1";
   pname = "cadence";
 
   src = fetchzip {
     url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz";
-    sha256 = "08vcggypkdfr70v49innahs5s11hi222dhhnm5wcqzdgksphqzwx";
+    sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20";
   };
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
-  buildInputs = [ qtbase ];
+  patches = [
+    # Fix installation without DESTDIR
+    (fetchpatch {
+      url = "https://github.com/falkTX/Cadence/commit/1fd3275e7daf4b75f59ef1f85a9e2e93bd5c0731.patch";
+      sha256 = "0q791jsh8vmjg678dzhbp1ykq8xrrlxl1mbgs3g8if1ccj210vd8";
+    })
+  ];
 
-  makeFlags = ''
-    PREFIX=""
-    DESTDIR=$(out)
-  '';
+  nativeBuildInputs = [
+    pkgconfig
+  ];
 
-  propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit ];
+  buildInputs = [
+    qtbase
+  ];
 
-  postInstall = ''
-    # replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise
-    rm $out/bin/cadence
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence.py"
-    rm $out/bin/claudia
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/claudia.py"
-    rm $out/bin/catarina
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/catarina \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/catarina.py"
-    rm $out/bin/catia
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/catia \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/catia.py"
-    rm $out/bin/cadence-jacksettings
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-jacksettings \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/jacksettings.py"
-    rm $out/bin/cadence-aloop-daemon
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-aloop-daemon \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence_aloop_daemon.py"
-    rm $out/bin/cadence-logs
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-logs \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/logs.py"
-    rm $out/bin/cadence-render
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-render \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/render.py"
-    rm $out/bin/claudia-launcher
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia-launcher \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/claudia_launcher.py"
-    rm $out/bin/cadence-session-start
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-session-start \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence_session_start.py"
-  '';
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "SYSCONFDIR=${placeholder "out"}/etc"
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pyqt5_with_qtwebkit
+  ];
+
+  dontWrapQtApps = true;
+
+  # Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise.
+  preFixup = let
+    outRef = placeholder "out";
+    prefix = "${outRef}/share/cadence/src";
+    scriptAndSource = lib.mapAttrs' (script: source:
+      lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
+    ) {
+      "cadence" = "cadence.py";
+      "claudia" = "claudia.py";
+      "catarina" = "catarina.py";
+      "catia" = "catia.py";
+      "cadence-jacksettings" = "jacksettings.py";
+      "cadence-aloop-daemon" = "cadence_aloop_daemon.py";
+      "cadence-logs" = "logs.py";
+      "cadence-render" = "render.py";
+      "claudia-launcher" = "claudia_launcher.py";
+      "cadence-session-start" = "cadence_session_start.py";
+    };
+  in lib.mapAttrsToList (script: source: ''
+    rm -f ${script}
+    makeWrapper ${python3Packages.python.interpreter} ${script} \
+      --set PYTHONPATH "$PYTHONPATH:${outRef}/share/cadence" \
+      ''${qtWrapperArgs[@]} \
+      --add-flags "-O ${source}"
+  '') scriptAndSource;
 
   meta = {
     homepage = https://github.com/falkTX/Cadence/;
     description = "Collection of tools useful for audio production";
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ genesis ];
+    maintainers = with stdenv.lib.maintainers; [ genesis worldofpeace ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/cantata/default.nix b/nixpkgs/pkgs/applications/audio/cantata/default.nix
index bdbf6a45a6d4..876889416daa 100644
--- a/nixpkgs/pkgs/applications/audio/cantata/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cantata/default.nix
@@ -80,7 +80,7 @@ in mkDerivation {
     homepage    = https://github.com/cdrummond/cantata;
     description = "A graphical client for MPD";
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg ];
     # Technically Cantata can run on Windows so if someone wants to
     # bother figuring that one out, be my guest.
     platforms   = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/audio/cd-discid/default.nix b/nixpkgs/pkgs/applications/audio/cd-discid/default.nix
index 76f76c1e750d..864e04d88f3c 100644
--- a/nixpkgs/pkgs/applications/audio/cd-discid/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cd-discid/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz";
   };
 
-  installFlags = "PREFIX=$(out) INSTALL=install";
+  installFlags = [ "PREFIX=$(out)" "INSTALL=install" ];
 
   buildInputs = []
     ++ stdenv.lib.optional stdenv.isDarwin IOKit;
diff --git a/nixpkgs/pkgs/applications/audio/chuck/default.nix b/nixpkgs/pkgs/applications/audio/chuck/default.nix
index 692485d0dcfd..04b31ae2c0b3 100644
--- a/nixpkgs/pkgs/applications/audio/chuck/default.nix
+++ b/nixpkgs/pkgs/applications/audio/chuck/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./darwin-limits.patch ];
 
-  NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-Wno-missing-sysroot";
-  NIX_LDFLAGS = lib.optional stdenv.isDarwin "-framework MultitouchSupport";
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-missing-sysroot";
+  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework MultitouchSupport";
 
   postPatch = ''
     substituteInPlace src/core/makefile.x/makefile.osx \
diff --git a/nixpkgs/pkgs/applications/audio/clementine/default.nix b/nixpkgs/pkgs/applications/audio/clementine/default.nix
index f48a429b3896..3fdf98da325c 100644
--- a/nixpkgs/pkgs/applications/audio/clementine/default.nix
+++ b/nixpkgs/pkgs/applications/audio/clementine/default.nix
@@ -28,6 +28,11 @@ let
       url = "https://github.com/clementine-player/Clementine/pull/5630.patch";
       sha256 = "0px7xp1m4nvrncx8sga1qlxppk562wrk2qqk19iiry84nxg20mk4";
     })
+    (fetchpatch {
+      # Fixes compilation with chromaprint >= 1.4
+      url = "https://github.com/clementine-player/Clementine/commit/d3ea0c8482dfd3f6264a30cfceb456076d76e6cd.patch";
+      sha256 = "1ifrs5aqdzw16jbnf0z1ilir20chdnr9k5n21r99miq9hzjpbh12";
+    })
   ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -72,7 +77,7 @@ let
     inherit src patches nativeBuildInputs postPatch;
 
     # gst_plugins needed for setup-hooks
-    buildInputs = buildInputs ++ [ makeWrapper gst_plugins ];
+    buildInputs = buildInputs ++ [ makeWrapper ] ++ gst_plugins;
 
     cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
 
diff --git a/nixpkgs/pkgs/applications/audio/cmus/default.nix b/nixpkgs/pkgs/applications/audio/cmus/default.nix
index b88951c0fc5b..023e35bd7870 100644
--- a/nixpkgs/pkgs/applications/audio/cmus/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cmus/default.nix
@@ -122,7 +122,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ]
     ++ stdenv.lib.optional stdenv.cc.isClang clangGCC
     ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv CoreAudio ]
-    ++ concatMap (a: a.deps) opts;
+    ++ flatten (concatMap (a: a.deps) opts);
 
   makeFlags = [ "LD=$(CC)" ];
 
diff --git a/nixpkgs/pkgs/applications/audio/denemo/default.nix b/nixpkgs/pkgs/applications/audio/denemo/default.nix
index 331e3fb96989..f3adec4fece2 100644
--- a/nixpkgs/pkgs/applications/audio/denemo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/distrho/default.nix b/nixpkgs/pkgs/applications/audio/distrho/default.nix
index 054fc758d645..0d2858713eba 100644
--- a/nixpkgs/pkgs/applications/audio/distrho/default.nix
+++ b/nixpkgs/pkgs/applications/audio/distrho/default.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
     libXinerama libXrender ladspa-sdk
   ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = http://distrho.sourceforge.net;
diff --git a/nixpkgs/pkgs/applications/audio/drumgizmo/default.nix b/nixpkgs/pkgs/applications/audio/drumgizmo/default.nix
index 11b214f6bb38..2581f223c91d 100644
--- a/nixpkgs/pkgs/applications/audio/drumgizmo/default.nix
+++ b/nixpkgs/pkgs/applications/audio/drumgizmo/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.17";
+  version = "0.9.18.1";
   pname = "drumgizmo";
 
   src = fetchurl {
     url = "https://www.drumgizmo.org/releases/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "177c27kz9srds7a659zz9yhp58z0zsk0ydwww7l3jkjlylm1p8x1";
+    sha256 = "0bpbkzcr3znbwfdk79c14n5k5hh80iqlk2nc03q95vhimbadk8k7";
   };
 
   configureFlags = [ "--enable-lv2" ];
diff --git a/nixpkgs/pkgs/applications/audio/drumkv1/default.nix b/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
index 8f1f79169d7b..b926ff09d22b 100644
--- a/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
+{ mkDerivation, lib, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "drumkv1";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
-    sha256 = "02sa29fdjgwcf7izly685gxvga3bxyyqvskvfiisgm2xg3h9r983";
+    sha256 = "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An old-school drum-kit sampler synthesizer with stereo fx";
     homepage = http://drumkv1.sourceforge.net/;
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/applications/audio/easytag/default.nix b/nixpkgs/pkgs/applications/audio/easytag/default.nix
index c6fb7c67d584..4c2b97e727f4 100644
--- a/nixpkgs/pkgs/applications/audio/easytag/default.nix
+++ b/nixpkgs/pkgs/applications/audio/easytag/default.nix
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
     description = "View and edit tags for various audio files";
     homepage = https://wiki.gnome.org/Apps/EasyTAG;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/elisa/default.nix b/nixpkgs/pkgs/applications/audio/elisa/default.nix
index 37c95430627f..fdfca08c0b07 100644
--- a/nixpkgs/pkgs/applications/audio/elisa/default.nix
+++ b/nixpkgs/pkgs/applications/audio/elisa/default.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   pname = "elisa";
-  version = "0.4.2";
+  version = "19.12.0";
 
   src = fetchFromGitHub {
     owner  = "KDE";
     repo   = "elisa";
     rev    = "v${version}";
-    sha256 = "0q098zaajwbpkrarrsdzpjhpsq2nxkqaxwzhr2gjlg08j9vqkpfm";
+    sha256 = "1939xwhy1s502pai63vz56hnnsl3qsb6arhrlg5bw6bwsv88blac";
   };
 
   buildInputs = [ vlc ];
diff --git a/nixpkgs/pkgs/applications/audio/ensemble-chorus/default.nix b/nixpkgs/pkgs/applications/audio/ensemble-chorus/default.nix
new file mode 100644
index 000000000000..5940203d04d1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/eq10q/default.nix b/nixpkgs/pkgs/applications/audio/eq10q/default.nix
index 0308fad831d0..b4ad15053204 100644
--- a/nixpkgs/pkgs/applications/audio/eq10q/default.nix
+++ b/nixpkgs/pkgs/applications/audio/eq10q/default.nix
@@ -19,9 +19,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  installFlags = ''
-    DESTDIR=$(out)
-  '';
+  installFlags = [ "DESTDIR=$(out)" ];
 
   fixupPhase = ''
     cp -r $out/var/empty/local/lib $out
diff --git a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
index 043d5b9d2d3a..32cec811d002 100644
--- a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
+++ b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "espeak-ng";
-  version = "1.49.2";
+  version = "1.50";
 
   src = fetchFromGitHub {
     owner = "espeak-ng";
     repo = "espeak-ng";
     rev = version;
-    sha256 = "17bbl3zi8214iaaj8kjnancjvmvizwybg3sg17qjq4mf5c6xfg2c";
+    sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
   };
 
   nativeBuildInputs = [ autoconf automake which libtool pkgconfig ronn ];
diff --git a/nixpkgs/pkgs/applications/audio/flacon/default.nix b/nixpkgs/pkgs/applications/audio/flacon/default.nix
index 02317fee15f1..c1ccd6add78a 100644
--- a/nixpkgs/pkgs/applications/audio/flacon/default.nix
+++ b/nixpkgs/pkgs/applications/audio/flacon/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flacon";
-  version = "5.4.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "flacon";
     repo = "flacon";
     rev = "v${version}";
-    sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93";
+    sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd";
   };
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = https://flacon.github.io/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ndowens nico202 ];
+    maintainers = with maintainers; [ nico202 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
index bb86787a3cf0..8e2895bf8478 100644
--- a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
@@ -11,8 +11,8 @@ let
       sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
     };
     "2" = {
-      fluidsynthVersion = "2.0.5";
-      sha256 = "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y";
+      fluidsynthVersion = "2.0.6";
+      sha256 = "0nas9pp9r8rnziznxm65x2yzf1ryg98zr3946g0br3s38sjf8l3a";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/audio/fmit/default.nix b/nixpkgs/pkgs/applications/audio/fmit/default.nix
index 680694aa403d..ee45217e4909 100644
--- a/nixpkgs/pkgs/applications/audio/fmit/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fmit/default.nix
@@ -11,13 +11,13 @@ with stdenv.lib;
 
 mkDerivation rec {
   pname = "fmit";
-  version = "1.2.6";
+  version = "1.2.13";
 
   src = fetchFromGitHub {
     owner = "gillesdegottex";
     repo = "fmit";
     rev = "v${version}";
-    sha256 = "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz";
+    sha256 = "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6";
   };
 
   nativeBuildInputs = [ qmake itstool wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/audio/fmsynth/default.nix b/nixpkgs/pkgs/applications/audio/fmsynth/default.nix
index 5e95d7179689..248967e06e6f 100644
--- a/nixpkgs/pkgs/applications/audio/fmsynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fmsynth/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   buildPhase = ''
     cd lv2
     substituteInPlace GNUmakefile --replace "/usr/lib/lv2" "$out/lib/lv2"
-    make
+    make  SIMD=0
   '';
 
   preInstall = "mkdir -p $out/lib/lv2";
diff --git a/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix b/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix
index b17561e1567a..e514032f44e2 100644
--- a/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix
+++ b/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libjack2 gtk2 lv2 faust ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # remove lv2 until https://github.com/sampov2/foo-yc20/issues/6 is resolved
   postInstallFixup = "rm -rf $out/lib/lv2";
diff --git a/nixpkgs/pkgs/applications/audio/freewheeling/default.nix b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
index a2588093309d..34494871f29c 100644
--- a/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
+++ b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
       configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
     }))
   ];
-  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ];
+  NIX_CFLAGS_COMPILE = toString
+    (makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]);
 
   hardeningDisable = [ "format" ];
 
diff --git a/nixpkgs/pkgs/applications/audio/friture/default.nix b/nixpkgs/pkgs/applications/audio/friture/default.nix
new file mode 100644
index 000000000000..eae4b6516858
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/friture/default.nix
@@ -0,0 +1,45 @@
+{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
+
+let
+  py = python3Packages;
+in py.buildPythonApplication rec {
+  pname = "friture";
+  version = "0.37";
+
+  src = fetchFromGitHub {
+    owner = "tlecomte";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ivy5qfd90w1s1icsphvvdnnqz563v3fhg5pws2zn4483cgnzc2y";
+  };
+
+  # module imports scipy.misc.factorial, but it has been removed since scipy
+  # 1.3.0; use scipy.special.factorial instead
+  patches = [ ./factorial.patch ];
+
+  nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
+    [ wrapQtAppsHook ];
+
+  propagatedBuildInputs = with py; [
+    sounddevice
+    pyopengl
+    docutils
+    numpy
+    pyqt5
+    appdirs
+    pyrr
+  ];
+
+  postFixup = ''
+    wrapQtApp $out/bin/friture
+    wrapQtApp $out/bin/.friture-wrapped
+  '';
+
+  meta = with lib; {
+    description = "A real-time audio analyzer";
+    homepage = "http://friture.org/";
+    license = licenses.gpl3;
+    platforms = platforms.linux; # fails on Darwin
+    maintainers = [ maintainers.laikq ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/friture/factorial.patch b/nixpkgs/pkgs/applications/audio/friture/factorial.patch
new file mode 100644
index 000000000000..de053802932d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/friture/factorial.patch
@@ -0,0 +1,13 @@
+diff --git a/friture/filter_design.py b/friture/filter_design.py
+index 9876c43..1cc749a 100644
+--- a/friture/filter_design.py
++++ b/friture/filter_design.py
+@@ -2,7 +2,7 @@
+ from numpy import pi, exp, arange, cos, sin, sqrt, zeros, ones, log, arange, set_printoptions
+ # the three following lines are a workaround for a bug with scipy and py2exe
+ # together. See http://www.pyinstaller.org/ticket/83 for reference.
+-from scipy.misc import factorial
++from scipy.special import factorial
+ import scipy
+ scipy.factorial = factorial
+ 
diff --git a/nixpkgs/pkgs/applications/audio/giada/default.nix b/nixpkgs/pkgs/applications/audio/giada/default.nix
new file mode 100644
index 000000000000..8907011c16fb
--- /dev/null
+++ b/nixpkgs/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.16.0";
+
+  src = fetchFromGitHub {
+    owner = "monocasual";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lbxqa4kwzjdd79whrjgh8li453z4ckkjx4s4qzmrv7aqa2xmfsf";
+  };
+
+  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/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix b/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix
index eeafdc80344d..7a44ebe67694 100644
--- a/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/gpodder/default.nix b/nixpkgs/pkgs/applications/audio/gpodder/default.nix
index 656018907a5f..b972aae7de80 100644
--- a/nixpkgs/pkgs/applications/audio/gpodder/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gpodder/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, python3, python3Packages, intltool
 , glibcLocales, gnome3, gtk3, wrapGAppsHook
-, ipodSupport ? false, libgpod, gobject-introspection
+, gobject-introspection
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gpodder";
-  version = "3.10.9";
+  version = "3.10.11";
   format = "other";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1sdmr1sq1d4p492zp9kq3npl7p56yr0pr470z9r6xxcylax5mhfq";
+    sha256 = "15f5z3cnch9lpzbz73l4wjykv9n74y8djz5db53la2ql4ihaxfz9";
   };
 
   patches = [
@@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec {
     podcastparser
     html5lib
     gtk3
-  ] ++ stdenv.lib.optional ipodSupport libgpod;
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
diff --git a/nixpkgs/pkgs/applications/audio/gradio/default.nix b/nixpkgs/pkgs/applications/audio/gradio/default.nix
index c4a8f2fce026..487b0a730d83 100644
--- a/nixpkgs/pkgs/applications/audio/gradio/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gradio/default.nix
@@ -16,7 +16,7 @@
 , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
 }:
 let
-  version = "7.2";
+  version = "7.3";
 
 in stdenv.mkDerivation {
   pname = "gradio";
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
     owner = "haecker-felix";
     repo = "gradio";
     rev = "v${version}";
-    sha256 = "0c4vlrfl0ljkiwarpwa8wcfmmihh6a5j4pi4yr0qshyl9xxvxiv3";
+    sha256 = "00982dynl36lpsrx3mkd2a479zsrc8jvwfb8i7pi6w7fzzd8n8bl";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/gxmatcheq-lv2/default.nix b/nixpkgs/pkgs/applications/audio/gxmatcheq-lv2/default.nix
new file mode 100644
index 000000000000..1d5579d74c05
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/helm/default.nix b/nixpkgs/pkgs/applications/audio/helm/default.nix
index 64de722afe9e..428490e119a6 100644
--- a/nixpkgs/pkgs/applications/audio/helm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/i-score/default.nix b/nixpkgs/pkgs/applications/audio/i-score/default.nix
index 2cc39e649434..f3928499413c 100644
--- a/nixpkgs/pkgs/applications/audio/i-score/default.nix
+++ b/nixpkgs/pkgs/applications/audio/i-score/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
+    export CMAKE_PREFIX_PATH="''${CMAKE_PREFIX_PATH-}:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
   '';
 
   postInstall = ''rm $out/bin/i-score.sh'';
diff --git a/nixpkgs/pkgs/applications/audio/jack-oscrolloscope/default.nix b/nixpkgs/pkgs/applications/audio/jack-oscrolloscope/default.nix
index d31bc981e0cb..5bad5453504f 100644
--- a/nixpkgs/pkgs/applications/audio/jack-oscrolloscope/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/jack-rack/default.nix b/nixpkgs/pkgs/applications/audio/jack-rack/default.nix
index 26a717dbd6e4..41b40223b87f 100644
--- a/nixpkgs/pkgs/applications/audio/jack-rack/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jack-rack/default.nix
@@ -7,11 +7,7 @@ stdenv.mkDerivation rec {
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libjack2 ladspaH gtk2 alsaLib libxml2 librdf ];
-  NIX_LDFLAGS = [
-    "-ldl"
-    "-lm"
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-ldl -lm -lpthread";
 
   meta = {
     description = ''An effects "rack" for the JACK low latency audio API'';
diff --git a/nixpkgs/pkgs/applications/audio/jamin/default.nix b/nixpkgs/pkgs/applications/audio/jamin/default.nix
index 3511a08682c3..818630585cfd 100644
--- a/nixpkgs/pkgs/applications/audio/jamin/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jamin/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 makeWrapper ]
     ++ (with perlPackages; [ perl XMLParser ]);
 
-  NIX_LDFLAGS = [ "-ldl" ];
+  NIX_LDFLAGS = "-ldl";
 
   postInstall = ''
     wrapProgram $out/bin/jamin --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa
diff --git a/nixpkgs/pkgs/applications/audio/kid3/default.nix b/nixpkgs/pkgs/applications/audio/kid3/default.nix
index dfb07c4f4568..5571b12f3ef6 100644
--- a/nixpkgs/pkgs/applications/audio/kid3/default.nix
+++ b/nixpkgs/pkgs/applications/audio/kid3/default.nix
@@ -9,11 +9,11 @@
 stdenv.mkDerivation rec {
 
   pname = "kid3";
-  version = "3.7.1";
+  version = "3.8.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8";
+    sha256 = "1d2lr500dx7gnxw2vrvpbhadpn313ly3zyp178864z26dnfkjv8x";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/audio/lash/default.nix b/nixpkgs/pkgs/applications/audio/lash/default.nix
index e96972b0d1b1..0dbe60b6a615 100644
--- a/nixpkgs/pkgs/applications/audio/lash/default.nix
+++ b/nixpkgs/pkgs/applications/audio/lash/default.nix
@@ -18,11 +18,7 @@ stdenv.mkDerivation  rec {
   buildInputs = [ alsaLib gtk2 libjack2 libxml2 makeWrapper
     pkgconfig readline ];
   propagatedBuildInputs = [ libuuid ];
-  NIX_LDFLAGS = [
-    "-lm"
-    "-lpthread"
-    "-luuid"
-  ];
+  NIX_LDFLAGS = "-lm -lpthread -luuid";
 
   postInstall = ''
     for i in lash_control lash_panel
diff --git a/nixpkgs/pkgs/applications/audio/linuxsampler/default.nix b/nixpkgs/pkgs/applications/audio/linuxsampler/default.nix
index 26fc2408d8ac..f13f10d15e82 100644
--- a/nixpkgs/pkgs/applications/audio/linuxsampler/default.nix
+++ b/nixpkgs/pkgs/applications/audio/linuxsampler/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "linuxsampler";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2";
-    sha256 = "0fdxpw7jjfi058l95131d6d8538h05z7n94l60i6mhp9xbplj2jf";
+    sha256 = "1gijf50x5xbpya5dj3v2mzj7azx4qk9p012csgddp73f0qi0n190";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/audio/lmms/default.nix b/nixpkgs/pkgs/applications/audio/lmms/default.nix
index d22065eb9fe0..99503fc3942b 100644
--- a/nixpkgs/pkgs/applications/audio/lmms/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/lollypop/default.nix b/nixpkgs/pkgs/applications/audio/lollypop/default.nix
index 73d8d350f38c..2d2062696d77 100644
--- a/nixpkgs/pkgs/applications/audio/lollypop/default.nix
+++ b/nixpkgs/pkgs/applications/audio/lollypop/default.nix
@@ -11,7 +11,6 @@
 , appstream-glib
 , desktop-file-utils
 , totem-pl-parser
-, hicolor-icon-theme
 , gobject-introspection
 , wrapGAppsHook
 , lastFMSupport ? true
@@ -20,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.1.4.16";
+  version = "1.2.16";
 
   format = "other";
   doCheck = false;
@@ -29,7 +28,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "1azfxc1vc1j4ph0zrfsgz2gac1vwmbj65j6wjlxx3nr8kia4mccl";
+    sha256 = "0rl4a5npjh5sm3kih11cs2j7ik894nlygllbw4j5pn9n9v66x51w";
   };
 
   nativeBuildInputs = [
@@ -43,7 +42,6 @@ python3.pkgs.buildPythonApplication rec  {
   ];
 
   buildInputs = with gst_all_1; [
-    gobject-introspection
     gst-libav
     gst-plugins-bad
     gst-plugins-base
@@ -51,7 +49,6 @@ python3.pkgs.buildPythonApplication rec  {
     gst-plugins-ugly
     gstreamer
     gtk3
-    hicolor-icon-theme
     libsoup
     totem-pl-parser
   ] ++ lib.optional lastFMSupport libsecret;
@@ -71,25 +68,26 @@ python3.pkgs.buildPythonApplication rec  {
     patchShebangs meson_post_install.py
   '';
 
-  preFixup = ''
-    buildPythonPath "$out $propagatedBuildInputs"
-    patchPythonScript "$out/libexec/lollypop-sp"
+  postFixup = ''
+    wrapPythonProgramsIn $out/libexec "$out $propagatedBuildInputs"
   '';
 
+  strictDeps = false;
+
   # Produce only one wrapper using wrap-python passing
   # gappsWrapperArgs to wrap-python additional wrapper
   # argument
   dontWrapGApps = true;
 
-  makeWrapperArgs = [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 
   meta = with lib; {
+    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     description = "A modern music player for GNOME";
     homepage = https://wiki.gnome.org/Apps/Lollypop;
     license = licenses.gpl3Plus;
-    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
index f3abfbca145d..b146fcecc8ec 100644
--- a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
+++ b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
@@ -1,39 +1,27 @@
 { stdenv, fetchFromGitHub, pkgconfig, makeWrapper
 , libsndfile, jack2Full
 , libGLU, libGL, lv2, cairo
-, ladspaH, php, expat }:
+, ladspaH, php }:
 
 stdenv.mkDerivation rec {
   pname = "lsp-plugins";
-  version = "1.1.9";
+  version = "1.1.13";
 
   src = fetchFromGitHub {
     owner = "sadko4u";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1dzpl7f354rwp37bkr9h2yyafykcdn6m1qqfshqg77fj0pcsw8r2";
+    sha256 = "00mhrr873kgcnqy3q0yi1r5zacfcvz7fqpzsmfhw5d095jm970al";
   };
 
-  nativeBuildInputs = [ pkgconfig php expat ];
-  buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH makeWrapper ];
+  nativeBuildInputs = [ pkgconfig php makeWrapper ];
+  buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ];
 
   makeFlags = [
-    "BIN_PATH=$(out)/bin"
-    "LIB_PATH=$(out)/lib"
-    "DOC_PATH=$(out)/share/doc"
+    "PREFIX=${placeholder ''out''}"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-DLSP_NO_EXPERIMENTAL" ];
-
-  patchPhase = ''
-    runHook prePatch
-    substituteInPlace Makefile --replace "/usr/lib" "$out/lib"
-    substituteInPlace ./include/container/jack/main.h --replace "/usr/lib" "$out/lib"
-    substituteInPlace ./include/container/vst/main.h --replace "/usr/lib" "$out/lib"
-    # for https://github.com/sadko4u/lsp-plugins/issues/7#issuecomment-426561549 :
-    sed -i '/X11__NET_WM_WINDOW_TYPE_DOCK;/d' ./src/ui/ws/x11/X11Window.cpp
-    runHook postPatch
-  '';
+  NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL";
 
   doCheck = true;
 
@@ -45,7 +33,7 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  buildFlags = "release";
+  buildFlags = [ "release" ];
 
   meta = with stdenv.lib;
     { description = "Collection of open-source audio plugins";
diff --git a/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix b/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix
index 901be5a23d08..61f2bc33f7f7 100644
--- a/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix b/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix
index a2368017cc1e..12383dcbbda4 100644
--- a/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/mixxx/default.nix b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
index 5cf9b1b8ab70..82db91dcb077 100644
--- a/nixpkgs/pkgs/applications/audio/mixxx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = "release-${version}";
-    sha256 = "0dmkvcsgq7abxqd4wms8c4w0mr5c53z7n5r8jgzp4swz9nmfjpfg";
+    sha256 = "1h7q25fv62c5m74d4cn1m6mpanmqpbl2wqbch4qvn488jb2jw1dv";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/moc/default.nix b/nixpkgs/pkgs/applications/audio/moc/default.nix
index 89d062d584e5..5615f4cace3d 100644
--- a/nixpkgs/pkgs/applications/audio/moc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/moc/default.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
     ++ opt midiSupport timidity
     ++ opt modplugSupport libmodplug
     ++ opt mp3Support libmad
-    ++ opt musepackSupport [ libmpc libmpcdec taglib ]
+    ++ stdenv.lib.optionals musepackSupport [ libmpc libmpcdec taglib ]
     ++ opt vorbisSupport libvorbis
     ++ opt speexSupport speex
     ++ opt (ffmpegSupport && !withffmpeg4) ffmpeg
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/default.nix b/nixpkgs/pkgs/applications/audio/mopidy/default.nix
index a5248e2a89ef..2df54fa7fb46 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/default.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy";
-  version = "2.2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
     rev = "v${version}";
-    sha256 = "0i9rpnlmgrnkgmr9hyx9sky9gzj2cjhay84a0yaijwcb9nmr8nnc";
+    sha256 = "1qdflxr0an6l2m3j90h55bzyj7rjlkkwmxx945hwv8xi472rcgdj";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
index 90b81e1163d8..88cdde2ceb2a 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.40.0";
+  version = "3.43.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1cn68zmyvig114dsw7vhx761v9c1za3wnbq4y2z0f0cbl958n49v";
+    sha256 = "1qg9xyjf27dp0810h4kdliyfb8r3kvi37lq8r93d01xwfphdzs05";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mp3gain/default.nix b/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
index 907d4b8be168..233aebfa1470 100644
--- a/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl, unzip, mpg123 }:
 
 stdenv.mkDerivation {
-  name = "mp3gain-1.5.2";
+  name = "mp3gain-1.6.2";
   src = fetchurl {
-    url = "mirror://sourceforge/mp3gain/mp3gain-1_5_2-src.zip";
-    sha256 = "1jkgry59m8cnnfq05b9y1h4x4wpy3iq8j68slb9qffwa3ajcgbfv";
+    url = "mirror://sourceforge/mp3gain/mp3gain-1_6_2-src.zip";
+    sha256 = "0varr6y7k8zarr56b42r0ad9g3brhn5vv3xjg1c0v19jxwr4gh2w";
   };
 
-  buildInputs = [ unzip ];
+  buildInputs = [ unzip mpg123 ];
 
   sourceRoot = ".";
 
diff --git a/nixpkgs/pkgs/applications/audio/mpc/default.nix b/nixpkgs/pkgs/applications/audio/mpc/default.nix
index b13e1cc037a0..1e8d73ce560f 100644
--- a/nixpkgs/pkgs/applications/audio/mpc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpc/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mpd_clientlib }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "mpc";
-  version = "0.28";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "mpc";
     rev    = "v${version}";
-    sha256 = "1g8i4q5xsqdhidyjpvj6hzbhxacv27cb47ndv9k68whd80c5f9n9";
+    sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
   };
 
-  buildInputs = [ mpd_clientlib ];
+  buildInputs = [ mpd_clientlib ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ meson ninja pkgconfig sphinx ];
 
   meta = with stdenv.lib; {
     description = "A minimalist command line interface to MPD";
diff --git a/nixpkgs/pkgs/applications/audio/mpg123/default.nix b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
index b201bd65caef..6c4b9a431768 100644
--- a/nixpkgs/pkgs/applications/audio/mpg123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.25.11";
+  name = "mpg123-1.25.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
-    sha256 = "1cpal2zsm3zgi6f48vvwpg6wgkv42ndi7lk3zsg7sz52z83k61nz";
+    sha256 = "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/nixpkgs/pkgs/applications/audio/mpg321/default.nix b/nixpkgs/pkgs/applications/audio/mpg321/default.nix
index 65dfe3484b66..08fe9b4f9af1 100644
--- a/nixpkgs/pkgs/applications/audio/mpg321/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpg321/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libao, libmad, libid3tag, zlib, alsaLib
+{stdenv, fetchurl, fetchpatch, libao, libmad, libid3tag, zlib, alsaLib
 # Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
 # If null, it will use the libao system default.
 , defaultAudio ? null
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-7263.patch";
+      url = "https://sources.debian.org/data/main/m/mpg321/0.3.2-3/debian/patches/handle_illegal_bitrate_value.patch";
+      sha256 = "15simp5fjvm9b024ryfh441rkh2d5bcrizqkzlrh07n9sm7fkw6x";
+    })
+  ];
+
   hardeningDisable = [ "format" ];
 
   configureFlags =
@@ -23,7 +31,7 @@ stdenv.mkDerivation rec {
   buildInputs = [libao libid3tag libmad zlib]
     ++ stdenv.lib.optional stdenv.isLinux alsaLib;
 
-  installTargets = "install install-man";
+  installTargets = [ "install" "install-man" ];
 
   meta = with stdenv.lib; {
     description = "Command-line MP3 player";
diff --git a/nixpkgs/pkgs/applications/audio/muse/default.nix b/nixpkgs/pkgs/applications/audio/muse/default.nix
index 02b1d8ea5111..372c8faf773d 100644
--- a/nixpkgs/pkgs/applications/audio/muse/default.nix
+++ b/nixpkgs/pkgs/applications/audio/muse/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   version = "3.1pre1";
 
   meta = with stdenv.lib; {
-    homepage = http://www.muse-sequencer.org;
+    homepage = "https://www.muse-sequencer.org/";
     description = "MIDI/Audio sequencer with recording and editing capabilities";
     longDescription = ''
       MusE is a MIDI/Audio sequencer with recording and editing capabilities
diff --git a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
index d89b61aa21f4..58eb5462ef84 100644
--- a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
@@ -1,25 +1,32 @@
 { 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";
-  version = "0.34";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "0ffby37qdg251c1w0vl6rmd13akbydnf12468z4vrl0ybwfd7fc4";
+    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/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
new file mode 100644
index 000000000000..136f6fc1427d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
@@ -0,0 +1,43 @@
+{ lib, fetchFromGitHub, rustPlatform, pkg-config, ncurses, openssl
+, withALSA ? true, alsaLib ? null
+, withPulseAudio ? false, libpulseaudio ? null
+, withPortAudio ? false, portaudio ? null
+}:
+
+let
+  features = [ "cursive/pancurses-backend" ]
+    ++ lib.optional withALSA "alsa_backend"
+    ++ lib.optional withPulseAudio "pulseaudio_backend"
+    ++ lib.optional withPortAudio "portaudio_backend";
+in
+rustPlatform.buildRustPackage rec {
+  pname = "ncspot";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "hrkfdn";
+    repo = "ncspot";
+    rev = "v${version}";
+    sha256 = "0ldisr45w6ys1j62qv99ssqfg5q9dwrrzxh2maggyrx1zqdlsk6m";
+  };
+
+  cargoSha256 = "0k765hinqxfm30li1z66m1chsv69v6hiz109q2zlkxzg937qbnjh";
+
+  cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ ncurses openssl ]
+    ++ lib.optional withALSA alsaLib
+    ++ lib.optional withPulseAudio libpulseaudio
+    ++ lib.optional withPortAudio portaudio;
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes";
+    homepage = "https://github.com/hrkfdn/ncspot";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/netease-cloud-music/default.nix b/nixpkgs/pkgs/applications/audio/netease-cloud-music/default.nix
new file mode 100644
index 000000000000..76dcba304a32
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/netease-cloud-music/default.nix
@@ -0,0 +1,82 @@
+{ stdenv, lib, fontconfig, zlib, libGL, glib, pango
+, gdk-pixbuf, freetype, atk, cairo, libsForQt5, xorg
+, sqlite, taglib, nss, nspr, cups, dbus, alsaLib
+, libpulseaudio, deepin, qt5, harfbuzz, p11-kit
+, libgpgerror, libudev0-shim, makeWrapper, dpkg, fetchurl }:
+let
+  rpath = lib.makeLibraryPath [
+    fontconfig.lib
+    zlib
+    stdenv.cc.cc.lib
+    libGL
+    glib
+    pango
+    gdk-pixbuf
+    freetype
+    atk
+    cairo
+    libsForQt5.vlc
+    sqlite
+    taglib
+    nss
+    nspr
+    cups.lib
+    dbus.lib
+    alsaLib
+    libpulseaudio
+    xorg.libX11
+    xorg.libXext
+    xorg.libXtst
+    xorg.libXdamage
+    xorg.libXScrnSaver
+    xorg.libxcb
+    xorg.libXi
+    deepin.qcef
+    qt5.qtwebchannel
+    qt5.qtbase
+    qt5.qtx11extras
+    qt5.qtdeclarative
+    harfbuzz
+    p11-kit
+    libgpgerror
+  ];   
+
+  runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
+
+in stdenv.mkDerivation rec {
+  pname = "netease-cloud-music";
+  version = "1.2.0";
+  src = fetchurl {
+    url    = "http://d1.music.126.net/dmusic/netease-cloud-music_1.2.0_amd64_deepin_stable_20190424.deb";
+    sha256 = "0hg8jqim77vd0fmk8gfbz2fmlj99byxcm9jn70xf7vk1sy7wp6h1";
+    curlOpts = "-A 'Mozilla/5.0'";
+  };
+  unpackCmd = "${dpkg}/bin/dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r usr/* $out
+  '';
+
+  preFixup = ''
+    local exefile="$out/bin/netease-cloud-music"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exefile"
+    patchelf --set-rpath "$out/libs:$(patchelf --print-rpath "$exefile"):${rpath}" "$exefile"
+
+    wrapProgram $out/bin/netease-cloud-music \
+      --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+      --set QT_AUTO_SCREEN_SCALE_FACTOR 1 \
+      --set QCEF_INSTALL_PATH "${deepin.qcef}/lib/qcef"
+  '';
+
+  meta = {
+    description = "Client for Netease Cloud Music service";
+    homepage = https://music.163.com;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
+    license = stdenv.lib.licenses.unfreeRedistributable;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/noise-repellent/default.nix b/nixpkgs/pkgs/applications/audio/noise-repellent/default.nix
new file mode 100644
index 000000000000..146e13f34de1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/openmpt123/default.nix b/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
index c9d69b5c7f23..24ac52e7e311 100644
--- a/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.4.1";
+  version = "0.4.11";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "1k1m1adjh4s2q9lxgkf836k5243akxrzq1hsdjhrkg4idd3pxzp4";
+    sha256 = "1g96bpwh419s429wb387lkmhjsn3ldsjrzrb8h9p3wva5z6943i6";
   };
 
   enableParallelBuilding = true;
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
   buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
   ++ stdenv.lib.optional usePulseAudio libpulseaudio;
 
-  configureFlags = stdenv.lib.optional (!usePulseAudio) [ "--without-pulseaudio" ];
+  configureFlags = stdenv.lib.optional (!usePulseAudio) "--without-pulseaudio";
 
   meta = with stdenv.lib; {
     description = "A cross-platform command-line based module file player";
diff --git a/nixpkgs/pkgs/applications/audio/opus-tools/default.nix b/nixpkgs/pkgs/applications/audio/opus-tools/default.nix
index 85d0e1fbaf71..69fa75d85f4d 100644
--- a/nixpkgs/pkgs/applications/audio/opus-tools/default.nix
+++ b/nixpkgs/pkgs/applications/audio/opus-tools/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     description = "Tools to work with opus encoded audio streams";
     homepage = http://www.opus-codec.org/;
     license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/opusfile/default.nix b/nixpkgs/pkgs/applications/audio/opusfile/default.nix
index 993e3c4fe8c5..25636863793f 100644
--- a/nixpkgs/pkgs/applications/audio/opusfile/default.nix
+++ b/nixpkgs/pkgs/applications/audio/opusfile/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.opus-codec.org/;
     license = licenses.bsd3;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/padthv1/default.nix b/nixpkgs/pkgs/applications/audio/padthv1/default.nix
index b424bce2433b..6d97a2da739f 100644
--- a/nixpkgs/pkgs/applications/audio/padthv1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/padthv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "padthv1";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
-    sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
+    sha256 = "02yfwyirjqxa075yqdnci9b9k57kdmkjvn9gnpdbnjp887pds76g";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
diff --git a/nixpkgs/pkgs/applications/audio/parlatype/default.nix b/nixpkgs/pkgs/applications/audio/parlatype/default.nix
index 1eb8b416a9aa..fb5fe47f4f2d 100644
--- a/nixpkgs/pkgs/applications/audio/parlatype/default.nix
+++ b/nixpkgs/pkgs/applications/audio/parlatype/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "parlatype";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner  = "gkarsay";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0b811lwiylrjirx88gi9az1b1b71j2i5a4a6g56wp9qxln6lzjj2";
+    sha256 = "157423f40l8nd5da6y0qjmg4l3125zailp98w2hda3mxxn1j5ix3";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/paulstretch/default.nix b/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
index b2c049c9eeeb..b9a3f39affb1 100644
--- a/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
+++ b/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchFromGitHub, audiofile, libvorbis, fltk, fftw, fftwFloat,
-minixml, pkgconfig, libmad, libjack2, portaudio, libsamplerate }:
+{ stdenv, fetchFromGitHub, fetchpatch
+, audiofile, libvorbis, fltk, fftw, fftwFloat
+, minixml, pkgconfig, libmad, libjack2, portaudio, libsamplerate
+}:
 
 stdenv.mkDerivation {
   pname = "paulstretch";
@@ -27,6 +29,13 @@ stdenv.mkDerivation {
     libsamplerate
   ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/paulnasca/paulstretch_cpp/pull/12.patch";
+      sha256 = "0lx1rfrs53afkiz1drp456asqgj5yv6hx3lkc01165cv1jsbw6q4";
+    })
+  ];
+
   buildPhase = ''
     bash compile_linux_fftw_jack.sh
   '';
diff --git a/nixpkgs/pkgs/applications/audio/pianobar/default.nix b/nixpkgs/pkgs/applications/audio/pianobar/default.nix
index 26b94f306bc6..811952f845ff 100644
--- a/nixpkgs/pkgs/applications/audio/pianobar/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pianobar/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     libao json_c libgcrypt ffmpeg curl
   ];
 
-  makeFlags="PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   CC = "gcc";
   CFLAGS = "-std=c99";
diff --git a/nixpkgs/pkgs/applications/audio/pianobooster/default.nix b/nixpkgs/pkgs/applications/audio/pianobooster/default.nix
index 448b219a1afa..f2130fe55590 100644
--- a/nixpkgs/pkgs/applications/audio/pianobooster/default.nix
+++ b/nixpkgs/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 ];
-  NIX_LDFLAGS = [ "-lGL" "-lpthread" ];
+  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/nixpkgs/pkgs/applications/audio/picard/default.nix b/nixpkgs/pkgs/applications/audio/picard/default.nix
index f6eee17f834a..b40ab6d4f7a5 100644
--- a/nixpkgs/pkgs/applications/audio/picard/default.nix
+++ b/nixpkgs/pkgs/applications/audio/picard/default.nix
@@ -4,13 +4,13 @@ let
   pythonPackages = python3Packages;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1g7pbicf65hswbqmhrwlba9jm4r2vnggy7vy75z4256y7qcpwdfd";
+    sha256 = "0lb4pzl03mr5hrzrzva99rxqd5yfip62b7sjmlg4j0imw8mxaj16";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ];
diff --git a/nixpkgs/pkgs/applications/audio/pithos/default.nix b/nixpkgs/pkgs/applications/audio/pithos/default.nix
index 5d86e37dec8a..20a6e928cefb 100644
--- a/nixpkgs/pkgs/applications/audio/pithos/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pithos/default.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "pithos";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo  = pname;
     rev = version;
-    sha256 = "0vaw0rfcdh4bsp9b8la9bs36kw0iwia54y5x060byxhff9av6nj4";
+    sha256 = "10nnm55ql86x1qfmq6dx9a1igf7myjxibmvyhd7fyv06vdhfifgy";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/applications/audio/projectm/default.nix b/nixpkgs/pkgs/applications/audio/projectm/default.nix
index e7aace763a1b..347774010ae1 100644
--- a/nixpkgs/pkgs/applications/audio/projectm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/projectm/default.nix
@@ -37,15 +37,15 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  cmakeFlags = ''
-    -DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf
-    -DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf
-    -DINCLUDE-PROJECTM-TEST=OFF
-    -DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}
-  '';
+  cmakeFlags = [
+    "-DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf"
+    "-DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf"
+    "-DINCLUDE-PROJECTM-TEST=OFF"
+    "-DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}"
+  ];
 
   buildInputs = with stdenv.lib;
     [ glew ftgl ]
diff --git a/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix b/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix
index 1ad57efda7a0..6b7d242e1f6d 100644
--- a/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix
@@ -7,13 +7,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.66";
+  version = "1.67";
 
   src = fetchFromGitHub {
     owner = "graysky2";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19a24w7y19551ar41q848w7r1imqkl9cpff4dpb7yry7qp1yjg0y";
+    sha256 = "1mf5r7x6aiqmx9mz7gpckrqvvzxnr5gs2q1k4m42rjk6ldkpdb46";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix b/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix
index 83fb17189e1d..31e191548628 100644
--- a/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix
@@ -32,7 +32,6 @@
 , rubberband
 , mda_lv2
 , lsp-plugins
-, hicolor-icon-theme
 }:
 
 let
@@ -47,13 +46,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.6.6";
+  version = "4.7.0";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "15w1kc1b0i8wrkrbfzrvcscanxvcsz336bfyi1awb1lbclvd3sf4";
+    sha256 = "1cpiill24c54sy97xm1r0sqqpxj6ar40pnnwb72qs8b9zzci920r";
   };
 
   nativeBuildInputs = [
@@ -86,7 +85,6 @@ in stdenv.mkDerivation rec {
     dbus
     fftwFloat
     zita-convolver
-    hicolor-icon-theme
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
index 0b50d3098aa2..753f6fe8206e 100644
--- a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, mkDerivation, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
 
 mkDerivation rec {
-  version = "0.5.9";
+  version = "0.6.1";
   pname = "qjackctl";
 
   # some dependencies such as killall have to be installed additionally
 
   src = fetchurl {
     url = "mirror://sourceforge/qjackctl/${pname}-${version}.tar.gz";
-    sha256 = "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk";
+    sha256 = "09y0s43ypcghnvzsz89mi1qs5bsvn4hpb98lqxmwwsy0ikcv3hny";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/qmidinet/default.nix b/nixpkgs/pkgs/applications/audio/qmidinet/default.nix
index d627f352e734..98e384561e4e 100644
--- a/nixpkgs/pkgs/applications/audio/qmidinet/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qmidinet/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.5";
+  version = "0.6.1";
   pname = "qmidinet";
 
   src = fetchurl {
     url = "mirror://sourceforge/qmidinet/${pname}-${version}.tar.gz";
-    sha256 = "0az20hh14g7k6h779dk1b6fshxnfj2664sj6ypgllzriwv430x9y";
+    sha256 = "1nvbvx3wg2s6s7r4x6m2pm9nx7pdz00ghw9h10wfqi2s474mwip0";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/applications/audio/qmmp/default.nix b/nixpkgs/pkgs/applications/audio/qmmp/default.nix
index ef52c65b1051..801d32189bfd 100644
--- a/nixpkgs/pkgs/applications/audio/qmmp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.3.3";
+  name = "qmmp-1.3.5";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1777kqgvbkshqlawy00gbgwflxflwmjjidqdq29mhqszs76r6727";
+    sha256 = "0h7kcqzhfvk610937pwrhizcdgd4n7ncl1vayv6sj3va1x7pv6xm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/audio/qsampler/default.nix b/nixpkgs/pkgs/applications/audio/qsampler/default.nix
index a878f4edad8f..33411002c23b 100644
--- a/nixpkgs/pkgs/applications/audio/qsampler/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qsampler/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, qttools
-, liblscp, libgig, qtbase }:
+, liblscp, libgig, qtbase, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qsampler";
-  version = "0.5.6";
+  version = "0.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsampler/${pname}-${version}.tar.gz";
-    sha256 = "0lx2mzyajmjckwfvgf8p8bahzpj0n0lflyip41jk32nwd2hzjhbs";
+    sha256 = "1wr7k739zx2nz00b810f60g9k3y92w05nfci987hw7y2sks9rd8j";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];
diff --git a/nixpkgs/pkgs/applications/audio/qsynth/default.nix b/nixpkgs/pkgs/applications/audio/qsynth/default.nix
index 81b7e35b6309..29f5704c7302 100644
--- a/nixpkgs/pkgs/applications/audio/qsynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qsynth/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qt5, autoconf, pkgconfig }:
+{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, autoconf, pkgconfig
+, mkDerivation, qtbase, qttools, qtx11extras
+}:
 
-stdenv.mkDerivation  rec {
+mkDerivation  rec {
   pname = "qsynth";
-  version = "0.5.7";
+  version = "0.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
-    sha256 = "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6";
+    sha256 = "12jhfan81a10vbqfky5nmam3lk6d0i4654mm192v68q5r867xmcl";
   };
 
   nativeBuildInputs = [ autoconf pkgconfig ];
 
-  buildInputs = [ alsaLib fluidsynth libjack2 qt5.qtbase qt5.qttools qt5.qtx11extras ];
+  buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/audio/qtractor/default.nix b/nixpkgs/pkgs/applications/audio/qtractor/default.nix
index 2e504a3c9ec2..46dafb72c412 100644
--- a/nixpkgs/pkgs/applications/audio/qtractor/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0qlbccdxyfy0f09y6qg1xkg12fm67bf2f2c27c22cg8lzk9ang5j";
+    sha256 = "02cpjlf3j4sm74hz88r1frnlycs52rs11mzplr2q8plji3ic5w50";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/quodlibet/default.nix b/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
index c874bdd40d24..573dca518e3a 100644
--- a/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
+++ b/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
@@ -65,5 +65,6 @@ python3.pkgs.buildPythonApplication rec {
 
     maintainers = with maintainers; [ coroa sauyon ];
     homepage = https://quodlibet.readthedocs.io/en/latest/;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix b/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
index c0186a146bee..a64e407b39b8 100644
--- a/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
@@ -21,7 +21,7 @@
 # User-agent info
 , lsb-release
 # rt2rtng
-, python2
+, python3
 # Testing
 , gtest
 # Fixup
@@ -36,17 +36,17 @@ let
     gst-libav
   ];
   # For the rt2rtng utility for converting bookmark file to -ng format
-  pythonInputs = with python2.pkgs; [ python2 lxml ];
+  pythonInputs = with python3.pkgs; [ python lxml ];
 in
 stdenv.mkDerivation rec {
   pname = "radiotray-ng";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "ebruck";
-    repo = "radiotray-ng";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0khrfxjas2ldh0kksq7l811srqy16ahjxchvz0hhykx5hykymxlb";
+    sha256 = "1v2nsz7s0jj0wmqabzk6akcf1353rachm1lfq77hxbq9z5pw8pgb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix
index 9cff98f61372..236c42b52930 100644
--- a/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "5.981";
+  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 = "0v4347i0pgzlinas4431dfbv1h9fk6vihvahh73valxvhydyxr8q";
+    sha256 = "040k5inzj7mmi75fc6hr0ym18y5xss1675bl5rmhn4sq535m289k";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/audio/renoise/default.nix b/nixpkgs/pkgs/applications/audio/renoise/default.nix
index 62625aa421d1..2fb1943e0e57 100644
--- a/nixpkgs/pkgs/applications/audio/renoise/default.nix
+++ b/nixpkgs/pkgs/applications/audio/renoise/default.nix
@@ -4,8 +4,7 @@
 with stdenv.lib;
 
 # To use the full release version:
-# 1) Sign into https://backstage.renoise.com and download the appropriate (x86 or x86_64) version
-#    for your machine to some stable location.
+# 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
 # 2) Override the releasePath attribute to point to the location of the newly downloaded bundle.
 # Note: Renoise creates an individual build for each license which screws somewhat with the
 # use of functions like requireFile as the hash will be different for every user.
@@ -15,25 +14,20 @@ in
 
 stdenv.mkDerivation rec {
   pname = "renoise";
-  version = "3.1.0";
+  version = "3.2.1";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
         if releasePath == null then
-        fetchurl {
-          url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2";
-          sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga";
-        }
+		    fetchurl {
+		      urls = [
+		          "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		          "https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		      ];
+		      sha256 = "0dhcidgnjzd4abw0xw1waj9mazp03nbvjcr2xx09l8gnfrkvny46";
+		    }
         else
-        releasePath
-    else if stdenv.hostPlatform.system == "i686-linux" then
-        if releasePath == null then
-        fetchurl {
-          url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86.tar.bz2";
-          sha256 = "1lccjj4k8hpqqxxham5v01v2rdwmx3c5kgy1p9lqvzqma88k4769";
-        }
-        else
-        releasePath
+        	releasePath
     else throw "Platform is not supported by Renoise";
 
   buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ];
@@ -69,6 +63,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.renoise.com/;
     license = licenses.unfree;
     maintainers = [];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/rofi-mpd/default.nix b/nixpkgs/pkgs/applications/audio/rofi-mpd/default.nix
new file mode 100644
index 000000000000..9def4a292f61
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/rofi-mpd/default.nix
@@ -0,0 +1,26 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "rofi-mpd";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "JakeStanger";
+    repo = "Rofi_MPD";
+    rev = "v${version}";
+    sha256 = "0pdra1idgas3yl9z9v7b002igwg2c1mv0yw2ffb8rsbx88x4gbai";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ mutagen mpd2 ];
+
+  # upstream doesn't contain a test suite
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A rofi menu for interacting with MPD written in Python";
+    homepage = "https://github.com/JakeStanger/Rofi_MPD";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakestanger ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/rosegarden/default.nix b/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
index 9445bf3723c9..7c4cefb6ba4b 100644
--- a/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
+++ b/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools
+{ stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools, wrapQtAppsHook
 , dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2
 , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }:
 
@@ -15,7 +15,8 @@ stdenv.mkDerivation (rec {
     substituteInPlace src/CMakeLists.txt --replace svnheader svnversion
   '';
 
-  nativeBuildInputs = [ cmake makedepend perl pkgconfig qttools ];
+  nativeBuildInputs =
+    [ cmake makedepend perl pkgconfig qttools wrapQtAppsHook ];
 
   buildInputs = [
     dssi
diff --git a/nixpkgs/pkgs/applications/audio/samplv1/default.nix b/nixpkgs/pkgs/applications/audio/samplv1/default.nix
index 5a62a8a4292d..4874969b6332 100644
--- a/nixpkgs/pkgs/applications/audio/samplv1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/samplv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "samplv1";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
-    sha256 = "1y61wb0bzm1cz7y8xxv6hp8mrkfb9zm9irg6zs4g6aanw539r6l8";
+    sha256 = "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2";
   };
 
   buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
diff --git a/nixpkgs/pkgs/applications/audio/setbfree/default.nix b/nixpkgs/pkgs/applications/audio/setbfree/default.nix
index 9502cb7b7e7e..a7500f8c6a5e 100644
--- a/nixpkgs/pkgs/applications/audio/setbfree/default.nix
+++ b/nixpkgs/pkgs/applications/audio/setbfree/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, alsaLib, freetype, ftgl, libjack2, libX11, lv2
-, libGLU_combined, pkgconfig, ttf_bitstream_vera
+{ stdenv, fetchzip, alsaLib, freetype, ftgl, libjack2, libX11, lv2
+, libGLU, libGL, pkgconfig, ttf_bitstream_vera
 }:
 
 stdenv.mkDerivation  rec {
   pname = "setbfree";
-  version = "0.8.8";
+  version = "0.8.11";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
-    sha256 = "1ldxwds99azingkjh246kz7x3j7307jhr0fls5rjjbcfchpg7v99";
+    sha256 = "0c2wc8nkrzsy0yic4y7hjz320m3d20r8152j9dk8nsnmgjmyr2ir";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed 's#/usr/local#$(out)#g' -i common.mak
     sed 's#/usr/share/fonts/truetype/ttf-bitstream-vera#${ttf_bitstream_vera}/share/fonts/truetype#g' \
       -i b_synth/Makefile
@@ -19,15 +19,15 @@ 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
   ];
 
   meta = with stdenv.lib; {
     description = "A DSP tonewheel organ emulator";
-    homepage = http://setbfree.org;
+    homepage = "http://setbfree.org";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ]; # fails on ARM and Darwin
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/sisco.lv2/default.nix b/nixpkgs/pkgs/applications/audio/sisco.lv2/default.nix
index 32cfd0f74940..f95655f5e9a3 100644
--- a/nixpkgs/pkgs/applications/audio/sisco.lv2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/snd/default.nix b/nixpkgs/pkgs/applications/audio/snd/default.nix
index 32e241cf557b..2ba9d4f50c3a 100644
--- a/nixpkgs/pkgs/applications/audio/snd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-19.6";
+  name = "snd-19.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76";
+    sha256 = "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://ccrma.stanford.edu/software/snd;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.free;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 
diff --git a/nixpkgs/pkgs/applications/audio/sndpeek/default.nix b/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
new file mode 100644
index 000000000000..376aadc7385b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, libsndfile, freeglut, alsaLib, mesa, libGLU, libX11, libXmu
+, libXext, libXi }:
+
+stdenv.mkDerivation rec {
+  pname = "sndpeek";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "https://soundlab.cs.princeton.edu/software/sndpeek/files/sndpeek-${version}.tgz";
+    sha256 = "2d86cf74854fa00dcdc05a35dd92bc4cf6115e87102b17023be5cba9ead8eedf";
+  };
+  sourceRoot = "sndpeek-${version}/src/sndpeek";
+
+  # this patch adds -lpthread to the list of libraries, without it a
+  # symbol-not-found-error is thrown
+  patches = [ ./pthread.patch ];
+
+  buildInputs = [
+    freeglut
+    alsaLib
+    mesa
+    libGLU
+    libsndfile
+    libX11
+    libXmu
+    libXext
+    libXi
+  ];
+  buildFlags = [ "linux-alsa" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv sndpeek $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Real-time 3D animated audio display/playback";
+    longDescription = ''
+       sndpeek is just what it sounds (and looks) like:
+         * real-time 3D animated display/playback
+         * can use mic-input or wav/aiff/snd/raw/mat file (with playback)
+         * time-domain waveform
+         * FFT magnitude spectrum
+         * 3D waterfall plot
+         * lissajous! (interchannel correlation)
+         * rotatable and scalable display
+         * freeze frame! (for didactic purposes)
+         * real-time spectral feature extraction (centroid, rms, flux, rolloff)
+         * available on MacOS X, Linux, and Windows under GPL
+         * part of the sndtools distribution.
+    '';
+    homepage = https://soundlab.cs.princeton.edu/software/sndpeek/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.laikq ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/sndpeek/pthread.patch b/nixpkgs/pkgs/applications/audio/sndpeek/pthread.patch
new file mode 100644
index 000000000000..b2f1d37da6be
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/sndpeek/pthread.patch
@@ -0,0 +1,13 @@
+diff --git a/makefile.alsa b/makefile.alsa
+index 34fb848..cdaeaec 100644
+--- a/makefile.alsa
++++ b/makefile.alsa
+@@ -4,7 +4,7 @@ CPP=g++
+ INCLUDES=-I../marsyas/
+ MARSYAS_DIR=../marsyas/
+ CFLAGS=-D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ $(INCLUDES) -O3 -c
+-LIBS=-L/usr/X11R6/lib -lglut -lGL -lGLU -lasound -lXmu -lX11 -lXext -lXi -lm -lsndfile
++LIBS=-L/usr/X11R6/lib -lglut -lGL -lGLU -lasound -lXmu -lX11 -lXext -lXi -lm -lsndfile -lpthread
+ 
+ OBJS=chuck_fft.o RtAudio.o Thread.o sndpeek.o Stk.o \
+ 	Centroid.o DownSampler.o Flux.o LPC.o MFCC.o RMS.o Rolloff.o \
diff --git a/nixpkgs/pkgs/applications/audio/sonata/default.nix b/nixpkgs/pkgs/applications/audio/sonata/default.nix
index ce2a4e9d2c80..b9293fe27294 100644
--- a/nixpkgs/pkgs/applications/audio/sonata/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sonata/default.nix
@@ -2,7 +2,7 @@
 , python3Packages, gnome3, gtk3, gsettings-desktop-schemas, gobject-introspection }:
 
 let
-  inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2;
+  inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools;
 in buildPythonApplication rec {
   pname = "sonata";
   version = "1.7b1";
@@ -29,7 +29,7 @@ in buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    gobject-introspection gtk3 pygobject3
+    gobject-introspection gtk3 pygobject3 setuptools
   ];
 
   # The optional tagpy dependency (for editing metadata) is not yet
diff --git a/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix b/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
index 2a39caa08659..ac72a26b0eec 100644
--- a/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
@@ -14,6 +14,7 @@
 , supercollider
 , qscintilla
 , qwt
+, osmid
 }:
 
 let
@@ -59,6 +60,10 @@ mkDerivation rec {
   buildPhase = ''
     export SONIC_PI_HOME=$TMPDIR
     export AUBIO_LIB=${aubio}/lib/libaubio.so
+    export OSMID_DIR=app/server/native/osmid
+
+    mkdir -p $OSMID_DIR
+    cp ${osmid}/bin/{m2o,o2m} $OSMID_DIR
 
     pushd app/server/ruby/bin
       ./compile-extensions.rb
@@ -95,7 +100,7 @@ mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://sonic-pi.net/;
+    homepage = "https://sonic-pi.net/";
     description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
diff --git a/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix b/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix
index 30ff41da3695..5b5f01eef5cc 100644
--- a/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix b/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix
new file mode 100644
index 000000000000..973062ecb750
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "spotify-tui";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "Rigellute";
+    repo = "spotify-tui";
+    rev = "v${version}";
+    sha256 = "1pshwn486msn418dilk57rl9471aas0dif765nx1p9xgkrjpb7wa";
+  };
+
+  cargoSha256 = "0020igycgikkbd649hv6xlpn13dij4g7yc43fic9z710p6nsxqaq";
+
+  nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
+  buildInputs = [ openssl ]
+  	++ 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";
+    homepage = https://github.com/Rigellute/spotify-tui;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jwijenbergh ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/spotify/default.nix b/nixpkgs/pkgs/applications/audio/spotify/default.nix
index 3f99e22a4cbd..b763e6e6122f 100644
--- a/nixpkgs/pkgs/applications/audio/spotify/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
-, at-spi2-atk
+, at-spi2-atk, at-spi2-core, libpulseaudio
 }:
 
 let
@@ -10,20 +10,21 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.0.96.181.gf6bc1b6b-12";
+  version = "1.1.10.546.ge08ef575-19";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "30";
+  rev = "36";
 
 
   deps = [
     alsaLib
     atk
     at-spi2-atk
+    at-spi2-core
     cairo
     cups
     curl
@@ -38,6 +39,7 @@ let
     libgcrypt
     libnotify
     libpng
+    libpulseaudio
     nss
     pango
     stdenv.cc.cc
@@ -73,7 +75,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    sha512 = "859730fbc80067f0828f7e13eee9a21b13b749f897a50e17c2da4ee672785cfd79e1af6336e609529d105e040dc40f61b6189524783ac93d49f991c4ea8b3c56";
+    sha512 = "c49f1a86a9b737e64a475bbe62754a36f607669e908eb725a2395f0a0a6b95968e0c8ce27ab2c8b6c92fe8cbacb1ef58de11c79b92dc0f58c2c6d3a140706a1f";
   };
 
   buildInputs = [ squashfsTools makeWrapper ];
@@ -157,7 +159,7 @@ stdenv.mkDerivation {
     homepage = https://www.spotify.com/;
     description = "Play music from the Spotify music service";
     license = licenses.unfree;
-    maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ];
+    maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ma27 ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
index 7734a7f30674..36ab017c5cbb 100644
--- a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
-  version = "0.2.14";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "Spotifyd";
     repo = "spotifyd";
     rev = "v${version}";
-    sha256 = "1hbcyc5rdrvdnvvsgaykqamq4i0yq8wqq5qjp6zjf4jlaxxif4nz";
+    sha256 = "1hf4wpk7r0s4jpjhxaz67y1hd8jx9ns5imd85r3cdg4lxf3j5gph";
   };
 
-  cargoSha256 = "15gd8shg0mn4vsma2hckj6w8gkwr58iniyfw1vjrh4clw4x7ibb4";
+  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 = with maintainers; [ anderslundstedt filalex77 marsam ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/stone-phaser/default.nix b/nixpkgs/pkgs/applications/audio/stone-phaser/default.nix
new file mode 100644
index 000000000000..6e64ebc7fb3e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/nixpkgs/pkgs/applications/audio/strawberry/default.nix
index 83455460123c..07e7bb84c565 100644
--- a/nixpkgs/pkgs/applications/audio/strawberry/default.nix
+++ b/nixpkgs/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.3";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "01j5jzzicy895kg9sjy46lbcm5kvf3642d3q5wwb2fyvyq1fbcv0";
+    sha256 = "14bw4hmysrbl4havz03s3wl8bv76380wddf5zzrjvfjjpwn333r6";
   };
 
   buildInputs = [
@@ -66,7 +66,7 @@ mkDerivation rec {
     libpulseaudio
     libselinux
     libsepol
-    p11_kit
+    p11-kit
     utillinux
   ]
   ++ lib.optionals withGstreamer (with gst_all_1; [
@@ -89,9 +89,11 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Music player and music collection organizer";
-    license = licenses.gpl2;
+    homepage = "https://www.strawberrymusicplayer.org/";
+    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.3
+    # upstream says darwin should work but they lack maintainers as of 0.6.6
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/svox/default.nix b/nixpkgs/pkgs/applications/audio/svox/default.nix
index 8acd8e0b88b1..3e9fe4725afd 100644
--- a/nixpkgs/pkgs/applications/audio/svox/default.nix
+++ b/nixpkgs/pkgs/applications/audio/svox/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     cp lang/*.bin $out/share/pico/lang
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-include stdint.h" ];
+  NIX_CFLAGS_COMPILE = "-include stdint.h";
 
   meta = with stdenv.lib; {
     description = "Text-to-speech engine";
diff --git a/nixpkgs/pkgs/applications/audio/synthv1/default.nix b/nixpkgs/pkgs/applications/audio/synthv1/default.nix
index 1c373aefb4f6..349c7acc3db3 100644
--- a/nixpkgs/pkgs/applications/audio/synthv1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/synthv1/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, qt5, libjack2, alsaLib, liblo, lv2 }:
+{ mkDerivation, stdenv, fetchurl, pkgconfig, qtbase, qttools, libjack2, alsaLib, liblo, lv2 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "synthv1";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
-    sha256 = "0cvamqzg74qfr7kzk3skimskmv0j3d1rmmpbpsmfcrg8srvyx9r2";
+    sha256 = "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm";
   };
 
-  buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
+  buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/applications/audio/timemachine/default.nix b/nixpkgs/pkgs/applications/audio/timemachine/default.nix
index 8c7ed20e7482..3564f875c9b4 100644
--- a/nixpkgs/pkgs/applications/audio/timemachine/default.nix
+++ b/nixpkgs/pkgs/applications/audio/timemachine/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "timemachine";
-  version = "0.3.3";
+  version = "0.3.4";
   src = fetchFromGitHub {
     owner = "swh";
     repo = "timemachine";
     rev = "v${version}";
-    sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8";
+    sha256 = "16fgyw6jnscx9279dczv72092dddghwlp53rkfw469kcgvjhwx0z";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -19,9 +19,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh";
 
-  NIX_LDFLAGS =  [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   meta = {
     description = "JACK audio recorder";
diff --git a/nixpkgs/pkgs/applications/audio/tomahawk/default.nix b/nixpkgs/pkgs/applications/audio/tomahawk/default.nix
deleted file mode 100644
index c983123ca383..000000000000
--- a/nixpkgs/pkgs/applications/audio/tomahawk/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
-, liblastfm, lucenepp, phonon, phonon-backend-vlc, qca2, qjson, qt4
-, qtkeychain, quazip, sparsehash, taglib, websocketpp, makeWrapper
-
-, enableXMPP      ? true,  libjreen     ? null
-, enableKDE       ? false, kdelibs4     ? null
-, enableTelepathy ? false, telepathy-qt ? null
-}:
-
-assert enableXMPP      -> libjreen     != null;
-assert enableKDE       -> kdelibs4     != null;
-assert enableTelepathy -> telepathy-qt != null;
-
-stdenv.mkDerivation rec {
-  pname = "tomahawk";
-  version = "0.8.4";
-
-  src = fetchurl {
-    url = "http://download.tomahawk-player.org/${pname}-${version}.tar.bz2";
-    sha256 = "0j84h36wkjfjbsd7ybyji7rcc9wpjdbl0f1xdcc1g7h0nz34pc0g";
-  };
-
-  cmakeFlags = [
-    "-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include"
-    "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib"
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    cmake attica boost gnutls libechonest liblastfm lucenepp phonon
-    qca2 qjson qt4 qtkeychain quazip sparsehash taglib websocketpp
-    makeWrapper
-  ] ++ stdenv.lib.optional enableXMPP      libjreen
-    ++ stdenv.lib.optional enableKDE       kdelibs4
-    ++ stdenv.lib.optional enableTelepathy telepathy-qt;
-
-  postInstall = let
-    pluginPath = stdenv.lib.concatStringsSep ":" [
-      "${phonon-backend-vlc}/lib/kde4/plugins"
-    ];
-  in ''
-    for i in "$out"/bin/*; do
-      wrapProgram "$i" --prefix QT_PLUGIN_PATH : "${pluginPath}"
-    done
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "A multi-source music player (unmaintained)";
-    homepage = http://tomahawk-player.org/;
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    broken = true; # 2018-06-25
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix b/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
index 234b98a893c8..11daabbf8104 100644
--- a/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
+++ b/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
@@ -1,50 +1,69 @@
 { stdenv, makeWrapper, fetchFromBitbucket, fetchFromGitHub, pkgconfig
 , alsaLib, curl, glew, glfw, gtk2-x11, jansson, libjack2, libXext, libXi
-, libzip, rtaudio, rtmidi, speex }:
+, libzip, rtaudio, rtmidi, speex, libsamplerate }:
 
 let
-  glfw-git = glfw.overrideAttrs (oldAttrs: rec {
-    name = "glfw-git-${version}";
-    version = "2019-06-30";
-    src = fetchFromGitHub {
-      owner = "AndrewBelt";
-      repo = "glfw";
-      rev = "d9ab59efc781c392128a449361a381fcc93cf6f3";
-      sha256 = "1ykkq6qq8y6j5hlfj2zp1p87kr33vwhywziprz20v5avx1q7rjm8";
-    };
-    # We patch the source to export a function that was added to the glfw fork
-    # for Rack so it is present when we build glfw as a shared library.
-    # See https://github.com/AndrewBelt/glfw/pull/1 for discussion of this issue
-    # with upstream.
-    patches = [ ./glfw.patch ];
-    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";
     rev = "29e4f76ac53bef048938754f32231d7836401f79";
     sha256 = "084csgqa6f1a270bhybjayrh3mpyi2jimc87qkdgsqcp8ycsx1l1";
   };
+  nanovg-source = fetchFromGitHub {
+    owner = "memononen";
+    repo = "nanovg";
+    rev = "1f9c8864fc556a1be4d4bf1d6bfe20cde25734b4";
+    sha256 = "08r15zrr6p1kxigxzxrg5rgya7wwbdx7d078r362qbkmws83wk27";
+  };
+  nanosvg-source = fetchFromGitHub {
+    owner = "memononen";
+    repo = "nanosvg";
+    rev = "25241c5a8f8451d41ab1b02ab2d865b01600d949";
+    sha256 = "114qgfmazsdl53rm4pgqif3gv8msdmfwi91lyc2jfadgzfd83xkg";
+  };
+  osdialog-source = fetchFromGitHub {
+    owner = "AndrewBelt";
+    repo = "osdialog";
+    rev = "e5db5de6444f4b2c4e1390c67b3efd718080c3da";
+    sha256 = "0iqxn1md053nl19hbjk8rqsdcmjwa5l5z0ci4fara77q43rc323i";
+  };
+  oui-blendish-source = fetchFromGitHub {
+    owner = "AndrewBelt";
+    repo = "oui-blendish";
+    rev = "79ec59e6bc7201017fc13a20c6e33380adca1660";
+    sha256 = "17kd0lh2x3x12bxkyhq6z8sg6vxln8m9qirf0basvcsmylr6rb64";
+  };
 in
 with stdenv.lib; stdenv.mkDerivation rec {
   pname = "VCV-Rack";
-  version = "1.1.4";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "VCVRack";
     repo = "Rack";
     rev = "v${version}";
-    sha256 = "04kg0nm7w19s2zfrsxjfl3bs4sy3bzf28kzl4hayzwv480667ybx";
-    fetchSubmodules = true;
+    sha256 = "0ji64prr74qzxf5bx1sw022kbslx9nzll16lmk5in78hbl137b3i";
   };
 
-  patches = [ ./rack-minimize-vendoring.patch ];
+  patches = [
+    ./rack-minimize-vendoring.patch
+  ];
 
   prePatch = ''
-    cp -r ${pfft-source} dep/jpommier-pffft-source
-
+    # 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
+    cp -r ${nanovg-source}/* dep/nanovg
+    cp -r ${nanosvg-source}/* dep/nanosvg
+    cp -r ${osdialog-source}/* dep/osdialog
+    cp -r ${oui-blendish-source}/* dep/oui-blendish
+
     cp dep/jpommier-pffft-source/*.h dep/include
     cp dep/nanosvg/**/*.h dep/include
     cp dep/nanovg/src/*.h dep/include
@@ -58,9 +77,9 @@ 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 ];
+  buildInputs = [ alsaLib curl glew glfw gtk2-x11 jansson libjack2 libsamplerate libzip rtaudio rtmidi speex ];
 
-  buildFlags = "Rack";
+  buildFlags = [ "Rack" ];
 
   installPhase = ''
     install -D -m755 -t $out/bin Rack
diff --git a/nixpkgs/pkgs/applications/audio/vcv-rack/glfw.patch b/nixpkgs/pkgs/applications/audio/vcv-rack/glfw.patch
deleted file mode 100644
index 77875415160c..000000000000
--- a/nixpkgs/pkgs/applications/audio/vcv-rack/glfw.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/init.c b/src/init.c
-index af4a579e..317e25b8 100644
---- a/src/init.c
-+++ b/src/init.c
-@@ -339,7 +339,7 @@ GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun)
- 
- char glfwOpenedFilename[1024];
- 
--const char *glfwGetOpenedFilename()
-+GLFWAPI const char *glfwGetOpenedFilename()
- {
-     if (glfwOpenedFilename[0])
-     {
diff --git a/nixpkgs/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch b/nixpkgs/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch
index eca9c2f13c06..d310d57835e4 100644
--- a/nixpkgs/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch
+++ b/nixpkgs/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch
@@ -5,10 +5,9 @@ diff -ru a/Makefile b/Makefile
  build/dep/osdialog/osdialog_gtk2.c.o: FLAGS += $(shell pkg-config --cflags gtk+-2.0)
  
  	LDFLAGS += -rdynamic \
--		dep/lib/libglfw3.a dep/lib/libGLEW.a dep/lib/libjansson.a dep/lib/libspeexdsp.a dep/lib/libzip.a dep/lib/libz.a dep/lib/librtmidi.a dep/lib/librtaudio.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a \
--		-lpthread -lGL -ldl -lX11 -lasound -ljack \
-+		-lGLEW -ljansson -lspeexdsp -lzip -lz -lrtmidi -lrtaudio -lcurl -lssl -lcrypto \
-+		-lpthread -lGL -ldl -lX11 -lasound -ljack -lglfw \
+-		dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libzip.a dep/lib/libz.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a \
++		-lGLEW -lglfw -ljansson -lcurl -lssl -lcrypto -lzip -lz -lspeexdsp -lsamplerate -lrtmidi -lrtaudio \
+		-lpthread -lGL -ldl -lX11 -lasound -ljack \
  		$(shell pkg-config --libs gtk+-2.0)
  	TARGET := Rack
  endif
diff --git a/nixpkgs/pkgs/applications/audio/vocal/default.nix b/nixpkgs/pkgs/applications/audio/vocal/default.nix
index c4333b09f18f..c928962c983c 100644
--- a/nixpkgs/pkgs/applications/audio/vocal/default.nix
+++ b/nixpkgs/pkgs/applications/audio/vocal/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , cmake
 , ninja
+, vala
 , pkgconfig
 , pantheon
 , gtk3
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
     cmake
     libxml2
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     wrapGAppsHook
   ];
@@ -57,6 +58,13 @@ stdenv.mkDerivation rec {
     webkitgtk
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+
   meta = with stdenv.lib; {
     description = "The podcast client for the modern free desktop";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/audio/waon/default.nix b/nixpkgs/pkgs/applications/audio/waon/default.nix
new file mode 100644
index 000000000000..b27fdbffb7d6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/waon/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, fftw, gtk2, libao, libsamplerate
+, libsndfile, ncurses, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  pname = "waon";
+  version = "0.11";
+
+  src = fetchFromGitHub {
+    owner = "kichiki";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xmq8d2rj58xbp4rnyav95y1vnz3r9s9db7xxfa2rd0ilq0ps4y7";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ fftw gtk2 libao libsamplerate libsndfile ncurses ];
+
+  installPhase = ''
+    install -Dt $out/bin waon pv gwaon
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Wave-to-Notes transcriber";
+    homepage = https://kichiki.github.io/WaoN/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.puckipedia ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/whipper/default.nix b/nixpkgs/pkgs/applications/audio/whipper/default.nix
index 79801f2e99fa..ff278d4d7f23 100644
--- a/nixpkgs/pkgs/applications/audio/whipper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/whipper/default.nix
@@ -1,24 +1,31 @@
-{ stdenv, fetchFromGitHub, python2, cdparanoia, cdrdao, flac
-, sox, accuraterip-checksum, utillinux, substituteAll }:
+{ stdenv, fetchFromGitHub, python3, cdparanoia, cdrdao, flac
+, sox, accuraterip-checksum, libsndfile, utillinux, substituteAll }:
 
-python2.pkgs.buildPythonApplication rec {
-  name = "whipper-${version}";
-  version = "0.7.3";
+python3.pkgs.buildPythonApplication rec {
+  pname = "whipper";
+  version = "0.9.1.dev7+g${stdenv.lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "whipper-team";
     repo = "whipper";
-    rev = "v${version}";
-    sha256 = "0ypbgc458i7yvbyvg6wg6agz5yzlwm1v6zw7fmyq9h59xsv27mpr";
+    rev = "9e95f0604fa30ab06445fe46e3bc93bba6092a05";
+    sha256 = "1c2qldw9vxpvdfh5wl6mfcd7zzz3v8r86ffqll311lcp2zin33dg";
   };
 
-  pythonPath = with python2.pkgs; [
-    pygobject3 musicbrainzngs urllib3 chardet
-    pycdio setuptools mutagen CDDB
+  pythonPath = with python3.pkgs; [
+    musicbrainzngs
+    mutagen
+    pycdio
+    pygobject3
     requests
+    ruamel_yaml
+    setuptools
+    setuptools_scm
   ];
 
-  checkInputs = with python2.pkgs; [
+  buildInputs = [ libsndfile ];
+
+  checkInputs = with python3.pkgs; [
     twisted
   ];
 
@@ -33,6 +40,10 @@ python2.pkgs.buildPythonApplication rec {
     "--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ])
   ];
 
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
+  '';
+
   # some tests require internet access
   # https://github.com/JoeLametta/whipper/issues/291
   doCheck = false;
@@ -44,7 +55,7 @@ python2.pkgs.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/whipper-team/whipper;
     description = "A CD ripper aiming for accuracy over speed";
-    maintainers = with maintainers; [ rycee ];
+    maintainers = with maintainers; [ rycee emily ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
index 22594d3ec85d..bae9cef71501 100644
--- a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
+++ b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20190714";
+  version = "20191215";
   pname = "x42-plugins";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
-    sha256 = "1mifmdy9pi1lg0h4nsvyjjnnni41vhgg34lks94mrx46wq90bgx4";
+    sha256 = "1mwfvhsvc0qgjyiwd8pmmam1mav43lmv39fljhmj9yri558v5g1c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix b/nixpkgs/pkgs/applications/audio/yoshimi/default.nix
index 0936fe5a8ed7..0cd512e5093c 100644
--- a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix
+++ b/nixpkgs/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.5.11.3";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2";
-    sha256 = "00w0ll94dpss9f1rnaxjmw6mgjx5q2dz8w4mc3wyrk4s4gbd7154";
+    sha256 = "044k2pcdsb43znc8q63mc4niggpain7wl9s5c4sgsfmrjh0bjapj";
   };
 
   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/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix b/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix
index eeeb8ae2ea44..a8236b4b60f1 100644
--- a/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/backup/deja-dup/default.nix b/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
index 7120a1934f6e..d283dc7107d7 100644
--- a/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
+++ b/nixpkgs/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.6";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa";
+    sha256 = "1d4g34g660wv42a4k2511bxrh90z0vdl3v7ahg0m45phijg9n2n1";
   };
 
   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/nixpkgs/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch b/nixpkgs/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
index 50bf2ba4fbd5..f74dbf73543e 100644
--- a/nixpkgs/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
index d65889be3ac0..db9e68ae9050 100644
--- a/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.12.9.0";
+  version = "0.13.0.0";
 in
 stdenv.mkDerivation {
   pname = "aeon";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     repo = "aeon";
     rev = "v${version}-aeon";
     fetchSubmodules = true;
-    sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga";
+    sha256 = "07d87n1j4dc9gfwj6xy5jdpryn45095xdh961g6xjnjzc5fivjch";
   };
 
   nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
index 479d175020b7..85d6dcbdbe68 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
 , zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.19.4";
+  version = "0.20.9";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1z4x25ygcw1pqml2ww02vqrvmihlv4f5gnnn1iyfirrjxgpfaxd7";
+    sha256 = "1dmk7vm4r9n0yia8dazlx4fmr8i1r8cz8p1pj11glpa3pwda3669";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
index a75b20b39109..c0d51e66db33 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.6.0.1";
+  version = "1.7.0.0";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "bucash${version}";
-    sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr";
+    sha256 = "0lil6rivrj4cnr8a7n8zn9rp9f4h2nk88jjxc29m6dwqn5gk6f1i";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
index b1d84f91251e..2fa8ea6467c1 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
@@ -1,27 +1,47 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck
-, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent
+, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, python3, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.18.1";
+
+let
+  version = "0.19.0.1";
+  majorMinorVersion = versions.majorMinor version;
+
+  desktop = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop";
+    sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
+  };
+
+  pixmap = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin/bitcoin/v${version}/share/pixmaps/bitcoin128.png";
+    sha256 = "08p7j7dg50jlj783kkgdw037klmx0spqjikaprmbkzgcb620r25d";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = if withGui then "bitcoin" else "bitcoind";
+  inherit version;
 
   src = fetchurl {
     urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
              "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
            ];
-    sha256 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96";
+    sha256 = "7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284";
   };
 
   nativeBuildInputs =
     [ pkgconfig autoreconfHook ]
     ++ optional withGui wrapQtAppsHook;
   buildInputs = [ openssl db48 boost zlib zeromq
-                  miniupnpc protobuf libevent]
+                  miniupnpc libevent]
                   ++ optionals stdenv.isLinux [ utillinux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
+  postInstall = optional withGui ''
+    install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
+    install -Dm644 ${pixmap} $out/share/pixmaps/bitcoin128.png
+  '';
+
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
                      "--disable-bench"
                    ] ++ optionals (!doCheck) [
diff --git a/nixpkgs/pkgs/applications/blockchains/clightning.nix b/nixpkgs/pkgs/applications/blockchains/clightning.nix
index b20a6b3e8aa8..f6c9fee7a1c5 100644
--- a/nixpkgs/pkgs/applications/blockchains/clightning.nix
+++ b/nixpkgs/pkgs/applications/blockchains/clightning.nix
@@ -1,19 +1,19 @@
 { stdenv, python3, pkgconfig, which, libtool, autoconf, automake,
-  autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch }:
+  autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch, gettext }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "0.7.2.1";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "3be716948efc1208b5e6a41e3034e4e4eecc5abbdac769fd1d999a104ac3a2ec";
+    sha256 = "053e43bbe71564e9be8b2b56346a88986646ef6849a0af67cece01858b93306a";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip ];
+  nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip gettext ];
   buildInputs =
     let py3 = python3.withPackages (p: [ p.Mako ]);
     in [ sqlite gmp zlib py3 ];
@@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
     patchShebangs \
       tools/generate-wire.py \
       tools/update-mocks.sh \
-      tools/mockup.sh
+      tools/mockup.sh \
+      devtools/sql-rewrite.py
   '';
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/blockchains/dogecoin.nix b/nixpkgs/pkgs/applications/blockchains/dogecoin.nix
index e5f149a0efe7..02744e50647e 100644
--- a/nixpkgs/pkgs/applications/blockchains/dogecoin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix b/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
index 5f347fe91e9c..34cfe868c0b3 100644
--- a/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
+++ b/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
@@ -1,25 +1,39 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
+{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.9.3";
-
-  goPackagePath = "github.com/ethereum/go-ethereum";
-
-  # Fix for usb-related segmentation faults on darwin
-  propagatedBuildInputs =
-    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
-
-  # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
-  hardeningDisable = [ "fortify" ];
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lv6gxp34j26hqazcvyr4c7rsl1vljm6cfzkcmlapsjdgym505bg";
+    sha256 = "00fhqn0b9grqz8iigzbijg7b1va58vccjb15fpy6yfr301z3ib1q";
   };
 
+  modSha256 = "1rn1x3qc23wfcx9c61sw1sc6iqwvv2b9pv006lk1az4zbwh09dbm";
+
+  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/nixpkgs/pkgs/applications/blockchains/jormungandr/default.nix b/nixpkgs/pkgs/applications/blockchains/jormungandr/default.nix
deleted file mode 100644
index bde73ec16c8d..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/jormungandr/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv
-, lib
-, fetchgit
-, rustPlatform
-, openssl
-, pkgconfig
-, protobuf
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "jormungandr";
-  version = "0.5.0";
-
-  src = fetchgit {
-    url = "https://github.com/input-output-hk/${pname}";
-    rev = "v${version}";
-    sha256 = "19jqnja4mxyfgg79m4ak4815wjxvkg6qn04gk21c15xl3i8b4zf6";
-    fetchSubmodules = true;
-  };
-
-  cargoSha256 = "1grrxmczdmkf2sd0f0b2iblzzcp8qlrsad5dkm0r5vxch22rcx7d";
-
-  nativeBuildInputs = [ pkgconfig protobuf ];
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
-
-  patchPhase = ''
-    sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap
-  '';
-
-  installPhase = ''
-    install -d $out/bin $out/templates
-    install -m755 target/*/release/jormungandr $out/bin/
-    install -m755 target/*/release/jcli $out/bin/
-    install -m755 target/*/release/jormungandr-scenario-tests	$out/bin/
-    install -m755 scripts/send-transaction $out/templates
-    install -m755 scripts/jcli-helpers $out/bin/
-    install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap
-    install -m644 scripts/faucet-send-money.shtempl $out/templates/
-    install -m644 scripts/create-account-and-delegate.shtempl $out/templates/
-    install -m644 scripts/faucet-send-certificate.shtempl $out/templates/
-  '';
-
-  PROTOC = "${protobuf}/bin/protoc";
-
-  # Disabling integration tests
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "An aspiring blockchain node";
-    homepage = "https://input-output-hk.github.io/jormungandr/";
-    license = licenses.mit;
-    maintainers = [ maintainers.mmahut ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 0417d2913de5..64562fc445ab 100644
--- a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -1,50 +1,36 @@
-{ stdenv, fetchurl, makeDesktopItem, makeWrapper, appimage-run }:
+{ stdenv, fetchurl, makeDesktopItem, appimageTools, imagemagick }:
 
-stdenv.mkDerivation rec {
+let
   pname = "ledger-live-desktop";
-  version = "1.12.0";
+  version = "1.20.0";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0sn0ri8kqvy36d6vjwsb0mh54nwic58416m6q5drl1schsn6wyvj";
+    sha256 = "09mgd5nsd65w4irgzgmfz1k0r1k4fgkq490pkil8nqy6akjrsw1z";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ appimage-run ];
-
-  desktopIcon = fetchurl {
-    url = "https://raw.githubusercontent.com/LedgerHQ/${pname}/v${version}/build/icon.png";
-    sha256 = "1mmfaf0yk7xf1kgbs3ka8wsbz1qgh60xj6z91ica1i7lw2qbdd5h";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = pname;
-    exec = "${placeholder "out"}/bin/${pname}";
-    icon = pname;
-    desktopName = "Ledger Live";
-    categories = "Utility;";
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
   };
-
-  unpackPhase = ":";
-
-  installPhase = ''
-    runHook preInstall
-
-    ${desktopItem.buildCommand}
-    install -D $src $out/share/${src.name}
-    install -Dm -x ${desktopIcon} \
-      $out/share/icons/hicolor/1024x1024/apps/${pname}.png
-    makeWrapper ${appimage-run}/bin/appimage-run $out/bin/${pname} \
-      --add-flags $out/share/${src.name}
-
-    runHook postInstall
+in appimageTools.wrapType2 rec {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
+    install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
+    ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
+    install -m 444 -D ledger-live-desktop_512.png $out/share/icons/hicolor/512x512/apps/ledger-live-desktop.png
+    substituteInPlace $out/share/applications/ledger-live-desktop.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
   '';
 
   meta = with stdenv.lib; {
     description = "Wallet app for Ledger Nano S and Ledger Blue";
     homepage = "https://www.ledger.com/live";
     license = licenses.mit;
-    maintainers = with maintainers; [ thedavidmeister ];
+    maintainers = with maintainers; [ thedavidmeister nyanloutre ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/lnd.nix b/nixpkgs/pkgs/applications/blockchains/lnd.nix
index 27f10c963c0f..fd18b3fa3997 100644
--- a/nixpkgs/pkgs/applications/blockchains/lnd.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix b/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
index 92f6f0080219..0311169deb24 100644
--- a/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
@@ -1,27 +1,27 @@
-{ mkDerivation, lib, makeDesktopItem, fetchFromGitHub
+{ stdenv, wrapQtAppsHook, makeDesktopItem, fetchFromGitHub
 , qtbase, qmake, qtmultimedia, qttools
 , qtgraphicaleffects, qtdeclarative
 , qtlocation, qtquickcontrols, qtquickcontrols2
 , qtwebchannel, qtwebengine, qtx11extras, qtxmlpatterns
 , monero, unbound, readline, boost, libunwind
 , libsodium, pcsclite, zeromq, cppzmq, pkgconfig
-, hidapi
+, hidapi, randomx
 }:
 
-with lib;
+with stdenv.lib;
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.14.1.2";
+  version = "0.15.0.1";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k";
+    sha256 = "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n";
   };
 
-  nativeBuildInputs = [ qmake pkgconfig ];
+  nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
 
   buildInputs = [
     qtbase qtmultimedia qtgraphicaleffects
@@ -30,9 +30,11 @@ mkDerivation rec {
     qtwebchannel qtwebengine qtx11extras
     qtxmlpatterns monero unbound readline
     boost libunwind libsodium pcsclite zeromq
-    cppzmq hidapi
+    cppzmq hidapi randomx
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-security" ];
+
   patches = [ ./move-log-file.patch ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/blockchains/monero/default.nix b/nixpkgs/pkgs/applications/blockchains/monero/default.nix
index b6f074528616..7eb4238679eb 100644
--- a/nixpkgs/pkgs/applications/blockchains/monero/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/monero/default.nix
@@ -1,43 +1,41 @@
-{ stdenv, fetchgit
-, cmake, pkgconfig, git
+{ stdenv, fetchFromGitHub
+, cmake, pkgconfig
 , boost, miniupnpc, openssl, unbound, cppzmq
 , zeromq, pcsclite, readline, libsodium, hidapi
-, python3Packages
+, python3Packages, randomx, rapidjson
 , CoreData, IOKit, PCSC
 }:
 
 assert stdenv.isDarwin -> IOKit != null;
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
   pname = "monero";
-  version = "0.14.1.0";
-
-  src = fetchgit {
-    url    = "https://github.com/monero-project/monero.git";
-    rev    = "v${version}";
-    sha256 = "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh";
+  version = "0.15.0.1";
+
+  src = fetchFromGitHub {
+    owner = "monero-project";
+    repo = "monero";
+    rev = "v${version}";
+    sha256 = "0sypa235lf2bbib4b71xpaw39h9304slgsvnsz8wmy9fq1zx009m";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake pkgconfig git ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     boost miniupnpc openssl unbound
     cppzmq zeromq pcsclite readline
-    libsodium hidapi
+    libsodium hidapi randomx rapidjson
     python3Packages.protobuf
-  ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DBUILD_GUI_DEPS=ON"
     "-DReadline_ROOT_DIR=${readline.dev}"
-  ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
-
-  hardeningDisable = [ "fortify" ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Private, secure, untraceable currency";
     homepage    = https://getmonero.org/;
     license     = licenses.bsd3;
diff --git a/nixpkgs/pkgs/applications/blockchains/parity/beta.nix b/nixpkgs/pkgs/applications/blockchains/parity/beta.nix
index a6d4660dff11..ffa509d2320e 100644
--- a/nixpkgs/pkgs/applications/blockchains/parity/beta.nix
+++ b/nixpkgs/pkgs/applications/blockchains/parity/beta.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.6.2";
-  sha256      = "1j4249m5k3bi7di0wq6fm64zv3nlpgmg4hr5hnn94fyc09nz9n1r";
-  cargoSha256 = "1wr0i54zc3l6n0x6cvlq9zfy3bw9w5fcvdz4vmyym9r1nkvk31s7";
+  version     = "2.6.6";
+  sha256      = "1gx5qg9c588d5m564bnbly86663yrzb2hmlgv9zplwba7p0lpphl";
+  cargoSha256 = "1xqmnirx2r91q5gy1skxl0f79xvaqzimq3l0cj4xvfms7mpdfbg1";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/nixpkgs/pkgs/applications/blockchains/parity/default.nix b/nixpkgs/pkgs/applications/blockchains/parity/default.nix
index 88d24a87e135..1b5870b429b1 100644
--- a/nixpkgs/pkgs/applications/blockchains/parity/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/parity/default.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.5.7";
-  sha256      = "0aprs71cbf98dsvjz0kydngkvdg5x7dijji8j6xadgvsarl1ljnj";
-  cargoSha256 = "11mr5q5aynli9xm4wnxcypl3ij7f4b0p7l557yi9n0cvdraw8ki4";
+  version     = "2.5.11";
+  sha256      = "1x2p559g2f30520v3kn46n737l5s1kwrn962dv73s6mb6n1lhs55";
+  cargoSha256 = "16nf6y0hyffwdhxn1w4ms4zycs5lkzir8sj6c2lgsabig057hb6z";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/nixpkgs/pkgs/applications/blockchains/pivx.nix b/nixpkgs/pkgs/applications/blockchains/pivx.nix
index c0833de7dbf3..cda342290a2c 100644
--- a/nixpkgs/pkgs/applications/blockchains/pivx.nix
+++ b/nixpkgs/pkgs/applications/blockchains/pivx.nix
@@ -1,5 +1,5 @@
-{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
-, openssl, db48, boost, zlib, miniupnpc, gmp
+{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook, wrapQtAppsHook ? null
+, openssl_1_0_2, db48, boost, zlib, miniupnpc, gmp
 , qrencode, glib, protobuf, yasm, libevent
 , utillinux, qtbase ? null, qttools ? null
 , enableUpnp ? false
@@ -9,18 +9,18 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  pname = "pivx";
-  version = "3.2.0";
+  name = "pivx-${version}";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "PIVX-Project";
     repo= "PIVX";
     rev = "v${version}";
-    sha256 = "1sym6254vhq8qqpxq9qhy10m5167v7x93kqaj1gixc1vwwbxyazy";
+    sha256 = "0m85nc7c8cppdysqz4m12rgmzacrcbwnvf7wy90wzfvfr3xkbapd";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
+  nativeBuildInputs = [ pkgconfig autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ];
+  buildInputs = [ glib gmp openssl_1_0_2 db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
                     ++ optional disableWallet "--disable-wallet"
                     ++ optional disableDaemon "--disable-daemon"
                     ++ optionals withGui [ "--with-gui=yes"
+                                           "--with-unsupported-ssl" # TODO remove this ASAP
                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
                                          ];
   
@@ -39,6 +40,11 @@ stdenv.mkDerivation rec {
     cp share/pixmaps/*128.png $out/share/icons/
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/test_pivx
+  '';
+
   meta = with stdenv.lib; {
     description = "An open source crypto-currency focused on fast private transactions";
     longDescription = ''
@@ -50,12 +56,9 @@ stdenv.mkDerivation rec {
     homepage = https://www.dash.org;
     maintainers = with maintainers; [ wucke13 ];
     platforms = platforms.unix;
-
+    # TODO
     # upstream doesn't support newer openssl versions
     # https://github.com/PIVX-Project/PIVX/issues/748
-    # "Your system is most probably using openssl 1.1 which is not the
-    # officialy supported version. Either use 1.0.1 or run again configure
-    # with the given option."
-    broken = true;
+    # openssl_1_0_2 should be replaced with openssl ASAP
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
index 100c0f8ba41f..b50b14258ccc 100644
--- a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj";
   }; 
 
-  cargoSha256 = "19xcxpbkrbygghz9qi52vzviksxg28m7ibvl359vlhqv1cjxmpsq";
+  cargoSha256 = "0gc3w0cwdyk8f7cgpp9sfawczk3n6wd7q0nhfvk87sry71b8vvwq";
 
   buildInputs = [ pkgconfig openssl openssl.dev ];
 
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.akru ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix b/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
index 6a5532f92c95..9599dc9407c3 100644
--- a/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/wownero.nix b/nixpkgs/pkgs/applications/blockchains/wownero.nix
index 365afb5a2411..8b25e098b2fe 100644
--- a/nixpkgs/pkgs/applications/blockchains/wownero.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wownero.nix
@@ -1,27 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, git
-, boost, miniupnpc_2, openssl, unbound, cppzmq
-, zeromq, pcsclite, readline, libsodium, rapidjson
+{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc_2, openssl, unbound
+, readline, libsodium, rapidjson
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wownero";
+  version = "0.7.0";
 
-  version = "0.6.1.2";
   src = fetchFromGitHub {
     owner = "wownero";
     repo = "wownero";
     rev    = "v${version}";
-    sha256 = "03q3pviyhrldpa3f4ly4d97jr39hvrz37chl102bap0790d9lk09";
+    sha256 = "0lji24s6346qxcj4pmylv8byb8fnqzpmz81rx4i3zhc1bcsvdwas";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake pkgconfig git ];
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    boost miniupnpc_2 openssl unbound rapidjson
-    cppzmq zeromq pcsclite readline libsodium
+    boost miniupnpc_2 openssl unbound rapidjson readline libsodium
   ];
 
   cmakeFlags = [
@@ -30,13 +28,16 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    description = "Wownero is a fork of the cryptocurrency Monero with primary alterations";
+    description = ''
+      A privacy-centric memecoin that was fairly launched on April 1, 2018 with
+      no pre-mine, stealth-mine or ICO
+    '';
     longDescription = ''
-      Wownero’s emission is capped and supply is finite. Wownero is a fairly
-      launched coin with no premine. It’s not a fork of another blockchain. With
-      its own genesis block there is no degradation of privacy caused by ring
-      signatures using different participants for the same transaction outputs.
-      Unlike opposing forks.
+      Wownero has a maximum supply of around 184 million WOW with a slow and
+      steady emission over 50 years. It is a fork of Monero, but with its own
+      genesis block, so there is no degradation of privacy due to ring
+      signatures using different participants for the same tx outputs on
+      opposing forks.
     '';
     homepage    = http://wownero.org/;
     license     = licenses.bsd3;
diff --git a/nixpkgs/pkgs/applications/blockchains/zcash/default.nix b/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
index 1852d72d326f..f6114b3c2134 100644
--- a/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix
index 634d4e8538a1..31703f8fb2a5 100644
--- a/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
index 1df67578b3ac..c251af74b217 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,8 +1,33 @@
-{ stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb
-, glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox
-, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala, fetchpatch
-, withQt4 ? false, qt4
-, withQt5 ? false, qtbase
+{ stdenv
+, fetchFromGitHub
+, substituteAll
+, plymouth
+, pam
+, pkgconfig
+, autoconf
+, automake
+, libtool
+, libxcb
+, glib
+, libXdmcp
+, itstool
+, intltool
+, libxklavier
+, libgcrypt
+, audit
+, busybox
+, polkit
+, accountsservice
+, gtk-doc
+, gnome3
+, gobject-introspection
+, vala
+, fetchpatch
+, withQt4 ? false
+, qt4
+, withQt5 ? false
+, qtbase
+, yelp-tools
 }:
 
 with stdenv.lib;
@@ -23,7 +48,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf
     automake
-    gnome3.yelp-tools
+    yelp-tools
     gnome3.yelp-xsl
     gobject-introspection
     gtk-doc
@@ -53,6 +78,26 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch";
       sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n";
     })
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch";
+      sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn";
+    })
+
+    # https://github.com/canonical/lightdm/pull/104
+    (fetchpatch {
+      url = "https://github.com/canonical/lightdm/commit/03f218981733e50d810767f9d04e42ee156f7feb.patch";
+      sha256 = "07w18m2gpk29z6ym4y3lzsmg5dk3ffn39sq6lac26ap7narf4ma7";
+    })
+
+    # Hardcode plymouth to fix transitions.
+    # For some reason it can't find `plymouth`
+    # even when it's in PATH in environment.systemPackages.
+    (substituteAll {
+      src = ./fix-paths.patch;
+      plymouth = "${plymouth}/bin/plymouth";
+    })
   ];
 
   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
@@ -78,6 +123,10 @@ stdenv.mkDerivation rec {
       --replace /bin/rm ${busybox}/bin/rm
   '';
 
+  postInstall = ''
+    rm -rf $out/etc/apparmor.d $out/etc/init $out/etc/pam.d
+  '';
+
   meta = {
     homepage = https://github.com/CanonicalLtd/lightdm;
     description = "A cross-desktop display manager";
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch b/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch
new file mode 100644
index 000000000000..4498bc4d1a3e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plymouth.c b/src/plymouth.c
+index d1ed91f4..318f9409 100644
+--- a/src/plymouth.c
++++ b/src/plymouth.c
+@@ -24,7 +24,7 @@ static gboolean has_active_vt = FALSE;
+ static gboolean
+ plymouth_run_command (const gchar *command, gint *exit_status)
+ {
+-    g_autofree gchar *command_line = g_strdup_printf ("plymouth %s", command);
++    g_autofree gchar *command_line = g_strdup_printf ("@plymouth@ %s", command);
+     g_autoptr(GError) error = NULL;
+     gboolean result = g_spawn_command_line_sync (command_line, NULL, NULL, exit_status, &error);
+ 
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 5b1490a6b3be..be586bdac9bc 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/nixpkgs/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 ];
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" )
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
   installFlags = [
     "localstatedir=\${TMPDIR}"
diff --git a/nixpkgs/pkgs/applications/display-managers/sddm/default.nix b/nixpkgs/pkgs/applications/display-managers/sddm/default.nix
index 526041124bcc..735e83a0842a 100644
--- a/nixpkgs/pkgs/applications/display-managers/sddm/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/sddm/default.nix
@@ -46,6 +46,7 @@ in mkDerivation {
     "-DQT_IMPORTS_DIR=${placeholder "out"}/${qtbase.qtQmlPrefix}"
     "-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
     "-DSYSTEMD_SYSTEM_UNIT_DIR=${placeholder "out"}/lib/systemd/system"
+    "-DDBUS_CONFIG_DIR=${placeholder "out"}/share/dbus-1/system.d"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/display-managers/slim/default.nix b/nixpkgs/pkgs/applications/display-managers/slim/default.nix
deleted file mode 100644
index e504c09e43e6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/slim/no-logfile.patch b/nixpkgs/pkgs/applications/display-managers/slim/no-logfile.patch
deleted file mode 100644
index f2f5f1549930..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/slim/run-once.patch b/nixpkgs/pkgs/applications/display-managers/slim/run-once.patch
deleted file mode 100644
index 78f1454a883e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/slim/runtime-paths.patch b/nixpkgs/pkgs/applications/display-managers/slim/runtime-paths.patch
deleted file mode 100644
index 5a8e07bfbf07..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/slim/sort-sessions.patch b/nixpkgs/pkgs/applications/display-managers/slim/sort-sessions.patch
deleted file mode 100644
index cab5610f44fb..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/display-managers/slim/themes.nix b/nixpkgs/pkgs/applications/display-managers/slim/themes.nix
deleted file mode 100644
index b1be24f3e1d6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/editors/android-studio/common.nix b/nixpkgs/pkgs/applications/editors/android-studio/common.nix
index 0d406ad2d360..bd1685f7cdbe 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/common.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/common.nix
@@ -1,8 +1,12 @@
 { channel, pname, version, build, sha256Hash }:
 
-{ bash
+{ alsaLib
+, bash
 , buildFHSUserEnv
+, cacert
 , coreutils
+, dbus
+, expat
 , fetchurl
 , findutils
 , file
@@ -18,17 +22,26 @@
 , freetype
 , libpulseaudio
 , libGL
+, libuuid
 , libX11
+, libxcb
+, libXcomposite
+, libXcursor
+, libXdamage
 , libXext
+, libXfixes
 , libXi
 , libXrandr
 , libXrender
 , libXtst
 , makeWrapper
+, nspr
+, nss
 , pciutils
 , pkgsi686Linux
 , setxkbmap
 , stdenv
+, systemd
 , unzip
 , which
 , runCommand
@@ -99,9 +112,21 @@ let
           libXrandr
 
           # For Android emulator
+          alsaLib
+          dbus
+          expat
           libpulseaudio
+          libuuid
           libX11
+          libxcb
+          libXcomposite
+          libXcursor
+          libXdamage
+          libXfixes
           libGL
+          nspr
+          nss
+          systemd
 
           # For GTKLookAndFeel
           gtk2
@@ -130,7 +155,16 @@ let
   # environment is used as a work around for that.
   fhsEnv = buildFHSUserEnv {
     name = "${drvName}-fhs-env";
-    multiPkgs = pkgs: [ pkgs.ncurses5 ];
+    multiPkgs = pkgs: [
+      pkgs.ncurses5
+
+      # Flutter can only search for certs Fedora-way.
+      (runCommand "fedoracert" {}
+        ''
+        mkdir -p $out/etc/pki/tls/
+        ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs
+        '')
+    ];
   };
 in runCommand
   drvName
diff --git a/nixpkgs/pkgs/applications/editors/android-studio/default.nix b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
index b059747e052e..cee616410418 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
@@ -8,15 +8,19 @@ let
     inherit (gnome2) GConf gnome_vfs;
   };
   stableVersion = {
-    version = "3.5.0.21"; # "Android Studio 3.5"
-    build = "191.5791312";
-    sha256Hash = "0vvk2vhklxg9wfi4lv4sahs5ahhb1mki1msy3yixmr56vipgv52p";
+    version = "3.5.3.0"; # "Android Studio 3.5.3"
+    build = "191.6010548";
+    sha256Hash = "1nsm4d3vdx90szqd78a8mjq65xc9m5ipd35cqrlx3c3ny900sqxg";
+  };
+  betaVersion = {
+    version = "3.6.0.18"; # "Android Studio 3.6 RC 1"
+    build = "192.6071332";
+    sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q";
   };
-  betaVersion = stableVersion;
   latestVersion = { # canary & dev
-    version = "3.6.0.12"; # "Android Studio 3.6 Canary 12"
-    build = "192.5871855";
-    sha256Hash = "0pxvpxqdxv37sl72p7gml70k6kl717k6avw9p0l00cys0zbvb3zq";
+    version = "4.0.0.7"; # "Android Studio 4.0 Canary 7"
+    build = "193.6085562";
+    sha256Hash = "0vk1vwh2yhsmadkb3v3m042ckzizc41ckqvj3jax8p86gl0b4whj";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/nixpkgs/pkgs/applications/editors/atom/default.nix b/nixpkgs/pkgs/applications/editors/atom/default.nix
index 26deee3b8598..0a7e362e75ad 100644
--- a/nixpkgs/pkgs/applications/editors/atom/default.nix
+++ b/nixpkgs/pkgs/applications/editors/atom/default.nix
@@ -3,14 +3,14 @@
 let
   versions = {
     atom = {
-      version = "1.36.1";
-      sha256 = "1m7q2r3zx463k7kpqb364piqrr69wrhs033ibzxdx9y7r4204qp4";
+      version = "1.42.0";
+      sha256 = "1ira528nwxi30jfwyivlac3wkkqb9d2z4jhxwq5m7mnpm5yli6jy";
     };
 
     atom-beta = {
-      version = "1.37.0";
+      version = "1.43.0";
       beta = 0;
-      sha256 = "0aq8r5vfgq7r31qajjgcg4n5a57a2m8fvq6fzy9vq5gawkvmaxxx";
+      sha256 = "06if3w5hx7njmyal0012zawn8f5af1z4bjcbzj2c0gd15nlsgm95";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/editors/atom/env.nix b/nixpkgs/pkgs/applications/editors/atom/env.nix
index 46dd4a228645..cf783053679a 100644
--- a/nixpkgs/pkgs/applications/editors/atom/env.nix
+++ b/nixpkgs/pkgs/applications/editors/atom/env.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, zlib, glib, alsaLib, dbus, gtk3, atk, pango, freetype, fontconfig
 , libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr
-, gconf, nss, xorg, libcap, systemd, libnotify, libsecret
+, gconf, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk
 }:
 
 let
@@ -10,7 +10,7 @@ let
     xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
     xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
     xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
-    xorg.libxcb libsecret
+    xorg.libxcb libsecret libuuid at-spi2-atk
   ];
 
   libPathNative = lib.makeLibraryPath packages;
diff --git a/nixpkgs/pkgs/applications/editors/bvi/default.nix b/nixpkgs/pkgs/applications/editors/bvi/default.nix
index 3237c543ee69..2e79b80d6105 100644
--- a/nixpkgs/pkgs/applications/editors/bvi/default.nix
+++ b/nixpkgs/pkgs/applications/editors/bvi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bvi";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/bvi/${pname}-${version}.src.tar.gz";
-    sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1";
+    sha256 = "0a0yl0dcyff31k3dr4dpgqmlwygp8iaslnr5gmb6814ylxf2ad9h";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/applications/editors/bviplus/default.nix b/nixpkgs/pkgs/applications/editors/bviplus/default.nix
index 2c6b153370e4..7d70ad14b5db 100644
--- a/nixpkgs/pkgs/applications/editors/bviplus/default.nix
+++ b/nixpkgs/pkgs/applications/editors/bviplus/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     ncurses
   ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   buildFlags = [ "CFLAGS=-fgnu89-inline" ];
 
diff --git a/nixpkgs/pkgs/applications/editors/codeblocks/default.nix b/nixpkgs/pkgs/applications/editors/codeblocks/default.nix
index 72642cfbe63f..cbed08f317fa 100644
--- a/nixpkgs/pkgs/applications/editors/codeblocks/default.nix
+++ b/nixpkgs/pkgs/applications/editors/codeblocks/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
   postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
   configureFlags = [ "--enable-pch=no" ]
-    ++ optional contribPlugins [ "--with-contrib-plugins" "--with-boost-libdir=${boost}/lib" ];
+    ++ optionals contribPlugins [ "--with-contrib-plugins" "--with-boost-libdir=${boost}/lib" ];
 
   meta = {
     maintainers = [ maintainers.linquize ];
diff --git a/nixpkgs/pkgs/applications/editors/eclipse/default.nix b/nixpkgs/pkgs/applications/editors/eclipse/default.nix
index 972a9daded41..4b3a7e11f3bb 100644
--- a/nixpkgs/pkgs/applications/editors/eclipse/default.nix
+++ b/nixpkgs/pkgs/applications/editors/eclipse/default.nix
@@ -13,11 +13,10 @@ assert stdenv ? glibc;
 
 let
   platform_major = "4";
-  platform_minor = "12";
+  platform_minor = "14";
   year = "2019";
-  month = "06";
-  timestamp = "201906051800";
-
+  month = "12";
+  timestamp = "201912100610";
 in rec {
 
   buildEclipse = import ./build-eclipse.nix {
@@ -30,11 +29,11 @@ in rec {
 
   eclipse-cpp = buildEclipse {
     name = "eclipse-cpp-${platform_major}.${platform_minor}";
-    description = "Eclipse IDE for C/C++ Developers, Oxygen release";
+    description = "Eclipse IDE for C/C++ Developers";
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "3mfljabrwbwq256vvsp9qjb96hzlbpwgnb3wz806pbyh0ibfq6s1hn8kh5aaa2da5821v0ykcxa12jagj7naqp4g91jqxp1wb1ygz2q";
+        sha512 = "28h8z45j7zlcbvvabzsniwqls1lns21isx69y6l207a869rknp9vzg6506q6zalj9b49j8c7ynkn379xgbzp07i6zw3dzk3pqp2rgam";
       };
   };
 
@@ -46,7 +45,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "18p6xz6rq4w6j39b2k9kjpz8s1nljfq44g2cmvxqjgjfkq8lk4ij73ssyv1raly4wkm7r22ixacswdjmyj942k5vpv9y11i91hp1scv";
+        sha512 = "1g1zsz3c2kx4vs1mjpcisbk81lk4hsr1z2fw46lih825c53vwf59snp8d97c8yw2i25y0ml48nc1nskib6qnif8m2h6rpah7kgmi8ay";
       };
   };
 
@@ -58,7 +57,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "0qiyk95qhdqcfgg5hgc7pcpbpjy9jnx7l3vb7s4cgijdz2xz0n5psh11lpj3whk2amh4iwkyx7kn8fxdq7lm03rlgx67cbk7p8my16m";
+        sha512 = "05nsldw937l1g9fj964njivgkf2ipk1rh1jg5w8svdhpp3v1pp3iinfm2mz9kk8namwfkx8krsvsxcgvqyzgrkhf42wqh53vqrjf70h";
       };
   };
 
@@ -88,7 +87,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "3bbc8d66ms7nhg6f8gb0bnzjqz26wixpipn4n9qf0azcplrv2j91z8hjw1fx39dx4pqnsf442bkgab4qqhkpks7qq54110l01q6gvy9";
+        sha512 = "0dcbxzjqc27v1faz16yxqcm6zrbna4kkd32xy7paadiwn125y6ijx8zvda4kc7bih6v5b9ch2i0z5ndra1lcjcc88z6cklh0vngjkh1";
       };
   };
 
@@ -100,7 +99,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "20qs1aagh4drsycvar3x42zy422zl34yg1p3vhxbqfbf7v3z1d3cxs9ah61x4bdxx9bkfwchasqp1wr15nflch9g0i50bdki3cgng1d";
+        sha512 = "21lhgv3z23mn8q0gffgxlfwhyxb348zjnzv716zsys7h7kj5vigl45q9mz0qrl11524rxx7jwi901jjd4l258w9kp7wzlq0d5n1r39m";
       };
   };
 
diff --git a/nixpkgs/pkgs/applications/editors/eclipse/plugins.nix b/nixpkgs/pkgs/applications/editors/eclipse/plugins.nix
index cf7980582ff7..364d432f1e34 100644
--- a/nixpkgs/pkgs/applications/editors/eclipse/plugins.nix
+++ b/nixpkgs/pkgs/applications/editors/eclipse/plugins.nix
@@ -254,12 +254,12 @@ rec {
 
   cdt = buildEclipseUpdateSite rec {
     name = "cdt-${version}";
-    version = "9.8.1";
+    version = "9.10.0";
 
     src = fetchzip {
       stripRoot = false;
-      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.8/${name}/${name}.zip";
-      sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv";
+      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.10/${name}/${name}.zip";
+      sha256 = "0rjm91j0h1aq9lq4sdwgp9b2yp4w9lr13n82z32dw3gz3nby1mvi";
     };
 
     meta = with stdenv.lib; {
@@ -474,12 +474,12 @@ rec {
 
   jdt = buildEclipseUpdateSite rec {
     name = "jdt-${version}";
-    version = "4.12";
+    version = "4.14";
 
     src = fetchzip {
       stripRoot = false;
-      url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.12-201906051800/org.eclipse.jdt-4.12.zip;
-      sha256 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb";
+      url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.14-201912100610/org.eclipse.jdt-4.14.zip;
+      sha256 = "16c5v59mkb0cyfhf2475ds1ajma65bhqfxjr6v59hianqxq9h9la";
     };
 
     meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/editors/edbrowse/default.nix b/nixpkgs/pkgs/applications/editors/edbrowse/default.nix
index 0de514233f8e..c43640b65245 100644
--- a/nixpkgs/pkgs/applications/editors/edbrowse/default.nix
+++ b/nixpkgs/pkgs/applications/editors/edbrowse/default.nix
@@ -1,19 +1,11 @@
-{ stdenv, fetchFromGitHub, fetchpatch, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
+{ stdenv, fetchFromGitHub, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
 
 stdenv.mkDerivation rec {
   pname = "edbrowse";
-  version = "3.7.4";
+  version = "3.7.6";
 
   buildInputs = [ curl pcre readline openssl duktape perl html-tidy ];
 
-  patches = [
-    # Fix build against recent libcurl
-    (fetchpatch {
-      url = https://github.com/CMB/edbrowse/commit/5d2b9e21fdf019f461ebe62738d615428d5db963.diff;
-      sha256 = "167q8n0syj3iv6lxrbpv4kvb63j4byj4qxrxayy08bah3pss3gky";
-    })
-  ];
-
   postPatch = ''
     for i in ./tools/*.pl
     do
@@ -21,13 +13,16 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = "-C src prefix=$(out)";
+  makeFlags = [
+    "-C" "src"
+    "prefix=${placeholder "out"}"
+  ];
 
   src = fetchFromGitHub {
     owner = "CMB";
     repo = "edbrowse";
     rev = "v${version}";
-    sha256 = "0i9ivyfy1dd16c89f392kwx6wxgkkpyq2hl32jhzra0fb0zyl0k6";
+    sha256 = "0yk4djb9q8ll94fs57y706bsqlar4pfx6ysasvkzj146926lrh8a";
   };
   meta = with stdenv.lib; {
     description = "Command Line Editor Browser";
@@ -39,8 +34,8 @@ stdenv.mkDerivation rec {
       edbrowse can also tap into databases through odbc. It was primarily written by Karl Dahlke.
       '';
     license = licenses.gpl1Plus;
-    homepage = http://edbrowse.org/;
-    maintainers = [ maintainers.schmitthenner maintainers.vrthra ];
+    homepage = "https://edbrowse.org/";
+    maintainers = with maintainers; [ schmitthenner vrthra equirosa ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
index 3d34c7a462e3..33f2ad79ea0c 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 9e5324b1041b..bfbddb6fc37c 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -208,10 +208,10 @@
       elpaBuild {
         pname = "async";
         ename = "async";
-        version = "1.9.2";
+        version = "1.9.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/async-1.9.2.tar";
-          sha256 = "17fnvrj7jww29sav6a6jpizclg4w2962m6h37akpii71gf0vrffw";
+          url = "https://elpa.gnu.org/packages/async-1.9.3.tar";
+          sha256 = "1pmfjrlapvhkjqcal8x95w190hm9wsgxb3byc22rc1gf5z0p52c8";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -223,10 +223,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "12.1.2";
+        version = "12.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-12.1.2.tar";
-          sha256 = "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n";
+          url = "https://elpa.gnu.org/packages/auctex-12.2.0.tar";
+          sha256 = "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -324,6 +324,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    bluetooth = callPackage ({ dash, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "bluetooth";
+        ename = "bluetooth";
+        version = "0.1.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/bluetooth-0.1.2.el";
+          sha256 = "1vp2vpyq0ybjni35ics1mg1kiwgvc7x12dlmvygy78sqp52sfkcv";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/bluetooth.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     bnf-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "bnf-mode";
@@ -542,10 +557,10 @@
       elpaBuild {
         pname = "company";
         ename = "company";
-        version = "0.9.10";
+        version = "0.9.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/company-0.9.10.tar";
-          sha256 = "1w6a11rzsx5iyxn76xarzbghm460j0ampqxlh4j12bswvbn7swnd";
+          url = "https://elpa.gnu.org/packages/company-0.9.11.tar";
+          sha256 = "05fmkvsn5byaakl8i26nvnmiiz0766r17pni6x7bfrqby39ls233";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -636,16 +651,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    csv-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    csv-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "csv-mode";
         ename = "csv-mode";
-        version = "1.8";
+        version = "1.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/csv-mode-1.8.el";
-          sha256 = "1ywgc61pnawiwfpjgxavfpfxqd3dm9niq6srbc70pd54ca6yqby6";
+          url = "https://elpa.gnu.org/packages/csv-mode-1.10.el";
+          sha256 = "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/csv-mode.html";
           license = lib.licenses.free;
@@ -711,21 +726,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    debbugs = callPackage ({ cl-lib ? null
-                           , elpaBuild
-                           , emacs
-                           , fetchurl
-                           , lib
-                           , soap-client }:
+    debbugs = callPackage ({ elpaBuild, emacs, fetchurl, lib, soap-client }:
       elpaBuild {
         pname = "debbugs";
         ename = "debbugs";
-        version = "0.19";
+        version = "0.21";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/debbugs-0.19.tar";
-          sha256 = "0cpby8f088cqb5mpd756a2mb706x763k15cg2xdmmsxl415k3yw4";
+          url = "https://elpa.gnu.org/packages/debbugs-0.21.tar";
+          sha256 = "1xx1wjfpsnwx2fpydqhwy9k1b5kjk8dqbkzf8lqaj9c4rvjbn50a";
         };
-        packageRequires = [ cl-lib emacs soap-client ];
+        packageRequires = [ emacs soap-client ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/debbugs.html";
           license = lib.licenses.free;
@@ -810,10 +820,10 @@
       elpaBuild {
         pname = "dired-git-info";
         ename = "dired-git-info";
-        version = "0.2";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dired-git-info-0.2.el";
-          sha256 = "1pxn6kmgnynil13gp3m0y8hhkvciy3dcd55psj70pkrj50555dqx";
+          url = "https://elpa.gnu.org/packages/dired-git-info-0.3.1.el";
+          sha256 = "1kd0rpw7l32wvwi7q8s0inx4bc66xrl7hkllnlicyczsnzw2z52z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -915,10 +925,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.6.11";
+        version = "0.6.12";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.6.11.tar";
-          sha256 = "1ljcp4vy8z5xbcrlf33xgi63a2px4fhx6928qhwr7sy7jwil2s6n";
+          url = "https://elpa.gnu.org/packages/ebdb-0.6.12.tar";
+          sha256 = "1nmg2xxhfv53h13kb19xd4x5a7q9ln2rwzxc5v8zkf0g3vaxmhxw";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -975,10 +985,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20190902";
+        version = "20191105";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20190902.tar";
-          sha256 = "09rk01ykvvmmzadkz8y064iil2sm6ql6qz0rj0jjlnyymi58lj69";
+          url = "https://elpa.gnu.org/packages/eev-20191105.tar";
+          sha256 = "0w53wq8nhl4c5czda5imcv7y97pgbpfmvcvpi6kdwl3jbn9cx396";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -995,10 +1005,10 @@
       elpaBuild {
         pname = "eglot";
         ename = "eglot";
-        version = "1.4";
+        version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eglot-1.4.tar";
-          sha256 = "1f2p08ly17jcjyh8bif5zhmzhx3z5y9z20v6z24z939bqk8c1pdq";
+          url = "https://elpa.gnu.org/packages/eglot-1.5.tar";
+          sha256 = "00ifgz9r9xvy19zsz1yfls6n1acvms14p86nbw0x6ldjgvpf279i";
         };
         packageRequires = [ emacs flymake jsonrpc ];
         meta = {
@@ -1056,6 +1066,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    elisp-benchmarks = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "elisp-benchmarks";
+        ename = "elisp-benchmarks";
+        version = "1.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.1.tar";
+          sha256 = "1blx3wsnz94va67437rmqa4i90gm9ig69bbmg9lp6jqyxrm9d7gc";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/elisp-benchmarks.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     enwc = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "enwc";
@@ -1327,10 +1352,10 @@
       elpaBuild {
         pname = "gnorb";
         ename = "gnorb";
-        version = "1.6.3";
+        version = "1.6.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gnorb-1.6.3.tar";
-          sha256 = "14cdldlvq2fx0j9g1bbzb6dq7yp9rw6bv39sls67i2p35h3gc2gd";
+          url = "https://elpa.gnu.org/packages/gnorb-1.6.4.tar";
+          sha256 = "1zm4c48x9vjqyn1h60lphhnzzg005wcad5mzn0majk0h59qcr0ff";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1379,10 +1404,10 @@
       elpaBuild {
         pname = "gnus-mock";
         ename = "gnus-mock";
-        version = "0.4.2";
+        version = "0.4.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gnus-mock-0.4.2.tar";
-          sha256 = "04ddmdm2hykgr2y9g2yzmjp3fszhaywwnxhiy608cpvqdjwlwhn7";
+          url = "https://elpa.gnu.org/packages/gnus-mock-0.4.4.tar";
+          sha256 = "0v94z800f1y3ylbgbrw4nslqm7j2jr592g402nxgj9rlldazzxg0";
         };
         packageRequires = [];
         meta = {
@@ -1521,10 +1546,10 @@
       elpaBuild {
         pname = "hyperbole";
         ename = "hyperbole";
-        version = "7.0.3";
+        version = "7.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hyperbole-7.0.3.tar";
-          sha256 = "1mvplaxfjji00gg8rkhidfsdl8knwi6c0ai149zm4djsfaww3ikh";
+          url = "https://elpa.gnu.org/packages/hyperbole-7.0.6.tar";
+          sha256 = "08gi4v76s53nfmn3s0qcxc3zii0pspjfd6ry7jq1kgm3z34x8hab";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1566,10 +1591,10 @@
       elpaBuild {
         pname = "ivy";
         ename = "ivy";
-        version = "0.12.0";
+        version = "0.13.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ivy-0.12.0.tar";
-          sha256 = "14q9kh48iabrnhwcmhlvgk7sg4a0j5c3zjp0yzj1ijrz5zbdhxxz";
+          url = "https://elpa.gnu.org/packages/ivy-0.13.0.tar";
+          sha256 = "18r9vb9v7hvdkylchn436sgh7ji9avhry1whjip8zrn0c1bnqmk8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1596,10 +1621,10 @@
       elpaBuild {
         pname = "javaimp";
         ename = "javaimp";
-        version = "0.6.1";
+        version = "0.7.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/javaimp-0.6.1.tar";
-          sha256 = "1piaj3sgw6a05g9dhkbrn5n490w01z1rxa7axh3vg1xqbs6rv7lw";
+          url = "https://elpa.gnu.org/packages/javaimp-0.7.1.tar";
+          sha256 = "0i93akp9jhlpgbm454wkjhir8cbzhfjb97cxxlk8n4pgzbh481l3";
         };
         packageRequires = [];
         meta = {
@@ -1656,10 +1681,10 @@
       elpaBuild {
         pname = "jsonrpc";
         ename = "jsonrpc";
-        version = "1.0.7";
+        version = "1.0.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/jsonrpc-1.0.7.el";
-          sha256 = "19z35gjphl4mlgpznfhlccgipnmbb3c1dvax48f4hw8qwksfcac1";
+          url = "https://elpa.gnu.org/packages/jsonrpc-1.0.9.el";
+          sha256 = "1ncsdv9pr2zsfa9mxm4n68fppnkpm410mh72r7h5f8yj17lz00ss";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1802,16 +1827,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    loccur = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    loccur = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "loccur";
         ename = "loccur";
-        version = "1.2.3";
+        version = "1.2.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/loccur-1.2.3.el";
-          sha256 = "09pxp03g4pg95cpqiadyv9dz6qrwd9igrkwrhm4s38cscmqm7dzq";
+          url = "https://elpa.gnu.org/packages/loccur-1.2.4.el";
+          sha256 = "00f1ifa4z5ay90bd2002fmj83d7xqzrcr9018q8crlypmpxkyh7j";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/loccur.html";
           license = lib.licenses.free;
@@ -2070,10 +2095,10 @@
       elpaBuild {
         pname = "nhexl-mode";
         ename = "nhexl-mode";
-        version = "1.3";
+        version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nhexl-mode-1.3.el";
-          sha256 = "1fcy4ybr12dvswmzaqkv4798snb1x1y7ldxwrsgjv5sx7bb5j60z";
+          url = "https://elpa.gnu.org/packages/nhexl-mode-1.4.el";
+          sha256 = "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2160,10 +2185,10 @@
       elpaBuild {
         pname = "objed";
         ename = "objed";
-        version = "0.8.1";
+        version = "0.8.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/objed-0.8.1.tar";
-          sha256 = "06jfvz7avh28p1ghyd1aik5lz8k9fnv1fcxh9npm1iyvh810y5zj";
+          url = "https://elpa.gnu.org/packages/objed-0.8.3.tar";
+          sha256 = "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2220,10 +2245,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.2.6";
+        version = "9.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-9.2.6.tar";
-          sha256 = "0ikd78k4yw4sm5x7l3dsbvfcmvnv5qna2mxirr560gvcnzhr0zg4";
+          url = "https://elpa.gnu.org/packages/org-9.3.1.tar";
+          sha256 = "1n79h6ihhsaxxbnl9hw511aav0215m3pa51sa5fh3ddknjfplian";
         };
         packageRequires = [];
         meta = {
@@ -2250,10 +2275,10 @@
       elpaBuild {
         pname = "orgalist";
         ename = "orgalist";
-        version = "1.9";
+        version = "1.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/orgalist-1.9.el";
-          sha256 = "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6";
+          url = "https://elpa.gnu.org/packages/orgalist-1.11.el";
+          sha256 = "0zbqkk540rax32s8szp5zgz3a02zw88fc1dmjmyw6h3ls04m91kl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2265,10 +2290,10 @@
       elpaBuild {
         pname = "osc";
         ename = "osc";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/osc-0.1.el";
-          sha256 = "09nzbbzvxfrjm91wawbv6bg6fqlcx1qi0711qc73yfrbc8ndsnsb";
+          url = "https://elpa.gnu.org/packages/osc-0.2.el";
+          sha256 = "1b1ck9kb9mkyd7nlj4cqahsshar6h8mpvqss6n3dp4cl3r6dk1sw";
         };
         packageRequires = [];
         meta = {
@@ -2385,10 +2410,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.3.1";
+        version = "0.3.27";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.3.1.tar";
-          sha256 = "1h6s5k156mbbkaysb07vcb13k3izs91pwigzcfh6jvv3lak4azg5";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.3.27.tar";
+          sha256 = "1p6s5dq0d1ysm993qax8mi2sv4956ggainfbhsn65gc2718kjd0h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2505,10 +2530,10 @@
       elpaBuild {
         pname = "rainbow-mode";
         ename = "rainbow-mode";
-        version = "1.0.1";
+        version = "1.0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.1.el";
-          sha256 = "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf";
+          url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.3.el";
+          sha256 = "0cpwqllhv3cb0gii22cj9i731rk3sbf2drm5m52w5yclm8sfr339";
         };
         packageRequires = [];
         meta = {
@@ -2725,10 +2750,10 @@
       elpaBuild {
         pname = "relint";
         ename = "relint";
-        version = "1.10";
+        version = "1.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/relint-1.10.el";
-          sha256 = "1l0lh4pkksw7brmhhbaikwzs4zkgd2962ks1zy7m262dvkhxjfv8";
+          url = "https://elpa.gnu.org/packages/relint-1.11.tar";
+          sha256 = "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7";
         };
         packageRequires = [ xr ];
         meta = {
@@ -3046,10 +3071,10 @@
       elpaBuild {
         pname = "svg-clock";
         ename = "svg-clock";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/svg-clock-1.0.el";
-          sha256 = "0j6zk7fsv72af12phqdw8axbn2y8y4rfgxiab1p3pxq3y7k47jid";
+          url = "https://elpa.gnu.org/packages/svg-clock-1.1.el";
+          sha256 = "12wf4dd3vgbq1v3363cil4wr2skx60xy546jc69ycyk0jq7plcq3";
         };
         packageRequires = [ emacs svg ];
         meta = {
@@ -3151,10 +3176,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.4.2.2";
+        version = "2.4.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.4.2.2.tar";
-          sha256 = "0bjfnxxyn8xgw10ybnjrza2gfwqifa3q7rh0bp6pidlhg45718p8";
+          url = "https://elpa.gnu.org/packages/tramp-2.4.3.tar";
+          sha256 = "0m1w4myvd2z293xcdyj7yc75b108f67f98i0jrizhdaj9nlw8j5f";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3211,10 +3236,10 @@
       elpaBuild {
         pname = "undo-tree";
         ename = "undo-tree";
-        version = "0.6.5";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/undo-tree-0.6.5.el";
-          sha256 = "0bs97xyxwfkjvzax9llg0zsng0vyndnrxj5d2n5mmynaqcn89d37";
+          url = "https://elpa.gnu.org/packages/undo-tree-0.7.el";
+          sha256 = "0mc5spiqx20z8vh8b24dp9hqj27h5bm5wqk0ga7c6s6mp69r72h4";
         };
         packageRequires = [];
         meta = {
@@ -3241,10 +3266,10 @@
       elpaBuild {
         pname = "uniquify-files";
         ename = "uniquify-files";
-        version = "1.0.1";
+        version = "1.0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/uniquify-files-1.0.1.tar";
-          sha256 = "0c4lf25503z71wz9f0v6ag5lmqfxz94lmq65xvzvhmqvkxvsgpm5";
+          url = "https://elpa.gnu.org/packages/uniquify-files-1.0.2.tar";
+          sha256 = "1vib79wsz5k94b9z0wiwhbzsdm70y9dla6szw2bb75245cx3kr0h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3327,10 +3352,10 @@
       elpaBuild {
         pname = "verilog-mode";
         ename = "verilog-mode";
-        version = "2019.6.21.103209889";
+        version = "2019.12.17.268053413";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/verilog-mode-2019.6.21.103209889.el";
-          sha256 = "0hlcp2jhm30bzx6iabdb31aqv0dmmim30g9z5kqb0hl1bd1dnm9m";
+          url = "https://elpa.gnu.org/packages/verilog-mode-2019.12.17.268053413.el";
+          sha256 = "0g42sd5s5xrck077qx0p2sldnr2f9qm8dsr9d0fiaks294sk8li8";
         };
         packageRequires = [];
         meta = {
@@ -3480,10 +3505,10 @@
       elpaBuild {
         pname = "websocket";
         ename = "websocket";
-        version = "1.11.1";
+        version = "1.12";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/websocket-1.11.1.tar";
-          sha256 = "09s8qyi012djmm3vrj1qg1zqqy0h0cbcfzfkhybvqi4amy4jgliw";
+          url = "https://elpa.gnu.org/packages/websocket-1.12.tar";
+          sha256 = "0ap4z80c6pzpb69wrx0hsvwzignxmd2b9xy974by9gf5xm2wpa8w";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3506,6 +3531,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    windower = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "windower";
+        ename = "windower";
+        version = "0.0.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/windower-0.0.1.el";
+          sha256 = "19xizbfbnzhhmhlqy20ir1a1y87bjwrq67bcawxy6nxpkwbizsv7";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/windower.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     windresize = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "windresize";
@@ -3635,10 +3675,10 @@
       elpaBuild {
         pname = "yasnippet";
         ename = "yasnippet";
-        version = "0.13.0";
+        version = "0.14.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/yasnippet-0.13.0.tar";
-          sha256 = "1klnvyy8az3h7i7yrpbhad4ka9p9vlgf918ha1vf7i3wbcbm0s5z";
+          url = "https://elpa.gnu.org/packages/yasnippet-0.14.0.tar";
+          sha256 = "1lbil3dyz43nmr2lvx9vhpybqynpb7shg7m1xl1f7j4vm4dh0r08";
         };
         packageRequires = [ cl-lib ];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index a6bea779eae0..a6d657199b98 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -40,6 +40,9 @@ self: let
       cl-lib = null; # builtin
       tle = null; # builtin
       advice = null; # builtin
+      seq = if lib.versionAtLeast self.emacs.version "27"
+            then null
+            else super.seq;
     };
 
     elpaPackages = super // overrides;
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/libgenerated.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/libgenerated.nix
index 0529fce2b16d..57bccc608183 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/libgenerated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/libgenerated.nix
@@ -77,7 +77,7 @@ in {
                 url = "https://raw.githubusercontent.com/melpa/melpa/${commit}/recipes/${ename}";
                 inherit sha256;
               };
-            packageRequires = lib.optional (! isNull deps)
+            packageRequires = lib.optionals (! isNull deps)
               (map (dep: pkgargs.${dep} or self.${dep} or null)
                    deps);
             meta = (sourceArgs.meta or {}) // {
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/manual-packages.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/manual-packages.nix
index cf1e592e240f..c3c21b40a659 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/manual-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -104,21 +104,6 @@
 
   icicles = callPackage ./icicles { };
 
-  rtags = melpaBuild {
-    inherit (external.rtags) version src meta;
-
-    pname = "rtags";
-
-    dontConfigure = true;
-
-    propagatedUserEnvPkgs = [ external.rtags ];
-    recipe = pkgs.writeText "recipe" ''
-      (rtags
-       :repo "andersbakken/rtags" :fetcher github
-       :files ("src/*.el"))
-    '';
-  };
-
   lib-requires =
     callPackage ./lib-requires { };
 
@@ -134,6 +119,8 @@
 
   structured-haskell-mode = self.shm;
 
+  sv-kalender = callPackage ./sv-kalender { };
+
   thingatpt-plus = callPackage ./thingatpt-plus { };
 
   tramp = callPackage ./tramp { };
@@ -145,9 +132,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/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 838e57343c43..e15da80b3b1b 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -16,7 +16,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
 
   dontConfigure = pkg: if pkg != null then pkg.override (args: {
     melpaBuild = drv: args.melpaBuild (drv // {
-      configureScript = "true";
+      dontConfigure = true;
     });
   }) else null;
 
@@ -26,6 +26,17 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
     });
   }) else null;
 
+  externalSrc = pkg : epkg : if pkg != null then pkg.override (args : {
+    melpaBuild = drv : args.melpaBuild (drv // {
+      inherit (epkg) src version;
+
+      propagatedUserEnvPkgs = [ epkg ];
+    });
+  }) else null;
+
+  fix-rtags = pkg : if pkg != null then dontConfigure (externalSrc pkg external.rtags)
+                    else null;
+
   generateMelpa = lib.makeOverridable ({
     archiveJson ? ./recipes-archive-melpa.json
   }: let
@@ -36,7 +47,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
     overrides = rec {
       shared = rec {
         # Expects bash to be at /bin/bash
-        ac-rtags = markBroken super.ac-rtags;
+        ac-rtags = fix-rtags super.ac-rtags;
 
         airline-themes = super.airline-themes.override {
           inherit (self.melpaPackages) powerline;
@@ -52,17 +63,11 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # part of a larger package
         caml = dontConfigure super.caml;
 
-        cmake-mode = super.cmake-mode.overrideAttrs (attrs: {
-          buildInputs = (attrs.buildInputs or []) ++ [
-            external.openssl
-          ];
-          nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ [
-            external.pkgconfig
-          ];
-        });
+        # part of a larger package
+        # upstream issue: missing package version
+        cmake-mode = dontConfigure super.cmake-mode;
 
-        # Expects bash to be at /bin/bash
-        company-rtags = markBroken super.company-rtags;
+        company-rtags = fix-rtags super.company-rtags;
 
         easy-kill-extras = super.easy-kill-extras.override {
           inherit (self.melpaPackages) easy-kill;
@@ -85,6 +90,15 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
           stripDebugList = [ "share" ];
         });
 
+        # https://github.com/syl20bnr/evil-escape/pull/86
+        evil-escape = super.evil-escape.overrideAttrs (attrs: {
+          postPatch = ''
+            substituteInPlace evil-escape.el \
+              --replace ' ;;; evil' ';;; evil'
+          '';
+          packageRequires = with self; [ evil ];
+        });
+
         evil-magit = super.evil-magit.overrideAttrs (attrs: {
           # searches for Git at build time
           nativeBuildInputs =
@@ -95,8 +109,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
           inherit (self.melpaPackages) ess ctable popup;
         };
 
-        # Expects bash to be at /bin/bash
-        flycheck-rtags = markBroken super.flycheck-rtags;
+        flycheck-rtags = fix-rtags super.flycheck-rtags;
 
         pdf-tools = super.pdf-tools.overrideAttrs(old: {
           nativeBuildInputs = [ external.pkgconfig ];
@@ -110,11 +123,8 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         });
 
         # Build same version as Haskell package
-        hindent = super.hindent.overrideAttrs (attrs: {
-          version = external.hindent.version;
-          src = external.hindent.src;
+        hindent = (externalSrc super.hindent external.hindent).overrideAttrs (attrs: {
           packageRequires = [ self.haskell-mode ];
-          propagatedUserEnvPkgs = [ external.hindent ];
         });
 
         irony = super.irony.overrideAttrs (old: {
@@ -147,8 +157,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
           HOME = "/tmp";
         });
 
-        # Expects bash to be at /bin/bash
-        ivy-rtags = markBroken super.ivy-rtags;
+        ivy-rtags = fix-rtags super.ivy-rtags;
 
         magit = super.magit.overrideAttrs (attrs: {
           # searches for Git at build time
@@ -209,6 +218,8 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # part of a larger package
         notmuch = dontConfigure super.notmuch;
 
+        rtags = dontConfigure (externalSrc super.rtags external.rtags);
+
         shm = super.shm.overrideAttrs (attrs: {
           propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
         });
@@ -277,10 +288,6 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # upstream issue: missing file header
         bufshow = markBroken super.bufshow;
 
-        # part of a larger package
-        # upstream issue: missing package version
-        cmake-mode = dontConfigure super.cmake-mode;
-
         # upstream issue: missing file header
         connection = markBroken super.connection;
 
@@ -308,8 +315,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # upstream issue: doesn't build
         eterm-256color = markBroken super.eterm-256color;
 
-        # Expects bash to be at /bin/bash
-        helm-rtags = markBroken super.helm-rtags;
+        helm-rtags = fix-rtags super.helm-rtags;
 
         # upstream issue: missing file header
         qiita = markBroken super.qiita;
@@ -353,8 +359,7 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
             (attrs.nativeBuildInputs or []) ++ [ external.git ];
         });
 
-        # Expects bash to be at /bin/bash
-        helm-rtags = markBroken super.helm-rtags;
+        helm-rtags = fix-rtags super.helm-rtags;
 
         orgit =
           (super.orgit.overrideAttrs (attrs: {
@@ -385,52 +390,22 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
             (attrs.nativeBuildInputs or []) ++ [ external.git ];
         });
 
-        vterm = let
-          emacsSources = pkgs.stdenv.mkDerivation {
-            name = self.emacs.name + "-sources";
-            src = self.emacs.src;
-
-            dontConfigure = true;
-            dontBuild = true;
-            doCheck = false;
-            fixupPhase = ":";
-
-            installPhase = ''
-              mkdir -p $out
-              cp -a * $out
-            '';
-
-          };
-
-          libvterm = pkgs.libvterm-neovim.overrideAttrs(old: rec {
-            pname = "libvterm-neovim";
-            version = "2019-04-27";
-            name = pname + "-" + version;
-            src = pkgs.fetchFromGitHub {
-              owner = "neovim";
-              repo = "libvterm";
-              rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
-              sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
-            };
-          });
-
-        in pkgs.stdenv.mkDerivation {
-          inherit (super.vterm) name version src;
-
-          nativeBuildInputs = [ pkgs.cmake ];
-          buildInputs = [ self.emacs libvterm ];
-
+        vterm = super.vterm.overrideAttrs(old: {
+          buildInputs = old.buildInputs ++ [ self.emacs pkgs.cmake pkgs.libvterm-neovim ];
           cmakeFlags = [
-            "-DEMACS_SOURCE=${emacsSources}"
-            "-DUSE_SYSTEM_LIBVTERM=True"
+            "-DEMACS_SOURCE=${self.emacs.src}"
+            "-DUSE_SYSTEM_LIBVTERM=ON"
           ];
-
-          installPhase = ''
-            install -d $out/share/emacs/site-lisp
-            install ../*.el $out/share/emacs/site-lisp
-            install ../*.so $out/share/emacs/site-lisp
+          # we need the proper out directory to exist, so we do this in the
+          # postInstall instead of postBuild
+          postInstall = ''
+            pushd source/build >/dev/null
+            make
+            install -m444 -t $out/share/emacs/site-lisp/elpa/vterm-** ../*.so
+            popd > /dev/null
+            rm -rf $out/share/emacs/site-lisp/elpa/vterm-**/{CMake*,build,*.c,*.h}
           '';
-        };
+        });
         # Legacy alias
         emacs-libvterm = unstable.vterm;
 
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix
index c1fad2dc8651..8d70794a7540 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20190527";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20190527.tar";
-          sha256 = "1fc2nyylzpikjikyb24xq2mcilridcahmjwmg0s426dqrgqpm9ij";
+          url = "http://orgmode.org/elpa/org-20191203.tar";
+          sha256 = "1fcgiswjnqmfzx3xkmlqyyhc4a8ms07vdsv7nkizgxqdh9hwfm2q";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20190527";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20190527.tar";
-          sha256 = "16kf47ij25fijf6pbfxzq9xzildj1asdzhnkf5zv5pn4312pvgnq";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20191203.tar";
+          sha256 = "1kvw95492acb7gqn8gxbp1vg4fyw80w43yvflxnfxdf6jnnw2wah";
         };
         packageRequires = [];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json b/nixpkgs/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
index 3d0011eb0f07..66d5f65953bc 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
@@ -234,16 +234,16 @@
   "repo": "abstools/abs-mode",
   "unstable": {
    "version": [
-    20190404,
-    2304
+    20191204,
+    1751
    ],
    "deps": [
     "erlang",
     "flymake",
     "maude-mode"
    ],
-   "commit": "31fb36f9206203062b8c618fef6ad484e44af226",
-   "sha256": "0h0zsjqhjm18ppmaqv2kn4q1mchc1igcz80zwz8523n2w2gk9bri"
+   "commit": "30479e8341679711dc960b26d01d5908f8a05bb4",
+   "sha256": "1dbrz1wxwqjg25pzjhgfs9mnii8mna2ydqvrz6xahvqsvfplmlrf"
   },
   "stable": {
    "version": [
@@ -961,8 +961,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "4490d168778a61a4ee8623defe760164cd9745b8",
-   "sha256": "1mkxayqrvz246gxr9wjabsn015hnjq96ys71syb6r4ykjn892a6m"
+   "commit": "7b8db219080b714a7b8ba452ddb82bd08f7db152",
+   "sha256": "1zm04hqy6dg57swk05qvl5idzb11camcdmh7lrh6mqsvrcsvym2q"
   },
   "stable": {
    "version": [
@@ -987,8 +987,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20190816,
-    548
+    20200103,
+    656
    ],
    "deps": [
     "dash",
@@ -998,8 +998,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "4490d168778a61a4ee8623defe760164cd9745b8",
-   "sha256": "1mkxayqrvz246gxr9wjabsn015hnjq96ys71syb6r4ykjn892a6m"
+   "commit": "7b8db219080b714a7b8ba452ddb82bd08f7db152",
+   "sha256": "1zm04hqy6dg57swk05qvl5idzb11camcdmh7lrh6mqsvrcsvym2q"
   },
   "stable": {
    "version": [
@@ -1058,27 +1058,27 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20181117,
-    1949
+    20191222,
+    920
    ],
    "deps": [
     "auto-complete",
     "rtags"
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
    ],
    "deps": [
     "auto-complete",
     "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -1361,14 +1361,14 @@
   "repo": "abo-abo/ace-link",
   "unstable": {
    "version": [
-    20190716,
-    920
+    20191219,
+    1209
    ],
    "deps": [
     "avy"
    ],
-   "commit": "9b6d02564650e963ce05d124f83ced17e0027d7f",
-   "sha256": "06jac3nlmnsbw9hiyqjxmf7igjs8xxcvdih6nf63lbnvm0qnazyn"
+   "commit": "1ae238e1a00c65e47cdd1bc1bd88015332b2b615",
+   "sha256": "0izdfx834dsgnxdh3gx6f38rmxg1dwwwjknl64f6il0b3dxbnbx9"
   },
   "stable": {
    "version": [
@@ -1474,14 +1474,14 @@
   "repo": "abo-abo/ace-window",
   "unstable": {
    "version": [
-    20190708,
-    933
+    20191022,
+    1203
    ],
    "deps": [
     "avy"
    ],
-   "commit": "a5344925e399e1f015721cda6cf5db03c90ab87a",
-   "sha256": "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"
+   "commit": "edbbb1b77c3fb939e4d9057443bc1897321d0095",
+   "sha256": "1n8w6svks0pmslzg5zz1sny4hfnvych06cwzs3bvbmnfm4x6maqh"
   },
   "stable": {
    "version": [
@@ -1498,20 +1498,20 @@
  },
  {
   "ename": "achievements",
-  "commit": "83ec19a4ebac6b2d0fd84939b393848f82620978",
-  "sha256": "1pwlibq87ph20z2pssk5hbgs6v8kdym9193jjdx2rxp0nic4k0cr",
-  "fetcher": "bitbucket",
+  "commit": "2790c00a79df237cf853a00f094fdeca9e532a9a",
+  "sha256": "1cl2rlmfhs5mhh5rjdr66a0mszy9hb50z8fxn1c081cnqd6iw8a2",
+  "fetcher": "gitlab",
   "repo": "gvol/emacs-achievements",
   "unstable": {
    "version": [
-    20150530,
-    1826
+    20150531,
+    1317
    ],
    "deps": [
     "keyfreq"
    ],
-   "commit": "18a422131c12aff723dde17bae08989efd93232e",
-   "sha256": "0nk1zhqx0lvckjc98b36125148zgx1l2axln8gvkdwlhrd2cc6vj"
+   "commit": "c8275ee492d56255999d58f2988129ab29145182",
+   "sha256": "14p9lmnrpsnx94ycvsqmfxnk5kws0cman4a6fbnikl35ma8zc01x"
   }
  },
  {
@@ -1600,20 +1600,26 @@
   "repo": "gonewest818/adafruit-wisdom.el",
   "unstable": {
    "version": [
-    20180225,
-    52
+    20191217,
+    511
    ],
-   "commit": "aafc01726f1b3160321d40160298a0e1b054b382",
-   "sha256": "18p55zghycsx88dn0iw610fklkhi5chzycrpjb4xzs5x1l5l2v08"
+   "deps": [
+    "request"
+   ],
+   "commit": "656e360c8121e8c2f5f11b32671a416e1c8e52f4",
+   "sha256": "09dry0i92m1hhh1xrm1bb28d8plr1ard6wgl90a3d8hnbdl5p0fg"
   },
   "stable": {
    "version": [
     0,
-    2,
-    1
+    3,
+    0
+   ],
+   "deps": [
+    "request"
    ],
-   "commit": "2b353f9029f359eb4eb4f0364bd2fbbedf081e42",
-   "sha256": "0zyqnwmrj7yigk1z9baqxmzxnwhpxfjz9r1gl090harl69hdp67d"
+   "commit": "50414eaac3dbeb67a1329833b912d26b164873eb",
+   "sha256": "0s6xrg9g7f4cv745k4zmxhgqr68qajfr6hi6wpyab330y0hd1m0v"
   }
  },
  {
@@ -1777,15 +1783,15 @@
   "stable": {
    "version": [
     0,
-    47
+    48
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "f2cfea210b165564e8d44f4c980b2fedac2462c1",
-   "sha256": "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"
+   "commit": "bd81d68466e44301505629454dfc689b6c17d94b",
+   "sha256": "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"
   }
  },
  {
@@ -1844,11 +1850,26 @@
   "repo": "vietor/agtags",
   "unstable": {
    "version": [
-    20190709,
-    950
+    20191112,
+    142
+   ],
+   "commit": "8813eb055dfd3faf1021c7d02fed0dabd8e518c1",
+   "sha256": "0xj394fiqsyh32g21mcp64srs8dlf0ixaildyla1gm27v8cgiakb"
+  }
+ },
+ {
+  "ename": "ah",
+  "commit": "029c328e87ceb346e162c47162af727af22b65ac",
+  "sha256": "0h5kjf3sa17n8swkynb0fqk2jiwwgib3lzmrhwlk6k8pvzsgvlhj",
+  "fetcher": "github",
+  "repo": "takaxp/ah",
+  "unstable": {
+   "version": [
+    20191212,
+    652
    ],
-   "commit": "f81b70412216277f4a3a78a9ad9042279d624e6f",
-   "sha256": "0481zjrmg834d2ik0vpdan9l083q17ln13rcg4hnbhl1dmzz960p"
+   "commit": "938c78327aad94d5f8e8d86ffd9808a687f3e953",
+   "sha256": "1zzhy5ajr6ivmj4jbbmaznxfqgxl4xy21s2r4wip668w8kw02h4m"
   }
  },
  {
@@ -1874,11 +1895,11 @@
   "repo": "ralesi/ahk-mode",
   "unstable": {
    "version": [
-    20190323,
-    623
+    20191221,
+    2202
    ],
-   "commit": "66e02a3b44d672787b1f13a30008801a9efca65b",
-   "sha256": "15x1hwar0i89y2vbjrfp7d0b2fj48zqribfm4323k1fc18hbzrb7"
+   "commit": "377f79484cc43458f66c1ba5a61459b77e363591",
+   "sha256": "0vf9pg2yjldzm4nzvzw0w2cvrnxj4xpm3ymsnpzdd55mp7q3y1ag"
   },
   "stable": {
    "version": [
@@ -2025,14 +2046,14 @@
   "repo": "wlemuel/alarm-clock",
   "unstable": {
    "version": [
-    20190212,
-    507
+    20191204,
+    716
    ],
    "deps": [
     "f"
    ],
-   "commit": "5fb19ed061d6ee92ac0df1f1ec766c155d50867d",
-   "sha256": "0w43s1rh7j2qnm32db6pzqr04z7jm2lfbdz0lzrx4j61hnwmsx9g"
+   "commit": "43bfd15f0b1b90e0e99345f7c6c6e994d048a05c",
+   "sha256": "02y51gbbb9j448zifxgw53hprq77wsk8v6waafgpdbn84wljxkig"
   },
   "stable": {
    "version": [
@@ -2138,16 +2159,16 @@
   "repo": "jwiegley/alert",
   "unstable": {
    "version": [
-    20190816,
-    2205
+    20191126,
+    2032
    ],
    "deps": [
     "cl-lib",
     "gntp",
     "log4e"
    ],
-   "commit": "b5ef49bbb871867ac03d2943a720576336cd7025",
-   "sha256": "00lhx0gd1myzjfp59hjk0z44xf0cr4njvzwjdacahim7gz3hhicd"
+   "commit": "a73ede85c9cdd7d1a7593d4674cde8eec66c098b",
+   "sha256": "02p049xrbccb6hf7pc51mwwqqiks25dvz42smb1s7q03a0svrq6d"
   },
   "stable": {
    "version": [
@@ -2222,14 +2243,14 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20190320,
-    1809
+    20191127,
+    1123
    ],
    "deps": [
     "memoize"
    ],
-   "commit": "f996fafa5b2ea072d0ad1df9cd98acc75820f530",
-   "sha256": "0yc07xppgv78l56v7qwqp4sf3p44znkv5l0vlvwg8x1dciksxgqw"
+   "commit": "1416f37984486a44c6c0cbe0a2c985e82f965b6b",
+   "sha256": "1nwqn1cwjrmlp8g87ciwpv1h0pd61nh05bdpvz2kqg8b5ssfc4gd"
   },
   "stable": {
    "version": [
@@ -2329,16 +2350,49 @@
   }
  },
  {
+  "ename": "alsamixer",
+  "commit": "61a07f01ee94173fa59716d30b14a34ec967578e",
+  "sha256": "1kil28lpxaqnwgyw2h69dmx78q5lpn5k0l6y0fwyz2n6vayxw4yj",
+  "fetcher": "github",
+  "repo": "remvee/alsamixer-el",
+  "unstable": {
+   "version": [
+    20191002,
+    1133
+   ],
+   "commit": "1bdb99e433acd38685f05408562746cfbf2bc820",
+   "sha256": "0c40vycphv5nf374rp8pnzvi50vlmgab3wrdq92hyprjw76gwxhk"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    1
+   ],
+   "commit": "1bdb99e433acd38685f05408562746cfbf2bc820",
+   "sha256": "0c40vycphv5nf374rp8pnzvi50vlmgab3wrdq92hyprjw76gwxhk"
+  }
+ },
+ {
   "ename": "alt-codes",
-  "commit": "693e11e8a99697ff8da1fe7cd9209af4e415fecb",
-  "sha256": "0kh6fz38bzvqh78b17qa6riwnz6xvkw5w8rrlj413j4ypm464zxq",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1h1hs0vxzmmrkf7mkm44lqb9d41jg02sk7iwb54s9g92rc7c10rg",
   "fetcher": "github",
-  "repo": "elpa-host/alt-codes",
+  "repo": "jcs-elpa/alt-codes",
   "unstable": {
    "version": [
     20190701,
     1246
    ],
+   "commit": "ded8cbff05f4f2fc4d023c5ee08ebe8b1bdb9ca9",
+   "sha256": "1v8sir3c0akv5sb8yg01zh0n6qqd4hp95sahbx01z1200g0phcaw"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    4
+   ],
    "commit": "7dcd9cdcc41cfb991801ea1e2f5b3c925a5309ee",
    "sha256": "19xg4ng3p49zvn1y7vagrfiiwvc2fynwibr6cmj7qam1y64lw90c"
   }
@@ -2392,11 +2446,11 @@
   "repo": "crystal-ameba/ameba.el",
   "unstable": {
    "version": [
-    20190720,
-    1845
+    20200103,
+    1454
    ],
-   "commit": "8383f07d760a31a0737be9b7bdaff2f1cff67bfd",
-   "sha256": "066ccpaszidjvwy18bvkrf37ws60363cnbvcl1sfd7k6nynbdar6"
+   "commit": "0c4925ae0e998818326adcb47ed27ddf9761c7dc",
+   "sha256": "0jh0pfyqdks9xk43765vgm4569a8ny01pk3gy2p3vr5gdgfdm4a3"
   },
   "stable": {
    "version": [
@@ -2453,8 +2507,8 @@
     20180207,
     1745
    ],
-   "commit": "536966adf882446165a1f756830028faa792c7a9",
-   "sha256": "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"
+   "commit": "f5a163626e04abda2d3c168f703c3f330f302a7c",
+   "sha256": "1z08mdl3i4nfs4ln64sks3b4vbir4r8czscrdqyvq4izr6j05j2f"
   }
  },
  {
@@ -2480,14 +2534,14 @@
   "repo": "DarwinAwardWinner/amx",
   "unstable": {
    "version": [
-    20190419,
-    330
+    20200101,
+    1701
    ],
    "deps": [
     "s"
    ],
-   "commit": "b46e77d8ef9d1edf225e67055001f7e85048f842",
-   "sha256": "0hrgq6kmfqx21y0dpvhwd82rap75lnn2lzlhria893yvqc7phzn5"
+   "commit": "3af93ca066aa42dd1342f1ee0ab0d02360075613",
+   "sha256": "1jm5zr4xlz2ik80kmjsvlka8kzxxp6k9g5ymxhc1k726kw808lf8"
   },
   "stable": {
    "version": [
@@ -2503,14 +2557,14 @@
  },
  {
   "ename": "anaconda-mode",
-  "commit": "e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8",
-  "sha256": "0gz16aam4zrm3s9ms13h4qcdflf55506kgkpyncq3bi54cvv8n1r",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "1cr4qyk2brm1kvm7i9cmvihid8799df7yhmmdizv3sj5l6qnsyfr",
   "fetcher": "github",
-  "repo": "proofit404/anaconda-mode",
+  "repo": "pythonic-emacs/anaconda-mode",
   "unstable": {
    "version": [
-    20190918,
-    353
+    20191204,
+    111
    ],
    "deps": [
     "dash",
@@ -2518,8 +2572,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "d9c5ffdd12d8e81eb4e935e6a6523af8c80f0106",
-   "sha256": "0s0166qnzrxmxida8f80j2z2spfl10qcvbmddgvqaj8mr9f898bf"
+   "commit": "1bc301b2d2bc336988f4a16a891c275a90136ca5",
+   "sha256": "18albgjh7bcsyw7004pagldz510zwjswlyp9lk2lwqnrrw2wryr5"
   },
   "stable": {
    "version": [
@@ -2671,6 +2725,21 @@
   }
  },
  {
+  "ename": "anki-connect",
+  "commit": "1f2c391b543a6b98b9f171f8638c003737424e52",
+  "sha256": "09mvw1qppn1nrjyn7gfq1bfxn9hyh5kpxz30m1rrfwjjgw4lw4x6",
+  "fetcher": "github",
+  "repo": "lujun9972/anki-connect.el",
+  "unstable": {
+   "version": [
+    20191123,
+    1858
+   ],
+   "commit": "1324f0c248aa2c6e73d6cf93fad6119d699f7dae",
+   "sha256": "055nzb0dki4fmgmfhq83x7gciyp74r36a233hnl9lyd8wmb2hvqf"
+  }
+ },
+ {
   "ename": "anki-editor",
   "commit": "8155d649e4b129d0c72da6bb2b1aac66c8483491",
   "sha256": "18c5p82llq11vg1svqvbjrcnm7695nbbc6pwwl9jdjplasar585l",
@@ -2678,15 +2747,15 @@
   "repo": "louietan/anki-editor",
   "unstable": {
    "version": [
-    20190608,
-    1621
+    20190922,
+    1223
    ],
    "deps": [
     "dash",
     "request"
    ],
-   "commit": "3e9f957ac59c19f1ca8c06d16c98a280a0c0474a",
-   "sha256": "1gkxpl4r4j547rwifp5597424arlya0k676sdkcz625b9jk65ypn"
+   "commit": "084ffad14fa700ad1ba95d8cbfe4a8f6052e2408",
+   "sha256": "0zjd5yid333shvjm4zy3p7zdpa09xcl96gc4wvi2paxjad6iqhwz"
   }
  },
  {
@@ -2697,8 +2766,8 @@
   "repo": "davidshepherd7/anki-mode",
   "unstable": {
    "version": [
-    20181106,
-    1837
+    20191020,
+    1441
    ],
    "deps": [
     "dash",
@@ -2706,8 +2775,8 @@
     "request",
     "s"
    ],
-   "commit": "365fcfff45ed543f3df0d4110415f6f818ec2727",
-   "sha256": "021wvz0vxbpiigrdhgilbpkbxmwwjy127g1lrp0wmnqg5m3rl5rg"
+   "commit": "8022fbab57c47581102af831b4405fc27f71db92",
+   "sha256": "1nyiqd3093dbcimljj09vidanki6nbrzknzdxw4rkbl2kd1wfvlf"
   },
   "stable": {
    "version": [
@@ -2725,6 +2794,26 @@
   }
  },
  {
+  "ename": "anki-vocabulary",
+  "commit": "2ee1509faf58c4ea1bddcfd6f103e63c5c466c69",
+  "sha256": "11rl81s268l605lwzni29w366h2csnj4snl0nq12m9mvywv2dx2n",
+  "fetcher": "github",
+  "repo": "lujun9972/anki-vocabulary.el",
+  "unstable": {
+   "version": [
+    20200103,
+    325
+   ],
+   "deps": [
+    "anki-connect",
+    "s",
+    "youdao-dictionary"
+   ],
+   "commit": "863fe0219577f996ab126f1b7902db3c2cc59b2b",
+   "sha256": "0mfch10hvs5czgc3lj75s02bbf36gfdk3xvry717g8gqqa37j581"
+  }
+ },
+ {
   "ename": "annalist",
   "commit": "2298cf2894029267c77a8aa06f4fa8d9d7c3e4f0",
   "sha256": "1102yd0vas3kyml8flf3mdswnc2kizbdq996740plzwnnnbw34vj",
@@ -2732,26 +2821,26 @@
   "repo": "noctuid/annalist.el",
   "unstable": {
    "version": [
-    20190905,
-    5
+    20190929,
+    207
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8f52a365b2876f034fbf9b335786fa6bafc9ac80",
-   "sha256": "0qscah37qs65wykkw9nc5n5xgd4fy8w1jv6mznk4fbpds6qaxrjh"
+   "commit": "134fa3f0fb91a636a1c005c483516d4b64905a6d",
+   "sha256": "06dvk7hd3bqjng87apf5dsbdn0rv0gcrj66m7dz26c8bg19mddcc"
   },
   "stable": {
    "version": [
     1,
     0,
-    0
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "0da9812e419b1687cf1e7040384f983be32d5328",
-   "sha256": "1dws8r39asjnxzjq4ixlja1ih6kphw0w666k685m7ncq9jmr6jw6"
+   "commit": "08df07e4530953a2c0b1aa553adcab37b7b614b0",
+   "sha256": "1jlb5w4972l8m2aa18q2l6arfpm65g4nk21dn1yi8c9dbpk2g67c"
   }
  },
  {
@@ -2762,11 +2851,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20190918,
-    714
+    20191221,
+    959
    ],
-   "commit": "cb8de5081ab4adda81806a44ba91ba70d05d4ffb",
-   "sha256": "1xxx2iafl8fkp2mmdkl6l8f7bml6g1azc746vwwxsx0yiim48jm9"
+   "commit": "d10b9158573017a02194a6d594387bfa88f03edf",
+   "sha256": "0sv1flx7s03avirgmq91alg35yyc25l57vfvniyi4raa4ldnp6vp"
   },
   "stable": {
    "version": [
@@ -2860,28 +2949,28 @@
   "repo": "k1LoW/emacs-ansible",
   "unstable": {
    "version": [
-    20190619,
-    1255
+    20191003,
+    1430
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "2d35aa1280ace3cae404ea9e1231a8b26c7b9eb4",
-   "sha256": "1yv33bw2q87am4bi2dasrbya28l6p3y4nr8rs0yl5nsvdbk4vbpg"
+   "commit": "c6532e52161a381ed3dddfeaa7c92ae636d3f052",
+   "sha256": "16i0r019lj9fdkxcga2jb8ha0r2lf1mz7jywg44hnj7r3lzdcmwp"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "8a097176d6772b6667254dbbe19c5fb64527bf5d",
-   "sha256": "1m2cb88jb1wxa9rydkbn5llx2gql453l87b4cgzsjllha6j1488k"
+   "commit": "c6532e52161a381ed3dddfeaa7c92ae636d3f052",
+   "sha256": "16i0r019lj9fdkxcga2jb8ha0r2lf1mz7jywg44hnj7r3lzdcmwp"
   }
  },
  {
@@ -2915,20 +3004,26 @@
   "repo": "zellio/ansible-vault-mode",
   "unstable": {
    "version": [
-    20190126,
-    1936
+    20191123,
+    1919
    ],
-   "commit": "4fe490f524b79748c9f23026bb88d8f516b4ef40",
-   "sha256": "17kbjlssxa9b2fcp8vf2xs2k5y6jgpw277mj2gbv173b0i7v1fjd"
+   "deps": [
+    "seq"
+   ],
+   "commit": "fb56eb5e85fb5621ecd94b28d069504add010ea9",
+   "sha256": "0qjjzmnx4pczv6jkafmji2kn2a0rqsxcm8g5jp8lq2cc6dx86ad4"
   },
   "stable": {
    "version": [
     0,
-    3,
-    4
+    4,
+    0
    ],
-   "commit": "57cf7e6da30250587c28ebf592d7bca9a3bae1df",
-   "sha256": "1m9r3vicmljypq6mhgr86lzgi26dnnlp7g0jbl9bjdk48xfg79wb"
+   "deps": [
+    "seq"
+   ],
+   "commit": "898b0989f6054c813802e0ff0fb0c0094e3a71b5",
+   "sha256": "0qjjzmnx4pczv6jkafmji2kn2a0rqsxcm8g5jp8lq2cc6dx86ad4"
   }
  },
  {
@@ -3112,25 +3207,25 @@
   "repo": "w-vi/apib-mode",
   "unstable": {
    "version": [
-    20170520,
-    1358
+    20200101,
+    1017
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6",
-   "sha256": "1717f78kaqkmbhfwb9kzsv5wi2zabcbwb4wh1jklhcaalvmk3z7d"
+   "commit": "c6dd05201f6eb9295736d8668a79a7510d11159e",
+   "sha256": "0f5zph67h0pr445ykllz0pix2dg2kdxl0g5mhxaggdydizf24p45"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6",
-   "sha256": "1717f78kaqkmbhfwb9kzsv5wi2zabcbwb4wh1jklhcaalvmk3z7d"
+   "commit": "c6dd05201f6eb9295736d8668a79a7510d11159e",
+   "sha256": "0f5zph67h0pr445ykllz0pix2dg2kdxl0g5mhxaggdydizf24p45"
   }
  },
  {
@@ -3144,8 +3239,8 @@
     20180602,
     2231
    ],
-   "commit": "e4c9c57d6620a788ec8a715ff1bb50542edea3a6",
-   "sha256": "0xpb8mmssajy42r2h1m9inhv1chx19wkp5p0p63nwpk7mhjj8bis"
+   "commit": "a4fb21d96027369307b22439a4a6c765ee272f44",
+   "sha256": "19v92dgbwrb66bj5zs4fh0knba286i32afi42mvjmgagf228x6ka"
   },
   "stable": {
    "version": [
@@ -3203,11 +3298,11 @@
   "repo": "vietor/aproject",
   "unstable": {
    "version": [
-    20190724,
-    600
+    20190730,
+    152
    ],
-   "commit": "a044d8e612a8973f958b6a4e03cefca2194874de",
-   "sha256": "1gpwx704bvza8ccly1vph9b3c146pxry2rldln8g66hfp3v49fw0"
+   "commit": "b534e2a62738ad59a8a3cddd386466c145dad3b2",
+   "sha256": "08nhfa845cn20kx0q9rchs24imfmvpywi1b8mn40d1lw587yr519"
   },
   "stable": {
    "version": [
@@ -3226,11 +3321,11 @@
   "repo": "waymondo/apropospriate-theme",
   "unstable": {
    "version": [
-    20190724,
-    1729
+    20191220,
+    2017
    ],
-   "commit": "c46432a5559630380abee9ead387eba2db28ad15",
-   "sha256": "102i0qq3p28rgc870j4nviw7ns5ldxxybq3lg4y723idrim71ypc"
+   "commit": "543341f0836b24e001375c530c4706e9345ec1e3",
+   "sha256": "03917db85x4c2a1ba94wmik21wwnwf9xpz6wc0d0ay0zkkvqsn5g"
   },
   "stable": {
    "version": [
@@ -3529,11 +3624,11 @@
   "repo": "ragone/asx",
   "unstable": {
    "version": [
-    20190916,
-    2122
+    20191024,
+    1100
    ],
-   "commit": "903e01d2856a95427bdf7d41d9628b3886e90867",
-   "sha256": "09dv2imw5mcpw3n42hgwiw7c3wb31f74ci7hbqa5rk140rrvhf8j"
+   "commit": "ec4bf74de602b97df1f306d51acf4cda45184aac",
+   "sha256": "1j505ijrgd0rwh69jl7677sgf5ryjwp160nrp0w0bskisrf028d7"
   }
  },
  {
@@ -3544,20 +3639,20 @@
   "repo": "jwiegley/emacs-async",
   "unstable": {
    "version": [
-    20190503,
-    656
+    20191226,
+    1227
    ],
-   "commit": "bd68cc1ab1ac6af890e250bdaa12ffb1cb9649be",
-   "sha256": "02n46dqbpdjlj65s1aka6ky49rgv2rpn06lzpfxwxl7kkzclc5f8"
+   "commit": "036b475a29bbbee52f88c7d0332341c2643155fb",
+   "sha256": "01jpgxzfkj4zqnjh167598qk2pp59vpkd2gmgal27gwm4g3y2q11"
   },
   "stable": {
    "version": [
     1,
     9,
-    3
+    4
    ],
-   "commit": "caad15ce64c1aac5e17d480c59ee6c85ebcb6bb2",
-   "sha256": "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"
+   "commit": "67c369555de998eaabd60056dead038c6c50b8fd",
+   "sha256": "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"
   }
  },
  {
@@ -3568,14 +3663,46 @@
   "repo": "chuntaro/emacs-async-await",
   "unstable": {
    "version": [
-    20170208,
-    1150
+    20191108,
+    539
    ],
    "deps": [
     "promise"
    ],
-   "commit": "56ab90e4019ed1f81fd4ad9e8701b5cec7ffa795",
-   "sha256": "1k6wisls6dqn63r4f4brnhrjbvzqpigw2zxdl9v8g1qcw49spk5s"
+   "commit": "2a2351d52af8f0141a1849bc36292f068196aa63",
+   "sha256": "15g862hpjdwja9ii30vps1vk6nxr8allmj890yrfycvalvhrkfm5"
+  }
+ },
+ {
+  "ename": "atcoder-tools",
+  "commit": "314396ec5a51460ad679ee9fcf3aa3970cd44229",
+  "sha256": "1rlsqqc7p351yyzmad4dvxrp5aj2788sg04019ybk83kacy0y5hf",
+  "fetcher": "github",
+  "repo": "sei40kr/emacs-atcoder-tools",
+  "unstable": {
+   "version": [
+    20200104,
+    624
+   ],
+   "deps": [
+    "f",
+    "s"
+   ],
+   "commit": "4c805a03a9b0ee331dfa409472e38b4085a1628e",
+   "sha256": "0fcamxvz8wvy9b8f03y7hllv88xc25v9dhdjmw58x400pycra19x"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "deps": [
+    "f",
+    "s"
+   ],
+   "commit": "780fabbe5b3c890b3ae764e26b188603be294daa",
+   "sha256": "1pvnwzp0i1s19cyyzrkcannhx1jizvylxsr7qcipfiy2kmf8sbhz"
   }
  },
  {
@@ -3657,8 +3784,8 @@
   "repo": "jyp/attrap",
   "unstable": {
    "version": [
-    20190918,
-    828
+    20191119,
+    1515
    ],
    "deps": [
     "dash",
@@ -3666,8 +3793,8 @@
     "flycheck",
     "s"
    ],
-   "commit": "18cd1f7832870a36c404e872fa83a271fe8e688d",
-   "sha256": "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"
+   "commit": "12e234aeb16e190435133b29e93c69c67ec1ee6b",
+   "sha256": "04gnqhg1bq02vk6s2p7v2vh4djl5m6bf3jfxhx6q3i9hmayk2ya2"
   },
   "stable": {
    "version": [
@@ -3811,11 +3938,11 @@
   "repo": "DamienCassou/auth-password-store",
   "unstable": {
    "version": [
-    20190813,
-    1026
+    20191126,
+    1242
    ],
-   "commit": "847a1f54ed48856b4dfaaa184583ef2c84173edf",
-   "sha256": "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"
+   "commit": "ff4940c647786914b3cbef69103d96a4ea334111",
+   "sha256": "1swrr8wjrfzjy3x11lfby2jckw5fgvpaywhg2pzmwwvf9mr9xzdg"
   },
   "stable": {
    "version": [
@@ -3869,26 +3996,26 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20181230,
-    2216
+    20191020,
+    1040
    ],
    "deps": [
     "packed"
    ],
-   "commit": "f043133f37fe6d707fa03a1ec4ba619da24c2f35",
-   "sha256": "0h41vykrdn1jrwzn5db9idw5j3d77xhn616kwfv1syka7hvmyaq4"
+   "commit": "3e92c5b1a94b0cf43f2d624180a1cb01df92afd8",
+   "sha256": "1f270axx8cpl1fgrwaxjbwyhkacp1b9whmn9f3mjpwkr55ih7wgl"
   },
   "stable": {
    "version": [
     1,
     5,
-    1
+    2
    ],
    "deps": [
     "packed"
    ],
-   "commit": "e6bbb1371324c8884af3b201e9adbc9296eb2ff4",
-   "sha256": "1jyn7yvbvk7cydy3pzwqlb0yxf5cxdiipa1gnigdk9wdbj68wjjk"
+   "commit": "3e92c5b1a94b0cf43f2d624180a1cb01df92afd8",
+   "sha256": "1f270axx8cpl1fgrwaxjbwyhkacp1b9whmn9f3mjpwkr55ih7wgl"
   }
  },
  {
@@ -4243,11 +4370,11 @@
   "repo": "mattfidler/auto-indent-mode.el",
   "unstable": {
    "version": [
-    20190917,
-    1430
+    20191112,
+    1418
    ],
-   "commit": "e6da518d5d8c3137b4f0a437a845401e34e6f193",
-   "sha256": "09dnhjd55pdpg3vvs6ygk7lfmimdc66dx2qfz8zbcqbz49j84kxi"
+   "commit": "ebb1ee5ca24f3040c34b9455502a0e94f19903d0",
+   "sha256": "19p73jws7iddgs14cnfz9lb5ggyicqk08pasf66fkcvyhzydnwkm"
   },
   "stable": {
    "version": [
@@ -4269,8 +4396,8 @@
     20180527,
     1123
    ],
-   "commit": "e0e2ceb471a14a3e1763b47619fa4b8faef0be07",
-   "sha256": "1m96gs55jsjxj4mbx1wv080b809fjw53by67jv3ny70i4xjk36kp"
+   "commit": "17cfa1b54800fdef2975c0c0531dad34846a5065",
+   "sha256": "1jgq9b262pjr6npza3k0p2glb6mpp0dfpslgx3i2p8a5ipwhwaqa"
   },
   "stable": {
    "version": [
@@ -4361,15 +4488,24 @@
  },
  {
   "ename": "auto-rename-tag",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "0ysm559b2p2v2v39cssx5cviy2qb78cjvhmy76hih09qimg2azrz",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "05ln7dj57f3rjhmvbwy6fpn71ln4fw94qiw120qby199da1an28f",
   "fetcher": "github",
-  "repo": "elpa-host/auto-rename-tag",
+  "repo": "jcs-elpa/auto-rename-tag",
   "unstable": {
    "version": [
     20190525,
     628
    ],
+   "commit": "27ca700cb2f61a1040013600c5744d68a27cbd8d",
+   "sha256": "1hydigzi82zana6ivcj4nxqvdnh3973594ag6zlgw9nijilih64r"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    2
+   ],
    "commit": "4bd41b3107d3971c9533f9d0c8718c299669cb78",
    "sha256": "1g6kllnl625h6vmnps15a7ivpxq3k6s4vdxj50dj2i76g19wi2cn"
   }
@@ -4467,16 +4603,16 @@
   "repo": "robert-zaremba/auto-virtualenvwrapper.el",
   "unstable": {
    "version": [
-    20181006,
-    937
+    20191120,
+    1159
    ],
    "deps": [
     "cl-lib",
     "s",
     "virtualenvwrapper"
    ],
-   "commit": "72cc9168db475e8328019f9592493560dab832a5",
-   "sha256": "1cvc2k5x0ircnpppwwmm813h7c59pyswz4dfgwqqrk325zcnp80f"
+   "commit": "6380e8986d593655021f7f884d0d21895d7e63ad",
+   "sha256": "18k7azy456l7qizn3xnpb2dkj58gfrxy5q77dwplgakyvkr13y8p"
   }
  },
  {
@@ -4487,14 +4623,14 @@
   "repo": "abo-abo/auto-yasnippet",
   "unstable": {
    "version": [
-    20190326,
-    958
+    20191015,
+    942
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "624b0d9711222073a2a3f2186e2605eb99fc83c9",
-   "sha256": "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"
+   "commit": "db9e0dd4335b2202cd5dac95bbbc87a1032d9bbe",
+   "sha256": "0az8pip0gsq5xqpfizcz4rmj5hmkvz1fdkg996k9qqacp17p2caj"
   },
   "stable": {
    "version": [
@@ -4630,8 +4766,8 @@
     20190331,
     2230
    ],
-   "commit": "34eb4fe7d0a3380083e2e51627ae5968524d240b",
-   "sha256": "1yh02mrqkn9hp5l1kl4qj5g1jijjvbd77dcssp76gw7nm8dlsn8a"
+   "commit": "ce213afc026590871ca7d514e563720ef967c938",
+   "sha256": "0wq4c4dzpkrppic65ma7gfzr9mxsln87csmb1laz3b2g4b19cy6k"
   }
  },
  {
@@ -4722,11 +4858,11 @@
   "repo": "avkoval/avk-emacs-themes",
   "unstable": {
    "version": [
-    20181128,
-    745
+    20191220,
+    625
    ],
-   "commit": "cadbfb4c9cd6812d63b69076a9d90514bfd2db66",
-   "sha256": "07isy168fnvyy25z1wwyr6740bmwmff6c3yfcdy7dnypcj9whllr"
+   "commit": "e97ec20d07cc9093661f51853375063bcdc91993",
+   "sha256": "14011k7rafibjpfd7g903a81pml176m7hxvvgd8a65vgqx52q4d3"
   }
  },
  {
@@ -4737,14 +4873,14 @@
   "repo": "abo-abo/avy",
   "unstable": {
    "version": [
-    20190828,
-    951
+    20191106,
+    1234
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "034de4c0e900717ebcb6e19a973cf66beea54420",
-   "sha256": "0ssvnbvmdvjqpdswn68lwv2xi8mdfx8iyvs38mqc45f4502ahbjx"
+   "commit": "cf95ba9582121a1c2249e3c5efdc51acd566d190",
+   "sha256": "0d7v04xzr385ybq0ai88d4h8ywl53q1ig197cbkrna2jl2s466bh"
   },
   "stable": {
    "version": [
@@ -4898,14 +5034,14 @@
   "repo": "baron42bba/aws-snippets",
   "unstable": {
    "version": [
-    20190207,
-    1047
+    20191203,
+    1553
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "9cb1edaaa86609b51a7fbf39ec643cc5ae80eaa1",
-   "sha256": "1rzfzb19h5d0ikysxi0xcbyvv733kdmcmydpc7wwq9qkb31wck56"
+   "commit": "557d19a0bc486e0fddb597b2be5087769d9bd47e",
+   "sha256": "1s71h8limqxql9qhkp7bmq9k9j1mkazvc0lh92a6wd7hk6xg1hi1"
   }
  },
  {
@@ -4916,11 +5052,11 @@
   "repo": "sebasmonia/awscli-capf",
   "unstable": {
    "version": [
-    20190909,
-    1534
+    20190930,
+    1517
    ],
-   "commit": "6670b4db6bd35f0ea9ede598a9c17384046f4400",
-   "sha256": "0pnz8jiapd8i8ya2j9lns22rg903iq65pby89wpmz7cidzg6lgf0"
+   "commit": "1a75f88f53a2969fe821c31e6857861d0a0c0a5e",
+   "sha256": "13ry0lhh8ss93h9c60gc02i28bwc70jb4fzqmvw778fk0shj8jxn"
   }
  },
  {
@@ -4931,11 +5067,11 @@
   "url": "https://bitbucket.org/pdo/axiom-environment",
   "unstable": {
    "version": [
-    20190323,
-    1924
+    20191027,
+    1928
    ],
-   "commit": "505d85ffc051a7725344c960b1255597dab17780",
-   "sha256": "1251xc58nc2h6n4dibfdp7z85y609dkpc499ga8j9s0nwif009fs"
+   "commit": "3e7885d694efef923e7b53827d277c28bfa09320",
+   "sha256": "048x8mj72c57f62ffsad43mcrc201d8ilh339gnpm2yi8midv0ih"
   }
  },
  {
@@ -5038,26 +5174,26 @@
   "repo": "tarsius/backline",
   "unstable": {
    "version": [
-    20181111,
-    832
+    20200104,
+    1851
    ],
    "deps": [
     "outline-minor-faces"
    ],
-   "commit": "cfaaaed812674d7e474a8800a7452b4a5ba6d637",
-   "sha256": "12n4401sbwxq08ifidmxmbpg5877n308lwhwz4f8xbx9yijd0sas"
+   "commit": "dc541a6daf82ab73774904ae9ccecd13e3c2af48",
+   "sha256": "0410p7144k2kh1bz050h45zrfd98j10sbx409la5x01l9xrmb03y"
   },
   "stable": {
    "version": [
     0,
     1,
-    3
+    5
    ],
    "deps": [
     "outline-minor-faces"
    ],
-   "commit": "ac58abcf0fa818392f5810ffba1243416caf0ae6",
-   "sha256": "0pzz7dr46k0b0i7f3vi9y3jgx83kcx3shsvaizccg83wz1rhz505"
+   "commit": "cde271f5e01ed44de239f776c3d0bb27e30953de",
+   "sha256": "0j1w2ig3rick6lnq668jkzjhrfy8cg3xgra5sj1qpxygdspfjyp9"
   }
  },
  {
@@ -5181,11 +5317,11 @@
   "url": "https://git.sr.ht/~zge/bang",
   "unstable": {
    "version": [
-    20190819,
-    1339
+    20200102,
+    1933
    ],
-   "commit": "87b5ad3c81ccf0f2435e3c26ad7f9a1d6191ddb9",
-   "sha256": "10cybpw6wks2p21g1cz9rr6chvhv1s7jasrnzbcgpg8vkzb3dj48"
+   "commit": "87589331a8f0850a46964dbdbdcc3f2191b03376",
+   "sha256": "0yzz090997jn3d1ah8a32q491bsgzan6zqp2szv7d8ga4ziv3gkp"
   },
   "stable": {
    "version": [
@@ -5273,11 +5409,11 @@
   "repo": "belak/base16-emacs",
   "unstable": {
    "version": [
-    20190722,
-    1950
+    20191031,
+    1607
    ],
-   "commit": "6e7d80859c364c74b6848c3f7679de53620daf43",
-   "sha256": "1dr1f9w1ysz40m0vra2ig6sr0wh6jbpcwwgnwf5rf5qi3d8g5nxi"
+   "commit": "9eba6874c80ab429bf5cbf6c76bb0399d3d2a2cb",
+   "sha256": "0ag5fsr3377rz6xfa0b9j54r90zh0yiz98kpa27xzhky4f5jpdah"
   },
   "stable": {
    "version": [
@@ -5296,11 +5432,11 @@
   "repo": "szermatt/emacs-bash-completion",
   "unstable": {
    "version": [
-    20190820,
-    1804
+    20191126,
+    1824
    ],
-   "commit": "504dd26b1de326ec03d2c45f2d2db1ad59481adf",
-   "sha256": "041zrjlc0n3l1r8gyd78i14jkl2mf3pfsk37malmsllf3067ambz"
+   "commit": "96ce14af9674f3e605bacca87abc0c23b8f13cd5",
+   "sha256": "1w3yvpcdjq9a6m2q2lz23dib2ijmfgn4w2z2g5y9wkpdmx48k655"
   },
   "stable": {
    "version": [
@@ -5412,11 +5548,11 @@
   "repo": "codesuki/bazel-mode",
   "unstable": {
    "version": [
-    20190606,
-    800
+    20191110,
+    2228
    ],
-   "commit": "f07e75fc2dd97ba20e40806927409357aaad2496",
-   "sha256": "0grbvzqy4x6wh2951jsh5mmbhwbd6j5figqj7v9q5px5alprjqsl"
+   "commit": "7798e33cba5db14eb2c06ddcbc4e8fa361eb679c",
+   "sha256": "0gjm8276qj3a5kmh2qg93yadjhc2gcny058zpxwr6sialq9p7iwz"
   },
   "stable": {
    "version": [
@@ -5466,11 +5602,11 @@
   "url": "https://git.savannah.nongnu.org/git/bbdb.git",
   "unstable": {
    "version": [
-    20190609,
-    316
+    20200102,
+    403
    ],
-   "commit": "1d26869d2787803672dd412cf658158d6bef0c7b",
-   "sha256": "1l503z8fklrxxawxf00xbwbw1wyx7bsn2mhm5249h49ckxnqhgcx"
+   "commit": "45529e315ba861f9df2914f9b88d2f7b991d5595",
+   "sha256": "0iim6394q02yw5rcyjs7ym16v9jbq5pwqsbpwc98ckg26063p3fi"
   },
   "stable": {
    "version": [
@@ -5711,20 +5847,20 @@
   "repo": "DamienCassou/beginend",
   "unstable": {
    "version": [
-    20190708,
-    1856
+    20191030,
+    839
    ],
-   "commit": "66e9fbf77fbe248e15a17bd095645a48d40560b4",
-   "sha256": "0d373cfc6wkb4b5aq42vwr12i47ravhhsyi5zdq90wlqm6c7fbvj"
+   "commit": "d2a0a7ba6f8f8eb400c0ee309307602922573630",
+   "sha256": "1dqdd4hgiyldsggzkrs719xplihnaq1q5n91k7v4bs7szbdbgccn"
   },
   "stable": {
    "version": [
     2,
-    0,
+    1,
     0
    ],
-   "commit": "a06a479c2279da9e852cf42628b6dfa466fff0bd",
-   "sha256": "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"
+   "commit": "0710e25138c1cec40ccf78d704741143c5bac735",
+   "sha256": "1ic5z3qb5sc3mjrjdlg0rqm2l59a43gwnakagns4cilln2a3xdg8"
   }
  },
  {
@@ -5790,6 +5926,53 @@
   }
  },
  {
+  "ename": "bento",
+  "commit": "aad104fd26adb419c5da1e3472807244794e8949",
+  "sha256": "0a7yaikvaxxk8wmr7f9darpwb4r17rkzxcxaagfypn8n5kswddj4",
+  "fetcher": "github",
+  "repo": "returntocorp/bento-emacs",
+  "unstable": {
+   "version": [
+    20191024,
+    2123
+   ],
+   "deps": [
+    "f",
+    "flycheck"
+   ],
+   "commit": "31546a03475fc2b3ffd3159fe1beda55f7762224",
+   "sha256": "0ny0bably9h4ak2fr01z4a80mp9kjalzhw232a92n8dvmz4b7mq7"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "f",
+    "flycheck"
+   ],
+   "commit": "116839c7d50342e62a2832715ba850d8bf04362e",
+   "sha256": "0gxqy2l1a4pddh4pdci2nyflmv76rhl8wx3zmh5j0aqk5ahh1ln5"
+  }
+ },
+ {
+  "ename": "berrys-theme",
+  "commit": "d7043d5fcdf995a6278c8a92aa451ce4b58694b3",
+  "sha256": "1fn2n7li6fs9zibjzp07y6wdn3a64nsib8d23l7sl7jyzib6vbqa",
+  "fetcher": "github",
+  "repo": "vbuzin/berrys-theme",
+  "unstable": {
+   "version": [
+    20191201,
+    1609
+   ],
+   "commit": "888a14206b2fb3dc45b5273aeb05075f3e0b5f60",
+   "sha256": "1a75pa7gckdqwrcm25a2ic4cq1la42z939qqzj6nnqyjsj3sbn00"
+  }
+ },
+ {
   "ename": "bert",
   "commit": "89635cd11621b04a8575629ec1bf196fb3ea5d43",
   "sha256": "1zhz1dcy1nf84p244x6lc4ajancv5fgmqmbrm080yhb2ral1z8x7",
@@ -5812,11 +5995,11 @@
   "repo": "technomancy/better-defaults",
   "unstable": {
    "version": [
-    20190917,
-    1545
+    20200101,
+    2257
    ],
-   "commit": "01b8f00235c37bddf3e1a949e943dc0c9980863a",
-   "sha256": "0qniwfdip1ksxwx52xwsx9sgy7vfcsixsccmx877w4rlv893plah"
+   "commit": "e051c5278f71af8414f8c6101695197dd4365cca",
+   "sha256": "0m4cc9qwwm14drdars5a5hbiv5fapd245n3iry9x5ar76rb20hcb"
   },
   "stable": {
    "version": [
@@ -5836,11 +6019,11 @@
   "repo": "gilbertw1/better-jumper",
   "unstable": {
    "version": [
-    20190510,
-    1647
+    20200103,
+    1413
    ],
-   "commit": "2c04d4bc09da88c5b8b276c87d3f9f56e517144e",
-   "sha256": "1gzmhgr17mvxj1qvcisfq74dbb2rsgzx2wrbjf36jrwfzx7sdjxw"
+   "commit": "6d240032ca213ccb3347e25f26c29b6822bf03a7",
+   "sha256": "0vdrdd0q4rlpyxgwbc31zz8f6sr7sy0gdw84sb1dy9bpq6qvdbdw"
   }
  },
  {
@@ -5851,19 +6034,20 @@
   "repo": "killdash9/better-shell",
   "unstable": {
    "version": [
-    20180625,
-    1316
+    20191025,
+    1737
    ],
-   "commit": "cfcd9d57f87ad68cd72bf4935fd1aaa1d9f059a9",
-   "sha256": "1z2c2w7p9clijzsfjhcghl76ycy6s0lyymxglzzk7js5np8idmdr"
+   "commit": "70c787b981caeef8c5f8012b170eb7b9f167cd13",
+   "sha256": "0i87d1xrg4gvszm52wdrx81g49lh75ycdfxkxhlrckbw7nkrjchz"
   },
   "stable": {
    "version": [
     1,
-    2
+    2,
+    1
    ],
-   "commit": "f231404b6f8efce33b48e31e5b1566108d0ba000",
-   "sha256": "1g5bljvigga856ksyvgix9hk0pp9nzic088kp0bqx0zqvcl82v0b"
+   "commit": "70c787b981caeef8c5f8012b170eb7b9f167cd13",
+   "sha256": "0i87d1xrg4gvszm52wdrx81g49lh75ycdfxkxhlrckbw7nkrjchz"
   }
  },
  {
@@ -6024,8 +6208,8 @@
     "a",
     "pdf-tools"
    ],
-   "commit": "ebb2778052aeaf737adebc003957cb48cb01135e",
-   "sha256": "0qlvdpa88ic9gnb0qhijfsc9i6l3ba2zrvk4r4li3qrx0i9rpz5c"
+   "commit": "eab07dae119129066624e692c1c75a53b2ab10a5",
+   "sha256": "1q9g8kza6hv6pv1sjzkl6b4gxcx6fsvv8lk5w7kk9gpws5vjz5bz"
   }
  },
  {
@@ -6036,14 +6220,14 @@
   "repo": "pzorin/bibretrieve",
   "unstable": {
    "version": [
-    20190725,
-    1539
+    20191124,
+    1855
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "3a21f5b349b7c83fc9dcaf8773ee7b4749599f0d",
-   "sha256": "0ppaajc559lv9aqk3jlcjm2id2wj6qiby9hq9kmc1avfns25cp30"
+   "commit": "81dc8e0db3629cc180eafb2bc34b60dcd8980316",
+   "sha256": "00zya2h6f5fpfxyi893fz3kpbbdhd8yq6b8g42bvxc5bfbknfhwc"
   }
  },
  {
@@ -6061,8 +6245,8 @@
     "dash",
     "s"
    ],
-   "commit": "aeba96368f2a06959e4fe945375ce2a54d34b189",
-   "sha256": "077shjz9sd0k0akvxzzgjd8a626ck650xxlhp2ws4gs7rjd7a823"
+   "commit": "0116bbb04840d20a6b087e6d9c921bb1c2489a8f",
+   "sha256": "0vcdi0q6rbs3qqlpccy9hdv82zrx61gdj3fn444qashk84s085vf"
   }
  },
  {
@@ -6088,20 +6272,20 @@
   "repo": "tarsius/bicycle",
   "unstable": {
    "version": [
-    20180909,
-    2126
+    20200103,
+    1237
    ],
-   "commit": "ab81d259a71827ff54872c64d13d56aedc9a212e",
-   "sha256": "1hjd7syqvg13yji2w5a6fjgg4gjka2rk7lc7m1d7w05dw1ad76jh"
+   "commit": "91d9f946690df0a1ed866f2cd1eab1b2e7c7480a",
+   "sha256": "0pkn99srwyvyibz5zxkh58csbf598x26f31mpizacx3bs4nys0qb"
   },
   "stable": {
    "version": [
     0,
-    2,
-    0
+    3,
+    1
    ],
-   "commit": "42a5db3514019d539500a67f913411f5533a1eb3",
-   "sha256": "1nanf0dp7kqzs2mc8gzr9qzn9v6q86sdr35pzysdl41xqydxpsrd"
+   "commit": "91d9f946690df0a1ed866f2cd1eab1b2e7c7480a",
+   "sha256": "0pkn99srwyvyibz5zxkh58csbf598x26f31mpizacx3bs4nys0qb"
   }
  },
  {
@@ -6172,8 +6356,8 @@
     "bind-key",
     "key-chord"
    ],
-   "commit": "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0",
-   "sha256": "19m31nh2bd7rrlh53wy1hf6sxcqk4qn4wkm5w1c16314d5w56w5s"
+   "commit": "4b58ab78177f636f862a66c7a8fdcf9b070e0925",
+   "sha256": "04jva9wi8rpvz61qyvzd2fpsfsw43jkr5741yndrzkxx43q67qxj"
   },
   "stable": {
    "version": [
@@ -6196,11 +6380,11 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20180513,
-    430
+    20191110,
+    416
    ],
-   "commit": "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0",
-   "sha256": "19m31nh2bd7rrlh53wy1hf6sxcqk4qn4wkm5w1c16314d5w56w5s"
+   "commit": "4b58ab78177f636f862a66c7a8fdcf9b070e0925",
+   "sha256": "04jva9wi8rpvz61qyvzd2fpsfsw43jkr5741yndrzkxx43q67qxj"
   },
   "stable": {
    "version": [
@@ -6395,17 +6579,17 @@
  },
  {
   "ename": "blacken",
-  "commit": "69d9802996a338be937d61678f2cadf3497f6b85",
-  "sha256": "16lbs76jkhcq0vg09x1n8mrd4pgz5bdjsprr9260xr7g3dx8xacc",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "0lk7rhrzysdg4zmvv75bkpxcs6fcd6jaf0nh0bp15c3kp2v9zsn5",
   "fetcher": "github",
-  "repo": "proofit404/blacken",
+  "repo": "pythonic-emacs/blacken",
   "unstable": {
    "version": [
-    20190917,
-    535
+    20191123,
+    1547
    ],
-   "commit": "9daacd1211b081e76f02d4ef128d7f44c88d8fd0",
-   "sha256": "0f6ji0gs6gb6kc931yv5j6hbvb5d405xxzsbrgkivc9wxpypcfwg"
+   "commit": "a09f8e2564739792a1b86bc8a6ce41039db3bbf8",
+   "sha256": "0cs9nmi30dknrw6p2xvx9np1zmzpsn3bs93lhfiqy2a4ylf96brl"
   }
  },
  {
@@ -6772,16 +6956,16 @@
   "repo": "jyp/boon",
   "unstable": {
    "version": [
-    20190918,
-    601
+    20191128,
+    820
    ],
    "deps": [
     "dash",
     "expand-region",
     "multiple-cursors"
    ],
-   "commit": "07534c76d6bd3cd9307cc53deb59f11746f91ecc",
-   "sha256": "16rzjr52g4jn96xsa6z1acl9zipq46pg8rhcgxri43cdanwkfqin"
+   "commit": "ed8bc8bbc4ea13f68bd2aec6a59c4765b49fc610",
+   "sha256": "0rzv687yfv756pvvdjpjh0zgvqgqgg1hjl9h1lls1mc5vndny1rz"
   },
   "stable": {
    "version": [
@@ -6805,30 +6989,30 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20190902,
-    1510
+    20191205,
+    2240
    ],
    "deps": [
     "dash",
     "epkg",
     "magit"
    ],
-   "commit": "e4a53ec687a1e2f75276c2f2c2b568266887fe10",
-   "sha256": "1s01gwnpqrkr60r0xn27231854qpqqbqphiy200x7hmkq93wzlhv"
+   "commit": "7efd982e8e84b5761acbed9db98ec21eefca5048",
+   "sha256": "19ivl467n19ny4138vhzgzdbrsycclxmy34cck5z50nh42is3865"
   },
   "stable": {
    "version": [
     3,
     1,
-    1
+    2
    ],
    "deps": [
     "dash",
     "epkg",
     "magit"
    ],
-   "commit": "940af3d437b299ef81ce73da4e4ec8c2f52d7a79",
-   "sha256": "0lg2inxzfz6pcblynna4fyi5lxnmbrpl095d6574d0pnn22zdx5a"
+   "commit": "3f9fc2281e9ae873873998782c98c57c5ebb0555",
+   "sha256": "1k889m4095lm97lphcwcrsl53vhgas7iha594mmk8cs7sm5csjy1"
   }
  },
  {
@@ -6969,6 +7153,30 @@
   }
  },
  {
+  "ename": "brazilian-holidays",
+  "commit": "111f2736e864e7cc8be6beb00eebb62f4d614e8c",
+  "sha256": "1akqv0xd03vq46s8rzpk2hmjvy676dgnivaq8n5myagjkj9bmw3r",
+  "fetcher": "github",
+  "repo": "jadler/brazilian-holidays",
+  "unstable": {
+   "version": [
+    20191211,
+    330
+   ],
+   "commit": "13a480f03eb3729e6f203ce77dfd4de5e1203a3d",
+   "sha256": "1980267q70b7m16jsxc433cdqzr15q8dz5cwpkhla52wfdf1s184"
+  },
+  "stable": {
+   "version": [
+    2,
+    1,
+    0
+   ],
+   "commit": "13a480f03eb3729e6f203ce77dfd4de5e1203a3d",
+   "sha256": "1980267q70b7m16jsxc433cdqzr15q8dz5cwpkhla52wfdf1s184"
+  }
+ },
+ {
   "ename": "broadcast",
   "commit": "6ed51896112e702a8b853059884aad50d37738c2",
   "sha256": "1h2c3mb49q3vlpalrsrx8q3rmy1zg0y45ayvzbvzdkfgs8idgbib",
@@ -7199,11 +7407,11 @@
   "repo": "joehakimrahme/buckwalter.el",
   "unstable": {
    "version": [
-    20190204,
-    1451
+    20191119,
+    1950
    ],
-   "commit": "d4a7785eef05491ac4eb3150b75c473480bb51cb",
-   "sha256": "1i0kkn2qziakpy0ax8rc1pjdb6r881gybqhl5dwmwsd8gkfhddy5"
+   "commit": "1ef6f210f38c0686bc5b445b9704190f168f30ea",
+   "sha256": "054gbfdaqfj5psb3f06ba46x38gd9xak28h1la5b1szdzj61f23i"
   }
  },
  {
@@ -7252,15 +7460,15 @@
   "repo": "plandes/buffer-manage",
   "unstable": {
    "version": [
-    20190815,
-    502
+    20191015,
+    1730
    ],
    "deps": [
     "choice-program",
     "dash"
    ],
-   "commit": "47852b908a0d9a059e9f8cd7797229ecf6259b8c",
-   "sha256": "1zxlw2kkkfa0pgxzk7qcjxy77g0r3grnnv4sa6zjhmh9kh7jgf75"
+   "commit": "4fd0e6f9f3da31bc805be2000adf2c91088dd39b",
+   "sha256": "1an2w2s2xnmcj2knnax4mpv4wzcq31bvqcbhwasm39yzjlz7j5s9"
   },
   "stable": {
    "version": [
@@ -7406,8 +7614,8 @@
     20180128,
     1314
    ],
-   "commit": "f570a0532bfb44f095b42cf68ab1f69799101137",
-   "sha256": "09rbxgrk7jp9xajya6nccj0ak7fc48wyxq4sfmjmy3q1qfszdsc3"
+   "commit": "83e028e1b2359f75c8bcd3159f7b56c3fcdf85b9",
+   "sha256": "0g9wwkjznc9vvzi2z0q7x0fzj0ixnxlgb7gggl1blqjzbswwy394"
   },
   "stable": {
    "version": [
@@ -7672,19 +7880,19 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20190906,
-    1433
+    20200106,
+    2136
    ],
-   "commit": "d2b6692d58828d0e604fa259cf484296795fb2a7",
-   "sha256": "0gb3d2039m71pi8m3n3mdncifljzq8qjvdg0j5gskx4shpg6k7jh"
+   "commit": "9b87afc57f5131259957a8bfd5d4bf53917e4beb",
+   "sha256": "0pncvp89axm6pv83j5lly9pyxcp3yr6v8llzi0ixy9jnf43679ry"
   },
   "stable": {
    "version": [
     1,
-    17
+    19
    ],
-   "commit": "d2b6692d58828d0e604fa259cf484296795fb2a7",
-   "sha256": "0gb3d2039m71pi8m3n3mdncifljzq8qjvdg0j5gskx4shpg6k7jh"
+   "commit": "8a284895e9f9856e3b27a7aaff4ce7e9600e36e3",
+   "sha256": "1v2zjncn92p08fisds761yxrfa7k24wn0qmakgpn4ksyghmzdjlg"
   }
  },
  {
@@ -7701,8 +7909,8 @@
    "deps": [
     "buttercup"
    ],
-   "commit": "6bc28b6b0f36fb71b0915c9e45963c840c64a8df",
-   "sha256": "1rayxq1va7jpikfr37p8nq2pv339mhq7zqy082kzwvj5q6qfw88s"
+   "commit": "400227a45164e4e849048d288a02ab8243d09cd2",
+   "sha256": "1z972i1pzg8bkrzzbjha802486mybqyh9bhbvfk2sr6nzhvx2w1k"
   },
   "stable": {
    "version": [
@@ -8217,7 +8425,7 @@
    "error": [
     "exited abnormally with code 1\n",
     "",
-    "error: unable to download 'https://github.com/ocaml/caml-mode/archive/9803cf37ac52bbfa5130fde0f228dc51c4590c2d.tar.gz': HTTP error 404\n"
+    ""
    ]
   }
  },
@@ -8229,16 +8437,16 @@
   "repo": "kisaragi-hiu/cangjie.el",
   "unstable": {
    "version": [
-    20190829,
-    1530
+    20190929,
+    1221
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "b34a28dd06bd95a16b655f1917227925975314bc",
-   "sha256": "0xz62fivll6yv1x94f7f5m07zg7383llyz6wa1n5q1ysix2p20j1"
+   "commit": "0a703f4d1162259d77bfb3f862d13c1b1f11a711",
+   "sha256": "19f7xzc1204zdv8bbd5vfzxqrinhk8m9mw911dc77jab2in22348"
   },
   "stable": {
    "version": [
@@ -8296,15 +8504,15 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20190902,
-    754
+    20191224,
+    47
    ],
    "deps": [
     "markdown-mode",
     "rust-mode"
    ],
-   "commit": "39a77e48a16d69b2e841084a3dbbbd083f166a21",
-   "sha256": "0wyqqc22my842ag999hnfijycfck888z1pbm6acaa6h6cczm1ya9"
+   "commit": "dc9ff35c2861d524ac4d65020c5320eec71acacf",
+   "sha256": "0nng284i5jygsnbda6ycrm2wv8rw47z8ilcs6r1z0w1gv3p012fd"
   },
   "stable": {
    "version": [
@@ -8376,8 +8584,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20190718,
-    2055
+    20191004,
+    1155
    ],
    "deps": [
     "ansi",
@@ -8389,8 +8597,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "1d031f77d3dcd540038e24151dbaf0a91de01db5",
-   "sha256": "1wz57lqmn9vzh8dlvb639lmfxh2h6m3f6kr9bglr2mf1hc3zrij1"
+   "commit": "a4715f7c6c9797639c3636399cb21c2b0332b354",
+   "sha256": "1zjz3mp8hgnsfyapq7qdfysj31g9f6syvrik2w057r3w3bxp8vkf"
   },
   "stable": {
    "version": [
@@ -8587,8 +8795,8 @@
     20151205,
     1343
    ],
-   "commit": "ad61579af269291b4446f4bab0a58522cc454f1c",
-   "sha256": "0aisilp9wl9w8l6nsiy963wvja38pp57g3skdf6qbm5ak8bb3244"
+   "commit": "51747f7afb5b66675bd9e1e812c93a8aba4d8249",
+   "sha256": "1kfx4w7bmw42x3g64zj3wpvg9cawgblrrywlp18zl0qygxj4jg5c"
   }
  },
  {
@@ -8599,16 +8807,16 @@
   "repo": "MaskRay/emacs-ccls",
   "unstable": {
    "version": [
-    20190720,
-    935
+    20191219,
+    913
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "projectile"
    ],
-   "commit": "9061ebbf9d5ec3ee7e88dbd226c77017cf0447b1",
-   "sha256": "106jh25ivq0ydiz37p51agk5zbpai7fv91pwn6dpqzsq5g281ls7"
+   "commit": "aab3e31fd716daf59f9794e62d473357263e8cc0",
+   "sha256": "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"
   }
  },
  {
@@ -8637,8 +8845,8 @@
     20151205,
     1343
    ],
-   "commit": "ad61579af269291b4446f4bab0a58522cc454f1c",
-   "sha256": "0aisilp9wl9w8l6nsiy963wvja38pp57g3skdf6qbm5ak8bb3244"
+   "commit": "51747f7afb5b66675bd9e1e812c93a8aba4d8249",
+   "sha256": "1kfx4w7bmw42x3g64zj3wpvg9cawgblrrywlp18zl0qygxj4jg5c"
   }
  },
  {
@@ -8649,11 +8857,11 @@
   "repo": "cdominik/cdlatex",
   "unstable": {
    "version": [
-    20190130,
-    1419
+    20191203,
+    646
    ],
-   "commit": "90d785a94c0db7aa0043ea62f5807af3df155438",
-   "sha256": "1yhry3wrqh1ijc0n7140pnbwcamrgi89a75pg03zx0cqb5g6c8i6"
+   "commit": "b7af5a9884189412b4699a8fbffcb8fc17bdf617",
+   "sha256": "1ra5m51b9r0irp30bg8qm9wziaz5r4bi84b14s8ss5q3w950sdd5"
   },
   "stable": {
    "version": [
@@ -8772,15 +8980,27 @@
   "repo": "ema2159/centaur-tabs",
   "unstable": {
    "version": [
-    20190919,
-    2028
+    20200103,
+    1548
    ],
    "deps": [
     "cl-lib",
     "powerline"
    ],
-   "commit": "90220c26cbc77b121eeb065e30f6d7a395ef131f",
-   "sha256": "1hrrsz4pbblmxyhds3253sjpk3gqb4zwjwwdl8b3shgamrhwl7y3"
+   "commit": "9b2ae1ace8c0d4ad1fa90047105793274baa1d48",
+   "sha256": "1rcf2jnpvkrmpsqcbrbqrn142dzgixzcv8fa095a2gzp9cdf64rj"
+  },
+  "stable": {
+   "version": [
+    3,
+    0
+   ],
+   "deps": [
+    "cl-lib",
+    "powerline"
+   ],
+   "commit": "7d0d4e939d8089fc18b20a51a49de11b70947649",
+   "sha256": "19xm43f3p5klyiyycy3bp46j2mpqcf4jl5d34hvv0jynx4hxlk1f"
   }
  },
  {
@@ -8895,17 +9115,17 @@
     20171115,
     2108
    ],
-   "commit": "732b7da25a22c9846aca4badecee9b6d08c54c9b",
-   "sha256": "0w4qqwjxa5v48skq7xzb57fbdgjf2il5zs7650k0gz490rh50rwj"
+   "commit": "c505dc774244e8cb10ec479940a04a0580d36f06",
+   "sha256": "0sn459dj9a0zr4bbbzlwx2hcmd82x535ap4czybjpsnyjn51lpac"
   },
   "stable": {
    "version": [
     3,
-    14,
+    15,
     0
    ],
-   "commit": "44c447317b7ab87f973f21170a9c17a58b1c75c8",
-   "sha256": "0fk4x7qn7dsc7jqgbr3bpnphq7a1s4faqjci1j08cnigb3b5x585"
+   "commit": "76bc1fad91478de7064380c31d333e1975cf8126",
+   "sha256": "1amjzy3v7rhc6djl1ldqnhpd4m3prh7lfyd5hyb9fp0v8jhyg3w2"
   }
  },
  {
@@ -9028,11 +9248,11 @@
   "repo": "challenger-deep-theme/emacs",
   "unstable": {
    "version": [
-    20181205,
-    1834
+    20191114,
+    1339
    ],
-   "commit": "96b7b1e2a9a3f8ffcbc36a1f37251b1232539d89",
-   "sha256": "1wvxblnn9qp75r33w3mlbjgqlq8dbh6m38snwkc45071vdqfkyk0"
+   "commit": "b8427b5c87948a183e2dd2b8920a54fbaae2738b",
+   "sha256": "05vgax8arz6l0a4x0gsh7gs0qasjf09xj973nb7k3w8gyzmy1z95"
   }
  },
  {
@@ -9162,19 +9382,19 @@
   "repo": "davep/cheat-sh.el",
   "unstable": {
    "version": [
-    20170802,
-    1118
+    20191027,
+    1038
    ],
-   "commit": "e90445124f3f145a047779e42d070a3c5e150f70",
-   "sha256": "06avap8w833syhz7pdpsm73nbsgbwzmpagd7f3khzaf6r6c90jmn"
+   "commit": "bd970d7c576b8720d63a1e7fd88ea8a943f2160b",
+   "sha256": "027ws9hz84d4j00bfl5s0id8jcv2yqjkjmph1890w37miwj62cjf"
   },
   "stable": {
    "version": [
     1,
-    7
+    8
    ],
-   "commit": "6409bb66241255cc9a0362f2acdcb0b34344f9f2",
-   "sha256": "1nmsja1s45fs93v2vbalfralixvzp88rgv47vf9p80i7x6w2149m"
+   "commit": "bd970d7c576b8720d63a1e7fd88ea8a943f2160b",
+   "sha256": "027ws9hz84d4j00bfl5s0id8jcv2yqjkjmph1890w37miwj62cjf"
   }
  },
  {
@@ -9427,14 +9647,14 @@
   "repo": "SavchenkoValeriy/emacs-chocolate-theme",
   "unstable": {
    "version": [
-    20190818,
-    756
+    20191021,
+    1346
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "7de46341adcc7a5eaafcddc0d3a9d63274f5e9c7",
-   "sha256": "0s61lx5vhx01xzzqxy0blz6jxvljb8qjj3567nz17pwwdfcskc5v"
+   "commit": "1c6cd8d2fdc939bd4d26117d61e57c11cfe26512",
+   "sha256": "1knnj1kzjccr7hg5zbj4qfnkgjkf221bf7wv83km9hs7zs7brj5x"
   }
  },
  {
@@ -9534,8 +9754,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20190920,
-    850
+    20200101,
+    839
    ],
    "deps": [
     "clojure-mode",
@@ -9546,14 +9766,14 @@
     "sesman",
     "spinner"
    ],
-   "commit": "b2449eca413c5800b0239588c5d4345d8381eff6",
-   "sha256": "1lrmzxhny6bldzvljqgd9hih7rg62fqdxv9dk65qnsm16vncmkgv"
+   "commit": "6e00ad359f87e658d7fa2c533731b60d9ce26a35",
+   "sha256": "1xvzlvv20hmcssk6lijdknqwikf8yfsv4hjp6zbglq60545s1hx2"
   },
   "stable": {
    "version": [
     0,
-    22,
-    1
+    23,
+    0
    ],
    "deps": [
     "clojure-mode",
@@ -9564,8 +9784,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "8a1262dae8f86f03fa2ec0abdbced10ff7e5ee1e",
-   "sha256": "0pjp1gcvhmbdh10w2yall9a7bbprg2z2hmmkwhqxcalsaacwfz0x"
+   "commit": "ce42702154709ef5d991e2732511c50d69de256c",
+   "sha256": "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs"
   }
  },
  {
@@ -9738,14 +9958,14 @@
   "repo": "jorgenschaefer/circe",
   "unstable": {
    "version": [
-    20190322,
-    1242
+    20191202,
+    1028
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6ccd4b494cbae9d28091217654f052eaea321007",
-   "sha256": "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"
+   "commit": "0c79138fb2d37940654649787cb17cb619268748",
+   "sha256": "0b2zmqrnvg37hwiywnb43zaggi3c7jh6zfdwp7z90hf98il13jpk"
   },
   "stable": {
    "version": [
@@ -9830,6 +10050,21 @@
   }
  },
  {
+  "ename": "cl-font-lock",
+  "commit": "c4cc415c24fc1c404aa9e4d8fcc7bf70ed182633",
+  "sha256": "1igiclz5lshq9bz4sndf0qgsvnrfk39jnpld8g4a985gr2hislb4",
+  "fetcher": "github",
+  "repo": "equwal/cl-font-lock",
+  "unstable": {
+   "version": [
+    20191230,
+    2341
+   ],
+   "commit": "b3d28f3c7136be728caa6e57ce7eea16c7066bc9",
+   "sha256": "0ykz1gkaigb92ap491h8mlgp8vzw4yx67x1hizrrda9z65869avb"
+  }
+ },
+ {
   "ename": "cl-format",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "09jwy0fgaz2f04dvcdns6w859s6izvrkp8ib4lws3x8kx8z918fy",
@@ -9913,14 +10148,14 @@
   "repo": "emacsmirror/clang-format",
   "unstable": {
    "version": [
-    20180406,
-    1514
+    20191121,
+    1708
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1469728c61dcba8fa09c456e841f97e9eb75fa85",
-   "sha256": "0w6pd47pfs8jna076xjz0xz1f7bxdgvyglpllkm62fifiy2n994l"
+   "commit": "2d6a4526a2518b7c0059a8a0dfee156e90a49369",
+   "sha256": "1l64r9rr59g26mlph6r8pkn8vzadmh3mh8gvv398kz8skayfa55f"
   }
  },
  {
@@ -10029,6 +10264,29 @@
   }
  },
  {
+  "ename": "clipetty",
+  "commit": "3f6895244ad88e79d9e5d98dd0ba28be96c79595",
+  "sha256": "0471hrl5nw4v83fglgnsa5yh810idbsliwvrm2b5i6zwgn3mndci",
+  "fetcher": "github",
+  "repo": "spudlyo/clipetty",
+  "unstable": {
+   "version": [
+    20200105,
+    15
+   ],
+   "commit": "fda5a80cf4b24389b2f95eeec1d567df80a8fb11",
+   "sha256": "1nzlrd7vf4sqhb2a0bsg1gaj722id5i1s9f1wdi2bmx58rzhqnhp"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "8430e1c01ae701fb85bb12703fe59a0f04fd0a6f",
+   "sha256": "0k3srxvy5r7hbwbr8r65l9gc7nynqrqx5hc39s3xgx3ddq66wq4i"
+  }
+ },
+ {
   "ename": "cliphist",
   "commit": "82d86dae4ad8efc8ef342883c164c56e43079171",
   "sha256": "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29",
@@ -10122,8 +10380,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20190618,
-    716
+    20191223,
+    917
    ],
    "deps": [
     "cider",
@@ -10136,8 +10394,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "50d2d8aad5e0bd8002173b300f8419d72ceab7af",
-   "sha256": "012mck2bqngx7s11d37q1h8ig5c167bn5b5rg40jn4vsybhyp2f5"
+   "commit": "e24ba6284317dbb3e678fcad325044c628da56da",
+   "sha256": "1ci08jkjvksy6wr3djij4wv3n8r4dar11z1sn1ap67sngx4q3z3f"
   },
   "stable": {
    "version": [
@@ -10301,11 +10559,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20190914,
-    1029
+    20191112,
+    1948
    ],
-   "commit": "147bf84189ef672161b2229ddc5c35713323ad59",
-   "sha256": "1m80pabpqc1lkc5zlcalqz6r6ppslj7zqx00b1c35innhzm7dzw0"
+   "commit": "51016faaa88956bdd4decf2fa94dd5198777a47c",
+   "sha256": "13xx6ihhr2175w5d0m5zbyg3fmk1s46wj399f4lrc4skwjxbrlgg"
   },
   "stable": {
    "version": [
@@ -10331,8 +10589,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "147bf84189ef672161b2229ddc5c35713323ad59",
-   "sha256": "1m80pabpqc1lkc5zlcalqz6r6ppslj7zqx00b1c35innhzm7dzw0"
+   "commit": "51016faaa88956bdd4decf2fa94dd5198777a47c",
+   "sha256": "13xx6ihhr2175w5d0m5zbyg3fmk1s46wj399f4lrc4skwjxbrlgg"
   },
   "stable": {
    "version": [
@@ -10417,30 +10675,30 @@
   "repo": "clojure-emacs/clomacs",
   "unstable": {
    "version": [
-    20190313,
-    1517
+    20191201,
+    200
    ],
    "deps": [
     "cider",
     "s",
     "simple-httpd"
    ],
-   "commit": "461be59e5f480af292c84fd6f7d88f1f885371a5",
-   "sha256": "1kglhcid32vxs8nc7j2jjbd0cbwxx2rc0y2wlhmcxpd3gsk2lwp3"
+   "commit": "88b8fc6d1b7105adae009578ef24fedaf157f341",
+   "sha256": "13rhnncqj8666g2v7493i8xh79mczjrmg24p12knzhkslxdnv9hp"
   },
   "stable": {
    "version": [
     0,
     0,
-    3
+    4
    ],
    "deps": [
     "cider",
     "s",
     "simple-httpd"
    ],
-   "commit": "d9783d42dbab9710afff5654bf931b00e9df4ac1",
-   "sha256": "0jwnsyg0vi9ghn9yfd97rjj9j9ja3ig8h63n4zjw71ww3bcdldc6"
+   "commit": "292c8f5370a2c74094da46ede990b5e7cc8b55b8",
+   "sha256": "1rv57wqr09vl0caz4wjr0kqvhgvl5y1x6818v8m55rm2z8rim11i"
   }
  },
  {
@@ -10451,26 +10709,26 @@
   "repo": "emacscollective/closql",
   "unstable": {
    "version": [
-    20190731,
-    1450
+    20191229,
+    1814
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "70b98dbae53611d10a461d9b4a6f71086910dcef",
-   "sha256": "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"
+   "commit": "1e78f96dc976badb59067c986f7766cce89405cc",
+   "sha256": "03nknirj5jd3yf842amb274269fyiinr325g1x2snf1zgqfm3csn"
   },
   "stable": {
    "version": [
     1,
     0,
-    0
+    1
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "012b94f8695e194455111fd54eff0b94dd0dd0db",
-   "sha256": "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"
+   "commit": "92f8f2dba684b7c9cc60821aa5668d336544ab99",
+   "sha256": "0q8val0v4hryr0miliqjf38y4aybrihzncr0p1mwba861jlpy86n"
   }
  },
  {
@@ -10496,11 +10754,11 @@
   "repo": "vallyscode/cloud-theme",
   "unstable": {
    "version": [
-    20190901,
-    1701
+    20191106,
+    1836
    ],
-   "commit": "08090f00738809306fa156aac60d85ad6be9e672",
-   "sha256": "17a5xdn2m7gdaw71b79xs1cprh4jqgwsfgmb52gz2yaxb20hg7xy"
+   "commit": "37e5246c90b747b634cbbc16871a156bb8477e91",
+   "sha256": "15pjvxgdamq69s344hasjc9gr8qczlcqz0y80la0c9xnbjgqdhns"
   }
  },
  {
@@ -10579,14 +10837,14 @@
   "repo": "Lindydancer/cmake-font-lock",
   "unstable": {
    "version": [
-    20190728,
-    1901
+    20200103,
+    1702
    ],
    "deps": [
     "cmake-mode"
    ],
-   "commit": "e0ceaaae19c13b66f781512e3295bfc6707b56f4",
-   "sha256": "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"
+   "commit": "9e0fcd1ee2cf316f661f2d652368b12f83a4ec9c",
+   "sha256": "0m1i5ijiwsxral544xd4nygcr1qbackaghjfgr8pfb5yfwgdxifh"
   }
  },
  {
@@ -10634,21 +10892,17 @@
     20190710,
     1319
    ],
-   "commit": "ebb9346490741ddc2ce6f552bc1be57dfc730cfa",
-   "sha256": "17rn81cg9df4da6jw9xnq5ldk1a58hvql9xhs59n3cc8v21v81pd"
+   "commit": "75dfba223f0fbe9b599fe10662a5bc733f4f2623",
+   "sha256": "05gisydanpwq3mmdnvy6cf6969l42jf2ksanwlx6b5xh2mfpc1ni"
   },
   "stable": {
    "version": [
     3,
-    15,
-    3
+    16,
+    2
    ],
-   "commit": "26a0e200e5f4abe8268235c9fdb23a2612a1b3b1",
-   "error": [
-    "exited abnormally with code 1\n",
-    "",
-    "Initialized empty Git repository in /run/user/1000/git-checkout-tmp-2hzFmDuI/cmake-26a0e20/.git/\nfatal: invalid refspec '+refs/tags/v3.15.3^{}'\nfatal: write error: No space left on device\nfatal: index-pack failed\nUnable to checkout 26a0e200e5f4abe8268235c9fdb23a2612a1b3b1 from https://gitlab.kitware.com/cmake/cmake.git.\n"
-   ]
+   "commit": "512ab500f06d6c645985cc8014c5e6291b9a059f",
+   "sha256": "0m0sd8ynrrhj8636jgixakpha814r1qpzcqdbnpddvjcvmijqjxv"
   }
  },
  {
@@ -10716,11 +10970,11 @@
   "repo": "tumashu/cnfonts",
   "unstable": {
    "version": [
-    20190314,
-    1132
+    20191214,
+    1006
    ],
-   "commit": "c31d13cc3c320fd5bf24bf8309c6d982a25c49ee",
-   "sha256": "0c50xacgcbk3kbkxbg713bmaidpmkhnsb89pn9v8p8rk5nz06b89"
+   "commit": "4af009919ab8965afe8b0daacef1ad13606da5bc",
+   "sha256": "1sgy6dkwn22nxm0rgrxbkq1sfrdh55ry5sq96xsl9k52gzzh27zz"
   },
   "stable": {
    "version": [
@@ -10773,8 +11027,8 @@
     20190915,
     1009
    ],
-   "commit": "bf07c3db3900e36b0b87423f3b715d6378f86393",
-   "sha256": "1wraxwnhf3xmlhc0ijh1ca9xqrxzxgih4dzca34smwp7dssz3xha"
+   "commit": "7ca7db69e8c38ec45eb572ad16ab2b56086f2131",
+   "sha256": "1jfglmsknvyh3srqn7m6yr02j7n8xa7iznzyhhr34mwg2q71ihzr"
   }
  },
  {
@@ -11101,17 +11355,17 @@
     20161219,
     1144
    ],
-   "commit": "42a79266f1d7b473e9328e67a455e505e6c3eff5",
-   "sha256": "0mw5rnzzc4yfcflg59viy81ziws680r44xr05qg032b5x02l8ar9"
+   "commit": "4f7da6f955f7c584c5dfab2dc170f9a3debd80f8",
+   "sha256": "08wmllq3smg7cp7jspmvd67z5vzmxvi136c6j87r1gsgprhgmhw4"
   },
   "stable": {
    "version": [
     0,
     0,
-    2
+    3
    ],
-   "commit": "7107540d22e8ff045e0707de84c8b179fd829302",
-   "sha256": "0apvqrva3f7valjrxpslln8460kpr82z4zazj3lg3j82k102zla9"
+   "commit": "4f7da6f955f7c584c5dfab2dc170f9a3debd80f8",
+   "sha256": "08wmllq3smg7cp7jspmvd67z5vzmxvi136c6j87r1gsgprhgmhw4"
   }
  },
  {
@@ -11148,11 +11402,11 @@
   "repo": "purcell/color-theme-sanityinc-tomorrow",
   "unstable": {
    "version": [
-    20190904,
-    520
+    20191231,
+    616
    ],
-   "commit": "d43905165503bc5e3bf4c658b414884f5cb434e5",
-   "sha256": "0hzy863abchc46cpig8mnn4c885df02h8m2z7m257krkv5aggmif"
+   "commit": "09067a0744dd5c0e37d5bd03fc528b0fdfab95a2",
+   "sha256": "1gv8qq1ngw4s4xm9rbwx94sk2w7l64l0315f797dsc7sgjki0yma"
   },
   "stable": {
    "version": [
@@ -11189,11 +11443,11 @@
   "url": "https://git.sr.ht/~lthms/colorless-themes.el",
   "unstable": {
    "version": [
-    20190802,
-    725
+    20190927,
+    1305
    ],
-   "commit": "4f9d0ec5a078ab8442abdba0c35eb748728f3052",
-   "sha256": "1h8ggaqvrdj8cyknps9anh2xz08ar94137gydvxy8xgrmpa3jnc1"
+   "commit": "12678144d17edf36d34e6bcdc5435593e191d96d",
+   "sha256": "0fld15h92193bnbmka3ikq27hggxvsikzlzq4pi2n3kknq9hyh56"
   }
  },
  {
@@ -11237,10 +11491,10 @@
  },
  {
   "ename": "com-css-sort",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "153yhyqrlmarz8rpcvb0rr7f388fhyb2val4qx2pzpsimklrwrcb",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "11cdp3cgcwwi06njjpwryh3vwmkdh2rzlin77p630590bynagw8c",
   "fetcher": "github",
-  "repo": "elpa-host/com-css-sort",
+  "repo": "jcs-elpa/com-css-sort",
   "unstable": {
    "version": [
     20190723,
@@ -11250,6 +11504,19 @@
     "cl-lib",
     "s"
    ],
+   "commit": "b0491d5340c5f5c516b44aa7bfef6f6cf2998484",
+   "sha256": "0d6pxwi5mbb98zzx3j55w221541674d69pxmf55yji6hly8yqavv"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    5
+   ],
+   "deps": [
+    "cl-lib",
+    "s"
+   ],
    "commit": "e3c6a3a88c8f7e3ce7a5c6756b47a7aba7ffe149",
    "sha256": "0c3pcgr95nhf2yx66hxiwwl6k2fqz8cpmr0y0fxzahkmvc4c9zi6"
   }
@@ -11279,6 +11546,30 @@
   }
  },
  {
+  "ename": "comint-hyperlink",
+  "commit": "3c3bc7c897bfc5fafcda33d9837e6f3ff4da3692",
+  "sha256": "17fvg00r2wjwxa747v8yvgv70rd287crhhxxmp6nchfklw408ai6",
+  "fetcher": "github",
+  "repo": "matthewbauer/comint-hyperlink",
+  "unstable": {
+   "version": [
+    20191104,
+    2224
+   ],
+   "commit": "a7878825788ff6b9d6b8a5adf0214a028bad895e",
+   "sha256": "19fww5aciqx4h67hpmzf564n0ygzg69v1sk1qjyhbs27pq5zrjmq"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    6
+   ],
+   "commit": "a7878825788ff6b9d6b8a5adf0214a028bad895e",
+   "sha256": "19fww5aciqx4h67hpmzf564n0ygzg69v1sk1qjyhbs27pq5zrjmq"
+  }
+ },
+ {
   "ename": "comint-intercept",
   "commit": "7d38188ec2d6e16714de9bb24ebd1ea89c7df3da",
   "sha256": "1m2fn02n7aphlqmiaxgwp8jqg60sq4001cnkdxn5wb3w1hxy5qvq",
@@ -11286,11 +11577,11 @@
   "repo": "hying-caritas/comint-intercept",
   "unstable": {
    "version": [
-    20170317,
-    1228
+    20200106,
+    454
    ],
-   "commit": "a329abf01fa8e0c6b02b46b29bcb421a21120dc5",
-   "sha256": "0qswlafav415fh1dwqjsjmqlbnsjdl9gl3nzzya76ql5f0gb7svb"
+   "commit": "3c9a6125e450435b79ab5e6466f830e57c5e0a30",
+   "sha256": "06cvphbnhb89h4ss3y87lladb0dcsrkij8pfv65ky06brc1jl0hx"
   }
  },
  {
@@ -11435,8 +11726,8 @@
     20181213,
     1045
    ],
-   "commit": "9a825ae98166c9dbbf106e7be62ee69dd9f0342f",
-   "sha256": "1x30iyvvxggbh7xvp8lwpirvpqijchqf2fdaw4xrlbw5vajlaxcx"
+   "commit": "dede0f8ecb72156fa6ae81198ea570ead02997ff",
+   "sha256": "1ykicd6yp495s7795mlfwd54lp0427j8mw6ajbqsw2c2w0f7jcjr"
   },
   "stable": {
    "version": [
@@ -11534,28 +11825,28 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20190907,
-    1149
+    20200102,
+    2354
    ],
-   "commit": "f6974e3103497afe01da2ad4d2ea3668ad68bc27",
-   "sha256": "0pi6n1ggxb2i8x8f2wf1il8wcm6rd6ilvgbbh7ni95by1c987vbp"
+   "commit": "3c11c30c9ab41d8a9c88560071c48fbcdcbcba5d",
+   "sha256": "0x7ag716jp4xb7kmcmr8pqlxx1v0f2gkjx5gx34wxxqfrndwyx8i"
   },
   "stable": {
    "version": [
     0,
     9,
-    10
+    11
    ],
-   "commit": "3eda0ba23921d43b733f7975e56d490a34b9f30b",
-   "sha256": "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"
+   "commit": "3c11c30c9ab41d8a9c88560071c48fbcdcbcba5d",
+   "sha256": "0x7ag716jp4xb7kmcmr8pqlxx1v0f2gkjx5gx34wxxqfrndwyx8i"
   }
  },
  {
   "ename": "company-anaconda",
-  "commit": "0eb23a75c8b57b4af1737c0508f03e66430e6076",
-  "sha256": "1s7y47ghy7q35qpfqavh4p9wr91i6r579mdbpvv6h5by856yn4gl",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "0kq8vh4i92n0b42jyy8a2ra2jk27l6hmzq8r2hsyl6zj7qqzymrx",
   "fetcher": "github",
-  "repo": "proofit404/company-anaconda",
+  "repo": "pythonic-emacs/company-anaconda",
   "unstable": {
    "version": [
     20181025,
@@ -11568,8 +11859,8 @@
     "dash",
     "s"
    ],
-   "commit": "2cc1c98ab6fe1d908229a1e26adccf2c10da1ecc",
-   "sha256": "162dbc5rgwvvfqirn9pkrxc0cl1lbl56xb9hg3md48hpshpnwwba"
+   "commit": "398fad19160cc1d0e31dcb1d4a3f88de7a2d355d",
+   "sha256": "182cijh6l82jj1r7iwd93h3np9c8fvcibjhv7860rk9ik41n7wil"
   },
   "stable": {
    "version": [
@@ -11596,26 +11887,26 @@
   "repo": "krzysztof-magosa/company-ansible",
   "unstable": {
    "version": [
-    20190301,
-    2111
+    20191029,
+    2127
    ],
    "deps": [
     "company"
    ],
-   "commit": "c31efced8a9b461de5982ed94c234fda3df96f10",
-   "sha256": "0d2c3ckmwn36fwhvwfvqg86hfd2jwkg2n301chhxzs03v0mc03mx"
+   "commit": "8d1ffbc357ccb0c307815d0c7f2cbb699f92537b",
+   "sha256": "0rsdj502mqw9w1g5ylyi4szi789z9k7n8ay9ms4h6f1wi7fjd974"
   },
   "stable": {
    "version": [
     0,
-    7,
-    1
+    8,
+    0
    ],
    "deps": [
     "company"
    ],
-   "commit": "c6dc714e3a15f89671ae5e8fe668858b20ef63e8",
-   "sha256": "01nly13i2bs77lrvkm26i96vrrigbxpb9cakski9fv3xrvfxq9bv"
+   "commit": "2ea0be24f003dc64a30412df76298152be29103c",
+   "sha256": "1h3cl975k7lbk8x0r0f2yjw8nc5w455npc3nn4jx5nynirvz3i7n"
   }
  },
  {
@@ -11669,15 +11960,15 @@
   "url": "https://bitbucket.org/pdo/axiom-environment",
   "unstable": {
    "version": [
-    20171024,
-    2010
+    20191027,
+    1928
    ],
    "deps": [
     "axiom-environment",
     "company"
    ],
-   "commit": "505d85ffc051a7725344c960b1255597dab17780",
-   "sha256": "1251xc58nc2h6n4dibfdp7z85y609dkpc499ga8j9s0nwif009fs"
+   "commit": "3e7885d694efef923e7b53827d277c28bfa09320",
+   "sha256": "048x8mj72c57f62ffsad43mcrc201d8ilh339gnpm2yi8midv0ih"
   }
  },
  {
@@ -11778,8 +12069,8 @@
   "repo": "cpitclaudel/company-coq",
   "unstable": {
    "version": [
-    20190425,
-    1851
+    20191025,
+    2219
    ],
    "deps": [
     "cl-lib",
@@ -11788,8 +12079,8 @@
     "dash",
     "yasnippet"
    ],
-   "commit": "779dabd2925fc786dc278270a20f2ff05a3c673c",
-   "sha256": "00rn79i2vackrxhqmbf0miw0k2z6s6gmqb1nj9dj0pfml5yac875"
+   "commit": "6e8bc2e367e8184079b7f4b4ab359b64ab884d7c",
+   "sha256": "192vvz77yik0lx2g4yfjwx2himzzq4zhrc9mlyhdpwsmzwx7bf4r"
   },
   "stable": {
    "version": [
@@ -11809,6 +12100,36 @@
   }
  },
  {
+  "ename": "company-ctags",
+  "commit": "b548dbf4a388d2f69205786351a1d4336e0c0e88",
+  "sha256": "17j7cl5b6vd7ymbci83s0nfs8zn4h8zvir57cp9wl2z5wcjyxzcn",
+  "fetcher": "github",
+  "repo": "redguardtoo/company-ctags",
+  "unstable": {
+   "version": [
+    20191108,
+    1018
+   ],
+   "deps": [
+    "company"
+   ],
+   "commit": "3d21eaa511b5f0ca55205f203d28fd10ea1d3b39",
+   "sha256": "0lj5gkj2dl0c7sva8bi3bng2gm90sjq15g7w8r9nz70666szdr1i"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    3
+   ],
+   "deps": [
+    "company"
+   ],
+   "commit": "3d21eaa511b5f0ca55205f203d28fd10ea1d3b39",
+   "sha256": "0lj5gkj2dl0c7sva8bi3bng2gm90sjq15g7w8r9nz70666szdr1i"
+  }
+ },
+ {
   "ename": "company-dcd",
   "commit": "ad5be8c53911271fba03a88da7e9d518c6508ffe",
   "sha256": "03849k4jzs23iglk9ghcq6283c9asffcq4dznypcjax7y4x113vd",
@@ -11957,28 +12278,28 @@
   "repo": "dunn/company-emoji",
   "unstable": {
    "version": [
-    20180925,
-    2008
+    20191226,
+    1915
    ],
    "deps": [
     "cl-lib",
     "company"
    ],
-   "commit": "f0d91d5be0077b20b418a3ba37d36f431fae322f",
-   "sha256": "0aqqi1ksyglx7w347a99flpfa9pm1jakdvsgk4jr2ahv6j13nawg"
+   "commit": "fc45b56f3e2081d794f243bce705e77d4e29fc06",
+   "sha256": "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"
   },
   "stable": {
    "version": [
     2,
     5,
-    1
+    2
    ],
    "deps": [
     "cl-lib",
     "company"
    ],
-   "commit": "271909be44f86bcc294739ca45992cdc3caee39f",
-   "sha256": "1rihgld1wxwfdpqv7d9gcgd8xpnms5kpw61z30y18fmkxhhmid3c"
+   "commit": "fc45b56f3e2081d794f243bce705e77d4e29fc06",
+   "sha256": "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"
   }
  },
  {
@@ -12053,10 +12374,10 @@
  },
  {
   "ename": "company-fuzzy",
-  "commit": "3c3957d27d4208db45e7545f86ad1c25f53ec532",
-  "sha256": "0yxr0j3zdsf8xfy2mk4ybnjfv6g861772dshbd6v4p3q0pbhhhg6",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1xr5bilhj0xps0i0rgdvspq8yfiqkybq682jhzqjs1qzrm91apn0",
   "fetcher": "github",
-  "repo": "elpa-host/company-fuzzy",
+  "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
     20190812,
@@ -12066,6 +12387,19 @@
     "company",
     "s"
    ],
+   "commit": "2af24f053465ab370566a49c231d541ca9509850",
+   "sha256": "0ki049jpd4xymagaxd4zvnj3bm7d7d797xa1bm8lfi701m2jjlgg"
+  },
+  "stable": {
+   "version": [
+    0,
+    5,
+    3
+   ],
+   "deps": [
+    "company",
+    "s"
+   ],
    "commit": "a97f55b60f427e536e637898d12792154d134aab",
    "sha256": "1iw1vk1pgdacvfh17n45kk98rxml3f6kxnijmpp7fzz4q07yiv7w"
   }
@@ -12106,10 +12440,10 @@
  },
  {
   "ename": "company-ghci",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "11sygcn8jb4rcc1hfiadhsyanbhsmnalpz2qvh5iaba0l165bsgg",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "1qps4bgnmwbaml3dhx3lkcznngl8w5j58pacw35kbk4q8r69s4kx",
   "fetcher": "github",
-  "repo": "orimh/company-ghci",
+  "repo": "horellana/company-ghci",
   "unstable": {
    "version": [
     20190707,
@@ -12157,8 +12491,8 @@
     "company",
     "go-mode"
    ],
-   "commit": "7fb65232883f19a8305706b4b4ff32916ffbcaf5",
-   "sha256": "09yqziccv9mg5jlmhw8gslpcwwiiah0hs05nq0qnsbdnvc8bs4lr"
+   "commit": "939b4a677f2f843ea13d9dd90206d57111f0ceb9",
+   "sha256": "1yfw8y6czkqgxpyfdxwvkcrsmwbca7l0lr4jqmnpmm5m5rylcwr9"
   },
   "stable": {
    "version": [
@@ -12310,8 +12644,8 @@
     "lean-mode",
     "s"
    ],
-   "commit": "b5ba739f68ef731c03247bf6db2708502c8ac46c",
-   "sha256": "1dx0a76l7w3ck23sdjymigk1hycqiawfwv24yz6wqyy74f1pcyjf"
+   "commit": "f26e40daad2c1bd090e440a2b931205ac3b9b613",
+   "sha256": "022i1v885pvzz42cwrz7wp5amx25k664pvap7c4487hlrrkp1bg9"
   }
  },
  {
@@ -12485,8 +12819,8 @@
     "company",
     "nixos-options"
    ],
-   "commit": "45c8d90748304c90e1503c9fa8db0443f3d4bd89",
-   "sha256": "0hsr8acsvfb42drb8f2wkpgqyh3csny7l82qv4k2l83xf022cs1d"
+   "commit": "977b9a505ffc8b33b70ec7742f90e469b3168297",
+   "sha256": "07vidk3bnby1ch51i67llfdx2q8xc4ax5hvlrc3f72y9gkcpir4x"
   },
   "stable": {
    "version": [
@@ -12519,8 +12853,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "4490d168778a61a4ee8623defe760164cd9745b8",
-   "sha256": "1mkxayqrvz246gxr9wjabsn015hnjq96ys71syb6r4ykjn892a6m"
+   "commit": "7b8db219080b714a7b8ba452ddb82bd08f7db152",
+   "sha256": "1zm04hqy6dg57swk05qvl5idzb11camcdmh7lrh6mqsvrcsvym2q"
   },
   "stable": {
    "version": [
@@ -12552,8 +12886,8 @@
     "company",
     "phpactor"
    ],
-   "commit": "a12ec67ce9de9e96c89548052ae323a277cba846",
-   "sha256": "031i5s3cv9z2d6vnwbf91291fgafcqg61km9b3z7p9bk91vbkxsy"
+   "commit": "b69f2d9b2490c26c782d327344a54c19b5142cb3",
+   "sha256": "0pkby33g4ih6mssndcv2d59b1xkisw64p14fn131d6cqfwqvcwjn"
   },
   "stable": {
    "version": [
@@ -12605,8 +12939,8 @@
     "company",
     "pollen-mode"
    ],
-   "commit": "819edf830e9519f8ca57e9cef31211e3f444d11a",
-   "sha256": "0c06kfbyk2g0kxwlh6g3r7ij06ip6x9ni0bin24drwr0qj2vis2d"
+   "commit": "9673c72c5f38ab1196f17e694ed48b4ceb1b13be",
+   "sha256": "0mfz1x80zsjhq1870h7q4s2cncvh6jllci022fb9bllw4mrzh9a5"
   }
  },
  {
@@ -12617,15 +12951,28 @@
   "repo": "tumashu/company-posframe",
   "unstable": {
    "version": [
-    20190626,
-    759
+    20200108,
+    450
    ],
    "deps": [
     "company",
     "posframe"
    ],
-   "commit": "849867a05efdc1a93ef989e3a0f8944522bf16b3",
-   "sha256": "1q1iflh9sx90g53hl5hkgv5g09jm3am87mg3nysq1rjkm40d1nc1"
+   "commit": "23da6d89f018517181afb4a82a711387bf102c48",
+   "sha256": "0wl2y304crkc5ylgbwqp8zply1r76758mm407rw1mlzijpljzldy"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "company",
+    "posframe"
+   ],
+   "commit": "361de25739e866843b770638669f5bdf7ed95610",
+   "sha256": "0azmln9mssc52563vs5g3z3ajv4p6908c94v3fij1q0bdvlmcv6g"
   }
  },
  {
@@ -12636,27 +12983,27 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20190921,
-    3
+    20191224,
+    220
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "7fd8c3b8028da4733434940c4aac1209281bef58",
+   "sha256": "1igsjdkxax2lavglc03h0dk3d7fpgqvlymnhyxx738sjyfzl09cr"
   },
   "stable": {
    "version": [
-    3,
-    3
+    4,
+    0
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "ad9fbe8a17fe74b27a39bcc034f3da1865663387",
+   "sha256": "008hxy1vasnyz36wwg44gikpi80ng75hj85nrswk60b7z7cznbmr"
   }
  },
  {
@@ -12680,10 +13027,10 @@
  },
  {
   "ename": "company-quickhelp",
-  "commit": "022cc4fee54bb0194822947c70058145e2980b94",
-  "sha256": "042bwv0wd4hksbm528zb7pbllzk83p8qjq5f8z46p84c8mmxfp9g",
+  "commit": "651679c2430c69294d1a1870fd206b7ea69ab017",
+  "sha256": "0g4l12j85g129p9li4p7rsji263qy05hgkb7qi7k1ik5s2bm7jdw",
   "fetcher": "github",
-  "repo": "expez/company-quickhelp",
+  "repo": "company-mode/company-quickhelp",
   "unstable": {
    "version": [
     20180525,
@@ -12793,27 +13140,27 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20190821,
-    449
+    20191222,
+    920
    ],
    "deps": [
     "company",
     "rtags"
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
    ],
    "deps": [
     "company",
     "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -12866,8 +13213,8 @@
     "company",
     "solidity-mode"
    ],
-   "commit": "47f15b2663a6cf92ae6ebf655841a9509ad79017",
-   "sha256": "0zhr5fcv8vlkcnya36y9smpgw7ylb0fkx0px8zr0zhr2f9xgjmph"
+   "commit": "20d769513f42d8f82a4de7a42db89f59fb1c8fa1",
+   "sha256": "00y7arkg16yp7p4pvhjq0gkgchvpq65ql8jq42hkamh3gvj8gssq"
   },
   "stable": {
    "version": [
@@ -12920,6 +13267,38 @@
   }
  },
  {
+  "ename": "company-stan",
+  "commit": "33fd0382da97c7397b1e4435860e7344d70399b8",
+  "sha256": "064476s2gccjmwhrc406460k3aqc80giqqyjbii8243964rdx4p0",
+  "fetcher": "github",
+  "repo": "stan-dev/stan-mode",
+  "unstable": {
+   "version": [
+    20191106,
+    131
+   ],
+   "deps": [
+    "company",
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  },
+  "stable": {
+   "version": [
+    10,
+    0,
+    0
+   ],
+   "deps": [
+    "company",
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  }
+ },
+ {
   "ename": "company-statistics",
   "commit": "89d05b43f31ec157ce8e7bfba4b7c9119bda6dd2",
   "sha256": "1fl4ldj17m3xhi6xbw3bp9c2jir34xv3jh9daiw8g912fv2l5dcj",
@@ -12975,8 +13354,8 @@
   "repo": "TommyX12/company-tabnine",
   "unstable": {
    "version": [
-    20190829,
-    1801
+    20200102,
+    2025
    ],
    "deps": [
     "cl-lib",
@@ -12985,8 +13364,8 @@
     "s",
     "unicode-escape"
    ],
-   "commit": "81b7440a7253e1753cf41932237fd64c1c1e44b6",
-   "sha256": "15nmli9drrb25d5xn31v1ja2hmc9kgpn2hjj6b2azj391yw0q4a3"
+   "commit": "a207f493eaf1cc766eb25ae84d0eca4c9d3e433b",
+   "sha256": "1qk0l4zcsd9jjivbaw7zbhx2dsdnb30slqc66qd3w69aq4r1xyv7"
   }
  },
  {
@@ -13068,15 +13447,15 @@
   "repo": "Wilfred/company-try-hard",
   "unstable": {
    "version": [
-    20150902,
-    2206
+    20191106,
+    2105
    ],
    "deps": [
     "company",
     "dash"
    ],
-   "commit": "70b94cfc40c576af404e743133979048e1bd2610",
-   "sha256": "1isnk2i64kppsr23nr6qm5kwxxwcp4xazjwvm2chyzl4vbvp03p2"
+   "commit": "8a417255b4da9f2e3889f6024755290dcc5884d1",
+   "sha256": "14b3sad9a7dr8j7xhnspk905ybidqz8h4hx2rw4bgl25imhmlysz"
   }
  },
  {
@@ -13152,8 +13531,8 @@
     "s",
     "ycmd"
    ],
-   "commit": "6f4f7384b82203cccf208e3ec09252eb079439f9",
-   "sha256": "1bl86x8nqw4jqzb8pfm6hm316hmk1bx8v3qz7wq9z92hb67ck2kn"
+   "commit": "bc81b992f79100c98f56b7b83caf64cb8ea60477",
+   "sha256": "0kwm5q2sv2xrsmnr0gc2fimp6b2cvwh5mhqsmcc3lgs32m4j1kwv"
   },
   "stable": {
    "version": [
@@ -13174,6 +13553,21 @@
   }
  },
  {
+  "ename": "compdef",
+  "commit": "462b3d92c8c5f72ae1b70fa4d48b803c2f3d07e2",
+  "sha256": "04cav3f1ggyjfgnbx1wsyfaj8d63sxwfqkjar869p6kz9gajy4qr",
+  "fetcher": "gitlab",
+  "repo": "jjzmajic/compdef",
+  "unstable": {
+   "version": [
+    20191211,
+    249
+   ],
+   "commit": "bb210101f2673cb9ff368027b8d272ad5b268648",
+   "sha256": "18iqhgpcvikk352x5g8m05lxmigpbc079rzwycg25w8n1hi2bvqi"
+  }
+ },
+ {
   "ename": "composable",
   "commit": "1fc0f076198e4be46a33a26eea9f2d273dda12b8",
   "sha256": "1fs4pczjn9sv12sladf6zbkz0cmzxr0jaqkiwryydal1l5nqqxcy",
@@ -13215,8 +13609,8 @@
     "s",
     "seq"
    ],
-   "commit": "6c1578b2352c81cc9a22616a70db2a14b7d2b67f",
-   "sha256": "0fijw3kcl4vyc5x7a1syqslsj13mwkq1k3bs4p60v2jg1fxqarrb"
+   "commit": "269270e13b2be00a9cc7d08bd2a96d6bca64cae2",
+   "sha256": "1bwrmgkkyq35zm5vb9krhdgirsz5hilif6i1k7nsm4bl1msf0h6m"
   },
   "stable": {
    "version": [
@@ -13236,6 +13630,24 @@
   }
  },
  {
+  "ename": "comware-router-mode",
+  "commit": "47d74f54efc324d39b66d88051edbe6ff2cad9e0",
+  "sha256": "0i3isavwhdwzz8dzwkss4sajj9v3phk8hvq7cxrwrh09lwpp4kxs",
+  "fetcher": "github",
+  "repo": "daviderestivo/comware-router-mode",
+  "unstable": {
+   "version": [
+    20200106,
+    2011
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "bcda169785d02285226cab06cdb3fec4407b7eb3",
+   "sha256": "14jx6k70595jhb86l2h48k6j2j5m2sc7v8ldyycdiba8i3dj510i"
+  }
+ },
+ {
   "ename": "concurrent",
   "commit": "8bc29a8d518ce7a584277089bd4654f52ac0f358",
   "sha256": "09wjw69bqrr3424h0mpb2kr5ixh96syjjsqrcyd7z2lsas5ldpnf",
@@ -13273,8 +13685,8 @@
   "repo": "necaris/conda.el",
   "unstable": {
    "version": [
-    20190607,
-    1625
+    20191121,
+    1521
    ],
    "deps": [
     "dash",
@@ -13282,8 +13694,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "d65f6d2a47c96e1ff1c7af0e83aee1f5acfe858e",
-   "sha256": "1bx60bipglviphxd9cj0q8jvml2ibd38daz44l2bwkcrp8jznf94"
+   "commit": "41e9593cf230a50183a36fa9c0a4853acb2e7505",
+   "sha256": "07ckq7zvn00izk39wqrl2hgg8pa5p2nra0xdi9p5ra481iiinq47"
   },
   "stable": {
    "version": [
@@ -13417,19 +13829,19 @@
   "repo": "myrkr/dictionary-el",
   "unstable": {
    "version": [
-    20140718,
-    329
+    20191111,
+    446
    ],
-   "commit": "6edc1d0a4156d33c3da0c1649c308b809fda46e1",
-   "sha256": "0g95q3yggzxr8d2gjxamfwx8xbzf182naxpb265r7v9awd35bqk5"
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
   },
   "stable": {
    "version": [
     1,
-    10
+    11
    ],
-   "commit": "9ef1672ecd367827381bbbc9af93685980083c5c",
-   "sha256": "05xfgn9sabi1ykk8zbk2vza1g8pdrg08j5cb58f50nda3q8ndf4s"
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
   }
  },
  {
@@ -13729,26 +14141,26 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20190830,
-    1557
+    20200105,
+    1947
    ],
    "deps": [
     "swiper"
    ],
-   "commit": "79333e9edfee38ec3b367c33711a68bdf7783259",
-   "sha256": "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"
+   "commit": "baac6e1c32ee895ea543f341a62204946237fe9c",
+   "sha256": "0z9mgvvs8dqkbzp3gqpvfwrdh88arvxiqmrgvl3xxcix5w06gqnb"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
    "deps": [
     "swiper"
    ],
-   "commit": "85d1e2e779ca92e6ef8e47d08f866b13d4d87aee",
-   "sha256": "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w"
+   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
+   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
   }
  },
  {
@@ -13809,15 +14221,28 @@
   "repo": "hlissner/emacs-counsel-css",
   "unstable": {
    "version": [
-    20180302,
-    1036
+    20191031,
+    345
    ],
    "deps": [
     "cl-lib",
     "counsel"
    ],
-   "commit": "0536af00236cdce1ed08b40dd46c917e8b4b8869",
-   "sha256": "04qm5dqxnl4s0axbrin7a7dpj3h8rx096q01bwzfs10qsdx3l7c0"
+   "commit": "61a38c9d50fa9d1e38b2fa550d07130eb9322524",
+   "sha256": "0c8assn7dc8dhzyzk37x7y8s266pvr6hs0vh13y65z0sgxk59i2w"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    7
+   ],
+   "deps": [
+    "cl-lib",
+    "counsel"
+   ],
+   "commit": "61a38c9d50fa9d1e38b2fa550d07130eb9322524",
+   "sha256": "0c8assn7dc8dhzyzk37x7y8s266pvr6hs0vh13y65z0sgxk59i2w"
   }
  },
  {
@@ -13828,16 +14253,16 @@
   "repo": "nathankot/counsel-dash",
   "unstable": {
    "version": [
-    20190823,
-    1334
+    20200103,
+    1411
    ],
    "deps": [
     "cl-lib",
     "counsel",
     "dash-docs"
    ],
-   "commit": "24d370be9e94e90d045c49967e19484b9903fce9",
-   "sha256": "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"
+   "commit": "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24",
+   "sha256": "1fn38vbz46ijarjvhgw7iy7dj9s2a2miy95fyy9f8b5sj8nrdfvz"
   },
   "stable": {
    "version": [
@@ -13863,28 +14288,26 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20190802,
-    652
+    20191211,
+    1129
    ],
    "deps": [
-    "counsel",
-    "ivy"
+    "counsel"
    ],
-   "commit": "d7fcec59c4ba919b93018d4d61da0c154233c66b",
-   "sha256": "1pawczhhb7im1q314wsba9fwcks04kddg1vv8mcpiad237mf5dx4"
+   "commit": "9d7f0c4aea8f36710fa7957c306a39f7abf49202",
+   "sha256": "02gygn77x9rm51bqa9mykykjwflmz7cdz3qp1b8kd8qkd2zl3q1q"
   },
   "stable": {
    "version": [
     1,
-    8,
-    9
+    9,
+    6
    ],
    "deps": [
-    "counsel",
-    "ivy"
+    "counsel"
    ],
-   "commit": "fda1f77eb8548c4451894886ef5e99815dfc1bf8",
-   "sha256": "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"
+   "commit": "9fae8adc833919ffe33ca51d8e3db67e5be13666",
+   "sha256": "0831ylsl6d1ldrvvg5cs0yl33mh8s5hgxjp38kcy912mc7b1x0q1"
   }
  },
  {
@@ -13895,15 +14318,15 @@
   "repo": "cireu/counsel-ffdata",
   "unstable": {
    "version": [
-    20190725,
-    1630
+    20191017,
+    1237
    ],
    "deps": [
     "counsel",
     "emacsql"
    ],
-   "commit": "33f37112b068d72d866011461c6a4e9a0d43fc12",
-   "sha256": "00svf7b3an4dfcl7w2xycn5a6ib78p5xip6wy675w9k6v16sag73"
+   "commit": "88c2348c4039d9e562bd3d9a364708b01037c283",
+   "sha256": "0sbp3f72dcln8y789vjdmg73lxvyb4qs4pb5mg452b3y8c8xlj30"
   }
  },
  {
@@ -13914,15 +14337,15 @@
   "repo": "FelipeLema/emacs-counsel-gtags",
   "unstable": {
    "version": [
-    20190909,
-    1740
+    20200101,
+    1701
    ],
    "deps": [
     "counsel",
     "seq"
    ],
-   "commit": "13d4aed6d70d96b86f55ffa38e60540c14ef0ce3",
-   "sha256": "11nhmy2si0z7ppkmyq3fk9mfwbnsk9m9k6mdd6dc9x6r560f3hyj"
+   "commit": "5d2a8c2c2d358e374a576cf8a3a67f7997a8839b",
+   "sha256": "0qx7gdxgd28grz8pn57kb9qrsvdiysci6hya1fif3iqb1hbyg2mn"
   },
   "stable": {
    "version": [
@@ -13937,6 +14360,37 @@
   }
  },
  {
+  "ename": "counsel-jq",
+  "commit": "556a010fac8da34a655e5bb2bee331c8af24b283",
+  "sha256": "07lmpzrz03kqa0xklrz0vxpgiadsnvy96vlwwp14nswr6i3r5hia",
+  "fetcher": "github",
+  "repo": "200ok-ch/counsel-jq",
+  "unstable": {
+   "version": [
+    20191207,
+    1334
+   ],
+   "deps": [
+    "ivy",
+    "swiper"
+   ],
+   "commit": "b14dfc5c18d991c3b3051c3cbb244d5923b3a327",
+   "sha256": "0f5h7nnqrkzbyxi4mgzahqzylszrqb25l3i24ml8yra2a23nl2w8"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "deps": [
+    "swiper"
+   ],
+   "commit": "33d709f5b73a68093ec9414c774844d5f4983aee",
+   "sha256": "120i4j4bw3v1ybcwrfpn0v7jphhk7hhlp738m60fck97p9lwfyy0"
+  }
+ },
+ {
   "ename": "counsel-notmuch",
   "commit": "54fe0be4e8e8b90cd2dc3cc8b9c573694c8f773b",
   "sha256": "1n4jp9fa5fbv55am0w1b832ncdih8gi6xflwabpwqqj4k5mj94p1",
@@ -14019,28 +14473,28 @@
   "repo": "ericdanan/counsel-projectile",
   "unstable": {
    "version": [
-    20190817,
-    102
+    20191204,
+    1759
    ],
    "deps": [
     "counsel",
     "projectile"
    ],
-   "commit": "fda7f0bad93a471fddf5fa01d6fdee5684e7f880",
-   "sha256": "097ksmy85lf9zfi6v2xz9bxl54l0il6v0ybj1305qg6g8xampbdw"
+   "commit": "cadc6de7070458781a373b052adddf102bbed302",
+   "sha256": "04fn3rg68ssa5kj2yv5gr62jlhpsvmspiqssgmaqfnx6rhkd3vpx"
   },
   "stable": {
    "version": [
     0,
     3,
-    0
+    1
    ],
    "deps": [
     "counsel",
     "projectile"
    ],
-   "commit": "d64e5275c578a494102852c466a3696bde466739",
-   "sha256": "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"
+   "commit": "d71a3274cfa9d7425f1bcee3eb2dfed9714ac16d",
+   "sha256": "1k4n5lw6wwbgpwv0dg9dw0bjzi0hvbgkzrs1zmq36yhfz6y8gwnh"
   }
  },
  {
@@ -14069,14 +14523,14 @@
   "repo": "Lautaro-Garcia/counsel-spotify",
   "unstable": {
    "version": [
-    20190406,
-    2025
+    20200104,
+    2216
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "f484e6efd3994704cfd16c87c298fbfa12d442cc",
-   "sha256": "0b5hykw3n96f0m50176hk639sbzdykhnp52xlp8g6l7p807x27w9"
+   "commit": "e673b7adbaff423f14613f90ec2ed00b0f242792",
+   "sha256": "0mx8b7x81i6rr5hzym66qhaz65bgbayf2q9rvqgd2rh6l51icbm9"
   }
  },
  {
@@ -14173,16 +14627,16 @@
   "repo": "AdamNiederer/cov",
   "unstable": {
    "version": [
-    20180415,
-    2031
+    20191004,
+    36
    ],
    "deps": [
     "elquery",
     "f",
     "s"
    ],
-   "commit": "7c72a949b9628296af97cc7e4df0af6c3824d66e",
-   "sha256": "0rddchwanrshfpjiigmz6a0zz1sz9kxbbgvszvja2r4w0m6irb80"
+   "commit": "803592baf1fb210415d943689af2bf5b79cdd24e",
+   "sha256": "0wp89sq9jy97cvsihqn9dk62m7rp6154c00214f84xb1vab7bcpw"
   }
  },
  {
@@ -14193,15 +14647,15 @@
   "repo": "trezona-lecomte/coverage",
   "unstable": {
    "version": [
-    20180227,
-    457
+    20191113,
+    1958
    ],
    "deps": [
     "cl-lib",
     "ov"
    ],
-   "commit": "c73d984168955ca0f47f44b0464aa45282df42b6",
-   "sha256": "1kn61j91x4r4kc498y2jas5il4pc4qzhkj8392g2qiq5m3lbv4vl"
+   "commit": "6e3c6f2dcb759a76086adeeb1fdfe83e4f082482",
+   "sha256": "1l2vpyv22f77r2nd1bxf4mggmarb621dl7fnskp5hizhc5sfxi4f"
   },
   "stable": {
    "version": [
@@ -14278,20 +14732,20 @@
  },
  {
   "ename": "cpp-auto-include",
-  "commit": "5323c0ab6d3e471951738a00ce7036e6ff2665d2",
-  "sha256": "1a1zv7zbd1l2vbgi42zd60mqnsv7a35is4drf2dmp5dw1nh08z73",
+  "commit": "e745bff580b3fa8a982f2bdfafbc9e238de47b7f",
+  "sha256": "0nzq7k656iy5x4hp7646rxqd0wyf0aspbjdsr8xfkgdp8m3yvaz5",
   "fetcher": "github",
-  "repo": "syohex/emacs-cpp-auto-include",
+  "repo": "emacsorphanage/cpp-auto-include",
   "unstable": {
    "version": [
-    20160426,
-    412
+    20191221,
+    2319
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f3b9bfa668fcd38da8a9dbef0e33a536be239468",
-   "sha256": "1qnmmk97963j92d4h7vjf27dmiwnjk6q2ls0xy0xx5rg0y7firjf"
+   "commit": "08208ca7b9dc4ac940ce9ca1f79424d2f3d3d391",
+   "sha256": "0yspf51h5b7wbqvi9lbd22chyw799n5d05xdzl5axg0i33lzk7bq"
   }
  },
  {
@@ -14581,8 +15035,8 @@
    "deps": [
     "seq"
    ],
-   "commit": "308f17d914e2cd79cbc809de66d02b03ceb82859",
-   "sha256": "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"
+   "commit": "903db7b1a2052f4959d934cae26ec40a3f323ed4",
+   "sha256": "15wq0z9mnx60mi9xfkvgfgsfxdbiigwxr0wqabv3n2091dbzfas4"
   },
   "stable": {
    "version": [
@@ -14629,11 +15083,11 @@
   "repo": "crystal-lang-tools/emacs-crystal-mode",
   "unstable": {
    "version": [
-    20190604,
-    1254
+    20191121,
+    1447
    ],
-   "commit": "34124f546ff5c1136aed95bf0059015f9f6a1d60",
-   "sha256": "09cmbw190w6aiwwc2bg349xx6vcv9b9ajw8m70ajb3653qnq3mw4"
+   "commit": "2428b016243e78a0312cf6b3ba6939e7169a1405",
+   "sha256": "0al65ldsbmm15h4y79i8avk63qq1y7fqzzad8p327z6d42zfm1qj"
   },
   "stable": {
    "version": [
@@ -14686,11 +15140,11 @@
   "repo": "josteink/csharp-mode",
   "unstable": {
    "version": [
-    20190717,
-    1024
+    20191126,
+    1928
    ],
-   "commit": "e7e96e3b0cb69d98b4e12eda269719c9b23453ed",
-   "sha256": "0zpq404x8022rybfsmp5s1kvxfalfih6i9jjp9fnq0g8j6869qp8"
+   "commit": "57bd21bda4edc16671a85c7d6d51484e40a6e640",
+   "sha256": "0chl9lzxn1mq59vy5lsim2iiy2hl20rg3d7ri41ljksjcfz9ki6v"
   },
   "stable": {
    "version": [
@@ -14710,28 +15164,31 @@
   "repo": "hlolli/csound-mode",
   "unstable": {
    "version": [
-    20190321,
-    1559
+    20191113,
+    158
    ],
    "deps": [
+    "dash",
+    "highlight",
     "multi",
     "shut-up"
    ],
-   "commit": "f4bc9236bbc5a696f7ff32d9402749536a332546",
-   "sha256": "0ds6cigm3pncsa5blqzfgisjn9v898ayj6nq2va6ssg73k0qfx1r"
+   "commit": "623127836352b1b83afed71fd542d87e5d3be352",
+   "sha256": "0nnsh6f02glrjrzs2f2blm0j397c8zkbwvwb61l7y9dx15a3rdrx"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    1
    ],
    "deps": [
+    "highlight",
     "multi",
     "shut-up"
    ],
-   "commit": "5a892e6ad72e7844e8e14c0da04fcb6bc125fe5e",
-   "sha256": "1gzg2r7agllz2asp7dbxykydpnw3861whs2pfhr3fwwb39xf1pva"
+   "commit": "389be230aecfea03e8043e8ea6884ea21ea9230b",
+   "sha256": "1c88ak0jaj51fwiqniqxd7xyk23wjl9m57znzm8j267ld8g12znp"
   }
  },
  {
@@ -14742,11 +15199,11 @@
   "repo": "omajid/csproj-mode",
   "unstable": {
    "version": [
-    20190514,
-    1858
+    20191012,
+    49
    ],
-   "commit": "889334f8cd08dc79d133149b4504e0e001f5a769",
-   "sha256": "0j330rrj6abr7xay1h2kajwa22npij0fdh30fk5z7zgas7jz735h"
+   "commit": "95e797af7cc30d4675247b64496c39b77b82e18e",
+   "sha256": "08cxkvq7k14lixavv7nwi5kmmxqvkgmqr4i46ihsgv7jcmxyy8gx"
   }
  },
  {
@@ -15099,11 +15556,11 @@
   "repo": "the-frey/cyberpunk-2019",
   "unstable": {
    "version": [
-    20190722,
-    1332
+    20191008,
+    1133
    ],
-   "commit": "5b30794c4f906da6e48600ffc56443151cae45d1",
-   "sha256": "1vb04zff9231yvlxflgp6qicpjxqp40gzgpp70b4rrffbfk6hays"
+   "commit": "7e40c37210c363b2819fd9bb98a73101d7a3c206",
+   "sha256": "0fgh39lyq49b4zm10fiqhqzafwrg2vmpfn8k1frdkadansq4jl7z"
   }
  },
  {
@@ -15227,17 +15684,17 @@
     20190111,
     2150
    ],
-   "commit": "7e233ab00e117b2e7165c246941ac85a989be262",
-   "sha256": "1189hi8vp2albpvfz5b66327qizzkzkg9p9b6l8157jsm6a03y7p"
+   "commit": "3dc2b9dfc23638fbef2558d619709b5235d5df08",
+   "sha256": "0nh552256vh47l6zzjlf2r9wdndhpw0pkhm4mf1yfmkcxmyywyz4"
   },
   "stable": {
    "version": [
     0,
     29,
-    13
+    14
    ],
-   "commit": "d4610f39a43a658cee1862c899a9696d8a9c9f5f",
-   "sha256": "0ljf2rhyhzih28x2rp95xyajvvjsmk6lirfshf6h6nlcwbh5i9c7"
+   "commit": "bfcaf163e3dcf472ef2af5dec6ac3fffd0d34e66",
+   "sha256": "0rzdx15z6y97cr1g1a3pqiiy2vx3jps3zgzz25bd9043nhhnmjcf"
   }
  },
  {
@@ -15263,11 +15720,11 @@
   "repo": "Emacs-D-Mode-Maintainers/Emacs-D-Mode",
   "unstable": {
    "version": [
-    20190826,
-    2244
+    20191009,
+    903
    ],
-   "commit": "f3843276e235c6b633ba5367f78d74fe7c04e244",
-   "sha256": "066kjyvginjp2cqmdi8ybrr558074m8wqd0jrwsicn4dps3njvcn"
+   "commit": "cfd1d0869d51b7548b3fb738b2f2593c76533d44",
+   "sha256": "0vkl470vvmxap8ca773a0jvjvalmvdbbax3qvgjdclp54ml75al4"
   },
   "stable": {
    "version": [
@@ -15325,11 +15782,11 @@
   "repo": "cbowdon/daemons.el",
   "unstable": {
    "version": [
-    20190202,
-    1528
+    20190923,
+    1644
    ],
-   "commit": "fd7925b0c113e5bad2e4692430ce049405794910",
-   "sha256": "07l8k41ly92m3wkzlzyb9nmq4pd34xkpn7cjrdap7zfppd3iiq2r"
+   "commit": "fac6c8bdd295138ddfc830dd94637c3e45a0823e",
+   "sha256": "1mpbshib5il4sxricirqlx37cy2kcfmd3x1szg7xk7i3ghayp0df"
   },
   "stable": {
    "version": [
@@ -15379,11 +15836,11 @@
   "repo": "rails-to-cosmos/danneskjold-theme",
   "unstable": {
    "version": [
-    20190731,
-    917
+    20200107,
+    819
    ],
-   "commit": "f88bf1d8c3d26ad03b3faf0d91c1ad8521c7feef",
-   "sha256": "0biv8aglzj2g77dq1y6pad7k1nihgzb54am4wslvh2b3d6r25rnd"
+   "commit": "79be83dac9f10a1487ed9a8b75ea2e606ffec639",
+   "sha256": "0is3jqr0fxd1winqjf6k23fxiflji4r9vgh493fhxzqn4r08yp8q"
   }
  },
  {
@@ -15394,8 +15851,8 @@
   "repo": "jyp/dante",
   "unstable": {
    "version": [
-    20190826,
-    1656
+    20191229,
+    1922
    ],
    "deps": [
     "company",
@@ -15406,13 +15863,13 @@
     "lcr",
     "s"
    ],
-   "commit": "a25ae9e5b5425cffdd88d498777e90ea8655fa37",
-   "sha256": "1ziw3snbs2z2cg8a3jbyjd48qkgrkzs4bh8lrbs0h2c87nzldvhd"
+   "commit": "9289b6f053f343cb841ea7ca74758fe41bf6b74c",
+   "sha256": "1x36ck1wy19rlqfzcdy2xs888iqs1r1vkllnx8ld4z4aak1sg2mj"
   },
   "stable": {
    "version": [
     1,
-    5
+    6
    ],
    "deps": [
     "company",
@@ -15423,8 +15880,8 @@
     "lcr",
     "s"
    ],
-   "commit": "3bd1bfdd775a309565a850e37dfbd42f1b33068e",
-   "sha256": "0f76snwsy735r7pl3gdzvajsmpd12qkj03lyjxq1x44a79a1gfwk"
+   "commit": "38b589417294c7ea44bf65b73b8046d950f9531b",
+   "sha256": "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"
   }
  },
  {
@@ -15435,8 +15892,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20190917,
-    548
+    20200104,
+    946
    ],
    "deps": [
     "bui",
@@ -15445,15 +15902,16 @@
     "f",
     "lsp-mode",
     "s",
-    "tree-mode"
+    "tree-mode",
+    "treemacs"
    ],
-   "commit": "2e0f7dd70656aad5a70ce2b4f5375870084a02f3",
-   "sha256": "0hckyrv470j8zx5sr24h16fa9a3fxa8i7iwywxs15wwrwl6mqh9m"
+   "commit": "68f9c19bcc4c8f76c2d7258ec15d7b80cf2ade9a",
+   "sha256": "0zch80h1a151wpwcpj9s3v77p4qma6ah38k7r9cki79phlhz0ca1"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
    "deps": [
     "bui",
@@ -15462,10 +15920,11 @@
     "f",
     "lsp-mode",
     "s",
-    "tree-mode"
+    "tree-mode",
+    "treemacs"
    ],
-   "commit": "240da34149e2d8893b647f15ff30f217aba4ac89",
-   "sha256": "1y3s28xb66w8yynwlavn6d7ysjv0d5ziyga5fjyj0jk1037mjg6y"
+   "commit": "4e25c8334f2ace87275f86b11f0ed969c2f20def",
+   "sha256": "0zajvq6p1d0lzha58yzaacbc060krhlj6m4v4lg9w1c9vdyshin3"
   }
  },
  {
@@ -15694,17 +16153,17 @@
  },
  {
   "ename": "dash",
-  "commit": "57eed8767c3e98614259c408dc0b5c54d3473883",
-  "sha256": "0azm47900bk2frpjsgy108fr3p1jk4h9kmp4b5j5pibgsm26azgz",
+  "commit": "2853d2fcf46eda788e5a3ea08815d0a2bf9d9d32",
+  "sha256": "1z55hwp6xzbn44xbz6fzpcgbp1b1sf37amryl8p54likj3i21i8n",
   "fetcher": "github",
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20190920,
-    1035
+    20191109,
+    1327
    ],
-   "commit": "a743ae3da1d5869434c6f262bbe45ef30d87cb9c",
-   "sha256": "1ggd88i11dnvl8yxrzv41l66rj25zi66v82jsc0mb3fgh921hx7i"
+   "commit": "ea7adeb09c13de58336caa16243e192ea6ee88fb",
+   "sha256": "045nx37lnp9rncxgdarb6jn81pqrybggjf7ab6aknmh1imppqz0d"
   },
   "stable": {
    "version": [
@@ -15724,11 +16183,11 @@
   "repo": "xuchunyang/dash-alfred.el",
   "unstable": {
    "version": [
-    20190720,
-    415
+    20191024,
+    450
    ],
-   "commit": "ec8d9970fa00ee38bca798673c10cae44419541d",
-   "sha256": "1asa3cmncl2jvc89jzlvb4karpc4zdihsjvig0zjia6nbj46pqsr"
+   "commit": "fcd21bd6c7eb5cd31377be970406ff3d2454bd5c",
+   "sha256": "0cvkj0d45aan6g5c7930v9syp0m3l1w6zkdgsdvbbiav0i6kpqrx"
   }
  },
  {
@@ -15773,14 +16232,14 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20180107,
-    1618
+    20191109,
+    1327
    ],
    "deps": [
     "dash"
    ],
-   "commit": "a743ae3da1d5869434c6f262bbe45ef30d87cb9c",
-   "sha256": "1ggd88i11dnvl8yxrzv41l66rj25zi66v82jsc0mb3fgh921hx7i"
+   "commit": "ea7adeb09c13de58336caa16243e192ea6ee88fb",
+   "sha256": "045nx37lnp9rncxgdarb6jn81pqrybggjf7ab6aknmh1imppqz0d"
   },
   "stable": {
    "version": [
@@ -15803,14 +16262,14 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20190721,
-    504
+    20191210,
+    1041
    ],
    "deps": [
     "page-break-lines"
    ],
-   "commit": "7a71e6ca4c32fdadde0c8624ea4e2e7c11474e7d",
-   "sha256": "09fgzw93x90bhq918p4i8hrfy8yxyp236rc118cr6hma9bh05hii"
+   "commit": "87779af059b33559c88596793cc55504c418fd32",
+   "sha256": "15jpw52kjcl0zpzx3yancw6kyz3ddyzl9lah8qya2914sv5w01c7"
   },
   "stable": {
    "version": [
@@ -15944,8 +16403,8 @@
     20190630,
     933
    ],
-   "commit": "ca8e3bd421ac59adf5bdd279ccf007f04dd61c1e",
-   "sha256": "1mx295zh3mf5arj63bswkm8ypjrdiwfxm27746nr2kblwjliy9px"
+   "commit": "386dbe73678705d6107cd5c9bdeb4f7c97632360",
+   "sha256": "0mdsvrwn6g33arcby02v6m9kfyymq7svgnvpvkvkvfdswcrns4mn"
   }
  },
  {
@@ -16078,15 +16537,15 @@
   "repo": "skk-dev/ddskk",
   "unstable": {
    "version": [
-    20190423,
-    1234
+    20191210,
+    1919
    ],
    "deps": [
     "ccc",
     "cdb"
    ],
-   "commit": "ad61579af269291b4446f4bab0a58522cc454f1c",
-   "sha256": "0aisilp9wl9w8l6nsiy963wvja38pp57g3skdf6qbm5ak8bb3244"
+   "commit": "51747f7afb5b66675bd9e1e812c93a8aba4d8249",
+   "sha256": "1kfx4w7bmw42x3g64zj3wpvg9cawgblrrywlp18zl0qygxj4jg5c"
   }
  },
  {
@@ -16097,15 +16556,15 @@
   "repo": "conao3/ddskk-posframe.el",
   "unstable": {
    "version": [
-    20190816,
-    1855
+    20191123,
+    1632
    ],
    "deps": [
     "ddskk",
     "posframe"
    ],
-   "commit": "f062a2a2a0fb3746ba01a7f56d051adf4cf4c7d8",
-   "sha256": "1lkvbix25p5jlhz5164vnyfldq1fk7m10w6q7q4rm2plnmxfbv1y"
+   "commit": "8a37953b37d397ba406bc308eb908bd966d34af6",
+   "sha256": "0qm2hb2m3gqzqblgy3d5krxkjbwyhiivzbjfiq9yygh5v729d3as"
   },
   "stable": {
    "version": [
@@ -16128,16 +16587,16 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20190807,
-    2125
+    20191031,
+    2214
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "329119c65126f7917d3910bc584f4191ba8f21ac",
-   "sha256": "0fxf7gq9sjfkgpdfqx10w3l3nd4rwa8kv9plyxk1fqacb3s5m6ai"
+   "commit": "6ea9ad874827e7ba6c8f5e62a89a5a479cd20735",
+   "sha256": "0ngq8ysyfyrrb7mkh02i7wwqig29njad9ndam3bbsbqh07ihdywa"
   },
   "stable": {
    "version": [
@@ -16310,11 +16769,11 @@
   "repo": "purcell/default-text-scale",
   "unstable": {
    "version": [
-    20190615,
-    247
+    20191226,
+    2234
    ],
-   "commit": "dc7e2004be736544149643de2673a5506c83dbaf",
-   "sha256": "15y3yxv6r8480cir4i97f6j5z2yxx002w9h73xng37w24s105l5w"
+   "commit": "bfc0987c37e93742255d3b23d86c17096fda8e7e",
+   "sha256": "1kbmq9ssp1i58bcmnk0g0ijhwsa80qm5xwwzhzcskrmxb6dg88j2"
   },
   "stable": {
    "version": [
@@ -16350,6 +16809,46 @@
   }
  },
  {
+  "ename": "define-it",
+  "commit": "c3b4c0c6a715b4302cc6cb6171b185883f2a87e2",
+  "sha256": "0y9l0dy4l1k9j5fis652rypxm5r6qmdxgb5msihbyl8acbwdhhr2",
+  "fetcher": "github",
+  "repo": "jcs-elpa/define-it",
+  "unstable": {
+   "version": [
+    20191230,
+    1409
+   ],
+   "deps": [
+    "google-translate",
+    "popup",
+    "pos-tip",
+    "request",
+    "s",
+    "wiki-summary"
+   ],
+   "commit": "4e769b94c4ec81d9c1eac9dda0e22c869a07aa7c",
+   "sha256": "0amwslk4hawjzjbdakx7ggclw3y9ackl2vnmrr0pw17m5ccsr10b"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    4
+   ],
+   "deps": [
+    "google-translate",
+    "popup",
+    "pos-tip",
+    "request",
+    "s",
+    "wiki-summary"
+   ],
+   "commit": "ec13795cd1185706fcc81ea627d3680f65283891",
+   "sha256": "05wq0apnljclpjn3ifwl31vx3rlwv9kns5yva26sd8ks7kjyqizj"
+  }
+ },
+ {
   "ename": "define-word",
   "commit": "e318b30d8b2b89981f4b89d78e5a46e77d3de412",
   "sha256": "035fdfwnxw0mir1dyvrimygx2gafcgnvlcsmwmry1rsfh39n5b9a",
@@ -16357,11 +16856,11 @@
   "repo": "abo-abo/define-word",
   "unstable": {
    "version": [
-    20190506,
-    1525
+    20191031,
+    1736
    ],
-   "commit": "11bfee628aee082a9a3a2fd5f083cbdb05d5d00a",
-   "sha256": "1yrhrvqiyp4cv6bpvdrkc5zfwflb1jx8kmivjkpv6765pnr11zp8"
+   "commit": "d8c76d503be3d561221631067ec5274e7c147248",
+   "sha256": "18yy7gw8x3y9sk3v7xpd59p425qc36dymj0wgk6mzarfq5rhv79h"
   },
   "stable": {
    "version": [
@@ -16557,20 +17056,20 @@
   "repo": "DamienCassou/desktop-environment",
   "unstable": {
    "version": [
-    20190701,
-    1306
+    20191114,
+    441
    ],
-   "commit": "a3707e9fcf4371fe586e0d35a79331d1cf7309c9",
-   "sha256": "01xd5hhk66firnnmc18fa87ialcn1cr8b1vhgjrfa1p87hf496s1"
+   "commit": "57de5e018baa1c7667230cae657c80ca765ae912",
+   "sha256": "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"
   },
   "stable": {
    "version": [
     0,
-    2,
-    2
+    3,
+    0
    ],
-   "commit": "284c38fcb5b10746255ee4123eaa549e028df0c8",
-   "sha256": "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"
+   "commit": "57de5e018baa1c7667230cae657c80ca765ae912",
+   "sha256": "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"
   }
  },
  {
@@ -16650,14 +17149,14 @@
   "repo": "psibi/dhall-mode",
   "unstable": {
    "version": [
-    20190919,
-    2242
+    20191006,
+    2324
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "57001a69917329e7933d80a7e21116fe11255ae7",
-   "sha256": "039lgmap36iawvw89jhkq25j9h2r9qb8s3612j5xhyzbbrg6q0pl"
+   "commit": "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2",
+   "sha256": "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"
   }
  },
  {
@@ -16668,11 +17167,11 @@
   "repo": "redguardtoo/dianyou",
   "unstable": {
    "version": [
-    20190604,
-    1215
+    20191120,
+    39
    ],
-   "commit": "46d3328998ed20b37c4b52722d52d4d579e4f5d3",
-   "sha256": "1n437mjk9j4jdn0jzrra1m5q6x3wmk1r54rcafhbfnl6b8ji81jl"
+   "commit": "da7443a680bd8db75884355314e9352cd8c68d05",
+   "sha256": "099iiwp52rfnxgwhiaxdaridhcjdp3qchmskxmb1j5dz757c6w1c"
   },
   "stable": {
    "version": [
@@ -16695,8 +17194,8 @@
     20190702,
     2148
    ],
-   "commit": "97f37cfb27ca85eec2f30c630ed356f2fd1f65e3",
-   "sha256": "0xqag57bmgwxvkz1k458xlrxnp3vg1kvaaapxpr3zb1dwqvvcyn8"
+   "commit": "964dd7bf60a8e8abc880ef5b73319bc65d5ea5e3",
+   "sha256": "1w1hffypsx41n63yrpz0lcyzia4x4lis0sja8gksik7dvwwkyhwb"
   },
   "stable": {
    "version": [
@@ -16767,23 +17266,66 @@
   "repo": "myrkr/dictionary-el",
   "unstable": {
    "version": [
-    20190403,
-    1918
+    20191111,
+    446
    ],
    "deps": [
     "connection",
     "link"
    ],
-   "commit": "6edc1d0a4156d33c3da0c1649c308b809fda46e1",
-   "sha256": "0g95q3yggzxr8d2gjxamfwx8xbzf182naxpb265r7v9awd35bqk5"
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
   },
   "stable": {
    "version": [
     1,
-    10
+    11
+   ],
+   "deps": [
+    "connection",
+    "link"
+   ],
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
+  }
+ },
+ {
+  "ename": "didyoumean",
+  "commit": "6030fcde06d23b98b0c81d40e1cdb5eb4412b9a1",
+  "sha256": "0hfd6kgqry0mcg77lqf0rvcb9clhjh7krq41hlz4wkrjyw0xbngg",
+  "fetcher": "gitlab",
+  "repo": "kisaragi-hiu/didyoumean.el",
+  "unstable": {
+   "version": [
+    20191020,
+    531
+   ],
+   "commit": "4a6049f2de36801e0a50e93b17a375501f16cf28",
+   "sha256": "0plwn23h96m71vx0jxilnl6nj7lsq4mpjv8mjaiankrxhvjcv6f0"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "6d0c4203eb192d73d89261b3a9bad52951e394af",
+   "sha256": "1rdmhsrlqn19a140i3099fp7f9wnlglp760rnrjp5p840wzfm74q"
+  }
+ },
+ {
+  "ename": "diff-at-point",
+  "commit": "d342698c94e145ecfebf204c1099dbe765b39c71",
+  "sha256": "1gjjnxafsxrhpxz3zs5kbdmy5wmhcqqfkgryzzc0mmm9iqbskd3j",
+  "fetcher": "gitlab",
+  "repo": "ideasman42/emacs-diff-at-point",
+  "unstable": {
+   "version": [
+    20200106,
+    441
    ],
-   "commit": "9ef1672ecd367827381bbbc9af93685980083c5c",
-   "sha256": "05xfgn9sabi1ykk8zbk2vza1g8pdrg08j5cb58f50nda3q8ndf4s"
+   "commit": "c26027d701f2a1512e0a2b18e4b34f02e9140ee0",
+   "sha256": "1c5pibjmpkw7fi26vnsvv5yjg4y851jccwymzwa06gbxb3jf5ggc"
   }
  },
  {
@@ -16794,14 +17336,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20190707,
-    2243
+    20191223,
+    26
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "374b1d4b34876219218da7a539e7301259b56958",
-   "sha256": "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"
+   "commit": "fb9eb1cd3c4c6ed24b93de1a7cfb369d2983be74",
+   "sha256": "0ksp86izjw7vgh21jn4rwl5vnfn1jvgs05lv216mnwia8p14ihjz"
   },
   "stable": {
    "version": [
@@ -16997,20 +17539,20 @@
   "repo": "tarsius/dim-autoload",
   "unstable": {
    "version": [
-    20180318,
-    2027
+    20200103,
+    1239
    ],
-   "commit": "2d879932741ac8e3afd4dd03071b61170eae353d",
-   "sha256": "0nw9q569771z6y8zkpmcg5flr71732s6kckywjvpixqnxxa579iy"
+   "commit": "c8dc02259d6c1aa25fb58742ae8b181f83b39a13",
+   "sha256": "0k9m57zrdpabb6b34j9xy3cmcpzni89wq71pzzwgdi47p1n4r4vd"
   },
   "stable": {
    "version": [
     2,
     0,
-    1
+    3
    ],
-   "commit": "788320fe089fafbdf1cb09d2ab4d29d64a804e21",
-   "sha256": "0iyhjww7p274x418n1iw1xj2fkmn5k9icav0jyzbwmy83a2nmr52"
+   "commit": "c8dc02259d6c1aa25fb58742ae8b181f83b39a13",
+   "sha256": "0k9m57zrdpabb6b34j9xy3cmcpzni89wq71pzzwgdi47p1n4r4vd"
   }
  },
  {
@@ -17021,11 +17563,11 @@
   "repo": "myrjola/diminish.el",
   "unstable": {
    "version": [
-    20170419,
-    1736
+    20191127,
+    1326
    ],
-   "commit": "565a983a39d2e2cffab5df13b34f3b6116723208",
-   "sha256": "173lzj9l7a4wcfvdq6akvfyyyriy5c30b4vhhv51hs051dmn02d0"
+   "commit": "96b47cf90360e4bd19138fe82dc59bfa86c7bf7d",
+   "sha256": "1ar2bl1w4s3gx8slryf5qzq4qzprdyhm1fngvlnfhxg83k2g3969"
   },
   "stable": {
    "version": [
@@ -17037,6 +17579,30 @@
   }
  },
  {
+  "ename": "diminish-buffer",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1z0ini177r9dkn4bpdpcmyi014a3444blij8izvpj31bqkyckmqf",
+  "fetcher": "github",
+  "repo": "jcs-elpa/diminish-buffer",
+  "unstable": {
+   "version": [
+    20190921,
+    1647
+   ],
+   "commit": "0b1262f947b3ce03dca17879caec808a7d091bf4",
+   "sha256": "0yrzp7jdw04hj3ag3379l6kb9vpd1vcvqqf4z5yb3i28b5d7s136"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    3
+   ],
+   "commit": "e137baa5e258a7938c713253fc9cc63f8674f841",
+   "sha256": "03068nyfb3cz0lz8z3qcwjlsvqaw9dfg3g8w13gmpwsmxaxlbv3i"
+  }
+ },
+ {
   "ename": "dimmer",
   "commit": "8ae80e9202d69ed3214325dd15c4b2f114263954",
   "sha256": "0w8n5svckk1jp8856pg2gkws9798prqjjkdqf8ili2hjcqnd1a3r",
@@ -17044,20 +17610,20 @@
   "repo": "gonewest818/dimmer.el",
   "unstable": {
    "version": [
-    20180218,
-    411
+    20191213,
+    2008
    ],
-   "commit": "d033fdda154e688e45cca35902dbff9915351b98",
-   "sha256": "1d457029zyabfjhzrgayibdmxfmia5yr7rqn50kc16k3aavw32f7"
+   "commit": "f42411f8678e5745b6610ec24ab62bcb389a83ec",
+   "sha256": "00lq0zaslnhm51yymbprd9s93waszq6skjy6y6a6yr1pfsa6ibhv"
   },
   "stable": {
    "version": [
     0,
-    3,
-    0
+    4,
+    1
    ],
-   "commit": "12fc52a6570ec25020281735f5a0ca780a9105af",
-   "sha256": "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"
+   "commit": "5c0d50439afb43362b06a249a40e1ee00ce837a8",
+   "sha256": "1ykzr7h96a55hnj0bwq9fds4fdwinzx48p3i3k2g6fy8qcn7ydlb"
   }
  },
  {
@@ -17154,8 +17720,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17174,8 +17740,8 @@
     "dired-hacks-utils",
     "f"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17292,8 +17858,8 @@
   "repo": "Fuco1/dired-hacks",
   "unstable": {
    "version": [
-    20190211,
-    2020
+    20191105,
+    1404
    ],
    "deps": [
     "cl-lib",
@@ -17301,8 +17867,8 @@
     "dired-hacks-utils",
     "f"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17319,8 +17885,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17446,8 +18012,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17465,8 +18031,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17513,8 +18079,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17532,8 +18098,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17544,11 +18110,11 @@
   "repo": "Vifon/dired-recent.el",
   "unstable": {
    "version": [
-    20180921,
-    2238
+    20191004,
+    1500
    ],
-   "commit": "7c5a818ab88fdfa779674931cc6d9466308fcd86",
-   "sha256": "1pxa17rxc43yam0j8xi7ji8kxv0jq96jk0j3p3brj9nss2gfw48f"
+   "commit": "5c799f96da08a0a3200cb5f609baf6c184f558ea",
+   "sha256": "0kc97v80rh10ksfw49pp551ay0b1apwi6ba66rwbyix50d7drimw"
   }
  },
  {
@@ -17574,11 +18140,11 @@
   "url": "https://git.sr.ht/~jakob/dired-rmjunk",
   "unstable": {
    "version": [
-    20190526,
-    2029
+    20191007,
+    1232
    ],
-   "commit": "6a9fa6a35498e53e8c57282e3b08dedc896d880d",
-   "sha256": "0kpkd7qasrb303d0b01d62r82prhrmaasxqa14nf5lh01c213nr4"
+   "commit": "92af5fcc2bd0bc3826f4ce238a850e9a362533a4",
+   "sha256": "0720lnnm0sjf8yazr0xjwfrzqwia283jj3c6hcbgfp5l0z162m5b"
   },
   "stable": {
    "version": [
@@ -17597,27 +18163,27 @@
   "repo": "stsquad/dired-rsync",
   "unstable": {
    "version": [
-    20190508,
-    1605
+    20200101,
+    1207
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "d7eb558c4efa73d9e1f50709dbd2374041c0f1a9",
-   "sha256": "074xy2wipdn2lvm7kxyf7rpsgp7hc62f7h1n77am7p4i7j5alw1f"
+   "commit": "698294cbd4b731abcb617f29aa133bc9c60b2651",
+   "sha256": "0q4w99cjp7ibbhjcgyzbwchk8k7qljp7w9p5dvszsfxiwfxgyg4w"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "9233e7c2afe0ff654a63ce6a0546a06c3e921494",
-   "sha256": "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"
+   "commit": "707f527a5448f8fd881321f1d60e49821d3efe60",
+   "sha256": "1nq3d8py2zsji835wilg514z5j180k371pwqsqrmnnhq1cj4fkia"
   }
  },
  {
@@ -17628,14 +18194,26 @@
   "repo": "jojojames/dired-sidebar",
   "unstable": {
    "version": [
-    20190516,
-    159
+    20191024,
+    116
+   ],
+   "deps": [
+    "dired-subtree"
+   ],
+   "commit": "21ccb6723bea69f2e2ca25998268d8a039f904cc",
+   "sha256": "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
    ],
    "deps": [
     "dired-subtree"
    ],
-   "commit": "2c742326a6b7a76e36666586809aaf5efa150b3f",
-   "sha256": "0s2d8lirv8s9az8a7g97yzg7na2n1340a8vg6zja315d43qljis9"
+   "commit": "347f56480228c2aac97e14f4f5a762c4582d1323",
+   "sha256": "1ahmvbwwdnjddn8qk6gq5gjfkvi1mvm13a968n7zpcpnphk6ygzb"
   }
  },
  {
@@ -17655,11 +18233,11 @@
   "stable": {
    "version": [
     0,
-    1,
-    3
+    2,
+    0
    ],
-   "commit": "5b002927fd8c7f954eec187227ac59dcaa8edfa3",
-   "sha256": "0mfvyjbx7l7a1sfq47m6rb507xxw92nykkkpzmi2mpwv30f1c22j"
+   "commit": "c66c9969428d1cf3544a164d7e5347e8efb5dd5a",
+   "sha256": "14q8lp1x1b78ra9mk90n6dyrm1j9ny5pr7valgpkg8agqyqn7xmn"
   }
  },
  {
@@ -17677,8 +18255,8 @@
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "886befe113fae397407c804f72c45613d1d43535",
-   "sha256": "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"
+   "commit": "f49a8bbf95f70671a74a24f7f4de453b2686be46",
+   "sha256": "0b5mk501sy3b2ak46yyy8qcl5f5fsc9py750n962qfh2zs1amrbs"
   }
  },
  {
@@ -17736,11 +18314,11 @@
   "repo": "purcell/diredfl",
   "unstable": {
    "version": [
-    20190629,
-    231
+    20191227,
+    2028
    ],
-   "commit": "ec17789d2f72355e0fb6e31029c6ffa686337e2e",
-   "sha256": "1blnib2ckljdxqpn0fnihyn9akc1pm8zbfw4hqy0xz2xqmyfqxi1"
+   "commit": "83567d00affce66a4e501563eddd0bd436ac48d0",
+   "sha256": "11xkvywcfv27gr0dpgprmmnjqfxmxdmcpa2kq0vqnxrblg6ijwbr"
   },
   "stable": {
    "version": [
@@ -17782,14 +18360,14 @@
   "repo": "wbolster/emacs-direnv",
   "unstable": {
    "version": [
-    20190622,
-    1853
+    20191016,
+    1907
    ],
    "deps": [
     "dash"
    ],
-   "commit": "fcec20c52fc37008d40a07c6dd0818c69e8be5f2",
-   "sha256": "0r1ryz1swafl1s1bwcwnc1wm5nga2kma0059x132rsglm4bla41n"
+   "commit": "fd0b6bbd5e3eaf6aa48bccd4a1ff3048bfb2c69b",
+   "sha256": "0py0if1wl61y6f55s4p8y11rjvrgx3yk2v5n1q2xl3gg7f4ra136"
   },
   "stable": {
    "version": [
@@ -18115,11 +18693,11 @@
   "repo": "mnp/dispwatch",
   "unstable": {
    "version": [
-    20190903,
-    356
+    20191130,
+    52
    ],
-   "commit": "04e7ecb52636e27a8e2e670c6e8977c12ed989e6",
-   "sha256": "0yv4gl86z9wx81n1hadha01iqcinp2c3414hg5iypv2j7n129kri"
+   "commit": "93aac853215d0902e7a30a6dd2b99d796da77df4",
+   "sha256": "186294rkmhwbh8x054w1hnqykp1iydxd490irl542j5alinv43qk"
   }
  },
  {
@@ -18194,14 +18772,14 @@
   "repo": "unhammer/dix",
   "unstable": {
    "version": [
-    20181210,
-    1200
+    20191115,
+    824
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b973de948deb7aa2995b1895e1e62bbe3129b5a5",
-   "sha256": "1bjxyidcp7y309asbk4pfb4mzgb8j62fmp3w3zl2nahdgv1rja45"
+   "commit": "da94351df5b185d5ad620bb7c3bbe7a6a5fa59fc",
+   "sha256": "1mk2nqiva6g7z8632qm5nbgbj9z3vf13hkjcaxz3jyw00lhyhsql"
   },
   "stable": {
    "version": [
@@ -18231,8 +18809,8 @@
     "dix",
     "evil"
    ],
-   "commit": "b973de948deb7aa2995b1895e1e62bbe3129b5a5",
-   "sha256": "1bjxyidcp7y309asbk4pfb4mzgb8j62fmp3w3zl2nahdgv1rja45"
+   "commit": "da94351df5b185d5ad620bb7c3bbe7a6a5fa59fc",
+   "sha256": "1mk2nqiva6g7z8632qm5nbgbj9z3vf13hkjcaxz3jyw00lhyhsql"
   },
   "stable": {
    "version": [
@@ -18271,20 +18849,20 @@
   "repo": "muffinmad/emacs-django-commands",
   "unstable": {
    "version": [
-    20190320,
-    722
+    20191107,
+    1830
    ],
-   "commit": "1b19436a1160d1552207d4356d5e78793dabe100",
-   "sha256": "1zb8mf0dgdr83n61a54m5grhdr6nz75zrgwczpzfl3f66xkvfci9"
+   "commit": "bef7ca848d6d1721ebb22b181c50dcfbef16e434",
+   "sha256": "1zd98xkbxvikp4sf5nxf6vb2sk7a5s3q9ida0l5f4z4jc48xx5zm"
   },
   "stable": {
    "version": [
     1,
     3,
-    2
+    3
    ],
-   "commit": "1b19436a1160d1552207d4356d5e78793dabe100",
-   "sha256": "1zb8mf0dgdr83n61a54m5grhdr6nz75zrgwczpzfl3f66xkvfci9"
+   "commit": "bef7ca848d6d1721ebb22b181c50dcfbef16e434",
+   "sha256": "1zd98xkbxvikp4sf5nxf6vb2sk7a5s3q9ida0l5f4z4jc48xx5zm"
   }
  },
  {
@@ -18360,10 +18938,10 @@
  },
  {
   "ename": "djangonaut",
-  "commit": "0c1281f59add99abf57bc858d6e0f9b2ae5b3c5c",
-  "sha256": "0038zqazzhxz82q8l1phxc3aiiwmzksz9c15by9v0apzwpmdkj38",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "1ys0s8hx8a8zykwynpan1h95v9fl87m7hlh8zhcg42kzd7b09px2",
   "fetcher": "github",
-  "repo": "proofit404/djangonaut",
+  "repo": "pythonic-emacs/djangonaut",
   "unstable": {
    "version": [
     20180727,
@@ -18487,11 +19065,11 @@
   "repo": "jhgorrell/dna-mode-el",
   "unstable": {
    "version": [
-    20170804,
-    814
+    20191001,
+    2108
    ],
-   "commit": "471d374de22c33eaddd8e41dd8ae29753fab2f6a",
-   "sha256": "05zsaypyavyn7gs0jk63chkxkm2rl4nbrqgv6zxrbqcar7gv86am"
+   "commit": "7a48393fcf0015eed2368fcb89b3091c9d029dc4",
+   "sha256": "05p1mllp7vgk69078gn6hc0vx5hfqz6k81i4ghkfkxr5fdm5fdk5"
   }
  },
  {
@@ -18539,19 +19117,19 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20190813,
-    1431
+    20191222,
+    939
    ],
    "deps": [
     "dash",
     "docker-tramp",
     "json-mode",
-    "magit-popup",
     "s",
-    "tablist"
+    "tablist",
+    "transient"
    ],
-   "commit": "fe74a499ce3246fb9a7d72e6931864b94ce5261d",
-   "sha256": "1prxz9fy9ca6lrv3qff408igxc1hic2laz528ba9mzyr5bc9qsq0"
+   "commit": "baba7f72ea9e642536ca3664c2082722062b046e",
+   "sha256": "0vcmlw8v9rgpfyahfjx8fbdh524m2dkil23gp4gf5n4l696chk6z"
   },
   "stable": {
    "version": [
@@ -18684,14 +19262,14 @@
   "repo": "spotify/dockerfile-mode",
   "unstable": {
    "version": [
-    20190505,
-    1807
+    20200106,
+    2126
    ],
    "deps": [
     "s"
    ],
-   "commit": "ed73e82dcc636dad00d1a8c3b32a49136d25ee60",
-   "sha256": "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"
+   "commit": "d31f7685ebc5832d957e25070a930aa42984327d",
+   "sha256": "1br73dsls42fn4rwagljkpa3l4wwj6f7jxfn3gmgl6c54z81av3v"
   },
   "stable": {
    "version": [
@@ -18773,8 +19351,8 @@
     20181110,
     1857
    ],
-   "commit": "6421d9e28d57cb73212c61ab7304abfe6f950ec9",
-   "sha256": "1j9ibjg6fx5iqlhxjqjcr9j9jy1n75cwcqslddzlp80p4qz9ms1k"
+   "commit": "925845844035998a941faed57baea9142cb61a44",
+   "sha256": "0nbr9ncc73w6b138ccgnknlynn0lja2ap2h7131krz9p0n07hkll"
   }
  },
  {
@@ -18814,30 +19392,30 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20190918,
-    1510
+    20200106,
+    622
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "2690aa27892380b4e857efee4b7a76ff3a87e538",
-   "sha256": "020zwg15ww40mss7ndc56hji16rmpllab3rkm0k6z79h9jmmc01c"
+   "commit": "4afe41ef3de2407f52c4954829240a3714256107",
+   "sha256": "041hdfp8ykiqm6apajriipbc6wgbysxak6ffaiwzw9zv909qywyh"
   },
   "stable": {
    "version": [
     2,
-    6,
-    1
+    8,
+    2
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "b117f2e86920c0bb3a61ce64c59a6f5db05a11e9",
-   "sha256": "1lzw3nfqrymrgc9vhd5zzffjy79sdfiihx3mphp5hny8f1nw912g"
+   "commit": "a6f6f25877343a5fcf04eaffa410175411a4c1dd",
+   "sha256": "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"
   }
  },
  {
@@ -18848,14 +19426,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20190904,
-    2252
+    20200106,
+    100
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1159463956223ae53df421bcd796e94610759c42",
-   "sha256": "0jacmhqvvsqy5w7zxsr5nxka1pxysz74zkv5lfvbqkay59asn95z"
+   "commit": "2ec6df8905e22586f349290b6f39b320fc2e21be",
+   "sha256": "0wbxn41j2i6ca7y7gvdr3qmwhsw2bbazg9ckkbl9ycjmchjpxb20"
   },
   "stable": {
    "version": [
@@ -18894,20 +19472,20 @@
   "repo": "preetpalS/emacs-dotenv-mode",
   "unstable": {
    "version": [
-    20180207,
-    1914
+    20191027,
+    2129
    ],
-   "commit": "f4c52bcd5313379b9f2460db7f7a33119dfa96ea",
-   "sha256": "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"
+   "commit": "e3701bf739bde44f6484eb7753deadaf691b73fb",
+   "sha256": "0ys1czramj3c8zbnxxc599bqc0nqp3nnn3n45ac9cjglx5iaydq3"
   },
   "stable": {
    "version": [
     0,
     2,
-    4
+    5
    ],
-   "commit": "f4c52bcd5313379b9f2460db7f7a33119dfa96ea",
-   "sha256": "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"
+   "commit": "e3701bf739bde44f6484eb7753deadaf691b73fb",
+   "sha256": "0ys1czramj3c8zbnxxc599bqc0nqp3nnn3n45ac9cjglx5iaydq3"
   }
  },
  {
@@ -18936,8 +19514,8 @@
     20190325,
     1917
    ],
-   "commit": "22937754c6c4f3cfc432175de86f70e826ae7470",
-   "sha256": "1pjmj0mkh0xiaggzp1xq84ckzq8hkvvmsxpvlnbsxngbz6k34sa5"
+   "commit": "b61df3561ea9bed1848cf69b6bb53f7fdf6916dc",
+   "sha256": "063jw3b94l43j31piygjcjzqp2gf828xr3da1hd3qimp25c9fsv6"
   },
   "stable": {
    "version": [
@@ -19084,11 +19662,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20190107,
-    2016
+    20191227,
+    1527
    ],
-   "commit": "66e429f4d576346661ae3a111bafaa06febc1d94",
-   "sha256": "0lyy8vjzzcfcj4hm7scxl4cg4qm67rprzdj7dmyc3907yad4n023"
+   "commit": "a492387de86096bd274834bfc9e8f35ef708b958",
+   "sha256": "03wsj02mqb6czcx5205fzfg3bzxazy2hmkhjac4dr2qma09w59j5"
   },
   "stable": {
    "version": [
@@ -19150,10 +19728,10 @@
  },
  {
   "ename": "drawille",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "0nkhy00jx06a7899dgyajidah29p9536mvjr7cyqm99ari70m7y9",
+  "commit": "e45ddc0c886fd2bd89ef24c99110c9faf0a05776",
+  "sha256": "1rsnp3zfp4y6bjdwr2adys91gc4jph3cgwkbj9r1d07xvh5fpfwm",
   "fetcher": "github",
-  "repo": "josuah/drawille-el",
+  "repo": "emacsattic/drawille",
   "unstable": {
    "version": [
     20160418,
@@ -19233,8 +19811,8 @@
    "deps": [
     "php-mode"
    ],
-   "commit": "47fda0a38a5b197f4606137d9c3b7d44aaeaa886",
-   "sha256": "1rg46prsymxc9lyhk7cbr53089p970mmmybiir2qsyx2s4m6mnfl"
+   "commit": "ee53f9e12bb3a80d65876a005b3a5a8ae6c7ab59",
+   "sha256": "1nrgx70gb1v84zn11a30ix24453g34v2zxw20d9w2xs9fv7vx55x"
   },
   "stable": {
    "version": [
@@ -19260,8 +19838,8 @@
     20130520,
     1655
    ],
-   "commit": "cddf1dbc71fb4c5c4c50317db6830467fa97cff0",
-   "sha256": "0fr275b7k66widp0mmbm7mjmk76hgxk89h3rcfva4wwkflhymhhl"
+   "commit": "4087c28c89a884ee050961c57166e6b09085f59d",
+   "sha256": "1hjs8jbbflj56dm87mkzray75dlczy6p58lpkr8lvh7wnim4pd6a"
   },
   "stable": {
    "version": [
@@ -19296,8 +19874,8 @@
   "repo": "dtk01/dtk",
   "unstable": {
    "version": [
-    20190803,
-    2120
+    20191215,
+    2352
    ],
    "deps": [
     "cl-lib",
@@ -19305,8 +19883,8 @@
     "s",
     "seq"
    ],
-   "commit": "cc5807cc38417060725f1f5ab2efca8baf074053",
-   "sha256": "0vwx0s3hli1ql2rfkqcv4y7n6ln4yrp3h2a7x8vrp99h6rb6xxg0"
+   "commit": "be7a8e148c022f73794e168dbba2ae821f400bf7",
+   "sha256": "1n6idkkmpbjrasacbyxdbfmxcy1v2kwxfwnbndmwn0pl9zqk4kbc"
   }
  },
  {
@@ -19332,19 +19910,19 @@
   "repo": "jscheid/dtrt-indent",
   "unstable": {
    "version": [
-    20190128,
-    2101
+    20191019,
+    2141
    ],
-   "commit": "9ab9cb9d7f391fb09f61c9289c51c36374ddbcbb",
-   "sha256": "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"
+   "commit": "48221c928b72746d18c1e284c45748a0c2f1691f",
+   "sha256": "0jmlb54b0qrp2mr9cnbzki1vy7i0wv5y1h03ns8acwa2hmpjk30a"
   },
   "stable": {
    "version": [
     0,
-    8
+    9
    ],
-   "commit": "9ab9cb9d7f391fb09f61c9289c51c36374ddbcbb",
-   "sha256": "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"
+   "commit": "48221c928b72746d18c1e284c45748a0c2f1691f",
+   "sha256": "0jmlb54b0qrp2mr9cnbzki1vy7i0wv5y1h03ns8acwa2hmpjk30a"
   }
  },
  {
@@ -19414,8 +19992,8 @@
   "repo": "jacktasia/dumb-jump",
   "unstable": {
    "version": [
-    20190920,
-    1531
+    20191128,
+    1910
    ],
    "deps": [
     "dash",
@@ -19423,8 +20001,8 @@
     "popup",
     "s"
    ],
-   "commit": "56e955b9c3619616c176e311f1b67811548ad4af",
-   "sha256": "01n4nv8f0zsfhzg7xqbv3zjvwdxk7nyq2h50gckm8mlx86f30kwj"
+   "commit": "738d40ceb7e2d6a3a26f7f27a31ba93924baaa2d",
+   "sha256": "0fpvzxvn6vhqsxqjhsxdf92x8vsiwyapgahbzl8c5bvq9rqdmlfi"
   },
   "stable": {
    "version": [
@@ -19465,20 +20043,20 @@
   "repo": "ocaml/dune",
   "unstable": {
    "version": [
-    20190911,
-    1607
+    20191016,
+    1241
    ],
-   "commit": "2aac0728daa65780df9187a409a1c166ff9ab6bf",
-   "sha256": "0y4zqmwrzabz1hcpn7wads7z7gacr3ry25pi8i0fka69hz3h4s9k"
+   "commit": "78495a08c9b271b324d0b2485dda539599c0fbc9",
+   "sha256": "1765z4v30crrsivvhr3qqspj3n0rhpb72isxpvbabswyawh4900m"
   },
   "stable": {
    "version": [
+    2,
     1,
-    11,
-    3
+    1
    ],
-   "commit": "1fb491280dbe7e3bc7c00bb75ca837edc538333b",
-   "sha256": "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"
+   "commit": "4cba00ad7b228c46166404412dac92436c1f86de",
+   "sha256": "1lgpzf2mca3rh1mg46vn0d5jb7afm26p8n83iv5ngjarwd5064gk"
   }
  },
  {
@@ -19519,14 +20097,14 @@
   "repo": "harsman/dyalog-mode",
   "unstable": {
    "version": [
-    20190721,
-    1411
+    20191002,
+    1352
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "47f53d844b0862f7474714e1ed8f2fea5001e3f2",
-   "sha256": "03qz5mrq2i52lrj045fwk1l06ax6yl2dyj271p2zp5kv1fcbph6a"
+   "commit": "4e214c1804eefde07b1dcd2ea07b8e41f33d7ee7",
+   "sha256": "1vq1fhn8x6i6wmccwiq482dbrdpn5cllkdn3v0ki0427a8gwkdal"
   }
  },
  {
@@ -19666,10 +20244,10 @@
  },
  {
   "ename": "e2wm-R",
-  "commit": "9a3ba9843bdf275815b149e4c4b0a947bbc5e614",
-  "sha256": "09v4fz178lch4d6m801ipclfxm2qrap5601aysnzyvc2apvyr3sh",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "195qgcdkz1913bvr8pk0yakp83phfn8i7gjv9s0zi8alwwpm3cw9",
   "fetcher": "github",
-  "repo": "myuhe/e2wm-R.el",
+  "repo": "emacsattic/e2wm-R",
   "unstable": {
    "version": [
     20151230,
@@ -19868,26 +20446,26 @@
   "repo": "redguardtoo/eacl",
   "unstable": {
    "version": [
-    20190801,
-    213
+    20191230,
+    1057
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "8b54294af9c0ad8d6e40932b2b384fe760e56209",
-   "sha256": "1iyw3gs0ab6vi5x2r6m0caf984yg0fqbn3mmsqmnap2pk1cr259w"
+   "commit": "a25c28f4ee1126d1ee51dae22843f3440520f1a3",
+   "sha256": "0pz894saz6ncira9ag9aqmfw394v56sfxldv25phh3z44y1ij01z"
   },
   "stable": {
    "version": [
     2,
     0,
-    1
+    2
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "ba6a95838422ec33191beaa12b3e43b67c105abc",
-   "sha256": "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"
+   "commit": "e074682aa18bed4fd68068a48ccaa970ae6d4e33",
+   "sha256": "1kb14p8004kaqxq765nv5rn8xniw53g4zafcy9wkv9b88bixb7q9"
   }
  },
  {
@@ -19928,28 +20506,28 @@
   "repo": "masasam/emacs-easy-hugo",
   "unstable": {
    "version": [
-    20190729,
-    454
+    20191215,
+    318
    ],
    "deps": [
     "popup",
     "request"
    ],
-   "commit": "2e2eb5720792512bb8a2ab2a7d9eb9ce86de8df9",
-   "sha256": "0zram35da92gvv72fdj1mpyxasagvv0i20rrqilawyvah7kr1njg"
+   "commit": "9b3249872ed7b698909f580eb80b3d756acb94c2",
+   "sha256": "0i6smms1wck41d4gzkqx0q1ab5s1qszcfdb0gdncqq42qxwbqbvl"
   },
   "stable": {
    "version": [
     3,
     8,
-    42
+    45
    ],
    "deps": [
     "popup",
     "request"
    ],
-   "commit": "2e2eb5720792512bb8a2ab2a7d9eb9ce86de8df9",
-   "sha256": "0zram35da92gvv72fdj1mpyxasagvv0i20rrqilawyvah7kr1njg"
+   "commit": "9b3249872ed7b698909f580eb80b3d756acb94c2",
+   "sha256": "0i6smms1wck41d4gzkqx0q1ab5s1qszcfdb0gdncqq42qxwbqbvl"
   }
  },
  {
@@ -19960,26 +20538,26 @@
   "repo": "masasam/emacs-easy-jekyll",
   "unstable": {
    "version": [
-    20190609,
-    146
+    20191215,
+    1016
    ],
    "deps": [
     "request"
    ],
-   "commit": "8b83e491b0db4aa75a07662577a2526a698adc21",
-   "sha256": "1y8d90b2nh6l9cxyddhdggmhl913fhlzzgqa0pabqry6fqfz51la"
+   "commit": "063f69505f4559b77fa4a5418df1a53849b29f19",
+   "sha256": "1z8997a9nvr0c04x5i7qrf5khy3l5w5llqshzgcxyb5jpmhl2hwz"
   },
   "stable": {
    "version": [
     2,
-    2,
-    22
+    3,
+    24
    ],
    "deps": [
     "request"
    ],
-   "commit": "9b065ac1bc5a85c6ad41a7b97553eeaa9e30c791",
-   "sha256": "1pj2hafyx1lq8ifahfg0j90z72swixi1pma52j6701vrn8a5aqw6"
+   "commit": "063f69505f4559b77fa4a5418df1a53849b29f19",
+   "sha256": "1z8997a9nvr0c04x5i7qrf5khy3l5w5llqshzgcxyb5jpmhl2hwz"
   }
  },
  {
@@ -20137,26 +20715,41 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20190914,
-    753
+    20191207,
+    844
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "8b2019c4f25a80dfeddaa6d1e82c668a52ffba8d",
-   "sha256": "0r8lqa120kqxqaa465lm03rbakpq19dr7pmjp0gbgcbgm3r9pvn6"
+   "commit": "99bd909f47f71e024ce324981109b73a50e82fba",
+   "sha256": "131vgl4d1j9s4055x88409w19q52x2m0x08b961hylp7yb5ljzgh"
   },
   "stable": {
    "version": [
     2,
-    16,
-    5
+    19,
+    3
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "eb6e7bf8cc525c41150bf5913d965e89e1fbf48d",
-   "sha256": "0jys32kvbcjrc65dwgfzz21g4fnycdhm0pybgk3akb80rv00x1vf"
+   "commit": "d69f59ae83ea92c17cc2f92040b76d9e47e12b81",
+   "sha256": "19hnrrvb0iwkmj095mqvm9qdpm0crr6f3268h5mh6l3qbm4zpj4l"
+  }
+ },
+ {
+  "ename": "ebuku",
+  "commit": "2f38ff73025a8645e9a93d27dc2c19446920737b",
+  "sha256": "0f9gm24cw81hfczas7w5k7dcr5n255ffskp926ks4wwvl4bpvdpq",
+  "fetcher": "github",
+  "repo": "flexibeast/ebuku",
+  "unstable": {
+   "version": [
+    20200105,
+    201
+   ],
+   "commit": "9ca9dbd65112157b265dc040db2e8fa9504d5d21",
+   "sha256": "1frk27lba5g195a03mf0wyyhbghi614zkzkbmm2avkvqzq7649mv"
   }
  },
  {
@@ -20221,11 +20814,11 @@
   "repo": "abo-abo/eclipse-theme",
   "unstable": {
    "version": [
-    20190716,
-    916
+    20191113,
+    1518
    ],
-   "commit": "0239fa7bbbb5fb61ac1e96fc772974240d2a8996",
-   "sha256": "1dldf1qsf2j62i0gi9r3ax7w749yaj09q0vw5xlk49m4qpi50ga3"
+   "commit": "dcf97865512ed450f9d5137c1a05e12edb5b7f80",
+   "sha256": "0nv0cwn9pjvy54b2pv9ncr6xmh6nnrdcdyqmcahrzmlvgy4ks8ra"
   }
  },
  {
@@ -20515,17 +21108,17 @@
  },
  {
   "ename": "edit-at-point",
-  "commit": "a63b22f357b2d08b12fb86c27261ab4d687c5f7f",
-  "sha256": "1mijasr4ww6vcjfyk7jdv4mh7w2rrspqbbmqayiy2918qg2x01df",
+  "commit": "2c01af1911a0c8856e3dee09b6d233f821d67814",
+  "sha256": "0ris81wld73h70arvc7zpzvk2wqqmzbpa090vak71w9xgw1jfr36",
   "fetcher": "github",
-  "repo": "enoson/edit-at-point.el",
+  "repo": "emacsattic/edit-at-point",
   "unstable": {
    "version": [
-    20150716,
-    1324
+    20191013,
+    1218
    ],
-   "commit": "3b800c11685102e1eab62ec71c5fc1589ebb81a7",
-   "sha256": "0crwdgng377sy1zbq7kqkz24v697mlzgdsvkdp1m8r7ympikkj6w"
+   "commit": "28c85a65c9c61f2aff50bc5e93f61cde26a5d9c0",
+   "sha256": "1wciwx9zk28r21v9ampjd8wn19g19ia7hiq1x0hami479dxwinfc"
   }
  },
  {
@@ -20555,11 +21148,11 @@
   "repo": "Fanael/edit-indirect",
   "unstable": {
    "version": [
-    20180422,
-    1807
+    20191103,
+    1013
    ],
-   "commit": "de645d8144e8a08f039a9c88185121ec81d957ef",
-   "sha256": "0xg6p3ccch9k920xhhpyhn5mkgc0sfyxsn8l1wsc6vbbp5h7wlad"
+   "commit": "935ded353b9ed3da67bc61abf245c21b58d88864",
+   "sha256": "0yghm0l4wickhqc29ykjjg98xb91djr1f6n6ihc7ymsv0yhw5wc4"
   },
   "stable": {
    "version": [
@@ -20662,26 +21255,26 @@
   "repo": "editorconfig/editorconfig-emacs",
   "unstable": {
    "version": [
-    20190703,
-    336
+    20191127,
+    529
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f24f651245344f5f97c348246ce035843419b322",
-   "sha256": "0djicwnbz7awzsnr6z1xggb9d7l83mf2h3xw3l1f9pv87m7mgndn"
+   "commit": "65f8244ffbeb9bf2720d922d4b5fc74849b9af82",
+   "sha256": "0ifz26mnv53mlk2vvyb2vrrid58y4dbw7wk1pfxxv0xbam9rihh4"
   },
   "stable": {
    "version": [
     0,
     8,
-    0
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "4b6c34d5d77025a11ae68462af9bf0a822a13242",
-   "sha256": "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"
+   "commit": "0b65d5316bcab4d76b5823ea6ecf8f5880f460d2",
+   "sha256": "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"
   }
  },
  {
@@ -20808,8 +21401,8 @@
   "repo": "tjarvstrand/edts",
   "unstable": {
    "version": [
-    20171030,
-    709
+    20191217,
+    630
    ],
    "deps": [
     "auto-complete",
@@ -20820,8 +21413,8 @@
     "popup",
     "s"
    ],
-   "commit": "6ef4bdf571235ee1b078db321402270cabff7fda",
-   "sha256": "1nzf8wdv0hs4kp69cy3blwxh18c2bkxr4d4y6ggdp0vmwv41j3zi"
+   "commit": "6e08bc97ce8a923a6ec4e0af442e861ad5010298",
+   "sha256": "085rrmcwpy0jdj84jiiz8wpscsnicp6flj96pc45g2f3arqccgj0"
   },
   "stable": {
    "version": [
@@ -20918,8 +21511,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "d98524799f95c6c6bd972e52790e7e6b9003725c",
-   "sha256": "1zyni0z4bnns37f7ylxm99pdgggd8942lkwjkl8x4qglpb9ibiri"
+   "commit": "64511754e123687930afdb5b05cfcc24a30fbbcb",
+   "sha256": "1bxf5wssmpgnidf228frzw347fx8fvcqsj8rpg83fz315i16nydb"
   },
   "stable": {
    "version": [
@@ -20966,20 +21559,20 @@
   "repo": "egison/egison",
   "unstable": {
    "version": [
-    20190714,
-    236
+    20200107,
+    2333
    ],
-   "commit": "9fbaf81114ffd3550801457257c983a077a7e17e",
-   "sha256": "0iz9hcx9s5l7c0y73ik6l7whjymgc0q4vfdr73y85cmnwfyi7fk5"
+   "commit": "84b42d0532561c902ed6dba40b134fa7f3cc1dcd",
+   "sha256": "132aj070k7yqzq01bwyipnvg6m5v9rggrlhc5rx0zzn9qy49x5fy"
   },
   "stable": {
    "version": [
     3,
-    9,
-    1
+    10,
+    2
    ],
-   "commit": "9fbaf81114ffd3550801457257c983a077a7e17e",
-   "sha256": "0iz9hcx9s5l7c0y73ik6l7whjymgc0q4vfdr73y85cmnwfyi7fk5"
+   "commit": "fa7adfd9abf5f7cf61fbbdac6a2add4f46d0c659",
+   "sha256": "15rf1mhzgaadp2kf5vrvnylc08fmq4ilpgsk55if8y337aafvy7i"
   }
  },
  {
@@ -20990,27 +21583,59 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20190910,
-    1347
+    20200105,
+    1332
    ],
    "deps": [
     "flymake",
     "jsonrpc"
    ],
-   "commit": "28ecd5df456fec6113751bd52816095e0be3e651",
-   "sha256": "1k2l77srl5j904x33sz7davfk1gmncpi87gj8yiavnyxml9snpcf"
+   "commit": "a4c83a65cf0054de1cfa0d74d7261a5177ebfb63",
+   "sha256": "0zwyc8mvxpdg661mkm2kv5b3sf4nixq0c3lg7liz1r2vdjm5pjqv"
   },
   "stable": {
    "version": [
     1,
-    4
+    5
    ],
    "deps": [
     "flymake",
     "jsonrpc"
    ],
-   "commit": "35597d262b53bde52faa46ee6ae8c597d93114e8",
-   "sha256": "1qx3ixaaaffhmbh3ifi5041lp7xp4ab4x4n1mal3wcpp70asxvdp"
+   "commit": "33a4f869972f0958c15c33b47035672b265a8b55",
+   "sha256": "1x6nlsc93scq8lidx1l5ipi7r7s0p63m2vwkl77p3v59glir15cb"
+  }
+ },
+ {
+  "ename": "eglot-jl",
+  "commit": "5f04bf5d68dc12aa3f3fd66591d45cc894e59df6",
+  "sha256": "0ffbxzhx1fqgqlfk8gqdgyfsc98rqw7mbrdd99qx9gds1pzzx4r8",
+  "fetcher": "github",
+  "repo": "non-Jedi/eglot-jl",
+  "unstable": {
+   "version": [
+    20200102,
+    1615
+   ],
+   "deps": [
+    "eglot",
+    "julia-mode"
+   ],
+   "commit": "38b7c0f1aa0f677ed1f966319e38535df4dad36a",
+   "sha256": "0d6232wlmyf58116h8z309h911z6gh4j5dma5y4znbk485q31ivm"
+  },
+  "stable": {
+   "version": [
+    1,
+    1,
+    0
+   ],
+   "deps": [
+    "eglot",
+    "julia-mode"
+   ],
+   "commit": "38b7c0f1aa0f677ed1f966319e38535df4dad36a",
+   "sha256": "0d6232wlmyf58116h8z309h911z6gh4j5dma5y4znbk485q31ivm"
   }
  },
  {
@@ -21044,11 +21669,11 @@
   "url": "https://framagit.org/eide/eide.git",
   "unstable": {
    "version": [
-    20190501,
-    2122
+    20191213,
+    2119
    ],
-   "commit": "0554252de694d01210e40cf071f212b6ca45e88e",
-   "sha256": "1ac8408m0rqyhda22b1c6jcn62mrmpvcn5d3nr2miiv7akvykvl9"
+   "commit": "2153a68b58910e7892b16cc32414e2be99e33f36",
+   "sha256": "17fbxijpiachsb16ngbv7wpy9f4m0456bc5q9g7z8qi28dgzlz9p"
   },
   "stable": {
    "version": [
@@ -21083,8 +21708,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20190813,
-    2156
+    20200104,
+    1609
    ],
    "deps": [
     "auto-complete",
@@ -21097,14 +21722,15 @@
     "skewer-mode",
     "websocket"
    ],
-   "commit": "a2872eff6c18a0706c531e9316c792a9fb99826f",
-   "sha256": "0i182ic59wnhqmik15qsqjsqza5fn67qw18i5gvvj7dsn3v05vac"
+   "commit": "41d8e61df6f18f5accc341e7ae42e03069501870",
+   "sha256": "0qws01ba15rmc1bv3qzwzzcxl764iyr1xdzs7zsfay7s91px9cr0"
   },
   "stable": {
    "version": [
     0,
     16,
-    1
+    2,
+    2
    ],
    "deps": [
     "auto-complete",
@@ -21117,8 +21743,8 @@
     "skewer-mode",
     "websocket"
    ],
-   "commit": "43107fc5c85722899534700daa7f5e73fe59a933",
-   "sha256": "05ns2ddr012dmw3x651lr4bhn9x0vrphivymdmhzc4bsxsisbd32"
+   "commit": "4399f92b6b5d23240e8f447b36521b8db2a650a3",
+   "sha256": "12zq35ab84j6rhwnq6flp3ljm17ild95nv73mxgig9vsrvx1y57v"
   }
  },
  {
@@ -21171,8 +21797,8 @@
   "repo": "kostafey/ejc-sql",
   "unstable": {
    "version": [
-    20190914,
-    1925
+    20191201,
+    1636
    ],
    "deps": [
     "auto-complete",
@@ -21181,8 +21807,8 @@
     "direx",
     "spinner"
    ],
-   "commit": "a1e4d7c31c11f7c124c58408cebeb77e473fc535",
-   "sha256": "1zjx5n1gj0lvxzf47vv8bv87kbz1p6vnbgw31h3aarsdx0c09m3a"
+   "commit": "c151fdfceaa9cb9009878c30134cc45dd6386441",
+   "sha256": "1rvbnpxzg0qd47rw1w431mdjw3qf8lf6d5a2152ii6aa46jg9a3l"
   },
   "stable": {
    "version": [
@@ -21265,8 +21891,8 @@
     20181006,
     225
    ],
-   "commit": "156d1a0bbbf330b3f274b0afb7a8366d7f04b8c7",
-   "sha256": "1mm4xphk9h8p9f3pl4brqyksk3lmnw4cr78j933p28qcmgk8sr7w"
+   "commit": "8f60d6249a2f7a5518d1a95a6d6a06f1f45cc6ad",
+   "sha256": "1rnvs3xrcl9fk5ryp0zdx6gcp4y8nnq34wy38zbhf1h87zd40px2"
   },
   "stable": {
    "version": [
@@ -21379,11 +22005,11 @@
   "repo": "raxod502/el-patch",
   "unstable": {
    "version": [
-    20190702,
-    2147
+    20191114,
+    1639
    ],
-   "commit": "1ea0645280f8e3d9a6858ec9050f4e260b52f6ce",
-   "sha256": "025yglv0wkm2gx4yncyqwgvl9h5zcnap3508qb824jncla5jnb92"
+   "commit": "4744d6b1a5405001cb75f2c362a681964367319c",
+   "sha256": "1l4rjvdrdzvgq5zq6njg6gv0b7p6j545h4v27mpyxfh3z5jc8c49"
   },
   "stable": {
    "version": [
@@ -21608,11 +22234,11 @@
   "repo": "Mstrodl/elcord",
   "unstable": {
    "version": [
-    20190713,
-    2309
+    20191218,
+    1744
    ],
-   "commit": "1e1cf35cd9f0a5d6f4a3757860e066d7ac482c39",
-   "sha256": "0mfsd4f7494k9p9wm6wn7abcacxv8lxsfjnj6cbin7b8992rgq01"
+   "commit": "88bc8f6f6b92a9d3095d55e4ddc3601ea13d4447",
+   "sha256": "0vsfnlrp3s64iv34mdzjp3shm63sasfmiddi7ig70d0a9ylcnvly"
   }
  },
  {
@@ -21656,11 +22282,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20190711,
-    1226
+    20191102,
+    1433
    ],
-   "commit": "8aa2b6d35a557864ff64762774fd5b4960cbeff0",
-   "sha256": "08h42a3mrhcn4qi77fz2s8yz5sbsfcm8vxyc707lhj8cvl8qp9c2"
+   "commit": "913786070769fac83e7b8ef790b57c8d8cbf8853",
+   "sha256": "0lgwixznvrmgzkridbsmhxqdsgchs5k56vb8nmpmchgf08qvaiz2"
   },
   "stable": {
    "version": [
@@ -21730,6 +22356,36 @@
   }
  },
  {
+  "ename": "eldoc-stan",
+  "commit": "e4ae4feacc7d83ad2acc8db83cf6339b6c63ec3e",
+  "sha256": "0ah6fbz039lyb9xf4q379h7y0df18r1vyri6nq3lmhj3zw3042n1",
+  "fetcher": "github",
+  "repo": "stan-dev/stan-mode",
+  "unstable": {
+   "version": [
+    20191106,
+    131
+   ],
+   "deps": [
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  },
+  "stable": {
+   "version": [
+    10,
+    0,
+    0
+   ],
+   "deps": [
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  }
+ },
+ {
   "ename": "electric-case",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1ch108ljzg5xkk4pkfpfxm8v2yzqk79q3h2zhzzqhsydq7r07bdn",
@@ -21752,14 +22408,14 @@
   "repo": "davidshepherd7/electric-operator",
   "unstable": {
    "version": [
-    20190710,
-    858
+    20191005,
+    1109
    ],
    "deps": [
     "dash"
    ],
-   "commit": "97f600ccd9244f99ac802bf8cbd4a8241fbcb892",
-   "sha256": "08dpn776jcypibi3x7mlkxcpsd0i65dws206zwjc19nl3qan4a11"
+   "commit": "71d65e4abaef5e49a9e1b8fce706ce0296f9d5e2",
+   "sha256": "168ri3wahr6zjv2dvqc3jbqih2m4d0mfzp4gqw5mss000fqmx9ns"
   },
   "stable": {
    "version": [
@@ -21837,20 +22493,20 @@
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20190903,
-    1137
+    20191227,
+    426
    ],
-   "commit": "69b0320156cbf7e395efa670464d4651f708332f",
-   "sha256": "1nkd1ll8fjnnkqqz6x4yr7lij6kknh4mh30qf3g4kzg5gmwhbx6q"
+   "commit": "fb7de7b6d299bb4190fed3cab541dbf5a5a1bbcd",
+   "sha256": "1wx55myyj15mii4zgczm1qpx2fa864ri87c1jr6fbl8vwcg4k0xq"
   },
   "stable": {
    "version": [
     3,
-    2,
+    3,
     0
    ],
-   "commit": "63b26ee83fd58afdf8f0b3d2c04cdc9cd956772c",
-   "sha256": "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"
+   "commit": "9b5a0ce648cdaa59f7c96414ee868038e08ea29d",
+   "sha256": "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"
   }
  },
  {
@@ -21906,28 +22562,58 @@
   "repo": "fasheng/elfeed-protocol",
   "unstable": {
    "version": [
-    20190616,
-    301
+    20200106,
+    1038
    ],
    "deps": [
     "cl-lib",
     "elfeed"
    ],
-   "commit": "92961499adfdef3c038af3dff24b435e9fb4bc1a",
-   "sha256": "0sybvs9wwf8bvf9615pvhgswz3g6d34hic22smcy7byrlq8hrba5"
+   "commit": "2baf0b8bdda34911cd58b119f4f649603dd21500",
+   "sha256": "1m2fw4kxaj5apjk8hi8hbgsxs56ra2irqmg4mghqvkssjyjm1bfl"
   },
   "stable": {
    "version": [
     0,
-    5,
-    9
+    6,
+    1
    ],
    "deps": [
     "cl-lib",
     "elfeed"
    ],
-   "commit": "c5faca15ccfe7e03dc4ee1372a07671c20015737",
-   "sha256": "1cdg111dgpphlpv2csv9nr5p2zjk3qss7bf0y8485nnzcin4ip9f"
+   "commit": "2baf0b8bdda34911cd58b119f4f649603dd21500",
+   "sha256": "1m2fw4kxaj5apjk8hi8hbgsxs56ra2irqmg4mghqvkssjyjm1bfl"
+  }
+ },
+ {
+  "ename": "elfeed-score",
+  "commit": "e981f8adeb5015d966e733496280d5cea457228d",
+  "sha256": "0jag1ksmnql61303a51i2lizd2yk4cjlsm2hksqqjk46cwv2cvl7",
+  "fetcher": "github",
+  "repo": "sp1ff/elfeed-score",
+  "unstable": {
+   "version": [
+    20200104,
+    2247
+   ],
+   "deps": [
+    "elfeed"
+   ],
+   "commit": "7c76684ceccb0623f3320c16ea22c04b5ca4433a",
+   "sha256": "1qzmgryk9dg3jmz2v6mrrjbmkzik4isxlh02zmh1ajmcr93hkn3v"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "elfeed"
+   ],
+   "commit": "b1419ac54e5dfaa4b88352a3919e7fdedc61bb17",
+   "sha256": "0pkvq0f7linwxm9vv389wjhw60v3jcgw71q5ic4nrvayizx6ld5h"
   }
  },
  {
@@ -21938,28 +22624,28 @@
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20190906,
-    2012
+    20191123,
+    1738
    ],
    "deps": [
     "elfeed",
     "simple-httpd"
    ],
-   "commit": "69b0320156cbf7e395efa670464d4651f708332f",
-   "sha256": "1nkd1ll8fjnnkqqz6x4yr7lij6kknh4mh30qf3g4kzg5gmwhbx6q"
+   "commit": "fb7de7b6d299bb4190fed3cab541dbf5a5a1bbcd",
+   "sha256": "1wx55myyj15mii4zgczm1qpx2fa864ri87c1jr6fbl8vwcg4k0xq"
   },
   "stable": {
    "version": [
     3,
-    2,
+    3,
     0
    ],
    "deps": [
     "elfeed",
     "simple-httpd"
    ],
-   "commit": "63b26ee83fd58afdf8f0b3d2c04cdc9cd956772c",
-   "sha256": "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"
+   "commit": "9b5a0ce648cdaa59f7c96414ee868038e08ea29d",
+   "sha256": "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"
   }
  },
  {
@@ -21970,14 +22656,14 @@
   "repo": "TobiasZawada/elgrep",
   "unstable": {
    "version": [
-    20190917,
-    2320
+    20191203,
+    1227
    ],
    "deps": [
     "async"
    ],
-   "commit": "c644ed57337fdf117de5b7e342c2623d4f17e8f7",
-   "sha256": "1j757kclw54y3cn839jjdsbkydf3sc0bjkkii50gvy65kp46fqhp"
+   "commit": "4a139c820c9dfe00dcd403818051fc78fca87782",
+   "sha256": "0g70d1a2677ga3f8lp0f4k8vr7j4fjdxn790fah9zcmc23nl8g6m"
   },
   "stable": {
    "version": [
@@ -22048,20 +22734,20 @@
   "repo": "xuchunyang/elisp-demos",
   "unstable": {
    "version": [
-    20190816,
-    421
+    20200101,
+    1259
    ],
-   "commit": "628ade09bf24331003f7f69a3ebfa57da09288c0",
-   "sha256": "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"
+   "commit": "d61fd603f115214c582436fc7f4798a711b69de4",
+   "sha256": "148mqad8mk50zbjaacdjngb44i7maqxx8i71kwbaw27pgbcbfpbl"
   },
   "stable": {
    "version": [
-    2019,
-    8,
-    16
+    2020,
+    1,
+    1
    ],
-   "commit": "628ade09bf24331003f7f69a3ebfa57da09288c0",
-   "sha256": "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"
+   "commit": "966517c818c8fa0440c10a66008a2c209af8cf26",
+   "sha256": "02axxz3xin5n6kr8cmn19qqv96agcy8ml2apwwgrmbxrvqdhm1ia"
   }
  },
  {
@@ -22117,20 +22803,20 @@
   "repo": "gonewest818/elisp-lint",
   "unstable": {
    "version": [
-    20180224,
-    2042
+    20200102,
+    1550
    ],
-   "commit": "04b0d36ec0e4dc1bb54c2bf4c2d16b2af8cf6a39",
-   "sha256": "04hxpfgvkh4ivaxqbhnp3j68i1kqzg1v19bssnvcagll2mm4r3xg"
+   "commit": "f8316b84513261b17817006f5fcc25599d8e12b2",
+   "sha256": "0xv5n2qlk5i1jx441m5nhp1w7smyx5szv0jy7iayz4a3kn8lkvis"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "9d894e99377859171ee54cb7d2b2e7f2cc7c267c",
-   "sha256": "11pvqskjhxxsyxmy8wllqwa0qg0j9280h0m5rzjghgsdcnlisyvq"
+   "commit": "d4dc13addde8cacd7660efcb369af5e54a547114",
+   "sha256": "1zyy8dj11sn74wq86hibp17a1zbps2pv26ncn8fh8wvsfy1vdfif"
   }
  },
  {
@@ -22218,14 +22904,14 @@
   "repo": "elixir-editors/emacs-elixir",
   "unstable": {
    "version": [
-    20190831,
-    2225
+    20191203,
+    408
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "5c50dcedd890f14e0ede33b74ddf86607b037239",
-   "sha256": "0hi8ly4jplhlh4mrmwlhz44w50ccjbc4w12jkacjc82gay8m8yfa"
+   "commit": "5920edcf19f0526bbee97b01435c4b8bf3b59c36",
+   "sha256": "0ymxrc0qy4p1ryffj8a57f6jn3i4ll5z0ay56m5fh9l46xz6b3am"
   },
   "stable": {
    "version": [
@@ -22285,8 +22971,8 @@
     "f",
     "s"
    ],
-   "commit": "798c40de09ebfff40fd1aa5b996bd8390f803bdf",
-   "sha256": "1z1g1v3q5zdljkdziv8jnyjm2n4jxdfbds1qqwddlaz143b4h5zb"
+   "commit": "55b49500090247728d5abcd3670527a394ba16e4",
+   "sha256": "0gilc9z2mb53mp5702izdrbyjbmvij20jn8zgji1z629ckjivwh7"
   }
  },
  {
@@ -22297,19 +22983,17 @@
   "repo": "jcollard/elm-mode",
   "unstable": {
    "version": [
-    20190815,
-    555
+    20191228,
+    2356
    ],
    "deps": [
     "dash",
     "f",
-    "let-alist",
     "reformatter",
-    "s",
-    "seq"
+    "s"
    ],
-   "commit": "834fb5037424c47155518ed27537ef7ad6addcc5",
-   "sha256": "1jqp9n28xgxbp1xfqw1vpv9h5q41xirxcfj9257p2gvk1lg1w7jr"
+   "commit": "de2521ec8f47e7ef1a5120d7ba0e0d7cba94498f",
+   "sha256": "0rzrizzbrmsyd6703fqkabx7k7fh5n2f4skrisgcwph2sqzn89wy"
   },
   "stable": {
    "version": [
@@ -22367,15 +23051,15 @@
   "repo": "Silex/elmacro",
   "unstable": {
    "version": [
-    20190823,
-    1308
+    20191208,
+    1057
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "5bf9ba6009226b95e5ba0f50489ccced475753e3",
-   "sha256": "1x4wnsshf9h10mp51x92vs5rxw5had4gmw6zz4f53czx1ymcv16a"
+   "commit": "ba4086ef241dadfc2b1ce1bcfa56e12dbb89ef58",
+   "sha256": "0q29h3y6q1xkz2jx9bvrk8nvmisv1di2l79yc3zrw5k4hirq8j2a"
   },
   "stable": {
    "version": [
@@ -22525,26 +23209,44 @@
   "repo": "dochang/elpa-clone",
   "unstable": {
    "version": [
-    20190109,
-    2340
+    20191006,
+    1953
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5dddbab4c27ec6aca541a1f8e9792617f10fc325",
-   "sha256": "17lbdgwg97x8q8dbghylr2j0nwb72mpfl679qb0pl9184ih27qfc"
+   "commit": "827e2723b123618aaa32642d78c447cf2979a00a",
+   "sha256": "08psgia9vwwil16nymy0z12p823in3bxf9k7phjrmdicqqc01k42"
   },
   "stable": {
    "version": [
     0,
     0,
-    7
+    9
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5dddbab4c27ec6aca541a1f8e9792617f10fc325",
-   "sha256": "17lbdgwg97x8q8dbghylr2j0nwb72mpfl679qb0pl9184ih27qfc"
+   "commit": "827e2723b123618aaa32642d78c447cf2979a00a",
+   "sha256": "08psgia9vwwil16nymy0z12p823in3bxf9k7phjrmdicqqc01k42"
+  }
+ },
+ {
+  "ename": "elpa-deploy",
+  "commit": "d1708e6fa8778a79cd2423a56497140e3302b579",
+  "sha256": "1yv4sfipaxqgx3zwjfr3wzc25f59pl03snq0ja2s13r7l5kg6im8",
+  "fetcher": "github",
+  "repo": "oitofelix/elpa-deploy",
+  "unstable": {
+   "version": [
+    20191022,
+    718
+   ],
+   "deps": [
+    "f"
+   ],
+   "commit": "f5126a2da1e0e52981fad9c12028814be80328c2",
+   "sha256": "0s1cv983cgz8iysjllqbpbq80bcmsynqb6d3c8z177xqvvr4zaw8"
   }
  },
  {
@@ -22573,26 +23275,26 @@
  },
  {
   "ename": "elpher",
-  "commit": "df2162816fed4d5da7ee5adafbf547eed8815418",
-  "sha256": "1csy26ra6kgm2rnf1s6bj254r18zkaf6y7kb3rrjm1msw3vjvvr2",
-  "fetcher": "github",
-  "repo": "tgvaughan/elpher",
+  "commit": "d87a0f3142e0a59842608576961707c98374f954",
+  "sha256": "1i52q6xsyabl8gg8cd29d24gnw6aac69pjif2yh0rijxvbcl2a86",
+  "fetcher": "git",
+  "url": "git://thelambdalab.xyz/elpher.git",
   "unstable": {
    "version": [
-    20190920,
-    1533
+    20191212,
+    1858
    ],
-   "commit": "e2d59f11515f2879bdc2675528b74fbb9b802bea",
-   "sha256": "1ghjz22vyidgss430y6w4znvx135b0avdmk7hh7mx4vbnq0m1j07"
+   "commit": "3f56dde4342dcfecc2b8b4d1c6e07436d2ab9991",
+   "sha256": "0872dis1zin58fljbyzvvyd5z6c27cw8ikxgd8s57addbi4s6ffh"
   },
   "stable": {
    "version": [
     2,
-    3,
-    5
+    5,
+    2
    ],
-   "commit": "c0ff9d26c2e5cf62ade93852e7eb8a0f081bf028",
-   "sha256": "0khgplpwm7dzsxfh43i1lgwrwskmyxaz9qcgzs0vx9c4vm8c1byk"
+   "commit": "12629c283e0e3e62561d1456a2f8842b3524df57",
+   "sha256": "023ih6bgqf98jgzqy03nplwxhabaj9x9dqk3c8bmd50ndgrspc7q"
   }
  },
  {
@@ -22603,11 +23305,11 @@
   "repo": "twlz0ne/elpl",
   "unstable": {
    "version": [
-    20190704,
-    1130
+    20191229,
+    1929
    ],
-   "commit": "341dd89aa2a0315ec63d476d79057be8b5f5386f",
-   "sha256": "04m9dinhgwgqry7yblc9wryv8sikprqflijjfdk8319c7kiddl3h"
+   "commit": "48ecee2aa7b3d085a3deff809fb3ae31ae4ef9dd",
+   "sha256": "06xqww1r3i2hlr4hyg4n2l9zbpiki3g90b51jylaiabj4gqfswzv"
   }
  },
  {
@@ -22618,36 +23320,34 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20190913,
-    936
+    20191229,
+    2252
    ],
    "deps": [
     "company",
-    "find-file-in-project",
     "highlight-indentation",
     "pyvenv",
     "s",
     "yasnippet"
    ],
-   "commit": "370dd4ced755b668ce2d7c91f742cd09337d98c4",
-   "sha256": "0zji9p62wyan9z7l01q54j06xdscy27ll3c1mnlfxvb7n3v5xdya"
+   "commit": "a698cfd03e35a7b821fa343e4e13d1c5a22902da",
+   "sha256": "0wxjwgrac2r3y9q83gjb95253r440db39npqpisj4r9zxkn5ss3m"
   },
   "stable": {
    "version": [
     1,
-    31,
+    32,
     0
    ],
    "deps": [
     "company",
-    "find-file-in-project",
     "highlight-indentation",
     "pyvenv",
     "s",
     "yasnippet"
    ],
-   "commit": "54ed6fe219689e187286c8808041b6f61718b025",
-   "sha256": "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"
+   "commit": "d54e78edad91660caaabd19e4a6e416889ccfe31",
+   "sha256": "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"
   }
  },
  {
@@ -22695,8 +23395,8 @@
   "repo": "emacs-elsa/Elsa",
   "unstable": {
    "version": [
-    20190825,
-    1513
+    20191002,
+    2030
    ],
    "deps": [
     "cl-lib",
@@ -22704,8 +23404,8 @@
     "f",
     "trinary"
    ],
-   "commit": "fa12fcfa37f399b56c8b45323e03c3328ae4fde3",
-   "sha256": "0aphgjzxm4qhpp5rc72mx7d6n7mfm1ah7gn5064j7kzdi630msjn"
+   "commit": "b43236e5e183249726b93f13e09c56a081817804",
+   "sha256": "0j0qppbhmb43nh1j1hrsyg6m0710m25i12sc9k9s2drz9wva7jc3"
   }
  },
  {
@@ -22933,73 +23633,20 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20190904,
-    1331
-   ],
-   "commit": "aec740bb4453a8b671beccd31a583225fb2eb104",
-   "sha256": "144mh3klxqv70qz5qksj5dzgcczc6wwscwwi2mx07x6s3vbgmfal"
-  },
-  "stable": {
-   "version": [
-    1,
-    2,
-    8
-   ],
-   "commit": "457fca9d4bb0429b08c8f4e675f8b1f3e48297e3",
-   "sha256": "0vpvdnmg95nk9bmrjysbpfwbyzxhipdqh9xfphxi2n63sd0vzk7z"
-  }
- },
- {
-  "ename": "emacs-setup",
-  "commit": "abb7101b2d48af56af09d1dc85c540300dba7b3c",
-  "sha256": "1x4rh8vx6fsb2d6dz2g9j6jamin1vmpppwy3yzbl1dnf7w4hx4kh",
-  "fetcher": "github",
-  "repo": "echosa/emacs-setup",
-  "unstable": {
-   "version": [
-    20120727,
-    1426
-   ],
-   "commit": "c783ec13e3b39093fffb6f6d64dccdce8ce4d375",
-   "sha256": "1crpjcxwanbrd1yd4lbb5lmqwvx1mczya7ff2qr3phk497czpsqm"
-  },
-  "stable": {
-   "version": [
-    1,
-    0
-   ],
-   "commit": "cc36ad5318c6c0e65d1b9ff8dff5ea2437675de2",
-   "sha256": "15l3ab11vcmzqibkd6h5zqw5a83k8dmgcp4n26px29c0gv6bkpy8"
-  }
- },
- {
-  "ename": "emacsagist",
-  "commit": "07612d46faebb28e1eeb8ddae2ac20e2dc0175f6",
-  "sha256": "1cyz7nf0zxa21979jf5kdmkgwiyd17vsmpcmrw1af37ly27l8l64",
-  "fetcher": "github",
-  "repo": "echosa/emacsagist",
-  "unstable": {
-   "version": [
-    20140331,
-    1830
-   ],
-   "deps": [
-    "cl-lib"
+    20191226,
+    1614
    ],
-   "commit": "aba342ba59c254a88017f25e9fb7a8cd6f2fda83",
-   "sha256": "0ciqxyahlzaxq854jm25zbrbmrhcaj5csdhxa0az9crwha8wkmw2"
+   "commit": "4cbdcd79524db4a71abbf761a3945617086f5d09",
+   "sha256": "1gb2sh2mcx8va8lgyc46pch9fswfm761935806myi9fl1v67ayk6"
   },
   "stable": {
    "version": [
     1,
-    0,
+    3,
     0
    ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "aba342ba59c254a88017f25e9fb7a8cd6f2fda83",
-   "sha256": "0ciqxyahlzaxq854jm25zbrbmrhcaj5csdhxa0az9crwha8wkmw2"
+   "commit": "4cbdcd79524db4a71abbf761a3945617086f5d09",
+   "sha256": "1gb2sh2mcx8va8lgyc46pch9fswfm761935806myi9fl1v67ayk6"
   }
  },
  {
@@ -23156,6 +23803,24 @@
   }
  },
  {
+  "ename": "emacsql-sqlite3",
+  "commit": "5a25cf38b4f39b1c4d259143f1586fdad605b101",
+  "sha256": "06zm6vs6sry2lwksikxp0rjyvs1rgiqyapyw7m8hgy336h810v84",
+  "fetcher": "github",
+  "repo": "cireu/emacsql-sqlite3",
+  "unstable": {
+   "version": [
+    20191211,
+    1229
+   ],
+   "deps": [
+    "emacsql"
+   ],
+   "commit": "998ba547bd14c7406ab5d59820ef140c1819784e",
+   "sha256": "026hkbf90sp3q71g2pds63dvnfpw2q1i66vglfy42502c08l8285"
+  }
+ },
+ {
   "ename": "emacsshot",
   "commit": "d94b48f1d01c6f0e7bb2169a4a3181eae3f79c23",
   "sha256": "1v5cd278fls5hib6f4arv0g5mzjhv22lslbb9s2p274dk4pn1ggc",
@@ -23163,19 +23828,20 @@
   "repo": "marcowahl/emacsshot",
   "unstable": {
    "version": [
-    20190715,
-    1808
+    20191206,
+    944
    ],
-   "commit": "1b5c080135b963c9a7f2d34230b3134a9fb3d345",
-   "sha256": "0bklypf31y374xqhq3b24srfbr95bi3km9nrxy2wwcak8ia20pg5"
+   "commit": "fe958b11056f3c671ebdd604d5aa574323284ca5",
+   "sha256": "0zg52b3hl0rp9hjz04546kngssxs0l64dm01bwp9hapy7pichbci"
   },
   "stable": {
    "version": [
     0,
-    4
+    5,
+    0
    ],
-   "commit": "f2f8996d877ece5469c459c9bb7f33fe43c95822",
-   "sha256": "00q344vgihl2s0snibfwsjvxqkbvy2jlqnnid7qw5gcni673b2hl"
+   "commit": "f0add6820d250875f7d7c21aa5d813dc73dbcf96",
+   "sha256": "18bnw6yb41ki1xvkhi07v7fqx3var928majgd6613ra9nirnyqnj"
   }
  },
  {
@@ -23252,14 +23918,14 @@
   "repo": "madnificent/ember-mode",
   "unstable": {
    "version": [
-    20190403,
-    1652
+    20191123,
+    958
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "3510afc5023d760a66aef260ba601c15a31dc878",
-   "sha256": "06y5nd2fs0xskjxhd1dn4g9y03i7xamv7jiwq8cm0c2mli5pjpr1"
+   "commit": "34373dd9413986288b2709365b2725e9390ecf9e",
+   "sha256": "005c679f9gpjixdcidsb50vzkg4gsy5qcz4rdjr84nspxz6nvjjw"
   }
  },
  {
@@ -23396,25 +24062,25 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20190905,
-    2111
+    20191205,
+    2229
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2bad5e6cf7442cff492cafe896c47719ae77b8fb",
-   "sha256": "1bxaa1mzx5l1pp16j14y66cywpr174y6q7rhk5qr60lfjjfgj3h6"
+   "commit": "eedd61d9639de043933293b662a148d57d2f8a2f",
+   "sha256": "1nx0xvl03g2626xszqv9mw6v6xa83xxsjm11522g0srfvibj2iwn"
   },
   "stable": {
    "version": [
     5,
-    2
+    3
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2253146e5607e12f62b0c1c474fded1219da2d5d",
-   "sha256": "0r0ai788mn5f3kf5wrp6jywncl2z3gpjif41pm5m0892y7l0vh9i"
+   "commit": "a8075b52fa75c5b53892214e6ca89fe0b42a04bf",
+   "sha256": "0jp96s0pglmrcgcyn9cp4rn2qlk9rf0dq6avrr5wiigjjkl33fip"
   }
  },
  {
@@ -23657,8 +24323,8 @@
     20160726,
     1924
    ],
-   "commit": "10be897fa5165fd40fd35a89e38c759e008fa775",
-   "sha256": "1aanl5dd2m8jlyq27ymhc6l9i00cpi30wwhpaf67dlvk9gk89f64"
+   "commit": "8f159e8073b9b57a07a54b549df687424eeb98ee",
+   "sha256": "1hwikjy4ah1zkb4aknc9yni3d9cqgvnh5n955bdljyp0lvpvvhpr"
   },
   "stable": {
    "version": [
@@ -23693,15 +24359,15 @@
   "repo": "iqbalansari/emacs-emojify",
   "unstable": {
    "version": [
-    20190809,
-    959
+    20191017,
+    420
    ],
    "deps": [
     "ht",
     "seq"
    ],
-   "commit": "782ac307f37239e90c56810323db4263a6469219",
-   "sha256": "1x6ds9aj8yd5phkfw29jdlklqdxjl7g2gqwlm7ngb60nsk02vjvf"
+   "commit": "4c84ef9502988b52b1e296630bcee7f7c62cfc02",
+   "sha256": "11v7br4j1yx1hqqlv2phkxn3jx2qa3vrb4cq61ymfdx82v8j78jj"
   },
   "stable": {
    "version": [
@@ -23757,8 +24423,8 @@
   "repo": "Wilfred/emacs-refactor",
   "unstable": {
    "version": [
-    20190810,
-    2133
+    20191122,
+    1911
    ],
    "deps": [
     "cl-lib",
@@ -23771,8 +24437,8 @@
     "projectile",
     "s"
    ],
-   "commit": "ed430d55bd7504cb51d9f2b9e1b3c4b4ca93dafc",
-   "sha256": "154vzwxw3mlxxjmvi8aqxmpww6b4gvrcq6aw7w1gi3yb048pgkyy"
+   "commit": "8038ab88a000a835ca73af2068b1ef536bc7e33c",
+   "sha256": "1d27y6chxjf4k9cgsk93xjf1wq9lrv0516lpnqqlp2rdd7m3nv7y"
   },
   "stable": {
    "version": [
@@ -23832,23 +24498,26 @@
   "repo": "hrs/engine-mode",
   "unstable": {
    "version": [
-    20181222,
-    2027
+    20191105,
+    750
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "117a9c0cbc1ff8ade7f17cd40d1d2f5eb24f51a3",
-   "sha256": "1pm6xi0bcab3mpmvy8g449d5iv8s3cjqqvm2rcnlz1d6223pszh0"
+   "commit": "96b3488a6de2f50b8ba3a101e04ebcbe9821a989",
+   "sha256": "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"
   },
   "stable": {
    "version": [
     2,
-    0,
-    0
+    1,
+    1
    ],
-   "commit": "243d04691475b47a4453ad7106d8268ca14d9f28",
-   "sha256": "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "96b3488a6de2f50b8ba3a101e04ebcbe9821a989",
+   "sha256": "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"
   }
  },
  {
@@ -23859,18 +24528,18 @@
   "repo": "zenspider/enhanced-ruby-mode",
   "unstable": {
    "version": [
-    20190513,
-    254
+    20191111,
+    2243
    ],
-   "commit": "f334c42986e93c60fba144d732becfcbdb13bb7d",
-   "sha256": "0xfdiajm2blkddxillnvn0mnik2i1q5zwgb5zc60i7p5dg1fj176"
+   "commit": "732331b99a0884dd7fc0149658d4090886857656",
+   "sha256": "12wip0l6xyqgvxvjvid1rh61yizk1r9y7xl1jz2sjds7kv6aw0kf"
   },
   "stable": {
    "version": [
-    20190408
+    20191111
    ],
-   "commit": "5c5ea7532bfff3c12c2a554d68c5def1dd984a40",
-   "sha256": "1asr52rg3230avq2bwl06nnrgkym98i7gas0xrs2vqyyaxbcpb1h"
+   "commit": "4e058f36a455c90816fd9615a4a7a63a8c8b8cc8",
+   "sha256": "1jpiyjb5291jk6pd649d6i8nxaazqjznb3zpksp7ykrqqgw4wgjm"
   }
  },
  {
@@ -23899,21 +24568,21 @@
  },
  {
   "ename": "eno",
-  "commit": "a63b22f357b2d08b12fb86c27261ab4d687c5f7f",
-  "sha256": "1pcbvka3g32j1a2j7slw4jm80qpsk3ldziy5n4l02xpnqw6iwy6q",
+  "commit": "2c01af1911a0c8856e3dee09b6d233f821d67814",
+  "sha256": "1agnkykmq8d6mw4cwdw772zzsrwdd28v8m37894w2c80cxmjjrbq",
   "fetcher": "github",
-  "repo": "enoson/eno.el",
+  "repo": "emacsattic/eno",
   "unstable": {
    "version": [
-    20160110,
-    1034
+    20191013,
+    1239
    ],
    "deps": [
     "dash",
     "edit-at-point"
    ],
-   "commit": "40075bb1ed9e62f42c5799f3d3721734742ed417",
-   "sha256": "1qimqrvk0myqfi2l3viigkx1ld90qpjgi1gs6xhw2g51r8x4i3in"
+   "commit": "c5c6193687c0bede1ddf507c430cf8b0a6d272d9",
+   "sha256": "1khi2x0v2f7kn74s5mszp4f5qsdp6v91b98y8gyzhrxic7n083q4"
   }
  },
  {
@@ -23941,48 +24610,6 @@
   }
  },
  {
-  "ename": "ensime",
-  "commit": "502faab70af713f50dd8952be4f7a5131075e78e",
-  "sha256": "1d8y72l7bh93x9zdj3d3qjhrrzr804rgi6kjifyrin772dffjwby",
-  "fetcher": "github",
-  "repo": "ensime/ensime-emacs",
-  "unstable": {
-   "version": [
-    20180615,
-    1330
-   ],
-   "deps": [
-    "company",
-    "dash",
-    "popup",
-    "s",
-    "sbt-mode",
-    "scala-mode",
-    "yasnippet"
-   ],
-   "commit": "34eb11dac3ec9d1c554c2e55bf056ece6983add7",
-   "sha256": "0hgbxd538xjzna97843014xkbpgs20nz7xpb6smls7rdxp5a1fpd"
-  },
-  "stable": {
-   "version": [
-    2,
-    0,
-    2
-   ],
-   "deps": [
-    "company",
-    "dash",
-    "popup",
-    "s",
-    "sbt-mode",
-    "scala-mode",
-    "yasnippet"
-   ],
-   "commit": "3d3ab18436ad6089496b3bce1d49c64a86965431",
-   "sha256": "0p821zwpiznjh736af5avnx9abssx0zbb9xhs74yhh1mcdi1whq7"
-  }
- },
- {
   "ename": "envdir",
   "commit": "79c1497f709f6d23e4886359e09ab0456ed61777",
   "sha256": "085bfm4w7flrv8jvzdnzbdg3j5n29xfzbs1wlrr29mg9dja6s8g8",
@@ -24095,28 +24722,28 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20190807,
-    846
+    20191228,
+    2011
    ],
    "deps": [
     "closql",
     "dash"
    ],
-   "commit": "80098a45909d50aa089d344c6e24cbbae1481513",
-   "sha256": "0r5h8wdw58maqmda2ldg5j3fmjsih95ikzg34gxfk18sw7r50rpv"
+   "commit": "075f6afa81f7a83a35088b699ed44d6029192198",
+   "sha256": "0g1ggna56w3c1qdqi3g1aq4gz6hdpacwc4hd31bqa03gydr8ghlg"
   },
   "stable": {
    "version": [
     3,
     2,
-    1
+    2
    ],
    "deps": [
     "closql",
     "dash"
    ],
-   "commit": "1aaa64402bf91575ee81bf240c4c52320f68088d",
-   "sha256": "0ij44yp72y1flcjp2q6yfbrnr4bnzjflgcsksl3djr9nhb73cd5a"
+   "commit": "ca211c5225aa550374d77629dd9b87e2b0b0d992",
+   "sha256": "1pxz611qb3m33r6343h0xhwqvvhjl131zyc2klplzgb23rkm8lk0"
   }
  },
  {
@@ -24237,15 +24864,15 @@
   "repo": "emacsomancer/equake",
   "unstable": {
    "version": [
-    20190630,
-    319
+    20200101,
+    630
    ],
    "deps": [
     "dash",
     "tco"
    ],
-   "commit": "7eddc025ee61b83029363e22219af228b8c20681",
-   "sha256": "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"
+   "commit": "4568d865e3524a284808e2a79c7ac9703bd228dc",
+   "sha256": "1ng1d0nrj0nzp4w209jr0gcnfl7chrlx7m6bapbq11lkf9qwgg35"
   }
  },
  {
@@ -24271,45 +24898,25 @@
   "repo": "atomontage/erc-crypt",
   "unstable": {
    "version": [
-    20190318,
-    2350
+    20200103,
+    1329
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "043b109409ee5b17bf06956fa46e1beb66d06ca4",
-   "sha256": "1k4y203m7d7cbgdyin3yq70ai9yw0rfln2v61xd7xa5zxvgvj2v2"
+   "commit": "26e16e0fc3af78e70b095f47995d2a368f8de61d",
+   "sha256": "197sj97j7mc9jwhamra4narnypdg3xpxy5rb95an5gqqzhy9bccm"
   },
   "stable": {
    "version": [
     1,
-    7
+    9
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1c8b1caed52a5994aab8bd4dd196881ed537d3aa",
-   "sha256": "0w1b4pqipzdlkak9807k8xgzlc6vvni86ab92snm07909kby9xd0"
-  }
- },
- {
-  "ename": "erc-hipchatify",
-  "commit": "b60e01e7064ce486fdac3d1b39fd4a1296b0dac5",
-  "sha256": "1a4gl05i757vvap0rzrfwms7mhw80sa84gvbwafrvj3x11rja24x",
-  "fetcher": "bitbucket",
-  "repo": "seanfarley/erc-hipchatify",
-  "unstable": {
-   "version": [
-    20170314,
-    1637
-   ],
-   "deps": [
-    "alert",
-    "request",
-    "s"
-   ],
-   "commit": "a532275136920aa1a66a1817cfc5880a01974dab",
-   "sha256": "0av0y65hz7fbiiqzmk5mmw6jv7fivhcd1w3s2xn5y5jpgps56mrc"
+   "commit": "2a597b39a929f6dff2b7da6439fcee6d2b25d3e6",
+   "sha256": "0jgkhwfgvy8lw6mws1m44vzh16514xxv34fivghc8kzn5w5ghwv7"
   }
  },
  {
@@ -24604,8 +25211,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "07ae21ff7102a8d2c2f088387e114d5b49ff9b34",
-   "sha256": "1mlzgn53ngswjn7vdinnrmhji9jxs5nyqlvb6xm6cznkn97xiy2a"
+   "commit": "bc86b9f63a3e7a5eb263875030d0e15d6f5f6e37",
+   "sha256": "1a3vvdlld66x0j3i7plhc0fm6mkj64mvd375j8g65nvfn6cwc3h4"
   },
   "stable": {
    "version": [
@@ -24710,27 +25317,20 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20190404,
-    928
+    20191219,
+    1238
    ],
-   "commit": "70a3e70ce4fec9e5d79929aa28aecf4a81980322",
-   "error": [
-    "exited abnormally with code 1\n",
-    "",
-    "unpacking...\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping1P12subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping1P1CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping1P1subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping1P1subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping5CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping5subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping5subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/inhibitPolicyMapping5subsubsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/keyUsageCriticalcRLSignFalseCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/keyUsageCriticalkeyCertSignFalseCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/keyUsageNotCriticalCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/keyUsageNotCriticalcRLSignFalseCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN1CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN1subCA1CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN1subCA2CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN1subCA3CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN2CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN3CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN3subCA1CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN3subCA2CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN4CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDN5CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDNS1CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsDNS2CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsRFC822CA1CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsRFC822CA2CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsRFC822CA3CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsURI1CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/nameConstraintsURI2CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlyContainsAttributeCertsCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlyContainsCACertsCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlyContainsUserCertsCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA1compromiseCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA1otherreasonsCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA2CRL1.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA2CRL2.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA3compromiseCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA3otherreasonsCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA4compromiseCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/onlySomeReasonsCA4otherreasonsCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint0CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint0subCA2CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint0subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint1CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint1subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subCA0CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subCA1CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subCA4CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subsubCA00CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subsubCA11CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subsubCA41CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subsubsubCA11XCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pathLenConstraint6subsubsubCA41XCRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/pre2000CRLnextUpdateCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy0CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy0subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy0subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy0subsubsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy10CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy10subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy10subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy10subsubsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy2CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy2subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy4CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy4subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy4subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy4subsubsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy5CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy5subCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy5subsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy5subsubsubCACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy7CACRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy7subCARE2CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy7subsubCARE2RE4CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/AllCertificatesNoPoliciesTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/AllCertificatesSamePoliciesTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/AllCertificatesSamePoliciesTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/AllCertificatesanyPolicyTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/AnyPolicyTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BadCRLIssuerNameCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BadCRLSignatureCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BadSignedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BadnotAfterDateCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BadnotBeforeDateCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedCRLSigningKeyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedCRLSigningKeyCRLCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedNewKeyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedNewKeyOldWithNewCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedOldKeyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/BasicSelfIssuedOldKeyNewWithOldCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/CPSPointerQualifierTest20EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DSACACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DSAParametersInheritedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/DifferentPoliciesTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/GeneralizedTimeCRLnextUpdateCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/GoodCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/GoodsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/GoodsubCAPanyPolicyMapping1to2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBadCRLIssuerNameTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBadCRLSignatureTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBasicSelfIssuedNewWithOldTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidBasicSelfIssuedOldWithNewTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidCASignatureTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidCAnotAfterDateTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidCAnotBeforeDateTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNSnameConstraintsTest31EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNSnameConstraintsTest33EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNSnameConstraintsTest38EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNandRFC822nameConstraintsTest28EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNandRFC822nameConstraintsTest29EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest15EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest16EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest17EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest20EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDNnameConstraintsTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidDSASignatureTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidEESignatureTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidEEnotAfterDateTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidEEnotBeforeDateTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidIDPwithindirectCRLTest23EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidIDPwithindirectCRLTest26EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidLongSerialNumberTest18EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidMappingFromanyPolicyTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidMappingToanyPolicyTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidMissingCRLTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidMissingbasicConstraintsTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidNameChainingOrderTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidNameChainingTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidNegativeSerialNumberTest15EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidOldCRLnextUpdateTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidPolicyMappingTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidPolicyMappingTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidPolicyMappingTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidRFC822nameConstraintsTest22EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidRFC822nameConstraintsTest24EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidRFC822nameConstraintsTest26EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidRevokedCATest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidRevokedEETest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitAnyPolicyTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitAnyPolicyTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitPolicyMappingTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitPolicyMappingTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitPolicyMappingTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedinhibitPolicyMappingTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedpathLenConstraintTest16EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedrequireExplicitPolicyTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSelfIssuedrequireExplicitPolicyTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSeparateCertificateandCRLKeysTest20EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidSeparateCertificateandCRLKeysTest21EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidURInameConstraintsTest35EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidURInameConstraintsTest37EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidUnknownCRLEntryExtensionTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidUnknownCRLExtensionTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidUnknownCRLExtensionTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidUnknownCriticalCertificateExtensionTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidWrongCRLTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcAFalseTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcAFalseTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcRLIssuerTest27EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcRLIssuerTest31EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcRLIssuerTest32EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcRLIssuerTest34EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidcRLIssuerTest35EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLIndicatorNoBaseTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddeltaCRLTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddistributionPointTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddistributionPointTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddistributionPointTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddistributionPointTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvaliddistributionPointTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitAnyPolicyTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitAnyPolicyTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitAnyPolicyTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitAnyPolicyTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitPolicyMappingTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitPolicyMappingTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitPolicyMappingTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidinhibitPolicyMappingTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidkeyUsageCriticalcRLSignFalseTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlyContainsAttributeCertsTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlyContainsCACertsTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlyContainsUserCertsTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlySomeReasonsTest15EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlySomeReasonsTest16EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlySomeReasonsTest17EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlySomeReasonsTest20EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidonlySomeReasonsTest21EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidpathLenConstraintTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/Invalidpre2000CRLnextUpdateTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/Invalidpre2000UTCEEnotAfterDateTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidrequireExplicitPolicyTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/InvalidrequireExplicitPolicyTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/LongSerialNumberCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/Mapping1to2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/MappingFromanyPolicyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/MappingToanyPolicyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/MissingbasicConstraintsCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/NameOrderingCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/NegativeSerialNumberCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/NoCRLCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/NoPoliciesCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/NoissuingDistributionPointCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/OldCRLnextUpdateCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/OverlappingPoliciesTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P12Mapping1to3CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P12Mapping1to3subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P12Mapping1to3subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P1Mapping1to234CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P1Mapping1to234subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/P1anyPolicyMapping1to2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PanyPolicyMapping1to2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP1234CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP1234subCAP123Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP1234subsubCAP123P12Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP123CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP123subCAP12Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP123subsubCAP12P1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP123subsubCAP12P2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP123subsubsubCAP12P2P1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP12CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP12subCAP1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP12subsubCAP1P2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP2subCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP2subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/PoliciesP3CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RFC3280MandatoryAttributeTypesCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RFC3280OptionalAttributeTypesCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RevokedsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RolloverfromPrintableStringtoUTF8StringCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/SeparateCertificateandCRLKeysCA2CRLSigningCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/SeparateCertificateandCRLKeysCRLSigningCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/SeparateCertificateandCRLKeysCertificateSigningCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/TrustAnchorRootCertificate.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/TwoCRLsCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UIDCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UTF8StringCaseInsensitiveMatchCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UTF8StringEncodedNamesCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UnknownCRLEntryExtensionCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UnknownCRLExtensionCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UserNoticeQualifierTest15EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UserNoticeQualifierTest16EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UserNoticeQualifierTest17EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UserNoticeQualifierTest18EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/UserNoticeQualifierTest19EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidBasicSelfIssuedCRLSigningKeyTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidBasicSelfIssuedNewWithOldTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidBasicSelfIssuedNewWithOldTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidBasicSelfIssuedOldWithNewTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidCertificatePathTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNSnameConstraintsTest30EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNSnameConstraintsTest32EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNandRFC822nameConstraintsTest27EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest18EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest19EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDNnameConstraintsTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDSAParameterInheritanceTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidDSASignaturesTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidGeneralizedTimeCRLnextUpdateTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidGeneralizedTimenotAfterDateTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidGeneralizedTimenotBeforeDateTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidIDPwithindirectCRLTest22EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidIDPwithindirectCRLTest24EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidIDPwithindirectCRLTest25EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidLongSerialNumberTest16EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidLongSerialNumberTest17EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNameChainingCapitalizationTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNameChainingWhitespaceTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNameChainingWhitespaceTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNameUIDsTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNegativeSerialNumberTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidNoissuingDistributionPointTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest12EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidPolicyMappingTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRFC3280MandatoryAttributeTypesTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRFC3280OptionalAttributeTypesTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRFC822nameConstraintsTest21EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRFC822nameConstraintsTest23EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRFC822nameConstraintsTest25EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedinhibitAnyPolicyTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedinhibitAnyPolicyTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedinhibitPolicyMappingTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedpathLenConstraintTest15EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedpathLenConstraintTest17EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSelfIssuedrequireExplicitPolicyTest6EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidSeparateCertificateandCRLKeysTest19EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidTwoCRLsTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidURInameConstraintsTest34EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidURInameConstraintsTest36EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidUTF8StringCaseInsensitiveMatchTest11EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidUTF8StringEncodedNamesTest9EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidUnknownNotCriticalCertificateExtensionTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidbasicConstraintsNotCriticalTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidcRLIssuerTest28EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidcRLIssuerTest29EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidcRLIssuerTest30EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidcRLIssuerTest33EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddeltaCRLTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddeltaCRLTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddeltaCRLTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddeltaCRLTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddistributionPointTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddistributionPointTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddistributionPointTest5EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValiddistributionPointTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidinhibitAnyPolicyTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidinhibitPolicyMappingTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidinhibitPolicyMappingTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidkeyUsageNotCriticalTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidonlyContainsCACertsTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidonlySomeReasonsTest18EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidonlySomeReasonsTest19EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidpathLenConstraintTest13EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidpathLenConstraintTest14EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidpathLenConstraintTest7EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidpathLenConstraintTest8EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/Validpre2000UTCnotBeforeDateTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidrequireExplicitPolicyTest1EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidrequireExplicitPolicyTest2EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/ValidrequireExplicitPolicyTest4EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/WrongCRLCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/anyPolicyCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/basicConstraintsCriticalcAFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/basicConstraintsNotCriticalCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/basicConstraintsNotCriticalcAFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/deltaCRLCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/deltaCRLCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/deltaCRLCA3Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/deltaCRLIndicatorNoBaseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/distributionPoint1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/distributionPoint2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA3Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA3cRLIssuerCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA4Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA4cRLIssuerCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA5Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/indirectCRLCA6Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy0CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1SelfIssuedsubCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1subCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1subCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1subCAIAP5Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy1subsubCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy5CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy5subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicy5subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitAnyPolicyTest3EE.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping0CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping0subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P12CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P12subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P12subCAIPM5Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P12subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P12subsubCAIPM5Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P1SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P1SelfIssuedsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P1subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping1P1subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping5CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping5subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping5subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/inhibitPolicyMapping5subsubsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/keyUsageCriticalcRLSignFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/keyUsageCriticalkeyCertSignFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/keyUsageNotCriticalCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/keyUsageNotCriticalcRLSignFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/keyUsageNotCriticalkeyCertSignFalseCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN1SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN1subCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN1subCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN1subCA3Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN3CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN3subCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN3subCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN4CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDN5CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDNS1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsDNS2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsRFC822CA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsRFC822CA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsRFC822CA3Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsURI1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/nameConstraintsURI2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlyContainsAttributeCertsCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlyContainsCACertsCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlyContainsUserCertsCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlySomeReasonsCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlySomeReasonsCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlySomeReasonsCA3Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/onlySomeReasonsCA4Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint0CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint0SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint0subCA2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint0subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint1CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint1SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint1SelfIssuedsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint1subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subCA0Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subCA1Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subCA4Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subsubCA00Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subsubCA11Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subsubCA41Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subsubsubCA11XCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pathLenConstraint6subsubsubCA41XCert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/pre2000CRLnextUpdateCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy0CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy0subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy0subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy0subsubsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy10CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy10subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy10subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy10subsubsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy2CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy2SelfIssuedCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy2SelfIssuedsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy2subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy4CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy4subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy4subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy4subsubsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy5CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy5subCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy5subsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy5subsubsubCACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy7CACert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy7subCARE2Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy7subsubCARE2RE4Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/requireExplicitPolicy7subsubsubCARE2RE4Cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key.cover: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key.spec: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/auth_keys: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/cacerts.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/client_cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/client_key.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/crl_signer.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/dh.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/dsa.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/dsa_ISO.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/dsa_key_pkcs8.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/dsa_pub.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_key.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_key2.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_key_param0.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_key_param1.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_key_pkcs8.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ec_pubkey.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/idp_cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/idp_crl.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/known_hosts: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/openssh_dsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/openssh_dsa_with_comment_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/openssh_ecdsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/openssh_rsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/pkcs7_cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/pkcs7_ext.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/pkix_verify_hostname_cn.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/pkix_verify_hostname_subjAltName.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/pkix_verify_hostname_subjAltName_IP.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/req.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/rsa.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/rsa_ISO.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/rsa_key_pkcs8.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/rsa_pub.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/rsa_pub_key.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/server_cert.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/server_key.pem: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh1_auth_keys: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh1_known_hosts: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_dsa_comment_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_dsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_ecdsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_rsa_comment_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_rsa_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh2_subject_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh_rsa_long_comment_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/ssh_rsa_long_header_pub: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/verify_hostname.conf: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/test/public_key_SUITE_data/verify_hostname_ip.conf: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/public_key/vsn.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/AUTHORS: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/bin/reltool.escript: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/files.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/reltool.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/reltool_examples.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/reltool_intro.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/doc/src/reltool_usage.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/examples/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/examples/display_args: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/examples/mnesia_core_dump_viewer: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/info: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/files.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool.app.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool.appup.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_app_win.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_fgraph.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_fgraph.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_fgraph_win.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_mod_win.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_sys_win.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_target.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/src/reltool_utils.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/README: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool.cover: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool.spec: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_app_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/Makefile.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/x-1.0/ebin/x.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/x-1.0/src/x1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/x-1.0/src/x2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/x-1.0/src/x3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/y-1.0/ebin/y.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/y-1.0/src/y1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/y-1.0/src/y2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/y-1.0/src/y3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/z-1.0/ebin/z.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/dependencies/z-1.0/src/z1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/faulty_app_file/a-1.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/faulty_app_file/a-1.0/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_manual_gui_SUITE_data/faulty_app_file/a-1.0/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/Makefile.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/x-1.0/ebin/x.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/x-1.0/src/x1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/y-1.0/ebin/y.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/y-1.0/src/y1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/z-1.0/ebin/z.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dep_in_app_not_xref/z-1.0/src/z1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/x-1.0/ebin/x.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/x-1.0/src/x1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/x-1.0/src/x2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/x-1.0/src/x3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/y-1.0/ebin/y.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/y-1.0/src/y0.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/y-1.0/src/y1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/y-1.0/src/y2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/z-1.0/ebin/z.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dependencies/z-1.0/src/z1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/dupl_mod/a-1.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/escript/someapp-1.0/ebin/someapp.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/escript/someapp-1.0/src/mymod.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/faulty_app_file/a-1.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/faulty_app_file/a-1.0/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/faulty_app_file/a-1.0/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/non_standard_vsn_id/b-first/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/non_standard_vsn_id/b-first/src/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/non_standard_vsn_id/b-second/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/non_standard_vsn_id/b-second/src/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/x-1.0/ebin/x.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/x-1.0/src/mylib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/x-1.0/src/x.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/y-1.0/ebin/y.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/y-1.0/src/mylib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/otp_9229/y-1.0/src/y.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/slim/a-1.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/slim/a-1.0/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/slim/a-1.0/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/sort_apps/x-1.0/ebin/x.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/sort_apps/y-1.0/ebin/y.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/sort_apps/z-1.0/ebin/z.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/unicode/ua-1.0/ebin/ua.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/b-1.0/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/b-1.0/src/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/b-3.0/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/b-3.0/src/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/lib2/b-2.0/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_server_SUITE_data/use_selected_vsn/lib2/b-2.0/src/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_test_lib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_test_lib.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/reltool_wx_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/rtt: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/test/rtt.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/reltool/vsn.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/AUTHORS: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/Makefile.in: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/dtrace_user.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/dyntrace.c: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/dyntrace_lttng.h: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/trace_file_drv.c: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/c_src/trace_ip_drv.c: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/LTTng.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/dbg.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/dyntrace.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/erts_alloc_config.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/msacc.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/notes_history.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/runtime_tools_app.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/scheduler.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/specs.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/doc/src/system_information.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/dist.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/dist.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/driver1.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/driver1.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/function-calls.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/function-calls.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/garbage-collection.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/garbage-collection.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/memory1.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/memory1.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/messages.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/messages.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/port1.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/port1.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/process-scheduling.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/process-scheduling.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/spawn-exit.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/spawn-exit.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/user-probe-n.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/user-probe-n.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/user-probe.d: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/examples/user-probe.systemtap: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/include/observer_backend.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/info: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/appmon_info.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/dbg.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/dyntrace.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/erts_alloc_config.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/msacc.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/observer_backend.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/runtime_tools.app.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/runtime_tools.appup.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/runtime_tools.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/runtime_tools_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/scheduler.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/system_information.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/src/ttb_autostart.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dbg_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dbg_SUITE_data/Makefile.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dbg_SUITE_data/dbg_SUITE.c: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dbg_SUITE_data/dbg_test.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dbg_SUITE_data/exref_td.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dyntrace_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/dyntrace_lttng_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/erts_alloc_config_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/msacc_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/runtime_tools.cover: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/runtime_tools.spec: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/runtime_tools_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/scheduler_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/system_information_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/test/zzz_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/runtime_tools/vsn.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/AUTHORS: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/alarm_handler.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/appup.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/error_logging.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/notes_history.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rb.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/bar.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/bar.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/ge_h.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/ge_h.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/gs1.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/gs1.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/gs1.3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/gs2.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/gs2.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/lists2.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/lists2.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/portc.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/portc.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/sp.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/sp.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/sup.1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/rel/sup.2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/release_handler.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/relup.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/sasl_app.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/sasl_intro.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/script.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/doc/src/systools.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/examples/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/examples/src/target_system.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/info: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/alarm_handler.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/erlsrv.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/format_lib_supp.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/misc_supp.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/rb.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/rb_format_supp.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/release_handler.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/release_handler_1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl.app.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl.appup.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl_report.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl_report_file_h.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/sasl_report_tty_h.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools_lib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools_make.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools_rc.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/src/systools_relup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/alarm_handler_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/installer.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/rb_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/Makefile.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app1-1.0/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app1-1.0/src/app1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app1-1.0/src/app1_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app1-1.0/src/app1_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app2-1.0/ebin/app2.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app2-1.0/src/app2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app2-1.0/src/app2_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib1/app2-1.0/src/app2_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app1-2.0/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app1-2.0/ebin/app1.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app1-2.0/src/app1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app1-2.0/src/app1_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app1-2.0/src/app1_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app2-1.0/ebin/app2.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app2-1.0/src/app2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app2-1.0/src/app2_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib2/app2-1.0/src/app2_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib3/app1-3.0/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib3/app1-3.0/ebin/app1.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib3/app1-3.0/src/app1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib3/app1-3.0/src/app1_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib3/app1-3.0/src/app1_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib4/app1-4.0/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib4/app1-4.0/ebin/app1.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib4/app1-4.0/src/app1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib4/app1-4.0/src/app1_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/app1_app2/lib4/app1-4.0/src/app1_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/c/aa.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/c/b.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/c/c.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/c/c_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/erl.ini.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/heart_restart.bat: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/README: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.0/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.0/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.1/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.1/ebin/a.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.1/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.1/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.2/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.2/ebin/a.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.2/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-1.2/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.0/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.0/ebin/a.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.0/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.0/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.1/ebin/a.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.1/ebin/a.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.1/src/a.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/a-9.1/src/a_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-1.0/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-1.0/src/b_lib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-1.0/src/b_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-2.0/ebin/b.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-2.0/ebin/b.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-2.0/src/b_lib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/b-2.0/src/b_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/installer-1.0/ebin/installer.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/ebin/many_mods.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m10.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m4.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m5.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m6.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m7.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m8.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.0/src/m9.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/ebin/many_mods.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/ebin/many_mods.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m10.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m4.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m5.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m6.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m7.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m8.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-1.1/src/m9.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-2.0/ebin/many_mods.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-2.0/ebin/many_mods.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/lib/many_mods-2.0/src/m.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/otp_2740/vsn_atom.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/otp_2740/vsn_list.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/otp_2740/vsn_numeric.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/otp_2740/vsn_string.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/otp_2740/vsn_tuple.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/regexp_appup/app1/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/regexp_appup/app1/ebin/app1.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/release_handler_timeouts/dummy-0.1/ebin/dummy.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/release_handler_timeouts/dummy-0.1/src/dummy_app.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/release_handler_timeouts/dummy-0.1/src/dummy_server.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/release_handler_timeouts/dummy-0.1/src/dummy_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/release_handler_timeouts/dummy-0.1/src/dummy_sup_2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/start: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/start_client: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.0/ebin/u.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.0/src/u.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.0/src/u_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.1/ebin/u.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.1/ebin/u.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.1/src/u.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/release_handler_SUITE_data/unicode/u-1.1/src/u_sup.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/rh_test_lib.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/sasl.cover: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/sasl.spec: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/sasl_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/sasl_report_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/sasl_report_suite_supervisor.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/db-2.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/db-2.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/db-2.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/db-2.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/fe-3.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/fe-3.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_app_vsn/lib/fe-3.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_appup/lib/fe-2.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_appup/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_appup/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/db-2.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/db-2.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/db-2.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/db-2.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/fe-3.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/fe-3.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_bad_mod+warn/lib/fe-3.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_duplicate_modules/lib/app1-1.0/ebin/app1.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_duplicate_modules/lib/app1-1.0/src/myapp.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_duplicate_modules/lib/app2-1.0/ebin/app2.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_duplicate_modules/lib/app2-1.0/src/myapp.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/db-2.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/db-2.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/db-2.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/db-2.1/src/db3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/fe-3.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/fe-3.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_links/lib/fe-3.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/db-2.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/db-2.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/db-2.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/db-2.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/fe-3.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/fe-3.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_missing_src/lib/fe-3.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_no_appup/lib/fe-2.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_no_appup/lib/fe-2.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_no_appup/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_no_appup/lib/fe-500.18.7/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.0/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.0/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.0/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-1.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-2.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-2.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-2.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-2.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-3.1/ebin/db.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-3.1/ebin/db.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-3.1/src/db1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/db-3.1/src/db2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-2.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-3.1/src/fe1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-3.1/src/fe2.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_normal/lib/fe-3.1/src/fe3.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_regexp_appup/lib/fe-2.1.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_regexp_appup/lib/fe-2.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_regexp_appup/lib/fe-3.1/ebin/fe.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_regexp_appup/lib/fe-3.1/ebin/fe.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_unicode/lib/ua-1.0/ebin/ua.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/d_unicode/lib/ua-1.0/src/ua1.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/kernel/ebin/kernel.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/kernel/ebin/kernel.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/sasl-9.9/ebin/sasl.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/sasl-9.9/ebin/sasl.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/sasl/ebin/sasl.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/sasl/ebin/sasl.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/stdlib/ebin/stdlib.app: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_SUITE_data/lib/stdlib/ebin/stdlib.appup: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/systools_rc_SUITE.erl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/test/test_lib.hrl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/sasl/vsn.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/AUTHORS: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/bin/snmp-v2tov1.pl: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/bin/snmp-v2tov1.sed: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/bin/snmp-v2tov1.src: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/configure.in: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/MIB_mechanism.fig: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/MIB_mechanism.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/files.mk: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/getnext1.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/getnext2.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/getnext3.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/getnext4.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/notes_history.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp-um-1-image-1.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp-um-1-image-2.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp-um-1-image-3.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp-um-1-image-8.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_advanced_agent.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_agent_config_files.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_agent_funct_descr.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_agent_netif.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_agent_netif_1.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_app.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_app_a.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_app_b.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_audit_trail_log.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_community_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_config.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_def_instr_functions.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_framework_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_generic.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_impl_example_agent.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_impl_example_manager.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_index.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_instr_functions.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_intro.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_manager_config_files.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_manager_funct_descr.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_manager_netif.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_manager_netif_1.gif: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_mib_compiler.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_notification_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_pdus.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_standard_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_target_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_user_based_sm_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmp_view_based_acm_mib.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_conf.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_discovery_handler.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_error.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_error_io.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_error_logger.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_error_report.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_local_db.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_mib_data.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_mib_storage.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_mpd.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_network_interface.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_network_interface_filter.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_notification_delivery_info_receiver.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_notification_filter.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpa_supervisor.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpc.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpc_cmd.xml: Cannot write: No space left on device\ntar: otp-70a3e70ce4fec9e5d79929aa28aecf4a81980322/lib/snmp/doc/src/snmpm.xml: Cannot write: No space left on device\ntar: Exiting with failure status due to previous errors\nerror: program 'tar' failed with exit code 2\n"
-   ]
+   "commit": "52412c598ad67786032d17762e8655ad3d6771b5",
+   "sha256": "19d3whdfi21a0mlvgls549s8j3ygcmrw2sk7m36vpqf17k6059fw"
   },
   "stable": {
    "version": [
     22,
+    2,
     1
    ],
-   "commit": "e62a389ce5dd27e7b26802243a5565ffd1feaef0",
-   "error": [
-    "exited abnormally with code 1\n",
-    "",
-    "unpacking...\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/erl_syntax_lib.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/erl_tidy.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/igor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/merl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/merl_tests.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/merl_transform.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/prettypr.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/syntax_tools.app.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/src/syntax_tools.appup.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/merl_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools.cover: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools.spec: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/empty.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/erl_tidy_tilde.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/igor_type_specs.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/m1.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/m2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/specs_and_funs.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/syntax_tools_SUITE_test_module.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/syntax_tools_test.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/test/syntax_tools_SUITE_data/type_specs.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/syntax_tools/vsn.mk: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/AUTHORS: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/getting_started.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/introduction.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/tftp.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/doc/src/usersguide.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/info: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp.app.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp.appup.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_app.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_binary.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_engine.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_file.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_lib.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_logger.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/src/tftp_sup.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp.config: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp.cover: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp.spec: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp_bench.spec: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp_test_lib.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/test/tftp_test_lib.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tftp/vsn.mk: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/AUTHORS: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/Makefile.in: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/depend.mk: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/erl_memory.c: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/erl_memory_trace_block_table.c: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/c_src/erl_memory_trace_block_table.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/cover.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/cover_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/cprof.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/cprof_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/eprof.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/erlang_mode.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/erlang_mode_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/fprof.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/fprof_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/instrument.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/lcnt.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/lcnt_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/make.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/notes_history.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/ref_man.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/specs.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/tags.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/venn1.fig: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/venn1.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/venn2.fig: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/venn2.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/xref.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/doc/src/xref_chapter.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/AUTHORS: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/README: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-edoc.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-eunit.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-flymake.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-pkg.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-skels-old.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-skels.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-start.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang-test.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erlang_appwiz.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/erldoc.el: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/internal_doc/emacs.sgml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/tags.3: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/emacs/vsn.mk: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/examples/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/examples/xref_examples.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/info: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/priv/styles.css: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/cover.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/cprof.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/eprof.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/fprof.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/instrument.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/lcnt.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/make.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/tags.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/tools.app.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/tools.appup.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_base.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_compiler.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_parser.yrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_reader.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_scanner.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/src/xref_utils.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/a.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/b.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/cc.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/crypt.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/d/y.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/t.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/v.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/w.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/x.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/compile_beam/z.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/d.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/d1/e.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/f.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/include_eunit_hrl/cover_inc_eunit.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/included_functions/cover_inc.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/included_functions/cover_inc.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/otp_11439/t.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/otp_6115/f1.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cover_SUITE_data/otp_6115/f2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cprof_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/cprof_SUITE_data/cprof_SUITE_test.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/comments: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/comprehensions: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/funcs: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/highlight: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/icr: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/macros: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/records: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/terms: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/try_catch: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emacs_SUITE_data/type_specs: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/emem_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/eprof_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/eprof_SUITE_data/ed.script: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/eprof_SUITE_data/eed.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/eprof_SUITE_data/eprof_suite_test.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/eprof_SUITE_data/eprof_test.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/fprof_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/fprof_SUITE_data/foo.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/fprof_SUITE_data/fprof_unicode.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/ignore_cores.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/instrument_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/lcnt_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/lcnt_SUITE_data/big_bang_40.lcnt: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/lcnt_SUITE_data/ehb_3_3_hist.lcnt: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/Emakefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/incl_src/test_incl2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test1.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test3.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test4.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test5.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test_incl.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/make_SUITE_data/test_incl1.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/prof_bench_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/prof_bench_SUITE_data/sofs_copy.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/tools.cover: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/tools.spec: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/tools.spec.win: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/tools_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/tools_bench.spec: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/depr_r9c.beam: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/dir/dir/dummy: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/fun_mfa_r14.beam: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/fun_mfa_r14.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/lib_test/cp.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/lib_test/lib1.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/lib_test/lib2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/lib_test/lib3.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/lib_test/t.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/md/x__x.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/md/y__y.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/read/read.beam.v1: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/read/read.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/rel2/lib/app1-1.0/ebin/dummy: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/rel2/lib/app1-1.1/ebin/dummy: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/rel2/lib/app2-1.1/ebin/dummy: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/rel2/x.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/rel2/y.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/update/x.erl.1: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/test/xref_SUITE_data/update/x.erl.2: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/tools/vsn.mk: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/AUTHORS: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/LICENSE.txt: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/README: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/README: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gen_util.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_doxygen.conf: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_gen.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_gen.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_gen_c.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_gen_erl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/gl_scan_doc.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/glapi.conf: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_doxygen.conf: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/added_func.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/bugs.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxEvtHandler.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxListCtrl.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxListCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxPrintout.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxPrintout.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxTreeCtrl.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxXmlResource.c_src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxXmlResource.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_extra/wxe_evth.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_gen.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_gen.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_gen_cpp.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wx_gen_erl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/api_gen/wxapi.conf: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/Makefile.in: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/egl_impl.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/egl_impl.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/gl_fdefs.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/gl_finit.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/gl_funcs.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/glu_finit.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/wxe_derived_dest.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/wxe_events.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/wxe_funcs.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/wxe_init.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/gen/wxe_macros.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_callback_impl.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_callback_impl.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_driver.c: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_driver.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_events.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_gl.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_gl.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_helpers.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_helpers.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_impl.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_impl.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_main.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_memory.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_ps_init.c: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_return.cpp: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_return.h: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/c_src/wxe_win32.rc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/config.mk.in: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/configure.in: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/overview.edoc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/book.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/notes.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/part.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/ref_man.xml.src: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/doc/src/specs.xml: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/demo.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/demo_html_tagger.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/erlang.png: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_aui.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_button.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_canvas.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_canvas_paint.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_choices.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_cursor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_dialogs.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_frame_utils.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_gauge.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_gl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_graphicsContext.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_grid.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_htmlWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_htmlWindow.html: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_listCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_notebook.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_pickers.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_popupMenu.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_radioBox.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_sashWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_sizers.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_slider.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_splitterWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_static.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_textCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/ex_treeCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/demo/image.jpg: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/copy.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/hello.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/hello2.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/menu.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/minimal.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/simple/sample.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/sudoku.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/sudoku.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/sudoku_board.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/sudoku_game.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/sudoku/sudoku_gui.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/appicon.ico: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/appicon.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/artprov.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/artprov.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/basicdlg.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/basicdlg.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/controls.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/controls.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/custclas.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/custclas.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/derivdlg.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/derivdlg.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/fileopen.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/filesave.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/frame.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/fuzzy.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/menu.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/platform.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/platform.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/quotes.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/resource.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/stop.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/throbber.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/toolbar.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/uncenter.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/uncenter.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/update.gif: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/variable.xpm: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/rc/variable.xrc: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/examples/xrc/xrc.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/include/gl.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/include/glu.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/include/wx.hrl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/info: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/prebuild.skip: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/priv/erlang-logo128.png: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/priv/erlang-logo32.png: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/priv/erlang-logo64.png: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/Makefile: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/gl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/glu.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAcceleratorEntry.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAcceleratorTable.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxActivateEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxArtProvider.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiDockArt.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiManager.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiManagerEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiNotebook.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiNotebookEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiPaneInfo.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiSimpleTabArt.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxAuiTabArt.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBitmap.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBitmapButton.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBitmapDataObject.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBoxSizer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBrush.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBufferedDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxBufferedPaintDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxButton.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCalendarCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCalendarDateAttr.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCalendarEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCaret.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCheckBox.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCheckListBox.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxChildFocusEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxChoice.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxChoicebook.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxClientDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxClipboard.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxClipboardTextEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCloseEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxColourData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxColourDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxColourPickerCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxColourPickerEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxComboBox.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCommandEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxContextMenuEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxControl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxControlWithItems.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxCursor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDCOverlay.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDataObject.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDateEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDatePickerCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDirDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDirPickerCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDisplay.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDisplayChangedEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxDropFilesEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxEraseEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxEvtHandler.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFileDataObject.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFileDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFileDirPickerEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFilePickerCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFindReplaceData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFindReplaceDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFlexGridSizer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFocusEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFont.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFontData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFontDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFontPickerCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFontPickerEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxFrame.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGBSizerItem.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGCDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGLCanvas.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGauge.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGenericDirCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsBrush.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsContext.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsFont.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsMatrix.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsObject.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsPath.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsPen.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGraphicsRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGrid.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridBagSizer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellAttr.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellBoolEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellBoolRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellChoiceEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellFloatEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellFloatRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellNumberEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellNumberRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellStringRenderer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridCellTextEditor.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxGridSizer.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxHelpEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxHtmlEasyPrinting.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxHtmlLinkEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxHtmlWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxIcon.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxIconBundle.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxIconizeEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxIdleEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxImage.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxImageList.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxInitDialogEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxJoystickEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxKeyEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxLayoutAlgorithm.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListBox.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListCtrl.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListItem.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListItemAttr.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListView.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxListbook.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxLocale.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxLogNull.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMDIChildFrame.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMDIClientWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMDIParentFrame.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMask.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMaximizeEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMemoryDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMenu.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMenuBar.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMenuEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMenuItem.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMessageDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMiniFrame.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMirrorDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMouseCaptureChangedEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMouseCaptureLostEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMouseEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMoveEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxMultiChoiceDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxNavigationKeyEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxNotebook.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxNotebookEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxNotifyEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxOverlay.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPageSetupDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPageSetupDialogData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPaintDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPaintEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPalette.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPaletteChangedEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPanel.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPasswordEntryDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPen.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPickerBase.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPopupTransientWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPopupWindow.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPostScriptDC.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPreviewCanvas.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPreviewControlBar.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPreviewFrame.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrintData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrintDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrintDialogData.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrintPreview.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrinter.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxPrintout.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxProgressDialog.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxQueryNewPaletteEvent.erl: Cannot write: No space left on device\ntar: otp-e62a389ce5dd27e7b26802243a5565ffd1feaef0/lib/wx/src/gen/wxRadioBox.erl: Cannot write: No space left on device\ntar: Exiting with failure status due to previous errors\nerror: program 'tar' failed with exit code 2\n"
-   ]
+   "commit": "4583b137e585e59a3fc7020b781911a6927187a2",
+   "sha256": "070l0c40jwaq2s19mklq7459a0gd9v81q29xga39rbkv6diqcdq0"
   }
  },
  {
@@ -24783,11 +25383,11 @@
   "repo": "rejeep/ert-async.el",
   "unstable": {
    "version": [
-    20151011,
-    1359
+    20200105,
+    1031
    ],
-   "commit": "f64a7ed5b0d2900c9a3d8cc33294bf8a79bc8526",
-   "sha256": "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"
+   "commit": "948cf2faa10e085bda3739034ca5ea1912893433",
+   "sha256": "1ixkh6bghrg1criczhdvr9igjcdsijadaqvywyjj6bfwd8ql5x39"
   },
   "stable": {
    "version": [
@@ -24941,8 +25541,8 @@
   "repo": "dakrone/es-mode",
   "unstable": {
    "version": [
-    20190512,
-    1216
+    20191119,
+    2018
    ],
    "deps": [
     "cl-lib",
@@ -24951,8 +25551,8 @@
     "s",
     "spark"
    ],
-   "commit": "8de1452e1b9181a4f6778c0aaefc011aef58b25d",
-   "sha256": "0p9k30a1ar9hpw63cxr46afk7l3b7j79jpgrjcpsicd17rhjbcs8"
+   "commit": "9e5bcb290b38d5bd143e0ee480ed49147cfd3504",
+   "sha256": "13f7s8hk5d3psxp4qzzsqnwawsjj59cmjhmg1zi2c90qhvna78vn"
   },
   "stable": {
    "version": [
@@ -25220,15 +25820,15 @@
   "repo": "xuchunyang/eshell-git-prompt",
   "unstable": {
    "version": [
-    20170909,
-    1452
+    20200103,
+    1444
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "b6bb2d7bd4e393b4170b29891cfefb72ae020aab",
-   "sha256": "02i00an9wa8ns66xq900la68m7pd4hwv95g83cvf22bypivx7p2y"
+   "commit": "5a73993f351e89255538f60ae546511362a49c91",
+   "sha256": "1ja2nfq266mnr1iqyl8g7180xmpi563fjh17xc4fhizhfvp650ai"
   },
   "stable": {
    "version": [
@@ -25246,25 +25846,25 @@
  },
  {
   "ename": "eshell-prompt-extras",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "0zkdb9a8dibk832b5hzb6wjich3l0lah5p64805rgd4qskzj10gx",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "1k0cig7chdm349bp6rz9z105njs9bxicnpkcm4v0nrnk59ynj2h6",
   "fetcher": "github",
-  "repo": "kaihaosw/eshell-prompt-extras",
+  "repo": "zwild/eshell-prompt-extras",
   "unstable": {
    "version": [
-    20181229,
-    1418
+    20191104,
+    1230
    ],
-   "commit": "5a328e1b9112c7f31ce2da7cde340f96626546b6",
-   "sha256": "0fwlvrzjygs12dcp89wy3rb3wa03mrvbzpmpvmz4x6dfpr7csznk"
+   "commit": "356a540f9365b2f37f8a8cfb9c0e0e1994d12f4a",
+   "sha256": "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"
   },
   "stable": {
    "version": [
-    0,
-    96
+    1,
+    0
    ],
-   "commit": "7581c109673c40aceff278cd524273f50ffe170d",
-   "sha256": "1m1jisjz974cfz89i6l2zq666yzhsqipc6dmqlrm8mw81fxsfm1h"
+   "commit": "356a540f9365b2f37f8a8cfb9c0e0e1994d12f4a",
+   "sha256": "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"
   }
  },
  {
@@ -25275,14 +25875,14 @@
   "repo": "4DA/eshell-toggle",
   "unstable": {
    "version": [
-    20190526,
-    1452
+    20200107,
+    2230
    ],
    "deps": [
     "dash"
    ],
-   "commit": "2eb91974047f5caf8df3bf3af5014be2cc95ddac",
-   "sha256": "1iblhp0jvki2lm1jg1g93r3zvxvpjv3pi0xssivypq3bpy22v6cr"
+   "commit": "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033",
+   "sha256": "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"
   }
  },
  {
@@ -25317,26 +25917,25 @@
   "repo": "xuchunyang/eshell-z",
   "unstable": {
    "version": [
-    20190823,
-    2341
+    20191116,
+    333
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ee30761bd368df5f2e55c744ccc44089c7a46b6d",
-   "sha256": "0ywwvm1xx0p2iqzqmbb908147l8zlyf7gqsz0mgrzj0amqx1rhg2"
+   "commit": "337cb241e17bd472bd3677ff166a0800f684213c",
+   "sha256": "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"
   },
   "stable": {
    "version": [
     0,
-    3,
-    2
+    4
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "96ec3f5f8a801c893d2c6a6b140e333ef2bfd8b5",
-   "sha256": "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"
+   "commit": "337cb241e17bd472bd3677ff166a0800f684213c",
+   "sha256": "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"
   }
  },
  {
@@ -25521,14 +26120,14 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20190917,
-    917
+    20200103,
+    915
    ],
    "deps": [
     "julia-mode"
    ],
-   "commit": "8b48aae3567e7af6d8a84dfe3b017cb099d3414d",
-   "sha256": "0b8n2f7lkgxr498106lhwcldvq0xjhbxmh3xqgy4jp8v0rhh6rli"
+   "commit": "2812b85880807e5da35dbf2e69fc1b577f2ad7f4",
+   "sha256": "055chn6vln1hg9r5fkzddk92c7y2ha42symzkkn0smpwjr12niry"
   },
   "stable": {
    "version": [
@@ -25760,6 +26359,24 @@
   }
  },
  {
+  "ename": "eterm-fn",
+  "commit": "a1955059915511fd16c2d671c262dde47adf724a",
+  "sha256": "1v4kpix16a07i95lcryj65ln0l31vs9k7jfnmdyrpsf7q2mw7z0j",
+  "fetcher": "github",
+  "repo": "oitofelix/eterm-fn",
+  "unstable": {
+   "version": [
+    20191010,
+    2331
+   ],
+   "deps": [
+    "term"
+   ],
+   "commit": "66f3b2f6308fa2ac4d8a32be5a7e35a96e08a9ee",
+   "sha256": "1vw2ha3x2yfkb20g9hfppkrb3mp9r07shb65wsf1b99mw8m22xwi"
+  }
+ },
+ {
   "ename": "ethan-wspace",
   "commit": "9454f3a58e3416fa60d8411b0db19c408935408f",
   "sha256": "0k4kqkf5c6ysyhh1vpi9v4220yxm5ir3ippq2gmvvhnk77pg6hws",
@@ -25826,16 +26443,16 @@
   "repo": "kaz-yos/eval-in-repl",
   "unstable": {
    "version": [
-    20171122,
-    1343
+    20191116,
+    1107
    ],
    "deps": [
     "ace-window",
     "dash",
     "paredit"
    ],
-   "commit": "fea05a5b81d74ac53cb2a83aa83a73d9526bcc42",
-   "sha256": "0xm1ggdaihy1cyg4b3b9x1n93bp4qiv30p1mfzmmqm6w89z1agf0"
+   "commit": "0fe2d3fa0fd1739ec096f149dc067b586e05c75c",
+   "sha256": "0gswgn99pqikw44mp4v6b4bxvh6bj132gq5x3swvkmi3f56l0bry"
   },
   "stable": {
    "version": [
@@ -25860,26 +26477,26 @@
   "repo": "hchbaw/eval-sexp-fu.el",
   "unstable": {
    "version": [
-    20190109,
-    809
+    20191128,
+    825
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e1d7165383c941b3f11c2715707adc3d91d129a0",
-   "sha256": "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"
+   "commit": "36d2fe3bcf602e15ca10a7f487da103515ef391a",
+   "sha256": "19rv0kwajq0j8inglp84sml23ci74wdcvp5bl6zxbw5skqpf6phr"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e1d7165383c941b3f11c2715707adc3d91d129a0",
-   "sha256": "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"
+   "commit": "36d2fe3bcf602e15ca10a7f487da103515ef391a",
+   "sha256": "19rv0kwajq0j8inglp84sml23ci74wdcvp5bl6zxbw5skqpf6phr"
   }
  },
  {
@@ -25952,36 +26569,36 @@
  },
  {
   "ename": "evil",
-  "commit": "440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad",
-  "sha256": "1d36r6mi5nvrwnk4a9338wmhr72fcbrwj0r8gmvivpjdngjy4k39",
+  "commit": "69567536a89f0294726ae58f748386a8d336c55e",
+  "sha256": "0nbfhynlv213rjl6jh4lji1q94s99q4iv18mnd3x23r91sx7ssm3",
   "fetcher": "github",
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20190729,
-    704
+    20200103,
+    1756
    ],
    "deps": [
     "cl-lib",
     "goto-chg",
     "undo-tree"
    ],
-   "commit": "874beba2cb243c325eca08fb7badff567f3c9494",
-   "sha256": "1h7s3bapv7g1z87ygmrsisbjjzpwhbsds5ywj2srpifd4llrxa4m"
+   "commit": "d14a349fcf7acf429ab9aa5e0faf43c816559fe7",
+   "sha256": "0vpd3x5hwi3g8qi5r961cxffvg1r2q62f4dd8svzx0dlxvfpbr3i"
   },
   "stable": {
    "version": [
     1,
-    2,
-    14
+    12,
+    16
    ],
    "deps": [
     "cl-lib",
     "goto-chg",
     "undo-tree"
    ],
-   "commit": "3766a521a60e6fb0073220199425de478de759ad",
-   "sha256": "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"
+   "commit": "210316cbf9615ade96834e30352366985752f11e",
+   "sha256": "1nszhnl7j3pkdjxpzljqkaqr0c0xqpy97rwpbv6zb96qllallsmi"
   }
  },
  {
@@ -26161,28 +26778,30 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20190916,
-    214
+    20200105,
+    1846
    ],
    "deps": [
+    "annalist",
     "cl-lib",
     "evil"
    ],
-   "commit": "74e098f79cfb9e8e6391c526154d881c602a90ae",
-   "sha256": "1gqwb9i0iy08gsp8yg75gmcdxmis102jcr1nsfszjv4zrmhiswnm"
+   "commit": "815c127d020f8c45a17fe7b23dbd82240aaee390",
+   "sha256": "0djrhqvj3x75hj278qfz9pa2ikl4752yc8h0aslhkdvdfvs2nazv"
   },
   "stable": {
    "version": [
     0,
     0,
-    2
+    3
    ],
    "deps": [
+    "annalist",
     "cl-lib",
     "evil"
    ],
-   "commit": "986ca7eb0b75eccd843bdad2f7fdb48f4ca6ac22",
-   "sha256": "172sx5w50x5wrs5w0sb6rkbj3q22s7mmsnk4c6pwknhbz3vwlvwz"
+   "commit": "34d515e99e911f368b335bbccc026b71b42a9821",
+   "sha256": "1737dbwv8fa9kps340jsvjyz4gd5vjf3zrdzbvjcjh56ssvdaw2w"
   }
  },
  {
@@ -26374,15 +26993,15 @@
   "repo": "Dewdrops/evil-exchange",
   "unstable": {
    "version": [
-    20170511,
-    259
+    20191105,
+    255
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "47691537815150715e64e6f6ec79be7746c96120",
-   "sha256": "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"
+   "commit": "35dd0f0662789f043bd89a9f9801ffaf4318123f",
+   "sha256": "1wx8wpdgwhfgf5vykkjw2skbf6xhxmzj40vsq8dj5vhmiq4njw5k"
   }
  },
  {
@@ -26487,14 +27106,14 @@
   "repo": "edkolev/evil-goggles",
   "unstable": {
    "version": [
-    20181123,
-    1946
+    20200101,
+    1935
    ],
    "deps": [
     "evil"
    ],
-   "commit": "78454a7e8bd609edf0d93cb0a7f9ed576dd33546",
-   "sha256": "1yn72wmrda670h0bz3gdqh6k44ja60wkk9f4hijh9w1hw0vazk20"
+   "commit": "08a22058fd6a167f9f1b684c649008caef571459",
+   "sha256": "1p3vjrij63v9nrcyj3b5jsqzv9y7dgv9i1inx1q7x3s90vndavac"
   }
  },
  {
@@ -26693,15 +27312,15 @@
   "repo": "emacs-evil/evil-magit",
   "unstable": {
    "version": [
-    20190904,
-    1730
+    20200102,
+    1856
    ],
    "deps": [
     "evil",
     "magit"
    ],
-   "commit": "4b66a1db8285457147a5436f209391016a819ea1",
-   "sha256": "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"
+   "commit": "7223dca89c0b4bca9871c453a30a4d4edfdb444e",
+   "sha256": "1sp1l6p88dj6qpgcmh0caprq0vv6ps6kmqrakrm2kgdnirvzqign"
   },
   "stable": {
    "version": [
@@ -26755,14 +27374,14 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20190920,
-    58
+    20191023,
+    2322
    ],
    "deps": [
     "evil"
    ],
-   "commit": "1027459d44ced4daed84247770ce9ae2b5fd1993",
-   "sha256": "18824dx00w9wnbqsra3y18sxrr6r4vgj8h3mxa3n1dn14i72sjgm"
+   "commit": "11d98debf8b051b10068137668eb54c2fede0e30",
+   "sha256": "1jppiqz1mlmz9wnxmaymg15sz6j59kghhrv95r6hkv90zwdvbqvw"
   },
   "stable": {
    "version": [
@@ -26785,15 +27404,15 @@
   "repo": "gabesoft/evil-mc",
   "unstable": {
    "version": [
-    20190916,
-    348
+    20191202,
+    806
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "1cabb869fe70cef49f7dc06f015c3ade1a969c8c",
-   "sha256": "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"
+   "commit": "007d471e26b44e692250804f82f06ebbd27b6ec4",
+   "sha256": "1hkynxs42sh24dd842lskysrn0s37c22w2p6422miykczq6dgffi"
   },
   "stable": {
    "version": [
@@ -26856,16 +27475,16 @@
   "repo": "hlissner/evil-multiedit",
   "unstable": {
    "version": [
-    20190103,
-    715
+    20200103,
+    1006
    ],
    "deps": [
     "cl-lib",
     "evil",
     "iedit"
    ],
-   "commit": "cb35914ffabb4f65d22ab2f812ff6e7622cc5c26",
-   "sha256": "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"
+   "commit": "c3d43b1a65c193755dae2c41ce5c072c4c01b35d",
+   "sha256": "0nk5cg3ammn3mlymb093la8wab4jdzh3qhc15s1235vw3s47g6ag"
   },
   "stable": {
    "version": [
@@ -26890,20 +27509,20 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20190801,
-    148
+    20191231,
+    938
    ],
-   "commit": "7132693a4cc684dff232839fed45a8a54d832646",
-   "sha256": "0kw9ikdax8b55g19c61n8aznavzms61rqr6lwiw37dsc1589nr3k"
+   "commit": "a5555ff02a43ddc4b54ba38e19c5a233c3a0b304",
+   "sha256": "0rpgjmybkk47p0n4j02sipx16xvam6hhiich8y3n7qsznbq97pbi"
   },
   "stable": {
    "version": [
     3,
-    3,
-    8
+    4,
+    0
    ],
-   "commit": "f510a491c17192ce235bb7ce7589cacf99db8482",
-   "sha256": "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"
+   "commit": "a5555ff02a43ddc4b54ba38e19c5a233c3a0b304",
+   "sha256": "0rpgjmybkk47p0n4j02sipx16xvam6hhiich8y3n7qsznbq97pbi"
   }
  },
  {
@@ -26984,27 +27603,26 @@
   "repo": "Somelauw/evil-org-mode",
   "unstable": {
    "version": [
-    20180323,
-    2306
+    20200101,
+    2017
    ],
    "deps": [
     "evil"
    ],
-   "commit": "b6d652a9163d3430a9e0933a554bdbee5244bbf6",
-   "sha256": "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"
+   "commit": "9d4be14118bf27094a30dbff349b815f098aacbf",
+   "sha256": "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"
   },
   "stable": {
    "version": [
-    0,
     1,
-    1
+    0,
+    2
    ],
    "deps": [
-    "evil",
-    "org"
+    "evil"
    ],
-   "commit": "2d7c58dbeca0d4ac7b4eab5f47b77946951f27e9",
-   "sha256": "09l0ph9rc941kr718zq0dw27fq6l7rb0h2003ihw7q0a5yr8fpk7"
+   "commit": "9d4be14118bf27094a30dbff349b815f098aacbf",
+   "sha256": "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"
   }
  },
  {
@@ -27021,6 +27639,18 @@
    "deps": [
     "evil"
    ],
+   "commit": "93913d4e9b3a34973756d0c18803dde0ae52cb64",
+   "sha256": "1qn10lhy05ib9g8yc7cx18ca1hka94ni36fd98ixln6zqlwl6n78"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "deps": [
+    "evil"
+   ],
    "commit": "24c5f43df375194386344e69bc720ea3986c9510",
    "sha256": "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"
   }
@@ -27291,15 +27921,15 @@
   "repo": "hlissner/evil-snipe",
   "unstable": {
    "version": [
-    20180731,
-    1731
+    20200103,
+    923
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "8dd076cc56eb9b04494e4e303b86a959b048350b",
-   "sha256": "05zlmkyl1gms7pk2izh67j7xk4mb5y94jpyx63lg59yc391p5p07"
+   "commit": "3ec8adfd4990f95fa0fab2b7019ead3596857673",
+   "sha256": "0q689f52saky3rfap351n4bkjn0kpg7xkjias926affqpghywb1r"
   },
   "stable": {
    "version": [
@@ -27385,26 +28015,26 @@
   "repo": "emacs-evil/evil-surround",
   "unstable": {
    "version": [
-    20190403,
-    418
+    20191217,
+    1131
    ],
    "deps": [
     "evil"
    ],
-   "commit": "5ad01dfa86424c4b22cd1dfa375f13bd8c656f43",
-   "sha256": "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"
+   "commit": "9b0b17f06cef9bac81ee4800d121265e54718a17",
+   "sha256": "15v2spg5rhddr97pxjfvxj36sh7knp753a9qpw8v5zjnp65kf2kn"
   },
   "stable": {
    "version": [
     1,
-    0,
-    4
+    1,
+    0
    ],
    "deps": [
     "evil"
    ],
-   "commit": "5ad01dfa86424c4b22cd1dfa375f13bd8c656f43",
-   "sha256": "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"
+   "commit": "9b0b17f06cef9bac81ee4800d121265e54718a17",
+   "sha256": "15v2spg5rhddr97pxjfvxj36sh7knp753a9qpw8v5zjnp65kf2kn"
   }
  },
  {
@@ -27415,11 +28045,11 @@
   "repo": "wbolster/evil-swap-keys",
   "unstable": {
    "version": [
-    20170726,
-    1820
+    20191105,
+    1426
    ],
-   "commit": "56bc201e265a6bd482a7c41a7c81d2238341ef3a",
-   "sha256": "0n0hl0plaghz9rjssabxwfzm46kr6564hpfh6hn8lzla4rf1q5zs"
+   "commit": "b5ef105499f998b5667da40da30c073229a213ea",
+   "sha256": "1kawq9c64cmkdjy03sfppjn7g9anxnmds3ip7cgj1j0yym0glyfq"
   },
   "stable": {
    "version": [
@@ -27476,26 +28106,26 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20190104,
-    1026
+    20191218,
+    852
    ],
    "deps": [
     "evil"
    ],
-   "commit": "874beba2cb243c325eca08fb7badff567f3c9494",
-   "sha256": "1h7s3bapv7g1z87ygmrsisbjjzpwhbsds5ywj2srpifd4llrxa4m"
+   "commit": "d14a349fcf7acf429ab9aa5e0faf43c816559fe7",
+   "sha256": "0vpd3x5hwi3g8qi5r961cxffvg1r2q62f4dd8svzx0dlxvfpbr3i"
   },
   "stable": {
    "version": [
     1,
-    2,
-    14
+    12,
+    16
    ],
    "deps": [
     "evil"
    ],
-   "commit": "3766a521a60e6fb0073220199425de478de759ad",
-   "sha256": "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"
+   "commit": "210316cbf9615ade96834e30352366985752f11e",
+   "sha256": "1nszhnl7j3pkdjxpzljqkaqr0c0xqpy97rwpbv6zb96qllallsmi"
   }
  },
  {
@@ -27506,14 +28136,15 @@
   "repo": "wbolster/evil-text-object-python",
   "unstable": {
    "version": [
-    20181126,
-    1324
+    20191010,
+    1328
    ],
    "deps": [
+    "dash",
     "evil"
    ],
-   "commit": "9a064fe6475429145cbcc3b270fcc963b67adb15",
-   "sha256": "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"
+   "commit": "39d22fc524f0413763f291267eaab7f4e7984318",
+   "sha256": "0293hfgczpjghvg28s27c5r6ll1zaq466pasrhzj71sqzyvxq7ax"
   },
   "stable": {
    "version": [
@@ -27641,14 +28272,14 @@
   "repo": "mamapanda/evil-traces",
   "unstable": {
    "version": [
-    20190906,
-    538
+    20191214,
+    558
    ],
    "deps": [
     "evil"
    ],
-   "commit": "1931e3ea2c64b4aec393a9c25063c330deff55e3",
-   "sha256": "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"
+   "commit": "257c66bd7a9162caef3b04137af0dc9360fe3d53",
+   "sha256": "1saf7kpmz09j1q8nzriqmllxg4l3chqgy9x0j8qz91wflf15xbbs"
   }
  },
  {
@@ -27853,8 +28484,8 @@
     20190911,
     1319
    ],
-   "commit": "07793e2bd03ca3f473b1ecf6ed4637f7d2982ce0",
-   "sha256": "13zdsqnv6sasai8j7wlhlfp687s3a8yarrrwnxjvy5wbjjn604sk"
+   "commit": "17d5fda0b912813eb754f23547ad019e55a679da",
+   "sha256": "1p7y91hdd4qn0w09k8p1xna9c9lhqxsl4vlgmm214ybbvacrgm1n"
   },
   "stable": {
    "version": [
@@ -27879,8 +28510,8 @@
    "deps": [
     "ewal"
    ],
-   "commit": "07793e2bd03ca3f473b1ecf6ed4637f7d2982ce0",
-   "sha256": "13zdsqnv6sasai8j7wlhlfp687s3a8yarrrwnxjvy5wbjjn604sk"
+   "commit": "17d5fda0b912813eb754f23547ad019e55a679da",
+   "sha256": "1p7y91hdd4qn0w09k8p1xna9c9lhqxsl4vlgmm214ybbvacrgm1n"
   },
   "stable": {
    "version": [
@@ -27909,8 +28540,8 @@
     "ewal",
     "spacemacs-theme"
    ],
-   "commit": "07793e2bd03ca3f473b1ecf6ed4637f7d2982ce0",
-   "sha256": "13zdsqnv6sasai8j7wlhlfp687s3a8yarrrwnxjvy5wbjjn604sk"
+   "commit": "17d5fda0b912813eb754f23547ad019e55a679da",
+   "sha256": "1p7y91hdd4qn0w09k8p1xna9c9lhqxsl4vlgmm214ybbvacrgm1n"
   },
   "stable": {
    "version": [
@@ -28010,11 +28641,11 @@
   "repo": "purcell/exec-path-from-shell",
   "unstable": {
    "version": [
-    20190426,
-    2227
+    20191229,
+    112
    ],
-   "commit": "3cfedb8791397ed50ee66bc0a7cbee5b9d78245c",
-   "sha256": "1mrwsc12j44q9cv9sjz3hhr7pd4z4vj30ha320zlh7pcacs973js"
+   "commit": "76fbdf5d01bace97dbabf5a4b56b6d9414a7aea3",
+   "sha256": "0vmdwdn60cq12bh2pinqzpdvd0yqizjrq77zbqszzscblb31cg0d"
   },
   "stable": {
    "version": [
@@ -28116,11 +28747,11 @@
   "repo": "magnars/expand-region.el",
   "unstable": {
    "version": [
-    20190416,
-    538
+    20200106,
+    2058
    ],
-   "commit": "1c31447730443d98f90f65dfcb752f347d46ad1b",
-   "sha256": "07jm8hm3zsm556l10gw83dw0mpm2d9d8x5blqbdmmp5zsf0y5kqb"
+   "commit": "0fa7c2d349e40c0e1de0965acf0f0b77b7070451",
+   "sha256": "1rqkrf021lmm761caskn0npp9aph7xjkr6v8973cgj9v09yk5mn1"
   },
   "stable": {
    "version": [
@@ -28280,11 +28911,11 @@
   "repo": "agzam/exwm-edit",
   "unstable": {
    "version": [
-    20180905,
-    743
+    20191017,
+    107
    ],
-   "commit": "961c0f3ea45766b888c73d7353da13d329538034",
-   "sha256": "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"
+   "commit": "80c1cbecafde96a59e620d8fa7e5510a5a7bbd3d",
+   "sha256": "14qnnz3sa8ldhp8lgmvn7xh43prf6ajir90xxij3qaw85km25yi9"
   }
  },
  {
@@ -28423,14 +29054,14 @@
   "repo": "wasamasa/eyebrowse",
   "unstable": {
    "version": [
-    20190917,
-    1653
+    20190928,
+    1458
    ],
    "deps": [
     "dash"
    ],
-   "commit": "e0f6bdf3fc1eab2f036952721a7496e408ce860d",
-   "sha256": "10fwxryisgpyyxhcz8p2g3h085hd6j6qw1hi5pz70a94d3syr3ws"
+   "commit": "e483d35e905c2e26fac63f33c77b9e764729a364",
+   "sha256": "1y3v2cplvnnhw4ga2pw2agwdbffdjrfhjz73cfv6vaa5q8hp32vy"
   },
   "stable": {
    "version": [
@@ -28491,20 +29122,19 @@
   "repo": "thblt/eziam-theme-emacs",
   "unstable": {
    "version": [
-    20190720,
-    1720
+    20200102,
+    2210
    ],
-   "commit": "a0cafce1c49f3830fe96dacd49f4732b53166603",
-   "sha256": "0vhmv47i07zrnvy5b6gd3ws2gnnviifv04b6dafa96xr3063n2cp"
+   "commit": "bfa61cf62f20bd35e74425fa8105e12f7790f044",
+   "sha256": "159k9mk57349w8xw79l8dzsaysn04xnbmnvxa537psmlrrh3jdch"
   },
   "stable": {
    "version": [
     1,
-    1,
-    1
+    3
    ],
-   "commit": "a0cafce1c49f3830fe96dacd49f4732b53166603",
-   "sha256": "0vhmv47i07zrnvy5b6gd3ws2gnnviifv04b6dafa96xr3063n2cp"
+   "commit": "bfa61cf62f20bd35e74425fa8105e12f7790f044",
+   "sha256": "159k9mk57349w8xw79l8dzsaysn04xnbmnvxa537psmlrrh3jdch"
   }
  },
  {
@@ -28515,15 +29145,15 @@
   "repo": "rejeep/f.el",
   "unstable": {
    "version": [
-    20190109,
-    906
+    20191110,
+    1357
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "8191672377816a1975414cc1f116fd3b94b30bd0",
-   "sha256": "1b9wq6r6v44y11ldcj8czmah4ciibkm2261q4z9awd7v7iqlzf07"
+   "commit": "1814209e2ff43cf2e6d38c4cd476218915f550fb",
+   "sha256": "1l9lff15vbji9phpx4jrg8bmw2bkspzmhcgawchf5ylg2sb6yymm"
   },
   "stable": {
    "version": [
@@ -28689,19 +29319,19 @@
   "repo": "WJCFerguson/emacs-faff-theme",
   "unstable": {
    "version": [
-    20190821,
-    1918
+    20191028,
+    1846
    ],
-   "commit": "c88ed079add4e2c39401dda9fdeef96ea4ddb13c",
-   "sha256": "1a0ff8xmkkhiwj5809vrxfaj4mkdcvwyw8m656l6iidijskqnmh6"
+   "commit": "a16c4b36ef50731a83a57c1c6341a49e9897d225",
+   "sha256": "10850175c6jll4grsdjl180hs3rd72yajq55x6fz3a8mm8v5fqk9"
   },
   "stable": {
    "version": [
     2,
-    5
+    9
    ],
-   "commit": "bb331f755f44f8d6db1b35c476948a080a4a40cf",
-   "sha256": "0llhsn79fp8c42hv57539k3zcyaqx0gc27hg21vq9nh8aa0jb6h2"
+   "commit": "0aaa15181eab4088a57ad69ba2c93b2663453c31",
+   "sha256": "0xg20g9qqmi1x94d8f0gqwxgxpyzirs61nj86507bqn2c4n00r7v"
   }
  },
  {
@@ -28763,6 +29393,24 @@
   }
  },
  {
+  "ename": "fancy-dabbrev",
+  "commit": "1ac5a3797d9882235de984739d5a2bf122b64540",
+  "sha256": "038zyg8kmz7k2y2xfs5mmm4fh87a503yri990kyf82pqyrsj3yww",
+  "fetcher": "github",
+  "repo": "jrosdahl/fancy-dabbrev",
+  "unstable": {
+   "version": [
+    20190921,
+    1811
+   ],
+   "deps": [
+    "popup"
+   ],
+   "commit": "2d9c55ce0ef20cd405c597bbac8b204cfaeee77a",
+   "sha256": "0ap13sxycvwg5dxvm65qkp11816hz4vvw3828q730y9j30fizn0r"
+  }
+ },
+ {
   "ename": "fancy-narrow",
   "commit": "1e6aed365c42987d64d0cd9a8a6178339b1b39e8",
   "sha256": "15i86jz6rdpva1az7gqp1wbm8kispcfc8h6v9fqsbag9sbzvgcyv",
@@ -28817,6 +29465,36 @@
   }
  },
  {
+  "ename": "fast-scroll",
+  "commit": "1a06816fe50be692f971f08e76f687a3560baceb",
+  "sha256": "1ds8wjc2zdvr31c4c1dwrbf6al9ff3p4njli7mis85kb883k371c",
+  "fetcher": "github",
+  "repo": "ahungry/fast-scroll",
+  "unstable": {
+   "version": [
+    20191016,
+    327
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "3f6ca0d5556fe9795b74714304564f2295dcfa24",
+   "sha256": "08nwjyqdkp1g27jqgq7b2nd90kzsfv9mjkkjpniprhfqdqjjcp63"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    5
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "0f78d1039e5394a6b57d186189a89937453c7002",
+   "sha256": "042dkz12rcj27ymla1lg70vwg3n7vb9i5908ga6vabn7q61bxbsh"
+  }
+ },
+ {
   "ename": "fastdef",
   "commit": "f6effb2fbccc71e8a44c53138e3c21f10dc55fbc",
   "sha256": "1cf4slxhcp2z7h9k3l31h06nnqsyb4smwnj55ivil2lm0fa0vlzj",
@@ -29033,19 +29711,19 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20190921,
-    359
+    20190927,
+    4
    ],
-   "commit": "686e4d28a8abeb1fa05cb21e14c4f0cc12217d63",
-   "sha256": "0wis927rya6v2mzyvsnjca1b2a1vrndlb7nskkgxs0ssvsvv68bn"
+   "commit": "deea7b971edf238f9018053de4e02fe931064694",
+   "sha256": "0bkpys736r70l9q7r101ghhik6lv14j303xf6sd8xk55v23wh1b8"
   }
  },
  {
   "ename": "fetch",
-  "commit": "7e808952551936dd8eaf0158d6ca929d10712dc5",
-  "sha256": "1jqc6pspgcrdzm7ij46r1q6vpjq7il5dy2xyxwn2c1ky5a80paby",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "0mph6kri9p0g38ll1cakpgfaz1krkyhi1382kybg1xyfy17jisg3",
   "fetcher": "github",
-  "repo": "crshd/fetch.el",
+  "repo": "cbrst/fetch.el",
   "unstable": {
    "version": [
     20131201,
@@ -29130,8 +29808,8 @@
     20190706,
     804
    ],
-   "commit": "504cb41eabded459de6990da6cddb3cb24474b39",
-   "sha256": "191ahvir06xv9ql3ynsx0nc884rlnxzdk1rvr2lp7vhxv7x0vgqw"
+   "commit": "01e6a919507a832ee001a2a0fc257657f8b04b72",
+   "sha256": "15557rkbi3d40q2zs5vkgkpbya4c4ksnh2a07d8l7x457zah4fbn"
   }
  },
  {
@@ -29142,11 +29820,11 @@
   "repo": "alpaker/Fill-Column-Indicator",
   "unstable": {
    "version": [
-    20171209,
-    1924
+    20191109,
+    10
    ],
-   "commit": "a284bb50789c97d7ef9021214260b3ce7cc220e3",
-   "sha256": "0cjnqw22vq760nzzq4pn9vf89s5w0kl877c5f9ks03c617q656nn"
+   "commit": "3d88b8a4a3eeabb8d1c9ef27d3c6f5d98517be77",
+   "sha256": "1rklnjsqz8krqjll35xd5xwg79xqwh0sldwbcnymkjwywbky8yhh"
   },
   "stable": {
    "version": [
@@ -29267,26 +29945,26 @@
   "repo": "technomancy/find-file-in-project",
   "unstable": {
    "version": [
-    20190914,
-    524
+    20191223,
+    2328
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "79baa7026803b3d877857493da3041ddf6eed050",
-   "sha256": "0q5lcfg7bpid8rl04c9qml062pyi6sqgdcvhrqxm9mcfyjq5zg72"
+   "commit": "9aff62217a16c6261b25237eef1ce41130692b29",
+   "sha256": "1ygmr2scbaawi7gzsay6rrapvxc2rb2260xf3riikb4w43dbzi79"
   },
   "stable": {
    "version": [
     5,
     7,
-    7
+    8
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "85f0fc4ab29e4339732c19be314a4920888803b2",
-   "sha256": "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"
+   "commit": "4540416d5aaf7f6adcdcea3ac5b80a08bb695e44",
+   "sha256": "0ak7i76m3b6gi5favcd6rvmh2flr11995jlx5d52as5lrbx01x7m"
   }
  },
  {
@@ -29486,8 +30164,8 @@
     20161219,
     1323
    ],
-   "commit": "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864",
-   "sha256": "13daz15v0sshl7lxcg1xcbpl64gklgh50pzk0qxmn5ygw7nlifn0"
+   "commit": "f2fd47d9be0c53d63bae5c248d23874fab7e2d6d",
+   "sha256": "14cb46jsvp5s7g6dmhadm9dmi2sqrk215bsq8bwsh6f81fnkvy87"
   },
   "stable": {
    "version": [
@@ -29522,19 +30200,19 @@
   "repo": "Ambrevar/emacs-fish-completion",
   "unstable": {
    "version": [
-    20190904,
-    254
+    20191103,
+    1210
    ],
-   "commit": "0a9a63e2cac24bfdf7dbedb5c6ab7faca23d3bfe",
-   "sha256": "1rp5y1hpdr08v374cvkqjb2i47lni0yl866wssm73ch9ql30y22n"
+   "commit": "10384881817b5ae38cf6197a077a663420090d2c",
+   "sha256": "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"
   },
   "stable": {
    "version": [
     1,
-    1
+    2
    ],
-   "commit": "e5b9b65a077319dfdb2faca9ef847db3ef55d0db",
-   "sha256": "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"
+   "commit": "10384881817b5ae38cf6197a077a663420090d2c",
+   "sha256": "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"
   }
  },
  {
@@ -29545,20 +30223,20 @@
   "repo": "wwwjfy/emacs-fish",
   "unstable": {
    "version": [
-    20180827,
-    303
+    20190921,
+    526
    ],
-   "commit": "35fc7c1e243a7410823088a571ecf378e9f3efa6",
-   "sha256": "0rn08dm4gn0g0nz080zxm0am1z6hfkinvzqwqszv96qkxy250ghp"
+   "commit": "688c82decad108029b0434e3bce6c3d129ede6f3",
+   "sha256": "1s961nhwxpb9xyc26rxpn6hvwn63sng452l03mm2ply32b247f9p"
   },
   "stable": {
    "version": [
     0,
     1,
-    4
+    5
    ],
-   "commit": "bac709ac1235751952d6022dddc6307d9135d096",
-   "sha256": "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"
+   "commit": "688c82decad108029b0434e3bce6c3d129ede6f3",
+   "sha256": "1s961nhwxpb9xyc26rxpn6hvwn63sng452l03mm2ply32b247f9p"
   }
  },
  {
@@ -29694,6 +30372,21 @@
   }
  },
  {
+  "ename": "flames-of-freedom",
+  "commit": "71883f7c1e28695701244bab6368aa528ff339f3",
+  "sha256": "1xj4kznx94xxzvxgx74dqd4flljzacygfvp6xr1lsvvm9wvb4m9h",
+  "fetcher": "github",
+  "repo": "wiz21b/FlamesOfFreedom",
+  "unstable": {
+   "version": [
+    20191202,
+    1637
+   ],
+   "commit": "5e47ff27cfa2f7c06081be2ffefe91a731efd012",
+   "sha256": "1xgrd2ybf8g488fq698xv30bqzcv1swxqnds61slj99w6k2gm29i"
+  }
+ },
+ {
   "ename": "flappymacs",
   "commit": "a63b22f357b2d08b12fb86c27261ab4d687c5f7f",
   "sha256": "1rp4r5ldhm8nrj26y1vm5d5fj3kl7v45cj1naxczrqbcgkd0r404",
@@ -29815,15 +30508,15 @@
   "repo": "plandes/flex-compile",
   "unstable": {
    "version": [
-    20190707,
-    2000
+    20191019,
+    18
    ],
    "deps": [
     "buffer-manage",
     "dash"
    ],
-   "commit": "21f992b502309cb047d91a64de48958d565f751f",
-   "sha256": "1fqnaclmvv46ij5q8nmj571cjynsbgyp40idg8lcv1fvx56hj44c"
+   "commit": "df113f0b25ef73c5a246330ef9fa69ab936df174",
+   "sha256": "11hdabn2ayg2nrp7mg8vp9ywb1yl6nw4z7y7rxv70n0h4blnwn9n"
   },
   "stable": {
    "version": [
@@ -29944,15 +30637,15 @@
   "repo": "Fuco1/flow-js2-mode",
   "unstable": {
    "version": [
-    20190814,
-    1402
+    20191213,
+    1004
    ],
    "deps": [
     "flow-minor-mode",
     "js2-mode"
    ],
-   "commit": "bfb23b73d47ea9902bcdc13b48511b23d704fd22",
-   "sha256": "1pz2mhavs0jbfq8qswzvz3fz7nw7glcysybjyng9i0463vr8cwc9"
+   "commit": "7520bdda70287e8d57b3f41033b1e0ca59a3be95",
+   "sha256": "1d0g5v3nwy2wyjgh1f1s27bb8nxcfhq6yq3d7scgbnd6v6anyxxv"
   }
  },
  {
@@ -29963,11 +30656,11 @@
   "repo": "an-sh/flow-minor-mode",
   "unstable": {
    "version": [
-    20180315,
-    1824
+    20191214,
+    1309
    ],
-   "commit": "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e",
-   "sha256": "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"
+   "commit": "5db3936d9eba8ccb2beca476afc84675b7b161ca",
+   "sha256": "1rnihrhkr1xpwsl6c4cgg75slsqs31bckrlkgw1252ihpl9laa6p"
   },
   "stable": {
    "version": [
@@ -30031,11 +30724,11 @@
   "repo": "amake/flutter.el",
   "unstable": {
    "version": [
-    20190919,
-    910
+    20191210,
+    550
    ],
-   "commit": "58ac1e19e50f9c65869c141ef9d44a70a36994bd",
-   "sha256": "024gwfjin41dxdfmx78s7w10sk4lqjlk8p5j7asddk426pmd2a14"
+   "commit": "01473aeec61a19e9638a6c032228c054a578aba5",
+   "sha256": "1frlfc6wgg4pyhzvk6pa96lqn2dkz1h5c7nzw5rxvg9xm6vp8s86"
   }
  },
  {
@@ -30053,8 +30746,8 @@
     "flutter",
     "flycheck"
    ],
-   "commit": "58ac1e19e50f9c65869c141ef9d44a70a36994bd",
-   "sha256": "024gwfjin41dxdfmx78s7w10sk4lqjlk8p5j7asddk426pmd2a14"
+   "commit": "01473aeec61a19e9638a6c032228c054a578aba5",
+   "sha256": "1frlfc6wgg4pyhzvk6pa96lqn2dkz1h5c7nzw5rxvg9xm6vp8s86"
   }
  },
  {
@@ -30065,14 +30758,14 @@
   "repo": "defaultxr/fluxus-mode",
   "unstable": {
    "version": [
-    20170210,
-    1941
+    20191001,
+    1716
    ],
    "deps": [
     "osc"
    ],
-   "commit": "3661d4dfdaf249138e7f215f15f291c9391ede8d",
-   "sha256": "1dp974qs80agx9qcq5k5awdsr8p8smv8cdwkjz2d8xfd5wq2vhh9"
+   "commit": "3d05fa15f141ac3e936f908097bb7eb6295cc367",
+   "sha256": "0axjlvhv3xwg16zkpskqp9kvb1x513jl329pmrjzazn5mdh2m8cw"
   }
  },
  {
@@ -30083,14 +30776,14 @@
   "repo": "lewang/flx",
   "unstable": {
    "version": [
-    20151030,
-    1812
+    20191115,
+    659
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "46040d0b096a0340d91235561f27a959a61d0fef",
-   "sha256": "0zysqnxa6kgnyfgknsin7pk25a8dy8208qw2yzan93cabplgqszy"
+   "commit": "17f5c9cb2af18aa6f52910ff4a5a63591261ced5",
+   "sha256": "1zny29byq08vic9pzxfkchdary7dsk9ygc1lcb8drai4kd9g5jk8"
   },
   "stable": {
    "version": [
@@ -30120,8 +30813,8 @@
     "cl-lib",
     "flx"
    ],
-   "commit": "46040d0b096a0340d91235561f27a959a61d0fef",
-   "sha256": "0zysqnxa6kgnyfgknsin7pk25a8dy8208qw2yzan93cabplgqszy"
+   "commit": "17f5c9cb2af18aa6f52910ff4a5a63591261ced5",
+   "sha256": "1zny29byq08vic9pzxfkchdary7dsk9ygc1lcb8drai4kd9g5jk8"
   },
   "stable": {
    "version": [
@@ -30145,15 +30838,15 @@
   "repo": "PythonNut/flx-isearch",
   "unstable": {
    "version": [
-    20180103,
-    514
+    20191119,
+    515
    ],
    "deps": [
     "cl-lib",
     "flx"
    ],
-   "commit": "f132fd6367e369885ab3a865fbfe20eee989bc0b",
-   "sha256": "1dcvfl4fyhgw0rhfhixzlzjfr99fisa83f7lmlwzz2zs96myhhkz"
+   "commit": "a44097fb8f539a193c2f09a37ea52a68f2c51839",
+   "sha256": "051cpdggssmbz2zhr26q2831a8g2n66r5f1aqbvczg3kfw1axpkq"
   }
  },
  {
@@ -30164,8 +30857,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20190913,
-    1456
+    20191126,
+    2142
    ],
    "deps": [
     "dash",
@@ -30173,8 +30866,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "0006a59259ebd02c9199ddc87f0e3ce22793a2ea",
-   "sha256": "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"
+   "commit": "269237f6529a4ad7db5bbbc5a40c1f038accf3cd",
+   "sha256": "11gjfnrk5s6pr3ggalcxxv9x0grhyliyyz3px2pf5jgc1n115pmk"
   },
   "stable": {
    "version": [
@@ -30198,14 +30891,14 @@
   "repo": "crystal-ameba/ameba.el",
   "unstable": {
    "version": [
-    20190720,
-    1845
+    20191226,
+    1011
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "8383f07d760a31a0737be9b7bdaff2f1cff67bfd",
-   "sha256": "066ccpaszidjvwy18bvkrf37ws60363cnbvcl1sfd7k6nynbdar6"
+   "commit": "0c4925ae0e998818326adcb47ed27ddf9761c7dc",
+   "sha256": "0jh0pfyqdks9xk43765vgm4569a8ny01pk3gy2p3vr5gdgfdm4a3"
   },
   "stable": {
    "version": [
@@ -30294,15 +30987,15 @@
   "repo": "flycheck/flycheck-cask",
   "unstable": {
    "version": [
-    20160928,
-    926
+    20191030,
+    2253
    ],
    "deps": [
     "dash",
     "flycheck"
    ],
-   "commit": "c3a51147eddeb7347de81f6a498fc96538bac499",
-   "sha256": "1jw8n6df2hpnjrsqzdd70j0ya3yjzkcy5gm6zx9acqfx88zlgb9m"
+   "commit": "3457ae553c4feaf8168008f063d78fdde8fb5f94",
+   "sha256": "0fw5ikifp0n8jjkcg328hg1sklsgd7b8bsd538dvymk6qhx223zc"
   },
   "stable": {
    "version": [
@@ -30319,10 +31012,10 @@
  },
  {
   "ename": "flycheck-checkbashisms",
-  "commit": "f5678ea5aef4dc8a517d6d9381a64f182645d344",
-  "sha256": "1rq0ymlr1dl39v0sfyjmdv4pq3q9116cz9wvgpvfgalq8759q5sz",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "1gjfv3zkgc07wgrxia509pdl2z23a29m5x1p0w8bdjrp5zc4j7pw",
   "fetcher": "github",
-  "repo": "Gnouc/flycheck-checkbashisms",
+  "repo": "cuonglm/flycheck-checkbashisms",
   "unstable": {
    "version": [
     20190403,
@@ -30401,14 +31094,26 @@
   "repo": "ch1bo/flycheck-clang-tidy",
   "unstable": {
    "version": [
-    20171024,
-    808
+    20191030,
+    814
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "b8ebd49693f67e08e420ba847cc88f6721ef9e3e",
-   "sha256": "0fnn1baw64f7x1zjb95adryr3mfynbblwppcd6ywh7pk0sq18b80"
+   "commit": "2f89698ab0d78818875d5ef08d0b470a9ffc402f",
+   "sha256": "1l4jla3vlyx37nz9hjaihy9pi3ywbrg3512k2zp9cdis7130mvrb"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    0
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "2f89698ab0d78818875d5ef08d0b470a9ffc402f",
+   "sha256": "1l4jla3vlyx37nz9hjaihy9pi3ywbrg3512k2zp9cdis7130mvrb"
   }
  },
  {
@@ -30445,8 +31150,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "353e3481a20fbd577ad79db8bbc6113ce179c195",
-   "sha256": "1xgvz2mdacyr7jszrpxs9lm30y0p72ahin98lr385gvsa8gknmhm"
+   "commit": "f652a8dc4cff01e78bba50b555bae7ba6115b552",
+   "sha256": "09k87wfz4m16r32g6ry4jl2zagh1gpgfd9sik54wvyky24s605y4"
   },
   "stable": {
    "version": [
@@ -30469,16 +31174,16 @@
   "repo": "clojure-emacs/squiggly-clojure",
   "unstable": {
    "version": [
-    20190611,
-    2351
+    20191215,
+    2227
    ],
    "deps": [
     "cider",
     "flycheck",
     "let-alist"
    ],
-   "commit": "4c5d0c723bd564d632a4b93046679ed19d0e49d9",
-   "sha256": "17g5z02gjpyb5nwgwwcc0lxzd4l2jg0q2bndbxscsf5iw41p0irq"
+   "commit": "592c4f89efb5112784cbf94c9ea6fdd045771b62",
+   "sha256": "0yyy1c385jn0m6ql7vf9za4waqznr4mvv7fd234ygcbvhqn4pfdz"
   },
   "stable": {
    "version": [
@@ -30595,8 +31300,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "34124f546ff5c1136aed95bf0059015f9f6a1d60",
-   "sha256": "09cmbw190w6aiwwc2bg349xx6vcv9b9ajw8m70ajb3653qnq3mw4"
+   "commit": "2428b016243e78a0312cf6b3ba6939e7169a1405",
+   "sha256": "0al65ldsbmm15h4y79i8avk63qq1y7fqzzad8p327z6d42zfm1qj"
   },
   "stable": {
    "version": [
@@ -30870,34 +31575,14 @@
   "repo": "emacs-elsa/flycheck-elsa",
   "unstable": {
    "version": [
-    20190211,
-    1921
+    20200104,
+    1523
    ],
    "deps": [
-    "cask",
     "seq"
    ],
-   "commit": "c0a226d2520681bb0c16cd31504b620e43ee743c",
-   "sha256": "07605v5insay9jgj274ysdksk4cck49y5gsqzjz7js8f6p526k75"
-  }
- },
- {
-  "ename": "flycheck-ensime",
-  "commit": "c8d1ef354566c7f337c62accbd1d2f86ffcbd98a",
-  "sha256": "11h7xwm8vwi8nca7yy9q0y30jcj77s07aa45xqz7n8rsqp6wdp3z",
-  "fetcher": "github",
-  "repo": "ncaq/flycheck-ensime",
-  "unstable": {
-   "version": [
-    20190212,
-    1042
-   ],
-   "deps": [
-    "ensime",
-    "flycheck"
-   ],
-   "commit": "9fe000e7004725bc8c3b7554237d717bca9cd9ac",
-   "sha256": "0fl6p2hvcm1f5snx8a82h53kkfnbgycik0d5a7krcjgiby6w7wam"
+   "commit": "4796cdae375f51e8364660518c2948b8a90bcd40",
+   "sha256": "1nmf51jrw0xixrb0nawl6shfw68nw4zs1w12plhghaiwr4430rjp"
   }
  },
  {
@@ -30988,8 +31673,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "422f6e4b77b27fd7370f0c88437ac5072c9d3413",
-   "sha256": "16117njpia9046snp1y2yapqmnzgbsan5dvaw3ih5pqmnqjjqdkd"
+   "commit": "1e3eede14da405b914a7d8b00300846e4393cb83",
+   "sha256": "10gskp8ch904s3lw7g4sixfhwyx74grdivdl2wnsvd44im9zlw6c"
   },
   "stable": {
    "version": [
@@ -31030,14 +31715,14 @@
   "url": "https://git.deparis.io/flycheck-grammalecte/",
   "unstable": {
    "version": [
-    20190817,
-    935
+    20191003,
+    1844
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "d1ca6d9d4d64aa343598018134506930434ac5e0",
-   "sha256": "0s7kbs764nhq4nlfbbilz5clvadcyz5bi0ksrbm9kczhagisxnjv"
+   "commit": "11cc5a0480dbdd4a9fa2bc12184b3fb56efc5cf3",
+   "sha256": "1x7y0sjq1p7idzsy2bdqhdll8vj2ci45cd5jn8qgzv02kms65djp"
   },
   "stable": {
    "version": [
@@ -31119,6 +31804,25 @@
   }
  },
  {
+  "ename": "flycheck-indent",
+  "commit": "b1c1163d5acc402716c4a6cf877f13665138b74b",
+  "sha256": "0d6wa3w377s22psbficabyqi03z8kp32662yxcly1dlv5zyyh6nd",
+  "fetcher": "github",
+  "repo": "conao3/indent-lint.el",
+  "unstable": {
+   "version": [
+    20191228,
+    235
+   ],
+   "deps": [
+    "flycheck",
+    "indent-lint"
+   ],
+   "commit": "e76b127241635677a4cb2d457d5c4c74ca93ee92",
+   "sha256": "1bmik58ygg9r9p7cnvxhss49hkcqy3zgcwrhwq59baqixclfwrd1"
+  }
+ },
+ {
   "ename": "flycheck-indicator",
   "commit": "25d59829ca2f4fbedfee500885b45bc358faf47b",
   "sha256": "1h2d7dw94agrdrks41npjdmf5m628n1jg060pv1mrjysj4xm2n45",
@@ -31132,8 +31836,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "937f93afc0605c8e6c7cc56041a52b1312fff0fe",
-   "sha256": "1r7da45kmypz1qvpj07m7q9z2bjbx6ds5cx055gq5v03gzyg6n7i"
+   "commit": "6b1386296ddf2ccc11ca8fa719dc0b2f16808424",
+   "sha256": "0bd8k3jzipm0r0242hpl2lkcdfnb367yf4xpj6r23g3y99f6f0yk"
   }
  },
  {
@@ -31330,14 +32034,14 @@
   "repo": "purcell/flycheck-ledger",
   "unstable": {
    "version": [
-    20180819,
-    321
+    20191128,
+    203
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "0fdb067ebbcc8bc1a3f9d2109e341049516b71da",
-   "sha256": "1p7sns041iqsnmmhkcx2651plz3wrb2nr3s78w2pd7kagx5hwksb"
+   "commit": "2065beab564c23e6ab380547d19bdb5a9b3b25fc",
+   "sha256": "16wq9l8q15iw7mdicrx2c28qrhndmd0fmg8f3yiyk2frmb8ack9h"
   },
   "stable": {
    "version": [
@@ -31495,15 +32199,15 @@
   "repo": "ALSchwalm/flycheck-nim",
   "unstable": {
    "version": [
-    20160715,
-    428
+    20190927,
+    1514
    ],
    "deps": [
     "dash",
     "flycheck"
    ],
-   "commit": "6d27349b66e44578851e6148299709d64d2bde41",
-   "sha256": "08rjrh7rjx71fsxf931hhfcga7m6a8sd6bvvr4qbsmhldnzd1aa7"
+   "commit": "ddfade51001571c2399f78bcc509e0aa8eb752a4",
+   "sha256": "19xxwj66q45499s9jvw6rq8im0g7wxl9m66kq2a9ykds4v7sprlm"
   }
  },
  {
@@ -31545,26 +32249,26 @@
   "repo": "GyazSquare/flycheck-objc-clang",
   "unstable": {
    "version": [
-    20190421,
-    1049
+    20191116,
+    1015
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "b46ad43637cebf8467cf596d3e7b5f5d371789e9",
-   "sha256": "0qiva3sfxy0ilf062yd5kyirmimlc5nnl6954ijmf7r31z57n64z"
+   "commit": "683d52e7bc3aeabd966c546a1d835d4c7191509b",
+   "sha256": "0aymv9y06gzkh1m0jl693wsqvbh3cc5fp5z2yprmqzc98w1lh8bs"
   },
   "stable": {
    "version": [
-    3,
+    4,
     0,
     0
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "b46ad43637cebf8467cf596d3e7b5f5d371789e9",
-   "sha256": "0qiva3sfxy0ilf062yd5kyirmimlc5nnl6954ijmf7r31z57n64z"
+   "commit": "683d52e7bc3aeabd966c546a1d835d4c7191509b",
+   "sha256": "0aymv9y06gzkh1m0jl693wsqvbh3cc5fp5z2yprmqzc98w1lh8bs"
   }
  },
  {
@@ -31608,15 +32312,15 @@
   "repo": "purcell/flycheck-package",
   "unstable": {
    "version": [
-    20161111,
-    2251
+    20191007,
+    51
    ],
    "deps": [
     "flycheck",
     "package-lint"
    ],
-   "commit": "31fe5d9731f30d076f14392401b3b101c9ca2260",
-   "sha256": "1j2jk11cag1scy4cid89lcvjspanhpamazqggksaaadg9b71ay04"
+   "commit": "d76e04009f2548581fc9e9a84f79f1a3112f1096",
+   "sha256": "1jndjq5mnhxmjvhaay4f07p5dbz4zsqv1zhyr98v8zc5dv7qkkfk"
   },
   "stable": {
    "version": [
@@ -31683,8 +32387,8 @@
     "flycheck",
     "phpstan"
    ],
-   "commit": "e8d33c75f6ab466ac15406fac5f2db6666d79deb",
-   "sha256": "1n6f4ibjdzrgll5zvikxc5gcfbpypq9nc2dhfxv011kllj22hpyc"
+   "commit": "81bcfa59d1e5708239d8c32d99cd84405449fb64",
+   "sha256": "1m4vk7v3aafj64qqs0aa9m1w8fbjziq0l6c9k4n10yr8dnm5j9aw"
   },
   "stable": {
    "version": [
@@ -31840,15 +32544,15 @@
   "repo": "alexmurray/flycheck-posframe",
   "unstable": {
    "version": [
-    20190712,
-    515
+    20191214,
+    1109
    ],
    "deps": [
     "flycheck",
     "posframe"
    ],
-   "commit": "13f8c7c7b3b51c9e7e518ae47500755642315a0e",
-   "sha256": "0q66shznczxvbzhq4n88lyl9lsw5dlqxfbl5k4pf7li23q8qsn9v"
+   "commit": "2b3e94c2e427ec9831c513007460c5ea9e2225a3",
+   "sha256": "1hmplb61xvz6p2b2pv6pg5bv7q7mirmgr0n1by1hj1w479g8rps3"
   }
  },
  {
@@ -31877,14 +32581,14 @@
   "repo": "msherry/flycheck-pycheckers",
   "unstable": {
    "version": [
-    20190715,
-    1807
+    20191025,
+    2137
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "680ed9bc1bfb6dc043294b705f5b6d87ca5a1700",
-   "sha256": "1d2caskc87kdclj6gsymnf8bxhyn4n9r9816z76hx88pn16xxqh5"
+   "commit": "da328975c5554a879d6cd198e3ebb4f8427f0c36",
+   "sha256": "16n41bjmx6nk6gz70d1xv6rvhfw7sxmjs9y14ikp9fyg5j2kdy39"
   },
   "stable": {
    "version": [
@@ -31943,27 +32647,27 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20180619,
-    824
+    20191222,
+    920
    ],
    "deps": [
     "flycheck",
     "rtags"
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
    ],
    "deps": [
     "flycheck",
     "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -32021,6 +32725,38 @@
   }
  },
  {
+  "ename": "flycheck-stan",
+  "commit": "e1d19cd6b80080aad5eff159c1bc7f7585bcd655",
+  "sha256": "15dxj6lklnavs3lfs8l7wq0wmqfmsss919cjw6jy8hgfbnf27wyx",
+  "fetcher": "github",
+  "repo": "stan-dev/stan-mode",
+  "unstable": {
+   "version": [
+    20191107,
+    320
+   ],
+   "deps": [
+    "flycheck",
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  },
+  "stable": {
+   "version": [
+    10,
+    0,
+    0
+   ],
+   "deps": [
+    "flycheck",
+    "stan-mode"
+   ],
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
+  }
+ },
+ {
   "ename": "flycheck-status-emoji",
   "commit": "5abd6aaa8d2bf55ae75cd217820763531f91958b",
   "sha256": "0p42424b1fsmfcjyl252vhblppmpjwd6br2yqh10fi60wmprvn2p",
@@ -32090,26 +32826,26 @@
   "repo": "GyazSquare/flycheck-swift3",
   "unstable": {
    "version": [
-    20190421,
-    110
+    20191116,
+    1113
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "811a765a0106bbdc8d6a721b22a2a97f3527df7c",
-   "sha256": "0gsiisshqml1s56p9k8lw5fd3mlnk2i9j886ybc7ahkkpq8sfdwz"
+   "commit": "62c93add8ff65d335f6ef8a3123d2d4f53339df5",
+   "sha256": "0jh8mb9zscj7bzvis6fplc142s7iqy6hhhwfy2lz34yp4n6ap1p0"
   },
   "stable": {
    "version": [
     3,
-    0,
+    1,
     0
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "811a765a0106bbdc8d6a721b22a2a97f3527df7c",
-   "sha256": "0gsiisshqml1s56p9k8lw5fd3mlnk2i9j886ybc7ahkkpq8sfdwz"
+   "commit": "62c93add8ff65d335f6ef8a3123d2d4f53339df5",
+   "sha256": "0jh8mb9zscj7bzvis6fplc142s7iqy6hhhwfy2lz34yp4n6ap1p0"
   }
  },
  {
@@ -32131,6 +32867,25 @@
   }
  },
  {
+  "ename": "flycheck-swiftx",
+  "commit": "fe5b92702eb8bc9af8f344a4d34c91b69d1e38e2",
+  "sha256": "0f00iir9xxlckn51xs7k72j26jw404nnyyb3kc8wpmy55dhzshw3",
+  "fetcher": "github",
+  "repo": "nhojb/flycheck-swiftx",
+  "unstable": {
+   "version": [
+    20191129,
+    2207
+   ],
+   "deps": [
+    "flycheck",
+    "xcode-project"
+   ],
+   "commit": "94ead32e879c055902e3edb78af1193f21339e5f",
+   "sha256": "1r49cyhpqw469j832nqdywjh1zc37q9innxwj2hnvvw9hz69g2wm"
+  }
+ },
+ {
   "ename": "flycheck-tcl",
   "commit": "fafc86df6c15348711f16302bb86c0ee08c08454",
   "sha256": "0rmc7rk0n4mgk11jgza1dn1nkjyi7rqs79d3p0cj1081znyj56f3",
@@ -32292,8 +33047,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "c2b273d84f15bd03464d6722391e595d7c179a5c",
-   "sha256": "0snj6kkshk8bivwsnhp7kiyhzcn7x6952vw098wgzwqw2hgdkq97"
+   "commit": "1e9fe3b2d3e42d551b94473816a8eeee637b446c",
+   "sha256": "1w7b6v1zlq8c95pddx6a2rffmgghv90dpnzz6vczg37hyad3a2np"
   },
   "stable": {
    "version": [
@@ -32344,8 +33099,8 @@
     "let-alist",
     "ycmd"
    ],
-   "commit": "6f4f7384b82203cccf208e3ec09252eb079439f9",
-   "sha256": "1bl86x8nqw4jqzb8pfm6hm316hmk1bx8v3qz7wq9z92hb67ck2kn"
+   "commit": "bc81b992f79100c98f56b7b83caf64cb8ea60477",
+   "sha256": "0kwm5q2sv2xrsmnr0gc2fimp6b2cvwh5mhqsmcc3lgs32m4j1kwv"
   },
   "stable": {
    "version": [
@@ -32544,20 +33299,20 @@
   "repo": "orzechowskid/flymake-eslint",
   "unstable": {
    "version": [
-    20190828,
-    128
+    20191129,
+    1558
    ],
-   "commit": "86268e1faf904bc8844dea313fe1bdaf02398ae9",
-   "sha256": "1xsj29z0qmijdb97cpy11dmqw8536amdz76664yzzn5gzin12fw7"
+   "commit": "6e2d376f84ddf9af593072954c97e9c82ab85331",
+   "sha256": "1pkigdarkjk2gpqjrfavg68bwihaazjzf1rr9fmrqkgis5hz3zf7"
   },
   "stable": {
    "version": [
     1,
-    3,
-    4
+    5,
+    0
    ],
-   "commit": "d4be92ea779ea333b599fd125817f943a676a63a",
-   "sha256": "1x0ipsg0gd5lflx7kyyaz7zv6xnjzmhh1k32f01qr69zarf31nw0"
+   "commit": "6e2d376f84ddf9af593072954c97e9c82ab85331",
+   "sha256": "1pkigdarkjk2gpqjrfavg68bwihaazjzf1rr9fmrqkgis5hz3zf7"
   }
  },
  {
@@ -32615,6 +33370,24 @@
   }
  },
  {
+  "ename": "flymake-golangci",
+  "commit": "76c98b2e204eb2a733295037cbf13b60d1cad97b",
+  "sha256": "13p29d7b3pchyiw1rbdaif7h6jhzfg635ix8z2kzkqg9bvkxxr7y",
+  "fetcher": "gitlab",
+  "repo": "shackra/flymake-golangci",
+  "unstable": {
+   "version": [
+    20191028,
+    1927
+   ],
+   "deps": [
+    "flymake-easy"
+   ],
+   "commit": "dfc31a1a6ae3f087b49fe6f5f21b3866780aa91c",
+   "sha256": "1py7ssjz4q5r28c8lzga5qi8x4gmdg3z0ga0cyskiba6krvv45ry"
+  }
+ },
+ {
   "ename": "flymake-google-cpplint",
   "commit": "01f8e5c2b63e80f0411860fde38bf694df3bfc8f",
   "sha256": "0q7v70xbprh03f1yabq216q4q82a58s2c1ykr6ig49cg1jdgzkf3",
@@ -33260,19 +34033,52 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20190408,
-    1010
+    20191230,
+    630
    ],
-   "commit": "a0852074bab130a711ba6b4696a7cb8059dac8db",
-   "sha256": "088cnxz4gnm0ps5myns861cjdnskvbxj70p5bimwbb4cvlp3v322"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   },
   "stable": {
    "version": [
     0,
-    5
+    6,
+    1
+   ],
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
+  }
+ },
+ {
+  "ename": "flyspell-correct-avy-menu",
+  "commit": "be7986f018c7029a8e581059bec31ed23a464e0a",
+  "sha256": "1mwdg1q7818kl5r9rnsqd11p9b2clcm0bxph4i1rll9rvggfgjp6",
+  "fetcher": "github",
+  "repo": "d12frosted/flyspell-correct",
+  "unstable": {
+   "version": [
+    20191230,
+    630
+   ],
+   "deps": [
+    "avy-menu",
+    "flyspell-correct"
    ],
-   "commit": "a9b53c52ab350aead0851e140d813cfd7b1bd680",
-   "sha256": "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
+  },
+  "stable": {
+   "version": [
+    0,
+    6,
+    1
+   ],
+   "deps": [
+    "avy-menu",
+    "flyspell-correct"
+   ],
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   }
  },
  {
@@ -33283,27 +34089,28 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20181205,
-    1932
+    20191230,
+    630
    ],
    "deps": [
     "flyspell-correct",
     "helm"
    ],
-   "commit": "a0852074bab130a711ba6b4696a7cb8059dac8db",
-   "sha256": "088cnxz4gnm0ps5myns861cjdnskvbxj70p5bimwbb4cvlp3v322"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   },
   "stable": {
    "version": [
     0,
-    5
+    6,
+    1
    ],
    "deps": [
     "flyspell-correct",
     "helm"
    ],
-   "commit": "a9b53c52ab350aead0851e140d813cfd7b1bd680",
-   "sha256": "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   }
  },
  {
@@ -33314,27 +34121,28 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20181205,
-    1932
+    20191230,
+    630
    ],
    "deps": [
     "flyspell-correct",
     "ivy"
    ],
-   "commit": "a0852074bab130a711ba6b4696a7cb8059dac8db",
-   "sha256": "088cnxz4gnm0ps5myns861cjdnskvbxj70p5bimwbb4cvlp3v322"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   },
   "stable": {
    "version": [
     0,
-    5
+    6,
+    1
    ],
    "deps": [
     "flyspell-correct",
     "ivy"
    ],
-   "commit": "a9b53c52ab350aead0851e140d813cfd7b1bd680",
-   "sha256": "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   }
  },
  {
@@ -33345,27 +34153,28 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20181205,
-    1932
+    20191230,
+    630
    ],
    "deps": [
     "flyspell-correct",
     "popup"
    ],
-   "commit": "a0852074bab130a711ba6b4696a7cb8059dac8db",
-   "sha256": "088cnxz4gnm0ps5myns861cjdnskvbxj70p5bimwbb4cvlp3v322"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   },
   "stable": {
    "version": [
     0,
-    5
+    6,
+    1
    ],
    "deps": [
     "flyspell-correct",
     "popup"
    ],
-   "commit": "a9b53c52ab350aead0851e140d813cfd7b1bd680",
-   "sha256": "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"
+   "commit": "7b4cf8c9ba5ac65e3bb2b62f5b72d45f4c9cf7b6",
+   "sha256": "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"
   }
  },
  {
@@ -33481,26 +34290,26 @@
   "repo": "larstvei/Focus",
   "unstable": {
    "version": [
-    20190318,
-    242
+    20191209,
+    2210
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f",
-   "sha256": "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"
+   "commit": "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0",
+   "sha256": "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw"
   },
   "stable": {
    "version": [
-    0,
     1,
-    1
+    0,
+    0
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "75202c9445f52eab6fb82f00006f37cd20dae6b2",
-   "sha256": "1v9y3dp7sd4rsm31myp3l1jxpwjw3madajb6yz9rw0yhdirfwgbg"
+   "commit": "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0",
+   "sha256": "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw"
   }
  },
  {
@@ -33593,11 +34402,11 @@
   "repo": "magnars/fold-this.el",
   "unstable": {
    "version": [
-    20190723,
-    811
+    20191107,
+    1816
    ],
-   "commit": "74752dc6b6c0e73826b33198a552bb440b04f275",
-   "sha256": "01lv0ibkcimlyg3g7ffzw0fqfmvbshj30gg8j7niq6m3rkphxk4a"
+   "commit": "c3912c738cf0515f65162479c55999e2992afce5",
+   "sha256": "0cnfkz2bjyk0fkbxa80h500f7pig7q0rdifmj56d4whzhg2jsicg"
   },
   "stable": {
    "version": [
@@ -33744,11 +34553,11 @@
   "repo": "cadadr/elisp",
   "unstable": {
    "version": [
-    20190904,
-    1257
+    20191004,
+    1850
    ],
-   "commit": "ebb2778052aeaf737adebc003957cb48cb01135e",
-   "sha256": "0qlvdpa88ic9gnb0qhijfsc9i6l3ba2zrvk4r4li3qrx0i9rpz5c"
+   "commit": "eab07dae119129066624e692c1c75a53b2ab10a5",
+   "sha256": "1q9g8kza6hv6pv1sjzkl6b4gxcx6fsvv8lk5w7kk9gpws5vjz5bz"
   }
  },
  {
@@ -33825,8 +34634,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20190909,
-    2017
+    20200102,
+    2204
    ],
    "deps": [
     "closql",
@@ -33838,8 +34647,8 @@
     "markdown-mode",
     "transient"
    ],
-   "commit": "4424101b416931abc1b838e48f5710bd933c2973",
-   "sha256": "0rbvmj265v75q76x1qvvyz313h6ww7kh3s8w318vghrnylj6za0y"
+   "commit": "269effb4954071f590954c0e5b4faba3f27d03d0",
+   "sha256": "0d6l1rllzznc9qvim1zn5w3plqcdpk9lwc7m4jsx8jkhxzyajw68"
   },
   "stable": {
    "version": [
@@ -33894,14 +34703,26 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20190911,
-    2017
+    20200107,
+    1608
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "15a33a9b62d7ac0580c722ee4a7130bd67ba9b49",
-   "sha256": "16zka3dcxzn25ig8fg06lhiv453pnyqp791hald4r90v46p4x7qq"
+   "commit": "f0ff413f09b5982b39df6ebe0d566aa221da7327",
+   "sha256": "0bzss41dg25sn7cgf21v5v8hl0qb47l5cr5ngqc9yzd8lgg3x56y"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "09119a61855efe084e77f14544d5432b94cfa82c",
+   "sha256": "1890i4h18rciyl0vngxchdc01hw3wciq7s8qzgnikdz2pcqfwf2m"
   }
  },
  {
@@ -34025,20 +34846,20 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20190913,
-    637
+    20191217,
+    914
    ],
-   "commit": "f663ea2cfea24bf17ca539bd7ffe844351b7efe8",
-   "sha256": "0svmsia57dbakdcyjx3435n0vwlrh548j21d5mrgm788dkn668nv"
+   "commit": "4805d4149366e69cdce2e4206540fcf064eac91b",
+   "sha256": "1xavb8yp24y2pvvmh68m0mfdslfifgni22dv7p20lnqz7dp3x3n6"
   },
   "stable": {
    "version": [
     2,
-    7,
-    3
+    8,
+    1
    ],
-   "commit": "5fe797ebea7544749bc212c77780942329a1ff70",
-   "sha256": "1ghck97vv2ygqbwgwxgbzb0wvf87w0i6vff47lzmmr2ig1ggw2yb"
+   "commit": "cd58c7e8d8fde05ef521fbcd066a290b005e6d40",
+   "sha256": "063bdfr0rnnr4k1js9vjcwhdliw374iw433a5hwj3cqj1jwz133q"
   }
  },
  {
@@ -34180,20 +35001,20 @@
   "repo": "tarsius/frameshot",
   "unstable": {
    "version": [
-    20181219,
-    2100
+    20200103,
+    1238
    ],
-   "commit": "d0b76e4a5d9d112690bf27155f7c34a1ae5548b4",
-   "sha256": "149v1lxxl6kz0pwb68x65vj0fghrsfyir00qrcsl90vc5yp76ra3"
+   "commit": "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf",
+   "sha256": "1rcx0la0njg3ij0xgw7l1wl8nlvdd0bj40v51wvmdybyiba7cdx6"
   },
   "stable": {
    "version": [
     0,
     2,
-    2
+    4
    ],
-   "commit": "3830aae976603ff4e41e09fdca7554594075694c",
-   "sha256": "1sbxr78gl822gl0ky7iz1wb558ch9gp7igg4aq63gjlq6wfx2v93"
+   "commit": "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf",
+   "sha256": "1rcx0la0njg3ij0xgw7l1wl8nlvdd0bj40v51wvmdybyiba7cdx6"
   }
  },
  {
@@ -34229,8 +35050,8 @@
     "a",
     "dash"
    ],
-   "commit": "31ef9ff4af1a4fed3dcc24ea74037feea8795c87",
-   "sha256": "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"
+   "commit": "6d57aee131d96315aedf6cb7d6e5d6d09bf71503",
+   "sha256": "1hxjvfys5kqwvl21jj5sfb6bpqxdgdhsrniq821y324glc8s38xc"
   }
  },
  {
@@ -34241,15 +35062,15 @@
   "url": "https://git.launchpad.net/frecentf.el",
   "unstable": {
    "version": [
-    20190903,
-    2109
+    20191204,
+    312
    ],
    "deps": [
     "frecency",
     "persist"
    ],
-   "commit": "b32eb159de14b2e0d1d1c763acd65cc6784756ae",
-   "sha256": "15pskn85dmm7dblp56b0zzby9wbc2kysb7n3q07yp8680z6lnxhg"
+   "commit": "1d5d641fdd93480db2374276e85ec652af0565c5",
+   "sha256": "01l92rz4hll2v5k0xppmszcpy0r6lxgm4cql0zxkcj5yhgzjmrln"
   }
  },
  {
@@ -34381,44 +35202,35 @@
  },
  {
   "ename": "fsharp-mode",
-  "commit": "dc45611e2b629d8bc5f74555368f964420b79541",
-  "sha256": "07pkj30cawh0diqhrp3jkshgsd0i3y34rdnjb4af8mr7dsbsxb6z",
+  "commit": "7a41e8a101b1b76870402eb8f60130be9e9f189d",
+  "sha256": "1bcgy40z5d1663rafh4vhbm8d24yxnbw23sagki4427sywinl11x",
   "fetcher": "github",
-  "repo": "rneatherway/emacs-fsharp-mode-bin",
+  "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20190609,
-    1317
+    20191130,
+    1857
    ],
    "deps": [
-    "company",
-    "company-quickhelp",
     "dash",
-    "flycheck",
-    "popup",
-    "pos-tip",
+    "eglot",
     "s"
    ],
-   "commit": "e2a63296681d65969d9c21144a22c6fd2f9dd57d",
-   "sha256": "0llv82jhfmxnblhihnc07z343780dsd2167xjm4vrpcqvlpp50g8"
+   "commit": "0415c45489fa7d83e9a7c94530aa1943682aabf9",
+   "sha256": "1cwyj9xw9d2hyvibvyr046bhgmxpf55nmgb33la7564wfgkmr37f"
   },
   "stable": {
    "version": [
     1,
-    9,
-    14
+    10
    ],
    "deps": [
-    "company",
-    "company-quickhelp",
     "dash",
-    "flycheck",
-    "popup",
-    "pos-tip",
+    "eglot",
     "s"
    ],
-   "commit": "e2a63296681d65969d9c21144a22c6fd2f9dd57d",
-   "sha256": "0llv82jhfmxnblhihnc07z343780dsd2167xjm4vrpcqvlpp50g8"
+   "commit": "4a1df3342931f09edc933cb481da70cc5a5ef268",
+   "sha256": "0dkfd4nlc0hxikvby1271y6zppsvcc0jr12m2w1zrng1pqx666di"
   }
  },
  {
@@ -34471,8 +35283,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "5f1f2a00d61ea45c6114e6be333f4eeb3d85420c",
-   "sha256": "031rh3cqv3hmgf8jjgal9hnsj655bsrh4a2p0jr1fr9zvgzc7v27"
+   "commit": "ca1612cc57239c37c7646544d40a6a10adb80476",
+   "sha256": "1nnim6q1ab2din657qdnlzn5fy1a9wdvkw7gjlb2n9xd27ln00gy"
   },
   "stable": {
    "version": [
@@ -34541,8 +35353,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "d6a5217f7f2a5a5edcb75140f3fa69b3a50f1cdd",
-   "sha256": "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"
+   "commit": "2c4497f5d66898f5f4cbde3abe97402880e46c2c",
+   "sha256": "0jnkri7d23hh392lfc3gwjlis4a0pgn0jpbhm4md94ap263yyylc"
   },
   "stable": {
    "version": [
@@ -34625,29 +35437,29 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20190724,
-    2151
+    20200107,
+    2336
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f7b674b549f19a0cf936fe56ddeac4502c7b980d",
-   "sha256": "1i6hhpdz5pyv07jr3wikrajnw270fm27nmrji2rz31z8b20nn4z0"
+   "commit": "c0899e431e5819575231a7e637d6c77f51e384f5",
+   "sha256": "0xayw1jwxfln67k8fwkdvc784zrv5sf0jajngxhcx0ljwaqj97q3"
   }
  },
  {
   "ename": "fuz",
-  "commit": "aed40e85cf9a9906ca7a9fe34469083d21254e42",
-  "sha256": "0bpm2p5i8zyjsbn4d7i7rghwbap9mw4f5a5q47r6nxnr0fciarz5",
+  "commit": "2d3139563902bb1cb8aa48a517747f12a1ca1746",
+  "sha256": "0xmi3r7mhxc38rjmx2p0lhsn0gch21hhbr2s0gxy1h29mhgvy3sb",
   "fetcher": "github",
-  "repo": "cireu/fuz.el",
+  "repo": "rustify-emacs/fuz.el",
   "unstable": {
    "version": [
-    20190810,
-    507
+    20200104,
+    524
    ],
-   "commit": "f4e30922952470984460d6617e35939aa97640dd",
-   "sha256": "08dyp4z3yqc044wyff207z8bzj51z91yxfk92vv120cvach70k5z"
+   "commit": "0b6b64cebde5675be3a28520ee16234db48d3b8b",
+   "sha256": "1bddjr3rpmvkrljq5ipjm42d59m2897cpfhmiah3rcb4c6ra40m1"
   },
   "stable": {
    "version": [
@@ -34856,17 +35668,17 @@
  },
  {
   "ename": "gap-mode",
-  "commit": "83ec19a4ebac6b2d0fd84939b393848f82620978",
-  "sha256": "07whab3gi4b8gsvy5ijmjnj700lw0rm3bnr1769byhnpi7qpqin2",
-  "fetcher": "bitbucket",
+  "commit": "2790c00a79df237cf853a00f094fdeca9e532a9a",
+  "sha256": "1xq50vkw4sgfjv2sfc3ddybjzbaxq97xwgjxjkd8k6v5f755qn29",
+  "fetcher": "gitlab",
   "repo": "gvol/gap-mode",
   "unstable": {
    "version": [
-    20180809,
-    445
+    20191110,
+    2237
    ],
-   "commit": "00f251070b10ba72d0548955ca125498fcaaf40c",
-   "sha256": "0rk5smpzpdqzpmb5cp2l40042i51z3f40fkd3hma40id0ql2gy2w"
+   "commit": "62adb8935033eead7fbf2c107c2dfb79afa53c67",
+   "sha256": "1rhhls2ylc2jg3mman3zq0mknmmwhll09d9dxrqmk5262d2f7vw4"
   }
  },
  {
@@ -35008,11 +35820,11 @@
   "repo": "jaor/geiser",
   "unstable": {
    "version": [
-    20190905,
-    2337
+    20200103,
+    1329
    ],
-   "commit": "f76340bd11dc6eb5cf6c22cb5f39e76d52b15d66",
-   "sha256": "0si9d2xcxwkf9l6sly3cckyzlrvr67ihijffjmaswbx7qkgb7gk1"
+   "commit": "645e4775420c59bb10ef0693ed2631a8df8c0e29",
+   "sha256": "035rf5i37zwl4glnpvvgn25sp1lf3c212ycsah5xpyh0ddzw5v4v"
   },
   "stable": {
    "version": [
@@ -35031,14 +35843,14 @@
   "repo": "noctuid/general.el",
   "unstable": {
    "version": [
-    20190719,
-    140
+    20191031,
+    2024
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f032c3a77079487d0ea563b17ee3e5b2fb084611",
-   "sha256": "0lgh5z17ag5wvvnqwagvam29cp1n1vd50amn6df02xln80bsbllx"
+   "commit": "f6e928622d78d927c7043da904782ed7160ea803",
+   "sha256": "1l541isnwhcg3y8h709zw6nskhkgwnkbdbl1zv702mgfsbl5am62"
   }
  },
  {
@@ -35102,6 +35914,27 @@
   }
  },
  {
+  "ename": "gerrit",
+  "commit": "3b966a2476cf10234686e49d808bcbabe0686891",
+  "sha256": "1ikkd2xjr1n8p43pwycfrsfy9fkib83mf8l0p4bjrjszfcb9ln4v",
+  "fetcher": "github",
+  "repo": "thisch/gerrit.el",
+  "unstable": {
+   "version": [
+    20200107,
+    2305
+   ],
+   "deps": [
+    "dash",
+    "hydra",
+    "magit",
+    "s"
+   ],
+   "commit": "a88e2ca8a6b3ccab44ed8f4f7653e6235c96353b",
+   "sha256": "0mm7naq50wwjljky1yzcxh1mzi5x74dc4yzqaxl5wrqkc80calhz"
+  }
+ },
+ {
   "ename": "gerrit-download",
   "commit": "18725e799efd1694ff2397b6c877f926ac5f4ce8",
   "sha256": "1rlz0iqgvr8yxnv5qmk29xs1jwf0g0ckzanlyldcxvs7n6mhkjjp",
@@ -35386,16 +36219,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20190806,
-    959
+    20200102,
+    2204
    ],
    "deps": [
-    "dash",
     "let-alist",
     "treepy"
    ],
-   "commit": "7d59937d7782d0062216130a4d059b45e8396f82",
-   "sha256": "1ngb61nij9gznqplwg1fmr1vq1czry759hmdibzngl4wqhxpfsjq"
+   "commit": "a9c5ac44bc7691752e6bfea87ac75c7459ce88f3",
+   "sha256": "07wanc8l1k9dk1r7ykgpiq1yfp5dwhvwlfaay1y86xblpd9jaagi"
   },
   "stable": {
    "version": [
@@ -35421,15 +36253,15 @@
   "repo": "vermiculus/ghub-plus",
   "unstable": {
    "version": [
-    20181113,
-    32
+    20191229,
+    1748
    ],
    "deps": [
     "apiwrap",
     "ghub"
    ],
-   "commit": "51ebffe549286b3c0b0565a373f44f4d64fc57af",
-   "sha256": "11fr6ri95a9wkc0mqrkhjxz1fm2cb52151fc88k73l93mggib3ak"
+   "commit": "b1adef2402d7599911d4dd447a987a0cea04e6fe",
+   "sha256": "0bzri6s5mwvgir9smkz68d5cgcf4glpdmcj8dz8rjxziwrg6k5bz"
   },
   "stable": {
    "version": [
@@ -35452,11 +36284,11 @@
   "repo": "Ambrevar/emacs-gif-screencast",
   "unstable": {
    "version": [
-    20190326,
-    849
+    20191212,
+    147
    ],
-   "commit": "248d1e158405e6cba2c65ecaed40e2c59b089cd8",
-   "sha256": "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"
+   "commit": "2ed2ebe710690f041c074cc59816ecd3e0f8e980",
+   "sha256": "1nyysz7bcx4lm2jp08c50xqrz14piwpvr83yk77rrdjg837iasg4"
   }
  },
  {
@@ -35590,8 +36422,8 @@
     20180925,
     2003
    ],
-   "commit": "8f6290c76e7827d5a198e7dc04516bcfb2128c06",
-   "sha256": "0ns6m856i9j18fsg96mm66k0xwdxrnnmnzgr296f4f6gqvx7kia8"
+   "commit": "50df0630eba2a931146f676d349b29bde6b6b37b",
+   "sha256": "181yd1nwg5mvk8i5y49fmqzk6jp0rzx3zl50qq59d48jlj4l5f9f"
   },
   "stable": {
    "version": [
@@ -35611,20 +36443,69 @@
   "repo": "ryuslash/git-auto-commit-mode",
   "unstable": {
    "version": [
-    20190716,
-    1936
+    20191214,
+    1021
    ],
-   "commit": "e533166a228a4969cbd391734301957c9d4fe7b6",
-   "sha256": "1diw1mwqy5x92a7f01vzynxcs5f2pb17d2hwx83ny2gp7k2gwfha"
+   "commit": "6f7b58f866a72709c213f4c1f7c957beb474bd6c",
+   "sha256": "0lfyksjl4wlb0vlw99ng4wi0q6q9dh6skia2ji836h0hbqnfyp3l"
   },
   "stable": {
    "version": [
     4,
-    4,
+    5,
     0
    ],
-   "commit": "075e5f9ded66c2035581a7b216896556cc586814",
-   "sha256": "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"
+   "commit": "3db70af7d3659d1fe0ed2edf34cae23708a6d511",
+   "sha256": "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"
+  }
+ },
+ {
+  "ename": "git-backup",
+  "commit": "07d8ba2d036abeeb585f9dfd0399ae97fd1e2415",
+  "sha256": "094sh80zyidzavf0b4nfpryi164x24mi4bs8jqcwvlyg91vn9b96",
+  "fetcher": "github",
+  "repo": "antham/git-backup",
+  "unstable": {
+   "version": [
+    20191209,
+    2144
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "643c8c292c128ac3d0c4d80f2d4a2e19db711e6c",
+   "sha256": "0k7blj6s31llvznwsj94kwpnahb6ga58vkx6542ibdmcgdb59n1d"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "e28d7af2d1c58fa5b8068223eb83a73f044e6a6c",
+   "sha256": "1kx5pmm7hrcppryb39z289dab5h0w6hwk0jk1bmvbg9lzf9hqz3q"
+  }
+ },
+ {
+  "ename": "git-backup-ivy",
+  "commit": "51d979059ab570a0e43264dfa081e7241dc3a2b5",
+  "sha256": "1yfyq6i2cfm0kdjkzrc5pql2k5hsk9wwhz220blcizldw142p236",
+  "fetcher": "github",
+  "repo": "walseb/git-backup-ivy",
+  "unstable": {
+   "version": [
+    20191224,
+    1254
+   ],
+   "deps": [
+    "git-backup",
+    "ivy"
+   ],
+   "commit": "0a6226c37b63660e6b246bc9bbcf919e44270a99",
+   "sha256": "081dfbxs417zv2dds4i16ak6dri41cfn012sbfmalp8qslpclb6z"
   }
  },
  {
@@ -35650,15 +36531,15 @@
   "repo": "10sr/git-command-el",
   "unstable": {
    "version": [
-    20190311,
-    511
+    20191028,
+    333
    ],
    "deps": [
     "term-run",
     "with-editor"
    ],
-   "commit": "89169f4b8e8d2546cac81d38bf584764e630812e",
-   "sha256": "1dgy9c7q0lxx5k5vdjcil6405qjpqpyq3s0ndh8fn6ybbhap9jda"
+   "commit": "a773d40da39dfb1c6ecf2b0758aa370ddea8f06d",
+   "sha256": "01b2h88a6fxy23p9ggwlj5vv30aw16m8fnqxx9yr9c6yv8p9f5cl"
   },
   "stable": {
    "version": [
@@ -35683,15 +36564,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20190717,
-    29
+    20200102,
+    2204
    ],
    "deps": [
     "dash",
+    "transient",
     "with-editor"
    ],
-   "commit": "5c424142704d481faafce7b834af67c1aca98e68",
-   "sha256": "0849yg97gkg3qp0xa67kxfq888i5nmmz0982zcvc3n4k6xswy52c"
+   "commit": "2191261223078077bf35eb12187e35ff0228174a",
+   "sha256": "1fn1ygaw71qq5b6dqk4bj05rfjqb4qz2hv0vc3m3zvpckxar6v5g"
   },
   "stable": {
    "version": [
@@ -35715,8 +36597,8 @@
   "repo": "emacs-stuff/git-commit-insert-issue",
   "unstable": {
    "version": [
-    20171102,
-    1841
+    20191008,
+    950
    ],
    "deps": [
     "bitbucket",
@@ -35725,8 +36607,8 @@
     "projectile",
     "s"
    ],
-   "commit": "f986923b04b587206ce7ee8e0c456768600e8be7",
-   "sha256": "1gffjf6byasisa9jdcv9n4n5zqalvzfsxv7z75zl0g3ph7wc7bbm"
+   "commit": "51c863d9ba21bf11f6681b54be19b4c04d50d1ba",
+   "sha256": "16m3669vm7j0ksfxvp8xqli70z8smb2xlf4cbzgjkfsl3kffbww6"
   },
   "stable": {
    "version": [
@@ -35889,16 +36771,16 @@
   "repo": "akirak/git-identity.el",
   "unstable": {
    "version": [
-    20190706,
-    442
+    20191006,
+    443
    ],
    "deps": [
     "dash",
     "f",
     "hydra"
    ],
-   "commit": "9ef80401da9bfd8870888685e86330c864a2d554",
-   "sha256": "0hgsa8lm1f5a6c4k5gb93jg952p32kb5zm77rblrlrvjrmvrrp76"
+   "commit": "747ea7c2694754719261c2845cdd9f5f8b3aae20",
+   "sha256": "1hg2na6djk2ca4hdsnk3n04yk8q6cdjf6zm63142wgkmzd31qplx"
   },
   "stable": {
    "version": [
@@ -35961,11 +36843,11 @@
   "repo": "sshaw/git-link",
   "unstable": {
    "version": [
-    20190829,
-    145
+    20191119,
+    1420
    ],
-   "commit": "267bd81c228bdab434172dbef896f3f3b82713fa",
-   "sha256": "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"
+   "commit": "2fb0e4be8801e7d53e02fc7f14ec0f9a14586ba2",
+   "sha256": "1y5qw5iyblj14zjvw4is51qyvmy2z0f0iba7cqr628zn9q1fqll6"
   },
   "stable": {
    "version": [
@@ -36014,15 +36896,15 @@
   "repo": "kidd/git-msg-prefix.el",
   "unstable": {
    "version": [
-    20180118,
-    1446
+    20191031,
+    1304
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "848f2c7475f5e4937b09f55e85ea89a3be5f8588",
-   "sha256": "0ab6qjq5nky15vj88j5s8sh7gp9lbwgxrfqsc08bg6gdf2rx2dvx"
+   "commit": "43f6b31c1090371260a2f15b2117a7666920bee7",
+   "sha256": "01fcf0qqy24ji0ka9gh91gdrp81ilq2xjwah3rv2b90yjk8wib60"
   }
  },
  {
@@ -36094,6 +36976,38 @@
   }
  },
  {
+  "ename": "git-walktree",
+  "commit": "10bccf74f0bfd3788a7a07956b9f46fe40ff81e8",
+  "sha256": "1iyxncq8bgh4hlsll7agsxnw5038g712aglh4qczg202kdq1qcnz",
+  "fetcher": "github",
+  "repo": "10sr/git-walktree-el",
+  "unstable": {
+   "version": [
+    20191101,
+    302
+   ],
+   "deps": [
+    "cl-lib",
+    "git"
+   ],
+   "commit": "162d9073286c256502df4baa9845790b9f4c2f05",
+   "sha256": "17z0csy00i56l7mmz2xhc1pmq044m17r4xy1azp775h9k9y2n6m9"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "cl-lib",
+    "git"
+   ],
+   "commit": "a1a5490b89d193724ec637818baf2d8edf97c638",
+   "sha256": "13ksz3syz96n3qzk4spwyq8g8xl8riqdlh9glp92v3hg2h3d5nbs"
+  }
+ },
+ {
   "ename": "git-wip-timemachine",
   "commit": "81b5dd5765f52efdb88fdc14f48af641a18b3dcb",
   "sha256": "02fi51k6l23cgnwjp507ylkiwb8azmnhc0fips68nwn9dghzp6dw",
@@ -36133,8 +37047,8 @@
     20180318,
     1956
    ],
-   "commit": "33c6a116a5b298e20eb39ebb154a51c4dd37c06d",
-   "sha256": "1l129z6hdqyzpmk6wcjlp9nxrlhfdgrq9ql8rqq57z28sa88abld"
+   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
+   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
   },
   "stable": {
    "version": [
@@ -36181,8 +37095,8 @@
     20180318,
     1956
    ],
-   "commit": "33c6a116a5b298e20eb39ebb154a51c4dd37c06d",
-   "sha256": "1l129z6hdqyzpmk6wcjlp9nxrlhfdgrq9ql8rqq57z28sa88abld"
+   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
+   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
   },
   "stable": {
    "version": [
@@ -36393,8 +37307,8 @@
     "ghub",
     "s"
    ],
-   "commit": "a13a3b4f1b6114a32af843971a145ab880f51232",
-   "sha256": "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"
+   "commit": "4f7f927f57d39beac231cadcd1fea42c77103073",
+   "sha256": "1wcmkz47ylid9p5fvy9a6yzylv457vrcpc64msmfsnai6qbqx8k3"
   }
  },
  {
@@ -36473,8 +37387,8 @@
     20180318,
     1956
    ],
-   "commit": "33c6a116a5b298e20eb39ebb154a51c4dd37c06d",
-   "sha256": "1l129z6hdqyzpmk6wcjlp9nxrlhfdgrq9ql8rqq57z28sa88abld"
+   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
+   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
   },
   "stable": {
    "version": [
@@ -36545,14 +37459,14 @@
   "repo": "joewreschnig/gitlab-ci-mode",
   "unstable": {
    "version": [
-    20190824,
-    1528
+    20191022,
+    2017
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "2651e831aed84ee2512245952fac94901b086549",
-   "sha256": "16fb4r3vq8xkzl911v7gaky95w1agfxjlpaxpjmidwx48rbcar59"
+   "commit": "c861dc5fa17d380d5c3aca99dc3bbec5eee623bc",
+   "sha256": "0yd6s5vy5afkigm87xyh1nnwljplx1wdn5h02224ica0py48fzhd"
   },
   "stable": {
    "version": [
@@ -36587,15 +37501,15 @@
   },
   "stable": {
    "version": [
-    20180304,
+    20180605,
     1
    ],
    "deps": [
     "flycheck",
     "gitlab-ci-mode"
    ],
-   "commit": "388fd05f3ea88ed3ebafb09868fc021f6ecc7625",
-   "sha256": "0idpg4265rfx5i0i8cgfs6w3gncc766mbg81ldxqjhzvq3n28z39"
+   "commit": "30ea0eab74b24818f187242b079845785035e967",
+   "sha256": "0awv24znkxs0h8pkj4b5jwjajxkf1agam09m5glr8zn5g3xbj798"
   }
  },
  {
@@ -36694,6 +37608,21 @@
   }
  },
  {
+  "ename": "global-tags",
+  "commit": "2bf3f3de312becb948000a21b280c990a03c8aa0",
+  "sha256": "0zfjfn92dnz7x5k67fphch6a5n7nyigapcg20gsz34xshdnnsz3z",
+  "fetcher": "git",
+  "url": "https://git.launchpad.net/global-tags.el",
+  "unstable": {
+   "version": [
+    20191104,
+    1328
+   ],
+   "commit": "8ac8790790d833e2979103f7f5a14b37382ff323",
+   "sha256": "05swwpslvy3c7yv7v5g6q4s82ff623lpbdkasmq3q8jhmbjsx92k"
+  }
+ },
+ {
   "ename": "glsl-mode",
   "commit": "c416822d54df436f29dcf9a5f26398685fdc17a2",
   "sha256": "0d05qb60k5f7wwpsp3amzghayfbwcha6rh8nrslhnklpjbg87aw5",
@@ -36701,11 +37630,11 @@
   "repo": "jimhourihan/glsl-mode",
   "unstable": {
    "version": [
-    20190514,
-    145
+    20191017,
+    2148
    ],
-   "commit": "eaea63a45d0dcb04ddbf069b4bcfd99f10919e44",
-   "sha256": "0fb6as099y1k8inc39n8hkmb63j1l4sd5q9cbyqz4shfczma3546"
+   "commit": "43d906688a8e2fe650005806eb69bea131d9321a",
+   "sha256": "1783gimn1adfgs2xybz15nrx8wsz1xb4xk8mxrc18hyci7fwk04r"
   }
  },
  {
@@ -36831,6 +37760,29 @@
   }
  },
  {
+  "ename": "gnome-screencast",
+  "commit": "628db4fa9d74c60290bf0e81cbb7ffdd08bd4a68",
+  "sha256": "0h16zj0lyg76g6561q8xbazyidwbr8bd146lw8s68vdgmn6k9qn3",
+  "fetcher": "github",
+  "repo": "juergenhoetzel/emacs-gnome-screencast",
+  "unstable": {
+   "version": [
+    20191217,
+    2007
+   ],
+   "commit": "cff1c312224b4943df6fb6559492fd94caa82f86",
+   "sha256": "0cwdmlq3aibai1g4jbxvwms9wvqxscak7bvlxv52i9qxyr7gjlnv"
+  },
+  "stable": {
+   "version": [
+    1,
+    4
+   ],
+   "commit": "261844a88c75f10d98b60577ac8121fcd6721564",
+   "sha256": "0qc5dj14fj3wa36kf3d6n0ijd49lpxmgnn1qw5qqbz29k12w5sqf"
+  }
+ },
+ {
   "ename": "gnomenm",
   "commit": "dd98221d3498528efb0f2d943102d32ebd7b34b3",
   "sha256": "01vmr64j6hcvdbzg945c5a2g4fiidl18dsk4px7mdf85cv45kzqm",
@@ -36890,17 +37842,17 @@
  },
  {
   "ename": "gnuplot",
-  "commit": "78be03893e4b0502ce999375e5630d32bda56ac1",
-  "sha256": "06c5gqf02fkra8c52xck1lqvf4yg45zfibyf9zqmnbwk7p2jxrds",
+  "commit": "be594de074dc3513c773d78c38e823be53061612",
+  "sha256": "1cz3db40r72cfqazg0w85fx5249d98wkxvjjjcn8dhwnmqymqigi",
   "fetcher": "github",
-  "repo": "bruceravel/gnuplot-mode",
+  "repo": "emacsorphanage/gnuplot",
   "unstable": {
    "version": [
-    20141231,
-    2137
+    20191212,
+    1801
    ],
-   "commit": "21f9046e3f5caad41b750b5c9cee02fa4fd20fb9",
-   "sha256": "1gm116479gdwc4hr3nyv1id692dcd1sx7w2a80pvmgr35ybccn7c"
+   "commit": "a406143d52618638d908b6b0b1c1c90c045b83ee",
+   "sha256": "0vq7ha6z07x46pf7qig1f6p1rr8vyhj8vafrmq40h3gw5422vv8y"
   },
   "stable": {
    "version": [
@@ -37130,8 +38082,8 @@
    "deps": [
     "auto-complete"
    ],
-   "commit": "7fb65232883f19a8305706b4b4ff32916ffbcaf5",
-   "sha256": "09yqziccv9mg5jlmhw8gslpcwwiiah0hs05nq0qnsbdnvc8bs4lr"
+   "commit": "939b4a677f2f843ea13d9dd90206d57111f0ceb9",
+   "sha256": "1yfw8y6czkqgxpyfdxwvkcrsmwbca7l0lr4jqmnpmm5m5rylcwr9"
   },
   "stable": {
    "version": [
@@ -37152,11 +38104,11 @@
   "url": "https://git.sr.ht/~zge/go-capf",
   "unstable": {
    "version": [
-    20190629,
-    727
+    20200102,
+    1957
    ],
-   "commit": "728e290b182239260937efcf816d904122c423ca",
-   "sha256": "0s8hwpd882gpxnmlz3y6987gc5c2kawsdkqic5d4kfd8v9yc0psx"
+   "commit": "d391dd08cc33be958d9ff21daeb88b79e5ab68e4",
+   "sha256": "0snwaj702xjy3qrknjjywqsgr8553rk6kr1qdcbpln9nj9hyksb4"
   },
   "stable": {
    "version": [
@@ -37226,26 +38178,26 @@
   "repo": "benma/go-dlv.el",
   "unstable": {
    "version": [
-    20190413,
-    1623
+    20191005,
+    829
    ],
    "deps": [
     "go-mode"
    ],
-   "commit": "df03ade331d8fb46acc57ef358e696bc36129e04",
-   "sha256": "0sfx84cbxn8d3gsjg0zjam4yc7pjlyp3g94xa3xv91k71ncnijs1"
+   "commit": "d3cca689e76b71e0ef0ab827c7e01cd9042d2095",
+   "sha256": "0qdbfg9ihxwywjyir3lj1azwsaw425f90gp3182q7165j5v43k9w"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
    "deps": [
     "go-mode"
    ],
-   "commit": "df03ade331d8fb46acc57ef358e696bc36129e04",
-   "sha256": "0sfx84cbxn8d3gsjg0zjam4yc7pjlyp3g94xa3xv91k71ncnijs1"
+   "commit": "d3cca689e76b71e0ef0ab827c7e01cd9042d2095",
+   "sha256": "0qdbfg9ihxwywjyir3lj1azwsaw425f90gp3182q7165j5v43k9w"
   }
  },
  {
@@ -37375,8 +38327,8 @@
     "cl-lib",
     "go-mode"
    ],
-   "commit": "1bbe1d0cb88564e6c5b74ccd78ab87a8b9998374",
-   "sha256": "1jrlcz940y8hpizsy7byimyc9drl3myfym1pg4sg374jrr1y8nz2"
+   "commit": "e10d6775f486ef09ed993567b0bd2c69f35deb45",
+   "sha256": "0z41kbyl8g0nb00sx8y5lhnx8w99rawnpkm7avn93f8kd5fan8im"
   },
   "stable": {
    "version": [
@@ -37468,11 +38420,11 @@
   "repo": "dominikh/go-mode.el",
   "unstable": {
    "version": [
-    20190917,
-    1943
+    20200107,
+    546
    ],
-   "commit": "1bbe1d0cb88564e6c5b74ccd78ab87a8b9998374",
-   "sha256": "1jrlcz940y8hpizsy7byimyc9drl3myfym1pg4sg374jrr1y8nz2"
+   "commit": "e10d6775f486ef09ed993567b0bd2c69f35deb45",
+   "sha256": "0z41kbyl8g0nb00sx8y5lhnx8w99rawnpkm7avn93f8kd5fan8im"
   },
   "stable": {
    "version": [
@@ -37576,8 +38528,8 @@
    "deps": [
     "go-mode"
    ],
-   "commit": "1bbe1d0cb88564e6c5b74ccd78ab87a8b9998374",
-   "sha256": "1jrlcz940y8hpizsy7byimyc9drl3myfym1pg4sg374jrr1y8nz2"
+   "commit": "e10d6775f486ef09ed993567b0bd2c69f35deb45",
+   "sha256": "0z41kbyl8g0nb00sx8y5lhnx8w99rawnpkm7avn93f8kd5fan8im"
   },
   "stable": {
    "version": [
@@ -37765,11 +38717,11 @@
   "repo": "roman/golden-ratio.el",
   "unstable": {
    "version": [
-    20150819,
-    1120
+    20191028,
+    1732
    ],
-   "commit": "72b028808b41d23fa3f7e8c0d23d2c475e7b46ae",
-   "sha256": "0wdw89n7ngxpcdigv8c01h4i84hsdh0y7xq6jdj1i6mnajl8gk92"
+   "commit": "007911d8a431b72670f5fe5f0e5b4380c2777a31",
+   "sha256": "1dkc25yj47jlrji0v9xjxj3d3hhgnxxb5ia91zlby1mil7r9cwv1"
   },
   "stable": {
    "version": [
@@ -37824,8 +38776,8 @@
     20180221,
     2015
    ],
-   "commit": "414d861bb4acf565ff8cb05f9906a2283b7dc75a",
-   "sha256": "1ixb7c3vv8ky7gk9kpknv4hg0wgk6xfcbxxrmql9vc16g6jvcspy"
+   "commit": "fdd1cda4f05fd1fd86124f0ef9ce31a0b72c8448",
+   "sha256": "0a23pc90fqar8sm1b480sls15ss20rqk13yrf63b6rnyd2c6z0x2"
   }
  },
  {
@@ -37869,8 +38821,8 @@
     20180130,
     1736
    ],
-   "commit": "5651966e0275572a9956199418d89c9ccc7b2b1a",
-   "sha256": "10lxzkz031lazd9zs3pwh2j7723gzpbhr564vsk1r4gdcbbbj2h3"
+   "commit": "f704c352f4f0597d2bd8b85d089b093946ff75d7",
+   "sha256": "0kki38izdw7wl6x8cvcwidmrrw1cgx18a64gffwl05ka59yw375g"
   }
  },
  {
@@ -38030,8 +38982,8 @@
     "hydra",
     "s"
    ],
-   "commit": "bbd27f6a0a77f484e2a3f082d70dc69da63ae52a",
-   "sha256": "01lqirxgw7svxy1fdv49mvcbhpslf64in6c4dk36b8xhngyqbilf"
+   "commit": "6a73bf352e8d893f89cad36c958c4db2b5e35e07",
+   "sha256": "0ydiq55ylm8ph2r5nlv9p7a5bnnxk3c9731l7mbzdhd43f734dld"
   },
   "stable": {
    "version": [
@@ -38051,16 +39003,16 @@
   "repo": "nlamirault/gotest.el",
   "unstable": {
    "version": [
-    20180617,
-    1333
+    20191128,
+    1111
    ],
    "deps": [
     "f",
     "go-mode",
     "s"
    ],
-   "commit": "36e09a6bf1face4c56d4a7707935c992786e0076",
-   "sha256": "1aqjyhp7qdss3iqfxamp45006fgfxdgvhf7lqjnjs2xqzvmvsq80"
+   "commit": "70f63eafda1f6a2f0a01a9320cc4d2edee9a17b2",
+   "sha256": "090xf2w5zgffndpjvg4qfdm77cpsc8vpr00h6j0skjpr3bni79cx"
   },
   "stable": {
    "version": [
@@ -38085,11 +39037,11 @@
   "repo": "wasamasa/gotham-theme",
   "unstable": {
    "version": [
-    20171013,
-    1916
+    20191022,
+    1809
    ],
-   "commit": "5e97554d1f9639698faedb0660e63694be33bd84",
-   "sha256": "18x0b2qmyzf9sddsv9ps1059pi4ndzq44rm4yl87slq03y75nxi9"
+   "commit": "02a7c7cd280747737792f4620b0df2e0b826e2c7",
+   "sha256": "017ibhznkyla2c3qymv3mlcd25svx8c55vavsb4apwzw061n8m79"
   },
   "stable": {
    "version": [
@@ -38103,15 +39055,24 @@
  },
  {
   "ename": "goto-char-preview",
-  "commit": "b856d9304ba8814050634db54c8abb88e5dce772",
-  "sha256": "1h9lq9ka469day511nnv566kggja23pa8zhqxa805p6lp7132b4d",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1k7dp2zhlk3kyy0br5fqzj6sx9zkg215s3qs8flf3w0xji150r6k",
   "fetcher": "github",
-  "repo": "elpa-host/goto-char-preview",
+  "repo": "jcs-elpa/goto-char-preview",
   "unstable": {
    "version": [
     20190418,
     829
    ],
+   "commit": "c0209143fbeafcc9ba93bc2333dd08e72211fa20",
+   "sha256": "15plzc33vyhmfm7bxhvnfr25yvjj6fdr1zp2dvsj8jryj4gb6gkz"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
    "commit": "366cf84c30fc8e675e9cbab1091ead6f3cd0d399",
    "sha256": "1y2ay0r0rqayvw8wlbf8advjbhvzz7sa16k272mxszxzp7xmnr71"
   }
@@ -38213,15 +39174,24 @@
  },
  {
   "ename": "goto-line-preview",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "1id3msndzav59ljwdp7xnh0glbzc8d12phpywlb89h5nclj0rzsl",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "18q5x2rsg8qyll76cyi0rm5ywgcb4p0w1b2zl0pc9y3qi2g2lwvr",
   "fetcher": "github",
-  "repo": "elpa-host/goto-line-preview",
+  "repo": "jcs-elpa/goto-line-preview",
   "unstable": {
    "version": [
     20190308,
     736
    ],
+   "commit": "1f0afb261a4e4a1b0a2fae3959b0ce5d30bce2a1",
+   "sha256": "03csbs9mh9jjw21sncvnlmm97waazy0c57jp1jynwhzzsbp0k0rs"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    5
+   ],
    "commit": "772fb942777a321b4698add1b94cff157f23a93b",
    "sha256": "16zil8kjv7lfmy11g88p1cm24j9db319fgkwzsgf2vzp1m15l0pc"
   }
@@ -38234,8 +39204,8 @@
   "repo": "vmware/govmomi",
   "unstable": {
    "version": [
-    20180524,
-    2023
+    20191213,
+    2131
    ],
    "deps": [
     "dash",
@@ -38243,8 +39213,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "31565d975e8c13d4577f4fa705d897ed5da2d524",
-   "sha256": "00sdbwgn4fqbkahwyys3ffdppckbd9pikwjdwh6bpm6s70lpkf98"
+   "commit": "deff37c279fe783a0ea565cd572565d37bbedafd",
+   "sha256": "0zamng9677kj13wp6gmadmrb4r9bngf74pmd6xvvnwdwn5s0gvrz"
   },
   "stable": {
    "version": [
@@ -38332,14 +39302,14 @@
   "repo": "xuchunyang/grab-x-link",
   "unstable": {
    "version": [
-    20180205,
-    1146
+    20191113,
+    848
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d19f0c0da0ddc55005a4c1cdc2b8c5de8bea1e8c",
-   "sha256": "1l9jg2w8ym169b5dhg3k5vksbmicg4n1a55x7ddjysf8n887cpid"
+   "commit": "d898db46e4864118359fdedfe915e180de3fe290",
+   "sha256": "0npz0da2rcckv0zcf2f8vpjcdnii3z99x6c5c4z7jd4xgkp004xs"
   },
   "stable": {
    "version": [
@@ -38418,8 +39388,8 @@
     20160504,
     911
    ],
-   "commit": "aa531c659758b896ff8fbd307080ce0d1d04ebfb",
-   "sha256": "0jcqldpgx9b0xsvxvj7lgqrb39cwn7adggrlxfcm0pgc40dpfwb4"
+   "commit": "cafdd98e06a3bbff213f3ccb163de2c42d412b66",
+   "sha256": "07809alyxind4n0rb1h3x19hgq7ihpn128xljlz38d9xvp0r48z3"
   },
   "stable": {
    "version": [
@@ -38463,6 +39433,42 @@
   }
  },
  {
+  "ename": "grammarly",
+  "commit": "1bbf7e3434cea3d0f6f72747ea653188ce25f68f",
+  "sha256": "0h0gikvbyraflm921jmf2jkj1nfgxsdq1ybih449zbhxkvb494d4",
+  "fetcher": "github",
+  "repo": "jcs-elpa/grammarly",
+  "unstable": {
+   "version": [
+    20200105,
+    125
+   ],
+   "deps": [
+    "cl-lib",
+    "request",
+    "s",
+    "websocket"
+   ],
+   "commit": "87b46bb1c906e86fe9ea16b54d3699deb33d7221",
+   "sha256": "1jkb2g1xiwgwdyhgk1v9lr8s2h1hw1drq3d1kiba0djiicchy46y"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "deps": [
+    "cl-lib",
+    "request",
+    "s",
+    "websocket"
+   ],
+   "commit": "cd2e75f21989a586c9cc71540fc6e3b5df8a5ce0",
+   "sha256": "1v7lwwx9iyksh5aaav97vd5pm07k93fkv5v4h96s8i3hyrbcgd74"
+  }
+ },
+ {
   "ename": "grandshell-theme",
   "commit": "f0a8eb0eefe88b4ea683a4743c0f8393506e014b",
   "sha256": "1r0r0r0g116f4jp3rip8mjqqgdam4h5dr5qvdglr9xpirfcw6wq3",
@@ -38591,11 +39597,11 @@
   "repo": "davazp/graphql-mode",
   "unstable": {
    "version": [
-    20190812,
-    2240
+    20191024,
+    1221
    ],
-   "commit": "3581ad03e04b11c67d4882cbaa9ab6af71eaf78d",
-   "sha256": "0mabd677yi7phzvvil9fyic5i9z4nyp224d0ifzp5mw0jpsvfxv1"
+   "commit": "7c37aee28bf8c8ffb3da73df5571c4e1e352562b",
+   "sha256": "0hjzqmrc024b98nisvn2ld8gn3bslg8ip19d1fnid3m8q9zk8w8b"
   }
  },
  {
@@ -38606,19 +39612,20 @@
   "repo": "ppareit/graphviz-dot-mode",
   "unstable": {
    "version": [
-    20181118,
-    551
+    20191126,
+    2016
    ],
-   "commit": "243de72e09ddd5cdc4863613af8b749827a5e1cd",
-   "sha256": "10ss7mhlkqvxh7y2w7njzh3hiz3r7y49a3q9j41bwipia4yzq4n5"
+   "commit": "158644714e8f35d8d2b9e5e4fbd00dbd8075a7bb",
+   "sha256": "0ymz88244dccbrysaq1yik6nzrqmaw37jh6h1sqqla0nbbidgvr1"
   },
   "stable": {
    "version": [
     0,
-    4
+    4,
+    1
    ],
-   "commit": "7301cc276206b6995d265bcb9eb308bb83c760be",
-   "sha256": "1zk664ilyz14p11csmqgzs73gx08hy32h3pnyymzqkavmgb6h3s0"
+   "commit": "1574c504d9810f34a85e2ff49b6f7648c2be5f27",
+   "sha256": "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj"
   }
  },
  {
@@ -38647,10 +39654,10 @@
  },
  {
   "ename": "grass-mode",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1lq6bk4bwgcy4ra3d9rlca3fk87ydg7xnnqcqjg0pw4m9xnr3f7v",
-  "fetcher": "bitbucket",
-  "repo": "tws/grass-mode.el",
+  "commit": "c6f0b067cfbd2902a585b9d1eaadabcac3e62286",
+  "sha256": "1njzw4sparjcyhxki2z0xqrsbazfm52bxm7522szgvxcmjwxybcz",
+  "fetcher": "github",
+  "repo": "plantarum/grass-mode",
   "unstable": {
    "version": [
     20170503,
@@ -38660,8 +39667,19 @@
     "cl-lib",
     "dash"
    ],
-   "commit": "1ae8eae881173ddff64982d1fd0e14d4e7793fc1",
-   "sha256": "1sl3d5759fjm98pb50ykz2c05czb2298ipccwj2qz2hdzq63hfv8"
+   "commit": "8a7e9dcb2295eef1ec25d886b05e09c876bd8398",
+   "sha256": "023s9kn012z6m4aprsq77zv4kvfvwfics5gcdja7ig4xwqqrzymq"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "23ca856ca979fec0f90196b357f2b74fe1cc3a73",
+   "sha256": "116247yggxs0hfbx1746j1d642gk9zbx15c2dw4p5pq9qkasmy95"
   }
  },
  {
@@ -38802,8 +39820,8 @@
     "cl-lib",
     "dash"
    ],
-   "commit": "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d",
-   "sha256": "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"
+   "commit": "58f6edc18510d871e4f5ef63ef60665cbc204e96",
+   "sha256": "04mk5wi2i4mx58mfzl4zk10lm58yliczsw5vpxqmikz8gbripqqx"
   },
   "stable": {
    "version": [
@@ -38857,20 +39875,20 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20190909,
-    1939
+    20191114,
+    1754
    ],
-   "commit": "eb574c874c76cd3e9b8ec39be04331eaeeac5f31",
-   "sha256": "1m7q1nbg3x6lgbrdsxnsbxchhfw5v0lf5dzix8lnw2wv1lsl51py"
+   "commit": "d1ee2d170b50ccd6f32d875db527581e6ee959fd",
+   "sha256": "15892kak2ag4hc3vi01yp5qsn9yzjqqhfxyfxf4lv0xh02gnbh5j"
   },
   "stable": {
    "version": [
     2,
     1,
-    0
+    3
    ],
-   "commit": "eb574c874c76cd3e9b8ec39be04331eaeeac5f31",
-   "sha256": "1m7q1nbg3x6lgbrdsxnsbxchhfw5v0lf5dzix8lnw2wv1lsl51py"
+   "commit": "923ebc91e37e6489e02c11c5cd6c490f7aa5efb5",
+   "sha256": "0jhk8agn0y56gf6hcd15yn1lbfzdc7522j9xqly90pd3jjcllpbp"
   }
  },
  {
@@ -38939,15 +39957,15 @@
   "repo": "Groovy-Emacs-Modes/groovy-emacs-modes",
   "unstable": {
    "version": [
-    20190407,
-    2314
+    20191031,
+    2256
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "aa531c659758b896ff8fbd307080ce0d1d04ebfb",
-   "sha256": "0jcqldpgx9b0xsvxvj7lgqrb39cwn7adggrlxfcm0pgc40dpfwb4"
+   "commit": "cafdd98e06a3bbff213f3ccb163de2c42d412b66",
+   "sha256": "07809alyxind4n0rb1h3x19hgq7ihpn128xljlz38d9xvp0r48z3"
   },
   "stable": {
    "version": [
@@ -39127,11 +40145,11 @@
   "repo": "abo-abo/gtk-pomodoro-indicator",
   "unstable": {
    "version": [
-    20171230,
-    1640
+    20191007,
+    1500
    ],
-   "commit": "eb59b229de0dde307b20654075a9bbac69899a66",
-   "sha256": "0dmaazcscg9mdsmij26873af5jl2np4q9xf2klw1jmcl61wzggb0"
+   "commit": "338e6dca6d749cfc85195907bba593f9f6855715",
+   "sha256": "1nl2ji5wvmfzchxpnmsgxn4v2lybyymyyh99lw3riqg6gb0phl9l"
   }
  },
  {
@@ -39224,8 +40242,8 @@
   "repo": "alezost/guix.el",
   "unstable": {
    "version": [
-    20190913,
-    1624
+    20191121,
+    1620
    ],
    "deps": [
     "bui",
@@ -39234,15 +40252,14 @@
     "geiser",
     "magit-popup"
    ],
-   "commit": "24918011d2f1a78d63f39bf0c462b7dab190629a",
-   "sha256": "1maag50nbgwygc6w7lbna1ml20f3k4dvxzjm3fgdqmfypi5ag891"
+   "commit": "c2796e68868c91253b6aca422a9ae07363aa03a9",
+   "sha256": "0i0bvv3wd3fd22mffa62076mi1cnzwyphibqiimll23kngg507b2"
   },
   "stable": {
    "version": [
     0,
     5,
-    1,
-    1
+    2
    ],
    "deps": [
     "bui",
@@ -39251,8 +40268,8 @@
     "geiser",
     "magit-popup"
    ],
-   "commit": "c4c96663fefe7e007c372e7d24d6e7016b70e4ee",
-   "sha256": "1730q2dm84f15ycjdf3dgl2j8770mhr6qnyzxgac3zzkjr8pyvq7"
+   "commit": "c2796e68868c91253b6aca422a9ae07363aa03a9",
+   "sha256": "0i0bvv3wd3fd22mffa62076mi1cnzwyphibqiimll23kngg507b2"
   }
  },
  {
@@ -39402,14 +40419,14 @@
   "repo": "hhvm/hack-mode",
   "unstable": {
    "version": [
-    20190809,
-    1810
+    20191218,
+    1628
    ],
    "deps": [
     "s"
    ],
-   "commit": "6ccad0581775eb5a777382b37175c1ec230ae5cb",
-   "sha256": "0yixpz25bi7cbji7jk2azkpbnxvc56fymsg2zxvwjrb8dh6gwapk"
+   "commit": "fd6a661b091490920804d043303596f9e60a5dd7",
+   "sha256": "1x4nymp53rdm1d0jjkz0mha4d8y8wzmakf65d56fn5mnziqh2l5d"
   },
   "stable": {
    "version": [
@@ -39635,6 +40652,24 @@
   }
  },
  {
+  "ename": "handle",
+  "commit": "da5debb55f7b34dcbcea81675bddd872bdb7fd69",
+  "sha256": "032rfk3hiv0ps0p332gkf67vqs5nif8hhraiv3zlybxblzhcxaw1",
+  "fetcher": "gitlab",
+  "repo": "jjzmajic/handle",
+  "unstable": {
+   "version": [
+    20191029,
+    856
+   ],
+   "deps": [
+    "parent-mode"
+   ],
+   "commit": "e27b2d0b229923f81a2c8afa3e9c65ae9e84a0da",
+   "sha256": "1w77p85ww1fjqgybi75s9bayqxyfvy040nr0gvsv3lmkri2mhglm"
+  }
+ },
+ {
   "ename": "handlebars-mode",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0wizasjihnabnqzn1226vh4gb571rs7s86bffhvkfvbk95zkiafq",
@@ -39859,19 +40894,19 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20190801,
-    50
+    20191229,
+    2357
    ],
-   "commit": "56d67ee282294c786a92e2d83c5bebf1a6d919c1",
-   "sha256": "1wschs4ny2b40bg8z86vc73zq32bv9mcxkyvgbmza44zvhqpdkwp"
+   "commit": "c69ced59b6e2b452858a9469ce2c343a09aee871",
+   "sha256": "0lbbn5kh3c2yvh5xn8b2a2s5364yms3iga6x0ks442yzkfrbf78g"
   },
   "stable": {
    "version": [
-    16,
+    17,
     1
    ],
-   "commit": "d2ea5239bf02f3917a78a5c2dcbc5b6f6dd1b359",
-   "sha256": "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"
+   "commit": "17357211a16394884a981fe0c062f94250b40300",
+   "sha256": "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn"
   }
  },
  {
@@ -40044,10 +41079,10 @@
  },
  {
   "ename": "haxe-mode",
-  "commit": "efc5f69915e5284b955c096d5128b4fbb1c5b64b",
-  "sha256": "17n94a12zzigq5bn3jxqrmy1h3vb3brc60j5ckhbp5pvlf906yr9",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "14grb7lcaw57rzqlyy4ja10068r59i2ifxk0q177p4yg8rm519cy",
   "fetcher": "github",
-  "repo": "elpa-host/haxe-mode",
+  "repo": "jcs-elpa/haxe-mode",
   "unstable": {
    "version": [
     20190703,
@@ -40193,29 +41228,30 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20190920,
-    637
+    20200107,
+    1518
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "cfa42e9f94260887d5a54b3c2356d61903f424bc",
-   "sha256": "0lwhs7wlq2w698ipfjpfb0r2arkalrn8a21qdjnx3lvs4b2jj72l"
+   "commit": "05d70ff116a696f5c18e5ad569573d8936ff01da",
+   "sha256": "0v7xgfilnzcyha7vyqgr5imjhppw9y8vxazdvkl5n4vdh7n0xb98"
   },
   "stable": {
    "version": [
     3,
-    3
+    6,
+    0
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "12c50cf2a3748f44eb8c8ccad89ebd6e63fe99f6",
-   "sha256": "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92"
+   "commit": "ac3c49be00df1efecc76ef0b33db2884039579b8",
+   "sha256": "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"
   }
  },
  {
@@ -40459,8 +41495,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20190918,
-    1116
+    20191028,
+    1313
    ],
    "deps": [
     "biblio",
@@ -40471,8 +41507,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "5a26b35c3fa223d4c74262137f34bb2f325c4411",
-   "sha256": "0nw35f2qr5pqswz1rbkgwvd2wmvg8hzjf419w9iffx1m858k99rf"
+   "commit": "d4471232be26793fbf56c0ac3690b5f537c378b9",
+   "sha256": "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"
   },
   "stable": {
    "version": [
@@ -40544,8 +41580,8 @@
    "deps": [
     "helm-core"
    ],
-   "commit": "632495036c4a6ac30e408fc74ee9f209fd5ac429",
-   "sha256": "0rbgk982jlbqh1rhns3zmndfr3lpw7m2j9z7qylghkll4k8fcjpl"
+   "commit": "c722016622ad019202419cca60c3be3c53e56130",
+   "sha256": "08i8d6b41n4sq3jb4gvxkiml73am82jzqkqvvdm9mdhibb8x08mx"
   },
   "stable": {
    "version": [
@@ -40791,14 +41827,14 @@
   "repo": "xuchunyang/helm-chrome-history",
   "unstable": {
    "version": [
-    20190714,
-    324
+    20191031,
+    1233
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "5c37ac3f1abdb02af80fc57878b22d872dfecc80",
-   "sha256": "0sjxjizcj4znhx64pvah6cdg5wy9v4zgrvj691y3fqw2ydb3467d"
+   "commit": "f9002d4c12df65a99830376b126dbbeae3ef2148",
+   "sha256": "18vgy5kaj0cmrar7ahcxiy9jva006zd7yfcgyi5h99yv62g76j72"
   }
  },
  {
@@ -41047,25 +42083,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20190917,
-    551
+    20200108,
+    724
    ],
    "deps": [
     "async"
    ],
-   "commit": "cfa42e9f94260887d5a54b3c2356d61903f424bc",
-   "sha256": "0lwhs7wlq2w698ipfjpfb0r2arkalrn8a21qdjnx3lvs4b2jj72l"
+   "commit": "05d70ff116a696f5c18e5ad569573d8936ff01da",
+   "sha256": "0v7xgfilnzcyha7vyqgr5imjhppw9y8vxazdvkl5n4vdh7n0xb98"
   },
   "stable": {
    "version": [
     3,
-    3
+    6,
+    0
    ],
    "deps": [
     "async"
    ],
-   "commit": "12c50cf2a3748f44eb8c8ccad89ebd6e63fe99f6",
-   "sha256": "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92"
+   "commit": "ac3c49be00df1efecc76ef0b33db2884039579b8",
+   "sha256": "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"
   }
  },
  {
@@ -41110,14 +42147,14 @@
   "repo": "emacsorphanage/helm-css-scss",
   "unstable": {
    "version": [
-    20140627,
-    25
+    20191230,
+    1549
    ],
    "deps": [
     "helm"
    ],
-   "commit": "ab8348aa98e0daa2f1b771e35bdb06bfacbe5016",
-   "sha256": "01a3pahpsxb7d15dkfgxypl7gzqb4dy4f36lmid1w77b9rhs6nph"
+   "commit": "48b996f73af1fef8d6e88a1c545d98f8c50b0cf3",
+   "sha256": "1xadlsg4c52anbk3dqz6blkrid8lzsd28rw402gy17vnk7lwg9i7"
   }
  },
  {
@@ -41128,16 +42165,16 @@
   "repo": "danlamanna/helm-ctest",
   "unstable": {
    "version": [
-    20180821,
-    1005
+    20191031,
+    1435
    ],
    "deps": [
     "dash",
     "helm-core",
     "s"
    ],
-   "commit": "0c73689692a290f56080e95325c15362e90d529b",
-   "sha256": "143vyd64w3gycc68jcsji474nz2ggda58hgwq6hyiwb7s0gm1gd3"
+   "commit": "2a29cfb4ec583da247fa2ae7bac88790b1223e40",
+   "sha256": "11am95crkf409w3ph17x55v0xx2gy4spb4qc6z5f7vbxgwyaa4a6"
   }
  },
  {
@@ -41156,8 +42193,8 @@
     "dash-docs",
     "helm"
    ],
-   "commit": "6c76c794fec95586028633f24773451812af5df4",
-   "sha256": "0ajkflf6fzpxxgv2nzpxnc1d2rp32ba1lz9x4s2bini71krai88s"
+   "commit": "7f853bd34da666f0e9a883011c80f451b06f6c59",
+   "sha256": "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"
   },
   "stable": {
    "version": [
@@ -41229,14 +42266,14 @@
   "repo": "emacs-helm/helm-dictionary",
   "unstable": {
    "version": [
-    20160817,
-    2033
+    20191110,
+    2202
    ],
    "deps": [
     "helm"
    ],
-   "commit": "805ce850d4cbe811227d9c9b16cc51f652198f3f",
-   "sha256": "0ambb6i8ipz5y0mnc8jd07j3iiwb7ah87pw8x8pi3phv1r80l0k1"
+   "commit": "6a21ac1ba424ffa87b3b3e1b53d0fdd529844a28",
+   "sha256": "1qpcly4v7yf6ncp951gl1c18riln86xgyasf66n56qj26mfq8bhq"
   }
  },
  {
@@ -41386,16 +42423,16 @@
   "repo": "emacs-helm/helm-emms",
   "unstable": {
    "version": [
-    20190422,
-    1522
+    20191111,
+    1954
    ],
    "deps": [
     "cl-lib",
     "emms",
     "helm"
    ],
-   "commit": "89ec04e6548f16c5848cc49ad506e0561cea87ab",
-   "sha256": "0cn1amwgf5nm73yjxnhjsl6dvfcvh8qb2j2rhsyd6i8kzzkyplf2"
+   "commit": "f0bf6b307f9747ba16b3f582e8364a5012e41465",
+   "sha256": "0wldy81xyb96kg1pz6l2i463pi83qz84m1rmiff7866w9rl1fifd"
   },
   "stable": {
    "version": [
@@ -41585,11 +42622,41 @@
   }
  },
  {
+  "ename": "helm-fd",
+  "commit": "ea8d504faa73bc0a649b13738ed7c6a76e2fad88",
+  "sha256": "1hlq0xxi616flykay9jr96rqgvs53dmlk50h25982jpl6xb63g9y",
+  "fetcher": "github",
+  "repo": "lerouxrgd/helm-fd",
+  "unstable": {
+   "version": [
+    20190923,
+    48
+   ],
+   "deps": [
+    "helm"
+   ],
+   "commit": "84a2aa656473f2921e35abad62b158b3813ee944",
+   "sha256": "14bdcr4db500sqv5p47jdkjp06hys35bpb07fp40v39r9pbzfdla"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "helm"
+   ],
+   "commit": "2891ca941b5a70facf35d5a8bbc791fc41ab0284",
+   "sha256": "16szlby36g393mwnywl59iyngrinnsd9xilsgadr6l9hngas4anm"
+  }
+ },
+ {
   "ename": "helm-file-preview",
-  "commit": "bf60b4c17c866cd89ff68b99aeb2941c6bc6d940",
-  "sha256": "0y3wkj98nj5nnf5v5iqaihipyx9p902i152gbcrsqcjbpgw3wlhz",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "0rvwf54xz3wb640z0r8gsdv9frf650r7llviicvy5gmfddrlpjh4",
   "fetcher": "github",
-  "repo": "elpa-host/helm-file-preview",
+  "repo": "jcs-elpa/helm-file-preview",
   "unstable": {
    "version": [
     20190903,
@@ -41653,6 +42720,37 @@
   }
  },
  {
+  "ename": "helm-fish-completion",
+  "commit": "0e73cbca73b5be3fa107c045083c765b5dc5d9e8",
+  "sha256": "1farkigcif15yb8nz6kb99hc9qf7kpf39z2vmsjp62c936rrsxls",
+  "fetcher": "github",
+  "repo": "emacs-helm/helm-fish-completion",
+  "unstable": {
+   "version": [
+    20191230,
+    1717
+   ],
+   "deps": [
+    "fish-completion",
+    "helm"
+   ],
+   "commit": "b579193c9eca37e45ac54b66114032e9fb78aa69",
+   "sha256": "1aydd2f0xmyrkl9hhxcrgzgrpl2qna1krzgaprw0y7gcvg0p09b4"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "fish-completion",
+    "helm"
+   ],
+   "commit": "dff0fdfdbf70ad41fa2da031197836a84384e635",
+   "sha256": "089gp2k22xwn33z8brpyb7r18vpyralq2cwxj1xsc8b2sj9s4896"
+  }
+ },
+ {
   "ename": "helm-flx",
   "commit": "f1418d260f34d698cec611978001c7fd1d1a8a89",
   "sha256": "03vxr5f5m4s6k6rm0976w8h3s4c3b5mrdqgmkd281hmyh9q3cslq",
@@ -41757,21 +42855,21 @@
  },
  {
   "ename": "helm-fuz",
-  "commit": "7b411e46e9246beb36acb3e468980e84c77c6015",
-  "sha256": "1j3fpmqn526pkrrms578fm470svqd2yran4mpxjx0xps45nsklsc",
+  "commit": "2d3139563902bb1cb8aa48a517747f12a1ca1746",
+  "sha256": "1c6mm698kzk0armpla4i5xn5fh8pwhim6gj4cblk0wwf2av2r58b",
   "fetcher": "github",
-  "repo": "cireu/fuz.el",
+  "repo": "rustify-emacs/fuz.el",
   "unstable": {
    "version": [
-    20190815,
-    401
+    20200104,
+    524
    ],
    "deps": [
     "fuz",
     "helm"
    ],
-   "commit": "f4e30922952470984460d6617e35939aa97640dd",
-   "sha256": "08dyp4z3yqc044wyff207z8bzj51z91yxfk92vv120cvach70k5z"
+   "commit": "0b6b64cebde5675be3a28520ee16234db48d3b8b",
+   "sha256": "1bddjr3rpmvkrljq5ipjm42d59m2897cpfhmiah3rcb4c6ra40m1"
   },
   "stable": {
    "version": [
@@ -41807,10 +42905,10 @@
  },
  {
   "ename": "helm-fuzzy",
-  "commit": "e0172c8a4e2393a0263373c80e6e7f654bf74dc6",
-  "sha256": "1f7lj9prgh0wpf8xmy5xi5rhs5pj3j4lz68apd95nv2idnbrrlb7",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "088mrqqv9d2vrja67xrd37zzxl4k02rl5smscrp7ad6d60y1k1zy",
   "fetcher": "github",
-  "repo": "elpa-host/helm-fuzzy",
+  "repo": "jcs-elpa/helm-fuzzy",
   "unstable": {
    "version": [
     20190905,
@@ -42458,15 +43556,15 @@
   "repo": "torgeir/helm-js-codemod.el",
   "unstable": {
    "version": [
-    20171106,
-    1044
+    20190921,
+    942
    ],
    "deps": [
     "helm-core",
     "js-codemod"
    ],
-   "commit": "18503d94e64418e8ea5c5854f197ae9f3009cdbf",
-   "sha256": "0d5fsvfa017gda0jryjdvva1q04nry6grc1433gvgrqqp6vxayxc"
+   "commit": "29b1b3c441f0d7e450a3c65b5ff9e72023dc6314",
+   "sha256": "15lksdyk5z4xszfsdk290pm6ri5r9c2ki9jxmwppkqpd52w2dxck"
   }
  },
  {
@@ -42542,8 +43640,8 @@
     "helm",
     "lean-mode"
    ],
-   "commit": "b5ba739f68ef731c03247bf6db2708502c8ac46c",
-   "sha256": "1dx0a76l7w3ck23sdjymigk1hycqiawfwv24yz6wqyy74f1pcyjf"
+   "commit": "f26e40daad2c1bd090e440a2b931205ac3b9b613",
+   "sha256": "022i1v885pvzz42cwrz7wp5amx25k664pvap7c4487hlrrkp1bg9"
   }
  },
  {
@@ -42610,14 +43708,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20190630,
-    737
+    20191127,
+    510
    ],
    "deps": [
     "helm"
    ],
-   "commit": "ab825ea050f88babf6f8d340424f9359f3c6036f",
-   "sha256": "1i71q2d7bv7hc6793is7c1qcykadad5ggpabspac8wg9db360g2b"
+   "commit": "18c53b62bc758b9d8ad4e94a94f58d143ccb29db",
+   "sha256": "0r4dj6422g2zsbm2kig369j39lw4d68zpcr2xr02p02sfyhg1c0f"
   },
   "stable": {
    "version": [
@@ -42689,16 +43787,16 @@
   "repo": "emacs-lsp/helm-lsp",
   "unstable": {
    "version": [
-    20190423,
-    548
+    20200103,
+    1659
    ],
    "deps": [
     "dash",
     "helm",
     "lsp-mode"
    ],
-   "commit": "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b",
-   "sha256": "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"
+   "commit": "6f62659cc528b7e37ffcc8fb356633acd7031be8",
+   "sha256": "1gf3pzrcxrymlj677mghxf4yrqiqa90y3ip1g1f1h186wnwa2vcg"
   }
  },
  {
@@ -42898,8 +43996,8 @@
     "helm",
     "nixos-options"
    ],
-   "commit": "45c8d90748304c90e1503c9fa8db0443f3d4bd89",
-   "sha256": "0hsr8acsvfb42drb8f2wkpgqyh3csny7l82qv4k2l83xf022cs1d"
+   "commit": "977b9a505ffc8b33b70ec7742f90e469b3168297",
+   "sha256": "07vidk3bnby1ch51i67llfdx2q8xc4ax5hvlrc3f72y9gkcpir4x"
   },
   "stable": {
    "version": [
@@ -42985,14 +44083,14 @@
   "repo": "emacs-helm/helm-org",
   "unstable": {
    "version": [
-    20190819,
-    617
+    20191229,
+    635
    ],
    "deps": [
     "helm"
    ],
-   "commit": "542dda7bc9a3b9dfb439e4f8a1e5f60cfb6cc256",
-   "sha256": "1xa32w80icrykpyfb89fhb0s4l7ysi0sc7f7lfwqz5najwbgqipl"
+   "commit": "8457e1e46227bf87726e05c42cec5a4b51c2ef7b",
+   "sha256": "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"
   },
   "stable": {
    "version": [
@@ -43023,8 +44121,8 @@
     "helm",
     "s"
    ],
-   "commit": "dbda48031bad6fec1e130ee6e0d1a3bfea8ad8b8",
-   "sha256": "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"
+   "commit": "abc14bb85427a6585aa354894eaef6926881d585",
+   "sha256": "1ggj84b8wgd8xj6a442wfccvyaqg605zpikx19vqzwymaqbay85f"
   },
   "stable": {
    "version": [
@@ -43245,15 +44343,15 @@
   "repo": "tumashu/helm-posframe",
   "unstable": {
    "version": [
-    20180610,
-    1748
+    20200103,
+    644
    ],
    "deps": [
     "helm",
     "posframe"
    ],
-   "commit": "d28f96ea92ee9393658901bb552723db10f40dc3",
-   "sha256": "1ycf5m06n32axqpm2vkvszff6gxdps1y8gm46682nf8mk2i3xa6f"
+   "commit": "f9b41d6ef3471506528fc7edfeb784c050d87db0",
+   "sha256": "1j65nabxin0czr0vq9wh9fvgc3fswqgbls3l6bncw64y1wzpfbng"
   }
  },
  {
@@ -43718,27 +44816,27 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20170813,
-    411
+    20191222,
+    920
    ],
    "deps": [
     "helm",
     "rtags"
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
    ],
    "deps": [
     "helm",
     "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -43888,16 +44986,16 @@
   "repo": "emacs-helm/helm-slime",
   "unstable": {
    "version": [
-    20190821,
-    1304
+    20191016,
+    1601
    ],
    "deps": [
     "cl-lib",
     "helm",
     "slime"
    ],
-   "commit": "e0dbf04d447098a1d074bc04e125764ff82091b7",
-   "sha256": "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"
+   "commit": "7886cc49906a87ebd73be3b71f5dd6b1433a9b7b",
+   "sha256": "1g9fnp818d677xhx2m4820742fyblvmnsygmkdb5530lacdaksh2"
   },
   "stable": {
    "version": [
@@ -43915,6 +45013,40 @@
   }
  },
  {
+  "ename": "helm-sly",
+  "commit": "4dbeeaca23d938116bf23177a71f38b16276d2c6",
+  "sha256": "1ikrn07b2glyix6n08v6yydiisi17acfmv1cpbq6is5f3zwqcgmx",
+  "fetcher": "github",
+  "repo": "emacs-helm/helm-sly",
+  "unstable": {
+   "version": [
+    20191104,
+    1054
+   ],
+   "deps": [
+    "cl-lib",
+    "helm",
+    "sly"
+   ],
+   "commit": "b1567c27c0b421b9e25e350f0c83b9c7fe0fee6b",
+   "sha256": "0ihcqysz5cvn94rrvjz5l4whzmxcjrfrinas180x8iycpyvzkwk6"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    1
+   ],
+   "deps": [
+    "cl-lib",
+    "helm",
+    "sly"
+   ],
+   "commit": "9a4d91ba738ca06ceab2dea3c1e09fd45a67d488",
+   "sha256": "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"
+  }
+ },
+ {
   "ename": "helm-smex",
   "commit": "85568bd732da952053148e07b95e53f7caf5f62c",
   "sha256": "02jvq2hyq4wwc9v8gaxr9vkjldc60khdbjf71p8w2iny5w3k0jbj",
@@ -44033,6 +45165,26 @@
   }
  },
  {
+  "ename": "helm-switch-shell",
+  "commit": "d585f1f9d6eaccf5150b0e7db530b61beb4ebcf4",
+  "sha256": "1x1qp9l9ahx85m6yqnf00ids1xlm75l6v8rdig77kzzmazpvc707",
+  "fetcher": "github",
+  "repo": "jamesnvc/helm-switch-shell",
+  "unstable": {
+   "version": [
+    20191223,
+    1418
+   ],
+   "deps": [
+    "dash",
+    "helm",
+    "s"
+   ],
+   "commit": "690e20f0d95f81151b34cb424a201f39d93eb430",
+   "sha256": "08p9dfjkf1ssnzd8n69a10mkvdvm8w229fy32z95dh9vbxsp7aqv"
+  }
+ },
+ {
   "ename": "helm-swoop",
   "commit": "7a4e84530b4607a277fc3b678fe7b34b1c5e3b4f",
   "sha256": "0dbn0mzzsjhpxh0dpxrrzqam9hl2sjsp1izq2qv3z11iv2hylzx4",
@@ -44040,14 +45192,14 @@
   "repo": "emacsorphanage/helm-swoop",
   "unstable": {
    "version": [
-    20190822,
-    501
+    20191225,
+    959
    ],
    "deps": [
     "helm"
    ],
-   "commit": "3cc15383fae9063de817d320e87a1f868a46eb83",
-   "sha256": "1jm1yvwbfqhrj0256n5ihvxb1zxhhhqv07yfzkfg2pv6k71hpd9h"
+   "commit": "eab47a9991ec3e6d332b091af3cbc5ee7761b121",
+   "sha256": "1h749s3vx5p8lgpavpvj49a3zipq6ajdrjh8bxv0qxn6k3lc1nly"
   },
   "stable": {
    "version": [
@@ -44360,14 +45512,14 @@
   "repo": "brotzeit/helm-xref",
   "unstable": {
    "version": [
-    20190916,
-    1544
+    20191108,
+    859
    ],
    "deps": [
     "helm"
    ],
-   "commit": "316e1bdb877ec4634addc422cdb9572ee3e2afe0",
-   "sha256": "14zgww1qyk7cp80p6f3viljjbibm3h0c51alplrmjdng57xy0wgq"
+   "commit": "6b4a8bd91f5eaf82f51bd31b03f6587387fe6983",
+   "sha256": "03b57sm98v25bqyy9d2pccfnlfxkvaxmvismhxmai4kfv8d84azj"
   }
  },
  {
@@ -44471,8 +45623,8 @@
   "repo": "Wilfred/helpful",
   "unstable": {
    "version": [
-    20190814,
-    308
+    20200101,
+    1346
    ],
    "deps": [
     "dash",
@@ -44481,8 +45633,8 @@
     "f",
     "s"
    ],
-   "commit": "e9e958a5643619d0e32b9934bf4e9195c57cb71f",
-   "sha256": "1xhcl3i4cpm5j0q0qd3rcgv5cqfikgqxp4wnw96xkalmyhqdgi28"
+   "commit": "982dd49c9c7e63fa94b56824f50dea4186081f8e",
+   "sha256": "03fkk0dybzj6ckkvih7fxsw7kf3a26h7mlly44acxcpkyjxq0k1k"
   },
   "stable": {
    "version": [
@@ -44538,26 +45690,25 @@
   "repo": "jjzmajic/hercules.el",
   "unstable": {
    "version": [
-    20190920,
-    518
+    20190929,
+    637
    ],
    "deps": [
     "which-key"
    ],
-   "commit": "e6fcb0df3fe877bec2d708f4d034da685d8a1081",
-   "sha256": "0i1bza4nj01z23ig340svyr0lcl284lcpg1lpnhc7cmybjlv27nl"
+   "commit": "031f8eec95240fc46481061f0f44822c0f7fe65e",
+   "sha256": "0snfmvri4cpmhrk5s4hxxlyzs3d58ysmqzaiyiz4979admdc1lmb"
   },
   "stable": {
    "version": [
     0,
-    2,
-    1
+    3
    ],
    "deps": [
     "which-key"
    ],
-   "commit": "489ed27f978c8ae7ce0587d4677ef14d59776008",
-   "sha256": "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"
+   "commit": "031f8eec95240fc46481061f0f44822c0f7fe65e",
+   "sha256": "0snfmvri4cpmhrk5s4hxxlyzs3d58ysmqzaiyiz4979admdc1lmb"
   }
  },
  {
@@ -44731,20 +45882,20 @@
   "repo": "hlissner/emacs-hide-mode-line",
   "unstable": {
    "version": [
-    20180302,
-    1910
+    20190922,
+    115
    ],
-   "commit": "86b9057391edad75467261c2e579603567e608f9",
-   "sha256": "0qmjmwhmlm008r22n2mv7lir4v1lpfz1c3yvqlwjgv0glbyvqd88"
+   "commit": "88888825b5b27b300683e662fa3be88d954b1cea",
+   "sha256": "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"
   },
   "stable": {
    "version": [
     1,
     0,
-    1
+    2
    ],
-   "commit": "86b9057391edad75467261c2e579603567e608f9",
-   "sha256": "0qmjmwhmlm008r22n2mv7lir4v1lpfz1c3yvqlwjgv0glbyvqd88"
+   "commit": "88888825b5b27b300683e662fa3be88d954b1cea",
+   "sha256": "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"
   }
  },
  {
@@ -44773,8 +45924,8 @@
     20190425,
     842
    ],
-   "commit": "a1d13c40102e833192c3bd6acf930013bdcbc819",
-   "sha256": "1hg3hvz11ncsh7xhsgv0id4szypj7cv2cffqnk3hphyl073dyic6"
+   "commit": "be2634dc1f08a5e781d02ef301c727246863756f",
+   "sha256": "05v3p2n92xjz035m5p0m5wd85ygngbvjd8y09r5sx1mi5ya2k0v2"
   },
   "stable": {
    "version": [
@@ -45381,17 +46532,17 @@
  },
  {
   "ename": "hl-block-mode",
-  "commit": "d2fbba8cc73a5d567b525ce2c0a15f35379f29e8",
-  "sha256": "16z49k1rn8n1f64fidff0jyhn3h4pmklys9plr96nbd4lvm80msj",
-  "fetcher": "github",
+  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
+  "sha256": "17ghc2hbvckp68blk8izwmx6far9ampalik2f9idz27982h49ia8",
+  "fetcher": "gitlab",
   "repo": "ideasman42/emacs-hl-block-mode",
   "unstable": {
    "version": [
-    20190520,
-    30
+    20200106,
+    448
    ],
-   "commit": "fcefe78a1df2dccb85821d23e6c6ea2a60eedcbc",
-   "sha256": "1r9p7lz0bidr499f7l3w5c9q2ypzhqxn7n1k95wmdmbg8l5jnxxd"
+   "commit": "646c8cb8938b22b34f7c75a8644680a3f75f6bf5",
+   "sha256": "1ydnf53fk6gbcmqijwpi5yqwbz4b86y2xjbmf264a7yavb7gqpjh"
   }
  },
  {
@@ -45460,20 +46611,20 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20190918,
-    2149
+    20200103,
+    1239
    ],
-   "commit": "d7673363ef318a417adc28e36cafb78d01a671af",
-   "sha256": "11d7kmgdpjmjlnfkhfhwvwjdjaag0iscscdbg6gf1hkch19055cp"
+   "commit": "5d2ea49f83a7e6953f9d71de94dee478d08f9543",
+   "sha256": "1v51mlq13wr890ijwcwf0ymmc768cipj7a1nvmbmwh7y4ymlrsgn"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
-   "commit": "487d349b7b8d6738223d5dd10957dd10b45eb9f3",
-   "sha256": "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"
+   "commit": "5d2ea49f83a7e6953f9d71de94dee478d08f9543",
+   "sha256": "1v51mlq13wr890ijwcwf0ymmc768cipj7a1nvmbmwh7y4ymlrsgn"
   }
  },
  {
@@ -45484,16 +46635,16 @@
   "repo": "narendraj9/hledger-mode",
   "unstable": {
    "version": [
-    20190725,
-    2115
+    20191012,
+    1046
    ],
    "deps": [
     "async",
     "htmlize",
     "popup"
    ],
-   "commit": "7b4921f67074bf759c9a83ce227802ed627c7cdf",
-   "sha256": "19g1ps1ljmm9d7805pilxzy92fvbgzzamqlxx8gqj1q55hccflp2"
+   "commit": "8206f3c5d8e5b9b084733879191ec3724b60494d",
+   "sha256": "16y3xb8kc4j72gv1d59g4jw21q53i474hiksa6dzxvxkzva4wzf9"
   }
  },
  {
@@ -45548,6 +46699,26 @@
   }
  },
  {
+  "ename": "hnreader",
+  "commit": "65dc5e41f88158d7595aba7a66b791b205b929b7",
+  "sha256": "1y7ariri9q7dvda28rdp5i66c2xw74ap8cd7n6lskgnnxjk1yl8j",
+  "fetcher": "github",
+  "repo": "thanhvg/emacs-hnreader",
+  "unstable": {
+   "version": [
+    20190909,
+    258
+   ],
+   "deps": [
+    "org",
+    "promise",
+    "request"
+   ],
+   "commit": "7e68beff596a7c67ff436be5cc29660acd46f5df",
+   "sha256": "0yynfz8bw7nvzk05zxypn183y6hf243s55kxfiicnxx7shag217i"
+  }
+ },
+ {
   "ename": "hoa-mode",
   "commit": "f8b91f35d06f9e7e17c9aaf2fb9ee43a77257113",
   "sha256": "06rfqn7sqvmgpvwhfmk17qqs4q0frfzhm597z3p1q7kys2035kiv",
@@ -45555,11 +46726,11 @@
   "url": "https://gitlab.lrde.epita.fr/spot/emacs-modes.git",
   "unstable": {
    "version": [
-    20151203,
-    1650
+    20191010,
+    1132
    ],
-   "commit": "3c608e15b655d2375c5f81323ac561c7848dc029",
-   "sha256": "19360wx1i7lkr8igddm7zl9yh5hlm3r013rkd512cs18iz1y753x"
+   "commit": "558e55429acde26423332a03a3b65b12efdbce5f",
+   "sha256": "0a6jagjimr00dvzrbxj078vyranmv14zl2vn4dkcww4swjzpaag9"
   }
  },
  {
@@ -45777,16 +46948,16 @@
   "repo": "thanhvg/emacs-howdoyou",
   "unstable": {
    "version": [
-    20190916,
-    1812
+    20191118,
+    2222
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "b84874a58c2301bc4c80155a9552eaad1e026b4b",
-   "sha256": "0ssx3zibsqf66biv7gypgi3i29pkmpgy8f5ydynl03m5ix3f2b86"
+   "commit": "8bfaffeff945bcfbc1e2b2cfb65e8452a7a34717",
+   "sha256": "05k7ar832bbzvjicri4v5dyivdrypgkqgninf72izykl89v8yzgx"
   }
  },
  {
@@ -45803,8 +46974,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "e011a70f5955b8eb2e30f7baf2f3833fc6d3216f",
-   "sha256": "0p8gphaqkyl9cmbs85vi31jgbc56j6ghwf5zhn523sy22vcw5j0j"
+   "commit": "4f550d35935abc943e37e1f2da78c52218ac7c8d",
+   "sha256": "1rcyqyb48lsqpsa65ggd7ks88rk53frjhgrwr357b057kcqjic4n"
   }
  },
  {
@@ -45833,14 +47004,14 @@
   "repo": "Wilfred/ht.el",
   "unstable": {
    "version": [
-    20190830,
-    910
+    20190924,
+    704
    ],
    "deps": [
     "dash"
    ],
-   "commit": "3c1f3b527da6ad1b219d64957257acb22971cd73",
-   "sha256": "0mdg9v9vqjprqp6qbn8rk60b4dr6fam2p0g078zkw9092cvbzzmj"
+   "commit": "66c5f9131242697fabaede5566d87ecda4c14b1f",
+   "sha256": "0mip7v2w89wjs2nw4c198y7rpf9i7wsrjibmcnnzwxhcm1sidjnh"
   },
   "stable": {
    "version": [
@@ -45953,32 +47124,41 @@
   "repo": "hniksic/emacs-htmlize",
   "unstable": {
    "version": [
-    20180923,
-    1829
+    20191111,
+    2130
    ],
-   "commit": "8db0aa6aab77475a732b7363f0d57bd3933c18fd",
-   "sha256": "19hwcqla1mnp5k8mll4in1pimqpa8zmqd8yfmxkikldmwwsilaq0"
+   "commit": "86f22f211e9230857197c42a9823d3f05381deed",
+   "sha256": "0n117rb4d9dydl01b65d09rp8bmkir3m09zs02dhlmqmljpy25w8"
   },
   "stable": {
    "version": [
     1,
-    54
+    55
    ],
-   "commit": "a8b73f1393b2d73541ba4a8fd716c0d07ce50276",
-   "sha256": "1d5hj8wibp1lxs697y7i4yrpv9gqq821gxmpqqkn2jwrb70nsngl"
+   "commit": "682edbf751f5c255bfd4af0eb714a8bce0737cec",
+   "sha256": "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"
   }
  },
  {
   "ename": "htmltagwrap",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "19vav9mpqfg6x017b2f4fkhixfw9fslhs03n780qq2n79abp77n9",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1jac5ri96wqwss933z2m3q7yrrz8s3mwz39fahfspwqbycbhx8sx",
   "fetcher": "github",
-  "repo": "elpa-host/htmltagwrap",
+  "repo": "jcs-elpa/htmltagwrap",
   "unstable": {
    "version": [
     20190517,
     511
    ],
+   "commit": "35c62dd95c580fad49f84c5270cd69810455fedd",
+   "sha256": "1gh6acc21lfnng4hlgf6wv5pv4zcs9j44i25grrac0714sa2lm81"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    2
+   ],
    "commit": "3260d9267b51019328c30a6317f28e4a2dd7d522",
    "sha256": "15rfg4z8lhwadgnr58r3skmzmkxs5phnqr1ap4bjd9pq618amdbn"
   }
@@ -46167,30 +47347,30 @@
   "repo": "hylang/hy-mode",
   "unstable": {
    "version": [
-    20190620,
-    1804
+    20191003,
+    1902
    ],
    "deps": [
     "dash",
     "dash-functional",
     "s"
    ],
-   "commit": "8699b744c03e0399c049757b7819d69768cac3bc",
-   "sha256": "0axh3i1fga7znk466nqifkjf45ri7qkb9xvnkc9b5zl4f0z9b5gy"
+   "commit": "e2d5fecdaec602788aa7123ed13651c888b8d94b",
+   "sha256": "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"
   },
   "stable": {
    "version": [
     1,
     0,
-    3
+    4
    ],
    "deps": [
     "dash",
     "dash-functional",
     "s"
    ],
-   "commit": "27a9e6bee0df741f2699e00e64ea2c7a279b401d",
-   "sha256": "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"
+   "commit": "e2d5fecdaec602788aa7123ed13651c888b8d94b",
+   "sha256": "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"
   }
  },
  {
@@ -46278,15 +47458,15 @@
   "repo": "abo-abo/hydra",
   "unstable": {
    "version": [
-    20190821,
-    939
+    20191125,
+    955
    ],
    "deps": [
     "cl-lib",
     "lv"
    ],
-   "commit": "435c55e9f75a8cf3ae6a4ba0c7725e3dc4e5963f",
-   "sha256": "0nzbjx5rnmzl0dhbrrmb5kbcmww6hzs1vwa62nlg9zfwq99zk42l"
+   "commit": "9db28034d7d61bfeff89899633b958f22befc53d",
+   "sha256": "1vay297i270n0s0bs1a96h9mn73i03885nnrcs8723i3iv7b51mp"
   },
   "stable": {
    "version": [
@@ -46424,11 +47604,20 @@
   "repo": "muffinmad/emacs-ibuffer-project",
   "unstable": {
    "version": [
-    20181216,
-    2125
+    20191128,
+    1938
    ],
-   "commit": "7424e71062f2cb969c3e9951203022414dea37fb",
-   "sha256": "02rr81ddpand0hb3yaskklhpknnqfjkcqaa2w77xi4xlzjdima01"
+   "commit": "38d0d528f7ec008d2953fc9c6217b327c50088ec",
+   "sha256": "08ahkjs2rwdn93mmwsp2snvvparq76y3k788q5nj90xl396j5l4r"
+  },
+  "stable": {
+   "version": [
+    1,
+    2,
+    1
+   ],
+   "commit": "a83e74952244f46a759a8ccd5e55176c763c7309",
+   "sha256": "09pcd0xlijxmz2lh69m3rs53agzq4zr7i2wg652v25s4rhipl55r"
   }
  },
  {
@@ -46783,16 +47972,16 @@
   "repo": "DarwinAwardWinner/ido-completing-read-plus",
   "unstable": {
    "version": [
-    20190719,
-    4
+    20191105,
+    532
    ],
    "deps": [
     "cl-lib",
     "memoize",
     "s"
    ],
-   "commit": "fcb6fa0c2f5989b2e79f2dc1ef57d03e455cce44",
-   "sha256": "1wq5gbr87f6c3bbsndkg50ndf6s21pzz49dmxaa4sckjs2ax9mzx"
+   "commit": "74861eabd0a2619be9efc4c91fe0c5e69db5f263",
+   "sha256": "04rykll588dkvmanskqnfvkb9pgsj4ymlzx1msahj1g144laijnc"
   },
   "stable": {
    "version": [
@@ -46868,8 +48057,8 @@
     "flx-ido",
     "migemo"
    ],
-   "commit": "aa93aa05947eb6c106bb9523ff3163b8574c4eac",
-   "sha256": "0k6zidi0ch4z9fg74k968pz7r0hzj56kccbf48k0is0fnzl4isxq"
+   "commit": "da64f2fe3849492d35e155d81a817308a4853473",
+   "sha256": "0r8z8ingq83nkab9khpl9gspihv28gy721hcs0yh1d74wyjc71cr"
   }
  },
  {
@@ -46963,20 +48152,20 @@
  },
  {
   "ename": "ido-migemo",
-  "commit": "8550601b8989f9838dfa7848977b2509b8e16175",
-  "sha256": "02hbwchwx2bcwdxz7gz555699l7n9wisfikax1j6idn167n4wdpi",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "0dpgr9lxj7g7kciw4w7y1qmah91z2b2vwj9xyn8m6f6grihg7p2l",
   "fetcher": "github",
-  "repo": "myuhe/ido-migemo.el",
+  "repo": "emacsattic/ido-migemo",
   "unstable": {
    "version": [
-    20150921,
-    2244
+    20191017,
+    1919
    ],
    "deps": [
     "migemo"
    ],
-   "commit": "e71114a92dd69cb46abf3fb71a09ce27506fcf77",
-   "sha256": "15iajhrgy989pn91ijcd1mq2015bkaacaplm79rmb0ggxhh8vq38"
+   "commit": "09a2cc175b500cab7655a25ffc982e78d46ca669",
+   "sha256": "0my4bvi2b4c5q8wdsdhypyk6w6n63pw0240kx3r6kb85l9rg95r3"
   }
  },
  {
@@ -47425,20 +48614,20 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20180318,
-    2259
+    20200103,
+    1238
    ],
-   "commit": "a61f409c517ec274e1ec81f3f00c178108c226fb",
-   "sha256": "0l75z8i0zpl7jwbmv3jqh896dikdvjh1l8qgwn7xh2hi1zjwybwh"
+   "commit": "100d62c7095743fadddfad5b9e0740ee386ba4cf",
+   "sha256": "0wpfl74v7xnvsk3ribxkfyy4p5p9j2wskrcf0naavqpgm6fc6jvr"
   },
   "stable": {
    "version": [
     1,
     0,
-    1
+    3
    ],
-   "commit": "7df5fb9684a0288313ef5f64594078d477105959",
-   "sha256": "0xc19ir5ak1bfq0ag48ql5rj58zd565csgxhpa30s9lvvkc8kvr5"
+   "commit": "100d62c7095743fadddfad5b9e0740ee386ba4cf",
+   "sha256": "0wpfl74v7xnvsk3ribxkfyy4p5p9j2wskrcf0naavqpgm6fc6jvr"
   }
  },
  {
@@ -47579,20 +48768,20 @@
   "repo": "petergardfjall/emacs-immaterial-theme",
   "unstable": {
    "version": [
-    20190412,
-    1115
+    20200104,
+    1433
    ],
-   "commit": "176178a57c5b342b04bebd3107c29c6d12086cf5",
-   "sha256": "0bsx0dh802x58vza9whgkkj6j16c6pcz7gdpvan50dmzs0h0pfz6"
+   "commit": "fbfceeca10c745829a9a4e0c982f41458e477a5b",
+   "sha256": "0whrgv8g6ml5d45lymwn4qh1cqsj19hwjl0mrhmzgsxj7cx5gfxq"
   },
   "stable": {
    "version": [
     0,
-    1,
+    3,
     3
    ],
-   "commit": "176178a57c5b342b04bebd3107c29c6d12086cf5",
-   "sha256": "0bsx0dh802x58vza9whgkkj6j16c6pcz7gdpvan50dmzs0h0pfz6"
+   "commit": "fbfceeca10c745829a9a4e0c982f41458e477a5b",
+   "sha256": "0whrgv8g6ml5d45lymwn4qh1cqsj19hwjl0mrhmzgsxj7cx5gfxq"
   }
  },
  {
@@ -47741,8 +48930,8 @@
     "epc",
     "f"
    ],
-   "commit": "bbc131278f8cd62f3e71b6f4a86b0c91792a3524",
-   "sha256": "19p4nrpk4g8lxh2rhkgsjrf4xaqi9yp4p2pxrf69lygb54rzbdly"
+   "commit": "86f17856db194c5f18b30f35df40fb029d5544b5",
+   "sha256": "0cak79lnlbfigl6lh3c5wzphxssq78vyd9xxj3zi7ln5q9ijl6pp"
   },
   "stable": {
    "version": [
@@ -47765,11 +48954,11 @@
   "repo": "zk-phi/indent-guide",
   "unstable": {
    "version": [
-    20170221,
-    1127
+    20191106,
+    240
    ],
-   "commit": "d64f43011c72068e008621e620009ec592b35913",
-   "sha256": "1zjxfwbbmg95llpkvgbwdgk6cx7g9x48y3i4v75r8d4iy2xndgq8"
+   "commit": "7fc710748f9e5a086acfe77970f117df89ee9749",
+   "sha256": "055cpcj57k14v2vdpc1an6dww5ncvfpxghpgw1spv53wzgv8vzkq"
   },
   "stable": {
    "version": [
@@ -47795,6 +48984,21 @@
   }
  },
  {
+  "ename": "indent-lint",
+  "commit": "2cd74b5fe81e9b2dcdd9f40e8d5693335629f6ec",
+  "sha256": "1wy8cpyiljjg3315pwivpzlz5cjnxpcigx3pv7rrx5lvdzapz5v8",
+  "fetcher": "github",
+  "repo": "conao3/indent-lint.el",
+  "unstable": {
+   "version": [
+    20191229,
+    846
+   ],
+   "commit": "e76b127241635677a4cb2d457d5c4c74ca93ee92",
+   "sha256": "1bmik58ygg9r9p7cnvxhss49hkcqy3zgcwrhwq59baqixclfwrd1"
+  }
+ },
+ {
   "ename": "indent-tools",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "12rawl9qaihgyascy53yxpkknp95wh8fiqygb5cgl7d761qizvp6",
@@ -47825,8 +49029,8 @@
     20190424,
     1547
    ],
-   "commit": "a5450fe467393194bc2458c0d5e0a06c91bf117a",
-   "sha256": "0phbs9cx73vg9k9gp60vhlrn065skpva6gx0abp0g6rbzys2qx0b"
+   "commit": "c941cde1205642c6b933ae6abbc47d199f609df0",
+   "sha256": "0523x5am383j1msaiflffa98mm05y38v4jvj144hbrhrdk3vykrs"
   }
  },
  {
@@ -47856,8 +49060,8 @@
   "repo": "NicolasPetton/Indium",
   "unstable": {
    "version": [
-    20190830,
-    2019
+    20191128,
+    1600
    ],
    "deps": [
     "company",
@@ -47866,23 +49070,24 @@
     "json-process-client",
     "seq"
    ],
-   "commit": "ded54e3b278a9358a15927b3085ea64562fbf2e6",
-   "sha256": "1dmdlm913rkxvhqj42n2mnqyay73y8ka6xdrs0w8xgq1r508iqmn"
+   "commit": "036f237840dd47e2dc5d368ce4ee3ec18fd4839d",
+   "sha256": "1gxd6ka99j10nlwkv2bmql5yf4lgpa0gh5ys0snci7d5565rxbr9"
   },
   "stable": {
    "version": [
     2,
     1,
-    2
+    4
    ],
    "deps": [
     "company",
     "js2-mode",
     "js2-refactor",
+    "json-process-client",
     "seq"
    ],
-   "commit": "a55f3c2eaa6620c4ce2e61f1d1897db4080a2cd4",
-   "sha256": "07iah188fzmqyb3ag0rjygq68m317grpyibsgy64v8lzdrax0fbs"
+   "commit": "9614d63fa5a5126bd5b68d62410894371da081bf",
+   "sha256": "1cvc9nk1cbym0ah6z0zmgv9bywj3lxvcaflywmavnn4gvxg67m9n"
   }
  },
  {
@@ -47908,14 +49113,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20190531,
-    1511
+    20191008,
+    843
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "0fc23509a1e66bcc3e694066f5067fdbd7b7961d",
-   "sha256": "0w42ms5p5f1f7ir745srj73pj9jy1rfkbh3nf85ms05jgrs10fw9"
+   "commit": "575538e27bf0109693c30afd1a0b5b5bd3eeba0c",
+   "sha256": "13rq2x9y5nadi6qplg56dmr8d0d4gy8zl4dw3vskj1hnj0yi9bv6"
   },
   "stable": {
    "version": [
@@ -47983,11 +49188,11 @@
   "repo": "nonsequitur/inf-ruby",
   "unstable": {
    "version": [
-    20190609,
-    1126
+    20190927,
+    1649
    ],
-   "commit": "928b1dd2c24c62be1900476cb4b7219eb2350856",
-   "sha256": "0rm0ns3kqq0y05gskfkplbq0bz6lb1j92fx3hjgr340fm72ixb1c"
+   "commit": "fd8d392fefd1d99eb58fc597d537d0d7df29c334",
+   "sha256": "0axnjqgamy762ky5al56aryx0mp2b2i9almw9gkjcvxm7nc6zlq9"
   },
   "stable": {
    "version": [
@@ -48093,6 +49298,21 @@
   }
  },
  {
+  "ename": "info-rename-buffer",
+  "commit": "4750abf33d23bce4ca33eb1afe5b972f14f3af39",
+  "sha256": "05ab9apr6zx2k3xqfbq1jjfql9l3hdsf5i4pj8ay0b9lb2x11dpm",
+  "fetcher": "github",
+  "repo": "oitofelix/info-rename-buffer",
+  "unstable": {
+   "version": [
+    20191005,
+    2346
+   ],
+   "commit": "c983ae687481f39b8fd0d4ee9d85fd82b6a4ba03",
+   "sha256": "068flcy4rdzwjpzqqlxpcpcqjxd5f11xq00g55ph17vzxf4iwk3c"
+  }
+ },
+ {
   "ename": "inherit-local",
   "commit": "08b978724ff26b3ea7a134d307d888c80e2a92a9",
   "sha256": "1v3q3s6qq64k1f4ck6rfgsy1arnf9cxg2kw6d1ahfrwr4ixsqm87",
@@ -48218,17 +49438,17 @@
  },
  {
   "ename": "inkpot-theme",
-  "commit": "dd3e02aaf8865d8038b9c590c8545e7a1b21d620",
-  "sha256": "1m3iygb8vbqcnsxsnwr7g2mq1n2a9r7qxp3pgm1fpwz1lngvaagf",
-  "fetcher": "github",
+  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
+  "sha256": "1avgzjwppmmhdmljwpy75acylm3f74d3x0q94ld2n1yhi8xx40i9",
+  "fetcher": "gitlab",
   "repo": "ideasman42/emacs-inkpot-theme",
   "unstable": {
    "version": [
-    20190907,
-    1024
+    20191218,
+    2038
    ],
-   "commit": "f6f148eebef72939b90a1822c1c3a257e22f802e",
-   "sha256": "0jxh9plw699b7w6vi6km4154ixgn5w8a1hx9v99s0icf8rpvrcnw"
+   "commit": "ed488fcbc8c015121a4b1acd8d08db229fd6735a",
+   "sha256": "14y87fvav10wjc88bbi1pwy8lxnqcdk4cahwhd9cg5bhsqwhm32m"
   }
  },
  {
@@ -48272,17 +49492,17 @@
  },
  {
   "ename": "inlineR",
-  "commit": "3a7228e5f23a4e66f4510b2f6fc41c36aa791991",
-  "sha256": "1fflq2gkpfn3jkv4a6yywzmxsq6qszfid1ri85ass1ppw6scdvzw",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "0f6bh46ljz01bysm96dzd9iygfh6zgd4w6g8h3kb8lk07brm7227",
   "fetcher": "github",
-  "repo": "myuhe/inlineR.el",
+  "repo": "emacsattic/inlineR",
   "unstable": {
    "version": [
-    20120520,
-    1432
+    20191017,
+    1920
    ],
-   "commit": "29357186beca825e3d0451b700ec09b9ed65e37b",
-   "sha256": "15nasjknmzy57ilj1gaz3w5sj8b3ijcpgwcd6w2r9xhgcl86m40q"
+   "commit": "bf6450a3540aa3538546d312324c41befd0a4e54",
+   "sha256": "05by3mzz8gw13c42m2z3cr13zng62mbany0hvixx3jmn1q4hj9r0"
   },
   "stable": {
    "version": [
@@ -48301,11 +49521,11 @@
   "url": "https://git.sr.ht/~zge/kaomoji",
   "unstable": {
    "version": [
-    20190701,
-    1823
+    20200102,
+    1942
    ],
-   "commit": "b144e48f02f29bb25651a63d9691e9de10f0171b",
-   "sha256": "0i5wx60hvkriyas6g0599x35xnln77v0136z2k1rp332m9450299"
+   "commit": "0c52e1266e61131ca0c8bd0f2092aad7b6d44ed9",
+   "sha256": "01sqc1cg89flxzhav9bgr733840xgqxy1i4sphfhd96c05yj287z"
   },
   "stable": {
    "version": [
@@ -48358,10 +49578,10 @@
  },
  {
   "ename": "instapaper",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1yibdpj3lx6vr33s75s1y415lxqljrk7pqc901f8nfa01kca7axn",
-  "fetcher": "bitbucket",
-  "repo": "jfm/emacs-instapaper",
+  "commit": "a187008942c14dc09f7952a3c5b2e320553cb5c9",
+  "sha256": "1lcrwf2ymlfkvn00djxdr0sd7cjbp2sjdszs3sfmsxffaqzmy9ap",
+  "fetcher": "git",
+  "url": "https://git.carcosa.net/jmcbray/emacs-instapaper.git",
   "unstable": {
    "version": [
     20130104,
@@ -48369,6 +49589,15 @@
    ],
    "commit": "8daa0058ede70025e9f020656abe0e0d01cd8f89",
    "sha256": "0krscid3yz2b7kv75gd9fs92zgfl7pnl77dbp5gycv5rmw5mivp8"
+  },
+  "stable": {
+   "version": [
+    0,
+    9,
+    5
+   ],
+   "commit": "4714ed1b014615f8213e6f93637e4ec1d9d5a37a",
+   "sha256": "12giyb5mgq257jl76dxqv2irr3kx6sidbhjjaf9n9k2h42pip3p4"
   }
  },
  {
@@ -48444,11 +49673,11 @@
   "repo": "rudolfochrist/interleave",
   "unstable": {
    "version": [
-    20171004,
-    624
+    20191129,
+    958
    ],
-   "commit": "87549df30cbc681baf86b238bd14c7cf7ec11fc4",
-   "sha256": "07430hsyq9q90rjzxq7ifq4mlfc8k8b7l6b31s7xk1xm2snbky6b"
+   "commit": "383eb955bf0084a6e6ec03c9bd34511e20e0407d",
+   "sha256": "11bm00pw0bg8z6b5gyfmb2iss5libp6m4x0mc8agazabxzhmzyx9"
   },
   "stable": {
    "version": [
@@ -48468,16 +49697,16 @@
   "repo": "commercialhaskell/intero",
   "unstable": {
    "version": [
-    20190919,
-    216
+    20191103,
+    1239
    ],
    "deps": [
     "company",
     "flycheck",
     "haskell-mode"
    ],
-   "commit": "bab8e85b1aea9b03dfe05048bcdc0395e05e9b20",
-   "sha256": "19zl7dydg2lf8msl2ls9r85f4xw3x2796w5j4h7dxxz6flljhhby"
+   "commit": "30d8e7330c9b20c2905035bc417fa8645e7b4b85",
+   "sha256": "054ml379drc1gqykv2wlzaw8d8y2qmsk3rbxgry5nz9w7j66j5jp"
   },
   "stable": {
    "version": [
@@ -48752,28 +49981,28 @@
   "repo": "Sarcasm/irony-mode",
   "unstable": {
    "version": [
-    20190703,
-    1732
+    20191009,
+    2139
    ],
    "deps": [
     "cl-lib",
     "json"
    ],
-   "commit": "c7cca52b197babd023fd4745704ae4b695af0d10",
-   "sha256": "0iqjcgb2bg8g7fwsqigiifla8rc3air6ywvbpsrm91cb8a732mrc"
+   "commit": "8387098286132abd6472a8f49750e38ddb8096b6",
+   "sha256": "0vbv0h75vxwhjk0wxmdvnyb20ymjp4jyyify6ycaq9i2byl84b1v"
   },
   "stable": {
    "version": [
     1,
-    3,
-    1
+    4,
+    0
    ],
    "deps": [
     "cl-lib",
     "json"
    ],
-   "commit": "79d5fc6152659f62b0f2e4df75665f5b625e9642",
-   "sha256": "09i2f99ysisv2d4a0cpn75c0azhbashvz6ja5xy09i2a5svzgzpx"
+   "commit": "e630c497f973fa4d1f0fd0e0fd87fb9d18666986",
+   "sha256": "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"
   }
  },
  {
@@ -48815,10 +50044,10 @@
  },
  {
   "ename": "isearch-project",
-  "commit": "5c4f0a2f3080e9f4db82fb2bb9279418e4b9a7e2",
-  "sha256": "0f6f3lm5p4h8z9bnhbl27pzgwdjj58pp8lsvc5dic0yzykx7j2y8",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1dcxbi1x2nbasiy03mp7af2lcmkmxpfblbdcsnm9srmmpdz9lwff",
   "fetcher": "github",
-  "repo": "elpa-host/isearch-project",
+  "repo": "jcs-elpa/isearch-project",
   "unstable": {
    "version": [
     20190505,
@@ -48827,6 +50056,18 @@
    "deps": [
     "cl-lib"
    ],
+   "commit": "4d660afa365c82c3ed00f685b53f0d2358972d36",
+   "sha256": "0klngpw69kdh3l9jrvjq63xlgpqd86j8rrvivrzipddmplppz9gy"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    7
+   ],
+   "deps": [
+    "cl-lib"
+   ],
    "commit": "462b8100451b947367aed2970c2669ea6d15edbd",
    "sha256": "0b8ncpi6kps7fx3fmgfwd2czaal52laf2k6pn46yh110sz6dl30m"
   }
@@ -48909,10 +50150,10 @@
  },
  {
   "ename": "isortify",
-  "commit": "9d4ad18492e7f4a56a1515873bc0b66fa49829bb",
-  "sha256": "0nlpjd6mrhv8iccdny0x5lb41dpyp6l7kiax4xqra0rb2vq0chcs",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "0bqs84prlwk94x543mv22wjnz0s7gqbdi7ryvdc20s7vdr18fn82",
   "fetcher": "github",
-  "repo": "proofit404/isortify",
+  "repo": "pythonic-emacs/isortify",
   "unstable": {
    "version": [
     20190315,
@@ -48921,8 +50162,8 @@
    "deps": [
     "pythonic"
    ],
-   "commit": "a0f6be09b92dff312b6ef9bec30f58cd8ada9623",
-   "sha256": "14hd6hbvsabrmqd44l2l598bib636wn2mzvpdwg61wjrbsd2czyy"
+   "commit": "ae7fb7163ce075209543f72953c9f431d103f6a3",
+   "sha256": "0gslib1r9d9dqd9r89dfg8npkybjw2bjdrbs0z2qcnfa82x4fq4z"
   }
  },
  {
@@ -49057,20 +50298,20 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20190825,
-    1023
+    20200105,
+    1946
    ],
-   "commit": "79333e9edfee38ec3b367c33711a68bdf7783259",
-   "sha256": "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"
+   "commit": "3c6e5daccbc8678ee881b435ac956778de82a076",
+   "sha256": "184cdd41da1xizhbdymq9g3a8ryscdr6fq15vswdfv5gx8dx2fz6"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
-   "commit": "85d1e2e779ca92e6ef8e47d08f866b13d4d87aee",
-   "sha256": "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w"
+   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
+   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
   }
  },
  {
@@ -49081,8 +50322,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20190918,
-    1116
+    20191028,
+    1313
    ],
    "deps": [
     "biblio",
@@ -49093,8 +50334,8 @@
     "s",
     "swiper"
    ],
-   "commit": "5a26b35c3fa223d4c74262137f34bb2f325c4411",
-   "sha256": "0nw35f2qr5pqswz1rbkgwvd2wmvg8hzjf419w9iffx1m858k99rf"
+   "commit": "d4471232be26793fbf56c0ac3690b5f537c378b9",
+   "sha256": "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"
   },
   "stable": {
    "version": [
@@ -49175,8 +50416,8 @@
   "repo": "s-kostyaev/ivy-erlang-complete",
   "unstable": {
    "version": [
-    20190910,
-    426
+    20191112,
+    1137
    ],
    "deps": [
     "async",
@@ -49184,8 +50425,8 @@
     "erlang",
     "ivy"
    ],
-   "commit": "fb2e31863cb0305bb3e16c094d29ff78a7414603",
-   "sha256": "0p16lxaana6zb2dlci3d6wwslcw4pifvnmhf3ymbhccmc36v5yqi"
+   "commit": "7d60ed111dbfd34ab6ec1b07c06e2d16a5380b9a",
+   "sha256": "0z34ljmwr0hmkaq5z85p87vljywpv3nnsvhp1zc8cw4hvqarcjqg"
   },
   "stable": {
    "version": [
@@ -49258,6 +50499,38 @@
   }
  },
  {
+  "ename": "ivy-fuz",
+  "commit": "578c150cb8f61058f8003554d372944a990d7a7d",
+  "sha256": "1z7r4fw1kl4vnfd5n6d628xwqhlr1768yfpj55gg28bq5lfx725h",
+  "fetcher": "github",
+  "repo": "Silex/ivy-fuz.el",
+  "unstable": {
+   "version": [
+    20191222,
+    946
+   ],
+   "deps": [
+    "fuz",
+    "ivy"
+   ],
+   "commit": "f171ac73422a4bae1503d63d804e691482ed35b2",
+   "sha256": "0ir1ighdlkh7ff1n607rwqyw2m9x9gr1ss4abdx6walajs7q3dki"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "deps": [
+    "fuz",
+    "ivy"
+   ],
+   "commit": "f171ac73422a4bae1503d63d804e691482ed35b2",
+   "sha256": "0ir1ighdlkh7ff1n607rwqyw2m9x9gr1ss4abdx6walajs7q3dki"
+  }
+ },
+ {
   "ename": "ivy-gitlab",
   "commit": "35d4d4f22e4c567954287b2a1cabcb595497095a",
   "sha256": "0gbwsmb6my0327f9j96s20mybnjaw9yaiwhs3sy3vav0qww91z1y",
@@ -49321,28 +50594,28 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20190829,
-    630
+    20191018,
+    1251
    ],
    "deps": [
     "hydra",
     "ivy"
    ],
-   "commit": "79333e9edfee38ec3b367c33711a68bdf7783259",
-   "sha256": "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"
+   "commit": "3c6e5daccbc8678ee881b435ac956778de82a076",
+   "sha256": "184cdd41da1xizhbdymq9g3a8ryscdr6fq15vswdfv5gx8dx2fz6"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
    "deps": [
     "hydra",
     "ivy"
    ],
-   "commit": "85d1e2e779ca92e6ef8e47d08f866b13d4d87aee",
-   "sha256": "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w"
+   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
+   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
   }
  },
  {
@@ -49406,15 +50679,15 @@
   "repo": "akirak/ivy-omni-org",
   "unstable": {
    "version": [
-    20190620,
-    1210
+    20191207,
+    528
    ],
    "deps": [
     "dash",
     "ivy"
    ],
-   "commit": "155acae1aa08d305731b292d62530e52711895f2",
-   "sha256": "0i2v3wj0s8mwx69iw7lgdamdi2p41gy5iaaphk6hvb1r4shhhw8k"
+   "commit": "5460a9fc061a4a5ae8372dc8df966ced94abab58",
+   "sha256": "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"
   }
  },
  {
@@ -49493,15 +50766,15 @@
   "repo": "tumashu/ivy-posframe",
   "unstable": {
    "version": [
-    20190819,
-    657
+    20191226,
+    637
    ],
    "deps": [
     "ivy",
     "posframe"
    ],
-   "commit": "d9ceee94171767b4aba6c55ebe93e51ccbe0fa8a",
-   "sha256": "1ghn9n4lc50p94byi0z2vfgkwyh4q4i19j26dkqr2lyvfhsvvdwj"
+   "commit": "6d697ff00ac406b919eba8665b1bc18a2b423cda",
+   "sha256": "05zhfhml8bd1zi1msy6zjkimirwq59i9fwa0mxy9l88si3dmb2hb"
   }
  },
  {
@@ -49512,27 +50785,27 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20190921,
-    3
+    20191224,
+    220
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "7fd8c3b8028da4733434940c4aac1209281bef58",
+   "sha256": "1igsjdkxax2lavglc03h0dk3d7fpgqvlymnhyxx738sjyfzl09cr"
   },
   "stable": {
    "version": [
-    3,
-    3
+    4,
+    0
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "ad9fbe8a17fe74b27a39bcc034f3da1865663387",
+   "sha256": "008hxy1vasnyz36wwg44gikpi80ng75hj85nrswk60b7z7cznbmr"
   }
  },
  {
@@ -49574,14 +50847,14 @@
   "repo": "Yevgnen/ivy-rich",
   "unstable": {
    "version": [
-    20190707,
-    107
+    20191209,
+    1200
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "e78fc4b9d467da338471f234393a1c791a6b0e6b",
-   "sha256": "1y8lrzn24vg2pwck6l36w3s8qlpx1cpv54i6gf0jjncp6z9iwh4v"
+   "commit": "efcacd869ab8f214d95e4c0445da771ba21d62a6",
+   "sha256": "01whwckj0zlnck7b281r1z4c0kvjdmksjjajb6g2f62vdpjpd48r"
   },
   "stable": {
    "version": [
@@ -49604,27 +50877,27 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20190821,
-    1946
+    20191222,
+    920
    ],
    "deps": [
     "ivy",
     "rtags"
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
    ],
    "deps": [
     "ivy",
     "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -49671,14 +50944,14 @@
   "repo": "alexmurray/ivy-xref",
   "unstable": {
    "version": [
-    20190611,
-    1305
+    20191126,
+    401
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "1a35fc0f070388701b05b0a455cbe262e924d547",
-   "sha256": "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"
+   "commit": "3d4c35fe2b243d948d8fe02a1f0d76a249d63de9",
+   "sha256": "1c0k1in2hpfwfd7m5r8623d58kxsrfl6pwpgdrkk3077vdgbwiip"
   }
  },
  {
@@ -49698,8 +50971,8 @@
     "ivy",
     "yasnippet"
    ],
-   "commit": "32580b4fd23ebf9ca7dde96704f7d53df6e253cd",
-   "sha256": "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"
+   "commit": "ebf05761cd890bccd8072051f988dae7ab11c9ce",
+   "sha256": "01dc8hv464r3q3d6whix76sqwfkjcvhdg55jmw0ck9jwmhwsvc7x"
   }
  },
  {
@@ -49835,10 +51108,10 @@
  },
  {
   "ename": "jabber",
-  "commit": "ef7dbf3c2ffee5a4d71466ce037c618e0434a346",
-  "sha256": "04d2jdzs3c790ms70px8xvyip1liqvd3jy2mbs8qqbwyiccb74xx",
-  "fetcher": "git",
-  "url": "https://github.com/legoscia/emacs-jabber.git",
+  "commit": "d29cc2a26829e678467664d6b2f5c171dc9dbd25",
+  "sha256": "0vsmj33qh07amkdlp5i0ldspxsw8pp16lwcq97i1xk59glif0n2f",
+  "fetcher": "github",
+  "repo": "legoscia/emacs-jabber",
   "unstable": {
    "version": [
     20180927,
@@ -49878,11 +51151,11 @@
   "url": "https://bitbucket.org/sbarbit/jack-connect",
   "unstable": {
    "version": [
-    20190311,
-    1920
+    20191125,
+    1321
    ],
-   "commit": "3be5f03ba39ffab65e974cf1624cf38588639dcb",
-   "sha256": "1lb7z060jrbr0ijzif5p3qg70lg21h1a6jyzyfqfhwf2iwa3mkcj"
+   "commit": "e951217ee3ea0ac6b9ed9a209305ef9a72ec019a",
+   "sha256": "03dklv7daxlqzmv8dq9whc07ia0fihy988gfgdr006pfy2x6mnq7"
   }
  },
  {
@@ -49941,11 +51214,11 @@
   "repo": "ALSchwalm/janet-mode",
   "unstable": {
    "version": [
-    20190917,
-    124
+    20191201,
+    2353
    ],
-   "commit": "349eba576455f1c8f40acaa77ef222bf6432c4e7",
-   "sha256": "0c0idb1rfp7n99jq1jmjvgmv77f38jrvxjy95lx27j743i8zkb7d"
+   "commit": "62a1ca33ac443e23869bc83dd2149cc014bb5132",
+   "sha256": "02chr2dcyf3946pg2wysybca559n2vm9lyb65zx6h6pvqhmg4kwp"
   }
  },
  {
@@ -50228,8 +51501,8 @@
   "repo": "jdee-emacs/jdee",
   "unstable": {
    "version": [
-    20190418,
-    1626
+    20191102,
+    1426
    ],
    "deps": [
     "dash",
@@ -50237,8 +51510,8 @@
     "memoize",
     "s"
    ],
-   "commit": "b9ce633d68ece00dac03d3eeddc4477de53e5e38",
-   "sha256": "0gwcl9c0y2s9xyrajwrwiaklfd8as9hmmq0lbrd7fy4q0l0vpr98"
+   "commit": "b510a29f1fc1bea218a6230fb219922775687c78",
+   "sha256": "0c0jfi3gg85ccid7h9ll0a160lsjb11wxqncs4qnz75d3npmgsw9"
   }
  },
  {
@@ -50249,28 +51522,28 @@
   "repo": "tkf/emacs-jedi",
   "unstable": {
    "version": [
-    20160426,
-    456
+    20191011,
+    1750
    ],
    "deps": [
     "auto-complete",
     "jedi-core"
    ],
-   "commit": "d9b53d2ca103c46686f6fb4aa92d8af403107982",
-   "sha256": "0rcmcc8d1mfwb8c9bqk8pa1smrdyn7vjcvi7s9cp71p070d2hvqm"
+   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
+   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
   },
   "stable": {
    "version": [
     0,
     2,
-    7
+    8
    ],
    "deps": [
     "auto-complete",
     "jedi-core"
    ],
-   "commit": "8da022c8cda511428c72a6dc4c5be3c0a0c88584",
-   "sha256": "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"
+   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
+   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
   }
  },
  {
@@ -50281,30 +51554,30 @@
   "repo": "tkf/emacs-jedi",
   "unstable": {
    "version": [
-    20190620,
-    1820
+    20191011,
+    1750
    ],
    "deps": [
     "cl-lib",
     "epc",
     "python-environment"
    ],
-   "commit": "d9b53d2ca103c46686f6fb4aa92d8af403107982",
-   "sha256": "0rcmcc8d1mfwb8c9bqk8pa1smrdyn7vjcvi7s9cp71p070d2hvqm"
+   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
+   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
   },
   "stable": {
    "version": [
     0,
     2,
-    7
+    8
    ],
    "deps": [
     "cl-lib",
     "epc",
     "python-environment"
    ],
-   "commit": "8da022c8cda511428c72a6dc4c5be3c0a0c88584",
-   "sha256": "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"
+   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
+   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
   }
  },
  {
@@ -50544,14 +51817,15 @@
   "repo": "nyyManni/jiralib2",
   "unstable": {
    "version": [
-    20190917,
-    1733
+    20190927,
+    2010
    ],
    "deps": [
+    "dash",
     "request"
    ],
-   "commit": "3d3fb0a65260a267123cddf52ee100561ef504fd",
-   "sha256": "0a6x1d6h85b14wfhmnmss9cvbkalfjmybq7bm1187g3afg3ycy7g"
+   "commit": "e913f8e4a994850d2cff18ce2b1f4177cac62c91",
+   "sha256": "022jndjwj0ml2w829id0nx43p24h6jpmilc12n9hiy4p80vjgy1y"
   }
  },
  {
@@ -50740,8 +52014,8 @@
     20180807,
     1352
    ],
-   "commit": "b4fec1497c76d36f7d8a2aad44983f8b6f501180",
-   "sha256": "0s80f6sq3ly9wiz5az1imrn5lyqhn0cdlq0vvfadk2ycvb370989"
+   "commit": "0ea56bf620105af71d2575f62f9527773b6e3d68",
+   "sha256": "1zdp9r97bd85ylb9km27129pxxf5mvmhr4fqvphzb57j7yml3z0h"
   },
   "stable": {
    "version": [
@@ -50761,11 +52035,11 @@
   "repo": "torgeir/js-codemod.el",
   "unstable": {
    "version": [
-    20171104,
-    1154
+    20190921,
+    941
    ],
-   "commit": "014e56c846487d1eeaf8a91dd503b9d96eb1510a",
-   "sha256": "0s07ypjlqsx2pgq89wmr69w9p7ybc62abqp53kzf5gmdl6fdzgxq"
+   "commit": "056bdf3e5e0c807b8cf17edb5834179a90fb722b",
+   "sha256": "1s87jy1v7vjqpl09w2lafhliqhc5hm9061n7f2gfiw0hhv1xp6bw"
   }
  },
  {
@@ -50991,10 +52265,10 @@
  },
  {
   "ename": "js3-mode",
-  "commit": "805a7c7fee2bafd8785813963bf91ac1ca417fd1",
-  "sha256": "12s5qf6zfcv4m5kqxvh9b4zgwf433x39a210d957gjjp5mywbb1r",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "0iqhqq9wkhpgw1n83x6f8qib0agc626cv0qah73v6497ra9ri8ni",
   "fetcher": "github",
-  "repo": "thomblake/js3-mode",
+  "repo": "tamzinblake/js3-mode",
   "unstable": {
    "version": [
     20160515,
@@ -51095,14 +52369,14 @@
   "repo": "DamienCassou/json-navigator",
   "unstable": {
    "version": [
-    20190131,
-    1031
+    20191213,
+    755
    ],
    "deps": [
     "hierarchy"
    ],
-   "commit": "f4cde60c4203fc70cc7ff22ed1d6579159ce2598",
-   "sha256": "0xrjbx6rkm8a6pmzhdph0r6l468hj827dvvq2hxhcm8v5gk6m690"
+   "commit": "afd902e0b5cde37fad4786515a695d17f1625286",
+   "sha256": "0gn19qn11n86rn9b6knp9fb5jx9m2q1khhm4vnh0vjck7jxi9sqr"
   },
   "stable": {
    "version": [
@@ -51119,10 +52393,10 @@
  },
  {
   "ename": "json-process-client",
-  "commit": "38cf8baad750427268659c8b25d35270add18317",
-  "sha256": "0lv4xdihjphpg31zdzkzrhp715sj7y2sl87c6cz6akhlfz2mmm0h",
+  "commit": "a681f977631344190e2a35d9ac2cbb9a42402272",
+  "sha256": "0nf0lna15ymcn8wniz24ixxwr1qaznic9nym1q16ifwl72qryj79",
   "fetcher": "git",
-  "url": "https://gitlab.petton.fr/nico/json-process-client.git",
+  "url": "https://gitea.petton.fr/nico/json-process-client.git",
   "unstable": {
    "version": [
     20190827,
@@ -51311,30 +52585,6 @@
   }
  },
  {
-  "ename": "jsx-mode",
-  "commit": "7dea24e922f18c1f7e1b97da07ba2e4f33170557",
-  "sha256": "1lnjnyn8qf3biqr92z443z6b58dly7glksp1g986vgqzdprq3n1b",
-  "fetcher": "github",
-  "repo": "jsx/jsx-mode.el",
-  "unstable": {
-   "version": [
-    20130908,
-    1724
-   ],
-   "commit": "47213429c09259126cddb5742482cfc444c70d50",
-   "sha256": "1g648r0wrd8m5ggl5jrplmj7jmr68bh2ykyii5wv30zfba97r1sh"
-  },
-  "stable": {
-   "version": [
-    0,
-    1,
-    10
-   ],
-   "commit": "1ca260b76f6e6251c528ed89501597a5b456c179",
-   "sha256": "1wx28rr5dk238yz07xn95v88qmv10c1gz9pcxard2kszpnmrn6dx"
-  }
- },
- {
   "ename": "jtags",
   "commit": "caaa21f235c4864f6008fb454d0a970a2fd22a86",
   "sha256": "1f3dw9fr31lcqmida14d9rsvy1r1b5d6ihqwdj9hbx5kv7d8jyj7",
@@ -51357,11 +52607,19 @@
   "repo": "JuliaEditorSupport/julia-emacs",
   "unstable": {
    "version": [
-    20190813,
-    1326
+    20191225,
+    858
+   ],
+   "commit": "5238f9adb7dd1c161fd6130435ebf0ac3755f33c",
+   "sha256": "1482wx9vhxvs1msdqmcv7hv31q57r2pkwij39rvscc3s046x61vr"
+  },
+  "stable": {
+   "version": [
+    0,
+    3
    ],
-   "commit": "db84928742b3e4189dcc81997e4a3cad3eac7b68",
-   "sha256": "0hv43r037jacizmgql0sxxjj2g0f51k5zcxn7h30if86a6hhx659"
+   "commit": "d21b83db56ae74d232dc2be2cd87810c5b8a6451",
+   "sha256": "0h4v227qdd7w0caigzbgjmjh6ddjlwgcd0g7s30ac45vdwr877lc"
   }
  },
  {
@@ -51372,11 +52630,14 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20190908,
-    1717
+    20191209,
+    1051
    ],
-   "commit": "b8155b8a1e23e1ad740fd7bd49b5d841b1365c7d",
-   "sha256": "0qdn70h6k03l3xmv4xmbvrs1lx632jihhmkvjxk5hp4nk5phh9rk"
+   "deps": [
+    "s"
+   ],
+   "commit": "b11a5729709c5ca541db2b6472b6579166723060",
+   "sha256": "0vb464y21jvqdkswz8hm8lm345fs811i6ns1zbwx7rz7bav4zlw5"
   },
   "stable": {
    "version": [
@@ -51538,8 +52799,8 @@
   "repo": "dzop/emacs-jupyter",
   "unstable": {
    "version": [
-    20190917,
-    1642
+    20191019,
+    1519
    ],
    "deps": [
     "cl-lib",
@@ -51547,8 +52808,8 @@
     "websocket",
     "zmq"
    ],
-   "commit": "dcf80d51dbf9c8eea9679d5a54ca771221d6a1e0",
-   "sha256": "02zjnyw8x4dy9il9ans2c9mhz4lj6ni1s1brgbsbydkli1xavdhm"
+   "commit": "9e3c1633586982e278f072dfaaabd115fa4d19f7",
+   "sha256": "08aig8b2xh9yr5dqj6jivv54vc93277xffmmd3q0k5ghf4087c8n"
   },
   "stable": {
    "version": [
@@ -51604,14 +52865,14 @@
   "repo": "TxGVNN/emacs-k8s-mode",
   "unstable": {
    "version": [
-    20181231,
-    741
+    20191006,
+    849
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "1580ffd6ec7749ec6d069ccea95f8c926ca5db15",
-   "sha256": "0sl8xyhfjnpg46l9f8c3wwwwnl551ly03sghi9a4mx42xpb1g5k0"
+   "commit": "5984acee6f3891afa78acfd1d08c44a24953a233",
+   "sha256": "11x602pmqa3833azkzph1ghm354nypv6rr1y53k6kdrkwviwkcpm"
   }
  },
  {
@@ -51743,16 +53004,16 @@
   "repo": "jmorag/kakoune.el",
   "unstable": {
    "version": [
-    20190803,
-    1525
+    20191017,
+    1502
    ],
    "deps": [
     "expand-region",
     "multiple-cursors",
     "ryo-modal"
    ],
-   "commit": "fe8f8a02c38538f5f7776df3402b270639281ad8",
-   "sha256": "15wnwjlh333c3aykk6w4xxy93ic6lzb7wmxaigxahg37a9qlp3hs"
+   "commit": "d73d14e69ea38076af50cc69f846808383ff539d",
+   "sha256": "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"
   }
  },
  {
@@ -51865,28 +53126,28 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20190812,
-    1835
+    20200107,
+    1719
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "9bc8dc1b69e6d858a523b98603201f60a51825fa",
-   "sha256": "0jb0z1p1n3fdmqlwrv7x0ndcccijdw6025gw6sm6qdyj09a241vw"
+   "commit": "f5fcb5b375ff559214be0fce2a0930cfbe6be3e4",
+   "sha256": "0r73k6lgkar4sdigczpiw2i1f4l3f9dlvmdl5jsx0pd8kb4nyzxp"
   },
   "stable": {
    "version": [
     1,
     5,
-    2
+    4
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "6b335f4cb203e40c7ee331ecc91f7d95feb23acb",
-   "sha256": "052lyf5dc6p70dla6ggb24941aaz7lsdzgmkyc7rqxvm0xhm8d2d"
+   "commit": "db1c43915fe68f31fffa00159b4198c32e87c8ed",
+   "sha256": "038bqg66m5cpg1w70la3jr57rq9fngmb1g67z27lpqcf3xf416xc"
   }
  },
  {
@@ -52127,20 +53388,20 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20190317,
-    135
+    20200103,
+    1239
    ],
-   "commit": "7bbebe6442720031e4f5d1fd909c5be2fbb1c1dc",
-   "sha256": "19a8vdzbfwk5klac5800aywlmrl41kfb7ansmfg4938i4gwnbak0"
+   "commit": "adb55497c0f16e90069d6e5e86b4f9f65f13624b",
+   "sha256": "1sprdfx0gvyqmq0fkf4bf56q3d8xxig2vxi38nzjx90llzvka35q"
   },
   "stable": {
    "version": [
-    0,
     1,
-    4
+    0,
+    1
    ],
-   "commit": "fe416461b15543138ad4fef8ef5e2c364a6b5b2c",
-   "sha256": "15q2kc7mlmr856ldh6bkba26zq8fwia26cv1gsqwj3jmhml6mlq1"
+   "commit": "adb55497c0f16e90069d6e5e86b4f9f65f13624b",
+   "sha256": "1sprdfx0gvyqmq0fkf4bf56q3d8xxig2vxi38nzjx90llzvka35q"
   }
  },
  {
@@ -52224,26 +53485,26 @@
   "repo": "tarsius/keymap-utils",
   "unstable": {
    "version": [
-    20180318,
-    2237
+    20191222,
+    2258
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7",
-   "sha256": "0imx8zp21bm066bzdynvasylrlhw0gr8mpk2bwkz8j1y5lsp54v8"
+   "commit": "0b9bb7f4959ca54f0827b202f513ec7508c11e0e",
+   "sha256": "11y1vdrj2isn00mh428ynzqnfxjsg0138wx0bs619j0pv6d3j09g"
   },
   "stable": {
    "version": [
     3,
     0,
-    1
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7",
-   "sha256": "0imx8zp21bm066bzdynvasylrlhw0gr8mpk2bwkz8j1y5lsp54v8"
+   "commit": "0b9bb7f4959ca54f0827b202f513ec7508c11e0e",
+   "sha256": "11y1vdrj2isn00mh428ynzqnfxjsg0138wx0bs619j0pv6d3j09g"
   }
  },
  {
@@ -52362,6 +53623,36 @@
   }
  },
  {
+  "ename": "khardel",
+  "commit": "d0dafe07d355f705b268b19460cf071ab878961f",
+  "sha256": "0h9dhlzjrci4q5p18fwwizs31f4gyz8d5jq011bvzcvz9q1q75sp",
+  "fetcher": "github",
+  "repo": "DamienCassou/khardel",
+  "unstable": {
+   "version": [
+    20191124,
+    1257
+   ],
+   "deps": [
+    "yaml-mode"
+   ],
+   "commit": "5ee835a4429c58dec3900e4fa3d7cc1e778c969b",
+   "sha256": "0k2q0m7g9bj4k5xc4cldhi7cfbb114g016abyzq3q3jaymja195z"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "yaml-mode"
+   ],
+   "commit": "5ee835a4429c58dec3900e4fa3d7cc1e778c969b",
+   "sha256": "0k2q0m7g9bj4k5xc4cldhi7cfbb114g016abyzq3q3jaymja195z"
+  }
+ },
+ {
   "ename": "kibit-helper",
   "commit": "f7fee551ca9ed226f1285dffe87027e1e1047f65",
   "sha256": "15viybjqksylvm5ash2kzsil0cpdka56wj1rryixa8y1bwlj8y4s",
@@ -52517,17 +53808,19 @@
     20180702,
     2029
    ],
-   "commit": "72ac4e8f56a4ee432c9279cab044829beda22469",
-   "sha256": "0mvc71lxsx7wjkbravsj09zc5bhbq55hk1d0phwvzvjc271h38wy"
+   "commit": "52d12ebf33e410c9f4798674a93cbd0db8038bf1",
+   "sha256": "0hgfqy5yysfg3z04bj6xw53icixadigf3yxnskrnrs76sj4pd1qi"
   },
   "stable": {
    "version": [
-    1,
-    11,
+    2,
+    0,
+    0,
+    -1,
     1
    ],
-   "commit": "39c17457bae91baf8fe710dc989791e45879f136",
-   "sha256": "1rl56b7j3d6d57hx4c155brfv988ngcvc342ma09i630lh7gxpf5"
+   "commit": "ae0fa0cab3025e517452f44b91dd7d95182f39b2",
+   "sha256": "1ca9ggkbhfbr9d938nmg5klgmf5ayji0i201hcragjqj7hak18ia"
   }
  },
  {
@@ -52538,14 +53831,15 @@
   "repo": "stardiviner/kiwix.el",
   "unstable": {
    "version": [
-    20190904,
-    1248
+    20191016,
+    951
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "request"
    ],
-   "commit": "878b02be15ea9aebe939189fd10598b057b739af",
-   "sha256": "18g1jid2z6gls4ijgz3k8b5gaij3fs5rwrn0i8bgly6jmk6nx8rp"
+   "commit": "1fdcfcc6c080b5232cf588460283e16180a81dc9",
+   "sha256": "0088bnizccf372yivkw07x541ispmak8yy6ri2kqa15pkmszjfjh"
   },
   "stable": {
    "version": [
@@ -52704,11 +53998,11 @@
   "repo": "Emacs-Kotlin-Mode-Maintainers/kotlin-mode",
   "unstable": {
    "version": [
-    20190917,
-    1807
+    20191102,
+    1510
    ],
-   "commit": "d6720fe9bc2ce447f213c470bd18fad8e04dc18b",
-   "sha256": "093yirwm3w0z2x0f07kggivkvgcaqhkar0fqbfagd9nly2f0jzr2"
+   "commit": "ab610996820b5cbdb032edbf8747661131603ab8",
+   "sha256": "1dcaiwxymrch1vfzssjizv6l9isc68xcf8987c0l71zmzmrq1s7s"
   }
  },
  {
@@ -52778,14 +54072,33 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20190819,
-    1434
+    20191219,
+    1646
    ],
    "deps": [
     "transient"
    ],
-   "commit": "88995f796e6ba20cc91abfb012c23fe5ab29e19f",
-   "sha256": "0b33gp6qkclb1jxsxwjkwa74wri1zj2gx4sw11igbs58kkyzja52"
+   "commit": "12d8434fe435b81a3874911c7852aac8976fdb2f",
+   "sha256": "0gfacv3c79pih61dpwy6xq58wk233f4kxxrgf3q58x8kns3iymzc"
+  }
+ },
+ {
+  "ename": "kubel-evil",
+  "commit": "659b07e3acaa7f1738632b614098c0bdb7850969",
+  "sha256": "1rvzgkrw88m2im1gadpxz9galjzcnpfmqlim5020vy8lxi558zcj",
+  "fetcher": "github",
+  "repo": "abrochard/kubel",
+  "unstable": {
+   "version": [
+    20191231,
+    1429
+   ],
+   "deps": [
+    "evil",
+    "kubel"
+   ],
+   "commit": "12d8434fe435b81a3874911c7852aac8976fdb2f",
+   "sha256": "0gfacv3c79pih61dpwy6xq58wk233f4kxxrgf3q58x8kns3iymzc"
   }
  },
  {
@@ -52796,29 +54109,30 @@
   "repo": "chrisbarrett/kubernetes-el",
   "unstable": {
    "version": [
-    20190822,
-    913
+    20200106,
+    848
    ],
    "deps": [
     "dash",
     "magit",
     "magit-popup"
    ],
-   "commit": "7ef0e4be3a788bf45914308d6e2158384e3f605b",
-   "sha256": "0zmjv1wndhy4j0mamz6phadp37zc6kgn4byln2p7pbwc7r9mzmlj"
+   "commit": "239f4a1b40bfc76464ecf900eb16c3b078cd7d64",
+   "sha256": "1b41r8yhf14ki56638y0qk006idmvx1bs354b6cyq9z2k1h9x05v"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
    "deps": [
     "dash",
-    "magit"
+    "magit",
+    "magit-popup"
    ],
-   "commit": "d4ce5eb5da1ea0879b7d3266d97aecc8aee2807c",
-   "sha256": "1asjmxw24bvaapjaljj37pv9cbvqqw7577q1mds4lnicvnbdsxzi"
+   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
+   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
   }
  },
  {
@@ -52829,28 +54143,28 @@
   "repo": "chrisbarrett/kubernetes-el",
   "unstable": {
    "version": [
-    20171123,
-    219
+    20191108,
+    615
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "7ef0e4be3a788bf45914308d6e2158384e3f605b",
-   "sha256": "0zmjv1wndhy4j0mamz6phadp37zc6kgn4byln2p7pbwc7r9mzmlj"
+   "commit": "239f4a1b40bfc76464ecf900eb16c3b078cd7d64",
+   "sha256": "1b41r8yhf14ki56638y0qk006idmvx1bs354b6cyq9z2k1h9x05v"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "d4ce5eb5da1ea0879b7d3266d97aecc8aee2807c",
-   "sha256": "1asjmxw24bvaapjaljj37pv9cbvqqw7577q1mds4lnicvnbdsxzi"
+   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
+   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
   }
  },
  {
@@ -52897,14 +54211,14 @@
   "repo": "emacsfodder/kurecolor",
   "unstable": {
    "version": [
-    20180401,
-    1221
+    20191218,
+    148
    ],
    "deps": [
     "s"
    ],
-   "commit": "a27153f6a01f38226920772dc4917b73166da5e6",
-   "sha256": "04av67q5841jli6rp39hav3a5gr2vcf3db4qsv553i23ffplb955"
+   "commit": "f8a51febc4cd2576887d477c88d881a865a62d07",
+   "sha256": "141r35z6sq0ainvja83plypf2bnn6hbwn8xfi5bsqpk27mpd2709"
   },
   "stable": {
    "version": [
@@ -52960,8 +54274,8 @@
     20190320,
     1827
    ],
-   "commit": "17a21954725eae3bf7b77f724d7783936eb33742",
-   "sha256": "0q1j5h4nxpckfd5apwl4iqhgdnjpy2fjf9kqfknyiz7c7h7424d0"
+   "commit": "a4d1806793ab7a651c5380ebb2d1b53c8fbf7944",
+   "sha256": "06mw3x40wl4hfqwps41z2sps3vamgj89b7ks0ri7z9f90x645v4q"
   }
  },
  {
@@ -52996,11 +54310,11 @@
   "repo": "HenryNewcomer/laguna-theme",
   "unstable": {
    "version": [
-    20190714,
-    1830
+    20191229,
+    19
    ],
-   "commit": "66c613692b9f0c71050a236e98dbc54cb410946b",
-   "sha256": "0kms0m65mpmk9j5i1f4ag8a8hja1msn73z2f2gby440l07c8hcjy"
+   "commit": "0da19f68ba22a39c02d83063f5b4936401ce4d97",
+   "sha256": "1r8di1cmhcx2vfk3fsydx24spib1fi4wihnxa41favnkjzklz9jv"
   }
  },
  {
@@ -53059,26 +54373,26 @@
   "repo": "mhayashi1120/Emacs-langtool",
   "unstable": {
    "version": [
-    20190303,
-    2227
+    20200104,
+    18
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "81f2b8a07b29bbdd558db4b68dd904f4c0eb10a4",
-   "sha256": "01w765n5bib060f0hci34f0vchf90b4r8gr1ng2c4yx20dvdjnqh"
+   "commit": "37e1e007e80fc01b040b7da21be5a628fbddfb1a",
+   "sha256": "0zlinwq5hzwws8frwdaw22q43xba3a4764qk6rhlpg6p6imf6s6m"
   },
   "stable": {
    "version": [
     2,
     0,
-    0
+    4
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d93286722cff3fecf8641a4a6c3b0691f30362fe",
-   "sha256": "17xa055705n4jb7nafqvqgl0a6fdaxp3b3q8q0gsv5vzycsc74ga"
+   "commit": "adb80f55665db65a46fc552d364386d3cc703d94",
+   "sha256": "15bbyc0fqdn7d0k8zrn71jljkq9cc8a5rcllywvph46lnfnqy3p6"
   }
  },
  {
@@ -53107,25 +54421,62 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20190207,
-    1057
+    20191208,
+    1933
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9145c75eaa41a7a9deda928f704b99db056d3e9d",
-   "sha256": "10dwrb610jdal6ifpj34mmy8qqbca2sgfmvn4p4qpcc967sv4f1r"
+   "commit": "57f3094cb576d6d1a10467953e0ea161c43e4cfa",
+   "sha256": "0dq81m245nbj1d6jry0jdf55h90p99z8n77r1ycsfcqmhk2x8ndi"
   },
   "stable": {
    "version": [
     0,
-    1
+    3
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9145c75eaa41a7a9deda928f704b99db056d3e9d",
-   "sha256": "10dwrb610jdal6ifpj34mmy8qqbca2sgfmvn4p4qpcc967sv4f1r"
+   "commit": "57f3094cb576d6d1a10467953e0ea161c43e4cfa",
+   "sha256": "0dq81m245nbj1d6jry0jdf55h90p99z8n77r1ycsfcqmhk2x8ndi"
+  }
+ },
+ {
+  "ename": "lastfm",
+  "commit": "0b87a3465eece39cb2f73a90dedf97dd0dd970c2",
+  "sha256": "06gy4br99r8l9ak2ac7js9nyw4v5b94a8ja4pkik49l90qgss93m",
+  "fetcher": "github",
+  "repo": "mihaiolteanu/lastfm.el",
+  "unstable": {
+   "version": [
+    20191117,
+    1908
+   ],
+   "deps": [
+    "anaphora",
+    "elquery",
+    "memoize",
+    "request",
+    "s"
+   ],
+   "commit": "c2b39d2fa4fb7f56e4aacb0a50ed2aa509ab992c",
+   "sha256": "09k8p5bpl7f4dgkvvx4gf91pgyc5ikm6kynkjhdwrsnpnnl2cc9b"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "deps": [
+    "anaphora",
+    "elquery",
+    "memoize",
+    "request",
+    "s"
+   ],
+   "commit": "c2b39d2fa4fb7f56e4aacb0a50ed2aa509ab992c",
+   "sha256": "09k8p5bpl7f4dgkvvx4gf91pgyc5ikm6kynkjhdwrsnpnnl2cc9b"
   }
  },
  {
@@ -53136,15 +54487,15 @@
   "repo": "storvik/emacs-lastpass",
   "unstable": {
    "version": [
-    20171208,
-    1016
+    20191102,
+    611
    ],
    "deps": [
     "cl-lib",
     "seq"
    ],
-   "commit": "a4529ce70b8187ed9ac4972997df152af58ef2eb",
-   "sha256": "1h4h7swww2is7qblqi5r1vh26a9lfl52c0yq7rgwd1pqclffgc8m"
+   "commit": "e07b1a062153b9d56d0112ac45caf76d6bce67c5",
+   "sha256": "0pz5svbs7jp7zcjl7p5pbfxqh6xzh48dzz3swkywms9hfh2ynqzp"
   }
  },
  {
@@ -53204,16 +54555,16 @@
  },
  {
   "ename": "latex-pretty-symbols",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1f2s2f64bmsx89a3crm4skhdi4pq9w18z9skxw3i3ydaj15s8jgl",
-  "fetcher": "bitbucket",
-  "repo": "mortiferus/latex-pretty-symbols.el",
+  "commit": "f96a50861bdb87133690d64af85e132cc504f13c",
+  "sha256": "1idxv83vvx29xavyzzm5vh5f3bb0yb1p6688csxaaikaj9fsa5gs",
+  "fetcher": "github",
+  "repo": "epa095/latex-pretty-symbols.el",
   "unstable": {
    "version": [
     20151112,
     1044
    ],
-   "commit": "ef4ea64c09ea182f38ecb88dfb31d58ed5e6063e",
+   "commit": "83d5888147bb734a94dfd4847a11e975a7d86ba8",
    "sha256": "0h9hncf2ghfkd3i3342ajj1niykhfr0aais3j6sjg1vkm16xbr3b"
   }
  },
@@ -53392,11 +54743,11 @@
   "repo": "conao3/leaf.el",
   "unstable": {
    "version": [
-    20190917,
-    1451
+    20191117,
+    339
    ],
-   "commit": "31df91362e8e14e51ba3c16ea17d914e7c3986e1",
-   "sha256": "1zl6qkn6cd5f85d7w03w3az7s7dmz0jp3g6w1pwwhdf76dcw3lhx"
+   "commit": "57b99052f949f34471265f8b010549ee4725c320",
+   "sha256": "1vxcwdp7kgmv4pxjr33yfy2ba3x3zs6qacblyrah57f92xg85jg7"
   },
   "stable": {
    "version": [
@@ -53416,14 +54767,14 @@
   "repo": "conao3/leaf-keywords.el",
   "unstable": {
    "version": [
-    20190911,
-    1658
+    20191123,
+    1814
    ],
    "deps": [
     "leaf"
    ],
-   "commit": "29cae76ea7817fe3719f4ebf6751cf434567e4d0",
-   "sha256": "0qsmixhn7jjlzxnxjs77nmyzqh6q0q9ssgjj7gnp3i4llv2jlj3y"
+   "commit": "c3223e54eddf82a9b264ef81d958a017049141da",
+   "sha256": "1qwcir8d16gqr1xbl5bi9k51qfc5yvzaqvp03sji55bfqnx7zjwv"
   },
   "stable": {
    "version": [
@@ -53443,8 +54794,8 @@
   "repo": "leanprover/lean-mode",
   "unstable": {
    "version": [
-    20190914,
-    958
+    20191229,
+    1613
    ],
    "deps": [
     "dash",
@@ -53453,8 +54804,8 @@
     "flycheck",
     "s"
    ],
-   "commit": "b5ba739f68ef731c03247bf6db2708502c8ac46c",
-   "sha256": "1dx0a76l7w3ck23sdjymigk1hycqiawfwv24yz6wqyy74f1pcyjf"
+   "commit": "f26e40daad2c1bd090e440a2b931205ac3b9b613",
+   "sha256": "022i1v885pvzz42cwrz7wp5amx25k664pvap7c4487hlrrkp1bg9"
   }
  },
  {
@@ -53505,14 +54856,14 @@
   "repo": "DamienCassou/ledger-import",
   "unstable": {
    "version": [
-    20190502,
-    456
+    20191126,
+    2035
    ],
    "deps": [
     "ledger-mode"
    ],
-   "commit": "6911708e373e2cbdb3868df7711ef07925ed36bf",
-   "sha256": "15vz5fy5yr4m3b77nikqln3y5bihjdmrzgxbp56hz83dqkkcnc4l"
+   "commit": "e32c4dd5952e3e5daa65eda5a22d508e97683409",
+   "sha256": "1p6n5vgpjmm1z6xq8f4yxf9w0r8wczlf0pa8qdfv7jmc50l58a2y"
   },
   "stable": {
    "version": [
@@ -53535,20 +54886,20 @@
   "repo": "ledger/ledger-mode",
   "unstable": {
    "version": [
-    20190901,
-    1439
+    20191226,
+    2018
    ],
-   "commit": "5067e40805c40e83424d206584838ffa8c8117c7",
-   "sha256": "093gbki5cvjscrl77nabh845axkxczqwbamwb4svc7wcky5xlpmx"
+   "commit": "6b78e483dde4276a11d6946d081e41c7e3b894e8",
+   "sha256": "0xi5pwyzv81iqxj10sr1fl9csa6k5z1nisxwnpg9i3i1nj7ad3p6"
   },
   "stable": {
    "version": [
-    3,
-    1,
-    1
+    4,
+    0,
+    0
    ],
-   "commit": "96c4e81eed52e0ef514dc15a6ea6d877b3409a2a",
-   "sha256": "12q6wblwnb6y5c1882jz14742fqbm6p5jpzlvz7p90ylqfl7h989"
+   "commit": "964630f80e0e80dad83134a3660f56948390173a",
+   "sha256": "1r5rcyxd6d1rqwamzpvqdbkbdf1zbj75aaciqijrklnm59ps244y"
   }
  },
  {
@@ -53574,8 +54925,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20190910,
-    221
+    20200101,
+    1111
    ],
    "deps": [
     "aio",
@@ -53583,8 +54934,8 @@
     "graphql",
     "spinner"
    ],
-   "commit": "044fd1cd0bc727d888b424ffc5a81b22c7b802c1",
-   "sha256": "1i9wbbymdfjyz6z0vd5bl1c733pbfcf5cf1shl98s54sg5lq0p89"
+   "commit": "28b78c45c86570cb1e3538f275eb4de1cf28cd04",
+   "sha256": "1c9zsh4ikflgqjrkjbilfqjjb0g698mqy2g5b210ssbivvkvncb5"
   }
  },
  {
@@ -53758,11 +55109,11 @@
   "repo": "fniessen/emacs-leuven-theme",
   "unstable": {
    "version": [
-    20190831,
-    1008
+    20200102,
+    2003
    ],
-   "commit": "026da5d614864a60bb151f0e75240a938e41923b",
-   "sha256": "008ynbzcszsbyj3pi9cm6ig1ks059xprkyhd74dnw8grlddwfimd"
+   "commit": "ee89b5d8b08c94eb78c0398720381c44342e2f44",
+   "sha256": "1g6bhfd39jbz8awxh2d4syvqblw3yniind76fzsvsapis1za8yfg"
   }
  },
  {
@@ -53826,26 +55177,26 @@
   "repo": "DamienCassou/libbcel",
   "unstable": {
    "version": [
-    20190919,
-    1948
+    20191203,
+    654
    ],
    "deps": [
     "request"
    ],
-   "commit": "f3eab975b7222eb4441743744eb8697bd82b57ec",
-   "sha256": "1sj2ijphaabkayiry0vzx0digrz5dkacl78agrv0lz51m8r5c4fd"
+   "commit": "df466d31544c53d8550f9c08e58b70adc559c48c",
+   "sha256": "1l8m47aklx98m89i9d3kj9dd521xkicipgbfnpiyjzqmaw1bh6zm"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "request"
    ],
-   "commit": "f3eab975b7222eb4441743744eb8697bd82b57ec",
-   "sha256": "1sj2ijphaabkayiry0vzx0digrz5dkacl78agrv0lz51m8r5c4fd"
+   "commit": "d02a38898016bba314802b1f6a07317e52ea6c63",
+   "sha256": "1z5ydhv9qyk0g9b25n4m0xbvdy0j4y009iq8v2vy1m8c09lzp1v9"
   }
  },
  {
@@ -53862,8 +55213,8 @@
    "deps": [
     "request"
    ],
-   "commit": "fd90ff7989632452434fc19a609805f7276821f3",
-   "sha256": "0rpipbcfvi8ysx8aykj9sd23gkzq3knn656g84lb9h1zdjvc4zf1"
+   "commit": "29e369df4f96c7ad95bb33292de7a44122e0b4e7",
+   "sha256": "1xaa90dy1jq1yzcn9px931sgqsrsbwrc89lv0lss975jr827kfg2"
   },
   "stable": {
    "version": [
@@ -53886,11 +55237,11 @@
   "repo": "magit/libegit2",
   "unstable": {
    "version": [
-    20190810,
-    1757
+    20191217,
+    1254
    ],
-   "commit": "60e1e7d360b376534c4b6258ddf7d5b5f0a68133",
-   "sha256": "18y3wdfy6pnyv0slggagdyy41mjwsprnr57ab1qmyz5dd8ryfwwn"
+   "commit": "65fde63a0bde9b4cef74204db5d9ac0a740d6b4d",
+   "sha256": "0q7jyrgq67449i524dskiqfvf3znb048ksb9v6ja1x9xhpfw27d2"
   }
  },
  {
@@ -53916,20 +55267,20 @@
   "repo": "mpdel/libmpdel",
   "unstable": {
    "version": [
-    20190918,
-    1609
+    20200105,
+    1537
    ],
-   "commit": "5cec415bd9db566088ec44b8bb4dd0a9cc76ccdc",
-   "sha256": "0qx7h6y9ih6qkijspzpn8gfpxjb486qrp0g4b9fpfzp8igc2ddik"
+   "commit": "95cb45ecea933e7befb2a5a6a6e7d15651c8746a",
+   "sha256": "0g0gsah4y12d2hrk2rsraxqjnd52fkikr0pgcrbrv2mcnqhs8c5m"
   },
   "stable": {
    "version": [
     1,
-    1,
-    1
+    2,
+    0
    ],
-   "commit": "5cec415bd9db566088ec44b8bb4dd0a9cc76ccdc",
-   "sha256": "0qx7h6y9ih6qkijspzpn8gfpxjb486qrp0g4b9fpfzp8igc2ddik"
+   "commit": "a9d67cea595bfeff73cf6281fa735df98dee9a45",
+   "sha256": "1nzs6g2mg3jhfhhfcxjhd9sbvwzhmr6j6mc80ln2nr4gzjqgaa4k"
   }
  },
  {
@@ -53940,11 +55291,11 @@
   "repo": "buzztaiki/lice-el",
   "unstable": {
    "version": [
-    20170220,
-    943
+    20191011,
+    631
    ],
-   "commit": "4339929927c62bd636f89bb39ea999d18d269250",
-   "sha256": "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"
+   "commit": "3ff90745cd43d1cc41216a01f55f871a00692ffe",
+   "sha256": "08aiwyd0cxwd37jdy1m78l1r35h7fiq7wygpys2yrms6mdl8063b"
   },
   "stable": {
    "version": [
@@ -53972,20 +55323,32 @@
  },
  {
   "ename": "line-reminder",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "0cm9cv7ak1ibm68d2xrz26smh80g79dxjlwxj5qd9zc3yjyksdvi",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1s3ibn7c1j6m7wdkb0z37apgfc0g8vhhrqcnmldf19zi3k13bm0x",
   "fetcher": "github",
-  "repo": "elpa-host/line-reminder",
+  "repo": "jcs-elpa/line-reminder",
   "unstable": {
    "version": [
-    20190807,
-    440
+    20191016,
+    1528
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "f50f8474db7c9b26ab3cf56d08e5184209f25cec",
+   "sha256": "1frf77ilyadrzil8sjp3rpr6v7j1nmmk1dz84d0kf8yr2cl48d9h"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    3
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "707dc65001778e6476085fd7c30e1a1a3f84563a",
-   "sha256": "07fd1gw1fwzc1ynfp59b06hm9hz93fnjhgkgxmhk464ri0nv0l60"
+   "commit": "ea7fc43210b5293beac4ac453b1bdde415f5183e",
+   "sha256": "13vspm2c53ph25li4xd77q2v7rqwsszsy8a842ivcgn0k3qn6w0r"
   }
  },
  {
@@ -53999,8 +55362,8 @@
     20180219,
     1024
    ],
-   "commit": "a00f8e380a8b87269a8ea0b68af63383a74ca5e8",
-   "sha256": "024hsx5jhr9myssmw60mxyizbj184hq6zxv8b0k1ivll026hbnpi"
+   "commit": "5136c339864ca961629e6eb48c3ff9d0228aaf52",
+   "sha256": "14mzwnnsqjmzp8jb9jac43ga7vxzmrl2mch7kqdm244d605k0xlz"
   },
   "stable": {
    "version": [
@@ -54081,19 +55444,19 @@
   "repo": "myrkr/dictionary-el",
   "unstable": {
    "version": [
-    20140718,
-    329
+    20191111,
+    446
    ],
-   "commit": "6edc1d0a4156d33c3da0c1649c308b809fda46e1",
-   "sha256": "0g95q3yggzxr8d2gjxamfwx8xbzf182naxpb265r7v9awd35bqk5"
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
   },
   "stable": {
    "version": [
     1,
-    10
+    11
    ],
-   "commit": "9ef1672ecd367827381bbbc9af93685980083c5c",
-   "sha256": "05xfgn9sabi1ykk8zbk2vza1g8pdrg08j5cb58f50nda3q8ndf4s"
+   "commit": "c9cad101100975e88873636bfd426b7a19304ebd",
+   "sha256": "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"
   }
  },
  {
@@ -54104,15 +55467,15 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20190721,
-    1844
+    20200101,
+    1633
    ],
    "deps": [
     "avy",
     "cl-lib"
    ],
-   "commit": "4db4e6fb82bfffd00f540e3a489013f6a8173871",
-   "sha256": "0rphww249vqk7lassihapw836h6f9w7qnz45qhb07j7d82bxy7pr"
+   "commit": "8d8f9505f87dc8a3b3baee7cb516f091072893a7",
+   "sha256": "1bmb3x8i2ak72k2m3niczjqv2xg9lhvflxxfjj67j9ki7994vzx4"
   }
  },
  {
@@ -54214,20 +55577,20 @@
   "repo": "marcowahl/lisp-butt-mode",
   "unstable": {
    "version": [
-    20190822,
-    1102
+    20191128,
+    835
    ],
-   "commit": "3199954a70594405ccb7b193e6e471264eae7b87",
-   "sha256": "12qvycibrxsd3mlpj7x673kwfxhyhg3266ghf3r11179yh12hgy9"
+   "commit": "9eca319bdbb96dac4d44d19cd21937ed82a67268",
+   "sha256": "1biyvcwrqgyy7dmrv6i972lrcr5xhsyjq5nwc035c341jcxkp0g5"
   },
   "stable": {
    "version": [
     1,
     0,
-    3
+    4
    ],
-   "commit": "f6ccceda1618aad0ec5a665dab912a7ebbc32f08",
-   "sha256": "0w4i478aybp9ca09ixmzsda83l9igqx5ryv0g8vpkmd2vg3r0dcy"
+   "commit": "1ad373fd18d9db62b236d9d85603cd923f62f084",
+   "sha256": "0nhikhnqnxyxx6s14vafhfwd4ph2bwvxz0m7mn0arrf6hjqzw7ws"
   }
  },
  {
@@ -54262,14 +55625,14 @@
  },
  {
   "ename": "lispy",
-  "commit": "e23c062ff32d7aeae486c01e29c56a74727dcf1d",
-  "sha256": "12qk2gpwzz7chfz7x3wds39r4iiipvcw2rjqncir46b6zzlb1q0g",
+  "commit": "29a704fede83b02e19c2ad213485f0f651931753",
+  "sha256": "1c8gz46ab5f07dljv2chr0i5lini81wl3zx4zw8xjysb4a5dp05v",
   "fetcher": "github",
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20190827,
-    1516
+    20200105,
+    1844
    ],
    "deps": [
     "ace-window",
@@ -54278,8 +55641,8 @@
     "iedit",
     "zoutline"
    ],
-   "commit": "7130b9d36f6d7eaed61e911772ba23e0c36659b3",
-   "sha256": "1swihyr4ir3a74kl8vppbl8s4yf3mwrvrjrpdfgvva0jys03bhsx"
+   "commit": "ba59a11e122170620e7d151df4b609490ee416f6",
+   "sha256": "0qynzadzklb7wnldcs7sj9v003v6xffvq0y85x8knj04cbl09bwy"
   },
   "stable": {
    "version": [
@@ -54484,6 +55847,37 @@
   }
  },
  {
+  "ename": "litanize",
+  "commit": "772ac9f0328ce5d184c2e126f6dd79a161a6d6c4",
+  "sha256": "1z4l0sk8gbramq900qf14vay0n5v2wd88yswawqrnhkhmqwl3qxm",
+  "fetcher": "github",
+  "repo": "zzkt/litanizer",
+  "unstable": {
+   "version": [
+    20200108,
+    607
+   ],
+   "deps": [
+    "enlive",
+    "s"
+   ],
+   "commit": "ce74f10540d6b335c4d0966cbabcf5099531280e",
+   "sha256": "1gzpvl7pgawikkhprja6p94ymsjbsbklqjgdvhzca835mx1g4aw4"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "enlive",
+    "s"
+   ],
+   "commit": "ce74f10540d6b335c4d0966cbabcf5099531280e",
+   "sha256": "1gzpvl7pgawikkhprja6p94ymsjbsbklqjgdvhzca835mx1g4aw4"
+  }
+ },
+ {
   "ename": "litecoin-ticker",
   "commit": "4976446a8ae40980d502186615902fc05c15ec7c",
   "sha256": "14pjizgdckqhm31ihbz35j8g95jdpmf1rd4l5zz38fyx12zbcpx5",
@@ -54509,25 +55903,25 @@
   "repo": "joodie/literal-string-mode",
   "unstable": {
    "version": [
-    20170301,
-    1530
+    20191023,
+    733
    ],
    "deps": [
-    "markdown-mode"
+    "edit-indirect"
    ],
-   "commit": "2ca4fc08b8e19e6183b1f1db747bb0a4aa4f98eb",
-   "sha256": "0wcz0lid05gnlmxpxm4ckw07cnxwjkyw6960nq7pylbjpg76g5ng"
+   "commit": "afffa86e626798ee9f9188ea3be2d5ee6ad17c39",
+   "sha256": "0nh14f3fv0b4i3rlx120s9a0s8gsaip0r15ki38446igl1macbq2"
   },
   "stable": {
    "version": [
     0,
-    1
+    5
    ],
    "deps": [
-    "markdown-mode"
+    "edit-indirect"
    ],
-   "commit": "46dd2b620df70d681261616f1a26afa4a032e2d5",
-   "sha256": "02a1jvxk2m1lb21p3281cr9xyhzix31cn8a9la53w90sz569i66r"
+   "commit": "afffa86e626798ee9f9188ea3be2d5ee6ad17c39",
+   "sha256": "0nh14f3fv0b4i3rlx120s9a0s8gsaip0r15ki38446igl1macbq2"
   }
  },
  {
@@ -54567,25 +55961,25 @@
   "repo": "jingtaozf/literate-elisp",
   "unstable": {
    "version": [
-    20190804,
-    602
+    20191012,
+    606
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1dd1aad8c4049423d1a7980191c25b4120681296",
-   "sha256": "07gp0l2y7ysl13n368jaqnj52fpqcirj0faz95rrzrysq9ap8xn8"
+   "commit": "3bd795288db8dcd3edf5b33ca8fc213fe16c62d5",
+   "sha256": "0in5cryj1abcg6850lxx8qqhxvdij54jmm4ip9ra2kwz55smq4ky"
   },
   "stable": {
    "version": [
     0,
-    6
+    8
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1dd1aad8c4049423d1a7980191c25b4120681296",
-   "sha256": "07gp0l2y7ysl13n368jaqnj52fpqcirj0faz95rrzrysq9ap8xn8"
+   "commit": "2c91d49be2450650236638a8100d9373ccd59d70",
+   "sha256": "0i9468rh61l4xq918fgwk6li93lpm6zbn0lkpxr7pbvkgrl5xsr6"
   }
  },
  {
@@ -54658,20 +56052,20 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20190614,
-    433
+    20200108,
+    546
    ],
-   "commit": "4c378e4afdffb09ab3ca338d3b37d9a2b69d9584",
-   "sha256": "1rchbqcpvdlrz3f95l5ldivh1hnf8hk67k8rpdi9zs7zva1hkdzv"
+   "commit": "96a72eb3d2d03ea9910f1712ab55990705275343",
+   "sha256": "1g6f2rxy93x2mpphmnvvqx848638s7pzxbgnsipvzmx5hx2g1pm8"
   },
   "stable": {
    "version": [
-    2,
-    25,
-    1
+    3,
+    0,
+    3
    ],
-   "commit": "b0e4f264c464ece407be9b8ccaf2f82c026f7c47",
-   "sha256": "1fpkfplpgvacwl7jiziqlh46dasnh8j7d2aihrghac7kkqnrhk2c"
+   "commit": "96a72eb3d2d03ea9910f1712ab55990705275343",
+   "sha256": "1g6f2rxy93x2mpphmnvvqx848638s7pzxbgnsipvzmx5hx2g1pm8"
   }
  },
  {
@@ -54751,17 +56145,17 @@
  },
  {
   "ename": "lms",
-  "commit": "b8be8497494b8543a8257c9ea92444baf7674951",
-  "sha256": "1ckrh6qbh5y2y3yzl2iyq8nqlpy4qp6vzc72ijcgayvcflb01vr1",
-  "fetcher": "bitbucket",
-  "repo": "inigoserna/lms.el",
+  "commit": "7d6c24152f88dad15ef9f304c0016a97ede71dab",
+  "sha256": "1nksla9i7b4nmnzppyw6fq5kzh8jyqjfxn45g60c4mi2mn3p95a1",
+  "fetcher": "hg",
+  "url": "https://hg.serna.eu/emacs/lms",
   "unstable": {
    "version": [
-    20181216,
-    2246
+    20191102,
+    3
    ],
-   "commit": "38302acf2aa3718ce62cc4c5f1fde96feb25a2ed",
-   "sha256": "0da14qr7lgkfxksnhf37ss5w6wxkw9qv5hvxk7z76jyzwqdc6w4x"
+   "commit": "0967d3bada2ab70784a944d56c81691b8e87dbd8",
+   "sha256": "15ksvdf2cfa8hwvazdza56iln244xlv1l65gydhjw8388hr7gbr0"
   }
  },
  {
@@ -54772,14 +56166,14 @@
   "repo": "daviderestivo/load-bash-alias",
   "unstable": {
    "version": [
-    20181220,
-    1755
+    20200106,
+    2015
    ],
    "deps": [
     "seq"
    ],
-   "commit": "50df445bace7896318f10c58d26b673635704215",
-   "sha256": "0m84ylx4j4bp898xc43yrkrk3csr2ppv3c51nirx5gdc5hnhykxj"
+   "commit": "999c613898085b37b9e16b60be1cbeaa9986d368",
+   "sha256": "1qhcx7c954q1liw3glhvbg5bph96j9bwf808g6l066n04xj5347i"
   }
  },
  {
@@ -54867,11 +56261,11 @@
   "repo": "fourier/loccur",
   "unstable": {
    "version": [
-    20181203,
-    2038
+    20191022,
+    1955
    ],
-   "commit": "194d70e6be82c4622b7460ca46ced38109ac0507",
-   "sha256": "136ixa0w94imwacdjispcn81v5i7pb0qqzy6bzgjw2cr9z9539bx"
+   "commit": "4934c0560d2f63e6314b4584211a0cc0a7e671c4",
+   "sha256": "03hwvx3h64jj9nylmzpv2241b5fi97anhjjpwc5sjmfsq1wbf432"
   }
  },
  {
@@ -55003,32 +56397,32 @@
  },
  {
   "ename": "lognav-mode",
-  "commit": "ad86b93f4982a0c6291c771e12c8f42ace3b88f9",
-  "sha256": "1941scifg3nn7gmnki3sa9zvwsbb84w5lw2xjmdx0sh8rbxaw8gb",
-  "fetcher": "bitbucket",
-  "repo": "ellisvelo/lognav-mode",
+  "commit": "a5b0dadc609d13737d56657c17a945f10e840222",
+  "sha256": "1fg2j63f6yaf4011vla36p1p0pjixzisff4wj80vh634yqvwp4ys",
+  "fetcher": "hg",
+  "url": "https://hg.osdn.net/view/lognav-mode/lognav-mode",
   "unstable": {
    "version": [
-    20190217,
-    1632
+    20191124,
+    1011
    ],
-   "commit": "bec9f3eba66e1b58153f3d74ea21e6022d735791",
-   "sha256": "19axhlcny5i4hfrhxivalxrhpghy2czj92cflq0gb5b6ar6zgkyg"
+   "commit": "7eb9cd2af5b47116fe475870b41dded55052c14c",
+   "sha256": "10f3im4x55ag6mhrrsjkylmaxm5s7dj7mwmppzm2yvs1nq0fxa79"
   }
  },
  {
   "ename": "logpad",
-  "commit": "5148207367bf236223e952a1e4fd600f90571b5e",
-  "sha256": "1r688z3y98wnr15fg6zzcs4c4yw0l6ygah07gjhblj8b7q7i2qgg",
-  "fetcher": "bitbucket",
-  "repo": "tux_/logpad.el",
+  "commit": "c9747d42331eae20744f0bf4821e82a7832dbdc7",
+  "sha256": "0xmgbw9cv2gvhlfxjpwk41vg7ixrl1bw607h9ag5vga4s3sg5q8l",
+  "fetcher": "github",
+  "repo": "dertuxmalwieder/logpad.el",
   "unstable": {
    "version": [
-    20180607,
-    1915
+    20190927,
+    2043
    ],
-   "commit": "506ace0e996f4d130ba9ccbc323caada7d516ff5",
-   "sha256": "0z9dq37hsrzjkd3pynqmm8gbiv1sbqnjxlqkyq6lpps5fd9n5vsz"
+   "commit": "ff80fd198b196c4db9ca88ae8cf858cae491e121",
+   "sha256": "0hc6lp6qmiq9qhn6lx7whfv2w1zz5g2j6azzd9vs695kcbqk5qm7"
   }
  },
  {
@@ -55061,8 +56455,8 @@
     "datetime",
     "extmap"
    ],
-   "commit": "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a",
-   "sha256": "03s4q5xdz84cjn4qkfhsc3l9y3v5avrl2i5dby4bgsg2zj7n7f73"
+   "commit": "72566479cbd8d90dfe2fec5984ebb4484994525c",
+   "sha256": "1ldqkbdl4vyqg6kibp1z8d5cam4r8za1pb851k886bqwag0zaj3b"
   },
   "stable": {
    "version": [
@@ -55233,15 +56627,15 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20190602,
-    825
+    20191230,
+    1847
    ],
    "deps": [
     "haskell-mode",
     "lsp-mode"
    ],
-   "commit": "64106be79350f9ce6903d22c66b29761dadb5001",
-   "sha256": "1d2jvcsx0x7w7f9q93gdi4x2fc6ymyr7d213m9ca5jj52rxjfsm2"
+   "commit": "6d481f97e62b0fd2455e8f7a36429981277445b1",
+   "sha256": "0ljflzdjzsafgqqq9fdajrcm0rk4xaki2h5gbsbkgn8z65a2xh6h"
   }
  },
  {
@@ -55263,6 +56657,26 @@
   }
  },
  {
+  "ename": "lsp-ivy",
+  "commit": "51af5cfe26bdf1482fb707fbcc5e9ea49b99eb14",
+  "sha256": "0yw72n0gyzv60nx4ycn979yzqwxv4hqrbi39g5finxmwjjf4rha9",
+  "fetcher": "github",
+  "repo": "emacs-lsp/lsp-ivy",
+  "unstable": {
+   "version": [
+    20191028,
+    902
+   ],
+   "deps": [
+    "dash",
+    "ivy",
+    "lsp-mode"
+   ],
+   "commit": "78c1429c62c19006058b89d462657e1448d1e595",
+   "sha256": "1bry1vsv6p2h4qrzx8aq7bsqfw12w3v5gz548dwkdk2cwmhsmi3d"
+  }
+ },
+ {
   "ename": "lsp-java",
   "commit": "c03cb07862c5f35487fb4fb3cc44623774724717",
   "sha256": "0rrl9mh25w1avvyww840d3yh8nw0shirspxl2nxqwwdaymbkg2wr",
@@ -55270,8 +56684,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20190918,
-    1601
+    20200105,
+    1046
    ],
    "deps": [
     "dash",
@@ -55280,10 +56694,11 @@
     "ht",
     "lsp-mode",
     "markdown-mode",
-    "request"
+    "request",
+    "treemacs"
    ],
-   "commit": "df3cfc30eaa9d7605ac3db5d17d8a02efaf50527",
-   "sha256": "0whybqasbi09ki9714k139vm0hmzvxrn0r20ibk8rfj6lxprkwl5"
+   "commit": "a3ebf619a2b12b8dbbb24c39c4f78b1ba9c29e6a",
+   "sha256": "1x6il7pnyc7ylayiw35kn6jk8dphzwsas7dk129p6q0wjfdvif9d"
   },
   "stable": {
    "version": [
@@ -55323,6 +56738,38 @@
   }
  },
  {
+  "ename": "lsp-julia",
+  "commit": "ca6a06ed4de499bcccce05163ea3d54e4dca9539",
+  "sha256": "1frjvq2x0xsf93kgpy6bp9mgzfpr7zhacskmm6x8kknb9vj18h4v",
+  "fetcher": "github",
+  "repo": "non-Jedi/lsp-julia",
+  "unstable": {
+   "version": [
+    20191011,
+    1005
+   ],
+   "deps": [
+    "julia-mode",
+    "lsp-mode"
+   ],
+   "commit": "da66e78eb601b1652c3a9096e0ceea6b852aa6a0",
+   "sha256": "1xn7470lm322lqkkbg95qmzaadk85z3f2f3cx34iq00cmkkppcng"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "deps": [
+    "julia-mode",
+    "lsp-mode"
+   ],
+   "commit": "6b0d1a3f32c5e6c5b4c0993f30303569a9e9e9bd",
+   "sha256": "11jisy6161j4mpqyi06slfr3l7cmmnp7xc6701hszmvl935znn3l"
+  }
+ },
+ {
   "ename": "lsp-mode",
   "commit": "1a7b69312e688211089a23b75910c05efb507e35",
   "sha256": "0cklwllqxzsvs4wvvvsc1pqpmp9w99m8wimpby6v6wlijfg6y1m9",
@@ -55330,23 +56777,25 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20190918,
-    1903
+    20200107,
+    1910
    ],
    "deps": [
     "dash",
     "dash-functional",
     "f",
     "ht",
+    "lv",
     "markdown-mode",
     "spinner"
    ],
-   "commit": "9330d7c3f1431b38f84a2296572531f9574b7d6d",
-   "sha256": "1sy68585wp07av0z8aam93j4ywcz0b95zg1da59w86k54j6i27cj"
+   "commit": "752674a9efba4860ec85ea159fc4f9679a44819c",
+   "sha256": "0wi05v6a536y54kk9dc1a1id1arv8v6r5jpy49g9q2kglkhkaji8"
   },
   "stable": {
    "version": [
     6,
+    2,
     1
    ],
    "deps": [
@@ -55354,11 +56803,34 @@
     "dash-functional",
     "f",
     "ht",
+    "lv",
     "markdown-mode",
     "spinner"
    ],
-   "commit": "50ddaf439cd62033d3bc0d12cca341fb0d4e1382",
-   "sha256": "0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"
+   "commit": "5c8addac9d57dff268d2f6e825522fd5353e5e3e",
+   "sha256": "0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"
+  }
+ },
+ {
+  "ename": "lsp-mssql",
+  "commit": "abe823ce7ab99c2c45a74a36713064d441ee8165",
+  "sha256": "0imhby806kyp0nb5fk04kxy6w90n8s5j5ckf8pky8wvasl9anf4i",
+  "fetcher": "github",
+  "repo": "emacs-lsp/lsp-mssql",
+  "unstable": {
+   "version": [
+    20191204,
+    1150
+   ],
+   "deps": [
+    "dash",
+    "f",
+    "ht",
+    "lsp-mode",
+    "lsp-treemacs"
+   ],
+   "commit": "e16e91d6a2a6cdb406ee9b98cfb47f7a32e41d61",
+   "sha256": "1fyghfl1acrghf8lisg760cgxw4rnz29ym4mzlznc0lb80d43cg3"
   }
  },
  {
@@ -55394,8 +56866,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "156ba380cd6adc5df663420ae25c45046faeb68e",
-   "sha256": "0flp7a4lw9bfjw1g57kl6amnf0hzv7arnhjasibm1nq4w0p10pvr"
+   "commit": "54dd19d88cd561061ac3103dc452d6854e5899fa",
+   "sha256": "1kg8n215hg8x9gxi2sdjyk8whbir20p3fzc50za1iwhiq3gzx1fw"
   },
   "stable": {
    "version": [
@@ -55435,17 +56907,28 @@
   "repo": "emacs-lsp/lsp-python-ms",
   "unstable": {
    "version": [
-    20190911,
-    1324
+    20200106,
+    1738
    ],
    "deps": [
     "cl-lib",
-    "json",
-    "lsp-mode",
-    "python"
+    "lsp-mode"
+   ],
+   "commit": "9780be701545064847456eff8ae30fadcdf63b0d",
+   "sha256": "021nmpabad3vgq10bs3qsgg3m5vd4vzlsbyi2jgk1si9kgw898j1"
+  },
+  "stable": {
+   "version": [
+    0,
+    5,
+    0
    ],
-   "commit": "42222bacf09c4ca18302ac39d50ea09d196e2816",
-   "sha256": "09a8kjc47v5qcrd4p0b911idbhh760xdir2bgkn3gm2w5l4krfyj"
+   "deps": [
+    "cl-lib",
+    "lsp-mode"
+   ],
+   "commit": "d8fa9d9eea03a457eaf9944c6188107ff2ed342c",
+   "sha256": "09v5i2sdayxa69csmfyr8x8lkqmz9578vw9vrm7ayys0sc1g2zh2"
   }
  },
  {
@@ -55493,8 +56976,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20190829,
-    2110
+    20191229,
+    1039
    ],
    "deps": [
     "dash",
@@ -55504,8 +56987,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "3adf416da2fcd7dd4eac33f87c3eff66d5b67624",
-   "sha256": "0dqa7ny01v7k16pjrb42393blccvck650803hbsf1bp40ainaks9"
+   "commit": "4faf0e3fa14fff712d9cd325a2bf17ba452fa2c1",
+   "sha256": "1bqmv64skm6w0m3wxg914jzqs34cd5axwj2c6wjli4sja162h8ab"
   }
  },
  {
@@ -55516,8 +56999,8 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20190915,
-    856
+    20200106,
+    1152
    ],
    "deps": [
     "dash",
@@ -55525,8 +57008,8 @@
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "c8fa40c0f9c65877d1cabe1739e5f787adb24898",
-   "sha256": "040qzkd1zvyb0q3yxs2vd4f3qp37c8anr3zcmx96bjvj1v7pmpmn"
+   "commit": "01f89e40f473032376f70a90e33831356832f084",
+   "sha256": "0avi8hfyh61gjrv0c8aj28y8nx8qw1vvsb3l15v9xzblvdrx7v5x"
   },
   "stable": {
    "version": [
@@ -55551,11 +57034,11 @@
   "repo": "immerrr/lua-mode",
   "unstable": {
    "version": [
-    20190113,
-    1050
+    20191204,
+    1434
    ],
-   "commit": "95c64bb5634035630e8c59d10d4a1d1003265743",
-   "sha256": "0cawb544qylifkvqads307n0nfqg7lvyphqbpbzr2xvr5iyi4901"
+   "commit": "1f596a93b3f1caadd7bba01030f8c179b029600b",
+   "sha256": "0fdnkv37m7nf8yjjf01c856g2wrzyzqicv67fnbrnx7abrrfb1nd"
   },
   "stable": {
    "version": [
@@ -55606,19 +57089,20 @@
   "repo": "sjbach/lusty-emacs",
   "unstable": {
    "version": [
-    20180628,
-    1346
+    20191203,
+    1635
    ],
-   "commit": "fc4b2f0f8a07db107234490fdfbf72f8b76a6643",
-   "sha256": "014fivh9shi7p3x31bl22x48agrgygp0pf2lgzzflrxcynmprbnp"
+   "commit": "1fbd5cfbdbb8ed744b5a141648febf620bbf5a84",
+   "sha256": "140af29angfnf9kakx65bpl233bn0xgr1lsb2na9qmbsarhva1kw"
   },
   "stable": {
    "version": [
     3,
-    0
+    0,
+    1
    ],
-   "commit": "fc4b2f0f8a07db107234490fdfbf72f8b76a6643",
-   "sha256": "014fivh9shi7p3x31bl22x48agrgygp0pf2lgzzflrxcynmprbnp"
+   "commit": "8ece9b1379a73e7dc0b6e682dd5a573f88a5cb32",
+   "sha256": "09zvn5fgjy27rmxziylvl83zdqmwa1jjndxmxhgsyh9mklisz32p"
   }
  },
  {
@@ -55629,11 +57113,11 @@
   "repo": "abo-abo/hydra",
   "unstable": {
    "version": [
-    20190821,
-    947
+    20191214,
+    1357
    ],
-   "commit": "435c55e9f75a8cf3ae6a4ba0c7725e3dc4e5963f",
-   "sha256": "0nzbjx5rnmzl0dhbrrmb5kbcmww6hzs1vwa62nlg9zfwq99zk42l"
+   "commit": "9db28034d7d61bfeff89899633b958f22befc53d",
+   "sha256": "1vay297i270n0s0bs1a96h9mn73i03885nnrcs8723i3iv7b51mp"
   },
   "stable": {
    "version": [
@@ -55926,14 +57410,14 @@
   "repo": "zk-phi/magic-latex-buffer",
   "unstable": {
    "version": [
-    20170531,
-    5
+    20191106,
+    241
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c03277d5619d9adcd871f3e6480a1a27985810cb",
-   "sha256": "065xfj6asw7px4xmh5isbfs0y6m6818lrds1ca45rhkyfw98d2sb"
+   "commit": "8597f4db70732d6e479396e2f2a7e78742387253",
+   "sha256": "16zv10rir99wl16d79479204h5fbdx78wpgahlg6kf74001fr3sv"
   }
  },
  {
@@ -55944,11 +57428,20 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20190730,
-    1911
+    20191227,
+    929
    ],
-   "commit": "e7e32dc29382e1a59bb8963315d70fcc30473d6e",
-   "sha256": "1nhmd94x3h047r08wnl7nlrx0g6d17zwnj0km0gxlli9m61qwczs"
+   "commit": "f42fd8080781983ba593c9df39f2f5efc45bcf1f",
+   "sha256": "11vm25wkil9n2m9s330xy9c111qa85dffkig8x7m1qc9xka25wi7"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "commit": "11ea02254f2bdfaecc12a75545c558fd37b98954",
+   "sha256": "0msgpi4g8k6zyjshfaf5jb00idc5j5mrzl2kc5p2k1kg19bh3178"
   }
  },
  {
@@ -55959,8 +57452,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20190906,
-    2217
+    20200108,
+    532
    ],
    "deps": [
     "async",
@@ -55969,8 +57462,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "5c424142704d481faafce7b834af67c1aca98e68",
-   "sha256": "0849yg97gkg3qp0xa67kxfq888i5nmmz0982zcvc3n4k6xswy52c"
+   "commit": "2191261223078077bf35eb12187e35ff0228174a",
+   "sha256": "1fn1ygaw71qq5b6dqk4bj05rfjqb4qz2hv0vc3m3zvpckxar6v5g"
   },
   "stable": {
    "version": [
@@ -56030,16 +57523,16 @@
   "repo": "abrochard/magit-circleci",
   "unstable": {
    "version": [
-    20190814,
-    1723
+    20191209,
+    2113
    ],
    "deps": [
     "dash",
     "magit",
     "transient"
    ],
-   "commit": "03101bd9cdbdfd779471a4c6d3d00ebadc8ca4a2",
-   "sha256": "10jr06257g3wx45rrx8jp1lxrlf5xx9w07832p2jpwfvqwi9w0xh"
+   "commit": "3425ad5b16cb48d6802b7e9ed044b4cd7a99c785",
+   "sha256": "10iinizl99aivrf9zihykabb5lyg62kxbmydwaf7swzxf4dgxn2k"
   }
  },
  {
@@ -56160,8 +57653,8 @@
   "repo": "sigma/magit-gh-pulls",
   "unstable": {
    "version": [
-    20180716,
-    1636
+    20191230,
+    1944
    ],
    "deps": [
     "gh",
@@ -56169,8 +57662,8 @@
     "pcache",
     "s"
    ],
-   "commit": "6949e973f3e951cb0bfe75d889e0fcccc33ba733",
-   "sha256": "0djr5lkv2wjs2c4dvb41xjkpjk9w6q888r4dlgw9w35z7h30b5vi"
+   "commit": "57f3a5158bbc7bfd169ee136fde351cce999e0ca",
+   "sha256": "1halhivvfklxscg1xxk461wgjlh3vl8g991ydj93450b6mw3azaq"
   },
   "stable": {
    "version": [
@@ -56228,14 +57721,14 @@
   "repo": "magit/magit-imerge",
   "unstable": {
    "version": [
-    20190219,
-    553
+    20191105,
+    2245
    ],
    "deps": [
     "magit"
    ],
-   "commit": "54f2e25eb5f9e9763a60808ecfc1edef7f276ce0",
-   "sha256": "0i16s3kc5k1sr2fgq72n0nmrwqphrg5zppmvri653120nga7b5lx"
+   "commit": "a7357ab87c89187234fe333bb869727c417638d1",
+   "sha256": "1s5ysmzyvlhnb9yzxwsrs0rj50ib0wzb2wrmisghxi10pk3j9sk9"
   },
   "stable": {
    "version": [
@@ -56290,15 +57783,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20190419,
-    1545
+    20200102,
+    2204
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "5c424142704d481faafce7b834af67c1aca98e68",
-   "sha256": "0849yg97gkg3qp0xa67kxfq888i5nmmz0982zcvc3n4k6xswy52c"
+   "commit": "2191261223078077bf35eb12187e35ff0228174a",
+   "sha256": "1fn1ygaw71qq5b6dqk4bj05rfjqb4qz2hv0vc3m3zvpckxar6v5g"
   }
  },
  {
@@ -56348,8 +57841,8 @@
     "magit-popup",
     "p4"
    ],
-   "commit": "01e8bb24830861c50109878812550b4265cba82b",
-   "sha256": "169a6aq3m2xq2mvf5v8yix0052j2va78a3c4lirzc2ypbvch3fys"
+   "commit": "cdc05f2d564409baac9ca15b1a2a0110a6ff12b7",
+   "sha256": "0s2zmfw449gyc8lf8cqwm47wnqy9g5nai72agvapam2h5613mx4i"
   }
  },
  {
@@ -56360,28 +57853,26 @@
   "repo": "magit/magit-popup",
   "unstable": {
    "version": [
-    20190223,
-    2234
+    20200102,
+    1811
    ],
    "deps": [
-    "async",
     "dash"
    ],
-   "commit": "4250c3a606011e3ff2477e3b5bbde2b493f3c85c",
-   "sha256": "073x1yf96b623yphylnf0ysannr91vawzgjdv1smkcrgd4451hr3"
+   "commit": "df9abf1a1bce3fadb5e0657eb8f4c7026efa3c69",
+   "sha256": "1ifhph1mj7wjar62d65fjx45qsjwsyslbj7liih3v0r4by5gyxmw"
   },
   "stable": {
    "version": [
     2,
     13,
-    0
+    2
    ],
    "deps": [
-    "async",
     "dash"
    ],
-   "commit": "4250c3a606011e3ff2477e3b5bbde2b493f3c85c",
-   "sha256": "073x1yf96b623yphylnf0ysannr91vawzgjdv1smkcrgd4451hr3"
+   "commit": "df9abf1a1bce3fadb5e0657eb8f4c7026efa3c69",
+   "sha256": "1ifhph1mj7wjar62d65fjx45qsjwsyslbj7liih3v0r4by5gyxmw"
   }
  },
  {
@@ -56514,8 +58005,8 @@
   "repo": "alphapapa/magit-todos",
   "unstable": {
    "version": [
-    20190907,
-    1321
+    20200102,
+    7
    ],
    "deps": [
     "async",
@@ -56526,8 +58017,8 @@
     "pcre2el",
     "s"
    ],
-   "commit": "a80dace2bf8bf3e697e3e8421189996adcecc900",
-   "sha256": "0qwzag9js6qy98m7c8gmaskg4qc82sf0aihcs5vcxdf8rgia2j9q"
+   "commit": "40d268f9b487ad7e3b7aff2da2bc44e596bc8052",
+   "sha256": "1xgwz13nmk2apbgq00ac9qrcf2hip558x0qcn8rg9n9shnbixsqq"
   },
   "stable": {
    "version": [
@@ -56710,28 +58201,28 @@
   "repo": "jerrypnz/major-mode-hydra.el",
   "unstable": {
    "version": [
-    20190814,
-    952
+    20191014,
+    337
    ],
    "deps": [
     "dash",
     "pretty-hydra"
    ],
-   "commit": "d9fb688dae3e134bb1ff7f35474c58f33a5bb992",
-   "sha256": "0aq2dk7c9jqq13p3bv0cq1aym00chcr5f9p3v93wl9h6pc3spbnc"
+   "commit": "fd362d2be7ed80889715ed8a30a61780a18ce6ea",
+   "sha256": "0vnmvpsm46izxlh0l0p89rhy6ifzzfpzk7j3kkf2608s6dy8hgcy"
   },
   "stable": {
    "version": [
     0,
     2,
-    1
+    2
    ],
    "deps": [
     "dash",
     "pretty-hydra"
    ],
-   "commit": "d9fb688dae3e134bb1ff7f35474c58f33a5bb992",
-   "sha256": "0aq2dk7c9jqq13p3bv0cq1aym00chcr5f9p3v93wl9h6pc3spbnc"
+   "commit": "bba876b86f0b80495004bf185b2b1f6083a1ff3a",
+   "sha256": "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"
   }
  },
  {
@@ -56985,11 +58476,11 @@
   "repo": "choppsv1/emacs-mandm-theme",
   "unstable": {
    "version": [
-    20180915,
-    1940
+    20191112,
+    1832
    ],
-   "commit": "b560aa0129c55a2f4fcc5e67a7d6c66ee4dc3124",
-   "sha256": "17af3bs55c6bxf1izvfgg0kag5az64ncbabgbh6ry14nv3r9lwy6"
+   "commit": "4e6ce4f222c1fa175d56e926628f37caa5f398ce",
+   "sha256": "05lb7izcwivjlyx6442hkskppr2158wg0b8g9k435xl083vxmpfw"
   }
  },
  {
@@ -57189,6 +58680,36 @@
   }
  },
  {
+  "ename": "markdown-changelog",
+  "commit": "1ca43b6cf089d7c75b1fb483d8356a3ca7fec5bd",
+  "sha256": "0cnp6yfhsixl9nl7l6aa9vrnz71ylf6z25hmk7f6w64f7nxsdmr8",
+  "fetcher": "github",
+  "repo": "plandes/markdown-changelog",
+  "unstable": {
+   "version": [
+    20191231,
+    1825
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "251c675d38aadb314184a7477f8a2f53399843be",
+   "sha256": "17nb57q9dmrrrn68zvm6bmrkp5yz18aivgmcz46y4a269srdsc28"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "83feaf9635a244bd26cb1959196be7efa143267b",
+   "sha256": "157imgdpwzmi5k02kqnpj2spyxkq663bka5gwxcf194h781icb61"
+  }
+ },
+ {
   "ename": "markdown-mode",
   "commit": "74610ec93d4478e835f8b3b446279efc0c71d644",
   "sha256": "0gfb3hp87kpcrvxax3m5hsaclwwk1qmxc73cg26smzd1kjfwgz14",
@@ -57196,14 +58717,14 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20190802,
-    2215
+    20191230,
+    1055
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f3c54e34cc5228001af36a5301883325319f21d4",
-   "sha256": "1zvpryra1sr63192j6v62kc9mvhc9wsvm7haj2maxmv2v3akhlil"
+   "commit": "e9dff50d572caa96b68a7466c18c97a8d6ed651c",
+   "sha256": "0v7a56fqwaqzqkpip7lpbsf9jnnwfjwd3jf61xnziv6j9sa46p1d"
   },
   "stable": {
    "version": [
@@ -57437,17 +58958,26 @@
  },
  {
   "ename": "marquee-header",
-  "commit": "7fad3e54df480d61e5f83aab053e834e6ef72cc7",
-  "sha256": "09yb1ds1r54xw2hsvb1w9i33a5qm0p79vgmj5ikw18zh68pnmzza",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "0hkrxx2gfilqhpjn7b0p3vvy8n4rqng3ac49kz7v45abqz5k79c0",
   "fetcher": "github",
-  "repo": "elpa-host/marquee-header",
+  "repo": "jcs-elpa/marquee-header",
   "unstable": {
    "version": [
-    20190805,
-    140
+    20191017,
+    1017
+   ],
+   "commit": "cb694a9eee79ea807dbc1587c47e209dd7e250fc",
+   "sha256": "0h191mip2yjvj1ha6cqvghd45g5ccd3p0qsvh9l2g0gg9d2salxk"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    8
    ],
-   "commit": "ac33b04c5a50de95c937fce1d80001a3c3c9b26d",
-   "sha256": "1cq6v8wdmvi90fc3mnqpsscnv1m19cp9iv6ba1dv7y32fh1d95my"
+   "commit": "77e4becd8a812377eb219c77641a22a77b4fdfef",
+   "sha256": "0a51aw567gkdxz58v7h2vdfs2rmnvyllqhq4a1yy4gslr0xsqk9c"
   }
  },
  {
@@ -57596,11 +59126,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20180928,
-    1526
+    20200106,
+    2217
    ],
-   "commit": "3fbca4259b2584bde08df07ba51944d7e3e2b4f4",
-   "sha256": "1diqx2k16iyj5a7kcc58kyl6mzw05cyq6ia4z3fciz716gkspgpi"
+   "commit": "b3057e8ca6a8703bf59ba365521cf37ad25c700b",
+   "sha256": "1ydls6g9fnsapvd5cnxba2b6g936q3ym4mlms7rvlazj3g1lma1n"
   }
  },
  {
@@ -57679,26 +59209,26 @@
   "repo": "dochang/mb-url",
   "unstable": {
    "version": [
-    20181225,
-    1724
+    20191006,
+    1930
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "cec2140618692d5d8380151f570c2fac95deb6fb",
-   "sha256": "07bagma1kjirziyzgwmivf0j8fmdzia3d1a0npvyq0hkqnkwcn2a"
+   "commit": "7230902e1f844e0a1388f741e9ae6260cda3de69",
+   "sha256": "09qsc4dl9ngl11i92bfslpl1b1i5ksnpkvfp2hhxn3hwfpgfh64s"
   },
   "stable": {
    "version": [
     0,
-    4,
-    0
+    5,
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "23078f2e59808890268401f294d860ba51bc71d9",
-   "sha256": "07b9w9vd22ma4s3qhplmg84sylihz920byyi9qa7dwj7b59d4avf"
+   "commit": "7230902e1f844e0a1388f741e9ae6260cda3de69",
+   "sha256": "09qsc4dl9ngl11i92bfslpl1b1i5ksnpkvfp2hhxn3hwfpgfh64s"
   }
  },
  {
@@ -57753,11 +59283,11 @@
   "repo": "dimitri/mbsync-el",
   "unstable": {
    "version": [
-    20181002,
-    640
+    20191002,
+    751
    ],
-   "commit": "f549eccde6033449d24cd5b6148599484850c403",
-   "sha256": "1pdj41rq3pq4jdb5pma5j495xj7w7jgn8pnz1z1zwg75pn7ydfp0"
+   "commit": "b62491c0e0d89eb9c66261a16d7ac81231c9c453",
+   "sha256": "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"
   }
  },
  {
@@ -57798,11 +59328,11 @@
   "repo": "thomas11/md-readme",
   "unstable": {
    "version": [
-    20160811,
-    1646
+    20191112,
+    1943
    ],
-   "commit": "bf818dd847c8b06b3b5100c5d3cf24cf96662528",
-   "sha256": "0gyjadkv572v3zilxivbiz28pvqh0jmi5bh5la1hyim0qnxymli8"
+   "commit": "ca99f44de11fab18d1f50d4b1722f2ceee3c814d",
+   "sha256": "1llwvcbwfj5mw100rx2hp8vcr7kawpl18nvy6vxl6brqw7ka0d2s"
   }
  },
  {
@@ -57813,8 +59343,8 @@
   "repo": "ahungry/md4rd",
   "unstable": {
    "version": [
-    20190313,
-    240
+    20191113,
+    2108
    ],
    "deps": [
     "cl-lib",
@@ -57824,8 +59354,8 @@
     "s",
     "tree-mode"
    ],
-   "commit": "443c8059af4925d11c93a1293663165c52472f08",
-   "sha256": "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"
+   "commit": "ff7d95fc0fdf46a3cb6b3bbe52396dc4e474b8fd",
+   "sha256": "1p8g5pbczg1n1pfibxwpbg1qsyrqi131awxkvl98w8ynb9zi1fqs"
   },
   "stable": {
    "version": [
@@ -57877,30 +59407,30 @@
   "repo": "mopemope/meghanada-emacs",
   "unstable": {
    "version": [
-    20190526,
-    548
+    20191215,
+    1353
    ],
    "deps": [
     "company",
     "flycheck",
     "yasnippet"
    ],
-   "commit": "24813cf364f1c857c2ee412d0a088f0ceff53842",
-   "sha256": "1ripap7is2amk3i2mavwiiv5mfsx9k3gxpy9nyaz58pzgvyjqplc"
+   "commit": "70bfbf553c7b7fb1928672e9a95b7137e02c2d4b",
+   "sha256": "07rl9lr4dyb9ld2cgvkxkfirls03jznggaa1j776nppk00fhz3bg"
   },
   "stable": {
    "version": [
     1,
     2,
-    0
+    1
    ],
    "deps": [
     "company",
     "flycheck",
     "yasnippet"
    ],
-   "commit": "64518b54148092ceff58d45f062558a7dbfd3a03",
-   "sha256": "1ripap7is2amk3i2mavwiiv5mfsx9k3gxpy9nyaz58pzgvyjqplc"
+   "commit": "70bfbf553c7b7fb1928672e9a95b7137e02c2d4b",
+   "sha256": "07rl9lr4dyb9ld2cgvkxkfirls03jznggaa1j776nppk00fhz3bg"
   }
  },
  {
@@ -57989,11 +59519,11 @@
   "repo": "skeeto/emacs-memoize",
   "unstable": {
    "version": [
-    20190915,
-    37
+    20200103,
+    2036
    ],
-   "commit": "8c1e5569550e783dd7814735e22c935416c4462d",
-   "sha256": "1pa9f8ydkabbxx5szgmvl4mn85pk2bw878z81vlfwbcz4nv8fr1h"
+   "commit": "51b075935ca7070f62fae1d69fe0ff7d8fa56fdd",
+   "sha256": "102f34iw2vslimihf557vwn5599xcw1vf422vypdg3ilk6s8z2ax"
   },
   "stable": {
    "version": [
@@ -58067,20 +59597,20 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20190920,
-    1510
+    20191025,
+    851
    ],
-   "commit": "91fc77b5d8e2612176684c12f2a3949b44bb27bf",
-   "sha256": "1wk49sjixx3q5iral9pn1nl4a1qv1hlpgadx49yp1d1qd2x8yy9k"
+   "commit": "28fc61128198f023d88c104e98451e17c896afd9",
+   "sha256": "0lc2y6lb4h0l0jlmsyf4n6nf87z6nfixnsipyg5cbkj7xzji0xys"
   },
   "stable": {
    "version": [
     3,
     3,
-    2
+    3
    ],
-   "commit": "ddf678dd937bc7375f618ad5898caa53a7107319",
-   "sha256": "1z9mcxflraj15sbz6q7f84n31n9fsialw7z8bi3r1biz68nypva9"
+   "commit": "73e9771bcc1c8f8575b505a62c58ad40004cf5f7",
+   "sha256": "12mh5p87rjwvkf6dqmxka4jbvhcd729972b726im6v0a27ncqh77"
   }
  },
  {
@@ -58120,14 +59650,14 @@
   "repo": "abrochard/mermaid-mode",
   "unstable": {
    "version": [
-    20190503,
-    1726
+    20191206,
+    443
    ],
    "deps": [
     "f"
    ],
-   "commit": "6b3cc82cf68528d9056dd3803dc5fab62300a44a",
-   "sha256": "1zkayx8bafadkwsllbmj5whfy3kvcb39llkhbx821mbwl5cwkijv"
+   "commit": "83eb6627d793db39a147c7b499f65637db1341b2",
+   "sha256": "110im31z8fvl34h80y0kq6070id9p6cr7d6ssfkbmipl3w26x71d"
   }
  },
  {
@@ -58161,11 +59691,11 @@
   "repo": "legoscia/messages-are-flowing",
   "unstable": {
    "version": [
-    20170219,
-    120
+    20191029,
+    954
    ],
-   "commit": "ef879726957c850c3a5afd7f1118604991e37e32",
-   "sha256": "1mryk48z92r4j8f3qg0j0q5iygv7vnk1k0wgza5pq6bhrl5w13hq"
+   "commit": "d582a564a63b7b90764ffc5c618bc5300225d0ab",
+   "sha256": "0lgh8vi6ya7mnzc3ik8189kx6lqh4xfnsxpn7r52q7745x4d8zb1"
   }
  },
  {
@@ -58239,32 +59769,44 @@
  },
  {
   "ename": "metaweblog",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "0qgmcvq1fhgljia9ncjgvgrv0mzih0l9mglwbwcszn613wmx8bkg",
+  "commit": "cc7fde8f9de0f0e2ccc0c766884ca2b41d0bb5ce",
+  "sha256": "051xgrb620dq55k37wp6b32mdpw7x5ldn6r370n92xqlr1zmryhh",
   "fetcher": "github",
-  "repo": "org2blog/metaweblog",
+  "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20190212,
-    238
-   ],
-   "deps": [
-    "xml-rpc"
+    20191018,
+    242
    ],
-   "commit": "ec85ea7ec97347573613a578d2e91d5f8be74bae",
-   "sha256": "0qlk90qdjhakxklv4n0m7p6n1ykgp1v4xj453jd15mm7dj8bnc5m"
+   "commit": "58398120907504ff200adfd9b817f297142c9680",
+   "sha256": "0c8r9k803fc57ny56ny81s276r3m3y4cd7mxvwjmpz7ycivvg0v5"
   },
   "stable": {
    "version": [
     1,
-    0,
+    1,
     1
    ],
+   "commit": "3cad357cd5c0f7f949fc6c7aa42d76155d036e78",
+   "sha256": "136l0lm8lv7fgpzply241fngxfl3ck11raamqwislyv0nnjwdfdi"
+  }
+ },
+ {
+  "ename": "metrics-tracker",
+  "commit": "e0250d97fd363b90ff4b69757cac3370c37c4b8f",
+  "sha256": "1823irgkfpsjl550pkc9qc7j5qkx1gw1b3116b203g4nhzh20h6p",
+  "fetcher": "github",
+  "repo": "ianxm/emacs-tracker",
+  "unstable": {
+   "version": [
+    20200105,
+    1555
+   ],
    "deps": [
-    "xml-rpc"
+    "seq"
    ],
-   "commit": "aa14380eb7e7b879a0c16c96866b20a987cd3f2a",
-   "sha256": "146w9laysdqbikpzr2gc9vnjrdsa87d8i13f2swlh1kvq2dn3rz5"
+   "commit": "e8b2d96114ae52060e757d21003a5f242e744fe1",
+   "sha256": "1c6l7a9rl69vkvfidz2vc8agk4fzdlkjcn4dw01zq607m036jwzi"
   }
  },
  {
@@ -58275,11 +59817,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20190825,
-    2345
+    20200106,
+    143
    ],
-   "commit": "3bc70db24c4f1410eb91017ea37173ba7da70281",
-   "sha256": "054fcl303jjkswnjyx5apas8l6v8f8m3haxsvhn7f1xbcxvjmr9s"
+   "commit": "9cd86a81ee71268f007f949184a5d386cf737d77",
+   "sha256": "0zmdjxkp2mw9s2s7bryif5gjrqx29gjh47xkq05l8vvgf36r98rg"
   },
   "stable": {
    "version": [
@@ -58313,20 +59855,20 @@
   "repo": "purpleidea/mgmt",
   "unstable": {
    "version": [
-    20190324,
-    1908
+    20200104,
+    108
    ],
-   "commit": "9dae5ef83bf3739fba5366a252450c0fcb460b70",
-   "sha256": "0fy962z5jqgrpyjqp8hd1xrvghbnl692h4zyksl9d93fhlisa3bf"
+   "commit": "f07387225bfcb0b67850546ace4b74dfefb35ab3",
+   "sha256": "02pk90zrbrf8vwg0i83z48xvgaziwaar89rghnd5lggrj429kahv"
   },
   "stable": {
    "version": [
     0,
     0,
-    20
+    21
    ],
-   "commit": "da2a5f72bd68daab4bb29bca5b4661535948a105",
-   "sha256": "0njxgpqmk0rraf1l7i5s6i4lyrrq5fm3h13m9bsdcffz0jnyc9dx"
+   "commit": "6a7d904fae5014aabae8c91add220485108d485b",
+   "sha256": "0r0msrnbz9177cv1mlacsyd35k945nk2qaqm1f8ymgxa99zy124i"
   }
  },
  {
@@ -58520,14 +60062,25 @@
   "repo": "kiennq/emacs-mini-modeline",
   "unstable": {
    "version": [
-    20190913,
-    221
+    20191006,
+    1733
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "01608829d895d3a6f4160e3b33175e1a5bde628f",
+   "sha256": "19qdzn8jd8k85aalkl4751fyfw5lcrk0vvwrrvp2qmj5s3rr16jm"
+  },
+  "stable": {
+   "version": [
+    20191006,
+    1733
    ],
    "deps": [
     "dash"
    ],
-   "commit": "65b5371cd0c35983e6badd6b51493d4fddb8d7b6",
-   "sha256": "0rcxzvr7qgkfpx6kpcxrky3dm9dh791rk4ks7prn0rsgcmsi34f4"
+   "commit": "fe7b723b5e609a721a15800faa9bd8b34fddd3e3",
+   "sha256": "047v8x9i8j6vcn3ba2kzy2lzdxwcm867bby0a5l297jp6mqfw92h"
   }
  },
  {
@@ -58663,26 +60216,26 @@
   "repo": "tarsius/minions",
   "unstable": {
    "version": [
-    20190918,
-    2048
+    20200103,
+    1239
    ],
    "deps": [
     "dash"
    ],
-   "commit": "ca6a3e77ddbd19cdf363ea71ba357096395a5de5",
-   "sha256": "16rplpbfy3dnvqqgavk9jb1f1ihr5875zlixd4zxb1pqxs3jkgw3"
+   "commit": "c331c1516111b9d2136e632a218c1d7707215356",
+   "sha256": "095yx8zg61nka6f7biyj1binbp8g872vq275ycwgmd2ix462zyf4"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    3
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d36d2445420460c81bcd4822d0bfcbafaec2c682",
-   "sha256": "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"
+   "commit": "c331c1516111b9d2136e632a218c1d7707215356",
+   "sha256": "095yx8zg61nka6f7biyj1binbp8g872vq275ycwgmd2ix462zyf4"
   }
  },
  {
@@ -58693,14 +60246,14 @@
   "repo": "arthurnn/minitest-emacs",
   "unstable": {
    "version": [
-    20160628,
-    1820
+    20191229,
+    1711
    ],
    "deps": [
     "dash"
    ],
-   "commit": "1aadb7865c1dc69c201cecee275751ecec33a182",
-   "sha256": "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"
+   "commit": "6d9f6233b7ce63c63c96675514c228fd93a2b6a1",
+   "sha256": "01mfsyj0iq6rgh0q5b1acczdzr46n0nj5v94gb3iw9hs54vm4871"
   },
   "stable": {
    "version": [
@@ -58746,6 +60299,21 @@
   }
  },
  {
+  "ename": "minsk-theme",
+  "commit": "36546342769ce5b6487a9b9ca3ec48bc81b6c880",
+  "sha256": "0cxwrc8nw7kkpc3z2pa7qmkyamsbsnfs93ybflv3z1wzp6z9q1b8",
+  "fetcher": "github",
+  "repo": "jlpaca/minsk-theme",
+  "unstable": {
+   "version": [
+    20200102,
+    1829
+   ],
+   "commit": "2ad8e88530fb0b66b5798ff8d692144691c93891",
+   "sha256": "16fyqw79vfdklzibqc0j78d6ws77naxz7yj1iahp3wcwqlwln545"
+  }
+ },
+ {
   "ename": "mip-mode",
   "commit": "cbfefacda071c0f5ee698a4c345a2d6fea6a0d24",
   "sha256": "0jr8lzs1qzp2ki7xmm5vrdc6vmzagy8zsil0217vyl89pdfmxnyr",
@@ -58792,11 +60360,11 @@
   "repo": "jabranham/mixed-pitch",
   "unstable": {
    "version": [
-    20190307,
-    2210
+    20191023,
+    1025
    ],
-   "commit": "15bb9ec6d8be0812a46917205be6c3a1c78f68ff",
-   "sha256": "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"
+   "commit": "fbc566ace3ed7508dab6bec90ba185f21c829aab",
+   "sha256": "0175w364alym0qvvqlsgmy0j100pzdx5j1ck07hif3k5bs69q22i"
   },
   "stable": {
    "version": [
@@ -59108,8 +60676,8 @@
     20181029,
     516
    ],
-   "commit": "bec2268fb42db58d22479a7b7ca3a956ead1af94",
-   "sha256": "0yqdc1z6n9cpa16drjij2r77yqk9jhj1z532cnyqnk7r90avbhzs"
+   "commit": "26ac7d97abdeb762ceaeab6b892f3ed7e3412494",
+   "sha256": "0qbd4y10510q6r21zzxnr16ylrm7qh1qc7ll5wxab0yi03jaas3s"
   },
   "stable": {
    "version": [
@@ -59184,6 +60752,54 @@
   }
  },
  {
+  "ename": "modus-operandi-theme",
+  "commit": "6f3291ebede304fe14240870372c0d396f43c0d9",
+  "sha256": "15rq4l14a7y6p8vhgbs017crfwyp7fq61n03xbfycq92mlx89kgx",
+  "fetcher": "gitlab",
+  "repo": "protesilaos/modus-themes",
+  "unstable": {
+   "version": [
+    20200106,
+    1823
+   ],
+   "commit": "3c287ae6bf05b3cdc29fb9841bdce990c77ed61b",
+   "sha256": "171qhi4xcgrkvx1gg5ayz95b6pjazqi2swigl10qf5gxj2b26ys1"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "ed89fbe217fc1a754d9de5f3e6b22b43fca284af",
+   "sha256": "0c4y3y9mjf6x2b9087fk6nkxvgvm9f5l1p2vdwqny80vp4krsb8r"
+  }
+ },
+ {
+  "ename": "modus-vivendi-theme",
+  "commit": "74909ab53df89c5b720c89527b3b4c9aec8351b9",
+  "sha256": "16bs48amvwikp4ikv8fs9zrsyz942jdzlz9ddf3qv8c9vpc5x58q",
+  "fetcher": "gitlab",
+  "repo": "protesilaos/modus-themes",
+  "unstable": {
+   "version": [
+    20200106,
+    1823
+   ],
+   "commit": "3c287ae6bf05b3cdc29fb9841bdce990c77ed61b",
+   "sha256": "171qhi4xcgrkvx1gg5ayz95b6pjazqi2swigl10qf5gxj2b26ys1"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "ed89fbe217fc1a754d9de5f3e6b22b43fca284af",
+   "sha256": "0c4y3y9mjf6x2b9087fk6nkxvgvm9f5l1p2vdwqny80vp4krsb8r"
+  }
+ },
+ {
   "ename": "moe-theme",
   "commit": "4efefd7edacf90620436ad4ef9ceb470618a8018",
   "sha256": "1nqvj8spvffgjvqlf25rcm3dc6w1axb6qlwwsjhq401a6xhw67f6",
@@ -59343,11 +60959,11 @@
   "repo": "belak/emacs-monokai-pro-theme",
   "unstable": {
    "version": [
-    20190425,
-    2303
+    20191115,
+    714
    ],
-   "commit": "747556c0cb38993c83ea8b6665869f42249d885a",
-   "sha256": "1xfc3v1bwxpn3j42h6b1vy6knjrlmskq95c9vgdlia9ffz5pg7r3"
+   "commit": "622e3a7203907978ce0d2409e3df2d65c63ce938",
+   "sha256": "08gl9wcr4xi1v8750j2bqvn0szv2iifi3y8ay9c9lscqax9knx83"
   }
  },
  {
@@ -59421,20 +61037,20 @@
   "repo": "jessieh/mood-line",
   "unstable": {
    "version": [
-    20190911,
-    2023
+    20191101,
+    1955
    ],
-   "commit": "29ba63795911bdd535d569f0cc4e9d18cc3ac8e4",
-   "sha256": "0sp6cgpqrab1cgqy4vhgdfavmfz73h57aw0fxvywf348kxbqf28s"
+   "commit": "0b07bdc7e77e19d7c722c2db803be0d3b47aa692",
+   "sha256": "0i40rbc0m4sya4f2lcfc6v6kn4kc6rny3j14b5rma66jyx08fcwg"
   },
   "stable": {
    "version": [
     1,
-    1,
-    2
+    2,
+    1
    ],
-   "commit": "3560d8aafd8c856a218ff8fab5a30e1aa0db25b6",
-   "sha256": "08qh8x0gd7byvfp03jpkd95h70djh8vrwpm451932zwf66j7fnay"
+   "commit": "43682f713eb1b95b98c1ec18e4f51daebd9ad43f",
+   "sha256": "03ms3yfp05b7c65pgjncm00r45fqgzal9xsp5gj58cm0yhclkcsd"
   }
  },
  {
@@ -59445,20 +61061,20 @@
   "repo": "jessieh/mood-one-theme",
   "unstable": {
    "version": [
-    20190911,
-    2031
+    20191029,
+    743
    ],
-   "commit": "2f044f7b1f68d450fd4c3c67209c353401621277",
-   "sha256": "10x1a9r537qd80rzhhp99mxx08fp8gpd8knrbb0565iqi3czk1rz"
+   "commit": "77ff4bfd954d46bc7580175ef443a9168938f9cd",
+   "sha256": "02aqp3na2401n0mc6fbqvlwrfvbq283kyn9fhan4d0i6mrgvdblx"
   },
   "stable": {
    "version": [
     1,
     0,
-    3
+    4
    ],
-   "commit": "47fc825547664c3e3eb8f47f1a9cf74b23efc2c6",
-   "sha256": "17zz3nc3r2cm4w99frzqxnh768vnmzs71p9zz9bj03wc222n1kv6"
+   "commit": "98c2f3ca27dce87cec1bd7ffd322b48129213588",
+   "sha256": "1rs9az5d4279jqldvx963qx0plbxp49c3crksmcq6si0x1iwg86x"
   }
  },
  {
@@ -59469,20 +61085,20 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20190831,
-    1058
+    20200103,
+    1238
    ],
-   "commit": "ac17d739075a571a086756fcaed482814888bf5c",
-   "sha256": "1yisg83khzfmdyqp450kfqgsy76wglb003j1bsann0z0xkw5pla3"
+   "commit": "3616a6bd7c6b028753dc11feabd14597da694a63",
+   "sha256": "1fj66x2vgxqi36fvzh2q0b3p9bijq4a86sqv57zjs59yknib29h7"
   },
   "stable": {
    "version": [
     0,
-    4,
-    1
+    5,
+    2
    ],
-   "commit": "e0975e844876f0962b2e9481c26739397bd23541",
-   "sha256": "0jci21ycsyf1mblcv8vbii4wisw1zcs15q5xwld7ai24kgj70269"
+   "commit": "3616a6bd7c6b028753dc11feabd14597da694a63",
+   "sha256": "1fj66x2vgxqi36fvzh2q0b3p9bijq4a86sqv57zjs59yknib29h7"
   }
  },
  {
@@ -59493,11 +61109,11 @@
   "repo": "takaxp/moom",
   "unstable": {
    "version": [
-    20190820,
-    1114
+    20191118,
+    902
    ],
-   "commit": "52fe3ed21490e6a5266e5d2d7111199b997c2400",
-   "sha256": "00zk1ssfmks4bnw8j4zfxnjsvjzgdf9a3wb08h8jnbpkh48zff7i"
+   "commit": "f16c8c509990932f3db7570a838a441d5c22dec3",
+   "sha256": "172ih3wa3n6q46i7hcjddvnpy4h3vjldj42wvid4lpny0ibjazfy"
   },
   "stable": {
    "version": [
@@ -59895,15 +61511,15 @@
   "repo": "mpdel/mpdel",
   "unstable": {
    "version": [
-    20190911,
-    632
+    20200102,
+    1938
    ],
    "deps": [
     "libmpdel",
     "navigel"
    ],
-   "commit": "e09904bf31ed465ea93ef2c165e8a6f705229f57",
-   "sha256": "159nb9ws800d5lx5plh8y0mmjl1y6spwhaxm9f5kxs6psa89mckj"
+   "commit": "706268d988a7f3560190694f5d21e27f5eeb58da",
+   "sha256": "1jsh6x844j33n27ny2rwc5c0psc89fzqy8g2ny09sywm3j4lg281"
   },
   "stable": {
    "version": [
@@ -60036,30 +61652,30 @@
   "repo": "yaruopooner/msvc",
   "unstable": {
    "version": [
-    20190426,
-    1045
+    20191211,
+    540
    ],
    "deps": [
     "ac-clang",
     "cedet",
     "cl-lib"
    ],
-   "commit": "c3b86fb517e95c9ae4d6b851984f4f4ed1864c06",
-   "sha256": "0mn12za94ciqfagia3ga7azl86abxa41191vlczh8kwspwci4x1h"
+   "commit": "9fe50e5961fa63fc5cf7326370f441993e9d5cfc",
+   "sha256": "133pidan95qyn78gdhfxlyk8x5f28rm5rwb9wdw1gpjy4l72q22f"
   },
   "stable": {
    "version": [
     1,
     4,
-    1
+    2
    ],
    "deps": [
     "ac-clang",
     "cedet",
     "cl-lib"
    ],
-   "commit": "c3b86fb517e95c9ae4d6b851984f4f4ed1864c06",
-   "sha256": "0mn12za94ciqfagia3ga7azl86abxa41191vlczh8kwspwci4x1h"
+   "commit": "9fe50e5961fa63fc5cf7326370f441993e9d5cfc",
+   "sha256": "133pidan95qyn78gdhfxlyk8x5f28rm5rwb9wdw1gpjy4l72q22f"
   }
  },
  {
@@ -60218,11 +61834,20 @@
   "repo": "mkcms/mu4e-overview",
   "unstable": {
    "version": [
-    20190421,
-    612
+    20191020,
+    842
+   ],
+   "commit": "c34f45b3ab9cce892835e14c6701b531a4f54cce",
+   "sha256": "1jc291xwym2ddiqvn83s2b2jw6a08dd63x0f6526qv8g3yr1jl1s"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
    ],
-   "commit": "eb2d1e39c77c4725a8ee36dc68917aaf7b717b46",
-   "sha256": "08mchv8q8q3mnpm69vc888jlv4iik4vlkxqpmkrsgimq1gyb80pj"
+   "commit": "c34f45b3ab9cce892835e14c6701b531a4f54cce",
+   "sha256": "1jc291xwym2ddiqvn83s2b2jw6a08dd63x0f6526qv8g3yr1jl1s"
   }
  },
  {
@@ -60335,17 +61960,17 @@
  },
  {
   "ename": "multi-project",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "19dy2wl5ad1xldiznlw2vjvr9ja8h9wiv6igcggixq56fhngp40x",
-  "fetcher": "bitbucket",
-  "repo": "ellisvelo/multi-project",
+  "commit": "a5b0dadc609d13737d56657c17a945f10e840222",
+  "sha256": "0zq2lwrllj4icksq6y7hz61ah39k60v1jc5qr16zvwyfqxhk8hpb",
+  "fetcher": "hg",
+  "url": "https://hg.osdn.net/view/multi-project/multi-project",
   "unstable": {
    "version": [
-    20190710,
-    947
+    20191117,
+    1203
    ],
-   "commit": "88e5e67fd58cfb6643f8ec28d3d432c3ba95afdd",
-   "sha256": "0sfdcrfhjia8vv3lb9kqddyfdsb4ryzy1r4fmdi9mlk0jjqjqda9"
+   "commit": "4045823d51f6330466b6ab83828b6c598ac817a0",
+   "sha256": "18z1mmmjq4xw238mw1417nlqv67qv07blz0lxhpl8m1wma4v96af"
   }
  },
  {
@@ -60384,11 +62009,11 @@
   "repo": "manateelazycat/multi-term",
   "unstable": {
    "version": [
-    20190624,
-    1147
+    20191104,
+    1156
    ],
-   "commit": "0804b11e52b960c80f5cd0712ee1e53ae70d83a4",
-   "sha256": "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"
+   "commit": "8deb0f2252399cca2426eb3cc3e9646c5de726b3",
+   "sha256": "19qbhxhpdsi76jlf6cfacy7g5z6a0r27v2hcf159p4xc4w93yphy"
   },
   "stable": {
    "version": [
@@ -60461,14 +62086,14 @@
   "repo": "magnars/multiple-cursors.el",
   "unstable": {
    "version": [
-    20190820,
-    749
+    20191210,
+    1759
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b9b851a7670f4348f3a08b11ef12ed99676c8b84",
-   "sha256": "0gg781vaa8jhmq5pdis3lwx3k114a0an2ggzhgqyrx0y3wic51ff"
+   "commit": "b880554d04b8f61165afba7d4de19ac9e39bb7ab",
+   "sha256": "0dcw3rw9ahk8y51d9sbqj0f4jdxmykh4jlz4h71cvariqlxw9pq8"
   },
   "stable": {
    "version": [
@@ -60613,11 +62238,11 @@
   "repo": "flexw/mutt-mode",
   "unstable": {
    "version": [
-    20190302,
-    1515
+    20191102,
+    2330
    ],
-   "commit": "92763c5ff9abbf4ef91ce15fa7cc6b23da1cfa2d",
-   "sha256": "0n04500kr4d3qg6g98nzmdjcdy7qqs5r7f9cbi50r15jr9ihsjvx"
+   "commit": "1d495de49e6f536459b00d5396a2f5ce5ad4757b",
+   "sha256": "1nxsbvhh99kwbgaxzmraryayppfmci2grg591zj8yhdh6d3l1jmj"
   }
  },
  {
@@ -60739,10 +62364,10 @@
  },
  {
   "ename": "mynt-mode",
-  "commit": "22eaeb5041155d56483d2ac6b32098456411442b",
-  "sha256": "17s0wdwgh2dcpww6h3qszc9dcs7ki00xkyisvsfn4xqajrmmp75b",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "0dbbz86k5c70aqi8czbpd4lxil10zfqs0lmknvrzmnv31r2mgxfr",
   "fetcher": "github",
-  "repo": "crshd/mynt-mode",
+  "repo": "cbrst/mynt-mode",
   "unstable": {
    "version": [
     20150512,
@@ -60763,11 +62388,11 @@
   "url": "https://git.sr.ht/~jakob/myrddin-mode",
   "unstable": {
    "version": [
-    20190804,
-    2205
+    20191225,
+    2120
    ],
-   "commit": "b996da5e3bae842eacba4b3e429899bb841b077e",
-   "sha256": "0gylwdq81s89civrlwsg4zrvyjkjw37jdp1mvsihx8xpq38w4r65"
+   "commit": "51c0a2cb9dfc9526cd47e71313f5a745c99cadcc",
+   "sha256": "17qaxdzygk59qdm3hpyhc70jxiijfyq2n39dy68cwzhyd13i8f2i"
   },
   "stable": {
    "version": [
@@ -60809,21 +62434,6 @@
   }
  },
  {
-  "ename": "mysql2sqlite",
-  "commit": "9841d3cfd1ee954eb0ab9b2ca3a3f605eb0fd22a",
-  "sha256": "1jblrbw4rq2jwpb8d1dyna0fiv52b9va3sj881cb17rqx200y3nd",
-  "fetcher": "github",
-  "repo": "echosa/emacs-mysql2sqlite",
-  "unstable": {
-   "version": [
-    20170725,
-    2216
-   ],
-   "commit": "8e6e74451c942e2e92f90dc13222b95a7dbb285e",
-   "sha256": "18jriaj391n4wr0qiva68jf482yx9v9l4xagbzl9vw125lszkngb"
-  }
- },
- {
   "ename": "myterminal-controls",
   "commit": "4a82a45d9fcafea0795f832bce1bdd7bc83667e2",
   "sha256": "0ipk5s2whf3l68q0dydm1j6rcb6jhk61hgjwxygdphifvih7c5y2",
@@ -61071,16 +62681,16 @@
  },
  {
   "ename": "nanowrimo",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1nhyj38qyn1x6a5rbrwhcxwfwzyqqjm3dvksdnmam6vfwn3s2r31",
-  "fetcher": "bitbucket",
+  "commit": "2790c00a79df237cf853a00f094fdeca9e532a9a",
+  "sha256": "0c4wzhhk1779r0lgc6bhfp0qafmp3ggdvg1205m8a7k0kklq58bg",
+  "fetcher": "gitlab",
   "repo": "gvol/nanowrimo.el",
   "unstable": {
    "version": [
     20151105,
     228
    ],
-   "commit": "25e2ca20ed3486e3241a1b9a6cbca77f0d4bac61",
+   "commit": "b1d41458926ccb39cefbb1bb74aefe4f02fd349f",
    "sha256": "1nzkamy53kl1g4y1jm7j5zgpkdsyg5ykp8zp1f0bg5mhy8mmf75w"
   }
  },
@@ -61215,11 +62825,11 @@
   "repo": "rolandwalker/nav-flash",
   "unstable": {
    "version": [
-    20140508,
-    2041
+    20191204,
+    1427
    ],
-   "commit": "53f5bc59e3f32c1192d15637d3979732dacb2c35",
-   "sha256": "07wjicbvzg7cz983hv0p2qw1qlln07djigkmbqfpwvg3fk50fdyg"
+   "commit": "dbb91216637e0a1e8bfd59aa883c75d45db70daf",
+   "sha256": "0f8dsxgk1a994clwkii9hv2ibvkf38kbvgd4sp3w1sf4vy12z5n5"
   },
   "stable": {
    "version": [
@@ -61281,26 +62891,26 @@
   "repo": "DamienCassou/navigel",
   "unstable": {
    "version": [
-    20190828,
-    449
+    20191229,
+    1357
    ],
    "deps": [
     "tablist"
    ],
-   "commit": "6f53ec5c5c070b524624ef23ea6a096f9d7c8af7",
-   "sha256": "197n5p9x1sbrghgnqzbapmdcbqcwqvkibpmfa2qadlvb9plry50m"
+   "commit": "2695f1df2260398930319095cf6b6a49ba98d6a5",
+   "sha256": "0v9f7wb6yghds3hjj8x5di6gfa8n5kjwhav7la1ca2zwgs2c1a9p"
   },
   "stable": {
    "version": [
     0,
-    6,
+    7,
     0
    ],
    "deps": [
     "tablist"
    ],
-   "commit": "6f53ec5c5c070b524624ef23ea6a096f9d7c8af7",
-   "sha256": "197n5p9x1sbrghgnqzbapmdcbqcwqvkibpmfa2qadlvb9plry50m"
+   "commit": "2695f1df2260398930319095cf6b6a49ba98d6a5",
+   "sha256": "0v9f7wb6yghds3hjj8x5di6gfa8n5kjwhav7la1ca2zwgs2c1a9p"
   }
  },
  {
@@ -61345,11 +62955,11 @@
   "repo": "nickav/naysayer-theme.el",
   "unstable": {
    "version": [
-    20190704,
-    201
+    20191207,
+    1936
    ],
-   "commit": "8eed91b268403cb9043e0c9d9aaf324db1ab7d7e",
-   "sha256": "00gwj4dw0ky94fhgy6zckmh2s5lfphvc0hkcqvcvvqcwy8a03ynv"
+   "commit": "22ac2901c7dfbc73f802f6280621fa4e2f92ff78",
+   "sha256": "1n6c43l0c8csagsajc7ibg4395qmigfvhsprba0xgqm95pl7whd9"
   }
  },
  {
@@ -61766,8 +63376,8 @@
   "repo": "nim-lang/nim-mode",
   "unstable": {
    "version": [
-    20190823,
-    1009
+    20191219,
+    847
    ],
    "deps": [
     "commenter",
@@ -61775,8 +63385,8 @@
     "flycheck-nimsuggest",
     "let-alist"
    ],
-   "commit": "3fb6643ff684c5b5f3812cf66ea370a9c0e9559e",
-   "sha256": "1smv4a8rx9minmnw2vx8542lq6wy6n2prcxsvzrrilpykz1qdg38"
+   "commit": "16a245e4974d21a6e9e7163e7fbfb50a0bd89f99",
+   "sha256": "0fil6x2wshrini0q2zdi96hrvqgx5l4ljnirgqcr7q7lmjdijpci"
   },
   "stable": {
    "version": [
@@ -61802,11 +63412,11 @@
   "repo": "m-cat/nimbus-theme",
   "unstable": {
    "version": [
-    20190909,
-    1313
+    20191123,
+    1238
    ],
-   "commit": "188af947416961b3ed86a7ac026952c8e530245d",
-   "sha256": "1bswdaxvx0f36zh9f8q343a8mr27g53jw5dxqpwk6x9ad7jiia83"
+   "commit": "c3d2b591de0763df11dbf62101578ca385ebe7cf",
+   "sha256": "0jc4zp1b0fk4fc1d2byi2vrbifiy0k89b75kh4qr702vkk9vgl4g"
   }
  },
  {
@@ -61820,8 +63430,8 @@
     20181024,
     1439
    ],
-   "commit": "2321fd711c4bbe7bdc23060f3549f2aea9a95580",
-   "sha256": "1ak7hrm7wa8cdning4l8xh06p7kfdq1dz9r6svhbfqa9c7vb9zqy"
+   "commit": "bab5626e57a8b07b6778cd6d41ff29155fefb2af",
+   "sha256": "1jvcn32986xk33i7ashpva035qaaxw1sjs3g587x2j7iqqhp0s74"
   },
   "stable": {
    "version": [
@@ -61864,6 +63474,21 @@
   }
  },
  {
+  "ename": "nix-env-install",
+  "commit": "47dbcb798012e53a7e02277428006db50781d009",
+  "sha256": "0srbdq93d6apmn4wbcgaz3fil82n44wvcslxmjc95warwz859xmd",
+  "fetcher": "github",
+  "repo": "akirak/nix-env-install",
+  "unstable": {
+   "version": [
+    20191223,
+    1651
+   ],
+   "commit": "f362590216e8a86ff85b3f444695f8e1dd1b2bcc",
+   "sha256": "108lyrix9gh438df6y432qppagpq3m2vn3gqsgp9sv24bvkv3wkf"
+  }
+ },
+ {
   "ename": "nix-haskell-mode",
   "commit": "aeb879e2e8b017d3e1ccdc8d19f17d09b2ad5f1b",
   "sha256": "1rygqmq01p27gbda6hgnzisng7xqf63x462a3x31ym67ivxsyqz3",
@@ -61928,15 +63553,15 @@
   "repo": "travisbhartwell/nix-emacs",
   "unstable": {
    "version": [
-    20171004,
-    1706
+    20191126,
+    759
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "45c8d90748304c90e1503c9fa8db0443f3d4bd89",
-   "sha256": "0hsr8acsvfb42drb8f2wkpgqyh3csny7l82qv4k2l83xf022cs1d"
+   "commit": "977b9a505ffc8b33b70ec7742f90e469b3168297",
+   "sha256": "07vidk3bnby1ch51i67llfdx2q8xc4ax5hvlrc3f72y9gkcpir4x"
   }
  },
  {
@@ -61965,8 +63590,8 @@
     20160209,
     1841
    ],
-   "commit": "45c8d90748304c90e1503c9fa8db0443f3d4bd89",
-   "sha256": "0hsr8acsvfb42drb8f2wkpgqyh3csny7l82qv4k2l83xf022cs1d"
+   "commit": "977b9a505ffc8b33b70ec7742f90e469b3168297",
+   "sha256": "07vidk3bnby1ch51i67llfdx2q8xc4ax5hvlrc3f72y9gkcpir4x"
   },
   "stable": {
    "version": [
@@ -62052,6 +63677,27 @@
   }
  },
  {
+  "ename": "nnhackernews",
+  "commit": "40fec106c676f8207ec9c4553c3ec16c626b098c",
+  "sha256": "0nqbfzyb61a80900hg2sqimjvr765a3f94v07by55d1smifzwnff",
+  "fetcher": "github",
+  "repo": "dickmao/nnhackernews",
+  "unstable": {
+   "version": [
+    20200102,
+    1857
+   ],
+   "deps": [
+    "anaphora",
+    "dash",
+    "dash-functional",
+    "request"
+   ],
+   "commit": "da85bf90989c1a4f4e50a40fa64c5b5e82e03043",
+   "sha256": "1p1jc8daflndbp19ya4h8719zc60xsvxn2l8z3rh291wm2azp2gf"
+  }
+ },
+ {
   "ename": "nnir-est",
   "commit": "ca17de8cdd53bb32a9d3faaeb38f19f92b18ee38",
   "sha256": "04ih47pipph8sl84nv6ka4xlpd8vhnpwhs5cchgk5k1zv3l5scxv",
@@ -62074,8 +63720,8 @@
   "repo": "dickmao/nnreddit",
   "unstable": {
    "version": [
-    20190819,
-    2331
+    20191215,
+    1438
    ],
    "deps": [
     "anaphora",
@@ -62084,8 +63730,8 @@
     "request",
     "virtualenvwrapper"
    ],
-   "commit": "c16a75a6fd99f5c47f10b349131be1c3d85bbe9b",
-   "sha256": "0gabznnvg9gxd6rrvcik2iyrlmpl409vc5k37c3vfjrnjqnwk6ra"
+   "commit": "b5655519c1bf4c540f17bfd6e1af03241e3c1fc3",
+   "sha256": "0m4gfx87lyz5p8d3bwp3hw5y95vaijnwl8gg9cjy98riw309xpzf"
   }
  },
  {
@@ -62111,26 +63757,26 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20190811,
-    1527
+    20191203,
+    645
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e1e79c0211ad924ca220dac3a7a1a2e40710c073",
-   "sha256": "0cc4x62wynf71hzqk7gwx8g58gl4hm65pv0df8cir8g344li1c15"
+   "commit": "d1d6965c70fc6ce0cfb38a5115d0e112aefac1d7",
+   "sha256": "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    3
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "99ae007ead688689b5b25a9482f98ec67663bb61",
-   "sha256": "0sg4qh9a6k1m24qamsf7ldpghjcawbdgh114gy08jnw478nf05kv"
+   "commit": "d1d6965c70fc6ce0cfb38a5115d0e112aefac1d7",
+   "sha256": "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"
   }
  },
  {
@@ -62176,11 +63822,11 @@
   "repo": "NicolasPetton/noccur.el",
   "unstable": {
    "version": [
-    20150514,
-    2120
+    20191015,
+    719
    ],
-   "commit": "6cc02ce07178a61ae38a849f80472c01969272bc",
-   "sha256": "0wk86gm0by9c8mfbvydz5va07qd30n6wx067inqfa7wjffaq0xr7"
+   "commit": "fa91647a305e89561d3dbe53da002fff49abe0bb",
+   "sha256": "0slyy7qadc06cij7lgk7d36ym54dyh9a7vjdc38ysr1nh8g7agvm"
   },
   "stable": {
    "version": [
@@ -62349,20 +63995,20 @@
   "repo": "arcticicestudio/nord-emacs",
   "unstable": {
    "version": [
-    20190616,
-    1757
+    20200108,
+    833
    ],
-   "commit": "52756cdc909b29691eef228897b3de561cd99f43",
-   "sha256": "02nyczvdj0xnzq8vcyknr862dq3mj82djha5v44n1hs2dwipfdjf"
+   "commit": "d828752e270978a56bde19986c98b1bbe8f51386",
+   "sha256": "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"
   },
   "stable": {
    "version": [
     0,
-    4,
+    5,
     0
    ],
-   "commit": "ba8f9b98a5028d3ec8c44e43889e7edda9a3b8dd",
-   "sha256": "02nyczvdj0xnzq8vcyknr862dq3mj82djha5v44n1hs2dwipfdjf"
+   "commit": "0f5295f99005a200191ce7b660e56cd0510cf710",
+   "sha256": "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"
   }
  },
  {
@@ -62379,8 +64025,8 @@
    "deps": [
     "colorless-themes"
    ],
-   "commit": "4f9d0ec5a078ab8442abdba0c35eb748728f3052",
-   "sha256": "1h8ggaqvrdj8cyknps9anh2xz08ar94137gydvxy8xgrmpa3jnc1"
+   "commit": "12678144d17edf36d34e6bcdc5435593e191d96d",
+   "sha256": "0fld15h92193bnbmka3ikq27hggxvsikzlzq4pi2n3kknq9hyh56"
   }
  },
  {
@@ -62421,20 +64067,20 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20190525,
-    1602
+    20191214,
+    1128
    ],
-   "commit": "23bcd003637f091c88f7d0a601d5fee82bc8e936",
-   "sha256": "0n0pw2h3zc5an8xr5zv38cicwd9nk8klnrsihdkw0hvd7llmb3qf"
+   "commit": "cedc6db19d2bb37ce0c8f74be25cdf045b35caca",
+   "sha256": "19siq81y03ngj3idc3g892fpg0qvhf1y40spmy8ffnzzliqysvcj"
   },
   "stable": {
    "version": [
     0,
     29,
-    1
+    3
    ],
-   "commit": "20842dfb6d64f4469c554525ab4c27c6571fbdfe",
-   "sha256": "0mw3bxmbjc5wwadf7v7vj5zf4i40c9wvschxqklxxg11qy5lhfis"
+   "commit": "a59ef7d02cb229c2ec3569024918024003568aea",
+   "sha256": "0w9k7jfhcp34inkqciisrjfgflrx8h5q4svfa6bij9p93g1hig0b"
   }
  },
  {
@@ -62506,11 +64152,11 @@
   "repo": "muirmanders/emacs-nova-theme",
   "unstable": {
    "version": [
-    20190724,
-    2019
+    20191213,
+    2202
    ],
-   "commit": "f5eec6957ad814bba64c340c14a9e82b972bb477",
-   "sha256": "19c8324l5nnkk3rg6pkd0s4fakdkd1318wm9xj32jcpfpqgjdwnp"
+   "commit": "ff566133747cd3508f4d576234a1c3fcd3f8cf09",
+   "sha256": "0lpjbrnpxw0dxl34hlkn6lb1ddmwazi1l5201rwpf1yg512x176q"
   }
  },
  {
@@ -62665,11 +64311,11 @@
   "repo": "joostkremers/nswbuff",
   "unstable": {
    "version": [
-    20190320,
-    740
+    20191210,
+    815
    ],
-   "commit": "362da7f3687e2eb5bb11667347de85f4a9d002bc",
-   "sha256": "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"
+   "commit": "54b590303626fcd53b017f92454ffe97c97ca69e",
+   "sha256": "1n0kjnx5xgd7x9zqrkgy8klydkv4ihxmn0gvprzsscp268rkrfnh"
   }
  },
  {
@@ -62798,8 +64444,8 @@
     20170224,
     1249
    ],
-   "commit": "44d506105989873dc1725e0cfc675925b35c9c98",
-   "sha256": "0lgz0sknnrxmc7iy4lniday1nwpz4q841c3w2hm72aiwn5z21h22"
+   "commit": "b17cb826f14c18c2875d112574edb5e4f46f5296",
+   "sha256": "1g030806d2l238sr173ypdkkq0g8kf8qdp7a1ls5d3rw0bng4ds1"
   }
  },
  {
@@ -63013,8 +64659,8 @@
    "deps": [
     "axiom-environment"
    ],
-   "commit": "505d85ffc051a7725344c960b1255597dab17780",
-   "sha256": "1251xc58nc2h6n4dibfdp7z85y609dkpc499ga8j9s0nwif009fs"
+   "commit": "3e7885d694efef923e7b53827d277c28bfa09320",
+   "sha256": "048x8mj72c57f62ffsad43mcrc201d8ilh339gnpm2yi8midv0ih"
   }
  },
  {
@@ -63066,11 +64712,11 @@
   "repo": "nickanderson/ob-cfengine3",
   "unstable": {
    "version": [
-    20190908,
-    1801
+    20191011,
+    1721
    ],
-   "commit": "d16fd0f1585d5f64dfae76498d43c764d81fc3f8",
-   "sha256": "1xv07hc2fcp9kvzmy5vdjwb6iq5mkj5vpxsnik0m68vcb2jnllbi"
+   "commit": "195ba4694a0ec18d3fb89342e8e0988b382a5b1a",
+   "sha256": "0a18fv141s35vh1mza2d6q5japrfjg5g6l7gp6qq4k4im3gmaf86"
   }
  },
  {
@@ -63236,6 +64882,24 @@
   }
  },
  {
+  "ename": "ob-elm",
+  "commit": "9109c178f49c300b8a5247b94ecdab265d32f4ce",
+  "sha256": "166yxninqiwv3vjn59ir23isnqhjjzvw8dcswnbwgcb4f4ixs12q",
+  "fetcher": "github",
+  "repo": "BonfaceKilz/ob-elm",
+  "unstable": {
+   "version": [
+    20200102,
+    2000
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "8b49ca0ecdff9df7c3f428bac22a96ed675ee5dd",
+   "sha256": "0prc0bddyppdzckfkjd6h2j5qg9plfzccg2gyn4jkmjhkx0gi09g"
+  }
+ },
+ {
   "ename": "ob-elvish",
   "commit": "90e979025f56061bc960f630945b09320a3dd28e",
   "sha256": "1rpn3dabwgray1w55jib4ixr3l1afz9j7nyn0ha2r602hs02x1ya",
@@ -63284,6 +64948,25 @@
   }
  },
  {
+  "ename": "ob-graphql",
+  "commit": "3d4572f599ac5794d8a5c310f1d1e138a11a45a8",
+  "sha256": "1rgwfyq5f602b60hza9xnszxdjqms90gkvrw9hjmivyp2swwy5vy",
+  "fetcher": "github",
+  "repo": "jdormit/ob-graphql",
+  "unstable": {
+   "version": [
+    20191223,
+    1358
+   ],
+   "deps": [
+    "graphql-mode",
+    "request"
+   ],
+   "commit": "c62d6a2ea2c162772d5e255715cff7b35fe660d5",
+   "sha256": "1s4rgr6v7xxpjr219a44309jg50iip5isch6x90zk5vig735c30h"
+  }
+ },
+ {
   "ename": "ob-html-chrome",
   "commit": "ac4380b5ea63c5296e517fccafa4d6a69dc73d0d",
   "sha256": "1z3bi5i9n6dqvarl32syb6y36px3pf0pppqxn02rrx1rwvg81iql",
@@ -63423,11 +65106,11 @@
   "repo": "arnm/ob-mermaid",
   "unstable": {
    "version": [
-    20180522,
-    1659
+    20191208,
+    2346
    ],
-   "commit": "5deaea757b3a5de874d94e40c03116fbc8195308",
-   "sha256": "0vyqxqkkyb2dychg3i5vbik5cf58ls5f95ynq88myfpn0sivfbz4"
+   "commit": "8dcbfab869829b586ce9992897a2ebe2bb52b770",
+   "sha256": "0h0aig17hsjisa2dyz6y7x748fwmb6908dc4sr043hq2hlv60bj7"
   }
  },
  {
@@ -63501,8 +65184,8 @@
     20190410,
     2130
    ],
-   "commit": "149abd3832fc5a6a1cb01a586a1622a8f25887dc",
-   "sha256": "033pqfm3hj2585ibmqjhf7s1imckf615s6zg38jsq21wxv5fx8nc"
+   "commit": "331899cfe345c934026c70b78352d320f7d8e239",
+   "sha256": "1k34cl2whc32ysd7anvz8ii66ljfrmkvx3cgb6i42jcx74kavlfr"
   },
   "stable": {
    "version": [
@@ -63522,14 +65205,14 @@
   "repo": "alf/ob-restclient.el",
   "unstable": {
    "version": [
-    20190626,
-    1824
+    20191119,
+    924
    ],
    "deps": [
     "restclient"
    ],
-   "commit": "53376667eeddb1388fd6c6976f3222e7c8adcd46",
-   "sha256": "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"
+   "commit": "fa4ac671756c9d4e395bd481405239d06b202bae",
+   "sha256": "119rkz8dwrmxdsybkq3yhw6g4gral3xfqvdgbnl4i3w89j16wwcr"
   }
  },
  {
@@ -63555,15 +65238,15 @@
   "repo": "stakemori/ob-sagemath",
   "unstable": {
    "version": [
-    20170131,
-    233
+    20191106,
+    828
    ],
    "deps": [
     "s",
     "sage-shell-mode"
    ],
-   "commit": "68d3e516c712bc7aa5042f305f3eb5bbb6d656c2",
-   "sha256": "1yr7d3ayrdnycapnhc08zyf6b9gp7xw0pngz90h75s6j33pisx30"
+   "commit": "79645bce0c25a650bae61e550434bed836995dce",
+   "sha256": "134d3pz38g2ki4war1jxp5440yq5smfkdjnknz5r29p49sch0zvx"
   },
   "stable": {
    "version": [
@@ -63623,6 +65306,30 @@
   }
  },
  {
+  "ename": "ob-svgbob",
+  "commit": "77b7095d93730bfa193245df358fa50bef4faea6",
+  "sha256": "0746f70yswgqcx8awc7lfkh6r5982frlwirdij2pjb9ivw3a82h9",
+  "fetcher": "github",
+  "repo": "mgxm/ob-svgbob",
+  "unstable": {
+   "version": [
+    20190911,
+    300
+   ],
+   "commit": "5747f96fb4fdb8711546b3313df9412177eb3c1a",
+   "sha256": "1h60mzxp1wzd1kjkgligi04nb06mpkhij8imkva188inr0hzqlvm"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "commit": "9a930b1ed93e5ce1818029b2ec9e7662c098dbf4",
+   "sha256": "18c35xpllwv1zflinkh3ki00vclp4nk52sanfl2vppq6a6hyda8a"
+  }
+ },
+ {
   "ename": "ob-swift",
   "commit": "b401383966398d3223032c59baa920ce594e5fef",
   "sha256": "19mcjfmijbajldm3jz8ij1x2p7d164mbq2ln6yb6iihxmdqnn2q4",
@@ -63813,14 +65520,14 @@
   "repo": "clemera/objed",
   "unstable": {
    "version": [
-    20190717,
-    853
+    20200107,
+    1319
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "fea114824e11fdae7871fb3b5ddf4ed2472cbda0",
-   "sha256": "0lf88ivfsl5la075jg1y56kf0v96hp2539b54lwyabz0rpc0c7in"
+   "commit": "8dc17701d1dc65b5d2113e7ca406136bf612bc9e",
+   "sha256": "1ly7lkv27n7dp8q25w5yk8a69vqzmxp72ln329j7ik13rjyhj1dc"
   },
   "stable": {
    "version": [
@@ -63951,17 +65658,17 @@
     20190726,
     1452
    ],
-   "commit": "daeb11532f846caa0e94b999dd2a413003a885b6",
-   "sha256": "01vw2r3xfjmsm6v5l7w7f2rlwl8qhs8fk5rp5j284db73gbqx61m"
+   "commit": "9e26c0a2699b7076cebc04ece59fb354eb84c11c",
+   "sha256": "1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3"
   },
   "stable": {
    "version": [
     1,
     8,
-    0
+    1
    ],
-   "commit": "daeb11532f846caa0e94b999dd2a413003a885b6",
-   "sha256": "01vw2r3xfjmsm6v5l7w7f2rlwl8qhs8fk5rp5j284db73gbqx61m"
+   "commit": "05bf3e4b39b765658a5be95d1db2a30084d1f564",
+   "sha256": "0h4ysh36q1fxc40inhsdq2swqpfm15lpilqqcafs5ska42pn7s68"
   }
  },
  {
@@ -64025,20 +65732,32 @@
  },
  {
   "ename": "oer-reveal",
-  "commit": "5982e377cd4cc2e72bfe4650c473c9f6b71085e3",
-  "sha256": "1j43in64p0janfr48v2llh888c337cv66yl6xswidnqysndfg6pg",
+  "commit": "7c4e4d7c68548415413d4ad972b2c804e7d867f8",
+  "sha256": "04rwyhq500c8wcgfhg2xmb246az9sc6s2y45ichxhvvhvqgxjib3",
   "fetcher": "gitlab",
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20190916,
-    657
+    20200107,
+    851
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "b30cf2b16b4987152df8355beab8b8fdcbc22c1f",
-   "sha256": "1m6b5cg5rkimp03w1zgxfh2yycifyj89a5rripr2bic1wp6bifzw"
+   "commit": "0e603b25ffa7dd2ea7935e7d9a5ad4c1f19e9d7e",
+   "sha256": "0ga6ii780bqpc5vj67s2avpg8hf4hszn5nfyvma9ir1prkskn0g6"
+  },
+  "stable": {
+   "version": [
+    2,
+    1,
+    1
+   ],
+   "deps": [
+    "org-re-reveal"
+   ],
+   "commit": "0e603b25ffa7dd2ea7935e7d9a5ad4c1f19e9d7e",
+   "sha256": "0ga6ii780bqpc5vj67s2avpg8hf4hszn5nfyvma9ir1prkskn0g6"
   }
  },
  {
@@ -64101,20 +65820,20 @@
   "repo": "rnkn/olivetti",
   "unstable": {
    "version": [
-    20190907,
-    2028
+    20191217,
+    917
    ],
-   "commit": "4bd3fb51961f8aacc3021bbaa9b39d90240f257d",
-   "sha256": "1wm1hhk08q6yvmy5aphd2msl9zj2basxc88ny2krjspbz3rcfnds"
+   "commit": "6c7505f426c1bb55bb209e45ea69e9a3cd683be0",
+   "sha256": "0m65wc7jz3hvq8kspr3h9m0sf3klf8facf59q2k2xpjn33ab6dps"
   },
   "stable": {
    "version": [
     1,
     8,
-    0
+    1
    ],
-   "commit": "57dbb94384d0ad0addd9b30c2dcade0362aa1476",
-   "sha256": "0ba30swqxxbpa8866chymywnahby1hk670zzkz44q49328i2wksj"
+   "commit": "c7784fe2dccf676310a9a602b6eedc2a7b667499",
+   "sha256": "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"
   }
  },
  {
@@ -64311,8 +66030,8 @@
   "repo": "OmniSharp/omnisharp-emacs",
   "unstable": {
    "version": [
-    20190915,
-    1000
+    20191015,
+    635
    ],
    "deps": [
     "auto-complete",
@@ -64324,8 +66043,8 @@
     "popup",
     "s"
    ],
-   "commit": "c1dab2beae4b1e67f20f3e90cddeba81bd236fe5",
-   "sha256": "1pm8pv3iccpmyg0bs19d28g56gwfbkkp6d4i1qyxkf371d9w7r3w"
+   "commit": "e658a18a762438c3e1737612737b05d02a21ca2a",
+   "sha256": "1m4xqcn586f0gn305kig502480zlnvmrv98nmdkn36fbwgg96hla"
   },
   "stable": {
    "version": [
@@ -64651,11 +66370,11 @@
   "repo": "abo-abo/orca",
   "unstable": {
    "version": [
-    20190701,
-    1127
+    20191112,
+    1629
    ],
-   "commit": "b07b69ba0052a0dd4ef59a20ec0e54f3c8cf137e",
-   "sha256": "12ahmqqvnl1vaf8qc4smsk6727bzmv3qja79kb00g3yf4k1r0nhk"
+   "commit": "6ecf211b56e4296898aa87eec8c6fed365a5d220",
+   "sha256": "15plspxxg18nch4q22ilc6pvmyrhnhfz18g7p6c9hmxkrlkvg43n"
   }
  },
  {
@@ -64788,20 +66507,20 @@
   "repo": "rksm/clj-org-analyzer",
   "unstable": {
    "version": [
-    20190914,
-    2215
+    20191001,
+    1717
    ],
-   "commit": "576e1fda552af0da4e64070e2b26303a913f17a9",
-   "sha256": "194vk80d2mzfb0fpkj19jhfsq916l9lkxxwaj0q30r3w6p8hplz4"
+   "commit": "19da62aa4dcf1090be8f574f6f2d4c7e116163a8",
+   "sha256": "1zfc93z6w5zvbqiypqvbnyv8ims1wgpcp61z1s152d0nq2y4pf50"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    4
    ],
-   "commit": "576e1fda552af0da4e64070e2b26303a913f17a9",
-   "sha256": "194vk80d2mzfb0fpkj19jhfsq916l9lkxxwaj0q30r3w6p8hplz4"
+   "commit": "19da62aa4dcf1090be8f574f6f2d4c7e116163a8",
+   "sha256": "1zfc93z6w5zvbqiypqvbnyv8ims1wgpcp61z1s152d0nq2y4pf50"
   }
  },
  {
@@ -64850,29 +66569,29 @@
   "repo": "diadochos/org-babel-eval-in-repl",
   "unstable": {
    "version": [
-    20170511,
-    1214
+    20191204,
+    18
    ],
    "deps": [
     "ess",
     "eval-in-repl",
     "matlab-mode"
    ],
-   "commit": "bfa72c582ac1531ad42aba23e2b1267ab68e31f6",
-   "sha256": "1jm56zxa99s163jv02vhfrshmykvld7girq7gmj1x60g3wjzhn5k"
+   "commit": "e111b4b5c6844bb389317354ea172cd96a8bb658",
+   "sha256": "0j1z1kp85fvn874l7s8h0cf528khaa38bs5ccx5dwf8mkb68vjgm"
   },
   "stable": {
    "version": [
     1,
-    4
+    5
    ],
    "deps": [
     "ess",
     "eval-in-repl",
     "matlab-mode"
    ],
-   "commit": "3f26e3cf8bed9ec8e025e4143e708e6e470258d4",
-   "sha256": "0g2057v6qjqi5xl2m1sa2k046lmis83c3g80d13h6plv0rrsvwz2"
+   "commit": "929d160685db57c4f0aedf26b52f9d7a918a40dd",
+   "sha256": "0dk2kqwf7pg18iny02rz146jjjlfqn1vd9ay1sxq7vgsv6c1cs80"
   }
  },
  {
@@ -64929,14 +66648,14 @@
   "repo": "alphapapa/org-bookmark-heading",
   "unstable": {
    "version": [
-    20180904,
-    1709
+    20200103,
+    514
    ],
    "deps": [
     "f"
    ],
-   "commit": "eba5ef7a3c992c4a9da86f64d12fca0c1158208a",
-   "sha256": "1amq48yldydg9prcxvxn5yi0k8xk87h1azscr9hh9phnll2yys1d"
+   "commit": "38a2813f72ff65f3ae91e2ebb23e0bbb42a8d1df",
+   "sha256": "09rfp0zf68gnhiwh61wc10kgqk75ypkbk0hawrw1rhida1bi2wb1"
   },
   "stable": {
    "version": [
@@ -64956,14 +66675,15 @@
   "repo": "Kungsgeten/org-brain",
   "unstable": {
    "version": [
-    20190916,
-    619
+    20200104,
+    2235
    ],
    "deps": [
-    "org"
+    "org",
+    "org-ql"
    ],
-   "commit": "3098a782d3add11795036f7894adcf73e3a9472b",
-   "sha256": "1crlh3a9glz29zwnsnv1i6ha15l39zmmbvbk85pk91da7ikjb0qr"
+   "commit": "5cfacc842842132894f6d8f4f0cb4ade8a9d657f",
+   "sha256": "07csazgchji964ch5yccfx6prrpdqpzk4hdjisx4qc8d3hjvhw78"
   }
  },
  {
@@ -64998,14 +66718,14 @@
   "repo": "dengste/org-caldav",
   "unstable": {
    "version": [
-    20190817,
-    1004
+    20191024,
+    724
    ],
    "deps": [
     "org"
    ],
-   "commit": "a563500c9884f38ce08793e2964f8274adde163d",
-   "sha256": "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"
+   "commit": "f530b94b6f8d8d1f8a207e48986da75227bd78a0",
+   "sha256": "0b5gw1m646fq7xlq8966rlmqs63p5dgrq71cjc943s45mli0vvcs"
   }
  },
  {
@@ -65061,14 +66781,14 @@
   "repo": "Chobbes/org-chef",
   "unstable": {
    "version": [
-    20190815,
-    1459
+    20191201,
+    1435
    ],
    "deps": [
     "org"
    ],
-   "commit": "8715302a16b5dc2cafee732a4e6b10a263d65328",
-   "sha256": "0l656xd2zp7l7xb5qs8fw8qsa8sdw5fp305lwiz66zq041xcpg4w"
+   "commit": "a40ad1e5cda5a80faca255a344c14280b841ebbd",
+   "sha256": "1sr035jld69sv4yx787ci7rsll8z59q1s3gsmmmdkiab6sah09v6"
   }
  },
  {
@@ -65144,11 +66864,11 @@
   "repo": "justintaft/org-clock-split",
   "unstable": {
    "version": [
-    20180909,
-    2047
+    20191219,
+    457
    ],
-   "commit": "b2f1497b62e7f4a767be02e249e4ac95d4f8f21c",
-   "sha256": "099jxkyx7ikfqz99sx632a6c0mc630qkix3c307sm7y317jcdz8l"
+   "commit": "361a7a96af2a7d09ccaf561423b80caca7a108cb",
+   "sha256": "00k7av97l609rf31zqndy92ypbdyvwnr0bdpxfisw33icw7706nb"
   }
  },
  {
@@ -65159,11 +66879,11 @@
   "repo": "mallt/org-clock-today-mode",
   "unstable": {
    "version": [
-    20190915,
-    701
+    20191204,
+    1558
    ],
-   "commit": "18af3fede1aa0ccab83ce9195f94f9097f51c548",
-   "sha256": "0knjks1rzl7p38r36g7a186mlxsc5dr88a7q0mxjsgg86vjx1xwf"
+   "commit": "e326a45b60e0fd4ca057f1d1dc3e99a516a5aa2f",
+   "sha256": "08x1907kh6gxnji34gc3r6vya4idd7b79xqxyn8ibn9zswicyy2p"
   }
  },
  {
@@ -65329,14 +67049,14 @@
   "repo": "abo-abo/org-download",
   "unstable": {
    "version": [
-    20190830,
-    1448
+    20191219,
+    1227
    ],
    "deps": [
     "async"
    ],
-   "commit": "10c9d7c8eed928c88a896310c882e3af4d8d0f61",
-   "sha256": "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"
+   "commit": "a367669384859261bcb11bac4b782f231f972353",
+   "sha256": "0yh1pfr3k04f98pywq54pgajhl3l1hy5x3marg0waqzgrbchr7yi"
   },
   "stable": {
    "version": [
@@ -65387,16 +67107,16 @@
   "repo": "phillord/org-drill",
   "unstable": {
    "version": [
-    20190727,
-    1930
+    20191219,
+    2100
    ],
    "deps": [
     "org",
     "persist",
     "seq"
    ],
-   "commit": "7dece4a5e4b37ff32a7733e407d19ba67422008b",
-   "sha256": "0m5lv0hm5wd5v9ghk5sp1hvdm11hq6aj5kkymr76z6zx7q29jsn3"
+   "commit": "d2fe915d7a6602b337d4413eec10baa1c1a10dff",
+   "sha256": "1d87z3fwr5p657fbl6h8gf3xw1znjcc12090y0lk1n88nfmwbckf"
   }
  },
  {
@@ -65608,16 +67328,16 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20190902,
-    252
+    20191018,
+    921
    ],
    "deps": [
     "alert",
     "request",
     "request-deferred"
    ],
-   "commit": "19ebbc647d8f4098cdda986aff2fea66e6da13ef",
-   "sha256": "1jvdwlqjgqic2v5nwkiz523nry4jphxg3wp9pin4vxw55vzm5ygb"
+   "commit": "6821e349673e9ba8d7ae7b84789f931889273dc0",
+   "sha256": "12alwnk50gsiz5b9mw8qvn317f7phb5vh2x7yvi9m72zdrdaf8pz"
   },
   "stable": {
    "version": [
@@ -65761,16 +67481,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20190712,
-    443
+    20190930,
+    1406
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "d1d2ff6155c6259a066110ed13d1850143618f7b",
-   "sha256": "064pxsf5kkv69bs1f6lhqsvqwxx19jwha3s6vj8rnk8smawv0w9r"
+   "commit": "5123c29867e5da54d80e92f9a5a4259144451404",
+   "sha256": "1j45whlsclwq9v0c98ni4y5p04slmlwgwsbbr7saaxgv9xmv4yfc"
   },
   "stable": {
    "version": [
@@ -65796,20 +67516,20 @@
   "repo": "bastibe/org-journal",
   "unstable": {
    "version": [
-    20190914,
-    1643
+    20200103,
+    1227
    ],
-   "commit": "5481b6c7410cbc68f0966b5b5840c0048edc3fef",
-   "sha256": "1afjz5s7z0lfb67wsdckgsj2h9rr31gm8424v2w243xmz2lzgrjx"
+   "commit": "11b8255d8839515895581450a090351d18770c99",
+   "sha256": "17mqbb3hddkinr9r7q5m4rp20hp97fbygp18rnx0j2vhc7jpc4g3"
   },
   "stable": {
    "version": [
-    1,
-    15,
-    1
+    2,
+    0,
+    0
    ],
-   "commit": "af2819c41b34fc88e2aee473fbdf695451ba167c",
-   "sha256": "05kxs63ssgc6h47cjldxxmx9ggy1fyaxxrxzaq078gj56411gmld"
+   "commit": "8eda1119f561561b993eea72a550a6b1f0ef35e1",
+   "sha256": "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"
   }
  },
  {
@@ -65835,30 +67555,30 @@
   "repo": "gizmomogwai/org-kanban",
   "unstable": {
    "version": [
-    20190821,
-    2107
+    20191003,
+    1455
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "dd259135a4c3a320e020a335ea27fb4a2e488a53",
-   "sha256": "0k62s4kz8qmfq21r2jz7kfcyn6ydwxzfa5s2s2f26jny8flqva1d"
+   "commit": "3007d636f0c7b69d767d7adcca4ab462708f9610",
+   "sha256": "0mqi85gfaq60dxvm5r7rn6mi479fk26dy0nmss7dnqxwm2s39414"
   },
   "stable": {
    "version": [
     0,
     4,
-    13
+    21
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "03387a779167c4acbc04d4970cd33c52a2ca0bcd",
-   "sha256": "0arjx1a7skdlmagyy0bbxwc134dn951y99yv4jg6l64j1f31y0yg"
+   "commit": "3007d636f0c7b69d767d7adcca4ab462708f9610",
+   "sha256": "0mqi85gfaq60dxvm5r7rn6mi479fk26dy0nmss7dnqxwm2s39414"
   }
  },
  {
@@ -65993,8 +67713,8 @@
    "deps": [
     "org-pdfview"
    ],
-   "commit": "af09bdf2c83499be9f7c271bb3c0cc3c46ed95f4",
-   "sha256": "0bm8i4bfa76igzzjlv9qx9fh3diplmvhn99bz1clq1ifr4i53sv0"
+   "commit": "bba86a9b9979bd79e9bfaf4a7b472682b9435490",
+   "sha256": "1ndd1iw207jnv0mib2r6mxldba4c4nna69wdvj8mzynn6ldxg5bk"
   }
  },
  {
@@ -66005,29 +67725,30 @@
   "repo": "alphapapa/org-make-toc",
   "unstable": {
    "version": [
-    20190104,
-    512
+    20200101,
+    305
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "9adeaf9da23fd3f7600821526f7e41f4ed17dd4a",
-   "sha256": "122fvv6waq70qcccgwnmyfmci48k8zc7vzmagadypmw8grgdjdx2"
+   "commit": "f640826c8e66c83adb2b511f99f32525e9da94c0",
+   "sha256": "0n3gm2g2zyqnqnbizajmlvy3h3bhvazfjvw68vikdn6x9fcnvmdl"
   },
   "stable": {
    "version": [
     0,
-    3
+    3,
+    1
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "f1a51017b0f85e0cb9ae7d0d8240f2115f57886c",
-   "sha256": "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"
+   "commit": "e92fd443c998532ff786361ae72b6981dc1f2ff0",
+   "sha256": "03vgygni5f1qrmchwy0szks47hwhpl21qvk4wlwh2bd79rxnhc1f"
   }
  },
  {
@@ -66038,14 +67759,14 @@
   "repo": "org-mime/org-mime",
   "unstable": {
    "version": [
-    20190805,
-    57
+    20191226,
+    2309
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "4bd5d55ba9bca84ffd938b477c72d701cf3736df",
-   "sha256": "0a9vjlg5rz3c61wvy0wsj9l5y3p6b1v8hz84ksh97xnmmzclp1nx"
+   "commit": "b1899762170eaa656555ce62c58e613ca3509ec4",
+   "sha256": "1p3ffxanjpb83xvk4c42lafhfbckh4rkmi32wjdp86fkqx30nvrg"
   },
   "stable": {
    "version": [
@@ -66075,8 +67796,8 @@
     "dash",
     "org"
    ],
-   "commit": "16a8aac5462c01c4e7b6b7915381fde42fd3caf6",
-   "sha256": "0ipkmws7r8dk2p65m9jri90s8pgxhzidz7g2fmh7d6cz97jbk3v7"
+   "commit": "95347b2f9291f5c5eb6ebac8e726c03634c61de3",
+   "sha256": "0mkmh1ascxhfgbqdzcr6d60k4ldnh3l8dylw4m7wglz15hm3ixbm"
   }
  },
  {
@@ -66105,20 +67826,20 @@
   "repo": "unhammer/org-mru-clock",
   "unstable": {
    "version": [
-    20190610,
-    2005
+    20191121,
+    840
    ],
-   "commit": "1547191254f6fc58b62864d0224356e72bd7d933",
-   "sha256": "0j3gscmf8i05ixj31ipdc88kbb7zqs5sdhbd3ipqpahakmg6axhh"
+   "commit": "1ec07f8ce60b3eca281072e51f88065469450ab1",
+   "sha256": "1a2vp6bk5lgcgy95ynflql5hacr3ckmfh8nq36bkakqw97k7wih9"
   },
   "stable": {
    "version": [
     0,
     4,
-    1
+    2
    ],
-   "commit": "1547191254f6fc58b62864d0224356e72bd7d933",
-   "sha256": "0j3gscmf8i05ixj31ipdc88kbb7zqs5sdhbd3ipqpahakmg6axhh"
+   "commit": "50bf0ec93b3c60eaed7272149bd317bba69a5b6f",
+   "sha256": "1ydq2y1zibh9mzfpw598nsci6aw4nsnsjc7wv8xjma7pwkzz8wfd"
   }
  },
  {
@@ -66129,33 +67850,33 @@
   "repo": "jeremy-compostella/org-msg",
   "unstable": {
    "version": [
-    20190916,
-    2334
+    20191129,
+    2329
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "7616a9760bd1e3fb0e6a22f6e1cbc2bf71a733df",
-   "sha256": "0mccaw4wvh4624iyxfbv1jr01z7fkjg5mcl56scq164daznm200g"
+   "commit": "a236211e4928610c56b5ee40ea401db60bc2845a",
+   "sha256": "04ngim6204pii0xpg6cfdzac1b4dfyy7lnp6zfb9mjajrf40fyr1"
   }
  },
  {
   "ename": "org-multiple-keymap",
-  "commit": "0a22beed723d149282e70e3411b79e8ce9f5ab2b",
-  "sha256": "16iv5575634asvn1b2k535ml8g4lqgy8z5w6ykma5f9phq5idb9f",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "104vcwawrzl99nfj3afq1mh83yirhscwfa1xw7z84ikrf6m0xir7",
   "fetcher": "github",
-  "repo": "myuhe/org-multiple-keymap.el",
+  "repo": "emacsattic/org-multiple-keymap",
   "unstable": {
    "version": [
-    20150329,
-    106
+    20191017,
+    1920
    ],
    "deps": [
     "cl-lib",
     "org"
    ],
-   "commit": "8ebc532df7f0dd6e6c3aa7c380a51d4166c668e8",
-   "sha256": "0zbpzm9lni6z180s7n52x8s5by5zkq2nlhx82l2h9i7in9y4r6c3"
+   "commit": "4eb8aa0aada012b2346cc7f0c55e07783141a2c3",
+   "sha256": "0ivgvwrakgr527lylz9si1z3ip3n7bx02pj1acw8ab8swp1cxmy3"
   },
   "stable": {
    "version": [
@@ -66197,28 +67918,28 @@
   "repo": "weirdNox/org-noter",
   "unstable": {
    "version": [
-    20190913,
-    1509
+    20191020,
+    1212
    ],
    "deps": [
     "cl-lib",
     "org"
    ],
-   "commit": "a926c1075964f4a972467c01b807d6a01fd5d0b1",
-   "sha256": "0fb5r5aslqkd48h2l502sq3hixwcy64m00p17znnagf699djfhfl"
+   "commit": "9ead81d42dd4dd5074782d239b2efddf9b8b7b3d",
+   "sha256": "1ysz8v2yakchs4va5niaf5rnydwrmz721hbaa2l63wjw0nsmi7l3"
   },
   "stable": {
    "version": [
     1,
-    3,
-    0
+    4,
+    1
    ],
    "deps": [
     "cl-lib",
     "org"
    ],
-   "commit": "8fb007c329fee8cceca97338ae0e88aaafcb8535",
-   "sha256": "0qcdw1px07ggnp74gb3hibd69cq8np9bdpcpvlkm5k32qxhsnwjy"
+   "commit": "32900872c82195e757ec6249a329490a0ca2199e",
+   "sha256": "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"
   }
  },
  {
@@ -66277,8 +67998,8 @@
     "org",
     "ov"
    ],
-   "commit": "b95b6a7ed9289637cb512232470633b330ca9713",
-   "sha256": "03x3n2ywgk2x7slpzy26bw3l9l000pd964z0yifvf9fqhpbk5d0r"
+   "commit": "22014917dd7e751c46fa13e1e836c2d0265ce82f",
+   "sha256": "0gjvd7xd9kl06cgdyya2qbl7r4a9y4zfq1ci0109w5axs3zjin1m"
   }
  },
  {
@@ -66325,8 +68046,8 @@
     "org",
     "simple-httpd"
    ],
-   "commit": "d539731d7a38899ef034b905f834f383ed102881",
-   "sha256": "1g8ins9kp0sl19dgk697xhh9vnxbryz74zc4qk61gbmfd5farg7y"
+   "commit": "d0e55416174a60d3305e97ca193b333f4cccba4f",
+   "sha256": "0l1jkap8wjprsaglys5hy5ijhaxfv8bzry9axqcfg6xr0bmbyhm7"
   },
   "stable": {
    "version": [
@@ -66434,11 +68155,11 @@
   "repo": "tumashu/org-picklink",
   "unstable": {
    "version": [
-    20190902,
-    654
+    20191203,
+    59
    ],
-   "commit": "e8c95e188b60ff84d794cbedbcce6732ccb82e4f",
-   "sha256": "05b488h1b5yvh0892358ndina2lywh67lhvqp180rp5ivz7zqm10"
+   "commit": "f79040ed988bdeec63b098b187e00f2b80d3d570",
+   "sha256": "0a0dzg8w617sn079mshihfv5sm74xphab81kmvi1dqcc5iyi15kh"
   }
  },
  {
@@ -66449,8 +68170,8 @@
   "repo": "org-pivotal/org-pivotal",
   "unstable": {
    "version": [
-    20190823,
-    1530
+    20191116,
+    530
    ],
    "deps": [
     "a",
@@ -66458,16 +68179,16 @@
     "dash-functional",
     "request"
    ],
-   "commit": "11bde7699634926369fad0081d5e6d7525ac3260",
-   "sha256": "03zs5y0wm49pma739574sq6aky26l64j3bi6c8k52zzmg3pm3shy"
+   "commit": "f073f3ed8c2e78f5080c617d01b1f6bb3df63d1c",
+   "sha256": "13bqcwlappxz0gsiyvklrf0xv4an6s4id48s3ydi0hki1na9fzzk"
   }
  },
  {
   "ename": "org-pomodoro",
-  "commit": "e54e77c5619b56e9b488b3fe8761188b6b3b4198",
-  "sha256": "1vdi07hrhniyhhvg0hcr5mlixy6bjynvwm89z2lvfyvnnxpx0r27",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "0pcf8a57fgf6f2pwlnrxc3kwm96lc2ji934y4ck8cm5rwwh05lk7",
   "fetcher": "github",
-  "repo": "lolownia/org-pomodoro",
+  "repo": "marcinkoziej/org-pomodoro",
   "unstable": {
    "version": [
     20190530,
@@ -66520,15 +68241,15 @@
   "repo": "duncan-bayne/org-present-remote",
   "unstable": {
    "version": [
-    20181001,
-    2141
+    20191206,
+    533
    ],
    "deps": [
     "elnode",
     "org-present"
    ],
-   "commit": "d0f96dd57c152e7aa311ecbe03e7be287fd5979f",
-   "sha256": "1n0cafvpc8vqhh34d4kicw6a5qn1jpnczjh67nvwd2iw48pii5rk"
+   "commit": "d66aa2022eea65c83b6e5e5b99a1331284a7ec30",
+   "sha256": "1ji1qqhp6hpsmri0lgwzvvn1477njlcv60958xf6akvryk6azqh3"
   }
  },
  {
@@ -66539,11 +68260,11 @@
   "repo": "marcowahl/org-pretty-tags",
   "unstable": {
    "version": [
-    20190715,
-    1843
+    20191120,
+    1343
    ],
-   "commit": "8249601b6c75ac26254f3f12e38f5cb51e22bfdd",
-   "sha256": "0ws9b473b0dh8sp4qaj8v8p1qvfi0xxmgwnv1biydjwm50mzlran"
+   "commit": "549fa6969660dcf0cf9bca5b7341d0cb48ec3b77",
+   "sha256": "12s74if74vw8q5awgrk0d1244ysfgb9kw3dxhypsccsbf413jmii"
   },
   "stable": {
    "version": [
@@ -66675,32 +68396,41 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20190918,
-    633
+    20200103,
+    1257
    ],
    "deps": [
     "dash",
+    "dash-functional",
+    "f",
     "org",
+    "org-super-agenda",
+    "ov",
+    "peg",
     "s",
     "ts"
    ],
-   "commit": "8f2a02264f1dcd45e0d060655bffc45a7bde8235",
-   "sha256": "12xqg8w52q2bnbrsl49r0ygnsx8014skhfqjsfz3s9v0myfhx0m1"
+   "commit": "21c7dc15878f90eddee6375faf6b138d7784579c",
+   "sha256": "0qv4hysrgk34mzkfzmmqy1w8mbar768hcwjwbnz4pr15jq016d6d"
   },
   "stable": {
    "version": [
     0,
-    2,
-    1
+    3,
+    2
    ],
    "deps": [
     "dash",
+    "dash-functional",
     "org",
+    "org-super-agenda",
+    "ov",
+    "peg",
     "s",
     "ts"
    ],
-   "commit": "55694f17fce4dc566f533b0b5f8cd60c4dad9670",
-   "sha256": "1xyabg9fhpip6426za6wjrn0msnaf10c5fzzaawwagk7zmjf9b48"
+   "commit": "2274efce077c7cf8b2930a8bfb9980c251d8e737",
+   "sha256": "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"
   }
  },
  {
@@ -66779,28 +68509,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20190914,
-    1607
+    20200107,
+    751
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "07d4af7f601fb22d8ed74081c9f69ba9af61e474",
-   "sha256": "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"
+   "commit": "29bc467201220dbf5091fe2d32a2b237c744ff10",
+   "sha256": "17rz5z1gbwav2ihszl509vqmhpavg3abs6ggjk41v5v11szckyf8"
   },
   "stable": {
    "version": [
     2,
-    5,
-    1
+    12,
+    0
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "07d4af7f601fb22d8ed74081c9f69ba9af61e474",
-   "sha256": "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"
+   "commit": "62f0868c4e9b098fb43b62b257bcd924779838c0",
+   "sha256": "0nbbynpgwmw85y90frbkna0s0sxxdhskpijnl41f9l6psll70mq4"
   }
  },
  {
@@ -66811,15 +68541,15 @@
   "repo": "oer/org-re-reveal-ref",
   "unstable": {
    "version": [
-    20190819,
-    921
+    20191022,
+    1426
    ],
    "deps": [
     "org-re-reveal",
     "org-ref"
    ],
-   "commit": "12a85e3f6f1b2f4c9e0169c8642a78f71d933633",
-   "sha256": "0c03rd2rr43hbm4s9fd05qmhy98yvqdxg8da3dkwizkynr47f2yn"
+   "commit": "1f56a1fc9a52f3815bb2115ebeca3c355688d722",
+   "sha256": "1xrswpkr7hgsb9pj991z4m0820f1nksfad184x0j7kir2xcx0myg"
   }
  },
  {
@@ -66865,14 +68595,14 @@
   "repo": "m-cat/org-recur",
   "unstable": {
    "version": [
-    20190719,
-    846
+    20191216,
+    2353
    ],
    "deps": [
     "org"
    ],
-   "commit": "23c3c3a85d9042dc09ed6147b274f4043cfa50f7",
-   "sha256": "1sw9h6543zgsyss5ns3bjviz0nblsr077hp8b15pva0ch2836vg5"
+   "commit": "ae20a538b2b4dcec139089bb44f1e4abc5b04f72",
+   "sha256": "1x0gpq7n8crn48nfj2hmbfxd4yj5implgh5mvfnr0k1d89r6gwcn"
   }
  },
  {
@@ -66898,8 +68628,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20190916,
-    1534
+    20200107,
+    1307
    ],
    "deps": [
     "dash",
@@ -66913,8 +68643,8 @@
     "pdf-tools",
     "s"
    ],
-   "commit": "0831d2bfe5820d72121fe66e9e298cac04c23b71",
-   "sha256": "07wy73ybqd5zbi6qjvkqrag5jab1aswzrjvvajcips8ka849vsp5"
+   "commit": "52cf11378b31b070111ed43fb59138146819f926",
+   "sha256": "0vcpy107znh1xvi121kd8rhqvhibwmspcqdyvy2h2xp0pd2xnhwx"
   },
   "stable": {
    "version": [
@@ -66975,8 +68705,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "a3bc7846531b55337ec069d0696b8d8a04fad3de",
-   "sha256": "0xhsv46xx9bzakzpb9y133s9drj5vyg8wrm15llqhgnaygakpfj6"
+   "commit": "7668fb561320bf01e73d98795eb6ad69f1e933ac",
+   "sha256": "1vw4996dj9j10b72vf9cya61h031bl2a4dsrqdg52v2j45bhk4dy"
   }
  },
  {
@@ -67037,6 +68767,26 @@
   }
  },
  {
+  "ename": "org-scrum",
+  "commit": "8315b6834d76180fd050b0d5cc2239d604fe2f3b",
+  "sha256": "1bvxcj5675kh7zf839qb0hdy6jlllpqm7ngb5ixx1klax7l8n7pr",
+  "fetcher": "github",
+  "repo": "ianxm/emacs-scrum",
+  "unstable": {
+   "version": [
+    20200107,
+    1048
+   ],
+   "deps": [
+    "cl-lib",
+    "org",
+    "seq"
+   ],
+   "commit": "227de5157d9dea4fb52527d3a30a61969731a040",
+   "sha256": "1hh29gjj7d629g5mzcpvvh6jpsm7fz1vypiq8ppfmpi9jxflz631"
+  }
+ },
+ {
   "ename": "org-seek",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "04ay4abm03kn15cn45ldrzh2rw6gr6ia3qrj7hn5crd75ppwvln7",
@@ -67070,6 +68820,45 @@
   }
  },
  {
+  "ename": "org-sidebar",
+  "commit": "fa65cb74eabe0c46094c64f1384e31b31a6a58e5",
+  "sha256": "0grzh47b6nnk1y7xqd1dfy2cyq688g589wfd5dp78g0wfqbmdl5c",
+  "fetcher": "github",
+  "repo": "alphapapa/org-sidebar",
+  "unstable": {
+   "version": [
+    20191012,
+    514
+   ],
+   "deps": [
+    "dash",
+    "dash-functional",
+    "org",
+    "org-ql",
+    "org-super-agenda",
+    "s"
+   ],
+   "commit": "b5eff7195718e6a70a42d36e48800632080aab0c",
+   "sha256": "138hbcmkxmmdcagdv438946cr4qkwklqqwf2b1khi8gimnnivsxm"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "dash",
+    "dash-functional",
+    "org",
+    "org-ql",
+    "org-super-agenda",
+    "s"
+   ],
+   "commit": "9634320a6f9ab919119e08a14853c31387f38ce3",
+   "sha256": "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"
+  }
+ },
+ {
   "ename": "org-snooze",
   "commit": "fd04816fb53fe01fa9924ec928c1dd41f2219d6a",
   "sha256": "00iwjj249vzqnfvbmlzrjig1sfhzbpv9kcpz95i3ir1w1qhw5119",
@@ -67119,15 +68908,28 @@
   "repo": "akirak/org-starter",
   "unstable": {
    "version": [
-    20190907,
-    1859
+    20191224,
+    1909
    ],
    "deps": [
     "dash",
     "dash-functional"
    ],
-   "commit": "ca166579a35dc671ad8f59dbc6dcf2a1eda94a20",
-   "sha256": "02ikg795jny9cddprbd9ipyiyg2gv6i4c6408qp94n3qmr9jcz48"
+   "commit": "4c0f01a493a6dc9ab3fec50e0b458aa0d35464f9",
+   "sha256": "1c2vjxgscngg0k7qxr67ad0cws9yv88yhmdrn9qq4rxzc9fdjkzg"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    6
+   ],
+   "deps": [
+    "dash",
+    "dash-functional"
+   ],
+   "commit": "7ea72ec530a340af61da215327a7fbb66a07ad2a",
+   "sha256": "0y1i4zpgmk6i2nj5l6dvdvqkp5a8cww8y4vcpps85blj586xgby3"
   }
  },
  {
@@ -67138,15 +68940,28 @@
   "repo": "akirak/org-starter",
   "unstable": {
    "version": [
-    20190817,
-    1823
+    20190929,
+    646
    ],
    "deps": [
     "org-starter",
     "swiper"
    ],
-   "commit": "ca166579a35dc671ad8f59dbc6dcf2a1eda94a20",
-   "sha256": "02ikg795jny9cddprbd9ipyiyg2gv6i4c6408qp94n3qmr9jcz48"
+   "commit": "4c0f01a493a6dc9ab3fec50e0b458aa0d35464f9",
+   "sha256": "1c2vjxgscngg0k7qxr67ad0cws9yv88yhmdrn9qq4rxzc9fdjkzg"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    6
+   ],
+   "deps": [
+    "org-starter",
+    "swiper"
+   ],
+   "commit": "7ea72ec530a340af61da215327a7fbb66a07ad2a",
+   "sha256": "0y1i4zpgmk6i2nj5l6dvdvqkp5a8cww8y4vcpps85blj586xgby3"
   }
  },
  {
@@ -67157,11 +68972,11 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20190916,
-    1307
+    20191107,
+    805
    ],
-   "commit": "f01d3793c4f1ba7099e12e7ed6d1b9c14bd48152",
-   "sha256": "0bg3yhy7a80gak7c0ilki8mv46hdzqddps232ab9zr7z6k01kpzj"
+   "commit": "6381b933853878eb0eac9404d9596ea59c5b1a1e",
+   "sha256": "15xrginwc7lhykwllsz68n8ms8zfg6sx63lm87f3f7aqf8hrsnig"
   },
   "stable": {
    "version": [
@@ -67181,14 +68996,14 @@
   "repo": "alphapapa/org-sticky-header",
   "unstable": {
    "version": [
-    20190406,
-    2313
+    20191117,
+    549
    ],
    "deps": [
     "org"
    ],
-   "commit": "32c13a56a78a4de239010031fea4b9583bac2512",
-   "sha256": "1vngxj8d946qmi65x9yiz4pihqrim8fl1sbxfjzp8fkykx0ybiy1"
+   "commit": "1053ebdeb3bd14fc8d4538643532efb86d18b73c",
+   "sha256": "171j10ngngra45sxmlkzrcmhhqf2b6yjqq0r5gl16zcbgggg936a"
   },
   "stable": {
    "version": [
@@ -67211,8 +69026,8 @@
   "repo": "alphapapa/org-super-agenda",
   "unstable": {
    "version": [
-    20190909,
-    2144
+    20200107,
+    1609
    ],
    "deps": [
     "dash",
@@ -67221,8 +69036,8 @@
     "s",
     "ts"
    ],
-   "commit": "f0ee7ed9766d352d16a787707d35695b48cbf153",
-   "sha256": "1b1qi96x83acv2frl94i4frx46i82vipaa8mfwpzyj2gyq2bq5zf"
+   "commit": "bd6f821e6e812ffe84cdf8d92cef7502f62355d7",
+   "sha256": "0r3lzlh9xw0zm0ycq7qkap60y204715vd80hbypcc2fpdqn6kmf4"
   },
   "stable": {
    "version": [
@@ -67323,14 +69138,14 @@
   "repo": "cute-jumper/org-table-sticky-header",
   "unstable": {
    "version": [
-    20190906,
-    211
+    20190924,
+    506
    ],
    "deps": [
     "org"
    ],
-   "commit": "7789e2064acef418d4959eb15ee2648227968c9d",
-   "sha256": "190465gxhx9hirxwnl9gm1awqv87l6rxdm34yjmkhpm1zaaykc4l"
+   "commit": "b65442857128ab04724aaa301e60aa874a31a798",
+   "sha256": "1rnv7n444gidn2kqfbzc1wypj253nmlhn50x14pd8rdg4s3srpar"
   },
   "stable": {
    "version": [
@@ -67353,11 +69168,11 @@
   "repo": "mtekman/org-tanglesync.el",
   "unstable": {
    "version": [
-    20190916,
-    2055
+    20200107,
+    2134
    ],
-   "commit": "1e26c3fa1fce8c16edcb7e53a90bc3c37603453e",
-   "sha256": "1mq63vq7f6v6x2j99dd4vpi0417rk5k9m8ggqzc1n22lnymzck2z"
+   "commit": "e17f64c6472ab2c90d1f32eae83b9fe0843fc028",
+   "sha256": "1sljzjgwgw654lijl20p82pr8pas8v64dmyjagm6cw9ss8p75vj1"
   }
  },
  {
@@ -67644,11 +69459,11 @@
   "repo": "cadadr/elisp",
   "unstable": {
    "version": [
-    20190409,
-    1815
+    20191207,
+    2022
    ],
-   "commit": "ebb2778052aeaf737adebc003957cb48cb01135e",
-   "sha256": "0qlvdpa88ic9gnb0qhijfsc9i6l3ba2zrvk4r4li3qrx0i9rpz5c"
+   "commit": "eab07dae119129066624e692c1c75a53b2ab10a5",
+   "sha256": "1q9g8kza6hv6pv1sjzkl6b4gxcx6fsvv8lk5w7kk9gpws5vjz5bz"
   }
  },
  {
@@ -67659,11 +69474,11 @@
   "repo": "flexibeast/org-vcard",
   "unstable": {
    "version": [
-    20190810,
-    124
+    20191130,
+    703
    ],
-   "commit": "df5e2d3bc0c3970e5fd553ee9d55878c4f9a163d",
-   "sha256": "0x862pqya2q4pg8448qlp5267x8ycqq1zmkbvcyrzanag3983d8v"
+   "commit": "4f5d71225e946999f45ac9f96996705fee83df5a",
+   "sha256": "1w8miq52d2rlyslbss5173gnbv7rmkn2cicd9h272v6ybb585hcd"
   },
   "stable": {
    "version": [
@@ -67698,8 +69513,8 @@
   "repo": "alphapapa/org-web-tools",
   "unstable": {
    "version": [
-    20190709,
-    1124
+    20191217,
+    1459
    ],
    "deps": [
     "dash",
@@ -67708,8 +69523,8 @@
     "request",
     "s"
    ],
-   "commit": "993dca7f8afe7afffa0d62983fb7018481d886fc",
-   "sha256": "1sfa3wb051cv5qj44ldp76fql5sjfhccqgjm96c85i0zn4i19plf"
+   "commit": "ebc7888f4f4cad26ec1298edd7bf606a5ea2d564",
+   "sha256": "09ihqas9rx7c6146zmb3p0q395gxkfscxixlmz4v05smrhka1xz8"
   },
   "stable": {
    "version": [
@@ -67736,8 +69551,8 @@
   "repo": "akhramov/org-wild-notifier.el",
   "unstable": {
    "version": [
-    20190608,
-    410
+    20191114,
+    1632
    ],
    "deps": [
     "alert",
@@ -67745,14 +69560,14 @@
     "dash",
     "dash-functional"
    ],
-   "commit": "6e194d0f0a21b7d2b09ebdef5ffcd5ffe3633339",
-   "sha256": "0vh8hhb0d5y3bgp0i9msk5c6rpn1mzj9bzqmbk6xwl4qr07hgnxx"
+   "commit": "713c5205869dde4d42127fd9365f5831ec222503",
+   "sha256": "0585v39lxrqnv4p2k2pcswmx14gvm6l17j05q30cssn5zqy8cv8a"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    2
    ],
    "deps": [
     "alert",
@@ -67760,20 +69575,43 @@
     "dash",
     "dash-functional"
    ],
-   "commit": "6e194d0f0a21b7d2b09ebdef5ffcd5ffe3633339",
-   "sha256": "0vh8hhb0d5y3bgp0i9msk5c6rpn1mzj9bzqmbk6xwl4qr07hgnxx"
+   "commit": "f2ea8a719cf61742def57475400222a498256bb6",
+   "sha256": "0wrr52bryvv1aj2fk5ik71iifh15bzmvrw1ixzs1afcdp2fn0bcm"
+  }
+ },
+ {
+  "ename": "org-working-set",
+  "commit": "8df6c37b8d5b7f4a296e57ad1fd758cb99aff718",
+  "sha256": "0dkwgci0s6znc25hcvj3a3djarwmwdjyx2lgfrf6sgbqd5l30s8l",
+  "fetcher": "github",
+  "repo": "marcIhm/org-working-set",
+  "unstable": {
+   "version": [
+    20191117,
+    1948
+   ],
+   "commit": "ee4cec8bea3cc8fd8456108fc3c5e53a62b5553c",
+   "sha256": "0gcgs8flxy1dldj7hscvzs23gjnyvshj9p9mbdhlq7cggbxly26m"
+  },
+  "stable": {
+   "version": [
+    1,
+    1
+   ],
+   "commit": "ee4cec8bea3cc8fd8456108fc3c5e53a62b5553c",
+   "sha256": "0gcgs8flxy1dldj7hscvzs23gjnyvshj9p9mbdhlq7cggbxly26m"
   }
  },
  {
   "ename": "org-wunderlist",
-  "commit": "44019e5d9e3d0f3e2cf76fa5828e1f953fd5e60b",
-  "sha256": "08zg3wgr80rp89c53ffqzz22ws9bp62a1m74xvxa74x6nq9i4xl0",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "08lxxdm740cnzkzar1hqrapwjh087nsgm0kzi9fxlq405gc0sza9",
   "fetcher": "github",
-  "repo": "myuhe/org-wunderlist.el",
+  "repo": "emacsattic/org-wunderlist",
   "unstable": {
    "version": [
-    20150818,
-    213
+    20191017,
+    1917
    ],
    "deps": [
     "alert",
@@ -67782,46 +69620,43 @@
     "request-deferred",
     "s"
    ],
-   "commit": "f7f1ca73661356b9fa072efd73431592ff1182e1",
-   "sha256": "169wzfjc9bbk2ydgq1zghrwkfp2fjwsrnwsw86npslj4c4bz41mm"
+   "commit": "1a084bb49be4b5a1066db9cd9b7da2f8efab293f",
+   "sha256": "05kd8d0687dlmy8a4qvxa3bdcsvxd10hxkl5i4654w88pg07qm8g"
   }
  },
  {
   "ename": "org2blog",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "15nr6f45z0i265llf8xs87958l5hvafh518k0s7jan7x1l6w5q33",
+  "commit": "08b47bf72bff18efb3281509fd9f1688d8bb0349",
+  "sha256": "1snrsqpiacmkajmiw12kpglxkrs5ngma7l7r246q0lvf1h4jzbsa",
   "fetcher": "github",
   "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20190309,
-    442
+    20191102,
+    28
    ],
    "deps": [
     "htmlize",
     "hydra",
     "metaweblog",
-    "org",
     "xml-rpc"
    ],
-   "commit": "bd6dd6b1b3ce57a72e7c229d3f035fc7c0d3860b",
-   "sha256": "0c7viqq8cxkd6xxbvq53dbp1slsjjxs2fb2lyi3njfg18v5c6fks"
+   "commit": "58398120907504ff200adfd9b817f297142c9680",
+   "sha256": "0c8r9k803fc57ny56ny81s276r3m3y4cd7mxvwjmpz7ycivvg0v5"
   },
   "stable": {
    "version": [
     1,
-    0,
-    3
+    1,
+    1
    ],
    "deps": [
     "htmlize",
     "hydra",
-    "metaweblog",
-    "org",
     "xml-rpc"
    ],
-   "commit": "55dbed00ebe5c841c43800b39764682759ecf326",
-   "sha256": "1fncgiwyigvmkc40bm1nr4nlkm828a04jv33jsnzjzyi2n00mbgx"
+   "commit": "3cad357cd5c0f7f949fc6c7aa42d76155d036e78",
+   "sha256": "136l0lm8lv7fgpzply241fngxfl3ck11raamqwislyv0nnjwdfdi"
   }
  },
  {
@@ -67832,11 +69667,11 @@
   "repo": "tumashu/org2ctex",
   "unstable": {
    "version": [
-    20181012,
-    151
+    20191024,
+    610
    ],
-   "commit": "2143992462594ce63733305f75f7c7d08123710a",
-   "sha256": "0xrg66yx4xrmkswbapaz21q4i6qm2199zvxqvgaxd8qyk19fc46c"
+   "commit": "d4af170f5190dad3aa31ab1cf4c6f087d56ab111",
+   "sha256": "0m28mxsq1d5ggr8phfn94pb38lj8x3sxykh7hfqbwhphaza3by5q"
   }
  },
  {
@@ -67965,31 +69800,45 @@
   "repo": "kostafey/organic-green-theme",
   "unstable": {
    "version": [
-    20190828,
-    922
+    20191125,
+    1630
    ],
-   "commit": "cde171651b08ef24326127a62992062e25c3e699",
-   "sha256": "0a970fv8y2pvbxw2iy09zyl70c2raacdsysdi6ywkxi63fid5l8r"
+   "commit": "15746df5f3af5ee308cd4f546ef229eef2d825ac",
+   "sha256": "100axl6ajddfw23lr98k8b05zrd4hajcq68mi90vddqbn06mk577"
   }
  },
  {
   "ename": "organize-imports-java",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "1n91qd9il2sq5wkcc2ag8mvgr1jkgwygrw9kpq7j16qch420i3fj",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "0j4fpbzmi0mq2f493hwl94b3xmkhdcjscvbgv4dz31rw10bl4q7h",
   "fetcher": "github",
-  "repo": "elpa-host/organize-imports-java",
+  "repo": "jcs-elpa/organize-imports-java",
   "unstable": {
    "version": [
-    20190807,
-    1218
+    20190922,
+    1520
+   ],
+   "deps": [
+    "cl-lib",
+    "f",
+    "s"
+   ],
+   "commit": "8299bdfd65105feb8d7fb85d2951954d73671cd2",
+   "sha256": "023gkvhaxx54gcfz6m3pc0yhygf2y43391r1dghivk8420savdjg"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    3
    ],
    "deps": [
     "cl-lib",
     "f",
     "s"
    ],
-   "commit": "df209ce7f8055bd9fbd93e7a03b42f1705a1933d",
-   "sha256": "1fx05xn22zj5dgdyxrz0ifzxwfpf1s5gcszkjyhzfg1g2r8kmf0v"
+   "commit": "de094d6d56c85aa9820c77055b54287ae6b46d20",
+   "sha256": "0hgdgz1jx292dfxcm1av4v9v6400jpnyp1j21d4fzfi0wj2srfrr"
   }
  },
  {
@@ -68032,30 +69881,30 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20190717,
-    1526
+    20191205,
+    2300
    ],
    "deps": [
     "dash",
     "magit",
     "org"
    ],
-   "commit": "1e578f8cf97b07835f02858f05a094ae9a5e99bb",
-   "sha256": "0y8s7w12j39q6fj7adb1018gj3av88dwg894fa5drwzjzh7cgc0k"
+   "commit": "e7cddf39e301c87c36c7de13e429dee74874d5c8",
+   "sha256": "00s3a8i221didw8phlbvdvihj9pxkq9k9j9vh1g1mzd7cz58dm07"
   },
   "stable": {
    "version": [
     1,
-    5,
-    3
+    6,
+    0
    ],
    "deps": [
     "dash",
     "magit",
     "org"
    ],
-   "commit": "ea79e0567ae65fc922fcb05da0f7f4af8eae1973",
-   "sha256": "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"
+   "commit": "e7cddf39e301c87c36c7de13e429dee74874d5c8",
+   "sha256": "00s3a8i221didw8phlbvdvihj9pxkq9k9j9vh1g1mzd7cz58dm07"
   }
  },
  {
@@ -68080,14 +69929,14 @@
    "version": [
     1,
     1,
-    3
+    4
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "e9e90e16ddaceaf99c9b251a215d6338b9762b4d",
-   "sha256": "0vqyidi54rbpqwqi6iv1xaqkr9gfr0pfhr1msxckh8jy6avgy319"
+   "commit": "988ad54db45708b0fe835829d512eb6d5f6cf161",
+   "sha256": "1mswfbwz7fm9lriab365g7hq8hn85gxcsg8y41by9j0n8hb3hj5q"
   }
  },
  {
@@ -68222,6 +70071,24 @@
   }
  },
  {
+  "ename": "ormolu",
+  "commit": "ab315f96d9b8d01ffc3b4748d01c70861daf8c1a",
+  "sha256": "0d6pgmp1iy3yylvx9bbdia5p0c7m59m8hca55lkxb7g6ck2c628y",
+  "fetcher": "github",
+  "repo": "vyorkin/ormolu.el",
+  "unstable": {
+   "version": [
+    20191201,
+    1243
+   ],
+   "deps": [
+    "reformatter"
+   ],
+   "commit": "aa2c561e0e71584c1d8dc354d2dd1c541f226f57",
+   "sha256": "0vrp0yl3v3cmli8ryq8d1zf0q4kv4fd311gij1w6kb5mjdahqfvb"
+  }
+ },
+ {
   "ename": "osx-browse",
   "commit": "081aa3e1d50c2c9e5a9b9ce0716258a93279f605",
   "sha256": "06rfzq2hxhzg6jh2zs28r7ffxwlq40nz954j13ly8403c7rmbrfm",
@@ -68284,14 +70151,14 @@
   "repo": "xuchunyang/osx-dictionary.el",
   "unstable": {
    "version": [
-    20171026,
-    734
+    20191206,
+    519
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b16630ecf69f87ac873486d8b9c8c03e6c9ea7fa",
-   "sha256": "06qsg8hlw1b725pzpsg5f194pxqcg1pjncsi8j0815yrlzfcg6sp"
+   "commit": "1b79ff64c72485cb078db9ab7ee3256b11a99f4b",
+   "sha256": "1lnjpsb09w48ibjvabqkxqh997mv61zpvqhx3d35q4lw5sirgjxg"
   },
   "stable": {
    "version": [
@@ -68313,11 +70180,11 @@
   "repo": "raghavgautam/osx-lib",
   "unstable": {
    "version": [
-    20160920,
-    0
+    20191121,
+    1440
    ],
-   "commit": "fdbbb41e07ba64d6a09b54bd142a7c7b83bfd09f",
-   "sha256": "0n03yca62znrri1pg0cl4xzm4lkmdqyf1p9sm1vfjwlwxk552z5x"
+   "commit": "01cba80ccc20412759f87b8f7531580bb04ec9c1",
+   "sha256": "0izkifcxk6cp9y4xcmpkhpd2vv1rqapxxa74ks12a55sflyxx36f"
   }
  },
  {
@@ -68460,20 +70327,20 @@
   "repo": "tarsius/outline-minor-faces",
   "unstable": {
    "version": [
-    20181122,
-    1121
+    20200103,
+    1239
    ],
-   "commit": "38cb0c5ce6bee61a8fbc1040e102792725735bfa",
-   "sha256": "0zbvxwdgghckqrn5w1j2p1vp0ajsls062l491zx2v50h6pzpmk71"
+   "commit": "d6247aaec44f60a9bd161c1d56960f80ab314a49",
+   "sha256": "0mscnbbv6cap818zhzz3ig6ychrw0zw84zyl2g1rksir0qj4hznf"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    3
    ],
-   "commit": "8788f3e6f922f54b4eccfb80e4c246203a7e81c3",
-   "sha256": "1ms4mgh8jlvyhdsx5166jqfjdx6rqfbhaqzfrzplgcn6v37097l4"
+   "commit": "d6247aaec44f60a9bd161c1d56960f80ab314a49",
+   "sha256": "0mscnbbv6cap818zhzz3ig6ychrw0zw84zyl2g1rksir0qj4hznf"
   }
  },
  {
@@ -68575,15 +70442,15 @@
   "repo": "alphapapa/outshine",
   "unstable": {
    "version": [
-    20190717,
-    1147
+    20191112,
+    1414
    ],
    "deps": [
     "cl-lib",
     "outorg"
    ],
-   "commit": "4c6107da8fd6119ba1b2379cd2f68c8c7374e8d5",
-   "sha256": "0i2mhb78d0rcvqv94h4qa98rm1nm11ag8l90v3z819bwph3f44d6"
+   "commit": "9334b555aaf1426a9e405a57b80809a1615627b3",
+   "sha256": "11r6advraz5rkrxr25mj0wpfgzxcvn5gzppsc7ma51zqfmijg7dk"
   },
   "stable": {
    "version": [
@@ -68607,11 +70474,11 @@
   "repo": "emacsorphanage/ov",
   "unstable": {
    "version": [
-    20150312,
-    528
+    20191127,
+    32
    ],
-   "commit": "fae7215b3dedba2a9ced145284332e4609bfdc38",
-   "sha256": "1rk5pzm5wmdq68d99hhhbq8pq37bnph0dip5j2jnfj6zsw70whr2"
+   "commit": "d1ae4d2a488e8ed99ab395e567bc00d21dd6c478",
+   "sha256": "0d8px0j9drviw02mx7zqkl5sgb9qa42dsczkqg02ggcbvhy6cm9g"
   },
   "stable": {
    "version": [
@@ -68688,14 +70555,14 @@
   "repo": "anticomputer/ovpn-mode",
   "unstable": {
    "version": [
-    20190811,
-    2200
+    20191214,
+    310
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "dce04d9f35fd203afd098ba413595db6c2cbc051",
-   "sha256": "0ix53rlwzi1mh35msh6gahfnip67p53jc3qxkbaxji7hlxi130fb"
+   "commit": "8457f72de59929d6c176883e92d1a706163d3170",
+   "sha256": "0qcinx4gpfzngirwfis7byrdbgbwk3pak7f8mx5fsbcdnybkk8sj"
   }
  },
  {
@@ -68773,15 +70640,15 @@
   "repo": "jkitchin/ox-clip",
   "unstable": {
    "version": [
-    20180306,
-    340
+    20191122,
+    237
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "594c90953a91948505bb394350adf110e041f19a",
-   "sha256": "1alm6hh7qg8sv50cm5p03icx47za2g7b2nvbwzx6kxkrgmgqfq6c"
+   "commit": "bd36f9fb4e3b1b9e8686b993b02ccd780ff75a96",
+   "sha256": "03wj3gx09lbfmsanfhqfbzz61zaszia1mhfvlywhygknpagxr3lp"
   }
  },
  {
@@ -68891,14 +70758,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20190905,
-    303
+    20191217,
+    1543
    ],
    "deps": [
     "org"
    ],
-   "commit": "b5672ea8925eaff93c4e17982b35acec302ba5e7",
-   "sha256": "1z9c85z55an38wrg6vmal8vp8k8qp1wkfxc9ijjlqsh0i2809x6b"
+   "commit": "d2892b3b5ea19f85063f2fba4a5b7ffa1123a395",
+   "sha256": "1z0y07y9m1svxiypfgcadsajfd728aksa1bmka5a7y9fsag3l4zh"
   },
   "stable": {
    "version": [
@@ -69005,15 +70872,15 @@
   "repo": "jlumpe/ox-json",
   "unstable": {
    "version": [
-    20190819,
-    1506
+    20191225,
+    750
    ],
    "deps": [
     "org",
     "s"
    ],
-   "commit": "96b7d330b77b02f7039adabe488595847a008bda",
-   "sha256": "1whysxp4s84lhvgz8vnj2r51dfnk91v5plvbj61rac0077md6df5"
+   "commit": "8ce0fae6e8b596b93e05dd512be13973cb3cfa54",
+   "sha256": "1fwwvp4jvdx8namdy0nb68c2jj3nfw7adwp7vk2c2b5cp6fc6cl7"
   },
   "stable": {
    "version": [
@@ -69037,11 +70904,11 @@
   "repo": "linktohack/ox-latex-subfigure",
   "unstable": {
    "version": [
-    20190816,
-    1905
+    20191208,
+    1616
    ],
-   "commit": "5436eaf0cb036fed0a2042533ec1466a33cf9493",
-   "sha256": "1j9z7qr5nxbi96s22kkjp10jf29k7i61pwhs68j0lb4v238vdpsj"
+   "commit": "b9e3ee8abd3b9f29e03f8b0b9cd6b4df134ca159",
+   "sha256": "09nv9anqldqlxqk71g40by1hch9jw7siilxgkc59hn9dn2ibbbq9"
   },
   "stable": {
    "version": [
@@ -69202,14 +71069,14 @@
   "repo": "yjwen/org-reveal",
   "unstable": {
    "version": [
-    20190918,
-    1627
+    20191127,
+    319
    ],
    "deps": [
     "org"
    ],
-   "commit": "d692f2fae4b01bb10b47828692e1654fb339bbee",
-   "sha256": "1sia5ijs0alr64078bdiax3mzr8103kzs8ia6k4qbv3a1w5bzgyf"
+   "commit": "a4c12432ec564187b8acd0814d5f66e45ea30e4d",
+   "sha256": "04rzrx9y4imnhg47rq16sqmhdwyl82w1fjylxm8s6p2s89ql1d7f"
   }
  },
  {
@@ -69220,14 +71087,14 @@
   "repo": "choppsv1/org-rfc-export",
   "unstable": {
    "version": [
-    20190429,
-    1133
+    20190926,
+    851
    ],
    "deps": [
     "org"
    ],
-   "commit": "4cac33c387bc10e32f18940298aa5095d060ed3e",
-   "sha256": "0y442swdsh8fl3471bz9276r2srv6dp7j12y09s82xx5nm668nmb"
+   "commit": "b86c9e6f21d99ea657b4f2224f816300485ed73f",
+   "sha256": "1lg4bs0dr4srcgqxv9qi6v53aqq9i8inc1q024ndag4bis2x1q01"
   }
  },
  {
@@ -69238,14 +71105,14 @@
   "repo": "msnoigrs/ox-rst",
   "unstable": {
    "version": [
-    20190813,
-    427
+    20191013,
+    551
    ],
    "deps": [
     "org"
    ],
-   "commit": "25ea7a8a7ff1f57a9cd4f65b53899da3487bad8a",
-   "sha256": "0b7ybvpj1m48s2zdqk3xjyyzqxa9hjcaz29pgbsd9zg8q9mrnmas"
+   "commit": "9158bfd18096c559e0a225ae62ab683f1c98a547",
+   "sha256": "11v1h45ipjh95ksk6cdgp0azfmb7y3i8hdd46m7psmda08x8kqm5"
   }
  },
  {
@@ -69396,20 +71263,20 @@
   "repo": "marsmining/ox-twbs",
   "unstable": {
    "version": [
-    20161103,
-    2016
+    20191216,
+    1011
    ],
-   "commit": "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28",
-   "sha256": "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"
+   "commit": "cf56accf8633f72c741fff19a49c24cc8bdd8974",
+   "sha256": "12w58nvpzn0fbica3m679n08hczzikqr1xi1n4k7a6h1l60qykl7"
   },
   "stable": {
    "version": [
     1,
     1,
-    1
+    2
    ],
-   "commit": "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28",
-   "sha256": "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"
+   "commit": "cf56accf8633f72c741fff19a49c24cc8bdd8974",
+   "sha256": "12w58nvpzn0fbica3m679n08hczzikqr1xi1n4k7a6h1l60qykl7"
   }
  },
  {
@@ -69439,26 +71306,26 @@
   "repo": "w-vi/ox-wk.el",
   "unstable": {
    "version": [
-    20190526,
-    1024
+    20191231,
+    2058
    ],
    "deps": [
     "org"
    ],
-   "commit": "3da2213be1874d9d3e8a9337b09003d9c102b943",
-   "sha256": "0aw6ykcgyn6p7hhggyd7jfyx9b25pr0vgnlfvcwhjc3w0lm94yi1"
+   "commit": "d34d1b72e4e940745a377bfa745dfb618900a09e",
+   "sha256": "05813w4adafm596x1rikvc7xqk10xwfihdpdq1zr2zyqcpdabqza"
   },
   "stable": {
    "version": [
     0,
-    2,
-    1
+    3,
+    0
    ],
    "deps": [
     "org"
    ],
-   "commit": "3da2213be1874d9d3e8a9337b09003d9c102b943",
-   "sha256": "0aw6ykcgyn6p7hhggyd7jfyx9b25pr0vgnlfvcwhjc3w0lm94yi1"
+   "commit": "d34d1b72e4e940745a377bfa745dfb618900a09e",
+   "sha256": "05813w4adafm596x1rikvc7xqk10xwfihdpdq1zr2zyqcpdabqza"
   }
  },
  {
@@ -69536,22 +71403,26 @@
   "repo": "10sr/pack-el",
   "unstable": {
    "version": [
-    20190613,
-    425
+    20191017,
+    456
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e0ab7ea1115451b229fae663a110854ab998d8c0",
-   "sha256": "1aqpcain6bi96laa3w1hx4jx75lqzvba0jvyj0jnb19zsa6k3xha"
+   "commit": "85cd856fdc00a2365e88b50373b99f1b3d2227be",
+   "sha256": "0v95ni44scn42mm6mwrdi1vbi1n2h4bw961apm7bp6ilamwpbif8"
   },
   "stable": {
    "version": [
     0,
+    1,
     1
    ],
-   "commit": "2aaf19931c508b78edd53e63d9819dd0a6f9b97d",
-   "sha256": "0mqznvisfrar7j5x1plj2xgnbz4znnzikyq3j3gpssq4wv3kqq7g"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "85cd856fdc00a2365e88b50373b99f1b3d2227be",
+   "sha256": "0v95ni44scn42mm6mwrdi1vbi1n2h4bw961apm7bp6ilamwpbif8"
   }
  },
  {
@@ -69565,8 +71436,8 @@
     20190702,
     253
    ],
-   "commit": "2a99b8e27be1702d94ce077ecd75e1089fa18a32",
-   "sha256": "0cf5rnk96wyl3xkqabnsw5ampcr645y43rlj9rcm0s09pqbpr0z8"
+   "commit": "3d108ff6af00d2fe978787217a13660af057cafc",
+   "sha256": "1ssrm6qafy0a49lpnqfs9va56m0mympavwr8rv5fyzrj97vqiabp"
   },
   "stable": {
    "version": [
@@ -69586,14 +71457,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20190818,
-    1456
+    20191010,
+    616
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "4b71d9a5034953b0beac02b4722f09f43c5e0dbf",
-   "sha256": "1kc20sg0if2g3a2m6pjvwb7ddgcivmqfi104236s04dy4npzkwbm"
+   "commit": "f761c2ffeed0daba9c17ac7571c7b979b6ceed64",
+   "sha256": "05snrl5slkwp8c1vzfndrp132xbjk61a63vbllm77nbm9acibq41"
   },
   "stable": {
    "version": [
@@ -69624,31 +71495,33 @@
  },
  {
   "ename": "package-lint",
-  "commit": "dbfb0250a58b2e31c32ff1496ed66a3c5439bd67",
-  "sha256": "05akg9cgcqbgja966iv2j878y14d5wvky6m9clkfbw5wyg66xpr0",
+  "commit": "e35516a9733d9ba39f7df441346d2624bc6dd5e7",
+  "sha256": "0yy39gywsw48isfgq9k7c5ibgfkaxiig0jbgmmd9s5a0rmrydiwf",
   "fetcher": "github",
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20190908,
-    2158
+    20191220,
+    419
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "let-alist"
    ],
-   "commit": "6bee682fac762fd245f9156718393a4eb05c45ed",
-   "sha256": "0vc0d610q7wpyfvf395958njkwpl33bsfi288pi2qcvl6smr1hlh"
+   "commit": "3b26941686700a7500ca4c68650e9235c823a410",
+   "sha256": "0qscdxa7jy32vdrkp1kmc5p5kgn27rqbpj68igw4q6581pk4mjil"
   },
   "stable": {
    "version": [
     0,
-    7
+    11
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "let-alist"
    ],
-   "commit": "4c90df4919f7b96921a939b3bd88bedfd08d041e",
-   "sha256": "0nhznvsl3l3v7w5x2afw0ay31r6jrdvgr1ys9mhcmd1fsk57bj2r"
+   "commit": "197684c60df4902e632aac1fb0f99e2e967dcf12",
+   "sha256": "1sxl3zf733iyw6k5d6hh4isr6gp1qlvhbp2q8jpzcby8gmvy6l3r"
   }
  },
  {
@@ -69659,25 +71532,25 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20181117,
-    856
+    20191116,
+    45
    ],
    "deps": [
     "package-lint"
    ],
-   "commit": "6bee682fac762fd245f9156718393a4eb05c45ed",
-   "sha256": "0vc0d610q7wpyfvf395958njkwpl33bsfi288pi2qcvl6smr1hlh"
+   "commit": "3b26941686700a7500ca4c68650e9235c823a410",
+   "sha256": "0qscdxa7jy32vdrkp1kmc5p5kgn27rqbpj68igw4q6581pk4mjil"
   },
   "stable": {
    "version": [
     0,
-    7
+    11
    ],
    "deps": [
     "package-lint"
    ],
-   "commit": "4c90df4919f7b96921a939b3bd88bedfd08d041e",
-   "sha256": "0nhznvsl3l3v7w5x2afw0ay31r6jrdvgr1ys9mhcmd1fsk57bj2r"
+   "commit": "197684c60df4902e632aac1fb0f99e2e967dcf12",
+   "sha256": "1sxl3zf733iyw6k5d6hh4isr6gp1qlvhbp2q8jpzcby8gmvy6l3r"
   }
  },
  {
@@ -69751,8 +71624,8 @@
     20180318,
     1729
    ],
-   "commit": "f350cc446c65b85bcc213265cd6dcadee1568762",
-   "sha256": "018vv0riqc571sanmfz82l1n322kfa4p4g9x2wf4m3h1819n53ky"
+   "commit": "c41c3dfda86ae33832ffc146923e2a4675cbacfa",
+   "sha256": "1272xmb3l8ddfijqzci3x0kxwibqb0sbkci4rbcv9ba9hpxp4d1v"
   },
   "stable": {
    "version": [
@@ -69793,11 +71666,11 @@
   "repo": "kadena-io/pact-mode",
   "unstable": {
    "version": [
-    20190903,
-    1542
+    20191117,
+    2337
    ],
-   "commit": "f836c376e142b372a92900b630511fde9937a51a",
-   "sha256": "00xp8j9hgqscz865pp4s5khngpsidad6arwybcxh1cfsncc6w8f2"
+   "commit": "220bf985cb31d60f47042d5f424de8b9a589e544",
+   "sha256": "0cz87z2y54lqvsl2xhpjmndccj7051f2v9qpqrjr3qdwmfr6azsw"
   },
   "stable": {
    "version": [
@@ -69947,8 +71820,8 @@
     "lispy",
     "worf"
    ],
-   "commit": "6fc4759d5431430ef9b3a182883d7e49ff7369fa",
-   "sha256": "0fmjii2j773alxj6nzg38qhyp3vsxh5x5mkbcazbchq1idfbhzlc"
+   "commit": "3690a3691da7792ed2f2270d1006632640182ae0",
+   "sha256": "1kn0ckfpr3s5yfkll7rn9mqg35jmplai2vafhrvnifhilf94dp7f"
   }
  },
  {
@@ -70021,15 +71894,15 @@
   "repo": "joostkremers/pandoc-mode",
   "unstable": {
    "version": [
-    20190916,
-    1104
+    20191003,
+    1221
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "554a942654f850077364d2358177f232cfa0f06d",
-   "sha256": "1va4yykj8sfvgx7f6v4vyxl316y58xgc6naglpjvq51jml1x1sss"
+   "commit": "f4f10a329acd354aa7dda52e7f7bc23ca28366d3",
+   "sha256": "1j4bawr7a4lfhy76nxsivxngs4w7l1xlifzx69hjn157qdhbqawn"
   },
   "stable": {
    "version": [
@@ -70079,8 +71952,8 @@
     20190124,
     1828
    ],
-   "commit": "ebb2778052aeaf737adebc003957cb48cb01135e",
-   "sha256": "0qlvdpa88ic9gnb0qhijfsc9i6l3ba2zrvk4r4li3qrx0i9rpz5c"
+   "commit": "eab07dae119129066624e692c1c75a53b2ab10a5",
+   "sha256": "1q9g8kza6hv6pv1sjzkl6b4gxcx6fsvv8lk5w7kk9gpws5vjz5bz"
   }
  },
  {
@@ -70111,8 +71984,8 @@
   "repo": "Malabarba/paradox",
   "unstable": {
    "version": [
-    20190624,
-    41
+    20191011,
+    1111
    ],
    "deps": [
     "hydra",
@@ -70120,8 +71993,8 @@
     "seq",
     "spinner"
    ],
-   "commit": "1b9e4b198e0a02773b52f6fe4fd03a82340c6cbc",
-   "sha256": "0ja7sxnpm71fvmly53hnb08bgdb9c69yfzzsmdh2h9na82qdjvk5"
+   "commit": "339fe3518d1d102b2295670340e75caf4f01a29a",
+   "sha256": "05hwwdhx980jm1y495r8qng029wm02m45mm7w4wxyjhh6385rbzf"
   },
   "stable": {
    "version": [
@@ -70171,11 +72044,11 @@
   "url": "https://mumble.net/~campbell/git/paredit.git",
   "unstable": {
    "version": [
-    20171127,
-    205
+    20191121,
+    2328
    ],
-   "commit": "acbe10fdd85d2e91831adf70b6a828bc7e900da0",
-   "sha256": "1c7ag0cvd6rl5fsj3dpfcjpyb8xjd26d864z98a74cirn8pc8f7l"
+   "commit": "814999bb320e6d5aaa9c8ff663b1933157129571",
+   "sha256": "0jb3qwx8bxr7x17cgqbd6v53634i9lmrcnqn847bnnlsvy0j094x"
   },
   "stable": {
    "version": [
@@ -70255,20 +72128,20 @@
   "repo": "tarsius/paren-face",
   "unstable": {
    "version": [
-    20180318,
-    2025
+    20200103,
+    1238
    ],
-   "commit": "6d9358295911f1b44efe81054c535eb2c2bb5a2e",
-   "sha256": "0lr6z90kbgi85bchk247cr91q5ryk73sqp5cvsiph4ryxpy9isyl"
+   "commit": "eb4a51b8ef455e0914108105e7c0008d675457cc",
+   "sha256": "17bdcxah216z928387yx6z9lmp4jsi461n8fwiqaibn2qy5fagas"
   },
   "stable": {
    "version": [
     1,
     0,
-    4
+    6
    ],
-   "commit": "a45d111153a76c481fa0b36d6172ac90e073dfc4",
-   "sha256": "1cr0vnm57lxs48z17ddcv7qlfvks7wdsp01zsw0c7i3h5ajl8myp"
+   "commit": "eb4a51b8ef455e0914108105e7c0008d675457cc",
+   "sha256": "17bdcxah216z928387yx6z9lmp4jsi461n8fwiqaibn2qy5fagas"
   }
  },
  {
@@ -70334,20 +72207,20 @@
   "repo": "dp12/parrot",
   "unstable": {
    "version": [
-    20190311,
-    2325
+    20191015,
+    2127
    ],
-   "commit": "4d77eafc6bfacfe45dae805ceca101331d3d08d0",
-   "sha256": "0lqcw0scn2jcs15vybd1x7k7hiykrcsvimqj58s45m2pnaia57ql"
+   "commit": "13757524f1c708b866f4aaab5a9fb3599a1c4f56",
+   "sha256": "02anyi6mhw457pwsna3ycn1yxsavsmp6p96ffpwg1s7qidc44a4s"
   },
   "stable": {
    "version": [
     1,
-    0,
+    1,
     1
    ],
-   "commit": "e9fe686408214884b20c65284a6a595e1c755794",
-   "sha256": "079k4j0lcaj0lff1llp29bj5ah2b59byw9lw3jjw9wkl9px87r0m"
+   "commit": "13757524f1c708b866f4aaab5a9fb3599a1c4f56",
+   "sha256": "02anyi6mhw457pwsna3ycn1yxsavsmp6p96ffpwg1s7qidc44a4s"
   }
  },
  {
@@ -70366,6 +72239,38 @@
   }
  },
  {
+  "ename": "parse-it",
+  "commit": "3f163ca64c2533603410f320c7e9b9b1c2635458",
+  "sha256": "076b981jdhgv7kqdj6xnckp3x25wfymy0il9fffrpyfs7hrcdzgf",
+  "fetcher": "github",
+  "repo": "jcs-elpa/parse-it",
+  "unstable": {
+   "version": [
+    20191209,
+    549
+   ],
+   "deps": [
+    "cl-lib",
+    "s"
+   ],
+   "commit": "ff9f9049ac039473f0ba5d070ac0e6d89cfbf851",
+   "sha256": "05ckrhkxffzcz1igqwznbkxc1hpidvsnwv6cxp8n4q6kmniagx4i"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    7
+   ],
+   "deps": [
+    "cl-lib",
+    "s"
+   ],
+   "commit": "318cb29153c6ae0032ddceb69bb8c1f2a7df5ef6",
+   "sha256": "0f2fjb0a0yj62dy3j820fgxlpg2gsv1awaswwrb2rv7mp44drr4f"
+  }
+ },
+ {
   "ename": "parsebib",
   "commit": "c39633957475dcd6a033760ba20a957716cce59c",
   "sha256": "07br2x68scsxykdk2ajc4mfqhdb7vjkcfgz3vnpy91sirxzgfjdd",
@@ -70457,15 +72362,15 @@
   "repo": "clojure-emacs/parseedn",
   "unstable": {
    "version": [
-    20190331,
-    1058
+    20191113,
+    831
    ],
    "deps": [
     "a",
     "parseclj"
    ],
-   "commit": "ddf824bc1df1585867cb7f27f2dd8ca8df760569",
-   "sha256": "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"
+   "commit": "f42ff988338484815ccd925c8f83a32c5d52319b",
+   "sha256": "0cx1zf82mjwlnj6znas8b94ws1f3n2h0imyybi9qirvsp90qd4sl"
   },
   "stable": {
    "version": [
@@ -70512,8 +72417,8 @@
     "password-store",
     "password-store-otp"
    ],
-   "commit": "35e3f86e96878520e690513cdbc1b2753b173e72",
-   "sha256": "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"
+   "commit": "919d8e3826d556433ab67d4ee21a509d209d1baa",
+   "sha256": "03cf7d51p7d5a9nmlzp1k0n68j4n0di0nmpmcx3vlfd62lk3rs2p"
   },
   "stable": {
    "version": [
@@ -70626,8 +72531,8 @@
   "repo": "zx2c4/password-store",
   "unstable": {
    "version": [
-    20190916,
-    2027
+    20190929,
+    1627
    ],
    "deps": [
     "auth-source-pass",
@@ -70635,8 +72540,8 @@
     "s",
     "with-editor"
    ],
-   "commit": "e74a1c738f7cda65c7a308e30e8d122f853d6f70",
-   "sha256": "07g2w57q9lvgf5wznyg2ybkrw6w1f5w4jqi8zbw9lzkvj4iz3rg7"
+   "commit": "88936b11aff49e48f79842e4628c55620e0ad736",
+   "sha256": "0hjb0zh94mda4xq20srba40mh3iww3gg45w3vaqyvplxiw08hqrq"
   },
   "stable": {
    "version": [
@@ -70929,11 +72834,11 @@
   "repo": "ibukanov/pc-bufsw",
   "unstable": {
    "version": [
-    20181221,
-    856
+    20191014,
+    848
    ],
-   "commit": "762d47b2f278c072643cf2a1ddc785516483d74a",
-   "sha256": "1by9p0j6c21y04cc4ls7f87gks631lv1mxk0aqhh41rml5kj4l22"
+   "commit": "a7c7bba4b7d511eceaaa8fee34d598296402555b",
+   "sha256": "0n6ijz86j88jq7w38yfamrqkjx8s1zbw1c0sa3dhpkv1jg87avb1"
   }
  },
  {
@@ -71013,10 +72918,10 @@
  },
  {
   "ename": "pcmpl-homebrew",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "1mfkg9i2hqq8mkhnc8yzc9br9wlhjv17vdvjzwhkybcbmhqf2qkm",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "100a64d8qvxdz1lk42pidj48iqsycyyw92jjqcrn8rnqw1rnb3s7",
   "fetcher": "github",
-  "repo": "kaihaosw/pcmpl-homebrew",
+  "repo": "zwild/pcmpl-homebrew",
   "unstable": {
    "version": [
     20190213,
@@ -71028,10 +72933,10 @@
  },
  {
   "ename": "pcmpl-pip",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "17nmgq4wgv4yl2rsdf32585hfa58j0825mzzajrlwgmjiqx9i778",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "1vl21i3aqdk2qr2r64sqg8jbslj3vxblwmbpzv732sl9gafsl990",
   "fetcher": "github",
-  "repo": "kaihaosw/pcmpl-pip",
+  "repo": "zwild/pcmpl-pip",
   "unstable": {
    "version": [
     20181229,
@@ -71054,14 +72959,14 @@
   "repo": "thierryvolpiatto/pcomplete-extension",
   "unstable": {
    "version": [
-    20180707,
-    455
+    20190928,
+    519
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "bb941272b54f49f780819f7ce4fd2c802de9a0da",
-   "sha256": "0bwbxnnw760i6mi7h9pyx3gaasrcja7dj3bfrlia07gw8jgl81ad"
+   "commit": "bc5eb204fee659e0980056009409b44bc7655716",
+   "sha256": "06dsfjbwx1iq0f2xism288vh4cgn804hbvi3gv3zknnzcmh6nlxi"
   },
   "stable": {
    "version": [
@@ -71151,15 +73056,15 @@
   "repo": "politza/pdf-tools",
   "unstable": {
    "version": [
-    20190918,
-    1715
+    20191228,
+    1005
    ],
    "deps": [
     "let-alist",
     "tablist"
    ],
-   "commit": "c851df842e05f353e4d249f2653f98418b3345d6",
-   "sha256": "1ij2w7lhwx2f88m35xp56risa29qrhh2p6xnvc3rnbb9iszajs3i"
+   "commit": "cc29d4c9c2d81fcb1255f7172fd5b9b7851d656c",
+   "sha256": "0833x6q048sym8jlc7fhi2ypsdc1vgiy5b6ijg4wgsnskg91nyva"
   },
   "stable": {
    "version": [
@@ -71251,8 +73156,8 @@
     20160321,
     2237
    ],
-   "commit": "c88a9a3050197840edfe145f11e0bb9488de32f4",
-   "sha256": "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"
+   "commit": "1d410a4e48db07a942e54d3b83a85c7a7ec0aab3",
+   "sha256": "1b7csqypqkalkzq6vrbq5ry1gdk0qnhnk43rlj514mph0s1nywdd"
   }
  },
  {
@@ -71320,20 +73225,20 @@
  },
  {
   "ename": "per-buffer-theme",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1czcaybpfmx4mwff7hs07iayyvgvlhifkickccap6kpd0cp4n6hn",
-  "fetcher": "bitbucket",
-  "repo": "inigoserna/per-buffer-theme.el",
+  "commit": "2a2a6c0bf1cad99ed82db7b90b8b7ab79827ac17",
+  "sha256": "06vykjgf4rxh832z74jxkhi4jxlh60hnh8zjvdyr9nbh1dy35bjn",
+  "fetcher": "hg",
+  "url": "https://hg.serna.eu/emacs/per-buffer-theme",
   "unstable": {
    "version": [
-    20190703,
-    2014
+    20191101,
+    2333
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b4133c09b6ea8bd97ac513442448ea1ec5254587",
-   "sha256": "0qwdsiflsg8xjlypcna0rv7sjcjjlyp39f4qlqbjyk52kw01qxiv"
+   "commit": "7df4d2f4be64dbcf0bf10a2b9ac3db858fbcd9c8",
+   "sha256": "04s14x3qi5aa18bfcr3zjbb109nm2pgwgnl36g7fw2crj8mz03v4"
   }
  },
  {
@@ -71410,20 +73315,20 @@
   "repo": "Fanael/persistent-scratch",
   "unstable": {
    "version": [
-    20190128,
-    1843
+    20190922,
+    1046
    ],
-   "commit": "71371a7ce9846754276350fd577dc7543eb52878",
-   "sha256": "0n638krbrs2hx97cgkb5nc0fbrd8wsbmb7mz3ym5mx5pvdyxnlgv"
+   "commit": "fd690e138459e0b490f1fda469811a9cbcb34df7",
+   "sha256": "1nig9ja42sm3nkbi9wrsm86akrq0m85jfc65k9rmym13vrdpflvq"
   },
   "stable": {
    "version": [
     0,
     3,
-    3
+    4
    ],
-   "commit": "71371a7ce9846754276350fd577dc7543eb52878",
-   "sha256": "0n638krbrs2hx97cgkb5nc0fbrd8wsbmb7mz3ym5mx5pvdyxnlgv"
+   "commit": "fd690e138459e0b490f1fda469811a9cbcb34df7",
+   "sha256": "1nig9ja42sm3nkbi9wrsm86akrq0m85jfc65k9rmym13vrdpflvq"
   }
  },
  {
@@ -71466,28 +73371,28 @@
   "repo": "rocher/persp-fr",
   "unstable": {
    "version": [
-    20180801,
-    727
+    20191108,
+    754
    ],
    "deps": [
     "dash",
     "persp-mode"
    ],
-   "commit": "3f536440b120499464106fd25f182d7580192870",
-   "sha256": "0bnplxv6igry7ak3wvn2b88zm4aarv35z4z5q38x52k4zac94rl8"
+   "commit": "1adbb6a9f9a4db580a9b7ed8b4091738e01345e6",
+   "sha256": "0f9ljpmq8b97n6wa8bwn4f2v7imvfxc2pjqk6xjkmwbfpihrns10"
   },
   "stable": {
    "version": [
     0,
     0,
-    4
+    5
    ],
    "deps": [
     "dash",
     "persp-mode"
    ],
-   "commit": "3f536440b120499464106fd25f182d7580192870",
-   "sha256": "0bnplxv6igry7ak3wvn2b88zm4aarv35z4z5q38x52k4zac94rl8"
+   "commit": "1adbb6a9f9a4db580a9b7ed8b4091738e01345e6",
+   "sha256": "0f9ljpmq8b97n6wa8bwn4f2v7imvfxc2pjqk6xjkmwbfpihrns10"
   }
  },
  {
@@ -71576,25 +73481,25 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20190915,
-    2104
+    20191211,
+    401
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "519838e2647268567c086b77158a55b01feb7f6c",
-   "sha256": "07bak10gy0ziy7zm9ha8sqfl564nxqhcaaicc35l8zk7qk11gj65"
+   "commit": "f5d0424440656834540534d4074cca2f607bc8ae",
+   "sha256": "10bhq654ripqhnankxscgjrc0ihrw6xfifxv5yqrxb1wdjyzjb4k"
   },
   "stable": {
    "version": [
     2,
-    2
+    3
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8e2f122de408d7866136dd861d513a9575cf32e6",
-   "sha256": "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"
+   "commit": "1ba7e2ddc37df4f453e7d8cffccc13981af658b1",
+   "sha256": "0v13dljkspx01w88q7nb7dcjni1blp5682wpvlvpx3phnfyjqs5g"
   }
  },
  {
@@ -71729,15 +73634,15 @@
   "repo": "emacs-php/phan.el",
   "unstable": {
    "version": [
-    20190521,
-    203
+    20191125,
+    1408
    ],
    "deps": [
     "composer",
     "f"
    ],
-   "commit": "82c2d962cd5cab647e8f2f5636bc83511ea40cb4",
-   "sha256": "1bypr6d85xr623bqq9j4hl2q4jiw8hyjhx1mp7q4jcm7pibkbjci"
+   "commit": "2a6e1b66c2aad25fddb8b4f706a28a1aafaaa4c7",
+   "sha256": "1ivkkmjg9drp22l5hvira5m0ialca8kzw6pzj01wm4ykqsaajnlf"
   },
   "stable": {
    "version": [
@@ -71761,14 +73666,14 @@
   "repo": "zk-phi/phi-autopair",
   "unstable": {
    "version": [
-    20170217,
-    353
+    20191220,
+    311
    ],
    "deps": [
     "paredit"
    ],
-   "commit": "3c7556779c3a53b045f5df33ae2a0c67469cbf60",
-   "sha256": "16gh2r1mhmirbq20kklym4l60rfcfn8dsj0vv3hx3fj8q81h8qc9"
+   "commit": "5685b9541c4c9d4cc8a892743fdf245aceea1682",
+   "sha256": "16kib35s7pffcs8kiljydbf5z1qq5l2d04dqqcnbbi0539y979n5"
   }
  },
  {
@@ -71812,11 +73717,11 @@
   "repo": "zk-phi/phi-search",
   "unstable": {
    "version": [
-    20180322,
-    129
+    20191106,
+    233
    ],
-   "commit": "9a089b8271cb1cff9640848850298c9ec855286c",
-   "sha256": "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"
+   "commit": "2a8fe73aa9ef014e27e202964c5a4f4e94ef24b2",
+   "sha256": "15yc5nlfx2z48n8p7pb6qzgbzfpnapb83w5xx6z8lq0mywf3k5jj"
   },
   "stable": {
    "version": [
@@ -72045,23 +73950,20 @@
   "repo": "emacs-php/php-mode",
   "unstable": {
    "version": [
-    20190919,
-    1405
+    20200104,
+    21
    ],
-   "commit": "d144da948fed71c4fad3494de9e78e1a6fc96c6f",
-   "sha256": "0m1amqbwz63j6kimk2kj6p8ba30qnvby13dc6iszxf0p78hzdhrx"
+   "commit": "167b35749dbf700543d4a540d098c015af58df2b",
+   "sha256": "1zmk5qrw5af6bv19914xifcbkiqd3vdifzimhmy84rgl9gw78fi2"
   },
   "stable": {
    "version": [
     1,
-    21,
-    4
-   ],
-   "deps": [
-    "cl-lib"
+    22,
+    2
    ],
-   "commit": "a8ee6ce7c1c319b2b641865ebd599cc36d2dc10e",
-   "sha256": "1gqawn8bg9374swxb4bd2z015v16yjr96am1vwsbmgks3lhiw8ja"
+   "commit": "433864b0755d99ec6b496ed45476c1e2eca0228c",
+   "sha256": "1r4bpyavlndd4c78cv5cc97bc0gkd4cggiyz4kd2vg6zlyc1nld3"
   }
  },
  {
@@ -72140,8 +74042,8 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20190913,
-    1340
+    20191207,
+    2030
    ],
    "deps": [
     "async",
@@ -72150,8 +74052,8 @@
     "f",
     "php-runtime"
    ],
-   "commit": "a12ec67ce9de9e96c89548052ae323a277cba846",
-   "sha256": "031i5s3cv9z2d6vnwbf91291fgafcqg61km9b3z7p9bk91vbkxsy"
+   "commit": "b69f2d9b2490c26c782d327344a54c19b5142cb3",
+   "sha256": "0pkby33g4ih6mssndcv2d59b1xkisw64p14fn131d6cqfwqvcwjn"
   },
   "stable": {
    "version": [
@@ -72205,11 +74107,11 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20190618,
-    724
+    20190929,
+    612
    ],
-   "commit": "e8d33c75f6ab466ac15406fac5f2db6666d79deb",
-   "sha256": "1n6f4ibjdzrgll5zvikxc5gcfbpypq9nc2dhfxv011kllj22hpyc"
+   "commit": "81bcfa59d1e5708239d8c32d99cd84405449fb64",
+   "sha256": "1m4vk7v3aafj64qqs0aa9m1w8fbjziq0l6c9k4n10yr8dnm5j9aw"
   },
   "stable": {
    "version": [
@@ -72312,29 +74214,26 @@
   "repo": "ahungry/pickle-mode",
   "unstable": {
    "version": [
-    20190816,
-    341
+    20190923,
+    354
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "0dab75b9f75dc2d0cf28f876cc9e2d127e6dca15",
-   "sha256": "03jp4nhca78k8kl6r5g8c2spjxsamhmqq5p3fqhiniqm3sz5v6cf"
-  }
- },
- {
-  "ename": "picolisp-mode",
-  "commit": "33b151c3aba268977b105965c816716d8b35ad6d",
-  "sha256": "1g45gmg3wd52yi3838bjlz3ccf71fznm6l3nkp7a7929q3rj9d90",
-  "fetcher": "github",
-  "repo": "flexibeast/plisp-mode",
-  "unstable": {
+   "commit": "3a0a717f2a24827667f34bc53830a3b81cd57460",
+   "sha256": "1r12r21882bq22w6cawf28ndf70nz2nd0f2wagdfr5a9ir9wchfy"
+  },
+  "stable": {
    "version": [
-    20190824,
-    806
+    0,
+    0,
+    3
    ],
-   "commit": "1ae7af6c310d20b31b8229dc8c1eedeb47aa3311",
-   "sha256": "0ziil73lfcvr3sih00n19jnmciddirwsjqci1im80qg7z268l6s3"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "3a0a717f2a24827667f34bc53830a3b81cd57460",
+   "sha256": "1r12r21882bq22w6cawf28ndf70nz2nd0f2wagdfr5a9ir9wchfy"
   }
  },
  {
@@ -72423,25 +74322,25 @@
   "repo": "davep/pinboard.el",
   "unstable": {
    "version": [
-    20190623,
-    1421
+    20191203,
+    1015
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "910d0fae61badd7e25e148d2ea84f0188b802fb1",
-   "sha256": "0v6gg472b6srsvn1p26dam7iqkjsqdnd7idl68fck1mchy3k39iw"
+   "commit": "e14dd43cf74f254a898ae1c698a97d58734fc1a8",
+   "sha256": "0ljxvp9yppnmy1lnnipqqbk09bmay523haa8h0gnfnrl02jwgs91"
   },
   "stable": {
    "version": [
     1,
-    1
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "910d0fae61badd7e25e148d2ea84f0188b802fb1",
-   "sha256": "0v6gg472b6srsvn1p26dam7iqkjsqdnd7idl68fck1mchy3k39iw"
+   "commit": "e14dd43cf74f254a898ae1c698a97d58734fc1a8",
+   "sha256": "0ljxvp9yppnmy1lnnipqqbk09bmay523haa8h0gnfnrl02jwgs91"
   }
  },
  {
@@ -72776,6 +74675,24 @@
   }
  },
  {
+  "ename": "plain-org-wiki",
+  "commit": "6b515386c3969b8d79e14b506bc0d9e1ec3097c4",
+  "sha256": "0m0mm0ki92561axm89mwc6vcx9rwdb7ai9hlvgnhf40k94s97lz6",
+  "fetcher": "github",
+  "repo": "abo-abo/plain-org-wiki",
+  "unstable": {
+   "version": [
+    20191013,
+    1833
+   ],
+   "deps": [
+    "ivy"
+   ],
+   "commit": "887717c184fb22dd219c78851303a8e5b917f877",
+   "sha256": "0wqxp46zvwswda644mnr92qxyyvakvl2l8w61sg6hy37pwfznx73"
+  }
+ },
+ {
   "ename": "plain-theme",
   "commit": "d4bd77883375b229e344384e42c3603ca096891c",
   "sha256": "0igncivhnzzirglmz451czx69cwshjkigqvqddj0a77b1cwszfw8",
@@ -72835,14 +74752,14 @@
   "repo": "skuro/plantuml-mode",
   "unstable": {
    "version": [
-    20190905,
-    838
+    20191102,
+    2056
    ],
    "deps": [
     "dash"
    ],
-   "commit": "1590a75da6c3e25b726bc5e3e12656faab968917",
-   "sha256": "0l20vkq4d673a12lf15m7zn2yzkzf0qkqmq35hi6kpy4bd3zar2v"
+   "commit": "ea45a13707abd2a70df183f1aec6447197fc9ccc",
+   "sha256": "0rbmn2964w9kms6ql25dzpnyygj693123xs7gxasylgw5jall9wx"
   },
   "stable": {
    "version": [
@@ -73036,8 +74953,8 @@
     20190914,
     513
    ],
-   "commit": "1ae7af6c310d20b31b8229dc8c1eedeb47aa3311",
-   "sha256": "0ziil73lfcvr3sih00n19jnmciddirwsjqci1im80qg7z268l6s3"
+   "commit": "02738af25707e39d8a608b09a24173bb05f5be9f",
+   "sha256": "133wm5fd91z9k3zpflb455nglpgy1dqyz3mz2s694xyppw4rvkia"
   }
  },
  {
@@ -73135,17 +75052,17 @@
  },
  {
   "ename": "pmdm",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "1zmy6cbnqhsbwc5vx30mx45xn88d2186hgrl75ws7vvbl197j03b",
-  "fetcher": "bitbucket",
-  "repo": "inigoserna/pmdm.el",
+  "commit": "279923aac9f668cd295709d5060e7a984be0c5a8",
+  "sha256": "1a6mvb3dcxkzk9acchi0xbgd3ki092l4c18qls6pgahwsj7wsk9v",
+  "fetcher": "hg",
+  "url": "https://hg.serna.eu/emacs/pmdm",
   "unstable": {
    "version": [
-    20151109,
-    1836
+    20191101,
+    2346
    ],
-   "commit": "f50a547741568cee40bdc80fa3223157a49896e4",
-   "sha256": "0x3s9fj41n6a21la762qm1si9ysv3zj5bbp6ykfskr73sxq6s9ff"
+   "commit": "1f30adce8a23da94b3c2460b7248d5910592d8af",
+   "sha256": "0nwrzf7lvimay83k1s4nxz86d1a82v55j23vp2915c307gkwrl8z"
   }
  },
  {
@@ -73345,11 +75262,11 @@
   "repo": "kunalb/poet",
   "unstable": {
    "version": [
-    20190127,
-    2220
+    20191215,
+    201
    ],
-   "commit": "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4",
-   "sha256": "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"
+   "commit": "ad998dce8a953eb6101e61bd6bb5ff871535d383",
+   "sha256": "030qm41sf4z29f0gghrk6a4lpf775lgg9vvlmcnl678vgy7p9fa5"
   }
  },
  {
@@ -73360,15 +75277,15 @@
   "repo": "galaunay/poetry.el",
   "unstable": {
    "version": [
-    20190905,
-    959
+    20191022,
+    938
    ],
    "deps": [
     "pyvenv",
     "transient"
    ],
-   "commit": "9fcefd042355a0280b11ac61e45b52b9819e9c2a",
-   "sha256": "07vhgvpz35infidsw6bh0rxmfhyvmqn93vl9456lfhwyhwka366p"
+   "commit": "3f9ac720b423f087797b9e345b575275f2dcd740",
+   "sha256": "0gs8jpihqckijbm5w300mdm5jl4f9j754fkv5mj1ghj78q6bjmmp"
   },
   "stable": {
    "version": [
@@ -73446,14 +75363,14 @@
   "repo": "lijunsong/pollen-mode",
   "unstable": {
    "version": [
-    20190310,
-    538
+    20191223,
+    1920
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "819edf830e9519f8ca57e9cef31211e3f444d11a",
-   "sha256": "0c06kfbyk2g0kxwlh6g3r7ij06ip6x9ni0bin24drwr0qj2vis2d"
+   "commit": "9673c72c5f38ab1196f17e694ed48b4ceb1b13be",
+   "sha256": "0mfz1x80zsjhq1870h7q4s2cncvh6jllci022fb9bllw4mrzh9a5"
   }
  },
  {
@@ -73761,11 +75678,11 @@
   "repo": "polymode/polymode",
   "unstable": {
    "version": [
-    20190714,
-    2017
+    20191208,
+    1239
    ],
-   "commit": "01232ad3800e974938199c9ac07fad57fcec540c",
-   "sha256": "136d1mbk00c0pz10nvklh934yzs6q1i6brvp9xnv947aazsgwj4m"
+   "commit": "9eb9dce9c9a1d8c92e837818f576463c5bcf8952",
+   "sha256": "1ygwcq435nb8ndw4flf220psgvz93gxypdqgvgbfd4s2ad9yx1vw"
   },
   "stable": {
    "version": [
@@ -74077,15 +75994,15 @@
   "repo": "kostafey/popup-switcher",
   "unstable": {
    "version": [
-    20190917,
-    1634
+    20191231,
+    1631
    ],
    "deps": [
     "cl-lib",
     "popup"
    ],
-   "commit": "953f599c1fd9d6843ec9380cc0fc3f8248390d24",
-   "sha256": "1h0mxx1304fp4ilv4cz5mb65a7df1b3hi6n4dz6k9kkzbvihsacc"
+   "commit": "e66769ea72f1fd38c2ba3cff505da334e2b26b45",
+   "sha256": "0b2w12cqpd7ms47x788x8qd1h5mkp73v62dxiz4kyzz70pk65szb"
   }
  },
  {
@@ -74173,11 +76090,11 @@
   "repo": "pitkali/pos-tip",
   "unstable": {
    "version": [
-    20150318,
-    1513
+    20191227,
+    1356
    ],
-   "commit": "051e08fec5cf30b7574bdf439f79fef7d42d689d",
-   "sha256": "168hl76rhj6f5ncmrij4rd3z55228h6kb23384h2phsjw0avgf23"
+   "commit": "179cc126b363f72ca12fab1e0dc462ce0ee79742",
+   "sha256": "1rz6lqmhs7l49cwwqs7gl2i49l3gvziz1gs556jzsic7jzf9xk1j"
   },
   "stable": {
    "version": [
@@ -74197,11 +76114,11 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20190805,
-    956
+    20191219,
+    57
    ],
-   "commit": "bfd2e55219e0911980f4ea97b5995ce8553dce60",
-   "sha256": "19vvhx9x6646va4s4yy77inll9d2mhipakvz4pyz4pjw8pjcd94x"
+   "commit": "913b90dee7de5b6cb7e0791ca2b1dddeec5da38d",
+   "sha256": "1mbpwih6l2ixllv82i5gwzihc7lllqwlfiii4cwvr72ryyvy01ld"
   },
   "stable": {
    "version": [
@@ -74269,14 +76186,14 @@
   "repo": "milkypostman/powerline",
   "unstable": {
    "version": [
-    20190323,
-    213
+    20200105,
+    2053
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6ef4a06c3c583045accbc957b6f449b7c0c57cd8",
-   "sha256": "1ybm5y03if4wbzhx5p05wwgf2d8l2c4vwi22d0ygvlwrzfk8n5dl"
+   "commit": "edbb464eef680efc9d408730288c716cd4cac404",
+   "sha256": "0j1bb9dyr76m68gn94qk6k6bxhdqbiq59fzi4mnx3ivnnkbfz6n7"
   },
   "stable": {
    "version": [
@@ -74385,6 +76302,30 @@
   }
  },
  {
+  "ename": "ppp",
+  "commit": "1442ec5baf60f85e9603cb2a70745914174d5c9a",
+  "sha256": "0x71y998a81w79bambwds58wgzywa3qjvm4brkfjqfd1n7cfzsz4",
+  "fetcher": "github",
+  "repo": "conao3/ppp.el",
+  "unstable": {
+   "version": [
+    20200102,
+    929
+   ],
+   "commit": "345cc3c2b4e6166cc67231aee0962bca89e227d7",
+   "sha256": "0g6c5s82babc2khsvf2p5ljp4spx0zifnnyj4b8f3mqr1mahzqj2"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "6aabd694bcc66775c6a4328fa653a83e39791252",
+   "sha256": "043wsaibkz82ckxdw4r25nfb8pql3ba9jcyd3vg92lvjdzblm05l"
+  }
+ },
+ {
   "ename": "prassee-theme",
   "commit": "15425b576045af1c508912e2091daf475b80b429",
   "sha256": "1j0817hxxri6mq9pplgwf5jp2dagk6hay7g1a1lgz4qgkf5jnshs",
@@ -74430,19 +76371,19 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20190921,
-    3
+    20191224,
+    220
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "7fd8c3b8028da4733434940c4aac1209281bef58",
+   "sha256": "1igsjdkxax2lavglc03h0dk3d7fpgqvlymnhyxx738sjyfzl09cr"
   },
   "stable": {
    "version": [
-    3,
-    3
+    4,
+    0
    ],
-   "commit": "2f01b640e3a487718dbc481d14406005c0212ed9",
-   "sha256": "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"
+   "commit": "ad9fbe8a17fe74b27a39bcc034f3da1865663387",
+   "sha256": "008hxy1vasnyz36wwg44gikpi80ng75hj85nrswk60b7z7cznbmr"
   }
  },
  {
@@ -74528,8 +76469,8 @@
   "repo": "jerrypnz/major-mode-hydra.el",
   "unstable": {
    "version": [
-    20190715,
-    937
+    20190930,
+    2105
    ],
    "deps": [
     "dash",
@@ -74537,14 +76478,14 @@
     "hydra",
     "s"
    ],
-   "commit": "d9fb688dae3e134bb1ff7f35474c58f33a5bb992",
-   "sha256": "0aq2dk7c9jqq13p3bv0cq1aym00chcr5f9p3v93wl9h6pc3spbnc"
+   "commit": "fd362d2be7ed80889715ed8a30a61780a18ce6ea",
+   "sha256": "0vnmvpsm46izxlh0l0p89rhy6ifzzfpzk7j3kkf2608s6dy8hgcy"
   },
   "stable": {
    "version": [
     0,
     2,
-    1
+    2
    ],
    "deps": [
     "dash",
@@ -74552,8 +76493,8 @@
     "hydra",
     "s"
    ],
-   "commit": "d9fb688dae3e134bb1ff7f35474c58f33a5bb992",
-   "sha256": "0aq2dk7c9jqq13p3bv0cq1aym00chcr5f9p3v93wl9h6pc3spbnc"
+   "commit": "bba876b86f0b80495004bf185b2b1f6083a1ff3a",
+   "sha256": "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"
   }
  },
  {
@@ -74758,16 +76699,16 @@
   "repo": "rejeep/prodigy.el",
   "unstable": {
    "version": [
-    20190714,
-    1102
+    20191212,
+    1242
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1",
-   "sha256": "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"
+   "commit": "6ae71f27b09b172f03fb55b9eeef001206baacd3",
+   "sha256": "16w1xidfbqlbdxq45ff6am9j1hzlxz3pwqvimwk4432prrvnf8zg"
   },
   "stable": {
    "version": [
@@ -74861,17 +76802,26 @@
  },
  {
   "ename": "project-abbrev",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "12d0w3b9fh7hdi1qwm13s535k574xfh3ck48zpsv3jlxr59q5bqw",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "18nrcds02swr0s15gvvpc2fbjj9rq6ky3dz8qp51g7nfaprk2279",
   "fetcher": "github",
-  "repo": "elpa-host/project-abbrev",
+  "repo": "jcs-elpa/project-abbrev",
   "unstable": {
    "version": [
     20190517,
     521
    ],
-   "commit": "b94f829bb24570782b9f6bbcfdec4b391091b778",
-   "sha256": "0lkliz9hycag1gf5hxvh7mrgl5my2vbkn52g4pkh2x7hsdkxhxjy"
+   "commit": "22830177a0cea19acf29fb9910b784ea5f66f551",
+   "sha256": "05ks95j6706rabfh1487nix2cjbxa6pjjr0xm01nhd3vcfr1m2b0"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    2
+   ],
+   "commit": "fc4e9f774cae42a6fe135833774daaecf2b3dac0",
+   "sha256": "07056jd1z9i65db4pcshhdfrk5yb6xc28k3ihq7pixmya71l15pk"
   }
  },
  {
@@ -74964,17 +76914,25 @@
  },
  {
   "ename": "project-root",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "0xjir204zk254y2x70k9vqwirx2ljmrikpsgn5kn170d1bxvhwmb",
-  "fetcher": "bitbucket",
+  "commit": "bcf69e7e859145cb908e79abf4a2f51050e52ace",
+  "sha256": "0mhc7l6px5q2x13h6nmf4ixsghjlzbxjm2liscwn6485yg4bsmja",
+  "fetcher": "github",
   "repo": "piranha/project-root",
   "unstable": {
    "version": [
     20110206,
     2030
    ],
-   "commit": "843ca1f4ab2bc9c25e0f7cd585ceb1f2693b23f2",
+   "commit": "a49b1be864357683d9489074148b6d667f4ed23b",
    "sha256": "0nw02f5lmbqdfnw93d3383sdxx1d31szk23zvjlrmmdwv2124281"
+  },
+  "stable": {
+   "version": [
+    0,
+    7
+   ],
+   "commit": "fc1d024a497755c1abfa3eaffde1b18bd3c54865",
+   "sha256": "1z0sqdwa8caick2179bj03qbhjmvh2l5gv1ny6aya979vjgsk0g8"
   }
  },
  {
@@ -74985,14 +76943,14 @@
   "repo": "hying-caritas/project-shells",
   "unstable": {
    "version": [
-    20171107,
-    851
+    20191123,
+    914
    ],
    "deps": [
     "seq"
    ],
-   "commit": "d9401de750e444697c2eb9de1ff79f2a2eba4af8",
-   "sha256": "1x16l0gijirmj667s8l87nizsiww2wzjka9ydl4yxzchl7a486cp"
+   "commit": "5aea9ee0de93f2568afb3f18bb7b43a9715a9a2d",
+   "sha256": "0zh0hwvh5hdn9gpyhqv14l46pbsids83ps86asikd9in7sl2abgn"
   }
  },
  {
@@ -75003,14 +76961,14 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20190904,
-    1025
+    20191216,
+    2105
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "0707fc4fd6cb10959bede0d321a915a959c466aa",
-   "sha256": "14bz3jp0qvq36h70jrv7y18zfgrlh258v18r6sr8fm6pa05kchr8"
+   "commit": "1e7b37f0ae07a6b4ac1b1a5f0e5422cfcb8e1c55",
+   "sha256": "16shvynx98r34wanbmphlw090iiydjnhgiqcz5xn8zhl0giljmza"
   },
   "stable": {
    "version": [
@@ -75072,28 +77030,28 @@
   "repo": "andrmuel/projectile-git-autofetch",
   "unstable": {
    "version": [
-    20190417,
-    1959
+    20191013,
+    1806
    ],
    "deps": [
     "alert",
     "projectile"
    ],
-   "commit": "8d8d090fdff42671e9926f095deb3448d24730b1",
-   "sha256": "1x1x1hn8k6hpj1vljbgmgznvgnky75xg4scy5y57k937pvkmyg6j"
+   "commit": "4a3eba7658a52c6e955d5f7085cd3fd62b53b9c6",
+   "sha256": "01jsj0pv9qqbkdmbykvk4ic40hc1nhaiaqvx17hi7p89hq3nzffr"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
    "deps": [
     "alert",
     "projectile"
    ],
-   "commit": "da02069d906e6e7f28ea1dd6a9196529315a5cba",
-   "sha256": "106kj49rxsrdh6awvql3zyr3ramdcn0aaq4rmbmd45hz9ij7x1wh"
+   "commit": "4a3eba7658a52c6e955d5f7085cd3fd62b53b9c6",
+   "sha256": "01jsj0pv9qqbkdmbykvk4ic40hc1nhaiaqvx17hi7p89hq3nzffr"
   }
  },
  {
@@ -75124,8 +77082,8 @@
   "repo": "asok/projectile-rails",
   "unstable": {
    "version": [
-    20190913,
-    1003
+    20191226,
+    2100
    ],
    "deps": [
     "f",
@@ -75134,14 +77092,14 @@
     "projectile",
     "rake"
    ],
-   "commit": "d31af287b2228f855e0bfbc5f985f999e5b5f811",
-   "sha256": "1r4ib96kkhy40m5jd63d9qml9k495zcjk12mwxcid8pk0f1s8l7d"
+   "commit": "411f8a4ab54f58a27b8f1f0cbd2f68f3fb4ee216",
+   "sha256": "0194lp2fdw2dik9gvbdvsllqg32fwdhwmcrdwv0q09b2x2hwfqkn"
   },
   "stable": {
    "version": [
     0,
-    17,
-    0
+    19,
+    1
    ],
    "deps": [
     "f",
@@ -75150,8 +77108,8 @@
     "projectile",
     "rake"
    ],
-   "commit": "78f5cbe2c212ce19d4732212c46472d1c412659f",
-   "sha256": "09aby7yxk28rqz0vaps889idl5n41wj72pa0dr7bqmidq8i5jv4h"
+   "commit": "85c5bfef22a0ba95ffc65320b53462077531be49",
+   "sha256": "1kzb1mr19zsn87rjbfxsvxp5ss9q7z97jk8nzysb13yrpb4f3d7l"
   }
  },
  {
@@ -75375,14 +77333,14 @@
   "repo": "chuntaro/emacs-promise",
   "unstable": {
    "version": [
-    20190711,
-    328
+    20200106,
+    619
    ],
    "deps": [
     "async"
    ],
-   "commit": "99fdb3b7efb813af41f825b24d0615d603baeede",
-   "sha256": "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy"
+   "commit": "4e764a50e0c3bb87193ea7bbd7f5c67f10e80d54",
+   "sha256": "01fbs2d7dkhamb690jnx6vw1c7qzgiibxzxsbyzpqcflaaga0wn8"
   }
  },
  {
@@ -75435,11 +77393,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20190821,
-    848
+    20191209,
+    2031
    ],
-   "commit": "d53ded580e30d49e7a783280fd9ba96bc9c1c39c",
-   "sha256": "17hf4mxpijvgd2jrffibcz9ps4vv8w2alcgmh78xjlb6mm0p3ls0"
+   "commit": "cf904b955056f16e46d1541b3ffb1ca1533c936d",
+   "sha256": "0yfpnihhfvkwdza98szwa4m5nlgn907q3v22x8pim2c0nrc0z9xp"
   },
   "stable": {
    "version": [
@@ -75542,19 +77500,17 @@
     20170526,
     1650
    ],
-   "commit": "b9f405ae46036860a4e73e167bee3800dfe53a9e",
-   "sha256": "0q70rsi012ybyq7akanl2np4x0ajqcmjknwcwrk3issy24l9f9sq"
+   "commit": "3214d0b0b20f98a2e3172ceab2d2c55a8ffd344c",
+   "sha256": "19sr6p9a86lcsqpjxz75k6l9qc5c4iwcbdzpi2ci57l0jdsw0l3n"
   },
   "stable": {
    "version": [
     3,
-    10,
-    0,
-    -1,
-    1
+    11,
+    2
    ],
-   "commit": "ae1bcaad6ffcd04ca5d40f21dc3fab4f965e49cb",
-   "sha256": "0slzayqgda24z24470lx0iv0rqvvj0jg7g8izbgx2l5g04al0ihz"
+   "commit": "fe1790ca0df67173702f70d5646b82f48f412b99",
+   "sha256": "0j456a42k27khpa4g8mm0xh3zymhhypqdy4gdiqrw6wv3z2r66s5"
   }
  },
  {
@@ -75609,8 +77565,8 @@
   "repo": "purescript-emacs/psc-ide-emacs",
   "unstable": {
    "version": [
-    20190326,
-    2110
+    20191217,
+    1144
    ],
    "deps": [
     "company",
@@ -75621,8 +77577,8 @@
     "s",
     "seq"
    ],
-   "commit": "a10cc85565f330ee277698b27f3f715fef2e1ce2",
-   "sha256": "1nj8g31zys86p2kb1yrx9w0657qg3ckz5awfwz5wd5w1axxigk23"
+   "commit": "2a9394422da317b54aa1da021aea6cded19004c1",
+   "sha256": "18pfi04grvdbgz8v5yb06y5mv0q6mkwm4rj43h35nw75l2gwaapv"
   }
  },
  {
@@ -75633,15 +77589,15 @@
   "repo": "purescript-emacs/emacs-psci",
   "unstable": {
    "version": [
-    20190308,
-    24
+    20191025,
+    830
    ],
    "deps": [
     "dash",
     "purescript-mode"
    ],
-   "commit": "3c10918a3a1d1dc613c222801deb465d4fbb2143",
-   "sha256": "14dj7jsyamkr05dqqlks8p12nb94gw0pj4dmnh1p771020b8drw0"
+   "commit": "95fb5d14033add8fe9c8c6b4379758beb88af1d0",
+   "sha256": "05lpdlpc652sl1kk0wx1bzdzyyyrvllcyfqyksplwaxgzjxy95mp"
   },
   "stable": {
    "version": [
@@ -75756,30 +77712,32 @@
   "repo": "fvdbeek/emacs-pubmed",
   "unstable": {
    "version": [
-    20190502,
-    2121
+    20191219,
+    2321
    ],
    "deps": [
     "deferred",
     "esxml",
-    "s"
+    "s",
+    "unidecode"
    ],
-   "commit": "67fbb6e8834feda85e8301adc5c17d9e38395d6a",
-   "sha256": "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"
+   "commit": "9ab55cfd8bf243cb43cd4d68dd157bcb846940f6",
+   "sha256": "0x0sy2bkgs1gwl6rgrxp6jwhmk6jybz0irxh10zjzlx3wqzyzm84"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     1
    ],
    "deps": [
     "deferred",
     "esxml",
-    "s"
+    "s",
+    "unidecode"
    ],
-   "commit": "67fbb6e8834feda85e8301adc5c17d9e38395d6a",
-   "sha256": "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"
+   "commit": "a220f446e9b075a4f1b2ab4fc532e850b27083a4",
+   "sha256": "1qs3n7d47sn00406r4f2z1jfwnmyrzf53wa93jp6xq1c3hg220fd"
   }
  },
  {
@@ -75889,11 +77847,11 @@
   "repo": "wasamasa/punpun-theme",
   "unstable": {
    "version": [
-    20161103,
-    847
+    20190928,
+    1413
    ],
-   "commit": "cce8b10b2df6f9187a9eaa0c3f21ff0dda175968",
-   "sha256": "1iz1qc9bphl2y2z7abc33fvyaccj733drkl7nzbr1jlpbknkmk2k"
+   "commit": "2f78125609277b2478abdebd8f9d5ee10a823b65",
+   "sha256": "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"
   }
  },
  {
@@ -76243,11 +78201,11 @@
   "repo": "statmobile/pydoc",
   "unstable": {
    "version": [
-    20181025,
-    51
+    20200107,
+    54
    ],
-   "commit": "abb948e27efaf2452f339c62cd99a1c69930bbfe",
-   "sha256": "1da08x2hjjd9d832fwrd4rbd3h6f7m031kkxh53v9xdavkp0xqf1"
+   "commit": "1dfbab7800827adadb649d6e02c31dd9cd65f0d3",
+   "sha256": "1lpc9picbrnqyyh2sy365dvfkxf2phh8s8j4bhizvkd2gallr6vr"
   },
   "stable": {
    "version": [
@@ -76275,10 +78233,10 @@
  },
  {
   "ename": "pyenv-mode",
-  "commit": "acc9b816796b9f142c53f90593952b43c962d2d8",
-  "sha256": "00yqrk92knv9gq1m9xcg78gavv70jsjlwzkllzxl63iva9qrch59",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "05rfppn75130m5zpg5yz9bz1r7wap05jmd9v08fbqjipv98ckpz3",
   "fetcher": "github",
-  "repo": "proofit404/pyenv-mode",
+  "repo": "pythonic-emacs/pyenv-mode",
   "unstable": {
    "version": [
     20170801,
@@ -76287,8 +78245,8 @@
    "deps": [
     "pythonic"
    ],
-   "commit": "123facbaca9aa53dbf990348ea2780cbbdd0f96a",
-   "sha256": "0gwf5za48b20lfs3cm0syd2jmnnzgyqx5b4f4vvfiipyy8dqgxjf"
+   "commit": "aec6f2aa289f6aed974f053c081143758dd142fb",
+   "sha256": "1zmgm24d6s56jc4ix61058p1k0h95vdvdllr7fh1k3bq4mw22qn3"
   },
   "stable": {
    "version": [
@@ -76366,8 +78324,8 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20190906,
-    708
+    20200103,
+    558
    ],
    "deps": [
     "async",
@@ -76375,8 +78333,8 @@
     "pyim-basedict",
     "xr"
    ],
-   "commit": "8a14040b6b6f600c6e0df2455a19662c997a1768",
-   "sha256": "11ysppg9h2n2m9qi6ml5hi1lwqj7h21hdi4h50cw5b24k334dyyz"
+   "commit": "03b06703a42fe1feb3e1ef8f024db3625c8c125f",
+   "sha256": "01mn59cc81wbx45savskxx369j6amh6rl2fyn3ppp7zdsyf8sxqx"
   },
   "stable": {
    "version": [
@@ -76521,8 +78479,8 @@
     20170402,
     1255
    ],
-   "commit": "de75ba13eedd6cb6e84a96e0b79765e890c46efe",
-   "sha256": "0z81z1j2qgpgbx4mjj57fkaxvxwbnzm2hrnaayi1nlkf72a6ccj9"
+   "commit": "b3d52631ea19328ab3ff5b2a12c280bc4e63ccaa",
+   "sha256": "06zy9k8zd48x0shcp8mb2274n1nigxwwapw5yrjkkh5mp21fbpv4"
   }
  },
  {
@@ -76575,8 +78533,8 @@
     "pythonic",
     "tablist"
    ],
-   "commit": "277f7c623f489fd31c56d6e131c5481a71b6a926",
-   "sha256": "1xpb08m5zjyxpq45mmhfysxgaga2xj9r6nw6zs2rx0zkv6qjklnr"
+   "commit": "05697e881a8b57c4f183344c42ae36662b180663",
+   "sha256": "148dhzpjv5ykakxdyp0fcxjbqjvf4r6sv8jq9jlyqk2q1nxz45fr"
   }
  },
  {
@@ -76605,20 +78563,20 @@
   "repo": "poppyschmo/pytest-pdb-break",
   "unstable": {
    "version": [
-    20190308,
-    655
+    20191218,
+    530
    ],
-   "commit": "ac969ae8cec2e3da250ce454e74f5b28f0e9649b",
-   "sha256": "0agrqlasx8ikvwk5c9rc2d4spj7bkhbwn46k3b8ind4pzzk4rxwd"
+   "commit": "8b097f5fc8b42a9eddb5b020fd2d531c2b1fcddd",
+   "sha256": "0r1j9jjm013gah0cx10wrmv0blqqk6fwgs3wfgq7hsdrkm4pjil9"
   },
   "stable": {
    "version": [
     0,
     0,
-    4
+    7
    ],
-   "commit": "38840190dfbcb307778d079da5e2373525b3ac18",
-   "sha256": "0887620iq8xn28aajx7z2pkgh19778w494n8icibwlk2mj2m3gxl"
+   "commit": "8b097f5fc8b42a9eddb5b020fd2d531c2b1fcddd",
+   "sha256": "0r1j9jjm013gah0cx10wrmv0blqqk6fwgs3wfgq7hsdrkm4pjil9"
   }
  },
  {
@@ -76751,11 +78709,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20190912,
-    1653
+    20191220,
+    1543
    ],
-   "commit": "2fc13db9eb7652b3f6619fbd1a96073850ee6175",
-   "sha256": "0mw3hvslvvj6h56nc42my94vjci36k3yr44511635vdmfsmdzafl"
+   "commit": "a79b5d111b18a83b1d0eb6ae01a5178f47938c93",
+   "sha256": "1rcqwxw5k4y5752hrp0pa2sqaq07k3s68rx34wbggz9l9r6c0jhr"
   },
   "stable": {
    "version": [
@@ -76869,21 +78827,21 @@
  },
  {
   "ename": "pythonic",
-  "commit": "5589c55d459f15717914061d0f0f4caa32caa13c",
-  "sha256": "1hq0r3vg8vmgw89wfjdqknwm76pimlk0dy56wmh9vffh06gqsb51",
+  "commit": "c756ccbae044bc23131060355532261aa9a12409",
+  "sha256": "12yaxpir17bccj5zwd9lsm8dzd7qlflm8kcf8m1c0pxzgpsk0i5p",
   "fetcher": "github",
-  "repo": "proofit404/pythonic",
+  "repo": "pythonic-emacs/pythonic",
   "unstable": {
    "version": [
-    20190725,
-    1258
+    20191021,
+    811
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "97135d933db4567fd817c51b3c93c94b2864395e",
-   "sha256": "08x5q7cgrgaamjidbzr65d0x5f0q1wmdzz4rlvw38mv6y30pifnr"
+   "commit": "ba9af8ce302579a2b2097b867a35a9fc0bc4bceb",
+   "sha256": "1q43ngd0nj5j9aca71qi0ss137kp46klr6xdlm8ghy55ppym2g5i"
   },
   "stable": {
    "version": [
@@ -76909,19 +78867,19 @@
   "repo": "jorgenschaefer/pyvenv",
   "unstable": {
    "version": [
-    20190916,
-    1037
+    20191202,
+    1039
    ],
-   "commit": "392e28dad42dc6cc9507e496391a32482f9f1881",
-   "sha256": "0kmzqinlv99wpm5q0lzwlzmjsc03m4z24pwz3zixldh76f7c2fmb"
+   "commit": "861998b6d157ae73b829f02a5a6c8a9118310831",
+   "sha256": "0w7w95cjhpvy28mcvmv21ajspngkyrx3yjx3293bmclv699lfbwc"
   },
   "stable": {
    "version": [
     1,
-    20
+    21
    ],
-   "commit": "fa6a028349733b0ecb407c4cfb3a715b71931eec",
-   "sha256": "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"
+   "commit": "103d2f158ef2a760741682e18741e44107c68f3f",
+   "sha256": "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"
   }
  },
  {
@@ -77077,25 +79035,25 @@
  },
  {
   "ename": "quelpa",
-  "commit": "a496196d405c152600d44ef4aa28557f489c542c",
-  "sha256": "0qm4dxwlvaka6j8ismb4lhar4dzlhpvjsx6524w15ilcbdbyqqjl",
-  "fetcher": "git",
-  "url": "https://framagit.org/steckerhalter/quelpa.git",
+  "commit": "c599f1254808a9d9bab87c35769052d5df2a01bf",
+  "sha256": "1g53fcy837hpyn9lnmmri0h4c5va61vszhblz4caadqq265hknvs",
+  "fetcher": "github",
+  "repo": "quelpa/quelpa",
   "unstable": {
    "version": [
-    20190710,
-    503
+    20191223,
+    1925
    ],
-   "commit": "144b71e0f514b96cf19c39853cf08b2d957a8ed5",
-   "sha256": "0dv85f38r5jd369ihmpknbj2zv8wmabfdsjcny0j6mp7x1n37dy1"
+   "commit": "667fce0d43eb2b112b1eaefbeb3ec5bc186cdf4e",
+   "sha256": "1g9g1m7a1qxhw278y6b5f66j1k97fp2l3k20rl6x69ljxn8icj02"
   }
  },
  {
   "ename": "quelpa-use-package",
-  "commit": "a496196d405c152600d44ef4aa28557f489c542c",
-  "sha256": "1rdhnv7iz9clcy68j1gqv8cwq70ip4w12179v553lyikk9icrpp8",
-  "fetcher": "git",
-  "url": "https://framagit.org/steckerhalter/quelpa-use-package.git",
+  "commit": "c599f1254808a9d9bab87c35769052d5df2a01bf",
+  "sha256": "0p09w419kldgl913hgqfzyv2pck27vqq2i1xsx7g29biwgnp9hl9",
+  "fetcher": "github",
+  "repo": "quelpa/quelpa-use-package",
   "unstable": {
    "version": [
     20190210,
@@ -77105,8 +79063,8 @@
     "quelpa",
     "use-package"
    ],
-   "commit": "6f3cc87caa6cb8795079c5cab3c6665970859098",
-   "sha256": "129pigh1njn50s1lq81blcn54bkb6hwrlxg0sk7m1zsf6rybw0rf"
+   "commit": "207c285966382a1f33681f6ac2d7778d4b21cb21",
+   "sha256": "01hzxfy8l1aqlfyj01p0b6pdzlm2vbc5r00skamx6id3s6qg1d9i"
   }
  },
  {
@@ -77141,17 +79099,17 @@
  },
  {
   "ename": "quick-preview",
-  "commit": "98270840568fa1fca2d92f26108444fb24609e83",
-  "sha256": "18janbmhbwb6a46fgc1sxl9ww591v60y3wgh2wqh62vdy4ix3bd9",
+  "commit": "c52a1ea0afa8e5f439b7ac987b79c49eb08fe95a",
+  "sha256": "10k69yiil8i7xvhylrr4rwzqidm3ljm1rdlr6k2r3i9mkiv9pcif",
   "fetcher": "github",
-  "repo": "myuhe/quick-preview.el",
+  "repo": "emacsattic/quick-preview",
   "unstable": {
    "version": [
-    20150829,
-    439
+    20191017,
+    1920
    ],
-   "commit": "29c884c6ab385ef67d9aa656ebb7c94cabeb5c35",
-   "sha256": "1cp3z05qjy7qvjjv105ws1j9qykx8sl4s13xff0ijwvjza6ga44c"
+   "commit": "a312ab5539b9a362da9d305e4da814e17c5721c9",
+   "sha256": "07qipy0r0v8y5rm2g1kqqqy81635wbclzvjgq8y9sziwchww2v20"
   }
  },
  {
@@ -77220,11 +79178,19 @@
   "repo": "zzkt/quiet",
   "unstable": {
    "version": [
-    20160508,
-    1256
+    20191230,
+    714
+   ],
+   "commit": "aa3a6e039dbc9437e7dd178a6596d43cf19293eb",
+   "sha256": "0rl3l7wwdfn8bm1a1lajqsxp62xdqn9xihglv8a1ggq3wi40fw61"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
    ],
-   "commit": "6f20309f99e26fcae2601d1544b342f044e54baf",
-   "sha256": "14q7x341gqcxn3bq72wmfxipqmj2dh35kxcrwjkyghbsbd43rv8n"
+   "commit": "aa3a6e039dbc9437e7dd178a6596d43cf19293eb",
+   "sha256": "0rl3l7wwdfn8bm1a1lajqsxp62xdqn9xihglv8a1ggq3wi40fw61"
   }
  },
  {
@@ -77314,8 +79280,8 @@
   "repo": "racer-rust/emacs-racer",
   "unstable": {
    "version": [
-    20190610,
-    800
+    20191001,
+    2344
    ],
    "deps": [
     "dash",
@@ -77324,8 +79290,8 @@
     "rust-mode",
     "s"
    ],
-   "commit": "ea6a09c16f8ec646195f942c12fe3ed7d65cc971",
-   "sha256": "1r6g9jgbdidivjms62bvxkg0z3jif5j9sxfg51iq8hvc6m1nd352"
+   "commit": "a0bdf778f01e8c4b8a92591447257422ac0b455b",
+   "sha256": "1dzp2l6lcdrcss5xp32yvil4c1din09awnxg0f71fls6kh2g2fcq"
   },
   "stable": {
    "version": [
@@ -77350,14 +79316,14 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20190917,
-    1350
+    20191204,
+    205
    ],
    "deps": [
     "faceup"
    ],
-   "commit": "8e2c6c5c7fc2677f18067f5f6ce4b1836d288352",
-   "sha256": "1iwsjdw52plkvivj79rk83d15l6wfxpg7l78hkbhzg3brxj0lg1l"
+   "commit": "09eba92e846733db1acc8b9e58ff2b5f52c79b23",
+   "sha256": "1q610znwy4wi26ka6ri6lzx2kl1pwi4sc4cbajk3d5i2c1d00rv3"
   }
  },
  {
@@ -77446,20 +79412,20 @@
   "repo": "Fanael/rainbow-delimiters",
   "unstable": {
    "version": [
-    20170929,
-    1132
+    20191018,
+    1233
    ],
-   "commit": "e561cff4abf97d00d9b2b5f10256d417182e2772",
-   "sha256": "0j9wmri4zn72znq406n2j078q2h4f74qpcrqh2pkfw4f3ff3hf7c"
+   "commit": "5125f4e47604ad36c3eb4706310fcafac729ca8c",
+   "sha256": "1jh1gv69cjlrjkmjrkhgc7jffyxlkq9nci5ag4z1alskfp6favir"
   },
   "stable": {
    "version": [
     2,
     1,
-    3
+    4
    ],
-   "commit": "93cd2dc873e7fedca7abc599cd97d46db4376ac7",
-   "sha256": "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0"
+   "commit": "455bcee19c92bf85db0ba7e926f0b5a176b69865",
+   "sha256": "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"
   }
  },
  {
@@ -77704,20 +79670,20 @@
   "repo": "thiagoa/rbtagger",
   "unstable": {
    "version": [
-    20190916,
-    1757
+    20191115,
+    1858
    ],
-   "commit": "d82c64d01002077f6bd5fa9d78c35ab3d6ef63e0",
-   "sha256": "0azd15bpn8z7538fq2s577ljwj2r5b6qf511hrzr9791m8vnzb3h"
+   "commit": "18ef567e65d1437e9a9e03d4f30a02d60e926d85",
+   "sha256": "0kr10j3f0dd7q102db4y16yj8yfv06wnqsgnx2l9jyc8qhkbxq6w"
   },
   "stable": {
    "version": [
     0,
-    1,
-    3
+    2,
+    0
    ],
-   "commit": "dcc8ca8b9c1e42e637b9225b7ad8a3d50dd01be6",
-   "sha256": "0rrpjq3dczwp2vj4dclylid27hwd0am0l8p9kqy67wldkkcc0qz2"
+   "commit": "e46137e36a3bdba8dd4d27017b194a8524c7375b",
+   "sha256": "154y2adh2pgn77ycidkd6ndjg9wjxsjmbkb8cppf9csq31vmc313"
   }
  },
  {
@@ -77999,16 +79965,16 @@
   "repo": "realgud/realgud",
   "unstable": {
    "version": [
-    20190912,
-    744
+    20191123,
+    1341
    ],
    "deps": [
     "load-relative",
     "loc-changes",
     "test-simple"
    ],
-   "commit": "cc5d1236879a2dcdd91c9a842987f2f5a3accd11",
-   "sha256": "0a27lmaqbhg227insacadrcxhzi6pi64hj4yx3mkppnhiyaasy6v"
+   "commit": "2cca776d28c4d6ebef033758ef01f2af2e9b3b96",
+   "sha256": "0jinap8v2491za6bxsdq0i68jifbnrwzrn8rcl3v861zdkax0sa7"
   },
   "stable": {
    "version": [
@@ -78053,15 +80019,15 @@
   "repo": "realgud/realgud-ipdb",
   "unstable": {
    "version": [
-    20190604,
-    209
+    20191115,
+    1116
    ],
    "deps": [
     "load-relative",
     "realgud"
    ],
-   "commit": "3642767a286e0542bf03cbb240cf47b2a89ad3f5",
-   "sha256": "1lgqh80w4ksa4a3zyxdz812jn0yg5xn1z5z0c23sf5vqzzxkzx7h"
+   "commit": "347090928d7866a9909208c5bbe2cb8fa7b55cd7",
+   "sha256": "1m7v8qsqm8b8liyfdfqpcsjnlcbs0lpl6m91ff3449a94l1g99k7"
   }
  },
  {
@@ -78072,16 +80038,15 @@
   "repo": "realgud/realgud-jdb",
   "unstable": {
    "version": [
-    20190625,
-    1911
+    20191125,
+    1700
    ],
    "deps": [
-    "cl-lib",
     "load-relative",
     "realgud"
    ],
-   "commit": "8cfe452f5028f3ac0f6e0ae7fa03c2a31d197ded",
-   "sha256": "0yglfw7bc9lz9k7mi4v9n0yd1aslph0q3fjb241ji77gq67wh69r"
+   "commit": "99b7f08e0fcec9e33dde8dbbe60e42cfec08bc17",
+   "sha256": "16q9wxa518f3g54zk3imgj8ml06bn66d9jyyg2k86j94ny7q1azd"
   }
  },
  {
@@ -78257,11 +80222,11 @@
   "repo": "xendk/reaper",
   "unstable": {
    "version": [
-    20190920,
-    2209
+    20200105,
+    2137
    ],
-   "commit": "1c58c96380b8dc31002bbc87100c3faecfa01f1b",
-   "sha256": "08yfwxpqsr0qvy8bhj650n2yd2dxs2miciszngbnplrkkvdy0v7g"
+   "commit": "ba9b8b5eba06d97d81fc391dc3a9f0c6105b96ad",
+   "sha256": "1mmxqrzy1dyw3gq2w7j25limw46v9yzp9dkhsdsckmv7y912gan5"
   },
   "stable": {
    "version": [
@@ -78588,8 +80553,8 @@
     20180418,
     1434
    ],
-   "commit": "4b13acd64cf523442f87337f7c41261e1dfd37dd",
-   "sha256": "1f99xjskd9am3f8wcx3hdzjpp06y9rb10dr2l38z3015bjfpil5g"
+   "commit": "c72190de76f7ed1cfbe1d2046c96e99ac5022b0c",
+   "sha256": "0rbzwkdai9bpcnldrib90p02p36qfgnwk18iz2pcz32xs73frx82"
   },
   "stable": {
    "version": [
@@ -78654,8 +80619,8 @@
     20181121,
     21
    ],
-   "commit": "5069c89fb0cd8fc1936ac8aa1e5dd6f4c1691db4",
-   "sha256": "00l3zraignzlz5vmn7cqjizin8h0gbgvpyd3jbl5vza4r9bp1l2j"
+   "commit": "0904065857c4388c18d1eacca89769e566d36a9f",
+   "sha256": "0yvn3c8hx0xj911n197xp5islx0hnbzzn2wx869scysn7wfh4kd7"
   }
  },
  {
@@ -78701,11 +80666,11 @@
   "repo": "purcell/reformatter.el",
   "unstable": {
    "version": [
-    20190529,
-    2238
+    20191103,
+    357
    ],
-   "commit": "8372cc425967f055ba8a26f6098649467e776c5e",
-   "sha256": "1fmyqs06rrkyyclrsfrjsxcwkd0c20kimih2x5llhnxmw51i2y5s"
+   "commit": "6c5e7f64c5ac1178dff5ca28d9809c08398fb3e6",
+   "sha256": "01qsd8fdwmxn2513jhhdg5jwh7wy0nchwnnz0k3srhjlk41qady1"
   },
   "stable": {
    "version": [
@@ -78864,8 +80829,8 @@
   "repo": "proofit404/relative-buffers",
   "unstable": {
    "version": [
-    20190914,
-    1042
+    20191004,
+    1205
    ],
    "deps": [
     "cl-lib",
@@ -78873,8 +80838,8 @@
     "f",
     "s"
    ],
-   "commit": "496fd31530adc455992b2bac535900fd29b9ad51",
-   "sha256": "14nqs14ml33wlrm268dpijs0n2b12yrlysk1qd62fc7k5hvz9wxl"
+   "commit": "6064cd0b3cbd42c4a46c70fc396f05be71f42bd6",
+   "sha256": "0wzxnbbzzjkzrnfdbdn7k172ad6mnhq5y3swcbilnk1w1a1lzyhn"
   }
  },
  {
@@ -78908,20 +80873,20 @@
  },
  {
   "ename": "remark-mode",
-  "commit": "161a45835a153c6ac81b99311482f5dd36507da1",
-  "sha256": "1zl8k3h4acbgb3hmjs2b4a14g0s0vl3xamrqxrr742zmqpr1h0w0",
+  "commit": "083f2070eb27d66f09552bf42a346f41a9b9b4b5",
+  "sha256": "1ccgii79h05bjl16nz7rgvkf35s9y18vp7l6mx6chciwjz6l78kn",
   "fetcher": "github",
   "repo": "torgeir/remark-mode.el",
   "unstable": {
    "version": [
-    20171218,
-    756
+    20191103,
+    1825
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "e8a95f25d865d6165a7fdb1cadf5e6f0bb5ee73b",
-   "sha256": "01qdaby7mn5d8y95wcbqzwzcbjmf2329g6yjbvmdd1gn6s7qzs0b"
+   "commit": "e80a1b78304045dec3eceffb6c8cbaf2b6c7b57a",
+   "sha256": "1l06hh728p9gnlliz1nq9qg641gyxfzb7mlz8x88bmvb0wyzyr8r"
   }
  },
  {
@@ -78941,10 +80906,10 @@
  },
  {
   "ename": "renpy",
-  "commit": "cc928aed12275dc3780d7d8acc6ceca0f69ef63f",
-  "sha256": "1xfk3j13wzgxg56izbwad0kw4izg0hdzkh7h7cfdmdf4v6mxc7f0",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "173391mcv56ljrkhl6hb9fhkl2vic9wj2xmd21hq88m3awpjmill",
   "fetcher": "github",
-  "repo": "billywade/renpy-mode",
+  "repo": "treymerkley/renpy-mode",
   "unstable": {
    "version": [
     20190419,
@@ -79117,20 +81082,20 @@
   "repo": "canatella/repo-el",
   "unstable": {
    "version": [
-    20190326,
-    1644
+    20191201,
+    38
    ],
-   "commit": "c53c06169dec4e556982fb06ca780ca4708dc436",
-   "sha256": "1brsc8k590qc4x93qydiq8ylq26zbdv8565fz194zpik9d239mja"
+   "commit": "7b3ce731f1209d74113cb65a2d6aa6f54ce8ed27",
+   "sha256": "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"
   },
   "stable": {
    "version": [
     0,
-    1,
-    3
+    2,
+    0
    ],
-   "commit": "d7b87cd515bad8a67d3a892a46a23f5fe81e08de",
-   "sha256": "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"
+   "commit": "7b3ce731f1209d74113cb65a2d6aa6f54ce8ed27",
+   "sha256": "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"
   }
  },
  {
@@ -79176,20 +81141,20 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20190920,
-    1649
+    20191211,
+    2051
    ],
-   "commit": "b074594a8eafe8fbd2f97687ac396900e2fe57b9",
-   "sha256": "1pahi7vvffcpldc5x39brpvjfipyqzagjzmmmdg6mxk5hjw2dvyq"
+   "commit": "b207ebb298dbf181583ebf56c3e18a52fcbaa165",
+   "sha256": "0pmifizgj8y99rzp97cn0qmxr544hfb0x7l97f8s160c09fs3lsi"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    2
    ],
-   "commit": "ef9f509b5579f2b529a20e43f7e0f061e641fec5",
-   "sha256": "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"
+   "commit": "22efefeaa394f6deef957818f5c5332061c88d1c",
+   "sha256": "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"
   }
  },
  {
@@ -79207,21 +81172,21 @@
     "deferred",
     "request"
    ],
-   "commit": "b074594a8eafe8fbd2f97687ac396900e2fe57b9",
-   "sha256": "1pahi7vvffcpldc5x39brpvjfipyqzagjzmmmdg6mxk5hjw2dvyq"
+   "commit": "b207ebb298dbf181583ebf56c3e18a52fcbaa165",
+   "sha256": "0pmifizgj8y99rzp97cn0qmxr544hfb0x7l97f8s160c09fs3lsi"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    2
    ],
    "deps": [
     "deferred",
     "request"
    ],
-   "commit": "ef9f509b5579f2b529a20e43f7e0f061e641fec5",
-   "sha256": "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"
+   "commit": "22efefeaa394f6deef957818f5c5332061c88d1c",
+   "sha256": "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"
   }
  },
  {
@@ -79336,11 +81301,11 @@
   "repo": "pashky/restclient.el",
   "unstable": {
    "version": [
-    20190502,
-    2214
+    20191009,
+    1208
    ],
-   "commit": "422ee8d8b077dffe65706a0f027ed700b84746bc",
-   "sha256": "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"
+   "commit": "e8ca809ace13549a1ddffb4e4aaa5d5fce750f3d",
+   "sha256": "1wdi3c9wczn6vhr5l9mrbhsnw0hj1zfxh3sz53q8v1k684q5jyjk"
   }
  },
  {
@@ -79358,8 +81323,8 @@
     "helm",
     "restclient"
    ],
-   "commit": "422ee8d8b077dffe65706a0f027ed700b84746bc",
-   "sha256": "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"
+   "commit": "e8ca809ace13549a1ddffb4e4aaa5d5fce750f3d",
+   "sha256": "1wdi3c9wczn6vhr5l9mrbhsnw0hj1zfxh3sz53q8v1k684q5jyjk"
   }
  },
  {
@@ -79392,6 +81357,36 @@
   }
  },
  {
+  "ename": "reveal-in-folder",
+  "commit": "26682a1fb2d885168ca922521df7f3d8fbfe43a8",
+  "sha256": "0nhrsmilimffpjnv9hn8a49wckdi1lywjlb2fpxpqdi8zl0bgkzs",
+  "fetcher": "github",
+  "repo": "jcs-elpa/reveal-in-folder",
+  "unstable": {
+   "version": [
+    20191209,
+    514
+   ],
+   "deps": [
+    "f"
+   ],
+   "commit": "e3cc73688d8dc3b47ccb1db49519a83b275b1cde",
+   "sha256": "0xdpm7r83nd5j4ss530l3srz4qy2z0m7wp084i3v2sfqi3in5qgl"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    2
+   ],
+   "deps": [
+    "f"
+   ],
+   "commit": "715e34b7c4a93840f6188386a13d15231907257b",
+   "sha256": "0d75hgaskhc6gwjdcc19nligb4xj2irg33cirrc0wp23k7il1m6f"
+  }
+ },
+ {
   "ename": "reveal-in-osx-finder",
   "commit": "2bf40285279b761b0efd6bc8542ae9aad4b329e1",
   "sha256": "00jgrmh5s3vlpj1jjf8l3c3h4hjk5x781m95sidw6chimizvfmfc",
@@ -79423,11 +81418,11 @@
   "repo": "a13/reverse-im.el",
   "unstable": {
    "version": [
-    20190428,
-    1711
+    20191113,
+    1509
    ],
-   "commit": "e30815653aa81eac097f27be14886806d9df4ea4",
-   "sha256": "0i34q5bj5y0xnvc8d82w5vpfscl1nvqv584sd9kqpi81gy3qphrw"
+   "commit": "a04ce1236dd6bfaa0c520162e6c5a1017c099030",
+   "sha256": "14cq2162gcasv8112jdmb1cx6fidszqlcf2kalgq2ikj5bqs03av"
   }
  },
  {
@@ -79461,11 +81456,11 @@
   "repo": "kmuto/review-el",
   "unstable": {
    "version": [
-    20190728,
-    1435
+    20191227,
+    1255
    ],
-   "commit": "3066beb9f3b7ef64da870b829bec8fe73e84b07c",
-   "sha256": "1ql9ap1zil7hlv2vmqzcjvsky29cpgclbf32x88v9jx588ni2gwq"
+   "commit": "09b41ca47d99e7f1baddcbec6408ca2f60aafff4",
+   "sha256": "1rlk9wxqyac3dz1vzy157wc59gf67avwgiahjyj81y13kmz88nxc"
   }
  },
  {
@@ -79521,30 +81516,31 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20190917,
-    1351
+    20191230,
+    943
    ],
    "deps": [
     "cl-lib",
     "s",
+    "transient",
     "wgrep"
    ],
-   "commit": "316dd7e3e7d9fa1f55a5cc3233469970589a2dee",
-   "sha256": "0wc2qmzfc77ff25cml1fb1pdng57jnwj8gxkh67p0gh8irl62714"
+   "commit": "2b01b8bb77e687f3f9243a8649b289ca9823edb4",
+   "sha256": "1lsq9h842gg722mm2xbpcjldby2rgsj07rmcf167ghba0rwn3kf4"
   },
   "stable": {
    "version": [
     1,
     8,
-    0
+    1
    ],
    "deps": [
     "cl-lib",
     "s",
     "wgrep"
    ],
-   "commit": "df76c35a7c370f34e23f4ad20a22aacce5581165",
-   "sha256": "0p29hcf0gcswlsy4cy68byys459358v14fzdbz38j1diz5g5ac6p"
+   "commit": "3f07304b8a7ee70ac91f3b66e76dc1d621a96bff",
+   "sha256": "0k7x5z7mh9flwih35cqy8chs54rack3nswdcpw5wcpgv6xim227y"
   }
  },
  {
@@ -79777,6 +81773,36 @@
   }
  },
  {
+  "ename": "rivet-mode",
+  "commit": "ab197ee315e5e67ce56d81374e3589ee894000bd",
+  "sha256": "0491r8qq5i7al972jjqch5wb1mj83fms6axvxq2zykw5xcdrgs8d",
+  "fetcher": "gitlab",
+  "repo": "thornjad/rivet-mode",
+  "unstable": {
+   "version": [
+    20191230,
+    1842
+   ],
+   "deps": [
+    "web-mode"
+   ],
+   "commit": "ac15de8c76978638e129c26869123c75d5b1f8c7",
+   "sha256": "19pv8qpcm0cllbbckzpjxrbkdavirq6b8p8jm274klkf4b7k32f8"
+  },
+  "stable": {
+   "version": [
+    4,
+    0,
+    2
+   ],
+   "deps": [
+    "web-mode"
+   ],
+   "commit": "b40bc13761e0b14b4ba67a0c600d69fd129c8746",
+   "sha256": "1g7xz8yygpbcqn0fjnad8kim75q6yqlvsab596my115w9p9l23y6"
+  }
+ },
+ {
   "ename": "rjsx-mode",
   "commit": "b83be7efdef2457e1320fe3dec46484fbd20263c",
   "sha256": "0w3ij8k8058pfw443chm1kn30ia0f5rfbg03w9ddw86xb3wa2q0b",
@@ -79814,11 +81840,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20190508,
-    609
+    20191218,
+    257
    ],
-   "commit": "fcefc0509dd0a4ec2e02020c83e1c4a1101ef903",
-   "sha256": "1zbpp4ilf9kvjnxc0cgs90l02lmpp6pa905cahi441l2pn71kbld"
+   "commit": "2bc1afe528b70b8aad4243a3b2b72bcf09a599e1",
+   "sha256": "0pg2q275qd83i8c1g0f1xlwvbqd40xm3gw2ahl80blyllsvz04j9"
   }
  },
  {
@@ -79913,11 +81939,11 @@
   "repo": "marcowahl/rope-read-mode",
   "unstable": {
    "version": [
-    20190715,
-    1753
+    20191215,
+    1240
    ],
-   "commit": "86938769fe8c4749ebd11b0fd839a871ce6544c6",
-   "sha256": "1n9p801sif4sn0n2wmwr63zfz9cx3637ail16844an7bw612wzlj"
+   "commit": "879af5c8cfbe284fa37695840784f1d74d730837",
+   "sha256": "1673b1xcmjg7058q44v190a940kgla6vxr1z5imx4hbjn5b76var"
   },
   "stable": {
    "version": [
@@ -79937,11 +81963,11 @@
   "repo": "DerBeutlin/ros.el",
   "unstable": {
    "version": [
-    20190919,
+    20191109,
     1939
    ],
-   "commit": "967963404824052f25913906f506b090ebba221a",
-   "sha256": "09p9dcybkabkrdvv0ss9jgbmn87zilgijpxhd0r18qpb5hipyr8g"
+   "commit": "46ce6b5c16d24ebd80da39cf48f207cf12f1a5d0",
+   "sha256": "10h2hy1inrk6ph4gi3bd8l89mf4lbf0cizfwlymmarkjfmlrsz2w"
   }
  },
  {
@@ -80038,15 +82064,15 @@
   "repo": "pezra/rspec-mode",
   "unstable": {
    "version": [
-    20190912,
-    856
+    20191206,
+    1559
    ],
    "deps": [
     "cl-lib",
     "ruby-mode"
    ],
-   "commit": "66ea7cc9699d6edc6115daa024818adbd85efc20",
-   "sha256": "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"
+   "commit": "c4353a1bff164bccf6c55fda16aa7b9c9ab36685",
+   "sha256": "1xfxm54nyyspfly4f4wszb2v1r8f4q04bd8g9mhc57bjfrpqvzpy"
   },
   "stable": {
    "version": [
@@ -80069,19 +82095,45 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20190918,
-    505
+    20191227,
+    958
    ],
-   "commit": "3543b8404640884d901c719bb83c5474056cf97f",
-   "sha256": "1k1d3llf150rih8dba2fg7xp9ksnbfzdsj01lziqz396p34sim0f"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
   },
   "stable": {
    "version": [
-    3,
-    23
+    2,
+    37
+   ],
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
+  }
+ },
+ {
+  "ename": "rtags-xref",
+  "commit": "4e6c219d38a3f3495470fbeeade3f771439e0df0",
+  "sha256": "15f3dcq2r4zhb1agd48k91a2d81ny4697hhyw8g6iq8y7m7nrrxx",
+  "fetcher": "github",
+  "repo": "Andersbakken/rtags",
+  "unstable": {
+   "version": [
+    20191222,
+    920
+   ],
+   "deps": [
+    "rtags"
    ],
-   "commit": "7169ed577d676690a3c6f0025b54e8477d80eacf",
-   "sha256": "1i94dizg3wvkvq8c2pf5bzkx8zwzcfi4p3l73c779y145bygssnq"
+   "commit": "5f1eaf4355e2093afb2b7828f3ebddfcad1234be",
+   "sha256": "1ankfl792qq0p2mdp89gldisw2l3lp8p10dmmqxm3ys898b0p2rh"
+  },
+  "stable": {
+   "version": [
+    2,
+    37
+   ],
+   "commit": "11f49ef5c488da4c744f700b5cf07a8ebcb9f4ec",
+   "sha256": "0g443kw9y469banr70nv2fhlb7vyc3911d2mcyssrcsqjm1xdvlv"
   }
  },
  {
@@ -80223,20 +82275,20 @@
   "repo": "knu/ruby-electric.el",
   "unstable": {
    "version": [
-    20170810,
-    1130
+    20191217,
+    1214
    ],
-   "commit": "3553448a780a1ea5c3b0e9becd820d4762876593",
-   "sha256": "0h47lfgxjcyyl8gb1w7l8j8h65s3lp1hsq742sl7a1gf5y6bbm3v"
+   "commit": "0e6c1f1022ac84db6a03d60e7a0f9f1fd42ecc99",
+   "sha256": "1l3zz62d04m3kwj3swffsbkpvkayp9r651cpl07palghx9b34h3m"
   },
   "stable": {
    "version": [
     2,
     3,
-    1
+    2
    ],
-   "commit": "3553448a780a1ea5c3b0e9becd820d4762876593",
-   "sha256": "0h47lfgxjcyyl8gb1w7l8j8h65s3lp1hsq742sl7a1gf5y6bbm3v"
+   "commit": "0e6c1f1022ac84db6a03d60e7a0f9f1fd42ecc99",
+   "sha256": "1l3zz62d04m3kwj3swffsbkpvkayp9r651cpl07palghx9b34h3m"
   }
  },
  {
@@ -80414,8 +82466,8 @@
     20170718,
     1416
    ],
-   "commit": "85a6d80fb05fef396a8029b8f944c92a53faf8fe",
-   "sha256": "11klircrdc9z9jfksd6rjgwbb775mziss67mw74673b8iva8n1y7"
+   "commit": "020b02ed6e9ab49e79d2ddf63e4ee2684c1728f4",
+   "sha256": "0nkjs6012dxayf2y8d7sw11czgb7lhyhcbcbmdbicnygf7wbm67h"
   },
   "stable": {
    "version": [
@@ -80438,23 +82490,23 @@
     20180127,
     22
    ],
-   "commit": "893b1a26244ef6ea82833a9afbc13cb82c0cfb53",
-   "sha256": "0lgahv25a9b2dfgkcm9ipyziiqnr3sb9l2dvzm35khwf3m8dwxgq"
+   "commit": "b69a3866e0299cae8c9c805d644e69b2c17b64de",
+   "sha256": "13sm2v7al9658n17dka6dclzsprccrm3zycx6nwsgl99i14cnn99"
   }
  },
  {
   "ename": "run-stuff",
-  "commit": "0d6e9ce2acd859b887f7e161f4b9969be1a0b8ef",
-  "sha256": "0zx96m6cval5g4p0lhy9kpyycp2jygaq3y2njhkpij9gl4nb2ll2",
-  "fetcher": "github",
+  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
+  "sha256": "038brammgivaq2423sx0iy6n7d7lyx3r939a0b85ix8zvkcbinia",
+  "fetcher": "gitlab",
   "repo": "ideasman42/emacs-run-stuff",
   "unstable": {
    "version": [
-    20180209,
-    748
+    20200106,
+    443
    ],
-   "commit": "ed42a7bc9a197ccf1ca87f9937bf98f0a9ed3f92",
-   "sha256": "1w49v868n3723q6887y4bc5q8spd7xync5d581vvxdpi75qgvr0z"
+   "commit": "d9f7fde3d33446481655d18ca5423c03a23c2e41",
+   "sha256": "1g0n3cji2yj35hkcq3p4wnw3iv99k2hagidg6z7qpfavxasyxyn9"
   }
  },
  {
@@ -80541,11 +82593,11 @@
   "repo": "rust-lang/rust-mode",
   "unstable": {
    "version": [
-    20190517,
-    2037
+    20191208,
+    1654
    ],
-   "commit": "af84c0fe9ec13e45f6b7f07caf144607d0b82fca",
-   "sha256": "1b7lrbx5hk9vxr8zws8vcv3pfr3h0xjmc67kcw2njsjc83p4icwl"
+   "commit": "d0f3f45cc4fe1c5b72466253f051294d275a4b64",
+   "sha256": "0q6gq4qrcjz7hgjfqs4h2qh0v7z4zf5q8fvnpv7jn7agrzhrfwnm"
   },
   "stable": {
    "version": [
@@ -80588,8 +82640,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20190919,
-    1217
+    20200107,
+    1956
    ],
    "deps": [
     "dash",
@@ -80603,8 +82655,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "2f89af8886cfb346b136fe60c80e2f4e3de5bb0c",
-   "sha256": "1gggjg69c0jqyijqgmdbhvhpxspivxp3ljwj2ypzygx2xgmrih1h"
+   "commit": "3f1deff592ee5349d3618c080a0b26b5e30fbc63",
+   "sha256": "1w1yfiv80plbczw1y52vk8wkpddkbp57sj0jkxr0i3w14733cpjs"
   }
  },
  {
@@ -80639,11 +82691,11 @@
   "repo": "Kungsgeten/ryo-modal",
   "unstable": {
    "version": [
-    20190816,
-    1209
+    20191017,
+    1323
    ],
-   "commit": "0bb210f37539e9d0c1e77ae286a0d7db79cf8edf",
-   "sha256": "1x093wq7srgby3608n3q1vkdfvx9b98q7mzfhxwmy3999y7qhsk5"
+   "commit": "3a54312eea7023a86ca3f8eb3c03c872554bff2f",
+   "sha256": "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95"
   }
  },
  {
@@ -80755,16 +82807,16 @@
   "repo": "sagemath/sage-shell-mode",
   "unstable": {
    "version": [
-    20180215,
-    835
+    20191103,
+    1040
    ],
    "deps": [
     "cl-lib",
     "deferred",
     "let-alist"
    ],
-   "commit": "9f07ff835e8d19afe571dbe414afb690c7b1cb5c",
-   "sha256": "07al41ir1ab0z2m2acvx63scr33bfp3asshjl05shs4j9d4bkmdp"
+   "commit": "8ff9888fd84a96816512403a1b5ded93b4d4278b",
+   "sha256": "0rrp137r5cf049xqry3jz514pmdzfxkmri9z8kv08yk3w3c9sapj"
   },
   "stable": {
    "version": [
@@ -80857,8 +82909,8 @@
     20181130,
     101
    ],
-   "commit": "ae0b3c024b66275f22809e2b41f428b01c259b96",
-   "sha256": "1468byxxd0ysqzmi9ssypfhfyqrjgj5w7sx42qgw66m57sis8ra3"
+   "commit": "46352169bd6d2a86ca9c2052cd05ecd16fc7657b",
+   "sha256": "1k0b1w9a3b89ricji92nq4cqbh1l2fm7ly1bdl8pvf59drp7cpd4"
   }
  },
  {
@@ -80938,11 +82990,11 @@
   "repo": "nflath/save-visited-files",
   "unstable": {
    "version": [
-    20190430,
-    1508
+    20190927,
+    2153
    ],
-   "commit": "7eb71a6c4f9cb770b387fcef80231d9a9f648188",
-   "sha256": "01ampk085k0rb0bw85imwbs44p4wp20giiwwpbrv6f97bh1065m2"
+   "commit": "0b61c9bd16947bd99ccd61208bd481325e8c5cba",
+   "sha256": "04rrl0nn4mk8h7qyzh3lljagldm5hqhxv8ps6hkh0zz4il7ds018"
   }
  },
  {
@@ -81015,17 +83067,17 @@
  },
  {
   "ename": "sbt-mode",
-  "commit": "364abdc3829fc12e19f00b534565227dbc30baad",
-  "sha256": "0v0n70czgkdijnw5jd4na41vlrmqcshvr8gdpv0bv55ilqhiihc8",
+  "commit": "824a7ac85d5c2b8f1c7643bff4eb5931a4680309",
+  "sha256": "1i0056y27bcjpqrqgjhl14qk53r3ny8zzadsgyw2jqf5jvg561bc",
   "fetcher": "github",
-  "repo": "ensime/emacs-sbt-mode",
+  "repo": "hvesalai/emacs-sbt-mode",
   "unstable": {
    "version": [
-    20180511,
-    1622
+    20200106,
+    753
    ],
-   "commit": "e658af140547cbef495c33535c7f694a501d318c",
-   "sha256": "0lv9ridzk9x6rkf7lj21srnszypyq04vqg05vl10zhpz1yqlnbjd"
+   "commit": "633a315ad453cd963588c9b8fba02d9cf75296b4",
+   "sha256": "0ha2lyw42ir16b2d09y27q0rsdx6azcfv258frp1ja63mx0jiqic"
   },
   "stable": {
    "version": [
@@ -81048,8 +83100,8 @@
     20190413,
     1246
    ],
-   "commit": "497baa7a4f9e688b7c9eb6f16dd57e645202e041",
-   "sha256": "0ss7wkc46xmwgldhdygx0344zh2c51ny2xbj869sqpky1wi72z4c"
+   "commit": "552643c03e90ff47ae905c06f1d1afbbdb808966",
+   "sha256": "0gqazmv279b45ycvmkf403cxi3imd0vn97k1ldnnbwxjp3993cp7"
   }
  },
  {
@@ -81072,17 +83124,17 @@
  },
  {
   "ename": "scala-mode",
-  "commit": "564aa1637485192a97803af46b3a1f8e0d042c9a",
-  "sha256": "12x377iw085fbkjb034dmcsbi7hma17zkkmbgrhkvfkz8pbgaic8",
+  "commit": "eb0b5735e9d930502ea7346e29d350ba8068440c",
+  "sha256": "1wnl3ily5qsff36z6fkk86m58w591yc3m2nka22vslafj8m8gwl8",
   "fetcher": "github",
-  "repo": "ensime/emacs-scala-mode",
+  "repo": "hvesalai/emacs-scala-mode",
   "unstable": {
    "version": [
-    20170802,
-    1132
+    20190929,
+    1522
    ],
-   "commit": "56cba2903cf6e12c715dbb5c99b34c97b2679379",
-   "sha256": "13miqdn426cw9y1wqaz5smmf0wi3bzls95z6shcxzdz8cg50zmpg"
+   "commit": "44772cbf1e1ade52bc5066555ff0aed68569aaec",
+   "sha256": "0xnsyrsardsmjyj563dkl03f5d6g2syng1x721i0w36qkiqwcqr7"
   },
   "stable": {
    "version": [
@@ -81411,11 +83463,11 @@
   "repo": "ideasman42/emacs-scroll-on-drag",
   "unstable": {
    "version": [
-    20190826,
-    8
+    20200106,
+    442
    ],
-   "commit": "271b4aa6b38c2550119a36efac2b92cf1233e6e3",
-   "sha256": "1ia2mcl42r69dlyxabjh76c550x0nf0irhpsdbda0h3in62f7q6m"
+   "commit": "2fbd643ea9632d0e15d32e70b6f3c641476e3071",
+   "sha256": "1gjwsyvjwj4xsp83nws4bcmzsyxv4zp95a9fx0md86cc9gxw3h6n"
   }
  },
  {
@@ -81583,8 +83635,8 @@
   "repo": "shackra/secretaria",
   "unstable": {
    "version": [
-    20190116,
-    2000
+    20191128,
+    250
    ],
    "deps": [
     "alert",
@@ -81592,8 +83644,8 @@
     "org",
     "s"
    ],
-   "commit": "40f2df829c8b858922559cd1dfbf13a9f78db3e8",
-   "sha256": "1kxr9cl6zkr20llivlwyra268kj7iy4mn0505w6kdakg1v8ba22f"
+   "commit": "03986130a2ada1fa952d45e83536729f20230fcf",
+   "sha256": "10ikd6ksz5adpldyx9h8s3qnwc488rqixzwnd0rjjwqigmllj9lb"
   },
   "stable": {
    "version": [
@@ -81818,16 +83870,16 @@
   "repo": "conao3/seml-mode.el",
   "unstable": {
    "version": [
-    20190623,
-    1537
+    20191123,
+    1851
    ],
    "deps": [
     "htmlize",
     "simple-httpd",
     "web-mode"
    ],
-   "commit": "b9044a416694eb40550a17af678c0ac52b3e9f28",
-   "sha256": "0gsq0yvjp56y8h0hj3mpchf128b30azx2835phxiqkfkbwkpa9rd"
+   "commit": "1f8bda7e5a4a36212f968b462cfc31ce53c6db85",
+   "sha256": "1hc0rwlgapbqf9965n3nsyvd4chdga5av7ya82wjzxn1mx4bhifa"
   },
   "stable": {
    "version": [
@@ -82167,14 +84219,14 @@
   "repo": "wasamasa/shackle",
   "unstable": {
    "version": [
-    20190201,
-    1846
+    20191020,
+    1249
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "842a90b3ca04d9d886543f14ca5f04e8bd2a3d06",
-   "sha256": "08g72adgbhb1cj6897xrjmpbxcxs6pr8xha4868s293kn6dkh4ys"
+   "commit": "7ccbe513852a1d1700b698547efca14b8940319d",
+   "sha256": "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"
   },
   "stable": {
    "version": [
@@ -82320,11 +84372,11 @@
   "repo": "ieure/shell-here",
   "unstable": {
    "version": [
-    20150728,
-    1704
+    20191011,
+    1959
    ],
-   "commit": "251309141e18978d2b8014345acc6f5afcd4d509",
-   "sha256": "0z04z07r7p5p05zhaka37s48y82hg2dbk0ynap4inph3frn4yyfl"
+   "commit": "88b80deb1337a97b403b20fc467fa2d579b3bfd5",
+   "sha256": "1x9zcxsc6cnh0h051377asbqhcx3mzcarrnj9zmyg6fcszgas5v1"
   }
  },
  {
@@ -82570,11 +84622,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20190826,
-    741
+    20190930,
+    730
    ],
-   "commit": "c9cdb7e3075ddfc9aef356d42b376ebbb039bc7e",
-   "sha256": "1vg43ln70kifk3h0rwmj7w85mksg1yl3z4kqfq9q5zalp9jgwfsh"
+   "commit": "550cd4250d7db1248ffc3b6d897925558d9ef604",
+   "sha256": "116c0x7wric1gqxm8jswv732aymwd5hpy7dwzw19cx22w2j0imzy"
   }
  },
  {
@@ -82640,17 +84692,26 @@
  },
  {
   "ename": "show-eol",
-  "commit": "1ae308e8c251b7a6942f7d9f739830986f7315ea",
-  "sha256": "1k0ihimb4acc30qfmjj3hfpxknif3gzj0iikz23gizrsks7n5p1g",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "1lk397a0b2nwdd9v1vk0kpfd0d0slflsvy4h0ycyvcnbc53byni4",
   "fetcher": "github",
-  "repo": "elpa-host/show-eol",
+  "repo": "jcs-elpa/show-eol",
   "unstable": {
    "version": [
-    20190517,
-    257
+    20190924,
+    621
    ],
-   "commit": "ea4d5253d2a9ee61f0e76898f0ab760b5574df43",
-   "sha256": "1nmx1nxwb6fqkl5h988cjs3yi5cp65wm50w2lbffjd15pswd9kyg"
+   "commit": "bd0e47d7d61bf04a923a1d1689693a47af3a2b22",
+   "sha256": "0nq02qf7rxswxqcsl1lv7skd14ixmmyjkhk7wdbn5j3dhw192bh7"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    3
+   ],
+   "commit": "097a2a79e5bd7c297bcdc231559813056cd584ac",
+   "sha256": "0yhwd20azk6ib992fy3vzb9knqji3g6hz3ahz89sz71sjjvy1rrm"
   }
  },
  {
@@ -82794,34 +84855,19 @@
   "repo": "o-nly/emacs-shroud",
   "unstable": {
    "version": [
-    20190623,
-    126
-   ],
-   "deps": [
-    "bui",
-    "dash",
-    "dash-functional",
-    "epg",
-    "s"
+    20191219,
+    1722
    ],
-   "commit": "1d5e83cfcd549a5f553fb123d3d783ae418f72c7",
-   "sha256": "1r0dyqmrg0skkmm0h7s0pw8sqblkrarimlgn45flyjcv5kmcfgmm"
+   "commit": "f758d497f87afd847126d2e69b2f7ba10a5bbbfa",
+   "sha256": "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"
   },
   "stable": {
    "version": [
     1,
-    83,
-    4
-   ],
-   "deps": [
-    "bui",
-    "dash",
-    "dash-functional",
-    "epg",
-    "s"
+    105
    ],
-   "commit": "c7ea92e8694060fa6236074cde79e1021f23edc1",
-   "sha256": "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"
+   "commit": "f758d497f87afd847126d2e69b2f7ba10a5bbbfa",
+   "sha256": "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"
   }
  },
  {
@@ -82862,20 +84908,20 @@
   "repo": "riscy/shx-for-emacs",
   "unstable": {
    "version": [
-    20190623,
-    2154
+    20191027,
+    2130
    ],
-   "commit": "ef084c66e66651bf93cd0065469e862b627c044b",
-   "sha256": "1alpp27b3mxw9ansfixdcp4kpj1mak1k1gm370b8fv2s45b3sacb"
+   "commit": "298f96e68068d6891d20e6188e918ab55ac56b30",
+   "sha256": "17j406lxsa9d905j5g4707lmbiqb6lrswrrbyivda07blrrxrdpb"
   },
   "stable": {
    "version": [
     1,
-    1,
-    2
+    3,
+    0
    ],
-   "commit": "ef084c66e66651bf93cd0065469e862b627c044b",
-   "sha256": "1alpp27b3mxw9ansfixdcp4kpj1mak1k1gm370b8fv2s45b3sacb"
+   "commit": "298f96e68068d6891d20e6188e918ab55ac56b30",
+   "sha256": "17j406lxsa9d905j5g4707lmbiqb6lrswrrbyivda07blrrxrdpb"
   }
  },
  {
@@ -82916,11 +84962,11 @@
   "repo": "rnkn/side-notes",
   "unstable": {
    "version": [
-    20190903,
-    818
+    20191217,
+    919
    ],
-   "commit": "0d23b13938d4443463ee66956bf57e0a459cb166",
-   "sha256": "1mg0x390nzr844l4zlr4ismkxb9zyy35kg8zjlmy6pcggn7cf82c"
+   "commit": "6f01a16919f3efadfe628cfd9405426b539bebad",
+   "sha256": "1m280zp44bxly1r1y217i9rx4j3hzgy7zqzy0p7afiyy26n6jl46"
   },
   "stable": {
    "version": [
@@ -82997,11 +85043,11 @@
   "repo": "mswift42/silkworm-theme",
   "unstable": {
    "version": [
-    20180301,
-    1437
+    20191005,
+    1903
    ],
-   "commit": "4a297f952401cfe894dcb24174f6eda05e00fada",
-   "sha256": "00kjibpn3ry7j1s6kqmakybialpcx4919344lxks7wij5l6qqxx0"
+   "commit": "6cb44e3bfb095588aa3bdf8d0d45b583521f9e2c",
+   "sha256": "0w5h1gl8npmwmpvhhwchrknd977w4l3vvd2lib7qphinj117fhzv"
   },
   "stable": {
    "version": [
@@ -83082,14 +85128,14 @@
   "repo": "skeeto/emacs-web-server",
   "unstable": {
    "version": [
-    20190110,
-    1505
+    20191103,
+    1446
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "08535d0fad6a32fdc03d725ec74e10a754bb9c7a",
-   "sha256": "14cajlr1a2dx8x511zb20l633xqa0kqx3nn73x4ph2wwb35njk76"
+   "commit": "22ce66ea43e0eadb9ec1d691a35d9695fc29cee6",
+   "sha256": "1ghwfrnml8qmfm981xrrqga2ayw36pqv9s2zqaqzl6szzpwnkz8i"
   },
   "stable": {
    "version": [
@@ -83136,8 +85182,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "8b03b71303070b05d5def3c8a2564e4b5e67098a",
-   "sha256": "1g508x8hf8zlvi6kz9r8jxavl11y47y2gjldjnc6z6ijiqisy3dm"
+   "commit": "2d3304af173b657176a1284abecdad2861820119",
+   "sha256": "1ac03h5hmx6qhsscq5n1n75wc5s1nnvpghws3sij6j64ksixi3b6"
   }
  },
  {
@@ -83281,8 +85327,8 @@
   "repo": "chrisbarrett/skeletor.el",
   "unstable": {
    "version": [
-    20190212,
-    339
+    20191129,
+    841
    ],
    "deps": [
     "cl-lib",
@@ -83291,8 +85337,8 @@
     "let-alist",
     "s"
    ],
-   "commit": "47c5b761aee8452716c97a69949ac2f675affe13",
-   "sha256": "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"
+   "commit": "eb21383a9c9e7cf7ae2bbb85cb6d4f42aa3cb37f",
+   "sha256": "1vq4g8kpq9q4zyybw4k4hgvn13avxz653gdfrx4x5wvfqcr91mbx"
   },
   "stable": {
    "version": [
@@ -83348,15 +85394,15 @@
   "repo": "skeeto/skewer-mode",
   "unstable": {
    "version": [
-    20180706,
-    1807
+    20200103,
+    2247
    ],
    "deps": [
     "js2-mode",
     "simple-httpd"
    ],
-   "commit": "a381049acc4fa2087615b4b3b26c0865841386bd",
-   "sha256": "12fsp7mwmjxh5mhshriyxw8mlghzn3gfswf6hkz1hcb0yfd56d53"
+   "commit": "123215dd9bfa67ce5cc49cd52dd54c0ba7c7e02c",
+   "sha256": "0in27qfkshy84m0iyy2vfvvlapawxhxxpi2jzpqq6sps40kax4xh"
   },
   "stable": {
    "version": [
@@ -83442,8 +85488,8 @@
   "repo": "yuya373/emacs-slack",
   "unstable": {
    "version": [
-    20190803,
-    1406
+    20191230,
+    1016
    ],
    "deps": [
     "alert",
@@ -83453,8 +85499,8 @@
     "request",
     "websocket"
    ],
-   "commit": "ea89ac4291532a136d02bb8852b5dc641622ab73",
-   "sha256": "0gnmhlv3gzv5n8ydbg84n9m6i9d0akcvn032ipsyss6bqw1vzl1m"
+   "commit": "4e536bb4ee7a743605c5bfe7b91fc72b5c77fdf0",
+   "sha256": "1paiy7fx7b8fi6b2dd18qmwwldr2sdilccmvhdm4s70xrg90yxkw"
   }
  },
  {
@@ -83515,15 +85561,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20190920,
-    1906
+    20191224,
+    2328
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "ebf170aed587e98d9af75151df1d497e185f5ae0",
-   "sha256": "0mnw8s073am4inyg271xpsk79v5ha5bc646a9rd3b32152hlwnl7"
+   "commit": "e1a640a92ee8e63cc2670ef0cc44673f0c0bad0a",
+   "sha256": "0bycp6zcqxhrzq8ihqhqkyws2y8623jwc399ln4gklybgsdm1ibf"
   },
   "stable": {
    "version": [
@@ -83740,11 +85786,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20190709,
-    1511
+    20200101,
+    1514
    ],
-   "commit": "249a94ca9560d7ac07607d9a23cfc5c5f487943a",
-   "sha256": "02snfrgqp9iwprg4was3njhskbvlypggcgzc58alp0nvlvpszs6g"
+   "commit": "91e5a8e7401c9907825b4e72e0fde3498c10021e",
+   "sha256": "0jgpf4d3sik45l7y7igh3kgd3iqigmz4n3ic59mqcfi8lrhppscm"
   },
   "stable": {
    "version": [
@@ -83763,14 +85809,14 @@
   "repo": "mmgeorge/sly-asdf",
   "unstable": {
    "version": [
-    20190807,
-    553
+    20191021,
+    718
    ],
    "deps": [
     "sly"
    ],
-   "commit": "c387ba34a75b172e8a75747220c416462ae9de31",
-   "sha256": "1cr6p11vsplb6afh2avwb585q606npp692gb5vqs377nni5vx7km"
+   "commit": "69123fcebe63bb4d6e40e3dcb187299622401b74",
+   "sha256": "0f5ycdh02w6b6jkzw6fhsq9brdld78277cjykpy291112fx0ppny"
   },
   "stable": {
    "version": [
@@ -83793,14 +85839,14 @@
   "repo": "joaotavora/sly-hello-world",
   "unstable": {
    "version": [
-    20190701,
-    1443
+    20191013,
+    2137
    ],
    "deps": [
     "sly"
    ],
-   "commit": "355c94235afa9f79eefff1d22e97fcfa9c31d70c",
-   "sha256": "0aifmfw83bi0f761k1ppham0mc1b59w2bpas59355vrlbg7jm9vg"
+   "commit": "ae8fe0a0ebcce50425a1d411c027db06ddec39ce",
+   "sha256": "0gimlph6pbq0s313gqa85gzc2x2d9ba4yww91apikd6xl32707bg"
   }
  },
  {
@@ -83811,15 +85857,15 @@
   "repo": "joaotavora/sly-macrostep",
   "unstable": {
    "version": [
-    20190701,
-    1532
+    20191211,
+    1630
    ],
    "deps": [
     "macrostep",
     "sly"
    ],
-   "commit": "6c4d8ef7b6d39d6ef10053fb6ac08bfbed519d4f",
-   "sha256": "1z88h5g0j0mxbqh3k56bl40sydy04jsw7cnhasiyrxyk2glsfm57"
+   "commit": "5113e4e926cd752b1d0bcc1508b3ebad5def5fad",
+   "sha256": "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"
   }
  },
  {
@@ -83830,14 +85876,14 @@
   "repo": "joaotavora/sly-named-readtables",
   "unstable": {
    "version": [
-    20190701,
-    1800
+    20191013,
+    2138
    ],
    "deps": [
     "sly"
    ],
-   "commit": "6b37ed2201174caa86a44e8ac3350dd09e91e606",
-   "sha256": "1if4ssv0s66gcz8pz55gark9imbw1pilxs1h7y094ygnjcm4m0li"
+   "commit": "a5a42674ccffa97ccd5e4e9742beaf3ea719931f",
+   "sha256": "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"
   }
  },
  {
@@ -83848,14 +85894,14 @@
   "repo": "joaotavora/sly-quicklisp",
   "unstable": {
    "version": [
-    20190701,
-    1444
+    20191012,
+    2124
    ],
    "deps": [
     "sly"
    ],
-   "commit": "06d7281e70d71b9a37f488c8f63fd199e1fb0f97",
-   "sha256": "0ml3zshd9kkjspykiadi1nlq7mr5sjcmsvbbbcxrj2d2ki2skniv"
+   "commit": "01ebe3976a244309f2e277c09206831135a0b66c",
+   "sha256": "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"
   }
  },
  {
@@ -84008,14 +86054,14 @@
   "repo": "jojojames/smart-jump",
   "unstable": {
    "version": [
-    20190423,
-    158
+    20190925,
+    1518
    ],
    "deps": [
     "dumb-jump"
    ],
-   "commit": "7df77da872dc836dbf032388fc6de82dbc9fa22c",
-   "sha256": "0w8jfsm6k2ayk0hg0imsm2vv8y5im5crlij9zi18iwa1mrqkmhsp"
+   "commit": "07800ddd508cf620e6360e4a1f5bb25f8eab3ab1",
+   "sha256": "0g6s5v2mpdd06i8yih8c8qj3bz1j1bdnki1937mn5ca163gjlrr9"
   }
  },
  {
@@ -84070,14 +86116,14 @@
   "repo": "daviderestivo/smart-mode-line-atom-one-dark-theme",
   "unstable": {
    "version": [
-    20181220,
-    1756
+    20200106,
+    2016
    ],
    "deps": [
     "smart-mode-line"
    ],
-   "commit": "79261aeafa89664039201e3d3f405bc8b0a6aa8d",
-   "sha256": "06x1na621cm7183im2g2gxkvaqm0yfr9b9i0fbz9bwkcmijxrgmw"
+   "commit": "e281b52b164a477fcdb6a468976e8a1bdde1ca26",
+   "sha256": "0m4c63anrmbbdaf0chiagzgkcgbi30bhkjx3v7c4i9nk98yz9zkw"
   }
  },
  {
@@ -84249,15 +86295,15 @@
   "repo": "Fuco1/smartparens",
   "unstable": {
    "version": [
-    20190904,
-    1742
+    20200105,
+    1259
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "12856838cf9b0e6a635a6ceb14a22fdc03b04728",
-   "sha256": "1252j96slvipjlixp9gzlsa5za7zx9a7piz661qmbv6pb812ibfr"
+   "commit": "9449ae08593180ba99e4517897e8e825d3c422a8",
+   "sha256": "1h08awp6jr6ab7kb79dld6aygjl2vjnml81q3h7hqm3p7v9jv2h2"
   },
   "stable": {
    "version": [
@@ -84822,14 +86868,14 @@
   "repo": "hlissner/emacs-solaire-mode",
   "unstable": {
    "version": [
-    20190721,
-    1046
+    20200106,
+    57
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "794245665c3374af74880cbc7b16b4da02ad0411",
-   "sha256": "0s63fxdznclqz5gy0vqvw50g92dgk452mqwx67akj68yl35apj8c"
+   "commit": "2bfb3efe5a646079389dad6ca60e5e7f2c986829",
+   "sha256": "04inv9iny0ndkm2lwr82gvyfv73v50bn0sjrdbdqhkzxqxf8yr2k"
   },
   "stable": {
    "version": [
@@ -84852,15 +86898,14 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20190809,
-    1202
+    20191212,
+    1808
    ],
    "deps": [
-    "cl-lib",
     "dash"
    ],
-   "commit": "55cd77b61b6968048c61e13358ba487d217f24c0",
-   "sha256": "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"
+   "commit": "fac531ce8890795850bc12bb3ca63526b5252a07",
+   "sha256": "0rfdhfyp0b60cfz7q9bdk5y8nyr0rp6jg0mrb34mvnxc54aardag"
   },
   "stable": {
    "version": [
@@ -84891,8 +86936,8 @@
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "47f15b2663a6cf92ae6ebf655841a9509ad79017",
-   "sha256": "0zhr5fcv8vlkcnya36y9smpgw7ylb0fkx0px8zr0zhr2f9xgjmph"
+   "commit": "20d769513f42d8f82a4de7a42db89f59fb1c8fa1",
+   "sha256": "00y7arkg16yp7p4pvhjq0gkgchvpq65ql8jq42hkamh3gvj8gssq"
   },
   "stable": {
    "version": [
@@ -84912,11 +86957,11 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20190302,
-    909
+    20191214,
+    859
    ],
-   "commit": "47f15b2663a6cf92ae6ebf655841a9509ad79017",
-   "sha256": "0zhr5fcv8vlkcnya36y9smpgw7ylb0fkx0px8zr0zhr2f9xgjmph"
+   "commit": "20d769513f42d8f82a4de7a42db89f59fb1c8fa1",
+   "sha256": "00y7arkg16yp7p4pvhjq0gkgchvpq65ql8jq42hkamh3gvj8gssq"
   },
   "stable": {
    "version": [
@@ -85128,8 +87173,8 @@
   "repo": "r0man/soundklaus.el",
   "unstable": {
    "version": [
-    20160314,
-    1231
+    20191220,
+    2112
    ],
    "deps": [
     "cl-lib",
@@ -85139,8 +87184,8 @@
     "request",
     "s"
    ],
-   "commit": "09ec030843482594beae2664b8fe1e0ad1e66472",
-   "sha256": "0w5ac515ymj43p5j19nhfqk0c3251c7x3i97r550g780niby1nc5"
+   "commit": "15ce6e7f24a45e4f202d83cca9fa3bfdd94ca592",
+   "sha256": "03c86qxdya306p6150f3vwhlh51q5vsbgqzgcdxhm72raf32gs59"
   }
  },
  {
@@ -85259,8 +87304,8 @@
     20150719,
     1931
    ],
-   "commit": "7f70ee36297e5ccf9bc90b1f81472024f5a7a749",
-   "sha256": "1a8jp7m9zarvljg5d9c8ydir3qcmwx05c3frs696p9nwvapf6lsb"
+   "commit": "9826265c2bceb2ebc1c5e16a45021da0253ace97",
+   "sha256": "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"
   }
  },
  {
@@ -85271,8 +87316,8 @@
   "repo": "TheBB/spaceline",
   "unstable": {
    "version": [
-    20181223,
-    2024
+    20191230,
+    1221
    ],
    "deps": [
     "cl-lib",
@@ -85280,8 +87325,8 @@
     "powerline",
     "s"
    ],
-   "commit": "ae45a819ea7ae52febb4d7d82170af44dff10f19",
-   "sha256": "01dyi0s8yilkgs0ifi489004195l4zrm9dqbybip4136l9zmlini"
+   "commit": "1b26af2c1a701481ac5d90928fe0200e389756c3",
+   "sha256": "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"
   },
   "stable": {
    "version": [
@@ -85341,11 +87386,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20190820,
-    816
+    20191227,
+    1039
    ],
-   "commit": "32ddc1a9b9f4f58ebe8410abc1124b7acf0f36b1",
-   "sha256": "14bga23rf9zn18fbs8zdhksi2kyxq0s937fbjpl0q91x05b6m61f"
+   "commit": "06a41d03274902bf16888b89db5a6ab6a054b11e",
+   "sha256": "0iml1qisamwv9pf07h0k5a3sff5m7vlnk4780k5nyv324aih1r05"
   }
  },
  {
@@ -85488,25 +87533,43 @@
   "repo": "parkouss/speed-type",
   "unstable": {
    "version": [
-    20190526,
-    953
+    20191204,
+    1107
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c98f9ebd4abf96db967f9c0dff9ccfa4b7f4035b",
-   "sha256": "1hjpxr5nb08g5vz7wmlf3zxazvj419528rfwdpkpbmdsjmy67fbf"
+   "commit": "5ef695f7159aa1f20c7c9e55f0c39bcdacce8d21",
+   "sha256": "17xh7f1ps6bfs55a08d0jjma2hs117fv4j90w4xif0n2h49m4pjp"
   },
   "stable": {
    "version": [
     1,
-    1
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5d691f57743304db63b6afdc5bd79dabd282d390",
-   "sha256": "08qp2b80rh9k8h5vv141lfsg73rqqikhh7ygal789rr278ai1rjf"
+   "commit": "5ef695f7159aa1f20c7c9e55f0c39bcdacce8d21",
+   "sha256": "17xh7f1ps6bfs55a08d0jjma2hs117fv4j90w4xif0n2h49m4pjp"
+  }
+ },
+ {
+  "ename": "speedbar-git-respect",
+  "commit": "f468cf6a61479f15d02368ed8c3f6c94214d72db",
+  "sha256": "15py09mjkjci00578nlvniw3inr4jdr8sashkv5li5kzl6b30gwk",
+  "fetcher": "github",
+  "repo": "ukari/speedbar-git-respect",
+  "unstable": {
+   "version": [
+    20191121,
+    2120
+   ],
+   "deps": [
+    "f"
+   ],
+   "commit": "4703650c20cb77f08833747529b55be13d450bae",
+   "sha256": "0qb2azx3blm8iz0y5f8p5zxkbmx6pjzxwpfzg64qi3741xijv8lw"
   }
  },
  {
@@ -85861,17 +87924,17 @@
  },
  {
   "ename": "sql-clickhouse",
-  "commit": "a0ef23e6825924094eb69bd8526a95d8fab210c1",
-  "sha256": "083i9aaf69yk71mndl5x0pimn3bkkhp3mfppxvy0f5lzf2847q2j",
+  "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
+  "sha256": "1sxh22dl0px81z85dj9r97nj8pnc6g9ah06q1bgf3bii7yl6qdy8",
   "fetcher": "github",
-  "repo": "leethargo/sql-clickhouse",
+  "repo": "rschwarz/sql-clickhouse",
   "unstable": {
    "version": [
-    20180302,
-    1555
+    20191209,
+    1443
    ],
-   "commit": "2edccd94145c55a040a3a87193793f06cf01f64f",
-   "sha256": "0zajd35i02h869mg6n2pn2fnb80ddny6ss1kap21b75p2gw79lb7"
+   "commit": "8403a4a5d332dbb6459b7fbce6ea95c36d390a5b",
+   "sha256": "0c039m67jc2xq9pmn0xmqr07nzdssc4vbk51ng0272kcs9mbslrf"
   }
  },
  {
@@ -85922,6 +87985,21 @@
   }
  },
  {
+  "ename": "sql-sqlline",
+  "commit": "0fd21ac42207156f7300f4ab6ac082c801740daf",
+  "sha256": "1b5jkdajif0yc558nv29y8vimnj6bq52z2m91qj6mplcbgpdrnn6",
+  "fetcher": "gitlab",
+  "repo": "matteo.redaelli/sql-sqlline",
+  "unstable": {
+   "version": [
+    20191028,
+    939
+   ],
+   "commit": "990c79b7ebbf8ecb1e1161c9a942973efd8e2833",
+   "sha256": "0jl13ymbb0yxvkqipw821wq797izzj5j72vzdc5d30dwdd2wxm83"
+  }
+ },
+ {
   "ename": "sqlformat",
   "commit": "6bdaa1ccae12f2ea779ac6989607d8027feac2c9",
   "sha256": "07lf2gx629429b41qr04gl98gplb538gb5hw7idzrmi3higrmv8m",
@@ -86017,11 +88095,11 @@
   "repo": "srcery-colors/srcery-emacs",
   "unstable": {
    "version": [
-    20190909,
-    1149
+    20191123,
+    1753
    ],
-   "commit": "0879e2fe1872fe11c3ddfab631987ed64bb5c437",
-   "sha256": "0mwy50rydy64zcy9g08b952vjd5ij9gwgcsl6ipaq52kjhs7x8l8"
+   "commit": "bbd9b9239fc1a05f1aa1b7e7810166b4aa463ccc",
+   "sha256": "0ikxqxm4bfnl6v6ykn0zzbkqn7bj12b66x4bcyz8cp3vqv5v8fkg"
   },
   "stable": {
    "version": [
@@ -86125,14 +88203,14 @@
   "repo": "magit/ssh-agency",
   "unstable": {
    "version": [
-    20180508,
-    26
+    20191009,
+    156
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d9dbedd773ad3a831e02e162c47936d6814a850a",
-   "sha256": "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"
+   "commit": "89ea87dbfa0aa2fe644f7215aa3628c3008852c5",
+   "sha256": "0mkrn3jildlqyrkbdp31zf24vkzx4ycy49kxqs3vspbbcpanpj7j"
   },
   "stable": {
    "version": [
@@ -86154,11 +88232,11 @@
   "repo": "jhgorrell/ssh-config-mode-el",
   "unstable": {
    "version": [
-    20190712,
-    1840
+    20191221,
+    1051
    ],
-   "commit": "4c1dfa57d452cb5654453bf186c8ff63e1e71b56",
-   "sha256": "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"
+   "commit": "e9f009c064f63ca488c89c30ab0d3857a0155f86",
+   "sha256": "1f6bj718jkdsbj38f75kwvg54kk4fisv7s9dcgh3gjf0n7xalkgc"
   }
  },
  {
@@ -86224,58 +88302,58 @@
  },
  {
   "ename": "stan-mode",
-  "commit": "67a44a0abe675238b10decdd612b67e418caf34b",
-  "sha256": "17ph5khwwrcpyl96xnp3rsbmnk7mpwmgskxka3cfgkm190qihfqy",
+  "commit": "0d31e038cd133936085994641f9af2bb7d15ba36",
+  "sha256": "1pvdh1pgjcbvkw2qh1mpazfrmcjhwv95a1s4flbn4zijmb2zigdf",
   "fetcher": "github",
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20190805,
-    1427
+    20191106,
+    131
    ],
-   "commit": "e60fe0caecb8e84d0b8fc160a0cdf8343e33d905",
-   "sha256": "16wl8r1409v3cjfb91fkv42gf9cbzgcd1cvqpypj3jm3hdmlz9gz"
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
   },
   "stable": {
    "version": [
-    9,
-    3,
+    10,
+    0,
     0
    ],
-   "commit": "e60fe0caecb8e84d0b8fc160a0cdf8343e33d905",
-   "sha256": "16wl8r1409v3cjfb91fkv42gf9cbzgcd1cvqpypj3jm3hdmlz9gz"
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
   }
  },
  {
   "ename": "stan-snippets",
-  "commit": "eda8539b7d8da3a458a38f7536ed03580f9088c3",
-  "sha256": "021skkvak645483s7haz1hsz98q3zd8hqi9k5zdzaqlabwdjwh85",
+  "commit": "57f9fe7c4735d4106ad2a0f27331c3e3fe8833c0",
+  "sha256": "1ar2abnlav1sy9622387ps5gr7fls0mx2msczvan4wrc1nnfvwdx",
   "fetcher": "github",
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20190805,
-    1427
+    20191104,
+    1056
    ],
    "deps": [
     "stan-mode",
     "yasnippet"
    ],
-   "commit": "e60fe0caecb8e84d0b8fc160a0cdf8343e33d905",
-   "sha256": "16wl8r1409v3cjfb91fkv42gf9cbzgcd1cvqpypj3jm3hdmlz9gz"
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
   },
   "stable": {
    "version": [
-    9,
-    3,
+    10,
+    0,
     0
    ],
    "deps": [
     "stan-mode",
     "yasnippet"
    ],
-   "commit": "e60fe0caecb8e84d0b8fc160a0cdf8343e33d905",
-   "sha256": "16wl8r1409v3cjfb91fkv42gf9cbzgcd1cvqpypj3jm3hdmlz9gz"
+   "commit": "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a",
+   "sha256": "0d1kp6lhg1jvfqz5j33lc2156bh41nahprcbgdhmsx49lm7g2cn0"
   }
  },
  {
@@ -86433,16 +88511,16 @@
     20171130,
     1559
    ],
-   "commit": "43559408e8340e8fac588c5711c40f7cdca48f96",
-   "sha256": "1w576zzb0dzffn59bxf14z32vy7rmdj4k8ms2dy7qn4vhmyr38jx"
+   "commit": "f2086b33ab310b70a47453011318d0ed5d432239",
+   "sha256": "0rx5h0d54f9w232w7r654qzpk2937zcgv0s3r2sya0ansxkk79kx"
   },
   "stable": {
    "version": [
     0,
-    19
+    21
    ],
-   "commit": "d86a0c1ffd8db519a1e8d56b3d972fdd8a7f4818",
-   "sha256": "1dzl6cnyzwbzysp82x7w1yc03g25kwan3h0zpnzhhfhg6c904sis"
+   "commit": "ce4e2a7493ce77f86d94afb1fbe9539baa337c02",
+   "sha256": "16gwdad18rc9bivyzrjccp83iccmqr45fp2zawycmrfp2ancffc7"
   }
  },
  {
@@ -86922,11 +89000,11 @@
   "repo": "zevlg/sudoku.el",
   "unstable": {
    "version": [
-    20161111,
-    706
+    20191015,
+    1315
    ],
-   "commit": "77c11b5041b58fc943cf1668b44b40bae039cb5b",
-   "sha256": "18nbs980y6cj6my208i80cb928rnkk5rn3zwc63prk5whjw4y77v"
+   "commit": "b1924fd244a5fa284de9d67b66fbd69164b37318",
+   "sha256": "19i3rrz4qnc9i845j0bbmps69372rry7gadcyj06gvq2hf9dy3nh"
   }
  },
  {
@@ -87271,6 +89349,39 @@
   }
  },
  {
+  "ename": "swift-helpful",
+  "commit": "052fb5b561bee1dd71c2c227c75c4f6db4261f68",
+  "sha256": "0rrhi14asrswzg4pn38vyqrc0bh83bs4jfvdj3sbd7jd1zizgj09",
+  "fetcher": "github",
+  "repo": "danielmartin/swift-helpful",
+  "unstable": {
+   "version": [
+    20191226,
+    103
+   ],
+   "deps": [
+    "dash",
+    "lsp-mode",
+    "swift-mode"
+   ],
+   "commit": "04c2bf38c16d7cf03a43c065baabaed3a80e78d3",
+   "sha256": "0xi23ywj9kf5qsw933raqs66yl859hhg62na3zybm78l2kq6dnhg"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "dash",
+    "lsp-mode",
+    "swift-mode"
+   ],
+   "commit": "661e6fe419948419da4abf916b193b331b80a3be",
+   "sha256": "08w9h12y54aj2q6k48p9fglacppb5mlqh18h43n45hd7rcph3j93"
+  }
+ },
+ {
   "ename": "swift-mode",
   "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
   "sha256": "103nix9k2agxgfpwyhsracixl4xvzqlgidd25r1fpj679hr42bg8",
@@ -87278,14 +89389,14 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20190609,
-    507
+    20191130,
+    544
    ],
    "deps": [
     "seq"
    ],
-   "commit": "be8d7700cdbf47576d7c4e0a7e0855cce0fe9ad8",
-   "sha256": "020jd4byxm8yh651symcs0v8zwrbm7cn9mn5ampjfwf1k43bq1bj"
+   "commit": "1268425311ab20f1618df4e52cb1b79e28b553df",
+   "sha256": "1ghm5spzxxdvwn1lk3xci62hiv12x4hzjk5xh9q522a833nl04i4"
   },
   "stable": {
    "version": [
@@ -87362,26 +89473,26 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20190822,
-    1708
+    20200105,
+    1958
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "79333e9edfee38ec3b367c33711a68bdf7783259",
-   "sha256": "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"
+   "commit": "3c6e5daccbc8678ee881b435ac956778de82a076",
+   "sha256": "184cdd41da1xizhbdymq9g3a8ryscdr6fq15vswdfv5gx8dx2fz6"
   },
   "stable": {
    "version": [
     0,
-    12,
+    13,
     0
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "85d1e2e779ca92e6ef8e47d08f866b13d4d87aee",
-   "sha256": "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w"
+   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
+   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
   }
  },
  {
@@ -87516,8 +89627,8 @@
   "repo": "vermiculus/sx.el",
   "unstable": {
    "version": [
-    20190114,
-    1523
+    20191229,
+    1746
    ],
    "deps": [
     "cl-lib",
@@ -87525,8 +89636,8 @@
     "let-alist",
     "markdown-mode"
    ],
-   "commit": "49358eae36dd4bb5b9207313b30df085e7f25cef",
-   "sha256": "08x2bli821b47sp1jwgg8k8q292z4ryl052rfna0vkcjqv6l5bav"
+   "commit": "e9d1093c97507a6d7b4f4710ef65200dae725e5f",
+   "sha256": "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"
   },
   "stable": {
    "version": [
@@ -87551,11 +89662,14 @@
   "repo": "wolray/symbol-overlay",
   "unstable": {
    "version": [
-    20190608,
-    442
+    20191224,
+    250
+   ],
+   "deps": [
+    "seq"
    ],
-   "commit": "e40a7c407f24158c45eaa5f54ed41f5e416a51dc",
-   "sha256": "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"
+   "commit": "8096a684c29bae20e1f5a1c7adbe7881680a5c10",
+   "sha256": "1x7ghzxn5634amvj6r786j8nm25b780pz8h57z7qk40x0s6qk5a7"
   },
   "stable": {
    "version": [
@@ -87600,8 +89714,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20190810,
-    432
+    20191203,
+    2038
    ],
    "deps": [
     "cider",
@@ -87618,13 +89732,13 @@
     "slime",
     "smartparens"
    ],
-   "commit": "745dc44bc1569a05ade034981277ee5955677798",
-   "sha256": "0c1sibigy0kvhizxg2198k9kqgb57cmcjx7l0jmar2cgnmndbrgj"
+   "commit": "bf3c566868cfbc1d1a280a099918c8ce4802a0f1",
+   "sha256": "1jbjk0j13ya0s2mzzir45w07544mlhzr4wqsdj2ar9h3kmw4y97x"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
@@ -87642,8 +89756,8 @@
     "slime",
     "smartparens"
    ],
-   "commit": "88d09bdae222ae4ad0e40fbb1a724d63d06af214",
-   "sha256": "0nd96apnmdi4iv4pcai1bp9s5zrq5nsqqq1k5kdjbpiybhjdzk98"
+   "commit": "bf3c566868cfbc1d1a280a099918c8ce4802a0f1",
+   "sha256": "1jbjk0j13ya0s2mzzir45w07544mlhzr4wqsdj2ar9h3kmw4y97x"
   }
  },
  {
@@ -87758,26 +89872,26 @@
   "repo": "hpdeifel/synosaurus",
   "unstable": {
    "version": [
-    20190305,
-    2206
+    20191125,
+    552
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "bc26f5c22b4d08dd09d0852435814977433c9521",
-   "sha256": "0hpcnslgs5qh3knapw1x7imia3b1yplicpddnzzpxnjsp7psypwh"
+   "commit": "14d34fc92a77c3a916b4d58400424c44ae99cd81",
+   "sha256": "1z6ij6yydjym1ds2vshnkaakng0qgix4r7kzndh8jwrisvb5vml3"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "56efdc38952b9bd56a445591fcdeb626aede8678",
-   "sha256": "0hi2jflrlpp7xkbj852vp9hcl8bfmf04jqw1hawxrw4bxdp95jh2"
+   "commit": "14d34fc92a77c3a916b4d58400424c44ae99cd81",
+   "sha256": "1z6ij6yydjym1ds2vshnkaakng0qgix4r7kzndh8jwrisvb5vml3"
   }
  },
  {
@@ -87806,14 +89920,14 @@
   "repo": "emacs-berlin/syntactic-close",
   "unstable": {
    "version": [
-    20190905,
-    619
+    20191119,
+    1007
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9bc6dd926bb879cd95ac0def484181f8c6b53419",
-   "sha256": "0bss78m7x46rdivdz74pygq5vdvsna1aabrdj081g4ay36n6grrj"
+   "commit": "5760319d8fdb3672dd0e95880c30e9c4d92ab239",
+   "sha256": "0rkqflaz0npclnjsy2r6apkjrzlw5zrpa6j87sbjpnnh0jgcsmsq"
   }
  },
  {
@@ -87956,11 +90070,11 @@
   "repo": "holomorph/systemd-mode",
   "unstable": {
    "version": [
-    20180629,
-    2106
+    20191219,
+    2304
    ],
-   "commit": "401d71c2dd24e424216ae5e4275c830f2a9c6b0c",
-   "sha256": "06b8j64fk711fay0p4ifypvpdv2l2kz80rx1hhm6g9991h0x33bj"
+   "commit": "51c148e09a129ddf33d95276aa0e89d4ef6f8dd2",
+   "sha256": "0mikrj91qip5f0sj62c4gamvw7h6wc0yz8cfyzj9h3gxrllkp87k"
   },
   "stable": {
    "version": [
@@ -88111,11 +90225,11 @@
   "repo": "politza/tablist",
   "unstable": {
    "version": [
-    20190414,
-    643
+    20191129,
+    1850
    ],
-   "commit": "8079801527da1f596bc942162026328d7bdf6ad9",
-   "sha256": "11bm7z4kdxrq6pv93zwrmg729mnvqvhgmna9r2wqx2wyf87vdh00"
+   "commit": "41a9612f51bad36d6689667c11f42f8143103bb2",
+   "sha256": "0j6y9jh3qynbsya5aag3pfjfdizmxdz4ldry0qnx4rd9nz0cs7mi"
   },
   "stable": {
    "version": [
@@ -88244,11 +90358,11 @@
   "repo": "11111000000/tao-theme-emacs",
   "unstable": {
    "version": [
-    20190204,
-    1104
+    20191120,
+    327
    ],
-   "commit": "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c",
-   "sha256": "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"
+   "commit": "d5b9693fcabf2281319acaf09e685e3eedf27e8f",
+   "sha256": "1spwnhff3mlhi5ffqfz7fyy8d5wq4qk7q57ba7p7wxq6i08mwbms"
   },
   "stable": {
    "version": [
@@ -88268,11 +90382,11 @@
   "repo": "saf-dmitry/taskpaper-mode",
   "unstable": {
    "version": [
-    20190919,
-    727
+    20191128,
+    1140
    ],
-   "commit": "c95fb2375b0c8d448a347241eb95f160e6880e99",
-   "sha256": "18qdnjxr4p4a2ds4k7sk5kkykyxcfri8zws3bhisfz1kayad1wlg"
+   "commit": "b3e844ae64b9a7cbbb1427a26fca2d01f8e74c6d",
+   "sha256": "0yj1mxy81pfz71drdyvz5gmam6ypw798m5wiff0zj93kjs5f2k4q"
   },
   "stable": {
    "version": [
@@ -88310,14 +90424,14 @@
   "repo": "phillord/tawny-owl",
   "unstable": {
    "version": [
-    20190912,
-    1357
+    20191108,
+    1346
    ],
    "deps": [
     "cider"
    ],
-   "commit": "217ca22fdff89a2bbe23d67afd43c06f928de826",
-   "sha256": "0w16icw1g1naaasvnjaggjvqyfbbwmc4xlw928dnqyfyys2a4j60"
+   "commit": "079028b7547743a36384650981ea068849aac53e",
+   "sha256": "06sjr4fv8p8y56a35pzghn89r1nzr2h5h3m98h0296bgnz8jgyg2"
   },
   "stable": {
    "version": [
@@ -88396,14 +90510,14 @@
   "repo": "Wilfred/tco.el",
   "unstable": {
    "version": [
-    20190309,
-    55
+    20191129,
+    2040
    ],
    "deps": [
     "dash"
    ],
-   "commit": "482db5313f090b17ed22ccd856f0e141dc75afe6",
-   "sha256": "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"
+   "commit": "d82478d56568f60b3a82fd010b3ca0bab2ef5dc9",
+   "sha256": "0lh04mpa1yb3mwasvnnbdzffcig7ndlk13d96a0lavqn49a10fa3"
   }
  },
  {
@@ -88468,26 +90582,26 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20190920,
-    1329
+    20200101,
+    2251
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "54a340d891ce3c99d2eb51d43cdfe7531708128d",
-   "sha256": "0421xy85vzf443ildd6sn9srifw86kh7v2vn4wg1c91s0y3sq0y7"
+   "commit": "88623eeb1ca4b79667d1a860496f5ea636611514",
+   "sha256": "1w5krpqraxfiwyz8nr9fwa4gfrj0fzr698dhvxzbpyjibdsna5xx"
   },
   "stable": {
    "version": [
     0,
-    4,
+    5,
     4
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "4457087e1e34e7340d3678714807335665d798d8",
-   "sha256": "0s2a9hwa775qyfad1zikah0vnpn9mbydzf8ipsyabns2hhjzf225"
+   "commit": "9bfb637b2e71f5f293debd35abd627a064faf8ef",
+   "sha256": "06v8i3862n5kf2lnxii8vp9g8cq5ql51kr8yxh7l1wccsidri67a"
   }
  },
  {
@@ -88521,16 +90635,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20190424,
-    1934
+    20191120,
+    27
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "408e05e105e8e521735221f4c98fc358e007df3b",
-   "sha256": "123fxr4pjm7z3pidrwgcalb99s0vq3d6imkwgla6fyqyyn9wvag2"
+   "commit": "bfe7b189d708d9cbc69ef2eaf5542108edc4257d",
+   "sha256": "0dkscbjms2557fzd7gawgsic6gfzypyn973skiyhy0y8zimmr406"
   },
   "stable": {
    "version": [
@@ -88920,21 +91034,21 @@
     "cl-lib",
     "json"
    ],
-   "commit": "556f5559255518865456af0b228f86bfabd43e6b",
-   "sha256": "1dvdd4vzdfkgb9blc6f5402kknp3ppxjyd94cn696rlfrya58vmm"
+   "commit": "0d19800db70a6348c627a69f444b91d21ad89629",
+   "sha256": "0ydrxxc3lgs8mpg577iw5sfxgyqfbdkrghwxmv8sxf6sawvhx8zv"
   },
   "stable": {
    "version": [
     0,
     24,
-    0
+    3
    ],
    "deps": [
     "cl-lib",
     "json"
    ],
-   "commit": "4ba411719279c62d9c0acd1243a03477ada1ac32",
-   "sha256": "1af614di6yb91ychi56i788n1qh3nsc2a8i8jyz1ram122dbf0jj"
+   "commit": "0d19800db70a6348c627a69f444b91d21ad89629",
+   "sha256": "0ydrxxc3lgs8mpg577iw5sfxgyqfbdkrghwxmv8sxf6sawvhx8zv"
   }
  },
  {
@@ -88953,22 +91067,22 @@
     "cl-lib",
     "tern"
    ],
-   "commit": "556f5559255518865456af0b228f86bfabd43e6b",
-   "sha256": "1dvdd4vzdfkgb9blc6f5402kknp3ppxjyd94cn696rlfrya58vmm"
+   "commit": "0d19800db70a6348c627a69f444b91d21ad89629",
+   "sha256": "0ydrxxc3lgs8mpg577iw5sfxgyqfbdkrghwxmv8sxf6sawvhx8zv"
   },
   "stable": {
    "version": [
     0,
     24,
-    0
+    3
    ],
    "deps": [
     "auto-complete",
     "cl-lib",
     "tern"
    ],
-   "commit": "4ba411719279c62d9c0acd1243a03477ada1ac32",
-   "sha256": "1af614di6yb91ychi56i788n1qh3nsc2a8i8jyz1ram122dbf0jj"
+   "commit": "0d19800db70a6348c627a69f444b91d21ad89629",
+   "sha256": "0ydrxxc3lgs8mpg577iw5sfxgyqfbdkrghwxmv8sxf6sawvhx8zv"
   }
  },
  {
@@ -89164,14 +91278,14 @@
   "repo": "TobiasZawada/texfrag",
   "unstable": {
    "version": [
-    20190606,
-    2049
+    20200104,
+    41
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "b3e137ed123cc077d77b056ca3e0f850a451d327",
-   "sha256": "0jj742sv5gb3zw8jnzlh0w5jlfzk58mdhc14zxhslvxm9hk6ghx8"
+   "commit": "2a5561b4534a3b78718e2c5fe30550c89341874e",
+   "sha256": "1i583i2h9f5bsg663yl9xriv1lc5gb5w4ql6b5r9dwv33lg7l6mx"
   },
   "stable": {
    "version": [
@@ -89341,8 +91455,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "388138a238fbab9b4bc5ada0300c9bc5ef63d3f1",
-   "sha256": "0gab7ph1d7z0bjflqrj1y1lb4nk4c32bkpi943px0m5s5cjm54jv"
+   "commit": "67ca7e6ac4740a412a1ea29f86e46ceeb636535a",
+   "sha256": "07bfiikrbmk1jc9ir5d3iwvsi3hbfcsira8gsicphwzhaiahqc1c"
   },
   "stable": {
    "version": [
@@ -89478,18 +91592,18 @@
     20180905,
     1050
    ],
-   "commit": "21ef6dc0625e6befbffbd5878265ee9985406151",
-   "sha256": "012kfjjb5jpzairp17cdafry8mw5v8w2dqplzhx41bw18y88qv67"
+   "commit": "71240fbb5fec6d0aef967f26cfe6f29d5fa0404c",
+   "sha256": "1m8ahhz02fii84arzn9zpy0i2y1z2rbc1743y9dhf2ajqc0znigm"
   },
   "stable": {
    "version": [
-    2019,
-    7,
-    29,
+    2020,
+    1,
+    6,
     0
    ],
-   "commit": "e30e8a85fdd5e66318be64a66f879e42ace97825",
-   "sha256": "0n9yvw7m3wj5nphiavb27s8g8nnzwlm42k781y6rzwb0q8baxnzz"
+   "commit": "1362aa1d2d0ccc8a3ce28957a1385c216e72bad7",
+   "sha256": "1axhy9rg75bmqckahriaxrwg9avn67vnna5d9m7cpzq2pj7spssc"
   }
  },
  {
@@ -89539,26 +91653,26 @@
   "repo": "tidalcycles/Tidal",
   "unstable": {
    "version": [
-    20190320,
-    2158
+    20191210,
+    1647
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "621d95f6563d550bf777a51a2010f23382d61a78",
-   "sha256": "0ps8zjfkwjan5ziil6jhz7ls3mzgk970js0gaja3ndwsd5nlsmq2"
+   "commit": "014560454f352997839ffd54dbca24b638a9d456",
+   "sha256": "1yvqfc0jfyzc1nkvafnk5jpnbrrfbmj4i28gd1dkq79h6hykl4li"
   },
   "stable": {
    "version": [
     1,
     4,
-    2
+    7
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "eabe03946d2d537e38d8f38f8c30d38a18202279",
-   "sha256": "0nwmic0iimy0fgc1m9ixi4mv8ckpc8cv8wjij1882ggd0isi4k59"
+   "commit": "014560454f352997839ffd54dbca24b638a9d456",
+   "sha256": "1yvqfc0jfyzc1nkvafnk5jpnbrrfbmj4i28gd1dkq79h6hykl4li"
   }
  },
  {
@@ -89569,8 +91683,8 @@
   "repo": "ananthakumaran/tide",
   "unstable": {
    "version": [
-    20190829,
-    1315
+    20200103,
+    1159
    ],
    "deps": [
     "cl-lib",
@@ -89579,8 +91693,8 @@
     "s",
     "typescript-mode"
    ],
-   "commit": "13f64933c19590ebd02a4b141bb6be88d7aaf2b0",
-   "sha256": "19kl8r426hi93q1nj5mwadx6wiymx0f77db4w51jcf5kp0rr2hs0"
+   "commit": "ac0f0a6f688c5abade71a0277ea5f1cef45a0b8b",
+   "sha256": "11igdklmsn5y6xx9ws2im2m5hn70kqv8l4n9c5abr4ibslxjaffa"
   },
   "stable": {
    "version": [
@@ -89684,16 +91798,16 @@
   "repo": "tmarble/timesheet.el",
   "unstable": {
    "version": [
-    20180802,
-    202
+    20191024,
+    151
    ],
    "deps": [
     "auctex",
     "org",
     "s"
    ],
-   "commit": "67ca6a9f6733052066b438301fb2dd81b8b3f6eb",
-   "sha256": "0rmh8lik27pmq95858jbjzgvf6rsfdnpynwcagj1fgkval5kzdbs"
+   "commit": "5098dc87d3d4f289b6c1b6532070dacbfe6de9fd",
+   "sha256": "0wqxlb4a7fzf14629zw021216qyzz56xwr8hfh2fy6kj90m9br4c"
   },
   "stable": {
    "version": [
@@ -89875,14 +91989,14 @@
   "repo": "kuanyui/tldr.el",
   "unstable": {
    "version": [
-    20190425,
-    749
+    20191006,
+    1059
    ],
    "deps": [
     "request"
    ],
-   "commit": "2ff0834bc58590f98bfece3efc5656d1b47c325d",
-   "sha256": "1qwx4hmqj6fbpmv230kgdv2qwv5jfmbf5kvdhcq48p4rak1r30qj"
+   "commit": "b7f3e3e2171eab5707a42641f4470b69777feaea",
+   "sha256": "0gy5vjffw0bqvhv0gsc654imvridmc7pg88b3nwlfxkrwzi48vxc"
   }
  },
  {
@@ -89951,16 +92065,16 @@
   "repo": "abrochard/emacs-todoist",
   "unstable": {
    "version": [
-    20190627,
-    2139
+    20191014,
+    2033
    ],
    "deps": [
     "dash",
     "org",
     "transient"
    ],
-   "commit": "ca38839638580001600f076c8075369916d24507",
-   "sha256": "1l6zrsfx4b06rl07ndlyabqg8pp1bnila40cgadpnmqvh5w6sfdz"
+   "commit": "3b8f8b4fc6d5cfdfca149b142ff7cadba6ffae7a",
+   "sha256": "0w8d53njk81smdk7vm6mxdrrg1310cyxapjbylv2a51d442hrf5g"
   }
  },
  {
@@ -89986,11 +92100,11 @@
   "repo": "avillafiorita/todotxt-mode",
   "unstable": {
    "version": [
-    20150424,
-    1404
+    20191017,
+    1319
    ],
-   "commit": "dc6ae151edee88f329ba7abc5d39b7440002232f",
-   "sha256": "1k9ywi7cdgb6i600wr04r2l00423l6vr7k93qa7i7svv856nbbc7"
+   "commit": "ec94ac719e2f879c474d29e21dc84353b20258d7",
+   "sha256": "0x5syh0gvkqn3d32baf1r8xnqrpyzy5ywa9vwdbcjrkqfnnap8zb"
   }
  },
  {
@@ -90025,8 +92139,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "34eb4fe7d0a3380083e2e51627ae5968524d240b",
-   "sha256": "1yh02mrqkn9hp5l1kl4qj5g1jijjvbd77dcssp76gw7nm8dlsn8a"
+   "commit": "ce213afc026590871ca7d514e563720ef967c938",
+   "sha256": "0wq4c4dzpkrppic65ma7gfzr9mxsln87csmb1laz3b2g4b19cy6k"
   }
  },
  {
@@ -90244,17 +92358,26 @@
  },
  {
   "ename": "toxi-theme",
-  "commit": "5b7972602399f9df9139cff177e38653bb0f43ed",
-  "sha256": "032m3qbxfd0qp81qwayd5g9k7vz55g4yhw0d35qkxzf4qf58x9sd",
-  "fetcher": "bitbucket",
+  "commit": "2e57d7abe1e43101558b27b0995f54f74a620b33",
+  "sha256": "1dyr8mp5p6j4c949dbzi4fqy86ay84yr3822ab8qx25hck1kdrhj",
+  "fetcher": "github",
   "repo": "postspectacular/toxi-theme",
   "unstable": {
    "version": [
     20160424,
     2126
    ],
-   "commit": "b322fc7497a53f102e74f7994da96f2974171c9b",
+   "commit": "90c8828b91025adf5adc96011a35d25682991b8a",
    "sha256": "1pnsky541m8kzcv81w98jkv0hgajh04hxqlmgddc1y0wbvi849j0"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "commit": "9e572c6e149249b96f64722cf6f86c3aaf5f2ede",
+   "sha256": "0fn8ivq9i48w26c09963chc5v8gnvz0nxgqzzvkk4b7qki1rav2j"
   }
  },
  {
@@ -90325,8 +92448,8 @@
     20171210,
     2102
    ],
-   "commit": "6ccd4b494cbae9d28091217654f052eaea321007",
-   "sha256": "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"
+   "commit": "0c79138fb2d37940654649787cb17cb619268748",
+   "sha256": "0b2zmqrnvg37hwiywnb43zaggi3c7jh6zfdwp7z90hf98il13jpk"
   },
   "stable": {
    "version": [
@@ -90356,6 +92479,24 @@
   }
  },
  {
+  "ename": "tramp-auto-auth",
+  "commit": "0c8a8841cc7d7634f47610aeecc4a63b20f459f9",
+  "sha256": "033110y1kdkqm21pkzp9izp9ic7239km3xc8wifw4vs22js341jj",
+  "fetcher": "github",
+  "repo": "oitofelix/tramp-auto-auth",
+  "unstable": {
+   "version": [
+    20191027,
+    1419
+   ],
+   "deps": [
+    "tramp"
+   ],
+   "commit": "f15a12dfab651aff60f4a9d70f868030a12344ac",
+   "sha256": "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"
+  }
+ },
+ {
   "ename": "tramp-hdfs",
   "commit": "4c185553314a2a9fe18907fd9251077777b33538",
   "sha256": "1l7s2z8yk3cbnffig9fds75jkjlkng76qglx5ankzva61dz1kf2b",
@@ -90411,14 +92552,11 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20190905,
-    1138
-   ],
-   "deps": [
-    "dash"
+    20200107,
+    2156
    ],
-   "commit": "7bf97594a5ec1b9a682ef5a1537a6b0ecc6d9dfb",
-   "sha256": "08crxnha8rwkv0npdb624v3xxy50bcb0s8pwm1vvz7ahpzyp7gza"
+   "commit": "95389b31ec45984e3ff0849f4216adbd183d946f",
+   "sha256": "06c47pcicjqcfs8w0jfs4ggb1x431zwz9frx52w6xahb0p37qirm"
   },
   "stable": {
    "version": [
@@ -90495,6 +92633,30 @@
   }
  },
  {
+  "ename": "trashed",
+  "commit": "0a0609353c8ef01ca5da44b6239e1d4756da3a92",
+  "sha256": "0vpfga0kp2r9p0b91fm5y1nf15j8c3r4aqf4wsl12yqgy0v08s6f",
+  "fetcher": "github",
+  "repo": "shingo256/trashed",
+  "unstable": {
+   "version": [
+    20191124,
+    1351
+   ],
+   "commit": "cc0243c9a4f01dc889f5c5ced3e311f918fe0750",
+   "sha256": "0nyipnrjwbmh4mvfv1nwz6ypg8c1j0g9y9kc4cym49q9vy3wy56c"
+  },
+  "stable": {
+   "version": [
+    1,
+    9,
+    0
+   ],
+   "commit": "f3e970c139e44fc7d36ad781566fd6b288d691a9",
+   "sha256": "13grdi12iwlw4fiphdfmvclfpbr6ajlgfbfyi7v41z8k3rxz4ypz"
+  }
+ },
+ {
   "ename": "travis",
   "commit": "c064a0dc7922cbe4cff2ae65665c4f10e6dbff27",
   "sha256": "1km496cq1vni9gy2d3z4c9524q62750ywz745rjz4r7178ip9mix",
@@ -90546,6 +92708,42 @@
   }
  },
  {
+  "ename": "treefactor",
+  "commit": "e3e956cbbaed3af8beeb927a730cb553df1fac21",
+  "sha256": "1jfsiv2adj0p2b118qmfzxljz523q1xcjq9x60h1a4xymm3kqb0y",
+  "fetcher": "github",
+  "repo": "cyberthal/treefactor",
+  "unstable": {
+   "version": [
+    20191223,
+    1230
+   ],
+   "deps": [
+    "avy",
+    "dash",
+    "f",
+    "org"
+   ],
+   "commit": "caa431c3a512426de8abade3300d7fd21b969f7a",
+   "sha256": "1ppiwxnjcma5w3r0jnzywnsl7jn2yhjwq7gbam22phyf0jmpqnvd"
+  },
+  "stable": {
+   "version": [
+    3,
+    0,
+    2
+   ],
+   "deps": [
+    "avy",
+    "dash",
+    "f",
+    "org"
+   ],
+   "commit": "caa431c3a512426de8abade3300d7fd21b969f7a",
+   "sha256": "1ppiwxnjcma5w3r0jnzywnsl7jn2yhjwq7gbam22phyf0jmpqnvd"
+  }
+ },
+ {
   "ename": "treemacs",
   "commit": "37cca017cf529a0553ba73bcb824a945ec8b1137",
   "sha256": "0is4waygw902vkha4jwav0i05298zhf4d559m91gmsfg1cfrlrr3",
@@ -90553,8 +92751,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20190916,
-    913
+    20200103,
+    1907
    ],
    "deps": [
     "ace-window",
@@ -90566,8 +92764,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "dba721a03451802872cb783569a6782504a295c3",
-   "sha256": "1cqii0i8ka8n5nrxrid7rg2xdcq994sdaabbiy4lcs1dynwlyp9h"
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
   },
   "stable": {
    "version": [
@@ -90596,15 +92794,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20190619,
-    1516
+    20191223,
+    1047
    ],
    "deps": [
     "evil",
     "treemacs"
    ],
-   "commit": "dba721a03451802872cb783569a6782504a295c3",
-   "sha256": "1cqii0i8ka8n5nrxrid7rg2xdcq994sdaabbiy4lcs1dynwlyp9h"
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
   },
   "stable": {
    "version": [
@@ -90627,15 +92825,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20190719,
-    815
+    20200108,
+    553
    ],
    "deps": [
     "cl-lib",
     "treemacs"
    ],
-   "commit": "dba721a03451802872cb783569a6782504a295c3",
-   "sha256": "1cqii0i8ka8n5nrxrid7rg2xdcq994sdaabbiy4lcs1dynwlyp9h"
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
   },
   "stable": {
    "version": [
@@ -90658,16 +92856,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20190731,
-    540
+    20191223,
+    1047
    ],
    "deps": [
     "magit",
     "pfuture",
     "treemacs"
    ],
-   "commit": "dba721a03451802872cb783569a6782504a295c3",
-   "sha256": "1cqii0i8ka8n5nrxrid7rg2xdcq994sdaabbiy4lcs1dynwlyp9h"
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
   },
   "stable": {
    "version": [
@@ -90684,6 +92882,25 @@
   }
  },
  {
+  "ename": "treemacs-persp",
+  "commit": "82679a4f04733556adb66bd31e2a56f2923b301c",
+  "sha256": "1r48rxhzx1qq9lfdp5plqgny8yh43f0qjwp0gr499g405ja2zyas",
+  "fetcher": "github",
+  "repo": "Alexander-Miller/treemacs",
+  "unstable": {
+   "version": [
+    20200103,
+    1832
+   ],
+   "deps": [
+    "persp-mode",
+    "treemacs"
+   ],
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
+  }
+ },
+ {
   "ename": "treemacs-projectile",
   "commit": "37cca017cf529a0553ba73bcb824a945ec8b1137",
   "sha256": "1lldvpasvgsd5xvnlafddqp47w7rdvf3vqfhr26rxn99kj5s9xzp",
@@ -90691,15 +92908,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20190619,
-    1516
+    20200107,
+    1640
    ],
    "deps": [
     "projectile",
     "treemacs"
    ],
-   "commit": "dba721a03451802872cb783569a6782504a295c3",
-   "sha256": "1cqii0i8ka8n5nrxrid7rg2xdcq994sdaabbiy4lcs1dynwlyp9h"
+   "commit": "e2453d92b582fc1bb5cff1450aa350d4ee2c936a",
+   "sha256": "08aagxjawh25iymyjp5zlrg4wihr92wgpwbr3lgx0b0ffv4g0rxb"
   },
   "stable": {
    "version": [
@@ -90722,11 +92939,11 @@
   "repo": "volrath/treepy.el",
   "unstable": {
    "version": [
-    20180724,
-    656
+    20191108,
+    2217
    ],
-   "commit": "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d",
-   "sha256": "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"
+   "commit": "306f7031d26e4ebfc9ff36614acdc6993f3e23c3",
+   "sha256": "09k95b846mzak62acyzrmqvc7kwkni14w8d74079kr7lnar9g6zq"
   },
   "stable": {
    "version": [
@@ -90790,11 +93007,11 @@
   "repo": "kawabata/emacs-trr",
   "unstable": {
    "version": [
-    20170221,
-    842
+    20191019,
+    1403
    ],
-   "commit": "83660d8343ef3367837354dc684dfdde2f95826a",
-   "sha256": "0h12szq1cww3bpsk09m7d2bk9bfjxrmzlw9ccviwhnric40nh67k"
+   "commit": "f841173e11213ac6916b2d3394b28fb202543871",
+   "sha256": "1s1rh1kz0r8cnsbjjsd61lz7wzf8kzhvbqimhglryckzjsn9jfmf"
   },
   "stable": {
    "version": [
@@ -90868,27 +93085,27 @@
   "repo": "alphapapa/ts.el",
   "unstable": {
    "version": [
-    20190918,
-    241
+    20191010,
+    210
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "395649a2f2ba79028331bb1fa9ec08b218950ff6",
-   "sha256": "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"
+   "commit": "df48734ef046547c1aa0de0f4c07d11964ef1f7f",
+   "sha256": "0hi0dfcwrr0vxp26v3f6radpmmwxbiz3px3br0cydfi6axikw9xl"
   },
   "stable": {
    "version": [
     0,
-    1
+    2
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "abf67b63ca562cb2304dfe445f67ed6c6f7c3c05",
-   "sha256": "1i93dfm6lw63q1r2fnk5yn95pifvpkfy654yg8mfczss1mz00q35"
+   "commit": "540f6a5adab5d881cc5f50835c0a3fe70e74b992",
+   "sha256": "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"
   }
  },
  {
@@ -90973,14 +93190,14 @@
   "repo": "ocaml/tuareg",
   "unstable": {
    "version": [
-    20190805,
-    958
+    20191220,
+    2314
    ],
    "deps": [
     "caml"
    ],
-   "commit": "74e7f66f31290f6599fda0067d795e201270be43",
-   "sha256": "1fgaa3kq3aj6ddkkbag8bcqq67y8xq51cmsp2cvmzsx5lfwv0y3p"
+   "commit": "c12061eb80c1487a1963af7cdae268d709a70ca9",
+   "sha256": "0x85yy20caqb24n7qx3h8nw259p6593y5dx43jl5iapy2n9za1gy"
   },
   "stable": {
    "version": [
@@ -91030,16 +93247,16 @@
   "repo": "gcr/tumblesocks",
   "unstable": {
    "version": [
-    20140215,
-    2047
+    20191014,
+    356
    ],
    "deps": [
     "htmlize",
     "markdown-mode",
     "oauth"
    ],
-   "commit": "85a6cdc2db3390593fd886c474959b675460b310",
-   "sha256": "1g7y7czan7mcs5lwc5r6cllgksrj3b9lpn1bj7khwkd1ll391jc2"
+   "commit": "0e4c3847e31a59d405b9927107a23dde9531d744",
+   "sha256": "1gns60yj1ylm87456gzwr0gy0kivp5bd290rg6d8xbc86jdcls19"
   }
  },
  {
@@ -91225,11 +93442,11 @@
   "repo": "emacs-typescript/typescript.el",
   "unstable": {
    "version": [
-    20190918,
-    1042
+    20191209,
+    1107
    ],
-   "commit": "1bafd279cf5161476aa540267ea0a45684749cbd",
-   "sha256": "04wm5rd8zjwd91k87l705f4icvvaiykb2fn3gfhpyglm1apfmcqp"
+   "commit": "761f3aec6e192ddf0a9f1cc3d5d2ee77d32cb06c",
+   "sha256": "0b9gcidsgrmnz7dca8wx9ky8cqprxfi4zghf0cbfb31n0x2dqq5n"
   },
   "stable": {
    "version": [
@@ -91310,11 +93527,11 @@
   "repo": "jorgenschaefer/typoel",
   "unstable": {
    "version": [
-    20171209,
-    1023
+    20191202,
+    1033
    ],
-   "commit": "9dad93b6f367f02f52c8d9bf15d446d922cec294",
-   "sha256": "1xaikwl265v67b7hilrhjgwzr6bcha9idnp82f27msqzdfdzxf0f"
+   "commit": "54a9dbcfb24a146fd14232e927109eec59b50171",
+   "sha256": "02ri51iyw99m1735j76qfd5spyyvxwg6mjzjd7g493h23pc6bvy6"
   },
   "stable": {
    "version": [
@@ -91446,6 +93663,24 @@
   }
  },
  {
+  "ename": "uml-mode",
+  "commit": "d2dbf909ca733aef6a3da6c48165aa3d2e9dc186",
+  "sha256": "0arkq5cymlvnga5fgzjfy5a6i6zpr0g6m66ycmxa04h6qkd73m9i",
+  "fetcher": "github",
+  "repo": "ianxm/emacs-uml",
+  "unstable": {
+   "version": [
+    20191231,
+    1145
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "4ce7a07670832e3b22de2cef2130bc7867aadbf6",
+   "sha256": "0v2q2spk19n2mn7jfywnnik52kn7n30bgsznw6vs38z59z8z1nqn"
+  }
+ },
+ {
   "ename": "uncrustify-mode",
   "commit": "5327aa1a1143c2257e9454663ff140f2371d07e3",
   "sha256": "0amdxdfc8i99zjrw4iqmxzb47h0airs60fwmc32bc8b0ds66c3kd",
@@ -91468,15 +93703,15 @@
   "repo": "sviridov/undercover.el",
   "unstable": {
    "version": [
-    20180403,
-    1452
+    20191122,
+    2126
    ],
    "deps": [
     "dash",
     "shut-up"
    ],
-   "commit": "3fc54ef92f0b4b7d26d962d6ed29a81d526a3a66",
-   "sha256": "0iqj1a6nj1ka5ahcy4rrn7k427bs1ifv0v0i7gj79m7isjj15qc4"
+   "commit": "9f4fbd04cd25c61397a7058bf2bad33c7b669aa4",
+   "sha256": "13cn2cxspaqa9filclk66963by7khaci4lyrxgmjpdz04rijkh1q"
   },
   "stable": {
    "version": [
@@ -91500,11 +93735,11 @@
   "repo": "marcowahl/underline-with-char",
   "unstable": {
    "version": [
-    20190715,
-    1627
+    20191128,
+    2309
    ],
-   "commit": "82e15447fe5dcb99fcb9fc72128199a9bf6b7be5",
-   "sha256": "0hr9mha3kyzm8mgqr6pmfwlgvqrdzr1j9cjnr8wwxxl4fzv5m345"
+   "commit": "36577e72aa4fbfa7f1abad01842359209f543751",
+   "sha256": "14ybav1f82m2gsxkciwlc0pm01ihqqaqq6arnjqvgxdnw0z6qniq"
   },
   "stable": {
    "version": [
@@ -91541,6 +93776,21 @@
   }
  },
  {
+  "ename": "undo-fu",
+  "commit": "0ca16994315f7d5dee9fff76db036e084162dc52",
+  "sha256": "1b0616zlblsd5405sfh02lxjyq6gl3s9m8vsxbqi6fryr4y750s9",
+  "fetcher": "gitlab",
+  "repo": "ideasman42/emacs-undo-fu",
+  "unstable": {
+   "version": [
+    20200103,
+    1445
+   ],
+   "commit": "a0e111b955c6f654faaf8125f95558a804a7b37c",
+   "sha256": "18vz67ifmlwprf5x7bp3crbimmg086a80cv1pd0lar25nc2cs7v6"
+  }
+ },
+ {
   "ename": "undo-propose",
   "commit": "308eec15ebfd301b34f0d9f019250c9089c4d6e2",
   "sha256": "0r0xswj9n24ghw44l1m1izapjqrfvcw8qn3qp61s2ly0i7la185j",
@@ -91548,11 +93798,11 @@
   "repo": "jackkamm/undo-propose-el",
   "unstable": {
    "version": [
-    20190909,
-    427
+    20191229,
+    2229
    ],
-   "commit": "47b7df0c97ad0099537d1ade21c4c52f0618a945",
-   "sha256": "078bs8lk9f0lklxqh15976fffayg5z5386y59nxxfhm27lmwgka9"
+   "commit": "71002612480fe5cb2b139e73d18c87ddf1fd76b2",
+   "sha256": "0mlmck46cgm95hsdqskadd975fdq03mh6pq6lfgzl1ffd0nfqm0z"
   }
  },
  {
@@ -91581,11 +93831,11 @@
   "repo": "purcell/unfill",
   "unstable": {
    "version": [
-    20170723,
-    146
+    20191227,
+    2026
    ],
-   "commit": "df0c4dee19a3874b11c7c7f04e8a2fba629fda9b",
-   "sha256": "0bdlr8kqzwzi7aggcn7cwwih19585wi6dd9lvwj4i966zr4w84yx"
+   "commit": "bb5755b2bb7a4d1fbfb525ab7bf9a36e4dede319",
+   "sha256": "0a9gyidkr2i2x9i7jxgdi82ygnb16nij7rrrqb4sslh4yv1hi0qy"
   },
   "stable": {
    "version": [
@@ -91999,25 +94249,25 @@
   "repo": "davep/uptimes.el",
   "unstable": {
    "version": [
-    20190328,
-    856
+    20191121,
+    1030
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1f726d31b502d764a3e3191aaf92ed4855105131",
-   "sha256": "1ymv5fh0bfjzkkd8vc9f1n8921bx1czbb29s0rw6zy37vkhs6v3s"
+   "commit": "29ae6585eeed5a00719b2e52f5ae1082087c1778",
+   "sha256": "0njpgw4is5lbv499jpc9c987yfvr6srhcmvg6wl631kpv0h8q9a9"
   },
   "stable": {
    "version": [
     3,
-    7
+    8
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1f726d31b502d764a3e3191aaf92ed4855105131",
-   "sha256": "1ymv5fh0bfjzkkd8vc9f1n8921bx1czbb29s0rw6zy37vkhs6v3s"
+   "commit": "29ae6585eeed5a00719b2e52f5ae1082087c1778",
+   "sha256": "0njpgw4is5lbv499jpc9c987yfvr6srhcmvg6wl631kpv0h8q9a9"
   }
  },
  {
@@ -92097,14 +94347,14 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20190716,
-    1829
+    20191126,
+    2034
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0",
-   "sha256": "19m31nh2bd7rrlh53wy1hf6sxcqk4qn4wkm5w1c16314d5w56w5s"
+   "commit": "4b58ab78177f636f862a66c7a8fdcf9b070e0925",
+   "sha256": "04jva9wi8rpvz61qyvzd2fpsfsw43jkr5741yndrzkxx43q67qxj"
   },
   "stable": {
    "version": [
@@ -92135,8 +94385,8 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0",
-   "sha256": "19m31nh2bd7rrlh53wy1hf6sxcqk4qn4wkm5w1c16314d5w56w5s"
+   "commit": "4b58ab78177f636f862a66c7a8fdcf9b070e0925",
+   "sha256": "04jva9wi8rpvz61qyvzd2fpsfsw43jkr5741yndrzkxx43q67qxj"
   },
   "stable": {
    "version": [
@@ -92197,8 +94447,8 @@
     "system-packages",
     "use-package"
    ],
-   "commit": "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0",
-   "sha256": "19m31nh2bd7rrlh53wy1hf6sxcqk4qn4wkm5w1c16314d5w56w5s"
+   "commit": "4b58ab78177f636f862a66c7a8fdcf9b070e0925",
+   "sha256": "04jva9wi8rpvz61qyvzd2fpsfsw43jkr5741yndrzkxx43q67qxj"
   },
   "stable": {
    "version": [
@@ -92244,10 +94494,10 @@
  },
  {
   "ename": "use-ttf",
-  "commit": "ec27ae185c0308c445e461dc84f398483ca08c5a",
-  "sha256": "0gxrn05qcnf54c5895nw68088b9mngsf7sij2prwyfw0ghdl9s8k",
+  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
+  "sha256": "18ry06d6llq86k5awd23jj0qb68k459dc2i5hqrmpjykqzq6bvya",
   "fetcher": "github",
-  "repo": "elpa-host/use-ttf",
+  "repo": "jcs-elpa/use-ttf",
   "unstable": {
    "version": [
     20190823,
@@ -92256,6 +94506,18 @@
    "deps": [
     "s"
    ],
+   "commit": "edfc3f4b50aec2234792c0cc894774e4916ce26a",
+   "sha256": "0xy522czbxva2dpfbfjqf0xm6wi7cc98pz6ha7glgylsmcvhlvar"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    5
+   ],
+   "deps": [
+    "s"
+   ],
    "commit": "8c7f50a2b6f5bd55cdd92e351371386ff4b6edce",
    "sha256": "0xg98ngrdlfjcb902qaljwhh9jszkafc2vm1x8627lnw1k7i6b3q"
   }
@@ -92295,17 +94557,17 @@
     20190715,
     1836
    ],
-   "commit": "83ee76fc39b6cb394f5fb19063a3a7da09224339",
-   "sha256": "0z8klqwqmq5i111p4awzvlvirhm1dxp0mbfagwfiwq1wg72v6zdm"
+   "commit": "ba35712f1bd1c489a54088a4fd807f8484c1d98a",
+   "sha256": "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"
   },
   "stable": {
    "version": [
     2,
     4,
-    2
+    3
    ],
-   "commit": "83ee76fc39b6cb394f5fb19063a3a7da09224339",
-   "sha256": "0z8klqwqmq5i111p4awzvlvirhm1dxp0mbfagwfiwq1wg72v6zdm"
+   "commit": "ba35712f1bd1c489a54088a4fd807f8484c1d98a",
+   "sha256": "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"
   }
  },
  {
@@ -92563,19 +94825,20 @@
   "repo": "muffinmad/emacs-vc-hgcmd",
   "unstable": {
    "version": [
-    20190910,
-    2008
+    20191223,
+    1331
    ],
-   "commit": "1515cd8cca0b749da482fa1af6e0576da98aa1ac",
-   "sha256": "19x2vdij1sd18g9gcx0vd9qyn37nq1p9dmyyskqlzqlbzxvhg0nm"
+   "commit": "8fc2e2c33334c9ff6d4c4d20a99d258e6cfdc567",
+   "sha256": "1bf9swaj49yx59c1yj96q5rj839535wz2d1ihj98an2chd5czjh4"
   },
   "stable": {
    "version": [
     1,
-    8
+    9,
+    4
    ],
-   "commit": "1515cd8cca0b749da482fa1af6e0576da98aa1ac",
-   "sha256": "19x2vdij1sd18g9gcx0vd9qyn37nq1p9dmyyskqlzqlbzxvhg0nm"
+   "commit": "8fc2e2c33334c9ff6d4c4d20a99d258e6cfdc567",
+   "sha256": "1bf9swaj49yx59c1yj96q5rj839535wz2d1ihj98an2chd5czjh4"
   }
  },
  {
@@ -92586,26 +94849,26 @@
   "repo": "redguardtoo/vc-msg",
   "unstable": {
    "version": [
-    20180605,
-    58
+    20191128,
+    1010
    ],
    "deps": [
     "popup"
    ],
-   "commit": "ffd8db482cbd9fb63dace0e5ddcc7207a9c99f5e",
-   "sha256": "1zq01k50d958prl8aaz8n2sv541lrq3s1dn8vnfal4drn3iffgv9"
+   "commit": "93794111daa95b809e46e6d961ad5f68eb8f78ed",
+   "sha256": "11xci11lbw06syz3y6zhrbh7984mj523i5fphrmdqh76iivkphwh"
   },
   "stable": {
    "version": [
+    1,
     0,
-    0,
-    4
+    3
    ],
    "deps": [
     "popup"
    ],
-   "commit": "091f3cf15ecb35bb4dc5de1ef7229f78735d9aee",
-   "sha256": "0s129fzxhrr8pp4h0hkmxapnman67r0bdmbj8ys6r361na7h16hf"
+   "commit": "76951fccc2cf66916af2ae006dfa758583e2415d",
+   "sha256": "0zmpc2w02ynm6ck01q5l9kv5flbl5zkgxhxyplqddh37ml31pka0"
   }
  },
  {
@@ -92655,20 +94918,44 @@
   "repo": "stepnem/vcsh-el",
   "unstable": {
    "version": [
-    20190817,
-    2011
+    20191007,
+    1102
    ],
-   "commit": "2051e4ee20709f82ab2396ab2ccfbe887a3c6a67",
-   "sha256": "168rhydrz7h7bhaf885j4lqxz5x50is7gsypj0vypi6xv71zhd03"
+   "commit": "cbb2b387ea035ee4f95455964144d699f573491d",
+   "sha256": "0apqrhdv0mrv52ws4yyd9q3fd5hrp084nvq5ji9gva8rs2qyki2v"
   },
   "stable": {
    "version": [
     0,
     4,
+    2,
     1
    ],
-   "commit": "2051e4ee20709f82ab2396ab2ccfbe887a3c6a67",
-   "sha256": "168rhydrz7h7bhaf885j4lqxz5x50is7gsypj0vypi6xv71zhd03"
+   "commit": "cbb2b387ea035ee4f95455964144d699f573491d",
+   "sha256": "0apqrhdv0mrv52ws4yyd9q3fd5hrp084nvq5ji9gva8rs2qyki2v"
+  }
+ },
+ {
+  "ename": "vdf-mode",
+  "commit": "203d755a2c083ecdb75a41ce6d6030315651b16c",
+  "sha256": "1ja7c0sn25r9fqxlp0c2c74qrblvxrb9akh0gf6f7x2hiqa0mygk",
+  "fetcher": "github",
+  "repo": "plapadoo/vdf-mode",
+  "unstable": {
+   "version": [
+    20191122,
+    823
+   ],
+   "commit": "35f5c3531b256b6578b9878ac2ce1ed79b3c8511",
+   "sha256": "16650xwq85rp98z4nljd5s7f14fg4rr90nr7ipfshj1i6zvbk229"
+  },
+  "stable": {
+   "version": [
+    1,
+    1
+   ],
+   "commit": "f474047a35a2779e4ebaf9166f3d54f359cf9f3c",
+   "sha256": "0r3kb89zsxac98q8g4w0gyji83qnyxlqwcvmd7b9aa8sx8ry1asz"
   }
  },
  {
@@ -92750,8 +95037,8 @@
     "org-vcard",
     "seq"
    ],
-   "commit": "255496e6808e7a3da1b0afef873dc4920c2b117f",
-   "sha256": "0zq2lqj4s3n4japfmjm56yg120l1lk7d0h1jysdp8d4mzdb2m0p0"
+   "commit": "a9ef32a70a1f14416e3dc5fee478ce138cc011d3",
+   "sha256": "1r60gp3h7cj34wc5kjvpxzidb01gyqsd04ykmhk7asv91m598vs3"
   },
   "stable": {
    "version": [
@@ -92939,14 +95226,14 @@
   "repo": "baron42bba/vertica-snippets",
   "unstable": {
    "version": [
-    20190828,
-    1121
+    20191213,
+    1109
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "4869b7da62799e846b17258f6828dee016a991f4",
-   "sha256": "1phhrkk0yyxq4nlrcwad4dvspg6rwda5lzsmch2w64nr5v4ppvl7"
+   "commit": "2d1c45c63392ed869625bd062c19422600c9f555",
+   "sha256": "1gn57jfmma5h90m3b7l698rncmbygd2dbp48vvx1d1z9ks2rm8gg"
   }
  },
  {
@@ -93001,16 +95288,16 @@
   "repo": "csantosb/vhdl-tools",
   "unstable": {
    "version": [
-    20190809,
-    922
+    20191127,
+    2102
    ],
    "deps": [
     "ggtags",
     "helm-rg",
     "outshine"
    ],
-   "commit": "5202db4c6a511a90a950a723293d11d55ec05264",
-   "sha256": "1ygx8g9cxyyhhpcqan1ca4g741s3dd141bcmp6jjqbjfn2gqraz6"
+   "commit": "e174a7077eb8b80cd76bb9688a4a5f08a747f212",
+   "sha256": "1c8wkfidvzpsv73d666n0n8marhavgm1yc6bv6ig5h4xsblhaigc"
   },
   "stable": {
    "version": [
@@ -93339,11 +95626,11 @@
   "repo": "m00natic/vlfi",
   "unstable": {
    "version": [
-    20180201,
-    2254
+    20191126,
+    2250
    ],
-   "commit": "31b292dc85a374fb343789e217015683bfbdf5f1",
-   "sha256": "18ll47if9ajv0jj2aps8592bj7xqhxy74sbsqn07x9ywinxxi9mn"
+   "commit": "cc02f2533782d6b9b628cec7e2dcf25b2d05a27c",
+   "sha256": "00wqq9x3p4iwgsga3wvlr8c7iifvh3b0j41sahccdx6hqh4a0pzp"
   },
   "stable": {
    "version": [
@@ -93363,11 +95650,11 @@
   "repo": "blak3mill3r/vmd-mode",
   "unstable": {
    "version": [
-    20180223,
-    1356
+    20190929,
+    735
    ],
-   "commit": "24e38a20951dfad6e3e985c7cc6286c1e271da5f",
-   "sha256": "00anpbnf0h6iikhpqz4mss507j41xwvv27svw41kpgcwsnrmrqwm"
+   "commit": "aa9b753601ee1ed31b4f717629179ce7a2cacba5",
+   "sha256": "0gc1c5q1krqlbaq0lb7p29biwpl32lgv4c6527c322a21in6a5pb"
   }
  },
  {
@@ -93436,6 +95723,21 @@
   }
  },
  {
+  "ename": "vscdark-theme",
+  "commit": "8f3accf76fcd91e1507b9e8ac8577d3af5ae0b88",
+  "sha256": "13d3g6bjnry7964pnphl0i205vn9gvl7glydzj5wv82s7yav752w",
+  "fetcher": "github",
+  "repo": "abelikoff/vscdark-theme",
+  "unstable": {
+   "version": [
+    20191212,
+    107
+   ],
+   "commit": "8eba74059e8a9db974e4056ee024e52fe54da485",
+   "sha256": "01p5ys23m4zk5hniri55bcn8j7v6pd6ryi41qx20w29mramwzxl9"
+  }
+ },
+ {
   "ename": "vscode-icon",
   "commit": "90a07c96a9223a9ad477cbea895ba522523c5be4",
   "sha256": "0rhsqzgxl7hs52kniyi8yn4f953g7dgx49j4lzf2yr33ydxiw9d3",
@@ -93443,11 +95745,11 @@
   "repo": "jojojames/vscode-icon-emacs",
   "unstable": {
    "version": [
-    20190610,
-    17
+    20191102,
+    2010
    ],
-   "commit": "14199fd1dbe0ca1da85f9917faee9fe078cb75ea",
-   "sha256": "13yjjg68a55sbk6hj4nfvka6w8ahpws0s2bf7c9idqrd6cvbfy62"
+   "commit": "4304e9f0a47406048129dc62171f08b67325a2ed",
+   "sha256": "0dpmw1kg9ivrn92vis7bxs8nlb1ixk72fhd4s4f5c21k0j4s12rd"
   }
  },
  {
@@ -93458,11 +95760,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20190822,
-    1225
+    20200107,
+    1419
    ],
-   "commit": "097d9806ffab9120f078bea22e9b49502807786b",
-   "sha256": "0x402pq4kq8agzbq1imxg3qm2v6agq2ni1x2a6yqrvwy5vq72qxs"
+   "commit": "58b4cc40ee9872a08fc5cbfee78ad0e195a3306c",
+   "sha256": "1w5yfl8nq4k7xyldf0ivzv36vhz3dwdzk6q2vs3xwpx6ljy52px6"
   }
  },
  {
@@ -93473,14 +95775,14 @@
   "repo": "jixiuf/vterm-toggle",
   "unstable": {
    "version": [
-    20190816,
-    633
+    20191209,
+    928
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "ecb5a44650515ea554ead078dcf824888e8c234b",
-   "sha256": "0jsf7sac45zc43linajmzkqv4lsxyf5m6zvhq01skpvb5y3hl881"
+   "commit": "88c823b532493b95a24d9cbd749278552a047860",
+   "sha256": "0ascpjc3c5q9pw2xbqfc60vxmsdhw7yakb2rvkgglha314p3fwkb"
   }
  },
  {
@@ -93586,11 +95888,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20190920,
-    1116
+    20200105,
+    2322
    ],
-   "commit": "c9cdb7e3075ddfc9aef356d42b376ebbb039bc7e",
-   "sha256": "1vg43ln70kifk3h0rwmj7w85mksg1yl3z4kqfq9q5zalp9jgwfsh"
+   "commit": "550cd4250d7db1248ffc3b6d897925558d9ef604",
+   "sha256": "116c0x7wric1gqxm8jswv732aymwd5hpy7dwzw19cx22w2j0imzy"
   }
  },
  {
@@ -93712,15 +96014,15 @@
   "repo": "cmpitg/wand",
   "unstable": {
    "version": [
-    20190626,
-    1533
+    20191122,
+    1408
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "0d5f6ac7515b8be134868543d97ba715b5a4ae66",
-   "sha256": "1hzq3gfr3m4g8gwcqijxb0jg2gzm336pxda38kf45274d3ncgvxy"
+   "commit": "93a5a4ecab1973e5846b35f856391daf8068d12e",
+   "sha256": "067149rrl6rgfdq55fpx8d2y4b0kqi1ify53ajksrddz74fl6h0c"
   }
  },
  {
@@ -94007,11 +96309,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20190916,
-    1858
+    20191104,
+    1859
    ],
-   "commit": "a31eb8592f09d789c4b08ccecfdaca6fd2f06a69",
-   "sha256": "1552wq8v4d0pj00kyhc05a4wq0p639r5yxa0rf6y3n4vy94190ql"
+   "commit": "cd000fcfce97152f8b831b7eef4ea0d0b1eed11a",
+   "sha256": "0fm9gwgcg3qgx8q2l27lsn76mzdkdsxvrwgwfsq34gzwzm1yg2xb"
   },
   "stable": {
    "version": [
@@ -94151,28 +96453,28 @@
   "repo": "etu/webpaste.el",
   "unstable": {
    "version": [
-    20190310,
-    1048
+    20191214,
+    649
    ],
    "deps": [
     "cl-lib",
     "request"
    ],
-   "commit": "bd38635d926a45a3cbe453fd9b41c8624a6d2309",
-   "sha256": "1z4l2j66mfnx1l1svx45sxkxjlyzdyw10ybsfsjhwdsi6ll42nar"
+   "commit": "8f9322fb1c6b8a80187f48ba2cb96cc107fad2b2",
+   "sha256": "135gz07zwizvp4iv9k3s20rx8f5rmzmqwas5rfkx9c2nffarnjii"
   },
   "stable": {
    "version": [
     3,
     0,
-    1
+    2
    ],
    "deps": [
     "cl-lib",
     "request"
    ],
-   "commit": "7345c5f62d5cff4d84379eaf5dc8b2bb8bc4f99c",
-   "sha256": "00dfp2dyj9cvcvvpsh4g61b37477c8ahfj3xig2x2kgfz15lk89n"
+   "commit": "1a6c0e967f0340d825df33f4fab339eb904f5f5f",
+   "sha256": "15b97rszszgcivrsdx7368nxdb8lsag6wvmcvvm977splh9yjpwi"
   }
  },
  {
@@ -94183,25 +96485,25 @@
   "repo": "ahyatt/emacs-websocket",
   "unstable": {
    "version": [
-    20190621,
-    54
+    20200102,
+    637
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d91a9aef5a3ec5af985e5185c3b237fdd24605e0",
-   "sha256": "0b7kblpsh0m6azqbbvx0fzvwmyamxb25rqk5d1kyy5pizm5kg139"
+   "commit": "ee44af2cc55415591e7ccb1007193294c702affd",
+   "sha256": "01pc03kial647r1nad1vw6rcbd251hrvjjh87gqqlhh9ksrcwnl9"
   },
   "stable": {
    "version": [
     1,
-    10
+    12
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "0d96ba2ff5a25c6cd6c66f417cc9b5f38a4308ba",
-   "sha256": "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"
+   "commit": "491a60b8bb8a6c3bd081c70354ab82040b0a7db3",
+   "sha256": "0g0vy2yc118mcka9f26950gdmb780zpxck9y6nli602vj32dw1g2"
   }
  },
  {
@@ -94466,11 +96768,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20190802,
-    240
+    20191221,
+    1857
    ],
-   "commit": "42a25055163141165aa0269dbca69735e704825c",
-   "sha256": "0d27ka6pgkzv6bj31q4c5ksm30dspl9zy42ynnh4y2xb5wzp5ml2"
+   "commit": "1e3640e48c31f8062f018b5fc84acad696a0ea2a",
+   "sha256": "1ahgb7dqdc75farkl0fg0a6hvx2067gdvjq99cd3z2dz56km0p05"
   },
   "stable": {
    "version": [
@@ -94604,20 +96906,20 @@
   "repo": "whizzml/whizzml-mode",
   "unstable": {
    "version": [
-    20190920,
-    2342
+    20191216,
+    1743
    ],
-   "commit": "5c5be351e11a71b31ede33ce941ce20ee0da75ed",
-   "sha256": "0i43l3fwdxvm7mrxpqlf3j06w7blcqp0jyz6jici4pyg0bdy4kd0"
+   "commit": "65fa17f8c1dc50dcb90277b64019c2846a317293",
+   "sha256": "0swlmzfrxpv3slssmpad3hgxfxlmi8jp3422mvcsg9xbdslg2qb5"
   },
   "stable": {
    "version": [
     0,
     35,
-    0
+    1
    ],
-   "commit": "5c5be351e11a71b31ede33ce941ce20ee0da75ed",
-   "sha256": "0i43l3fwdxvm7mrxpqlf3j06w7blcqp0jyz6jici4pyg0bdy4kd0"
+   "commit": "65fa17f8c1dc50dcb90277b64019c2846a317293",
+   "sha256": "0swlmzfrxpv3slssmpad3hgxfxlmi8jp3422mvcsg9xbdslg2qb5"
   }
  },
  {
@@ -94633,6 +96935,14 @@
    ],
    "commit": "b4cdab4d25225c6e834727a7d85cdb0d493da152",
    "sha256": "058wym1iwgz5n5yd508xdc05ncdyqbs53a5c9mq0s6gs06h5xfyw"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "b4cdab4d25225c6e834727a7d85cdb0d493da152",
+   "sha256": "058wym1iwgz5n5yd508xdc05ncdyqbs53a5c9mq0s6gs06h5xfyw"
   }
  },
  {
@@ -95091,11 +97401,11 @@
   "repo": "ArneBab/wisp",
   "unstable": {
    "version": [
-    20190718,
-    1218
+    20190921,
+    2218
    ],
-   "commit": "5e860c746ee02c764bf378aeb8f436a1a341bd5c",
-   "sha256": "12qcq5k7xdlqwnq01qdkjf1035idrdmjxb24ya1xsxdkd3jra9dw"
+   "commit": "0d2c025ac4cfd394706c07fbb60999eaf711020b",
+   "sha256": "1fs4dpc78aax4mzcp0vzcvzf2mxiwzbdwjfgpylwppxamqdycdwy"
   }
  },
  {
@@ -95136,26 +97446,26 @@
   "repo": "magit/with-editor",
   "unstable": {
    "version": [
-    20190715,
-    2007
+    20200102,
+    2147
    ],
    "deps": [
     "async"
    ],
-   "commit": "45c29f9bfb7f2df93426ce1571e2f4f41ed4e492",
-   "sha256": "0n91y0m7m382j7dfcqhcfzngb84a41x6diy6lx4l87b48srhcpzc"
+   "commit": "7e0bf753709f1775d2bbbb6edf4482fca7fd286a",
+   "sha256": "1y4zrgsfs0504ks30qb7hl32ygd3hb6yx5x8032b30j7rh5ks29d"
   },
   "stable": {
    "version": [
     2,
-    8,
-    3
+    9,
+    1
    ],
    "deps": [
     "async"
    ],
-   "commit": "66bec91c859f305445b766394eb25248c1172426",
-   "sha256": "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"
+   "commit": "7e0bf753709f1775d2bbbb6edf4482fca7fd286a",
+   "sha256": "1y4zrgsfs0504ks30qb7hl32ygd3hb6yx5x8032b30j7rh5ks29d"
   }
  },
  {
@@ -95166,11 +97476,11 @@
   "repo": "twlz0ne/with-emacs.el",
   "unstable": {
    "version": [
-    20190820,
-    1326
+    20191219,
+    1521
    ],
-   "commit": "b398e54bcce2fc023b0c0b6fa1ba6686192d8b9b",
-   "sha256": "0hdz7adag2m97h07j3llzdnwwg2dp6n2q46hx7klp3khdlgrh2z1"
+   "commit": "295e5d5b16fd96ed476ea55efa60819515daafef",
+   "sha256": "1fgqzwg1p9by1zqhhdvh8g25wdig6d9d4p5ish70qij46gvaf7a0"
   }
  },
  {
@@ -95193,6 +97503,21 @@
   }
  },
  {
+  "ename": "with-proxy",
+  "commit": "295a85f94a804b72475b81b324a6120569b8134a",
+  "sha256": "18453b3687iywd62vnh47yig998l6c8vbc9py1rba1m6a9q01vq0",
+  "fetcher": "github",
+  "repo": "twlz0ne/with-proxy.el",
+  "unstable": {
+   "version": [
+    20190920,
+    24
+   ],
+   "commit": "a7506af86ffc943f5d4cba712ec661125799c30b",
+   "sha256": "1nxssc8xn8i2zf9bs9rv61im3jxi38lq1ph9qr0hazwncndcsb39"
+  }
+ },
+ {
   "ename": "with-simulated-input",
   "commit": "e4ddf16e19f5018106a423327ddc7e7499cf9248",
   "sha256": "0113la76nbp18vaffsd7w7wcw5k2sqwgnjq1gslf4khdfqghrkwk",
@@ -95200,15 +97525,15 @@
   "repo": "DarwinAwardWinner/with-simulated-input",
   "unstable": {
    "version": [
-    20190913,
-    1524
+    20191127,
+    2116
    ],
    "deps": [
     "s",
     "seq"
    ],
-   "commit": "3d881793521c5618cdb0968a85879e0e49da7fca",
-   "sha256": "12d3mhvzj74qwc4rdcb236jbqnf5lam8pk78j92kwbwjk1jaz2cf"
+   "commit": "7b044003150ee39505234080b86f474c60ad3471",
+   "sha256": "1y544fff80cjdzx9js5fwqnicdc75k5kn6i0hl6ns0cr6779b3z2"
   },
   "stable": {
    "version": [
@@ -95237,8 +97562,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "283b35e33f012657ef23e154b6bdf362377d82e6",
-   "sha256": "1s0vnsvhlcx1z5sbiyhk4iizakx4cbvjxwygdamrl8s0bnigqhfd"
+   "commit": "3728d3a60c600d7ac505ce281cd2579a8992c14d",
+   "sha256": "16gb7fcgz2akd78hxi8fy0h62957xfrgqb7flw8hkrixxi26jxyn"
   },
   "stable": {
    "version": [
@@ -95425,8 +97750,8 @@
   "repo": "abo-abo/worf",
   "unstable": {
    "version": [
-    20190519,
-    1648
+    20191116,
+    1730
    ],
    "deps": [
     "ace-link",
@@ -95434,8 +97759,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "00d191b347397bd7ad1f5b95cfe39fa3fce9fc91",
-   "sha256": "0mp5f6hp8pqckfsi4bxcg09kcfndvsbc2nnqbgdw87bidwlzhzmy"
+   "commit": "b1fb5771c4a3a47b628b8c349595c4ace347113b",
+   "sha256": "0s6c91r48cr306dh7pf3jlrkjvjbipxvv7936h8q8a8l97y3a5wv"
   },
   "stable": {
    "version": [
@@ -95618,25 +97943,25 @@
   "repo": "joostkremers/writeroom-mode",
   "unstable": {
    "version": [
-    20190406,
-    2135
+    20191208,
+    2351
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "ebe522ba5a0367cf82ed03ffeb63fe597b84f4a1",
-   "sha256": "0w2lmkkij79khjpswk2zxj371fa9ws94j9dqzrgzf37lnimgnsff"
+   "commit": "fa17eb651102502f60086d62784f1dae15c0630d",
+   "sha256": "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"
   },
   "stable": {
    "version": [
     3,
-    8
+    9
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "ebe522ba5a0367cf82ed03ffeb63fe597b84f4a1",
-   "sha256": "0w2lmkkij79khjpswk2zxj371fa9ws94j9dqzrgzf37lnimgnsff"
+   "commit": "fa17eb651102502f60086d62784f1dae15c0630d",
+   "sha256": "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"
   }
  },
  {
@@ -95670,11 +97995,11 @@
   "repo": "josteink/wsd-mode",
   "unstable": {
    "version": [
-    20180807,
-    1130
+    20191031,
+    1211
    ],
-   "commit": "0583df8efb742c90dc56df00f9714e13512cf6d9",
-   "sha256": "0f90qm5zx7lkyvaz519fln4hijfyammc675105f19492h1bc1bva"
+   "commit": "b87dee6d2d21fc868a3fae35bbd3f08910ad57e0",
+   "sha256": "1phxq59nsxw6zx1v097j9iqm54am9pln2wzcszsxj2ipjskiz7xn"
   },
   "stable": {
    "version": [
@@ -95724,20 +98049,20 @@
   "repo": "redguardtoo/wucuo",
   "unstable": {
    "version": [
-    20181106,
-    2257
+    20191219,
+    418
    ],
-   "commit": "4e988c101fe82f2e8c7b3710d15982fe28b8d32d",
-   "sha256": "0g558miz9f4g8jlq532fs9yxj3il62zajgcjfndall2853hn54af"
+   "commit": "95c417f49321071645214a5774209393f0db3dbd",
+   "sha256": "1scw0lzbix4ifh0mkh20wbb4a9h32n8ncpxnlxwdim8z4b469w11"
   },
   "stable": {
    "version": [
     0,
     0,
-    4
+    6
    ],
-   "commit": "4e988c101fe82f2e8c7b3710d15982fe28b8d32d",
-   "sha256": "0g558miz9f4g8jlq532fs9yxj3il62zajgcjfndall2853hn54af"
+   "commit": "dc56b11e0f5c4e4a121e6ac72523fa0e6cae4c02",
+   "sha256": "0mjvdj9j1l27i5nmam087fig6183awbn6xnib4wrrfbyc6q4qxlw"
   }
  },
  {
@@ -95893,11 +98218,11 @@
   "repo": "xahlee/xah-fly-keys",
   "unstable": {
    "version": [
-    20190223,
-    716
+    20191226,
+    2348
    ],
-   "commit": "cc8b3bc26998bc29f82e87667c0d1ef90894ff66",
-   "sha256": "19q20mp5gzkm0ch5wz1jxajkb8cqmknsldlzb7jsa8hzyvl2mb7m"
+   "commit": "b3702573524c8bde14a6eb32cf2da20cfa0a0bbf",
+   "sha256": "10rlpd8jxndv3pg2vafq3dgpfifzdid1377agmxr5m646n8a4ddf"
   }
  },
  {
@@ -96129,6 +98454,36 @@
   }
  },
  {
+  "ename": "xml-format",
+  "commit": "5e4df4dc715884132a7c409e041b303eeb727f18",
+  "sha256": "1xk3236m497n345i95l1k0xpyb7v8h3mar36j7yjjwxavjrh8ygg",
+  "fetcher": "github",
+  "repo": "wbolster/emacs-xml-format",
+  "unstable": {
+   "version": [
+    20191011,
+    1148
+   ],
+   "deps": [
+    "reformatter"
+   ],
+   "commit": "2861c4e33e18b077112efa072316b031bca4236c",
+   "sha256": "1g0v5ir6nwpamnwvq509d1s1s60n0s5p2lvqqm0n0rk9r753cqkh"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "deps": [
+    "reformatter"
+   ],
+   "commit": "2861c4e33e18b077112efa072316b031bca4236c",
+   "sha256": "1g0v5ir6nwpamnwvq509d1s1s60n0s5p2lvqqm0n0rk9r753cqkh"
+  }
+ },
+ {
   "ename": "xml-quotes",
   "commit": "ab315d783765730aceab43b4fd8c4872a1f1cc05",
   "sha256": "1lmafa695xkhd90k6yiv8a57ch1jx33l1zpm39z0kj546mn6y8aq",
@@ -96198,11 +98553,19 @@
   "repo": "ndw/xmlunicode",
   "unstable": {
    "version": [
-    20160319,
-    1612
+    20191124,
+    2312
    ],
-   "commit": "f5d185da46414c0509ebd0aa0fab416becf94612",
-   "sha256": "178bdfwiinhf98qm88ivmgy6rd0qjx5gnckkclanybva0r8l6832"
+   "commit": "80f30becf860db4277e71e3445994fccaf35ba98",
+   "sha256": "0vs8l739104s3zqmqna4m0n0pkz4m04mivx6r9iqdjmg4khh6bfi"
+  },
+  "stable": {
+   "version": [
+    1,
+    21
+   ],
+   "commit": "80f30becf860db4277e71e3445994fccaf35ba98",
+   "sha256": "0vs8l739104s3zqmqna4m0n0pkz4m04mivx6r9iqdjmg4khh6bfi"
   }
  },
  {
@@ -96221,6 +98584,21 @@
   }
  },
  {
+  "ename": "xonsh-mode",
+  "commit": "f408aee5da4eadd8f4550893336f6decf00c9281",
+  "sha256": "15bb2zz9rb7bn0wrwhpi46f9knfr8hbjl9drks6xma3ln7nvrn9v",
+  "fetcher": "github",
+  "repo": "seanfarley/xonsh-mode",
+  "unstable": {
+   "version": [
+    20191214,
+    114
+   ],
+   "commit": "01819823822b6ebe01c02af548276cb2deb343f4",
+   "sha256": "043ijxkab06zlag9hsd0xdw5bxqi6n8sd10zr62f7drwchmw9ln0"
+  }
+ },
+ {
   "ename": "xquery-mode",
   "commit": "e8ea1c9e26963f290d912df21b81afd689543658",
   "sha256": "13xrvygk7wdby6599q6yxw8cm45qqki8szrm49fc3b6pr6vzpidg",
@@ -96323,14 +98701,14 @@
   "repo": "atomontage/xterm-color",
   "unstable": {
    "version": [
-    20190816,
-    941
+    20200103,
+    1327
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "44e6df835bd4173ee4ccc7e29842e9dae76f2668",
-   "sha256": "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"
+   "commit": "4b21b619841c93c4700039a93eb1881beee9248c",
+   "sha256": "1v4i74xdp26k9r1nvbdz625l62acvfb2kkp1nvld05p6xkh0q68z"
   },
   "stable": {
    "version": [
@@ -96478,21 +98856,6 @@
   }
  },
  {
-  "ename": "yahoo-weather",
-  "commit": "ae5ca93d48a2d24787c3d4ed7ab3a65aa8023f4f",
-  "sha256": "1kzi6yp186wfcqh5q1v9vw6b1h8x89sba6wlnacfpjbarwapfif0",
-  "fetcher": "github",
-  "repo": "lujun9972/yahoo-weather-mode",
-  "unstable": {
-   "version": [
-    20181026,
-    320
-   ],
-   "commit": "1d2db14daa1706e03dfe4379397eb89234a56400",
-   "sha256": "01hydsjj427j4xyy8cwiz5kn67vwwi1qnih5qfyw04w29r9njh1n"
-  }
- },
- {
   "ename": "yahtzee",
   "commit": "200169fdabce0ae3a2ecb6f4f3255c15ec3ed094",
   "sha256": "1fnywiami9mszagmms27dmak6chcichdi7q70x5c6aimc4jb98jk",
@@ -96503,8 +98866,8 @@
     20171022,
     1412
    ],
-   "commit": "785c36f6a19c011718f45d359609ada6da8bb5f0",
-   "sha256": "1nvlrrb1iyy6ll85kr8bls1l2pfs6rlnzlj122hmv3916d434iya"
+   "commit": "f13ba9d613c0edaa23fac57721529cf41413353f",
+   "sha256": "1ijacfcz2b7cmgxfyx9b7yhs9nybv19388fb9y0527nhbnjls4v4"
   }
  },
  {
@@ -96560,11 +98923,11 @@
   "repo": "yoshiki/yaml-mode",
   "unstable": {
    "version": [
-    20190625,
-    1740
+    20191127,
+    2314
    ],
-   "commit": "5b4a0db384f996554454b5642e4531c502421de8",
-   "sha256": "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"
+   "commit": "cecf4b106b0c4236931b14919fdf87ff3546e2c9",
+   "sha256": "10dz6zz5mhf09wnhqag93zvdcnh6zyizpsdj189jgza58dq2vp1v"
   },
   "stable": {
    "version": [
@@ -96641,11 +99004,11 @@
   "repo": "Kungsgeten/yankpad",
   "unstable": {
    "version": [
-    20190904,
-    1507
+    20191228,
+    1345
    ],
-   "commit": "2f110f4aacb00c58439385cabb18cfaa8d759e64",
-   "sha256": "1hwmap0z4jjfs5lwmr0zrybzvx49qbqa957wg21l8h31pq40d3k5"
+   "commit": "0230b1dd2477673ba45a7c07da6bac15414f10cd",
+   "sha256": "01007dz4lxv50qkcb3z4z5ibc0jkqw79hyxg7qfjdar8157ylb2s"
   },
   "stable": {
    "version": [
@@ -96664,11 +99027,11 @@
   "repo": "JorisE/yapfify",
   "unstable": {
    "version": [
-    20180830,
-    733
+    20191103,
+    2100
    ],
-   "commit": "b858225e1debe6734ee718e5c3c209152652a8b3",
-   "sha256": "16bpshqk47slcifx9v70ka202lnbspkcjdl5npxpf12abc1syh06"
+   "commit": "530ca2b589070edfe9bd59034af55c924d03b83a",
+   "sha256": "14f2zfb4l3fd2sry7b3cjzk0bhdfsmwjqsc25zaf2y5dy0ryllds"
   },
   "stable": {
    "version": [
@@ -96741,11 +99104,11 @@
   "repo": "anachronic/yarn-mode",
   "unstable": {
    "version": [
-    20170709,
-    1937
+    20191208,
+    2153
    ],
-   "commit": "998b408d6be05fd1c3a9fd8db6ffaab3bf86d06b",
-   "sha256": "09mrcv30n6zmgnwgl5pb2cyk6122a0ng1xg20grpmlwbq3qlr424"
+   "commit": "218cdb3c53d740b4520c807cb0d8479bfecedaed",
+   "sha256": "0pf98jkz8k4gyc650wwfhww6gli847hmxb8lrnmw50yb88dqa38f"
   },
   "stable": {
    "version": [
@@ -96790,14 +99153,14 @@
   "repo": "joaotavora/yasnippet",
   "unstable": {
    "version": [
-    20190724,
-    1204
+    20191222,
+    2206
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d91dd66f2aed9bbaef32813a68b105ea77e83890",
-   "sha256": "157ja4fki83dzab2ysd74dmbv83xsrccq59x6d8ilby9fzkizybr"
+   "commit": "3bf9a3b1af37174a004798b7195826af0123fa6a",
+   "sha256": "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"
   },
   "stable": {
    "version": [
@@ -96820,14 +99183,14 @@
   "repo": "leanprover-community/yasnippet-lean",
   "unstable": {
    "version": [
-    20190609,
-    454
+    20190922,
+    2037
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "2d57b8ad5c69a1886701d42ca5a8de6bacb170cc",
-   "sha256": "1d2n3q36s1mri1lmazld6pabx3929kqivkgq6b8qaya04ri8ds28"
+   "commit": "9119be08a32286d3e8559138e8ae003856ae1c0a",
+   "sha256": "1q06c574zn0ibbb3zbgi59zxj17i7kyjkcz45sj5h7hbn9l81594"
   }
  },
  {
@@ -96838,25 +99201,25 @@
   "repo": "AndreaCrotti/yasnippet-snippets",
   "unstable": {
    "version": [
-    20190908,
-    1137
+    20191230,
+    1405
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "676a6ddc190fb957dca3c42a777e34a623f15cbd",
-   "sha256": "14208jiymdz7pa6yx6is9fip3myhqgb7wjby7f27x73iv4rvkvkp"
+   "commit": "e813c1479a9fb2773d95ddba39c4aa0e7a1c33c5",
+   "sha256": "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"
   },
   "stable": {
    "version": [
     0,
-    14
+    20
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "71ae4a665f0db13165f14687cf5828d4510ef557",
-   "sha256": "1gaycwqy1s2jvkqswjcbm49157ci5k8apsqlj2x5qs55w71zm5p8"
+   "commit": "e813c1479a9fb2773d95ddba39c4aa0e7a1c33c5",
+   "sha256": "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"
   }
  },
  {
@@ -96896,11 +99259,11 @@
   "url": "https://www.yatex.org/hgrepos/yatex",
   "unstable": {
    "version": [
-    20190911,
-    27
+    20191226,
+    351
    ],
-   "commit": "9e07513fc2efd1e60e00bff1832ca77ec644166c",
-   "sha256": "0bs1kizsn2cp26ssj84pk1xqabrvc5kpl4689sjxc4vihfayzd5l"
+   "commit": "89a13c59674f57dc057594117f2dc929500e82a0",
+   "sha256": "1si880lg2idb088c7hywyyrkrm3by3f957kjgd28r4zv8d2z0k0p"
   }
  },
  {
@@ -96963,8 +99326,8 @@
     "request-deferred",
     "s"
    ],
-   "commit": "6f4f7384b82203cccf208e3ec09252eb079439f9",
-   "sha256": "1bl86x8nqw4jqzb8pfm6hm316hmk1bx8v3qz7wq9z92hb67ck2kn"
+   "commit": "bc81b992f79100c98f56b7b83caf64cb8ea60477",
+   "sha256": "0kwm5q2sv2xrsmnr0gc2fimp6b2cvwh5mhqsmcc3lgs32m4j1kwv"
   },
   "stable": {
    "version": [
@@ -97017,14 +99380,14 @@
   "repo": "alphapapa/yequake",
   "unstable": {
    "version": [
-    20190114,
-    1955
+    20191121,
+    1726
    ],
    "deps": [
     "dash"
    ],
-   "commit": "4c093fa6ca3b8953ee509c7d8f434984d55ec802",
-   "sha256": "0y9dhvfp31yn8cgqslk647b8fs1sv0kwwnnjakjhx2zm3ljld3s0"
+   "commit": "16dd29c68f4b59ee2da7b7c13d17a687c9c79e16",
+   "sha256": "1mgnnbss3id8hnas69gc91v2ni3fjy93wn1fjmmw5qq1gl56bgqc"
   }
  },
  {
@@ -97108,8 +99471,8 @@
   "repo": "xuchunyang/youdao-dictionary.el",
   "unstable": {
    "version": [
-    20190916,
-    313
+    20191227,
+    242
    ],
    "deps": [
     "chinese-word-at-point",
@@ -97117,8 +99480,8 @@
     "popup",
     "pos-tip"
    ],
-   "commit": "c8c76a1584c9a39ab5df7bba3ba3c728cbd30bb2",
-   "sha256": "07vngrn17x91anhwvnaa7ryfipgszipaghnj1404yik9w9j9mff9"
+   "commit": "a745e3197cf3498244265efab8e1cc1f4fedcddc",
+   "sha256": "0b74crwlslvl4hvjai6a5cphxy9rjnlkhjdlfprqf7s1ygycy1m0"
   },
   "stable": {
    "version": [
@@ -97213,6 +99576,21 @@
   }
  },
  {
+  "ename": "zen-mode",
+  "commit": "42911a6fe084d88ed12fb87e0e03f7a6f176ec6c",
+  "sha256": "1fr6bp60jbv7dkhkwqk83d8g139rsfk95ljyjch5xvhl1bj0jmwg",
+  "fetcher": "github",
+  "repo": "zenlang/zen-mode",
+  "unstable": {
+   "version": [
+    20191224,
+    706
+   ],
+   "commit": "3d34bce20c1d7d35b99916672ea0dd67a96c7716",
+   "sha256": "1ykc58imkrhk4ib8mdgs7q7qrjbj84bm0rgfpgqk0dkfy16daj2q"
+  }
+ },
+ {
   "ename": "zenburn-theme",
   "commit": "091dcc3775ec2137cb61d66df4e72aca4900897a",
   "sha256": "1kb371j9aissj0vy07jw4ydfn554blc8b2rbi0x1dvfksr2rhsn9",
@@ -97220,11 +99598,11 @@
   "repo": "bbatsov/zenburn-emacs",
   "unstable": {
    "version": [
-    20190809,
-    1324
+    20200105,
+    1010
    ],
-   "commit": "4db36d32207613340dfc6a48fcf8e57a60d97ba3",
-   "sha256": "0xkchyg3qsv7nwbl8idypr0wc90c9qhw5s1pbg6xwcyvn9751sba"
+   "commit": "eaaba83ce08e8afff5f4c8dd6be0921ef34f9cef",
+   "sha256": "1a02cpm0j9x59f864nkhbv4acr111kmrwdv4myd33m0yf31x9ilr"
   },
   "stable": {
    "version": [
@@ -97309,6 +99687,36 @@
   }
  },
  {
+  "ename": "zero-input",
+  "commit": "5dad98623a72d61e1421abbe859e5f8764381751",
+  "sha256": "1av9qd2ggngrb23z3v9rwxnr8calmybis96ja7xfs5z8gnky5bhz",
+  "fetcher": "git",
+  "url": "https://gitlab.emacsos.com/sylecn/zero-el",
+  "unstable": {
+   "version": [
+    20191110,
+    910
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "cd075a5ff4a979f0ab850d0fc747b4db429298e4",
+   "sha256": "0p1ir4zk13n0hmxrx02an014bwd2rpypdxndik4p90b7yl25vw56"
+  },
+  "stable": {
+   "version": [
+    2,
+    0,
+    7
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "cd075a5ff4a979f0ab850d0fc747b4db429298e4",
+   "sha256": "0p1ir4zk13n0hmxrx02an014bwd2rpypdxndik4p90b7yl25vw56"
+  }
+ },
+ {
   "ename": "zerodark-theme",
   "commit": "d00b78ead693e844e35c760fe2c39b8ed6cb0d81",
   "sha256": "1nqzswmnq6h0av4rivqm237h7ghp7asa2nvls7nz4ma467p9qhp9",
@@ -97338,6 +99746,24 @@
   }
  },
  {
+  "ename": "zetteldeft",
+  "commit": "c643adaf73e8324092874887636cdf0365c481ee",
+  "sha256": "1vd70mrwn9cfalmiv97ja79hbdmyl5bm9cqsz5c276gk6v6pzvpc",
+  "fetcher": "github",
+  "repo": "efls/zetteldeft",
+  "unstable": {
+   "version": [
+    20200105,
+    1705
+   ],
+   "deps": [
+    "deft"
+   ],
+   "commit": "fbd9c3f619548aab0bff088c2682e5c70b4c2fcd",
+   "sha256": "1q6j3aqrrfmv1jdsg51vx1vby5rjb06cx76a8jlvlcc8fgmb4s45"
+  }
+ },
+ {
   "ename": "zig-mode",
   "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
   "sha256": "1kg1x0l65nqqpzn5np41ya9khr1yqcg5ki7z3jw0g4wxdbz7lrbx",
@@ -97345,11 +99771,33 @@
   "repo": "ziglang/zig-mode",
   "unstable": {
    "version": [
-    20190109,
-    217
+    20191023,
+    1551
    ],
-   "commit": "c2deea85dd65c3e73c2771c56a998cbdeb9ff717",
-   "sha256": "10k7i2fj3imbq09fkcgd4kjp7n1dn46119jqrd6kbx5inlkq1782"
+   "commit": "77202ac26ee6091d69d40990fddb1ce6cfcc6dc8",
+   "sha256": "0d2f6nz99dp3yxr7m8i78lc313qzssm7k4783w6kkvcsbpknazlw"
+  }
+ },
+ {
+  "ename": "zim-wiki-mode",
+  "commit": "a10d6b0fb4d5b87d7dea1bbc4e4e0495aa51627c",
+  "sha256": "188g8jf5004amq10gm7p9w1m1ff67l8sxlp1m38wpkivhkgfxzcb",
+  "fetcher": "github",
+  "repo": "WillForan/zim-wiki-mode",
+  "unstable": {
+   "version": [
+    20191208,
+    2241
+   ],
+   "deps": [
+    "dokuwiki-mode",
+    "helm-ag",
+    "helm-projectile",
+    "link-hint",
+    "pretty-hydra"
+   ],
+   "commit": "030fb78600a6782f8746fe547b979bcc9a24f0ed",
+   "sha256": "0b3rd83mbpyf782jnfv2yfhfq2ffps3wbn31iblyydmv790lpdvx"
   }
  },
  {
@@ -97548,11 +99996,11 @@
   "repo": "cyrus-and/zoom",
   "unstable": {
    "version": [
-    20190523,
-    1300
+    20200106,
+    1204
    ],
-   "commit": "e2aad25dfd334299a7e53df21796b8652142c5b5",
-   "sha256": "0nr21gmji24bn5j73hrl8qy9llv3cmc9w5j30pcnsi4zi2svh9gc"
+   "commit": "4d4b6d9feca600f9cc0f0dec2e8988c3a07f9189",
+   "sha256": "0fxks1508ah0c3i2j454cjapc2k5fq4akvhjzz9lj04wwhjxilgg"
   },
   "stable": {
    "version": [
@@ -97674,8 +100122,8 @@
    "deps": [
     "request-deferred"
    ],
-   "commit": "23a4a9f74a658222027d53a9a83cd4bcc583ca8b",
-   "sha256": "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"
+   "commit": "1578e7fd82cb09a7a4349fd8e4d59f16d0ed7074",
+   "sha256": "0ynaz90an0ar4r5yjmjy2nvv00gg0qslshnqg15n6j7gkq1zg1rd"
   },
   "stable": {
    "version": [
@@ -97751,17 +100199,17 @@
  },
  {
   "ename": "zprint-mode",
-  "commit": "125f6358dd8d715b61b12de5d39215453e53ea10",
-  "sha256": "07ziwnk1c620s7rp42fylpw5vgin0p7aapp3g8aif60vcb8g3m7y",
+  "commit": "188d40daec1ff86dcfa807a91eb77a1281de3951",
+  "sha256": "1dwf941plwxib96n4g95pm51hhhaq643djn1hps8s7yyrzz77czz",
   "fetcher": "github",
   "repo": "pesterhazy/zprint-mode.el",
   "unstable": {
    "version": [
-    20181111,
-    1945
+    20191130,
+    1829
    ],
-   "commit": "e1a7b7fe48e36e5cdf1269ab394d3cf779fdab58",
-   "sha256": "1ayw2ni49fvks6xaiqkvyn3rbkfw49kxhrnd2vnvcn7qhajbh435"
+   "commit": "4d0dd23b40155618181d9d1e4c82849e0d73b659",
+   "sha256": "0im63h7ang7zypzbf45k5pxz11svyyk8pab9d4qg9jsb7bz9v7k0"
   }
  },
  {
@@ -97772,14 +100220,14 @@
   "repo": "fourier/ztree",
   "unstable": {
    "version": [
-    20180512,
-    1850
+    20191108,
+    2234
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c54425a094353ec40a8179f9eab3596f76c6cf94",
-   "sha256": "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"
+   "commit": "0a5b25f364490a58ef7371534a39c75d11f54132",
+   "sha256": "0a0p9srdkc79isw99al3vba50vc435654wix07r9jcgdh856zbsr"
   }
  },
  {
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix
new file mode 100644
index 000000000000..bcd947983a34
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, trivialBuild }:
+
+trivialBuild {
+  pname = "sv-kalender";
+  version = "1.9";
+
+  src = fetchurl {
+    url = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
+    sha256 = "0kilp0nyhj67qscy13s0g07kygz2qwmddklhan020sk7z7jv3lpi";
+    postFetch = ''
+      echo "(provide 'sv-kalender)" >> $out
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Swedish calendar for Emacs";
+    homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainer.rycee ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/25.nix b/nixpkgs/pkgs/applications/editors/emacs/25.nix
index 76009370473b..e4643102f0ef 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/25.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/25.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
+{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d, fetchpatch
 , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
 , alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO
 , withX ? !stdenv.isDarwin
 , withGTK2 ? false, gtk2 ? null
 , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null
-, withXwidgets ? false, webkitgtk24x-gtk3 ? null, wrapGAppsHook ? null, glib-networking ? null
+, withXwidgets ? false, webkitgtk, wrapGAppsHook ? null, glib-networking ? null
 , withCsrc ? true
-, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
+, autoconf ? null, automake ? null, texinfo ? null
 }:
 
 assert (libXft != null) -> libpng != null;      # probably a bug
@@ -16,7 +16,7 @@ assert withGTK2 -> withX || stdenv.isDarwin;
 assert withGTK3 -> withX || stdenv.isDarwin;
 assert withGTK2 -> !withGTK3 && gtk2 != null;
 assert withGTK3 -> !withGTK2 && gtk3 != null;
-assert withXwidgets -> withGTK3 && webkitgtk24x-gtk3 != null;
+assert withXwidgets -> withGTK3 && webkitgtk != null;
 
 let
   toolkit =
@@ -46,10 +46,21 @@ stdenv.mkDerivation rec {
       url = "https://gist.githubusercontent.com/aaronjensen/f45894ddf431ecbff78b1bcf533d3e6b/raw/6a5cd7f57341aba673234348d8b0d2e776f86719/Emacs-25-OS-X-use-vfork.patch";
       sha256 = "1nlsxiaynswqhy99jf4mw9x0sndhwcrwy8713kq1l3xqv9dbrzgj";
     })
+  ] ++ [
+    # Backport patches so we can use webkitgtk with xwidgets.
+    (fetchpatch {
+      name = "0001-Omit-unnecessary-includes-from-xwidget-c.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/a36ed9b5e95afea5716256bac24d883263aefbaf.patch";
+      sha256 = "1j34c0vkj87il87xy1px23yk6bw73adpr7wqa79ncj89i4lc8qkb";
+    })
+    (fetchpatch {
+      name = "0002-xwidget-Use-WebKit2-API.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/d781662873f228b110a128f7a2b6583a4d5e0a3a.patch";
+      sha256 = "1lld56zi4cw2hmjxhhdcc0f07k8lbj32h10wcq4ml3asdwa31ryr";
+    })
   ];
 
-  nativeBuildInputs = [ pkgconfig ]
-    ++ lib.optionals srcRepo [ autoconf automake texinfo ]
+  nativeBuildInputs = [ pkgconfig autoconf automake texinfo ]
     ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
 
   buildInputs =
@@ -61,7 +72,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (withX && withGTK2) gtk2
     ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ]
     ++ lib.optional (stdenv.isDarwin && withX) cairo
-    ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ]
+    ++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
     ++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
 
   hardeningDisable = [ "format" ];
@@ -75,7 +86,7 @@ stdenv.mkDerivation rec {
              "--with-gif=no" "--with-tiff=no" ])
     ++ lib.optional withXwidgets "--with-xwidgets";
 
-  preConfigure = lib.optionalString srcRepo ''
+  preConfigure = ''
     ./autogen.sh
   '' + ''
     substituteInPlace lisp/international/mule-cmds.el \
@@ -86,7 +97,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  installTargets = "tags install";
+  installTargets = [ "tags" "install" ];
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
diff --git a/nixpkgs/pkgs/applications/editors/emacs/default.nix b/nixpkgs/pkgs/applications/editors/emacs/default.nix
index 29a6a8773eff..98653517b5e7 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/default.nix
@@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
     [ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ]
     ++ lib.optionals stdenv.isLinux [ dbus libselinux systemd ]
     ++ lib.optionals withX
-      [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
+      [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff libXft
         gconf ]
-    ++ lib.optionals (withX || withNS) [ imagemagick ]
+    ++ lib.optionals (withX || withNS) [ imagemagick librsvg ]
     ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
     ++ lib.optional (withX && withGTK2) gtk2-x11
     ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  installTargets = "tags install";
+  installTargets = [ "tags" "install" ];
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
diff --git a/nixpkgs/pkgs/applications/editors/emacs/macport.nix b/nixpkgs/pkgs/applications/editors/emacs/macport.nix
index 649997171e9f..e9307c7e80b9 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/macport.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/macport.nix
@@ -4,10 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  emacsVersion = "26.3";
-  emacsName = "emacs-${emacsVersion}";
+  pname = "emacs";
+  version = "26.3";
+
+  emacsName = "emacs-${version}";
   macportVersion = "7.7";
-  name = "emacs-mac-${emacsVersion}-${macportVersion}";
+  name = "emacs-mac-${version}-${macportVersion}";
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
diff --git a/nixpkgs/pkgs/applications/editors/flpsed/default.nix b/nixpkgs/pkgs/applications/editors/flpsed/default.nix
index b8b11e5e831e..cbff8e606f2d 100644
--- a/nixpkgs/pkgs/applications/editors/flpsed/default.nix
+++ b/nixpkgs/pkgs/applications/editors/flpsed/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://flpsed.org/flpsed.html;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/fte/default.nix b/nixpkgs/pkgs/applications/editors/fte/default.nix
index d32a3fb5f1b5..ab149131b808 100644
--- a/nixpkgs/pkgs/applications/editors/fte/default.nix
+++ b/nixpkgs/pkgs/applications/editors/fte/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
   };
   src = [ ftesrc ftecommon ];
 
-  buildFlags = "PREFIX=$(out)";
+  buildFlags = [ "PREFIX=$(out)" ];
 
-  installFlags = "PREFIX=$(out) INSTALL_NONROOT=1";
+  installFlags = [ "PREFIX=$(out)" "INSTALL_NONROOT=1" ];
 
   meta = with stdenv.lib; {
     description = "A free text editor for developers";
diff --git a/nixpkgs/pkgs/applications/editors/geany/default.nix b/nixpkgs/pkgs/applications/editors/geany/default.nix
index a30a8f702242..d3cc36244193 100644
--- a/nixpkgs/pkgs/applications/editors/geany/default.nix
+++ b/nixpkgs/pkgs/applications/editors/geany/default.nix
@@ -1,36 +1,51 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl, hicolor-icon-theme }:
-
-with stdenv.lib;
-
-let
-  version = "1.35";
-in
+{ stdenv
+, fetchurl
+, gtk3
+, which
+, pkgconfig
+, intltool
+, file
+, libintl
+, hicolor-icon-theme
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "geany";
-  inherit version;
+  version = "1.36";
+
+  outputs = [ "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://download.geany.org/${pname}-${version}.tar.bz2";
-    sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim";
+    sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool libintl ];
-  buildInputs = [ gtk2 which file hicolor-icon-theme ];
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libintl
+    which
+    file
+    hicolor-icon-theme
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
-  patchPhase = "patchShebangs .";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Small and lightweight IDE";
     longDescription = ''
       Geany is a small and lightweight Integrated Development Environment.
       It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
       Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
-      Geany only requires the GTK2 runtime libraries.
+      Geany only requires the GTK runtime libraries.
       Some basic features of Geany:
       - Syntax highlighting
       - Code folding
@@ -45,7 +60,7 @@ stdenv.mkDerivation rec {
       - Simple project management
       - Plugin interface
     '';
-    homepage = https://www.geany.org/;
+    homepage = "https://www.geany.org/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ frlan ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/editors/geany/with-vte.nix b/nixpkgs/pkgs/applications/editors/geany/with-vte.nix
index f7351454fb8c..ece5c95f05ab 100644
--- a/nixpkgs/pkgs/applications/editors/geany/with-vte.nix
+++ b/nixpkgs/pkgs/applications/editors/geany/with-vte.nix
@@ -1,8 +1,24 @@
-{ runCommand, makeWrapper, geany, gnome2 }:
-let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name;
-in
-runCommand name { nativeBuildInputs = [ makeWrapper ]; inherit (geany.meta); } "
-   mkdir -p $out
-   ln -s ${geany}/share $out
-   makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib
-"
+{ symlinkJoin
+, makeWrapper
+, geany
+, lndir
+, vte
+}:
+
+symlinkJoin {
+  name = "geany-with-vte-${geany.version}";
+
+  # TODO: add geany-plugins
+  paths = with geany; [ out doc man ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    # need to replace the directory since it is a symlink
+    rm -r $out/bin; mkdir $out/bin
+    makeWrapper ${geany}/bin/geany $out/bin/geany \
+      --prefix LD_LIBRARY_PATH : ${vte}/lib
+  '';
+
+  inherit (geany.meta);
+}
diff --git a/nixpkgs/pkgs/applications/editors/glow/default.nix b/nixpkgs/pkgs/applications/editors/glow/default.nix
new file mode 100644
index 000000000000..928291940cfe
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/glow/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "glow";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = "glow";
+    rev = "v${version}";
+    sha256 = "0vhl8d7xxqqyl916nh8sgm1xdaf7xlc3r18464bd2av22q9yz68n";
+  };
+
+  modSha256 = "0r0yq7kgz7i1wf4gxxihdrn1c8mi4wcyhadncxbln24s9c5apxsf";
+
+  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
+
+  meta = with lib; {
+    description = "Render markdown on the CLI";
+    homepage = "https://github.com/charmbracelet/glow";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ehmry filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix b/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
index 740d65838c3f..bda0552e7529 100644
--- a/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
+++ b/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
@@ -1,10 +1,11 @@
-{ gcc8Stdenv
+{ stdenv
 , ctags
 , appstream-glib
 , desktop-file-utils
 , docbook_xsl
 , docbook_xml_dtd_43
 , fetchurl
+, fetchpatch
 , flatpak
 , gnome3
 , libgit2-glib
@@ -13,7 +14,6 @@
 , gtk-doc
 , gtk3
 , gtksourceview4
-, hicolor-icon-theme
 , json-glib
 , jsonrpc-glib
 , libdazzle
@@ -23,6 +23,7 @@
 , ninja
 , ostree
 , pcre
+, pcre2
 , pkgconfig
 , python3
 , sysprof
@@ -33,22 +34,30 @@
 , wrapGAppsHook
 , dbus
 , xvfb_run
+, glib
 }:
 
-let
-  # Does not build with GCC 7
-  # https://gitlab.gnome.org/GNOME/gnome-builder/issues/868
-  stdenv = gcc8Stdenv;
-in
 stdenv.mkDerivation rec {
   pname = "gnome-builder";
-  version = "3.32.4";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xip58m206p8wa28p0a3y4ykylzr5xzmirjl3dspg4j25r08i8qr";
+    sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
   };
 
+  patches = [
+    # Fix build with Meson 0.52
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/c8b862b491cfbbb4f79b24d7cd90e4fb1f37cb9f.patch";
+      sha256 = "0n8kg7nnjqmbnyag1ps6dvrlqrxc94djjncqx10d6y7ijwdxf4w8";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/da26dfbf78468f5ed724e022b300a07862a95833.patch";
+      sha256 = "0psa65bzjpjj7vc5rknv2w2dz3p50jjv10s6j2fd6lpw8j2800k4";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
@@ -56,7 +65,6 @@ stdenv.mkDerivation rec {
     docbook_xml_dtd_43
     gobject-introspection
     gtk-doc
-    hicolor-icon-theme
     (meson.override ({ inherit stdenv; }))
     ninja
     pkgconfig
@@ -82,6 +90,7 @@ stdenv.mkDerivation rec {
     libxml2
     ostree
     pcre
+    pcre2
     python3
     sysprof
     template-glib
@@ -100,6 +109,8 @@ stdenv.mkDerivation rec {
     patchShebangs build-aux/meson/post_install.py
   '';
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
   mesonFlags = [
     "-Dpython_libprefix=${python3.libPrefix}"
     "-Ddocs=true"
diff --git a/nixpkgs/pkgs/applications/editors/gobby/default.nix b/nixpkgs/pkgs/applications/editors/gobby/default.nix
index 3abe2834db46..f194227932d0 100644
--- a/nixpkgs/pkgs/applications/editors/gobby/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/hexcurse/default.nix b/nixpkgs/pkgs/applications/editors/hexcurse/default.nix
index a6437f070b98..c87694321f35 100644
--- a/nixpkgs/pkgs/applications/editors/hexcurse/default.nix
+++ b/nixpkgs/pkgs/applications/editors/hexcurse/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "17ckkxfzbqvvfdnh10if4aqdcq98q3vl6dn1v6f4lhr4ifnyjdlk";
   };
   buildInputs = [ ncurses ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-overflow" "-Wno-error=stringop-truncation" ];
   patches = [
     # gcc7 compat
     (fetchpatch {
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
       sha256 = "0v6gbp6pjpmnzswlf6d97aywiy015g3kcmfrrkspsbb7lh1y3nix";
     })
   ];
-  
+
   meta = with lib; {
     description = "ncurses-based console hexeditor written in C";
     homepage = https://github.com/LonnyGomes/hexcurse;
diff --git a/nixpkgs/pkgs/applications/editors/hexdino/default.nix b/nixpkgs/pkgs/applications/editors/hexdino/default.nix
new file mode 100644
index 000000000000..ef3635aa8d29
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index ebdfb09936aa..3286e3427445 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -150,7 +150,7 @@ let
           with on-the-fly code analysis, error prevention and
           automated refactorings for PHP and JavaScript code.
         '';
-        maintainers = with maintainers; [ schristo ];
+        maintainers = with maintainers; [ schristo ma27 ];
         platforms = platforms.linux;
       };
     });
@@ -240,7 +240,7 @@ let
       patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
         # Webstorm tries to use bundled jre if available.
         # Lets prevent this for the moment
-        rm -r jre64
+        rm -r jbr
       '';
     });
 in
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "13y2c3vzlklwz9cd7anpfdc3dqwh714xivm1g59s6p4x9sy172lp"; /* updated by script */
+      sha256 = "0aksix22cbbxny68650qxjbbm1fmgbsnp97qix5kl5nx4y4yvlii"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2019.2.2"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "1babydzmgaas1rxjv11yhgbp0l5scsdwy17l9927qwlbgccf24mb"; /* updated by script */
+      sha256 = "1h7va6x625kxc2i22mnya64b1kb4vl5xgjxrv3lqwz725q5hkrxa"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "16wmsf6c8x95d050grqgv6aaxlkc6pqhbqzlz6fzsngjnbkn64yj"; /* updated by script */
+      sha256 = "1lj5i71nw2m9xwv6q48b86kipiwj927bxiwxppb4isqax2w6250d"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "1pbqnyqly09m7lw6356dydbvppq4i94rsk7c3y40mrc285qzj413"; /* updated by script */
+      sha256 = "0285jdh350dalvk76ajy57mi1yg1g905cnfhcjlb465bsxaw0z5n"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0mslmhakjjgwj76hbfw9dcidic6zprjfjryggic7dqywl7vjwc95"; /* updated by script */
+      sha256 = "0rb726nh2c7zxnpjcf6fyrpl29y9wgr6qhpb6hjxia2gzxab9jz0"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1m198p6586dych6mrgwqxs486qndypsmnikl0rxx45ddrwfjl42g"; /* updated by script */
+      sha256 = "170ppd0inn3s1yxd5ybspzgx2il78838z900fpg2pznq2hi0rn2h"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0a3fi2wjj0166199pyhvvpaih9nx0xr6q7zf7jfj8i7khpkdk8i5"; /* updated by script */
+      sha256 = "1cph2v7gaxikrvvdaz7ihk17qgdzrn86jamik9fijb8sjli3695v"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "03i7qi0kcnx0irih468xaz7hzicaa5yh399r676drs22ak23qwrq"; /* updated by script */
+      sha256 = "1bjijwc5f1is2920b497d395ckswhpxilmxaljb6pjwq4a2k8yzx"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -354,12 +354,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "1p0mlch7qvkvgxjscx6rl65v6h8g6fwk8rcb8s27qkcjm0d78ic8"; /* updated by script */
+      sha256 = "0cs8fc3h6d2m84ppiqjy0f3xklpc5gf0i6c4bzv04y8ngh0cwgl2"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0l0kwc1mih55px8j6bvp1g3pxrv0scd9vpydwvkaqmq5x0r1n3jf"; /* updated by script */
+      sha256 = "0xadjx4szd9rk3bl3fqzhnfq744gmkbz9li80j5rqm27qhf4axfx"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "1bhx2p40r15zvfr6q10bj5y8jaa3i9x9adchczp0irkd3w2jgvy3"; /* updated by script */
+      sha256 = "0qjqd1a44mdlpvv3l4sx2n5clirwxialzh6s2dlb0dibx8zvnckp"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/nixpkgs/pkgs/applications/editors/jucipp/default.nix b/nixpkgs/pkgs/applications/editors/jucipp/default.nix
index cb9f10281c70..2682c1e789b4 100644
--- a/nixpkgs/pkgs/applications/editors/jucipp/default.nix
+++ b/nixpkgs/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
   ];
 
 
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     sed -i 's|liblldb LIBLLDB_LIBRARIES|liblldb LIBNOTHING|g' CMakeLists.txt
     sed -i 's|> arguments;|> arguments; ${lintIncludes}|g' src/source_clang.cc
   '';
-  cmakeFlags = "-DLIBLLDB_LIBRARIES=${stdenv.lib.makeLibraryPath [ llvmPackages.lldb ]}/liblldb.so";
+  cmakeFlags = [ "-DLIBLLDB_LIBRARIES=${stdenv.lib.makeLibraryPath [ llvmPackages.lldb ]}/liblldb.so" ];
   postInstall = ''
     mv $out/bin/juci $out/bin/.juci
     makeWrapper "$out/bin/.juci" "$out/bin/juci" \
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/default.nix b/nixpkgs/pkgs/applications/editors/kakoune/default.nix
index 065657d16e2e..a6580581f850 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/default.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2019.07.01";
+  version = "2019.12.10";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "0jdkldq5rygzc0wcxr1j4fmp2phciy8602ghhf6xq21a9bq2v639";
+    sha256 = "0cb3ndlczxvxnzb91s4idxx0cy30mnrc4znsbjpnch68fvpm0x2f";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/default.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/default.nix
index 61e2b3a58459..4e92887bccb3 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -7,6 +7,7 @@
   kak-auto-pairs = pkgs.callPackage ./kak-auto-pairs.nix { };
   kak-buffers = pkgs.callPackage ./kak-buffers.nix { };
   kak-fzf = pkgs.callPackage ./kak-fzf.nix { };
+  kak-plumb = pkgs.callPackage ./kak-plumb.nix { };
   kak-powerline = pkgs.callPackage ./kak-powerline.nix { };
   kak-vertical-selection = pkgs.callPackage ./kak-vertical-selection.nix { };
 }
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
index 48dc7106b626..512f1f09207b 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune extension to enable automatic closing of pairs";
     homepage = "https://github.com/alexherbo2/auto-pairs.kak";
-    license = licenses.publicDoman;
+    license = licenses.unlicense;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
index 8a2474f07622..eaf20aeadf8e 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Ease navigation between opened buffers in Kakoune";
     homepage = "https://github.com/Delapouite/kakoune-buffers";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
index 9877c72252be..dd0faf63453b 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune plugin that brings integration with fzf";
     homepage = "https://github.com/andreyorst/fzf.kak";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix
new file mode 100644
index 000000000000..7abef9305310
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, kakoune-unwrapped, plan9port, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "kak-plumb";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "eraserhd";
+    repo = "kak-plumb";
+    rev = "v${version}";
+    sha256 = "1rz6pr786slnf1a78m3sj09axr4d2lb5rg7sfa4mfg1zcjh06ps6";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/kak/autoload/plugins/
+    substitute rc/plumb.kak $out/share/kak/autoload/plugins/plumb.kak \
+      --replace '9 plumb' '${plan9port}/bin/9 plumb'
+    substitute edit-client $out/bin/edit-client \
+      --replace '9 9p' '${plan9port}/bin/9 9p' \
+      --replace 'kak -p' '${kakoune-unwrapped}/bin/kak -p'
+    chmod +x $out/bin/edit-client
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Kakoune integration with the Plan 9 plumber";
+    homepage = "https://github.com/eraserhd/kak-plumb";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ eraserhd ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
index 76af06504ea3..d328e47f7e1b 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune modeline, but with passion";
     homepage = "https://github.com/andreyorst/powerline.kak";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
index 280fb664b8f4..7658ba0f7ada 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Select up and down lines that match the same pattern in Kakoune";
     homepage = "https://github.com/occivink/kakoune-vertical-selection";
-    license = licenses.publicDoman;
+    license = licenses.unlicense;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
index e367b586f307..35efe76cfb2e 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.4.2";
+  version = "5.4.6";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1ilazq2y671wifcrh7pa0zf9yqymqxwj1m2kd389ik2p6wm68jx8";
+    sha256 = "0p532r0ld6j6fpwqyf9m5m0d27y37chgbvcjp1x6g5jjvm7m77xk";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 1052c5e1ba34..0f15a63be7a8 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.4.2";
+  version = "5.4.6";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1nnspa1mixdb5z0a8m4nbpsk6c4s81iwrirhrl7091hsw02bsx3f";
+    sha256 = "1xzk0zgbc4nnz8gjbhw5h6kwznzxsqrg19ggyb8ijpmgg0ncxk8l";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 4c2011b5b035..ed5017a0487c 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -1,3 +1,4 @@
+
 { mkDerivation, lib, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules
 , qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase
 , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
@@ -9,11 +10,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.4.2";
+  version = "5.4.6";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1i665m4jd1r5bl77pcfybpn9szxzccrajs4m0prqwhlj93d57qjj";
+    sha256 = "01jmrmwbc1hrvq7jdfcc7mxl03q2l6kz57yca2j26xwyvfcfv5sz";
   };
 
   nativeBuildInputs = [
@@ -36,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/nixpkgs/pkgs/applications/editors/kodestudio/default.nix b/nixpkgs/pkgs/applications/editors/kodestudio/default.nix
index a106c3166747..9d0d91f4be54 100644
--- a/nixpkgs/pkgs/applications/editors/kodestudio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/manuskript/default.nix b/nixpkgs/pkgs/applications/editors/manuskript/default.nix
index a9d8ffec43ee..811284491dd7 100644
--- a/nixpkgs/pkgs/applications/editors/manuskript/default.nix
+++ b/nixpkgs/pkgs/applications/editors/manuskript/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "manuskript";
-  version = "0.9.0";
+  version = "0.10.0";
 
   format = "other";
 
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
     repo = pname;
     owner = "olivierkes";
     rev = version;
-    sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8";
+    sha256 = "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/editors/mle/default.nix b/nixpkgs/pkgs/applications/editors/mle/default.nix
new file mode 100644
index 000000000000..2c36be1c21bc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/mle/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, termbox, pcre, uthash, lua5_3 }:
+
+stdenv.mkDerivation rec {
+  pname = "mle";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "adsr";
+    repo = "mle";
+    rev = "v${version}";
+    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 ];
+
+  doCheck = true;
+
+  installFlags = [ "prefix=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "Small, flexible terminal-based text editor";
+    homepage = "https://github.com/adsr/mle";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ adsr ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix b/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
index 70f99fa749b7..8522ecf9c78f 100644
--- a/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
+++ b/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib }:
+{ stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib, jack2, fluidsynth, libpulseaudio }:
 
 let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
   if stdenv.hostPlatform.system == "i686-linux" then
-    { arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; }
+    { arch = "x86"; sha256 = "27675c358db237df74d20e8676000c25a87b9de0bb0a6d1c325e8d6db807d296"; }
   else
-    { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; };
+    { arch = "x86_64"; sha256 = "298555a249adb3ad72f3aef72a124e30bfa01cd069c7b5d152a738140e7903a2"; };
 in stdenv.mkDerivation rec {
-  version = "1.2";
+  version = "1.5.2";
   pname = "tuxguitar";
 
   src = fetchurl {
@@ -18,15 +18,16 @@ in stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -r lib share $out/
-    cp tuxguitar $out/bin/tuxguitar
-    cp tuxguitar.jar $out/lib
+    cp -r dist lib share $out/
+    cp tuxguitar.sh $out/bin/tuxguitar
 
+    ln -s $out/dist $out/bin/dist
+    ln -s $out/lib $out/bin/lib
     ln -s $out/share $out/bin/share
 
     wrapProgram $out/bin/tuxguitar \
       --set JAVA "${jdk}/bin/java" \
-      --prefix LD_LIBRARY_PATH : "$out/lib/:${stdenv.lib.makeLibraryPath [ swt alsaLib ]}" \
+      --prefix LD_LIBRARY_PATH : "$out/lib/:${stdenv.lib.makeLibraryPath [ swt alsaLib jack2 fluidsynth libpulseaudio ]}" \
       --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
   '';
 
diff --git a/nixpkgs/pkgs/applications/editors/nano/default.nix b/nixpkgs/pkgs/applications/editors/nano/default.nix
index aea585ce8d66..4197792d7365 100644
--- a/nixpkgs/pkgs/applications/editors/nano/default.nix
+++ b/nixpkgs/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "4.4";
+  version = "4.7";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia";
+    sha256 = "1x9nqy2kgaz6087p63i71gdjsqbdc9jjpx1ymlyclfakvsby3h2q";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/nixpkgs/pkgs/applications/editors/ne/default.nix b/nixpkgs/pkgs/applications/editors/ne/default.nix
index 96687ab81d67..3c96ba911651 100644
--- a/nixpkgs/pkgs/applications/editors/ne/default.nix
+++ b/nixpkgs/pkgs/applications/editors/ne/default.nix
@@ -1,36 +1,36 @@
 { stdenv, fetchFromGitHub, ncurses, texinfo, texlive, perl, ghostscript }:
 
-
 stdenv.mkDerivation rec {
   pname = "ne";
-  version = "3.1.2";
+  version = "3.2.1";
+
   src = fetchFromGitHub {
     owner = "vigna";
-    repo = "ne";
+    repo = pname;
     rev = version;
-    sha256 = "154grh9gdzydnqn9xxj7zpia9cc5x6a7y1g73vwizr9bkg92l5cc";
+    sha256 = "0h6d08cnwrk96ss83i9bragwwanph6x54sm3ak1z81146dsqsiif";
   };
-  buildInputs = [ ncurses texlive.combined.scheme-medium texinfo perl ghostscript ];
-  dontBuild = true;
-  installPhase = ''
-    substituteInPlace src/makefile --replace "CC=c99" "cc=gcc"
-    substituteInPlace src/makefile --replace "-lcurses" "-lncurses"
+
+  postPatch = ''
     substituteInPlace makefile --replace "./version.pl" "perl version.pl"
-    cd doc && make && cd ..
-    cd src && make && cd ..
-    make PREFIX=$out install
+    substituteInPlace src/makefile --replace "-lcurses" "-lncurses"
   '';
 
-  meta = {
+  nativeBuildInputs = [ texlive.combined.scheme-medium texinfo perl ghostscript ];
+  buildInputs = [ ncurses ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
     description = "The nice editor";
-    homepage = https://github.com/vigna/ne;
+    homepage = "http://ne.di.unimi.it/";
     longDescription = ''
       ne is a free (GPL'd) text editor based on the POSIX standard that runs
       (we hope) on almost any UN*X machine.  ne is easy to use for the beginner,
       but powerful and fully configurable for the wizard, and most sparing in its
       resource usage.  See the manual for some highlights of ne's features.
     '';
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/nedit/default.nix b/nixpkgs/pkgs/applications/editors/nedit/default.nix
index b1b3a416178b..e1d1fa3070a9 100644
--- a/nixpkgs/pkgs/applications/editors/nedit/default.nix
+++ b/nixpkgs/pkgs/applications/editors/nedit/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   pname = "nedit";
   version = "5.7";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/nedit/nedit-source/${pname}-${version}-src.tar.gz";
     sha256 = "0ym1zhjx9976rf2z5nr7dj4mjkxcicimhs686snjhdcpzxwsrndd";
@@ -14,9 +14,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ xlibsWrapper ];
   buildInputs = [ motif libXpm ];
 
-  buildFlags = if stdenv.isLinux then "linux" else
-               # the linux config works fine on darwin too!
-               if stdenv.isDarwin then "linux" else "";
+  # the linux config works fine on darwin too!
+  buildFlags = stdenv.lib.optional (stdenv.isLinux || stdenv.isDarwin) "linux";
 
   NIX_CFLAGS_COMPILE="-DBUILD_UNTESTED_NEDIT -L${motif}/lib";
 
@@ -26,7 +25,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://sourceforge.net/projects/nedit;
+    homepage = "https://sourceforge.net/projects/nedit";
+    description = "A fast, compact Motif/X11 plain text editor";
     platforms = with platforms; linux ++ darwin;
     license = licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/applications/editors/neovim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/default.nix
index 6808d7115c57..2fff5cdce854 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/default.nix
@@ -2,7 +2,6 @@
 , libuv, lua, ncurses, pkgconfig
 , unibilium, xsel, gperf
 , libvterm-neovim
-, withJemalloc ? true, jemalloc
 , glibcLocales ? null, procps ? null
 
 # now defaults to false because some tests can be flaky (clipboard etc)
@@ -21,13 +20,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 = [
@@ -50,8 +49,7 @@ in
       ncurses
       neovimLuaEnv
       unibilium
-    ] ++ optional withJemalloc jemalloc
-      ++ optional stdenv.isDarwin libiconv
+    ] ++ optional stdenv.isDarwin libiconv
       ++ optionals doCheck [ glibcLocales procps ]
     ;
 
@@ -79,9 +77,11 @@ in
 
     cmakeFlags = [
       "-DGPERF_PRG=${gperf}/bin/gperf"
-      "-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
       "-DLUA_PRG=${neovimLuaEnv.interpreter}"
     ]
+    # FIXME: this is verry messy and strange.
+    ++ optional (!stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
+    ++ optional (stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv.libluv}/lib/lua/${lua.luaversion}/libluv.dylib"
     ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
     ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
     ;
@@ -90,16 +90,11 @@ in
     hardeningDisable = [ "fortify" ];
 
     preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-      export DYLD_LIBRARY_PATH=${jemalloc}/lib
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
     postInstall = stdenv.lib.optionalString stdenv.isLinux ''
       sed -i -e "s|'xsel|'${xsel}/bin/xsel|g" $out/share/nvim/runtime/autoload/provider/clipboard.vim
-    '' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
-      install_name_tool -change libjemalloc.1.dylib \
-                ${jemalloc}/lib/libjemalloc.1.dylib \
-                $out/bin/nvim
     '';
 
     # export PATH=$PWD/build/bin:${PATH}
@@ -124,7 +119,7 @@ in
       # those contributions were copied from Vim (identified in the commit logs
       # by the vim-patch token). See LICENSE for details."
       license = with licenses; [ asl20 vim ];
-      maintainers = with maintainers; [ manveru rvolosatovs ];
+      maintainers = with maintainers; [ manveru rvolosatovs ma27 ];
       platforms   = platforms.unix;
     };
   }
diff --git a/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix
new file mode 100644
index 000000000000..764d7004940d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, rustPlatform, fetchFromGitHub, gtk, webkitgtk }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gnvim-unwrapped";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "vhakulinen";
+    repo = "gnvim";
+    rev = version;
+    sha256 = "11gb59lhc1sp5dxj2fdm6072f4nxxay0war3kmchdwsk41nvxlrh";
+  };
+
+  cargoSha256 = "00r5jf5qdw02vcv3522qqrnwj14mip0l58prcncbvyg4pxlm2rb2";
+
+  buildInputs = [ gtk webkitgtk ];
+
+  # The default build script tries to get the version through Git, so we
+  # replace it
+  prePatch = ''
+    cat << EOF > build.rs
+    use std::env;
+    use std::fs::File;
+    use std::io::Write;
+    use std::path::Path;
+
+    fn main() {
+        let out_dir = env::var("OUT_DIR").unwrap();
+        let dest_path = Path::new(&out_dir).join("gnvim_version.rs");
+        let mut f = File::create(&dest_path).unwrap();
+        f.write_all(b"const VERSION: &str = \"${version}\";").unwrap();
+    }
+    EOF
+  '';
+
+  installPhase = ''
+    make install PREFIX="${placeholder "out"}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for neovim, without any web bloat";
+    homepage = "https://github.com/vhakulinen/gnvim";
+    license     = licenses.mit;
+    maintainers =  with maintainers; [ minijackson ];
+    inherit version;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/neovim/gnvim/wrapper.nix b/nixpkgs/pkgs/applications/editors/neovim/gnvim/wrapper.nix
new file mode 100644
index 000000000000..e16fe8a8adc7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/neovim/gnvim/wrapper.nix
@@ -0,0 +1,41 @@
+{ stdenv, gnvim-unwrapped, neovim, makeWrapper }:
+
+stdenv.mkDerivation {
+  pname = "gnvim";
+  version = gnvim-unwrapped.version;
+  buildCommand = if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+    cp -r ${gnvim-unwrapped}/bin/gnvim.app $out/Applications
+
+    chmod -R a+w "$out/Applications/gnvim.app/Contents/MacOS"
+    wrapProgram "$out/Applications/gnvim.app/Contents/MacOS/gnvim" \
+      --prefix PATH : "${neovim}/bin" \
+      --set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime"
+  '' else ''
+    makeWrapper '${gnvim-unwrapped}/bin/gnvim' "$out/bin/gnvim" \
+      --prefix PATH : "${neovim}/bin" \
+      --set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime"
+
+    mkdir -p "$out/share"
+    ln -s '${gnvim-unwrapped}/share/icons' "$out/share/icons"
+
+    # copy and fix .desktop file
+    cp -r '${gnvim-unwrapped}/share/applications' "$out/share/applications"
+    # Sed needs a writable directory to do inplace modifications
+    chmod u+rw "$out/share/applications"
+    for file in $out/share/applications/*.desktop; do
+      sed -e "s|Exec=.\\+gnvim\\>|Exec=$out/bin/gnvim|" -i "$file"
+    done
+  '';
+
+  preferLocalBuild = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  passthru.unwrapped = gnvim-unwrapped;
+
+  inherit (gnvim-unwrapped) meta;
+}
+
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix b/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix
index 6ad3983a5311..aae37b5a2621 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 
 pythonPackages.buildPythonApplication rec {
   pname = "neovim-remote";
-  version = "2.2.1";
+  version = "2.4.0";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "mhinz";
     repo = "neovim-remote";
     rev = "v${version}";
-    sha256 = "0f9x053yr8wq35l2s2dsnb0iygd4g4yya2h3iv0yh3440jjj5vfj";
+    sha256 = "0jlw0qksak4bdzddpsj74pm2f2bgpj3cwrlspdjjy0j9qzg0mpl9";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
diff --git a/nixpkgs/pkgs/applications/editors/neovim/qt.nix b/nixpkgs/pkgs/applications/editors/neovim/qt.nix
index 83b14b4ea37d..3a46f68e7755 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/qt.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/qt.nix
@@ -60,8 +60,9 @@ in
         --prefix PATH : "${neovim}/bin"
 
       # link .desktop file
-      mkdir -p "$out/share"
+      mkdir -p "$out/share/pixmaps"
       ln -s '${unwrapped}/share/applications' "$out/share/applications"
+      ln -s '${unwrapped}/share/pixmaps/nvim-qt.png' "$out/share/pixmaps/nvim-qt.png"
     '';
 
     preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/applications/editors/neovim/wrapper.nix b/nixpkgs/pkgs/applications/editors/neovim/wrapper.nix
index ec799c0fa49c..c0b976677579 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/wrapper.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/wrapper.nix
@@ -75,8 +75,9 @@ let
         ${optionalString withRuby '' --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
       ''
       + optionalString (!stdenv.isDarwin) ''
-        # copy and patch the original neovim.desktop file
-        mkdir -p $out/share/applications
+        # copy icon and patch the original neovim.desktop file
+        mkdir -p $out/share/{applications,pixmaps}
+        ln -s ${neovim}/share/pixmaps/nvim.png $out/share/pixmaps/nvim.png
         substitute ${neovim}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \
           --replace 'TryExec=nvim' "TryExec=$out/bin/nvim" \
           --replace 'Name=Neovim' 'Name=WrappedNeovim'
@@ -100,7 +101,7 @@ let
         # Only display the log on error since it will contain a few normally
         # irrelevant messages.
         if ! $out/bin/nvim \
-          -u ${vimUtils.vimrcFile (configure // { customRC = ""; beforePlugins = ''filetype indent plugin on | syn on''; })} \
+          -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \
           -i NONE -n \
           -E -V1rplugins.log -s \
           +UpdateRemotePlugins +quit! > outfile 2>&1; then
diff --git a/nixpkgs/pkgs/applications/editors/netbeans/default.nix b/nixpkgs/pkgs/applications/editors/netbeans/default.nix
index ba01304f723a..38b92151b29f 100644
--- a/nixpkgs/pkgs/applications/editors/netbeans/default.nix
+++ b/nixpkgs/pkgs/applications/editors/netbeans/default.nix
@@ -3,12 +3,12 @@
 }:
 
 let
-  version = "11.0";
+  version = "11.1";
   desktopItem = makeDesktopItem {
     name = "netbeans";
     exec = "netbeans";
     comment = "Integrated Development Environment";
-    desktopName = "Netbeans IDE";
+    desktopName = "Apache NetBeans IDE";
     genericName = "Integrated Development Environment";
     categories = "Application;Development;";
     icon = "netbeans";
@@ -18,8 +18,8 @@ stdenv.mkDerivation {
   pname = "netbeans";
   inherit version;
   src = fetchurl {
-    url = "mirror://apache/incubator/netbeans/incubating-netbeans/incubating-${version}/incubating-netbeans-${version}-bin.zip";
-    sha512 = "15mv59njrnq3sjfzb0n7xcc79kpixygf37cxvbswnvm651cw6lb1i9w8wbjivh0z4zcf3f62vbmshxh5pkaxqpqsg0iyy6gddfbwzwx";
+    url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
+    sha512 = "bb061b9258d524b7b53b3b5ee9aa95111f7a391a5e2c5c0bc949164166af9a03d0cebbde2b47a8853fb765307b4c93ce8389a9c87bef26c92c08cdf446314e4d";
   };
 
   buildCommand = ''
@@ -48,7 +48,7 @@ stdenv.mkDerivation {
         convert -resize "$size"x"$size" netbeans_1024x1024x32.png $out/share/icons/hicolor/"$size"x"$size"/apps/netbeans.png
       fi
     done;
-    
+
     # Create desktop item, so we can pick it from the KDE/GNOME menu
     mkdir -pv $out/share/applications
     ln -s ${desktopItem}/share/applications/* $out/share/applications
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "An integrated development environment for Java, C, C++ and PHP";
-    homepage = "https://netbeans.org/";
+    homepage = "https://netbeans.apache.org/";
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [ sander rszibele ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/nixpkgs/pkgs/applications/editors/okteta/default.nix b/nixpkgs/pkgs/applications/editors/okteta/default.nix
index 287758e0fd83..5c7ddfb34d46 100644
--- a/nixpkgs/pkgs/applications/editors/okteta/default.nix
+++ b/nixpkgs/pkgs/applications/editors/okteta/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     license = licenses.gpl2;
+    description = "A hex editor";
     maintainers = with maintainers; [ peterhoeg bkchr ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/editors/quilter/default.nix b/nixpkgs/pkgs/applications/editors/quilter/default.nix
index 49ebe579ed4a..ceb119a5f0a2 100644
--- a/nixpkgs/pkgs/applications/editors/quilter/default.nix
+++ b/nixpkgs/pkgs/applications/editors/quilter/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3
+{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, vala
 , gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
 , libgee, discount, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "quilter";
-  version = "1.9.5";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "119ri6lkzqapi5k0v818qkhg1916jj9s6bh72yqvc2wmyjnn2dbw";
+    sha256 = "1gij5gqidzvwym7yq5fx0344n4fkydx5diwz8g8kwkcsz7z1w45a";
   };
 
   nativeBuildInputs = [
     desktop-file-utils
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Focus on your writing - designed for elementary OS";
     homepage = https://github.com/lainsce/quilter;
diff --git a/nixpkgs/pkgs/applications/editors/rednotebook/default.nix b/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
index 11a5b4c7ba34..622c4a680f59 100644
--- a/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
+++ b/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.11.1";
+  version = "2.15";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1";
+    sha256 = "1p43xncqb898rgfx4vv1nxy6dj57pvxpc0b5j3kgs58ir70rg1js";
   };
 
   # 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/nixpkgs/pkgs/applications/editors/retext/default.nix b/nixpkgs/pkgs/applications/editors/retext/default.nix
index d1028ec6ce8d..e97423892616 100644
--- a/nixpkgs/pkgs/applications/editors/retext/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/sublime/3/packages.nix b/nixpkgs/pkgs/applications/editors/sublime/3/packages.nix
index 82d92ba2fe11..d72966e04401 100644
--- a/nixpkgs/pkgs/applications/editors/sublime/3/packages.nix
+++ b/nixpkgs/pkgs/applications/editors/sublime/3/packages.nix
@@ -5,15 +5,15 @@ let
 in
   {
     sublime3-dev = common {
-      buildVersion = "3208";
+      buildVersion = "3210";
       dev = true;
-      x32sha256 = "09k04fjryc0dc6173i6nwhi5xaan89n4lp0n083crvkqwp0qlf2i";
-      x64sha256 = "12pn3yfm452m75dlyl0lyf82956j8raz2dglv328m81hbafflrj8";
+      x32sha256 = "1ngr4c8h2mafy96mi8dd3g8mg5r9ha1cpcd8p3gz7jwpbypvkkbv";
+      x64sha256 = "0j65a4ylgga1qzc74wf3k5craghahma8hwqg3zs1rgzz601nl693";
     } {};
 
     sublime3 = common {
-      buildVersion = "3207";
-      x32sha256 = "14hfb8x8zb49zjq0pd8s73xk333gmf38h5b7g979czcmbhdxiyqy";
-      x64sha256 = "1i1q9592sc8idvlpygksdkclh7h506hsz5l0i02g1814w0flzdmc";
+      buildVersion = "3211";
+      x32sha256 = "0w9hba1nl2hv1mri418n7v0m321b6wqphb1knll23ldv5fb0j1j8";
+      x64sha256 = "1vkldmimyjhbgplcd6r27gvk64rr7cparfd44hy6qdyzwsjqqg0b";
     } {};
   }
diff --git a/nixpkgs/pkgs/applications/editors/texmacs/default.nix b/nixpkgs/pkgs/applications/editors/texmacs/default.nix
index 2c391cae517b..91e2427a6c84 100644
--- a/nixpkgs/pkgs/applications/editors/texmacs/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texmacs/default.nix
@@ -1,7 +1,13 @@
 { stdenv, callPackage,
   fetchurl, guile_1_8, qt4, xmodmap, which, makeWrapper, freetype,
+  libjpeg,
+  sqlite,
   tex ? null,
   aspell ? null,
+  git ? null,
+  python3 ? null,
+  cmake,
+  pkgconfig,
   ghostscriptX ? null,
   extraFonts ? false,
   chineseFonts ? false,
@@ -10,7 +16,7 @@
 
 let
   pname = "TeXmacs";
-  version = "1.99.2";
+  version = "1.99.11";
   common = callPackage ./common.nix {
     inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
   };
@@ -19,17 +25,38 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
-    sha256 = "0l48g9746igiaxw657shm8g3xxk565vzsviajlrxqyljbh6py0fs";
+    url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
+    sha256 = "12bp0f34izzqimz49lfpgf4lyz3h45s9xbmk8v6zsawdjki76alg";
   };
 
-  buildInputs = [ guile_1_8 qt4 makeWrapper ghostscriptX freetype ];
-  NIX_LDFLAGS = [ "-lz" ];
+  cmakeFlags = [
+    # Texmacs' cmake build as of writing defaults to Qt5,
+    # but we haven't updated to that yet.
+    "-DTEXMACS_GUI=Qt4"
+  ];
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+    guile_1_8
+    qt4
+    makeWrapper
+    ghostscriptX
+    freetype
+    libjpeg
+    sqlite
+    git
+    python3
+  ];
+  NIX_LDFLAGS = "-lz";
 
   postInstall = "wrapProgram $out/bin/texmacs --suffix PATH : " +
         (if ghostscriptX == null then "" else "${ghostscriptX}/bin:") +
         (if aspell == null then "" else "${aspell}/bin:") +
         (if tex == null then "" else "${tex}/bin:") +
+        (if git == null then "" else "${git}/bin:") +
+        (if python3 == null then "" else "${python3}/bin:") +
         "${xmodmap}/bin:${which}/bin";
 
   inherit (common) postPatch;
diff --git a/nixpkgs/pkgs/applications/editors/texmaker/default.nix b/nixpkgs/pkgs/applications/editors/texmaker/default.nix
index 2a4459ddc3ed..c45025dd80cc 100644
--- a/nixpkgs/pkgs/applications/editors/texmaker/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texmaker/default.nix
@@ -1,26 +1,27 @@
-{ stdenv, fetchurl, qtbase, qtscript, qmake, zlib, pkgconfig, poppler }:
+{ lib, mkDerivation, fetchurl, qtbase, qtscript, qmake, zlib, pkgconfig, poppler }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "texmaker";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "http://www.xm1math.net/texmaker/${pname}-${version}.tar.bz2";
-    sha256 = "0vrj9w5lk3vf6138n5bz8phmy3xp5kv4dq1rgirghcf4hbxdyx30";
+    sha256 = "1qnh5g8zkjpjmw2l8spcynpfgs3wpcfcla5ms2kkgvkbdlzspqqx";
   };
 
   buildInputs = [ qtbase qtscript poppler zlib ];
   nativeBuildInputs = [ pkgconfig poppler qmake ];
   NIX_CFLAGS_COMPILE="-I${poppler.dev}/include/poppler";
 
-  preConfigure = ''
-    qmakeFlags="$qmakeFlags DESKTOPDIR=$out/share/applications ICONDIR=$out/share/pixmaps METAINFODIR=$out/share/metainfo"
-  '';
-
+  qmakeFlags = [
+    "DESKTOPDIR=${placeholder "out"}/share/applications"
+    "ICONDIR=${placeholder "out"}/share/pixmaps"
+    "METAINFODIR=${placeholder "out"}/share/metainfo"
+  ];
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
 	This editor is a full fledged IDE for TeX and
diff --git a/nixpkgs/pkgs/applications/editors/texstudio/default.nix b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
index 04e2cb45e283..13b7f4db0c5b 100644
--- a/nixpkgs/pkgs/applications/editors/texstudio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchFromGitHub, qt5, poppler, zlib, pkgconfig}:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtscript, qtsvg,
+  wrapQtAppsHook, poppler, zlib, pkgconfig }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "texstudio";
   version = "2.12.16";
 
@@ -11,12 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
   };
 
-  nativeBuildInputs = [ qt5.qmake pkgconfig ];
-  buildInputs = [ qt5.qtbase qt5.qtscript qt5.qtsvg poppler zlib ];
+  nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
+  buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
 
   qmakeFlags = [ "NO_APPDATA=True" ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
 	Fork of TeXMaker, this editor is a full fledged IDE for
diff --git a/nixpkgs/pkgs/applications/editors/thonny/default.nix b/nixpkgs/pkgs/applications/editors/thonny/default.nix
index a6179452f4d5..26b7ab5a0fb3 100644
--- a/nixpkgs/pkgs/applications/editors/thonny/default.nix
+++ b/nixpkgs/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.2.0b7";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh";
+    sha256 = "1hfpjw4fac0kq3n9jqwfzbys6h35qjbh5rpc4jzhlln200h6zvwj";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -22,6 +22,7 @@ buildPythonApplication rec {
     mypy
     pyperclip
     asttokens
+    send2trash
   ];
 
   preInstall = ''
diff --git a/nixpkgs/pkgs/applications/editors/tiled/default.nix b/nixpkgs/pkgs/applications/editors/tiled/default.nix
index b0b80a4ec001..e66530aaf769 100644
--- a/nixpkgs/pkgs/applications/editors/tiled/default.nix
+++ b/nixpkgs/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.2.4";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18a0pkq8j20v1njrl0sswm0ch10c6c4fas7q9kk2d2fd610ga6gh";
+    sha256 = "1vhg8m1b7ccccrzlp0pyf3qskgvlf6sn1w956zsczmndrixbli9a";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/nixpkgs/pkgs/applications/editors/vim/common.nix b/nixpkgs/pkgs/applications/editors/vim/common.nix
index 567da2a08f20..485f1d0dca3d 100644
--- a/nixpkgs/pkgs/applications/editors/vim/common.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.1.1967";
+  version = "8.2.0013";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0cdfi67jwv8j982i1jxdfqv4aqglig8f0hzadgygk69i0wwkymwk";
+    sha256 = "00sc9zdjdww6f3svwf0nxpx8q2zp1n1r978h7ijapgvn2ysx2z1f";
   };
 
   enableParallelBuilding = true;
@@ -24,7 +24,7 @@ rec {
     description = "The most popular clone of the VI editor";
     homepage    = http://www.vim.org;
     license     = licenses.vim;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ lovek323 equirosa ];
     platforms   = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/vim/configurable.nix b/nixpkgs/pkgs/applications/editors/vim/configurable.nix
index d21d0ad5ee00..bb3d571e6f86 100644
--- a/nixpkgs/pkgs/applications/editors/vim/configurable.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/vim/macvim.nix b/nixpkgs/pkgs/applications/editors/vim/macvim.nix
index 3df964361cc8..ede12f50feca 100644
--- a/nixpkgs/pkgs/applications/editors/vim/macvim.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/macvim.nix
@@ -27,13 +27,13 @@ in
 stdenv.mkDerivation {
   pname = "macvim";
 
-  version = "8.1.1722";
+  version = "8.1.2234";
 
   src = fetchFromGitHub {
     owner = "macvim-dev";
     repo = "macvim";
-    rev = "snapshot-157";
-    sha256 = "1gmgc4pwaqy78gj4p7iib94n7j52ir0aa03ks595h3vy1hkcwwky";
+    rev = "snapshot-161";
+    sha256 = "1hp3y85pj1icz053g627a1wp5pnwgxhk07pyd4arwcxs2103agw4";
   };
 
   enableParallelBuilding = true;
@@ -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"'';
@@ -133,11 +134,21 @@ stdenv.mkDerivation {
     find $out/share/man \( -name eVim.1 -or -name xxd.1 \) -delete
   '';
 
+  # We rely on the user's Xcode install to build. It may be located in an arbitrary place, and
+  # it's not clear what system-level components it may require, so for now we'll just allow full
+  # filesystem access. This way the package still can't access the network.
+  sandboxProfile = ''
+    (allow file-read* file-write* process-exec mach-lookup)
+    ; block homebrew dependencies
+    (deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
+  '';
+
   meta = with stdenv.lib; {
     description = "Vim - the text editor - for macOS";
     homepage    = https://github.com/macvim-dev/macvim;
     license = licenses.vim;
     maintainers = with maintainers; [ cstrahan lilyball ];
     platforms   = platforms.darwin;
+    hydraPlatforms = []; # hydra can't build this as long as we rely on Xcode and sandboxProfile
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/vim/macvim.patch b/nixpkgs/pkgs/applications/editors/vim/macvim.patch
index 8cb96a9ebbad..9d5dbded26a1 100644
--- a/nixpkgs/pkgs/applications/editors/vim/macvim.patch
+++ b/nixpkgs/pkgs/applications/editors/vim/macvim.patch
@@ -187,23 +187,22 @@ index 9e6a82f4a..3c6d1a89b 100755
  
  	if test "X$librubyarg" != "X"; then
 diff --git a/src/vim.h b/src/vim.h
-index cb5be6c97..b703b31cd 100644
+index f158aab..a714da9 100644
 --- a/src/vim.h
 +++ b/src/vim.h
-@@ -241,18 +241,6 @@
+@@ -243,17 +243,6 @@
  # define SUN_SYSTEM
  #endif
  
--/* If we're compiling in C++ (currently only KVim), the system
-- * headers must have the correct prototypes or nothing will build.
-- * Conversely, our prototypes might clash due to throw() specifiers and
-- * cause compilation failures even though the headers are correct.  For
-- * a concrete example, gcc-3.2 enforces exception specifications, and
-- * glibc-2.2.5 has them in their system headers.
-- */
+-// If we're compiling in C++ (currently only KVim), the system
+-// headers must have the correct prototypes or nothing will build.
+-// Conversely, our prototypes might clash due to throw() specifiers and
+-// cause compilation failures even though the headers are correct.  For
+-// a concrete example, gcc-3.2 enforces exception specifications, and
+-// glibc-2.2.5 has them in their system headers.
 -#if !defined(__cplusplus) && defined(UNIX) \
--	&& !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
--# include "auto/osdef.h"	/* bring missing declarations in */
+-	&& !defined(MACOS_X) // MACOS_X doesn't yet support osdef.h
+-# include "auto/osdef.h"	// bring missing declarations in
 -#endif
 -
  #ifdef AMIGA
diff --git a/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index 7b7209a5e1f4..bdcf786f61d2 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -69,9 +69,9 @@ in
 
     installPhase =
       if system == "x86_64-darwin" then ''
-        mkdir -p $out/lib/vscode $out/bin
-        cp -r ./* $out/lib/vscode
-        ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin
+        mkdir -p "$out/Applications/${longName}.app" $out/bin
+        cp -r ./* "$out/Applications/${longName}.app"
+        ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/code" $out/bin/${executableName}
       '' else ''
         mkdir -p $out/lib/vscode $out/bin
         cp -r ./* $out/lib/vscode
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 6f7e3ad0ba4b..663c64ac5de4 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -11,13 +11,15 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1wxaxz2q4qizh6f23ipz8ihay6bpjdq0545vijqd84fqazcji6sq";
-    x86_64-darwin = "1gb9w3hvw3avn852an5v8m1ia64fkavnvaawjfc3455b248iiqvk";
+    x86_64-linux = "00b6q3rvf9v993i8d1vh9ckb86s655mz6kqkw0lxg8xmhpm568ra";
+    x86_64-darwin = "1r4qbjbypdqx9qmycykgkrg8anckicmdmawwwsszgkdd0zd5idgg";
   }.${system};
 in
   callPackage ./generic.nix rec {
+    # The update script doesn't correctly change the hash for darwin, so please:
+    # nixpkgs-update: no auto update
 
-    version = "1.38.1";
+    version = "1.41.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix b/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
index b526d8fe327e..e7bdacc13905 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,13 +11,21 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "15m7mfb8gmx3pwydc37blj0rxwgmkrnqfj6y79rpqlr2dg92gwlb";
-    x86_64-darwin = "080k4fnfa5ylmmya6zprgci3gld9mrbqsfnk53hgcny91ykl5xj5";
+    x86_64-linux = "0n4wcg072a0b76jjv08cig2kygkmakvwav5vvl0h6ww9sbdcwl1x";
+    x86_64-darwin = "0xvyh9qypsyzw02vpmnfa0hdszj8ylvf78yjbmg86m4xml0sbj9r";
+  }.${system};
+
+  sourceRoot = {
+    x86_64-linux = ".";
+    x86_64-darwin = "";
   }.${system};
 in
   callPackage ./generic.nix rec {
+    inherit sourceRoot;
+    # The update script doesn't correctly change the hash for darwin, so please:
+    # nixpkgs-update: no auto update
 
-    version = "1.38.1";
+    version = "1.41.1";
     pname = "vscodium";
 
     executableName = "codium";
@@ -29,8 +37,6 @@ in
       inherit sha256;
     };
 
-    sourceRoot = ".";
-
     meta = with stdenv.lib; {
       description = ''
         Open source source code editor developed by Microsoft for Windows,
@@ -46,7 +52,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/nixpkgs/pkgs/applications/editors/yi/wrapper.nix b/nixpkgs/pkgs/applications/editors/yi/wrapper.nix
index fe5fcc1724b4..243690bc2632 100644
--- a/nixpkgs/pkgs/applications/editors/yi/wrapper.nix
+++ b/nixpkgs/pkgs/applications/editors/yi/wrapper.nix
@@ -21,13 +21,13 @@ stdenv.mkDerivation {
   '';
 
   # For hacking purposes
-  env = yiEnv;
+  passthru.env = yiEnv;
 
   meta = with stdenv.lib; {
     description = "Allows Yi to find libraries and the compiler easily";
     # This wrapper and wrapper only is under PD
     license = licenses.publicDomain;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/gis/grass/default.nix b/nixpkgs/pkgs/applications/gis/grass/default.nix
index 360d94d1b825..8734fabfdcf9 100644
--- a/nixpkgs/pkgs/applications/gis/grass/default.nix
+++ b/nixpkgs/pkgs/applications/gis/grass/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw
 , cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas
-, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS, proj-datumgrid
+, proj, gdal, geos, sqlite, postgresql, libmysqlclient, python2Packages, libLAS, proj-datumgrid
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj
-  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.connector-c blas
+  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql libmysqlclient blas
   libLAS proj-datumgrid ]
     ++ (with python2Packages; [ python dateutil wxPython30 numpy ]);
 
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
   # directory
   patches = [ ./no_symbolic_links.patch ];
 
+  # Correct mysql_config query
+  patchPhase = ''
+      substituteInPlace configure --replace "--libmysqld-libs" "--libs"
+  '';
+
   configureFlags = [
     "--with-proj-share=${proj}/share/proj"
     "--with-proj-includes=${proj.dev}/include"
@@ -37,8 +42,8 @@ stdenv.mkDerivation rec {
     "--with-postgres-libs=${postgresql.lib}/lib/"
     # it complains about missing libmysqld but doesn't really seem to need it
     "--with-mysql"
-    "--with-mysql-includes=${mysql.connector-c}/include/mysql"
-    "--with-mysql-libs=${mysql.connector-c}/lib/mysql"
+    "--with-mysql-includes=${libmysqlclient}/include/mysql"
+    "--with-mysql-libs=${libmysqlclient}/lib/mysql"
     "--with-blas"
     "--with-liblas=${libLAS}/bin/liblas-config"
   ];
@@ -80,7 +85,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1" ];
+  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1";
 
   postInstall = ''
     wrapProgram $out/bin/grass76 \
diff --git a/nixpkgs/pkgs/applications/gis/openorienteering-mapper/default.nix b/nixpkgs/pkgs/applications/gis/openorienteering-mapper/default.nix
index 244f37b10dff..21d16282edcb 100644
--- a/nixpkgs/pkgs/applications/gis/openorienteering-mapper/default.nix
+++ b/nixpkgs/pkgs/applications/gis/openorienteering-mapper/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "OpenOrienteering-Mapper";
-  version = "0.8.4";
+  version = "0.9.1";
 
   buildInputs = [ gdal qtbase qttools qtlocation qtimageformats
                   qtsensors clipper zlib proj doxygen cups];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "OpenOrienteering";
     repo = "mapper";
     rev = "v${version}";
-    sha256 = "0rw34kp2vd1la97vnk9plwvis6lvyib2bvs7lgkhpnm4p5l7dp1g";
+    sha256 = "1fyhvf2y89hj7wj89kxccx3dqcja6ndy3w4rx1vmzrp246jpz7wb";
   };
 
   cmakeFlags =
@@ -40,9 +40,6 @@ stdenv.mkDerivation rec {
     "-DMapper_PACKAGE_GDAL=0"
     ]);
 
-  # Needs to be available when proj_api.h gets evaluted by CPP
-  NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
-
   postInstall =
     stdenv.lib.optionalString stdenv.isDarwin ''
     # Fixes "This application failed to start because it could not find or load the Qt
@@ -60,6 +57,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.openorienteering.org/apps/mapper/;
     license = licenses.gpl3;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [mpickering];
+    maintainers = with maintainers; [ mpickering sikmir ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
index a57b180d5b23..de436088fa76 100644
--- a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
+{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
 , qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql
 , txt2tags, openssl, libzip, hdf5, netcdf, exiv2
 , qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns
@@ -9,8 +9,8 @@ let
   pythonBuildInputs = with python3Packages;
     [ qscintilla-qt5 gdal jinja2 numpy psycopg2
       chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
-in stdenv.mkDerivation rec {
-  version = "3.8.0";
+in mkDerivation rec {
+  version = "3.10.1";
   pname = "qgis";
   name = "${pname}-unwrapped-${version}";
 
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "11jqj6lavpw9piv0rm8vvbgd99zhcxl6yfjg699wlrjlyf71xac5";
+    sha256 = "0xq0nnp7zdqaihqvh5rsi1129g23vnk5ijkpxfzaggafgmhf5hgz";
   };
 
   passthru = {
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2
     fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf
     qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++
-    (stdenv.lib.optional withGrass grass) ++ pythonBuildInputs;
+    (lib.optional withGrass grass) ++ pythonBuildInputs;
 
   nativeBuildInputs = [ cmake flex bison ninja ];
 
@@ -45,13 +45,13 @@ in stdenv.mkDerivation rec {
   cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF"
                  "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
                  "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] ++
-                 stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+                 lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
 
   meta = {
     description = "A Free and Open Source Geographic Information System";
     homepage = http://www.qgis.org;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ lsix ];
+    license = lib.licenses.gpl2Plus;
+    platforms = with lib.platforms; linux;
+    maintainers = with lib.maintainers; [ lsix ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/gis/saga/default.nix b/nixpkgs/pkgs/applications/gis/saga/default.nix
index feb79f444b81..90e7af9944d3 100644
--- a/nixpkgs/pkgs/applications/gis/saga/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
index 654363d36f24..31eebf7d0a9f 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -13,8 +13,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.8-58";
-    sha256 = "0yfw32nydwy7ag7ina1zc6yssa146x4v35hjv6v59bci9mmj9fb1";
+    version = "7.0.9-0";
+    sha256 = "1w7ci7v5qlayd7a5z69px94fz3fshvn1diqw7k1ymsyvz5888d39";
     patches = [];
   };
 in
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
index 993d4ba7ecdb..9cfccc7425bb 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
@@ -13,8 +13,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.9-34";
-    sha256 = "0sqrgyfi7i7x1akna95c1qhk9sxxswzm3pkssfi4w6v7bn24g25g";
+    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/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix b/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
index fb06266cdc59..87bddf9099ee 100644
--- a/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
@@ -29,9 +29,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-base
   ] ++ stdenv.lib.optional useUnrar unrar;
 
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   postPatch = ''patchShebangs version.sh'';
 
diff --git a/nixpkgs/pkgs/applications/graphics/akira/default.nix b/nixpkgs/pkgs/applications/graphics/akira/default.nix
new file mode 100644
index 000000000000..adbc1eac3796
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/akira/default.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, appstream-glib
+, desktop-file-utils
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, python3
+, vala
+, vala-lint
+, wrapGAppsHook
+, cairo
+, glib
+, goocanvas2
+, gtk3
+, gtksourceview3
+, json-glib
+, libarchive
+, libgee
+, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "akira";
+  version = "2019-10-12";
+
+  src = fetchFromGitHub {
+    owner = "akiraux";
+    repo = "Akira";
+    rev = "cab952dee4591b6bde34d670c1f853f5a3ff6b19";
+    sha256 = "1fp3a79hkh6xwwqqdrx4zqq2zhsm236c6fhhl5f2nmi108yxz04q";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    vala-lint
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    glib
+    goocanvas2
+    pantheon.granite
+    gtk3
+    gtksourceview3
+    json-glib
+    libarchive
+    libgee
+    libxml2
+  ];
+
+  mesonFlags = [ "-Dprofile=default" ];
+
+  patches = [ ./fix-build-with-vala-0-44-or-later.patch ];
+
+  postPatch = ''
+    chmod +x build-aux/meson/post_install.py
+    patchShebangs build-aux/meson/post_install.py
+  '';
+
+  meta = with lib; {
+    description = "Native Linux Design application built in Vala and GTK";
+    homepage = "https://github.com/akiraux/Akira";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch b/nixpkgs/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
new file mode 100644
index 000000000000..3c35900c04f5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
@@ -0,0 +1,88 @@
+From bcda8fd53f6f232db0b6411269ba108af551629f Mon Sep 17 00:00:00 2001
+From: Alberto Fanjul <albertofanjul@gmail.com>
+Date: Tue, 9 Apr 2019 09:45:36 +0200
+Subject: [PATCH] Build on vala >= 0.44.2
+
+---
+ src/FileFormat/JsonObject.vala        |  2 +-
+ src/FileFormat/JsonObjectArray.vala   |  2 +-
+ src/FileFormat/ZipArchiveHandler.vala | 18 +++++++++++++++++-
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/src/FileFormat/JsonObject.vala b/src/FileFormat/JsonObject.vala
+index 7bfe46f..805fbad 100644
+--- a/src/FileFormat/JsonObject.vala
++++ b/src/FileFormat/JsonObject.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObject : GLib.Object {
+ 
+     private ObjectClass obj_class;
+ 
+-    public JsonObject.from_object (Json.Object object) {
++    protected JsonObject.from_object (Json.Object object) {
+         Object (object: object);
+     }
+ 
+diff --git a/src/FileFormat/JsonObjectArray.vala b/src/FileFormat/JsonObjectArray.vala
+index 4f6e573..d0a7dad 100644
+--- a/src/FileFormat/JsonObjectArray.vala
++++ b/src/FileFormat/JsonObjectArray.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObjectArray : Object {
+      *
+      * Your JsonObject implementation should have it's own list of items
+      */
+-    public JsonObjectArray (Json.Object object, string property_name) {
++    protected JsonObjectArray (Json.Object object, string property_name) {
+         Object (object: object, property_name: property_name);
+     }
+ 
+diff --git a/src/FileFormat/ZipArchiveHandler.vala b/src/FileFormat/ZipArchiveHandler.vala
+index ca60dd0..5d65aa2 100644
+--- a/src/FileFormat/ZipArchiveHandler.vala
++++ b/src/FileFormat/ZipArchiveHandler.vala
+@@ -262,11 +262,17 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                 continue;
+             }
+ 
++            Posix.off_t offset;
++#if VALA_0_42
++            uint8[] buffer;
++            while (archive.read_data_block (out buffer, out offset) == Archive.Result.OK) {
++                if (extractor.write_data_block (buffer, offset) != Archive.Result.OK) {
++#else
+             void* buffer = null;
+             size_t buffer_length;
+-            Posix.off_t offset;
+             while (archive.read_data_block (out buffer, out buffer_length, out offset) == Archive.Result.OK) {
+                 if (extractor.write_data_block (buffer, buffer_length, offset) != Archive.Result.OK) {
++#endif
+                     break;
+                 }
+             }
+@@ -316,9 +322,15 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                     // Add an entry to the archive
+                     Archive.Entry entry = new Archive.Entry ();
+                     entry.set_pathname (initial_folder.get_relative_path (current_file));
++#if VALA_0_42
++                    entry.set_size ((Archive.int64_t) file_info.get_size ());
++                    entry.set_filetype (Archive.FileType.IFREG);
++                    entry.set_perm (Archive.FileType.IFREG);
++#else
+                     entry.set_size (file_info.get_size ());
+                     entry.set_filetype ((uint) Posix.S_IFREG);
+                     entry.set_perm (0644);
++#endif
+ 
+                     if (archive.write_header (entry) != Archive.Result.OK) {
+                         critical ("Error writing '%s': %s (%d)", current_file.get_path (), archive.error_string (), archive.errno ());
+@@ -333,7 +345,11 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                             break;
+                         }
+ 
++#if VALA_0_42
++                        archive.write_data (buffer[0:bytes_read]);
++#else
+                         archive.write_data (buffer, bytes_read);
++#endif
+                     }
+                 }
+             }
diff --git a/nixpkgs/pkgs/applications/graphics/antimony/default.nix b/nixpkgs/pkgs/applications/graphics/antimony/default.nix
index 3c39aadda98e..5966d6427ed6 100644
--- a/nixpkgs/pkgs/applications/graphics/antimony/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/antimony/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, libpng, python3
-, libGLU_combined, qtbase, ncurses
+, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
 , cmake, flex, lemon
 }:
 
 let
-  gitRev    = "c0038e3ea82fec6119de364bcbc3370955ed46a2";
+  gitRev    = "6dfe6822e0279a4cc2f1c60e85b42212627285fe";
   gitBranch = "develop";
   gitTag    = "0.9.3";
 in
   stdenv.mkDerivation {
     pname = "antimony";
-    version = "2018-10-20";
+    version = "2019-10-30";
 
     src = fetchFromGitHub {
       owner  = "mkeeter";
       repo   = "antimony";
       rev    = gitRev;
-      sha256 = "01cjcjppbb0gvh6npcsaidzpfcfzrqhhi07z4v0jkfyi0fl125v4";
+      sha256 = "07zlkwlk79czq8dy85b6n3ds3g36l8qy4ix849ady6ia3gm8981j";
     };
 
     patches = [ ./paths-fix.patch ];
@@ -29,7 +29,8 @@ in
 
     buildInputs = [
       libpng python3 python3.pkgs.boost
-      libGLU_combined qtbase ncurses
+      libGLU libGL qtbase wrapQtAppsHook
+      ncurses
     ];
 
     nativeBuildInputs = [ cmake flex lemon ];
@@ -44,7 +45,7 @@ in
 
     meta = with stdenv.lib; {
       description = "A computer-aided design (CAD) tool from a parallel universe";
-      homepage    = "https://github.com/mkeeter/antimony";
+      homepage    = https://github.com/mkeeter/antimony;
       license     = licenses.mit;
       maintainers = with maintainers; [ rnhmjoj ];
       platforms   = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/avocode/default.nix b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
index 5e1cba31b7ec..3595908f1437 100644
--- a/nixpkgs/pkgs/applications/graphics/avocode/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
@@ -1,15 +1,15 @@
 { stdenv, makeDesktopItem, fetchurl, unzip
 , gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3
-, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid, at-spi2-core
+, xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core
 }:
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "3.9.2";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "18yzw7bss1dkmmd8lxr9x8s46qmpnqci202g16zrp6j9jdj094d3";
+    sha256 = "06g12gqri1sgfklla6jfpi7wm2qjazakcjs2w2rhrphnl50r6ca7";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [makeWrapper wrapGAppsHook];
-  buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ];
+  buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme ];
 
   # src is producing multiple folder on unzip so we must
   # override unpackCmd to extract it into newly created folder
diff --git a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
index b2060f5db31e..2f636764e1fc 100644
--- a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "azpainter";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "Symbian9";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "1hrr9lhsbjyzar3nxvli6cazr7zhyzh0p8hwpg4g9ga6njs8vi8m";
+    sha256 = "0x5jmsprjissqcvwq75pqq9wgv4k9b7cy507hai8xk6xs3vxwgba";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/graphics/cinepaint/default.nix b/nixpkgs/pkgs/applications/graphics/cinepaint/default.nix
deleted file mode 100644
index 57cf6c3f13f4..000000000000
--- a/nixpkgs/pkgs/applications/graphics/cinepaint/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
-  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 } :
-
-let
-  inherit (pythonPackages) python pygtk;
-in stdenv.mkDerivation rec {
-  name = "cinepaint-1.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cinepaint/${name}.tgz";
-    sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w";
-  };
-
-  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
-    libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  hardeningDisable = [ "format" ];
-
-  patches = [ ./install.patch ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  NIX_LDFLAGS = "-lm -llcms -ljpeg -lpng -lX11";
-
-  meta = {
-    homepage = http://www.cinepaint.org/;
-    license = stdenv.lib.licenses.free;
-    description = "Image editor which supports images over 8bpp and ICC profiles";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/cinepaint/install.patch b/nixpkgs/pkgs/applications/graphics/cinepaint/install.patch
deleted file mode 100644
index f15ff1c4414d..000000000000
--- a/nixpkgs/pkgs/applications/graphics/cinepaint/install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dfb182f..5adaaa5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -138,7 +138,7 @@ STRING(REPLACE "/" "\\/" ESCAPEDPREFIX ${PREFIX})
- # Note that for MacOS this needs to be revised 
- # for the @OSX_ICC...@ variables
- ADD_CUSTOM_COMMAND(
--   OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    COMMAND  sed -e s/\@platform\@//g
- 		-e s/\@prefix\@/${ESCAPEDPREFIX}/g 
- 	        -e s/\@exec_prefix\@/\${prefix}/g
-@@ -155,8 +155,8 @@ ADD_CUSTOM_COMMAND(
- 
- ADD_CUSTOM_TARGET(RCFile ALL echo
-       ""
--      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/user_install 
--              ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/user_install 
-+              ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    )
- 
- 
diff --git a/nixpkgs/pkgs/applications/graphics/cq-editor/default.nix b/nixpkgs/pkgs/applications/graphics/cq-editor/default.nix
new file mode 100644
index 000000000000..32d079d85ff3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/darktable/default.nix b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
index d3c7691ccff9..53e04dc7f784 100644
--- a/nixpkgs/pkgs/applications/graphics/darktable/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
@@ -3,16 +3,16 @@
 , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
 , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
-, ocl-icd, pcre, gtk-mac-integration, isocodes
+, ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.2";
+  version = "3.0.0";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw";
+    sha256 = "7195a5ff7ee95ab7c5a57e4e84f8c90cc4728b2c917359203c21293ab754c0db";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
     libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre isocodes
   ] ++ stdenv.lib.optionals stdenv.isLinux [
     colord colord-gtk libX11 ocl-icd
-  ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
+  ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration
+    ++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
   cmakeFlags = [
     "-DBUILD_USERMANUAL=False"
diff --git a/nixpkgs/pkgs/applications/graphics/dia/default.nix b/nixpkgs/pkgs/applications/graphics/dia/default.nix
index a1f96337d743..3984cfc17ca5 100644
--- a/nixpkgs/pkgs/applications/graphics/dia/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/dia/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perlPackages,
 libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
-libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme,
+libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
 gtk-mac-integration-gtk2 }:
 
 stdenv.mkDerivation {
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   buildInputs =
     [ gtk2 libxml2 gettext python libxml2Python docbook5
-      libxslt docbook_xsl libart_lgpl hicolor-icon-theme ]
+      libxslt docbook_xsl libart_lgpl ]
       ++ stdenv.lib.optional withGNOME libgnomeui
       ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
 
diff --git a/nixpkgs/pkgs/applications/graphics/digikam/default.nix b/nixpkgs/pkgs/applications/graphics/digikam/default.nix
index 1fc15af72441..e6e24e0e56f5 100644
--- a/nixpkgs/pkgs/applications/graphics/digikam/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/digikam/default.nix
@@ -9,7 +9,7 @@
 , qtwebengine
 
 , akonadi-contacts
-, kcalcore
+, kcalendarcore
 , kconfigwidgets
 , kcoreaddons
 , kdoctools
@@ -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
@@ -90,7 +89,7 @@ mkDerivation rec {
     qtwebengine
 
     akonadi-contacts
-    kcalcore
+    kcalendarcore
     kconfigwidgets
     kcoreaddons
     kfilemetadata
@@ -103,7 +102,8 @@ mkDerivation rec {
     marble
     oxygen
     threadweaver
-  ];
+  ]
+  ++ lib.optionals withJpeg2k [ jasper ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/graphics/displaycal/default.nix b/nixpkgs/pkgs/applications/graphics/displaycal/default.nix
index 821a9e8083e1..7a4db535b2b0 100644
--- a/nixpkgs/pkgs/applications/graphics/displaycal/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/displaycal/default.nix
@@ -1,8 +1,19 @@
-{buildPythonPackage, stdenv, fetchurl, pkgconfig
- , libXext, libXxf86vm, libX11, libXrandr, libXinerama, libXScrnSaver
- , argyllcms, wxPython, numpy
+{ python2
+, stdenv
+, fetchurl
+, pkgconfig
+, libXext
+, libXxf86vm
+, libX11
+, libXrandr
+, libXinerama
+, libXScrnSaver
+, argyllcms
  }:
-buildPythonPackage {
+
+let
+  inherit (python2.pkgs) buildPythonApplication wxPython numpy;
+in buildPythonApplication {
   pname = "displaycal";
   version = "3.5.0.0";
 
diff --git a/nixpkgs/pkgs/applications/graphics/dosage/default.nix b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
index cf5ecfdd043f..e26886b070e5 100644
--- a/nixpkgs/pkgs/applications/graphics/dosage/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, pythonPackages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "dosage";
   version = "2018.04.08";
   PBR_VERSION = version;
@@ -11,10 +11,10 @@ pythonPackages.buildPythonApplication rec {
     rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591";
     sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh";
   };
-  checkInputs = with pythonPackages; [ pytest responses ];
-  propagatedBuildInputs = with pythonPackages; [ colorama lxml requests pbr ];
+  checkInputs = with python3Packages; [ pytest responses ];
+  propagatedBuildInputs = with python3Packages; [ colorama lxml requests pbr setuptools ];
 
-  disabled = pythonPackages.pythonOlder "3.3";
+  disabled = python3Packages.pythonOlder "3.3";
 
   checkPhase = ''
     py.test tests/
diff --git a/nixpkgs/pkgs/applications/graphics/draftsight/default.nix b/nixpkgs/pkgs/applications/graphics/draftsight/default.nix
index e59d14f7dd6e..144c723da20f 100644
--- a/nixpkgs/pkgs/applications/graphics/draftsight/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index 88cff0035c73..c71e95b21af8 100644
--- a/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "11.3.0";
+  version = "12.4.2";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    sha256 = "00xq2pi84nbdnlbsaj4k9i93skz1nknxvhd2f2cgdm0b3sp86qbk";
+    sha256 = "1mngn90cn9hixa0xkhk7mb02gjp480wnipjy2jzkq8kwpai1gm1m";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
index 46bfe64dd030..e64e384a9a7e 100644
--- a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
@@ -60,11 +60,11 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.11";
+  version = "2.1.15";
 
   src = fetchurl {
     url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
-    sha256 = "00r5vzracvjk369rri2jxzgfaa1ll4qj5gdmzgflvidz8420bcvm";
+    sha256 = "0w6bdg1rnnjzjg8xzqv3a9qhw41q41sjvp6f8m0sqxjfax05lqin";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/exrdisplay/default.nix b/nixpkgs/pkgs/applications/graphics/exrdisplay/default.nix
index 562fb8c11dc3..d8b08faf2398 100644
--- a/nixpkgs/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/fbida/default.nix b/nixpkgs/pkgs/applications/graphics/fbida/default.nix
index f5560a9b2032..3e64783df316 100644
--- a/nixpkgs/pkgs/applications/graphics/fbida/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/feh/default.nix b/nixpkgs/pkgs/applications/graphics/feh/default.nix
index fef068eaf0ff..1eb99a9a7e41 100644
--- a/nixpkgs/pkgs/applications/graphics/feh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/feh/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, makeWrapper
 , xorg, imlib2, libjpeg, libpng
-, curl, libexif, perlPackages }:
+, curl, libexif, jpegexiforient, perlPackages }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "feh";
-  version = "3.2.1";
+  version = "3.3";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
-    sha256 = "070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg";
+    sha256 = "04c8cgwzkax481sz7lbzy23mk79bqmjy3qpvr7vxa4c14mc9k5gk";
   };
 
   outputs = [ "out" "man" "doc" ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install" ];
   postInstall = ''
-    wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg.bin}/bin" \
+    wrapProgram "$out/bin/feh" --prefix PATH : "${makeBinPath [ libjpeg jpegexiforient ]}" \
                                --add-flags '--theme=feh'
   '';
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ viric willibutz globin ];
+    maintainers = with maintainers; [ viric willibutz globin ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix b/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix
index ae38730226a4..c364badc1742 100644
--- a/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/fondo/default.nix b/nixpkgs/pkgs/applications/graphics/fondo/default.nix
index 920b529d61c3..3df7ba493c0f 100644
--- a/nixpkgs/pkgs/applications/graphics/fondo/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/fondo/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , fetchpatch
 , pantheon
+, vala
 , pkgconfig
 , meson
 , ninja
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -62,6 +63,13 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+
   meta = with stdenv.lib; {
     description = "Find the most beautiful wallpapers for your desktop";
     homepage = https://github.com/calo001/fondo;
diff --git a/nixpkgs/pkgs/applications/graphics/freecad/default.nix b/nixpkgs/pkgs/applications/graphics/freecad/default.nix
index ee7586709dcb..eb087c42ce0e 100644
--- a/nixpkgs/pkgs/applications/graphics/freecad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/freecad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivation, fetchurl, fetchpatch, cmake, ninja, coin3d, xercesc, ode
+{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, ninja, coin3d, xercesc, ode
 , eigen, qtbase, qttools, qtwebkit, opencascade-occt, gts, hdf5, vtk, medfile
 , zlib, python3Packages, swig, gfortran, libXmu, soqt, libf2c, libGLU
 , makeWrapper, pkgconfig, mpi ? null }:
@@ -9,11 +9,13 @@ let
   pythonPackages = python3Packages;
 in mkDerivation rec {
   pname = "freecad";
-  version = "0.18.3";
+  version = "0.18.4";
 
-  src = fetchurl {
-    url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz";
-    sha256 = "07j7azgnicmd8cqnyskp15y44ykgj5qqz5y3w1jdynrv3yrvk1kz";
+  src = fetchFromGitHub {
+    owner = "FreeCAD";
+    repo = "FreeCAD";
+    rev = version;
+    sha256 = "1phs9a0px5fnzpyx930cz39p5dis0f0yajxzii3c3sazgkzrd55s";
   };
 
   nativeBuildInputs = [ cmake ninja pkgconfig pythonPackages.pyside2-tools ];
diff --git a/nixpkgs/pkgs/applications/graphics/freepv/default.nix b/nixpkgs/pkgs/applications/graphics/freepv/default.nix
index 0bd3421f1b10..57321220fb14 100644
--- a/nixpkgs/pkgs/applications/graphics/freepv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix b/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
index 2762748bc1ad..f729c9c2bba2 100644
--- a/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
@@ -8,8 +8,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/gcolor2/gcolor2/${version}/gcolor2-${version}.tar.bz2";
-    sha1 = "e410a52dcff3d5c6c3d448b68a026d04ccd744be";
-
+    sha256 = "1siv54vwx9dbfcflklvf7pkp5lk6h3nn63flg6jzifz9wp0c84q6";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
index c7555b612f7b..67be3ba6782c 100644
--- a/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitLab, meson, ninja, gettext, pkgconfig, libxml2, gtk3, hicolor-icon-theme, wrapGAppsHook }:
+{ stdenv, fetchFromGitLab, meson, ninja, gettext, pkgconfig, libxml2, gtk3, hicolor-icon-theme, wrapGAppsHook
+, fetchpatch }:
 
 let
   version = "2.3.1";
@@ -14,6 +15,14 @@ in stdenv.mkDerivation {
     sha256 = "10cfzlkflwkb7f51rnrxmgxpfryh1qzvqaydj6lffjq9zvnhigg7";
   };
 
+  patches = [
+    # Remove useage of deprecrated G_PARAM_PRIVATE
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/gcolor3/commit/96612cdd6c2cc71e28eb97ee17956004a05e5140.patch";
+      sha256 = "134wv5x15bd7k0fjzifrddwssaq213sx2l38r3xw6x1j625qwzq9";
+    })
+  ];
+
   nativeBuildInputs = [ meson ninja gettext pkgconfig libxml2 wrapGAppsHook ];
 
   buildInputs = [ gtk3 hicolor-icon-theme ];
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
index e3994b1b4128..2b3b992d24b5 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
@@ -1,31 +1,120 @@
-{ stdenv, fetchurl, substituteAll, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk-pixbuf, isocodes
-, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff
-, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
-, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
-, harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr
-, AppKit, Cocoa, gtk-mac-integration-gtk2 }:
+{ stdenv
+, lib
+, fetchurl
+, substituteAll
+, pkgconfig
+, intltool
+, babl
+, gegl
+, gtk2
+, glib
+, gdk-pixbuf
+, isocodes
+, pango
+, cairo
+, freetype
+, fontconfig
+, lcms
+, libpng
+, libjpeg
+, poppler
+, poppler_data
+, libtiff
+, libmng
+, librsvg
+, libwmf
+, zlib
+, libzip
+, ghostscript
+, aalib
+, shared-mime-info
+, python2Packages
+, libexif
+, gettext
+, xorg
+, glib-networking
+, libmypaint
+, gexiv2
+, harfbuzz
+, mypaint-brushes
+, libwebp
+, libheif
+, libgudev
+, openexr
+, AppKit
+, Cocoa
+, gtk-mac-integration-gtk2
+}:
 
 let
   inherit (python2Packages) pygtk wrapPython python;
 in stdenv.mkDerivation rec {
   pname = "gimp";
-  version = "2.10.12";
+  version = "2.10.14";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x";
+    url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
+    sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ];
-  propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    gettext
+    wrapPython
+  ];
+
   buildInputs = [
-    babl gegl gtk2 glib gdk-pixbuf pango cairo gexiv2 harfbuzz isocodes
-    freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr
-    libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif
-    python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    AppKit Cocoa gtk-mac-integration-gtk2
-  ] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ];
+    babl
+    gegl
+    gtk2
+    glib
+    gdk-pixbuf
+    pango
+    cairo
+    gexiv2
+    harfbuzz
+    isocodes
+    freetype
+    fontconfig
+    lcms
+    libpng
+    libjpeg
+    poppler
+    poppler_data
+    libtiff
+    openexr
+    libmng
+    librsvg
+    libwmf
+    zlib
+    libzip
+    ghostscript
+    aalib
+    shared-mime-info
+    libwebp
+    libheif
+    python
+    pygtk
+    libexif
+    xorg.libXpm
+    glib-networking
+    libmypaint
+    mypaint-brushes
+  ] ++ lib.optionals stdenv.isDarwin [
+    AppKit
+    Cocoa
+    gtk-mac-integration-gtk2
+  ] ++ lib.optionals stdenv.isLinux [
+    libgudev
+  ];
+
+  # needed by gimp-2.0.pc
+  propagatedBuildInputs = [
+    gegl
+  ];
 
   pythonPath = [ pygtk ];
 
@@ -48,7 +137,7 @@ in stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapPythonProgramsIn $out/lib/gimp/${passthru.majorVersion}/plug-ins/
-    wrapProgram $out/bin/gimp-${stdenv.lib.versions.majorMinor version} \
+    wrapProgram $out/bin/gimp-${lib.versions.majorMinor version} \
       --prefix PYTHONPATH : "$PYTHONPATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
   '';
@@ -56,9 +145,9 @@ in stdenv.mkDerivation rec {
   passthru = rec {
     # The declarations for `gimp-with-plugins` wrapper,
     # used for determining plug-in installation paths
-    majorVersion = "${stdenv.lib.versions.major version}.0";
+    majorVersion = "${lib.versions.major version}.0";
     targetPluginDir = "lib/gimp/${majorVersion}/plug-ins";
-    targetScriptDir = "lib/gimp/${majorVersion}/scripts";
+    targetScriptDir = "share/gimp/${majorVersion}/scripts";
 
     # probably its a good idea to use the same gtk in plugins ?
     gtk = gtk2;
@@ -68,6 +157,8 @@ in stdenv.mkDerivation rec {
     "--without-webkit" # old version is required
     "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
     "--with-icc-directory=/run/current-system/sw/share/color/icc"
+    # fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
+    "--libdir=\${exec_prefix}/lib"
   ];
 
   # on Darwin,
@@ -76,9 +167,9 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The GNU Image Manipulation Program";
-    homepage = https://www.gimp.org/;
+    homepage = "https://www.gimp.org/";
     maintainers = with maintainers; [ jtojnar ];
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
index 2c520f21f848..0a06c42b5fc0 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -8,31 +8,33 @@ let
   inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub;
   inherit (gimp) targetPluginDir targetScriptDir;
 
-  pluginDerivation = a: stdenv.mkDerivation ({
+  pluginDerivation = a: let
+    name = a.name or "${a.pname}-${a.version}";
+  in stdenv.mkDerivation ({
     prePhases = "extraLib";
     extraLib = ''
       installScripts(){
-        mkdir -p $out/${targetScriptDir};
-        for p in "$@"; do cp "$p" $out/${targetScriptDir}; done
+        mkdir -p $out/${targetScriptDir}/${name};
+        for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done
       }
       installPlugins(){
-        mkdir -p $out/${targetPluginDir};
-        for p in "$@"; do cp "$p" $out/${targetPluginDir}; done
+        mkdir -p $out/${targetPluginDir}/${name};
+        for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done
       }
     '';
   }
   // a
   // {
-      name = "gimp-plugin-${a.name or "${a.pname}-${a.version}"}";
+      name = "gimp-plugin-${name}";
       buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []);
       nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []);
     }
   );
 
-  scriptDerivation = {name, src} : pluginDerivation {
-    inherit name; phases = "extraLib installPhase";
+  scriptDerivation = {src, ...}@attrs : pluginDerivation ({
+    phases = [ "extraLib" "installPhase" ];
     installPhase = "installScripts ${src}";
-  };
+  } // attrs);
 
 in
 
@@ -46,6 +48,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
       url = https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
       sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
     };
+    NIX_LDFLAGS = "-lm";
     patchPhase = ''
       sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
        -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
@@ -65,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 ];
     };
   };
 
@@ -131,6 +141,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
       Filters/Enhance/Wavelet sharpen
     */
     name = "wavelet-sharpen-0.1.2";
+    NIX_LDFLAGS = "-lm";
     src = fetchurl {
       url = http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz;
       sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
@@ -195,6 +206,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
       url = http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm;
       sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla";
     };
+    meta.broken = true;
   };
 
   lightning = scriptDerivation {
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/wrapper.nix b/nixpkgs/pkgs/applications/graphics/gimp/wrapper.nix
index 11c1e9ada931..841728d3a294 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/wrapper.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome3, plugins ? null}:
 
 let
-allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
+allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
 selectedPlugins = if plugins == null then allPlugins else plugins;
 extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
 versionBranch = stdenv.lib.versions.majorMinor gimp.version;
@@ -17,6 +17,7 @@ in symlinkJoin {
     for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
       wrapProgram $out/bin/$each \
         --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
+        --set GIMP2_DATADIR "$out/share/gimp/2.0" \
         --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \
         ${toString extraArgs}
     done
diff --git a/nixpkgs/pkgs/applications/graphics/glabels/default.nix b/nixpkgs/pkgs/applications/graphics/glabels/default.nix
index 6bc59cd7d02b..fef296f45be2 100644
--- a/nixpkgs/pkgs/applications/graphics/glabels/default.nix
+++ b/nixpkgs/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, hicolor-icon-theme
+, intltool, itstool, makeWrapper, pkgconfig, yelp-tools
 }:
 
 stdenv.mkDerivation rec {
@@ -14,10 +14,9 @@ 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
-    hicolor-icon-theme
   ];
 
   preFixup = ''
diff --git a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
index f591dd5a60dd..0eb4f21e53ca 100644
--- a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-photos";
-  version = "3.32.1";
+  version = "3.34.0";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nxa2jz1g73wypdsj19r4plf4hfkhs9mpl7gbhsiyqp1rkn84ahn";
+    sha256 = "12j455id5g616cn0nnj73v83aqgpavrsqszw1r5yhbpyc76lg03m";
   };
 
   patches = [
@@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    wrapProgram "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py" "''${gappsWrapperArgs[@]}"
+    wrapGApp "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py"
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix b/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
index 2535f7514f1d..5b6dd42e09e5 100644
--- a/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ka2kscpjff7gflsargv3r9fdaxhkf3nym9mfaln3pnq6q7fwdki";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=catch-value" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/goxel/default.nix b/nixpkgs/pkgs/applications/graphics/goxel/default.nix
index e4ab5639ba66..e870df4bc6ef 100644
--- a/nixpkgs/pkgs/applications/graphics/goxel/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/goxel/default.nix
@@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];
   buildInputs = [ glfw3 gtk3 libpng12 ];
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   buildPhase = ''
     make release
diff --git a/nixpkgs/pkgs/applications/graphics/gqview/default.nix b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
index 205376b1257c..d82238f925b3 100644
--- a/nixpkgs/pkgs/applications/graphics/gqview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
@@ -18,9 +18,7 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   meta = with stdenv.lib; {
     description = "A fast image viewer";
diff --git a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
index b0e76d23dacb..76bb0bc13175 100644
--- a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.5.6";
+  version = "2.6.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0wp81nsi5jfypabwmjqiamxr739jq5ij79n5fzn5pbw1hg5gcmfz";
+    sha256 = "1chmk51xwylnjrgc6hw23x7g7cpwzgwmjc49fcah7pkd3dk1cvvr";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -38,7 +38,7 @@ perlPackages.buildPerlPackage rec {
       ListMoreUtils
       HTMLParser
       ProcProcessTable
-      Log4Perl
+      LogLog4perl
       TryTiny
       DataUUID
       DateCalc
diff --git a/nixpkgs/pkgs/applications/graphics/gthumb/default.nix b/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
index f24d57786ef2..f0057f3a1a88 100644
--- a/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.0";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1l2s1facq1r6yvqjqc34aqfzlvb3nhkhn79xisxbbdlgrrxdq52f";
+    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/hugin/default.nix b/nixpkgs/pkgs/applications/graphics/hugin/default.nix
index d7888da15ef6..8f7800a7323a 100644
--- a/nixpkgs/pkgs/applications/graphics/hugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/ideogram/default.nix b/nixpkgs/pkgs/applications/graphics/ideogram/default.nix
index 0efb08741835..ba5ee230ce4a 100644
--- a/nixpkgs/pkgs/applications/graphics/ideogram/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ideogram/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , fetchpatch
+, vala
 , pkgconfig
 , python3
 , glib
@@ -11,27 +12,25 @@
 , pantheon
 , desktop-file-utils
 , xorg
-, hicolor-icon-theme
 , wrapGAppsHook
 }:
 
 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 = [
     desktop-file-utils
-    hicolor-icon-theme # for setup-hook
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -46,19 +45,17 @@ 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
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Insert emoji anywhere, even in non-native apps - designed for elementary OS";
     homepage = https://github.com/cassidyjames/ideogram;
diff --git a/nixpkgs/pkgs/applications/graphics/imv/default.nix b/nixpkgs/pkgs/applications/graphics/imv/default.nix
index 5f06feb7c622..26a6cabf7841 100644
--- a/nixpkgs/pkgs/applications/graphics/imv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imv/default.nix
@@ -2,18 +2,18 @@
 , freeimage, fontconfig, pkgconfig
 , asciidoc, docbook_xsl, libxslt, cmocka
 , librsvg, pango, libxkbcommon, wayland
-, libGLU
+, libGLU, icu
 }:
 
 stdenv.mkDerivation rec {
   pname = "imv";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner  = "eXeC64";
     repo   = "imv";
     rev    = "v${version}";
-    sha256 = "sha256:01fbkbwwsyr00k3mwans8jfb9p4gl02v6z62vgx0pkgrzxjkcz07";
+    sha256 = "sha256:0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx";
   };
 
   preBuild = ''
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     pango
     pkgconfig
     wayland
+    icu
   ];
 
   installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ];
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
index 547e2914399b..3996b94ba14d 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, perlPackages, libXft
+{ stdenv, fetchurl, fetchpatch, pkgconfig, perlPackages, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
-, gsl, python2, poppler, imagemagick, libwpg, librevenge
-, libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme
+, gsl, gtkspell2, cairo, python2, poppler, imagemagick, libwpg, librevenge
+, libvisio, libcdr, libexif, potrace, cmake
 , librsvg, wrapGAppsHook
 }:
 
@@ -19,6 +19,24 @@ stdenv.mkDerivation rec {
     sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "inkscape-poppler_0_76_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff";
+      sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf";
+    })
+    (fetchpatch {
+      name = "inkscape-poppler_0_82_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch";
+      sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7";
+    })
+    (fetchpatch {
+      name = "inkscape-poppler_0_83_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch";
+      sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz";
+    })
+  ];
+
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
   # CMake’s ARGMAX check doesn’t offer enough padding for NIX_LDFLAGS.
   # Setting strictDeps it avoids duplicating some dependencies so it
@@ -47,12 +65,13 @@ stdenv.mkDerivation rec {
     libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
     gsl poppler imagemagick libwpg librevenge
-    libvisio libcdr libexif potrace hicolor-icon-theme
+    libvisio libcdr libexif potrace
 
     librsvg # for loading icons
 
     python2Env perlPackages.perl
-  ];
+  ] ++ stdenv.lib.optional (!stdenv.isDarwin) gtkspell2
+    ++ stdenv.lib.optional stdenv.isDarwin cairo;
 
   enableParallelBuilding = true;
 
@@ -62,9 +81,6 @@ stdenv.mkDerivation rec {
     install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
   '';
 
-  # 0.92.3 complains about an invalid conversion from const char * to char *
-  NIX_CFLAGS_COMPILE = " -fpermissive ";
-
   meta = with stdenv.lib; {
     license = "GPL";
     homepage = https://www.inkscape.org;
diff --git a/nixpkgs/pkgs/applications/graphics/ipe/default.nix b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
index ae2db5181ccb..0cb09ecb6430 100644
--- a/nixpkgs/pkgs/applications/graphics/ipe/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ipe-7.2.12";
+  name = "ipe-7.2.13";
 
   src = fetchurl {
     url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${name}-src.tar.gz";
-    sha256 = "1qw1cmwzi3wxk4x916i9y4prhi9brnwl14i9a1cbw23x1sr7i6kw";
+    sha256 = "1a6a88r7j5z01z6k1z72a8g3n6lxdjjxxkdrzrfdd6df2gbs6g5g";
   };
 
   sourceRoot = "${name}/src";
diff --git a/nixpkgs/pkgs/applications/graphics/k3d/default.nix b/nixpkgs/pkgs/applications/graphics/k3d/default.nix
index 1487fb8adbac..31085cd8023d 100644
--- a/nixpkgs/pkgs/applications/graphics/k3d/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/k3d/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
-, libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
-, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }:
+, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, libpng, boost, doxygen, cairomm, pkgconfig, libjpeg, libtiff
+, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, libXmu }:
 
 stdenv.mkDerivation rec {
   version = "0.8.0.6";
@@ -32,16 +32,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ];
 
   buildInputs = [
-     libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost cairomm imagemagick libjpeg libtiff
-     ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu
+     libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     boost cairomm libjpeg libtiff
+     ftgl glew gtkmm2 glibmm gtkglext libXmu
     ];
 
   #doCheck = false;
 
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-deprecated-declarations"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
 
   meta = with stdenv.lib; {
     description = "A 3D editor with support for procedural editing";
diff --git a/nixpkgs/pkgs/applications/graphics/kodelife/default.nix b/nixpkgs/pkgs/applications/graphics/kodelife/default.nix
index b86560d1319e..0b4e49dc2b59 100644
--- a/nixpkgs/pkgs/applications/graphics/kodelife/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/kodelife/default.nix
@@ -3,17 +3,29 @@
 , alsaLib
 , glib
 , gst_all_1
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "kodelife";
-  version = "0.8.3.93";
+  version = "0.8.8.110";
+
+  suffix = {
+    aarch64-linux = "linux-arm64";
+    armv7l-linux  = "linux-armhf";
+    x86_64-darwin = "macos";
+    x86_64-linux  = "linux-x86_64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   src = fetchzip {
-    url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
-    sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
+    url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.zip";
+    sha256 = {
+      aarch64-linux = "1lcpj1mgkvksq1d08ibh59y0dmdh7zm77wi5ziqhg3p5g9nxyasd";
+      armv7l-linux  = "0sljy06302x567jqw5lagbyhpc3j140jk4wccacxjrbb6hcx3l42";
+      x86_64-darwin = "1b058s9kny026q395nj99v8hggxkgv43nnjkmx1a2siajw0db94c";
+      x86_64-linux  = "1q77cpz4gflrvfz6dm6np8sqbwyr235gq7y4pzs4hnqbrdzd4nwl";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
   dontConfigure = true;
@@ -33,10 +45,10 @@ stdenv.mkDerivation rec {
       glib
       gst_all_1.gstreamer
       gst_all_1.gst-plugins-base
-      libGLU_combined
+      libGLU libGL
       xorg.libX11
     ];
-  in ''
+  in stdenv.lib.optionalString (!stdenv.isDarwin) ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "${libPath}" \
@@ -48,6 +60,6 @@ stdenv.mkDerivation rec {
     description = "Real-time GPU shader editor";
     license = licenses.unfree;
     maintainers = with maintainers; [ prusnak ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "aarch64-linux" "armv7l-linux" "x86_64-darwin" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/krita/default.nix b/nixpkgs/pkgs/applications/graphics/krita/default.nix
index 30f7739167ca..52397ac33c4f 100644
--- a/nixpkgs/pkgs/applications/graphics/krita/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/krita/default.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "krita";
-  version = "4.2.6";
+  version = "4.2.7.1";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0qdaw8xx3h91v8iw6nw2h276ka8hflaq4r4qwz5mqfd3h254jzym";
+    sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
new file mode 100644
index 000000000000..0a3368ec2abe
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, libpng
+, gsl
+, libsndfile
+, lzo
+, qmake
+, qttools
+, qtbase
+, qtmultimedia
+, withOpenCL ? true
+, opencl-clhpp ? null
+, ocl-icd ? null
+}:
+
+assert withOpenCL -> opencl-clhpp != null;
+assert withOpenCL -> ocl-icd != null;
+
+mkDerivation rec {
+  pname = "mandelbulber";
+  version = "2.20";
+
+  src = fetchFromGitHub {
+    owner = "buddhi1980";
+    repo = "mandelbulber2";
+    rev = version;
+    sha256 = "043dks9fimhradyhdzqdc6lb9z0x9lkj3szj10751g424lppp207";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    qttools
+  ];
+  buildInputs = [
+    qtbase
+    qtmultimedia
+    libpng
+    gsl
+    libsndfile
+    lzo
+  ] ++ lib.optionals withOpenCL [
+    opencl-clhpp
+    ocl-icd
+  ];
+
+  sourceRoot = "${src.name}/mandelbulber2";
+
+  qmakeFlags = [
+    "SHARED_PATH=${placeholder ''out''}"
+    (if withOpenCL
+      then "qmake/mandelbulber-opencl.pro"
+      else "qmake/mandelbulber.pro")
+  ];
+
+  meta = with lib; {
+    description = "A 3D fractal rendering engine";
+    longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
+    homepage = "https://mandelbulber.com";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kovirobi ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/mcomix/default.nix b/nixpkgs/pkgs/applications/graphics/mcomix/default.nix
deleted file mode 100644
index 7130d21b8ef4..000000000000
--- a/nixpkgs/pkgs/applications/graphics/mcomix/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, python27Packages }:
-
-python27Packages.buildPythonApplication rec {
-    name = "mcomix-${version}";
-    version = "1.2.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
-      sha256 = "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy";
-    };
-
-    propagatedBuildInputs = with python27Packages; [ pygtk pillow setuptools ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Image viewer designed to handle comic books";
-      longDescription = ''
-        MComix is an user-friendly, customizable image viewer. It is specifically
-        designed to handle comic books, but also serves as a generic viewer.
-        It reads images in ZIP, RAR, 7Zip or tar archives as well as plain image
-        files. It is written in Python and uses GTK through the PyGTK bindings,
-        and runs on both Linux and Windows.
-
-        MComix is a fork of the Comix project, and aims to add bug fixes and
-        stability improvements after Comix development came to a halt in late 2009.
-      '';
-      homepage = http://mcomix.sourceforge.net/;
-      license = stdenv.lib.licenses.gpl2;
-      maintainers = with stdenv.lib.maintainers; [ fuuzetsu AndersonTorres ];
-    };
-}
-# TODO:
-# - error in check phase
diff --git a/nixpkgs/pkgs/applications/graphics/meshlab/default.nix b/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
index bd5dea8014d6..9733f1e2efa0 100644
--- a/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
@@ -1,13 +1,53 @@
-{ fetchFromGitHub, libGLU, llvmPackages, qtbase, qtscript, qtxmlpatterns }:
+{ mkDerivation, lib, fetchFromGitHub
+, fetchpatch
+, libGLU
+, qtbase
+, qtscript
+, qtxmlpatterns
+, lib3ds
+, bzip2
+, muparser
+, levmar
+}:
 
 let
-  meshlabRev = "d596d7c086c51fbdfb56050f9c30b55dd0286d4c";
-  vcglibRev = "6c3c940e34327322507c703889f9f1cfa73ab183";
+  meshlabRev = "25f3d17b1d1d47ddc51179cb955f3027b7638745";
+  vcglibRev = "910da4c3e310f2e6557bd7a39c4f1529e61573e5";
   # ^ this should be the latest commit in the vcglib devel branch at the time of the meshlab revision
+  # We keep it separate here instead of using the `vcg` nix package because
+  # as of writing, meshlab upstream does not seem to follow a proper
+  # release process, and the other dependencies of `vcg` may no longer
+  # work when we upgrade it for the purpose of meshlab.
 
-  stdenv = llvmPackages.stdenv; # only building with clang seems to be tested upstream
-in stdenv.mkDerivation {
-  name = "meshlab-20180627-beta";
+  # Unfixed upstream compile error; see
+  #     https://github.com/cnr-isti-vclab/meshlab/issues/188#issuecomment-364785362
+  # that has with fixed line endings.
+  import_bundle_out_patch = fetchpatch {
+    name = "import_bundle_out.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/import_bundle_out.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
+    sha256 = "1g6nli15i3fjd6jsgkxvb33kzbcv67xjkc3jv9r51lrwlm1ifzxi";
+  };
+
+  # Reduces amount of vendored libraries, fixes `/linux` vs `linux-g++`
+  # directory name linker errors.
+  external_patch = fetchpatch {
+    name = "external.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/external.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
+    sha256 = "1rxwkxhmxis1420rc1w7dg89gkmym68lpszsq6snl6dzpl3ingsb";
+  };
+  _3ds_patch = fetchpatch {
+    name = "3ds.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/3ds.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
+    sha256 = "1w435b7p1ggi2bzib4yyszmk54drjgpbn8n9mnsk1slsxnp2vmg8";
+  };
+  muparser_patch = fetchpatch {
+    name = "muparser.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/muparser.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
+    sha256 = "1sf7xqwc2j8xxdx2yklwifii9qqgknvx6ahk2hq76mg78ry1nzhq";
+  };
+
+in mkDerivation {
+  name = "meshlab-20190129-beta";
 
   srcs =
     [
@@ -15,38 +55,54 @@ in stdenv.mkDerivation {
         owner = "cnr-isti-vclab";
         repo = "meshlab";
         rev = meshlabRev;
-        sha256 = "0xi7wiyy0yi545l5qvccbqahlcsf70mhx829gf7bq29640si4rax";
+        sha256 = "16d2i91hrxvrr5p0k33g3fzis9zp4gsy3n5y2nhafvsgdmaidiij";
         name = "meshlab-${meshlabRev}";
       })
       (fetchFromGitHub {
         owner = "cnr-isti-vclab";
         repo = "vcglib";
         rev = vcglibRev;
-        sha256 = "0jfgjvf21y9ncmyr7caipy3ardhig7hh9z8miy885c99b925hhwd";
+        sha256 = "0xpnjpwpj57hgai184rzyk9lbq6d9vbjzr477dvl5nplpwa420m1";
         name = "vcglib-${vcglibRev}";
       })
     ];
 
   sourceRoot = "meshlab-${meshlabRev}";
 
+  # Meshlab is not format-security clean; without disabling hardening, we get:
+  #     ../../external/qhull-2003.1/src/io.c:2169:3: error: format not a string literal and no format arguments [-Werror=format-security]
+  #        fprintf(fp, endfmt);
+  #        ^~~~~~~
   hardeningDisable = [ "format" ];
+
   enableParallelBuilding = true;
 
-  patches = [ ./fix-20180627-beta.patch ];
+  prePatch =
+    ''
+      # MeshLab has ../vcglib hardcoded everywhere, so move the source dir
+      mv ../vcglib-${vcglibRev} ../vcglib
 
-  buildPhase = ''
-    # MeshLab has ../vcglib hardcoded everywhere, so move the source dir
-    mv ../vcglib-${vcglibRev} ../vcglib
+      # Make all source files writable so that patches can be applied.
+      chmod -R u+w ..
+
+      patch -Np1 --directory=../vcglib -i ${import_bundle_out_patch}
 
+      patch -Np1 -i ${external_patch}
+      # Individual libraries
+      patch -Np1 -i ${_3ds_patch}
+      patch -Np1 -i ${muparser_patch}
+    ''
+    ;
+
+  buildPhase = ''
     cd src
     export NIX_LDFLAGS="-rpath $out/opt/meshlab $NIX_LDFLAGS"
-    export QMAKESPEC="linux-clang"
 
     pushd external
-    qmake -recursive external.pro
+    qmake -recursive $QMAKE_FLAGS external.pro
     buildPhase
     popd
-    qmake -recursive meshlab_full.pro
+    qmake -recursive $QMAKE_FLAGS meshlab_full.pro
     buildPhase
   '';
 
@@ -57,13 +113,22 @@ in stdenv.mkDerivation {
     ln -s $out/opt/meshlab/meshlabserver $out/bin/meshlabserver
   '';
 
-  buildInputs = [ libGLU llvmPackages.openmp qtbase qtscript qtxmlpatterns ];
+  buildInputs = [
+    libGLU
+    qtbase
+    qtscript
+    qtxmlpatterns
+    lib3ds
+    bzip2
+    muparser
+    levmar
+  ];
 
   meta = {
     description = "A system for processing and editing 3D triangular meshes.";
     homepage = http://www.meshlab.net/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [viric];
+    platforms = with lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/meshlab/fix-20180627-beta.patch b/nixpkgs/pkgs/applications/graphics/meshlab/fix-20180627-beta.patch
deleted file mode 100644
index 177b8e90c574..000000000000
--- a/nixpkgs/pkgs/applications/graphics/meshlab/fix-20180627-beta.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/src/meshlabplugins/edit_paint/paintbox.cpp b/src/meshlabplugins/edit_paint/paintbox.cpp
-index 2097a5b..6bcd1a4 100644
---- a/src/meshlabplugins/edit_paint/paintbox.cpp
-+++ b/src/meshlabplugins/edit_paint/paintbox.cpp
-@@ -23,6 +23,7 @@
- 
- #include "paintbox.h"
- #include <QFileDialog>
-+#include <QAction>
- 
- Paintbox::Paintbox(QWidget * parent, Qt::WindowFlags flags) : QWidget(parent, flags)
- {
-diff --git a/src/meshlabplugins/render_gdp/shaderDialog.h b/src/meshlabplugins/render_gdp/shaderDialog.h
-index a62d3b5..7eb1594 100644
---- a/src/meshlabplugins/render_gdp/shaderDialog.h
-+++ b/src/meshlabplugins/render_gdp/shaderDialog.h
-@@ -32,6 +32,8 @@
- #include "shaderStructs.h"
- #include "ui_shaderDialog.h"
- #include <QMap>
-+#include <QSlider>
-+#include <QLineEdit>
- 
- class QGLWidget;
- 
diff --git a/nixpkgs/pkgs/applications/graphics/mirage/default.nix b/nixpkgs/pkgs/applications/graphics/mirage/default.nix
deleted file mode 100644
index fbe8f10c72f7..000000000000
--- a/nixpkgs/pkgs/applications/graphics/mirage/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pythonPackages, libX11, gettext }:
-
-pythonPackages.buildPythonApplication rec {
-    pname = "mirage";
-    version = "0.9.5.2";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2";
-      sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
-    };
-
-    doCheck = false;
-
-    nativeBuildInputs = [ gettext ];
-
-    buildInputs = [ stdenv libX11 gettext ];
-
-    patchPhase = ''
-      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
-    '';
-
-    propagatedBuildInputs = with pythonPackages; [ pygtk pillow ];
-
-    meta = {
-      description = "Simple image viewer written in PyGTK";
-
-      homepage = http://mirageiv.sourceforge.net/;
-
-      license = stdenv.lib.licenses.gpl2;
-    };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/mypaint/default.nix b/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
index 1b51732b918c..1acaf4850ebe 100644
--- a/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection, hicolor-icon-theme
-, 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 hicolor-icon-theme
+    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/nixpkgs/pkgs/applications/graphics/nomacs/default.nix b/nixpkgs/pkgs/applications/graphics/nomacs/default.nix
index 62fae518b929..48a79e8844e8 100644
--- a/nixpkgs/pkgs/applications/graphics/nomacs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix b/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
index 4e61fccaa372..9c4a8b229391 100644
--- a/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , boost
 , cmake
 , ilmbase
@@ -14,15 +15,22 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.0.10";
+  version = "2.1.9.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "0k60kgfahsqcgmydsf1kh1qzshn8mksaw772z48a40qnx28pfjys";
+    sha256 = "1bbxx3bcc5jlb90ffxbk29gb8227097rdr8vg97vj9axw2mjd5si";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/OpenImageIO/oiio/pull/2441/commits/e9bdd69596103edf41b659ad8ab0ca4ce002f6f5.patch";
+      sha256 = "0x1wmjf1jrm19d1izhs1cs3y1if9al1zx48lahkfswyjag3r5dn0";
+    })
+  ];
+
   outputs = [ "bin" "out" "dev" "doc" ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/openimageio/default.nix b/nixpkgs/pkgs/applications/graphics/openimageio/default.nix
index 7225efadebd9..c743f8bd6532 100644
--- a/nixpkgs/pkgs/applications/graphics/openimageio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/openimageio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "1.8.16";
+  version = "1.8.17";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "0isx137c6anvs1xfxi0z35v1cw855xvnq2ca0pakqqpdh0yivrps";
+    sha256 = "0zq34szprgkrrayg5sl3whrsx2l6lr8nw4hdrnwv2qhn70jbi2w2";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/applications/graphics/openscad/default.nix b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
index 9f7fbc8421ba..2c95f6d403f2 100644
--- a/nixpkgs/pkgs/applications/graphics/openscad/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/paraview/default.nix b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
index 13a00991265f..1a47a3557493 100644
--- a/nixpkgs/pkgs/applications/graphics/paraview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
@@ -1,12 +1,13 @@
 {
 stdenv, fetchFromGitHub, cmake, makeWrapper
-,qtbase, qttools, python, libGLU_combined
+,qtbase, qttools, python, libGLU, libGL
 ,libXt, qtx11extras, qtxmlpatterns
+, mkDerivation
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "paraview";
-  version = "5.6.0";
+  version = "5.6.3";
 
   # fetching from GitHub instead of taking an "official" source
   # tarball because of missing submodules there
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "Kitware";
     repo = "ParaView";
     rev = "v${version}";
-    sha256 = "1j13yfdgcv4yzfr449i4c8r4rs1c9zr6qd3igr4vv3ani8zixkzi";
+    sha256 = "0zcij59pg47c45gfddnpbin13w16smzhcbivzm1k4pg4366wxq1q";
     fetchSubmodules = true;
   };
 
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python
     python.pkgs.numpy
-    libGLU_combined
+    libGLU libGL
     libXt
     qtbase
     qtx11extras
diff --git a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
index 7b1077d18a9d..f31506ce7339 100644
--- a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.2.4";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0inlwrpv5zkcv48g5gq1xdrvd7w1zkhf8p57fpr2cpd7hd3am7n8";
+    sha256 = "0a7d36hzcvj68apzc726r2vqsjyrkcynxif5laarxapm6p67g3z4";
   };
 
-  modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";
+  modSha256 = "0ak34wr5cbcvblndslsxdd24vfj3h02xqjqnj5amkll5iqn5mzi1";
 
   subPackages = [ "cmd/pdfcpu" ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/photoflow/default.nix b/nixpkgs/pkgs/applications/graphics/photoflow/default.nix
index db41ee0566fe..78d16e692261 100644
--- a/nixpkgs/pkgs/applications/graphics/photoflow/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/photoflow/default.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.MtP ];
     platforms = platforms.linux;
-    broken = stdenv.isAarch64;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/photoqt/default.nix b/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
index 68afdd8694b1..14c49d30004c 100644
--- a/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, cmake, exiv2, graphicsmagick, libraw, fetchpatch
+{ mkDerivation, stdenv, fetchurl, cmake, exiv2, graphicsmagick, libraw, fetchpatch
 , qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools, qtgraphicaleffects
 , extra-cmake-modules, poppler, kimageformats, libarchive, libdevil
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "photoqt";
   version = "1.7.1";
 
diff --git a/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix b/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix
new file mode 100644
index 000000000000..e34d5a87a478
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pygobject3
+, pycairo
+, glib
+, gtk3
+, gobject-introspection
+, wrapGAppsHook
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pick-colour-picker";
+  version = "unstable-2019-10-11"; # "1.5.0-3ec940"
+
+  src = fetchFromGitHub {
+    owner = "stuartlangridge";
+    repo = "ColourPicker";
+    rev = "3ec9406d787ce373f6db0d520ed38a921edb9473";
+    sha256 = "04l8ch9297nhkgcmyhsbg0il424c8vy0isns1c7aypn0zp0dc4zd";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  pythonPath = [
+    pygobject3
+    pycairo
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+  ];
+
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  # this must be false, otherwise the gobject-introspection hook doesn't run
+  strictDeps = false;
+
+  preDistPhases = [ "fixupIconPath" ];
+
+  fixupIconPath = ''
+    pickLoc="$out/${python.sitePackages}/pick"
+    shareLoc=$(echo "$out/${python.sitePackages}/nix/store/"*)
+    mv "$shareLoc/share" "$out/share"
+
+    sed "s|os.environ.get('SNAP'), \"usr\"|'$out'|g" -i "$pickLoc/__main__.py"
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://kryogenix.org/code/pick/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    description = "A colour picker that remembers where you picked colours from";
+    maintainers = [ maintainers.mkg20001 ];
+
+    longDescription = ''
+      Pick lets you pick colours from anywhere on your screen. Choose the colour you want and Pick remembers it, names it, and shows you a screenshot so you can remember where you got it from.
+
+      Zoom all the way in to pixels to pick just the right one. Show your colours in your choice of format: rgba() or hex, CSS or Gdk or Qt, whichever you prefer. Copy to the clipboard ready for pasting into code or graphics apps.
+      '';
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/potrace/default.nix b/nixpkgs/pkgs/applications/graphics/potrace/default.nix
index f50af2925a3a..35ab27bcbf63 100644
--- a/nixpkgs/pkgs/applications/graphics/potrace/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/potrace/default.nix
@@ -2,17 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "potrace";
-  version = "1.15";
+  version = "1.16";
 
   src = fetchurl {
     url = "http://potrace.sourceforge.net/download/${version}/potrace-${version}.tar.gz";
-    sha256 = "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9";
+    sha256 = "1k3sxgjqq0jnpk9xxys05q32sl5hbf1lbk1gmfxcrmpdgnhli0my";
   };
 
   configureFlags = [ "--with-libpotrace" ];
 
   buildInputs = [ zlib ];
 
+  enableParallelBuilding = true;
+  doCheck = true;
+
   meta = with stdenv.lib; {
     homepage = http://potrace.sourceforge.net/;
     description = "A tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image";
diff --git a/nixpkgs/pkgs/applications/graphics/pqiv/default.nix b/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
index 1ad51e92d472..7639a2a9c761 100644
--- a/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation (rec {
     description = "Powerful image viewer with minimal UI";
     homepage = http://www.pberndt.com/Programme/Linux/pqiv;
     license = licenses.gpl3;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index 28d05480dae1..2e12e18a5a53 100644
--- a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "rapid-photo-downloader";
-  version = "0.9.16";
+  version = "0.9.17";
 
   src = fetchurl {
     url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "0ij3li17jcqjx79ldv6zg2ckn8m2l9n4xvvq2x79y4q8yx9fqg85";
+    sha256 = "10vqbi9rcg8r0jxpx2kn8xmahwgdcal28wpix2fg6nkp5rfwxnr6";
   };
 
   # Disable version check and fix install tests
@@ -67,14 +67,16 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     tenacity
   ];
 
-  makeWrapperArgs = [
-    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
-    "--set PYTHONPATH \"$PYTHONPATH\""
-    "--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool vmtouch ]}"
-    "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
-    "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
-    "\${qtWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=(
+      --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
+      --set PYTHONPATH "$PYTHONPATH"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ exiftool vmtouch ]}"
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
 
   meta = with stdenv.lib; {
     description = "Photo and video importer for cameras, phones, and memory cards";
diff --git a/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix b/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix
index 74e8c0e6b434..bda164465245 100644
--- a/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
index 594429503a35..426985d312c7 100644
--- a/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
@@ -1,32 +1,34 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
 , qtbase, qtx11extras, qtsvg, makeWrapper
-, vulkan-loader, xorg
-, python3, bison, pcre, automake, autoconf
+, vulkan-loader, xorg, python3, python3Packages
+, bison, pcre, automake, autoconf, addOpenGLRunpath
 }:
 let
   custom_swig = fetchFromGitHub {
     owner = "baldurk";
     repo = "swig";
-    rev = "renderdoc-modified-6";
-    sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0";
+    rev = "renderdoc-modified-7";
+    sha256 = "15r2m5kcs0id64pa2fsw58qll3jyh71jzc04wy20pgsh2326zis6";
   };
+  pythonPackages = python3Packages;
 in
-stdenv.mkDerivation rec {
-  version = "1.4";
+mkDerivation rec {
+  version = "1.5";
   pname = "renderdoc";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
+    sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
   };
 
   buildInputs = [
     qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3
-  ];
+  ]; # ++ (with pythonPackages; [pyside2 pyside2-tools shiboken2]);
+  # TODO: figure out how to make cmake recognise pyside2
 
-  nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf ];
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf addOpenGLRunpath ];
 
   postUnpack = ''
     cp -r ${custom_swig} swig
@@ -40,19 +42,23 @@ stdenv.mkDerivation rec {
     "-DBUILD_VERSION_DIST_VER=${version}"
     "-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
     "-DBUILD_VERSION_STABLE=ON"
-    # TODO: add once pyside2 is in nixpkgs
-    #"-DPYSIDE2_PACKAGE_DIR=${python36Packages.pyside2}"
   ];
 
-  # Future work: define these in the above array via placeholders
+  # TODO: define these in the above array via placeholders, once those are widely supported
   preConfigure = ''
     cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
     cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
   '';
 
+  dontWrapQtApps = true;
   preFixup = ''
-    wrapProgram $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
+    wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
+  '';
+
+  # The only documentation for this so far is in pkgs/build-support/add-opengl-runpath/setup-hook.sh
+  postFixup = ''
+    addOpenGLRunpath $out/lib/librenderdoc.so
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/graphics/runwayml/default.nix b/nixpkgs/pkgs/applications/graphics/runwayml/default.nix
index c527ce2b229a..839a87214e64 100644
--- a/nixpkgs/pkgs/applications/graphics/runwayml/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/runwayml/default.nix
@@ -6,12 +6,12 @@
 
 let
   pname = "runwayml";
-  version = "0.9.0";
+  version = "0.10.11";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
-    sha256 = "0rg7ipp7kx0l4qgcymfg5d3saz0c6d2j0c6rf28rwqgbm92gbjjq";
+    sha256 = "0f3icgpwj1sk9bkycqw65c8bhrzzpw5yzacw52siv4j1gl4casnl";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/rx/default.nix b/nixpkgs/pkgs/applications/graphics/rx/default.nix
new file mode 100644
index 000000000000..cc5d00d64ecc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/rx/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, rustPlatform, fetchFromGitHub, makeWrapper
+, cmake, pkgconfig
+, xorg ? null
+, vulkan-loader ? null }:
+
+with stdenv.lib;
+
+rustPlatform.buildRustPackage rec {
+  pname = "rx";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudhead";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mhpq9x54d884ydmfv1358sgc4jc7bghfx2y0k7p879hyyxr52v1";
+  };
+
+  cargoSha256 = "0fnrgijfkvapj1yyy9grnqh2vkciisf029af0gfwyzsxzdi62gg5";
+
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+
+  buildInputs = optionals stdenv.isLinux
+  (with xorg; [
+    # glfw-sys dependencies:
+    libX11 libXrandr libXinerama libXcursor libXi libXext
+  ]);
+
+  # FIXME: GLFW (X11) requires DISPLAY env variable for all tests
+  doCheck = false;
+
+  postInstall = optional stdenv.isLinux ''
+    mkdir -p $out/share/applications
+    cp $src/rx.desktop $out/share/applications
+    wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  '';
+
+  meta = {
+    description = "Modern and extensible pixel editor implemented in Rust";
+    homepage = "https://cloudhead.io/rx/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ minijackson filalex77 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix b/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix
index 20d5629b83a9..4245acf716d5 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/sane/backends/generic.nix b/nixpkgs/pkgs/applications/graphics/sane/backends/generic.nix
index 0f47c82f0325..0e8a5f34f6c1 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/backends/generic.nix
+++ b/nixpkgs/pkgs/applications/graphics/sane/backends/generic.nix
@@ -1,5 +1,5 @@
 { stdenv
-, avahi, libjpeg, libusb1, libv4l, net_snmp, libpng
+, avahi, libjpeg, libusb1, libv4l, net-snmp, libpng
 , gettext, pkgconfig
 
 # List of { src name backend } attibute sets - see installFirmware below:
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     ++ stdenv.lib.optional (libusb1 != null) "--enable-libusb_1_0"
     ;
 
-  buildInputs = [ avahi libusb1 libv4l net_snmp libpng ];
+  buildInputs = [ avahi libusb1 libv4l net-snmp libpng ];
   nativeBuildInputs = [ gettext pkgconfig ];
   enableParallelBuilding = true;
 
@@ -57,6 +57,9 @@ stdenv.mkDerivation {
 
     substituteInPlace $out/lib/libsane.la \
       --replace "-ljpeg" "-L${libjpeg.out}/lib -ljpeg"
+
+    # net.conf conflicts with the file generated by the nixos module
+    rm -f $out/etc/sane.d/net.conf
   '' + stdenv.lib.concatStrings (builtins.map installFirmware compatFirmware);
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/graphics/sane/backends/git.nix b/nixpkgs/pkgs/applications/graphics/sane/backends/git.nix
index e746f83e5d49..2edd739068d9 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/backends/git.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/sane/frontends.nix b/nixpkgs/pkgs/applications/graphics/sane/frontends.nix
index 66473c4a155f..b00f8f6c58d7 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/frontends.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/seg3d/cstdio.patch b/nixpkgs/pkgs/applications/graphics/seg3d/cstdio.patch
deleted file mode 100644
index 0d9eed07a367..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/graphics/seg3d/default.nix b/nixpkgs/pkgs/applications/graphics/seg3d/default.nix
deleted file mode 100644
index 58cec2ec1703..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/graphics/smartdeblur/default.nix b/nixpkgs/pkgs/applications/graphics/smartdeblur/default.nix
index 377a5ae61687..314b4007aad5 100644
--- a/nixpkgs/pkgs/applications/graphics/smartdeblur/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/smartdeblur/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake qt4 fftw ];
 
-  cmakeFlags = "-DUSE_SYSTEM_FFTW=ON";
+  cmakeFlags = [ "-DUSE_SYSTEM_FFTW=ON" ];
 
   meta = {
     homepage = https://github.com/Y-Vladimir/SmartDeblur;
diff --git a/nixpkgs/pkgs/applications/graphics/sxiv/default.nix b/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
index acbbf73465df..99c151f8c80b 100644
--- a/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/muennich/sxiv;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with maintainers; [ jfrankenau fuuzetsu ];
+    maintainers = with maintainers; [ jfrankenau ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/tev/default.nix b/nixpkgs/pkgs/applications/graphics/tev/default.nix
new file mode 100644
index 000000000000..47da0b749df3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/tev/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub
+, cmake, wrapGAppsHook
+, libX11, xorg, libzip, glfw, gnome3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tev";
+  version = "1.13";
+
+  src = fetchFromGitHub {
+    owner = "Tom94";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "0c8md6yv1q449aszs05xfby6a2aiw8pac7x0zs169i5mpqrrbfa9";
+  };
+
+  nativeBuildInputs = [ cmake wrapGAppsHook ];
+  buildInputs = [ libX11 libzip glfw ]
+    ++ (with xorg; [ libXrandr libXinerama libXcursor libXi libXxf86vm ]);
+
+  dontWrapGApps = true; # We also need zenity (see below)
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/" "''${out}/"
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/tev \
+      "''${gappsWrapperArgs[@]}" \
+      --prefix PATH ":" "${gnome3.zenity}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A high dynamic range (HDR) image comparison tool";
+    longDescription = ''
+      A high dynamic range (HDR) image comparison tool for graphics people. tev
+      allows viewing images through various tonemapping operators and inspecting
+      the values of individual pixels. Often, it is important to find exact
+      differences between pairs of images. For this purpose, tev allows rapidly
+      switching between opened images and visualizing various error metrics (L1,
+      L2, and relative versions thereof). To avoid clutter, opened images and
+      their layers can be filtered by keywords.
+      While the predominantly supported file format is OpenEXR certain other
+      types of images can also be loaded.
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
index 4f5fb12faa62..a80e89e72bcd 100644
--- a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
@@ -18,10 +18,6 @@ stdenv.mkDerivation rec {
       shared-mime-info glib gdk-pixbuf perl
     ];
 
-  preFixup = ''
-    rm $out/share/icons/*/icon-theme.cache
-  '';
-
   meta = {
     description = "Fast and simple image viewer";
     longDescription =
diff --git a/nixpkgs/pkgs/applications/graphics/vimiv/default.nix b/nixpkgs/pkgs/applications/graphics/vimiv/default.nix
index 5fc7e309f4df..fab85052df3b 100644
--- a/nixpkgs/pkgs/applications/graphics/vimiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/vimiv/default.nix
@@ -1,5 +1,5 @@
 { lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead
-, hicolor-icon-theme, gnome3
+, gnome3
 
 # Test requirements
 , dbus, xvfb_run, xdotool
@@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ];
-  buildInputs = [ hicolor-icon-theme gnome3.adwaita-icon-theme librsvg ];
+  buildInputs = [ gnome3.adwaita-icon-theme librsvg ];
   propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ];
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/applications/graphics/write_stylus/default.nix b/nixpkgs/pkgs/applications/graphics/write_stylus/default.nix
index 232eeeb01153..0f1020b0b078 100644
--- a/nixpkgs/pkgs/applications/graphics/write_stylus/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/write_stylus/default.nix
@@ -1,4 +1,12 @@
 { stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }:
+let
+  # taken from: https://www.iconfinder.com/icons/50835/edit_pencil_write_icon
+  # license: Free for commercial use
+  desktopIcon = fetchurl {
+    url = "https://www.iconfinder.com/icons/50835/download/png/256";
+    sha256 = "0abdya42yf9alxbsmc2nf8jwld50zfria6z3d4ncvp1zw2a9jhb8";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "write_stylus";
   version = "209";
@@ -7,7 +15,7 @@ stdenv.mkDerivation rec {
     name = "Write";
     exec = "Write";
     comment = "A word processor for handwriting";
-    icon = "write_stylus";
+    icon = desktopIcon;
     desktopName = "Write";
     genericName = "Write";
     categories = "Office;Graphics";
@@ -18,13 +26,6 @@ stdenv.mkDerivation rec {
     sha256 = "1p6glp4vdpwl8hmhypayc4cvs3j9jfmjfhhrgqm2xkgl5bfbv2qd";
   };
 
-  # taken from: https://www.iconfinder.com/icons/50835/edit_pencil_write_icon
-  # license: Free for commercial use
-  icon = fetchurl {
-    url = "https://oyra.eu/write/icon.tar.gz";
-    sha256 = "1zd98g63apwi17qc1hm1g14maain5d18g4afadxm30qjz2s0mvs8";
-  };
-
   sourceRoot = ".";
 
   dontBuild = true;
@@ -35,9 +36,6 @@ stdenv.mkDerivation rec {
     # symlink the binary to bin/
     ln -s $out/Write/Write $out/bin/Write
 
-    # untar icons
-    tar -xzf ${icon} *.tar.gz -C $out/
-
     mkdir -p $out/share/applications
     ln -s ${desktopItem}/share/applications/* $out/share/applications/
   '';
diff --git a/nixpkgs/pkgs/applications/graphics/xournal/default.nix b/nixpkgs/pkgs/applications/graphics/xournal/default.nix
index cd9d068b8acf..6d10a7cae231 100644
--- a/nixpkgs/pkgs/applications/graphics/xournal/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xournal/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
 
-  NIX_LDFLAGS = [ "-lz" ]
-    ++ stdenv.lib.optionals (!isGdkQuartzBackend) [ "-lX11" ];
+  NIX_LDFLAGS = "-lz"
+    + stdenv.lib.optionalString (!isGdkQuartzBackend) " -lX11";
 
   desktopItem = makeDesktopItem {
     name = name;
diff --git a/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix b/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
index 41539f32b071..76f8e03fa13f 100644
--- a/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
@@ -10,7 +10,6 @@
 , glib
 , gsettings-desktop-schemas
 , gtk3
-, hicolor-icon-theme
 , libsndfile
 , libxml2
 , libzip
@@ -24,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.12";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
-    repo = "xournalpp";
+    repo = pname;
     rev = version;
-    sha256 = "0yg70hsx58s3wb5kzccivrqa7kvmdapygxmif1j64hddah2rqcn9";
+    sha256 = "1bdmxxkcqpjvkckizmrz2839b4yspw4xv69bqkrrgkcyvxsr804w";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];
@@ -38,7 +37,6 @@ stdenv.mkDerivation rec {
     [ glib
       gsettings-desktop-schemas
       gtk3
-      hicolor-icon-theme
       libsndfile
       libxml2
       libzip
diff --git a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
index e545dd5a7230..9162e0bdef13 100644
--- a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, qmake, poppler, pkgconfig, libunarr, libGLU
-, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols, qtscript
+{ mkDerivation, lib, fetchFromGitHub, qmake, poppler, pkgconfig, libunarr
+, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols
+, qtscript
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "yacreader";
-  version = "9.5.0";
+  version = "9.6.2";
 
-  src = fetchurl {
-    url = "https://github.com/YACReader/yacreader/releases/download/${version}/${pname}-${version}-src.tar.xz";
-    sha256 = "0cv5y76kjvsqsv4fp99j8np5pm4m76868i1nn40q6hy573dmxwm6";
+  src = fetchFromGitHub {
+    owner = "YACReader";
+    repo = pname;
+    rev = version;
+    sha256 = "1s7kb72skhr364kq8wr2i012jjmaz2vzcz526h0b2bch8921wrnf";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
@@ -19,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A comic reader for cross-platform reading and managing your digital comic collection";
-    homepage = http://www.yacreader.com;
-    license = stdenv.lib.licenses.gpl3;
+    homepage = "http://www.yacreader.com";
+    license = lib.licenses.gpl3;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/yed/default.nix b/nixpkgs/pkgs/applications/graphics/yed/default.nix
index 0038d41475fb..96515a137246 100644
--- a/nixpkgs/pkgs/applications/graphics/yed/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yed/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yEd";
-  version = "3.19";
+  version = "3.19.1.1";
 
   src = fetchzip {
     url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
-    sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33";
+    sha256 = "0px88rc1slf7n1n8lpk56hf29ppbnnd4lrqfyggihcr0pxmw157c";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     license = licenses.unfree;
-    homepage = http://www.yworks.com/en/products/yfiles/yed/;
+    homepage = "https://www.yworks.com/products/yed";
     description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
     platforms = jre.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
diff --git a/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix b/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix
new file mode 100644
index 000000000000..157ef3753e08
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix
@@ -0,0 +1,23 @@
+{ buildGoPackage, fetchFromGitHub, lib }:
+
+buildGoPackage rec {
+  pname = "yeetgif";
+  version = "1.23.5";
+
+  goPackagePath = "github.com/sgreben/yeetgif";
+
+  src = fetchFromGitHub {
+    owner = "sgreben";
+    repo = pname;
+    rev = version;
+    sha256 = "1yz4pps8g378lvmi92cnci6msjj7fprp9bxqmnsyn6lqw7s2wb47";
+  };
+
+  meta = with lib; {
+    description = "gif effects CLI. single binary, no dependencies. linux, osx, windows. #1 workplace productivity booster. #yeetgif #eggplant #golang";
+    homepage = "https://github.com/sgreben/yeetgif";
+    license = with licenses; [ mit asl20 cc-by-nc-sa-40 ];
+    maintainers = with maintainers; [ ajs124 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/zgv/default.nix b/nixpkgs/pkgs/applications/graphics/zgv/default.nix
index 8ef705f7ef4b..7b14d7750c3a 100644
--- a/nixpkgs/pkgs/applications/graphics/zgv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/zgv/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     ./switch.patch
   ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/applications/kde/akonadi-calendar.nix b/nixpkgs/pkgs/applications/kde/akonadi-calendar.nix
index ce6b6f75f93c..121e93d3f5c0 100644
--- a/nixpkgs/pkgs/applications/kde/akonadi-calendar.nix
+++ b/nixpkgs/pkgs/applications/kde/akonadi-calendar.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-contacts, kcalcore, kcalutils, kcontacts,
+  akonadi, akonadi-contacts, kcalendarcore, kcalutils, kcontacts,
   kidentitymanagement, kio, kmailtransport,
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    akonadi akonadi-contacts kcalcore kcalutils kcontacts kidentitymanagement
+    akonadi akonadi-contacts kcalendarcore kcalutils kcontacts kidentitymanagement
     kio kmailtransport
   ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/applications/kde/akonadi-search.nix b/nixpkgs/pkgs/applications/kde/akonadi-search.nix
index 617c086ad9c9..23ee6b1b9cc4 100644
--- a/nixpkgs/pkgs/applications/kde/akonadi-search.nix
+++ b/nixpkgs/pkgs/applications/kde/akonadi-search.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-mime, kcalcore, kcmutils, kcontacts, kcoreaddons, kmime,
+  akonadi, akonadi-mime, kcalendarcore, kcmutils, kcontacts, kcoreaddons, kmime,
   krunner, qtbase, xapian
 }:
 
@@ -14,7 +14,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcmutils krunner xapian ];
   propagatedBuildInputs = [
-    akonadi akonadi-mime kcalcore kcontacts kcoreaddons kmime qtbase
+    akonadi akonadi-mime kcalendarcore kcontacts kcoreaddons kmime qtbase
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/akonadiconsole.nix b/nixpkgs/pkgs/applications/kde/akonadiconsole.nix
index 1470406d5a43..a02400847bb4 100644
--- a/nixpkgs/pkgs/applications/kde/akonadiconsole.nix
+++ b/nixpkgs/pkgs/applications/kde/akonadiconsole.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-contacts, calendarsupport, kcalcore, kcompletion,
+  akonadi, akonadi-contacts, calendarsupport, kcalendarcore, kcompletion,
   kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit, libkdepim,
   ktextwidgets, kxmlgui, messagelib, qtbase, akonadi-search, xapian
 }:
@@ -14,7 +14,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi akonadi-contacts calendarsupport kcalcore kcompletion kconfigwidgets
+    akonadi akonadi-contacts calendarsupport kcalendarcore kcompletion kconfigwidgets
     kcontacts kdbusaddons kitemmodels kpimtextedit ktextwidgets kxmlgui
     messagelib qtbase libkdepim akonadi-search xapian
   ];
diff --git a/nixpkgs/pkgs/applications/kde/ark/default.nix b/nixpkgs/pkgs/applications/kde/ark/default.nix
index 6015cb69d778..76cc423f5460 100644
--- a/nixpkgs/pkgs/applications/kde/ark/default.nix
+++ b/nixpkgs/pkgs/applications/kde/ark/default.nix
@@ -22,6 +22,7 @@ in
 mkDerivation {
   name = "ark";
   meta = {
+    description = "Graphical file compression/decompression utility";
     license = with lib.licenses;
       [ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree;
     maintainers = [ lib.maintainers.ttuegel ];
diff --git a/nixpkgs/pkgs/applications/kde/default.nix b/nixpkgs/pkgs/applications/kde/default.nix
index 9b146aa50364..0bfa850cb26e 100644
--- a/nixpkgs/pkgs/applications/kde/default.nix
+++ b/nixpkgs/pkgs/applications/kde/default.nix
@@ -138,6 +138,7 @@ let
       konquest = callPackage ./konquest.nix {};
       konqueror = callPackage ./konqueror.nix {};
       korganizer = callPackage ./korganizer.nix {};
+      kpat = callPackage ./kpat.nix {};
       kpimtextedit = callPackage ./kpimtextedit.nix {};
       ksmtp = callPackage ./ksmtp {};
       kqtquickcharts = callPackage ./kqtquickcharts.nix {};
@@ -145,6 +146,7 @@ let
       krdc = callPackage ./krdc.nix {};
       krfb = callPackage ./krfb.nix {};
       kruler = callPackage ./kruler.nix {};
+      ksudoku = callPackage ./ksudoku.nix {};
       ksystemlog = callPackage ./ksystemlog.nix {};
       ktnef = callPackage ./ktnef.nix {};
       ktouch = callPackage ./ktouch.nix {};
@@ -172,6 +174,7 @@ let
       pim-data-exporter = callPackage ./pim-data-exporter.nix {};
       pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};
       print-manager = callPackage ./print-manager.nix {};
+      rocs = callPackage ./rocs.nix {};
       spectacle = callPackage ./spectacle.nix {};
       yakuake = callPackage ./yakuake.nix {};
       # Okteta was removed from kde applications and will now be released independently
diff --git a/nixpkgs/pkgs/applications/kde/fetch.sh b/nixpkgs/pkgs/applications/kde/fetch.sh
index ee19f5cebfe2..a335b0ef8e8a 100644
--- a/nixpkgs/pkgs/applications/kde/fetch.sh
+++ b/nixpkgs/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/19.08.1/ )
+WGET_ARGS=( https://download.kde.org/stable/applications/19.08.3/ )
diff --git a/nixpkgs/pkgs/applications/kde/kalarm.nix b/nixpkgs/pkgs/applications/kde/kalarm.nix
index 9978e7ff6674..a1dec1179cc6 100644
--- a/nixpkgs/pkgs/applications/kde/kalarm.nix
+++ b/nixpkgs/pkgs/applications/kde/kalarm.nix
@@ -6,7 +6,7 @@
   kguiaddons, ki18n, kiconthemes, kjobwidgets, kcmutils, kdelibs4support, kio,
   knotifications, kservice, kwidgetsaddons, kwindowsystem, kxmlgui, phonon,
 
-  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalcore, kcalutils,
+  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalendarcore, kcalutils,
   kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime,
   pimcommon, kpimtextedit, kdepim-apps-libs, messagelib,
 
@@ -27,7 +27,7 @@ mkDerivation {
     kguiaddons ki18n kiconthemes kjobwidgets kcmutils kdelibs4support kio
     knotifications kservice kwidgetsaddons kwindowsystem kxmlgui phonon
 
-    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalcore kcalutils
+    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore kcalutils
     kholidays kidentitymanagement libkdepim mailcommon kmailtransport kmime
     pimcommon kpimtextedit kdepim-apps-libs messagelib
 
diff --git a/nixpkgs/pkgs/applications/kde/kalarmcal.nix b/nixpkgs/pkgs/applications/kde/kalarmcal.nix
index 46832477cc60..356c1e4812d6 100644
--- a/nixpkgs/pkgs/applications/kde/kalarmcal.nix
+++ b/nixpkgs/pkgs/applications/kde/kalarmcal.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, kcalcore, kdelibs4support, kholidays, kidentitymanagement,
+  akonadi, kcalendarcore, kdelibs4support, kholidays, kidentitymanagement,
   kpimtextedit, kcalutils
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
+    akonadi kcalendarcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/kate.nix b/nixpkgs/pkgs/applications/kde/kate.nix
index 95ff6cf198b2..f01a57a55d4d 100644
--- a/nixpkgs/pkgs/applications/kde/kate.nix
+++ b/nixpkgs/pkgs/applications/kde/kate.nix
@@ -15,8 +15,8 @@ mkDerivation {
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ libgit2 ];
-  propagatedBuildInputs = [
+  buildInputs = [
+    libgit2
     kactivities ki18n kio ktexteditor kwindowsystem plasma-framework
     qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts
     kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver
diff --git a/nixpkgs/pkgs/applications/kde/kcachegrind.nix b/nixpkgs/pkgs/applications/kde/kcachegrind.nix
index 91faaef623a4..16fc6c517774 100644
--- a/nixpkgs/pkgs/applications/kde/kcachegrind.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/kde/kcalutils.nix b/nixpkgs/pkgs/applications/kde/kcalutils.nix
index 1628af7e2202..2e389ec4ac7d 100644
--- a/nixpkgs/pkgs/applications/kde/kcalutils.nix
+++ b/nixpkgs/pkgs/applications/kde/kcalutils.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  grantlee, kcalcore, kconfig, kontactinterface, kcoreaddons, kdelibs4support,
+  grantlee, kcalendarcore, kconfig, kontactinterface, kcoreaddons, kdelibs4support,
   kidentitymanagement, kpimtextedit,
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    grantlee kcalcore kconfig kontactinterface kcoreaddons kdelibs4support
+    grantlee kcalendarcore kconfig kontactinterface kcoreaddons kdelibs4support
     kidentitymanagement kpimtextedit
   ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/applications/kde/kdepim-addons.nix b/nixpkgs/pkgs/applications/kde/kdepim-addons.nix
index 0fe33ea017da..e47aae89e603 100644
--- a/nixpkgs/pkgs/applications/kde/kdepim-addons.nix
+++ b/nixpkgs/pkgs/applications/kde/kdepim-addons.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, shared-mime-info,
   akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews,
-  incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
+  incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
   kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
   libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
   kitinerary, kontactinterface
@@ -17,7 +17,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     akonadi-import-wizard akonadi-notes calendarsupport eventviews
-    incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative
+    incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative
     kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
     libksieve mailcommon mailimporter messagelib poppler prison kpkpass
     kitinerary kontactinterface
diff --git a/nixpkgs/pkgs/applications/kde/kitinerary.nix b/nixpkgs/pkgs/applications/kde/kitinerary.nix
index 8112460549b4..ce66de251dca 100644
--- a/nixpkgs/pkgs/applications/kde/kitinerary.nix
+++ b/nixpkgs/pkgs/applications/kde/kitinerary.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, extra-cmake-modules
 , qtbase, qtdeclarative, ki18n, kmime, kpkpass
-, poppler, kcontacts, kcalcore
+, poppler, kcontacts, kcalendarcore
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     qtbase qtdeclarative ki18n kmime kpkpass poppler
-    kcontacts kcalcore
+    kcontacts kcalendarcore
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/kmailtransport.nix b/nixpkgs/pkgs/applications/kde/kmailtransport.nix
index 703f62aa72c0..d5832db570cc 100644
--- a/nixpkgs/pkgs/applications/kde/kmailtransport.nix
+++ b/nixpkgs/pkgs/applications/kde/kmailtransport.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   akonadi, akonadi-mime, cyrus_sasl, kcmutils,
   ki18n, kio, kmime, kwallet, ksmtp, libkgapi,
-  kcalcore, kcontacts
+  kcalendarcore, kcontacts
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalcore kcontacts ];
+  buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalendarcore kcontacts ];
   propagatedBuildInputs = [ akonadi-mime cyrus_sasl kmime kwallet ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/knotes.nix b/nixpkgs/pkgs/applications/kde/knotes.nix
index ced046c2f4e2..2dc2f48c1497 100644
--- a/nixpkgs/pkgs/applications/kde/knotes.nix
+++ b/nixpkgs/pkgs/applications/kde/knotes.nix
@@ -9,7 +9,7 @@
   grantlee, grantleetheme, qtx11extras,
   akonadi, akonadi-notes, akonadi-search, kcalutils,
   kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit,
-  kcalcore
+  kcalendarcore
 }:
 
 mkDerivation {
@@ -24,6 +24,6 @@ mkDerivation {
     akonadi akonadi-notes kcalutils kontactinterface
     libkdepim kmime pimcommon kpimtextedit
     akonadi-search
-    kcalcore
+    kcalendarcore
   ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/konsole.nix b/nixpkgs/pkgs/applications/kde/konsole.nix
index 004fc1c37ae2..1be5b0b4a894 100644
--- a/nixpkgs/pkgs/applications/kde/konsole.nix
+++ b/nixpkgs/pkgs/applications/kde/konsole.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, makeWrapper,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
   ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
@@ -18,12 +18,7 @@ mkDerivation {
     kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support
     kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty
     kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff
-    makeWrapper
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/konsole --prefix XDG_DATA_DIRS ":" $out/share
-  '';
-
   propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/kontact.nix b/nixpkgs/pkgs/applications/kde/kontact.nix
index bb44762e65c5..978baa925e5a 100644
--- a/nixpkgs/pkgs/applications/kde/kontact.nix
+++ b/nixpkgs/pkgs/applications/kde/kontact.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
   qtwebengine,
-  kcmutils, kcrash, kdbusaddons, kwindowsystem,
+  kcmutils, kcrash, kdbusaddons, kparts, kwindowsystem,
   akonadi, grantleetheme, kdepim-apps-libs, kontactinterface, kpimtextedit,
   mailcommon, libkdepim
 }:
@@ -16,7 +16,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     qtwebengine
-    kcmutils kcrash kdbusaddons kwindowsystem
+    kcmutils kcrash kdbusaddons kparts kwindowsystem
     akonadi grantleetheme kdepim-apps-libs kontactinterface kpimtextedit
     mailcommon libkdepim
   ];
diff --git a/nixpkgs/pkgs/applications/kde/kpat.nix b/nixpkgs/pkgs/applications/kde/kpat.nix
new file mode 100644
index 000000000000..9ee573532378
--- /dev/null
+++ b/nixpkgs/pkgs/applications/kde/kpat.nix
@@ -0,0 +1,25 @@
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, knewstuff
+, shared-mime-info
+, libkdegames
+, freecell-solver
+}:
+
+mkDerivation {
+  name = "kpat";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    shared-mime-info
+  ];
+  buildInputs = [
+    knewstuff
+    libkdegames
+    freecell-solver
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    maintainers = with lib.maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/kde/ksudoku.nix b/nixpkgs/pkgs/applications/kde/ksudoku.nix
new file mode 100644
index 000000000000..3641c1b33323
--- /dev/null
+++ b/nixpkgs/pkgs/applications/kde/ksudoku.nix
@@ -0,0 +1,18 @@
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, libGLU
+, kdoctools
+, kdeclarative
+, libkdegames
+}:
+
+mkDerivation {
+  name = "ksudoku";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ libGLU kdeclarative libkdegames ];
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ genesis ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/kde/ktnef.nix b/nixpkgs/pkgs/applications/kde/ktnef.nix
index b5a3834869db..61f8672e47d9 100644
--- a/nixpkgs/pkgs/applications/kde/ktnef.nix
+++ b/nixpkgs/pkgs/applications/kde/ktnef.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  kcalcore, kcalutils, kcontacts, kdelibs4support
+  kcalendarcore, kcalutils, kcontacts, kdelibs4support
 }:
 
 mkDerivation {
@@ -12,7 +12,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    kcalcore kcalutils kcontacts kdelibs4support
+    kcalendarcore kcalutils kcontacts kdelibs4support
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/libkgapi.nix b/nixpkgs/pkgs/applications/kde/libkgapi.nix
index 998e65f28347..9d2d41c41d7f 100644
--- a/nixpkgs/pkgs/applications/kde/libkgapi.nix
+++ b/nixpkgs/pkgs/applications/kde/libkgapi.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  qtwebengine, kio, kcalcore, kcontacts,
+  qtwebengine, kio, kcalendarcore, kcontacts,
   cyrus_sasl
 }:
 
@@ -12,5 +12,5 @@ mkDerivation {
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ qtwebengine kio kcalcore kcontacts cyrus_sasl ];
+  buildInputs = [ qtwebengine kio kcalendarcore kcontacts cyrus_sasl ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/pim-data-exporter.nix b/nixpkgs/pkgs/applications/kde/pim-data-exporter.nix
index d17ffb3c0444..82cdf19df948 100644
--- a/nixpkgs/pkgs/applications/kde/pim-data-exporter.nix
+++ b/nixpkgs/pkgs/applications/kde/pim-data-exporter.nix
@@ -1,10 +1,10 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, kcmutils, kcrash, kdbusaddons, kidentitymanagement, kldap,
-  kmailtransport, knewstuff, knotifications, knotifyconfig, kparts, kross, ktexteditor,
-  kwallet, libkdepim, libkleo, pimcommon, qttools,
-  karchive, mailcommon, messagelib
+  akonadi, akonadi-notes, kcalendarcore, kcmutils, kcrash, kdbusaddons,
+  kidentitymanagement, kldap, kmailtransport, knewstuff, knotifications,
+  knotifyconfig, kparts, kross, ktexteditor, kwallet, libkdepim, libkleo,
+  pimcommon, qttools, karchive, mailcommon, messagelib
 }:
 
 mkDerivation {
@@ -15,8 +15,9 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi kcmutils kcrash kdbusaddons kidentitymanagement kldap kmailtransport
-    knewstuff knotifications knotifyconfig kparts kross ktexteditor kwallet libkdepim
-    libkleo pimcommon qttools karchive mailcommon messagelib
+    akonadi akonadi-notes kcalendarcore kcmutils kcrash kdbusaddons
+    kidentitymanagement kldap kmailtransport knewstuff knotifications
+    knotifyconfig kparts kross ktexteditor kwallet libkdepim libkleo pimcommon
+    qttools karchive mailcommon messagelib
   ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/print-manager.nix b/nixpkgs/pkgs/applications/kde/print-manager.nix
index 8ace4562cbd7..f0501ffadee4 100644
--- a/nixpkgs/pkgs/applications/kde/print-manager.nix
+++ b/nixpkgs/pkgs/applications/kde/print-manager.nix
@@ -20,4 +20,7 @@ mkDerivation {
     kwidgetsaddons kitemviews kio kwindowsystem plasma-framework qtdeclarative
   ];
   outputs = [ "out" "dev" ];
+  # Fix build with cups deprecations etc.
+  # See: https://github.com/NixOS/nixpkgs/issues/73334
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=format-security";
 }
diff --git a/nixpkgs/pkgs/applications/kde/rocs.nix b/nixpkgs/pkgs/applications/kde/rocs.nix
new file mode 100644
index 000000000000..feae7ca81dec
--- /dev/null
+++ b/nixpkgs/pkgs/applications/kde/rocs.nix
@@ -0,0 +1,25 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, boost,
+  qtbase, qtscript, qtquickcontrols, qtwebkit, qtxmlpatterns, grantlee,
+  kdoctools, karchive, kxmlgui, kcrash, kdeclarative, ktexteditor, kguiaddons
+}:
+
+mkDerivation {
+  name = "rocs";
+
+  meta = with lib; {
+    homepage = "https://edu.kde.org/rocs/";
+    description = "A graph theory IDE.";
+    license = with licenses; [ gpl2 lgpl21 fdl12 ];
+    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ knairda ];
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    boost
+    qtbase qtscript qtquickcontrols qtwebkit qtxmlpatterns grantlee
+    kxmlgui kcrash kdeclarative karchive ktexteditor kguiaddons
+  ];
+}
diff --git a/nixpkgs/pkgs/applications/kde/spectacle.nix b/nixpkgs/pkgs/applications/kde/spectacle.nix
index 58eb288f6cc2..2d46b3cdaab3 100644
--- a/nixpkgs/pkgs/applications/kde/spectacle.nix
+++ b/nixpkgs/pkgs/applications/kde/spectacle.nix
@@ -4,7 +4,7 @@
   ki18n, xcb-util-cursor,
   kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins,
   knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
-  qtx11extras, knewstuff, qttools
+  qtx11extras, knewstuff, kwayland, qttools
 }:
 
 mkDerivation {
@@ -14,7 +14,7 @@ mkDerivation {
   buildInputs = [
     kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
     kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor
-    knewstuff
+    knewstuff kwayland
   ];
   postPatch = ''
     substituteInPlace desktop/org.kde.spectacle.desktop \
diff --git a/nixpkgs/pkgs/applications/kde/srcs.nix b/nixpkgs/pkgs/applications/kde/srcs.nix
index 9e5346be9cd5..8d199a291c44 100644
--- a/nixpkgs/pkgs/applications/kde/srcs.nix
+++ b/nixpkgs/pkgs/applications/kde/srcs.nix
@@ -3,1739 +3,1739 @@
 
 {
   akonadi = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-19.08.1.tar.xz";
-      sha256 = "32233b59c696a5053f2ee4b7368804635a04e2a5f6d3605848eadafa0306c44d";
-      name = "akonadi-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-19.08.3.tar.xz";
+      sha256 = "cfdfa4767b1bd420c7979cf5125cc56d3926181f8484dc39ecd84a9e0808ee6c";
+      name = "akonadi-19.08.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-calendar-19.08.1.tar.xz";
-      sha256 = "5e8c66d4c86e6458469dbb393458ee8b5e6afc1b4712ce8395709d4226864d6c";
-      name = "akonadi-calendar-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-calendar-19.08.3.tar.xz";
+      sha256 = "1ec66241551b0bd3e2cabd2df1547e3622b3c74e0ddaec535b5666141180a094";
+      name = "akonadi-calendar-19.08.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-calendar-tools-19.08.1.tar.xz";
-      sha256 = "033fae40bcbdcfa52981026f783b7cc8fecde384d6683747cd3f307bd43b2570";
-      name = "akonadi-calendar-tools-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-calendar-tools-19.08.3.tar.xz";
+      sha256 = "539bef47c9586f1edb87cedf63cce140dab4f19b6a94fbe08b0cd4c083cf6ffc";
+      name = "akonadi-calendar-tools-19.08.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadiconsole-19.08.1.tar.xz";
-      sha256 = "9a0f88903757eaf0d3271d4438b3a170640b7cb01a7b2f0fbf10a75fa0093184";
-      name = "akonadiconsole-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadiconsole-19.08.3.tar.xz";
+      sha256 = "37253a4b56afc34e52a05b58f63d1cdce221a11432c713f159b5c033a6018947";
+      name = "akonadiconsole-19.08.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-contacts-19.08.1.tar.xz";
-      sha256 = "f182883b4cc16034a798feb966df268e84d9c5b8d3c6e14d5698f7ead85a21d7";
-      name = "akonadi-contacts-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-contacts-19.08.3.tar.xz";
+      sha256 = "a95ff2621e198e2685b7cd591e39437e68b5670cd710ce06088bd16618d281df";
+      name = "akonadi-contacts-19.08.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-import-wizard-19.08.1.tar.xz";
-      sha256 = "d66088ded8917f6034de8981ce71d5d0e1808f6d58f7fdb7e0a806ff0834e27b";
-      name = "akonadi-import-wizard-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-import-wizard-19.08.3.tar.xz";
+      sha256 = "1a11207826ecc59af73ca2dae1b6299a6cd9c71c093e634043295747ba8f6553";
+      name = "akonadi-import-wizard-19.08.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-mime-19.08.1.tar.xz";
-      sha256 = "0a4f4652a665229b290431adb59940890effba0804fe33a0e79a24322f90b35c";
-      name = "akonadi-mime-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-mime-19.08.3.tar.xz";
+      sha256 = "e779a2b73b628702aec52b1d4345533f54f06624915b193766af3ef6a16d030f";
+      name = "akonadi-mime-19.08.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-notes-19.08.1.tar.xz";
-      sha256 = "44896f17fc2f625f9fc8c77690acd787291c5e08e8261c5d113c94045bd5bdd8";
-      name = "akonadi-notes-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-notes-19.08.3.tar.xz";
+      sha256 = "7c701d8a032161f9a58a55dd7e71a9a261fed8044ddc59d6d5f04bb742801b65";
+      name = "akonadi-notes-19.08.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akonadi-search-19.08.1.tar.xz";
-      sha256 = "c68387f3452bcd390f1c99549531c72d95db0def29d8ba10330e68891b0d0b53";
-      name = "akonadi-search-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-search-19.08.3.tar.xz";
+      sha256 = "3a04a82b7f13aad0a5c283931b347a951b8b4bf299bfc6f8cdbc5ba299d01f9b";
+      name = "akonadi-search-19.08.3.tar.xz";
     };
   };
   akregator = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/akregator-19.08.1.tar.xz";
-      sha256 = "b73fcf1c509398ff496864f0105491792b5b15f37c52f9a8ca74ca254a75494a";
-      name = "akregator-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akregator-19.08.3.tar.xz";
+      sha256 = "c3aab6ebba25eab8c76b113a900af33a90222257f957650d0bbc0c47d5cf4bc9";
+      name = "akregator-19.08.3.tar.xz";
     };
   };
   analitza = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/analitza-19.08.1.tar.xz";
-      sha256 = "f963a8abe31d4c0d2b0e0a7e78ec78ced8eb7a0af60df1620ccc2f2409df6a91";
-      name = "analitza-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/analitza-19.08.3.tar.xz";
+      sha256 = "9247172f3ffbc0fd3308b4b40f5d76eaa2a5012dc49525c3087caf5cdfc1513e";
+      name = "analitza-19.08.3.tar.xz";
     };
   };
   ark = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ark-19.08.1.tar.xz";
-      sha256 = "b5638bc4559d775d0a0c2aee022cadc021543bf92e8be6b9b803c50e7e7f1835";
-      name = "ark-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ark-19.08.3.tar.xz";
+      sha256 = "bc1fcd84632c628a10e8536d56b65a7acbd4235ed0e034fec864b78bdc36f8f1";
+      name = "ark-19.08.3.tar.xz";
     };
   };
   artikulate = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/artikulate-19.08.1.tar.xz";
-      sha256 = "856488a4914ae0cfa594106b4d5c7b5ffd996b009075dfa009ab9cdd2cbc2f9d";
-      name = "artikulate-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/artikulate-19.08.3.tar.xz";
+      sha256 = "99831d51bf8cb4032ba9af7c4ae0712f7b3668b7c51bce8f942808c1e5e42f85";
+      name = "artikulate-19.08.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/audiocd-kio-19.08.1.tar.xz";
-      sha256 = "e072ed20f07fe246267b3e7c459812fe63d94125a1d2fbcda1c0403e9fe0a520";
-      name = "audiocd-kio-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/audiocd-kio-19.08.3.tar.xz";
+      sha256 = "98d836def762b839b9636acc540158d5b4789a84d1bdb535ae139b10e9e144a4";
+      name = "audiocd-kio-19.08.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/baloo-widgets-19.08.1.tar.xz";
-      sha256 = "83429a70de735edc4714dc1b6f1a5a8c7d3d68a93165e98d2cadeecafa82af7b";
-      name = "baloo-widgets-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/baloo-widgets-19.08.3.tar.xz";
+      sha256 = "edb9284b1a7d73b0c824390aa875593650880eb77c2680a2942c9fd65f436a2d";
+      name = "baloo-widgets-19.08.3.tar.xz";
     };
   };
   blinken = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/blinken-19.08.1.tar.xz";
-      sha256 = "dbe7b13bc6cad69f049f9eefa56f99012bc0906233193bf951477b3f5c8eb87e";
-      name = "blinken-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/blinken-19.08.3.tar.xz";
+      sha256 = "620fe5ffb656f829a7ca72a2df40c19ff0562e3700f51bd66b7d8a6a486ed3c9";
+      name = "blinken-19.08.3.tar.xz";
     };
   };
   bomber = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/bomber-19.08.1.tar.xz";
-      sha256 = "750110da07a1e316e2a55d043a0e988c91e6e57866b941a5cce1b6f569096f4f";
-      name = "bomber-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/bomber-19.08.3.tar.xz";
+      sha256 = "3a0ef6ca5a05253b1554218a1dc699c5547a073da5cecdf75445e0f72b687fd3";
+      name = "bomber-19.08.3.tar.xz";
     };
   };
   bovo = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/bovo-19.08.1.tar.xz";
-      sha256 = "0d923b6b0eaf2ffd7a1eca833d1f110cc6fdaade3b11d07e8fa53a244a778658";
-      name = "bovo-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/bovo-19.08.3.tar.xz";
+      sha256 = "2f950820ebdb52f1c81476b36b5ea07808fe8da154e7757a85ca8ac2c1b37735";
+      name = "bovo-19.08.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/calendarsupport-19.08.1.tar.xz";
-      sha256 = "74d1b19a924f2aad7f5a034a7e3b11f2ed5bb94cd21458f0255a64ac6163de97";
-      name = "calendarsupport-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/calendarsupport-19.08.3.tar.xz";
+      sha256 = "2406dd3387383cc58eb0e6f10bf50cc1b206c75096c6c6af27c1102c6d818ec3";
+      name = "calendarsupport-19.08.3.tar.xz";
     };
   };
   cantor = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/cantor-19.08.1.tar.xz";
-      sha256 = "93b43426c3383718e6ff7b62f073e3c39371a519b98e890c2b7c15cb5086c039";
-      name = "cantor-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/cantor-19.08.3.tar.xz";
+      sha256 = "5b0f0b0b3990c83a927d2545baa9596119025dbf25242a9d46b1c76a26fcbfe5";
+      name = "cantor-19.08.3.tar.xz";
     };
   };
   cervisia = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/cervisia-19.08.1.tar.xz";
-      sha256 = "726c8d4bd942280e08891e15e47d0a0a88ee951addb3c10e1e9955fad2794b7f";
-      name = "cervisia-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/cervisia-19.08.3.tar.xz";
+      sha256 = "bf156c080f000b342f81e7a8450d6ca942627e5a08cc5ac9c02fc5b44d1f37a7";
+      name = "cervisia-19.08.3.tar.xz";
     };
   };
   dolphin = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/dolphin-19.08.1.tar.xz";
-      sha256 = "a612dac0cf50301af46ad5fa29aad630bb33a8a4bd416a4d6023b65fb00f25cc";
-      name = "dolphin-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dolphin-19.08.3.tar.xz";
+      sha256 = "de71f52324c15d692448ac4c79c1e0fcf35df5c03349a8bcbebfae20d9f69d4e";
+      name = "dolphin-19.08.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/dolphin-plugins-19.08.1.tar.xz";
-      sha256 = "ce2452d9f878dfcff45739ff9eb4a3bde69c449c36182dee6b768f362e75ae2e";
-      name = "dolphin-plugins-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dolphin-plugins-19.08.3.tar.xz";
+      sha256 = "82860ef615954e94f3f382ad60fb144fcfcf7777b8a890f281c0cce55da13a55";
+      name = "dolphin-plugins-19.08.3.tar.xz";
     };
   };
   dragon = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/dragon-19.08.1.tar.xz";
-      sha256 = "b015dbba4b8278a4987164f12a9d9e42745d2eb1772da8b8b0c849b28ba03c90";
-      name = "dragon-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dragon-19.08.3.tar.xz";
+      sha256 = "f9172f6ddf75cf8e4be19d50f80994d59545fdea966674fb67abe7a7c934810a";
+      name = "dragon-19.08.3.tar.xz";
     };
   };
   eventviews = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/eventviews-19.08.1.tar.xz";
-      sha256 = "a44d82e774017171f2eef3ef94b3c5b2765ce08fab5eec0a87b286fd5ea815f7";
-      name = "eventviews-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/eventviews-19.08.3.tar.xz";
+      sha256 = "3c110fb5001e71d664aaa3b09a3689c0bb16ca12ee169e98f6ff454a0ee81ba4";
+      name = "eventviews-19.08.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ffmpegthumbs-19.08.1.tar.xz";
-      sha256 = "527ef798db833e71e2faf315fc89596716bd2bd7d11c78bc1bb2ef9b1549a71b";
-      name = "ffmpegthumbs-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ffmpegthumbs-19.08.3.tar.xz";
+      sha256 = "c91ad8e83df474971cf9766f2398e88e45d02dd2e51a7a794ace02f22c38c0f0";
+      name = "ffmpegthumbs-19.08.3.tar.xz";
     };
   };
   filelight = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/filelight-19.08.1.tar.xz";
-      sha256 = "170e633e0d2f8c9b13cccfd5957590100be435f9e7258e84c6f15fabc636768e";
-      name = "filelight-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/filelight-19.08.3.tar.xz";
+      sha256 = "95fa38574292a2aa8d3d90749fbbb61c5005889ef1df1aaa04d2d789bbf4fb00";
+      name = "filelight-19.08.3.tar.xz";
     };
   };
   granatier = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/granatier-19.08.1.tar.xz";
-      sha256 = "3015a25f961ae3d746db2814a322bfb204e4e39cd95145fbf2aa819f1dc0417e";
-      name = "granatier-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/granatier-19.08.3.tar.xz";
+      sha256 = "eac24bb0b0bcf7e12e4059187e0fd542503bae620637a4f35a339e6f63ab3890";
+      name = "granatier-19.08.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/grantlee-editor-19.08.1.tar.xz";
-      sha256 = "77661ac1d125349cd3439d130164ad172f0022376d6c6038c860c0440939e52c";
-      name = "grantlee-editor-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/grantlee-editor-19.08.3.tar.xz";
+      sha256 = "4d81e56ee89bf8ff19ba112b2ecaf6080b7fbc6768030b4dbb4f15a1099a5bce";
+      name = "grantlee-editor-19.08.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/grantleetheme-19.08.1.tar.xz";
-      sha256 = "61ec8f4902573727d5a292ba55c3663b267d3b1b8017c003ac3445164c2627cb";
-      name = "grantleetheme-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/grantleetheme-19.08.3.tar.xz";
+      sha256 = "ab1b0f55399c520191cf1241d85881e3f5b441ee82b387e7fbef55e77dc0e748";
+      name = "grantleetheme-19.08.3.tar.xz";
     };
   };
   gwenview = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/gwenview-19.08.1.tar.xz";
-      sha256 = "1ed46507ea30c43e4672b51996ac413683a863978999be91a9df135f9369f3cb";
-      name = "gwenview-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/gwenview-19.08.3.tar.xz";
+      sha256 = "7e7ad69eaa7a6b2d0549e94d1dab0d012107c822d66483d54aa8268900820255";
+      name = "gwenview-19.08.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/incidenceeditor-19.08.1.tar.xz";
-      sha256 = "591781da9b3bc4b0f366ffa8de658aa31f48e1f435a434669b7c11b5f3a55403";
-      name = "incidenceeditor-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/incidenceeditor-19.08.3.tar.xz";
+      sha256 = "e6753efc2841a5b0b63a2b02f07c5b77274214576e5e9fc66b962b18c516266d";
+      name = "incidenceeditor-19.08.3.tar.xz";
     };
   };
   juk = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/juk-19.08.1.tar.xz";
-      sha256 = "f91de1fa697fba3fe73a086b0f3c254959fbceb769d3752353ee2078b86611f9";
-      name = "juk-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/juk-19.08.3.tar.xz";
+      sha256 = "6ef343b31b4b996d3a576e91a8a0b57b55b61ed76e9ddc51c5072a6243cb3030";
+      name = "juk-19.08.3.tar.xz";
     };
   };
   k3b = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/k3b-19.08.1.tar.xz";
-      sha256 = "8995f39457932fb6597f0f6124e0dfe09ecb2a25a6ec8506ce3ef870da293749";
-      name = "k3b-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/k3b-19.08.3.tar.xz";
+      sha256 = "197ea67fa9ef66f8ee084608fd1907e2b3db108eec643d5bd6a0980f838f2b23";
+      name = "k3b-19.08.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kaccounts-integration-19.08.1.tar.xz";
-      sha256 = "7436bb0c8e024122d7137971749ef975878dee557befa4b95bc02ce0801a8450";
-      name = "kaccounts-integration-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaccounts-integration-19.08.3.tar.xz";
+      sha256 = "9106718c3ac8beeb11dc8a8d2ad53c7cc4a364ab6246ca9a24ea05dfe7415723";
+      name = "kaccounts-integration-19.08.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kaccounts-providers-19.08.1.tar.xz";
-      sha256 = "ce885be3c0d59b7f65373fbadc8ff4510998f9067d3a7c96dc1eb05df78b071b";
-      name = "kaccounts-providers-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaccounts-providers-19.08.3.tar.xz";
+      sha256 = "55093c9ab5e001f126e86e1dbf55209c5f6365d9aad392cf506eab6a95d59a23";
+      name = "kaccounts-providers-19.08.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kaddressbook-19.08.1.tar.xz";
-      sha256 = "8091a3bd77ec17757386d71a98a0ef2b6d68e35ca2f9f9b71e4e36c2a3cce5c9";
-      name = "kaddressbook-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaddressbook-19.08.3.tar.xz";
+      sha256 = "e343187628af4b6142cc7177ea67a3460b6f2b96c608a5b4bd469f2d314bf4ae";
+      name = "kaddressbook-19.08.3.tar.xz";
     };
   };
   kajongg = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kajongg-19.08.1.tar.xz";
-      sha256 = "ae40b7ceb7c591f8d92371e3c7584eeae0d84e4680927834eca7ffacd5b9bbf6";
-      name = "kajongg-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kajongg-19.08.3.tar.xz";
+      sha256 = "dcf4738fb312762363caa88f9e26e7f7ab2102ad29ce938b71ed36177fb98662";
+      name = "kajongg-19.08.3.tar.xz";
     };
   };
   kalarm = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kalarm-19.08.1.tar.xz";
-      sha256 = "9eb7c6b160e82ae8d5d294ebd781ef2ac5579e556a564c70598c08925e2021fa";
-      name = "kalarm-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalarm-19.08.3.tar.xz";
+      sha256 = "34d73be35b0cdf6189bf3792e939fa9557bffff8271966d9fc49217e488317e8";
+      name = "kalarm-19.08.3.tar.xz";
     };
   };
   kalarmcal = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kalarmcal-19.08.1.tar.xz";
-      sha256 = "add9ee09287491236c9a25cfcb32d437845d094d8fef3682954f561dc2917984";
-      name = "kalarmcal-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalarmcal-19.08.3.tar.xz";
+      sha256 = "f6e9d0c99d228fc922e52ae3ddb33f2b691290e58a48edc816de72fc44d73871";
+      name = "kalarmcal-19.08.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kalgebra-19.08.1.tar.xz";
-      sha256 = "c9859e0b2b847652007a3244bc658f7e160fe88fc70ea7da6e60f003f54f46c9";
-      name = "kalgebra-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalgebra-19.08.3.tar.xz";
+      sha256 = "7832584a161c2f611ce980ad98932533c998d37e6e4e2b7afbd0b4e98ce88a65";
+      name = "kalgebra-19.08.3.tar.xz";
     };
   };
   kalzium = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kalzium-19.08.1.tar.xz";
-      sha256 = "2519866172476bec297e9d02ff917b1c676b980edc2f20a9c3297bc255e045f0";
-      name = "kalzium-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalzium-19.08.3.tar.xz";
+      sha256 = "5dc3423a0f2646b59233f92b6a6e81b4a0bcdb819aa543c83270fe4cc5592933";
+      name = "kalzium-19.08.3.tar.xz";
     };
   };
   kamera = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kamera-19.08.1.tar.xz";
-      sha256 = "109a030ef55b941758e8d4a58b2abed4c5e1bb7e13e8d239b7132867c801acf5";
-      name = "kamera-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kamera-19.08.3.tar.xz";
+      sha256 = "93a8a3dc6c4927b28a6ee0f09f1709e67f5bc38281b3775390513f2e69086942";
+      name = "kamera-19.08.3.tar.xz";
     };
   };
   kamoso = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kamoso-19.08.1.tar.xz";
-      sha256 = "76d7a9ea70646f8e86e912b72bd9f9ab42711f0cd53c7bed1403a274de036675";
-      name = "kamoso-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kamoso-19.08.3.tar.xz";
+      sha256 = "437ddca6849ff3ad964737794ab8d22f8d152ad4aa9172dd838c77c59fc81448";
+      name = "kamoso-19.08.3.tar.xz";
     };
   };
   kanagram = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kanagram-19.08.1.tar.xz";
-      sha256 = "85ba60dc1485f61054847262832edd112224a618effe8759a2dcc8ee73b130a6";
-      name = "kanagram-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kanagram-19.08.3.tar.xz";
+      sha256 = "74f7daaed8db4f2b445479307dbe974d3f3f1c8197ab8604712e109c8a4d36d2";
+      name = "kanagram-19.08.3.tar.xz";
     };
   };
   kapman = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kapman-19.08.1.tar.xz";
-      sha256 = "e80057b4fa9b8af86ecae30871005d4c7508bbc99618cf36dcf1c9c7fa905321";
-      name = "kapman-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kapman-19.08.3.tar.xz";
+      sha256 = "0edc811df5d4e729851e4af980fb414d70af66218091c017c16054a5181af80e";
+      name = "kapman-19.08.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kapptemplate-19.08.1.tar.xz";
-      sha256 = "c1e5d239ce3749e72bcce30dfc8c0a12c3d347b72a2566caa0d23dcc930499a2";
-      name = "kapptemplate-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kapptemplate-19.08.3.tar.xz";
+      sha256 = "23776b6b56e97fac0d8372d856a6fc9014b057f98ad5a96298b0685943c3da2a";
+      name = "kapptemplate-19.08.3.tar.xz";
     };
   };
   kate = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kate-19.08.1.tar.xz";
-      sha256 = "5389e1620a7eb8d7bab7396ee0db1a886fbdd44c8415291db6a917e89dcc77b7";
-      name = "kate-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kate-19.08.3.tar.xz";
+      sha256 = "ab9f076e7e825fca64252b366e637e34157f1f875aa573bdae333fc240e0ec71";
+      name = "kate-19.08.3.tar.xz";
     };
   };
   katomic = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/katomic-19.08.1.tar.xz";
-      sha256 = "05453f2a1cba1a9bb7c558e9628361685d9b9b44fc4d65599eb05fec6ca3bd5d";
-      name = "katomic-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/katomic-19.08.3.tar.xz";
+      sha256 = "a02df5d0d03fdd478ead1ba705089514b6debfae553be8d814edfb6952149eac";
+      name = "katomic-19.08.3.tar.xz";
     };
   };
   kbackup = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kbackup-19.08.1.tar.xz";
-      sha256 = "93ec83cdb8cb1ad28f444f85aaec2270fbbf3108b3ce0cf22f42a737e0f9cc59";
-      name = "kbackup-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbackup-19.08.3.tar.xz";
+      sha256 = "c71156528087e0c799b4c957b6525b85763bdeb35ebc58ba480878f2f0daf97d";
+      name = "kbackup-19.08.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kblackbox-19.08.1.tar.xz";
-      sha256 = "478b235e9498e9c5bf1c3626db651c85cf41bdd824dec484bccd38f6e73ffcc7";
-      name = "kblackbox-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblackbox-19.08.3.tar.xz";
+      sha256 = "16f885a5baa0ee593c85f745246f2b3af9106a3befb0c9b7aa8695e3aed382f4";
+      name = "kblackbox-19.08.3.tar.xz";
     };
   };
   kblocks = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kblocks-19.08.1.tar.xz";
-      sha256 = "15afc3b7083fc1ea08d6caa196d883a6ec7f9603302b5774c7ad97eea833f449";
-      name = "kblocks-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblocks-19.08.3.tar.xz";
+      sha256 = "9d2553472a3f61e1be584bed2d9295a60b8074fdcd264213d67dc20f63033563";
+      name = "kblocks-19.08.3.tar.xz";
     };
   };
   kblog = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kblog-19.08.1.tar.xz";
-      sha256 = "e1926ebfb352f6b8c35963fdece240b03be8d3ec094cee46ba694e2869c85cae";
-      name = "kblog-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblog-19.08.3.tar.xz";
+      sha256 = "7b030a13c79a6add2b6f46b840e347609b39099c937d5bc5fb9310e2da987164";
+      name = "kblog-19.08.3.tar.xz";
     };
   };
   kbounce = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kbounce-19.08.1.tar.xz";
-      sha256 = "e3d67ab3fac471b07a45abbcd78d02912392ad3f25e9d48b70a050bfda4a5fb0";
-      name = "kbounce-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbounce-19.08.3.tar.xz";
+      sha256 = "21e4bc2e2f3c23d4b954c8b336aab9faa5ba6021ca1487baf39595ff31d82e0b";
+      name = "kbounce-19.08.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kbreakout-19.08.1.tar.xz";
-      sha256 = "1f086f6794b40c6054f0c00d7fbebecea845f2ee7e7e3253efe33942f4ebe19e";
-      name = "kbreakout-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbreakout-19.08.3.tar.xz";
+      sha256 = "1c49d80dcbaa7745932c6b64c520072099e66767e8d1f725a332f79a7ee89f3f";
+      name = "kbreakout-19.08.3.tar.xz";
     };
   };
   kbruch = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kbruch-19.08.1.tar.xz";
-      sha256 = "74b387e6eafc5fac8b7a75df6f8d61a2b4b0380a82b5c43f3a10c9b75855318f";
-      name = "kbruch-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbruch-19.08.3.tar.xz";
+      sha256 = "9674aba5a6683e418ed03cc011e3817eb28418538dd9200a808f9813e5112dfc";
+      name = "kbruch-19.08.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcachegrind-19.08.1.tar.xz";
-      sha256 = "e677f82e5527caecb0cdacad3f001665c40ba9e6a542a6a4d91fb898b45026c1";
-      name = "kcachegrind-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcachegrind-19.08.3.tar.xz";
+      sha256 = "8fc5e0643bb826b07cb5d283b8bd6fd5da4979f6125b43b1db3a9db60b02a36a";
+      name = "kcachegrind-19.08.3.tar.xz";
     };
   };
   kcalc = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcalc-19.08.1.tar.xz";
-      sha256 = "7b3c110a97b851e8db03302484cadc59a59ec8378501ee61dd094ac2c7caa203";
-      name = "kcalc-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalc-19.08.3.tar.xz";
+      sha256 = "7c61d96bcd45621d021ae8a56224dcf81999cb14ab7b1d7976a47eee2be25d2e";
+      name = "kcalc-19.08.3.tar.xz";
     };
   };
   kcalcore = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcalcore-19.08.1.tar.xz";
-      sha256 = "8c1bbd8e7673907de2c3682cbc1c4fe4a165cbe0b9a2fe399c4b0ae73894228a";
-      name = "kcalcore-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalcore-19.08.3.tar.xz";
+      sha256 = "86d0467d3929eb6471507cbc790277968eb8f0aa4449e1b3ee8ecc555d32dbaa";
+      name = "kcalcore-19.08.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcalutils-19.08.1.tar.xz";
-      sha256 = "b0f17fd7ced68d03666038ee97e6ca96bd504fc8b7f0ae9b53443cefb57558d7";
-      name = "kcalutils-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalutils-19.08.3.tar.xz";
+      sha256 = "821742c98dd55a1334c13ea9d59e177ade048b1d3ade4775803eb288c98c93da";
+      name = "kcalutils-19.08.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcharselect-19.08.1.tar.xz";
-      sha256 = "8b5c418e9b35a12eeaa1ebf7834f2a13613926e824699e13214fe35276c42457";
-      name = "kcharselect-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcharselect-19.08.3.tar.xz";
+      sha256 = "f294965fc7cf8b1063b611233a98fab13a00263f1d4fd254fb8b53b3f125bc52";
+      name = "kcharselect-19.08.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcolorchooser-19.08.1.tar.xz";
-      sha256 = "a36cccbbf5dda16c0d97bff2ce415e678481fee5c2a7640b2c2db2f0ea7c70cb";
-      name = "kcolorchooser-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcolorchooser-19.08.3.tar.xz";
+      sha256 = "0c3d45ceb9029f0d316e61b3f403838b4c7de82a3211a231b539e6755386c657";
+      name = "kcolorchooser-19.08.3.tar.xz";
     };
   };
   kcontacts = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcontacts-19.08.1.tar.xz";
-      sha256 = "020177eb155d3df44314e89da1824916d125aab48131fce76c2131b40eae8f39";
-      name = "kcontacts-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcontacts-19.08.3.tar.xz";
+      sha256 = "17778fc501f9de9b5c8c58b57aebb09c4be088bcd9aefa5fc9afbd92f2e5626c";
+      name = "kcontacts-19.08.3.tar.xz";
     };
   };
   kcron = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kcron-19.08.1.tar.xz";
-      sha256 = "e60eb14cb2aef0b0398088930102d68817c96a83c54895af6626693fc18c7ed9";
-      name = "kcron-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcron-19.08.3.tar.xz";
+      sha256 = "b2270bb3390570ee49b887e5cda1c596c351fd0cd83183f091ef1b078fa55669";
+      name = "kcron-19.08.3.tar.xz";
     };
   };
   kdav = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdav-19.08.1.tar.xz";
-      sha256 = "38f34f39e165ba3a843acbc9efc3296c111a6bfa8c5ba23e1f55f98860b84d41";
-      name = "kdav-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdav-19.08.3.tar.xz";
+      sha256 = "e85a0a8dcfdccc1dc0afaee364c45d57c6807fadb6926ae1a5afc54c4fb0a9f0";
+      name = "kdav-19.08.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdebugsettings-19.08.1.tar.xz";
-      sha256 = "4195a000558b56d849eb6e79880c5140fc30cd8b0657d4a9932035434f4c2649";
-      name = "kdebugsettings-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdebugsettings-19.08.3.tar.xz";
+      sha256 = "10ccbc85c36a81ba7fdf3230f16c3b9974d240d17347d21aa7b67e9b5f85c78d";
+      name = "kdebugsettings-19.08.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kde-dev-scripts-19.08.1.tar.xz";
-      sha256 = "36af795eaa175f142556949fa4cc678a6d3fdad3607d169877d94bea785850d1";
-      name = "kde-dev-scripts-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kde-dev-scripts-19.08.3.tar.xz";
+      sha256 = "c7998753f67c6efbe818ca1f96c5681c7abe3078ce6beeb307562309ca243c28";
+      name = "kde-dev-scripts-19.08.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kde-dev-utils-19.08.1.tar.xz";
-      sha256 = "c529bb33dbd3b80e5c4737c3be0d17e88901ece48d3b19e61c8c14adab60177c";
-      name = "kde-dev-utils-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kde-dev-utils-19.08.3.tar.xz";
+      sha256 = "82a573941c1a99480294fe3e8658440da64e652eb62e2a7354751894a6a899e2";
+      name = "kde-dev-utils-19.08.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdeedu-data-19.08.1.tar.xz";
-      sha256 = "107dff744219210c732aa007d97c8c8d8e87cff5cd446d987b8ac2600ea1f1b7";
-      name = "kdeedu-data-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdeedu-data-19.08.3.tar.xz";
+      sha256 = "dfdbe10415247bdd1b6926f6fcea943d13c6e0a1ab1a562aac6e0b7109420286";
+      name = "kdeedu-data-19.08.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdegraphics-mobipocket-19.08.1.tar.xz";
-      sha256 = "b1760e3a22869715881f571c0bc79c1b91876e41f508a5ba53659be774a6628c";
-      name = "kdegraphics-mobipocket-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdegraphics-mobipocket-19.08.3.tar.xz";
+      sha256 = "d9ea38255c967dcf0de820e6ad663e721188f5541c18c459e611f6d72ddc8e8f";
+      name = "kdegraphics-mobipocket-19.08.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdegraphics-thumbnailers-19.08.1.tar.xz";
-      sha256 = "86a81ff786168778cbe0ad7c185320dbf052b1df2e6269f14323df04b48ed2ff";
-      name = "kdegraphics-thumbnailers-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdegraphics-thumbnailers-19.08.3.tar.xz";
+      sha256 = "14d342336e92b3913d46a415da9fcf53d239f0ceb16aed99c1e095641ce6ddb4";
+      name = "kdegraphics-thumbnailers-19.08.3.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdenetwork-filesharing-19.08.1.tar.xz";
-      sha256 = "b7d229d06926ad53dcffd4508fde70060260a03cdfc6b59551f5ea551274bdac";
-      name = "kdenetwork-filesharing-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdenetwork-filesharing-19.08.3.tar.xz";
+      sha256 = "4074d996c693bdd69fd88e6f2acede79c05b2eceef1d3ed81f311247640ef366";
+      name = "kdenetwork-filesharing-19.08.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdenlive-19.08.1.tar.xz";
-      sha256 = "0d19c0d24e16518fd3b57eddffeb7d004723942889bd62e869749f02a1dcc036";
-      name = "kdenlive-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdenlive-19.08.3.tar.xz";
+      sha256 = "64ab3cf06222b95f021941d8c430c70918c04c3ea988f7ccf5ef87c6b69b4465";
+      name = "kdenlive-19.08.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdepim-addons-19.08.1.tar.xz";
-      sha256 = "eff8e21ae66bf99a33c946886e7d84f5d717b123b06f86e891c9528858b9ec32";
-      name = "kdepim-addons-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-addons-19.08.3.tar.xz";
+      sha256 = "8c85cec6b827da6025364ec6bbccdf2ab22c73380933aed69cf3c86be52cff24";
+      name = "kdepim-addons-19.08.3.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdepim-apps-libs-19.08.1.tar.xz";
-      sha256 = "40a265cde8770a3fd6181b656da49d460dc67ed06d175067da0092116cd9862e";
-      name = "kdepim-apps-libs-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-apps-libs-19.08.3.tar.xz";
+      sha256 = "3c478455a0f4704aa4f8a42e92f0657e01b749c568dc6e89bfae5496eefeab83";
+      name = "kdepim-apps-libs-19.08.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdepim-runtime-19.08.1.tar.xz";
-      sha256 = "d7dd6c0108f6c7a37dc1ac0d7b9449664c76ecd3ca4f303f3a1b214862a4b20e";
-      name = "kdepim-runtime-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-runtime-19.08.3.tar.xz";
+      sha256 = "2673967456b7eacbd69ca678761e479bfa65a0ec6455c86b3a83c76d766a71ea";
+      name = "kdepim-runtime-19.08.3.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdesdk-kioslaves-19.08.1.tar.xz";
-      sha256 = "4bf6d32a33f53b7668313d0e5be81568934b8309f86c9554b25e9346344b2051";
-      name = "kdesdk-kioslaves-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdesdk-kioslaves-19.08.3.tar.xz";
+      sha256 = "cd957c67712616b9c7f00c8d733f723d98779c5805561770970bb3e2173478e0";
+      name = "kdesdk-kioslaves-19.08.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdesdk-thumbnailers-19.08.1.tar.xz";
-      sha256 = "3da4aa540435fbc848bfc4f1b39f37145072e0856da31b4f5ac3d89719308f03";
-      name = "kdesdk-thumbnailers-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdesdk-thumbnailers-19.08.3.tar.xz";
+      sha256 = "62757c71653d9a9541410104f13035b024e8bab7b21b729a306cb2ac445db8ac";
+      name = "kdesdk-thumbnailers-19.08.3.tar.xz";
     };
   };
   kdf = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdf-19.08.1.tar.xz";
-      sha256 = "2aedb0a4f64d2417728b67e4a289488b59153683d5dd15bca259a64f9c51325e";
-      name = "kdf-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdf-19.08.3.tar.xz";
+      sha256 = "eef733c2089ce8fc40405653fa5e3aaafe67a1cc5d074f744e49b185291c0617";
+      name = "kdf-19.08.3.tar.xz";
     };
   };
   kdialog = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdialog-19.08.1.tar.xz";
-      sha256 = "6b2ed8636d50d13104b0029f33b11943d6f7087297ad089d61c76a57d3b425a0";
-      name = "kdialog-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdialog-19.08.3.tar.xz";
+      sha256 = "2fa2e07fb9975e2e32e26a2a17350ef253b93471017e5945a2df0fef2eeba787";
+      name = "kdialog-19.08.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kdiamond-19.08.1.tar.xz";
-      sha256 = "20280e44742d57508b0a0c4a70f7545bdbacf913300ca35f427801b46c808f8e";
-      name = "kdiamond-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdiamond-19.08.3.tar.xz";
+      sha256 = "6a433c8b628f105d210efd5b5532763e09a4e7190d71f8cf11931ab1605abeec";
+      name = "kdiamond-19.08.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/keditbookmarks-19.08.1.tar.xz";
-      sha256 = "f023c7b3d362c19373e3f886300420488ef53835f753c318f9fd9c0bb7e53a8a";
-      name = "keditbookmarks-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/keditbookmarks-19.08.3.tar.xz";
+      sha256 = "ce2e90f24cac8dabe3e3804232715b47e247d51c86699162e2f7f63d1f290b05";
+      name = "keditbookmarks-19.08.3.tar.xz";
     };
   };
   kfind = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kfind-19.08.1.tar.xz";
-      sha256 = "a4910d5a3f2b918090084c776ca16bf1e9ae47ced0c2e4eb2a3d0071204527de";
-      name = "kfind-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfind-19.08.3.tar.xz";
+      sha256 = "6ebb7d361a8456e3a3bc7bac995a0224cd76eefd724ff62ba0d6348f7eb1f4f2";
+      name = "kfind-19.08.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kfloppy-19.08.1.tar.xz";
-      sha256 = "c22864e0dfef37ccb9a5329467b9058a14880e88b54c448b5933b57aa98b021b";
-      name = "kfloppy-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfloppy-19.08.3.tar.xz";
+      sha256 = "aed5533db83513e7ad9d4108920fc0241569d6b1b649d95ef36a36bbc1f72cab";
+      name = "kfloppy-19.08.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kfourinline-19.08.1.tar.xz";
-      sha256 = "a138908ccb21ab16399edf6a0aa6f95d6197a77dfef9e4ed87c8914ceb8d5b84";
-      name = "kfourinline-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfourinline-19.08.3.tar.xz";
+      sha256 = "c35b52b41398616798d75e62fa77488bf84e924e91a432cd1b96b1c09ad1f9ee";
+      name = "kfourinline-19.08.3.tar.xz";
     };
   };
   kgeography = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kgeography-19.08.1.tar.xz";
-      sha256 = "c0c04e902626d52118e81da9fc24fbd87d49d0bcf4ad229f83eef8e4f84fb551";
-      name = "kgeography-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgeography-19.08.3.tar.xz";
+      sha256 = "1f2969db9ed5b9cc3d56a8cc12fa24cdace473edcd05baaf3c7b460fa7b2da8c";
+      name = "kgeography-19.08.3.tar.xz";
     };
   };
   kget = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kget-19.08.1.tar.xz";
-      sha256 = "ecc9cc31f23304baa8c909335db57460460db27fbffb97438c1ed12703c6b9b9";
-      name = "kget-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kget-19.08.3.tar.xz";
+      sha256 = "5a107da8313731114e7b5528f4c0cf6e0ab62867e20a9caa802de23812c69800";
+      name = "kget-19.08.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kgoldrunner-19.08.1.tar.xz";
-      sha256 = "78c284edc000ec3f3f64bcf0d6c92a50f79632804696de676ed149055de7a6f8";
-      name = "kgoldrunner-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgoldrunner-19.08.3.tar.xz";
+      sha256 = "44aec483cbd9d0bffb4eb9606d456ba375cb772fe72ab2c9d76a64930ede2c9b";
+      name = "kgoldrunner-19.08.3.tar.xz";
     };
   };
   kgpg = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kgpg-19.08.1.tar.xz";
-      sha256 = "441a0bfa58df14bad87f5f446b89113dc20365424f6a87aec30125c9221815c5";
-      name = "kgpg-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgpg-19.08.3.tar.xz";
+      sha256 = "85bb9adbd7a7213bdd4913c2153582e938543db49cf2414b8794a850f63f3ab6";
+      name = "kgpg-19.08.3.tar.xz";
     };
   };
   khangman = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/khangman-19.08.1.tar.xz";
-      sha256 = "eb95c48baa57475319f456ee1df11b715e7ceb5b1912e2657a2b1f4617bf2b26";
-      name = "khangman-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/khangman-19.08.3.tar.xz";
+      sha256 = "82e34738f34efef5f03bf98a3a99a0590a5a265cce016b4a2f25ca05e9d078c3";
+      name = "khangman-19.08.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/khelpcenter-19.08.1.tar.xz";
-      sha256 = "ae3243fcdc1281937772a091d902adaba0681abe82c222bf7ef895df0899ab63";
-      name = "khelpcenter-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/khelpcenter-19.08.3.tar.xz";
+      sha256 = "a03817fb16739b1b235dc54ddeda2c2ebc6605a0c7678e02af24c05271c0b77a";
+      name = "khelpcenter-19.08.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kidentitymanagement-19.08.1.tar.xz";
-      sha256 = "3ff41eddf047fb1074473fd028b22ddd0fb467c062918148305f10c2fd74f42e";
-      name = "kidentitymanagement-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kidentitymanagement-19.08.3.tar.xz";
+      sha256 = "6ed512d3b42378a767299660c2b9fe142b840cdaaae70c522104c37275221f37";
+      name = "kidentitymanagement-19.08.3.tar.xz";
     };
   };
   kig = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kig-19.08.1.tar.xz";
-      sha256 = "8b073fd0310e62483a548ada000b4230f2b70dec8ab11ac8303bd64961829675";
-      name = "kig-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kig-19.08.3.tar.xz";
+      sha256 = "69dacdbb10bcefe43e5141b0b33b51ca4704f5a5b933e194a4891be92affd21c";
+      name = "kig-19.08.3.tar.xz";
     };
   };
   kigo = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kigo-19.08.1.tar.xz";
-      sha256 = "7afc2e08192d7e7bf17d67e00aebc498e37b40b47ce78cb7cf2d943a5563817b";
-      name = "kigo-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kigo-19.08.3.tar.xz";
+      sha256 = "2e20837b52550c7c33bd2e5f741a2395a8a1666b793e4b034bd27714177b8502";
+      name = "kigo-19.08.3.tar.xz";
     };
   };
   killbots = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/killbots-19.08.1.tar.xz";
-      sha256 = "16fb2338125d342166e630cf589a346a69874ea1da32c0a3c591d6e17241e05e";
-      name = "killbots-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/killbots-19.08.3.tar.xz";
+      sha256 = "75f5d53eda4dbe96250caa2faa16514d7c68538d7e8c9deea4eff0d80e3628e2";
+      name = "killbots-19.08.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kimagemapeditor-19.08.1.tar.xz";
-      sha256 = "0baa2f3fa5810ab63d08db2d0223af04407bb14e4bda20ad17dbfb6c63f33b3a";
-      name = "kimagemapeditor-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kimagemapeditor-19.08.3.tar.xz";
+      sha256 = "9c69541c774d15ac02164c52c9e4ba523e76e195231bf6db528fd94407347434";
+      name = "kimagemapeditor-19.08.3.tar.xz";
     };
   };
   kimap = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kimap-19.08.1.tar.xz";
-      sha256 = "a4fde0c17fcdbc672b8e7ad6ed727e18b6bc2cc3c7f23857a6b1455d99999bbf";
-      name = "kimap-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kimap-19.08.3.tar.xz";
+      sha256 = "46ca8d265b7191d75db8c6a4d988624385c9ab8eae702a42e6eb4b81be581051";
+      name = "kimap-19.08.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kio-extras-19.08.1.tar.xz";
-      sha256 = "de0ba7f3ce73db34b878cb88e36711d6b31aad57a5a735744330f92920666c52";
-      name = "kio-extras-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kio-extras-19.08.3.tar.xz";
+      sha256 = "e38e872f78ff24fe512ec7ff9ed4f6b6a8e1fef6111fdb0222c133bed0a8861f";
+      name = "kio-extras-19.08.3.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kipi-plugins-19.08.1.tar.xz";
-      sha256 = "6cc8fdc47fbfa5d8b4f9aeb4d82b5f1c9779a300cffbc17f8776dcb2ed61f0e4";
-      name = "kipi-plugins-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kipi-plugins-19.08.3.tar.xz";
+      sha256 = "f540e517421503b54e906633c71c2f688bb920c5aefe7d05a13d0eeaf0356a9b";
+      name = "kipi-plugins-19.08.3.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kirigami-gallery-19.08.1.tar.xz";
-      sha256 = "b981b26fb268448f20077f3e69b3e12f45de91289f5b2026c618cdbff9ec5241";
-      name = "kirigami-gallery-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kirigami-gallery-19.08.3.tar.xz";
+      sha256 = "4ceeb854aa95902effb99cb2e5956a2f237ac3880f5b5d8e22849ed7887288df";
+      name = "kirigami-gallery-19.08.3.tar.xz";
     };
   };
   kiriki = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kiriki-19.08.1.tar.xz";
-      sha256 = "ca22215394b7ea172cd1c5eef301871df2526a321b4f3c6b1aa042d4f15abf7c";
-      name = "kiriki-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kiriki-19.08.3.tar.xz";
+      sha256 = "1ceaea286294d8a5371d0792ee38cf4b8922495587cc430b6b01bd92642be2f5";
+      name = "kiriki-19.08.3.tar.xz";
     };
   };
   kiten = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kiten-19.08.1.tar.xz";
-      sha256 = "01e963fd76c87a631bb5a4f86bc8be624907571c60368e6bf5bdce55cff6b59a";
-      name = "kiten-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kiten-19.08.3.tar.xz";
+      sha256 = "6759463f195c50bdcdb2378a8142d1e00a1cea05b769d95a69d2cfdeb1864601";
+      name = "kiten-19.08.3.tar.xz";
     };
   };
   kitinerary = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kitinerary-19.08.1.tar.xz";
-      sha256 = "f84dafa874c958b335ee80dbe85dce3605b40b83ac9468e6555250da8f480967";
-      name = "kitinerary-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kitinerary-19.08.3.tar.xz";
+      sha256 = "d13e701b8a988999477c030fffe687b4c333a330717a15b72651458f35e6e151";
+      name = "kitinerary-19.08.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kjumpingcube-19.08.1.tar.xz";
-      sha256 = "18c7bc9ab96308a4b874226f92f15da38cbb293372fdae8deec45029d6d31f20";
-      name = "kjumpingcube-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kjumpingcube-19.08.3.tar.xz";
+      sha256 = "a1e6147105a0d467629118bf6cac974a1a698d15f48563e494ce75e126fec734";
+      name = "kjumpingcube-19.08.3.tar.xz";
     };
   };
   kldap = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kldap-19.08.1.tar.xz";
-      sha256 = "b6fb822df67449870fb5c0bfe1adb1bd3d44535e3f2186ef6be286e4a590bd54";
-      name = "kldap-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kldap-19.08.3.tar.xz";
+      sha256 = "b65ba5fefab7ecb92a7d38ac718e53077d9d9a87d73f121e32019aad90b48bae";
+      name = "kldap-19.08.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kleopatra-19.08.1.tar.xz";
-      sha256 = "ef63fbe1a24a24b8c6b491fe19e0bebd9518a2e1340a9dfee7215eb3740369c7";
-      name = "kleopatra-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kleopatra-19.08.3.tar.xz";
+      sha256 = "44b9873fbdeb88416d33b54491b75d35eac1589d70ef70505456e89068eb1caf";
+      name = "kleopatra-19.08.3.tar.xz";
     };
   };
   klettres = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/klettres-19.08.1.tar.xz";
-      sha256 = "9d9616e35f2b82e39916b89a049bee4faca5a4235eb22989c9e8485c7e75239b";
-      name = "klettres-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klettres-19.08.3.tar.xz";
+      sha256 = "205ed817469a72caaf73683c618fcd0800176038345e46555c4c78d644b3a1bf";
+      name = "klettres-19.08.3.tar.xz";
     };
   };
   klickety = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/klickety-19.08.1.tar.xz";
-      sha256 = "cb12f79123e96920b323e752b057f21942aba0844d79e310ad343bda0108b273";
-      name = "klickety-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klickety-19.08.3.tar.xz";
+      sha256 = "7e4509d47c363173630d536b401d8f1ccb7db4c62d75dd4a449e89dc56c9632e";
+      name = "klickety-19.08.3.tar.xz";
     };
   };
   klines = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/klines-19.08.1.tar.xz";
-      sha256 = "e8ac5d344c6b9e6d8a9fa9a0fe7da5ebdceec049fbdc8ff476604a0760877aab";
-      name = "klines-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klines-19.08.3.tar.xz";
+      sha256 = "aaa7825b4bfd61b650ddf28dd975b04cebdb7c09c9b137f17d686570a5212ebc";
+      name = "klines-19.08.3.tar.xz";
     };
   };
   kmag = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmag-19.08.1.tar.xz";
-      sha256 = "28504935665df18246cc6db4288dc2b33f24ed7114007df008f4310ce8792ceb";
-      name = "kmag-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmag-19.08.3.tar.xz";
+      sha256 = "216e5db763f72ff1f4ada339912dc686fa7a6cea0dafc8b9eab35601edabc950";
+      name = "kmag-19.08.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmahjongg-19.08.1.tar.xz";
-      sha256 = "621e30ce5d76ab9f8736cfe13a076501c8822d7d1402d195bfe12c21ffa507c3";
-      name = "kmahjongg-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmahjongg-19.08.3.tar.xz";
+      sha256 = "d74446083f6ead6d7571e0ca4ff37af3f8167cc16ed7f67576155a000b41ca22";
+      name = "kmahjongg-19.08.3.tar.xz";
     };
   };
   kmail = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmail-19.08.1.tar.xz";
-      sha256 = "4deb5d7c5304c0856fbbafeb7bf09436e28782b96dc5ec342a09b2c26ea386c0";
-      name = "kmail-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmail-19.08.3.tar.xz";
+      sha256 = "d39d40ed61fc6828af06ad2a713b4c741685cec68471c57e18001277d3be4d3f";
+      name = "kmail-19.08.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmail-account-wizard-19.08.1.tar.xz";
-      sha256 = "b4f2f769b44845dd02632ce282fc740a35f7f784e9fb54091153365ee88fb864";
-      name = "kmail-account-wizard-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmail-account-wizard-19.08.3.tar.xz";
+      sha256 = "eb998583eb99f9e06eda35c7d44819ffac33fbe1a068c597bc43db271f194f68";
+      name = "kmail-account-wizard-19.08.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmailtransport-19.08.1.tar.xz";
-      sha256 = "521bcfd334a0e7e4986e6cebff3bae4095175a11fd45f777da673f1460d733da";
-      name = "kmailtransport-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmailtransport-19.08.3.tar.xz";
+      sha256 = "24cf570b2ab77a69e55adb013e1d7e3eaf17f5ced900d8e5166890bb3ab64d12";
+      name = "kmailtransport-19.08.3.tar.xz";
     };
   };
   kmbox = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmbox-19.08.1.tar.xz";
-      sha256 = "5fa59ffd16df1ae28f7ebf026f67df708c5b84e54e1ab47fd5de957c5b8fc75e";
-      name = "kmbox-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmbox-19.08.3.tar.xz";
+      sha256 = "e29d0df5344babb08f1befce2be9eae6a2e872f74757367454651ad26dd8658d";
+      name = "kmbox-19.08.3.tar.xz";
     };
   };
   kmime = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmime-19.08.1.tar.xz";
-      sha256 = "e8693458734f11a9d33a4d761f2b5ccae8f9ed87bb1e9dfc97f4bd0fa7089557";
-      name = "kmime-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmime-19.08.3.tar.xz";
+      sha256 = "e659e1154fbc11db624f1b76bc1a8e5cf8c7f6731cef7b4ff6fad9ccf90580dd";
+      name = "kmime-19.08.3.tar.xz";
     };
   };
   kmines = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmines-19.08.1.tar.xz";
-      sha256 = "8aedc9eeb3426a394a6e048508f700d466c18b262a9b98e01eff379a8d6003fb";
-      name = "kmines-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmines-19.08.3.tar.xz";
+      sha256 = "4ebb5d932ab43f11f81d0fa64aef871ffecaab4a2c3a5c4dbf10416a86fa8329";
+      name = "kmines-19.08.3.tar.xz";
     };
   };
   kmix = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmix-19.08.1.tar.xz";
-      sha256 = "a6006ab35bdfc2896188aa99ba50f1b28e8d5172ec8a1068efb15a50c43f87a7";
-      name = "kmix-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmix-19.08.3.tar.xz";
+      sha256 = "cf71abee1ab35423b0daeaf1fbddbcdcb2f40fd946dfabf0cb19b8762b8582bc";
+      name = "kmix-19.08.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmousetool-19.08.1.tar.xz";
-      sha256 = "d9a3164a0709fa0d2fc3e30ade2bd42c86fb73c7cf4adc341dd7e11e686f7956";
-      name = "kmousetool-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmousetool-19.08.3.tar.xz";
+      sha256 = "0434d4883d5478168c696ec1a43164ff09a15999416ff198b749d45981983399";
+      name = "kmousetool-19.08.3.tar.xz";
     };
   };
   kmouth = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmouth-19.08.1.tar.xz";
-      sha256 = "531b7b3716fea8c679c5c39c7c04214cb561430182747ce08a9854a76105821e";
-      name = "kmouth-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmouth-19.08.3.tar.xz";
+      sha256 = "b962dec13a0fa610b4e9fa03f4f0c9ce28cb8c45e8fc18243c26452783ebf2a9";
+      name = "kmouth-19.08.3.tar.xz";
     };
   };
   kmplot = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kmplot-19.08.1.tar.xz";
-      sha256 = "7797dc95f64738b918cb19481bc74cebd1f66b5a537592bb53e98e1715701fe2";
-      name = "kmplot-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmplot-19.08.3.tar.xz";
+      sha256 = "777408873baa5d6ce236d71bc2935a89fa414fb9f59049ba6e1ae88d581f580e";
+      name = "kmplot-19.08.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/knavalbattle-19.08.1.tar.xz";
-      sha256 = "6fa3cc1b7de95d22a6c356f411367399626a334ce648abc50ac724a860468915";
-      name = "knavalbattle-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knavalbattle-19.08.3.tar.xz";
+      sha256 = "e4a50d3873865e8ab4803a9d7350bfc56ee3d59fd718b8abe860ac89e995ae69";
+      name = "knavalbattle-19.08.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/knetwalk-19.08.1.tar.xz";
-      sha256 = "0c62b756d3375f0c51046e92904f380544ba77bcc0109607bb38055907579ccf";
-      name = "knetwalk-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knetwalk-19.08.3.tar.xz";
+      sha256 = "ed74cd88364eb263209574655e1cdf77f4776bf339f3313ce20dbf4f950664c4";
+      name = "knetwalk-19.08.3.tar.xz";
     };
   };
   knights = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/knights-19.08.1.tar.xz";
-      sha256 = "bdd99e6ba75e03f19eac5fe6e50c84496eb614725da021208db9119539cea132";
-      name = "knights-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knights-19.08.3.tar.xz";
+      sha256 = "1a60de6e31340ecdd3b454d0a90f74f9ab0b81ff9166869d402da77d0acdc93e";
+      name = "knights-19.08.3.tar.xz";
     };
   };
   knotes = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/knotes-19.08.1.tar.xz";
-      sha256 = "30b835c063e03d3d9047cbaacf389ee1e261368d2cf73fdfab71b4f9138b8bf7";
-      name = "knotes-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knotes-19.08.3.tar.xz";
+      sha256 = "07ad3c7c8f5e7429c1f112aca10c164468dbbd5c356b504aa1fc172bb1bb1889";
+      name = "knotes-19.08.3.tar.xz";
     };
   };
   kolf = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kolf-19.08.1.tar.xz";
-      sha256 = "5199274d7ec557d396e74485debe4c7572050de6d31f128cca9ab737062f83bc";
-      name = "kolf-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kolf-19.08.3.tar.xz";
+      sha256 = "1c864f1abb31b168fd1402217ffc4c00d495f8ebece61ddc1f8c954c29684e1b";
+      name = "kolf-19.08.3.tar.xz";
     };
   };
   kollision = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kollision-19.08.1.tar.xz";
-      sha256 = "0f2bac3898ceb26bd17bdcc3481d76709b793a83ace75ba8f6f45fbf54428697";
-      name = "kollision-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kollision-19.08.3.tar.xz";
+      sha256 = "2240563774c22bf0552504a501710e37eb468afcbc4c3313db7779d086cdf8dc";
+      name = "kollision-19.08.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kolourpaint-19.08.1.tar.xz";
-      sha256 = "59c1a2a9d8f012ff1c483dae4f1019232ec667bd88e61c6c8fc07e47312ef23f";
-      name = "kolourpaint-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kolourpaint-19.08.3.tar.xz";
+      sha256 = "aac61cfc561b4d4759b086508c53c525db6899ae11a2400c4ca701fcb5649c8d";
+      name = "kolourpaint-19.08.3.tar.xz";
     };
   };
   kompare = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kompare-19.08.1.tar.xz";
-      sha256 = "325a14529c8e015fbae0231511ddd5c61dd3d78cbc6ad92eaccfd1c90a2f1afd";
-      name = "kompare-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kompare-19.08.3.tar.xz";
+      sha256 = "d0adbae35e979212e9705cb815e309059d8b3d0b7a815d7ff2cd7197eff65f44";
+      name = "kompare-19.08.3.tar.xz";
     };
   };
   konqueror = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/konqueror-19.08.1.tar.xz";
-      sha256 = "48a2847c7fcd5e30ae02d64523c3053b958ae9d3a7a649685660b1340aa644df";
-      name = "konqueror-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konqueror-19.08.3.tar.xz";
+      sha256 = "d0ff5b409bbbef5394aeb0bafeb6fea6265feff929fbf4b6a451adc030542d9b";
+      name = "konqueror-19.08.3.tar.xz";
     };
   };
   konquest = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/konquest-19.08.1.tar.xz";
-      sha256 = "114e76a10a992efb3fbd094bd1b66c3d6266c540c41289a0627ec04a8db52ec0";
-      name = "konquest-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konquest-19.08.3.tar.xz";
+      sha256 = "619a834341377475fed24485cf2c3f2ae68f1a8d6cea01b10e0a8408a7eef209";
+      name = "konquest-19.08.3.tar.xz";
     };
   };
   konsole = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/konsole-19.08.1.tar.xz";
-      sha256 = "7530157a3fa01a9b21971e271a9d46addb5c71dce290db97265928803b57d37f";
-      name = "konsole-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konsole-19.08.3.tar.xz";
+      sha256 = "2cc610109ff8ddc6efa6ea83f0153f4b1d72e4be65d8dbde9cfd526c257e7025";
+      name = "konsole-19.08.3.tar.xz";
     };
   };
   kontact = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kontact-19.08.1.tar.xz";
-      sha256 = "7b57b44ee72211b30fc743fae6580867100ede718909617b90cb926732ecbabb";
-      name = "kontact-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kontact-19.08.3.tar.xz";
+      sha256 = "2bc81b4c051856894d5405532e9663a59abf25bfed1cf0394ee24e219b4752d5";
+      name = "kontact-19.08.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kontactinterface-19.08.1.tar.xz";
-      sha256 = "adb5c380fd73102b84c72ea27975689dc289b0f5c8dd10f86bf0a857e00170be";
-      name = "kontactinterface-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kontactinterface-19.08.3.tar.xz";
+      sha256 = "67827b27e46d381a207bcd6986b0285c0b7629ec9b93048e9503768662e211dc";
+      name = "kontactinterface-19.08.3.tar.xz";
     };
   };
   kopete = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kopete-19.08.1.tar.xz";
-      sha256 = "c4943c5cbb384eb8697668be2a38dcc0dc16f26485a38c3657658c1cc4dbd2a8";
-      name = "kopete-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kopete-19.08.3.tar.xz";
+      sha256 = "d4e407516754cdf66f447e4439f41080586af2ec30c07bd1c88712b089f21221";
+      name = "kopete-19.08.3.tar.xz";
     };
   };
   korganizer = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/korganizer-19.08.1.tar.xz";
-      sha256 = "d7e347df36986926d0e0d1af38130a089b581e400a90cc8bf199cecb29b78023";
-      name = "korganizer-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/korganizer-19.08.3.tar.xz";
+      sha256 = "b675b6c7a2a28a51bd377872c69795157825fd04fbef6dd4c97c33f659adadc7";
+      name = "korganizer-19.08.3.tar.xz";
     };
   };
   kpat = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kpat-19.08.1.tar.xz";
-      sha256 = "65bf7299c59d3d7512ab39174fd0e5d044f307784c02895130399534e044831c";
-      name = "kpat-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpat-19.08.3.tar.xz";
+      sha256 = "b1414eb0c04396468f40ea84fe71077b98476b4b76c0d3abb95ae4afd49e27a7";
+      name = "kpat-19.08.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kpimtextedit-19.08.1.tar.xz";
-      sha256 = "f7e0dc9c706c94fa74a561d42d41246eae57f60c03da1ec52f2311172052d7fe";
-      name = "kpimtextedit-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpimtextedit-19.08.3.tar.xz";
+      sha256 = "75ff2300e771a1fe02a19ef57e2a28489179a92dc184c924be495e878b4444ab";
+      name = "kpimtextedit-19.08.3.tar.xz";
     };
   };
   kpkpass = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kpkpass-19.08.1.tar.xz";
-      sha256 = "893ee1f127c2d0c7135fe77c5c2895d04f95c9a6ed3b162c30856f4e99d4afb3";
-      name = "kpkpass-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpkpass-19.08.3.tar.xz";
+      sha256 = "6d70d3bcc949e83543ae7cf9d22280c270107bd9c9cb2882d6b37f6d036f5126";
+      name = "kpkpass-19.08.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kqtquickcharts-19.08.1.tar.xz";
-      sha256 = "af191d150a4777e53b27c39c86f32f80cec8b6eb2442d03425496902f78e79c8";
-      name = "kqtquickcharts-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kqtquickcharts-19.08.3.tar.xz";
+      sha256 = "f1c54caccbcc97219f8666bdf97cfecdb008c532f1453f27a6971ca54ec5994f";
+      name = "kqtquickcharts-19.08.3.tar.xz";
     };
   };
   krdc = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/krdc-19.08.1.tar.xz";
-      sha256 = "319bccbc3c3274b89ae58679d063a303df4b95504b1bef97f925da70a0fbcbde";
-      name = "krdc-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/krdc-19.08.3.tar.xz";
+      sha256 = "d4cbaebaa3cd56ef5ec728a1d09edf72e8dfc18174e59f954a5f7ec8494acfdc";
+      name = "krdc-19.08.3.tar.xz";
     };
   };
   kreversi = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kreversi-19.08.1.tar.xz";
-      sha256 = "f4c691dcc5c7864c8201f7e06470e2856996c35c5317020e56822c48af0b810e";
-      name = "kreversi-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kreversi-19.08.3.tar.xz";
+      sha256 = "30f15e40e1347c7d746bfdef7dffc0a0a9aecef8a960c875b68fab255c43d82c";
+      name = "kreversi-19.08.3.tar.xz";
     };
   };
   krfb = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/krfb-19.08.1.tar.xz";
-      sha256 = "3abe42f6e648f171fa38652fe03184725d1abcccf16bf1c1039ebada1f3c64c3";
-      name = "krfb-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/krfb-19.08.3.tar.xz";
+      sha256 = "c708e10b909151dee362205af9db72946b9bbb86f3d87aaf2d2a9956a9242e1d";
+      name = "krfb-19.08.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kross-interpreters-19.08.1.tar.xz";
-      sha256 = "d6acb31bd4c97364aa4a77767e012af32ecd0f560da939901a81be5776f2de49";
-      name = "kross-interpreters-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kross-interpreters-19.08.3.tar.xz";
+      sha256 = "525527db9e471a062c15b9b22b715dad2e164fb1b19580fc5b963cc7269ce5b5";
+      name = "kross-interpreters-19.08.3.tar.xz";
     };
   };
   kruler = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kruler-19.08.1.tar.xz";
-      sha256 = "040eef3746a660798e1701af6d9d17f4d091c30db9321dd5d37b172f5b91d59c";
-      name = "kruler-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kruler-19.08.3.tar.xz";
+      sha256 = "1825ec4b7f6a0ffc00f1ed09d2879a8d9925da49e62bad0a7484d4e90903df79";
+      name = "kruler-19.08.3.tar.xz";
     };
   };
   kshisen = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kshisen-19.08.1.tar.xz";
-      sha256 = "1631baaff368ca40a386c60998a9a491a2054a951f5b7311bea74f708d61d65f";
-      name = "kshisen-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kshisen-19.08.3.tar.xz";
+      sha256 = "bae9f0ed77f7b1b33f21a53dc07481665f6acdb9daad71dd550512a710a905af";
+      name = "kshisen-19.08.3.tar.xz";
     };
   };
   ksirk = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksirk-19.08.1.tar.xz";
-      sha256 = "42e00d3591fbfbe1db6de4caad963606a0ca5ee9a224b757157594bebb8c733c";
-      name = "ksirk-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksirk-19.08.3.tar.xz";
+      sha256 = "8ab94b45767e648341ead545a2b427c94ee0f71c8abbe7dbb6b85c28748f3cac";
+      name = "ksirk-19.08.3.tar.xz";
     };
   };
   ksmtp = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksmtp-19.08.1.tar.xz";
-      sha256 = "71401abcbb6aedd2845c84bca65f77297722b3414f4d4caeaa6ac6b8f2edc46c";
-      name = "ksmtp-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksmtp-19.08.3.tar.xz";
+      sha256 = "16b389a8dcb938ed3f1e2f4b10a5aa31c16eac8df89963a71c08af3e54ada8dd";
+      name = "ksmtp-19.08.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksnakeduel-19.08.1.tar.xz";
-      sha256 = "130e6545102a4e39f284a409213e9d45066ed27c077ff881839f33db78f62dd5";
-      name = "ksnakeduel-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksnakeduel-19.08.3.tar.xz";
+      sha256 = "d6361ce5a46d6e8ca4b5e674f31017a545245ddb907f33963afba2aeaecdf956";
+      name = "ksnakeduel-19.08.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kspaceduel-19.08.1.tar.xz";
-      sha256 = "47a6d9c78b1d24e80803b7e1765bb6de37157e9f1e733ef5ce50a54612c16bf9";
-      name = "kspaceduel-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kspaceduel-19.08.3.tar.xz";
+      sha256 = "88e25bc037034e3a22f4cea71729fc160d25bcefb978da00d3f7681841b4f7c2";
+      name = "kspaceduel-19.08.3.tar.xz";
     };
   };
   ksquares = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksquares-19.08.1.tar.xz";
-      sha256 = "39fd1b73c3c13c3322a5658b8deed31261b0e68edc5cb9666ade374d5d9d8283";
-      name = "ksquares-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksquares-19.08.3.tar.xz";
+      sha256 = "7e1798e6a306d6ef948035915bdb904ee9efb238dc5a04b4a747185d34856843";
+      name = "ksquares-19.08.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksudoku-19.08.1.tar.xz";
-      sha256 = "cae801e0c595009e35aa11df370de421164f10d9840ae4dede2cd57f19cd6866";
-      name = "ksudoku-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksudoku-19.08.3.tar.xz";
+      sha256 = "82bf07385d131968ffd49a58404984fd506481158097aa063d954618d2679a65";
+      name = "ksudoku-19.08.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ksystemlog-19.08.1.tar.xz";
-      sha256 = "7dde2a350b32011027d6ab9648859218a053c5509ad08bce8c2de875d2ae73db";
-      name = "ksystemlog-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksystemlog-19.08.3.tar.xz";
+      sha256 = "97fca55ae5481d77628531482da99ece40cef2c81de633fe4c1e99206d17391d";
+      name = "ksystemlog-19.08.3.tar.xz";
     };
   };
   kteatime = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kteatime-19.08.1.tar.xz";
-      sha256 = "a4b80c5ca6f48c1d291a9502c43293cd0aa383f2e089b9435b02ff79b317c310";
-      name = "kteatime-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kteatime-19.08.3.tar.xz";
+      sha256 = "dbe96fdd20545dc5ebe8103aed878dbbca5e015a42827129485a32fdcbf0d592";
+      name = "kteatime-19.08.3.tar.xz";
     };
   };
   ktimer = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktimer-19.08.1.tar.xz";
-      sha256 = "f81af279e9e79bb3044718fa868973524e85df65dfaf654b8f45824b6f9d17cb";
-      name = "ktimer-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktimer-19.08.3.tar.xz";
+      sha256 = "d8c80c3929e21a0450574d2e05e2a2384978c70f812eaab25e32402fe3a2f6c5";
+      name = "ktimer-19.08.3.tar.xz";
     };
   };
   ktnef = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktnef-19.08.1.tar.xz";
-      sha256 = "bab23e40af2fe5ba2dd0be71687fbdd56d0868f2ef2a399721da88b12c65764f";
-      name = "ktnef-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktnef-19.08.3.tar.xz";
+      sha256 = "86ae57b54047f51d31292fb71f2410660dd5bf7ca54e847b78108c600884ee4d";
+      name = "ktnef-19.08.3.tar.xz";
     };
   };
   ktouch = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktouch-19.08.1.tar.xz";
-      sha256 = "d97ee5f253dd4e4d802bb8109c2e12d4d48bc7741686d07783e5687a499a2da7";
-      name = "ktouch-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktouch-19.08.3.tar.xz";
+      sha256 = "8a288377a37f5afbd657c452c45628186646b27585a67312e35930a9fb581d37";
+      name = "ktouch-19.08.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-accounts-kcm-19.08.1.tar.xz";
-      sha256 = "2f76fc870bd7a96540aa91054b3cac38b917f90c129fada86c3639815dfa27a5";
-      name = "ktp-accounts-kcm-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-accounts-kcm-19.08.3.tar.xz";
+      sha256 = "79d2af8b3863d2f4fda51c0bc04b696648d297f2af33e09237b0eed9dd24509f";
+      name = "ktp-accounts-kcm-19.08.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-approver-19.08.1.tar.xz";
-      sha256 = "a446c23836f6e38bb739246595cf1773f4909279cf1522b96ccd6626ba36430a";
-      name = "ktp-approver-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-approver-19.08.3.tar.xz";
+      sha256 = "6051059761a1fe05ad696846a20752707ed6c9ce164aa551e86e3a5ddca4a65f";
+      name = "ktp-approver-19.08.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-auth-handler-19.08.1.tar.xz";
-      sha256 = "9a86ce184596cd54b914a7ff0424cadbee24b98f00b8736380e4153ee8596f64";
-      name = "ktp-auth-handler-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-auth-handler-19.08.3.tar.xz";
+      sha256 = "6275ea746a28857cc77cc031a75a5f2278cf85dd1ef3c04e47006c4316975659";
+      name = "ktp-auth-handler-19.08.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-call-ui-19.08.1.tar.xz";
-      sha256 = "bab48fcdc4f4a7becfeca99dbe9061b9d08a510f94548c6ebdf720100ddb5a4c";
-      name = "ktp-call-ui-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-call-ui-19.08.3.tar.xz";
+      sha256 = "9245d11a28c2022ec98de6368d03ba8d9a53d8364d4f87efb142a0f843eea67d";
+      name = "ktp-call-ui-19.08.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-common-internals-19.08.1.tar.xz";
-      sha256 = "985d55a259df9cb0593db50ac88bd5d3ab155c6e26563386230fe66294c3dc63";
-      name = "ktp-common-internals-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-common-internals-19.08.3.tar.xz";
+      sha256 = "7ec6466ebaa0f4acb7e38707b013989ef0a7d50bad5520d1a53fcf17b5ef5670";
+      name = "ktp-common-internals-19.08.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-contact-list-19.08.1.tar.xz";
-      sha256 = "a3ade7f7bacd53c90062923b488a7f60968a45d6d63890a618638f514dd3a5b2";
-      name = "ktp-contact-list-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-contact-list-19.08.3.tar.xz";
+      sha256 = "508085b52fff2e542ea28acb853f1cb3fcdf99d1f72ed99bc42991784fb2efd6";
+      name = "ktp-contact-list-19.08.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-contact-runner-19.08.1.tar.xz";
-      sha256 = "385bc8bebb7847cefdd17738ecaf03b102794ac7f38dc58ebe10d100385b769f";
-      name = "ktp-contact-runner-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-contact-runner-19.08.3.tar.xz";
+      sha256 = "fe343560b80a4d9734f0160c8257fffe762801364e5dcbb9cf82edd6ded5683c";
+      name = "ktp-contact-runner-19.08.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-desktop-applets-19.08.1.tar.xz";
-      sha256 = "ec26ba5893998f1e5c293d40e5410a7170ae4e0dea46f03bd5241c51c3240951";
-      name = "ktp-desktop-applets-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-desktop-applets-19.08.3.tar.xz";
+      sha256 = "318b6a8f40cbbd7a82a1ed55788f8832133ee8d5685182783a4c00e1b2e6fa2a";
+      name = "ktp-desktop-applets-19.08.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-filetransfer-handler-19.08.1.tar.xz";
-      sha256 = "34f7eed85709524efaa89924de85842c3532b1ade8572fe28dc2e8ce3f6026eb";
-      name = "ktp-filetransfer-handler-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-filetransfer-handler-19.08.3.tar.xz";
+      sha256 = "cdc90313da9a238197b69d0ebc11d8e4c6ce617063acbf2864d966aff6df1e94";
+      name = "ktp-filetransfer-handler-19.08.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-kded-module-19.08.1.tar.xz";
-      sha256 = "323b538c08da82aaf66503463b4334bc603a37bb358fa6f1d5794562c05eed4f";
-      name = "ktp-kded-module-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-kded-module-19.08.3.tar.xz";
+      sha256 = "c16d46035874460f98c4f59e04d50e197c1c70ae9b441dfeb53dd4b319e96d15";
+      name = "ktp-kded-module-19.08.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-send-file-19.08.1.tar.xz";
-      sha256 = "1e4f9348dab9546d344d00783d6a5ad93b9b299b96d551dd09325c95932cbcd2";
-      name = "ktp-send-file-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-send-file-19.08.3.tar.xz";
+      sha256 = "db03d482f7bb101e1655262cd99d46e4a551141b8784bae67162d941fb13644f";
+      name = "ktp-send-file-19.08.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktp-text-ui-19.08.1.tar.xz";
-      sha256 = "21c9c58bd498623a6bc9bbfa01c82548af29fdf7f690a359eb57ccd9a3de3105";
-      name = "ktp-text-ui-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-text-ui-19.08.3.tar.xz";
+      sha256 = "6779fad4ae6198ebf2e0759b53a8a0792bfca477df2c1f538bc00d1da281eae8";
+      name = "ktp-text-ui-19.08.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/ktuberling-19.08.1.tar.xz";
-      sha256 = "b373c7552ff695e7d3428b7f2551315de00786177a5dc4bb96f777bdb84887cc";
-      name = "ktuberling-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktuberling-19.08.3.tar.xz";
+      sha256 = "5204b6eee57554e90d542dc4eca45fbbf0246f261fb1c231b53440c90d26aee1";
+      name = "ktuberling-19.08.3.tar.xz";
     };
   };
   kturtle = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kturtle-19.08.1.tar.xz";
-      sha256 = "5643434e861391471674e6cf86347c362b076e1d3fe1396022b5080b899bf934";
-      name = "kturtle-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kturtle-19.08.3.tar.xz";
+      sha256 = "a622b22ea3b98666dbd32f6f6db2093b7f3859be52515b3bedc72684ef7780e7";
+      name = "kturtle-19.08.3.tar.xz";
     };
   };
   kubrick = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kubrick-19.08.1.tar.xz";
-      sha256 = "51ff60a682c69f829af7f7e4748128d48e691aacd584379e099c437473a45c03";
-      name = "kubrick-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kubrick-19.08.3.tar.xz";
+      sha256 = "fd11e0969ae08e42316044535008511b3fcae7752c7a86b2ae9ae24c94e44855";
+      name = "kubrick-19.08.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kwalletmanager-19.08.1.tar.xz";
-      sha256 = "b6206da5001f79b67264f641210925b0400b41dc59562b978d402b9524835c14";
-      name = "kwalletmanager-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwalletmanager-19.08.3.tar.xz";
+      sha256 = "00c1362d1454f4593e1f99847b97b3da99931c74ceafc3c3350337af0038b985";
+      name = "kwalletmanager-19.08.3.tar.xz";
     };
   };
   kwave = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kwave-19.08.1.tar.xz";
-      sha256 = "6febc3d01c15f94fa0f75a731a375b76642c2cdce9afc373a5c1e92fb3753891";
-      name = "kwave-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwave-19.08.3.tar.xz";
+      sha256 = "bde8d2c3805b52bdcf0371c28e870d20fdfdd8b69831a9ba4e59ee9ae0a863ef";
+      name = "kwave-19.08.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/kwordquiz-19.08.1.tar.xz";
-      sha256 = "ead21c1caa1d1665a8ef685c4b46a442b7423aba63153617008985e84ff4c318";
-      name = "kwordquiz-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwordquiz-19.08.3.tar.xz";
+      sha256 = "9561e4817b5b273f74e7591d1ecb82db45140eea2ea36ab3e2f21d81faa1b66d";
+      name = "kwordquiz-19.08.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libgravatar-19.08.1.tar.xz";
-      sha256 = "d39d6970b5113b2b805b048ca9b14770ab16d59c8ec755b0c5f6d4f7d6df73a2";
-      name = "libgravatar-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libgravatar-19.08.3.tar.xz";
+      sha256 = "7f3421d1074065221e7ff892ba5f32614aef08b9ee407b5d8301e20f414bf8fb";
+      name = "libgravatar-19.08.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkcddb-19.08.1.tar.xz";
-      sha256 = "f73d3f802e1ffec6b75246505cbec5a7baa328b808c23b42608e05fd8c7b30a5";
-      name = "libkcddb-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkcddb-19.08.3.tar.xz";
+      sha256 = "56fe09cfab0455581057aa1681cec01777159a51af1871419cd1b5fb9d4e8ae6";
+      name = "libkcddb-19.08.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkcompactdisc-19.08.1.tar.xz";
-      sha256 = "53d206967d98e9ee8254aca58d1ba34458761106c323deb449fa94bed1e24037";
-      name = "libkcompactdisc-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkcompactdisc-19.08.3.tar.xz";
+      sha256 = "912b885badf6aff6b0378fba993633c9fb5cf026dc6791e4cda0c4c27913f425";
+      name = "libkcompactdisc-19.08.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkdcraw-19.08.1.tar.xz";
-      sha256 = "b159a669cb4c01770c363b4dd53033248402d37b29acb416ec45e71ac12449e2";
-      name = "libkdcraw-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdcraw-19.08.3.tar.xz";
+      sha256 = "7fe4ade52c2e1e1ec3074fe52ebfc8838193b50791f2f26256f04178015ef87e";
+      name = "libkdcraw-19.08.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkdegames-19.08.1.tar.xz";
-      sha256 = "1b365627bd0a3a42a32a0a8d401b53d2ac09f0f9cf040b4b0483c5574991b774";
-      name = "libkdegames-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdegames-19.08.3.tar.xz";
+      sha256 = "019cdc0c702b8c9cacabc36ec2c81951e43ff80dbdfe527cba0dc5f5649dbb89";
+      name = "libkdegames-19.08.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkdepim-19.08.1.tar.xz";
-      sha256 = "46966eaae2bc71a5bab0c22bcfff858e299d7f1cec2203c1d12cebbc084ee9ce";
-      name = "libkdepim-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdepim-19.08.3.tar.xz";
+      sha256 = "36c9457868fd98648a911304a485e8509689bfc280f9d4ad2631ba15f849b059";
+      name = "libkdepim-19.08.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkeduvocdocument-19.08.1.tar.xz";
-      sha256 = "9e7eb36b0c649231a792f618b28fd110b3782ea086cce81436191e9f73c6674e";
-      name = "libkeduvocdocument-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkeduvocdocument-19.08.3.tar.xz";
+      sha256 = "19d816ae3dd2395f53c8bc19a4d62dcd6fcec0bcebbc8ebfe32987afdb87ee14";
+      name = "libkeduvocdocument-19.08.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkexiv2-19.08.1.tar.xz";
-      sha256 = "bee9a16eda002146b42f358b0dc58c5db832719870761264cc6cf0a199ab0537";
-      name = "libkexiv2-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkexiv2-19.08.3.tar.xz";
+      sha256 = "4c8a1acc4fe6c7105130ac93f5486ddbffb09921a9f34d3af418bd7e1695435e";
+      name = "libkexiv2-19.08.3.tar.xz";
     };
   };
   libkgapi = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkgapi-19.08.1.tar.xz";
-      sha256 = "1ad2491348cc97f591aa681f7a649f2337c9a92e845980304c1110c69eecd579";
-      name = "libkgapi-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkgapi-19.08.3.tar.xz";
+      sha256 = "085878396ae2a8bed7e9121d985de848c515992a3c6c989b9510125bc859e67c";
+      name = "libkgapi-19.08.3.tar.xz";
     };
   };
   libkgeomap = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkgeomap-19.08.1.tar.xz";
-      sha256 = "aed369217007698beaa3230bf5b5360602d44ca6d333026158b15666f3670555";
-      name = "libkgeomap-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkgeomap-19.08.3.tar.xz";
+      sha256 = "858a6327fe45b67bd31e1f592412a30e0c0f64eb353279480f62b19e51df9576";
+      name = "libkgeomap-19.08.3.tar.xz";
     };
   };
   libkipi = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkipi-19.08.1.tar.xz";
-      sha256 = "ec2012821c90062e43ad7c77861ab519b24aea429ed9f0b7bdf6ef9c00e82ba4";
-      name = "libkipi-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkipi-19.08.3.tar.xz";
+      sha256 = "4b06a880a66eae18dc3ed7f4b39e877691c21d60af7603c7679ebcac5a0a7d4b";
+      name = "libkipi-19.08.3.tar.xz";
     };
   };
   libkleo = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkleo-19.08.1.tar.xz";
-      sha256 = "5808a40d9c9358048d558a4c96f90e8c51b2dab3588ab3c678b02d5810020a31";
-      name = "libkleo-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkleo-19.08.3.tar.xz";
+      sha256 = "5f1a3276646c786e8e25e6765d0f4e6b6ac0e4dccd094c1810b10a10e401576e";
+      name = "libkleo-19.08.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkmahjongg-19.08.1.tar.xz";
-      sha256 = "c4e3a29bb923ead76f1fb528fa62c677423ebb4ac07dd149a6fc3f6ae055eb39";
-      name = "libkmahjongg-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkmahjongg-19.08.3.tar.xz";
+      sha256 = "fd7d036ba3b17246fad42e0366003233c42f5b03df881d6bc6886518c2acb165";
+      name = "libkmahjongg-19.08.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libkomparediff2-19.08.1.tar.xz";
-      sha256 = "a020ba9287ee084a0f5a10896f1559f11aff1c97957405f47deeda32a0874b31";
-      name = "libkomparediff2-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkomparediff2-19.08.3.tar.xz";
+      sha256 = "a1ba5616fda806d5aedab3fb080bbcef5e13c04153fd9659d9d47f0a1a11125d";
+      name = "libkomparediff2-19.08.3.tar.xz";
     };
   };
   libksane = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libksane-19.08.1.tar.xz";
-      sha256 = "215fae62d8ea1f70908cafc5bc8667c02d4f0329669d056c99443a7b14a6e589";
-      name = "libksane-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libksane-19.08.3.tar.xz";
+      sha256 = "97808ced0a0c6800c31fa8e810d2a00a3dbda410ed6691e114173b0412b94f93";
+      name = "libksane-19.08.3.tar.xz";
     };
   };
   libksieve = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/libksieve-19.08.1.tar.xz";
-      sha256 = "ab384877148710e7de92e88a192f52beaad667804bbc641b63c21cfdaa0aee31";
-      name = "libksieve-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libksieve-19.08.3.tar.xz";
+      sha256 = "a10311192a57d1b7073d73477f5cefdf7c42d0a720d0eaf406986e4f1835ce60";
+      name = "libksieve-19.08.3.tar.xz";
     };
   };
   lokalize = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/lokalize-19.08.1.tar.xz";
-      sha256 = "fe1e1f8fb2f2ad3cde1830b2ddbcce0e41ffe5696c6e32b0639c8931967b3943";
-      name = "lokalize-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/lokalize-19.08.3.tar.xz";
+      sha256 = "e25de54944ca32b32b4eeddd85e8ca9764a04de7c1d7a2d350d41cbda8105aef";
+      name = "lokalize-19.08.3.tar.xz";
     };
   };
   lskat = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/lskat-19.08.1.tar.xz";
-      sha256 = "e4b073cc65be0f1e7e01b4b2aa28bed30480aef097f5185eb608b4e45b9352e9";
-      name = "lskat-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/lskat-19.08.3.tar.xz";
+      sha256 = "499334ffff57a46973caa4f8571b06ae482bccff9e17dcd9ba82ac7f448365e2";
+      name = "lskat-19.08.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/mailcommon-19.08.1.tar.xz";
-      sha256 = "3fb6f09ce8bc9ccddfa1420fa1a7c60a47065afdfbb5a30292179efbcebba833";
-      name = "mailcommon-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mailcommon-19.08.3.tar.xz";
+      sha256 = "55ccf161f40b3647f269f71309f9a2fcdf1e2327da53e96c3d8510fc664252bf";
+      name = "mailcommon-19.08.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/mailimporter-19.08.1.tar.xz";
-      sha256 = "4236938a2dca5ea0bc572afbe76ae28fc6ad1e65f383743de98a4e505f674962";
-      name = "mailimporter-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mailimporter-19.08.3.tar.xz";
+      sha256 = "fbdfbfe093bb0af05d26492c0839a94ac0a5c0577081bd726626b943be7cb96e";
+      name = "mailimporter-19.08.3.tar.xz";
     };
   };
   marble = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/marble-19.08.1.tar.xz";
-      sha256 = "7e09e3037287be117e47de402d1f5ea7dd49f625ccf4a46d1d016a527d487e9e";
-      name = "marble-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/marble-19.08.3.tar.xz";
+      sha256 = "cd5d7f758d2234dc8e2fa638b9e1326461655e10dbe21910dbef029e80ef7a68";
+      name = "marble-19.08.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/mbox-importer-19.08.1.tar.xz";
-      sha256 = "3f4c96ee65ffa0488df09522e1bda2ea38c0adf420ae66fff11f670566c5536c";
-      name = "mbox-importer-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mbox-importer-19.08.3.tar.xz";
+      sha256 = "77fadf4d2dc14830704135237fb7c5f0285204acb9822277944cc03f70b8dc3c";
+      name = "mbox-importer-19.08.3.tar.xz";
     };
   };
   messagelib = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/messagelib-19.08.1.tar.xz";
-      sha256 = "ec43d913028124a49eaa440e4b55dba23b6ab503728b897a3ad8e1fc5e446802";
-      name = "messagelib-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/messagelib-19.08.3.tar.xz";
+      sha256 = "db2e48e48d87922f9533ebd3eb021549e6bf8dea5828d83bfdfecb36b1426728";
+      name = "messagelib-19.08.3.tar.xz";
     };
   };
   minuet = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/minuet-19.08.1.tar.xz";
-      sha256 = "524c389060c13b37a3df4662ca9ca5e2862d20ea71f47b1a5157a088d2d065d4";
-      name = "minuet-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/minuet-19.08.3.tar.xz";
+      sha256 = "8af3e0b5fd17d7043499391273232a1649ea3dec5e69faab5a4dc4452080605c";
+      name = "minuet-19.08.3.tar.xz";
     };
   };
   okular = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/okular-19.08.1.tar.xz";
-      sha256 = "9e363b73febd5da1a17e53a8f89914784b555c1f0085ddc0f55ef56082b0bd54";
-      name = "okular-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/okular-19.08.3.tar.xz";
+      sha256 = "cea30fe0c2c2b8394e76efe5c945eab1cc9619097291bd9236794b42b09523e5";
+      name = "okular-19.08.3.tar.xz";
     };
   };
   palapeli = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/palapeli-19.08.1.tar.xz";
-      sha256 = "c9eeafe854529ea5a09e9ef6fd37b8be3d0d370322938c009c826bd936953adc";
-      name = "palapeli-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/palapeli-19.08.3.tar.xz";
+      sha256 = "fc8e4ddd92def4998a0e8b11bc0a45671e5b07e065313aec135e74c056f321bd";
+      name = "palapeli-19.08.3.tar.xz";
     };
   };
   parley = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/parley-19.08.1.tar.xz";
-      sha256 = "6ee4d538ddaecd5b6c3d855db62a4b5061240b2089b3dcc592712398fd1d066b";
-      name = "parley-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/parley-19.08.3.tar.xz";
+      sha256 = "a3d11ddf5a6c8244e5a22c10f6e256ad8bd857802d994550549c7f73f8ed8da8";
+      name = "parley-19.08.3.tar.xz";
     };
   };
   picmi = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/picmi-19.08.1.tar.xz";
-      sha256 = "47e0dd79ee4ae86d8be6822f9328fac2f00ce68cf862202e889c0f77a88d0d91";
-      name = "picmi-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/picmi-19.08.3.tar.xz";
+      sha256 = "6ed444d40a388e5c1f5f7bda24d35fa119fa5b5ee488def02321f14476bd357d";
+      name = "picmi-19.08.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/pimcommon-19.08.1.tar.xz";
-      sha256 = "5956e2767ea88efd73cbefef9cb80d16bb4cb5cb63857975fbb6ead1b984026c";
-      name = "pimcommon-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pimcommon-19.08.3.tar.xz";
+      sha256 = "76a67c28db71e1187fa192f0e1a07279c690dea313a2a376b2d21b82ab0784ca";
+      name = "pimcommon-19.08.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/pim-data-exporter-19.08.1.tar.xz";
-      sha256 = "766e8b15f7853d84629bc49ad33aa59291d6d95cfd9db279e9e0ad70b0fab1fe";
-      name = "pim-data-exporter-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pim-data-exporter-19.08.3.tar.xz";
+      sha256 = "f89b6588822dd5501e1b93ed3abd9b822725944246ab834777ed0f91f5ab6b91";
+      name = "pim-data-exporter-19.08.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/pim-sieve-editor-19.08.1.tar.xz";
-      sha256 = "b49045d7326cf0ca7fabbf58d8508d61986701887871c4df53fad1f960a64438";
-      name = "pim-sieve-editor-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pim-sieve-editor-19.08.3.tar.xz";
+      sha256 = "5e8aa5d71ea923baf4376986db77b6dee16d6e281caf22855e97cfeebfb4c1fe";
+      name = "pim-sieve-editor-19.08.3.tar.xz";
     };
   };
   poxml = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/poxml-19.08.1.tar.xz";
-      sha256 = "d38dce3114b01bc72163329dac629c4e5d36db15e09d52dd0ffbcaa645408d98";
-      name = "poxml-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/poxml-19.08.3.tar.xz";
+      sha256 = "be5feaf46d424a4a4edc5936924f9a8a6d1d5467ecedd0e415aa88e2c3170502";
+      name = "poxml-19.08.3.tar.xz";
     };
   };
   print-manager = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/print-manager-19.08.1.tar.xz";
-      sha256 = "b1fd9aa067329a4f5bb715e7db736160954bbec303be0ba5bc8f98852071e731";
-      name = "print-manager-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/print-manager-19.08.3.tar.xz";
+      sha256 = "c6420dfa711fc68a6d681d27521eac3c9f1060e57f048594b43f2941a78320ee";
+      name = "print-manager-19.08.3.tar.xz";
     };
   };
   rocs = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/rocs-19.08.1.tar.xz";
-      sha256 = "eaa2fefae8123071e5802d0c13016d0b99608f91c75c7c6e4fbe6f2c6dc12adf";
-      name = "rocs-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/rocs-19.08.3.tar.xz";
+      sha256 = "533ab2f17160c402550479d7d3be9132b49e1d745c021c7735f0687d12236c8e";
+      name = "rocs-19.08.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/signon-kwallet-extension-19.08.1.tar.xz";
-      sha256 = "7d558509cf015641c76d4203c8dadc4e9720278fb39b4561eb2bce4e5412bb83";
-      name = "signon-kwallet-extension-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/signon-kwallet-extension-19.08.3.tar.xz";
+      sha256 = "273ff874bf08dd97a12b3b07215bc0ce9fd3c3c59b6bb1f61000411454211a65";
+      name = "signon-kwallet-extension-19.08.3.tar.xz";
     };
   };
   spectacle = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/spectacle-19.08.1.tar.xz";
-      sha256 = "21057fd4990048df33f5d739fc98af2a555ca4b7db50688333fecabc12f24786";
-      name = "spectacle-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/spectacle-19.08.3.tar.xz";
+      sha256 = "3717b7ebd314cac47c263c304c54c14b0115b15cfa4b87201f5ea27a2f4e9b8a";
+      name = "spectacle-19.08.3.tar.xz";
     };
   };
   step = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/step-19.08.1.tar.xz";
-      sha256 = "533750dda4adcd0f3d8ec269103f35ee1ab4b4e9eae9721522b1b278660577a6";
-      name = "step-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/step-19.08.3.tar.xz";
+      sha256 = "1197b38d9ef14305cf341eba4cd2df08695a9b3f53e2bebff8abb7cbd7a9e2aa";
+      name = "step-19.08.3.tar.xz";
     };
   };
   svgpart = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/svgpart-19.08.1.tar.xz";
-      sha256 = "4ed6277d3f2c12a4a53dd308911c613af5ae65f53819aeacf42e08dcd08dbd5b";
-      name = "svgpart-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/svgpart-19.08.3.tar.xz";
+      sha256 = "1ad667fc6988b64fd379cfb79d00a7c04c97de530e4b61a9ae8a525971ea2a94";
+      name = "svgpart-19.08.3.tar.xz";
     };
   };
   sweeper = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/sweeper-19.08.1.tar.xz";
-      sha256 = "cc539649fa4a2698ad07653f9427981381bf8b5344f05dab76acdf1704b4479a";
-      name = "sweeper-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/sweeper-19.08.3.tar.xz";
+      sha256 = "0451b9319c4390cfae497922cc135d7d8c4ef74ac81f2c05d2f94458bb3fc8be";
+      name = "sweeper-19.08.3.tar.xz";
     };
   };
   umbrello = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/umbrello-19.08.1.tar.xz";
-      sha256 = "ce56fa6d96bbc78cf69246d6f45e9b098f8fcc75d7771875a8e638b01bbf6efa";
-      name = "umbrello-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/umbrello-19.08.3.tar.xz";
+      sha256 = "c4c56354d2765c0d03ffda02cc098cc3e9d72b0c7c22bb0c1cc03dcf5ac31a6a";
+      name = "umbrello-19.08.3.tar.xz";
     };
   };
   yakuake = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/yakuake-19.08.1.tar.xz";
-      sha256 = "184fec9d07505faf820821e197582f7733694848cc17e71ee4f525772e78fc10";
-      name = "yakuake-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/yakuake-19.08.3.tar.xz";
+      sha256 = "1ad2cc026eea9449690aa037ac94b09cd18696d71025204e648501fa7f2cfbaf";
+      name = "yakuake-19.08.3.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "19.08.1";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.1/src/zeroconf-ioslave-19.08.1.tar.xz";
-      sha256 = "0c5f8931dd2997345fc6d3e8ef73c36615a73f8c906fb6be9c27432bc038000a";
-      name = "zeroconf-ioslave-19.08.1.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/zeroconf-ioslave-19.08.3.tar.xz";
+      sha256 = "b7b00edcc987c298e1dc885e3ceb6acbcbfe40141423d90406a3ccecef2471ed";
+      name = "zeroconf-ioslave-19.08.3.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix
index edcd08f24999..1c409c232a82 100644
--- a/nixpkgs/pkgs/applications/misc/1password/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password/default.nix
@@ -2,24 +2,24 @@
 
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "0.6.1";
+  version = "0.7.0";
   src =
     if stdenv.hostPlatform.system == "i686-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-        sha256 = "1yr78yawscp9fgvdw0dimc68k3bblk3g67g3jrqpa7hnl6pr24yl";
+        sha256 = "1lhp0ws543855rvpvh84rjvyi471259lg618cciqj8j6k04ls1g0";
         stripRoot = false;
       }
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-        sha256 = "03m0vxhghzf4zq7k2f1afkc5ixf0qwiiypqjfjgpqpfng7g9ang7";
+        sha256 = "1sjv5qrc80fk9yz0cn2yj0cdm47ab3ch8n9hzj9hv9d64gjv4w8n";
         stripRoot = false;
       }
     else if stdenv.hostPlatform.system == "x86_64-darwin" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
-        sha256 = "1hypmls1fq4rjx9icgr0pkx3s3fhhma2q5rds314sv7f9ijl458f";
+        sha256 = "1hnixmq7mrc6ky79k3s61vv89v4qhkm31kyni3rscibfrab0r8ir";
         stripRoot = false;
       }
     else throw "Architecture not supported";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     description  = "1Password command-line tool";
     homepage     = https://support.1password.com/command-line/;
     downloadPage = https://app-updates.agilebits.com/product_history/CLI;
-    maintainers  = with maintainers; [ joelburget ];
+    maintainers  = with maintainers; [ joelburget marsam ];
     license      = licenses.unfree;
     platforms    = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
diff --git a/nixpkgs/pkgs/applications/misc/alacritty/default.nix b/nixpkgs/pkgs/applications/misc/alacritty/default.nix
index 24f788ef4687..7d4f0614d8bc 100644
--- a/nixpkgs/pkgs/applications/misc/alacritty/default.nix
+++ b/nixpkgs/pkgs/applications/misc/alacritty/default.nix
@@ -5,6 +5,7 @@
 
   cmake,
   gzip,
+  installShellFiles,
   makeWrapper,
   ncurses,
   pkgconfig,
@@ -52,20 +53,21 @@ let
   ];
 in buildRustPackage rec {
   pname = "alacritty";
-  version = "0.3.3";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h9zid7bi19qga3a8a2d4x3ma9wf1njmj74s4xnw7nzqqf3dh750";
+    sha256 = "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg";
   };
 
-  cargoSha256 = "1rxb5ljgvn881jkxm8772kf815mmp08ci7sqmn2x1jwdcrphhxr1";
+  cargoSha256 = "1kc9n10kb4j87x337pzl6wpi0qj5ib2mqmrjag2yld3138dag71n";
 
   nativeBuildInputs = [
     cmake
     gzip
+    installShellFiles
     makeWrapper
     ncurses
     pkgconfig
@@ -76,10 +78,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";
 
@@ -97,15 +95,15 @@ in buildRustPackage rec {
     patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
   '') + ''
 
-    install -D extra/completions/_alacritty -t "$out/share/zsh/site-functions/"
-    install -D extra/completions/alacritty.bash -t "$out/etc/bash_completion.d/"
-    install -D extra/completions/alacritty.fish -t "$out/share/fish/vendor_completions.d/"
+    installShellCompletion --zsh extra/completions/_alacritty
+    installShellCompletion --bash extra/completions/alacritty.bash
+    installShellCompletion --fish extra/completions/alacritty.fish
 
     install -dm 755 "$out/share/man/man1"
     gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
 
     install -dm 755 "$terminfo/share/terminfo/a/"
-    tic -x -o "$terminfo/share/terminfo" extra/alacritty.info
+    tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
     mkdir -p $out/nix-support
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
 
@@ -116,9 +114,9 @@ in buildRustPackage rec {
 
   meta = with stdenv.lib; {
     description = "GPU-accelerated terminal emulator";
-    homepage = https://github.com/jwilm/alacritty;
-    license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ mic92 ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
+    homepage = "https://github.com/jwilm/alacritty";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 mic92 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/almanah/default.nix b/nixpkgs/pkgs/applications/misc/almanah/default.nix
index 4997a9c7f2ac..06321d9d6218 100644
--- a/nixpkgs/pkgs/applications/misc/almanah/default.nix
+++ b/nixpkgs/pkgs/applications/misc/almanah/default.nix
@@ -1,19 +1,59 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, libxml2, desktop-file-utils, wrapGAppsHook, evolution-data-server, gtkspell3, gpgme, libcryptui
-, glib, gtk3, gtksourceview3, sqlite, cairo, atk, gcr, gnome3 }:
+{ stdenv
+, fetchurl
+, atk
+, cairo
+, desktop-file-utils
+, evolution-data-server
+, gcr
+, gettext
+, glib
+, gnome3
+, gpgme
+, gtk3
+, gtksourceview3
+, gtkspell3
+, libcryptui
+, libxml2
+, meson
+, ninja
+, pkgconfig
+, sqlite
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "almanah";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1g0fyykq8bs3x1xqc0l0bk9zazcrxja784m68myymv1zfqqnp9h0";
+    sha256 = "09rxx4s4c34d1axza6ayss33v78p44r9bpx058shllh1sf5avpcb";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool libxml2 desktop-file-utils wrapGAppsHook ];
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ glib gtk3 gtksourceview3 sqlite cairo atk gcr gtkspell3 evolution-data-server gnome3.evolution gpgme libcryptui ];
+  buildInputs = [
+    atk
+    cairo
+    evolution-data-server
+    gcr
+    glib
+    gnome3.evolution
+    gpgme
+    gtk3
+    gtksourceview3
+    gtkspell3
+    libcryptui
+    sqlite
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/nixpkgs/pkgs/applications/misc/appeditor/default.nix b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
index 0530ec9c1b80..cda75ac4c050 100644
--- a/nixpkgs/pkgs/applications/misc/appeditor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, vala
 , meson
 , ninja
 , pkgconfig
@@ -8,7 +9,6 @@
 , gettext
 , glib
 , gtk3
-, hicolor-icon-theme
 , libgee
 , wrapGAppsHook }:
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     gettext
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -36,16 +36,26 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    hicolor-icon-theme
     pantheon.granite
     libgee
   ];
 
+  patches = [
+    # See: https://github.com/donadigo/appeditor/issues/88
+    ./fix-build-vala-0.46.patch
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Edit the Pantheon desktop application menu";
     homepage = https://github.com/donadigo/appeditor;
diff --git a/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch b/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
new file mode 100644
index 000000000000..f6c0b4cfd287
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
@@ -0,0 +1,22 @@
+diff --git a/src/DesktopApp.vala b/src/DesktopApp.vala
+index 0e6fa47..ebcde0c 100644
+--- a/src/DesktopApp.vala
++++ b/src/DesktopApp.vala
+@@ -130,7 +130,7 @@ public class AppEditor.DesktopApp : Object {
+ 
+     public unowned string get_path () {
+         if (path == null) {
+-            unowned string _path = info.get_string (KeyFileDesktop.KEY_PATH);
++            string _path = info.get_string (KeyFileDesktop.KEY_PATH);
+             if (_path == null) {
+                 _path = "";
+             }
+@@ -150,7 +150,7 @@ public class AppEditor.DesktopApp : Object {
+     }
+ 
+     public bool get_should_show () {
+-        return info.should_show () && !get_terminal (); 
++        return info.should_show () && !get_terminal ();
+     }
+ 
+     public string[] get_categories () {
diff --git a/nixpkgs/pkgs/applications/misc/barrier/default.nix b/nixpkgs/pkgs/applications/misc/barrier/default.nix
index e401a7c0b8e0..10e46176c6e6 100644
--- a/nixpkgs/pkgs/applications/misc/barrier/default.nix
+++ b/nixpkgs/pkgs/applications/misc/barrier/default.nix
@@ -1,24 +1,30 @@
 { stdenv, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation,
+  openssl, wrapGAppsHook,
   avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }
 }:
 
 mkDerivation rec {
   pname = "barrier";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "debauchee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1dakpgs4jcwg06f45xg6adc83jd2qnpywmjm1z7g0hzd2vd0qg4k";
+    sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd";
   };
 
-  buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
+  buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
+  nativeBuildInputs = [ cmake wrapGAppsHook ];
 
   postFixup = ''
     substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier"
   '';
 
+  qtWrapperArgs = [
+    ''--prefix PATH : ${stdenv.lib.makeBinPath [ openssl ]}''
+  ];
+
   meta = {
     description = "Open-source KVM software";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/misc/batti/default.nix b/nixpkgs/pkgs/applications/misc/batti/default.nix
deleted file mode 100644
index 8b994c55de3f..000000000000
--- a/nixpkgs/pkgs/applications/misc/batti/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl
-, pkgconfig, gettext, pythonPackages
-, gtk2, gdk-pixbuf, upower
-, makeWrapper }:
-
-let
-  inherit (pythonPackages) dbus-python pygtk python;
-in stdenv.mkDerivation rec {
-
-  pname = "batti";
-  version = "0.3.8";
-
-  src = fetchurl {
-    url = "https://batti-gtk.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
-  };
-
-  buildInputs = with stdenv.lib;
-  [ pkgconfig gettext python gtk2 pygtk dbus-python gdk-pixbuf upower makeWrapper ];
-
-  dontConfigure = true;
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
-  installPhase = ''
-    python setup.py install --prefix $out
-    wrapProgram "$out/bin/batti" \
-      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-
-  meta = with stdenv.lib; {
-    description = "An {UPower,GTK}-based battery monitor for the system tray";
-    longDescription = ''
-      Batti is a simple battery monitor for the system tray. Batti
-      uses UPower, and if that is missing DeviceKit.Power, for it's
-      power information.
-    '';
-    homepage = http://batti-gtk.googlecode.com/;
-    license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-    broken = true;  # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520
-  };
-}
-
-# TODO: fix the "icon not found" problems...
diff --git a/nixpkgs/pkgs/applications/misc/bemenu/default.nix b/nixpkgs/pkgs/applications/misc/bemenu/default.nix
index 8945ffbb384f..665198b3d1f4 100644
--- a/nixpkgs/pkgs/applications/misc/bemenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bemenu/default.nix
@@ -9,19 +9,25 @@ assert ncursesSupport -> ncurses != null;
 assert waylandSupport -> wayland != null;
 assert x11Support -> xlibs != null && xorg != null;
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "bemenu";
-  version = "0.1.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
-    repo = "bemenu";
-    rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32";
-    sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w";
+    repo = pname;
+    rev = version;
+    sha256 = "03k8wijdgj5nwmvgjhsrlh918n719789fhs4dqm23pd00rapxipk";
   };
 
   nativeBuildInputs = [ cmake pkgconfig pcre ];
 
+  cmakeFlags =  [
+    "-DBEMENU_CURSES_RENDERER=${if ncursesSupport then "ON" else "OFF"}"
+    "-DBEMENU_WAYLAND_RENDERER=${if waylandSupport then "ON" else "OFF"}"
+    "-DBEMENU_X11_RENDERER=${if x11Support then "ON" else "OFF"}"
+  ];
+
   buildInputs = with stdenv.lib; [
     cairo
     fribidi
diff --git a/nixpkgs/pkgs/applications/misc/bibletime/default.nix b/nixpkgs/pkgs/applications/misc/bibletime/default.nix
index a3f0a3b84f23..d0af940ac92a 100644
--- a/nixpkgs/pkgs/applications/misc/bibletime/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bibletime/default.nix
@@ -1,28 +1,30 @@
-{stdenv, fetchurl, cmake, sword, qt4, boost, clucene_core}:
+{ stdenv, fetchurl, cmake, pkgconfig, sword, boost, clucene_core
+, qtbase, qttools, qtsvg, qtwebkit
+}:
 
 stdenv.mkDerivation rec {
 
-  version = "2.10.1";
+  version = "2.11.2";
 
   pname = "bibletime";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibletime/${pname}-${version}.tar.xz";
-    sha256 = "14fayy5h1ffjxin669q56fflxn4ij1irgn60cygwx2y02cwxbll6";
+    sha256 = "1s5bvmwbz1gyp3ml8sghpc00h8nhdvx2iyq96iri30kwx1y1jy6i";
   };
 
-  prePatch = ''
-    patchShebangs .;
-  '';
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+   sword boost clucene_core
+   qtbase qttools qtsvg qtwebkit
+ ];
 
   preConfigure =  ''
     export CLUCENE_HOME=${clucene_core};
     export SWORD_HOME=${sword};
   '';
 
-  buildInputs = [ cmake sword qt4 boost clucene_core ];
-
-  cmakeFlags = "-DUSE_QT_WEBKIT=ON -DCMAKE_BUILD_TYPE=Debug";
+  cmakeFlags = [ "-DUSE_QT_WEBKIT=ON" "-DCMAKE_BUILD_TYPE=Debug" ];
 
   meta = {
     description = "A Qt4 Bible study tool";
diff --git a/nixpkgs/pkgs/applications/misc/birdtray/default.nix b/nixpkgs/pkgs/applications/misc/birdtray/default.nix
new file mode 100644
index 000000000000..39ecaa995d14
--- /dev/null
+++ b/nixpkgs/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.7.0";
+
+  src = fetchFromGitHub {
+    owner = "gyunaev";
+    repo = pname;
+    rev = "RELEASE_${version}";
+    sha256 = "0wj2lq5bz1p0cf6yj43v3ifxschcrh5amwx30wqw2m4bb8syzjw1";
+  };
+
+  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/nixpkgs/pkgs/applications/misc/bleachbit/default.nix b/nixpkgs/pkgs/applications/misc/bleachbit/default.nix
index 3f13972de9bb..225a5c5fc376 100644
--- a/nixpkgs/pkgs/applications/misc/bleachbit/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bleachbit/default.nix
@@ -1,16 +1,43 @@
-{ stdenv, pythonPackages, fetchurl, gettext }:
+{ stdenv
+, pythonPackages
+, fetchurl
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, gtk3
+, libnotify
+}:
+
 pythonPackages.buildPythonApplication rec {
   pname = "bleachbit";
-  version = "2.2";
+  version = "3.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1yj9bc3k6s1aib7znb79h5rybfv691zz4szxkwf9fm9nr0dws603";
+    sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d";
   };
 
-  nativeBuildInputs = [ gettext ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libnotify
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    chardet
+    pygobject3
+    requests
+    scandir
+  ];
 
   # Patch the many hardcoded uses of /usr/share/ and /usr/bin
   postPatch = ''
@@ -20,15 +47,17 @@ pythonPackages.buildPythonApplication rec {
 
   dontBuild = true;
 
-  installFlags = [ "prefix=${placeholder "out"}" ];
+  installFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  propagatedBuildInputs = with pythonPackages; [ pygtk ];
+  strictDeps = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://bleachbit.sourceforge.net;
     description = "A program to clean your computer";
     longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leonardoce ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/blender/default.nix b/nixpkgs/pkgs/applications/misc/blender/default.nix
index 3b98114c7107..0af78852204d 100644
--- a/nixpkgs/pkgs/applications/misc/blender/default.nix
+++ b/nixpkgs/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.81a";
 
   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 = "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j";
   };
 
   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/nixpkgs/pkgs/applications/misc/blugon/default.nix b/nixpkgs/pkgs/applications/misc/blugon/default.nix
new file mode 100644
index 000000000000..e6f956cc0910
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/buku/default.nix b/nixpkgs/pkgs/applications/misc/buku/default.nix
index 60ade661cffd..98f6e2895d18 100644
--- a/nixpkgs/pkgs/applications/misc/buku/default.nix
+++ b/nixpkgs/pkgs/applications/misc/buku/default.nix
@@ -18,7 +18,7 @@ with python3.pkgs; buildPythonApplication rec {
     pylint
     flake8
     pyyaml
-    mypy_extensions
+    mypy-extensions
   ];
 
   propagatedBuildInputs = [
@@ -27,6 +27,7 @@ with python3.pkgs; buildPythonApplication rec {
     requests
     urllib3
     flask
+    flask-admin
     flask-api
     flask-bootstrap
     flask-paginate
@@ -54,6 +55,8 @@ with python3.pkgs; buildPythonApplication rec {
       --replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \
       --replace "self.assertEqual(shorturl, 'http://tny.im/yt')" "" \
       --replace "self.assertEqual(url, 'https://www.google.com')" ""
+    substituteInPlace setup.py \
+      --replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/calcurse/default.nix b/nixpkgs/pkgs/applications/misc/calcurse/default.nix
index 402198a97322..8f8934cb084b 100644
--- a/nixpkgs/pkgs/applications/misc/calcurse/default.nix
+++ b/nixpkgs/pkgs/applications/misc/calcurse/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "calcurse";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchurl {
     url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
-    sha256 = "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3";
+    sha256 = "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk";
   };
 
   buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
diff --git a/nixpkgs/pkgs/applications/misc/calibre/default.nix b/nixpkgs/pkgs/applications/misc/calibre/default.nix
index dd85156b3ef0..9701db3c0b79 100644
--- a/nixpkgs/pkgs/applications/misc/calibre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/calibre/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, mkDerivation,  fetchurl, poppler_utils, pkgconfig, libpng
+{ lib, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng
 , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite
 , unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp
-, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo, qt5
+, xdg_utils, makeDesktopItem, removeReferencesTo
 }:
 
+let
+  pypkgs = python2Packages;
+
+in
 mkDerivation rec {
   pname = "calibre";
-  version = "3.47.1";
+  version = "3.48.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    sha256 = "17lz6rawlv268vv8i5kj59rswsipq3c14066adaz1paw54zr62dk";
+    sha256 = "034m89h7j2088p324i1kya33dfldmqyynjxk3w98xiqkz7q2hi82";
   };
 
   patches = [
@@ -20,10 +24,10 @@ mkDerivation rec {
     # - switches the version update from enabled to disabled by default
     ./no_updates_dialog.patch
     # the unrar patch is not from debian
-  ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
+  ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   prePatch = ''
-    sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':"  \
+    sed -i "/pyqt_sip_dir/ s:=.*:= '${pypkgs.pyqt5_with_qtwebkit}/share/sip/PyQt5':"  \
       setup/build_environment.py
 
     # Remove unneeded files and libs
@@ -35,17 +39,21 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig qmake removeReferencesTo wrapGAppsHook ];
+  nativeBuildInputs = [ pkgconfig qmake removeReferencesTo ];
+
+  CALIBRE_PY3_PORT = builtins.toString pypkgs.isPy3k;
 
   buildInputs = [
     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
-  ] ++ (with python2Packages; [
-    apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow
+  ] ++ (with pypkgs; [
+    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
     python pyqt5_with_qtwebkit sip
-    regex msgpack beautifulsoup4
+    regex msgpack beautifulsoup4 html2text
     # the following are distributed with calibre, but we use upstream instead
     odfpy
+  ]) ++ lib.optionals (!pypkgs.isPy3k) (with pypkgs; [
+    mechanize
   ]);
 
   installPhase = ''
@@ -60,8 +68,8 @@ mkDerivation rec {
     export FC_LIB_DIR=${fontconfig.lib}/lib
     export PODOFO_INC_DIR=${podofo.dev}/include/podofo
     export PODOFO_LIB_DIR=${podofo.lib}/lib
-    export SIP_BIN=${python2Packages.sip}/bin/sip
-    ${python2Packages.python.interpreter} setup.py install --prefix=$out
+    export SIP_BIN=${pypkgs.sip}/bin/sip
+    ${pypkgs.python.interpreter} setup.py install --prefix=$out
 
     PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
       $out/lib/calibre/calibre/ebooks/metadata/*.py
@@ -111,7 +119,7 @@ mkDerivation rec {
     genericName = "E-book library management";
     icon = "@out@/share/calibre/images/library.png";
     comment = "Manage, convert, edit, and read e-books";
-    mimeType = stdenv.lib.concatStringsSep ";" [
+    mimeType = lib.concatStringsSep ";" [
       "application/x-mobipocket-subscription"
       "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
       "text/html"
@@ -174,9 +182,9 @@ mkDerivation rec {
     extraEntries = "NoDisplay=true";
   };
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Comprehensive e-book software";
-    homepage = https://calibre-ebook.com;
+    homepage = "https://calibre-ebook.com";
     license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
     maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/misc/cbatticon/default.nix b/nixpkgs/pkgs/applications/misc/cbatticon/default.nix
index 44612644359c..d6680c61eb9b 100644
--- a/nixpkgs/pkgs/applications/misc/cbatticon/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cbatticon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cbatticon";
-  version = "1.6.9";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "valr";
     repo = pname;
     rev = version;
-    sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf";
+    sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's/ -Wno-format//g' Makefile
   '';
 
-  makeFlags = "PREFIX=${placeholder "out"}";
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "Lightweight and fast battery icon that sits in the system tray";
diff --git a/nixpkgs/pkgs/applications/misc/cdrtools/fix-paths.patch b/nixpkgs/pkgs/applications/misc/cdrtools/fix-paths.patch
deleted file mode 100644
index f4a541210880..000000000000
--- a/nixpkgs/pkgs/applications/misc/cdrtools/fix-paths.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ru3 cdrtools-3.01-old/DEFAULTS/Defaults.linux cdrtools-3.01/DEFAULTS/Defaults.linux
---- cdrtools-3.01-old/DEFAULTS/Defaults.linux	2015-12-11 17:37:21.505848835 +0300
-+++ cdrtools-3.01/DEFAULTS/Defaults.linux	2015-12-11 17:37:32.155828925 +0300
-@@ -57,7 +57,8 @@
- # Installation config stuff
- #
- ###########################################################################
--INS_BASE=	/opt/schily
-+#INS_BASE=	/opt/schily
-+INS_BASE=	$(out)
- INS_KBASE=	/
- INS_RBASE=	/
- #
-Only in cdrtools-3.01/DEFAULTS: Defaults.linux.orig
-diff -ru3 cdrtools-3.01-old/RULES/rules.prg cdrtools-3.01/RULES/rules.prg
---- cdrtools-3.01-old/RULES/rules.prg	2015-12-11 17:37:21.500848844 +0300
-+++ cdrtools-3.01/RULES/rules.prg	2015-12-11 17:38:29.890720987 +0300
-@@ -43,10 +43,10 @@
- #
- #SHELL=		/bin/sh
- 
--LN=		/bin/ln
--SYMLINK=	/bin/ln -s
--RM=		/bin/rm
--MV=		/bin/mv
-+LN=		ln
-+SYMLINK=	ln -s
-+RM=		rm
-+MV=		mv
- LORDER=		lorder
- TSORT=		tsort
- CTAGS=		vctags
diff --git a/nixpkgs/pkgs/applications/misc/cheat/default.nix b/nixpkgs/pkgs/applications/misc/cheat/default.nix
index 357dd9bcb8a7..a86c1e8bc055 100644
--- a/nixpkgs/pkgs/applications/misc/cheat/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cheat/default.nix
@@ -1,36 +1,24 @@
-{ stdenv, python3, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-with python3.pkgs;
-buildPythonApplication rec {
+buildGoModule rec {
   pname = "cheat";
-  version = "2.5.1";
-
-  propagatedBuildInputs = [ docopt pygments termcolor ];
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "chrisallenlane";
     repo = "cheat";
     rev = version;
-    sha256 = "1i543hvg1yizamfd83bawflfcb500hvc72i59ikck8j1hjk50hsl";
+    sha256 = "19w1admdcgld9vlc4fsyc5d9bi6rmwhr2x2ji43za2vjlk34hnnx";
   };
-  # no tests available
-  doCheck = false;
 
-  postInstall = ''
-    install -D man1/cheat.1.gz $out/share/man/man1/cheat.1.gz
-    mv $out/${python3.sitePackages}/etc $out/
-    mv $out/${python3.sitePackages}/usr/share/* $out/share/
-    rm -r $out/${python3.sitePackages}/usr
-  '';
+  subPackages = [ "cmd/cheat" ];
 
-  makeWrapperArgs = [
-    "--suffix" "CHEAT_PATH" ":" "$out/share/cheat"
-  ];
+  modSha256 = "189cqnfl403f4lk7g9v68mwk93ciglqli639dk4x9091lvn5gq5q";
 
   meta = with stdenv.lib; {
-    description = "cheat allows you to create and view interactive cheatsheets on the command-line";
+    description = "Create and view interactive cheatsheets on the command-line";
     maintainers = with maintainers; [ mic92 ];
     license = with licenses; [ gpl3 mit ];
-    homepage = https://github.com/chrisallenlane/cheat;
+    homepage = "https://github.com/chrisallenlane/cheat";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
index 856853e3b1cb..e06ee14a2d31 100644
--- a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
@@ -1,36 +1,23 @@
-{ stdenv, fetchurl, pythonPackages, gettext }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
+{ lib, fetchurl, pythonPackages, gettext }:
 
+pythonPackages.buildPythonApplication rec {
   pname = "cherrytree";
-  version = "0.38.8";
+  version = "0.38.10";
 
   src = fetchurl {
     url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
-    sha256 = "1ns87xl2sgrf3nha4xkhp0xcxlycqszlp6xdrn95lg6vzm0fa8dg";
+    sha256 = "1bj83b7lwqir13fp9slcdn8mgign06vywy42x8zvsp22fjn4p7f7";
   };
 
-  buildInputs = with pythonPackages;
-  [ python gettext wrapPython pygtk dbus-python pygtksourceview ];
+  nativeBuildInputs = [ gettext ];
 
-  pythonPath = with pythonPackages;
-  [ pygtk dbus-python pygtksourceview ];
+  propagatedBuildInputs = with pythonPackages; [ pygtk dbus-python pygtksourceview ];
 
   patches = [ ./subprocess.patch ];
 
-  installPhase = ''
-    python setup.py install --prefix="$out"
-
-    for file in "$out"/bin/*; do
-        wrapProgram "$file" \
-            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
-    done
-  '';
-
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "An hierarchical note taking application";
     longDescription = ''
       Cherrytree is an hierarchical note taking application,
@@ -42,9 +29,8 @@ stdenv.mkDerivation rec {
       around your hard drive can be conveniently placed into a
       Cherrytree document where you can easily find it.
     '';
-    homepage = http://www.giuspen.com/cherrytree;
+    homepage = "http://www.giuspen.com/cherrytree";
     license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cipher/default.nix b/nixpkgs/pkgs/applications/misc/cipher/default.nix
new file mode 100644
index 000000000000..cdcfcc00481a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/cipher/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkgconfig
+, pantheon
+, python3
+, gettext
+, glib
+, gtk3
+, libgee
+, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "cipher";
+  version = "2.5.0";
+
+  src = fetchFromGitHub {
+    owner = "arshubham";
+    repo = "cipher";
+    rev = version;
+    sha256 = "00azc5ck17zkdypfza6x1viknwhimd9fqgk2ybff3mx6aphmla7a";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    vala
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    pantheon.granite
+    libgee
+  ];
+
+  postPatch = ''
+    substituteInPlace data/com.github.arshubham.cipher.desktop.in \
+      --replace "gio" "${glib.bin}/bin/gio"
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A simple application for encoding and decoding text, designed for elementary OS";
+    homepage = "https://github.com/arshubham/cipher";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/clight/clightd.nix b/nixpkgs/pkgs/applications/misc/clight/clightd.nix
index 43ff1d73f78f..f9c08d1f00a1 100644
--- a/nixpkgs/pkgs/applications/misc/clight/clightd.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/clight/default.nix b/nixpkgs/pkgs/applications/misc/clight/default.nix
index 829fd4e12231..a2e452562698 100644
--- a/nixpkgs/pkgs/applications/misc/clight/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/clipit/default.nix b/nixpkgs/pkgs/applications/misc/clipit/default.nix
index 7a4e25560c7b..129516a44982 100644
--- a/nixpkgs/pkgs/applications/misc/clipit/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clipit/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool, hicolor-icon-theme }:
+{ fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool }:
 
 stdenv.mkDerivation rec {
   pname = "clipit";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk2 xdotool hicolor-icon-theme ];
+  buildInputs = [ intltool gtk2 xdotool ];
 
   meta = with stdenv.lib; {
     description = "Lightweight GTK Clipboard Manager";
diff --git a/nixpkgs/pkgs/applications/misc/cmatrix/default.nix b/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
index 9a008a886fac..9f86ec94f184 100644
--- a/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
@@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simulates the falling characters theme from The Matrix movie";
+    license = licenses.gpl3;
     longDescription = ''
       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/nixpkgs/pkgs/applications/misc/cointop/default.nix b/nixpkgs/pkgs/applications/misc/cointop/default.nix
index 099b06c078d4..29700774219e 100644
--- a/nixpkgs/pkgs/applications/misc/cointop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cointop/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.3.4";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = version;
-    sha256 = "0nw6vzp0c5r8bwnlvgzj4hzdah44p5pp03d2bcr1lkw8np8fy65n";
+    sha256 = "067jsn66xs30d5yz9z8cvpxbvh8a95kllkb2wk134c43bfxy2m34";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
diff --git a/nixpkgs/pkgs/applications/misc/copyq/default.nix b/nixpkgs/pkgs/applications/misc/copyq/default.nix
index 2aad4d352c97..58a85f8f6e97 100644
--- a/nixpkgs/pkgs/applications/misc/copyq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/copyq/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qtscript, qtwebkit, libXfixes, libXtst
-, qtx11extras, git
+{ lib, mkDerivation, fetchFromGitHub, cmake
+, qtbase, qtscript, qtwebkit, libXfixes, libXtst, qtx11extras, git
 , webkitSupport ? true
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "CopyQ";
-  version = "3.9.0";
+  version = "3.9.3";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "1l9f0hg2ggy944sjlyiyglln5mjm9fvgmvwp3pnvmmc6mfbmslq3";
+    sha256 = "0wlwq9xg8rzsbj0b29z358k4mbrqy04iraa8x0p26pa95yskgcma";
   };
 
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
     git qtbase qtscript libXfixes libXtst qtx11extras
-  ] ++ stdenv.lib.optional webkitSupport qtwebkit;
+  ] ++ lib.optional webkitSupport qtwebkit;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage    = https://hluk.github.io/CopyQ;
     description = "Clipboard Manager with Advanced Features";
     license     = licenses.gpl3;
diff --git a/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix b/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
index 0601514546f2..c09457d2c656 100644
--- a/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
@@ -5,13 +5,13 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   pname = "coursera-dl";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "coursera-dl";
     repo = "coursera-dl";
     rev = version;
-    sha256 = "0dn7a6s98dwba62r0dyabq8pryzga4b2wpx88i9bmp7ja1b1f92f";
+    sha256 = "0akgwzrsx094jj30n4bd2ilwgva4qxx38v3bgm69iqfxi8c2bqbk";
   };
 
   nativeBuildInputs = with pythonPackages; [ pandoc ];
diff --git a/nixpkgs/pkgs/applications/misc/cpp-ethereum/default.nix b/nixpkgs/pkgs/applications/misc/cpp-ethereum/default.nix
index 0e9ff40cffa4..dae25f6b8176 100644
--- a/nixpkgs/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cura/default.nix b/nixpkgs/pkgs/applications/misc/cura/default.nix
index 084881f75d97..7187b8c00991 100644
--- a/nixpkgs/pkgs/applications/misc/cura/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/default.nix
@@ -2,20 +2,20 @@
 
 mkDerivation rec {
   pname = "cura";
-  version = "4.2.1";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "Cura";
-    rev = version;
-    sha256 = "1qnai8vmgy5lx3lapw96j41i8mw9p6r99i3qzs709l9yzrix6l86";
+    rev = "v${version}";
+    sha256 = "131n36qhdfky584wr3zv73ckjjprwaqb5fih8yln2syf8b7ziwlz";
   };
 
   materials = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "fdm_materials";
-    rev = "4.2.0"; # TODO: change back to `version` after 4.2.1
-    sha256 = "17x43v0np58qbdfk3wz1k7i9pl0plndx9gmf7y0n23nl9f1qzb0m";
+    rev = version;
+    sha256 = "141cv1f2pv2pznhgj32zg8bw3kmw9002g6rx16jq7lhclr0x3xls";
   };
 
   buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ];
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/curaengine.nix b/nixpkgs/pkgs/applications/misc/cura/lulzbot/curaengine.nix
index 90f5f307d853..aad9b9bee89f 100644
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/curaengine.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/lulzbot/curaengine.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine-lulzBot";
-  version = "3.6.18";
+  version = "3.6.21";
 
   src = fetchgit {
     url = https://code.alephobjects.com/source/curaengine-lulzbot.git;
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/default.nix b/nixpkgs/pkgs/applications/misc/cura/lulzbot/default.nix
index 2d32d1895f9b..c67fcb74047d 100644
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/lulzbot/default.nix
@@ -1,45 +1,44 @@
-{ lib, callPackage, fetchgit, cmake, jq, python3Packages, qtbase, qtquickcontrols2 }:
+{ lib, mkDerivation, wrapQtAppsHook, callPackage, fetchgit, cmake, jq, python3, qtbase, qtquickcontrols2 }:
 
 let
   # admittedly, we're using (printer firmware) blobs when we could compile them ourselves.
-  curaBinaryDataVersion = "3.6.18"; # Marlin v2.0.0.144. Keep this accurate wrt. the below.
+  curaBinaryDataVersion = "3.6.21"; # Marlin v2.0.0.174 for Bio, v2.0.0.144 for others.
   curaBinaryData = fetchgit {
     url = https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git;
-    rev = "cdc046494bbfe1f65bfb34659a257eef9a0100a0";
-    sha256 = "0v0s036gxdjiglas2yzw95alv60sw3pq5k1zrrhmw9mxr4irrblb";
+    rev = "5c75d0f6c10d8b7a903e2072a48cd1f08059509e";
+    sha256 = "1qdsj6rczwzdwzyr7nz7fnypbphckjrnwl8c9dr6izsxyzs465c4";
   };
 
   libarcusLulzbot = callPackage ./libarcus.nix {
-    inherit (python3Packages) buildPythonPackage sip pythonOlder;
+    inherit (python3.pkgs) buildPythonPackage sip pythonOlder;
   };
   libsavitarLulzbot = callPackage ./libsavitar.nix {
-    inherit (python3Packages) buildPythonPackage sip pythonOlder;
+    inherit (python3.pkgs) buildPythonPackage sip pythonOlder;
   };
 
-  inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
+  inherit (python3.pkgs) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
   curaengine = callPackage ./curaengine.nix {
     inherit libarcusLulzbot;
   };
   uraniumLulzbot = callPackage ./uranium.nix {
     inherit callPackage libarcusLulzbot;
-    inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
+    inherit (python3.pkgs) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
   };
 in
-python3Packages.buildPythonApplication rec {
-  name = "cura-lulzbot-${version}";
-  version = "3.6.18";
+mkDerivation rec {
+  pname = "cura-lulzbot";
+  version = "3.6.21";
 
   src = fetchgit {
     url = https://code.alephobjects.com/source/cura-lulzbot.git;
-    rev = "71f1ac5a2b9f535175a3858a565930348358a9ca";
-    sha256 = "0by06fpxvdgy858lwhsccbmvkdq67j2s1cz8v6jnrnjrsxk7vzka";
+    rev = "7faeb18604c83004846a02c60cb240708db0034f";
+    sha256 = "10q38s8c8x6xkh1vns4p3iqa5y267vrjh5vq8h55mg1q5001scyq";
   };
 
-  format = "other"; # using cmake to build
   buildInputs = [ qtbase qtquickcontrols2 ];
   # numpy-stl temporarily disabled due to https://code.alephobjects.com/T8415
-  propagatedBuildInputs = with python3Packages; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl
-  nativeBuildInputs = [ cmake python3Packages.wrapPython ];
+  propagatedBuildInputs = with python3.pkgs; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl
+  nativeBuildInputs = [ cmake python3.pkgs.wrapPython ];
 
   cmakeFlags = [
     "-DURANIUM_DIR=${uraniumLulzbot.src}"
@@ -68,6 +67,11 @@ python3Packages.buildPythonApplication rec {
     EOF
   '';
 
+  postFixup = ''
+    wrapPythonPrograms
+    wrapQtApp "$out/bin/cura-lulzbot"
+  '';
+
   meta = with lib; {
     description = "3D printer / slicing GUI built on top of the Uranium framework";
     homepage = https://code.alephobjects.com/diffusion/CURA/;
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/libarcus.nix b/nixpkgs/pkgs/applications/misc/cura/lulzbot/libarcus.nix
index 4d32328af8b2..733aa27da854 100644
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/libarcus.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/lulzbot/libarcus.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage {
   pname = "libarcus";
-  version = "3.6.18";
+  version = "3.6.21";
   format = "other";
 
   src = fetchgit {
     url = https://code.alephobjects.com/source/arcus.git;
-    rev = "c795c0644591703ce04e1fd799fc97b1539031aa";
-    sha256 = "1yap9wbqxbjx3kqyqcsldny4mlcm33ywiwpdjlfgs0wjahfg4ip0";
+    rev = "aeda02d7727f45b657afb72cef203283fbf09325";
+    sha256 = "1ak0d4k745sx7paic27was3s4987z9h3czscjs21hxbi6qy83g99";
   };
 
   disabled = pythonOlder "3.4.0";
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/libsavitar.nix b/nixpkgs/pkgs/applications/misc/cura/lulzbot/libsavitar.nix
index f8ffbf041bda..e6c277959e03 100644
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/libsavitar.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/lulzbot/libsavitar.nix
@@ -3,13 +3,13 @@
 buildPythonPackage {
   pname = "libsavitar-lulzbot";
   name = "libsavitar-lulzbot";
-  version = "3.6.18";
+  version = "3.6.21";
   format = "other";
 
   src = fetchgit {
     url = https://code.alephobjects.com/source/savitar.git;
-    rev = "988a26d35b2a1d042f8c38938ccda77ab146af7d";
-    sha256 = "146agw3a92azkgs5ahmn2rrck4an78m2r3pcss6ihmb60lx165k7";
+    rev = "ee8ada42c55f54727ce4d275c294ba426d3d8234";
+    sha256 = "1wm5ii3cmni8dk3c65kw4wglpypkdsfpgd480d3hc1r5bqpq0d6j";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch b/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch
deleted file mode 100644
index 2c666a98c8f7..000000000000
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/UM/Qt/Bindings/i18nCatalogProxy.py b/UM/Qt/Bindings/i18nCatalogProxy.py
-index 7e2bb16c..cec70dd6 100644
---- a/UM/Qt/Bindings/i18nCatalogProxy.py
-+++ b/UM/Qt/Bindings/i18nCatalogProxy.py
-@@ -86,9 +86,9 @@ class i18nCatalogProxy(QObject): # [CodeStyle: Ultimaker code style requires cla
-     #   \todo Move this to a more generic place so more things can use it.
-     def _wrapFunction(self, engine, this_object, function):
-         # JavaScript code that wraps the Python method call in a closure
--        wrap_js = """function(this_object) {{
-+        wrap_js = """(function(this_object) {{
-             return function({args}) {{ return this_object.{function}({args}) }}
--        }}"""
-+        }})"""
- 
-         # Get the function name and argument list.
-         function_name = function.__name__
diff --git a/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium.nix b/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium.nix
index 1ad755cdfbdd..acffc741d578 100644
--- a/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/lulzbot/uranium.nix
@@ -2,15 +2,15 @@
 , pyqt5, numpy, scipy, shapely, libarcusLulzbot, doxygen, gettext, pythonOlder }:
 
 buildPythonPackage {
-  version = "3.6.18";
+  version = "3.6.21";
   pname = "uranium";
   name = "uraniumLulzbot";
   format = "other";
 
   src = fetchgit {
     url = https://code.alephobjects.com/diffusion/U/uranium.git;
-    rev = "33df88a7414375ac924ac761113baa48d2ced2b4";
-    sha256 = "109cbv7y105crbrzfp70lmcr9n20ap5c97i5qd46fmxbx86yj7f8";
+    rev = "54d911edd2551c5875c554928896122835a0dd6c";
+    sha256 = "04bym3vwikaxw8ab0mymv9sc9n8i7yw5kfsv99ic811g9lzz3j1i";
   };
 
   disabled = pythonOlder "3.5.0";
@@ -19,9 +19,6 @@ buildPythonPackage {
   propagatedBuildInputs = [ pyqt5 numpy scipy shapely libarcusLulzbot ];
   nativeBuildInputs = [ cmake doxygen ];
 
-  # Qt 5.12+ support; see https://code.alephobjects.com/rU70b73ba0a270799b9eacf78e400aa8b8ab3fb2ee
-  patches = [ ./uranium-qt512-support.patch ];
-
   postPatch = ''
     sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
     sed -i \
diff --git a/nixpkgs/pkgs/applications/misc/cura/plugins.nix b/nixpkgs/pkgs/applications/misc/cura/plugins.nix
index bdbf8f24136e..35d6c97fa0b5 100644
--- a/nixpkgs/pkgs/applications/misc/cura/plugins.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/plugins.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, python3Packages }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, python3Packages }:
 
 let
 
@@ -6,13 +6,13 @@ let
 
     octoprint = stdenv.mkDerivation rec {
       pname = "Cura-OctoPrintPlugin";
-      version = "3.5.8";
+      version = "3.5.11";
 
       src = fetchFromGitHub {
         owner = "fieldOfView";
         repo = pname;
-        rev = "46548cbb8d32d10fe3aee12f272d5d8f34271738";
-        sha256 = "0pllba8qx1746pnf5ccbkqn2j6f8hhknpgyrrv244ykvigrlczx0";
+        rev = "3cef0a955ae7ccfa5c07d20d9d147c530cc9d6ec";
+        sha256 = "0q9bkwgpsbfwkp1bfaxq3wm9pbwx5d7ji0jr7cwc4y5nizji81is";
       };
 
       nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/curaengine/default.nix b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
index 3e4c77aafc6a..6594deb84a5a 100644
--- a/nixpkgs/pkgs/applications/misc/curaengine/default.nix
+++ b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "13hbzsx4fwrbwviyhh8z04gs9b0m8fjl8a31ci7gr2dfdmgjs6pd";
+    sha256 = "1m89bp4g0dldh7vv1clj110m29ajiaghdq7b49mb3y8ifgrf8rdi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
index ffa9b4d071b1..d0011eee9c14 100644
--- a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.2.1";
+  version = "6.3.2";
 
   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 = "1ix6isahpk7zk741wdx5cf4i13wc5gp0j1gj4ja80bzfswbc38na";
+    sha256 = "0yr79p4vdg6s6c8sry6qnf2ifjcjdapn0sff2crsnz331rsh27sm";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/ddgr/default.nix b/nixpkgs/pkgs/applications/misc/ddgr/default.nix
index 3cbb091a4e21..7d211b26a422 100644
--- a/nixpkgs/pkgs/applications/misc/ddgr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ddgr/default.nix
@@ -1,19 +1,25 @@
 {stdenv, fetchFromGitHub, python3}:
 
 stdenv.mkDerivation rec {
-  version = "1.6";
+  version = "1.7";
   pname = "ddgr";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "ddgr";
     rev = "v${version}";
-    sha256 = "04ybbjsf9hpn2p5cjjm15cwvv0mwrmdi19iifrym6ps3rmll0p3c";
+    sha256 = "0kcl8z9w8iwn3pxay1pfahhw6vs2l1dp60yfv3i19in4ac9va7m0";
   };
 
   buildInputs = [ python3 ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preBuild = ''
+    # Version 1.7 was released as 1.6
+    # https://github.com/jarun/ddgr/pull/95
+    sed -i "s/_VERSION_ = '1.6'/_VERSION_ = '1.7'/" ddgr
+  '';
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions/"
diff --git a/nixpkgs/pkgs/applications/misc/diffpdf/default.nix b/nixpkgs/pkgs/applications/misc/diffpdf/default.nix
index 37ed8eb23fb6..957d3ee72bbb 100644
--- a/nixpkgs/pkgs/applications/misc/diffpdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/diffpdf/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, qmake, qttools, qtbase, poppler }:
+{ stdenv, mkDerivation, fetchurl, fetchpatch, qmake, qttools, qtbase, poppler }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "2.1.3";
   pname = "diffpdf";
 
diff --git a/nixpkgs/pkgs/applications/misc/digitalbitbox/default.nix b/nixpkgs/pkgs/applications/misc/digitalbitbox/default.nix
index a4f6b1ce9881..a6ae45306552 100644
--- a/nixpkgs/pkgs/applications/misc/digitalbitbox/default.nix
+++ b/nixpkgs/pkgs/applications/misc/digitalbitbox/default.nix
@@ -138,5 +138,6 @@ in stdenv.mkDerivation rec {
       vidbina
     ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch
new file mode 100644
index 000000000000..89ff3759451d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch
@@ -0,0 +1,72 @@
+commit 970fb11a296b5bbdc5e8425851253d2c5913c45e
+Author: Leon Bottou <leon@bottou.org>
+Date:   Tue Mar 26 20:36:31 2019 -0400
+
+    Fix bug#296
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index a6a39e0..0a0fac6 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -299,42 +299,44 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+          memcpy((char*) strings+strings_size, buffer, length);
+       }
+       DEBUG_MSG("size of decompressed names block=" << strings.size() << "\n");
+-      if (strings[strings.size()-1] != 0)
+-        {
+-         int strings_size=strings.size();
+-         strings.resize(strings_size+1);
+-         strings[strings_size] = 0;
+-        }
++      int strings_size=strings.size();
++      strings.resize(strings_size+3);
++      memset((char*) strings+strings_size, 0, 4);
+       
+-         // Copy names into the files
++      // Copy names into the files
+       const char * ptr=strings;
+       for(pos=files_list;pos;++pos)
+       {
+          GP<File> file=files_list[pos];
+-
++         if (ptr >= (const char*)strings + strings_size)
++           G_THROW( "DjVu document is corrupted (DjVmDir)" );
+          file->id=ptr;
+          ptr+=file->id.length()+1;
+          if (file->flags & File::HAS_NAME)
+          {
+-            file->name=ptr;
+-            ptr+=file->name.length()+1;
+-         } else
++           file->name=ptr;
++           ptr+=file->name.length()+1;
++         }
++         else
+          {
+             file->name=file->id;
+          }
+          if (file->flags & File::HAS_TITLE)
+          {
+-            file->title=ptr;
+-       ptr+=file->title.length()+1;
+-         } else
+-       file->title=file->id;
+-   /* msr debug:  multipage file, file->title is null.  
++           file->title=ptr;
++           ptr+=file->title.length()+1;
++         }
++         else
++         {
++           file->title=file->id;
++         }
++         /* msr debug:  multipage file, file->title is null.  
+          DEBUG_MSG(file->name << ", " << file->id << ", " << file->title << ", " <<
+                    file->offset << ", " << file->size << ", " <<
+                    file->is_page() << "\n"); */
+       }
+ 
+-         // Check that there is only one file with SHARED_ANNO flag on
++      // Check that there is only one file with SHARED_ANNO flag on
+       int shared_anno_cnt=0;
+       for(pos=files_list;pos;++pos)
+       {
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch
new file mode 100644
index 000000000000..ef1905338fba
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch
@@ -0,0 +1,39 @@
+commit b1f4e1b2187d9e5010cd01ceccf20b4a11ce723f
+Author: Leon Bottou <leon@bottou.org>
+Date:   Tue Mar 26 20:45:46 2019 -0400
+
+    fix for bug #297
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index 0a0fac6..5a49015 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -309,7 +309,7 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+       {
+          GP<File> file=files_list[pos];
+          if (ptr >= (const char*)strings + strings_size)
+-           G_THROW( "DjVu document is corrupted (DjVmDir)" );
++           G_THROW( ByteStream::EndOfFile );
+          file->id=ptr;
+          ptr+=file->id.length()+1;
+          if (file->flags & File::HAS_NAME)
+diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
+index 0e487f0..c2fdbe4 100644
+--- a/libdjvu/GBitmap.cpp
++++ b/libdjvu/GBitmap.cpp
+@@ -890,11 +890,13 @@ GBitmap::read_rle_raw(ByteStream &bs)
+   int c = 0;
+   while (n >= 0)
+     {
+-      bs.read(&h, 1);
++      if (bs.read(&h, 1) <= 0)
++        G_THROW( ByteStream::EndOfFile );
+       int x = h;
+       if (x >= (int)RUNOVERFLOWVALUE)
+         {
+-          bs.read(&h, 1);
++          if (bs.read(&h, 1) <= 0)
++            G_THROW( ByteStream::EndOfFile );
+           x = h + ((x - (int)RUNOVERFLOWVALUE) << 8);
+         }
+       if (c+x > ncolumns)
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch
new file mode 100644
index 000000000000..6094be883385
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch
@@ -0,0 +1,111 @@
+commit e15d51510048927f172f1bf1f27ede65907d940d
+Author: Leon Bottou <leon@bottou.org>
+Date:   Mon Apr 8 22:25:55 2019 -0400
+
+    bug 299 fixed
+
+diff --git a/libdjvu/GContainer.h b/libdjvu/GContainer.h
+index 96b067c..0140211 100644
+--- a/libdjvu/GContainer.h
++++ b/libdjvu/GContainer.h
+@@ -550,52 +550,61 @@ public:
+ template <class TYPE> void
+ GArrayTemplate<TYPE>::sort(int lo, int hi)
+ {
+-  if (hi <= lo)
+-    return;
+-  if (hi > hibound || lo<lobound)
+-    G_THROW( ERR_MSG("GContainer.illegal_subscript") );
+   TYPE *data = (TYPE*)(*this);
+-  // Test for insertion sort
+-  if (hi <= lo + 50)
++  while(true)
+     {
+-      for (int i=lo+1; i<=hi; i++)
++      if (hi <= lo)
++        return;
++      if (hi > hibound || lo<lobound)
++        G_THROW( ERR_MSG("GContainer.illegal_subscript") );
++      // Test for insertion sort
++      if (hi <= lo + 50)
+         {
+-          int j = i;
+-          TYPE tmp = data[i];
+-          while ((--j>=lo) && !(data[j]<=tmp))
+-            data[j+1] = data[j];
+-          data[j+1] = tmp;
++          for (int i=lo+1; i<=hi; i++)
++            {
++              int j = i;
++              TYPE tmp = data[i];
++              while ((--j>=lo) && !(data[j]<=tmp))
++                data[j+1] = data[j];
++              data[j+1] = tmp;
++            }
++          return;
+         }
+-      return;
+-    }
+-  // -- determine suitable quick-sort pivot
+-  TYPE tmp = data[lo];
+-  TYPE pivot = data[(lo+hi)/2];
+-  if (pivot <= tmp)
+-    { tmp = pivot; pivot=data[lo]; }
+-  if (data[hi] <= tmp)
+-    { pivot = tmp; }
+-  else if (data[hi] <= pivot)
+-    { pivot = data[hi]; }
+-  // -- partition set
+-  int h = hi;
+-  int l = lo;
+-  while (l < h)
+-    {
+-      while (! (pivot <= data[l])) l++;
+-      while (! (data[h] <= pivot)) h--;
+-      if (l < h)
++      // -- determine median-of-three pivot
++      TYPE tmp = data[lo];
++      TYPE pivot = data[(lo+hi)/2];
++      if (pivot <= tmp)
++        { tmp = pivot; pivot=data[lo]; }
++      if (data[hi] <= tmp)
++        { pivot = tmp; }
++      else if (data[hi] <= pivot)
++        { pivot = data[hi]; }
++      // -- partition set
++      int h = hi;
++      int l = lo;
++      while (l < h)
+         {
+-          tmp = data[l];
+-          data[l] = data[h];
+-          data[h] = tmp;
+-          l = l+1;
+-          h = h-1;
++          while (! (pivot <= data[l])) l++;
++          while (! (data[h] <= pivot)) h--;
++          if (l < h)
++            {
++              tmp = data[l];
++              data[l] = data[h];
++              data[h] = tmp;
++              l = l+1;
++              h = h-1;
++            }
++        }
++      // -- recurse, small partition first
++      //    tail-recursion elimination
++      if (h - lo <= hi - l) {
++        sort(lo,h);
++        lo = l; // sort(l,hi)
++      } else {
++        sort(l,hi);
++        hi = h; // sort(lo,h)
+       }
+     }
+-  // -- recursively restart
+-  sort(lo, h);
+-  sort(l, hi);
+ }
+ 
+ template<class TYPE> inline TYPE&
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch
new file mode 100644
index 000000000000..01108f9ee738
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch
@@ -0,0 +1,28 @@
+commit 9658b01431cd7ff6344d7787f855179e73fe81a7
+Author: Leon Bottou <leon@bottou.org>
+Date:   Mon Apr 8 22:55:38 2019 -0400
+
+    fix bug #298
+
+diff --git a/libdjvu/GBitmap.h b/libdjvu/GBitmap.h
+index e8e0c9b..ca89a19 100644
+--- a/libdjvu/GBitmap.h
++++ b/libdjvu/GBitmap.h
+@@ -566,7 +566,7 @@ GBitmap::operator[](int row)
+ {
+   if (!bytes) 
+     uncompress();
+-  if (row<0 || row>=nrows) {
++  if (row<0 || row>=nrows || !bytes) {
+ #ifndef NDEBUG
+     if (zerosize < bytes_per_row + border)
+       G_THROW( ERR_MSG("GBitmap.zero_small") );
+@@ -581,7 +581,7 @@ GBitmap::operator[](int row) const
+ {
+   if (!bytes) 
+     ((GBitmap*)this)->uncompress();
+-  if (row<0 || row>=nrows) {
++  if (row<0 || row>=nrows || !bytes) {
+ #ifndef NDEBUG
+     if (zerosize < bytes_per_row + border)
+       G_THROW( ERR_MSG("GBitmap.zero_small") );
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch
new file mode 100644
index 000000000000..132fed794888
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch
@@ -0,0 +1,32 @@
+commit c8bec6549c10ffaa2f2fbad8bbc629efdf0dd125
+Author: Leon Bottou <leon@bottou.org>
+Date:   Thu Oct 17 22:20:31 2019 -0400
+
+    Fixed bug 309
+
+diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
+index 00752a0..f81eaeb 100644
+--- a/libdjvu/IW44EncodeCodec.cpp
++++ b/libdjvu/IW44EncodeCodec.cpp
+@@ -405,7 +405,7 @@ filter_fv(short *p, int w, int h, int rowsize, int scale)
+   int y = 0;
+   int s = scale*rowsize;
+   int s3 = s+s+s;
+-  h = ((h-1)/scale)+1;
++  h = (h>0) ? ((h-1)/scale)+1 : 0;
+   y += 1;
+   p += s;
+   while (y-3 < h)
+diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
+index 6d0df3b..7109952 100644
+--- a/tools/ddjvu.cpp
++++ b/tools/ddjvu.cpp
+@@ -279,7 +279,7 @@ render(ddjvu_page_t *page, int pageno)
+       prect.h = (ih * 100) / dpi;
+     }
+   /* Process aspect ratio */
+-  if (flag_aspect <= 0)
++  if (flag_aspect <= 0 && iw>0 && ih>0)
+     {
+       double dw = (double)iw / prect.w;
+       double dh = (double)ih / prect.h;
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/default.nix b/nixpkgs/pkgs/applications/misc/djvulibre/default.nix
index 0b685e04a6fc..afb7b6cf1391 100644
--- a/nixpkgs/pkgs/applications/misc/djvulibre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/default.nix
@@ -1,22 +1,45 @@
-{ stdenv, fetchurl, libjpeg, libtiff, librsvg, libiconv }:
+{ stdenv
+, fetchurl
+, libjpeg
+, libtiff
+, librsvg
+, libiconv
+}:
 
 stdenv.mkDerivation rec {
-  name = "djvulibre-3.5.27";
+  pname = "djvulibre";
+  version = "3.5.27";
 
   src = fetchurl {
-    url = "mirror://sourceforge/djvu/${name}.tar.gz";
+    url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
     sha256 = "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6";
   };
 
   outputs = [ "bin" "dev" "out" ];
 
-  buildInputs = [ libjpeg libtiff librsvg libiconv ];
+  buildInputs = [
+    libjpeg
+    libtiff
+    librsvg
+    libiconv
+  ];
+
+  patches = [
+    ./CVE-2019-18804.patch
+    # This one is needed to make the following
+    # two CVE patches apply cleanly
+    ./fix_hongfuzz_crash.patch
+    ./CVE-2019-15142.patch
+    ./CVE-2019-15143.patch
+    ./CVE-2019-15144.patch
+    ./CVE-2019-15145.patch
+  ];
 
   meta = with stdenv.lib; {
-    description = "A library and viewer for the DJVU file format for scanned images";
-    homepage = http://djvu.sourceforge.net;
+    description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files";
+    homepage = "http://djvu.sourceforge.net";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ Anton-Latukha ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch b/nixpkgs/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch
new file mode 100644
index 000000000000..609b41cd9db7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch
@@ -0,0 +1,51 @@
+commit 89d71b01d606e57ecec2c2930c145bb20ba5bbe3
+Author: Leon Bottou <leon@bottou.org>
+Date:   Fri Jul 13 08:46:22 2018 -0400
+
+    fix hongfuzz crash.
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index d322323..a6a39e0 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -299,7 +299,13 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+          memcpy((char*) strings+strings_size, buffer, length);
+       }
+       DEBUG_MSG("size of decompressed names block=" << strings.size() << "\n");
+-   
++      if (strings[strings.size()-1] != 0)
++        {
++         int strings_size=strings.size();
++         strings.resize(strings_size+1);
++         strings[strings_size] = 0;
++        }
++      
+          // Copy names into the files
+       const char * ptr=strings;
+       for(pos=files_list;pos;++pos)
+diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
+index 6a5cd90..828addc 100644
+--- a/libdjvu/miniexp.cpp
++++ b/libdjvu/miniexp.cpp
+@@ -1065,7 +1065,7 @@ print_c_string(const char *s, char *d, int flags, size_t len)
+       c = (unsigned char)(*s++);
+       if (char_quoted(c, flags))
+         {
+-          char buffer[10];
++          char buffer[16]; /* 10+1 */
+           static const char *tr1 = "\"\\tnrbf";
+           static const char *tr2 = "\"\\\t\n\r\b\f";
+           buffer[0] = buffer[1] = 0;
+diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp
+index 7ed13ad..fab9472 100644
+--- a/tools/csepdjvu.cpp
++++ b/tools/csepdjvu.cpp
+@@ -1834,7 +1834,7 @@ main(int argc, const char **argv)
+                 ByteStream::create(GURL::Filename::UTF8(arg),"rb");
+               BufferByteStream ibs(*fbs);
+               do {
+-                char pagename[16];
++                char pagename[20];
+                 sprintf(pagename, "p%04d.djvu", ++pageno);
+                 if (opts.verbose > 1)
+                   DjVuPrintErrorUTF8("%s","--------------------\n");
diff --git a/nixpkgs/pkgs/applications/misc/doomseeker/default.nix b/nixpkgs/pkgs/applications/misc/doomseeker/default.nix
index 1332b265d54c..fbe21dd9a5b2 100644
--- a/nixpkgs/pkgs/applications/misc/doomseeker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/doomseeker/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-error=format-security";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=format-security";
 
   meta = with stdenv.lib; {
     homepage = http://doomseeker.drdteam.org/;
diff --git a/nixpkgs/pkgs/applications/misc/dupeguru/default.nix b/nixpkgs/pkgs/applications/misc/dupeguru/default.nix
new file mode 100644
index 000000000000..0e7155f374d1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/dupeguru/default.nix
@@ -0,0 +1,62 @@
+{stdenv, python3Packages, gettext, qt5, fetchFromGitHub}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "dupeguru";
+  version = "4.0.4";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "arsenetar";
+    repo = "dupeguru";
+    rev = "${version}";
+    sha256 = "0ma4f1c6vmpz8gi4sdy43x1ik7wh42wayvk1iq520d3i714kfcpy";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    gettext
+    python3Packages.pyqt5
+    qt5.wrapQtAppsHook
+  ];
+
+  pythonPath = with python3Packages; [
+    pyqt5
+    send2trash
+    sphinx
+    polib
+    hsaudiotag3k
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "NO_VENV=1"
+  ];
+
+  # TODO: package pytest-monkeyplus for running tests
+  # https://github.com/NixOS/nixpkgs/pull/75054/files#r357690123
+  doCheck = false;
+
+  # Avoid double wrapping Python programs.
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    # TODO: A bug in python wrapper
+    # see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
+    makeWrapperArgs="''${qtWrapperArgs[@]}"
+  '';
+
+  postFixup = ''
+    # Executable in $out/bin is a symlink to $out/share/dupeguru/run.py
+    # so wrapPythonPrograms hook does not handle it automatically.
+    wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI tool to find duplicate files in a system";
+    homepage = "https://github.com/arsenetar/dupeguru";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.novoxudonoser ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/eaglemode/default.nix b/nixpkgs/pkgs/applications/misc/eaglemode/default.nix
index ae83802a7b44..5d99cbaa988c 100644
--- a/nixpkgs/pkgs/applications/misc/eaglemode/default.nix
+++ b/nixpkgs/pkgs/applications/misc/eaglemode/default.nix
@@ -3,11 +3,11 @@ librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib, ghostscript, makeWra
 
 stdenv.mkDerivation rec {
   pname = "eaglemode";
-  version = "0.94.1";
+  version = "0.94.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/eaglemode/${pname}-${version}.tar.bz2";
-    sha256 = "0mpnk0fzy02jxbafipkdkj48m6k38h42j599gw4sdnag7ymlms89";
+    sha256 = "10zxih7gmyhq0az1mnsw2x563l4bbwcns794s4png8rf4d6hjszm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
index 913afd766d3d..e6cfca5667e1 100644
--- a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }:
+{ lib, fetchFromGitHub, python3Packages, qtbase, wrapQtAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.0.10";
+  version = "4.0.11";
 
-  src = fetchurl {
-    url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz";
-    # Verified using official SHA-1 and signature from
-    # https://github.com/fyookball/keys-n-hashes
-    sha256 = "48270e12956a2f4ef4d2b0cb60611e47f136b734a3741dab176542a32ae59ee5";
+  src = fetchFromGitHub {
+    owner = "Electron-Cash";
+    repo = "Electron-Cash";
+    rev = version;
+    sha256 = "1k4zbaj0g8bgk1l5vrb835a8bqfay2707bcb4ql2vx4igcwpb680";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -56,6 +56,10 @@ python3Packages.buildPythonApplication rec {
       --replace "Exec=electron-cash" "Exec=$out/bin/electron-cash"
   '';
 
+  postFixup = ''
+    wrapQtApp $out/bin/electron-cash
+  '';
+
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/electron-cash help >/dev/null
diff --git a/nixpkgs/pkgs/applications/misc/electrum/dash.nix b/nixpkgs/pkgs/applications/misc/electrum/dash.nix
index 8ba562de1cb7..fc5192bb5e47 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/dash.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/electrum/default.nix b/nixpkgs/pkgs/applications/misc/electrum/default.nix
index 0ebeb1beffa1..df95b26b9c5b 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electrum/default.nix
@@ -74,6 +74,7 @@ python3Packages.buildPythonApplication {
     tlslite-ng
 
     # plugins
+    ckcc-protocol
     keepkey
     trezor
     btchip
diff --git a/nixpkgs/pkgs/applications/misc/elogind/default.nix b/nixpkgs/pkgs/applications/misc/elogind/default.nix
new file mode 100644
index 000000000000..3d71d9855d04
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/elogind/default.nix
@@ -0,0 +1,82 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, meson
+, ninja
+, m4
+, gperf
+, getent
+, libcap
+, gettext
+, pkgconfig
+, udev
+, eudev
+, libxslt
+, python3
+, docbook5
+, docbook_xsl
+, docbook_xsl_ns
+, docbook_xml_dtd_42
+, docbook_xml_dtd_45
+
+# Defaulting to false because usually the rationale for using elogind is to
+# use it in situation where a systemd dependency does not work (especially
+# when building with musl, which elogind explicitly supports).
+, enableSystemd ? false
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  pname = "elogind";
+  version = "241.4";
+
+  src = fetchFromGitHub {
+    owner = "elogind";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13nd0chackqclgvw43910k4pkw2q773dh6wq9s5f3d97ibnik48k";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    m4
+    pkgconfig
+    gperf
+    getent
+    libcap
+    gettext
+    libxslt.bin # xsltproc
+    docbook5 docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 docbook_xml_dtd_45 # needed for docbook without Internet
+    (python3.withPackages (p: with p; [ lxml ]))  # fixes: man/meson.build:111:0: ERROR: Could not execute command "/build/source/tools/xml_helper.py".
+  ];
+
+  buildInputs =
+    if enableSystemd then [ udev ] else [ eudev ];
+
+  # Inspired by the systemd `preConfigure`.
+  # Conceptually we should patch all files required during the build, but not scripts
+  # supposed to run at run-time of the software (important for cross-compilation).
+  # This package seems to have mostly scripts that run at build time.
+  preConfigure = ''
+    for dir in tools src/test; do
+      patchShebangs $dir
+    done
+
+    patchShebangs src/basic/generate-*.{sh,py}
+  '';
+
+  mesonFlags = [
+    "-Drootprefix=${placeholder "out"}"
+    "-Dsysconfdir=${placeholder "out"}/etc"
+  ];
+
+  meta = {
+    homepage = https://github.com/elogind/elogind;
+    description = ''The systemd project's "logind", extracted to a standalone package'';
+    platforms = platforms.linux; # probably more
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ nh2 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/epr/default.nix b/nixpkgs/pkgs/applications/misc/epr/default.nix
new file mode 100644
index 000000000000..f67c15f0a994
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/epr/default.nix
@@ -0,0 +1,21 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "epr";
+  version = "2.3.0b";
+
+  src = fetchFromGitHub {
+    owner = "wustho";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1a6md3015284hzmx0sby5kl59p7lwv73sq7sid35vrr15zrl0aw7";
+  };
+
+  meta = with lib; {
+    description = "CLI Epub Reader";
+    homepage = "https://github.com/wustho/epr";
+    license = licenses.mit;
+    maintainers = [ maintainers.filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/et/default.nix b/nixpkgs/pkgs/applications/misc/et/default.nix
index d8b355efe86d..2cf8813aac40 100644
--- a/nixpkgs/pkgs/applications/misc/et/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/exercism/default.nix b/nixpkgs/pkgs/applications/misc/exercism/default.nix
index 6d04cef76ce7..a071761599a3 100644
--- a/nixpkgs/pkgs/applications/misc/exercism/default.nix
+++ b/nixpkgs/pkgs/applications/misc/exercism/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "exercism";
-  version = "3.0.11";
-
-  goPackagePath = "github.com/exercism/cli";
+  version = "3.0.13";
 
   src = fetchFromGitHub {
     owner  = "exercism";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "1wg23bvibsk6j4iqwyw35wl9plfwdqxiql81zci7r1x4d5cp26av";
+    sha256 = "17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "0pg0hxrr6jjd03wbjn5y65x02md3h352mnm1gr6vyiv7hn4ws14m";
+
+  subPackages = [ "./exercism" ];
 
   meta = with stdenv.lib; {
    inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/applications/misc/exercism/deps.nix b/nixpkgs/pkgs/applications/misc/exercism/deps.nix
deleted file mode 100644
index 10a6baa2241b..000000000000
--- a/nixpkgs/pkgs/applications/misc/exercism/deps.nix
+++ /dev/null
@@ -1,201 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/blang/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/blang/semver";
-      rev =  "2ee87856327ba09384cabd113bc6b5d174e9ec0f";
-      sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy";
-    };
-  }
-  {
-    goPackagePath  = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
-      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev =  "629574ca2a5df945712d3079857300b5e4da0236";
-      sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3";
-    };
-  }
-  {
-    goPackagePath  = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev =  "392dba7d905ed5d04a5794ba89f558b27e2ba1ca";
-      sha256 = "1rfm67kma2hpakabf7hxlj196jags4rpjpcirwg4kan4g9b6j0kb";
-    };
-  }
-  {
-    goPackagePath  = "github.com/inconshreveable/go-update";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/go-update";
-      rev =  "8152e7eb6ccf8679a64582a66b78519688d156ad";
-      sha256 = "07czhspakpi7al004rm669cmf4h5l0vnygsm11280nkfn2zxqdi3";
-    };
-  }
-  {
-    goPackagePath  = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath  = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev =  "be5ece7dd465ab0765a9682137865547526d1dfb";
-      sha256 = "0spk58x9b0hj29cw6wy6rlvc6s9xk4r0gmlxgsc194pkzqcg1my8";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev =  "d0303fe809921458f417bcf828397a65db30a7e4";
-      sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pelletier/go-buffruneio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-buffruneio";
-      rev =  "c37440a7cf42ac63b919c752ca73a85067e05992";
-      sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev =  "5ccdfb18c776b740aecaf085c4d9a2779199c279";
-      sha256 = "1jl44j58y62rhnwkzw3mvcj725gdyzs45pq4ga81qqxwqxs3czsq";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev =  "9be650865eab0c12963d8753212f4f9c66cdcf12";
-      sha256 = "12dhh6d07304lsjv7c4p95hkip0hnshqhwivdw39pbypgg0p8y34";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev =  "acbeb36b902d72a7a4c18e8f3241075e7ab763e4";
-      sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev =  "b26b538f693051ac6518e65672de3144ce3fbedc";
-      sha256 = "0pm3qlw35xygz9zz7hizlmin76wrfac8vsxvsd9i0zpnijbkmjv6";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev =  "0efa5202c04663c757d84f90f5219c1250baf94f";
-      sha256 = "1sfd72zvw9lrzfc8haswhqf93bzm20q4yhbynm6n5fnnc56zn4gs";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev =  "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
-      sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev =  "15738813a09db5c8e5b60a19d67d3f9bd38da3a4";
-      sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v";
-    };
-  }
-  {
-    goPackagePath  = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev =  "69483b4bd14f5845b5a1e55bca19e954e827f1d0";
-      sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev =  "f5079bd7f6f74e23c4d65efa0f4ce14cbd6a3c0f";
-      sha256 = "0sck2mq4bwyh5iv51jpbywzwhc47ci1q5yd7pqr68xnsz7b3b55k";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "d8f5ea21b9295e315e612b4bcf4bedea93454d4d";
-      sha256 = "1gy2y20glqqqcmmrcx2wrvk4h74h8im1nxvzi91i1mxjk7p185mv";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev =  "3bd178b88a8180be2df394a1fbb81313916f0e7b";
-      sha256 = "137pp3gz8ll08q0q434dn6472bbkv81h72qqqm9idhf7cc6f51w9";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-yaml/yaml";
-      rev =  "25c4ec802a7d637f88d584ab26798e94ad14c13b";
-      sha256 = "053mknsl3xhjscmd552005xnwbfcg0z2iphvbvj3wi0w3pvmlw44";
-    };
-  }
-]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/misc/fbreader/default.nix b/nixpkgs/pkgs/applications/misc/fbreader/default.nix
index e7d0e6a63a59..857ef9ac27bb 100644
--- a/nixpkgs/pkgs/applications/misc/fbreader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fbreader/default.nix
@@ -59,9 +59,9 @@ stdenv.mkDerivation {
   ++ optional (uiType == "gtk") gtk2
   ++ optionals (uiType == "cocoa") [ AppKit Cocoa ];
 
-  makeFlags = "INSTALLDIR=$(out)";
+  makeFlags = [ "INSTALLDIR=$(out)" ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; # since gcc-6
+  NIX_CFLAGS_COMPILE = "-Wno-error=narrowing";
 
   meta = with stdenv.lib; {
     description = "An e-book reader for Linux";
diff --git a/nixpkgs/pkgs/applications/misc/fetchmail/default.nix b/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
index bbbf1a0aff9b..6c4ecf6fa392 100644
--- a/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/firestarter/default.nix b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
index e93d0ab69a7b..82bcf5a4aa07 100644
--- a/nixpkgs/pkgs/applications/misc/firestarter/default.nix
+++ b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitHub, python3, cudatoolkit,
+{ stdenv, fetchFromGitHub, glibc, python3, cudatoolkit,
   withCuda ? true
 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "firestarter";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "tud-zih-energy";
     repo = "FIRESTARTER";
     rev = "v${version}";
-    sha256 = "1gc7kmzx9nw22lyfmpyz72p974jf1hvw5nvszcaq7x6h8cz9ip15";
+    sha256 = "161mg0h1hvp6bxfjdhyfqrljvphys896mfd36254rbgzxm38ibi7";
   };
 
   nativeBuildInputs = [ python3 ];
-  buildInputs = optionals withCuda [ cudatoolkit ];
+  buildInputs = [ glibc.static ] ++ optionals withCuda [ cudatoolkit ];
   preBuild = ''
     mkdir -p build
     cd build
diff --git a/nixpkgs/pkgs/applications/misc/font-manager/default.nix b/nixpkgs/pkgs/applications/misc/font-manager/default.nix
index 5df34c84f096..edb47e11dd7f 100644
--- a/nixpkgs/pkgs/applications/misc/font-manager/default.nix
+++ b/nixpkgs/pkgs/applications/misc/font-manager/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
-  pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
+{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch,
+  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
@@ -42,6 +42,15 @@ stdenv.mkDerivation rec {
     "-Ddisable_pycompile=true"
   ];
 
+  patches = [
+    # fix build with Vala 0.46
+    (fetchpatch {
+      url = "https://github.com/FontManager/font-manager/commit/c73b40de11f376f4515a0edfe97fb3721a264b35.patch";
+      sha256 = "0lacwsifgvda2r3z6j2a0svdqr6mgav7zkvih35xa8155y8wfpnw";
+      excludes = [ "fedora/font-manager.spec" ];
+    })
+  ];
+
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
@@ -60,7 +69,6 @@ stdenv.mkDerivation rec {
       Font Manager is NOT a professional-grade font management solution.
     '';
     license = licenses.gpl3;
-    repositories.git = https://github.com/FontManager/master;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/applications/misc/formatter/default.nix b/nixpkgs/pkgs/applications/misc/formatter/default.nix
new file mode 100644
index 000000000000..b777c3b72e72
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/formatter/default.nix
@@ -0,0 +1,77 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkgconfig
+, pantheon
+, python3
+, substituteAll
+, glib
+, gtk3
+, dosfstools
+, e2fsprogs
+, exfat
+, hfsprogs
+, ntfs3g
+, libgee
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "formatter";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "Djaler";
+    repo = "Formatter";
+    rev = version;
+    sha256 = "0da1dvzsvbwg1ys19yf0n080xc0hjwin9zacjndb24jvphy3bxql";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      ext4 = "${e2fsprogs}/bin/mkfs.ext4";
+      exfat = "${exfat}/bin/mkfs.exfat";
+      fat = "${dosfstools}/bin/mkfs.fat";
+      ntfs = "${ntfs3g}/bin/mkfs.ntfs";
+      hfsplus = "${hfsprogs}/bin/mkfs.hfsplus";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libgee
+    pantheon.granite
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A simple formatter designed for elementary OS";
+    homepage = "https://github.com/Djaler/Formatter";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/formatter/fix-paths.patch b/nixpkgs/pkgs/applications/misc/formatter/fix-paths.patch
new file mode 100644
index 000000000000..67c1d2b43ccc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/formatter/fix-paths.patch
@@ -0,0 +1,53 @@
+diff --git a/src/Objects/DeviceFormatter.vala b/src/Objects/DeviceFormatter.vala
+index cf6a3b8..0de10a9 100644
+--- a/src/Objects/DeviceFormatter.vala
++++ b/src/Objects/DeviceFormatter.vala
+@@ -62,42 +62,42 @@ namespace Formatter {
+             string drive_identifier = drive.get_identifier ("unix-device");
+             switch (filesystem) {
+                 case Formatter.Filesystems.EXT4:
+-                    spawn_args = {"pkexec", "mkfs.ext4", drive_identifier, "-F"};
++                    spawn_args = {"pkexec", "@ext4@", drive_identifier, "-F"};
+                     if (label != "") {
+                         spawn_args += "-L";
+                         spawn_args += label;
+                     }
+                     break;
+                 case Formatter.Filesystems.EXFAT:
+-                    spawn_args = {"pkexec", "mkfs.exfat", drive_identifier};
++                    spawn_args = {"pkexec", "@exfat@", drive_identifier};
+                     if (label != "") {
+                         spawn_args += "-n";
+                         spawn_args += label;
+                     }
+                     break;
+                 case Formatter.Filesystems.FAT16:
+-                    spawn_args = {"pkexec", "mkfs.fat", "-F16", "-I", drive_identifier};
++                    spawn_args = {"pkexec", "@fat@", "-F16", "-I", drive_identifier};
+                     if (label != "") {
+                         spawn_args += "-n";
+                         spawn_args += label;
+                     }
+                     break;
+                 case Formatter.Filesystems.FAT32:
+-                    spawn_args = {"pkexec", "mkfs.fat", "-F32", "-I", drive_identifier};
++                    spawn_args = {"pkexec", "@fat@", "-F32", "-I", drive_identifier};
+                     if (label != "") {
+                         spawn_args += "-n";
+                         spawn_args += label;
+                     }
+                     break;
+                 case Formatter.Filesystems.NTFS:
+-                    spawn_args = {"pkexec", "mkfs.ntfs", drive_identifier, "-f", "-F"};
++                    spawn_args = {"pkexec", "@ntfs@", drive_identifier, "-f", "-F"};
+                     if (label != "") {
+                         spawn_args += "-L";
+                         spawn_args += label;
+                     }
+                     break;
+                 case Formatter.Filesystems.HFS_PLUS:
+-                    spawn_args = {"pkexec", "mkfs.hfsplus", drive_identifier};
++                    spawn_args = {"pkexec", "@hfsplus@", drive_identifier};
+                     if (label != "") {
+                         spawn_args += "-v";
+                         spawn_args += label;
diff --git a/nixpkgs/pkgs/applications/misc/fsv/default.nix b/nixpkgs/pkgs/applications/misc/fsv/default.nix
index 00e11858fb41..bbc78efe5cd2 100644
--- a/nixpkgs/pkgs/applications/misc/fsv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fsv/default.nix
@@ -26,6 +26,11 @@ in stdenv.mkDerivation rec {
     sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj";
   };
 
+  postPatch = ''
+   # fix build with gettext 0.20
+   sed -i 's/AM_GNU_GETTEXT/AM_GNU_GETTEXT([external])/' configure.in
+  '';
+
   nativeBuildInputs = [ autoreconfHook libtool pkgconfig ];
   buildInputs       = [ file gtk2 libGLU gtkglarea ];
 
diff --git a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index 169c5c11b8ce..d578479787b0 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.10.3";
+  version = "1.12.2";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1ippn0zbjy69n178vh4wgyzy6723ynvj2w23mzqw7v2mzcvkhmdz";
+    sha256 = "013bavyqvnay38c844n1jvirsmj807f0wg2qlclkdghkj316p1pz";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix b/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
new file mode 100644
index 000000000000..57060179473f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/get_iplayer/default.nix b/nixpkgs/pkgs/applications/misc/get_iplayer/default.nix
index baf2f5165d6d..5db328072e43 100644
--- a/nixpkgs/pkgs/applications/misc/get_iplayer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/get_iplayer/default.nix
@@ -4,18 +4,20 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "get_iplayer";
-  version = "2.99";
+  version = "3.24";
 
   src = fetchFromGitHub {
     owner = "get-iplayer";
     repo = "get_iplayer";
     rev = "v${version}";
-    sha256 = "085bgwkjnaqp96gvd2s8qmkw69rz91si1sgzqdqbplkzj9bk2qii";
+    sha256 = "0yd84ncb6cjrk4v4kz3zrddkl7iwkm3zlfbjyswd9hanp8fvd4q3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ perl ];
-  propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple];
+  propagatedBuildInputs = with perlPackages; [
+    HTMLParser HTTPCookies LWP LWPProtocolHttps XMLLibXML XMLSimple
+  ];
 
   preConfigure = "touch Makefile.PL";
   doCheck = false;
@@ -33,6 +35,7 @@ perlPackages.buildPerlPackage rec {
     license = licenses.gpl3Plus;
     homepage = https://squarepenguin.co.uk/;
     platforms = platforms.all;
+    maintainers = with maintainers; [ rika ];
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/misc/getxbook/default.nix b/nixpkgs/pkgs/applications/misc/getxbook/default.nix
index b2a992b850e1..aa901a7ba513 100644
--- a/nixpkgs/pkgs/applications/misc/getxbook/default.nix
+++ b/nixpkgs/pkgs/applications/misc/getxbook/default.nix
@@ -9,7 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "0ihwrx4gspj8l7fc8vxch6dpjrw1lvv9z3c19f0wxnmnxhv1cjvs";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" "-Wno-error=deprecated-declarations" ];
+  NIX_CFLAGS_COMPILE = builtins.toString [
+    "-Wno-error=format-truncation"
+    "-Wno-error=deprecated-declarations"
+    "-Wno-error=stringop-overflow"
+  ];
 
   buildInputs = [ openssl ];
 
diff --git a/nixpkgs/pkgs/applications/misc/girara/default.nix b/nixpkgs/pkgs/applications/misc/girara/default.nix
index c2b7487cd72f..6bfb4907807a 100644
--- a/nixpkgs/pkgs/applications/misc/girara/default.nix
+++ b/nixpkgs/pkgs/applications/misc/girara/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "girara";
-  version = "0.3.2";
+  version = "0.3.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz";
-    sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p";
+    url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
+    sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://pwmt.org/projects/girara/;
+    homepage = "https://git.pwmt.org/pwmt/girara";
     description = "User interface library";
     longDescription = ''
       girara is a library that implements a GTK based VIM-like user interface
diff --git a/nixpkgs/pkgs/applications/misc/glava/default.nix b/nixpkgs/pkgs/applications/misc/glava/default.nix
index 6f5146161a6d..519df42c789a 100644
--- a/nixpkgs/pkgs/applications/misc/glava/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/glom/default.nix b/nixpkgs/pkgs/applications/misc/glom/default.nix
index 9e71837c0f5d..b8f13d01424c 100644
--- a/nixpkgs/pkgs/applications/misc/glom/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gnome-firmware-updater/default.nix b/nixpkgs/pkgs/applications/misc/gnome-firmware-updater/default.nix
new file mode 100644
index 000000000000..f05c5fd210c4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/gnome-firmware-updater/default.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, fetchFromGitLab
+, fetchpatch
+, appstream-glib
+, desktop-file-utils
+, fwupd
+, gettext
+, glib
+, gnome3
+, gtk3
+, libsoup
+, libxmlb
+, meson
+, ninja
+, pkgconfig
+, systemd
+, help2man
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-firmware-updater";
+  version = "3.34.0";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "hughsie";
+    repo = "gnome-firmware-updater";
+    rev = version;
+    sha256 = "04pll0fzf4nr276kfw89r0524s6ppmls5rz4vq2j8c8gb50g0b6l";
+  };
+
+  patches = [
+    # Fixes manual build
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/hughsie/gnome-firmware-updater/commit/006b64dcb401d8c81a33222bc4be8274c23f3c9c.patch";
+      sha256 = "02303ip4ri5pv1bls8c0njb00qhn0jd0d8rmvsrig0fmacwfvc06";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/hughsie/gnome-firmware-updater/commit/c4f076f2c902080618e0c27dec924fd0019f68a3.patch";
+      sha256 = "1yfxd7qsg3gwpamg0m2sbcfrgks59w70r9728arrc4pwx1hia2q1";
+    })
+  ];
+
+  nativeBuildInputs = [
+    appstream-glib # for ITS rules
+    desktop-file-utils
+    gettext
+    help2man
+    meson
+    ninja
+    pkgconfig
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    fwupd
+    glib
+    gtk3
+    libsoup
+    libxmlb
+    systemd
+  ];
+
+  mesonFlags = [
+    "-Dconsolekit=false"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://gitlab.gnome.org/hughsie/gnome-firmware-updater";
+    description = "Tool for installing firmware on devices";
+    license = licenses.gpl2Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/gnome-usage/default.nix b/nixpkgs/pkgs/applications/misc/gnome-usage/default.nix
index eecf9bbd88f7..7484998ab205 100644
--- a/nixpkgs/pkgs/applications/misc/gnome-usage/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gnome-usage/default.nix
@@ -13,15 +13,16 @@
 , libgtop
 , libdazzle
 , gnome3
+, tracker
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-usage";
-  version = "3.32.0";
+  version = "3.33.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bgszckddfpd3czyb9fddx4pgv5yv44sxc45dfk2kgqyy169gjih";
+    sha256 = "0w3ppfaf15il8mad64qyc9hj1rmlvzs5dyzrxhq7r50k4kyiwmk4";
   };
 
   nativeBuildInputs = [
@@ -41,6 +42,7 @@ stdenv.mkDerivation rec {
     gtk3
     libdazzle
     libgtop
+    tracker
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/gnome15/default.nix b/nixpkgs/pkgs/applications/misc/gnome15/default.nix
deleted file mode 100644
index 7a918d961f63..000000000000
--- a/nixpkgs/pkgs/applications/misc/gnome15/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }:
-
-stdenv.mkDerivation {
-  name = "gnome15-2016-06-10";
-
-  src = fetchFromGitHub {
-    owner = "achilleas-k";
-    repo = "gnome15";
-    rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84";
-    sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ];
-  buildInputs = [ python2 ];
-  propagatedBuildInputs = with python2.pkgs; [
-    pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop
-    python-uinput xlib pyudev pyinputevent
-  ];
-
-  postPatch = ''
-    touch README
-    export UDEV_RULES_PATH="$out/lib/udev/rules.d"
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A set of tools for configuring the Logitech G15 keyboard";
-    license = licenses.gpl3;
-    homepage = https://gnome15.org/;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix b/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
index 7fba1d49d747..3dffc5c77c2a 100644
--- a/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, mkDerivation
-, qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools
-, qtconnectivity, qtcharts
+, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
+, qtconnectivity, qtcharts, libusb
 , yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
 }:
 
@@ -16,22 +16,22 @@ let
   };
 in mkDerivation rec {
   pname = "golden-cheetah";
-  version = "3.5-DEV1903";
+  version = "3.5-RC2X";
 
   src = fetchFromGitHub {
     owner = "GoldenCheetah";
     repo = "GoldenCheetah";
-    rev = "v${version}";
-    sha256 = "130b0hm04i0hf97rs1xrdfhbal5vjsknj3x4cdxjh7rgbg2p1sm3";
+    rev = "V${version}";
+    sha256 = "1d85700gjbcw2badwz225rjdr954ai89900vp8sal04sk79wbr6g";
   };
 
   buildInputs = [
-    qtbase qtsvg qtserialport qtwebkit qtmultimedia qttools zlib
-    qtconnectivity qtcharts
+    qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
+    qtconnectivity qtcharts libusb
   ];
   nativeBuildInputs = [ flex makeWrapper qmake yacc ];
 
-  NIX_LDFLAGS = [ "-lz" ];
+  NIX_LDFLAGS = "-lz";
 
   qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ];
 
@@ -39,7 +39,14 @@ in mkDerivation rec {
     cp src/gcconfig.pri.in src/gcconfig.pri
     cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
     echo 'QMAKE_LRELEASE = ${qttools.dev}/bin/lrelease' >> src/gcconfig.pri
+    echo 'LIBUSB_INSTALL = ${libusb}' >> src/gcconfig.pri
+    echo 'LIBUSB_INCLUDE = ${libusb.dev}/include' >> src/gcconfig.pri
+    echo 'LIBUSB_LIBS = -L${libusb}/lib -lusb' >> src/gcconfig.pri
     sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local
+
+    # Use qtwebengine instead of qtwebkit
+    substituteInPlace src/gcconfig.pri \
+      --replace "#DEFINES += NOWEBKIT" "DEFINES += NOWEBKIT"
   '';
 
   installPhase = ''
@@ -53,9 +60,6 @@ in mkDerivation rec {
     runHook postInstall
   '';
 
-  # RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm'
-  enableParallelBuilding = false;
-
   meta = with stdenv.lib; {
     description = "Performance software for cyclists, runners and triathletes";
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock b/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock
index 6cd77318754c..8ecb546df703 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/nixpkgs/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
@@ -29,17 +29,17 @@ GEM
       sanitize (~> 2.1.1, >= 2.1.1)
       stringex (~> 2.6)
       twitter-text (= 1.14.7)
-    json (2.2.0)
+    json (2.3.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.7)
       mini_portile2 (~> 2.4.0)
     posix-spawn (0.3.13)
-    rack (1.6.11)
+    rack (1.6.12)
     rack-protection (1.5.5)
       rack
     rouge (2.2.1)
@@ -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/nixpkgs/pkgs/applications/misc/gollum/default.nix b/nixpkgs/pkgs/applications/misc/gollum/default.nix
index e9a177ee1937..251e84f04c36 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gollum/default.nix
@@ -8,15 +8,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  env = bundlerEnv {
-    name = "${pname}-${version}-gems";
-    inherit pname ruby;
-    gemdir = ./.;
-  };
-
   phases = [ "installPhase" ];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "${pname}-${version}-gems";
+      inherit pname ruby;
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/gollum $out/bin/gollum \
       --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
diff --git a/nixpkgs/pkgs/applications/misc/gollum/gemset.nix b/nixpkgs/pkgs/applications/misc/gollum/gemset.nix
index f9bdf94db179..61e0db781b87 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/gemset.nix
+++ b/nixpkgs/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"];
@@ -89,10 +89,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   kramdown = {
     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 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.7";
   };
   posix-spawn = {
     groups = ["default"];
@@ -171,10 +171,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1riq0z408dwvqcqrpq05bp2w879l4sjxzb4cbrbx55kpi6h2g1cj";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "1.6.12";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -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/nixpkgs/pkgs/applications/misc/googleearth/default.nix b/nixpkgs/pkgs/applications/misc/googleearth/default.nix
index 961efe4b0576..181273752ea8 100644
--- a/nixpkgs/pkgs/applications/misc/googleearth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/googler/default.nix b/nixpkgs/pkgs/applications/misc/googler/default.nix
index 12eb8839b8a8..3e4c9828edec 100644
--- a/nixpkgs/pkgs/applications/misc/googler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/googler/default.nix
@@ -1,25 +1,25 @@
-{stdenv, fetchFromGitHub, python}:
+{ stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "3.9";
   pname = "googler";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jarun";
-    repo = "googler";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0zqq157i0rfrja8yqnqr9rfrp5apzc7cxb7d7ppv6abkc5bckyqc";
+    sha256 = "13jj15ph0vmbyxjslzl6z4h5b7wyllvhwgsrb6zf7qlkcmkd4vwy";
   };
 
   propagatedBuildInputs = [ python ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/jarun/googler;
+    homepage = "https://github.com/jarun/googler";
     description = "Google Search, Google Site Search, Google News from the terminal";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ koral filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpscorrelate/default.nix b/nixpkgs/pkgs/applications/misc/gpscorrelate/default.nix
index bf7bec38afb5..07918d3d599d 100644
--- a/nixpkgs/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gpscorrelate/fix-localedir.diff b/nixpkgs/pkgs/applications/misc/gpscorrelate/fix-localedir.diff
deleted file mode 100644
index 5f9cb296ecd5..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/misc/gpxlab/default.nix b/nixpkgs/pkgs/applications/misc/gpxlab/default.nix
new file mode 100644
index 000000000000..b4778f9f4f8b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/gpxlab/default.nix
@@ -0,0 +1,34 @@
+{ mkDerivation, lib, fetchFromGitHub, qmake, qttools, qttranslations }:
+
+mkDerivation rec {
+  pname = "gpxlab";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "BourgeoisLab";
+    repo = "GPXLab";
+    rev = "v${version}";
+    sha256 = "080vnwcciqblfrbfyz9gjhl2lqw1hkdpbgr5qfrlyglkd4ynjd84";
+  };
+
+  nativeBuildInputs = [ qmake ];
+  buildInputs = [ qttools qttranslations ];
+
+  preConfigure = ''
+    lrelease GPXLab/locale/*.ts
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/BourgeoisLab/GPXLab";
+    description = "Program to show and manipulate GPS tracks";
+    longDescription = ''
+      GPXLab is an application to display and manage GPS tracks
+      previously recorded with a GPS tracker.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index 4b2ed9af24e0..9a9edba512aa 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.13";
+  version = "7.18";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "08cg5k4ffj2wrcm4rk7vyixbyyz0424276fw2fn8lmziklkdqyjw";
+    sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/nixpkgs/pkgs/applications/misc/grip/default.nix b/nixpkgs/pkgs/applications/misc/grip/default.nix
index 7f2057b2947a..4416e1e62c2d 100644
--- a/nixpkgs/pkgs/applications/misc/grip/default.nix
+++ b/nixpkgs/pkgs/applications/misc/grip/default.nix
@@ -2,11 +2,11 @@
 , curl, cdparanoia, libid3tag, ncurses, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "grip-3.3.1";
+  name = "grip-4.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/grip/${name}.tar.gz";
-    sha256 = "1zb6zpq7qmn6bflbgfwisyg3vrjr23yi1c1kqvwndl1f0shr8qyl";
+    sha256 = "0blh5j3d4g16bhsqmhv71qhbsyyzcqywzpqsjjiiw465mjlwxka6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   meta = {
     description = "GTK-based audio CD player/ripper";
     homepage = http://nostatic.org/grip;
diff --git a/nixpkgs/pkgs/applications/misc/guake/default.nix b/nixpkgs/pkgs/applications/misc/guake/default.nix
index 97303c43fb1a..d403ddc8b26c 100644
--- a/nixpkgs/pkgs/applications/misc/guake/default.nix
+++ b/nixpkgs/pkgs/applications/misc/guake/default.nix
@@ -1,10 +1,21 @@
-{ stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales
-, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }:
+{ stdenv
+, fetchFromGitHub
+, python3
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, gtk3
+, keybinder3
+, libnotify
+, libutempter
+, vte
+, libwnck3
+}:
 
-let
+python3.pkgs.buildPythonApplication rec {
+  pname = "guake";
   version = "3.6.3";
-in python3.pkgs.buildPythonApplication {
-  name = "guake-${version}";
+
   format = "other";
 
   src = fetchFromGitHub {
@@ -19,18 +30,34 @@ in python3.pkgs.buildPythonApplication {
   # and https://github.com/NixOS/nixpkgs/issues/56943
   strictDeps = false;
 
-  nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ];
-
-  buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+    python3.pkgs.pip
+  ];
 
-  propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ];
+  buildInputs = [
+    gtk3
+    keybinder3
+    libnotify
+    libwnck3
+    python3
+    vte
+  ];
 
-  LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699
+  propagatedBuildInputs = with python3.pkgs; [
+    dbus-python
+    pbr
+    pycairo
+    pygobject3
+    setuptools
+  ];
 
   PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
 
   makeFlags = [
-    "prefix=$(out)"
+    "prefix=${placeholder ''out''}"
   ];
 
   preFixup = ''
@@ -39,9 +66,9 @@ in python3.pkgs.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Drop-down terminal for GNOME";
-    homepage = http://guake-project.org;
+    homepage = "http://guake-project.org";
     license = licenses.gpl2;
-    platforms = platforms.linux;
     maintainers = [ maintainers.msteen ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gummi/default.nix b/nixpkgs/pkgs/applications/misc/gummi/default.nix
index 273be11ac63a..d1daec284826 100644
--- a/nixpkgs/pkgs/applications/misc/gummi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gummi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, makeWrapper
+{ stdenv, pkgs, makeWrapper, pango
 , glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler
 , pkgconfig, intltool, autoreconfHook, wrapGAppsHook
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook
   ];
   buildInputs = [
-    glib gnome2.gtksourceview gnome2.pango gtk2-x11 gtkspell2 poppler
+    glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler
     gnome3.adwaita-icon-theme
   ];
 
diff --git a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
index a7313e7c969b..ce0a6963ea99 100644
--- a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo, hicolor-icon-theme }:
+{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo }:
 
 stdenv.mkDerivation rec {
   pname = "gxmessage";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk3 texinfo hicolor-icon-theme ];
+  buildInputs = [ intltool gtk3 texinfo ];
 
   meta = {
     description = "A GTK enabled dropin replacement for xmessage";
diff --git a/nixpkgs/pkgs/applications/misc/gxneur/default.nix b/nixpkgs/pkgs/applications/misc/gxneur/default.nix
index 7d19a9cb1108..c44523a8b751 100644
--- a/nixpkgs/pkgs/applications/misc/gxneur/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxneur/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "0avmhdcj0hpr55fc0iih8fjykmdhn34c8mwdnqvl8jh4nhxxchxr";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   nativeBuildInputs = [ pkgconfig intltool ];
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/hamster-time-tracker/default.nix b/nixpkgs/pkgs/applications/misc/hamster-time-tracker/default.nix
deleted file mode 100644
index 9360e220ab6a..000000000000
--- a/nixpkgs/pkgs/applications/misc/hamster-time-tracker/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
-, intltool, dbus-glib, gnome_python
-, hicolor-icon-theme
-, wafHook
-}:
-
-# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
-# this message:
-#
-#   WARNING:root:Could not import wnck - workspace tracking will be disabled
-
-pythonPackages.buildPythonApplication rec {
-  name = "hamster-time-tracker-1.04";
-
-  src = fetchzip {
-    name = "${name}-src";
-    url = "https://github.com/projecthamster/hamster/archive/${name}.tar.gz";
-    sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
-  };
-
-  nativeBuildInputs = [ wafHook intltool ];
-  buildInputs = [
-    docbook2x libxslt gnome-doc-utils dbus-glib hicolor-icon-theme
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
-
-  postFixup = ''
-    wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
-  '';
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Time tracking application";
-    homepage = https://projecthamster.wordpress.com/;
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/heimer/default.nix b/nixpkgs/pkgs/applications/misc/heimer/default.nix
new file mode 100644
index 000000000000..5f403c9b7b6f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/heimer/default.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, lib, fetchFromGitHub, cmake, qttools, qtbase }:
+
+mkDerivation rec {
+  pname = "heimer";
+  version = "1.13.1";
+
+  src = fetchFromGitHub {
+    owner = "juzzlin";
+    repo = pname;
+    rev = version;
+    sha256 = "1s6s5rlzr917hq7370pmikbdvd6y468cyxw614ah65d4v105qfv7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qttools qtbase ];
+
+  meta = with lib; {
+    description = "Simple cross-platform mind map and note-taking tool written in Qt";
+    homepage = "https://github.com/juzzlin/Heimer";
+    license = licenses.gpl3;
+    maintainers  = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/hivemind/default.nix b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
index 84f5bad24d21..e452ec0511e7 100644
--- a/nixpkgs/pkgs/applications/misc/hivemind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "hivemind";
-  version = "1.0.4";
+  version = "1.0.6";
   goPackagePath = "github.com/DarthSim/hivemind";
 
   src = fetchFromGitHub {
     owner = "DarthSim";
     repo = "hivemind";
     rev = "v${version}";
-    sha256 = "1z2izvyf0j3gi0cas5v22kkmkls03sg67182k8v3p6kwhzn0jw67";
+    sha256 = "0afcnd03wsdphbbpha65rv5pnv0x6ldnnm6rnv1m6xkkywgnzx95";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix b/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
index 88c87eaca871..279791561d90 100644
--- a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/hstr/default.nix b/nixpkgs/pkgs/applications/misc/hstr/default.nix
index 0d25d3d686c9..31ecfccd5848 100644
--- a/nixpkgs/pkgs/applications/misc/hstr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hstr/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hstr";
-  version = "2.0";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner  = "dvorka";
     repo   = "hstr";
     rev    = version;
-    sha256 = "1y9vsfbg07gbic0daqy569d9pb9i1d07fym3q7a0a99hbng85s20";
+    sha256 = "07fkilqlkpygvf9kvxyvl58g3lfq0bwwdp3wczy4hk8qlbhmgihn";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/hubstaff/revision.json b/nixpkgs/pkgs/applications/misc/hubstaff/revision.json
index 64cad5c02928..2fd29444dade 100644
--- a/nixpkgs/pkgs/applications/misc/hubstaff/revision.json
+++ b/nixpkgs/pkgs/applications/misc/hubstaff/revision.json
@@ -1,5 +1,5 @@
 {
-  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.4.11-a12e5bad/Hubstaff-1.4.11-a12e5bad.sh",
-  "version": "1.4.11-a12e5bad",
-  "sha256": "0nqmw02spplqppvz2jniq5p5y69l8n5xp9wji4032kn4qsba33jn"
+  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.2-bead991b/Hubstaff-1.5.2-bead991b.sh",
+  "version": "1.5.2-bead991b",
+  "sha256": "068b0q94ydldyjmzbka1j94vr1xdxvkxq79pp7ria81hvpp68yxf"
 }
diff --git a/nixpkgs/pkgs/applications/misc/hugo/default.nix b/nixpkgs/pkgs/applications/misc/hugo/default.nix
index 720445be9bea..69ca6a837640 100644
--- a/nixpkgs/pkgs/applications/misc/hugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hugo/default.nix
@@ -2,27 +2,27 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.58.0";
+  version = "0.62.2";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
   src = fetchFromGitHub {
-    owner  = "gohugoio";
-    repo   = "hugo";
-    rev    = "v${version}";
-    sha256 = "0971li0777c1s67w72wl1y0b58ky93dw05hbk3s4kqys0acanc2d";
+    owner = "gohugoio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rdfx5gv0q64ivyg0ilb96p5nksip9cj75fmvw0bjky9w6i07yd9";
   };
 
-  modSha256 = "14ylbh2hx14swcqvawprbx5gynkwyb0nlp5acr4fjy1zl0ifc790";
+  modSha256 = "0dwv5qnglv00jj7vlps76zlfpkzsplf93401j2l03xfvmvadifrs";
 
-  buildFlags = "-tags extended";
+  buildFlags = [ "-tags" "extended" ];
 
   subPackages = [ "." ];
 
   meta = with stdenv.lib; {
     description = "A fast and modern static website engine.";
-    homepage = https://gohugo.io;
+    homepage = "https://gohugo.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ schneefux ];
+    maintainers = with maintainers; [ schneefux filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/icesl/default.nix b/nixpkgs/pkgs/applications/misc/icesl/default.nix
index c197e1a8fd38..3ee4fd8259a9 100644
--- a/nixpkgs/pkgs/applications/misc/icesl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/ipmiview/default.nix b/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
index 64e0f0d325b5..e46df5d59e0e 100644
--- a/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
@@ -1,33 +1,72 @@
-{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc, gcc-unwrapped }:
+{ stdenv
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, patchelf
+, fontconfig
+, freetype
+, gcc
+, gcc-unwrapped
+, iputils
+, psmisc
+, xorg }:
 
 stdenv.mkDerivation rec {
-   pname = "IPMIView";
-   version = "2.14.0";
-   buildVersion = "180213";
+  pname = "IPMIView";
+  version = "2.16.0";
+  buildVersion = "190815";
 
-   src = fetchurl {
-    url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
-    sha256 = "1wp22wm7smlsb25x0cck4p660cycfczxj381930crd1qrf68mw4h";
+  src = fetchurl {
+    url = "https://www.supermicro.com/wftp/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
+    sha256 = "0qw9zfnj0cyvab7ndamlw2y0gpczjhh1jkz8340kl42r2xmhkvpl";
   };
 
-   nativeBuildInputs = [ patchelf makeWrapper ];
+  nativeBuildInputs = [ patchelf makeWrapper ];
+  buildPhase = with xorg;
+    let
+      stunnelBinary = if stdenv.hostPlatform.system == "x86_64-linux" then "linux/stunnel64"
+      else if stdenv.hostPlatform.system == "i686-linux" then "linux/stunnel32"
+      else throw "IPMIView is not supported on this platform";
+    in
+  ''
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/libawt_xawt.so
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ freetype ]}" ./jre/lib/amd64/libfontmanager.so
+    patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM64.so
+    patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./BMCSecurity/${stunnelBinary}
+  '';
 
-   buildPhase = with xorg; ''
-     patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/xawt/libmawt.so
-     patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM64.so
-     patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libXcursor libX11 libXext libXrender libXtst libXi ]}" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/javaws
-     patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
-   '';
+  desktopItem = makeDesktopItem rec {
+    name = "IPMIView";
+    exec = "IPMIView";
+    desktopName = name;
+    genericName = "Supermicro BMC manager";
+    categories = "Network;Configuration";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R . $out/
 
-   installPhase = ''
-     mkdir -p $out/bin
-     cp -R . $out/
-     makeWrapper $out/jre/bin/java $out/bin/IPMIView \
-       --prefix PATH : "$out/jre/bin" \
-       --add-flags "-jar $out/IPMIView20.jar"
-   '';
+    ln -s ${desktopItem}/share $out/share
 
-   meta = with stdenv.lib; {
+    # LD_LIBRARY_PATH: fontconfig is used from java code
+    # PATH: iputils is used for ping, and psmisc is for killall
+    # WORK_DIR: unfortunately the ikvm related binaries are loaded from
+    #           and user configuration is written to files in the CWD
+    makeWrapper $out/jre/bin/java $out/bin/IPMIView \
+      --set LD_LIBRARY_PATH "${stdenv.lib.makeLibraryPath [ fontconfig ]}" \
+      --prefix PATH : "$out/jre/bin:${iputils}/bin:${psmisc}/bin" \
+      --add-flags "-jar $out/IPMIView20.jar" \
+      --run 'WORK_DIR=''${XDG_DATA_HOME:-~/.local/share}/ipmiview
+             mkdir -p $WORK_DIR
+             ln -snf '$out'/iKVM.jar '$out'/libiKVM* '$out'/libSharedLibrary* $WORK_DIR
+             cd $WORK_DIR'
+  '';
+
+  meta = with stdenv.lib; {
     license = licenses.unfree;
-   };
-  }
+    maintainers = with maintainers; [ vlaci ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 54c703bb8592..f75889904326 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix b/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
index 41e599c02020..7fd9abd82a3f 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock b/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 6410b885ea47..43a2d0cf2d0b 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix b/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
index 80d67022e7af..2b1c03ce882d 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jgmenu/default.nix b/nixpkgs/pkgs/applications/misc/jgmenu/default.nix
index 879f344a5afb..cbe26b817e2f 100644
--- a/nixpkgs/pkgs/applications/misc/jgmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jgmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jgmenu";
-  version = "3.3";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l";
+    sha256 = "1s9291y38k4adc2wqj7plfhj431nf36zs262jm6mmb2fs910ncgv";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix b/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
index ff0332e1e5ff..c4b4fdfd42e6 100644
--- a/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "joplin-desktop";
-  version = "1.0.167";
+  version = "1.0.177";
 in appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}-x86_64.AppImage";
-    sha256 = "062f2av60490ffrml0q8zv68yir6zaqif0g3d32c985gcvmgn9lw";
+    url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.AppImage";
+    sha256 = "023q3yxqsv0vd76bvfhyhh0pnfia01rflfpyv0i6w6xnb5hm2jp7";
   };
 
 
diff --git a/nixpkgs/pkgs/applications/misc/josm/default.nix b/nixpkgs/pkgs/applications/misc/josm/default.nix
index 4b70530987f1..ac46c48d4077 100644
--- a/nixpkgs/pkgs/applications/misc/josm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15322";
+  version = "15628";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1i6cxs6rvqjwh7yfji5701xdzpnaxcv97gsd692fjrwasnsx1f1i";
+    sha256 = "19yn311h9x1434832i0awpv2n9vhbhkk1j1mi9zggy9f256f80c6";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix b/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix
new file mode 100644
index 000000000000..a5196811a6a5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchzip }:
+
+let
+  arch = "amd64";
+in
+stdenv.mkDerivation rec {
+  pname = "jotta-cli";
+  version = "0.6.18626";
+  src =
+    fetchzip {
+      url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
+      sha256 = "0v9bw0f2mcvmzp7v8gs6q4p1q54rflqnbjv5sw7h1kyfwznmflzj";
+      stripRoot = false;
+    };
+
+  installPhase = ''
+    install -D usr/bin/jotta-cli usr/bin/jottad -t $out/bin/
+    mkdir -p $out/share/bash-completion/completions
+  '';
+
+  postFixup = ''
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/jotta-cli
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/jottad
+    $out/bin/jotta-cli completion > $out/share/bash-completion/completions/jotta-cli.bash
+  '';
+
+  meta = with stdenv.lib; {
+    description  = "Jottacloud CLI";
+    homepage     = https://www.jottacloud.com/;
+    downloadPage = https://repo.jotta.us/archives/linux/;
+    maintainers  = with maintainers; [ evenbrenden ];
+    license      = licenses.unfree;
+    platforms    = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/jp2a/default.nix b/nixpkgs/pkgs/applications/misc/jp2a/default.nix
index 2a9e162e7ea9..1aece5eb4e26 100644
--- a/nixpkgs/pkgs/applications/misc/jp2a/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jp2a/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "12a1z9ba2j16y67f41y8ax5sgv1wdjd71pg7circdxkj263n78ql";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libjpeg ];
diff --git a/nixpkgs/pkgs/applications/misc/k2pdfopt/default.nix b/nixpkgs/pkgs/applications/misc/k2pdfopt/default.nix
index a2eba8e08c27..69d78575e2a3 100644
--- a/nixpkgs/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/nixpkgs/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
@@ -65,9 +65,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DCMAKE_C_FLAGS=-I${src}/include_mod" ];
 
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   installPhase = ''
     install -D -m 755 k2pdfopt $out/bin/k2pdfopt
diff --git a/nixpkgs/pkgs/applications/misc/kanboard/default.nix b/nixpkgs/pkgs/applications/misc/kanboard/default.nix
index 0a42d5e4f289..d3cef00bbe8a 100644
--- a/nixpkgs/pkgs/applications/misc/kanboard/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.9";
+  version = "1.2.12";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan";
+    sha256 = "1m1drgbyk1m6mf69xqlz9gqcj650n9m4y2fdj7d2yv20q8r31489";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/misc/kdeconnect/default.nix b/nixpkgs/pkgs/applications/misc/kdeconnect/default.nix
index ed3c86722699..e8bdcb371189 100644
--- a/nixpkgs/pkgs/applications/misc/kdeconnect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix b/nixpkgs/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix
new file mode 100644
index 000000000000..e2b26eaee901
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildEnv, fetchzip, mono }:
+
+let
+  version = "2.6";
+  drv = stdenv.mkDerivation {
+    pname = "otpkeyprov";
+    inherit version;
+
+    src = fetchzip {
+      url = "https://keepass.info/extensions/v2/otpkeyprov/OtpKeyProv-${version}.zip";
+      sha256 = "1p60k55v2sxnv1varmp0dgbsi2rhjg9kj19cf54mkc87nss5h1ki";
+      stripRoot = false;
+    };
+
+    meta = {
+      description = "OtpKeyProv is a key provider based on one-time passwords";
+      homepage    = "https://keepass.info/plugins.html#otpkeyprov";
+      platforms   = with stdenv.lib.platforms; linux;
+      license     = stdenv.lib.licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.ente ];
+    };
+
+    pluginFilename = "OtpKeyProv.plgx";
+
+    installPhase = ''
+      mkdir -p $out/lib/dotnet/keepass/
+      cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
+    '';
+  };
+in
+  # Mono is required to compile plugin at runtime, after loading.
+  buildEnv { name = drv.name; paths = [ mono drv ]; }
diff --git a/nixpkgs/pkgs/applications/misc/keepassx/community.nix b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
index 22e6cd2f6667..bab4c2d0b7d3 100644
--- a/nixpkgs/pkgs/applications/misc/keepassx/community.nix
+++ b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, qttools
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, qttools, darwin
 
 , curl
 , glibcLocales
@@ -7,7 +7,6 @@
 , libargon2
 , libgcrypt
 , libgpgerror
-, libmicrohttpd
 , libsodium
 , libyubikey
 , pkg-config
@@ -26,19 +25,21 @@
 , withKeePassKeeShareSecure ? true
 , withKeePassSSHAgent ? true
 , withKeePassNetworking ? false
+, withKeePassTouchID ? true
+, withKeePassFDOSecrets ? true
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.4.3";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "1r63bl0cam04rps1bjr107qvwsmay4254nv00gwhh9n45s6cslac";
+    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
@@ -69,6 +70,8 @@ stdenv.mkDerivation rec {
   ++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON")
   ++ (optional withKeePassKeeShareSecure "-DWITH_XC_KEESHARE_SECURE=ON")
   ++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON")
+  ++ (optional (withKeePassTouchID && stdenv.isDarwin) "-DWITH_XC_TOUCHID=ON")
+  ++ (optional (withKeePassFDOSecrets && stdenv.isLinux) "-DWITH_XC_FDOSECRETS=ON")
   ++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON");
 
   doCheck = true;
@@ -89,7 +92,6 @@ stdenv.mkDerivation rec {
     libargon2
     libgcrypt
     libgpgerror
-    libmicrohttpd
     libsodium
     libyubikey
     pkg-config
@@ -101,7 +103,8 @@ stdenv.mkDerivation rec {
     zlib
   ]
   ++ stdenv.lib.optional withKeePassKeeShareSecure quazip
-  ++ stdenv.lib.optional stdenv.isDarwin qtmacextras;
+  ++ stdenv.lib.optional stdenv.isDarwin qtmacextras
+  ++ stdenv.lib.optional (stdenv.isDarwin && withKeePassTouchID) darwin.apple_sdk.frameworks.LocalAuthentication;
 
   preFixup = optionalString stdenv.isDarwin ''
     # Make it work without Qt in PATH.
@@ -114,6 +117,6 @@ stdenv.mkDerivation rec {
     homepage = https://keepassxc.org/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ jonafato ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/khal/default.nix b/nixpkgs/pkgs/applications/misc/khal/default.nix
index 6aa94b2fecb8..c435eaefed50 100644
--- a/nixpkgs/pkgs/applications/misc/khal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/khal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, python3, fetchpatch }:
+{ stdenv, pkgs, python3, fetchpatch, glibcLocales }:
 
 with python3.pkgs; buildPythonApplication rec {
   pname = "khal";
@@ -11,11 +11,14 @@ with python3.pkgs; buildPythonApplication rec {
 
   # Include a khal.desktop file via upstream commit.
   # This patch should be removed when updating to the next version, probably.
-  patches = [ (fetchpatch {
-    name = "add-khal-dot-desktop.patch";
-    url = "https://github.com/pimutils/khal/commit/1f93d238fec7c934dd2f8e48f54925d22130e3aa.patch";
-    sha256 = "06skn3van7zd93348fc6axllx71ckkc7h2zljqlvwa339vca608c";
-  }) ];
+  patches = [
+    (fetchpatch {
+      name = "add-khal-dot-desktop.patch";
+      url = "https://github.com/pimutils/khal/commit/1f93d238fec7c934dd2f8e48f54925d22130e3aa.patch";
+      sha256 = "06skn3van7zd93348fc6axllx71ckkc7h2zljqlvwa339vca608c";
+    })
+    ./skip-broken-test.patch
+  ];
 
   propagatedBuildInputs = [
     atomicwrites
@@ -35,13 +38,15 @@ with python3.pkgs; buildPythonApplication rec {
     freezegun
   ];
   nativeBuildInputs = [ setuptools_scm sphinx sphinxcontrib_newsfeed ];
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest glibcLocales ];
+  LC_ALL = "en_US.UTF-8";
 
   postInstall = ''
     # zsh completion
     install -D misc/__khal $out/share/zsh/site-functions/__khal
 
     # man page
+    PATH="${python3.withPackages (ps: with ps; [ sphinx sphinxcontrib_newsfeed ])}/bin:$PATH" \
     make -C doc man
     install -Dm755 doc/build/man/khal.1 -t $out/share/man/man1
 
diff --git a/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch b/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch
new file mode 100644
index 000000000000..c3c982547aef
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/ui/test_editor.py b/tests/ui/test_editor.py
+index 27b7fa5..5978d72 100644
+--- a/tests/ui/test_editor.py
++++ b/tests/ui/test_editor.py
+@@ -1,5 +1,7 @@
+ import datetime as dt
+ 
++import pytest
++
+ import icalendar
+ from khal.ui.editor import RecurrenceEditor, StartEndEditor
+ 
+@@ -19,7 +21,7 @@ palette = {
+     'edit': 'blue',
+ }
+ 
+-
++@pytest.mark.skip(reason="Mocking breaks in this testcase")
+ def test_popup(monkeypatch):
+     """making sure the popup calendar gets callend with the right inital value
+ 
diff --git a/nixpkgs/pkgs/applications/misc/khard/default.nix b/nixpkgs/pkgs/applications/misc/khard/default.nix
index 99b9c38d53f8..1c6708c51c97 100644
--- a/nixpkgs/pkgs/applications/misc/khard/default.nix
+++ b/nixpkgs/pkgs/applications/misc/khard/default.nix
@@ -1,36 +1,15 @@
-{ stdenv, fetchurl, glibcLocales, python3 }:
+{ stdenv, glibcLocales, python3 }:
 
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-
-      # https://github.com/pimutils/khal/issues/780
-      python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca";
-        };
-      });
-
-    };
-  };
-
-in with python.pkgs; buildPythonApplication rec {
-  version = "0.14.0";
+python3.pkgs.buildPythonApplication rec {
+  version = "0.15.1";
   pname = "khard";
-  namePrefix = "";
 
-  src = fetchurl {
-    url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz";
-    sha256 = "0m1pc67jz663yfc0xzfpknymn8jj2bpfxaph3pl0mjd3h1zjfyaq";
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w";
   };
 
-  # setup.py reads the UTF-8 encoded readme.
-  LC_ALL = "en_US.UTF-8";
-  buildInputs = [ glibcLocales ];
-
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     atomicwrites
     configobj
     vobject
@@ -43,9 +22,6 @@ in with python.pkgs; buildPythonApplication rec {
     install -D misc/zsh/_khard $out/share/zsh/site-functions/_khard
   '';
 
-  # Fails; but there are no tests anyway.
-  doCheck = false;
-
   meta = {
     homepage = https://github.com/scheibler/khard;
     description = "Console carddav client";
diff --git a/nixpkgs/pkgs/applications/misc/kitty/default.nix b/nixpkgs/pkgs/applications/misc/kitty/default.nix
index 3b7e9e9d139d..6900f305c0f8 100644
--- a/nixpkgs/pkgs/applications/misc/kitty/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kitty/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring,
+{ stdenv, substituteAll, fetchFromGitHub, python3Packages, libunistring,
   harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel,
   libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor,
   libxkbcommon, libXi, libXext, wayland-protocols, wayland,
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.14.3";
+  version = "0.15.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "0wi6b6b1nyp16rcpcghk6by62wy6qsamv1xdymyn0zbqgd8h9n6b";
+    sha256 = "0y25w8123rjd6f5875mk8yv7mdr75mgswl3sh6zixm7b9r771s9p";
   };
 
   buildInputs = [
@@ -45,7 +45,7 @@ buildPythonApplication rec {
     python3
     zlib
   ] ++ stdenv.lib.optionals stdenv.isLinux [
-    fontconfig glfw libunistring libcanberra libX11
+    fontconfig libunistring libcanberra libX11
     libXrandr libXinerama libXcursor libxkbcommon libXi libXext
     wayland-protocols wayland dbus
   ];
@@ -64,9 +64,13 @@ buildPythonApplication rec {
   outputs = [ "out" "terminfo" ];
 
   patches = [
+    ./fix-paths.patch
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
     (substituteAll {
-      src = ./fix-paths.patch;
+      src = ./library-paths.patch;
       libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so";
+      libcanberra = "${libcanberra}/lib/libcanberra.so";
+      libEGL = "${stdenv.lib.getLib libGL}/lib/libEGL.so.1";
     })
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     ./no-lto.patch
@@ -74,14 +78,10 @@ buildPythonApplication rec {
     ./png2icns.patch
   ];
 
-  preConfigure  = stdenv.lib.optional (!stdenv.isDarwin) ''
-    substituteInPlace glfw/egl_context.c --replace "libEGL.so.1" "${stdenv.lib.getLib libGL}/lib/libEGL.so.1"
-  '';
-
   buildPhase = if stdenv.isDarwin then ''
-    make app
+    ${python.interpreter} setup.py kitty.app --update-check-interval=0
   '' else ''
-    ${python.interpreter} setup.py linux-package
+    ${python.interpreter} setup.py linux-package --update-check-interval=0
   '';
 
   installPhase = ''
@@ -89,7 +89,7 @@ buildPythonApplication rec {
     mkdir -p $out
     ${if stdenv.isDarwin then ''
     mkdir "$out/bin"
-    ln -s ../Applications/kitty.app/Contents/MacOS/kitty-deref-symlink "$out/bin/kitty"
+    ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty"
     mkdir "$out/Applications"
     cp -r kitty.app "$out/Applications/kitty.app"
     '' else ''
@@ -123,6 +123,6 @@ buildPythonApplication rec {
     description = "A modern, hackable, featureful, OpenGL based terminal emulator";
     license = licenses.gpl3;
     platforms = platforms.darwin ++ platforms.linux;
-    maintainers = with maintainers; [ tex rvolosatovs ];
+    maintainers = with maintainers; [ tex rvolosatovs ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/kitty/fix-paths.patch b/nixpkgs/pkgs/applications/misc/kitty/fix-paths.patch
index 704605813071..380f6d749146 100644
--- a/nixpkgs/pkgs/applications/misc/kitty/fix-paths.patch
+++ b/nixpkgs/pkgs/applications/misc/kitty/fix-paths.patch
@@ -1,14 +1,3 @@
---- a/kitty/desktop.c
-+++ b/kitty/desktop.c
-@@ -30,7 +30,7 @@
- static PyObject*
- init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
-     static bool done = false;
--    static const char* libname = "libstartup-notification-1.so";
-+    static const char* libname = "@libstartup_notification@";
-     // some installs are missing the .so symlink, so try the full name
-     static const char* libname2 = "libstartup-notification-1.so.0";
-
 --- a/docs/Makefile
 +++ b/docs/Makefile
 @@ -3,7 +3,7 @@
diff --git a/nixpkgs/pkgs/applications/misc/kitty/library-paths.patch b/nixpkgs/pkgs/applications/misc/kitty/library-paths.patch
new file mode 100644
index 000000000000..5f8daacc3c23
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/kitty/library-paths.patch
@@ -0,0 +1,32 @@
+--- a/glfw/egl_context.c
++++ b/glfw/egl_context.c
+@@ -314,7 +314,7 @@ bool _glfwInitEGL(void)
+ #elif defined(__CYGWIN__)
+         "libEGL-1.so",
+ #else
+-        "libEGL.so.1",
++        "@libEGL@",
+ #endif
+         NULL
+     };
+
+--- a/kitty/desktop.c
++++ b/kitty/desktop.c
+@@ -30,7 +30,7 @@
+ static PyObject*
+ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
+     static bool done = false;
+-    static const char* libname = "libstartup-notification-1.so";
++    static const char* libname = "@libstartup_notification@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libstartup-notification-1.so.0";
+     static const char* libname3 = "libstartup-notification-1.so.0.0.0";
+@@ -105,7 +105,7 @@ load_libcanberra_functions(void) {
+ 
+ static void
+ load_libcanberra(void) {
+-    static const char* libname = "libcanberra.so";
++    static const char* libname = "@libcanberra@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libcanberra.so.0";
+     static const char* libname3 = "libcanberra.so.0.2.5";
diff --git a/nixpkgs/pkgs/applications/misc/kitty/no-werror.patch b/nixpkgs/pkgs/applications/misc/kitty/no-werror.patch
index 8217b5ef51a6..bc1b369d98d9 100644
--- a/nixpkgs/pkgs/applications/misc/kitty/no-werror.patch
+++ b/nixpkgs/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=c11'
 -            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
 +            ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
          ).format(
+             float_conversion,
              optimize,
-             ' '.join(sanitize_args),
diff --git a/nixpkgs/pkgs/applications/misc/krusader/default.nix b/nixpkgs/pkgs/applications/misc/krusader/default.nix
index cf81d572c611..15979def34b0 100644
--- a/nixpkgs/pkgs/applications/misc/krusader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/krusader/default.nix
@@ -6,14 +6,14 @@
 
 let
   pname = "krusader";
-  version = "2.7.1";
+  version = "2.7.2";
 in mkDerivation rec {
   pname = "krusader";
   inherit version;
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1svxj1qygyr3a4dkx0nh2d6r4q7pfj00brzghl94mf4q0rz4vhfm";
+    sha256 = "02b1jz5a7cjr13v6c7fczrhs1xmg1krnva5fxk8x2bf4nd1rm8s1";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/kupfer/default.nix b/nixpkgs/pkgs/applications/misc/kupfer/default.nix
index 81cba3f56378..c7f54990107f 100644
--- a/nixpkgs/pkgs/applications/misc/kupfer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kupfer/default.nix
@@ -6,7 +6,6 @@
 , gtk3
 , libwnck3
 , keybinder3
-, hicolor-icon-theme
 , wrapGAppsHook
 , wafHook
 }:
@@ -27,7 +26,7 @@ buildPythonApplication rec {
     # For setup hook
     gobject-introspection wafHook
   ];
-  buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ];
+  buildInputs = [ docutils libwnck3 keybinder3 ];
   propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
 
   # without strictDeps kupfer fails to build: Could not find the python module 'gi.repository.Gtk'
diff --git a/nixpkgs/pkgs/applications/misc/latte-dock/default.nix b/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
index 0bd919944185..d7d23853e115 100644
--- a/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   pname = "latte-dock";
-  version = "0.8.9";
+  version = "0.9.7";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkpxa39crjpqgamrcpgp1mrcdg0aq9850yb6cf7lw7d3x2fdrxj";
+    sha256 = "1b8yz6r6x46xajx900m8s0sjfwiwbpp6nfb780ygfcz6inb1234q";
     name = "${pname}-${version}.tar.xz";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/librecad/default.nix b/nixpkgs/pkgs/applications/misc/librecad/default.nix
index 142dafe38eb1..0df0f86ef456 100644
--- a/nixpkgs/pkgs/applications/misc/librecad/default.nix
+++ b/nixpkgs/pkgs/applications/misc/librecad/default.nix
@@ -1,8 +1,23 @@
-{ mkDerivation, lib, fetchFromGitHub, installShellFiles, pkgconfig, runtimeShell
-, qtbase, qtsvg, qttools, qmake
-, boost, muparser }:
-
-mkDerivation rec {
+{ boost
+, fetchFromGitHub
+, installShellFiles
+, mkDerivationWith
+, muparser
+, pkgconfig
+, qmake
+, qtbase
+, qtsvg
+, qttools
+, runtimeShell
+, gcc8Stdenv
+}:
+
+let
+  stdenv = gcc8Stdenv;
+in
+
+# Doesn't build with gcc9
+mkDerivationWith stdenv.mkDerivation rec {
   pname = "librecad";
   version = "2.2.0-rc1";
 
@@ -13,7 +28,9 @@ mkDerivation rec {
     sha256 = "0kwj838hqzbw95gl4x6scli9gj3gs72hdmrrkzwq5rjxam18k3f3";
   };
 
-  patches = [ ./fix_qt_5_11_build.patch ];
+  patches = [
+    ./fix_qt_5_11_build.patch
+  ];
 
   postPatch = ''
     substituteInPlace scripts/postprocess-unix.sh \
@@ -48,17 +65,30 @@ mkDerivation rec {
     runHook postInstall
   '';
 
-  buildInputs = [ boost muparser qtbase qtsvg ];
+  buildInputs = [
+    boost
+    muparser
+    qtbase
+    qtsvg
+  ];
 
-  nativeBuildInputs = [ installShellFiles pkgconfig qmake qttools ];
+  nativeBuildInputs = [
+    installShellFiles
+    pkgconfig
+    qmake
+    qttools
+  ];
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "2D CAD package based on Qt";
     homepage = "https://librecad.org";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ viric ];
+    maintainers = with maintainers; [
+      kiwi
+      viric
+    ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/llpp/default.nix b/nixpkgs/pkgs/applications/misc/llpp/default.nix
index 2c2acb6a7434..25f9b10b1e85 100644
--- a/nixpkgs/pkgs/applications/misc/llpp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix b/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix
new file mode 100644
index 000000000000..5dd5fa0f5122
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix
@@ -0,0 +1,36 @@
+{ mkDerivation, lib, fetchFromGitHub, cmake
+, boost, libvorbis, libsndfile, minizip, gtest }:
+
+mkDerivation rec {
+  pname = "lsd2dsl";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "nongeneric";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15xjp5xxvl0qc4zp553n7djrbvdp63sfjw406idgxqinfmkqkqdr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ boost libvorbis libsndfile minizip gtest ];
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+
+  installPhase = ''
+    install -Dm755 lsd2dsl $out/bin/lsd2dsl
+    install -m755 qtgui/lsd2dsl-qtgui $out/bin/lsd2dsl-qtgui
+  '';
+
+  meta = with lib; {
+    homepage = "https://rcebits.com/lsd2dsl/";
+    description = "Lingvo dictionaries decompiler";
+    longDescription = ''
+      A decompiler for ABBYY Lingvo’s proprietary dictionaries.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/lutris/chrootenv.nix b/nixpkgs/pkgs/applications/misc/lutris/chrootenv.nix
index 2334221f926d..086128508866 100644
--- a/nixpkgs/pkgs/applications/misc/lutris/chrootenv.nix
+++ b/nixpkgs/pkgs/applications/misc/lutris/chrootenv.nix
@@ -5,7 +5,7 @@
 let
 
   qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
-  gnome3Deps = pkgs: with pkgs.gnome3; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk ];
+  gnome3Deps = pkgs: with pkgs; [ gnome3.zenity gtksourceview gnome3.gnome-desktop gnome3.libgnome-keyring webkitgtk ];
   xorgDeps = pkgs: with pkgs.xorg; [
     libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
     libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
@@ -23,13 +23,13 @@ in buildFHSUserEnv {
     allegro dumb
 
     # Desmume
-    lua agg soundtouch openal desktop-file-utils pangox_compat atk
+    lua agg soundtouch openal desktop-file-utils atk
 
     # DGen // TODO: libarchive is broken
 
     # Dolphin
     bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
-    wavpack gnutls-kdh orc nettle gmp pcre vulkan-loader
+    wavpack orc nettle gmp pcre vulkan-loader
 
     # DOSBox
     SDL_net SDL_sound
@@ -92,12 +92,12 @@ in buildFHSUserEnv {
   multiPkgs = pkgs: with pkgs; [
     # Common
     libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
-    libao libusb libevdev libudev libgcrypt libxml2 libusb libpng libmpeg2 libv4l
+    libao libusb libevdev udev libgcrypt libxml2 libusb libpng libmpeg2 libv4l
     libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio
     libcap libtiff libva libgphoto2 libxslt libtxc_dxtn libsndfile giflib zlib glib
     alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
     readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
-    vulkan-loader xdg_utils sqlite
+    vulkan-loader xdg_utils sqlite gnutls
 
     # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
 
diff --git a/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix b/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
index 1474ea2fc4f2..5df4a1b8d93c 100644
--- a/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/megasync/default.nix b/nixpkgs/pkgs/applications/misc/megasync/default.nix
index bc753c5a7a9a..6e51e3cda762 100644
--- a/nixpkgs/pkgs/applications/misc/megasync/default.nix
+++ b/nixpkgs/pkgs/applications/misc/megasync/default.nix
@@ -7,7 +7,6 @@
 , doxygen
 , fetchFromGitHub
 , ffmpeg
-, hicolor-icon-theme
 , libmediainfo
 , libraw
 , libsodium
@@ -51,7 +50,6 @@ mkDerivation rec {
     cryptopp
     curl
     ffmpeg
-    hicolor-icon-theme
     libmediainfo
     libraw
     libsodium
diff --git a/nixpkgs/pkgs/applications/misc/merkaartor/default.nix b/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
index 3023a5b5930c..08643577b49e 100644
--- a/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
@@ -1,24 +1,24 @@
 { 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;
 
-  NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
+  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H";
 
   postInstall = ''
     wrapProgram $out/bin/merkaartor \
diff --git a/nixpkgs/pkgs/applications/misc/minder/default.nix b/nixpkgs/pkgs/applications/misc/minder/default.nix
index 4b92a43451a3..7b6be997ffa0 100644
--- a/nixpkgs/pkgs/applications/misc/minder/default.nix
+++ b/nixpkgs/pkgs/applications/misc/minder/default.nix
@@ -2,22 +2,23 @@
 , pkgconfig, meson, ninja, python3
 , wrapGAppsHook, vala, shared-mime-info
 , cairo, pantheon, glib, gtk3, libxml2, libgee, libarchive
+, discount, gtksourceview3
 , hicolor-icon-theme # for setup-hook
 }:
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0lhmv3z2jifv4cksxa27jigdfj9n81myjsxg38xp28fx5x3h8bzc";
+    sha256 = "0zma6hjx0068ih7fagb1gg5cgci0ccc764sd8qw6iglg61aihpx7";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
-  buildInputs = [ cairo pantheon.granite glib gtk3 libxml2 libgee libarchive hicolor-icon-theme ];
+  buildInputs = [ cairo pantheon.granite glib gtk3 libxml2 libgee libarchive hicolor-icon-theme discount gtksourceview3 ];
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/nixpkgs/pkgs/applications/misc/mlterm/default.nix b/nixpkgs/pkgs/applications/misc/mlterm/default.nix
index 303b9fe5e8bc..b2012801e170 100644
--- a/nixpkgs/pkgs/applications/misc/mlterm/default.nix
+++ b/nixpkgs/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 ];
@@ -61,9 +61,7 @@ stdenv.mkDerivation rec {
     "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
      #mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core
      #and configuring ~/.mlterm/key correctly.
- ] ++ stdenv.lib.optional (libssh2 == null) [
-    "--disable-ssh2"
- ];
+ ] ++ stdenv.lib.optional (libssh2 == null) "--disable-ssh2";
 
   postInstall = ''
     install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg"
@@ -86,8 +84,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/nixpkgs/pkgs/applications/misc/mu-repo/default.nix b/nixpkgs/pkgs/applications/misc/mu-repo/default.nix
new file mode 100644
index 000000000000..ddee1939b02a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mu-repo/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, buildPythonApplication, pytest, git }:
+
+buildPythonApplication rec {
+  pname = "mu-repo";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "fabioz";
+    repo = pname;
+    rev = with lib;
+      "mu_repo_" + concatStringsSep "_" (splitVersion version);
+    sha256 = "1dxfggzbhiips0ww2s93yba9842ycp0i3x2i8vvcx0vgicv3rv6f";
+  };
+
+  checkInputs = [ pytest git ];
+  # disable test which assumes it's a git repo
+  checkPhase = "py.test mu_repo --ignore=mu_repo/tests/test_checkout.py";
+
+  meta = with lib; {
+    description = "Tool to help in dealing with multiple git repositories";
+    homepage = "http://fabioz.github.io/mu-repo/";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/multibootusb/default.nix b/nixpkgs/pkgs/applications/misc/multibootusb/default.nix
index a2678d6067f9..ab8802a1b691 100644
--- a/nixpkgs/pkgs/applications/misc/multibootusb/default.nix
+++ b/nixpkgs/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,44 @@ 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
+  ];
+
+  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"
+  '';
+
+  preFixup = ''
+    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}"
+    )
   '';
 
   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/nixpkgs/pkgs/applications/misc/mupdf/default.nix b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
index ddd325214b2f..32c117c01738 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
@@ -9,8 +9,7 @@ let
 
   # OpenJPEG version is hardcoded in package source
   openJpegVersion = with stdenv;
-    lib.concatStringsSep "." (lib.lists.take 2
-      (lib.splitString "." (lib.getVersion openjpeg)));
+    lib.versions.majorMinor (lib.getVersion openjpeg);
 
 
 in stdenv.mkDerivation rec {
@@ -65,6 +64,7 @@ in stdenv.mkDerivation rec {
     EOF
 
     moveToOutput "bin" "$bin"
+    ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
     mkdir -p $bin/share/applications
     cat > $bin/share/applications/mupdf.desktop <<EOF
     [Desktop Entry]
diff --git a/nixpkgs/pkgs/applications/misc/mysql-workbench/default.nix b/nixpkgs/pkgs/applications/misc/mysql-workbench/default.nix
index 172f999223a8..531f8d851f1c 100644
--- a/nixpkgs/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mysql-workbench/default.nix
@@ -37,6 +37,12 @@ in stdenv.mkDerivation rec {
     })
   ];
 
+  # have it look for 4.7.2 instead of 4.7.1
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "antlr-4.7.1-complete.jar" "antlr-4.7.2-complete.jar"
+  '';
+
   nativeBuildInputs = [
     cmake ninja pkgconfig jre swig wrapGAppsHook
   ];
@@ -56,10 +62,8 @@ in stdenv.mkDerivation rec {
     patchShebangs tools/get_wb_version.sh
   '';
 
-  NIX_CFLAGS_COMPILE = [
     # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated
-    "-Wno-error=deprecated-declarations"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
   cmakeFlags = [
     "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config"
@@ -85,8 +89,8 @@ in stdenv.mkDerivation rec {
     find -L "$out/bin" -type f -executable -print0 \
       | while IFS= read -r -d ''' file; do
       if [[ "''${file}" != *-bin ]]; then
-        echo "Wrapping program ''${file}"
-        wrapProgram "''${file}" "''${gappsWrapperArgs[@]}"
+        echo "Wrapping program $file"
+        wrapGApp "$file"
       fi
     done
   '';
diff --git a/nixpkgs/pkgs/applications/misc/navit/default.nix b/nixpkgs/pkgs/applications/misc/navit/default.nix
index 4d95f0b52388..2263dfc1fbc0 100644
--- a/nixpkgs/pkgs/applications/misc/navit/default.nix
+++ b/nixpkgs/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
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./CMakeLists.txt.patch ];
 
-  NIX_CFLAGS_COMPILE = optional sdlSupport "-I${SDL.dev}/include/SDL"
-    ++ optional speechdSupport "-I${speechd}/include/speech-dispatcher";
+  NIX_CFLAGS_COMPILE = toString (optional sdlSupport "-I${SDL.dev}/include/SDL"
+    ++ optional speechdSupport "-I${speechd}/include/speech-dispatcher");
 
   # we choose only cmdline and speech-dispatcher speech options.
   # espeak builtins is made for non-cmdline OS as winCE
@@ -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/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix b/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
index 36d5a70735a7..0560b1d25b3e 100644
--- a/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
+++ b/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Build system for netsurf browser";
     license = licenses.gpl2;
     maintainers = [ maintainers.vrthra ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/netsurf/libcss/default.nix b/nixpkgs/pkgs/applications/misc/netsurf/libcss/default.nix
index 55538925abd7..ed0b7b12e984 100644
--- a/nixpkgs/pkgs/applications/misc/netsurf/libcss/default.nix
+++ b/nixpkgs/pkgs/applications/misc/netsurf/libcss/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  NIX_CFLAGS_COMPILE=[ "-Wno-error=implicit-fallthrough" ];
+  NIX_CFLAGS_COMPILE= "-Wno-error=implicit-fallthrough";
 
   meta = with stdenv.lib; {
     homepage = http://www.netsurf-browser.org/;
diff --git a/nixpkgs/pkgs/applications/misc/netsurf/libnsgif/default.nix b/nixpkgs/pkgs/applications/misc/netsurf/libnsgif/default.nix
index 4de882243fe2..e826dee0d252 100644
--- a/nixpkgs/pkgs/applications/misc/netsurf/libnsgif/default.nix
+++ b/nixpkgs/pkgs/applications/misc/netsurf/libnsgif/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "GIF Decoder for netsurf browser";
     license = licenses.gpl2;
     maintainers = [ maintainers.vrthra ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/nnn/default.nix b/nixpkgs/pkgs/applications/misc/nnn/default.nix
index c38a27d55e63..e7c32c130956 100644
--- a/nixpkgs/pkgs/applications/misc/nnn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "2.5";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hvb0q6jg2nmvb40q43jj7v45afkjgcq6q9ldmmrh5558d0n65cw";
+    sha256 = "0h7j0wcpwwd2fibggr1nwkqpvhv2i1qnk54c4x6hixx31yidy2l0";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
@@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
 
   # shell completions
   postInstall = ''
-    install -Dm555 scripts/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash
-    install -Dm555 scripts/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions
-    install -Dm555 scripts/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d
+    install -Dm555 misc/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash
+    install -Dm555 misc/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions
+    install -Dm555 misc/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/misc/notable/default.nix b/nixpkgs/pkgs/applications/misc/notable/default.nix
index 055728ee046c..085dff7ce04e 100644
--- a/nixpkgs/pkgs/applications/misc/notable/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/notejot/default.nix b/nixpkgs/pkgs/applications/misc/notejot/default.nix
index b359088d6ba1..b91f8018c57c 100644
--- a/nixpkgs/pkgs/applications/misc/notejot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/notejot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon
+{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, pantheon
 , gtk3, gtksourceview, json-glib, libgee, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -34,6 +34,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Stupidly-simple sticky notes applet";
     homepage = https://github.com/lainsce/notejot;
diff --git a/nixpkgs/pkgs/applications/misc/notify-osd-customizable/default.nix b/nixpkgs/pkgs/applications/misc/notify-osd-customizable/default.nix
index 4568c3e8acc1..d75ec9ef2c25 100644
--- a/nixpkgs/pkgs/applications/misc/notify-osd-customizable/default.nix
+++ b/nixpkgs/pkgs/applications/misc/notify-osd-customizable/default.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
     libtool
   ];
 
-  configureFlags = "--libexecdir=$(out)/bin";
+  configureFlags = [ "--libexecdir=$(out)/bin" ];
 
   preFixup = ''
     wrapProgram "$out/bin/notify-osd" \
diff --git a/nixpkgs/pkgs/applications/misc/nut/default.nix b/nixpkgs/pkgs/applications/misc/nut/default.nix
index ec5ee031a5be..8b0cab315888 100644
--- a/nixpkgs/pkgs/applications/misc/nut/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/octoprint/default.nix b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
index c0bacc2c50d2..29a04627bef4 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/default.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
@@ -56,17 +56,18 @@ let
     "websocket-client"
     "wrapt"
     "sentry-sdk"
+    "werkzeug" # 0.16 just deprecates some stuff
   ];
 
 in py.pkgs.buildPythonApplication rec {
   pname = "OctoPrint";
-  version = "1.3.11";
+  version = "1.3.12";
 
   src = fetchFromGitHub {
     owner  = "foosel";
     repo   = "OctoPrint";
     rev    = version;
-    sha256 = "1102ki1819wsmkfg4riz4i0hjlr3w6nsvk8wrzqq0lc0s5ycf4jx";
+    sha256 = "1lmqssgwjyhknjf3x58g7cr0fqz7fs5a3rl07r69wfpch63ranyd";
   };
 
   propagatedBuildInputs = with py.pkgs; [
@@ -75,7 +76,7 @@ in py.pkgs.buildPythonApplication rec {
     psutil pyserial flask_login netaddr markdown sockjs-tornado
     pylru pyyaml sarge feedparser netifaces click websocket_client
     scandir chainmap future futures wrapt monotonic emoji
-    frozendict cachelib sentry-sdk typing
+    frozendict cachelib sentry-sdk typing filetype
   ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
 
   checkInputs = with py.pkgs; [ nose mock ddt ];
@@ -96,6 +97,6 @@ in py.pkgs.buildPythonApplication rec {
     homepage = https://octoprint.org/;
     description = "The snappy web interface for your 3D printer";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ abbradar ];
+    maintainers = with maintainers; [ abbradar gebner ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
index d8179e1b402a..ce800e8f18be 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
@@ -47,13 +47,13 @@ let
 
     mqtt = buildPlugin rec {
       pname = "MQTT";
-      version = "0.8.0";
+      version = "0.8.6";
 
       src = fetchFromGitHub {
         owner = "OctoPrint";
         repo = "OctoPrint-MQTT";
         rev = version;
-        sha256 = "1318pgwy39gkdqgll3q5lwm7avslgdwyiwb5v8m23cgyh5w8cjq7";
+        sha256 = "0y1jnfplcy8mh3szrfbbvngl02j49cbdizglrfsry4fvqg50zjxd";
       };
 
       propagatedBuildInputs = with python2Packages; [ paho-mqtt ];
@@ -87,13 +87,13 @@ let
 
     stlviewer = buildPlugin rec {
       pname = "STLViewer";
-      version = "0.4.1";
+      version = "0.4.2";
 
       src = fetchFromGitHub {
         owner = "jneilliii";
         repo = "OctoPrint-STLViewer";
-        rev = "v${version}";
-        sha256 = "1f64s37g2d79g76v0vjnjrc2jp2gwrsnfgx7w3n0hkf1lz1pjkm0";
+        rev = version;
+        sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
       };
 
       meta = with stdenv.lib; {
@@ -168,13 +168,13 @@ let
 
     printtimegenius = buildPlugin rec {
       pname = "PrintTimeGenius";
-      version = "1.3.1";
+      version = "2.0.2";
 
       src = fetchFromGitHub {
         owner = "eyal0";
         repo = "OctoPrint-${pname}";
         rev = version;
-        sha256 = "0ijv1nxmikv06a00hqqkqri6wnydqh6lwcx07pmvw6jy706jhy28";
+        sha256 = "1w4jm42434x87sbih45brkb9krik851vxkz153w3w5c8p74kgg6f";
       };
 
       preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/misc/onboard/default.nix b/nixpkgs/pkgs/applications/misc/onboard/default.nix
index 79e3317e64da..1e578cde512a 100644
--- a/nixpkgs/pkgs/applications/misc/onboard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/oneko/default.nix b/nixpkgs/pkgs/applications/misc/oneko/default.nix
index 3a0a548be0b9..1c5858b5677f 100644
--- a/nixpkgs/pkgs/applications/misc/oneko/default.nix
+++ b/nixpkgs/pkgs/applications/misc/oneko/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ xlibsWrapper ];
 
   makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = with stdenv.lib; {
     description = "Creates a cute cat chasing around your mouse cursor";
diff --git a/nixpkgs/pkgs/applications/misc/openbrf/default.nix b/nixpkgs/pkgs/applications/misc/openbrf/default.nix
index b8b6e42d5cf5..e943263600cd 100644
--- a/nixpkgs/pkgs/applications/misc/openbrf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/opencpn/default.nix b/nixpkgs/pkgs/applications/misc/opencpn/default.nix
index 5c7e7355c662..375552aaa33a 100644
--- a/nixpkgs/pkgs/applications/misc/opencpn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/opencpn/default.nix
@@ -2,14 +2,14 @@
   gettext, glib, portaudio }:
 
 stdenv.mkDerivation rec {
-  pname = "opencpn";
-  version = "5.0.0";
+  pname = "opencpn-unstable";
+  version = "2019-11-21";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "v${version}";
-    sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja";
+    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
+    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/opentx/default.nix b/nixpkgs/pkgs/applications/misc/opentx/default.nix
index 585c85cbd2c5..370f88d7b479 100644
--- a/nixpkgs/pkgs/applications/misc/opentx/default.nix
+++ b/nixpkgs/pkgs/applications/misc/opentx/default.nix
@@ -58,6 +58,7 @@ in stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = with maintainers; [ elitak ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/misc/orca/default.nix b/nixpkgs/pkgs/applications/misc/orca/default.nix
index 1a8d5b76fe3d..1dc6a9cfee56 100644
--- a/nixpkgs/pkgs/applications/misc/orca/default.nix
+++ b/nixpkgs/pkgs/applications/misc/orca/default.nix
@@ -1,21 +1,47 @@
-{ stdenv, pkgconfig, fetchurl, buildPythonApplication
-, autoreconfHook, wrapGAppsHook, gobject-introspection
-, intltool, yelp-tools, itstool, libxmlxx3
-, python, pygobject3, gtk3, gnome3, substituteAll, hicolor-icon-theme
-, 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.32.0";
+  version = "3.34.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i";
+    sha256 = "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4";
   };
 
   patches = [
@@ -29,27 +55,42 @@ buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
-    intltool yelp-tools itstool gobject-introspection
-    hicolor-icon-theme # setup-hook
+    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
   ];
 
-  # Run intltoolize to create po/Makefile.in.in
-  preConfigure = ''
-    intltoolize
-  '';
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -57,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/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix b/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
index 8ffc8ec69fec..e5838dc1bbe6 100644
--- a/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
+++ b/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
@@ -12,17 +12,14 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [
-    "GIT_VERSION=$(version)"
+    "GIT_VERSION=${version}"
     "GIT_TIMESTAMP="
-    "SHAREDIR=$(out)/share/"
-    "INSTALL_BINDIR=$(out)/bin"
-    "INSTALL_MANDIR=$(out)/share/man/man1"
-    "INSTALL_SHAREDIR=$(out)/share/"
+    "SHAREDIR=${placeholder ''out''}/share/osm2xmap"
+    "INSTALL_BINDIR=${placeholder ''out''}/bin"
+    "INSTALL_MANDIR=${placeholder ''out''}/share/man/man1"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
-
-  installFlags = [ "DESTDIR=$(out)" ];
+  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H";
 
   buildInputs = [ libroxml proj libyamlcpp boost ];
 
diff --git a/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix b/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
index 616949af8836..82144e9689f8 100644
--- a/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
+++ b/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "1balhz78nva0agmbp8n9vg8fhmdssnd9fjxj20bpw7b45mxhjc20";
+    sha256 = "199dvajik5d56nybk2061vdjyxwakngfd7frxj99wr2vsrp4aw2b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/overmind/default.nix b/nixpkgs/pkgs/applications/misc/overmind/default.nix
index 918924df0b97..7603a66cd362 100644
--- a/nixpkgs/pkgs/applications/misc/overmind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/overmind/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "overmind";
-  version = "2.0.2";
+  version = "2.0.3";
   goPackagePath = "github.com/DarthSim/overmind";
 
   nativeBuildInputs = [ makeWrapper ];
@@ -15,7 +15,7 @@ buildGoPackage rec {
     owner = "DarthSim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0cns19gqkfxsiiyfxhb05cjp1iv2fb40x47gp8djrwwzcd1r6zxh";
+    sha256 = "0c551c240lqxdjg0jj01rh2fyhwls02k5lczlxacj05prp1plz9p";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/pastel/default.nix b/nixpkgs/pkgs/applications/misc/pastel/default.nix
new file mode 100644
index 000000000000..8499ad0880c0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/pastel/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pastel";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "sharkdp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1c47bph1qraq3g0g5bp23jqlz7qdn4f8vh264y937jz17avvacx5";
+  };
+
+  cargoSha256 = "1pfhwqj9kxm9p0mpdw7qyvivgby2bmah05kavf0a5zhzvq4v4sg0";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
+  meta = with stdenv.lib; {
+    description = "A command-line tool to generate, analyze, convert and manipulate colors";
+    homepage = https://github.com/sharkdp/pastel;
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ davidtwco ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/pbpst/default.nix b/nixpkgs/pkgs/applications/misc/pbpst/default.nix
index fcf88200133c..c1fd6c5d7cb8 100644
--- a/nixpkgs/pkgs/applications/misc/pbpst/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pbpst/default.nix
@@ -45,5 +45,6 @@ llvmPackages.stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ tmplt ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
new file mode 100644
index 000000000000..ed54ccbb0a15
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, lib
+, wrapGAppsHook, intltool
+, python3Packages, gtk3, poppler_gi
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pdfarranger";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "jeromerobert";
+    repo = pname;
+    rev = version;
+    sha256 = "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook intltool
+  ] ++ (with python3Packages; [
+    setuptools distutils_extra
+  ]);
+
+  buildInputs = [
+    gtk3 poppler_gi
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+    pypdf2
+  ];
+
+  # incompatible with wrapGAppsHook
+  strictDeps = false;
+
+  doCheck = false; # no tests
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "Merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ symphorien ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/pdfpc/default.nix b/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
index c0dca0564768..a44cccf9a9d1 100644
--- a/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
-, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, vala, gtk3, libgee, fetchpatch
+, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
@@ -17,16 +17,20 @@ stdenv.mkDerivation rec {
     cmake pkgconfig vala
     # For setup hook
     gobject-introspection
+    wrapGAppsHook
   ];
   buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
-    libpthreadstubs makeWrapper librsvg pcre ];
+    libpthreadstubs librsvg pcre ];
 
-  cmakeFlags = stdenv.lib.optionalString stdenv.isDarwin "-DMOVIES=OFF";
+  cmakeFlags = stdenv.lib.optional stdenv.isDarwin "-DMOVIES=OFF";
 
-  postInstall = ''
-    wrapProgram $out/bin/pdfpc \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-  '';
+  patches = [
+    # Fix build vala 0.46
+    (fetchpatch {
+      url = "https://github.com/pdfpc/pdfpc/commit/bbc16b97ecbdcdd22c2dc827a5c0e8b569073312.patch";
+      sha256 = "0wi1rqcvg65cxnxvmvavcvghqyksnpijq1p91m57jaby3hb0pdcy";
+    })
+  ];
 
   meta = with stdenv.lib; {
     description = "A presenter console with multi-monitor support for PDF files";
diff --git a/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix b/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix
index 30e68a89a1cb..4b086c691cdf 100644
--- a/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "4.0.4";
+  version = "4.0.5";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    sha256 = "17lhzxlgr4l4dljy0b0avfrgbj9rsfzk1dzg0abqvld4w4igkqbq";
+    sha256 = "1znadsg65312h8yyxvj8k0c4pl3g9daif50vk50acwpblq49wm1v";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/pgmodeler/default.nix b/nixpkgs/pkgs/applications/misc/pgmodeler/default.nix
new file mode 100644
index 000000000000..83e45e255817
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/pgmodeler/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, qmake, mkDerivation,
+  qtsvg,
+  libxml2, postgresql }:
+
+mkDerivation rec {
+  pname = "pgmodeler";
+  version = "0.9.2";
+
+  src = fetchFromGitHub {
+    owner = "pgmodeler";
+    repo = "pgmodeler";
+    rev = "v${version}";
+    sha256 = "1wkvg20krfwkziz7skgmwlinx07jm5nl3455payg5brv69zf60kl";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig qmake ];
+  qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ];
+
+  # todo: libpq would suffice here. Unfortunately this won't work, if one uses only postgresql.lib here.
+  buildInputs = [ postgresql qtsvg ];
+
+  meta = with stdenv.lib; {
+    description = "A database modeling tool for PostgreSQL";
+    longDescription = ''pgModeler (PostgreSQL Database Modeler) is an open source database modeling tool designed for PostgreSQL.'';
+    homepage = https://pgmodeler.io/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.esclear ];
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/misc/plank/default.nix b/nixpkgs/pkgs/applications/misc/plank/default.nix
index dfc92e38f63c..0ae9e7379e7c 100644
--- a/nixpkgs/pkgs/applications/misc/plank/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/plover/default.nix b/nixpkgs/pkgs/applications/misc/plover/default.nix
index 8021ffdc8f51..8ecc4f974b45 100644
--- a/nixpkgs/pkgs/applications/misc/plover/default.nix
+++ b/nixpkgs/pkgs/applications/misc/plover/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, python27Packages, python36Packages, wmctrl }:
+{ stdenv, fetchurl, python27Packages, python36Packages, wmctrl,
+  qtbase, mkDerivationWith }:
 
 {
   stable = with python27Packages; buildPythonPackage rec {
@@ -19,11 +20,11 @@
     nativeBuildInputs     = [ setuptools_scm ];
     buildInputs           = [ pytest mock ];
     propagatedBuildInputs = [
-      six setuptools pyserial appdirs hidapi wxPython xlib wmctrl
+      six setuptools pyserial appdirs hidapi wxPython xlib wmctrl dbus-python
     ];
   };
 
-  dev = with python36Packages; buildPythonPackage rec {
+  dev = with python36Packages; mkDerivationWith buildPythonPackage rec {
     pname = "plover";
     version = "4.0.0.dev8";
 
@@ -43,6 +44,12 @@
     postPatch = "sed -i /PyQt5/d setup.cfg";
 
     checkInputs           = [ pytest mock ];
-    propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth ];
+    propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
+
+    dontWrapQtApps = true;
+
+    preFixup = ''
+      makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+    '';
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pmenu/default.nix b/nixpkgs/pkgs/applications/misc/pmenu/default.nix
deleted file mode 100644
index bd3796a572b0..000000000000
--- a/nixpkgs/pkgs/applications/misc/pmenu/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitLab, python2Packages, gnome-menus }:
-
-stdenv.mkDerivation {
-  pname = "pmenu";
-  version = "2018-01-01";
-
-  src = fetchFromGitLab {
-    owner = "o9000";
-    repo = "pmenu";
-    rev = "f98a5bdf20deb0b7f0543e5ce6a8f5574f695e07";
-    sha256 = "131nqafbmbfpgsgss27pz4cyb9fb29m5h1ai1fyvcn286rr9dnp2";
-  };
-
-  nativeBuildInputs = [ python2Packages.wrapPython ];
-
-  buildInputs = [ python2Packages.pygtk gnome-menus ];
-
-  pythonPath = [ python2Packages.pygtk ];
-    
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications
-    ./install.sh $out
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = {
-    homepage = https://gitlab.com/o9000/pmenu;
-    description = "Start menu for Linux/BSD";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/polybar/default.nix b/nixpkgs/pkgs/applications/misc/polybar/default.nix
index 9ca8c696184c..e1045663a3bd 100644
--- a/nixpkgs/pkgs/applications/misc/polybar/default.nix
+++ b/nixpkgs/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
@@ -26,13 +26,13 @@ assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
 stdenv.mkDerivation rec {
     pname = "polybar";
-    version = "3.4.0";
+    version = "3.4.2";
 
     src = fetchFromGitHub {
-      owner = "jaagr";
+      owner = pname;
       repo = pname;
       rev = version;
-      sha256 = "1g3zj0788cdlm8inpl19279bw8zjcy7dzj7q4f1l2d8c8g1jhv0m";
+      sha256 = "1ss4wzy68dpqr5a4m090nn36v8wsp4a7pj6whcxxdrrimgww5r88";
       fetchSubmodules = true;
     };
 
@@ -45,12 +45,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 xcbutil
       xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
diff --git a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
index a795c4485160..caf4f270a151 100644
--- a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig
-, boost, curl, expat, glew, libpng, tbb, wxGTK30
+, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
 , gtest, nlopt, xorg, makeDesktopItem
 }:
 let
@@ -9,7 +9,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.0.0";
+  version = "2.1.1";
 
   enableParallelBuilding = true;
 
@@ -19,16 +19,16 @@ stdenv.mkDerivation rec {
     pkgconfig
   ];
 
-  # We could add Eigen, but it doesn't currently compile with the version in
-  # nixpkgs.
   buildInputs = [
     boost
+    cereal
     curl
+    eigen
     expat
     glew
     libpng
     tbb
-    wxGTK30
+    wxGTK31
     xorg.libX11
   ] ++ checkInputs;
 
@@ -40,10 +40,15 @@ stdenv.mkDerivation rec {
   # We need to set the path via the NLOPT environment variable instead.
   NLOPT = nlopt;
 
+  # Disable compiler warnings that clutter the build log
+  # It seems to be a known issue for Eigen:
+  # http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
+  NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes";
+
   prePatch = ''
     # In nix ioctls.h isn't available from the standard kernel-headers package
-    # on other distributions. As the copy in glibc seems to be identical to the
-    # one in the kernel, we use that one instead.
+    # like in other distributions. The copy in glibc seems to be identical to the
+    # one in the kernel though, so we use that one instead.
     sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' src/libslic3r/GCodeSender.cpp
   '' + lib.optionalString (lib.versionOlder "2.5" nloptVersion) ''
     # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
@@ -54,13 +59,12 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "135wn2sza2f2kvbja1haxil5kx1b74lc1i7dsa35i1y3phabykhz";
+    sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd";
     rev = "version_${version}";
   };
 
   cmakeFlags = [
     "-DSLIC3R_FHS=1"
-    "-DSLIC3R_WX_STABLE=1"  # necessary when compiling against wxGTK 3.0
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
index 1ed54b05ec8c..b1f4e5f9e42b 100644
--- a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pwsafe";
-  version = "1.08.1";
+  version = "1.08.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${version}BETA";
-    sha256 = "0x89pn056h8b4yvxbd6l3qwrghslxc7vlxnblmcmsx7xx4i041ng";
+    sha256 = "14qwk3cv5psj7ll71ikyv452x55c7iwjw9765yrpij6741r4yjln";
   };
 
   nativeBuildInputs = [ 
diff --git a/nixpkgs/pkgs/development/python-modules/cerberus11/default.nix b/nixpkgs/pkgs/applications/misc/pyditz/cerberus.nix
index 614e3ca81350..614e3ca81350 100644
--- a/nixpkgs/pkgs/development/python-modules/cerberus11/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pyditz/cerberus.nix
diff --git a/nixpkgs/pkgs/applications/misc/pyditz/default.nix b/nixpkgs/pkgs/applications/misc/pyditz/default.nix
index 0f4e743aba4e..60de2f9abdc9 100644
--- a/nixpkgs/pkgs/applications/misc/pyditz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/pytrainer/default.nix b/nixpkgs/pkgs/applications/misc/pytrainer/default.nix
index 7c560cacda12..0375b99af483 100644
--- a/nixpkgs/pkgs/applications/misc/pytrainer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pytrainer/default.nix
@@ -26,13 +26,13 @@ in
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pytrainer";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "pytrainer";
     repo = "pytrainer";
     rev = "v${version}";
-    sha256 = "1w5z1xwb2g6j2izm89b7lv9n92r1zhsr8bglxcn7jc5gwbvwysvd";
+    sha256 = "0m2sy3f5pyc4wv1ns31r7vlafqkzp0a2jasaskwrkl6273agbbk9";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/misc/qdirstat/default.nix b/nixpkgs/pkgs/applications/misc/qdirstat/default.nix
index 1f35643dd761..21d4b0031792 100644
--- a/nixpkgs/pkgs/applications/misc/qdirstat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/qlcplus/default.nix b/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
index 8fc890f42439..c0b844d121af 100644
--- a/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qlcplus";
-  version = "4.12.1";
+  version = "4.12.2";
 
   src = fetchFromGitHub {
     owner = "mcallegari";
     repo = "qlcplus";
     rev = "QLC+_${version}";
-    sha256 = "1kz2zbz7blnm91dysn949bjsy4xqxg658k47p3gbl0pjl58c44hp";
+    sha256 = "1j0jhgql78p5ghcaz36l1k55447s5qiv396a448qic7xqpym2vl3";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
@@ -40,6 +40,6 @@ mkDerivation rec {
     maintainers = [ maintainers.globin ];
     license = licenses.asl20;
     platforms = platforms.all;
-    homepage = "http://www.qlcplus.org/";
+    homepage = "https://www.qlcplus.org/";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/qmapshack/default.nix b/nixpkgs/pkgs/applications/misc/qmapshack/default.nix
index 335c583998fc..21fbbf3253f7 100644
--- a/nixpkgs/pkgs/applications/misc/qmapshack/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qmapshack/default.nix
@@ -1,12 +1,15 @@
-{ mkDerivation, lib, fetchurl, fetchpatch, cmake, qtscript, qtwebengine, gdal, proj, routino, quazip }:
+{ mkDerivation, lib, fetchFromGitHub, cmake
+, qtscript, qtwebengine, gdal, proj, routino, quazip }:
 
 mkDerivation rec {
   pname = "qmapshack";
-  version = "1.13.1";
+  version = "1.14.0";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/maproom/qmapshack/downloads/${pname}-${version}.tar.gz";
-    sha256 = "15x1b2q0hr1vx006f9hjc4cvfjvxvfdwybw32qvczdyc3crq0mc9";
+  src = fetchFromGitHub {
+    owner = "Maproom";
+    repo = pname;
+    rev = "V_${version}";
+    sha256 = "07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,21 +25,15 @@ mkDerivation rec {
   enableParallelBuilding = true;
 
   patches = [
-    (fetchpatch {
-      url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindPROJ4.patch";
-      sha256 = "1nx4ax233bnnj478cmjpm5c1qqmyn1navlihf10q6hhbanay9n99";
-    })
-    (fetchpatch {
-      url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindQuaZip5.patch";
-      sha256 = "0z1b2dz2zlz685mxgn8bmh1fyhxpf6dzd6jvkkjyk2kvnrdxv3b9";
-    })
+    "${src}/FindPROJ4.patch"
+    "${src}/FindQuaZip5.patch"
   ];
 
   meta = with lib; {
-    homepage = https://bitbucket.org/maproom/qmapshack/wiki/Home;
-    description = "Plan your next outdoor trip";
+    homepage = https://github.com/Maproom/qmapshack;
+    description = "Consumer grade GIS software";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda sikmir ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/qpdfview/default.nix b/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
index 81aa18c9f240..4100ab3536b7 100644
--- a/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
@@ -22,8 +22,12 @@ mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+
+  preConfigure = ''
+    qmakeFlags+=(*.pro)
+  '';
+
   qmakeFlags = [
-    "*.pro"
     "TARGET_INSTALL_PATH=${placeholder "out"}/bin"
     "PLUGIN_INSTALL_PATH=${placeholder "out"}/lib/qpdfview"
     "DATA_INSTALL_PATH=${placeholder "out"}/share/qpdfview"
diff --git a/nixpkgs/pkgs/applications/misc/qtbitcointrader/default.nix b/nixpkgs/pkgs/applications/misc/qtbitcointrader/default.nix
index d942f999f697..21d51f172582 100644
--- a/nixpkgs/pkgs/applications/misc/qtbitcointrader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchzip, qt5 }:
+{ stdenv, fetchzip, qt5, mkDerivation }:
 
 let
-  version = "1.40.41";
+  version = "1.40.43";
 in
-stdenv.mkDerivation {
+mkDerivation {
   pname = "qtbitcointrader";
   inherit version;
 
   src = fetchzip {
     url = "https://github.com/JulyIGHOR/QtBitcoinTrader/archive/v${version}.tar.gz";
-    sha256 = "0v2rqzswqxfhxvkj1i7b48sd6kbj3w9issvn05yhp7bx75gwns4p";
+    sha256 = "07xbsi78cykpyxidp1bw5ahmymdrs2afg7b0lla7dfhagz18lzxv";
   };
 
   buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ];
diff --git a/nixpkgs/pkgs/applications/misc/qtpass/default.nix b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
index 1fccada42003..6b68071d4d05 100644
--- a/nixpkgs/pkgs/applications/misc/qtpass/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
@@ -1,43 +1,57 @@
-{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch
-, git, gnupg, pass, qtbase, qtsvg, qttools, qmake
+{ lib, mkDerivation, fetchFromGitHub
+, git, gnupg, pass, pwgen, qrencode
+, fetchpatch
+, qtbase, qtsvg, qttools, qmake
 }:
 
 mkDerivation rec {
   pname = "qtpass";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner  = "IJHack";
     repo   = "QtPass";
     rev    = "v${version}";
-    sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv";
+    sha256 = "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x";
   };
 
-  buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
+  postPatch = ''
+    substituteInPlace src/qtpass.cpp \
+      --replace "/usr/bin/qrencode" "${qrencode}/bin/qrencode"
+  '';
+
+  buildInputs = [ git gnupg pass qtbase qtsvg ];
+
+  nativeBuildInputs = [ qmake qttools ];
 
-  nativeBuildInputs = [ qmake ];
+  enableParallelBuilding = true;
 
-  # Fix missing app icon on Wayland. Has been upstreamed and should be safe to
-  # remove in versions > 1.3.0
   patches = [
+    # Fix path to pass-otp plugin `/usr/lib/password-store/extensions/otp.bash` being hardcoded.
+    # TODO: Remove when https://github.com/IJHack/QtPass/pull/499 is merged and available.
     (fetchpatch {
-      url = "https://github.com/IJHack/QtPass/commit/aba8c4180f0ab3d66c44f88b21f137b19d17bde8.patch";
-      sha256 = "009bcq0d75khmaligzd7736xdzy6a8s1m9dgqybn70h801h92fcr";
+      name = "qtpass-Dont-hardcode-pass-otp-usr-lib-path.patch";
+      url = "https://github.com/IJHack/QtPass/commit/2ca9f0ec5a8d709c97a2433c5cd814040c82d4f3.patch";
+      sha256 = "0ljlvqxvarrz2a4j71i66aflrxi84zirb6cg9kvygnvhvm1zbc7d";
     })
   ];
 
-  enableParallelBuilding = true;
+  qmakeFlags = [
+    # setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
+    "QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
+  ];
 
   qtWrapperArgs = [
-    "--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}"
+    "--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}"
   ];
 
   postInstall = ''
-    install -D qtpass.desktop $out/share/applications/qtpass.desktop
+    install -D qtpass.desktop -t $out/share/applications
     install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
+    install -D qtpass.1 -t $out/share/man/man1
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A multi-platform GUI for pass, the standard unix password manager";
     homepage = https://qtpass.org;
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/applications/misc/raiseorlaunch/default.nix b/nixpkgs/pkgs/applications/misc/raiseorlaunch/default.nix
new file mode 100644
index 000000000000..6bbbc671bf86
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/raiseorlaunch/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "raiseorlaunch";
+  version = "2.3.3";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "3d694015d020a888b42564d56559213b94981ca2b32b952a49b2de4d029d2e59";
+  };
+
+  nativeBuildInputs = [ python3Packages.setuptools_scm ];
+  checkInputs = [ python3Packages.pytest ];
+  pythonPath = with python3Packages; [ i3ipc ];
+
+  meta = with lib; {
+    maintainers = with maintainers; [ winpat ];
+    description = "A run-or-raise-application-launcher for i3 window manager";
+    homepage = "https://github.com/open-dynaMIX/raiseorlaunch";
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/ranger/default.nix b/nixpkgs/pkgs/applications/misc/ranger/default.nix
index 7045228d6a2f..243913d0a098 100644
--- a/nixpkgs/pkgs/applications/misc/ranger/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ranger/default.nix
@@ -7,20 +7,20 @@ assert imagePreviewSupport -> w3m != null;
 
 python3Packages.buildPythonApplication rec {
   name = "ranger-${version}";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "ranger";
     repo = "ranger";
     rev = "v${version}";
-    sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
+    sha256= "1rygfryczanvqxn43lmlkgs04sbqznbvbb9hlbm3h5qgdcl0xlw8";
   };
 
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = with python3Packages; [ pytest ];
   propagatedBuildInputs = [ file ]
-    ++ lib.optional (imagePreviewSupport) [ python3Packages.pillow ];
+    ++ lib.optionals (imagePreviewSupport) [ python3Packages.pillow ];
 
   checkPhase = ''
     py.test tests
diff --git a/nixpkgs/pkgs/applications/misc/redis-desktop-manager/default.nix b/nixpkgs/pkgs/applications/misc/redis-desktop-manager/default.nix
index 25f9c6ed4c7a..ac62ccc00cbf 100644
--- a/nixpkgs/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/nixpkgs/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, lib, fetchgit, pkgconfig, libssh2
+{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2
 , qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols
 , qtsvg, qttools, qtquick1, qtcharts
 , qmake
 }:
 
 let
-  breakpad_lss = fetchgit {
+  breakpad_lss = fetchFromGitiles {
     url = "https://chromium.googlesource.com/linux-syscall-support";
     rev = "08056836f2b4a5747daff75435d10d649bed22f6";
     sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
   pname = "redis-desktop-manager";
   version = "0.9.1";
 
-  src = fetchgit {
-    url = "https://github.com/uglide/RedisDesktopManager.git";
+  src = fetchFromGitHub {
+    owner = "uglide";
+    repo = "RedisDesktopManager";
     fetchSubmodules = true;
-    rev = "refs/tags/${version}";
+    rev = version;
     sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f";
   };
 
@@ -32,6 +33,8 @@ stdenv.mkDerivation rec {
 
   dontUseQmakeConfigure = true;
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ];
+
   # Disable annoying update reminder
   postPatch = ''
     sed -i s/'^\s*initUpdater();'/'\/\/initUpdater():'/ src/app/app.cpp
diff --git a/nixpkgs/pkgs/applications/misc/redshift/default.nix b/nixpkgs/pkgs/applications/misc/redshift/default.nix
index ad27c9b13a61..e9862041f4a8 100644
--- a/nixpkgs/pkgs/applications/misc/redshift/default.nix
+++ b/nixpkgs/pkgs/applications/misc/redshift/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoconf, automake, gettext, intltool
 , libtool, pkgconfig, wrapGAppsHook, wrapPython, gobject-introspection
-, gtk3, python, pygobject3, hicolor-icon-theme, pyxdg
+, gtk3, python, pygobject3, pyxdg
 
 , withQuartz ? stdenv.isDarwin, ApplicationServices
 , withRandr ? stdenv.isLinux, libxcb
@@ -11,83 +11,108 @@
 , withGeoclue ? withGeolocation && stdenv.isLinux, geoclue
 }:
 
-stdenv.mkDerivation rec {
-  pname = "redshift";
-  version = "1.12";
+let
+  mkRedshift =
+    { pname, version, src, meta }:
+    stdenv.mkDerivation rec {
+      inherit pname version src meta;
 
-  src = fetchFromGitHub {
-    owner = "jonls";
-    repo = "redshift";
-    rev = "v${version}";
-    sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
+      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
-    hicolor-icon-theme
-  ] ++ 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/nixpkgs/pkgs/applications/misc/regextester/default.nix b/nixpkgs/pkgs/applications/misc/regextester/default.nix
index ca362bab2ec9..816a158c0319 100644
--- a/nixpkgs/pkgs/applications/misc/regextester/default.nix
+++ b/nixpkgs/pkgs/applications/misc/regextester/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, vala
 , gettext
 , libxml2
 , pkgconfig
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pantheon.vala
+    vala
     gettext
     gobject-introspection
     libxml2
diff --git a/nixpkgs/pkgs/applications/misc/rescuetime/default.nix b/nixpkgs/pkgs/applications/misc/rescuetime/default.nix
index cd232088b5bb..13ae1f1ba7d3 100644
--- a/nixpkgs/pkgs/applications/misc/rescuetime/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rescuetime/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }:
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver }:
 
 let
   src =
     if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
-      sha256 = "03bky9vja7fijz45n44b6gawd6q8yd30nx6nya9lqdlxd1bkqmji";
+      sha256 = "0mw8dh9z7pqan0yrhycmv39h5c1sc4mbw5l02cfnn17cy75xdiay";
     } else fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
-      sha256 = "03bky9vja7fijz45n44b6gawd6q8yd30nx6nya9lqdlxd1bkqmji";
+      sha256 = "1a6pc8vi2ab721kzyhvg6bmw24dr85dgmx2m9j9vbf3jyr85fv10";
     };
-in stdenv.mkDerivation {
+in mkDerivation {
   # https://www.rescuetime.com/updates/linux_release_notes.html
-  name = "rescuetime-2.14.3.1";
+  name = "rescuetime-2.14.5.2";
   inherit src;
-  buildInputs = [ dpkg makeWrapper ];
+  nativeBuildInputs = [ dpkg ];
   # avoid https://github.com/NixOS/patchelf/issues/99
   dontStrip = true;
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/rofi/default.nix b/nixpkgs/pkgs/applications/misc/rofi/default.nix
index eabf77f0e951..d8e600f60193 100644
--- a/nixpkgs/pkgs/applications/misc/rofi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeWrapper
+{ stdenv, lib, fetchurl
 , autoreconfHook, pkgconfig, libxkbcommon, pango, which, git
 , cairo, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
 , bison, flex, librsvg, check
@@ -19,23 +19,18 @@ stdenv.mkDerivation rec {
     sed -i 's/~root/~nobody/g' test/helper-expand.c
   '';
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check
     libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/rofi-theme-selector \
-      --prefix XDG_DATA_DIRS : $out/share
-  '';
-
   doCheck = false;
 
   meta = with lib; {
     description = "Window switcher, run dialog and dmenu replacement";
     homepage = "https://github.com/davatorium/rofi";
     license = licenses.mit;
-    maintainers = with maintainers; [ mbakke ma27 ];
+    maintainers = with maintainers; [ mbakke ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/rofi/wrapper.nix b/nixpkgs/pkgs/applications/misc/rofi/wrapper.nix
index 8c24d27f0752..1c7284a2db26 100644
--- a/nixpkgs/pkgs/applications/misc/rofi/wrapper.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi/wrapper.nix
@@ -1,6 +1,5 @@
-{ stdenv, rofi-unwrapped, makeWrapper, theme ? null }:
+{ stdenv, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null }:
 
-if theme == null then rofi-unwrapped else
 stdenv.mkDerivation {
   pname = "rofi";
   version = rofi-unwrapped.version;
@@ -14,8 +13,15 @@ stdenv.mkDerivation {
     rm $out/bin
     mkdir $out/bin
     ln -s ${rofi-unwrapped}/bin/* $out/bin
+
     rm $out/bin/rofi
-    makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi --add-flags "-theme ${theme}"
+    makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
+      --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
+      ${if theme != null then ''--add-flags "-theme ${theme}"'' else ""}
+
+    rm $out/bin/rofi-theme-selector
+    makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
+      --prefix XDG_DATA_DIRS : $out/share
   '';
 
   meta = rofi-unwrapped.meta // {
diff --git a/nixpkgs/pkgs/applications/misc/roxterm/default.nix b/nixpkgs/pkgs/applications/misc/roxterm/default.nix
index 3dbe7790d185..d02296f0e16d 100644
--- a/nixpkgs/pkgs/applications/misc/roxterm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/roxterm/default.nix
@@ -1,6 +1,6 @@
 { at-spi2-core, cmake, dbus, dbus-glib, docbook_xsl, epoxy, fetchpatch, fetchFromGitHub
-, glib, gtk3, harfbuzz, hicolor-icon-theme, libXdmcp, libXtst, libpthreadstubs
-, libselinux, libsepol, libtasn1, libxkbcommon, libxslt, p11-kit, pcre
+, glib, gtk3, harfbuzz, libXdmcp, libXtst, libpthreadstubs
+, libselinux, libsepol, libtasn1, libxkbcommon, libxslt, p11-kit, pcre2
 , pkgconfig, stdenv, utillinuxMinimal, vte, wrapGAppsHook, xmlto
 }:
 
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook libxslt ];
 
   buildInputs =
-    [ gtk3 dbus dbus-glib vte pcre harfbuzz libpthreadstubs libXdmcp
-      utillinuxMinimal glib hicolor-icon-theme docbook_xsl xmlto libselinux
+    [ gtk3 dbus dbus-glib vte pcre2 harfbuzz libpthreadstubs libXdmcp
+      utillinuxMinimal glib docbook_xsl xmlto libselinux
       libsepol libxkbcommon epoxy at-spi2-core libXtst libtasn1 p11-kit
     ];
 
diff --git a/nixpkgs/pkgs/applications/misc/rsclock/default.nix b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
index c427eda8c773..137ec920f750 100644
--- a/nixpkgs/pkgs/applications/misc/rsclock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1i93qkz6d8sbk78i4rvx099hnn4lklp4cjvanpm9ssv8na4rqvh2";
   };
    
-  cargoSha256 = "0zg5q2p9snpfyxl0gx87ix1f46afrfm5jq0m6c7s8qw2x9hpvxzr";
+  cargoSha256 = "03mhlp5hi3nlybb9dkwf1gxgsg056mjq2zsxnb5qh8pdxw7fmdxk";
 
   meta = with stdenv.lib; {
     description = "A simple terminal clock written in Rust";
diff --git a/nixpkgs/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-bidi/default.nix b/nixpkgs/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-bidi/default.nix
new file mode 100644
index 000000000000..3e67e4ec085f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-bidi/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchurl, perlPackages, pkgconfig, fribidi }:
+
+perlPackages.buildPerlPackage rec {
+  pname = "urxvt-bidi";
+  version = "2.15";
+
+  src = fetchurl {
+    url = "mirror://cpan/authors/id/K/KA/KAMENSKY/Text-Bidi-${version}.tar.gz";
+    sha256 = "1w65xbi4mw5acsrpv3phyzv82ghb29kpbb3b1b1gcinlfxl6f61m";
+  };
+
+  nativeBuildInputs = [ pkgconfig perlPackages.ExtUtilsPkgConfig ];
+  buildInputs = [ fribidi ];
+
+  postInstall = ''
+    install -Dm555 misc/bidi "$out/lib/urxvt/perl/bidi"
+  '';
+
+  meta = with lib; {
+    description = "Text::Bidi Perl package using fribidi, providing a urxvt plugin";
+    homepage = "https://github.com/mkamensky/Text-Bidi";
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/sakura/default.nix b/nixpkgs/pkgs/applications/misc/sakura/default.nix
index 8510d5019424..f646b4739154 100644
--- a/nixpkgs/pkgs/applications/misc/sakura/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sakura/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre, glib , makeWrapper }:
+{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre2, glib , makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "sakura";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchurl {
-    url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.bz2";
-    sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
+    url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.gz";
+    sha256 = "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m";
   };
 
   nativeBuildInputs = [ cmake perl pkgconfig ];
 
-  buildInputs = [ makeWrapper gtk3 vte pcre glib ];
+  buildInputs = [ makeWrapper gtk3 vte pcre2 glib ];
 
   # Wrapper sets path to gsettings-schemata so sakura knows where to find colorchooser, fontchooser ...
   postInstall = "wrapProgram $out/bin/sakura --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/";
diff --git a/nixpkgs/pkgs/applications/misc/sequeler/default.nix b/nixpkgs/pkgs/applications/misc/sequeler/default.nix
index e3edb5399289..4199e198c53f 100644
--- a/nixpkgs/pkgs/applications/misc/sequeler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sequeler/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils
+, vala, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils
 , gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }:
 
 
@@ -11,16 +11,16 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "sequeler";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "Alecaddd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mxlhyfqmd4zg0psdmr62rhmvssw8jslm7a1nvh93675ns3vfrs5";
+    sha256 = "16vc3v9qls9fxg9h8fsi67z68s4acl5hj14gbcrnqm7mf3kmk3aw";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gettext wrapGAppsHook python3 desktop-file-utils ];
+  nativeBuildInputs = [ meson ninja pkgconfig vala gettext wrapGAppsHook python3 desktop-file-utils ];
 
   buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ];
 
@@ -29,6 +29,12 @@ in stdenv.mkDerivation rec {
     patchShebangs build-aux/meson_post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Friendly SQL Client";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/misc/sidequest/default.nix b/nixpkgs/pkgs/applications/misc/sidequest/default.nix
index 1ec2665c6769..30aa45c14ffa 100644
--- a/nixpkgs/pkgs/applications/misc/sidequest/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sidequest/default.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
 	let
 		pname = "sidequest";
-		version = "0.3.1";
-		
+		version = "0.7.6";
+
 		desktopItem = makeDesktopItem rec {
 			name = "SideQuest";
 			exec = "SideQuest";
@@ -15,17 +15,17 @@
 			inherit pname version;
 
 			src = fetchurl {
-				url = "https://github.com/the-expanse/SideQuest/releases/download/${version}/SideQuest-linux-x64.tar.gz";
-				sha256 = "1hj398zzp1x74zhp9rlhqzm9a0ck6zh9bj39g6fpvc38zab5dj1p";
+				url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
+				sha256 = "1yyba5495ydyyfl62pjd4hbga86k7f2a72ds2j2qzkinngyl14j8";
 			};
 
 			buildInputs = [ makeWrapper ];
 
 			buildCommand = ''
 				mkdir -p "$out/lib/SideQuest" "$out/bin"
-				tar -xzf "$src" -C "$out/lib/SideQuest" --strip-components 1
+				tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1
 
-				ln -s "$out/lib/SideQuest/SideQuest" "$out/bin"
+				ln -s "$out/lib/SideQuest/sidequest" "$out/bin"
 
 				fixupPhase
 
@@ -35,7 +35,7 @@
 				patchelf \
 					--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
 					--set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \
-					"$out/lib/SideQuest/SideQuest"
+					"$out/lib/SideQuest/sidequest"
 			'';
 		};
 	in buildFHSUserEnv {
@@ -49,11 +49,11 @@
 				homepage = "https://github.com/the-expanse/SideQuest";
 				downloadPage = "https://github.com/the-expanse/SideQuest/releases";
 				license = licenses.mit;
-				maintainers = [ maintainers.joepie91 ];
+				maintainers = with maintainers; [ joepie91 rvolosatovs ];
 				platforms = [ "x86_64-linux" ];
 			};
 		};
-		
+
 		targetPkgs = pkgs: [
 			sidequest
 			# Needed in the environment on runtime, to make QuestSaberPatch work
@@ -62,8 +62,8 @@
 
 		extraInstallCommands = ''
 			mkdir -p "$out/share/applications"
-			ln -s "${desktopItem}/share/applications/*" "$out/share/applications"
+			ln -s ${desktopItem}/share/applications/* "$out/share/applications"
 		'';
 
-		runScript = "SideQuest";
+		runScript = "sidequest";
 	}
diff --git a/nixpkgs/pkgs/applications/misc/simplenote/default.nix b/nixpkgs/pkgs/applications/misc/simplenote/default.nix
index 87125eb1b365..b3ad833e3f2a 100644
--- a/nixpkgs/pkgs/applications/misc/simplenote/default.nix
+++ b/nixpkgs/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.8.0";
+  version = "1.12.0";
 
   sha256 = {
-    x86_64-linux = "066gr1awdj5nwdr1z57mmvx7dd1z19g0wzsgbnrrb89bqfj67ykl";
-  }.${system};
+    x86_64-linux = "0y9b4haaj7qxr92wnwacziljqrkf4vlyqq3rvis8ribq6zr5b24w";
+  }.${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,16 @@ 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[@]}"
+        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] }" \
+        "''${gappsWrapperArgs[@]}"
     '';
   };
 
 in
-  linux
+linux
diff --git a/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix b/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
index cf5c4625c952..a32709294175 100644
--- a/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
@@ -37,6 +37,7 @@ in stdenv.mkDerivation {
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = [ maintainers.krav ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/misc/slic3r/boost-compile-error.patch b/nixpkgs/pkgs/applications/misc/slic3r/boost-compile-error.patch
new file mode 100644
index 000000000000..4dbdb85f743d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/slic3r/default.nix b/nixpkgs/pkgs/applications/misc/slic3r/default.nix
index cf9e93b87b39..8dbd0cd57767 100644
--- a/nixpkgs/pkgs/applications/misc/slic3r/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/slmenu/default.nix b/nixpkgs/pkgs/applications/misc/slmenu/default.nix
index 193bcf205f5b..55025621fc7d 100644
--- a/nixpkgs/pkgs/applications/misc/slmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slmenu/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchhg}:
 let
-  s = 
+  s =
   rec {
     baseName = "slmenu";
     version = "hg-${date}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   src = fetchhg {
     inherit (s) url sha256;
   };
-  makeFlags = ''PREFIX=$(out)'';
+  makeFlags = [ "PREFIX=$(out)" ];
   meta = {
     inherit (s) version;
     description = ''A console dmenu-like tool'';
diff --git a/nixpkgs/pkgs/applications/misc/stretchly/default.nix b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
index 213f308646ab..75f3be85dadf 100644
--- a/nixpkgs/pkgs/applications/misc/stretchly/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
@@ -1,8 +1,12 @@
 { GConf
 , alsaLib
 , at-spi2-atk
+, at-spi2-core
 , atk
+, buildFHSUserEnv
 , cairo
+, common-updater-scripts
+, coreutils
 , cups
 , dbus
 , expat
@@ -29,15 +33,19 @@
 , libnotify
 , libpciaccess
 , libpng12
+, libuuid
 , libxcb
 , nspr
 , nss
 , pango
 , pciutils
 , pulseaudio
+, runtimeShell
 , stdenv
 , udev
 , wrapGAppsHook
+, writeScript
+, file
 }:
 
 let
@@ -45,6 +53,7 @@ let
     GConf
     alsaLib
     at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -71,6 +80,7 @@ let
     libnotify
     libpciaccess
     libpng12
+    libuuid
     libxcb
     nspr
     nss
@@ -82,58 +92,96 @@ let
   ];
 
   libPath = lib.makeLibraryPath libs;
+
+  stretchly =
+    stdenv.mkDerivation rec {
+      pname = "stretchly";
+      version = "0.21.0";
+
+      src = fetchurl {
+        url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
+        sha256 = "1gyyr22xq8s4miiacs8wqhp7lxnwvkvlwhngnq8671l62s6iyjzl";
+      };
+
+      nativeBuildInputs = [
+        wrapGAppsHook
+        coreutils
+      ];
+
+      buildInputs = libs;
+
+      dontPatchELF = true;
+      dontBuild = true;
+      dontConfigure = true;
+
+      installPhase = ''
+        mkdir -p $out/bin $out/lib/stretchly
+        cp -r ./* $out/lib/stretchly/
+        ln -s $out/lib/stretchly/stretchly $out/bin/
+      '';
+
+      preFixup = ''
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libGLESv2.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libGLESv2.so
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/stretchly
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/chrome-sandbox
+      '';
+
+      meta = with stdenv.lib; {
+        description = "A break time reminder app";
+        longDescription = ''
+          stretchly is a cross-platform electron app that reminds you to take
+          breaks when working on your computer. By default, it runs in your tray
+          and displays a reminder window containing an idea for a microbreak for 20
+          seconds every 10 minutes. Every 30 minutes, it displays a window
+          containing an idea for a longer 5 minute break.
+        '';
+        homepage = https://hovancik.net/stretchly;
+        downloadPage = https://hovancik.net/stretchly/downloads/;
+        license = licenses.bsd2;
+        maintainers = with maintainers; [ cdepillabout ];
+        platforms = platforms.linux;
+      };
+    };
+
 in
 
-stdenv.mkDerivation rec {
-  pname = "stretchly";
-  version = "0.19.1";
+buildFHSUserEnv {
+  inherit (stretchly) meta;
 
-  src = fetchurl {
-    url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
-    sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8";
-  };
+  name = "stretchly";
 
-  nativeBuildInputs = [
-    wrapGAppsHook
+  targetPkgs = pkgs: [
+     stretchly
   ];
 
-  buildInputs = libs;
-
-  dontPatchELF = true;
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/bin $out/lib/stretchly
-    cp -r ./* $out/lib/stretchly/
-    ln -s $out/lib/stretchly/libffmpeg.so $out/lib/
-    ln -s $out/lib/stretchly/libnode.so $out/lib/
-    ln -s $out/lib/stretchly/stretchly $out/bin/
-  '';
-
-  preFixup = ''
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libnode.so
-
-    patchelf \
-      --set-rpath "$out/lib/stretchly:${libPath}" \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/lib/stretchly/stretchly
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A break time reminder app";
-    longDescription = ''
-      stretchly is a cross-platform electron app that reminds you to take
-      breaks when working on your computer. By default, it runs in your tray
-      and displays a reminder window containing an idea for a microbreak for 20
-      seconds every 10 minutes. Every 30 minutes, it displays a window
-      containing an idea for a longer 5 minute break.
+  runScript = "stretchly";
+
+  passthru = {
+    updateScript = writeScript "update-stretchly" ''
+      #!${runtimeShell}
+
+      set -eu -o pipefail
+
+      # get the latest release version
+      latest_version=$(curl -s https://api.github.com/repos/hovancik/stretchly/releases/latest | jq --raw-output .tag_name | sed -e 's/^v//')
+
+      echo "updating to $latest_version..."
+
+      ${common-updater-scripts}/bin/update-source-version stretchly.passthru.stretchlyWrapped "$latest_version"
     '';
-    homepage = https://hovancik.net/stretchly;
-    downloadPage = https://hovancik.net/stretchly/downloads/;
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ cdepillabout ];
-    platforms = platforms.linux;
+
+    stretchlyWrapped = stretchly;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/stupidterm/default.nix b/nixpkgs/pkgs/applications/misc/stupidterm/default.nix
index ecaf9d5a34a2..b786b34e9553 100644
--- a/nixpkgs/pkgs/applications/misc/stupidterm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stupidterm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, vte, gtk }:
+{ stdenv, fetchFromGitHub, pkgconfig, vte, gtk, pcre2 }:
 
 stdenv.mkDerivation {
   pname = "stupidterm";
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ vte gtk ];
+  buildInputs = [ vte gtk pcre2 ];
 
   src = fetchFromGitHub {
     owner = "esmil";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     sha256 = "1f73wvqqvj5pr3fvb7jjc4bi1iwgkkknz24k8n69mdb75jnfjipp";
   };
 
-  makeFlags = "PKGCONFIG=${pkgconfig}/bin/pkg-config binary=stupidterm";
+  makeFlags = [ "PKGCONFIG=${pkgconfig}/bin/pkg-config" "binary=stupidterm" ];
 
   installPhase = ''
     install -D stupidterm $out/bin/stupidterm
diff --git a/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix b/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
index 9dcdf8fd2b0e..76a62d1762c2 100644
--- a/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix b/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
index eef5185aaeed..1d3f1a41e162 100644
--- a/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/synapse/default.nix b/nixpkgs/pkgs/applications/misc/synapse/default.nix
index c314e8ffe5ac..c12f5b176790 100644
--- a/nixpkgs/pkgs/applications/misc/synapse/default.nix
+++ b/nixpkgs/pkgs/applications/misc/synapse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee
-, keybinder3, json-glib, zeitgeist, vala, hicolor-icon-theme, gobject-introspection
+, keybinder3, json-glib, zeitgeist, vala, gobject-introspection
 }:
 
 let
@@ -20,7 +20,6 @@ in stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib libnotify gtk3 libgee keybinder3 json-glib zeitgeist
-    hicolor-icon-theme
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix b/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix
index 0dc8f3bf38e4..5a722ffe1119 100644
--- a/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix
+++ b/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.9.1";
+  version = "0.10.4";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "0ijwpwlwwbfh9fdfbwz6dgi6hpmaav2jm56mzxm6as50iwnb59fx";
+    sha256 = "068v63bb1bq6vz7byhnd28l6dmr4jmivailxmjv86wakbsqvlhbi";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
@@ -45,6 +45,7 @@ mkDerivation rec {
   ] ++ lib.optionals (!plasmoidSupport) ["-DNO_PLASMOID=ON"]
     ++ lib.optionals (!kioPluginSupport) ["-DNO_FILE_ITEM_ACTION_PLUGIN=ON"]
     ++ lib.optionals systemdSupport ["-DSYSTEMD_SUPPORT=ON"]
+    ++ lib.optionals (!webviewSupport) ["-DWEBVIEW_PROVIDER:STRING=none"]
   ;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/taizen/default.nix b/nixpkgs/pkgs/applications/misc/taizen/default.nix
new file mode 100644
index 000000000000..8d58c8887481
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/taizen/default.nix
@@ -0,0 +1,25 @@
+{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkgconfig, Security, stdenv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taizen";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "NerdyPepper";
+    repo = pname;
+    rev = "5c1876429e2da7424e9d31b1e16f5a3147cc58d0";
+    sha256 = "09izgx7icvizskdy9kplk0am61p7550fsd0v42zcihq2vap2j92z";
+  };
+
+  buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "0h8ybhb17pqhhfjcmq1l70kp8g1yyq38228lcf86byk3r2ar2rkg";
+
+  meta = with lib; {
+    homepage = https://crates.io/crates/taizen;
+    license = licenses.mit;
+    description = "curses based mediawiki browser";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/tangogps/default.nix b/nixpkgs/pkgs/applications/misc/tangogps/default.nix
index 08bea18d8e9a..10b487828ea5 100644
--- a/nixpkgs/pkgs/applications/misc/tangogps/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tangogps/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gettext gtk2 gconf curl libexif sqlite libxml2 ];
-  NIX_LDFLAGS = [ "-lm" ];
+  NIX_LDFLAGS = "-lm";
 
   # bogus includes fail with newer library version
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/taskell/default.nix b/nixpkgs/pkgs/applications/misc/taskell/default.nix
index 702c3124d8ab..488e49c21817 100644
--- a/nixpkgs/pkgs/applications/misc/taskell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/taskjuggler/2.x/default.nix b/nixpkgs/pkgs/applications/misc/taskjuggler/2.x/default.nix
index 6b38c3d59c29..a0dc7b7c71e3 100644
--- a/nixpkgs/pkgs/applications/misc/taskjuggler/2.x/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taskjuggler/2.x/default.nix
@@ -56,9 +56,8 @@ stdenv.mkDerivation rec {
     cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
   '';
 
-  installFlags =
-    # kde_locale is not defined when installing without kde.
-    "kde_locale=\${out}/share/locale";
+  # kde_locale is not defined when installing without kde.
+  installFlags = [ "kde_locale=\${out}/share/locale" ];
 
   meta = {
     homepage = http://www.taskjuggler.org;
diff --git a/nixpkgs/pkgs/applications/misc/tasksh/default.nix b/nixpkgs/pkgs/applications/misc/tasksh/default.nix
index feb06368de41..931a27fbeff6 100644
--- a/nixpkgs/pkgs/applications/misc/tasksh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/termite/default.nix b/nixpkgs/pkgs/applications/misc/termite/default.nix
index 6a9de3644469..2a610edde034 100644
--- a/nixpkgs/pkgs/applications/misc/termite/default.nix
+++ b/nixpkgs/pkgs/applications/misc/termite/default.nix
@@ -1,6 +1,40 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, vte-ng, gtk3, ncurses, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, vte, gtk3, ncurses, pcre2, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
+let
+
+  # termite requires VTE with some internals exposed
+  # https://github.com/thestinger/vte-ng
+  vte-ng =  vte.overrideAttrs (attrs: {
+    patches = attrs.patches or [] ++ [
+      (fetchpatch {
+        name = "0001-expose-functions-for-pausing-unpausing-output.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch";
+        sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715";
+      })
+      (fetchpatch {
+        name = "0002-expose-function-for-setting-cursor-position.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch";
+        sha256 = "091sb44g2pl0zbxnxidpfmsqqc65dmkakhjb0wvlnsjckqalhs89";
+      })
+      (fetchpatch {
+        name = "0003-add-function-for-setting-the-text-selections.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch";
+        sha256 = "12rq3svbj1nzridbssxsvmmb8njky3w8qdnkymz7850b3kqg277x";
+      })
+      (fetchpatch {
+        name = "0004-add-functions-to-get-set-block-selection-mode.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch";
+        sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g";
+      })
+      (fetchpatch {
+        name = "0005-expose-function-for-getting-the-selected-text.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
+        sha256 = "0pbnbkwqxm4p9xsgvqwayvh8srk5z1kyjnigmahf9mlqn7hi6v27";
+      })
+    ];
+  });
+
+in stdenv.mkDerivation rec {
   pname = "termite";
   version = "15";
 
@@ -24,12 +58,14 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
 
-  buildInputs = [ vte-ng gtk3 ncurses ];
+  buildInputs = [ vte-ng gtk3 ncurses pcre2 ];
 
   nativeBuildInputs = [ wrapGAppsHook pkgconfig ];
 
   outputs = [ "out" "terminfo" ];
 
+  passthru = { inherit vte-ng; };
+
   postInstall = ''
     mkdir -p $terminfo/share
     mv $out/share/terminfo $terminfo/share/terminfo
diff --git a/nixpkgs/pkgs/applications/misc/tilix/default.nix b/nixpkgs/pkgs/applications/misc/tilix/default.nix
index aae17905cb71..2fa193fc8e7a 100644
--- a/nixpkgs/pkgs/applications/misc/tilix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tilix/default.nix
@@ -6,7 +6,7 @@
 , python3
 , pkgconfig
 , dmd
-, gnome3
+, dconf
 , dbus
 , gsettings-desktop-schemas
 , desktop-file-utils
@@ -16,18 +16,17 @@
 , glib
 , wrapGAppsHook
 , libunwind
-, hicolor-icon-theme
 }:
 
 stdenv.mkDerivation {
   pname = "tilix";
-  version = "unstable-2019-08-03";
+  version = "unstable-2019-10-02";
 
   src = fetchFromGitHub {
     owner = "gnunn1";
     repo = "tilix";
-    rev = "09ec4e8e113703ca795946d8d2a83091e7b741e4";
-    sha256 = "1vvp6l25xygzhbhscg8scik8y59nl8a92ri024ijk0c0lclga05m";
+    rev = "ffcd31e3c0e1a560ce89468152d8726065e8fb1f";
+    sha256 = "1bzv7xiqhyblz1rw8ln4zpspmml49vnshn1zsv9di5q7kfgpqrgq";
   };
 
   # Default upstream else LDC fails to link
@@ -38,7 +37,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     desktop-file-utils
     dmd
-    hicolor-icon-theme # for setup-hook
     meson
     ninja
     pkgconfig
@@ -49,22 +47,13 @@ stdenv.mkDerivation {
   buildInputs = [
     dbus
     gettext
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtkd
     libsecret
     libunwind
   ];
 
-  patches = [
-    # Depends on libsecret optionally
-    # https://github.com/gnunn1/tilix/pull/1745
-    (fetchpatch {
-      url = "https://github.com/gnunn1/tilix/commit/e38dd182bfb92419d70434926ef9c0530189aab8.patch";
-      sha256 = "1ws4iyzi67crzlp9p7cw8jr752b3phcg5ymx5aj0bh6321g38kfk";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
diff --git a/nixpkgs/pkgs/applications/misc/timewarrior/default.nix b/nixpkgs/pkgs/applications/misc/timewarrior/default.nix
index d0419c414d7a..a8b86e71cb13 100644
--- a/nixpkgs/pkgs/applications/misc/timewarrior/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/tint2/default.nix b/nixpkgs/pkgs/applications/misc/tint2/default.nix
index e612fb10ff8c..c85feff43603 100644
--- a/nixpkgs/pkgs/applications/misc/tint2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tint2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitLab, pkgconfig, cmake, gettext, cairo, pango, pcre
 , glib, imlib2, gtk2, libXinerama, libXrender, libXcomposite, libXdamage
 , libX11, libXrandr, librsvg, libpthreadstubs, libXdmcp
-, libstartup_notification, hicolor-icon-theme, wrapGAppsHook
+, libstartup_notification, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cairo pango pcre glib imlib2 gtk2 libXinerama libXrender
     libXcomposite libXdamage libX11 libXrandr librsvg libpthreadstubs
-    libXdmcp libstartup_notification hicolor-icon-theme ];
+    libXdmcp libstartup_notification ];
 
   postPatch = ''
     for f in ./src/launcher/apps-common.c \
diff --git a/nixpkgs/pkgs/applications/misc/tmatrix/default.nix b/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
index 3ef0eac2417a..ead8d7298e66 100644
--- a/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmatrix";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "M4444";
     repo = "TMatrix";
     rev = "v${version}";
-    sha256 = "1g0gn4p02vjc6l8lc78wlx4xkd74ha7ybx9fvvdr6mizk0cyjili";
+    sha256 = "1x9drk3wdsd6vzcypk3x068sqcbgis488s9fhcpsv8xgb496rd6y";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/tnef/default.nix b/nixpkgs/pkgs/applications/misc/tnef/default.nix
index cb70d57869c0..bbd3073a4d8e 100644
--- a/nixpkgs/pkgs/applications/misc/tnef/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/toot/default.nix b/nixpkgs/pkgs/applications/misc/toot/default.nix
index 425ea8d237b3..13e0cdfb2607 100644
--- a/nixpkgs/pkgs/applications/misc/toot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/toot/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "0.22.0";
+  version = "0.24.0";
   name    = "toot-${version}";
 
   src = fetchFromGitHub {
     owner  = "ihabunek";
     repo   = "toot";
     rev    = version;
-    sha256 = "11dgz082shxpbsxr4i41as040cfqinm5lbcg3bmsxqvc4hsz2nr5";
+    sha256 = "1szpmkxc1lqfphicfcj0z7b1nq97xmb4ppwf806p8w0fxj1shil3";
   };
 
   checkInputs = with python3Packages; [ pytest ];
 
   propagatedBuildInputs = with python3Packages;
-    [ requests beautifulsoup4 future wcwidth ];
+    [ requests beautifulsoup4 future wcwidth urwid ];
 
   checkPhase = ''
     py.test
diff --git a/nixpkgs/pkgs/applications/misc/tootle/default.nix b/nixpkgs/pkgs/applications/misc/tootle/default.nix
index 4ccf204357ca..e619ab053e7d 100644
--- a/nixpkgs/pkgs/applications/misc/tootle/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tootle/default.nix
@@ -1,14 +1,25 @@
-{ stdenv, fetchFromGitHub
-, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas
-, gnome3, pantheon, gobject-introspection, wrapGAppsHook
-, gtk3, json-glib, glib, glib-networking, hicolor-icon-theme
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, vala
+, meson
+, ninja
+, pkgconfig
+, python3
+, libgee
+, gsettings-desktop-schemas
+, gnome3
+, pantheon
+, wrapGAppsHook
+, gtk3
+, json-glib
+, glib
+, glib-networking
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "tootle";
   version = "0.2.0";
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "bleakgrey";
@@ -18,28 +29,49 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    gobject-introspection
     meson
     ninja
     pkgconfig
     python3
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
+
   buildInputs = [
-    gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme
-    libgee gnome3.libsoup gsettings-desktop-schemas
+    glib
+    glib-networking
+    gnome3.libsoup
+    gsettings-desktop-schemas
+    gtk3
+    json-glib
+    libgee
+    pantheon.granite
+  ];
+
+  patches = [
+    # Fix build with Vala 0.46
+    # https://github.com/bleakgrey/tootle/pull/164
+    (fetchpatch {
+      url = "https://github.com/worldofpeace/tootle/commit/0a88bdad6d969ead1e4058b1a19675c9d6857b16.patch";
+      sha256 = "0xyx00pgswnhxxbsxngsm6khvlbfcl6ic5wv5n64x7klk8rzh6cm";
+    })
   ];
 
   postPatch = ''
-    chmod +x ./meson/post_install.py
-    patchShebangs ./meson/post_install.py
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Simple Mastodon client designed for elementary OS";
-    homepage    = https://github.com/bleakgrey/tootle;
-    license     = licenses.gpl3;
+    homepage = https://github.com/bleakgrey/tootle;
+    license = licenses.gpl3;
     maintainers = with maintainers; [ dtzWill ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/twmn/default.nix b/nixpkgs/pkgs/applications/misc/twmn/default.nix
index 2aef45748cac..cd58219721c9 100644
--- a/nixpkgs/pkgs/applications/misc/twmn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/twmn/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, qtbase, qtx11extras, qmake, pkgconfig, boost }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qtx11extras, qmake, pkgconfig, boost }:
 
-stdenv.mkDerivation {
+mkDerivation {
   name = "twmn-git-2018-10-01";
 
   src = fetchFromGitHub {
@@ -29,8 +29,8 @@ stdenv.mkDerivation {
   meta = {
     description = "A notification system for tiling window managers";
     homepage = https://github.com/sboli/twmn;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    license = stdenv.lib.licenses.lgpl3;
+    platforms = with lib.platforms; linux;
+    maintainers = [ lib.maintainers.matejc ];
+    license = lib.licenses.lgpl3;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/udiskie/default.nix b/nixpkgs/pkgs/applications/misc/udiskie/default.nix
index 459104aba638..63892439fa03 100644
--- a/nixpkgs/pkgs/applications/misc/udiskie/default.nix
+++ b/nixpkgs/pkgs/applications/misc/udiskie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, asciidoc-full, gettext
-, gobject-introspection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg
+, gobject-introspection, gtk3, libappindicator-gtk3, libnotify, librsvg
 , udisks2, wrapGAppsHook
 , python3Packages
 }:
@@ -23,7 +23,6 @@ python3Packages.buildPythonApplication rec {
   ];
 
   buildInputs = [
-    hicolor-icon-theme
     librsvg              # required for loading svg icons (udiskie uses svg icons)
     gobject-introspection
     libnotify
diff --git a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
index 3db6f6ae565d..9fa284aba434 100644
--- a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
@@ -10,7 +10,6 @@
 , libappindicator
 , intltool
 , wmctrl
-, hicolor-icon-theme
 , xvfb_run
 }:
 
@@ -36,7 +35,6 @@ python27Packages.buildPythonApplication rec  {
   buildInputs = [
     gnome3.adwaita-icon-theme
     gobject-introspection
-    hicolor-icon-theme
     keybinder3
     libappindicator
     libnotify
diff --git a/nixpkgs/pkgs/applications/misc/urlscan/default.nix b/nixpkgs/pkgs/applications/misc/urlscan/default.nix
index 87800cf90d6d..791075e4dd9b 100644
--- a/nixpkgs/pkgs/applications/misc/urlscan/default.nix
+++ b/nixpkgs/pkgs/applications/misc/urlscan/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlscan";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = version;
-    sha256 = "0z24k8sk2zfp2pwysyp844vmhr5vbkj74frwy4i0v5pj60i9jl0v";
+    sha256 = "11wkwjqsq848ks6m2jqsb8h0xnz75fb60bm0c4jkxys9wzy4chg5";
   };
 
   propagatedBuildInputs = [ python3Packages.urwid ];
diff --git a/nixpkgs/pkgs/applications/misc/variety/default.nix b/nixpkgs/pkgs/applications/misc/variety/default.nix
new file mode 100644
index 000000000000..6d8da4a1007a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/variety/default.nix
@@ -0,0 +1,73 @@
+{
+  fehSupport ? false, feh
+, imagemagickSupport ? true, imagemagick
+, stdenv
+, lib
+, python37Packages
+, fetchFromGitHub
+, intltool
+, gtk3
+, gexiv2
+, libnotify
+, wrapGAppsHook
+, gobject-introspection
+, hicolor-icon-theme
+, librsvg
+}:
+
+with python37Packages;
+
+buildPythonApplication rec {
+  pname = "variety";
+  version = "0.7.2-96-g3afe3ab";
+
+  src = fetchFromGitHub {
+    owner = "varietywalls";
+    repo = "variety";
+    rev = "3afe3abf725e5db2aec0db575a17c9907ab20de1";
+    sha256 = "10vw0202dwrwi497nsbq077v4qd3qn5b8cmkfcsgbvvjwlz7ldm5";
+  };
+
+  nativeBuildInputs = [ intltool wrapGAppsHook ];
+
+  buildInputs = [ distutils_extra ];
+
+  doCheck = false;
+
+  prePatch = ''
+    substituteInPlace variety_lib/varietyconfig.py \
+      --replace "__variety_data_directory__ = \"../data\"" "__variety_data_directory__ = \"$out/share/variety\""
+    substituteInPlace data/scripts/set_wallpaper \
+      --replace /bin/bash ${stdenv.shell}
+    substituteInPlace data/scripts/get_wallpaper \
+      --replace /bin/bash ${stdenv.shell}
+  '';
+
+  propagatedBuildInputs =
+       [ gtk3
+         gexiv2
+         libnotify
+         beautifulsoup4
+         lxml
+         pycairo
+         pygobject3
+         configobj
+         pillow
+         setuptools
+         requests
+         httplib2
+         dbus-python
+         gobject-introspection
+         hicolor-icon-theme
+         librsvg
+       ]
+    ++ lib.optional fehSupport feh
+    ++ lib.optional imagemagickSupport imagemagick;
+
+  meta = with lib; {
+    description = "A wallpaper manager for Linux systems. It supports numerous desktops and wallpaper sources, including local files and online services: Flickr, Wallhaven, Unsplash, and more";
+    homepage = https://github.com/varietywalls/variety;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.zfnmxt ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/veracrypt/default.nix b/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
index 9639cee2d8c7..fe1de349cff9 100644
--- a/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
@@ -1,21 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, makeself, yasm, fuse, unzip, wxGTK, lvm2 }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, makeself, yasm, fuse, wxGTK, lvm2 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "veracrypt";
-  version = "1.23";
-  minorVersion = "-Hotfix-2";
+  version = "1.24-Hotfix1";
 
   src = fetchurl {
-    url = "https://launchpad.net/${pname}/trunk/${version}/+download/VeraCrypt_${version}${minorVersion}_Source.zip";
-    sha256 = "229de81b2478cfa5fa73e74e60798a298cd616e9852b9f47b484c80bc2a2c259";
+    url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
+    sha256 = "8b40ece805b216843d7a71b1a30069c4057931341b030bf65caace59263c5c8c";
   };
 
+
+  patches = [
+    # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86
+    (fetchpatch {
+      url = "https://github.com/veracrypt/VeraCrypt/commit/afe6b2f45b15393026a1159e5f3d165ac7d0b94a.patch";
+      sha256 = "1xm9cl6zinlr0vah5xr9bvh0y9gw4331zl7d2n5xvqrcdxw3ww1y";
+      stripLen = 1;
+    })
+    # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86
+    (fetchpatch {
+      url = "https://github.com/veracrypt/VeraCrypt/commit/3fa636d477119fff6e372074568edb42d038f508.patch";
+      sha256 = "0qsccilip0ksnlzxina38a052gb533r4s422lxhrj3wv9zgpp7l3";
+      stripLen = 1;
+    })
+  ];
+
   sourceRoot = "src";
 
   nativeBuildInputs = [ makeself pkgconfig yasm ];
-  buildInputs = [ fuse lvm2 unzip wxGTK ];
+  buildInputs = [ fuse lvm2 wxGTK ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/misc/verbiste/default.nix b/nixpkgs/pkgs/applications/misc/verbiste/default.nix
index b6a8b567a503..680573fd304d 100644
--- a/nixpkgs/pkgs/applications/misc/verbiste/default.nix
+++ b/nixpkgs/pkgs/applications/misc/verbiste/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "verbiste";
 
-  version = "0.1.46";
+  version = "0.1.47";
 
   src = fetchurl {
     url = "https://perso.b2b2c.ca/~sarrazip/dev/${pname}-${version}.tar.gz";
-    sha256 = "13l8b8mbkdds955sn42hzrjzj48lg1drpd7vhpcjxadckbvlh1p0";
+    sha256 = "02kzin3pky2q2jnihrch8y0hy043kqqmzxq8j741x80kl0j1qxkm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/vifm/default.nix b/nixpkgs/pkgs/applications/misc/vifm/default.nix
index 81563254abd7..f71e7a7a9602 100644
--- a/nixpkgs/pkgs/applications/misc/vifm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vifm/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, makeWrapper
 , pkgconfig
 , ncurses, libX11
 , utillinux, file, which, groff
+
+  # adds support for handling removable media (vifm-media). Linux only!
+, mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null 
 }:
 
-stdenv.mkDerivation rec {
-  pname = "vifm";
+let isFullPackage = mediaSupport;
+in stdenv.mkDerivation rec {
+  pname = if isFullPackage then "vifm-full" else "vifm";
   version = "0.10.1";
 
   src = fetchurl {
@@ -13,13 +17,24 @@ stdenv.mkDerivation rec {
     sha256 = "0fyhxh7ndjn8fyjhj14ymkr3pjcs3k1xbs43g7xvvq85vdb6y04r";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ ncurses libX11 utillinux file which groff ];
 
+  postFixup = let
+    path = lib.makeBinPath 
+      [ udisks2 
+        (python3.withPackages (p: [p.dbus-python]))
+      ];
+
+    wrapVifmMedia = "wrapProgram $out/share/vifm/vifm-media --prefix PATH : ${path}";
+  in ''
+    ${if mediaSupport then wrapVifmMedia else ""}
+  '';
+
   meta = with stdenv.lib; {
-    description = "A vi-like file manager";
+    description = ''A vi-like file manager${if isFullPackage then "; Includes support for optional features" else ""}'';
     maintainers = with maintainers; [ raskin ];
-    platforms = platforms.unix;
+    platforms = if mediaSupport then platforms.linux else platforms.unix;
     license = licenses.gpl2;
     downloadPage = "https://vifm.info/downloads.shtml";
     homepage = https://vifm.info/;
diff --git a/nixpkgs/pkgs/applications/misc/viking/default.nix b/nixpkgs/pkgs/applications/misc/viking/default.nix
index 2d8a860e7e86..c5ba35d97475 100644
--- a/nixpkgs/pkgs/applications/misc/viking/default.nix
+++ b/nixpkgs/pkgs/applications/misc/viking/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl
 , gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper
-, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme
+, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect
 , geoclue2, liboauth, nettle }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
-    libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite hicolor-icon-theme
+    libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite
     geoclue2 liboauth nettle
   ];
 
diff --git a/nixpkgs/pkgs/applications/misc/vit/default.nix b/nixpkgs/pkgs/applications/misc/vit/default.nix
index 3eb797f182e7..9953af19d90d 100644
--- a/nixpkgs/pkgs/applications/misc/vit/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vit/default.nix
@@ -1,40 +1,37 @@
-{ stdenv, fetchFromGitHub
-, makeWrapper, which
-, taskwarrior, ncurses, perlPackages }:
+{ lib
+, python3Packages
+, taskwarrior }:
 
-stdenv.mkDerivation rec {
+with python3Packages;
+
+buildPythonApplication rec {
   pname = "vit";
-  version = "1.3";
+  version = "2.0.0";
+  disabled = lib.versionOlder python.version "3.6";
 
-  src = fetchFromGitHub {
-    owner = "scottkosty";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0a34rh5w8393wf7jwwr0f74rp1zv2vz606z5j8sr7w19k352ijip";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5282d8076d9814d9248071aec8784cffbd968601542533ccb28ca61d1d08205e";
   };
 
-  preConfigure = ''
-    substituteInPlace Makefile.in \
-      --replace sudo ""
-    substituteInPlace configure \
-      --replace /usr/bin/perl ${perlPackages.perl}/bin/perl
-    substituteInPlace cmdline.pl \
-      --replace "view " "vim -R "
-  '';
+  propagatedBuildInputs = [
+    pytz
+    tasklib
+    tzlocal
+    urwid
+  ];
 
-  postInstall = ''
-    wrapProgram $out/bin/vit --prefix PERL5LIB : $PERL5LIB
-  '';
+  makeWrapperArgs = [ "--suffix" "PATH" ":" "${taskwarrior}/bin" ];
 
-  nativeBuildInputs = [ makeWrapper which ];
-  buildInputs = [ taskwarrior ncurses ]
-    ++ (with perlPackages; [ perl Curses TryTiny TextCharWidth ]);
+  preCheck = ''
+    export TERM=''${TERM-linux}
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
+    homepage = https://github.com/scottkosty/vit;
     description = "Visual Interactive Taskwarrior";
-    maintainers = with maintainers; [ dtzWill ];
+    maintainers = with maintainers; [ dtzWill arcnmx ];
     platforms = platforms.all;
-    license = licenses.gpl3;
+    license = licenses.mit;
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/vym/default.nix b/nixpkgs/pkgs/applications/misc/vym/default.nix
index 6dfe8e713c63..3c6c4a87f98f 100644
--- a/nixpkgs/pkgs/applications/misc/vym/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vym/default.nix
@@ -1,18 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, qmake, qtsvg }:
+{ stdenv, mkDerivation, fetchurl, pkgconfig, qmake, qtscript, qtsvg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "vym";
-  version = "2.6.11";
+  version = "2.7.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/vym/2.6.0/${pname}-${version}.tar.bz2";
-    sha256 = "1yznlb47jahd662a2blgh1ccwpl5dp5rjz9chsxjzhj3vbkzx3nl";
+    url = "mirror://sourceforge/project/vym/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "0lyf0m4y5kn5s47z4sg10215f3jsn3k1bl389jfbh2f5v4srav4g";
   };
 
+  # Hardcoded paths scattered about all have form share/vym
+  # which is encouraging, although we'll need to patch them (below).
+  qmakeFlags = [
+    "DATADIR=${placeholder "out"}/share"
+    "DOCDIR=${placeholder "out"}/share/doc/vym"
+  ];
+
+  postPatch = ''
+    for x in \
+      exportoofiledialog.cpp \
+      main.cpp \
+      mainwindow.cpp \
+      tex/*.{tex,lyx}; \
+    do
+      substituteInPlace $x \
+        --replace /usr/share/vym $out/share/vym \
+        --replace /usr/local/share/vym $out/share/vym \
+        --replace /usr/share/doc $out/share/doc/vym
+    done
+  '';
+
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig qmake ];
-  buildInputs = [ qtsvg ];
+  buildInputs = [ qtscript qtsvg ];
+
+  postInstall = ''
+    install -Dm755 -t $out/share/man/man1 doc/*.1.gz
+  '';
+
+  dontGzipMan = true;
 
   meta = with stdenv.lib; {
     description = "A mind-mapping software";
diff --git a/nixpkgs/pkgs/applications/misc/waybar/default.nix b/nixpkgs/pkgs/applications/misc/waybar/default.nix
index 002bdef7333e..84735feef21c 100644
--- a/nixpkgs/pkgs/applications/misc/waybar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/waybar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, pkgconfig, ninja
-, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog
+, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog, gtk-layer-shell
 , traySupport  ? true,  libdbusmenu-gtk3
 , pulseSupport ? false, libpulseaudio
 , nlSupport    ? true,  libnl
@@ -9,13 +9,13 @@
 }:
   stdenv.mkDerivation rec {
     pname = "waybar";
-    version = "0.8.0";
+    version = "0.9.0";
 
     src = fetchFromGitHub {
       owner = "Alexays";
       repo = "Waybar";
       rev = version;
-      sha256 = "0s8ck7qxka0l91ayma6amp9sc8cidi43byqgzcavi3a6id983r1z";
+      sha256 = "1w8a6jih872ry288k8ic6mjfi9ccf1jwc24wnh9p5c7w73247c2c";
     };
 
     nativeBuildInputs = [
@@ -23,7 +23,7 @@
     ];
 
     buildInputs = with stdenv.lib;
-      [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog ]
+      [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog gtk-layer-shell ]
       ++ optional  traySupport  libdbusmenu-gtk3
       ++ optional  pulseSupport libpulseaudio
       ++ optional  nlSupport    libnl
@@ -42,6 +42,7 @@
       }
     ) ++ [
       "-Dout=${placeholder "out"}"
+      "-Dsystemd=disabled"
     ];
 
     meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/misc/web-media-controller/default.nix b/nixpkgs/pkgs/applications/misc/web-media-controller/default.nix
index e381af4f403e..b2a3394f8aec 100644
--- a/nixpkgs/pkgs/applications/misc/web-media-controller/default.nix
+++ b/nixpkgs/pkgs/applications/misc/web-media-controller/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wmc-mpris";
-  version = "unstable-2019-07-24";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "f1u77y";
     repo = pname;
-    rev = "3b92847c576662732984ad791d6c7899a39f7787";
-    sha256 = "0q19z0zx53pd237x529rif21kliklwzjrdddx8jfr9hgghjv9giq";
+    rev = "v${version}";
+    sha256 = "1zcnaf9g55cbj9d2zlsr0i15qh0w9gp5jmxkm6dcp1j6yd7j3ymc";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/wego/default.nix b/nixpkgs/pkgs/applications/misc/wego/default.nix
index 03f3caa4c151..567d299fd3a6 100644
--- a/nixpkgs/pkgs/applications/misc/wego/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wego/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "wego";
-  version = "20170403-${stdenv.lib.strings.substring 0 7 rev}";
+  version = "unstable-2017-04-03";
   rev = "415efdfab5d5ee68300bf261a0c6f630c6c2584c";
   
   goPackagePath = "github.com/schachmat/wego";
@@ -17,5 +17,7 @@ buildGoPackage rec {
 
   meta = {
     license = stdenv.lib.licenses.isc;
+    homepage = "https://github.com/schachmat/wego";
+    description = "Weather app for the terminal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wofi/default.nix b/nixpkgs/pkgs/applications/misc/wofi/default.nix
new file mode 100644
index 000000000000..289c60b44029
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/wofi/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchhg, pkg-config, meson, ninja, wayland, gtk3 }:
+
+stdenv.mkDerivation rec {
+  pname = "wofi";
+  version = "1.0";
+
+  src = fetchhg {
+    url = "https://hg.sr.ht/~scoopta/wofi";
+    rev = "v${version}";
+    sha256 = "147yarm26nl0zc0a2rs7qi4jd7bz48vvyaygsif1qsv8fx0xiqqf";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [ wayland gtk3 ];
+
+  meta = with lib; {
+    description = "A launcher/menu program for wlroots based wayland compositors such as sway";
+    homepage = "https://hg.sr.ht/~scoopta/wofi";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ erictapen ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/worker/default.nix b/nixpkgs/pkgs/applications/misc/worker/default.nix
index e5b89ff43b5b..d4b34e2bb7f9 100644
--- a/nixpkgs/pkgs/applications/misc/worker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/worker/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "worker";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1mwkyak68bsxgff399xmr7bb3hxl0r976b90zi7jrzznwlvxx7vh";
+    sha256 = "19v4g34sk4fkagk0s60rbixyrrgg22qy1xwffm8b5ffq36r7yfch";
   };
 
   buildInputs = [ libX11 ];
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "A two-pane file manager with advanced file manipulation features";
     homepage = http://www.boomerangsworld.de/cms/worker/index.html;
     license =  licenses.gpl2;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/workrave/default.nix b/nixpkgs/pkgs/applications/misc/workrave/default.nix
index a3c9d735ff8d..4fc06b5c1ad4 100644
--- a/nixpkgs/pkgs/applications/misc/workrave/default.nix
+++ b/nixpkgs/pkgs/applications/misc/workrave/default.nix
@@ -9,11 +9,10 @@ stdenv.mkDerivation rec {
   pname = "workrave";
   version = "1.10.31";
 
-  src = let
-  in fetchFromGitHub {
+  src = fetchFromGitHub {
     sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p";
     rev = with stdenv.lib;
-      "v" + concatStringsSep "_" (splitString "." version);
+      "v" + concatStringsSep "_" (splitVersion version);
     repo = "workrave";
     owner = "rcaelers";
   };
diff --git a/nixpkgs/pkgs/applications/misc/wtf/default.nix b/nixpkgs/pkgs/applications/misc/wtf/default.nix
index fa865dcc16c4..3dee9844c0c9 100644
--- a/nixpkgs/pkgs/applications/misc/wtf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wtf/default.nix
@@ -7,23 +7,21 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.22.0";
-
-  overrideModAttrs = _oldAttrs : _oldAttrs // {
-    preBuild = ''export GOPROXY="https://gocenter.io"'';
-  };
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1d8lp94cw8rh9r9y64awxafhw9fmp33v3m761gzy500hrxal2rzb";
+    sha256 = "1g76hzlyi8s8dayd36cs4bhnwgrrr731ybflw3xk5pgkgcbs14sd";
    };
 
-  modSha256 = "0m180571j4564py5mzdcbyypk71fdlp2vkfdwi6q85nd2q94sx6h";
+  modSha256 = "186m7s20r59dyh5lpby4sd4vw3rvnkfzslylwin0c3r6150yrx8h";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
+  subPackages = [ "." ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/xchm/default.nix b/nixpkgs/pkgs/applications/misc/xchm/default.nix
index 6a5e62f54e1e..fb1b59ed01fa 100644
--- a/nixpkgs/pkgs/applications/misc/xchm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/xdgmenumaker/default.nix b/nixpkgs/pkgs/applications/misc/xdgmenumaker/default.nix
index b7f8cfce2fb6..56168b348596 100644
--- a/nixpkgs/pkgs/applications/misc/xdgmenumaker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xdgmenumaker/default.nix
@@ -1,33 +1,43 @@
-{ stdenv, fetchFromGitHub, txt2tags, python2Packages }:
+{ stdenv, fetchFromGitHub, txt2tags, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
+python3Packages.buildPythonApplication rec {
   pname = "xdgmenumaker";
   version = "1.5";
 
   src = fetchFromGitHub {
     owner = "gapan";
-    repo = "xdgmenumaker";
+    repo = pname;
     rev = version;
     sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif";
   };
 
+  format = "other";
+
+  strictDeps = false;
+
   nativeBuildInputs = [
+    gobject-introspection
     txt2tags
-    python2Packages.wrapPython
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+  ];
+
+  pythonPath = with python3Packages; [
+    pyxdg
+    pygobject3
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
   ];
 
-  pythonPath = [
-    python2Packages.pyxdg
-    python2Packages.pygtk
+  installFlags = [
+    "DESTDIR="
   ];
 
-  installPhase = ''
-    make install PREFIX=$out DESTDIR=
-    wrapProgram "$out/bin/xdgmenumaker" \
-      --prefix XDG_DATA_DIRS : "$out/share"
-    wrapPythonPrograms
-  '';
-  
   meta = with stdenv.lib; {
     description = "Command line tool that generates XDG menus for several window managers";
     homepage = https://github.com/gapan/xdgmenumaker;
diff --git a/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix b/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
index 4d7b54536e4a..b6f05ea3094a 100644
--- a/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv'.mkDerivation rec {
   name = "xmr-stak-${version}";
-  version = "2.10.7";
+  version = "2.10.8";
 
   src = fetchFromGitHub {
     owner = "fireice-uk";
     repo = "xmr-stak";
     rev = version;
-    sha256 = "1p8hx8gwnv7a49pffq1xmzmrfi3gs6dyra9dn2xi7cl75yn9kfhm";
+    sha256 = "0ilx5mhh91ks7dwvykfyynh53l6vkkignjpwkkss8ss6b2k8gdbj";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/default.nix b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
index 8a46336c9de2..b1bf98704c58 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "3.0.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1m0rsjb7y1j77mzg5cqb3fdvzgvjkrwgmkjn9nv1xl2757z8hcl4";
+    sha256 = "1rwnlhzhasfa2iklrp897c0z7nvav2bz2z6nk41fvwwd3bsay2sf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix b/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
index 7d9ebca0086c..fc3070d1dcb4 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
+++ b/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "3.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "19rv5zmxwr3kmb2m3fas91aq1493cnkhvs88zcflnijr1ra218ks";
+    sha256 = "0lp11p4lf03l9x2kcpq1j19z7c1zrdvjmcfh2xyvlbw8pqx0hxkv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/xpad/default.nix b/nixpkgs/pkgs/applications/misc/xpad/default.nix
index bc91083892db..40f7ef9da08e 100644
--- a/nixpkgs/pkgs/applications/misc/xpad/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xpad/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , autoreconfHook, pkgconfig, wrapGAppsHook
-, glib, intltool, gtk3, gtksourceview, hicolor-icon-theme }:
+, glib, intltool, gtk3, gtksourceview }:
 
 stdenv.mkDerivation rec {
   pname = "xpad";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
 
-  buildInputs = [ glib intltool gtk3 gtksourceview hicolor-icon-theme ];
+  buildInputs = [ glib intltool gtk3 gtksourceview ];
 
   meta = with stdenv.lib; {
     description = "A sticky note application for jotting down things to remember";
diff --git a/nixpkgs/pkgs/applications/misc/xpdf/default.nix b/nixpkgs/pkgs/applications/misc/xpdf/default.nix
index d524482dee70..f5ec9b71503e 100644
--- a/nixpkgs/pkgs/applications/misc/xpdf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/xsw/default.nix b/nixpkgs/pkgs/applications/misc/xsw/default.nix
index aa851e14ab5f..c7c10254c0ca 100644
--- a/nixpkgs/pkgs/applications/misc/xsw/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xsw/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ SDL SDL_image SDL_ttf SDL_gfx ];
 
-  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_image SDL_ttf SDL_gfx ];
+  NIX_CFLAGS_COMPILE = toString (makeSDLFlags [ SDL SDL_image SDL_ttf SDL_gfx ]);
 
   patches = [
     ./parse.patch # Fixes compilation error by avoiding redundant definitions.
diff --git a/nixpkgs/pkgs/applications/misc/xterm/default.nix b/nixpkgs/pkgs/applications/misc/xterm/default.nix
index 60231350edbc..83ba28bfce37 100644
--- a/nixpkgs/pkgs/applications/misc/xterm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xterm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-348";
+  name = "xterm-349";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
      "https://invisible-mirror.net/archives/xterm/${name}.tgz"
    ];
-    sha256 = "1gkmj9v44xg4jahivhnpbmq22w1mwclr6fssv3lhssgkvchm27wb";
+    sha256 = "0ps7b2b2kbrkv5q49cmb8c51z0w21jmm7hwciw30m6jgfb9s79ir";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/applications/misc/xxkb/default.nix b/nixpkgs/pkgs/applications/misc/xxkb/default.nix
index db952758f04c..612e4a557a71 100644
--- a/nixpkgs/pkgs/applications/misc/xxkb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xxkb/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     "MANDIR=${placeholder "man"}/share/man"
   ];
 
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = {
     description = "A keyboard layout indicator and switcher";
diff --git a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix b/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
index 8afba9353ce1..99729125b631 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "zathura-core";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchurl {
-    url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz";
-    sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky";
+    url = "https://git.pwmt.org/pwmt/zathura/-/archive/${version}/zathura-${version}.tar.gz";
+    sha256 = "0v5klgr009rsxi41h73k0398jbgmgh37asvwz2w15i4fzmw89jgb";
   };
 
   outputs = [ "bin" "man" "dev" "out" ];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    homepage = https://pwmt.org/projects/zathura/;
+    homepage = "https://git.pwmt.org/pwmt/zathura";
     description = "A core component for zathura PDF viewer";
     license = licenses.zlib;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix b/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
index 88e4a9043931..6c8ad97d3556 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
@@ -17,7 +17,7 @@ in symlinkJoin {
   '';
 
   meta = with lib; {
-    homepage = https://pwmt.org/projects/zathura/;
+    homepage = https://git.pwmt.org/pwmt/zathura/;
     description = "A highly customizable and functional PDF viewer";
     longDescription = ''
       Zathura is a highly customizable and functional PDF viewer based on the
diff --git a/nixpkgs/pkgs/applications/misc/zola/cargo-lock.patch b/nixpkgs/pkgs/applications/misc/zola/cargo-lock.patch
new file mode 100644
index 000000000000..b9d97e3c328a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/zola/default.nix b/nixpkgs/pkgs/applications/misc/zola/default.nix
index 7418640e072b..178be4911693 100644
--- a/nixpkgs/pkgs/applications/misc/zola/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zola/default.nix
@@ -2,16 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = pname;
     rev = "v${version}";
-    sha256 = "166kmlkzd1qyw9yq2jqs58z8b3d956jjhw9r15jzw98md949psr5";
+    sha256 = "13kbgxh7r6124d1fjdf0x599j1kpgixp1y9d299zb5vrd6rf5wy5";
   };
+  cargoPatches = [ ./cargo-lock.patch ];
 
-  cargoSha256 = "1brmlg6nqyls1v62z0fg0km150q9m7h71wy67lidcnw76icmqr24";
+  cargoSha256 = "03rwf5l1l3ap03qi0xqcxsbyvpg3cqmr50j8ql6c5v55xl0ki9w8";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/applications/networking/3proxy/default.nix b/nixpkgs/pkgs/applications/networking/3proxy/default.nix
new file mode 100644
index 000000000000..a1e54b502289
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/3proxy/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, coreutils }:
+
+stdenv.mkDerivation rec {
+  pname = "3proxy";
+  version = "0.8.13";
+  src = fetchFromGitHub {
+    owner = "z3APA3A";
+    repo = pname;
+    rev = version;
+    sha256 = "1k5rqldiyakhwhplazlhswkgy3psdkpxhn85605ncwaqx49qy8vk";
+  };
+  makeFlags = [
+    "INSTALL=${coreutils}/bin/install"
+    "prefix=$(out)"
+  ];
+  preConfigure = ''
+    ln -s Makefile.Linux Makefile
+  '';
+  meta = with stdenv.lib; {
+    description = "Tiny free proxy server";
+    homepage = "https://github.com/z3APA3A/3proxy";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix b/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
index ce5c7fb41f1f..0c8136724ffc 100644
--- a/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -14,22 +14,23 @@ let
     genericName = "Apache Directory Studio";
     categories = "Java;Network";
   };
-
+  version = "2.0.0-M14";
+  versionWithDate = "2.0.0.v20180908-M14";
 in
 stdenv.mkDerivation rec {
   pname = "apache-directory-studio";
-  version = "2.0.0.v20170904-M13";
+  inherit version;
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
-        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86_64.tar.gz";
-        sha256 = "1jfnm6m0ijk31r30hhrxxnizk742dm317iny041p29v897rma7aq";
+        url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86_64.tar.gz";
+        sha256 = "0kq4l3755q69p7bry9xpm5xxw56ksncp76fdqqd1xzbvsg309bps";
       }
     else if stdenv.hostPlatform.system == "i686-linux" then
       fetchurl {
-        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86.tar.gz";
-        sha256 = "1bxmgram42qyhrqkgp5k8770f5mjjdd4c6xl4gj09smiycm1qa4n";
+        url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86.tar.gz";
+        sha256 = "038dy8jjgq5gj5r56y9ps3ycqi9gn57i4q1r3mmjx1b1950wmh1q";
       }
     else throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index ae3659a21fef..ef0b8ec76190 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
@@ -82,11 +82,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "0.69.128";
+  version = "1.1.23";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "1w5p2hbn14k239fbqrbxkw9h3p8wm7cdyjcyvrsss57fj00j8s4r";
+    sha256 = "1kb40h5d76k6p338h75p8lxs0cb88jaasss0cmb7bfc7zykfqmd3";
   };
 
   dontConfigure = true;
@@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
       contribute to your favorite creators automatically.
     '';
     license = licenses.mpl20;
-    maintainers = [ maintainers.uskudnik ];
+    maintainers = with maintainers; [ uskudnik rht ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/browsh/default.nix b/nixpkgs/pkgs/applications/networking/browsers/browsh/default.nix
index c3f5cb131645..2b910fe0c5c4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/browsh/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/browsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildGoPackage, fetchurl, fetchFromGitHub, go-bindata }:
 
 let
-  version = "1.5.2";
+  version = "1.6.4";
 
   # TODO: must build the extension instead of downloading it. But since it's
   # literally an asset that is indifferent regardless of the platform, this
   # might be just enough.
   webext = fetchurl {
     url = "https://github.com/browsh-org/browsh/releases/download/v${version}/browsh-${version}-an.fx.xpi";
-    sha256 = "0b9aycyif0hfhfkivlnvinr13r9h4qyxx768286966p67napbd63";
+    sha256 = "1shf1s9s525wns5vrsc4ns21zjxm1si43lx6v0q8ma6vd5x5445l";
   };
 
 in buildGoPackage rec {
@@ -23,7 +23,7 @@ in buildGoPackage rec {
     owner = "browsh-org";
     repo = "browsh";
     rev = "v${version}";
-    sha256 = "1z78kgxrbi2jy20rbq6kx5mjk4gpg58w4rb3flp42l9p7bhdbr2h";
+    sha256 = "0gvf5k1gm81xxg7ha309kgfkgl5357dli0fbc4z01rmfgbl0rfa0";
   };
 
   buildInputs = [ go-bindata ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/browsh/deps.nix b/nixpkgs/pkgs/applications/networking/browsers/browsh/deps.nix
index fae04b4d6a58..9a6a898beb5b 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/browsh/deps.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/browsh/deps.nix
@@ -1,3 +1,4 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
 [
   {
     goPackagePath  = "github.com/NYTimes/gziphandler";
@@ -49,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "5ed622c449da6d44c3c8329331ff47a9e5844f71";
-      sha256 = "1yhcwraijdk6lx7f6m9p6i1b3zfh2hq80l1nfpnckfn10gh72aw7";
+      rev =  "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
     };
   }
   {
@@ -103,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev =  "f15292f7a699fcc1a38a80977f80a046874ba8ac";
-      sha256 = "0zm3nhdvmj3f8q0vg2sjfw1sm3pwsw0ggz501awz95w99664a8al";
+      rev =  "3536a929edddb9a5b34bd6861dc4a9647cb459fe";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
     };
   }
   {
@@ -166,8 +167,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cast";
-      rev =  "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
+      rev =  "8c9545af88b134710ab1cd196795e7f2388358d7";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
     };
   }
   {
@@ -184,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev =  "3ebe029320b2676d667ae88da602a5f854788a8a";
-      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
+      rev =  "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
     };
   }
   {
@@ -260,4 +261,4 @@
       sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
     };
   }
-]
+]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
index ad7fa78527cd..bbfce71a115c 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -61,7 +61,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ bendlas ivan ];
+    maintainers = with maintainers; [ bendlas ivan thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
index 4353d2958f58..31e699161968 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
@@ -13,17 +13,16 @@
 , 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
+, jre
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
 , libva ? null # useVaapi
 
 # package customization
-, enableNaCl ? false
 , useVaapi ? false
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false, libgnome-keyring3 ? null
@@ -107,7 +106,7 @@ let
 
   base = rec {
     name = "${packageName}-unwrapped-${version}";
-    inherit (upstream-info) version;
+    inherit (upstream-info) channel version;
     inherit packageName buildType buildPath;
 
     src = upstream-info.main;
@@ -123,29 +122,21 @@ 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
+      jre
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional useVaapi libva
-      ++ optional pulseSupport libpulseaudio
-      ++ optional (versionAtLeast version "72") jdk.jre;
+      ++ optional pulseSupport libpulseaudio;
 
     patches = [
       ./patches/nix_plugin_paths_68.patch
       ./patches/remove-webp-include-69.patch
-      ./patches/jumbo-sorted.patch
       ./patches/no-build-timestamps.patch
-      ./patches/widevine.patch
-      # Revert "Implement GetFallbackFont on Linux" to fix a performance regression
-      # Remove after https://bugs.chromium.org/p/chromium/issues/detail?id=1003997 is fixed
-      (fetchpatch {
-        url = "https://github.com/chromium/chromium/commit/5a32abe4247f80fdb55c55a289b906b0e42faa5f.patch";
-        sha256 = "1a4jqmki6cyi2dwvaszh01db2diqnz1d50mhpdpby3dd1cw0xmfy";
-        revert = true;
-      })
-
+      ./patches/widevine-79.patch
+      ./patches/dont-use-ANGLE-by-default.patch
       # Unfortunately, chromium regularly breaks on major updates and
       # then needs various patches backported in order to be compiled with GCC.
       # Good sources for such patches and other hints:
@@ -153,15 +144,12 @@ let
       # - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
       # - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits
       #
+      # ++ 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
@@ -234,15 +222,17 @@ let
       use_gold = true;
       gold_path = "${stdenv.cc}/bin";
       is_debug = false;
-      # Use jumbo for a 2x (at least) compilation speedup, except where it is currently broken:
-      # https://gist.github.com/ivan/6fe7014c1b1cc35dec133fa6de0549d9
-      use_jumbo_build = (version != "78.0.3904.17");
 
       proprietary_codecs = false;
       use_sysroot = false;
       use_gnome_keyring = gnomeKeyringSupport;
       use_gio = gnomeSupport;
-      enable_nacl = enableNaCl;
+      # ninja: error: '../../native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-objcopy',
+      # needed by 'nacl_irt_x86_64.nexe', missing and no known rule to make it
+      enable_nacl = false;
+      # Enabling the Widevine component here doesn't affect whether we can
+      # redistribute the chromium package; the Widevine component is either
+      # added later in the wrapped -wv build or downloaded from Google.
       enable_widevine = true;
       use_cups = cupsSupport;
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
index 5fb0d67a4809..c3522e17379b 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,4 @@
-{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_8
+{ newScope, config, stdenv, llvmPackages_9
 , makeWrapper, ed
 , glib, gtk3, gnome3, gsettings-desktop-schemas
 , libva ? null
@@ -7,7 +7,6 @@
 
 # package customization
 , channel ? "stable"
-, enableNaCl ? false
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false
 , proprietaryCodecs ? true
@@ -20,11 +19,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_9.stdenv;
+  llvmPackages = llvmPackages_9;
 
   callPackage = newScope chromium;
 
@@ -34,9 +30,7 @@ in let
     upstream-info = (callPackage ./update.nix {}).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
-      inherit enableNaCl gnomeSupport gnome
-              gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport
-              useVaapi;
+      inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi;
     };
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine; };
@@ -47,8 +41,8 @@ in let
   };
 
   mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}";
-  widevine = let upstream-info = chromium.upstream-info; in stdenv.mkDerivation {
-    name = "chromium-binary-plugin-widevine";
+  widevineCdm = let upstream-info = chromium.upstream-info; in stdenv.mkDerivation {
+    name = "chrome-widevine-cdm";
 
     # The .deb file for Google Chrome
     src = upstream-info.binary;
@@ -58,21 +52,25 @@ in let
     phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
 
     unpackCmd = let
-      soPath =
+      widevineCdmPath =
         if upstream-info.channel == "stable" then
-          "./opt/google/chrome/libwidevinecdm.so"
+          "./opt/google/chrome/WidevineCdm"
         else if upstream-info.channel == "beta" then
-          "./opt/google/chrome-beta/libwidevinecdm.so"
+          "./opt/google/chrome-beta/WidevineCdm"
         else if upstream-info.channel == "dev" then
-          "./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
+          "./opt/google/chrome-unstable/WidevineCdm"
         else
           throw "Unknown chromium channel.";
     in ''
-      mkdir -p plugins
-      # Extract just libwidevinecdm.so from upstream's .deb file
-      ar p "$src" data.tar.xz | tar xJ -C plugins ${soPath}
-      mv plugins/${soPath} plugins/
-      rm -rf plugins/opt
+      # Extract just WidevineCdm from upstream's .deb file
+      ar p "$src" data.tar.xz | tar xJ "${widevineCdmPath}"
+
+      # Move things around so that we don't have to reference a particular
+      # chrome-* directory later.
+      mv "${widevineCdmPath}" ./
+
+      # unpackCmd wants a single output directory; let it take WidevineCdm/
+      rm -rf opt
     '';
 
     doCheck = true;
@@ -83,12 +81,12 @@ in let
     PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ];
 
     patchPhase = ''
-      patchelf --set-rpath "$PATCH_RPATH" libwidevinecdm.so
+      patchelf --set-rpath "$PATCH_RPATH" _platform_specific/linux_x64/libwidevinecdm.so
     '';
 
     installPhase = ''
-      install -vD libwidevinecdm.so \
-        "$out/lib/libwidevinecdm.so"
+      mkdir -p $out/WidevineCdm
+      cp -a * $out/WidevineCdm/
     '';
 
     meta = {
@@ -105,19 +103,14 @@ in let
 
   # We want users to be able to enableWideVine without rebuilding all of
   # chromium, so we have a separate derivation here that copies chromium
-  # and adds the unfree libwidevinecdm.so.
+  # and adds the unfree WidevineCdm.
   chromiumWV = let browser = chromium.browser; in if enableWideVine then
     runCommand (browser.name + "-wv") { version = browser.version; }
       ''
         mkdir -p $out
         cp -a ${browser}/* $out/
         chmod u+w $out/libexec/chromium
-        if [[ ${channel} != "dev" ]]; then
-          cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/
-        else
-          mkdir -p $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64
-          cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64/
-        fi
+        cp -a ${widevineCdm}/WidevineCdm $out/libexec/chromium/
       ''
     else browser;
 in stdenv.mkDerivation {
@@ -160,7 +153,11 @@ in stdenv.mkDerivation {
       export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}"
     fi
 
-    export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:${libPath}"
+  '' + lib.optionalString (libPath != "") ''
+    # To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not
+    # contain an empty section before or after a colon.
+    export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${libPath}"
+  '' + ''
 
     # libredirect causes chromium to deadlock on startup
     export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')"
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch
deleted file mode 100644
index 38d77e215516..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch
new file mode 100644
index 000000000000..9f14a304eb34
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch
@@ -0,0 +1,26 @@
+A field trial currently enables the passthrough command decoder, which causes
+gl_factory.cc to try kGLImplementationEGLANGLE first, which causes Chromium to fail
+to load libGLESv2.so on NixOS.  It somehow does not try kGLImplementationDesktopGL,
+and so there is no GL support at all.
+
+Revert to using the validating command decoder, which prevents gl_factory.cc
+from touching allowed_impls, allowing it to successfully use kGLImplementationDesktopGL.
+
+diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc
+index 697cbed5fe2d..8419bdb21a2f 100644
+--- a/ui/gl/gl_utils.cc
++++ b/ui/gl/gl_utils.cc
+@@ -71,9 +71,10 @@ bool UsePassthroughCommandDecoder(const base::CommandLine* command_line) {
+   } else if (switch_value == kCmdDecoderValidatingName) {
+     return false;
+   } else {
+-    // Unrecognized or missing switch, use the default.
+-    return base::FeatureList::IsEnabled(
+-        features::kDefaultPassthroughCommandDecoder);
++    // Ignore the field trial that enables it; disable it until
++    // gl_factory.cc kGLImplementationEGLANGLE issues are sorted
++    // out on NixOS.
++    return false;
+   }
+ }
+ }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch
deleted file mode 100644
index cdf0f695f761..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromium-70.0.3538.67/build/config/merge_for_jumbo.py.old	2018-10-25 19:15:54.578222230 +0300
-+++ chromium-70.0.3538.67/build/config/merge_for_jumbo.py	2018-10-25 19:20:44.397613032 +0300
-@@ -132,6 +132,8 @@
-       assert not inputs
-       continue
- 
-+    inputs.sort()
-+    outputs.sort()
-     write_jumbo_files(inputs, outputs, written_input_set, written_output_set)
- 
-   assert set(args.outputs) == written_output_set, "Did not fill all outputs"
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch
new file mode 100644
index 000000000000..db9d6082756d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch
new file mode 100644
index 000000000000..32f0ae2fb5e6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn
+index ed0e2f5208b..5b431a030d5 100644
+--- a/third_party/widevine/cdm/BUILD.gn
++++ b/third_party/widevine/cdm/BUILD.gn
+@@ -14,7 +14,7 @@ buildflag_header("buildflags") {
+ 
+   flags = [
+     "ENABLE_WIDEVINE=$enable_widevine",
+-    "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
++    "BUNDLE_WIDEVINE_CDM=true",
+     "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
+   ]
+ }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
deleted file mode 100644
index 2de6024141d7..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Description: enable widevine and set its version string to "undefined"
-Author: Michael Gilbert <mgilbert@debian.org>
-Author: Olivier Tilloy <olivier.tilloy@canonical.com>
-
---- a/third_party/widevine/cdm/widevine_cdm_version.h
-+++ b/third_party/widevine/cdm/widevine_cdm_version.h
-@@ -11,5 +11,6 @@
- // If the Widevine CDM is available define the following:
- //  - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
- //    as a string, e.g., "1.0.123.456").
-+#define WIDEVINE_CDM_VERSION_STRING "undefined"
- 
- #endif  // WIDEVINE_CDM_VERSION_H_
---- a/chrome/common/chrome_content_client.cc
-+++ b/chrome/common/chrome_content_client.cc
-@@ -99,7 +99,7 @@
- // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
- // bundled and not a component. When the Widevine CDM is a component, it is
- // registered in widevine_cdm_component_installer.cc.
--#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
-+#if !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
- #define REGISTER_BUNDLED_WIDEVINE_CDM
- #include "third_party/widevine/cdm/widevine_cdm_common.h"  // nogncheck
- // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
index a80210542c53..ef0b5ac0eb67 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -45,11 +45,11 @@ let
 
   flash = stdenv.mkDerivation rec {
     pname = "flashplayer-ppapi";
-    version = "32.0.0.255";
+    version = "32.0.0.303";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "1rqb54kqxq66vvqk5yrr3rsy3wcj9r9wnkngk27c7jayzm6bwgvv";
+      sha256 = "0b2cw8y9rif2p0lyy2ir1v5lchxlsh543b9c743a2p85c9p7q62b";
       stripRoot = false;
     };
 
@@ -81,7 +81,11 @@ let
 
     dontStrip = true;
 
-    meta.platforms = platforms.x86_64;
+    meta = {
+      license = stdenv.lib.licenses.unfree;
+      maintainers = with stdenv.lib.maintainers; [ taku0 ];
+      platforms = platforms.x86_64;
+    };
   };
 
 in {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index b641d1163bc4..6a4e46e74bde 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/nixpkgs/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 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
-    sha256bin64 = "0p3275ii8800swlfmljbdrvyqjd5nlw0vgv2my4r8ccszgbhidbd";
-    version = "77.0.3865.90";
+    sha256 = "1j9zfbyil16yhf6hzrd0ssy9k49jx468dbmgzhc20l1548fif62g";
+    sha256bin64 = "1jfsswjqzdif6824p9a6raw5j9309y61c80kgfq23247vr514ky9";
+    version = "79.0.3945.88";
   };
   dev = {
-    sha256 = "0zka01ml3hbximswzkkqbqq8wpiz8f4fq4wx5fys002hi69l296l";
-    sha256bin64 = "0nrip45s0ylri34vlpf16xlwv3ybmy2jg7dz8l9rvgbdwwdzdb75";
-    version = "78.0.3904.17";
+    sha256 = "1fbs6llrhm9jkzmk3v3a84d9is6g96kysy91hvpb0bw8f7anl969";
+    sha256bin64 = "04fscphs4w6jb1kdc25jc568r3k4x3nmg0apggjfnbdwzb5zkmf2";
+    version = "80.0.3987.16";
   };
   stable = {
-    sha256 = "1hzgzmrn0d6cqvqnqayl048zwlcx0f7azg2rhvm7p13lvyqzsk00";
-    sha256bin64 = "1npx867j39mdyivf8nlkcfwgq7j34hl7s948vf6h2kqni0y50hzl";
-    version = "77.0.3865.90";
+    sha256 = "1j9zfbyil16yhf6hzrd0ssy9k49jx468dbmgzhc20l1548fif62g";
+    sha256bin64 = "1k44fnn41n73j1lff4h8s8f79pw8w180n467lwff4g9izh6c2blz";
+    version = "79.0.3945.88";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/eolie/default.nix b/nixpkgs/pkgs/applications/networking/browsers/eolie/default.nix
index e067f3f15eb5..b9b183a03ff3 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/eolie/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "eolie";
-  version = "0.9.60";
+  version = "0.9.63";
 
   format = "other";
   doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     url = "https://gitlab.gnome.org/World/eolie";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "1mhl7p8pwp8lqx5z15r0lx1y4mb2c1gjwy3w6041cyc4hyb91693";
+    sha256 = "0z8gcfg7i842rr5p8r3vqa31kf7nnj1yv3afax3jzf4zbnhb8wm0";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/ephemeral/default.nix b/nixpkgs/pkgs/applications/networking/browsers/ephemeral/default.nix
index 369689520d8a..ce0617b8d3fd 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/ephemeral/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -1,10 +1,10 @@
 { stdenv
 , fetchFromGitHub
 , desktop-file-utils
+, vala
 , gettext
 , glib
 , gtk3
-, hicolor-icon-theme
 , libgee
 , libdazzle
 , meson
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ephemeral";
-  version = "5.3.0";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = "ephemeral";
     rev = version;
-    sha256 = "1xglhv4rpl6vqryvliyvr9y8mqli4x4bjcfjsl1v8gdxkzkwfy39";
+    sha256 = "1i77chbjjg8zda5bnn1wj4h00a88awfls5b3i3dqwgsi356hv4wb";
   };
 
   nativeBuildInputs = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     gettext
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
     glib
     glib-networking
     gtk3
-    hicolor-icon-theme
     libdazzle
     libgee
     pantheon.granite
@@ -55,6 +54,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The always-incognito web browser";
     homepage = https://github.com/cassidyjames/ephemeral;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 50b7153533dc..326817504553 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "69.0b16";
+  version = "73.0b2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ach/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ach/firefox-73.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "5fe26093cdffc6c3afde7438bbcde7fb24867e70b74c18ef287d5897e4470f2671fe30053bf7d9077d9494e9cc97a2dabb9938d4c99fcaf7981d8df7cea281fe";
+      sha512 = "47987892d0fd833240debe8e514caf6dd5b6c386bbbf7cb5823199e1096a8ab7fe6e2bce18cffd874ff5bb55157abee220b0d76cf90e55b94078589127bce826";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/af/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/af/firefox-73.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "2a1ea5564ac0bb16dc716f29f4f3a63f8029ba314e353ad74bb437a70ade138b29f58df2fb8320efbf5c001232253aa4a16f48673bc4c6e5906ce3c4c912026a";
+      sha512 = "6f04227c13dbb06264e85959c193486a8bd2eca2ceaa384d6930bb8512e3d38c8bfe7f0e138349ae30946dc01c06a9a9451276199f067647dcc382185a089807";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/an/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/an/firefox-73.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "5fae2f3b33d7776f70a4244c6be02a47e81000a9de91fde1a3d73be2675e1ca67a2219f8aeacb70759cc779b985e4f0698c625c20f895e75e28ed9c764c8c3e4";
+      sha512 = "1a4468bc5dda9fd023f42d9d549bb715b9b24b898f047b98f8fb0dc2a4a8ba025ff9904fd6d3417e5a3c9693914e806f08aefa71eadcd5bbee182d959f718e96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ar/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ar/firefox-73.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "dd8eb0155a3d9489645c03c3240f5ca2c6ee0b0de7cd82e62aad1575e8868f3ec763985c4142078ef8ace86da81887bf7d1f95c2ec22d5bc73086e230898e7a9";
+      sha512 = "4debd211bc2562543d1e144f902afb5c3feadee067b877915d15d7287a46b1b62344463fe295c00e32ced9addf004ef25a5dedaeb6f054889afdf2a9fa55dd0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ast/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ast/firefox-73.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "960fea994048e4c08389c7701541266e3631c4d70f604146189805f1ad606aab16ef9c2b28eedee82acbe0f42f69c96a90a041ba4cf95fec060b1d6c29a94bc7";
+      sha512 = "854a527ecb67b0d312c761cb63560d67190102ed9d143aad77a0e6a0daa3bfe1a3798473968819396287cd9695caec8522f7a765f91decd9bf0e05172942190c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/az/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/az/firefox-73.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "8e7b6bb3fc5c6726115a0a20f61d1cad5e9a4e9e86e462e1ab6a454f5257af22ebf8dcdea3298fc1e9648fe630c36245f4c45ba4093d45e59741ceb882fc501b";
+      sha512 = "bb70aec58ea49dfb8e8545a7c0416f339ffbb09b491990ebc38a050f0116f892551f1c444fa071b4a043628831144c6a97d3d175df7ec545ce163c189b7a64dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/be/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/be/firefox-73.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "919a1f9007599ed0b325e0b218b18fc803c535f7eab76068cf4e94fe1ceb4543d090d7f341ba5f4d4de9aaaedc1b19d88ddbcb5c329ed5650d2ebc721f6aa49b";
+      sha512 = "e63dc6e79dcb474c7cb3ba6e6f2f77e47b0e770dc5867a879a0ebe6b26cca20874b047e56b321d1f03caeba6cbf1e6cfe85943f9be7faa4847b2190be2c948b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bg/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/bg/firefox-73.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "6746f4d0c2a73f99bc04c3b12bcf54e5eca7262ac6d54835a567a23a07fc91775db9e64d0c5accf045aabd5d4645a753413f934e6eac9dbcefaea30c944aadd8";
+      sha512 = "b49587827d62931ec80f5bd6128a029a06d2797047bca887c66f8611f407793d8671640edaf9a33ced8a37a66fb38d60fdcfa48fd8d84202207bf2f1ee0befc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/bn/firefox-73.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "ba88ff34405c92b907cc16e44dbd5d1db0b4bcf0fb75ca650739bf307a6e2270cfd69bba9ead6c260721857738165fbbcd4af44fbe8cb9d7402d97c32eb09532";
+      sha512 = "7912536afa1f5ee2af642a4cb35f7d30ccb69ce026695ff6272f3c83f4801e781c064a75cf757c3e70fd2a6fe6e087e87717c6c30082542d521d9b7087785c58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/br/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/br/firefox-73.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "e7c78c11b3fd36d7c6ab55ac9571a53615a595dd5c5d66cd3dc6fb6d3fb42a1b29dcc86180f2028502f25869c951ad3caedf4590a61fe525616f18d560d6e775";
+      sha512 = "2cf4c9a51487709a17ccf1c73f0f233b881de377d2b162dfe5596ffc78cbac8d40c01ac14d50f8a2ea64a24b185aff6ba3aaa798bc89954dcc1b65d3235fccc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bs/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/bs/firefox-73.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "36a677f1c449ad58e8750323cffdea3200c3953b9fc6bf920a0439229eb00164d4c1199286d1f0cc47eb31b3fe7acf9e78ebc3f4a3f49a443d1425afe717ab2e";
+      sha512 = "5eee204bbf3a191258082036595ea04232b8512eac7a0bd69735f0775b3bb17c077e073e605574cccbc5ec679e826b7109429248ae89bcf946160d64967c5514";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ca/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ca-valencia/firefox-73.0b2.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "a9b69e1b6114fb1c82a4e1bcad02d93efb79a7cf0d4ec59e23439485a9f5a2b20d45f84a369de2a8631a5e5c1b618d1544b2669dc7c4fab043e69415b2411d42";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ca/firefox-73.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "b78937e7ca4c7df19ed1c40a8b459d65176ca908333d7d19f30a377fddf836438cd750f2efeebb235c75c25f4a42a70e919c2c0061b865f7b90d71fe2ea119f1";
+      sha512 = "d7d2bb1225ceca021114bc666725076c893f2e1adf9b4668e556753ed1bf515be23d8576582cecd3ac1b53b60502ed6f2819973c6216cccceb29e5b65a5e9de3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cak/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/cak/firefox-73.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "ac21c01a6528790fd31d56f0c637a0cee8b4cd0938ecd18200c48f8c982ee6a06a36ad779f9cb708d0b8191b7df4480d62dd75cd2a4bd0502cdd862aa8e95a08";
+      sha512 = "8393b967f2615c59614b0b5b5d604d76ef5078a3d8b27d259e6492f65c98c1e042695a3dea1c6a027d8f247da8509d22942b997daff380ff85357cd9e750b356";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cs/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/cs/firefox-73.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "09cafbad6acc6db507d5589f4f89f3914cb80c826de9e55d8f02b42c29f6e46d24f49729efd8c67b5b575fc4dd240d8b32f0ed69992ac992b02c8f2639c2b613";
+      sha512 = "38bbae4c4b3b96ad98b855ad11312f3e8f05c78b94cf5aad265bed739ec0caa4956554b20e18bc9d3888bc6b42e47e14a681b15822cff3a5e99b96c2ac840a83";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cy/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/cy/firefox-73.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "18de3618d1b1fd350a8c826e57898f019e9c792e5f97521ab52ee940956e8e49a9191e361e0426412ca27e63c1e502f350c11a68574f2be37b29e43a9a63b25b";
+      sha512 = "52ba1a1b98ef9121ebf175998f69c197eaafca85abff9cd844840bd06acddaf34baaebf9ef61bcd71e5dffddadb33b2cd31e61ec962416c6652f8cc0677324f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/da/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/da/firefox-73.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "7fd40f49390d1ca844f31eaad74a419a28aab6f74cbad1f040e01ecc5b6691ff516a4d2c41c906e241aab54573580eee3b6b01531468cc3e35c4fa61f7b60931";
+      sha512 = "349ccd82de11f9aedcb6e4b57344985b7a925a3ed5e10064614e56578d66bfca0fd9fb5b381ee95ba40d43ca107e20db7aed43b2a7df911f53a4941cb15d4df7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/de/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/de/firefox-73.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "85347a3419e55984769031850ec30f757238801cf8483551ddba35abfd0e2638c75fa358ec09705d28dcc647fa47ad37c4f545522d5f8aa54067fbcc232a47c6";
+      sha512 = "bb2166bad1fae402052357ca34c35a94e2f03788bc55643bef7dfe42c7bc92158f84045c3bef12b8b678fbc84fd8c262a167c6d3c6ec07b1312f49c9612f064d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/dsb/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/dsb/firefox-73.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "a8f24207ea3b763a3295c1feb43c22f0e502561224a4d3d342cdd7321bd4e93fca83293834163d9a6160e0fc4c6aedb60b4f72e172e99eb98e6b8c0cfef665e4";
+      sha512 = "d877e177b08907a98aa0f3c2c456243a9b4a7553333a01722e7c0c691143b5468d1d6e7cc0199cbf93efe0a21d8216fb98553a8f1cf744ba4468b906b446ccce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/el/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/el/firefox-73.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ca8a37134a897631e398448683e4805ea9fd10a30629c09f760b6b90b9e8fb6505adf3143031e88b7a189791f487aa0ed852c0a4911b93fdedb34cd0cec7b7b6";
+      sha512 = "4c1b5d4a39457fd24957697f333b00615f3dd836c6fcbe651adef339c76e487f0ca87269d8e3254c6fa02d9b97e517f4cf49f19911b842eb07a3e9a98fc8a7b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-CA/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/en-CA/firefox-73.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "b2c154bf92cf4ac6a4021b199e9e8438b59e4aeaa5ca7f72df41bdf64dcbdb196d384775b759b867a717e48e7a31f457cdec2c20e3c4dbd93d3c440ce277d396";
+      sha512 = "f517080957c5a9e86662c7104536a618fb14c46c6449cf533e9a643269365c9e9b693fc3bf0662d5122c09aff925b10a88fc2ce7fa9ff537e7b6c4253e8f584c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-GB/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/en-GB/firefox-73.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "73c0b07840bf816f093c90b9103a25d2ff00cadcf13341ff228e09bf939c131db3ade9d3be472a4eec3ca5b4131245ea4c788171e6ee42beba7dc1c7881da0b3";
+      sha512 = "da5862255bfda7f8add2fd5d7b129b0adfd8c420afcb99440f07c2b8517e3cc46dfcdeb28a200fe72448718749d82abdbf3cbbfbca326c933a42d94acead2b2d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-US/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/en-US/firefox-73.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "c63d7358887ba0d8af897063c5431c2bd404fb9708e6b59d73c14dd8cfa1a2137af72eb01dfe25b9e6d92b84d5b966693cc89f5446ed3410f910e2df3f92b6cc";
+      sha512 = "4955bf26435b201749c8153ba35cbd07f66e93b4b0352904bfa6d90695413660c67da8b8a62436a40c10cd4fdc7d6466ca3f70f27f906a31ec444a78e8fca113";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eo/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/eo/firefox-73.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "0e4a373bac78d80e2849c41c93196782ef41a74f91c6319da690916138a78c20c9d26d8c96e5efe67a835185c8df77354b3fed5a62500e791634eb2f15909031";
+      sha512 = "5e9a1083d0978d9456c052ee16f332fdaff50f17e8e17d52630cfae14bbcf147e4452a8af177985d1d120bbbbc0c77cf8ba4f9f95637e0310448aa2af40ecd9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-AR/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/es-AR/firefox-73.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "ff07382bcc926272bc69c10aa7f35eee7806d94a18ddebfa3599451d002afdda739461aad90d8df094f56b9b8840cedef659757245d4fd1a8603ac25d2a3100b";
+      sha512 = "6d7f4b66ed8b8ab111b114c0c2247cbb646e2cdf96c9adfa5f340721ab8e7dc6f781379b199713f9f06767bdd73e1a357f72f0fc3b76ffd7d04ea0f5756a1fc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-CL/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/es-CL/firefox-73.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "201f631a6682c9aa13c511a0d6da256e2f207362264f6e1ea060568a9e597216407ace99508ebe820a348859eb72c6df7581276eca5040b3ee2e99e048c67062";
+      sha512 = "2dc3ba64def0979a68c73d2d28094c72eb9756206489a0ce4611e8ca5fe6e2bd9f7f3ad0da3f1961f02732ee1f5e42908d07f9875924b65c47003244a7a1a40b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-ES/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/es-ES/firefox-73.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "76573a05de730de4c6bc76dcf98a21764c78baec4eb0ead45adae2658e9173b33c97132d0a2e5c95807a60a22c9ab2e1dce09e5b73ae2dfd905ced82ba105333";
+      sha512 = "21135fbf0daf56a8f69ed6558669589943f0f166d2f13679cdd3616395f3336ab77696a1f754c84b188f43033f41941f0ebb1beffb0ffa5d4f19915532022dd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-MX/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/es-MX/firefox-73.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "b619f5a2392ffa0b36f48503e94adf9cf1719911258e1752507f274078d12f74257677f3e76493fd080a0be08ca94964dc55129a59e292b1e2573676dc59e5c9";
+      sha512 = "499edbe88b5b3925bd2c6164ccf51d818954cca8319e8035916ac6c8f80d87fdf4fd5970fdc197e19bc9237230ad4156797fcbb79cf3bbb73039bba58aa84fa2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/et/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/et/firefox-73.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "951288cf8a5745e433332798b87ceb54e35d408ca9f4e9d9fb288192de430eb45065fe88f0858f1a71e0cbeaf87c85c240a6d350bf8ce2f50c8ae548cff71f90";
+      sha512 = "579ee6d3d21cd633e4e2a4a51bf49438cb473ac9fa01d80ffdc8af9484eca23bcf271e0e8accf7575ef903f0310fe72bfb761b735e5bcdd02c136aa48f0aad3d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eu/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/eu/firefox-73.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "78c856affa639c531d70e20b1de6f0eba59b33e403a1d24c3508fab03624b5c90db636d39b0c199f2fd0b5fab10fa3ecb2fced6cc3b1e8a06b9be11e8ec917b1";
+      sha512 = "4e87ef42b573f39183a3b8e626c61515b48cb353c1f3e7b2329df1869ce1c3a0bc47498da1633606c85307f4f3934817125442af83864b15cbdd20daa7dd1a6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fa/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/fa/firefox-73.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "a835fa37f804055dc117f694d85ae8b750c82f7ba92976def927f187ee91330a3d0616c0915917d1d0ec3c295f803c0bd2bdc9ecae0230f9a6642e42cab0e066";
+      sha512 = "1a1b3d5e3fb49a8924c74ca30fe239917d9104e3727b93eae1648866ee85be48add791299bc7f0e64678bd5935c56be04e0ad379cca59738f831411f2d99368b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ff/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ff/firefox-73.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "ed3664cd4418ed5af133e00c30b3a9d23a82bb681c5d965fe00b4e2bf6ce4c777b00c352dca4cfcfcf5a895d7001dcc6de67b4ef0abb3967014c483437f9b1f8";
+      sha512 = "e3e35d68390fbbc574680ec47aa5cd9f2ff1a4777ef0359139189fcf01565c43400790b41f6c5c6241da49248a13e58952e669400d60c4e00c00bbcea3a39e47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fi/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/fi/firefox-73.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "3edf6cc3dec21a48f914a754718a57cd495ed8bd9b807a9c4aae412a117ad1068abf0daf6cced6da74bd4887fe51746f1bb57dbc5858917ad17d8912cc9c4cb1";
+      sha512 = "83b7408fadf51a409a5a740476a6098ce6380a4c9d530891314753feff707d50a3003dcf4ead593f8bd47839029672c575b5eb7e20c657a4a459ff9ca957c942";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/fr/firefox-73.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "9f92a2dbaf834f13f0f0fe2cff0ac433c01b7e8155a381d21324fc1e7224f7d5c0a8374a7e5e43f679232f565958ef946e3cbdacd3e711e34ae97eb27176321d";
+      sha512 = "7aa26cea38e4776c508242a1115d158b829dc6789716877a6f0fc0923205154ddcbbda531015ff29fd9f1cd6d9a76c33bac196541694ee1593d21c868ee80519";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fy-NL/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/fy-NL/firefox-73.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "f98eb4bdb595db2f688c25644dacddb2049fe8f8b21e83f8cd7031cd23587713f1fa53f39a0b444f6ee979901806811c16599224c6a1a7d17cda84b544ee1848";
+      sha512 = "b51b87288e7cd3129be40b71d0ccbaed62f990c0ec9285194785f7ab297cf9005d094d7af7e5d85c1a29fed03ca7e7553bcd7bc6e4b994e0d9942f90039af700";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ga-IE/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ga-IE/firefox-73.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "eec73de53bce5c18ff0491d6f4018e3fb39471d3d63c6cf9527cff8f4b6b6e0a7e24e3b7fed58094409efee29df7dc35f2410ea05d5e916efa1d778926ab23f1";
+      sha512 = "0659c95e78765662ab9919c917ebf0b743e3c5e2b9c083a1fc90e99520e80675fa3f8604056522f484c421945171953712210de50cc75ab2295ba5b41b77a8e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gd/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/gd/firefox-73.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "1d10666f6c563dfa07f708b058fe867b9618974394a5eb4733926429a76bb6ea59e7ecf6a2a89740cf2f04692186bcfcafd2eb6775c5b59421bab0a92a24fe41";
+      sha512 = "77831e9fe97fc0851f622be6c3898c03e44ad30f4fe5b68b7c03ccdde83cd1dccd44d207e623291ba79cc657fba6bc15e328e3f2f761492ad09a836b197aa1e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/gl/firefox-73.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "b56d98f5a1e558aa73ec385c03b18dc9bc615670dc5a539eaf6c925f4af3915362d2d072f29ae3bde3f9ba266a321d704c6bfcb959d47858a650ffe7fab5767a";
+      sha512 = "3b641f6fc998a32606b17c70ddfe93070963f71fa2d5f28149fda3119221ab87dbb9723f263214e92390617f0fe01ca0bc380648f9f2ececd77cb493999d07e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/gn/firefox-73.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "50a9d482efe2c22002419f4559d1b90fd5f368a23deddd78227b7d20b6a051870a997506a1de931ac8c45bd5d33ff9152f3a8ad41c735912b48dc0fe9c073360";
+      sha512 = "dd33cbe7c085e1e3667b4ebd2d7beb86328d0936aedd53b1b6a38dfab5e6d423fef0ad17b4920588a263ecda475a18f828d994b30378baa7ae602a2038849baf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gu-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/gu-IN/firefox-73.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "8ce423880bb405240a78773c3f81aa08bf42b39c68068d3cc604486a96b44e7509c577b2c8f2285cce62181b7f11565ea6910c8871b798d0b6856765b16e1899";
+      sha512 = "cce88efe455ecba8acf46782e6b62e645eb5592a77121c3e9dfd6c50a2cbf4f7e4ef2f02f5aa26d1abd0ac2072fb393df2745e9069d2167c562c12a9ac8e1c64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/he/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/he/firefox-73.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "6a0722861c63a414690e9eeb2456ee492a92b8b20f8fd9973c1580b2e3ef1bdb87bb7ca0d17603c429a76805076e2a7c4cf986d643e790b2b04c58b69aeb8758";
+      sha512 = "bd06abea5ba16cdfffda21812272a24b3f78a9c42749d462b7ec110a8387329d271b064865ff5ef6d7895dd246282a78980dc125c81dd2ff0333e0881a2ada86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hi-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/hi-IN/firefox-73.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "4e9ba72349a3e58ee2b584b5d3ed5f601a1af7714104139e7dfa997921e6b7954a5cb7b78b9b8b7bcb7eb09da990116f844dbd96cab901ca408c2fd49303c35d";
+      sha512 = "a2250eb6d59e662ba06d8e45caa4ee119515eff2472f986a09257a35f1235956f405f80ea6f7c9e674724e441a4c3ef99557dafd13c1dc27f527825ebc1825aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/hr/firefox-73.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "f53f4177603c41008d06f16bf9e102855273f53856e57f79967f59af64bd38f745c4d71583db50917a45a7c3bd64940f69ecdb864dd957798c2ce5b65f5a75d9";
+      sha512 = "ae306d500db1a51fa74147dde1f99214f982c5f874274fe5bfa966aa34bc6339f0586e930091bfe95f02f9da708db2b2cb93ec0862e8189c1deaaf3e47a5c06d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hsb/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/hsb/firefox-73.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "f6044e9f09cf4fb64dd9d3935332bec46ddd783f6335206a51e68a411be57169d4a6388224da462d65090cd2ebfee64946626fc41ac3d779f53391c1765fa290";
+      sha512 = "a2f52071b336a0b374697557591ba927fa976fd6159c7a4b31680c6d0543a7b3175df8684ca19735b771d365f9e8f8028f3b155cf7c310d7cd6ca89e3597753e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hu/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/hu/firefox-73.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "0178b084718079f1e6117f723e2931275a28944deb5bff48c3fc9d2548ceec7a6f019253cb7fb014b04e6800bdc62eded02b1ad26efc2eaccbbd2d0ca359faa1";
+      sha512 = "110b1012b7c4a8f06b531c6e7c7f9c83762577bdaf5b46a4de56900ec21b65cf722de2ec857c2b56dbf65153e0a8748e2d30fa8d4f633ad2ded76551b7a3640d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hy-AM/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/hy-AM/firefox-73.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "0f069f14ab5895b1242b0b583e2a952c9a794e363973f68d119a791d5777048849dad23badeef6f155e1539b06468a4b7b0555e0e76f137edc523d09b6a51b36";
+      sha512 = "9cebf9abd8c8126e738627b4c34b6920188ad5ae5604ba6243f400e61057d05cfd13376bee96951f9bde27c81044ff73b5692e4b90d4283052ee0533a50ef30b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ia/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ia/firefox-73.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "fa0beaf3088becebfc5e4f02b884a572fc86b5f89dafd8e79741fcddd331f1d667b1c2af81050b56121ff40a2c9077bc514df9ec2de4d165b536d5b17cf2fa29";
+      sha512 = "4ecdde1c5b62feb8cc7ddd5948772b3079a308d78e7150c03f4b0f7f69796f6a55f23d47823e917ac80645c00a7a18a77348cd209fb3b6265e994276132733d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/id/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/id/firefox-73.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "10bb29fb1f4a588f8ccde4e087bba1c7b405c44a9a79acb16d189f704bc31ba24e33b1c89b1879deba4d5c5da0a5f94ef69a7987256af6fbb6d7571db85a1bb7";
+      sha512 = "30a3c80bb9082769215c13930378acdce265a1058fab3819e6c645bb35537a06d442ad4e2d36606b97c0f8b503a4281e22d295e66338bef0f5142f4a9e842fee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/is/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/is/firefox-73.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "48229cafe81da44259f0768f1494685afe072558dddac63c6321955d852ddd80a3b8729692dbb9c6b283a302e6d412d7c8d4f48888a0d5a1cae12dc1a025124a";
+      sha512 = "b1d7795ebc32f5e4113878384a84927a4169f484d302145f5b9dc8a4797a46d1eb3d57d4d911de06a5a28e0bdda95230b86c0df8f74866f25e50cf1954e84723";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/it/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/it/firefox-73.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "1097ddf7dad776303b942bc80455c8902c0c0fe1667fab972754260da6fe45f383967b8bd2d51e845a66bc0728c7655050858722c1b3b8d2e8d0331c8f612cdd";
+      sha512 = "9cca01c62232f7bca15a81f20e6a252e587f2c4c9bdc5cfe48fea549273440f98e43ed7f36da666bfb07889f5d29f3605208fc44b49e8173e844ae7af5716a82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ja/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ja/firefox-73.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "ca0e8dd301c1e1f76acdfae325445b2ebf45a15be70febeb677d215edbff7df509db7a38409b5039aab1a76cc8cb235d597f5b87f02a96bf842ef6d2e11e6176";
+      sha512 = "b79e00816ab0dc8ff7e0ffbecd0c7f09976b55e98a53b864a6be3565e05737814c591da0e76e8e5d7a3ea3d57252ffac9885812f2d1f131364533029d12145ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ka/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ka/firefox-73.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "99a1ae878c93ddf52c96466bae92259a4e51791ae343574c09f99e5f1878a15d705c84323af6b2871ddbe14c3f4b7fa5cc7a45c27b10b6bdf5bc70ce3a315322";
+      sha512 = "dbce1def842a038e0182194560c7f44ec4daf66916d000e30987fd27a26b9482ad318df9b2d55ef87d25c5724c9aee3b07b5a6d302488cbe06e0edc7ddc374db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kab/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/kab/firefox-73.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "b2b6190978068d2d36baf58efff771dc48cbaa09e53da8d19ebedfec4da5ab6c9c1c212ab0a9fb6cf7a264565b1815bcd2a2e0283f912c9ae3ab5fc6dd0427be";
+      sha512 = "17b5bc4fb4f78700b2265332d04b29a00baebe13916598674bdc13553a6c04d6cae5f7552a002db2c99bce18fd75b84b818a4d1b1146c12cbbab3251a37f2499";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/kk/firefox-73.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3c56bffab7e32ba9e0a572df36c473e94a3ef7b84207f204b5fa4df1473e4f64fe11a0b7bf8dee4cc26db56e99cf21eeb17b598dc211a5d9f5b3ab3fc5d625b0";
+      sha512 = "eaff45187fbb30a35ee86434e00be2fca9905db5841a8359fdd38c3e4c28cfa7f196fdde50d827d5caad46d9bd2b093ecd23f60134cce4c4c51539deb755a80e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/km/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/km/firefox-73.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "6a33560d83232074445c0cb31949f0e8ed4ffb18ce9407f4f9b8f5bb9460e949eb5d302b7f58a4ebcee5d27de0bc588e7d047ff8a17aa3edadc0ab595a175362";
+      sha512 = "8445d2019dc772a601f6e26d4a5032a006a5339406b216fe488582b4d13ff58552c34a5d816b69cc6077161b7339b7b3cecebc120d1524c6bfd4bf07bba90acb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/kn/firefox-73.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "d67b40cb99923acd769bb10d824903dc01379c9a5245f6d9fe0747b58525773b2724329c64760ec1c18726056bd1f7d74d9e292b3173555011bf7e66d6169828";
+      sha512 = "f5243bbe7a6db8287995d1a6397bd8e9d3b4413160518a354b9f4a8190b27702600422cc77b50ec41ea92ce2b730c893248fcd89f94ba4198e7f2ebbd03679a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ko/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ko/firefox-73.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "e932cf78de717646837ef432179a0b9cd41875b60ed5ec0c082f9b285c9899006844a61073689670449206a82c6a0bd72e076a51be1551ab3f757c6f0a060bb3";
+      sha512 = "be9e05a80473745c02a0e24570cbd69cbb3e4ed52d11f736388dab44228857e17c5544da530fbcd7b5ba68032544677259f5aa7793f6ca976a1ee4cb5c206235";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lij/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/lij/firefox-73.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "d52ee5886f86e511f947366caaf2769c4b3fca87254091c395077dab4b665b35de7b66cf90849958bbbdd61316d5df43014a8c9f9bc9006641a40aa2e8d79f98";
+      sha512 = "b1450f4e280694f8ddd3ba943cf598222461e646106ba62acb804c2d4080482beea269bc7c93e8744ef021dfd5b761cab0b706599a72a756f643d2395de639f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lt/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/lt/firefox-73.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "ea57e8db294d8b293a48d61257097caca093c9a2ed0b14b2d5c486de44b542cc546b751c2cca73ff6ae4945c210018a35ec61583f5b338628894117c04dbd135";
+      sha512 = "4741b86b44a8568bd3b218e78534fbbf6537ebc1b358a24062fa99d7abbeb55c72c344de5fb009e25abe66ea5d1fa43f24a8345cec353dd1b76f4cc892aa4b6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lv/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/lv/firefox-73.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "66054fe532331c73b0718791d83f389ad369fc77ecb0904c6fe3f97310ffb4d88e316d9dc618a07dfd4569b3c746ac882d8b353484c580af63c59f44e8257c11";
+      sha512 = "46ea4f15a873b73b8d503d632a7bef57e6579b9167591256128340fec20a0bf2ef705e3c86ecfb1ef5f6a31e537925f9ab2cff6fc15246eee288b779b40bf8d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/mk/firefox-73.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "0f67149117eef961fad9355fe61353a3a2ee15f19e92a592d6fad69e46ac488c26f2b0269f6c229df51690bfead9e85c1ae0489230ba32fb27609900a9725f57";
+      sha512 = "04d5035d959c0d6e1bf400a721727dae41cf6b3abddba9ce8a3b2b2d7a33223251c7c090ed8976e0e78e42b4067bbc869c188e030f1627696cf43f5ab9bf9034";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/mr/firefox-73.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "740667d86641c92ac299fd63700ad74dc4ec2fabb261bff9abfbb704e7181863556aec952b420f5883ab6a18e66d237d15636e2d9eb7bcfbece6227190b4b6fb";
+      sha512 = "7ca06b0f7e6f0254c1a802e3b00be1b92011ccae9477b46f0d470b949c9928216939462f25161d8b5fe4b0fd89aee9b007ee25d713f573fe961dc780980ee1c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ms/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ms/firefox-73.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "21ed058002c2c57c0e0e43658b12a7b257009814d13566d2d8a5164d0d3acb131a8c90f99b1e577b6d002f7e5019e296010e61b1df2c5d2e9443e8f55f20a4ca";
+      sha512 = "4b51107622faa24c3f6f513ac8a03268255d89360023ae3052dad04df91d7e3a04fdb608a8e5e7aaabc2eacb757ba9a451e0f05b2497b38d90854d79ac19538d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/my/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/my/firefox-73.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "8273c4d0df0fda727465d5bd4b50aa09dda1c81b4e78e291479efcceadd87ad24f50e2dec1accc2783fd0bf2e30a2d9e775d44ba599384f0e8e4ad0b6fe08e25";
+      sha512 = "1348f5b74005e622e3434bccdfb89a8586d534f0fdaaab1629905c3f6fda8a33eaade73a6f04e7dd8c285cd4b88121714cb5172c8efdef62b82f231694e5a3b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nb-NO/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/nb-NO/firefox-73.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "492842b037b018bc07827902e76a117f9ee4620342af102f2753e0d898ec9b070412debc6f72dad2d899c3869c27d2d969bbd9a8cbfe4d0c10d85428d9c7f3e4";
+      sha512 = "7ba6b164732540b40c0c1cde5609bf4a86db1e6779a7d783911c9ade003503387c9a66ce025aa3e902fd008dbe6f13a91267c3281af638a223f3ea85976cb480";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ne-NP/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ne-NP/firefox-73.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "5e31871031f4745af8e050e18b1d2f2a16bfd18596358b189c7940a8ff11e999e44cf2e96b62404e481d0d8712f151a10290ec36e5903ab72e26986a03f93e12";
+      sha512 = "d88e416aa279e9d74fb9700bf290b9bdd87cea035dd250f3892f0d64a957ef46ebe8200c9a4983e56a240083e284d4ca2984011befdb3ea82332f80a7085dde0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/nl/firefox-73.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "8ca6f3842359e5a97445692747ffe0d65bead4222d0b2f90f86dc637a6e02a1cc75909ea03acb0c232185ad626cdcf2a5dafd27d578420385b7a4df353847323";
+      sha512 = "0ad1d71f283cfc399477311a991c582a7cc5151486c3e6b646e2fde8d23edfa3d82f8e0758e21a8427f16c47fa02d3a4f5912e26efadadde6e3b53dcb013eee2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nn-NO/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/nn-NO/firefox-73.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "a64d50c1625f4da5cde3aad78b04a4e3278ef3aabcb19cc9a9542e45f0c82f09a63fb464c0b2d842e107f22ad12226655617023afad112292ddc22d735a25d54";
+      sha512 = "76ffaea7e4c8e7dab49873d10df681b1b3232d10c909ec72cad5daaa5ac70194e0bc32781ae4f3b1123715351469b56a3b0767983b7f1cc22fc8629121f86dd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/oc/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/oc/firefox-73.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "1b873b5a90c8130be2a782f8c0459f853d3fbd340d7500550fc7628282b1e575d92a1d0af263665f7fac7192c22910e8338b66abda828ffecddfec79dab62fe7";
+      sha512 = "00b3da139d22590fda0ff983a291d8e15eb6e39c0126fa65760e444cd6e793c7f0a2cc64a2e4483f3c6745915752de97f99ea09cabe146558252343248434913";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pa-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/pa-IN/firefox-73.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "6aadc5b934136d99161d4f52df74653ebe0ba2d5fd1e2468c103b34862a331ea269c23956ad27c7883811a474b6f915f6076d9673ab4767e5a3b0ba44bd32ec0";
+      sha512 = "a9fa7c9ecea8fca19bbaa8c6e5c7a8ee6b19944f6e9daced95a6af315ed23d1a530024dffb3d358fb64a44510333930674887e76c15bf82f2c3642b227b41068";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/pl/firefox-73.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "b3caa21e7ebf3083be1ea13da68a83775a0713f6046994991328a293cef558abc523c43572ee98587c777aa779498cc5d7e671aac622142b4801386e2e1532b3";
+      sha512 = "8e72223d18c62b38baf79b34947d7d63f534661795d9a0316550fae55bf155e7f130487a0790386d64c092bfaddfbde53f2851d7ad4255b030c984aa40558c2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-BR/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/pt-BR/firefox-73.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "f8b591901004a08c74a79cc4a9beb5139adaa2ba15261680c20c215ece1f1f115f0a71c4a2af2665c2c35bc3c5d3b5016159dfea5f603a981d5ccdc6b28c3b98";
+      sha512 = "0e09c23df11ccc242d792b0106f76052334820a0c44e125e3ba2578d1587efc61dd452dd579366e38f0a1ced978e0d76b0f212c74493793b1b236a9e0cce7572";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-PT/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/pt-PT/firefox-73.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "ba910b1e9e77a938f4208679141b24bae1dea6bf83a2f3a2778aeac59da1e8ab22ffe9333188316e170bff75bfae57258f3ff53c08774d00ee060de2d6871f21";
+      sha512 = "165232a7bf90e8dded6d5070a6a24f9b58dbad2ebf5f8ba48d763d188a4a01d6cac3506c0536ea7625c4b37c0bd587f70d93685ad0f58f9c28daeee71e0473b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/rm/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/rm/firefox-73.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "0272ede3149ece3f87192f8cdcfd74313fca17fee53c3c86dedfe702c8157257f29931c14168ac11095f0b0def077f267f222919cd7f4b5ce020797c36c3c603";
+      sha512 = "c0d932ba5f9ee063c09decc7dfbfcc68474fc9c1361e43baa6340c887fb619e3d62fbbee308146b996ac8110a3b7264930c0810b1b9b0a8e10216a317f43fcd9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ro/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ro/firefox-73.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "b58e3742fa43d52f737285c60e8b1237fea5158cd096450bb6187ee10471af0a77025fc526805c0ae8ddfceef7b7505dc637c8f72ab4188db31d0ffdf11ba606";
+      sha512 = "c4c3e2c1e7fb4bb284e8f0eee96c1f7b9c9ad3b6032436016b1421321e24535d50f548c6e89caccdb7f25baa0140b1a4bb1dc9edf9ebf960985533de880c1afb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ru/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ru/firefox-73.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "f0086698a2deea24dd1510da377ed9094273a7867a920b0d05c6aa47d4f4c5042519d02c5977747df05a416a4bf94aad0a52a0b03869e693f621959a0f980a26";
+      sha512 = "12c0a54f9bb8a683230385ad1df030b42f534b7a121977c8fb3ff69757ec3af07e7df8488df564e9b01f2205f4aa821351e336add0d42d9efa1a2e8d08e89d87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/si/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/si/firefox-73.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "4b0018c753aacadac60961b1e4a793b6a0f36d2f8844ada2515ad8081822cbb869ba23f7a69143af860ad060d86e7ad157a41609c1fff0cf481b45bc55a23c0c";
+      sha512 = "2ab259b94d008104d5bc74e38f954e3c9e902155aaf9f8049801e72a0aa2e2a525ecf5126df00d2b29384cccd454842dd6e68fa3836ee3de2e5c859b17314f25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/sk/firefox-73.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "f19ddd306e48cf04bd70b008fbbd6827045d332839458126ea16393b04e6b76dc8397ade3bc28f5798ef24f27c9dafb578808f3ede8808609c24a8bc20935448";
+      sha512 = "8000ae7e131498d1cdba331bf4796422b52629bc92da15374a000fb1b866758c3545265077fb2c777e34c0bb823a667fc49731ce692fb0750fcccdc1de966b82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/sl/firefox-73.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "104f68ebf03ca5165ad9fd049beee70658156ae80b62e88e2342e845ddaf5603199d3ad66423a08766fac2ea2db07766e66b9e09b9e480af4cfb08e680d5dfae";
+      sha512 = "743980ecb078bca76915de91c74c258a1812d52a78bb6afb5b018ba827ad68666c336ad8ad52d07d4b503a3b5bae03afd25e3597c5b053474d1a3a74d5cf9c12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/son/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/son/firefox-73.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "4ba381efa38f56c60a7c9afd625514c2b93cd89dfbd3e99968b89b8ae57bc8344f5686f6e7c87d8b21136d8f72e4c61af617152d534b749fe0ee731220b60716";
+      sha512 = "ac8413a2ee264812d470f763162bd585fbf667f2c8e3a53abc634c9fdbe765b0e0258bd71771a7123a493061e697add6a6296ca355cc8d7107baef3b1ee2ed65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sq/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/sq/firefox-73.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "8a3a3b1a8a48e8e681ae7765d8a0e9fce8f87f3e12f4af3fa4fce3dac0ef74524d4a14c1f802233362969237f893e02d22fd44d7e032ce2f45e69abf8a18c738";
+      sha512 = "286fb2ec1009d595e78a8d6057eeeb2ad401dd70f497705e12c518ac898550ab67343d0a00c7a8195a0a23dcef8986e7c7dbdbb959c3cddb132ed56031243102";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/sr/firefox-73.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "6ee469e7a091662d62250f17c7d45810f9db853571185364fd7e9f561dbe6e6582c13c5faad081769a8fd715fcb0230347cf88e642531a1d7e941072a2003990";
+      sha512 = "f4838ba6e2c8a405eba0642f638a217feba3576927c3c25766a47129df140b0e0b8808ff295ddc25bd7d7a94a87e1308ee6b30bdc3dc7c34a8ac2cdf37e68ea1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sv-SE/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/sv-SE/firefox-73.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "5ba63456a302baf31a03f129fbbb820a1142a83b41a44829947ecb1878c1b7723035313844b7ac5e950440ba1feac7f14ca1473b1acc75f4899fb2abe259057a";
+      sha512 = "c9fec171e6b6cff992042352dbdfe3087dc52c24d45989f069e7a343861cf03e20221e17f1e54e33bfaa37b28537287f064909b7c039168143e4979fd2ce92b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ta/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ta/firefox-73.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "b9f59f57c74ce57b80268a139bad81014494e9b2fd173be997c5aab61aaccf28f84d0eb1089c3abcf21fb62dff02b1b8e0176e0f4e3adaddbebc5452d9f9a07c";
+      sha512 = "97508865912f71ef9b3edfad4c2707495fc3f1a5328651cce76a104e884693cdf215d066761ae6fafe2341717e766ad768290fdde3fb0fd4b931bf2cca93b091";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/te/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/te/firefox-73.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "84130d585c0b0e80007c9c1fec4011c44bd087576d1e351bb899893797d4ee8c9f856dbe4b9f8ad37a2aca98dc46c9eb81aef1cc236947b672f7c6a978f28bf3";
+      sha512 = "e16c015f100fb425b4e2ea1b4ffcef4abc392e9ef45cace553c9efd928157afe34471b3257295f69b60bde988c4e1e4624bdb12f8e24a9fd91078e8342f95905";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/th/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/th/firefox-73.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "2a731a0294dd73b113983d70e4c5a779fdfd92a855e635655aec5e2316a32c97812dced18c04820c4332ffca63805af816df5e7a180d9c8108eb63f4339d8578";
+      sha512 = "5b8e98c39273e609b1793c48686b58484cce14d5b128dc6a8022faf2f23fd3f5851e08d69f324763fb2159c7da5330d1985a1ecc58be58793a9de92745cc67a9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/tl/firefox-73.0b2.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "6c5e97fd62a4d57732032e77333c52f55c7f48522d481946262c72aed89c06b1a69e87041f15ace932bb2f57e7b6007826fd12999937d61928feda0eebdee2cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/tr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/tr/firefox-73.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "5e1f639a0807cb403bab8157b3ccc0806d3704e27d2e682ab56bdbfbfa488b71d454dd983f4c9cd1754cd1173ff6e14f097cd2c8db5cc7075a63b94871dfe94c";
+      sha512 = "e2c6bfe8172f65d8b0753d60cb0629214109f405d307e547b468295f2050ecad89da07f15ac3026be06708a07d076bb75d1cc172acbd1b065b2e80f6f2eb15a6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/trs/firefox-73.0b2.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "b5954794d6662f78584a6dc713a89d4839873479def846d1ef42c6c726962d42f42a8f658aeb1b107ab926532fac6b24e96bc5d14554a2f5ad3a714ad6dfe5c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/uk/firefox-73.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "33ec6d4c9ecfeaeaf5659b809faaaf60f24382f2c8918eb4bba81231c12f0c8049bbf766fa3a41a8947e6c745932b4e908f158f6a532c473cbea3c6a833e8d29";
+      sha512 = "481c9df28badb22a59f6fde55ce1c2aeb6b2f2204698ff0ec7ca16b6c9bacaef856f61c7ddd4d6c7d04ee3c15d5d2250ca56288ea7793283a9b7eaf9e6341ff6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ur/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/ur/firefox-73.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "2b06b2b145593f6c3cb74b16553aff15b8d453b3ddfe6a8ccaf2cbfa0beec3274a2b04b10373c5420dc67062c246d484f099ca3dbf1fa94ce0dd6ab6533dc066";
+      sha512 = "6cd9ff5ca3d4058d8bd4053ef8aead82593eea8309b522c61e93847c8c2ba83456ba93b07458db1dd1300fd5870af509d44f49e57938d6ba0b5c422f3f435878";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uz/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/uz/firefox-73.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "86b5066b07f8b80dc86873f2f418a4526e386f65711199008538ae192d9af06cfbcca1132cc95007b44a9ae1afb5a76de7a2c4d971b59177e097b4266e075fdc";
+      sha512 = "5015329b4e0dedc2af64858ad6b575173d1391beebc582583431431cdc05df475d156e52b30abd81be18107e052a3139486f5e79e1c8e9e299e90b099151fcfd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/vi/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/vi/firefox-73.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "c474e765f85a145d4fd0c9410305e56fc8f32c6eb9c0ae139aef48e1b35ed4eda941c92d3030266d38738ea559088ba799db1c937a0fbe3867583beb4825a93c";
+      sha512 = "2ef185beab0e2855f916bd2af12e97434b1ae1c210d06f1f7c47639b2ff744f1743c17356c0af438346f99295fb096c717b99943d5dea1d65d22fc93b3fb2c9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/xh/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/xh/firefox-73.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "2fd1fac92f3bd260949c0851849424fce5ff56989e7c9486ff11702c85514929c49952568ea45d0e2889e806f6ea1556748b475646c90647a92e50716b1250fb";
+      sha512 = "7ccb4f27766660cef3e88bbb6fcff073c55b8ee6a6ff99503a2e73f9cfd1e1b3a94f2d350c9bca2f787c6a2a03d1fc6d454344148220520b4b40f5e32486101f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-CN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/zh-CN/firefox-73.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "b3d7786d3883a99ca1833905ab971aba5a4ed42fec451bd7d5664c329a4deb495afbf00975a7c9935bff42b42c828d830984d389a6b0b728586dec9017e37fe1";
+      sha512 = "fd9dc51cb0c02f4c8b4790e203825ae6f17e25047e198278614d2a8b6826c29e190458f3093755223f6a5b09c22bdec25265e3b31639842fd929d833dd0042dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-TW/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-x86_64/zh-TW/firefox-73.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "67d506a05c404911c3b937dfef3c696ae6d3739b3113ad288b46b9a995028d48ab7c7dfbfa7a735f453698dc1b58864aed7b718f3b81bf42d3e8114180743692";
+      sha512 = "d42805fc1bbfd4f2a4d16e2c42743a4b85bab0e28c63d74393954a23127c10b660ba4ca96c7f2d6fd5c08ffd1e86650c7da286e0c71767d843e93f71c1fd8b8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ach/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ach/firefox-73.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "8115dc00b12319c89463a0c97c3117df8109d68372ce91287bc382238d0f0a6d2795d8540bef5ad5c5215f237bc1b23e4e9f11a63ec8aa32b80e0a501c27f534";
+      sha512 = "adf8e2d2fbae828f4c796260dfe1855ca63d16553a5121428473330d92c59f30b63135169b8a425bbeaa43064c942f39cd0de8ce90bf5c4e93ab4c8ada956f69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/af/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/af/firefox-73.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "1bc5809edf99dea1ecbd942e92879139056e1d5bc83512c84fd110b227c37f76997e1f2d00f4471f03cc00cecfe4e3e2e62af858641539c08c4685a6986baaf8";
+      sha512 = "7978afb08ede31377e1c9fb7948bcb523125161da8fab74ecd00cced4ed668319b8747ea4b1b7a0a3b38ce65f206126f24654ef32431a30a1eb27b45ead1e08f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/an/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/an/firefox-73.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "7a1abe0ba440d50362ec550da3061df3d2e498f94587591cbed920c7348e2da6f8fbd087bd3fcda2462e18722db0b0c2ec129aee8562670af44ecb333b2a912a";
+      sha512 = "cce41c91f5c05955de318280c1471ed7d00c5d69fa6f76eddece326d0bca9f2c6106e3c44e4c67603ed03f1b883350625e95d988b6a6dad315a5c0b42dcf1c22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ar/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ar/firefox-73.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "89adee7c9ce7e74ef7890f3b8ddabea3d6e06c90db695f3d19af64b7c6602f9d80cc2c2c6d2958ffe4909d734507074f658cf4f04701e5ddfa9a9a9d4062e21c";
+      sha512 = "0979b285a8dea587046b43f4734cce5e4d7af29afa12cd70f57d895002ad26e2ad0beab075da97ad6a0b7f10446fed303eaa9def4bc627ec011ba5ff4b3a83e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ast/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ast/firefox-73.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "e20bf6a66f67713cb3225b8f8109c4d44943102d2a37571c3489b02d88d5b677d2465e2bd51783e720e5f31b59ad51a1ba7ba0cde723e942059080e840c63253";
+      sha512 = "f75e39c09838983bddfbe4f67b5d6a71571d316505e7b45340458cd2b47c167d2c661bbe9f6e62b3da9b4e5f1227e0b58ba536846e2a00c519e1a91b89959bf7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/az/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/az/firefox-73.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "30a25fdb3280a740c11f9b3f53f871fcb294e83377fa1f6cfebdf939a73df583d8806470eb62d3174603a29eba599ea5c6d5dcb4106f4afed18a899dc30c1170";
+      sha512 = "0a99a8148d5e16f2ec82f967f8ba368505343bdebc4ea441c9528c5bdf25eb085bcfc098a10dc2a3cf96bff2ded7cb135327d3949ab713a90045769d40ad8d4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/be/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/be/firefox-73.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "485be4d97719bb771e25ec80f84ee94b7ac5741baf4a08a06a02ca54fc915d7c2a54ead25a0abc9d40145cdb7c1a34ccf6a727eab710a29407ab5587f6a0e778";
+      sha512 = "3d84e37524b67e03495d9e17f27cdd1577fb4079117959bdf2dd4ca4a2c9e0cd9c1fe51e195b86df5d41893ebfa00adf81c4481d8e6927833dfde98fc9f5c4af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bg/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/bg/firefox-73.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "14b2380a52cfce2dddc48a8c0cd52ed31d01f3c46728aa866e0d05360f9d078aa7f59ca7bcc33d0ca7beb60c81780d5def46e1b05786164a0123d95b80aa100c";
+      sha512 = "8f58078575c1de5e5c710c9b802ae761f200c3290fc761441c7a9f9c1f541d69c4b19a1ea52b7b0309c8574abf43aa419419b78a8be20ebf185593c37419d2c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/bn/firefox-73.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "1ca9adfd64c8194fcb7014cf48a87e171d5fd667515a972259e9bbd5ae436470a64c2c03a7d672c411bb0644bd962e41f60dd5385a5c04aee1ff7a2f5b847eb8";
+      sha512 = "9df46adf97572c209937cda57014b5aa441d6f586e055e46f8331f3801061b784e609c2e249dc3efc9ede2b00e9d20014af0ffae05fd96655e18aaefad4b7d66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/br/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/br/firefox-73.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "e80b7a6ea23d381b416af92502b74de117eaf406f139705390b756c604b58fb874eab389da7d4adab4a14925b53dec66b768892a12324f2f57979ddf9b3fdff7";
+      sha512 = "bd1be4798b12b71f790ae42843a6b1aec3bef088275b5295f3ab202a5d26a31e67b2aa71279884b771e9f2aeb8c9e6dac55527761b8c788885f30432a60e1f81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bs/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/bs/firefox-73.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "72b3c206cbf559784bd2adccf3a24f85f840e26b4975b3b0a2796ebd5c1ecb2bb00ccf6c1cfd7fedca191fae33f6abbb71d742e00e74aefb7b4314c91c0bf0a1";
+      sha512 = "fbe0c761db5d7cce95c1d76d33d323a02fbe5b76959a6bca5a445d88571ca4d2ede0855a5c06daa16fcaa967afab8009ad66766afa241717ccdcc07017875907";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ca/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ca-valencia/firefox-73.0b2.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "0c5a1930b891ea5f681c6d6538db0941bbdeea07ecb6185971fa9d38c752da5c1c1ee9055cef64174e3febb5748686c2f0babe29a15ff9bd0f49b0e72513298d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ca/firefox-73.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "450f99474c8f86c5af4bdd210be09a6c05d9638aa9efdcabc8a0d636d7965033f4b885fe6a48d22fd50b6144fe461fb0f5aa7870fecbafa9f1b8cc769465099c";
+      sha512 = "b1268753067fab824bc113b411ef2e2bfd9565743711c5bddcf9e86bf3697b0710f056bee03fff66512069cf5ba9c6fccfcc92a7fc834ded2969ec35c4122c8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cak/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/cak/firefox-73.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "dd9396d37038bef1a0dc8b052afce384c83c7aa9ab9992fe6eae879b6721b251bed5c12f7b1599de86658e16829bcee15b411ff8dd40bd8afda29ae5996bb041";
+      sha512 = "48d57f56fa9ca2834ac8355878da89a2eeea219906dae9093d213ade4e3aea65fffe2891ad84ba30bea07ab36d7f40f7bd04348ef37bd61419133f413debf2cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cs/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/cs/firefox-73.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "bb722cbf74437cf3ac9f870fcdfdba191334c3f6970e1ab0b4d0da8257e60cce09d65177a4f81dbbf225e73b03a8616aef4289a27f25440e2526d96a501443b1";
+      sha512 = "6e8adbb7a8490ca5e0333959158cc12b2bedd0702948555c5cadab4b7af52521a0118f901767f9240970aceb66af89301e7c132bc723a703a1fe5b952fec72d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cy/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/cy/firefox-73.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "e6c0f84a810005f2081ef8cd88b94e689caf07c5aa08b4c2f9ca5d5cd071a8e37d1f572c82b262f3e26381a6097c54ab80bfc4a0d09924693937751c7a1d79d8";
+      sha512 = "518a32d58b70a193268717ee071cc896d82fa3af9549bf76cc50eb75300e63d3acb766ca46d4a68208742faace69130d39bceacc711f67740681bc87eb7086e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/da/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/da/firefox-73.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "d209f91aac27c9cc0a075cb51ed4f9d41aaa74a7407892ec45ab2ce8c09e77a725fa6e8287988cd53b0b681be785c04babe13e19e63c25351cc6cedd84156a24";
+      sha512 = "6f72f63f52299eee8c802f83ca2091366b0b820d5dfcdc079eecf366f49ce3508b26271f4cda091c0367ef979412e7a2a9b0824196660579d057dca93d790d57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/de/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/de/firefox-73.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "64b843eed8012fdb91fb6573e2e7e8900e3d3ce2c476a509e1171746261ddd1c15874d539e416d5c0607b34e19b01d56f2d497e4d09c595d29febdf3461094e9";
+      sha512 = "b339dae18b489015c225282798911587e459b5e9bea3146036426f3d5299ceec6761848b70aea4cdd927374c8105f18bbdecd19f5bc2e3543a20a2648c26de52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/dsb/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/dsb/firefox-73.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "27801c40f75cd6824af2f6e583b99396c07baaa66c1aed6bbd7382fa85b7969ebedb6877dc0a979775ae153c4274dcb970401cf5686bf681b3858009eb8059f9";
+      sha512 = "cfe7206e9d8cd8ee88d477eb0cd0c3c5d948fa8343fae548241673dd872a8a4ce5edb80cf36bcca79f87f0e883cd8715cbba494e0cbd998c04dc9c570b589268";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/el/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/el/firefox-73.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "7c4452fc29cd4a2c6516445fcca6c470f9f8ee81ffd600dae225eab8857ec43593f85b182b2e252cd04f3a6279a86dbad71ba0c2e0b723cd6d8c4a354b3cc582";
+      sha512 = "47dd6e9bd0c903cb37b3d15c9cf3fd252e0c8d6f3549c05576a21a0dab577667905fc45673e4d83277eefb68c1b7ac6d7b8b33e378d18371a5344ff0ef819a52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-CA/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/en-CA/firefox-73.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "53e7855ab3575799e96569115cf5882233a31e4af1e15009b85593c7fc086e85b7bdf0148694789b816e8a469665f82cb5f1448aa4cdf160a5f8abc97f92253a";
+      sha512 = "278be4ad1dcc050b5e9d1da5a243d5457f4c2f9ac60addff516539707fa6f1c19f7481b03db4ea19e5dfc8294a0624a0aa9d01f684e9be0a9897bf582b1b75ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-GB/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/en-GB/firefox-73.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "db512b8a4a6a46021e2a24ce0ead90d8f56b9eff756b9b1a6c8cc1290a96eb51d763d96c0475c7636b9ee9a88adde7f3c81eb9366e3eab3448afc60e2a060108";
+      sha512 = "bac1afb3c5f7e83aae8243c85b6fcc63481fd8d1a520aee6747399d13947e836843878d98f11de111e58ceea9b6b8364da69bd00fb89fc1836456eea07ef40c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-US/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/en-US/firefox-73.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "eb6ed30b684c016b947e3354da57b5886b29524b57f4bff4e071fab5d5ae978b94adf0572e74e9e31e15e493098aaba03344b632d0ff71145f90a8e5c7e367d0";
+      sha512 = "e33307bde573b8161129899cc118759380371f181fc13cded623687db34406f8893316fe19303b1ff6209c73fb87b4c3a4be9a925b63bc198eb8294c9c6ea1e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eo/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/eo/firefox-73.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "b2b343ec5448978d9ecefbe1c73c94e8d578d875dffa09fa3739c396c3a09ddef4bebb7bf2f5c12b1bc39fdd3b8e89185c2a514422883d0e8856af854369a501";
+      sha512 = "004457b990fc340bf13f055d71442c91dde14485ee8715e709b769b98d1844d24f6189571e50ba7d691ba149f5788cf0f770c80036951651e73f3bb0c373c5a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-AR/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/es-AR/firefox-73.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "fbcc4138161f11c0c61eadfef889a72aa691bc5b9db961a52cda092b638ad5d2313fb5934bcf2dd035f225971bfe1561acab549da61a7aa885191ca2c3112d7e";
+      sha512 = "0b5aa22d81858bf044782cf3d6639bfbd55dbec0bf34d89616885f35d144369dfa304306c488f9b0a874723b770d3a0327e873e54ac6ca5190461509cffdf7a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-CL/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/es-CL/firefox-73.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "ff8908b2c09877a2c7cbb0842e826c51069234656efc9b7964c2432e3d61154596cd63864a3a6b331fec68ece3118e5cacf9014389806dff8897933d584c537a";
+      sha512 = "7fe521ddcc65a53ba8a0d3c789a513182347e9d2f596003bf7a98f51291f913a93a37821b68cef7c3e3b638cdd1713384090d88ae5cfdf006e3c820f76ad47ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-ES/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/es-ES/firefox-73.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "1546d5d67b1b4c778d137b35189470c1aec01e617c2ea8b52bbd58c636b5e2a262db5a8f02bcfaa45ad1fef499d9c9e135eade38f3daaeab6c456e52458927e7";
+      sha512 = "ad6a4c28f6d52a74c67cd84023c85233c10f57e1112a9ef13887ba20e42f6aeb355633cda7f8957b8631a672ff9a7d0b1f0ee942496b560b760ec71afb9f2558";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-MX/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/es-MX/firefox-73.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "da8809ae2d281547be55b0d3db4c779758ecd5c2b8204f54f732708816fa1d653f593e9e0bb24136213f3d1e94dee6394e47326b74be2401ba59732ff4f8dff9";
+      sha512 = "7738bcf7ec26dde64f2731eec7268faf064e8830e49f0c4ff93516102f464431936d1b957ac44b442309020edf7fd7e2387403e995c519d595c51197727c488a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/et/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/et/firefox-73.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "7d9cdace25276f868e853d7b964d1fcd18b7109d4072db49984d5d00628c9910c99cf494304fc962245f8d551ca9f95a603dbb1cc48f655b724353e869237218";
+      sha512 = "dfba7f1bd5196714fb7431d834a9ff8e50291673e59ade50bafe28a97e2a4a8fdf747554545c99774b969d7504e69425190e271e1baa2832f14a8455d6091691";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eu/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/eu/firefox-73.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "e3f8db0d5be3fbec65d27c3cd4f2272fc5dec401ca19a0fd5bcb7b48a196e81752d2b1c6b72bc94b3294ee09eed58b765790663185973ab34fb7816c38570ce5";
+      sha512 = "b5b38c1b5b0fab731d119ac3b6b58ce92961a3d4097e673c5205bf51de8a82154147deaa58cc8d1812de91a676904fd7aa9a56031936135ea392583a4bce3b8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fa/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/fa/firefox-73.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "5be17588077f86e6766e1c257b73e8b81b2213f3f9079c01539578a6480fd07a90d4129af77f81418b4dca8278c44bdf997b3e0686ed1c2e8e4a5269644d21ec";
+      sha512 = "411ddf46362d62518a524e99ce4a1044a606e0f8b770cf661099a0562cc0c797fe5c7d086df65d07d5f56829bc259f86b62e2c2b1a2ead593076edef3cd93dad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ff/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ff/firefox-73.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "57f543f448b8a4abc99201eeae76b0574841a5c7815d7303844b5cdcb4a5668fa03483d9a2953f9a56bbe175f8f82e94b4aa58d77174e5ca26c8755c25cc6c63";
+      sha512 = "df82f32dfbf318aa1725d1a1a90cbe14149735d7eaf485e5102081652b1364ec26f35f49d0ef5fd65fedc0ce433f25fafb40d55dbacd0e3c11f2ceac36bc175d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fi/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/fi/firefox-73.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "bfb0d7c4a4e4d0633879f79d8ad5a406e7e3d57f80ab1f1eed671ef85ff7065afa826769b868c90b8e90b87dc012016b419eb0a57de344ce51f49bbf61094931";
+      sha512 = "e46a29252140713af73ea97ea38ae47c253e02561517d5249c3ed3652bd2d992c2bcfb0808220c28ffbb797fa2f0c32003715df0dd51bf87f978da0c7c8f83cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/fr/firefox-73.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "b944d8473f8c7a859b738d78140fc6b840ae7798a3a0e8c237bd81f411f87129528ddf68f33da6578547fa768fa1465625dbc4a94f265491722bd4f23a614ce7";
+      sha512 = "3a3450462e6f043997e015a8c2fbb2a93d68d913b3a2225fa30c282dbd060f8aaa1180f548b31f8f3c0b9a0d0ffe3410a94480c05da439e8be7b897fea705ac7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fy-NL/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/fy-NL/firefox-73.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "445018db73c97ffa87377bc78162cbe2f31dae2ffbf47ec9e0bb42001e5a15787fadf4ce2d4027693eaca4edbfcee72a7e3874594d3409384df62c91b118d388";
+      sha512 = "cb442f4c19831de64b3499a4dee7b84f31c28d66542e790dfd721328ad56f200716eb78b7dcc5f4bbd2e26cdb2008a1b9a3ebb860e41a1b7dbf78d8010d37666";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ga-IE/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ga-IE/firefox-73.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "2a6b8f3ecfacea21415daa0dfc8e3797b5c3567e7e7bb9ec933525d2a2e9e51dfd94fa81477878e2bca68f8127e32e387f43ac8ceb0c02622813baa5b17fcf08";
+      sha512 = "30d99ef3a5316cd5bf79bee2e0116ff30290ac541b0fd7d924ffe40141dfd676c780b44f5edbba3126f74045d38c05f36a0400fdb80514d4734731776db3c5c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gd/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/gd/firefox-73.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "474d524fdab0d83bad98e0f05348d8db0f49c11f2e50e7b5221137359e268e37e662440961bb206cb2ee44aee9d07b4565bb8b27a696ae0df89ceff76309820b";
+      sha512 = "376fd40603879c80859ca825cf28a67621c88cbae6b2f4a384192e53b0da398f52e1df1a6a655d7d5607a5efdd787d53b793599e85e4c1395e0bc5a11ec637f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/gl/firefox-73.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "ba2dfaa33b47ce1106496783bde98b1ff7cdb0171262feb8890a6ada29a67c34165b8b7ab58aabb89029d0571a6ff8cc83b14c310270e0e7a725ffb9fd7dccc9";
+      sha512 = "f432edfefda30d3ba92963276377cf1ec921a40b3f395550d0aec42fe1364fb90091977c8db605042f166ec1f5af8bb355458016cc411a98e578864a15e988af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/gn/firefox-73.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "e5f5bf7d20eccc3d860ae2b8c6aed372944f23ed6d7a41774141cf1d67ab40c8bb2cf7e8e5931d37b9951668f03c6ab1271bb57ca7ead9aac52045244fbce93e";
+      sha512 = "572f786359db0fd4f3607f7ab79c371c455a2c743674e8b784377e4e439209c09a147172e5b8e8c31478c9485643e82ee6389e9eb1a90cd61b1109f993021913";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gu-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/gu-IN/firefox-73.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "9ca06aafebb4ae5a65af94c7fd4dc30bb0fb37d6f50a8a8d0b5d3a92cdbfb7a6a5fc609f5f9d93c47cbfd811198e19ab554d47cb7a03db5a9848135660b17f43";
+      sha512 = "3ba6aace62c70a5495a488498e14adb130b05cd1c1b1c823a304520ef95030a218fc4ac1363bfa6534b5270517d7cc93a279bd9e8b61678279e40c048b734c73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/he/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/he/firefox-73.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "ff9331af69d497b9886b7fbfe3954c0149e170973c96d0bd23252e0d9f97964f88f60e8258785337c8143a5abddfaa4da5d1222b27c42e38686ec44c738521a3";
+      sha512 = "d395302663dec706dd21d43ac24c34574168c17b2c3c72dda261fa835069569e8dd095ece9a4d2c83434cad4b422f478935fd488b5f6215727525a7e2f09570c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hi-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/hi-IN/firefox-73.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "d50d6887657b6dd61db4d53c0008e42850000d56a56b53532900cd6384c64d029a7a276386a5b46aa74b05c5597a4782f586b27cb01d34058c124c5bb58faec9";
+      sha512 = "91974648b9a07db383ce7e806e51c27b1fcbf4253cdf26dba281082c0d60ced40e2e04b4794aa462f82cff4a4ce41e174b05c4634203fb5f39d7bcbd3175a373";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/hr/firefox-73.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "d5c5a069cc845544cdc905c9ed3083329b75e367c99accf1986a799a6f69f081565ed0c9e5bfcc6ea9e5c4b606262e60a62be6d4271267094c5aa701f090cdfe";
+      sha512 = "df121115a87fc3d5a47a024d3aeb6758868bda3d882a37bd7779282e6bf8c4170a945d5af7243aa41bf02af07683ea8e2159c933cfb6424cfce4e7b9b5f7f8c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hsb/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/hsb/firefox-73.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "9b2b8198bfad4f9f1bd5808c2d696abb1473230afa20e42e216c6616821a98cdb6bea6b92efdc8280892e04a0c1b6a967adb9c69fdee9f9c1bfb4f6fd4d17da4";
+      sha512 = "8afa767bd78aa6cf818af93f4b77cbd9e3980c47b2959e445c7e206146f639a8034bee0340e2dc27c70e6a85f9b2bab6adf4b1817fedb859bb5ad10df48b961f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hu/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/hu/firefox-73.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "bb189556077d8490596acf9433146923ac6a68e26d804fd6946a0af1b247342f5140693d777b9dcda41972ad2ca6773b362381ffb9fecb58826c0353511065e2";
+      sha512 = "6871c713ef78261820f54c8bb43ab469d39a68d3f5ec4e521167fb70c0f9eb76cfecfa7679e1f92ba6698c5c20fa9bf6280864a308151924ca6bc4efb5af9d1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hy-AM/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/hy-AM/firefox-73.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "a295c182fb7bb80d21e551156e8e1d77327311274e22eca16f4640e833a4db21597e3e4b5f64e2d39dc40bca387497ea78e2fa198b760062a33b1cae86c6405a";
+      sha512 = "a277a0f8238946cbeb1b9b9f5169f05bf55145aaa9c85ba15a6534d5a1aaf1c28dbecc6c6dc131c777294b08383ff9cd88ef8f181e5cd908669dcb2e96a4d64c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ia/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ia/firefox-73.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "9a5f01f6164751f0ed8cd34e9d792fa889a5a7ea9eefcc3e8afba20ed419da984db0983126122c8cc7770f0b34bdf1c39695632f737aa83281b01f8f713b43df";
+      sha512 = "7776d8eefd8e947b3682c00027d2a2ce5f48365cb5dcc87e88f882943718901bc8ff3c88abce1ad8fefc8f5d504baab05f393186426b04e3a3caad44f6b8604c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/id/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/id/firefox-73.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "3073f0b719b1b4d71eb07b9f1a62f51176377579cdd8cdb1c8ec0876fc820289db29cb13f049058d0efcb955c15a3c377c4496c458b4b3fe438dcbdaa9d6fc07";
+      sha512 = "1d5a7910f3b55ca071cd5d0026cbbfc6d992209ff56a2c04ddbabb946214259968189ebadac6b38beb6c1f34a099668801b141e3884adff55709ca0b65d12fb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/is/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/is/firefox-73.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "15a8593945e4cafbbd4a1b274c652fb121cdbf567031f6919e84767df65eb4f4e42d411b4799b8e5299d6215dd3f1cfef5104c9197c1ff1feb68f89e0bcfa2b2";
+      sha512 = "e0c7e6ade6be176163570b373ce2f2b24bdeaeea2eea49c70b2d1e991e6871d9b93c1ba141de7cb9cf3ac4fe2c6f1fb7b6e1a6d2ed1801b9bf7f73cb046e4fde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/it/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/it/firefox-73.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "55c688602fb41d39cf4e33f96b57ff98d466623ca80281564ea6a4384b1985d29436f7288f56e969151d9873cece10422abf753b262b5ac6e283731397e53e91";
+      sha512 = "63504175d04ea54bbc5ccf1825d0d8e63fa6f8ac83c21a9581426a1eeaf4819a49f7a26cb4c3858247f53a0e66cf3ef6735f98312bff4d0fb98993b17838ae23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ja/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ja/firefox-73.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "f350eca93c6110e8a258802be4ff1cb8b07e819f2fe3b24e912f296c4e18cafed279ad5ad8eb093f3bd7945b0c9cf5466d673e5b4ae342a3b2d0e418e5e6c86c";
+      sha512 = "1097726ca8dac536fe0118d3a265df88c7456c2c25aa43e4afbdb01b414a5df6f2fd11ba692f43ddae3fa6f7d28286bcaad4322c82396c7399cd168b9e402e61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ka/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ka/firefox-73.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "ce392f476b5eb00620c2170cda585e4cf73416a5d564446e65e39e0deea538825f3d91e91e5624c353b163983efd0bf844baa9a52e3e308d9e232d83f9167d0a";
+      sha512 = "0cc755e43a5f182bcf723da7ef1631952916233f84639251483e37b73abfd9d775d08c22a75fb60e74cfff58e820c7faf8db46a28702bd42569307c72f292b80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kab/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/kab/firefox-73.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "ffab6510cd2b68b0b4b57ae1ec727e391a0330cf44c9c1f9fb8bd1385c8dc86f1de5dcc5712b0f0dfa5e25920eadd6561501579ee5d15ade22fce747ba88b988";
+      sha512 = "f933b42c7ef80035a019bd942e0debb65f0182ecd93e6bbf79019627d3a7577f7fd26323c7bb26c974b33ec16647908adbb20ecc7561531f76f23fdef1ef75f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/kk/firefox-73.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "f9aa18138713b9b704c8d0d3fd8a5d2c5f802d3b23b7ad89d7f18eb885b9efeee53b94117bf7492a4fe83be19b5052d5ec6fd8f203d96f7988e5cb1eb524f496";
+      sha512 = "da8c4a28bccc2d4feaae2f5eaba43cab783fd3430f8f4466ee9d823d9dc3d97c182368828724d0d7f38119242ae0007386f04d0daeedcd288a38fc27c728eedc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/km/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/km/firefox-73.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "1f0a4ba8942210a0ffbee2ec09f79d628638f58e26bc83d175d0b95ccb43636c976fba556720b39b42c37ac2fe67bd52c28f0a2f672706d967d09a26c3e446f0";
+      sha512 = "ac35dd212033750b3dc35e5a2214781c3bfe0bb6afea376521a7a4d607a4b9dace1aeb4ecf2c4c0c8f5ab6bb49261719d0b4e760dbd93848caac9e90609672db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kn/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/kn/firefox-73.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "c23fc4fc298f88f4aee69680156d95fc98fc311630586d5a2a964c8fb74f2b56483e0b4267b90b1a3f37815ecb379e6583e7c801e57a94236d35e0e68f68bcda";
+      sha512 = "3b56d42ce9fa87a8a4fffde8e70f9dacc47212d3853ace9e594d2cfcdbd03e630b81933d500bcbb02270f4c80e2cae7710698de938adca4452b2ad525863f965";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ko/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ko/firefox-73.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "4dc91ea327d7c69b68bb065eae6ef812ca01c32dcc22048867e43130b15a15edeac505bbf859d96185f90fb3958c74fb0c3e8bbb58c4a0d7856837f864163d7a";
+      sha512 = "5387935b0127df5b19dc0529bca9435f14d05e5870ee03848d0d9fbc13763c8ae4c181134b081d4131e67c652bc2afcc5c54e504ee5232679e0b2c825103e1dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lij/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/lij/firefox-73.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "3588c1b35428dde09cc0262d3730407ed4bcf821b28556f7b05fb60250eac006e12ef8a929327a80429bab195632f9f40771467e572dd6821c646338d3c7d862";
+      sha512 = "d4bad5e6a988cfbfd8de4fc834cad836e413f572e30e954c5711aaeb3816aef62c4411cd0c5a79b0c5ce19405ea2cd2d4c4603993ee2d4e48af7329afbd9341f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lt/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/lt/firefox-73.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "972bfbd93200dc87a6f9cb246b30f301c8db216dc9067bf40f42cbd73ee5795cbb276ade5ba44a6e3df2239d481ea305f4499fe88f42a0f7d0071f84dc2fc9f9";
+      sha512 = "140f65faeea5e226c474b4d6e62d02b16f132f8328c6bdc6c3b6f1ff7333f77f093222c11cfaebd1453537c2a89f91cbe2797d892f0ed438d102f2a1cbf38a43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lv/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/lv/firefox-73.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "c7a0a65c0649059cf35b394b033b965b3d708531f6a8414d5fead08f2b5e5fd907c903c23e22e9bf5cdc78255e0215dfe34ce45ee96fc619fbca87fe086ed32b";
+      sha512 = "21e71c6bfcbe5374c0826485a914db71a71fb7c38f022cc78a953267c168626631fbb5270032500973b25f53c568ef5f355db0d2a34e179d809ebe5b5fa6e6a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/mk/firefox-73.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "677e6238580a561fa86dbe1ba8d293aec4d51ee96adea11871e169e1d6ed0c1de29a6a44c374c87aaf93b00178719f142b44821d3f2f866cd43308f7ddc95784";
+      sha512 = "3853af01d8b0931b0e9b00e2c30b38fd48c92e4ee3227a4036a99e9d55295deed68bf9ad14aa2edd997be166f5f7a5099826863ab6a9b643bcc27293582ab4bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/mr/firefox-73.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "1457c464363505e787367bad9b90e6396da7e5d0840618cbd02c1996985fc42af4279ad9f53b6f0014c9f0296f1912ca5bf7832794048e69cf5a7d5b89ffe811";
+      sha512 = "7ad9e2552008f6b6a3436453c479b55e1ecf7144f9f5d3fb8211bc7fc5f15412d0aa4dd07e0cd24c83834d325fdbf289e3795c4e03e02bf63e179fc466fc6360";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ms/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ms/firefox-73.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "54d0c0a9a17534891267a3dd89682a1ca24dfa42e13c0a68ca67ac800c210f77a1b504d2ea0e16293df31ac716dac2e646fddd6eb4a5996e6cfc9fb578391cf2";
+      sha512 = "26d510bf79c4a0cded72f5b227b4ae1b31afa0c2e2ae71e29e6c72f557c4968b8462abee358931c4c220a81d2ea3044a2e49f8c603841df3df0b601ecb3ef91b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/my/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/my/firefox-73.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "21a851362356c568d93a24e7038ff30c376d712d0ba52d9eb51ad325d43e6a36f3565b48385b54bd90f846d03b626e96e002264d10741005403ab6d30364feb1";
+      sha512 = "325506dc7ee5c0c93078c919daa10efa39f43a703abacb10f6a7d3bdd8b878a4ad8f931233b4f6eec9228a426c9792716bffc9ccbd49c5f37124b134b8658d50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nb-NO/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/nb-NO/firefox-73.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "d625f65dfe643608689b2d7858f06b3e1b06636249be516a76798bfa728827592a543e5e61279c7b8a5e8a0c07a17510232bccc98fa8fdac3f98806b94582db3";
+      sha512 = "510e08f98258ac4b0b7c39e7f00e1bc046b7b8b0cab3f6cb36f102e6df51c8c25224bfb1b4f9699f9828313f1afae0c40863d4733c0965ff99c8fce59c53f905";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ne-NP/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ne-NP/firefox-73.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "5d85049a3d8f11b164d091cd7925d456e54db63fb93883e42306b1bde48c502e3ffab120c4f9d05de688086ab94470d4eed827f24689cb1872cdaeca6bef7233";
+      sha512 = "d5257909d2fb47ef1dfc3d407a9b371448aaf090bcfdfbf38f4a92337cc006723eb04e4a2f14f56111df7805f50d202ce600f737b4888460d0c4db4c8eca83bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/nl/firefox-73.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "9716bbc5c5faa1ae284b7182f0473823d265993dc43c4ee59d6c6c17ada6cf7d898dda64cc7647ff65f46984aaf1658a5a3e2c50361d5a731ba6b82844d7b432";
+      sha512 = "8a7c6ce306299ae530481c26b4ee5a57969a6892b7abb1950dc774e07cdc0c9f0c306474866f181336ffa05ca3960a7997454e57fcaa2d84799d1ccdf95b8407";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nn-NO/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/nn-NO/firefox-73.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f227cb22ea4d15bdd4b20f2096f70d985cb3d9e174e464462c718a0bc6f533bc0c5bb098dacdb1a8ecc6fb07acd22f5dcd365e266208f75423677eb2bdf4ad65";
+      sha512 = "bb857e173932a172ffa7a42ac6f9fcb3de383664adc20b99e5ba0e743a09072831e24c3916b04b840d83c242d8c1a46081abd38ab5349a6871d61b053309f3ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/oc/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/oc/firefox-73.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "0e116e00a58d1086093e321a188c2c060f9dce3374cb7152d753064e170eca302c0698cda110ed12a4e41b669c242e3865165bfafc4463d1ce583d0854e16075";
+      sha512 = "f5792406be24960e68368fbd363488829e5f63a4313b52bbd42ffd6a68f2d7a8bb838c80e150cd87d7a6d0299b0dc7ed6dca3ad5a5fd32934b452f00d64212b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pa-IN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/pa-IN/firefox-73.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "9966030d3fdb5da3e2f943078294615d64fb019ca67e8fb335693580bd100f6f10ad760b50f7d26c68098a3080e87359dcb1c22ab657c43c23fc2cef3738eb26";
+      sha512 = "3c34408c3d7937135e624c130347dcc3b47f75a78024c000cb58a15b1d2f37eb748e4c4ab1e63c3ab164e13a399686583fce69a4b74daddcefc349d79c67f121";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/pl/firefox-73.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "ffb5a5cffab404ca1685f925580c47eba975d7a26af1ef31f05cf8f1e0ea72d130042f9b11e69427a2ab8b86fe47e279040af95a18869bad0465869c43a988bc";
+      sha512 = "f897afe9be7918a3ac39db33c8862e06185128212c4411b4767e2806b57e735be485b9242971d6aa9804c1fa469e46bb2d42b78be002c341222cfc3ed37c198c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-BR/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/pt-BR/firefox-73.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "14956079e61152b99696ab29a92b57a3671519c4f58111999587ab796dd8e7d6805828e8d14a59bad28218c136f282ef052e56daf024ca3923ead95d7eab0af9";
+      sha512 = "a23e60f918c6508e05b49fa1a50f0f3c7280a6b9983f40165f632957736a8a8ccbd9b301ffa7c4e08ca42077507fe12b105d1f0b428e0e6f3b7e04c598342821";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-PT/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/pt-PT/firefox-73.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "cd5fef4336203fdfbd8af89a3cc17a01e88ddd4fd670c3b778b1fe228325dd35fc64ea6d0c85681cc1bbb51c588b53972c85746d9ac0c860b3143ec93a344361";
+      sha512 = "24216a8b229c35f9a0aa39411bbcde6f765279f2c7abe5c817f9b1704a9102e8a97f4f0ebe0901dbe68a28ca07be63eef1b694d511c335a46b9d0edb74b8e03a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/rm/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/rm/firefox-73.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "33d608066859460da6a50012fad5a76eb78bc4a3f8565dac1753b80b86755432340c6e9b5e13c319c24d89547fd32567ad99853ef7f954aebda9b15e2eddd064";
+      sha512 = "ef9823b863ef69115fdba5f9a3f17f3d50ae0dbb8eadc74569d27fc5beb6637a18374bd3ee151df74bef96825c708df708db62b791d8dfdf4cfe069b936060ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ro/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ro/firefox-73.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "18bb7599738aff68f75dac1a6cd87e6a3a4a326ab64e9bf36f28d3e4890340c07e93b938d77ee4432548c5880b79862d9c472e283f638aa9e2d977ba8f54f686";
+      sha512 = "b32e2d66f225a9b12941c9359e8319a33d652beda0cb3d6ddf6fc8c4d0adfab1b967014814923271c0194303d93587f500b74e352b8f0ecb5781e80182d4aef2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ru/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ru/firefox-73.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "c1a0c7b717740167f9906a2bec1d81dca2754c7a10f2139bee269bcad6b9d563f5ddd25d05bcc7a0621b910366853aa43663bc6d711fc1fc3b53e407dcbf9805";
+      sha512 = "8edcf2c1ed391de63e0b6d74c6e94fd1088ab8f8e6f8433c94779cff0ce20150c46e71d48b657cfec1112ad3b123a39da794ec38088d5990757c53807b483cf3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/si/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/si/firefox-73.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "e807ae18343102df9030189f6e067062421a64f1fbfa9dd0d9e5590e727c049ae849dff2fb581a2f4de892fed21144a792535df188dd08c190c24dd1a58dfbe1";
+      sha512 = "0ba714e6c9ce5198e1608767a9d4ab70bf3de3f766c213bddbf1c7e5114b8dd5e6599b153c0547926b58529b67cb0892285691b2cee5adabb8b237edeeab17f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/sk/firefox-73.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "35f1206c717f5475f4af6ac74bab0b691b21789457496c1226d6ace5d4d0f8f88e2c3467c6a01eae49c013b972e07f12b577be6543219b1a274340639799b2a9";
+      sha512 = "47b7ea379904c6425dfb584465938e853bf54194d0228e5c65b695fde4a0d53b952086f3f93df89be620e6ae3333de63a0fb15398fc6a5f93bf8671c6ee14f63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sl/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/sl/firefox-73.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "d665b46a8e6569e8e0e41411e647d3a27b172cbde22e3d9157a5610dfe559d6648adcd65418c45256d8fb9f56022ebf8d3eabadd9b8414f32565c421bd74e371";
+      sha512 = "e949ace722d148362a990c51f4c335c01df675cff49d68dc9a41fa1db8ee98f1c200101b2ad4934fba10564dfdac2fa586c0be568c19aa1691544f90fc841674";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/son/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/son/firefox-73.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "e0b22c18364e4394cf982f2cac370bff79c5440a949d5e69ef753bdcab05688b591f3d54e2721507c502f05a094436fcb219c8fa4be33462ffc7fd5090506944";
+      sha512 = "3ccd1c37f7320e28a84f05ab5ce7da01be567eb3f5951aab214df658b23990b0e8442eb20bc8cad9ed58ae70685ad7d0cde37fc7c8047097db86b23b44ecac09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sq/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/sq/firefox-73.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "75050296533af930bc1fa4602246b9d6db0aa48d1fce9a53212fc11041a331236fa88f70d8179c9961f09810d06df297d9dcfce791357e8c7db956c160019f67";
+      sha512 = "3775220d5847efdd802c97f26cae513fc3900753e9f1bb7169eec1e47bf3fca57b4b4be85b3c419b4a428e601d1c97700c77a69318ac264267eba3a45f35e102";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/sr/firefox-73.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "ceb21bac8b36872c7ec47053846e20376884678e7017632164026f0b6a8cc56416cfc4c693229964e287381739d5018836da20f8e5d636aa9607c80567a0c36a";
+      sha512 = "9892aae7376314b586e7d2e888b5b8bcf7f8f934c91d493209a34c7059f521c06037704dad830909306cf7745cde6d4684499371f5369b924f4d326192bae160";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sv-SE/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/sv-SE/firefox-73.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "a92b5d28645dd601dd5f8d4892d210bdc284ca5ef6023f3e6660d6519fd8fdf1212e757f31048522009021f00716a1faa3da6e818b3f39ac4b96d68564aabe8a";
+      sha512 = "c0b2a327b45d0a0ca31e33e22a070100495c215bb4f095e3d1f1ea4a6a32b5400fb5aea30cac18e9ff9c8f879bcd533c0002eb824ecfa1917c317a8610f3c2fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ta/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ta/firefox-73.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "4935baa87058d2c2f87bc4e320d7fb1329c2380c93a72834783d5884e3e374a5b9f80b66fe1824b9d7003ba41b2f10648d8d257c34f71314de0ae9959233637e";
+      sha512 = "b72b0e4cde98f9dd0245b727efcf34a01d1561314b7e609f96e531f55118e357cb78f7ca340036f8a613fcfeb88d6517a3e33ede010473ad52943ed766a6037a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/te/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/te/firefox-73.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "5aef655c7d736d5c4cb91a6ba7c0fff7c9adee6dfd96b57f5c1f968d258fd7707a1b1ef0fabc049f2902085afd55455d016d9a786e94ef836e6a6379f33bb577";
+      sha512 = "48275d13325f22939ec806c68f63f03e243ff1fc6b28102e2dc85dcb38d761d55330cef7b732ceea6d9632e7ec40db2d7861fcec7ee518623702da01873a8d9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/th/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/th/firefox-73.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "1bec6b20ae731e982a4be6aac81bbfad2d27add2fc1339401807fb41af36a27391499677355f0737a9230466e27f34bd5e97f4b3697decd56ffe854b932900a5";
+      sha512 = "bb6f530f5cf9ec84c9185b16ead438482d729bd152c111072ab950b70fc8cabeac95409e097930529deb31fcebb1a0b1a3a827574dc4e6c98005119a3c2568bd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/tl/firefox-73.0b2.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "cc5d116983830444acb57b99e2f6049fd396cfea7aada57983885a2d545148bbf9d33352fa110fa1448e81f15ba9141bcf4201bd20ed3778d7b9acfc5ddc50a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/tr/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/tr/firefox-73.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "ccb0537f3cc85331037070761e4b450bdb07215d024052d3b946b96deb89ae30333c3b90e25100bca6cc58efc2f0f5b864daf6b353dbe7655e71106b7d5c0784";
+      sha512 = "5d849a133844f8d09f2fd0c903c46a02bd2d0670177b8776711ddaf4d85dade71379d0dcb22b99566301355261ddecb2dbcdb344bb624c9333a2024213fee429";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/trs/firefox-73.0b2.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "eba7e46b423445b6d39f618175b67f2145e737044384fca1e92e20fc4d2ff849b9bc6b674af918c3255b35f5cd270cf1fbb64f0b1c794facac74fabad6c90ebc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uk/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/uk/firefox-73.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "a3490dd08645d2bc21a0a7176b1e9ba2da47b4d2a5ef45472715dd6905eb1cb1956849fdd006a4d370c0e58744e126fb1902d4997c7280fff256885becb39877";
+      sha512 = "c8239acbdca6246f56f709f178010d08ead92280392f35c96686e7f9217f49bc1447482637dfbd5a93e8c421da93dfb1d40d0d0de24f8959707047029245acc6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ur/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/ur/firefox-73.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "a021c72eb298bce45097ed0d2c9aa2ade86b06668bb0d22e1832b600ef15691680b9836598467ae40d20203bf07246ed85485d0f2b3d145452725544d62b033b";
+      sha512 = "e154aa305554ee29aff8b176727bfec49c860058951287b5c8063ea90adefa361ed7175c07726d681376d50dc2311e872e704f19e349a6125eaff01eeaf228e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uz/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/uz/firefox-73.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "ee54245bbc0845e680f5b02a2b217f2e253daa99e531fbf721a0f9dc03e68fe77371665bf2db7aad94748ad5c641bb93c7e3bf43f6e3f4e53b7ec91306d69f7b";
+      sha512 = "057c7577af0c11e7ee26992b17d31f8cf33014c3c8290a33541576b6c86b41de93d54c9e905f4aa3ba0d12afbde741a5b7b45a1514ffd8e19c36b012becea3fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/vi/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/vi/firefox-73.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "e14901e594346298a43cf9b7cf70be1cd26e6f19415fd11c09e5ac8eca7a43fb07d7b4f4e238f4b13e986e1a9e37f23d73e456990403f2983a9939b8bec455b5";
+      sha512 = "38c9787aa863827210cb97b5dab8aaaba7a84935ac314ba9e1c0e40721fe290f9bde23c51a37c9c7e5ffb1b0262faed22242bfab9bd7081aebba14b6a7eb4405";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/xh/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/xh/firefox-73.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "a256c23d0c478dec86c5a3413c7e64c61e7e4a519c5e1a343b457481543529354d588b07f1b0ea37450c2d3d317145796401c05988ed6d35f545612d6c5f87f6";
+      sha512 = "77516a3bd2685841fd162b45ee4f23f6dd47d433080059455fc8543f71e6de3d6eb655381c694d930efed38381f4112b089b835f9c29aff401e1c90720f11f99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-CN/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/zh-CN/firefox-73.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "a10aa5ef7b4fb6e4e3ac64a7d25c2d329eb42a0e5e0f680d786c9215d1f536a9daecbe5df31fb8484eed1471ccf89a596a5d2f97ae9875686b6f394f2a3c25ae";
+      sha512 = "e307ab6caa0f6a7529fb7900d0e3d3ac79bf0f0ad3d86e928b52abdddc5e754cb235caab531fb06d350779b40ef5617a6bda67c2a23ff8a7bfab79bbd50eadda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-TW/firefox-69.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/73.0b2/linux-i686/zh-TW/firefox-73.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "790725d0674be5ee347dbef3c2f0ac0d017cd972ae32dd318767535a4006432c5d56ef2e13a602f705fb177476ee120a5327dfa3625b6966a9fed8bb04f50c04";
+      sha512 = "55be1023238a12f4901b701590bb041f31482668995ec18af9c5aaa2efd464d2cc4557e3d43ebe6f2295468193e69fce9ced405feac27ff6940af1c31ced15c3";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 537a30c01a2e..c9dbe6ba4b96 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index a9ca0a5fe06b..bd5c2cd595ff 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "70.0b2";
+  version = "73.0b2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ach/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ach/firefox-73.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "cf64b9cd170d5a1bf1765ed07df197a3d0c7411b5281c89a0d2adfb3d9c404ed9fd2c8c021fe93971b846d7ebfdcfdf08f3a5703e156d6dbab61619f53d6d415";
+      sha512 = "635122516342c6a6e94600d80ef86fe452c38d855df54d8e6006a97287267c25db8b9c899384fee6ed999c1ba077557d95f5fe0b0c5bbbb9ea2797c74bd5af82";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/af/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/af/firefox-73.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "e2815831dc99e0373541a56a38fa936a97d93a07a2dd7f789f5e4cc45860ce3c1b70bbbe709d35534364586af5b0dc626a4ba36dc8881244f98665a80ba57764";
+      sha512 = "29791295b3aeb04dc8dd60365ad725c2733556235f20d68e90032376edddb64ea91bede00a2ca89cb1db19a02fee266ef7ca8fa8e188a09726ef6c9d56112c0f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/an/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/an/firefox-73.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "d7cc4b7a1d7fabe186ae10a9bbd5d746415178dc3d17255e2278c1b5a9a7170403cdd153668b94220ea68be387b0c7b3365c8d460bfe53f7b381e7f3da12948e";
+      sha512 = "d77b3d0043bb5a09e0d9dd3a14c06368279ef73c5a2b85656354832c522181d01d8fbe56349fa2b0482df5b49406318ee5f4ee32df88eb412d661c9310ae3083";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ar/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ar/firefox-73.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "8fb79f3636682c83dcf42b143892148fddb06eefca4c5eb72f5ed703b821dc2bfab7a167a58992d83202866dc07bfa09eee876cc567586791440afea676efbbe";
+      sha512 = "d29dc6ffdd5411f60126bed7266d74e150afc432b736b7c41d14cdc69df5ccf313f555bd5035db94d4f4721fad0d757eb53f01f602f3f97eee75bfe7aafad901";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ast/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ast/firefox-73.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "468bcff942edfc8ba843f6f5a4b42aeb2b606186701d6a371565c4803664591037fe44bd026fca790ff8b8bb036619862ec51f04af63acfbf393fe8ac677907f";
+      sha512 = "1e04df48e65b0b654f7b89293981b258a8de20852e7cef7bb541f9475647c870224a63a64d96eb778d715d5f8cb5b327ac0ee1a3ec537b221adef30c06030f73";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/az/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/az/firefox-73.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "983f8d78364c1479a252806f912d015e791e8073bc7848c0bebb28c7a39d6ab08bac2bd9e4a7f1c1cb68b8d2894eaa927541a78836717066491b450c0b34671c";
+      sha512 = "3949ac1ef210bbb593b9ffc237dcaeb0d1220c728ee65bea1eebee8fa450cba3186f31880794cd11bc26331f8188c4df4c440a2f19cf9cddbd4aacf6a034b468";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/be/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/be/firefox-73.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "dd31f1d7d3f6fe10f9dba54475512016be4b26bf59ca0ce55932b23cbc29954bd80e95fb1e29f2ec695e8f16d0b0145ed0d160f1964fe40ffe079a3833ee8090";
+      sha512 = "cd9014015dc801211e9f033500213d253032c68e74280cdb5c983640b7a41bf36d12f0a4301c5744a1cfc505cebf2be592fd5943451da66a3423e7df62fa7fd3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bg/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/bg/firefox-73.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "d08edb6750464805ef379b18008d5f3a76a649ee4d6528b4ebd255ab89205756e2c9978bd9a27f56a607117186d434fa2df49ef4494bf5bd4f1f8e2eed10b30a";
+      sha512 = "aec5f5c4e8258734def07ee3d2cd434ec1a948e58d4fc1419f57f38a1cc267b460197f2af79df6942b823181045d3b44460905e1175e2984169e4db93c84948d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/bn/firefox-73.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "a3c200e13d6b20a7fcdba2524501d936a183213f590213727facd9271867ca3d5ac0c59831b88e92a424b3b154bb9cfc66dfd8908ee28fe6a4ed15146944eb7a";
+      sha512 = "efeae6dce9918ef269a21c8203ab86016f04fa38364b90080ddf7907c830f93e537285639acf4e868f73175c489742a725e451ce8d9129c60ff6694f73f110ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/br/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/br/firefox-73.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "235ca44c123dc8034541637b8cf5b7d7d3e361300639033dcae361bfcedd41360a5761486c990e7328e479b3073b5f68f01bd38228170c352f993c0bee4757c0";
+      sha512 = "b256fac7e6cbbf41ccb3baa69b660efbd34cce95ca1fa01bbcb0474ab963ff089bbe478e3bbf4f66eb1f36942560f0d77448524c9a836d3685ef4709593b389f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/bs/firefox-73.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "2b2202f8397edd25f871d0e9b7e2535be98559bcd84080b8418460f7f1e558cb779f1588e94d87e8e713639cb3bde3efa8de7baf2e2f36bf387d965bffb9552d";
+      sha512 = "bf40a25c2afa88ee9e0a161e362e958549c008baa6a298f663d5da530679a62406b22632b59b821b6939df25d409d40722f02c05c0a780aa3e4c6e329e515d4d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ca/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ca-valencia/firefox-73.0b2.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "b74684646621bab8116b0f14a8392b12e6a268f0e333af2a67af67be1a41bce90c06bb24e20f481800407acc3dc6e13c1dcc6023e25541a1f85a4fa578ecca3b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ca/firefox-73.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "23b7af96430ff5202529e5bbfc5d359d8cb9419b54a8e7dff6b1c828ccd1cd3ca686ed062a29f7e8ee8201ae1a2bbce7032a0f3f0cfc63168fbf0b49c52a9391";
+      sha512 = "984df57bb31685a55670fd00eafef0ee35346d81bf283d1b1ef01a431d8da332b07c0e89f6fe2f1a02550e0d63f0f51c9c60fdd57cc33ddcc1f2be9942e496cd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cak/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/cak/firefox-73.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "beda7fd930fbcf0985711917ea4b78a94042072a8cdd325079f3568bfcf2456efa0666efa4f869430cbfde34091b9d7d101edb94fde0a0c6942f61ee9c8a4fc1";
+      sha512 = "7d7e4d39738728397d02d26926295b19493cad3bfd30596d477be1cc1f02d0496a4b19d7fb741361cfd01feeb32c3783791bebd4628ec83cb99f12f8a9554951";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/cs/firefox-73.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "1b47c85b7b5125ba416e18345c7247b85f29e4136d56333da14d8f2c3ebb7b9f81bd0332f6031b36e68e21d851f9390e171f75305bfbe0f46dd0b7c995e0b2aa";
+      sha512 = "9de93ae204b910d5c67cbf7b8658e06c09a12d2badbc40e64ba011d986ed144657ee49f75ff27014d7fc0c09f03de6df10762ca816f34872fff84ac53d6783ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cy/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/cy/firefox-73.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "071d30f74d13311693dbf3b4c1a111d12e53aaeb8d6207f8628f7a45acfcf797a722a5196086fc7b6c12545a8a177868a5669542f0535a4223df155867ec6b30";
+      sha512 = "145bf6b1e36015e4b5931335c862daf758378be251f161a7c3fa6aaba72df63802adf876dd8aa65cc61c12aec2c281f9cd8c70763fe9e3f47e50b4429647d29e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/da/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/da/firefox-73.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "3640a0a07c512e60e4119a683ac44cc596dc2a187d7f04a4b087540ca5deaba1c220403e398edf4c36247e92eef73de252d597ec082a7bc6e6c77e7ea799fef4";
+      sha512 = "5984ac55a4b840dcaa60a03e49be16e24786ec6d918f66f3d3ff90c510978b4fb484aede3d597c0646026aa85e4d2905daefae02780cb83b1cf39ff72c204051";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/de/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/de/firefox-73.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "58538f8a9a0d6e97d49c005f45dc1b1842c07a6923a556d98aa13b4c979502a329adaf7b1782522e02a770945ef3809dc68138e73736593fa5ed5d07a1c9e265";
+      sha512 = "ecc7c1e0eead238d8d2e9cd40a282fbf39d0713b712d4d1ec9683f2859c134b55f2abfd0ce8249b1f329898e1cedca58561b68813aec018dfb10df160652fe12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/dsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/dsb/firefox-73.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "8a0ca47fdc85672c18bf883929eef9fa56b2b3b79e584c415c76f3005a55cca944700d27ca23b2ac2051c7c130b42b3551dcd1c05ec7a347ce6463ceecbb0748";
+      sha512 = "1ed8ad5655cd8bcfc3de7c5a79ffc7b1c885ce423ded158770ebe5b49a1730e49b7d48a87f8e71842be5b667fe975b302f739a2b4690e9ded5ab599df9713944";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/el/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/el/firefox-73.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "c29d7b350fcfc7b6b76b02ef8677a21800d786e709b5e1b886532f74c8c11696da0fbf2adf6b22fd8c5edb6ab312516a2535ce3185ca5334cff9d79974a4f5ce";
+      sha512 = "b08611679c4148c0964832f8f96f49c0ccd7f37ee2cc441d652a7534087144c13fbfc61e4e710c53d4a00a4ccf264208c35579bad55adda4a612ad965245df78";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-CA/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/en-CA/firefox-73.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "d04571c4f4b4bfec7f8a0eb2ee2ed9e9f91c415609106a97ddde7122bddb8f8a25685e4bc6c2eed5ccbad2111bc3e9db6e3ee27c422cc1813a8bb1941cd04af1";
+      sha512 = "278d43e1d83f1e43b5ce461c7a3cf1e6a50eafe4f1ec6b587837820dada13e06fc5bc9eeb5a42a1e34ac086b5cc2d03a28bcd73328ac3f65c315cd39e97015e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-GB/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/en-GB/firefox-73.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "c1f39142888d46884a51b892f232f6cb78309d65a6ba342a45d4bc6f3448ae90bbfd77d44f0e1611948a66a63bcb6d0f0e76f2c6f5fc3083d58b12b6df7cd2ee";
+      sha512 = "15b14dc1f043e28983c9f7270d49d1d34b5bd4c309d6e100f6c6cc34b2fe24c5473280bc03957fbd8e1eca4535b13d9249d0557b7fd1a3ee1759e3df2d2b76a6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-US/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/en-US/firefox-73.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "1b0eb7dd1995822cf30aa85749741c1bdea6cc98b4eaeb1d11fd94b56d2138a177428734169355257a165350cf21b72141386d6fcbca606e9d3bc11f292563de";
+      sha512 = "21c3b4c2b0eddd56f92a5d708fb2d39082aeff554fe185689662c44bcbc21db7a425b2866f0037aa617b880ad92b9790b5f3a1eb5ea22cdc5d589b0b50d6d99d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eo/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/eo/firefox-73.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "e03f025948a463007708099a6e19abbd5a3e272eb03e053c6dc7ef156b1e4e83d68ae02bcce8f19fca1409e96e07f88a36537e08dcd73f1f289cd64a57b3aafa";
+      sha512 = "d350c139bad0f649e31e56e5b16c9796874fec25a0a859e3f4a6cd3dee2fc8f60ebaf382104c3e44f970d8174a05e3a26998c7d2d57e4caf440496ae72cbc9ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-AR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/es-AR/firefox-73.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "f48d98ebd744d4915ffb6f0cfaec981b8177b0f74297224555bfbfa7390dbec29eae93f4dd3ba51bd84dbeb71a4c60519414f2a4c3d75b7c96b59610e30e5f9e";
+      sha512 = "50635d8d9689c0afb5b93ffce5151216f6dd7427a01ecc3fc593c9f1874e809ef9f555589b3b85fca1c73a553181b392259066dc3866fb37902500191e638fff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-CL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/es-CL/firefox-73.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "f593020ba37d0ce81a194772d1acc2f528ed826b009e034e17d3119e482b0df9e8dd518dd597687e566d30e2a736d89850e3cd2487d7c723e242a12f69962b45";
+      sha512 = "acc1e4c8f9edd91379faf483384aae5c3e1ae5aab335f6e5bc68b4405ea209174598d1b5be9dd9c60f4fa85ad715ff34c23b20d59b979ac92ef9059b3bea268c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-ES/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/es-ES/firefox-73.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "081641bedfa1f4831641aa0029f8ec34db6f4965f9aff2c5344b779387dd887c2cb371908778d6cef6ccaa0448c98513b300244dab30f36f68776506f840b43c";
+      sha512 = "8efdf14be0cb5c25d12dd70db18321662879b7dbda1e92eac9e0bd8b8dce8176f4334c52d8c8b8c0c5939fb07141063d73838b313236d404a484a8c537b9e1d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-MX/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/es-MX/firefox-73.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "fe58f3745c1b0009e065979cb6ca451f377d837b0a41062e0ab04d435cc935d931d6e8200521850ce3161aed6f9583a67df14d0cab5853e491b1a433909947d6";
+      sha512 = "e7979706020a50e8864a87fceb30d72da20289de8358a0c977d7d081835dd4f6d84d6fe2fd6271bc4e73344b49039d5687e01a202b1071b157af6d82d2146b9c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/et/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/et/firefox-73.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "2d1bfa94424af6f6ae08e11c99e83749408e9be1ac7face25d392c0475df978666706fd694b76558d824d226a50fa5f1eb8da52fd4ff3a1bb615bc83986ecba0";
+      sha512 = "461dd2166f8cd46bbf13114339eceea8eecf047d38318ed6f3a651c451b94bb68145289837862a68db95efa1c10ea211ef34d35c55128ac288b9f9e82750d86b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/eu/firefox-73.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "7a192de6d021fdbca6764906284b4490653705147c56b9709e83c7fc087916197c954ac1cc19cff3da78220d572492800ea5773d3e03cfac6ee75d5e6d8ae85b";
+      sha512 = "ba3be0b8114a8da2362802ac1be367d25c644d9228e633429ca13defb41055cb6528a2d803ee1ccfcec2f81496f95db49adb0b71de7692cddb29752cd9f16ba9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fa/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/fa/firefox-73.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "427af8a45ae42e31ced616daf2d5e418e745bf43f87dd4858c983746dda1d52e1b909db542e9822c39019b13d1b47196c7041040f8c56e9f0712d7fbfba8b935";
+      sha512 = "e9090ebea574da446ae98f4bdcf1c13c4a30d562a630c2b697b98573638d280c90fd48b3abdce05a5140a517b924ac9afd1c7667d999971da09e611bc126d601";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ff/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ff/firefox-73.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "8a0627bff20eec56a7fbf6be6131bc004c12fd3033ceebe365a1367dccaf773c7c4f8592ee9a313a01943ec962ec010932d3f0fea7a94576372bb8fb735c90bc";
+      sha512 = "b2a9a747f3441a302df9e15013b720e8c16204231cd498315dfbba4c73748d7eaff7c6f2970fdc7b622bac73bcd33660e894d98791cfba1e2ea05ef9460a1d1b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/fi/firefox-73.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "b86da9c7cfb2edab970d91b098c5ae3da60f83a9b772033d8a8a0a4db27afe62f5db600a17a883561733f1939bb95342273b4c5c7e004870c4eabb08648b822c";
+      sha512 = "01e22f4492676590b89f3572bea5010161c6d701ce2bbe0b7f42343b96318b572593a495cd33ba423782d8fb00ed4dbf5d06ddb40c1d4037c0cdd4dc559935f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/fr/firefox-73.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "54ad1fe9eaff331246817e2033adf54d5267e991ee016f96edc21b5c322a46103f72a5662df06da313a840aedd04f677340573e57b55a9a1fa611af3ead97e0b";
+      sha512 = "b9addd90f7e609b465352f8200d411abb79a557b81c561fb1b2c735e765fa50556e6267af25271dd990e7cb875e0c772af566d956970a1cf97dbc8efc3228412";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fy-NL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/fy-NL/firefox-73.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "c13363513a633def5c2fdfcdd0327b201f5d6d04d0dcd698f614799ac88424d19612eacfc6325b11808617a3cdc3f92e5903d84cdd56fa68212cb1b2babb9a03";
+      sha512 = "30b1094f5efba65709f40a9465d57d6f1f79ecdd42862c33e3ccf713efc4f45412de595f7f6a9966653dc4293753bb93572686182ab60429a4c972679c009ed9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ga-IE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ga-IE/firefox-73.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "23644670ee388362801cc4ca62fc6bf370d479821e0811ab493405ff3c8fce538ece89184c9d4f020c8a5089d3f7addd1d4fe298b55199dfe12f73408a988314";
+      sha512 = "50af2ae7f44bc660134cda8b750eecc1d058addc98b9a0c192ed3043b8e326f7b472d33688c1c9d3ed96a84e0a4e520e90b1984149291e8ee9e5a9533491ed1b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gd/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/gd/firefox-73.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "967d24fee05d35aaf27be6ebbd3d31112126ee04bb750d3f17a2bd6a1abeab5ec7ee43235a26de5f19e5979c6d295e74ffec9f1bbf6fa32564f50986487b0455";
+      sha512 = "a690dbe5cda0e281fd1e027d38dce93be4f441d8b7846e24ce9eb4c1572c9b2391265cae1d3e0172454d9960bc21c9a31a43848345a2f7170e7a1422af55b67e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/gl/firefox-73.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "9976dfcfbf3d93df9c06a4328bc73ed5e1a3b922a8a616cd3c298d5955964ffda4e4fb96e85a23cb9c950602959e11d86f3d58840d475e5c6f5232992da13184";
+      sha512 = "42bbafb82784aafa3cf336c7643d93a0581717390555e94d725cd98121fe75b3ee817e6d53fe357fc1f7f279be4d388b30fc409837654d01e0066efa0a4f8160";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/gn/firefox-73.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "155eee867cf421717c5c6720c2926318dfd7e3900bd42bbadf6947d291c3afa7b6d81610d53052700f32338e9fd4dd66ffc240ceabd5e6c6b6a3d5a18462b923";
+      sha512 = "b24a4dbb15051ece9da333c4ded8bb4e909a8655e00ab3a1a3fe86c7fa68646d99a21ae0711a86705df6288eb92b7af059512c9dda602dadcbbf846c46475c33";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gu-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/gu-IN/firefox-73.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "82c58161e908a2dcbd10f8192aa9c89e220a5ef250d5b5037f483a415105946fad0527b0bb6ef3ea78b6b6a785064f116e17bcac7b2f45a1f0676e689f030677";
+      sha512 = "c857da5209acd8c8fec5798fe9ea82e144563d7f1517d6140c29cef66e40cc667017004594b6bb724c3d6b3b6dd7a98599ec0515260ad70fb12047a05466c6c4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/he/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/he/firefox-73.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "c6f8f8c144d6acdbf65a733627a7b977ae0b1aea7020356ad8e8e3d1cecc568c015d5e3a523df00bc94262b1ba7460f22de6d06421119407914c3e3856b91736";
+      sha512 = "16e674e7f2c99c272f924fa43773553893aec23d8ad312b1d175670f37522ad340b3a4b97440b7f3006f6ff1b186897545c252bb55d3ccbb74f4e01994747146";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hi-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/hi-IN/firefox-73.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "3ab7baf8b0609aa76cc3e72daa5bb0aab1feb6e4957ab032cb0011b575ac4f5f41689466a6ea10717c14065c463c6469967848a22a76bf9e03e53e9b3aaef6b9";
+      sha512 = "057979ea03d9d39b2b2a1c8bd65b0def0374efb171c7eddce54bb02d9b4e92fc07811dffe58c234e1461fc85a9c39971a3b6d00f06ec1e53ce38b825db4aacc1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/hr/firefox-73.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "50be7cb19abc57bb3d3810bed8786c1ba8f4aa3f4c2d4d6ec6347b1cd263c724c6f138d2f95e579010c3dd893b432dfac169f964e78585601211de2b4144c02d";
+      sha512 = "92b16b74eef2c34846fe62b020a398e433b95d45689ba51181933920f91b76bdd9bde145eca60c1a6f3ae1393dc637445099e6a20cb1cc61f07371a6d496a135";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/hsb/firefox-73.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "cdbf552caa9d85ca5cd2501a98c7270eefbc4ad31db3cfc8399dc5e2d7dd7344feb71b1fd7bc6023e74dd10963668f004c4c7a74f518cc849539d9f780081c52";
+      sha512 = "b2d72f3878306a7fb9aaf7a6325fd952580c064e23cc1a28de2ec64812fa6ef18126f2288d68c929e0863432595a7f6c03c312379b7324941d2116f9551ce457";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/hu/firefox-73.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "731cbc3fa44e815fb9e437f863eb218accd37a009e136a653947a5571440dd839f025b724c160ef3076f87285f51503a1a9020f470076a71dd246caed8f66237";
+      sha512 = "3236bdabd9d0d00113a2d1c76733d8ad36a8df51f20ba313cf0164a58f11e21f856120adb6203ce18b6798ecf7f2125950b3a3a77050bb40f3c2803f55aa7f01";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hy-AM/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/hy-AM/firefox-73.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "0be8245de7830aec18132d8a36d9eb48528070b09d87cfcd8dff78b0d26d79dbd2cecd94bf5088158253849c2690201e38766cf85719126d232932384c7dbff0";
+      sha512 = "6c8e13f928dbe9defe954463eb2c4f341429ef66554bea6974c87fe7dada2ea124f4c0215a9d6f78a4f275456c330a7b181c6b6ba6a9d33779454b48226c02b7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ia/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ia/firefox-73.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "09fea9073150d0b6464d0769317c94d397eefcbd1577b73bee9601fe3babe12b7533730383a56629c2470e39628f11f0d0fef36a41f3212865b2643ca2f00add";
+      sha512 = "4b69cf3c7e4692698c03e60078f297df997850c9c7e5e44f4f3d3d174d410823e325f6b9439430d49fe7ecdf9f7fcd0c8a4828c303d13dc27295afaac0b878e0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/id/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/id/firefox-73.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "94b0340e3cd930ba39520ad28198a108bff9ffe40e8e1de77bc783bcd211d7cb5017b2c894d212a7a024ceb69c681f76bf513a38a3cd40aa6f846afcff32b3a4";
+      sha512 = "771694f6a896ff8ce8ce994ae2c85312296a7ac663fad75865f6235321b1df0d0792769566e378a396d6dcbc754bdc0a1ebdebe1a61035518d0cd1ecbebbe3c8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/is/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/is/firefox-73.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "68fb812f36082a9bcc41416a0ddc704c69ecd0e5d958d16c1171c7be27097342a57980692b1000fd13c1de893404fab0d150ce675e0bc4efa96e06748d392754";
+      sha512 = "227026642bdd275cc1d985f2c8043c29afc3c3eac203de51c15b6a6fb86ef54ea693b8588bbaa34552c834a264f4e410c2b543fe017115a7031e617ee6ef139a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/it/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/it/firefox-73.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "e02f944ca83b869785b92a40a5e13f088275cffe26084f85f5d866ce5f9b0d0234e7a9fb5907e4f97663fb00091005ca73142d14f99465c3a8b1888aaa5784de";
+      sha512 = "ab5cb050d540afc90f98b2d86e20eee4bb0f3d5ed2bd4ed5bb366935155bfb74349648ce78c68d5c829d6554c6ddd1040eaa33115e857dff37fb2ee403292373";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ja/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ja/firefox-73.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "83611da83e6cf95dbbb3dea3586ac3fc5ab9e770a75a55e3868543c9f43fe481f5e6775dd45eb1cbeda06bb60619fe7867af64c7c8c2efc862e7f23fdd0d0ac1";
+      sha512 = "8bce95825aad807dedd304971a9984f4ef70325425c2fe3830f852eb3d1b10fa3a5aa5cbe107c4c5b7ca904e6e24c62bf55999cd3e52fea9e00fd67d92e0066f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ka/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ka/firefox-73.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "94683999f9bf4ccb13dcce3f993291e5568a3a4f107bccae6f8b95a2d05c8e68a62e9d24ba9c60264c17a027f1848e82cce6fd143994e69e2000688bc61df543";
+      sha512 = "6c42abc1f5e97493f161c5dc5e319a7718ff4bf9bbb724276b70911b1e813185f4265c6596e8a38141abce820a028c13c2d1bdc94e7b509c007150279fb9e563";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kab/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/kab/firefox-73.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "fd1bdb8ff2df2e8c18ab7d13b1e07b128291b410607571426dce5054e8e6b221eadedce560c5e16d65ca2917910df02f74d6573323f7a26375f1ffcba080f22e";
+      sha512 = "324712e569981ab2b6e58c71d0d7136b099d0af6a9a8caf41191f44267044708f0e2139e1826595d7f772405d3e79938212bd4c3590d331d0bcce2f21899ad85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/kk/firefox-73.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3c53e12ccf2698778d579c09a26a522a038c4510d7af8fc9accbdbcb2c9013e12e243b88c03e7075ea76258abf2d234fe0ff7a06538f6d8e0f363ca3887617ed";
+      sha512 = "c343e2fd02f2152e0642fc616c91e6b2dad1501483abc0f6f878838f7d3dbfec42c51120297f9d39d6d5a668fcb8b1260889d008e1fd8c1d384c63c523a37697";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/km/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/km/firefox-73.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "2d3bab56eed0ef36ee41b11071dc2ee0407c675421fb23fe095ac81ecc492813bac115d03b3e832c33b03fb2df89b37a6153a388b44e540d48af93234cd41888";
+      sha512 = "ab51e99d7fe5ab230ade6015b356976e3e3eef4c9fc8224acbb6a88f3be6ad5ab5b8eafb97e9b258979a771f28b033e846cda1cce1ce58fc2805f0b32af0e6a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/kn/firefox-73.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "b4dbb60f0aeaa203483a8c7c79afa9a9e8214b032507c0754b4320eabc40a39fc0a242709779faa38affc2e570dbfd70e1843d712c361ed9a3c52dca17b72eb9";
+      sha512 = "33b306cb378aa2baeb8afb5bfc2c6fe0ff20abac0515de8057ee747c979ed8c2fbf128f2c199eaf4aea90c7a28aa4fc848ea83839b42383c729c04876295ba87";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ko/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ko/firefox-73.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "9c3e9876dc6363282cb302a65c3cf82bb14fb022e3f125fdad2e554d70501ef2b275826c4dcf064119463ceb93e6f0b8dab8c273364d1331d6ba5244eb0119c0";
+      sha512 = "d48dee07c5fcf3c6b3b82a59059836d5fb45b21c56194b094de3f01daf49e194294600c5dee93c318cbd0ba740fe49a623d60593fe9155767932f278c5cf0b32";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lij/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/lij/firefox-73.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "689c0b271e7efd6c45de879d573cd5fed31d1ee2445849ac3442559f11d33a500fe70e861b54b288cb84ed42434071f9da79db2c1c8f7460ebd53445079439ae";
+      sha512 = "ab80587c20097c3f5ccfe91661f76b9893a4b8498e8b4fc6040fcddf99aeaaf44d7e3f2c46e31421f54c574d9c678431d3a73f29443fb45aaa465fb7e75c55bd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lt/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/lt/firefox-73.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "92ba0cf69d128848f2fc4dd86171ed7e4eb56c6dcf868d3918c7fbf41bb76305839f410567bb1ee7bf4ff114b858127dfb0320f2672560cb38141c88b601070e";
+      sha512 = "97770f69feae1c1003f53e2dfb18b240547f808b72736cd073098a62d0e3165a4a29087277990b905432ab52f5a1cfe5630beb9daf16612ad33df00d0ad7f9a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lv/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/lv/firefox-73.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "54587e5040c387431e94b4739a9e34020d7dce1777195122d513175b71ecdb44663c416fa648ed648cbf4f6279b7fcecbf819f6fc3a61155698f0dcff5f42212";
+      sha512 = "798c5a3c7165a0cc503af3f4d8744625bf73f6f5ad873cd37c9b1068c7e7e769b30f222db041e96877ed6375731d0f199468d3fbd30322a299e8a5450c55a4a9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/mk/firefox-73.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "b7943903f7bd3783e5c3776d35125b19ed88e87f6449f25a5b26dead87407d0180cb21b67c89971d3e975d454098d22706c74a33d21c2888a90a0af9ef7b601a";
+      sha512 = "74b59ace7bff5728348e8cadc85409e72ef90f60285f61deb92527996f24c34398ad3a3f5c99a9366bc0a0d5a38a020ebe7c865047cfefee65c3d8e6b0d547a8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/mr/firefox-73.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "07e742844231a1dc7a09a268501934c63caaa482ed7117d1a498c66b6f5c1d559e3b0d59cac06b9c3d358add59a13912af1dd11a6c2cf72d5cca97b68ecd1c32";
+      sha512 = "416545c7b787832dbd653790e56be685bf47eff307766c83c31e221eac0745140ba71c160d3e4eb95ad3a0dc5930161ccc0b6d54797ebe076151c26bd0579fe2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ms/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ms/firefox-73.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "c649789abaac00c55ed415bdbd9c28185c56795754324517f5044cd753aedc004482501537c67c42afa616ddb5890a4ec992379fa30a28b8a492a0e559a73f95";
+      sha512 = "8f05521707e0b04f0d1aa0a28084540a0a1dd65d33e6b8bc1038473ebd701da3cba6ee390531fa1c1c168529841002f6c44681864e121ff56317d646363813da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/my/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/my/firefox-73.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "06049a7770f621a9a72b5e563b485b81caad533410db23558679100f7a422fa1cf2a85233cc1bfd5d5b9c1705f8299544b4cbb4f52de3c73cf33bbe64cf845bd";
+      sha512 = "3ff9d270b5bc76037b80a47070ffe1d3e2d5c9548a9f82612ffef886e46e81d27c0114a51e65cd67bbaf2aeb6d724afd5b0d26abedfd278f193e0ac31e31dab3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nb-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/nb-NO/firefox-73.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "5f80bdb4a310d46cf5b3b36567964f444c75c92e19b5ae5cab81847b2b601f04ee3d43a2325b8bd6d7ed3422f146e90612785b25f982bbf95a86057344ae35dd";
+      sha512 = "f8c9f5e3c0b21c2eea84ed9ad200439e94fd10edd66de2c0a6c1c95eeb88ddaca7220f8591e29e342dec11197fb16d0dd9e9fb314caa31b92d748216ca7b4e44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ne-NP/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ne-NP/firefox-73.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "f35496c71aa7efbab365e80050ef218fd4bad1e8c015bb97df65aa0e4f16613b531d40bbcf4739aa462077026259ea6f1d7ac71b10e51e04e75d120dcbab3ca1";
+      sha512 = "de1a661bbe2b19fa39133c9c59ab6dc203f39f9d33feab4c0e24a7c8400b0245d0932ffea54a49d0d4add5570f9e72d5a37b055d6b3ba485a1a3f746db9b5946";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/nl/firefox-73.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "21327076b9196d799a40d28f1fea66f59944bbb0757fde66aba2b0f8b929a0d45a01bb0901c4b6eff4e0e5f7f033a44d2dac83c94494b7f95003c3dd620f1ce4";
+      sha512 = "78f50b286b9d9a16cc6c984904a69447d8905ce831ebd7e76cc4a2338681373b5a03e8034df38f1f3f893d7656164e4eb8be07167c9aaf1f109ef876ebca0c6c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nn-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/nn-NO/firefox-73.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "dc444e5546d1985d0ee4bbe2394e9e51131b46b9e41dae54c1402a9b08aa7de4a7d73fb57bd677af151420e71073ac398d28f4ae324b4e6e3028f01fdb98bd76";
+      sha512 = "b3fe5a63f493ae8fd67b4705a9975dbf32ba73ae74c54881707c6801e779134e40f8646deb6d5008efb9f730e707e007f829976c3693141d527074806abc5584";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/oc/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/oc/firefox-73.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "0c0fbf38f078c0fc4ae38112611f164808c7b9fbc4e3ef7d57e622e918f5c581915095d5bf7c92cc0ef9beb67cb04ba9b1ae1e011b7c8f91f23a79a326481931";
+      sha512 = "cb36c1aea15d36c93e0c7fff425294afdbef700ffc11541cdab02368668b743a129345084bf7db764f4704d6d9661297faba7ca700a3ab681a2ebf014eea6f7b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pa-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/pa-IN/firefox-73.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "b9f07313118ddfd5147866045e047f9ae7cefa0116d86aaf7f5dbaa2a64bf14f7a56bb748e115945d04aeb1dc4572d54b3d122c1e775062ee1de366c710726d8";
+      sha512 = "bdb7be064ba9ec1fd0664ded529b14fdeca91e823e1a48768b59bf849fbc9a60fa9699e7e92c66acf8eb754700073b109ee64320797047a9887465e9efd9b7bc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/pl/firefox-73.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "bd1e920304e1bb7bf6cf198c5537f1b106b1484b7ecf683e1424d208b736d2a3ab40c7e885a385611ba6f033a2ae4fb00cf6113810a20dd8808a34ceb11c7b38";
+      sha512 = "d3fdf2112d5752f8a7445d0b9e6201228b90a85233c0314e7f19c0f87535f1680720392eced3e9ebbfedea9a4f3482b1e098c5eb9a4e95b9adbcc96f1b0a3aaa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-BR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/pt-BR/firefox-73.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "e1bb5ca89ea0b60cb2997b9dba3fdb25e90914899f38a51d4506cb9bbd3d61f33d32ec3a9d2d79857d339f107134a021e0253b6a54916b48b6aaa5ef4aa08638";
+      sha512 = "809e2a5f1839b28fc0667958c915d933b4ef2256ffec8520bf863c1714d575ef54d90c2bf23b97b3cdad668e8dddbc30585dfb1a3940832ffb6672990e225f2a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-PT/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/pt-PT/firefox-73.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "622bab9fe052fcfcdeb4d12b6b8773ed08e14dcf51fdecad24a638811a2f25c1a1efa13d7aa45dcdf06726eb366ee78c4abc7d22016303a9048df9af314c14bf";
+      sha512 = "97045af947534561ef72412d59932a2a777e9d5afd6439a73de34cc39ccb9f394b4bffb131d9c4ba8f0dae8ae0308291292df15333fe5ce1d5cba013021c7c54";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/rm/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/rm/firefox-73.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "b02769fd926eebc180eab8f3ab9aab7d2a8d78d81f51116ef156865c74b60ac76ec75656455557dcfda2323c3dbbb438f8979de64309851f5b77c01175fc4b24";
+      sha512 = "d0eda89dd90463c4d3af4b9ae946dbe72695fb3c76bce4756ed24991726935e917d2484132826e03858b53d85b7b694292b4ebe5ac1c0dfbb9dd8e9c453410c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ro/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ro/firefox-73.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "572204e2a2a6d7535ce36ba9479f1fd634069a1fd9799eac6a3e5dcf02133859f4574ab7dc36018be88e53ab5a8bafb561e5994d013c0b9da7c9ea467183bb81";
+      sha512 = "305495a3b2440d29f23b22f97039fb57d1f5501852f533c03066e6c367e6dd51aa869155e4b0bac5c1ea3fd23754cae434b5f8190b6db0d3e686b777124f1076";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ru/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ru/firefox-73.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "42a99586fa8d07827a597c83fdfc746beea7504e800037efe0e82b65868dcb0e1ba6dd2aa401dbe64a30879d521215d180bb39906ad332d9e362405036da48ef";
+      sha512 = "f4d87e9609a5c1028beec87a6cca52908dfdd1db56fca1808245d73665186209abde26c16b5c41d1dcb7e0eeef65231e6eb62388601f42e24de69ffa1cd4fab0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/si/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/si/firefox-73.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "288b629c23e7bd61b64b3f5947a93753ca780906b537d1f97892424c7ea9f890008370f5ce44e74062196558e9a088856236c98031996f5d9b40b454827fb1cd";
+      sha512 = "948865b6e79b167539796a75c465b1b1b6ff8721ac95adf6e8e7716d41baf90bbe5d7eb9a5900928936263b67be973e77660758361a8cf2c05cf2d120118d488";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/sk/firefox-73.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "47b295382b39a040171ad46268da5005173a1206a3ea26c7dd8138d287ded24740f031456dccd2fdd72266691aa2d893ffc93211ebff2759666a643e3e448915";
+      sha512 = "034763795af1763f6b26cc1103288b4fa34e19eda0b78e01a220aad9279f774ddeac58cb8ac60886b9d78d611305fc32a7f390cb9b7f93239a462fd41a566ba7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/sl/firefox-73.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "fec91027bc619c7a6d0092db4493e40ab31311191117e1cbb39bac33450c9f8705356405b6ee38b52201ba39e4da8141505759f891c7e6ae3d8d22f9ae29a629";
+      sha512 = "ee7d2038ab0469e257db37f9a1190f5b77df2b04d32cc631dea9d0f76c36a2ce14c9687f6f3e4e5279418bc8c16694ca197fc739abc534de4435e9b5b8273841";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/son/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/son/firefox-73.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "8a1eff23ddf4391e77947519a5178724ba9393370669bc05764b971bdd930ca8ef9ede4cb0ba60c50daa2214d4212c6159f7379e16ec9a5c538ad8d7d39f0ff4";
+      sha512 = "fb4befe20f46bac34ef87694c092e7f2edd58a3a54545db329fba1b49e9a9f69af11ec144bc55ece5852e9dcbf9565fc5c385ff37d99c8a988baa98391ff2c39";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sq/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/sq/firefox-73.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3811b809979c87996b8db041cef14b7987331067dffcedcedebf36b9b9569c70088a38a624361b25ea5dde2af6005fbbe5add558cde41d5cfed7687a2bd96847";
+      sha512 = "180ba1b6140fb29bfce8c2a3811104050ab70883f58a4e286f5a08412247935b8d288810381fb0c246940752660c037388fd38f35ded52201b094b1307148019";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/sr/firefox-73.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "fbbc294a2f387e6ac44e4edc1a9b9a384d3677abdb6717e550f774d731037d0a7ce8036f25229efbacff75423e9a185423d2a39ac951c77ae62653097bc9ce26";
+      sha512 = "33cf786a57d0507cc9c10a2fd8042767b072ba9e42001a35e5934018a2b849a531165ae8d2e2a6c430414d7ddf3c5363fd9ec222b3a50428ce6570ed03f9b678";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sv-SE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/sv-SE/firefox-73.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "0fbe4d264e97ce88bda435f7c8da09e589407030945b51b68004b5df2c0994bbe294a87b7a18a2e03a8d1de05cccbe2f23ecc59dbd1945c28b80c75e0ba45c1c";
+      sha512 = "c3639c89d604ea2ec0e0f3000edb0e292de42644d0d77b93e10a42f1895c20e69d3997762e0234843fe6ba7a487cfb70c7fcf0b8f1dac0a862d631e2734ecdd4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ta/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ta/firefox-73.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "57b86a405d32d9ca991c995316d51fc6f9363dcdbba2d0d1d601f302afaf863911e035d30ad67751210b4e3c726b3734b62b63b7dab6cc2f69a172bd8c62493e";
+      sha512 = "7bba0bb69fd1721ef1931a3abb47d4e30aabef574c9d03c63c326349f5b8871eb89ca2b7915666a371b82b2c169075e0f966d60673abe65ea9e57cf95dea0b85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/te/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/te/firefox-73.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "54ac916b2352b545ac8f5a9ccea2cc1ea5b3e267dadec7bcb06c3db7406f4dc5f7479a0f2c3954e9e19d093fed849df50b45c51d69753626149757633039a4b5";
+      sha512 = "daf3b0d74e0f5979867c5bcf0660c8945eeddd98c39caf5c128556fd813368d6f31e249c71086e250c858907da676ca36a9d6fdcab4d4d33aeed89ec872a1063";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/th/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/th/firefox-73.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "95ea774a8266d51054e7af4db09503963641981c8db332c8119e61c3d6349234aae202cc3e9726449454440f10f8ead17e4d6c682f261410937f7355cb7668b6";
+      sha512 = "98427d651b0bca789aab3017382e02b89760e1999ad8954a12192eaec7a6f9c926c4a3008709c9b7dcd336a3c60252c4aa940ab53afe04dcc99b7354dda56414";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/tl/firefox-73.0b2.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "120a8fe2a10d9ff59c9335d9a03f9e1cd9dd6615b33357b3be45fb250353bcdc3e9236c0d4eaa8662bd01059b52c658bb1bc0ae264106393e8ec003ada7403e9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/tr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/tr/firefox-73.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "44b70293b353fed9b8435de36178ef6ee3fea108ad4ee129a1631eb32714c06aa23d58064746cd62a0f407b1f0557da38bc749c3113f3ba1d1b5d049eaac126f";
+      sha512 = "d2e849ff6f72d36fde0edc7b4ad4b1ee88a78cb7325dc917a1f268ee4137c8b37fee948322735ac7226767f605022418114763331207fe004a20ab603d519bcb";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/trs/firefox-73.0b2.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "80d2406e23dfd63b589dd37b082617c05665b870e02dd19bd3eb2e80e7d7b57250149c7b90e3601a043dca5eeeaf257fde452138c50e97d34c83650128f29f5b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/uk/firefox-73.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "ec6beef8f0b068b7c301a4a1a0c769b66ed5af08414d5306549b9b077592b06a2eafc175ecb097b9ab5033dad15344e52588506685222c14f73411a5fb9faeba";
+      sha512 = "ed14817aac214d646490abdb364ddf4d101a114550f6ea6b28317b470115e77be5f22d90e7328c2af20f258d563741cf8fe405f7756a180f68cabaf6568d1dd7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ur/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/ur/firefox-73.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "d1efd485f869b6555672d80057dfecdf7775cd45bde0711ad90dcdac8ffab4b46bf04e9350a0aa7629d9939c953f434e75b6aa458cc835e6cd06efcc7fa1bccf";
+      sha512 = "45b676e56ae0b221bc0a34cc1bac067d87a6f772d4fc6ac7aa05dfb3d8e3d3466f91158e91ae7a216804ced667968c66892aa9ea966cc9b3e90e95030212f745";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uz/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/uz/firefox-73.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "b7cae3888e2bc4a7b31a0b7313b7476799b16055f7af8e4016083da8a71f40f523f9963d79f53bd6a96c1bffe2fe2d34d62518bdbd9ad137fe17f4c175fd0f06";
+      sha512 = "73612fcd59e8b3f85076756ea9b16519bab6c5d01b1b8167c708f8317f0d2e2f7100ea88949521c1e963b8329602a34ee8ed0d4203d58c27582acae81b2f3f93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/vi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/vi/firefox-73.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "aa4aa778e35e72122fd857c736c226d62e5f6ec73f1075500728e90f9c2ddaf9c0e6033d1785b4102918a6db32a744617552769c29cedde655e9a3f0b173a4e3";
+      sha512 = "49a6080aff2a14c7ed7b41e6153eb1324791a4a9052dcabfc3347458d1087f418f4fdaf29d31d18ff571f569f9959277c83776c7fe0f96ecdde50b1807f01568";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/xh/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/xh/firefox-73.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "41619782aca727c09262de57a128fdc7936cd4b3ace84565cf687a006bd462a3218682c56693efbb233df221c66b2b545cd701b025d6b3a5308b132ff87b35a4";
+      sha512 = "918ed1dc54dec5e135f146602163410d73b681b1dd30388d2b7bc3beb1801b1753651d9eb29a431889965cb0a41a77594083c7bdafcae84dc809bf33613454d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-CN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/zh-CN/firefox-73.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "befc922f6256bd8416758c4fcae972e939e645a752a97863ac0b432310605cbe46dea4c713d4ed86189a9f4094131fdbffec10b4d771b061335baeb180b75ea7";
+      sha512 = "a4de972355647c1f6eb3a72eb01b81b68aac21131d652c4efcaf47039579f02d5e232e515051f5a217b6a650d657092d6bb831acb7bf2adc6b66a14ead29d29e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-TW/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-x86_64/zh-TW/firefox-73.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "3bd89f88ca805e3b19edacb97efcbf50ffb2f4b3baf67c1d64d9c475922c6ca5ace13e07de292f95efc0f78bd1b0fe9e9e9198288c3d874263c7be6175291eb0";
+      sha512 = "893e7b5334538ea26af2466096f886917913de874505a1a3f70b3c6bcda098c09bde0fccd4b439e98f980fcb74240f36fa82a96667b3284abd35a5de9e5c5806";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ach/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ach/firefox-73.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "800146462c9bdef3a5cc021995ec558ba02fa1b5310973286d1360327aaa9967430d1432775c44c21dfcde6b06d39f9b7b7568661734f70f1452e78071ee440b";
+      sha512 = "ca585114e01a994b0e01b366686334cf9b3d7f92cf3f0cc3162b8ff4381fad0fcb1d44041c82b10ad2cbac33240649a7612006d132fb5322c19094fe42699f97";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/af/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/af/firefox-73.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "61b65cbb84523e3cf98e59847d07ec5766b2db3d5fd27c4633add006d428aed40c77f100dd87ab222b29d95bfa4cd7e2f7fc8ebae2fb4712935f51546939dbac";
+      sha512 = "d81e711663f375e5f2cec36d26b331bacce5500776aeb2dd1c40c3b37e258c0f20ee79a42e2f16525e4edec1b3077ad46ad54d1929e352df43151f10c3b943c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/an/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/an/firefox-73.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "f9808793e9657622de595b529fb6341c13ded793177413ff5f829712f7054f42c98de5a5e153deb3f8b8f3b3fc8e80fc3737e1dc5ec577731744bd0e992d7be0";
+      sha512 = "545f6acf05a87e643f597d4b81dc2f9b53c90fd55aa36052008be32a692e1db244fd40884f517ca076bb262c974f8603b1e6bf041e3502e7133cb189d8308c62";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ar/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ar/firefox-73.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "9ab1dbce20235787d945f3ea6ada45ba174dbb9169f206c2aabeaa2fae8bba6f4cf55577c1985f59f62d2a302d97ad2e3d7b7baa68682e4ecf3b8978410b45ec";
+      sha512 = "12142db3f05268d9b25435b260aa408ea3f637677c5749a1c6d0721f6df501bfd9c393f3cafe13409ab89b3bf9493d918600bf5a432899d0e62595946ae0637a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ast/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ast/firefox-73.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "c5e4aedcdccddd1968564170d7f74deacec13e801bb19cb97ffeb7923924d66649b2bfcd0823d8e2b27b737bf5b0b558c57f931f1ff8b6928d2e2ad0c63d270c";
+      sha512 = "22e278e5431b3777f277300d32258e464c8bdf8ead7dbeb357cd65a059cde2a80a602aa41bb80141e8eee429c0bab1301eac01c2d725343447cf3b39db300493";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/az/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/az/firefox-73.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "d67fba709c62bd06288bfe80bee2e08f370824420b52b07bd0e8c6dccc350770f0710e22ce55f9ac4bf989aea74cc3db1ee026baa7fde967fdf14f8dd9694702";
+      sha512 = "0cde75de52a77f39410fbe84327b095c4e92b921f0ade76409361c53749576ac004aca36996d1994fd9a427974e87dc8a94e152aa79a7e8d4be5c5083511ced9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/be/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/be/firefox-73.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "9fcf25f380bad5cea7c8fcceecd0734239bcf10d3081a22a24899103c96a388596135676a0769a8c2cdcce0ae7abc67e8a0b65621725de4201919d250bc28f02";
+      sha512 = "d4fcd494f5b49725ed3a3bb54ba5bacc14858c7ad2de5d16c2d0bb1a33800e0518c88f32817d40342d90f86b092e84b98ec7fd3126f0161ff76fcda8237c2f7f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bg/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/bg/firefox-73.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "a7a5818af9299a4b63098c102019134dcd74001a92a2d672d2c3c9e8dad6a58c28fdfd14ab10b96262ce34fca4947905f100a5d89df0e106df3c8b9a0a1796b1";
+      sha512 = "14790c5d31b68a71fe127d31488ab102f0319edec38104978ba96d2f1ed691c6bca44cc97d9c05e1c199314974c71af39618403bf35eb725ac704f7bc0d28ea7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/bn/firefox-73.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "60de18a8524a67dfb90ee9d272ec06e70b4393b3ed76acc7c86a545af561b323710add4a4d8a896982dd8bb48bf3e32496fe800abf50fed509d91f0e54a8d04a";
+      sha512 = "661e097808b1acd1b5d146993b6c58b845d04bcea8db663e95c1ced6b8f7c6f5173340394d673a00c73e95e6181c0685dddb82967fe759f02792faf568c2b787";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/br/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/br/firefox-73.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "61cca84ee862455860c3889480852df1ea62dfd9ef18209ca24fde83b3971ed7788811b4c6ad57a19d32525fa67ac82ece938700682385a4b99587959bc2af9b";
+      sha512 = "e99628473f831ae8efbf812f6fabbc186a0e76af19a19b8e284894f4118d8a5664919d8c44528625f27bd47f7f9f5deac76987d7a7a10490fba0163f8da42c93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/bs/firefox-73.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "45fa72a908bd24e6e8f35fbb1337b394850eeabc7d52252007a93f1f2993d4e43fadd3254a41664ecd76da29ed3b72dbebd95bf0735c71f07d9d19f3e3f723b9";
+      sha512 = "5d87e35510b8fa0ed0890b3fc36e4ecaf412a4e60ba8586e064bb6753fb84c219b6278d4d49868de6941c490f67214bdb22def1a83e4d9da76969cdb44e72406";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ca/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ca-valencia/firefox-73.0b2.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "918a91b0e98aff1404945398f4303fd96afb0eeba16e0feef385f95477148727f100c64e8cd658e42cdc79fe2b38e67502c2a1ce6822c9fc8fbb4c3957652492";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ca/firefox-73.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "53f9de3f0720b489cb7ae59c2dd2b7c0cbc6bb7306e802253562fb508ce0ff1415cf5b76c0a3eb085e592562cc1d39817009ba1e668e4c68f4ee0c8b5947cfa0";
+      sha512 = "b27d325d85142950ea02dfba2b5bca7d7289a52a2b68449b77b48b72dc5c42097cdf55781c17d8e1e062d51974b9422ac0ca90fd0632cabecfe535390dae6869";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cak/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/cak/firefox-73.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "ccac21ab9baea681bb170309fa3c1e7762aa731e49b831a4a45bb5a1477bf2582e1ea9ec78c8c63838589fbfe74b3f8e31653caf7c13355cc92de959b0d6820d";
+      sha512 = "4a69be70819192b2de859df79232a8420bf314e1916e35fab6e95414766b283cdc123ed0c486518577d4133c3133422bb19e2fa2550c652e6b79b368eafc3f52";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/cs/firefox-73.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "ac08d633f909edb3663d7e7cf5a27c1226d91a244786f941fc4fe771a7d5104183fa43782b8d838bbb50ee9342be081e28467b4dfaaae1c4b2a39233d5a9e31d";
+      sha512 = "03dc006937532e6cf9c8ac01e95be6a6e9b8ea76dac8a2b9d6da6e6141794fe656fe03af1a52fbb892a9d0a99efe75c34daa538f559d852f8356e49ed74e95ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cy/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/cy/firefox-73.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "176f3b9699e0b2b8c7f108add3a07b90664e7eb5170c9669cb5b67f2b0a6c0b2a6c47cfb2e34494467aa865f12c12c525fc967761878b92e067baff2d6e625ae";
+      sha512 = "2089e639baa654327ddbe5aaee04d6dfff64304478567859b605dabc84d553c5f35568fb103a8b9ef2e94640f31e79a2071aaacf56527f84311a5a6207321654";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/da/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/da/firefox-73.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "29b8ccdfd4f202f418ce2005e5edff4f69d3c3c337ee78069ee9c13b9fd3e90d29b28ad2801d8133119ae3048b6a09ac8105dc4fbaf1dd8f267fd15bb9ed31a5";
+      sha512 = "500243a917ddc3dd618ea34de4e15967dfa796e6b6efc852700fdacef72928ee56b3602029707ddbe2bbc7653318f0079f976b9f51435dfc8f9359eacd8af57e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/de/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/de/firefox-73.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "c041f802e2c5d57f013f018e192f2c62271ee15f53a7bdc9adbb447f5b3319e4da0c9743b0cf8ce4dfb03e94d0b81e0f8256b749c4eb3ea3a3b9833bbee28db2";
+      sha512 = "50f1dd624fbac9595b022bf0853700a60fc29e9d5475857ee4db89c334886920ddc9c85f1243df20871528fd42316eb9b1fa887c77b65be120c81ac75d6fd2d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/dsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/dsb/firefox-73.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "a6ed5dba712d1c5512f5e0e1caad7f0b0f7e2ccacd891bad54aee79cb749bb79610a46ebc75bb662352bb8419d8e0f047c0b0f8214f11edf8153708040188b5b";
+      sha512 = "bdb5a0eb162634e557e511fd4d6b9802b993aabd34dd12c42da6f6b742b2574945e9be01f61d7cd1ccbe01e1122f06475ac916b36002539c32e38ed8e341a1f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/el/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/el/firefox-73.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "987c29ca1d3b65bef9b5464b2d2c945cb66a6be671ce09b421218c3fbc6aeea0de6e5f7c2105943ca41b7f56d7aea25f8bdf4289eeff4618a92cf45c4234ed05";
+      sha512 = "cd9d04407e7e2549268529007cd9f0af18b91d404a537c9ba2138c4c125e68f7c7fbe2d2c94acfa711d6528903bf5c8622d07949fda301f6741242d2aef40ac3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-CA/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/en-CA/firefox-73.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "7e85aee04f790b6efe29ca592c38cd2962636d7b8b5901e1779fe371b7a8546f700fab25ae5a53d170afe67c3ac64345954b358965010e65fe1a63ef803dcfd2";
+      sha512 = "7f13e10cb2948b2289af28e92dbf2677b93d6f9aa0b72790fd5965eb1e02cb5457325acdabc3c385b09175d9a3afc56f4799870ebeec964441720f804ff69cdd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-GB/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/en-GB/firefox-73.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "a16b6b40a0c52c53b28113e5bc681b56846664899e5876d47b873816a8ee7cd309a1e49057b0bffbd923e5faa354f1f8ae4e01172ffb24062d7451fe361e8941";
+      sha512 = "aae87e398bd0f2b38b89dd68bbb044c61f651ceb80eee630289319ca2b0d0a834b4ce69b4ea7e5444f209b4a3d7591fbf77a0e101a1fa73c02e5dcf6af7f2f44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-US/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/en-US/firefox-73.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "de2716443b6dc3757fe58d42ef4fc526c1218601650ba7ccb0b0a9f77b7acb04a4e4af2c79b7587ab8d8e3515ca6602b563fb54ac5e102ca30952c39843c7d31";
+      sha512 = "b114ae95a5cd219364a876a7224b57a05eca57d156bbb351c332796dd7c1f2ac4d41a0b9fe2b25f8cdcd006be7c2b35e4fe4de700c003a18d3643de0aae04ae8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eo/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/eo/firefox-73.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "bb0b25735ec9bc607661fed392c0dc841185f84b06410dc0c2b7a05245d62cdc4978285246d2b281b08507ae2de2b4fe561dc115d838a10e581e484cc12dffd0";
+      sha512 = "c03d32a31280e8a6cc3e2160fb9aa36ccfe7850c96c8da517ba9964e721489da5d1ff5beabeeca3ebc669725d0ed67de9b9223360fcd0bf67cdc31b6199040fc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-AR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/es-AR/firefox-73.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "6161b532fb8412151cb007fe0fa679ff0f195206d71b4a07f8b312a28c0fa0041f32e960fc6f88f3c88e54a850a24d00dc370e8a3a16fcc5b420c0a9cfe2e674";
+      sha512 = "8d13617b21baffb7bcdfbeba911de41e8aec53aa123cb8e9233c74f27e33ffd69a0b905aac9e56f8a9d1eaebc25cc0ae1d4951ca57d788948c1e793543aaf681";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-CL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/es-CL/firefox-73.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "490f550d9091a70a9a693acd80f24cd644188a3ed0199781c5c04583ae2a66b623df8a5d1a5d3b1c7617a214aef09f99d306577db5bca1034ed1afdea8d909d8";
+      sha512 = "69706d1e4efbac4aed32b0d789252c2cc8da810ac336898698f1f835ab78694dc1ef7819726ffe0645e71a4b5a366222a575ca29963b94c3c17fac5eb7773689";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-ES/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/es-ES/firefox-73.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "cb648224649c1f5a22c7b5eef4a4b4cb7381a76009cc1a4b0f2db7f1ca850f21ce3f5f4effe9e114f2ab55a0ca4a3f0180b5e7610cd895cbf1d8eff24a77ea82";
+      sha512 = "2398e2506755fdb00e94ebdeabfe04b6a308d5e4a342eb12921b053fdee66946f622d251c875f2f0908f60dc173c598bde1764ab99a35318d72dadaae3c16dcd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-MX/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/es-MX/firefox-73.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "bb5c9f06d2b17507f9036192558029a6068bc4b62c1403e228284722fd1011ca002b5b7669320c3613fb8362433a13a05960945c56721a220fd8e45e2908367c";
+      sha512 = "0c291fabe0a9e3ccb4cb9cb618cb61d095a98dc89bbc76fe2de20d9b733361d70f8acc5d2e520f1d4b584f7f5fc0a3c6b53274d5337f0571269f2f7a3aa0b25d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/et/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/et/firefox-73.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "642e8fb33bbffe1dbfec0caee8299051678c930b5b8382b7dbb27a139aa01edc737566b3b88444425296f29bedb30acf7e1e4bc39aabe37a4705271b0ddfa2e6";
+      sha512 = "f6bab80b0b7ef36179f8ccd2c0eedf0fe475a5a65b06dbb48ecf491449c4041678b79fc5619b8cb06f9f3f13c49d0ba1cf4d107b2389237835bac3716fe759ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/eu/firefox-73.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "b6856d8c07830809434528ade2e85da9577562e69e6753e0a3ba96e9e015642b77ee5cd913b017fe7ea96cd1eb985d8eed013c38e61078f37e155baf7d115711";
+      sha512 = "3afd1f3d82112e20950962489d9667165cdf4b3dac4ee9406e0f82f700c2b2df90ad5d8f5d9da2c5bbb61c9d3b87afeea97b1235ee004316d3046cd0f5949644";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fa/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/fa/firefox-73.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "46f320dd9b746cfbdf6d41e6ed4fee3c36027a21bf69eec769dc656d4c4620ee702e4f6bd82a3121f14218a68948bcdc032a215bb0effe93d35b5f5e044152d2";
+      sha512 = "5ab09e6089a80a2056b42fef512ce09897ba7e30a2a2bf335c71b3d039098f032b6fef393429969fdb9ec7db084de922507b655f59a6cfedbbcf73b84a47b7cc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ff/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ff/firefox-73.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "f32d17a087c4fa5ab1ac6b692709b067607b5a9efaf8d15fdc3d52f9bf02db3b3e460fb1350ee17f583a8b32e1823d91aa472451598dbc3eba2774b953b32195";
+      sha512 = "975495a5a746331bed7d6e66f0203564be6a69890338ae43298e004e75873fab537169500cd4aa65590c47a532d36e0f8d7357d838839453f10747cb16308de0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/fi/firefox-73.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "ed4ce81ee0446841d989ea575654463ea8186e2e1b71e771380f2cb0ce6b2858ac8903330623be00c57a2a50f639ae320e794681647292fb6ed060fdc850d50c";
+      sha512 = "ddcb0b6b07f692bbc02ce529f8d69e3bb9ee943f054e52d4a4b4e80b1afda4d297e2e0758df71c6d9dcd9d732fb8c1775e7d725b1ac4486e2e1942cdda9313ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/fr/firefox-73.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "0b199767300180ed093b32685373d1b702a2d09587df3a4d99fc9f0d6b82c41b4002e83fd26be00b24dab4c1c3d38552d46676a5df52a69474f623ee94d72657";
+      sha512 = "d5cdc4caf65c02a45bc6ba5b84a952a061e29249ce14df9608c2a6bf99461fbf23e04a1ecacf0cafd230213ab2528b5314e28733283c4a4b0f5dbafb90765e74";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fy-NL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/fy-NL/firefox-73.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "8e714668d8ad01ee6dc9cd5e5f607f393ec09434e62d1d08a55f4312a52b31591e64064bbf0da28e2e47d0c571e895e9061197ceb36d1ab5899f09de549b86c4";
+      sha512 = "3ba77e4ce3c8eb7d38498dba424f5cace67a9b1f304b784dbf42dfa0f276e492b4d7829dc4b63191c6fc249522968e8b2d795d79f397ed3d8081fe84093caa07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ga-IE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ga-IE/firefox-73.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "4156af0bb459848815ec4bef7b91f69328cc44d9b23f56911849098d4b30422f013ac74597dbfe6610df093439170b5566e87a290e33dcb6b32d5e2e95525622";
+      sha512 = "b26760d435a565c19618ef764b4f2d1b507688081c9a5820f71ed14e703b81e6c07a8ce3eda05f1ca73d389839555e70e3e30bc9d2ed854795afb0e22bc64fbb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gd/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/gd/firefox-73.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "c2d188a2f4a63f9cc106b2dcb64d3277aea07de0f4290fec560927d8ac577ae57c0f6f9dab998833a51924f1f4eb94cbce9312ac7bc69205a64fe766093c0847";
+      sha512 = "3d1218dccf616d1b735889f56b14a1d3751ceacd9f67c3ed06bc7df6b52b6433f1a5dcfedd25dd13818ba1bf153848ce538d3b7aaa7289b5f5b2b90b523a4aa5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/gl/firefox-73.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "c9427d99935fdfbf3b5ae3b0e9ab9f2b31b0a7b0d5b55b14effa1fd979d5f32b73016c939821f1db6eea286047334486b017b9000803e6ede4bcd4a564e89c10";
+      sha512 = "5f6a89721259f028d580f0509c9264d078c5c1dfc974020f6547aa0dec42c48e0175779a28faa3ea9ea29f9ed31743f9df88ff17a86787ac29c4159b858ad3ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/gn/firefox-73.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "e039e1bf1f0250c1179b3bd185c1a612754f496d39e087059bc485af6a280c15cecab6e7869a63357c7b0dd713ef3efe5ceb6cc4c1f7334fc67560722e63b523";
+      sha512 = "ffb3cdea7c6de1465bf94691fa3f4c7a04b9754e0e954d4666df212d7e1a5aaf95c5754ec8c1b037f27291c9c11039caa55684f12e502a0e2da125ce0bffe950";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gu-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/gu-IN/firefox-73.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "9a8d9a076e521a8b5a4f1cb3c06538d9cfcfbfe32862b48301c202a212beeea2d888964d317bfffbb4e4b5a56ef06ff2acda22f0b129a2521d23a5234817fcec";
+      sha512 = "bfcd12f25be70ea1a97f4cf9accb5959828e88e0a96e0b7330b133f0b5fb0c4f9cffcc9a09904bd093bd4dc3d98cdbd89754bbb3300cc53f77e097338b11a8b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/he/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/he/firefox-73.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "763c4dc5241d3ec4337c17d4f7c7ef13667ad1a7ace2e71b65ead7fc4e771ffceb1eb1772c340ed8349cf401b1d9c4fa7f4e16031f5227e45a8e813e08437159";
+      sha512 = "900bb06ae030abb119da7b44cda63289a6b0b0dda21ff28be29038f829d33fa3fcdb5c0c617a362280d12cc274ca5fa2f3308d5c1a07cf3fcaf858f7640b1332";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hi-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/hi-IN/firefox-73.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "a6092b8f611976117489fb9a860a801aac9fd598394be0b42e88091760a7f05c10d04d4e90b228a801ce784a981f4770c78e544614a68c2d9a0e8ab13fb89ff4";
+      sha512 = "e45a014b0cb924db4a3fb4e075b8b703e197aa5d739d46f088cb2f0f99466441ef487e07189bcfd271d9376842474856657d929878ce4ff8523245d0de73c2c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/hr/firefox-73.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "ae2d26a2e98cc180699fa5f0a8fa1426525db4ccba99a57841fc8499e9595f0231de7802cfe347a81906d3abec3503b624ff224b1392ecaece17468ba12bad9c";
+      sha512 = "957da6b386b27821d8b2e3f167eb69c6d92e01dcef22e315b6a2e26f4b4a87cad3a98db273adc6267df36d163ffe5806592857f263f13ac2241fef93dc3eb444";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/hsb/firefox-73.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "0524a4f4ba2ddd3143f9f95e07749aa5f8c37c8f31cc9030f220a99d1a8d270b61ebb63ee3118edc79712f3af3f1795ded34492144d0dcf1857f04cbb3cf3451";
+      sha512 = "c33c447d1a1bb837a562a92a2ea2761d92baa9fa74750000af8434687c5c0194c95339ae8695e6c005401862cfd3b90043da38f1a55e80c8823d026957c20cfd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/hu/firefox-73.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "64f4bd68c9a62965162bea7ca4bcf15369f9d3c69c0f6080d0bd660202f2a546f39835b8987e26da3752adc366164b451f842f2694305bf60a2b085749b13827";
+      sha512 = "94a9db9b944e008079e901d4b2d03cdc9b01160e4c49e32b7f3ed6988aa69c95b60f266d7b06d6a2d5561c98698832d09b85fce3a93a50ada406ad80f26177ff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hy-AM/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/hy-AM/firefox-73.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "6d33a2bf17038e24c323bd53372974062fe5a11278eb535518637ee68712f4c2da93a3dd3378161f1e67efc51a06c746578af10f02c81fd25b747820e963b5f6";
+      sha512 = "37685298f06f991ef0c1e9d05da79be6fa9d6172c8d4193cecee215a8b7c6fdeb6043c5bc5a8e0695d14e039a49d692fa3d9ec8b843414cc4ddd3f9507ea63ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ia/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ia/firefox-73.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "0e4a78c9c03e7d87a934023cd0608426794f3e9818c7929b1e12bb300cc11d576334396c1125ceda555907363288726e286f6a376d6e301f386854ad3b437d35";
+      sha512 = "30923169773de0b25868ede401d1b18ad54183bf052f1e42d9ea6fdb3119b2c3e15f285bb24f40a56ab4edfdbd5c00eb56d8a9e7c27f155e4100b0028a24f7cf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/id/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/id/firefox-73.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "76b89937f37aedf1534b8e06601c9d59680426a55b3df3726318f438de1ec259c335876a1da31c6996e54c0d9efcc651e1504f764d4b426db2f0d97a1ca1e9ff";
+      sha512 = "721a1dff4cd79578ec8c4b8d8e66bd57f8c7e70e4cc2daf9aadb42a38e6300e992a7baba34201e0cfdd6f7b185f720a2ef0d32bb6e473c203459dc2126f7531a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/is/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/is/firefox-73.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "17c164cc5a95f3e89e2bbddf58442da84dcfe784812163b68740dd1caa9ab823333c3188abf579601437217e0e9e58871424d1227b4ade6a0fc77e5798ef9099";
+      sha512 = "d55b5378eaeb6d39d0bffcd7d82f4bdf16d892ac33c6ab69a41de9dada2e1bebe2dd1630355d2250b2194c41294f89fac507c42754a3bc7b075b129db153eef7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/it/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/it/firefox-73.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "ae37e92971d2f0c6ce322011e66c2857aa73518f1d4e8d26c3c2cf1d99bea8909ff2541146b6789096af5141cd927dc82f91ffb9f7eaa0fcf4276d4782e72a97";
+      sha512 = "1a054ef4a0eaa388588a0eacd6648660d5135e1d248dd2a4f303ef3b8ad22bd7b1f56dfa2b1998474ee4f6301659d5d62b1e387d41d0ee991d59bc679bf8c957";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ja/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ja/firefox-73.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "32690138d8c3dc2be001579602269ab5e89b7509f6d289a4cd0fb50b90e7a9a61ea57af8b064f904833504f0d523f1bab0a03f456fb75c967cc87f3e8e331b9e";
+      sha512 = "c62799e8d3d4c8b8bdd4b8d814aa3aee89ad3d7088a50420171ce1b4056ac4f33214ecb52ba7c7ec192f53cc426104f73a4951efe44829932c832a8f4b971624";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ka/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ka/firefox-73.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "6611137ec50a1a35b7ee3fa15a2066fd3231717ed6f7a4884c36306653226ee4211e8364e4872029d9b1967f69d10b799a4d58131d082f882e1b39e758132ebf";
+      sha512 = "c13eb0751f1a37e0b43f5b70d1be6b12f1c12f02b528e78ab5fb33386c6ccd692920000a31075cad6d7ea9c4093d3481bb9a2574ba63dce69c3a158ea704fdda";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kab/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/kab/firefox-73.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "f06c8fb18639967870bd581d2757ea66631f35b167688f4693198f6d70d1f61985946216410c401f0aa881e566df5a0f13d085e1ee880a35fb9ed21b0fefddea";
+      sha512 = "3d9251e5786799e5c6493f22e3339ffd480af1b5aa2c6444e6501f14d1ae7a325abd4c039d99efd046311fa7db5d04810173ca316429ee059b977a4bee53b5ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/kk/firefox-73.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "b22bae385110057cd77440101e27234afd17dc74602bf05763975ebc68e0940b4501ff168613fb664b2087a2782fe44a52589ab9972cfa44f9097513460cada5";
+      sha512 = "ff93602fab3c54e3cac28b2dc4534ed25032d2d785586bb7483304ed2326b75ba12058e709d23a6d3735017c32921352274081d17828d9a5788b4cddf90d3748";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/km/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/km/firefox-73.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "7c49611ba0dfaed7717f385925ccc621f5313496235a90c3851d26f11ec183541553979e6efe67f36faf7997d1e27a15e3d5646f33ed884fd66e6553c93d7db6";
+      sha512 = "bec57f2477fe8bc098cd42aff6b68db83bf1681c18ef185e4f8c677fffcf033d8e35018a0a7fee0af3bd46298c9a93f48ec74537e2bd71ea00272085e3319065";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/kn/firefox-73.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "c1fa863fa066a7832975963afbcf63aff6caf702ee8c58e2d54705e61b1863d71b81d7d0b9b8da7cf41d7c950a66820d8e1137a32ef91bb283ffad9b36b84388";
+      sha512 = "256003768df5f83b39a8364c7a953e2489f951cef080c5c7ae4cd8f368123d2b781cc1a53fe59071030910eaa39cd96bdc02f8014bfc04fcb030fb586faa305f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ko/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ko/firefox-73.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "8d179e7660331ba4c90f666ad3792064cce4fc551144ae3a8d550f620765e43274ad18ca9eeef988c2a7ea612dcf82dfb65cf225f875b154a4d4a4c11e5d7a64";
+      sha512 = "3c83aa41e7728074dce7f5c496a3cdddcd6889009f6874b4f9fec596ff30048f0ca64f2d511561b93316fc42e2bdfd1e70f340399d732db5c1fe7550a5475955";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lij/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/lij/firefox-73.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "e36bd824232bb3d7d7fb4779e3207cdd504d84861bd0b5b2ced6a29ecb9d16b10e2fb267162ca96452f52e8089a085021869eb107ad8ba5cfdb49f8e42e56648";
+      sha512 = "90b1fdb4d2b28001cf2362737b80e7412056dddf0b66fab9f79a3fd78c93d5b9df8f0f9cfefe96c282fda428aab9f3b37375ea7b9d337f6907ff06bc10db5f19";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lt/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/lt/firefox-73.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "4ec494f1fc2260d73aabd695a29441d12620a8118945974e8a0ca6f21a0e9e49bf8a6378d4409f26f05cef369c990e1432d0b11eec99b98399e994703ba286f6";
+      sha512 = "1e8aad573f960c0260fba0186deecfc96786f9e7b9424cadab195c9011eb4db32656d957afec432c0e09339aad209a1f58fb8e9e17fc58053f6736890f3b7eb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lv/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/lv/firefox-73.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "3ffa772cecb4cea1c775b20b3ce505c2d84a9918c1422d85c5a2bde80c4b1432f223d828343af04c7c9518ae54bd7771e8144b66165aae1bdd140e068d0bda1d";
+      sha512 = "1248de9d4c4a8a346dc4855ce77e3042d0d46030ee80c40bf78880cbdf789259b28fc92d296df34443a68fe4c570acbb159d103cdbc107424e23b1ec8f1c2bd5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/mk/firefox-73.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "e8cf48b2e4a841c6101ab0759db844dce8865bcaf056dc0d2a5c43653bf86602dcdb337422a8149a4d4527f33ff79509d4c4a3fc221ca50c0f78fac80d7e45a2";
+      sha512 = "989e75efaf4b7d684b136f968d87f87c2f99cdb14e028e14c3867c9f05518ca23d8feff5e08a20e8bb6c906a8f75cabb2c737c637ae49b7a264cb054fc3d55a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/mr/firefox-73.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "a6be024f8c41f106157845fec1d5d4a5f81456d76f174883e8bc3d2f1d8dae327b20de89539980fef316baabdaf2cdf058dc91c12bbad1fefa0f374d66ac3222";
+      sha512 = "badc17f4a3e908dd70e8eda671f134fea18691900f8f90c82e136772cab51c36ff1f9a2ab22af22f851c9aa202de948ac44406d992f1be42b8d723c0189b6cd1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ms/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ms/firefox-73.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "4beb0656f90497f480a171d762d3b85260f4f7388847260faa15bf7835bffb88a2d44657401b5d0680992864b1a4ee8acf6a6f56d3e9f41b6704808f775076ee";
+      sha512 = "b258591119bff460f9571ca0ddf7b98fd5e0dfe0531504a8dcfae3636acef6bfe5f84b6b6bee50db6f12759a0b466b6311118f748e5b718f270b1c5ef6affac0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/my/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/my/firefox-73.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "98c47dd55ce49f4933a1fd67626a6edaaa20b4945ffa21195f19c9676f284081d32de83047dcd6d0e7737be94deae34fd306484f0ea80527bf0e3117cb67fd04";
+      sha512 = "8bb984fdfe04971f830e50f0f8ca2d9233f9a1895ac819f48bdd8348658e1d265d1c896295e0e4333e2506f28747fc05993da46d67d6bc186b053391664ca09e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nb-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/nb-NO/firefox-73.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "5d51f3e4dcdb82995c456e164bd4875e735029238ad47e7361c2af29c2c22ad43398279dad33356a858e054e268e846bdc72d8a82e869f12d2871dea8f6a75a0";
+      sha512 = "615b0411abbed2ef0dbd4e91d7c70659d71b9778c202bc84097db2977dc794180ba8099264c825827e53f85109fdba0104e22cc7cfb497b47345be2ceb7cc4ef";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ne-NP/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ne-NP/firefox-73.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "794aee0947e1a3b81534fee16e3d7efef9fe6d8eebd8ec18b8bb120b3a3cdfcb4929882d09e8ee15136f65d88c0d6c25cbf8570f86e8c0f337f86f12fb11580c";
+      sha512 = "062e093255269bb39663e570bdd10d3ea044555172fd8b8a9db052465563ddb286cf796f3ca35ee9e159cd0a7b6ce282bc8e9397da3f0a29845dd6f4d61a5889";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/nl/firefox-73.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "e63f00aa526cdc8cb4eba86f4b920dc38e0a5f9eaef0a4103bf380f72b9fe2421aa4ee1417bca18da719ee01d57964c2edf21c4697121d70820686ad2f7379df";
+      sha512 = "53261de3a2290e1046ac8bd181b9fd8784503c191761c9a424641a03e41f9709af88a815f02662f4856b4609a09771df2e0900a90b4908c9e7a9487008509b37";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nn-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/nn-NO/firefox-73.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "d9e30d8d820ef5b07f6814cb5e37e3918b321968229d33911afa815ea6e727f4d3b505a397b60f1c1e679dfb79f9e130de450c10f8946035153f535060b9d4cc";
+      sha512 = "b4283a60fbc40789105fd660ff1e20e896d74f5b5dc18bface979f1d0f6db09f1e6e40a82e6b8d283eeaeeaacc93ba42d40a289eae2e5082048442ae2fdeb948";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/oc/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/oc/firefox-73.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "94004a03a0b07fb91a30677168d19ecfb29d5613483da62859cc68d9e392f94ecfd87f29b5f3c44cdfbb3fe067216fe4f6db997da2368aeb289fb7b1d83029a6";
+      sha512 = "9fdb44e34b427610e33d232e88f96e3c185f77ac57fd6b3e541977305089cd719cd8682f21be3316c5d3f7cee4ea4f40917bb2449aa8a481bb89889f7ac50757";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pa-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/pa-IN/firefox-73.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "5d4d9952600b81a93ed62314a536d91729ff6a423ae9359436e632c9d807b13ac19fd6b1d2034839450ed5ba5411b91afeb52d0cfd74ec84a1924b6036563b74";
+      sha512 = "00387977b971ad63e85c60fa014b402d7ae4aece63708ec79a3a030f0bf75035cf869f0a5d17bd665c5cdd92d1dadeb719962029e03f3f5d42f7c17ad67f6ec0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/pl/firefox-73.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "6f3f628b38e06494d528c96071c0ba0738582da37f16a4a28eacbd17aa7574f1ef795c662ad09b8a15637bc25fb6b791e1bc54b3d530031c66450f5f7ba3ca76";
+      sha512 = "6ac59497ff2cc645bf8714bd87b94a5b08c88f6068bea02361a9188c571ab3c89241e9810c2f9a4f97ba03edd9e3a5a4ee384b826513423c4f3e7d25fd9fd183";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-BR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/pt-BR/firefox-73.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "e97eb866f17277db6303c58411fb5f4ef561884c0e5437dc09d3da63145107a8ba5862a8d965d4c5ba38f40930e82c440ae1a26b023f6a212ce177c77df72f4f";
+      sha512 = "b7b5ced18eda661e084b27b1c78341dc2e6b4104a447dca670721b937b1a8eb3b5763f86e807c183b83d513219152624ab3a61f6bb1b7ae51f0c3444498046b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-PT/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/pt-PT/firefox-73.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "81cd5a4c5b2a89079a45826f34ebd6564a929e1ba73dd07efa7d8a8b4958a36fa083377bd0e7b6b1e86a83a749f1117f3e7f2703961e668cced5cbdca8e95c10";
+      sha512 = "5e53eb87cd025c47397296141d3e6393d1444ec5bfc91afc2aa314986e7e7db16e72a30768bfaa370c0fc48fd1bd372cd075c7c930dc10ff1fb47701db674dd7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/rm/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/rm/firefox-73.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "2b78c41faea2f3f91be9c21de826e5e8a2533a76dc925458e2f75f085fbce71bda63dfbaedfe988f29ef9384a0ecbf4599174a210269c6adf3f875d227374385";
+      sha512 = "b7a67ea7b3829dda6491d22c42da3bb1220ed9a9585e2c54159428025159e53f531d7102b3c55e532353cd9583ce2b814fab69cf53709b0491719331caf80101";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ro/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ro/firefox-73.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "d01b01df0d9e25635b85abec0e0ac081beee02a97bc50b1902b271aa4ae5cacb410d7b9644d76785d54622553eeb8f4ca4f85e40c7867c6f99840de570974a2c";
+      sha512 = "282cb275621ea2a78d7cae24c761f7b66a949cba0d6272156ef6584f2ba63117da5c842060ad3213f485609287a156b863abbd2b1e2c93ecdb63d2c3c790fb5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ru/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ru/firefox-73.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "36ac6ec95c9c1e3d5caf1315854324bd0cb41fd6e83dabd81d3af2189fcd111ea7ab8a384e5a07f4618c9046b8f59c3590c6bb8d1a12a2475d19d7d65940a26f";
+      sha512 = "48f06652e41da835588d82fa93c59b77b3c21cf900f269a0ad50eb89e69167d921cfc0a981f6ecc23cf9d3b20a21875bbc783b8a0affad71a6b6b0e56ffa38dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/si/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/si/firefox-73.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "796878bd3a982443558d042c64520d6cd65c1eb247c6630e1c1073c75be3a2d3e3d4f164deb44336ff536c6a7a81650c0806de79cc3698d6215fb87ff2ca50e8";
+      sha512 = "4f023ee0745acbf7209904a606e56d4fb2c7b278123b49ec5e93e2008591114f0593d1c5b07f3821337d0eff826e71e840bc6bfdf565d3971b8d41d58a34f71c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/sk/firefox-73.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "48f3179f9ac81ef1c69a44540adf994874a91770eb1b2af51804a791c10540485a61af2b1fd337f7cec86682c5a3df24e8e030add48773459b8ba7caba6e88ed";
+      sha512 = "8f10dc4153d94181509fad6656f37c5889f5369dc7c8fa2ef960dbd939ebfa00ae1e5c239ffc4a032d709e9be614307c641c4e19f72a10a7d03a6e7b6522e71e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/sl/firefox-73.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "5ca3ddfef139448e411bb226cd2abb3a8fc4100986a294bedc5bcc4a1906a6b0ab82f6e3d536dfa66e404bd5b7eed671e98cb22f1d082764cc5d3080fa0363f2";
+      sha512 = "ec01ad790773ea05a49bba9e549cc44c6515a4c0bb97d0579106e58df7dc18d6cfec986a5be47efa0e3498cbfea2cb9370cdc32c1146610abb1c0ec2c40f4c20";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/son/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/son/firefox-73.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "a14b7a55043d2aeec02d1f28f30038e0ffbc3f76df1c5abad04413673d5e6d7290feab39e0ff40bfc35bf993fc49311b0cca38735c367da233808910c2a864f7";
+      sha512 = "d65c95afc743fa2b0ac86cf71514655f0d2b75316458093fec007f8e034b9705907894bc2789439f01b9a484d0d278e486d1fa3ca8f0abe0533d34804d12daed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sq/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/sq/firefox-73.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "ea1575fefd6ffccb7a6ab428663de5e80b48062e13d3424d05b5aa3b86972236839f6a0df7546b5ead27be0a40293f2e9d74472d2756d9fa86bad18d478993de";
+      sha512 = "bef3ad971564a4ec2b6ad2f5e666a000d7079573dee9a8bb40b7b43afe030ce35194fddece80d2eca535809cd010911be61af6789d5bd9aa8b18c88b89877ee6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/sr/firefox-73.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "8c5ecc59a41613ac259e1f1515e6475fada7cb7c33650722ad9d36005b8aa173afaab254eec004be082bd74406c88aa4754dc3f4dd131b9761fc82778a7dc573";
+      sha512 = "73ab3b4169d672b0a54e46710c11cf652423918c67e7bf5df78de17a1e5d8437d82c8326580d779648a5e522000bd239f73303c2aa363acb71c2ffd1f558c4e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sv-SE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/sv-SE/firefox-73.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "f6446ff3add515a7fe46af9752206c05632cb95b5e65e19c331556a6e4e304f765f8cfc9cd90fec2892fe7302230a5b3b85c462a557e7074e255ecd94befbcd8";
+      sha512 = "501b7e444168a10a1e3641ed6c5a222e33c1560996e7b4f103a5e32bb7167bfb774d4e51723cda39bc91b4e4c59ae112f85744ab7c750d422466d0fe9939da2d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ta/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ta/firefox-73.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "03302b3da44fa586df13d2f20faee5da5e82151550498d7c0e0fc70efca8a98db47443bdd0289fe90d602ca53c1e82c9f610cc8432fefe5c99878faacd0c9153";
+      sha512 = "441d9021c8be46880e6a71916a19158532f00f64c4e3ae18697c0c17380bf355c28b8a349f7234d0ac31a6147f0b1e6949a7c8a9bfce7815c01aed75577e5d2e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/te/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/te/firefox-73.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "49b3921154e909685e8e52a892a2af322e650109fa6b17bcebd62908e71b5b30c0346905c2422124629d93e1cded40b6f81222ad4871057ac482c1df7ca3b53f";
+      sha512 = "f5f27e43f9f3caee4b095fdd7f1511bdaecf1dba5260b4bfab6eafa1c1fe1c68c72a6b660442da504032e8ff5c6be225e26d523de7aaaabd03a988c14bf3bf56";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/th/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/th/firefox-73.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "497da9beff43403f2b09da713474dde509ea2a71145fc8006a852536e4ab71a83586d67d6b7238b3b0ed3d135db6bb2716716b959463b13d92935f2b1ee147ef";
+      sha512 = "86d4a5e45097388570ad333c52498a9926900decc6795c376588515ac1de2a414d7cec69258e5021d57f0be5a60b3f52a7c7089e093d105d80f6a297e9777ebc";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/tl/firefox-73.0b2.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "fd99afa1461455f8ea169db761124315b4b1cfd8ef7c8a817cef020df9134f27d88651466f5d78cb6479f78e0ba6ab6155a8f9507cfa5256fda65b94f59cec5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/tr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/tr/firefox-73.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "43762b9401ad7337e0ff00003a07d374271ab032a4609bf9abb1fc3a69ab578e45721395d06aa4fdf41e15a71bf503156632b5e3d6f94b5d6e62592c78a267a9";
+      sha512 = "03547bc0edca8b01d93153abadd94bf0776b5fa9c78a2a2b4bd8871da44c11fa8687848e8353b14434d11ddcbaa659b25171df293fecf518df14be729c73ff87";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/trs/firefox-73.0b2.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "bd77d9afe59707ca6a6399c90b5b780028de744cc471134cf45fb605c7e8fd518e0cb23a503215c1b8844250c7d746960b837e35637cd6d0893abab8d173c2c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/uk/firefox-73.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "e10bbbf8a8f899f2a7b57bed9a846d6b490303c456027b034a750dce6b21416415eb0d9420629d008d901ab903e7c643fe7ad5bdf5aab511da9977d536d71ffe";
+      sha512 = "b6862986d77dd2a95519b6a6bb0d45cdc98f56659230a104939bad85a5827ddd99a46f59fb09250f8bbcbdfdc28aed3dbf527b23060011ccdf56b2d4983daec4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ur/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/ur/firefox-73.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "9155b7efa37b299ce74ed6faacafb354947430265a34fea9e101a9f0947a57a4a3b001bc7b583002ea08d3b7f33074926c4f6184b563fa5a1811b2b7a9b05fd6";
+      sha512 = "584213ceeb2afb8d00e7fc26f498b5cd0723b4087f2a7282541b7b471bd49379d65a1ef0f64b915950e262d34ce54bebec79798d0cc8252872eb7416c8bf41a3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uz/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/uz/firefox-73.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "a3a3aeaa6cfa114e619ba9685dbf9d796015f26b9fbb4529f69d17f8c40c0771d58ff044cd4f97123096244f29b964f1756868e35b5dec3fb79f7b32b7a31ab2";
+      sha512 = "42c28444365bbe5824e89ff658ff8a6754eada96063b925bdf4b7deae74c60f635622ed9f112d8ef3ca28b0cabd0b8217ce8cc72af80685b45a438dd92d46c87";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/vi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/vi/firefox-73.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "167a38acc587a4479fcd15d1e47f34e0412e846a0689a119c1f382ef119bfab3035450326d086f6c8efd67a93300df234d53165609c47e94327b4415f40d88c3";
+      sha512 = "a6b1771264ab40f9bd900f05727c2b484192e72503f20ba3ba92b6a36d73083d1126dad526b0168d5cbd0e376001418cc2e37662ed3bfccb2cb2bc28a566c233";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/xh/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/xh/firefox-73.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "6a0ab1589a56d6563431d2e5f01e6c01a65be6865cb4b4d52a21b6438727d378ded049730374d3400603286104e4e05f246829b9a45513998db6c9c14597d6cc";
+      sha512 = "35d06d6c31b6cd00377326c895ab7f7be7d0fac2b728174d46b9b02ef1cbbb81faffc9fca16af2e2bc35ca7ac0dde69019e47f00b921fd94e2ffa7a4d086d99b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-CN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/zh-CN/firefox-73.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "f3e20c68a34ba6aca4bffd07d0bc1e5676ef7f2d9b56aa175431825e90221255bfaa76e40a6fdacf812172317deadd3e3a29756331ccb09aba5804ae58d2ca8d";
+      sha512 = "877d29497eedad0da7bf48c9fcbb93ab5b5852daf764030ea9afe5337ae0599cb0a960a0001c92b52e1c2e32beace0eaf59ce318e5ea48ed8345ffc842e67240";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-TW/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/73.0b2/linux-i686/zh-TW/firefox-73.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "dea1df5beec52f0d12e18907922bbd2f27b4a20c87874c199d04671f636fbfebfc1d64bf0c8935ae41c139d4beaf08e164aabe47da8be67d4855b1fb924aabfb";
+      sha512 = "be9d6ceb28b866d6831b6d0dba01406e5f89313af8081112618416eada51b623efc8eb1afa65d458ec7b4e12f7f12c05d29a58821ac17cbef7f01f1cbf9230a9";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 93259332bfbe..567c57aab2c4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "69.0.1";
+  version = "72.0.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ach/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ach/firefox-72.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "100d7c9523102d3c4fc07ccb3950a9bf6caa096061c9b5e49d960f89ad6e2a8aa032e8a91ddd4bdda1d4eb8442ceb393dc6b31da11c5a86bfe9c7907bdf3a566";
+      sha512 = "43f16a510e67ba4bb836ebf3dd570503b902ec1ae900a9e89c551ea6bdca6bab1a716e92877c16b738b871cb4d1660ad5c26baff3d57d455845f47f22b53bca7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/af/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/af/firefox-72.0.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "ed6e066bd58d84d8e9a240e02b984ab7a52e1646dc4bad7470666e26aebb004b6ef5d43397457c82b4a7b0fa04ad0cc7dcbb662ad721e3c82563104955502627";
+      sha512 = "72f3fc490ada32629f555e0245056e6f328c05048dada3cd286292d7a8a891f9fa9303ff701a66734f04f1375aebc2c0574637df766f8ae9bd5036db3e81ec15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/an/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/an/firefox-72.0.1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "7b75c42de08df56741778a0b01345238fa276ef2012b06cdfa54159b8559b37910b50277335d68d7b0870de36a04c24fcd83132999faa9d7c4e089511018acce";
+      sha512 = "3afb1f5a6da6d7a4bb4ac047405b511501a1429602f9c1ecc92bfd17d37ae425c7255101598692084a68591c4bcd27c5f94f0cbc10881f6ab4b77b2525521b25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ar/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ar/firefox-72.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "7f0266be9bb2b34189ee2891be11907720a248fbd11855d5a99bf54ef439756ecbd201a4d52a21b24b89ec23f1254b4ab15fd02d7511fcfb7d71eca9adf3a852";
+      sha512 = "99a0390d39e6a49ba635cad30466c3c7a55e0aedac25ae13a9ba2f1faff5e8b26813d198e072fa4725028ee526647649b49ad0416cba470619692aff530dbf05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ast/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ast/firefox-72.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "d4681a2280549b3fb0384b5ae6a98ad9785921fa65d4a83fa967fe2d05363ed0ba8348a7621c0cc104a2da9efd97feddb38ef1ac6901c08ae3d9dd649e5ad30b";
+      sha512 = "7636e9d0c70267100a0bbb0bfbdae3bb308e2c38fd3d38bf8b13c4112a98aac298fb57391c7e985b5d76b7205b1d180e8d9eb1f73264b44758ab5c56d2ebaccb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/az/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/az/firefox-72.0.1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "c19cedc18719ad6d5723a546be1e9d3aac2e408fcb94fba28aec9e1856250257422407cb945cf516bd0f86ebc1ebd1c06c28713cc6ff49691542fde660fab53b";
+      sha512 = "47d667d87a32e9ab1cd33814b3d231324ef3a1ad302d9372476347c118230b8a85b038a04fbf704e93fe4dfd40f9070ee7e61f00d5503884f8c798832d034629";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/be/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/be/firefox-72.0.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "e6e4ae0eae225ff64595df0c7038c750c8b3b245c9aa76afdf3e8a2ad9fbb6e324630c73801974f515ccbe315fffe797df3e087412c46e2507507c88311c8a82";
+      sha512 = "1a3d6654e9f804fb5eda6700cf6c183fb72dced8d90236a860da636a8856040ad33095e41858b3ae7028d02278998b9aa9adb2ee0daee2600e213185cf43f374";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/bg/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bg/firefox-72.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "4d2869b82e4f577acc0933e828f72856c55c4d0771bd938a888cbcb6af5ca319f03510cc96249f220d31b6786426c40726e1509beb40633d995bcdeae8299c7b";
+      sha512 = "8bb9c4eb8886f6d0ce5a284e09f77587f6bb091a02209a86c60e8c4f0d807a4c78779494db1fa81c10fb9463b9e6a24be7e47de4f52ea239bcaef07198ee9f15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/bn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bn/firefox-72.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "b01ecf839f6c1e028593c0338132931b39af29b2cbb414d08b29379832300abf4a423566935946b52d4ad4aa04d9d670e41cc11f1989b1e913201f8bc631f786";
+      sha512 = "e9459e8cca78bbc048b26f0610c58e607896588d762b6ca59ed078867932cb35ae2abee79e8271885d7b10a7fb802e1aee73daa65abad64916f25dfd4bd9a7f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/br/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/br/firefox-72.0.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "62e0603e9fec08ff0babf25ad38aad703806b43f8b1aa4b986f41a74623fd59dc18b6b230219ac93767924264a45f7ffdc6c41243e888bef786e0e14d6631718";
+      sha512 = "62c740962f855f22aad7c63b346fdb224a55cf3f7ee1935ee9103f2ab2a638c1f2dd1482cf8d4965f70dd8a56852f6dd676fbd84f5976d6a03c0142468f3b70a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/bs/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bs/firefox-72.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "c2020ea412b0852f7904ea9371bd3851bda9e0cf006a582a1427e8c9e412991bce7a0a6febf0632ee58a9da10c7b329cafc30caa8dcb5a2b12837465886be175";
+      sha512 = "71078c35c8ad3fd131529178b75c8a9e3f57f398ff61e230f79fae38e44dfe72d6b9657adf1a636b082a4592ca62d89699e726f9f2bae0f1d5bb3399a8b7362d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ca/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ca-valencia/firefox-72.0.1.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "807c234fd009bd25dc069be095eb13f499432eb94590c4bb5cf7d84d48cf97f713465b5f56f0ed9f56e30fb94a3aec1a83868b61c6b7a5113d88470c645e2534";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ca/firefox-72.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "35c4a61866b37d7afb1cb5e78997b5467bf1d9810db7d4b651d4144132c6b52b6dc5091217787a6a71088b814c3454757eb4f741ec3c3c24462892da77600f73";
+      sha512 = "5a26962f759f9c2c12cb7e58d2ed6063224625011dae1a90b9cd27e4b55e47cf9b7c665a8da16ef1a22d8b70fdec4e8902b7d118e62698417905b9f5527ed4e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/cak/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cak/firefox-72.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "273c8f0e40187f88368e4049a66052b230594939c85ee00e48dfd7760a4093735f91bf4e3eeb14d1c92266068c9994599d3a3cc271206e449e715c1c3d038aad";
+      sha512 = "7e51187c51560ff612a9b3c7b06209bb64140e191a4b5cf7b1b2fe3e53450e2020e13e0be096f548cda747b910be038e53ddaa3b969d46e10ce4c163d771c42a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/cs/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cs/firefox-72.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "3dc3657c494f3b954236dd330e2c2137b5500bea5a0b4ef2052c7050c0ab23e9b773090843d459c9c259d0eceae0524b0e4ebf6f02883d8419bd05901943d9f0";
+      sha512 = "09d239079128ac8b6102671cd9d3d2b03989d358f191ae56c11a6639797ba49caf6519ebbdeddd836927fbb7f0df029da055b6d98d4efe1700ba689508c45a1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/cy/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cy/firefox-72.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "9ba021a9df417c36b8ee10afaa95595d19897d11485407e9e3fb446c16a1cd31c683014917da608a721a583efd008c0771d13c642c8d94913bcc21227966ae6e";
+      sha512 = "e8e2cb301c022db5944e4b5fddc55e0a4a27aa591e4d9deee5e170136f48df956b0bde64311539743f430484035e88e28f080fde3e967d31b424cac0db1d6c41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/da/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/da/firefox-72.0.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "c6eb2a98e0dd59dfe196d0b8f149aff109e1272199e215fd09d14a614697bc8652fb0442505cfae8a9f2bc0dbeec00bbbe73a7bc737e534f2f230a356137835b";
+      sha512 = "072063ae9757d3f06d4f12439641f8b78b38ec0328cc501db67b13f3c0c5965ef5d170ea22534d9f4804fb66a23fab21b3771391f35aff98d4da3030e5aabb0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/de/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/de/firefox-72.0.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "a689581f54c278d217c7ae12d770ad1caa686db1fb5138ab3a34c14848b717256d0f09ba8cb5bbcb2472fec73b01e0a5aa4d5b869c7a2f388d8d54b2216b68da";
+      sha512 = "4ef88f33a507e8ad65f3f49080e58515b77b09b799d99ae45a725309fe0f4e4b596005c1cb84c22cd815b411c98e4d23494ed454222514ade3fce16fc9b67109";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/dsb/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/dsb/firefox-72.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "d33f730bb3727756f982bdcd35e0858cd0d5252594e14ed670324c9d5a1b4a87aa1391bf1e58759a0adf9fae896aa8de7a3258267b40dd96e957efaeeb9abd4b";
+      sha512 = "a7b8c9b4328d5c6c6b53dd9226ca469ac75360d71b3bf6ea987e7d1fc7f5d1a270a408dfed4ff3e8d6be557a520c45b2f019d88d62dd007dbb57cc852e6e751e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/el/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/el/firefox-72.0.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "4d040b92aa3f06e718ffe0f2dcd477d915dd3959087d0e98bffa7b14fcdd86a74b50be23df1f47ceb4ff9c63564d09a22217bb91f4eb3419b77c0dca12a1bebf";
+      sha512 = "ab31775e09085690623c31c33bdd22a73d2d3d2f5bb13be0bbfdcfcd98d5fb5a16490b705fd42e30cfadaf96026ec147ef758630fd40e1ff3703f14317713e52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/en-CA/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-CA/firefox-72.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "390700c7d7fb2c38d6082e91b6c5ad4d1cc4912eb88ae3f207745e88c72ca6a169612be19d984438dd784e8b2e56ca2ea6ab9a3fa1fe6e8253f3e96278eb3dd3";
+      sha512 = "6d20bb65de74571c233cc424dd2442c8fbc7a77347ee1b0ca6e0d6f5d11ff2a21f23c6a0ca9509836b19d75ac88186f17513cf3cd99696ac4f7b16a42f434f17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/en-GB/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-GB/firefox-72.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "d719c4c84a62fbaac67ee90812e6922f5b5b7ba08916740d06bf4780d818698a3c46e82c483d0ecd8b4ea040c53a69aebf31ce8c8c4e68dc32e0e27032704c74";
+      sha512 = "058654254505d6be377fe9de989638d1c758ac05ad9244a4ebf0d9a233dea9e7be4dacd35d1b12a20e3b8deb53b474f13e0fb38e3e7ad85c64e48d664b85bcd3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/en-US/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-US/firefox-72.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "ccf48f7ef61bebabe3e583e2d08a5c9ced3ea4c10b7d4febd64108cb89c9905076d69482056ee5a20dcc6c2e9bba9fee6d3f02eb54a390f0df444e24b3fd8443";
+      sha512 = "8ebdc0eff1e8e0fe269680041276268775e1d6cfa45cf0139593082275abe1486b8be9dc6989811b30ba8bde7453e1ae7b37ccfb9712482815ece731fa07e396";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/eo/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/eo/firefox-72.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "4ddb06d38c53e24fba796a16676b85d74713a3c324b8f44bc66cd2ab8d3a26204627e0be0b0fddb27ff414360330fba78dcba2ee0cc9691621a1e4ccd7a3d046";
+      sha512 = "02242eab6cac30f19d5333458e1a0eafead00338ed33007387430739a628aba1928a4dd10cea2ab4c828b98840d55c2616d573f1ba09a9f9b26c01e79bff8613";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/es-AR/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-AR/firefox-72.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "e00e8bccd62a45ea959d0d826dc814964b4953343284e4d54d0acb4623d2369e7efdc96cf61028f8309bfcddb9deec4ce20ba10c3613e4a6e686ded9617ec1bc";
+      sha512 = "b60242c35164d66efab4a72b7351982465a03498be29f9a994f3397138b9aad37a7c1f8158f3dfb8b1166f8db0ade5b45f1077257dc3f2f5f5712e31f98618d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/es-CL/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-CL/firefox-72.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "63bbce2c62e331ac92c7501e80d661edd686ff7feae714c32e1dcb8afec829bbfb0ed188138b5655ce5ba479767a58ffae1a367703f80c683c371f707286623e";
+      sha512 = "f5e388ce9e6edc6ac081b672131a1df5c761a79cd303b5cb5eb22b870e6e3fd0425240707d97a0ecc46e008b913276cb63a88ee7640e4ae7aff81612876177f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/es-ES/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-ES/firefox-72.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "90c11f172ecb14a38e851558ace78ffd81a0ad10966e9b338c2394485c6460f81ab9f83824e204cab212d77cc56d066d8ddfd9686a3f6791ae9a8d99009d6b0b";
+      sha512 = "07698512c0d024483b169c75bd2ec8e434bf3c91e47ecf80e73c8c8a982d9eb803dfd6fede85651abbb50226aea185deeea4f6c0c42144c96c59040ed2a24e4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/es-MX/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-MX/firefox-72.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "13660d6449512791b4e8cf2b5d7f658d5716c1de5ae80f43893be351ee0de71ad21b135902056422325f9367e778ee31006f9120bbaeed19e9e3af36a20a7a4c";
+      sha512 = "4448dbe8bf8bee11d0c7b7b5321dbd6c1fea6d594150539b6c6ea8abdddb96100fce21ac1cbf01aa226b95b2f6db8a76faa6c11089abac2732d44b376e63862f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/et/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/et/firefox-72.0.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "db6ae24e866a32802e9ba9fd35b5fb7bdb63e1f0c8c3aa74d97d6d3e732123a10260794e03af30bac13c71d82b71d72057c0c32697f5efb78d35f55c088f6514";
+      sha512 = "fc8db28e2abd979d4a87bc875948412db6e8ec41571d34d397717f35abd4638234108cb5011c8ad6380a48886f6fd3d891a18d1bc2e7e5967ef128f386c91121";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/eu/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/eu/firefox-72.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "da166bd2be438b767af8c3566a7721a50df66572182c5504654be234b486027e1044186e3d2dcb43b2505ccb989f91556d19228f5e30ff4a05beb6f18911cb3a";
+      sha512 = "9af8073945a2f554be15fae8c7788ee9fff0da2e1232fe9dbf72150c9076c55260c0c0a30363be02e6b1b5da8d216e2edb2712287d55537e3755a3124e7d6179";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/fa/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fa/firefox-72.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "c05f526f70225dd91bd38b1d74fbf0217b12919173582262739fbd97b4b556c3d820ee38bb0c33da37cfb26996a882ebc3498faa21141290722eb07dc586b878";
+      sha512 = "b8832d7bbd64fbd3900595c4f66fd79458577bbf944c15794920d244db24de7541c3bcc2911719a3dbd2f5beb36ebfb2629bd6961cbcb9b4a2a37ec451373759";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ff/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ff/firefox-72.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "15385e03ad168f2be63fc30c871617d7d673b53181bea0d592b48d52c172d74b978e84cf1403272e5fa9fe03900f8d1118f9ccf1dd70cf0a7da7af7ddd6fad4a";
+      sha512 = "6ba67b46cb76ab9e75dfd07d7ae6dc81bca9f6bca3d6650efbcf4115ba5b9f09135318c547b0785f4d6330987683d436f3f8881920ab823a33402326a659fda5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/fi/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fi/firefox-72.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "fca2397499ab573ff33f14dc2ad61ccd4d0ca711493545e39fba143e65e2d883d9b7317330ca8b8bc7345d74ee5eaea277cef5f1b88b1456b99c8b5f6bc5ad52";
+      sha512 = "f538e71986429f574ca7fc5020911f52016b276a703ec2fc061665cd83728590b30e2bc1cc1d3fd60c5d1ef2919c78036291300894a4a538e1d81f2c319c32a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/fr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fr/firefox-72.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "262f3abd56f9f5b1b6a90f779c1ec233c684a1a71b783eb8fdace2bcd323fa8328dff5312e43458be1418d77109f7e677e9442dc10289064179955015f076fb4";
+      sha512 = "f739e9f34d61c2ba11968cd1343b6292844cbe1237fca0335a7398f46f7654cc8531bb0f22cb0ac104ba00f419e154baf9202ab129ee8028a09d09e35a3c90df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/fy-NL/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fy-NL/firefox-72.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "3159e601d22b6b3f5e0d80d0950d03f9f707903a378abe622acc88c1dfccd7bb3d439b370d186460ad4197dade467fa153573da2efef31825f757bc5f5aa1912";
+      sha512 = "46c460d1329899a8ed165f13173fa8b80a9c3a557a876a8baaca1e344d1e8337cebc736c0c147494806cc0efcafe18baf8225e40253d5a995ca0d38354d013a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ga-IE/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ga-IE/firefox-72.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "46ac2bd25b600d801d2ff34b9b802a5830ec69fa69315c98217350462104eb73215ef8130f2987fdf8900ef45c91ea0618ba40ee8916406fb579b41462dc1a26";
+      sha512 = "bd94bf1a7eb0e99c11d59dddca802b85b83ff1b422f947062960c22728f2f04574ab90ecbf5ca0eb82ceb463364d5a64021bf0bf061c5b95a35b661e3d57c93c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/gd/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gd/firefox-72.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "ad36cd4d42a29c9ab9d9e7e15e1827fd2ee7799f0484698c62bfba5acd2b0db89f66f7d40a5cf55012708e756cee43653211dff95c28a5a04173c83c45b0e4e1";
+      sha512 = "bdde214b7e2d4183b59e10d6613136761a6b661dd51e7827e1277be2e05726314657687cf95329f56fff5bf596079739915a71ffdf97b601b85c5d71979353f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/gl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gl/firefox-72.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "46ce314704d19f6572568b3a01e975a01c63bb075f8d99c7e04ae01982ac42d61cde92619beb30c04a778f009c56f98e2c05d7549d4ab9843349f85321532755";
+      sha512 = "c742b5e17077ac77f8711a38797e484768f2f7f5fe5e533a63cea430ffbdfca54a3df2d0abb2a584a94b8530fe4b5a39b44500b5c1c3c9dcf073eb3881c212e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/gn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gn/firefox-72.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "ec4afbcb087157ee7c0b487ba72fbc3469e53522cee6a3e53d0dd88bb063d2ba6811da51dcefc696924ad79bb352440d2c5d91fecd87a72436508ad37ba9e86b";
+      sha512 = "dc18ac9afd198558e9cef1bf51f2dda659756843ea77263c3be844a326f12a8df011c0c0f0e9553f13e8d4a9ef5c54a1a55103fa37f5222e4664911a87615f22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/gu-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gu-IN/firefox-72.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "a736f01bad98b99efb41d7d516f156ff6806b5e1489cbaf799c651efe641b5191742c1372459081abfc8e75c63d0832ab33037e3ef7a5fd07d943a02af60aa4e";
+      sha512 = "2264baa47305e992e4d0e357029f3329736f7510da2f375b1d327e63f60f46996402107baf30baa7800c73162e43756f62fe8606502e25ecb5a5471a38687b00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/he/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/he/firefox-72.0.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "73a56b235d0c5a7c69e51a52ded8477b606c2a3eca9686f1f07a2407de1c3e00ea06364912b8f8f90734a33d7d6f68b64b7693876b1b47426713bc49355cbf86";
+      sha512 = "6212701e3a6f724b0b022f6f8daf39800227736863ee9ed8c5523e56636514a4ff9bf58ec7581ccade4dd132acf6d24b986a2e356a2401a41a93c544a1a91bca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/hi-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hi-IN/firefox-72.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "1d531f68e03763d49c03308d2cd04a84ad36afb3d19f7abed8528c39e7ac089912e569e20d3f6e177db5b17344d7c5389b7f0b2c9cdea5cc1be03983b2016c4b";
+      sha512 = "b586f9e5f621a4c284973043f306f2681d9b324a36cb6f0e566b871037452b3497dcbd55e7fd48f5897f2232454fcacdd4070cbbfe36e458175effb42611556b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/hr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hr/firefox-72.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "cef89e675a547a753db64861e4d6c65ca6faf87e573099907aabbc6f7fa1a4b9f8e3fcb0de44956fc95ae95a9bab98432879c3273c800ed4cc5e363cbbfe5e02";
+      sha512 = "ac0b3ab1a085988a51f3c804d79077bad791e45295c54690f04bde1bef2c220b227d4d33055ad595785c67e2c3c398d61b9df379da32556294ceb2088549adff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/hsb/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hsb/firefox-72.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "f038d4752c3eee035cb95a657ce4588c20ac32438d578ecc86520f3a0da6f89135a55b3afccb7aca833a9845742ef7cfed7638a4954697b3826fc97582190de8";
+      sha512 = "96abaddab6c5239a411514e14443a1e823886ad3d374fbcca321093f390907fdf28af8bdceab31f50e5127ae1e2fc5b37399c323ffbf20e469a390a04d5f561e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/hu/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hu/firefox-72.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "e66afc6d0108a36081f18d18c59f87b529ecad7d97b14916f2bcf38f19edfd61d6bae7c0c7fcee211484abe9ab003f432b7c56be32889c129fcace827e592c03";
+      sha512 = "097f822ec0db715846b582bee49a65f611b89409365bbe05dd8c4b066e066a76960966984f44dea090d58678a35ec44b350a9263f50250f3ee1dc7fe6de0169a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/hy-AM/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hy-AM/firefox-72.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "6ed9a940ed6c5c699b0647ff340f3b81a68cd99c3c8e6acaa7f0b7c2f35a9eb41402951834769426cafecfc44f5e3b66d21f046ac470b43d2507165d01c7ec3a";
+      sha512 = "874761d38dff94c038801a8ade916d40772ddf5e571d434622b8510fc21653591b295ba188aede50869452121af5b4e611ed305a6bc3044e683548865096792d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ia/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ia/firefox-72.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "f617f7077ed05f72c1eae5677691e5a62e6728d1c9d4fc92684306c072d96b6459eb014e23738e589d132f1e798ef36356fc40ce1f55972f43205a332a0e173e";
+      sha512 = "e9349a4ec589f73d3b70395afc3fa678817322b87a97c3212a436b768b7edad8a6821784b920eece1dc7c17fe310f1d8cab33ea65e780657d87116d5ccebecd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/id/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/id/firefox-72.0.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "8d08c251b0890b378fe46c2527a089ad80b33e550ad3e91e2461d6de11e3f7c00959350cf9b61baefbfb8f663064ccc6ffb489ec65ae7f05cae8995b388fa6c3";
+      sha512 = "1cd006c3ef0e0c45a91a390612cdacc46f6983b58ccb746431ba0dcb94c22ab4a36d2bf4e7652bbfa04b9ea0e50c17e72c501794a11e8dfd9a6389497804b5d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/is/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/is/firefox-72.0.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "ac4500d36d78330f569287a48197c927ebb8b73ad295d035137f682a7e51dbd58e6b7da7fe76997f538de71c0175627128e8860ec690c7e34d9e05027ad6b2a4";
+      sha512 = "616eec8671a725689e730549ab959f054a32ef6d7c3cf5a9cac0826dcb3e0d5a70a14018cc7a126378d3b623050df763a94ffde481c40e19c4b8dd0e4a7b353e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/it/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/it/firefox-72.0.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "7e848f6827d8d169d6f00bd9f74bd041a6f81cc9eb5c77658ba6ad66d2640bb3fc615a7b5aad867dfb55496f464ebca41c38fb59aa410bc6b7c7b76867531dec";
+      sha512 = "b3a1204d5eb1203e0d2f430ba7b7823e24beb44563c8e7eaf225bf2635377107170dd710e945327f07b21ba14b4a597221dd58880d6500c9997fb0fac35ab2c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ja/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ja/firefox-72.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "45e31ec74e866bffe4fae630b8d2d183ba2caea16b53f3447e0ffbe6b24a1db35faf834c6dbba6d248713812d4023302bef4a815b050240a5995f1fb435cc0cc";
+      sha512 = "19b0ffb5b790faccdafc528ab43e91d3b542e71db206a280f83bfd748a7aacd808df043c6acab22c51a668cd2a0963523bbf23b375212957bc55e2b2a753e355";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ka/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ka/firefox-72.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "10264908a24ffd4362e3ad0c766a60fa1eadf69c68e387482273427aacd19b2a2729cef28a2e32c99a924c31d88fb4b1642c570d7fe171f9475bf3ef9b9353b4";
+      sha512 = "009385b68f28f3a5e5b7a700d97c01f42c84085bde4d92b0079d3b8f3046608a61663f80c4bbed6de8e998c6cb1c0d0cb228dc8ca35382b13f669a2d9e7d8d0e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/kab/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kab/firefox-72.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "7ff9328a0d475d1134c511555e9f0e163506b86008b8bfd649b98edca4d62321f10990c3d71910d97d5cdd0f355f2ffd47907d120fe15b54a2f8ae153c489147";
+      sha512 = "30c95436c4431208ad491fc500d97b5f0afaeec0f22e8ffd39c5a07cd3554e47db2d7ca93db13caff667b9ef8ce048501d5121fe61d07070e5e69f66614f2a01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/kk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kk/firefox-72.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "67d5394f0f2eb4621c830ba679e2957448862b616c625f47be89b951d387015049bf5fe100173480c6f12b9b60a7688388b9118422777ac1b082fbc510a874b0";
+      sha512 = "c44c7387a4f700af64fa23c4b643f57098f840cacbb149dc68a517851f2087c2d882d1cadf9b147a318185f3b657fd3aef5a3b22584b4de0fef30e7bc8e31417";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/km/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/km/firefox-72.0.1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "71b7d9cf1f161d2f3264c36872071751d19e15d71ab8b7fd4b34c4a3dccb24641de20ea202ab7f6bd34641f2e209c58b1b26425df4e24961e8b545ca274fa505";
+      sha512 = "edc5616a85b309c390c426b96a60658be350a0ebda009f25067c9c7ed94d5c0e1af67b7c8d4d6cd4df8e34e9296f04879f5912a8f6b743bc0ae07297fae5735d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/kn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kn/firefox-72.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "e8babd31e5ba80af0c4bb397ad6cd995c7f7c3e5b9c07a14ee1b8fe707b7d1a92154cbb3ae9a4e0c4266e2fbd3497ee70ca854a417799a508e4453e28a06284b";
+      sha512 = "47f33f81864ca7dd61d3bdc2679a556f0f42df95dde60327b09a6cd1815ee989518da2ccb61104e258e404dbfb68dae99f9afcd20ac835d010674aea4e44d820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ko/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ko/firefox-72.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "30db8bf846c844e3e246fab62aa35ce71a2762d2e364bc7d54e967ce970188dcef23dbb70f1e9d030b18e1fa3f20bd698fc9e1965d3acb46411430617304cb0c";
+      sha512 = "51c6aa7bd08a4326f4e835618ed8841568f731f6b4a11de2b39a989670e50bbb094f54e602484b7bbbab46e7c55ff844d02f1e56897993a54ed1a26f503e749b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/lij/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lij/firefox-72.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "f76d3b05b31173cbff091a731513ff213ea0f6868352983b02d9495203d454478a3f78633e2a8452eee331157c759daae28295d77657faa9bee2a7053525cb7d";
+      sha512 = "5109dffec7feb6e98b309b97dec3fa4c5ef11e506bb28cff8bdabd61a3385267f885f68b0c67ac269feddfba6fa107de7af0c95e9d38093fab2e52af7f294e77";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/lt/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lt/firefox-72.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "b941a48ae9dceb7689c82a670711cf37af0229d8472f6006887cb2adc519262ead9471b23ad1503a9d1be5096769a58894821ccc7ba72de0fa820df9df1d2449";
+      sha512 = "2af5965fb3b73af30d1088e599020ba7dd9fd00cc63c9f7ec3d706b953d92768975e5e78cd1bb5729194db359f33ba59672cd6a01fd0d7799902ba1017cf4fd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/lv/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lv/firefox-72.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "89da4afe8892513ec831bc8f565409513d65dc314ac1cdb6e267940de6e572e93b10859b3ea05558a1aa7732b94fedc37dec18a069d3498077dcd20a04fdecb6";
+      sha512 = "08220de53bba3519db1c2155189234b822082763768615075396bb23ab970962bc6a5602486db2d9240ed3051b4bb11b85a1ef95e10dbee67781962a66e10abe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/mk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/mk/firefox-72.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "3d42d641ee18b664af649e16458984c13b61c7c208ece86035aba3f5f1165eaf074e17ea7030ac43c3603e55dfa8a739c6f4b7f482ef469577c420f732ee883a";
+      sha512 = "fc8869cc3e696356707b846dbbe55b0faebfbf3e8c0eb8ab498bcf548d0b12c04f74413e8a5512c15aea0e7e5ad51d193e88547dadb921fa6af98010a8f620f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/mr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/mr/firefox-72.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "fb71aae70bfa56a876f4d2d033f533087bf4da146245d8ec3601f340ccfbcf4c37d2c5a0702191c0f0f6337405f40b069c0fcde90e1bc208a1631cad78c251b8";
+      sha512 = "303af61561fd54638c1371d449ba23df16eddb4d18a83ddd997d99652e040ce5fa2208ccdee0242e47b25d609fa2cdb391de124340a3782dda965d1eded3d303";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ms/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ms/firefox-72.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "d3cf1b0401cf0787240c39cd31f523d41272ceaced2c219a81173a2ab746d7b0003f919c43fbeae4aea187c0c048b8af71f9e338ca2f4e7049d65d767df950ec";
+      sha512 = "c9ce87194ac3bbfd30b8702fe2496be9165359eb1ffccd6bbe0bf98850de9a3e2798a921d9996546bf59fdcd9c4b1132d55fc6a62ad671baca5143617dbd3fb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/my/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/my/firefox-72.0.1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "10b4272df10d520202299702aff5a0075a51df982225d9e8c826c8822367de6d8598cccec394c057d18ea5e9b965a6d2b6bf3c4f11a52b142d6998c2690212fc";
+      sha512 = "0c31569c512e84aa052cd7ae5dceb164e0f3d48d303848dec80c4490dd157c08889b126ed354075d06d375b3f838437da56d018ae1288a28c30b50e34b4bffba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/nb-NO/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nb-NO/firefox-72.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "e73d077e21bdd3305b85454a256fa07c481f377edcc4efb2b743d51ddd125bdc494d3741138e8b576ae1c155abc8ff7e059803df1566c49a269a522086e35e6c";
+      sha512 = "4632a857180e2df8960eb343727970d6da5eb2d0d82d270f13c337629217a959897b2cd013d9f0c6d93eee54e0245f0ea6bfe9a9bdd12f8f84455cd961d53631";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ne-NP/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ne-NP/firefox-72.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "63c0f1f8bad1dcf2dd1203383577923b9eb5e3dc87d4b1d7891fc93b145327eb538b7399994f6868e7c998acf58f2cf8ae69f57722bf68743900abe8c058f2f6";
+      sha512 = "e485ee72e51359136c3aa0d9c63821ccab4d547d61d15d7db2ae92c139119ee09207135afee13e63e4d651edc407d7aac2e068f559162db0fd32c4850259859e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/nl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nl/firefox-72.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "a2b3c2e791dd9d984b1772cc5db4c492aa530b389c03f234604c592749f7e0e689f10f563c4b9b2daab0ac71361bc77258c8278c0de7703820ede4b130dd69f9";
+      sha512 = "5e62d06d92784522d3cd38b9ff584556984d3271c21ba89fad8f92b74bfb7f536aaa26fe86d24a8bb8af5123865af1e9cc801459fa9bce41281ea602e5495323";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/nn-NO/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nn-NO/firefox-72.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "8b348a4fac00a9490966032c425f469ead22af7eda989e49080ca548e875b24d050a2e0447ab75934a4440341edbf7d2ec8dd04dd227c1dcdc7099fa160e5a90";
+      sha512 = "fc2c4a165b65686b0e7e6d82bfe1fad78fec6cba85f387348f3eaffe99401ed4e1aff1b1515fc12030351943fcb7bb621b7c4ec3e7a8dae9d51719ee69cf1e16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/oc/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/oc/firefox-72.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "8a94a5a3753689c66cc103bcbc31c9c4e943414c27fae9c64390699eed8e00ce30c904a60b83e0c19ab2fe626d981a33f85bb473c3f54b19e1cc225eb122adc9";
+      sha512 = "6a65cfcd9f69a14d7e0f3a95e0594744169bfcb34a77b5cbac3475f79c134d5fc7d2c77a868fb9780d271cfdc5a0e487e35cd20a5b61f7f7da2c0109f1399f19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/pa-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pa-IN/firefox-72.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "c1fa222416168e97452c0e50894d257f5e13b50728fd3cd53331043248b111961b9fc0f106f375295a79ea48af31f082a2463aa25eddb5f668258dde1c299480";
+      sha512 = "c5be85c65e1feaa358ff2e51481a2512c3ca8c8d3ad306da749a9abbf906c7e49a7f0fc88f612ea4e0c19c7f3ccb860dbc5ff2af01e10fb71783d9ca9d257af8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/pl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pl/firefox-72.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "01ca1ee21d42f093e3d0393443a91e7c5cb92e6cd9f90889e1d68f0690514fb0bef6cc295299856a5f13a58cae396e80c970cdc55e90853593e4fba285c066d6";
+      sha512 = "1b824c4d039c0766be5206436a2b5705eea9aea423b8e9d83fe95d13151cf41d8178b2e7005a81b868a40d3c29f9ae7966c62a974a55191985a60ee362a2ab22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/pt-BR/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pt-BR/firefox-72.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "341a9c074476fe17b917047a362775438dc5cce42a989d10695c248db5f1467f9a5dd41cd2ecc9b83132920bd85ba424bbeb5141597a95ab8098b6e6e3b0db05";
+      sha512 = "2004bd2c6c70153b93f809c3e4e0bb37fb178e49751cd9a8cc42267c74ec94a3fc4f6c9d8540d36cac629e03196dfca1a3e4c42e2669d2301ef4ee55a68019c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/pt-PT/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pt-PT/firefox-72.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "4ff64a3091999d5171193be0022fc239fc61c0fbf4487754be4ef9b3f7f8f16055ce302617c68f66c8c0a0fcee5b8cdc5f91e5bbd0ffd9500809d1566436f2d9";
+      sha512 = "28281392897802a403191e42c315020325f1bbde8f8a1314e460d49d55537bf806e2e88de6775824815124bfe6870fb96f790c992c9bfea8d9a43a4c678df71c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/rm/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/rm/firefox-72.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "b7d109e8bcf9eec1757c14ae1bf693ac7616296a112961cac39b5466609af5050cfc2dcb4b68801dca7a4a2b00f76c4b4f31bc325163aac88a012f0a318898b4";
+      sha512 = "6a09c1a14f9c53248d7b6d78efdf16d5d7f9ba83ac572c6b9b53b1cdbf393f0a2d0d9674b3e351fb2376ce13f250afcff0b9b3827bd01d64909c4b4c375688dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ro/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ro/firefox-72.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "e8eae3c374b4ea0940e256946a21ed7f317bd9e37115a0b471ff656f194eaef8bf8205a8385b1d5e22f3aefab1be67cfea314b77483c6d9facfe58d757932804";
+      sha512 = "925ea33212f3208091413f5d5507f2efb0351c6aaaf1a3b58664e85fd3e7d7cf4917411c47bf8473d9f406c2ea6d5c0b82f9d78f0396b785d05d555c6e3df32f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ru/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ru/firefox-72.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "567db4e146fde58297868a7ae7bbe55f658e49578951513d6e0728b82349ebb7b631bff8abe9ea2305ca0ff3f12d6c4b1507cb6df10b45f7763b3a505caf9ac1";
+      sha512 = "7a39ff663334c4c5bc4e2c6c03cfba37cca615b0927773a94fcaaf3461367c87953ad9ff429139430a1944971c7a88180f3889b5798f65044ab5daa751a42055";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/si/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/si/firefox-72.0.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "24db969220444eddd0251ec1f17ccb30ce73050f1efcffb5dff3475c69bbba46735236c41f1bf2910a4c283b1ffe8f0195894f57350031c7519c8080e6ab0958";
+      sha512 = "408be66f1c77ada2d80ad80b8c537e93156dab48f10f732eb1e680934e0bb5c3995cbc63269f60080134cb53d8ba95c3243f66c6f7dc1cef1b80161afd6be609";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/sk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sk/firefox-72.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "921d440d44adc69fde5a68e177b1d2cc7ba224e67f4688a4643887516ceaf713913bbab6e9b04a1ff01bf89f83a3b77709edcd603951f1a6d9b7b327a8c91152";
+      sha512 = "001e0326a8e090b3f4994da9a8f09ca70cb87759f3a5f1eb488724b6070f2c62f38e7eda8345bb7f0b8d168982b564ed74b8eca0bce6e099931f16489137add2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/sl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sl/firefox-72.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "9b56d90ff8b53615a0356fc593c236ee577b8fc2ed751345da4961ddeb10c039bd54285aaf72c193bb6deb27e4aa88960d61b68dda892acd4995c70c44e7c7ba";
+      sha512 = "ef769cdf9721ece1915e4064e7c4f0a28da1c061e8c8dd9fa6e7b5dd7c88e4fd73f7a6dfae4b6a9ae3bdce8688442836040a5d190e44a912d3bf1fb5bc520745";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/son/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/son/firefox-72.0.1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "3bf49dd6a56efd4e855170de6964181fa3cb6e43eee637bb8458d841f863043ce845d17683b1fb2ca6b906dcbd2c9f4acda733c7fcb48a6718fff2f11b38590e";
+      sha512 = "3c15fab6139ab38d3d2dc530681de715eea187b6c86dd84d9b50035cfbb9ea040c2f80c8572c7a7448efee2f47dd51e3d06a3521d787e2902ff7d55cbf191e36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/sq/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sq/firefox-72.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "da7d3a5c5615a187d4bd8f8eda41c42060038ee545a578b31d9f0f2cb2f77c4f36f1ef3911230c09dc2d995444aa2867190c2b95ff399caecefa2f29f5cc9be7";
+      sha512 = "9c96c28c094fa58d41c7d3aa1dbc635e8b1dd960083ec0fbb74b7d15267276f1626dc16283083fd3537ffd35ddb5265713d6055590e02e84b55144c9a0794a48";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/sr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sr/firefox-72.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "753a31f6c534d7faeb775bac52087ca59321fb18d6c3c456e7d84ed67f81fdb12d666e5e481886aacf5e59b22249fb10ad75d2e149cc1f8307e6362058d00aa4";
+      sha512 = "d608f85aaee8262e7dd5988f524dffcd0a3067992aec04b5260c5049cc130f3bf057326aaa52b569d851948eaea2fb28ef9d83aa4c4a60f0ef4c9802dabe4a6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/sv-SE/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sv-SE/firefox-72.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "84ba83794b6d6be38f4268ed0c2d8e0dee4a543de1244f7ab88ea6944f1485d0f6383d029a24c5ec08a3d2e78174e6292ac5c641abdad5f452a95786636a7aec";
+      sha512 = "e13c55f2b570b2ba4d5ebb28462c9a65d512c65f7df950942e01af70bbf3a24e52920ee61c310a193ba45fa0cdaa1bb895b098480e2f8caf63eb97904ceedb10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ta/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ta/firefox-72.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "b9d10d22b3ddaeb9ca5536399494b8a51029dc37e04cbf352850122e988f8e04fe77e834f8cb0fb80ac1cad842ab1617207c8c643dceaedca07e23da44f38020";
+      sha512 = "f8c1ed3c0384ffdfb74651cb433d6d3d2f0dacadb80e8868e82cefdf6523a7963695af47fa4cc46263c07564eb25df3fbe98781709d66915ee640201faafea4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/te/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/te/firefox-72.0.1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "76a2367fd1913a5ffcbc4072701448880ee5319e46b82bb99bc12b84649cbe09464447504f4a8ffe40695c1ae76a2e0bc6f46d797811592c2409e2acb95783c4";
+      sha512 = "0b332bd6858dd677d0572783a92f9e8aa3098881f9683579a447c0424de3d1ff42805b435b8fb96c925495cb6a9efbd4a64c643039b689dd05788e054fe1230a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/th/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/th/firefox-72.0.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "41a16d4d1ebb7e12cf43c748aa6eb44069cdfd6bb10482518d23f5e4886b10b01c103a0c1b53210fdb86bcc369ad4e2451fab6b4a4d3810b8dd7b3e8059a9de6";
+      sha512 = "cf5d207a43e3ff879b705d31d09c6b350b4bd07546b26ecf81a0ddf7aae2ff52bf33c9b46d6a68cb253fd60941fbb4c0bbd88a148c68afe6d7e2496635e4c80c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/tl/firefox-72.0.1.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "357de95fe201cec31676d2b8f1886f096cfad09a0c85bfd0a7b22efb0ed9c61a81dd61e33eb4f5fe2fcefe869f6f5f2f2820862b4d12c617da51efc032d3eee3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/tr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/tr/firefox-72.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "e0602d3b4ccaaed09fdc740b8d445cf4d9d4661bf8680c3ab8cbce002add211e2f64a127dfd010624ccb13fe81270ff8e1679ec6cc0b96b25c81b4fcd1a9314e";
+      sha512 = "8f35c2debbaf88d01ee2426b21c84abd7aa2888d6d464dafd5dafda5fc27acd2caac86acf0fba8ebf2798ae3c24b0e9b7831c40e89123dca855be413eb1f8417";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/trs/firefox-72.0.1.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "74a02e93e892dc5e52e4609104d70808c491c301aa30070f0975f818454de39dbe78f5e193922d383ce01e334a1522b952a8d13cfcdd5699109ca74d1ad3cfb5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/uk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/uk/firefox-72.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "bdda18234e4d38484746a06b254fef51139ef0022474b2bc3a21c8ddc0fef62d13ca6c7829d24605ad04aada6a6ed4e9e4e029014d6e6a4cc56b4256da443163";
+      sha512 = "3412150426f735a6635115254f2e29e36eaa4f43ba532fbf7d78c769d53fc1e181d1f108a5273756b2a036be38d5bd3f4486044b3a4833862e71c600451b3f13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/ur/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ur/firefox-72.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "7018f8f9c34e430acd461610e488968df3f0b0dd6ad53701582644413cf7e3efe0e83e04abeb6b931ce8755769baecb9cc25a2a94a4934f491079df968b824c9";
+      sha512 = "ef17cc7ce86ccdfc411fa9e75d46feec89e61a3e9c0923f9adf3066d0093090c4ab7db7ed598b93f2236954d7b3f8e5ecff7f1699c65c9382727b239efc0ef41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/uz/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/uz/firefox-72.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "dcb88a105c8ed02534b4f54dc9265330035c0ebc3a34326c8a73acc96455a63956c665f4240589b10682e06acd0b4302c144045c77cd98484a35b273168f4a04";
+      sha512 = "c4a7a6063b92ad631fdee795037d76573b3909287212f4cc40a581bcaa5d329c22a2c4b38d549cdbf8846bd5cc5312e0d9726be87629ed76e11d2b5db13c55ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/vi/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/vi/firefox-72.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "43d695edaaa3c98e3607267115f1fec358c6b93bf79b2dbb5433ff98abadd6af54bc40f1fbe7e6fd7ee5a11558dc3266749b2cfaac47f8db818e554722052949";
+      sha512 = "464dfea04faf08450d14615948644b1349e656a059d940ca6c2f102cfa5b57b2995b961b79b2bb1c308c0ed177a0149b0c94f8bf42839d684be7c9c528170d1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/xh/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/xh/firefox-72.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "ed78cda83cc9207a84a013c01535a423b8c315464b0339fa684fc0c3c64b4d014d097816b115a6d80c79c725f3b376bf996d980284b75a774418f9999dcf6e3c";
+      sha512 = "871fcd388a9309381d9d19878620d829fd8e914f13206e3d924bb0a049320a9d033332d62b7172f0bd31901e32eda0f1ec23017d7ceabdf76fa529c4444f2406";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/zh-CN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/zh-CN/firefox-72.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "079dec7bf78a3f1e8b3dc392cb30916f70fde6e1092a5fd4ac26719448a5ce8c3f3b86296b585c8d9c4941e5a106976967348021aefc37fc8b18e352091e0664";
+      sha512 = "fbde202c492054ba28b3d5387c12cbc7f29a9a0c49fa6c53e39495324b501cee35dfeda6adc4023ad7c992527c41f868755f3cc216fa0a2d71180a8f7a130994";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-x86_64/zh-TW/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/zh-TW/firefox-72.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "24a30c8a29ae61a3a3b96c68cc56086985be110da3cfc10210c3365fb6ead7dad9450888c15151fa782f0f47326fa3611478dc4ac265dad63bcaf3e1a654d20b";
+      sha512 = "35b5995ab0443832eea07f3c164b29def23e213774e28d36b70d78c3438ad62b17a7e8d4c54e22d21c15a6fea0ea97ac4d3ade91890f1c8d5255a3725e3f5c7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ach/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ach/firefox-72.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "9523e53ce15887c713ed5664cafc89c41a9edb0430374cb7e15321e51f5f5f626e27f626f4a2475113f2c4dae9d3fefe18d498fb47166da59e7c4fbce7ae5bb5";
+      sha512 = "2e7613bb1f6e321f64d59215eb5fd36b6fe0bc2950251c2d227521a157400dda00fe9ce2d17ff8d6db650f6b3ff075b5e32090bc7c92c0f0bc34f38085a85d43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/af/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/af/firefox-72.0.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "2eb5ec7b08ab03d99e40b1147878211be92592213e568fe1770b8a1e570c012a43e60ebbf708012b138a615587dc28e12d9512b732b3434c6144c21ef30cae29";
+      sha512 = "f2bc6ce77fbcd24b33e57801b897be9aacf3944caa2fe88a3c94636dd3c0efbe54bb09c04a2c98e25d426f734869a247ba00fbc0bb28bf814709b7f3dd802e97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/an/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/an/firefox-72.0.1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "5eb5a56a0171f4ca0430d453c797d0a5de608ef947d1be3a471df85572658c631be78c70d90542ceb488f6f23986439acf101ac35949b55994fba1d4b7f353d0";
+      sha512 = "47eef64a2dcd87c776a49f4e4f962472e0a9b0b25ce3af14be06cf31f0ee2da6d215bb1e3786f9e806ebfa80cb5840820ce8239d9b417630637fc39a5742ce01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ar/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ar/firefox-72.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "9cbf0bb2f75426361a015bae999e86c4cf033136f86f942def26f05ee91bdda8552f93f3fccdedfc01f2ce3366adbe7a89a5a49dc99394f57d95dae658df18e4";
+      sha512 = "3e2d21ff4032c35aee149acd2e81d8a2c81289be701d3c9473dc87a163c806cd8b78ac05a13e95bfdc83ace1a79615d724bc1fcb317748ae6e40763d0025384b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ast/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ast/firefox-72.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "c7dbf2fa1e9dc77a57259678a09242dd17d5246afecb395406e0f11f4b3d00f899e331c8e8ffec8f1b8487c710ae8adbde5b57366c029d8d2aa53a73c07df38a";
+      sha512 = "4b6db32a734fd371d14954ada9cdcb853a460329a26c46937eb08549aa1fd3d6840b23ecbee65762dcc2d66c6243dc300a1fbc988f54773b29662fe108b06398";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/az/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/az/firefox-72.0.1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "de4deb88d31748410c77994091faee898d08ec211f2c55a92c7b2fc447758175311c6324f35e1753f483351a76616944392a5e9201fe03fbf50ed6e8f11ece5e";
+      sha512 = "4891d270449593982501fc0a6a44fd5273b306912e935e1486b4352b1c73bc8d39bf22c58f073c4ea59912636b1a7cc6582e7179f6151abead7e32ae80bda03c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/be/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/be/firefox-72.0.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "64a94634bddda83e516586b89feb329f93dd26b98da690f46367c31f42b2b7cc6a9ccc3f339c4cfcfc507b8380b57bc81244db41cd07407acdc82ff455f84241";
+      sha512 = "207d9f0562b46105d96be498b9d458ae88a9de92df5f4ebe5ac30eb502b0e959ad6652392de4e4349688ce9904f2743f287ac4ea1634a8015e6b1debd0e186e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/bg/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bg/firefox-72.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "b1740cd77fe9871e580557c2d81ee6f8d944cd823f5949fc25685e7a7c886e960a70cf7f86d6404f4b33d5c1da4622ed452d217f7c8fd1cfcc2062531948f0a5";
+      sha512 = "8c180f5dc6e98f0f1f00b4b210069fd5265062c40c884e511e1e0a0a14dc6e50530c47ad67deda95581250500bcd3fbb3b69892bc8bdaeb2feee4032ee771a77";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/bn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bn/firefox-72.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "5a61525960b05d788b03f58445e78050680c7101b70c017d07f9144f911697f2cb113f0a99a6898ee738bb927bfbfdec73714b3e7820a3f5d10484f9526dce97";
+      sha512 = "275c34985fa071ec47fd0aeb0a340ad3a6d829dcb5030f3850fb9c02f8dfcfe6ffa642e1e551c9ab9f99d42232f6c69b08e6da6a9e902822c6330262e48b998e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/br/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/br/firefox-72.0.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "9791d88c4c3a3ccef9fc59e4ffe74ef4b16ff25866643cf1ad43cc727d3880568d1d76c1f5ef4598c3fafb83f9e1c53ca43fa614af572525351a46ba646c5c11";
+      sha512 = "9c5a9e7e4fbfdf264db34358a97a9d64fd963850dba182da3be914f2fd81e6ef9360e07f7541487599026df4b312c09e893f7b48779283d8385ef2c96f2c354f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/bs/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bs/firefox-72.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "a75b91887962a52b9a24a7bd7d268baf54c5d65e03f444563f2d12af36f01fcf9ef3af17b642eb1a2dcb365ab58cc0c6e25bbbe94aee2c3c9ce487f57a0f5031";
+      sha512 = "04a9741392aa3c234349dddea7fcf2f7be26ba8d39ba11f71222eb75d4aedd925c6de4dd1013ca1f53321d546fc7e9babc0fca8336af9689060bb75bfcd9635f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ca/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ca-valencia/firefox-72.0.1.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "e9ec3916406ac3c3fc69f792b79fe267923ac57a9b6a2de8d883f492a83dcc04faa93dfc59acb632f7f0ee3cdf167664682721743ef62d58b2393f8ea85bde03";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ca/firefox-72.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "d5489feb1053c4f14481b8cbb3c55c9e6e99b970924caaf7ddda32d3274efdd24d4486ca46909bc469b3791ab7331b25a0eab476ac158d807948ea79aa8c4857";
+      sha512 = "c5e2a8914f70c633404653198f3b03078991a5afde0fe30d6cf28030671cd75eca6f34a1ca3b1c7db392c65a62d6cb5902ead96ded0e8a71636ba894986d335e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/cak/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cak/firefox-72.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "ecfedf3b03bb6d52fd43e077d4caa1c09c4a3c43af99e0f5a4089840d507484d753e7a8f0a43bb35b73250d21ffe27f38126ca22b26a06eea494bf89627cc906";
+      sha512 = "1fe310fd841c7565690ba121f49f8111c75450ae06a13ee040ac959642b025c8f0944425e57a90150c8d5acbf68e79b4d162d014ad191b027cadbfd9d7b570ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/cs/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cs/firefox-72.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "5ce4b41bbd50e3ef18364e32632eb39bb25750910d1f5792797cf6e20a11c7bcb65ccdb7b23d780af80552363e7502ea22076bf7b1e7664d7b46b5403e32ab2b";
+      sha512 = "4e89cf9a5230541278dc19327e0a5a9f15a663f0bd377b2458750bf0df7457495ada697678e5a47012a329592daf18b785e4d71dc9c98e94aeaac6c280184196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/cy/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cy/firefox-72.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "35ec97df8aec5981ca3edff177a83a8fa52816674d77a7f784cb9939ef65c797d196c7b6512d16307b9a3db8afbecfd958d4b296b72d93d36c01e372ab358175";
+      sha512 = "c08e9fa79a2cbec9fc7d836c1a275099ae3ddd482685298d76806e1c1ceb99b85a025de5162061117de30909d0e495f489869792112d0496d501328f8136c184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/da/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/da/firefox-72.0.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "ebae89079a202b95601d511d0052989bdf41f5dc7dd76037536982c12ff39f08ba4a9081d41fb0b9571ac5fda7fbe228154c4c437b66075bb1f27aaadc0adac4";
+      sha512 = "6c90eef1e3da30d9106e7cf97e0969a53e59bba19b5212a94436bba36a428842265c2f9da58d467915ced71a0386f406ebb1ddc052a9832e0b8063d6855ab879";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/de/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/de/firefox-72.0.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "13bad87f6a65faf5f6ae95e613b199102fbd02204670952cde280dba7ecbc25a201c1a4c424f1ef1bec85a9af51b523bd82cdab612e0933c68b3e257c84a980a";
+      sha512 = "b2684e528dab014152284e3c5aae5874c3ce16548bb2101dcdd91fec6831a486d883eef3673429b087feea10b53e4256c7c083f26a3d8e40e446f4a1f32c307d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/dsb/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/dsb/firefox-72.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "32f92a1d47e83f5f3b73b4284adabff6282e65a5df7a2f3e4c76e5e0adb7332ce071ce0b250346870b79df8ea6118b51bfde7604d054dab86f230ae261eea8e0";
+      sha512 = "c25cd1edc62268ff5cf67f4f0cf9751846204d25bd97b214f8c4097ef87d71b5f7989fedf0d47867fe74b427c0187f8398039d56c6e86472d1b9fade73b0cf94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/el/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/el/firefox-72.0.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "b524c8dd476df29526d030adace43660085b5ffff42f3508caf22a887e4664367606b57d6cf47911e0b61154df10c789b189ac897be80d994271a4464ad3de90";
+      sha512 = "102679221b358fd7c1595a5f23a0eecd60c83ca37c00e4a765dfc2c852047bd17520af733424d0c82ec116c83900c85e6157972841deecc3eb9eada1bf22b4f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/en-CA/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-CA/firefox-72.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "005808f2650cb486b718b2fe0e6fd28cfee8b7bc5cab336421cc6cab70a56b0362214853f51410a25680b2cf4d8f528a274ac79f19f6235caf073ade4b1f9882";
+      sha512 = "2eb273a9f9303b6b00f42c6d2b1bb6bc7e657a73e5710694362708208d9d9292a88f6307fcfd5a70aa3888fc0c075c1e2e844802d0307be5c02c159d3c266162";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/en-GB/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-GB/firefox-72.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "f9162f83614e6f9ae9a471b92597ce10090577a0e76b10dad397b1222f0012c44dd8f2e3bb8b28f2475b0371ddde37874a24edd75740d0d0a812dd4b5760fc5d";
+      sha512 = "efcb3f5305e343f99b2d62adb1d4972104a4920eea85caa8cc4a50c9193ebbf741acf2d762ac7280b1c99297746f1924444788b86e25259f023e1d31ef70329e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/en-US/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-US/firefox-72.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "a7faa84a119abec0905718380bfc8d5853647d75b2d36e8bd7221b10868778eddccea5652f990a8626dc14da6b3402ca7adf5b7fa9789b13d6d460ee552d53d6";
+      sha512 = "f30ba9e8bbeff878e5e07b1cfbdeeb7ad84ec93736005cd0780c966970f0af056fb1dba5167a3c8cd31bd9d680054d0901c8859d9764388513cd4145390a5502";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/eo/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/eo/firefox-72.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "90f02c45bbe91a3fa830967b32776619a21066af4a4df8201ad60cb0bb8d092b814e0d44a40bfd047635740381c223b7f4d17814408983c2cc8f1577fea3c9cc";
+      sha512 = "2c12b5fab6247d2072ff22f9ff6e25ed52bae0a9f86ea24dceb5d440ace5209d0ef7ff8c54016f06498213fa2c383c8f15697e386f367e4c209941cb67bbfe8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/es-AR/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-AR/firefox-72.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "a1d40686834a78b02d9ddb4b99d26f8d9c44ad5a7d36ac47652a013a430dd392db6270498eaff2eb7248808a8a23cc57572d6f4fa18f963587cc95381f75e7c9";
+      sha512 = "74000cd852d7bdb54fc53816d14baffdd30100a3e4e5ac62546f057812631684ff1a3b6d55b57d8974b1aeae823e86a1a309f548a49a7b584db3e4a772822557";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/es-CL/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-CL/firefox-72.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "761a6b16ce97e28edcc630f4edcee5636a0b112385956ddedfe2e18400207a149ae3d0275faf9f992ae0461108646f258e7ab75e93b9cb6f0c4900f61277c5a6";
+      sha512 = "74084ecc5d419e264b13b4d26cdbd231010632da36a2660a49df6343dbadfb9c7cc3b55a8bc8aa97937c6c4c156065fc4b85987c88d3bc6b12e45a3695b8176b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/es-ES/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-ES/firefox-72.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "656e00db3eda337d6dc3e0bb69af70eada522cdaefbbb48dd211fb23df12c44bd48ab02e082ee711de746f2dafa52ed918b6fd13602a04b40eb58369b1a6fe11";
+      sha512 = "6ed8e84c4f5b0ce3da7f9f7cf3753d95f2ec8cc0283aef88ef75c5f05a4ac20fa7cd70fa212092f6ad5971aa73def4d331b6e219c958fd0dabd672d9ba9b817b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/es-MX/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-MX/firefox-72.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "604e8397f07e1dd8337ea66fbcfa8c208ccc183d482881e4f7c2a9839ce6f9f14a89e6b981cf5ec4ca75332273af63458b0f716ad34a64b6db140db87159b85e";
+      sha512 = "ec4154e7c84261fc1522fbe10a56cbfa56106d6c57239758ff3d23c83d2c676c070d01d91a57a18f6c367f62396335769b8793e7b19d85f38006c51ebd80d851";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/et/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/et/firefox-72.0.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "d5371374a98c8a9d678c8d4b4f3d3af7152f461bb111e4451594570546acb5d94756eed0c6135b0d72e0c7f455f50c5654ac34275a06c60238749ea28104ed92";
+      sha512 = "8857b3b4aa2eac6e7e8e541e5aa8f3ece586cc8136702bc10fdc8db00567990027d4bf8231a1f6b91de69f59a2e683298eafaebd1d8d9870cbccd1b87d45b26a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/eu/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/eu/firefox-72.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "a5783b579317a49ee50a74c93b557a3acfe02911bf14e1a1efde185160a4658622ba635662530a4fd9e5c7251061f8eafd3d2421fb4f8eba19da5e0fabbfc8e4";
+      sha512 = "f5448cb81117d9424ab0b5653fb9272abb96cdf3d563fdff9533e8d066850bf9c3df29a076bbcae99ec72abbdbbe5300bfa58ce9e9d228b6db62539f31987756";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/fa/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fa/firefox-72.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "70655dcc91e411d3c430e0def9d8b7730922ac4fab9b902fa08f791db6e7d3104fa46aec2b95b91b8e56654778400b3760c4399135ad008aa029daecadad57f3";
+      sha512 = "49226e26b6940dc7ffa02b6816912de20d05e371c00971e964896cf093b92e8f1de355a17eda648b01e58f1c03a88179d18c903925d37986a5781a8abe4cf404";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ff/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ff/firefox-72.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "d2ff78a9f318a9d0c74aff45d5559c605048bd3655ae4c0cae3018ff9c2f7c030ad5740c4010f1ba59c51633c35b2649f21d84a827900ef3fe277888042acd6d";
+      sha512 = "3c188cbde07b11e99d6cd717fb83bfc2bd172eff696138a2e1922bc344e78ec78c957becf4419b8bf1fc87b479bf696f7955aeb1fc8985e18f784ecfeae2fedb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/fi/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fi/firefox-72.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "9e8ca84d3e9642ee8950aa676182607d1c19b379389605f4b9311266e15c12d3dc6cac6baadad2f71d09e8acbe1a86ef029002fc46e39ce993370abeefca5eb8";
+      sha512 = "0ab82df10e491acfb072c4c991e41a2ff8967737eda1597687be00d48c1d3d85b17540fae457939eb9de923d4fbc3f959ff31e148010eb9c85ea66ff4fc0046a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/fr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fr/firefox-72.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "0d3810f2c00119277f1d7db396db85e8f82eaeec1db5d0bd7b10e106852140ddf704a02d4a93bd522c7a5b7f6f5e5b0457265cfde0f965e3442f42f55c6dd1c2";
+      sha512 = "3d4b12b186c54581fdee04ca756dfbc5a772cbddf500910f66c6d7d85a5a3a7b8247a79e666270e54a3185423ce452b0d7d2c87f30d407ceab7cf24ca8fe8b7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/fy-NL/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fy-NL/firefox-72.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "2fa52fb095b4c118404378cd1435058634c5dcd77b8cc76d9f9fdf7596006ace8bdbfcef3fb7355022e241c4e35029b0fc44b1284293bcf473a7fef0df36b0d9";
+      sha512 = "446f13993a9e14b0bb9af09295f17fda411367eba9d8184445121baf0cdbcec33a6b18feb0c1373d7af003ccf457f21014cfcb6a9d7bd74999df11c6da02f47d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ga-IE/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ga-IE/firefox-72.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "d2204a87685ab5bfb03bb553c18793de4774c563b40bfd13f8c7d50c088a6944e646d01fbacc0c16189da3f214a185bf82aa042de56d1d63ed020483744612d7";
+      sha512 = "c10f6945b5ef781e77a771281144289c00159ea9bddfb43c843f3de73b4063c930908af7c0d60a7c9681ba6c3cc2a61bcc8e8237abd8c615f5ce63439a4a0dcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/gd/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gd/firefox-72.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "a0b6139fae5b0629f5263fae3175fb7a45218c82b1517f97d52d4e65e5381dc0a15e05c1bd1896352681520ba7f213df24ce4878c9b9d4254e17a5a903d6e9c1";
+      sha512 = "408ef04967d890da9bed3c60829fdcdb5b6fd0d8ff605904f4e563c7e8d971ab0f56e7d2f70db375dd50fa05d6d48889004271155416461b550fcd5030a4051e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/gl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gl/firefox-72.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "6e8a7f461b5d5c20ce60c7308a44c19e76bddc8637be3b5b1d2083434c3e213d9f21f6596573503d4cf5fa105cf7a103c038892f052f5fb29b1d6c64d11b4bb0";
+      sha512 = "246c22a6fbd0c57fe95bda05f65d1bb1126f4969bbc626c475126fe665d86f3029de0546373690c43f972fb7556917e4e6ff880e294f699d949b84b82dcab7c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/gn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gn/firefox-72.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "5288b63758ea97c3349a5e8a427479f2ecdc7f855790fd05ba1de662e1997352dff84103076a923caa67872e849b1af5c2c80168f52d258d1e3f0aea1937a0a3";
+      sha512 = "79b84cd7dade66fe9bf866ec053e069c127c9c24fa55a795da2870fd21c99304be77a8ed249c1fa61aaa2644036d40737596e1db7714cdb76fa030c2b446295e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/gu-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gu-IN/firefox-72.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "4e354642853c537ca7dec9bbe184a64f575870d8017c295db053364635c54ac8cc8e64a9686625b567d99d9055149a9d053a44ae0d145f91b01610570080556f";
+      sha512 = "30759375ddc3343edf4d5548c5e68da3525001ae1fe2120918c7a0e9ce77a5d4038d8083e7c5556ccc043b9587b5e048a9adfd53fa1a3c9d35c0ab4dc85fa6e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/he/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/he/firefox-72.0.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "e627e7d824cc8174430c8450e1224a61a50cbf7a2fe7ebc1cbd13449c155d2334e40201b5e4190fdf848d7e53edd177bc70caf3addb220dc03fe1c1bf0fdcd6a";
+      sha512 = "4db07da68a7fa44ce1ee23fad5c5041d91ed5598fa4fec73c10cb13e71771add1b56e0af542d874776aa67a714440459769f9e6a5f8ad7d3530ffc9ccc6297bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/hi-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hi-IN/firefox-72.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "100c109d4668f1c5bd559bd539ee39a556eb03ac29cab0824a8d9f9121a210632d4fd6aa6e15f523df3bdaba637b5e13940e7afe25d1cccf85ad91eee693c89c";
+      sha512 = "17668e7fb3eecf5a9d9870cb634d7437d6081f70ee82811d08ba17d3b9c0bbf05c8bbb901b5e2090c7b133a9b5f742bd9de4d220b62c019e97c7d91ba847b0bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/hr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hr/firefox-72.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "959573f7900c124dad817dcf526afbfe2a108305e96a94d20a763e19fd6c151b5544ab41191b731ed3881be38f78a29a747c9aba087b82ef29bf8f37eb3d57e7";
+      sha512 = "ab51419d8bf1397fceddf47b97b5223da65610dd13ab72b8c9298b514218149373061f8828a883b05d6f2d68ea014766a547142c8189085f8f9b7befcb4076b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/hsb/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hsb/firefox-72.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "4832103eb5ac251f664fc68b044b1bad78260e90be1ae9d3c149cd4d36b98ab1dae3cd56f135e4a7f46bad65af4a368d77717c332476d0faa453655ad0ccc2c4";
+      sha512 = "4188c372d56d190d2020e92a9f443fddd6e225484d4ff7c3d4aa78b3ebb7a9155809d5c0e5466946f228d5c4333adc64583b93616eaa337f3d9e279c2337553f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/hu/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hu/firefox-72.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "2f48f16eca53488b2d6a633913214d17f9be56ed84b86e2dd7d2134eb0950d3211e674ec836fee725d08d08042800fa72fd808dd1806b467a2559dd7113aa957";
+      sha512 = "30ab854d45f6cbe643839c07a08a838a3d1dc871c1321da1597c913a4fb3623a9fe19bd078e20cd9ce848b3dd9b0f44c77626ae7f6321d60d5ccdb9e5d3a2177";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/hy-AM/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hy-AM/firefox-72.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "315c10ad3c3787e7d564ed563d03b86204e825c9e4a5651a47568a543feb7bbcd0a5243ee8878e7c60df410a578e2fa69552d43ab2aa819e43124b1ebcd66b86";
+      sha512 = "9ab1d1b43b0f70196395701c0940a76fb71190826d17493dd4565e1c859e68f8754c1ff119ffdc56a680b809b23e1481c2e764810cac3cf1cee288b35bed4dd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ia/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ia/firefox-72.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "376a0f09596165fc8c1f5c3624cab6b3ed0f512826504ec94e874b0f856ea3282673b99a6e84c0bf0a08ef76d9d11544c25cf501f3f2ca88cf3f6c00ca19874a";
+      sha512 = "a88de0287e9cdc41ede83d7004fd0614caf479109abe79e1d3f3dd4f370b8f79a48f2174f3a229a897609d2f20d6048d3d88cf50a2934ba3dabedf96794958f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/id/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/id/firefox-72.0.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "7f2acc92f59bb0568b6ea96d5820441790b95377f56da5158bf41a311262ff90bee1259f3917454b11f61fc6e4b329ad938d1116e8940fb28c529c31898a483f";
+      sha512 = "e5eeac2e2236704a63680cf17c831076a99a993baac3f7a1b9381d8d6d40aafa898fac2aff93510179ca8d3f0dfbcde08ef7f6f99dcd017d2362750173c89111";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/is/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/is/firefox-72.0.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "4d714ca45d2d7bce2e2798c3fcfe7c876b024441a55c53e82c81cca572ebbbe172127ea005516c5729b49d4517fecef497946a45e2768e88f5b648cacbfc14a6";
+      sha512 = "c2e752ae20ff38177457afe87b2c80472d769b41026b7fd224a711138482b3cb3abcde4fa2134570ffab89cc110274cb8bad378445bd3cea77f35a825946c532";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/it/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/it/firefox-72.0.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "57fb82bedb27d1928f5bbcbf5f0424966d1b7969df07fd6816d72976fa7a7ead07d2dbc644079672b5831fa1339104d5a9dc58f662b38dcc719e54cc5ce8e1e4";
+      sha512 = "50638f98c440c9ce73f298f10f9dca803fc7a241cde1afccf5e2f87701a28207a0d01fd90f318a2192174c8dce179a84f3a8c0281dc8f1c0bf6c5fd3793903e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ja/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ja/firefox-72.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "9b4bc5aa16bb05132de7b894cc118dd07166a5f8af603aa206f8e52aa8029532f4fea7236791ed1f0d8d43214240ffee6297969b030750379631bb55ea105609";
+      sha512 = "8899ea60537da6da0d0cc4bf99ed406ecfa21183b94865311918c0397650c81dd36c474761c14e2981bce5e9093d3e905dc465141f62d14bf634c4dd392be870";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ka/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ka/firefox-72.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "d0b789fbb3fe72bc8e0f4eba595d8015ef6c66fdfd6e8d699ef15071b1e83ed4d5245f7513a6b7122f0852378241fc2ab01047f4d968dbcf40dde79a7524fa30";
+      sha512 = "146585388cfef7c339142ac54d588c790e1bfcc81a7c04ba47e778732a64fe5eafdb0cb00bccb140c75c1b6a2f6e3c6a3e2f700a978f4569b30c6434cb7ccb4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/kab/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kab/firefox-72.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "1aba37ef9fe09a5765ba3b4dae2165373b6fc0b1a10f6705835cf70af0797ef024256d42b7f67ee9b8eb2d93010bac165732d483928253d289d39260799cd450";
+      sha512 = "c94d2ceb3cca7c15adcfe4d282882c10a13123ced5a939566732a85a7004ca65d002628d5600569213f5e829e3f28261a25902e6cd1bc5716e732bcb82ed28e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/kk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kk/firefox-72.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "34be7310030481903c867e3d0ef69cf87dea784804190db89109703568515a933704d81d3aaae2e900be6b96a99a48c5d72ce860ece0418fee344b73d774fdea";
+      sha512 = "2c204d753f233548ba6409046653d8e9ef1476bf161a040edd90c5adc519a48e2cda1253ee8fa16b9a05c1147d7697dfeeeaa7700f01c072477d557102f58a60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/km/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/km/firefox-72.0.1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "62209e5ec47160647d160a8c74ac63ccba4340704e6408cfe780ba6215a1228f994a6b3af5d7d44438effa778377fe31993e255bb6ec4e8eb622eda0f6e6eafe";
+      sha512 = "7bed04807b6e6c90f69c6eb3ea53136dbbdb88924ec2a13019ce0660b3c58f001db94cf8054f040581cdc8d5b9589138542b13b8408da0e8167a89c1295b19c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/kn/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kn/firefox-72.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "ac1fc4c0c3b8b6cead2eef3dffd208eee7cd215aad444f23e00acbf390b933486cfff9b26a34356c57b85963d546d2ebb01dd8e22615ce58df0e1aec83d7cdb7";
+      sha512 = "e7db8109668c0350cc5b970da5149072676d6f59ade68bf8f90ef15d35e422c6d102b8cc9e7b5de5d92e14e13af85dd47ccd21f98c974d65d65502a2b08d3eb9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ko/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ko/firefox-72.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "a27d76e6acd03b1dafa9b3931a8906d456d35216947b37148eaf48736be18953d83e3fec01914812a8180017ece34662a877c2aeb218404ed3f1f75287b5427b";
+      sha512 = "0687087a4f58172a69f487ae395baf362b03725eb4435306531ed848d552fba835aee43ecedfa3bb8bf9fd518c324727a6dd9e772789253135c46b542ebc71df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/lij/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lij/firefox-72.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "c0dfb7d36b87250edf7eb2bb566bb46d9ba782d257e87f6e3d080972d2f1cca37b6c41201fea7fdac86db471eadd86c2e2d8a4f568c8d89e848653060e01dda3";
+      sha512 = "d225a4b464f37b45463069b571a78c250bfb242b598aba681209255717113904f3f4466e0f20b8e34a96e1a00355cc5d2ee65361e5b252275962003bd0765f52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/lt/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lt/firefox-72.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "9d0990670c808f2e0ea2d4033e4a33347653979d9eb228ba7811069c5e2559e66c50eb8b7c5e8e4ffbd7916f049813b52c3035907d15b8df9dfd266a31a92883";
+      sha512 = "3f0a5c0b6ccd806971d902aac4e11ea1b783c7b5a121e2d92c08ecad14d36c35ca56779362e2cd73e91885a6ff909314d44b290149378f0046785b39b6520d69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/lv/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lv/firefox-72.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "0369ff96b5b31795df415f9cb7009208a6e061acd384e0eae689b6cd40e74c737c3137c6de001f4149cdde7f6e6e3ee24eee5d69ffc83426285cd109a29b5441";
+      sha512 = "170a1f7152f0c224e2b7d0b0be6d9f93802c1ae76d6d5f3adfb86ef6793d23218c3874d912dcbbc2c77d7e9a17e50b53e6d265e1a69d40bb71bcf44324dbc8cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/mk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/mk/firefox-72.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "89f9401be25014c9b209fde3f2696462cfcb8b700163190c7c81548dc610c53d930cde00b8d3e25506a2e50d55cca401f856c5a80e2d2a1a1c25f4ab3c167e75";
+      sha512 = "342d83f45f97eb89c36d3ed5121b11b21f48d8b79b84e50a44704c9a3b11f428104189888ce6b0c77070b256f30432f0b1365af2016675bbd15403d14e439e33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/mr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/mr/firefox-72.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "5fe5f6a7f498d0c287bebb9962843c8d94f1f07245f55c8c904e768ede8fa41ee8b63628d63f03f73c9b46f08c1a10344a5267737cd5d89b7667cce7359cf01f";
+      sha512 = "6faa239678801054aada6860d4b56d708db429a9a42bd6d5182ea8b13f823264130831f75fd77c20c3ffaa955fd47cb97fd4ddc8edd486cfb59166fbbc04421a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ms/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ms/firefox-72.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "8e38689f618fb80958b8aa91ce83114f52542c4ad42483f694df1b3825a1dc3de2cc34d61cac5fc55b2b35f9dead7f31e7ddd631f9336c5cf711f02ebbe9a2ee";
+      sha512 = "798bd9ae750c2825f538e971c59775d9e989c32576c3abf096e33ce205650248912468769b43fd2e02a03338ecbe24ae0c7a1ce89de059ea113be04af4797696";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/my/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/my/firefox-72.0.1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "5a8c6ac58cfb35b12cacfcbcf933a7aeb5ed8a425e15f9953746e593c6b15b517305d7e721c89d8fd66967f4fb3de0a50f1b6fa7dc4010a120f9d93745aa4e7c";
+      sha512 = "27714b0bcbc636ec08f6fbad35ea6fa047b39d53e887fed95ff5d3b5a83aa3f5ecdc5081f08aa171feabc5d2eac04dbd0a7b523373341cd6f0448f15ce81155c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/nb-NO/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nb-NO/firefox-72.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "80cc7131d33cdbf49a346ced7f8a771e2df9078cfca926e1eca14e15464dc84d574efe9212031f986f8af7b339f0a16a31c0f492ea19b4f728763124b21b30a7";
+      sha512 = "18df354679b1a564fe18367d12a0a739e2ff330f4c7b559e3c9e2ce9af842bc8ebf94b01bf190f85255927a95df3dbe70fdf4baaee9f273c4bab8737e960ce7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ne-NP/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ne-NP/firefox-72.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "42cc3265931455e4be0c4c0a25e108d8af14d786feb232d2b5c66695a9f182fb7d93f604390620c211aae38ab7e9d76d6e498867d886badf19a4034ab08503b4";
+      sha512 = "a8e86ab99146c482366eaf8e59cf4ebcbfb9012a2591f925b9a4940f85747eb066a365f1f5994bdbb4005989a7a2281f5f3a33dbab518449d05a3b66589209b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/nl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nl/firefox-72.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "1062c28e1a5d8ea5aecbe1af1b4b70e0cafa362c5cae1a5f7000220acb2f658cd3c5ccef8ea5bb35d6b14ddb211b34bd3a0169baa9d02a37ddfc1feb90f61326";
+      sha512 = "58f2f70a6cf55c70a5ae7a280f834b0f5553950abefe8e54cd804d540ba9ec16dc7c5c998bdf07499790b202546c95c9b65d9d42bb826191c1ea7154498cd939";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/nn-NO/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nn-NO/firefox-72.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "9c0b4f0ed5cf8ed2d8fcd71c6d72f09a736a339dd83318ea5368652a154e05a695254fd4e78a3e8a185e0c10362e649883e772ff7e64249c6c470d39cb690f50";
+      sha512 = "7a350a2415aabf4407fac3b26abbeda0cda67bc109636ebe06a1bcf6f449f24ac1676241f4e94359d466b130334f1894a4c962acb6fd531540c1b671ab0754c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/oc/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/oc/firefox-72.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "407ff179331cf0dc5ae6061f3f5e1f13ae7df5dd5d23b664bcaeebc95e35e6c3b5307a5575264cb0037cbb4561d37dc68dc69a5660729a18593f9e3ed25770e3";
+      sha512 = "dec9c3c3e9c8a5502a4fcd3538248eceb827df95b7cd647e1ce562a3b8ad56e9b060e9fddbda68b87157ac04bac155ddb273b94146941f4adc814c77b07de322";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/pa-IN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pa-IN/firefox-72.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "c1efcb59556591fa2de0568fffd0b6e29835144ca6cda471153c2336b4500cac0d367de84ef345cdd6d995297ec854df97380592477f42cc3f197b1cca443fd6";
+      sha512 = "c53fbe696a907608b557b071f8d10db9029fc315a6b4909a4387b056cd794efe3aae51f4ccba03235d90161284281f0feb3fbf7bd91f6c4b794786b2e632c3a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/pl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pl/firefox-72.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "881e8e438564eb7de648a2bb9c199e184edee3c97382cebb989734e0d6aeb5c213590d6ea04ea6dbbe31c085e62be18172e4dede07d8d8f067de0b2e52d709a5";
+      sha512 = "ebd0b078f7b6949d60dcc4d42e7b13a385528076bddfe75b659b7407fd9699cf705465a6bb37fe60bf9999a2d5a5f95b65580f77116423276434c47ab0e5651e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/pt-BR/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pt-BR/firefox-72.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "b45f8802d0a9a1967b17f09bc99bc6761befb676e901fd0b0dc891f0d222c8d860337c70931a082a8508c68cc8b259d460e0534bf9e276c70f69a092f70f49a2";
+      sha512 = "a08009bcca93ff1339d22d3c745153232b65332fba7546df17d761e7c382b4fff8bcde481b368a9704cda8096f42d39d5a422a1a6c3888fab2905c3df717338a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/pt-PT/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pt-PT/firefox-72.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "2b04403601a5c43fd1e5f4f69f3cc5a3761b1d017c97f3b9997317bbc4cb0960aeaac4df1145a8e64b64aa2397d0042fdcf49b0f01d8403b5d63fd26812c85a1";
+      sha512 = "ed90835cacda14da02f70ce7a8ddddb63df2c9c5952d5380b78da9c57d7f9264e6034fb6411c1da7d41d1f7c42107fcd3ce09530dcb63462849df194158ab7a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/rm/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/rm/firefox-72.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "37f0c828559cb9afc157765ea87b3045f827eff59c2a1fea62fc75c3b28886191578bd81d2f44c9acd6d9da0e63e67cc155724759e424f7f2d91ec3256a7f899";
+      sha512 = "b67fbd54ef325232ef4c3168aeb1511bd96a3b359d71f4edfd2dc3f925d9d246192c24c65332baa80d57f3449dc94f6c3f06fb9ffd6204959ec7745e61cdfd6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ro/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ro/firefox-72.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "23a8b2753dabbaf2e020c0cab2359dbfd99e260d17346de48275941b43134d1b6fe844498e4fda10e5323adfd459757d2a1da3c82b441ac099455b8e33f2cad8";
+      sha512 = "deffedac6577d0e413954217b075cb775330b11013076d484329710756fd539ba2c35af8c267f49aa367e7d61cf56de65d67b2c888db58401012f8c3f6113427";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ru/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ru/firefox-72.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "b8999174e73e0002c06077575ed9a2b8b1dbbcac162a8d53eccde1a3ec50ef5bb26a123e89a5f38029c379560c0b6c67e8da355aeb42d151504fdf3cbac5bfab";
+      sha512 = "ded41bb7b3a0dadbaeb05b836a175988133a6e94637063efd63e7658a7887e38e2601384b79ac64be0b9de4100f923bf9de40c31562b9c4314ff0df7768be511";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/si/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/si/firefox-72.0.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "8dcc78847797a853f78eaa100f5cba6da54f52e28e3bb92f64ec1187421c871a4f6fbbfa51971b90d7476703862fdaef241110648e031038cd4a3aa62d9eb74d";
+      sha512 = "c45238b95c815603e01c180eaf254e06a7e2feddf429adc58977fa5cd5b094774f6c0e9f34030dfc38fa198662cf0ae5289a78930b6f37042b2c1bba4109a37d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/sk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sk/firefox-72.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "416bbffcfd8a32f1c3c22f28beaf3fa45df693e373552ecc78c921dfb010db79c8423251697daf7ea3038dad07ba168786168915a7c4ff844a62167e929da9cd";
+      sha512 = "5a2cbbf81ac7b879413ac0813890d37609ce7c9fbf47037e20886d9728fd4687159a193fed05c15090c8a47d43e63059925c901020c1661db1f979f62c8a385e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/sl/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sl/firefox-72.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "b99af009ca4c1c7a190a31146de0ff2975196e89687fc37ec9b8c506a18bd9f4ccb1820751f52c50acb3c808998dea08151de3a38b69f62b45d7c80f97b0b42e";
+      sha512 = "6c47debf86017544d54494eb7a17823bb2de08e1c8fd5d0065e2887349c19eb1c83a617b2f828ac547629d32d6ea0f8b6b7cec616f80cdf56120e2008b180764";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/son/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/son/firefox-72.0.1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "5efab88af1ade7d8c7437c638282c9f1fe8490174cfaa47563b0eaae7fe8c4b35210f240e4154458adf054924780c2a8d91b49158cc693cc3773f18963551434";
+      sha512 = "7f3068c3d69972e730a7141e098c658773b10bb462168eddcd3adcf9b4874229b571cc8f7eed99ed6b45be8b74c79219d0cd12fa43797603ab2f032557fe8f8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/sq/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sq/firefox-72.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "4a6b10da6d0de76aae0e63a12c81369d8068689e23a3d289629b64350dc5fe191c42d91b58100206befe81a7bdf899c66bad78883605d020eb1e7559b9f9d237";
+      sha512 = "4db0d7f87447910fa43e4145cf024c5a165a10b9809bc18c4b76f2a86cb41aeeae3193d34f4bdcc7bead8a62974fd68f8883ace5c79d35e33a47c954d73eea1f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/sr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sr/firefox-72.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "3833a2db3d8c2a9ef616cb1679c07c71280b74330771d79579c414619e3517bfec56c90712529bffaaf99abb07a63547a8aff9fb376f1089b3964c8dd92e523d";
+      sha512 = "85d8ecf97a1b1f7eff30b1de4bb84ed0637bf99cb72ad444e7e769d29cd687773e66dbed2116f5997af6fbf64802ab7c31b28f579e7a517a08a6cf06f92c8f96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/sv-SE/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sv-SE/firefox-72.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "8dd898b57cff3dc25a52a7693f8e62f130af23a9c1e7d74a4c36abc5c6249f7b142006601596bd1cdc65b04c5b3ce2d8dcfce6caf230db047d1e7dba127f47d0";
+      sha512 = "322f999692fbf3931789b3b6af5eb646545f5e9fe4876ba004b3803454d89c633fe0ba85283954edd3fe4439ab30e17eeb4e4edd655570e07da2c0c78bda0e22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ta/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ta/firefox-72.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "7fa1f1e7dc3099a44841db01ee2746f87eaa4e93a12a5ba909e428b0dd5f3386a35eb66650fbd4b8e160d0a4c48f5b98c19a44a16b48432e576fe32ac953ebd5";
+      sha512 = "ba1c8227da1f99f385376402133ac2706bf20fef739ff48850daf1f0e586b87146322ac18af838eb32355ae40288f922ebd5a1976039a800de60077b4428dc44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/te/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/te/firefox-72.0.1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "74a78995878c2c207fc02abf667ef744008fe544c5f594d69c5c4653cb2adc58d56973591b4c0264d77993d76a2802dee1ce9b10b8355848ab6c11d0cfa3cc47";
+      sha512 = "1d785d24d460e536f35a88fa0d8feb6434f1ccadb38e89946f8e432a2d98161cf10bf42c6d34fde577d5d2c4b13d47fab43abfa2f18554231a53887e361d6ad8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/th/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/th/firefox-72.0.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "2fdda53cdea8a2a153b192a52f76e4a5b73dd128310d53ad26c59fadd54734b8d2a2f88b11087e18d6179d0b7fb1a9e87f722c5241544860be25ea14542d7da9";
+      sha512 = "ef10ce89127be75a918e9825ceb97aaf7e2f66ca0591ebba624fa2da786a267304b1e505a1dca72282a92d6c6678148c6cc322e02175c1f506bed110ee7936fe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/tl/firefox-72.0.1.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "ed033872bfc0a06b0928e5bc775e4f4dda5267555d086c7719872491480dd6e70bd94540aa9dc0a197d907ff66642b93460e41c04f721f7d0daed663bfc1d091";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/tr/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/tr/firefox-72.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "8cb6a590382c080a0b6ed81a566b385f07e909a86faab077d2f0027a05d2e985e9ab4eee0103cb30f9e88fde7e63c20250f4b2165824426c7a3956e69a448219";
+      sha512 = "d4c24c049e4fd378e7c20d3df5dc2a9c5e9cdefe3f84e5dd6b3fefea10fb8010a01f96cbaf7635914c9bea38f0059d11c8f7e7ac748f4fa9d7f3351259301fd8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/trs/firefox-72.0.1.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "931a3b11e536164b6743a7005f3b826495616ce591c50fbe2ccb42d32908c88412d5a9519843eb7f4ad50e406b9fd14ea69295c313f30a3d41c3338638e483d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/uk/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/uk/firefox-72.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "a9269d73bfdbaa9f9c9484588a0921003c7602732a78c8c5316b00d67ef6ae43836a1fb606988fe3bc2143fb6be55a677a1238da0ad9d3a531bfc19ad0e7d482";
+      sha512 = "6baa572a479043e15de3704f009ca3702ef48d18f364401165a20367809fc4f09b59d04734bd9ffb698d1e834dd88540abe4f951354650c731304b6cc1333018";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/ur/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ur/firefox-72.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "38696e57487b19eccd4669ee7fc0159f13a91abe062e21657111f95d58cf3183fcba370af94156b350a87810f9d73492e8ad2bd8e48a6ed5e82a9a3e54373099";
+      sha512 = "9eb660140868950613b2754b006e5f7bc08f73830be2508fc6a39a83dce9509796b834dcce0288ffd74e8373f2c8a175f0034582d2aed769ead063bb57045d85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/uz/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/uz/firefox-72.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "c912f028950f78c3b4b34c0f40d4381ccd961199f606d4ff8ce75c260dbc04b4eb471985edd61b7c380471835072ff7d58149bd98d029741ddcb39ea082c90e5";
+      sha512 = "9272971df4ffa5d1867b40b1f2d6004a64e604312208f3031edae6ddaf9a2dda262dca69aa5c41b9439241133a6fe64d43e5932192d3cc74a893290cb1594a45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/vi/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/vi/firefox-72.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "40b0dd2c70c647dfa3f73db24d17296e719f6dedbff24fe7465799b9ae1deeac61a394a11095a93f48b785e5645ca8f801312e965dadf7de4fb964c87b90b17a";
+      sha512 = "ebf8065c61505a8daaba054711a523abb6053db6560d8f72d0b7ca816784aa9ab5856b959357afe94fddc9e1d8e5140ca1bed4aae85daa8be71347e1f158e35b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/xh/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/xh/firefox-72.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "35993045afc78623d4ba1fb4e30c3c6e595f2ef02e5720f435d541af510ea552c254209f67afdad8d228bbf4c557885b5a9e2b6579973b323000a796d7e1a4a4";
+      sha512 = "e7121225f6eff3a16bfc95b38d07ef474b03891ce1b5a57905b5f521fecd8e8f5cac71b9246c65399f1bc4879279d4f53675db652c563d6023f0574a8dd30462";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/zh-CN/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/zh-CN/firefox-72.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "e1cbdd94cb9c608f4c85354a1c683058eced84e783e6a76c08906983aa8b879094978747898cefe995bca4855ff463599d6288863739305f6a0eac0b0d07cda2";
+      sha512 = "8730552f819342a634e9eeae8e0989e54d9d4a3f0cdc76d5c296e6ed5f5028b5029286eccf4f252addd53e3e3e06a3321491d7b37b0d565b0524382210a02e0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/69.0.1/linux-i686/zh-TW/firefox-69.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/zh-TW/firefox-72.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "307e82f9c1b68e916c4369f57c52158be4279a8a5017bcd6e1d5c50e93ce8c25ebf07b115937ae0bf809a8e5448486d0f951b2c426a318037388de6ff58a2b02";
+      sha512 = "ae10d531f4819cf603adcba33c5a5779bdf70962a4b0d802c1b001ae4c34b573941dcadd9b1ba6377d5b1dd55627bbb7f97b28d44c21c2cd9b124f1e465186d6";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
index cbf9736ec893..cfa5aabb2d2b 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/nixpkgs/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
@@ -95,7 +95,7 @@ let
   browserPatches = [
     ./env_var_for_system_dir.patch
   ]
-  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "69")
+  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "68.3.0")
     (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
       name = "write_error-parallel_make.diff";
       url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
@@ -110,11 +110,16 @@ let
       url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch";
       sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp";
     })
-  ] ++ patches;
+  ]
+  ++ lib.optional (lib.versionAtLeast ffversion "71") (fetchpatch {
+    url = "https://phabricator.services.mozilla.com/D56873?download=true";
+    sha256 = "183949phd2n27nhiq85a04j4fjn0jxmldic6wcjrczsd8g2rrr5k";
+  })
+  ++ patches;
 
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "${pname}-unwrapped-${version}";
   version = browserVersion;
 
@@ -131,7 +136,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 */
@@ -156,12 +161,15 @@ stdenv.mkDerivation rec {
                                      AVFoundation MediaToolbox CoreLocation
                                      Foundation libobjc AddressBook cups ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString ([
     "-I${glib.dev}/include/gio-unix-2.0"
   ]
   ++ lib.optionals (!isTorBrowserLike) [
     "-I${nss.dev}/include/nss"
-  ];
+  ]
+  ++ lib.optional (pname == "firefox-esr" && lib.versionAtLeast ffversion "68"
+                                          && lib.versionOlder ffversion "69")
+    "-Wno-error=format-security");
 
   postPatch = lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) ''
     substituteInPlace third_party/prio/prio/rand.c --replace 'nspr/prinit.h' 'prinit.h'
@@ -173,7 +181,7 @@ stdenv.mkDerivation rec {
     [ autoconf213 which gnused pkgconfig perl python2 cargo rustc ]
     ++ lib.optional gtk3Support wrapGAppsHook
     ++ lib.optionals stdenv.isDarwin [ xcbuild rsync ]
-    ++ lib.optional  (lib.versionAtLeast ffversion "61.0") [ python3 ]
+    ++ lib.optional  (lib.versionAtLeast ffversion "61.0") python3
     ++ lib.optionals (lib.versionAtLeast ffversion "63.0") [ rust-cbindgen nodejs ]
     ++ lib.optionals (lib.versionAtLeast ffversion "67.0") [ llvmPackages.llvm ] # llvm-objdump is required in version >=67.0
     ++ extraNativeBuildInputs;
@@ -360,4 +368,18 @@ stdenv.mkDerivation rec {
     inherit browserName;
   } // lib.optionalAttrs gtk3Support { inherit gtk3; };
 
-}
+} //
+# the build system verifies checksums of the bundled rust sources
+# ./third_party/rust is be patched by our libtool fixup code in stdenv
+# unfortunately we can't just set this to `false` when we do not want it.
+# See https://github.com/NixOS/nixpkgs/issues/77289 for more details
+lib.optionalAttrs (lib.versionAtLeast ffversion "72") {
+  # Ideally we would figure out how to tell the build system to not
+  # care about changed hashes as we are already doing that when we
+  # fetch the sources. Any further modifications of the source tree
+  # is on purpose by some of our tool (or by accident and a bug?).
+  dontFixLibtool = true;
+
+  # on aarch64 this is also required
+  dontUpdateAutotoolsGnuConfigScripts = true;
+})
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
index 31494491d471..805072aafdc8 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -14,13 +14,12 @@ let
 in
 
 rec {
-
   firefox = firefoxCommon rec {
     pname = "firefox";
-    ffversion = "69.0.1";
+    ffversion = "72.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "0zvjwn17accmp9m55a9s12mw3cflsplysizfrpa3hy02na20w39g974d42fmxpk4zq4zqy4m17v2rpibibb0g7giy9rywndhaw3xrl9";
+      sha512 = "37ryimi6yfpcha4c9mcv8gjk38kia1lr5xrj2lglwsr1jai7qxrcd8ljcry8bg87qfwwb9fa13prmn78f5pzpxr7jf8gnsbvr6adxld";
     };
 
     patches = [
@@ -100,10 +99,10 @@ rec {
 
   firefox-esr-68 = firefoxCommon rec {
     pname = "firefox-esr";
-    ffversion = "68.1.0esr";
+    ffversion = "68.4.1esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "0n8iy9xwf8wldkknq3y3nlm0cmb48baamvz4wmmbpfb2kfrxbsj3wnnd9ayk9zxhrsdq0na9gvkc374mv06nyqijrahd67wljv08fx5";
+      sha512 = "3nqchvyr95c9xvz23z0kcqqyx8lskw0lxa3rahiagc7b71pnrk8l40c7327q1wd4y5g16lix0fg04xiy6lqjfycjsrjlfr2y6b51n4d";
     };
 
     patches = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 3ed06717f6a2..4901d694f49f 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix b/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
index 7bb443e22c33..b09be81cc418 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
@@ -8,12 +8,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.20";
+  version = "2.20.2";
   pname = "links2";
 
   src = fetchurl {
     url = "${meta.homepage}/download/links-${version}.tar.bz2";
-    sha256 = "0bchwqa87dc8cb55spyybkqpc456pp4x2n9aw587wr7pn96cvp9v";
+    sha256 = "097ll98ympzfx7qfdyhc52yzvsp167x5nnjs6v8ih496wv80fksb";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/luakit/default.nix b/nixpkgs/pkgs/applications/networking/browsers/luakit/default.nix
index d679eb56f5bd..0605eda7fc76 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/midori/default.nix b/nixpkgs/pkgs/applications/networking/browsers/midori/default.nix
index a0bc0c743e46..1d1928d168b6 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/midori/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/midori/default.nix
@@ -1,24 +1,52 @@
-{ stdenv, fetchurl, cmake, ninja, pkgconfig, intltool, vala, wrapGAppsHook, gcr, libpeas
-, gtk3, webkitgtk, sqlite, gsettings-desktop-schemas, libsoup, glib-networking
+{ stdenv
+, fetchurl
+, cmake
+, ninja
+, pkgconfig
+, intltool
+, vala
+, wrapGAppsHook
+, gcr
+, libpeas
+, gtk3
+, webkitgtk
+, sqlite
+, gsettings-desktop-schemas
+, libsoup
+, glib-networking
+, json-glib
+, libarchive
 }:
 
 stdenv.mkDerivation rec {
   pname = "midori";
-  version = "7";
+  version = "9.0";
 
   src = fetchurl {
-    url = "https://github.com/midori-browser/core/releases/download/v${version}/midori-v${version}.0.tar.gz";
-    sha256 = "0ffdnjp55s0ci737vlhxikb2nihghwlb6mjcjzpgpnzi47vjqnwh";
+    url = "https://github.com/midori-browser/core/releases/download/v${version}/midori-v${version}.tar.gz";
+    sha256 = "05i04qa83dnarmgkx4xsk6fga5lw1lmslh4rb3vhyyy4ala562jy";
   };
 
   nativeBuildInputs = [
-    pkgconfig cmake ninja intltool vala wrapGAppsHook
+    cmake
+    intltool
+    ninja
+    pkgconfig
+    vala
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    gtk3 webkitgtk sqlite gsettings-desktop-schemas gcr
-    (libsoup.override { gnomeSupport = true; }) libpeas
+    (libsoup.override { gnomeSupport = true; })
+    gcr
     glib-networking
+    gsettings-desktop-schemas
+    gtk3
+    libpeas
+    sqlite
+    webkitgtk
+    json-glib
+    libarchive
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index fb3a6723817b..7e3705a3b0bd 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -74,7 +74,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flashplayer";
-  version = "32.0.0.255";
+  version = "32.0.0.303";
 
   src = fetchurl {
     url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "1hd5z8qmki36k2wdwgg3v4sj32g8590r5563gdrjrk7bmrqfjnji"
+          "05hfc5ywmcvp6zf8aqmzjp3qy3byp0zdl0ssrv9gvzcskdqkhsj2"
         else
-          "0y13bxdgkxaqsyab09skiqj8dfjw76n2lr7p525ba8lbfbc8xj52"
+          "12hl8lvxz648ha70gi3v85mwf0nnayjiaslr669vjan3ww94jymv"
       else
         if arch == "x86_64" then
-          "0qkslkaiw3c9xk1rjcl4x9d0fi6i91k7g01mf0gq28wgzcyz4cw7"
+          "0x0mabgswly2v8z13832pkbjsv404aq61pback6sgmp2lyycdg6w"
         else
-          "0qblmaa3nq1g7825yhvz98pvd1591q3q7bsrhv5bbhdbmb9c1qd5";
+          "16kbpf1i3aqlrfbfh5ncg1n46ncl9hp6qdp36s5j3ivbc68pj81z";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 527eb2610067..28b4c8a36c93 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation {
   pname = "flashplayer-standalone";
-  version = "32.0.0.255";
+  version = "32.0.0.303";
 
   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
-        "1igc23mljmw1bw6fwx3rwpz7kxiy8n5znkng20w3yin2zh8qw8sy"
+        "0xkzlv90lpyy54j6pllknrp1l9vjyh6dsl63l4c8cgh4i830gi14"
       else
-        "0rfvgx1g0s8wswwpmfjx6p59yh1cxya3x3bczbissrq4rcb1v315";
+        "0mi3ggv6zhzmdd1h68cgl87n6izhp0pbkhnidd2gl2cp95f23c2d";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -97,7 +97,7 @@ stdenv.mkDerivation {
     description = "Adobe Flash Player standalone executable";
     homepage = https://www.adobe.com/support/flashplayer/debug_downloads.html;
     license = stdenv.lib.licenses.unfree;
-    maintainers = [];
+    maintainers = with stdenv.lib.maintainers; [ taku0 ];
     platforms = [ "x86_64-linux" ];
     # Application crashed with an unhandled SIGSEGV
     # Not on all systems, though. Video driver problem?
diff --git a/nixpkgs/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix b/nixpkgs/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
deleted file mode 100644
index 6ab533763109..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/next/default.nix b/nixpkgs/pkgs/applications/networking/browsers/next/default.nix
index 2b2e173342c5..4aabb84393fa 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/next/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/next/default.nix
@@ -1,80 +1,93 @@
-{ pkgs, stdenv, fetchFromGitHub
-, gcc7, pkg-config, makeWrapper
-, glib-networking
-, next-gtk-webkit
+{ stdenv
+, fetchFromGitHub
 , lispPackages
 , sbcl
+, callPackage
 }:
 
+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 {};
+
+in
+
 stdenv.mkDerivation rec {
-    pname = "next";
-    version = "1.3.1";
+  pname = "next";
+  version = "1.3.4";
+
+  src = fetchFromGitHub {
+    owner = "atlas-engineer";
+    repo = "next";
+    rev = version;
+    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+  };
 
-    src = fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "next";
-      rev = version;
-      sha256 = "01fn1f080ydk0wj1bwkyakqz93bdq9xb5x8qz820jpl9id17bqgj";
-    };
+  nativeBuildInputs = [
+    sbcl
+  ] ++ (with lispPackages; [
+    prove-asdf
+    trivial-features
+  ]);
 
-    # Stripping destroys the generated SBCL image
-    dontStrip = true;
+  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
+  ];
 
-    prePatch = ''
-      substituteInPlace source/ports/gtk-webkit.lisp \
-        --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-    '';
+  # This reference is unfortunately not detected by Nix
+  propagatedBuildInputs = [ next-gtk-webkit ];
 
-    nativeBuildInputs = [ sbcl makeWrapper ];
-    buildInputs = with lispPackages; [
-      trivial-features
-      trivial-garbage
-      alexandria
-      bordeaux-threads
-      cl-json
-      cl-markup
-      cl-ppcre
-      cl-ppcre-unicode
-      closer-mop
-      dexador
-      ironclad
-      lparallel
-      parenscript
-      quri
-      cl-css
-      log4cl
-      mk-string-metrics
-      sqlite
-      str
-      swank
-      trivia
-      trivial-clipboard
-      unix-opts
-      dbus
-    ];
-    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/nixpkgs/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/nixpkgs/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
new file mode 100644
index 000000000000..a71583ffbec5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
index 062d2e6582b1..c1ede5044492 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
@@ -36,89 +36,83 @@
 , systemd
 , at-spi2-atk
 , at-spi2-core
+, autoPatchelfHook
+, wrapGAppsHook
 }:
 
 let
 
   mirror = "https://get.geo.opera.com/pub/opera/desktop";
 
-  rpath = lib.makeLibraryPath [
+in stdenv.mkDerivation rec {
+
+  pname = "opera";
+  version = "65.0.3467.48";
+
+  src = fetchurl {
+    url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
+    sha256 = "0vcpq2p8si6rlyvd8nzs0a7pjxks2qn8i8czna968wyfxlczckyr";
+  };
+
+  unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
 
-    # These provide shared libraries loaded when starting. If one is missing,
-    # an error is shown in stderr.
-    alsaLib.out
-    atk.out
-    cairo.out
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    alsaLib
+    at-spi2-atk
+    at-spi2-core
+    atk
+    cairo
     cups
-    curl.out
-    dbus.lib
-    expat.out
+    curl
+    dbus
+    expat
     fontconfig.lib
-    freetype.out
-    gdk-pixbuf.out
-    glib.out
+    freetype
+    gdk-pixbuf
+    glib
     gnome2.GConf
-    gtk3.out
-    libX11.out
-    libXScrnSaver.out
-    libXcomposite.out
-    libXcursor.out
-    libXdamage.out
-    libXext.out
-    libXfixes.out
-    libXi.out
-    libXrandr.out
-    libXrender.out
-    libXtst.out
-    libxcb.out
-    libnotify.out
-    libuuid.out
-    nspr.out
-    nss.out
-    pango.out
+    gtk3
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    libnotify
+    libuuid
+    libxcb
+    nspr
+    nss
+    pango
     stdenv.cc.cc.lib
+  ];
+
+  runtimeDependencies = [
+    # Works fine without this except there is no sound.
+    libpulseaudio.out
 
     # This is a little tricky. Without it the app starts then crashes. Then it
     # brings up the crash report, which also crashes. `strace -f` hints at a
     # missing libudev.so.0.
     systemd.lib
-
-    # Works fine without this except there is no sound.
-    libpulseaudio.out
-
-    at-spi2-atk
-    at-spi2-core
   ];
 
-in stdenv.mkDerivation rec {
-
-  pname = "opera";
-  version = "62.0.3331.43";
-
-  src = fetchurl {
-    url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "0zylg32zn6blkgy4bwmjzc26i712lwakahvrd24ncpfa8805f7x7";
-  };
-
-  unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
-
   installPhase = ''
-    mkdir --parent $out
-    mv * $out/
+    mkdir -p $out
+    cp -r . $out/
     mv $out/lib/*/opera/*.so $out/lib/
   '';
 
-  postFixup = ''
-    find $out -executable -type f \
-    | while read f
-      do
-        patchelf \
-          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "$out/lib:${rpath}" \
-          "$f"
-      done
-  '';
-
   meta = with lib; {
     homepage = "https://www.opera.com";
     description = "Web browser";
diff --git a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
index 66b947946cdc..21dd04610cda 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/nixpkgs/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
 }:
 
@@ -13,13 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "28.7.0";
+  version = "28.8.0";
 
   src = fetchFromGitHub {
     owner  = "MoonchildProductions";
     repo   = "UXP";
     rev    = "PM${version}_Release";
-    sha256 = "0i6fy1mvjy6vpqnvhh516mxbv4d2z73yghk3frln4ql8zavba7qq";
+    sha256 = "0swmwall8pyg905jnw6x1b6vcv92zb7ph3zqcymh4ay2liikh8c0";
   };
 
   desktopItem = makeDesktopItem {
@@ -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
@@ -55,6 +55,7 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
     export MOZCONFIG=$(pwd)/mozconfig
+    export MOZ_NOSPAM=1
     export builddir=$(pwd)/pmbuild
 
     echo > $MOZCONFIG "
diff --git a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 1f441b4e9615..b616e82a2098 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
 
 let
   pdfjs = let
-    version = "2.1.266";
+    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 = "1ybbnpz2jcdikzwr7r13lq528vxj3bpms1fqmg3n1zgs30cqpkby";
+    sha256 = "1fpxsw0hzahccyng08acvc7g0gk29j2x701p6w6fg1718mvcrm1q";
     stripRoot = false;
   };
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "1.7.0";
+  version = "1.8.3";
 
   # 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 = "0wyjmb2qvnw3gn0ypgckwblmn7kasi12dfwp343hi6wscqripw7i";
+    sha256 = "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8";
   };
 
   # Needs tox
@@ -108,6 +108,6 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
     homepage    = https://github.com/The-Compiler/qutebrowser;
     description = "Keyboard-focused browser with a minimal GUI";
     license     = licenses.gpl3Plus;
-    maintainers = with maintainers; [ jagajaga rnhmjoj ];
+    maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/surf/default.nix b/nixpkgs/pkgs/applications/networking/browsers/surf/default.nix
index d9d4fda1aedd..0437ab933bd7 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/surf/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/surf/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchurl
+{ lib, stdenv, fetchurl
 , pkgconfig, wrapGAppsHook
 , glib, glib-networking, gsettings-desktop-schemas, gtk, libsoup, webkitgtk
+, xorg, dmenu, findutils, gnused, coreutils
 , patches ? null
 }:
 
@@ -20,6 +21,16 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "PREFIX=$(out)" ];
 
+  # Add run-time dependencies to PATH. Append them to PATH so the user can
+  # override the dependencies with their own PATH.
+  preFixup = let
+    depsPath = lib.makeBinPath [ xorg.xprop dmenu findutils gnused coreutils ];
+  in ''
+    gappsWrapperArgs+=(
+      --suffix PATH : ${depsPath}
+    )
+  '';
+
   meta = with stdenv.lib; {
     description = "A simple web browser based on WebKit/GTK";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 563c0e751c84..1027bf7c71df 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -44,6 +44,10 @@
 , shared-mime-info
 , gsettings-desktop-schemas
 
+# Hardening
+, graphene-hardened-malloc
+, useHardenedMalloc ? graphene-hardened-malloc != null && builtins.elem stdenv.system graphene-hardened-malloc.meta.platforms
+
 # Whether to disable multiprocess support to work around crashing tabs
 # TODO: fix the underlying problem instead of this terrible work-around
 , disableContentSandbox ? true
@@ -89,19 +93,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "8.5.5";
+  version = "9.0.3";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "00r5k9bbfpv3s6shxqypl13psr1zz51xiyz3vmm4flhr2qa4ycsz";
+      sha256 = "0saipnmhjfqwrx0q8mn3zc9n0j5a754cfipdaizbcqwm9dwd70w9";
     };
 
     i686-linux = fetchurl {
-      url = "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "1nxvw5kiggfr4n5an436ass84cvwjviaa894kfm72yf2ls149f29";
+      url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
+      sha256 = "19r6zm81p9fv9ldsck5wilcihvb5bifmd1cms6wdkldz8crnn9l6";
     };
   };
 in
@@ -161,15 +165,12 @@ stdenv.mkDerivation rec {
     # interpreter for pre-compiled Go binaries by invoking the interpreter
     # directly.
     sed -i TorBrowser/Data/Tor/torrc-defaults \
-        -e "s|\(ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit\) exec|\1 exec $interp|" \
+        -e "s|\(ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit\) exec|\1 exec $interp|"
 
-    # Fixup fte transport
-    #
-    # Note: the script adds its dirname to search path automatically
-    sed -i TorBrowser/Tor/PluggableTransports/fteproxy.bin \
-        -e "s,/usr/bin/env python,${python27.interpreter},"
+    # Similarly fixup snowflake
+    sed -i TorBrowser/Data/Tor/torrc-defaults \
+        -e "s|\(ClientTransportPlugin snowflake\) exec|\1 exec $interp|"
 
-    patchelf --set-rpath "${fteLibPath}" TorBrowser/Tor/PluggableTransports/fte/cDFA.so
 
     # Prepare for autoconfig.
     #
@@ -233,6 +234,7 @@ stdenv.mkDerivation rec {
 
     # Preload extensions by moving into the runtime instead of storing under the
     # user's profile directory.
+    mkdir -p "$TBB_IN_STORE/browser/extensions"
     mv "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/extensions/"* \
       "$TBB_IN_STORE/browser/extensions"
 
@@ -245,6 +247,9 @@ stdenv.mkDerivation rec {
     GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
     EOF
 
+    WRAPPER_LD_PRELOAD=${optionalString useHardenedMalloc
+      "${graphene-hardened-malloc}/lib/libhardened_malloc.so"}
+
     WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [
       gnome3.adwaita-icon-theme
       shared-mime-info
@@ -327,6 +332,8 @@ stdenv.mkDerivation rec {
     #
     # XDG_DATA_DIRS is set to prevent searching system dirs (looking for .desktop & icons)
     exec env -i \
+      LD_PRELOAD=$WRAPPER_LD_PRELOAD \
+      \
       TZ=":" \
       TZDIR="\''${TZDIR:-}" \
       LOCALE_ARCHIVE="\$LOCALE_ARCHIVE" \
@@ -370,7 +377,11 @@ stdenv.mkDerivation rec {
     cp $desktopItem/share/applications"/"* $out/share/applications
     sed -i $out/share/applications/torbrowser.desktop \
         -e "s,Exec=.*,Exec=$out/bin/tor-browser," \
-        -e "s,Icon=.*,Icon=web-browser,"
+        -e "s,Icon=.*,Icon=tor-browser,"
+    for i in 16 32 48 64 128; do
+      mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps/
+      ln -s $out/share/tor-browser/browser/chrome/icons/default/default$i.png $out/share/icons/hicolor/''${i}x''${i}/apps/tor-browser.png
+    done
 
     # Check installed apps
     echo "Checking bundled Tor ..."
@@ -386,7 +397,7 @@ stdenv.mkDerivation rec {
     longDescription = tor-browser-bundle.meta.longDescription;
     homepage = "https://www.torproject.org/";
     platforms = attrNames srcs;
-    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ];
+    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm hax404 cap ];
     hydraPlatforms = [];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
     # the compound is "libre" in a strict sense (some components place certain
diff --git a/nixpkgs/pkgs/applications/networking/browsers/uzbl/default.nix b/nixpkgs/pkgs/applications/networking/browsers/uzbl/default.nix
deleted file mode 100644
index f86c4a84e58c..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/uzbl/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python3, makeWrapper
-, webkitgtk, glib-networking, gsettings-desktop-schemas, python2Packages
-}:
-# This package needs python3 during buildtime,
-# but Python 2 + packages during runtime.
-
-stdenv.mkDerivation rec {
-  pname = "uzbl";
-  version = "0.9.0";
-
-  meta = with stdenv.lib; {
-    description = "Tiny externally controllable webkit browser";
-    homepage    = "http://uzbl.org/";
-    license     = licenses.gpl3;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ raskin dgonyeo ];
-  };
-
-  src = fetchurl {
-    name = "uzbl-v${version}.tar.gz";
-    url = "https://github.com/uzbl/uzbl/archive/v${version}.tar.gz";
-    sha256 = "0iskhv653fdm5raiidimh9fzlsw28zjqx7b5n3fl1wgbj6yz074k";
-  };
-
-  preConfigure = ''
-    makeFlags="$makeFlags PREFIX=$out"
-    makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
-    mkdir -p $out/${python3.sitePackages}/
-    export PYTHONPATH=$PYTHONPATH:$out/${python3.sitePackages}
-  '';
-
-  preFixup = ''
-    for f in $out/bin/*; do
-      wrapProgram $f \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-    done
-  '';
-
-  nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
-
-  buildInputs = [ gsettings-desktop-schemas webkitgtk ];
-  propagatedBuildInputs = with python2Packages; [ pygtk six ];
-}
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vimprobable2/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vimprobable2/default.nix
deleted file mode 100644
index 8a2e164b3639..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, glib-networking, gtk2, libsoup, libX11, perl,
-  pkgconfig, webkitgtk, gsettings-desktop-schemas }:
-
-stdenv.mkDerivation rec {
-  version = "1.4.2";
-  pname = "vimprobable2";
-  src = fetchurl {
-    url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2";
-    sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper gtk2 libsoup libX11 perl webkitgtk gsettings-desktop-schemas ];
-
-  hardeningDisable = [ "format" ];
-
-  installFlags = "PREFIX=/ DESTDIR=$(out)";
-
-  preFixup = ''
-    wrapProgram "$out/bin/vimprobable2" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = {
-    description = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox
-    '';
-    longDescription = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox. It is based on the WebKit engine (using
-      GTK bindings). The goal of Vimprobable is to build a completely
-      keyboard-driven, efficient and pleasurable browsing-experience. Its
-      featureset might be considered "minimalistic", but not as minimalistic as
-      being completely featureless.
-    '';
-    homepage = https://sourceforge.net/apps/trac/vimprobable;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.aforemny ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
index be08df3a704b..0b14a15f5daa 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.8.1664.38-1";
+  version = "2.10.1745.23-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1znhlwwgq4k0fplr4l8ixgn6g5k26ns77j2dm0pjg3a2jgjq6rdr";
+    sha256 = "1dkyanasycarka6zikrk0pn6n0xin7hrnysm67rs7pam4lzpq0vh";
   };
 
   unpackPhase = ''
@@ -82,8 +82,7 @@ in stdenv.mkDerivation rec {
       --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ \
       ${stdenv.lib.optionalString enableWidevine "--suffix LD_LIBRARY_PATH : ${libPath}"}
   '' + stdenv.lib.optionalString enableWidevine ''
-    rm $out/opt/${vivaldiName}/libwidevinecdm.so
-    ln -s ${vivaldi-widevine}/lib/libwidevinecdm.so $out/opt/${vivaldiName}/libwidevinecdm.so
+    ln -sf ${vivaldi-widevine}/lib/libwidevinecdm.so $out/opt/${vivaldiName}/libwidevinecdm.so
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/webmacs/default.nix b/nixpkgs/pkgs/applications/networking/browsers/webmacs/default.nix
new file mode 100644
index 000000000000..b86ba3c39f06
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/browsers/webmacs/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, mkDerivationWith
+, fetchFromGitHub
+, python3Packages
+, herbstluftwm
+}:
+
+mkDerivationWith python3Packages.buildPythonApplication rec {
+  pname = "webmacs";
+  version = "0.8";
+
+  disabled = python3Packages.isPy27;
+
+  src = fetchFromGitHub {
+    owner = "parkouss";
+    repo = "webmacs";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "1hzb9341hybgrqcy1w20hshm6xaiby4wbjpjkigf4zq389407368";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pyqtwebengine
+    setuptools
+    dateparser
+    jinja2
+    pygments
+  ];
+
+  checkInputs = [
+    python3Packages.pytest
+    #python3Packages.pytest-xvfb
+    #python3Packages.pytest-qt
+    python3Packages.pytestCheckHook
+    herbstluftwm
+
+    # The following are listed in test-requirements.txt but appear not
+    # to be needed at present:
+
+    # python3Packages.pytest-mock
+    # python3Packages.flake8
+  ];
+
+  # See https://github.com/parkouss/webmacs/blob/1a04fb7bd3f33d39cb4d71621b48c2458712ed39/setup.py#L32
+  # Don't know why they're using CC for g++.
+  preConfigure = ''
+   export CC=$CXX
+  '';
+
+  doCheck = false; # test dependencies not packaged up yet
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    description = "Keyboard-based web browser with Emacs/conkeror heritage";
+    longDescription = ''
+      webmacs is yet another browser for keyboard-based web navigation.
+
+      It mainly targets emacs-like navigation, and started as a clone (in terms of
+      features) of conkeror.
+
+      Based on QtWebEngine and Python 3. Fully customizable in Python.
+    '';
+    homepage = https://webmacs.readthedocs.io/en/latest/;
+    changelog = https://github.com/parkouss/webmacs/blob/master/CHANGELOG.md;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jacg ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/nixpkgs/pkgs/applications/networking/c14/default.nix b/nixpkgs/pkgs/applications/networking/c14/default.nix
index 3383d6838f7b..c000a37ff029 100644
--- a/nixpkgs/pkgs/applications/networking/c14/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/calls/default.nix b/nixpkgs/pkgs/applications/networking/calls/default.nix
new file mode 100644
index 000000000000..d57775c3d8fa
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/calls/default.nix
@@ -0,0 +1,85 @@
+{ stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkgconfig
+, libhandy
+, modemmanager
+, gtk3
+, gom
+, gsound
+, evolution-data-server
+, folks
+, desktop-file-utils
+, libpeas
+, dbus
+, vala
+, wrapGAppsHook
+, xorg
+, xvfb_run
+, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "calls";
+  version = "0.1.1";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = "calls";
+    rev = "v${version}";
+    sha256 = "01inx4mvrzvklwrfryw5hw9p89v8cn78m3qmv97g7a3v0h5c0n35";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    desktop-file-utils
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    modemmanager
+    libhandy
+    evolution-data-server
+    folks
+    gom
+    gsound
+    gtk3
+    libhandy
+    libpeas
+  ];
+
+  checkInputs = [
+    dbus
+    xvfb_run
+  ];
+
+  mesonFlags = [
+    # docs fail to build
+    # https://source.puri.sm/Librem5/calls/issues/99
+    "-Dgtk_doc=false"
+  ];
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    NO_AT_BRIDGE=1 \
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      meson test --print-errorlogs
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A phone dialer and call handler";
+    homepage = https://source.puri.sm/Librem5/calls;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ craigem lheckemann ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cawbird/default.nix b/nixpkgs/pkgs/applications/networking/cawbird/default.nix
new file mode 100644
index 000000000000..6462dd499493
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cawbird/default.nix
@@ -0,0 +1,76 @@
+{ 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";
+  pname = "cawbird";
+
+  src = fetchFromGitHub {
+    owner = "IBBoard";
+    repo = "cawbird";
+    rev = "v${version}";
+    sha256 = "sha256:1v1y4bx0mm518b9vlpsry12fw1qz2j28jfhjqq73blvzd89lgb0y";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    python3
+    gobject-introspection # for setup hook
+  ];
+
+  buildInputs = [
+    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
+    patchShebangs data/meson_post_install.py
+  '';
+
+  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/";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ jonafato schmittlauch ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
index 92db34417f47..9295e90794d2 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
@@ -2,17 +2,18 @@
 
 buildGoPackage rec {
   pname = "argo";
-  version = "2.2.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "0x3aizwbqkg2712021wcq4chmwjhw2df702wbr6zd2a2cdypwb67";
+    sha256 = "15726n5rrbzszq5dpmrxbw9cn7ahihn28jqk274270140gz5aak1";
   };
 
   goDeps = ./deps.nix;
   goPackagePath = "github.com/argoproj/argo";
+  subPackages = [ "cmd/argo" ];
 
   meta = with lib; {
     description = "Container native workflow engine for Kubernetes";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/deps.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/deps.nix
index ace7ecd21b33..b275cd21cf48 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argo/deps.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argo/deps.nix
@@ -5,8 +5,26 @@
     fetch = {
       type = "git";
       url = "https://code.googlesource.com/gocloud";
-      rev =  "64a2037ec6be8a4b0c1d1f706ed35b428b989239";
-      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
+      rev =  "ceeb313ad77b789a7fa5287b36a1d127b69b7093";
+      sha256 = "0z5z3qag9g4fc7g6di7ijxzz0s3c7al1rx0sxxkbqbpwlgk4iwf2";
+    };
+  }
+  {
+    goPackagePath  = "contrib.go.opencensus.io/exporter/ocagent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-ecosystem/opencensus-go-exporter-ocagent";
+      rev =  "f9129169651c35ecbdc1186c3ba4aa876ee62e1e";
+      sha256 = "09n7w31668f6f55qw6qkw85mp6mhkmxs2x5hk4vr0p5qiqap576h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/Azure/go-autorest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev =  "880eb0e2aca291c40538ddef66e5914fb1cc1d7f";
+      sha256 = "0v6d6la29n3kkgn7r3b63pf96cpj5kf88rddkm2x2vqb9x2gmi0p";
     };
   }
   {
@@ -23,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev =  "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4";
-      sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
+      rev =  "44968752391892e1b0d0b821ee79e9a85fa13049";
+      sha256 = "0c525frsxmalrn55hzzsxy17ng8avkd40ga0wxfw9haxsdjgqdqy";
     };
   }
   {
@@ -41,8 +59,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/argoproj/pkg";
-      rev =  "1aa3e0c55668da17703adba5c534fff6930db589";
-      sha256 = "0lr1dimm443qq3zzcrpialvxq9bl8pb3317zn34gmf1sycqh4iii";
+      rev =  "5616f48963eebf7cca912632230032b263bb62bc";
+      sha256 = "1m50mpmgdv4hjdpl994xdkdbjfwv7dagn6mhix17cb5mf61ixs6z";
+    };
+  }
+  {
+    goPackagePath  = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev =  "d57c8d96f72d9475194ccf18d2ba70ac294b0cb3";
+      sha256 = "09bv2ay7vnv15vj83ysqs98v0hcjg0nziwnp7qjdr0iasrhl4r21";
     };
   }
   {
@@ -50,8 +77,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev =  "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+      rev =  "37c8de3658fcb183f997c4e13e8337516ab753e6";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/census-instrumentation/opencensus-proto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-proto";
+      rev =  "d89fa54de508111353cb0b06403c00569be780d8";
+      sha256 = "19fcx3sc99i5dsklny6r073z5j20vlwn2xqm6di1q3b1xwchzqfj";
+    };
+  }
+  {
+    goPackagePath  = "github.com/colinmarc/hdfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/colinmarc/hdfs";
+      rev =  "9746310a4d311e21ce43b2a645c5a1e64c5e8efa";
+      sha256 = "0r5dyadjck22i7fyci67r00ajbcqgx52z13rhriy0sw68j510r1r";
     };
   }
   {
@@ -59,8 +104,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/davecgh/go-spew";
-      rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
-      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
     };
   }
   {
@@ -68,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/docker/spdystream";
-      rev =  "bc6354cbbc295e925e4c611ffe90c1f287ee54db";
-      sha256 = "08746a15snvmax6cnzn2qy7cvsspxbsx97vdbjpdadir3pypjxya";
+      rev =  "6480d4af844c189cf5dd913db24ddd339d3a4f85";
+      sha256 = "19glzj20vvy19igsl5bji9xrxi9m0ixhk4zs98dg15mh8ah36zak";
     };
   }
   {
@@ -86,8 +140,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/emicklei/go-restful";
-      rev =  "3eb9738c1697594ea6e71a7156a9bb32ed216cf0";
-      sha256 = "1zqcjhg4q7788hyrkhwg4b6r1vc4qnzbw8c5j994mr18x42brxzg";
+      rev =  "6ac3b8eb89d325e5c750d77f344a6870464d03c3";
+      sha256 = "0dgjld5240xhz45rj929ffm452n931qfw3fx8x99vhlnii9qrwz2";
     };
   }
   {
@@ -95,8 +149,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/emirpasic/gods";
-      rev =  "f6c17b524822278a87e3b3bd809fec33b51f5b46";
-      sha256 = "1zhkppqzy149fp561pif8d5d92jd9chl3l9z4yi5f8n60ibdmmjf";
+      rev =  "1615341f118ae12f353cc8a983f35b584342c9b3";
+      sha256 = "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1";
     };
   }
   {
@@ -104,17 +158,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/evanphx/json-patch";
-      rev =  "afac545df32f2287a079e2dfb7ba2745a643747e";
-      sha256 = "1d90prf8wfvndqjn6nr0k405ykia5vb70sjw4ywd49s9p3wcdyn8";
-    };
-  }
-  {
-    goPackagePath  = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev =  "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+      rev =  "026c730a0dcc5d11f93f1cf1cc65b01247ea7b6f";
+      sha256 = "144mk2v9q37l1qjf8498nff4hhz96mlkl7ls7ihixbmrji4lmch4";
     };
   }
   {
@@ -122,17 +167,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/ghodss/yaml";
-      rev =  "c7ce16629ff4cd059ed96ed06419dd3856fd3577";
-      sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1";
-    };
-  }
-  {
-    goPackagePath  = "github.com/go-ini/ini";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev =  "358ee7663966325963d4e8b2e1fbd570c5195153";
-      sha256 = "1zr51xaka7px1pmfndm12fvg6a3cr24kg77j28zczbfcc6h339gy";
+      rev =  "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
+      sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
     };
   }
   {
@@ -140,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonpointer";
-      rev =  "3a0015ad55fa9873f41605d3e8f28cd279c32ab2";
-      sha256 = "02an755ashhckqwxyq2avgn8mm4qq3hxda2jsj1a3bix2gkb45v7";
+      rev =  "a105a905c5e6ad147f08504784917f3e178e0ba5";
+      sha256 = "1s3cqf4svrbygvvpvi7hf122szsgihas52vqh0bba3avf4w03g9n";
     };
   }
   {
@@ -149,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonreference";
-      rev =  "3fb327e6747da3043567ee86abd02bb6376b6be2";
-      sha256 = "0zwsrmqqcihm0lj2pc18cpm7wnn1dzwr4kvrlyrxf0lnn7dsdsbm";
+      rev =  "2903bfd4bfbaf188694f1edf731f2725a8fa344f";
+      sha256 = "0v933yvcwyzzlpdxwb9204ki7lls2rwfd96ww2i901ndvz37kdf8";
     };
   }
   {
@@ -158,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/spec";
-      rev =  "bce47c9386f9ecd6b86f450478a80103c3fe1402";
-      sha256 = "0agys8v5rkfyinvmjd8hzgwvb20hnqninwkxwqkwbbsnakhi8shk";
+      rev =  "bdfd7e07daecc404d77868a88b2364d0aed0ee5a";
+      sha256 = "1r2my46qc85fp1j4lbddmd6c1n0am9bq1wyqsnw7x8raiznqxp5l";
     };
   }
   {
@@ -167,26 +203,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/swag";
-      rev =  "2b0bd4f193d011c203529df626a65d63cb8a79e8";
-      sha256 = "14c998wkycmy69jhjqkrah8acrr9xfam1dxbzl0lf4s2ghwn7bdn";
+      rev =  "c3d0f7896d589f3babb99eea24bbc7de98108e72";
+      sha256 = "1z34vqc5yz6rzvarrvlhkimxx33p74iaxb28l1mv716njvlsmjhg";
     };
   }
   {
-    goPackagePath  = "github.com/gogo/protobuf";
+    goPackagePath  = "github.com/go-sql-driver/mysql";
     fetch = {
       type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev =  "636bf0302bc95575d69441b25a2603156ffdddf1";
-      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev =  "72cd26f257d44c1114970e19afddcd812016007e";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
     };
   }
   {
-    goPackagePath  = "github.com/golang/glog";
+    goPackagePath  = "github.com/gogo/protobuf";
     fetch = {
       type = "git";
-      url = "https://github.com/golang/glog";
-      rev =  "23def4e6c14b4da8ac2ed8007337bc5eb5007998";
-      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+      url = "https://github.com/gogo/protobuf";
+      rev =  "0ca988a254f991240804bf9821f3450d87ccbb1b";
+      sha256 = "0slfyrmbpdcppf0z3waar90bpszdhi2gv705ys1b0zx5x6ax8f1a";
     };
   }
   {
@@ -194,8 +230,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev =  "b4deda0973fb4c70b50d226b1af49f3da59f5265";
-      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
+      rev =  "6c65a5562fc06764971b7c5d05c76c75e84bdbf7";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
     };
   }
   {
@@ -203,8 +239,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/gofuzz";
-      rev =  "24818f796faf91cd76ec7bddd72458fbced7a6c1";
-      sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm";
+      rev =  "f140a6486e521aad38f5917de355cbf147cc0496";
+      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
     };
   }
   {
@@ -212,8 +248,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gnostic";
-      rev =  "7c663266750e7d82587642f65e60bc4083f1f84e";
-      sha256 = "0yh3ckd7m0r9h50wmxxvba837d0wb1k5yd439zq4p1kpp4390z12";
+      rev =  "ab0dd09aa10e2952b28e12ecd35681b20463ebab";
+      sha256 = "1f4bs71hrqkwg8fdhsxh25s12xnkxly13cnmp6m4qj6vc6k6zr2n";
     };
   }
   {
@@ -221,26 +257,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "ea4d1f681babbce9545c9c5f3d5194a789c89f5b";
-      sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1";
+      rev =  "c3e18be99d19e6b3e8f1559eea2c161a665c4b6b";
+      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
     };
   }
   {
-    goPackagePath  = "github.com/hashicorp/golang-lru";
+    goPackagePath  = "github.com/grpc-ecosystem/grpc-gateway";
     fetch = {
       type = "git";
-      url = "https://github.com/hashicorp/golang-lru";
-      rev =  "0fb14efe8c47ae851c0034ed7a448854d3d34cf3";
-      sha256 = "0vg4yn3088ym4sj1d34kr13lp4v5gya7r2nxshp2bz70n46fsqn2";
+      url = "https://github.com/grpc-ecosystem/grpc-gateway";
+      rev =  "471f45a5a99a578de7a8638dc7ed29e245bde097";
+      sha256 = "1jbr14p1dh6jpq3q6b4nq97ryh56h17ali0nckicpxhdrvxgi81c";
+    };
+  }
+  {
+    goPackagePath  = "github.com/hashicorp/go-uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-uuid";
+      rev =  "4f571afc59f3043a65f8fe6bf46d887b10a01d43";
+      sha256 = "0jvb88m0rq41bwgirsadgw7mnayl27av3gd2vqa3xvxp3fy0hp5k";
     };
   }
   {
-    goPackagePath  = "github.com/howeyc/gopass";
+    goPackagePath  = "github.com/hashicorp/golang-lru";
     fetch = {
       type = "git";
-      url = "https://github.com/howeyc/gopass";
-      rev =  "bf9dde6d0d2c004a008c27aaee91170c786f6db8";
-      sha256 = "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev =  "7f827b33c0f158ec5dfbba01bb0b14a4541fd81d";
+      sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb";
     };
   }
   {
@@ -248,8 +293,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/imdario/mergo";
-      rev =  "9f23e2d6bd2a77f959b2bf6acdbefd708a83a4a4";
-      sha256 = "1lbzy8p8wv439sqgf0n21q52flf2wbamp6qa1jkyv6an0nc952q7";
+      rev =  "7c29201646fa3de8506f701213473dd407f19646";
+      sha256 = "05ir0jj74w0yfi1lrhjd97v759in1dpsma64cgmbiqvyp6hfmmf8";
     };
   }
   {
@@ -271,12 +316,30 @@
     };
   }
   {
+    goPackagePath  = "github.com/jcmturner/gofork";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/gofork";
+      rev =  "dc7c13fece037a4a36e2b3c69db4991498d30692";
+      sha256 = "0xzsnjqv3d59w9pgqzf6550wdwaqnac7zcdgqfd25w65yhcffzhr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev =  "c2b33e84";
+      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
+    };
+  }
+  {
     goPackagePath  = "github.com/json-iterator/go";
     fetch = {
       type = "git";
       url = "https://github.com/json-iterator/go";
-      rev =  "1624edc4454b8682399def8740d46db5e4362ba4";
-      sha256 = "11wn4hpmrs8bmpvd93wqk49jfbbgylakhi35f9k5qd7jd479ci4s";
+      rev =  "27518f6661eba504be5a7a9a9f6d9460d892ade3";
+      sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz";
     };
   }
   {
@@ -284,8 +347,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/kevinburke/ssh_config";
-      rev =  "9fc7bb800b555d63157c65a904c86a2cc7b4e795";
-      sha256 = "102icrla92zmr5zngipc8c9yfbqhf73zs2w2jq6s7p0gdjifigc8";
+      rev =  "6cfae18c12b8934b1afba3ce8159476fdef666ba";
+      sha256 = "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev =  "3427c32cb71afc948325f299f040e53c1dd78979";
+      sha256 = "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz";
     };
   }
   {
@@ -293,8 +374,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mailru/easyjson";
-      rev =  "03f2033d19d5860aef995fe360ac7d395cd8ce65";
-      sha256 = "0r62ym6m1ijby7nwplq0gdnhak8in63njyisrwhr3xpx9vkira97";
+      rev =  "b2ccc519800e761ac8000b95e5d57c80a897ff9e";
+      sha256 = "0q85h383mhbkcjm2vqm72bi8n2252fv3c56q3lclzb8n2crnjcdk";
     };
   }
   {
@@ -311,8 +392,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/minio/minio-go";
-      rev =  "70799fe8dae6ecfb6c7d7e9e048fce27f23a1992";
-      sha256 = "0xvvnny59v4p1y2kbvz90ga5xvc5sq1gc4wv6cym82rdbvgzb2ax";
+      rev =  "c6c2912aa5522e5f5a505e6cba30e95f0d8456fa";
+      sha256 = "0f5av1da4xbcy34j6dfy7c90na4a1capmsyac9qswq4xzq2zky10";
     };
   }
   {
@@ -320,8 +401,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/go-homedir";
-      rev =  "58046073cbffe2f25d425fe1331102f55cf719de";
-      sha256 = "0kwflrwsjdsy8vbhyzicc4c2vdi7lhdvn4rarfr18x1qsrb7n1bx";
+      rev =  "af06845cf3004701891bf4fdb884bfe4920b3727";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/go-ps";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-ps";
+      rev =  "621e5597135b1d14a7d9c2bfc7bc312e7c58463c";
+      sha256 = "0sjkz24kqz5nzgncnvdlzhlyba4jwmf6cxj8c4p8mb44679gkphh";
     };
   }
   {
@@ -343,21 +433,12 @@
     };
   }
   {
-    goPackagePath  = "github.com/pelletier/go-buffruneio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-buffruneio";
-      rev =  "c37440a7cf42ac63b919c752ca73a85067e05992";
-      sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2";
-    };
-  }
-  {
     goPackagePath  = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -383,8 +464,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev =  "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f";
-      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+      rev =  "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016";
+      sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
     };
   }
   {
@@ -392,8 +473,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev =  "c7de2306084e37d54b8be01f3541a8464345e9a5";
-      sha256 = "11dqfm2d0m4sjjgyrnayman96g59x2apmvvqby9qmww2qj2k83ig";
+      rev =  "31bed53e4047fd6c510e43a941f90cb31be0972a";
+      sha256 = "1q16br348117ffycxdwsldb0i39p34miclfa8z93k6vjwnrqbh2l";
     };
   }
   {
@@ -401,8 +482,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev =  "05ee40e3a273f7245e8777337fc7b46e533a9a92";
-      sha256 = "0f6fnczxa42b9rys2h3l0m8fy3x5hrhaq707vq0lbx5fcylw8lis";
+      rev =  "00ec24a6a2d86e7074629c8384715dbb05adccd8";
+      sha256 = "1z5jq5rjala0a0di4nwk1rai0z9f73qwqj6mgcbpjbg2qknlb544";
     };
   }
   {
@@ -419,8 +500,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev =  "3e01752db0189b9157070a0e1668a620f9a85da2";
-      sha256 = "029irw2lsbqi944gdrbkwdw0m2794sqni4g21gsnmz142hbzds8c";
+      rev =  "839c75faf7f98a33d445d181f3018b5c3409a45e";
+      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
     };
   }
   {
@@ -428,8 +509,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev =  "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1";
-      sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7";
+      rev =  "fe5e611709b0c57fa4a89136deaa8e1d4004d053";
+      sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71";
     };
   }
   {
@@ -437,8 +518,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev =  "583c0c0531f06d5278b7d917446061adc344b5cd";
-      sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
+      rev =  "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
     };
   }
   {
@@ -446,8 +527,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/src-d/gcfg";
-      rev =  "f187355171c936ac84a82793659ebb4936bc1c23";
-      sha256 = "1hrdxlha4kkcpyydmjqd929rmwn5a9xq7arvwhryxppxq7502axk";
+      rev =  "1ac3a1ac202429a54835fe8408a92880156b489d";
+      sha256 = "044j95skmyrwjw5fwjk6ka32rjgsg0ar0mfp9np19sh1acwv4x4r";
     };
   }
   {
@@ -464,8 +545,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev =  "f35b8ab0b5a2cef36673838d662e249dd9c94686";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+      rev =  "221dbe5ed46703ee255b1da0dec05086f5035f62";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -473,8 +554,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/tidwall/gjson";
-      rev =  "1e3f6aeaa5bad08d777ea7807b279a07885dd8b2";
-      sha256 = "0b0kvpzq0xxk2fq4diy3ab238yjx022s56h5jv1lc9hglds80lnn";
+      rev =  "c5e72cdf74dff23857243dd662c465b810891c21";
+      sha256 = "0cg23va26ga6d0gckp5i3ramc98cbz6ij9gn9dqqyc8igvcx9cb3";
     };
   }
   {
@@ -482,8 +563,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/tidwall/match";
-      rev =  "1731857f09b1f38450e2c12409748407822dc6be";
-      sha256 = "14nv96h0mjki5q685qx8y331h4yga6hlfh3z9nz6acvnv284q578";
+      rev =  "33827db735fff6510490d69a8622612558a557ed";
+      sha256 = "1ip5nkjvmzzzsypyzdd9nsnzbhwssprlx8qs5llqh16fl7kcvi3n";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tidwall/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tidwall/pretty";
+      rev =  "1166b9ac2b65e46a43d8618d30d1554f4652d49b";
+      sha256 = "1jwpj5903lh8hsj9apm2gwd70809zq0gjgmivkxaq4iq29wnv0n9";
     };
   }
   {
@@ -500,8 +590,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/valyala/fasttemplate";
-      rev =  "dcecefd839c4193db0d35b88ec65b4c12d360ab0";
-      sha256 = "0kkxn0ad5a36533djh50n9l6wsylmnykridkm91dqlqbjirn7216";
+      rev =  "8b5e4e491ab636663841c42ea3c5a9adebabaf36";
+      sha256 = "0l131znbv8v67y20s4q361mwiww2c33zdc68mwvxchzk1gpy5ywq";
     };
   }
   {
@@ -509,8 +599,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/xanzy/ssh-agent";
-      rev =  "640f0ab560aeb89d523bb6ac322b1244d5c3796c";
-      sha256 = "069nlriymqswg52ggiwi60qhwrin9nzhd2g65a7h59z2qbcvk2hy";
+      rev =  "6a3e2ff9e7c564f36873c2e36413f634534f1c44";
+      sha256 = "1chjlnv5d6svpymxgsr62d992m2xi6jb5lybjc5zn1h3hv1m01av";
+    };
+  }
+  {
+    goPackagePath  = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev =  "aab39bd6a98b853ab66c8a564f5d6cfcad59ce8a";
+      sha256 = "1x1ysvpyak1hcmfgvy0mk30g1ammbsmw19c9s0brz5h9wn7m4vva";
     };
   }
   {
@@ -518,8 +617,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "f027049dab0ad238e394a753dba2d14753473a04";
-      sha256 = "026475grqvylk9n2ld4ygaxmzck6v97j48sc2x58jjsmqflnhzld";
+      rev =  "9756ffdc24725223350eb3266ffb92590d28f278";
+      sha256 = "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8";
     };
   }
   {
@@ -527,8 +626,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "f9ce57c11b242f0f1599cf25c89d8cb02c45295a";
-      sha256 = "1m507gyjd9246cr3inpn6lgv3vnc3i11x4fgz0k0hdxv3cn9dyx2";
+      rev =  "ba9fcec4b297b415637633c5a6e8fa592e4a16c3";
+      sha256 = "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx";
     };
   }
   {
@@ -536,8 +635,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/oauth2";
-      rev =  "3d292e4d0cdc3a0113e6d207bb137145ef1de42f";
-      sha256 = "0jvivlvx7snacd6abd1prqxa7h1z6b7s6mqahn8lpqlag3asryrl";
+      rev =  "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33";
+      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev =  "112230192c580c3556b8cee6403af37a4fc5f28c";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
@@ -545,8 +653,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "904bdc257025c7b3f43c19360ad3ab85783fad78";
-      sha256 = "1pmj9axkj898bk4i4lny03b3l0zbkpvxj03gyjckliabqimqz0az";
+      rev =  "9109b7679e13aa34a54834cfb4949cac4b96e576";
+      sha256 = "169sg6fyjkykiylrgxr0pynv2zc3frkgssbsk5w2lqyl8mb319hl";
     };
   }
   {
@@ -554,8 +662,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+      rev =  "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
     };
   }
   {
@@ -563,8 +671,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/time";
-      rev =  "fbb02b2291d28baffd63558aa44b4b56f178d650";
-      sha256 = "0jjqcv6rzihlgg4i797q80g1f6ch5diz2kxqh6488gwkb6nds4h4";
+      rev =  "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef";
+      sha256 = "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb";
     };
   }
   {
@@ -572,8 +680,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev =  "ca6481ae56504398949d597084558e50ad07117a";
-      sha256 = "0pza1pd0wy9r0pf9b9hham9ldr2byyg1slqf8p56dhf8b6j9jw9v";
+      rev =  "be0da057c5e3c2df569a2c25cd280149b7d7e7d0";
+      sha256 = "19i9sjvbk79sgzyzjzrnmf575rnwj2bjsj4r1fmp7827dq97kqks";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/google-api-go-client";
+      rev =  "feb0267beb8644f5088a03be4d5ec3f8c7020152";
+      sha256 = "1lzdzkd2i41v6amxs9jah1q44qbvf1yvm8906jpfjiq6c3ffhqss";
     };
   }
   {
@@ -581,8 +698,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/appengine";
-      rev =  "b1f26356af11148e710935ed1ac8a7f5702c7612";
-      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+      rev =  "5f2a59506353b8d5ba8cbbcd9f3c1f41f1eaf079";
+      sha256 = "1gwcwh8w5b1l15pjm8pqs3bbymvjcak3wva37zi5z9ilzr8c5wnx";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev =  "24fa4b261c55da65468f2abfdae2b024eef27dfb";
+      sha256 = "109zhaqlfd8zkbr1hk6zqbs6vcxfrk64scjwh2nswph05gr0m84d";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev =  "6eaf6f47437a6b4e2153a190160ef39a92c7eceb";
+      sha256 = "1cn33r2gclmq2v1ndpf1n5bmhf2qs8mms7ii5cnl6f9ch4r2c4k3";
     };
   }
   {
@@ -595,12 +730,57 @@
     };
   }
   {
+    goPackagePath  = "gopkg.in/ini.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev =  "d4cae42d398bc0095297fc3315669590d29166ea";
+      sha256 = "1z7531wz62305hwg9y2f04d819am8x3ys96ssy6qndlzmw60yjsr";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/jcmturner/aescts.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/aescts";
+      rev =  "f6abebb3171c4c1b1fea279cb7c7325020a26290";
+      sha256 = "0rbq4zf3db48xa2gqdp2swws7wizmbwagigqkr1zxzd1ramps6rv";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/jcmturner/dnsutils.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/dnsutils";
+      rev =  "13eeb8d49ffb74d7a75784c35e4d900607a3943c";
+      sha256 = "0l543c64pyzbnrc00jspg21672l3a0kjjw9pbdxwna93w8d8m927";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/jcmturner/gokrb5.v5";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/gokrb5";
+      rev =  "32ba44ca5b42f17a4a9f33ff4305e70665a1bc0f";
+      sha256 = "0jynpkncifdd2ib2pc9qhh0r8q7ab7yw0ygzpzgisdzv8ars1diq";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/jcmturner/rpc.v0";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/rpc";
+      rev =  "4480c480c9cd343b54b0acb5b62261cbd33d7adf";
+      sha256 = "0hivgq52gwxsqs5x1my2047k7nqh7wx3yi0llsj3lc3h2mjy4yhd";
+    };
+  }
+  {
     goPackagePath  = "gopkg.in/src-d/go-billy.v4";
     fetch = {
       type = "git";
       url = "https://github.com/src-d/go-billy";
-      rev =  "83cf655d40b15b427014d7875d10850f96edba14";
-      sha256 = "18fghcyk69g460px8rvmhmqldkbhw17dpnhg45qwdvaq90b0bkx9";
+      rev =  "780403cfc1bc95ff4d07e7b26db40a6186c5326e";
+      sha256 = "0jcyi4ink2njgflp3f2mbl5b86p2w0rh945k5xplcl158i5wkrc6";
     };
   }
   {
@@ -608,8 +788,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/src-d/go-git";
-      rev =  "3bd5e82b2512d85becae9677fa06b5a973fd4cfb";
-      sha256 = "1krg24ncckwalmhzs2vlp8rwyk4rfnhfydwg8iw7gaywww2c1wfc";
+      rev =  "0d1a009cbb604db18be960db5f1525b99a55d727";
+      sha256 = "0n4x7r69qrmpss51b3wd3vj4b9jmip4archz3fbqk6q1yyd1pxjb";
     };
   }
   {
@@ -626,8 +806,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-yaml/yaml";
-      rev =  "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+      rev =  "51d6538a90f86fe93ac480b35f37b2be17fef232";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
     };
   }
   {
@@ -635,8 +815,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/api";
-      rev =  "0f11257a8a25954878633ebdc9841c67d8f83bdb";
-      sha256 = "1y8k0b03ibr8ga9dr91dc2imq2cbmy702a1xqggb97h8lmb6jqni";
+      rev =  "e3a6b8045b0b303430f6d0c261fd9e35be50800e";
+      sha256 = "1c1nrcy0j7aj93l2xgdw0asyvxa4h8pzz004drf7pvh9pvsg0vqq";
     };
   }
   {
@@ -644,8 +824,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/apimachinery";
-      rev =  "e386b2658ed20923da8cc9250e552f082899a1ee";
-      sha256 = "0lgwpsvx0gpnrdnkqc9m96xwkifdq50l7cj9rvh03njws4rbd8jz";
+      rev =  "8f6ac2502e5143406f4eaedc4ca4262854d877ce";
+      sha256 = "0v8cb63nvry4b0ls1h185hb3llp6rk0b4n92f76jcjsv1b7sspbi";
     };
   }
   {
@@ -653,8 +833,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/client-go";
-      rev =  "a312bfe35c401f70e5ea0add48b50da283031dc3";
-      sha256 = "0z360np4iv7jdgacw576gdxbzl8ss810kbqwyrjk39by589rfkl9";
+      rev =  "6d55c1b1f1ca8ad83d572bbc3ca55ba5526d9d71";
+      sha256 = "1j8m0pqn9c6lwr7h5aq7zrpdd73bwbwnhy4mbc0654ylmc3lnq8q";
     };
   }
   {
@@ -662,8 +842,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/code-generator";
-      rev =  "9de8e796a74d16d2a285165727d04c185ebca6dc";
-      sha256 = "09858ykfrd3cyzkkpafzhqs6h7bk3n90s3p52x3axn4f7ikjh7k4";
+      rev =  "6c2a4329ac290d921e8616cad41635c87dbb1518";
+      sha256 = "18kx2wcqb5cvivbl61q7vyic5rp0fica9n6xgrjfsxczjbihlq70";
     };
   }
   {
@@ -671,8 +851,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/gengo";
-      rev =  "c42f3cdacc394f43077ff17e327d1b351c0304e4";
-      sha256 = "05vbrqfa96izm5j2q9f4yiyrbyx23nrkj5yv4fhfc7pvwb35iy04";
+      rev =  "a874a240740c2ae854082ec73d46c5efcedd2149";
+      sha256 = "0z8gay4bj6l8cv7gzi55l2c3jx94caq28sk0x6p3s6wxqxmnqp92";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/klog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/klog";
+      rev =  "3ca30a56d8a775276f9cdae009ba326fdc05af7f";
+      sha256 = "0a7kn145q4cbsd2cfpv7sz09prjrxl6aaqzdcgq7p7jxc23a7zps";
     };
   }
   {
@@ -680,8 +869,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/kube-openapi";
-      rev =  "e3762e86a74c878ffed47484592986685639c2cd";
-      sha256 = "1n9j08dwnj77iflzj047hrk0zg6nh1m4a5pljjdsvvf3xgka54pz";
+      rev =  "5e22f3d471e6f24ca20becfdffdc6206c7cecac8";
+      sha256 = "08drikf269fhlnrhc29v7rhxl1950d94rl5x8l11n0qf2v2ffwib";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/utils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/utils";
+      rev =  "3a4a5477acf81b48e20870a3b9dc743f63c66730";
+      sha256 = "1f01ck7nvm9rmw1fkylbnr1cdd9byiagl9ni40j9p9gfy5v5nxk8";
+    };
+  }
+  {
+    goPackagePath  = "sigs.k8s.io/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes-sigs/yaml";
+      rev =  "fd68e9863619f6ec2fdd8625fe1f02e7c877e480";
+      sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb";
+    };
+  }
+  {
+    goPackagePath  = "upper.io/db.v3";
+    fetch = {
+      type = "git";
+      url = "https://upper.io/db.v3";
+      rev =  "fad80cdab4f761cb26416675df120f5d8c3f0db7";
+      sha256 = "1bddpi278bzp39470llrgnsnnfyqqmzym5hmd8dxmczmzhhkirfv";
     };
   }
 ]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix
new file mode 100644
index 000000000000..67e91870f1a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "atlantis";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "runatlantis";
+    repo = "atlantis";
+    rev = "v${version}";
+    sha256 = "08k2dgz6rph68647ah1rdp7hqa5h1ar4gdy7vdjy5kn7gz21gmri";
+  };
+
+  modSha256 = "1i4s3xcq2qc3zy00wk2l77935ilm6n5k1msilmdnj0061ia4860y";
+
+  subPackages = [ "." ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/runatlantis/atlantis;
+    description = "Terraform Pull Request Automation";
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jpotier ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
index 8956828fa763..d0186fb9b4c0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }:
 buildGoPackage rec {
   pname = "cni-plugins";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "0gyxa6mhiyxqw4wpn6r7wgr2kyvflzbdcqsk5ch0b6zih98144ia";
+    sha256 = "0dc4fs08x4x518yhgvq3drjvansnc0cb8rm4h5wiw7k3whjii3cd";
   };
 
   goDeps = ./plugins-deps.nix;
@@ -35,6 +35,6 @@ buildGoPackage rec {
     homepage = https://github.com/containernetworking/plugins;
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan saschagrunert ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
index 424b2ddca910..f8c73c65991c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
@@ -8,8 +8,8 @@ let
       sha256 = "18wqcqi3gyqd40nspih99gq7ylfs20b35f4dcrspffagwkfp2l4z";
     };
     "1.6" = {
-      flinkVersion = "1.8.1";
-      sha256 = "1ynxlkdxvrgww9hh7rlkhybrp5vl2slj3pqg2qzc8khpcgqx1h2g";
+      flinkVersion = "1.9.0";
+      sha256 = "1dzfcmqz5j4b545wq2q3xb2xkbhqllr04s3av1afv54y61l5y952";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
index b0f679322659..904eabfcda82 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.13.3";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "0l2gc9p2jz1zyl527rr0r3qklm4j86d4biviq8a30jl9rsx6z4cy";
+    sha256 = "1yk78w9cwssk5y69iapfzqf7mnrkam3w64x4zsx3zjpdmvp9dq7l";
   };
 
-  modSha256 = "1q5g9hd0ansdc2acpysf6wi74q50w0psrpyhk4y6mm6kjvhlcn87";
+  modSha256 = "17rh8yilxqv0dwljwm5ay43diwcy5pa1g2jff9wyhsh8q7sy9wln";
 
   subPackages = [ "cmd/fluxctl" ];
 
   meta = with stdenv.lib; {
     description = "CLI client for Flux, the GitOps Kubernetes operator";
-    homepage = https://github.com/weaveworks/flux;
+    homepage = "https://github.com/fluxcd/flux";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Gonzih ];
+    maintainers = with maintainers; [ Gonzih filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
index f0edbdf3ed68..45b6e9dcf334 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,48 +1,32 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
-  version = "2.14.3";
+buildGoModule rec {
   pname = "helm";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "18ly31db2kxybjlisz8dfz3cdxs7j2wsh4rx5lwhbm5hpp42h17d";
+    sha256 = "0l5rmmrb6b57w1szwp6g7ad3xv0pgvc394mzjr4bi3bzcjsn7wny";
   };
+  modSha256 = "0xjzzwmq3i77anb7w2qfnz7vc0gxq02lylj0xs6dzwl543winshm";
 
   goPackagePath = "k8s.io/helm";
-  subPackages = [ "cmd/helm" "cmd/tiller" "cmd/rudder" ];
-
-  goDeps = ./deps.nix;
-
-  # Thsese are the original flags from the helm makefile
-  buildFlagsArray = ''
-    -ldflags=-X k8s.io/helm/pkg/version.Version=v${version} -X k8s.io/helm/pkg/version.GitTreeState=clean -X k8s.io/helm/pkg/version.BuildMetadata=
-    -w
-    -s
-  '';
-
-  preBuild = ''
-    # This is a hack(?) to flatten the dependency tree the same way glide or dep would
-    # Otherwise you'll get errors like
-    # have DeepCopyObject() "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".Object
-    # want DeepCopyObject() "k8s.io/apimachinery/pkg/runtime".Object
-    rm -rf $NIX_BUILD_TOP/go/src/k8s.io/kubernetes/vendor
-    rm -rf $NIX_BUILD_TOP/go/src/k8s.io/apiextensions-apiserver/vendor
-  '';
+  subPackages = [ "cmd/helm" ];
+  buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.gitCommit=v${version}" ];
 
+  nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
-    mkdir -p $bin/share/bash-completion/completions
-    mkdir -p $bin/share/zsh/site-functions
-    $bin/bin/helm completion bash > $bin/share/bash-completion/completions/helm
-    $bin/bin/helm completion zsh > $bin/share/zsh/site-functions/_helm
+    $out/bin/helm completion bash > helm.bash
+    $out/bin/helm completion zsh > helm.zsh
+    installShellCompletion helm.{bash,zsh}
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/kubernetes/helm;
     description = "A package manager for kubernetes";
     license = licenses.asl20;
-    maintainers = [ maintainers.rlupton20 maintainers.edude03 ];
+    maintainers = with maintainers; [ rlupton20 edude03 saschagrunert ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/deps.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/deps.nix
deleted file mode 100644
index 2fdda0ca2800..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/deps.nix
+++ /dev/null
@@ -1,1182 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "v0.26.0";
-      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-ansiterm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-ansiterm";
-      rev = "d6e3b3328b78";
-      sha256 = "010khrkhkf9cxlvvb6ncqv4c1qcdmpbz9jn38g4fxf4xsma8xx1q";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "v11.1.0";
-      sha256 = "1jmr04qkl9fgmj56czn2979ng0f6ygfbk2khv2xyx368686xc1d6";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/MakeNowJust/heredoc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/MakeNowJust/heredoc";
-      rev = "bb23615498cd";
-      sha256 = "17m780i9afj3sbmcrgwgzarfly4x9376w56qblkqnzdkv6vps22i";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/goutils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/goutils";
-      rev = "v1.1.0";
-      sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "v1.4.2";
-      sha256 = "0k2fpk2x8jbvqkqxx5hkx1ygrsppzmzypqb90i1r33yq7ac7zlxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/sprig";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "9f8fceff796f";
-      sha256 = "0m6h88xcs8zc2b1g6zaksfn9kyqhr8q9508h57jb6papx7w54yl2";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/vcs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/vcs";
-      rev = "v1.11.1";
-      sha256 = "1062m73h0pp5d0574lf6px4jsjgywnsbkw50inxx3zal5r185ydm";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/purell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.1.0";
-      sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/urlesc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "de5bf2ad4578";
-      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
-    };
-  }
-  {
-    goPackagePath = "github.com/adisbladis/vgo2nix";
-    fetch = {
-      type = "git";
-      url = "https://github.com/adisbladis/vgo2nix";
-      rev = "56ac56bb0d96";
-      sha256 = "1jbxbgcqkal8cdhj2nfbw92fn1fs9ng1df9sf92vgf0m1xzq2mc3";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/assert";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/assert";
-      rev = "405dbfeb8e38";
-      sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/colour";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/colour";
-      rev = "60882d9e2721";
-      sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/kingpin";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/kingpin";
-      rev = "v2.2.6";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/repr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/repr";
-      rev = "117648cd9897";
-      sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/template";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cf";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
-    };
-  }
-  {
-    goPackagePath = "github.com/asaskevich/govalidator";
-    fetch = {
-      type = "git";
-      url = "https://github.com/asaskevich/govalidator";
-      rev = "766470278477";
-      sha256 = "1lmynw9vkgrxv7nh60wdywv0nx4gjlkiar433wydhpc2h3m5q968";
-    };
-  }
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/chai2010/gettext-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chai2010/gettext-go";
-      rev = "c6fed771bfd5";
-      sha256 = "1p9gzj39x4gyhc552n3dmi3kc224gwilawa5kcg8rla31qkwlsky";
-    };
-  }
-  {
-    goPackagePath = "github.com/client9/misspell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/client9/misspell";
-      rev = "v0.3.4";
-      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
-    };
-  }
-  {
-    goPackagePath = "github.com/cpuguy83/go-md2man";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cpuguy83/go-md2man";
-      rev = "v1.0.4";
-      sha256 = "0hmkrq4gdzb6mwllmh4p1y7vrz7hyr8xqagpk9nyr5dhygvnnq2v";
-    };
-  }
-  {
-    goPackagePath = "github.com/cyphar/filepath-securejoin";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cyphar/filepath-securejoin";
-      rev = "v0.2.2";
-      sha256 = "0id32zjb92wm569m29nfrzz5mw9z1glr3klayr6j134pp4h1sgq4";
-    };
-  }
-  {
-    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/dgrijalva/jwt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgrijalva/jwt-go";
-      rev = "01aeca54ebda";
-      sha256 = "10dmb5xxn5wijn299h483z0klprprkq7n1azakm3ysp50sr11ywg";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/distribution";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/distribution";
-      rev = "edc3ab29cdff";
-      sha256 = "1nqjaq1q6fs3c0avpb02sib0a906xfbk3m74hk2mqjdbyx9y8b4m";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/docker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/docker";
-      rev = "a9fbbdc8dd87";
-      sha256 = "0vkr9fs8qv3ydpm4f4b3jsx1f3cxpws78f2kwpyn00y1gb3lpnpc";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/spdystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/spdystream";
-      rev = "449fdfce4d96";
-      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
-    };
-  }
-  {
-    goPackagePath = "github.com/emicklei/go-restful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emicklei/go-restful";
-      rev = "ff4f55a20633";
-      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
-    };
-  }
-  {
-    goPackagePath = "github.com/evanphx/json-patch";
-    fetch = {
-      type = "git";
-      url = "https://github.com/evanphx/json-patch";
-      rev = "v4.2.0";
-      sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6";
-    };
-  }
-  {
-    goPackagePath = "github.com/exponent-io/jsonpath";
-    fetch = {
-      type = "git";
-      url = "https://github.com/exponent-io/jsonpath";
-      rev = "d6023ce2651d";
-      sha256 = "1qkzaxsjs7yg1672sk67nr119j7jc4751yzgii0j3nbipjv321kc";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/camelcase";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/camelcase";
-      rev = "f6a740d52f96";
-      sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai";
-    };
-  }
-  {
-    goPackagePath = "github.com/ghodss/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "c7ce16629ff4";
-      sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-kit/kit";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-kit/kit";
-      rev = "v0.8.0";
-      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-logfmt/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-logfmt/logfmt";
-      rev = "v0.3.0";
-      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonpointer";
-      rev = "v0.19.0";
-      sha256 = "0sv2k1fwj6rsigc9489c19ap0jib1d0widm040h0sjdw2nadh3i2";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonreference";
-      rev = "v0.19.0";
-      sha256 = "1d0rk17wn755xsfi9pxifdpgs2p23bc0rkf95kjwxczyy6jbqdaj";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/spec";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/spec";
-      rev = "v0.17.2";
-      sha256 = "14n5x2nxlj2x62v3km96yw7rncxk2b9v94k3j0c22r43c60m38mx";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/swag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/swag";
-      rev = "v0.17.2";
-      sha256 = "1hhgbx59f7lcsqiza2is8q9walhf8mxfkwj7xql1scrn6ms2jmlv";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-sql-driver/mysql";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-sql-driver/mysql";
-      rev = "v1.4.0";
-      sha256 = "1jwz2j3vd5hlzmnkh20d4276yd8cxy7pac3x3dfi52jkm82ms99n";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-stack/stack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-stack/stack";
-      rev = "v1.8.0";
-      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobwas/glob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobwas/glob";
-      rev = "v0.2.3";
-      sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z";
-    };
-  }
-  {
-    goPackagePath = "github.com/gogo/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev = "v1.1.1";
-      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/glog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/glog";
-      rev = "23def4e6c14b";
-      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/groupcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/groupcache";
-      rev = "02826c3e7903";
-      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/mock";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/mock";
-      rev = "v1.1.1";
-      sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.2.0";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/btree";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/btree";
-      rev = "7d79101e329e";
-      sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/gofuzz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/gofuzz";
-      rev = "24818f796faf";
-      sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "064e2069ce9c";
-      sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb";
-    };
-  }
-  {
-    goPackagePath = "github.com/googleapis/gnostic";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/gnostic";
-      rev = "0c5108395e2d";
-      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
-    };
-  }
-  {
-    goPackagePath = "github.com/gophercloud/gophercloud";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gophercloud/gophercloud";
-      rev = "c818fa66e4c8";
-      sha256 = "0igz47lpdxgpfb4ckrrs64vr4wkkiqaamk4wf5d3il4dc2g06azw";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uitable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uitable";
-      rev = "v0.0.1";
-      sha256 = "1ff68fv9g1df91fwbrcq83ar429gb4fi2vsd22zjmhvmbqx2zkil";
-    };
-  }
-  {
-    goPackagePath = "github.com/gregjones/httpcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gregjones/httpcache";
-      rev = "787624de3eb7";
-      sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5";
-    };
-  }
-  {
-    goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
-      rev = "0c1b191dbfe5";
-      sha256 = "0d7vybd4yy9a9clk03578xdpyhifxsy3qv6iiglrrnblbmpgksjc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/golang-lru";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/golang-lru";
-      rev = "v0.5.0";
-      sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f";
-    };
-  }
-  {
-    goPackagePath = "github.com/huandu/xstrings";
-    fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "v1.2.0";
-      sha256 = "0bn1kac5vcspxdpx4bygr4gngdbk67pnbqc04b0f7a4ny25n10iq";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.5";
-      sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb";
-    };
-  }
-  {
-    goPackagePath = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev = "v1.0.0";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath = "github.com/jmoiron/sqlx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jmoiron/sqlx";
-      rev = "v1.2.0";
-      sha256 = "0pmi2asx157f5738g19fzyxb9g8yyfbpjyh2a2ykr9mafvp60rfd";
-    };
-  }
-  {
-    goPackagePath = "github.com/json-iterator/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/json-iterator/go";
-      rev = "ab8a2e0c74be";
-      sha256 = "1x3wz44p1238gpyzkiiilvvrq9q8dwjdm9kdidq65yjq0zcn0sq4";
-    };
-  }
-  {
-    goPackagePath = "github.com/julienschmidt/httprouter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/julienschmidt/httprouter";
-      rev = "v1.2.0";
-      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
-    };
-  }
-  {
-    goPackagePath = "github.com/kisielk/gotool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kisielk/gotool";
-      rev = "v1.0.0";
-      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/logfmt";
-      rev = "b84e30acd515";
-      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
-    };
-  }
-  {
-    goPackagePath = "github.com/lib/pq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lib/pq";
-      rev = "v1.0.0";
-      sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i";
-    };
-  }
-  {
-    goPackagePath = "github.com/liggitt/tabwriter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/liggitt/tabwriter";
-      rev = "89fcab3d43de";
-      sha256 = "04q8d0jk1ymvy7pv1dgfbqzk8gcjfa77psg1lk30ghlisf54pakg";
-    };
-  }
-  {
-    goPackagePath = "github.com/mailru/easyjson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mailru/easyjson";
-      rev = "60711f1a8329";
-      sha256 = "0234jp6134wkihdpdwq1hvzqblgl5khc1wp6dyi2h0hgh88bhdk1";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.3";
-      sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.1";
-      sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "v1.9.0";
-      sha256 = "14vw8bwyaz9lrd1rqhfri5cwpimiimhp75pkbqxxsjsr5jz89s7m";
-    };
-  }
-  {
-    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/mitchellh/go-wordwrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-wordwrap";
-      rev = "ad45545899c7";
-      sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/concurrent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/concurrent";
-      rev = "bacd9c7ef1dd";
-      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/reflect2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/reflect2";
-      rev = "v1.0.1";
-      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
-    };
-  }
-  {
-    goPackagePath = "github.com/mwitkow/go-conntrack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mwitkow/go-conntrack";
-      rev = "cc309e4a2223";
-      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
-    };
-  }
-  {
-    goPackagePath = "github.com/opencontainers/go-digest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opencontainers/go-digest";
-      rev = "a6d0ee40d420";
-      sha256 = "1paz3na2xkhi10p5bk7f7gbh5yykfgr9f9i2gcc13rb461yq6fmg";
-    };
-  }
-  {
-    goPackagePath = "github.com/orivej/e";
-    fetch = {
-      type = "git";
-      url = "https://github.com/orivej/e";
-      rev = "ac3492690fda";
-      sha256 = "11jizr28kfkr6zscjxg95pqi6cjp08aqnhs41sdhc98nww78ilkr";
-    };
-  }
-  {
-    goPackagePath = "github.com/orivej/go-nix";
-    fetch = {
-      type = "git";
-      url = "https://github.com/orivej/go-nix";
-      rev = "dae45d921a44";
-      sha256 = "17hfmsz8hs3h2d5c06j1bvbw8ijrhzm3iz911z5zydsl4x7y0cgy";
-    };
-  }
-  {
-    goPackagePath = "github.com/peterbourgon/diskv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/peterbourgon/diskv";
-      rev = "v2.0.1";
-      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/profile";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/profile";
-      rev = "v1.2.1";
-      sha256 = "0blqmvgqvdbqmh3fp9pfdxc9w1qfshrr0zy9whj0sn372bw64qnr";
-    };
-  }
-  {
-    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 = "v0.9.2";
-      sha256 = "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "5c3871d89910";
-      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "v0.2.0";
-      sha256 = "02kym6lcfnlq23qbv277jr0q1n7jj0r14gqg93c7wn7gc44jv3vp";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "1dc9a6cbc91a";
-      sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab";
-    };
-  }
-  {
-    goPackagePath = "github.com/rubenv/sql-migrate";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rubenv/sql-migrate";
-      rev = "1007f53448d7";
-      sha256 = "1cd7wpgym7yzzv4n7bsmg9gh1g7mqlljih3881arqlq11083d3mc";
-    };
-  }
-  {
-    goPackagePath = "github.com/russross/blackfriday";
-    fetch = {
-      type = "git";
-      url = "https://github.com/russross/blackfriday";
-      rev = "300106c228d5";
-      sha256 = "1bcqwb9lk2sijn5q3kqp7sadhh0ysbxlj5bxjspk9yp5bp733cbh";
-    };
-  }
-  {
-    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 = "10ef21a441db";
-      sha256 = "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.2.0";
-      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "fe5e611709b0";
-      sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.2.2";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
-    };
-  }
-  {
-    goPackagePath = "github.com/technosophos/moniker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/technosophos/moniker";
-      rev = "a5dbd03a2245";
-      sha256 = "1z273gvbwr09lcxwd10wyvxmxjln93r952sr1w9hqxcgc1f8l3vl";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "0709b304e793";
-      sha256 = "0i05s09y5pavmfh71fgih7syxg58x7a4krgd8am6d3mnahnmab5c";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/lint";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/lint";
-      rev = "c67002cb31c3";
-      sha256 = "0gymbggskjmphqxqcx4s0vnlcz7mygbix0vhwcwv5r67c0bf6765";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "65e2d4e15006";
-      sha256 = "0aqcmh0sp723d6hwgrv7pnrs4crns2ngr4x43jd4v985cbn455x7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "d2e6202438be";
-      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "42b317875d0f";
-      sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "b90733256f2e";
-      sha256 = "1dsqa48ai4rrqf0sxypnmjg5c6sbp63mj5ljr7qadam06r5m2q98";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/time";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/time";
-      rev = "f51c12702a4d";
-      sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.1.0";
-      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/genproto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-genproto";
-      rev = "c66870c02cf8";
-      sha256 = "0siq7sv68556ygqi2d2zmvx8l1xjqdc0fylqzci5h1mq2i14bayn";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/grpc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/grpc/grpc-go";
-      rev = "v1.18.0";
-      sha256 = "17drwyj3fi5sdz5ndlj7888b3gin6brs3jnh7gh6i15k97l6gf4n";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "v2.2.6";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/gorp.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/gorp.v1";
-      rev = "v1.7.2";
-      sha256 = "0zwkq4cv71vp7cmpfcs54908g1amr0cdxv1b8h1icf64jjawb1lb";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/inf.v0";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/inf.v0";
-      rev = "v0.9.0";
-      sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/square/go-jose.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/square/go-jose.v2";
-      rev = "89060dee6a84";
-      sha256 = "04ak01zs9qibr6qvc6l0zdjj9pgccpbvxz6rdwrqv698i1q3qfpd";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.1";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-  {
-    goPackagePath = "honnef.co/go/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "6e4e0e4f393b";
-      sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apiextensions-apiserver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apiextensions-apiserver";
-      rev = "727a075fdec8";
-      sha256 = "1p8bdl299hrmkq2hfh7sqhsv7c3ig1i0jy8mcgq0hqjix94a87cj";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apimachinery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apimachinery";
-      rev = "6a84e37a896d";
-      sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apiserver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apiserver";
-      rev = "1ec86e4da56c";
-      sha256 = "0my2r4ynbxgpbbrjgcrdrqazhhn2jwk8jkk8ymjks28gzs2i510s";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/cli-runtime";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/cli-runtime";
-      rev = "d644b00f3b79";
-      sha256 = "1zcmfpyp6m9xl8dia56yb00ixra3ag5d43v2f5zlnrwphq967a8p";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "1a26190bd76a";
-      sha256 = "1b77zf0sip2cilkr40b2jm1kk71212s4clmbs2xl57b4n945yy1d";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/cloud-provider";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/cloud-provider";
-      rev = "9c9d72d1bf90";
-      sha256 = "15iwal7nn1b7jwrvrhlzvdnf0381lccpw3jrlww8sfmxqsp860in";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/klog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/klog";
-      rev = "8e90cee79f82";
-      sha256 = "1hzy767dj0ya111al54k3g9xa40bsy7j81fi0sh7gyl1azw0h8dk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/kube-openapi";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/kube-openapi";
-      rev = "b3a7cee44a30";
-      sha256 = "1ald0jjliln5ipdniwfcrm4yal9aa4jr07d3ljrhhh2fj72c6dsp";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/kubernetes";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/kubernetes";
-      rev = "v1.14.1";
-      sha256 = "0s06x9jk9b6r0i39nl0bmvwjgdp3qikgfbw5cnzi5mv03hc2li8s";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/utils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/utils";
-      rev = "c2654d5206da";
-      sha256 = "1849p8xhiyk53mpg3mwpsmsm5ps5sa2p54bv7b38m415qxsn2d1x";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/kustomize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/kustomize";
-      rev = "v2.0.3";
-      sha256 = "1dfkpx9rllj1bzm5f52bx404kdds3zx1h38yqri9ha3p3pcb1bbb";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/yaml";
-      rev = "v1.1.0";
-      sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb";
-    };
-  }
-  {
-    goPackagePath = "vbom.ml/util";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fvbommel/util";
-      rev = "db5cfe13f5cc";
-      sha256 = "1k9c3ihhkrcmhd26pwd62mp2ll7icr2q65i5pkymnfnhhv40p682";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index 73d82207daf5..6fbad55f8070 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,16 +2,25 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.8.4";
+  version = "0.9.3";
+  # rev is the release commit, mainly for version command output
+  rev = "1a9a83b34cdd0c9b4e793ed6b4b5c16ea1a949a0";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = version;
-    sha256 = "0wsj6wc2qi5708cg47l2qblq1cg8fcwxdygpkayib9hapx6lc6f8";
+    sha256 = "0k27mfccz563r18zlbaxll305vrmrx19ym6znsikvqxlmhy86g36";
   };
 
-  modSha256 = "1ia9wx6yd9mdr981lcw58xv39iqzz25r03bmn1c6byxmq2xpcjq8";
+  buildFlagsArray = ''
+    -ldflags=
+      -s -w
+      -X github.com/derailed/k9s/cmd.version=${version}
+      -X github.com/derailed/k9s/cmd.commit=${rev}
+  '';
+
+  modSha256 = "09rwbl8zd06ax5hidm5l1schwqvsr5ndlqh09w1rq9fqjijy649y";
 
   meta = with stdenv.lib; {
     description = "Kubernetes CLI To Manage Your Clusters In Style.";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
index c8b95baf2f39..267f25f8bb58 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
@@ -43,7 +43,7 @@ let
           description = "Easiest way to get a production Kubernetes up and running";
           homepage = https://github.com/kubernetes/kops;
           license = licenses.asl20;
-          maintainers = with maintainers; [offline zimbatm];
+          maintainers = with maintainers; [offline zimbatm kampka];
           platforms = platforms.unix;
         };
       } // attrs';
@@ -57,7 +57,17 @@ in rec {
   };
 
   kops_1_13 = mkKops {
-    version = "1.13.0";
-    sha256 = "04kbbg3gqzwzzzq1lmnpw2gqky3pfwfk7pc0laxv2yssk9wac5k1";
+    version = "1.13.2";
+    sha256 = "0lkkg34vn020r62ga8vg5d3a8jwvq00xlv3p1s01nkz33f6salng";
+  };
+  
+  kops_1_14 = mkKops {
+    version = "1.14.1";
+    sha256 = "0ikd8qwrjh8s1sc95g18sm0q6p33swz2m1rjd8zw34mb2w9jv76n";
+  };
+
+  kops_1_15 = mkKops {
+    version = "1.15.0";
+    sha256 = "0sjas8pn0njl767b1y15g7cci2q3kxkxwmgr0wvs7vi3n1s1sf9d";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
index c549efa7b40b..7058c009f2dd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kube3d";
   version = "1.3.1";
+  k3sVersion = "0.9.1";
 
   goPackagePath = "github.com/rancher/k3d";
 
@@ -13,13 +14,20 @@ buildGoPackage rec {
     sha256 = "0bdpjnzyxd6mdc1qv0ml89qds6305kn3wmyci2kv6g2y7r7wxvm2";
   };
 
-  goDeps = ./deps.nix;
+  buildFlagsArray = ''
+    -ldflags=
+      -w -s
+      -X github.com/rancher/k3d/version.Version=${version}
+      -X github.com/rancher/k3d/version.K3sVersion=v${k3sVersion}
+  '';
+
+  modSha256 = "1qadf3gc2626l4jpad4lzi649nh8if9m6fgs2cf46r1nish16h95";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/rancher/k3d";
     description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ kuznero ];
+    maintainers = with maintainers; [ kuznero jlesquembre ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube3d/deps.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/deps.nix
deleted file mode 100644
index 4fb2936a40b0..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/kube3d/deps.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/Microsoft/go-winio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Microsoft/go-winio";
-      rev = "v0.4.12";
-      sha256 = "10v2f1xaw2cc97mjqnxzgs9ydpqv71f0ynp1spcywqw97la56zqw";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.0";
-      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/distribution";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/distribution";
-      rev = "v2.7.1";
-      sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/docker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/docker";
-      rev = "v1.13.1";
-      sha256 = "0l9kjibnpwcgk844sibxk9ppyqniw9r0np1mzp95f8f461jb0iar";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/go-connections";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/go-connections";
-      rev = "v0.4.0";
-      sha256 = "0mv6f6b5nljc17dmwmc28hc0y11pqglz7x0d2mjrwdmfxf64hwqq";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/go-units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/go-units";
-      rev = "v0.3.3";
-      sha256 = "0npxsb3pp89slwf4a73fxm20hykad8xggij6i6hcd5jy19bjrd93";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.4";
-      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "v1.1.0";
-      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
-    };
-  }
-  {
-    goPackagePath = "github.com/olekukonko/tablewriter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/olekukonko/tablewriter";
-      rev = "v0.0.1";
-      sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
-    };
-  }
-  {
-    goPackagePath = "github.com/opencontainers/go-digest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opencontainers/go-digest";
-      rev = "v1.0.0-rc1";
-      sha256 = "01gc7fpn8ax429024p2fcx3yb18axwz5bjf2hqxlii1jbsgw4bh9";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
-    };
-  }
-  {
-    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/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.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
-    };
-  }
-  {
-    goPackagePath = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev = "v1.20.0";
-      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "b630fd6fe46b";
-      sha256 = "0m84kwckmmc0z05kjb4dd43g1g61al32a4z593flpcbaqx8di5sd";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "d0b11bdaac8a";
-      sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix
index 3d75ef543bcc..69d013e3f034 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -1,6 +1,6 @@
 { lib, buildGoPackage, fetchFromGitHub, ... }:
 
-let version = "0.12.5"; in
+let version = "0.13.1"; in
 
 buildGoPackage {
   pname = "kubecfg";
@@ -10,7 +10,7 @@ buildGoPackage {
     owner = "bitnami";
     repo = "kubecfg";
     rev = "v${version}";
-    sha256 = "0pn37qkwn3kdsd0z3qxk95lqjn2zak7gkk0pwlqp26jmrx0vv18l";
+    sha256 = "0x2mg13p8r1sgqr1bbzh57kfymb8z392y43djgks2agc7rjnd45f";
   };
 
   goPackagePath = "github.com/bitnami/kubecfg";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
index 1ad7ad3e393d..f852c3ac0a3a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/nixpkgs/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.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "18wpqrgb1ils4g8ggg217xq4jq30i4m7par2mdjk59pmz7ssm25p";
+    sha256 = "05rpwmzkxhbvckcs7hspy6krdfskd8jnsn9g43fhidjvqhxyh6n3";
   };
 
   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/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
new file mode 100644
index 000000000000..3a2463447a2c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeseal";
+  version = "0.9.6";
+
+  src = fetchFromGitHub {
+    owner = "bitnami-labs";
+    repo = "sealed-secrets";
+    rev = "v${version}";
+    sha256 = "09ds5qn13l6l8kl2i01hgy6pqr30z1rm447ax32lf79zp8hca3r3";
+  };
+
+  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/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix
index dcda18f18be6..779edad8de34 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubetail";
-  version = "1.6.9";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "johanhaleby";
     repo = "kubetail";
     rev = version;
-    sha256 = "0mcv23p0h1ww9gvax8b4b4x5hmg02shrbgms0v0c72cmw0zf2phr";
+    sha256 = "0bg872n9fs6pl03rmjny9sgby718yznx9jwi5rx3hi4km3ha9j0b";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
index 89d06474509f..84e9b8899431 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, makeWrapper }:
+{ stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }:
 
 let
 
@@ -7,10 +7,10 @@ let
   schema = stdenv.mkDerivation {
     name = "kubeval-schema";
     src = fetchFromGitHub {
-      owner = "garethr";
+      owner = "instrumenta";
       repo = "kubernetes-json-schema";
-      rev = "c7672fd48e1421f0060dd54b6620baa2ab7224ba";
-      sha256 = "0picr3wvjx4qv158jy4f60pl225rm4mh0l97pf8nqi9h9x4x888p";
+      rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699";
+      sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr";
     };
 
     installPhase = ''
@@ -21,26 +21,26 @@ let
 
 in
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kubeval";
-  version = "0.7.3";
+  version = "0.14.0";
 
-  goPackagePath = "github.com/garethr/kubeval";
   src = fetchFromGitHub {
-    owner = "garethr";
+    owner = "instrumenta";
     repo = "kubeval";
-    rev = version;
-    sha256 = "042v4mc5p80vmk56wp6aw89yiibjnfqn79c0zcd6y179br4gpfnb";
+    rev = "${version}";
+    sha256 = "0kpwk7bv36m3i8vavm1pqc8l611c6l9qbagcc64v6r85qig4w5xv";
   };
-  goDeps = ./deps.nix;
 
   buildInputs = [ makeWrapper ];
 
-  postFixup = "wrapProgram $bin/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}";
+  modSha256 = "0y9x44y3bchi8xg0a6jmp2rmi8dybkl6qlywb6nj1viab1s8dd4y";
+
+  postFixup = "wrapProgram $out/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}/kubernetes-json-schema/master";
 
   meta = with lib; {
     description = "Validate your Kubernetes configuration files";
-    homepage = https://github.com/garethr/kubeval;
+    homepage = https://github.com/instrumenta/kubeval;
     license = licenses.asl20;
     maintainers = with maintainers; [ nicknovitski ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeval/deps.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeval/deps.nix
deleted file mode 100644
index b9565e927ded..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeval/deps.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "b7773ae218740a7be65057fc60b366a49b538a44";
-      sha256 = "09904bk7ac6qs9dgiv23rziq9h3makb9qg4jvxr71rlydsd7psfd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168";
-      sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr";
-    };
-  }
-  {
-    goPackagePath = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "c2353362d570a7bfa228149c62842019201cfb71";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b";
-      sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12";
-      sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "787d034dfe70e44075ccc060d346146ef53270ad";
-      sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev = "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1e58aa3361fd650121dceeedc399e7189c05674a";
-      sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394";
-      sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "3ebe029320b2676d667ae88da602a5f854788a8a";
-      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736";
-      sha256 = "0y3r6ysi5vn0yq5c7pbl62yg2i64fkv54xgj2jf1hn3v6zzyimis";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonpointer";
-      rev = "4e3ac2762d5f479393488629ee9370b50873b3a6";
-      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonreference";
-      rev = "bd5ef7bd5415a7ac448318e64f11a24cd21e594b";
-      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonschema";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonschema";
-      rev = "9ff6d6c47f3f5de55acc6f464d6e3719b02818ae";
-      sha256 = "0rpkya4lnpv9g33bs0z3vd5dlnadkyq1lg7114nbd73vm878s6sw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "2d6f6f883a06fc0d5f4b14a81e4c28705ea64c15";
-      sha256 = "1a6x6n1fk5k013w5r4b0bxws1d2fh0s69mbzpi1vkyfpcxabwjhj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877";
-      sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
index a4236a9408cc..6afbbf215a3f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nomad";
-  version = "0.9.5";
+  version = "0.10.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/nomad";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "01491470idb11z0ab4anb5caw46vy9s94a17l92j0z2f3f4k6xfl";
+    sha256 = "1kv67rkqnxiz2dkmc1v1df6qx9j5j4h7cis00v2i15sl824g22jw";
   };
 
   # ui:
@@ -36,6 +36,6 @@ buildGoPackage rec {
     description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
     platforms = platforms.unix;
     license = licenses.mpl20;
-    maintainers = with maintainers; [ rushmorem pradeepchhetri ];
+    maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
index 758786f586a6..3b96ef4ea45e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
@@ -10,7 +10,7 @@ with lib;
 
 let
   version = "3.11.0";
-  ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
+  ver = stdenv.lib.elemAt (stdenv.lib.splitVersion version);
   versionMajor = ver 0;
   versionMinor = ver 1;
   versionPatch = ver 2;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
index ce6c5424fba1..32dbced0a461 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/spacegun/default.nix b/nixpkgs/pkgs/applications/networking/cluster/spacegun/default.nix
new file mode 100644
index 000000000000..2180d8d30489
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/spacegun/default.nix
@@ -0,0 +1,27 @@
+{ pkgs, nodejs, stdenv, lib, ... }:
+
+let
+
+  packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
+
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+in
+nodePackages."${packageName}".override {
+  nativeBuildInputs = [ pkgs.makeWrapper ];
+
+  postInstall = ''
+    # Patch shebangs in node_modules, otherwise the webpack build fails with interpreter problems
+    patchShebangs --build "$out/lib/node_modules/spacegun/node_modules/"
+    # compile Typescript sources
+    npm run build
+  '';
+
+  meta = with lib; {
+    description = "Version controlled multi-cluster deployment manager for kubernetes";
+    maintainers = with maintainers; [ kampka ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh b/nixpkgs/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
new file mode 100644
index 000000000000..293a72a16237
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix \
+  --nodejs-10 \
+  --node-env ../../../../development/node-packages/node-env.nix \
+  --development \
+  --input package.json \
+  --output node-packages.nix \
+  --composition node-composition.nix
diff --git a/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-composition.nix b/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-composition.nix
new file mode 100644
index 000000000000..6a5283528fca
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-composition.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+
+let
+  nodeEnv = import ../../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-packages.nix b/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-packages.nix
new file mode 100644
index 000000000000..a69352a9c21c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/spacegun/node-packages.nix
@@ -0,0 +1,11420 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.5.5" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
+      };
+    };
+    "@babel/core-7.6.2" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz";
+        sha512 = "l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==";
+      };
+    };
+    "@babel/generator-7.6.2" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz";
+        sha512 = "j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==";
+      };
+    };
+    "@babel/helper-function-name-7.1.0" = {
+      name = "_at_babel_slash_helper-function-name";
+      packageName = "@babel/helper-function-name";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
+      };
+    };
+    "@babel/helper-get-function-arity-7.0.0" = {
+      name = "_at_babel_slash_helper-get-function-arity";
+      packageName = "@babel/helper-get-function-arity";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
+      };
+    };
+    "@babel/helper-plugin-utils-7.0.0" = {
+      name = "_at_babel_slash_helper-plugin-utils";
+      packageName = "@babel/helper-plugin-utils";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha512 = "CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==";
+      };
+    };
+    "@babel/helper-split-export-declaration-7.4.4" = {
+      name = "_at_babel_slash_helper-split-export-declaration";
+      packageName = "@babel/helper-split-export-declaration";
+      version = "7.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
+      };
+    };
+    "@babel/helpers-7.6.2" = {
+      name = "_at_babel_slash_helpers";
+      packageName = "@babel/helpers";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha512 = "3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==";
+      };
+    };
+    "@babel/highlight-7.5.0" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
+      };
+    };
+    "@babel/parser-7.6.2" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz";
+        sha512 = "mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==";
+      };
+    };
+    "@babel/plugin-syntax-object-rest-spread-7.2.0" = {
+      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
+      packageName = "@babel/plugin-syntax-object-rest-spread";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha512 = "t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==";
+      };
+    };
+    "@babel/template-7.6.0" = {
+      name = "_at_babel_slash_template";
+      packageName = "@babel/template";
+      version = "7.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz";
+        sha512 = "5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==";
+      };
+    };
+    "@babel/traverse-7.6.2" = {
+      name = "_at_babel_slash_traverse";
+      packageName = "@babel/traverse";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz";
+        sha512 = "8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==";
+      };
+    };
+    "@babel/types-7.6.1" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz";
+        sha512 = "X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==";
+      };
+    };
+    "@cnakazawa/watch-1.0.3" = {
+      name = "_at_cnakazawa_slash_watch";
+      packageName = "@cnakazawa/watch";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
+      };
+    };
+    "@jest/console-24.9.0" = {
+      name = "_at_jest_slash_console";
+      packageName = "@jest/console";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz";
+        sha512 = "Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==";
+      };
+    };
+    "@jest/core-24.9.0" = {
+      name = "_at_jest_slash_core";
+      packageName = "@jest/core";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz";
+        sha512 = "Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==";
+      };
+    };
+    "@jest/environment-24.9.0" = {
+      name = "_at_jest_slash_environment";
+      packageName = "@jest/environment";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz";
+        sha512 = "5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==";
+      };
+    };
+    "@jest/fake-timers-24.9.0" = {
+      name = "_at_jest_slash_fake-timers";
+      packageName = "@jest/fake-timers";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha512 = "eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==";
+      };
+    };
+    "@jest/reporters-24.9.0" = {
+      name = "_at_jest_slash_reporters";
+      packageName = "@jest/reporters";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha512 = "mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==";
+      };
+    };
+    "@jest/source-map-24.9.0" = {
+      name = "_at_jest_slash_source-map";
+      packageName = "@jest/source-map";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha512 = "/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==";
+      };
+    };
+    "@jest/test-result-24.9.0" = {
+      name = "_at_jest_slash_test-result";
+      packageName = "@jest/test-result";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha512 = "XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==";
+      };
+    };
+    "@jest/test-sequencer-24.9.0" = {
+      name = "_at_jest_slash_test-sequencer";
+      packageName = "@jest/test-sequencer";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha512 = "6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==";
+      };
+    };
+    "@jest/transform-24.9.0" = {
+      name = "_at_jest_slash_transform";
+      packageName = "@jest/transform";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz";
+        sha512 = "TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==";
+      };
+    };
+    "@jest/types-24.9.0" = {
+      name = "_at_jest_slash_types";
+      packageName = "@jest/types";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz";
+        sha512 = "XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==";
+      };
+    };
+    "@kubernetes/client-node-0.10.3" = {
+      name = "_at_kubernetes_slash_client-node";
+      packageName = "@kubernetes/client-node";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.3.tgz";
+        sha512 = "mw+1zdKfMW4QN2ns82SKFhAvqC4SVUAiItto4oFg3Me+a510h3h9N5O7ad6m4efAmlQBlMc6Y5FHz70dAwuiMg==";
+      };
+    };
+    "@sindresorhus/is-0.7.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
+        sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==";
+      };
+    };
+    "@types/accepts-1.3.5" = {
+      name = "_at_types_slash_accepts";
+      packageName = "@types/accepts";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz";
+        sha512 = "jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==";
+      };
+    };
+    "@types/axios-0.14.0" = {
+      name = "_at_types_slash_axios";
+      packageName = "@types/axios";
+      version = "0.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz";
+        sha1 = "ec2300fbe7d7dddd7eb9d3abf87999964cafce46";
+      };
+    };
+    "@types/babel-types-7.0.7" = {
+      name = "_at_types_slash_babel-types";
+      packageName = "@types/babel-types";
+      version = "7.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz";
+        sha512 = "dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==";
+      };
+    };
+    "@types/babel__core-7.1.3" = {
+      name = "_at_types_slash_babel__core";
+      packageName = "@types/babel__core";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha512 = "8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==";
+      };
+    };
+    "@types/babel__generator-7.6.0" = {
+      name = "_at_types_slash_babel__generator";
+      packageName = "@types/babel__generator";
+      version = "7.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha512 = "c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==";
+      };
+    };
+    "@types/babel__template-7.0.2" = {
+      name = "_at_types_slash_babel__template";
+      packageName = "@types/babel__template";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha512 = "/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==";
+      };
+    };
+    "@types/babel__traverse-7.0.7" = {
+      name = "_at_types_slash_babel__traverse";
+      packageName = "@types/babel__traverse";
+      version = "7.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha512 = "CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==";
+      };
+    };
+    "@types/babylon-6.16.5" = {
+      name = "_at_types_slash_babylon";
+      packageName = "@types/babylon";
+      version = "6.16.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz";
+        sha512 = "xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==";
+      };
+    };
+    "@types/body-parser-1.17.1" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz";
+        sha512 = "RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==";
+      };
+    };
+    "@types/caseless-0.12.2" = {
+      name = "_at_types_slash_caseless";
+      packageName = "@types/caseless";
+      version = "0.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz";
+        sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
+      };
+    };
+    "@types/command-line-args-5.0.0" = {
+      name = "_at_types_slash_command-line-args";
+      packageName = "@types/command-line-args";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz";
+        sha512 = "4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==";
+      };
+    };
+    "@types/connect-3.4.32" = {
+      name = "_at_types_slash_connect";
+      packageName = "@types/connect";
+      version = "3.4.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
+        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+      };
+    };
+    "@types/cookies-0.7.4" = {
+      name = "_at_types_slash_cookies";
+      packageName = "@types/cookies";
+      version = "0.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz";
+        sha512 = "oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==";
+      };
+    };
+    "@types/cron-1.7.1" = {
+      name = "_at_types_slash_cron";
+      packageName = "@types/cron";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/cron/-/cron-1.7.1.tgz";
+        sha512 = "48brwgU18DqA0mQX1As5OcJEo1yNjaXMM6Mk4r8K1dOzLJRQ37FE/kCivKx7ClKEHfhX2FdcxKzJ1B744a+V3A==";
+      };
+    };
+    "@types/events-3.0.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
+      };
+    };
+    "@types/express-4.17.1" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz";
+        sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
+      };
+    };
+    "@types/express-serve-static-core-4.16.9" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.16.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
+        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+      };
+    };
+    "@types/formidable-1.0.31" = {
+      name = "_at_types_slash_formidable";
+      packageName = "@types/formidable";
+      version = "1.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz";
+        sha512 = "dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==";
+      };
+    };
+    "@types/glob-7.1.1" = {
+      name = "_at_types_slash_glob";
+      packageName = "@types/glob";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz";
+        sha512 = "1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==";
+      };
+    };
+    "@types/http-assert-1.5.1" = {
+      name = "_at_types_slash_http-assert";
+      packageName = "@types/http-assert";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz";
+        sha512 = "PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==";
+      };
+    };
+    "@types/istanbul-lib-coverage-2.0.1" = {
+      name = "_at_types_slash_istanbul-lib-coverage";
+      packageName = "@types/istanbul-lib-coverage";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha512 = "hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==";
+      };
+    };
+    "@types/istanbul-lib-report-1.1.1" = {
+      name = "_at_types_slash_istanbul-lib-report";
+      packageName = "@types/istanbul-lib-report";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha512 = "3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==";
+      };
+    };
+    "@types/istanbul-reports-1.1.1" = {
+      name = "_at_types_slash_istanbul-reports";
+      packageName = "@types/istanbul-reports";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha512 = "UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==";
+      };
+    };
+    "@types/jest-24.0.18" = {
+      name = "_at_types_slash_jest";
+      packageName = "@types/jest";
+      version = "24.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest/-/jest-24.0.18.tgz";
+        sha512 = "jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ==";
+      };
+    };
+    "@types/jest-diff-20.0.1" = {
+      name = "_at_types_slash_jest-diff";
+      packageName = "@types/jest-diff";
+      version = "20.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha512 = "yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==";
+      };
+    };
+    "@types/js-yaml-3.12.1" = {
+      name = "_at_types_slash_js-yaml";
+      packageName = "@types/js-yaml";
+      version = "3.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz";
+        sha512 = "SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==";
+      };
+    };
+    "@types/keygrip-1.0.1" = {
+      name = "_at_types_slash_keygrip";
+      packageName = "@types/keygrip";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.1.tgz";
+        sha1 = "ff540462d2fb4d0a88441ceaf27d287b01c3d878";
+      };
+    };
+    "@types/koa-2.0.50" = {
+      name = "_at_types_slash_koa";
+      packageName = "@types/koa";
+      version = "2.0.50";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.0.50.tgz";
+        sha512 = "TcgOD2lh0EISSadAk1DOBYw7kNoY9XdeB3vEMOKiDDaTMYm+V54nyPsU7Ulb/htb5OBIR79RgTeCWntCcophLw==";
+      };
+    };
+    "@types/koa-compose-3.2.4" = {
+      name = "_at_types_slash_koa-compose";
+      packageName = "@types/koa-compose";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.4.tgz";
+        sha512 = "ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==";
+      };
+    };
+    "@types/koa-router-7.0.42" = {
+      name = "_at_types_slash_koa-router";
+      packageName = "@types/koa-router";
+      version = "7.0.42";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.0.42.tgz";
+        sha512 = "mggrNY7Ywwjt7QjaMAlbb1ixE+v7AFskOeyKdmZT/NvPVEAo48gYUxIcF8ILlMc3eg1bo6SxNoUcbxhTv7edrA==";
+      };
+    };
+    "@types/koa-send-4.1.2" = {
+      name = "_at_types_slash_koa-send";
+      packageName = "@types/koa-send";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.2.tgz";
+        sha512 = "rfqKIv9bFds39Jxvsp8o3YJLnEQVPVriYA14AuO2OY65IHh/4UX4U/iMs5L0wATpcRmm1bbe0BNk23TRwx3VQQ==";
+      };
+    };
+    "@types/koa-static-4.0.1" = {
+      name = "_at_types_slash_koa-static";
+      packageName = "@types/koa-static";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-static/-/koa-static-4.0.1.tgz";
+        sha512 = "SSpct5fEcAeRkBHa3RiwCIRfDHcD1cZRhwRF///ZfvRt8KhoqRrhK6wpDlYPk/vWHVFE9hPGqh68bhzsHkir4w==";
+      };
+    };
+    "@types/koa-views-2.0.3" = {
+      name = "_at_types_slash_koa-views";
+      packageName = "@types/koa-views";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-views/-/koa-views-2.0.3.tgz";
+        sha512 = "XLn//7qUUz2U9ZKXyHPwVIcQbZcW3phYTFXHGa1eW5BN88bi8n2fegvwJ+TokL2jRmRqBWwMB5p7Aab9iq1sZw==";
+      };
+    };
+    "@types/lodash-4.14.141" = {
+      name = "_at_types_slash_lodash";
+      packageName = "@types/lodash";
+      version = "4.14.141";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.141.tgz";
+        sha512 = "v5NYIi9qEbFEUpCyikmnOYe4YlP8BMUdTcNCAquAKzu+FA7rZ1onj9x80mbnDdOW/K5bFf3Tv5kJplP33+gAbQ==";
+      };
+    };
+    "@types/lodash.clonedeep-4.5.6" = {
+      name = "_at_types_slash_lodash.clonedeep";
+      packageName = "@types/lodash.clonedeep";
+      version = "4.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz";
+        sha512 = "cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==";
+      };
+    };
+    "@types/mime-2.0.1" = {
+      name = "_at_types_slash_mime";
+      packageName = "@types/mime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz";
+        sha512 = "FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==";
+      };
+    };
+    "@types/minimatch-3.0.3" = {
+      name = "_at_types_slash_minimatch";
+      packageName = "@types/minimatch";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
+      };
+    };
+    "@types/mkdirp-0.5.2" = {
+      name = "_at_types_slash_mkdirp";
+      packageName = "@types/mkdirp";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz";
+        sha512 = "U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==";
+      };
+    };
+    "@types/node-10.14.20" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.14.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.14.20.tgz";
+        sha512 = "An+MXSV8CGXz/BO9C1KKsoJ/8WDrvlNUaRMsm2h+IHZuSyQkM8U5bJJkb8ItLKA73VePG/nUK+t+EuW2IWuhsQ==";
+      };
+    };
+    "@types/node-12.7.11" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.7.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz";
+        sha512 = "Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==";
+      };
+    };
+    "@types/ora-3.2.0" = {
+      name = "_at_types_slash_ora";
+      packageName = "@types/ora";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ora/-/ora-3.2.0.tgz";
+        sha512 = "jll99xUKpiFbIFZSQcxm4numfsLaOWBzWNaRk3PvTSE7BPqTzzOCFmS0mQ7m8qkTfmYhuYbehTGsxkvRLPC++w==";
+      };
+    };
+    "@types/range-parser-1.2.3" = {
+      name = "_at_types_slash_range-parser";
+      packageName = "@types/range-parser";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
+        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+      };
+    };
+    "@types/request-2.48.3" = {
+      name = "_at_types_slash_request";
+      packageName = "@types/request";
+      version = "2.48.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz";
+        sha512 = "3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==";
+      };
+    };
+    "@types/serve-static-1.13.3" = {
+      name = "_at_types_slash_serve-static";
+      packageName = "@types/serve-static";
+      version = "1.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz";
+        sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
+      };
+    };
+    "@types/stack-utils-1.0.1" = {
+      name = "_at_types_slash_stack-utils";
+      packageName = "@types/stack-utils";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha512 = "l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==";
+      };
+    };
+    "@types/tough-cookie-2.3.5" = {
+      name = "_at_types_slash_tough-cookie";
+      packageName = "@types/tough-cookie";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz";
+        sha512 = "SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==";
+      };
+    };
+    "@types/underscore-1.9.3" = {
+      name = "_at_types_slash_underscore";
+      packageName = "@types/underscore";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.3.tgz";
+        sha512 = "SwbHKB2DPIDlvYqtK5O+0LFtZAyrUSw4c0q+HWwmH1Ve3KMQ0/5PlV3RX97+3dP7yMrnNQ8/bCWWvQpPl03Mug==";
+      };
+    };
+    "@types/websocket-0.0.40" = {
+      name = "_at_types_slash_websocket";
+      packageName = "@types/websocket";
+      version = "0.0.40";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/websocket/-/websocket-0.0.40.tgz";
+        sha512 = "ldteZwWIgl9cOy7FyvYn+39Ah4+PfpVE72eYKw75iy2L0zTbhbcwvzeJ5IOu6DQP93bjfXq0NGHY6FYtmYoqFQ==";
+      };
+    };
+    "@types/ws-6.0.3" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.3.tgz";
+        sha512 = "yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w==";
+      };
+    };
+    "@types/yargs-13.0.3" = {
+      name = "_at_types_slash_yargs";
+      packageName = "@types/yargs";
+      version = "13.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz";
+        sha512 = "K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==";
+      };
+    };
+    "@types/yargs-parser-13.1.0" = {
+      name = "_at_types_slash_yargs-parser";
+      packageName = "@types/yargs-parser";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha512 = "gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==";
+      };
+    };
+    "@webassemblyjs/ast-1.8.5" = {
+      name = "_at_webassemblyjs_slash_ast";
+      packageName = "@webassemblyjs/ast";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha512 = "aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==";
+      };
+    };
+    "@webassemblyjs/floating-point-hex-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
+      packageName = "@webassemblyjs/floating-point-hex-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha512 = "9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==";
+      };
+    };
+    "@webassemblyjs/helper-api-error-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-api-error";
+      packageName = "@webassemblyjs/helper-api-error";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha512 = "Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==";
+      };
+    };
+    "@webassemblyjs/helper-buffer-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-buffer";
+      packageName = "@webassemblyjs/helper-buffer";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha512 = "Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==";
+      };
+    };
+    "@webassemblyjs/helper-code-frame-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-code-frame";
+      packageName = "@webassemblyjs/helper-code-frame";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha512 = "VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==";
+      };
+    };
+    "@webassemblyjs/helper-fsm-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-fsm";
+      packageName = "@webassemblyjs/helper-fsm";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha512 = "kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==";
+      };
+    };
+    "@webassemblyjs/helper-module-context-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-module-context";
+      packageName = "@webassemblyjs/helper-module-context";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha512 = "/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-bytecode-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
+      packageName = "@webassemblyjs/helper-wasm-bytecode";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha512 = "Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-section-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-section";
+      packageName = "@webassemblyjs/helper-wasm-section";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha512 = "VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==";
+      };
+    };
+    "@webassemblyjs/ieee754-1.8.5" = {
+      name = "_at_webassemblyjs_slash_ieee754";
+      packageName = "@webassemblyjs/ieee754";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha512 = "aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==";
+      };
+    };
+    "@webassemblyjs/leb128-1.8.5" = {
+      name = "_at_webassemblyjs_slash_leb128";
+      packageName = "@webassemblyjs/leb128";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha512 = "plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==";
+      };
+    };
+    "@webassemblyjs/utf8-1.8.5" = {
+      name = "_at_webassemblyjs_slash_utf8";
+      packageName = "@webassemblyjs/utf8";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha512 = "U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==";
+      };
+    };
+    "@webassemblyjs/wasm-edit-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-edit";
+      packageName = "@webassemblyjs/wasm-edit";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha512 = "A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==";
+      };
+    };
+    "@webassemblyjs/wasm-gen-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-gen";
+      packageName = "@webassemblyjs/wasm-gen";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha512 = "BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==";
+      };
+    };
+    "@webassemblyjs/wasm-opt-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-opt";
+      packageName = "@webassemblyjs/wasm-opt";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha512 = "HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==";
+      };
+    };
+    "@webassemblyjs/wasm-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-parser";
+      packageName = "@webassemblyjs/wasm-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha512 = "pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==";
+      };
+    };
+    "@webassemblyjs/wast-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wast-parser";
+      packageName = "@webassemblyjs/wast-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha512 = "daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==";
+      };
+    };
+    "@webassemblyjs/wast-printer-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wast-printer";
+      packageName = "@webassemblyjs/wast-printer";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha512 = "w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==";
+      };
+    };
+    "@xtuc/ieee754-1.2.0" = {
+      name = "_at_xtuc_slash_ieee754";
+      packageName = "@xtuc/ieee754";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
+      };
+    };
+    "@xtuc/long-4.2.2" = {
+      name = "_at_xtuc_slash_long";
+      packageName = "@xtuc/long";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz";
+        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
+      };
+    };
+    "abab-2.0.2" = {
+      name = "abab";
+      packageName = "abab";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz";
+        sha512 = "2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "accepts-1.3.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+      };
+    };
+    "acorn-3.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    };
+    "acorn-4.0.13" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "4.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz";
+        sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
+      };
+    };
+    "acorn-5.7.3" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz";
+        sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
+      };
+    };
+    "acorn-6.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz";
+        sha512 = "/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==";
+      };
+    };
+    "acorn-globals-3.1.0" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz";
+        sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
+      };
+    };
+    "acorn-globals-4.3.4" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz";
+        sha512 = "clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==";
+      };
+    };
+    "acorn-walk-6.2.0" = {
+      name = "acorn-walk";
+      packageName = "acorn-walk";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==";
+      };
+    };
+    "aggregate-error-1.0.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz";
+        sha1 = "888344dad0220a72e3af50906117f48771925fac";
+      };
+    };
+    "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==";
+      };
+    };
+    "ajv-errors-1.0.1" = {
+      name = "ajv-errors";
+      packageName = "ajv-errors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
+      };
+    };
+    "ajv-keywords-3.4.1" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha512 = "RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "ansi-colors-3.2.4" = {
+      name = "ansi-colors";
+      packageName = "ansi-colors";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha512 = "hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==";
+      };
+    };
+    "ansi-escapes-3.2.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
+      };
+    };
+    "ansi-html-0.0.7" = {
+      name = "ansi-html";
+      packageName = "ansi-html";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    };
+    "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";
+      };
+    };
+    "ansi-regex-3.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    };
+    "ansi-regex-4.1.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "any-promise-1.3.0" = {
+      name = "any-promise";
+      packageName = "any-promise";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz";
+        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+      };
+    };
+    "anymatch-2.0.0" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
+        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "argparse-1.0.10" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+      };
+    };
+    "arr-diff-4.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    };
+    "arr-flatten-1.1.0" = {
+      name = "arr-flatten";
+      packageName = "arr-flatten";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
+      };
+    };
+    "arr-union-3.1.0" = {
+      name = "arr-union";
+      packageName = "arr-union";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    };
+    "array-back-3.1.0" = {
+      name = "array-back";
+      packageName = "array-back";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz";
+        sha512 = "TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==";
+      };
+    };
+    "array-equal-1.0.0" = {
+      name = "array-equal";
+      packageName = "array-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    };
+    "array-flatten-1.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    };
+    "array-flatten-2.1.2" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
+      };
+    };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
+    "array-unique-0.3.2" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    };
+    "asap-2.0.6" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    };
+    "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==";
+      };
+    };
+    "asn1.js-4.10.1" = {
+      name = "asn1.js";
+      packageName = "asn1.js";
+      version = "4.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==";
+      };
+    };
+    "assert-1.5.0" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
+      };
+    };
+    "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";
+      };
+    };
+    "assign-symbols-1.0.0" = {
+      name = "assign-symbols";
+      packageName = "assign-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    };
+    "astral-regex-1.0.0" = {
+      name = "astral-regex";
+      packageName = "astral-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+      };
+    };
+    "async-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
+    "async-each-1.0.3" = {
+      name = "async-each";
+      packageName = "async-each";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
+        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
+      };
+    };
+    "async-limiter-1.0.1" = {
+      name = "async-limiter";
+      packageName = "async-limiter";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "atob-2.1.2" = {
+      name = "atob";
+      packageName = "atob";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
+        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
+      };
+    };
+    "awesome-typescript-loader-5.2.1" = {
+      name = "awesome-typescript-loader";
+      packageName = "awesome-typescript-loader";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz";
+        sha512 = "slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==";
+      };
+    };
+    "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.8.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
+        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+      };
+    };
+    "axios-0.19.0" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz";
+        sha512 = "1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==";
+      };
+    };
+    "babel-6.23.0" = {
+      name = "babel";
+      packageName = "babel";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel/-/babel-6.23.0.tgz";
+        sha1 = "d0d1e7d803e974765beea3232d4e153c0efb90f4";
+      };
+    };
+    "babel-code-frame-6.26.0" = {
+      name = "babel-code-frame";
+      packageName = "babel-code-frame";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    };
+    "babel-core-6.26.3" = {
+      name = "babel-core";
+      packageName = "babel-core";
+      version = "6.26.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
+        sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
+      };
+    };
+    "babel-generator-6.26.1" = {
+      name = "babel-generator";
+      packageName = "babel-generator";
+      version = "6.26.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz";
+        sha512 = "HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==";
+      };
+    };
+    "babel-helper-builder-binary-assignment-operator-visitor-6.24.1" = {
+      name = "babel-helper-builder-binary-assignment-operator-visitor";
+      packageName = "babel-helper-builder-binary-assignment-operator-visitor";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz";
+        sha1 = "cce4517ada356f4220bcae8a02c2b346f9a56664";
+      };
+    };
+    "babel-helper-call-delegate-6.24.1" = {
+      name = "babel-helper-call-delegate";
+      packageName = "babel-helper-call-delegate";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";
+        sha1 = "ece6aacddc76e41c3461f88bfc575bd0daa2df8d";
+      };
+    };
+    "babel-helper-define-map-6.26.0" = {
+      name = "babel-helper-define-map";
+      packageName = "babel-helper-define-map";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";
+        sha1 = "a5f56dab41a25f97ecb498c7ebaca9819f95be5f";
+      };
+    };
+    "babel-helper-explode-assignable-expression-6.24.1" = {
+      name = "babel-helper-explode-assignable-expression";
+      packageName = "babel-helper-explode-assignable-expression";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz";
+        sha1 = "f25b82cf7dc10433c55f70592d5746400ac22caa";
+      };
+    };
+    "babel-helper-function-name-6.24.1" = {
+      name = "babel-helper-function-name";
+      packageName = "babel-helper-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
+        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+      };
+    };
+    "babel-helper-get-function-arity-6.24.1" = {
+      name = "babel-helper-get-function-arity";
+      packageName = "babel-helper-get-function-arity";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
+        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+      };
+    };
+    "babel-helper-hoist-variables-6.24.1" = {
+      name = "babel-helper-hoist-variables";
+      packageName = "babel-helper-hoist-variables";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";
+        sha1 = "1ecb27689c9d25513eadbc9914a73f5408be7a76";
+      };
+    };
+    "babel-helper-optimise-call-expression-6.24.1" = {
+      name = "babel-helper-optimise-call-expression";
+      packageName = "babel-helper-optimise-call-expression";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";
+        sha1 = "f7a13427ba9f73f8f4fa993c54a97882d1244257";
+      };
+    };
+    "babel-helper-regex-6.26.0" = {
+      name = "babel-helper-regex";
+      packageName = "babel-helper-regex";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";
+        sha1 = "325c59f902f82f24b74faceed0363954f6495e72";
+      };
+    };
+    "babel-helper-remap-async-to-generator-6.24.1" = {
+      name = "babel-helper-remap-async-to-generator";
+      packageName = "babel-helper-remap-async-to-generator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz";
+        sha1 = "5ec581827ad723fecdd381f1c928390676e4551b";
+      };
+    };
+    "babel-helper-replace-supers-6.24.1" = {
+      name = "babel-helper-replace-supers";
+      packageName = "babel-helper-replace-supers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";
+        sha1 = "bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a";
+      };
+    };
+    "babel-helpers-6.24.1" = {
+      name = "babel-helpers";
+      packageName = "babel-helpers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+      };
+    };
+    "babel-jest-24.9.0" = {
+      name = "babel-jest";
+      packageName = "babel-jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha512 = "ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==";
+      };
+    };
+    "babel-messages-6.23.0" = {
+      name = "babel-messages";
+      packageName = "babel-messages";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    };
+    "babel-plugin-check-es2015-constants-6.22.0" = {
+      name = "babel-plugin-check-es2015-constants";
+      packageName = "babel-plugin-check-es2015-constants";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
+        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+      };
+    };
+    "babel-plugin-istanbul-5.2.0" = {
+      name = "babel-plugin-istanbul";
+      packageName = "babel-plugin-istanbul";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha512 = "5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==";
+      };
+    };
+    "babel-plugin-jest-hoist-24.9.0" = {
+      name = "babel-plugin-jest-hoist";
+      packageName = "babel-plugin-jest-hoist";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha512 = "2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==";
+      };
+    };
+    "babel-plugin-syntax-async-functions-6.13.0" = {
+      name = "babel-plugin-syntax-async-functions";
+      packageName = "babel-plugin-syntax-async-functions";
+      version = "6.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz";
+        sha1 = "cad9cad1191b5ad634bf30ae0872391e0647be95";
+      };
+    };
+    "babel-plugin-syntax-exponentiation-operator-6.13.0" = {
+      name = "babel-plugin-syntax-exponentiation-operator";
+      packageName = "babel-plugin-syntax-exponentiation-operator";
+      version = "6.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";
+        sha1 = "9ee7e8337290da95288201a6a57f4170317830de";
+      };
+    };
+    "babel-plugin-syntax-trailing-function-commas-6.22.0" = {
+      name = "babel-plugin-syntax-trailing-function-commas";
+      packageName = "babel-plugin-syntax-trailing-function-commas";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";
+        sha1 = "ba0360937f8d06e40180a43fe0d5616fff532cf3";
+      };
+    };
+    "babel-plugin-transform-async-to-generator-6.24.1" = {
+      name = "babel-plugin-transform-async-to-generator";
+      packageName = "babel-plugin-transform-async-to-generator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz";
+        sha1 = "6536e378aff6cb1d5517ac0e40eb3e9fc8d08761";
+      };
+    };
+    "babel-plugin-transform-es2015-arrow-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-arrow-functions";
+      packageName = "babel-plugin-transform-es2015-arrow-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoped-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-block-scoped-functions";
+      packageName = "babel-plugin-transform-es2015-block-scoped-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoping-6.26.0" = {
+      name = "babel-plugin-transform-es2015-block-scoping";
+      packageName = "babel-plugin-transform-es2015-block-scoping";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";
+        sha1 = "d70f5299c1308d05c12f463813b0a09e73b1895f";
+      };
+    };
+    "babel-plugin-transform-es2015-classes-6.24.1" = {
+      name = "babel-plugin-transform-es2015-classes";
+      packageName = "babel-plugin-transform-es2015-classes";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";
+        sha1 = "5a4c58a50c9c9461e564b4b2a3bfabc97a2584db";
+      };
+    };
+    "babel-plugin-transform-es2015-computed-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-computed-properties";
+      packageName = "babel-plugin-transform-es2015-computed-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";
+        sha1 = "6fe2a8d16895d5634f4cd999b6d3480a308159b3";
+      };
+    };
+    "babel-plugin-transform-es2015-destructuring-6.23.0" = {
+      name = "babel-plugin-transform-es2015-destructuring";
+      packageName = "babel-plugin-transform-es2015-destructuring";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+      };
+    };
+    "babel-plugin-transform-es2015-duplicate-keys-6.24.1" = {
+      name = "babel-plugin-transform-es2015-duplicate-keys";
+      packageName = "babel-plugin-transform-es2015-duplicate-keys";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";
+        sha1 = "73eb3d310ca969e3ef9ec91c53741a6f1576423e";
+      };
+    };
+    "babel-plugin-transform-es2015-for-of-6.23.0" = {
+      name = "babel-plugin-transform-es2015-for-of";
+      packageName = "babel-plugin-transform-es2015-for-of";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+      };
+    };
+    "babel-plugin-transform-es2015-function-name-6.24.1" = {
+      name = "babel-plugin-transform-es2015-function-name";
+      packageName = "babel-plugin-transform-es2015-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";
+        sha1 = "834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b";
+      };
+    };
+    "babel-plugin-transform-es2015-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-literals";
+      packageName = "babel-plugin-transform-es2015-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-amd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-amd";
+      packageName = "babel-plugin-transform-es2015-modules-amd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";
+        sha1 = "3b3e54017239842d6d19c3011c4bd2f00a00d154";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-commonjs-6.26.2" = {
+      name = "babel-plugin-transform-es2015-modules-commonjs";
+      packageName = "babel-plugin-transform-es2015-modules-commonjs";
+      version = "6.26.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
+        sha512 = "CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-systemjs-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-systemjs";
+      packageName = "babel-plugin-transform-es2015-modules-systemjs";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";
+        sha1 = "ff89a142b9119a906195f5f106ecf305d9407d23";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-umd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-umd";
+      packageName = "babel-plugin-transform-es2015-modules-umd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";
+        sha1 = "ac997e6285cd18ed6176adb607d602344ad38468";
+      };
+    };
+    "babel-plugin-transform-es2015-object-super-6.24.1" = {
+      name = "babel-plugin-transform-es2015-object-super";
+      packageName = "babel-plugin-transform-es2015-object-super";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";
+        sha1 = "24cef69ae21cb83a7f8603dad021f572eb278f8d";
+      };
+    };
+    "babel-plugin-transform-es2015-parameters-6.24.1" = {
+      name = "babel-plugin-transform-es2015-parameters";
+      packageName = "babel-plugin-transform-es2015-parameters";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";
+        sha1 = "57ac351ab49caf14a97cd13b09f66fdf0a625f2b";
+      };
+    };
+    "babel-plugin-transform-es2015-shorthand-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-shorthand-properties";
+      packageName = "babel-plugin-transform-es2015-shorthand-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";
+        sha1 = "24f875d6721c87661bbd99a4622e51f14de38aa0";
+      };
+    };
+    "babel-plugin-transform-es2015-spread-6.22.0" = {
+      name = "babel-plugin-transform-es2015-spread";
+      packageName = "babel-plugin-transform-es2015-spread";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+      };
+    };
+    "babel-plugin-transform-es2015-sticky-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-sticky-regex";
+      packageName = "babel-plugin-transform-es2015-sticky-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";
+        sha1 = "00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc";
+      };
+    };
+    "babel-plugin-transform-es2015-template-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-template-literals";
+      packageName = "babel-plugin-transform-es2015-template-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+      };
+    };
+    "babel-plugin-transform-es2015-typeof-symbol-6.23.0" = {
+      name = "babel-plugin-transform-es2015-typeof-symbol";
+      packageName = "babel-plugin-transform-es2015-typeof-symbol";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+      };
+    };
+    "babel-plugin-transform-es2015-unicode-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-unicode-regex";
+      packageName = "babel-plugin-transform-es2015-unicode-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";
+        sha1 = "d38b12f42ea7323f729387f18a7c5ae1faeb35e9";
+      };
+    };
+    "babel-plugin-transform-exponentiation-operator-6.24.1" = {
+      name = "babel-plugin-transform-exponentiation-operator";
+      packageName = "babel-plugin-transform-exponentiation-operator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz";
+        sha1 = "2ab0c9c7f3098fa48907772bb813fe41e8de3a0e";
+      };
+    };
+    "babel-plugin-transform-regenerator-6.26.0" = {
+      name = "babel-plugin-transform-regenerator";
+      packageName = "babel-plugin-transform-regenerator";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";
+        sha1 = "e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f";
+      };
+    };
+    "babel-plugin-transform-strict-mode-6.24.1" = {
+      name = "babel-plugin-transform-strict-mode";
+      packageName = "babel-plugin-transform-strict-mode";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz";
+        sha1 = "d5faf7aa578a65bbe591cf5edae04a0c67020758";
+      };
+    };
+    "babel-preset-env-1.7.0" = {
+      name = "babel-preset-env";
+      packageName = "babel-preset-env";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz";
+        sha512 = "9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==";
+      };
+    };
+    "babel-preset-jest-24.9.0" = {
+      name = "babel-preset-jest";
+      packageName = "babel-preset-jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha512 = "izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==";
+      };
+    };
+    "babel-register-6.26.0" = {
+      name = "babel-register";
+      packageName = "babel-register";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz";
+        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+      };
+    };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    };
+    "babel-template-6.26.0" = {
+      name = "babel-template";
+      packageName = "babel-template";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz";
+        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+      };
+    };
+    "babel-traverse-6.26.0" = {
+      name = "babel-traverse";
+      packageName = "babel-traverse";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz";
+        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+      };
+    };
+    "babel-types-6.26.0" = {
+      name = "babel-types";
+      packageName = "babel-types";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz";
+        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+      };
+    };
+    "babylon-6.18.0" = {
+      name = "babylon";
+      packageName = "babylon";
+      version = "6.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz";
+        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "base-0.11.2" = {
+      name = "base";
+      packageName = "base";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
+      };
+    };
+    "base64-js-1.3.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
+      };
+    };
+    "base64url-3.0.1" = {
+      name = "base64url";
+      packageName = "base64url";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz";
+        sha512 = "ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==";
+      };
+    };
+    "batch-0.6.1" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    };
+    "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";
+      };
+    };
+    "bfj-6.1.2" = {
+      name = "bfj";
+      packageName = "bfj";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz";
+        sha512 = "BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==";
+      };
+    };
+    "big.js-5.2.2" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz";
+        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
+      };
+    };
+    "binary-extensions-1.13.1" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
+      };
+    };
+    "bluebird-3.7.0" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz";
+        sha512 = "aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==";
+      };
+    };
+    "bn.js-4.11.8" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "4.11.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";
+        sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
+      };
+    };
+    "body-parser-1.19.0" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+      };
+    };
+    "bonjour-3.5.0" = {
+      name = "bonjour";
+      packageName = "bonjour";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    };
+    "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==";
+      };
+    };
+    "braces-2.3.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
+      };
+    };
+    "brorand-1.1.0" = {
+      name = "brorand";
+      packageName = "brorand";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    };
+    "browser-process-hrtime-0.1.3" = {
+      name = "browser-process-hrtime";
+      packageName = "browser-process-hrtime";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
+      };
+    };
+    "browser-resolve-1.11.3" = {
+      name = "browser-resolve";
+      packageName = "browser-resolve";
+      version = "1.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha512 = "exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==";
+      };
+    };
+    "browserify-aes-1.2.0" = {
+      name = "browserify-aes";
+      packageName = "browserify-aes";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
+      };
+    };
+    "browserify-cipher-1.0.1" = {
+      name = "browserify-cipher";
+      packageName = "browserify-cipher";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
+      };
+    };
+    "browserify-des-1.0.2" = {
+      name = "browserify-des";
+      packageName = "browserify-des";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
+      };
+    };
+    "browserify-rsa-4.0.1" = {
+      name = "browserify-rsa";
+      packageName = "browserify-rsa";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    };
+    "browserify-sign-4.0.4" = {
+      name = "browserify-sign";
+      packageName = "browserify-sign";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    };
+    "browserify-zlib-0.2.0" = {
+      name = "browserify-zlib";
+      packageName = "browserify-zlib";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
+      };
+    };
+    "browserslist-3.2.8" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "3.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz";
+        sha512 = "WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==";
+      };
+    };
+    "bs-logger-0.2.6" = {
+      name = "bs-logger";
+      packageName = "bs-logger";
+      version = "0.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz";
+        sha512 = "pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==";
+      };
+    };
+    "bser-2.1.0" = {
+      name = "bser";
+      packageName = "bser";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz";
+        sha512 = "8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==";
+      };
+    };
+    "buffer-4.9.1" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "buffer-indexof-1.1.1" = {
+      name = "buffer-indexof";
+      packageName = "buffer-indexof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
+      };
+    };
+    "buffer-xor-1.0.3" = {
+      name = "buffer-xor";
+      packageName = "buffer-xor";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    };
+    "builtin-status-codes-3.0.0" = {
+      name = "builtin-status-codes";
+      packageName = "builtin-status-codes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    };
+    "byline-5.0.0" = {
+      name = "byline";
+      packageName = "byline";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz";
+        sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1";
+      };
+    };
+    "bytes-3.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    };
+    "bytes-3.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
+        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
+      };
+    };
+    "cacache-10.0.4" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "10.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz";
+        sha512 = "Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==";
+      };
+    };
+    "cacache-12.0.3" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "12.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz";
+        sha512 = "kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==";
+      };
+    };
+    "cache-base-1.0.1" = {
+      name = "cache-base";
+      packageName = "cache-base";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
+      };
+    };
+    "cache-content-type-1.0.1" = {
+      name = "cache-content-type";
+      packageName = "cache-content-type";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz";
+        sha512 = "IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==";
+      };
+    };
+    "cacheable-request-2.1.4" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
+        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
+      };
+    };
+    "callsites-3.1.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    };
+    "camelcase-5.3.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
+      };
+    };
+    "caniuse-lite-1.0.30000999" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30000999";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz";
+        sha512 = "1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==";
+      };
+    };
+    "capture-exit-2.0.0" = {
+      name = "capture-exit";
+      packageName = "capture-exit";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
+      };
+    };
+    "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";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "chalk-2.4.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+      };
+    };
+    "character-parser-2.2.0" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz";
+        sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0";
+      };
+    };
+    "check-types-8.0.3" = {
+      name = "check-types";
+      packageName = "check-types";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz";
+        sha512 = "YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==";
+      };
+    };
+    "chokidar-2.1.8" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "2.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz";
+        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "chrome-trace-event-1.0.2" = {
+      name = "chrome-trace-event";
+      packageName = "chrome-trace-event";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha512 = "9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==";
+      };
+    };
+    "ci-info-2.0.0" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
+        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
+      };
+    };
+    "cipher-base-1.0.4" = {
+      name = "cipher-base";
+      packageName = "cipher-base";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
+      };
+    };
+    "class-utils-0.3.6" = {
+      name = "class-utils";
+      packageName = "class-utils";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
+      };
+    };
+    "clean-css-4.2.1" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz";
+        sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==";
+      };
+    };
+    "clean-stack-1.3.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz";
+        sha1 = "9e821501ae979986c46b1d66d2d432db2fd4ae31";
+      };
+    };
+    "cli-cursor-2.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    };
+    "cli-spinners-2.2.0" = {
+      name = "cli-spinners";
+      packageName = "cli-spinners";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz";
+        sha512 = "tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "cliui-4.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
+        sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
+      };
+    };
+    "cliui-5.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
+      };
+    };
+    "clone-1.0.4" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+      };
+    };
+    "clone-response-1.0.2" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    };
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    };
+    "co-body-5.2.0" = {
+      name = "co-body";
+      packageName = "co-body";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz";
+        sha512 = "sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "collection-visit-1.0.0" = {
+      name = "collection-visit";
+      packageName = "collection-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    };
+    "color-convert-1.9.3" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "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==";
+      };
+    };
+    "command-line-args-5.1.1" = {
+      name = "command-line-args";
+      packageName = "command-line-args";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz";
+        sha512 = "hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==";
+      };
+    };
+    "commander-2.20.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz";
+        sha512 = "cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==";
+      };
+    };
+    "commondir-1.0.1" = {
+      name = "commondir";
+      packageName = "commondir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    };
+    "component-emitter-1.3.0" = {
+      name = "component-emitter";
+      packageName = "component-emitter";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
+      };
+    };
+    "compressible-2.0.17" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz";
+        sha512 = "BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==";
+      };
+    };
+    "compression-1.7.4" = {
+      name = "compression";
+      packageName = "compression";
+      version = "1.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "concat-stream-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
+      };
+    };
+    "condense-newlines-0.2.1" = {
+      name = "condense-newlines";
+      packageName = "condense-newlines";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz";
+        sha1 = "3de985553139475d32502c83b02f60684d24c55f";
+      };
+    };
+    "config-chain-1.1.12" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz";
+        sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
+      };
+    };
+    "connect-history-api-fallback-1.6.0" = {
+      name = "connect-history-api-fallback";
+      packageName = "connect-history-api-fallback";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
+      };
+    };
+    "console-browserify-1.1.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    };
+    "consolidate-0.15.1" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz";
+        sha512 = "DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==";
+      };
+    };
+    "constantinople-3.1.2" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz";
+        sha512 = "yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==";
+      };
+    };
+    "constants-browserify-1.0.0" = {
+      name = "constants-browserify";
+      packageName = "constants-browserify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    };
+    "content-disposition-0.5.3" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+      };
+    };
+    "convert-source-map-1.6.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
+      };
+    };
+    "cookie-0.4.0" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
+        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "cookies-0.7.3" = {
+      name = "cookies";
+      packageName = "cookies";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz";
+        sha512 = "+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==";
+      };
+    };
+    "copy-concurrently-1.0.5" = {
+      name = "copy-concurrently";
+      packageName = "copy-concurrently";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
+      };
+    };
+    "copy-descriptor-0.1.1" = {
+      name = "copy-descriptor";
+      packageName = "copy-descriptor";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    };
+    "copy-webpack-plugin-4.6.0" = {
+      name = "copy-webpack-plugin";
+      packageName = "copy-webpack-plugin";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz";
+        sha512 = "Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==";
+      };
+    };
+    "core-js-2.6.9" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
+        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+      };
+    };
+    "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";
+      };
+    };
+    "create-ecdh-4.0.3" = {
+      name = "create-ecdh";
+      packageName = "create-ecdh";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha512 = "GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==";
+      };
+    };
+    "create-hash-1.2.0" = {
+      name = "create-hash";
+      packageName = "create-hash";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
+      };
+    };
+    "create-hmac-1.1.7" = {
+      name = "create-hmac";
+      packageName = "create-hmac";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
+      };
+    };
+    "cron-1.7.2" = {
+      name = "cron";
+      packageName = "cron";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.2.tgz";
+        sha512 = "+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==";
+      };
+    };
+    "cross-spawn-6.0.5" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "6.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
+      };
+    };
+    "crypto-browserify-3.12.0" = {
+      name = "crypto-browserify";
+      packageName = "crypto-browserify";
+      version = "3.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
+      };
+    };
+    "cssom-0.3.8" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
+      };
+    };
+    "cssstyle-1.4.0" = {
+      name = "cssstyle";
+      packageName = "cssstyle";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==";
+      };
+    };
+    "cyclist-1.0.1" = {
+      name = "cyclist";
+      packageName = "cyclist";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";
+        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+      };
+    };
+    "d-1.0.1" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
+        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
+      };
+    };
+    "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";
+      };
+    };
+    "data-urls-1.1.0" = {
+      name = "data-urls";
+      packageName = "data-urls";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz";
+        sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
+      };
+    };
+    "date-now-0.1.4" = {
+      name = "date-now";
+      packageName = "date-now";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "debug-4.1.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
+        sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "decode-uri-component-0.2.0" = {
+      name = "decode-uri-component";
+      packageName = "decode-uri-component";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    };
+    "decompress-response-3.3.0" = {
+      name = "decompress-response";
+      packageName = "decompress-response";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    };
+    "deep-equal-1.0.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
+        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+      };
+    };
+    "deep-is-0.1.3" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    };
+    "default-gateway-4.2.0" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
+      };
+    };
+    "defaults-1.0.3" = {
+      name = "defaults";
+      packageName = "defaults";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    };
+    "define-properties-1.1.3" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+      };
+    };
+    "define-property-0.2.5" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    };
+    "define-property-1.0.0" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    };
+    "define-property-2.0.2" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
+      };
+    };
+    "del-4.1.1" = {
+      name = "del";
+      packageName = "del";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-4.1.1.tgz";
+        sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "des.js-1.0.0" = {
+      name = "des.js";
+      packageName = "des.js";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "detect-file-1.0.0" = {
+      name = "detect-file";
+      packageName = "detect-file";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    };
+    "detect-indent-4.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    };
+    "detect-newline-2.1.0" = {
+      name = "detect-newline";
+      packageName = "detect-newline";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    };
+    "detect-node-2.0.4" = {
+      name = "detect-node";
+      packageName = "detect-node";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz";
+        sha512 = "ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==";
+      };
+    };
+    "diff-sequences-24.9.0" = {
+      name = "diff-sequences";
+      packageName = "diff-sequences";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha512 = "Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==";
+      };
+    };
+    "diffie-hellman-5.0.3" = {
+      name = "diffie-hellman";
+      packageName = "diffie-hellman";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
+      };
+    };
+    "dir-glob-2.2.2" = {
+      name = "dir-glob";
+      packageName = "dir-glob";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz";
+        sha512 = "f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==";
+      };
+    };
+    "dns-equal-1.0.0" = {
+      name = "dns-equal";
+      packageName = "dns-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    };
+    "dns-packet-1.3.1" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha512 = "0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==";
+      };
+    };
+    "dns-txt-2.0.2" = {
+      name = "dns-txt";
+      packageName = "dns-txt";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    };
+    "doctypes-1.1.0" = {
+      name = "doctypes";
+      packageName = "doctypes";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz";
+        sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9";
+      };
+    };
+    "domain-browser-1.2.0" = {
+      name = "domain-browser";
+      packageName = "domain-browser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
+      };
+    };
+    "domexception-1.0.1" = {
+      name = "domexception";
+      packageName = "domexception";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz";
+        sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==";
+      };
+    };
+    "duplexer-0.1.1" = {
+      name = "duplexer";
+      packageName = "duplexer";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    };
+    "duplexer3-0.1.4" = {
+      name = "duplexer3";
+      packageName = "duplexer3";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+      };
+    };
+    "duplexify-3.7.1" = {
+      name = "duplexify";
+      packageName = "duplexify";
+      version = "3.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz";
+        sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
+      };
+    };
+    "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";
+      };
+    };
+    "editorconfig-0.15.3" = {
+      name = "editorconfig";
+      packageName = "editorconfig";
+      version = "0.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz";
+        sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "ejs-2.7.1" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz";
+        sha512 = "kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==";
+      };
+    };
+    "electron-to-chromium-1.3.275" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.3.275";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.275.tgz";
+        sha512 = "/YWtW/VapMnuYA1lNOaa1F4GhR1LBf+CUTp60lzDPEEh0XOzyOAyULyYZVF9vziZ3qSbTqCwmKwsyRXp66STbw==";
+      };
+    };
+    "elliptic-6.5.1" = {
+      name = "elliptic";
+      packageName = "elliptic";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz";
+        sha512 = "xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==";
+      };
+    };
+    "emoji-regex-7.0.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+      };
+    };
+    "emojis-list-2.1.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
+    "end-of-stream-1.4.4" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
+      };
+    };
+    "enhanced-resolve-4.1.0" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz";
+        sha512 = "F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==";
+      };
+    };
+    "errno-0.1.7" = {
+      name = "errno";
+      packageName = "errno";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
+        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
+      };
+    };
+    "error-ex-1.3.2" = {
+      name = "error-ex";
+      packageName = "error-ex";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
+      };
+    };
+    "error-inject-1.0.0" = {
+      name = "error-inject";
+      packageName = "error-inject";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz";
+        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
+      };
+    };
+    "es-abstract-1.15.0" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz";
+        sha512 = "bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==";
+      };
+    };
+    "es-to-primitive-1.2.0" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+      };
+    };
+    "es5-ext-0.10.51" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.51";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha512 = "oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
+    "es6-promise-4.2.8" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha512 = "HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==";
+      };
+    };
+    "es6-symbol-3.1.2" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha512 = "/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "escodegen-1.12.0" = {
+      name = "escodegen";
+      packageName = "escodegen";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz";
+        sha512 = "TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==";
+      };
+    };
+    "eslint-scope-4.0.3" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==";
+      };
+    };
+    "esprima-3.1.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    };
+    "esprima-4.0.1" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+      };
+    };
+    "esrecurse-4.2.1" = {
+      name = "esrecurse";
+      packageName = "esrecurse";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
+      };
+    };
+    "estraverse-4.3.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
+        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
+      };
+    };
+    "esutils-2.0.3" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
+        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "eventemitter3-4.0.0" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha512 = "qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==";
+      };
+    };
+    "events-3.0.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-3.0.0.tgz";
+        sha512 = "Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==";
+      };
+    };
+    "eventsource-1.0.7" = {
+      name = "eventsource";
+      packageName = "eventsource";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz";
+        sha512 = "4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==";
+      };
+    };
+    "evp_bytestokey-1.0.3" = {
+      name = "evp_bytestokey";
+      packageName = "evp_bytestokey";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
+      };
+    };
+    "exec-sh-0.3.2" = {
+      name = "exec-sh";
+      packageName = "exec-sh";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==";
+      };
+    };
+    "execa-1.0.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
+      };
+    };
+    "exit-0.1.2" = {
+      name = "exit";
+      packageName = "exit";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    };
+    "expand-brackets-2.1.4" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    };
+    "expand-tilde-2.0.2" = {
+      name = "expand-tilde";
+      packageName = "expand-tilde";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    };
+    "expect-24.9.0" = {
+      name = "expect";
+      packageName = "expect";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz";
+        sha512 = "wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==";
+      };
+    };
+    "express-4.17.1" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
+        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "extend-shallow-2.0.1" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    };
+    "extend-shallow-3.0.2" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    };
+    "extglob-2.0.4" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
+      };
+    };
+    "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";
+      };
+    };
+    "fast-levenshtein-2.0.6" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    };
+    "faye-websocket-0.10.0" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    };
+    "faye-websocket-0.11.3" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha512 = "D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==";
+      };
+    };
+    "fb-watchman-2.0.0" = {
+      name = "fb-watchman";
+      packageName = "fb-watchman";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    };
+    "figgy-pudding-3.5.1" = {
+      name = "figgy-pudding";
+      packageName = "figgy-pudding";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha512 = "vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==";
+      };
+    };
+    "filesize-3.6.1" = {
+      name = "filesize";
+      packageName = "filesize";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz";
+        sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
+      };
+    };
+    "fill-range-4.0.0" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    };
+    "finalhandler-1.1.2" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+      };
+    };
+    "find-cache-dir-1.0.0" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz";
+        sha1 = "9288e3e9e3cc3748717d39eade17cf71fc30ee6f";
+      };
+    };
+    "find-cache-dir-2.1.0" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
+      };
+    };
+    "find-replace-3.0.0" = {
+      name = "find-replace";
+      packageName = "find-replace";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz";
+        sha512 = "6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
+    "find-up-3.0.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+      };
+    };
+    "findup-sync-3.0.0" = {
+      name = "findup-sync";
+      packageName = "findup-sync";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz";
+        sha512 = "YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==";
+      };
+    };
+    "flush-write-stream-1.1.1" = {
+      name = "flush-write-stream";
+      packageName = "flush-write-stream";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
+      };
+    };
+    "follow-redirects-1.5.10" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
+        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
+      };
+    };
+    "for-in-1.0.2" = {
+      name = "for-in";
+      packageName = "for-in";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    };
+    "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==";
+      };
+    };
+    "form-data-2.5.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz";
+        sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
+      };
+    };
+    "formidable-1.2.1" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+        sha512 = "Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==";
+      };
+    };
+    "forwarded-0.1.2" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    };
+    "fragment-cache-0.2.1" = {
+      name = "fragment-cache";
+      packageName = "fragment-cache";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "from2-2.3.0" = {
+      name = "from2";
+      packageName = "from2";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    };
+    "fs-write-stream-atomic-1.0.10" = {
+      name = "fs-write-stream-atomic";
+      packageName = "fs-write-stream-atomic";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    };
+    "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";
+      };
+    };
+    "fsevents-1.2.9" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
+        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
+      };
+    };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "get-caller-file-1.0.3" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+      };
+    };
+    "get-caller-file-2.0.5" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
+      };
+    };
+    "get-paths-0.0.7" = {
+      name = "get-paths";
+      packageName = "get-paths";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-paths/-/get-paths-0.0.7.tgz";
+        sha512 = "0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==";
+      };
+    };
+    "get-stream-3.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    };
+    "get-stream-4.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
+      };
+    };
+    "get-value-2.0.6" = {
+      name = "get-value";
+      packageName = "get-value";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    };
+    "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.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+      };
+    };
+    "glob-parent-3.1.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    };
+    "global-modules-1.0.0" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
+      };
+    };
+    "global-modules-2.0.0" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
+        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
+      };
+    };
+    "global-prefix-1.0.2" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    };
+    "global-prefix-3.0.0" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
+      };
+    };
+    "globals-11.12.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "11.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
+      };
+    };
+    "globals-9.18.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "9.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
+      };
+    };
+    "globby-6.1.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    };
+    "globby-7.1.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz";
+        sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
+      };
+    };
+    "got-8.3.2" = {
+      name = "got";
+      packageName = "got";
+      version = "8.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
+        sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==";
+      };
+    };
+    "graceful-fs-4.2.2" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+      };
+    };
+    "growly-1.3.0" = {
+      name = "growly";
+      packageName = "growly";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    };
+    "gzip-size-5.1.1" = {
+      name = "gzip-size";
+      packageName = "gzip-size";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha512 = "FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==";
+      };
+    };
+    "handle-thing-2.0.0" = {
+      name = "handle-thing";
+      packageName = "handle-thing";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha512 = "d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==";
+      };
+    };
+    "handlebars-4.4.2" = {
+      name = "handlebars";
+      packageName = "handlebars";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz";
+        sha512 = "cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==";
+      };
+    };
+    "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-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    };
+    "has-symbol-support-x-1.4.2" = {
+      name = "has-symbol-support-x";
+      packageName = "has-symbol-support-x";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz";
+        sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
+      };
+    };
+    "has-symbols-1.0.0" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    };
+    "has-to-string-tag-x-1.4.1" = {
+      name = "has-to-string-tag-x";
+      packageName = "has-to-string-tag-x";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz";
+        sha512 = "vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==";
+      };
+    };
+    "has-value-0.3.1" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    };
+    "has-value-1.0.0" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    };
+    "has-values-0.1.4" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    };
+    "has-values-1.0.0" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    };
+    "hash-base-3.0.4" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    };
+    "hash.js-1.1.7" = {
+      name = "hash.js";
+      packageName = "hash.js";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
+      };
+    };
+    "hmac-drbg-1.0.1" = {
+      name = "hmac-drbg";
+      packageName = "hmac-drbg";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    };
+    "home-or-tmp-2.0.0" = {
+      name = "home-or-tmp";
+      packageName = "home-or-tmp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    };
+    "homedir-polyfill-1.0.3" = {
+      name = "homedir-polyfill";
+      packageName = "homedir-polyfill";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
+      };
+    };
+    "hoopy-0.1.4" = {
+      name = "hoopy";
+      packageName = "hoopy";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz";
+        sha512 = "HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==";
+      };
+    };
+    "hosted-git-info-2.8.4" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
+        sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
+      };
+    };
+    "hpack.js-2.1.6" = {
+      name = "hpack.js";
+      packageName = "hpack.js";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    };
+    "html-encoding-sniffer-1.0.2" = {
+      name = "html-encoding-sniffer";
+      packageName = "html-encoding-sniffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
+      };
+    };
+    "html-entities-1.2.1" = {
+      name = "html-entities";
+      packageName = "html-entities";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    };
+    "http-assert-1.4.1" = {
+      name = "http-assert";
+      packageName = "http-assert";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz";
+        sha512 = "rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==";
+      };
+    };
+    "http-cache-semantics-3.8.1" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
+        sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==";
+      };
+    };
+    "http-deceiver-1.2.7" = {
+      name = "http-deceiver";
+      packageName = "http-deceiver";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
+    "http-errors-1.7.2" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
+        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
+      };
+    };
+    "http-errors-1.7.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz";
+        sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
+      };
+    };
+    "http-parser-js-0.4.10" = {
+      name = "http-parser-js";
+      packageName = "http-parser-js";
+      version = "0.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    };
+    "http-proxy-1.18.0" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha512 = "84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==";
+      };
+    };
+    "http-proxy-middleware-0.19.1" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "0.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "https-browserify-1.0.0" = {
+      name = "https-browserify";
+      packageName = "https-browserify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    };
+    "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==";
+      };
+    };
+    "ieee754-1.1.13" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
+        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
+      };
+    };
+    "iferr-0.1.5" = {
+      name = "iferr";
+      packageName = "iferr";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    };
+    "ignore-3.3.10" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "3.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz";
+        sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
+      };
+    };
+    "import-local-2.0.0" = {
+      name = "import-local";
+      packageName = "import-local";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz";
+        sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "indent-string-3.2.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz";
+        sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
+      };
+    };
+    "infer-owner-1.0.4" = {
+      name = "infer-owner";
+      packageName = "infer-owner";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
+      };
+    };
+    "inflation-2.0.0" = {
+      name = "inflation";
+      packageName = "inflation";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz";
+        sha1 = "8b417e47c28f925a45133d914ca1fd389107f30f";
+      };
+    };
+    "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.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "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==";
+      };
+    };
+    "internal-ip-4.3.0" = {
+      name = "internal-ip";
+      packageName = "internal-ip";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
+      };
+    };
+    "interpret-1.2.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz";
+        sha512 = "mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==";
+      };
+    };
+    "into-stream-3.1.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+      };
+    };
+    "invariant-2.2.4" = {
+      name = "invariant";
+      packageName = "invariant";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
+      };
+    };
+    "invert-kv-2.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
+      };
+    };
+    "ip-1.1.5" = {
+      name = "ip";
+      packageName = "ip";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    };
+    "ip-regex-2.1.0" = {
+      name = "ip-regex";
+      packageName = "ip-regex";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    };
+    "ipaddr.js-1.9.0" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
+      };
+    };
+    "is-absolute-url-3.0.3" = {
+      name = "is-absolute-url";
+      packageName = "is-absolute-url";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
+        sha512 = "opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==";
+      };
+    };
+    "is-accessor-descriptor-0.1.6" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    };
+    "is-accessor-descriptor-1.0.0" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
+      };
+    };
+    "is-arrayish-0.2.1" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    };
+    "is-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-buffer-2.0.4" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz";
+        sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
+      };
+    };
+    "is-callable-1.1.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+      };
+    };
+    "is-ci-2.0.0" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
+      };
+    };
+    "is-data-descriptor-0.1.4" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    };
+    "is-data-descriptor-1.0.0" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-descriptor-0.1.6" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
+      };
+    };
+    "is-descriptor-1.0.2" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
+      };
+    };
+    "is-expression-3.0.0" = {
+      name = "is-expression";
+      packageName = "is-expression";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz";
+        sha1 = "39acaa6be7fd1f3471dc42c7416e61c24317ac9f";
+      };
+    };
+    "is-extendable-0.1.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    };
+    "is-extendable-1.0.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
+    "is-finite-1.0.2" = {
+      name = "is-finite";
+      packageName = "is-finite";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    };
+    "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-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    };
+    "is-generator-fn-2.1.0" = {
+      name = "is-generator-fn";
+      packageName = "is-generator-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
+      };
+    };
+    "is-generator-function-1.0.7" = {
+      name = "is-generator-function";
+      packageName = "is-generator-function";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz";
+        sha512 = "YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==";
+      };
+    };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "is-glob-4.0.1" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
+      };
+    };
+    "is-number-3.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    };
+    "is-object-1.0.1" = {
+      name = "is-object";
+      packageName = "is-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
+        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
+      };
+    };
+    "is-path-cwd-2.2.0" = {
+      name = "is-path-cwd";
+      packageName = "is-path-cwd";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
+      };
+    };
+    "is-path-in-cwd-2.1.0" = {
+      name = "is-path-in-cwd";
+      packageName = "is-path-in-cwd";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
+      };
+    };
+    "is-path-inside-2.1.0" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
+      };
+    };
+    "is-plain-obj-1.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    };
+    "is-plain-object-2.0.4" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
+      };
+    };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "is-retry-allowed-1.2.0" = {
+      name = "is-retry-allowed";
+      packageName = "is-retry-allowed";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz";
+        sha512 = "RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==";
+      };
+    };
+    "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-symbol-1.0.2" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+      };
+    };
+    "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";
+      };
+    };
+    "is-whitespace-0.3.0" = {
+      name = "is-whitespace";
+      packageName = "is-whitespace";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz";
+        sha1 = "1639ecb1be036aec69a54cbb401cfbed7114ab7f";
+      };
+    };
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
+      };
+    };
+    "is-wsl-1.1.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
+    "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";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
+    "isomorphic-ws-4.0.1" = {
+      name = "isomorphic-ws";
+      packageName = "isomorphic-ws";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz";
+        sha512 = "BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==";
+      };
+    };
+    "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";
+      };
+    };
+    "istanbul-lib-coverage-2.0.5" = {
+      name = "istanbul-lib-coverage";
+      packageName = "istanbul-lib-coverage";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==";
+      };
+    };
+    "istanbul-lib-instrument-3.3.0" = {
+      name = "istanbul-lib-instrument";
+      packageName = "istanbul-lib-instrument";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==";
+      };
+    };
+    "istanbul-lib-report-2.0.8" = {
+      name = "istanbul-lib-report";
+      packageName = "istanbul-lib-report";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==";
+      };
+    };
+    "istanbul-lib-source-maps-3.0.6" = {
+      name = "istanbul-lib-source-maps";
+      packageName = "istanbul-lib-source-maps";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==";
+      };
+    };
+    "istanbul-reports-2.2.6" = {
+      name = "istanbul-reports";
+      packageName = "istanbul-reports";
+      version = "2.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha512 = "SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==";
+      };
+    };
+    "isurl-1.0.0" = {
+      name = "isurl";
+      packageName = "isurl";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz";
+        sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==";
+      };
+    };
+    "jest-24.9.0" = {
+      name = "jest";
+      packageName = "jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz";
+        sha512 = "YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==";
+      };
+    };
+    "jest-changed-files-24.9.0" = {
+      name = "jest-changed-files";
+      packageName = "jest-changed-files";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha512 = "6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==";
+      };
+    };
+    "jest-cli-24.9.0" = {
+      name = "jest-cli";
+      packageName = "jest-cli";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha512 = "+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==";
+      };
+    };
+    "jest-config-24.9.0" = {
+      name = "jest-config";
+      packageName = "jest-config";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz";
+        sha512 = "RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==";
+      };
+    };
+    "jest-diff-24.9.0" = {
+      name = "jest-diff";
+      packageName = "jest-diff";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha512 = "qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==";
+      };
+    };
+    "jest-docblock-24.9.0" = {
+      name = "jest-docblock";
+      packageName = "jest-docblock";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha512 = "F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==";
+      };
+    };
+    "jest-each-24.9.0" = {
+      name = "jest-each";
+      packageName = "jest-each";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz";
+        sha512 = "ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==";
+      };
+    };
+    "jest-environment-jsdom-24.9.0" = {
+      name = "jest-environment-jsdom";
+      packageName = "jest-environment-jsdom";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha512 = "Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==";
+      };
+    };
+    "jest-environment-node-24.9.0" = {
+      name = "jest-environment-node";
+      packageName = "jest-environment-node";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha512 = "6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==";
+      };
+    };
+    "jest-get-type-24.9.0" = {
+      name = "jest-get-type";
+      packageName = "jest-get-type";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha512 = "lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==";
+      };
+    };
+    "jest-haste-map-24.9.0" = {
+      name = "jest-haste-map";
+      packageName = "jest-haste-map";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha512 = "kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==";
+      };
+    };
+    "jest-jasmine2-24.9.0" = {
+      name = "jest-jasmine2";
+      packageName = "jest-jasmine2";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha512 = "Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==";
+      };
+    };
+    "jest-leak-detector-24.9.0" = {
+      name = "jest-leak-detector";
+      packageName = "jest-leak-detector";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha512 = "tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==";
+      };
+    };
+    "jest-matcher-utils-24.9.0" = {
+      name = "jest-matcher-utils";
+      packageName = "jest-matcher-utils";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha512 = "OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==";
+      };
+    };
+    "jest-message-util-24.9.0" = {
+      name = "jest-message-util";
+      packageName = "jest-message-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha512 = "oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==";
+      };
+    };
+    "jest-mock-24.9.0" = {
+      name = "jest-mock";
+      packageName = "jest-mock";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha512 = "3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==";
+      };
+    };
+    "jest-pnp-resolver-1.2.1" = {
+      name = "jest-pnp-resolver";
+      packageName = "jest-pnp-resolver";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha512 = "pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==";
+      };
+    };
+    "jest-regex-util-24.9.0" = {
+      name = "jest-regex-util";
+      packageName = "jest-regex-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha512 = "05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==";
+      };
+    };
+    "jest-resolve-24.9.0" = {
+      name = "jest-resolve";
+      packageName = "jest-resolve";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha512 = "TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==";
+      };
+    };
+    "jest-resolve-dependencies-24.9.0" = {
+      name = "jest-resolve-dependencies";
+      packageName = "jest-resolve-dependencies";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha512 = "Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==";
+      };
+    };
+    "jest-runner-24.9.0" = {
+      name = "jest-runner";
+      packageName = "jest-runner";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha512 = "KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==";
+      };
+    };
+    "jest-runtime-24.9.0" = {
+      name = "jest-runtime";
+      packageName = "jest-runtime";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha512 = "8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==";
+      };
+    };
+    "jest-serializer-24.9.0" = {
+      name = "jest-serializer";
+      packageName = "jest-serializer";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha512 = "DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==";
+      };
+    };
+    "jest-snapshot-24.9.0" = {
+      name = "jest-snapshot";
+      packageName = "jest-snapshot";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha512 = "uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==";
+      };
+    };
+    "jest-util-24.9.0" = {
+      name = "jest-util";
+      packageName = "jest-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz";
+        sha512 = "x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==";
+      };
+    };
+    "jest-validate-24.9.0" = {
+      name = "jest-validate";
+      packageName = "jest-validate";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha512 = "HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==";
+      };
+    };
+    "jest-watcher-24.9.0" = {
+      name = "jest-watcher";
+      packageName = "jest-watcher";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha512 = "+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==";
+      };
+    };
+    "jest-worker-24.9.0" = {
+      name = "jest-worker";
+      packageName = "jest-worker";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha512 = "51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==";
+      };
+    };
+    "js-beautify-1.10.2" = {
+      name = "js-beautify";
+      packageName = "js-beautify";
+      version = "1.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz";
+        sha512 = "ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==";
+      };
+    };
+    "js-stringify-1.0.2" = {
+      name = "js-stringify";
+      packageName = "js-stringify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz";
+        sha1 = "1736fddfd9724f28a3682adc6230ae7e4e9679db";
+      };
+    };
+    "js-tokens-3.0.2" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    };
+    "js-tokens-4.0.0" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+      };
+    };
+    "js-yaml-3.13.1" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
+      };
+    };
+    "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";
+      };
+    };
+    "jsdom-11.12.0" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "11.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz";
+        sha512 = "y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==";
+      };
+    };
+    "jsesc-0.5.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    };
+    "jsesc-1.3.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    };
+    "jsesc-2.5.2" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "2.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
+      };
+    };
+    "json-buffer-3.0.0" = {
+      name = "json-buffer";
+      packageName = "json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    };
+    "json-parse-better-errors-1.0.2" = {
+      name = "json-parse-better-errors";
+      packageName = "json-parse-better-errors";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
+      };
+    };
+    "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";
+      };
+    };
+    "json3-3.3.3" = {
+      name = "json3";
+      packageName = "json3";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz";
+        sha512 = "c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==";
+      };
+    };
+    "json5-0.5.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    };
+    "json5-1.0.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz";
+        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
+      };
+    };
+    "json5-2.1.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz";
+        sha512 = "l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==";
+      };
+    };
+    "jsonpath-plus-0.19.0" = {
+      name = "jsonpath-plus";
+      packageName = "jsonpath-plus";
+      version = "0.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz";
+        sha512 = "GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==";
+      };
+    };
+    "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";
+      };
+    };
+    "jstransformer-1.0.0" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz";
+        sha1 = "ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3";
+      };
+    };
+    "keygrip-1.0.3" = {
+      name = "keygrip";
+      packageName = "keygrip";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz";
+        sha512 = "/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==";
+      };
+    };
+    "keyv-3.0.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
+        sha512 = "eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==";
+      };
+    };
+    "killable-1.0.1" = {
+      name = "killable";
+      packageName = "killable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz";
+        sha512 = "LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==";
+      };
+    };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
+    "kind-of-4.0.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    };
+    "kind-of-5.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
+      };
+    };
+    "kind-of-6.0.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+        sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
+      };
+    };
+    "kleur-3.0.3" = {
+      name = "kleur";
+      packageName = "kleur";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz";
+        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
+      };
+    };
+    "koa-2.8.2" = {
+      name = "koa";
+      packageName = "koa";
+      version = "2.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa/-/koa-2.8.2.tgz";
+        sha512 = "q1uZOgpl3wjr5FS/tjbABJ8lA5+NeKa9eq7QyBP5xxgOBwJN4iBrMEgO3LroE51lrIw3BsO0WZZ0Yi6giSiMDw==";
+      };
+    };
+    "koa-body-4.1.1" = {
+      name = "koa-body";
+      packageName = "koa-body";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz";
+        sha512 = "rLb/KVD8qplEcK8Qsu6F4Xw+uHkmx3MWogDVmMX07DpjXizhw3pOEp1ja1MqqAcl0ei75AsrbGVDlySmsUrreA==";
+      };
+    };
+    "koa-compose-3.2.1" = {
+      name = "koa-compose";
+      packageName = "koa-compose";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz";
+        sha1 = "a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7";
+      };
+    };
+    "koa-compose-4.1.0" = {
+      name = "koa-compose";
+      packageName = "koa-compose";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz";
+        sha512 = "8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==";
+      };
+    };
+    "koa-convert-1.2.0" = {
+      name = "koa-convert";
+      packageName = "koa-convert";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz";
+        sha1 = "da40875df49de0539098d1700b50820cebcd21d0";
+      };
+    };
+    "koa-is-json-1.0.0" = {
+      name = "koa-is-json";
+      packageName = "koa-is-json";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
+        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
+      };
+    };
+    "koa-router-7.4.0" = {
+      name = "koa-router";
+      packageName = "koa-router";
+      version = "7.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-router/-/koa-router-7.4.0.tgz";
+        sha512 = "IWhaDXeAnfDBEpWS6hkGdZ1ablgr6Q6pGdXCyK38RbzuH4LkUOpPqPw+3f8l8aTDrQmBQ7xJc0bs2yV4dzcO+g==";
+      };
+    };
+    "koa-send-5.0.0" = {
+      name = "koa-send";
+      packageName = "koa-send";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-send/-/koa-send-5.0.0.tgz";
+        sha512 = "90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ==";
+      };
+    };
+    "koa-static-5.0.0" = {
+      name = "koa-static";
+      packageName = "koa-static";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz";
+        sha512 = "UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==";
+      };
+    };
+    "koa-views-6.2.1" = {
+      name = "koa-views";
+      packageName = "koa-views";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-views/-/koa-views-6.2.1.tgz";
+        sha512 = "wU3tw48KuskaJg0x1JZmC73UWGgVmh6B54HuHDzTrkavig+dBI0NbFeGiWsaOCZREQkaTfIVXSPSByDant71ew==";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "lcid-2.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz";
+        sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
+      };
+    };
+    "left-pad-1.3.0" = {
+      name = "left-pad";
+      packageName = "left-pad";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz";
+        sha512 = "XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==";
+      };
+    };
+    "leven-3.1.0" = {
+      name = "leven";
+      packageName = "leven";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz";
+        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
+      };
+    };
+    "levn-0.3.0" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    };
+    "load-json-file-4.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    };
+    "loader-runner-2.4.0" = {
+      name = "loader-runner";
+      packageName = "loader-runner";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
+      };
+    };
+    "loader-utils-1.2.3" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha512 = "fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "locate-path-3.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
+      };
+    };
+    "lodash-4.17.15" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+      };
+    };
+    "lodash.camelcase-4.3.0" = {
+      name = "lodash.camelcase";
+      packageName = "lodash.camelcase";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    };
+    "lodash.clonedeep-4.5.0" = {
+      name = "lodash.clonedeep";
+      packageName = "lodash.clonedeep";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    };
+    "lodash.memoize-4.1.2" = {
+      name = "lodash.memoize";
+      packageName = "lodash.memoize";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    };
+    "lodash.sortby-4.7.0" = {
+      name = "lodash.sortby";
+      packageName = "lodash.sortby";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    };
+    "log-symbols-2.2.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
+      };
+    };
+    "loglevel-1.6.4" = {
+      name = "loglevel";
+      packageName = "loglevel";
+      version = "1.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz";
+        sha512 = "p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==";
+      };
+    };
+    "loglevelnext-1.0.5" = {
+      name = "loglevelnext";
+      packageName = "loglevelnext";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz";
+        sha512 = "V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==";
+      };
+    };
+    "long-4.0.0" = {
+      name = "long";
+      packageName = "long";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz";
+        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "loose-envify-1.4.0" = {
+      name = "loose-envify";
+      packageName = "loose-envify";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
+      };
+    };
+    "lowercase-keys-1.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    };
+    "lowercase-keys-1.0.1" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
+      };
+    };
+    "lru-cache-4.1.5" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
+        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
+      };
+    };
+    "lru-cache-5.1.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
+      };
+    };
+    "make-dir-1.3.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz";
+        sha512 = "2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==";
+      };
+    };
+    "make-dir-2.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
+      };
+    };
+    "make-error-1.3.5" = {
+      name = "make-error";
+      packageName = "make-error";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz";
+        sha512 = "c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==";
+      };
+    };
+    "makeerror-1.0.11" = {
+      name = "makeerror";
+      packageName = "makeerror";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    };
+    "mamacro-0.0.3" = {
+      name = "mamacro";
+      packageName = "mamacro";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz";
+        sha512 = "qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==";
+      };
+    };
+    "map-age-cleaner-0.1.3" = {
+      name = "map-age-cleaner";
+      packageName = "map-age-cleaner";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
+      };
+    };
+    "map-cache-0.2.2" = {
+      name = "map-cache";
+      packageName = "map-cache";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    };
+    "map-visit-1.0.0" = {
+      name = "map-visit";
+      packageName = "map-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    };
+    "md5.js-1.3.5" = {
+      name = "md5.js";
+      packageName = "md5.js";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "mem-4.3.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz";
+        sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
+      };
+    };
+    "memory-fs-0.4.1" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    };
+    "merge-descriptors-1.0.1" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    };
+    "merge-stream-2.0.0" = {
+      name = "merge-stream";
+      packageName = "merge-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "micromatch-3.1.10" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "3.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
+      };
+    };
+    "miller-rabin-4.0.1" = {
+      name = "miller-rabin";
+      packageName = "miller-rabin";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
+      };
+    };
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+      };
+    };
+    "mime-2.4.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "2.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz";
+        sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==";
+      };
+    };
+    "mime-db-1.40.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.40.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+      };
+    };
+    "mime-types-2.1.24" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+      };
+    };
+    "mimic-fn-1.2.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
+      };
+    };
+    "mimic-fn-2.1.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
+      };
+    };
+    "mimic-response-1.0.1" = {
+      name = "mimic-response";
+      packageName = "mimic-response";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
+      };
+    };
+    "minimalistic-assert-1.0.1" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+      };
+    };
+    "minimalistic-crypto-utils-1.0.1" = {
+      name = "minimalistic-crypto-utils";
+      packageName = "minimalistic-crypto-utils";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    };
+    "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";
+      };
+    };
+    "mississippi-2.0.0" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz";
+        sha512 = "zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==";
+      };
+    };
+    "mississippi-3.0.0" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz";
+        sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
+      };
+    };
+    "mixin-deep-1.3.2" = {
+      name = "mixin-deep";
+      packageName = "mixin-deep";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
+      };
+    };
+    "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";
+      };
+    };
+    "moment-2.24.0" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.24.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
+        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
+      };
+    };
+    "moment-timezone-0.5.26" = {
+      name = "moment-timezone";
+      packageName = "moment-timezone";
+      version = "0.5.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz";
+        sha512 = "sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==";
+      };
+    };
+    "move-concurrently-1.0.1" = {
+      name = "move-concurrently";
+      packageName = "move-concurrently";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "ms-2.1.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "multicast-dns-6.2.3" = {
+      name = "multicast-dns";
+      packageName = "multicast-dns";
+      version = "6.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha512 = "ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==";
+      };
+    };
+    "multicast-dns-service-types-1.1.0" = {
+      name = "multicast-dns-service-types";
+      packageName = "multicast-dns-service-types";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    };
+    "mz-2.7.0" = {
+      name = "mz";
+      packageName = "mz";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz";
+        sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "nanomatch-1.2.13" = {
+      name = "nanomatch";
+      packageName = "nanomatch";
+      version = "1.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
+      };
+    };
+    "natural-compare-1.4.0" = {
+      name = "natural-compare";
+      packageName = "natural-compare";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    };
+    "negotiator-0.6.2" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+      };
+    };
+    "neo-async-2.6.1" = {
+      name = "neo-async";
+      packageName = "neo-async";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz";
+        sha512 = "iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==";
+      };
+    };
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    };
+    "nice-try-1.0.5" = {
+      name = "nice-try";
+      packageName = "nice-try";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
+      };
+    };
+    "node-forge-0.8.5" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz";
+        sha512 = "vFMQIWt+J/7FLNyKouZ9TazT74PRV3wgv9UT4cRjC8BffxFbKXkgIWR42URCPSnHm/QDz6BOlb2Q0U4+VQT67Q==";
+      };
+    };
+    "node-forge-0.9.0" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz";
+        sha512 = "7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==";
+      };
+    };
+    "node-int64-0.4.0" = {
+      name = "node-int64";
+      packageName = "node-int64";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    };
+    "node-jose-1.1.3" = {
+      name = "node-jose";
+      packageName = "node-jose";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-jose/-/node-jose-1.1.3.tgz";
+        sha512 = "kupfi4uGWhRjnOmtie2T64cLge5a1TZyalEa8uWWWBgtKBcu41A4IGKpI9twZAxRnmviamEUQRK7LSyfFb2w8A==";
+      };
+    };
+    "node-libs-browser-2.2.1" = {
+      name = "node-libs-browser";
+      packageName = "node-libs-browser";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
+      };
+    };
+    "node-modules-regexp-1.0.0" = {
+      name = "node-modules-regexp";
+      packageName = "node-modules-regexp";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    };
+    "node-notifier-5.4.3" = {
+      name = "node-notifier";
+      packageName = "node-notifier";
+      version = "5.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha512 = "M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "normalize-package-data-2.5.0" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
+      };
+    };
+    "normalize-path-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    };
+    "normalize-path-3.0.0" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
+      };
+    };
+    "normalize-url-2.0.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
+        sha512 = "D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==";
+      };
+    };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
+    "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";
+      };
+    };
+    "nwsapi-2.1.4" = {
+      name = "nwsapi";
+      packageName = "nwsapi";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
+      };
+    };
+    "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";
+      };
+    };
+    "object-copy-0.1.0" = {
+      name = "object-copy";
+      packageName = "object-copy";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    };
+    "object-hash-1.3.1" = {
+      name = "object-hash";
+      packageName = "object-hash";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz";
+        sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
+      };
+    };
+    "object-inspect-1.6.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+      };
+    };
+    "object-keys-1.1.1" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
+      };
+    };
+    "object-visit-1.0.1" = {
+      name = "object-visit";
+      packageName = "object-visit";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    };
+    "object.assign-4.1.0" = {
+      name = "object.assign";
+      packageName = "object.assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
+        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
+      };
+    };
+    "object.getownpropertydescriptors-2.0.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    };
+    "object.pick-1.3.0" = {
+      name = "object.pick";
+      packageName = "object.pick";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    };
+    "obuf-1.1.2" = {
+      name = "obuf";
+      packageName = "obuf";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz";
+        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
+      };
+    };
+    "oidc-token-hash-3.0.2" = {
+      name = "oidc-token-hash";
+      packageName = "oidc-token-hash";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-3.0.2.tgz";
+        sha512 = "dTzp80/y/da+um+i+sOucNqiPpwRL7M/xPwj7pH1TFA2/bqQ+OK2sJahSXbemEoLtPkHcFLyhLhLWZa9yW5+RA==";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "on-headers-1.0.2" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+      };
+    };
+    "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";
+      };
+    };
+    "onetime-2.0.1" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    };
+    "only-0.0.2" = {
+      name = "only";
+      packageName = "only";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/only/-/only-0.0.2.tgz";
+        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
+      };
+    };
+    "opener-1.5.1" = {
+      name = "opener";
+      packageName = "opener";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz";
+        sha512 = "goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==";
+      };
+    };
+    "openid-client-2.5.0" = {
+      name = "openid-client";
+      packageName = "openid-client";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openid-client/-/openid-client-2.5.0.tgz";
+        sha512 = "t3hFD7xEoW1U25RyBcRFaL19fGGs6hNVTysq9pgmiltH0IVUPzH/bQV9w24pM5Q7MunnGv2/5XjIru6BQcWdxg==";
+      };
+    };
+    "opn-5.5.0" = {
+      name = "opn";
+      packageName = "opn";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz";
+        sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "optionator-0.8.2" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    };
+    "ora-3.4.0" = {
+      name = "ora";
+      packageName = "ora";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz";
+        sha512 = "eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==";
+      };
+    };
+    "original-1.0.2" = {
+      name = "original";
+      packageName = "original";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/original/-/original-1.0.2.tgz";
+        sha512 = "hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==";
+      };
+    };
+    "os-browserify-0.3.0" = {
+      name = "os-browserify";
+      packageName = "os-browserify";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    };
+    "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-locale-3.1.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz";
+        sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "p-any-1.1.0" = {
+      name = "p-any";
+      packageName = "p-any";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
+        sha512 = "Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==";
+      };
+    };
+    "p-cancelable-0.4.1" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz";
+        sha512 = "HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==";
+      };
+    };
+    "p-defer-1.0.0" = {
+      name = "p-defer";
+      packageName = "p-defer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    };
+    "p-each-series-1.0.0" = {
+      name = "p-each-series";
+      packageName = "p-each-series";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-is-promise-1.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
+        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
+      };
+    };
+    "p-is-promise-2.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
+      };
+    };
+    "p-limit-1.3.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+      };
+    };
+    "p-limit-2.2.1" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
+      };
+    };
+    "p-locate-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "p-locate-3.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+      };
+    };
+    "p-map-2.1.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
+      };
+    };
+    "p-reduce-1.0.0" = {
+      name = "p-reduce";
+      packageName = "p-reduce";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    };
+    "p-retry-3.0.1" = {
+      name = "p-retry";
+      packageName = "p-retry";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz";
+        sha512 = "XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==";
+      };
+    };
+    "p-some-2.0.1" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz";
+        sha1 = "65d87c8b154edbcf5221d167778b6d2e150f6f06";
+      };
+    };
+    "p-timeout-2.0.1" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
+        sha512 = "88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "p-try-2.2.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
+      };
+    };
+    "pako-1.0.10" = {
+      name = "pako";
+      packageName = "pako";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz";
+        sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
+      };
+    };
+    "parallel-transform-1.2.0" = {
+      name = "parallel-transform";
+      packageName = "parallel-transform";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz";
+        sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
+      };
+    };
+    "parse-asn1-5.1.5" = {
+      name = "parse-asn1";
+      packageName = "parse-asn1";
+      version = "5.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz";
+        sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==";
+      };
+    };
+    "parse-json-4.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    };
+    "parse-passwd-1.0.0" = {
+      name = "parse-passwd";
+      packageName = "parse-passwd";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    };
+    "parse5-4.0.0" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz";
+        sha512 = "VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==";
+      };
+    };
+    "parseurl-1.3.3" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+      };
+    };
+    "pascalcase-0.1.1" = {
+      name = "pascalcase";
+      packageName = "pascalcase";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    };
+    "path-browserify-0.0.1" = {
+      name = "path-browserify";
+      packageName = "path-browserify";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
+      };
+    };
+    "path-dirname-1.0.2" = {
+      name = "path-dirname";
+      packageName = "path-dirname";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "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";
+      };
+    };
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
+    "path-parse-1.0.6" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+      };
+    };
+    "path-to-regexp-0.1.7" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    };
+    "path-to-regexp-1.7.0" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    };
+    "path-type-3.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
+      };
+    };
+    "pbkdf2-3.0.17" = {
+      name = "pbkdf2";
+      packageName = "pbkdf2";
+      version = "3.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha512 = "U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==";
+      };
+    };
+    "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";
+      };
+    };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-3.0.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    };
+    "pify-4.0.1" = {
+      name = "pify";
+      packageName = "pify";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "pirates-4.0.1" = {
+      name = "pirates";
+      packageName = "pirates";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz";
+        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
+      };
+    };
+    "pkg-dir-2.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    };
+    "pkg-dir-3.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
+      };
+    };
+    "pn-1.1.0" = {
+      name = "pn";
+      packageName = "pn";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz";
+        sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
+      };
+    };
+    "portfinder-1.0.24" = {
+      name = "portfinder";
+      packageName = "portfinder";
+      version = "1.0.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz";
+        sha512 = "ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==";
+      };
+    };
+    "posix-character-classes-0.1.1" = {
+      name = "posix-character-classes";
+      packageName = "posix-character-classes";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "prepend-http-2.0.0" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    };
+    "prettier-1.18.2" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "1.18.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
+        sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+      };
+    };
+    "pretty-2.0.0" = {
+      name = "pretty";
+      packageName = "pretty";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz";
+        sha1 = "adbc7960b7bbfe289a557dc5f737619a220d06a5";
+      };
+    };
+    "pretty-format-24.9.0" = {
+      name = "pretty-format";
+      packageName = "pretty-format";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz";
+        sha512 = "00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==";
+      };
+    };
+    "private-0.1.8" = {
+      name = "private";
+      packageName = "private";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/private/-/private-0.1.8.tgz";
+        sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
+      };
+    };
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    };
+    "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==";
+      };
+    };
+    "promise-7.3.1" = {
+      name = "promise";
+      packageName = "promise";
+      version = "7.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
+        sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
+      };
+    };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
+    "prompts-2.2.1" = {
+      name = "prompts";
+      packageName = "prompts";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
+        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
+      };
+    };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
+    "proxy-addr-2.0.5" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
+      };
+    };
+    "prr-1.0.1" = {
+      name = "prr";
+      packageName = "prr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "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==";
+      };
+    };
+    "public-encrypt-4.0.3" = {
+      name = "public-encrypt";
+      packageName = "public-encrypt";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
+      };
+    };
+    "pug-2.0.4" = {
+      name = "pug";
+      packageName = "pug";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz";
+        sha512 = "XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==";
+      };
+    };
+    "pug-attrs-2.0.4" = {
+      name = "pug-attrs";
+      packageName = "pug-attrs";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz";
+        sha512 = "TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==";
+      };
+    };
+    "pug-code-gen-2.0.2" = {
+      name = "pug-code-gen";
+      packageName = "pug-code-gen";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz";
+        sha512 = "kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==";
+      };
+    };
+    "pug-error-1.3.3" = {
+      name = "pug-error";
+      packageName = "pug-error";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz";
+        sha512 = "qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==";
+      };
+    };
+    "pug-filters-3.1.1" = {
+      name = "pug-filters";
+      packageName = "pug-filters";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz";
+        sha512 = "lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==";
+      };
+    };
+    "pug-lexer-4.1.0" = {
+      name = "pug-lexer";
+      packageName = "pug-lexer";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz";
+        sha512 = "i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==";
+      };
+    };
+    "pug-linker-3.0.6" = {
+      name = "pug-linker";
+      packageName = "pug-linker";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz";
+        sha512 = "bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==";
+      };
+    };
+    "pug-load-2.0.12" = {
+      name = "pug-load";
+      packageName = "pug-load";
+      version = "2.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz";
+        sha512 = "UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==";
+      };
+    };
+    "pug-parser-5.0.1" = {
+      name = "pug-parser";
+      packageName = "pug-parser";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz";
+        sha512 = "nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==";
+      };
+    };
+    "pug-runtime-2.0.5" = {
+      name = "pug-runtime";
+      packageName = "pug-runtime";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz";
+        sha512 = "P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==";
+      };
+    };
+    "pug-strip-comments-1.0.4" = {
+      name = "pug-strip-comments";
+      packageName = "pug-strip-comments";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz";
+        sha512 = "i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==";
+      };
+    };
+    "pug-walk-1.1.8" = {
+      name = "pug-walk";
+      packageName = "pug-walk";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz";
+        sha512 = "GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==";
+      };
+    };
+    "pump-2.0.1" = {
+      name = "pump";
+      packageName = "pump";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
+        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
+      };
+    };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+      };
+    };
+    "pumpify-1.5.1" = {
+      name = "pumpify";
+      packageName = "pumpify";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";
+        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
+      };
+    };
+    "punycode-1.3.2" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "qs-6.7.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
+        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
+      };
+    };
+    "query-string-5.1.1" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz";
+        sha512 = "gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==";
+      };
+    };
+    "querystring-0.2.0" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    };
+    "querystring-es3-0.2.1" = {
+      name = "querystring-es3";
+      packageName = "querystring-es3";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    };
+    "querystringify-2.1.1" = {
+      name = "querystringify";
+      packageName = "querystringify";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz";
+        sha512 = "w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==";
+      };
+    };
+    "randombytes-2.1.0" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
+      };
+    };
+    "randomfill-1.0.4" = {
+      name = "randomfill";
+      packageName = "randomfill";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
+        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
+      };
+    };
+    "range-parser-1.2.1" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
+      };
+    };
+    "raw-body-2.4.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
+        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
+      };
+    };
+    "raw-body-2.4.1" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz";
+        sha512 = "9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==";
+      };
+    };
+    "react-is-16.10.2" = {
+      name = "react-is";
+      packageName = "react-is";
+      version = "16.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz";
+        sha512 = "INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==";
+      };
+    };
+    "read-pkg-3.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    };
+    "read-pkg-up-4.0.0" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "readable-stream-3.4.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==";
+      };
+    };
+    "readdirp-2.2.1" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
+      };
+    };
+    "realpath-native-1.1.0" = {
+      name = "realpath-native";
+      packageName = "realpath-native";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha512 = "wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==";
+      };
+    };
+    "rechoir-0.6.2" = {
+      name = "rechoir";
+      packageName = "rechoir";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
+        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
+      };
+    };
+    "regenerate-1.4.0" = {
+      name = "regenerate";
+      packageName = "regenerate";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz";
+        sha512 = "1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==";
+      };
+    };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
+      };
+    };
+    "regenerator-transform-0.10.1" = {
+      name = "regenerator-transform";
+      packageName = "regenerator-transform";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
+        sha512 = "PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==";
+      };
+    };
+    "regex-not-1.0.2" = {
+      name = "regex-not";
+      packageName = "regex-not";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
+      };
+    };
+    "regexpu-core-2.0.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz";
+        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+      };
+    };
+    "regjsgen-0.2.0" = {
+      name = "regjsgen";
+      packageName = "regjsgen";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    };
+    "regjsparser-0.1.5" = {
+      name = "regjsparser";
+      packageName = "regjsparser";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    };
+    "remove-trailing-separator-1.1.0" = {
+      name = "remove-trailing-separator";
+      packageName = "remove-trailing-separator";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    };
+    "repeat-element-1.1.3" = {
+      name = "repeat-element";
+      packageName = "repeat-element";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "repeating-2.0.1" = {
+      name = "repeating";
+      packageName = "repeating";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    };
+    "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==";
+      };
+    };
+    "request-promise-core-1.1.2" = {
+      name = "request-promise-core";
+      packageName = "request-promise-core";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+      };
+    };
+    "request-promise-native-1.0.7" = {
+      name = "request-promise-native";
+      packageName = "request-promise-native";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-1.0.1" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    };
+    "require-main-filename-2.0.0" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    };
+    "resolve-1.1.7" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    };
+    "resolve-1.12.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
+        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+      };
+    };
+    "resolve-cwd-2.0.0" = {
+      name = "resolve-cwd";
+      packageName = "resolve-cwd";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    };
+    "resolve-dir-1.0.1" = {
+      name = "resolve-dir";
+      packageName = "resolve-dir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    };
+    "resolve-from-3.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    };
+    "resolve-path-1.4.0" = {
+      name = "resolve-path";
+      packageName = "resolve-path";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz";
+        sha1 = "c4bda9f5efb2fce65247873ab36bb4d834fe16f7";
+      };
+    };
+    "resolve-url-0.2.1" = {
+      name = "resolve-url";
+      packageName = "resolve-url";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    };
+    "responselike-1.0.2" = {
+      name = "responselike";
+      packageName = "responselike";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    };
+    "restore-cursor-2.0.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+      };
+    };
+    "retry-0.12.0" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
+        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "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==";
+      };
+    };
+    "ripemd160-2.0.2" = {
+      name = "ripemd160";
+      packageName = "ripemd160";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
+      };
+    };
+    "rsvp-4.8.5" = {
+      name = "rsvp";
+      packageName = "rsvp";
+      version = "4.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz";
+        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
+      };
+    };
+    "run-queue-1.0.3" = {
+      name = "run-queue";
+      packageName = "run-queue";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    };
+    "rxjs-6.5.3" = {
+      name = "rxjs";
+      packageName = "rxjs";
+      version = "6.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz";
+        sha512 = "wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "safe-regex-1.1.0" = {
+      name = "safe-regex";
+      packageName = "safe-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    };
+    "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==";
+      };
+    };
+    "sane-4.1.0" = {
+      name = "sane";
+      packageName = "sane";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz";
+        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "schema-utils-1.0.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
+      };
+    };
+    "select-hose-2.0.0" = {
+      name = "select-hose";
+      packageName = "select-hose";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    };
+    "selfsigned-1.10.7" = {
+      name = "selfsigned";
+      packageName = "selfsigned";
+      version = "1.10.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz";
+        sha512 = "8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "send-0.17.1" = {
+      name = "send";
+      packageName = "send";
+      version = "0.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
+        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+      };
+    };
+    "serialize-javascript-1.9.1" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
+        sha512 = "0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==";
+      };
+    };
+    "serve-index-1.9.1" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    };
+    "serve-static-1.14.1" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
+        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+      };
+    };
+    "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";
+      };
+    };
+    "set-value-2.0.1" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
+        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    };
+    "setprototypeof-1.1.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
+      };
+    };
+    "setprototypeof-1.1.1" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
+      };
+    };
+    "sha.js-2.4.11" = {
+      name = "sha.js";
+      packageName = "sha.js";
+      version = "2.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
+      };
+    };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "shelljs-0.8.3" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz";
+        sha512 = "fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==";
+      };
+    };
+    "shellwords-0.1.1" = {
+      name = "shellwords";
+      packageName = "shellwords";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz";
+        sha512 = "vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==";
+      };
+    };
+    "sigmund-1.0.1" = {
+      name = "sigmund";
+      packageName = "sigmund";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    };
+    "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";
+      };
+    };
+    "simple-git-1.96.0" = {
+      name = "simple-git";
+      packageName = "simple-git";
+      version = "1.96.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.96.0.tgz";
+        sha512 = "+gXuzJFpGtK9zCa7rPMMNs8AF2weWMsB0Vlyym5VkFX2VGQ3VBzKhnxPN//PWrGuPFGQ/u0F1yL6rZoPhj/KPQ==";
+      };
+    };
+    "sisteransi-1.0.3" = {
+      name = "sisteransi";
+      packageName = "sisteransi";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
+      };
+    };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
+    "slash-2.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
+        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
+      };
+    };
+    "snapdragon-0.8.2" = {
+      name = "snapdragon";
+      packageName = "snapdragon";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
+      };
+    };
+    "snapdragon-node-2.1.1" = {
+      name = "snapdragon-node";
+      packageName = "snapdragon-node";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
+      };
+    };
+    "snapdragon-util-3.0.1" = {
+      name = "snapdragon-util";
+      packageName = "snapdragon-util";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
+      };
+    };
+    "sockjs-0.3.19" = {
+      name = "sockjs";
+      packageName = "sockjs";
+      version = "0.3.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz";
+        sha512 = "V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==";
+      };
+    };
+    "sockjs-client-1.4.0" = {
+      name = "sockjs-client";
+      packageName = "sockjs-client";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha512 = "5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==";
+      };
+    };
+    "sort-keys-2.0.0" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz";
+        sha1 = "658535584861ec97d730d6cf41822e1f56684128";
+      };
+    };
+    "source-list-map-2.0.1" = {
+      name = "source-list-map";
+      packageName = "source-list-map";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+      };
+    };
+    "source-map-resolve-0.5.2" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+      };
+    };
+    "source-map-support-0.4.18" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
+      };
+    };
+    "source-map-support-0.5.13" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
+      };
+    };
+    "source-map-url-0.4.0" = {
+      name = "source-map-url";
+      packageName = "source-map-url";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    };
+    "spdx-correct-3.1.0" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
+      };
+    };
+    "spdx-exceptions-2.2.0" = {
+      name = "spdx-exceptions";
+      packageName = "spdx-exceptions";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
+      };
+    };
+    "spdx-expression-parse-3.0.0" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+      };
+    };
+    "spdx-license-ids-3.0.5" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==";
+      };
+    };
+    "spdy-4.0.1" = {
+      name = "spdy";
+      packageName = "spdy";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz";
+        sha512 = "HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==";
+      };
+    };
+    "spdy-transport-3.0.0" = {
+      name = "spdy-transport";
+      packageName = "spdy-transport";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
+      };
+    };
+    "split-string-3.1.0" = {
+      name = "split-string";
+      packageName = "split-string";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
+    "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==";
+      };
+    };
+    "ssri-5.3.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
+        sha512 = "XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==";
+      };
+    };
+    "ssri-6.0.1" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz";
+        sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
+      };
+    };
+    "stack-utils-1.0.2" = {
+      name = "stack-utils";
+      packageName = "stack-utils";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha512 = "MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==";
+      };
+    };
+    "static-extend-0.1.2" = {
+      name = "static-extend";
+      packageName = "static-extend";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
+    "stealthy-require-1.1.1" = {
+      name = "stealthy-require";
+      packageName = "stealthy-require";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    };
+    "stream-browserify-2.0.2" = {
+      name = "stream-browserify";
+      packageName = "stream-browserify";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==";
+      };
+    };
+    "stream-each-1.2.3" = {
+      name = "stream-each";
+      packageName = "stream-each";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz";
+        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
+      };
+    };
+    "stream-http-2.8.3" = {
+      name = "stream-http";
+      packageName = "stream-http";
+      version = "2.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz";
+        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
+      };
+    };
+    "stream-shift-1.0.0" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    };
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    };
+    "string-length-2.0.0" = {
+      name = "string-length";
+      packageName = "string-length";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    };
+    "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-width-2.1.1" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+      };
+    };
+    "string-width-3.1.0" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
+      };
+    };
+    "string.prototype.trimleft-2.1.0" = {
+      name = "string.prototype.trimleft";
+      packageName = "string.prototype.trimleft";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+      };
+    };
+    "string.prototype.trimright-2.1.0" = {
+      name = "string.prototype.trimright";
+      packageName = "string.prototype.trimright";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+      };
+    };
+    "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-ansi-4.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    };
+    "strip-ansi-5.2.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
+      };
+    };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "supports-color-5.5.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+      };
+    };
+    "supports-color-6.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
+      };
+    };
+    "symbol-tree-3.2.4" = {
+      name = "symbol-tree";
+      packageName = "symbol-tree";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
+      };
+    };
+    "tapable-1.1.3" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz";
+        sha512 = "4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==";
+      };
+    };
+    "terser-4.3.8" = {
+      name = "terser";
+      packageName = "terser";
+      version = "4.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz";
+        sha512 = "otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==";
+      };
+    };
+    "terser-webpack-plugin-1.4.1" = {
+      name = "terser-webpack-plugin";
+      packageName = "terser-webpack-plugin";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha512 = "ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==";
+      };
+    };
+    "test-exclude-5.2.3" = {
+      name = "test-exclude";
+      packageName = "test-exclude";
+      version = "5.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==";
+      };
+    };
+    "thenify-3.3.0" = {
+      name = "thenify";
+      packageName = "thenify";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz";
+        sha1 = "e69e38a1babe969b0108207978b9f62b88604839";
+      };
+    };
+    "thenify-all-1.6.0" = {
+      name = "thenify-all";
+      packageName = "thenify-all";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz";
+        sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
+      };
+    };
+    "throat-4.1.0" = {
+      name = "throat";
+      packageName = "throat";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    };
+    "through2-2.0.5" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
+      };
+    };
+    "thunky-1.0.3" = {
+      name = "thunky";
+      packageName = "thunky";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz";
+        sha512 = "YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==";
+      };
+    };
+    "timed-out-4.0.1" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
+        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+      };
+    };
+    "timers-browserify-2.0.11" = {
+      name = "timers-browserify";
+      packageName = "timers-browserify";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha512 = "60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==";
+      };
+    };
+    "tmpl-1.0.4" = {
+      name = "tmpl";
+      packageName = "tmpl";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    };
+    "to-arraybuffer-1.0.1" = {
+      name = "to-arraybuffer";
+      packageName = "to-arraybuffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    };
+    "to-fast-properties-1.0.3" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    };
+    "to-fast-properties-2.0.0" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    };
+    "to-object-path-0.3.0" = {
+      name = "to-object-path";
+      packageName = "to-object-path";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    };
+    "to-regex-3.0.2" = {
+      name = "to-regex";
+      packageName = "to-regex";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
+      };
+    };
+    "to-regex-range-2.1.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    };
+    "toidentifier-1.0.0" = {
+      name = "toidentifier";
+      packageName = "toidentifier";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
+      };
+    };
+    "token-stream-0.0.1" = {
+      name = "token-stream";
+      packageName = "token-stream";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz";
+        sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a";
+      };
+    };
+    "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==";
+      };
+    };
+    "tr46-1.0.1" = {
+      name = "tr46";
+      packageName = "tr46";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    };
+    "trim-right-1.0.1" = {
+      name = "trim-right";
+      packageName = "trim-right";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    };
+    "tryer-1.0.1" = {
+      name = "tryer";
+      packageName = "tryer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz";
+        sha512 = "c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==";
+      };
+    };
+    "ts-jest-24.1.0" = {
+      name = "ts-jest";
+      packageName = "ts-jest";
+      version = "24.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-jest/-/ts-jest-24.1.0.tgz";
+        sha512 = "HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ==";
+      };
+    };
+    "tslib-1.10.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+      };
+    };
+    "tty-browserify-0.0.0" = {
+      name = "tty-browserify";
+      packageName = "tty-browserify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    };
+    "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";
+      };
+    };
+    "type-1.2.0" = {
+      name = "type";
+      packageName = "type";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz";
+        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
+      };
+    };
+    "type-check-0.3.2" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    };
+    "type-is-1.6.18" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "typedarray-to-buffer-3.1.5" = {
+      name = "typedarray-to-buffer";
+      packageName = "typedarray-to-buffer";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
+      };
+    };
+    "typescript-3.6.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
+        sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+      };
+    };
+    "typical-4.0.0" = {
+      name = "typical";
+      packageName = "typical";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz";
+        sha512 = "VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==";
+      };
+    };
+    "uglify-js-2.8.29" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+      };
+    };
+    "uglify-js-3.6.0" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "underscore-1.9.1" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz";
+        sha512 = "5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==";
+      };
+    };
+    "union-value-1.0.1" = {
+      name = "union-value";
+      packageName = "union-value";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz";
+        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
+      };
+    };
+    "unique-filename-1.1.1" = {
+      name = "unique-filename";
+      packageName = "unique-filename";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
+      };
+    };
+    "unique-slug-2.0.2" = {
+      name = "unique-slug";
+      packageName = "unique-slug";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "unset-value-1.0.0" = {
+      name = "unset-value";
+      packageName = "unset-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    };
+    "upath-1.2.0" = {
+      name = "upath";
+      packageName = "upath";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
+        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "urijs-1.19.1" = {
+      name = "urijs";
+      packageName = "urijs";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz";
+        sha512 = "xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==";
+      };
+    };
+    "urix-0.1.0" = {
+      name = "urix";
+      packageName = "urix";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    };
+    "url-0.11.0" = {
+      name = "url";
+      packageName = "url";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    };
+    "url-parse-1.4.7" = {
+      name = "url-parse";
+      packageName = "url-parse";
+      version = "1.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
+        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
+      };
+    };
+    "url-parse-lax-3.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    };
+    "url-to-options-1.0.1" = {
+      name = "url-to-options";
+      packageName = "url-to-options";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz";
+        sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
+      };
+    };
+    "use-3.1.1" = {
+      name = "use";
+      packageName = "use";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
+      };
+    };
+    "util-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    };
+    "util-0.11.1" = {
+      name = "util";
+      packageName = "util";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz";
+        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "util.promisify-1.0.0" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
+      };
+    };
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "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==";
+      };
+    };
+    "v8-compile-cache-2.0.3" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz";
+        sha512 = "CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==";
+      };
+    };
+    "validate-npm-package-license-3.0.4" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "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";
+      };
+    };
+    "vm-browserify-1.1.0" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==";
+      };
+    };
+    "void-elements-2.0.1" = {
+      name = "void-elements";
+      packageName = "void-elements";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    };
+    "w3c-hr-time-1.0.1" = {
+      name = "w3c-hr-time";
+      packageName = "w3c-hr-time";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    };
+    "walker-1.0.7" = {
+      name = "walker";
+      packageName = "walker";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    };
+    "watchpack-1.6.0" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz";
+        sha512 = "i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==";
+      };
+    };
+    "wbuf-1.7.3" = {
+      name = "wbuf";
+      packageName = "wbuf";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz";
+        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
+      };
+    };
+    "wcwidth-1.0.1" = {
+      name = "wcwidth";
+      packageName = "wcwidth";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
+        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
+      };
+    };
+    "webidl-conversions-4.0.2" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
+      };
+    };
+    "webpack-4.41.0" = {
+      name = "webpack";
+      packageName = "webpack";
+      version = "4.41.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz";
+        sha512 = "yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==";
+      };
+    };
+    "webpack-bundle-analyzer-3.5.2" = {
+      name = "webpack-bundle-analyzer";
+      packageName = "webpack-bundle-analyzer";
+      version = "3.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.5.2.tgz";
+        sha512 = "g9spCNe25QYUVqHRDkwG414GTok2m7pTTP0wr6l0J50Z3YLS04+BGodTqqoVBL7QfU/U/9p/oiI5XFOyfZ7S/A==";
+      };
+    };
+    "webpack-cli-3.3.9" = {
+      name = "webpack-cli";
+      packageName = "webpack-cli";
+      version = "3.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
+        sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+      };
+    };
+    "webpack-dev-middleware-3.7.2" = {
+      name = "webpack-dev-middleware";
+      packageName = "webpack-dev-middleware";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha512 = "1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==";
+      };
+    };
+    "webpack-dev-server-3.8.2" = {
+      name = "webpack-dev-server";
+      packageName = "webpack-dev-server";
+      version = "3.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz";
+        sha512 = "0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==";
+      };
+    };
+    "webpack-log-1.2.0" = {
+      name = "webpack-log";
+      packageName = "webpack-log";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz";
+        sha512 = "U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==";
+      };
+    };
+    "webpack-log-2.0.0" = {
+      name = "webpack-log";
+      packageName = "webpack-log";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
+      };
+    };
+    "webpack-sources-1.4.3" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
+      };
+    };
+    "websocket-1.0.30" = {
+      name = "websocket";
+      packageName = "websocket";
+      version = "1.0.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket/-/websocket-1.0.30.tgz";
+        sha512 = "aO6klgaTdSMkhfl5VVJzD5fm+Srhh5jLYbS15+OiI1sN6h/RU/XW6WN9J1uVIpUKNmsTvT3Hs35XAFjn9NMfOw==";
+      };
+    };
+    "websocket-driver-0.7.3" = {
+      name = "websocket-driver";
+      packageName = "websocket-driver";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha512 = "bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==";
+      };
+    };
+    "websocket-extensions-0.1.3" = {
+      name = "websocket-extensions";
+      packageName = "websocket-extensions";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha512 = "nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==";
+      };
+    };
+    "whatwg-encoding-1.0.5" = {
+      name = "whatwg-encoding";
+      packageName = "whatwg-encoding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
+      };
+    };
+    "whatwg-mimetype-2.3.0" = {
+      name = "whatwg-mimetype";
+      packageName = "whatwg-mimetype";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
+      };
+    };
+    "whatwg-url-6.5.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "6.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
+      };
+    };
+    "whatwg-url-7.0.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
+      };
+    };
+    "which-1.3.1" = {
+      name = "which";
+      packageName = "which";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+      };
+    };
+    "which-module-2.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "with-5.1.1" = {
+      name = "with";
+      packageName = "with";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-5.1.1.tgz";
+        sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "wordwrap-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
+    "worker-farm-1.7.0" = {
+      name = "worker-farm";
+      packageName = "worker-farm";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
+      };
+    };
+    "wrap-ansi-2.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    };
+    "wrap-ansi-5.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
+      };
+    };
+    "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-2.4.1" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha512 = "TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==";
+      };
+    };
+    "ws-5.2.2" = {
+      name = "ws";
+      packageName = "ws";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz";
+        sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
+      };
+    };
+    "ws-6.2.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
+        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
+      };
+    };
+    "xml-name-validator-3.0.0" = {
+      name = "xml-name-validator";
+      packageName = "xml-name-validator";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
+      };
+    };
+    "xtend-4.0.2" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
+      };
+    };
+    "y18n-4.0.0" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+      };
+    };
+    "yaeti-0.0.6" = {
+      name = "yaeti";
+      packageName = "yaeti";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz";
+        sha1 = "f26f484d72684cf42bedfb76970aa1608fbf9577";
+      };
+    };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
+    "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==";
+      };
+    };
+    "yargs-12.0.5" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "12.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz";
+        sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==";
+      };
+    };
+    "yargs-13.2.4" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz";
+        sha512 = "HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==";
+      };
+    };
+    "yargs-13.3.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
+        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "yargs-parser-10.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "10.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha512 = "VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==";
+      };
+    };
+    "yargs-parser-11.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "11.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz";
+        sha512 = "C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==";
+      };
+    };
+    "yargs-parser-13.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+      };
+    };
+    "ylru-1.2.1" = {
+      name = "ylru";
+      packageName = "ylru";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz";
+        sha512 = "faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==";
+      };
+    };
+  };
+in
+{
+  "spacegun-git+https://github.com/dvallin/spacegun.git#v0.3.3" = nodeEnv.buildNodePackage {
+    name = "spacegun";
+    packageName = "spacegun";
+    version = "0.3.3";
+    src = fetchgit {
+      url = "https://github.com/dvallin/spacegun.git";
+      rev = "d32d2df34362f6744e8cff34c2d2bf6ce8b4662a";
+      sha256 = "589bfc9e3e26af38989144e8551547cbeb5ffc9a0b668a7a4cb211a2ebf7a931";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/core-7.6.2" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."json5-2.1.1"
+          sources."minimist-1.2.0"
+          sources."ms-2.1.2"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."@babel/generator-7.6.2" // {
+        dependencies = [
+          sources."jsesc-2.5.2"
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."@babel/helper-function-name-7.1.0"
+      sources."@babel/helper-get-function-arity-7.0.0"
+      sources."@babel/helper-plugin-utils-7.0.0"
+      sources."@babel/helper-split-export-declaration-7.4.4"
+      sources."@babel/helpers-7.6.2"
+      (sources."@babel/highlight-7.5.0" // {
+        dependencies = [
+          sources."js-tokens-4.0.0"
+        ];
+      })
+      sources."@babel/parser-7.6.2"
+      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
+      sources."@babel/template-7.6.0"
+      (sources."@babel/traverse-7.6.2" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."globals-11.12.0"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."@babel/types-7.6.1" // {
+        dependencies = [
+          sources."to-fast-properties-2.0.0"
+        ];
+      })
+      (sources."@cnakazawa/watch-1.0.3" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      (sources."@jest/console-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      (sources."@jest/core-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/environment-24.9.0"
+      sources."@jest/fake-timers-24.9.0"
+      (sources."@jest/reporters-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/source-map-24.9.0"
+      sources."@jest/test-result-24.9.0"
+      sources."@jest/test-sequencer-24.9.0"
+      (sources."@jest/transform-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/types-24.9.0"
+      (sources."@kubernetes/client-node-0.10.3" // {
+        dependencies = [
+          sources."@types/node-10.14.20"
+        ];
+      })
+      sources."@sindresorhus/is-0.7.0"
+      sources."@types/accepts-1.3.5"
+      sources."@types/axios-0.14.0"
+      sources."@types/babel-types-7.0.7"
+      sources."@types/babel__core-7.1.3"
+      sources."@types/babel__generator-7.6.0"
+      sources."@types/babel__template-7.0.2"
+      sources."@types/babel__traverse-7.0.7"
+      sources."@types/babylon-6.16.5"
+      sources."@types/body-parser-1.17.1"
+      sources."@types/caseless-0.12.2"
+      sources."@types/command-line-args-5.0.0"
+      sources."@types/connect-3.4.32"
+      sources."@types/cookies-0.7.4"
+      sources."@types/cron-1.7.1"
+      sources."@types/events-3.0.0"
+      sources."@types/express-4.17.1"
+      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/formidable-1.0.31"
+      sources."@types/glob-7.1.1"
+      sources."@types/http-assert-1.5.1"
+      sources."@types/istanbul-lib-coverage-2.0.1"
+      sources."@types/istanbul-lib-report-1.1.1"
+      sources."@types/istanbul-reports-1.1.1"
+      sources."@types/jest-24.0.18"
+      sources."@types/jest-diff-20.0.1"
+      sources."@types/js-yaml-3.12.1"
+      sources."@types/keygrip-1.0.1"
+      sources."@types/koa-2.0.50"
+      sources."@types/koa-compose-3.2.4"
+      sources."@types/koa-router-7.0.42"
+      sources."@types/koa-send-4.1.2"
+      sources."@types/koa-static-4.0.1"
+      sources."@types/koa-views-2.0.3"
+      sources."@types/lodash-4.14.141"
+      sources."@types/lodash.clonedeep-4.5.6"
+      sources."@types/mime-2.0.1"
+      sources."@types/minimatch-3.0.3"
+      sources."@types/mkdirp-0.5.2"
+      sources."@types/node-12.7.11"
+      sources."@types/ora-3.2.0"
+      sources."@types/range-parser-1.2.3"
+      (sources."@types/request-2.48.3" // {
+        dependencies = [
+          sources."form-data-2.5.1"
+        ];
+      })
+      sources."@types/serve-static-1.13.3"
+      sources."@types/stack-utils-1.0.1"
+      sources."@types/tough-cookie-2.3.5"
+      sources."@types/underscore-1.9.3"
+      sources."@types/websocket-0.0.40"
+      sources."@types/ws-6.0.3"
+      sources."@types/yargs-13.0.3"
+      sources."@types/yargs-parser-13.1.0"
+      sources."@webassemblyjs/ast-1.8.5"
+      sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
+      sources."@webassemblyjs/helper-api-error-1.8.5"
+      sources."@webassemblyjs/helper-buffer-1.8.5"
+      sources."@webassemblyjs/helper-code-frame-1.8.5"
+      sources."@webassemblyjs/helper-fsm-1.8.5"
+      sources."@webassemblyjs/helper-module-context-1.8.5"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.8.5"
+      sources."@webassemblyjs/helper-wasm-section-1.8.5"
+      sources."@webassemblyjs/ieee754-1.8.5"
+      sources."@webassemblyjs/leb128-1.8.5"
+      sources."@webassemblyjs/utf8-1.8.5"
+      sources."@webassemblyjs/wasm-edit-1.8.5"
+      sources."@webassemblyjs/wasm-gen-1.8.5"
+      sources."@webassemblyjs/wasm-opt-1.8.5"
+      sources."@webassemblyjs/wasm-parser-1.8.5"
+      sources."@webassemblyjs/wast-parser-1.8.5"
+      sources."@webassemblyjs/wast-printer-1.8.5"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."abab-2.0.2"
+      sources."abbrev-1.1.1"
+      sources."accepts-1.3.7"
+      sources."acorn-3.3.0"
+      (sources."acorn-globals-3.1.0" // {
+        dependencies = [
+          sources."acorn-4.0.13"
+        ];
+      })
+      sources."acorn-walk-6.2.0"
+      sources."aggregate-error-1.0.0"
+      sources."ajv-6.10.2"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.4.1"
+      sources."align-text-0.1.4"
+      sources."ansi-colors-3.2.4"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-html-0.0.7"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
+      sources."anymatch-2.0.0"
+      sources."aproba-1.2.0"
+      sources."argparse-1.0.10"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-back-3.1.0"
+      sources."array-equal-1.0.0"
+      sources."array-flatten-1.1.1"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."array-unique-0.3.2"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.4"
+      sources."asn1.js-4.10.1"
+      (sources."assert-1.5.0" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."assert-plus-1.0.0"
+      sources."assign-symbols-1.0.0"
+      sources."astral-regex-1.0.0"
+      sources."async-1.5.2"
+      sources."async-each-1.0.3"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."awesome-typescript-loader-5.2.1"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.8.0"
+      sources."axios-0.19.0"
+      sources."babel-6.23.0"
+      (sources."babel-code-frame-6.26.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."babel-core-6.26.3" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."json5-0.5.1"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."babel-generator-6.26.1" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."babel-helper-builder-binary-assignment-operator-visitor-6.24.1"
+      sources."babel-helper-call-delegate-6.24.1"
+      sources."babel-helper-define-map-6.26.0"
+      sources."babel-helper-explode-assignable-expression-6.24.1"
+      sources."babel-helper-function-name-6.24.1"
+      sources."babel-helper-get-function-arity-6.24.1"
+      sources."babel-helper-hoist-variables-6.24.1"
+      sources."babel-helper-optimise-call-expression-6.24.1"
+      sources."babel-helper-regex-6.26.0"
+      sources."babel-helper-remap-async-to-generator-6.24.1"
+      sources."babel-helper-replace-supers-6.24.1"
+      sources."babel-helpers-6.24.1"
+      (sources."babel-jest-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."babel-messages-6.23.0"
+      sources."babel-plugin-check-es2015-constants-6.22.0"
+      sources."babel-plugin-istanbul-5.2.0"
+      sources."babel-plugin-jest-hoist-24.9.0"
+      sources."babel-plugin-syntax-async-functions-6.13.0"
+      sources."babel-plugin-syntax-exponentiation-operator-6.13.0"
+      sources."babel-plugin-syntax-trailing-function-commas-6.22.0"
+      sources."babel-plugin-transform-async-to-generator-6.24.1"
+      sources."babel-plugin-transform-es2015-arrow-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoped-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoping-6.26.0"
+      sources."babel-plugin-transform-es2015-classes-6.24.1"
+      sources."babel-plugin-transform-es2015-computed-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-destructuring-6.23.0"
+      sources."babel-plugin-transform-es2015-duplicate-keys-6.24.1"
+      sources."babel-plugin-transform-es2015-for-of-6.23.0"
+      sources."babel-plugin-transform-es2015-function-name-6.24.1"
+      sources."babel-plugin-transform-es2015-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-modules-amd-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-commonjs-6.26.2"
+      sources."babel-plugin-transform-es2015-modules-systemjs-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-umd-6.24.1"
+      sources."babel-plugin-transform-es2015-object-super-6.24.1"
+      sources."babel-plugin-transform-es2015-parameters-6.24.1"
+      sources."babel-plugin-transform-es2015-shorthand-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-spread-6.22.0"
+      sources."babel-plugin-transform-es2015-sticky-regex-6.24.1"
+      sources."babel-plugin-transform-es2015-template-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-typeof-symbol-6.23.0"
+      sources."babel-plugin-transform-es2015-unicode-regex-6.24.1"
+      sources."babel-plugin-transform-exponentiation-operator-6.24.1"
+      sources."babel-plugin-transform-regenerator-6.26.0"
+      sources."babel-plugin-transform-strict-mode-6.24.1"
+      sources."babel-preset-env-1.7.0"
+      sources."babel-preset-jest-24.9.0"
+      (sources."babel-register-6.26.0" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+          sources."source-map-support-0.4.18"
+        ];
+      })
+      sources."babel-runtime-6.26.0"
+      sources."babel-template-6.26.0"
+      (sources."babel-traverse-6.26.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."babel-types-6.26.0"
+      sources."babylon-6.18.0"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."base64-js-1.3.1"
+      sources."base64url-3.0.1"
+      sources."batch-0.6.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bfj-6.1.2"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-1.13.1"
+      sources."bluebird-3.7.0"
+      sources."bn.js-4.11.8"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."http-errors-1.7.2"
+          sources."inherits-2.0.3"
+          sources."qs-6.7.0"
+          sources."raw-body-2.4.0"
+        ];
+      })
+      (sources."bonjour-3.5.0" // {
+        dependencies = [
+          sources."array-flatten-2.1.2"
+        ];
+      })
+      sources."brace-expansion-1.1.11"
+      sources."braces-2.3.2"
+      sources."brorand-1.1.0"
+      sources."browser-process-hrtime-0.1.3"
+      (sources."browser-resolve-1.11.3" // {
+        dependencies = [
+          sources."resolve-1.1.7"
+        ];
+      })
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.2"
+      sources."browserify-rsa-4.0.1"
+      sources."browserify-sign-4.0.4"
+      sources."browserify-zlib-0.2.0"
+      sources."browserslist-3.2.8"
+      sources."bs-logger-0.2.6"
+      sources."bser-2.1.0"
+      sources."buffer-4.9.1"
+      sources."buffer-from-1.1.1"
+      sources."buffer-indexof-1.1.1"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-status-codes-3.0.0"
+      sources."byline-5.0.0"
+      sources."bytes-3.1.0"
+      (sources."cacache-10.0.4" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."cache-base-1.0.1"
+      sources."cache-content-type-1.0.1"
+      (sources."cacheable-request-2.1.4" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+          sources."lowercase-keys-1.0.0"
+        ];
+      })
+      sources."callsites-3.1.0"
+      sources."camelcase-1.2.1"
+      sources."caniuse-lite-1.0.30000999"
+      sources."capture-exit-2.0.0"
+      sources."caseless-0.12.0"
+      sources."center-align-0.1.3"
+      sources."chalk-2.4.2"
+      sources."character-parser-2.2.0"
+      sources."check-types-8.0.3"
+      (sources."chokidar-2.1.8" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
+      sources."chownr-1.1.3"
+      sources."chrome-trace-event-1.0.2"
+      sources."ci-info-2.0.0"
+      sources."cipher-base-1.0.4"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."clean-css-4.2.1"
+      sources."clean-stack-1.3.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-spinners-2.2.0"
+      sources."cliui-2.1.0"
+      sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
+      sources."co-4.6.0"
+      sources."co-body-5.2.0"
+      sources."code-point-at-1.1.0"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."command-line-args-5.1.1"
+      sources."commander-2.20.1"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      sources."compressible-2.0.17"
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."bytes-3.0.0"
+          sources."debug-2.6.9"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."condense-newlines-0.2.1"
+      sources."config-chain-1.1.12"
+      sources."connect-history-api-fallback-1.6.0"
+      sources."console-browserify-1.1.0"
+      sources."consolidate-0.15.1"
+      sources."constantinople-3.1.2"
+      sources."constants-browserify-1.0.0"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
+      (sources."convert-source-map-1.6.0" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."cookies-0.7.3"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      (sources."copy-webpack-plugin-4.6.0" // {
+        dependencies = [
+          sources."p-limit-1.3.0"
+          sources."p-try-1.0.0"
+        ];
+      })
+      sources."core-js-2.6.9"
+      sources."core-util-is-1.0.2"
+      sources."create-ecdh-4.0.3"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."cron-1.7.2"
+      sources."cross-spawn-6.0.5"
+      sources."crypto-browserify-3.12.0"
+      sources."cssom-0.3.8"
+      sources."cssstyle-1.4.0"
+      sources."cyclist-1.0.1"
+      sources."d-1.0.1"
+      sources."dashdash-1.14.1"
+      (sources."data-urls-1.1.0" // {
+        dependencies = [
+          sources."whatwg-url-7.0.0"
+        ];
+      })
+      sources."date-now-0.1.4"
+      sources."debug-3.1.0"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-equal-1.0.1"
+      sources."deep-is-0.1.3"
+      sources."default-gateway-4.2.0"
+      sources."defaults-1.0.3"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      (sources."del-4.1.1" // {
+        dependencies = [
+          (sources."globby-6.1.0" // {
+            dependencies = [
+              sources."pify-2.3.0"
+            ];
+          })
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."des.js-1.0.0"
+      sources."destroy-1.0.4"
+      sources."detect-file-1.0.0"
+      sources."detect-indent-4.0.0"
+      sources."detect-newline-2.1.0"
+      sources."detect-node-2.0.4"
+      sources."diff-sequences-24.9.0"
+      sources."diffie-hellman-5.0.3"
+      sources."dir-glob-2.2.2"
+      sources."dns-equal-1.0.0"
+      sources."dns-packet-1.3.1"
+      sources."dns-txt-2.0.2"
+      sources."doctypes-1.1.0"
+      sources."domain-browser-1.2.0"
+      sources."domexception-1.0.1"
+      sources."duplexer-0.1.1"
+      sources."duplexer3-0.1.4"
+      sources."duplexify-3.7.1"
+      sources."ecc-jsbn-0.1.2"
+      (sources."editorconfig-0.15.3" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."ee-first-1.1.1"
+      sources."ejs-2.7.1"
+      sources."electron-to-chromium-1.3.275"
+      sources."elliptic-6.5.1"
+      sources."emoji-regex-7.0.3"
+      sources."emojis-list-2.1.0"
+      sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
+      sources."enhanced-resolve-4.1.0"
+      sources."errno-0.1.7"
+      sources."error-ex-1.3.2"
+      sources."error-inject-1.0.0"
+      sources."es-abstract-1.15.0"
+      sources."es-to-primitive-1.2.0"
+      sources."es5-ext-0.10.51"
+      sources."es6-iterator-2.0.3"
+      sources."es6-promise-4.2.8"
+      sources."es6-symbol-3.1.2"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."escodegen-1.12.0"
+      sources."eslint-scope-4.0.3"
+      sources."esprima-3.1.3"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.0"
+      sources."events-3.0.0"
+      sources."eventsource-1.0.7"
+      sources."evp_bytestokey-1.0.3"
+      sources."exec-sh-0.3.2"
+      sources."execa-1.0.0"
+      sources."exit-0.1.2"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."expand-tilde-2.0.2"
+      sources."expect-24.9.0"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."path-to-regexp-0.1.7"
+          sources."qs-6.7.0"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extend-shallow-2.0.1"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."faye-websocket-0.10.0"
+      sources."fb-watchman-2.0.0"
+      sources."figgy-pudding-3.5.1"
+      sources."filesize-3.6.1"
+      sources."fill-range-4.0.0"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."find-cache-dir-1.0.0"
+      sources."find-replace-3.0.0"
+      sources."find-up-3.0.0"
+      sources."findup-sync-3.0.0"
+      sources."flush-write-stream-1.1.1"
+      sources."follow-redirects-1.5.10"
+      sources."for-in-1.0.2"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."formidable-1.2.1"
+      sources."forwarded-0.1.2"
+      sources."fragment-cache-0.2.1"
+      sources."fresh-0.5.2"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.9"
+      sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
+      (sources."get-paths-0.0.7" // {
+        dependencies = [
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."get-stream-4.1.0"
+      sources."get-value-2.0.6"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.4"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      (sources."global-modules-2.0.0" // {
+        dependencies = [
+          sources."global-prefix-3.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."global-prefix-1.0.2"
+      sources."globals-9.18.0"
+      sources."globby-7.1.1"
+      (sources."got-8.3.2" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+        ];
+      })
+      sources."graceful-fs-4.2.2"
+      sources."growly-1.3.0"
+      (sources."gzip-size-5.1.1" // {
+        dependencies = [
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."handle-thing-2.0.0"
+      (sources."handlebars-4.4.2" // {
+        dependencies = [
+          sources."uglify-js-3.6.0"
+        ];
+      })
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      (sources."has-ansi-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+        ];
+      })
+      sources."has-flag-3.0.0"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-symbols-1.0.0"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."hash-base-3.0.4"
+      sources."hash.js-1.1.7"
+      sources."hmac-drbg-1.0.1"
+      sources."home-or-tmp-2.0.0"
+      sources."homedir-polyfill-1.0.3"
+      sources."hoopy-0.1.4"
+      sources."hosted-git-info-2.8.4"
+      sources."hpack.js-2.1.6"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."html-entities-1.2.1"
+      sources."http-assert-1.4.1"
+      sources."http-cache-semantics-3.8.1"
+      sources."http-deceiver-1.2.7"
+      sources."http-errors-1.7.3"
+      sources."http-parser-js-0.4.10"
+      sources."http-proxy-1.18.0"
+      sources."http-proxy-middleware-0.19.1"
+      sources."http-signature-1.2.0"
+      sources."https-browserify-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.1.13"
+      sources."iferr-0.1.5"
+      sources."ignore-3.3.10"
+      (sources."import-local-2.0.0" // {
+        dependencies = [
+          sources."pkg-dir-3.0.0"
+        ];
+      })
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-3.2.0"
+      sources."infer-owner-1.0.4"
+      sources."inflation-2.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."internal-ip-4.3.0"
+      sources."interpret-1.2.0"
+      sources."into-stream-3.1.0"
+      sources."invariant-2.2.4"
+      sources."invert-kv-2.0.0"
+      sources."ip-1.1.5"
+      sources."ip-regex-2.1.0"
+      sources."ipaddr.js-1.9.0"
+      sources."is-absolute-url-3.0.3"
+      (sources."is-accessor-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-2.0.4"
+      sources."is-callable-1.1.4"
+      sources."is-ci-2.0.0"
+      (sources."is-data-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-date-object-1.0.1"
+      (sources."is-descriptor-1.0.2" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      (sources."is-expression-3.0.0" // {
+        dependencies = [
+          sources."acorn-4.0.13"
+        ];
+      })
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-finite-1.0.2"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-generator-fn-2.1.0"
+      sources."is-generator-function-1.0.7"
+      sources."is-glob-4.0.1"
+      sources."is-number-3.0.0"
+      sources."is-object-1.0.1"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-in-cwd-2.1.0"
+      sources."is-path-inside-2.1.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-plain-object-2.0.4"
+      sources."is-promise-2.1.0"
+      sources."is-regex-1.0.4"
+      sources."is-retry-allowed-1.2.0"
+      sources."is-stream-1.1.0"
+      sources."is-symbol-1.0.2"
+      sources."is-typedarray-1.0.0"
+      sources."is-whitespace-0.3.0"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      sources."isomorphic-ws-4.0.1"
+      sources."isstream-0.1.2"
+      sources."istanbul-lib-coverage-2.0.5"
+      (sources."istanbul-lib-instrument-3.3.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."istanbul-lib-report-2.0.8" // {
+        dependencies = [
+          sources."make-dir-2.1.0"
+          sources."pify-4.0.1"
+          sources."supports-color-6.1.0"
+        ];
+      })
+      (sources."istanbul-lib-source-maps-3.0.6" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."make-dir-2.1.0"
+          sources."ms-2.1.2"
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."istanbul-reports-2.2.6"
+      sources."isurl-1.0.0"
+      sources."jest-24.9.0"
+      sources."jest-changed-files-24.9.0"
+      (sources."jest-cli-24.9.0" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."yargs-13.3.0"
+        ];
+      })
+      sources."jest-config-24.9.0"
+      sources."jest-diff-24.9.0"
+      sources."jest-docblock-24.9.0"
+      sources."jest-each-24.9.0"
+      sources."jest-environment-jsdom-24.9.0"
+      sources."jest-environment-node-24.9.0"
+      sources."jest-get-type-24.9.0"
+      sources."jest-haste-map-24.9.0"
+      sources."jest-jasmine2-24.9.0"
+      sources."jest-leak-detector-24.9.0"
+      sources."jest-matcher-utils-24.9.0"
+      (sources."jest-message-util-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."jest-mock-24.9.0"
+      sources."jest-pnp-resolver-1.2.1"
+      sources."jest-regex-util-24.9.0"
+      sources."jest-resolve-24.9.0"
+      sources."jest-resolve-dependencies-24.9.0"
+      sources."jest-runner-24.9.0"
+      (sources."jest-runtime-24.9.0" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."slash-2.0.0"
+          sources."yargs-13.3.0"
+        ];
+      })
+      sources."jest-serializer-24.9.0"
+      (sources."jest-snapshot-24.9.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."jest-util-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      (sources."jest-validate-24.9.0" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
+      sources."jest-watcher-24.9.0"
+      (sources."jest-worker-24.9.0" // {
+        dependencies = [
+          sources."supports-color-6.1.0"
+        ];
+      })
+      sources."js-beautify-1.10.2"
+      sources."js-stringify-1.0.2"
+      sources."js-tokens-3.0.2"
+      (sources."js-yaml-3.13.1" // {
+        dependencies = [
+          sources."esprima-4.0.1"
+        ];
+      })
+      sources."jsbn-0.1.1"
+      (sources."jsdom-11.12.0" // {
+        dependencies = [
+          sources."acorn-5.7.3"
+          (sources."acorn-globals-4.3.4" // {
+            dependencies = [
+              sources."acorn-6.3.0"
+            ];
+          })
+          sources."ws-5.2.2"
+        ];
+      })
+      sources."jsesc-1.3.0"
+      sources."json-buffer-3.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."json3-3.3.3"
+      (sources."json5-1.0.1" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."jsonpath-plus-0.19.0"
+      sources."jsprim-1.4.1"
+      sources."jstransformer-1.0.0"
+      sources."keygrip-1.0.3"
+      sources."keyv-3.0.0"
+      sources."killable-1.0.1"
+      (sources."kind-of-3.2.2" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+        ];
+      })
+      sources."kleur-3.0.3"
+      sources."koa-2.8.2"
+      sources."koa-body-4.1.1"
+      sources."koa-compose-4.1.0"
+      (sources."koa-convert-1.2.0" // {
+        dependencies = [
+          sources."koa-compose-3.2.1"
+        ];
+      })
+      sources."koa-is-json-1.0.0"
+      (sources."koa-router-7.4.0" // {
+        dependencies = [
+          sources."koa-compose-3.2.1"
+        ];
+      })
+      sources."koa-send-5.0.0"
+      sources."koa-static-5.0.0"
+      (sources."koa-views-6.2.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."lazy-cache-1.0.4"
+      sources."lcid-2.0.0"
+      sources."left-pad-1.3.0"
+      sources."leven-3.1.0"
+      sources."levn-0.3.0"
+      sources."load-json-file-4.0.0"
+      sources."loader-runner-2.4.0"
+      sources."loader-utils-1.2.3"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."lodash.camelcase-4.3.0"
+      sources."lodash.clonedeep-4.5.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.sortby-4.7.0"
+      sources."log-symbols-2.2.0"
+      sources."loglevel-1.6.4"
+      sources."loglevelnext-1.0.5"
+      sources."long-4.0.0"
+      sources."longest-1.0.1"
+      sources."loose-envify-1.4.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-5.1.1"
+      sources."make-dir-1.3.0"
+      sources."make-error-1.3.5"
+      sources."makeerror-1.0.11"
+      sources."mamacro-0.0.3"
+      sources."map-age-cleaner-0.1.3"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."md5.js-1.3.5"
+      sources."media-typer-0.3.0"
+      (sources."mem-4.3.0" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+          sources."p-is-promise-2.1.0"
+        ];
+      })
+      sources."memory-fs-0.4.1"
+      sources."merge-descriptors-1.0.1"
+      sources."merge-stream-2.0.0"
+      sources."methods-1.1.2"
+      (sources."micromatch-3.1.10" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."miller-rabin-4.0.1"
+      sources."mime-1.6.0"
+      sources."mime-db-1.40.0"
+      sources."mime-types-2.1.24"
+      sources."mimic-fn-1.2.0"
+      sources."mimic-response-1.0.1"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      (sources."mississippi-2.0.0" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."mkdirp-0.5.1"
+      sources."moment-2.24.0"
+      sources."moment-timezone-0.5.26"
+      sources."move-concurrently-1.0.1"
+      sources."ms-2.0.0"
+      sources."multicast-dns-6.2.3"
+      sources."multicast-dns-service-types-1.1.0"
+      sources."mz-2.7.0"
+      sources."nan-2.14.0"
+      (sources."nanomatch-1.2.13" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."natural-compare-1.4.0"
+      sources."negotiator-0.6.2"
+      sources."neo-async-2.6.1"
+      sources."next-tick-1.0.0"
+      sources."nice-try-1.0.5"
+      sources."node-forge-0.8.5"
+      sources."node-int64-0.4.0"
+      sources."node-jose-1.1.3"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."node-modules-regexp-1.0.0"
+      sources."node-notifier-5.4.3"
+      sources."nopt-4.0.1"
+      sources."normalize-package-data-2.5.0"
+      sources."normalize-path-2.1.1"
+      sources."normalize-url-2.0.1"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."nwsapi-2.1.4"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+        ];
+      })
+      sources."object-hash-1.3.1"
+      sources."object-inspect-1.6.0"
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.pick-1.3.0"
+      sources."obuf-1.1.2"
+      sources."oidc-token-hash-3.0.2"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."only-0.0.2"
+      sources."opener-1.5.1"
+      sources."openid-client-2.5.0"
+      sources."opn-5.5.0"
+      sources."optimist-0.6.1"
+      (sources."optionator-0.8.2" // {
+        dependencies = [
+          sources."wordwrap-1.0.0"
+        ];
+      })
+      sources."ora-3.4.0"
+      sources."original-1.0.2"
+      sources."os-browserify-0.3.0"
+      sources."os-homedir-1.0.2"
+      sources."os-locale-3.1.0"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-any-1.1.0"
+      sources."p-cancelable-0.4.1"
+      sources."p-defer-1.0.0"
+      sources."p-each-series-1.0.0"
+      sources."p-finally-1.0.0"
+      sources."p-is-promise-1.1.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-map-2.1.0"
+      sources."p-reduce-1.0.0"
+      sources."p-retry-3.0.1"
+      sources."p-some-2.0.1"
+      sources."p-timeout-2.0.1"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.10"
+      sources."parallel-transform-1.2.0"
+      sources."parse-asn1-5.1.5"
+      sources."parse-json-4.0.0"
+      sources."parse-passwd-1.0.0"
+      sources."parse5-4.0.0"
+      sources."parseurl-1.3.3"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-0.0.1"
+      sources."path-dirname-1.0.2"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      (sources."path-to-regexp-1.7.0" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+        ];
+      })
+      sources."path-type-3.0.0"
+      sources."pbkdf2-3.0.17"
+      sources."performance-now-2.1.0"
+      sources."pify-3.0.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pirates-4.0.1"
+      (sources."pkg-dir-2.0.0" // {
+        dependencies = [
+          sources."find-up-2.1.0"
+          sources."locate-path-2.0.0"
+          sources."p-limit-1.3.0"
+          sources."p-locate-2.0.0"
+          sources."p-try-1.0.0"
+        ];
+      })
+      sources."pn-1.1.0"
+      (sources."portfinder-1.0.24" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."posix-character-classes-0.1.1"
+      sources."prelude-ls-1.1.2"
+      sources."prepend-http-2.0.0"
+      sources."prettier-1.18.2"
+      sources."pretty-2.0.0"
+      sources."pretty-format-24.9.0"
+      sources."private-0.1.8"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."promise-7.3.1"
+      sources."promise-inflight-1.0.1"
+      sources."prompts-2.2.1"
+      sources."proto-list-1.2.4"
+      sources."proxy-addr-2.0.5"
+      sources."prr-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."psl-1.4.0"
+      sources."public-encrypt-4.0.3"
+      sources."pug-2.0.4"
+      sources."pug-attrs-2.0.4"
+      sources."pug-code-gen-2.0.2"
+      sources."pug-error-1.3.3"
+      sources."pug-filters-3.1.1"
+      sources."pug-lexer-4.1.0"
+      sources."pug-linker-3.0.6"
+      sources."pug-load-2.0.12"
+      sources."pug-parser-5.0.1"
+      sources."pug-runtime-2.0.5"
+      sources."pug-strip-comments-1.0.4"
+      sources."pug-walk-1.1.8"
+      sources."pump-3.0.0"
+      (sources."pumpify-1.5.1" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      sources."query-string-5.1.1"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      sources."querystringify-2.1.1"
+      sources."randombytes-2.1.0"
+      sources."randomfill-1.0.4"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.1"
+      sources."react-is-16.10.2"
+      sources."read-pkg-3.0.0"
+      sources."read-pkg-up-4.0.0"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."readdirp-2.2.1"
+      sources."realpath-native-1.1.0"
+      sources."rechoir-0.6.2"
+      sources."regenerate-1.4.0"
+      sources."regenerator-runtime-0.11.1"
+      sources."regenerator-transform-0.10.1"
+      (sources."regex-not-1.0.2" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."regexpu-core-2.0.0"
+      sources."regjsgen-0.2.0"
+      (sources."regjsparser-0.1.5" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."repeating-2.0.1"
+      sources."request-2.88.0"
+      sources."request-promise-core-1.1.2"
+      sources."request-promise-native-1.0.7"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."requires-port-1.0.0"
+      sources."resolve-1.12.0"
+      sources."resolve-cwd-2.0.0"
+      (sources."resolve-dir-1.0.1" // {
+        dependencies = [
+          sources."global-modules-1.0.0"
+        ];
+      })
+      sources."resolve-from-3.0.0"
+      (sources."resolve-path-1.4.0" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."resolve-url-0.2.1"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-2.0.0"
+      sources."ret-0.1.15"
+      sources."retry-0.12.0"
+      sources."right-align-0.1.3"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."rsvp-4.8.5"
+      sources."run-queue-1.0.3"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      (sources."sane-4.1.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."sax-1.2.4"
+      sources."schema-utils-1.0.0"
+      sources."select-hose-2.0.0"
+      (sources."selfsigned-1.10.7" // {
+        dependencies = [
+          sources."node-forge-0.9.0"
+        ];
+      })
+      sources."semver-5.7.1"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serialize-javascript-1.9.1"
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."set-value-2.0.1"
+      sources."setimmediate-1.0.5"
+      sources."setprototypeof-1.1.1"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shelljs-0.8.3"
+      sources."shellwords-0.1.1"
+      sources."sigmund-1.0.1"
+      sources."signal-exit-3.0.2"
+      sources."simple-git-1.96.0"
+      sources."sisteransi-1.0.3"
+      sources."slash-1.0.0"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."snapdragon-util-3.0.1"
+      sources."sockjs-0.3.19"
+      (sources."sockjs-client-1.4.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."faye-websocket-0.11.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."sort-keys-2.0.0"
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.6.1"
+      sources."source-map-resolve-0.5.2"
+      sources."source-map-support-0.5.13"
+      sources."source-map-url-0.4.0"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.5"
+      (sources."spdy-4.0.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."spdy-transport-3.0.0" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          sources."readable-stream-3.4.0"
+        ];
+      })
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.16.1"
+      sources."ssri-5.3.0"
+      sources."stack-utils-1.0.2"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."statuses-1.5.0"
+      sources."stealthy-require-1.1.1"
+      sources."stream-browserify-2.0.2"
+      sources."stream-each-1.2.3"
+      sources."stream-http-2.8.3"
+      sources."stream-shift-1.0.0"
+      sources."strict-uri-encode-1.1.0"
+      (sources."string-length-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."string-width-3.1.0"
+      sources."string.prototype.trimleft-2.1.0"
+      sources."string.prototype.trimright-2.1.0"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-ansi-5.2.0"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."supports-color-5.5.0"
+      sources."symbol-tree-3.2.4"
+      sources."tapable-1.1.3"
+      sources."terser-4.3.8"
+      (sources."terser-webpack-plugin-1.4.1" // {
+        dependencies = [
+          sources."cacache-12.0.3"
+          sources."find-cache-dir-2.1.0"
+          sources."make-dir-2.1.0"
+          sources."mississippi-3.0.0"
+          sources."pify-4.0.1"
+          sources."pkg-dir-3.0.0"
+          sources."ssri-6.0.1"
+        ];
+      })
+      sources."test-exclude-5.2.3"
+      sources."thenify-3.3.0"
+      sources."thenify-all-1.6.0"
+      sources."throat-4.1.0"
+      sources."through2-2.0.5"
+      sources."thunky-1.0.3"
+      sources."timed-out-4.0.1"
+      sources."timers-browserify-2.0.11"
+      sources."tmpl-1.0.4"
+      sources."to-arraybuffer-1.0.1"
+      sources."to-fast-properties-1.0.3"
+      sources."to-object-path-0.3.0"
+      (sources."to-regex-3.0.2" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."to-regex-range-2.1.1"
+      sources."toidentifier-1.0.0"
+      sources."token-stream-0.0.1"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tr46-1.0.1"
+      sources."trim-right-1.0.1"
+      sources."tryer-1.0.1"
+      (sources."ts-jest-24.1.0" // {
+        dependencies = [
+          sources."camelcase-4.1.0"
+          sources."json5-2.1.1"
+          sources."minimist-1.2.0"
+          sources."yargs-parser-10.1.0"
+        ];
+      })
+      sources."tslib-1.10.0"
+      sources."tty-browserify-0.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-1.2.0"
+      sources."type-check-0.3.2"
+      sources."type-is-1.6.18"
+      sources."typedarray-0.0.6"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."typescript-3.6.3"
+      sources."typical-4.0.0"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."underscore-1.9.1"
+      sources."union-value-1.0.1"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
+      sources."unpipe-1.0.0"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+        ];
+      })
+      sources."upath-1.2.0"
+      sources."uri-js-4.2.2"
+      sources."urijs-1.19.1"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."url-parse-1.4.7"
+      sources."url-parse-lax-3.0.0"
+      sources."url-to-options-1.0.1"
+      sources."use-3.1.1"
+      (sources."util-0.11.1" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.0.0"
+      sources."utils-merge-1.0.1"
+      sources."uuid-3.3.3"
+      sources."v8-compile-cache-2.0.3"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vary-1.1.2"
+      sources."verror-1.10.0"
+      sources."vm-browserify-1.1.0"
+      sources."void-elements-2.0.1"
+      sources."w3c-hr-time-1.0.1"
+      sources."walker-1.0.7"
+      sources."watchpack-1.6.0"
+      sources."wbuf-1.7.3"
+      sources."wcwidth-1.0.1"
+      sources."webidl-conversions-4.0.2"
+      (sources."webpack-4.41.0" // {
+        dependencies = [
+          sources."acorn-6.3.0"
+        ];
+      })
+      (sources."webpack-bundle-analyzer-3.5.2" // {
+        dependencies = [
+          sources."acorn-6.3.0"
+        ];
+      })
+      (sources."webpack-cli-3.3.9" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."supports-color-6.1.0"
+          sources."yargs-13.2.4"
+        ];
+      })
+      (sources."webpack-dev-middleware-3.7.2" // {
+        dependencies = [
+          sources."mime-2.4.4"
+          sources."webpack-log-2.0.0"
+        ];
+      })
+      (sources."webpack-dev-server-3.8.2" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."camelcase-5.3.1"
+          (sources."cliui-4.1.0" // {
+            dependencies = [
+              sources."ansi-regex-3.0.0"
+              sources."strip-ansi-4.0.0"
+            ];
+          })
+          sources."debug-4.1.1"
+          sources."get-caller-file-1.0.3"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."ms-2.1.2"
+          sources."require-main-filename-1.0.1"
+          sources."semver-6.3.0"
+          (sources."string-width-2.1.1" // {
+            dependencies = [
+              sources."ansi-regex-3.0.0"
+              sources."is-fullwidth-code-point-2.0.0"
+              sources."strip-ansi-4.0.0"
+            ];
+          })
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-6.1.0"
+          sources."webpack-log-2.0.0"
+          (sources."wrap-ansi-2.1.0" // {
+            dependencies = [
+              sources."string-width-1.0.2"
+            ];
+          })
+          sources."yargs-12.0.5"
+          sources."yargs-parser-11.1.1"
+        ];
+      })
+      sources."webpack-log-1.2.0"
+      sources."webpack-sources-1.4.3"
+      (sources."websocket-1.0.30" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."websocket-driver-0.7.3"
+      sources."websocket-extensions-0.1.3"
+      sources."whatwg-encoding-1.0.5"
+      sources."whatwg-mimetype-2.3.0"
+      sources."whatwg-url-6.5.0"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      sources."window-size-0.1.0"
+      sources."with-5.1.1"
+      sources."wordwrap-0.0.2"
+      sources."worker-farm-1.7.0"
+      sources."wrap-ansi-5.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-2.4.1"
+      sources."ws-6.2.1"
+      sources."xml-name-validator-3.0.0"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yaeti-0.0.6"
+      sources."yallist-3.1.1"
+      sources."yargs-3.10.0"
+      (sources."yargs-parser-13.1.1" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
+      sources."ylru-1.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      license = "MIT";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/networking/cluster/spacegun/package.json b/nixpkgs/pkgs/applications/networking/cluster/spacegun/package.json
new file mode 100644
index 000000000000..7d419edb74a2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/spacegun/package.json
@@ -0,0 +1,3 @@
+[
+  { "spacegun": "git+https://github.com/dvallin/spacegun.git#v0.3.3" }
+]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix
index e675d17491af..b8d4b947e324 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix
@@ -1,26 +1,18 @@
 { stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
 , RSupport? true, R
 , mesosSupport ? true, mesos
-, version
 }:
 
-let
-  sha256 = {
-    "1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
-    "2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c"; 
-  }.${version};
-in
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
 
   pname = "spark";
-  inherit version;
+  version = "2.4.4";
 
   src = fetchzip {
-    inherit sha256;
     url    = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
+    sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g"; 
   };
 
   buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix
index 6973938b60de..32f6680b2f8b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix
@@ -11,7 +11,7 @@ bundlerApp {
   meta = with lib; {
     description = "Improve Terraform's plan output to be easier to read and understand";
     homepage    = https://github.com/coinbase/terraform-landscape;
-    license     = with licenses; apsl20;
+    license     = with licenses; asl20;
     maintainers = with maintainers; [ mbode manveru nicknovitski ];
     platforms   = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix
index 16056d9185b5..cd37083d9359 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -4,27 +4,31 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-acme";
-      version = "1.3.5";
-      sha256  = "0xjxxz3vxq7vk7sv6b5p57z5x92dmrm44v6ksffcg76ngc40nrxk";
+      rev     = "v1.5.0";
+      version = "1.5.0";
+      sha256  = "1h53bgflchavnn4laf801d920bsgqqg0ph4slnf7y1fpb0mz5vdv";
     };
   alicloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.54.0";
-      sha256  = "01pmhwdnhfsk785ja11hxn5l5fmklnkiv12kv2pw2280cdljfcv4";
+      rev     = "v1.63.0";
+      version = "1.63.0";
+      sha256  = "0353zsga4ic7rsgnk243v202l4hpy0xlzp95fnbmrz7p5wy2k8js";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.2.2";
-      sha256  = "1saprj2r74b63z03n80m3mfj3vhgvlm4gp2hzqzjbdgibxsz4jaw";
+      rev     = "v1.3.0";
+      version = "1.3.0";
+      sha256  = "1hwg8ai4bvsmgnl669608lr4v940xnyig1xshps490f47c8hqy6y";
     };
   arukas =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-arukas";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99";
     };
@@ -32,6 +36,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-atlas";
+      rev     = "v0.1.1";
       version = "0.1.1";
       sha256  = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14";
     };
@@ -39,41 +44,47 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "2.23.0";
-      sha256  = "0yscy0qmdl07air0b16i6zd0w8y3z20pk5l53pwm78ssdxn3w6qc";
+      rev     = "v2.41.0";
+      version = "2.41.0";
+      sha256  = "0i9bh78ihmxj7hjbqzkkj7k6lvr3xdakf8qv0bfckcinwpzwzbxa";
     };
   azuread =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azuread";
-      version = "0.5.1";
-      sha256  = "0bjy6wdfzsxchqclgp7c06b49b5h60nips69hcpwd45564iql5fh";
+      rev     = "v0.7.0";
+      version = "0.7.0";
+      sha256  = "1a7w31dvjz5498445ia4m5gd1js3k7ghz6qqfq51f2n86iafs0xq";
     };
   azurerm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.32.1";
-      sha256  = "0ydzibmvz52i62pk0g96rl7vxhff5izrsgdwk6lgc56nw63w2l8g";
+      rev     = "v1.37.0";
+      version = "1.37.0";
+      sha256  = "0n0582v8g3np8glyxnpnayps014jxclzrglcxf35wszfz9mspryg";
     };
   azurestack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurestack";
-      version = "0.8.1";
-      sha256  = "1sbmjrqzzn8rf9xhaax2ykyg199sggx80apx0xvd4ab82c3ldyfw";
+      rev     = "v0.9.0";
+      version = "0.9.0";
+      sha256  = "1msm7jwzry0vmas3l68h6p0migrsm6d18zpxcncv197m8xbvg324";
     };
   bigip =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bigip";
-      version = "0.12.3";
-      sha256  = "1zlwk7jp5r45b3rwkxsq9mqf4nym3ifx56vhcvyc9a3w25s0ss8p";
+      rev     = "v1.1.0";
+      version = "1.1.0";
+      sha256  = "15fmxr1c39xx6ix38nigf8izrqzlmjjr6hvlkf7yhb5z7485nvsg";
     };
   bitbucket =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bitbucket";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "06bjagbgpgfphwym015wl00wx6qf7lsdig0fhpxqaykvlkn3sg49";
     };
@@ -81,6 +92,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-brightbox";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "0s1b2k58r2kmjrdqrkw2dlfpby79i81gml9rpa10y372bwq314zd";
     };
@@ -88,6 +100,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-chef";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "0ihn4706fflmf0585w22l7arzxsa9biq4cgh8nlhlp5y0zy934ns";
     };
@@ -95,13 +108,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-circonus";
-      version = "0.2.0";
-      sha256  = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45";
+      rev     = "v0.4.0";
+      version = "0.4.0";
+      sha256  = "0iz7v7gfjgbca47vjnvcv9159kgladkad7cmjw2hpncrn2jjinwg";
     };
   clc =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-clc";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0gvsjnwk6xkgxai1gxsjf0hsjxbv8d8jg5hq8yd3hjhc6785fgnf";
     };
@@ -109,20 +124,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "1.17.1";
-      sha256  = "0kmkk5fhgsvjakqrfs7p92dcljn04asxq15af1r9n5csq54q7na3";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "1ll06p4fz88mr4a51rqgvxykivx9xina6507mflyxaic59xlkdz4";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "2.0.0";
-      sha256  = "145hj4pbi5zrkgamicy3m1n3380fpd2ndd6ym7mwd65d95g39vwb";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "12vxzhpsivvq343mqkmnwklvnv6dc9h2ah0ixla9svdwjp91xfcd";
     };
   cloudstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudstack";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "0zmyww6z3j839ydlmv254hr8gcsixng4lcvmiwkhxb3hj1nw8hcw";
     };
@@ -130,6 +148,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cobbler";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "08ljqibfi6alpvv8f7pzvjl2k4w6br6g6ac755x4xw4ycrr24xw9";
     };
@@ -137,27 +156,31 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-consul";
-      version = "2.5.0";
-      sha256  = "1nmldxn4y87fyb308dajjzcyvxrr6ka5nicyw84a8s7pixzbqh6q";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "1c7qpgf2vh4crs69alzwwaicsz29b2y72x4xjmfb9dg5cy7gk1i5";
     };
   datadog =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "2.1.0";
-      sha256  = "0k7apad2r07gw9kf0zzqc8wa2wcmxihi3x8sdssl32qjib20qwv1";
+      rev     = "v2.5.0";
+      version = "2.5.0";
+      sha256  = "0l5jix165ghfj72l3mr76d5b5lx5pgr45zimk8lr0fwn79f4bs74";
     };
   digitalocean =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-digitalocean";
-      version = "1.6.0";
-      sha256  = "06cxm3qcym8jwp4nl1bzk3p9fbaz26bvddqzn3p8l57c802qqds6";
+      rev     = "v1.11.0";
+      version = "1.11.0";
+      sha256  = "0s8z0zsfibclx0431fcqbi9yqkhwj4w0rz780z1dwv50xpgnmzql";
     };
   dme =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dme";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv";
     };
@@ -165,6 +188,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dns";
+      rev     = "v2.2.0";
       version = "2.2.0";
       sha256  = "11xdxj6hfclaq9glbh14nihmrsk220crm9ld8bdv77w0bppmrrch";
     };
@@ -172,6 +196,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dnsimple";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "0jj82fffqaz7gramj5d4avx7vka6w190yz4r9q7628qh8ih2pfhz";
     };
@@ -179,13 +204,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-docker";
-      version = "2.1.1";
-      sha256  = "0px3xj76ay5ixpmynas49z31xmk4zmpn0917y6a20kr2x2abi9zb";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "12qq7m75yxfczik78klqaimrzhp70m2vk5q0h3v8b2dwvvynj0dg";
     };
   dyn =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dyn";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "1a3kxmbib2y0nl7gnxknbhsflj5kfknxnm3gjxxrb2h5d2kvqy48";
     };
@@ -193,6 +220,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-external";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "1kx28bffhd1pg3m0cbldclc8l9zic16mqrk7gybcls9vyds5gbvc";
     };
@@ -200,48 +228,55 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-fastly";
-      version = "0.9.0";
-      sha256  = "0g3rgi6s9hyb6vzl682n8zqz5virdxvxh04v88n9iy5r7hwrxxzg";
+      rev     = "v0.11.0";
+      version = "0.11.0";
+      sha256  = "0wq8l1lkfpv5nfd04dsjaa9wv09373i6wwnapifx1wncjyhs4jd4";
     };
   flexibleengine =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-flexibleengine";
-      version = "1.6.0";
-      sha256  = "0vz68nhpy93zsdssxzr41flrwhjqh7wcjrc4nklg6kmr99n6jcc6";
+      rev     = "v1.9.0";
+      version = "1.9.0";
+      sha256  = "1y66xy5yqdjdrh3zkw1q7ml5b2rsyy4ayc4m026c4mmh0x1vfk9y";
     };
   github =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-github";
-      version = "2.2.0";
-      sha256  = "1h44v7428z3v3hv6ywi3n0yhnvgx9cr6vgqb1n2w1qf7k2f0jkzx";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "1dg5jgd3cdz98wfd71l58wsp949mvs2lrcqh1amgql0s90pwjmvg";
     };
   gitlab =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-gitlab";
-      version = "2.2.0";
-      sha256  = "0iz5ggjkcip86cz2zmsryad34hly542grwzlm5rvpcmfw5csjadw";
+      rev     = "v2.4.0";
+      version = "2.4.0";
+      sha256  = "0409n8miva205wkx968ggzmz0y121s99iybsjlkx0gja20x68yxx";
     };
   google =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "2.12.0";
-      sha256  = "15fdpmdikm77hlfksdbcblysb82sd51vw4ninx60hzgddqp6ll4m";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "1b19hql244lv74gxdwgqh9955d3zkwj7riaq6kj5ylbj44spcpjy";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      version = "2.12.0";
-      sha256  = "11aky7jvm7i39pnj3ypy42d9yk9akqb3wjb03hyllzfddwhvay5q";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "0zkhyn17kji6yyl5582g5vhqj3rcbin73ym6vn6f0m7sf5yaplky";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
+      rev     = "v1.5.0";
       version = "1.5.0";
       sha256  = "0zy3bqgpxymp2zygaxzllk1ysdankwxa1sy1djfgr4fs2nlggkwi";
     };
@@ -249,34 +284,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hcloud";
-      version = "1.12.0";
-      sha256  = "1r61s7chq636fcjv67g0vjlc35xx0ycy58hg6b5i5rdc9737v7hp";
+      rev     = "v1.15.0";
+      version = "1.15.0";
+      sha256  = "0l554mf6s248j0453b4r5pafshcvhn2smk4pp23y9kq5g1xd0xmd";
     };
   hedvig =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hedvig";
-      version = "1.0.4";
-      sha256  = "0y6brzznxp8khdfbnpmnbjqf140411z0pvnp88p8mj2kmbk7kkjd";
+      rev     = "v1.0.5";
+      version = "1.0.5";
+      sha256  = "0dic4kqjwi3s8pss1pmgixnr7xi503gl5i7pcx66fam5y5ar92v5";
     };
   helm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-helm";
-      version = "0.10.2";
-      sha256  = "1xp8dx6ncskmfa9bjd54434f4a7pnjz5r3yvnh1hmv3i5ykfxzdn";
+      rev     = "v0.10.4";
+      version = "0.10.4";
+      sha256  = "0xl0wgh1j6yhymadqvlj21qddxfzaxk3d5wpzskfmhfk732795rc";
     };
   heroku =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "2.1.2";
-      sha256  = "0n8id5rw4hzsiic9yv4rzm709npagv9sfp6dd1ax6np5kai78b87";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "145kfm4asca0ksprb076mjdhs5ahrlrad8cqz8spxra5fa3j46sq";
     };
   http =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-http";
+      rev     = "v1.1.1";
       version = "1.1.1";
       sha256  = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0";
     };
@@ -284,13 +324,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-huaweicloud";
-      version = "1.7.0";
-      sha256  = "1yhyyh33hvzs74pryb383p1w0c0d4vn23pnm6snxi1cw49wgiiyf";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "0aa83y0bzfldijd4jbmhqppc13jdqaax83p75kffwaxw1rmxrana";
     };
   icinga2 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-icinga2";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "02ladn2w75k35vn8llj3zh9hbpnnnvpm47c9f29zshfs04acwbq0";
     };
@@ -298,13 +340,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ignition";
-      version = "1.1.0";
-      sha256  = "0vpjbb70wnlrvw7z2zc92fbisgjk49ivdmv10ahyqlgvc23js5va";
+      rev     = "v1.2.0";
+      version = "1.2.0";
+      sha256  = "0dg5xak02rv7h9z07kjqxf55al188ligzq3m6711rlh62zam2cjc";
     };
   influxdb =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-influxdb";
+      rev     = "v1.3.0";
       version = "1.3.0";
       sha256  = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9";
     };
@@ -312,13 +356,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.8.1";
-      sha256  = "0jcc3i10x0qz7sj8l5yv98jc2g32a6yhdpc45sq33wmhcvp1fsn4";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "04hd9n9jm72fi81cmdz0yf374fg52r8yinsxy0ag29rd3r2l1k81";
     };
   librato =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-librato";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923";
     };
@@ -326,20 +372,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-linode";
-      version = "1.8.0";
-      sha256  = "1jgh2ij58a5mr6ns604cfpvfvr19qr0q51j57gvchz53iv683m9q";
+      rev     = "v1.9.1";
+      version = "1.9.1";
+      sha256  = "10f7nij91fhgf1808r6rv3l13nz7p37mcln5p3nfvhsxskss3vxn";
     };
   local =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-local";
-      version = "1.3.0";
-      sha256  = "1z6b52vdq7wzzipldys28z45glwgj9k15ighjix1dy78mzi0p99n";
+      rev     = "v1.4.0";
+      version = "1.4.0";
+      sha256  = "1k1kbdn99ypn1pi6vqbs1l9a8vvf4vs32wl8waa16i26514sz1wk";
     };
   logentries =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logentries";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
     };
@@ -347,6 +396,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logicmonitor";
+      rev     = "v1.2.1";
       version = "1.2.1";
       sha256  = "1fcv5g92l6xr4x69h9rg48zazjr99wrz9mkmr122fyq9s7kdd98y";
     };
@@ -354,20 +404,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mailgun";
-      version = "0.1.0";
-      sha256  = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj";
+      rev     = "v0.4.1";
+      version = "0.4.1";
+      sha256  = "1l76pg4hmww9zg2n4rkhm5dwjh42fxri6d41ih1bf670krkxwsmz";
     };
   mysql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      version = "1.7.0";
-      sha256  = "19l1ihp5jlaahm8zncjlrnfw8d8gcpnq3z6pn421j1x0d5v5vw9b";
+      rev     = "v1.9.0";
+      version = "1.9.0";
+      sha256  = "14gxxki3jhncv3s2x828ns2vgmf2xxzigdyp9b54mbkw5rnv1k2g";
     };
   netlify =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-netlify";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "0mmbli6d3fbpyvvdfsg32f1w83g8ga3x21b36rgmx3mn156r7yij";
     };
@@ -375,34 +428,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-newrelic";
-      version = "1.5.1";
-      sha256  = "1xrwh9m1sig4hd2vvb7apy2gh8rz15wdrajggzmmpc1z1rlhf90p";
+      rev     = "v1.8.0";
+      version = "1.8.0";
+      sha256  = "16fdif6hshdb1aswv22k590rcr3f6b3a9gmg8vc4lbyi6l2dfabd";
     };
   nomad =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nomad";
-      version = "1.4.1";
-      sha256  = "1v4wwinnb2qc71jgil4607kgdccjivssabqgb5l3yk8pwfidgdnr";
+      rev     = "v1.4.2";
+      version = "1.4.2";
+      sha256  = "0h0snkzqdi4g5lp78f5pq98x6556ldwgkg9p9jkmrg04y7928w5v";
     };
   ns1 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "1.5.0";
-      sha256  = "1m6f1hsx2gcb5b50sm8cj04hkmn71xlxji8qwlswasz2sg1sllrx";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "0zyn165h42p640k1q85x3n8fw1fs9j72z9lnfa8pas89jy2fmi8b";
     };
   nsxt =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nsxt";
-      version = "1.1.1";
-      sha256  = "19bbycify25bshpyq65qjxnl72b6wmwwwdb7hxl94hhbgx2c9z29";
+      rev     = "v1.1.2";
+      version = "1.1.2";
+      sha256  = "1hnxivad7371j363sp3460mfzl5alb3dhxsbp0qwfl5mzvriwrbl";
     };
   null =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-null";
+      rev     = "v2.1.2";
       version = "2.1.2";
       sha256  = "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2";
     };
@@ -410,20 +468,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nutanix";
-      version = "1.0.1";
-      sha256  = "1g7p6qg32g75x8fgspgxcdsa086mz3yabdgv1k68rykhw3zbri5d";
+      rev     = "v1.0.2";
+      version = "1.0.2";
+      sha256  = "17sgsxsh8minirks08c6gz52cf7ndn220sx4xzi6bq64yi6qw2yc";
     };
   oci =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      version = "3.37.0-rc1";
-      sha256  = "0ahqnh9qzixp434qn2ckj8p32kb9x26l1xz8yr84h6sqfrn58bcv";
+      rev     = "v3.54.0-rc1";
+      version = "3.54.0-rc1";
+      sha256  = "14mfkjjpq4sfw0j4w1mnh37x9kwn76rs1y6cjqq9zb8fnhva6gax";
     };
   oneandone =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oneandone";
+      rev     = "v1.3.0";
       version = "1.3.0";
       sha256  = "0c412nqg3k17124i51nn3ffra6gcll904h37h7hyvz97cdblcncn";
     };
@@ -431,6 +492,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
+      rev     = "v1.3.7";
       version = "1.3.7";
       sha256  = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w";
     };
@@ -438,34 +500,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.21.1";
-      sha256  = "0nvhn2bnk11sz4i98yw7rpxi8b3c2y04qq37ybvqx2jyi3n9kj30";
+      rev     = "v1.24.0";
+      version = "1.24.0";
+      sha256  = "1w82ix6l6ad7q0zl00hys8c4gm27nnk12wm2n8i3prwpjnrar70m";
     };
   opentelekomcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opentelekomcloud";
-      version = "1.11.0";
-      sha256  = "175j2bbw3bdbjq1b7b1kwsr8iay9aafz165d0brfpb8gf096y7xa";
+      rev     = "v1.14.0";
+      version = "1.14.0";
+      sha256  = "1mjb6br8iy76q417lmg04xnv4hkgi2fgdn3qnr3nvlwnnccp230k";
     };
   opsgenie =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opsgenie";
-      version = "0.1.0";
-      sha256  = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm";
+      rev     = "v0.2.5";
+      version = "0.2.5";
+      sha256  = "0brjqnlnxqss285n2g1z006bibbdh5v47g75l5kyhyhhchavccma";
     };
   oraclepaas =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oraclepaas";
-      version = "1.5.2";
-      sha256  = "0m886wfg5ski8s1zr7g1h1m6q5ai08jk35ymipxpb6ipx781qvvk";
+      rev     = "v1.5.3";
+      version = "1.5.3";
+      sha256  = "0xb03b5jgm06rgrllib6zj1nkh54zv2mqjnyfflgnazpf4c1ia15";
     };
   ovh =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ovh";
+      rev     = "v0.5.0";
       version = "0.5.0";
       sha256  = "07n8ismxbv0gngh4kibqhr4ndqkrg6gxbpj3zl764rrwp54gwgbw";
     };
@@ -473,41 +540,47 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "2.3.0";
-      sha256  = "1v2758wjhrn7rhwdx658w3sf1q5lp4cawl6llbv4p16c5fyzwwc2";
+      rev     = "v2.7.1";
+      version = "2.7.1";
+      sha256  = "1hmja9c8ab66yr814psz1zsa4y0nbmd5rcnp3qxdgizp45yrvz3i";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "1.3.1";
-      sha256  = "1x29ya0xcjj2b3x2q2q7iyqric8vswf18a5bwhwv2017c1g4n299";
+      rev     = "v1.4.1";
+      version = "1.4.1";
+      sha256  = "0dmafnlziyczad907isjqzsn1fyjzc8pdigp3m6114bbnca0ry5k";
     };
   panos =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-panos";
-      version = "1.5.2";
-      sha256  = "0sycgr4k4dlhxj5klmgg2xcw3xha06332ij8cfzz4xvgdq0xky3j";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "06hwi426x7ipmn4dbg5dyv9z84sxaa8q1jlcd2l264n9s2y3xhiq";
     };
   postgresql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-postgresql";
-      version = "1.1.0";
-      sha256  = "1dxspqajfy8dmplasazi4s34f47n1qz7qg2dr9ypdvd3jp63072w";
+      rev     = "v1.3.0";
+      version = "1.3.0";
+      sha256  = "14ma5lm6ng52dfl8bl4rmpy8ylnkbvnbskvkr6r5sn28x51p601y";
     };
   powerdns =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-powerdns";
-      version = "1.0.0";
-      sha256  = "1qh4z69b0sqxwjjgc8xis165gdszav9yc85ba6pgyl3wbymkld30";
+      rev     = "v1.2.0";
+      version = "1.2.0";
+      sha256  = "1108hq4z4is305hnbkn95gv0f5lx5l27wvxvq0g03fcdqdimkrfn";
     };
   profitbricks =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
+      rev     = "v1.4.4";
       version = "1.4.4";
       sha256  = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i";
     };
@@ -515,6 +588,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rabbitmq";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "0xihc44923kx8c3v6wrvczzbhmbjkhy7dhgx3sy5sqhmm22y0gys";
     };
@@ -522,6 +596,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rancher";
+      rev     = "v1.4.0";
       version = "1.4.0";
       sha256  = "106arszmdjmgrz4iv01bbf72jarn7zjqvmc43b6n1s3lzd7jnfpc";
     };
@@ -529,13 +604,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "2.2.0";
-      sha256  = "0vg33jbvyxvg4dwcwjb2p57jjkq7qj50d356r4a1f2ysl2axwwjw";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "1qklsxj443vsj61lwl7qf7xwgnllwcvb2yk6s0kn9g3iq63pcv30";
     };
   rightscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rightscale";
+      rev     = "v1.3.1";
       version = "1.3.1";
       sha256  = "0abwxaghrxpahpsk6kd02fjh0rhck4xsdrzcpv629yh8ip9rzcaj";
     };
@@ -543,6 +620,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rundeck";
+      rev     = "v0.4.0";
       version = "0.4.0";
       sha256  = "1x131djsny8w84yf7w2il33wlc3ysy3k399dziii2lmq4h8sgrpr";
     };
@@ -550,6 +628,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-runscope";
+      rev     = "v0.6.0";
       version = "0.6.0";
       sha256  = "1fsph2cnyvzdwa5hwdjabfk4azmc3x8a7afpwpawxfdvqhgpr595";
     };
@@ -557,20 +636,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "1.10.0";
-      sha256  = "0sbcvcd413f53b25piymmh4rfmlmqsxdscpar8gf2dx6mrsacgf0";
+      rev     = "v1.12.0";
+      version = "1.12.0";
+      sha256  = "0044fq5jkdx2ryc2bxqajkrngs6z81kd2narg4zxvfn0r1bfswvc";
     };
   selectel =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-selectel";
-      version = "2.3.0";
-      sha256  = "0n0nqlajcx44zxbc2k58lv3jy2y6p9zqkby2vy5a2856kcksm7pf";
+      rev     = "v3.0.0";
+      version = "3.0.0";
+      sha256  = "0fr97j85inaqvdqmlfk3xcq73zvncn001nsd03pp2ws30qqa8p7r";
     };
   skytap =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-skytap";
+      rev     = "v0.11.1";
       version = "0.11.1";
       sha256  = "1mlv6jp6lp47chcnsmx8dzy01bxpb9jx1wl122lxd88app9nxq1k";
     };
@@ -578,6 +660,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-softlayer";
+      rev     = "v0.0.1";
       version = "0.0.1";
       sha256  = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq";
     };
@@ -585,13 +668,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-spotinst";
-      version = "1.13.3";
-      sha256  = "0s75xlw8y3rz1ik11dnh3dzkk1jfklvq3wsf2fam0789z2j1zr1m";
+      rev     = "v1.13.4";
+      version = "1.13.4";
+      sha256  = "063lhm065y6qh9b2k11qjnqyfg5zrx6wa3bqrm7d1dqcha1i6d9f";
     };
   statuscake =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-statuscake";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "1x295va6c72465cxps0kx3rrb7s9aip2cniy6icsg1b2yrsb9b26";
     };
@@ -599,6 +684,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-telefonicaopencloud";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "1761wkjz3d2458xl7855lxklyxgyk05fddh92rp6975y0ca6xa5m";
     };
@@ -606,6 +692,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-template";
+      rev     = "v2.1.2";
       version = "2.1.2";
       sha256  = "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q";
     };
@@ -613,13 +700,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      version = "1.15.0";
-      sha256  = "1ics91fxsl1z1wqd961wdn2s22ck25yphp341qlbs8ln2dcwk8r7";
+      rev     = "v1.25.2";
+      version = "1.25.2";
+      sha256  = "1pf4l9rvkarl4vhf51np4kdqcgs4jhsr5gw7vs6rn8gv97lb40kw";
     };
   terraform =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-terraform";
+      rev     = "v1.0.2";
       version = "1.0.2";
       sha256  = "1aj6g6l68n9kqmxfjlkwwxnac7fhha6wrmvsw4yylf0qyssww75v";
     };
@@ -627,34 +716,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tfe";
-      version = "0.10.1";
-      sha256  = "09hrdschgydnziq1sv6ql7gc4qwx8j4dnmx4fdw8452qpszk17n2";
+      rev     = "v0.11.1";
+      version = "0.11.1";
+      sha256  = "0iagddaivpd7cxgf8ha2pk0m66gi4a804s86fsxla0j1knmmyra0";
     };
   tls =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "2.0.1";
-      sha256  = "08fh4k5fvkijl2ds8mxdc5fxlwhs11y5s48vvxdskklvkjhygzc7";
+      rev     = "v2.1.1";
+      version = "2.1.1";
+      sha256  = "1qsx540pjcq4ra034q2dwnw5nmzab5h1c3vm20ppg5dkhhyiizq8";
     };
   triton =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.5.1";
-      sha256  = "1bn5x6nmhfkrzpxhyfclls85l9qqffvzx1xsgcb3368lhwzarn2f";
+      rev     = "v0.6.0";
+      version = "0.6.0";
+      sha256  = "10z032fa64sd8d6r4v2f4m7gp93v8wb2zk2r13fflzg5rfk5740z";
     };
   ucloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ucloud";
-      version = "1.11.1";
-      sha256  = "1la5kapdwpd2f6x00yc9j25rl8qkrndgqpzp2jp6mcbj5zif82ns";
+      rev     = "v1.14.1";
+      version = "1.14.1";
+      sha256  = "04vi87q2fhy907l7rwsbq5p6l9vm6avm1hbf9qwddkbxx2kjjf64";
     };
   ultradns =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ultradns";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj";
     };
@@ -662,41 +756,71 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "2.2.0";
-      sha256  = "0k9frx29pjrrx67cwzsrnj0x90ff5k99l5yzfgb58sajkz1j8nln";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "0sw1swy2j9n3ji48sxmj093zzlq7sdmp8ixmz488ps3m4jjyfk6k";
     };
   vcd =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vcd";
-      version = "2.4.0";
-      sha256  = "020wmdl5cbma9r7sv3bx6v8b59w5nwkzgwj4xm7a2s6kn8jygr2x";
+      rev     = "v2.5.0";
+      version = "2.5.0";
+      sha256  = "0h78ij9rkx43i9kdcfy7waa6xyn2j40zgm6im3zp0yswy6vjlcyq";
     };
   vsphere =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "1.12.0";
-      sha256  = "0g3pnk2b4dmz5bkr7xjpp45dwy767k6a02rjva38xls185qs7i7c";
+      rev     = "v1.13.0";
+      version = "1.13.0";
+      sha256  = "10gl042l5mlmklhjjknwln1qcwl65xz8sbg1acyv8xkb6nsaxcf1";
     };
   yandex =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      version = "0.9.0";
-      sha256  = "0x3l0pbpdsm43jsx42xzc46r9j40l7szkcf851q16wsxf70lchqr";
+      rev     = "v0.24.0";
+      version = "0.24.0";
+      sha256  = "0a9isivn3ni0d1id8ww97xbcwrxc0c4pn1m1q21cipqs6mwksq9m";
+    };
+  segment =
+    {
+      owner   = "ajbosco";
+      repo    = "terraform-provider-segment";
+      rev     = "v0.2.0";
+      version = "0.2.0";
+      sha256  = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz";
+    };
+  pass =
+    {
+      owner   = "camptocamp";
+      repo    = "terraform-provider-pass";
+      rev     = "1.2.1";
+      version = "1.2.1";
+      sha256  = "1hf5mvgz5ycp7shiy8px205d9kwswfjmclg7mlh9a55bkraffahk";
     };
   matchbox =
     {
       owner   = "poseidon";
       repo    = "terraform-provider-matchbox";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3";
     };
+  wavefront =
+    {
+      owner   = "spaceapegames";
+      repo    = "terraform-provider-wavefront";
+      rev     = "v2.1.1";
+      version = "2.1.1";
+      sha256  = "0cbs74kd820i8f13a9jfbwh2y5zmmx3c2mp07qy7m0xx3m78jksn";
+    };
   nixos =
     {
       owner   = "tweag";
       repo    = "terraform-provider-nixos";
+      rev     = "v0.0.1";
       version = "0.0.1";
       sha256  = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf";
     };
@@ -704,14 +828,8 @@
     {
       owner   = "tweag";
       repo    = "terraform-provider-secret";
-      version = "1.0.0";
-      sha256  = "03q78d0g3b4j4213qjlacj1adh7hjwcqcqrwm8c2r2k5w9kb25k0";
-    };
-  segment =
-    {
-      owner   = "ajbosco";
-      repo    = "terraform-provider-segment";
-      version = "0.2.0";
-      sha256  = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz";
+      rev     = "v1.1.0";
+      version = "1.1.0";
+      sha256  = "09gv0fpsrxzgna0xrhrdk8d4va9s0gvdbz596r306qxb4mip4w3r";
     };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
index fc6b71313856..6298c25ba254 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -2,21 +2,21 @@
 , buildGoPackage
 , fetchFromGitHub
 , callPackage
+, buildGo112Module
 }:
 let
   list = import ./data.nix;
 
   toDrv = data:
     buildGoPackage rec {
-      inherit (data) owner repo version sha256;
+      inherit (data) owner repo rev version sha256;
       name = "${repo}-${version}";
       goPackagePath = "github.com/${owner}/${repo}";
       subPackages = [ "." ];
       src = fetchFromGitHub {
-        inherit owner repo sha256;
-        rev = "v${version}";
+        inherit owner repo rev sha256;
       };
-      
+
 
       # Terraform allow checking the provider versions, but this breaks
       # if the versions are not provided via file paths.
@@ -24,7 +24,12 @@ let
     };
 in
   {
-    elasticsearch = callPackage ./elasticsearch {};
+    elasticsearch = callPackage ./elasticsearch {
+      # Version 0.7.0 fails to build with go 1.13 due to dependencies:
+      #   verifying git.apache.org/thrift.git@v0.12.0/go.mod: git.apache.org/thrift.git@v0.12.0/go.mod: Get https://sum.golang.org/lookup/git.apache.org/thrift.git@v0.12.0: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:52968->[::1]:53: read: connection refused
+      #   verifying github.com/hashicorp/terraform@v0.12.0/go.mod: github.com/hashicorp/terraform@v0.12.0/go.mod: Get https://sum.golang.org/lookup/github.com/hashicorp/terraform@v0.12.0: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:52968->[::1]:53: read: connection refused
+      buildGoModule = buildGo112Module;
+    };
     gandi = callPackage ./gandi {};
     ibm = callPackage ./ibm {};
     libvirt = callPackage ./libvirt {};
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt
index 286e3d6efe04..bdde66006787 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt
@@ -9,14 +9,10 @@
 # include all terraform-providers
 terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\)
 
-# include terraform-provider-matchbox
+# include providers from individual repos
+ajbosco/terraform-provider-segment
+camptocamp/terraform-provider-pass
 poseidon/terraform-provider-matchbox
-
-# include terraform-provider-nixos
+spaceapegames/terraform-provider-wavefront
 tweag/terraform-provider-nixos
-
-# include terraform-provider-secret
 tweag/terraform-provider-secret
-
-# include terraform-provider-segment
-ajbosco/terraform-provider-segment
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all
index 2009d474db7b..893a6b1c7d7d 100755
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all
@@ -58,12 +58,14 @@ prefetch_github() {
 echo_entry() {
   local owner=$1
   local repo=$2
-  local version=${3:1}
+  local rev=$3
+  local version=$(echo $3 | sed 's/^v//')
   local sha256=$4
   cat <<EOF
 {
   owner   = "$owner";
   repo    = "$repo";
+  rev     = "$rev";
   version = "$version";
   sha256  = "$sha256";
 };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
index ec452a312e49..b290f3b5f043 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
@@ -1,28 +1,20 @@
-{ stdenv
-, lib
-, buildEnv
-, buildGoPackage
-, fetchFromGitHub
-, makeWrapper
-, runCommand
-, writeText
-, terraform-providers
-}:
+{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper
+, runCommand, writeText, terraform-providers }:
 
 let
   goPackagePath = "github.com/hashicorp/terraform";
 
   generic = { version, sha256, ... }@attrs:
-    let attrs' = builtins.removeAttrs attrs ["version" "sha256"]; in
-    buildGoPackage ({
+    let attrs' = builtins.removeAttrs attrs [ "version" "sha256" ];
+    in buildGoPackage ({
       name = "terraform-${version}";
 
       inherit goPackagePath;
 
       src = fetchFromGitHub {
-        owner  = "hashicorp";
-        repo   = "terraform";
-        rev    = "v${version}";
+        owner = "hashicorp";
+        repo = "terraform";
+        rev = "v${version}";
         inherit sha256;
       };
 
@@ -40,10 +32,17 @@ let
       '';
 
       meta = with stdenv.lib; {
-        description = "Tool for building, changing, and versioning infrastructure";
-        homepage = https://www.terraform.io/;
+        description =
+          "Tool for building, changing, and versioning infrastructure";
+        homepage = "https://www.terraform.io/";
         license = licenses.mpl20;
-        maintainers = with maintainers; [ zimbatm peterhoeg kalbasit ];
+        maintainers = with maintainers; [
+          zimbatm
+          peterhoeg
+          kalbasit
+          marsam
+          babariviere
+        ];
       };
     } // attrs');
 
@@ -54,38 +53,54 @@ let
           actualPlugins = plugins terraform.plugins;
 
           # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
-          wrapperInputs = lib.unique (lib.flatten (lib.catAttrs "propagatedBuildInputs" (builtins.filter (x: x != null) actualPlugins)));
+          wrapperInputs = lib.unique (lib.flatten
+            (lib.catAttrs "propagatedBuildInputs"
+              (builtins.filter (x: x != null) actualPlugins)));
 
           passthru = {
-            withPlugins = newplugins: withPlugins (x: newplugins x ++ actualPlugins);
+            withPlugins = newplugins:
+              withPlugins (x: newplugins x ++ actualPlugins);
             full = withPlugins lib.attrValues;
 
             # Ouch
-            overrideDerivation = f: (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
-            overrideAttrs = f: (pluggable (terraform.overrideAttrs f)).withPlugins plugins;
-            override = x: (pluggable (terraform.override x)).withPlugins plugins;
+            overrideDerivation = f:
+              (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
+            overrideAttrs = f:
+              (pluggable (terraform.overrideAttrs f)).withPlugins plugins;
+            override = x:
+              (pluggable (terraform.override x)).withPlugins plugins;
           };
-        in
           # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading
           # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
-          if actualPlugins == []
-            then terraform.overrideAttrs (orig: { passthru = orig.passthru // passthru; })
-            else lib.appendToName "with-plugins"(stdenv.mkDerivation {
-              inherit (terraform) name;
-              buildInputs = [ makeWrapper ];
-
-              buildCommand = ''
-                mkdir -p $out/bin/
-                makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
-                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin" \
-                  --prefix PATH : "${lib.makeBinPath wrapperInputs}"
-              '';
-
-              inherit passthru;
-            });
-    in withPlugins (_: []);
-
-  plugins = removeAttrs terraform-providers ["override" "overrideDerivation" "recurseForDerivations"];
+        in if actualPlugins == [ ] then
+          terraform.overrideAttrs
+          (orig: { passthru = orig.passthru // passthru; })
+        else
+          lib.appendToName "with-plugins" (stdenv.mkDerivation {
+            inherit (terraform) name;
+            buildInputs = [ makeWrapper ];
+
+            buildCommand = ''
+              mkdir -p $out/bin/
+              makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
+                --set NIX_TERRAFORM_PLUGIN_DIR "${
+                  buildEnv {
+                    name = "tf-plugin-env";
+                    paths = actualPlugins;
+                  }
+                }/bin" \
+                --prefix PATH : "${lib.makeBinPath wrapperInputs}"
+            '';
+
+            inherit passthru;
+          });
+    in withPlugins (_: [ ]);
+
+  plugins = removeAttrs terraform-providers [
+    "override"
+    "overrideDerivation"
+    "recurseForDerivations"
+  ];
 in rec {
   terraform_0_11 = pluggable (generic {
     version = "0.11.14";
@@ -97,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.9";
-    sha256 = "14js4n08rg30y0jrm0na79syglpb64cb7cxys0x3w47pcbgymrka";
+    version = "0.12.19";
+    sha256 = "067gzxysz8r2myj3rh0vwrs0pmbgb21jxlmawlf4v0lkjnhj6kwv";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
@@ -112,8 +127,8 @@ in rec {
       resource "random_id" "test" {}
     '';
     terraform = terraform_0_11.withPlugins (p: [ p.random ]);
-    test = runCommand "terraform-plugin-test" { buildInputs = [terraform]; }
-      ''
+    test =
+      runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
         set -e
         # make it fail outside of sandbox
         export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
index b4707327bc72..6cc7735efeb0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,20 +5,20 @@ buildGoPackage rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
      running in development environment and try to serve assets from the
      source tree, which is not there once build completes.  */
-  version = "0.10.4";
+  version = "0.10.13";
 
   src = fetchFromGitHub {
     owner  = "windmilleng";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0nxgmldbcaj91jq47qxpf6jqwvi9bhg243qchdkiliphybvilcrg";
+    sha256 = "02xlqgmmn1a7pz6sliharz8l9fbn2raxqkm75qxdqs1ncbvgc65k";
   };
 
   goPackagePath = "github.com/windmilleng/tilt";
 
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-08-14");
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-10-04");
 
   meta = with stdenv.lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/nixpkgs/pkgs/applications/networking/corebird/default.nix b/nixpkgs/pkgs/applications/networking/corebird/default.nix
deleted file mode 100644
index 73c0e234945e..000000000000
--- a/nixpkgs/pkgs/applications/networking/corebird/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala_0_40
-, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobject-introspection
-, glib-networking, python3 }:
-
-stdenv.mkDerivation rec {
-  version = "1.7.4";
-  pname = "corebird";
-
-  src = fetchFromGitHub {
-    owner = "baedert";
-    repo = "corebird";
-    rev = version;
-    sha256 = "0qjffsmg1hm64dgsbkfwzbzy9q4xa1q4fh4h8ni8a2b1p3h80x7n";
-  };
-
-  nativeBuildInputs = [
-    meson ninja vala_0_40 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 ]);
-
-  postPatch = ''
-    chmod +x data/meson_post_install.py # patchShebangs requires executable file
-    patchShebangs data/meson_post_install.py
-  '';
-
-  meta = {
-    description = "Native GTK Twitter client for the Linux desktop";
-    longDescription = "Corebird is a modern, easy and fun Twitter client.";
-    homepage = https://corebird.baedert.org/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.jonafato ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/datovka/default.nix b/nixpkgs/pkgs/applications/networking/datovka/default.nix
new file mode 100644
index 000000000000..12bad094fcaa
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/datovka/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, mkDerivation
+, fetchurl
+, libxml2
+, libisds
+, qmake
+, qtbase
+, qtsvg
+, pkg-config
+}:
+
+mkDerivation rec {
+  pname = "datovka";
+  version = "4.14.1";
+
+  src = fetchurl {
+    url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
+    sha256 = "0jinxsm2zw77294vz9pjiqpgpzdwx5nijsi4nqzxna5rkmwdyxk6";
+  };
+
+  buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  meta = with stdenv.lib; {
+    description = "Client application for operating Czech government-provided Databox infomation system";
+    homepage = "https://www.datovka.cz/";
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/davmail/default.nix b/nixpkgs/pkgs/applications/networking/davmail/default.nix
index 589cd04057ee..a84de6380668 100644
--- a/nixpkgs/pkgs/applications/networking/davmail/default.nix
+++ b/nixpkgs/pkgs/applications/networking/davmail/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "davmail";
-  version = "5.2.0";
+  version = "5.4.0";
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-2961.zip";
-    sha256 = "0jw6sjg7k7zg8ab0srz6cjjj5hnw5ppxx1w35sw055dlg54fh2m5";
+    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-3135.zip";
+    sha256 = "05n2j5canh046744arvni6yfdsandvjkld93w3p7rg116jrh19gq";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/applications/networking/dropbox/default.nix b/nixpkgs/pkgs/applications/networking/dropbox/default.nix
index 01707f12da22..693a70182130 100644
--- a/nixpkgs/pkgs/applications/networking/dropbox/default.nix
+++ b/nixpkgs/pkgs/applications/networking/dropbox/default.nix
@@ -7,7 +7,7 @@ assert lib.elem stdenv.hostPlatform.system platforms;
 # Dropbox client to bootstrap installation.
 # The client is self-updating, so the actual version may be newer.
 let
-  version = "81.4.195";
+  version = "83.4.152";
 
   arch = {
     x86_64-linux = "x86_64";
diff --git a/nixpkgs/pkgs/applications/networking/dsvpn/default.nix b/nixpkgs/pkgs/applications/networking/dsvpn/default.nix
index 4958d290529e..04d3887bf4ed 100644
--- a/nixpkgs/pkgs/applications/networking/dsvpn/default.nix
+++ b/nixpkgs/pkgs/applications/networking/dsvpn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dsvpn";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "jedisct1";
     repo = pname;
     rev = version;
-    sha256 = "1jl9b23s2glims09mb1sq01kaf10bfjsd3qsgk68mp5kvy9f3gj2";
+    sha256 = "1gbj3slwmq990qxsbsaxasi98alnnzv3adp6f8w8sxd4gi6qxhdh";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/errbot/default.nix b/nixpkgs/pkgs/applications/networking/errbot/default.nix
index 5b1ab692abd2..402017e129d6 100644
--- a/nixpkgs/pkgs/applications/networking/errbot/default.nix
+++ b/nixpkgs/pkgs/applications/networking/errbot/default.nix
@@ -1,37 +1,49 @@
-{ stdenv, fetchurl, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, python, glibcLocales }:
+
+let
+  # errbot requires markdown<3, and is not compatible with it either.
+  py = python.override {
+    packageOverrides = self: super: {
+      markdown = super.markdown.overridePythonAttrs (oldAttrs: rec {
+        version = "2.6.11";
+        src = super.fetchPypi {
+          pname = "Markdown";
+          inherit version;
+          sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
+        };
+      });
+    };
+  };
 
-pythonPackages.buildPythonApplication rec {
+in
+py.pkgs.buildPythonApplication rec {
   pname = "errbot";
-  version = "5.2.0";
+  version = "6.1.1";
 
-  src = fetchurl {
-    url = "mirror://pypi/e/errbot/${pname}-${version}.tar.gz";
-    sha256 = "0q5fg113s3gnym38d4y5mlnxw6vrm388zw5mlapf7b2zgx34r053";
+  src = fetchFromGitHub {
+    owner = "errbotio";
+    repo = "errbot";
+    rev = version;
+    sha256 = "1s4dl1za5imwsv6j3y7m47dy91hmqd5n221kkqm9ni4mpzgpffz0";
   };
 
-  disabled = !pythonPackages.isPy3k;
-
   LC_ALL = "en_US.utf8";
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace dnspython3 dnspython \
-      --replace 'cryptography<2.1.0' cryptography \
-      --replace 'pyOpenSSL<17.3.0' pyOpenSSL
-  '';
-
-  # tests folder is not included in release
-  doCheck = false;
-
   buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = with pythonPackages; [
-    webtest bottle threadpool rocket-errbot requests jinja2
-    pyopenssl colorlog Yapsy markdown ansi pygments dnspython pep8
+  propagatedBuildInputs = with py.pkgs; [
+    webtest requests jinja2 flask dulwich
+    pyopenssl colorlog markdown ansi pygments
     daemonize pygments-markdown-lexer telegram irc slackclient
-    sleekxmpp hypchat pytest
+    sleekxmpp pyasn1 pyasn1-modules hypchat
   ];
 
-  meta = with stdenv.lib; {
+  checkInputs = with py.pkgs; [ mock pytest ];
+  # avoid tests that do network calls
+  checkPhase = ''
+    pytest tests -k 'not backup and not broken_plugin and not plugin_cycle'
+  '';
+
+  meta = with lib; {
     description = "Chatbot designed to be simple to extend with plugins written in Python";
     homepage = http://errbot.io/;
     maintainers = with maintainers; [ fpletz globin ];
diff --git a/nixpkgs/pkgs/applications/networking/esniper/default.nix b/nixpkgs/pkgs/applications/networking/esniper/default.nix
index 2535d0dc31db..9de87ee178d1 100644
--- a/nixpkgs/pkgs/applications/networking/esniper/default.nix
+++ b/nixpkgs/pkgs/applications/networking/esniper/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, openssl, curl, coreutils, gawk, bash, which }:
 
 stdenv.mkDerivation {
-  name = "esniper-2.35.0-15-g91d2665";
+  name = "esniper-2.35.0-18-g4a59da0";
 
   src = fetchgit {
     url    = "https://git.code.sf.net/p/esniper/git";
-    rev    = "91d2665539beaeac21fb4c0cc2fd39c44e771ed7";
-    sha256 = "0dixcsvbcj9jbfjfv50nwvw7w90c4s6gnkrpilaan984i6y45rw0";
+    rev    = "4a59da032aa4536b9e5ea95633247650412511db";
+    sha256 = "0d3vazh5q7wymqahggbb2apl9hgrm037y4s3j91d24hjgk2pzzyd";
   };
 
   buildInputs = [ openssl curl ];
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix
index 21f1e555a291..33f8d8ca2383 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix
@@ -6,29 +6,37 @@
 , curl
 , id3lib
 , libxml2
+, glibcLocales
 }:
 
 stdenv.mkDerivation rec {
   pname = "castget";
-  version = "1.2.4";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "mlj";
     repo = pname;
-    # Upstream uses `_` instead of `.` for the version, let's hope it will
-    # change in the next release
+    # Upstream uses `_` instead of `.` for the version
     rev = "rel_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "1pfrjmsikv35cc0praxgim26zq4r7dfp1pkn6n9fz3fm73gxylyv";
+    sha256 = "1129x64rw587q3sdpa3lrgs0gni5f0siwbvmfz8ya4zkbhgi2ik7";
   };
-  # Otherwise, the autoreconfHook fails since Makefile.am requires it
-  preAutoreconf = ''
-    touch NEWS
-    touch README
-    touch ChangeLog
+
+  # without this, the build fails because of an encoding issue with the manual page.
+  # https://stackoverflow.com/a/17031697/4935114
+  # This requires glibcLocales to be present in the build so it will have an impact.
+  # See https://github.com/NixOS/nixpkgs/issues/8398
+  preBuild = ''
+    export LC_ALL="en_US.UTF-8";
   '';
 
   buildInputs = [ glib curl id3lib libxml2 ];
-  nativeBuildInputs = [ ronn autoreconfHook pkgconfig ];
+  nativeBuildInputs = [
+    ronn
+    # See comment on locale above
+    glibcLocales
+    autoreconfHook
+    pkgconfig
+  ];
 
   meta = with stdenv.lib; {
     description = "A simple, command-line based RSS enclosure downloader";
@@ -36,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/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix
index 959649c4b150..c336d2d0bba6 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, gettext, python3
-, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
-, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, hicolor-icon-theme
+, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts, fetchpatch
+, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, pantheon
 , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
 }:
 
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
     curl glib json-glib libnotify libsecret sqlite gumbo gtk3
     libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas
     gnome-online-accounts
-    hicolor-icon-theme # for setup hook
   ] ++ (with gst_all_1; [
     gstreamer gst-plugins-base gst-plugins-good
   ]);
@@ -33,6 +32,20 @@ stdenv.mkDerivation rec {
     patchShebangs build-aux/meson_post_install.py
   '';
 
+  patches = [
+    # Fixes build with libsecret
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/jangernert/FeedReader/pull/943.patch";
+      sha256 = "0anrwvcg6607dzvfrhy5qcnpxzflskb3iy3khdg191aw1h2mqhb5";
+    })
+  ];
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A modern desktop application designed to complement existing web-based RSS accounts";
     homepage = https://jangernert.github.io/FeedReader/;
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/newsboat/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/newsboat/default.nix
index f7a9521c9937..e01e4c4fc44f 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, rustPlatform, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
+{ stdenv, rustPlatform, fetchFromGitHub, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
 , asciidoc, docbook_xml_dtd_45, libxslt, docbook_xsl, libiconv, Security, makeWrapper }:
 
 rustPlatform.buildRustPackage rec {
   pname = "newsboat";
-  version = "2.16.1";
+  version = "2.18";
 
-  src = fetchurl {
-    url = "https://newsboat.org/releases/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0lxdsfcwa4byhfnn0gv34w3rr531f4nfqgi8j4qqmh3gncbwh8s0";
+  src = fetchFromGitHub {
+    owner = "newsboat";
+    repo = "newsboat";
+    rev = "r${version}";
+    sha256 = "1bg2qjkzdawn4fnn0w7jhw1dk6191w8axnqra43z21pinfyim6da";
   };
 
-  cargoSha256 = "0ck2dgfk4fay4cjl66wqkbnq4rqrd717jl63l1mvqmvad9i19igm";
+  cargoSha256 = "0q0iqd8y9rph8pwild5i2kv00h217a166c88hxpmbrigq9w960lp";
 
   postPatch = ''
     substituteInPlace Makefile --replace "|| true" ""
@@ -29,8 +31,8 @@ rustPlatform.buildRustPackage rec {
     make
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=sign-compare" ]
-    ++ stdenv.lib.optional stdenv.isDarwin "-Wno-error=format-security";
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
+    + stdenv.lib.optionalString stdenv.isDarwin " -Wno-error=format-security";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 89eef9cae4c4..07f3f3fde0aa 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -4,13 +4,13 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "rss2email";
-  version = "3.10";
+  version = "3.11";
 
   propagatedBuildInputs = [ feedparser beautifulsoup4 html2text ];
 
   src = fetchurl {
     url = "mirror://pypi/r/rss2email/${pname}-${version}.tar.gz";
-    sha256 = "1yjgbgpq9jjmpywwk6n4lzb2k7mqgdgfgm4jckv4zy0fn595pih1";
+    sha256 = "1vk5slp2mhmc1qj30igqkyq3z5h2bl1ayhafqrjapa6cg6rbvhrn";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 169b88f27185..2bb592bfb42c 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/flent/default.nix b/nixpkgs/pkgs/applications/networking/flent/default.nix
index bbd9a7601acd..19f813e5c758 100644
--- a/nixpkgs/pkgs/applications/networking/flent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flent/default.nix
@@ -3,10 +3,10 @@
 
 buildPythonApplication rec {
   pname = "flent";
-  version = "1.3.0";
+  version = "1.3.2";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "099779i0ghjd9ikq77z6m6scnlmk946lw9issrgz8zm7babiw4d7";
+    sha256 = "1k265xxxjld6q38m9lsgy7p0j70qp9a49vh9zg0njbi4i21lxq23";
   };
 
   buildInputs = [ sphinx ];
diff --git a/nixpkgs/pkgs/applications/networking/flexget/default.nix b/nixpkgs/pkgs/applications/networking/flexget/default.nix
index f01849919ab0..98d37fae9114 100644
--- a/nixpkgs/pkgs/applications/networking/flexget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flexget/default.nix
@@ -1,34 +1,12 @@
-{ lib, python3 }:
+{ lib, python3Packages }:
 
-# Flexget have been a trouble maker in the past,
-# if you see flexget breaking when updating packages, don't worry.
-# The current state is that we have no active maintainers for this package.
-# -- Mic92
-
-let
-  python' = python3.override { inherit packageOverrides; };
-
-  packageOverrides = self: super: {
-    guessit = super.guessit.overridePythonAttrs (old: rec {
-      version = "3.0.3";
-      src = old.src.override {
-        inherit version;
-        sha256 = "1q06b3k31bfb8cxjimpf1rkcrwnc596a9cppjw15minvdangl32r";
-      };
-    });
-  };
-
-in
-
-with python'.pkgs;
-
-buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "FlexGet";
-  version = "2.21.16";
+  version = "3.0.31";
 
-  src = fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1skb73nsg5gqlqqcs64c9kiidd74p3gm0xx93jaky2gagn0jn7rv";
+    sha256 = "b9edd905556c77b40046b5d7a27151b76a1c9a8c43a4e4153279ad42a784844e";
   };
 
   postPatch = ''
@@ -43,29 +21,42 @@ buildPythonApplication rec {
   # ~400 failures
   doCheck = false;
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3Packages; [
     # See https://github.com/Flexget/Flexget/blob/master/requirements.in
-    feedparser sqlalchemy pyyaml
-    beautifulsoup4 html5lib
-    PyRSS2Gen pynzb rpyc jinja2
-    requests dateutil jsonschema
-    pathpy guessit rebulk APScheduler
-    terminaltables colorclass
-    cherrypy flask flask-restful
-    flask-restplus flask-compress
-    flask_login flask-cors
-    pyparsing zxcvbn future
+    APScheduler
+    beautifulsoup4
+    cherrypy
+    colorclass
+    feedparser
+    flask-compress
+    flask-cors
+    flask_login
+    flask-restful
+    flask-restplus
+    flask
+    guessit
+    html5lib
+    jinja2
+    jsonschema
+    loguru
     progressbar
-    # Optional requirements
-    deluge-client
-    # Plugins
-    transmissionrpc
-  ] ++ lib.optional (pythonOlder "3.4") pathlib;
+    pynzb
+    pyparsing
+    PyRSS2Gen
+    dateutil
+    pyyaml
+    rebulk
+    requests
+    rpyc
+    sqlalchemy
+    terminaltables
+    zxcvbn
+  ];
 
   meta = with lib; {
-    homepage    = https://flexget.com/;
-    description = "Multipurpose automation tool for content like torrents";
+    homepage    = "https://flexget.com/";
+    description = "Multipurpose automation tool for all of your media";
     license     = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix b/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
index 91002e6f75e0..f1b809009ad5 100644
--- a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.44.2";
+  version = "3.46.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1dny16ybzml6py1y8vprylqq1xc08221w5xcwcmygkjrb0820kax";
+    sha256 = "0v7656p7b6w88a96wj8058b13yxbwi186l092i9whrisngnv2pnf";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix b/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
index e1ba71ff2c88..cb40c347e1cf 100644
--- a/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3
+{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, vala
 , gtk3, libgee, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pantheon.vala
+    vala
     gobject-introspection
     meson
     ninja
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The FTP Client that drives you anywhere";
     homepage    = https://github.com/Alecaddd/taxi;
diff --git a/nixpkgs/pkgs/applications/networking/gmailieer/default.nix b/nixpkgs/pkgs/applications/networking/gmailieer/default.nix
index e37dc9e7cac6..a20728e2199f 100644
--- a/nixpkgs/pkgs/applications/networking/gmailieer/default.nix
+++ b/nixpkgs/pkgs/applications/networking/gmailieer/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "gmailieer-${version}";
-  version = "0.11";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "gauteh";
     repo = "gmailieer";
     rev = "v${version}";
-    sha256 = "0gjmb8s3d7nj9jp5zkz5q6a59777ay6b1sg4ghl8iw9m8l4h42xa";
+    sha256 = "1zzylv8xbcrh34bz0s29dawzcyx39lai8y8wk0bl4x75v1jfynvf";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/networking/gns3/default.nix b/nixpkgs/pkgs/applications/networking/gns3/default.nix
index 1d2756de7e69..1e6a0fd5b7f5 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/default.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/default.nix
@@ -1,16 +1,16 @@
 { callPackage }:
 
 let
-  stableVersion = "2.1.21";
-  previewVersion = "2.2.0rc5";
+  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 = "1ydmib302r1cpm2z9pzsfp4ygxrbmskwszsip397n92qx3l9a9v3";
-  serverSrcHash = "1ahn1xq1f0wx46i0c8idz96dxfbakk37pqi6amy91594mdlp8yr4";
+  guiSrcHash = "1l40q3d3hsmhgwb4d8hj73vhgckm0dvsc6l6qzacypd202iq1v8a";
+  serverSrcHash = "1qcypb1rmfdl8fl3ykqf5phcapmjid6jrxd6xpncd5dhyl2hr94n";
 in {
   guiStable = mkGui {
     stable = true;
@@ -18,7 +18,7 @@ in {
   };
   guiPreview = mkGui {
     stable = false;
-    sha256Hash = "0x4sp6yjnvzpk8cxdqlf51njckmvvkijdb7rvcb4hvqq1ab6gb2x";
+    sha256Hash = guiSrcHash;
   };
 
   serverStable = mkServer {
@@ -27,6 +27,6 @@ in {
   };
   serverPreview = mkServer {
     stable = false;
-    sha256Hash = "0inj6fac0683s1sxaba3ljia90cfach0y42xylzgzza36wpyqpqg";
+    sha256Hash = serverSrcHash;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/gns3/gui.nix b/nixpkgs/pkgs/applications/networking/gns3/gui.nix
index de624d7f6b29..7c155181c502 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/gui.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/gui.nix
@@ -1,11 +1,20 @@
 { stable, branch, version, sha256Hash }:
 
-{ stdenv, python3Packages, fetchFromGitHub }:
+{ stdenv, python3, fetchFromGitHub }:
 
 let
-  pythonPackages = python3Packages;
-
-in pythonPackages.buildPythonPackage rec {
+  python = python3.override {
+    packageOverrides = self: super: {
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "2.6.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
+        };
+      });
+    };
+  };
+in python.pkgs.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "gns3-gui";
 
@@ -16,11 +25,11 @@ in pythonPackages.buildPythonPackage rec {
     sha256 = sha256Hash;
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python.pkgs; [
     raven psutil jsonschema # tox for check
     # Runtime dependencies
-    sip (pyqt5.override { withWebSockets = true; })
-  ] ++ stdenv.lib.optional (!stable) pythonPackages.distro;
+    sip (pyqt5.override { withWebSockets = true; }) distro setuptools
+  ];
 
   doCheck = false; # Failing
 
diff --git a/nixpkgs/pkgs/applications/networking/gns3/server.nix b/nixpkgs/pkgs/applications/networking/gns3/server.nix
index f681f3fa63b6..db2e085c180d 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/server.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/server.nix
@@ -3,36 +3,17 @@
 { stdenv, python3, fetchFromGitHub }:
 
 let
-  python = if stable then python3.override {
+  python = python3.override {
     packageOverrides = self: super: {
-      async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec {
-        version = "2.0.1";
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "2.6.0";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "1l3kg062m02mph6rf9rdv8r5c5n356clxa6b6mrn0i77vk9g9kq0";
+          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
         };
       });
-      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
-        version = "2.3.10";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
-        };
-        propagatedBuildInputs = with self; [ async-timeout attrs chardet multidict yarl idna-ssl ];
-        doCheck = false;
-      });
-      aiohttp-cors = super.aiohttp-cors.overridePythonAttrs (oldAttrs: rec {
-        version = "0.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4";
-        };
-        propagatedBuildInputs = with self; [ aiohttp ]
-          ++ stdenv.lib.optional (pythonOlder "3.5") typing;
-      });
     };
-  } else python3;
-
+  };
 in python.pkgs.buildPythonPackage {
   pname = "gns3-server";
   inherit version;
@@ -50,10 +31,10 @@ in python.pkgs.buildPythonPackage {
   '';
 
   propagatedBuildInputs = with python.pkgs; [
-    aiohttp-cors yarl aiohttp multidict
-    jinja2 psutil zipstream raven jsonschema
+    aiohttp-cors yarl aiohttp multidict setuptools
+    jinja2 psutil zipstream raven jsonschema distro async_generator aiofiles
     (python.pkgs.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {})
-  ] ++ stdenv.lib.optional (!stable) [ distro async_generator aiofiles ];
+  ];
 
   # Requires network access
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/gopher/gopher/default.nix b/nixpkgs/pkgs/applications/networking/gopher/gopher/default.nix
index 4fcdf55777a6..f90e35ca7e2e 100644
--- a/nixpkgs/pkgs/applications/networking/gopher/gopher/default.nix
+++ b/nixpkgs/pkgs/applications/networking/gopher/gopher/default.nix
@@ -1,23 +1,25 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "gopher";
-  version = "3.0.11";
+  version = "3.0.17";
 
-  src = fetchurl {
-    url = "http://gopher.quux.org:70/devel/gopher/Downloads/gopher_${version}.tar.gz";
-    sha256 = "15r7x518wlpfqpd6z0hbdwm8rw8ll8hbpskdqgxxhrmy00aa7w9c";
+  src = fetchFromGitHub {
+    owner = "jgoerzen";
+    repo = pname;
+    rev = "release/${version}";
+    sha256 = "1j6xh5l8v231d4mwl9gj1c34dc0jmazz6zg1qqfxmqr9y609jq3h";
   };
 
   buildInputs = [ ncurses ];
 
   preConfigure = "export LIBS=-lncurses";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://gopher.quux.org:70/devel/gopher;
     description = "A ncurses gopher client";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
+    platforms = platforms.linux; # clang doesn't like local regex.h
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/hydroxide/default.nix b/nixpkgs/pkgs/applications/networking/hydroxide/default.nix
new file mode 100644
index 000000000000..75c1cdaece96
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/hydroxide/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+
+buildGoModule rec {
+  pname = "hydroxide";
+  version = "0.2.11";
+
+  src = fetchFromGitHub {
+    owner = "emersion";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand";
+  };
+
+  modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp";
+
+  # FIXME: remove with next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch";
+      sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj";
+    })
+  ];
+
+  subPackages = [ "cmd/hydroxide" ];
+
+  meta = with lib; {
+    description = "A third-party, open-source ProtonMail bridge";
+    homepage = "https://github.com/emersion/hydroxide";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/ids/bro/default.nix b/nixpkgs/pkgs/applications/networking/ids/bro/default.nix
deleted file mode 100644
index f90457ba9379..000000000000
--- a/nixpkgs/pkgs/applications/networking/ids/bro/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl
-, geoip, gperftools, python, swig }:
-
-stdenv.mkDerivation rec {
-  name = "bro-2.5.5";
-
-  src = fetchurl {
-    url = "https://www.bro.org/downloads/${name}.tar.gz";
-    sha256 = "1kvkiq8jjsqryry9jd4vw45pbfb46jly988mq62mv4sd1fqsxwhq";
-  };
-
-  nativeBuildInputs = [ cmake flex bison file ];
-  buildInputs = [ openssl libpcap perl zlib curl geoip gperftools python swig ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "Powerful network analysis framework much different from a typical IDS";
-    homepage = https://www.bro.org/;
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ pSub ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/ids/suricata/bpf_stubs_workaround.patch b/nixpkgs/pkgs/applications/networking/ids/suricata/bpf_stubs_workaround.patch
new file mode 100644
index 000000000000..d4e8c95fea22
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/ids/suricata/bpf_stubs_workaround.patch
@@ -0,0 +1,19 @@
+*** suricata-5.0.0/ebpf/Makefile.in	2019-10-16 22:39:13.174649416 +0200
+--- suricata-5.0.0/ebpf/Makefile.in.fixed	2019-10-16 22:38:41.822201802 +0200
+***************
+*** 527,533 ****
+  @BUILD_EBPF_TRUE@$(BPF_TARGETS): %.bpf: %.c
+  #      From C-code to LLVM-IR format suffix .ll (clang -S -emit-llvm)
+  @BUILD_EBPF_TRUE@	${CLANG} -Wall $(BPF_CFLAGS) -O2 \
+! @BUILD_EBPF_TRUE@		-I/usr/include/$(build_cpu)-$(build_os)/ \
+  @BUILD_EBPF_TRUE@		-D__KERNEL__ -D__ASM_SYSREG_H \
+  @BUILD_EBPF_TRUE@		-target bpf -S -emit-llvm $< -o ${@:.bpf=.ll}
+  #      From LLVM-IR to BPF-bytecode in ELF-obj file
+--- 527,533 ----
+  @BUILD_EBPF_TRUE@$(BPF_TARGETS): %.bpf: %.c
+  #      From C-code to LLVM-IR format suffix .ll (clang -S -emit-llvm)
+  @BUILD_EBPF_TRUE@	${CLANG} -Wall $(BPF_CFLAGS) -O2 \
+! @BUILD_EBPF_TRUE@		-idirafter ../bpf_stubs_workaround \
+  @BUILD_EBPF_TRUE@		-D__KERNEL__ -D__ASM_SYSREG_H \
+  @BUILD_EBPF_TRUE@		-target bpf -S -emit-llvm $< -o ${@:.bpf=.ll}
+  #      From LLVM-IR to BPF-bytecode in ELF-obj file
diff --git a/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix b/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
index 3cd5fe4b8ea5..d0829fd73a99 100644
--- a/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
@@ -1,14 +1,18 @@
 { stdenv
 , lib
 , fetchurl
+, clang
+, llvm
 , pkgconfig
 , makeWrapper
 , file
-, geoip
 , hyperscan
 , jansson
+, libbpf
 , libcap_ng
+, libelf
 , libevent
+, libmaxminddb
 , libnet
 , libnetfilter_log
 , libnetfilter_queue
@@ -16,6 +20,7 @@
 , libpcap
 , libyaml
 , luajit
+, lz4
 , nspr
 , nss
 , pcre
@@ -29,24 +34,30 @@
 in
 stdenv.mkDerivation rec {
   pname = "suricata";
-  version = "4.1.4";
+  version = "5.0.1";
 
   src = fetchurl {
     url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz";
-    sha256 = "02901wjf90171rhkymcgp0h48hkn3wv8iwrhz4d8ppraz68hv99d";
+    sha256 = "034b0nl0hkh0v26gwbawi2wdv7mb9p54cfg8gc9b8hsw49k3c1wh";
   };
 
   nativeBuildInputs = [
+    clang
+    llvm
     makeWrapper
     pkgconfig
-  ];
+  ]
+  ++ lib.optionals rustSupport [ rustc cargo ]
+  ;
 
   buildInputs = [
-    geoip
     jansson
+    libbpf
     libcap_ng
+    libelf
     libevent
     libmagic
+    libmaxminddb
     libnet
     libnetfilter_log
     libnetfilter_queue
@@ -54,23 +65,36 @@ stdenv.mkDerivation rec {
     libpcap
     libyaml
     luajit
+    lz4
     nspr
     nss
     pcre
     python
     zlib
   ]
-  ++ lib.optional hyperscanSupport [ hyperscan ]
-  ++ lib.optional redisSupport [ redis hiredis ]
-  ++ lib.optional rustSupport [ rustc cargo ]
+  ++ lib.optional hyperscanSupport hyperscan
+  ++ lib.optionals redisSupport [ redis hiredis ]
   ;
 
   enableParallelBuilding = true;
 
+  patches = lib.optional stdenv.is64bit ./bpf_stubs_workaround.patch;
+
+  postPatch = ''
+    substituteInPlace ./configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+    substituteInPlace ./libhtp/configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+
+    mkdir -p bpf_stubs_workaround/gnu
+    touch bpf_stubs_workaround/gnu/stubs-32.h
+  '';
+
   configureFlags = [
     "--disable-gccmarch-native"
-    "--enable-afl"
     "--enable-af-packet"
+    "--enable-ebpf"
+    "--enable-ebpf-build"
     "--enable-gccprotect"
     "--enable-geoip"
     "--enable-luajit"
@@ -85,16 +109,23 @@ stdenv.mkDerivation rec {
     "--with-libnet-includes=${libnet}/include"
     "--with-libnet-libraries=${libnet}/lib"
   ]
-  ++ lib.optional hyperscanSupport [
-    "--with-libhs-includes=${hyperscan}/include"
+  ++ lib.optionals hyperscanSupport [
+    "--with-libhs-includes=${hyperscan.dev}/include/hs"
     "--with-libhs-libraries=${hyperscan}/lib"
   ]
-  ++ lib.optional redisSupport [ "--enable-hiredis" ]
-  ++ lib.optional rustSupport [
+  ++ lib.optional redisSupport "--enable-hiredis"
+  ++ lib.optionals rustSupport [
     "--enable-rust"
     "--enable-rust-experimental"
   ];
 
+  postConfigure = ''
+    # Avoid unintended clousure growth.
+    sed -i 's|/nix/store/\(.\{8\}\)[^-]*-|/nix/store/\1...-|g' ./src/build-info.h
+  '';
+
+  hardeningDisable = [ "stackprotector" ];
+
   installFlags = [
     "e_localstatedir=\${TMPDIR}"
     "e_logdir=\${TMPDIR}"
@@ -108,11 +139,13 @@ stdenv.mkDerivation rec {
     "sysconfdir=\${out}/etc"
   ];
 
-  installTargets = "install install-conf";
+  installTargets = [ "install" "install-conf" ];
 
   postInstall = ''
     wrapProgram "$out/bin/suricatasc" \
       --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out")
+    substituteInPlace "$out/etc/suricata/suricata.yaml" \
+      --replace "/etc/suricata" "$out/etc/suricata"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
new file mode 100644
index 000000000000..947abc39c21a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, zlib, file, curl
+, libmaxminddb, gperftools, python, swig, rocksdb }:
+
+stdenv.mkDerivation rec {
+  pname = "zeek";
+  version = "3.0.1";
+
+  src = fetchurl {
+    url = "https://www.zeek.org/downloads/zeek-${version}.tar.gz";
+    sha256 = "1lhik212wrbi092qizc08f3i0b9pj318sxwm0abc5jc3v3pz7x3r";
+  };
+
+  nativeBuildInputs = [ cmake flex bison file ];
+  buildInputs = [ openssl libpcap zlib curl libmaxminddb gperftools python swig rocksdb ];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DPY_MOD_INSTALL_DIR=${placeholder "out"}/${python.sitePackages}"
+    "-DENABLE_PERFTOOLS=true"
+    "-DINSTALL_AUX_TOOLS=true"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Powerful network analysis framework much different from a typical IDS";
+    homepage = "https://www.zeek.org";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub marsam tobim ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
index f01b8d387f83..a3497df1716c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -3,11 +3,11 @@
 , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.6.3";
+  version = "0.6.5";
   pname = "baresip";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "031hjm30v45h1sfknrf2f2ci10n712bdkcyf92y2hzllnik58068";
+    sha256 = "13di0ycdcr2q2a20mjvyaqfmvk5xldwqaxklqsz7470jnbc5n0rb";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [zlib openssl libre librem cairo mpg123
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index aefde289db59..917610216aeb 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix
index 62d0d738b504..b6e13fe403db 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -44,11 +44,6 @@ mkDerivationWith pythonPackages.buildPythonApplication rec {
 
   dontWrapQtApps = true;
 
-  makeWrapperArgs = [
-    "\${qtWrapperArgs[@]}"
-    "--prefix LD_LIBRARY_PATH: ${gnutls.out}/lib"
-  ];
-
   postInstall = ''
     mkdir -p "$out/share/applications"
     mkdir -p "$out/share/pixmaps"
@@ -56,6 +51,13 @@ mkDerivationWith pythonPackages.buildPythonApplication rec {
     cp "$out"/share/blink/icons/blink.* "$out/share/pixmaps"
   '';
 
+  preFixup = ''
+    makeWrapperArgs+=(
+      --prefix "LD_LIBRARY_PATH" ":" "${gnutls.out}/lib"
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://icanblink.com/;
     description = "A state of the art, easy to use SIP client for Voice, Video and IM";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix
index 4dadcb6ce232..6e4a914ecb0e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix
@@ -48,6 +48,7 @@ in stdenv.mkDerivation rec {
     inherit desktopName;
     genericName = meta.description;
     categories = "Network;InstantMessaging;";
+    mimeType = "x-scheme-handler/discord";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
index 6bedde3ebd64..70b36c663873 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -1,36 +1,36 @@
 { branch ? "stable", pkgs }:
-
+# Generated by /maintainers/scripts/update-discord
 let
   inherit (pkgs) callPackage fetchurl;
 in {
-  stable = callPackage ./base.nix {
+  stable = callPackage ./base.nix rec {
     pname = "discord";
     binaryName = "Discord";
     desktopName = "Discord";
     version = "0.0.9";
     src = fetchurl {
-      url = "https://dl.discordapp.net/apps/linux/0.0.9/discord-0.0.9.tar.gz";
+      url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
       sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf";
     };
   };
-  ptb = callPackage ./base.nix {
+  ptb = callPackage ./base.nix rec {
     pname = "discord-ptb";
     binaryName = "DiscordPTB";
     desktopName = "Discord PTB";
     version = "0.0.16";
     src = fetchurl {
-      url = "https://dl-ptb.discordapp.net/apps/linux/0.0.16/discord-ptb-0.0.16.tar.gz";
+      url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
       sha256 = "1ia94xvzygim9rx1sjnnss518ggw0i20mhp9pby33q70ha35n0aq";
     };
   };
-  canary = callPackage ./base.nix {
+  canary = callPackage ./base.nix rec {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.96";
+    version = "0.0.98";
     src = fetchurl {
-      url = "https://dl-canary.discordapp.net/apps/linux/0.0.96/discord-canary-0.0.96.tar.gz";
-      sha256 = "1fxyh9v5xglwbgr5sidn0cv70qpzcd2q240wsv87k3nawhvfcwsp";
+      url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
+      sha256 = "0raqsfakjbcsh7g280yi7sg2jsrmy2q4jldg73wb868z35radld4";
     };
   };
 }.${branch}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ekiga/default.nix
deleted file mode 100644
index 9886c2fa2ed9..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv, glib, fetchurl, fetchpatch, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
-, perlPackages, evolution-data-server, gnome-doc-utils, avahi, autoreconfHook
-, libsigcxx, gtk2, dbus-glib, libnotify, libXext, xorgproto, gnome3, boost, libsecret
-, pkgconfig, libxml2, unixODBC, db, nspr, nss, zlib
-, libXrandr, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "ekiga";
-  version = "4.0.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "5f4f491c9496cf65ba057a9345d6bb0278f4eca07bcda5baeecf50bfcd9a4a3b";
-  };
-
-  buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
-                  evolution-data-server gnome-doc-utils avahi
-                  libsigcxx gtk2 dbus-glib libnotify libXext xorgproto sqlite
-                  gnome3.libsoup glib gnome3.adwaita-icon-theme boost
-                  autoreconfHook pkgconfig libxml2 unixODBC db nspr
-                  nss zlib libsecret libXrandr which libxslt libtasn1
-                  gmp nettle makeWrapper ]
-    ++ (with perlPackages; [ perl XMLParser ]);
-
-  preAutoreconf = ''
-    substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
-    substituteInPlace configure.ac --replace gnome-icon-theme adwaita-icon-theme
-  '';
-
-  configureFlags = [
-    "--with-ldap-dir=${openldap.dev}"
-    "--with-libsasl2-dir=${cyrus_sasl.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--disable-gconf"
-  ];
-
-  enableParallelBuilding = true;
-
-  patches = [
-    (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/autofoo.patch;
-      sha256 = "1vyagslws4mm9yfz1m5p1kv9sxmk5lls9vxpm6j72q2ahsgydzx4";
-    })
-    (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/boost.patch;
-      sha256 = "01k0rw8ibrrf9zn9lx6dzbrgy58w089hqxqxqdv9whb65cldlj5s";
-    })
-    (fetchpatch { url = https://src.fedoraproject.org/rpms/ekiga/raw/dbf5f5ba449d22bd79f0394cddb7d4d8a88ec6ac/f/ekiga-4.0.1-libresolv.patch;
-      sha256 = "18wc68im8422ibpa0gkrkgjq41m7hikaha3xqmjs2km45i1cwcaz";
-    })
-  ];
-
-  postInstall = ''
-    wrapProgram "$out"/bin/ekiga \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "mirror://gnome/sources/ekiga";
-    };
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-    };
-  };
-
-  meta = with stdenv.lib; {
-    description = "VOIP/Videoconferencing app with full SIP and H.323 support";
-    homepage = "https://www.ekiga.org/";
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-  };
-}
-
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/fractal/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/fractal/default.nix
index bacf6b4338ac..052a626531b4 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -9,8 +9,7 @@
 , python3
 , rustPlatform
 , pkgconfig
-, gtksourceview
-, hicolor-icon-theme
+, gtksourceview4
 , glib
 , libhandy
 , gtk3
@@ -26,17 +25,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fractal";
-  version = "4.2.0";
+  version = "4.2.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "fractal";
     rev = version;
-    sha256 = "0clwsmd6h759bzlazfq5ig56dbx7npx3h43yspk87j1rm2dp1177";
+    sha256 = "0r98km3c8naj3mdr1wppzj823ir7jnsia7r3cbg3vsq8q52i480r";
   };
 
-  cargoSha256 = "1hwjajkphl5439dymglgj3h92hxgbf7xpipzrga7ga8m10nx1dhl";
+  cargoSha256 = "1n9n4d057cz44sh1iy2hb2adplhnrhvr8drnp0v2h8yw73a5shvv";
 
   nativeBuildInputs = [
     cargo
@@ -59,22 +58,14 @@ rustPlatform.buildRustPackage rec {
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-base
     gst_all_1.gstreamer
+    gst_all_1.gst-validate
     gtk3
-    gtksourceview
-    hicolor-icon-theme
+    gtksourceview4
     libhandy
     openssl
     sqlite
   ];
 
-  cargoPatches = [
-    # https://gitlab.gnome.org/GNOME/fractal/merge_requests/446
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/fractal/commit/2778acdc6c50bc6f034513029b66b0b092bc4c38.patch";
-      sha256 = "08v17xmbwrjw688ps4hsnd60d5fm26xj72an3zf6yszha2b97j6y";
-    })
-  ];
-
   postPatch = ''
     chmod +x scripts/test.sh
     patchShebangs scripts/meson_post_install.py scripts/test.sh
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix
index 46a27737d23e..605550beb50e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix
@@ -3,13 +3,13 @@
 , gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
 
 let
-  version = "5.3.3";
+  version = "5.4.1";
 in stdenv.mkDerivation {
   pname = "franz";
   inherit version;
   src = fetchurl {
     url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb";
-    sha256 = "03ii1gpc2wijy917565pqig1ihd4zhal12i2f5k916i7fp8912m1";
+    sha256 = "1g1z5zjm9l081hpqslfc4h7pqh4k76ccmlz71r21204wy630mw6h";
   };
 
   # don't remove runtime deps
@@ -35,7 +35,7 @@ in stdenv.mkDerivation {
     # provide desktop item and icon
     cp -r usr/share $out
     substituteInPlace $out/share/applications/franz.desktop \
-      --replace Exec=\"/opt/Franz/franz\" Exec=franz
+      --replace /opt/Franz/franz franz
   '';
 
   dontWrapGApps = true;
@@ -50,7 +50,7 @@ in stdenv.mkDerivation {
     description = "A free messaging app that combines chat & messaging services into one application";
     homepage = https://meetfranz.com;
     license = licenses.free;
-    maintainers = [ maintainers.gnidorah ];
+    maintainers = [ maintainers.davidtwco ];
     platforms = ["x86_64-linux"];
     hydraPlatforms = [];
   };
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index 04a31ba403a2..7e01f97fe0df 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
     description = "Open Source Video Calls and Chat";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 09273b7caa50..b155f3129642 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
new file mode 100644
index 000000000000..e03bdd9909e8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
new file mode 100644
index 000000000000..633219626b68
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
new file mode 100644
index 000000000000..670556bf271a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
new file mode 100644
index 000000000000..012ad195a71b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
new file mode 100644
index 000000000000..fc03d636ad21
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
new file mode 100644
index 000000000000..54b7ef2bd991
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
index f5f8414c870c..dbfc87b8e8d4 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
@@ -1,10 +1,14 @@
 { stdenv, fetchurl, gnome2, gtk3, pango, atk, cairo, gdk-pixbuf, glib,
 freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
 libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
-libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev }:
+libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev, wrapGAppsHook,
+hicolor-icon-theme, libuuid, at-spi2-core, at-spi2-atk }:
+
 let
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
+    at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -17,6 +21,7 @@ let
     gnome2.GConf
     gtk3
     pango
+    libuuid
     libX11
     libXScrnSaver
     libXcomposite
@@ -38,18 +43,18 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "mattermost-desktop";
-    version = "4.2.3";
+    version = "4.3.1";
 
     src =
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz";
-          sha256 = "14xyn8dp0xxl4j9xdsjik9p6srqdxbirgcgym2sv64p01w3kc9wf";
+          sha256 = "076nv5h6xscbw1987az00x493qhqgrli87gnn57zbvz0acgvlhfv";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
           url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz";
-          sha256 = "063rrxw76mjz71wp9xd3ppkq3s017vrzms879r2cilypmay7fhgs";
+          sha256 = "19ps9g8j6kp4haj6r3yfy4ma2wm6isq5fa8zlcz6g042ajkqq0ij";
         }
       else
         throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}";
@@ -58,6 +63,8 @@ in
     dontConfigure = true;
     dontPatchELF = true;
 
+    buildInputs = [ wrapGAppsHook gtk3 hicolor-icon-theme ];
+
     installPhase = ''
       mkdir -p $out/share/mattermost-desktop
       cp -R . $out/share/mattermost-desktop
@@ -71,6 +78,9 @@ in
       rm $out/share/mattermost-desktop/create_desktop_file.sh
       mkdir -p $out/share/applications
       mv Mattermost.desktop $out/share/applications/Mattermost.desktop
+      substituteInPlace \
+        $out/share/applications/Mattermost.desktop \
+        --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
 
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
index 3ebd745e4f1a..216af305b4ad 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
@@ -7,34 +7,30 @@ def source(url)
 
 source 'https://rubygems.org'
 
-ruby '>= 2.3.0'
+ruby '>= 2.5.0'
 
 group :default do
-  gem 'oauth', '>= 0.5.1'
-  gem 'json_pure', '~> 1.8'
-  gem 'addressable', '>= 2.5.2', '< 2.6'
-  gem 'diva', '>= 0.3.2', '< 2.0'
-  gem 'memoist', '>= 0.16', '< 0.17'
-  gem 'ruby-hmac', '~> 0.4'
-  gem 'typed-array', '~> 0.1'
-  gem 'delayer', '~> 0.0'
-  gem 'pluggaloid', '>= 1.1.1', '< 2.0'
-  gem 'delayer-deferred', '>= 2.0', '< 3.0'
-  gem 'twitter-text', '>= 2.1.0'
+  gem 'addressable','>= 2.7.0', '< 2.8'
+  gem 'delayer','>= 1.0.1', '< 1.1'
+  gem 'delayer-deferred','>= 2.1.1', '< 2.2'
+  gem 'diva','>= 1.0.1', '< 1.1'
+  gem 'memoist','>= 0.16.2', '< 0.17'
+  gem 'oauth','>= 0.5.4'
+  gem 'pluggaloid','>= 1.2.0', '< 1.3'
+  gem 'typed-array','>= 0.1.2', '< 0.2'
 end
 
 group :test do
-  gem 'test-unit', '~> 3.0'
-  gem 'rake', '~> 10.1'
-  gem 'watch', '~> 0.1'
-  gem 'mocha', '~> 0.14'
-  gem 'webmock', '~> 1.17'
-  gem 'ruby-prof'
+  gem 'test-unit','>= 3.3.4', '< 4.0'
+  gem 'rake','>= 13.0.1'
+  gem 'mocha','>= 1.11.1'
+  gem 'webmock','>= 3.7.6'
+  gem 'ruby-prof','>= 1.1.0'
 end
 
 
 group :plugin do
-  Dir.glob(File.expand_path(File.join(__dir__, 'core/plugin/*/Gemfile'))){ |path|
+  Dir.glob(File.expand_path(File.join(__dir__, 'plugin/*/Gemfile'))){ |path|
     eval File.open(path).read
   }
   Dir.glob(File.join(File.expand_path(ENV['MIKUTTER_CONFROOT'] || '~/.mikutter'), 'plugin/*/Gemfile')){ |path|
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
index 2e1f2fbd3820..63f9a63849b1 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
@@ -1,117 +1,103 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    atk (3.3.2)
-      glib2 (= 3.3.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    atk (3.4.1)
+      glib2 (= 3.4.1)
     cairo (1.16.4)
       native-package-installer (>= 1.0.3)
       pkg-config (>= 1.2.2)
-    cairo-gobject (3.3.2)
+    cairo-gobject (3.4.1)
       cairo (>= 1.16.2)
-      glib2 (= 3.3.2)
+      glib2 (= 3.4.1)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    delayer (0.0.2)
-    delayer-deferred (2.0.0)
-      delayer (>= 0.0.2, < 0.1)
-    diva (0.3.2)
-      addressable (>= 2.5, < 2.6)
-    gdk_pixbuf2 (3.3.2)
-      gio2 (= 3.3.2)
+    delayer (1.0.1)
+    delayer-deferred (2.1.1)
+      delayer (>= 1.0, < 2.0)
+    diva (1.0.1)
+      addressable (>= 2.5.2, < 2.8)
+    gdk_pixbuf2 (3.4.1)
+      gio2 (= 3.4.1)
     gettext (3.2.9)
       locale (>= 2.0.5)
       text (>= 1.3.0)
-    gio2 (3.3.2)
-      gobject-introspection (= 3.3.2)
-    glib2 (3.3.2)
+    gio2 (3.4.1)
+      gobject-introspection (= 3.4.1)
+    glib2 (3.4.1)
       native-package-installer (>= 1.0.3)
-      pkg-config (>= 1.2.2)
-    gobject-introspection (3.3.2)
-      glib2 (= 3.3.2)
-    gtk2 (3.3.2)
-      atk (= 3.3.2)
-      gdk_pixbuf2 (= 3.3.2)
-      pango (= 3.3.2)
-    hashdiff (0.3.9)
+      pkg-config (>= 1.3.5)
+    gobject-introspection (3.4.1)
+      glib2 (= 3.4.1)
+    gtk2 (3.4.1)
+      atk (= 3.4.1)
+      gdk_pixbuf2 (= 3.4.1)
+      pango (= 3.4.1)
+    hashdiff (1.0.0)
     httpclient (2.8.3)
-    idn-ruby (0.1.0)
     instance_storage (1.0.0)
-    irb (1.0.0)
-    json_pure (1.8.6)
+    io-console (0.5.3)
+    irb (1.2.1)
+      reline (>= 0.0.1)
     locale (2.1.2)
-    memoist (0.16.0)
-    metaclass (0.0.4)
+    memoist (0.16.2)
     mini_portile2 (2.4.0)
-    mocha (0.14.0)
-      metaclass (~> 0.0.1)
-    moneta (1.1.1)
-    native-package-installer (1.0.7)
-    nokogiri (1.10.3)
+    mocha (1.11.1)
+    moneta (1.2.1)
+    native-package-installer (1.0.9)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
     oauth (0.5.4)
-    pango (3.3.2)
-      cairo-gobject (= 3.3.2)
-      gobject-introspection (= 3.3.2)
-    pkg-config (1.3.7)
-    pluggaloid (1.1.2)
-      delayer
+    pango (3.4.1)
+      cairo-gobject (= 3.4.1)
+      gobject-introspection (= 3.4.1)
+    pkg-config (1.4.0)
+    pluggaloid (1.2.0)
+      delayer (>= 1.0.0, < 2.0)
       instance_storage (>= 1.0.0, < 2.0.0)
-    power_assert (1.1.4)
-    public_suffix (3.0.3)
-    rake (10.5.0)
-    ruby-hmac (0.4.0)
-    ruby-prof (0.17.0)
+    power_assert (1.1.5)
+    public_suffix (4.0.1)
+    rake (13.0.1)
+    reline (0.1.2)
+      io-console (~> 0.5)
+    ruby-prof (1.1.0)
     safe_yaml (1.0.5)
-    test-unit (3.3.2)
+    test-unit (3.3.4)
       power_assert
     text (1.3.1)
-    totoridipjp (0.1.0)
-    twitter-text (3.0.0)
-      idn-ruby
-      unf (~> 0.1.0)
     typed-array (0.1.2)
-    unf (0.1.4)
-      unf_ext
-    unf_ext (0.0.7.6)
-    watch (0.1.0)
-    webmock (1.24.6)
+    webmock (3.7.6)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
-      hashdiff
+      hashdiff (>= 0.4.0, < 2.0.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  addressable (>= 2.5.2, < 2.6)
-  delayer (~> 0.0)
-  delayer-deferred (>= 2.0, < 3.0)
-  diva (>= 0.3.2, < 2.0)
+  addressable (>= 2.7.0, < 2.8)
+  delayer (>= 1.0.1, < 1.1)
+  delayer-deferred (>= 2.1.1, < 2.2)
+  diva (>= 1.0.1, < 1.1)
   gettext (>= 3.2.9, < 3.3)
-  gtk2 (= 3.3.2)
+  gtk2 (= 3.4.1)
   httpclient
-  irb (>= 1.0.0, < 1.1)
-  json_pure (~> 1.8)
-  memoist (>= 0.16, < 0.17)
-  mocha (~> 0.14)
+  irb (>= 1.2.0, < 1.3)
+  memoist (>= 0.16.2, < 0.17)
+  mocha (>= 1.11.1)
   moneta
   nokogiri
-  oauth (>= 0.5.1)
-  pluggaloid (>= 1.1.1, < 2.0)
-  rake (~> 10.1)
-  ruby-hmac (~> 0.4)
-  ruby-prof
-  test-unit (~> 3.0)
-  totoridipjp
-  twitter-text (>= 2.1.0)
-  typed-array (~> 0.1)
-  watch (~> 0.1)
-  webmock (~> 1.17)
+  oauth (>= 0.5.4)
+  pluggaloid (>= 1.2.0, < 1.3)
+  rake (>= 13.0.1)
+  ruby-prof (>= 1.1.0)
+  test-unit (>= 3.3.4, < 4.0)
+  typed-array (>= 0.1.2, < 0.2)
+  webmock (>= 3.7.6)
 
 RUBY VERSION
-   ruby 2.5.5p157
+   ruby 2.7.0p0
 
 BUNDLED WITH
-   1.17.2
+   2.1.2
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/default.nix
index 3e2718c9c573..7d2037d16a77 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/default.nix
@@ -7,40 +7,44 @@
 # find latest version at: http://mikutter.hachune.net/download#download
 # run these commands:
 #
-# wget http://mikutter.hachune.net/bin/mikutter.3.8.7.tar.gz
-# tar xvf mikutter.3.8.7.tar.gz
+# wget http://mikutter.hachune.net/bin/mikutter.4.0.0.tar.gz
+# mkdir mikutter
 # cd mikutter
+# tar xvf ../mikutter.4.0.0.tar.gz
 # find . -not -name Gemfile -exec rm {} \;
 # find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \;
 # cd ..
 # mv mikutter/* .
-# rm mikutter.3.8.7.tar.gz
+# rm mikutter.4.0.0.tar.gz
 # rm gemset.nix Gemfile.lock; nix-shell -p bundler bundix --run 'bundle lock && bundix'
 
 stdenv.mkDerivation rec {
   pname = "mikutter";
-  version = "3.8.7";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz";
-    sha256 = "1griypcd1xgyfd9wc3ls32grpw4ig0xxdiygpdinzr3bigfmd7iv";
-  };
-
-  env = bundlerEnv {
-    name = "mikutter-${version}-gems";
-    gemdir = ./.;
-
-    inherit ruby;
+    sha256 = "0nx14vlp7p69m2vw0s6kbiyymsfq0r2jd4nm0v5c4xb9avkpgc8g";
   };
 
   buildInputs = [ alsaUtils libnotify which gtk2 ruby atk gobject-introspection ];
   nativeBuildInputs = [ wrapGAppsHook ];
 
-  postUnpack = ''
-    rm -rf $sourceRoot/vendor
+  unpackPhase = ''
+    mkdir source
+    cd source
+    unpackFile $src
+    rm -rf vendor
   '';
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "mikutter-${version}-gems";
+      gemdir = ./.;
+
+      inherit ruby;
+    };
+  in ''
     install -v -D -m644 README $out/share/doc/mikutter/README
     install -v -D -m644 LICENSE $out/share/doc/mikutter/LICENSE
     rm -v README LICENSE
@@ -73,5 +77,6 @@ stdenv.mkDerivation rec {
     homepage = https://mikutter.hachune.net;
     platforms = ruby.meta.platforms;
     license = licenses.mit;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
index 5f3ef945b3d4..88ea97be1caf 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.7.0";
   };
   atk = {
     dependencies = ["glib2"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17c5ixwyg16lbbjix2prk7fa6lm0vkxvc1z6m6inc6jgkb1x0700";
+      sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   cairo = {
     dependencies = ["native-package-installer" "pkg-config"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12q441a5vnfvbcnli4fpq2svb75vq1wvs2rlgsp6fv38fh6fgsfz";
+      sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   crack = {
     dependencies = ["safe_yaml"];
@@ -59,10 +59,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "156vy4x1d2jgafkjaafzfz7g8ghl4p5zgbl859b8slp4wdxy3v1r";
+      sha256 = "09p4rkh3dpdm1mhq721m4d6zvxqqp44kg7069s8l7kmaf7nv2nb3";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "1.0.1";
   };
   delayer-deferred = {
     dependencies = ["delayer"];
@@ -70,10 +70,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvqphyzngj5wghgbb2nd1qj2qvj2plsz9vx8hz24c7bfq55n4xz";
+      sha256 = "1mbdxn1hskjqf3zlj4waxl71ccvbj6lk81c99769paxw4fajwrgx";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.1";
   };
   diva = {
     dependencies = ["addressable"];
@@ -81,10 +81,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rp125gdlq7jqq7x8la52pdpimhx5wr66frcgf6z4jm927rjw84d";
+      sha256 = "182gws1zihhpl7r3m8jsf29maqg9xdhj46s9lidbldar8clpl23h";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "1.0.1";
   };
   gdk_pixbuf2 = {
     dependencies = ["gio2"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "071z8a8khs5qb43ri5hbvaijwbx43mick7cjfmhn6javifkzijk7";
+      sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gettext = {
     dependencies = ["locale" "text"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f131yd9zzfsjn8i4k8xkl7xm3c5f9sm7irvwxnqqh635qccfz8n";
+      sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   glib2 = {
     dependencies = ["native-package-installer" "pkg-config"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13r1i8gkgxj0fjz7bdnqqrsvszl7dffbf85ghx2f8p7zrcbzlk3p";
+      sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gobject-introspection = {
     dependencies = ["glib2"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15njcm0yg4qpwkhyx6gf2nxvjl6fxm9jffan8zrl2xyh68yr4jf7";
+      sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gtk2 = {
     dependencies = ["atk" "gdk_pixbuf2" "pango"];
@@ -147,20 +147,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a4lj6anmvr82cwrg8swzglz90jss995zr7bvsiwr876qqdwv7qs";
+      sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   hashdiff = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x";
+      sha256 = "18jqpbvidrlnq3xf0hkdbs00607jgz35lry6gjw4bcxgh52am2mk";
       type = "gem";
     };
-    version = "0.3.9";
+    version = "1.0.0";
   };
   httpclient = {
     groups = ["plugin"];
@@ -172,16 +172,6 @@
     };
     version = "2.8.3";
   };
-  idn-ruby = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   instance_storage = {
     groups = ["default"];
     platforms = [];
@@ -192,25 +182,26 @@
     };
     version = "1.0.0";
   };
-  irb = {
+  io-console = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "181d88hns00fpw8szg8hbchflwq69wp3y5zvd3dyqjzbq91v1dcr";
+      sha256 = "0srn91ly4cc5qvyj3r87sc7v8dnm52qj1hczzxmysib6ffparngd";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.5.3";
   };
-  json_pure = {
-    groups = ["default"];
+  irb = {
+    dependencies = ["reline"];
+    groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam";
+      sha256 = "1r1y8i46qd5izdszzzn5jxvwvq00m89rk0hm8cs8f21p7nlwmh5w";
       type = "gem";
     };
-    version = "1.8.6";
+    version = "1.2.1";
   };
   locale = {
     groups = ["default" "plugin"];
@@ -227,20 +218,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
+      sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55";
       type = "gem";
     };
-    version = "0.16.0";
-  };
-  metaclass = {
-    groups = ["default" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
-      type = "gem";
-    };
-    version = "0.0.4";
+    version = "0.16.2";
   };
   mini_portile2 = {
     groups = ["default" "plugin"];
@@ -253,35 +234,34 @@
     version = "2.4.0";
   };
   mocha = {
-    dependencies = ["metaclass"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0id1x7g46fzy8f4jna20ys329ydaj3sad75qs9db2a6nd7f0zc2b";
+      sha256 = "06i2q5qjr9mvjgjc8w41pdf3qalw340y33wjvzc0rp4a1cbbb7pp";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "1.11.1";
   };
   moneta = {
     groups = ["plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbs9w3c13phza8008mwlx8s991fzigml7pncq94i1c2flz9vw95";
+      sha256 = "0q7fskfdc0h5dhl8aamg3ypybd6cyl4x0prh4803gj7hxr17jfm1";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.1";
   };
   native-package-installer = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03qrzhk807f98bdwy6c37acksyb5fnairdz4jpl7y3fifh7k7yfn";
+      sha256 = "0piclgf6pw7hr10x57x0hn675djyna4sb3xc97yb9vh66wkx1fl0";
       type = "gem";
     };
-    version = "1.0.7";
+    version = "1.0.9";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -289,10 +269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.7";
   };
   oauth = {
     groups = ["default"];
@@ -310,20 +290,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbhjsd6y42iw572xcynd6gcapczjki41h932s90rkh6022pbm9p";
+      sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   pkg-config = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s56ym0chq3fycl29vqabcalqdcf7y2f25pmihjwqgbmrmzdyvr1";
+      sha256 = "1cxdpr2wlz9b587avlq04a1da5fz1vdw8jvr6lx23mcq7mqh2xcx";
       type = "gem";
     };
-    version = "1.3.7";
+    version = "1.4.0";
   };
   pluggaloid = {
     dependencies = ["delayer" "instance_storage"];
@@ -331,60 +311,61 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fkm6y7aq132icmmv4k8mqw08fxqil8k52l8li642jyi79hvzrqh";
+      sha256 = "1gv0rjjdic8c41gfr3kyyphvf0fmv5rzcf6qd57zjdfcn6fvi3hh";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.2.0";
   };
   power_assert = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "072y5ixw59ad47hkfj6nl2i4zcyad8snfxfsyyrgjkiqnvqwvbvq";
+      sha256 = "1dii0wkfa0jm8sk9b20zl1z4980dmrjh0zqnii058485pp3ws10s";
       type = "gem";
     };
-    version = "1.1.4";
+    version = "1.1.5";
   };
   public_suffix = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.1";
   };
   rake = {
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
       type = "gem";
     };
-    version = "10.5.0";
+    version = "13.0.1";
   };
-  ruby-hmac = {
-    groups = ["default"];
+  reline = {
+    dependencies = ["io-console"];
+    groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954";
+      sha256 = "0908ijrngc3wkn5iny7d0kxkp74w6ixk2nwzzngplplfla1vkp8x";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.1.2";
   };
   ruby-prof = {
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
+      sha256 = "18ga5f4h1fnwn0xh910kpnw4cg3lq3jqljd3h16bdw9pgc5ff7dn";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "1.1.0";
   };
   safe_yaml = {
     groups = ["default" "test"];
@@ -402,10 +383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hf47w70ajvwdchx0psq3dir26hh902x9sz0iwbxqj8z9w1kc6sd";
+      sha256 = "0mrkpb6wz0cs1740kaca240k4ymmkbvb2v5xaxsy6vynqw8n0g6z";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.3.4";
   };
   text = {
     groups = ["default" "plugin"];
@@ -417,27 +398,6 @@
     };
     version = "1.3.1";
   };
-  totoridipjp = {
-    groups = ["plugin"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03ci9hbwc6xf4x0lkm6px4jgbmi37n8plsjhbf2ir5vka9f29lck";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  twitter-text = {
-    dependencies = ["idn-ruby" "unf"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ibk4bl9hrq0phlg7zplkilsqgniji6yvid1a7k09rs0ai422jax";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
   typed-array = {
     groups = ["default"];
     platforms = [];
@@ -448,46 +408,15 @@
     };
     version = "0.1.2";
   };
-  unf = {
-    dependencies = ["unf_ext"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  unf_ext = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf";
-      type = "gem";
-    };
-    version = "0.0.7.6";
-  };
-  watch = {
-    groups = ["test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02g4g6ynnldyjjzrh19r584gj4z6ksff7h0ajz5jdwhpp5y7cghx";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03vlr6axajz6c7xmlk0w1kvkxc92f8y2zp27wq1z6yk916ry25n5";
+      sha256 = "19xvs7gdf8r75bmyb17w9g367qxzqnlrmbdda1y36cn1vrlnf2l8";
       type = "gem";
     };
-    version = "1.24.6";
+    version = "3.7.6";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile
index efe602edc4f2..3306c29e3cbf 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile
@@ -1,3 +1,4 @@
 source 'https://rubygems.org'
 
-gem 'gtk2', '3.3.2'
+gem 'gtk2', '3.4.1'
+
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile
index f86005fef078..f86005fef078 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile
index ee2ecf52d42e..66016eee9c46 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile
@@ -2,4 +2,3 @@ source 'https://rubygems.org'
 
 gem 'nokogiri'
 gem 'httpclient'
-gem 'totoridipjp'
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile
index 61424d395f9b..14ebffd4e0ad 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile
@@ -2,5 +2,5 @@ source 'https://rubygems.org'
 
 group :default do
   gem 'gettext', '>= 3.2.9', '< 3.3'
-  gem 'irb', '>= 1.0.0', '< 1.1'
+  gem 'irb', '>= 1.2.0', '< 1.3'
 end
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
index eb6d954eb334..bfd4b1abd5e5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [pkgconfig];
   buildInputs = [gtk2 glib pidgin];
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   postPatch = ''
     sed -e 's/-Wl,-soname//' -i Makefile
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
index 057e447eb1c8..6d527f3a7e46 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
index 310d419718fe..e9a0812e925b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
@@ -1,23 +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";
   };
 
+  NIX_CFLAGS_COMPILE = builtins.toString [
+    # 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/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix
index a2e59f0c0ff2..edb4ca3c3495 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION lib/purple-2|' CMakeLists.txt
   '';
 
-  cmakeFlags = "-DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=1";
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=1" ];
 
   meta = {
     homepage = https://bitbucket.org/olegoandreev/purple-vk-plugin;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 5b3e09440a63..3d1a6ac534c5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "pidgin-sipe";
-  version = "1.24.0";
+  version = "1.25.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz";
-    sha256 = "04cxprz6dbcsc4n2jg72mr1r9630nhrywn0zim9kwvbgps3wdd9c";
+    sha256 = "0262sz00iqxylx0xfyr48xikhiqzr8pg7b4b7vwj5iv4qxpxv939";
   };
 
   nativeBuildInputs = [ intltool ];
   buildInputs = [ pidgin gmime libxml2 nss ];
   enableParallelBuilding = true;
 
-  postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
+  postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
 
   meta = with stdenv.lib; {
     description = "SIPE plugin for Pidgin IM";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
index ef298883b1b4..c38ff8f454e9 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=cast-function-type" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pidgin libwebp libgcrypt gettext ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
index 1ddc603dc62e..1d70c9641f8e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
@@ -23,7 +23,7 @@ buildGoPackage rec {
   buildInputs = [ trousers gtk3 gtkspell3 ]
     ++ stdenv.lib.optional stdenv.hostPlatform.isx86_64 dclxvi
     ++ stdenv.lib.optionals gui [ wrapGAppsHook ];
-  buildFlags = stdenv.lib.optionalString (!gui) "-tags nogui";
+  buildFlags = stdenv.lib.optionals (!gui) [ "-tags" "nogui" ];
   excludedPackages = "\\(appengine\\|bn256cgo\\)";
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isx86_64 ''
     grep -r 'bn256' | awk -F: '{print $1}' | xargs sed -i \
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 02be3c24e512..8281e3b606a7 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -22,13 +22,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "profanity";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "profanity-im";
     repo = "profanity";
     rev = version;
-    sha256 = "15adg7ndjkzy04lizjmnvv0pf0snhzp6a8x74mndcm0zma0dia0z";
+    sha256 = "1mcgr86wqyzqx7mqxfkk2jwx6cgnvrky3zi4v1ww0lh6j05wj9gf";
   };
 
   patches = [ ./patches/packages-osx.patch ./patches/undefined-macros.patch ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 16fb1bbab1ed..d7741bda646e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchFromGitHub, cmake
-, qt5, libidn, qca2-qt5, libXScrnSaver, hunspell
+, qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
+, libidn, qca2-qt5, qtkeychain, libXScrnSaver, hunspell
 , libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
 }:
 
 stdenv.mkDerivation rec {
   pname = "psi-plus";
-  version = "1.4.504";
+  version = "1.4.904";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "1nv1ynad2gcn7r8mm2w3kixmahaql7xax1lccsqyxqmj1r0klk8q";
+    sha256 = "1bs7yk3qp91sm8nb9gna8vm59381afn1wfs7aii9yi29bhx6fw9h";
   };
 
   resources = fetchFromGitHub {
     owner = "psi-plus";
     repo = "resources";
-    rev = "d623f57db35eb5af81ccdf69b2cbe1c437190f29";
-    sha256 = "024cyazyxka5vcbjrkkw32c5zw6aa70n50fdp6zh5v5c51d9ci8k";
+    rev = "182c92ca0bcc055579d8c91bccba9efe157e77a9";
+    sha256 = "06k7q63cxpifpzjnlw1snclkr2mwf9fh71cgfd40n7jgzswzwhpb";
   };
 
   postUnpack = ''
@@ -32,8 +33,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    qt5.qtbase qt5.qtmultimedia qt5.qtx11extras qt5.qttools qt5.qtwebkit
-    libidn qca2-qt5 libXScrnSaver hunspell
+    qtbase qtmultimedia qtx11extras qttools qtwebengine
+    libidn qca2-qt5 qtkeychain libXScrnSaver hunspell
     libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/psi/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/psi/default.nix
index e895b3cc00d1..19438c4d037b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/psi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/psi/default.nix
@@ -1,27 +1,26 @@
-{ stdenv, fetchurl, enchant, qt4, zlib, sox, libX11, xorgproto, libSM
-, libICE, qca2, pkgconfig, which, glib
-, libXScrnSaver
+{ stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
+, qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
+, libidn, qca2-qt5, libXScrnSaver, hunspell
 }:
-
 stdenv.mkDerivation rec {
-  name = "psi-0.15";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/psi/${name}.tar.bz2";
-    sha256 = "593b5ddd7934af69c245afb0e7290047fd7dedcfd8765baca5a3a024c569c7e6";
+  pname = "psi";
+  version = "1.4";
+  src = fetchFromGitHub {
+    owner = "psi-im";
+    repo = pname;
+    rev = version;
+    sha256 = "09c7cg96vgxzgbpypgcw7yv73gvzppbi1lm4svbpfn2cfxy059d4";
+    fetchSubmodules = true;
   };
-
-  buildInputs =
-    [ enchant qt4 zlib sox libX11 xorgproto libSM libICE
-      qca2 pkgconfig which glib libXScrnSaver
-    ];
-
-  NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
-
-  NIX_LDFLAGS="-lqca";
-
+  patches = [
+    ./fix-cmake-hunspell-1.7.patch
+  ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = [
+    qtbase qtmultimedia qtx11extras qttools qtwebengine
+    libidn qca2-qt5 libXScrnSaver hunspell
+  ];
   enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Psi, an XMPP (Jabber) client";
     maintainers = [ maintainers.raskin ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/psi/fix-cmake-hunspell-1.7.patch b/nixpkgs/pkgs/applications/networking/instant-messengers/psi/fix-cmake-hunspell-1.7.patch
new file mode 100644
index 000000000000..7d5711a6f2bc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/psi/fix-cmake-hunspell-1.7.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/modules/FindHunspell.cmake b/cmake/modules/FindHunspell.cmake
+index a2d180b3..3a5aef3a 100644
+--- a/cmake/modules/FindHunspell.cmake
++++ b/cmake/modules/FindHunspell.cmake
+@@ -64,6 +64,7 @@ set(HUNSPELL_NAMES
+ 	hunspell-1.4
+ 	hunspell-1.5
+ 	hunspell-1.6
++	hunspell-1.7
+ 	libhunspell${d}
+ )
+ find_library(
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
index 3f6b23d70a05..111f4e728e78 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
@@ -12,14 +12,15 @@ python2Packages.buildPythonApplication rec {
     sha256 = "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35";
   };
 
-  propagatedBuildInputs = with python2Packages; [ msgpack-python pyqt4 numpy pyopencl ] ++ [ openssl ];
+  propagatedBuildInputs = with python2Packages; [ msgpack pyqt4 numpy pyopencl setuptools ] ++ [ openssl ];
 
   preConfigure = ''
     # Remove interaction and misleading output
     substituteInPlace setup.py \
       --replace "nothing = raw_input()" pass \
       --replace 'print "It looks like building the package failed.\n" \' pass \
-      --replace '    "You may be missing a C++ compiler and the OpenSSL headers."' pass
+      --replace '    "You may be missing a C++ compiler and the OpenSSL headers."' pass \
+      --replace 'msgpack-python' 'msgpack'
 
     substituteInPlace src/pyelliptic/openssl.py \
       --replace "libdir.append(find_library('ssl'))" "libdir.append('${openssl.out}/lib/libssl.so')"
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 569c7b68edc6..757551c70740 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,6 +1,8 @@
 { mkDerivation, stdenv, lib, fetchFromGitHub, cmake
 , qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools
-, libqmatrixclient_0_5 }:
+, libqmatrixclient_0_5
+, gnome3
+}:
 
 let
   generic = version: sha256: prefix: library: mkDerivation {
@@ -14,7 +16,7 @@ let
       inherit sha256;
     };
 
-    buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain library ];
+    buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain library gnome3.libsecret ];
 
     nativeBuildInputs = [ cmake qttools ];
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/bare.nix
index a23dbda6cb2a..1a11e8c04439 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-bare";
-  version = "0.6.9";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "ramboxapp";
     repo = "community-edition";
     rev = version;
-    sha256 = "1h44srl2gzkhjaazpwz1pwy4dp5x776fc685kahlvjlsfls0fvy9";
+    sha256 = "03pwzyij2i5m23qzhyqdcipixmqj46qbjmq626swwqy03a0p91qv";
   };
 
   nativeBuildInputs = [ nodejs-10_x ruby sencha ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     inherit src;
 
     nodejs = nodejs-10_x;
-    sha256 = "0qsgr8cq81yismal5sqr02skakqpynwwzk5s98dr5bg91y361fgy";
+    sha256 = "05vb0r0q3ckg2g87fsm22j0cbfvk81q5z43zwmrzh3pb3zh54xj1";
   };
 
   patches = [ ./isDev.patch ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index 9a0aab6f8ce1..8b1f4d4c0e94 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-pro";
-  version = "1.1.6";
+  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 = "1jdamjdl649315ms5g1c7m7gpy04rv7xpy6bsvink242adaq2pjz";
+    sha256 = "189rpsrs25c4100xf1zhcwvdyigbzsw8ffhayj8mmrx4akg39653";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index b9017c12d60b..c49934b96f77 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/nixpkgs/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.3.5",
+  "version": "1.5.6",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index 1fde990e4a87..9b6f591bd42d 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/nixpkgs/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.3.5";
+  version = "1.5.6";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "05xwp6062lvjsy539swa6dxj3k3dw1667nkx8ffwdl1dg17wphy8";
+    sha256 = "148rg6wc84xy53bj16v5riw78s999ridid59x6v9jas827l0bdpk";
   };
 
-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/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index b938f4f47cf3..ada903701e26 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riot-web";
-  version = "1.3.5";
+  version = "1.5.6";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "0vpfv5rvrhrws52j4lxnj1qyagf9894znpxkdnkp72g19qsjn66g";
+    sha256 = "063ynbil038y201skyldj2ysr0hwgwq981w1iw104xd17x31zmn0";
   };
 
   installPhase = let
@@ -17,9 +17,13 @@ stdenv.mkDerivation rec {
       then writeText "riot-config.json" conf
       else "$out/config.sample.json";
   in ''
+    runHook preInstall
+
     mkdir -p $out/
     cp -R . $out/
     ln -s ${configFile} $out/config.json
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
index b646a9e03adf..f516e4a76f0a 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 010ea1bff7c3..8471f43c6dd0 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/nixpkgs/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.2";
+  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 = "050nizf7v10jlrwr8f4awzi2368qr01pzpvl2qkrwhdk25r505yr";
+    sha256 = "082kq8kadxbwzf31fmlq4in714id2irk0hhqsl53vsl3wmv45zvv";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals 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/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index f217084585a2..2e8581f4eae5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -2,7 +2,7 @@
 , gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
-, cups, expat, udev, libnotify, libuuid, at-spi2-core
+, cups, expat, udev, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
 # Unfortunately this also overwrites the UI language (not just the spell
 # checking language!):
 , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
@@ -37,6 +37,7 @@ let
     gnome2.GConf
     gtk3
     pango
+    libappindicator-gtk3
     libnotify
     libuuid
     libX11
@@ -58,7 +59,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "1.27.2"; # Please backport all updates to the stable channel.
+  version = "1.29.3"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -68,7 +69,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "08qh7867bc6z6mdbdilqdacx67n0kaxl3m4m97k0jxhd093a8xfz";
+    sha256 = "1rkj6rwmwwvyd5041r96j1dxlfbmc6xsdrza43c0ykdrhfj73h11";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -113,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/nixpkgs/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
index 3ac2b567a8cb..8093f91feb3e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   patches = [ ./conference.patch ];
 
   buildInputs = [ cmake lame id3lib libvorbis qt4 libogg ];
-  NIX_LDFLAGS = [ "-lvorbis" ];
+  NIX_LDFLAGS = "-lvorbis";
 
   meta = {
     homepage = http://atdot.ch/scr/;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index cbab67e5e1a5..d43d8e1f988a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/nixpkgs/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.51.0.72";
+  version = "8.55.0.123";
 
   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 = "1rv3jxirlfy0gvphw8cxmwmghbak5m5wj0y3bgamcvma48mzdfk3";
+        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 = "08dvgqwj7f8k3xv5kv96k6v6ga1v2chif9m7amncg6ppp81hy7nx";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index d3aa302d601a..e501d3bcdbfc 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/nixpkgs/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, xdg_utils
 }:
 
 let
 
-  version = "4.0.2";
+  version = "4.2.0";
 
   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 = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
       }
     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
@@ -87,7 +93,8 @@ in stdenv.mkDerivation {
     # Replace the broken bin/slack symlink with a startup wrapper
     rm $out/bin/slack
     makeWrapper $out/lib/slack/slack $out/bin/slack \
-      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH
+      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+      --prefix PATH : ${xdg_utils}/bin
 
     # Fix the desktop link
     substituteInPlace $out/share/applications/slack.desktop \
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh
index e5f793883538..6a15298c4e7d 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/swift-im/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/swift-im/default.nix
index db1d0a54dce0..d47b7d00af92 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/swift-im/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/swift-im/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ GConf ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-I${libxml2.dev}/include/libxml2"
     "-I${miniupnpc}/include/miniupnpc"
     "-I${qtwebkit.dev}/include/QtWebKit"
@@ -31,10 +31,8 @@ stdenv.mkDerivation rec {
     "-fpermissive"
   ];
 
-  preInstall = ''
-    installTargets="$out"
-    installFlags+=" SWIFT_INSTALLDIR=$out"
-  '';
+  installTargets = [ (placeholder "out") ];
+  installFlags = [ "SWIFT_INSTALLDIR=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     homepage = https://swift.im/;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
new file mode 100644
index 000000000000..0921dcfccdd9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, dpkg
+, atomEnv
+, libuuid
+, pulseaudio
+, at-spi2-atk
+, coreutils
+, gawk
+, xdg_utils
+, systemd }:
+
+stdenv.mkDerivation rec {
+  pname = "teams";
+  version = "1.2.00.32451";
+
+  src = fetchurl {
+    url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
+    sha256 = "1p053kg5qksr78v2h7cxia5mb9kzgfwm6n99x579vfx48kka1n18";
+  };
+
+  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
+
+  unpackCmd = "dpkg -x $curSrc .";
+
+  buildInputs = atomEnv.packages ++ [
+    libuuid
+    at-spi2-atk
+  ];
+
+  runtimeDependencies = [
+    systemd.lib
+    pulseaudio
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg_utils}/bin")
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{opt,bin}
+
+    mv share/teams $out/opt/
+    mv share $out/share
+
+    substituteInPlace $out/share/applications/teams.desktop \
+      --replace /usr/bin/ $out/bin/
+
+    ln -s $out/opt/teams/teams $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Microsoft Teams";
+    homepage = "https://teams.microsoft.com";
+    downloadPage = "https://teams.microsoft.com/downloads";
+    license = licenses.unfree;
+    maintainers = [ maintainers.liff ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 3c532fa506a5..a75d0c8633a2 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl
 , xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, qtsvg, xkeyboard_config, alsaLib
-, libpulseaudio ? null, libredirect, quazip, less, which, unzip, llvmPackages
+, libpulseaudio ? null, libredirect, quazip, which, unzip, llvmPackages, writeShellScriptBin
 }:
 
 let
@@ -26,18 +26,20 @@ let
     categories = "Network";
   };
 
+  fakeLess = writeShellScriptBin "less" "cat";
+
 in
 
 stdenv.mkDerivation rec {
   pname = "teamspeak-client";
 
-  version = "3.3.0";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run";
     sha256 = if stdenv.is64bit
-                then "13286dbjp4qiyfv8my1hfpwzns4szdsnqa11j8ygsh5ikgjk338a"
-                else "04lwclq7nvw73v5fmn9795j5wi54syglc77ldl41caiqqhdqf1i5";
+                then "1n916ds67dxj5bfgc5zm9nz2xh2914k85pzzspzvfyr7njcw7hpi"
+                else "0csl5xklcb4v8bzwvby5m2n38zjrnaw8dcvha7qvfbjllxr75yn2";
   };
 
   # grab the plugin sdk for the desktop icon
@@ -46,11 +48,11 @@ stdenv.mkDerivation rec {
     sha256 = "1bywmdj54glzd0kffvr27r84n4dsd0pskkbmh59mllbxvj0qwy7f";
   };
 
-  buildInputs = [ makeWrapper less which unzip ];
+  nativeBuildInputs = [ makeWrapper fakeLess which unzip ];
 
   unpackPhase =
     ''
-      echo -e 'q\ny' | sh -xe $src
+      echo -e '\ny' | sh -xe $src
       cd TeamSpeak*
     '';
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index 15cec96afc77..9c57ac829afb 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -4,13 +4,13 @@ let
   arch = if stdenv.is64bit then "amd64" else "x86";
 in stdenv.mkDerivation rec {
   pname = "teamspeak-server";
-  version = "3.9.1";
+  version = "3.10.2";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
     sha256 = if stdenv.is64bit
-      then "0vzi0prnqhjxrwlghwgii0rsmml6aa3qk3yv227g9wz5m3b9f10a"
-      else "1nn0fh4s5rmnn27djbsk21jaah1kxyvap9qaf5p4r7cydwr1bzm6";
+      then "03c717qjlbym02nwy82l6jhrkbidsdm1jv5k8p3c10p6a46jy9nl"
+      else "1ay0lmbv2rw9klz289yg0hhsac83kfzzlbwwhjpi28xndl2lq4bf";
   };
 
   buildInputs = [ stdenv.cc.cc ];
@@ -28,12 +28,12 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "TeamSpeak voice communication server";
     homepage = https://teamspeak.com/;
-    license = stdenv.lib.licenses.unfreeRedistributable;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.arobyn ];
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arobyn gerschtli ];
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 26b858aa3b86..e57ff881af34 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
 , pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
 , qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
-, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
+, dee, ffmpeg_4, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 }:
 
 with lib;
 
 mkDerivation rec {
   pname = "telegram-desktop";
-  version = "1.8.8";
+  version = "1.8.15";
   # Note: Due to our strong dependency on the Arch patches it's probably best
   # to also wait for the Arch update (especially if the patches don't apply).
 
@@ -17,7 +17,7 @@ mkDerivation rec {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
-    sha256 = "1aj1pnzc6bz8jbdrfwdj2r54jhw9z7b5fd1095r007zmlnzs51lv";
+    sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
     fetchSubmodules = true;
   };
 
@@ -25,8 +25,8 @@ mkDerivation rec {
   archPatches = fetchsvn {
     url = "svn://svn.archlinux.org/community/telegram-desktop/trunk";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
-    rev = "509240";
-    sha256 = "1sf4mspbsqsnjzp9ys9l0asrx1bhj273d163i2bv1zhl4mmgpl3k";
+    rev = "512849";
+    sha256 = "1hl7znvv6qr4cwpkj8wlplpa63i1lhk2iax7hb4l1s1a4mijx9ls";
   };
   privateHeadersPatch = fetchpatch {
     url = "https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch";
@@ -38,8 +38,10 @@ mkDerivation rec {
   patches = [
     "${archPatches}/tdesktop.patch"
     "${archPatches}/no-gtk2.patch"
-    # "${archPatches}/Use-system-wide-font.patch"
+    "${archPatches}/Revert-Disable-DemiBold-fallback-for-Semibold.patch"
     "${archPatches}/tdesktop_lottie_animation_qtdebug.patch"
+    # "${archPatches}/Revert-Change-some-private-header-includes.patch"
+    # "${archPatches}/Use-system-wide-font.patch"
   ];
 
   postPatch = ''
@@ -57,7 +59,7 @@ mkDerivation rec {
 
   buildInputs = [
     qtbase qtimageformats gtk3 libappindicator-gtk3
-    dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
+    dee ffmpeg_4 openalSoft minizip libopus alsaLib libpulseaudio range-v3
   ];
 
   enableParallelBuilding = true;
@@ -87,7 +89,6 @@ mkDerivation rec {
 
   preConfigure = ''
     # Patches to revert:
-    patch -R -Np1 -i "${archPatches}/demibold.patch"
     patch -R -Np1 -i "${privateHeadersPatch}"
 
     # Patches to apply:
@@ -98,17 +99,17 @@ mkDerivation rec {
     # disable static-qt for rlottie
     sed "/RLOTTIE_WITH_STATIC_QT/d" -i "Telegram/gyp/lib_rlottie.gyp"
 
-    sed -i Telegram/gyp/telegram_linux.gypi \
+    sed -i Telegram/gyp/telegram/linux.gypi \
       -e 's,/usr,/does-not-exist,g' \
       -e 's,appindicator-0.1,appindicator3-0.1,g' \
       -e 's,-flto,,g'
 
-    sed -i Telegram/gyp/qt.gypi \
+    sed -i Telegram/gyp/modules/qt.gypi \
       -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
       -e 's,\d+",\d+" | head -n1,g'
-    sed -i Telegram/gyp/qt_moc.gypi \
+    sed -i Telegram/gyp/modules/qt_moc.gypi \
       -e "s,/usr/bin/moc,moc,g"
-    sed -i Telegram/gyp/qt_rcc.gypi \
+    sed -i Telegram/gyp/modules/qt_rcc.gypi \
       -e "s,/usr/bin/rcc,rcc,g"
 
     # Build system assumes x86, but it works fine on non-x86 if we patch this one flag out
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 3368ec1124eb..f3d1e6cfd750 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 8c777cd3f7d6..af0ca1589e5a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 7d68f66afc79..ef842275a5de 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,23 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, telepathy-glib, libxslt, makeWrapper }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, dconf
+, telepathy-glib
+, python3
+, libxslt
+, makeWrapper
+}:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-5.16.4";
   pname = "telepathy-mission-control";
+  version = "5.16.5";
+
+  outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp";
+    url = "https://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "00xxv38cfdirnfvgyd56m60j0nkmsv5fz6p2ydyzsychicxl6ssc";
   };
 
-  buildInputs = [ telepathy-glib telepathy-glib.python ]; # ToDo: optional stuff missing
+  buildInputs = [
+    python3
+  ]; # ToDo: optional stuff missing
+
+  nativeBuildInputs = [
+    pkgconfig
+    libxslt
+    makeWrapper
+  ];
 
-  nativeBuildInputs = [ pkgconfig libxslt makeWrapper ];
+  propagatedBuildInputs = [
+    telepathy-glib
+  ];
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
   preFixup = ''
-    wrapProgram "$out/libexec/mission-control-5" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+    wrapProgram "$lib/libexec/mission-control-5" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 0bc9b3124ee9..6513c6324a61 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     description = "Link-local XMPP connection manager for Telepathy";
     platforms = platforms.gnu ++ platforms.linux; # Random choice
     maintainers = [ maintainers.lethalman ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/twinkle/default.nix
new file mode 100644
index 000000000000..0378f50a9c00
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, libxml2
+, libsndfile
+, file
+, readline
+, bison
+, flex
+, ucommon
+, ccrtp
+, qtbase
+, qttools
+, qtquickcontrols2
+, alsaLib
+, speex
+, ilbc
+, fetchurl
+, mkDerivation
+, bcg729
+}:
+
+mkDerivation rec {
+  pname = "twinkle";
+  version = "1.10.2";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "LubosD";
+    rev = "v${version}";
+    sha256 = "0s0gi03xwvzp02ah4q6j33r9jx9nbayr6dxlg2ck9pwbay1nq1hx";
+  };
+
+  buildInputs = [
+    libxml2
+    file # libmagic
+    libsndfile
+    readline
+    ucommon
+    ccrtp
+    qtbase
+    qttools
+    qtquickcontrols2
+    alsaLib
+    speex
+    ilbc
+  ];
+
+  patches = [
+    (fetchurl { # https://github.com/LubosD/twinkle/pull/152 patch for bcg729 1.0.2+
+      url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
+      sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    bison
+    flex
+    bcg729
+  ];
+
+  cmakeFlags = [
+    "-DWITH_G729=On"
+    "-DWITH_SPEEX=On"
+    "-DWITH_ILBC=On"
+    /* "-DWITH_DIAMONDCARD=On" seems ancient and broken */
+  ];
+
+  meta = with stdenv.lib; {
+    changelog = "https://github.com/LubosD/twinkle/blob/${version}/NEWS";
+    description = "A SIP-based VoIP client";
+    homepage = "http://twinkle.dolezel.info/";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
index 1b3e1c8ad81a..acdec1dc99c9 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
index 03bf3b3bbdd2..165e3e959e0c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
@@ -1,27 +1,28 @@
 { stdenv, fetchurl, rpmextract, autoPatchelfHook
-, xorg, gtk2, gnome2, nss, alsaLib, udev, libnotify }:
+, xorg, gtk3, gnome2, nss, alsaLib, udev, libnotify
+, wrapGAppsHook }:
 
 let
-  version = "4.0.1";
+  version = "4.5.2";
 in stdenv.mkDerivation {
   pname = "vk-messenger";
   inherit version;
   src = {
     i686-linux = fetchurl {
       url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
-      sha256 = "0mgppa9qnhix64zp40dc05yc9klsc7qiwcgw7pwq2wm7m3fz3nm8";
+      sha256 = "11xsdmvd2diq3m61si87x2c08nap0vakcypm90wjmdjwayg3fdlw";
     };
     x86_64-linux = fetchurl {
       url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
-      sha256 = "0ra0y4dfx4gfa1r3lm6v42j7c9pf7a8vh12kxv3wkg3pvijwgdsm";
+      sha256 = "0j65d6mwj6rxczi0p9fsr6jh37jxw3a3h6w67xwgdvibb7lf3gbb";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
-  nativeBuildInputs = [ rpmextract autoPatchelfHook ];
+  nativeBuildInputs = [ rpmextract autoPatchelfHook wrapGAppsHook ];
   buildInputs = (with xorg; [
     libXdamage libXtst libXScrnSaver libxkbfile
   ]) ++ [
-    gtk2 gnome2.GConf nss alsaLib
+    gtk3 nss alsaLib
   ];
   runtimeDependencies = [ udev.lib libnotify ];
 
@@ -49,6 +50,5 @@ in stdenv.mkDerivation {
     license = licenses.unfree;
     maintainers = [ maintainers.gnidorah ];
     platforms = ["i686-linux" "x86_64-linux"];
-    hydraPlatforms = [];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index 9dbff13aca6c..ceb9b4a11403 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -8,7 +8,7 @@ with stdenv.lib;
 let
   bits = "x86_64";
 
-  version = "4.7.3";
+  version = "4.11.3";
 
   desktopItem = makeDesktopItem rec {
     name = "Wavebox";
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
-    sha256 = "1yg2lib4h5illz0ss4hvr78s4v1cjbxlczjzaw6bqigyk95smm23";
+    sha256 = "0z04071lq9bfyrlg034fmvd4346swgfhxbmsnl12m7c2m2b9z784";
   };
 
   # don't remove runtime deps
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 869dcb9d29bd..c04851d586b4 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/nixpkgs/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.10.2904";
-    x86_64-darwin = "3.10.3133";
+    x86_64-darwin = "3.12.3490";
+    x86_64-linux = "3.12.2916";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-linux = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn";
-    x86_64-darwin = "0d8g9fl3yciqp3aic374rzcywb5d5yipgni992khsfdfqhcvm3x9";
+    x86_64-darwin = "0xvhx3r99fl1v1cdqj6sk46kzxv9qi7j754amkhv7knrpmgyp55z";
+    x86_64-linux = "0xx03cpy6kapbjpygwranxjg1a0p8s1xq3cpapvi55rnkbk0qvjw";
   }.${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; [ 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,58 @@ 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";
+      desktopName = "Wire";
+      exec = "wire-desktop %U";
       genericName = "Secure messenger";
-      categories = "Network;InstantMessaging;Chat;VideoConference";
+      icon = "wire-desktop";
+      name = "wire-desktop";
+      extraEntries = ''
+        StartupWMClass="Wire"
+      '';
     };
 
     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 +121,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 +145,7 @@ let
     '';
   };
 
-in if stdenv.isDarwin
-  then darwin
-  else linux
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 933badccf631..972d7c13a283 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, autoPatchelfHook
+{ stdenv, fetchurl, mkDerivation, autoPatchelfHook, bash
 , fetchFromGitHub
 # Dynamic libraries
 , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative
@@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
 let
   inherit (stdenv.lib) concatStringsSep makeBinPath optional;
 
-  version = "3.0.291715.0908";
+  version = "3.5.336627.1216";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "1f2fcwf0p86bxcnfdhij6hvgizd7n7gjcccwzdm2jv0dbqskad2f";
+      sha256 = "04r45z2rjjn9gr7bxhfwg49xkyhmpcn5y6pdbkdnrfwzaqzisavz";
     };
   };
 
@@ -94,19 +94,35 @@ in mkDerivation {
         mkdir -p $out/share/icons/hicolor/$path/apps
         cp $icon $out/share/icons/hicolor/$path/apps/us.zoom.Zoom.png
     done
-
-    ln -s $out/share/zoom-us/zoom $out/bin/zoom-us
   '';
 
+  # $out/share/zoom-us isn't in auto-wrap directories list, need manual wrapping
+  dontWrapQtApps = true;
+
   qtWrapperArgs = [
     ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}''
     ''--prefix LD_PRELOAD : ${libv4l}/lib/libv4l/v4l2convert.so''
+    # --run "cd ${placeholder "out"}/share/zoom-us"
+    # ^^ unfortunately, breaks run arg into multiple array elements, due to
+    # some bad array propagation. We'll do that in bash below
   ];
 
+  postFixup = ''
+    # Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect
+    # everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm:
+    qtWrapperArgs+=( --run "cd ${placeholder "out"}/share/zoom-us" )
+
+    for app in ZoomLauncher zopen zoom; do
+      wrapQtApp $out/share/zoom-us/$app
+    done
+
+    ln -s $out/share/zoom-us/ZoomLauncher $out/bin/zoom-us
+  '';
+
   passthru.updateScript = ./update.sh;
 
   meta = {
-    homepage = https://zoom.us/;
+    homepage = "https://zoom.us/";
     description = "zoom.us video conferencing application";
     license = stdenv.lib.licenses.unfree;
     platforms = builtins.attrNames srcs;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index e06320424938..6214d4e26255 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix
new file mode 100644
index 000000000000..33392af766c9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
index 426619908d65..76cc393f26a3 100644
--- a/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -1,35 +1,19 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx, gx-go }:
+{ stdenv, buildGoModule, fetchFromGitHub, fetchgx, gx-go }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "0.9.0";
+  version = "0.11.0";
   rev = "v${version}";
 
-  goPackagePath = "github.com/ipfs/ipfs-cluster";
-
-  extraSrcPaths = [
-    (fetchgx {
-      inherit  src;name = "${pname}-${version}";
-      sha256 = "1k7xcirvi07p5g9gr9jcx5h39wk7jxfsyjrn5yraa8xdqhn6b6nx";
-    })
-  ];
+  modSha256 = "03bqwg9nqh7w6j887gzxr2mcn14jc8f07z896b3swg5wzaz1i6hs";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipfs-cluster";
     inherit rev;
-    sha256 = "1bxwcp0355f1ykjcidbxv218zp9d20nma7lnpn9xcjqc8vaq03kn";
+    sha256 = "0q5lanm2zdwwhdwv05fssb34y4y4dha3dq7x1iaabbf70lpqv6yx";
   };
 
-  nativeBuildInputs = [ gx-go ];
-
-  preBuild = ''
-    # fetchgx stores packages by their ipfs hash
-    # this will rewrite github.com/ imports to gx/ipfs/
-    cd go/src/${goPackagePath}
-    gx-go rewrite
-  '';
-
   meta = with stdenv.lib; {
     description = "Allocate, replicate, and track Pins across a cluster of IPFS daemons";
     homepage = https://cluster.ipfs.io/;
diff --git a/nixpkgs/pkgs/applications/networking/irc/bip/default.nix b/nixpkgs/pkgs/applications/networking/irc/bip/default.nix
index 249fdc958c80..43ec0910cc2b 100644
--- a/nixpkgs/pkgs/applications/networking/irc/bip/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/bip/default.nix
@@ -23,9 +23,21 @@ stdenv.mkDerivation rec {
       url = "https://projects.duckcorp.org/projects/bip/repository/revisions/39414f8ff9df63c8bc2e4eee34f09f829a5bf8f5/diff/src/connection.c?format=diff";
       sha256 = "1hvg58vci6invh0z19wf04jjvnm8w6f6v4c4nk1j5hc3ymxdp1rb";
     })
+    (fetchpatch {
+      url = "https://projects.duckcorp.org/projects/bip/repository/bip/revisions/87192685f55856d2c28021963ab2c308e21faddc/diff?format=diff";
+      sha256 = "0rspzp7q1lq8v0cl0c35xxpgisfk264i648vslgsjax2s0g9svx0";
+    })
+    (fetchpatch {
+      url = "https://projects.duckcorp.org/projects/bip/repository/bip/revisions/814d54c676d5827f6ea37c1cd2d6e846d080c13c/diff?format=diff";
+      sha256 = "137l77kmm6p9p4c4kvw2zc4xkr10ayyc9z5rlpwn67574h47v55i";
+    })
+    (fetchpatch {
+      url = "https://projects.duckcorp.org/projects/bip/repository/bip/revisions/d2dcb0adb1aa8c2c4526aa6ad650483b0e02ab7d/diff?format=diff";
+      sha256 = "1pvywaljdkmy4870xs6gvsk4qwg69h47qr0yjywbcdsfycrgp8aq";
+    })
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=unused-result" "-Wno-error=duplicate-decl-specifier" "-Wno-error=format-truncation" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=duplicate-decl-specifier";
 
   meta = {
     description = "An IRC proxy (bouncer)";
diff --git a/nixpkgs/pkgs/applications/networking/irc/epic5/default.nix b/nixpkgs/pkgs/applications/networking/irc/epic5/default.nix
index a90446a87fa9..0cf06a1f4522 100644
--- a/nixpkgs/pkgs/applications/networking/irc/epic5/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/epic5/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = http://epicsol.org;
     description = "A IRC client that offers a great ircII interface";
     license = licenses.bsd3;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/networking/irc/glowing-bear/default.nix b/nixpkgs/pkgs/applications/networking/irc/glowing-bear/default.nix
index 8bdb23d50dd3..2d12386bafac 100644
--- a/nixpkgs/pkgs/applications/networking/irc/glowing-bear/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix b/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix
index 331be19abc4c..7dd3792a3cb3 100644
--- a/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3
 , pciutils, dbus-glib, libcanberra-gtk2, libproxy
-, libsexy, enchant2, libnotify, openssl, isocodes
-, desktop-file-utils, hicolor-icon-theme
+, enchant2, libnotify, openssl, isocodes
+, desktop-file-utils
 , meson, ninja
 }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
-    libsexy libnotify openssl desktop-file-utils hicolor-icon-theme
+    libnotify openssl desktop-file-utils
     isocodes
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
index 6addd66ac634..f78053bdc37b 100644
--- a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
@@ -5,7 +5,7 @@
 , static ? false # link statically
 
 , stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
-, qtbase, qtscript
+, mkDerivation, qtbase, qtscript
 , phonon, libdbusmenu, qca-qt5
 
 , withKDE ? true # enable KDE integration
@@ -20,6 +20,7 @@
 }:
 
 let
+    inherit (stdenv) lib;
     buildClient = monolithic || client;
     buildCore = monolithic || enableDaemon;
 in
@@ -31,7 +32,7 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
 
-in with stdenv; mkDerivation rec {
+in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
   name = "quassel${tag}-${version}";
   version = "0.13.1";
 
@@ -45,7 +46,7 @@ in with stdenv; mkDerivation rec {
   enableParallelBuilding = true;
 
   # Prevent ``undefined reference to `qt_version_tag''' in SSL check
-  NIX_CFLAGS_COMPILE = [ "-DQT_NO_VERSION_TAGGING=1" ];
+  NIX_CFLAGS_COMPILE = "-DQT_NO_VERSION_TAGGING=1";
 
   buildInputs =
        [ cmake makeWrapper qtbase ]
@@ -67,13 +68,15 @@ in with stdenv; mkDerivation rec {
     ++ edf client "WANT_QTCLIENT"
     ++ edf withKDE "WITH_KDE";
 
-  preFixup =
+  dontWrapQtApps = true;
+
+  postFixup =
     lib.optionalString enableDaemon ''
-        wrapProgram "$out/bin/quasselcore" --suffix PATH : "${qtbase.bin}/bin"
+      wrapProgram "$out/bin/quasselcore" --suffix PATH : "${qtbase.bin}/bin"
     '' +
     lib.optionalString buildClient ''
-        wrapProgram "$out/bin/quassel${lib.optionalString client "client"}" \
-          --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
+      wrapQtApp "$out/bin/quassel${lib.optionalString client "client"}" \
+        --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
     '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/irc/sic/default.nix b/nixpkgs/pkgs/applications/networking/irc/sic/default.nix
index b081a6b3672d..409142955970 100644
--- a/nixpkgs/pkgs/applications/networking/irc/sic/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/sic/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "sic";
   version = "1.2";
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   src = fetchurl {
     url = "https://dl.suckless.org/tools/sic-${version}.tar.gz";
     sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
index 373560c43efe..ed58954894f7 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib
-, ncurses, openssl, aspell, gnutls
+, ncurses, openssl, aspell, gnutls, gettext
 , zlib, curl, pkgconfig, libgcrypt
 , cmake, makeWrapper, libobjc, libresolv, libiconv
 , asciidoctor # manpages
@@ -27,12 +27,12 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "2.6";
+      version = "2.7";
       pname = "weechat";
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "1narazk28m7lmn1vqi7bhyvnr8apjrmaa4w1hbadn64hwr8ya1hb";
+        sha256 = "00hzchzw1w2181kczcrrnj8ngml3bwk7qciha3higxq3qynf0h8c";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
@@ -41,6 +41,8 @@ let
       cmakeFlags = with stdenv.lib; [
         "-DENABLE_MAN=ON"
         "-DENABLE_DOC=ON"
+        "-DENABLE_JAVASCRIPT=OFF"  # Requires v8 <= 3.24.3, https://github.com/weechat/weechat/issues/360
+        "-DENABLE_PHP=OFF"
 
         # This just means it's okay to use Python 3 if it's in the environment.
         "-DENABLE_PYTHON3=ON"
@@ -50,7 +52,7 @@ let
         ;
 
       buildInputs = with stdenv.lib; [
-          ncurses openssl aspell gnutls zlib curl pkgconfig
+          ncurses openssl aspell gnutls gettext zlib curl pkgconfig
           libgcrypt makeWrapper cmake asciidoctor
           ]
         ++ optionals stdenv.isDarwin [ libobjc libresolv ]
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
index aeb13323029c..8a61c4f5acce 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, luaPackages }:
+{ callPackage, luaPackages, python3Packages }:
 
 {
   colorize_nicks = callPackage ./colorize_nicks { };
@@ -9,6 +9,8 @@
     inherit (luaPackages) cjson luaffi;
   };
 
+  weechat-matrix = python3Packages.callPackage ./weechat-matrix { };
+
   wee-slack = callPackage ./wee-slack { };
 
   weechat-autosort = callPackage ./weechat-autosort { };
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
index 6811cb164e0e..f3d96a1b5c6b 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/wee-slack/wee-slack;
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ willibutz ];
     description = ''
       A WeeChat plugin for Slack.com. Synchronizes read markers, provides typing notification, search, etc..
     '';
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
new file mode 100644
index 000000000000..ff6a7d947411
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/maestral/default.nix b/nixpkgs/pkgs/applications/networking/maestral/default.nix
index 65490ada653a..708957bdf015 100644
--- a/nixpkgs/pkgs/applications/networking/maestral/default.nix
+++ b/nixpkgs/pkgs/applications/networking/maestral/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "maestral${lib.optionalString withGui "-gui"}";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-dropbox";
     rev = "v${version}";
-    sha256 = "1jjn9cz43850xvs52gvx16qc5z4l91y4kpn6fpl05iwgaisbi1ws";
+    sha256 = "0xis0cqfp3wgajwk44dmi2gbfirmz0a0zi25qxdzpdn0z19hp88m";
   };
 
   disabled = python3Packages.pythonOlder "3.6";
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
index b94ce2695662..6915cfd79821 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -1,21 +1,26 @@
 { 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 = [
+    ./runtime-sharedir.patch
   ];
 
   pythonPath = [
@@ -24,6 +29,8 @@ buildGoModule rec {
 
   buildInputs = [ python3 perl ];
 
+  GOFLAGS="-tags=notmuch";
+
   buildPhase = "
     runHook preBuild
     # we use make instead of go build
@@ -39,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/nixpkgs/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
new file mode 100644
index 000000000000..ed670d61a7b3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -0,0 +1,56 @@
+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 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 | 8 ++++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d1c755d..1185a96 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,7 @@ aerc: $(GOSRC)
+ 		-o $@
+ 
+ aerc.conf: config/aerc.conf.in
+-	sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
++	cat config/aerc.conf.in > $@
+ 
+ DOCS := \
+ 	aerc.1 \
+diff --git a/config/config.go b/config/config.go
+index 32d07fc..8ffd3e8 100644
+--- a/config/config.go
++++ b/config/config.go
+@@ -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
+ 	}
++	for i, filter := range config.Filters {
++		config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir)
++	}
+ 	if ui, err := file.GetSection("general"); err == nil {
+ 		if err := ui.MapTo(&config.General); err != nil {
+ 			return nil, err
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
index 85b73141966b..54b3e10b5e29 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, pythonPackages, notmuch }:
+{ stdenv, python3Packages, notmuch }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "afew";
   version = "2.0.0";
 
-  src = pythonPackages.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
     sha256 = "0j60501nm242idf2ig0h7p6wrg58n5v2p6zfym56v9pbvnbmns0s";
   };
 
-  nativeBuildInputs = with pythonPackages; [ sphinx setuptools_scm ];
+  nativeBuildInputs = with python3Packages; [ sphinx setuptools_scm ];
 
-  propagatedBuildInputs = with pythonPackages; [
-    pythonPackages.setuptools pythonPackages.notmuch chardet dkimpy
-  ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) subprocess32;
+  propagatedBuildInputs = with python3Packages; [
+    python3Packages.setuptools python3Packages.notmuch chardet dkimpy
+  ] ++ stdenv.lib.optional (!python3Packages.isPy3k) subprocess32;
 
   makeWrapperArgs = [
     ''--prefix PATH ':' "${notmuch}/bin"''
@@ -22,7 +22,7 @@ pythonPackages.buildPythonApplication rec {
   outputs = [ "out" "doc" ];
 
   postBuild =  ''
-    python setup.py build_sphinx -b html,man
+    ${python3Packages.python.interpreter} setup.py build_sphinx -b html,man
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/balsa/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/balsa/default.nix
index 15f707e06a2d..e7c9d50cb9be 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/balsa/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls,
   webkitgtk, libesmtp, openssl, libnotify, gtkspell3, gpgme,
   libcanberra-gtk3, libsecret, gtksourceview, gobject-introspection,
-  hicolor-icon-theme, wrapGAppsHook
+  wrapGAppsHook
 }:
 
 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 = [
     pkgconfig
     intltool
     gobject-introspection
-    hicolor-icon-theme
     wrapGAppsHook
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index d7df94f7e673..e89a36eade07 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,8 +1,8 @@
 { config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook
-, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor-icon-theme
+, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme
 , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
-, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical 
+, openldap, perl, pkgconfig, poppler, python, shared-mime-info
+, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical
 # Build options
 # TODO: A flag to build the manual.
 # TODO: Plugins that complain about their missing dependencies, even when
@@ -13,7 +13,6 @@
 , enableNetworkManager ? config.networking.networkmanager.enable or false
 , enablePgp ? true
 , enablePluginArchive ? false
-, enablePluginFancy ? false
 , enablePluginNotificationDialogs ? true
 , enablePluginNotificationSounds ? true
 , enablePluginPdf ? false
@@ -56,7 +55,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ];
 
   buildInputs =
-    [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas hicolor-icon-theme
+    [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas
       libetpan perl glib-networking libSM libytnef
     ]
     ++ optional enableSpellcheck enchant
@@ -64,12 +63,10 @@ stdenv.mkDerivation rec {
     ++ optional enablePluginArchive libarchive
     ++ optional enablePluginNotificationSounds libcanberra-gtk2
     ++ optional enablePluginNotificationDialogs libnotify
-    ++ optional enablePluginFancy libsoup
     ++ optional enablePluginRssyl libxml2
     ++ optional enableNetworkManager networkmanager
     ++ optional enableLdap openldap
     ++ optional enablePluginPdf poppler
-    ++ optional enablePluginFancy webkitgtk24x-gtk2
     ++ optional enablePluginVcalendar libical;
 
   configureFlags =
@@ -81,7 +78,6 @@ stdenv.mkDerivation rec {
       "--disable-pgpmime-plugin"
     ]
     ++ optional (!enablePluginArchive) "--disable-archive-plugin"
-    ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
     ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
     ++ optional (!enablePluginPython) "--disable-python-plugin"
     ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix
new file mode 100644
index 000000000000..49f0ac533659
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, pkgconfig
+, gobject-introspection
+, pango
+, cairo
+, gtk2
+}:
+
+buildGoModule rec {
+  pname = "hasmail-unstable";
+  version = "2019-08-24";
+
+  src = fetchFromGitHub {
+    owner = "jonhoo";
+    repo = "hasmail";
+    rev = "eb52536d26815383bfe5990cd5ace8bb9d036c8d";
+    sha256 = "1p6kwa5xk1mb1fkkxz1b5rcyp5kb4zc8nfif1gk6fab6wbdj9ia1";
+  };
+
+  modSha256 = "0z3asz7v1izg81f9xifx9s2sp5hly173hajsn9idi3bkv0h78is2";
+
+  nativeBuildInputs = [
+    pkgconfig
+  ];
+
+  buildInputs = [
+    pango
+    cairo
+    gtk2
+  ];
+
+  meta = with lib; {
+    description = "Simple tray icon for detecting new email on IMAP servers";
+    homepage = "https://github.com/jonhoo/hasmail";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/imapfilter.nix b/nixpkgs/pkgs/applications/networking/mailreaders/imapfilter.nix
index 7d7972c3e582..38e4bf5d7105 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imapfilter";
-  version = "2.6.13";
+  version = "2.6.16";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "02997rnnvid3rfkxmlgjpbspi4svdmq8r8wd2zvf25iadim3hxqi";
+    sha256 = "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Mail filtering utility";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/lumail/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/lumail/default.nix
index 0a670b2b9a6a..44b97fb3793c 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/lumail/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/lumail/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
     sed -e "s|^#\!\(.*/perl.*\)$|#\!\1$perlFlags|" -i perl.d/imap-proxy
   '';
 
-  buildFlags = if debugBuild then "lumail2-debug" else "";
+  buildFlags = stdenv.lib.optional debugBuild "lumail2-debug";
 
   installPhase = ''
     mkdir -p $out/bin || true
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
index 6c3b3a69b1d6..ba8f272203bc 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
     install -Dm644 -t $out/share/zsh/site-functions contrib/_mblaze
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
index 7019c309feb9..2fb30e5ae6ad 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mlarchive2maildir";
-  version = "0.0.6";
+  version = "0.0.8";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "025mv890zsk25cral9cas3qgqdsszh5025khz473zs36innjd0mw";
+    sha256 = "1din3yay2sas85178v0xr0hbm2396y4dalkcqql1ny9vdm94h6sp";
   };
 
   nativeBuildInputs = with python3.pkgs; [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
index 3af4c7f5e15f..f0b8fdcf8e2a 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/nixpkgs/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.2";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "10k8352s0z7yan6d4z2am80qd3bsaky4h89g72wl4xr3x067ahmw";
+    sha256 = "0x4yfvk8415p80h9an242n6q3b43mw6mnnczh95zd3j0zwdr6wrg";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 615b810d0029..274d9d4718e2 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,23 +1,23 @@
 { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
 , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
-, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell
+, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite
 }:
 
 stdenv.mkDerivation rec {
-  version = "20180716";
+  version = "20191207";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
-    rev    = "neomutt-${version}";
-    sha256 = "0im2kkahkr04q04irvcimfawxi531ld6wrsa92r2m7l10gmijkl8";
+    rev    = version;
+    sha256 = "147yjpqnsbfy01fhsflxlixk0985r91a6bjmqq3cwmf7gka3sihm";
   };
 
   buildInputs = [
     cyrus_sasl gss gpgme kerberos libidn ncurses
     notmuch openssl perl lmdb
-    mailcap
+    mailcap sqlite
   ];
 
   nativeBuildInputs = [
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+    "--enable-autocrypt"
     "--gpgme"
     "--gss"
     "--lmdb"
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/notbit/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notbit/default.nix
index fcf1464ba239..370c4f838870 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notbit/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notbit/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ mog ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 01081ebfb3e2..64faee641f08 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -12,7 +12,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.29.1";
+  version = "0.29.2";
   pname = "notmuch";
 
   passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://notmuchmail.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq";
+    sha256 = "1pjmrnbn0iavm5pnw7wgfw5d6hg5i6miqfa6s7s4027vn94n3nhv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index 986ee5fe3c9e..8e1f67201207 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -21,10 +21,8 @@ stdenv.mkDerivation rec {
     ++ optionals gpgSupport [ gpgme ]
     ++ optionals sslSupport [ openssl ];
 
-  configureFlags = [
-    (optional gpgSupport "--enable-gpgme")
-    (optional sslSupport "--enable-ssl")
-  ];
+  configureFlags = optional gpgSupport "--enable-gpgme"
+    ++ optional sslSupport "--enable-ssl";
 
   meta = {
     homepage = http://sylpheed.sraoss.jp/en/;
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 680d7652b5a0..f46e355cd570 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/nixpkgs/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
@@ -160,11 +160,15 @@ stdenv.mkDerivation {
       EOF
 
       # SNAP_NAME: https://github.com/NixOS/nixpkgs/pull/61980
+      # MOZ_LEGACY_PROFILES and MOZ_ALLOW_DOWNGRADE:
+      #   commit 87e261843c4236c541ee0113988286f77d2fa1ee
       wrapProgram "$out/bin/thunderbird" \
         --argv0 "$out/bin/.thunderbird-wrapped" \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
         --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
-        --set SNAP_NAME "thunderbird"
+        --set SNAP_NAME "thunderbird" \
+        --set MOZ_LEGACY_PROFILES 1 \
+        --set MOZ_ALLOW_DOWNGRADE 1
     '';
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
@@ -181,7 +185,7 @@ stdenv.mkDerivation {
       free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 2de09fc73f43..5cfb14d2e2ff 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,615 +1,615 @@
 {
-  version = "68.1.0";
+  version = "68.3.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ar/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ar/thunderbird-68.3.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "b9bb22bdbe013358c03e804e3c51ad387dca503b9e0074db70494eb3f331d72bd8679db929972e75b39f2464d384753bcab9947d1a843a69167d7b3706952c35";
+      sha512 = "17052536aa5e0a3e2aae2ef7bd07fb44abdb8871df0d5fd99b9c2965ef747d542601bd6088701b5af0fead05617073f5a496af2d6626f77cedc7fa3e8e2a1c85";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ast/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ast/thunderbird-68.3.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "e00382241343bbd8a86e31dfcf5bbb060b46e5db6211cfa54c7192361353e2c4fe3d0ad3f4e0319ec1a0dc1f4590b7bc0271e5658bc468986d8e27a64d9924da";
+      sha512 = "218b923ec83a9c049d743ff75207b07619ea4368c0620a162eb2f48e094173b404c4a393327c4dc497ee951d97fc3010c424c3b186da0e1bb1a024d7f7b3769e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/be/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/be/thunderbird-68.3.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "f043c8aa5dac0d5e2f9da628d6659f654cc39726677424e4b5e5005e97bf202575f569ebdee346d37cc8d4d59da188e6cfe1bd6bf7df1acafe26b489242b4a9f";
+      sha512 = "74ed02a0e62a2eba57d2fec9485ff38974d8077c3a9e9b5f37bcaa5823a43ebde657f69f863ba72a079e9f3c0e8139dc12b192604c55024a48b1929b39ade504";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/bg/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/bg/thunderbird-68.3.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "61fcf864145fb4fd4a05bff47bd23a7be8444f9d067eec246399c3a7ce48db8744ba4a9cb42e28a215a5bb1b336a57c51d1a32e6564f42c8b9fd4dba5f629d9f";
+      sha512 = "95869b21e7141624310a9c6d0a021e84a507f13a06fbc68ece2eb20c8a302ccfae8dfe3fd00141aba0fec3becd5949520436d1a637234dee504a3bb71ed6e966";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/br/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/br/thunderbird-68.3.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "1cdc9b2a8ee82bb087a51ac013644ff3da5f1e161fca23fb24feae8076cef6c5aff5316f83a8ecfa4f08c3a8642501a333d3ef95b46b8f899ce78b79d027af4c";
+      sha512 = "8b76d5929bb1a45abe3d86b8725e268e67aa5bc427cdb2e6d3a60c3ae58dc0e1563fbe3b9a205836a71907fb0248ab4d8f9c11d5f646cb1a0ebb4a95aecb578f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ca/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ca/thunderbird-68.3.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "1b73ca87f3067ec2a84990c7c58060b11286dd653f4b8b4c18a44f5540ea195d25f995539de39b6e1de6cbbe54c890bf30f6d88157e000e30c69f4d32a4ae8f0";
+      sha512 = "62e161105db38e5fc9bc55a9cc0edfb42982fbe8af9a01a9664638e5fefa06aa4304ce4ddeffe893007dbdee873772571b99b03644027f42d576ac9d00e978b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/cak/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cak/thunderbird-68.3.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "1b2ec85786a842c7554f52b1ff72c4e5611a76bca94c4b8e9a79604d6b85d7f2deba906bbeca355dfd0c5a6c241d9bd397f4e0dfebd802cdb0c35162a02fd879";
+      sha512 = "f80101e3ac77d140ee27bd489174c61114b9f72c3b2185e1908d488f3f13c445a02d2c38ec897dcc24a66f87ebe2d76104d37ced482ea9fc1c7241edf38db724";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/cs/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cs/thunderbird-68.3.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "69df6542c5037815d3a80be764eaa809dd351f75417e4362a258df5e17e36aef6d8f8653429f4218f196ff096252e0304c2cca1cccbf8693d119bc05f1072067";
+      sha512 = "f4b27aae7c69c4a46c974f75f0f1a7a2154d422e236618df8efdf99859954b04c2b672c553fcadaaf07868fc95b35b75e678b855f5734d204cab32b0c20792ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/cy/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cy/thunderbird-68.3.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "5dc63d2746475f0045f7749e45bbc3f755b187521b0ca877ffab9386bb1bbe9b4fd66f9cc6bdac516ba591e71d71f02a75b5c965a610a3efbee3b59815d8deda";
+      sha512 = "5c94a45af181ab8f5c1f1c485a2f2af9fe82eca02f9a910326c69a555c5e3f7bdb99712d9efe0efeba3f2d8af30fe83f62191a4399434f442ffd7442f861fd08";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/da/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/da/thunderbird-68.3.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "89427a2b66dbd71cdfbb299a14ce7ed61ab4836e473854ea8b2ec522de64870f8886f6ae86428c9b1c86733aaa4ac7c732a708fccdd70d3e112d2f651c0dc762";
+      sha512 = "1141851239c3808f6fd65a027e7656279c950de67bf02416e43e37baf96e25ae567122e7610baa02fcf168a3b8e3d8b4200493d835a7a40b08cf99b4d42feb26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/de/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/de/thunderbird-68.3.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "34130ec994f6ee6a407313ccc61d43b0375046f59f75d4fb619776d5c880993802c16a3b8ec28dc7053b4ae89f91f1c2046da7d884d150aa7c3b65edd1650b21";
+      sha512 = "e201a89c573416cb1ae5d3f6fa9e7dd5f9ab53e60eba55755c78d70545f77341ddd4d7298903e2e424c9f6a14c5e10138348250c843d95b91503132b7909063d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/dsb/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/dsb/thunderbird-68.3.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "0b9c02a1e31f8f3120fb9ed520c53505dc247440ba2e189cbc58569be5ce6e0c33de220ebda17754338aa680cf5c8aac3ad7f5da14e0cbefc29f32db2446618a";
+      sha512 = "a7f700781d233b78a83cfb35fd1dd2393acd10d685b3dc4b333580c2511946f5e44f057e7ba775160ac2c635b5a15db0bb3faf0e7e946c92d365025eee6b741d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/el/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/el/thunderbird-68.3.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "1d8e2efc2c9a7375a2ce0f2137165756800a680209d18612420581963f13774fc7780ac0ccda24a485996531d1e82e027b42a671f1c8fce5e8ccf0887f72ac6f";
+      sha512 = "f88050e071131929ac728938674e1a77c938538634e6a11f7d085a577bcc7b49855cf568d1bdaf6b86a79052cd294d3cf7962650f11d066f5a98a3cd90856482";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/en-GB/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/en-GB/thunderbird-68.3.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "79684a833afe5d1025088d6f91e023c81832e9df83751926c5d9bc05fecb7f53d6efd096f55d65d45fa07309497cf5bed2e3b00cc4a80cc1e4ed2a0fe44d02a8";
+      sha512 = "314400d8f9cef4cb6d177b60824b371b6c135d0df5d5a69bf0d8870c3d51e88902df6404e7226abf5cba68de538f0b4019725c1a7f6f788270698ea0d26b75bb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/en-US/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/en-US/thunderbird-68.3.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "7a29cf0a238e44a2051b53e5476bc8f622dffd088251b66d951ad6874fba5fba180f440c80c7d5ae154c688d3e29fcc6c889f0031d81a018b7fd1dfd53f112a5";
+      sha512 = "6c8dd662d2e2d998476828247e5455219fce61c251a37d08ddfea4b5d78e236c85c61dd3304038d274ebbcfb442c15b94080df57fb002a3627961b204cf8954d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/es-AR/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/es-AR/thunderbird-68.3.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "d9d62f94af40ba69240b792b3ef2d93efef20b01b4289e992f7d1192147029574f86fa21aed5ad54489d1e5ec1f3b80cd9601e71e2ba9c903582ccd7aed278a8";
+      sha512 = "86a55fe5347382b5c607e29d9a1f7fcf15c5db97180fad4e643f2da0a11c98476688cbdac03e37ba8e3483cc5a65a802fa2b6913719083a529dc2ead08473991";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/es-ES/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/es-ES/thunderbird-68.3.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "d720320494b2c8431004e0d1ac24ff8fef83bc0977f44653d0fdab99fbc9a1aee6d5aecd7cbf6002e3746d04156f47aeb57367f2b30f4690efba36c3297fbeb0";
+      sha512 = "ffd8390320c7c8fd04dcaea219bc3c51be8af9c922b465e778c7a03d388cc496d9ce288fa6e9c2d5c2ef718f1e870929a7079f76c703961959037111f634db69";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/et/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/et/thunderbird-68.3.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "8d9ba13604fab4eb9a3dec8894b04d52f9677d5f82695512680ff03740a66e96786f69476071741c8086a09070fd03786e8fae7f94bb3bec9075331fe4dc144b";
+      sha512 = "b8b7305eb644b5637fad17015dc6ef37f35ac2f238327589e50c6ddcb80e1fdd365451de3ee28fb5ac34e37ce3f69883a38464d799aad0cfa8c8da6a41b8ea6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/eu/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/eu/thunderbird-68.3.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "e40110a94b3d7fb42707287dc695ea09b082fa3262d05b39a0c09002c32722630711f1b0131441c919b23130ed133338239060726cfc9d6c0b49822558081313";
+      sha512 = "68b424b3b53f66efbc90543683ad83f76ecb8a2e0469c00aeb013b5828a95a88bef6de6d1809767238715ffb81495508b765a1a7b347810e69e51bd2d732a0a2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/fi/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fi/thunderbird-68.3.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "d8778ddba26f544a4721b9118ce5726b04fdf09758272b35ca16c14aea61d0b8271888344e742feb4d4e758182e97b01758acd53ad622a66117e3eb0d4a6d336";
+      sha512 = "4088e2260609b14b8a8dbf6b60b3f88fd4fbdaa182da5671056333e01906a5dedfbf63f39cccf331de25ce2e905811fa6be6b25f615bf0244dff4f3b11a5fe6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/fr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fr/thunderbird-68.3.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "2cd546d40bedf09b58703b0b11a5c9349d702540ae714942e0152a19cbecee51f37c7e217fadfc719ecfebf914f9ffad6b3070bb6471d395e8f5ff8ada754551";
+      sha512 = "c986e334221e56f9c7b45a09bc3cb8ff2c8376ed363e52ab6421a468a050b9369206942830043aee9acc1b1f5ffbc03df649542c69e05d99a6ef4ee604bcae3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/fy-NL/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fy-NL/thunderbird-68.3.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "03f52224f145917f64e8962b68bcf3810543b5bf0508dca7965c5a385c4f87bc7d236dac217594fdd2a10afe31da8aadc674eaf7b226e189b598011a8b9e223a";
+      sha512 = "8ae6e8aacb6e7788fddb3169db4099a6c4cbf0ced65bd2892977a9c6a480de7437abce78dd526cf442aa9f6d56d369248252442249bc21e333e218a927fe852d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ga-IE/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ga-IE/thunderbird-68.3.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "931257466ce7134b9852c2627f34efebc031b3dfc9fb7b5e344665da7fa52ac1fcd12a8848fd9a264a900e98ee3383d3ee6c251de58c1432127a8ce8f1c100e1";
+      sha512 = "8528b198a821ed03d859c1a05704cfcaef3a809205521a07fb08422e93c0bb46e205b26466223b1dd5722ffcb2966298f6b3d98dbd31a211bd9862e536c7cc48";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/gd/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/gd/thunderbird-68.3.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "ee3573fe9af5fae39aa053061ef82207ae6669e6764637f6ddef5f8ee3cebf362dfecf5cf5e9e208392f3fe79a0c1a56aba28f372e2e279b33a1f1e3a58851f3";
+      sha512 = "273acb355638ae7f8d14bf9ad8a9f55ed31c64c2f08a2e10eb987b2a061b77e5b87616421375346dc12c23ceb134c00b607ebf96de6bd80c745bdc19cfbe3e47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/gl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/gl/thunderbird-68.3.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "73ba3965d522aac8f9d5af87856a7e2f71cb7ed850f240be56eab9426f91e5356810a12da7cb91bc223cb14eeae3ecb89a2afeca48641ce4debefdaed05aeed6";
+      sha512 = "d7ce4c44846140365cbc950429feda5204c5683ca760aa70ba7c5d81c5213968ea0bd81d6eab304b383778be7bcaf041784f4d91a4b1f7cadea45a4a102e3bae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/he/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/he/thunderbird-68.3.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "abd4f47d571037c4340dd3118a517f3421a3e3597efa1ad7ab14cf537d4b4e226144beb0a6c54a45ec272ab428ee8ed95083d31554ef2aa0022712dd832a1585";
+      sha512 = "a7847097dedf3337211a79b18323b3cb81d208286dfbb4371cbb306a52923461e016587e62a9e74ef1cf9eb21a1d8ae961ef10822c774ffbf6d4ef8c66789e24";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/hr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hr/thunderbird-68.3.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "32a18d8666fc2b7566807a010d94bf5503b375c5330687aa58efc2bc6464e4f910947ea513a6ebb6b7eadef0e552138a5349583e6894b3166ef6f8d53d5cf67b";
+      sha512 = "e92d6ecd1c32e411d5f8af94aeb9f5880e20f752ade3d30357770d9e35af8bf68f14db25503a0d52a58e6f36687f0ac4666e320db942f69700d239a0ad4bbb3d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/hsb/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hsb/thunderbird-68.3.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "58794aecdb5f3824e94f2bde4e4080d4922648bac632cfdffbc5304329af64f9e5ef01fc587c4e19e88f206004cc4254503513d7bfddecdb6778de89e4ca6bc5";
+      sha512 = "b13eb09fef032e74424b7ec24d551e1e4de12fbedc6a21786165ba7c4799fdea2bfe9a7142cb218af2dc9199ac5412146a3c954457d0c3a1801031733d6c65c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/hu/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hu/thunderbird-68.3.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "c7881770fc75a6b1eecc5c481e2de134a241b7a497e19ff2abf08aaecf65006f054090a53b028202becf7776d3939742fa71156e6761f981ff7a00ca0d1d7d3f";
+      sha512 = "d507f27473f7e1213208405ec8b266e0bd3f91ff23ac026180361445d59e92d69838212343684d12dca6f05c15ba2de19fd60062395b1f791ff6954dc6754097";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/hy-AM/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hy-AM/thunderbird-68.3.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "80f5fd19da8e07a6d40c19c645eb8fd6964f9904cd14df36374170c4d395146d168728953d1619965f04b3f2295df3d379650e97f8320587816ee088e2f17a9e";
+      sha512 = "ec1ecb62ae98887a49d5da9f81c97909a9d59a01b90c0435e8bd9efe682266faef88845f810a95af109e621d4a56b404e9283ae3a9c9104d6eb55afad4ae14dc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/id/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/id/thunderbird-68.3.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "efffdd32086ca57e93b1ebcb40484a3c2243d6b088c70d7b20bcdb38925e7fb64be4446c98980a53738f54dadb54a2d17016adc69bd2a47a9719bb7bb982f729";
+      sha512 = "1a96c8b40bf843ccf8fb1223a5f1f1f4418184b63e38c1a6b2c7f03fd43b97acb81917be5ba1acad5bf67fcecbc5374b56d7de34b651b21738dbfbe009ac36d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/is/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/is/thunderbird-68.3.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "277d1137675c6304b28f43273c5a3fbcdf0d2188cbaa38911d784df98b3429eb6d2667b818a292e4c3bd4019b2b682463c2d01faa0a034cb4fc1dd49ba8aab33";
+      sha512 = "0f11e5aa11bc4ba7ab2064d69d8b0770c0db7b4dae5821a3d0c35257777ab690b114eb6c2d5e8dabb1efc17f9f5668ba32e824f3bc1650b65b9835758faf1d0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/it/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/it/thunderbird-68.3.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "6932697d769f98dcd32f3dcda57dfa154314e29bfd2c1b11a2b9a8aeb8395f00fdb0d1c71b8e9d405d1540cde21547a910a55024b799e270759d8638a3d11512";
+      sha512 = "2c3387fde0b35db4995ddad6ad3c4cefadea2f53eaa44a9dc34747fef8188c61e3eb3142952faa9a3800bcfab6ab0cd01268b5d5f94083e3fc0efdf72e6cc137";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ja/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ja/thunderbird-68.3.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "034021e89c471429367807f04d79dbe877d0ebc94f584fa6c0bec3a29f279f1d6dfc85f709b26e9d11c8ebcc1f42adb9a458137c032a73ae2b69f7238d31ce76";
+      sha512 = "139d60c3aa21e5f9bde72b1bec2954ba1eead8a3806ffb54269211e44c343ebeb9bd2ef12a35c0e1dab004e44248454fea5e96b8c9f936d2b33ea91ae5969f95";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ka/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ka/thunderbird-68.3.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "7af1caeda9babac2a4c9b456233e86be32bcd14b6dd81cc18a1874dafe86c5b80099d0ce388a70fe6e74bb7b0d00d3b7ce810ffcbae143eadf6d8c4367567c27";
+      sha512 = "2ac9802728c2d5d9a380c28af124d0f983d818d3f4dd0d8465e7c14278db81b0eaf7bdaeed408920e64644cbf6857641791c8d02cb0c48dfeca663d5f2658b42";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/kab/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/kab/thunderbird-68.3.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "d8e7e7d423f36d40ce05cf1378278c47049fca0ba415466028dd821b12970fb78fbadfbb7b7390ec446aede490f07f979b94ef890a43a710e3a1f66a0c68937a";
+      sha512 = "8105ae7b35653796128da3bb34200787649bf5ce0bdc4da9dbd43b02b64c7c5f0aad4c26413032b63fd0eb4600cc2992464da55da953dbb358b0ddfd1a676f90";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/kk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/kk/thunderbird-68.3.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "339c8e86693a34c8a2da5e47924e545f0fa55d5314db73c6bb23df3eabed29dd6cf47662a8c4e43c381ede5098aba72887739993b4e71db75e41de3d1d777c3a";
+      sha512 = "80d85a5d30309964a6e139eb89a75fbddfe4e3ba2c8d8990040f2e9f25ee20d945e43a0de365ab44d6d54c593ba4e0bcb427334e3eaae2750e6fe4c6300a13b8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ko/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ko/thunderbird-68.3.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "ba80df01778f8fa95dd32bf0af55afe7fa828a489c4682e6a8891636281031170b9fff77ae4f2e4bbaae9124946b0429e55bbed741973d80da868d94e29991e8";
+      sha512 = "034769456f8c78ae75b4ca094838c1398ecfeb570620f6f7f9a6beb68df1fa91fb6ff47296982edd720fc38c04a795525d1276c23172cbaae05cd8f367f6658c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/lt/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/lt/thunderbird-68.3.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "32e93ec3203b70c2dced59a376bf7379879b5361f55a396d533e1f10727482b357344c9890864279eff9aa6d75feb1b36a67f2293c51d3a3222183f62c51e477";
+      sha512 = "7726cc77d6346d9c80d6eefea6898a7a911d3ffc0f11c990183b90a21b216f0f26b80a01861c5d0be5e07a56cd6442cc4429cd8dc5e1274e1fc1086068aecdf7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ms/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ms/thunderbird-68.3.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "29190352e1bbfe30b1e98d2a7fa20268488d82aefbdb4de1f8c2e197ed9f196be8256050f48d71ec6475b707d93d0570002fb175cd88fac89aca5e7140a7cbfe";
+      sha512 = "78ddacb75e28022d0bfc9add0ec0f397bee3b69c924d5f8a9731d74bbba150fcc160a84b67c27879560aa572a423c4973390b9bb221d8897460cb3ae6d1a4a5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/nb-NO/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nb-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "8e076d0967b0b79ac2cc9ade63e1bea4d27db1c050f792f1d1da01758a576fad884fdda32a02d58d45cf4c615f38c44bebc80c6e864ee076212f280398602892";
+      sha512 = "3b70a504a6e2ac0ff8e7835b43b8dd1527ea934354e3cd97610e26ed60b3b4b2565ef6213a11ef9a5b58307e3c836f35d3359bbf79a4187ffdf58ac8718feb6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/nl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nl/thunderbird-68.3.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "7bee338542f949d86700d9b67d26c059232ba96cba991e491e6380f1ef914e7ee2747c9c73907e393bcc83c7f05ec6e656d869980c2c03ba0a548ae120793030";
+      sha512 = "309be3866ced93396a528645c286e9ba9c031031a2cd3d608edb99b19b285a6ee313ff25067d25774d0f55c4a93c60dba4ab81ffca67786dca0873294ef96681";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/nn-NO/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nn-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "33b67ce4100a61461a238189e06b623a067e5f1b550fe5f20b5686f597408f3d7eaf45c92bbf5ffe58ff96c99fac9b9e282b024e40829d4d9d4422e54cb7293b";
+      sha512 = "026ba56748d96225c801aa8fa12e3c88b66ae9327155831e86ab5109afdacb69883b63a855c118c803f267cc04af91362cbb7155bec5eb23c28422c592f4b583";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/pl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pl/thunderbird-68.3.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "860c606fffb3ae85193b4c919783c94ea1a84c2579316cef98adc247d7d595b01dc6c2e84662641c7285dfc65097f710d7d2605efd960847739ab4acfc296836";
+      sha512 = "53e64d86f139bc8463e63252ad52970a7eee25f281ca39ac73cf34affc302e0f9b620115d953fb40c661e8dfac08d219d2b65932ddbd93e4d9e3467f899e329f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/pt-BR/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pt-BR/thunderbird-68.3.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "3093207072a79d9556c4e1ca2fa75d990a3952d583f0a4fe8c850a4911b1af19e3ac08a357d239d66b22c397f6722b8625fee03ca1f2b6a8f21dc61fca348541";
+      sha512 = "8625c47ed663c68bdc25e16658bec052582ef48e582a7f932d072e29409554375e1787d36d2269ef32bbe9f9b0408530450c20b3be8c2526b96986308a87ff18";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/pt-PT/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pt-PT/thunderbird-68.3.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "5d29ed9a8e8c768a3749801dc191b27aecf7994a4afa02e70de823ed1eabe4e936bd7686830359aa48321681396aff29ead762ab28c7bda6f8aec36117e8cadc";
+      sha512 = "a17325aee249eb11cb8af4b787dbaa93f3c68fb57c6c27a7771ea04921f40c00a60b43f13fa0eb88c42a937b0c8d7b6697c74078be2427fb35702b7405e6c866";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/rm/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/rm/thunderbird-68.3.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "cf342acfbb9ab92b7bf483ad3227730dc3923ee107ae42a0fb05c6070256e43a4d3c1647c1fa2c4dec7adbc8c018a185bd3d91e598d09eac43ec679d3c25063b";
+      sha512 = "dea2186fcc46d3a795430a4fb15c3f50ff04eda053a54a1949335134b28044dd961bd6d52a5e8237aaffbc60ae6adaba2387a3b153362bfb7572046e002be0d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ro/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ro/thunderbird-68.3.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "ae13fc229198a5c5327dd4d9d948f1a5eaf699877c48c1c961ca084e79075f479f4b270fed1c9ce22f420fecd4332a30594d4d2dc87bb114d1e3518e3a4a7071";
+      sha512 = "94e30dc37fbc38528908c2e434c15a02e6e95e279b6fe92d9ea8df1b8ccc988f95f1fd5129e02c20be7bdd5e2201037ad47209d75f5fc005bc670a023aae143b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/ru/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ru/thunderbird-68.3.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "f51b1f99c16af5f24702f0bfd433c71c7ae899ded5f101aea2dcdc16f1cc9e1b7b18f26a4fd0ca9296c5e9007067e35bd9cc322bddfe07f58795147547fc0c56";
+      sha512 = "c4f8b328c497760ee9149de6407a7bb9d1f2e63b8482ed279d70f693f5645ed688b8e5c4ee9a0d5a4e593819718f5e6764d1bc5e0b14061ecf03a0e2eca609b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/si/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/si/thunderbird-68.3.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "26bc664b1623523d644ee231666a4489421ba31d1f0b52b5f4a4164343672333070c3781c577e370e7d97d42b61783077c74d1f38d37565776c752a2310c3a1c";
+      sha512 = "80698a5bca63711db2f2f08617868803c99ce4afe2e0998ec98fab255bf632833e7d6cc84affd5306469854b29ade93eaf568fc870792dee29397335ea6c2e38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/sk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sk/thunderbird-68.3.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "46470afe078d1ef2e48b3732fdc02ff3c9104a727b4d94cae1b9c54f6d2b4771e5784cfb3e6350ab8a205f8ba010a82a2b2fe92313eb351496a19a99df75179a";
+      sha512 = "844d63101e62f7525bfe7e47cef0017aec6a8aaeb3693a345b247a50749c078f3d7697ee7ea0c758af48f2d12e354d0f0ad939959bfc8c813761e1cd092a065a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/sl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sl/thunderbird-68.3.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "9bb5b0c979fede4dfdaf8f4965bfed1ad78d14168efb797fc216ac2527434047c3e6b65eb9dd1e607f55b22f6f28e49b0ff58c272c0708cf5ae1f9ce96b2c796";
+      sha512 = "5641b327576f56e44506dbcf4234e2885df4c1de482ca5acabafc29bd9885b263818eeb5d0c49693194721b03c6572ddb4ca8136c88438db457a80f442bb153e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/sq/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sq/thunderbird-68.3.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "440870b75e47aa277c5453bd997709d2f9e59e0aa86e2fa7f5aa95ad39b139d8e9b7b8a7dd44765d8f8d5ec18c5ce6a284ab40d4aca01b251bcd9e2183be4976";
+      sha512 = "070cb427f6e80935ed43f27145491c7a8d6eca7b54a69958912aeec724699362c4beedd8067ad94f30dde2b74f5763ae5c4375320c7aec039716e6274a540fd2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/sr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sr/thunderbird-68.3.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "bced610dbc95e7cab982f40376fb7cce8e672f8533a66816f01667ba69d73dfcb00e95a80b42273c1ec7ada9cef8c14af1c426cda2f8425e3f77a3a0e393a611";
+      sha512 = "1966fbae58c58112afcae545d36e03d0555d6ca3e172ce6077c32b692ef049d3304f44534f7d2d05ff8d9877cef6297aecfe3aeb03bf6727d544f01475d731a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/sv-SE/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sv-SE/thunderbird-68.3.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "af139912f563710b05c274d1b89012e27a3997b582d379e3561011fed7c77994447c3054433e0fd4b5db8417d5b43b63e840d313cef1fc7a8aa7baf0655982e1";
+      sha512 = "5a07a3e16166fc7b0d8333279250f08dda228b588f5437a78469a30a3a2f28259658eef183dd7fbc595ee8133297cbaba5912a7260db4e5ec3bf3d45b0b51b49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/tr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/tr/thunderbird-68.3.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "50693e4638f8fea5a7f609924ef65c8d7ea4f4ffff79320651481e1a7f5cdf69edc2fd987137a0d655077959cbd8f32218d2f78fd55790084e2d46d3ecd70cf6";
+      sha512 = "f04678b9d30747a44279f5bb7660e5a4e24e48545054889752268dd130f184f00089ebdb74f1439f2d2861acc3d326513c483a5a82b0a2857696438783494986";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/uk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/uk/thunderbird-68.3.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "c24943567c110ce8cff6da066d0bd0081621d8c397e6569c57b63eef3098963a55215083aa655fa9c98adf9babfcedecfd72204c1a68604c851e1a5c1a1b0102";
+      sha512 = "7b812fe4736d064a8854c52d7f4422fe0cbe1a82fe45d04a1713e5ac961e35e8df85fd0690e2b6102f631f64b487545b5886d9033cb5d26fce95dcb444a4312f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/uz/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/uz/thunderbird-68.3.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "e02a86c848a013a84824246db3e29e889e1f5cc1b743a3a9b567b914a46100a808779fc13b897b04e8c698e14cf474fcea907e25e937e5c8b4ccb997f06d8e85";
+      sha512 = "0f1d60b83e48ebc2ee38e24aea951d7e1b17e7ede4145ba3170380b51479271d04f32da493e3d9eda751c41974320d2c3e75587fdcd9fa716d9795bde597d0b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/vi/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/vi/thunderbird-68.3.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "de6d6794796f5b60cfffa9eee92906237fd692b21ffc3925c7866ea9660d26366f5fd3c847b2dfecc418b631c6241dad4e509e58e391c414a37587c6185c2655";
+      sha512 = "ef8f8aa5f676d9b629ad0491be1767d5a66f25cccd1cf4e089cd48b0dc91efb4be22ee037b21645236b49f0c1d5016e89285dabafcca9a9dba27dd272cea7559";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/zh-CN/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/zh-CN/thunderbird-68.3.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "d5835538fe615544a07e93a2088b65eae6c3c36b75ca2b9f6605974d929a36dd226d848e2394611809538106f56c1703ebedb5c0776593e998935bd322a4e27d";
+      sha512 = "15eb738721b6cb0bbcc9547422ff89a1f3d9b28abddbc0c386a56ba44d91a1eeade1a4367aab0532b37b009ba7a29e8faea42cf84b320155defcae22ae113e46";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-x86_64/zh-TW/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/zh-TW/thunderbird-68.3.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "9dfaa7dc83725fa795cf1b2e45e7af760dc6c38999b05a0968e46d4b5676a4b9f705ebb63ff400ec6600d83a6be26eb4c2638671a539b59b6ea37002ea9b97ac";
+      sha512 = "012a043f5c66eb76876dfa44925751f37e7cd149dd7158cef2121c73e3bce714443663ba4fea011879e7c80d6a653d7cddfa889657b2ee6d6f62a287c3d17507";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ar/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ar/thunderbird-68.3.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "17733249e5c2c33899fde89a5b2dea2592fe0414419c235f4d853917990a05664d52a05f1f1a290ece4bdb3646008b0aa0af1e495e5b8af0c08f5b9962bed5aa";
+      sha512 = "5beb572e48d06893a38c17e7b5c9bae1f6a4f74e9d5f36137f73fef085c6e1a5583f7d1ddf1efa587479e682eeec96999f2c5ee82827665f27b963f242c87710";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ast/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ast/thunderbird-68.3.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "95b40d08b988146db7175232c9d9be92175cc3fdd73ba5e205e6543dbdb9e6e33579edeec73b6961a7ace574d3466c162d0665ffbd3705de15b7ea4cf6d7b77d";
+      sha512 = "f0c5bfb629f594fe83692133496526df6d26147ea392451f9c279545cf2be8a160f6a9a1f7bdfe8684b099223764c5e0b3d751ce64e92eed7005fd970dc5dfcf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/be/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/be/thunderbird-68.3.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "d2f4ad38d81306c1637ae8612221bb462409373b3cfa70a08d0f2872aceccd8087835eccc014f4009680e9e36b6cfecc9bcb95328dcb8f6c9ef11c432e2d3c6f";
+      sha512 = "446102c112be7dd92f1bcfd377c88b7801f0aad56f0b7f36ad18aa4bacd51e68ef3a6caf758465c42d0bc0d19d7845514a4f8920a98910244a73769c1177cc63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/bg/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/bg/thunderbird-68.3.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "f2c74a0609eff929202d13719fce167577b2ae0e1a0c98b75b359bfcddcb531907a466e184ece24d904bd592ab41654f2dcc2500defece0aede3be3826dcc8eb";
+      sha512 = "455f22009b00a8ab2afe829181fa0d2d4fe973bc595a999da01521d514f2c4ea3df203e439426ce3bdd389e58f3c954af15068dcffbdf4b0d2988f197703cb1b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/br/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/br/thunderbird-68.3.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "1f1ff89743c398443a18230ec0eadeb51a8d57633bb7c242f7003e472b0ea206dde50a9d20880ddfbc9ee36a3ca28135662ed21d6e8cb779627120c70f0aedea";
+      sha512 = "56c5dd9bbb19cde280b2b0c6cf4835dbfa4cf72f2dcaf5cef50e5d13e28aab99fd42c716c9fbbe5ef6b571e22aa0d6c7e82bf24d14746428547747026a41355a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ca/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ca/thunderbird-68.3.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "608232b5bc7a93cd786d84662e59e3b186bb1de51cbe0f720cf4e80e65a93e09a24f06abfba63785c0cdba997a6fa871497998f1953f57a98ea6b9e224235ffe";
+      sha512 = "c35b3bd4752b3cd72347eaee3a48d288e9c0a65ba9c50d2da80aafab0d57df7315531941e89c1ce374ba3f2171553e465b8f1a653acf0032aa08cdefd06399a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/cak/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cak/thunderbird-68.3.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "5e77fc07093e5b2cbb345f21b48415a5c7d987ab0a82540f398ef33c7051f1917fb448fe23401ec3683c87379aeecb287be5ffcf6a124df9a464401f242d1e3c";
+      sha512 = "ea7b2fd5abc216603897264efbd3501b5eadf4d0714dfa00ee351c53dd4595de5ee1f314bffd86a8a3e5dd92548d5c1ae28339e9bb0c32be2fe05f1279db009c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/cs/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cs/thunderbird-68.3.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "036304985db3ecccbe50a9b3d8c19dcc269f7c6987c1101c9443ea5fb2d14e71390ccdf6f0000c972af631863398a02cba1c05566c6be4ab3e79396c049e0e16";
+      sha512 = "24e07fab3d550a3c5bf3e5c649dadf5466d2f7ea86bf607173802385f2a79454aebedc4ecff7d25c8fb86ebc7594a29ae2cce6cfa551cc3c0ddc165fd77a350b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/cy/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cy/thunderbird-68.3.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "4de3a065234e921f9ae7250409ba24bc54230af61b4993c3686a77e1e165874995f7c60b45ab136c6b3f3047461e86c19207952b870019df06dd164054b65dc2";
+      sha512 = "36c2b67b0c88cd2341ad6dab022afe7a5d37a2796fb75fac6014bac9b4b81e7734ab8d803bd97846bcf6b16e1e15921ea7e983b07fe77ca52d51a9819d785f81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/da/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/da/thunderbird-68.3.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "69e190f9263438c88b445821b56b93c052613fd67a1f1918b135c719e4358bea46d3a79bc135d50b254fa686d8cba013daf89d40ccc5212062cb177bdab4d667";
+      sha512 = "c200e146778c1719b2ef1c31cf3b3a5cad8b07cd4f773d1e889a6fac8f6a4cc3700bbf8d108eaec90f8319056c036719601bebcdc975ac4ecbf86b962d65732c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/de/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/de/thunderbird-68.3.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "ce4cf8c1e11f4813ce173bd08ceed9ef26b2117771ca87ef16c001e1a49f5385a6a3ecf4bf7561d48aa6c7e63d307c2fbde77ef8a51fa0aa9b66f4f98386bff3";
+      sha512 = "ebc55f82e83dd9d17bfcb8c5f471418ca561bc5acf01ec08251dc7c0715ce0c5dd2fb1ee28c2e92e1dc9b24b6fc8ecc1902a5e78e1b23967d683e2825c92aead";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/dsb/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/dsb/thunderbird-68.3.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "9007c92825220ff9685c599b1c6e39fe3e96888621ce5dd15f5ef9d812c09a29ef72a6eb2f68cd8eab78b5519b6c26cc957ed04f3c9798ea0305fa4f5c8bb962";
+      sha512 = "9f67dd9f57b0f1289cee31750409b14fef52202c4cc205fa7426e81ec8f262f8d39786ee4750a47cc100fff133063a5a16c67729871e86eaddd1fcfde419f7ae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/el/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/el/thunderbird-68.3.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "e619576813260ec68a26226a83a540c58aea7e87d3b0ca35f6ae7bd9e0dcaaf54ab12f57cebf669060191e3affc42df1585a3ce4aa18f82f6afe469b85de495c";
+      sha512 = "6b9624e4779d1720d7bfd6d5ac72affb2559ea730222edd85322d17216a6d0491a745a15e98d1a5bb8b68df9bc6ba33144f9e4af1558844aba98583051a07f0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/en-GB/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/en-GB/thunderbird-68.3.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "0810f25326d8a08628aa55d5c15e6144f833454019087fa20f2c128bbaa4380f9f2a07714b0d8ac0f3fabb5b6065e7b2efe6e80975e5e47e81749da9f4e6be94";
+      sha512 = "9e8ff4441e1f0813f7a797c7815961f229f6e4bacb3090e3417546d3c62274d94b7bcc7cd4e83319f456024fcbb6d4f5a1d347d8789d6cb5c530aed2369bd18d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/en-US/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/en-US/thunderbird-68.3.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "adc1dddf36116435b3948810cd9d647febfc97d62443032100b0f2d722913aa051d44244f057c29cb8c6cf494fc67b3044b83ebfd5eacbc36b6cd9c88361078e";
+      sha512 = "413614f1508befe9f5b518125bdb53791d2fc86acabf899f7d48ff645f02f09d74e751671be4e1a5aba8d816d3f45fd5f3cf5490fc037d87596a10574301af43";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/es-AR/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/es-AR/thunderbird-68.3.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "a9433a5de45477f432c6906b640909880650443e5e3a65a839e9c055d887befedc8c22c76675700886dc128ad190fa0ecdbbf2c5f18e650219b33a78105eac63";
+      sha512 = "2ae7b1883b238727d2fa6261c7eda3bd428c996153b1cbb468f371e5fbf9f2101e4e2c078246359659fd495ad3ba80e71437aeb6157799225dbffaa7b7462f25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/es-ES/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/es-ES/thunderbird-68.3.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "a128e46d7d2cce449a261f857a221232d2d89a7d999bc074ad5d1aec741f766516f3882cc2603d6284458208c2ed36dcb81e214039222c9c15450e96e73d0283";
+      sha512 = "927801de4ffc11354994cef415b231b967d8d70326c86ade52432287c8a8a10756974e3286b8c9b372c08db2530c0e28be7913537ff4d83a80c7a69fbe191959";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/et/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/et/thunderbird-68.3.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "521d004b432fd27ed6b167263253b3a3c89aa22ee5e06a4a434da6948a8c2af4fe27e17a1ef962e7caedf7d15ab27b98384545069abfaaf41871cd5878fdbf72";
+      sha512 = "e800b51e43a0e4ea23442419f51a17de6a0695bbbd03c2b5431097c1438befd31cf2e07b70ea4ddfdc02a68494d56e2263a5f6d97f84b9d077ab600a6e3b7d4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/eu/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/eu/thunderbird-68.3.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "df8afc11cddf0c06d05bee455833bc5d786789a709baeade7b64e8f815c42f399fca1442a8b64271fea7e45fed4408ee923293cec953e0406b093f0b94120861";
+      sha512 = "deb4999da8a2a5bb6b695666581f544cb33d844a4a69fb802802c9eeef96fa945faeb88311ceb10fca4762c98e0134ff09705b3c76ca4f1b25f342fea048f69c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/fi/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fi/thunderbird-68.3.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "51e05f21e01dfa0fc3c5d0463d80e87a38e50dff612a7632f9a5cd440f037a438a555e3640cdddd794ebe04eb2cc15c549db7ac829c91ac488b73b66808496a9";
+      sha512 = "c6913908c29f26242062ed647838d07a70183ede0712b5542125b121506ddffc6454ada2557d2bf5090b4d5f5a5f94300b979e3426c57af8949326bf4ed9a3c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/fr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fr/thunderbird-68.3.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "9448860f48fd93383a24fead6af1102af855270749e817f720e2afac152949e47fcc9ce6fd0d2c60d3dd958c855af47a54a38e85975acf05496a7f67d2af72fa";
+      sha512 = "53e65c88271b04f4b73de9b2ce32020da0aa0f27ccc383d6a567f65639a4d9274f7699506115893029f150969554aafa2e09ed97a345e0f5c9ebce0e33273003";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/fy-NL/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fy-NL/thunderbird-68.3.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "e9a27da8b86e2ec3593056a19001dd656b8bde07edc918ec18f266de377c697eb0ea3a10fedb223e58db53ae5970d2b9753b46fa87db938e5568283ba136bd2b";
+      sha512 = "197182e6f8c024f1ad04e157bb33b9e9c2742adc58177434b070454de1d7fa529f7f4b7738b43bd7c5167774666de23c4031ad5418ab828ea354248351eb4b98";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ga-IE/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ga-IE/thunderbird-68.3.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "b346fe3863ab7944ac33a8204eea7a458a0131c879eae26be66928bed930aa29ba74a5b0e39aa939f0320fb8e5fb0a5e31599235daed526f920b92240763633f";
+      sha512 = "4001e0b11f7d9aff506b84bbe183d8d1a6b9f9db948b345ee302f5327631def91bd28ed101905bf024e3294c3c4ca3e80286b62dd42895d4845a98f321fdb27c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/gd/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/gd/thunderbird-68.3.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "e921a3c2720aad333febe7e1d69579eeda4f641fe32c1b6235fb6c01480ab7c87bcb47020b0dc2e4225746b277d8c6b288aaec86125ad48da9fbe3452f30e01a";
+      sha512 = "1059be94966f3451ec366ff7490face91f4af446f072356ec6f34c34b18df0a8b55577a074cd3ac55a631803bc2e6af1f7de50d3d6c4e52577f3d6990485ae45";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/gl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/gl/thunderbird-68.3.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "dd581aab660e96d7b0283bacab74d5635610301fbf40e95bc85edb5e177492f2a9c786a4fa722024fd57e2f2158fa339c161fba605ae428b5c03fa983b70d176";
+      sha512 = "405f4c81edaf4d00925966c22f7c85f0aed9b01ff362e93977a561e36ccfb40ffc7ef5569c580f1be48e731aa44fdc3c182b740342a8d5470a425c58d87edfe9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/he/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/he/thunderbird-68.3.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "2ab68acb57eadab585bedaef3f79369cd7a0c08030d24bc3361a0e08ff796f28f345cae15fbd78bd1fe2c275f8d4fb7058194ef44dcddd3e8f92b69f92482321";
+      sha512 = "87c6e427f40603a68f86aed839ae7b06e488ebe6f20838a49ac967ab08d13a715621fa20c103a8f9511a8aca1d42b89c8329fbe0334ebc64b03e8bbe47ca3ca6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/hr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hr/thunderbird-68.3.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "975be725774e200f39b77cbb16ad364fb5d901ef46a85da9f297b61140e5be61cbf48de9f2ea0236d4580a27be97e87c195b92d9286133ac5aac2a35b1b7e5f7";
+      sha512 = "8137ea66317afac5c40bf81b49195662a3aa7fff827bf9c5da1aab46cd41bbf1237a5205f5be50faf456cbe8a8e95abdada90b44e6a31ee9b48b21144848ad40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/hsb/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hsb/thunderbird-68.3.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "5d501e9b7a39a518da0a82c1a89f398adaa449753b4dadc6ff8fa610bfc152016e6f70c1a944cc85e72fcaea5aba21a04d5abea2f2e045ca1c9212a37d31c461";
+      sha512 = "76f99828d3716d209e2fc2220f1a42a9e2de7ae905d833f286a3161f20bd4b9f015108a1c2d7fe5bee5aae11289568516010f347929e8f504601b96dbb3b051b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/hu/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hu/thunderbird-68.3.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "4cf2c82e4d965c3ff51e40823f876811834cf7602d9cca30011346c2bdb6e222b7d37f28db79b6507350cd833db312aaf30c13ae245c93a6b1118d9abb132571";
+      sha512 = "fa73fe24c69419e38edf786c3cb2085038f11b8071d03958ae82468a7782c523382784c4bfbb686db167b2b16059f4faf73df2faaf3ffcc94f00abf25e498c3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/hy-AM/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hy-AM/thunderbird-68.3.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "d13d91b889903bdbbae1e12b96f07bfc6f5a6cb734a45fb87402ac44df9fcca703e067b1d1554a41c9b7e2e31703021eeeedd3ecd8b27536b548a3b2d89a1f27";
+      sha512 = "4e0c4d4cdedc595d73d2ef5618ee89018a574ed56055545ed41015bcd7fb1f8ca6c2e9f9916f09f043a62259f71b1a1b5e49ff59d3f7e2d58ad735b1f059896a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/id/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/id/thunderbird-68.3.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "7c199788cead727742dfebbcdf6ddfe4491be31a3f4dcc7ae05d25413101036cad7fae399f6b390002f55f60214ea66399d5bfdc515557351b309d174b83fa55";
+      sha512 = "0c53ed9927037db892c37f6b8c930af53c49d9325f35df7cffafab07500d8b3a76708ee01742b63ebbe952fd6e95e2e90d2445d06bdfcc86d293722d2c472609";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/is/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/is/thunderbird-68.3.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "33ac7dae65efc4792f92fed4eb0062302ef601f6bceef4d1eaa6b4a7fd75427607e8ebd7f6df70073bcbcc89f057b0689e365cea960428b5e57f9f1e810d6e48";
+      sha512 = "fe9da6b03a962cf613e46613dca0652a17e27f1084ad60b26d9b301ff8a81b8e9b7c81222ea9aa1c5ad50bd5a0b8baa565d70d479712abae4618724e2c64237f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/it/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/it/thunderbird-68.3.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "231acc8648e2e377a8ca6d22c273957506fd1c21f226ddd681fd3a91940cb151df4f0eb05885ec0325629bb0cfdd3ed500af6047970b43b898a37586e4612502";
+      sha512 = "a309f5cb7fd7e2187470fc46ffb008a829f5e33ce888afb3c015ce741d902534cc09a3338f3649223b2fef84368108e0fd1d5852c3fcc0dca0abbb1853c626d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ja/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ja/thunderbird-68.3.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "90b8ca0d72fef8fbeae34027c95e3391452d72b53b40ecd59b1d2d2b07c6ef2e4d787bb2e927bf3d4b7837ea4cf2f10a0d3ccb0a6c98992e6fd857717c8ab04a";
+      sha512 = "83af58ca30ebca413ab71cfc033ee3d7589088e73d739a89a81441725b67d1fe271db806538b0882ae802cdab45480f7c6d6d04f63e10b9a5dbb62c497a50389";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ka/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ka/thunderbird-68.3.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "271415dafa136d326b89ea3a58b852e2526c86f45d63f383fa250ace14f71b1b915dac3810a04507d9ca4437c640065520f9f3d9d032cb7eb84aad1f7b3517ba";
+      sha512 = "9ca88cc5a66041e1db771c7551ce9f246b8eb25946c3a90988615287f4089c5e1c0c9dc89ce776d5ab7f3015005229aba3dc724efde954147411315c8e964f17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/kab/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/kab/thunderbird-68.3.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "c0b4fe65e9937bf897e7512ff6f267993c324c772232317e1314ce035a282f313b8385eee8c13e7b131eb0fabaa1b62345fbcd6289a5172d78aa3abf7f716bb2";
+      sha512 = "b7ed2fbb279c5aaaed7b219bd2e3097a9b2f524df91b37c9d68d2b94187323cecfc92b176d6205a4d184f64273b75eb4121a882583a0e06a9c07b09501f06841";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/kk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/kk/thunderbird-68.3.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "b8c7ddd098540ef8354eda1f2a3a06987d11cb7e0c4af4e170d507ec540e743a7d2527188c18e045df99576ed44990a800e7f7ce212042eb03b02339be9f86af";
+      sha512 = "86215ba52d4bae535706159c60dbbe471f0656d4c69473771566205fb1a700111bb8181c156fa3593cfcd32e0a8d2c51b72056277cc2d6946cfb797d24c67b47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ko/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ko/thunderbird-68.3.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "a33dbf6ef3aef69644261ea1c1cf3986fcda5c9d0b28996c46e3d8e53d3d7f8e9e6b62f1b03f2816267b483a84295ad99e888cf76c5c192e9a9dbadd78ce7d8b";
+      sha512 = "d97cce3025365dd274903630aaa096e89ebabdbf3335f03a3593c90f372b2df100df059391f16c7d1262dddb7dcc4e2e48b104e10a5735767d0d359f1d8f27ec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/lt/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/lt/thunderbird-68.3.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "3bf1cd599707a2728fbf46beadb7d8d1832c0c271e98647ac7d2de1be78b8c1b5d0af4ac246af01eaf4b2a57154f6068065fbbb2019346b663cafeb40edd5b71";
+      sha512 = "6e4f5e35b61589a10de95f2e8269893a061ba26fb19fd072643764f5c5b476c807f149abb9557c646e38dd4cffd63f6a1cc343803ea4bf3b2ebdec730ccca64d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ms/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ms/thunderbird-68.3.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "563c413b21e2fda6f412a1826b1191097d4df1ade8d12e031522e122bedea6ae23a2d3b047e870030c9b4901a5869c9439107d8a7ebc6380c758bd741e0b4128";
+      sha512 = "32149a9dd72da68862e44203e1e89f3702cf01203f5a6c6362d696dfd6de8ac850f6aca273a8bc8b2e6146ef9987b1c054fc738942f64fcfb5d3f98016cbee38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/nb-NO/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nb-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "c9062949faf5cbfe8bde2b0f330f76b438e1606360364a90f0e35026fd52952d6aff7c6925fd1ce569b24f41409d0b63540dbeb0ae82260604d5faaee723bc2e";
+      sha512 = "2a28c4585dba6642f5216228380dfd4b3ff0b7cfa23bd44feffdd0baea3dd352d290d6d236547fb8e7f6e7d7c724607e472d718006884f35a00cd257f91e83d6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/nl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nl/thunderbird-68.3.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "b8b385db8fd2385a88d12c1ba23bf812592beca14e44d9c33456ebad16a40db8e7d886779565a4d617fc56f7a6d651dc8da171b1c727481895d05777bc0eb3c1";
+      sha512 = "055f6e6eb1a6cb84e1a3268b394eb514ba45278a26ff507339d00f5b2fbc8f1704bccc59a691d8068e94be9a84296640401146ab522a393e0db2f32f2d31490d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/nn-NO/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nn-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "3c88ea8dffc71524402416d9222c859dafc5bd5799651a948bb318a7d2f91ca2c00fa4158e6019949f9a1d72a2d85a0c9d2a3c9a8caf052e8743fcb5dd0dccb6";
+      sha512 = "a0fe6bddc1babd7671da9105e5870edd8bce128adacaee0f8f31b904c022d62d593d32863d4c8e836dab2f2cfa11e79d2cdc0f71bf0909f44b46b7883beddecc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/pl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pl/thunderbird-68.3.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "c6ba1f98ebc44af63d8cd8052fd306d3a8920c33eb5b3be563c0fe203d5d07806bc5db7ff88847c3ee2d82c62d0811a086fa91e8253eec3a3977091569f40a20";
+      sha512 = "6bf2693ac1dc360cb0af200fa07cc59d8a85e1da3db62e90dbb372e6ea92551224ad638dfaf0789c006b7e6800e18bab3f8a787e58aaee1070e7e799733bd0d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/pt-BR/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pt-BR/thunderbird-68.3.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "cbd4c0f1b14cb04b98ef6f2e4ce53d655b58ae9a11047eeb1959ac1c4ef4370507194dd1149372fd1dad4ceedf91c39f3bde4fdf07b5d925f27dc8eb5041be67";
+      sha512 = "d428949e8e1157201e068127cab265a546d358c0015341cfb489d2ee212675dfb3b5b837eae90cc50a3d997cacaa92a7b0777542e6aada37b29df16644113d7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/pt-PT/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pt-PT/thunderbird-68.3.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "ec08c628708a7bbcb00df2122e5fc463e1b0e1c031e9130369ddfee12db3cfe9219f7939756fc47abab8514c6cea642bb653ee420818ad625a33caada7005993";
+      sha512 = "9d03c8563c16a1b765890e3d45686b02f8cf222628d44c2abf8069308e1c5698c4f7dce34a5dfe872cfbfed9f37c2ed9483b84fd56c85d1e9a42ef77a31297a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/rm/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/rm/thunderbird-68.3.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "4520dfb1529220e40cf2e1aca44cbc2af750fcceee3639d7ef334e9488034b18bc6e73b5b7a37204346da53a44da099f4f7f65d5b3dbdeac6d6934918c02cca3";
+      sha512 = "307b2858f594ae685e0800a6c17c498f239e848e2c7c2df9d360b0bc34716b51e6ffd405614428d213af22e4dec188f2ceaa0ac9b88ac70504473c6182c52191";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ro/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ro/thunderbird-68.3.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "49e54dd1cca8038ab6c34e9980b6b36117aa157b6555ba440f0d7c8c4d909253989b9a50d25c7c18529136fa26d0ff94474d17e43156afba171948c9c05e16a6";
+      sha512 = "711d7bbffd932f26e2ff4001ee72147daa247ab4952f5b7dd5bd382df59f0f21edd18e20aeb5ae74f3cb4dec6f1d357e3ce479607b8b049088b5126829e66e96";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/ru/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ru/thunderbird-68.3.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "6d297592bcf0c9b97c40f1053a95385e6c2510aa0ddfafd25085bc6a954fb5460f59f18f65477d8c93af829cd2a053b389b5dcec35a7ac7766d72c29064e5687";
+      sha512 = "1983e078d89de73e9767a03321278dac6adbf3684a0b06d9073a79b765a7abd1602a90e7a69774d878c3fc3ed2819a6cac0ea55e662a03d85242b2f2f5897355";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/si/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/si/thunderbird-68.3.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "f602557748517324943b5ff276f4efdeca1c5083662bc9f0b0bdba8c10510cee834b3883870a98d51d406f58e338a09d0589b3bc0891bfbd88b895cca02fd360";
+      sha512 = "478a7faf1aa49f3416e0191bd733b1bac609cd5fc422e1ff5a6b45adac73572d32a12460c4577f3c9037fcb82f2bf672399a68b161d8e1d2f76a8b20ed272a44";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/sk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sk/thunderbird-68.3.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "7b6980d2b5131bd9a43a29efa2f1e97c60e15410a63224d839548d777fd8b4c4d65ccfc7756227cf900f7420b12231c3d48f062133cb6f21bbdcdcdb179f2e47";
+      sha512 = "11754a89286dfc86868b6373ac73948efd239fc91dde87007ba07b7d62aed780ae6030818a8e3803098c2a8881705b1e39ac517e1883ff3064e2d37d5dd13caa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/sl/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sl/thunderbird-68.3.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "ecc38fb4fde66b7b213b1cfeb8ab170b3e685d0a28c7e071e19a85509ec74e79fb6eb61104c47f0eef1a77e1e1a52b292469a364747eeccc701c522452c58351";
+      sha512 = "4f4142f9e0673eb4f53c21027f1ba74c02cb0ffce2894f2cc077d299b082da554bd972811daef73c14281cdad2de3af9ae2456032cb3dead186b75cd27ece020";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/sq/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sq/thunderbird-68.3.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "3ff668c6ed28bdb2f3d388ab8ecb1bf3b2b38bb29046b8559f7b9f9c6fa32db226c4620f472ba5a982b473e3e3f4aee04aa3746e57738b512dcb37fdfd5ecfc5";
+      sha512 = "cdfc9cf530d813a69073f481dca6ecbeb58c3e5b90d1f682f2ef84b2e0ea4b3c823e88704ad781e9b29e7cdb98732c66d8fd6182f7b721b18a29ceef75174c12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/sr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sr/thunderbird-68.3.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "4c71511375333802f903cb632963933054a969c02a3fb23f4416e0cb3c21e18147bbffb28572f8ac90aa5bc3c4138b25590c42610c20a14b5e8eddb1edf28c28";
+      sha512 = "81f6a3376db8db3eac012fe4b13bc9a47107cebc4114627ba1d6aa06007bba83b7f8348543b30056658a0080dd9e710ec8dff039d5383cd4cf7c91b4c2337f87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/sv-SE/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sv-SE/thunderbird-68.3.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "5d7d569f4eb9ed738f54139a90e9a01e9e771a553af193357d45765bd54815a096ddc31ac69620d6f14516e8f41f1c0fb8f16a848e13273d0c18b9c047d85fb4";
+      sha512 = "4ce8d5244836c9935cf8c3413ec5189e9ef952c207df5d5cf83772f0d5e2d64519674344aa45838abd2c23a19a6170a213c4c76e57ccdd94efa1c238401e9a3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/tr/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/tr/thunderbird-68.3.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "fc8892f85032d9fcce76c3fa971531f4039b8bb9e1812776bb3e7c5b68474543b5db4007f79e81abc1685c74f0574201236aab8a2df05ac10fcaade7c57ca3c2";
+      sha512 = "648d8e03df497c67254a3757b52b555f032a4637f54a24cbd67d6c51a99db8b758c76e0b2c9523bd43a835c979f57975cc6d8df661b3d10526b33b3d1f535a63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/uk/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/uk/thunderbird-68.3.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "80335f326bde31f4b1e269cd756b4b41ff3a632023f09447abf6d1964381f8f9657a4f47ed6af63a3eb0cd4e84e5bced595eec07cc0a9e30ad8d3cf3d08026df";
+      sha512 = "7a121928cb1bb2f47db14bfe06a738249041e3a9ddb90895a9e9db614cc22980a5da1c0d6ad0e8f534a345c1765fd8240a307c0c8409c1554618ad822cd9c20d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/uz/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/uz/thunderbird-68.3.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "2434a8a063b0d1019220579bc83160217d5c269b24ad83a9ed0969425a1fc9d9ed8b190c291d87c34379928aa6c2329d3b5ad287b44177dd61f680081cd7caf9";
+      sha512 = "5a79dfeed1e2ab362df3500f94c177df5ec7b2a266c3f1362af5f74c74a6760deb85a0ca822a3777b6236639495d8e0c52203024582626d8fc4a6d5de18f1c1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/vi/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/vi/thunderbird-68.3.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "0e33f1a2f8cd67bdb523180af0b8afa5fbbb3628b0b9407f2a4ae609c7155b33fd85a1f23d9b74097fefb045fd0b437f58971cc4c4d5f391398d6ea7429b921e";
+      sha512 = "4a88c3605b365265fc0c807b753a7b5b7fdb1ac2dfc781e9a8457690a5ea11a26eda39e617bd12e67d86ba26fd28f27088404e17af286546978abdba9349b71d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/zh-CN/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/zh-CN/thunderbird-68.3.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "27d1d9b3c30ab1dd863362139f91b79ffb7e36e87ff1f7f07162ea3e86a58962136e43cca3212e4263908f63dfe3a3c53bb3db3085e5b4bf07e0ff88408822d8";
+      sha512 = "0499ab6f076c44901122c302208d919a977a5ae68df4780926efecdb4281bc085ee1e6a3e7f889dd2fe90d16f0ea939b1447203ad8a2950789e1972262149724";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.0/linux-i686/zh-TW/thunderbird-68.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/zh-TW/thunderbird-68.3.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "2141f0ad5d11daf3a94f3a737801ec0234a7f2d869320d4859d771ab92a6e59bf13139b4048a7239640635051a9228e6cbf55746402ed35cb398d93a3d129439";
+      sha512 = "b1456490911eead3f8afa640cff10f33673631df6431e2074fcf7baeea3f128a60a1e07a5d9224bc2776aeb3f1ab3655e27f51b16ed118bb8437ef50797930ac";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 1617ccd7dd1b..a6c743a85ed8 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,210 +1,341 @@
-{ 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
-, libevent, libstartup_notification
-, icu, libpng, jemalloc
-, autoconf213, which, m4, fetchpatch
-, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
+{ autoconf213
+, bzip2
+, cargo
+, common-updater-scripts
+, coreutils
+, curl
+, dbus
+, dbus-glib
+, fetchurl
+, file
+, fontconfig
+, freetype
+, glib
+, gnugrep
+, gnused
+, icu
+, jemalloc
+, lib
+, libGL
+, libGLU
+, libIDL
+, libevent
+, libjpeg
+, libnotify
+, libpng
+, libstartup_notification
+, libvpx
+, libwebp
+, llvmPackages
+, m4
+, makeDesktopItem
+, nasm
+, nodejs
+, nspr
+, nss
+, pango
+, perl
+, pkgconfig
+, python2
+, python3
 , runtimeShell
-, cargo, rustc, rust-cbindgen, llvmPackages, nasm
-, enableGTK3 ? false, gtk3, gnome3, wrapGAppsHook, makeWrapper
-, enableCalendar ? true
+, rust-cbindgen
+, rustc
+, sqlite
+, stdenv
+, unzip
+, which
+, writeScript
+, xidel
+, xorg
+, yasm
+, zip
+, zlib
+
 , debugBuild ? false
+
+, alsaSupport ? stdenv.isLinux, alsaLib
+, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
+, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
+, waylandSupport ? true
+, libxkbcommon, calendarSupport ? true
+
 , # If you want the resulting program to call itself "Thunderbird" instead
-  # of "Earlybird" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-, makeDesktopItem
+# of "Earlybird" or whatever, enable this option.  However, those
+# binaries may not be distributed without permission from the
+# Mozilla Foundation, see
+# http://www.mozilla.org/foundation/trademarks/.
+enableOfficialBranding ? false
 }:
 
-let
-  wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
-  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-in stdenv.mkDerivation rec {
+assert waylandSupport -> gtk3Support == true;
+
+stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "68.1.0";
+  version = "68.3.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "06036nawpm987q33567nhz55qybbcl55h5rdhjbhck5qmyj1qi383xqac5niwyk7c0gaq4ygwc5a24pysf85crjdway2zmqyjxp2apb";
+    url =
+      "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
+    sha512 =
+      "01vn2snp631lngfy0kz6fax6r6w5w2iqc27hqr3zsvkfsl6ji0rkxm17g4ifv2qvkqgrnhxicdh4gj80x7fkw2nmmsqsypdddp5a91f";
   };
 
-  # from firefox, but without sound libraries
-  buildInputs =
-    [ 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
-      xorg.libXScrnSaver xorg.xorgproto
-      xorg.libXext sqlite unzip
-      libevent libstartup_notification /* cairo */
-      icu libpng jemalloc nasm
-    ]
-    ++ lib.optionals enableGTK3 [ gtk3 gnome3.adwaita-icon-theme ];
-
-  # from firefox + m4 + wrapperTool
-  # llvm is for llvm-objdump
-  nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python2 python3 nodejs wrapperTool cargo rustc rust-cbindgen llvmPackages.llvm ];
+  nativeBuildInputs = [
+    autoconf213
+    cargo
+    gnused
+    llvmPackages.llvm
+    m4
+    nasm
+    nodejs
+    perl
+    pkgconfig
+    python2
+    python3
+    rust-cbindgen
+    rustc
+    which
+    yasm
+  ] ++ lib.optional gtk3Support wrapGAppsHook;
+
+  buildInputs = [
+    bzip2
+    dbus
+    dbus-glib
+    file
+    fontconfig
+    freetype
+    glib
+    gtk2
+    icu
+    jemalloc
+    libGL
+    libGLU
+    libIDL
+    libevent
+    libjpeg
+    libnotify
+    libpng
+    libstartup_notification
+    libvpx
+    libwebp
+    nspr
+    nss
+    pango
+    perl
+    sqlite
+    unzip
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXft
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXt
+    xorg.pixman
+    xorg.xorgproto
+    zip
+    zlib
+  ] ++ lib.optional alsaSupport alsaLib
+    ++ lib.optional gtk3Support gtk3
+    ++ lib.optional pulseaudioSupport libpulseaudio
+    ++ lib.optional waylandSupport libxkbcommon;
+
+  NIX_CFLAGS_COMPILE =[
+    "-I${glib.dev}/include/gio-unix-2.0"
+    "-I${nss.dev}/include/nss"
+  ];
 
   patches = [
-    # Remove buildconfig.html to prevent a dependency on clang etc.
     ./no-buildconfig.patch
-  ]
-  ++ lib.optional (lib.versionOlder version "69")
-    (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
-      name = "write_error-parallel_make.diff";
-      url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
-      sha256 = "11d7rgzinb4mwl7yzhidjkajynmxgmffr4l9isgskfapyax9p88y";
-    });
-
-  configureFlags =
-    [ # from firefox, but without sound libraries (alsa, libvpx, pulseaudio)
-      "--enable-application=comm/mail"
-      "--disable-alsa"
-      "--disable-pulseaudio"
-
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-png" # needs APNG support
-      "--with-system-icu"
-      #"--enable-rust-simd" # not supported since rustc 1.32.0 -> 1.33.0; TODO: probably OK since 68.0.0
-      "--enable-system-ffi"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      #"--enable-system-cairo"
-      "--enable-startup-notification"
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-updater"
-      "--enable-jemalloc"
-      "--disable-gconf"
-      "--enable-default-toolkit=cairo-gtk${if enableGTK3 then "3" else "2"}"
-      "--enable-js-shell"
-    ]
-      ++ lib.optional enableCalendar "--enable-calendar"
-      ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--disable-debug-symbols"
-                               "--enable-optimize" "--enable-strip" ])
-      ++ lib.optional enableOfficialBranding "--enable-official-branding"
-      ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
-        # on i686-linux: --with-libclang-path is not available in this configuration
-        "--with-libclang-path=${llvmPackages.libclang}/lib"
-        "--with-clang-path=${llvmPackages.clang}/bin/clang"
-      ];
+  ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    rm -rf obj-x86_64-pc-linux-gnu
+  '';
+
+  hardeningDisable = [ "format" ];
 
-  preConfigure =
-    ''
-      cxxLib=$( echo -n ${gcc}/include/c++/* )
-      archLib=$cxxLib/$( ${gcc}/bin/gcc -dumpmachine )
-
-      test -f layout/style/ServoBindings.toml && sed -i -e '/"-DRUST_BINDGEN"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
-
-      configureScript="$(realpath ./configure)"
-      mkdir ../objdir
-      cd ../objdir
-
-      # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
-      unset AS
-    '';
-
-  dontWrapGApps = true; # we do it ourselves
-  postInstall =
-    ''
-      # TODO: Move to a dev output?
-      rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
-
-      # $binary is a symlink to $target.
-      # We wrap $target by replacing the $binary symlink.
-      local target="$out/lib/thunderbird/thunderbird"
-      local binary="$out/bin/thunderbird"
-
-      # Wrap correctly, this is needed to
-      # 1) find Mozilla runtime, because argv0 must be the real thing,
-      #    or a symlink thereto. It cannot be the wrapper itself
-      # 2) detect itself as the default mailreader across builds
-      gappsWrapperArgs+=(
-        --argv0 "$target"
-        --set MOZ_APP_LAUNCHER thunderbird
-        # https://github.com/NixOS/nixpkgs/pull/61980
-        --set SNAP_NAME "thunderbird"
-      )
+  preConfigure = ''
+    # remove distributed configuration files
+    rm -f configure
+    rm -f js/src/configure
+    rm -f .mozconfig*
+
+    configureScript="$(realpath ./mach) configure"
+    # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
+    unset AS
+
+    export MOZCONFIG=$(pwd)/mozconfig
+
+    # Set C flags for Rust's bindgen program. Unlike ordinary C
+    # compilation, bindgen does not invoke $CC directly. Instead it
+    # uses LLVM's libclang. To make sure all necessary flags are
+    # included we need to look in a few places.
+    # TODO: generalize this process for other use-cases.
+
+    BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
+      $(< ${stdenv.cc}/nix-support/cc-cflags) \
+      ${stdenv.cc.default_cxx_stdlib_compile} \
+      ${
+        lib.optionalString stdenv.cc.isClang
+        "-idirafter ${stdenv.cc.cc}/lib/clang/${
+          lib.getVersion stdenv.cc.cc
+        }/include"
+      } \
       ${
-        # We wrap manually because wrapGAppsHook does not detect the symlink
-        # To mimic wrapGAppsHook, we run it with dontWrapGApps, so
-        # gappsWrapperArgs gets defined correctly
-        lib.optionalString enableGTK3 "wrapGAppsHook"
-      }
-
-      # "$binary" is a symlink, replace it by the wrapper
-      rm "$binary"
-      makeWrapper "$target" "$binary" "''${gappsWrapperArgs[@]}"
-
-      ${ let desktopItem = makeDesktopItem {
-          name = "thunderbird";
-          exec = "thunderbird %U";
-          desktopName = "Thunderbird";
-          icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
-          genericName = "Mail Reader";
-          categories = "Application;Network";
-          mimeType = stdenv.lib.concatStringsSep ";" [
-            # Email
-            "x-scheme-handler/mailto"
-            "message/rfc822"
-            # Newsgroup
-            "x-scheme-handler/news"
-            "x-scheme-handler/snews"
-            "x-scheme-handler/nntp"
-            # Feed
-            "x-scheme-handler/feed"
-            "application/rss+xml"
-            "application/x-extension-rss"
-          ];
-        }; in desktopItem.buildCommand
-      }
-    '';
-
-  postFixup =
-    # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
-    ''
-      patchelf --set-rpath "${lib.getLib libnotify
-        }/lib:$(patchelf --print-rpath "$out"/lib/thunderbird*/libxul.so)" \
-          "$out"/lib/thunderbird*/libxul.so
-    '';
+        lib.optionalString stdenv.cc.isGNU
+        "-isystem ${stdenv.cc.cc}/include/c++/${
+          lib.getVersion stdenv.cc.cc
+        } -isystem ${stdenv.cc.cc}/include/c++/${
+          lib.getVersion stdenv.cc.cc
+        }/$(cc -dumpmachine)"
+      } \
+      $NIX_CFLAGS_COMPILE"
 
-  doInstallCheck = true;
-  installCheckPhase =
-    ''
-      # Some basic testing
-      "$out/bin/thunderbird" --version
-    '';
+    echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
+  '';
 
-  disallowedRequisites = [ stdenv.cc ];
+  configureFlags = let
+    toolkitSlug = if gtk3Support then
+      "3${lib.optionalString waylandSupport "-wayland"}"
+    else
+      "2";
+    toolkitValue = "cairo-gtk${toolkitSlug}";
+  in [
+    "--enable-application=comm/mail"
 
-  meta = with stdenv.lib; {
-    description = "A full-featured e-mail client";
-    homepage = http://www.mozilla.org/thunderbird/;
-    license =
-      # Official branding implies thunderbird name and logo cannot be reuse,
-      # see http://www.mozilla.org/foundation/licensing.html
-      if enableOfficialBranding then licenses.proprietary else licenses.mpl11;
-    maintainers = [ maintainers.pierron maintainers.eelco ];
-    platforms = platforms.linux;
-  };
+    "--with-system-bz2"
+    "--with-system-icu"
+    "--with-system-jpeg"
+    "--with-system-libevent"
+    "--with-system-nspr"
+    "--with-system-nss"
+    "--with-system-png" # needs APNG support
+    "--with-system-icu"
+    "--with-system-zlib"
+    "--with-system-webp"
+    "--with-system-libvpx"
+
+    "--enable-rust-simd"
+    "--enable-crashreporter"
+    "--enable-default-toolkit=${toolkitValue}"
+    "--enable-js-shell"
+    "--enable-necko-wifi"
+    "--enable-startup-notification"
+    "--enable-system-ffi"
+    "--enable-system-pixman"
+    "--enable-system-sqlite"
+
+    "--disable-gconf"
+    "--disable-tests"
+    "--disable-updater"
+    "--enable-jemalloc"
+  ] ++ (if debugBuild then [
+    "--enable-debug"
+    "--enable-profiling"
+  ] else [
+    "--disable-debug"
+    "--enable-release"
+    "--disable-debug-symbols"
+    "--enable-optimize"
+    "--enable-strip"
+  ]) ++ lib.optionals (!stdenv.hostPlatform.isi686) [
+    # on i686-linux: --with-libclang-path is not available in this configuration
+    "--with-libclang-path=${llvmPackages.libclang}/lib"
+    "--with-clang-path=${llvmPackages.clang}/bin/clang"
+  ] ++ lib.optional alsaSupport "--enable-alsa"
+  ++ lib.optional calendarSupport "--enable-calendar"
+  ++ lib.optional enableOfficialBranding "--enable-official-branding"
+  ++ lib.optional pulseaudioSupport "--enable-pulseaudio";
+
+  enableParallelBuilding = true;
+
+  postConfigure = ''
+    cd obj-*
+  '';
+
+  makeFlags = lib.optionals enableOfficialBranding [
+    "MOZILLA_OFFICIAL=1"
+    "BUILD_OFFICIAL=1"
+  ];
+
+  doCheck = false;
+
+  postInstall = let
+    desktopItem = makeDesktopItem {
+      categories = lib.concatStringsSep ";" [ "Application" "Network" ];
+      desktopName = "Thunderbird";
+      genericName = "Mail Reader";
+      name = "thunderbird";
+      exec = "thunderbird %U";
+      icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
+      mimeType = lib.concatStringsSep ";" [
+        # Email
+        "x-scheme-handler/mailto"
+        "message/rfc822"
+        # Feeds
+        "x-scheme-handler/feed"
+        "application/rss+xml"
+        "application/x-extension-rss"
+        # Newsgroups
+        "x-scheme-handler/news"
+        "x-scheme-handler/snews"
+        "x-scheme-handler/nntp"
+      ];
+    };
+  in ''
+    # TODO: Move to a dev output?
+    rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
+
+    ${desktopItem.buildCommand}
+  '';
+
+  preFixup = ''
+    # Needed to find Mozilla runtime
+    gappsWrapperArgs+=(
+      --argv0 "$out/bin/thunderbird"
+      --set MOZ_APP_LAUNCHER thunderbird
+      # https://github.com/NixOS/nixpkgs/pull/61980
+      --set SNAP_NAME "thunderbird"
+      --set MOZ_LEGACY_PROFILES 1
+      --set MOZ_ALLOW_DOWNGRADE 1
+    )
+  '';
+
+  # FIXME: This can probably be removed as soon as we package a
+  # Thunderbird >=71.0 since XUL shouldn't be anymore (in use)?
+  postFixup = ''
+    local xul="$out/lib/thunderbird/libxul.so"
+    patchelf --set-rpath "${libnotify}/lib:$(patchelf --print-rpath $xul)" $xul
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    "$out/bin/thunderbird" --version
+  '';
+
+  disallowedRequisites = [
+    stdenv.cc
+  ];
 
   passthru.updateScript = import ./../../browsers/firefox/update.nix {
     attrPath = "thunderbird";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
-    inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl runtimeShell;
+    inherit writeScript lib common-updater-scripts xidel coreutils gnused
+      gnugrep curl runtimeShell;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A full-featured e-mail client";
+    homepage = "https://www.thunderbird.net";
+    maintainers = with maintainers; [
+      eelco
+      lovesegfault
+      pierron
+    ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
index 65eba3a2fc28..fe3a93ebda7b 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
@@ -21,3 +21,15 @@ diff -ru -x '*~' a/toolkit/content/jar.mn b/toolkit/content/jar.mn
     content/global/buildconfig.css
     content/global/contentAreaUtils.js
     content/global/datepicker.xhtml
+--- a/comm/mail/base/jar.mn
++++ b/comm/mail/base/jar.mn
+@@ -117,9 +117,7 @@
+ % override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
+ % override chrome://mozapps/content/profile/profileDowngrade.xul chrome://messenger/content/profileDowngrade.xul
+ 
+-*   content/messenger/buildconfig.html              (content/buildconfig.html)
+     content/messenger/buildconfig.css               (content/buildconfig.css)
+-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
+ % override chrome://global/content/buildconfig.css chrome://messenger/content/buildconfig.css
+ 
+ # L10n resources and overrides.
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/trojita/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/trojita/default.nix
index 4b4c711042f6..9829ca883f37 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/trojita/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/trojita/default.nix
@@ -1,8 +1,10 @@
 { akonadi-contacts
 , cmake
 , fetchgit
+, gnupg
 , gpgme
 , kcontacts
+, kf5gpgmepp
 , lib
 , mimetic
 , mkDerivation
@@ -33,18 +35,23 @@ mkDerivation rec {
     qtbase
     qtkeychain
     qtwebkit
+    mimetic
+    kf5gpgmepp
   ];
 
   nativeBuildInputs = [
     cmake
     pkgconfig
     qttools
+    gnupg
   ];
 
   meta = with lib; {
     description = "A Qt IMAP e-mail client";
     homepage = "http://trojita.flaska.net/";
     license = with licenses; [ gpl2 gpl3 ];
+    maintainers = with maintainers; [ ehmry ];
     platforms = platforms.linux;
   };
+
 }
diff --git a/nixpkgs/pkgs/applications/networking/mpop/default.nix b/nixpkgs/pkgs/applications/networking/mpop/default.nix
index 7d311d4bc707..dce1934febf4 100644
--- a/nixpkgs/pkgs/applications/networking/mpop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mpop/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mpop";
-  version = "1.4.5";
+  version = "1.4.7";
 
   src = fetchurl {
     url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav";
+    sha256 = "0c6n5afn9pr4p7gxkv462lysrw52w9fhvavzm99c78dcp9dj5xnk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/networking/msmtp/default.nix b/nixpkgs/pkgs/applications/networking/msmtp/default.nix
index fc720a047b5b..486b34ecb308 100644
--- a/nixpkgs/pkgs/applications/networking/msmtp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/msmtp/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "msmtp";
-  version = "1.8.5";
+  version = "1.8.7";
 
   src = fetchurl {
     url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn";
+    sha256 = "1waiiksa57byb7gvx1zmh6srvl6r8rvwqklk0slb3iaf4kfbqlws";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix b/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
index b0786d742db7..343685c4ab76 100644
--- a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -40,11 +40,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2019.7";
+  version = "2019.10";
 
   src = fetchurl {
     url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb";
-    sha256 = "1hjndcdkin98l6jv39r98zfw33qg0gnvlv8q80qsj5x36a19d4v9";
+    sha256 = "0nckbhfpf4r5l5h22jcv93b5i9y2sc8lhcaffsg2ld804h5ygbbq";
   };
 
   nativeBuildInputs = [
@@ -71,14 +71,10 @@ stdenv.mkDerivation rec {
     mv opt/Mullvad\ VPN/* $out/share/mullvad
 
     sed -i 's|\/opt\/Mullvad.*VPN|'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop
-    sed -i 's|\/opt\/Mullvad.*VPN/resources|'$out'/bin|g' $out/share/mullvad/resources/mullvad-daemon.service
 
-    ln -s $out/share/mullvad/mullvad-vpn $out/bin/mullvad-vpn
+    ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/
     ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon
 
-    mkdir -p $out/etc/systemd/system
-    ln -s $out/share/mullvad/resources/mullvad-daemon.service $out/etc/systemd/system/mullvad-daemon.service
-
     runHook postInstall
   '';
 
@@ -88,6 +84,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.xfix ];
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/networking/mumble/default.nix b/nixpkgs/pkgs/applications/networking/mumble/default.nix
index 6439991920d9..dfb49e14133f 100644
--- a/nixpkgs/pkgs/applications/networking/mumble/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mumble/default.nix
@@ -1,32 +1,30 @@
-{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig
-, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap
+{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
+, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
 , alsaLib, python
+, rnnoise
 , jackSupport ? false, libjack2 ? null
 , speechdSupport ? false, speechd ? null
 , pulseSupport ? false, libpulseaudio ? null
-, iceSupport ? false, zeroc-ice ? null, zeroc-ice-36 ? null
+, iceSupport ? false, zeroc-ice ? null
 }:
 
 assert jackSupport -> libjack2 != null;
 assert speechdSupport -> speechd != null;
 assert pulseSupport -> libpulseaudio != null;
-assert iceSupport -> zeroc-ice != null && zeroc-ice-36 != null;
+assert iceSupport -> zeroc-ice != null;
 
 with stdenv.lib;
 let
-  generic = overrides: source: (if source.qtVersion == 5 then qt5.mkDerivation else stdenv.mkDerivation) (source // overrides // {
-    name = "${overrides.type}-${source.version}";
+  generic = overrides: source: qt5.mkDerivation (source // overrides // {
+    pname = overrides.type;
+    version = source.version;
 
     patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
 
-    nativeBuildInputs = [ pkgconfig python ]
-      ++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}"
+    nativeBuildInputs = [ pkgconfig python qt5.qmake ]
       ++ (overrides.nativeBuildInputs or [ ]);
 
-    # protobuf is freezed to 3.6 because of this bug: https://github.com/mumble-voip/mumble/issues/3617
-    # this could be reverted to the latest version in a future release of mumble as it is already fixed in master
-    buildInputs = [ boost protobuf3_6 avahi ]
-      ++ optional (source.qtVersion == 4) qt4
+    buildInputs = [ boost protobuf avahi ]
       ++ (overrides.buildInputs or [ ]);
 
     qmakeFlags = [
@@ -66,9 +64,9 @@ let
 
     meta = {
       description = "Low-latency, high quality voice chat software";
-      homepage = https://mumble.info;
+      homepage = "https://mumble.info";
       license = licenses.bsd3;
-      maintainers = with maintainers; [ ];
+      maintainers = with maintainers; [ petabyteboy ];
       platforms = platforms.linux;
     };
   });
@@ -76,9 +74,8 @@ let
   client = source: generic {
     type = "mumble";
 
-    nativeBuildInputs = optional (source.qtVersion == 5) qt5.qttools;
-    buildInputs = [ libopus libsndfile speex ]
-      ++ optional (source.qtVersion == 5) qt5.qtsvg
+    nativeBuildInputs = [ qt5.qttools ];
+    buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ]
       ++ optional stdenv.isLinux alsaLib
       ++ optional jackSupport libjack2
       ++ optional speechdSupport speechd
@@ -107,18 +104,18 @@ let
     '';
   } source;
 
-  server = source: let ice = if source.qtVersion == 4 then zeroc-ice-36 else zeroc-ice; in generic {
+  server = source: generic {
     type = "murmur";
 
     postPatch = optional iceSupport ''
-      grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${ice.dev}/share/ice/,g'
+      grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
     '';
 
     configureFlags = [
       "CONFIG+=no-client"
     ] ++ optional (!iceSupport) "CONFIG+=no-ice";
 
-    buildInputs = [ libcap ] ++ optional iceSupport ice;
+    buildInputs = [ libcap ] ++ optional iceSupport zeroc-ice;
 
     installPhase = ''
       # bin stuff
@@ -126,48 +123,19 @@ let
     '';
   } source;
 
-  stableSource = rec {
-    version = "1.2.19";
-    qtVersion = 4;
-
-    src = fetchurl {
-      url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz";
-      sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
-    };
-
-    patches = [
-      # Fix compile error against boost 1.66 (#33655):
-      (fetchpatch {
-        url = "https://github.com/mumble-voip/mumble/commit/"
-            + "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
-        sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
-      })
-      # Fixes hang on reconfiguring audio (often including startup)
-      # https://github.com/mumble-voip/mumble/pull/3418
-      (fetchpatch {
-        url = "https://github.com/mumble-voip/mumble/commit/"
-            + "fbbdf2e8ab7d93ed6f7680268ad0689b7eaa71ad.patch";
-        sha256 = "1yhj62mlwm6q42i4aclbia645ha97d3j4ycxhgafr46dbjs0gani";
-      })
-    ];
-  };
-
-  rcSource = rec {
-    version = "1.3.0-rc2";
-    qtVersion = 5;
+  source = rec {
+    version = "1.3.0";
 
     # Needs submodules
     src = fetchFromGitHub {
       owner = "mumble-voip";
       repo = "mumble";
       rev = version;
-      sha256 = "00irlzz5q4drmsfbwrkyy7p7w8a5fc1ip5vyicq3g3cy58dprpqr";
+      sha256 = "0g5ri84gg0x3crhpxlzawf9s9l4hdna6aqw6qbdpx1hjlf5k6g8k";
       fetchSubmodules = true;
     };
   };
 in {
-  mumble     = client stableSource;
-  mumble_rc  = client rcSource;
-  murmur     = server stableSource;
-  murmur_rc  = server rcSource;
+  mumble  = client source;
+  murmur  = server source;
 }
diff --git a/nixpkgs/pkgs/applications/networking/newsreaders/liferea/default.nix b/nixpkgs/pkgs/applications/networking/newsreaders/liferea/default.nix
index 0cfcf6408ba9..6352922e33e9 100644
--- a/nixpkgs/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/nixpkgs/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, python3Packages, wrapGAppsHook
 , glib, libxml2, libxslt, sqlite, libsoup , webkitgtk, json-glib, gst_all_1
 , libnotify, gtk3, gsettings-desktop-schemas, libpeas, dconf, librsvg
-, gobject-introspection, glib-networking, hicolor-icon-theme
+, gobject-introspection, glib-networking
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib gtk3 webkitgtk libxml2 libxslt sqlite libsoup gsettings-desktop-schemas
     libpeas gsettings-desktop-schemas json-glib dconf gobject-introspection
-    librsvg glib-networking libnotify hicolor-icon-theme
+    librsvg glib-networking libnotify
   ] ++ (with gst_all_1; [
     gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
   ]);
diff --git a/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix b/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix
index 3f90f65476e4..f50d9516167a 100644
--- a/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/newsreaders/quiterss/default.nix b/nixpkgs/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 3a72ae8ce5f9..d54e8eca78e4 100644
--- a/nixpkgs/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
index 6f7f47bdcfa0..71fce57504c0 100644
--- a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
@@ -12,19 +12,18 @@
 , qtkeychain
 , qttools
 , qtwebengine
-, qtwebkit
 , sqlite
 }:
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "2.5.3";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "1pzlq507fasf2ljf37gkw00qrig4w2r712rsy05zfwlncgcn7fnw";
+    sha256 = "18318j488pxksf4zc6zag8pdpyaks55yivn91nx3x458ax6albkz";
   };
 
   patches = [
@@ -45,7 +44,6 @@ mkDerivation rec {
     qtkeychain
     qttools
     qtwebengine
-    qtwebkit
     sqlite
   ];
 
@@ -55,6 +53,7 @@ mkDerivation rec {
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
+    "-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
index 7907365a6a39..998944838e8e 100644
--- a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite }:
+{ stdenv, fetchurl, mkDerivation, cmake, pkgconfig, qtbase, qtkeychain, sqlite }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "owncloud-client";
   version = "2.5.4.11654";
 
@@ -10,10 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];
+  buildInputs = [ qtbase qtkeychain sqlite ];
 
   cmakeFlags = [
     "-UCMAKE_INSTALL_LIBDIR"
+    "-DNO_SHIBBOLETH=1"
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/nixpkgs/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
index 77aee30d38b2..2692e5360cec 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -39,20 +39,20 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = ''
-    -DUSE_ASPELL=ON
-    -DUSE_QT_QML=ON
-    -DFREE_SPACE_BAR_C=ON
-    -DUSE_MINIUPNP=ON
-    -DLOCAL_MINIUPNP=ON
-    -DDBUS_NOTIFY=ON
-    -DUSE_JS=ON
-    -DPERL_REGEX=ON
-    -DUSE_CLI_XMLRPC=ON
-    -DWITH_SOUNDS=ON
-    -DLUA_SCRIPT=ON
-    -DWITH_LUASCRIPTS=ON
-  '';
+  cmakeFlags = [
+    "-DUSE_ASPELL=ON"
+    "-DUSE_QT_QML=ON"
+    "-DFREE_SPACE_BAR_C=ON"
+    "-DUSE_MINIUPNP=ON"
+    "-DLOCAL_MINIUPNP=ON"
+    "-DDBUS_NOTIFY=ON"
+    "-DUSE_JS=ON"
+    "-DPERL_REGEX=ON"
+    "-DUSE_CLI_XMLRPC=ON"
+    "-DWITH_SOUNDS=ON"
+    "-DLUA_SCRIPT=ON"
+    "-DWITH_LUASCRIPTS=ON"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/networking/p2p/firestr/default.nix b/nixpkgs/pkgs/applications/networking/p2p/firestr/default.nix
deleted file mode 100644
index 56eb9c354275..000000000000
--- a/nixpkgs/pkgs/applications/networking/p2p/firestr/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, boost, botan, snappy, libopus, libuuid
-, libXScrnSaver, openssl, qtbase, qtmultimedia }:
-
-stdenv.mkDerivation {
-  name = "firestr-0.8";
-
-  src = fetchFromGitHub {
-    owner  = "mempko";
-    repo   = "firestr";
-    rev    = "f888890f71d49953d05bccdd27a1c4f6690e165c";
-    sha256 = "0s2kdi8rw3i3f8gbiy0ykyi6xj5n8p80m0d1i86mhh8jpagvbfzb";
-  };
-
-  buildInputs = [ cmake boost botan snappy libopus libuuid qtbase qtmultimedia
-                  libXScrnSaver openssl ];
-
-  patches = ./return.patch;
-
-  postPatch = ''
-      substituteInPlace CMakeLists.txt \
-        --replace "set(Boost_USE_STATIC_LIBS on)" "" \
-        --replace "/usr/include/botan" "${botan}/include/botan" \
-        --replace "libopus.a"       "libopus.so" \
-        --replace "libsnappy.a"     "libsnappy.so" \
-        --replace "libbotan-1.10.a" "libbotan-1.10.so.0"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Grass computing platform";
-    homepage = http://firestr.com/;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.ehmry ];
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/p2p/firestr/return.patch b/nixpkgs/pkgs/applications/networking/p2p/firestr/return.patch
deleted file mode 100644
index c3e469ae92b0..000000000000
--- a/nixpkgs/pkgs/applications/networking/p2p/firestr/return.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/message/master_post.cpp b/src/message/master_post.cpp
-index c3a5ea9..7c821b9 100644
---- a/src/message/master_post.cpp
-+++ b/src/message/master_post.cpp
-@@ -56,7 +56,7 @@ namespace fire
- 
-         metadata::encryption_type to_message_encryption_type(sc::encryption_type s)
-         {
--            metadata::encryption_type r;
-+            metadata::encryption_type r = metadata::encryption_type::asymmetric;
-             switch(s)
-             {
-                 case sc::encryption_type::plaintext: r = metadata::encryption_type::plaintext; break;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
index 5488baddef4a..d4fbb2ceb598 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation rec {
   pname = "frostwire";
 
   src = fetchurl {
-    url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
-    sha256 = "03vxg0qas4mz5ggrmi396nkz44x1kgq8bfbhbr9mnal9ay9qmi8m";
+    url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.amd64.tar.gz";
+    sha256 = "0pd9akfq8cx9qkfkzravvrb8pjaxa4b0vgjdwqc1zvkng4wl8848";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "BitTorrent Client and Cloud File Downloader";
     license = licenses.gpl2;
     maintainers = with maintainers; [ gavin ];
-    platforms = platforms.all;
+    platforms = [ "x86_64-linux"];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
index eaa6b07c8fae..e4b306453a41 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.11.6";
+  version = "0.12.1";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q";
+    sha256 = "0zhz3dd4mr6k7wlcxw2xclq8p8l4ia5nlg78dylyz6lbz96h2lsm";
   };
 
   enableParallelBuilding = true;
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = https://gnunet.org/;
-    license = licenses.gpl2Plus;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.gnu ++ platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/networking/p2p/gnunet/git.nix b/nixpkgs/pkgs/applications/networking/p2p/gnunet/git.nix
index c9e2f8f67140..e8f209239bfe 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/gnunet/git.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/gnunet/git.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
     '';
   */
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
 
     longDescription = ''
@@ -84,9 +84,9 @@ stdenv.mkDerivation {
 
     homepage = https://gnunet.org/;
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.agpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/p2p/ktorrent/default.nix b/nixpkgs/pkgs/applications/networking/p2p/ktorrent/default.nix
index 535991312f1d..e38378d09b32 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchpatch, cmake
+{ mkDerivation, lib, fetchurl, fetchpatch, cmake
 , extra-cmake-modules, qtbase, qtscript
 , karchive, kcrash, kdnssd, ki18n, kio, knotifications, knotifyconfig
 , kdoctools, kross, kcmutils, kwindowsystem
 , libktorrent, taglib, libgcrypt, kplotting
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "ktorrent";
   version = "${libktorrent.mainVersion}";
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "KDE integrated BtTorrent client";
     homepage    = https://www.kde.org/applications/internet/ktorrent/;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix b/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
index a579ae15181d..8ab83c8a4ba4 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,13 +10,13 @@ with lib;
 
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.1.7";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv";
+    sha256 = "0bz4l7awkx4qf3gh9c8gj8fab989439zj8qy4x9r36wxdjg5cxil";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/nixpkgs/pkgs/applications/networking/p2p/soulseekqt/default.nix b/nixpkgs/pkgs/applications/networking/p2p/soulseekqt/default.nix
index 704c439bb27d..b52320c96814 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/soulseekqt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/soulseekqt/default.nix
@@ -1,53 +1,47 @@
-{ stdenv
-, fetchurl
+{ stdenv, lib, fetchurl, mkDerivation
+, autoPatchelfHook
 , dbus
-, zlib, fontconfig
-, qtbase, qtmultimedia
-, libjson, libgpgerror
-, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
-, pythonPackages, squashfsTools, desktop-file-utils
+, desktop-file-utils
+, fontconfig
+, libjson
+, pythonPackages
+, qtmultimedia
+, squashfsTools
+, zlib
 }:
 
-with stdenv.lib;
-let
-  libPath = makeLibraryPath
-    [ stdenv.cc.cc qtbase qtmultimedia dbus libX11 zlib libX11 libxcb libXau libXdmcp freetype fontconfig libbsd libjson libgpgerror];
-
+mkDerivation rec {
+  pname = "soulseekqt";
   version = "2018-1-30";
 
-  mainbin = "SoulseekQt-" + (version) +"-"+ (if stdenv.is64bit then "64bit" else "32bit");
-  srcs = {
-    x86_64-linux = fetchurl {
-      url = "https://www.dropbox.com/s/0vi87eef3ooh7iy/${mainbin}.tgz";
+  src = fetchurl {
+      urls = [
+        "https://www.dropbox.com/s/0vi87eef3ooh7iy/SoulseekQt-${version}.tgz"
+        "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz"
+      ];
       sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6";
     };
-  };
-
-in stdenv.mkDerivation rec {
-
-  pname = "soulseekqt";
-  inherit version;
-  src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
 
   dontBuild = true;
 
-  buildInputs = [ pythonPackages.binwalk squashfsTools desktop-file-utils ];
+  nativeBuildInputs = [ autoPatchelfHook pythonPackages.binwalk squashfsTools desktop-file-utils ];
+  buildInputs = [ qtmultimedia stdenv.cc.cc ];
 
-  # avoid usage of appimage's runner option --appimage-extract 
+  # avoid usage of appimage's runner option --appimage-extract
   unpackCmd = ''
     export HOME=$(pwd) # workaround for binwalk
     appimage=$(tar xvf $curSrc) && binwalk --quiet \
        $appimage -D 'squashfs:squashfs:unsquashfs %e'
     '';
-  
+
   patchPhase = ''
     cd squashfs-root/
     binary="$(readlink AppRun)"
-  
+
     # fixup desktop file
     desktop-file-edit --set-key Exec --set-value $binary default.desktop
     desktop-file-edit --set-key Comment --set-value "${meta.description}" default.desktop
-    desktop-file-edit --set-key Categories --set-value Network default.desktop   
+    desktop-file-edit --set-key Categories --set-value Network default.desktop
   '';
 
   installPhase = ''
@@ -57,13 +51,7 @@ in stdenv.mkDerivation rec {
     cp $binary $out/bin/
   '';
 
-  fixupPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-             --set-rpath ${libPath} \
-             $out/bin/$binary
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Official Qt SoulSeek client";
     homepage = http://www.soulseekqt.net;
     license = licenses.unfree;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix b/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
index 850fc488bf3c..72003f417210 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tixati";
-  version = "2.62";
+  version = "2.66";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "18lmzllkymdigfl1xf696zqmr2b83p4rzlc8ddrcr0zpzy2z2w4a";
+    sha256 = "1qwmxfkgc5q7v6ickxr29khil6mh9crv5mwdm72bp6k64w0akbs7";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/p2p/torrential/default.nix b/nixpkgs/pkgs/applications/networking/p2p/torrential/default.nix
index 999f80a7bbd0..01da8a633742 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/torrential/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/torrential/default.nix
@@ -2,11 +2,11 @@
 , fetchFromGitHub
 , cmake
 , pkgconfig
+, vala_0_40
 , pantheon
 , curl
 , glib
 , gtk3
-, hicolor-icon-theme
 , libb64
 , libevent
 , libgee
@@ -14,7 +14,8 @@
 , libunity
 , miniupnpc
 , openssl
-, wrapGAppsHook }:
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "torrential";
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    pantheon.vala
+    vala_0_40 # https://github.com/davidmhewitt/torrential/issues/135
     pkgconfig
     wrapGAppsHook
   ];
@@ -39,7 +40,6 @@ stdenv.mkDerivation rec {
     curl
     glib
     gtk3
-    hicolor-icon-theme
     libb64
     libevent
     libgee
@@ -50,6 +50,12 @@ stdenv.mkDerivation rec {
     pantheon.granite
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Download torrents in style with this speedy, minimalist torrent client for elementary OS";
     homepage = https://github.com/davidmhewitt/torrential;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/transgui/default.nix b/nixpkgs/pkgs/applications/networking/p2p/transgui/default.nix
index 7c720cf35a02..51d591995b76 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/transgui/default.nix
@@ -3,13 +3,13 @@ libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "transgui";
-  version = "5.17.0";
+  version = "5.18.0";
 
   src = fetchFromGitHub {
     owner = "transmission-remote-gui";
     repo = "transgui";
     rev = "v${version}";
-    sha256 = "0p76vavny5asi5naa4jn67raxlarsmrkbchfn96y6gh5p2vzwpl7";
+    sha256 = "1dyx778756zhvz5sxgdvy49p2c0x44w4nmcfd90wqrmgfknncnf5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/nixpkgs/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index bec0507e4a58..68babaddd1bc 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,6 +1,5 @@
 { stdenv, autoconf, automake, libtool, wrapGAppsHook, fetchFromGitHub, pkgconfig
-, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib
-, hicolor-icon-theme }:
+, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib, fetchpatch }:
 
 
 stdenv.mkDerivation rec {
@@ -14,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= [
@@ -22,7 +28,7 @@ stdenv.mkDerivation rec {
     appstream-glib
   ];
 
-  buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ];
+  buildInputs = [ gtk3 json-glib curl glib ];
 
   doCheck = false; # fails with style validation error
 
diff --git a/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix b/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix
index 8af94b2609ff..25996953e11a 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook
-, openssl, curl, libevent, inotify-tools, systemd, zlib, hicolor-icon-theme
+, openssl, curl, libevent, inotify-tools, systemd, zlib
 , enableGTK3 ? false, gtk3
 , enableSystemd ? stdenv.isLinux
 , enableDaemon ? true
@@ -22,8 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ intltool file openssl curl libevent zlib ]
     ++ optionals enableGTK3 [ gtk3 ]
     ++ optionals enableSystemd [ systemd ]
-    ++ optionals stdenv.isLinux [ inotify-tools ]
-    ++ optionals enableGTK3 [ hicolor-icon-theme ];
+    ++ optionals stdenv.isLinux [ inotify-tools ];
 
   postPatch = ''
     substituteInPlace ./configure \
diff --git a/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix b/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix
index 65abcf35a352..683507f8b19a 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/p2p/zeronet/default.nix b/nixpkgs/pkgs/applications/networking/p2p/zeronet/default.nix
index 88f07f0a8a50..ce5a99b1e5fc 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/zeronet/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/zeronet/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchFromGitHub, python2Packages }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "zeronet";
-  version = "0.6.5";
+  version = "0.7.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "HelloZeroNet";
     repo = "ZeroNet";
     rev = "v${version}";
-    sha256 = "1b9jg525jq40czyw9xh9ck90fl9rzrdmzl2mzhqqhz23idb60j4a";
+    sha256 = "04prgicm0yjh2klcxdgwx1mvlsxxi2bdkzfcvysvixbgq20wjvdk";
   };
 
-  propagatedBuildInputs = with python2Packages; [ msgpack gevent ];
-  buildPhase = "${python2Packages.python.interpreter} -O -m compileall .";
+  propagatedBuildInputs = with python3Packages; [
+    gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket_client
+    gevent-websocket rencode bitcoinlib maxminddb pyopenssl
+  ];
+
+  buildPhase = ''
+    ${python3Packages.python.interpreter} -O -m compileall .
+  '';
 
   installPhase = ''
     mkdir -p $out/share
@@ -23,7 +29,7 @@ python2Packages.buildPythonApplication rec {
   postFixup = ''
     makeWrapper "$out/share/zeronet.py" "$out/bin/zeronet" \
       --set PYTHONPATH "$PYTHONPATH" \
-      --set PATH ${python2Packages.python}/bin
+      --set PATH ${python3Packages.python}/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/ping/default.nix b/nixpkgs/pkgs/applications/networking/ping/default.nix
index d20b07a8d3b1..925618bbe991 100644
--- a/nixpkgs/pkgs/applications/networking/ping/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ping/default.nix
@@ -2,13 +2,13 @@
 , fetchFromGitHub
 , meson
 , ninja
+, vala
 , pkgconfig
 , pantheon
 , python3
 , glib
 , gtk3
 , gtksourceview
-, hicolor-icon-theme
 , json-glib
 , libsoup
 , libgee
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     gtksourceview
-    hicolor-icon-theme
     json-glib
     libgee
     libsoup
@@ -50,6 +49,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A helpful tool that lets you debug what part of your API is causing you issues";
     homepage = https://github.com/jeremyvaartjes/ping;
diff --git a/nixpkgs/pkgs/applications/networking/protocol/default.nix b/nixpkgs/pkgs/applications/networking/protocol/default.nix
index 7fdb062ef805..8785d2449b3e 100644
--- a/nixpkgs/pkgs/applications/networking/protocol/default.nix
+++ b/nixpkgs/pkgs/applications/networking/protocol/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildPythonApplication, fetchFromGitHub }:
 
 buildPythonApplication {
-  pname = "protocol";
-  version = "20171226";
+  pname = "protocol-unstable";
+  version = "2019-03-28";
 
   src = fetchFromGitHub {
     owner = "luismartingarcia";
     repo = "protocol";
-    rev = "d450da7d8a58595d8ef82f1d199a80411029fc7d";
-    sha256 = "1g31s2xx0bw8ak5ag1c6mv0p0b8bj5dp3lkk9mxaf2ndj1m1qdkw";
+    rev = "4e8326ea6c2d288be5464c3a7d9398df468c0ada";
+    sha256 = "13l10jhf4vghanmhh3pn91b2jdciispxy0qadz4n08blp85qn9cm";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix b/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
index a585e7f948bb..7acf821dfcf4 100644
--- a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,7 +2,7 @@
 , libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, mkDerivation }:
 
 let
-  version = "1.2.2-1";
+  version = "1.2.3-1";
 
   description = ''
     An application that runs on your computer in the background and seamlessly encrypts
@@ -16,7 +16,7 @@ in mkDerivation {
 
   src = fetchurl {
     url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
-    sha256 = "16hfa07wdqcns79395wjdglg2cjyblqgz1hx8rl15qm7n5f24ckl";
+    sha256 = "032ggk9fvd19fbsqkzwzwh0hpyg8gpkrin71di7zsx6ias5innw1";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/applications/networking/remote/anydesk/default.nix b/nixpkgs/pkgs/applications/networking/remote/anydesk/default.nix
index 30130f60028c..573752b5b533 100644
--- a/nixpkgs/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/anydesk/default.nix
@@ -1,25 +1,26 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem
-, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg
-, lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome }:
+, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg
+, lsb-release, freetype, fontconfig, polkit, polkit_gnome
+, pulseaudio }:
 
 let
   sha256 = {
-    x86_64-linux = "08kdxsg9npb1nmlr2jyq7p238735kqkp7c5xckxn6rc4cp12n2y2";
-    i686-linux   = "11r5d4234zbkkgyrd7q9x3w7s7lailnq7z4x8cnhpr8vipzrg7h2";
+    x86_64-linux = "1ysd8fwzm0360qs6ijr6l0y2agqb3njz20h7am1x4kxmhy8ravq9";
+    i386-linux   = "0vjxbg5hwkqkh600rr75xviwy848r1xw9mxwf6bb6l8b0isvlsgg";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
   arch = {
     x86_64-linux = "amd64";
-    i686-linux   = "i686";
+    i386-linux   = "i386";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
   description = "Desktop sharing application, providing remote support and online meetings";
 
   desktopItem = makeDesktopItem {
-    name = "anydesk";
+    name = "AnyDesk";
     exec = "@out@/bin/anydesk";
     icon = "anydesk";
-    desktopName = "anydesk";
+    desktopName = "AnyDesk";
     genericName = description;
     categories = "Application;Network;";
     startupNotify = "false";
@@ -27,20 +28,23 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "4.0.1";
+  version = "5.5.1";
 
   src = fetchurl {
-    url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
+    urls = [
+      "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz"
+      "https://download.anydesk.com/linux/generic-linux/${pname}-${version}-${arch}.tar.gz"
+    ];
     inherit sha256;
   };
 
   buildInputs = [
     atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango
-    gnome2.gtkglext libGLU_combined freetype fontconfig
-    pangox_compat polkit polkit_gnome
+    gnome2.gtkglext libGLU libGL freetype fontconfig
+    polkit polkit_gnome pulseaudio
   ] ++ (with xorg; [
-    libxcb libX11 libXdamage libXext libXfixes libXi libXmu
-    libXrandr libXtst libXt libICE libSM
+    libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu
+    libXrandr libXtst libXt libICE libSM libXrender
   ]);
 
   nativeBuildInputs = [ makeWrapper ];
@@ -50,8 +54,8 @@ in stdenv.mkDerivation rec {
 
     mkdir -p $out/bin $out/share/{applications,doc/anydesk,icons/hicolor}
     install -m755 anydesk $out/bin/anydesk
-    cp changelog copyright README $out/share/doc/anydesk
-    cp -r icons/* $out/share/icons/hicolor/
+    cp copyright README $out/share/doc/anydesk
+    cp -r icons/hicolor/* $out/share/icons/hicolor/
     cp ${desktopItem}/share/applications/*.desktop $out/share/applications
 
     runHook postInstall
@@ -63,6 +67,11 @@ in stdenv.mkDerivation rec {
       --set-rpath "${stdenv.lib.makeLibraryPath buildInputs}" \
       $out/bin/anydesk
 
+    # pangox is not actually necessary (it was only added as a part of gtkglext)
+    patchelf \
+      --remove-needed libpangox-1.0.so.0 \
+      $out/bin/anydesk
+
     wrapProgram $out/bin/anydesk \
       --prefix PATH : ${stdenv.lib.makeBinPath [ lsb-release ]}
 
@@ -75,6 +84,6 @@ in stdenv.mkDerivation rec {
     homepage = https://www.anydesk.com;
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ shyim ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix b/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix
index 4936b0ce0b50..a4deda99f5b2 100644
--- a/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -9,6 +9,7 @@
 , makeDesktopItem
 , tzdata
 , cacert
+, dconf
 , glib
 , gtk2
 , atk
@@ -23,7 +24,7 @@
 , gtk_engines
 , alsaLib
 , zlib
-, version ? "19.8.0"
+, version ? "19.12.0"
 }:
 
 let
@@ -48,7 +49,7 @@ let
         x86hash   = "16v3kgavrh62z6vxcbw6mn7h0bfishpl7m92k7g1p2882r1f8vaf";
         x64suffix = "60";
         x86suffix = "60";
-        homepage  = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
+        homepage  = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest.html;
       };
 
       "19.8.0" = {
@@ -59,7 +60,29 @@ let
         x86hash   = "0afcqirb4q349r3izy88vqkszg6y2wg14iwypk6nrmvwgvcl6jdn";
         x64suffix = "20";
         x86suffix = "20";
-        homepage  = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
+        homepage  = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest1.html;
+      };
+
+      "19.10.0" = {
+        major     = "19";
+        minor     = "10";
+        patch     = "0";
+        x64hash   = "1l4q4pmfiw9gmml6j5b3hls2101xf5m8p6855nhfhvqlisrj9h14";
+        x86hash   = "000zjik8wf8b6fadnsai0p77b4n2l95544zx503iyrb9pv53bj3y";
+        x64suffix = "15";
+        x86suffix = "15";
+        homepage  = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1910.html;
+      };
+
+      "19.12.0" = {
+        major     = "19";
+        minor     = "12";
+        patch     = "0";
+        x64hash   = "1si5mkxbgb8m99bkvgc3l80idjfdp0kby6pv47s07nn43dbr1j7a";
+        x86hash   = "07rfp90ksnvr8zv7ix7f0z6a59n48s7bd4kqbzilfwxgs4ddqmcy";
+        x64suffix = "19";
+        x86suffix = "19";
+        homepage  = https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
       };
     };
 
@@ -126,7 +149,7 @@ let
         gdk-pixbuf
         cairo
         pango
-        gnome3.dconf
+        dconf
         xorg.libX11
         xorg.libXext
         xorg.libXrender
diff --git a/nixpkgs/pkgs/applications/networking/remote/putty/default.nix b/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
index 3b7db7075bb5..49182ec182fe 100644
--- a/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, fetchurl, autoconf, automake, pkgconfig, libtool
-, gtk2, halibut, ncurses, perl
+, gtk2, halibut, ncurses, perl, darwin
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.71";
+  version = "0.73";
   pname = "putty";
 
   src = fetchurl {
@@ -11,15 +11,15 @@ stdenv.mkDerivation rec {
       "https://the.earth.li/~sgtatham/putty/${version}/${pname}-${version}.tar.gz"
       "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${pname}-${version}.tar.gz"
     ];
-    sha256 = "1f66iss0kqk982azmxbk4xfm2i1csby91vdvly6cr04pz3i1r4rg";
+    sha256 = "076z34jpik2dmlwxicvf1djjgnahcqv12rjhmb9yq6ml7x0bbc1x";
   };
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   preConfigure = lib.optionalString stdenv.hostPlatform.isUnix ''
     perl mkfiles.pl
     ( cd doc ; make );
-    sed -e '/AM_PATH_GTK(/d' \
-        -e '/AC_OUTPUT/iAM_PROG_CC_C_O' \
-        -e '/AC_OUTPUT/iAM_PROG_AR' -i configure.ac
     ./mkauto.sh
     cd unix
   '' + lib.optionalString stdenv.hostPlatform.isWindows ''
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake halibut libtool perl pkgconfig ];
   buildInputs = lib.optionals stdenv.hostPlatform.isUnix [
     gtk2 ncurses
-  ];
+  ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.libs.utmp;
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix b/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
index f60d43f36166..3c624faaf87a 100644
--- a/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
@@ -4,22 +4,22 @@
 , pcre, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core
-, openssl, gsettings-desktop-schemas, json-glib
+, openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz
 # The themes here are soft dependencies; only icons are missing without them.
-, hicolor-icon-theme, gnome3
+, gnome3
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.3.4";
+  version = "1.3.8";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1";
+    sha256 = "017bm43d56clgray7sjvb00wpchr4zazc9ll0cd5wimirm12cxba";
   };
 
   nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];
@@ -30,7 +30,8 @@ stdenv.mkDerivation rec {
     pcre libdbusmenu-gtk3 libappindicator-gtk3
     libvncserver libpthreadstubs libXdmcp libxkbcommon
     libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core
-    openssl hicolor-icon-theme gnome3.adwaita-icon-theme json-glib
+    openssl gnome3.adwaita-icon-theme json-glib libsodium webkitgtk
+    harfbuzz
   ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix b/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
index d9a3d4aefcdc..68a454745c70 100644
--- a/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "teamviewer";
-  version = "14.5.1691";
+  version = "15.0.8397";
 
   src = fetchurl {
-    url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb";
-    sha256 = "1dzvjyvcqcah6z1dvw4zvmbdn8iks9j2909slbkksavn1rp3akxc";
+    url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
+    sha256 = "0bidlwlpzqpba9c0zfasm08vp308hgfnq4pslj1b04v64mlci66s";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/resilio-sync/default.nix b/nixpkgs/pkgs/applications/networking/resilio-sync/default.nix
index e9d0727d31cf..14d418cd2bfb 100644
--- a/nixpkgs/pkgs/applications/networking/resilio-sync/default.nix
+++ b/nixpkgs/pkgs/applications/networking/resilio-sync/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "resilio-sync";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchurl {
     url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
     sha256 = {
-      x86_64-linux = "114k7dsxn7lzv6mjq9alsqxypvkah4lmjn5w6brbvgd6m6pdwslz";
-      i686-linux   = "1dh0hxbd33bs51xib3qwxw58h9j30v0dc10b4x4rwkbgsj11nc83";
+      x86_64-linux = "1c1yksjag58p7yjm72iiz82p2r01lq7kxvq7z5phmq5z6gxdg4a8";
+      i686-linux   = "167baz9fzmzk50jffzvgmgyw1zw3955r3cb73z23qvw8zqzdqydc";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/sipcmd/default.nix b/nixpkgs/pkgs/applications/networking/sipcmd/default.nix
deleted file mode 100644
index a36c2286956b..000000000000
--- a/nixpkgs/pkgs/applications/networking/sipcmd/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchFromGitHub, opal, ptlib }:
-
-stdenv.mkDerivation rec {
-
-  rev = "3090e9f";
-
-  name = "sipcmd-${rev}";
-  
-  src = fetchFromGitHub {
-    repo = "sipcmd";
-    owner = "tmakkonen";
-    inherit rev;
-    sha256 = "072h9qapmz46r8pxbzkfmc4ikd7dv9g8cgrfrw21q942icbrvq2c";
-  };
-
-  buildInputs = [ opal ptlib ];
-
-  buildPhase = ''
-    make IFLAGS="-I${opal}/include/opal -I${ptlib}/include -Isrc/ -L${opal}/lib -L${ptlib}/lib"
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    cp sipcmd $out/bin/sipcmd
-  '';
-
-  meta = {
-    homepage = https://github.com/tmakkonen/sipcmd;
-    description = "The command line SIP/H.323/RTP softphone";
-    platforms = with stdenv.lib.platforms; linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
-
diff --git a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
index aa965a0c8683..67365405cc20 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with stdenv.lib;
 
 let
-  version = "3.0.3";
+  version = "3.2.0";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "0711jilp9sbgi46d105m3galw8n4wk5yncawi08031qxg2f754mg";
+    sha256 = "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix b/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
index 349c4f5e799e..cf1159b83f8e 100644
--- a/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.16.2";
-  name = "${pname}-${version}";
+  version = "3.17.2";
+  name = "Patchwork-${version}";
 
   src = fetchurl {
-    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
-    sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4";
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
+    sha256 = "1pmy01jwdr461vsl4fsxi3jaqnjx9yl5dw4987y5g73qx21qc5d5";
   };
 
   binary = appimageTools.wrapType2 {
diff --git a/nixpkgs/pkgs/applications/networking/station/default.nix b/nixpkgs/pkgs/applications/networking/station/default.nix
new file mode 100644
index 000000000000..afc89fe78024
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/station/default.nix
@@ -0,0 +1,30 @@
+{ appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, lib }:
+
+let
+  pname = "station";
+  version = "1.52.2";
+in appimageTools.wrapType2 rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/getstation/desktop-app-releases/releases/download/${version}/Station-${version}-x86_64.AppImage";
+    sha256 = "0lhiwvnf94is9klvzrqv2wri53gj8nms9lg2678bs4y58pvjxwid";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null;
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
+
+  meta = with lib; {
+    description = "A single place for all of your web applications";
+    homepage = "https://getstation.com";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ lattfein ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/sync/casync/default.nix b/nixpkgs/pkgs/applications/networking/sync/casync/default.nix
index cdec695d90f2..82a99bf2df10 100644
--- a/nixpkgs/pkgs/applications/networking/sync/casync/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/casync/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "casync";
-  version = "2-152-ge4a3c5e";
+  version = "2-219-ga8f6c84";
 
   src = fetchFromGitHub {
     owner  = "systemd";
     repo   = "casync";
-    rev    = "e4a3c5efc8f11e0e99f8cc97bd417665d92b40a9";
-    sha256 = "0zx6zvj5a6rr3w9s207rvpfw7gwssiqmp1p3c75bsirmz4nmsdf0";
+    rev    = "a8f6c841ccfe59ca8c68aad64df170b64042dce8";
+    sha256 = "1i3c9wmpabpmx2wfbcyabmwfa66vz92iq5dlbm89v5mvgavz7bws";
   };
 
   buildInputs = [ acl curl xz zstd ]
diff --git a/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
index ceaddeb3d443..dc38debd3050 100644
--- a/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.3.9";
+  version = "2.3.12";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = "onedrive";
     rev = "v${version}";
-    sha256 = "0fg2zzhhd1wl8z416px432xynx6whnzdamzdckc8rmm1cvghgb0f";
+    sha256 = "0605nb3blvnncjx09frg2liarrd6pw8ph5jhnh764qcx0hyxcgs6";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "A complete tool to interact with OneDrive on Linux";
     homepage = "https://github.com/abraunegg/onedrive";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ doronbehar ];
+    maintainers = with maintainers; [ doronbehar srgom ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
index 5e9945492de5..71421eaf1e71 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "rclone";
-  version = "1.49.3";
+  version = "1.50.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dd5xrbf62n4y77zzaai1rc069ism1ikvcw43hzja3mzwfa0sqqa";
+    sha256 = "0yaspkh88q8i58i8g8mm6sqb75hczavz2lvzdd1iif1bqgi6b5fz";
   };
 
   goPackagePath = "github.com/rclone/rclone";
diff --git a/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix b/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
index 19e2eaa5fa23..19be478b0f1e 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
@@ -8,8 +8,7 @@ stdenv.mkDerivation {
 
   src = base.src;
 
-  buildInputs = [ rsync ];
-  nativeBuildInputs = [perl];
+  buildInputs = [ rsync perl ];
 
   # Skip configure and build phases.
   # We just want something from the support directory
diff --git a/nixpkgs/pkgs/applications/networking/syncplay/default.nix b/nixpkgs/pkgs/applications/networking/syncplay/default.nix
index 3e5d3187e9b2..920a1c97539e 100644
--- a/nixpkgs/pkgs/applications/networking/syncplay/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncplay/default.nix
@@ -1,8 +1,8 @@
-{ lib, fetchFromGitHub, buildPythonApplication, pyside, twisted, certifi }:
+{ lib, fetchFromGitHub, buildPythonApplication, pyside2, shiboken2, twisted, certifi, qt5 }:
 
 buildPythonApplication rec {
   pname = "syncplay";
-  version = "1.6.4";
+  version = "1.6.4a";
 
   format = "other";
 
@@ -10,13 +10,18 @@ buildPythonApplication rec {
     owner = "Syncplay";
     repo = "syncplay";
     rev = "v${version}";
-    sha256 = "0afh2a0l1c3hwgj5q6wy0v5iimg8qcjam3pw7b8mf63lasx6iqk4";
+    sha256 = "0zz4a3vzfg808z1qkqz31z4818wzpfa2lika7wl0jgpmw4zi85ix";
   };
 
-  propagatedBuildInputs = [ pyside twisted certifi ] ++ twisted.extras.tls;
+  propagatedBuildInputs = [ pyside2 shiboken2 twisted certifi ] ++ twisted.extras.tls;
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
   makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
 
+  postFixup = ''
+    wrapQtApp $out/bin/syncplay
+  '';
+
   meta = with lib; {
     homepage = https://syncplay.pl/;
     description = "Free software that synchronises media players";
diff --git a/nixpkgs/pkgs/applications/networking/syncthing/add-stcli-target.patch b/nixpkgs/pkgs/applications/networking/syncthing/add-stcli-target.patch
index 58ac15253aed..07b5e334b2c9 100644
--- a/nixpkgs/pkgs/applications/networking/syncthing/add-stcli-target.patch
+++ b/nixpkgs/pkgs/applications/networking/syncthing/add-stcli-target.patch
@@ -1,17 +1,17 @@
-diff --git i/build.go w/build.go
-index 7d400d6f..1b5e1d25 100644
---- i/build.go
-+++ w/build.go
-@@ -175,6 +175,12 @@ var targets = map[string]target{
+diff --git a/build.go b/build.go
+index c8a5c1cf..d75a8491 100644
+--- a/build.go
++++ b/build.go
+@@ -202,6 +202,12 @@ var targets = map[string]target{
  			{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644},
  		},
  	},
 +	"stcli": {
 +		name:        "stcli",
 +		description: "Syncthing CLI",
-+		buildPkg:    "github.com/syncthing/syncthing/cmd/stcli",
-+		binaryName:  "stcli", // .exe will be added automatically for Windows builds
++		buildPkgs:   []string{"github.com/syncthing/syncthing/cmd/stcli"},
++		binaryName:  "stcli",
 +	},
  }
  
- func init() {
+ // These are repos we need to clone to run "go generate"
diff --git a/nixpkgs/pkgs/applications/networking/syncthing/default.nix b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
index 7bfe697105eb..8a110c63929d 100644
--- a/nixpkgs/pkgs/applications/networking/syncthing/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
@@ -3,19 +3,19 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.2.2";
+      version = "1.3.3";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "0zkyjnjrla0vpvidwwr4z4kxc9cyjcfbjdzsr34xz7rw3jswswm9";
+        sha256 = "0bcp8kbj8xsnly2dfafnfvj6vl27mbgvj84pjk0wxdjfnr2my9ic";
       };
 
       goPackagePath = "github.com/syncthing/syncthing";
 
-      modSha256 = "0pp2gjx227crggph924q7sg6ak8nyl8nlsffpmawq4zl1908lsrd";
+      modSha256 = "0kv24bi3w3pvjyjng7ly67brq8wkc1xnhsyha1h7v3jbmj5fgb12";
 
       patches = [
         ./add-stcli-target.patch
diff --git a/nixpkgs/pkgs/applications/networking/testssl/default.nix b/nixpkgs/pkgs/applications/networking/testssl/default.nix
index 0c30a3def336..e518502d6f37 100644
--- a/nixpkgs/pkgs/applications/networking/testssl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/testssl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.0rc5";
+  version = "3.0rc6";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = pname;
     rev = version;
-    sha256 = "14b9n0h4f2dsa292wi9gnan5ncgqblis6wyh5978lhjzi1d7gyds";
+    sha256 = "1ks7pqgrg382ry0a0jf1dwgcwv81snhkrhkjdbcpym6w5flmpjsv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       CLI tool which checks a server's service on any port for the support of
       TLS/SSL ciphers, protocols as well as recent cryptographic flaws and more.
     '';
-    homepage = https://testssl.sh/;
+    homepage = "https://testssl.sh/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ etu ];
   };
diff --git a/nixpkgs/pkgs/applications/networking/transporter/default.nix b/nixpkgs/pkgs/applications/networking/transporter/default.nix
deleted file mode 100644
index a3cde14f34c0..000000000000
--- a/nixpkgs/pkgs/applications/networking/transporter/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv
-, fetchFromGitHub
-, meson
-, ninja
-, pkgconfig
-, gtk3
-, python3
-, pantheon
-, gnome3
-, libxml2
-, gettext
-, gobject-introspection
-, appstream-glib
-, desktop-file-utils
-, magic-wormhole
-, wrapGAppsHook }:
-
-let
-  pname = "Transporter";
-  version = "1.3.3";
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "bleakgrey";
-    repo = pname;
-    rev = version;
-    sha256 = "19zb2yqmyyhk5vgh6p278b76shlq0r8ykk1ks8zzr187nr5lf5k1";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    pantheon.vala
-    gettext
-    gobject-introspection # For setup hook
-    libxml2
-    meson
-    ninja
-    pkgconfig
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    pantheon.elementary-icon-theme
-    gnome3.libgee
-    pantheon.granite
-    gtk3
-    magic-wormhole
-  ];
-
-  prePatch = ''
-  # The paths were hardcoded
-  substituteInPlace ./src/WormholeInterface.vala \
-    --replace /bin/wormhole ${magic-wormhole}/bin/wormhole
-  '';
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Simple magic-wormhole client";
-    homepage    = https://github.com/bleakgrey/Transporter;
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ worldofpeace ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/trebleshot/default.nix b/nixpkgs/pkgs/applications/networking/trebleshot/default.nix
new file mode 100644
index 000000000000..1b049ff2dc7f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/trebleshot/default.nix
@@ -0,0 +1,29 @@
+{ mkDerivation, lib, fetchFromGitHub
+, cmake, qtbase, kdnssd
+}:
+
+mkDerivation rec {
+  pname = "trebleshot";
+  version = "0.1.0-alpha2-15-ga7ac23c";
+  # name="${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "genonbeta";
+    repo = "TrebleShot-Desktop";
+    rev = "${version}";
+    sha256 = "1k8wagw6arsi1lqkhn1nl6j11mb122vi1qs0q2np6nznwfy7pn1k";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase kdnssd ];
+
+  meta = with lib; {
+    description = "Android file transferring tool for desktop";
+    homepage = https://github.com/genonbeta/TrebleShot-Desktop;
+    license = licenses.gpl2;
+
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ woffs ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/weather/meteo/default.nix b/nixpkgs/pkgs/applications/networking/weather/meteo/default.nix
index 88d33a9a9f3c..64fef08ceefd 100644
--- a/nixpkgs/pkgs/applications/networking/weather/meteo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/weather/meteo/default.nix
@@ -1,17 +1,16 @@
 { stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, gtk3
 , json-glib, libsoup, webkitgtk, geocode-glib
-, libappindicator, desktop-file-utils, appstream, wrapGAppsHook
-, hicolor-icon-theme }:
+, libappindicator, desktop-file-utils, appstream, wrapGAppsHook }:
 
 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 = [
@@ -28,7 +27,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     geocode-glib
     gtk3
-    hicolor-icon-theme
     json-glib
     libappindicator
     libsoup
@@ -42,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/nixpkgs/pkgs/applications/networking/znc/default.nix b/nixpkgs/pkgs/applications/networking/znc/default.nix
index 238864311ef0..bf36a6f2bbbd 100644
--- a/nixpkgs/pkgs/applications/networking/znc/default.nix
+++ b/nixpkgs/pkgs/applications/networking/znc/default.nix
@@ -13,11 +13,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "znc";
-  version = "1.7.4";
+  version = "1.7.5";
 
   src = fetchurl {
     url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
-    sha256 = "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi";
+    sha256 = "08a7yb2xs85hyyz8dpzfbsfjwj2r6kcii022lj3l4rf8hl9ix558";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/networking/znc/modules.nix b/nixpkgs/pkgs/applications/networking/znc/modules.nix
index 54e148f0833e..5e7bdd09b036 100644
--- a/nixpkgs/pkgs/applications/networking/znc/modules.nix
+++ b/nixpkgs/pkgs/applications/networking/znc/modules.nix
@@ -79,15 +79,15 @@ in {
 
   fish = zncDerivation rec {
     name = "znc-fish-${version}";
-    version = "git-2014-10-10";
+    version = "git-2017-06-26";
     module_name = "fish";
 
     src = fetchFromGitHub {
-      # this fork works with ZNC 1.6
-      owner = "jarrydpage";
+      # this fork works with ZNC 1.7
+      owner = "oilslump";
       repo = "znc-fish";
-      rev = "9c580e018a1a08374e814fc06f551281cff827de";
-      sha256 = "0yvs0jkwwp18qxqvw1dvir91ggczz56ka00k0zlsb81csdi8xfvl";
+      rev = "7d91467dbb195f7b591567911210523c6087662e";
+      sha256 = "1ky5xg17k5f393whrv5iv8zsmdvdyk2f7z5qdsmxcwy3pdxy6vsm";
     };
 
     meta = {
diff --git a/nixpkgs/pkgs/applications/office/aesop/default.nix b/nixpkgs/pkgs/applications/office/aesop/default.nix
index b71334a6a726..5b166711693a 100644
--- a/nixpkgs/pkgs/applications/office/aesop/default.nix
+++ b/nixpkgs/pkgs/applications/office/aesop/default.nix
@@ -1,24 +1,33 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }:
+{ stdenv, vala, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
+, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
 
 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";
   };
 
+  patches = [
+    # Fix build
+    # https://github.com/lainsce/aesop/pull/33
+    (fetchpatch {
+      url = "https://github.com/lainsce/aesop/commit/850ec86bbfef5168e537a5af7e0d73d96db56330.patch";
+      sha256 = "14b251wp11rypqw4fafwjbsqy92mxzr8mmaxlv7n4whvwxrzqirh";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     meson
     ninja
     pkgconfig
     python3
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
 
@@ -37,6 +46,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The simplest PDF viewer around";
     homepage = https://github.com/lainsce/aesop;
diff --git a/nixpkgs/pkgs/applications/office/antiword/default.nix b/nixpkgs/pkgs/applications/office/antiword/default.nix
index 96a518a7a28f..e6c939b277ea 100644
--- a/nixpkgs/pkgs/applications/office/antiword/default.nix
+++ b/nixpkgs/pkgs/applications/office/antiword/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   patches = [ ./10_fix_buffer_overflow_wordole_c.patch ];
 
-  installTargets = "global_install";
+  installTargets = [ "global_install" ];
 
   meta = {
     homepage = http://www.winfield.demon.nl/;
diff --git a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
index 6ef6e51527e2..6894f1ca635a 100644
--- a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
+++ b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "8.5.0";
+  version = "9.0.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "0c9jq7q0bx0db0zhdh89bv1ijfg7cddbx04v451vl8caqcyhkfgz";
+    sha256  = "1z8723krq65fcy5aapgiz216vrpw2nw8fbn1h3a4zpis7kw8qp0f";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/nixpkgs/pkgs/applications/office/bookworm/default.nix b/nixpkgs/pkgs/applications/office/bookworm/default.nix
index fe81340a7fb4..be6fe172e29f 100644
--- a/nixpkgs/pkgs/applications/office/bookworm/default.nix
+++ b/nixpkgs/pkgs/applications/office/bookworm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
+{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
 , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     python3
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     pantheon.elementary-icon-theme
     pantheon.granite
     glib
-    gnome3.libgee
+    libgee
     gtk3
     html2text
     poppler
diff --git a/nixpkgs/pkgs/applications/office/envelope/default.nix b/nixpkgs/pkgs/applications/office/envelope/default.nix
new file mode 100644
index 000000000000..bb85ae2e12b9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/envelope/default.nix
@@ -0,0 +1,80 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, pantheon
+, python3
+, vala
+, appstream-glib
+, desktop-file-utils
+, gettext
+, glib
+, gtk3
+, libgee
+, sqlite
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "envelope";
+  version = "0.0.4";
+
+  src = fetchFromGitHub {
+    owner = "cjfloss";
+    repo = pname;
+    rev = version;
+    sha256 = "111lq1gijcm7qwpac09q11ymwiw2x3m12a28ki52f28fb1amvffc";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    vala
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libgee
+    pantheon.granite
+    sqlite
+  ];
+
+  doCheck = true;
+
+  patches = [
+    # Fix AppData Validation.
+    # https://github.com/cjfloss/envelope/pull/59
+    (fetchpatch {
+      url = "https://github.com/cjfloss/envelope/commit/b6a28eced89b8f944479fcc695aebfb9aae0c691.patch";
+      sha256 = "11znc8z52kl893n3gmmdpnp3y4vpzmb263m5gp0qxbl3xykq2wzr";
+    })
+  ];
+
+  postPatch = ''
+    chmod +x data/post_install.py
+    patchShebangs data/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Personal finance manager for elementary OS";
+    homepage = "https://github.com/cjfloss/envelope";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/fava/default.nix b/nixpkgs/pkgs/applications/office/fava/default.nix
index a5de74a6f165..6693d35dbd1d 100644
--- a/nixpkgs/pkgs/applications/office/fava/default.nix
+++ b/nixpkgs/pkgs/applications/office/fava/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gyrxqmfr8igfjnp9lcsl4km17yakj556xns3jp4m9l2407b5zhc";
+    sha256 = "0309y25l7aijk7il9hpjia23yc5dfac0h78xdmzb0w0ynxbjsmi6";
   };
 
   checkInputs = [ python3.pkgs.pytest ];
@@ -25,6 +25,8 @@ buildPythonApplication rec {
       markdown2
       ply
       simplejson
+      werkzeug
+      jaraco_functools
     ];
 
   # CLI test expects fava on $PATH.  Not sure why static_url fails.
diff --git a/nixpkgs/pkgs/applications/office/flexibee/default.nix b/nixpkgs/pkgs/applications/office/flexibee/default.nix
index 284fdf7a124d..c215b9ef637d 100644
--- a/nixpkgs/pkgs/applications/office/flexibee/default.nix
+++ b/nixpkgs/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2019.2.5";
+  version = "2019.3.1.3";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,16 +11,25 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0k94y4x6lj1vcb89a95v9mzl95mkpwp9n4a2gwvq0g90zpbnn493";
+    sha256 = "0jfj0vmrwa05ga4rhqn0sapad06mq0pampmkr75vail2289zkga2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
+  prePatch = ''
+    substituteInPlace usr/sbin/flexibee-server \
+      --replace "/usr/share/flexibee" $out \
+      --replace "/var/run" "/run"
+  '';
+
+
   installPhase = ''
     runHook preInstall
     cp -R usr/share/flexibee/ $out/
     install -Dm755 usr/bin/flexibee $out/bin/flexibee
-    wrapProgram  $out/bin/flexibee --set JAVA_HOME "${jre}"
+    install -Dm755 usr/sbin/flexibee-server $out/bin/flexibee-server
+    wrapProgram $out/bin/flexibee --set JAVA_HOME "${jre}"
+    wrapProgram $out/bin/flexibee-server --set JAVA_HOME "${jre}"
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/office/gnucash/default.nix b/nixpkgs/pkgs/applications/office/gnucash/default.nix
index 3abc447f6e9f..963a896dd512 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnucash/default.nix
@@ -25,27 +25,26 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnucash";
-  version = "3.6";
+  version = "3.8b";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2";
-    sha256 = "09azp17ghn7i8kwk0ci3gq0qkn5pvbknhf1cbk7v43mvc3g8djzi";
+    sha256 = "0dvzm3bib7jcj685sklpzyy9mrak9mxyvih2k9fk4sl3v21wlphg";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ];
 
   buildInputs = [
     boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales
-    webkitgtk dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi
+    webkitgtk dconf libofx aqbanking gwenhywfar libdbi
     libdbiDrivers guile
     perlWrapper perl
   ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
 
   propagatedUserEnvPkgs = [ dconf ];
 
-  # glib-2.58 deprecrated g_type_class_add_private
-  # Should probably be removed next version bump
-  CXXFLAGS = [ "-Wno-deprecated-declarations" ];
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   patches = [ ./cmake_check_symbol_exists.patch ];
 
diff --git a/nixpkgs/pkgs/applications/office/gnumeric/default.nix b/nixpkgs/pkgs/applications/office/gnumeric/default.nix
index 70d1e3d79ba5..979c960f7a81 100644
--- a/nixpkgs/pkgs/applications/office/gnumeric/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/grisbi/default.nix b/nixpkgs/pkgs/applications/office/grisbi/default.nix
index 752ad70cd094..cb8cf76b9988 100644
--- a/nixpkgs/pkgs/applications/office/grisbi/default.nix
+++ b/nixpkgs/pkgs/applications/office/grisbi/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, gtk, pkgconfig, libgsf, libofx, intltool, wrapGAppsHook
-, hicolor-icon-theme, libsoup, gnome3 }:
+, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "grisbi";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [ gtk libgsf libofx intltool hicolor-icon-theme libsoup
+  buildInputs = [ gtk libgsf libofx intltool libsoup
     gnome3.adwaita-icon-theme ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index 727a68c440a2..f72f820fd23d 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/pkgs/applications/office/homebank/default.nix
@@ -1,15 +1,15 @@
 { fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook
-, hicolor-icon-theme, libsoup, gnome3 }:
+, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.2.7";
+  name = "homebank-5.2.8";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "0pzbn0wlppwbap19isbv8vv3cq7xswladhc272ykaya78r1bxvcf";
+    sha256 = "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup
+  buildInputs = [ gtk libofx intltool libsoup
     gnome3.adwaita-icon-theme ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/office/impressive/default.nix b/nixpkgs/pkgs/applications/office/impressive/default.nix
index 5065a1cb9bc9..a8c318d690a9 100644
--- a/nixpkgs/pkgs/applications/office/impressive/default.nix
+++ b/nixpkgs/pkgs/applications/office/impressive/default.nix
@@ -2,7 +2,7 @@
 , SDL, ghostscript, pdftk, dejavu_fonts }:
 
 let
-  version = "0.12.0";
+  version = "0.12.1";
   pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
 in stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
 
     src = fetchurl {
       url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "0zaqq3yvd296mfr5bxpj2hqlk7vrb0rsbgd4dc1l5ag46giqvivx";
+      sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
     };
 
     buildInputs = [ makeWrapper pythonEnv ];
diff --git a/nixpkgs/pkgs/applications/office/jabref/default.nix b/nixpkgs/pkgs/applications/office/jabref/default.nix
index b249186c2f17..d0a7757e49d2 100644
--- a/nixpkgs/pkgs/applications/office/jabref/default.nix
+++ b/nixpkgs/pkgs/applications/office/jabref/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Open source bibliography reference manager";
-    homepage = http://jabref.sourceforge.net;
+    homepage = https://www.jabref.org;
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.gebner ];
diff --git a/nixpkgs/pkgs/applications/office/kexi/default.nix b/nixpkgs/pkgs/applications/office/kexi/default.nix
index 83515de49903..8db7068f7cfa 100644
--- a/nixpkgs/pkgs/applications/office/kexi/default.nix
+++ b/nixpkgs/pkgs/applications/office/kexi/default.nix
@@ -4,7 +4,7 @@
   breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets,
   kwidgetsaddons, kxmlgui,
-  kdb, kproperty, kreport, lcms2, mysql, marble, postgresql
+  kdb, kproperty, kreport, lcms2, libmysqlclient, marble, postgresql
 }:
 
 mkDerivation rec {
@@ -23,7 +23,7 @@ mkDerivation rec {
     breeze-icons karchive kcodecs kcompletion kconfig kconfigwidgets kcoreaddons
     kcrash kguiaddons ki18n kiconthemes kitemviews kio ktexteditor ktextwidgets
     kwidgetsaddons kxmlgui
-    kdb kproperty kreport lcms2 mysql.connector-c marble postgresql
+    kdb kproperty kreport lcms2 libmysqlclient marble postgresql
   ];
 
   propagatedUserEnvPkgs = [ kproperty ];
diff --git a/nixpkgs/pkgs/applications/office/kmymoney/default.nix b/nixpkgs/pkgs/applications/office/kmymoney/default.nix
index 0cb23abea66a..c7b4377c3dcb 100644
--- a/nixpkgs/pkgs/applications/office/kmymoney/default.nix
+++ b/nixpkgs/pkgs/applications/office/kmymoney/default.nix
@@ -10,17 +10,16 @@
 # Needed for running tests:
 , qtbase, xvfb_run
 
-# For weboob, which only supports Python 2.x:
-, python2Packages
+, python2, python3Packages
 }:
 
 stdenv.mkDerivation rec {
   pname = "kmymoney";
-  version = "5.0.5";
+  version = "5.0.7";
 
   src = fetchurl {
     url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1hghs4676kn2giwpwz1y7p6djpmi41x64idf3ybiz8ky14a5s977";
+    sha256 = "1h5mzvgpfyl2j66b3nsw17yxvg0ja1qhjlcmfkz62221vcqsrp6m";
   };
 
   # Hidden dependency that wasn't included in CMakeLists.txt:
@@ -29,8 +28,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython
-    wrapQtAppsHook
+    doxygen extra-cmake-modules graphviz kdoctools python2
+    python3Packages.wrapPython wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -41,10 +40,10 @@ stdenv.mkDerivation rec {
 
     # Put it into buildInputs so that CMake can find it, even though we patch
     # it into the interface later.
-    python2Packages.weboob
+    python3Packages.weboob
   ];
 
-  weboobPythonPath = [ python2Packages.weboob ];
+  weboobPythonPath = [ python3Packages.weboob ];
 
   postInstall = ''
     buildPythonPath "$weboobPythonPath"
diff --git a/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix b/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
index 4c126fc2f919..62ac6a803824 100644
--- a/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
+++ b/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ledger-autosync";
-  version = "1.0.0";
+  version = "1.0.1";
 
 # no tests included in PyPI tarball
   src = fetchFromGitHub {
     owner = "egh";
     repo = "ledger-autosync";
     rev = "v${version}";
-    sha256 = "1fn32c02idccdmf9906pxn248qc9basjy2kr2g600806k3qvw84a";
+    sha256 = "1h5mjngdd3rmzwmy026xmas0491kxxi1vxkd5m1xii7y6j50z14q";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/README.md b/nixpkgs/pkgs/applications/office/libreoffice/README.md
index eb21fe2f441e..a084572d2177 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/README.md
+++ b/nixpkgs/pkgs/applications/office/libreoffice/README.md
@@ -1,10 +1,9 @@
 LibreOffice
 ===========
 
-To generate `libreoffice-srcs.nix`:
+To generate `src-$VARIANT/download.nix`, i.e. list of additional sources that
+the libreoffice build process needs to download:
 
-    nix-shell default-gen-shell.nix --run generate
+    nix-shell gen-shell.nix --argstr variant VARIANT --run generate
 
-To generate `libreoffice-srcs-still.nix`:
-
-    nix-shell still-gen-shell.nix --run generate
+Where VARIANT is either `still` or `fresh`.
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix b/nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix
deleted file mode 100644
index 366030971237..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs ? (import <nixpkgs> {}) }:
-
-with pkgs;
-
-let
-
-  primary-src = callPackage ./default-primary-src.nix {};
-
-in
-
-stdenv.mkDerivation {
-  name = "generate-libreoffice-srcs-shell";
-
-  buildCommand = "exit 1";
-
-  downloadList = stdenv.mkDerivation {
-    name = "libreoffice-${primary-src.version}-download-list";
-    inherit (primary-src) src version;
-    builder = ./download-list-builder.sh;
-  };
-
-  buildInputs = [ python3 ];
-
-  shellHook = ''
-    function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs.nix
-    }
-  '';
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix b/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix
deleted file mode 100644
index b3b21174bc3a..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "3";
-  patch = "0";
-  tweak = "4";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default.nix b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
index f5f53e10496b..c8bb58d29213 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, fetchpatch, pam, python3, libxslt, perl, ArchiveZip, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
+, libxml2, db, curl, fontconfig, libsndfile, neon
 , 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, mysql
+, 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,30 +13,28 @@
 , 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
-}:
+, variant ? "fresh"
+} @ args:
+
+assert builtins.elem variant [ "fresh" "still" ];
 
 let
-  primary-src = import ./default-primary-src.nix { inherit fetchurl; };
-in
+  importVariant = f: import (./. + "/src-${variant}/${f}");
 
-let inherit (primary-src) major minor subdir version; in
+  primary-src = importVariant "primary.nix" { inherit fetchurl; };
+
+  inherit (primary-src) major minor subdir version;
 
-let
   lib = stdenv.lib;
   langsSpaces = lib.concatStringsSep " " langs;
 
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
   srcs = {
     third_party =
       map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs.nix) ++ [
+      (importVariant "download.nix" ++ [
         (rec {
           name = "unowinreg.dll";
           url = "https://dev-www.libreoffice.org/extern/${md5name}";
@@ -46,31 +44,36 @@ let
         })
       ]);
 
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
-    };
-
+    translations = primary-src.translations;
+    help = primary-src.help;
   };
-in stdenv.mkDerivation rec {
+in (stdenv.mkDerivation rec {
   pname = "libreoffice";
   inherit version;
 
   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";
+  NIX_CFLAGS_COMPILE = "-I${librdf_rasqal}/include/rasqal";
 
   patches = [
     ./xdg-open-brief.patch
+
+    # Poppler-0.82 compatibility
+    # https://gerrit.libreoffice.org/81545
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/2eadd46ab81058087af95bdfc1fea28fcdb65998.patch";
+      sha256 = "1mpipdfxvixjziizbhfbpybpzlg1ijw7s0yqjpmq5d7pf3pvkm4n";
+    })
+    # Poppler-0.83 compatibility
+    # https://gerrit.libreoffice.org/84384
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/9065cd8d9a19864f6b618f2dc10daf577badd9ee.patch";
+      sha256 = "0nd0gck8ra3ffw936a7ri0s6a0ii5cyglnhip2prcjh5yf7vw2i2";
+    })
   ];
 
   tarballPath = "external/tarballs";
@@ -245,7 +248,7 @@ in stdenv.mkDerivation rec {
     find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
     '';
 
-  makeFlags = "SHELL=${bash}/bin/bash";
+  makeFlags = [ "SHELL=${bash}/bin/bash" ];
 
   enableParallelBuilding = true;
 
@@ -276,6 +279,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,10 +366,10 @@ 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
-      gst_all_1.gst-plugins-base glib mysql.connector-c
+      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 sablotron sane-backends unzip vigra which zip zlib
+      python3 sane-backends unzip vigra which zip zlib
       mdds bluez5 libcmis libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
       librevenge libe-book libmwaw glm glew ncurses epoxy
@@ -384,4 +390,4 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
-}
+}).overrideAttrs ((importVariant "override.nix") args)
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix b/nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix
index c5c17c2aaad0..7429bb0cb382 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix
@@ -1,10 +1,10 @@
-{ pkgs ? (import <nixpkgs> {}) }:
+{ pkgs ? (import <nixpkgs> {}), variant }:
 
 with pkgs;
 
 let
 
-  primary-src = callPackage ./still-primary-src.nix {};
+  primary-src = callPackage (./. + "/src-${variant}/primary.nix") {};
 
 in
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   shellHook = ''
     function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs-still.nix
+      python3 generate-libreoffice-srcs.py ${variant} > src-${variant}/download.nix
     }
   '';
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 4df8ce1059b4..4df8ce1059b4 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
new file mode 100644
index 000000000000..464965121d97
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -0,0 +1,4 @@
+{ stdenv, ... }:
+attrs: {
+  NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE + stdenv.lib.optionalString stdenv.isx86_64 " -mno-fma";
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
new file mode 100644
index 000000000000..28bf127c3988
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -0,0 +1,35 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "3";
+  patch = "0";
+  tweak = "4";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
+  };
+
+  # FIXME rename
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix
index b5a721b5679b..b5a721b5679b 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
new file mode 100644
index 000000000000..7192af019496
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -0,0 +1,6 @@
+{ stdenv, ... }:
+attrs:
+{
+  configureFlags = stdenv.lib.lists.remove "--without-export-validation" attrs.configureFlags;
+  meta = attrs.meta // { description = "Comprehensive, professional-quality productivity suite (Still/Stable release)"; };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix
new file mode 100644
index 000000000000..a27087a1b051
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -0,0 +1,34 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "2";
+  patch = "6";
+  tweak = "2";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
+  };
+
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix b/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix
deleted file mode 100644
index 07f30a5525d5..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "2";
-  patch = "6";
-  tweak = "2";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still.nix b/nixpkgs/pkgs/applications/office/libreoffice/still.nix
deleted file mode 100644
index eb774a309416..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/still.nix
+++ /dev/null
@@ -1,384 +0,0 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
-, IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
-, 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, mysql
-, 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
-, fontsConf, pkgconfig, bluez5, libtool, carlito
-, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
-, 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" ]
-, withHelp ? true
-, kdeIntegration ? false
-}:
-
-let
-  primary-src = import ./still-primary-src.nix { inherit fetchurl; };
-in
-
-let inherit (primary-src) major minor subdir version; in
-
-let
-  lib = stdenv.lib;
-  langsSpaces = lib.concatStringsSep " " langs;
-
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
-  srcs = {
-    third_party =
-      map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs-still.nix) ++ [
-        (rec {
-          name = "unowinreg.dll";
-          url = "https://dev-www.libreoffice.org/extern/${md5name}";
-          sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
-          md5 = "185d60944ea767075d27247c3162b3bc";
-          md5name = "${md5}-${name}";
-        })
-      ]);
-
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
-    };
-
-  };
-in stdenv.mkDerivation rec {
-  pname = "libreoffice";
-  inherit version;
-
-  inherit (primary-src) src;
-
-  # For some reason librdf_redland sometimes refers to rasqal.h instead
-  # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];
-
-  patches = [
-    ./xdg-open-brief.patch
-  ];
-
-  tarballPath = "external/tarballs";
-
-  postUnpack = ''
-    mkdir -v $sourceRoot/${tarballPath}
-  '' + (lib.flip lib.concatMapStrings srcs.third_party (f: ''
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
-    ''))
-  + ''
-    ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
-    ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
-    tar -xf ${srcs.help}
-    tar -xf ${srcs.translations}
-  '';
-
-  postPatch = ''
-    sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
-
-    # configure checks for header 'gpgme++/gpgmepp_version.h',
-    # and if it is found (no matter where) uses a hardcoded path
-    # in what presumably is an effort to make it possible to write
-    # '#include <context.h>' instead of '#include <gpgmepp/context.h>'.
-    #
-    # Fix this path to point to where the headers can actually be found instead.
-    substituteInPlace configure.ac --replace \
-      'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
-      'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
-  '';
-
-  QT4DIR = qt4;
-
-  preConfigure = ''
-    configureFlagsArray=(
-      "--with-parallelism=$NIX_BUILD_CORES"
-      "--with-lang=${langsSpaces}"
-    );
-
-    chmod a+x ./bin/unpack-sources
-    patchShebangs .
-
-    # This is required as some cppunittests require fontconfig configured
-    cp "${fontsConf}" fonts.conf
-    sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
-    export FONTCONFIG_FILE="$PWD/fonts.conf"
-
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  postConfigure =
-    # fetch_Download_item tries to interpret the name as a variable name, let it do so...
-    ''
-      sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
-      sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
-    ''
-    # Test fixups
-    # May need to be revisited/pruned, left alone for now.
-    + ''
-      # unit test sd_tiledrendering seems to be fragile
-      # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
-      echo > ./sd/CppunitTest_sd_tiledrendering.mk
-      sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
-      # Pivot chart tests. Fragile.
-      sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
-      sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # this I actually hate, this should be a data consistency test!
-      sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent test
-      sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
-      # tilde expansion in path processing checks the existence of $HOME
-      sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
-      # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
-      sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
-      # rendering-dependent: on my computer the test table actually doesn't fit…
-      # interesting fact: test disabled on macOS by upstream
-      sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
-      # Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
-      sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent tests
-      sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
-      sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
-      sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
-      sed -z -r -e 's/DECLARE_OOXMLIMPORT_TEST[(]testTdf112443,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlimport/ooxmlimport.cxx
-      sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
-      # not sure about this fragile test
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      # bunch of new Fresh failures. Sigh.
-      sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx'
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
-    ''
-    # This to avoid using /lib:/usr/lib at linking
-    + ''
-    sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
-
-    find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
-    '';
-
-  makeFlags = "SHELL=${bash}/bin/bash";
-
-  enableParallelBuilding = true;
-
-  buildPhase = ''
-    make build-nocheck
-  '';
-
-  doCheck = true;
-
-  # It installs only things to $out/lib/libreoffice
-  postInstall = ''
-    mkdir -p $out/bin $out/share/desktop
-
-    mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
-
-    for a in sbase scalc sdraw smath swriter simpress soffice; do
-      ln -s $out/lib/libreoffice/program/$a $out/bin/$a
-    done
-
-    ln -s $out/bin/soffice $out/bin/libreoffice
-    ln -s $out/lib/libreoffice/share/xdg $out/share/applications
-
-    for f in $out/share/applications/*.desktop; do
-      substituteInPlace "$f" --replace "Exec=libreofficedev${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice" "Exec=libreoffice"
-    done
-
-    cp -r sysui/desktop/icons  "$out/share"
-    sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
-  '';
-
-  configureFlags = [
-    (if withHelp then "" else "--without-help")
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-beanshell-jar=${bsh}"
-    "--with-vendor=NixOS"
-    "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
-    "--disable-report-builder"
-    "--disable-online-update"
-    "--enable-python=system"
-    "--enable-dbus"
-    "--enable-release-build"
-    (lib.enableFeature kdeIntegration "kde4")
-    "--enable-epm"
-    "--with-jdk-home=${jdk.home}"
-    "--with-ant-home=${ant}/lib/ant"
-    "--with-system-cairo"
-    "--with-system-libs"
-    "--with-system-headers"
-    "--with-system-openssl"
-    "--with-system-libabw"
-    "--with-system-libcmis"
-    "--with-system-libwps"
-    "--with-system-openldap"
-    "--with-system-coinmp"
-
-    "--with-alloc=system"
-
-    # Without these, configure does not finish
-    "--without-junit"
-
-    "--disable-libnumbertext" # system-libnumbertext"
-
-    # We do tarball prefetching ourselves
-    "--disable-fetch-external"
-    "--enable-build-opensymbol"
-
-    # I imagine this helps. Copied from go-oo.
-    # Modified on every upgrade, though
-    "--disable-odk"
-    "--disable-postgresql-sdbc"
-    "--disable-firebird-sdbc"
-    "--without-fonts"
-    "--without-myspell-dicts"
-    "--without-doxygen"
-
-    # TODO: package these as system libraries
-    "--with-system-beanshell"
-    "--without-system-hsqldb"
-    "--without-system-altlinuxhyph"
-    "--without-system-lpsolve"
-    "--without-system-libetonyek"
-    "--without-system-libfreehand"
-    "--without-system-liblangtag"
-    "--without-system-libmspub"
-    "--without-system-libpagemaker"
-    "--without-system-libstaroffice"
-    "--without-system-libepubgen"
-    "--without-system-libqxp"
-    "--without-system-mdds"
-    # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
-    "--without-system-orcus"
-    "--without-system-xmlsec"
-  ];
-
-  checkPhase = ''
-    make unitcheck
-    make slowcheck
-  '';
-
-  nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ];
-
-  buildInputs = with xorg;
-    [ ant ArchiveZip boost cairo clucene_core
-      IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
-      freetype GConf getopt gnome_vfs gperf gtk3 gtk2
-      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
-      gst_all_1.gst-plugins-base glib mysql.connector-c
-      neon nspr nss openldap openssl ORBit2 pam perl poppler
-      python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 libcmis libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
-      librevenge libe-book libmwaw glm glew ncurses epoxy
-      libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext
-    ]
-    ++ lib.optional kdeIntegration kdelibs4;
-
-  passthru = {
-    inherit srcs jdk;
-  };
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "Comprehensive, professional-quality productivity suite (Still/Stable release)";
-    homepage = https://libreoffice.org/;
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/mendeley/default.nix b/nixpkgs/pkgs/applications/office/mendeley/default.nix
index a7b0afe0754c..9fdeecfee368 100644
--- a/nixpkgs/pkgs/applications/office/mendeley/default.nix
+++ b/nixpkgs/pkgs/applications/office/mendeley/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, dpkg, which
+{ fetchurl, stdenv, mkDerivation, dpkg, which
 , makeWrapper
 , alsaLib
 , desktop-file-utils
@@ -90,7 +90,7 @@ let
 
 in
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "mendeley";
   inherit version;
 
@@ -106,6 +106,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     dpkg-deb -x $src $out
     mv $out/opt/mendeleydesktop/{bin,lib,share} $out
@@ -115,7 +117,7 @@ stdenv.mkDerivation {
              --set-rpath ${stdenv.lib.makeLibraryPath deps}:$out/lib \
              $out/bin/mendeleydesktop
 
-    wrapProgram $out/bin/mendeleydesktop \
+    wrapQtApp $out/bin/mendeleydesktop \
       --add-flags "--unix-distro-build" \
       ${stdenv.lib.optionalString autorunLinkHandler # ignore errors installing the link handler
       ''--run "$out/bin/install-mendeley-link-handler.sh $out/bin/mendeleydesktop ||:"''}
diff --git a/nixpkgs/pkgs/applications/office/minetime/default.nix b/nixpkgs/pkgs/applications/office/minetime/default.nix
index 85e8bc131ce3..42802409e59d 100644
--- a/nixpkgs/pkgs/applications/office/minetime/default.nix
+++ b/nixpkgs/pkgs/applications/office/minetime/default.nix
@@ -1,15 +1,32 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
-  pname = "minetime";
-  version = "1.5.1";
-in
-appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
-  src = fetchurl {
-    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
-    sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
+  pname = "minetime";
+  version = "1.7.3";
+  appimage = fetchurl {
+    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
+    sha256 = "0zz6p3mwxg9gm1sqzs582pq2nkb10lv0c3r542b9llqyzk9qv5aa";
+  };
+  extracted = appimageTools.extractType2 {
+    inherit name;
+    src = appimage;
   };
+  patched = runCommandNoCC "minetime-patchelf" {} ''
+    cp -av ${extracted} $out
+
+    x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
+    chmod +w $x
+
+    patchelf \
+      --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+      --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
+      $x
+  '';
+in
+appimageTools.wrapAppImage rec {
+  inherit name;
+  src = patched;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -17,7 +34,9 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = ps:
+    appimageTools.defaultFhsEnvArgs.multiPkgs ps
+    ++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/office/mmex/default.nix b/nixpkgs/pkgs/applications/office/mmex/default.nix
index 99824cd19ec0..ed33d121a05f 100644
--- a/nixpkgs/pkgs/applications/office/mmex/default.nix
+++ b/nixpkgs/pkgs/applications/office/mmex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, sqlite, wxGTK30, gettext }:
+{ stdenv, fetchgit, sqlite, wxGTK30, gettext, wrapGAppsHook }:
 
 
 let
@@ -14,7 +14,16 @@ in
       sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
-    buildInputs = [ sqlite wxGTK30 gettext ];
+    nativeBuildInputs = [
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      gettext
+      sqlite
+      wxGTK30
+      wxGTK30.gtk
+    ];
 
     meta = {
       description = "Easy-to-use personal finance software";
diff --git a/nixpkgs/pkgs/applications/office/notes-up/default.nix b/nixpkgs/pkgs/applications/office/notes-up/default.nix
index f8729583ddce..1d2e581f3c96 100644
--- a/nixpkgs/pkgs/applications/office/notes-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/notes-up/default.nix
@@ -1,4 +1,19 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, cmake, ninja, gtk3, gtksourceview3, webkitgtk, gtkspell3, glib, libgee, sqlite, discount, wrapGAppsHook
+{ stdenv
+, fetchFromGitHub
+, pantheon
+, pkgconfig
+, vala
+, cmake
+, ninja
+, gtk3
+, gtksourceview3
+, webkitgtk
+, gtkspell3
+, glib
+, libgee
+, sqlite
+, discount
+, wrapGAppsHook
 , withPantheon ? false }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +30,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     wrapGAppsHook
   ];
@@ -33,7 +48,13 @@ stdenv.mkDerivation rec {
   ];
 
   # Whether to build with contractor support (Pantheon specific)
-  cmakeFlags = if withPantheon then null else [ "-Dnoele=yes" ];
+  cmakeFlags = stdenv.lib.optional (!withPantheon) "-Dnoele=yes";
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "Markdown notes editor and manager designed for elementary OS"
diff --git a/nixpkgs/pkgs/applications/office/paperwork/default.nix b/nixpkgs/pkgs/applications/office/paperwork/default.nix
index 79e4b8debc91..3506ea8b5515 100644
--- a/nixpkgs/pkgs/applications/office/paperwork/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperwork/default.nix
@@ -1,6 +1,6 @@
 { lib, python3Packages, gtk3, cairo
 , aspellDicts, buildEnv
-, gnome3, hicolor-icon-theme, librsvg
+, gnome3, librsvg
 , xvfb_run, dbus, libnotify
 }:
 
@@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);
   buildInputs = [
-    gnome3.adwaita-icon-theme hicolor-icon-theme libnotify librsvg
+    gnome3.adwaita-icon-theme libnotify librsvg
   ];
 
   # A few parts of chkdeps need to have a display and a dbus session, so we not
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = with python3Packages; [
-    paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools
+    paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools pandas
   ];
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/applications/office/planner/default.nix b/nixpkgs/pkgs/applications/office/planner/default.nix
index 687b83948cd1..6189132d0f94 100644
--- a/nixpkgs/pkgs/applications/office/planner/default.nix
+++ b/nixpkgs/pkgs/applications/office/planner/default.nix
@@ -45,6 +45,9 @@ in stdenv.mkDerivation {
     python2.pkgs.pygtk
   ];
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   preConfigure = ''./autogen.sh'';
   configureFlags = [
     "--enable-python"
diff --git a/nixpkgs/pkgs/applications/office/pympress/default.nix b/nixpkgs/pkgs/applications/office/pympress/default.nix
new file mode 100644
index 000000000000..b4307eb286e5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/pympress/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, python3Packages
+, wrapGAppsHook
+, xvfb_run
+, gtk3
+, gobject-introspection
+, libcanberra-gtk3
+, dbus
+, poppler_gi
+, python3
+ }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pympress";
+  version = "1.5.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    gobject-introspection
+    libcanberra-gtk3
+    poppler_gi
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pycairo
+    pygobject3
+    python-vlc
+    watchdog
+  ];
+
+  doCheck = false; # there are no tests
+
+  meta = with lib; {
+    description = "Simple yet powerful PDF reader designed for dual-screen presentations";
+    license = licenses.gpl2Plus;
+    homepage = "https://cimbali.github.io/pympress/";
+    maintainers = [ maintainers.tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index ab32ebc67a7f..30569512129b 100644
--- a/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "19.8.6";
+  version = "19.12.15";
 
   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 = "a242dd15dc484baad39e737fe1af8529411f49a0d74994e6c78cf6bad4b733b6";
+    sha256 = "11i3cn1j365nwinaksfpi1hn7j6bqgjzhawkl6c294lzahngba9w";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/nixpkgs/pkgs/applications/office/scribus/unstable.nix b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
index 3c5ae4c4b0aa..2a602b094ba2 100644
--- a/nixpkgs/pkgs/applications/office/scribus/unstable.nix
+++ b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
+{ stdenv, fetchurl, fetchpatch, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
 boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2,
 podofo, poppler, poppler_data, python2, qtimageformats, qttools, harfbuzzFull }:
 
@@ -14,6 +14,19 @@ mkDerivation rec {
     sha256 = "eQiyGmzoQyafWM7fX495GJMlfmIBzOX73ccNrKL+P3E=";
   };
 
+  patches = [
+    # fix build with Poppler 0.82
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
+      sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
+    })
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
+      sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig cmake  ];
diff --git a/nixpkgs/pkgs/applications/office/skrooge/default.nix b/nixpkgs/pkgs/applications/office/skrooge/default.nix
index 42fddb972c9f..1db5ce16fe53 100644
--- a/nixpkgs/pkgs/applications/office/skrooge/default.nix
+++ b/nixpkgs/pkgs/applications/office/skrooge/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl,
+{ mkDerivation, lib, fetchpatch, fetchurl,
   cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee,
   kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
   kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive,
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.20.0";
+  version = "2.21.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
+    sha256 = "0lv953i7cybzbxr5gx6g4libdcjj086jf152mwrwvx1avrpjavb8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix b/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
index f3e37943bb66..ff54f8ff90f0 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "freeoffice";
-  version = "970";
+  version = "973";
   edition = "2018";
   suiteName = "FreeOffice";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz";
-    sha256 = "1maibr4x8mksb32ixvyy2rjn4x9f51191p5fcdj5qwz32pf8h2dr";
+    sha256 = "0xac4ynf1lfh8qmni5bhp4ybaamdfngva4bqaq21n1m4pgrx1ba5";
   };
 
   archive = "freeoffice${edition}.tar.lzma";
diff --git a/nixpkgs/pkgs/applications/office/softmaker/generic.nix b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
index 9505271db14c..82ac2b58f68a 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/generic.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
@@ -3,6 +3,10 @@
   # Dynamic Libraries
 , curl, libGL, libX11, libXext, libXmu, libXrandr, libXrender
 
+  # For fixing up execution of /bin/ls, which is necessary for
+  # product unlocking.
+, coreutils, libredirect
+
 , pname, version, edition, suiteName, src, archive
 
 , ...
@@ -45,7 +49,22 @@ in stdenv.mkDerivation rec {
     runHook postUnpack
   '';
 
-  installPhase = ''
+  installPhase = let
+    # SoftMaker/FreeOffice collects some system information upon
+    # unlocking the product. But in doing so, it attempts to execute
+    # /bin/ls. If the execve syscall fails, the whole unlock
+    # procedure fails. This works around that by rewriting /bin/ls
+    # to the proper path.
+    #
+    # SoftMaker Office restarts itself upon some operations, such
+    # changing the theme and unlocking. Unfortunately, we do not
+    # have control over its environment then and it will fail
+    # with an error.
+    lsIntercept = ''
+      --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+      --set NIX_REDIRECTS "/bin/ls=${coreutils}/bin/ls"
+    '';
+  in ''
     runHook preInstall
 
     mkdir -p $out/share
@@ -54,9 +73,12 @@ in stdenv.mkDerivation rec {
     # Wrap rather than symlinking, so that the programs can determine
     # their resource path.
     mkdir -p $out/bin
-    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker
-    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations
-    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker
+    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker \
+      ${lsIntercept}
+    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations \
+      ${lsIntercept}
+    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker \
+      ${lsIntercept}
 
     for size in 16 32 48 64 96 128 256 512 1024; do
       mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps
@@ -74,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/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix b/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
index 26fe420d6a3b..73a7d9bd35bc 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "softmaker-office";
-  version = "970";
+  version = "972";
   edition = "2018";
   suiteName = "SoftMaker Office";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-office-${edition}-${version}-amd64.tgz";
-    sha256 = "14f94p1jms41s2iz5sa770rcyfp4mv01r6jjjis9amx37zrc8yid";
+    sha256 = "06kgkmqg5269a4vm14i89mw8m1x9yy9ajw0dhfcvjizadyzmlqn1";
   };
 
   archive = "office${edition}.tar.lzma";
diff --git a/nixpkgs/pkgs/applications/office/spice-up/default.nix b/nixpkgs/pkgs/applications/office/spice-up/default.nix
index 2c3dfa82c8c2..07a3b26a1a85 100644
--- a/nixpkgs/pkgs/applications/office/spice-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/spice-up/default.nix
@@ -1,8 +1,10 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , gdk-pixbuf
 , gtk3
+, vala
 , gettext
 , ninja
 , pantheon
@@ -12,7 +14,8 @@
 , libevdev
 , libgee
 , libsoup
-, wrapGAppsHook }:
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "spice-up";
@@ -32,9 +35,10 @@ stdenv.mkDerivation rec {
     gettext
     ninja
     pkgconfig
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
+
   buildInputs = [
     pantheon.elementary-icon-theme
     pantheon.granite
@@ -47,6 +51,21 @@ stdenv.mkDerivation rec {
     libsoup
   ];
 
+  patches = [
+    # Fix build with Vala 0.46
+    # https://github.com/Philip-Scott/Spice-up/pull/288
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/Philip-Scott/Spice-up/pull/288.patch";
+      sha256 = "0kyfd8v2sk4cvcq1j8ysp64snfjhnpr3iz7l04lx7if7h372xj39";
+    })
+  ];
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Create simple and beautiful presentations";
     homepage = https://github.com/Philip-Scott/Spice-up;
diff --git a/nixpkgs/pkgs/applications/office/timetable/default.nix b/nixpkgs/pkgs/applications/office/timetable/default.nix
index fa2d59392180..c652f7656877 100644
--- a/nixpkgs/pkgs/applications/office/timetable/default.nix
+++ b/nixpkgs/pkgs/applications/office/timetable/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , glib
 , gtk3
-, hicolor-icon-theme
+, vala
 , json-glib
 , libgee
 , meson
@@ -16,20 +16,20 @@
 
 stdenv.mkDerivation rec {
   pname = "timetable";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "0s825al10s0hwfzl90bplwwasx89wx28n41sg2md71l9hfqy296q";
+    sha256 = "1n02y7vpi4lb888iic06xifc86n2xirk50s1ssf84vlc5md1kq9f";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkgconfig
-    pantheon.vala
+    vala
     python3
     wrapGAppsHook
   ];
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    hicolor-icon-theme
     json-glib
     libgee
     pantheon.granite
@@ -48,6 +47,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Plot out your own timetable for the week and organize it";
     homepage = "https://github.com/lainsce/timetable";
diff --git a/nixpkgs/pkgs/applications/office/todoman/default.nix b/nixpkgs/pkgs/applications/office/todoman/default.nix
index 7c5c8f724401..bfa162a54a28 100644
--- a/nixpkgs/pkgs/applications/office/todoman/default.nix
+++ b/nixpkgs/pkgs/applications/office/todoman/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "todoman";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c0jh9bi2xfjc7w4kka68mygl00zkp2qxhffnipmfvvykfjmlhk0";
+    sha256 = "16brw2zhm5vamffin6qjb0lxjlj3ba40vaficl851nw2xh2mrdhy";
   };
 
     LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
diff --git a/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
new file mode 100644
index 000000000000..1a4350ca71a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
@@ -0,0 +1,69 @@
+From 5be803a1171855f976a5b607970fa3949db72181 Mon Sep 17 00:00:00 2001
+From: Christian Kampka <christian@kampka.net>
+Date: Mon, 9 Dec 2019 19:40:27 +0100
+Subject: [PATCH] Use console logger instead of rolling files
+
+---
+ src/services/log.js | 26 +++-----------------------
+ 1 file changed, 3 insertions(+), 23 deletions(-)
+
+diff --git a/src/services/log.js b/src/services/log.js
+index 1514c209..456c3749 100644
+--- a/src/services/log.js
++++ b/src/services/log.js
+@@ -1,35 +1,15 @@
+ "use strict";
+ 
+-const fs = require('fs');
+-const dataDir = require('./data_dir');
+-
+-if (!fs.existsSync(dataDir.LOG_DIR)) {
+-    fs.mkdirSync(dataDir.LOG_DIR, 0o700);
+-}
+-
+-const logger = require('simple-node-logger').createRollingFileLogger({
+-    errorEventName: 'error',
+-    logDirectory: dataDir.LOG_DIR,
+-    fileNamePattern: 'trilium-<DATE>.log',
+-    dateFormat:'YYYY-MM-DD'
+-});
+-
+ function info(message) {
+     // info messages are logged asynchronously
+     setTimeout(() => {
+         console.log(message);
+-
+-        logger.info(message);
+     }, 0);
+ }
+ 
+ function error(message) {
+     message = "ERROR: " + message;
+ 
+-    // we're using .info() instead of .error() because simple-node-logger emits weird error for showError()
+-    // errors are logged synchronously to make sure it doesn't get lost in case of crash
+-    logger.info(message);
+-
+     console.trace(message);
+ }
+ 
+@@ -45,12 +25,12 @@ function request(req) {
+     if (req.url.includes(".js.map") || req.url.includes(".css.map")) {
+         return;
+     }
+-
+-    logger.info(req.method + " " + req.url);
++    if(process.env.DEBUG)
++        console.log(req.method + " " + req.url);
+ }
+ 
+ module.exports = {
+     info,
+     error,
+     request
+-};
+\ No newline at end of file
++};
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index 877dfba88c06..28548091f6ea 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook }:
+{ stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook, zlib, libxkbfile }:
 
 let
   description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.";
@@ -11,56 +11,105 @@ let
     categories = "Office";
   };
 
-in stdenv.mkDerivation rec {
-  pname = "trilium";
-  version = "0.33.6";
-
-  src = fetchurl {
-    url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1sg6iqhpgyr8zr6w6dgs0ha0indb9vyp8vh2clj2fds5ahhlvf91";
+  meta = with stdenv.lib; {
+    inherit description;
+    homepage = https://github.com/zadam/trilium;
+    license = licenses.agpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ emmanuelrosa dtzWill kampka ];
   };
 
-  # Fetch from source repo, no longer included in release.
-  # (they did special-case icon.png but we want the scalable svg)
-  # Use the version here to ensure we get any changes.
-  trilium_svg = fetchurl {
-    url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
-    sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+  version = "0.38.2";
+
+in {
+  
+  trilium-desktop = stdenv.mkDerivation rec {
+    pname = "trilium-desktop";
+    inherit version;
+    inherit meta;
+
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
+      sha256 = "10f5zfqcfcjynw04d5xzrfmkbqpk85i4mq7njhkibx2f1m0br2qa";
+    };
+  
+    # Fetch from source repo, no longer included in release.
+    # (they did special-case icon.png but we want the scalable svg)
+    # Use the version here to ensure we get any changes.
+    trilium_svg = fetchurl {
+      url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
+      sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+    };
+  
+  
+    nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+      wrapGAppsHook
+    ];
+  
+    buildInputs = atomEnv.packages ++ [ gtk3 ];
+  
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium
+      mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+  
+      cp -r ./* $out/share/trilium
+      ln -s $out/share/trilium/trilium $out/bin/trilium
+  
+      ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
+      cp ${desktopItem}/share/applications/* $out/share/applications
+    '';
+  
+    # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
+    preFixup = ''
+      gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
+    '';
+  
+    dontStrip = true;
   };
 
 
-  nativeBuildInputs = [
-    autoPatchelfHook
-    makeWrapper
-    wrapGAppsHook
-  ];
+  trilium-server = stdenv.mkDerivation rec {
+    pname = "trilium-server";
+    inherit version;
+    inherit meta;
 
-  buildInputs = [ atomEnv.packages gtk3 ];
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
+      sha256 = "1df0cx9gpzk0086lgha0qm1g03l8f4rz7y2xzgpzng5rrxjkgz61";
+    };
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/trilium
-    mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+    nativeBuildInputs = [
+      autoPatchelfHook
+    ];
 
-    cp -r ./* $out/share/trilium
-    ln -s $out/share/trilium/trilium $out/bin/trilium
+    buildInputs = [
+      stdenv.cc.cc.lib
+      zlib
+      libxkbfile
+    ];
 
-    ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
-    cp ${desktopItem}/share/applications/* $out/share/applications
-  '';
+    patches = [ ./0001-Use-console-logger-instead-of-rolling-files.patch ] ;
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium-server
 
-  # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
-  '';
+      cp -r ./* $out/share/trilium-server
+    '';
 
-  dontStrip = true;
+    postFixup = ''
+      cat > $out/bin/trilium-server <<EOF
+      #!${stdenv.cc.shell}
+      cd $out/share/trilium-server
+      exec ./node/bin/node src/www
+      EOF
+      chmod a+x $out/bin/trilium-server
+    '';
 
-  meta = with stdenv.lib; {
-    inherit description;
-    homepage = https://github.com/zadam/trilium;
-    license = licenses.agpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ emmanuelrosa dtzWill ];
+    passthru.tests = {
+      trilium-server = nixosTests.trilium-server;
+    };
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/tryton/default.nix b/nixpkgs/pkgs/applications/office/tryton/default.nix
index 4422aaa2b448..4867fec514b1 100644
--- a/nixpkgs/pkgs/applications/office/tryton/default.nix
+++ b/nixpkgs/pkgs/applications/office/tryton/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, python2Packages
+, python3Packages
 , pkgconfig
 , librsvg
 , gobject-introspection
@@ -7,40 +7,59 @@
 , gtk3
 , gtkspell3
 , gnome3
+, glib
 , goocanvas2
+, gdk-pixbuf
+, pango
+, fontconfig
+, freetype
+, wrapGAppsHook
 }:
 
 with stdenv.lib;
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "4.8.5";
-  src = python2Packages.fetchPypi {
+  version = "5.4.1";
+
+  disabled = !python3Packages.isPy3k;
+
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
+    sha256 = "0lk47qv944yc2b1ifhinp07af839r408w83rj8zzy8b43cwkpsxd";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  propagatedBuildInputs = with python2Packages; [
-    chardet
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
     dateutil
-    pygtk
-    librsvg
     pygobject3
     goocalendar
-    cdecimal
+    pycairo
   ];
+
   buildInputs = [
     atk
-    gtk3
+    gdk-pixbuf
+    glib
     gnome3.adwaita-icon-theme
-    gtkspell3
     goocanvas2
+    fontconfig
+    freetype
+    gtk3
+    gtkspell3
+    librsvg
+    pango
   ];
-  makeWrapperArgs = [
-    ''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
-    ''--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"''
-    ''--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"''
-  ];
+
+  strictDeps = false;
+
+  doCheck = false;
+
   meta = {
     description = "The client of the Tryton application platform";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/office/tusk/default.nix b/nixpkgs/pkgs/applications/office/tusk/default.nix
new file mode 100644
index 000000000000..d54f27f9bbf3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/tusk/default.nix
@@ -0,0 +1,54 @@
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3
+, makeDesktopItem
+}:
+
+let
+  pname = "tusk";
+  version = "0.23.0";
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/klaussinani/tusk/v${version}/static/Icon.png";
+    sha256 = "1jqclyrjgg6hir45spg75plfmd8k9nrsrzw3plbcg43s5m1qzihb";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = pname;
+    exec = pname;
+    icon = icon;
+    desktopName = pname;
+    genericName = "Evernote desktop app";
+    categories = "Application";
+  };
+
+in appimageTools.wrapType2 rec {
+  name = "${pname}-v${version}";
+  src = fetchurl {
+    url = "https://github.com/klaussinani/tusk/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
+    sha256 = "02q7wsnhlyq8z74avflrm7805ny8fzlmsmz4bmafp4b4pghjh5ky";
+  };
+
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = ''
+    mv $out/bin/{${name},${pname}}
+    mkdir "$out/share"
+    ln -s "${desktopItem}/share/applications" "$out/share/"
+  '';
+
+  meta = with lib; {
+    description = "Refined Evernote desktop app";
+    longDescription = ''
+      Tusk is an unofficial, featureful, open source, community-driven, free Evernote app used by people in more than 140 countries. Tusk is indicated by Evernote as an alternative client for Linux environments trusted by the open source community.
+    '';
+    homepage = "https://klaussinani.github.io/tusk/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tbenst ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/vnote/default.nix b/nixpkgs/pkgs/applications/office/vnote/default.nix
index fbb8436f44c0..80b6ef6243ca 100644
--- a/nixpkgs/pkgs/applications/office/vnote/default.nix
+++ b/nixpkgs/pkgs/applications/office/vnote/default.nix
@@ -1,9 +1,9 @@
-{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme }:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine }:
 
 let
   description = "A note-taking application that knows programmers and Markdown better";
 in mkDerivation rec {
-  version = "2.7.2";
+  version = "2.8.2";
   pname = "vnote";
 
   src = fetchFromGitHub {
@@ -11,11 +11,11 @@ in mkDerivation rec {
     repo = "vnote";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "0mk1ingcyznpwq4bfkxa8nx9yx5y3kgsmr4qffriq7bh1cx9dwjy";
+    sha256 = "18qffq5c2plr5rjb5lafhdz1v5kbbb2wiyacgdhh3xni3khni52l";
   };
 
   nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase qtwebengine hicolor-icon-theme ];
+  buildInputs = [ qtbase qtwebengine ];
 
   meta = with lib; {
     inherit description;
diff --git a/nixpkgs/pkgs/applications/office/watson/default.nix b/nixpkgs/pkgs/applications/office/watson/default.nix
index 16df0b294c16..7d79d79072a9 100644
--- a/nixpkgs/pkgs/applications/office/watson/default.nix
+++ b/nixpkgs/pkgs/applications/office/watson/default.nix
@@ -4,12 +4,12 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "watson";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit version;
     pname = "td-watson";
-    sha256 = "249313996751f32f38817d424cbf8d74956461df1439f0ee3a962fcc3c77225d";
+    sha256 = "1ip66jhbcqifdw1avbhngwym0vv7fsqxgbph11da5wlqwfwp060n";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/applications/office/wpsoffice/default.nix b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
index 1f21ec60ae2b..abc2d1862cbf 100644
--- a/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl
 , libX11, glib, xorg, fontconfig, freetype
-, zlib, libpng12, libICE, libXrender, cups }:
+, zlib, libpng12, libICE, libXrender, cups
+, alsaLib, atk, cairo, dbus, expat
+, gdk-pixbuf, gtk2-x11, lzma, pango, zotero
+, sqlite, libuuid, qt5, dpkg }:
 
-let
-  bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
-         else "x86";
-
-  version = "10.1.0.5672";
-in stdenv.mkDerivation rec{
+stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  inherit version;
+  version = "11.1.0.8865";
 
   src = fetchurl {
-    name = "${pname}-${version}.tar.xz";
-    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
-    sha256 = if bits == "x86_64" then
-      "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
-      "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
+    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/8865/wps-office_11.1.0.8865_amd64.deb";
+    sha256 = "1hfpj1ayhzlrnnp72yjzrpd60xsbj9y46m345lqysiaj1hnwdbd8";
   };
+  unpackCmd = "dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ];
 
   meta = {
     description = "Office program originally named Kingsoft Office";
@@ -25,20 +24,44 @@ in stdenv.mkDerivation rec{
     platforms = [ "i686-linux" "x86_64-linux" ];
     hydraPlatforms = [];
     license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
   };
 
-  libPath = stdenv.lib.makeLibraryPath [
+  libPath = with xorg; stdenv.lib.makeLibraryPath [
     libX11
     libpng12
     glib
-    xorg.libSM
-    xorg.libXext
+    libSM
+    libXext
     fontconfig
     zlib
     freetype
     libICE
     cups
     libXrender
+    libxcb
+
+    alsaLib
+    atk
+    cairo
+    dbus.daemon.lib
+    expat
+    fontconfig.lib
+    gdk-pixbuf
+    gtk2-x11
+    lzma
+    pango
+    zotero
+    sqlite
+    libuuid
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXfixes
+    libXi
+    libXrandr
+    libXScrnSaver
+    libXtst
   ];
 
   dontPatchELF = true;
@@ -49,32 +72,27 @@ in stdenv.mkDerivation rec{
 
   installPhase = ''
     prefix=$out/opt/kingsoft/wps-office
-    mkdir -p $prefix
-    cp -r . $prefix
+    mkdir -p $out
+    cp -r opt $out
+    cp -r usr/* $out
 
     # Avoid forbidden reference error due use of patchelf
-    rm -r $PWD
+    rm -r *
 
-    mkdir $out/bin
-    for i in wps wpp et; do
+    for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --force-rpath --set-rpath "$prefix/office6:$libPath" \
+        --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
 
-      substitute $prefix/$i $out/bin/$i \
+      substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
-      chmod +x $out/bin/$i
-
-      substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
-        --replace /usr/bin $out/bin
     done
 
-    # China fonts
-    mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
-    ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
-    ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
-
-    ln -s $prefix/resource $out/share
+    for i in $out/share/applications/*;do
+      substituteInPlace $i \
+        --replace /usr/bin $out/bin \
+        --replace /opt/kingsoft/wps-office $prefix
+    done
   '';
 }
diff --git a/nixpkgs/pkgs/applications/office/zim/default.nix b/nixpkgs/pkgs/applications/office/zim/default.nix
index a41064666d58..baf7741ed222 100644
--- a/nixpkgs/pkgs/applications/office/zim/default.nix
+++ b/nixpkgs/pkgs/applications/office/zim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome3 }:
 
 #
 # TODO: Declare configuration options for the following optional dependencies:
@@ -9,14 +9,14 @@
 
 python3Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.71.1";
+  version = "0.72.0";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "0d7whwpbklkhamlvysa0yyix1hchkpdynimf3gp1xbibg8mqzbxc";
+    sha256 = "1n3gmg7g86s8iwcx0i7rvvfdfs1fzmc9awr9qzjd2rckw4bkxad1";
   };
 
-  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
+  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome3.adwaita-icon-theme ];
   propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ];
 
 
diff --git a/nixpkgs/pkgs/applications/office/zotero/default.nix b/nixpkgs/pkgs/applications/office/zotero/default.nix
index 334a380d9147..42c5488bd5ef 100644
--- a/nixpkgs/pkgs/applications/office/zotero/default.nix
+++ b/nixpkgs/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
@@ -34,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.73";
+  version = "5.0.80";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l";
+    sha256 = "0a5xjliml6rwxvi450l42iw6m9mk3aahnp90sr22jyijz9qii2al";
   };
 
-  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/nixpkgs/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix b/nixpkgs/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix
new file mode 100644
index 000000000000..e8241ede96cd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, xen_4_10 }:
+
+stdenv.mkDerivation rec {
+  pname = "qubes-core-vchan-xen";
+  version = "4.1.2";
+
+  src = fetchFromGitHub {
+    owner = "QubesOS";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wj4vv8nkzzig52r2nzkd4jy0cwznfkyddx379hfsdl4pzsp55mj";
+  };
+
+  buildInputs = [ xen_4_10 ];
+  buildPhase = ''
+    make all PREFIX=/
+  '';
+  installPhase = ''
+    make install DESTDIR=$out PREFIX=/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Libraries required for the higher-level Qubes daemons and tools";
+    homepage = "https://qubes-os.org";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ "0x4A6F" ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/radio/chirp/default.nix b/nixpkgs/pkgs/applications/radio/chirp/default.nix
index aeadf49f8989..dcbf3522e392 100644
--- a/nixpkgs/pkgs/applications/radio/chirp/default.nix
+++ b/nixpkgs/pkgs/applications/radio/chirp/default.nix
@@ -1,31 +1,20 @@
-{ stdenv, fetchurl, libxml2Python, libxslt, makeWrapper
-, pyserial, pygtk }:
-
-stdenv.mkDerivation rec {
+{ stdenv
+, fetchurl
+, python2
+}:
+python2.pkgs.buildPythonApplication rec {
   pname = "chirp-daily";
-  version = "20190718";
+  version = "20191221";
 
   src = fetchurl {
     url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1zngdqqqrlm8qpv8dzinamhwq6rr8zcq7db3vb284wrq0jcvrry5";
+    sha256 = "1f4h45cbaq3rssl95xax8gn2bm1slnsbgds479db46czgq6y1qhy";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [
-    pyserial pygtk libxml2Python libxslt
+  propagatedBuildInputs = with python2.pkgs; [
+    pygtk pyserial libxml2 future
   ];
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/chirp
-    cp -r . $out/share/chirp/
-    ln -s $out/share/chirp/chirpw $out/bin/chirpw
-
-    for file in "$out"/bin/*; do
-      wrapProgram "$file" \
-        --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out")
-    done
-  '';
-
   meta = with stdenv.lib; {
     description = "A free, open-source tool for programming your amateur radio";
     homepage = https://chirp.danplanet.com/;
diff --git a/nixpkgs/pkgs/applications/radio/dablin/default.nix b/nixpkgs/pkgs/applications/radio/dablin/default.nix
index 5f25402c3eb6..fba63362ab6e 100644
--- a/nixpkgs/pkgs/applications/radio/dablin/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dablin/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dablin";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "Opendigitalradio";
     repo = "dablin";
     rev = version;
-    sha256 = "04ir7yg7psnnb48s1qfppvvx6lak4s8f6fqdg721y2kd9129jm82";
+    sha256 = "0d514ixz062xyyh4k3laxwhn3k3a1l4jq4w7rxf8x46d3743zrf7";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix b/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
index f718854224ce..68b4cfe8af46 100644
--- a/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       --replace /usr/local/bin/dmrconfig $out/bin/dmrconfig
   '';
 
-  makeFlags = "VERSION=${version} GITCOUNT=0";
+  makeFlags = [ "VERSION=${version}" "GITCOUNT=0" ];
 
   installPhase = ''
     mkdir -p $out/bin $out/lib/udev/rules.d
diff --git a/nixpkgs/pkgs/applications/radio/dump1090/default.nix b/nixpkgs/pkgs/applications/radio/dump1090/default.nix
index 41ddb671a369..0a92bea44e83 100644
--- a/nixpkgs/pkgs/applications/radio/dump1090/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dump1090/default.nix
@@ -1,21 +1,31 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libusb, rtl-sdr }:
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, libbladeRF
+, libusb
+, ncurses
+, rtl-sdr
+}:
 
 stdenv.mkDerivation rec {
   pname = "dump1090";
-  version = "2014-10-31";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
-    owner = "MalcolmRobb";
+    owner = "flightaware";
     repo = pname;
-    rev = "bff92c4ad772a0a8d433f788d39dae97e00e4dbe";
-    sha256 = "06aaj9gpz5v4qzvnp8xf18wdfclp0jvn3hflls79ly46gz2dh9hy";
+    rev = "v${version}";
+    sha256 = "0vlv9bd805kid202xxkrnl51rh02cyrl055gbcqlqgk51j5rrq8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libusb rtl-sdr ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
+  buildInputs = [
+    libbladeRF
+    libusb
+    ncurses
+    rtl-sdr
+  ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share
@@ -25,8 +35,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A simple Mode S decoder for RTLSDR devices";
-    homepage = https://github.com/MalcolmRobb/dump1090;
-    license = licenses.bsd3;
+    homepage = "https://github.com/flightaware/dump1090";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ earldouglas ];
   };
diff --git a/nixpkgs/pkgs/applications/radio/flmsg/default.nix b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
index ae602b752e0d..39fbb0de06c0 100644
--- a/nixpkgs/pkgs/applications/radio/flmsg/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.10";
+  version = "4.0.14";
   pname = "flmsg";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "1vprax1w5wm3v2i4d0mbakrxp7v53m2bm8icsvaji06ixskq7cxf";
+    sha256 = "0s1prawkpvr7xr7h8w7r0ly90ya3n8h6qsii0x6laqrkgjn9w9iy";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/flrig/default.nix b/nixpkgs/pkgs/applications/radio/flrig/default.nix
index 5bb561f14260..242536a89655 100644
--- a/nixpkgs/pkgs/applications/radio/flrig/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flrig/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.47";
+  version = "1.3.48";
   pname = "flrig";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "1xih3ik5dssa40lx48228pcrds8r7xmd8rmk2fcr1mw6apw6q141";
+    sha256 = "0f46rmrr8aphj8fsbfa1bywihigzfzyxq9zg66d1laa7d3jsfs9q";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
index 016540c1e67a..f5c89ae51cef 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
@@ -50,9 +50,7 @@ stdenv.mkDerivation rec {
     Mako cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
   ];
 
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix b/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
index 3bb632a819c5..017e2e1632ce 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
@@ -12,14 +12,14 @@
 
 assert pythonSupport -> python != null && swig != null;
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "gr-osmosdr";
-  version = "2018-08-15";
+  version = "0.1.5";
 
   src = fetchgit {
     url = "git://git.osmocom.org/gr-osmosdr";
-    rev = "4d83c6067f059b0c5015c3f59f8117bbd361e877";
-    sha256 = "1d5nb47506qry52bg4cn02d3l4lwxwz44g2fz1ph0q93c7892j60";
+    rev = "v${version}";
+    sha256 = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/radio/qsstv/default.nix b/nixpkgs/pkgs/applications/radio/qsstv/default.nix
index db1bfbb3f89e..a4ef5a2a0d1b 100644
--- a/nixpkgs/pkgs/applications/radio/qsstv/default.nix
+++ b/nixpkgs/pkgs/applications/radio/qsstv/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, qtbase, qmake, makeDesktopItem, openjpeg, pkgconfig, fftw,
+{ mkDerivation, stdenv, fetchurl, qtbase, qmake, openjpeg, pkgconfig, fftw,
   libpulseaudio, alsaLib, hamlib, libv4l, fftwFloat }:
 
-stdenv.mkDerivation rec {
-  version = "9.2.6";
+mkDerivation rec {
+  version = "9.4.4";
   pname = "qsstv";
 
   src = fetchurl {
     url = "http://users.telenet.be/on4qz/qsstv/downloads/qsstv_${version}.tar.gz";
-    sha256 = "0sx70yk389fq5djvjwnam6ics5knmg9b5x608bk2sjbfxkila108";
+    sha256 = "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi";
   };
 
   enableParallelBuilding = true;
@@ -20,27 +20,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase openjpeg fftw libpulseaudio alsaLib hamlib libv4l
                   fftwFloat ];
 
-  desktopItem = makeDesktopItem {
-    name = "QSSTV";
-    exec = "qsstv";
-    icon = "qsstv.png";
-    comment = "Qt-based slow-scan TV and fax";
-    desktopName = "QSSTV";
-    genericName = "qsstv";
-    categories = "Application;HamRadio;";
-  };
-
-  installPhase = ''
-    # Install binary to the right location
-    make install INSTALL_ROOT=$out
-    mv $out/usr/bin $out/
-    rm -r $out/usr
-
+  postInstall = ''
     # Install desktop icon
     install -D qsstv/icons/qsstv.png $out/share/pixmaps/qsstv.png
-
-    # Install desktop item
-    cp -rv ${desktopItem}/share $out
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/radio/rtl_433/default.nix b/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
index 3d519255ab48..148ad35a1f05 100644
--- a/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
+++ b/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation {
 
-  version = "18.12";
+  version = "19.08";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
-    rev = "18.12";
-    sha256 = "0y73g9ffpsgnmfk8lbihyl9d1fd9v91wsn8k8xhsdmgmn4ra1jk5";
+    rev = "19.08";
+    sha256 = "0cm82gm5c86qfl4dw37h8wyk77947k6fv2n1pn3xvk3wz2ygsdi6";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
index 346c6aeed8e3..7cb64f92f3f4 100644
--- a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -39,7 +39,7 @@ let
 
 in mkDerivation rec {
   pname = "sdrangel";
-  version = "4.11.7";
+  version = "4.11.12";
 
   src = fetchFromGitHub {
     owner = "f4exb";
diff --git a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
index 5e4a78cfbd22..c4879f01e606 100644
--- a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, lndir, makeWrapper
 , fetchFromGitHub, cmake
 , libusb, pkgconfig
-, python, swig2, numpy, ncurses
+, usePython ? false
+, python, ncurses, swig2
 , extraPackages ? []
 } :
 
@@ -24,12 +25,14 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
-  buildInputs = [ libusb ncurses numpy python swig2 ];
+  buildInputs = [ libusb ncurses ]
+    ++ lib.optionals usePython [ python swig2 ];
+
+  propagatedBuildInputs = lib.optional usePython python.pkgs.numpy;
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
-    "-DUSE_PYTHON_CONFIG=ON"
-  ];
+  ] ++ lib.optional usePython "-DUSE_PYTHON_CONFIG=ON";
 
   postFixup = lib.optionalString (lib.length extraPackages != 0) ''
     # Join all plugins via symlinking
diff --git a/nixpkgs/pkgs/applications/radio/tlf/default.nix b/nixpkgs/pkgs/applications/radio/tlf/default.nix
index f45e695486d8..530008702f10 100644
--- a/nixpkgs/pkgs/applications/radio/tlf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/tqsl/default.nix b/nixpkgs/pkgs/applications/radio/tqsl/default.nix
index ce0fbf0e16dc..343b0bf8cba2 100644
--- a/nixpkgs/pkgs/applications/radio/tqsl/default.nix
+++ b/nixpkgs/pkgs/applications/radio/tqsl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tqsl";
-  version = "2.4.3";
+  version = "2.4.7";
 
   src = fetchurl {
     url = "https://www.arrl.org/files/file/LoTW%20Instructions/${pname}-${version}.tar.gz";
-    sha256 = "0f8pa5wnp0x0mjjr5kanka9hirgmp5wf6jsb95dc6hjlzlvy6kz9";
+    sha256 = "1i33bk3annz4rnjc58knprfajq1pbyjqyrhygqybvl7bsp70c5ri";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/radio/uhd/default.nix b/nixpkgs/pkgs/applications/radio/uhd/default.nix
index 4b5c2c683444..76519062f590 100644
--- a/nixpkgs/pkgs/applications/radio/uhd/default.nix
+++ b/nixpkgs/pkgs/applications/radio/uhd/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
-, python, pythonPackages, orc, libusb1, boost }:
+, python, orc, libusb1, boost }:
 
 # You need these udev rules to not have to run as root (copied from
 # ${uhd}/share/uhd/utils/uhd-usrp.rules):
@@ -40,7 +40,12 @@ in stdenv.mkDerivation {
                [ (stdenv.lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ];
+  buildInputs = [
+    (python.withPackages (ps: with ps; [ Mako six requests ]))
+    orc
+    libusb1
+    boost
+  ];
 
   # Build only the host software
   preConfigure = "cd host";
diff --git a/nixpkgs/pkgs/applications/radio/urh/default.nix b/nixpkgs/pkgs/applications/radio/urh/default.nix
index a1b92e7e4e18..eea9bb9027ca 100644
--- a/nixpkgs/pkgs/applications/radio/urh/default.nix
+++ b/nixpkgs/pkgs/applications/radio/urh/default.nix
@@ -1,25 +1,31 @@
 { stdenv, lib, fetchFromGitHub, python3Packages
 , hackrf, rtl-sdr, airspy, limesuite, libiio
+, qt5
 , USRPSupport ? false, uhd }:
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.7.3";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jrrj9c4ddm37m8j0g693xjimpnlvx7lan5kxish5p14xpwdak35";
+    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
   };
 
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
   buildInputs = [ hackrf rtl-sdr airspy limesuite libiio ]
     ++ lib.optional USRPSupport uhd;
 
   propagatedBuildInputs = with python3Packages; [
-    pyqt5 numpy psutil cython pyzmq pyaudio
+    pyqt5 numpy psutil cython pyzmq pyaudio setuptools
   ];
 
+  postFixup = ''
+    wrapQtApp $out/bin/urh
+  '';
+
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/radio/welle-io/default.nix b/nixpkgs/pkgs/applications/radio/welle-io/default.nix
index c6b09595c202..66a033fef25b 100644
--- a/nixpkgs/pkgs/applications/radio/welle-io/default.nix
+++ b/nixpkgs/pkgs/applications/radio/welle-io/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
+{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
 , qtbase, qtcharts, qtmultimedia, qtquickcontrols, qtquickcontrols2
-, faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec }:
+, faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec, lame, mpg123 }:
 let
 
-  version = "1.0";
+  version = "2.1";
 
-in stdenv.mkDerivation {
+in mkDerivation {
 
   pname = "welle-io";
   inherit version;
@@ -13,8 +13,8 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "AlbrechtL";
     repo = "welle.io";
-    rev = "V${version}";
-    sha256 = "1fsr0c2w16z45mcr85sqmllw1xf2gn6hp6f6fmgx2zfprq8gdmcr";
+    rev = "v${version}";
+    sha256 = "1j63gdbd66d6rfjsxwdm2agrcww1rs4438kg7313h6zixpcc1icj";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -22,7 +22,9 @@ in stdenv.mkDerivation {
   buildInputs = [
     faad2
     fftwSinglePrec
+    lame
     libusb
+    mpg123
     qtbase
     qtcharts
     qtmultimedia
@@ -38,7 +40,7 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A DAB/DAB+ Software Radio";
     homepage = https://www.welle.io/;
     maintainers = with maintainers; [ ck3d markuskowa ];
diff --git a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
index 36d3f14818f0..8e135dee5681 100644
--- a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
+++ b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
-  version = "2.1.0";
+  version = "2.1.2";
 
   # This is a "superbuild" tarball containing both wsjtx and a hamlib fork
   src = fetchurl {
     url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz";
-    sha256 = "04flhyfw0djnnbrzh3f5lx06bnn92khchz3bmswk8if8n8j58v4y";
+    sha256 = "0aj3wg5xjjqwjvw6lra171ag5wq86w0hf1ra4k8mnaf0mc1qgbyl";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/nixpkgs/pkgs/applications/radio/xlog/default.nix b/nixpkgs/pkgs/applications/radio/xlog/default.nix
index 7b9cf0a4ee55..2268cdf725db 100644
--- a/nixpkgs/pkgs/applications/radio/xlog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/xlog/default.nix
@@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0vmn8518zk7qk1mbp1h8dm0f8fx0z0jvmy42c1n15il714lj7vsl";
   };
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   buildInputs = [ glib pkgconfig gtk2 hamlib ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/science/astronomy/celestia/default.nix b/nixpkgs/pkgs/applications/science/astronomy/celestia/default.nix
index e3ceffd34c19..e72354c86585 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
index a21c9f328f40..4bb3c7b34fe8 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "sep19a";
-  version = "20190901_a";
+  srcVersion = "dec19a";
+  version = "20191201_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "0l4jfzzxp1ab70a920qfbxiphgnc06m46wfwv0jlsq2mfk7cxac1";
+    sha256 = "0kwq5gzgzx5hkbabwvbrw2958pqz4m2s501k5cbllgxh4sqp86b1";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix
index 03d0018f237b..15f72938effe 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/astronomy/stellarium/default.nix b/nixpkgs/pkgs/applications/science/astronomy/stellarium/default.nix
index ecca9141d9fb..eca25774c593 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,24 +1,24 @@
 { 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
 }:
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.19.1";
+  version = "0.19.3";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r";
+    sha256 = "175aj4bgi9b6bif6fvjdlpd68brcwij4x3ml0lxk6i51binv233y";
   };
 
   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/nixpkgs/pkgs/applications/science/astronomy/xearth/default.nix b/nixpkgs/pkgs/applications/science/astronomy/xearth/default.nix
index e9fc06079981..752e25b4d8d3 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/xearth/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/xearth/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [ libXt libXext ];
 
-  installFlags=[ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"];
-  installTargets="install install.man";
+  installFlags = [ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"];
+  installTargets = [ "install" "install.man" ];
 
   meta = with stdenv.lib; {
     description = "sets the X root window to an image of the Earth";
diff --git a/nixpkgs/pkgs/applications/science/astronomy/xplanet/default.nix b/nixpkgs/pkgs/applications/science/astronomy/xplanet/default.nix
index 5f02dc27a224..f306f9265aba 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -1,29 +1,38 @@
-{stdenv, fetchurl, pkgconfig, freetype, pango, libpng, libtiff, giflib
-, libjpeg, netpbm}:
+{stdenv, fetchurl, fetchpatch, pkgconfig, freetype, pango, libpng, libtiff
+, giflib, libjpeg, netpbm}:
 
 stdenv.mkDerivation rec {
-  name = "xplanet-1.3.0";
+  pname = "xplanet";
+  version = "1.3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/xplanet/${name}.tar.gz";
-    sha256 = "0hml2v228wi2r61m1pgka7h96rl92b6apk0iigm62miyp4mp9ys4";
+    url = "mirror://sourceforge/xplanet/${pname}-${version}.tar.gz";
+    sha256 = "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ freetype pango libpng libtiff giflib libjpeg netpbm ];
 
   patches = [
-    ./giflib.patch
-    ./gcc6.patch
+    (fetchpatch {
+      name = "giflib6.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/giflib6.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      sha256 = "173l0xkqq0v2bpaff7hhwc7y2aw5cclqw8988k1nalhyfbrjb8bl";
+    })
+    (fetchpatch {
+      name = "xplanet-c++11.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/xplanet-c++11.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      sha256 = "0vldai78ixw49bxch774pps6pq4sp0p33qvkvxywcz7p8kzpg8q2";
+    })
   ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Renders an image of the earth or other planets into the X root window";
     homepage = http://xplanet.sourceforge.net;
-    license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lassulus sander ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/astronomy/xplanet/gcc6.patch b/nixpkgs/pkgs/applications/science/astronomy/xplanet/gcc6.patch
deleted file mode 100644
index b30385a50f83..000000000000
--- a/nixpkgs/pkgs/applications/science/astronomy/xplanet/gcc6.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-diff --git c/src/libannotate/addArcs.cpp i/src/libannotate/addArcs.cpp
-index 2ee06c0..0ff5478 100644
---- c/src/libannotate/addArcs.cpp
-+++ i/src/libannotate/addArcs.cpp
-@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(arcFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-                 readArcFile(line, planet, view, projection,
-                             planetProperties, annotationMap);
-             
-@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap)
-         {
-             ifstream inFile(arcFile.c_str());
-             char *line = new char[256];
--            while (inFile.getline (line, 256, '\n') != NULL)
-+            while (inFile.getline (line, 256, '\n'))
-                 readArcFile(line, NULL, view, NULL, NULL, annotationMap);
- 
-             inFile.close();
-diff --git c/src/libannotate/addMarkers.cpp i/src/libannotate/addMarkers.cpp
-index 6a8a835..b35d820 100644
---- c/src/libannotate/addMarkers.cpp
-+++ i/src/libannotate/addMarkers.cpp
-@@ -423,7 +423,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(markerFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-             {
-                 unsigned char color[3];
-                 memcpy(color, planetProperties->MarkerColor(), 3);
-@@ -469,7 +469,7 @@ addMarkers(View *view, const int width, const int height,
-         {
-             ifstream inFile(markerFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-             {
-                 unsigned char color[3];
-                 memcpy(color, options->Color(), 3);
-diff --git c/src/libannotate/addSatellites.cpp i/src/libannotate/addSatellites.cpp
-index 2634339..c9ff0b0 100644
---- c/src/libannotate/addSatellites.cpp
-+++ i/src/libannotate/addSatellites.cpp
-@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties)
-         {
-             ifstream inFile(tleFile.c_str());
-             char lines[3][80];
--            while (inFile.getline(lines[0], 80) != NULL)
-+            while (inFile.getline(lines[0], 80))
-             {
--                if ((inFile.getline(lines[1], 80) == NULL) 
--                    || (inFile.getline(lines[2], 80) == NULL))
-+                if ((inFile.getline(lines[1], 80))
-+                    || (inFile.getline(lines[2], 80)))
-                 {
-                     ostringstream errStr;
-                     errStr << "Malformed TLE file (" << tleFile << ")?\n";
-@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(satFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-                 readSatelliteFile(line, planet, view, projection,
-                                   planetProperties, annotationMap);
-             
-diff --git c/src/libmultiple/RayleighScattering.cpp i/src/libmultiple/RayleighScattering.cpp
-index d885173..7c25c1c 100644
---- c/src/libmultiple/RayleighScattering.cpp
-+++ i/src/libmultiple/RayleighScattering.cpp
-@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile)
- 
-     diskTemplate_.clear();
-     limbTemplate_.clear();
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile,
-     values.clear();
- 
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile,
-                               double &value)
- {
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-diff --git c/src/libmultiple/drawStars.cpp i/src/libmultiple/drawStars.cpp
-index ff07c49..22e41a0 100644
---- c/src/libmultiple/drawStars.cpp
-+++ i/src/libmultiple/drawStars.cpp
-@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view)
-     ifstream inFile(starMap.c_str());
- 
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         if (line[0] == '#') continue;
- 
-diff --git c/src/readConfig.cpp i/src/readConfig.cpp
-index cc1964f..2946690 100644
---- c/src/readConfig.cpp
-+++ i/src/readConfig.cpp
-@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[])
- 
-         ifstream inFile(configFile.c_str());
-         char *line = new char[256];
--        while (inFile.getline(line, 256, '\n') != NULL)
-+        while (inFile.getline(line, 256, '\n'))
-             readConfig(line, planetProperties);
-         
-         // This condition will only be true if [default] is the only
diff --git a/nixpkgs/pkgs/applications/science/astronomy/xplanet/giflib.patch b/nixpkgs/pkgs/applications/science/astronomy/xplanet/giflib.patch
deleted file mode 100644
index 653b9c8dc7d6..000000000000
--- a/nixpkgs/pkgs/applications/science/astronomy/xplanet/giflib.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-diff -wbBur xplanet-1.3.0/src/libimage/gif.c xplanet-1.3.0.my/src/libimage/gif.c
---- xplanet-1.3.0/src/libimage/gif.c	2006-03-26 01:50:51.000000000 +0300
-+++ xplanet-1.3.0.my/src/libimage/gif.c	2014-05-29 18:59:14.830652716 +0400
-@@ -20,7 +20,7 @@
- 
- #include <stdio.h>
- #include <stdlib.h>
--
-+#define FALSE 0
- #include <gif_lib.h>
- 
- /*
-@@ -42,11 +42,11 @@
-     int color_index;
-     unsigned char *ptr = NULL;
- 
--    infile = DGifOpenFileName(filename);
-+    infile = DGifOpenFileName(filename, NULL);
- 
-     if (infile == NULL)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -54,7 +54,7 @@
-     {
-         if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) 
-         {
--            PrintGifError();
-+            printf("%s\n", GifErrorString(GIF_ERROR));
-             return(0);
-         }
- 
-@@ -63,7 +63,7 @@
-         case IMAGE_DESC_RECORD_TYPE:
-             if (DGifGetImageDesc(infile) == GIF_ERROR)
-             {
--                PrintGifError();
-+                printf("%s\n", GifErrorString(GIF_ERROR));
-                 return(0);
-             }
- 
-@@ -107,14 +107,14 @@
-             GifByteType *ext;
-             if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) 
-             {
--                PrintGifError();
-+                printf("%s\n", GifErrorString(GIF_ERROR));
-                 return(0);
-             }
-             while (ext != NULL) 
-             {
-                 if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR) 
-                 {
--                    PrintGifError();
-+                    printf("%s\n", GifErrorString(GIF_ERROR));
-                     return(0);
-                 }
-             }
-@@ -154,7 +154,7 @@
-     
-     free(buffer);
- 
--    DGifCloseFile(infile);
-+    DGifCloseFile(infile, NULL);
-     return(1);
- }
- 
-@@ -178,7 +178,7 @@
-         return(0);
-     }
- 
--    colormap = MakeMapObject(colormap_size, NULL);
-+    colormap = GifMakeMapObject(colormap_size, NULL);
- 
-     for (i = 0; i < width * height; i++)
-     {
-@@ -187,10 +187,10 @@
-         blue[i]  = (GifByteType) rgb[3*i+2];
-     }
-   
--    if (QuantizeBuffer(width, height, &colormap_size, red, green, blue,   
-+    if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue,   
-                        buffer, colormap->Colors) == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -198,24 +198,24 @@
-     free(green);
-     free(blue);
- 
--    outfile = EGifOpenFileName((char *) filename, FALSE);
-+    outfile = EGifOpenFileName((char *) filename, FALSE, NULL);
-     if (outfile == NULL)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-     if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap)
-         == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-     if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL)
-         == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -224,7 +224,7 @@
-     {
-         if (EGifPutLine(outfile, ptr, width) == GIF_ERROR)
-         {
--            PrintGifError();
-+            printf("%s\n", GifErrorString(GIF_ERROR));
-             return(0);
-         }
-         ptr += width;
-@@ -232,8 +232,8 @@
- 
-     EGifSpew(outfile);
- 
--    if (EGifCloseFile(outfile) == GIF_ERROR) 
--        PrintGifError();
-+    if (EGifCloseFile(outfile, NULL) == GIF_ERROR) 
-+        printf("%s\n", GifErrorString(GIF_ERROR));
- 
-     free(buffer);
- 
diff --git a/nixpkgs/pkgs/applications/science/biology/EZminc/default.nix b/nixpkgs/pkgs/applications/science/biology/EZminc/default.nix
index dbcfead6b1ea..978615fa4592 100644
--- a/nixpkgs/pkgs/applications/science/biology/EZminc/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/EZminc/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, itk, fftwFloat, gsl }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libminc, bicpl, itk, fftwFloat, gsl }:
 
-stdenv.mkDerivation rec { pname = "EZminc";
-  name  = "${pname}-2017-08-29";
+stdenv.mkDerivation rec {
+  pname = "EZminc";
+  name  = "${pname}-unstable-2019-07-25";
 
   src = fetchFromGitHub {
     owner  = "BIC-MNI";
     repo   = pname;
-    rev    = "4e017236cb6e7f6e07507446b18b759c584b6fc3";
-    sha256 = "1pg06x42pgsg7zy7dz9wf6ajakkm2n8by64lg9z64qi8qqy82b8v";
+    rev    = "9591edd5389a5bda2c1f606816c7cdb35c065adf";
+    sha256 = "02k87qbpx0f48l2lbcjmlqx82py684z3sfi29va5icfg3hjd6j7b";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ itk libminc bicpl fftwFloat gsl ];
 
   cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
diff --git a/nixpkgs/pkgs/applications/science/biology/bayescan/default.nix b/nixpkgs/pkgs/applications/science/biology/bayescan/default.nix
new file mode 100644
index 000000000000..4e216fbdbe63
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/bayescan/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, unzip, llvmPackages }:
+
+stdenv.mkDerivation rec {
+  pname = "bayescan";
+  version = "2.1";
+
+  src = fetchurl {
+    url = "http://cmpg.unibe.ch/software/BayeScan/files/BayeScan${version}.zip";
+    sha256 = "0ismima8j8z0zj9yc267rpf7z90w57b2pbqzjnayhc3ab8mcbfy6";
+  };
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp;
+
+  # Disable FORTIFY_SOURCE or the binary fails with "buffer overflow"
+  hardeningDisable = [ "fortify" ];
+
+  sourceRoot = "BayeScan${version}/source";
+
+  postPatch = ''
+    substituteInPlace Makefile --replace "-static" "" \
+                               --replace "g++" "c++"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/doc/bayescan
+    cp bayescan_${version} $out/bin
+    cp -r ../*pdf ../input_examples ../"R functions" $out/share/doc/bayescan
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Detecting natural selection from population-based genetic data";
+    homepage = "http://cmpg.unibe.ch/software/BayeScan";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.bzizou ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix b/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
index 33e4de0d95aa..4a6a464de464 100644
--- a/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcftools";
-  version = "1.9";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg";
+    sha256 = "0b2f6lqhxdlrvfjqxv7a4nzqj68c1j4avn16iqxwwm80kn302wzm";
   };
 
   buildInputs = [ htslib zlib bzip2 lzma curl perl python ];
diff --git a/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix b/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
index 4e4c093ad7f7..9af2ec88c392 100644
--- a/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "bedtools";
-  version = "2.29.0";
+  version = "2.29.2";
 
   src = fetchFromGitHub {
     owner = "arq5x";
     repo = "bedtools2";
     rev = "v${version}";
-    sha256 = "0d6i985qqxp92ddq4n6558m70qi5rqhl724wrfys0hm0p6a9h56x";
+    sha256 = "015qq3pwrwgnyxyi959niijjlswl231b3wxlsm3l8msv6fdhmkz8";
   };
 
   buildInputs = [ zlib python bzip2 lzma ];
-  cc = if stdenv.cc.isClang then "clang++" else "g++";
-  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} -j $NIX_BUILD_CORES";
-  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} install";
+  cxx = if stdenv.cc.isClang then "clang++" else "g++";
+  cc = if stdenv.cc.isClang then "clang" else "gcc";
+  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} -j $NIX_BUILD_CORES";
+  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} install";
 
   meta = with stdenv.lib; {
     description = "A powerful toolset for genome arithmetic.";
diff --git a/nixpkgs/pkgs/applications/science/biology/bftools/default.nix b/nixpkgs/pkgs/applications/science/biology/bftools/default.nix
index 158291049347..29e8bca52625 100644
--- a/nixpkgs/pkgs/applications/science/biology/bftools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bftools";
-  version = "5.9.2";
+  version = "6.3.0";
 
   src = fetchzip {
     url = "http://downloads.openmicroscopy.org/bio-formats/${version}/artifacts/bftools.zip";
-    sha256 = "08lmbg3kfxh17q6548il0i2h3f9a6ch8r0r067p14dajhzfpjyqj";
+    sha256 = "02nvvmpfglpah1ihd08aw65g1794w588c988cdar1hfl4s80qwhb";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/biology/blast/default.nix b/nixpkgs/pkgs/applications/science/biology/blast/default.nix
new file mode 100644
index 000000000000..ad737c6699d6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/blast/default.nix
@@ -0,0 +1,108 @@
+{ lib, stdenv, fetchurl, zlib, bzip2, perl, cpio, gawk, coreutils, ApplicationServices }:
+
+stdenv.mkDerivation rec {
+  pname = "blast";
+  version = "2.10.0";
+
+  src = fetchurl {
+    url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${version}/ncbi-blast-${version}+-src.tar.gz";
+    sha256 = "09nry5knj5hhxpn0a5ww1gb1704grd4r1y7adbjl6kqwq37dkk9s";
+  };
+
+  sourceRoot = "ncbi-blast-${version}+-src/c++";
+  
+  configureFlags = [ 
+    # With flat Makefile we can use all_projects in order not to build extra.
+    # These extra cause clang to hang on Darwin.
+    "--with-flat-makefile"
+    "--without-makefile-auto-update" 
+    "--with-dll"  # build dynamic libraries (static are default)
+    ];
+  
+  makeFlags = [ "all_projects=app/" ];
+
+  preConfigure = ''
+    export NCBICXX_RECONF_POLICY=warn
+    export PWD=$(pwd)
+    export HOME=$PWD
+
+    # The configure scripts wants to set AR="ar cr" unless it is already set in
+    # the environment. Because stdenv sets AR="ar", the result is a bad call to
+    # the assembler later in the process. Thus, we need to unset AR
+    unset AR
+
+    for awks in scripts/common/impl/is_log_interesting.awk \
+        scripts/common/impl/report_duplicates.awk; do
+
+        substituteInPlace $awks \
+              --replace /usr/bin/awk ${gawk}/bin/awk
+    done
+
+    for mk in src/build-system/Makefile.meta.in \
+        src/build-system/helpers/run_with_lock.c ; do
+
+        substituteInPlace $mk \
+        --replace /bin/rm ${coreutils}/bin/rm
+    done
+
+    for mk in src/build-system/Makefile.meta.gmake=no \
+        src/build-system/Makefile.meta_l \
+        src/build-system/Makefile.meta_r \
+        src/build-system/Makefile.requirements \
+        src/build-system/Makefile.rules_with_autodep.in; do
+
+        substituteInPlace $mk \
+            --replace /bin/echo ${coreutils}/bin/echo
+    done
+    for mk in src/build-system/Makefile.meta_p \
+        src/build-system/Makefile.rules_with_autodep.in \
+        src/build-system/Makefile.protobuf.in ; do
+
+        substituteInPlace $mk \
+            --replace /bin/mv ${coreutils}/bin/mv
+    done
+
+
+    substituteInPlace src/build-system/configure \
+        --replace /bin/pwd ${coreutils}/bin/pwd \
+        --replace /bin/ln ${coreutils}/bin/ln
+
+    substituteInPlace src/build-system/configure.ac \
+        --replace /bin/pwd ${coreutils}/bin/pwd \
+        --replace /bin/ln ${coreutils}/bin/ln
+
+    substituteInPlace src/build-system/Makefile.meta_l \
+        --replace /bin/date ${coreutils}/bin/date
+  '';
+
+  nativeBuildInputs = [ perl ];
+
+  # perl is necessary in buildInputs so that installed perl scripts get patched
+  # correctly
+  buildInputs = [ coreutils perl gawk zlib bzip2 cpio ]
+    ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
+  hardeningDisable = [ "format" ];
+
+  postInstall = ''
+    substituteInPlace $out/bin/get_species_taxids.sh \
+        --replace /bin/rm ${coreutils}/bin/rm
+  '';
+  patches = [ ./no_slash_bin.patch ];
+
+  enableParallelBuilding = true;
+
+  # Many tests require either network access or locally available databases
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = ''Basic Local Alignment Search Tool (BLAST) finds regions of
+    similarity between biological sequences'';
+    homepage = https://blast.ncbi.nlm.nih.gov/Blast.cgi;
+    license = licenses.publicDomain;
+
+    # Version 2.10.0 fails on Darwin
+    # See https://github.com/NixOS/nixpkgs/pull/61430
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ luispedro ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/blast/no_slash_bin.patch b/nixpkgs/pkgs/applications/science/biology/blast/no_slash_bin.patch
new file mode 100644
index 000000000000..9b78ac579264
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/blast/no_slash_bin.patch
@@ -0,0 +1,184 @@
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/collect_outside_libs.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/collect_outside_libs.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/collect_outside_libs.sh	2014-08-01 22:01:17.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/collect_outside_libs.sh	2019-05-15 12:40:44.145239480 +0800
+@@ -1,8 +1,5 @@
+ #!/bin/sh
+ set -e
+-PATH=/bin:/usr/bin
+-export PATH
+-unset CDPATH
+ 
+ base=$1
+ search=`echo ${2-$LD_LIBRARY_PATH} | tr : ' '`
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/create_flat_tuneups.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/create_flat_tuneups.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/create_flat_tuneups.sh	2011-08-17 02:55:10.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/create_flat_tuneups.sh	2019-05-15 12:40:48.449276574 +0800
+@@ -1,9 +1,6 @@
+ #!/bin/sh
+ id='$Id: create_flat_tuneups.sh 331412 2011-08-16 18:55:10Z ucko $'
+ 
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ exec > auto_flat_tuneups.mk
+ 
+ cat <<EOF
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/get_lock.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/get_lock.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/get_lock.sh	2011-08-20 04:12:28.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/get_lock.sh	2019-05-15 12:40:52.901315000 +0800
+@@ -1,7 +1,5 @@
+ #!/bin/sh
+ 
+-PATH=/bin:/usr/bin
+-export PATH
+ 
+ dir=$1.lock
+ 
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/if_diff.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/if_diff.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/if_diff.sh	2014-07-30 22:06:45.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/if_diff.sh	2019-05-15 12:42:57.298410841 +0800
+@@ -4,9 +4,6 @@
+ # Author:  Denis Vakatov (vakatov@ncbi.nlm.nih.gov)
+ #################################
+ 
+-orig_PATH=$PATH
+-PATH=/bin:/usr/bin
+-
+ script_name=`basename $0`
+ script_args="$*"
+ 
+@@ -16,7 +13,7 @@
+ base_action=`basename "$action"`
+ case "$base_action" in
+   cp | cp\ * | ln | ln\ * )
+-      action=/bin/$base_action
++      action=$base_action
+       rm="rm -f"
+       ;;
+   * )
+@@ -58,10 +55,8 @@
+   shift
+   cmd="$* $dest_file"
+   test "$quiet" = yes || echo "$cmd"
+-  PATH=$orig_PATH
+   "$@" "$dest"
+   status=$?
+-  PATH=/bin:/usr/bin
+   return $status
+ }
+ 
+@@ -74,7 +69,7 @@
+   case "$base_action" in
+     ln | ln\ -f )
+       test "$quiet" = yes || echo "failed; trying \"cp -p ...\" instead"
+-      cmd="/bin/cp -p $src_file $dest_file"
++      cmd="cp -p $src_file $dest_file"
+       ExecHelper "$dest_file" /bin/cp -p "$src_file"  ||
+       Usage "\"$cmd\" failed"
+       ;;
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/make_lock_map.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/make_lock_map.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/make_lock_map.sh	2011-11-17 04:43:52.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/make_lock_map.sh	2019-05-15 12:40:56.769348434 +0800
+@@ -1,8 +1,6 @@
+ #!/bin/sh
+ # $Id: make_lock_map.sh 344587 2011-11-16 20:43:52Z ucko $
+ 
+-PATH=/bin:/usr/bin
+-export PATH
+ 
+ act=false
+ cache_dir='.#SRC-cache'
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/run_with_lock.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/run_with_lock.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/run_with_lock.sh	2015-10-29 22:36:05.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/run_with_lock.sh	2019-05-15 12:41:53.401842849 +0800
+@@ -1,10 +1,6 @@
+ #!/bin/sh
+ # $Id: run_with_lock.sh 483249 2015-10-29 14:36:05Z ucko $
+ 
+-orig_PATH=$PATH
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ base=
+ logfile=
+ map=
+@@ -23,7 +19,7 @@
+ : ${base:=`basename "$1"`}
+ 
+ clean_up () {
+-    /bin/rm -rf "$base.lock"
++    rm -rf "$base.lock"
+ }
+ 
+ case $0 in
+@@ -45,7 +41,7 @@
+     trap "clean_up; exit $error_status" 1 2 15
+     if [ -n "$logfile" ]; then
+         status_file=$base.lock/status
+-        (PATH=$orig_PATH; export PATH; "$@"; echo $? > "$status_file") 2>&1 \
++        ("$@"; echo $? > "$status_file") 2>&1 \
+             | tee "$logfile.new"
+         # Emulate egrep -q to avoid having to move from under scripts.
+         if [ ! -f "$logfile" ]  \
+@@ -58,8 +54,6 @@
+             status=1
+         fi
+     else
+-        PATH=$orig_PATH
+-        export PATH
+         "$@"
+         status=$?
+     fi
+diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/strip_for_install.sh ncbi-blast-2.9.0+-src.patched/scripts/common/impl/strip_for_install.sh
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/strip_for_install.sh	2013-09-24 03:06:51.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/strip_for_install.sh	2019-05-15 12:40:13.272975092 +0800
+@@ -1,8 +1,5 @@
+ #!/bin/sh
+ 
+-PATH=/bin:/usr/bin:/usr/ccs/bin
+-export PATH
+-
+ case "$1" in
+     --dirs )
+         shift
+--- ncbi-blast-2.9.0+-src/scripts/common/impl/update_configurable.sh	2017-07-13 22:53:24.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/scripts/common/impl/update_configurable.sh	2019-05-15 15:03:35.861276083 +0800
+@@ -1,6 +1,4 @@
+ #!/bin/sh
+-PATH=/bin:/usr/bin
+-export PATH
+ 
+ script_name=`basename $0`
+ script_dir=`dirname $0`
+--- ncbi-blast-2.9.0+-src/src/build-system/Makefile.mk.in	2019-01-04 01:38:37.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/src/build-system/Makefile.mk.in	2019-05-15 15:14:41.749416495 +0800
+@@ -50,12 +50,12 @@
+ 
+ ### Auxiliary commands, filters
+ 
+-RM       = /bin/rm -f
+-RMDIR    = /bin/rm -rf
+-COPY     = /bin/cp -p
++RM       = rm -f
++RMDIR    = rm -rf
++COPY     = cp -p
+ BINCOPY  = @BINCOPY@
+ TOUCH    = @TOUCH@
+-MKDIR    = /bin/mkdir
++MKDIR    = mkdir
+ BINTOUCH = $(TOUCH)
+ LN_S     = @LN_S@
+ GREP     = @GREP@
+--- ncbi-blast-2.9.0+-src/src/build-system/configure	2019-03-05 00:49:08.000000000 +0800
++++ ncbi-blast-2.9.0+-src.patched/src/build-system/configure	2019-05-15 16:55:40.711795042 +0800
+@@ -10417,10 +10417,6 @@
+ echo "${ECHO_T}no, using $LN_S" >&6; }
+ fi
+ 
+-case "$LN_S" in
+-    /*) ;;
+-    * ) LN_S=/bin/$LN_S ;;
+-esac
+ 
+ if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
diff --git a/nixpkgs/pkgs/applications/science/biology/dcm2niix/default.nix b/nixpkgs/pkgs/applications/science/biology/dcm2niix/default.nix
index 63d51de9930f..7c328034a306 100644
--- a/nixpkgs/pkgs/applications/science/biology/dcm2niix/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/dcm2niix/default.nix
@@ -6,14 +6,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.20190410";
+  version = "1.0.20190902";
   pname = "dcm2niix";
 
   src = fetchFromGitHub {
     owner = "rordenlab";
     repo = "dcm2niix";
     rev = "v${version}";
-    sha256 = "1prwpvbi76xlpkhc4kadjhyyx0s71cs30hi6anknhfm6hdyd26ms";
+    sha256 = "0h8jsadgv831lqb0jhnaxm7lldirmnp5agrhgg5bcxvn860fl15b";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix b/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix
new file mode 100644
index 000000000000..78a6f483337f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, python
+}:
+with python.pkgs;
+buildPythonApplication rec {
+  pname = "deepTools";
+  version = "3.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08p36p9ncj5s8qf1r7h83x4rnmi63l3yk6mnr3wgpg2qgvwl0hji";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    numpydoc
+    scipy
+    py2bit
+    pybigwig
+    pysam
+    matplotlib
+    plotly
+    deeptoolsintervals
+  ];
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = "https://deeptools.readthedocs.io/en/develop";
+    description = "Tools for exploring deep DNA sequencing data";
+    longDescription = ''
+      deepTools contains useful modules to process the mapped reads data for multiple
+      quality checks, creating normalized coverage files in standard bedGraph and bigWig
+      file formats, that allow comparison between different files (for example, treatment and control).
+      Finally, using such normalized and standardized files, deepTools can create many
+      publication-ready visualizations to identify enrichments and for functional
+      annotations of the genome.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ scalavision ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/delly/default.nix b/nixpkgs/pkgs/applications/science/biology/delly/default.nix
new file mode 100644
index 000000000000..bfdf5a1bb17e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/delly/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, htslib, zlib, bzip2, lzma, ncurses, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "delly";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+      owner = "dellytools";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "18gm86j1g1k4z1cjv2m5v9rsl1xqs2w3dhwcsnzx2mhkrvmlc4i1";
+  };
+
+  buildInputs = [ zlib htslib bzip2 lzma ncurses boost ];
+
+  EBROOTHTSLIB = htslib;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 src/delly $out/bin/delly
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Structural variant caller for mapped DNA sequenced data";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ scalavision ];
+    platforms = platforms.linux;
+    longDescription = ''
+      Delly is an integrated structural variant (SV) prediction method
+      that can discover, genotype and visualize deletions, tandem duplications,
+      inversions and translocations at single-nucleotide resolution in
+      short-read massively parallel sequencing data. It uses paired-ends,
+      split-reads and read-depth to sensitively and accurately delineate
+      genomic rearrangements throughout the genome.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix b/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix
index e1e84c9423bb..7d0a36e755f6 100644
--- a/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/hmmer/default.nix b/nixpkgs/pkgs/applications/science/biology/hmmer/default.nix
index 3adbaf0079ef..69ecb228697b 100644
--- a/nixpkgs/pkgs/applications/science/biology/hmmer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix b/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
index de93ae5d7829..1a6555e0d634 100644
--- a/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/kssd/default.nix b/nixpkgs/pkgs/applications/science/biology/kssd/default.nix
new file mode 100644
index 000000000000..ef8a0ce136f8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/kssd/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, zlib, automake, autoconf, libtool }:
+
+stdenv.mkDerivation rec {
+  pname = "kssd";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://github.com/yhg926/public_${pname}/archive/v${version}.tar.gz";
+    sha256 = "a5dcaf520049a962bef625cb59a567ea2b4252d4dc9be28dd06123d340e03919";
+  };
+
+  buildInputs = [ zlib automake autoconf libtool ];
+
+  installPhase = ''
+      install -vD kssd $out/bin/kssd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "K-mer substring space decomposition";
+    license     = licenses.asl20;
+    homepage    = "https://github.com/yhg926/public_kssd";
+    maintainers = with maintainers; [ unode ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/last/default.nix b/nixpkgs/pkgs/applications/science/biology/last/default.nix
new file mode 100644
index 000000000000..c9e546dc2ce7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/last/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip, zlib, python3, parallel }:
+
+stdenv.mkDerivation rec {
+  pname = "last";
+  version = "1045";
+
+  src = fetchurl {
+    url = "http://last.cbrc.jp/last-${version}.zip";
+    sha256 = "0x2wrm52ca935n3yc486m8yy59ap34w1x9h3csjca3jab5agnjkc";
+  };
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ zlib python3 ];
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  postFixup = ''
+    for f in $out/bin/parallel-* ; do
+      sed -i 's|parallel |${parallel}/bin/parallel |' $f
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Genomic sequence aligner";
+    homepage = "http://last.cbrc.jp/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/macse/default.nix b/nixpkgs/pkgs/applications/science/biology/macse/default.nix
new file mode 100644
index 000000000000..59938addbe82
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/macse/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, jre, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "macse";
+  version = "2.03";
+
+  src = fetchurl {
+    url = "https://bioweb.supagro.inra.fr/${pname}/releases/${pname}_v${version}.jar";
+    sha256 = "0jnjyz4f255glg37rawzdv4m6nfs7wfwc5dny7afvx4dz2sv4ssh";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontBuild = true;
+  unpackPhase = ":";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/java
+    cp -s $src $out/share/java/macse.jar
+    makeWrapper ${jre}/bin/java $out/bin/macse --add-flags "-jar $out/share/java/macse.jar"
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Multiple alignment of coding sequences";
+    homepage = "https://bioweb.supagro.inra.fr/macse/";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/megahit/default.nix b/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
index 56bb35b64df8..86414980177f 100644
--- a/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, fetchFromGitHub, zlib }:
+{ stdenv, fetchFromGitHub, cmake, zlib }:
 
 stdenv.mkDerivation rec {
   pname    = "megahit";
-  version = "1.1.4";
+  version = "1.2.9";
 
   src = fetchFromGitHub {
     owner = "voutcn";
     repo = "megahit";
     rev = "v${version}";
-    sha256 = "011k0776w76l03zmy70kfd3y9zjmdnspfbs9fcxmnl3bdwd36kcw";
+    sha256 = "1r5d9nkdmgjsbrpj43q9hy3s8jwsabaz3ji561v18hy47v58923c";
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
-  installPhase = ''
-    for bin in megahit_sdbg_build megahit megahit_asm_core megahit_toolkit; do
-        install -vD $bin $out/bin/$bin
-    done
-  '';
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph";
diff --git a/nixpkgs/pkgs/applications/science/biology/minia/default.nix b/nixpkgs/pkgs/applications/science/biology/minia/default.nix
new file mode 100644
index 000000000000..2a80de733b08
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/minia/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, hdf5, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "minia";
+  version = "3.2.1";
+
+  src = fetchFromGitHub {
+    owner = "GATB";
+    repo = "minia";
+    rev = "v${version}";
+    sha256 = "0bmfrywixaaql898l0ixsfkhxjf2hb08ssnqzlzacfizxdp46siq";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./no-bundle.patch ];
+
+  NIX_CFLAGS_COMPILE = [ "-Wformat" ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ hdf5 boost ];
+
+  prePatch = ''
+    rm -rf thirdparty/gatb-core/gatb-core/thirdparty/{hdf5,boost}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Short read genome assembler";
+    homepage = "https://github.com/GATB/minia";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/minia/no-bundle.patch b/nixpkgs/pkgs/applications/science/biology/minia/no-bundle.patch
new file mode 100644
index 000000000000..21d12c7f6f2d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/minia/no-bundle.patch
@@ -0,0 +1,222 @@
+diff --git a/thirdparty/gatb-core/gatb-core/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/CMakeLists.txt
+index f48a70b..0e11ece 100644
+--- a/thirdparty/gatb-core/gatb-core/CMakeLists.txt
++++ b/thirdparty/gatb-core/gatb-core/CMakeLists.txt
+@@ -257,7 +257,6 @@ ADD_SUBDIRECTORY(thirdparty)
+ #  DEPENDENCIES 
+ ################################################################################
+ # we must be sure that hdf5 is built and installed before building gatb-core
+-ADD_DEPENDENCIES (gatbcore-static hdf5 hdf5_postbuild)
+ 
+ ################################################################################
+ #  DOCUMENTATION GENERATION 
+@@ -288,7 +287,6 @@ IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/doc/misc/README.txt  DESTINATION . OPTIONAL)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/LICENCE              DESTINATION . OPTIONAL)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/THIRDPARTIES.md      DESTINATION . OPTIONAL)
+-    INSTALL (DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/boost DESTINATION ./include)
+ ENDIF()
+ 
+ ################################################################################
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
+index dfeee1c..d5553a2 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
+@@ -35,7 +35,7 @@
+ #include <stdint.h>
+ #include <algorithm>
+ #include <iostream>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ #include <gatb/system/api/Exception.hpp>
+ #include <gatb/system/api/config.hpp>
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
+index 60be5d5..25ae75e 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
+@@ -33,7 +33,7 @@
+ /********************************************************************************/
+ 
+ #include <iostream>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
+index 6a71bb0..b9205df 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
+index c22b892..62e6586 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
+index c06aaab..e0befba 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ extern const unsigned char revcomp_4NT[];
+ extern const unsigned char comp_NT    [];
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
+index 9659874..0c79ff6 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
+index 3cb84f8..cd5d382 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
+@@ -31,7 +31,7 @@
+ /********************************************************************************/
+ 
+ #include <sys/types.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
+index b8f6c79..a040832 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
+@@ -28,7 +28,7 @@
+ 
+ #include <gatb/system/api/ISmartPointer.hpp>
+ #include <gatb/tools/storage/impl/Storage.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
+index 2645abd..fad48c0 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
+@@ -40,7 +40,7 @@
+ #include <string>
+ #include <vector>
+ #include <stdarg.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
+index a92b729..66d552f 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
+@@ -40,7 +40,7 @@
+ #include <string>
+ #include <vector>
+ #include <stdarg.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
+index 29e0949..0565cc4 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
+@@ -33,7 +33,7 @@
+ #include <gatb/tools/storage/impl/CollectionHDF5.hpp>
+ #include <gatb/tools/storage/impl/CollectionHDF5Patch.hpp>
+ #include <gatb/system/impl/System.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ #include <sstream>
+ 
+ /********************************************************************************/
+diff --git a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
+index 6e0b5c4..34aef28 100644
+--- a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
++++ b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
+@@ -1,54 +1,3 @@
+-################################################################################
+-#  HDF5 GENERATION 
+-################################################################################
+-
+-#SET (HDF5_ENABLE_THREADSAFE       ON)
+-#SET (H5_HAVE_THREADSAFE 1)
+-
+-##########  MOMENTARY DEACTIVATED => CRASH ON MACOS TO BE INVESTIGATED  ##########
+-SET (HDF5_BUILD_TOOLS             ON CACHE BOOL "Build HDF5 Tools")
+-#SET (CMAKE_EXE_LINKER_FLAGS       "-lpthread -lz")
+-
+-SET (HDF5_EXTERNALLY_CONFIGURED     ON)
+-
+-#SET (HDF5_INSTALL_BIN_DIR           ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
+-#SET (HDF5_INSTALL_LIB_DIR           ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
+-SET (HDF5_INSTALL_BIN_DIR           bin)
+-SET (HDF5_INSTALL_LIB_DIR           lib)
+-
+-SET (HDF5_INSTALL_INCLUDE_DIR       ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5)
+-SET (HDF5_INSTALL_DATA_DIR          ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE})
+-SET (HDF5_INSTALL_CMAKE_DIR         ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE})
+-
+-IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE)
+-    SET (HDF5_EXPORTED_TARGETS          "gatb-hdf5")
+-ENDIF()
+-
+-IF (NOT DEFINED GATB_CORE_EXCLUDE_HDF5_ZLIB)
+-	OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON)
+-ENDIF()
+-
+-# We don't want warnings from HDF5 compilation
+-set (COMPILE_DEFINITIONS  "${COMPILE_DEFINITIONS}  -w")
+-add_definitions (${COMPILE_DEFINITIONS})
+-
+-# add HDF5 generation
+-ADD_SUBDIRECTORY (hdf5)
+-
+-# We add a custom target for copying header files.
+-add_custom_target (hdf5_postbuild ALL)
+-
+-# We build the output directory
+-add_custom_command (TARGET hdf5_postbuild POST_BUILD  COMMAND ${CMAKE_COMMAND} -E make_directory ${HDF5_INSTALL_INCLUDE_DIR})
+-
+-# We define all the header files to be copied
+-file (GLOB headerfiles ${PROJECT_SOURCE_DIR}/thirdparty/hdf5/src/*.h ${PROJECT_BINARY_DIR}/thirdparty/hdf5/H5pubconf.h)
+-
+-# We copy each header file
+-foreach (header ${headerfiles})
+-  add_custom_command (TARGET hdf5_postbuild POST_BUILD  COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header} ${HDF5_INSTALL_INCLUDE_DIR}  )
+-endforeach()
+-
+ # include other smaller libraries (json, Boophf)
+ 
+ add_custom_target (thirdparty_copy ALL)
diff --git a/nixpkgs/pkgs/applications/science/biology/niftyreg/default.nix b/nixpkgs/pkgs/applications/science/biology/niftyreg/default.nix
index 6379f2c32826..48bd1b21ecd6 100644
--- a/nixpkgs/pkgs/applications/science/biology/niftyreg/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/niftyreg/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "07v9v9s41lvw72wpb1jgh2nzanyc994779bd35p76vg8mzifmprl";
   };
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/science/biology/niftyseg/default.nix b/nixpkgs/pkgs/applications/science/biology/niftyseg/default.nix
index 689d3e42c979..f70054e97716 100644
--- a/nixpkgs/pkgs/applications/science/biology/niftyseg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/paml/default.nix b/nixpkgs/pkgs/applications/science/biology/paml/default.nix
index 161188f7ef16..731e31c588fa 100644
--- a/nixpkgs/pkgs/applications/science/biology/paml/default.nix
+++ b/nixpkgs/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 = ''
diff --git a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
index 2a57febe8f5d..a67653c84373 100644
--- a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.20.5";
+  version = "2.21.3";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "107zlvp74ahpn652nfkipp80bbzf3fp812pi1ma42njk4wchah10";
+    sha256 = "0s1gn2bkya41866kd8zj0g8xjbivs763jqmlzdpjz4c25h6xkhns";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/science/biology/spades/default.nix b/nixpkgs/pkgs/applications/science/biology/spades/default.nix
new file mode 100644
index 000000000000..a195f79010a7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/spades/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, zlib, bzip2, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "SPAdes";
+  version = "3.13.1";
+
+  src = fetchurl {
+    url = "http://cab.spbu.ru/files/release${version}/${pname}-${version}.tar.gz";
+    sha256 = "0giayz197lmq2108filkn9izma3i803sb3iskv9hs5snzdr9p8ld";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ zlib bzip2 ];
+
+  doCheck = true;
+
+  sourceRoot = "${pname}-${version}/src";
+
+  meta = with stdenv.lib; {
+    description = "St. Petersburg genome assembler: assembly toolkit containing various assembly pipelines";
+    license = licenses.gpl2;
+    homepage = "http://cab.spbu.ru/software/spades/";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.bzizou ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/star/default.nix b/nixpkgs/pkgs/applications/science/biology/star/default.nix
index f32dca86bdf5..6f4211d0c0d9 100644
--- a/nixpkgs/pkgs/applications/science/biology/star/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/star/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "star";
-  version = "2.7.1a";
+  version = "2.7.3a";
 
   src = fetchFromGitHub {
     repo = "STAR";
     owner = "alexdobin";
     rev = version;
-    sha256 = "0n6g4s4hgw7qygs1z97j7a2dgz8gfaa4cv5pjvvvmarvk0x07hyg";
+    sha256 = "1hgiqw5qhs0pc1xazzihcfd92na02xyq2kb469z04y1v51kpvvjq";
   };
 
   sourceRoot = "source/source";
diff --git a/nixpkgs/pkgs/applications/science/biology/strelka/default.nix b/nixpkgs/pkgs/applications/science/biology/strelka/default.nix
index 84c90d895566..184dcb48a0de 100644
--- a/nixpkgs/pkgs/applications/science/biology/strelka/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/strelka/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib python2 ];
 
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=maybe-uninitialized"
+    "-Wno-error=pessimizing-move"
+  ];
+
   preConfigure = ''
     sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py
     patchShebangs .
diff --git a/nixpkgs/pkgs/applications/science/biology/sumatools/default.nix b/nixpkgs/pkgs/applications/science/biology/sumatools/default.nix
index f9042f300113..5230fcd2eb62 100644
--- a/nixpkgs/pkgs/applications/science/biology/sumatools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/sumatools/default.nix
@@ -22,7 +22,7 @@ in rec {
       rev = "sumalib_v${version}";
       sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a";
     };
-    makeFlags = "PREFIX=$(out)";
+    makeFlags = [ "PREFIX=$(out)" ];
     inherit meta;
   };
 
diff --git a/nixpkgs/pkgs/applications/science/biology/svaba/default.nix b/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
new file mode 100644
index 000000000000..ae8dc95d6fea
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, zlib, bzip2, lzma, fetchFromGitHub } :
+
+stdenv.mkDerivation rec {
+  version = "1.1.0";
+  pname = "svaba";
+
+  src = fetchFromGitHub {
+    owner = "walaj";
+    repo = pname;
+    rev = version;
+    sha256 = "1vv5mc9z5d22kgdy7mm27ya5aahnqgkcrskdr2405058ikk9g8kp";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ zlib bzip2 lzma ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 src/svaba/svaba $out/bin/svaba
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Structural variant and INDEL caller for DNA sequencing data, using genome-wide local assembly";
+    license = licenses.gpl3;
+    homepage = "https://github.com/walaj/svaba";
+    maintainers = with maintainers; [ scalavision ];
+    platforms = platforms.linux;
+    longDescription = ''
+      SvABA is a method for detecting structural variants in sequencing data
+      using genome-wide local assembly. Under the hood, SvABA uses a custom
+      implementation of SGA (String Graph Assembler) by Jared Simpson,
+      and BWA-MEM by Heng Li. Contigs are assembled for every 25kb window
+      (with some small overlap) for every region in the genome.
+      The default is to use only clipped, discordant, unmapped and indel reads,
+      although this can be customized to any set of reads at the command line using VariantBam rules.
+      These contigs are then immediately aligned to the reference with BWA-MEM and parsed to identify variants.
+      Sequencing reads are then realigned to the contigs with BWA-MEM, and variants are scored by their read support.
+    '';
+
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix b/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix
new file mode 100644
index 000000000000..9ff81944f6a7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, last, exonerate, minia, python3Packages, bwa
+, samtools, findutils }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "tebreak";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "adamewing";
+    repo = "tebreak";
+    rev = version;
+    sha256 = "194av17wz66n4zxyi56mbkik31j2wmkly5i9qmxgaxymhavzi3kq";
+  };
+
+  nativeBuildInputs = [ findutils python3Packages.cython ];
+  propagatedBuildInputs = with python3Packages; [
+    pysam
+    scipy
+    bx-python
+    scikit-bio
+  ];
+
+  preConfigure = ''
+    # patch the paths to all required software
+    for f in $(find . -type f) ; do
+      sed -i "s|'bwa'|'${bwa}/bin/bwa'|" $f
+      sed -i "s|'minia'|'${minia}/bin/minia'|" $f
+      sed -i "s|'exonerate'|'${exonerate}/bin/exonerate'|" $f
+      sed -i "s|'samtools'|'${samtools}/bin/samtools'|" $f
+      sed -i "s|'lastal'|'${last}/bin/lastal'|" $f
+      sed -i "s|'lastdb'|'${last}/bin/lastdb'|" $f
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Find and characterise transposable element insertions";
+    homepage = "https://github.com/adamewing/tebreak";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/truvari/default.nix b/nixpkgs/pkgs/applications/science/biology/truvari/default.nix
new file mode 100644
index 000000000000..bee43da6719d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/truvari/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "truvari";
+  version = "1.3.2";
+
+  src = fetchFromGitHub {
+    owner = "spiralgenetics";
+    repo = "truvari";
+    rev = "v${version}";
+    sha256 = "0wmjz8nzibvj0ixky1m0qi7iyd204prk7glbvig1cvaab33k19f1";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pyvcf
+    python-Levenshtein
+    progressbar2
+    pysam
+    pyfaidx
+    intervaltree
+  ];
+
+  prePatch = ''
+    substituteInPlace ./setup.py \
+      --replace '"progressbar2==3.41.0",' "" \
+      --replace '"pysam==0.15.2",' ""
+  '';
+
+  meta = with lib; {
+    description = "Structural variant comparison tool for VCFs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ scalavision ];
+    longDescription = ''
+      Truvari is a benchmarking tool for comparison sets of SVs.
+      It can calculate the recall, precision, and f-measure of a
+      vcf from a given structural variant caller. The tool
+      is created by Spiral Genetics.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/chemistry/avogadro/default.nix b/nixpkgs/pkgs/applications/science/chemistry/avogadro/default.nix
index a569b82ff59d..6aca678480da 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
index 00231113d2cf..2577b2a16e6d 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.29.49";
+  version = "14.30.1";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "19fyr4ldvbd5rbw19hslg9fpwc42wxmyx7r3z78k6dw653vb1ml5";
+    sha256 = "0qnxsw6pjjkn6yigrfh85fz58ibqdmbv1jhf6i5q68wm5pr1ff3d";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix b/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
index 391ed54dfcb4..c3395a851487 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "19.1.0";
+  version = "19.27.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "1ccsimfvms5q4prjyk6sg5hsc3hkcjjfq3gl7jjm8dgd2173zzyc";
+    sha256 = "10pzprr43pklf4yl14m9q921ynalsil1dsfbl6lx8r1jmyjgl3w7";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix b/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix
index 6dec5b3b11f1..d37f8d17336e 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
index 487558a23c19..d73e86d2f577 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchFromGitLab, cmake, gfortran, perl
 , openblas, hdf5-cpp, python3, texlive
 , armadillo, openmpi, globalarrays, openssh
-, makeWrapper
+, makeWrapper, fetchpatch
 } :
 
 let
-  version = "18.09";
+  version = "19.11";
   gitLabRev = "v${version}";
 
   python = python3.withPackages (ps : with ps; [ six pyparsing ]);
@@ -18,9 +18,19 @@ in stdenv.mkDerivation {
     owner = "Molcas";
     repo = "OpenMolcas";
     rev = gitLabRev;
-    sha256 = "1di1ygifx7ycfpwh25mv76xlv15wqfdmqzjsg5nani2d5z0arri2";
+    sha256 = "1wwqhkyyi7pw5x1ghnp83ir17zl5jsj7phhqxapybyi3bmg0i00q";
   };
 
+  patches = [ (fetchpatch {
+    name = "Fix-MPI-INT-size"; # upstream patch, fixes a Fortran compiler error
+    url = "https://gitlab.com/Molcas/OpenMolcas/commit/860e3350523f05ab18e49a428febac8a4297b6e4.patch";
+    sha256 = "0h96h5ikbi5l6ky41nkxmxfhjiykkiifq7vc2s3fdy1r1siv09sb";
+  }) (fetchpatch {
+    name = "fix-cisandbox"; # upstream patch, fixes a Fortran compiler error
+    url = "https://gitlab.com/Molcas/OpenMolcas/commit/d871590c8ce4689cd94cdbbc618954c65589393d.patch";
+    sha256 = "0dgz1w2rkglnis76spai3m51qa72j4bz6ppnk5zmzrr6ql7gwpgg";
+  })];
+
   nativeBuildInputs = [ perl cmake texlive.combined.scheme-minimal makeWrapper ];
   buildInputs = [
     gfortran
diff --git a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
index 1fc387fcc66d..b1bd01fb2f7f 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
@@ -47,5 +47,6 @@ python3Packages.buildPythonApplication {
     description = description;
     homepage = https://www.pymol.org/;
     license = licenses.psfl;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
index 2b28f2c06db5..db4c1e42fea0 100644
--- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem
+{ stdenv, mkDerivation, fetchurl, makeDesktopItem
 , libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb
  , libGL, glib, nss, nspr, expat, alsaLib
 , qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine
@@ -11,13 +11,13 @@ let
       qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine
     ];
   in
-  stdenv.mkDerivation rec {
+  mkDerivation rec {
     pname = "eagle";
-    version = "9.4.2";
+    version = "9.5.1";
 
     src = fetchurl {
       url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
-      sha256 = "0lrwrvqcb91mcggmicvwjrngccsdy0f06l7a8nfgp9ckn4d9vmg2";
+      sha256 = "07lvjn0mxqkv5kx41bzakifpb5bjhljx0ssvk33ipzb0nvl6nx63";
     };
 
     desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
index 8dffe580cc65..75d69d3e499e 100644
--- a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,18 +1,23 @@
-{stdenv, fetchurl, gtk2, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
+{ stdenv, fetchurl, glib, gtk3, gperf, pkgconfig, bzip2, tcl, tk, wrapGAppsHook, judy, xz }:
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.101";
+  version = "3.3.103";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
-    sha256 = "1j6capxwgi8aj3sgqg1r7161icni9y8y93g1rl3bzd3s40jcyhsz";
+    url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
+    sha256 = "0djqfnxy772a9p44wnm5ansbih7jg76xv1hvcpkv3gblhkzg49ay";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 gperf bzip2 tcl tk judy xz ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ glib gtk3 gperf bzip2 tcl tk judy xz ];
 
-  configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--enable-judy" ];
+  configureFlags = [
+    "--with-tcl=${tcl}/lib"
+    "--with-tk=${tk}/lib"
+    "--enable-judy"
+    "--enable-gtk3"
+  ];
 
   meta = {
     description = "VCD/Waveform viewer for Unix and Win32";
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
new file mode 100644
index 000000000000..6bc665962297
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
@@ -0,0 +1,130 @@
+{ lib, stdenv, fetchFromGitLab, cmake, libGLU, libGL, zlib, wxGTK
+, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
+, doxygen, pcre, libpthreadstubs, libXdmcp, fetchpatch, lndir, callPackages
+
+, pname ? "kicad"
+, stable ? true
+, baseName ? "kicad"
+, versions ? { }
+, oceSupport ? false, opencascade
+, withOCCT ? true, opencascade-occt
+, ngspiceSupport ? true, libngspice
+, scriptingSupport ? true, swig, python, pythonPackages, wxPython
+, debug ? false, valgrind
+, withI18n ? true
+}:
+
+assert ngspiceSupport -> libngspice != null;
+
+with lib;
+let
+
+  versionConfig = versions.${baseName};
+  baseVersion = "${versions.${baseName}.kicadVersion.version}";
+
+  # oce on aarch64 fails a test
+  withOCE = oceSupport && !stdenv.isAarch64;
+  withOCC = (withOCCT && !withOCE) || (oceSupport && stdenv.isAarch64);
+
+  kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion;
+
+in
+stdenv.mkDerivation rec {
+
+  inherit pname;
+  version = "base-${baseVersion}";
+
+  src = fetchFromGitLab (
+    {
+      group = "kicad";
+      owner = "code";
+      repo = "kicad";
+      rev = baseVersion;
+    } // versionConfig.kicadVersion.src
+  );
+
+  # quick fix for #72248
+  # should be removed if a a more permanent fix is published
+  patches = [
+    (
+      fetchpatch {
+        url = "https://github.com/johnbeard/kicad/commit/dfb1318a3989e3d6f9f2ac33c924ca5030ea273b.patch";
+        sha256 = "00ifd3fas8lid8svzh1w67xc8kyx89qidp7gm633r014j3kjkgcd";
+      }
+    )
+  ];
+
+  # tagged releases don't have "unknown"
+  # kicad nightlies use git describe --dirty
+  # nix removes .git, so its approximated here
+  postPatch = ''
+    substituteInPlace CMakeModules/KiCadVersion.cmake \
+      --replace "unknown" ${builtins.substring 0 10 src.rev}
+  '';
+
+  makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
+
+  cmakeFlags =
+    optionals (scriptingSupport) [
+      "-DKICAD_SCRIPTING=ON"
+      "-DKICAD_SCRIPTING_MODULES=ON"
+      "-DKICAD_SCRIPTING_PYTHON3=ON"
+      "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
+    ]
+    ++ optional (!scriptingSupport)
+      "-DKICAD_SCRIPTING=OFF"
+    ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON"
+    ++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
+    ++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
+    ++ optionals (withOCE) [
+      "-DKICAD_USE_OCE=ON"
+      "-DOCE_DIR=${opencascade}"
+    ]
+    ++ optionals (withOCC) [
+      "-DKICAD_USE_OCC=ON"
+      "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
+    ]
+    ++ optionals (debug) [
+      "-DCMAKE_BUILD_TYPE=Debug"
+      "-DKICAD_STDLIB_DEBUG=ON"
+      "-DKICAD_USE_VALGRIND=ON"
+    ]
+  ;
+
+  nativeBuildInputs = [ cmake doxygen pkgconfig lndir ];
+
+  buildInputs = [
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp gettext
+    glew glm libpthreadstubs cairo curl openssl boost
+  ]
+  ++ optionals (scriptingSupport) [ swig python wxPython ]
+  ++ optional (ngspiceSupport) libngspice
+  ++ optional (withOCE) opencascade
+  ++ optional (withOCC) opencascade-occt
+  ++ optional (debug) valgrind
+  ;
+
+  # debug builds fail all but the python test
+  # 5.1.x fails the eeschema test
+  doInstallCheck = !debug && !stable;
+  installCheckTarget = "test";
+
+  dontStrip = debug;
+
+  postInstall = optional (withI18n) ''
+    mkdir -p $out/share
+    lndir ${kicad-libraries.i18n}/share $out/share
+  '';
+
+  meta = {
+    description = "Just the built source without the libraries";
+    longDescription = ''
+      Just the build products, optionally with the i18n linked in
+      the libraries are passed via an env var in the wrapper, default.nix
+    '';
+    homepage = "https://www.kicad-pcb.org/";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ evils kiwi berce ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
index f31dd0daa5c3..47222fe4a966 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,120 +1,175 @@
-{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib
-, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
-, doxygen, pcre, libpthreadstubs, libXdmcp
-, wrapGAppsHook
-, oceSupport ? true, opencascade
+{ lib, stdenv, gnome3, pkgs, wxGTK30, wxGTK31
+, gsettings-desktop-schemas, hicolor-icon-theme
+, callPackage, callPackages
+, librsvg, cups
+
+, pname ? "kicad"
+, oceSupport ? false, opencascade
+, withOCCT ? true, opencascade-occt
 , ngspiceSupport ? true, libngspice
-, swig, python, pythonPackages
-, lndir
+, scriptingSupport ? true, swig, python3, python3Packages
+, debug ? false, valgrind
+, with3d ? true
+, withI18n ? true
 }:
 
 assert ngspiceSupport -> libngspice != null;
 
 with lib;
 let
-  mkLib = version: name: sha256: attrs: stdenv.mkDerivation ({
-    name = "kicad-${name}-${version}";
-    src = fetchFromGitHub {
-      owner = "KiCad";
-      repo = "kicad-${name}";
-      rev = version;
-      inherit sha256 name;
-    };
-    nativeBuildInputs = [
-      cmake
-    ];
-  } // attrs);
-
-in stdenv.mkDerivation rec {
-  pname = "kicad";
-  series = "5.0";
-  version = "5.1.2";
-
-  src = fetchurl {
-    url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
-    sha256 = "12kp82ms2dwqkhilmh3mbhg5rsj5ykk99pnkhp4sx89nni86qdw4";
-  };
 
-  postPatch = ''
-    substituteInPlace CMakeModules/KiCadVersion.cmake \
-      --replace no-vcs-found ${version}
-  '';
-
-  cmakeFlags = [
-    "-DKICAD_SCRIPTING=ON"
-    "-DKICAD_SCRIPTING_MODULES=ON"
-    "-DKICAD_SCRIPTING_WXPYTHON=ON"
-    # nix installs wxPython headers in wxPython package, not in wxwidget
-    # as assumed. We explicitely set the header location.
-    "-DCMAKE_CXX_FLAGS=-I${pythonPackages.wxPython}/include/wx-3.0"
-    "-DwxPYTHON_INCLUDE_DIRS=${pythonPackages.wxPython}/include/wx-3.0"
-  ] ++ optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade}" ]
-    ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON";
-
-  nativeBuildInputs = [
-    cmake
-    doxygen
-    pkgconfig
-    wrapGAppsHook
-    pythonPackages.wrapPython
-    lndir
-  ];
-  pythonPath = [ pythonPackages.wxPython ];
-  propagatedBuildInputs = [ pythonPackages.wxPython ];
-
-  buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
-    cairo curl openssl boost
-    swig (python.withPackages (ps: with ps; [ wxPython ]))
-  ] ++ optional (oceSupport) opencascade
-    ++ optional (ngspiceSupport) libngspice;
-
-  # this breaks other applications in kicad
-  dontWrapGApps = true;
-
-  passthru = {
-    i18n = mkLib version "i18n" "08a8lpz2j7bhwn155s0ii538qlynnnvq6fmdw1dxjfgmfy7y3r66" {
-      buildInputs = [
-        gettext
-      ];
-      meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
-    };
-    symbols = mkLib version "symbols" "0l5r53wcv0518x2kl0fh1zi0d50cckc7z1739fp9z3k5a4ddk824" {
-      meta.license = licenses.cc-by-sa-40;
-    };
-    footprints = mkLib version "footprints" "0q7y7m10pav6917ri37pzjvyh71c8lf4lh9ch258pdpl3w481zk6" {
-      meta.license = licenses.cc-by-sa-40;
-    };
-    templates = mkLib version "templates" "1nva4ckq0l2lrah0l05355cawlwd7qfxcagcv32m8hcrn781455q" {
-      meta.license = licenses.cc-by-sa-40;
+  stable = pname != "kicad-unstable";
+  baseName = if (stable) then "kicad" else "kicad-unstable";
+
+  versions = {
+    "kicad" = {
+      kicadVersion = {
+        version = "5.1.5";
+        src.sha256 = "15h3rwisjss3fdc9bam9n2wq94slhacc3fbg14bnzf4n5agsnv5b";
+      };
+      libVersion = {
+        version = "5.1.5";
+        libSources = {
+          i18n.sha256 = "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3";
+          symbols.sha256 = "048b07ffsaav1ssrchw2p870lvb4rsyb5vnniy670k7q9p16qq6h";
+          templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g";
+          footprints.sha256 = "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j";
+          packages3d.sha256 = "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz";
+        };
+      };
     };
-    packages3d = mkLib version "packages3d" "0xla9k1rnrs00fink90y9qz766iks5lyqwnf1h2i508djqhqm5zi" {
-      hydraPlatforms = []; # this is a ~1 GiB download, occupies ~5 GiB in store
-      meta.license = licenses.cc-by-sa-40;
+    "kicad-unstable" = {
+      kicadVersion = {
+        version = "2019-12-31";
+        src = {
+          rev = "eaaa4eb63acb289047dfbb6cc275579dea58f12b";
+          sha256 = "1v2hf2slphjdh14y56pmzlpi6mqidrd8198if1fi0cch72v37zch";
+        };
+      };
+      libVersion = {
+        version = "unstable";
+        libSources = {
+          i18n.rev = "e7439fd76f27cfc26e269c4e6c4d56245345c28b";
+          i18n.sha256 = "1nqm1kx5b4f7s0f9q8bg4rdhqnp0128yp6bgnrkia1kwmfnf5gmy";
+          symbols.rev = "1bc5ff11c76bcbfda227e534b0acf737edddde8f";
+          symbols.sha256 = "05kv93790wi4dpbn2488p587b83yz1zw9h62lkv41h7vn2r1mmb7";
+          templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c";
+          templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g";
+          footprints.rev = "454126c125edd3fa8633f301421a7d9c4de61b77";
+          footprints.sha256 = "00nli4kx2i68bk852rivbirzcgpsdlpdk34g1q892952jsbh7fy6";
+          packages3d.rev = "c2b92a411adc93ddeeed74b36b542e1057f81a2a";
+          packages3d.sha256 = "05znc6y2lc31iafspg308cxdda94zg6c7mwslmys76npih1pb8qc";
+        };
+      };
     };
   };
+  versionConfig = versions.${baseName};
+
+  wxGTK = if (stable)
+    # wxGTK3x may default to withGtk2 = false, see #73145
+    then wxGTK30.override { withGtk2 = false; }
+    # wxGTK31 currently introduces an issue with opening the python interpreter in pcbnew
+    # but brings high DPI support?
+    else wxGTK31.override { withGtk2 = false; };
+
+  pythonPackages = python3Packages;
+  python = python3;
+  wxPython = python3Packages.wxPython_4_0;
+
+  kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion;
+  kicad-base = callPackage ./base.nix {
+    pname = baseName;
+    inherit versions stable baseName;
+    inherit wxGTK python wxPython;
+    inherit debug withI18n withOCCT oceSupport ngspiceSupport scriptingSupport;
+  };
+
+in
+stdenv.mkDerivation rec {
+
+  inherit pname;
+  version = versions.${baseName}.kicadVersion.version;
+
+  src = kicad-base;
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+  dontFixup = true;
+
+  pythonPath = optionals (scriptingSupport)
+    [ wxPython pythonPackages.six ];
+
+  nativeBuildInputs = optionals (scriptingSupport)
+    [ pythonPackages.wrapPython ];
 
-  modules = with passthru; [ i18n symbols footprints templates ];
+  # wrapGAppsHook added the equivalent to ${kicad-base}/share
+  # though i noticed no difference without it
+  makeWrapperArgs = [
+    "--prefix XDG_DATA_DIRS : ${kicad-base}/share"
+    "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
+    "--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share"
+    "--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}"
+    "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
+    # wrapGAppsHook did these two as well, no idea if it matters...
+    "--prefix XDG_DATA_DIRS : ${cups}/share"
+    "--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules"
 
-  postInstall = ''
-    mkdir -p $out/share
-    for module in $modules; do
-      lndir $module/share $out/share
-    done
-  '';
+    "--set KISYSMOD ${kicad-libraries.footprints}/share/kicad/modules"
+    "--set KICAD_SYMBOL_DIR ${kicad-libraries.symbols}/share/kicad/library"
+    "--set KICAD_TEMPLATE_DIR ${kicad-libraries.templates}/share/kicad/template"
+    "--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.symbols}/share/kicad/template"
+    "--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.footprints}/share/kicad/template"
+  ]
+  ++ optionals (with3d) [ "--set KISYS3DMOD ${kicad-libraries.packages3d}/share/kicad/modules/packages3d" ]
+  ++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
 
-  preFixup = ''
-    buildPythonPath "$out $pythonPath"
-    gappsWrapperArgs+=(--set PYTHONPATH "$program_PYTHONPATH")
+  # infinisil's workaround for #39493
+  ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]
+  ;
 
-    wrapProgram "$out/bin/kicad" "''${gappsWrapperArgs[@]}"
-  '';
+  # dunno why i have to add $makeWrapperArgs manually...
+  # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
+  # not sure if anything has to be done with the other stuff in kicad-base/bin
+  # dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest
+  installPhase =
+    optionalString (scriptingSupport) '' buildPythonPath "${kicad-base} $pythonPath"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/kicad $out/bin/kicad $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    '' +
+    '' makeWrapper ${kicad-base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs ''
+    + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
+    ''
+  ;
 
   meta = {
-    description = "Free Software EDA Suite";
-    homepage = http://www.kicad-pcb.org/;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ berce ];
+    description = if (stable)
+      then "Open Source Electronics Design Automation Suite"
+      else "Open Source EDA Suite, Development Build";
+    homepage = "https://www.kicad-pcb.org/";
+    longDescription = ''
+      KiCad is an open source software suite for Electronic Design Automation.
+      The Programs handle Schematic Capture, and PCB Layout with Gerber output.
+    '';
+    license = licenses.agpl3;
+    # berce seems inactive...
+    maintainers = with maintainers; [ evils kiwi berce ];
+    # kicad's cross-platform, not sure what to fill in here
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/libraries.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/libraries.nix
new file mode 100644
index 000000000000..53e190d2749b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/libraries.nix
@@ -0,0 +1,64 @@
+{ lib, stdenv, cmake, gettext
+, fetchFromGitHub, fetchFromGitLab
+, version, libSources
+}:
+
+# callPackage libraries {
+#   version = "unstable";
+#   libs.symbols = {
+#     rev = "09f9..";
+#     sha256 = "...";
+#   };
+# };
+with lib;
+let
+  mkLib = name: attrs:
+    stdenv.mkDerivation (
+      {
+        pname = "kicad-${name}";
+        version = "${version}";
+        src = fetchFromGitHub (
+          {
+            owner = "KiCad";
+            repo = "kicad-${name}";
+            rev = version;
+            inherit name;
+          } // (libSources.${name} or { })
+        );
+        nativeBuildInputs = [ cmake ];
+        meta.license = licenses.cc-by-sa-40;
+      } // attrs
+    );
+in
+{
+  symbols = mkLib "symbols" { };
+  templates = mkLib "templates" { };
+  footprints = mkLib "footprints" { };
+  packages3d = mkLib "packages3d" {
+    hydraPlatforms = []; # this is a ~1 GiB download, occupies ~5 GiB in store
+  };
+
+  # i18n is a special case, not actually a library
+  # more a part of kicad proper, but also optional and separate
+  # since their move to gitlab they're keeping it in a separate path
+  # kicad has no way to find i18n except through a path relative to its install path
+  # therefore this is being linked into ${kicad-base}/share/
+  # and defined here to make use of the rev & sha256's brought here for the libs
+  i18n = let name = "i18n"; in
+    stdenv.mkDerivation {
+      pname = "kicad-${name}";
+      version = "${version}";
+      src = fetchFromGitLab (
+        {
+          group = "kicad";
+          owner = "code";
+          repo = "kicad-${name}";
+          rev = version;
+          inherit name;
+        } // (libSources.${name} or { })
+      );
+      buildInputs = [ gettext ];
+      nativeBuildInputs = [ cmake ];
+      meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
+    };
+}
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix
deleted file mode 100644
index 7475170d6a72..000000000000
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib
-, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
-, doxygen, pcre, libpthreadstubs, libXdmcp
-
-, oceSupport ? true, opencascade
-, ngspiceSupport ? true, libngspice
-, scriptingSupport ? true, swig, python, wxPython
-}:
-
-assert ngspiceSupport -> libngspice != null;
-
-with lib;
-stdenv.mkDerivation rec {
-  pname = "kicad-unstable";
-  version = "2018-06-12";
-
-  src = fetchFromGitHub {
-    owner = "KICad";
-    repo = "kicad-source-mirror";
-    rev = "bc7bd107d980da147ad515aeae0469ddd55c2368";
-    sha256 = "11nsx52pd3jr2wbzr11glmcs1a9r7z1mqkqx6yvlm0awbgd8qlv8";
-  };
-
-  postPatch = ''
-    substituteInPlace CMakeModules/KiCadVersion.cmake \
-      --replace no-vcs-found ${version}
-  '';
-
-  cmakeFlags =
-    optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade}" ]
-    ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON"
-    ++ optionals (scriptingSupport) [
-      "-DKICAD_SCRIPTING=ON"
-      "-DKICAD_SCRIPTING_MODULES=ON"
-      "-DKICAD_SCRIPTING_WXPYTHON=ON"
-      # nix installs wxPython headers in wxPython package, not in wxwidget
-      # as assumed. We explicitely set the header location.
-      "-DCMAKE_CXX_FLAGS=-I${wxPython}/include/wx-3.0"
-    ];
-
-  nativeBuildInputs = [ cmake doxygen pkgconfig ];
-  buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
-    cairo curl openssl boost
-  ] ++ optional (oceSupport) opencascade
-    ++ optional (ngspiceSupport) libngspice
-    ++ optionals (scriptingSupport) [ swig python wxPython ];
-
-  meta = {
-    description = "Free Software EDA Suite, Nightly Development Build";
-    homepage = http://www.kicad-pcb.org/;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ berce ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
index fb931ec91622..da10ca34b879 100644
--- a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchFromGitHub, qtbase, qttools, qmake }:
+{ stdenv, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
 
 stdenv.mkDerivation {
   pname = "librepcb";
-  version = "0.1.0";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "LibrePCB";
     repo = "LibrePCB";
     fetchSubmodules = true;
-    rev = "d7458d3b3e126499902e1a66a0ef889f516a7c97";
-    sha256 = "19wh0398fzzpd65nh4mmc4jllkrgcrwxvxdby0gb5wh1sqyaqac4";
+    rev = "acdd94d9d2310f79215125b999153e9da88a9376";
+    sha256 = "1bbl01rp75sl6k1cmch7x90v00lck578xvqmb856s9fx75bdgnv5";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ qmake qttools ];
+  nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
 
   buildInputs = [ qtbase ];
 
@@ -25,6 +25,10 @@ stdenv.mkDerivation {
       cp share/librepcb/fontobene/newstroke.bene $out/share/librepcb/fontobene/
     '';
 
+  preFixup = ''
+    wrapQtApp $out/bin/librepcb
+  '';
+
   meta = with stdenv.lib; {
     description = "A free EDA software to develop printed circuit boards";
     homepage = https://librepcb.org/;
diff --git a/nixpkgs/pkgs/applications/science/electronics/ngspice/default.nix b/nixpkgs/pkgs/applications/science/electronics/ngspice/default.nix
index 78240a40baca..f044f1d88e7b 100644
--- a/nixpkgs/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/ngspice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ngspice";
-  version = "30";
+  version = "31";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "15v0jdfy2a2zxp8dmy04fdp7w7a4vwvffcwa688r81b86wphxzh8";
+    sha256 = "10n2lnfrpsv4vyrirkphr4jwjjhy7i617g6za78dwirfjq63npw4";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix b/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
index 7514aed9f243..ec47a37140fd 100644
--- a/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
@@ -1,25 +1,59 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex
-, netpbm, imagemagick, dbus, xlibsWrapper, libGLU_combined
-, shared-mime-info, tcl, tk, gnome2, pangox_compat, gd, xorg
+{ stdenv
+, fetchurl
+, pkgconfig
+, gtk2
+, bison
+, intltool
+, flex
+, netpbm
+, imagemagick
+, dbus
+, xlibsWrapper
+, libGLU
+, libGL
+, shared-mime-info
+, tcl
+, tk
+, gnome2
+, gd
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "pcb";
-  version = "20140316";
+  version = "4.2.1";
 
   src = fetchurl {
-    url = "http://ftp.geda-project.org/pcb/pcb-20140316/${pname}-${version}.tar.gz";
-    sha256 = "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42";
+    url = "mirror://sourceforge/pcb/${pname}-${version}.tar.gz";
+    sha256 = "1i9zvcj0vgwp2g2hkmvafdq0k39klj90jsdanqx9xl7gl70345cq";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    pkgconfig
+    bison
+    intltool
+    flex
+    netpbm
+    imagemagick
+  ];
+
   buildInputs = [
-    gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper
-    libGLU_combined tcl shared-mime-info tk
-    gnome2.gtkglext pangox_compat gd xorg.libXmu
+    gtk2
+    dbus
+    xlibsWrapper
+    libGLU
+    libGL
+    tcl
+    shared-mime-info
+    tk
+    gnome2.gtkglext
+    gd
+    xorg.libXmu
   ];
 
-  configureFlags = ["--disable-update-desktop-database"];
+  configureFlags = [
+    "--disable-update-desktop-database"
+  ];
 
   meta = with stdenv.lib; {
     description = "Printed Circuit Board editor";
diff --git a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
index 9a9899192505..c940fd4ac342 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.016";
+  version = "4.024";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "18fqm6pgscy504ql27i150fdsd2j91hw5qsnpymws3pvqj2qz2ij";
+    sha256 = "0nmjazdv36ksjp8ys48c1grlzkd6yx3zhcd9y165d4sjm3m1pffs";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/science/electronics/verilog/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilog/default.nix
index f850a1bf94df..b707db141602 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilog/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilog/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "http://iverilog.icarus.com/";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ winden ];
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/aiger/default.nix b/nixpkgs/pkgs/applications/science/logic/aiger/default.nix
index 10d94e2bb8c7..0f65c9b7eaea 100644
--- a/nixpkgs/pkgs/applications/science/logic/aiger/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/aiger/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage    = http://fmv.jku.at/aiger/;
     license     = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/aspino/default.nix b/nixpkgs/pkgs/applications/science/logic/aspino/default.nix
index d6190942efab..82458d7c5663 100644
--- a/nixpkgs/pkgs/applications/science/logic/aspino/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/aspino/default.nix
@@ -40,10 +40,10 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "SAT/PseudoBoolean/MaxSat/ASP solver using glucose";
-    maintainers = with maintainers; [ gebner ma27 ];
+    maintainers = with maintainers; [ gebner ];
     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/nixpkgs/pkgs/applications/science/logic/avy/default.nix b/nixpkgs/pkgs/applications/science/logic/avy/default.nix
index 9b59828ddab7..b43e0c6fbf1a 100644
--- a/nixpkgs/pkgs/applications/science/logic/avy/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/avy/default.nix
@@ -12,14 +12,14 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ cmake zlib boost.out boost.dev ];
-  NIX_CFLAGS_COMPILE = [ "-Wno-narrowing" ]
+  NIX_CFLAGS_COMPILE = toString ([ "-Wno-narrowing" ]
     # Squelch endless stream of warnings on same few things
     ++ stdenv.lib.optionals stdenv.cc.isClang [
       "-Wno-empty-body"
       "-Wno-tautological-compare"
       "-Wc++11-compat-deprecated-writable-strings"
       "-Wno-deprecated"
-    ];
+    ]);
 
   prePatch = ''
     sed -i -e '1i#include <stdint.h>' abc/src/bdd/dsd/dsd.h
diff --git a/nixpkgs/pkgs/applications/science/logic/boolector/default.nix b/nixpkgs/pkgs/applications/science/logic/boolector/default.nix
index f1f74bcb5810..4cf0b0f1ea1e 100644
--- a/nixpkgs/pkgs/applications/science/logic/boolector/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/boolector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fetchpatch
 , cmake, lingeling, btor2tools
 }:
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "15i3ni5klss423m57wcy1gx0m5wfrjmglapwg85pm7fb3jj1y7sz";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-7560.patch";
+      url = "https://github.com/Boolector/boolector/commit/8d979d02e0482c7137c9f3a34e6d430dbfd1f5c5.patch";
+      sha256 = "1a1g02mk8b0azzjcigdn5zpshn0dn05fciwi8sd5q38yxvnvpbbi";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ lingeling btor2tools ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/btor2tools/default.nix b/nixpkgs/pkgs/applications/science/logic/btor2tools/default.nix
index 2d00e9f30464..2aedfb1d07ec 100644
--- a/nixpkgs/pkgs/applications/science/logic/btor2tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/btor2tools/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" "lib" ];
 
   meta = with stdenv.lib; {
-    description = "Fast SAT solver";
-    homepage    = http://fmv.jku.at/lingeling/;
+    description = "A generic parser and tool package for the BTOR2 format";
+    homepage    = "https://github.com/Boolector/btor2tools";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/nixpkgs/pkgs/applications/science/logic/coq/default.nix b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
index 99e9d856a717..ac001540e097 100644
--- a/nixpkgs/pkgs/applications/science/logic/coq/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
@@ -9,6 +9,7 @@
 , ocamlPackages, ncurses
 , buildIde ? true
 , glib, gnome3, wrapGAppsHook
+, darwin
 , csdp ? null
 , version
 }:
@@ -28,7 +29,10 @@ let
    "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
    "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
    "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
-   "8.10+beta3" = "08c7q97jyblsf7dhk8jf1fx1cp9qr3dr5s42wigx10wh7i6j7pca";
+   "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
+   "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
+   "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
+   "8.11+beta1" = "06dlxj6v7gd51dh6ir121z7lgqdagkq717xxxrc8bdqhz7d2z7qj";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
@@ -101,10 +105,13 @@ self = stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses ] ++ (with ocamlPackages; [ ocaml findlib camlp5 num ])
+  buildInputs = [ ncurses ocamlPackages.ocaml ocamlPackages.findlib ]
+  ++ stdenv.lib.optional (!versionAtLeast "8.10") ocamlPackages.camlp5
+  ++ [ ocamlPackages.num ]
   ++ stdenv.lib.optionals buildIde
     (if versionAtLeast "8.10"
      then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ]
+     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa
      else [ ocamlPackages.lablgtk ]);
 
   postPatch = ''
@@ -119,7 +126,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
     }
 
@@ -136,7 +143,7 @@ self = stdenv.mkDerivation {
 
   prefixKey = "-prefix ";
 
-  buildFlags = "revision coq coqide bin/votour";
+  buildFlags = [ "revision" "coq" "coqide" "bin/votour" ];
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/applications/science/logic/elan/default.nix b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
index f9a911d82108..e9ef16b2392b 100644
--- a/nixpkgs/pkgs/applications/science/logic/elan/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
@@ -4,7 +4,7 @@ rustPlatform.buildRustPackage rec {
   pname = "elan";
   version = "0.7.5";
 
-  cargoSha256 = "0lc320m3vw76d6pa5wp6c9jblac6lmyf9qqnxmsnkn4ixdhnghsd";
+  cargoSha256 = "0q0xlvyyf88dbz43r7kk9v8rrp6hj0nl5i2i9mg6ibk2gphgdv6v";
 
   src = fetchFromGitHub {
     owner = "kha";
diff --git a/nixpkgs/pkgs/applications/science/logic/eprover/default.nix b/nixpkgs/pkgs/applications/science/logic/eprover/default.nix
index 1f6fced22335..1b021f716078 100644
--- a/nixpkgs/pkgs/applications/science/logic/eprover/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/eprover/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eprover";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchurl {
     url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz";
-    sha256 = "15pbmi195812a2pwrvfa4gwad0cy7117d5kaw98651g6fzgd4rjk";
+    sha256 = "1xn5yypy6w36amsb3kvj1srlbv6v5dl51k64cd264asz2n469dxw";
   };
 
   buildInputs = [ which ];
diff --git a/nixpkgs/pkgs/applications/science/logic/hol_light/default.nix b/nixpkgs/pkgs/applications/science/logic/hol_light/default.nix
index 40b0115dc1b7..d799b52d115e 100644
--- a/nixpkgs/pkgs/applications/science/logic/hol_light/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/hol_light/default.nix
@@ -21,13 +21,13 @@ let
 in
 
 stdenv.mkDerivation {
-  name     = "hol_light-2019-03-27";
+  name     = "hol_light-2019-10-06";
 
   src = fetchFromGitHub {
     owner  = "jrh13";
     repo   = "hol-light";
-    rev    = "a2b487b38d9da47350f1b4316e34a8fa4cf7a40a";
-    sha256 = "1qlidl15qi8w4si8wxcmj8yg2srsb0q4k1ad9yd91sgx9h9aq8fk";
+    rev    = "5c91b2ded8a66db571824ecfc18b4536c103b23e";
+    sha256 = "0sxsk8z08ba0q5aixdyczcx5l29lb51ba4ip3d2fry7y604kjsx6";
   };
 
   buildInputs = [ ocaml camlp5 ];
@@ -45,6 +45,6 @@ stdenv.mkDerivation {
     homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
     license     = licenses.bsd2;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice z77z vbgl ];
+    maintainers = with maintainers; [ thoughtpolice maggesi vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/jonprl/default.nix b/nixpkgs/pkgs/applications/science/logic/jonprl/default.nix
index 61ca78d85ed1..e503836098f1 100644
--- a/nixpkgs/pkgs/applications/science/logic/jonprl/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/jonprl/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/lean2/default.nix b/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
index 8cc50bb5e295..612c9d6f92a2 100644
--- a/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice gebner ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/lingeling/default.nix b/nixpkgs/pkgs/applications/science/logic/lingeling/default.nix
index 287dbd36eabf..94be89d4736f 100644
--- a/nixpkgs/pkgs/applications/science/logic/lingeling/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lingeling/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     description = "Fast SAT solver";
     homepage    = http://fmv.jku.at/lingeling/;
     license     = licenses.mit;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/mcrl2/default.nix b/nixpkgs/pkgs/applications/science/logic/mcrl2/default.nix
index 93212c5b8546..a479e31e3395 100644
--- a/nixpkgs/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/logic/minisat/clang.diff b/nixpkgs/pkgs/applications/science/logic/minisat/clang.diff
deleted file mode 100644
index 5b5072c71f3f..000000000000
--- a/nixpkgs/pkgs/applications/science/logic/minisat/clang.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -aur minisat/core/SolverTypes.h minisat.clang/core/SolverTypes.h
---- minisat/core/SolverTypes.h	2010-07-10 18:07:36.000000000 +0200
-+++ minisat.clang/core/SolverTypes.h	2016-05-13 12:14:50.759671959 +0200
-@@ -47,7 +47,7 @@
-     int     x;
- 
-     // Use this as a constructor:
--    friend Lit mkLit(Var var, bool sign = false);
-+    //friend Lit mkLit(Var var, bool sign = false);
- 
-     bool operator == (Lit p) const { return x == p.x; }
-     bool operator != (Lit p) const { return x != p.x; }
-@@ -55,7 +55,7 @@
- };
- 
- 
--inline  Lit  mkLit     (Var var, bool sign) { Lit p; p.x = var + var + (int)sign; return p; }
-+inline  Lit  mkLit     (Var var, bool sign = false) { Lit p; p.x = var + var + (int)sign; return p; }
- inline  Lit  operator ~(Lit p)              { Lit q; q.x = p.x ^ 1; return q; }
- inline  Lit  operator ^(Lit p, bool b)      { Lit q; q.x = p.x ^ (unsigned int)b; return q; }
- inline  bool sign      (Lit p)              { return p.x & 1; }
-diff -aur minisat/utils/Options.h minisat.clang/utils/Options.h
---- minisat/utils/Options.h	2010-07-10 18:07:36.000000000 +0200
-+++ minisat.clang/utils/Options.h	2016-05-13 12:14:50.759671959 +0200
-@@ -282,15 +282,15 @@
-         if (range.begin == INT64_MIN)
-             fprintf(stderr, "imin");
-         else
--            fprintf(stderr, "%4"PRIi64, range.begin);
-+            fprintf(stderr, "%4" PRIi64, range.begin);
- 
-         fprintf(stderr, " .. ");
-         if (range.end == INT64_MAX)
-             fprintf(stderr, "imax");
-         else
--            fprintf(stderr, "%4"PRIi64, range.end);
-+            fprintf(stderr, "%4" PRIi64, range.end);
- 
--        fprintf(stderr, "] (default: %"PRIi64")\n", value);
-+        fprintf(stderr, "] (default: %" PRIi64 ")\n", value);
-         if (verbose){
-             fprintf(stderr, "\n        %s\n", description);
-             fprintf(stderr, "\n");
-Only in minisat.clang/utils: Options.o
-Only in minisat.clang/utils: System.o
diff --git a/nixpkgs/pkgs/applications/science/logic/minisat/darwin.patch b/nixpkgs/pkgs/applications/science/logic/minisat/darwin.patch
deleted file mode 100644
index f2b618d6bb3a..000000000000
--- a/nixpkgs/pkgs/applications/science/logic/minisat/darwin.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/fasterthanlime/homebrew-mingw/blob/master/Library/Formula/minisat.rb
-
-diff --git a/utils/System.cc b/utils/System.cc
-index a7cf53f..feeaf3c 100644
---- a/utils/System.cc
-+++ b/utils/System.cc
-@@ -78,16 +78,17 @@ double Minisat::memUsed(void) {
-     struct rusage ru;
-     getrusage(RUSAGE_SELF, &ru);
-     return (double)ru.ru_maxrss / 1024; }
--double MiniSat::memUsedPeak(void) { return memUsed(); }
-+double Minisat::memUsedPeak(void) { return memUsed(); }
- 
- 
- #elif defined(__APPLE__)
- #include <malloc/malloc.h>
- 
--double Minisat::memUsed(void) {
-+double Minisat::memUsed() {
-     malloc_statistics_t t;
-     malloc_zone_statistics(NULL, &t);
-     return (double)t.max_size_in_use / (1024*1024); }
-+double Minisat::memUsedPeak() { return memUsed(); }
- 
- #else
- double Minisat::memUsed() { 
diff --git a/nixpkgs/pkgs/applications/science/logic/minisat/default.nix b/nixpkgs/pkgs/applications/science/logic/minisat/default.nix
index 34051a1da404..6b642832b83f 100644
--- a/nixpkgs/pkgs/applications/science/logic/minisat/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/minisat/default.nix
@@ -1,27 +1,19 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchFromGitHub, cmake, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "minisat";
-  version = "2.2.0";
+  version = "2.2.1";
 
-  src = fetchurl {
-    url = "http://minisat.se/downloads/${pname}-${version}.tar.gz";
-    sha256 = "023qdnsb6i18yrrawlhckm47q8x0sl7chpvvw3gssfyw3j2pv5cj";
+  src = fetchFromGitHub {
+    owner = "stp";
+    repo = pname;
+    rev = "releases/${version}";
+    sha256 = "14vcbjnlia00lpyv2fhbmw3wbc9bk9h7bln9zpyc3nwiz5cbjz4a";
   };
 
-  patches =
-    [ ./darwin.patch ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ ./clang.diff ];
-
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
-  preBuild = "cd simp";
-  makeFlags = [ "r" "MROOT=.." ];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp minisat_release $out/bin/minisat
-  '';
-
   meta = with stdenv.lib; {
     description = "Compact and readable SAT solver";
     maintainers = with maintainers; [ gebner raskin ];
diff --git a/nixpkgs/pkgs/applications/science/logic/minisat/unstable.nix b/nixpkgs/pkgs/applications/science/logic/minisat/unstable.nix
deleted file mode 100644
index ef46c694acb7..000000000000
--- a/nixpkgs/pkgs/applications/science/logic/minisat/unstable.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchFromGitHub, zlib, cmake }:
-
-stdenv.mkDerivation {
-  name = "minisat-unstable-2013-09-25";
-
-  src = fetchFromGitHub {
-    owner = "niklasso";
-    repo = "minisat";
-    rev = "37dc6c67e2af26379d88ce349eb9c4c6160e8543";
-    sha256 = "091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq";
-  };
-
-  buildInputs = [ zlib ];
-  nativeBuildInputs =  [ cmake ];
-
-  meta = with stdenv.lib; {
-    description = "Compact and readable SAT solver";
-    maintainers = with maintainers; [ mic92 ];
-    platforms = platforms.unix;
-    license = licenses.mit;
-    homepage = http://minisat.se/;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/science/logic/monosat/default.nix b/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
index 30d47687a3eb..c0512b744884 100644
--- a/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 let
   boolToCmake = x: if x then "ON" else "OFF";
 
-  rev    = "2deeadeff214e975c9f7508bc8a24fa05a1a0c32";
-  sha256 = "09yhym2lxmn3xbhw5fcxawnmvms5jd9fw9m7x2wzil7yvy4vwdjn";
+  rev    = "1.8.0";
+  sha256 = "0q3a8x3iih25xkp2bm842sm2hxlb8hxlls4qmvj7vzwrh4lvsl7b";
 
   pname   = "monosat";
-  version = substring 0 7 sha256;
+  version = rev;
 
   src = fetchFromGitHub {
     owner = "sambayless";
@@ -25,7 +25,11 @@ let
     inherit src;
     buildInputs = [ cmake zlib gmp jdk8 ];
 
-    cmakeFlags = [ "-DJAVA=${boolToCmake includeJava}" "-DGPL=${boolToCmake includeGplCode}" ];
+    cmakeFlags = [
+      "-DBUILD_STATIC=OFF"
+      "-DJAVA=${boolToCmake includeJava}"
+      "-DGPL=${boolToCmake includeGplCode}"
+    ];
 
     postInstall = optionalString includeJava ''
       mkdir -p $out/share/java
@@ -39,6 +43,7 @@ let
       platforms   = platforms.unix;
       license     = if includeGplCode then licenses.gpl2 else licenses.mit;
       homepage    = https://github.com/sambayless/monosat;
+      maintainers = [ maintainers.acairncross ];
     };
   };
 
@@ -50,18 +55,15 @@ let
 
     propagatedBuildInputs = [ core cython ];
 
-    # This tells setup.py to use cython
+    # This tells setup.py to use cython, which should produce faster bindings
     MONOSAT_CYTHON = true;
 
     # The relative paths here don't make sense for our Nix build
-    # Also, let's use cython since it should produce faster bindings
     # TODO: do we want to just reference the core monosat library rather than copying the
     # shared lib? The current setup.py copies the .dylib/.so...
     postPatch = ''
-
       substituteInPlace setup.py \
-        --replace '../../../../libmonosat.dylib' '${core}/lib/libmonosat.dylib' \
-        --replace '../../../../libmonosat.so'  '${core}/lib/libmonosat.so'
+        --replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"'
     '';
   };
-in core
\ No newline at end of file
+in core
diff --git a/nixpkgs/pkgs/applications/science/logic/ott/default.nix b/nixpkgs/pkgs/applications/science/logic/ott/default.nix
index 40c66dd699d8..854a62a5538d 100644
--- a/nixpkgs/pkgs/applications/science/logic/ott/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/ott/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ott";
-  version = "0.28";
+  version = "0.29";
 
   src = fetchFromGitHub {
     owner = "ott-lang";
     repo = "ott";
     rev = version;
-    sha256 = "0mzbrvqayqpns9zzg4m1scxx24dv9askhn51dawyb9pisvlyvai0";
+    sha256 = "0saznk2mjbhp3j57imy2p2j0938026bw5m5gqbj59vcvk1rwwl22";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix b/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
index 2b368a0e6730..7c1ee8099e2c 100644
--- a/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
@@ -2,15 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "clingo";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchzip {
     url = "https://github.com/potassco/clingo/archive/v${version}.tar.gz";
-    sha256 = "01czx26p8gv81ahrh650x208hjhd8bx1kb688fmk1m4pw4yg5bfv";
+    sha256 = "0gfqlgwg3qx042w6hdc9qpmr50n4vci3p0ddk28f3kqacf6q9q7m";
   };
 
-  buildInputs = [];
-  nativeBuildInputs = [cmake];
+  nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DCLINGO_BUILD_WITH_PYTHON=OFF" ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/prover9/default.nix b/nixpkgs/pkgs/applications/science/logic/prover9/default.nix
index a4538e1070a3..9528a5942a43 100644
--- a/nixpkgs/pkgs/applications/science/logic/prover9/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/prover9/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     done
   '';
 
-  buildFlags = "all";
+  buildFlags = [ "all" ];
 
   checkPhase = "make test1";
 
diff --git a/nixpkgs/pkgs/applications/science/logic/stp/default.nix b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
index 0ea659d1927f..dd00eda1b571 100644
--- a/nixpkgs/pkgs/applications/science/logic/stp/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }:
+{ stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl
+, python3, python3Packages, zlib, minisat, cryptominisat }:
 
 stdenv.mkDerivation rec {
   pname = "stp";
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87";
   };
 
-  buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ];
+  buildInputs = [ boost zlib minisat cryptominisat python3 ];
   nativeBuildInputs = [ cmake bison flex perl ];
   preConfigure = ''
     python_install_dir=$out/${python3Packages.python.sitePackages}
diff --git a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix b/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
index ed66c77dcabf..ddefcf1b3aa2 100644
--- a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchFromGitHub, yosys, bash, python3 }:
+{ stdenv, fetchFromGitHub, yosys, bash, python3, yices }:
 
 stdenv.mkDerivation {
   pname = "symbiyosys";
-  version = "2019.08.13";
+  version = "2019.10.11";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "symbiyosys";
-    rev    = "9cb542ac7a310b3dfa626349db53bed6236b670c";
-    sha256 = "0c7nz740738ybk33zzlfl00cq86n31wvra8pqqkpl4ygxnwca1d6";
+    rev    = "23f89011b678daa9da406d4f45f790e45f8f68ca";
+    sha256 = "01596yvfj79iywwczjwlb2l9qnh7bsj7jff66jdk1ybjnxf841f0";
   };
 
   buildInputs = [ python3 yosys ];
 
+  propagatedBuildInputs = [ yices ];
+
   buildPhase = "true";
   installPhase = ''
     mkdir -p $out/bin $out/share/yosys/python3
diff --git a/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix b/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
index 40378f8c04d5..9b87b8c899e5 100644
--- a/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
@@ -104,4 +104,6 @@ mkDerivation (common "tamarin-prover" src // {
           tamarin-prover-term
           tamarin-prover-theory
         ];
+
+  broken = true;
 })
diff --git a/nixpkgs/pkgs/applications/science/logic/why3/default.nix b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
index 6f338f214783..eeb3a6b6d361 100644
--- a/nixpkgs/pkgs/applications/science/logic/why3/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation {
   pname = "why3";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = https://gforge.inria.fr/frs/download.php/file/37903/why3-1.2.0.tar.gz;
-    sha256 = "0xz001jhi71ja8vqrjz27v63bidrzj4qvg1yqarq6p4dmpxhk348";
+    url = https://gforge.inria.fr/frs/download.php/file/38185/why3-1.2.1.tar.gz;
+    sha256 = "014gkwisjp05x3342zxkryb729p02ngx1hcjjsrplpa53jzgz647";
   };
 
   buildInputs = with ocamlPackages; [
diff --git a/nixpkgs/pkgs/applications/science/logic/yices/default.nix b/nixpkgs/pkgs/applications/science/logic/yices/default.nix
index 76ed934fb39e..b8dd528a11c1 100644
--- a/nixpkgs/pkgs/applications/science/logic/yices/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/yices/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   # Includes a fix for the embedded soname being libyices.so.2.5, but
   # only installing the libyices.so.2.5.x file.
   installPhase = let
-    ver_XdotY = builtins.concatStringsSep "." (stdenv.lib.take 2 (stdenv.lib.splitString "." version));
+    ver_XdotY = stdenv.lib.versions.majorMinor version;
   in ''
       make install LDCONFIG=true
       ln -sfr $out/lib/libyices.so.{${version},${ver_XdotY}}
diff --git a/nixpkgs/pkgs/applications/science/logic/z3/default.nix b/nixpkgs/pkgs/applications/science/logic/z3/default.nix
index 14f75fb68b5e..170a56b95b91 100644
--- a/nixpkgs/pkgs/applications/science/logic/z3/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/z3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z3";
-  version = "4.8.5";
+  version = "4.8.7";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = pname;
-    rev    = "Z3-${version}";
-    sha256 = "11sy98clv7ln0a5vqxzvh6wwqbswsjbik2084hav5kfws4xvklfa";
+    rev    = "z3-${version}";
+    sha256 = "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/streamlit/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/streamlit/default.nix
new file mode 100644
index 000000000000..c7bdf0f12a40
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/machine-learning/streamlit/default.nix
@@ -0,0 +1,34 @@
+{   lib, buildPythonApplication, fetchPypi
+  , altair, astor, base58, blinker, boto3, botocore, click, enum-compat
+  , future, pillow, protobuf, requests, toml, tornado, tzlocal, validators, watchdog
+  , jinja2, setuptools
+}:
+
+buildPythonApplication rec {
+  pname = "streamlit";
+  version = "0.50.2";
+  format = "wheel"; # the only distribution available
+
+  src = fetchPypi {
+    inherit pname version format;
+    sha256 = "1wymv7qckafs0p2jdjlxjaf1xrhm3iyd185jkldanbb0na5n3ndz";
+  };
+
+  propagatedBuildInputs = [
+    altair astor base58 blinker boto3 botocore click enum-compat
+    future pillow protobuf requests toml tornado tzlocal validators watchdog
+    jinja2 setuptools
+  ];
+
+  postInstall = ''
+      rm $out/bin/streamlit.cmd # remove windows helper
+  '';
+
+  meta = with lib; {
+    homepage = https://streamlit.io/;
+    description = "The fastest way to build custom ML tools";
+    maintainers = with maintainers; [ yrashk ];
+    license = licenses.asl20;
+  };
+
+}
diff --git a/nixpkgs/pkgs/applications/science/math/R/default.nix b/nixpkgs/pkgs/applications/science/math/R/default.nix
index a791f9a57727..517fc9d7b320 100644
--- a/nixpkgs/pkgs/applications/science/math/R/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/R/default.nix
@@ -4,15 +4,18 @@
 , curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
 , withRecommendedPackages ? true
 , enableStrictBarrier ? false
+# R as of writing does not support outputting both .so and .a files; it outputs:
+#     --enable-R-static-lib conflicts with --enable-R-shlib and will be ignored
+, static ? false
 , javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.6.1";
+  name = "R-3.6.2";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "128kifbq0w25y8aq77w289ddax5i5w2djcfsqgffrb3i7syrxajv";
+    sha256 = "0m69pfi0nxyriyb2yz74xfzaxwfkinnf9kpvf1rz727vvmfa8rdx";
   };
 
   dontUseImakeConfigure = true;
@@ -20,9 +23,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
     pango pcre perl readline texLive xz zlib less texinfo graphviz icu
-    pkgconfig bison imake which openblas curl
-  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ tcl tk ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
+    pkgconfig bison imake which openblas curl tcl tk
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
     ++ stdenv.lib.optional javaSupport jdk;
 
   patches = [
@@ -33,6 +35,8 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
   '';
 
+  dontDisableStatic = static;
+
   preConfigure = ''
     configureFlagsArray=(
       --disable-lto
@@ -47,7 +51,7 @@ stdenv.mkDerivation rec {
       --with-libtiff
       --with-ICU
       ${stdenv.lib.optionalString enableStrictBarrier "--enable-strict-barrier"}
-      --enable-R-shlib
+      ${if static then "--enable-R-static-lib" else "--enable-R-shlib"}
       AR=$(type -p ar)
       AWK=$(type -p gawk)
       CC=$(type -p cc)
@@ -57,8 +61,6 @@ stdenv.mkDerivation rec {
       RANLIB=$(type -p ranlib)
       R_SHELL="${stdenv.shell}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      --without-tcltk
-      --without-aqua
       --disable-R-framework
       OBJC="clang"
       CPPFLAGS="-isystem ${libcxx}/include/c++/v1"
diff --git a/nixpkgs/pkgs/applications/science/math/calculix/default.nix b/nixpkgs/pkgs/applications/science/math/calculix/default.nix
index 24d5f99ec32a..6f2d61cd80f0 100644
--- a/nixpkgs/pkgs/applications/science/math/calculix/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/calculix/default.nix
@@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ arpack spooles openblas ];
 
-  NIX_CFLAGS_COMPILE = [
-    "-I${spooles}/include/spooles"
-  ];
+  NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
 
   patches = [
     ./calculix.patch
diff --git a/nixpkgs/pkgs/applications/science/math/cbc/default.nix b/nixpkgs/pkgs/applications/science/math/cbc/default.nix
index d0857e2a517c..e68ceb379b04 100644
--- a/nixpkgs/pkgs/applications/science/math/cbc/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/cbc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cbc";
-  version = "2.10.2";
+  version = "2.10.3";
 
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Cbc/Cbc-${version}.tgz";
-    sha256 = "0frbxkh6nbh46kaxsx5bmzridgip3v7aq75l8yak5npiiq4jlwv3";
+    sha256 = "1zzcg40ky5v96s7br2hqlkqdspwrn43kf3757g6c35wl29bq6f5d";
   };
 
   configureFlags = [ "-C" ];
diff --git a/nixpkgs/pkgs/applications/science/math/clp/default.nix b/nixpkgs/pkgs/applications/science/math/clp/default.nix
index 0eb57c756927..f91b091439fe 100644
--- a/nixpkgs/pkgs/applications/science/math/clp/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/clp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "1.17.2";
+  version = "1.17.3";
   pname = "clp";
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz";
-    sha256 = "1fkmgpn0zaraymi6s3isrrscgjxggcs2yjrx7jfy4hb1jacx71zz";
+    sha256 = "0ws515f73vq2p4nzyq0fbnm4zp9a7mjg54szdzvkql5dj51gafx1";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/nixpkgs/pkgs/applications/science/math/cntk/default.nix b/nixpkgs/pkgs/applications/science/math/cntk/default.nix
index c20a6954c3cb..ceb87b25ba85 100644
--- a/nixpkgs/pkgs/applications/science/math/cntk/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/cntk/default.nix
@@ -1,7 +1,7 @@
-{ config, lib, stdenv, fetchgit, fetchFromGitHub, cmake
+{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
 , openblas, opencv3, libzip, boost, protobuf, openmpi
 , onebitSGDSupport ? false
-, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
+, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
 , cudnnSupport ? cudaSupport, cudnn
 }:
 
@@ -27,7 +27,10 @@ in stdenv.mkDerivation rec {
     sha256 = "18l9k7s966a26ywcf7flqyhm61788pcb9fj3wk61jrmgkhy2pcns";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optional cudaSupport addOpenGLRunpath;
+
+  # Force OpenMPI to use g++ in PATH.
+  OMPI_CXX = "g++";
 
   buildInputs = [ openblas opencv3 libzip boost protobuf openmpi ]
              ++ lib.optional cudaSupport cudatoolkit
@@ -69,6 +72,7 @@ in stdenv.mkDerivation rec {
       ln -s ${cudnn}/include cuda
       export configureFlags="$configureFlags --with-cudnn=$PWD"
     ''}
+
     ../configure $configureFlags
   '';
 
@@ -79,9 +83,18 @@ in stdenv.mkDerivation rec {
     cp bin/cntk $out/bin
   '';
 
+  postFixup = lib.optionalString cudaSupport ''
+    for lib in $out/lib/*; do
+      addOpenGLRunpath "$lib"
+    done
+  '';
+
   enableParallelBuilding = true;
 
   meta = with lib; {
+    # Newer cub is included with cudatoolkit now and it breaks the build.
+    # https://github.com/Microsoft/CNTK/issues/3191
+    broken = cudaSupport;
     homepage = https://github.com/Microsoft/CNTK;
     description = "An open source deep-learning toolkit";
     license = if onebitSGDSupport then licenses.unfreeRedistributable else licenses.mit;
diff --git a/nixpkgs/pkgs/applications/science/math/geogebra/default.nix b/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
index 8f38a24f40d1..a08c0ee34033 100644
--- a/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "geogebra";
-  version = "5-0-535-0";
+  version = "5-0-570-0";
 
   preferLocalBuild = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
       "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
     ];
-    sha256 = "1mbjwa9isw390i0k1yh6r9wmh8zkczian0v25w2vxb2a8vv0hjk0";
+    sha256 = "0q6brg5rkl2gyyg9vhiilvb8zy23zlp4a1xcwnv501xzcccv0p37";
   };
 
   srcIcon = fetchurl {
diff --git a/nixpkgs/pkgs/applications/science/math/giac/default.nix b/nixpkgs/pkgs/applications/science/math/giac/default.nix
index 90b1b367a7c4..b3777528ecda 100644
--- a/nixpkgs/pkgs/applications/science/math/giac/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/giac/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack
+{ stdenv, lib, 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}";
-  attr = if enableGUI then "giac-with-xcas" else "giac";
+  pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
   version = "1.5.0-21"; # TODO try to remove preCheck phase on upgrade
 
   src = fetchurl {
@@ -44,7 +43,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:
@@ -104,7 +103,7 @@ stdenv.mkDerivation rec {
     description = "A free computer algebra system (CAS)";
     homepage = "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html";
     license = licenses.gpl3Plus;
-    platforms = platforms.unix;
+    platforms = platforms.linux ++ (optionals (!enableGUI) platforms.darwin);
     maintainers = [ maintainers.symphorien ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/ginac/default.nix b/nixpkgs/pkgs/applications/science/math/ginac/default.nix
index 197845bfa3c1..79f20f06b295 100644
--- a/nixpkgs/pkgs/applications/science/math/ginac/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/ginac/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cln, pkgconfig, readline, gmp, python }:
 
 stdenv.mkDerivation rec {
-  name = "ginac-1.7.6";
+  name = "ginac-1.7.8";
 
   src = fetchurl {
     url    = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "03cq93qjfgxgr7zxadrjfbn43lk5f0x2lmd90ggx10p6jq47157v";
+    sha256 = "0rvhdagmrs8ynnylwnxnmmfz1j9zk1g2rr7w6xczsbn7lqd511hc";
   };
 
   propagatedBuildInputs = [ cln ];
diff --git a/nixpkgs/pkgs/applications/science/math/glsurf/default.nix b/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
index 4de683cdce90..c11110e4bc49 100644
--- a/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, ocamlPackages, libGLU_combined, freeglut
-, mysql, mpfr, gmp, libtiff, libjpeg, libpng, giflib
+{ stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut
+, libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng, giflib
 }:
 
 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 mysql.connector-c 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/nixpkgs/pkgs/applications/science/math/gmsh/default.nix b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
index 1d96c0039ad1..07ec466e0006 100644
--- a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
@@ -1,16 +1,16 @@
 { 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";
-  version = "4.4.1";
+  version = "4.5.1";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45";
+    sha256 = "0rjwxpz5qwq6dj7ka53mhxlgnp9bs5jphhsamlb0nk3h8kzckisq";
   };
 
-  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/nixpkgs/pkgs/applications/science/math/mathematica/default.nix b/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
index ca9a87abe13b..7cd1b2eb99fa 100644
--- a/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
@@ -93,13 +93,16 @@ stdenv.mkDerivation rec {
     # Fix library paths
     cd $out/libexec/Mathematica/Executables
     for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
-      sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}#' $path
+      sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}\n" $path
     done
 
     # Fix xkeyboard config path for Qt
     for path in mathematica Mathematica; do
       sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
     done
+
+    # Remove some broken libraries
+    rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
   '';
 
   preFixup = ''
diff --git a/nixpkgs/pkgs/applications/science/math/msieve/default.nix b/nixpkgs/pkgs/applications/science/math/msieve/default.nix
index 6e1926810df0..643d990feb8d 100644
--- a/nixpkgs/pkgs/applications/science/math/msieve/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/msieve/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   ECM = if ecm == null then "0" else "1";
 
   # Doesn't hurt Linux but lets clang-based platforms like Darwin work fine too
-  makeFlags = "CC=cc all";
+  makeFlags = [ "CC=cc" "all" ];
 
   installPhase = ''
     mkdir -p $out/bin/
diff --git a/nixpkgs/pkgs/applications/science/math/nasc/default.nix b/nixpkgs/pkgs/applications/science/math/nasc/default.nix
index c2f8ba1d55ec..a49217859568 100644
--- a/nixpkgs/pkgs/applications/science/math/nasc/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/nasc/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , pkgconfig
+, vala
 , gtk3
 , glib
 , pantheon
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    pantheon.vala
+    vala
     pkgconfig
     wrapGAppsHook
   ];
diff --git a/nixpkgs/pkgs/applications/science/math/nauty/default.nix b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
index e9c8b688fb92..986610eea60d 100644
--- a/nixpkgs/pkgs/applications/science/math/nauty/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
@@ -4,10 +4,10 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nauty";
-  version = "26r11";
+  version = "26r12";
   src = fetchurl {
     url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz";
-    sha256 = "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y";
+    sha256 = "1p4mxf8q5wm47nxyskxbqwa5p1vvkycv1zgswvnk9nsn6vff0al6";
   };
   outputs = [ "out" "dev" ];
   configureFlags = {
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
     sandybridge    = [ "--disable-clz" ];
     ivybridge      = [ "--disable-clz" ];
   }.${stdenv.hostPlatform.platform.gcc.arch or "default"} or [];
-  buildInputs = [];
   installPhase = ''
     mkdir -p "$out"/{bin,share/doc/nauty} "$dev"/{lib,include/nauty}
 
diff --git a/nixpkgs/pkgs/applications/science/math/polymake/default.nix b/nixpkgs/pkgs/applications/science/math/polymake/default.nix
index fdc4de7b0286..d4f13f84f81c 100644
--- a/nixpkgs/pkgs/applications/science/math/polymake/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/polymake/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     makeWrapper ninja ant perl
   ];
 
-  ninjaFlags = "-C build/Opt";
+  ninjaFlags = [ "-C" "build/Opt" ];
 
   postInstall = ''
     for i in "$out"/bin/*; do
diff --git a/nixpkgs/pkgs/applications/science/math/pspp/default.nix b/nixpkgs/pkgs/applications/science/math/pspp/default.nix
index c53e87caa9ad..3c263916a0eb 100644
--- a/nixpkgs/pkgs/applications/science/math/pspp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
index d0625201a37d..0a300a15d014 100644
--- a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.4.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "11q9f4p67ckbxd962jchgmwqnbp7v9ghix88c5hn3vaxvgwiw5hl";
+    sha256 = "1b20sjkv853lqii0dpqg10rgcka3cs57zriihyd463n7dq3hsim5";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/math/ries/default.nix b/nixpkgs/pkgs/applications/science/math/ries/default.nix
index 4b237a01a3e5..b244ee75b304 100644
--- a/nixpkgs/pkgs/applications/science/math/ries/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/ries/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1h2wvd4k7f0l0i1vm9niz453xdbcs3nxccmri50qyrzzzc1b0842";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://mrob.com/pub/ries/;
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
new file mode 100644
index 000000000000..11ca74819615
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
@@ -0,0 +1,24 @@
+diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py
+index bd6b76ab82..ccf1203dec 100644
+--- a/src/sage/tests/cmdline.py
++++ b/src/sage/tests/cmdline.py
+@@ -837,8 +837,6 @@ def test_executable(args, input="", timeout=100.0, **kwds):
+         ///
+         4
+         }}}
+-        sage: err # py2
+-        ''
+         sage: ret
+         0
+ 
+@@ -871,8 +869,8 @@ def test_executable(args, input="", timeout=100.0, **kwds):
+         sage: output = tmp_filename(ext='.sws')
+         sage: with open(input, 'w') as F:
+         ....:     _ = F.write(s)
+-        sage: test_executable(["sage", "--rst2sws", input, output]) # py2
+-        ('', '', 0)
++        sage: test_executable(["sage", "--rst2sws", input, output])[2] # py2
++        0
+         sage: import tarfile # py2
+         sage: f = tarfile.open(output, 'r') # py2
+         sage: print(f.extractfile('sage_worksheet/worksheet.html').read()) # py2
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch
new file mode 100644
index 000000000000..c5f95b498d53
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch
@@ -0,0 +1,12 @@
+diff --git a/src/sage/all.py b/src/sage/all.py
+index c87c9372e9..862fca4fcc 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -306,6 +306,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0))
+ # Ignore all deprecations from IPython etc.
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
+     module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)')
++warnings.filterwarnings('ignore', category=DeprecationWarning, message=r".*The import 'werkzeug.ImmutableDict' is deprecated")
+ # Ignore collections.abc warnings, there are a lot of them but they are
+ # harmless.
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch
new file mode 100644
index 000000000000..9f502a669517
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch
@@ -0,0 +1,13 @@
+diff --git a/sagenb/__init__.py b/sagenb/__init__.py
+index 4db0d2cb..2fc5f01e 100644
+--- a/sagenb/__init__.py
++++ b/sagenb/__init__.py
+@@ -1,3 +1,8 @@
+ # -*- coding: utf-8 -*
+   # init
++import warnings
+ from . import storage
++
++# deprecation in attrs, needs to be fixed in twisted
++warnings.filterwarnings('ignore', category=DeprecationWarning,
++    message=r'The usage of `cmp` is deprecated and will be removed.*')
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
index 933344aa5591..56f092796229 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
@@ -1,8 +1,8 @@
 diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
-index 0f2700168a..60f71357d2 100644
+index 73a078e619..059125c59f 100644
 --- a/src/sage_setup/docbuild/__init__.py
 +++ b/src/sage_setup/docbuild/__init__.py
-@@ -86,26 +86,6 @@ def builder_helper(type):
+@@ -86,27 +86,6 @@ def builder_helper(type):
      """
      Returns a function which builds the documentation for
      output type ``type``.
@@ -19,7 +19,8 @@ index 0f2700168a..60f71357d2 100644
 -        ....:     raise BaseException("abort pool operation")
 -        sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException
 -
--        sage: from sage_setup.docbuild import builder_helper, build_many, build_ref_doc
+-        sage: from sage_setup.docbuild import builder_helper, build_ref_doc
+-        sage: from sage_setup.docbuild import _build_many as build_many
 -        sage: helper = builder_helper("html")
 -        sage: try:
 -        ....:     build_many(build_ref_doc, [("docname", "en", "html", {})])
@@ -29,7 +30,7 @@ index 0f2700168a..60f71357d2 100644
      """
      def f(self, *args, **kwds):
          output_dir = self._output_dir(type)
-@@ -127,10 +107,9 @@ def builder_helper(type):
+@@ -128,10 +107,9 @@ def builder_helper(type):
          logger.debug(build_command)
  
          # Run Sphinx with Sage's special logger
@@ -43,10 +44,10 @@ index 0f2700168a..60f71357d2 100644
              if ABORT_ON_ERROR:
                  raise
 diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
-index 9a2fba79bc..77c8ed3592 100644
+index fe7eba43b2..463790965c 100644
 --- a/src/sage_setup/docbuild/sphinxbuild.py
 +++ b/src/sage_setup/docbuild/sphinxbuild.py
-@@ -318,3 +318,8 @@ def runsphinx():
+@@ -321,3 +321,8 @@ def runsphinx():
          sys.stderr = saved_stderr
          sys.stdout.flush()
          sys.stderr.flush()
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/threejs-offline.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/threejs-offline.patch
deleted file mode 100644
index 62b2f114bd62..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/threejs-offline.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/build/pkgs/threejs/spkg-src b/build/pkgs/threejs/spkg-src
-index 91780d813c..254b850a24 100755
---- a/build/pkgs/threejs/spkg-src
-+++ b/build/pkgs/threejs/spkg-src
-@@ -20,9 +20,17 @@ URL3="https://raw.githubusercontent.com/mrdoob/three.js/${GIT_VERSION}/LICENSE"
- echo "Downloading $URL3"
- curl -OL "$URL3"
- 
-+# Set up directory structure
-+
-+mkdir build
-+mv three.min.js build
-+
-+mkdir -p examples/js/controls
-+mv OrbitControls.js examples/js/controls
-+
- # Package
--tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" 'three.min.js' 'OrbitControls.js' 'LICENSE'
--rm -rf 'three.min.js' 'OrbitControls.js' 'LICENSE'
-+tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" build examples 'LICENSE'
-+rm -rf 'build' 'examples' 'LICENSE'
- 
- # Update package info
- echo "${GIT_VERSION}" > 'package-version.txt'
-diff --git a/src/sage/repl/rich_output/backend_ipython.py b/src/sage/repl/rich_output/backend_ipython.py
-index 7c27d48a21..8bf4861a35 100644
---- a/src/sage/repl/rich_output/backend_ipython.py
-+++ b/src/sage/repl/rich_output/backend_ipython.py
-@@ -411,10 +411,15 @@ class BackendIPythonCommandline(BackendIPython):
-             sage: backend.threejs_offline_scripts()
-             '...<script ...</script>...'
-         """
--        from sage.env import SAGE_SHARE
-+        from sage.env import THREEJS_DIR
- 
--        scripts = [os.path.join(SAGE_SHARE, 'threejs', script)
--                   for script in ['three.min.js', 'OrbitControls.js']]
-+        scripts = [
-+            os.path.join(THREEJS_DIR, script)
-+            for script in [
-+                'build/three.min.js',
-+                'examples/js/controls/OrbitControls.js',
-+            ]
-+        ]
- 
-         if sys.platform == 'cygwin':
-             import cygwin
-@@ -594,13 +599,13 @@ class BackendIPythonNotebook(BackendIPython):
-             sage: from sage.repl.rich_output.backend_ipython import BackendIPythonNotebook
-             sage: backend = BackendIPythonNotebook()
-             sage: backend.threejs_offline_scripts()
--            '...<script src="/nbextensions/threejs/three.min...<\\/script>...'
-+            '...<script src="/nbextensions/threejs/build/three.min...<\\/script>...'
-         """
-         from sage.repl.rich_output import get_display_manager
-         CDN_scripts = get_display_manager().threejs_scripts(online=True)
-         return """
--<script src="/nbextensions/threejs/three.min.js"></script>
--<script src="/nbextensions/threejs/OrbitControls.js"></script>
-+<script src="/nbextensions/threejs/build/three.min.js"></script>
-+<script src="/nbextensions/threejs/examples/js/controls/OrbitControls.js"></script>
- <script>
-   if ( !window.THREE ) document.write('{}');
- </script>
diff --git a/nixpkgs/pkgs/applications/science/math/sage/pybrial.nix b/nixpkgs/pkgs/applications/science/math/sage/pybrial.nix
index 092a340bb5b5..718414126ae8 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/pybrial.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/pybrial.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , buildPythonPackage
+, brial
 }:
 # This has a cyclic dependency with sage. I don't include sage in the
 # buildInputs and let python figure it out at runtime. Because of this,
@@ -9,15 +10,10 @@
 # it).
 buildPythonPackage rec {
     pname = "pyBRiAl";
-    version = "1.2.3";
+    version = brial.version;
 
     # included with BRiAl source
-    src = fetchFromGitHub {
-      owner = "BRiAl";
-      repo = "BRiAl";
-      rev = version;
-      sha256 = "0qy4cwy7qrk4zg151cmws5cglaa866z461cnj9wdnalabs7v7qbg";
-    };
+    src = brial.src;
 
     sourceRoot = "source/sage-brial";
 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
index 0b67b3cff12b..00397239876b 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
@@ -18,6 +18,12 @@
 , ecl
 , maxima-ecl
 , singular
+, fflas-ffpack
+, givaro
+, gd
+, libpng
+, linbox
+, m4ri
 , giac
 , palp
 , rWrapper
@@ -101,14 +107,21 @@ writeTextFile rec {
   name = "sage-env";
   destination = "/${name}";
   text = ''
-    export PKG_CONFIG_PATH='${lib.concatStringsSep ":" (map (pkg: "${pkg}/lib/pkgconfig") [
-        # This is only needed in the src/sage/misc/cython.py test and I'm not
-        # sure if there's really a usecase for it outside of the tests. However
-        # since singular and openblas are runtime dependencies anyways, it doesn't
-        # really hurt to include.
+    export PKG_CONFIG_PATH='${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [
+        # This should only be needed during build. However, since the  doctests
+        # also test the cython build (for example in src/sage/misc/cython.py),
+        # it is also needed for the testsuite to pass. We could fix the
+        # testsuite instead, but since all the packages are also runtime
+        # dependencies it doesn't really hurt to include them here.
         singular
         openblasCompat
-      ])
+        fflas-ffpack givaro
+        gd
+        libpng zlib
+        gsl
+        linbox
+        m4ri
+      ]
     }'
     export SAGE_ROOT='${sagelib.src}'
     export SAGE_LOCAL='@sage-local@'
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index 57d6c852be8d..4530cbf69f4c 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -10,14 +10,14 @@
 # all get the same sources with the same patches applied.
 
 stdenv.mkDerivation rec {
-  version = "8.8";
+  version = "8.9";
   pname = "sage-src";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "0jm7zdkz8wfgrmf6620jfr8kgvprrz3qfl8gzx6rl5z5cm734b6x";
+    sha256 = "1bwga58x3s8z42w5h51c232f91ndsc1861dlb1glhax3pn0rhn3a";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
@@ -49,10 +49,6 @@ stdenv.mkDerivation rec {
     # https://trac.sagemath.org/ticket/27660#ticket
     ./patches/do-not-test-find-library.patch
 
-
-    # https://trac.sagemath.org/ticket/28007
-    ./patches/threejs-offline.patch
-
     # Parallelize docubuild using subprocesses, fixing an isolation issue. See
     # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
     ./patches/sphinx-docbuild-subprocesses.patch
@@ -97,18 +93,38 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    # https://trac.sagemath.org/ticket/26932
-    (fetchSageDiff {
-      name = "givaro-4.1.0_fflas-ffpack-2.4.0_linbox-1.6.0.patch";
-      base = "8.8.beta4";
-      rev = "c11d9cfa23ff9f77681a8f12742f68143eed4504";
-      sha256 = "0xzra7mbgqvahk9v45bjwir2mqz73hrhhy314jq5nxrb35ysdxyi";
-    })
-
     # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can
     # now set the cache dir to be withing the .sage directory. This is not
     # strictly necessary, but keeps us from littering in the user's HOME.
     ./patches/sympow-cache.patch
+
+    # https://trac.sagemath.org/ticket/28472
+    (fetchpatch {
+      name = "eclib-20190909.patch";
+      url = "https://git.sagemath.org/sage.git/patch?id=d27dc479a5772d59e4bc85d805b6ffd595284f1d";
+      sha256 = "1nf1s9y7n30lhlbdnam7sghgaq9nasmv96415gl5jlcf7a3hlxk3";
+    })
+
+    # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
+    ./patches/ignore-cmp-deprecation.patch
+
+    # Werkzeug has deprecated ImmutableDict, but it is still used in legacy
+    # sagenb. That's no big issue since sagenb will be removed soon anyways.
+    ./patches/ignore-werkzeug-immutable-dict-deprecation.patch
+
+    # threejs r109 (#28560)
+    (fetchpatch {
+      name = "threejs-r109.patch";
+      url = "https://git.sagemath.org/sage.git/patch?id=fcc11d6effa39f375bc5f4ea5831fb7a2f2767da";
+      sha256 = "0hnmc8ld3bblks0hcjvjjaydkgwdr1cs3dbl2ys4gfq964pjgqwc";
+    })
+
+    # https://trac.sagemath.org/ticket/28911
+    (fetchpatch {
+      name = "sympy-1.5.patch";
+      url = "https://git.sagemath.org/sage.git/patch/?h=c6d0308db15efd611211d26cfcbefbd180fc0831";
+      sha256 = "0nwai2jr22h49km4hx3kwafs3mzsc5kwsv7mqwjf6ibwfx2bbgyq";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-tests.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-tests.nix
index 93ec1e33cf69..451edb8f085e 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-tests.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-tests.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation {
     export GLIBC_TUNABLES=glibc.malloc.arena_max=4
 
     echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}"
-    "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
+    "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
   '';
 }
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
index 6eac84aaa865..69f7624078ea 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
@@ -138,8 +138,8 @@ buildPythonPackage rec {
     mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
     mkdir -p "var/lib/sage/installed"
 
+    source build/bin/sage-dist-helpers
     cd src
-    source bin/sage-dist-helpers
 
     ${python.interpreter} -u setup.py --no-user-cfg build
   '';
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sagenb.nix b/nixpkgs/pkgs/applications/science/math/sage/sagenb.nix
index 03b5b7a3bbf9..77b2168ad974 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sagenb.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sagenb.nix
@@ -26,6 +26,11 @@ buildPythonPackage rec {
     sha256 = "0bxvhr03qh2nsjdfc4pyfiqrn9jhp3vf7irsc9gqx0185jlblbxs";
   };
 
+  patches = [
+    # cmp deprecation in attrs needs to be handled in twisted
+    ./patches/sagenb-cmp-deprecation.patch
+  ];
+
   propagatedBuildInputs = [
     twisted
     flask
diff --git a/nixpkgs/pkgs/applications/science/math/scilab/default.nix b/nixpkgs/pkgs/applications/science/math/scilab/default.nix
index 432280a18fb2..02f1f4e58a9d 100644
--- a/nixpkgs/pkgs/applications/science/math/scilab/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/scilab/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (!withXaw3d) "--with-local-xaw"
   ;
 
-  makeFlags = "all";
+  makeFlags = [ "all" ];
 
   meta = {
     homepage = http://www.scilab.org/;
diff --git a/nixpkgs/pkgs/applications/science/math/yacas/default.nix b/nixpkgs/pkgs/applications/science/math/yacas/default.nix
index bae0d9a18c67..ed680b1b4cde 100644
--- a/nixpkgs/pkgs/applications/science/math/yacas/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/yacas/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yacas";
-  version = "1.6.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "grzegorzmazur";
     repo = "yacas";
     rev = "v${version}";
-    sha256 = "0awvlvf607r4hwl1vkhs6jq2s6ig46c66pmr4vspj2cdnypx99cc";
+    sha256 = "0fwd98dwq6g0md3yhgyl30i377593b8rw6gsvffzvs11g3aqf1ga";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix b/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix
index 2633f4c8db1b..e135534d1acf 100644
--- a/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix
new file mode 100644
index 000000000000..817ab578a82d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, zlib, libtiff, libxml2, openssl, libiconv, libpng, cmake }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  pname = "dcmtk";
+  version = "3.6.5";
+  src = fetchFromGitHub {
+    owner = "DCMTK";
+    repo = pname;
+    rev = "DCMTK-${version}";
+    sha256 = "0i38k1s0wdpbxxpiwsx490mszhxi45wp0z67iksvh60wfkaw54na";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libpng zlib libtiff libxml2 openssl libiconv ];
+
+  meta = {
+    description = "Collection of libraries and applications implementing large parts of the DICOM standard";
+    longDescription = ''
+      DCMTK is a collection of libraries and applications implementing large parts of the DICOM standard.
+      It includes software for examining, constructing and converting DICOM image files, handling offline media,
+      sending and receiving images over a network connection, as well as demonstrative image storage and worklist servers.
+      DCMTK is is written in a mixture of ANSI C and C++.
+      It comes in complete source code and is made available as "open source" software.
+    '';
+    homepage = "https://dicom.offis.de/dcmtk";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ iimog ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/boinc/default.nix b/nixpkgs/pkgs/applications/science/misc/boinc/default.nix
index c806b558da0e..38b9b8ec66d1 100644
--- a/nixpkgs/pkgs/applications/science/misc/boinc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/colmap/default.nix b/nixpkgs/pkgs/applications/science/misc/colmap/default.nix
index 672569ed1002..da118f6bca57 100644
--- a/nixpkgs/pkgs/applications/science/misc/colmap/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/colmap/default.nix
@@ -1,11 +1,11 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, boost, ceres-solver, eigen,
+{ mkDerivation, lib, fetchpatch, fetchFromGitHub, cmake, boost, ceres-solver, eigen,
   freeimage, glog, libGLU, glew, qtbase,
   cudaSupport ? false, cudatoolkit ? null }:
 
 assert !cudaSupport || cudatoolkit != null;
 
 let boost_static = boost.override { enableStatic = true; };
-in 
+in
 mkDerivation rec {
   version = "3.5";
   pname = "colmap";
@@ -15,7 +15,14 @@ mkDerivation rec {
      rev = version;
      sha256 = "1vnb62p0y2bnga173wmjs0lnyqdjikv0fkcxjzxm8187khk2lly8";
   };
-  
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/colmap/colmap/commit/6af3d8b0048cecc3b9fc6f4e78c3214dd038180b.patch";
+      sha256 = "1zv5girmv4hv78w1xn131v8njwhpbyylc1m15731lnhrs8bri0jq";
+    })
+  ];
+
   buildInputs = [
     boost_static ceres-solver eigen
     freeimage glog libGLU glew qtbase
diff --git a/nixpkgs/pkgs/applications/science/misc/golly/beta.nix b/nixpkgs/pkgs/applications/science/misc/golly/beta.nix
index 99159fba5b43..36de6a1d4c50 100644
--- a/nixpkgs/pkgs/applications/science/misc/golly/beta.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/golly/default.nix b/nixpkgs/pkgs/applications/science/misc/golly/default.nix
index 74fa4cc02ed5..1478bb643181 100644
--- a/nixpkgs/pkgs/applications/science/misc/golly/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/golly/default.nix
@@ -1,15 +1,15 @@
-{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.2";
+  version = "3.3";
 
   src = fetchurl {
-    sha256 = "0cg9mbwmf4q6qxhqlnzrxh9y047banxdb8pd3hgj3smmja2zf0jd";
+    sha256 = "1j3ksnar4rdam4xiyspgyrs1pifbvxfxkrn65brkwxpx39mpgzc8";
     url="mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz";
   };
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   setSourceRoot = ''
diff --git a/nixpkgs/pkgs/applications/science/misc/gplates/default.nix b/nixpkgs/pkgs/applications/science/misc/gplates/default.nix
index b394639fd0cc..9b510d432fb3 100644
--- a/nixpkgs/pkgs/applications/science/misc/gplates/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/megam/default.nix b/nixpkgs/pkgs/applications/science/misc/megam/default.nix
index f86bed854a2b..6cdc86d20eb2 100644
--- a/nixpkgs/pkgs/applications/science/misc/megam/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/megam/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  makeFlags = "CAML_INCLUDES=${ocaml}/lib/ocaml/caml";
+  makeFlags = [ "CAML_INCLUDES=${ocaml}/lib/ocaml/caml" ];
 
   # see https://bugzilla.redhat.com/show_bug.cgi?id=435559
   dontStrip = true;
diff --git a/nixpkgs/pkgs/applications/science/misc/netlogo/default.nix b/nixpkgs/pkgs/applications/science/misc/netlogo/default.nix
index b412c4ef81a7..9b0279bd4d09 100644
--- a/nixpkgs/pkgs/applications/science/misc/netlogo/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/netlogo/default.nix
@@ -15,11 +15,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "netlogo";
-  version = "6.0.4";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "https://ccl.northwestern.edu/netlogo/${version}/NetLogo-${version}-64.tgz";
-    sha256 = "0dcd9df4dfb218826a74f9df42163fa588908a1dfe58864106936f8dfb76acec";
+    sha256 = "1j08df68pgggxqkmpzd369w4h97q0pivmmljdb48hjghx7hacblp";
   };
 
   src1 = fetchurl {
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
index 1a1ae3df9425..ed4101bdb47c 100644
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
 hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
 lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
-doxygen, boost, openscenegraph, gnome2, pangox_compat, xorg, git, bash, gtk2, makeWrapper }:
+doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
 
 let
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
     hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which
     lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
-    doxygen boost openscenegraph gnome2.gtkglext pangox_compat xorg.libXmu
+    doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
     git gtk2 makeWrapper];
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/applications/science/misc/root/5.nix b/nixpkgs/pkgs/applications/science/misc/root/5.nix
index 2145d7e71d33..8422eb8752b1 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/5.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/root/default.nix b/nixpkgs/pkgs/applications/science/misc/root/default.nix
index 690dc920d5c8..b901e40a194a 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/root/default.nix
@@ -1,27 +1,33 @@
-{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash
+{ stdenv, fetchurl, makeWrapper, cmake, gl2ps, gsl, libX11, libXpm, libXft
+, libXext, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash
+, zlib
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.12.06";
+  version = "6.18.04";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    sha256 = "1557b9sdragsx9i15qh6lq7fn056bgi87d31kxdl4vl0awigvp5f";
+    sha256 = "196ghma6g5a7sqz52wyjkgvmh4hj4vqwppm0zwdypy33hgy8anii";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+  nativeBuildInputs = [ makeWrapper cmake pkgconfig ];
+  buildInputs = [ gl2ps pcre python zlib libxml2 lz4 lzma gsl xxHash ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
+  propagatedBuildInputs = [ python.pkgs.numpy ];
 
   patches = [
     ./sw_vers.patch
   ];
 
   preConfigure = ''
+    rm -rf builtins/*
+    substituteInPlace cmake/modules/SearchInstalledSoftware.cmake \
+      --replace 'set(lcgpackages ' '#set(lcgpackages '
+
     patchShebangs build/unix/
   '' + stdenv.lib.optionalString noSplash ''
     substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
@@ -35,8 +41,10 @@ stdenv.mkDerivation rec {
     "-Dbonjour=OFF"
     "-Dcastor=OFF"
     "-Dchirp=OFF"
+    "-Dclad=OFF"
     "-Ddavix=OFF"
     "-Ddcache=OFF"
+    "-Dfail-on-missing=ON"
     "-Dfftw3=OFF"
     "-Dfitsio=OFF"
     "-Dfortran=OFF"
@@ -57,6 +65,7 @@ stdenv.mkDerivation rec {
     "-Drfio=OFF"
     "-Dsqlite=OFF"
     "-Dssl=OFF"
+    "-Dvdt=OFF"
     "-Dxml=ON"
     "-Dxrootd=OFF"
   ]
@@ -65,6 +74,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
+      wrapProgram "$out/bin/$prog" \
+        --prefix PYTHONPATH : "$out/lib"
+    done
+  '';
+
   setupHook = ./setup-hook.sh;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/science/misc/root/setup-hook.sh b/nixpkgs/pkgs/applications/science/misc/root/setup-hook.sh
index fc2b697d8a82..b26cf9b779f8 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/setup-hook.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/root/sw_vers.patch b/nixpkgs/pkgs/applications/science/misc/root/sw_vers.patch
index df0ef79d0a0f..34af132c11f8 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/sw_vers.patch
+++ b/nixpkgs/pkgs/applications/science/misc/root/sw_vers.patch
@@ -1,54 +1,46 @@
-diff --git a/build/unix/compiledata.sh b/build/unix/compiledata.sh
+diff a/build/unix/compiledata.sh b/build/unix/compiledata.sh
 --- a/build/unix/compiledata.sh
 +++ b/build/unix/compiledata.sh
-@@ -49,7 +49,7 @@ fi
+@@ -47,7 +47,7 @@ fi
  
  if [ "$ARCH" = "macosx" ] || [ "$ARCH" = "macosx64" ] || \
     [ "$ARCH" = "macosxicc" ]; then
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
++   macosx_minor=12
     SOEXT="so"
     if [ $macosx_minor -ge 5 ]; then
        if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then
-diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
+diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 --- a/cmake/modules/SetUpMacOS.cmake
 +++ b/cmake/modules/SetUpMacOS.cmake
-@@ -12,25 +12,11 @@ set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/X11R6)
- #---------------------------------------------------------------------------------------------------------
+@@ -2,17 +2,8 @@ set(ROOT_ARCHITECTURE macosx)
+ set(ROOT_PLATFORM macosx)
  
  if (CMAKE_SYSTEM_NAME MATCHES Darwin)
 -  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
 -                  COMMAND cut -d . -f 1-2
 -                  OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
 -  MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}")
--  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
--                  COMMAND cut -d . -f 2
--                  OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
      set(libcxx ON CACHE BOOL "Build using libc++" FORCE)
 -  endif()
  
--  if(${MACOSX_MINOR} GREATER 4)
+-  if(MACOSX_VERSION VERSION_GREATER 10.4)
      #TODO: check haveconfig and rpath -> set rpath true
      #TODO: check Thread, define link command
      #TODO: more stuff check configure script
--    execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT)
--    if(${SYSCTL_OUTPUT} MATCHES 64)
--       MESSAGE(STATUS "Found a 64bit system")
-        set(ROOT_ARCHITECTURE macosx64)
-        SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-        SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -m64")
-@@ -38,27 +24,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -25,23 +16,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
         SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64")
--    else(${SYSCTL_OUTPUT} MATCHES 64)
+-    else()
 -       MESSAGE(STATUS "Found a 32bit system")
 -       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
 -       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
 -       SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32")
--    endif(${SYSCTL_OUTPUT} MATCHES 64)
+-    endif()
 -  endif()
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.6)
@@ -59,32 +51,51 @@ diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 -  endif()
 -  if(MACOSX_VERSION VERSION_GREATER 10.8)
 -    set(MACOSX_GLU_DEPRECATED ON)
--    set(MACOSX_KRB5_DEPRECATED ON)
--  endif()
--  if(MACOSX_VERSION VERSION_GREATER 10.9)
--    set(MACOSX_LDAP_DEPRECATED ON)
 -  endif()
++     endif()
  
    if (CMAKE_COMPILER_IS_GNUCXX)
       message(STATUS "Found GNU compiler collection")
-@@ -135,7 +100,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -104,7 +79,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
    endif()
  
    #---Set Linker flags----------------------------------------------------------------------
--  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib")
-+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib")
- 
- 
+-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=${MACOSX_VERSION}")
  else (CMAKE_SYSTEM_NAME MATCHES Darwin)
-diff --git a/config/root-config.in b/config/root-config.in
+   MESSAGE(FATAL_ERROR "There is no setup for this this Apple system up to now. Don't know waht to do. Stop cmake at this point.")
+ endif (CMAKE_SYSTEM_NAME MATCHES Darwin)
+diff a/config/root-config.in b/config/root-config.in
 --- a/config/root-config.in
 +++ b/config/root-config.in
-@@ -304,7 +304,7 @@ macosxicc)
+@@ -306,12 +306,6 @@ macosxicc)
+    auxlibs="-lm -ldl"
     ;;
  macosx64)
-    # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
+-   # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
-    # cannot find the one linked to libGraf if relocated after built
-    if [ $macosx_minor -le 4 ]; then
-       rootlibs="$rootlibs -lfreetype"
+-   # cannot find the one linked to libGraf if relocated after built
+-   if [ $macosx_minor -le 4 ]; then
+-      rootlibs="$rootlibs -lfreetype"
+-   fi
+    auxcflags="${cxxversionflag} -m64"
+    auxldflags="-m64"
+    auxlibs="-lm -ldl"
+@@ -375,18 +369,11 @@ freebsd* | openbsd* | linux*)
+ macosx*)
+    for f in $features ; do
+       if test "x$f" = "xthread" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxcflags="-pthread $auxcflags"
+             auxlibs="-lpthread $auxlibs"
+-         else
+-            auxcflags="-D_REENTRANT $auxcflags"
+-            auxlibs="-lpthread $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xrpath" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxlibs="-Wl,-rpath,$libdir $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xlibcxx" ; then
+          auxcflags="-stdlib=libc++ $auxcflags"
diff --git a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix b/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
index 610d7494ed80..44b0f5d84b66 100644
--- a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
@@ -18,14 +18,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "simgrid";
-  version = "3.23";
+  version = "3.24";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "068xg5ps4j4v2sqqyl4vf83nfazp54gsy84gvlw52h94c4mj4xmp";
+    sha256 = "1r9zgfx5npjw4mk0ywxx07jyi1m1b1i06j0m60n3dsrz75492x6m";
   };
 
   nativeBuildInputs = [ cmake perl python3 boost valgrind ]
@@ -54,28 +54,28 @@ stdenv.mkDerivation rec {
   #
   # For more information see:
   # https://simgrid.org/doc/3.22/Installing_SimGrid.html#simgrid-compilation-options)
-  cmakeFlags= ''
-    -Denable_documentation=${optionOnOff buildDocumentation}
-    -Denable_java=${optionOnOff buildJavaBindings}
-    -Denable_fortran=${optionOnOff fortranSupport}
-    -Denable_model-checking=${optionOnOff modelCheckingSupport}
-    -Denable_ns3=off
-    -Denable_lua=off
-    -Denable_lib_in_jar=off
-    -Denable_maintainer_mode=off
-    -Denable_mallocators=on
-    -Denable_debug=on
-    -Denable_smpi=on
-    -Denable_smpi_ISP_testsuite=${optionOnOff moreTests}
-    -Denable_smpi_MPICH3_testsuite=${optionOnOff moreTests}
-    -Denable_compile_warnings=${optionOnOff debug}
-    -Denable_compile_optimizations=${optionOnOff (!debug)}
-    -Denable_lto=${optionOnOff (!debug)}
-  '';
-  # -Denable_lua=${optionOnOff luaSupport}
-  # -Denable_smpi_papi=${optionOnOff moreTests}
+  cmakeFlags = [
+    "-Denable_documentation=${optionOnOff buildDocumentation}"
+    "-Denable_java=${optionOnOff buildJavaBindings}"
+    "-Denable_fortran=${optionOnOff fortranSupport}"
+    "-Denable_model-checking=${optionOnOff modelCheckingSupport}"
+    "-Denable_ns3=off"
+    "-Denable_lua=off"
+    "-Denable_lib_in_jar=off"
+    "-Denable_maintainer_mode=off"
+    "-Denable_mallocators=on"
+    "-Denable_debug=on"
+    "-Denable_smpi=on"
+    "-Denable_smpi_ISP_testsuite=${optionOnOff moreTests}"
+    "-Denable_smpi_MPICH3_testsuite=${optionOnOff moreTests}"
+    "-Denable_compile_warnings=${optionOnOff debug}"
+    "-Denable_compile_optimizations=${optionOnOff (!debug)}"
+    "-Denable_lto=${optionOnOff (!debug)}"
+    # "-Denable_lua=${optionOnOff luaSupport}"
+    # "-Denable_smpi_papi=${optionOnOff moreTests}"
+  ];
 
-  makeFlags = optionalString debug "VERBOSE=1";
+  makeFlags = optional debug "VERBOSE=1";
 
   # Some Perl scripts are called to generate test during build which
   # is before the fixupPhase, so do this manualy here:
diff --git a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
index 751f3c3aebe3..13eae15ce7f5 100644
--- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
@@ -1,28 +1,26 @@
-{
-  stdenv
-, python
-}:
+{ stdenv, python3Packages }:
 
-python.buildPythonPackage rec {
+python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "5.4.4";
+  version = "5.8.1";
 
-  propagatedBuildInputs = with python; [
+  propagatedBuildInputs = with python3Packages; [
     appdirs
     ConfigArgParse
     datrie
     docutils
     GitPython
     jsonschema
+    psutil
     pyyaml
     ratelimiter
     requests
     wrapt
   ];
 
-  src = python.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "157323e0e1be34302edbbf399b2acbe25a4291bceffd47a0469963a970c9375f";
+    sha256 = "1r1qi14klmxmmw7vcivp45jrjka5rcwlcfggj5npnfb378fx3hb0";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
diff --git a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix b/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
index 509cdeaee611..3f83f2f30a67 100644
--- a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/vite/default.nix b/nixpkgs/pkgs/applications/science/misc/vite/default.nix
index 64482ddd74bc..3e7c7a42eb82 100644
--- a/nixpkgs/pkgs/applications/science/misc/vite/default.nix
+++ b/nixpkgs/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";
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
     homepage = http://vite.gforge.inria.fr/;
     license = stdenv.lib.licenses.cecill20;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index d00b59307c52..7536d071f6b3 100644
--- a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -1,35 +1,46 @@
-
-{ stdenv, fetchurl, cmake,
-  singlePrec ? true,
-  mpiEnabled ? false,
-  fftw,
-  openmpi
+{ stdenv
+, fetchurl
+, cmake
+, singlePrec ? true
+, mpiEnabled ? false
+, fftw
+, openmpi
+, perl
 }:
 
-
 stdenv.mkDerivation {
-  name = "gromacs-2019.3";
+  name = "gromacs-2020";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz";
-    sha256 = "0wvm6lj4hbasl2qkjcpicqjh7abxji4196dd2hmwlyivpycaa4a2";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.tar.gz";
+    sha256 = "00ds83n5wnm7g7wq91jycp8h82vnam5b4rwg3fv9rk9x5ca5czj7";
   };
 
-  buildInputs = [cmake fftw]
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fftw perl ]
   ++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
 
-  cmakeFlags = ''
-    ${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"}
-    ${if mpiEnabled then "-DGMX_MPI:BOOL=TRUE 
-                          -DGMX_CPU_ACCELERATION:STRING=SSE4.1 
-                          -DGMX_OPENMP:BOOL=TRUE
-                          -DGMX_THREAD_MPI:BOOL=FALSE"
-                     else "-DGMX_MPI:BOOL=FALSE" }
-  '';
+  cmakeFlags = (
+    if singlePrec then [
+      "-DGMX_DOUBLE=OFF"
+    ] else [
+      "-DGMX_DOUBLE=ON"
+      "-DGMX_DEFAULT_SUFFIX=OFF"
+    ]
+  ) ++ (
+    if mpiEnabled then [
+      "-DGMX_MPI:BOOL=TRUE"
+      "-DGMX_CPU_ACCELERATION:STRING=SSE4.1"
+      "-DGMX_OPENMP:BOOL=TRUE"
+      "-DGMX_THREAD_MPI:BOOL=FALSE"
+    ] else [
+      "-DGMX_MPI:BOOL=FALSE"
+    ]
+  );
 
   meta = with stdenv.lib; {
-    homepage    = "http://www.gromacs.org";
-    license     = licenses.gpl2;
+    homepage = "http://www.gromacs.org";
+    license = licenses.gpl2;
     description = "Molecular dynamics software package";
     longDescription = ''
       GROMACS is a versatile package to perform molecular dynamics,
diff --git a/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix b/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
index 2af93961e02b..818bea7d0ff5 100644
--- a/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "xfitter";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchurl {
     name = "${pname}-${version}.tgz";
     url = "https://www.xfitter.org/xFitter/xFitter/DownloadPage?action=AttachFile&do=get&target=${pname}-${version}.tgz";
-    sha256 = "0j47s8laq3aqjlgp769yicvgyzqjb738a3rqss51d9fjrihi2515";
+    sha256 = "0kmgc67nw5flp92yw5x6l2vsnhwsfi5z2a20404anisdgdjs8zc6";
   };
 
   patches = [
     ./undefined_behavior.patch
   ];
 
-  CXXFLAGS = "-Werror=return-type";
+  # patch needs to updated due to version bump
+  #CXXFLAGS = "-Werror=return-type";
 
   preConfigure =
   # Fix F77LD to workaround for a following build error:
diff --git a/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
index 6449e966959b..31295114375d 100644
--- a/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
@@ -1,22 +1,22 @@
 {stdenv, fetchurl, unzip, makeDesktopItem, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
 
 let
-  strippedName = "betaflight-configurator";
+  pname = "betaflight-configurator";
   desktopItem = makeDesktopItem {
-    name = strippedName;
-    exec = strippedName;
-    icon = "${strippedName}-icon.png";
+    name = pname;
+    exec = pname;
+    icon = pname;
     comment = "Betaflight configuration tool";
     desktopName = "Betaflight Configurator";
     genericName = "Flight controller configuration tool";
   };
 in
 stdenv.mkDerivation rec {
-  name = "${strippedName}-${version}";
-  version = "10.5.1";
+  inherit pname;
+  version = "10.6.0";
   src = fetchurl {
-    url = "https://github.com/betaflight/betaflight-configurator/releases/download/${version}/${strippedName}_${version}_linux64.zip";
-    sha256 = "1l4blqgaqfrnydk05q6pwdqdhcly2f8nwzrv0749cqmfiinh8ygc";
+    url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64.zip";
+    sha256 = "09hayzhwangh8b81r038p320vbg0xxlyzrdp9pcmfyxp6s00xslw";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -25,14 +25,13 @@ stdenv.mkDerivation rec {
   
   installPhase = ''
     mkdir -p $out/bin \
-             $out/opt/${strippedName} \
-             $out/share/icons
+             $out/opt/${pname}
 
-    cp -r . $out/opt/${strippedName}/
-    cp icon/*_icon_128.png $out/share/icons/${strippedName}-icon.png
+    cp -r . $out/opt/${pname}/
+    install -m 444 -D icon/bf_icon_128.png $out/share/icons/hicolor/128x128/apps/${pname}.png
     cp -r ${desktopItem}/share/applications $out/share/
 
-    makeWrapper ${nwjs}/bin/nw $out/bin/${strippedName} --add-flags $out/opt/${strippedName}
+    makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/opt/${pname}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix b/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix
new file mode 100644
index 000000000000..0348d0153099
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonApplication, fetchPypi, matplotlib, numpy, pymavlink, pyserial
+, setuptools, wxPython_4_0 }:
+
+buildPythonApplication rec {
+  pname = "MAVProxy";
+  version = "1.8.18";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fi4m3591wws5cq43q8aljf91mzs6i9yhn9rimhpfrskbyf9knvm";
+  };
+
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    pymavlink
+    pyserial
+    setuptools
+    wxPython_4_0
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MAVLink proxy and command line ground station";
+    homepage = "https://github.com/ArduPilot/MAVProxy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 1863757adbcf..cbf7f4db8c41 100644
--- a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchgit, git,  SDL2, udev, doxygen
-, qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns
-, qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects, qmake, qtspeech
+{ lib, mkDerivation, fetchgit, SDL2
+, qtbase, qtcharts, qtlocation, qtserialport, qtsvg, qtquickcontrols2
+, qtgraphicaleffects, qtspeech, qmake
 , makeWrapper
 , gst_all_1, pkgconfig
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qgroundcontrol";
-  version = "3.3.0";
+  version = "3.5.5";
 
   qtInputs = [
-    qtbase qtlocation qtserialport qtdeclarative qtconnectivity qtxmlpatterns qtsvg
-    qtquick1 qtquickcontrols qtgraphicaleffects qtspeech
+    qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
+    qtgraphicaleffects qtspeech
   ];
 
   gstInputs = with gst_all_1; [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   enableParallelBuilding = true;
-  buildInputs = [ SDL2 udev doxygen git ] ++ gstInputs ++ qtInputs;
+  buildInputs = [ SDL2 ] ++ gstInputs ++ qtInputs;
   nativeBuildInputs = [ pkgconfig makeWrapper qmake ];
 
   preConfigure = ''
@@ -58,14 +58,14 @@ stdenv.mkDerivation rec {
   # TODO: package mavlink so we can build from a normal source tarball
   src = fetchgit {
     url = "https://github.com/mavlink/qgroundcontrol.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "0abjm0wywp24qlgg9w8g35ijprjg5csq4fgba9caaiwvmpfbhmpw";
+    rev = "v${version}";
+    sha256 = "05zy6w9lwwh254wa8c6wysa67kk0flywcvipii9b1rmy47slflhs";
     fetchSubmodules = true;
   };
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks";
-    homepage = http://qgroundcontrol.org/;
+    homepage = "http://qgroundcontrol.org/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pxc ];
diff --git a/nixpkgs/pkgs/applications/system/monitor/default.nix b/nixpkgs/pkgs/applications/system/monitor/default.nix
new file mode 100644
index 000000000000..139a49d95053
--- /dev/null
+++ b/nixpkgs/pkgs/applications/system/monitor/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkg-config
+, pantheon
+, python3
+, gettext
+, glib
+, gtk3
+, bamf
+, libwnck3
+, libgee
+, libgtop
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "monitor";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "stsdc";
+    repo = "monitor";
+    rev = version;
+    sha256 = "0cqzxlzdbij26qgbbngqx6njcpcymkgvm29b7ipldgkssxp1mkkg";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    vala
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    bamf
+    glib
+    gtk3
+    pantheon.granite
+    pantheon.wingpanel
+    libgee
+    libgtop
+    libwnck3
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Manage processes and monitor system resources";
+    homepage = "https://github.com/stsdc/monitor";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/bcompare/default.nix b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
index 3dc7792de2ae..d8a6ec058448 100644
--- a/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
@@ -1,12 +1,12 @@
-{ 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";
-  version = "4.2.10.23938";
+  version = "4.3.2.24472";
 
   src = fetchurl {
     url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-    sha256 = "1825s1lbaj20d712czmaaqg7mkwfb650r53af2y30j29p6yd4wal";
+    sha256 = "1msygg01yi0n8lpk8sl226p09ls7wvd3z3k067mdgrss8rjy5va5";
   };
 
   unpackPhase = ''
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
     ki18n
     kcoreaddons
     gdk-pixbuf
-    qt4
     bzip2
   ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/bugseverywhere/default.nix b/nixpkgs/pkgs/applications/version-management/bugseverywhere/default.nix
deleted file mode 100644
index 7d1de378f53d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix b/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
index 0a1ecbb65327..81b779f02069 100644
--- a/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -7,7 +7,7 @@ with stdenv; with lib;
 mkDerivation rec {
   name = "cvs-fast-export-${meta.version}";
   meta = {
-    version = "1.48";
+    version = "1.50";
     description = "Export an RCS or CVS history as a fast-import stream";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ dfoxfranke ];
@@ -16,8 +16,8 @@ mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.48.tar.gz";
-    sha256 = "16gw24y5x96mx6zby8cys0f03x1bqw4r7g1390qlpg75pbydqlf9";
+    url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.50.tar.gz";
+    sha256 = "01m5l9xnl387hpyik5jvyhghkffj5v1wyxqpxpjxv69q9ly905yk";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/diffuse/default.nix b/nixpkgs/pkgs/applications/version-management/diffuse/default.nix
deleted file mode 100644
index fc591dd710ee..000000000000
--- a/nixpkgs/pkgs/applications/version-management/diffuse/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, python27Packages, makeWrapper }:
-
-let
-  inherit (python27Packages) pygtk python;
-in stdenv.mkDerivation rec {
-  version = "0.4.8";
-  pname = "diffuse";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
-  };
-
-  buildInputs = [ python pygtk makeWrapper ];
-
-  buildPhase = ''
-    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
-    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
-  '';
-
-  # no-op, everything is done in buildPhase
-  installPhase = "true";
-
-  # NOTE: diffuse installs a .desktop file itself
-
-  meta = with stdenv.lib; {
-    description = "Graphical diff and merge tool";
-    homepage = http://diffuse.sourceforge.net/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/version-management/dvc/default.nix b/nixpkgs/pkgs/applications/version-management/dvc/default.nix
new file mode 100644
index 000000000000..fe10551771cf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/dvc/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, enableGoogle ? false
+, enableAWS ? false
+, enableAzure ? false
+, enableSSH ? false
+}:
+
+with python3Packages;
+buildPythonApplication rec {
+  pname = "dvc";
+  version = "0.24.3";
+
+  # PyPi only has wheel
+  src = fetchFromGitHub {
+    owner = "iterative";
+    repo = "dvc";
+    rev = version;
+    sha256 = "1wqq4i23hppilp20fx5a5nj93xwf3wwwr2f8aasvn6jkv2l22vpl";
+  };
+
+  propagatedBuildInputs = [
+    ply
+    configparser
+    zc_lockfile
+    future
+    colorama
+    configobj
+    networkx
+    pyyaml
+    GitPython
+    setuptools
+    nanotime
+    pyasn1
+    schema
+    jsonpath_rw
+    requests
+    grandalf
+    asciimatics
+    distro
+    appdirs
+  ]
+  ++ lib.optional enableGoogle google_cloud_storage
+  ++ lib.optional enableAWS boto3
+  ++ lib.optional enableAzure azure-storage-blob
+  ++ lib.optional enableSSH paramiko;
+
+  # tests require access to real cloud services
+  # nix build tests have to be isolated and run locally
+  doCheck = false;
+
+  patches = [ ./dvc-daemon.patch ];
+
+  postPatch = ''
+    substituteInPlace dvc/daemon.py --subst-var-by dvc "$out/bin/dcv"
+  '';
+
+  meta = with lib; {
+    description = "Version Control System for Machine Learning Projects";
+    license = licenses.asl20;
+    homepage = https://dvc.org;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch b/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch
new file mode 100644
index 000000000000..5c2d363b17f1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch
@@ -0,0 +1,21 @@
+diff --git a/dvc/daemon.py b/dvc/daemon.py
+index 1d67a37..7ce6fde 100644
+--- a/dvc/daemon.py
++++ b/dvc/daemon.py
+@@ -67,14 +67,8 @@ def daemon(args):
+     Args:
+         args (list): list of arguments to append to `dvc daemon` command.
+     """
+-    cmd = [sys.executable]
+-    if not is_binary():
+-        cmd += ['-m', 'dvc']
+-    cmd += ['daemon', '-q'] + args
+-
+-    env = fix_env()
+-    file_path = os.path.abspath(inspect.stack()[0][1])
+-    env['PYTHONPATH'] = os.path.dirname(os.path.dirname(file_path))
++    cmd = [ "@dvc@" , "daemon", "-q"] + args
++    env = None
+ 
+     logger.debug("Trying to spawn '{}' with env '{}'".format(cmd, env))
+ 
diff --git a/nixpkgs/pkgs/applications/version-management/fossil/default.nix b/nixpkgs/pkgs/applications/version-management/fossil/default.nix
index cc0298811333..8a41221a2671 100644
--- a/nixpkgs/pkgs/applications/version-management/fossil/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/fossil/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "fossil";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchurl {
     urls =
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
         "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
       ];
     name = "${pname}-${version}.tar.gz";
-    sha256 = "0kwb7pkp7y2my916rhyl6kmcf0fk8gkzaxzy13hfgqs35nlsvchw";
+    sha256 = "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq";
   };
 
   buildInputs = [ zlib openssl readline sqlite which ed ]
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd2;
     platforms = with stdenv.lib.platforms; all;
     maintainers = [ #Add your name here!
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.viric
     ];
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
index a0f39bad3639..d57ffd75d7f2 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
@@ -24,6 +24,8 @@ let
 
   darcsToGit = callPackage ./darcs-to-git { };
 
+  delta = callPackage ./delta { };
+
   diff-so-fancy = callPackage ./diff-so-fancy { };
 
   ghq = callPackage ./ghq { };
@@ -72,6 +74,8 @@ let
 
   git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
 
+  git-annex-utils = callPackage ./git-annex-utils { };
+
   git-bug = callPackage ./git-bug { };
 
   # support for bugzilla
@@ -99,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 { };
@@ -123,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/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
new file mode 100644
index 000000000000..96c2c8622f86
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "delta";
+  version = "0.0.15";
+
+  src = fetchFromGitHub {
+    owner = "dandavison";
+    repo = pname;
+    rev = version;
+    sha256 = "1c2zqvkzkrj8rcz226vfk43yw113b1fdcz2gx0xh8fs72arqx6wh";
+  };
+
+  cargoSha256 = "1888bvkpalfcw9bc9zmf9bmil6x35l9ia31x6mx1h2dvrfpw3bb1";
+
+  meta = with lib; {
+    homepage = "https://github.com/dandavison/delta";
+    description = "A syntax-highlighting pager for git";
+    changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 1bbbbe22d9a8..96216e76fd31 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "diff-so-fancy";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchFromGitHub {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "1w8x2d83zdhrnydiqq1qjf3j1y4cawdg8p1isj8zqwblnc47ygjm";
+    sha256 = "0y5cp236gi6h7llzai5d27086l4zz58mz1zs01r97xnnmjs9vw21";
   };
 
   # Perl is needed here for patchShebangs
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
new file mode 100644
index 000000000000..081341957035
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, gmp }:
+
+stdenv.mkDerivation rec {
+  pname = "git-annex-utils";
+  version = "0.04-3-g531bb33";
+  src = fetchgit {
+    url = http://git.mysteryvortex.com/repositories/git-annex-utils.git;
+    rev = "531bb33";
+    sha256 = "1sv7s2ykc840cjwbfn7ayy743643x9i1lvk4cd55w9l052xvzj65";
+  };
+  buildInputs = [ autoconf automake libtool gmp ];
+  preConfigure = "./autogen.sh";
+
+  meta = {
+    description = "gadu, a du like utility for annexed files";
+    longDescription = ''
+      This is a set of utilities that are handy to use with git-annex repositories.
+      Currently there is only one utility gadu, a du like utility for annexed files.
+    '';
+    homepage = http://git-annex.mysteryvortex.com/git-annex-utils.html;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ woffs ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
index edc5f9d7bfb0..fa3970c4b158 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
@@ -2,15 +2,15 @@
 
 buildGoPackage rec {
   pname = "git-bug";
-  version = "0.5.0";
-  rev = "8d7a2c076a38c89085fd3191a2998efb659650c2";
+  version = "0.6.0";
+  rev = "fc568209f073b9d775a09e0dbb8289cf9e5749bf";
   goPackagePath = "github.com/MichaelMure/git-bug";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "MichaelMure";
     repo = "git-bug";
-    sha256 = "1l86m0y360lmpmpw2id0k7zc2nyq1irr26k2ik06lxhzvpbyajz6";
+    sha256 = "1s18lzip52qpf52ad6m20j306mr16vnwhz9f7rirsa6b7srmcgli";
   };
 
   buildFlagsArray = ''
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 545fc77168e9..5d1a06e03974 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, pythonPackages, gettext, git, qt5 }:
+{ stdenv, fetchFromGitHub, python3Packages, gettext, git, qt5 }:
 
 let
-  inherit (pythonPackages) buildPythonApplication pyqt5 sip pyinotify;
+  inherit (python3Packages) buildPythonApplication pyqt5 sip pyinotify;
 
 in buildPythonApplication rec {
   pname = "git-cola";
-  version = "3.4";
+  version = "3.5";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "0754d56dprhb1nhb8fwp4my5pyqcgarwzba1l6zx7il87d7vyi5m";
+    sha256 = "09b60jbpdr4czx7h4vqahqmmi7m9vn77jlkpjfhys7crrdnxjp9i";
   };
 
   buildInputs = [ git gettext ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index 09c9169e434e..cfdcd80f38b7 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchzip, unixtools, which }:
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "4.7.0";
+  version = "5.1.0";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
-    sha256 = "0pab4f5kmmcn333aswkgndf1fgilc41h8h0rk3lviz0yi8j59vaq";
+    sha256 = "0ja8ds9gpibrnwcf8n6cpbggwkbks0ik3z9vfx5h1yf3ln1nycky";
   };
 
+  nativeBuildInputs = [ unixtools.column which ];
+
   dontBuild = true;
 
-  installFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ];
+  preInstall = ''
+    patchShebangs .
+  '';
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
+    # bash completion is already handled by make install
     install -D etc/git-extras-completion.zsh $out/share/zsh/site-functions/_git_extras
   '';
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
index d445e0181f43..618526843870 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, curl, libiconv, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, makeWrapper, openssl, git, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-gone";
-  version = "0.1.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vgkx227wpg9l2zza6446wzshjhnrhba3qhabibn4gg8wwcqmmxf";
+    sha256 = "05wlng563p9iy0ky3z23a4jakcix887fb45r7j2mk0fp5ykdjmzh";
   };
 
-  cargoSha256 = "11h2whlgjhg3j98a9w9k29njj89wx93w0dcyf981985flin709sx";
+  cargoSha256 = "1s3v5p6qgz74sh34gvajf453fsgl13sds4v8hz8c6ivipz4hpby2";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   buildInputs = [ openssl ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ curl libiconv Security ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
+
+  postFixup = ''
+    wrapProgram $out/bin/git-gone --prefix PATH : "${stdenv.lib.makeBinPath [ git ]}"
+  '';
 
   meta = with stdenv.lib; {
     description = "Cleanup stale Git branches of pull requests";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index 193133d6d3e6..33b3d0bc167c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "1.0.3";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
-    sha256 = "03mz64lzicbxxz9b202kqs5ysf82sgb7lw967wkjdy2wbpqk8j0z";
-    rev = "v${version}";
-    repo = "git-hub";
     owner = "sociomantic-tsunami";
+    repo = "git-hub";
+    rev = "v${version}";
+    sha256 = "0jkzg7vjvgb952qncndhki7n70714w61flbzf4mdcjc286lqjvwb";
   };
 
   buildInputs = [ python2Packages.python ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
index 76b29135f66c..528a96c9903a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pythonPackages.python pythonPackages.wrapPython ];
 
-  makeFlags = "PREFIX= DESTDIR=$(out)" ; 
+  makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ] ; 
  
   meta = with stdenv.lib; {
     homepage = https://github.com/mhagger/git-imerge;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
new file mode 100644
index 000000000000..6f8c4091a162
--- /dev/null
+++ b/nixpkgs/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.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h7daf74s0plnqrz2f63s6rak8fmqns96ydjn01366bcsqrbvkw6";
+  };
+
+  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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
index 7d6b620e2239..28e63c4f1662 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-remote-hg";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "mnauw";
     repo = "git-remote-hg";
     rev = "v${version}";
-    sha256 = "0anl054zdi5rg5m4bm1n763kbdjkpdws3c89c8w8m5gq1ifsbd4d";
+    sha256 = "1by5ygqvq9ww990kdrjndaqsssyf2jc4n380f9pfh2avsr7871wc";
   };
 
   buildInputs = [ mercurial.python mercurial makeWrapper
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  installFlags = "HOME=\${out} install-doc";
+  installFlags = [ "HOME=\${out}" "install-doc" ];
 
   postInstall = ''
     wrapProgram $out/bin/git-remote-hg \
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
index 62fbab02292d..8477dfac5856 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }:
 
 let
-  version = "0.2.6";
+  version = "0.3.2";
   repo = "git-secret";
 
 in stdenv.mkDerivation {
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     inherit repo;
     owner = "sobolevn";
     rev = "v${version}";
-    sha256 = "09p4h8mdmk0nzcd1jh1i6n29klz38n5vqqwdyzjkygmr2xqka55b";
+    sha256 = "0n268xlsd9p5f083sqwzpvsqg99fdk876mf8gihkydakrismc45b";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index b196d39b46f6..969ea7cc2fa6 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
new file mode 100644
index 000000000000..07c63ea0119b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
index dac6723f31ce..7c46d26bf5b3 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/nixpkgs/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
@@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.23.0";
+  version = "2.24.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "0rv0y45gcd3h191isppn77acih695v4pipdj031jvs9rd1ds0kr3";
+    sha256 = "0ql5z31vgl7b785gwrf00m129mg7zi9pa65n12ij3mpxx3f28gvj";
   };
 
   outputs = [ "out" ];
@@ -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"]
@@ -114,7 +114,7 @@ stdenv.mkDerivation {
   # WARNING: Do not `rm` or `mv` files from the source tree; use `cp` instead.
   #          We need many of these files during the installCheckPhase.
 
-  installFlags = "NO_INSTALL_HARDLINKS=1";
+  installFlags = [ "NO_INSTALL_HARDLINKS=1" ];
 
   preInstall = (stdenv.lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/bin
@@ -141,8 +141,9 @@ stdenv.mkDerivation {
       cp -a contrib $out/share/git/
       mkdir -p $out/share/emacs/site-lisp
       ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/
+      mkdir -p $out/share/bash-completion/completions
+      ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/git
       mkdir -p $out/etc/bash_completion.d
-      ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/
       ln -s $out/share/git/contrib/completion/git-prompt.sh $out/etc/bash_completion.d/
 
       # grep is a runtime dependency, need to patch so that it's found
@@ -229,6 +230,7 @@ stdenv.mkDerivation {
                 -e "s|exec wish|exec '${tk}/bin/wish'|g" \
                 "$out/$prog"
        done
+       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/gitk
      '' else ''
        # Don't wrap Tcl/Tk, replace them by notification scripts
        for prog in bin/gitk libexec/git-core/git-gui; do
@@ -252,7 +254,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+=(
@@ -289,14 +294,18 @@ stdenv.mkDerivation {
     disable_test t1700-split-index "null sha1"
 
     # Tested to fail: 2.18.0
-    disable_test t7005-editor "editor with a space"
-    disable_test t7005-editor "core.editor with a space"
-
-    # Tested to fail: 2.18.0
     disable_test t9902-completion "sourcing the completion script clears cached --options"
 
-    # As of 2.19.0, t5562 refers to #!/usr/bin/perl
-    patchShebangs t/t5562/invoke-with-content-length.pl
+    ${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
+    ''}
+  '' + 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/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
index 05944014743f..a9fa18be1558 100755
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
@@ -1,9 +1,9 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl common-updater-scripts jq
+#!nix-shell -i bash -p curl common-updater-scripts jq git
 
 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/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
index 6ecf81779f20..22bd0e66c151 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
@@ -2,23 +2,23 @@
 , buildPythonApplication
 , fetchPypi
 , pyyaml
+, setuptools
 }:
 
 buildPythonApplication rec {
-  version = "0.9.2";
+  version = "0.9.9";
   pname = "gita";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1aycqq4crsa57ghpv7xc497rf4y8x43fcfd0v9prd2kn6h1793r0";
+    sha256 = "1si2f9nyisbrvv8cvrjxj8r4cbrgc97ic0wdlbf34gvp020dsmgv";
   };
 
   propagatedBuildInputs = [
     pyyaml
+    setuptools
   ];
 
-  doCheck = false;  # Releases don't include tests
-
   meta = with lib; {
     description = "A command-line tool to manage multiple git repos";
     homepage = https://github.com/nosarthur/gita;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index 8cf9662d8f94..94753275b613 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation {
   pname = "gitstatus";
-  version = "unstable-2019-05-06";
+  version = "unstable-2019-12-18";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "gitstatus";
-    rev = "9c791f93c23c04dadfab8b4309a863b62a6ee424";
-    sha256 = "0jbdrgl62x6j920h72n2q6304fb6gdgnmllpv4aa76m13b9qhgq6";
+    rev = "8ae9c17a60158dcf91f56d9167493e3988a5e921";
+    sha256 = "1czjwsgbmxd1d656srs3n6wj6bmqr8p3aw5gw61q4wdxw3mni2a6";
   };
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
   patchPhase = ''
-    sed -i "s|local daemon.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh
+    sed -i "s|local daemon=.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh
   '';
   installPhase = ''
     install -Dm755 gitstatusd $out/bin/gitstatusd
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index 0ff7fae2878f..211ad1eccd85 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
@@ -13,7 +13,7 @@ libgit2.overrideAttrs (oldAttrs: {
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "aab6c56e6766fa752bef00c745067d875925fc89";
-    sha256 = "1yqqhpi5xi6s86411sixw4yq5c6n2v8pdh447c8b7q5lfc089lvl";
+    rev = "75be63625a0de418ec3551306362ee1e21034039";
+    sha256 = "1bwr1ahfxn1nn2f78ri91icxpv8xhpmgypcvg042cmcpm2qrahz9";
   };
 })
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
index cd38be2b977a..ee21a2158ac6 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "hub";
-  version = "2.12.4";
+  version = "2.13.0";
 
   goPackagePath = "github.com/github/hub";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "github";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1d4cn4pgx520psrfac92h3m7azxnpj1plrrqmxryar85f3y363bq";
+    sha256 = "18b0r16fk5wahvysqvg6vzjr7smyc2sdxp9sf55viby3kkwjfbkh";
   };
 
   nativeBuildInputs = [ groff utillinux ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
index a1ef489b0073..3e47631caf69 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -2,18 +2,20 @@
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.16.0";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "0f1gi4mlcxjvz2sgh0hzzsqxg5gfvq2ay7xjd0y1kz3pp8kxja7i";
+    sha256 = "0zkwvmzgj7h8lc8jkg2a81392b28c8hkwqzj6dds6q4asbmymx5c";
   };
 
   subPackages = [ "." ];
 
-  modSha256 = "0bw47dd1b46ywsian2b957a4ipm77ncidipzri9ra39paqlv7abb";
+  modSha256 = "03fqa7s6729g0a6ffiyc61dkldpi7vg8pvvpqak4c0mqi1dycivd";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions" "$out/share/zsh/site-functions"
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index 4f9a1c4e5442..3a354133e875 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "stgit-${version}";
-  version = "0.19";
+  version = "0.21";
 in
 stdenv.mkDerivation {
   inherit name;
@@ -11,12 +11,12 @@ stdenv.mkDerivation {
     owner = "ctmarinas";
     repo = "stgit";
     rev = "v${version}";
-    sha256 = "1dzl6cnyzwbzysp82x7w1yc03g25kwan3h0zpnzhhfhg6c904sis";
+    sha256 = "16gwdad18rc9bivyzrjccp83iccmqr45fp2zawycmrfp2ancffc7";
   };
 
   buildInputs = [ python2 git ];
 
-  makeFlags = "prefix=$$out";
+  makeFlags = [ "prefix=$$out" ];
 
   postInstall = ''
     mkdir -p "$out/etc/bash_completion.d/"
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index 6866418f3e3e..3636ad11fb6e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/nixpkgs/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.7";
+  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 = "1cpssmvp961kw8s3b9s9bv9jmsm1gk3napggw5810c4rnnihjvrn";
+    sha256 = "0dwd2kymmprci3b61ayr6axzlkc8zgbc40jqxvvyzschfxw9y0v5";
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
index 3c7784e85062..45b427341a21 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -23,9 +23,7 @@ stdenv.mkDerivation {
     "SVN_INCLUDE=${subversion.dev}/include/subversion-1"
   ];
 
-  NIX_LDFLAGS = [
-    "-lsvn_fs-1"
-  ];
+  NIX_LDFLAGS = "-lsvn_fs-1";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/svn-all-fast-export/svn2git;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 59354598d008..424694d7262b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
+{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, fetchpatch
 , readline, makeWrapper, git, libiconv, autoreconfHook, findXMLCatalogs, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0i26yfn2vjgsg1kdvhhv55jwzds7ih7cnad1xqvilqm83zh47ksd";
+    sha256 = "1lrzgnq8ywq28qd4xyd0y5qfv3j25ra81lcbdqqfywasl8lwz3lf";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];
@@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
       rm -f contrib/config.make-*
   '';
 
+  patches = [
+    # Fix memory leak. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/jonas/tig/commit/6202c6032f17438a2facb23f02e330b9d0566d9d.patch";
+      sha256 = "15zn8hw9y7bqa1np4mj0qnm2z86nif7qwh7wc4vgy2rwxdil85bd";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/version-management/git-backup/default.nix b/nixpkgs/pkgs/applications/version-management/git-backup/default.nix
new file mode 100644
index 000000000000..9d05fb830313
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-backup/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-backup";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "jsdw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h31j8clvk4gkw4mgva9p0ypf26zhf7f0y564fdmzyw6rsz9wzcj";
+  };
+
+  cargoSha256 = "1vfyhfdy5ks9zs9sy61ck9459w86hn9v6jqcar7rib82bclzr1mx";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jsdw/git-backup";
+    description = "A tool to help you backup your git repositories from services like GitHub";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
index 0128eb9da2c4..d5abb6d004b0 100644
--- a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "1.13.6";
+  version = "1.13.8";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "1a12h84anf3sshkkcv30ljgibb35gmh01bmi6sicyhxbn1hrfi3w";
+    sha256 = "1wmzgijmssgwkkw8g4zgmc4x64xkvz6nq1b3szcvawgv1ndwnb2j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-sizer/default.nix b/nixpkgs/pkgs/applications/version-management/git-sizer/default.nix
index 7a92679583b6..6d41098ee1aa 100644
--- a/nixpkgs/pkgs/applications/version-management/git-sizer/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-sizer/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "git-sizer";
-  version = "1.0.0";
+  version = "1.3.0";
 
   goPackagePath = "github.com/github/git-sizer";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "github";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11rvqpsyl41ph0fgm62k5q2p33zgnwj1jd91rd4lkaarpcd1sg5h";
+    sha256 = "0kmyvai5xfalm56ywa6mhdvvjnacdzwcyz28bw0pz9a4gyf1mgvh";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/version-management/git-up/default.nix b/nixpkgs/pkgs/applications/version-management/git-up/default.nix
index ba0625c433de..5812ff8c1d1d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-up/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-up/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, python2Packages, git }:
+{ stdenv, fetchurl, pythonPackages, git }:
 
-python2Packages.buildPythonApplication rec {
-  version = "1.4.2";
+pythonPackages.buildPythonApplication rec {
   pname = "git-up";
+  version = "1.6.1";
 
-  src = fetchurl {
-    url = "mirror://pypi/g/git-up/${pname}-${version}.zip";
-    sha256 = "121ia5gyjy7js6fbsx9z98j2qpq7rzwpsj8gnfvsbz2d69g0vl7q";
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "0gs791yb0cndg9879vayvcj329jwhzpk6wrf9ri12l5hg8g490za";
   };
 
-  buildInputs = [ git ] ++ (with python2Packages; [ nose ]);
-  propagatedBuildInputs = with python2Packages; [ click colorama docopt GitPython six termcolor ];
+  # git should be on path for tool to work correctly
+  propagatedBuildInputs = [ git ] ++ (with pythonPackages; [ click colorama docopt GitPython six termcolor ]);
 
+  checkInputs = [ git pythonPackages.nose ]; # git needs to be on path
   # 1. git fails to run as it cannot detect the email address, so we set it
   # 2. $HOME is by default not a valid dir, so we have to set that too
   # https://github.com/NixOS/nixpkgs/issues/12591
@@ -22,7 +23,7 @@ python2Packages.buildPythonApplication rec {
     '';
 
   postInstall = ''
-    rm -r $out/${python2Packages.python.sitePackages}/PyGitUp/tests
+    rm -r $out/${pythonPackages.python.sitePackages}/PyGitUp/tests
   '';
 
   meta = with stdenv.lib; {
@@ -31,6 +32,5 @@ python2Packages.buildPythonApplication rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
-    broken = true; # Incompatible with Git 2.15 object store.
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitea/default.nix b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
index 9c7d83a05fd9..4d5814548ff1 100644
--- a/nixpkgs/pkgs/applications/version-management/gitea/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.9.3";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "0g6ch85dq4vazxnr6g78wgqrnfa955395y1zws0a50h0wfxpdjis";
+    sha256 = "04ksalhpf47wzjfhx295kf4rbamxbb3s9946vfda358lm360adic";
     # 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/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
index 0299d4ab48ec..2272e66faf58 100644
--- a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
@@ -2,7 +2,7 @@
 , libXfixes, atk, gtk3, libXrender, pango, gnome3, cairo, freetype, fontconfig
 , libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
 , nss, nspr, cups, fetchurl, expat, gdk-pixbuf, libXdamage, libXrandr, dbus
-, dpkg, makeDesktopItem, openssl, wrapGAppsHook, hicolor-icon-theme, at-spi2-atk, libuuid
+, dpkg, makeDesktopItem, openssl, wrapGAppsHook, at-spi2-atk, libuuid
 , e2fsprogs, krb5
 }:
 
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "6.2.0";
+  version = "6.4.1";
 
   src = fetchurl {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
-    sha256 = "1kvp0fbixpynb0wh8px1qm6gnxwc5ml2q0vwsll0pa8zrjdz4q3k";
+    sha256 = "1w8iwpbr6nwzhhf63fvr7pd66yjx3jgjy4gx5y02qxa3ip5psq5b";
   };
 
   libPath = makeLibraryPath [
@@ -69,8 +69,8 @@ stdenv.mkDerivation rec {
     comment = "Graphical Git client from Axosoft";
   };
 
-  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
-  buildInputs = [ dpkg gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ];
+  nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
+  buildInputs = [ gtk3 gnome3.adwaita-icon-theme ];
 
   unpackCmd = ''
     mkdir out
@@ -78,6 +78,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir $out
     pushd usr
     pushd share
@@ -89,6 +90,7 @@ stdenv.mkDerivation rec {
     popd
 
     ln -s $out/share/gitkraken/gitkraken $out/bin/gitkraken
+    runHook postInstall
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/data.json b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
index d20236e9f5bf..be7f0afdc77d 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/data.json
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
@@ -1,32 +1,13 @@
 {
-  "ce": {
-    "version": "12.1.6",
-    "repo_hash": "0zyqxzyb1m8qa94iiyqf5ivqxrg60y378r94fsixy17fbh4y7sa6",
-    "deb_hash": "14bwcmwar44pjnjr6fdn2h9y92vyfva0kb76d4pz8pqc9pfm2hmg",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.1.6-ce.0_amd64.deb/download.deb",
-    "owner": "gitlab-org",
-    "repo": "gitlab-ce",
-    "rev": "v12.1.6",
-    "passthru": {
-      "GITALY_SERVER_VERSION": "1.53.2",
-      "GITLAB_PAGES_VERSION": "1.7.1",
-      "GITLAB_SHELL_VERSION": "9.3.0",
-      "GITLAB_WORKHORSE_VERSION": "8.7.0"
-    }
-  },
-  "ee": {
-    "version": "12.1.6",
-    "repo_hash": "1lxci1hwcccgw567c5733yl95xsxr4gnw41m48igdw9y8p6g7zbc",
-    "deb_hash": "0yjilhf4bjhl1a596x6n4cvjklfbrwhymslhx977nfjazfb5slx3",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.1.6-ee.0_amd64.deb/download.deb",
-    "owner": "gitlab-org",
-    "repo": "gitlab-ee",
-    "rev": "v12.1.6-ee",
-    "passthru": {
-      "GITALY_SERVER_VERSION": "1.53.2",
-      "GITLAB_PAGES_VERSION": "1.7.1",
-      "GITLAB_SHELL_VERSION": "9.3.0",
-      "GITLAB_WORKHORSE_VERSION": "8.7.0"
-    }
+  "version": "12.6.2",
+  "repo_hash": "0bchamvr3f0ph49f7xa76gsp2mjj1ajy4q0wy1hjvr9bayxx94av",
+  "owner": "gitlab-org",
+  "repo": "gitlab",
+  "rev": "v12.6.2-ee",
+  "passthru": {
+    "GITALY_SERVER_VERSION": "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83",
+    "GITLAB_PAGES_VERSION": "1.12.0",
+    "GITLAB_SHELL_VERSION": "10.3.0",
+    "GITLAB_WORKHORSE_VERSION": "8.18.0"
   }
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
index fb18fb7941e6..fa2154c4472f 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
@@ -1,13 +1,24 @@
 { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
-, ruby, tzdata, git, nettools, nixosTests
-, gitlabEnterprise ? false
+, ruby, tzdata, git, nettools, nixosTests, nodejs
+, gitlabEnterprise ? false, callPackage, yarn
+, fixup_yarn_lock, replace
 }:
 
 let
+  data = (builtins.fromJSON (builtins.readFile ./data.json));
+
+  version = data.version;
+  src = fetchFromGitLab {
+    owner = data.owner;
+    repo = data.repo;
+    rev = data.rev;
+    sha256 = data.repo_hash;
+  };
+
   rubyEnv = bundlerEnv rec {
     name = "gitlab-env-${version}";
     inherit ruby;
-    gemdir = ./rubyEnv- + (if gitlabEnterprise then "ee" else "ce");
+    gemdir = ./rubyEnv;
     gemset =
       let x = import (gemdir + "/gemset.nix");
       in x // {
@@ -19,35 +30,83 @@ let
         };
       };
     groups = [
-      "default" "unicorn" "ed25519" "metrics" "development" "puma" "test"
+      "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
     ];
     # N.B. omniauth_oauth2_generic and apollo_upload_server both provide a
     # `console` executable.
     ignoreCollisions = true;
   };
 
-  flavour = if gitlabEnterprise then "ee" else "ce";
-  data = (builtins.fromJSON (builtins.readFile ./data.json)).${flavour};
+  yarnOfflineCache = (callPackage ./yarnPkgs.nix {}).offline_cache;
 
-  version = data.version;
-  sources = {
-    gitlab = fetchFromGitLab {
-      owner = data.owner;
-      repo = data.repo;
-      rev = data.rev;
-      sha256 = data.repo_hash;
-    };
-    gitlabDeb = fetchurl {
-      url = data.deb_url;
-      sha256 = data.deb_hash;
-    };
+  assets = stdenv.mkDerivation {
+    pname = "gitlab-assets";
+    inherit version src;
+
+    nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git ];
+
+    # Since version 12.6.0, the rake tasks need the location of git,
+    # so we have to apply the location patches here too.
+    patches = [ ./remove-hardcoded-locations.patch ];
+    # One of the patches uses this variable - if it's unset, execution
+    # of rake tasks fails.
+    GITLAB_LOG_PATH = "log";
+
+    configurePhase = ''
+      runHook preConfigure
+
+      # Some rake tasks try to run yarn automatically, which won't work
+      rm lib/tasks/yarn.rake
+
+      # The rake tasks won't run without a basic configuration in place
+      mv config/database.yml.env config/database.yml
+      mv config/gitlab.yml.example config/gitlab.yml
+
+      # Yarn and bundler wants a real home directory to write cache, config, etc to
+      export HOME=$NIX_BUILD_TOP/fake_home
+
+      # Make yarn install packages from our offline cache, not the registry
+      yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
+
+      # Fixup "resolved"-entries in yarn.lock to match our offline cache
+      ${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
+
+      patchShebangs node_modules/
+
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+
+      bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
+      bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
+      bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=2048"
+      bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mv public/assets $out
+
+      runHook postInstall
+    '';
   };
 in
-
 stdenv.mkDerivation {
-  name = "gitlab${if gitlabEnterprise then "-ee" else ""}-${version}";
+  name = "gitlab${lib.optionalString gitlabEnterprise "-ee"}-${version}";
 
-  src = sources.gitlab;
+  inherit src;
 
   buildInputs = [
     rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools
@@ -56,40 +115,40 @@ stdenv.mkDerivation {
   patches = [ ./remove-hardcoded-locations.patch ];
 
   postPatch = ''
+    ${lib.optionalString (!gitlabEnterprise) ''
+      # Remove all proprietary components
+      rm -rf ee
+    ''}
+
     # For reasons I don't understand "bundle exec" ignores the
     # RAILS_ENV causing tests to be executed that fail because we're
     # not installing development and test gems above. Deleting the
-    # tests works though.:
+    # tests works though.
     rm lib/tasks/test.rake
 
     rm config/initializers/gitlab_shell_secret_token.rb
 
     sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
     sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
+
+    # Always require lib-files and application.rb through their store
+    # path, not their relative state directory path. This gets rid of
+    # warnings and means we don't have to link back to lib from the
+    # state directory.
+    ${replace}/bin/replace-literal -f -r -e '../lib' "$out/share/gitlab/lib" config
+    ${replace}/bin/replace-literal -f -r -e "require_relative 'application'" "require_relative '$out/share/gitlab/config/application'" config
   '';
 
   buildPhase = ''
-    mv config/gitlab.yml.example config/gitlab.yml
-
-    # Building this requires yarn, node &c, so we just get it from the deb
-    ar p ${sources.gitlabDeb} data.tar.gz | gunzip > gitlab-deb-data.tar
-    # Work around unpacking deb containing binary with suid bit
-    tar -f gitlab-deb-data.tar --delete ./opt/gitlab/embedded/bin/ksu
-    tar -xf gitlab-deb-data.tar
-    rm gitlab-deb-data.tar
-
-    mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
-    rm -rf opt # only directory in data.tar.gz
-
-    mv config/gitlab.yml config/gitlab.yml.example
     rm -f config/secrets.yml
     mv config config.dist
+    rm -r tmp
   '';
 
   installPhase = ''
-    rm -r tmp
     mkdir -p $out/share
     cp -r . $out/share/gitlab
+    ln -sf ${assets} $out/share/gitlab/public/assets
     rm -rf $out/share/gitlab/log
     ln -sf /run/gitlab/log $out/share/gitlab/log
     ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
@@ -102,7 +161,7 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    inherit rubyEnv;
+    inherit rubyEnv assets;
     ruby = rubyEnv.wrappedRuby;
     GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION;
     GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION;
@@ -116,7 +175,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = http://www.gitlab.com/;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin krav ];
+    maintainers = with maintainers; [ fpletz globin krav talyz ];
   } // (if gitlabEnterprise then
     {
       license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 1a6eb99b678d..841f6bfdefc5 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -4,26 +4,25 @@ 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.1.7'
-gem 'gitaly-proto', '~> 1.36.0'
-gem 'rdoc', '~> 4.2'
+gem 'activesupport', '~> 5.2.3'
+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
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.3.0'
+gem 'gitlab-labkit', '~> 0.5.0'
 
 # Detects the open source license the repository includes
 # 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/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index 0a86273f7cb1..9d28a0730968 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (5.1.7)
-      actionview (= 5.1.7)
-      activesupport (= 5.1.7)
+    actionpack (5.2.3)
+      actionview (= 5.2.3)
+      activesupport (= 5.2.3)
       rack (~> 2.0)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.1.7)
-      activesupport (= 5.1.7)
+    actionview (5.2.3)
+      activesupport (= 5.2.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activesupport (5.1.7)
+    activesupport (5.2.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -46,15 +46,13 @@ GEM
       activesupport (>= 4.2.0)
     faraday (0.15.4)
       multipart-post (>= 1.2, < 3)
-    ffi (1.10.0)
+    ffi (1.11.1)
     gemojione (3.3.0)
       json
-    gitaly-proto (1.36.0)
-      grpc (~> 1.0)
-    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)
@@ -73,21 +71,22 @@ GEM
       diff-lcs (~> 1.1)
       mime-types (>= 1.16)
       posix-spawn (~> 0.3)
-    gitlab-labkit (0.3.0)
+    gitlab-labkit (0.5.2)
       actionpack (~> 5)
       activesupport (~> 5)
-      grpc (~> 1.19.0)
+      grpc (~> 1.19)
       jaeger-client (~> 0.10)
       opentracing (~> 0.4)
+      redis (> 3.0.0, < 5.0.0)
     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)
@@ -100,7 +99,7 @@ GEM
     licensee (8.9.2)
       rugged (~> 0.24)
     listen (0.5.3)
-    loofah (2.2.3)
+    loofah (2.3.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -109,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.2.10)
+    msgpack (1.3.1)
     multi_json (1.13.1)
     multipart-post (2.0.0)
-    nokogiri (1.10.3)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
@@ -139,15 +139,16 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.0.4)
-      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)
-    rouge (3.5.1)
+    rdoc (6.2.0)
+    redis (4.1.2)
+    rouge (3.11.0)
     rspec (3.8.0)
       rspec-core (~> 3.8.0)
       rspec-expectations (~> 3.8.0)
@@ -175,7 +176,7 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 1.7)
     ruby-progressbar (1.10.0)
-    rugged (0.28.1)
+    rugged (0.28.4.1)
     safe_yaml (1.0.5)
     sanitize (4.6.6)
       crass (~> 1.0.2)
@@ -213,23 +214,22 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 5.1.7)
+  activesupport (~> 5.2.3)
   bundler (>= 1.17.3)
   factory_bot
   faraday (~> 0.12)
-  gitaly-proto (~> 1.36.0)
-  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.3.0)
+  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/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 873d9f390905..97d7404de8b1 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,16 +17,20 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "1.53.2";
+  version = "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
-    rev = "v${version}";
-    sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d";
+    rev = version;
+    sha256 = "1pxmhq1nrc8q2kk83bz5afx14hshqgzqm6j4vgmyjvbmdvgl80wv";
   };
 
+  # Fix a check which assumes that hook files are writeable by their
+  # owner.
+  patches = [ ./fix-executable-check.patch ];
+
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
 
   passthru = {
@@ -40,7 +44,7 @@ in buildGoPackage rec {
 
   postInstall = ''
     mkdir -p $ruby
-    cp -rv $src/ruby/{bin,lib,git-hooks,gitlab-shell} $ruby
+    cp -rv $src/ruby/{bin,lib,proto,git-hooks,gitlab-shell} $ruby
 
     # gitlab-shell will try to read its config relative to the source
     # code by default which doesn't work in nixos because it's a
@@ -53,8 +57,9 @@ in buildGoPackage rec {
   outputs = [ "bin" "out" "ruby" ];
 
   meta = with stdenv.lib; {
-    homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
+    homepage = https://gitlab.com/gitlab-org/gitaly;
+    description = "A Git RPC service for handling all the git calls made by GitLab";
+    platforms = platforms.linux;
     maintainers = with maintainers; [ roblabla globin fpletz ];
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 5522185783d3..31210f2d606a 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/nixpkgs/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,12 +73,21 @@
     };
   }
   {
+    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";
       url = "https://github.com/beorn7/perks";
-      rev = "v1.0.0";
-      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
     };
   }
   {
@@ -64,6 +109,15 @@
     };
   }
   {
+    goPackagePath = "github.com/client9/reopen";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/reopen";
+      rev = "v1.0.0";
+      sha256 = "0f0dpdbmvk7w518c6zjhlmp65y55vvx47x4lq9pgzvcbsvjsf18s";
+    };
+  }
+  {
     goPackagePath = "github.com/cloudflare/tableflip";
     fetch = {
       type = "git";
@@ -82,6 +136,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 +154,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 +199,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 +280,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";
@@ -176,8 +338,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.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
@@ -190,6 +370,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 +415,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 +469,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 +514,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";
@@ -253,12 +568,30 @@
     };
   }
   {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      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";
+    };
+  }
+  {
     goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
     fetch = {
       type = "git";
       url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
     };
   }
   {
@@ -271,6 +604,60 @@
     };
   }
   {
+    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/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev = "v1.2.0";
+      sha256 = "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
@@ -289,6 +676,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 +712,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 +739,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 +761,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.7.0";
-      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -338,8 +770,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.4.3";
-      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
     };
   }
   {
@@ -361,12 +793,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";
     };
   }
   {
@@ -410,8 +851,44 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "v0.0.2";
-      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sebest/xff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sebest/xff";
+      rev = "6c115e0ffa35";
+      sha256 = "0l11d8mc870vxzgi74cc9dqr7kgxjmbfkfi53gc30rsyx877jx4h";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -419,8 +896,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev = "v1.2.0";
-      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+      rev = "v1.3.0";
+      sha256 = "0ib7k8cwxn53dyxd3af1g81z018n77n6q64pm4miznirf7c2c9gk";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -437,8 +932,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -478,12 +973,120 @@
     };
   }
   {
-    goPackagePath = "gitlab.com/gitlab-org/gitaly-proto";
+    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://gitlab.com/gitlab-org/gitaly-proto.git";
-      rev = "v1.36.0";
-      sha256 = "0xma8ys3lf1bdhlkmcis31xs1h1dshcr5796wwfwnzijwk6422m3";
+      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";
     };
   }
   {
@@ -491,8 +1094,8 @@
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/labkit.git";
-      rev = "0c3fc7cdd57c";
-      sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i";
+      rev = "3253d7975ca7";
+      sha256 = "1q7vqcbwzgwk4n09jnzdh2filv1aqclw9bgf3qjr5qrfk7hby58s";
     };
   }
   {
@@ -509,8 +1112,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+      rev = "4def268fd1a4";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
     };
   }
   {
@@ -518,8 +1121,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
     };
   }
   {
@@ -545,8 +1148,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
@@ -554,8 +1157,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d0b11bdaac8a";
-      sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
     };
   }
   {
@@ -563,8 +1166,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
     };
   }
   {
@@ -572,8 +1175,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
+      rev = "2c0ae7006135";
+      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
     };
   }
   {
@@ -599,8 +1202,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev = "v1.16.0";
-      sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
     };
   }
   {
@@ -626,8 +1229,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
     };
   }
   {
@@ -640,6 +1243,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";
@@ -662,8 +1292,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
+      rev = "ea95bdfd59fc";
+      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch
new file mode 100644
index 000000000000..65e130078b7f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch
@@ -0,0 +1,13 @@
+diff --git a/internal/config/config.go b/internal/config/config.go
+index 037c9602..3d5409dc 100644
+--- a/internal/config/config.go
++++ b/internal/config/config.go
+@@ -185,7 +185,7 @@ func checkExecutable(path string) error {
+ 		return err
+ 	}
+ 
+-	if fi.Mode()&0755 < 0755 {
++	if fi.Mode()&0555 < 0555 {
+ 		return fmt.Errorf("not executable: %v", path)
+ 	}
+ 
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index fd1af22dd78e..638f6512c1a3 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
+      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
+      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
+      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -205,12 +205,14 @@
     version = "0.15.4";
   };
   ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.1";
   };
   gemojione = {
     dependencies = ["json"];
@@ -221,27 +223,16 @@
     };
     version = "3.3.0";
   };
-  gitaly-proto = {
-    dependencies = ["grpc"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11bkrf2z5ppp55cipawdpinrva42x12grp2gl1dp1jdb35crqick";
-      type = "gem";
-    };
-    version = "1.36.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 = {
@@ -283,15 +274,15 @@
     version = "2.8.2";
   };
   gitlab-labkit = {
-    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
+    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
+      sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.5.2";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -317,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"];
@@ -339,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"];
@@ -427,10 +418,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "0npqav026zd7r4qdidq9x5nxcp2dzg71bnp421xxx7sngbxf2xbd";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.1";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -468,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"];
@@ -489,10 +490,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
+      sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1";
       type = "gem";
     };
-    version = "1.2.10";
+    version = "1.3.1";
   };
   multi_json = {
     source = {
@@ -516,10 +517,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -649,10 +650,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.3.0";
   };
   rainbow = {
     source = {
@@ -672,22 +673,34 @@
     version = "0.4.11";
   };
   rdoc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
+      type = "gem";
+    };
+    version = "6.2.0";
+  };
+  redis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "4.1.2";
   };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
+      sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.11.0";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@@ -778,10 +791,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
+      sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx";
       type = "gem";
     };
-    version = "0.28.1";
+    version = "0.28.4.1";
   };
   safe_yaml = {
     groups = ["default" "development" "test"];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index cd4784b36c8e..53dd1bb7ffb0 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -1,47 +1,32 @@
-{ stdenv, ruby, bundler, fetchFromGitLab, go }:
-
-stdenv.mkDerivation rec {
-  version = "9.3.0";
-  pname = "gitlab-shell";
+{ stdenv, fetchFromGitLab, buildGoPackage, ruby }:
 
+buildGoPackage rec {
+  pname = "gitlab-shell-go";
+  version = "10.3.0";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "1r000h4sgplx7giqvqs5iy0zh3drf6qa1iiq0mxlk3h9fshs1348";
+    sha256 = "0kxbw2n5kabh0876xqn1dcjbxyrp82ms566rw065nqrb32g8c2hk";
   };
 
-  buildInputs = [ ruby bundler go ];
+  buildInputs = [ ruby ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  installPhase = ''
-    export GOCACHE="$TMPDIR/go-cache"
-
-    ruby bin/compile
-    mkdir -p $out/
-    cp -R . $out/
-
-    # Nothing to install ATM for non-development but keeping the
-    # install command anyway in case that changes in the future:
-    export HOME=$(pwd)
-    bundle install -j4 --verbose --local --deployment --without development test
-  '';
+  goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
+  goDeps = ./deps.nix;
 
-  # gitlab-shell will try to read its config relative to the source
-  # code by default which doesn't work in nixos because it's a
-  # read-only filesystem
-  postPatch = ''
-    substituteInPlace lib/gitlab_config.rb --replace \
-       "File.join(ROOT_PATH, 'config.yml')" \
-       "'/run/gitlab/shell-config.yml'"
+  postInstall = ''
+    cp -r "$NIX_BUILD_TOP/go/src/$goPackagePath"/bin/* $bin/bin
+    cp -r "$NIX_BUILD_TOP/go/src/$goPackagePath"/{support,VERSION} $bin/
   '';
 
   meta = with stdenv.lib; {
     description = "SSH access and repository management app for GitLab";
     homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz globin ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz globin talyz ];
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
new file mode 100644
index 000000000000..b4105f18c102
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
@@ -0,0 +1,714 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "bou.ke/monkey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bouk/monkey";
+      rev = "v1.0.1";
+      sha256 = "050y07pwx5zk7fchp0lhf35w417sml7lxkkzly8f932fy25rydz5";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "v0.26.0";
+      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.0";
+      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+    };
+  }
+  {
+    goPackagePath = "github.com/certifi/gocertifi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/certifi/gocertifi";
+      rev = "ee1a9a0726d2";
+      sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
+    };
+  }
+  {
+    goPackagePath = "github.com/client9/misspell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/misspell";
+      rev = "v0.3.4";
+      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
+    };
+  }
+  {
+    goPackagePath = "github.com/cloudflare/tableflip";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cloudflare/tableflip";
+      rev = "8392f1641731";
+      sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8";
+    };
+  }
+  {
+    goPackagePath = "github.com/codahale/hdrhistogram";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codahale/hdrhistogram";
+      rev = "3a0bb77429bd";
+      sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57";
+    };
+  }
+  {
+    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/getsentry/raven-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/getsentry/raven-go";
+      rev = "v0.1.2";
+      sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-stack/stack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.1.1";
+      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/glog";
+      rev = "23def4e6c14b";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/golang/mock";
+      rev = "v1.1.1";
+      sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      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/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.1";
+      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
+      rev = "v1.0.0";
+      sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
+      rev = "v1.2.0";
+      sha256 = "1lzk54h7np32b3acidg1ggbn8ppbnns0m71gcg9d1qkkdh8zrijl";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.6";
+      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/kelseyhightower/envconfig";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kelseyhightower/envconfig";
+      rev = "v1.3.0";
+      sha256 = "1zcq480ig7wbg4378qcfxznp2gzqmk7x6rbxizflvg9v2f376vrw";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.1";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    goPackagePath = "github.com/libgit2/git2go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libgit2/git2go";
+      rev = "ecaeb7a21d47";
+      sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr";
+    };
+  }
+  {
+    goPackagePath = "github.com/lightstep/lightstep-tracer-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lightstep/lightstep-tracer-go";
+      rev = "v0.15.6";
+      sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-shellwords";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-shellwords";
+      rev = "2444a32a19f4";
+      sha256 = "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d";
+    };
+  }
+  {
+    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/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.7.0";
+      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.4.3";
+      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+    };
+  }
+  {
+    goPackagePath = "github.com/opentracing/opentracing-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opentracing/opentracing-go";
+      rev = "v1.0.2";
+      sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/copy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/copy";
+      rev = "v1.0.1";
+      sha256 = "0xmy0kfcx48q10s040579pcjswfaxlwhv7a2z07z9r92fdrgw03k";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/mint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/mint";
+      rev = "v1.2.3";
+      sha256 = "00slgv9mw2m22ix5prz2a98ji6kpzr0ap6bqs568rfdmk6hm5f0k";
+    };
+  }
+  {
+    goPackagePath = "github.com/philhofer/fwd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/philhofer/fwd";
+      rev = "v1.0.0";
+      sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    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 = "v1.0.0";
+      sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.2";
+      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/tinylib/msgp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tinylib/msgp";
+      rev = "v1.1.0";
+      sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber-go/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.3.2";
+      sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber/jaeger-client-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber/jaeger-client-go";
+      rev = "v2.15.0";
+      sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber/jaeger-lib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber/jaeger-lib";
+      rev = "v1.5.0";
+      sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
+    };
+  }
+  {
+    goPackagePath = "gitlab.com/gitlab-org/gitaly";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.com/gitlab-org/gitaly.git";
+      rev = "v1.68.0";
+      sha256 = "06w2qx9r7wxhpk6a3icqa0l6hr7x2j2k11kni1ksdx1m1100myjb";
+    };
+  }
+  {
+    goPackagePath = "gitlab.com/gitlab-org/labkit";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.com/gitlab-org/labkit.git";
+      rev = "0c3fc7cdd57c";
+      sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.3.2";
+      sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "20be4c3c3ed5";
+      sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "d28f0bde5980";
+      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "d2e6202438be";
+      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "953cdadca894";
+      sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "2c0ae7006135";
+      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.1.0";
+      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "bd91e49a0898";
+      sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/DataDog/dd-trace-go.v1";
+      rev = "v1.7.0";
+      sha256 = "0j45skiiayfsaw8id4g20k51zfr0raj47a03q2icka5xrh3qj6yq";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    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.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "ea95bdfd59fc";
+      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
index d8337ebb9ea4..ee00070df2d7 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
@@ -1,16 +1,16 @@
-diff --git a/go/internal/config/config.go b/go/internal/config/config.go
-index f951fe6..b422fe3 100644
---- a/go/internal/config/config.go
-+++ b/go/internal/config/config.go
+diff --git a/internal/config/config.go b/internal/config/config.go
+index 2231851..c869930 100644
+--- a/internal/config/config.go
++++ b/internal/config/config.go
 @@ -3,7 +3,6 @@ package config
  import (
  	"io/ioutil"
  	"net/url"
 -	"os"
  	"path"
- 	"strings"
+ 	"path/filepath"
  
-@@ -30,16 +29,13 @@ type Config struct {
+@@ -38,16 +37,13 @@ type Config struct {
  }
  
  func New() (*Config, error) {
@@ -28,44 +28,30 @@ index f951fe6..b422fe3 100644
 +	return newFromFile("/run/gitlab/shell-config.yml")
  }
  
- func (c *Config) FeatureEnabled(featureName string) bool {
-diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
-index 0600a18..c46f2d7 100644
---- a/lib/gitlab_keys.rb
-+++ b/lib/gitlab_keys.rb
-@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength
-   attr_accessor :auth_file, :key
- 
-   def self.command(whatever)
--    "#{ROOT_PATH}/bin/gitlab-shell #{whatever}"
-+    "/run/current-system/sw/bin/gitlab-shell #{whatever}"
-   end
+ func newFromFile(filename string) (*Config, error) {
+diff --git a/internal/keyline/key_line.go b/internal/keyline/key_line.go
+index c29a320..c44b701 100644
+--- a/internal/keyline/key_line.go
++++ b/internal/keyline/key_line.go
+@@ -36,7 +36,7 @@ func NewPrincipalKeyLine(keyId string, principal string, rootDir string) (*KeyLi
+ }
  
-   def self.command_key(key_id)
-diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
-index 2cb76a8..f59ad5e 100644
---- a/lib/gitlab_shell.rb
-+++ b/lib/gitlab_shell.rb
-@@ -190,7 +190,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength
+ func (k *KeyLine) ToString() string {
+-	command := fmt.Sprintf("%s %s-%s", path.Join(k.RootDir, executable.BinDir, executable.GitlabShell), k.Prefix, k.Id)
++	command := fmt.Sprintf("%s %s-%s", path.Join("/run/current-system/sw/bin", executable.GitlabShell), k.Prefix, k.Id)
  
-     args = [executable, gitaly_address, json_args]
-     # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
--    Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
-+    # Except we don't, because we're already in the right directory on nixos!
-+    Kernel.exec(env, *args, unsetenv_others: true)
+ 	return fmt.Sprintf(`command="%s",%s %s`, command, SshOptions, k.Value)
+ }
+diff --git a/support/gitlab_config.rb b/support/gitlab_config.rb
+index 52ac5ee..d96baa3 100644
+--- a/support/gitlab_config.rb
++++ b/support/gitlab_config.rb
+@@ -7,7 +7,7 @@ class GitlabConfig
+   attr_reader :config
+ 
+   def initialize
+-    @config = YAML.load_file(File.join(ROOT_PATH, 'config.yml'))
++    @config = YAML.load_file('/run/gitlab/shell-config.yml')
    end
  
-   def api
-diff --git a/go/internal/command/fallback/fallback.go b/go/internal/command/fallback/fallback.go
-index 2cb76a8..f59ad5e 100644
---- a/go/internal/command/fallback/fallback.go
-+++ b/go/internal/command/fallback/fallback.go
-@@ -21,7 +21,7 @@
- )
- 
- func (c *Command) Execute() error {
--	rubyCmd := filepath.Join(c.RootDir, "bin", RubyProgram)
-+	rubyCmd := filepath.Join("/run/current-system/sw/bin", RubyProgram)
- 
- 	// Ensure rubyArgs[0] is the full path to gitlab-shell-ruby
- 	rubyArgs := append([]string{rubyCmd}, c.Args[1:]...)
+   def auth_file
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 12f354bc2fb9..0e10cdc882d0 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -1,25 +1,36 @@
-{ stdenv, fetchFromGitLab, git, go }:
+{ stdenv, fetchFromGitLab, git, buildGoPackage }:
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.7.0";
+  version = "8.18.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1zlngc498hnzbxwdjn3ymr0xwrnfgnzzhn9lyf37yfbjl8x28n3z";
+    sha256 = "0qsbz8gv9r9wfvxsh9mpspgs2gyyidxdz5n9n7ibfy7z129mx4ak";
   };
 
-  buildInputs = [ git go ];
+  goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
+  goDeps = ./deps.nix;
+  buildInputs = [ git ];
+  buildFlagsArray = "-ldflags=-X main.Version=${version}";
 
-  makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" "GOCACHE=$(TMPDIR)/go-cache" ];
+  # gitlab-workhorse depends on an older version of labkit which
+  # contains old, vendored versions of some packages; gitlab-workhorse
+  # also explicitly depends on newer versions of these libraries,
+  # but buildGoPackage exposes the vendored versions instead,
+  # leading to compilation errors. Since the vendored libraries
+  # aren't used here anyway, we'll just remove them.
+  postConfigure = ''
+    rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/labkit/vendor"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz globin ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz globin talyz ];
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
new file mode 100644
index 000000000000..c27c5bbf5488
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
@@ -0,0 +1,1416 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "v0.26.0";
+      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/FZambia/sentinel";
+    fetch = {
+      type = "git";
+      url = "https://github.com/FZambia/sentinel";
+      rev = "v1.0.0";
+      sha256 = "14cfngdy0n5rg7nrvxg1ydcjd18v0s8h33jx9wkln5ms0d59kfly";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.0";
+      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+    };
+  }
+  {
+    goPackagePath = "github.com/certifi/gocertifi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/certifi/gocertifi";
+      rev = "ee1a9a0726d2";
+      sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
+    };
+  }
+  {
+    goPackagePath = "github.com/client9/misspell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/misspell";
+      rev = "v0.3.4";
+      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
+    };
+  }
+  {
+    goPackagePath = "github.com/client9/reopen";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/reopen";
+      rev = "v1.0.0";
+      sha256 = "0f0dpdbmvk7w518c6zjhlmp65y55vvx47x4lq9pgzvcbsvjsf18s";
+    };
+  }
+  {
+    goPackagePath = "github.com/cloudflare/tableflip";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cloudflare/tableflip";
+      rev = "8392f1641731";
+      sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8";
+    };
+  }
+  {
+    goPackagePath = "github.com/codahale/hdrhistogram";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codahale/hdrhistogram";
+      rev = "3a0bb77429bd";
+      sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    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";
+      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";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.1.1";
+      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/gddo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/gddo";
+      rev = "af0f2af80721";
+      sha256 = "0ja0xwgg31i2fyqn0b9sf1rjsqkw34kwrr0k0iczzn19mhhc3m7j";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/glog";
+      rev = "23def4e6c14b";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/golang/mock";
+      rev = "v1.1.1";
+      sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/gomodule/redigo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gomodule/redigo";
+      rev = "v2.0.0";
+      sha256 = "1kg7s8027b4g1sfw0v3nh30c15j407kv684s53gg281r807dnfpk";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.1";
+      sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.1";
+      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
+    };
+  }
+  {
+    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/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.0";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
+      rev = "v1.0.0";
+      sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
+      rev = "v1.2.0";
+      sha256 = "1lzk54h7np32b3acidg1ggbn8ppbnns0m71gcg9d1qkkdh8zrijl";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    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/jfbus/httprs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jfbus/httprs";
+      rev = "b0af8319bb15";
+      sha256 = "05cg9a27i9g92n3bivqrrqznccl5lfadlk97sp9izmd368dl5qvc";
+    };
+  }
+  {
+    goPackagePath = "github.com/jpillora/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jpillora/backoff";
+      rev = "8eab2debe79d";
+      sha256 = "1m5z0703094vhbbmp6s7n6kk7ci5s1pfjq466mz14zp8d1w0yn3x";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.6";
+      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/kelseyhightower/envconfig";
+      rev = "v1.3.0";
+      sha256 = "1zcq480ig7wbg4378qcfxznp2gzqmk7x6rbxizflvg9v2f376vrw";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      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";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/libgit2/git2go";
+      rev = "ecaeb7a21d47";
+      sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr";
+    };
+  }
+  {
+    goPackagePath = "github.com/lightstep/lightstep-tracer-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lightstep/lightstep-tracer-go";
+      rev = "v0.15.6";
+      sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    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/mitchellh/copystructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/copystructure";
+      rev = "v1.0.0";
+      sha256 = "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/reflectwalk";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/reflectwalk";
+      rev = "v1.0.0";
+      sha256 = "0wzkp0fdx22n8f7y9y37dgmnlrlfsv9zjdb48cbx7rsqsbnny7l0";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
+    };
+  }
+  {
+    goPackagePath = "github.com/opentracing/opentracing-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opentracing/opentracing-go";
+      rev = "v1.0.2";
+      sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
+    };
+  }
+  {
+    goPackagePath = "github.com/philhofer/fwd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/philhofer/fwd";
+      rev = "v1.0.0";
+      sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
+    };
+  }
+  {
+    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.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    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 = "v1.0.0";
+      sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.2";
+      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+    };
+  }
+  {
+    goPackagePath = "github.com/rafaeljusto/redigomock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rafaeljusto/redigomock";
+      rev = "257e089e14a1";
+      sha256 = "1k572vsda7q5l42s1kn5bjkfb30jshsbc96dz4cnghg43qylyd6h";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/go-internal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-internal";
+      rev = "v1.3.0";
+      sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
+    };
+  }
+  {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sebest/xff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sebest/xff";
+      rev = "6c115e0ffa35";
+      sha256 = "0l11d8mc870vxzgi74cc9dqr7kgxjmbfkfi53gc30rsyx877jx4h";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.3.0";
+      sha256 = "0ib7k8cwxn53dyxd3af1g81z018n77n6q64pm4miznirf7c2c9gk";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "github.com/tinylib/msgp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tinylib/msgp";
+      rev = "v1.1.0";
+      sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber-go/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.3.2";
+      sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber/jaeger-client-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber/jaeger-client-go";
+      rev = "v2.15.0";
+      sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj";
+    };
+  }
+  {
+    goPackagePath = "github.com/uber/jaeger-lib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber/jaeger-lib";
+      rev = "v1.5.0";
+      sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
+    };
+  }
+  {
+    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/gitaly";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.com/gitlab-org/gitaly.git";
+      rev = "v1.74.0";
+      sha256 = "1gmrpzm4ijw8g1xj8b3vmvg4cmis7shvwxp5vl2r47a8mh2ql5pd";
+    };
+  }
+  {
+    goPackagePath = "gitlab.com/gitlab-org/labkit";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.com/gitlab-org/labkit.git";
+      rev = "3253d7975ca7";
+      sha256 = "1q7vqcbwzgwk4n09jnzdh2filv1aqclw9bgf3qjr5qrfk7hby58s";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.3.2";
+      sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "4def268fd1a4";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "4bf6d317e70e";
+      sha256 = "19lg1ly3j31anx92p0hynic1gjk417wwxphfdrb2cq1c19kj3r17";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "d28f0bde5980";
+      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "d2e6202438be";
+      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "6e04913cbbac";
+      sha256 = "1314j8r4cp69a12nqdaljd06r6hmh3b1v4xyrz8prw6gx5jg7h3q";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.1.0";
+      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "bd91e49a0898";
+      sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/DataDog/dd-trace-go.v1";
+      rev = "v1.7.0";
+      sha256 = "0j45skiiayfsaw8id4g20k51zfr0raj47a03q2icka5xrh3qj6yq";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    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";
+      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.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "v0.0.1-2019.2.2";
+      sha256 = "1vndpwg797z2gw9h9378iq99aqy7nalqx82lgvcsaqnkypdmppnd";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/nixpkgs/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index 7a2bfea0c109..846bdeff48d3 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -150,3 +150,14 @@ index b276a81eac..070e3ebd81 100644
        end
      end
    end
+--- a/lib/gitlab/authorized_keys.rb
++++ b/lib/gitlab/authorized_keys.rb
+@@ -157,7 +157,7 @@
+         raise KeyError, "Invalid ID: #{id.inspect}"
+       end
+ 
+-      "#{File.join(Gitlab.config.gitlab_shell.path, 'bin', 'gitlab-shell')} #{id}"
++      "#{File.join('/run/current-system/sw/bin', 'gitlab-shell')} #{id}"
+     end
+ 
+     def strip(key)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
deleted file mode 100644
index 8bffc2a973d9..000000000000
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
+++ /dev/null
@@ -1,449 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rails', '5.2.3'
-
-# Improves copy-on-write performance for MRI
-gem 'nakayoshi_fork', '~> 0.0.4'
-
-# Responders respond_to and respond_with
-gem 'responders', '~> 2.0'
-
-gem 'sprockets', '~> 3.7.0'
-
-# Default values for AR models
-gem 'default_value_for', '~> 3.2.0'
-
-# Supported DBs
-gem 'mysql2', '~> 0.4.10', group: :mysql
-gem 'pg', '~> 1.1', group: :postgres
-
-gem 'rugged', '~> 0.28'
-gem 'grape-path-helpers', '~> 1.1'
-
-gem 'faraday', '~> 0.12'
-
-# Authentication libraries
-gem 'devise', '~> 4.6'
-gem 'doorkeeper', '~> 4.3'
-gem 'doorkeeper-openid_connect', '~> 1.5'
-gem 'omniauth', '~> 1.8'
-gem 'omniauth-auth0', '~> 2.0.0'
-gem 'omniauth-azure-oauth2', '~> 0.0.9'
-gem 'omniauth-cas3', '~> 1.1.4'
-gem 'omniauth-facebook', '~> 4.0.0'
-gem 'omniauth-github', '~> 1.3'
-gem 'omniauth-gitlab', '~> 1.0.2'
-gem 'omniauth-google-oauth2', '~> 0.6.0'
-gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
-gem 'omniauth-oauth2-generic', '~> 0.2.2'
-gem 'omniauth-saml', '~> 1.10'
-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-ultraauth", '~> 0.0.2'
-gem 'omniauth-salesforce', '~> 1.0.5'
-gem 'rack-oauth2', '~> 1.9.3'
-gem 'jwt', '~> 2.1.0'
-
-# Spam and anti-bot protection
-gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
-gem 'akismet', '~> 2.0'
-
-# Two-factor authentication
-gem 'devise-two-factor', '~> 3.0.0'
-gem 'rqrcode-rails3', '~> 0.1.7'
-gem 'attr_encrypted', '~> 3.1.0'
-gem 'u2f', '~> 0.2.1'
-
-# GitLab Pages
-gem 'validates_hostname', '~> 1.0.6'
-gem 'rubyzip', '~> 1.2.2', require: 'zip'
-# GitLab Pages letsencrypt support
-gem 'acme-client', '~> 2.0.2'
-
-# Browser detection
-gem 'browser', '~> 2.5'
-
-# GPG
-gem 'gpgme', '~> 2.0.18'
-
-# LDAP Auth
-# GitLab fork with several improvements to original library. For full list of changes
-# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
-gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap'
-gem 'net-ldap'
-
-# API
-gem 'grape', '~> 1.1.0'
-gem 'grape-entity', '~> 0.7.1'
-gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
-
-# GraphQL API
-gem 'graphql', '~> 1.8.0'
-gem 'graphiql-rails', '~> 1.4.10'
-gem 'apollo_upload_server', '~> 2.0.0.beta3'
-gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
-
-# Disable strong_params so that Mash does not respond to :permitted?
-gem 'hashie-forbidden_attributes'
-
-# Pagination
-gem 'kaminari', '~> 1.0'
-
-# HAML
-gem 'hamlit', '~> 2.8.8'
-
-# Files attachments
-gem 'carrierwave', '~> 1.3'
-gem 'mini_magick'
-
-# for backups
-gem 'fog-aws', '~> 3.5'
-# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
-# Also see config/initializers/fog_core_patch.rb.
-gem 'fog-core', '= 2.1.0'
-gem 'fog-google', '~> 1.8'
-gem 'fog-local', '~> 0.6'
-gem 'fog-openstack', '~> 1.0'
-gem 'fog-rackspace', '~> 0.1.1'
-gem 'fog-aliyun', '~> 0.3'
-
-# for Google storage
-gem 'google-api-client', '~> 0.23'
-
-# for aws storage
-gem 'unf', '~> 0.1.4'
-
-# Seed data
-gem 'seed-fu', '~> 2.3.7'
-
-# Markdown and HTML processing
-gem 'html-pipeline', '~> 2.8'
-gem 'deckar01-task_list', '2.2.0'
-gem 'gitlab-markup', '~> 1.7.0'
-gem 'github-markup', '~> 1.7.0', require: 'github/markup'
-gem 'commonmarker', '~> 0.17'
-gem 'RedCloth', '~> 4.3.2'
-gem 'rdoc', '~> 6.0'
-gem 'org-ruby', '~> 0.9.12'
-gem 'creole', '~> 0.5.0'
-gem 'wikicloth', '0.8.1'
-gem 'asciidoctor', '~> 2.0.10'
-gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
-gem 'asciidoctor-plantuml', '0.0.9'
-gem 'rouge', '~> 3.5'
-gem 'truncato', '~> 0.7.11'
-gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.3'
-gem 'escape_utils', '~> 1.1'
-
-# Calendar rendering
-gem 'icalendar'
-
-# Diffs
-gem 'diffy', '~> 3.1.0'
-
-# Application server
-gem 'rack', '~> 2.0.7'
-
-group :unicorn do
-  gem 'unicorn', '~> 5.4.1'
-  gem 'unicorn-worker-killer', '~> 0.4.4'
-end
-
-group :puma do
-  gem 'puma', '~> 3.12', require: false
-  gem 'puma_worker_killer', require: false
-  gem 'rack-timeout', require: false
-end
-
-# State machine
-gem 'state_machines-activerecord', '~> 0.5.1'
-
-# Issue tags
-gem 'acts-as-taggable-on', '~> 6.0'
-
-# Background jobs
-gem 'sidekiq', '~> 5.2.7'
-gem 'sidekiq-cron', '~> 1.0'
-gem 'redis-namespace', '~> 1.6.0'
-gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch'
-
-# Cron Parser
-gem 'fugit', '~> 1.2.1'
-
-# HTTP requests
-gem 'httparty', '~> 0.16.4'
-
-# Colored output to console
-gem 'rainbow', '~> 3.0'
-
-# Progress bar
-gem 'ruby-progressbar'
-
-# GitLab settings
-gem 'settingslogic', '~> 2.0.9'
-
-# Linear-time regex library for untrusted regular expressions
-gem 're2', '~> 1.1.1'
-
-# Misc
-
-gem 'version_sorter', '~> 2.2.4'
-
-# Export Ruby Regex to Javascript
-gem 'js_regex', '~> 3.1'
-
-# User agent parsing
-gem 'device_detector'
-
-# Cache
-gem 'redis-rails', '~> 5.0.2'
-
-# Redis
-gem 'redis', '~> 3.2'
-gem 'connection_pool', '~> 2.0'
-
-# Discord integration
-gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
-
-# HipChat integration
-gem 'hipchat', '~> 1.5.0'
-
-# Jira integration
-gem 'jira-ruby', '~> 1.4'
-
-# Flowdock integration
-gem 'flowdock', '~> 0.7'
-
-# Slack integration
-gem 'slack-notifier', '~> 1.5.1'
-
-# Hangouts Chat integration
-gem 'hangouts-chat', '~> 0.0.5'
-
-# Asana integration
-gem 'asana', '~> 0.8.1'
-
-# FogBugz integration
-gem 'ruby-fogbugz', '~> 0.2.1'
-
-# Kubernetes integration
-gem 'kubeclient', '~> 4.2.2'
-
-# Sanitize user input
-gem 'sanitize', '~> 4.6'
-gem 'babosa', '~> 1.0.2'
-
-# Sanitizes SVG input
-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'
-
-# Detect and convert string character encoding
-gem 'charlock_holmes', '~> 0.7.5'
-
-# Detect mime content type from content
-gem 'mimemagic', '~> 0.3.2'
-
-# Faster blank
-gem 'fast_blank'
-
-# Parse time & duration
-gem 'chronic', '~> 0.10.2'
-gem 'chronic_duration', '~> 0.10.6'
-
-gem 'webpack-rails', '~> 0.9.10'
-gem 'rack-proxy', '~> 0.6.0'
-
-gem 'sassc-rails', '~> 2.1.0'
-gem 'uglifier', '~> 2.7.2'
-
-gem 'addressable', '~> 2.5.2'
-gem 'font-awesome-rails', '~> 4.7'
-gem 'gemojione', '~> 3.3'
-gem 'gon', '~> 6.2'
-gem 'request_store', '~> 1.3'
-gem 'virtus', '~> 1.0.1'
-gem 'base32', '~> 0.3.0'
-
-# Sentry integration
-gem 'sentry-raven', '~> 2.9'
-
-gem 'premailer-rails', '~> 1.9.7'
-
-# LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '~> 0.3.0'
-
-# I18n
-gem 'ruby_parser', '~> 3.8', require: false
-gem 'rails-i18n', '~> 5.1'
-gem 'gettext_i18n_rails', '~> 1.8.0'
-gem 'gettext_i18n_rails_js', '~> 1.3'
-gem 'gettext', '~> 3.2.2', require: false, group: :development
-
-gem 'batch-loader', '~> 1.4.0'
-
-# Perf bar
-gem 'peek', '~> 1.0.1'
-gem 'peek-gc', '~> 0.0.2'
-gem 'peek-mysql2', '~> 1.2.0', group: :mysql
-gem 'peek-pg', '~> 1.3.0', group: :postgres
-gem 'peek-rblineprof', '~> 0.2.0'
-gem 'peek-redis', '~> 1.2.0'
-
-# Memory benchmarks
-gem 'derailed_benchmarks', require: false
-
-# Metrics
-group :metrics do
-  gem 'method_source', '~> 0.8', require: false
-  gem 'influxdb', '~> 0.2', require: false
-
-  # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.9.8'
-  gem 'raindrops', '~> 0.18'
-end
-
-group :development do
-  gem 'foreman', '~> 0.84.0'
-  gem 'brakeman', '~> 4.2', require: false
-
-  gem 'letter_opener_web', '~> 1.3.4'
-  gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
-
-  # Better errors handler
-  gem 'better_errors', '~> 2.5.0'
-  gem 'binding_of_caller', '~> 0.8.0'
-
-  # thin instead webrick
-  gem 'thin', '~> 1.7.0'
-end
-
-group :development, :test do
-  gem 'bootsnap', '~> 1.4'
-  gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
-  gem 'pry-byebug', '~> 3.5.1', platform: :mri
-  gem 'pry-rails', '~> 0.3.4'
-
-  gem 'awesome_print', require: false
-  gem 'fuubar', '~> 2.2.0'
-
-  gem 'database_cleaner', '~> 1.7.0'
-  gem 'factory_bot_rails', '~> 4.8.2'
-  gem 'rspec-rails', '~> 3.8.0'
-  gem 'rspec-retry', '~> 0.6.1'
-  gem 'rspec_profiling', '~> 0.0.5'
-  gem 'rspec-set', '~> 0.1.3'
-  gem 'rspec-parameterized', require: false
-
-  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
-  gem 'minitest', '~> 5.11.0'
-
-  # Generate Fake data
-  gem 'ffaker', '~> 2.10'
-
-  gem 'capybara', '~> 3.22.0'
-  gem 'capybara-screenshot', '~> 1.0.22'
-  gem 'selenium-webdriver', '~> 3.141'
-
-  gem 'spring', '~> 2.0.0'
-  gem 'spring-commands-rspec', '~> 1.0.4'
-
-  gem 'gitlab-styles', '~> 2.7', require: false
-  # Pin these dependencies, otherwise a new rule could break the CI pipelines
-  gem 'rubocop', '~> 0.69.0'
-  gem 'rubocop-performance', '~> 1.1.0'
-  gem 'rubocop-rspec', '~> 1.22.1'
-
-  gem 'scss_lint', '~> 0.56.0', require: false
-  gem 'haml_lint', '~> 0.31.0', require: false
-  gem 'simplecov', '~> 0.16.1', require: false
-  gem 'bundler-audit', '~> 0.5.0', require: false
-  gem 'mdl', '~> 0.5.0', require: false
-
-  gem 'benchmark-ips', '~> 2.3.0', require: false
-
-  gem 'license_finder', '~> 5.4', require: false
-  gem 'knapsack', '~> 1.17'
-
-  gem 'activerecord_sane_schema_dumper', '1.0'
-
-  gem 'stackprof', '~> 0.2.10', require: false
-
-  gem 'simple_po_parser', '~> 1.1.2', require: false
-
-  gem 'timecop', '~> 0.8.0'
-end
-
-group :test do
-  gem 'shoulda-matchers', '~> 4.0.1', require: false
-  gem 'email_spec', '~> 2.2.0'
-  gem 'json-schema', '~> 2.8.0'
-  gem 'webmock', '~> 3.5.1'
-  gem 'rails-controller-testing'
-  gem 'sham_rack', '~> 1.3.6'
-  gem 'concurrent-ruby', '~> 1.1'
-  gem 'test-prof', '~> 0.2.5'
-  gem 'rspec_junit_formatter'
-end
-
-gem 'octokit', '~> 4.9'
-
-gem 'mail_room', '~> 0.9.1'
-
-gem 'email_reply_trimmer', '~> 0.1'
-gem 'html2text'
-
-gem 'ruby-prof', '~> 0.17.0'
-gem 'rbtrace', '~> 0.4', require: false
-gem 'memory_profiler', '~> 0.9', require: false
-gem 'benchmark-memory', '~> 0.1', require: false
-gem 'activerecord-explain-analyze', '~> 0.1', require: false
-
-# OAuth
-gem 'oauth2', '~> 1.4'
-
-# Health check
-gem 'health_check', '~> 2.6.0'
-
-# System information
-gem 'vmstat', '~> 2.3.0'
-gem 'sys-filesystem', '~> 1.1.6'
-
-# SSH host key support
-gem 'net-ssh', '~> 5.2'
-gem 'sshkey', '~> 2.0'
-
-# Required for ED25519 SSH host key support
-group :ed25519 do
-  gem 'ed25519', '~> 1.2'
-  gem 'bcrypt_pbkdf', '~> 1.0'
-end
-
-# Gitaly GRPC client
-gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
-
-gem 'grpc', '~> 1.19.0'
-
-gem 'google-protobuf', '~> 3.7.1'
-
-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'
-
-# Structured logging
-gem 'lograge', '~> 0.5'
-gem 'grape_logging', '~> 1.7'
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
deleted file mode 100644
index 60939ae918c8..000000000000
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
+++ /dev/null
@@ -1,1288 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    RedCloth (4.3.2)
-    abstract_type (0.0.7)
-    ace-rails-ap (4.1.2)
-    acme-client (2.0.2)
-      faraday (~> 0.9, >= 0.9.1)
-    actioncable (5.2.3)
-      actionpack (= 5.2.3)
-      nio4r (~> 2.0)
-      websocket-driver (>= 0.6.1)
-    actionmailer (5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 2.0)
-    actionpack (5.2.3)
-      actionview (= 5.2.3)
-      activesupport (= 5.2.3)
-      rack (~> 2.0)
-      rack-test (>= 0.6.3)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.2.3)
-      activesupport (= 5.2.3)
-      builder (~> 3.1)
-      erubi (~> 1.4)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.2.3)
-      activesupport (= 5.2.3)
-      globalid (>= 0.3.6)
-    activemodel (5.2.3)
-      activesupport (= 5.2.3)
-    activerecord (5.2.3)
-      activemodel (= 5.2.3)
-      activesupport (= 5.2.3)
-      arel (>= 9.0)
-    activerecord-explain-analyze (0.1.0)
-      activerecord (>= 4)
-      pg
-    activerecord_sane_schema_dumper (1.0)
-      rails (>= 5, < 6)
-    activestorage (5.2.3)
-      actionpack (= 5.2.3)
-      activerecord (= 5.2.3)
-      marcel (~> 0.3.1)
-    activesupport (5.2.3)
-      concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-    acts-as-taggable-on (6.0.0)
-      activerecord (~> 5.0)
-    adamantium (0.2.0)
-      ice_nine (~> 0.11.0)
-      memoizable (~> 0.4.0)
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    aes_key_wrap (1.0.1)
-    akismet (2.0.0)
-    apollo_upload_server (2.0.0.beta.3)
-      graphql (>= 1.8)
-      rails (>= 4.2)
-    arel (9.0.0)
-    asana (0.8.1)
-      faraday (~> 0.9)
-      faraday_middleware (~> 0.9)
-      faraday_middleware-multi_json (~> 0.0)
-      oauth2 (~> 1.0)
-    asciidoctor (2.0.10)
-    asciidoctor-include-ext (0.3.1)
-      asciidoctor (>= 1.5.6, < 3.0.0)
-    asciidoctor-plantuml (0.0.9)
-      asciidoctor (>= 1.5.6, < 3.0.0)
-    ast (2.4.0)
-    atomic (1.1.99)
-    attr_encrypted (3.1.0)
-      encryptor (~> 3.0.0)
-    attr_required (1.0.1)
-    awesome_print (1.8.0)
-    axiom-types (0.1.1)
-      descendants_tracker (~> 0.0.4)
-      ice_nine (~> 0.11.0)
-      thread_safe (~> 0.3, >= 0.3.1)
-    babosa (1.0.2)
-    base32 (0.3.2)
-    batch-loader (1.4.0)
-    bcrypt (3.1.12)
-    bcrypt_pbkdf (1.0.0)
-    benchmark-ips (2.3.0)
-    benchmark-memory (0.1.2)
-      memory_profiler (~> 0.9)
-    better_errors (2.5.0)
-      coderay (>= 1.0.0)
-      erubi (>= 1.0.0)
-      rack (>= 0.9.0)
-    bindata (2.4.3)
-    binding_ninja (0.2.3)
-    binding_of_caller (0.8.0)
-      debug_inspector (>= 0.0.1)
-    bootsnap (1.4.1)
-      msgpack (~> 1.0)
-    bootstrap_form (4.2.0)
-      actionpack (>= 5.0)
-      activemodel (>= 5.0)
-    brakeman (4.2.1)
-    browser (2.5.3)
-    builder (3.2.3)
-    bullet (5.5.1)
-      activesupport (>= 3.0.0)
-      uniform_notifier (~> 1.10.0)
-    bundler-audit (0.5.0)
-      bundler (~> 1.2)
-      thor (~> 0.18)
-    byebug (9.1.0)
-    capybara (3.22.0)
-      addressable
-      mini_mime (>= 0.1.3)
-      nokogiri (~> 1.8)
-      rack (>= 1.6.0)
-      rack-test (>= 0.6.3)
-      regexp_parser (~> 1.5)
-      xpath (~> 3.2)
-    capybara-screenshot (1.0.22)
-      capybara (>= 1.0, < 4)
-      launchy
-    carrierwave (1.3.1)
-      activemodel (>= 4.0.0)
-      activesupport (>= 4.0.0)
-      mime-types (>= 1.16)
-    cause (0.1)
-    character_set (1.1.2)
-    charlock_holmes (0.7.6)
-    childprocess (0.9.0)
-      ffi (~> 1.0, >= 1.0.11)
-    chronic (0.10.2)
-    chronic_duration (0.10.6)
-      numerizer (~> 0.1.1)
-    chunky_png (1.3.5)
-    citrus (3.0.2)
-    coderay (1.1.2)
-    coercible (1.0.0)
-      descendants_tracker (~> 0.0.1)
-    commonmarker (0.17.13)
-      ruby-enum (~> 0.5)
-    concord (0.1.5)
-      adamantium (~> 0.2.0)
-      equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.5)
-    concurrent-ruby-ext (1.1.5)
-      concurrent-ruby (= 1.1.5)
-    connection_pool (2.2.2)
-    crack (0.4.3)
-      safe_yaml (~> 1.0.0)
-    crass (1.0.4)
-    creole (0.5.0)
-    css_parser (1.5.0)
-      addressable
-    daemons (1.2.6)
-    database_cleaner (1.7.0)
-    debug_inspector (0.0.3)
-    debugger-ruby_core_source (1.3.8)
-    deckar01-task_list (2.2.0)
-      html-pipeline
-    declarative (0.0.10)
-    declarative-option (0.1.0)
-    default_value_for (3.2.0)
-      activerecord (>= 3.2.0, < 6.0)
-    derailed_benchmarks (1.3.5)
-      benchmark-ips (~> 2)
-      get_process_mem (~> 0)
-      heapy (~> 0)
-      memory_profiler (~> 0)
-      rack (>= 1)
-      rake (> 10, < 13)
-      thor (~> 0.19)
-    descendants_tracker (0.0.4)
-      thread_safe (~> 0.3, >= 0.3.1)
-    device_detector (1.0.0)
-    devise (4.6.2)
-      bcrypt (~> 3.0)
-      orm_adapter (~> 0.1)
-      railties (>= 4.1.0, < 6.0)
-      responders
-      warden (~> 1.2.3)
-    devise-two-factor (3.0.0)
-      activesupport
-      attr_encrypted (>= 1.3, < 4, != 2)
-      devise (~> 4.0)
-      railties
-      rotp (~> 2.0)
-    diff-lcs (1.3)
-    diffy (3.1.0)
-    discordrb-webhooks-blackst0ne (3.3.0)
-      rest-client (~> 2.0)
-    docile (1.3.1)
-    domain_name (0.5.20180417)
-      unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (4.3.2)
-      railties (>= 4.2)
-    doorkeeper-openid_connect (1.5.0)
-      doorkeeper (~> 4.3)
-      json-jwt (~> 1.6)
-    ed25519 (1.2.4)
-    email_reply_trimmer (0.1.6)
-    email_spec (2.2.0)
-      htmlentities (~> 4.3.3)
-      launchy (~> 2.1)
-      mail (~> 2.7)
-    encryptor (3.0.0)
-    equalizer (0.0.11)
-    erubi (1.8.0)
-    escape_utils (1.2.1)
-    et-orbi (1.2.1)
-      tzinfo
-    eventmachine (1.2.7)
-    excon (0.62.0)
-    execjs (2.6.0)
-    expression_parser (0.9.0)
-    extended-markdown-filter (0.6.0)
-      html-pipeline (~> 2.0)
-    factory_bot (4.8.2)
-      activesupport (>= 3.0.0)
-    factory_bot_rails (4.8.2)
-      factory_bot (~> 4.8.2)
-      railties (>= 3.0.0)
-    faraday (0.12.2)
-      multipart-post (>= 1.2, < 3)
-    faraday_middleware (0.12.2)
-      faraday (>= 0.7.4, < 1.0)
-    faraday_middleware-multi_json (0.0.6)
-      faraday_middleware
-      multi_json
-    fast_blank (1.0.0)
-    fast_gettext (1.6.0)
-    ffaker (2.10.0)
-    ffi (1.10.0)
-    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)
-    flowdock (0.7.1)
-      httparty (~> 0.7)
-      multi_json
-    fog-aliyun (0.3.3)
-      fog-core
-      fog-json
-      ipaddress (~> 0.8)
-      xml-simple (~> 1.1)
-    fog-aws (3.5.2)
-      fog-core (~> 2.1)
-      fog-json (~> 1.1)
-      fog-xml (~> 0.1)
-      ipaddress (~> 0.8)
-    fog-core (2.1.0)
-      builder
-      excon (~> 0.58)
-      formatador (~> 0.2)
-      mime-types
-    fog-google (1.8.2)
-      fog-core (<= 2.1.0)
-      fog-json (~> 1.2)
-      fog-xml (~> 0.1.0)
-      google-api-client (~> 0.23.0)
-    fog-json (1.2.0)
-      fog-core
-      multi_json (~> 1.10)
-    fog-local (0.6.0)
-      fog-core (>= 1.27, < 3.0)
-    fog-openstack (1.0.8)
-      fog-core (~> 2.1)
-      fog-json (>= 1.0)
-      ipaddress (>= 0.8)
-    fog-rackspace (0.1.1)
-      fog-core (>= 1.35)
-      fog-json (>= 1.0)
-      fog-xml (>= 0.1)
-      ipaddress (>= 0.8)
-    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)
-    formatador (0.2.5)
-    fugit (1.2.1)
-      et-orbi (~> 1.1, >= 1.1.8)
-      raabro (~> 1.1)
-    fuubar (2.2.0)
-      rspec-core (~> 3.0)
-      ruby-progressbar (~> 1.4)
-    gemoji (3.0.1)
-    gemojione (3.3.0)
-      json
-    get_process_mem (0.2.3)
-    gettext (3.2.9)
-      locale (>= 2.0.5)
-      text (>= 1.3.0)
-    gettext_i18n_rails (1.8.0)
-      fast_gettext (>= 0.9.0)
-    gettext_i18n_rails_js (1.3.0)
-      gettext (>= 3.0.2)
-      gettext_i18n_rails (>= 0.7.1)
-      po_to_json (>= 1.0.0)
-      rails (>= 3.2.0)
-    gitaly-proto (1.37.0)
-      grpc (~> 1.0)
-    github-markup (1.7.0)
-    gitlab-labkit (0.3.0)
-      actionpack (~> 5)
-      activesupport (~> 5)
-      grpc (~> 1.19.0)
-      jaeger-client (~> 0.10)
-      opentracing (~> 0.4)
-    gitlab-markup (1.7.0)
-    gitlab-sidekiq-fetcher (0.4.0)
-      sidekiq (~> 5)
-    gitlab-styles (2.7.0)
-      rubocop (~> 0.69.0)
-      rubocop-gitlab-security (~> 0.1.0)
-      rubocop-performance (~> 1.1.0)
-      rubocop-rspec (~> 1.19)
-    gitlab_omniauth-ldap (2.1.1)
-      net-ldap (~> 0.16)
-      omniauth (~> 1.3)
-      pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
-      rubyntlm (~> 0.5)
-    globalid (0.4.2)
-      activesupport (>= 4.2.0)
-    gon (6.2.0)
-      actionpack (>= 3.0)
-      multi_json
-      request_store (>= 1.0)
-    google-api-client (0.23.4)
-      addressable (~> 2.5, >= 2.5.1)
-      googleauth (>= 0.5, < 0.7.0)
-      httpclient (>= 2.8.1, < 3.0)
-      mime-types (~> 3.0)
-      representable (~> 3.0)
-      retriable (>= 2.0, < 4.0)
-    google-protobuf (3.7.1)
-    googleapis-common-protos-types (1.0.4)
-      google-protobuf (~> 3.0)
-    googleauth (0.6.6)
-      faraday (~> 0.12)
-      jwt (>= 1.4, < 3.0)
-      memoist (~> 0.12)
-      multi_json (~> 1.11)
-      os (>= 0.9, < 2.0)
-      signet (~> 0.7)
-    gpgme (2.0.18)
-      mini_portile2 (~> 2.3)
-    grape (1.1.0)
-      activesupport
-      builder
-      mustermann-grape (~> 1.0.0)
-      rack (>= 1.3.0)
-      rack-accept
-      virtus (>= 1.0.0)
-    grape-entity (0.7.1)
-      activesupport (>= 4.0)
-      multi_json (>= 1.3.2)
-    grape-path-helpers (1.1.0)
-      activesupport
-      grape (~> 1.0)
-      rake (~> 12)
-    grape_logging (1.7.0)
-      grape
-    graphiql-rails (1.4.10)
-      railties
-      sprockets-rails
-    graphql (1.8.1)
-    graphql-docs (1.6.0)
-      commonmarker (~> 0.16)
-      escape_utils (~> 1.2)
-      extended-markdown-filter (~> 0.4)
-      gemoji (~> 3.0)
-      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)
-    haml (5.0.4)
-      temple (>= 0.8.0)
-      tilt
-    haml_lint (0.31.0)
-      haml (>= 4.0, < 5.1)
-      rainbow
-      rake (>= 10, < 13)
-      rubocop (>= 0.50.0)
-      sysexits (~> 1.1)
-    hamlit (2.8.8)
-      temple (>= 0.8.0)
-      thor
-      tilt
-    hangouts-chat (0.0.5)
-    hashdiff (0.3.8)
-    hashie (3.5.7)
-    hashie-forbidden_attributes (0.1.1)
-      hashie (>= 3.0)
-    health_check (2.6.0)
-      rails (>= 4.0)
-    heapy (0.1.4)
-    hipchat (1.5.2)
-      httparty
-      mimemagic
-    html-pipeline (2.8.4)
-      activesupport (>= 2)
-      nokogiri (>= 1.4)
-    html2text (0.2.0)
-      nokogiri (~> 1.6)
-    htmlentities (4.3.4)
-    http (3.3.0)
-      addressable (~> 2.3)
-      http-cookie (~> 1.0)
-      http-form_data (~> 2.0)
-      http_parser.rb (~> 0.6.0)
-    http-cookie (1.0.3)
-      domain_name (~> 0.5)
-    http-form_data (2.1.1)
-    http_parser.rb (0.6.0)
-    httparty (0.16.4)
-      mime-types (~> 3.0)
-      multi_xml (>= 0.5.2)
-    httpclient (2.8.3)
-    i18n (1.6.0)
-      concurrent-ruby (~> 1.0)
-    icalendar (2.4.1)
-    ice_nine (0.11.2)
-    influxdb (0.2.3)
-      cause
-      json
-    ipaddress (0.8.3)
-    jaeger-client (0.10.0)
-      opentracing (~> 0.3)
-      thrift
-    jaro_winkler (1.5.2)
-    jira-ruby (1.4.1)
-      activesupport
-      multipart-post
-      oauth (~> 0.5, >= 0.5.0)
-    js_regex (3.1.1)
-      character_set (~> 1.1)
-      regexp_parser (~> 1.1)
-      regexp_property_values (~> 0.3)
-    json (1.8.6)
-    json-jwt (1.9.4)
-      activesupport
-      aes_key_wrap
-      bindata
-    json-schema (2.8.0)
-      addressable (>= 2.4)
-    jwt (2.1.0)
-    kaminari (1.0.1)
-      activesupport (>= 4.1.0)
-      kaminari-actionview (= 1.0.1)
-      kaminari-activerecord (= 1.0.1)
-      kaminari-core (= 1.0.1)
-    kaminari-actionview (1.0.1)
-      actionview
-      kaminari-core (= 1.0.1)
-    kaminari-activerecord (1.0.1)
-      activerecord
-      kaminari-core (= 1.0.1)
-    kaminari-core (1.0.1)
-    kgio (2.11.2)
-    knapsack (1.17.0)
-      rake
-    kramdown (1.17.0)
-    kubeclient (4.2.2)
-      http (~> 3.0)
-      recursive-open-struct (~> 1.0, >= 1.0.4)
-      rest-client (~> 2.0)
-    launchy (2.4.3)
-      addressable (~> 2.3)
-    letter_opener (1.7.0)
-      launchy (~> 2.2)
-    letter_opener_web (1.3.4)
-      actionmailer (>= 3.2)
-      letter_opener (~> 1.0)
-      railties (>= 3.2)
-    license_finder (5.4.0)
-      bundler
-      rubyzip
-      thor
-      toml (= 0.2.0)
-      with_env (= 1.1.0)
-      xml-simple
-    licensee (8.9.2)
-      rugged (~> 0.24)
-    locale (2.1.2)
-    lograge (0.10.0)
-      actionpack (>= 4)
-      activesupport (>= 4)
-      railties (>= 4)
-      request_store (~> 1.0)
-    loofah (2.2.3)
-      crass (~> 1.0.2)
-      nokogiri (>= 1.5.9)
-    mail (2.7.1)
-      mini_mime (>= 0.1.1)
-    mail_room (0.9.1)
-    marcel (0.3.3)
-      mimemagic (~> 0.3.2)
-    mdl (0.5.0)
-      kramdown (~> 1.12, >= 1.12.0)
-      mixlib-cli (~> 1.7, >= 1.7.0)
-      mixlib-config (~> 2.2, >= 2.2.1)
-    memoist (0.16.0)
-    memoizable (0.4.2)
-      thread_safe (~> 0.3, >= 0.3.1)
-    memory_profiler (0.9.13)
-    method_source (0.9.2)
-    mime-types (3.2.2)
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
-    mimemagic (0.3.2)
-    mini_magick (4.8.0)
-    mini_mime (1.0.1)
-    mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    mixlib-cli (1.7.0)
-    mixlib-config (2.2.18)
-      tomlrb
-    msgpack (1.2.10)
-    multi_json (1.13.1)
-    multi_xml (0.6.0)
-    multipart-post (2.0.0)
-    mustermann (1.0.3)
-    mustermann-grape (1.0.0)
-      mustermann (~> 1.0.0)
-    mysql2 (0.4.10)
-    nakayoshi_fork (0.0.4)
-    net-ldap (0.16.0)
-    net-ssh (5.2.0)
-    netrc (0.11.0)
-    nio4r (2.3.1)
-    nokogiri (1.10.3)
-      mini_portile2 (~> 2.4.0)
-    nokogumbo (1.5.0)
-      nokogiri
-    numerizer (0.1.1)
-    oauth (0.5.4)
-    oauth2 (1.4.1)
-      faraday (>= 0.8, < 0.16.0)
-      jwt (>= 1.0, < 3.0)
-      multi_json (~> 1.3)
-      multi_xml (~> 0.5)
-      rack (>= 1.2, < 3)
-    octokit (4.9.0)
-      sawyer (~> 0.8.0, >= 0.5.3)
-    omniauth (1.9.0)
-      hashie (>= 3.4.6, < 3.7.0)
-      rack (>= 1.6.2, < 3)
-    omniauth-auth0 (2.0.0)
-      omniauth-oauth2 (~> 1.4)
-    omniauth-authentiq (0.3.3)
-      jwt (>= 1.5)
-      omniauth-oauth2 (>= 1.5)
-    omniauth-azure-oauth2 (0.0.10)
-      jwt (>= 1.0, < 3.0)
-      omniauth (~> 1.0)
-      omniauth-oauth2 (~> 1.4)
-    omniauth-cas3 (1.1.4)
-      addressable (~> 2.3)
-      nokogiri (~> 1.7, >= 1.7.1)
-      omniauth (~> 1.2)
-    omniauth-facebook (4.0.0)
-      omniauth-oauth2 (~> 1.2)
-    omniauth-github (1.3.0)
-      omniauth (~> 1.5)
-      omniauth-oauth2 (>= 1.4.0, < 2.0)
-    omniauth-gitlab (1.0.3)
-      omniauth (~> 1.0)
-      omniauth-oauth2 (~> 1.0)
-    omniauth-google-oauth2 (0.6.0)
-      jwt (>= 2.0)
-      omniauth (>= 1.1.1)
-      omniauth-oauth2 (>= 1.5)
-    omniauth-kerberos (0.3.0)
-      omniauth-multipassword
-      timfel-krb5-auth (~> 0.8)
-    omniauth-multipassword (0.4.2)
-      omniauth (~> 1.0)
-    omniauth-oauth (1.1.0)
-      oauth
-      omniauth (~> 1.0)
-    omniauth-oauth2 (1.6.0)
-      oauth2 (~> 1.1)
-      omniauth (~> 1.9)
-    omniauth-oauth2-generic (0.2.2)
-      omniauth-oauth2 (~> 1.0)
-    omniauth-salesforce (1.0.5)
-      omniauth (~> 1.0)
-      omniauth-oauth2 (~> 1.0)
-    omniauth-saml (1.10.0)
-      omniauth (~> 1.3, >= 1.3.2)
-      ruby-saml (~> 1.7)
-    omniauth-shibboleth (1.3.0)
-      omniauth (>= 1.0.0)
-    omniauth-twitter (1.4.0)
-      omniauth-oauth (~> 1.1)
-      rack
-    omniauth-ultraauth (0.0.2)
-      omniauth_openid_connect (~> 0.3.0)
-    omniauth_crowd (2.2.3)
-      activesupport
-      nokogiri (>= 1.4.4)
-      omniauth (~> 1.0)
-    omniauth_openid_connect (0.3.1)
-      addressable (~> 2.5)
-      omniauth (~> 1.3)
-      openid_connect (~> 1.1)
-    openid_connect (1.1.6)
-      activemodel
-      attr_required (>= 1.0.0)
-      json-jwt (>= 1.5.0)
-      rack-oauth2 (>= 1.6.1)
-      swd (>= 1.0.0)
-      tzinfo
-      validate_email
-      validate_url
-      webfinger (>= 1.0.1)
-    opentracing (0.5.0)
-    optimist (3.0.0)
-    org-ruby (0.9.12)
-      rubypants (~> 0.2)
-    orm_adapter (0.5.0)
-    os (1.0.0)
-    parallel (1.17.0)
-    parser (2.6.3.0)
-      ast (~> 2.4.0)
-    parslet (1.8.2)
-    peek (1.0.1)
-      concurrent-ruby (>= 0.9.0)
-      concurrent-ruby-ext (>= 0.9.0)
-      railties (>= 4.0.0)
-    peek-gc (0.0.2)
-      peek
-    peek-mysql2 (1.2.0)
-      concurrent-ruby
-      concurrent-ruby-ext
-      mysql2
-      peek
-    peek-pg (1.3.0)
-      concurrent-ruby
-      concurrent-ruby-ext
-      peek
-      pg
-    peek-rblineprof (0.2.0)
-      peek
-      rblineprof
-    peek-redis (1.2.0)
-      atomic (>= 1.0.0)
-      peek
-      redis
-    pg (1.1.4)
-    po_to_json (1.0.1)
-      json (>= 1.6.0)
-    premailer (1.10.4)
-      addressable
-      css_parser (>= 1.4.10)
-      htmlentities (>= 4.0.0)
-    premailer-rails (1.9.7)
-      actionmailer (>= 3, < 6)
-      premailer (~> 1.7, >= 1.7.9)
-    proc_to_ast (0.1.0)
-      coderay
-      parser
-      unparser
-    procto (0.0.3)
-    prometheus-client-mmap (0.9.8)
-    pry (0.11.3)
-      coderay (~> 1.1.0)
-      method_source (~> 0.9.0)
-    pry-byebug (3.5.1)
-      byebug (~> 9.1)
-      pry (~> 0.10)
-    pry-rails (0.3.6)
-      pry (>= 0.10.4)
-    public_suffix (3.1.0)
-    puma (3.12.0)
-    puma_worker_killer (0.1.0)
-      get_process_mem (~> 0.2)
-      puma (>= 2.7, < 4)
-    pyu-ruby-sasl (0.0.3.3)
-    raabro (1.1.6)
-    rack (2.0.7)
-    rack-accept (0.4.5)
-      rack (>= 0.4)
-    rack-attack (4.4.1)
-      rack
-    rack-cors (1.0.2)
-    rack-oauth2 (1.9.3)
-      activesupport
-      attr_required
-      httpclient
-      json-jwt (>= 1.9.0)
-      rack
-    rack-protection (2.0.5)
-      rack
-    rack-proxy (0.6.0)
-      rack
-    rack-test (1.1.0)
-      rack (>= 1.0, < 3)
-    rack-timeout (0.5.1)
-    rails (5.2.3)
-      actioncable (= 5.2.3)
-      actionmailer (= 5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      activemodel (= 5.2.3)
-      activerecord (= 5.2.3)
-      activestorage (= 5.2.3)
-      activesupport (= 5.2.3)
-      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-dom-testing (2.0.3)
-      activesupport (>= 4.2.0)
-      nokogiri (>= 1.6)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
-    rails-i18n (5.1.1)
-      i18n (>= 0.7, < 2)
-      railties (>= 5.0, < 6)
-    railties (5.2.3)
-      actionpack (= 5.2.3)
-      activesupport (= 5.2.3)
-      method_source
-      rake (>= 0.8.7)
-      thor (>= 0.19.0, < 2.0)
-    rainbow (3.0.0)
-    raindrops (0.19.0)
-    rake (12.3.2)
-    rb-fsevent (0.10.2)
-    rb-inotify (0.9.10)
-      ffi (>= 0.5.0, < 2)
-    rblineprof (0.3.6)
-      debugger-ruby_core_source (~> 1.3)
-    rbtrace (0.4.11)
-      ffi (>= 1.0.6)
-      msgpack (>= 0.4.3)
-      optimist (>= 3.0.0)
-    rdoc (6.0.4)
-    re2 (1.1.1)
-    recaptcha (4.13.1)
-      json
-    recursive-open-struct (1.1.0)
-    redis (3.3.5)
-    redis-actionpack (5.0.2)
-      actionpack (>= 4.0, < 6)
-      redis-rack (>= 1, < 3)
-      redis-store (>= 1.1.0, < 2)
-    redis-activesupport (5.0.4)
-      activesupport (>= 3, < 6)
-      redis-store (>= 1.3, < 2)
-    redis-namespace (1.6.0)
-      redis (>= 3.0.4)
-    redis-rack (2.0.4)
-      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)
-    regexp_parser (1.5.1)
-    regexp_property_values (0.3.4)
-    representable (3.0.4)
-      declarative (< 0.1.0)
-      declarative-option (< 0.2.0)
-      uber (< 0.2.0)
-    request_store (1.3.1)
-    responders (2.4.0)
-      actionpack (>= 4.2.0, < 5.3)
-      railties (>= 4.2.0, < 5.3)
-    rest-client (2.0.2)
-      http-cookie (>= 1.0.2, < 2.0)
-      mime-types (>= 1.16, < 4.0)
-      netrc (~> 0.8)
-    retriable (3.1.2)
-    rinku (2.0.0)
-    rotp (2.1.2)
-    rouge (3.5.1)
-    rqrcode (0.7.0)
-      chunky_png
-    rqrcode-rails3 (0.1.7)
-      rqrcode (>= 0.4.2)
-    rspec (3.8.0)
-      rspec-core (~> 3.8.0)
-      rspec-expectations (~> 3.8.0)
-      rspec-mocks (~> 3.8.0)
-    rspec-core (3.8.2)
-      rspec-support (~> 3.8.0)
-    rspec-expectations (3.8.4)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.8.0)
-    rspec-mocks (3.8.1)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.8.0)
-    rspec-parameterized (0.4.2)
-      binding_ninja (>= 0.2.3)
-      parser
-      proc_to_ast
-      rspec (>= 2.13, < 4)
-      unparser
-    rspec-rails (3.8.2)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.8.0)
-      rspec-expectations (~> 3.8.0)
-      rspec-mocks (~> 3.8.0)
-      rspec-support (~> 3.8.0)
-    rspec-retry (0.6.1)
-      rspec-core (> 3.3)
-    rspec-set (0.1.3)
-    rspec-support (3.8.2)
-    rspec_junit_formatter (0.4.1)
-      rspec-core (>= 2, < 4, != 2.12.0)
-    rspec_profiling (0.0.5)
-      activerecord
-      pg
-      rails
-      sqlite3
-    rubocop (0.69.0)
-      jaro_winkler (~> 1.5.1)
-      parallel (~> 1.10)
-      parser (>= 2.6)
-      rainbow (>= 2.2.2, < 4.0)
-      ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
-    rubocop-gitlab-security (0.1.1)
-      rubocop (>= 0.51)
-    rubocop-performance (1.1.0)
-      rubocop (>= 0.67.0)
-    rubocop-rspec (1.22.2)
-      rubocop (>= 0.52.1)
-    ruby-enum (0.7.2)
-      i18n
-    ruby-fogbugz (0.2.1)
-      crack (~> 0.4)
-    ruby-prof (0.17.0)
-    ruby-progressbar (1.10.0)
-    ruby-saml (1.7.2)
-      nokogiri (>= 1.5.10)
-    ruby_parser (3.13.1)
-      sexp_processor (~> 4.9)
-    rubyntlm (0.6.2)
-    rubypants (0.2.0)
-    rubyzip (1.2.2)
-    rugged (0.28.1)
-    safe_yaml (1.0.4)
-    sanitize (4.6.6)
-      crass (~> 1.0.2)
-      nokogiri (>= 1.4.4)
-      nokogumbo (~> 1.4)
-    sass (3.5.5)
-      sass-listen (~> 4.0.0)
-    sass-listen (4.0.0)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-    sassc (2.0.1)
-      ffi (~> 1.9)
-      rake
-    sassc-rails (2.1.0)
-      railties (>= 4.0.0)
-      sassc (>= 2.0)
-      sprockets (> 3.0)
-      sprockets-rails
-      tilt
-    sawyer (0.8.1)
-      addressable (>= 2.3.5, < 2.6)
-      faraday (~> 0.8, < 1.0)
-    scss_lint (0.56.0)
-      rake (>= 0.9, < 13)
-      sass (~> 3.5.3)
-    seed-fu (2.3.7)
-      activerecord (>= 3.1)
-      activesupport (>= 3.1)
-    selenium-webdriver (3.141.0)
-      childprocess (~> 0.5)
-      rubyzip (~> 1.2, >= 1.2.2)
-    sentry-raven (2.9.0)
-      faraday (>= 0.7.6, < 1.0)
-    settingslogic (2.0.9)
-    sexp_processor (4.12.0)
-    sham_rack (1.3.6)
-      rack
-    shoulda-matchers (4.0.1)
-      activesupport (>= 4.2.0)
-    sidekiq (5.2.7)
-      connection_pool (~> 2.2, >= 2.2.2)
-      rack (>= 1.5.0)
-      rack-protection (>= 1.5.0)
-      redis (>= 3.3.5, < 5)
-    sidekiq-cron (1.0.4)
-      fugit (~> 1.1)
-      sidekiq (>= 4.2.1)
-    signet (0.11.0)
-      addressable (~> 2.3)
-      faraday (~> 0.9)
-      jwt (>= 1.5, < 3.0)
-      multi_json (~> 1.10)
-    simple_po_parser (1.1.2)
-    simplecov (0.16.1)
-      docile (~> 1.1)
-      json (>= 1.8, < 3)
-      simplecov-html (~> 0.10.0)
-    simplecov-html (0.10.2)
-    slack-notifier (1.5.1)
-    spring (2.0.2)
-      activesupport (>= 4.2)
-    spring-commands-rspec (1.0.4)
-      spring (>= 0.9.1)
-    sprockets (3.7.2)
-      concurrent-ruby (~> 1.0)
-      rack (> 1, < 3)
-    sprockets-rails (3.2.1)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
-      sprockets (>= 3.0.0)
-    sqlite3 (1.3.13)
-    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 (>= 0.5.0)
-    state_machines-activerecord (0.5.1)
-      activerecord (>= 4.1, < 6.0)
-      state_machines-activemodel (>= 0.5.0)
-    swd (1.1.2)
-      activesupport (>= 3)
-      attr_required (>= 0.0.5)
-      httpclient (>= 2.4)
-    sys-filesystem (1.1.6)
-      ffi
-    sysexits (1.2.0)
-    temple (0.8.0)
-    test-prof (0.2.5)
-    text (1.3.1)
-    thin (1.7.2)
-      daemons (~> 1.0, >= 1.0.9)
-      eventmachine (~> 1.0, >= 1.0.4)
-      rack (>= 1, < 3)
-    thor (0.19.4)
-    thread_safe (0.3.6)
-    thrift (0.11.0.0)
-    tilt (2.0.8)
-    timecop (0.8.1)
-    timfel-krb5-auth (0.8.3)
-    toml (0.2.0)
-      parslet (~> 1.8.0)
-    toml-rb (1.0.0)
-      citrus (~> 3.0, > 3.0)
-    tomlrb (1.2.8)
-    truncato (0.7.11)
-      htmlentities (~> 4.3.1)
-      nokogiri (>= 1.7.0, <= 2.0)
-    tzinfo (1.2.5)
-      thread_safe (~> 0.1)
-    u2f (0.2.1)
-    uber (0.1.0)
-    uglifier (2.7.2)
-      execjs (>= 0.3.0)
-      json (>= 1.8.0)
-    unf (0.1.4)
-      unf_ext
-    unf_ext (0.0.7.5)
-    unicode-display_width (1.6.0)
-    unicorn (5.4.1)
-      kgio (~> 2.6)
-      raindrops (~> 0.7)
-    unicorn-worker-killer (0.4.4)
-      get_process_mem (~> 0)
-      unicorn (>= 4, < 6)
-    uniform_notifier (1.10.0)
-    unparser (0.4.5)
-      abstract_type (~> 0.0.7)
-      adamantium (~> 0.2.0)
-      concord (~> 0.1.5)
-      diff-lcs (~> 1.3)
-      equalizer (~> 0.0.9)
-      parser (~> 2.6.3)
-      procto (~> 0.0.2)
-    validate_email (0.1.6)
-      activemodel (>= 3.0)
-      mail (>= 2.2.5)
-    validate_url (1.0.8)
-      activemodel (>= 3.0.0)
-      public_suffix
-    validates_hostname (1.0.6)
-      activerecord (>= 3.0)
-      activesupport (>= 3.0)
-    version_sorter (2.2.4)
-    virtus (1.0.5)
-      axiom-types (~> 0.1)
-      coercible (~> 1.0)
-      descendants_tracker (~> 0.0, >= 0.0.3)
-      equalizer (~> 0.0, >= 0.0.9)
-    vmstat (2.3.0)
-    warden (1.2.7)
-      rack (>= 1.0)
-    webfinger (1.1.0)
-      activesupport
-      httpclient (>= 2.4)
-    webmock (3.5.1)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-      hashdiff
-    webpack-rails (0.9.11)
-      railties (>= 3.2.0)
-    websocket-driver (0.7.0)
-      websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.3)
-    wikicloth (0.8.1)
-      builder
-      expression_parser
-      rinku
-    with_env (1.1.0)
-    xml-simple (1.1.5)
-    xpath (3.2.0)
-      nokogiri (~> 1.8)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  RedCloth (~> 4.3.2)
-  ace-rails-ap (~> 4.1.0)
-  acme-client (~> 2.0.2)
-  activerecord-explain-analyze (~> 0.1)
-  activerecord_sane_schema_dumper (= 1.0)
-  acts-as-taggable-on (~> 6.0)
-  addressable (~> 2.5.2)
-  akismet (~> 2.0)
-  apollo_upload_server (~> 2.0.0.beta3)
-  asana (~> 0.8.1)
-  asciidoctor (~> 2.0.10)
-  asciidoctor-include-ext (~> 0.3.1)
-  asciidoctor-plantuml (= 0.0.9)
-  attr_encrypted (~> 3.1.0)
-  awesome_print
-  babosa (~> 1.0.2)
-  base32 (~> 0.3.0)
-  batch-loader (~> 1.4.0)
-  bcrypt_pbkdf (~> 1.0)
-  benchmark-ips (~> 2.3.0)
-  benchmark-memory (~> 0.1)
-  better_errors (~> 2.5.0)
-  binding_of_caller (~> 0.8.0)
-  bootsnap (~> 1.4)
-  bootstrap_form (~> 4.2.0)
-  brakeman (~> 4.2)
-  browser (~> 2.5)
-  bullet (~> 5.5.0)
-  bundler-audit (~> 0.5.0)
-  capybara (~> 3.22.0)
-  capybara-screenshot (~> 1.0.22)
-  carrierwave (~> 1.3)
-  charlock_holmes (~> 0.7.5)
-  chronic (~> 0.10.2)
-  chronic_duration (~> 0.10.6)
-  commonmarker (~> 0.17)
-  concurrent-ruby (~> 1.1)
-  connection_pool (~> 2.0)
-  creole (~> 0.5.0)
-  database_cleaner (~> 1.7.0)
-  deckar01-task_list (= 2.2.0)
-  default_value_for (~> 3.2.0)
-  derailed_benchmarks
-  device_detector
-  devise (~> 4.6)
-  devise-two-factor (~> 3.0.0)
-  diffy (~> 3.1.0)
-  discordrb-webhooks-blackst0ne (~> 3.3)
-  doorkeeper (~> 4.3)
-  doorkeeper-openid_connect (~> 1.5)
-  ed25519 (~> 1.2)
-  email_reply_trimmer (~> 0.1)
-  email_spec (~> 2.2.0)
-  escape_utils (~> 1.1)
-  factory_bot_rails (~> 4.8.2)
-  faraday (~> 0.12)
-  fast_blank
-  ffaker (~> 2.10)
-  flipper (~> 0.13.0)
-  flipper-active_record (~> 0.13.0)
-  flipper-active_support_cache_store (~> 0.13.0)
-  flowdock (~> 0.7)
-  fog-aliyun (~> 0.3)
-  fog-aws (~> 3.5)
-  fog-core (= 2.1.0)
-  fog-google (~> 1.8)
-  fog-local (~> 0.6)
-  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-proto (~> 1.37.0)
-  github-markup (~> 1.7.0)
-  gitlab-labkit (~> 0.3.0)
-  gitlab-markup (~> 1.7.0)
-  gitlab-sidekiq-fetcher (~> 0.4.0)
-  gitlab-styles (~> 2.7)
-  gitlab_omniauth-ldap (~> 2.1.1)
-  gon (~> 6.2)
-  google-api-client (~> 0.23)
-  google-protobuf (~> 3.7.1)
-  gpgme (~> 2.0.18)
-  grape (~> 1.1.0)
-  grape-entity (~> 0.7.1)
-  grape-path-helpers (~> 1.1)
-  grape_logging (~> 1.7)
-  graphiql-rails (~> 1.4.10)
-  graphql (~> 1.8.0)
-  graphql-docs (~> 1.6.0)
-  grpc (~> 1.19.0)
-  haml_lint (~> 0.31.0)
-  hamlit (~> 2.8.8)
-  hangouts-chat (~> 0.0.5)
-  hashie-forbidden_attributes
-  health_check (~> 2.6.0)
-  hipchat (~> 1.5.0)
-  html-pipeline (~> 2.8)
-  html2text
-  httparty (~> 0.16.4)
-  icalendar
-  influxdb (~> 0.2)
-  jira-ruby (~> 1.4)
-  js_regex (~> 3.1)
-  json-schema (~> 2.8.0)
-  jwt (~> 2.1.0)
-  kaminari (~> 1.0)
-  knapsack (~> 1.17)
-  kubeclient (~> 4.2.2)
-  letter_opener_web (~> 1.3.4)
-  license_finder (~> 5.4)
-  licensee (~> 8.9)
-  lograge (~> 0.5)
-  loofah (~> 2.2)
-  mail_room (~> 0.9.1)
-  mdl (~> 0.5.0)
-  memory_profiler (~> 0.9)
-  method_source (~> 0.8)
-  mimemagic (~> 0.3.2)
-  mini_magick
-  minitest (~> 5.11.0)
-  mysql2 (~> 0.4.10)
-  nakayoshi_fork (~> 0.0.4)
-  net-ldap
-  net-ssh (~> 5.2)
-  nokogiri (~> 1.10.3)
-  oauth2 (~> 1.4)
-  octokit (~> 4.9)
-  omniauth (~> 1.8)
-  omniauth-auth0 (~> 2.0.0)
-  omniauth-authentiq (~> 0.3.3)
-  omniauth-azure-oauth2 (~> 0.0.9)
-  omniauth-cas3 (~> 1.1.4)
-  omniauth-facebook (~> 4.0.0)
-  omniauth-github (~> 1.3)
-  omniauth-gitlab (~> 1.0.2)
-  omniauth-google-oauth2 (~> 0.6.0)
-  omniauth-kerberos (~> 0.3.0)
-  omniauth-oauth2-generic (~> 0.2.2)
-  omniauth-salesforce (~> 1.0.5)
-  omniauth-saml (~> 1.10)
-  omniauth-shibboleth (~> 1.3.0)
-  omniauth-twitter (~> 1.4)
-  omniauth-ultraauth (~> 0.0.2)
-  omniauth_crowd (~> 2.2.0)
-  omniauth_openid_connect (~> 0.3.1)
-  org-ruby (~> 0.9.12)
-  peek (~> 1.0.1)
-  peek-gc (~> 0.0.2)
-  peek-mysql2 (~> 1.2.0)
-  peek-pg (~> 1.3.0)
-  peek-rblineprof (~> 0.2.0)
-  peek-redis (~> 1.2.0)
-  pg (~> 1.1)
-  premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.9.8)
-  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-cors (~> 1.0.0)
-  rack-oauth2 (~> 1.9.3)
-  rack-proxy (~> 0.6.0)
-  rack-timeout
-  rails (= 5.2.3)
-  rails-controller-testing
-  rails-i18n (~> 5.1)
-  rainbow (~> 3.0)
-  raindrops (~> 0.18)
-  rblineprof (~> 0.3.6)
-  rbtrace (~> 0.4)
-  rdoc (~> 6.0)
-  re2 (~> 1.1.1)
-  recaptcha (~> 4.11)
-  redis (~> 3.2)
-  redis-namespace (~> 1.6.0)
-  redis-rails (~> 5.0.2)
-  request_store (~> 1.3)
-  responders (~> 2.0)
-  rouge (~> 3.5)
-  rqrcode-rails3 (~> 0.1.7)
-  rspec-parameterized
-  rspec-rails (~> 3.8.0)
-  rspec-retry (~> 0.6.1)
-  rspec-set (~> 0.1.3)
-  rspec_junit_formatter
-  rspec_profiling (~> 0.0.5)
-  rubocop (~> 0.69.0)
-  rubocop-performance (~> 1.1.0)
-  rubocop-rspec (~> 1.22.1)
-  ruby-fogbugz (~> 0.2.1)
-  ruby-prof (~> 0.17.0)
-  ruby-progressbar
-  ruby_parser (~> 3.8)
-  rubyzip (~> 1.2.2)
-  rugged (~> 0.28)
-  sanitize (~> 4.6)
-  sassc-rails (~> 2.1.0)
-  scss_lint (~> 0.56.0)
-  seed-fu (~> 2.3.7)
-  selenium-webdriver (~> 3.141)
-  sentry-raven (~> 2.9)
-  settingslogic (~> 2.0.9)
-  sham_rack (~> 1.3.6)
-  shoulda-matchers (~> 4.0.1)
-  sidekiq (~> 5.2.7)
-  sidekiq-cron (~> 1.0)
-  simple_po_parser (~> 1.1.2)
-  simplecov (~> 0.16.1)
-  slack-notifier (~> 1.5.1)
-  spring (~> 2.0.0)
-  spring-commands-rspec (~> 1.0.4)
-  sprockets (~> 3.7.0)
-  sshkey (~> 2.0)
-  stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.5.1)
-  sys-filesystem (~> 1.1.6)
-  test-prof (~> 0.2.5)
-  thin (~> 1.7.0)
-  timecop (~> 0.8.0)
-  toml-rb (~> 1.0.0)
-  truncato (~> 0.7.11)
-  u2f (~> 0.2.1)
-  uglifier (~> 2.7.2)
-  unf (~> 0.1.4)
-  unicorn (~> 5.4.1)
-  unicorn-worker-killer (~> 0.4.4)
-  validates_hostname (~> 1.0.6)
-  version_sorter (~> 2.2.4)
-  virtus (~> 1.0.1)
-  vmstat (~> 2.3.0)
-  webmock (~> 3.5.1)
-  webpack-rails (~> 0.9.10)
-  wikicloth (= 0.8.1)
-
-BUNDLED WITH
-   1.17.3
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
deleted file mode 100644
index 8da7a3262c12..000000000000
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
+++ /dev/null
@@ -1,4025 +0,0 @@
-{
-  abstract_type = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
-      type = "gem";
-    };
-    version = "0.0.7";
-  };
-  ace-rails-ap = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14wj9gsiy7rm0lvs27ffsrh92wndjksj6rlfj3n7jhv1v77w9v2h";
-      type = "gem";
-    };
-    version = "4.1.2";
-  };
-  acme-client = {
-    dependencies = ["faraday"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1552fkgaj6qfylwsckgmhck34shjqnfrzymj1ji1kq3r310qqrnp";
-      type = "gem";
-    };
-    version = "2.0.2";
-  };
-  actioncable = {
-    dependencies = ["actionpack" "nio4r" "websocket-driver"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionview = {
-    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activejob = {
-    dependencies = ["activesupport" "globalid"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activemodel = {
-    dependencies = ["activesupport"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activerecord = {
-    dependencies = ["activemodel" "activesupport" "arel"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activerecord-explain-analyze = {
-    dependencies = ["activerecord" "pg"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yvz452ww0vn3n6197gx6zklwa591gc7f1m8accvjd9zw8gv3ssx";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  activerecord_sane_schema_dumper = {
-    dependencies = ["rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16jbf461wjaxyq26si5505wcj46mi23mii9hx4wjpva1zn9hz5m2";
-      type = "gem";
-    };
-    version = "1.0";
-  };
-  activestorage = {
-    dependencies = ["actionpack" "activerecord" "marcel"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  acts-as-taggable-on = {
-    dependencies = ["activerecord"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl";
-      type = "gem";
-    };
-    version = "6.0.0";
-  };
-  adamantium = {
-    dependencies = ["ice_nine" "memoizable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  addressable = {
-    dependencies = ["public_suffix"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
-      type = "gem";
-    };
-    version = "2.5.2";
-  };
-  aes_key_wrap = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  akismet = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
-  apollo_upload_server = {
-    dependencies = ["graphql" "rails"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na";
-      type = "gem";
-    };
-    version = "2.0.0.beta.3";
-  };
-  arel = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
-      type = "gem";
-    };
-    version = "9.0.0";
-  };
-  asana = {
-    dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1h0qiywvjjc9iyzq9nz5iaqyh6qsrix4ip0w86j5c4v5g940z6qx";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  asciidoctor = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz";
-      type = "gem";
-    };
-    version = "2.0.10";
-  };
-  asciidoctor-include-ext = {
-    dependencies = ["asciidoctor"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1alaqfh31hd98yhqq8fsc50zzqw04p3d83pc35gdx3x9p3j1ds7d";
-      type = "gem";
-    };
-    version = "0.3.1";
-  };
-  asciidoctor-plantuml = {
-    dependencies = ["asciidoctor"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lzxj16w7s3w0wnlpg8lfs9v2xxk3x3c1skynqm1sms7rjhnhlnb";
-      type = "gem";
-    };
-    version = "0.0.9";
-  };
-  ast = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  atomic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kh9rvhjn4dndbfsk3yjq7alds6s2j70rc4k8wdwdyibab8a8gq9";
-      type = "gem";
-    };
-    version = "1.1.99";
-  };
-  attr_encrypted = {
-    dependencies = ["encryptor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  attr_required = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  awesome_print = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  axiom-types = {
-    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
-  babosa = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
-      type = "gem";
-    };
-    version = "1.0.2";
-  };
-  base32 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b7y8sy6j9v1lvfzd4va88k5vg9yh0xcjzzn3llcw7yxqlcrnbjk";
-      type = "gem";
-    };
-    version = "0.3.2";
-  };
-  batch-loader = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09jaxxddqpgq8ynwd2gpjq5rkhw00zdjnqisk9qbpjgxzk6f8gwi";
-      type = "gem";
-    };
-    version = "1.4.0";
-  };
-  bcrypt = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy";
-      type = "gem";
-    };
-    version = "3.1.12";
-  };
-  bcrypt_pbkdf = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  benchmark-ips = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
-      type = "gem";
-    };
-    version = "2.3.0";
-  };
-  benchmark-memory = {
-    dependencies = ["memory_profiler"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11qw8k6rl79ri00njrf1x9v6vzwgv12rkcvgzvg0sk8pfrkzwyxa";
-      type = "gem";
-    };
-    version = "0.1.2";
-  };
-  better_errors = {
-    dependencies = ["coderay" "erubi" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7";
-      type = "gem";
-    };
-    version = "2.5.0";
-  };
-  bindata = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0kxy917xyxckifmnawff65j7g6yb3wh2s45npjq9lqjbi1p86lsr";
-      type = "gem";
-    };
-    version = "2.4.3";
-  };
-  binding_ninja = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17fa3sv6p2fw9g8fxpwx1kjhhs28aw41akkba0hlgvk60055b1aa";
-      type = "gem";
-    };
-    version = "0.2.3";
-  };
-  binding_of_caller = {
-    dependencies = ["debug_inspector"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
-  bootsnap = {
-    dependencies = ["msgpack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1amksyijp9hwpc2jr0yi45hpcp0qiz5r2h8rnf2wi1hdfw6m2hxh";
-      type = "gem";
-    };
-    version = "1.4.1";
-  };
-  bootstrap_form = {
-    dependencies = ["actionpack" "activemodel"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "044pi097jwh3z68g1zfmbcl9xchqfcsls1j1nvx1bkyj034v6y7m";
-      type = "gem";
-    };
-    version = "4.2.0";
-  };
-  brakeman = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "161l4ln7x1vnqrcvbvglznf46f0lvq305vq211xaxp4fv4wwv89v";
-      type = "gem";
-    };
-    version = "4.2.1";
-  };
-  browser = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f";
-      type = "gem";
-    };
-    version = "2.5.3";
-  };
-  builder = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
-      type = "gem";
-    };
-    version = "3.2.3";
-  };
-  bullet = {
-    dependencies = ["activesupport" "uniform_notifier"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pdq3ckmwxnwrdm2x89zfj68h0yhiln35y8wps2nkvam4kpivyr5";
-      type = "gem";
-    };
-    version = "5.5.1";
-  };
-  bundler-audit = {
-    dependencies = ["thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gr7k6m9fda7m66irxzydm8v9xbmlryjj65cagwm1zyi5f317srb";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  byebug = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
-      type = "gem";
-    };
-    version = "9.1.0";
-  };
-  capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y7ncfji4s3h3wdr2hwsrd32k0va92a6lyx2x8w6a3vkbc94kpch";
-      type = "gem";
-    };
-    version = "3.22.0";
-  };
-  capybara-screenshot = {
-    dependencies = ["capybara" "launchy"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x90lh7nf3zi54arjf430s9xdxr3c12xjq1l28izgxqdk8s40q7q";
-      type = "gem";
-    };
-    version = "1.0.22";
-  };
-  carrierwave = {
-    dependencies = ["activemodel" "activesupport" "mime-types"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10rz94kajilffp83sb767lr62b5f8l4jzqq80cr92wqxdgbszdks";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  cause = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
-      type = "gem";
-    };
-    version = "0.1";
-  };
-  character_set = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "114npdbw1ivyx4vnid8ncnjw4wnjcipf2lvihlg3ibbh7an0m9s9";
-      type = "gem";
-    };
-    version = "1.1.2";
-  };
-  charlock_holmes = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
-      type = "gem";
-    };
-    version = "0.7.6";
-  };
-  childprocess = {
-    dependencies = ["ffi"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
-      type = "gem";
-    };
-    version = "0.9.0";
-  };
-  chronic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  chronic_duration = {
-    dependencies = ["numerizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k7sx3xqbrn6s4pishh2pgr4kw6fmw63h00lh503l66k8x0qvigs";
-      type = "gem";
-    };
-    version = "0.10.6";
-  };
-  chunky_png = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
-      type = "gem";
-    };
-    version = "1.3.5";
-  };
-  citrus = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0l7nhk3gkm1hdchkzzhg2f70m47pc0afxfpl6mkiibc9qcpl3hjf";
-      type = "gem";
-    };
-    version = "3.0.2";
-  };
-  coderay = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
-      type = "gem";
-    };
-    version = "1.1.2";
-  };
-  coercible = {
-    dependencies = ["descendants_tracker"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  commonmarker = {
-    dependencies = ["ruby-enum"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pmjm87p0hxnknp33cxyvkgbr1swfp9gcznssmalm9z8kwyancb9";
-      type = "gem";
-    };
-    version = "0.17.13";
-  };
-  concord = {
-    dependencies = ["adamantium" "equalizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
-      type = "gem";
-    };
-    version = "0.1.5";
-  };
-  concurrent-ruby = {
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  concurrent-ruby-ext = {
-    dependencies = ["concurrent-ruby"];
-    groups = ["default" "mysql" "postgres"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03ypsv2k581yv0b3f0hzvb3mq6mqj8jlbi32jmkj3k175vbc8hvz";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  connection_pool = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68";
-      type = "gem";
-    };
-    version = "2.2.2";
-  };
-  crack = {
-    dependencies = ["safe_yaml"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
-      type = "gem";
-    };
-    version = "0.4.3";
-  };
-  crass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  creole = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  css_parser = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
-      type = "gem";
-    };
-    version = "1.5.0";
-  };
-  daemons = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lxqq6dgb8xhliywar2lvkwqy2ssraf9dk4b501pb4ixc2mvxbp2";
-      type = "gem";
-    };
-    version = "1.2.6";
-  };
-  database_cleaner = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  debug_inspector = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
-      type = "gem";
-    };
-    version = "0.0.3";
-  };
-  debugger-ruby_core_source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
-      type = "gem";
-    };
-    version = "1.3.8";
-  };
-  deckar01-task_list = {
-    dependencies = ["html-pipeline"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  declarative = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j";
-      type = "gem";
-    };
-    version = "0.0.10";
-  };
-  declarative-option = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  default_value_for = {
-    dependencies = ["activerecord"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-  derailed_benchmarks = {
-    dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8";
-      type = "gem";
-    };
-    version = "1.3.5";
-  };
-  descendants_tracker = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
-  device_detector = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zbsjj1bgwmsiqiw6x5fzbzp25xc10c02s37ggl2635ha0qzn05q";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  devise = {
-    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04b2p61mqfb6ln8s2lhmvnkd45wjjinykbn9svmhs54kacrrjkcf";
-      type = "gem";
-    };
-    version = "4.6.2";
-  };
-  devise-two-factor = {
-    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pkldws5lga4mlv4xmcrfb0yivl6qad0l8qyb2hdb50adv6ny4gs";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  diff-lcs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
-      type = "gem";
-    };
-    version = "1.3";
-  };
-  diffy = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1azibizfv91sjbzhjqj1pg2xcv8z9b8a7z6kb3wpl4hpj5hil5kj";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  discordrb-webhooks-blackst0ne = {
-    dependencies = ["rest-client"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f0dw6ci5cbrxrvvqw2kqabpzyjisd4hflbi370rpb4cakkzgw39";
-      type = "gem";
-    };
-    version = "3.3.0";
-  };
-  docile = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  domain_name = {
-    dependencies = ["unf"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
-      type = "gem";
-    };
-    version = "0.5.20180417";
-  };
-  doorkeeper = {
-    dependencies = ["railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "022r03i830b2lvmr0xzlj6ivlvc1zr64hy4a4bsy3flv94da77rz";
-      type = "gem";
-    };
-    version = "4.3.2";
-  };
-  doorkeeper-openid_connect = {
-    dependencies = ["doorkeeper" "json-jwt"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1wgrz0xcply5vl6d1m62blqwcbn4v0b27bswyws2y9wbyglz6f95";
-      type = "gem";
-    };
-    version = "1.5.0";
-  };
-  ed25519 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
-      type = "gem";
-    };
-    version = "1.2.4";
-  };
-  email_reply_trimmer = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vijywhy1acsq4187ss6w8a7ksswaf1d5np3wbj962b6rqif5vcz";
-      type = "gem";
-    };
-    version = "0.1.6";
-  };
-  email_spec = {
-    dependencies = ["htmlentities" "launchy" "mail"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yadaif80cf2ry0nvhir1s70xmm22xzncq6vfvvffdd8h02ridv0";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  encryptor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  equalizer = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
-      type = "gem";
-    };
-    version = "0.0.11";
-  };
-  erubi = {
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  escape_utils = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qminivnyzwmqjhrh3b92halwbk0zcl9xn828p5rnap1szl2yag5";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  et-orbi = {
-    dependencies = ["tzinfo"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1swgjb3h2hs5xflb68837l0vd32masbz9c66b1963mxlnnxf5gsg";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  eventmachine = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
-      type = "gem";
-    };
-    version = "1.2.7";
-  };
-  excon = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2";
-      type = "gem";
-    };
-    version = "0.62.0";
-  };
-  execjs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  expression_parser = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
-      type = "gem";
-    };
-    version = "0.9.0";
-  };
-  extended-markdown-filter = {
-    dependencies = ["html-pipeline"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  factory_bot = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0r975ba6y0mcy3aya099gpnjn5gf1h6fbw8f3smmjay5zvin3nwx";
-      type = "gem";
-    };
-    version = "4.8.2";
-  };
-  factory_bot_rails = {
-    dependencies = ["factory_bot" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cdbp12ih2w77l331frv8gv6bv9dinn1663dy1jn0gb9ss1hwvs2";
-      type = "gem";
-    };
-    version = "4.8.2";
-  };
-  faraday = {
-    dependencies = ["multipart-post"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
-      type = "gem";
-    };
-    version = "0.12.2";
-  };
-  faraday_middleware = {
-    dependencies = ["faraday"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d";
-      type = "gem";
-    };
-    version = "0.12.2";
-  };
-  faraday_middleware-multi_json = {
-    dependencies = ["faraday_middleware" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
-      type = "gem";
-    };
-    version = "0.0.6";
-  };
-  fast_blank = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  fast_gettext = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s42dsy3rh9h37d16pwhswf2q9cx25v5fn3q881b5iz6fvdjixv3";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  ffaker = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01z5lpssjc0n8lm4xrlja0hh8lv4ngzbybjvd4rdkc5x9ddvh8s3";
-      type = "gem";
-    };
-    version = "2.10.0";
-  };
-  ffi = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  flipper = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw";
-      type = "gem";
-    };
-    version = "0.13.0";
-  };
-  flipper-active_record = {
-    dependencies = ["activerecord" "flipper"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1";
-      type = "gem";
-    };
-    version = "0.13.0";
-  };
-  flipper-active_support_cache_store = {
-    dependencies = ["activesupport" "flipper"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk";
-      type = "gem";
-    };
-    version = "0.13.0";
-  };
-  flowdock = {
-    dependencies = ["httparty" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
-      type = "gem";
-    };
-    version = "0.7.1";
-  };
-  fog-aliyun = {
-    dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vl5zf9wr6qwm1awxscyifvrrfqnyacidxgzhkba2wqlgizk3anh";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  fog-aws = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "086kyvdhf1k8nk7f4gmybjc3k0m88f9pw99frddcy1w96pj5kyg4";
-      type = "gem";
-    };
-    version = "3.5.2";
-  };
-  fog-core = {
-    dependencies = ["builder" "excon" "formatador" "mime-types"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  fog-google = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rxhcf2rhs8ml9j9xppz1yxgig3s1l5hm6yz582lqrs8bdmq028m";
-      type = "gem";
-    };
-    version = "1.8.2";
-  };
-  fog-json = {
-    dependencies = ["fog-core" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  fog-local = {
-    dependencies = ["fog-core"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ba4lln35nryi6dcbz68vxg9ml6v8cc8s8c82f7syfd84bz76x21";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  fog-openstack = {
-    dependencies = ["fog-core" "fog-json" "ipaddress"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "171xnsl6w0j7yi6sp26dcqahx4r4gb2cf359gmy11g5iwnsll5wg";
-      type = "gem";
-    };
-    version = "1.0.8";
-  };
-  fog-rackspace = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0y2bli061g37l9p4w0ljqbmg830rp2qz6sf8b0ck4cnx68j7m32a";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
-  fog-xml = {
-    dependencies = ["fog-core" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n";
-      type = "gem";
-    };
-    version = "0.1.3";
-  };
-  font-awesome-rails = {
-    dependencies = ["railties"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj";
-      type = "gem";
-    };
-    version = "4.7.0.4";
-  };
-  foreman = {
-    dependencies = ["thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
-      type = "gem";
-    };
-    version = "0.84.0";
-  };
-  formatador = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
-      type = "gem";
-    };
-    version = "0.2.5";
-  };
-  fugit = {
-    dependencies = ["et-orbi" "raabro"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x5h31hl75x0p5s36hinywg18ijlxjhnlb5p02aqcjjkx777rcav";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  fuubar = {
-    dependencies = ["rspec-core" "ruby-progressbar"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jlv2wisgnim29h47shvqhipbz1wgndfdr7i6y5wcfag0z2660lv";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  gemoji = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0";
-      type = "gem";
-    };
-    version = "3.0.1";
-  };
-  gemojione = {
-    dependencies = ["json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj";
-      type = "gem";
-    };
-    version = "3.3.0";
-  };
-  get_process_mem = {
-    groups = ["default" "development" "puma" "test" "unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g";
-      type = "gem";
-    };
-    version = "0.2.3";
-  };
-  gettext = {
-    dependencies = ["locale" "text"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
-      type = "gem";
-    };
-    version = "3.2.9";
-  };
-  gettext_i18n_rails = {
-    dependencies = ["fast_gettext"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vs918a03mqvx9aczaqdg9d2q9s3c6swqavzn82qgq5i822czrcm";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  gettext_i18n_rails_js = {
-    dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11yn5cf92wsmlj5c1065mg6swf8gq9l6g9ahikvvyf9npvjay42x";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  gitaly-proto = {
-    dependencies = ["grpc"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j";
-      type = "gem";
-    };
-    version = "1.37.0";
-  };
-  github-markup = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  gitlab-labkit = {
-    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
-      type = "gem";
-    };
-    version = "0.3.0";
-  };
-  gitlab-markup = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  gitlab-sidekiq-fetcher = {
-    dependencies = ["sidekiq"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xaag97iclmiay8fx7dkiws8dsws2gi6l0axq4yljq5g7xm78qjr";
-      type = "gem";
-    };
-    version = "0.4.0";
-  };
-  gitlab-styles = {
-    dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rspec"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vxlvbq4jpq0cfjqippz9d3j73sq9qg3pna5pb0l8jr0rc0xs89y";
-      type = "gem";
-    };
-    version = "2.7.0";
-  };
-  gitlab_omniauth-ldap = {
-    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f8cjbzlhckarmm59l380jjy33a3hlljg69b3zkh8rhy1xd3xr90";
-      type = "gem";
-    };
-    version = "2.1.1";
-  };
-  globalid = {
-    dependencies = ["activesupport"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  gon = {
-    dependencies = ["actionpack" "multi_json" "request_store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0q9nvnw98mbb40h7mlzn1zk40r2l29yybhinmiqhrq8a6adsv806";
-      type = "gem";
-    };
-    version = "6.2.0";
-  };
-  google-api-client = {
-    dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05h2lca9b334ayabgs3h0mzc2wg3csvkqv1lv3iirpgf90ypbk1k";
-      type = "gem";
-    };
-    version = "0.23.4";
-  };
-  google-protobuf = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
-      type = "gem";
-    };
-    version = "3.7.1";
-  };
-  googleapis-common-protos-types = {
-    dependencies = ["google-protobuf"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  googleauth = {
-    dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
-      type = "gem";
-    };
-    version = "0.6.6";
-  };
-  gpgme = {
-    dependencies = ["mini_portile2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m";
-      type = "gem";
-    };
-    version = "2.0.18";
-  };
-  grape = {
-    dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04bam0iq9sad1df361317zz4knwci905yig502khl8gm1lp1168c";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  grape-entity = {
-    dependencies = ["activesupport" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w78wylkhdkc0s6n6d20hggbb3pl3ladzzd5lx6ack2iswybx7b9";
-      type = "gem";
-    };
-    version = "0.7.1";
-  };
-  grape-path-helpers = {
-    dependencies = ["activesupport" "grape" "rake"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16l6lrv4h4ls0lrpj35pc00431q2rx6r9n47337qyvprxs3v0a01";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  grape_logging = {
-    dependencies = ["grape"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lg2vhk0dlnyqs2rz8wilfm039q5mbsp5nvf51asir48a1rf9yza";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  graphiql-rails = {
-    dependencies = ["railties" "sprockets-rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10q5zipwgjgaan9lfqakdkm5ry8afgkq79bkimgksn6jyyvpz6w8";
-      type = "gem";
-    };
-    version = "1.4.10";
-  };
-  graphql = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10bnl8yjyg5x6h787cfkpd5gphl5z5jblj8fc9lbmgk27n2knssl";
-      type = "gem";
-    };
-    version = "1.8.1";
-  };
-  graphql-docs = {
-    dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  grpc = {
-    dependencies = ["google-protobuf" "googleapis-common-protos-types"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
-      type = "gem";
-    };
-    version = "1.19.0";
-  };
-  haml = {
-    dependencies = ["temple" "tilt"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac";
-      type = "gem";
-    };
-    version = "5.0.4";
-  };
-  haml_lint = {
-    dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k6pvb2lc6d72nq01jqmi3mxpp80m9mmbc265kgaxmcnjxqhacb1";
-      type = "gem";
-    };
-    version = "0.31.0";
-  };
-  hamlit = {
-    dependencies = ["temple" "thor" "tilt"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i";
-      type = "gem";
-    };
-    version = "2.8.8";
-  };
-  hangouts-chat = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1dmnv3723c22683bzys8walkl6wi74xzawxjbhwqzjdbwk3bdgmx";
-      type = "gem";
-    };
-    version = "0.0.5";
-  };
-  hashdiff = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask";
-      type = "gem";
-    };
-    version = "0.3.8";
-  };
-  hashie = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb";
-      type = "gem";
-    };
-    version = "3.5.7";
-  };
-  hashie-forbidden_attributes = {
-    dependencies = ["hashie"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1chgg5d2iddja6ww02x34g8avg11fzmzcb8yvnqlykii79zx6vis";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
-  health_check = {
-    dependencies = ["rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mfa180nyzz1j0abfihm5nm3lmzq99362ibcphky6rh5vwhckvm8";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  heapy = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  hipchat = {
-    dependencies = ["httparty" "mimemagic"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
-      type = "gem";
-    };
-    version = "1.5.2";
-  };
-  html-pipeline = {
-    dependencies = ["activesupport" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mpj5y13jk1arqkhdk66n49kyglmci980c1l6np7pqgyjllb68ad";
-      type = "gem";
-    };
-    version = "2.8.4";
-  };
-  html2text = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0kxdj8pf9pss9xgs8aac0alj5g1fi225yzdhh33lzampkazg1hii";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  htmlentities = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
-      type = "gem";
-    };
-    version = "4.3.4";
-  };
-  http = {
-    dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc";
-      type = "gem";
-    };
-    version = "3.3.0";
-  };
-  http-cookie = {
-    dependencies = ["domain_name"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  http-form_data = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3";
-      type = "gem";
-    };
-    version = "2.1.1";
-  };
-  "http_parser.rb" = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  httparty = {
-    dependencies = ["mime-types" "multi_xml"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "109xvhl35dsk9zp65n5pdkhiijhqxdyvajbs74nkp4z8yl09vj32";
-      type = "gem";
-    };
-    version = "0.16.4";
-  };
-  httpclient = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
-      type = "gem";
-    };
-    version = "2.8.3";
-  };
-  i18n = {
-    dependencies = ["concurrent-ruby"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  icalendar = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xsydpp2xph00awi25axv2mwjd5p2rlgd4qb3kh05lvq795kirxd";
-      type = "gem";
-    };
-    version = "2.4.1";
-  };
-  ice_nine = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
-      type = "gem";
-    };
-    version = "0.11.2";
-  };
-  influxdb = {
-    dependencies = ["cause" "json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
-      type = "gem";
-    };
-    version = "0.2.3";
-  };
-  ipaddress = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45";
-      type = "gem";
-    };
-    version = "0.8.3";
-  };
-  jaeger-client = {
-    dependencies = ["opentracing" "thrift"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l";
-      type = "gem";
-    };
-    version = "0.10.0";
-  };
-  jaro_winkler = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
-      type = "gem";
-    };
-    version = "1.5.2";
-  };
-  jira-ruby = {
-    dependencies = ["activesupport" "multipart-post" "oauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw";
-      type = "gem";
-    };
-    version = "1.4.1";
-  };
-  js_regex = {
-    dependencies = ["character_set" "regexp_parser" "regexp_property_values"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wi4h4f3knb0yp4zq2spks3dpmdzz9wa54d6xk88md0h4v2x33cq";
-      type = "gem";
-    };
-    version = "3.1.1";
-  };
-  json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
-      type = "gem";
-    };
-    version = "1.8.6";
-  };
-  json-jwt = {
-    dependencies = ["activesupport" "aes_key_wrap" "bindata"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r";
-      type = "gem";
-    };
-    version = "1.9.4";
-  };
-  json-schema = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11di8qyam6bmqn0fvvvf3crgaqy4sil0d406ymx0jacn3ff98ymz";
-      type = "gem";
-    };
-    version = "2.8.0";
-  };
-  jwt = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  kaminari = {
-    dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0invfvfb252ihsdr65rylkvd1x2wy004jval52v3i8ybb0jhc5hi";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  kaminari-actionview = {
-    dependencies = ["actionview" "kaminari-core"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mhhsm6xhmwqc7hfw7xnk1kdbfg468bqs5awcqm5j6j8b9zyjvdi";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  kaminari-activerecord = {
-    dependencies = ["activerecord" "kaminari-core"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kb5aj6iy1cwcq5548jd3w1ipxicnzmnx2ay1s4hvad2gvrd4g93";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  kaminari-core = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0r2n293ad1xr9wgn8cr53nfzwls4w3p1xi4kjfjgl1z0yf05mpwr";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  kgio = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50";
-      type = "gem";
-    };
-    version = "2.11.2";
-  };
-  knapsack = {
-    dependencies = ["rake"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c69rcwfrdrnx8ddl6k1qxhw9f2dj5x5bbddz435isl2hfr5zh92";
-      type = "gem";
-    };
-    version = "1.17.0";
-  };
-  kramdown = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
-      type = "gem";
-    };
-    version = "1.17.0";
-  };
-  kubeclient = {
-    dependencies = ["http" "recursive-open-struct" "rest-client"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10761kwhgclnf2lrdjspmxnw90z7i0l85inranfxc688ing0d5xn";
-      type = "gem";
-    };
-    version = "4.2.2";
-  };
-  launchy = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
-      type = "gem";
-    };
-    version = "2.4.3";
-  };
-  letter_opener = {
-    dependencies = ["launchy"];
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  letter_opener_web = {
-    dependencies = ["actionmailer" "letter_opener" "railties"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb";
-      type = "gem";
-    };
-    version = "1.3.4";
-  };
-  license_finder = {
-    dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01rhqm5m3m22gq6q9f1x9fh3x3wrf9khnnsycblj0xg5frdjv77v";
-      type = "gem";
-    };
-    version = "5.4.0";
-  };
-  licensee = {
-    dependencies = ["rugged"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0w6d2smhg3kzcx4m2ii06akakypwhiglansk51bpx290hhc8h3pc";
-      type = "gem";
-    };
-    version = "8.9.2";
-  };
-  locale = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
-      type = "gem";
-    };
-    version = "2.1.2";
-  };
-  lograge = {
-    dependencies = ["actionpack" "activesupport" "railties" "request_store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd";
-      type = "gem";
-    };
-    version = "0.10.0";
-  };
-  loofah = {
-    dependencies = ["crass" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
-  mail = {
-    dependencies = ["mini_mime"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
-      type = "gem";
-    };
-    version = "2.7.1";
-  };
-  mail_room = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16b8yjd1if665mwaindwys06nkkcs0jw3dcsqvn6qbp6alfigqaa";
-      type = "gem";
-    };
-    version = "0.9.1";
-  };
-  marcel = {
-    dependencies = ["mimemagic"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  mdl = {
-    dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  memoist = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
-      type = "gem";
-    };
-    version = "0.16.0";
-  };
-  memoizable = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  memory_profiler = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xki7jrbzylsmk1brjibmhifb0x70skr55pdq4rvxcyrlnrrvyxz";
-      type = "gem";
-    };
-    version = "0.9.13";
-  };
-  method_source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
-      type = "gem";
-    };
-    version = "0.9.2";
-  };
-  mime-types = {
-    dependencies = ["mime-types-data"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
-      type = "gem";
-    };
-    version = "3.2.2";
-  };
-  mime-types-data = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
-      type = "gem";
-    };
-    version = "3.2019.0331";
-  };
-  mimemagic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q";
-      type = "gem";
-    };
-    version = "0.3.2";
-  };
-  mini_magick = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1djxfs9rxw6q6vr6wb4ndxhp1vj1zbwb55s1kf6mz9bzgmswqg0n";
-      type = "gem";
-    };
-    version = "4.8.0";
-  };
-  mini_mime = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  mini_portile2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  minitest = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
-      type = "gem";
-    };
-    version = "5.11.3";
-  };
-  mixlib-cli = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  mixlib-config = {
-    dependencies = ["tomlrb"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
-      type = "gem";
-    };
-    version = "2.2.18";
-  };
-  msgpack = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
-      type = "gem";
-    };
-    version = "1.2.10";
-  };
-  multi_json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
-      type = "gem";
-    };
-    version = "1.13.1";
-  };
-  multi_xml = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  multipart-post = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
-  mustermann = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  mustermann-grape = {
-    dependencies = ["mustermann"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10xdggddjl8nraq7pbli31lwgrzxzz8gp558i811lsv71fqbmhzr";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  mysql2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
-      type = "gem";
-    };
-    version = "0.4.10";
-  };
-  nakayoshi_fork = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
-  net-ldap = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fh4l8zfsrvghanpnjxk944k7yl093qpw4759xs6f1v9kb73ihfq";
-      type = "gem";
-    };
-    version = "0.16.0";
-  };
-  net-ssh = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40";
-      type = "gem";
-    };
-    version = "5.2.0";
-  };
-  netrc = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
-      type = "gem";
-    };
-    version = "0.11.0";
-  };
-  nio4r = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
-      type = "gem";
-    };
-    version = "2.3.1";
-  };
-  nokogiri = {
-    dependencies = ["mini_portile2"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
-      type = "gem";
-    };
-    version = "1.10.3";
-  };
-  nokogumbo = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj";
-      type = "gem";
-    };
-    version = "1.5.0";
-  };
-  numerizer = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vrk9jbv4p4dcz0wzr72wrf5kajblhc5l9qf7adbcwi4qvz9xv0h";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
-  oauth = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
-      type = "gem";
-    };
-    version = "0.5.4";
-  };
-  oauth2 = {
-    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
-      type = "gem";
-    };
-    version = "1.4.1";
-  };
-  octokit = {
-    dependencies = ["sawyer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ssn5iyax07a22mvmj0y45bfy8ali129bl1qmasp6bcg03bvk298";
-      type = "gem";
-    };
-    version = "4.9.0";
-  };
-  omniauth = {
-    dependencies = ["hashie" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
-      type = "gem";
-    };
-    version = "1.9.0";
-  };
-  omniauth-auth0 = {
-    dependencies = ["omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0id5gn14av81kh41cq4q6c9knyvzl7vc4rs3m4pmpd43g2z6jdw2";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
-  omniauth-authentiq = {
-    dependencies = ["jwt" "omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0k7vajxwplsp188xfj4mi9iqbc7f7djqh02by4mphc51hl87kcqi";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  omniauth-azure-oauth2 = {
-    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a3iqy63l1jd6na4y0bj4a8mlp7gcn3a0awnz9g79fa8n4v2g8n4";
-      type = "gem";
-    };
-    version = "0.0.10";
-  };
-  omniauth-cas3 = {
-    dependencies = ["addressable" "nokogiri" "omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "191b4jm4djmmy54yxfxj3c889r2wn3g6sfsdj6l1rjy0kw1m2qgx";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  omniauth-facebook = {
-    dependencies = ["omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03zjla9i446fk1jkw7arh67c39jfhp5bhkmhvbw8vczxr1jkbbh5";
-      type = "gem";
-    };
-    version = "4.0.0";
-  };
-  omniauth-github = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yg7k4p95ybcsii17spqarl8rpfzkq0kb19ab6wl4lc922zgfbqc";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  omniauth-gitlab = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19ydk2zd2mz8zi80z3l03pajpm9357sg3lrankrcb3pirkkdb9fp";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  omniauth-google-oauth2 = {
-    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03v2gqpsbdhkqaxhvzr83za885awm6pgskv3mkyfvang7mr321df";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  omniauth-kerberos = {
-    dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
-      type = "gem";
-    };
-    version = "0.3.0";
-  };
-  omniauth-multipassword = {
-    dependencies = ["omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  omniauth-oauth = {
-    dependencies = ["oauth" "omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  omniauth-oauth2 = {
-    dependencies = ["oauth2" "omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  omniauth-oauth2-generic = {
-    dependencies = ["omniauth-oauth2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1m6vpip3rm1spx1x9y1kjczzailsph1xqgaakqylzq3jqkv18273";
-      type = "gem";
-    };
-    version = "0.2.2";
-  };
-  omniauth-salesforce = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sr7xmffx6dbsrvnh6spka5ljyzf69iac754xw5r1736py41qhpj";
-      type = "gem";
-    };
-    version = "1.0.5";
-  };
-  omniauth-saml = {
-    dependencies = ["omniauth" "ruby-saml"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17lji8i4q9k3yi8lmjwlw8rfpp2sc74jv8d6flgq85lg5brfqq1p";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  omniauth-shibboleth = {
-    dependencies = ["omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04yin7j8xpr8llvank3ivzahqkc6ss5bppc7q6znzdswxmf75fxh";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  omniauth-twitter = {
-    dependencies = ["omniauth-oauth" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65";
-      type = "gem";
-    };
-    version = "1.4.0";
-  };
-  omniauth-ultraauth = {
-    dependencies = ["omniauth_openid_connect"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1z8gz8ql4vb8y5n4lr67afnjmp23bpqi18dmda5psigvd2jddyn8";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  omniauth_crowd = {
-    dependencies = ["activesupport" "nokogiri" "omniauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
-  omniauth_openid_connect = {
-    dependencies = ["addressable" "omniauth" "openid_connect"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb";
-      type = "gem";
-    };
-    version = "0.3.1";
-  };
-  openid_connect = {
-    dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd";
-      type = "gem";
-    };
-    version = "1.1.6";
-  };
-  opentracing = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11lj1d8vq0hkb5hjz8q4lm82cddrggpbb33dhqfn7rxhwsmxgdfy";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  optimist = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  org-ruby = {
-    dependencies = ["rubypants"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
-      type = "gem";
-    };
-    version = "0.9.12";
-  };
-  orm_adapter = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  os = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  parallel = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
-      type = "gem";
-    };
-    version = "1.17.0";
-  };
-  parser = {
-    dependencies = ["ast"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn";
-      type = "gem";
-    };
-    version = "2.6.3.0";
-  };
-  parslet = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88";
-      type = "gem";
-    };
-    version = "1.8.2";
-  };
-  peek = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1998vcsli215d6qrn9821gr2qip60xki2p7n2dpn8i1n68hyshcn";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  peek-gc = {
-    dependencies = ["peek"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "094h3mr9q8wzbqsj0girpyjvj4bcxax8m438igp42n75xv0bhwi9";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  peek-mysql2 = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  peek-pg = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17yk8xrh7yh57wg6vi3s8km9qd9f910n94r511mdyqd7aizlfb7c";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  peek-rblineprof = {
-    dependencies = ["peek" "rblineprof"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ywk1gvsnhrkhqq2ibwsg7099kg5m2vs4nmzy0wf65kb0ywl0m9c";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  peek-redis = {
-    dependencies = ["atomic" "peek" "redis"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0v91cni591d9wdrmvgam20gr3504x84mh1l95da4rz5a9436jm33";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  pg = {
-    groups = ["development" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  po_to_json = {
-    dependencies = ["json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xvanl437305mry1gd57yvcg7xrfhri91czr32bjr8j2djm8hwba";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  premailer = {
-    dependencies = ["addressable" "css_parser" "htmlentities"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf";
-      type = "gem";
-    };
-    version = "1.10.4";
-  };
-  premailer-rails = {
-    dependencies = ["actionmailer" "premailer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim";
-      type = "gem";
-    };
-    version = "1.9.7";
-  };
-  proc_to_ast = {
-    dependencies = ["coderay" "parser" "unparser"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  procto = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
-      type = "gem";
-    };
-    version = "0.0.3";
-  };
-  prometheus-client-mmap = {
-    groups = ["metrics"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd";
-      type = "gem";
-    };
-    version = "0.9.8";
-  };
-  pry = {
-    dependencies = ["coderay" "method_source"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
-      type = "gem";
-    };
-    version = "0.11.3";
-  };
-  pry-byebug = {
-    dependencies = ["byebug" "pry"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
-      type = "gem";
-    };
-    version = "3.5.1";
-  };
-  pry-rails = {
-    dependencies = ["pry"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0k2d43bwmqbswfra4fkadjjbszwb11pr7qdkma91qrcrk62wqxvy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
-  public_suffix = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  puma = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
-      type = "gem";
-    };
-    version = "3.12.0";
-  };
-  puma_worker_killer = {
-    dependencies = ["get_process_mem" "puma"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1m08qi8mxpp20zqqjj9yzcrx0sn29n5fn5avlf1lnl0n7qa9c03i";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  pyu-ruby-sasl = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
-      type = "gem";
-    };
-    version = "0.0.3.3";
-  };
-  raabro = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq";
-      type = "gem";
-    };
-    version = "1.1.6";
-  };
-  rack = {
-    groups = ["default" "development" "kerberos" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i";
-      type = "gem";
-    };
-    version = "2.0.7";
-  };
-  rack-accept = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
-      type = "gem";
-    };
-    version = "0.4.5";
-  };
-  rack-attack = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
-      type = "gem";
-    };
-    version = "4.4.1";
-  };
-  rack-cors = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013";
-      type = "gem";
-    };
-    version = "1.0.2";
-  };
-  rack-oauth2 = {
-    dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii";
-      type = "gem";
-    };
-    version = "1.9.3";
-  };
-  rack-protection = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk";
-      type = "gem";
-    };
-    version = "2.0.5";
-  };
-  rack-proxy = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bpbcb9ch94ha2q7gdri88ry7ch0z6ian289kah9ayxyqg19j6f4";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
-  rack-test = {
-    dependencies = ["rack"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  rack-timeout = {
-    groups = ["puma"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a";
-      type = "gem";
-    };
-    version = "0.5.1";
-  };
-  rails = {
-    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rails-controller-testing = {
-    dependencies = ["actionpack" "actionview" "activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy";
-      type = "gem";
-    };
-    version = "1.0.2";
-  };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
-      type = "gem";
-    };
-    version = "2.0.3";
-  };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  rails-i18n = {
-    dependencies = ["i18n" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rqij2ggqz5iq36lbibhnd7pl4qxrvv9kgw9s0c6594vzbbxmhs0";
-      type = "gem";
-    };
-    version = "5.1.1";
-  };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rainbow = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  raindrops = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp";
-      type = "gem";
-    };
-    version = "0.19.0";
-  };
-  rake = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
-      type = "gem";
-    };
-    version = "12.3.2";
-  };
-  rb-fsevent = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  rb-inotify = {
-    dependencies = ["ffi"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
-      type = "gem";
-    };
-    version = "0.9.10";
-  };
-  rblineprof = {
-    dependencies = ["debugger-ruby_core_source"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
-  rbtrace = {
-    dependencies = ["ffi" "msgpack" "optimist"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi";
-      type = "gem";
-    };
-    version = "0.4.11";
-  };
-  rdoc = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7";
-      type = "gem";
-    };
-    version = "6.0.4";
-  };
-  re2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
-  recaptcha = {
-    dependencies = ["json"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "121pkq8kwqjh4l751xzx15bjp5vmf5pirfmpb11h71zsiavjqv6w";
-      type = "gem";
-    };
-    version = "4.13.1";
-  };
-  recursive-open-struct = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wfcyigmf5mwrxy76p0bi4sdb4h9afs8jc73pjav5cnqszljjl3c";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  RedCloth = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
-      type = "gem";
-    };
-    version = "4.3.2";
-  };
-  redis = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv";
-      type = "gem";
-    };
-    version = "3.3.5";
-  };
-  redis-actionpack = {
-    dependencies = ["actionpack" "redis-rack" "redis-store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63";
-      type = "gem";
-    };
-    version = "5.0.2";
-  };
-  redis-activesupport = {
-    dependencies = ["activesupport" "redis-store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5";
-      type = "gem";
-    };
-    version = "5.0.4";
-  };
-  redis-namespace = {
-    dependencies = ["redis"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  redis-rack = {
-    dependencies = ["rack" "redis-store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb";
-      type = "gem";
-    };
-    version = "2.0.4";
-  };
-  redis-rails = {
-    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40";
-      type = "gem";
-    };
-    version = "5.0.2";
-  };
-  redis-store = {
-    dependencies = ["redis"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mrcnjgkbmx1zf569mly82agdizqayjvnp2k6055k1iy07in3j8b";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  regexp_parser = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dsgjb3kszk6a82s6gl0h6a8vncjrxmcbk0r4mcxcdcad2b7vb2d";
-      type = "gem";
-    };
-    version = "1.5.1";
-  };
-  regexp_property_values = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05ka0bkhghs9b9pv6q443k8y1c5xalmm0vylj9zd450ksncxj1yr";
-      type = "gem";
-    };
-    version = "0.3.4";
-  };
-  representable = {
-    dependencies = ["declarative" "declarative-option" "uber"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07";
-      type = "gem";
-    };
-    version = "3.0.4";
-  };
-  request_store = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  responders = {
-    dependencies = ["actionpack" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  rest-client = {
-    dependencies = ["http-cookie" "mime-types" "netrc"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
-      type = "gem";
-    };
-    version = "2.0.2";
-  };
-  retriable = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha";
-      type = "gem";
-    };
-    version = "3.1.2";
-  };
-  rinku = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11cakxzp7qi04d41hbqkh92n52mm4z2ba8sqyhxbmfi4kypmls9y";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
-  rotp = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d";
-      type = "gem";
-    };
-    version = "2.1.2";
-  };
-  rouge = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
-      type = "gem";
-    };
-    version = "3.5.1";
-  };
-  rqrcode = {
-    dependencies = ["chunky_png"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
-      type = "gem";
-    };
-    version = "0.7.0";
-  };
-  rqrcode-rails3 = {
-    dependencies = ["rqrcode"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
-      type = "gem";
-    };
-    version = "0.1.7";
-  };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
-      type = "gem";
-    };
-    version = "3.8.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0spjgmd3yx6q28q950r32bi0cs8h2si53zn6rq8s7n1i4zp4zwbf";
-      type = "gem";
-    };
-    version = "3.8.2";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0x3iddjjaramqb0yb51c79p2qajgi9wb5b59bzv25czddigyk49r";
-      type = "gem";
-    };
-    version = "3.8.4";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12zplnsv4p6wvvxsk8xn6nm87a5qadxlkk497zlxfczd0jfawrni";
-      type = "gem";
-    };
-    version = "3.8.1";
-  };
-  rspec-parameterized = {
-    dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c0892jbaznnldk1wi24qxm70g4zhw2idqx516rhgdzgd7yh5j31";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  rspec-rails = {
-    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1";
-      type = "gem";
-    };
-    version = "3.8.2";
-  };
-  rspec-retry = {
-    dependencies = ["rspec-core"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nnqcg2yd3nn187zbvh4cgx8xsvdk56lz1985qy7232v7i8yidw6";
-      type = "gem";
-    };
-    version = "0.6.1";
-  };
-  rspec-set = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06vw8b5w1a58838cw9ssmy3r6f8vrjh54h7dp97rwv831gn5zlyk";
-      type = "gem";
-    };
-    version = "0.1.3";
-  };
-  rspec-support = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "139mbhfdr10flm2ffryvxkyqgqs1gjdclc1xhyh7i7njfqayxk7g";
-      type = "gem";
-    };
-    version = "3.8.2";
-  };
-  rspec_junit_formatter = {
-    dependencies = ["rspec-core"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1aynmrgnv26pkprrajvp7advb8nbh0x4pkwk6jwq8qmwzarzk21p";
-      type = "gem";
-    };
-    version = "0.4.1";
-  };
-  rspec_profiling = {
-    dependencies = ["activerecord" "pg" "rails" "sqlite3"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g7q7gav26bpiprx4dhlvdh4zdrhwiky9jbmsp14gyfiabqdz4sz";
-      type = "gem";
-    };
-    version = "0.0.5";
-  };
-  rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cmw8ajaiidvrzjcsljh47f4l3lmcazqrzljgalj3szkr8ibkk5i";
-      type = "gem";
-    };
-    version = "0.69.0";
-  };
-  rubocop-gitlab-security = {
-    dependencies = ["rubocop"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0v0040kpx46fxz3p7dsdjgvsx89qjhwy17n8vxnqg9a7g1rfvxln";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
-  rubocop-performance = {
-    dependencies = ["rubocop"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0azzgj62w24wa4hza1qn7i9b9crxdh907kydlzcvhismx41h3lzk";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  rubocop-rspec = {
-    dependencies = ["rubocop"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vk51h9swvgshan8vp8yjz03qv9vn5vs29i9iddhjwcwgzsganla";
-      type = "gem";
-    };
-    version = "1.22.2";
-  };
-  ruby-enum = {
-    dependencies = ["i18n"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx";
-      type = "gem";
-    };
-    version = "0.7.2";
-  };
-  ruby-fogbugz = {
-    dependencies = ["crack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
-      type = "gem";
-    };
-    version = "0.2.1";
-  };
-  ruby-prof = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
-      type = "gem";
-    };
-    version = "0.17.0";
-  };
-  ruby-progressbar = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  ruby-saml = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0k9d88fa8bp5szivbwq0qi960y3r2kp6jhnkmsp3n2rvwpn936i3";
-      type = "gem";
-    };
-    version = "1.7.2";
-  };
-  ruby_parser = {
-    dependencies = ["sexp_processor"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0s3hsccsmrirc2hy3r51kl8g9cfmcn7jxaa0asadg1kn78h1sgr7";
-      type = "gem";
-    };
-    version = "3.13.1";
-  };
-  rubyntlm = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
-      type = "gem";
-    };
-    version = "0.6.2";
-  };
-  rubypants = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  rubyzip = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
-      type = "gem";
-    };
-    version = "1.2.2";
-  };
-  rugged = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
-      type = "gem";
-    };
-    version = "0.28.1";
-  };
-  safe_yaml = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  sanitize = {
-    dependencies = ["crass" "nokogiri" "nokogumbo"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv";
-      type = "gem";
-    };
-    version = "4.6.6";
-  };
-  sass = {
-    dependencies = ["sass-listen"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
-      type = "gem";
-    };
-    version = "3.5.5";
-  };
-  sass-listen = {
-    dependencies = ["rb-fsevent" "rb-inotify"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
-      type = "gem";
-    };
-    version = "4.0.0";
-  };
-  sassc = {
-    dependencies = ["ffi" "rake"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4";
-      type = "gem";
-    };
-    version = "2.0.1";
-  };
-  sassc-rails = {
-    dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18mgdjxdzpbw92zrllynxw7jn7yihi85j3dg7i4f6c39w1scqkbn";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  sawyer = {
-    dependencies = ["addressable" "faraday"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  scss_lint = {
-    dependencies = ["rake" "sass"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01bfkrjn1i0hfg1ifwn1rs7vqwdbdw158krwr5fm6iasd9zgl10g";
-      type = "gem";
-    };
-    version = "0.56.0";
-  };
-  seed-fu = {
-    dependencies = ["activerecord" "activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0x6gclryl0hds3zms095d2iyafcvm2kfrm7362vrkxws7r2775pi";
-      type = "gem";
-    };
-    version = "2.3.7";
-  };
-  selenium-webdriver = {
-    dependencies = ["childprocess" "rubyzip"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs";
-      type = "gem";
-    };
-    version = "3.141.0";
-  };
-  sentry-raven = {
-    dependencies = ["faraday"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483";
-      type = "gem";
-    };
-    version = "2.9.0";
-  };
-  settingslogic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
-      type = "gem";
-    };
-    version = "2.0.9";
-  };
-  sexp_processor = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0w24rgmyjf7yz0xr2qhbr8z48h4m6gvbggr8nc1pldwn9rbi04b7";
-      type = "gem";
-    };
-    version = "4.12.0";
-  };
-  sham_rack = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
-      type = "gem";
-    };
-    version = "1.3.6";
-  };
-  shoulda-matchers = {
-    dependencies = ["activesupport"];
-    groups = ["test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s6a2i39lsqq8rrkk2pddqcb10bsihxy3v5gpnc2gk8xakj1brdq";
-      type = "gem";
-    };
-    version = "4.0.1";
-  };
-  sidekiq = {
-    dependencies = ["connection_pool" "rack" "rack-protection" "redis"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "131zv8i341bkacxx7n1id2cmblkbs379farnibqg8c7bycd1iajq";
-      type = "gem";
-    };
-    version = "5.2.7";
-  };
-  sidekiq-cron = {
-    dependencies = ["fugit" "sidekiq"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  signet = {
-    dependencies = ["addressable" "faraday" "jwt" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
-      type = "gem";
-    };
-    version = "0.11.0";
-  };
-  simple_po_parser = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08wkp4gcrd89k5yari9j94if9ffkj3rka4llcwrhdgsi3l15p5f3";
-      type = "gem";
-    };
-    version = "1.1.2";
-  };
-  simplecov = {
-    dependencies = ["docile" "json" "simplecov-html"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947";
-      type = "gem";
-    };
-    version = "0.16.1";
-  };
-  simplecov-html = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  slack-notifier = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xavibxh00gy62mm79l6id9l2fldjmdqifk8alqfqy5z38ffwah6";
-      type = "gem";
-    };
-    version = "1.5.1";
-  };
-  spring = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75";
-      type = "gem";
-    };
-    version = "2.0.2";
-  };
-  spring-commands-rspec = {
-    dependencies = ["spring"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  sprockets = {
-    dependencies = ["concurrent-ruby" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
-      type = "gem";
-    };
-    version = "3.7.2";
-  };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
-      type = "gem";
-    };
-    version = "3.2.1";
-  };
-  sqlite3 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
-      type = "gem";
-    };
-    version = "1.3.13";
-  };
-  sshkey = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
-  stackprof = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c88j2d6ipjw5s3hgdgfww37gysgrkicawagj33hv3knijjc9ski";
-      type = "gem";
-    };
-    version = "0.2.10";
-  };
-  state_machines = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
-  state_machines-activemodel = {
-    dependencies = ["activemodel" "state_machines"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l";
-      type = "gem";
-    };
-    version = "0.5.1";
-  };
-  state_machines-activerecord = {
-    dependencies = ["activerecord" "state_machines-activemodel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3";
-      type = "gem";
-    };
-    version = "0.5.1";
-  };
-  swd = {
-    dependencies = ["activesupport" "attr_required" "httpclient"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd";
-      type = "gem";
-    };
-    version = "1.1.2";
-  };
-  sys-filesystem = {
-    dependencies = ["ffi"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "092wj7936i5inzafi09wqh5c8dbak588q21k652dsrdjf5qi10zq";
-      type = "gem";
-    };
-    version = "1.1.6";
-  };
-  sysexits = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  temple = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
-  test-prof = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08nvn3c1mzgcjgk9lr3py0zjd8fjjrm3ncn9rpqkfbx429mgw2l3";
-      type = "gem";
-    };
-    version = "0.2.5";
-  };
-  text = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  thin = {
-    dependencies = ["daemons" "eventmachine" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f";
-      type = "gem";
-    };
-    version = "1.7.2";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns";
-      type = "gem";
-    };
-    version = "0.19.4";
-  };
-  thread_safe = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
-  thrift = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv";
-      type = "gem";
-    };
-    version = "0.11.0.0";
-  };
-  tilt = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
-      type = "gem";
-    };
-    version = "2.0.8";
-  };
-  timecop = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  timfel-krb5-auth = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
-      type = "gem";
-    };
-    version = "0.8.3";
-  };
-  toml = {
-    dependencies = ["parslet"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xj460rkyqvg74xc8kivmbvgc46c6mm7r8mbjs5m2gq8khf8sbki";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  toml-rb = {
-    dependencies = ["citrus"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pz6z1mc7rnv4chkbx3mdn4q1lpp0j596dq57kbq39jv0wn0wi4d";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  tomlrb = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
-      type = "gem";
-    };
-    version = "1.2.8";
-  };
-  truncato = {
-    dependencies = ["htmlentities" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0z36dprfj9l4jwgwb2wv4v3cilm53v7i1ywfmm5f1dl352id3ak4";
-      type = "gem";
-    };
-    version = "0.7.11";
-  };
-  tzinfo = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
-      type = "gem";
-    };
-    version = "1.2.5";
-  };
-  u2f = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lsm1hvwcaa9sq13ab1l1zjk0fgcy951ay11v2acx0h6q1iv21vr";
-      type = "gem";
-    };
-    version = "0.2.1";
-  };
-  uber = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  uglifier = {
-    dependencies = ["execjs" "json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
-      type = "gem";
-    };
-    version = "2.7.2";
-  };
-  unf = {
-    dependencies = ["unf_ext"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  unf_ext = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
-      type = "gem";
-    };
-    version = "0.0.7.5";
-  };
-  unicode-display_width = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  unicorn = {
-    dependencies = ["kgio" "raindrops"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak";
-      type = "gem";
-    };
-    version = "5.4.1";
-  };
-  unicorn-worker-killer = {
-    dependencies = ["get_process_mem" "unicorn"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
-      type = "gem";
-    };
-    version = "0.4.4";
-  };
-  uniform_notifier = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  unparser = {
-    dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03vjj74kj86vlazhiclf63kf6gajs66k8ni34q70fdhf97d7b60c";
-      type = "gem";
-    };
-    version = "0.4.5";
-  };
-  validate_email = {
-    dependencies = ["activemodel" "mail"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx";
-      type = "gem";
-    };
-    version = "0.1.6";
-  };
-  validate_url = {
-    dependencies = ["activemodel" "public_suffix"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k0bfxzvdcf1nrqhvnyhijc4mwab9wn4qvqb0ynq6p8dj0f866zi";
-      type = "gem";
-    };
-    version = "1.0.8";
-  };
-  validates_hostname = {
-    dependencies = ["activerecord" "activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04p1l0v98j4ffvaks1ig9mygx5grpbpdgz7haq3mygva9iy8ykja";
-      type = "gem";
-    };
-    version = "1.0.6";
-  };
-  version_sorter = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hbdw3vh856f5yg5mbj4498l6vh90cd3pn22ikr3ranzkrh73l3s";
-      type = "gem";
-    };
-    version = "2.2.4";
-  };
-  virtus = {
-    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
-      type = "gem";
-    };
-    version = "1.0.5";
-  };
-  vmstat = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vb5mwc71p8rlm30hnll3lb4z70ipl5rmilskpdrq2mxwfilcm5b";
-      type = "gem";
-    };
-    version = "2.3.0";
-  };
-  warden = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12";
-      type = "gem";
-    };
-    version = "1.2.7";
-  };
-  webfinger = {
-    dependencies = ["activesupport" "httpclient"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  webmock = {
-    dependencies = ["addressable" "crack" "hashdiff"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp";
-      type = "gem";
-    };
-    version = "3.5.1";
-  };
-  webpack-rails = {
-    dependencies = ["railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fsjxw730bh4k1dfnbjm645fgjyqrh830l1z7brqbsm6306ig1rr";
-      type = "gem";
-    };
-    version = "0.9.11";
-  };
-  websocket-driver = {
-    dependencies = ["websocket-extensions"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn";
-      type = "gem";
-    };
-    version = "0.7.0";
-  };
-  websocket-extensions = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270";
-      type = "gem";
-    };
-    version = "0.1.3";
-  };
-  wikicloth = {
-    dependencies = ["builder" "expression_parser" "rinku"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  with_env = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  xml-simple = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  xpath = {
-    dependencies = ["nokogiri"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 62ee2990dfa6..b6f57297c077 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -2,25 +2,27 @@ source 'https://rubygems.org'
 
 gem 'rails', '5.2.3'
 
+gem 'bootsnap', '~> 1.4'
+
 # Improves copy-on-write performance for MRI
 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 'mysql2', '~> 0.4.10', group: :mysql
-gem 'pg', '~> 1.1', group: :postgres
+gem 'pg', '~> 1.1'
 
 gem 'rugged', '~> 0.28'
 gem 'grape-path-helpers', '~> 1.1'
 
 gem 'faraday', '~> 0.12'
+gem 'marginalia', '~> 1.8.0'
 
 # Authentication libraries
 gem 'devise', '~> 4.6'
@@ -41,7 +43,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'
@@ -52,7 +54,8 @@ gem 'gssapi', group: :kerberos
 
 # Spam and anti-bot protection
 gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
-gem 'akismet', '~> 2.0'
+gem 'akismet', '~> 3.0'
+gem 'invisible_captcha', '~> 0.12.1'
 
 # Two-factor authentication
 gem 'devise-two-factor', '~> 3.0.0'
@@ -62,7 +65,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'
 
@@ -70,7 +73,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
@@ -84,7 +87,10 @@ gem 'grape-entity', '~> 0.7.1'
 gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
 
 # GraphQL API
-gem 'graphql', '~> 1.8.0'
+gem 'graphql', '~> 1.9.11'
+# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771
+# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
+# https://gitlab.com/gitlab-org/gitlab/issues/31747
 gem 'graphiql-rails', '~> 1.4.10'
 gem 'apollo_upload_server', '~> 2.0.0.beta3'
 gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
@@ -96,7 +102,7 @@ gem 'hashie-forbidden_attributes'
 gem 'kaminari', '~> 1.0'
 
 # HAML
-gem 'hamlit', '~> 2.8.8'
+gem 'hamlit', '~> 2.11.0'
 
 # Files attachments
 gem 'carrierwave', '~> 1.3'
@@ -107,7 +113,7 @@ gem 'fog-aws', '~> 3.5'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
-gem 'fog-google', '~> 1.8'
+gem 'fog-google', '~> 1.9'
 gem 'fog-local', '~> 0.6'
 gem 'fog-openstack', '~> 1.0'
 gem 'fog-rackspace', '~> 0.1.1'
@@ -130,11 +136,11 @@ gem 'aws-sdk'
 gem 'faraday_middleware-aws-signers-v4'
 
 # Markdown and HTML processing
-gem 'html-pipeline', '~> 2.8'
-gem 'deckar01-task_list', '2.2.0'
+gem 'html-pipeline', '~> 2.12'
+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'
+gem 'commonmarker', '~> 0.20'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 6.0'
 gem 'org-ruby', '~> 0.9.12'
@@ -143,10 +149,10 @@ gem 'wikicloth', '0.8.1'
 gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
 gem 'asciidoctor-plantuml', '0.0.9'
-gem 'rouge', '~> 3.5'
+gem 'rouge', '~> 3.11.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.3'
+gem 'nokogiri', '~> 1.10.5'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -154,6 +160,7 @@ gem 'icalendar'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
+gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
 gem 'rack', '~> 2.0.7'
@@ -164,13 +171,13 @@ group :unicorn do
 end
 
 group :puma do
-  gem 'puma', '~> 3.12', require: false
-  gem 'puma_worker_killer', require: false
+  gem 'gitlab-puma', '~> 4.3.1.gitlab.2', require: false
+  gem 'gitlab-puma_worker_killer', '~> 0.1.1.gitlab.1', require: false
   gem 'rack-timeout', require: false
 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'
@@ -179,7 +186,7 @@ gem 'acts-as-taggable-on', '~> 6.0'
 gem 'sidekiq', '~> 5.2.7'
 gem 'sidekiq-cron', '~> 1.0'
 gem 'redis-namespace', '~> 1.6.0'
-gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch'
+gem 'gitlab-sidekiq-fetcher', '0.5.2', require: 'sidekiq-reliable-fetch'
 
 # Cron Parser
 gem 'fugit', '~> 1.2.1'
@@ -209,13 +216,13 @@ gem 'js_regex', '~> 3.1'
 # User agent parsing
 gem 'device_detector'
 
-# Cache
-gem 'redis-rails', '~> 5.0.2'
-
 # Redis
-gem 'redis', '~> 3.2'
+gem 'redis', '~> 4.0'
 gem 'connection_pool', '~> 2.0'
 
+# Redis session store
+gem 'redis-rails', '~> 5.0.2'
+
 # Discord integration
 gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
 
@@ -223,7 +230,8 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
 gem 'hipchat', '~> 1.5.0'
 
 # Jira integration
-gem 'jira-ruby', '~> 1.4'
+gem 'jira-ruby', '~> 1.7'
+gem 'atlassian-jwt', '~> 0.2.0'
 
 # Flowdock integration
 gem 'flowdock', '~> 0.7'
@@ -235,13 +243,13 @@ gem 'slack-notifier', '~> 1.5.1'
 gem 'hangouts-chat', '~> 0.0.5'
 
 # Asana integration
-gem 'asana', '~> 0.8.1'
+gem 'asana', '~> 0.9'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
 
 # Kubernetes integration
-gem 'kubeclient', '~> 4.2.2'
+gem 'kubeclient', '~> 4.4.0'
 
 # Sanitize user input
 gem 'sanitize', '~> 4.6'
@@ -253,9 +261,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'
 
@@ -269,8 +274,8 @@ gem 'mimemagic', '~> 0.3.2'
 gem 'fast_blank'
 
 # Parse time & duration
-gem 'chronic', '~> 0.10.2'
-gem 'chronic_duration', '~> 0.10.6'
+gem 'gitlab-chronic', '~> 0.10.5'
+gem 'gitlab_chronic_duration', '~> 0.10.6.2'
 
 gem 'webpack-rails', '~> 0.9.10'
 gem 'rack-proxy', '~> 0.6.0'
@@ -283,18 +288,20 @@ gem 'font-awesome-rails', '~> 4.7'
 gem 'gemojione', '~> 3.3'
 gem 'gon', '~> 6.2'
 gem 'request_store', '~> 1.3'
-gem 'virtus', '~> 1.0.1'
 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.3.0'
+gem 'gitlab-labkit', '~> 0.5'
 
 # I18n
 gem 'ruby_parser', '~> 3.8', require: false
@@ -306,12 +313,7 @@ gem 'gettext', '~> 3.2.2', require: false, group: :development
 gem 'batch-loader', '~> 1.4.0'
 
 # Perf bar
-gem 'peek', '~> 1.0.1'
-gem 'peek-gc', '~> 0.0.2'
-gem 'peek-mysql2', '~> 1.2.0', group: :mysql
-gem 'peek-pg', '~> 1.3.0', group: :postgres
-gem 'peek-rblineprof', '~> 0.2.0'
-gem 'peek-redis', '~> 1.2.0'
+gem 'peek', '~> 1.1'
 
 # Snowplow events tracking
 gem 'snowplow-tracker', '~> 0.6.1'
@@ -325,13 +327,13 @@ group :metrics do
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.9.8'
+  gem 'prometheus-client-mmap', '~> 0.9.10'
   gem 'raindrops', '~> 0.18'
 end
 
 group :development do
-  gem 'foreman', '~> 0.84.0'
   gem 'brakeman', '~> 4.2', require: false
+  gem 'danger', '~> 6.0', require: false
 
   gem 'letter_opener_web', '~> 1.3.4'
   gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
@@ -345,21 +347,15 @@ group :development do
 end
 
 group :development, :test do
-  gem 'bootsnap', '~> 1.4'
-  gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
+  gem 'bullet', '~> 6.0.2', require: !!ENV['ENABLE_BULLET']
   gem 'pry-byebug', '~> 3.5.1', platform: :mri
   gem 'pry-rails', '~> 0.3.4'
 
   gem 'awesome_print', require: false
-  gem 'fuubar', '~> 2.2.0'
 
   gem 'database_cleaner', '~> 1.7.0'
-  gem 'factory_bot_rails', '~> 4.8.2'
-  gem 'rspec-rails', '~> 3.8.0'
-  gem 'rspec-retry', '~> 0.6.1'
-  gem 'rspec_profiling', '~> 0.0.5'
-  gem 'rspec-set', '~> 0.1.3'
-  gem 'rspec-parameterized', require: false
+  gem 'factory_bot_rails', '~> 5.1.0'
+  gem 'rspec-rails', '~> 4.0.0.beta3'
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
   gem 'minitest', '~> 5.11.0'
@@ -367,10 +363,6 @@ group :development, :test do
   # Generate Fake data
   gem 'ffaker', '~> 2.10'
 
-  gem 'capybara', '~> 3.22.0'
-  gem 'capybara-screenshot', '~> 1.0.22'
-  gem 'selenium-webdriver', '~> 3.141'
-
   gem 'spring', '~> 2.0.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
@@ -381,45 +373,56 @@ group :development, :test do
   gem 'rubocop-rspec', '~> 1.22.1'
 
   gem 'scss_lint', '~> 0.56.0', require: false
-  gem 'haml_lint', '~> 0.31.0', require: false
+  gem 'haml_lint', '~> 0.34.0', require: false
   gem 'simplecov', '~> 0.16.1', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
-  gem 'mdl', '~> 0.5.0', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
-  gem 'license_finder', '~> 5.4', require: false
   gem 'knapsack', '~> 1.17'
 
-  gem 'activerecord_sane_schema_dumper', '1.0'
-
-  gem 'stackprof', '~> 0.2.10', require: false
+  gem 'stackprof', '~> 0.2.13', require: false
 
   gem 'simple_po_parser', '~> 1.1.2', require: false
 
   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 'fuubar', '~> 2.2.0'
+  gem 'rspec-retry', '~> 0.6.1'
+  gem 'rspec_profiling', '~> 0.0.5'
+  gem 'rspec-set', '~> 0.1.3'
+  gem 'rspec-parameterized', require: false
+
+  gem 'capybara', '~> 3.22.0'
+  gem 'capybara-screenshot', '~> 1.0.22'
+  gem 'selenium-webdriver', '~> 3.142'
+
   gem 'shoulda-matchers', '~> 4.0.1', require: false
   gem 'email_spec', '~> 2.2.0'
   gem 'json-schema', '~> 2.8.0'
   gem 'webmock', '~> 3.5.1'
   gem 'rails-controller-testing'
-  gem 'sham_rack', '~> 1.3.6'
   gem 'concurrent-ruby', '~> 1.1'
-  gem 'test-prof', '~> 0.2.5'
+  gem 'test-prof', '~> 0.10.0'
   gem 'rspec_junit_formatter'
+  gem 'guard-rspec'
 end
 
 gem 'octokit', '~> 4.9'
 
-gem 'mail_room', '~> 0.9.1'
+gem 'mail_room', '~> 0.10.0'
 
 gem 'email_reply_trimmer', '~> 0.1'
 gem 'html2text'
 
-gem 'ruby-prof', '~> 0.17.0'
+gem 'ruby-prof', '~> 1.0.0'
 gem 'rbtrace', '~> 0.4', require: false
 gem 'memory_profiler', '~> 0.9', require: false
 gem 'benchmark-memory', '~> 0.1', require: false
@@ -448,23 +451,29 @@ group :ed25519 do
   gem 'bcrypt_pbkdf', '~> 1.0'
 end
 
-# Gitaly GRPC client
-gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
+# Gitaly GRPC protocol definitions
+gem 'gitaly', '~> 1.73.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
 gem 'lograge', '~> 0.5'
 gem 'grape_logging', '~> 1.7'
 
 # DNS Lookup
-gem 'net-dns', '~> 0.9.0'
+gem 'gitlab-net-dns', '~> 0.9.1'
+
+# Countries list
+gem 'countries', '~> 3.0'
+
+gem 'retriable', '~> 3.1.2'
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 0a6d7fe1370b..0e3227058620 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -41,8 +41,6 @@ GEM
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activerecord_sane_schema_dumper (1.0)
-      rails (>= 5, < 6)
     activestorage (5.2.3)
       actionpack (= 5.2.3)
       activerecord (= 5.2.3)
@@ -52,43 +50,46 @@ 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)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
     aes_key_wrap (1.0.1)
-    akismet (2.0.0)
+    akismet (3.0.0)
     apollo_upload_server (2.0.0.beta.3)
       graphql (>= 1.8)
       rails (>= 4.2)
     arel (9.0.0)
-    asana (0.8.1)
+    asana (0.9.3)
       faraday (~> 0.9)
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
-      oauth2 (~> 1.0)
+      oauth2 (~> 1.4)
     asciidoctor (2.0.10)
     asciidoctor-include-ext (0.3.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
     asciidoctor-plantuml (0.0.9)
       asciidoctor (>= 1.5.6, < 3.0.0)
     ast (2.4.0)
-    atomic (1.1.99)
+    atlassian-jwt (0.2.0)
+      jwt (~> 2.1.0)
     attr_encrypted (3.1.0)
       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)
@@ -109,7 +110,7 @@ GEM
     binding_ninja (0.2.3)
     binding_of_caller (0.8.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.4.1)
+    bootsnap (1.4.5)
       msgpack (~> 1.0)
     bootstrap_form (4.2.0)
       actionpack (>= 5.0)
@@ -117,9 +118,9 @@ GEM
     brakeman (4.2.1)
     browser (2.5.3)
     builder (3.2.3)
-    bullet (5.5.1)
+    bullet (6.0.2)
       activesupport (>= 3.0.0)
-      uniform_notifier (~> 1.10.0)
+      uniform_notifier (~> 1.11)
     bundler-audit (0.5.0)
       bundler (~> 1.2)
       thor (~> 0.18)
@@ -142,42 +143,61 @@ GEM
     cause (0.1)
     character_set (1.1.2)
     charlock_holmes (0.7.6)
-    childprocess (0.9.0)
-      ffi (~> 1.0, >= 1.0.11)
-    chronic (0.10.2)
-    chronic_duration (0.10.6)
-      numerizer (~> 0.1.1)
+    childprocess (3.0.0)
     chunky_png (1.3.5)
     citrus (3.0.2)
+    claide (1.0.3)
+    claide-plugins (0.9.2)
+      cork
+      nap
+      open4 (~> 1.3)
     coderay (1.1.2)
     coercible (1.0.0)
       descendants_tracker (~> 0.0.1)
-    commonmarker (0.17.13)
+    colored2 (3.1.2)
+    commonmarker (0.20.1)
       ruby-enum (~> 0.5)
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
     concurrent-ruby (1.1.5)
-    concurrent-ruby-ext (1.1.5)
-      concurrent-ruby (= 1.1.5)
     connection_pool (2.2.2)
     contracts (0.11.0)
+    cork (0.3.0)
+      colored2 (~> 3.1)
+    countries (3.0.0)
+      i18n_data (~> 0.8.0)
+      sixarm_ruby_unaccent (~> 1.1)
+      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)
+      claide (~> 1.0)
+      claide-plugins (>= 0.9.2)
+      colored2 (~> 3.1)
+      cork (~> 0.1)
+      faraday (~> 0.9)
+      faraday-http-cache (~> 2.0)
+      git (~> 1.5)
+      kramdown (~> 2.0)
+      kramdown-parser-gfm (~> 1.0)
+      no_proxy_fix
+      octokit (~> 4.7)
+      terminal-table (~> 1)
     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)
@@ -189,10 +209,10 @@ GEM
     descendants_tracker (0.0.4)
       thread_safe (~> 0.3, >= 0.3.1)
     device_detector (1.0.0)
-    devise (4.6.2)
+    devise (4.7.1)
       bcrypt (~> 3.0)
       orm_adapter (~> 0.1)
-      railties (>= 4.1.0, < 6.0)
+      railties (>= 4.1.0)
       responders
       warden (~> 1.2.3)
     devise-two-factor (3.0.0)
@@ -202,6 +222,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)
@@ -234,7 +255,7 @@ GEM
       mail (~> 2.7)
     encryptor (3.0.0)
     equalizer (0.0.11)
-    erubi (1.8.0)
+    erubi (1.9.0)
     escape_utils (1.2.1)
     et-orbi (1.2.1)
       tzinfo
@@ -244,13 +265,15 @@ GEM
     expression_parser (0.9.0)
     extended-markdown-filter (0.6.0)
       html-pipeline (~> 2.0)
-    factory_bot (4.8.2)
-      activesupport (>= 3.0.0)
-    factory_bot_rails (4.8.2)
-      factory_bot (~> 4.8.2)
-      railties (>= 3.0.0)
+    factory_bot (5.1.0)
+      activesupport (>= 4.2.0)
+    factory_bot_rails (5.1.0)
+      factory_bot (~> 5.1.0)
+      railties (>= 4.2.0)
     faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
+    faraday-http-cache (2.0.0)
+      faraday (~> 0.8)
     faraday_middleware (0.12.2)
       faraday (>= 0.7.4, < 1.0)
     faraday_middleware-aws-signers-v4 (0.1.7)
@@ -262,14 +285,14 @@ GEM
     fast_blank (1.0.0)
     fast_gettext (1.6.0)
     ffaker (2.10.0)
-    ffi (1.10.0)
-    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)
+    ffi (1.11.3)
+    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
@@ -288,7 +311,7 @@ GEM
       excon (~> 0.58)
       formatador (~> 0.2)
       mime-types
-    fog-google (1.8.2)
+    fog-google (1.9.1)
       fog-core (<= 2.1.0)
       fog-json (~> 1.2)
       fog-xml (~> 0.1.0)
@@ -310,10 +333,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)
@@ -335,24 +356,36 @@ GEM
       gettext_i18n_rails (>= 0.7.1)
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
-    gitaly-proto (1.37.0)
+    git (1.5.0)
+    gitaly (1.73.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-labkit (0.3.0)
-      actionpack (~> 5)
-      activesupport (~> 5)
-      grpc (~> 1.19.0)
+    gitlab-chronic (0.10.5)
+      numerizer (~> 0.2)
+    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)
+      redis (> 3.0.0, < 5.0.0)
     gitlab-license (1.0.0)
     gitlab-markup (1.7.0)
-    gitlab-sidekiq-fetcher (0.4.0)
+    gitlab-net-dns (0.9.1)
+    gitlab-puma (4.3.1.gitlab.2)
+      nio4r (~> 2.0)
+    gitlab-puma_worker_killer (0.1.1.gitlab.1)
+      get_process_mem (~> 0.2)
+      gitlab-puma (>= 2.7, < 5)
+    gitlab-sidekiq-fetcher (0.5.2)
       sidekiq (~> 5)
-    gitlab-styles (2.7.0)
+    gitlab-styles (2.8.0)
       rubocop (~> 0.69.0)
       rubocop-gitlab-security (~> 0.1.0)
       rubocop-performance (~> 1.1.0)
       rubocop-rspec (~> 1.19)
+    gitlab_chronic_duration (0.10.6.2)
+      numerizer (~> 0.2)
     gitlab_omniauth-ldap (2.1.1)
       net-ldap (~> 0.16)
       omniauth (~> 1.3)
@@ -371,7 +404,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)
@@ -381,7 +414,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
@@ -402,7 +435,7 @@ GEM
     graphiql-rails (1.4.10)
       railties
       sprockets-rails
-    graphql (1.8.1)
+    graphql (1.9.11)
     graphql-docs (1.6.0)
       commonmarker (~> 0.16)
       escape_utils (~> 1.2)
@@ -411,22 +444,35 @@ 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)
-    haml (5.0.4)
+    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.1.2)
       temple (>= 0.8.0)
       tilt
-    haml_lint (0.31.0)
-      haml (>= 4.0, < 5.1)
+    haml_lint (0.34.0)
+      haml (>= 4.0, < 5.2)
       rainbow
-      rake (>= 10, < 13)
       rubocop (>= 0.50.0)
       sysexits (~> 1.1)
-    hamlit (2.8.8)
-      temple (>= 0.8.0)
+    hamlit (2.11.0)
+      temple (>= 0.8.2)
       thor
       tilt
     hangouts-chat (0.0.5)
@@ -440,7 +486,7 @@ GEM
     hipchat (1.5.2)
       httparty
       mimemagic
-    html-pipeline (2.8.4)
+    html-pipeline (2.12.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     html2text (0.2.0)
@@ -459,23 +505,27 @@ GEM
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.6.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
+    i18n_data (0.8.0)
     icalendar (2.4.1)
     ice_nine (0.11.2)
     influxdb (0.2.3)
       cause
       json
+    invisible_captcha (0.12.1)
+      rails (>= 3.2.0)
     ipaddress (0.8.3)
     jaeger-client (0.10.0)
       opentracing (~> 0.3)
       thrift
-    jaro_winkler (1.5.2)
-    jira-ruby (1.4.1)
+    jaro_winkler (1.5.3)
+    jira-ruby (1.7.1)
       activesupport
+      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)
@@ -503,8 +553,10 @@ GEM
     kgio (2.11.2)
     knapsack (1.17.0)
       rake
-    kramdown (1.17.0)
-    kubeclient (4.2.2)
+    kramdown (2.1.0)
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
+    kubeclient (4.4.0)
       http (~> 3.0)
       recursive-open-struct (~> 1.0, >= 1.0.4)
       rest-client (~> 2.0)
@@ -525,24 +577,28 @@ 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.2.3)
+    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)
+    mail_room (0.10.0)
     marcel (0.3.3)
       mimemagic (~> 0.3.2)
-    mdl (0.5.0)
-      kramdown (~> 1.12, >= 1.12.0)
-      mixlib-cli (~> 1.7, >= 1.7.0)
-      mixlib-config (~> 2.2, >= 2.2.1)
+    marginalia (1.8.0)
+      actionpack (>= 2.3)
+      activerecord (>= 2.3)
     memoist (0.16.0)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
@@ -552,33 +608,35 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2019.0331)
     mimemagic (0.3.2)
-    mini_magick (4.8.0)
-    mini_mime (1.0.1)
+    mini_magick (4.9.5)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
-    mixlib-cli (1.7.0)
-    mixlib-config (2.2.18)
-      tomlrb
-    msgpack (1.2.10)
+    msgpack (1.3.1)
     multi_json (1.13.1)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
+    murmurhash3 (0.1.6)
     mustermann (1.0.3)
     mustermann-grape (1.0.0)
       mustermann (~> 1.0.0)
-    mysql2 (0.4.10)
     nakayoshi_fork (0.0.4)
-    net-dns (0.9.0)
+    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)
-    nokogiri (1.10.3)
+    nio4r (2.5.2)
+    no_proxy_fix (0.1.2)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
-    numerizer (0.1.1)
+    notiffany (0.1.3)
+      nenv (~> 0.1)
+      shellany (~> 0.0)
+    numerizer (0.2.0)
     oauth (0.5.4)
     oauth2 (1.4.1)
       faraday (>= 0.8, < 0.16.0)
@@ -646,11 +704,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)
-    openid_connect (1.1.6)
+    open4 (1.3.4)
+    openid_connect (1.1.8)
       activemodel
       attr_required (>= 1.0.0)
       json-jwt (>= 1.5.0)
@@ -670,45 +729,24 @@ GEM
     parser (2.6.3.0)
       ast (~> 2.4.0)
     parslet (1.8.2)
-    peek (1.0.1)
-      concurrent-ruby (>= 0.9.0)
-      concurrent-ruby-ext (>= 0.9.0)
+    peek (1.1.0)
       railties (>= 4.0.0)
-    peek-gc (0.0.2)
-      peek
-    peek-mysql2 (1.2.0)
-      concurrent-ruby
-      concurrent-ruby-ext
-      mysql2
-      peek
-    peek-pg (1.3.0)
-      concurrent-ruby
-      concurrent-ruby-ext
-      peek
-      pg
-    peek-rblineprof (0.2.0)
-      peek
-      rblineprof
-    peek-redis (1.2.0)
-      atomic (>= 1.0.0)
-      peek
-      redis
     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
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.9.8)
+    prometheus-client-mmap (0.9.10)
     pry (0.11.3)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
@@ -717,18 +755,14 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.6)
       pry (>= 0.10.4)
-    public_suffix (3.1.0)
-    puma (3.12.0)
-    puma_worker_killer (0.1.0)
-      get_process_mem (~> 0.2)
-      puma (>= 2.7, < 4)
+    public_suffix (3.1.1)
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
     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
@@ -756,15 +790,15 @@ 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)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
+    rails-html-sanitizer (1.3.0)
+      loofah (~> 2.3)
     rails-i18n (5.1.1)
       i18n (>= 0.7, < 2)
       railties (>= 5.0, < 6)
@@ -776,7 +810,7 @@ GEM
       thor (>= 0.19.0, < 2.0)
     rainbow (3.0.0)
     raindrops (0.19.0)
-    rake (12.3.2)
+    rake (12.3.3)
     rb-fsevent (0.10.2)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
@@ -791,25 +825,25 @@ GEM
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.0)
-    redis (3.3.5)
-    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.4)
-      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.4)
+    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)
@@ -817,9 +851,9 @@ GEM
       declarative-option (< 0.2.0)
       uber (< 0.2.0)
     request_store (1.3.1)
-    responders (2.4.0)
-      actionpack (>= 4.2.0, < 5.3)
-      railties (>= 4.2.0, < 5.3)
+    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)
@@ -827,7 +861,7 @@ GEM
     retriable (3.1.2)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (3.5.1)
+    rouge (3.11.0)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -850,14 +884,14 @@ GEM
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
-    rspec-rails (3.8.2)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.8.0)
-      rspec-expectations (~> 3.8.0)
-      rspec-mocks (~> 3.8.0)
-      rspec-support (~> 3.8.0)
+    rspec-rails (4.0.0.beta3)
+      actionpack (>= 4.2)
+      activesupport (>= 4.2)
+      railties (>= 4.2)
+      rspec-core (~> 3.8)
+      rspec-expectations (~> 3.8)
+      rspec-mocks (~> 3.8)
+      rspec-support (~> 3.8)
     rspec-retry (0.6.1)
       rspec-core (> 3.3)
     rspec-set (0.1.3)
@@ -886,16 +920,17 @@ GEM
       i18n
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
-    ruby-prof (0.17.0)
-    ruby-progressbar (1.10.0)
+    ruby-prof (1.0.0)
+    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)
-    rugged (0.28.1)
+    rubyzip (1.3.0)
+    rugged (0.28.4.1)
     safe_yaml (1.0.4)
     sanitize (4.6.6)
       crass (~> 1.0.2)
@@ -924,15 +959,14 @@ GEM
     seed-fu (2.3.7)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
-    selenium-webdriver (3.141.0)
-      childprocess (~> 0.5)
-      rubyzip (~> 1.2, >= 1.2.2)
+    selenium-webdriver (3.142.6)
+      childprocess (>= 0.5, < 4.0)
+      rubyzip (>= 1.2.2)
     sentry-raven (2.9.0)
       faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.12.0)
-    sham_rack (1.3.6)
-      rack
+    shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
     sidekiq (5.2.7)
@@ -954,6 +988,7 @@ GEM
       json (>= 1.8, < 3)
       simplecov-html (~> 0.10.0)
     simplecov-html (0.10.2)
+    sixarm_ruby_unaccent (1.2.0)
     slack-notifier (1.5.1)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
@@ -970,13 +1005,13 @@ GEM
       sprockets (>= 3.0.0)
     sqlite3 (1.3.13)
     sshkey (2.0.0)
-    stackprof (0.2.10)
+    stackprof (0.2.13)
     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)
@@ -985,24 +1020,25 @@ GEM
     sys-filesystem (1.1.6)
       ffi
     sysexits (1.2.0)
-    temple (0.8.1)
-    test-prof (0.2.5)
+    temple (0.8.2)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    test-prof (0.10.0)
     text (1.3.1)
     thin (1.7.2)
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
-    thor (0.19.4)
+    thor (0.20.3)
     thread_safe (0.3.6)
     thrift (0.11.0.0)
-    tilt (2.0.9)
+    tilt (2.0.10)
     timecop (0.8.1)
     timfel-krb5-auth (0.8.3)
     toml (0.2.0)
       parslet (~> 1.8.0)
     toml-rb (1.0.0)
       citrus (~> 3.0, > 3.0)
-    tomlrb (1.2.8)
     truncato (0.7.11)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
@@ -1017,13 +1053,16 @@ GEM
       unf_ext
     unf_ext (0.0.7.5)
     unicode-display_width (1.6.0)
+    unicode_utils (1.4.0)
     unicorn (5.4.1)
       kgio (~> 2.6)
       raindrops (~> 0.7)
     unicorn-worker-killer (0.4.4)
       get_process_mem (~> 0)
       unicorn (>= 4, < 6)
-    uniform_notifier (1.10.0)
+    uniform_notifier (1.13.0)
+    unleash (0.1.5)
+      murmurhash3 (~> 0.1.6)
     unparser (0.4.5)
       abstract_type (~> 0.0.7)
       adamantium (~> 0.2.0)
@@ -1048,8 +1087,8 @@ GEM
       descendants_tracker (~> 0.0, >= 0.0.3)
       equalizer (~> 0.0, >= 0.0.9)
     vmstat (2.3.0)
-    warden (1.2.7)
-      rack (>= 1.0)
+    warden (1.2.8)
+      rack (>= 2.0.6)
     webfinger (1.1.0)
       activesupport
       httpclient (>= 2.4)
@@ -1079,15 +1118,15 @@ DEPENDENCIES
   ace-rails-ap (~> 4.1.0)
   acme-client (~> 2.0.2)
   activerecord-explain-analyze (~> 0.1)
-  activerecord_sane_schema_dumper (= 1.0)
   acts-as-taggable-on (~> 6.0)
   addressable (~> 2.5.2)
-  akismet (~> 2.0)
+  akismet (~> 3.0)
   apollo_upload_server (~> 2.0.0.beta3)
-  asana (~> 0.8.1)
+  asana (~> 0.9)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
   asciidoctor-plantuml (= 0.0.9)
+  atlassian-jwt (~> 0.2.0)
   attr_encrypted (~> 3.1.0)
   awesome_print
   aws-sdk
@@ -1103,25 +1142,26 @@ DEPENDENCIES
   bootstrap_form (~> 4.2.0)
   brakeman (~> 4.2)
   browser (~> 2.5)
-  bullet (~> 5.5.0)
+  bullet (~> 6.0.2)
   bundler-audit (~> 0.5.0)
   capybara (~> 3.22.0)
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
   charlock_holmes (~> 0.7.5)
-  chronic (~> 0.10.2)
-  chronic_duration (~> 0.10.6)
-  commonmarker (~> 0.17)
+  commonmarker (~> 0.20)
   concurrent-ruby (~> 1.1)
   connection_pool (~> 2.0)
+  countries (~> 3.0)
   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)
@@ -1133,88 +1173,92 @@ DEPENDENCIES
   email_reply_trimmer (~> 0.1)
   email_spec (~> 2.2.0)
   escape_utils (~> 1.1)
-  factory_bot_rails (~> 4.8.2)
+  factory_bot_rails (~> 5.1.0)
   faraday (~> 0.12)
   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)
   fog-core (= 2.1.0)
-  fog-google (~> 1.8)
+  fog-google (~> 1.9)
   fog-local (~> 0.6)
   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-proto (~> 1.37.0)
+  gitaly (~> 1.73.0)
   github-markup (~> 1.7.0)
-  gitlab-labkit (~> 0.3.0)
+  gitlab-chronic (~> 0.10.5)
+  gitlab-labkit (~> 0.5)
   gitlab-license (~> 1.0)
   gitlab-markup (~> 1.7.0)
-  gitlab-sidekiq-fetcher (~> 0.4.0)
+  gitlab-net-dns (~> 0.9.1)
+  gitlab-puma (~> 4.3.1.gitlab.2)
+  gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
+  gitlab-sidekiq-fetcher (= 0.5.2)
   gitlab-styles (~> 2.7)
+  gitlab_chronic_duration (~> 0.10.6.2)
   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)
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
-  graphql (~> 1.8.0)
+  graphql (~> 1.9.11)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.19.0)
+  grpc (~> 1.24.0)
   gssapi
-  haml_lint (~> 0.31.0)
-  hamlit (~> 2.8.8)
+  guard-rspec
+  haml_lint (~> 0.34.0)
+  hamlit (~> 2.11.0)
   hangouts-chat (~> 0.0.5)
   hashie-forbidden_attributes
   health_check (~> 2.6.0)
   hipchat (~> 1.5.0)
-  html-pipeline (~> 2.8)
+  html-pipeline (~> 2.12)
   html2text
   httparty (~> 0.16.4)
   icalendar
   influxdb (~> 0.2)
-  jira-ruby (~> 1.4)
+  invisible_captcha (~> 0.12.1)
+  jira-ruby (~> 1.7)
   js_regex (~> 3.1)
   json-schema (~> 2.8.0)
   jwt (~> 2.1.0)
   kaminari (~> 1.0)
   knapsack (~> 1.17)
-  kubeclient (~> 4.2.2)
+  kubeclient (~> 4.4.0)
   letter_opener_web (~> 1.3.4)
   license_finder (~> 5.4)
   licensee (~> 8.9)
   lograge (~> 0.5)
   loofah (~> 2.2)
-  mail_room (~> 0.9.1)
-  mdl (~> 0.5.0)
+  mail_room (~> 0.10.0)
+  marginalia (~> 1.8.0)
   memory_profiler (~> 0.9)
   method_source (~> 0.8)
   mimemagic (~> 0.3.2)
   mini_magick
   minitest (~> 5.11.0)
-  mysql2 (~> 0.4.10)
   nakayoshi_fork (~> 0.0.4)
-  net-dns (~> 0.9.0)
   net-ldap
   net-ntp
   net-ssh (~> 5.2)
-  nokogiri (~> 1.10.3)
+  nokogiri (~> 1.10.5)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
   omniauth (~> 1.8)
@@ -1234,23 +1278,16 @@ 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)
-  peek (~> 1.0.1)
-  peek-gc (~> 0.0.2)
-  peek-mysql2 (~> 1.2.0)
-  peek-pg (~> 1.3.0)
-  peek-rblineprof (~> 0.2.0)
-  peek-redis (~> 1.2.0)
+  peek (~> 1.1)
   pg (~> 1.1)
-  premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.9.8)
+  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)
@@ -1265,15 +1302,16 @@ DEPENDENCIES
   rdoc (~> 6.0)
   re2 (~> 1.1.1)
   recaptcha (~> 4.11)
-  redis (~> 3.2)
+  redis (~> 4.0)
   redis-namespace (~> 1.6.0)
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
-  responders (~> 2.0)
-  rouge (~> 3.5)
+  responders (~> 3.0)
+  retriable (~> 3.1.2)
+  rouge (~> 3.11.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
-  rspec-rails (~> 3.8.0)
+  rspec-rails (~> 4.0.0.beta3)
   rspec-retry (~> 0.6.1)
   rspec-set (~> 0.1.3)
   rspec_junit_formatter
@@ -1282,19 +1320,18 @@ DEPENDENCIES
   rubocop-performance (~> 1.1.0)
   rubocop-rspec (~> 1.22.1)
   ruby-fogbugz (~> 0.2.1)
-  ruby-prof (~> 0.17.0)
+  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)
   scss_lint (~> 0.56.0)
   seed-fu (~> 2.3.7)
-  selenium-webdriver (~> 3.141)
+  selenium-webdriver (~> 3.142)
   sentry-raven (~> 2.9)
   settingslogic (~> 2.0.9)
-  sham_rack (~> 1.3.6)
   shoulda-matchers (~> 4.0.1)
   sidekiq (~> 5.2.7)
   sidekiq-cron (~> 1.0)
@@ -1306,10 +1343,10 @@ DEPENDENCIES
   spring-commands-rspec (~> 1.0.4)
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
-  stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.5.1)
+  stackprof (~> 0.2.13)
+  state_machines-activerecord (~> 0.6.0)
   sys-filesystem (~> 1.1.6)
-  test-prof (~> 0.2.5)
+  test-prof (~> 0.10.0)
   thin (~> 1.7.0)
   timecop (~> 0.8.0)
   toml-rb (~> 1.0.0)
@@ -1319,9 +1356,9 @@ DEPENDENCIES
   unf (~> 0.1.4)
   unicorn (~> 5.4.1)
   unicorn-worker-killer (~> 0.4.4)
+  unleash (~> 0.1.5)
   validates_hostname (~> 1.0.6)
   version_sorter (~> 2.2.4)
-  virtus (~> 1.0.1)
   vmstat (~> 2.3.0)
   webmock (~> 3.5.1)
   webpack-rails (~> 0.9.10)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 8050743ab258..55cdfaa16b91 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -1,5 +1,7 @@
 {
   abstract_type = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
@@ -8,6 +10,8 @@
     version = "0.0.7";
   };
   ace-rails-ap = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14wj9gsiy7rm0lvs27ffsrh92wndjksj6rlfj3n7jhv1v77w9v2h";
@@ -50,7 +54,7 @@
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -61,7 +65,7 @@
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -114,15 +118,6 @@
     };
     version = "0.1.0";
   };
-  activerecord_sane_schema_dumper = {
-    dependencies = ["rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16jbf461wjaxyq26si5505wcj46mi23mii9hx4wjpva1zn9hz5m2";
-      type = "gem";
-    };
-    version = "1.0";
-  };
   activestorage = {
     dependencies = ["actionpack" "activerecord" "marcel"];
     groups = ["default" "development" "test"];
@@ -136,7 +131,7 @@
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -151,13 +146,15 @@
     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"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
@@ -167,6 +164,8 @@
   };
   addressable = {
     dependencies = ["public_suffix"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
@@ -175,6 +174,8 @@
     version = "2.5.2";
   };
   aes_key_wrap = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07";
@@ -183,12 +184,14 @@
     version = "1.0.1";
   };
   akismet = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
+      sha256 = "0c5jhqfgvpz84d8jai51hin018ldpfd0civbk7mfwmrj7n71p6bl";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.0.0";
   };
   apollo_upload_server = {
     dependencies = ["graphql" "rails"];
@@ -213,12 +216,14 @@
   };
   asana = {
     dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h0qiywvjjc9iyzq9nz5iaqyh6qsrix4ip0w86j5c4v5g940z6qx";
+      sha256 = "19yr6ibz481jizvx0cjfvql142v8izi474c4vmwy9qzksyq2xhdj";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.9.3";
   };
   asciidoctor = {
     groups = ["default"];
@@ -253,6 +258,8 @@
     version = "0.0.9";
   };
   ast = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
@@ -260,16 +267,21 @@
     };
     version = "2.4.0";
   };
-  atomic = {
+  atlassian-jwt = {
+    dependencies = ["jwt"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kh9rvhjn4dndbfsk3yjq7alds6s2j70rc4k8wdwdyibab8a8gq9";
+      sha256 = "1ckfiiwv7dnifra7zhbggj96g0x0kzkv0x9n1is7lb86svlm7rjj";
       type = "gem";
     };
-    version = "1.1.99";
+    version = "0.2.0";
   };
   attr_encrypted = {
     dependencies = ["encryptor"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg";
@@ -288,6 +300,8 @@
     version = "1.0.1";
   };
   awesome_print = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h";
@@ -295,43 +309,64 @@
     };
     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"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
@@ -340,6 +375,8 @@
     version = "0.1.1";
   };
   babosa = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
@@ -348,6 +385,8 @@
     version = "1.0.2";
   };
   base32 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b7y8sy6j9v1lvfzd4va88k5vg9yh0xcjzzn3llcw7yxqlcrnbjk";
@@ -366,6 +405,8 @@
     version = "1.4.0";
   };
   bcrypt = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy";
@@ -374,6 +415,8 @@
     version = "3.1.12";
   };
   bcrypt_pbkdf = {
+    groups = ["ed25519"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv";
@@ -382,6 +425,8 @@
     version = "1.0.0";
   };
   benchmark-ips = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
@@ -402,6 +447,8 @@
   };
   better_errors = {
     dependencies = ["coderay" "erubi" "rack"];
+    groups = ["development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7";
@@ -410,6 +457,8 @@
     version = "2.5.0";
   };
   bindata = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0kxy917xyxckifmnawff65j7g6yb3wh2s45npjq9lqjbi1p86lsr";
@@ -429,6 +478,8 @@
   };
   binding_of_caller = {
     dependencies = ["debug_inspector"];
+    groups = ["development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
@@ -438,12 +489,14 @@
   };
   bootsnap = {
     dependencies = ["msgpack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1amksyijp9hwpc2jr0yi45hpcp0qiz5r2h8rnf2wi1hdfw6m2hxh";
+      sha256 = "0dyjk2irr0d3d3am2dzipg1zyv2nz69a16g8xkprxfa0na07wvs0";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.4.5";
   };
   bootstrap_form = {
     dependencies = ["actionpack" "activemodel"];
@@ -457,6 +510,8 @@
     version = "4.2.0";
   };
   brakeman = {
+    groups = ["development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "161l4ln7x1vnqrcvbvglznf46f0lvq305vq211xaxp4fv4wwv89v";
@@ -465,6 +520,8 @@
     version = "4.2.1";
   };
   browser = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f";
@@ -473,6 +530,8 @@
     version = "2.5.3";
   };
   builder = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
@@ -482,15 +541,19 @@
   };
   bullet = {
     dependencies = ["activesupport" "uniform_notifier"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdq3ckmwxnwrdm2x89zfj68h0yhiln35y8wps2nkvam4kpivyr5";
+      sha256 = "1h16vrqblcdlizgbidk7bgmhcfb96a9y5jw117my5yhs07yp0i3s";
       type = "gem";
     };
-    version = "5.5.1";
+    version = "6.0.2";
   };
   bundler-audit = {
     dependencies = ["thor"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gr7k6m9fda7m66irxzydm8v9xbmlryjj65cagwm1zyi5f317srb";
@@ -499,6 +562,12 @@
     version = "0.5.0";
   };
   byebug = {
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
@@ -519,6 +588,8 @@
   };
   capybara-screenshot = {
     dependencies = ["capybara" "launchy"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1x90lh7nf3zi54arjf430s9xdxr3c12xjq1l28izgxqdk8s40q7q";
@@ -528,6 +599,8 @@
   };
   carrierwave = {
     dependencies = ["activemodel" "activesupport" "mime-types"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10rz94kajilffp83sb767lr62b5f8l4jzqq80cr92wqxdgbszdks";
@@ -536,6 +609,8 @@
     version = "1.3.1";
   };
   cause = {
+    groups = ["default" "metrics"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
@@ -544,6 +619,8 @@
     version = "0.1";
   };
   character_set = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "114npdbw1ivyx4vnid8ncnjw4wnjcipf2lvihlg3ibbh7an0m9s9";
@@ -552,6 +629,8 @@
     version = "1.1.2";
   };
   charlock_holmes = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
@@ -560,48 +639,63 @@
     version = "0.7.6";
   };
   childprocess = {
-    dependencies = ["ffi"];
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "3.0.0";
   };
-  chronic = {
+  chunky_png = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
+      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "1.3.5";
   };
-  chronic_duration = {
-    dependencies = ["numerizer"];
+  citrus = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k7sx3xqbrn6s4pishh2pgr4kw6fmw63h00lh503l66k8x0qvigs";
+      sha256 = "0l7nhk3gkm1hdchkzzhg2f70m47pc0afxfpl6mkiibc9qcpl3hjf";
       type = "gem";
     };
-    version = "0.10.6";
+    version = "3.0.2";
   };
-  chunky_png = {
+  claide = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
+      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
       type = "gem";
     };
-    version = "1.3.5";
+    version = "1.0.3";
   };
-  citrus = {
+  claide-plugins = {
+    dependencies = ["cork" "nap" "open4"];
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l7nhk3gkm1hdchkzzhg2f70m47pc0afxfpl6mkiibc9qcpl3hjf";
+      sha256 = "0bhw5j985qs48v217gnzva31rw5qvkf7qj8mhp73pcks0sy7isn7";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "0.9.2";
   };
   coderay = {
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
@@ -611,6 +705,8 @@
   };
   coercible = {
     dependencies = ["descendants_tracker"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
@@ -618,17 +714,31 @@
     };
     version = "1.0.0";
   };
+  colored2 = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+      type = "gem";
+    };
+    version = "3.1.2";
+  };
   commonmarker = {
     dependencies = ["ruby-enum"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pmjm87p0hxnknp33cxyvkgbr1swfp9gcznssmalm9z8kwyancb9";
+      sha256 = "19zd9na1g2d0zzbqhmfj8rjfzcxj34vja3i52gvv859i8fifa461";
       type = "gem";
     };
-    version = "0.17.13";
+    version = "0.20.1";
   };
   concord = {
     dependencies = ["adamantium" "equalizer"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
@@ -637,7 +747,7 @@
     version = "0.1.5";
   };
   concurrent-ruby = {
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -646,18 +756,9 @@
     };
     version = "1.1.5";
   };
-  concurrent-ruby-ext = {
-    dependencies = ["concurrent-ruby"];
-    groups = ["default" "mysql" "postgres"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03ypsv2k581yv0b3f0hzvb3mq6mqj8jlbi32jmkj3k175vbc8hvz";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
   connection_pool = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68";
@@ -675,8 +776,32 @@
     };
     version = "0.11.0";
   };
+  cork = {
+    dependencies = ["colored2"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g6l780z1nj4s3jr11ipwcj8pjbibvli82my396m3y32w98ar850";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  countries = {
+    dependencies = ["i18n_data" "sixarm_ruby_unaccent" "unicode_utils"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w278pjhwkbin7jpr7m47wac7gj5n4l2him9k2q4ngzq6rs2id7c";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
   crack = {
     dependencies = ["safe_yaml"];
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
@@ -685,14 +810,18 @@
     version = "0.4.3";
   };
   crass = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   creole = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
@@ -702,14 +831,18 @@
   };
   css_parser = {
     dependencies = ["addressable"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
+      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   daemons = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lxqq6dgb8xhliywar2lvkwqy2ssraf9dk4b501pb4ixc2mvxbp2";
@@ -717,7 +850,20 @@
     };
     version = "1.2.6";
   };
+  danger = {
+    dependencies = ["claide" "claide-plugins" "colored2" "cork" "faraday" "faraday-http-cache" "git" "kramdown" "kramdown-parser-gfm" "no_proxy_fix" "octokit" "terminal-table"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gyxfs7pkcg90llhpl2nwfqqcqi0qngqhk8gpyrffj6m0lm1m6wl";
+      type = "gem";
+    };
+    version = "6.0.9";
+  };
   database_cleaner = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
@@ -726,6 +872,8 @@
     version = "1.7.0";
   };
   debug_inspector = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
@@ -734,6 +882,12 @@
     version = "0.0.3";
   };
   debugger-ruby_core_source = {
+    groups = ["default" "development"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
@@ -743,14 +897,18 @@
   };
   deckar01-task_list = {
     dependencies = ["html-pipeline"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964";
+      sha256 = "09k7rlxsl7pd5kn3wyswgqi0hhbmlj40b66l4mf8v9mqf3c7v0yk";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.1";
   };
   declarative = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j";
@@ -759,6 +917,8 @@
     version = "0.0.10";
   };
   declarative-option = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p";
@@ -772,14 +932,14 @@
     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"];
-    groups = ["development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -790,6 +950,8 @@
   };
   descendants_tracker = {
     dependencies = ["thread_safe"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
@@ -798,6 +960,8 @@
     version = "0.0.4";
   };
   device_detector = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0zbsjj1bgwmsiqiw6x5fzbzp25xc10c02s37ggl2635ha0qzn05q";
@@ -811,13 +975,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04b2p61mqfb6ln8s2lhmvnkd45wjjinykbn9svmhs54kacrrjkcf";
+      sha256 = "0a64xq0dj6p0firpg4mrrfmlakpv17hky5yfrjhchs2sybmymr9i";
       type = "gem";
     };
-    version = "4.6.2";
+    version = "4.7.1";
   };
   devise-two-factor = {
     dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pkldws5lga4mlv4xmcrfb0yivl6qad0l8qyb2hdb50adv6ny4gs";
@@ -826,6 +992,8 @@
     version = "3.0.0";
   };
   diff-lcs = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
@@ -833,7 +1001,19 @@
     };
     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 = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1azibizfv91sjbzhjqj1pg2xcv8z9b8a7z6kb3wpl4hpj5hil5kj";
@@ -843,6 +1023,8 @@
   };
   discordrb-webhooks-blackst0ne = {
     dependencies = ["rest-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f0dw6ci5cbrxrvvqw2kqabpzyjisd4hflbi370rpb4cakkzgw39";
@@ -862,6 +1044,8 @@
   };
   domain_name = {
     dependencies = ["unf"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
@@ -871,6 +1055,8 @@
   };
   doorkeeper = {
     dependencies = ["railties"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "022r03i830b2lvmr0xzlj6ivlvc1zr64hy4a4bsy3flv94da77rz";
@@ -880,6 +1066,8 @@
   };
   doorkeeper-openid_connect = {
     dependencies = ["doorkeeper" "json-jwt"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1wgrz0xcply5vl6d1m62blqwcbn4v0b27bswyws2y9wbyglz6f95";
@@ -888,6 +1076,8 @@
     version = "1.5.0";
   };
   ed25519 = {
+    groups = ["ed25519"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
@@ -897,6 +1087,8 @@
   };
   elasticsearch = {
     dependencies = ["elasticsearch-api" "elasticsearch-transport"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fik4nrxyi28zy1xwi4rygn0pf1sm1gskcrvbsnmqfrsdd6l4ga4";
@@ -906,6 +1098,8 @@
   };
   elasticsearch-api = {
     dependencies = ["multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0aal128hq59l5kscl2ag2cv24g1sp5ysdb4jxkqmj0b1l9rv16mw";
@@ -915,6 +1109,8 @@
   };
   elasticsearch-model = {
     dependencies = ["activesupport" "elasticsearch" "hashie"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10kbsdxd192g8x60fhaxs4gqpgwag68d53flcw8rwvdm0i8smyzf";
@@ -923,6 +1119,8 @@
     version = "0.1.9";
   };
   elasticsearch-rails = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "081hm2dc3l6kky027wm3s8k6lmiygg0hnrggnidchbl94nlalw2z";
@@ -932,6 +1130,8 @@
   };
   elasticsearch-transport = {
     dependencies = ["faraday" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1a7fak70ajdqw1ahd2gmgijka52pjjfr3chaakkxa5fk3rwwna26";
@@ -940,6 +1140,8 @@
     version = "5.0.3";
   };
   email_reply_trimmer = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vijywhy1acsq4187ss6w8a7ksswaf1d5np3wbj962b6rqif5vcz";
@@ -949,6 +1151,8 @@
   };
   email_spec = {
     dependencies = ["htmlentities" "launchy" "mail"];
+    groups = ["test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0yadaif80cf2ry0nvhir1s70xmm22xzncq6vfvvffdd8h02ridv0";
@@ -957,6 +1161,8 @@
     version = "2.2.0";
   };
   encryptor = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb";
@@ -965,6 +1171,8 @@
     version = "3.0.0";
   };
   equalizer = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
@@ -973,16 +1181,18 @@
     version = "0.0.11";
   };
   erubi = {
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1";
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.0";
   };
   escape_utils = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qminivnyzwmqjhrh3b92halwbk0zcl9xn828p5rnap1szl2yag5";
@@ -1002,6 +1212,8 @@
     version = "1.2.1";
   };
   eventmachine = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
@@ -1010,6 +1222,8 @@
     version = "1.2.7";
   };
   excon = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2";
@@ -1018,6 +1232,8 @@
     version = "0.62.0";
   };
   execjs = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
@@ -1026,6 +1242,8 @@
     version = "2.6.0";
   };
   expression_parser = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
@@ -1046,24 +1264,30 @@
   };
   factory_bot = {
     dependencies = ["activesupport"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r975ba6y0mcy3aya099gpnjn5gf1h6fbw8f3smmjay5zvin3nwx";
+      sha256 = "04mvwcdh1056r79vq969vlncrcy53fkhw0iixpqvp8gnx5ajbsv6";
       type = "gem";
     };
-    version = "4.8.2";
+    version = "5.1.0";
   };
   factory_bot_rails = {
     dependencies = ["factory_bot" "railties"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cdbp12ih2w77l331frv8gv6bv9dinn1663dy1jn0gb9ss1hwvs2";
+      sha256 = "02q7lwfdilwahza2jz0p0kc2rragv617q9r2yy72syv6lfy923sx";
       type = "gem";
     };
-    version = "4.8.2";
+    version = "5.1.0";
   };
   faraday = {
     dependencies = ["multipart-post"];
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
@@ -1071,8 +1295,21 @@
     };
     version = "0.12.2";
   };
+  faraday-http-cache = {
+    dependencies = ["faraday"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08j86fgcwl7z792qyijdsq680arzpfiydqd24ja405z2rbm7r2i0";
+      type = "gem";
+    };
+    version = "2.0.0";
+  };
   faraday_middleware = {
     dependencies = ["faraday"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d";
@@ -1082,6 +1319,8 @@
   };
   faraday_middleware-aws-signers-v4 = {
     dependencies = ["aws-sdk-resources" "faraday"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0y88xcbq8k2ijhsqdava5493p26k49agvnzca6vkl3qwfv3ambhp";
@@ -1091,6 +1330,8 @@
   };
   faraday_middleware-multi_json = {
     dependencies = ["faraday_middleware" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
@@ -1099,6 +1340,8 @@
     version = "0.0.6";
   };
   fast_blank = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
@@ -1107,6 +1350,8 @@
     version = "1.0.0";
   };
   fast_gettext = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1s42dsy3rh9h37d16pwhswf2q9cx25v5fn3q881b5iz6fvdjixv3";
@@ -1115,6 +1360,8 @@
     version = "1.6.0";
   };
   ffaker = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01z5lpssjc0n8lm4xrlja0hh8lv4ngzbybjvd4rdkc5x9ddvh8s3";
@@ -1123,41 +1370,51 @@
     version = "2.10.0";
   };
   ffi = {
+    groups = ["default" "development" "kerberos" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.3";
   };
   flipper = {
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
@@ -1167,6 +1424,8 @@
   };
   fog-aliyun = {
     dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vl5zf9wr6qwm1awxscyifvrrfqnyacidxgzhkba2wqlgizk3anh";
@@ -1187,6 +1446,8 @@
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak";
@@ -1196,15 +1457,19 @@
   };
   fog-google = {
     dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rxhcf2rhs8ml9j9xppz1yxgig3s1l5hm6yz582lqrs8bdmq028m";
+      sha256 = "1784xynmgvj1x9phy42nbd3fcgj040zps6wn7msi6vnj1sg4wpfy";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.9.1";
   };
   fog-json = {
     dependencies = ["fog-core" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx";
@@ -1214,6 +1479,8 @@
   };
   fog-local = {
     dependencies = ["fog-core"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ba4lln35nryi6dcbz68vxg9ml6v8cc8s8c82f7syfd84bz76x21";
@@ -1223,6 +1490,8 @@
   };
   fog-openstack = {
     dependencies = ["fog-core" "fog-json" "ipaddress"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "171xnsl6w0j7yi6sp26dcqahx4r4gb2cf359gmy11g5iwnsll5wg";
@@ -1232,6 +1501,8 @@
   };
   fog-rackspace = {
     dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0y2bli061g37l9p4w0ljqbmg830rp2qz6sf8b0ck4cnx68j7m32a";
@@ -1241,6 +1512,8 @@
   };
   fog-xml = {
     dependencies = ["fog-core" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n";
@@ -1254,21 +1527,14 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj";
+      sha256 = "0a32q69rdsdw9zhmf2cflvvnikg20amidhn40sv2afw2qk91fcrz";
       type = "gem";
     };
-    version = "4.7.0.4";
-  };
-  foreman = {
-    dependencies = ["thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
-      type = "gem";
-    };
-    version = "0.84.0";
+    version = "4.7.0.5";
   };
   formatador = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
@@ -1289,6 +1555,8 @@
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0jlv2wisgnim29h47shvqhipbz1wgndfdr7i6y5wcfag0z2660lv";
@@ -1308,6 +1576,8 @@
   };
   gemojione = {
     dependencies = ["json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj";
@@ -1316,7 +1586,7 @@
     version = "3.3.0";
   };
   get_process_mem = {
-    groups = ["default" "development" "puma" "test" "unicorn"];
+    groups = ["default" "puma" "unicorn"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -1327,6 +1597,8 @@
   };
   gettext = {
     dependencies = ["locale" "text"];
+    groups = ["development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
@@ -1336,6 +1608,8 @@
   };
   gettext_i18n_rails = {
     dependencies = ["fast_gettext"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vs918a03mqvx9aczaqdg9d2q9s3c6swqavzn82qgq5i822czrcm";
@@ -1345,6 +1619,8 @@
   };
   gettext_i18n_rails_js = {
     dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11yn5cf92wsmlj5c1065mg6swf8gq9l6g9ahikvvyf9npvjay42x";
@@ -1352,18 +1628,30 @@
     };
     version = "1.3.0";
   };
-  gitaly-proto = {
+  git = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bf83icwypi3p3pd97vlqbnp3hvf31ncd440m9kh9y7x6yk74wyh";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
+  gitaly = {
     dependencies = ["grpc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j";
+      sha256 = "1bls6aywjkvq1jw324criphzbzl710rx1nab4y22bvyi98qvdi38";
       type = "gem";
     };
-    version = "1.37.0";
+    version = "1.73.0";
   };
   github-markup = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp";
@@ -1371,18 +1659,31 @@
     };
     version = "1.7.0";
   };
+  gitlab-chronic = {
+    dependencies = ["numerizer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xf857vj55r1jafbkdpdzq6c22r964rj9186m1q8hw4vd7f1h3zq";
+      type = "gem";
+    };
+    version = "0.10.5";
+  };
   gitlab-labkit = {
-    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
+    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
+      sha256 = "0r2zkxkj2l78c6qgr6k9lgcp7w6x7r703259rbsbrg7cfnjm43b7";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.7.0";
   };
   gitlab-license = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1q26cgp3ln3b36n3sc69r6hxafkxjwdr3m0d7jlch5j7vyib9bih";
@@ -1400,16 +1701,48 @@
     };
     version = "1.7.0";
   };
+  gitlab-net-dns = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jylfc47477imjmzc4jq7zsxklhrws6q4bb0zzl33drirf6s1ldw";
+      type = "gem";
+    };
+    version = "0.9.1";
+  };
+  gitlab-puma = {
+    dependencies = ["nio4r"];
+    groups = ["puma"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a0kihx7ps6hc1a5xbpbssqnh1k0gzfvln7xkjinpqipvk53l094";
+      type = "gem";
+    };
+    version = "4.3.1.gitlab.2";
+  };
+  gitlab-puma_worker_killer = {
+    dependencies = ["get_process_mem" "gitlab-puma"];
+    groups = ["puma"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iagbqh4djbxfd18srvfg9qcxn845ibs3kf0q1sd57k27lxj0har";
+      type = "gem";
+    };
+    version = "0.1.1.gitlab.1";
+  };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xaag97iclmiay8fx7dkiws8dsws2gi6l0axq4yljq5g7xm78qjr";
+      sha256 = "0dvx2klf1a1xyf15q34fn59291v6jwx3z315rxb2dmkvcr9873m1";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.2";
   };
   gitlab-styles = {
     dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rspec"];
@@ -1417,13 +1750,26 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vxlvbq4jpq0cfjqippz9d3j73sq9qg3pna5pb0l8jr0rc0xs89y";
+      sha256 = "0kxn5j4gk2bidxfi3lnx8sl58kwh0fp89p75pbwwz3cd88d4vgsq";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
+  };
+  gitlab_chronic_duration = {
+    dependencies = ["numerizer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yq5a4vs96xz5yxqkfwcvzw0riww7mf87j1s2s7rb6yagpz4rnkd";
+      type = "gem";
+    };
+    version = "0.10.6.2";
   };
   gitlab_omniauth-ldap = {
     dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f8cjbzlhckarmm59l380jjy33a3hlljg69b3zkh8rhy1xd3xr90";
@@ -1444,6 +1790,8 @@
   };
   gon = {
     dependencies = ["actionpack" "multi_json" "request_store"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0q9nvnw98mbb40h7mlzn1zk40r2l29yybhinmiqhrq8a6adsv806";
@@ -1453,6 +1801,8 @@
   };
   google-api-client = {
     dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05h2lca9b334ayabgs3h0mzc2wg3csvkqv1lv3iirpgf90ypbk1k";
@@ -1465,10 +1815,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"];
@@ -1483,6 +1833,8 @@
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
@@ -1492,15 +1844,19 @@
   };
   gpgme = {
     dependencies = ["mini_portile2"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04bam0iq9sad1df361317zz4knwci905yig502khl8gm1lp1168c";
@@ -1510,6 +1866,8 @@
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1w78wylkhdkc0s6n6d20hggbb3pl3ladzzd5lx6ack2iswybx7b9";
@@ -1530,6 +1888,8 @@
   };
   grape_logging = {
     dependencies = ["grape"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lg2vhk0dlnyqs2rz8wilfm039q5mbsp5nvf51asir48a1rf9yza";
@@ -1539,6 +1899,8 @@
   };
   graphiql-rails = {
     dependencies = ["railties" "sprockets-rails"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10q5zipwgjgaan9lfqakdkm5ry8afgkq79bkimgksn6jyyvpz6w8";
@@ -1547,12 +1909,14 @@
     version = "1.4.10";
   };
   graphql = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10bnl8yjyg5x6h787cfkpd5gphl5z5jblj8fc9lbmgk27n2knssl";
+      sha256 = "17gpvpv3zpmcbzgdx9skaaj5frxw12ja5hssk7xwzckna0v782vh";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.11";
   };
   graphql-docs = {
     dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
@@ -1571,13 +1935,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   gssapi = {
     dependencies = ["ffi"];
+    groups = ["kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0j93nsf9j57p7x4aafalvjg8hia2mmqv3aky7fmw2ck5yci343ix";
@@ -1585,36 +1951,74 @@
     };
     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"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac";
+      sha256 = "0dwarfbc04bblljs4xg9fy57b5y8xrck6slhssa6bd7x58bh222c";
       type = "gem";
     };
-    version = "5.0.4";
+    version = "5.1.2";
   };
   haml_lint = {
-    dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"];
+    dependencies = ["haml" "rainbow" "rubocop" "sysexits"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k6pvb2lc6d72nq01jqmi3mxpp80m9mmbc265kgaxmcnjxqhacb1";
+      sha256 = "1iaaa5as4nlblnbvy6pxj8z9k3jqspbh4f43il519f28lgi0llsn";
       type = "gem";
     };
-    version = "0.31.0";
+    version = "0.34.0";
   };
   hamlit = {
     dependencies = ["temple" "thor" "tilt"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i";
+      sha256 = "13wkrvyldk21xlc9illam495fpgf7w7bksaj8y6n00y036wmbg60";
       type = "gem";
     };
-    version = "2.8.8";
+    version = "2.11.0";
   };
   hangouts-chat = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1dmnv3723c22683bzys8walkl6wi74xzawxjbhwqzjdbwk3bdgmx";
@@ -1623,6 +2027,8 @@
     version = "0.0.5";
   };
   hashdiff = {
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask";
@@ -1631,6 +2037,8 @@
     version = "0.3.8";
   };
   hashie = {
+    groups = ["default" "kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb";
@@ -1640,6 +2048,8 @@
   };
   hashie-forbidden_attributes = {
     dependencies = ["hashie"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1chgg5d2iddja6ww02x34g8avg11fzmzcb8yvnqlykii79zx6vis";
@@ -1649,6 +2059,8 @@
   };
   health_check = {
     dependencies = ["rails"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1mfa180nyzz1j0abfihm5nm3lmzq99362ibcphky6rh5vwhckvm8";
@@ -1657,7 +2069,7 @@
     version = "2.6.0";
   };
   heapy = {
-    groups = ["default" "development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -1679,15 +2091,19 @@
   };
   html-pipeline = {
     dependencies = ["activesupport" "nokogiri"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mpj5y13jk1arqkhdk66n49kyglmci980c1l6np7pqgyjllb68ad";
+      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.12.2";
   };
   html2text = {
     dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0kxdj8pf9pss9xgs8aac0alj5g1fi225yzdhh33lzampkazg1hii";
@@ -1696,6 +2112,8 @@
     version = "0.2.0";
   };
   htmlentities = {
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
@@ -1705,6 +2123,8 @@
   };
   http = {
     dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc";
@@ -1714,6 +2134,8 @@
   };
   http-cookie = {
     dependencies = ["domain_name"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
@@ -1722,6 +2144,8 @@
     version = "1.0.3";
   };
   http-form_data = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3";
@@ -1730,6 +2154,8 @@
     version = "2.1.1";
   };
   "http_parser.rb" = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
@@ -1749,6 +2175,8 @@
     version = "0.16.4";
   };
   httpclient = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
@@ -1758,16 +2186,28 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
+  };
+  i18n_data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v0cdwxiaqdwhaljd7z0fbx29q3r5kjl93xnjm5abi1x37645ncj";
+      type = "gem";
+    };
+    version = "0.8.0";
   };
   icalendar = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1xsydpp2xph00awi25axv2mwjd5p2rlgd4qb3kh05lvq795kirxd";
@@ -1776,6 +2216,8 @@
     version = "2.4.1";
   };
   ice_nine = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
@@ -1785,6 +2227,8 @@
   };
   influxdb = {
     dependencies = ["cause" "json"];
+    groups = ["metrics"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
@@ -1792,7 +2236,20 @@
     };
     version = "0.2.3";
   };
+  invisible_captcha = {
+    dependencies = ["rails"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15510dh1vh7l2xs2a4956nhxpnf10168r62i497nmcbyqpp1df88";
+      type = "gem";
+    };
+    version = "0.12.1";
+  };
   ipaddress = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45";
@@ -1802,6 +2259,8 @@
   };
   jaeger-client = {
     dependencies = ["opentracing" "thrift"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l";
@@ -1814,30 +2273,36 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
+      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.5.3";
   };
   jira-ruby = {
-    dependencies = ["activesupport" "multipart-post" "oauth"];
+    dependencies = ["activesupport" "atlassian-jwt" "multipart-post" "oauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw";
+      sha256 = "0hb3645x0p3bkmqcgc9b2q4b5kn02wgmb03brx7ag1h5y79an4q5";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.7.1";
   };
   jmespath = {
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0wi4h4f3knb0yp4zq2spks3dpmdzz9wa54d6xk88md0h4v2x33cq";
@@ -1846,6 +2311,8 @@
     version = "3.1.1";
   };
   json = {
+    groups = ["default" "development" "metrics" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
@@ -1855,6 +2322,8 @@
   };
   json-jwt = {
     dependencies = ["activesupport" "aes_key_wrap" "bindata"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r";
@@ -1864,6 +2333,8 @@
   };
   json-schema = {
     dependencies = ["addressable"];
+    groups = ["test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11di8qyam6bmqn0fvvvf3crgaqy4sil0d406ymx0jacn3ff98ymz";
@@ -1872,6 +2343,8 @@
     version = "2.8.0";
   };
   jwt = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
@@ -1881,6 +2354,8 @@
   };
   kaminari = {
     dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0invfvfb252ihsdr65rylkvd1x2wy004jval52v3i8ybb0jhc5hi";
@@ -1890,6 +2365,8 @@
   };
   kaminari-actionview = {
     dependencies = ["actionview" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0mhhsm6xhmwqc7hfw7xnk1kdbfg468bqs5awcqm5j6j8b9zyjvdi";
@@ -1899,6 +2376,8 @@
   };
   kaminari-activerecord = {
     dependencies = ["activerecord" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1kb5aj6iy1cwcq5548jd3w1ipxicnzmnx2ay1s4hvad2gvrd4g93";
@@ -1907,6 +2386,8 @@
     version = "1.0.1";
   };
   kaminari-core = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0r2n293ad1xr9wgn8cr53nfzwls4w3p1xi4kjfjgl1z0yf05mpwr";
@@ -1915,6 +2396,8 @@
     version = "1.0.1";
   };
   kgio = {
+    groups = ["default" "unicorn"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50";
@@ -1924,6 +2407,8 @@
   };
   knapsack = {
     dependencies = ["rake"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1c69rcwfrdrnx8ddl6k1qxhw9f2dj5x5bbddz435isl2hfr5zh92";
@@ -1932,26 +2417,41 @@
     version = "1.17.0";
   };
   kramdown = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "2.1.0";
+  };
+  kramdown-parser-gfm = {
+    dependencies = ["kramdown"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+      type = "gem";
+    };
+    version = "1.1.0";
   };
   kubeclient = {
     dependencies = ["http" "recursive-open-struct" "rest-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10761kwhgclnf2lrdjspmxnw90z7i0l85inranfxc688ing0d5xn";
+      sha256 = "0gj6z90p3nm43bafbp97b78zi764gy88590g2y4lm8zcgk8k586r";
       type = "gem";
     };
-    version = "4.2.2";
+    version = "4.4.0";
   };
   launchy = {
     dependencies = ["addressable"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
@@ -1983,6 +2483,8 @@
   };
   license_finder = {
     dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01rhqm5m3m22gq6q9f1x9fh3x3wrf9khnnsycblj0xg5frdjv77v";
@@ -1992,6 +2494,8 @@
   };
   licensee = {
     dependencies = ["rugged"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0w6d2smhg3kzcx4m2ii06akakypwhiglansk51bpx290hhc8h3pc";
@@ -1999,7 +2503,20 @@
     };
     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 = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
@@ -2009,6 +2526,8 @@
   };
   lograge = {
     dependencies = ["actionpack" "activesupport" "railties" "request_store"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd";
@@ -2018,15 +2537,29 @@
   };
   loofah = {
     dependencies = ["crass" "nokogiri"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "0npqav026zd7r4qdidq9x5nxcp2dzg71bnp421xxx7sngbxf2xbd";
       type = "gem";
     };
-    version = "2.2.3";
+    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"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
@@ -2035,12 +2568,14 @@
     version = "2.7.1";
   };
   mail_room = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16b8yjd1if665mwaindwys06nkkcs0jw3dcsqvn6qbp6alfigqaa";
+      sha256 = "0q06fkv6wka68gbva17jknm57jnjwk57f9ng1lvyvwki2v4jnkz4";
       type = "gem";
     };
-    version = "0.9.1";
+    version = "0.10.0";
   };
   marcel = {
     dependencies = ["mimemagic"];
@@ -2053,18 +2588,20 @@
     };
     version = "0.3.3";
   };
-  mdl = {
-    dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
-    groups = ["development" "test"];
+  marginalia = {
+    dependencies = ["actionpack" "activerecord"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
+      sha256 = "1akbiibmg64liw8ya6xzf9lavh2n2707hxsnf9sfslsk36iwx0yn";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "1.8.0";
   };
   memoist = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
@@ -2074,6 +2611,8 @@
   };
   memoizable = {
     dependencies = ["thread_safe"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
@@ -2082,7 +2621,7 @@
     version = "0.4.2";
   };
   memory_profiler = {
-    groups = ["default" "development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2092,6 +2631,12 @@
     version = "0.9.13";
   };
   method_source = {
+    groups = ["default" "development" "metrics" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
@@ -2101,6 +2646,8 @@
   };
   mime-types = {
     dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
@@ -2119,6 +2666,8 @@
     version = "3.2019.0331";
   };
   mimemagic = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q";
@@ -2127,22 +2676,28 @@
     version = "0.3.2";
   };
   mini_magick = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1djxfs9rxw6q6vr6wb4ndxhp1vj1zbwb55s1kf6mz9bzgmswqg0n";
+      sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4";
       type = "gem";
     };
-    version = "4.8.0";
+    version = "4.9.5";
   };
   mini_mime = {
+    groups = ["default" "development" "test"];
+    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"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
@@ -2151,6 +2706,8 @@
     version = "2.4.0";
   };
   minitest = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
@@ -2158,38 +2715,19 @@
     };
     version = "5.11.3";
   };
-  mixlib-cli = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  mixlib-config = {
-    dependencies = ["tomlrb"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
-      type = "gem";
-    };
-    version = "2.2.18";
-  };
   msgpack = {
-    groups = ["default" "development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
+      sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1";
       type = "gem";
     };
-    version = "1.2.10";
+    version = "1.3.1";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
@@ -2198,6 +2736,8 @@
     version = "1.13.1";
   };
   multi_xml = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
@@ -2206,6 +2746,8 @@
     version = "0.6.0";
   };
   multipart-post = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
@@ -2213,7 +2755,19 @@
     };
     version = "2.0.0";
   };
+  murmurhash3 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1szwcm44z5jg1l4dq73zyjw4rjin23ihkhrw5cpcjrb6cg8hd3y7";
+      type = "gem";
+    };
+    version = "0.1.6";
+  };
   mustermann = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1";
@@ -2223,6 +2777,8 @@
   };
   mustermann-grape = {
     dependencies = ["mustermann"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10xdggddjl8nraq7pbli31lwgrzxzz8gp558i811lsv71fqbmhzr";
@@ -2230,31 +2786,39 @@
     };
     version = "1.0.0";
   };
-  mysql2 = {
+  nakayoshi_fork = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
+      sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
       type = "gem";
     };
-    version = "0.4.10";
+    version = "0.0.4";
   };
-  nakayoshi_fork = {
+  nap = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
+      sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "1.1.0";
   };
-  net-dns = {
+  nenv = {
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18d97xjphw21naaqfhgxp95ikr1d79rx708b2df3xm01j6isqy1d";
+      sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.3.0";
   };
   net-ldap = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fh4l8zfsrvghanpnjxk944k7yl093qpw4759xs6f1v9kb73ihfq";
@@ -2263,6 +2827,8 @@
     version = "0.16.0";
   };
   net-ntp = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0z96m7nnb9f634cz4i6p0x89z7g9i9h97cnk5f3x3q5x090kzisv";
@@ -2281,6 +2847,8 @@
     version = "5.2.0";
   };
   netrc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
@@ -2289,26 +2857,40 @@
     version = "0.11.0";
   };
   nio4r = {
+    groups = ["default" "puma" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
+      sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c";
       type = "gem";
     };
-    version = "2.3.1";
+    version = "2.5.2";
+  };
+  no_proxy_fix = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "006dmdb640v1kq0sll3dnlwj1b0kpf3i1p27ygyffv8lpcqlr6sf";
+      type = "gem";
+    };
+    version = "0.1.2";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj";
@@ -2316,15 +2898,30 @@
     };
     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 = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vrk9jbv4p4dcz0wzr72wrf5kajblhc5l9qf7adbcwi4qvz9xv0h";
+      sha256 = "0ysxf30qcybh131r98frp38sqqkdhcjwpnajgrxl2w2kxvapd075";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.2.0";
   };
   oauth = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
@@ -2334,6 +2931,8 @@
   };
   oauth2 = {
     dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
@@ -2343,6 +2942,8 @@
   };
   octokit = {
     dependencies = ["sawyer"];
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1ssn5iyax07a22mvmj0y45bfy8ali129bl1qmasp6bcg03bvk298";
@@ -2352,6 +2953,8 @@
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
+    groups = ["default" "kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
@@ -2361,6 +2964,8 @@
   };
   omniauth-auth0 = {
     dependencies = ["omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0id5gn14av81kh41cq4q6c9knyvzl7vc4rs3m4pmpd43g2z6jdw2";
@@ -2370,6 +2975,8 @@
   };
   omniauth-authentiq = {
     dependencies = ["jwt" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0k7vajxwplsp188xfj4mi9iqbc7f7djqh02by4mphc51hl87kcqi";
@@ -2379,6 +2986,8 @@
   };
   omniauth-azure-oauth2 = {
     dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1a3iqy63l1jd6na4y0bj4a8mlp7gcn3a0awnz9g79fa8n4v2g8n4";
@@ -2388,6 +2997,8 @@
   };
   omniauth-cas3 = {
     dependencies = ["addressable" "nokogiri" "omniauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "191b4jm4djmmy54yxfxj3c889r2wn3g6sfsdj6l1rjy0kw1m2qgx";
@@ -2397,6 +3008,8 @@
   };
   omniauth-facebook = {
     dependencies = ["omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03zjla9i446fk1jkw7arh67c39jfhp5bhkmhvbw8vczxr1jkbbh5";
@@ -2406,6 +3019,8 @@
   };
   omniauth-github = {
     dependencies = ["omniauth" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0yg7k4p95ybcsii17spqarl8rpfzkq0kb19ab6wl4lc922zgfbqc";
@@ -2415,6 +3030,8 @@
   };
   omniauth-gitlab = {
     dependencies = ["omniauth" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19ydk2zd2mz8zi80z3l03pajpm9357sg3lrankrcb3pirkkdb9fp";
@@ -2424,6 +3041,8 @@
   };
   omniauth-google-oauth2 = {
     dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03v2gqpsbdhkqaxhvzr83za885awm6pgskv3mkyfvang7mr321df";
@@ -2433,6 +3052,8 @@
   };
   omniauth-kerberos = {
     dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
+    groups = ["kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
@@ -2442,6 +3063,8 @@
   };
   omniauth-multipassword = {
     dependencies = ["omniauth"];
+    groups = ["default" "kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
@@ -2451,6 +3074,8 @@
   };
   omniauth-oauth = {
     dependencies = ["oauth" "omniauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
@@ -2460,6 +3085,8 @@
   };
   omniauth-oauth2 = {
     dependencies = ["oauth2" "omniauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
@@ -2469,6 +3096,8 @@
   };
   omniauth-oauth2-generic = {
     dependencies = ["omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1m6vpip3rm1spx1x9y1kjczzailsph1xqgaakqylzq3jqkv18273";
@@ -2489,6 +3118,8 @@
   };
   omniauth-saml = {
     dependencies = ["omniauth" "ruby-saml"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "17lji8i4q9k3yi8lmjwlw8rfpp2sc74jv8d6flgq85lg5brfqq1p";
@@ -2498,6 +3129,8 @@
   };
   omniauth-shibboleth = {
     dependencies = ["omniauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04yin7j8xpr8llvank3ivzahqkc6ss5bppc7q6znzdswxmf75fxh";
@@ -2507,6 +3140,8 @@
   };
   omniauth-twitter = {
     dependencies = ["omniauth-oauth" "rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65";
@@ -2527,6 +3162,8 @@
   };
   omniauth_crowd = {
     dependencies = ["activesupport" "nokogiri" "omniauth"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
@@ -2540,10 +3177,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb";
+      sha256 = "0awybp2jnai0w2qfgqnr3f478g3nbg5r0vcm6pa5g8k5f4rs19qr";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.3";
+  };
+  open4 = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
+      type = "gem";
+    };
+    version = "1.3.4";
   };
   openid_connect = {
     dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"];
@@ -2551,10 +3198,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd";
+      sha256 = "0r50vwf9hsf6r8gx5mwqs3w3w92l864ikiz9d0fcibqsr1489pbg";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.8";
   };
   opentracing = {
     groups = ["default"];
@@ -2567,6 +3214,8 @@
     version = "0.5.0";
   };
   optimist = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j";
@@ -2576,6 +3225,8 @@
   };
   org-ruby = {
     dependencies = ["rubypants"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
@@ -2584,6 +3235,8 @@
     version = "0.9.12";
   };
   orm_adapter = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
@@ -2592,6 +3245,8 @@
     version = "0.5.0";
   };
   os = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk";
@@ -2621,6 +3276,8 @@
     version = "2.6.3.0";
   };
   parslet = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88";
@@ -2629,61 +3286,18 @@
     version = "1.8.2";
   };
   peek = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1998vcsli215d6qrn9821gr2qip60xki2p7n2dpn8i1n68hyshcn";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  peek-gc = {
-    dependencies = ["peek"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "094h3mr9q8wzbqsj0girpyjvj4bcxax8m438igp42n75xv0bhwi9";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  peek-mysql2 = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  peek-pg = {
-    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17yk8xrh7yh57wg6vi3s8km9qd9f910n94r511mdyqd7aizlfb7c";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  peek-rblineprof = {
-    dependencies = ["peek" "rblineprof"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ywk1gvsnhrkhqq2ibwsg7099kg5m2vs4nmzy0wf65kb0ywl0m9c";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
-  peek-redis = {
-    dependencies = ["atomic" "peek" "redis"];
+    dependencies = ["railties"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v91cni591d9wdrmvgam20gr3504x84mh1l95da4rz5a9436jm33";
+      sha256 = "1k1yggixrcj72jlc98hi3jjd04x71dpynn8dxpcdhinyijniwl6n";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.1.0";
   };
   pg = {
-    groups = ["development" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2694,6 +3308,8 @@
   };
   po_to_json = {
     dependencies = ["json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1xvanl437305mry1gd57yvcg7xrfhri91czr32bjr8j2djm8hwba";
@@ -2703,24 +3319,30 @@
   };
   premailer = {
     dependencies = ["addressable" "css_parser" "htmlentities"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    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"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj";
@@ -2729,6 +3351,8 @@
     version = "0.1.0";
   };
   procto = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
@@ -2741,13 +3365,19 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd";
+      sha256 = "0immyg4as0isyj2dcjf44n0avg1jv5kx1qk0asrgb5ayzwmjqg1k";
       type = "gem";
     };
-    version = "0.9.8";
+    version = "0.9.10";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
@@ -2757,6 +3387,12 @@
   };
   pry-byebug = {
     dependencies = ["byebug" "pry"];
+    groups = ["development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
@@ -2766,6 +3402,8 @@
   };
   pry-rails = {
     dependencies = ["pry"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0k2d43bwmqbswfra4fkadjjbszwb11pr7qdkma91qrcrk62wqxvy";
@@ -2778,29 +3416,14 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  puma = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
+      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
       type = "gem";
     };
-    version = "3.12.0";
-  };
-  puma_worker_killer = {
-    dependencies = ["get_process_mem" "puma"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1m08qi8mxpp20zqqjj9yzcrx0sn29n5fn5avlf1lnl0n7qa9c03i";
-      type = "gem";
-    };
-    version = "0.1.0";
+    version = "3.1.1";
   };
   pyu-ruby-sasl = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
@@ -2809,6 +3432,8 @@
     version = "0.0.3.3";
   };
   raabro = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq";
@@ -2817,7 +3442,7 @@
     version = "1.1.6";
   };
   rack = {
-    groups = ["default" "development" "kerberos" "mysql" "postgres" "test"];
+    groups = ["default" "development" "kerberos" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2828,6 +3453,8 @@
   };
   rack-accept = {
     dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
@@ -2837,14 +3464,18 @@
   };
   rack-attack = {
     dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
+      sha256 = "1sqjqwa18c0l59zdymcvvvnh5nk3pjggnzaydb2q1qbrk3rypcnq";
       type = "gem";
     };
-    version = "4.4.1";
+    version = "6.2.0";
   };
   rack-cors = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013";
@@ -2865,6 +3496,8 @@
   };
   rack-protection = {
     dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk";
@@ -2874,6 +3507,8 @@
   };
   rack-proxy = {
     dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bpbcb9ch94ha2q7gdri88ry7ch0z6ian289kah9ayxyqg19j6f4";
@@ -2883,7 +3518,7 @@
   };
   rack-test = {
     dependencies = ["rack"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2915,15 +3550,19 @@
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
+    groups = ["test"];
+    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"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
@@ -2933,15 +3572,19 @@
   };
   rails-html-sanitizer = {
     dependencies = ["loofah"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.3.0";
   };
   rails-i18n = {
     dependencies = ["i18n" "railties"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1rqij2ggqz5iq36lbibhnd7pl4qxrvv9kgw9s0c6594vzbbxmhs0";
@@ -2951,7 +3594,7 @@
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
-    groups = ["default" "development" "mysql" "postgres" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2961,6 +3604,8 @@
     version = "5.2.3";
   };
   rainbow = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
@@ -2969,6 +3614,8 @@
     version = "3.0.0";
   };
   raindrops = {
+    groups = ["metrics" "unicorn"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp";
@@ -2977,14 +3624,18 @@
     version = "0.19.0";
   };
   rake = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "1cvaqarr1m84mhc006g3l1vw7sa5qpkcw0138lsxlf769zdllsgp";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "12.3.3";
   };
   rb-fsevent = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
@@ -2994,6 +3645,8 @@
   };
   rb-inotify = {
     dependencies = ["ffi"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
@@ -3003,6 +3656,12 @@
   };
   rblineprof = {
     dependencies = ["debugger-ruby_core_source"];
+    groups = ["development"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
@@ -3012,6 +3671,8 @@
   };
   rbtrace = {
     dependencies = ["ffi" "msgpack" "optimist"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi";
@@ -3020,6 +3681,8 @@
     version = "0.4.11";
   };
   rdoc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7";
@@ -3028,6 +3691,8 @@
     version = "6.0.4";
   };
   re2 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i";
@@ -3047,6 +3712,8 @@
     version = "4.13.1";
   };
   recursive-open-struct = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0wfcyigmf5mwrxy76p0bi4sdb4h9afs8jc73pjav5cnqszljjl3c";
@@ -3055,6 +3722,8 @@
     version = "1.1.0";
   };
   RedCloth = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
@@ -3063,33 +3732,41 @@
     version = "4.3.2";
   };
   redis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv";
+      sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh";
       type = "gem";
     };
-    version = "3.3.5";
+    version = "4.1.3";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5";
+      sha256 = "14a3z8810j02ysvg53f3mvcfb4rw34m91yfd19zy9y5lb3yv2g59";
       type = "gem";
     };
-    version = "5.0.4";
+    version = "5.2.0";
   };
   redis-namespace = {
     dependencies = ["redis"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah";
@@ -3099,15 +3776,19 @@
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb";
+      sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "2.0.6";
   };
   redis-rails = {
     dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40";
@@ -3117,12 +3798,14 @@
   };
   redis-store = {
     dependencies = ["redis"];
+    groups = ["default"];
+    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"];
@@ -3135,6 +3818,8 @@
     version = "1.5.1";
   };
   regexp_property_values = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05ka0bkhghs9b9pv6q443k8y1c5xalmm0vylj9zd450ksncxj1yr";
@@ -3144,6 +3829,8 @@
   };
   representable = {
     dependencies = ["declarative" "declarative-option" "uber"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07";
@@ -3152,6 +3839,8 @@
     version = "3.0.4";
   };
   request_store = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv";
@@ -3161,15 +3850,19 @@
   };
   responders = {
     dependencies = ["actionpack" "railties"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn";
+      sha256 = "1p7pqcfq33q1z4xlp4qm94w4h3fzc1yvr3cny16d00i8b20v4rx2";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "3.0.0";
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
@@ -3178,6 +3871,8 @@
     version = "2.0.2";
   };
   retriable = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha";
@@ -3186,6 +3881,8 @@
     version = "3.1.2";
   };
   rinku = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11cakxzp7qi04d41hbqkh92n52mm4z2ba8sqyhxbmfi4kypmls9y";
@@ -3194,6 +3891,8 @@
     version = "2.0.0";
   };
   rotp = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d";
@@ -3206,13 +3905,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
+      sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.11.0";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
@@ -3222,6 +3923,8 @@
   };
   rqrcode-rails3 = {
     dependencies = ["rqrcode"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
@@ -3290,10 +3993,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1";
+      sha256 = "164dni69b9imgv33rxzsy3272ni10xny0f4dbx6k90zr1cgzmj5s";
       type = "gem";
     };
-    version = "3.8.2";
+    version = "4.0.0.beta3";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -3307,6 +4010,8 @@
     version = "0.6.1";
   };
   rspec-set = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06vw8b5w1a58838cw9ssmy3r6f8vrjh54h7dp97rwv831gn5zlyk";
@@ -3326,6 +4031,8 @@
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
+    groups = ["test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1aynmrgnv26pkprrajvp7advb8nbh0x4pkwk6jwq8qmwzarzk21p";
@@ -3335,6 +4042,8 @@
   };
   rspec_profiling = {
     dependencies = ["activerecord" "pg" "rails" "sqlite3"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1g7q7gav26bpiprx4dhlvdh4zdrhwiky9jbmsp14gyfiabqdz4sz";
@@ -3355,6 +4064,8 @@
   };
   rubocop-gitlab-security = {
     dependencies = ["rubocop"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0v0040kpx46fxz3p7dsdjgvsx89qjhwy17n8vxnqg9a7g1rfvxln";
@@ -3375,6 +4086,8 @@
   };
   rubocop-rspec = {
     dependencies = ["rubocop"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vk51h9swvgshan8vp8yjz03qv9vn5vs29i9iddhjwcwgzsganla";
@@ -3384,6 +4097,8 @@
   };
   ruby-enum = {
     dependencies = ["i18n"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx";
@@ -3393,6 +4108,8 @@
   };
   ruby-fogbugz = {
     dependencies = ["crack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
@@ -3401,25 +4118,29 @@
     version = "0.2.1";
   };
   ruby-prof = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
+      sha256 = "0ac3mv3x468s820f6wnp5whzl59y5844wmdjg47a8mbp0kkmnn58";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "1.0.0";
   };
   ruby-progressbar = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.10.1";
   };
   ruby-saml = {
     dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0k9d88fa8bp5szivbwq0qi960y3r2kp6jhnkmsp3n2rvwpn936i3";
@@ -3427,6 +4148,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"];
@@ -3439,6 +4170,8 @@
     version = "3.13.1";
   };
   rubyntlm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
@@ -3447,6 +4180,8 @@
     version = "0.6.2";
   };
   rubypants = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
@@ -3455,24 +4190,28 @@
     version = "0.2.0";
   };
   rubyzip = {
+    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"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
+      sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx";
       type = "gem";
     };
-    version = "0.28.1";
+    version = "0.28.4.1";
   };
   safe_yaml = {
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
@@ -3482,6 +4221,8 @@
   };
   sanitize = {
     dependencies = ["crass" "nokogiri" "nokogumbo"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv";
@@ -3491,6 +4232,8 @@
   };
   sass = {
     dependencies = ["sass-listen"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
@@ -3500,6 +4243,8 @@
   };
   sass-listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
@@ -3531,6 +4276,8 @@
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd";
@@ -3540,6 +4287,8 @@
   };
   scss_lint = {
     dependencies = ["rake" "sass"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01bfkrjn1i0hfg1ifwn1rs7vqwdbdw158krwr5fm6iasd9zgl10g";
@@ -3549,6 +4298,8 @@
   };
   seed-fu = {
     dependencies = ["activerecord" "activesupport"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x6gclryl0hds3zms095d2iyafcvm2kfrm7362vrkxws7r2775pi";
@@ -3558,14 +4309,14 @@
   };
   selenium-webdriver = {
     dependencies = ["childprocess" "rubyzip"];
-    groups = ["development" "test"];
+    groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs";
+      sha256 = "11abil34dr8p1kw7hlaqd6kr430v4srmhzf72zzqvhcimlfvm4yb";
       type = "gem";
     };
-    version = "3.141.0";
+    version = "3.142.6";
   };
   sentry-raven = {
     dependencies = ["faraday"];
@@ -3579,6 +4330,8 @@
     version = "2.9.0";
   };
   settingslogic = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
@@ -3596,14 +4349,15 @@
     };
     version = "4.12.0";
   };
-  sham_rack = {
-    dependencies = ["rack"];
+  shellany = {
+    groups = ["default" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
+      sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
       type = "gem";
     };
-    version = "1.3.6";
+    version = "0.0.1";
   };
   shoulda-matchers = {
     dependencies = ["activesupport"];
@@ -3629,6 +4383,8 @@
   };
   sidekiq-cron = {
     dependencies = ["fugit" "sidekiq"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0";
@@ -3638,6 +4394,8 @@
   };
   signet = {
     dependencies = ["addressable" "faraday" "jwt" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
@@ -3646,6 +4404,8 @@
     version = "0.11.0";
   };
   simple_po_parser = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "08wkp4gcrd89k5yari9j94if9ffkj3rka4llcwrhdgsi3l15p5f3";
@@ -3674,7 +4434,19 @@
     };
     version = "0.10.2";
   };
+  sixarm_ruby_unaccent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11237b8r8p7fc0cpn04v9wa7ggzq0xm6flh10h1lnb6zgc3schq0";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
   slack-notifier = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xavibxh00gy62mm79l6id9l2fldjmdqifk8alqfqy5z38ffwah6";
@@ -3695,6 +4467,8 @@
   };
   spring = {
     dependencies = ["activesupport"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75";
@@ -3704,6 +4478,8 @@
   };
   spring-commands-rspec = {
     dependencies = ["spring"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
@@ -3713,6 +4489,8 @@
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
@@ -3722,6 +4500,8 @@
   };
   sprockets-rails = {
     dependencies = ["actionpack" "activesupport" "sprockets"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
@@ -3730,6 +4510,8 @@
     version = "3.2.1";
   };
   sqlite3 = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
@@ -3738,6 +4520,8 @@
     version = "1.3.13";
   };
   sshkey = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp";
@@ -3746,14 +4530,18 @@
     version = "2.0.0";
   };
   stackprof = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c88j2d6ipjw5s3hgdgfww37gysgrkicawagj33hv3knijjc9ski";
+      sha256 = "1wck8lqmlndaic2c8z678ylxkkyqlip9ikms9x6lplk298rrdybl";
       type = "gem";
     };
-    version = "0.2.10";
+    version = "0.2.13";
   };
   state_machines = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3";
@@ -3763,21 +4551,25 @@
   };
   state_machines-activemodel = {
     dependencies = ["activemodel" "state_machines"];
+    groups = ["default"];
+    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"];
+    groups = ["default"];
+    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"];
@@ -3792,6 +4584,8 @@
   };
   sys-filesystem = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "092wj7936i5inzafi09wqh5c8dbak588q21k652dsrdjf5qi10zq";
@@ -3800,6 +4594,8 @@
     version = "1.1.6";
   };
   sysexits = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr";
@@ -3812,20 +4608,35 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "158d7ygbwcifqnvrph219p7m78yjdjazhykv5darbkms7bxm5y09";
+      sha256 = "060zzj7c2kicdfk6cpnn40n9yjnhfrr13d0rsbdhdij68chp2861";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.8.2";
+  };
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
+      type = "gem";
+    };
+    version = "1.8.0";
   };
   test-prof = {
+    groups = ["test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08nvn3c1mzgcjgk9lr3py0zjd8fjjrm3ncn9rpqkfbx429mgw2l3";
+      sha256 = "0ag33hv8ky8nxpsra9jkam9npi1jjwb7f7zmvi2najci5mdr10nr";
       type = "gem";
     };
-    version = "0.2.5";
+    version = "0.10.0";
   };
   text = {
+    groups = ["default" "development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
@@ -3835,6 +4646,8 @@
   };
   thin = {
     dependencies = ["daemons" "eventmachine" "rack"];
+    groups = ["development"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f";
@@ -3843,14 +4656,18 @@
     version = "1.7.2";
   };
   thor = {
+    groups = ["default" "development" "omnibus" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns";
+      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
       type = "gem";
     };
-    version = "0.19.4";
+    version = "0.20.3";
   };
   thread_safe = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
@@ -3859,6 +4676,8 @@
     version = "0.3.6";
   };
   thrift = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv";
@@ -3871,12 +4690,14 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
+      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   timecop = {
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx";
@@ -3885,6 +4706,8 @@
     version = "0.8.1";
   };
   timfel-krb5-auth = {
+    groups = ["default" "kerberos"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
@@ -3894,6 +4717,8 @@
   };
   toml = {
     dependencies = ["parslet"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xj460rkyqvg74xc8kivmbvgc46c6mm7r8mbjs5m2gq8khf8sbki";
@@ -3903,6 +4728,8 @@
   };
   toml-rb = {
     dependencies = ["citrus"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0pz6z1mc7rnv4chkbx3mdn4q1lpp0j596dq57kbq39jv0wn0wi4d";
@@ -3910,18 +4737,10 @@
     };
     version = "1.0.0";
   };
-  tomlrb = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
-      type = "gem";
-    };
-    version = "1.2.8";
-  };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0z36dprfj9l4jwgwb2wv4v3cilm53v7i1ywfmm5f1dl352id3ak4";
@@ -3931,6 +4750,8 @@
   };
   tzinfo = {
     dependencies = ["thread_safe"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
@@ -3939,6 +4760,8 @@
     version = "1.2.5";
   };
   u2f = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lsm1hvwcaa9sq13ab1l1zjk0fgcy951ay11v2acx0h6q1iv21vr";
@@ -3947,6 +4770,8 @@
     version = "0.2.1";
   };
   uber = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv";
@@ -3956,6 +4781,8 @@
   };
   uglifier = {
     dependencies = ["execjs" "json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
@@ -3965,6 +4792,8 @@
   };
   unf = {
     dependencies = ["unf_ext"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
@@ -3973,6 +4802,8 @@
     version = "0.1.4";
   };
   unf_ext = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
@@ -3990,8 +4821,20 @@
     };
     version = "1.6.0";
   };
+  unicode_utils = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
   unicorn = {
     dependencies = ["kgio" "raindrops"];
+    groups = ["unicorn"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak";
@@ -4001,6 +4844,8 @@
   };
   unicorn-worker-killer = {
     dependencies = ["get_process_mem" "unicorn"];
+    groups = ["unicorn"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
@@ -4009,12 +4854,25 @@
     version = "0.4.4";
   };
   uniform_notifier = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l";
+      sha256 = "0vm4aix8jmv42s1x58m3lj3xwkbxyn9qn6lzhhig0d1j8fv6j30c";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.13.0";
+  };
+  unleash = {
+    dependencies = ["murmurhash3"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xs2ml9cwskddsxick3a9wnasy7q6wmc0dbydfcaspfl2cjmp1rk";
+      type = "gem";
+    };
+    version = "0.1.5";
   };
   unparser = {
     dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
@@ -4051,6 +4909,8 @@
   };
   validates_hostname = {
     dependencies = ["activerecord" "activesupport"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04p1l0v98j4ffvaks1ig9mygx5grpbpdgz7haq3mygva9iy8ykja";
@@ -4059,6 +4919,8 @@
     version = "1.0.6";
   };
   version_sorter = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hbdw3vh856f5yg5mbj4498l6vh90cd3pn22ikr3ranzkrh73l3s";
@@ -4068,6 +4930,8 @@
   };
   virtus = {
     dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
@@ -4076,6 +4940,8 @@
     version = "1.0.5";
   };
   vmstat = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0vb5mwc71p8rlm30hnll3lb4z70ipl5rmilskpdrq2mxwfilcm5b";
@@ -4085,12 +4951,14 @@
   };
   warden = {
     dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12";
+      sha256 = "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.8";
   };
   webfinger = {
     dependencies = ["activesupport" "httpclient"];
@@ -4105,6 +4973,8 @@
   };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
+    groups = ["test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp";
@@ -4114,6 +4984,8 @@
   };
   webpack-rails = {
     dependencies = ["railties"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fsjxw730bh4k1dfnbjm645fgjyqrh830l1z7brqbsm6306ig1rr";
@@ -4133,6 +5005,8 @@
     version = "0.7.0";
   };
   websocket-extensions = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270";
@@ -4142,6 +5016,8 @@
   };
   wikicloth = {
     dependencies = ["builder" "expression_parser" "rinku"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
@@ -4150,6 +5026,8 @@
     version = "0.8.1";
   };
   with_env = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh";
@@ -4158,6 +5036,8 @@
     version = "1.1.0";
   };
   xml-simple = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/update.py b/nixpkgs/pkgs/applications/version-management/gitlab/update.py
index 650bd73aa845..dc2d1e29719d 100755
--- a/nixpkgs/pkgs/applications/version-management/gitlab/update.py
+++ b/nixpkgs/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
+#! 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
@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
 
 class GitLabRepo:
     version_regex = re.compile(r"^v\d+\.\d+\.\d+(\-rc\d+)?(\-ee)?")
-    def __init__(self, owner: str, repo: str):
+    def __init__(self, owner: str = 'gitlab-org', repo: str = 'gitlab'):
         self.owner = owner
         self.repo = repo
 
@@ -46,24 +46,6 @@ class GitLabRepo:
         j = json.loads(out)
         return j['sha256']
 
-    def get_deb_url(self, flavour: str, version: str, arch: str = 'amd64') -> str:
-        """
-        gitlab builds debian packages, which we currently need as we don't build the frontend on our own
-        this returns the url of a given flavour, version and arch
-        :param flavour: 'ce' or 'ee'
-        :param version: a version, without 'v' prefix and '-ee' suffix
-        :param arch: amd64
-        :return: url of the debian package
-        """
-        if self.owner != "gitlab-org" or self.repo not in ['gitlab-ce', 'gitlab-ee']:
-            raise Exception(f"don't know how to get deb_url for {self.url}")
-        return f"https://packages.gitlab.com/gitlab/gitlab-{flavour}/packages" + \
-               f"/debian/stretch/gitlab-{flavour}_{version}-{flavour}.0_{arch}.deb/download.deb"
-
-    def get_deb_hash(self, flavour: str, version: str) -> str:
-        out = subprocess.check_output(['nix-prefetch-url', self.get_deb_url(flavour, version)])
-        return out.decode('utf-8').strip()
-
     @staticmethod
     def rev2version(tag: str) -> str:
         """
@@ -86,46 +68,19 @@ class GitLabRepo:
         """
         return requests.get(self.url + f"/raw/{rev}/{filepath}").text
 
-    def get_data(self, rev, flavour):
+    def get_data(self, rev):
         version = self.rev2version(rev)
 
         passthru = {v: self.get_file(v, rev).strip() for v in ['GITALY_SERVER_VERSION', 'GITLAB_PAGES_VERSION',
                                                                'GITLAB_SHELL_VERSION', 'GITLAB_WORKHORSE_VERSION']}
         return dict(version=self.rev2version(rev),
                     repo_hash=self.get_git_hash(rev),
-                    deb_hash=self.get_deb_hash(flavour, version),
-                    deb_url=self.get_deb_url(flavour, version),
                     owner=self.owner,
                     repo=self.repo,
                     rev=rev,
                     passthru=passthru)
 
 
-def _flavour2gitlabrepo(flavour: str):
-    if flavour not in ['ce', 'ee']:
-        raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee")
-
-    owner = 'gitlab-org'
-    repo = 'gitlab-' + flavour
-
-    return GitLabRepo(owner, repo)
-
-
-def _update_data_json(filename: str, repo: GitLabRepo, rev: str, flavour: str):
-    flavour_data = repo.get_data(rev, flavour)
-
-    if not os.path.exists(filename):
-        with open(filename, 'w') as f:
-            json.dump({flavour: flavour_data}, f, indent=2)
-    else:
-        with open(filename, 'r+') as f:
-            data = json.load(f)
-            data[flavour] = flavour_data
-            f.seek(0)
-            f.truncate()
-            json.dump(data, f, indent=2)
-
-
 def _get_data_json():
     data_file_path = pathlib.Path(__file__).parent / 'data.json'
     with open(data_file_path, 'r') as f:
@@ -146,100 +101,134 @@ def cli():
 
 @cli.command('update-data')
 @click.option('--rev', default='latest', help='The rev to use, \'latest\' points to the latest (stable) tag')
-@click.argument('flavour')
-def update_data(rev: str, flavour: str):
-    """Update data.nix for a selected flavour"""
-    r = _flavour2gitlabrepo(flavour)
+def update_data(rev: str):
+    """Update data.nix"""
+    repo = GitLabRepo()
 
     if rev == 'latest':
         # filter out pre and re releases
-        rev = next(filter(lambda x: not ('rc' in x or x.endswith('pre')), r.tags))
+        rev = next(filter(lambda x: not ('rc' in x or x.endswith('pre')), repo.tags))
     logger.debug(f"Using rev {rev}")
 
-    version = r.rev2version(rev)
+    version = repo.rev2version(rev)
     logger.debug(f"Using version {version}")
 
     data_file_path = pathlib.Path(__file__).parent / 'data.json'
 
-    _update_data_json(filename=data_file_path.as_posix(),
-                      repo=r,
-                      rev=rev,
-                      flavour=flavour)
+    data = repo.get_data(rev)
 
+    with open(data_file_path.as_posix(), 'w') as f:
+        json.dump(data, f, indent=2)
 
-@cli.command('update-rubyenv')
-@click.argument('flavour')
-def update_rubyenv(flavour):
-    """Update rubyEnv-${flavour}"""
-    if flavour not in ['ce', 'ee']:
-        raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee")
 
-    r = _flavour2gitlabrepo(flavour)
-    rubyenv_dir = pathlib.Path(__file__).parent / f"rubyEnv-{flavour}"
+@cli.command('update-rubyenv')
+def update_rubyenv():
+    """Update rubyEnv"""
+    repo = GitLabRepo()
+    rubyenv_dir = pathlib.Path(__file__).parent / f"rubyEnv"
 
     # load rev from data.json
     data = _get_data_json()
-    rev = data[flavour]['rev']
+    rev = data['rev']
 
     for fn in ['Gemfile.lock', 'Gemfile']:
         with open(rubyenv_dir / fn, 'w') as f:
-            f.write(r.get_file(fn, rev))
+            f.write(repo.get_file(fn, rev))
 
     subprocess.check_output(['bundix'], cwd=rubyenv_dir)
 
 
+@cli.command('update-yarnpkgs')
+def update_yarnpkgs():
+    """Update yarnPkgs"""
+
+    repo = GitLabRepo()
+    yarnpkgs_dir = pathlib.Path(__file__).parent
+
+    # load rev from data.json
+    data = _get_data_json()
+    rev = data['rev']
+
+    with open(yarnpkgs_dir / 'yarn.lock', 'w') as f:
+        f.write(repo.get_file('yarn.lock', rev))
+
+    with open(yarnpkgs_dir / 'yarnPkgs.nix', 'w') as f:
+        subprocess.run(['yarn2nix'], cwd=yarnpkgs_dir, check=True, stdout=f)
+
+    os.unlink(yarnpkgs_dir / 'yarn.lock')
+
+
 @cli.command('update-gitaly')
 def update_gitaly():
     """Update gitaly"""
     data = _get_data_json()
-    gitaly_server_version = data['ce']['passthru']['GITALY_SERVER_VERSION']
-    r = GitLabRepo('gitlab-org', 'gitaly')
+    gitaly_server_version = data['passthru']['GITALY_SERVER_VERSION']
+    repo = GitLabRepo(repo='gitaly')
     gitaly_dir = pathlib.Path(__file__).parent / 'gitaly'
 
     for fn in ['Gemfile.lock', 'Gemfile']:
         with open(gitaly_dir / fn, 'w') as f:
-            f.write(r.get_file(f"ruby/{fn}", f"v{gitaly_server_version}"))
+            f.write(repo.get_file(f"ruby/{fn}", f"v{gitaly_server_version}"))
 
     for fn in ['go.mod', 'go.sum']:
         with open(gitaly_dir / fn, 'w') as f:
-            f.write(r.get_file(fn, f"v{gitaly_server_version}"))
+            f.write(repo.get_file(fn, f"v{gitaly_server_version}"))
 
     subprocess.check_output(['bundix'], cwd=gitaly_dir)
     subprocess.check_output(['vgo2nix'], cwd=gitaly_dir)
 
     for fn in ['go.mod', 'go.sum']:
         os.unlink(gitaly_dir / fn)
-    # currently broken, as `gitaly.meta.position` returns
-    # pkgs/development/go-modules/generic/default.nix
-    # so update-source-version doesn't know where to update hashes
-    # _call_update_source_version('gitaly', gitaly_server_version)
-    gitaly_hash = r.get_git_hash(f"v{gitaly_server_version}")
-    click.echo(f"Please update gitaly/default.nix to version {gitaly_server_version} and hash {gitaly_hash}")
+
+    _call_update_source_version('gitaly', gitaly_server_version)
 
 
 @cli.command('update-gitlab-shell')
 def update_gitlab_shell():
     """Update gitlab-shell"""
     data = _get_data_json()
-    gitlab_shell_version = data['ce']['passthru']['GITLAB_SHELL_VERSION']
+    gitlab_shell_version = data['passthru']['GITLAB_SHELL_VERSION']
     _call_update_source_version('gitlab-shell', gitlab_shell_version)
 
+    repo = GitLabRepo(repo='gitlab-shell')
+    gitlab_shell_dir = pathlib.Path(__file__).parent / 'gitlab-shell'
+
+    for fn in ['go.mod', 'go.sum']:
+        with open(gitlab_shell_dir / fn, 'w') as f:
+            f.write(repo.get_file(fn, f"v{gitlab_shell_version}"))
+
+    subprocess.check_output(['vgo2nix'], cwd=gitlab_shell_dir)
+
+    for fn in ['go.mod', 'go.sum']:
+        os.unlink(gitlab_shell_dir / fn)
+
 
 @cli.command('update-gitlab-workhorse')
 def update_gitlab_workhorse():
-    """Update gitlab-shell"""
+    """Update gitlab-workhorse"""
     data = _get_data_json()
-    gitlab_workhorse_version = data['ce']['passthru']['GITLAB_WORKHORSE_VERSION']
+    gitlab_workhorse_version = data['passthru']['GITLAB_WORKHORSE_VERSION']
     _call_update_source_version('gitlab-workhorse', gitlab_workhorse_version)
 
+    repo = GitLabRepo('gitlab-org', 'gitlab-workhorse')
+    gitlab_workhorse_dir = pathlib.Path(__file__).parent / 'gitlab-workhorse'
+
+    for fn in ['go.mod', 'go.sum']:
+        with open(gitlab_workhorse_dir / fn, 'w') as f:
+            f.write(repo.get_file(fn, f"v{gitlab_workhorse_version}"))
+
+    subprocess.check_output(['vgo2nix'], cwd=gitlab_workhorse_dir)
+
+    for fn in ['go.mod', 'go.sum']:
+        os.unlink(gitlab_workhorse_dir / fn)
 
 @cli.command('update-all')
 @click.pass_context
 def update_all(ctx):
-    """Update gitlab ce and ee data.nix and rubyenvs to the latest stable release"""
-    for flavour in ['ce', 'ee']:
-        ctx.invoke(update_data, rev='latest', flavour=flavour)
-        ctx.invoke(update_rubyenv, flavour=flavour)
+    """Update all gitlab components to the latest stable release"""
+    ctx.invoke(update_data, rev='latest')
+    ctx.invoke(update_rubyenv)
+    ctx.invoke(update_yarnpkgs)
     ctx.invoke(update_gitaly)
     ctx.invoke(update_gitlab_shell)
     ctx.invoke(update_gitlab_workhorse)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix
new file mode 100644
index 000000000000..e77f18aff85f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -0,0 +1,13157 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d";
+      };
+    }
+    {
+      name = "_babel_core___core_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz";
+        sha1 = "069a776e8d5e9eefff76236bc8845566bd31dd91";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz";
+        sha1 = "dac8a3c2df118334c2a29ff3446da1636a8f8c03";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
+        sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
+        sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
+        sha1 = "769711acca889be371e9bc2eb68641d55218021f";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
+        sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
+        sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha1 = "83572d4320e2a4657263734113c42868b64e49c3";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
+        sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
+        sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
+        sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
+        sha1 = "a2920c5702b073c15de51106200aa8cad20497d5";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz";
+        sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
+        sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
+        sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
+        sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha1 = "ff94894a340be78f53f06af038b205c49d993677";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
+        sha1 = "c4e0012445769e2815b55296ead43a958549f6fa";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha1 = "681ffe489ea4dcc55f23ce469e58e59c1c045153";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha1 = "56d11312bd9248fa619591d02472be6e8cb32540";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz";
+        sha1 = "205e9c95e16ba3b8b96090677a67c9d6075b70a1";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
+        sha1 = "b289b306669dce4ad20b0252889a15768c9d417e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
+        sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
+        sha1 = "e532202db4838723691b10a67b8ce509e397c506";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
+        sha1 = "568ecc446c6148ae6b267f02551130891e29f317";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz";
+        sha1 = "8ffccc8f3a6545e9f78988b6bf4fe881b88e8096";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
+        sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.7.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.5.tgz";
+        sha1 = "f0835f044cef85b31071a924010a2a390add11d4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.6.0.tgz";
+        sha1 = "19ddc493c7b5d47afdd4291e740c609a83c9fae4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz";
+        sha1 = "05413762894f41bfe42b9a5e80919bd575dcc802";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
+        sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
+        sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz";
+        sha1 = "2333ef4b875553a3bcd1e93f8ebc09f5b9213a40";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
+        sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
+        sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.7.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.7.4.tgz";
+        sha1 = "c91fdde6de85d2eb8906daea7b21944c3610c901";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
+        sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
+        sha1 = "89a3848a0166623b5bc481164b5936ab947e887e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
+        sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz";
+        sha1 = "96c33ab97a9ae500cc6f5b19e04a7e6553360a79";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
+        sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
+        sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
+        sha1 = "44bbe08b57f4480094d57d9ffbcd96d309075ba6";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz";
+        sha1 = "44abb948b88f0199a627024e1508acaf8dc9b2f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
+        sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
+        sha1 = "a63868289e5b4007f7054d46491af51435766008";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha1 = "e1436116abb0610c2259094848754ac5230922ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
+        sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
+        sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
+        sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
+        sha1 = "39dfe957de4420445f1fcf88b68a2e4aa4515486";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
+        sha1 = "e75266a13ef94202db2a0620977756f51d52d249";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
+        sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz";
+        sha1 = "c1ca0bb84b94f385ca302c3932e870b0fb0e522b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
+        sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
+        sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
+        sha1 = "629dc82512c55cee01341fb27bdfcb210354680f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
+        sha1 = "4792af87c998a49367597d07fedf02636d2e1634";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
+        sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz";
+        sha1 = "fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
+        sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
+        sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz";
+        sha1 = "b692aad888a7e8d8b1b214be6b9dc03d5031f698";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.2.tgz";
+        sha1 = "abbb3ed785c7fe4220d4c82a53621d71fc0c75d3";
+      };
+    }
+    {
+      name = "_babel_standalone___standalone_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_standalone___standalone_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.5.5.tgz";
+        sha1 = "9d3143f6078ff408db694a4254bd6f03c5c33962";
+      };
+    }
+    {
+      name = "_babel_template___template_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz";
+        sha1 = "7f0159c7f5012230dad64cca42ec9bdb5c9536e6";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz";
+        sha1 = "b0e2bfd401d339ce0e6c05690206d1e11502ce2c";
+      };
+    }
+    {
+      name = "_babel_types___types_7.6.1.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz";
+        sha1 = "53abf3308add3ac2a2884d539151c57c4b3ac648";
+      };
+    }
+    {
+      name = "_braintree_sanitize_url___sanitize_url_3.1.0.tgz";
+      path = fetchurl {
+        name = "_braintree_sanitize_url___sanitize_url_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz";
+        sha1 = "8ff71d51053cd5ee4981e5a501d80a536244f7fd";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+      };
+    }
+    {
+      name = "_gitlab_eslint_config___eslint_config_2.0.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_eslint_config___eslint_config_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-config/-/eslint-config-2.0.0.tgz";
+        sha1 = "e30dbf2b170a7a4ca003a321de9f4170a2512510";
+      };
+    }
+    {
+      name = "_gitlab_eslint_plugin_i18n___eslint_plugin_i18n_1.1.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_eslint_plugin_i18n___eslint_plugin_i18n_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin-i18n/-/eslint-plugin-i18n-1.1.0.tgz";
+        sha1 = "e494d599e644ce3a094ea85f87dbbda41a924c5e";
+      };
+    }
+    {
+      name = "_gitlab_eslint_plugin_vue_i18n___eslint_plugin_vue_i18n_1.2.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_eslint_plugin_vue_i18n___eslint_plugin_vue_i18n_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin-vue-i18n/-/eslint-plugin-vue-i18n-1.2.0.tgz";
+        sha1 = "6dcd8bf6bdd7a31c1c4c2c4114762508af435836";
+      };
+    }
+    {
+      name = "_gitlab_svgs___svgs_1.88.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_svgs___svgs_1.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.88.0.tgz";
+        sha1 = "0a9b72e9591264fcac592ebf9944665c70f48de2";
+      };
+    }
+    {
+      name = "_gitlab_ui___ui_8.8.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_ui___ui_8.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-8.8.0.tgz";
+        sha1 = "c22b4dece89d224c525b3510970f3c61321a6765";
+      };
+    }
+    {
+      name = "_gitlab_visual_review_tools___visual_review_tools_1.5.1.tgz";
+      path = fetchurl {
+        name = "_gitlab_visual_review_tools___visual_review_tools_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.5.1.tgz";
+        sha1 = "2552927cd7a376f1f06ef3293a69fe2ffcdddb52";
+      };
+    }
+    {
+      name = "_gitlab_vue_toasted___vue_toasted_1.3.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_vue_toasted___vue_toasted_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/vue-toasted/-/vue-toasted-1.3.0.tgz";
+        sha1 = "f21550d4ce406ee5f99447a02abf36250ecc922d";
+      };
+    }
+    {
+      name = "_jest_console___console_24.7.1.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_24.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz";
+        sha1 = "32a9e42535a97aedfe037e725bd67e954b459545";
+      };
+    }
+    {
+      name = "_jest_core___core_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz";
+        sha1 = "fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b";
+      };
+    }
+    {
+      name = "_jest_environment___environment_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz";
+        sha1 = "0342261383c776bdd652168f68065ef144af0eac";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz";
+        sha1 = "2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz";
+        sha1 = "075169cd029bddec54b8f2c0fc489fd0b9e05729";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_24.3.0.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_24.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz";
+        sha1 = "563be3aa4d224caf65ff77edc95cd1ca4da67f28";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz";
+        sha1 = "7675d0aaf9d2484caa65e048d9b467d160f8e9d3";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz";
+        sha1 = "2f993bcf6ef5eb4e65e8233a95a3320248cf994b";
+      };
+    }
+    {
+      name = "_jest_transform___transform_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz";
+        sha1 = "628fb99dce4f9d254c6fd9341e3eea262e06fef5";
+      };
+    }
+    {
+      name = "_jest_types___types_24.8.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz";
+        sha1 = "f31e25948c58f0abd8c845ae26fcea1491dea7ad";
+      };
+    }
+    {
+      name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+      path = fetchurl {
+        name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha1 = "524af240d1a360527b730475ecfa1344aa540dde";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b";
+      };
+    }
+    {
+      name = "_nuxt_opencollective___opencollective_0.2.2.tgz";
+      path = fetchurl {
+        name = "_nuxt_opencollective___opencollective_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.2.2.tgz";
+        sha1 = "17adc7d380457379cd14cbb64a435ea196cc4a6e";
+      };
+    }
+    {
+      name = "_sentry_browser___browser_5.10.2.tgz";
+      path = fetchurl {
+        name = "_sentry_browser___browser_5.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.10.2.tgz";
+        sha1 = "0bbb05505c58ea998c833cffec3f922fe4b4fa58";
+      };
+    }
+    {
+      name = "_sentry_core___core_5.10.2.tgz";
+      path = fetchurl {
+        name = "_sentry_core___core_5.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.10.2.tgz";
+        sha1 = "1cb64489e6f8363c3249415b49d3f1289814825f";
+      };
+    }
+    {
+      name = "_sentry_hub___hub_5.10.2.tgz";
+      path = fetchurl {
+        name = "_sentry_hub___hub_5.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.10.2.tgz";
+        sha1 = "25d9f36b8f7c5cb65cf486737fa61dc9bf69b7e3";
+      };
+    }
+    {
+      name = "_sentry_minimal___minimal_5.10.2.tgz";
+      path = fetchurl {
+        name = "_sentry_minimal___minimal_5.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.10.2.tgz";
+        sha1 = "267c2f3aa6877a0fe7a86971942e83f3ee616580";
+      };
+    }
+    {
+      name = "_sentry_types___types_5.10.0.tgz";
+      path = fetchurl {
+        name = "_sentry_types___types_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.10.0.tgz";
+        sha1 = "4f0ba31b6e4d5371112c38279f11f66c73b43746";
+      };
+    }
+    {
+      name = "_sentry_utils___utils_5.10.2.tgz";
+      path = fetchurl {
+        name = "_sentry_utils___utils_5.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.10.2.tgz";
+        sha1 = "261f575079d30aaf604e59f5f4de0aa21db22252";
+      };
+    }
+    {
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.14.tgz";
+      path = fetchurl {
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.14.tgz";
+        sha1 = "e12b08371dc37bf4a468450b008c6e167705e1a8";
+      };
+    }
+    {
+      name = "_types_anymatch___anymatch_1.3.0.tgz";
+      path = fetchurl {
+        name = "_types_anymatch___anymatch_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.0.tgz";
+        sha1 = "d1d55958d1fccc5527d4aba29fc9c4b942f563ff";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz";
+        sha1 = "608c74f55928033fce18b99b213c16be4b3d114f";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz";
+        sha1 = "d2112a6b21fad600d7674274293c85dce0cb47fc";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.6.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz";
+        sha1 = "328dd1a8fc4cfe3c8458be9477b219ea158fd7b2";
+      };
+    }
+    {
+      name = "_types_events___events_1.2.0.tgz";
+      path = fetchurl {
+        name = "_types_events___events_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz";
+        sha1 = "81a6731ce4df43619e5c8c945383b3e62a89ea86";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.1.tgz";
+      path = fetchurl {
+        name = "_types_glob___glob_7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz";
+        sha1 = "aa59a1c6e3fbc421e07ccd31a944c30eba521575";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha1 = "7a8cbf6a406f36c8add871625b278eaf0b0d255a";
+      };
+    }
+    {
+      name = "_types_minimatch___minimatch_3.0.3.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
+      };
+    }
+    {
+      name = "_types_node___node_10.12.9.tgz";
+      path = fetchurl {
+        name = "_types_node___node_10.12.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-10.12.9.tgz";
+        sha1 = "a07bfa74331471e1dc22a47eb72026843f7b95c8";
+      };
+    }
+    {
+      name = "_types_parse5___parse5_5.0.0.tgz";
+      path = fetchurl {
+        name = "_types_parse5___parse5_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.0.tgz";
+        sha1 = "9ae2106efc443d7c1e26570aa8247828c9c80f11";
+      };
+    }
+    {
+      name = "_types_semver___semver_5.5.0.tgz";
+      path = fetchurl {
+        name = "_types_semver___semver_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz";
+        sha1 = "146c2a29ee7d3bae4bf2fcb274636e264c813c45";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+      };
+    }
+    {
+      name = "_types_tapable___tapable_1.0.4.tgz";
+      path = fetchurl {
+        name = "_types_tapable___tapable_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz";
+        sha1 = "b4ffc7dc97b498c969b360a41eee247f82616370";
+      };
+    }
+    {
+      name = "_types_uglify_js___uglify_js_3.0.4.tgz";
+      path = fetchurl {
+        name = "_types_uglify_js___uglify_js_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz";
+        sha1 = "96beae23df6f561862a830b4288a49e86baac082";
+      };
+    }
+    {
+      name = "_types_unist___unist_2.0.3.tgz";
+      path = fetchurl {
+        name = "_types_unist___unist_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz";
+        sha1 = "9c088679876f374eb5983f150d4787aa6fb32d7e";
+      };
+    }
+    {
+      name = "_types_vfile_message___vfile_message_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_vfile_message___vfile_message_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz";
+        sha1 = "e1e9895cc6b36c462d4244e64e6d0b6eaf65355a";
+      };
+    }
+    {
+      name = "_types_vfile___vfile_3.0.2.tgz";
+      path = fetchurl {
+        name = "_types_vfile___vfile_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz";
+        sha1 = "19c18cd232df11ce6fa6ad80259bc86c366b09b9";
+      };
+    }
+    {
+      name = "_types_webpack___webpack_4.4.23.tgz";
+      path = fetchurl {
+        name = "_types_webpack___webpack_4.4.23.tgz";
+        url  = "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.23.tgz";
+        sha1 = "059d6f4598cfd65ddee0e2db38317ef989696712";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_12.0.12.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_12.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz";
+        sha1 = "45dd1d0638e8c8f153e87d296907659296873916";
+      };
+    }
+    {
+      name = "_types_zen_observable___zen_observable_0.8.0.tgz";
+      path = fetchurl {
+        name = "_types_zen_observable___zen_observable_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz";
+        sha1 = "8b63ab7f1aa5321248aad5ac890a485656dcea4d";
+      };
+    }
+    {
+      name = "_vue_component_compiler_utils___component_compiler_utils_2.6.0.tgz";
+      path = fetchurl {
+        name = "_vue_component_compiler_utils___component_compiler_utils_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz";
+        sha1 = "aa46d2a6f7647440b0b8932434d22f12371e543b";
+      };
+    }
+    {
+      name = "_vue_component_compiler_utils___component_compiler_utils_3.0.0.tgz";
+      path = fetchurl {
+        name = "_vue_component_compiler_utils___component_compiler_utils_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz";
+        sha1 = "d16fa26b836c06df5baaeb45f3d80afc47e35634";
+      };
+    }
+    {
+      name = "_vue_test_utils___test_utils_1.0.0_beta.25.tgz";
+      path = fetchurl {
+        name = "_vue_test_utils___test_utils_1.0.0_beta.25.tgz";
+        url  = "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.25.tgz";
+        sha1 = "4703076de3076bac42cdd242cd53e6fb8752ed8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha1 = "51b1c5fe6576a34953bf4b253df9f0d490d9e359";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha1 = "1ba926a2923613edce496fd5b02e8ce8a5f49721";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha1 = "c49dad22f645227c5edb610bdb9697f1aab721f7";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha1 = "fea93e429863dd5e4338555f42292385a653f204";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha1 = "9a740ff48e3faa3022b1dff54423df9aa293c25e";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha1 = "ba0b7d3b3f7e4733da6059c9332275d860702452";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha1 = "def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha1 = "537a750eddf5c1e932f3744206551c91c1b93e61";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha1 = "74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha1 = "712329dbef240f36bf57bd2f7b8fb9bf4154421e";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha1 = "044edeb34ea679f3e04cd4fd9824d5e35767ae10";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha1 = "a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha1 = "962da12aa5acc1c131c81c4232991c82ce56e01a";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha1 = "54840766c2c1002eb64ed1abe720aded714f98bc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha1 = "b24d9f6ba50394af1349f510afa8ffcb8a63d264";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha1 = "21576f0ec88b91427357b8536383668ef7c66b8d";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha1 = "e10eecd542d0e7bd394f6827c49f3df6d4eefb8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha1 = "114bbc481fd10ca0e23b3560fa812748b0bae5bc";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "_yarnpkg_lockfile___lockfile_1.1.0.tgz";
+      path = fetchurl {
+        name = "_yarnpkg_lockfile___lockfile_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz";
+        sha1 = "e77a97fbd345b76d83245edcd17d393b1b41fb31";
+      };
+    }
+    {
+      name = "abab___abab_2.0.0.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz";
+        sha1 = "aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.0.9.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz";
+        sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_4.3.0.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz";
+        sha1 = "e3b6f8da3c1552a95ae627571f7dd6923bb54103";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.0.1.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz";
+        sha1 = "32a064fd925429216a09b141102bfdd185fae40e";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_6.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha1 = "123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz";
+        sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e";
+      };
+    }
+    {
+      name = "after___after_0.8.2.tgz";
+      path = fetchurl {
+        name = "after___after_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz";
+        sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.0.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz";
+        sha1 = "ecf021fa108fd17dfb5e6b383f2dd233e31ffc59";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+      };
+    }
+    {
+      name = "ajv___ajv_6.10.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
+        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+      };
+    }
+    {
+      name = "amdefine___amdefine_1.0.1.tgz";
+      path = fetchurl {
+        name = "amdefine___amdefine_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    }
+    {
+      name = "ansi_align___ansi_align_2.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_align___ansi_align_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
+      };
+    }
+    {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "anymatch___anymatch_3.0.3.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz";
+        sha1 = "2fb624fe0e84bccab00afee3d0006ed310f22f09";
+      };
+    }
+    {
+      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
+      path = fetchurl {
+        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.3.2.tgz";
+      path = fetchurl {
+        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.6.4.tgz";
+      path = fetchurl {
+        name = "apollo_client___apollo_client_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.4.tgz";
+        sha1 = "872c32927263a0d34655c5ef8a8949fbb20b6140";
+      };
+    }
+    {
+      name = "apollo_link_batch_http___apollo_link_batch_http_1.2.11.tgz";
+      path = fetchurl {
+        name = "apollo_link_batch_http___apollo_link_batch_http_1.2.11.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link-batch-http/-/apollo-link-batch-http-1.2.11.tgz";
+        sha1 = "ae42dbcc02820658e1e267d05bf2aae7ac208088";
+      };
+    }
+    {
+      name = "apollo_link_batch___apollo_link_batch_1.1.12.tgz";
+      path = fetchurl {
+        name = "apollo_link_batch___apollo_link_batch_1.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link-batch/-/apollo-link-batch-1.1.12.tgz";
+        sha1 = "64eb231082f182b0395ef7ab903600627f6c7fe8";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.13.tgz";
+        sha1 = "c688f6baaffdc7b269b2db7ae89dae7c58b5b350";
+      };
+    }
+    {
+      name = "apollo_link___apollo_link_1.2.11.tgz";
+      path = fetchurl {
+        name = "apollo_link___apollo_link_1.2.11.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.11.tgz";
+        sha1 = "493293b747ad3237114ccd22e9f559e5e24a194d";
+      };
+    }
+    {
+      name = "apollo_upload_client___apollo_upload_client_10.0.0.tgz";
+      path = fetchurl {
+        name = "apollo_upload_client___apollo_upload_client_10.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-10.0.0.tgz";
+        sha1 = "6cc3d0ea2aef40bc237b655f5042809cacee1859";
+      };
+    }
+    {
+      name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+      path = fetchurl {
+        name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
+        sha1 = "8cbdcf8b012f664cd6cb5767f6130f5aed9115c9";
+      };
+    }
+    {
+      name = "append_transform___append_transform_1.0.0.tgz";
+      path = fetchurl {
+        name = "append_transform___append_transform_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz";
+        sha1 = "046a52ae582a228bd72f58acfbe2967c678759ab";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_equal___array_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_equal___array_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    }
+    {
+      name = "array_find_index___array_find_index_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_find_index___array_find_index_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz";
+        sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
+      };
+    }
+    {
+      name = "array_find___array_find_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_find___array_find_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz";
+        sha1 = "6c8e286d11ed768327f8e62ecee87353ca3e78b8";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_2.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz";
+        sha1 = "426bb9da84090c1838d812c8150af20a8331e296";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.0.3.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "arraybuffer.slice___arraybuffer.slice_0.0.7.tgz";
+      path = fetchurl {
+        name = "arraybuffer.slice___arraybuffer.slice_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz";
+        sha1 = "3bbc4275dd584cc1b10809b89d4e8b63a69e7675";
+      };
+    }
+    {
+      name = "arrify___arrify_1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_4.10.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "assert___assert_1.4.1.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+    {
+      name = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_foreach___async_foreach_0.1.3.tgz";
+      path = fetchurl {
+        name = "async_foreach___async_foreach_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz";
+        sha1 = "36121f845c0578172de419a97dbeb1d16ec34542";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.0.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz";
+        sha1 = "78faed8c3d074ab81f22b4e985d79e8738f720f8";
+      };
+    }
+    {
+      name = "async___async_1.5.2.tgz";
+      path = fetchurl {
+        name = "async___async_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    }
+    {
+      name = "async___async_2.6.3.tgz";
+      path = fetchurl {
+        name = "async___async_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
+        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "at.js___at.js_1.5.4.tgz";
+      path = fetchurl {
+        name = "at.js___at.js_1.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/at.js/-/at.js-1.5.4.tgz";
+        sha1 = "8fc60cc80eadbe4874449b166a818e7ae1d784c1";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "autoprefixer___autoprefixer_9.6.1.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz";
+        sha1 = "51967a02d2d2300bb01866c1611ec8348d355a47";
+      };
+    }
+    {
+      name = "autosize___autosize_4.0.0.tgz";
+      path = fetchurl {
+        name = "autosize___autosize_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/autosize/-/autosize-4.0.0.tgz";
+        sha1 = "7a0599b1ba84d73bd7589b0d9da3870152c69237";
+      };
+    }
+    {
+      name = "aws_sdk___aws_sdk_2.526.0.tgz";
+      path = fetchurl {
+        name = "aws_sdk___aws_sdk_2.526.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.526.0.tgz";
+        sha1 = "e0f899be59edb7d50eb8cca7978bcd401a5d48c2";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.8.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
+        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+      };
+    }
+    {
+      name = "axios_mock_adapter___axios_mock_adapter_1.15.0.tgz";
+      path = fetchurl {
+        name = "axios_mock_adapter___axios_mock_adapter_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.15.0.tgz";
+        sha1 = "fbc06825d8302c95c3334d21023bba996255d45d";
+      };
+    }
+    {
+      name = "axios___axios_0.19.0.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz";
+        sha1 = "8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_eslint___babel_eslint_10.0.1.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz";
+        sha1 = "919681dc099614cd7d31d45c8908695092a1faed";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_24.8.0.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz";
+        sha1 = "5c15ff2b28e20b0f45df43fe6b7f2aae93dba589";
+      };
+    }
+    {
+      name = "babel_loader___babel_loader_8.0.6.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz";
+        sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb";
+      };
+    }
+    {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
+        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+      };
+    }
+    {
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_5.1.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz";
+        sha1 = "6892f529eff65a3e2d33d87dc5888ffa2ecd4a30";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.6.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz";
+        sha1 = "f7f7f7ad150ee96d7a5e8e2c5da8319579e78019";
+      };
+    }
+    {
+      name = "babel_plugin_rewire___babel_plugin_rewire_1.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_rewire___babel_plugin_rewire_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-rewire/-/babel-plugin-rewire-1.2.0.tgz";
+        sha1 = "822562d72ed2c84e47c0f95ee232c920853e9d89";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_24.6.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_24.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz";
+        sha1 = "66f06136eefce87797539c0d63f1769cc3915984";
+      };
+    }
+    {
+      name = "babylon___babylon_7.0.0_beta.19.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_7.0.0_beta.19.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz";
+        sha1 = "e928c7e807e970e0536b078ab3e0c48f9e052503";
+      };
+    }
+    {
+      name = "backo2___backo2_1.0.2.tgz";
+      path = fetchurl {
+        name = "backo2___backo2_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz";
+        sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+      };
+    }
+    {
+      name = "bail___bail_1.0.3.tgz";
+      path = fetchurl {
+        name = "bail___bail_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/bail/-/bail-1.0.3.tgz";
+        sha1 = "63cfb9ddbac829b02a3128cd53224be78e6c21a3";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz";
+      path = fetchurl {
+        name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz";
+        sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.2.3.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz";
+        sha1 = "fb13668233d9614cf5fb4bce95a9ba4096cdf801";
+      };
+    }
+    {
+      name = "base64id___base64id_1.0.0.tgz";
+      path = fetchurl {
+        name = "base64id___base64id_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz";
+        sha1 = "47688cb99bb6804f0e06d3e763b1c32e57d8e6b6";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "better_assert___better_assert_1.0.2.tgz";
+      path = fetchurl {
+        name = "better_assert___better_assert_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz";
+        sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+      };
+    }
+    {
+      name = "bfj___bfj_6.1.1.tgz";
+      path = fetchurl {
+        name = "bfj___bfj_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz";
+        sha1 = "05a3b7784fbd72cfa3c22e56002ef99336516c48";
+      };
+    }
+    {
+      name = "big.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.11.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz";
+        sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz";
+        sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c";
+      };
+    }
+    {
+      name = "binaryextensions___binaryextensions_2.1.1.tgz";
+      path = fetchurl {
+        name = "binaryextensions___binaryextensions_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.1.tgz";
+        sha1 = "3209a51ca4a4ad541a3b8d3d6a6d5b83a2485935";
+      };
+    }
+    {
+      name = "blob___blob_0.0.4.tgz";
+      path = fetchurl {
+        name = "blob___blob_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz";
+        sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921";
+      };
+    }
+    {
+      name = "block_stream___block_stream_0.0.9.tgz";
+      path = fetchurl {
+        name = "block_stream___block_stream_0.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.5.5.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz";
+        sha1 = "a8d0afd73251effbbd5fe384a77d73003c17a71f";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.8.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz";
+        sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "bootstrap_vue___bootstrap_vue_2.0.0_rc.27.tgz";
+      path = fetchurl {
+        name = "bootstrap_vue___bootstrap_vue_2.0.0_rc.27.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.0.0-rc.27.tgz";
+        sha1 = "884a46a71948d13c9729134cb564467f79a7b2b9";
+      };
+    }
+    {
+      name = "bootstrap___bootstrap_4.3.1.tgz";
+      path = fetchurl {
+        name = "bootstrap___bootstrap_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz";
+        sha1 = "280ca8f610504d99d7b6b4bfc4b68cec601704ac";
+      };
+    }
+    {
+      name = "boxen___boxen_1.3.0.tgz";
+      path = fetchurl {
+        name = "boxen___boxen_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz";
+        sha1 = "55c6c39a8ba58d9c61ad22cd877532deb665a20b";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
+      };
+    }
+    {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      path = fetchurl {
+        name = "browser_resolve___browser_resolve_1.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+      };
+    }
+    {
+      name = "browserify_aes___browserify_aes_1.1.1.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz";
+        sha1 = "38b7ab55edb806ff2dcda1a7f1620773a477c49f";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.0.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
+        sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.0.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz";
+        sha1 = "daa277717470922ed2fe18594118a175439721dd";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.0.4.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.6.6.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz";
+        sha1 = "6e4bf467cde520bc9dbdf3747dafa03531cec453";
+      };
+    }
+    {
+      name = "bs_logger___bs_logger_0.2.6.tgz";
+      path = fetchurl {
+        name = "bs_logger___bs_logger_0.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz";
+        sha1 = "eb7d365307a72cf974cc6cda76b68354ad336bd8";
+      };
+    }
+    {
+      name = "bser___bser_2.0.0.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz";
+        sha1 = "9ac78d3ed5d915804fd87acb158bc797147a1719";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+      };
+    }
+    {
+      name = "buffer_indexof___buffer_indexof_1.1.0.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.0.tgz";
+        sha1 = "f54f647c4f4e25228baa656a2e57e43d5f270982";
+      };
+    }
+    {
+      name = "buffer_json___buffer_json_2.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_json___buffer_json_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz";
+        sha1 = "f73e13b1e42f196fe2fd67d001c7d7107edd7c23";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cacache___cacache_11.3.3.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_11.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz";
+        sha1 = "8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc";
+      };
+    }
+    {
+      name = "cacache___cacache_12.0.3.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_12.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz";
+        sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "cache_loader___cache_loader_4.1.0.tgz";
+      path = fetchurl {
+        name = "cache_loader___cache_loader_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz";
+        sha1 = "9948cae353aec0a1fcb1eafda2300816ec85387e";
+      };
+    }
+    {
+      name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+      path = fetchurl {
+        name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz";
+        sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsite___callsite_1.0.0.tgz";
+      path = fetchurl {
+        name = "callsite___callsite_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz";
+        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+      };
+    }
+    {
+      name = "callsites___callsites_0.2.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz";
+        sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      name = "callsites___callsites_3.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz";
+        sha1 = "fb7eb569b72ad7a45812f93fd9430a3e410b3dd3";
+      };
+    }
+    {
+      name = "camel_case___camel_case_3.0.0.tgz";
+      path = fetchurl {
+        name = "camel_case___camel_case_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    }
+    {
+      name = "camelcase_keys___camelcase_keys_2.1.0.tgz";
+      path = fetchurl {
+        name = "camelcase_keys___camelcase_keys_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
+        sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
+      };
+    }
+    {
+      name = "camelcase_keys___camelcase_keys_4.2.0.tgz";
+      path = fetchurl {
+        name = "camelcase_keys___camelcase_keys_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz";
+        sha1 = "a2aa5fb1af688758259c32c141426d78923b9b77";
+      };
+    }
+    {
+      name = "camelcase___camelcase_2.1.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz";
+        sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+      };
+    }
+    {
+      name = "camelcase___camelcase_3.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz";
+        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+      };
+    }
+    {
+      name = "camelcase___camelcase_4.1.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30000985.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000985.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz";
+        sha1 = "0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "capture_stack_trace___capture_stack_trace_1.0.0.tgz";
+      path = fetchurl {
+        name = "capture_stack_trace___capture_stack_trace_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
+        sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "catharsis___catharsis_0.8.9.tgz";
+      path = fetchurl {
+        name = "catharsis___catharsis_0.8.9.tgz";
+        url  = "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz";
+        sha1 = "98cc890ca652dd2ef0e70b37925310ff9e90fc8b";
+      };
+    }
+    {
+      name = "ccount___ccount_1.0.3.tgz";
+      path = fetchurl {
+        name = "ccount___ccount_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz";
+        sha1 = "f1cec43f332e2ea5a569fd46f9f5bde4e6102aff";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "character_entities_html4___character_entities_html4_1.1.2.tgz";
+      path = fetchurl {
+        name = "character_entities_html4___character_entities_html4_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz";
+        sha1 = "c44fdde3ce66b52e8d321d6c1bf46101f0150610";
+      };
+    }
+    {
+      name = "character_entities_legacy___character_entities_legacy_1.1.2.tgz";
+      path = fetchurl {
+        name = "character_entities_legacy___character_entities_legacy_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz";
+        sha1 = "7c6defb81648498222c9855309953d05f4d63a9c";
+      };
+    }
+    {
+      name = "character_entities___character_entities_1.2.2.tgz";
+      path = fetchurl {
+        name = "character_entities___character_entities_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.2.tgz";
+        sha1 = "58c8f371c0774ef0ba9b2aca5f00d8f100e6e363";
+      };
+    }
+    {
+      name = "character_reference_invalid___character_reference_invalid_1.1.2.tgz";
+      path = fetchurl {
+        name = "character_reference_invalid___character_reference_invalid_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz";
+        sha1 = "21e421ad3d84055952dab4a43a04e73cd425d3ed";
+      };
+    }
+    {
+      name = "chardet___chardet_0.5.0.tgz";
+      path = fetchurl {
+        name = "chardet___chardet_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz";
+        sha1 = "fe3ac73c00c3d865ffcc02a0682e2c20b6a06029";
+      };
+    }
+    {
+      name = "charenc___charenc_0.0.2.tgz";
+      path = fetchurl {
+        name = "charenc___charenc_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    }
+    {
+      name = "chart.js___chart.js_2.7.2.tgz";
+      path = fetchurl {
+        name = "chart.js___chart.js_2.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.2.tgz";
+        sha1 = "3c9fde4dc5b95608211bdefeda7e5d33dffa5714";
+      };
+    }
+    {
+      name = "chartjs_color_string___chartjs_color_string_0.5.0.tgz";
+      path = fetchurl {
+        name = "chartjs_color_string___chartjs_color_string_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz";
+        sha1 = "8d3752d8581d86687c35bfe2cb80ac5213ceb8c1";
+      };
+    }
+    {
+      name = "chartjs_color___chartjs_color_2.2.0.tgz";
+      path = fetchurl {
+        name = "chartjs_color___chartjs_color_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.2.0.tgz";
+        sha1 = "84a2fb755787ed85c39dd6dd8c7b1d88429baeae";
+      };
+    }
+    {
+      name = "check_types___check_types_7.3.0.tgz";
+      path = fetchurl {
+        name = "check_types___check_types_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/check-types/-/check-types-7.3.0.tgz";
+        sha1 = "468f571a4435c24248f5fd0cb0e8d87c3c341e7d";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.0.2.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz";
+        sha1 = "0d1cd6d04eb2df0327446188cd13736a3367d681";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.1.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz";
+        sha1 = "54726b8b8fff4df053c42187e801fb4412df1494";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      name = "ci_info___ci_info_1.6.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz";
+        sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "circular_json___circular_json_0.3.3.tgz";
+      path = fetchurl {
+        name = "circular_json___circular_json_0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz";
+        sha1 = "815c99ea84f6809529d2f45791bdf82711352d66";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "classlist_polyfill___classlist_polyfill_1.2.0.tgz";
+      path = fetchurl {
+        name = "classlist_polyfill___classlist_polyfill_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz";
+        sha1 = "935bc2dfd9458a876b279617514638bcaa964a2e";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.1.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz";
+        sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17";
+      };
+    }
+    {
+      name = "cli_boxes___cli_boxes_1.0.0.tgz";
+      path = fetchurl {
+        name = "cli_boxes___cli_boxes_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz";
+        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz";
+        sha1 = "b234ca209b29ef66fc518d9b98d5847b00edf00a";
+      };
+    }
+    {
+      name = "clipboard___clipboard_1.7.1.tgz";
+      path = fetchurl {
+        name = "clipboard___clipboard_1.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/clipboard/-/clipboard-1.7.1.tgz";
+        sha1 = "360d6d6946e99a7a1fef395e42ba92b5e9b5a16b";
+      };
+    }
+    {
+      name = "cliui___cliui_3.2.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    }
+    {
+      name = "cliui___cliui_4.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
+        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      name = "clone_regexp___clone_regexp_2.2.0.tgz";
+      path = fetchurl {
+        name = "clone_regexp___clone_regexp_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz";
+        sha1 = "7d65e00885cd8796405c35a737e7a86b7429e36f";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "codesandbox_api___codesandbox_api_0.0.20.tgz";
+      path = fetchurl {
+        name = "codesandbox_api___codesandbox_api_0.0.20.tgz";
+        url  = "https://registry.yarnpkg.com/codesandbox-api/-/codesandbox-api-0.0.20.tgz";
+        sha1 = "174bcd76c9f31521175c6bceabc37da6b1fbc30b";
+      };
+    }
+    {
+      name = "codesandbox_import_util_types___codesandbox_import_util_types_1.2.11.tgz";
+      path = fetchurl {
+        name = "codesandbox_import_util_types___codesandbox_import_util_types_1.2.11.tgz";
+        url  = "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-1.2.11.tgz";
+        sha1 = "68e812f21d6b309e9a52eec5cf027c3e63b4c703";
+      };
+    }
+    {
+      name = "codesandbox_import_utils___codesandbox_import_utils_1.2.11.tgz";
+      path = fetchurl {
+        name = "codesandbox_import_utils___codesandbox_import_utils_1.2.11.tgz";
+        url  = "https://registry.yarnpkg.com/codesandbox-import-utils/-/codesandbox-import-utils-1.2.11.tgz";
+        sha1 = "b88423a4a7c785175c784c84e87f5950820280e1";
+      };
+    }
+    {
+      name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+      path = fetchurl {
+        name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz";
+        sha1 = "c2495b699ab1ed380d29a1091e01063e75dbbe3a";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_0.5.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz";
+        sha1 = "bdb6c69ce660fadffe0b0007cc447e1b9f7282bd";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "colors___colors_1.3.3.tgz";
+      path = fetchurl {
+        name = "colors___colors_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz";
+        sha1 = "39e005d546afe01e01f9c4ca8fa50f686a01205d";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.7.tgz";
+      path = fetchurl {
+        name = "combined_stream___combined_stream_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz";
+        sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828";
+      };
+    }
+    {
+      name = "commander___commander_2.20.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
+        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
+      };
+    }
+    {
+      name = "commander___commander_2.9.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "compare_versions___compare_versions_3.5.1.tgz";
+      path = fetchurl {
+        name = "compare_versions___compare_versions_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.1.tgz";
+        sha1 = "26e1f5cf0d48a77eced5046b9f67b6b61075a393";
+      };
+    }
+    {
+      name = "component_bind___component_bind_1.0.0.tgz";
+      path = fetchurl {
+        name = "component_bind___component_bind_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz";
+        sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.2.1.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz";
+        sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
+      };
+    }
+    {
+      name = "component_inherit___component_inherit_0.0.3.tgz";
+      path = fetchurl {
+        name = "component_inherit___component_inherit_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz";
+        sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.17.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz";
+        sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1";
+      };
+    }
+    {
+      name = "compression_webpack_plugin___compression_webpack_plugin_3.0.0.tgz";
+      path = fetchurl {
+        name = "compression_webpack_plugin___compression_webpack_plugin_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-3.0.0.tgz";
+        sha1 = "097d2e4d95c3a14cb5c8ed20899009ab5b9bbca0";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "config_chain___config_chain_1.1.12.tgz";
+      path = fetchurl {
+        name = "config_chain___config_chain_1.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz";
+        sha1 = "0fde8d091200eb5e808caf25fe618c02f48e4efa";
+      };
+    }
+    {
+      name = "configstore___configstore_3.1.1.tgz";
+      path = fetchurl {
+        name = "configstore___configstore_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz";
+        sha1 = "094ee662ab83fad9917678de114faaea8fcdca90";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "connect___connect_3.6.6.tgz";
+      path = fetchurl {
+        name = "connect___connect_3.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz";
+        sha1 = "09eff6c55af7236e137135a72574858b6786f524";
+      };
+    }
+    {
+      name = "consola___consola_2.9.0.tgz";
+      path = fetchurl {
+        name = "consola___consola_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/consola/-/consola-2.9.0.tgz";
+        sha1 = "57760e3a65a53ec27337f4add31505802d902278";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "consolidate___consolidate_0.15.1.tgz";
+      path = fetchurl {
+        name = "consolidate___consolidate_0.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz";
+        sha1 = "21ab043235c71a07d45d9aad98593b0dba56bab7";
+      };
+    }
+    {
+      name = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.6.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.3.1.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz";
+        sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      path = fetchurl {
+        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "copy_to_clipboard___copy_to_clipboard_3.0.8.tgz";
+      path = fetchurl {
+        name = "copy_to_clipboard___copy_to_clipboard_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz";
+        sha1 = "f4e82f4a8830dce4666b7eb8ded0c9bcc313aba9";
+      };
+    }
+    {
+      name = "copy_webpack_plugin___copy_webpack_plugin_5.0.4.tgz";
+      path = fetchurl {
+        name = "copy_webpack_plugin___copy_webpack_plugin_5.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz";
+        sha1 = "c78126f604e24f194c6ec2f43a64e232b5d43655";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.1.4.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz";
+        sha1 = "e4d0c40fbd01e65b1d457980fe4112d4358a7408";
+      };
+    }
+    {
+      name = "core_js_pure___core_js_pure_3.1.4.tgz";
+      path = fetchurl {
+        name = "core_js_pure___core_js_pure_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz";
+        sha1 = "5fa17dc77002a169a3566cc48dc774d2e13e3769";
+      };
+    }
+    {
+      name = "core_js___core_js_3.2.1.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz";
+        sha1 = "cd41f38534da6cc59f7db050fe67307de9868b09";
+      };
+    }
+    {
+      name = "core_js___core_js_2.3.0.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.3.0.tgz";
+        sha1 = "fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.0.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz";
+        sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
+      };
+    }
+    {
+      name = "create_error_class___create_error_class_3.0.2.tgz";
+      path = fetchurl {
+        name = "create_error_class___create_error_class_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz";
+        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.1.3.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz";
+        sha1 = "606042ac8b9262750f483caddab0f5819172d8fd";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.6.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz";
+        sha1 = "acb9e221a4e17bdb076e90657c42b93e3726cf06";
+      };
+    }
+    {
+      name = "cropper___cropper_2.3.0.tgz";
+      path = fetchurl {
+        name = "cropper___cropper_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/cropper/-/cropper-2.3.0.tgz";
+        sha1 = "607461d4e7aa7a7fe15a26834b14b7f0c2801562";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_3.0.1.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz";
+        sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_5.1.0.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+      };
+    }
+    {
+      name = "crypt___crypt_0.0.2.tgz";
+      path = fetchurl {
+        name = "crypt___crypt_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    }
+    {
+      name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
+      path = fetchurl {
+        name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
+        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz";
+        sha1 = "42005d83204b2b4a5d93b6b1a5644133b5927a02";
+      };
+    }
+    {
+      name = "css_loader___css_loader_1.0.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz";
+        sha1 = "6885bb5233b35ec47b006057da01cc640b6b79fe";
+      };
+    }
+    {
+      name = "css_selector_parser___css_selector_parser_1.3.0.tgz";
+      path = fetchurl {
+        name = "css_selector_parser___css_selector_parser_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz";
+        sha1 = "5f1ad43e2d8eefbfdc304fcd39a521664943e3eb";
+      };
+    }
+    {
+      name = "css_selector_tokenizer___css_selector_tokenizer_0.7.1.tgz";
+      path = fetchurl {
+        name = "css_selector_tokenizer___css_selector_tokenizer_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz";
+        sha1 = "a177271a8bca5019172f4f891fc6eed9cbf68d5d";
+      };
+    }
+    {
+      name = "css___css_2.2.4.tgz";
+      path = fetchurl {
+        name = "css___css_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz";
+        sha1 = "c646755c73971f2bba6a601e2cf2fd71b1298929";
+      };
+    }
+    {
+      name = "cssesc___cssesc_0.1.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz";
+        sha1 = "c814903e45623371a0477b40109aaafbeeaddbb4";
+      };
+    }
+    {
+      name = "cssesc___cssesc_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
+        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz";
+        sha1 = "8cd52e8a3acfd68d3aed38ee0a640177d2f9d797";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_1.1.1.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz";
+        sha1 = "18b038a9c44d65f7a8e428a653b9f6fe42faf5fb";
+      };
+    }
+    {
+      name = "currently_unhandled___currently_unhandled_0.4.1.tgz";
+      path = fetchurl {
+        name = "currently_unhandled___currently_unhandled_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+        sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+      };
+    }
+    {
+      name = "custom_event___custom_event_1.0.1.tgz";
+      path = fetchurl {
+        name = "custom_event___custom_event_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz";
+        sha1 = "5d02a46850adf1b4a317946a3928fccb5bfd0425";
+      };
+    }
+    {
+      name = "custom_jquery_matchers___custom_jquery_matchers_2.1.0.tgz";
+      path = fetchurl {
+        name = "custom_jquery_matchers___custom_jquery_matchers_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/custom-jquery-matchers/-/custom-jquery-matchers-2.1.0.tgz";
+        sha1 = "e5988fa9715c416b0986b372563f872d9e91e024";
+      };
+    }
+    {
+      name = "cyclist___cyclist_0.2.2.tgz";
+      path = fetchurl {
+        name = "cyclist___cyclist_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz";
+        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
+      };
+    }
+    {
+      name = "d3_array___d3_array_1.2.1.tgz";
+      path = fetchurl {
+        name = "d3_array___d3_array_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz";
+        sha1 = "d1ca33de2f6ac31efadb8e050a021d7e2396d5dc";
+      };
+    }
+    {
+      name = "d3_axis___d3_axis_1.0.8.tgz";
+      path = fetchurl {
+        name = "d3_axis___d3_axis_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz";
+        sha1 = "31a705a0b535e65759de14173a31933137f18efa";
+      };
+    }
+    {
+      name = "d3_brush___d3_brush_1.0.4.tgz";
+      path = fetchurl {
+        name = "d3_brush___d3_brush_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz";
+        sha1 = "00c2f238019f24f6c0a194a26d41a1530ffe7bc4";
+      };
+    }
+    {
+      name = "d3_chord___d3_chord_1.0.4.tgz";
+      path = fetchurl {
+        name = "d3_chord___d3_chord_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz";
+        sha1 = "7dec4f0ba886f713fe111c45f763414f6f74ca2c";
+      };
+    }
+    {
+      name = "d3_collection___d3_collection_1.0.4.tgz";
+      path = fetchurl {
+        name = "d3_collection___d3_collection_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz";
+        sha1 = "342dfd12837c90974f33f1cc0a785aea570dcdc2";
+      };
+    }
+    {
+      name = "d3_color___d3_color_1.0.3.tgz";
+      path = fetchurl {
+        name = "d3_color___d3_color_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz";
+        sha1 = "bc7643fca8e53a8347e2fbdaffa236796b58509b";
+      };
+    }
+    {
+      name = "d3_contour___d3_contour_1.3.2.tgz";
+      path = fetchurl {
+        name = "d3_contour___d3_contour_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz";
+        sha1 = "652aacd500d2264cb3423cee10db69f6f59bead3";
+      };
+    }
+    {
+      name = "d3_dispatch___d3_dispatch_1.0.3.tgz";
+      path = fetchurl {
+        name = "d3_dispatch___d3_dispatch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.3.tgz";
+        sha1 = "46e1491eaa9b58c358fce5be4e8bed626e7871f8";
+      };
+    }
+    {
+      name = "d3_drag___d3_drag_1.2.1.tgz";
+      path = fetchurl {
+        name = "d3_drag___d3_drag_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.1.tgz";
+        sha1 = "df8dd4c502fb490fc7462046a8ad98a5c479282d";
+      };
+    }
+    {
+      name = "d3_dsv___d3_dsv_1.0.8.tgz";
+      path = fetchurl {
+        name = "d3_dsv___d3_dsv_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz";
+        sha1 = "907e240d57b386618dc56468bacfe76bf19764ae";
+      };
+    }
+    {
+      name = "d3_ease___d3_ease_1.0.3.tgz";
+      path = fetchurl {
+        name = "d3_ease___d3_ease_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz";
+        sha1 = "68bfbc349338a380c44d8acc4fbc3304aa2d8c0e";
+      };
+    }
+    {
+      name = "d3_fetch___d3_fetch_1.1.2.tgz";
+      path = fetchurl {
+        name = "d3_fetch___d3_fetch_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz";
+        sha1 = "957c8fbc6d4480599ba191b1b2518bf86b3e1be2";
+      };
+    }
+    {
+      name = "d3_force___d3_force_1.1.0.tgz";
+      path = fetchurl {
+        name = "d3_force___d3_force_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.0.tgz";
+        sha1 = "cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3";
+      };
+    }
+    {
+      name = "d3_format___d3_format_1.2.2.tgz";
+      path = fetchurl {
+        name = "d3_format___d3_format_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz";
+        sha1 = "1a39c479c8a57fe5051b2e67a3bee27061a74e7a";
+      };
+    }
+    {
+      name = "d3_geo___d3_geo_1.9.1.tgz";
+      path = fetchurl {
+        name = "d3_geo___d3_geo_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.9.1.tgz";
+        sha1 = "157e3b0f917379d0f73bebfff3be537f49fa7356";
+      };
+    }
+    {
+      name = "d3_hierarchy___d3_hierarchy_1.1.5.tgz";
+      path = fetchurl {
+        name = "d3_hierarchy___d3_hierarchy_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz";
+        sha1 = "a1c845c42f84a206bcf1c01c01098ea4ddaa7a26";
+      };
+    }
+    {
+      name = "d3_interpolate___d3_interpolate_1.1.6.tgz";
+      path = fetchurl {
+        name = "d3_interpolate___d3_interpolate_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz";
+        sha1 = "2cf395ae2381804df08aa1bf766b7f97b5f68fb6";
+      };
+    }
+    {
+      name = "d3_path___d3_path_1.0.5.tgz";
+      path = fetchurl {
+        name = "d3_path___d3_path_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz";
+        sha1 = "241eb1849bd9e9e8021c0d0a799f8a0e8e441764";
+      };
+    }
+    {
+      name = "d3_polygon___d3_polygon_1.0.3.tgz";
+      path = fetchurl {
+        name = "d3_polygon___d3_polygon_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.3.tgz";
+        sha1 = "16888e9026460933f2b179652ad378224d382c62";
+      };
+    }
+    {
+      name = "d3_quadtree___d3_quadtree_1.0.3.tgz";
+      path = fetchurl {
+        name = "d3_quadtree___d3_quadtree_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.3.tgz";
+        sha1 = "ac7987e3e23fe805a990f28e1b50d38fcb822438";
+      };
+    }
+    {
+      name = "d3_queue___d3_queue_3.0.7.tgz";
+      path = fetchurl {
+        name = "d3_queue___d3_queue_3.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz";
+        sha1 = "c93a2e54b417c0959129d7d73f6cf7d4292e7618";
+      };
+    }
+    {
+      name = "d3_random___d3_random_1.1.0.tgz";
+      path = fetchurl {
+        name = "d3_random___d3_random_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.0.tgz";
+        sha1 = "6642e506c6fa3a648595d2b2469788a8d12529d3";
+      };
+    }
+    {
+      name = "d3_request___d3_request_1.0.6.tgz";
+      path = fetchurl {
+        name = "d3_request___d3_request_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz";
+        sha1 = "a1044a9ef4ec28c824171c9379fae6d79474b19f";
+      };
+    }
+    {
+      name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
+      path = fetchurl {
+        name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz";
+        sha1 = "dad4366f0edcb288f490128979c3c793583ed3c0";
+      };
+    }
+    {
+      name = "d3_scale___d3_scale_1.0.7.tgz";
+      path = fetchurl {
+        name = "d3_scale___d3_scale_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz";
+        sha1 = "fa90324b3ea8a776422bd0472afab0b252a0945d";
+      };
+    }
+    {
+      name = "d3_scale___d3_scale_2.2.2.tgz";
+      path = fetchurl {
+        name = "d3_scale___d3_scale_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz";
+        sha1 = "4e880e0b2745acaaddd3ede26a9e908a9e17b81f";
+      };
+    }
+    {
+      name = "d3_selection___d3_selection_1.3.0.tgz";
+      path = fetchurl {
+        name = "d3_selection___d3_selection_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.0.tgz";
+        sha1 = "d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d";
+      };
+    }
+    {
+      name = "d3_shape___d3_shape_1.2.0.tgz";
+      path = fetchurl {
+        name = "d3_shape___d3_shape_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz";
+        sha1 = "45d01538f064bafd05ea3d6d2cb748fd8c41f777";
+      };
+    }
+    {
+      name = "d3_time_format___d3_time_format_2.1.1.tgz";
+      path = fetchurl {
+        name = "d3_time_format___d3_time_format_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz";
+        sha1 = "85b7cdfbc9ffca187f14d3c456ffda268081bb31";
+      };
+    }
+    {
+      name = "d3_time___d3_time_1.0.8.tgz";
+      path = fetchurl {
+        name = "d3_time___d3_time_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz";
+        sha1 = "dbd2d6007bf416fe67a76d17947b784bffea1e84";
+      };
+    }
+    {
+      name = "d3_timer___d3_timer_1.0.7.tgz";
+      path = fetchurl {
+        name = "d3_timer___d3_timer_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz";
+        sha1 = "df9650ca587f6c96607ff4e60cc38229e8dd8531";
+      };
+    }
+    {
+      name = "d3_transition___d3_transition_1.1.1.tgz";
+      path = fetchurl {
+        name = "d3_transition___d3_transition_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.1.tgz";
+        sha1 = "d8ef89c3b848735b060e54a39b32aaebaa421039";
+      };
+    }
+    {
+      name = "d3_voronoi___d3_voronoi_1.1.2.tgz";
+      path = fetchurl {
+        name = "d3_voronoi___d3_voronoi_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz";
+        sha1 = "1687667e8f13a2d158c80c1480c5a29cb0d8973c";
+      };
+    }
+    {
+      name = "d3_zoom___d3_zoom_1.7.1.tgz";
+      path = fetchurl {
+        name = "d3_zoom___d3_zoom_1.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.1.tgz";
+        sha1 = "02f43b3c3e2db54f364582d7e4a236ccc5506b63";
+      };
+    }
+    {
+      name = "d3___d3_4.13.0.tgz";
+      path = fetchurl {
+        name = "d3___d3_4.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-4.13.0.tgz";
+        sha1 = "ab236ff8cf0cfc27a81e69bf2fb7518bc9b4f33d";
+      };
+    }
+    {
+      name = "d3___d3_5.12.0.tgz";
+      path = fetchurl {
+        name = "d3___d3_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz";
+        sha1 = "0ddeac879c28c882317cd439b495290acd59ab61";
+      };
+    }
+    {
+      name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
+      path = fetchurl {
+        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___dagre_0.8.4.tgz";
+      path = fetchurl {
+        name = "dagre___dagre_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/dagre/-/dagre-0.8.4.tgz";
+        sha1 = "26b9fb8f7bdc60c6110a0458c375261836786061";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_1.1.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
+        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+      };
+    }
+    {
+      name = "date_format___date_format_2.1.0.tgz";
+      path = fetchurl {
+        name = "date_format___date_format_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz";
+        sha1 = "31d5b5ea211cf5fd764cd38baf9d033df7e125cf";
+      };
+    }
+    {
+      name = "date_now___date_now_0.1.4.tgz";
+      path = fetchurl {
+        name = "date_now___date_now_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+    {
+      name = "dateformat___dateformat_3.0.3.tgz";
+      path = fetchurl {
+        name = "dateformat___dateformat_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz";
+        sha1 = "a6e37499a4d9a9cf85ef5872044d62901c9889ae";
+      };
+    }
+    {
+      name = "de_indent___de_indent_1.0.2.tgz";
+      path = fetchurl {
+        name = "de_indent___de_indent_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "debug___debug_3.1.0.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
+        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      name = "debug___debug_4.1.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
+        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+      };
+    }
+    {
+      name = "decamelize_keys___decamelize_keys_1.1.0.tgz";
+      path = fetchurl {
+        name = "decamelize_keys___decamelize_keys_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz";
+        sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
+      path = fetchurl {
+        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";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_equal___deep_equal_1.0.1.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz";
+        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.5.1.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz";
+        sha1 = "b894a9dd90d3023fbf1c55a394fb858eb2066f1f";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.tgz";
+      path = fetchurl {
+        name = "deep_is___deep_is_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+    {
+      name = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      name = "default_require_extensions___default_require_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "default_require_extensions___default_require_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz";
+        sha1 = "f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "del___del_2.2.2.tgz";
+      path = fetchurl {
+        name = "del___del_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz";
+        sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8";
+      };
+    }
+    {
+      name = "del___del_4.1.1.tgz";
+      path = fetchurl {
+        name = "del___del_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz";
+        sha1 = "9e8f117222ea44a31ff3a156c049b99052a9f0b4";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed_stream___delayed_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+    {
+      name = "delegate___delegate_3.1.2.tgz";
+      path = fetchurl {
+        name = "delegate___delegate_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/delegate/-/delegate-3.1.2.tgz";
+        sha1 = "1e1bc6f5cadda6cb6cbf7e6d05d0bcdd5712aebe";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "depd___depd_1.1.1.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz";
+        sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "des.js___des.js_1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_file___detect_file_1.0.0.tgz";
+      path = fetchurl {
+        name = "detect_file___detect_file_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "di___di_0.0.1.tgz";
+      path = fetchurl {
+        name = "di___di_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz";
+        sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_24.3.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_24.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz";
+        sha1 = "0f20e8a1df1abddaf4d9c226680952e64118b975";
+      };
+    }
+    {
+      name = "diff___diff_3.5.0.tgz";
+      path = fetchurl {
+        name = "diff___diff_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz";
+        sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12";
+      };
+    }
+    {
+      name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
+        sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
+      };
+    }
+    {
+      name = "dir_glob___dir_glob_2.2.2.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz";
+        sha1 = "fa09f0694153c8918b18ba0deafae94769fc50c4";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.2.2.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz";
+        sha1 = "a8a26bec7646438963fc86e06f8f8b16d6c8bf7a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "docdash___docdash_1.0.2.tgz";
+      path = fetchurl {
+        name = "docdash___docdash_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/docdash/-/docdash-1.0.2.tgz";
+        sha1 = "0449a8f6bb247f563020b78a5485dea95ae2e094";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      name = "document_register_element___document_register_element_1.13.1.tgz";
+      path = fetchurl {
+        name = "document_register_element___document_register_element_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.13.1.tgz";
+        sha1 = "dad8cb7be38e04ee3f56842e6cf81af46c1249ba";
+      };
+    }
+    {
+      name = "dom_serialize___dom_serialize_2.2.1.tgz";
+      path = fetchurl {
+        name = "dom_serialize___dom_serialize_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz";
+        sha1 = "562ae8999f44be5ea3076f5419dcd59eb43ac95b";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.1.0.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz";
+        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.1.7.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz";
+        sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.0.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz";
+        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.1.3.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz";
+        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+      };
+    }
+    {
+      name = "domexception___domexception_1.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
+        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+      };
+    }
+    {
+      name = "domhandler___domhandler_2.4.1.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz";
+        sha1 = "892e47000a99be55bbf3774ffea0561d8879c259";
+      };
+    }
+    {
+      name = "domutils___domutils_1.6.2.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz";
+        sha1 = "1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_4.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+      };
+    }
+    {
+      name = "dropzone___dropzone_4.2.0.tgz";
+      path = fetchurl {
+        name = "dropzone___dropzone_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dropzone/-/dropzone-4.2.0.tgz";
+        sha1 = "fbe7acbb9918e0706489072ef663effeef8a79f3";
+      };
+    }
+    {
+      name = "duplexer3___duplexer3_0.1.4.tgz";
+      path = fetchurl {
+        name = "duplexer3___duplexer3_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+    {
+      name = "duplexify___duplexify_3.7.1.tgz";
+      path = fetchurl {
+        name = "duplexify___duplexify_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
+        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "echarts___echarts_4.2.1.tgz";
+      path = fetchurl {
+        name = "echarts___echarts_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/echarts/-/echarts-4.2.1.tgz";
+        sha1 = "9a8ea3b03354f86f824d97625c334cf16965ef03";
+      };
+    }
+    {
+      name = "editions___editions_1.3.4.tgz";
+      path = fetchurl {
+        name = "editions___editions_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz";
+        sha1 = "3662cb592347c3168eb8e498a0ff73271d67f50b";
+      };
+    }
+    {
+      name = "editorconfig___editorconfig_0.15.2.tgz";
+      path = fetchurl {
+        name = "editorconfig___editorconfig_0.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.2.tgz";
+        sha1 = "047be983abb9ab3c2eefe5199cb2b7c5689f0702";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "ejs___ejs_2.6.1.tgz";
+      path = fetchurl {
+        name = "ejs___ejs_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz";
+        sha1 = "498ec0d495655abc6f23cd61868d926464071aa0";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.199.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.199.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.199.tgz";
+        sha1 = "f9a62a74cda77854310a2abffde8b75591ea09a1";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.4.0.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz";
+        sha1 = "cac9af8762c85836187003c8dfe193e5e2eae5df";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+      };
+    }
+    {
+      name = "emoji_unicode_version___emoji_unicode_version_0.2.1.tgz";
+      path = fetchurl {
+        name = "emoji_unicode_version___emoji_unicode_version_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-unicode-version/-/emoji-unicode-version-0.2.1.tgz";
+        sha1 = "0ebf3666b5414097971d34994e299fce75cdbafc";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.1.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz";
+        sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43";
+      };
+    }
+    {
+      name = "engine.io_client___engine.io_client_3.2.1.tgz";
+      path = fetchurl {
+        name = "engine.io_client___engine.io_client_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz";
+        sha1 = "6f54c0475de487158a1a7c77d10178708b6add36";
+      };
+    }
+    {
+      name = "engine.io_parser___engine.io_parser_2.1.2.tgz";
+      path = fetchurl {
+        name = "engine.io_parser___engine.io_parser_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz";
+        sha1 = "4c0f4cff79aaeecbbdcfdea66a823c6085409196";
+      };
+    }
+    {
+      name = "engine.io___engine.io_3.2.0.tgz";
+      path = fetchurl {
+        name = "engine.io___engine.io_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz";
+        sha1 = "54332506f42f2edc71690d2f2a42349359f3bf7d";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz";
+        sha1 = "41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_0.9.1.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_0.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz";
+        sha1 = "4d6e689b3725f86090927ccc86cd9f1635b89e2e";
+      };
+    }
+    {
+      name = "ent___ent_2.2.0.tgz";
+      path = fetchurl {
+        name = "ent___ent_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz";
+        sha1 = "e964219325a21d05f44466a2f686ed6ce5f5dd1d";
+      };
+    }
+    {
+      name = "entities___entities_1.1.1.tgz";
+      path = fetchurl {
+        name = "entities___entities_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz";
+        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.16.2.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.2.tgz";
+        sha1 = "4e874331645e9925edef141e74fc4bd144669d34";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
+      };
+    }
+    {
+      name = "es6_promise___es6_promise_3.0.2.tgz";
+      path = fetchurl {
+        name = "es6_promise___es6_promise_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz";
+        sha1 = "010d5858423a5f118979665f46486a95c6ee2bb6";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escaper___escaper_2.5.3.tgz";
+      path = fetchurl {
+        name = "escaper___escaper_2.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz";
+        sha1 = "8b8fe90ba364054151ab7eff18b4ce43b1e13ab5";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.11.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz";
+        sha1 = "b27a9389481d5bfd5bec76f7bb1eb3f8f4556589";
+      };
+    }
+    {
+      name = "eslint_config_airbnb_base___eslint_config_airbnb_base_13.1.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_airbnb_base___eslint_config_airbnb_base_13.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz";
+        sha1 = "b5a1b480b80dfad16433d6c4ad84e6605052c05c";
+      };
+    }
+    {
+      name = "eslint_config_prettier___eslint_config_prettier_3.3.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_prettier___eslint_config_prettier_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz";
+        sha1 = "41afc8d3b852e757f06274ed6c44ca16f939a57d";
+      };
+    }
+    {
+      name = "eslint_import_resolver_jest___eslint_import_resolver_jest_2.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_jest___eslint_import_resolver_jest_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-jest/-/eslint-import-resolver-jest-2.1.1.tgz";
+        sha1 = "78c1934e3b5b77283326f036e089cc3b9fae6346";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz";
+        sha1 = "58f15fb839b8d0576ca980413476aab2472db66a";
+      };
+    }
+    {
+      name = "eslint_import_resolver_webpack___eslint_import_resolver_webpack_0.10.1.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_webpack___eslint_import_resolver_webpack_0.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.10.1.tgz";
+        sha1 = "4cbceed2c0c43e488a74775c30861e58e00fb290";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz";
+        sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c";
+      };
+    }
+    {
+      name = "eslint_plugin_filenames___eslint_plugin_filenames_1.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_filenames___eslint_plugin_filenames_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz";
+        sha1 = "7094f00d7aefdd6999e3ac19f72cea058e590cf7";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz";
+        sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6";
+      };
+    }
+    {
+      name = "eslint_plugin_jasmine___eslint_plugin_jasmine_2.10.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jasmine___eslint_plugin_jasmine_2.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.10.1.tgz";
+        sha1 = "5733b709e751f4bc40e31e1c16989bd2cdfbec97";
+      };
+    }
+    {
+      name = "eslint_plugin_jest___eslint_plugin_jest_22.3.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jest___eslint_plugin_jest_22.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.3.0.tgz";
+        sha1 = "a10f10dedfc92def774ec9bb5bfbd2fb8e1c96d2";
+      };
+    }
+    {
+      name = "eslint_plugin_no_jquery___eslint_plugin_no_jquery_2.3.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_no_jquery___eslint_plugin_no_jquery_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.3.0.tgz";
+        sha1 = "fccdad84afa61baa4c0527dd6249cdcbfa0f74a8";
+      };
+    }
+    {
+      name = "eslint_plugin_promise___eslint_plugin_promise_4.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_promise___eslint_plugin_promise_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz";
+        sha1 = "1e08cb68b5b2cd8839f8d5864c796f56d82746db";
+      };
+    }
+    {
+      name = "eslint_plugin_vue___eslint_plugin_vue_5.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_vue___eslint_plugin_vue_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.0.0.tgz";
+        sha1 = "4a2cc1c0e71ea45e1bd9c1a60f925bfe68bb5710";
+      };
+    }
+    {
+      name = "eslint_restricted_globals___eslint_restricted_globals_0.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_restricted_globals___eslint_restricted_globals_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz";
+        sha1 = "35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_3.7.1.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz";
+        sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_1.4.2.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz";
+        sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha1 = "3f3180fb2e291017716acb4c9d6d5b5c34a6a81d";
+      };
+    }
+    {
+      name = "eslint___eslint_5.9.0.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_5.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz";
+        sha1 = "b234b6d15ef84b5849c6de2af43195a2d59d408e";
+      };
+    }
+    {
+      name = "espree___espree_4.1.0.tgz";
+      path = fetchurl {
+        name = "espree___espree_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz";
+        sha1 = "728d5451e0fd156c04384a7ad89ed51ff54eb25f";
+      };
+    }
+    {
+      name = "espree___espree_5.0.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz";
+        sha1 = "5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a";
+      };
+    }
+    {
+      name = "esprima___esprima_3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.0.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz";
+        sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.2.1.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.2.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz";
+        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+      };
+    }
+    {
+      name = "esutils___esutils_2.0.2.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    }
+    {
+      name = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "eve_raphael___eve_raphael_0.5.0.tgz";
+      path = fetchurl {
+        name = "eve_raphael___eve_raphael_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/eve-raphael/-/eve-raphael-0.5.0.tgz";
+        sha1 = "17c754b792beef3fa6684d79cf5a47c63c4cda30";
+      };
+    }
+    {
+      name = "eventemitter3___eventemitter3_4.0.0.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha1 = "d65176163887ee59f386d64c82610b696a4a74eb";
+      };
+    }
+    {
+      name = "events___events_1.1.1.tgz";
+      path = fetchurl {
+        name = "events___events_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz";
+        sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924";
+      };
+    }
+    {
+      name = "events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz";
+        sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.2.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
+      };
+    }
+    {
+      name = "execa___execa_0.7.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz";
+        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "execall___execall_2.0.0.tgz";
+      path = fetchurl {
+        name = "execall___execall_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz";
+        sha1 = "16a06b5fe5099df7d00be5d9c06eecded1663b45";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expand_tilde___expand_tilde_2.0.2.tgz";
+      path = fetchurl {
+        name = "expand_tilde___expand_tilde_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    }
+    {
+      name = "expect___expect_24.8.0.tgz";
+      path = fetchurl {
+        name = "expect___expect_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz";
+        sha1 = "471f8ec256b7b6129ca2524b2a62f030df38718d";
+      };
+    }
+    {
+      name = "exports_loader___exports_loader_0.7.0.tgz";
+      path = fetchurl {
+        name = "exports_loader___exports_loader_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.7.0.tgz";
+        sha1 = "84881c784dea6036b8e1cd1dac3da9b6409e21a5";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      name = "extend___extend_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend___extend_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
+        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+      };
+    }
+    {
+      name = "external_editor___external_editor_3.0.0.tgz";
+      path = fetchurl {
+        name = "external_editor___external_editor_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz";
+        sha1 = "dc35c48c6f98a30ca27a20e9687d7f3c77704bb6";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extract_files___extract_files_5.0.1.tgz";
+      path = fetchurl {
+        name = "extract_files___extract_files_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extract-files/-/extract-files-5.0.1.tgz";
+        sha1 = "c9492a8410be643e260a376f0151361993d5f659";
+      };
+    }
+    {
+      name = "extract_from_css___extract_from_css_0.4.4.tgz";
+      path = fetchurl {
+        name = "extract_from_css___extract_from_css_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/extract-from-css/-/extract-from-css-0.4.4.tgz";
+        sha1 = "1ea7df2e7c7c6eb9922fa08e8adaea486f6f8f92";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    }
+    {
+      name = "fast_glob___fast_glob_2.2.6.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz";
+        sha1 = "a5d5b697ec8deda468d85a74035290a025a95295";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      path = fetchurl {
+        name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+    {
+      name = "fastparse___fastparse_1.1.2.tgz";
+      path = fetchurl {
+        name = "fastparse___fastparse_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz";
+        sha1 = "91728c5a5942eced8531283c79441ee4122c35a9";
+      };
+    }
+    {
+      name = "fault___fault_1.0.2.tgz";
+      path = fetchurl {
+        name = "fault___fault_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/fault/-/fault-1.0.2.tgz";
+        sha1 = "c3d0fec202f172a3a4d414042ad2bb5e2a3ffbaa";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.11.1.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz";
+        sha1 = "f0efe18c4f56e4f40afc7e06c719fd5ee6188f38";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha1 = "862470112901c727a0e495a80744bd5baa1d6790";
+      };
+    }
+    {
+      name = "figures___figures_2.0.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_2.0.0.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz";
+        sha1 = "c392990c3e684783d838b8c84a45d8a048458361";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_loader___file_loader_4.2.0.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz";
+        sha1 = "5fb124d2369d7075d70a9a5abecd12e60a95215e";
+      };
+    }
+    {
+      name = "fileset___fileset_2.0.3.tgz";
+      path = fetchurl {
+        name = "fileset___fileset_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz";
+        sha1 = "8e7548a96d3cc2327ee5e674168723a333bba2a0";
+      };
+    }
+    {
+      name = "filesize___filesize_3.6.1.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz";
+        sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
+        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.0.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz";
+        sha1 = "ce0b6855b45853e791b2fcc680046d88253dd7f5";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.0.0.tgz";
+        sha1 = "cd4b7dd97b7185b7e17dbfe2d6e4115ee3eeb8fc";
+      };
+    }
+    {
+      name = "find_root___find_root_1.1.0.tgz";
+      path = fetchurl {
+        name = "find_root___find_root_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz";
+        sha1 = "abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4";
+      };
+    }
+    {
+      name = "find_up___find_up_1.1.2.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "find_up___find_up_4.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
+        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
+      };
+    }
+    {
+      name = "findup_sync___findup_sync_3.0.0.tgz";
+      path = fetchurl {
+        name = "findup_sync___findup_sync_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz";
+        sha1 = "17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_1.2.2.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz";
+        sha1 = "fa86714e72c21db88601761ecf2f555d1abc6b96";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.0.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz";
+        sha1 = "55122b6536ea496b4b44893ee2608141d10d9916";
+      };
+    }
+    {
+      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+      path = fetchurl {
+        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.5.10.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.5.10.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz";
+        sha1 = "7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "format___format_0.2.2.tgz";
+      path = fetchurl {
+        name = "format___format_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz";
+        sha1 = "d6170107e9efdc4ed30c9dc39016df942b5cb58b";
+      };
+    }
+    {
+      name = "formdata_polyfill___formdata_polyfill_3.0.11.tgz";
+      path = fetchurl {
+        name = "formdata_polyfill___formdata_polyfill_3.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-3.0.11.tgz";
+        sha1 = "c82b4b4bea3356c0a6752219e54ce1edb2a7fb5b";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_7.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_1.2.6.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz";
+        sha1 = "2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.9.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
+        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.0.7.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
+        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+      };
+    }
+    {
+      name = "fstream___fstream_1.0.12.tgz";
+      path = fetchurl {
+        name = "fstream___fstream_1.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz";
+        sha1 = "4e8ba8ee2d48be4f7d0de505455548eae5932045";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      path = fetchurl {
+        name = "function_bind___function_bind_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
+        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      path = fetchurl {
+        name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    }
+    {
+      name = "fuzzaldrin_plus___fuzzaldrin_plus_0.5.0.tgz";
+      path = fetchurl {
+        name = "fuzzaldrin_plus___fuzzaldrin_plus_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fuzzaldrin-plus/-/fuzzaldrin-plus-0.5.0.tgz";
+        sha1 = "ef5f26f0c2fc7e9e9a16ea149a802d6cb4804b1e";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "gaze___gaze_1.1.3.tgz";
+      path = fetchurl {
+        name = "gaze___gaze_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz";
+        sha1 = "c441733e13b927ac8c0ff0b4c3b033f28812924a";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_1.0.3.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_4.0.1.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz";
+        sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_6.0.0.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_7.0.0.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz";
+        sha1 = "8d5de98f15171a125c5e516643c7a6d0ea8a96f6";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_5.0.1.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz";
+        sha1 = "122e161591e21ff4c52530305693f20e6393a398";
+      };
+    }
+    {
+      name = "get_stream___get_stream_3.0.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "gettext_extractor_vue___gettext_extractor_vue_4.0.2.tgz";
+      path = fetchurl {
+        name = "gettext_extractor_vue___gettext_extractor_vue_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/gettext-extractor-vue/-/gettext-extractor-vue-4.0.2.tgz";
+        sha1 = "16e1cdbdaf37e5bdf3cb0aff63685bdc5e74e906";
+      };
+    }
+    {
+      name = "gettext_extractor___gettext_extractor_3.4.3.tgz";
+      path = fetchurl {
+        name = "gettext_extractor___gettext_extractor_3.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/gettext-extractor/-/gettext-extractor-3.4.3.tgz";
+        sha1 = "882679cefc71888eb6e69297e6b2dc14c0384fef";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.0.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz";
+        sha1 = "1dc99f0f39b006d3e92c2c284068382f0c20e954";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.4.1.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz";
+        sha1 = "c75297087c851b9a578bd217dd59a92f59fe546e";
+      };
+    }
+    {
+      name = "glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz";
+        sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255";
+      };
+    }
+    {
+      name = "global_dirs___global_dirs_0.1.1.tgz";
+      path = fetchurl {
+        name = "global_dirs___global_dirs_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz";
+        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_modules___global_modules_1.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz";
+        sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_1.0.2.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globby___globby_5.0.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz";
+        sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "globby___globby_7.1.1.tgz";
+      path = fetchurl {
+        name = "globby___globby_7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz";
+        sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
+      };
+    }
+    {
+      name = "globby___globby_9.2.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_9.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz";
+        sha1 = "fd029a706c703d29bdd170f4b6db3a3f7a7cb63d";
+      };
+    }
+    {
+      name = "globjoin___globjoin_0.1.4.tgz";
+      path = fetchurl {
+        name = "globjoin___globjoin_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz";
+        sha1 = "2f4494ac8919e3767c5cbb691e9f463324285d43";
+      };
+    }
+    {
+      name = "globule___globule_1.2.1.tgz";
+      path = fetchurl {
+        name = "globule___globule_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz";
+        sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d";
+      };
+    }
+    {
+      name = "gonzales_pe___gonzales_pe_4.2.3.tgz";
+      path = fetchurl {
+        name = "gonzales_pe___gonzales_pe_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz";
+        sha1 = "41091703625433285e0aee3aa47829fc1fbeb6f2";
+      };
+    }
+    {
+      name = "good_listener___good_listener_1.2.2.tgz";
+      path = fetchurl {
+        name = "good_listener___good_listener_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz";
+        sha1 = "d53b30cdf9313dffb7dc9a0d477096aa6d145c50";
+      };
+    }
+    {
+      name = "got___got_6.7.1.tgz";
+      path = fetchurl {
+        name = "got___got_6.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz";
+        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.0.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz";
+        sha1 = "8d8fdc73977cb04104721cb53666c1ca64cd328b";
+      };
+    }
+    {
+      name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+      path = fetchurl {
+        name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    }
+    {
+      name = "graphlib___graphlib_2.1.7.tgz";
+      path = fetchurl {
+        name = "graphlib___graphlib_2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz";
+        sha1 = "b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc";
+      };
+    }
+    {
+      name = "graphql_tag___graphql_tag_2.10.0.tgz";
+      path = fetchurl {
+        name = "graphql_tag___graphql_tag_2.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz";
+        sha1 = "87da024be863e357551b2b8700e496ee2d4353ae";
+      };
+    }
+    {
+      name = "graphql___graphql_14.0.2.tgz";
+      path = fetchurl {
+        name = "graphql___graphql_14.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz";
+        sha1 = "7dded337a4c3fd2d075692323384034b357f5650";
+      };
+    }
+    {
+      name = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.0.0.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz";
+        sha1 = "a55ecd99222f4c48fd8c01c625ce3b349d0a0e80";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.0.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.1.2.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz";
+        sha1 = "b6b37c1ced0306b221e094fc7aca3ec23b131b67";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.3.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
+        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_binary2___has_binary2_1.0.2.tgz";
+      path = fetchurl {
+        name = "has_binary2___has_binary2_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz";
+        sha1 = "e83dba49f0b9be4d026d27365350d9f03f54be98";
+      };
+    }
+    {
+      name = "has_cors___has_cors_1.1.0.tgz";
+      path = fetchurl {
+        name = "has_cors___has_cors_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz";
+        sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.1.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_2.0.2.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz";
+        sha1 = "66ea1d856db4e8a5470cadf6fce23ae5244ef2e1";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.0.4.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    }
+    {
+      name = "hash_sum___hash_sum_1.0.2.tgz";
+      path = fetchurl {
+        name = "hash_sum___hash_sum_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz";
+        sha1 = "33b40777754c6432573c120cc3808bbd10d47f04";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.3.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz";
+        sha1 = "340dedbe6290187151c1ea1d777a3448935df846";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "highlight.js___highlight.js_9.13.1.tgz";
+      path = fetchurl {
+        name = "highlight.js___highlight.js_9.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz";
+        sha1 = "054586d53a6863311168488a0f58d6c505ce641e";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "homedir_polyfill___homedir_polyfill_1.0.1.tgz";
+      path = fetchurl {
+        name = "homedir_polyfill___homedir_polyfill_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz";
+        sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
+      };
+    }
+    {
+      name = "hoopy___hoopy_0.1.4.tgz";
+      path = fetchurl {
+        name = "hoopy___hoopy_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz";
+        sha1 = "609207d661100033a9a9402ad3dea677381c1b1d";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.2.0.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz";
+        sha1 = "7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+      };
+    }
+    {
+      name = "html_entities___html_entities_1.2.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_4.0.0.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz";
+        sha1 = "cca9aad8bce1175e02e17a8c33e46d8988889f56";
+      };
+    }
+    {
+      name = "html_tags___html_tags_3.0.0.tgz";
+      path = fetchurl {
+        name = "html_tags___html_tags_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-tags/-/html-tags-3.0.0.tgz";
+        sha1 = "41f57708c9e6b7b46a00a22317d614c4a2bab166";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_3.10.0.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz";
+        sha1 = "5f5e422dcf6119c0d983ed36260ce9ded0bee464";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.6.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz";
+        sha1 = "0a002cc85707192a7e7946ceedc11155f60ec736";
+      };
+    }
+    {
+      name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.18.0.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+      };
+    }
+    {
+      name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+      path = fetchurl {
+        name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_2.1.0.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz";
+        sha1 = "83f0a0ec378bf3246178b6c2ad9136f135b1c962";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.1.8.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz";
+        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
+      };
+    }
+    {
+      name = "iferr___iferr_0.1.5.tgz";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      name = "ignore_by_default___ignore_by_default_1.0.1.tgz";
+      path = fetchurl {
+        name = "ignore_by_default___ignore_by_default_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
+        sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
+      };
+    }
+    {
+      name = "ignore_walk___ignore_walk_3.0.1.tgz";
+      path = fetchurl {
+        name = "ignore_walk___ignore_walk_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8";
+      };
+    }
+    {
+      name = "ignore___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "ignore___ignore_5.1.2.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.2.tgz";
+        sha1 = "e28e584d43ad7e92f96995019cc43b9e1ac49558";
+      };
+    }
+    {
+      name = "immediate___immediate_3.0.6.tgz";
+      path = fetchurl {
+        name = "immediate___immediate_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_lazy___import_lazy_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_lazy___import_lazy_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+      };
+    }
+    {
+      name = "import_lazy___import_lazy_4.0.0.tgz";
+      path = fetchurl {
+        name = "import_lazy___import_lazy_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz";
+        sha1 = "e8eb627483a0a43da3c03f3e35548be5cb0cc153";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "imports_loader___imports_loader_0.8.0.tgz";
+      path = fetchurl {
+        name = "imports_loader___imports_loader_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz";
+        sha1 = "030ea51b8ca05977c40a3abfd9b4088fe0be9a69";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "in_publish___in_publish_2.0.0.tgz";
+      path = fetchurl {
+        name = "in_publish___in_publish_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz";
+        sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51";
+      };
+    }
+    {
+      name = "indent_string___indent_string_2.1.0.tgz";
+      path = fetchurl {
+        name = "indent_string___indent_string_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz";
+        sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
+      };
+    }
+    {
+      name = "indent_string___indent_string_3.2.0.tgz";
+      path = fetchurl {
+        name = "indent_string___indent_string_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz";
+        sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
+      };
+    }
+    {
+      name = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "indexof___indexof_0.0.1.tgz";
+      path = fetchurl {
+        name = "indexof___indexof_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      name = "ini___ini_1.3.5.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
+        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.2.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz";
+        sha1 = "51adcd776f661369dc1e894859c2560a224abdd8";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      name = "interpret___interpret_1.2.0.tgz";
+      path = fetchurl {
+        name = "interpret___interpret_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz";
+        sha1 = "d5061a6224be58e8083985f5014d844359576296";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_1.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_2.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
+      };
+    }
+    {
+      name = "ip_regex___ip_regex_2.1.0.tgz";
+      path = fetchurl {
+        name = "ip_regex___ip_regex_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    }
+    {
+      name = "ip___ip_1.1.5.tgz";
+      path = fetchurl {
+        name = "ip___ip_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_3.0.2.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.2.tgz";
+        sha1 = "554f2933e7385cc46e94351977ca2081170a206e";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      name = "is_alphabetical___is_alphabetical_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_alphabetical___is_alphabetical_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.2.tgz";
+        sha1 = "1fa6e49213cb7885b75d15862fb3f3d96c884f41";
+      };
+    }
+    {
+      name = "is_alphanumeric___is_alphanumeric_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_alphanumeric___is_alphanumeric_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz";
+        sha1 = "4a9cef71daf4c001c1d81d63d140cf53fd6889f4";
+      };
+    }
+    {
+      name = "is_alphanumerical___is_alphanumerical_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_alphanumerical___is_alphanumerical_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz";
+        sha1 = "1138e9ae5040158dc6ff76b820acd6b7a181fd40";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_2.0.3.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz";
+        sha1 = "4ecf3fcf749cbd1e472689e109ac66261a25e725";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.1.4.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz";
+        sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
+      };
+    }
+    {
+      name = "is_ci___is_ci_1.2.1.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz";
+        sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    }
+    {
+      name = "is_decimal___is_decimal_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_decimal___is_decimal_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.2.tgz";
+        sha1 = "894662d6a8709d307f3a276ca4339c8fa5dff0ff";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+    {
+      name = "is_finite___is_finite_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_finite___is_finite_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+      };
+    }
+    {
+      name = "is_glob___is_glob_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
+        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+      };
+    }
+    {
+      name = "is_hexadecimal___is_hexadecimal_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_hexadecimal___is_hexadecimal_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz";
+        sha1 = "b6e710d7d07bb66b98cb8cece5c9b4921deeb835";
+      };
+    }
+    {
+      name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
+      path = fetchurl {
+        name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
+        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
+      };
+    }
+    {
+      name = "is_npm___is_npm_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_npm___is_npm_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz";
+        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
+        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+      };
+    }
+    {
+      name = "is_obj___is_obj_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
+        sha1 = "67d43b82664a7b5191fd9119127eb300048a9fdb";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz";
+        sha1 = "6477582b8214d602346094567003be8a9eac04dc";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha1 = "bfe2dca26c69f397265a4009963602935a053acb";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz";
+        sha1 = "fc06e5a1683fbda13de667aff717bbc10a48f37f";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha1 = "7c9810587d659a40d27bcdb4d5616eab059494b2";
+      };
+    }
+    {
+      name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_promise___is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    }
+    {
+      name = "is_redirect___is_redirect_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_redirect___is_redirect_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz";
+        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    }
+    {
+      name = "is_regexp___is_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
+        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+      };
+    }
+    {
+      name = "is_regexp___is_regexp_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz";
+        sha1 = "cd734a56864e23b956bf4e7c66c396a4c0b22c2d";
+      };
+    }
+    {
+      name = "is_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
+        sha1 = "11a060568b67339444033d0125a61a20d564fb34";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_utf8___is_utf8_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_utf8___is_utf8_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    }
+    {
+      name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz";
+        sha1 = "ede53b4c6f6fb3874533751ec9280d01928d03ed";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_word_character___is_word_character_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_word_character___is_word_character_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.2.tgz";
+        sha1 = "46a5dac3f2a1840898b91e576cd40d493f3ae553";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isarray___isarray_2.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz";
+        sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
+      };
+    }
+    {
+      name = "isbinaryfile___isbinaryfile_3.0.2.tgz";
+      path = fetchurl {
+        name = "isbinaryfile___isbinaryfile_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz";
+        sha1 = "4a3e974ec0cba9004d3fc6cde7209ea69368a621";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_api___istanbul_api_2.1.6.tgz";
+      path = fetchurl {
+        name = "istanbul_api___istanbul_api_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.6.tgz";
+        sha1 = "d61702a9d1c66ad89d92e66d401e16b0bda4a35f";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_hook___istanbul_lib_hook_2.0.7.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_hook___istanbul_lib_hook_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz";
+        sha1 = "c95695f383d4f8f60df1f04252a9550e15b5b133";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af";
+      };
+    }
+    {
+      name = "istextorbinary___istextorbinary_2.2.1.tgz";
+      path = fetchurl {
+        name = "istextorbinary___istextorbinary_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz";
+        sha1 = "a5231a08ef6dd22b268d0895084cf8d58b5bec53";
+      };
+    }
+    {
+      name = "iterall___iterall_1.2.2.tgz";
+      path = fetchurl {
+        name = "iterall___iterall_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz";
+        sha1 = "92d70deb8028e0c39ff3164fdbf4d8b088130cd7";
+      };
+    }
+    {
+      name = "jasmine_core___jasmine_core_2.9.0.tgz";
+      path = fetchurl {
+        name = "jasmine_core___jasmine_core_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.9.0.tgz";
+        sha1 = "bfbb56defcd30789adec5a3fbba8504233289c72";
+      };
+    }
+    {
+      name = "jasmine_diff___jasmine_diff_0.1.3.tgz";
+      path = fetchurl {
+        name = "jasmine_diff___jasmine_diff_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/jasmine-diff/-/jasmine-diff-0.1.3.tgz";
+        sha1 = "93ccc2dcc41028c5ddd4606558074839f2deeaa8";
+      };
+    }
+    {
+      name = "jasmine_jquery___jasmine_jquery_2.1.1.tgz";
+      path = fetchurl {
+        name = "jasmine_jquery___jasmine_jquery_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jasmine-jquery/-/jasmine-jquery-2.1.1.tgz";
+        sha1 = "d4095e646944a26763235769ab018d9f30f0d47b";
+      };
+    }
+    {
+      name = "jed___jed_1.1.1.tgz";
+      path = fetchurl {
+        name = "jed___jed_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz";
+        sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz";
+        sha1 = "7e7eb21cf687587a85e50f3d249d1327e15b157b";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz";
+        sha1 = "b075ac914492ed114fa338ade7362a301693e989";
+      };
+    }
+    {
+      name = "jest_config___jest_config_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz";
+        sha1 = "77db3d265a6f726294687cbbccc36f8a76ee0f4f";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz";
+        sha1 = "146435e7d1e3ffdf293d53ff97e193f1d1546172";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_24.3.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_24.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz";
+        sha1 = "b9c32dac70f72e4464520d2ba4aec02ab14db5dd";
+      };
+    }
+    {
+      name = "jest_each___jest_each_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz";
+        sha1 = "a05fd2bf94ddc0b1da66c6d13ec2457f35e52775";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz";
+        sha1 = "300f6949a146cabe1c9357ad9e9ecf9f43f38857";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz";
+        sha1 = "d3f726ba8bc53087a60e7a84ca08883a4c892231";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz";
+        sha1 = "a7440de30b651f5a70ea3ed7ff073a32dfe646fc";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz";
+        sha1 = "51794182d877b3ddfd6e6d23920e3fe72f305800";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz";
+        sha1 = "a9c7e14c83dd77d8b15e820549ce8987cc8cd898";
+      };
+    }
+    {
+      name = "jest_junit___jest_junit_6.3.0.tgz";
+      path = fetchurl {
+        name = "jest_junit___jest_junit_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-junit/-/jest-junit-6.3.0.tgz";
+        sha1 = "99e64ebc54eddcb21238f0cc49f5820c89a8c785";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz";
+        sha1 = "c0086384e1f650c2d8348095df769f29b48e6980";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz";
+        sha1 = "2bce42204c9af12bde46f83dc839efe8be832495";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz";
+        sha1 = "0d6891e72a4beacc0292b638685df42e28d6218b";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz";
+        sha1 = "2f9d14d37699e863f1febf4e4d5a33b7fdbbde56";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_24.3.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_24.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz";
+        sha1 = "d5a65f60be1ae3e310d5214a0307581995227b36";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz";
+        sha1 = "19eec3241f2045d3f990dba331d0d7526acff8e0";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz";
+        sha1 = "84b8e5408c1f6a11539793e2b5feb1b6e722439f";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz";
+        sha1 = "4f9ae07b767db27b740d7deffad0cf67ccb4c5bb";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz";
+        sha1 = "05f94d5b05c21f6dc54e427cd2e4980923350620";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_24.4.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_24.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz";
+        sha1 = "f70c5918c8ea9235ccb1276d232e459080588db3";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz";
+        sha1 = "3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6";
+      };
+    }
+    {
+      name = "jest_transform_graphql___jest_transform_graphql_2.1.0.tgz";
+      path = fetchurl {
+        name = "jest_transform_graphql___jest_transform_graphql_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-transform-graphql/-/jest-transform-graphql-2.1.0.tgz";
+        sha1 = "903cb66bb27bc2772fd3e5dd4f7e9b57230f5829";
+      };
+    }
+    {
+      name = "jest_util___jest_util_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz";
+        sha1 = "41f0e945da11df44cc76d64ffb915d0716f46cd1";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz";
+        sha1 = "624c41533e6dfe356ffadc6e2423a35c2d3b4849";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz";
+        sha1 = "58d49915ceddd2de85e238f6213cef1c93715de4";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_24.6.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_24.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz";
+        sha1 = "7f81ceae34b7cde0c9827a6980c35b7cdc0161b3";
+      };
+    }
+    {
+      name = "jest___jest_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest___jest_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz";
+        sha1 = "d5dff1984d0d1002196e9b7f12f75af1b2809081";
+      };
+    }
+    {
+      name = "jmespath___jmespath_0.15.0.tgz";
+      path = fetchurl {
+        name = "jmespath___jmespath_0.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz";
+        sha1 = "a3f222a9aae9f966f5d27c796510e28091764217";
+      };
+    }
+    {
+      name = "jquery_ujs___jquery_ujs_1.2.2.tgz";
+      path = fetchurl {
+        name = "jquery_ujs___jquery_ujs_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.2.tgz";
+        sha1 = "6a8ef1020e6b6dda385b90a4bddc128c21c56397";
+      };
+    }
+    {
+      name = "jquery.caret___jquery.caret_0.3.1.tgz";
+      path = fetchurl {
+        name = "jquery.caret___jquery.caret_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery.caret/-/jquery.caret-0.3.1.tgz";
+        sha1 = "9c093318faf327eff322e826ca9f3241368bc7b8";
+      };
+    }
+    {
+      name = "jquery.waitforimages___jquery.waitforimages_2.2.0.tgz";
+      path = fetchurl {
+        name = "jquery.waitforimages___jquery.waitforimages_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/jquery.waitforimages/-/jquery.waitforimages-2.2.0.tgz";
+        sha1 = "63f23131055a1b060dc913e6d874bcc9b9e6b16b";
+      };
+    }
+    {
+      name = "jquery___jquery_3.4.1.tgz";
+      path = fetchurl {
+        name = "jquery___jquery_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz";
+        sha1 = "714f1f8d9dde4bdfa55764ba37ef214630d80ef2";
+      };
+    }
+    {
+      name = "js_base64___js_base64_2.5.1.tgz";
+      path = fetchurl {
+        name = "js_base64___js_base64_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz";
+        sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121";
+      };
+    }
+    {
+      name = "js_beautify___js_beautify_1.8.9.tgz";
+      path = fetchurl {
+        name = "js_beautify___js_beautify_1.8.9.tgz";
+        url  = "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.8.9.tgz";
+        sha1 = "08e3c05ead3ecfbd4f512c3895b1cda76c87d523";
+      };
+    }
+    {
+      name = "js_cookie___js_cookie_2.1.3.tgz";
+      path = fetchurl {
+        name = "js_cookie___js_cookie_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.1.3.tgz";
+        sha1 = "48071625217ac9ecfab8c343a13d42ec09ff0526";
+      };
+    }
+    {
+      name = "js_levenshtein___js_levenshtein_1.1.4.tgz";
+      path = fetchurl {
+        name = "js_levenshtein___js_levenshtein_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz";
+        sha1 = "3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.13.1.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_3.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
+      };
+    }
+    {
+      name = "js2xmlparser___js2xmlparser_3.0.0.tgz";
+      path = fetchurl {
+        name = "js2xmlparser___js2xmlparser_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz";
+        sha1 = "3fb60eaa089c5440f9319f51760ccd07e2499733";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdoc_vue___jsdoc_vue_1.0.0.tgz";
+      path = fetchurl {
+        name = "jsdoc_vue___jsdoc_vue_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-vue/-/jsdoc-vue-1.0.0.tgz";
+        sha1 = "ff3ac1ba6bc4a74079bb79058a7bf0066e346235";
+      };
+    }
+    {
+      name = "jsdoc___jsdoc_3.5.5.tgz";
+      path = fetchurl {
+        name = "jsdoc___jsdoc_3.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz";
+        sha1 = "484521b126e81904d632ff83ec9aaa096708fa4d";
+      };
+    }
+    {
+      name = "jsdom___jsdom_11.12.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
+        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "jsesc___jsesc_0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json3___json3_3.3.2.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz";
+        sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1";
+      };
+    }
+    {
+      name = "json5___json5_2.1.0.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz";
+        sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jszip_utils___jszip_utils_0.0.2.tgz";
+      path = fetchurl {
+        name = "jszip_utils___jszip_utils_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/jszip-utils/-/jszip-utils-0.0.2.tgz";
+        sha1 = "457d5cbca60a1c2e0706e9da2b544e8e7bc50bf8";
+      };
+    }
+    {
+      name = "jszip___jszip_3.1.3.tgz";
+      path = fetchurl {
+        name = "jszip___jszip_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/jszip/-/jszip-3.1.3.tgz";
+        sha1 = "8a920403b2b1651c0fc126be90192d9080957c37";
+      };
+    }
+    {
+      name = "karma_chrome_launcher___karma_chrome_launcher_3.0.0.tgz";
+      path = fetchurl {
+        name = "karma_chrome_launcher___karma_chrome_launcher_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.0.0.tgz";
+        sha1 = "5c3a7f877a304e90781c28fcd9a49e334a890f42";
+      };
+    }
+    {
+      name = "karma_coverage_istanbul_reporter___karma_coverage_istanbul_reporter_2.1.0.tgz";
+      path = fetchurl {
+        name = "karma_coverage_istanbul_reporter___karma_coverage_istanbul_reporter_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.0.tgz";
+        sha1 = "5f1bcc13c5e14ee1d91821ee8946861674f54c75";
+      };
+    }
+    {
+      name = "karma_jasmine___karma_jasmine_1.1.2.tgz";
+      path = fetchurl {
+        name = "karma_jasmine___karma_jasmine_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz";
+        sha1 = "394f2b25ffb4a644b9ada6f22d443e2fd08886c3";
+      };
+    }
+    {
+      name = "karma_junit_reporter___karma_junit_reporter_1.2.0.tgz";
+      path = fetchurl {
+        name = "karma_junit_reporter___karma_junit_reporter_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz";
+        sha1 = "4f9c40cedfb1a395f8aef876abf96189917c6396";
+      };
+    }
+    {
+      name = "karma_mocha_reporter___karma_mocha_reporter_2.2.5.tgz";
+      path = fetchurl {
+        name = "karma_mocha_reporter___karma_mocha_reporter_2.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz";
+        sha1 = "15120095e8ed819186e47a0b012f3cd741895560";
+      };
+    }
+    {
+      name = "karma_sourcemap_loader___karma_sourcemap_loader_0.3.7.tgz";
+      path = fetchurl {
+        name = "karma_sourcemap_loader___karma_sourcemap_loader_0.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz";
+        sha1 = "91322c77f8f13d46fed062b042e1009d4c4505d8";
+      };
+    }
+    {
+      name = "karma_webpack___karma_webpack_4.0.2.tgz";
+      path = fetchurl {
+        name = "karma_webpack___karma_webpack_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-4.0.2.tgz";
+        sha1 = "23219bd95bdda853e3073d3874d34447c77bced0";
+      };
+    }
+    {
+      name = "karma___karma_4.2.0.tgz";
+      path = fetchurl {
+        name = "karma___karma_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma/-/karma-4.2.0.tgz";
+        sha1 = "27e88b310cde090d016980ff5444e3a239196fca";
+      };
+    }
+    {
+      name = "katex___katex_0.10.0.tgz";
+      path = fetchurl {
+        name = "katex___katex_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/katex/-/katex-0.10.0.tgz";
+        sha1 = "da562e5d0d5cc3aa602e27af8a9b8710bfbce765";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz";
+        sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051";
+      };
+    }
+    {
+      name = "klaw___klaw_2.0.0.tgz";
+      path = fetchurl {
+        name = "klaw___klaw_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz";
+        sha1 = "59c128e0dc5ce410201151194eeb9cbf858650f6";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "known_css_properties___known_css_properties_0.14.0.tgz";
+      path = fetchurl {
+        name = "known_css_properties___known_css_properties_0.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.14.0.tgz";
+        sha1 = "d7032b4334a32dc22e6e46b081ec789daf18756c";
+      };
+    }
+    {
+      name = "latest_version___latest_version_3.1.0.tgz";
+      path = fetchurl {
+        name = "latest_version___latest_version_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz";
+        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
+      };
+    }
+    {
+      name = "lcid___lcid_1.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    }
+    {
+      name = "lcid___lcid_2.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
+        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
+      };
+    }
+    {
+      name = "left_pad___left_pad_1.3.0.tgz";
+      path = fetchurl {
+        name = "left_pad___left_pad_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
+        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
+      };
+    }
+    {
+      name = "leven___leven_2.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz";
+        sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "lie___lie_3.1.1.tgz";
+      path = fetchurl {
+        name = "lie___lie_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz";
+        sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
+      };
+    }
+    {
+      name = "lightercollective___lightercollective_0.1.0.tgz";
+      path = fetchurl {
+        name = "lightercollective___lightercollective_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/lightercollective/-/lightercollective-0.1.0.tgz";
+        sha1 = "70df102c530dcb8d0ccabfe6175a8d00d5f61300";
+      };
+    }
+    {
+      name = "linkify_it___linkify_it_2.1.0.tgz";
+      path = fetchurl {
+        name = "linkify_it___linkify_it_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.1.0.tgz";
+        sha1 = "c4caf38a6cd7ac2212ef3c7d2bde30a91561f9db";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_1.1.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz";
+        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_2.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.2.3.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7";
+      };
+    }
+    {
+      name = "locate_path___locate_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_5.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
+        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
+      };
+    }
+    {
+      name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    }
+    {
+      name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    }
+    {
+      name = "lodash.differencewith___lodash.differencewith_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.differencewith___lodash.differencewith_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz";
+        sha1 = "bafafbc918b55154e179176a00bb0aefaac854b7";
+      };
+    }
+    {
+      name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz";
+        sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
+      };
+    }
+    {
+      name = "lodash.flatten___lodash.flatten_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.flatten___lodash.flatten_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz";
+        sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
+      };
+    }
+    {
+      name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz";
+        sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36";
+      };
+    }
+    {
+      name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+      path = fetchurl {
+        name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz";
+        sha1 = "617121f89ac55f59047c7aec1ccd6654c6590f55";
+      };
+    }
+    {
+      name = "lodash.snakecase___lodash.snakecase_4.1.1.tgz";
+      path = fetchurl {
+        name = "lodash.snakecase___lodash.snakecase_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz";
+        sha1 = "39d714a35357147837aefd64b5dcbb16becd8f8d";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash.upperfirst___lodash.upperfirst_4.3.1.tgz";
+      path = fetchurl {
+        name = "lodash.upperfirst___lodash.upperfirst_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz";
+        sha1 = "1365edf431480481ef0d1c68957a5ed99d49f7ce";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+      };
+    }
+    {
+      name = "log_symbols___log_symbols_2.2.0.tgz";
+      path = fetchurl {
+        name = "log_symbols___log_symbols_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha1 = "5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a";
+      };
+    }
+    {
+      name = "log_symbols___log_symbols_3.0.0.tgz";
+      path = fetchurl {
+        name = "log_symbols___log_symbols_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz";
+        sha1 = "f3a08516a5dea893336a7dee14d18a1cfdab77c4";
+      };
+    }
+    {
+      name = "log4js___log4js_4.5.1.tgz";
+      path = fetchurl {
+        name = "log4js___log4js_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/log4js/-/log4js-4.5.1.tgz";
+        sha1 = "e543625e97d9e6f3e6e7c9fc196dd6ab2cae30b5";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.6.4.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz";
+        sha1 = "f408f4f006db8354d0577dcf6d33485b3cb90d56";
+      };
+    }
+    {
+      name = "longest_streak___longest_streak_2.0.2.tgz";
+      path = fetchurl {
+        name = "longest_streak___longest_streak_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz";
+        sha1 = "2421b6ba939a443bb9ffebf596585a50b4c38e2e";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "loud_rejection___loud_rejection_1.6.0.tgz";
+      path = fetchurl {
+        name = "loud_rejection___loud_rejection_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz";
+        sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+      };
+    }
+    {
+      name = "lower_case___lower_case_1.1.4.tgz";
+      path = fetchurl {
+        name = "lower_case___lower_case_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    }
+    {
+      name = "lowercase_keys___lowercase_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "lowercase_keys___lowercase_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    }
+    {
+      name = "lowlight___lowlight_1.11.0.tgz";
+      path = fetchurl {
+        name = "lowlight___lowlight_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/lowlight/-/lowlight-1.11.0.tgz";
+        sha1 = "1304d83005126d4e8b1dc0f07981e9b689ec2efc";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_4.1.5.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_4.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz";
+        sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_5.1.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+      };
+    }
+    {
+      name = "lz_string___lz_string_1.4.4.tgz";
+      path = fetchurl {
+        name = "lz_string___lz_string_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz";
+        sha1 = "c0d8eaf36059f705796e1e344811cf4c498d3a26";
+      };
+    }
+    {
+      name = "make_dir___make_dir_1.3.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz";
+        sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "make_dir___make_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz";
+        sha1 = "1b5f39f6b9270ed33f9f054c5c0f84304989f801";
+      };
+    }
+    {
+      name = "make_error___make_error_1.3.5.tgz";
+      path = fetchurl {
+        name = "make_error___make_error_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz";
+        sha1 = "efe4e81f6db28cadd605c70f29c831b58ef776c8";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "mamacro___mamacro_0.0.3.tgz";
+      path = fetchurl {
+        name = "mamacro___mamacro_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz";
+        sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4";
+      };
+    }
+    {
+      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      path = fetchurl {
+        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_obj___map_obj_1.0.1.tgz";
+      path = fetchurl {
+        name = "map_obj___map_obj_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz";
+        sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+      };
+    }
+    {
+      name = "map_obj___map_obj_2.0.0.tgz";
+      path = fetchurl {
+        name = "map_obj___map_obj_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz";
+        sha1 = "a65cd29087a92598b8791257a523e021222ac1f9";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "markdown_escapes___markdown_escapes_1.0.2.tgz";
+      path = fetchurl {
+        name = "markdown_escapes___markdown_escapes_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.2.tgz";
+        sha1 = "e639cbde7b99c841c0bacc8a07982873b46d2122";
+      };
+    }
+    {
+      name = "markdown_it___markdown_it_9.0.1.tgz";
+      path = fetchurl {
+        name = "markdown_it___markdown_it_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-it/-/markdown-it-9.0.1.tgz";
+        sha1 = "aafe363c43718720b6575fd10625cde6e4ff2d47";
+      };
+    }
+    {
+      name = "markdown_it___markdown_it_8.4.2.tgz";
+      path = fetchurl {
+        name = "markdown_it___markdown_it_8.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz";
+        sha1 = "386f98998dc15a37722aa7722084f4020bdd9b54";
+      };
+    }
+    {
+      name = "markdown_table___markdown_table_1.1.2.tgz";
+      path = fetchurl {
+        name = "markdown_table___markdown_table_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.2.tgz";
+        sha1 = "c78db948fa879903a41bce522e3b96f801c63786";
+      };
+    }
+    {
+      name = "markdownlint_cli___markdownlint_cli_0.18.0.tgz";
+      path = fetchurl {
+        name = "markdownlint_cli___markdownlint_cli_0.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdownlint-cli/-/markdownlint-cli-0.18.0.tgz";
+        sha1 = "bd1cee72739049d42dcea5f6db0c0f57c6eb8096";
+      };
+    }
+    {
+      name = "markdownlint___markdownlint_0.16.0.tgz";
+      path = fetchurl {
+        name = "markdownlint___markdownlint_0.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.16.0.tgz";
+        sha1 = "69f73cc755a44231fbe5dc7c37a5909cedc0ac6e";
+      };
+    }
+    {
+      name = "marked___marked_0.3.19.tgz";
+      path = fetchurl {
+        name = "marked___marked_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz";
+        sha1 = "5d47f709c4c9fc3c216b6d46127280f40b39d790";
+      };
+    }
+    {
+      name = "mathml_tag_names___mathml_tag_names_2.1.1.tgz";
+      path = fetchurl {
+        name = "mathml_tag_names___mathml_tag_names_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz";
+        sha1 = "6dff66c99d55ecf739ca53c492e626f1d12a33cc";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.4.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz";
+        sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
+      };
+    }
+    {
+      name = "md5___md5_2.2.1.tgz";
+      path = fetchurl {
+        name = "md5___md5_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz";
+        sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9";
+      };
+    }
+    {
+      name = "mdast_util_compact___mdast_util_compact_1.0.2.tgz";
+      path = fetchurl {
+        name = "mdast_util_compact___mdast_util_compact_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz";
+        sha1 = "c12ebe16fffc84573d3e19767726de226e95f649";
+      };
+    }
+    {
+      name = "mdurl___mdurl_1.0.1.tgz";
+      path = fetchurl {
+        name = "mdurl___mdurl_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz";
+        sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "mem___mem_4.3.0.tgz";
+      path = fetchurl {
+        name = "mem___mem_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
+        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.2.0.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz";
+        sha1 = "f2bb25368bc121e391c2520de92969caee0a0290";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "meow___meow_3.7.0.tgz";
+      path = fetchurl {
+        name = "meow___meow_3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz";
+        sha1 = "72cb668b425228290abbfa856892587308a801fb";
+      };
+    }
+    {
+      name = "meow___meow_5.0.0.tgz";
+      path = fetchurl {
+        name = "meow___meow_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz";
+        sha1 = "dfc73d63a9afc714a5e371760eb5c88b91078aa4";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_source_map___merge_source_map_1.1.0.tgz";
+      path = fetchurl {
+        name = "merge_source_map___merge_source_map_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz";
+        sha1 = "2fdde7e6020939f70906a68f2d7ae685e4c8c646";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_stream___merge_stream_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz";
+        sha1 = "4041202d508a342ba00174008df0c251b8c135e1";
+      };
+    }
+    {
+      name = "merge2___merge2_1.2.3.tgz";
+      path = fetchurl {
+        name = "merge2___merge2_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz";
+        sha1 = "7ee99dbd69bb6481689253f018488a1b902b0ed5";
+      };
+    }
+    {
+      name = "mermaid___mermaid_8.4.2.tgz";
+      path = fetchurl {
+        name = "mermaid___mermaid_8.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.2.tgz";
+        sha1 = "91d3d8e9541e72eed7a78d0e882db11564fab3bb";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "micromatch___micromatch_4.0.2.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz";
+        sha1 = "4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259";
+      };
+    }
+    {
+      name = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.40.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.40.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
+        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.24.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
+        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      name = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_1.2.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha1 = "820c86a39334640e99516928bd03fca88057d022";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "minify___minify_4.1.2.tgz";
+      path = fetchurl {
+        name = "minify___minify_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minify/-/minify-4.1.2.tgz";
+        sha1 = "88755f4faa5f7ab6d0c64fdd659aa34ea658f180";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.0.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
+        sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
+      };
+    }
+    {
+      name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist_options___minimist_options_3.0.2.tgz";
+      path = fetchurl {
+        name = "minimist_options___minimist_options_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz";
+        sha1 = "fba4c8191339e13ecf4d61beb03f070103f3d954";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.8.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    }
+    {
+      name = "minimist___minimist_1.1.3.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz";
+        sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.0.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+    {
+      name = "minipass___minipass_2.3.5.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_2.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz";
+        sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848";
+      };
+    }
+    {
+      name = "minizlib___minizlib_1.2.1.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz";
+        sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614";
+      };
+    }
+    {
+      name = "mississippi___mississippi_3.0.0.tgz";
+      path = fetchurl {
+        name = "mississippi___mississippi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
+        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "https___registry.npmjs.org_mkdirp___mkdirp_0.5.1.tgz";
+      path = fetchurl {
+        name = "https___registry.npmjs.org_mkdirp___mkdirp_0.5.1.tgz";
+        url  = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    }
+    {
+      name = "moment_mini___moment_mini_2.22.1.tgz";
+      path = fetchurl {
+        name = "moment_mini___moment_mini_2.22.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.22.1.tgz";
+        sha1 = "bc32d73e43a4505070be6b53494b17623183420d";
+      };
+    }
+    {
+      name = "moment___moment_2.24.0.tgz";
+      path = fetchurl {
+        name = "moment___moment_2.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz";
+        sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b";
+      };
+    }
+    {
+      name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.7.0.tgz";
+      path = fetchurl {
+        name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.7.0.tgz";
+        sha1 = "920cbeecca25f15d70d568a7e11b0ba4daf1ae83";
+      };
+    }
+    {
+      name = "monaco_editor___monaco_editor_0.15.6.tgz";
+      path = fetchurl {
+        name = "monaco_editor___monaco_editor_0.15.6.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.15.6.tgz";
+        sha1 = "d63b3b06f86f803464f003b252627c3eb4a09483";
+      };
+    }
+    {
+      name = "mousetrap___mousetrap_1.4.6.tgz";
+      path = fetchurl {
+        name = "mousetrap___mousetrap_1.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.4.6.tgz";
+        sha1 = "eaca72e22e56d5b769b7555873b688c3332e390a";
+      };
+    }
+    {
+      name = "move_concurrently___move_concurrently_1.0.1.tgz";
+      path = fetchurl {
+        name = "move_concurrently___move_concurrently_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.1.1.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz";
+        sha1 = "6e7de86a570872ab17058adea7160bbeca814dde";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    }
+    {
+      name = "nan___nan_2.14.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
+        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      path = fetchurl {
+        name = "natural_compare___natural_compare_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+    {
+      name = "needle___needle_2.4.0.tgz";
+      path = fetchurl {
+        name = "needle___needle_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
+        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.1.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
+        sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "no_case___no_case_2.3.2.tgz";
+      path = fetchurl {
+        name = "no_case___no_case_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
+        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+      };
+    }
+    {
+      name = "node_ensure___node_ensure_0.0.0.tgz";
+      path = fetchurl {
+        name = "node_ensure___node_ensure_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-ensure/-/node-ensure-0.0.0.tgz";
+        sha1 = "ecae764150de99861ec5c810fd5d096b183932a7";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.6.0.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz";
+        sha1 = "e633456386d4aa55863f676a7ab0daa8fdecb0fd";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.8.2.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.8.2.tgz";
+        sha1 = "b4bcc59fb12ce77a8825fc6a783dfe3182499c5a";
+      };
+    }
+    {
+      name = "node_gyp___node_gyp_3.8.0.tgz";
+      path = fetchurl {
+        name = "node_gyp___node_gyp_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz";
+        sha1 = "540304261c330e80d0d5edce253a68cb3964218c";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_int64___node_int64_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    }
+    {
+      name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    }
+    {
+      name = "node_notifier___node_notifier_5.4.0.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz";
+        sha1 = "7b455fdce9f7de0c63538297354f3db468426e6a";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
+        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.25.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.25.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz";
+        sha1 = "0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3";
+      };
+    }
+    {
+      name = "node_sass___node_sass_4.12.0.tgz";
+      path = fetchurl {
+        name = "node_sass___node_sass_4.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz";
+        sha1 = "0914f531932380114a30cc5fa4fa63233a25f017";
+      };
+    }
+    {
+      name = "nodemon___nodemon_1.18.9.tgz";
+      path = fetchurl {
+        name = "nodemon___nodemon_1.18.9.tgz";
+        url  = "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.9.tgz";
+        sha1 = "90b467efd3b3c81b9453380aeb2a2cba535d0ead";
+      };
+    }
+    {
+      name = "nopt___nopt_3.0.6.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.1.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    }
+    {
+      name = "nopt___nopt_1.0.10.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz";
+        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+      };
+    }
+    {
+      name = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      name = "normalize_selector___normalize_selector_0.2.0.tgz";
+      path = fetchurl {
+        name = "normalize_selector___normalize_selector_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz";
+        sha1 = "d0b145eb691189c63a78d201dc4fdb1293ef0c03";
+      };
+    }
+    {
+      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      path = fetchurl {
+        name = "npm_bundled___npm_bundled_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
+      };
+    }
+    {
+      name = "npm_packlist___npm_packlist_1.4.1.tgz";
+      path = fetchurl {
+        name = "npm_packlist___npm_packlist_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz";
+        sha1 = "19064cdf988da80ea3cee45533879d90192bbfbc";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.0.9.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz";
+        sha1 = "77ac0cdfdcad52b6a1151a84e73254edc33ed016";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_component___object_component_0.0.3.tgz";
+      path = fetchurl {
+        name = "object_component___object_component_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz";
+        sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.7.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha1 = "f4f6bd181ad77f006b5ece60bd0b6f398ff74a67";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.0.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.0.4.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz";
+        sha1 = "1bf9a4dd2288f5b33f3a993d257661f05d161a5f";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "object.values___object.values_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz";
+        sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_2.0.1.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    }
+    {
+      name = "opener___opener_1.5.1.tgz";
+      path = fetchurl {
+        name = "opener___opener_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz";
+        sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      name = "optimism___optimism_0.10.3.tgz";
+      path = fetchurl {
+        name = "optimism___optimism_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz";
+        sha1 = "163268fdc741dea2fb50f300bedda80356445fd7";
+      };
+    }
+    {
+      name = "optimist___optimist_0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist___optimist_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+    {
+      name = "orderedmap___orderedmap_1.0.0.tgz";
+      path = fetchurl {
+        name = "orderedmap___orderedmap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/orderedmap/-/orderedmap-1.0.0.tgz";
+        sha1 = "d90fc2ba1ed085190907d601dec6e6a53f8d41ba";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_locale___os_locale_1.4.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    }
+    {
+      name = "os_locale___os_locale_3.1.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
+        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "p_defer___p_defer_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_defer___p_defer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_is_promise___p_is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_is_promise___p_is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
+      };
+    }
+    {
+      name = "p_limit___p_limit_1.2.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz";
+        sha1 = "0e92b6bedcb59f022c13d0f1949dc82d15909f1c";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz";
+        sha1 = "417c9941e6027a9abcba5092dd2904e255b5fbc2";
+      };
+    }
+    {
+      name = "p_locate___p_locate_2.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_locate___p_locate_4.1.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
+        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
+      };
+    }
+    {
+      name = "p_map___p_map_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz";
+        sha1 = "310928feef9c9ecc65b68b17693018a665cea175";
+      };
+    }
+    {
+      name = "p_reduce___p_reduce_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_reduce___p_reduce_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    }
+    {
+      name = "p_retry___p_retry_3.0.1.tgz";
+      path = fetchurl {
+        name = "p_retry___p_retry_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz";
+        sha1 = "316b4c8893e2c8dc1cfa891f406c4b422bebf328";
+      };
+    }
+    {
+      name = "p_try___p_try_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "package_json___package_json_4.0.1.tgz";
+      path = fetchurl {
+        name = "package_json___package_json_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz";
+        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
+      };
+    }
+    {
+      name = "pako___pako_1.0.6.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz";
+        sha1 = "0101211baa70c4bca4a0f63f2206e97b7dfaf258";
+      };
+    }
+    {
+      name = "parallel_transform___parallel_transform_1.1.0.tgz";
+      path = fetchurl {
+        name = "parallel_transform___parallel_transform_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz";
+        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
+      };
+    }
+    {
+      name = "param_case___param_case_2.1.1.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    }
+    {
+      name = "parse_asn1___parse_asn1_5.1.0.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz";
+        sha1 = "37c4f9b7ed3ab65c74817b5f2480937fbf97c712";
+      };
+    }
+    {
+      name = "parse_color___parse_color_1.0.0.tgz";
+      path = fetchurl {
+        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_entities___parse_entities_1.2.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_json___parse_json_2.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse_passwd___parse_passwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "parse_passwd___parse_passwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    }
+    {
+      name = "parse5___parse5_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
+        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+      };
+    }
+    {
+      name = "parse5___parse5_5.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.0.0.tgz";
+        sha1 = "4d02710d44f3c3846197a11e205d4ef17842b81a";
+      };
+    }
+    {
+      name = "parseqs___parseqs_0.0.5.tgz";
+      path = fetchurl {
+        name = "parseqs___parseqs_0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz";
+        sha1 = "d5208a3738e46766e291ba2ea173684921a8b89d";
+      };
+    }
+    {
+      name = "parseuri___parseuri_0.0.5.tgz";
+      path = fetchurl {
+        name = "parseuri___parseuri_0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz";
+        sha1 = "80204a50d4dbb779bfdc6ebe2778d90e4bce320a";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_2.1.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_exists___path_exists_4.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
+        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_is_inside___path_is_inside_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_is_inside___path_is_inside_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.6.tgz";
+      path = fetchurl {
+        name = "path_parse___path_parse_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
+        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_type___path_type_1.1.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz";
+        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "pbkdf2___pbkdf2_3.0.14.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz";
+        sha1 = "a35e13c64799b06ce15320f459c230e68e73bade";
+      };
+    }
+    {
+      name = "pdfjs_dist___pdfjs_dist_2.1.266.tgz";
+      path = fetchurl {
+        name = "pdfjs_dist___pdfjs_dist_2.1.266.tgz";
+        url  = "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-2.1.266.tgz";
+        sha1 = "cded02268b389559e807f410d2a729db62160026";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.0.7.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz";
+        sha1 = "514169d8c7cd0bdbeecc8a2609e34a7163de69f6";
+      };
+    }
+    {
+      name = "pify___pify_2.3.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pikaday___pikaday_1.8.0.tgz";
+      path = fetchurl {
+        name = "pikaday___pikaday_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/pikaday/-/pikaday-1.8.0.tgz";
+        sha1 = "ce930e257042e852e6aadee1115e01554b2d71c5";
+      };
+    }
+    {
+      name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pixelmatch___pixelmatch_4.0.2.tgz";
+      path = fetchurl {
+        name = "pixelmatch___pixelmatch_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz";
+        sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_4.2.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3";
+      };
+    }
+    {
+      name = "pluralize___pluralize_7.0.0.tgz";
+      path = fetchurl {
+        name = "pluralize___pluralize_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz";
+        sha1 = "298b89df8b93b0221dbf421ad2b1b1ea23fc6777";
+      };
+    }
+    {
+      name = "pn___pn_1.1.0.tgz";
+      path = fetchurl {
+        name = "pn___pn_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
+        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+      };
+    }
+    {
+      name = "pngjs___pngjs_3.3.3.tgz";
+      path = fetchurl {
+        name = "pngjs___pngjs_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/pngjs/-/pngjs-3.3.3.tgz";
+        sha1 = "85173703bde3edac8998757b96e5821d0966a21b";
+      };
+    }
+    {
+      name = "pofile___pofile_1.0.11.tgz";
+      path = fetchurl {
+        name = "pofile___pofile_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/pofile/-/pofile-1.0.11.tgz";
+        sha1 = "35aff58c17491d127a07336d5522ebc9df57c954";
+      };
+    }
+    {
+      name = "popper.js___popper.js_1.15.0.tgz";
+      path = fetchurl {
+        name = "popper.js___popper.js_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz";
+        sha1 = "5560b99bbad7647e9faa475c6b8056621f5a4ff2";
+      };
+    }
+    {
+      name = "portal_vue___portal_vue_2.1.5.tgz";
+      path = fetchurl {
+        name = "portal_vue___portal_vue_2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/portal-vue/-/portal-vue-2.1.5.tgz";
+        sha1 = "ecd0997cb32958205151cb72f40fd4f38d175e5c";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.24.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.24.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz";
+        sha1 = "11efbc6865f12f37624b6531ead1d809ed965cfa";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "postcss_html___postcss_html_0.36.0.tgz";
+      path = fetchurl {
+        name = "postcss_html___postcss_html_0.36.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz";
+        sha1 = "b40913f94eaacc2453fd30a1327ad6ee1f88b204";
+      };
+    }
+    {
+      name = "postcss_jsx___postcss_jsx_0.36.2.tgz";
+      path = fetchurl {
+        name = "postcss_jsx___postcss_jsx_0.36.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.2.tgz";
+        sha1 = "34bcd6752426a60b8df73f069e7595383060a794";
+      };
+    }
+    {
+      name = "postcss_less___postcss_less_3.1.4.tgz";
+      path = fetchurl {
+        name = "postcss_less___postcss_less_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz";
+        sha1 = "369f58642b5928ef898ffbc1a6e93c958304c5ad";
+      };
+    }
+    {
+      name = "postcss_markdown___postcss_markdown_0.36.0.tgz";
+      path = fetchurl {
+        name = "postcss_markdown___postcss_markdown_0.36.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.36.0.tgz";
+        sha1 = "7f22849ae0e3db18820b7b0d5e7833f13a447560";
+      };
+    }
+    {
+      name = "postcss_media_query_parser___postcss_media_query_parser_0.2.3.tgz";
+      path = fetchurl {
+        name = "postcss_media_query_parser___postcss_media_query_parser_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz";
+        sha1 = "27b39c6f4d94f81b1a73b8f76351c609e5cef244";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_1.2.1.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz";
+        sha1 = "dc87e34148ec7eab5f791f7cd5849833375b741a";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_1.2.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz";
+        sha1 = "f7d80c398c5a393fa7964466bd19500a7d61c069";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_1.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz";
+        sha1 = "d6ea64994c79f97b62a72b426fbe6056a194bb90";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_1.3.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz";
+        sha1 = "ecffa9d7e192518389f42ad0e83f72aec456ea20";
+      };
+    }
+    {
+      name = "postcss_reporter___postcss_reporter_6.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_reporter___postcss_reporter_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz";
+        sha1 = "7c055120060a97c8837b4e48215661aafb74245f";
+      };
+    }
+    {
+      name = "postcss_resolve_nested_selector___postcss_resolve_nested_selector_0.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_resolve_nested_selector___postcss_resolve_nested_selector_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz";
+        sha1 = "29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e";
+      };
+    }
+    {
+      name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+        sha1 = "8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea";
+      };
+    }
+    {
+      name = "postcss_sass___postcss_sass_0.3.5.tgz";
+      path = fetchurl {
+        name = "postcss_sass___postcss_sass_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.5.tgz";
+        sha1 = "6d3e39f101a53d2efa091f953493116d32beb68c";
+      };
+    }
+    {
+      name = "postcss_scss___postcss_scss_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_scss___postcss_scss_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz";
+        sha1 = "248b0a28af77ea7b32b1011aba0f738bda27dea1";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+        sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_syntax___postcss_syntax_0.36.2.tgz";
+      path = fetchurl {
+        name = "postcss_syntax___postcss_syntax_0.36.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz";
+        sha1 = "f08578c7d95834574e5593a82dfbfa8afae3b51c";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz";
+        sha1 = "99a983d365f7b2ad8d0f9b8c3094926eab4b936d";
+      };
+    }
+    {
+      name = "postcss___postcss_6.0.23.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_6.0.23.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz";
+        sha1 = "61c82cc328ac60e677645f979054eb98bc0e3324";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.21.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.21.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz";
+        sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+    {
+      name = "prepend_http___prepend_http_1.0.4.tgz";
+      path = fetchurl {
+        name = "prepend_http___prepend_http_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    }
+    {
+      name = "prettier___prettier_1.16.3.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz";
+        sha1 = "8c62168453badef702f34b45b6ee899574a6a65d";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_24.8.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz";
+        sha1 = "8dae7044f58db7cb8be245383b565a963e3c27f2";
+      };
+    }
+    {
+      name = "prismjs___prismjs_1.6.0.tgz";
+      path = fetchurl {
+        name = "prismjs___prismjs_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz";
+        sha1 = "118d95fb7a66dba2272e343b345f5236659db365";
+      };
+    }
+    {
+      name = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      name = "progress___progress_2.0.0.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz";
+        sha1 = "8a1be366bf8fc23db2bd23f10c6fe920b4389d1f";
+      };
+    }
+    {
+      name = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "prompts___prompts_2.1.0.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz";
+        sha1 = "bf90bc71f6065d255ea2bdc0fe6520485c1b45db";
+      };
+    }
+    {
+      name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
+      path = fetchurl {
+        name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.0.7.tgz";
+        sha1 = "e5a2ba821e29ea7065c88277fe2c3d7f6b0b9d37";
+      };
+    }
+    {
+      name = "prosemirror_dropcursor___prosemirror_dropcursor_1.1.1.tgz";
+      path = fetchurl {
+        name = "prosemirror_dropcursor___prosemirror_dropcursor_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.1.1.tgz";
+        sha1 = "c60ed1ed6c58804a06a75db06a0d993b087b7622";
+      };
+    }
+    {
+      name = "prosemirror_gapcursor___prosemirror_gapcursor_1.0.3.tgz";
+      path = fetchurl {
+        name = "prosemirror_gapcursor___prosemirror_gapcursor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz";
+        sha1 = "acc6537fc5a35e9b38966f91a199a382dfc715c4";
+      };
+    }
+    {
+      name = "prosemirror_history___prosemirror_history_1.0.3.tgz";
+      path = fetchurl {
+        name = "prosemirror_history___prosemirror_history_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.0.3.tgz";
+        sha1 = "5fb8591adfc272afaaf0b41bec64ee7d9522a118";
+      };
+    }
+    {
+      name = "prosemirror_inputrules___prosemirror_inputrules_1.0.1.tgz";
+      path = fetchurl {
+        name = "prosemirror_inputrules___prosemirror_inputrules_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.0.1.tgz";
+        sha1 = "f63305fd966379f218e82ca76a2a9b328b66dc7b";
+      };
+    }
+    {
+      name = "prosemirror_keymap___prosemirror_keymap_1.0.1.tgz";
+      path = fetchurl {
+        name = "prosemirror_keymap___prosemirror_keymap_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.0.1.tgz";
+        sha1 = "03ef32b828e3a859dfb570eb84928bf2e5330bc2";
+      };
+    }
+    {
+      name = "prosemirror_markdown___prosemirror_markdown_1.3.0.tgz";
+      path = fetchurl {
+        name = "prosemirror_markdown___prosemirror_markdown_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-markdown/-/prosemirror-markdown-1.3.0.tgz";
+        sha1 = "a100d14c27da7d8fb70818230d786898eeadb7fa";
+      };
+    }
+    {
+      name = "prosemirror_model___prosemirror_model_1.6.4.tgz";
+      path = fetchurl {
+        name = "prosemirror_model___prosemirror_model_1.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.6.4.tgz";
+        sha1 = "2ac37a629448a7dbfd1635450e2fdd63c3450d7d";
+      };
+    }
+    {
+      name = "prosemirror_schema_list___prosemirror_schema_list_1.0.1.tgz";
+      path = fetchurl {
+        name = "prosemirror_schema_list___prosemirror_schema_list_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.0.1.tgz";
+        sha1 = "f216e0cf4809b6074aa27912449ac89897f1ae94";
+      };
+    }
+    {
+      name = "prosemirror_state___prosemirror_state_1.2.2.tgz";
+      path = fetchurl {
+        name = "prosemirror_state___prosemirror_state_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.2.2.tgz";
+        sha1 = "8df26d95fd6fd327c0f9984a760e84d863204154";
+      };
+    }
+    {
+      name = "prosemirror_tables___prosemirror_tables_0.7.10.tgz";
+      path = fetchurl {
+        name = "prosemirror_tables___prosemirror_tables_0.7.10.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-0.7.10.tgz";
+        sha1 = "4b0f623422b4b8f84cdc9c559f8a87579846b3ba";
+      };
+    }
+    {
+      name = "prosemirror_transform___prosemirror_transform_1.1.3.tgz";
+      path = fetchurl {
+        name = "prosemirror_transform___prosemirror_transform_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.1.3.tgz";
+        sha1 = "28cfdf1f9ee514edc40466be7b7db39eed545fdf";
+      };
+    }
+    {
+      name = "prosemirror_utils___prosemirror_utils_0.7.5.tgz";
+      path = fetchurl {
+        name = "prosemirror_utils___prosemirror_utils_0.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.7.5.tgz";
+        sha1 = "11b477647b672ec8f10679ab298a5823dad6457a";
+      };
+    }
+    {
+      name = "prosemirror_view___prosemirror_view_1.6.8.tgz";
+      path = fetchurl {
+        name = "prosemirror_view___prosemirror_view_1.6.8.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.6.8.tgz";
+        sha1 = "33fc1a6e2731633e5d6dc1af1967378f15810b74";
+      };
+    }
+    {
+      name = "proto_list___proto_list_1.2.4.tgz";
+      path = fetchurl {
+        name = "proto_list___proto_list_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.5.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34";
+      };
+    }
+    {
+      name = "prr___prr_1.0.1.tgz";
+      path = fetchurl {
+        name = "prr___prr_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    }
+    {
+      name = "pseudomap___pseudomap_1.0.2.tgz";
+      path = fetchurl {
+        name = "pseudomap___pseudomap_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    }
+    {
+      name = "psl___psl_1.1.29.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.1.29.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz";
+        sha1 = "60f580d360170bb722a797cc704411e6da850c67";
+      };
+    }
+    {
+      name = "pstree.remy___pstree.remy_1.1.6.tgz";
+      path = fetchurl {
+        name = "pstree.remy___pstree.remy_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.6.tgz";
+        sha1 = "73a55aad9e2d95814927131fbf4dc1b62d259f47";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.0.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz";
+        sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
+      };
+    }
+    {
+      name = "pump___pump_2.0.1.tgz";
+      path = fetchurl {
+        name = "pump___pump_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
+        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "pumpify___pumpify_1.5.1.tgz";
+      path = fetchurl {
+        name = "pumpify___pumpify_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
+        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+      };
+    }
+    {
+      name = "punycode___punycode_1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "qjobs___qjobs_1.2.0.tgz";
+      path = fetchurl {
+        name = "qjobs___qjobs_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz";
+        sha1 = "c45e9c61800bd087ef88d7e256423bdd49e5d071";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "querystring_es3___querystring_es3_0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring_es3___querystring_es3_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.1.0.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz";
+        sha1 = "7ded8dfbf7879dcc60d0a644ac6754b283ad17ef";
+      };
+    }
+    {
+      name = "quick_lru___quick_lru_1.1.0.tgz";
+      path = fetchurl {
+        name = "quick_lru___quick_lru_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz";
+        sha1 = "4360b17c61136ad38078397ff11416e186dcfbb8";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.0.6.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz";
+        sha1 = "d302c522948588848a8d300c932b44c24231da80";
+      };
+    }
+    {
+      name = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raphael___raphael_2.2.7.tgz";
+      path = fetchurl {
+        name = "raphael___raphael_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/raphael/-/raphael-2.2.7.tgz";
+        sha1 = "231b19141f8d086986d8faceb66f8b562ee2c810";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "raw_loader___raw_loader_3.1.0.tgz";
+      path = fetchurl {
+        name = "raw_loader___raw_loader_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz";
+        sha1 = "5e9d399a5a222cc0de18f42c3bc5e49677532b3f";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "react_is___react_is_16.8.6.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.8.6.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz";
+        sha1 = "5bbc1e2d29141c9fbdfed456343fe2bc430a6a16";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_1.0.1.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz";
+        sha1 = "3ed496685dba0f8fe118d0691dc51f4a1ff96f07";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_1.1.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz";
+        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.0.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.0.6.tgz";
+        sha1 = "351302e4c68b5abd6a2ed55376a7f9a25be3057a";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.0.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+      };
+    }
+    {
+      name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
+      path = fetchurl {
+        name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/readdir-enhanced/-/readdir-enhanced-2.2.4.tgz";
+        sha1 = "773fb8a8de5f645fb13d9403746d490d4facb3e6";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "readdirp___readdirp_3.1.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz";
+        sha1 = "b158123ac343c8b0f31d65680269cc0fc1025db1";
+      };
+    }
+    {
+      name = "realpath_native___realpath_native_1.1.0.tgz";
+      path = fetchurl {
+        name = "realpath_native___realpath_native_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+      };
+    }
+    {
+      name = "redent___redent_1.0.0.tgz";
+      path = fetchurl {
+        name = "redent___redent_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz";
+        sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
+      };
+    }
+    {
+      name = "redent___redent_2.0.0.tgz";
+      path = fetchurl {
+        name = "redent___redent_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz";
+        sha1 = "c1b2007b42d57eb1389079b3c8333639d5e1ccaa";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
+        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.0.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz";
+        sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
+        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regexpp___regexpp_2.0.1.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz";
+        sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_1.0.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz";
+        sha1 = "86a763f58ee4d7c2f6b102e4764050de7ed90c6b";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_4.6.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz";
+        sha1 = "2037c18b327cfce8a6fea2a4ec441f2432afb8b6";
+      };
+    }
+    {
+      name = "registry_auth_token___registry_auth_token_3.3.2.tgz";
+      path = fetchurl {
+        name = "registry_auth_token___registry_auth_token_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz";
+        sha1 = "851fd49038eecb586911115af845260eec983f20";
+      };
+    }
+    {
+      name = "registry_url___registry_url_3.1.0.tgz";
+      path = fetchurl {
+        name = "registry_url___registry_url_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz";
+        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.2.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
+        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.1.5.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
+        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+      };
+    }
+    {
+      name = "relateurl___relateurl_0.2.7.tgz";
+      path = fetchurl {
+        name = "relateurl___relateurl_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    }
+    {
+      name = "remark_parse___remark_parse_6.0.3.tgz";
+      path = fetchurl {
+        name = "remark_parse___remark_parse_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz";
+        sha1 = "c99131052809da482108413f87b0ee7f52180a3a";
+      };
+    }
+    {
+      name = "remark_stringify___remark_stringify_6.0.4.tgz";
+      path = fetchurl {
+        name = "remark_stringify___remark_stringify_6.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz";
+        sha1 = "16ac229d4d1593249018663c7bddf28aafc4e088";
+      };
+    }
+    {
+      name = "remark___remark_10.0.1.tgz";
+      path = fetchurl {
+        name = "remark___remark_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz";
+        sha1 = "3058076dc41781bf505d8978c291485fe47667df";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "repeating___repeating_2.0.1.tgz";
+      path = fetchurl {
+        name = "repeating___repeating_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    }
+    {
+      name = "replace_ext___replace_ext_1.0.0.tgz";
+      path = fetchurl {
+        name = "replace_ext___replace_ext_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz";
+        sha1 = "de63128373fcbf7c3ccfa4de5a480c45a67958eb";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.1.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz";
+        sha1 = "3eee00b2c5aa83239cfb04c5700da36f81cd08b6";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.5.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz";
+        sha1 = "5281770f68e0c9719e5163fd3fab482215f4fda5";
+      };
+    }
+    {
+      name = "request___request_2.88.0.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
+        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_1.0.1.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "require_uncached___require_uncached_1.0.3.tgz";
+      path = fetchurl {
+        name = "require_uncached___require_uncached_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz";
+        sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+      };
+    }
+    {
+      name = "requireindex___requireindex_1.1.0.tgz";
+      path = fetchurl {
+        name = "requireindex___requireindex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz";
+        sha1 = "e5404b81557ef75db6e49c5a72004893fe03e162";
+      };
+    }
+    {
+      name = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "requizzle___requizzle_0.2.1.tgz";
+      path = fetchurl {
+        name = "requizzle___requizzle_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz";
+        sha1 = "6943c3530c4d9a7e46f1cddd51c158fc670cdbde";
+      };
+    }
+    {
+      name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+      path = fetchurl {
+        name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
+        sha1 = "0e9020dd3d21024458d4ebd27e23e40269810464";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_dir___resolve_dir_1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve_dir___resolve_dir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz";
+        sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_5.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz";
+        sha1 = "c35225843df8f776df21c57557bc087e9dfdfc69";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+    {
+      name = "resolve___resolve_1.12.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz";
+        sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6";
+      };
+    }
+    {
+      name = "restore_cursor___restore_cursor_2.0.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "retry___retry_0.12.0.tgz";
+      path = fetchurl {
+        name = "retry___retry_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz";
+        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+      };
+    }
+    {
+      name = "rfdc___rfdc_1.1.4.tgz";
+      path = fetchurl {
+        name = "rfdc___rfdc_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz";
+        sha1 = "ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.1.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz";
+        sha1 = "0f4584295c53a3628af7e6d79aca21ce57d1c6e7";
+      };
+    }
+    {
+      name = "rope_sequence___rope_sequence_1.2.2.tgz";
+      path = fetchurl {
+        name = "rope_sequence___rope_sequence_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.2.2.tgz";
+        sha1 = "49c4e5c2f54a48e990b050926771e2871bcb31ce";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.4.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz";
+        sha1 = "b50e6b34583f3dd89329a2f23a8a2be072845911";
+      };
+    }
+    {
+      name = "run_async___run_async_2.3.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.tgz";
+      path = fetchurl {
+        name = "run_queue___run_queue_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    }
+    {
+      name = "rw___rw_1.3.3.tgz";
+      path = fetchurl {
+        name = "rw___rw_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz";
+        sha1 = "3f862dfa91ab766b14885ef4d01124bfda074fb4";
+      };
+    }
+    {
+      name = "rxjs___rxjs_6.2.1.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz";
+        sha1 = "246cebec189a6cbc143a3ef9f62d6f4c91813ca1";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      name = "safe_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
+      path = fetchurl {
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
+      };
+    }
+    {
+      name = "sass_graph___sass_graph_2.2.4.tgz";
+      path = fetchurl {
+        name = "sass_graph___sass_graph_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz";
+        sha1 = "13fbd63cd1caf0908b9fd93476ad43a51d1e0b49";
+      };
+    }
+    {
+      name = "sax___sax_1.2.1.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz";
+        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_0.4.5.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_0.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz";
+        sha1 = "21836f0608aac17b78f9e3e24daff14a5ca13a3e";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.2.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz";
+        sha1 = "48a065ce219e0cacf4631473159037b2c1ae82da";
+      };
+    }
+    {
+      name = "scope_css___scope_css_1.2.1.tgz";
+      path = fetchurl {
+        name = "scope_css___scope_css_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz";
+        sha1 = "c35768bc900cad030a3e0d663a818c0f6a57f40e";
+      };
+    }
+    {
+      name = "scss_tokenizer___scss_tokenizer_0.2.3.tgz";
+      path = fetchurl {
+        name = "scss_tokenizer___scss_tokenizer_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz";
+        sha1 = "8eb06db9a9723333824d3f5530641149847ce5d1";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "select2___select2_3.5.2_browserify.tgz";
+      path = fetchurl {
+        name = "select2___select2_3.5.2_browserify.tgz";
+        url  = "https://registry.yarnpkg.com/select2/-/select2-3.5.2-browserify.tgz";
+        sha1 = "dc4dafda38d67a734e8a97a46f0d3529ae05391d";
+      };
+    }
+    {
+      name = "select___select_1.1.2.tgz";
+      path = fetchurl {
+        name = "select___select_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz";
+        sha1 = "0e7350acdec80b1108528786ec1d4418d11b396d";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.6.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.6.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.6.tgz";
+        sha1 = "7b3cd37ed9c2034261a173af1a1aae27d8169b67";
+      };
+    }
+    {
+      name = "semver_diff___semver_diff_2.1.0.tgz";
+      path = fetchurl {
+        name = "semver_diff___semver_diff_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz";
+        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+      };
+    }
+    {
+      name = "semver___semver_5.7.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz";
+        sha1 = "790a7cf6fea5459bac96110b29b60412dc8ff96b";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "semver___semver_5.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_1.7.0.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz";
+        sha1 = "d6e0dfb2a3832a8c94468e6eb1db97e55a192a65";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_0.4.3.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz";
+        sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz";
+        sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.0.3.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz";
+        sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.10.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz";
+        sha1 = "b1fde5cd7d11a5626638a07c604ab909cfa31f9b";
+      };
+    }
+    {
+      name = "sha1___sha1_1.1.1.tgz";
+      path = fetchurl {
+        name = "sha1___sha1_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz";
+        sha1 = "addaa7a93168f393f19eb2b15091618e2700f848";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "sigmund___sigmund_1.0.1.tgz";
+      path = fetchurl {
+        name = "sigmund___sigmund_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.2.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.0.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz";
+        sha1 = "77d9622ff909080f1c19e5f4a1df0c1b0a27b88c";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "slash___slash_2.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz";
+        sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44";
+      };
+    }
+    {
+      name = "slash___slash_3.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "slugify___slugify_1.3.1.tgz";
+      path = fetchurl {
+        name = "slugify___slugify_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/slugify/-/slugify-1.3.1.tgz";
+        sha1 = "f572127e8535329fbc6c1edb74ab856b61ad7de2";
+      };
+    }
+    {
+      name = "smooshpack___smooshpack_0.0.54.tgz";
+      path = fetchurl {
+        name = "smooshpack___smooshpack_0.0.54.tgz";
+        url  = "https://registry.yarnpkg.com/smooshpack/-/smooshpack-0.0.54.tgz";
+        sha1 = "9044358b85052d348b801f385678c8a0c76f2bb6";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "socket.io_adapter___socket.io_adapter_1.1.1.tgz";
+      path = fetchurl {
+        name = "socket.io_adapter___socket.io_adapter_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz";
+        sha1 = "2a805e8a14d6372124dd9159ad4502f8cb07f06b";
+      };
+    }
+    {
+      name = "socket.io_client___socket.io_client_2.1.1.tgz";
+      path = fetchurl {
+        name = "socket.io_client___socket.io_client_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz";
+        sha1 = "dcb38103436ab4578ddb026638ae2f21b623671f";
+      };
+    }
+    {
+      name = "socket.io_parser___socket.io_parser_3.2.0.tgz";
+      path = fetchurl {
+        name = "socket.io_parser___socket.io_parser_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz";
+        sha1 = "e7c6228b6aa1f814e6148aea325b51aa9499e077";
+      };
+    }
+    {
+      name = "socket.io___socket.io_2.1.1.tgz";
+      path = fetchurl {
+        name = "socket.io___socket.io_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz";
+        sha1 = "a069c5feabee3e6b214a75b40ce0652e1cfb9980";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.4.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.19.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz";
+        sha1 = "d976bbe800af7bd20ae08598d582393508993c0d";
+      };
+    }
+    {
+      name = "sortablejs___sortablejs_1.10.0.tgz";
+      path = fetchurl {
+        name = "sortablejs___sortablejs_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.10.0.tgz";
+        sha1 = "0ebc054acff2486569194a2f975b2b145dd5e7d6";
+      };
+    }
+    {
+      name = "source_list_map___source_list_map_2.0.0.tgz";
+      path = fetchurl {
+        name = "source_list_map___source_list_map_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz";
+        sha1 = "aaa47403f7b245a92fbc97ea08f250d6087ed085";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.13.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.0.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.0.tgz";
+        sha1 = "0fe96503ac86a5adb5de63f4e412ae4872cdbe86";
+      };
+    }
+    {
+      name = "source_map___source_map_0.4.4.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "source_map___source_map_0.7.3.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz";
+        sha1 = "5302f8169031735226544092e64981f751750383";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_1.0.2.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz";
+        sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_1.0.4.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz";
+        sha1 = "9bdf2f20e1f40ed447fbe273266191fced51626c";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_1.2.2.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
+        sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+      };
+    }
+    {
+      name = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.1.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz";
+        sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2";
+      };
+    }
+    {
+      name = "specificity___specificity_0.4.1.tgz";
+      path = fetchurl {
+        name = "specificity___specificity_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz";
+        sha1 = "aab5e645012db08ba182e151165738d00887b019";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+    {
+      name = "sql.js___sql.js_0.4.0.tgz";
+      path = fetchurl {
+        name = "sql.js___sql.js_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sql.js/-/sql.js-0.4.0.tgz";
+        sha1 = "23be9635520eb0ff43a741e7e830397266e88445";
+      };
+    }
+    {
+      name = "srcset___srcset_1.0.0.tgz";
+      path = fetchurl {
+        name = "srcset___srcset_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz";
+        sha1 = "a5669de12b42f3b1d5e83ed03c71046fc48f41ef";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.15.2.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.15.2.tgz";
+        sha1 = "c946d6bd9b1a39d0e8635763f5242d6ed6dcb629";
+      };
+    }
+    {
+      name = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+      };
+    }
+    {
+      name = "state_toggle___state_toggle_1.0.1.tgz";
+      path = fetchurl {
+        name = "state_toggle___state_toggle_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz";
+        sha1 = "c3cb0974f40a6a0f8e905b96789eb41afa1cde3a";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "statuses___statuses_1.3.1.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz";
+        sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
+      };
+    }
+    {
+      name = "stdout_stream___stdout_stream_1.4.1.tgz";
+      path = fetchurl {
+        name = "stdout_stream___stdout_stream_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz";
+        sha1 = "5ac174cdd5cd726104aa0c0b2bd83815d8d535de";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stickyfilljs___stickyfilljs_2.0.5.tgz";
+      path = fetchurl {
+        name = "stickyfilljs___stickyfilljs_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stickyfilljs/-/stickyfilljs-2.0.5.tgz";
+        sha1 = "d229e372d2199ddf5d283bbe34ac1f7d2529c2fc";
+      };
+    }
+    {
+      name = "stream_browserify___stream_browserify_2.0.1.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz";
+        sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
+      };
+    }
+    {
+      name = "stream_each___stream_each_1.2.2.tgz";
+      path = fetchurl {
+        name = "stream_each___stream_each_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz";
+        sha1 = "8e8c463f91da8991778765873fe4d960d8f616bd";
+      };
+    }
+    {
+      name = "stream_http___stream_http_2.8.2.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz";
+        sha1 = "4126e8c6b107004465918aa2fc35549e77402c87";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.0.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+    {
+      name = "streamroller___streamroller_1.0.6.tgz";
+      path = fetchurl {
+        name = "streamroller___streamroller_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/streamroller/-/streamroller-1.0.6.tgz";
+        sha1 = "8167d8496ed9f19f05ee4b158d9611321b8cacd9";
+      };
+    }
+    {
+      name = "string_length___string_length_2.0.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string_width___string_width_4.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz";
+        sha1 = "ba846d1daa97c3c596155308063e075ed1c99aff";
+      };
+    }
+    {
+      name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha1 = "6cc47f0d7eb8d62b0f3701611715a3954591d634";
+      };
+    }
+    {
+      name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha1 = "669d164be9df9b6f7559fa8e89945b168a5a6c58";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz";
+        sha1 = "a98417e5471fd227b3e45d3db1861c11caf668f7";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_2.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz";
+        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz";
+        sha1 = "7a5625eff8a2b226cf8947a11254da96e13dae89";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_indent___strip_indent_1.0.1.tgz";
+      path = fetchurl {
+        name = "strip_indent___strip_indent_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz";
+        sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
+      };
+    }
+    {
+      name = "strip_indent___strip_indent_2.0.0.tgz";
+      path = fetchurl {
+        name = "strip_indent___strip_indent_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz";
+        sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+    {
+      name = "style_loader___style_loader_1.0.0.tgz";
+      path = fetchurl {
+        name = "style_loader___style_loader_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz";
+        sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82";
+      };
+    }
+    {
+      name = "style_search___style_search_0.1.0.tgz";
+      path = fetchurl {
+        name = "style_search___style_search_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz";
+        sha1 = "7958c793e47e32e07d2b5cafe5c0bf8e12e77902";
+      };
+    }
+    {
+      name = "stylelint_config_recommended___stylelint_config_recommended_2.2.0.tgz";
+      path = fetchurl {
+        name = "stylelint_config_recommended___stylelint_config_recommended_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz";
+        sha1 = "46ab139db4a0e7151fd5f94af155512886c96d3f";
+      };
+    }
+    {
+      name = "stylelint_scss___stylelint_scss_3.9.2.tgz";
+      path = fetchurl {
+        name = "stylelint_scss___stylelint_scss_3.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-3.9.2.tgz";
+        sha1 = "5435174a57696ee52eae40146778a4e62f7ed3a3";
+      };
+    }
+    {
+      name = "stylelint___stylelint_10.1.0.tgz";
+      path = fetchurl {
+        name = "stylelint___stylelint_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/stylelint/-/stylelint-10.1.0.tgz";
+        sha1 = "1bc4c4ce878107e7c396b19226d91ba28268911a";
+      };
+    }
+    {
+      name = "sugarss___sugarss_2.0.0.tgz";
+      path = fetchurl {
+        name = "sugarss___sugarss_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz";
+        sha1 = "ddd76e0124b297d40bf3cca31c8b22ecb43bc61d";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "svg_tags___svg_tags_1.0.0.tgz";
+      path = fetchurl {
+        name = "svg_tags___svg_tags_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz";
+        sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764";
+      };
+    }
+    {
+      name = "svg4everybody___svg4everybody_2.1.9.tgz";
+      path = fetchurl {
+        name = "svg4everybody___svg4everybody_2.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/svg4everybody/-/svg4everybody-2.1.9.tgz";
+        sha1 = "5bd9f6defc133859a044646d4743fabc28db7e2d";
+      };
+    }
+    {
+      name = "swagger_ui_dist___swagger_ui_dist_3.24.3.tgz";
+      path = fetchurl {
+        name = "swagger_ui_dist___swagger_ui_dist_3.24.3.tgz";
+        url  = "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-3.24.3.tgz";
+        sha1 = "99754d11b0ddd314a1a50db850acb415e4b0a0c6";
+      };
+    }
+    {
+      name = "symbol_observable___symbol_observable_1.2.0.tgz";
+      path = fetchurl {
+        name = "symbol_observable___symbol_observable_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz";
+        sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804";
+      };
+    }
+    {
+      name = "symbol_tree___symbol_tree_3.2.2.tgz";
+      path = fetchurl {
+        name = "symbol_tree___symbol_tree_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz";
+        sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6";
+      };
+    }
+    {
+      name = "table___table_5.4.4.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz";
+        sha1 = "6e0f88fdae3692793d1077fd172a4667afe986a6";
+      };
+    }
+    {
+      name = "taffydb___taffydb_2.6.2.tgz";
+      path = fetchurl {
+        name = "taffydb___taffydb_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz";
+        sha1 = "7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268";
+      };
+    }
+    {
+      name = "tapable___tapable_0.1.10.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_0.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz";
+        sha1 = "29c35707c2b70e50d07482b5d202e8ed446dafd4";
+      };
+    }
+    {
+      name = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      name = "tar___tar_2.2.2.tgz";
+      path = fetchurl {
+        name = "tar___tar_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz";
+        sha1 = "0ca8848562c7299b8b446ff6a4d60cdbb23edc40";
+      };
+    }
+    {
+      name = "tar___tar_4.4.8.tgz";
+      path = fetchurl {
+        name = "tar___tar_4.4.8.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz";
+        sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d";
+      };
+    }
+    {
+      name = "term_size___term_size_1.2.0.tgz";
+      path = fetchurl {
+        name = "term_size___term_size_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz";
+        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4";
+      };
+    }
+    {
+      name = "terser___terser_4.3.1.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.3.1.tgz";
+        sha1 = "09820bcb3398299c4b48d9a86aefc65127d0ed65";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.0.0.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz";
+        sha1 = "cdce7cece785e0e829cd5c2b27baf18bc583cfb7";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      path = fetchurl {
+        name = "text_table___text_table_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+    {
+      name = "textextensions___textextensions_2.2.0.tgz";
+      path = fetchurl {
+        name = "textextensions___textextensions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz";
+        sha1 = "38ac676151285b658654581987a0ce1a4490d286";
+      };
+    }
+    {
+      name = "three_orbit_controls___three_orbit_controls_82.1.0.tgz";
+      path = fetchurl {
+        name = "three_orbit_controls___three_orbit_controls_82.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/three-orbit-controls/-/three-orbit-controls-82.1.0.tgz";
+        sha1 = "11a7f33d0a20ecec98f098b37780f6537374fab4";
+      };
+    }
+    {
+      name = "three_stl_loader___three_stl_loader_1.0.4.tgz";
+      path = fetchurl {
+        name = "three_stl_loader___three_stl_loader_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/three-stl-loader/-/three-stl-loader-1.0.4.tgz";
+        sha1 = "6b3319a31e3b910aab1883d19b00c81a663c3e03";
+      };
+    }
+    {
+      name = "three___three_0.84.0.tgz";
+      path = fetchurl {
+        name = "three___three_0.84.0.tgz";
+        url  = "https://registry.yarnpkg.com/three/-/three-0.84.0.tgz";
+        sha1 = "95be85a55a0fa002aa625ed559130957dcffd918";
+      };
+    }
+    {
+      name = "throat___throat_4.1.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    }
+    {
+      name = "throttle_debounce___throttle_debounce_2.0.1.tgz";
+      path = fetchurl {
+        name = "throttle_debounce___throttle_debounce_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.0.1.tgz";
+        sha1 = "7307ddd6cd9acadb349132fbf6c18d78c88a5e62";
+      };
+    }
+    {
+      name = "through2___through2_2.0.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
+        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "thunky___thunky_0.1.0.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz";
+        sha1 = "bf30146824e2b6e67b0f2d7a4ac8beb26908684e";
+      };
+    }
+    {
+      name = "timeago.js___timeago.js_4.0.1.tgz";
+      path = fetchurl {
+        name = "timeago.js___timeago.js_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/timeago.js/-/timeago.js-4.0.1.tgz";
+        sha1 = "4be4aa19565ceaeb0da31fe14e01ce6ca4742da6";
+      };
+    }
+    {
+      name = "timed_out___timed_out_4.0.1.tgz";
+      path = fetchurl {
+        name = "timed_out___timed_out_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz";
+        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+      };
+    }
+    {
+      name = "timers_browserify___timers_browserify_2.0.10.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz";
+        sha1 = "1d28e3d2aadf1d5a5996c4e9f95601cd053480ae";
+      };
+    }
+    {
+      name = "timezone_mock___timezone_mock_1.0.8.tgz";
+      path = fetchurl {
+        name = "timezone_mock___timezone_mock_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/timezone-mock/-/timezone-mock-1.0.8.tgz";
+        sha1 = "1b9f7af13f2bf84b7aa3d3d6e24aa17255b6037d";
+      };
+    }
+    {
+      name = "tiny_emitter___tiny_emitter_2.0.2.tgz";
+      path = fetchurl {
+        name = "tiny_emitter___tiny_emitter_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz";
+        sha1 = "82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c";
+      };
+    }
+    {
+      name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
+      path = fetchurl {
+        name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.4.0.tgz";
+        sha1 = "0cfb3ac138ee3099de56114cb119abd841fbcbe7";
+      };
+    }
+    {
+      name = "tiptap_extensions___tiptap_extensions_1.8.0.tgz";
+      path = fetchurl {
+        name = "tiptap_extensions___tiptap_extensions_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.8.0.tgz";
+        sha1 = "3067620a024f1a9e5fae4450790b143d7ebe4394";
+      };
+    }
+    {
+      name = "tiptap_utils___tiptap_utils_1.1.1.tgz";
+      path = fetchurl {
+        name = "tiptap_utils___tiptap_utils_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.1.1.tgz";
+        sha1 = "e7aad3e84eb35f7abed704d15da0420029789d0d";
+      };
+    }
+    {
+      name = "tiptap___tiptap_1.8.0.tgz";
+      path = fetchurl {
+        name = "tiptap___tiptap_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiptap/-/tiptap-1.8.0.tgz";
+        sha1 = "c671188075ffa5ee4f86470f95818fd9ce6f1040";
+      };
+    }
+    {
+      name = "tmp___tmp_0.0.33.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz";
+        sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_array___to_array_0.1.4.tgz";
+      path = fetchurl {
+        name = "to_array___to_array_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz";
+        sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890";
+      };
+    }
+    {
+      name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toggle_selection___toggle_selection_1.0.6.tgz";
+      path = fetchurl {
+        name = "toggle_selection___toggle_selection_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "touch___touch_3.1.0.tgz";
+      path = fetchurl {
+        name = "touch___touch_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz";
+        sha1 = "fe365f5f75ec9ed4e56825e0bb76d24ab74af83b";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+      };
+    }
+    {
+      name = "tr46___tr46_1.0.1.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    }
+    {
+      name = "trim_newlines___trim_newlines_1.0.0.tgz";
+      path = fetchurl {
+        name = "trim_newlines___trim_newlines_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz";
+        sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
+      };
+    }
+    {
+      name = "trim_newlines___trim_newlines_2.0.0.tgz";
+      path = fetchurl {
+        name = "trim_newlines___trim_newlines_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz";
+        sha1 = "b403d0b91be50c331dfc4b82eeceb22c3de16d20";
+      };
+    }
+    {
+      name = "trim_trailing_lines___trim_trailing_lines_1.1.1.tgz";
+      path = fetchurl {
+        name = "trim_trailing_lines___trim_trailing_lines_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz";
+        sha1 = "e0ec0810fd3c3f1730516b45f49083caaf2774d9";
+      };
+    }
+    {
+      name = "trim___trim_0.0.1.tgz";
+      path = fetchurl {
+        name = "trim___trim_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz";
+        sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
+      };
+    }
+    {
+      name = "trough___trough_1.0.3.tgz";
+      path = fetchurl {
+        name = "trough___trough_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/trough/-/trough-1.0.3.tgz";
+        sha1 = "e29bd1614c6458d44869fc28b255ab7857ef7c24";
+      };
+    }
+    {
+      name = "true_case_path___true_case_path_1.0.3.tgz";
+      path = fetchurl {
+        name = "true_case_path___true_case_path_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz";
+        sha1 = "f813b5a8c86b40da59606722b144e3225799f47d";
+      };
+    }
+    {
+      name = "try_catch___try_catch_2.0.0.tgz";
+      path = fetchurl {
+        name = "try_catch___try_catch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.0.tgz";
+        sha1 = "a491141d597f8b72b46757fe1c47059341a16aed";
+      };
+    }
+    {
+      name = "try_to_catch___try_to_catch_1.1.1.tgz";
+      path = fetchurl {
+        name = "try_to_catch___try_to_catch_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz";
+        sha1 = "770162dd13b9a0e55da04db5b7f888956072038a";
+      };
+    }
+    {
+      name = "tryer___tryer_1.0.0.tgz";
+      path = fetchurl {
+        name = "tryer___tryer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tryer/-/tryer-1.0.0.tgz";
+        sha1 = "027b69fa823225e551cace3ef03b11f6ab37c1d7";
+      };
+    }
+    {
+      name = "ts_invariant___ts_invariant_0.3.2.tgz";
+      path = fetchurl {
+        name = "ts_invariant___ts_invariant_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.3.2.tgz";
+        sha1 = "89a2ffeb70879b777258df1df1c59383c35209b0";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz";
+        sha1 = "3f26bf2ec1fa584863a5a9c29bd8717d549efbf6";
+      };
+    }
+    {
+      name = "tslib___tslib_1.9.3.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz";
+        sha1 = "d7e4dd79245d85428c4d7e4822a79917954ca286";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "typescript___typescript_3.3.4000.tgz";
+      path = fetchurl {
+        name = "typescript___typescript_3.3.4000.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz";
+        sha1 = "76b0f89cfdbf97827e1112d64f283f1151d6adf0";
+      };
+    }
+    {
+      name = "uc.micro___uc.micro_1.0.5.tgz";
+      path = fetchurl {
+        name = "uc.micro___uc.micro_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz";
+        sha1 = "0c65f15f815aa08b560a61ce8b4db7ffc3f45376";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.6.0.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha1 = "704681345c53a8b2079fb6cec294b05ead242ff5";
+      };
+    }
+    {
+      name = "ultron___ultron_1.1.1.tgz";
+      path = fetchurl {
+        name = "ultron___ultron_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz";
+        sha1 = "9fe1536a10a664a65266a1e3ccf85fd36302bc9c";
+      };
+    }
+    {
+      name = "undefsafe___undefsafe_2.0.2.tgz";
+      path = fetchurl {
+        name = "undefsafe___undefsafe_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz";
+        sha1 = "225f6b9e0337663e0d8e7cfd686fc2836ccace76";
+      };
+    }
+    {
+      name = "underscore_contrib___underscore_contrib_0.3.0.tgz";
+      path = fetchurl {
+        name = "underscore_contrib___underscore_contrib_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz";
+        sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7";
+      };
+    }
+    {
+      name = "underscore___underscore_1.6.0.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+      };
+    }
+    {
+      name = "underscore___underscore_1.9.0.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.9.0.tgz";
+        sha1 = "31dbb314cfcc88f169cd3692d9149d81a00a73e4";
+      };
+    }
+    {
+      name = "underscore___underscore_1.8.3.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    }
+    {
+      name = "unherit___unherit_1.1.1.tgz";
+      path = fetchurl {
+        name = "unherit___unherit_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz";
+        sha1 = "132748da3e88eab767e08fabfbb89c5e9d28628c";
+      };
+    }
+    {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
+        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz";
+        sha1 = "5a533f31b4317ea76f17d807fa0d116546111dd0";
+      };
+    }
+    {
+      name = "unified___unified_7.1.0.tgz";
+      path = fetchurl {
+        name = "unified___unified_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz";
+        sha1 = "5032f1c1ee3364bd09da12e27fdd4a7553c7be13";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz";
+        sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4";
+      };
+    }
+    {
+      name = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.0.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz";
+        sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
+      };
+    }
+    {
+      name = "unique_string___unique_string_1.0.0.tgz";
+      path = fetchurl {
+        name = "unique_string___unique_string_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz";
+        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz";
+        sha1 = "9be49cfbae5ca1566b27536670a92836bf2f8d6d";
+      };
+    }
+    {
+      name = "unist_util_is___unist_util_is_2.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_is___unist_util_is_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.2.tgz";
+        sha1 = "1193fa8f2bfbbb82150633f3a8d2eb9a1c1d55db";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz";
+        sha1 = "86b5dad104d0bbfbeb1db5f5c92f3570575c12cb";
+      };
+    }
+    {
+      name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz";
+        sha1 = "3f37fcf351279dcbca7480ab5889bb8a832ee1c6";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz";
+        sha1 = "63fffc8929027bee04bfef7d2cce474f71cb6217";
+      };
+    }
+    {
+      name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+      path = fetchurl {
+        name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz";
+        sha1 = "4724aaa8486e6ee6e26d7ff3c8685960d560b1e3";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "unzip_response___unzip_response_2.0.1.tgz";
+      path = fetchurl {
+        name = "unzip_response___unzip_response_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz";
+        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
+      };
+    }
+    {
+      name = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      name = "update_notifier___update_notifier_2.5.0.tgz";
+      path = fetchurl {
+        name = "update_notifier___update_notifier_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz";
+        sha1 = "d0744593e13f161e406acb1d9408b72cad08aff6";
+      };
+    }
+    {
+      name = "upper_case___upper_case_1.1.3.tgz";
+      path = fetchurl {
+        name = "upper_case___upper_case_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.2.2.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
+        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_loader___url_loader_2.1.0.tgz";
+      path = fetchurl {
+        name = "url_loader___url_loader_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz";
+        sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961";
+      };
+    }
+    {
+      name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
+      path = fetchurl {
+        name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
+        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.4.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz";
+        sha1 = "cac1556e95faa0303691fec5cf9d5a1bc34648f8";
+      };
+    }
+    {
+      name = "url_search_params_polyfill___url_search_params_polyfill_5.0.0.tgz";
+      path = fetchurl {
+        name = "url_search_params_polyfill___url_search_params_polyfill_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-search-params-polyfill/-/url-search-params-polyfill-5.0.0.tgz";
+        sha1 = "09b98337c89dcf6c6a6a0bfeb096f6ba83b7526b";
+      };
+    }
+    {
+      name = "url___url_0.10.3.tgz";
+      path = fetchurl {
+        name = "url___url_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz";
+        sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "useragent___useragent_2.3.0.tgz";
+      path = fetchurl {
+        name = "useragent___useragent_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz";
+        sha1 = "217f943ad540cb2128658ab23fc960f6a88c9972";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.0.0.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
+      };
+    }
+    {
+      name = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.3.2.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz";
+        sha1 = "1b4af4955eb3077c501c23872fc6513811587131";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.0.3.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz";
+        sha1 = "00f7494d2ae2b688cfe2899df6ed2c54bef91dbe";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.1.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
+        sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "vfile_location___vfile_location_2.0.4.tgz";
+      path = fetchurl {
+        name = "vfile_location___vfile_location_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.4.tgz";
+        sha1 = "2a5e7297dd0d9e2da4381464d04acc6b834d3e55";
+      };
+    }
+    {
+      name = "vfile_message___vfile_message_1.1.1.tgz";
+      path = fetchurl {
+        name = "vfile_message___vfile_message_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz";
+        sha1 = "5833ae078a1dfa2d96e9647886cd32993ab313e1";
+      };
+    }
+    {
+      name = "vfile___vfile_3.0.1.tgz";
+      path = fetchurl {
+        name = "vfile___vfile_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz";
+        sha1 = "47331d2abe3282424f4a4bb6acd20a44c4121803";
+      };
+    }
+    {
+      name = "visibilityjs___visibilityjs_1.2.4.tgz";
+      path = fetchurl {
+        name = "visibilityjs___visibilityjs_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/visibilityjs/-/visibilityjs-1.2.4.tgz";
+        sha1 = "bff8663da62c8c10ad4ee5ae6a1ae6fac4259d63";
+      };
+    }
+    {
+      name = "vm_browserify___vm_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019";
+      };
+    }
+    {
+      name = "void_elements___void_elements_2.0.1.tgz";
+      path = fetchurl {
+        name = "void_elements___void_elements_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    }
+    {
+      name = "vue_apollo___vue_apollo_3.0.0_beta.28.tgz";
+      path = fetchurl {
+        name = "vue_apollo___vue_apollo_3.0.0_beta.28.tgz";
+        url  = "https://registry.yarnpkg.com/vue-apollo/-/vue-apollo-3.0.0-beta.28.tgz";
+        sha1 = "be6a3a1504be2096cbfb23996537e2fc95c8c239";
+      };
+    }
+    {
+      name = "vue_eslint_parser___vue_eslint_parser_4.0.3.tgz";
+      path = fetchurl {
+        name = "vue_eslint_parser___vue_eslint_parser_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-4.0.3.tgz";
+        sha1 = "80cf162e484387b2640371ad21ba1f86e0c10a61";
+      };
+    }
+    {
+      name = "vue_eslint_parser___vue_eslint_parser_6.0.4.tgz";
+      path = fetchurl {
+        name = "vue_eslint_parser___vue_eslint_parser_6.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-6.0.4.tgz";
+        sha1 = "56ff47e2c2644bff39951d5a284982c7ecd6f7fa";
+      };
+    }
+    {
+      name = "vue_functional_data_merge___vue_functional_data_merge_3.1.0.tgz";
+      path = fetchurl {
+        name = "vue_functional_data_merge___vue_functional_data_merge_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz";
+        sha1 = "08a7797583b7f35680587f8a1d51d729aa1dc657";
+      };
+    }
+    {
+      name = "vue_hot_reload_api___vue_hot_reload_api_2.3.0.tgz";
+      path = fetchurl {
+        name = "vue_hot_reload_api___vue_hot_reload_api_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz";
+        sha1 = "97976142405d13d8efae154749e88c4e358cf926";
+      };
+    }
+    {
+      name = "vue_jest___vue_jest_4.0.0_beta.2.tgz";
+      path = fetchurl {
+        name = "vue_jest___vue_jest_4.0.0_beta.2.tgz";
+        url  = "https://registry.yarnpkg.com/vue-jest/-/vue-jest-4.0.0-beta.2.tgz";
+        sha1 = "f2120ea9d24224aad3a100c2010b0760d47ee6fe";
+      };
+    }
+    {
+      name = "vue_loader___vue_loader_15.7.1.tgz";
+      path = fetchurl {
+        name = "vue_loader___vue_loader_15.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.7.1.tgz";
+        sha1 = "6ccacd4122aa80f69baaac08ff295a62e3aefcfd";
+      };
+    }
+    {
+      name = "vue_router___vue_router_3.0.2.tgz";
+      path = fetchurl {
+        name = "vue_router___vue_router_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.2.tgz";
+        sha1 = "dedc67afe6c4e2bc25682c8b1c2a8c0d7c7e56be";
+      };
+    }
+    {
+      name = "vue_style_loader___vue_style_loader_4.1.0.tgz";
+      path = fetchurl {
+        name = "vue_style_loader___vue_style_loader_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.0.tgz";
+        sha1 = "7588bd778e2c9f8d87bfc3c5a4a039638da7a863";
+      };
+    }
+    {
+      name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
+      path = fetchurl {
+        name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz";
+        sha1 = "323b4f3495f04faa3503337a82f5d6507799c9cc";
+      };
+    }
+    {
+      name = "vue_template_es2015_compiler___vue_template_es2015_compiler_1.9.1.tgz";
+      path = fetchurl {
+        name = "vue_template_es2015_compiler___vue_template_es2015_compiler_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz";
+        sha1 = "1ee3bc9a16ecbf5118be334bb15f9c46f82f5825";
+      };
+    }
+    {
+      name = "vue_virtual_scroll_list___vue_virtual_scroll_list_1.3.1.tgz";
+      path = fetchurl {
+        name = "vue_virtual_scroll_list___vue_virtual_scroll_list_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/vue-virtual-scroll-list/-/vue-virtual-scroll-list-1.3.1.tgz";
+        sha1 = "efcb83d3a3dcc69cd886fa4de1130a65493e8f76";
+      };
+    }
+    {
+      name = "vue___vue_2.6.10.tgz";
+      path = fetchurl {
+        name = "vue___vue_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/vue/-/vue-2.6.10.tgz";
+        sha1 = "a72b1a42a4d82a721ea438d1b6bf55e66195c637";
+      };
+    }
+    {
+      name = "vuedraggable___vuedraggable_2.23.0.tgz";
+      path = fetchurl {
+        name = "vuedraggable___vuedraggable_2.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/vuedraggable/-/vuedraggable-2.23.0.tgz";
+        sha1 = "1f4a5a601675a5dbf0d96ee61aebfffa43445262";
+      };
+    }
+    {
+      name = "vuex___vuex_3.1.0.tgz";
+      path = fetchurl {
+        name = "vuex___vuex_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vuex/-/vuex-3.1.0.tgz";
+        sha1 = "634b81515cf0cfe976bd1ffe9601755e51f843b9";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    }
+    {
+      name = "w3c_keyname___w3c_keyname_1.1.8.tgz";
+      path = fetchurl {
+        name = "w3c_keyname___w3c_keyname_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-1.1.8.tgz";
+        sha1 = "4e2219663760fd6535b7a1550f1552d71fc9372c";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.6.0.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
+        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+      };
+    }
+    {
+      name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.5.1.tgz";
+      path = fetchurl {
+        name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.5.1.tgz";
+        sha1 = "84aabb1547178d842ebb4ccc7324084b6c3b0ea9";
+      };
+    }
+    {
+      name = "webpack_cli___webpack_cli_3.3.9.tgz";
+      path = fetchurl {
+        name = "webpack_cli___webpack_cli_3.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.9.tgz";
+        sha1 = "79c27e71f94b7fe324d594ab64a8e396b9daa91a";
+      };
+    }
+    {
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz";
+        sha1 = "1167aea02afa034489869b8368fe9fed1aea7d09";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.8.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.8.1.tgz";
+        sha1 = "485b64c4aadc23f601e72114b40c1b1fea31d9f1";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack_stats_plugin___webpack_stats_plugin_0.3.0.tgz";
+      path = fetchurl {
+        name = "webpack_stats_plugin___webpack_stats_plugin_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.3.0.tgz";
+        sha1 = "6952f63feb9a5393a328d774fb3eccac78d2f51b";
+      };
+    }
+    {
+      name = "webpack___webpack_4.40.2.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.40.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.40.2.tgz";
+        sha1 = "d21433d250f900bf0facbabe8f50d585b2dc30a7";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.6.5.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz";
+        sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.1.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+        sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      path = fetchurl {
+        name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      path = fetchurl {
+        name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_7.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
+      };
+    }
+    {
+      name = "which_module___which_module_1.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz";
+        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "widest_line___widest_line_2.0.0.tgz";
+      path = fetchurl {
+        name = "widest_line___widest_line_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz";
+        sha1 = "0142a4e8a243f8882c0233aa0e0281aa76152273";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "worker_farm___worker_farm_1.7.0.tgz";
+      path = fetchurl {
+        name = "worker_farm___worker_farm_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+      };
+    }
+    {
+      name = "worker_loader___worker_loader_2.0.0.tgz";
+      path = fetchurl {
+        name = "worker_loader___worker_loader_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-loader/-/worker-loader-2.0.0.tgz";
+        sha1 = "45fda3ef76aca815771a89107399ee4119b430ac";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "write___write_0.2.1.tgz";
+      path = fetchurl {
+        name = "write___write_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz";
+        sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+      };
+    }
+    {
+      name = "ws___ws_5.2.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
+        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "ws___ws_3.3.3.tgz";
+      path = fetchurl {
+        name = "ws___ws_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz";
+        sha1 = "f1cf84fe2d5e901ebce94efaece785f187a228f2";
+      };
+    }
+    {
+      name = "x_is_string___x_is_string_0.1.0.tgz";
+      path = fetchurl {
+        name = "x_is_string___x_is_string_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz";
+        sha1 = "474b50865af3a49a9c4657f05acd145458f77d82";
+      };
+    }
+    {
+      name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
+      path = fetchurl {
+        name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
+        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      path = fetchurl {
+        name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+      };
+    }
+    {
+      name = "xml2js___xml2js_0.4.19.tgz";
+      path = fetchurl {
+        name = "xml2js___xml2js_0.4.19.tgz";
+        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz";
+        sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7";
+      };
+    }
+    {
+      name = "xml___xml_1.0.1.tgz";
+      path = fetchurl {
+        name = "xml___xml_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz";
+        sha1 = "78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_8.2.2.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_8.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz";
+        sha1 = "69248673410b4ba42e1a6136551d2922335aa773";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    }
+    {
+      name = "xmlcreate___xmlcreate_1.0.2.tgz";
+      path = fetchurl {
+        name = "xmlcreate___xmlcreate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz";
+        sha1 = "fa6bf762a60a413fb3dd8f4b03c5b269238d308f";
+      };
+    }
+    {
+      name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.5.tgz";
+      path = fetchurl {
+        name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz";
+        sha1 = "c2876b06168aadc40e57d97e81191ac8f4398b3e";
+      };
+    }
+    {
+      name = "xmlhttprequest___xmlhttprequest_1.8.0.tgz";
+      path = fetchurl {
+        name = "xmlhttprequest___xmlhttprequest_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz";
+        sha1 = "67fe075c5c24fef39f9d65f5f7b7fe75171968fc";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "xterm___xterm_3.5.0.tgz";
+      path = fetchurl {
+        name = "xterm___xterm_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/xterm/-/xterm-3.5.0.tgz";
+        sha1 = "ba3f464bc5730c9d259ebe62131862224db9ddcc";
+      };
+    }
+    {
+      name = "y18n___y18n_3.2.1.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      name = "yallist___yallist_2.1.2.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    }
+    {
+      name = "yallist___yallist_3.0.3.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz";
+        sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_10.1.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_11.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_11.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz";
+        sha1 = "879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz";
+        sha1 = "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a";
+      };
+    }
+    {
+      name = "yargs___yargs_12.0.5.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_12.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz";
+        sha1 = "05f5997b609647b64f66b81e3b4b10a368e7ad13";
+      };
+    }
+    {
+      name = "yargs___yargs_13.2.4.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz";
+        sha1 = "0b562b794016eb9651b98bd37acf364aa5d6dc83";
+      };
+    }
+    {
+      name = "yargs___yargs_7.1.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz";
+        sha1 = "6ba318eb16961727f5d284f8ea003e8d6154d0c8";
+      };
+    }
+    {
+      name = "yarn_deduplicate___yarn_deduplicate_1.1.1.tgz";
+      path = fetchurl {
+        name = "yarn_deduplicate___yarn_deduplicate_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yarn-deduplicate/-/yarn-deduplicate-1.1.1.tgz";
+        sha1 = "19b4a87654b66f55bf3a4bd6b153b4e4ab1b6e6d";
+      };
+    }
+    {
+      name = "yeast___yeast_0.1.2.tgz";
+      path = fetchurl {
+        name = "yeast___yeast_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz";
+        sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419";
+      };
+    }
+    {
+      name = "zen_observable_ts___zen_observable_ts_0.8.18.tgz";
+      path = fetchurl {
+        name = "zen_observable_ts___zen_observable_ts_0.8.18.tgz";
+        url  = "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.18.tgz";
+        sha1 = "ade44b1060cc4a800627856ec10b9c67f5f639c8";
+      };
+    }
+    {
+      name = "zen_observable___zen_observable_0.8.11.tgz";
+      path = fetchurl {
+        name = "zen_observable___zen_observable_0.8.11.tgz";
+        url  = "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.11.tgz";
+        sha1 = "d3415885eeeb42ee5abb9821c95bb518fcd6d199";
+      };
+    }
+    {
+      name = "zrender___zrender_4.0.7.tgz";
+      path = fetchurl {
+        name = "zrender___zrender_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/zrender/-/zrender-4.0.7.tgz";
+        sha1 = "15ae960822f5efed410995d37e5107fe3de10e6d";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/applications/version-management/gitless/default.nix b/nixpkgs/pkgs/applications/version-management/gitless/default.nix
index c08e441b05af..fe1cce9ba84b 100644
--- a/nixpkgs/pkgs/applications/version-management/gitless/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitless/default.nix
@@ -1,13 +1,14 @@
-{ fetchFromGitHub, pythonPackages, stdenv }:
+{ fetchFromGitHub, python, stdenv }:
 
-pythonPackages.buildPythonApplication rec {
-  ver = "0.8.6";
-  name = "gitless-${ver}";
+with python.pkgs;
+buildPythonApplication rec {
+  pname = "gitless";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "sdg-mit";
     repo = "gitless";
-    rev = "v${ver}";
+    rev = "v${version}";
     sha256 = "1q6y38f8ap6q1livvfy0pfnjr0l8b68hyhc9r5v87fmdyl7y7y8g";
   };
 
diff --git a/nixpkgs/pkgs/applications/version-management/gitolite/default.nix b/nixpkgs/pkgs/applications/version-management/gitolite/default.nix
index 7c157191ab97..9f298e0129ed 100644
--- a/nixpkgs/pkgs/applications/version-management/gitolite/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitolite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, git, nettools, perl }:
+{ stdenv, fetchFromGitHub, git, lib, makeWrapper, nettools, perl }:
 
 stdenv.mkDerivation rec {
   pname = "gitolite";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1rkj7gknwjlc5ij9w39zf5mr647bm45la57yjczydmvrb8c56yrh";
   };
 
-  buildInputs = [ git nettools perl ];
+  buildInputs = [ nettools perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  propagatedBuildInputs = [ git ];
 
   dontBuild = true;
 
@@ -25,6 +27,11 @@ stdenv.mkDerivation rec {
       --replace hostname "${nettools}/bin/hostname"
   '';
 
+  postFixup = ''
+    wrapProgram $out/bin/gitolite-shell \
+      --prefix PATH : "${git}/bin"
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     perl ./install -to $out/bin
diff --git a/nixpkgs/pkgs/applications/version-management/gogs/default.nix b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
index c2153ebea893..d06ae234ae92 100644
--- a/nixpkgs/pkgs/applications/version-management/gogs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
@@ -27,7 +27,7 @@ buildGoPackage rec {
   nativeBuildInputs = [ makeWrapper ]
     ++ optional pamSupport pam;
 
-  buildFlags = "-tags";
+  buildFlags = [ "-tags" ];
 
   buildFlagsArray =
     (  optional sqliteSupport "sqlite"
diff --git a/nixpkgs/pkgs/applications/version-management/gource/default.nix b/nixpkgs/pkgs/applications/version-management/gource/default.nix
index 0a24cfbb3a0d..2ce855d3a7f8 100644
--- a/nixpkgs/pkgs/applications/version-management/gource/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix b/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix
new file mode 100644
index 000000000000..b8fc767bd3a2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, python2Packages, makeWrapper, unzip
+, guiSupport ? false, tk ? null
+, ApplicationServices
+, mercurialSrc ? fetchurl rec {
+    meta.name = "mercurial-${meta.version}";
+    meta.version = "4.9.1";
+    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
+    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
+  }
+}:
+
+let
+  inherit (python2Packages) docutils hg-git dulwich python;
+
+in python2Packages.buildPythonApplication {
+
+  inherit (mercurialSrc.meta) name version;
+  src = mercurialSrc;
+
+  format = "other";
+
+  inherit python; # pass it so that the same version can be used in hg2git
+
+  buildInputs = [ makeWrapper docutils unzip ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
+
+  propagatedBuildInputs = [ hg-git dulwich ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postInstall = (stdenv.lib.optionalString guiSupport
+    ''
+      mkdir -p $out/etc/mercurial
+      cp contrib/hgk $out/bin
+      cat >> $out/etc/mercurial/hgrc << EOF
+      [extensions]
+      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+      EOF
+      # setting HG so that hgk can be run itself as well (not only hg view)
+      WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
+                --set HG $out/bin/hg
+                --prefix PATH : ${tk}/bin "
+    '') +
+    ''
+      for i in $(cd $out/bin && ls); do
+        wrapProgram $out/bin/$i \
+          $WRAP_TK
+      done
+
+      # copy hgweb.cgi to allow use in apache
+      mkdir -p $out/share/cgi-bin
+      cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
+      chmod u+x $out/share/cgi-bin/hgweb.cgi
+
+      # install bash/zsh completions
+      install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
+      install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
+    '';
+
+  meta = {
+    inherit (mercurialSrc.meta) version;
+    description = "A fast, lightweight SCM system for very large distributed projects";
+    homepage = https://www.mercurial-scm.org;
+    downloadPage = https://www.mercurial-scm.org/release/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.eraserhd ];
+    updateWalker = true;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
index ee0ab3756663..792e647324ae 100644
--- a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchurl, python2Packages, makeWrapper, unzip
+{ stdenv, fetchurl, python3Packages, makeWrapper, unzip
 , guiSupport ? false, tk ? null
 , ApplicationServices
-, mercurialSrc ? fetchurl rec {
-    meta.name = "mercurial-${meta.version}";
-    meta.version = "4.9.1";
-    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
-  }
 }:
 
 let
-  inherit (python2Packages) docutils hg-git dulwich python;
+  inherit (python3Packages) docutils dulwich python;
 
-in python2Packages.buildPythonApplication {
+in python3Packages.buildPythonApplication rec {
+  pname = "mercurial";
+  version = "5.2.1";
 
-  inherit (mercurialSrc.meta) name version;
-  src = mercurialSrc;
+  src = fetchurl {
+    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+    sha256 = "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q";
+  };
 
   format = "other";
 
@@ -24,41 +22,39 @@ in python2Packages.buildPythonApplication {
   buildInputs = [ makeWrapper docutils unzip ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  propagatedBuildInputs = [ hg-git dulwich ];
+  propagatedBuildInputs = [ dulwich ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  postInstall = (stdenv.lib.optionalString guiSupport
-    ''
-      mkdir -p $out/etc/mercurial
-      cp contrib/hgk $out/bin
-      cat >> $out/etc/mercurial/hgrc << EOF
-      [extensions]
-      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
-      EOF
-      # setting HG so that hgk can be run itself as well (not only hg view)
-      WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
-                --set HG $out/bin/hg
-                --prefix PATH : ${tk}/bin "
-    '') +
-    ''
-      for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-          $WRAP_TK
-      done
+  postInstall = (stdenv.lib.optionalString guiSupport ''
+    mkdir -p $out/etc/mercurial
+    cp contrib/hgk $out/bin
+    cat >> $out/etc/mercurial/hgrc << EOF
+    [extensions]
+    hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+    EOF
+    # setting HG so that hgk can be run itself as well (not only hg view)
+    WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
+              --set HG $out/bin/hg
+              --prefix PATH : ${tk}/bin "
+  '') + ''
+    for i in $(cd $out/bin && ls); do
+      wrapProgram $out/bin/$i \
+        $WRAP_TK
+    done
 
-      # copy hgweb.cgi to allow use in apache
-      mkdir -p $out/share/cgi-bin
-      cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
-      chmod u+x $out/share/cgi-bin/hgweb.cgi
+    # copy hgweb.cgi to allow use in apache
+    mkdir -p $out/share/cgi-bin
+    cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
+    chmod u+x $out/share/cgi-bin/hgweb.cgi
 
-      # install bash/zsh completions
-      install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
-      install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
-    '';
+    # install bash/zsh completions
+    install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
+    install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
+  '';
 
   meta = {
-    inherit (mercurialSrc.meta) version;
+    inherit version;
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = https://www.mercurial-scm.org;
     downloadPage = https://www.mercurial-scm.org/release/;
diff --git a/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix b/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
index bee1c82e11b6..c23feec6f436 100644
--- a/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, libgnomecanvas, camlp4, glib, pkgconfig, makeWrapper
+{ stdenv, fetchurl, ocamlPackages, gnome2, pkgconfig, makeWrapper
 , libtool, libpng, yacc, expat, fontconfig, gd, pango, libjpeg, libwebp, xlibsWrapper, libXaw
 }:
 # We need an old version of Graphviz for format compatibility reasons.
@@ -7,6 +7,8 @@ let graphviz_2_0 = import ./graphviz-2.0.nix {
       inherit stdenv fetchurl pkgconfig xlibsWrapper libpng libjpeg expat libXaw
         yacc libtool fontconfig pango gd libwebp;
     }; in
+let inherit (gnome2) libgnomecanvas glib; in
+let inherit (ocamlPackages) ocaml lablgtk camlp4; in
 stdenv.mkDerivation rec {
   version = "1.0.2";
   pname = "monotone-viz";
diff --git a/nixpkgs/pkgs/applications/version-management/monotone/default.nix b/nixpkgs/pkgs/applications/version-management/monotone/default.nix
index 7081e1a08996..bf8e5652d99c 100644
--- a/nixpkgs/pkgs/applications/version-management/monotone/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/mr/default.nix b/nixpkgs/pkgs/applications/version-management/mr/default.nix
index a4632399df04..66e63fcc3750 100644
--- a/nixpkgs/pkgs/applications/version-management/mr/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/mr/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ perl ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
     description = "Multiple Repository management tool";
diff --git a/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix b/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
index b0a7108ac07f..797bc7824962 100644
--- a/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
@@ -1,6 +1,6 @@
-{lib, python2Packages, git, mercurial, coreutils}:
+{lib, python, git, mercurial, coreutils}:
 
-with python2Packages;
+with python.pkgs;
 buildPythonApplication rec {
   version = "0.3.6";
   pname = "nbstripout";
@@ -8,7 +8,7 @@ buildPythonApplication rec {
   # Mercurial should be added as a build input but because it's a Python
   # application, it would mess up the Python environment. Thus, don't add it
   # here, instead add it to PATH when running unit tests
-  checkInputs = [ pytest pytest-flake8 pytest-cram git ];
+  checkInputs = [ pytest pytest-flake8 git ];
   nativeBuildInputs = [ pytestrunner ];
   propagatedBuildInputs = [ ipython nbformat ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/p4v/default.nix b/nixpkgs/pkgs/applications/version-management/p4v/default.nix
index 0020c8c2189e..317cbfde85b0 100644
--- a/nixpkgs/pkgs/applications/version-management/p4v/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/p4v/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, wrapQtAppsHook }:
+{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl_1_0_2, xkeyboard_config, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "p4v";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       qtscript
       qtsensors
       qtwebkit
-      openssl
+      openssl_1_0_2
   ];
 
   dontWrapQtApps = true;
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.perforce.com;
     license = stdenv.lib.licenses.unfreeRedistributable;
     platforms = [ "x86_64-linux" ];
-    maintainers = [ stdenv.lib.maintainers.nioncode ];
+    maintainers = with stdenv.lib.maintainers; [ nathyong nioncode ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/pijul/default.nix b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
index 6d0e39d47bf4..3c5539189252 100644
--- a/nixpkgs/pkgs/applications/version-management/pijul/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/rcs/default.nix b/nixpkgs/pkgs/applications/version-management/rcs/default.nix
index 862b9eacd628..3283a3c046a4 100644
--- a/nixpkgs/pkgs/applications/version-management/rcs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/rcs/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     make $checkFlags check || print_logs_and_fail
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-std=c99" ];
+  NIX_CFLAGS_COMPILE = "-std=c99";
 
   hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "format";
 
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile b/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile
deleted file mode 100644
index 343c7b3a5470..000000000000
--- a/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile
+++ /dev/null
@@ -1,72 +0,0 @@
-source 'https://rubygems.org'
-
-gem "bundler", ">= 1.5.0"
-
-gem "rails", "5.2.3"
-gem "rouge", "~> 3.3.0"
-gem "request_store", "1.0.5"
-gem "mini_mime", "~> 1.0.1"
-gem "actionpack-xml_parser"
-gem "roadie-rails", "~> 1.3.0"
-gem "mimemagic"
-gem "mail", "~> 2.7.1"
-gem "csv", "~> 3.0.1" if RUBY_VERSION >= "2.3" && RUBY_VERSION < "2.6"
-
-gem "nokogiri", (RUBY_VERSION >= "2.3" ? "~> 1.10.0" : "~> 1.9.1")
-gem "i18n", "~> 0.7.0"
-gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3"
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
-gem "rbpdf", "~> 1.19.6"
-
-# Optional gem for LDAP authentication
-group :ldap do
-  gem "net-ldap", "~> 0.16.0"
-end
-
-# Optional gem for OpenID authentication
-group :openid do
-  gem "ruby-openid", "~> 2.3.0", :require => "openid"
-  gem "rack-openid"
-end
-
-platforms :mri, :mingw, :x64_mingw do
-  # Optional gem for exporting the gantt to a PNG file, not supported with jruby
-  group :rmagick do
-    gem "rmagick", "~> 2.16.0"
-  end
-
-  # Optional Markdown support, not for JRuby
-  group :markdown do
-    gem "redcarpet", "~> 3.4.0"
-  end
-end
-
-# Include database gems for the database adapters NixOS supports
-gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
-gem "pg", "~> 1.1.4", :platforms => [:mri, :mingw, :x64_mingw]
-
-group :development do
-  gem "yard"
-end
-
-group :test do
-  gem "rails-dom-testing"
-  gem "mocha"
-  gem "simplecov", "~> 0.14.1", :require => false
-  # For running system tests
-  gem 'puma', '~> 3.7'
-  gem "capybara", '~> 2.13'
-  gem "selenium-webdriver"
-end
-
-local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
-if File.exists?(local_gemfile)
-  eval_gemfile local_gemfile
-end
-
-# Load plugins' Gemfiles
-Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
-  eval_gemfile file
-end
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile.lock
deleted file mode 100644
index 671d2bb4ac1f..000000000000
--- a/nixpkgs/pkgs/applications/version-management/redmine/4.x/Gemfile.lock
+++ /dev/null
@@ -1,203 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actioncable (5.2.3)
-      actionpack (= 5.2.3)
-      nio4r (~> 2.0)
-      websocket-driver (>= 0.6.1)
-    actionmailer (5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 2.0)
-    actionpack (5.2.3)
-      actionview (= 5.2.3)
-      activesupport (= 5.2.3)
-      rack (~> 2.0)
-      rack-test (>= 0.6.3)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionpack-xml_parser (2.0.1)
-      actionpack (>= 5.0)
-      railties (>= 5.0)
-    actionview (5.2.3)
-      activesupport (= 5.2.3)
-      builder (~> 3.1)
-      erubi (~> 1.4)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.2.3)
-      activesupport (= 5.2.3)
-      globalid (>= 0.3.6)
-    activemodel (5.2.3)
-      activesupport (= 5.2.3)
-    activerecord (5.2.3)
-      activemodel (= 5.2.3)
-      activesupport (= 5.2.3)
-      arel (>= 9.0)
-    activestorage (5.2.3)
-      actionpack (= 5.2.3)
-      activerecord (= 5.2.3)
-      marcel (~> 0.3.1)
-    activesupport (5.2.3)
-      concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    arel (9.0.0)
-    builder (3.2.3)
-    capybara (2.18.0)
-      addressable
-      mini_mime (>= 0.1.3)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (>= 2.0, < 4.0)
-    childprocess (1.0.1)
-      rake (< 13.0)
-    concurrent-ruby (1.1.5)
-    crass (1.0.4)
-    css_parser (1.7.0)
-      addressable
-    csv (3.0.9)
-    docile (1.1.5)
-    erubi (1.8.0)
-    globalid (0.4.2)
-      activesupport (>= 4.2.0)
-    htmlentities (4.3.4)
-    i18n (0.7.0)
-    json (2.2.0)
-    loofah (2.2.3)
-      crass (~> 1.0.2)
-      nokogiri (>= 1.5.9)
-    mail (2.7.1)
-      mini_mime (>= 0.1.1)
-    marcel (0.3.3)
-      mimemagic (~> 0.3.2)
-    metaclass (0.0.4)
-    method_source (0.9.2)
-    mimemagic (0.3.3)
-    mini_mime (1.0.1)
-    mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    mocha (1.8.0)
-      metaclass (~> 0.0.1)
-    mysql2 (0.5.2)
-    net-ldap (0.16.1)
-    nio4r (2.3.1)
-    nokogiri (1.10.3)
-      mini_portile2 (~> 2.4.0)
-    pg (1.1.4)
-    public_suffix (3.1.0)
-    puma (3.12.1)
-    rack (2.0.7)
-    rack-openid (1.4.2)
-      rack (>= 1.1.0)
-      ruby-openid (>= 2.1.8)
-    rack-test (1.1.0)
-      rack (>= 1.0, < 3)
-    rails (5.2.3)
-      actioncable (= 5.2.3)
-      actionmailer (= 5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      activemodel (= 5.2.3)
-      activerecord (= 5.2.3)
-      activestorage (= 5.2.3)
-      activesupport (= 5.2.3)
-      bundler (>= 1.3.0)
-      railties (= 5.2.3)
-      sprockets-rails (>= 2.0.0)
-    rails-dom-testing (2.0.3)
-      activesupport (>= 4.2.0)
-      nokogiri (>= 1.6)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
-    railties (5.2.3)
-      actionpack (= 5.2.3)
-      activesupport (= 5.2.3)
-      method_source
-      rake (>= 0.8.7)
-      thor (>= 0.19.0, < 2.0)
-    rake (12.3.2)
-    rbpdf (1.19.8)
-      htmlentities
-      rbpdf-font (~> 1.19.0)
-    rbpdf-font (1.19.1)
-    redcarpet (3.4.0)
-    request_store (1.0.5)
-    rmagick (2.16.0)
-    roadie (3.5.0)
-      css_parser (~> 1.4)
-      nokogiri (~> 1.8)
-    roadie-rails (1.3.0)
-      railties (>= 3.0, < 5.3)
-      roadie (~> 3.1)
-    rouge (3.3.0)
-    ruby-openid (2.3.0)
-    rubyzip (1.2.3)
-    selenium-webdriver (3.142.3)
-      childprocess (>= 0.5, < 2.0)
-      rubyzip (~> 1.2, >= 1.2.2)
-    simplecov (0.14.1)
-      docile (~> 1.1.0)
-      json (>= 1.8, < 3)
-      simplecov-html (~> 0.10.0)
-    simplecov-html (0.10.2)
-    sprockets (3.7.2)
-      concurrent-ruby (~> 1.0)
-      rack (> 1, < 3)
-    sprockets-rails (3.2.1)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
-      sprockets (>= 3.0.0)
-    thor (0.20.3)
-    thread_safe (0.3.6)
-    tzinfo (1.2.5)
-      thread_safe (~> 0.1)
-    websocket-driver (0.7.1)
-      websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.4)
-    xpath (3.2.0)
-      nokogiri (~> 1.8)
-    yard (0.9.19)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  actionpack-xml_parser
-  bundler (>= 1.5.0)
-  capybara (~> 2.13)
-  csv (~> 3.0.1)
-  i18n (~> 0.7.0)
-  mail (~> 2.7.1)
-  mimemagic
-  mini_mime (~> 1.0.1)
-  mocha
-  mysql2 (~> 0.5.0)
-  net-ldap (~> 0.16.0)
-  nokogiri (~> 1.10.0)
-  pg (~> 1.1.4)
-  puma (~> 3.7)
-  rack-openid
-  rails (= 5.2.3)
-  rails-dom-testing
-  rbpdf (~> 1.19.6)
-  redcarpet (~> 3.4.0)
-  request_store (= 1.0.5)
-  rmagick (~> 2.16.0)
-  roadie-rails (~> 1.3.0)
-  rouge (~> 3.3.0)
-  ruby-openid (~> 2.3.0)
-  selenium-webdriver
-  simplecov (~> 0.14.1)
-  tzinfo-data
-  yard
-
-BUNDLED WITH
-   1.16.3
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/4.x/default.nix b/nixpkgs/pkgs/applications/version-management/redmine/4.x/default.nix
deleted file mode 100644
index a3ba418a1463..000000000000
--- a/nixpkgs/pkgs/applications/version-management/redmine/4.x/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, bundlerEnv, ruby }:
-
-let
-  version = "4.0.4";
-  rubyEnv = bundlerEnv {
-    name = "redmine-env-${version}";
-
-    inherit ruby;
-    gemdir = ./.;
-    groups = [ "ldap" "openid" ];
-  };
-in
-  stdenv.mkDerivation rec {
-    pname = "redmine";
-    inherit version;
-
-    src = fetchurl {
-      url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "0i5bmgdi3mahbis9hn0hk53rnz4ihp9yij4b4i07ny9vf3n4kp1a";
-    };
-
-    buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
-
-    buildPhase = ''
-      mv config config.dist
-      mv public/themes public/themes.dist
-    '';
-
-    installPhase = ''
-      mkdir -p $out/share
-      cp -r . $out/share/redmine
-      for i in config files log plugins public/plugin_assets public/themes tmp; do
-        rm -rf $out/share/redmine/$i
-        ln -fs /run/redmine/$i $out/share/redmine/$i
-      done
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = http://www.redmine.org/;
-      platforms = platforms.linux;
-      maintainers = [ maintainers.aanderse ];
-      license = licenses.gpl2;
-    };
-  }
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/4.x/gemset.nix b/nixpkgs/pkgs/applications/version-management/redmine/4.x/gemset.nix
deleted file mode 100644
index 34e459111f8a..000000000000
--- a/nixpkgs/pkgs/applications/version-management/redmine/4.x/gemset.nix
+++ /dev/null
@@ -1,614 +0,0 @@
-{
-  actioncable = {
-    dependencies = ["actionpack" "nio4r" "websocket-driver"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionpack-xml_parser = {
-    dependencies = ["actionpack" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
-      type = "gem";
-    };
-    version = "2.0.1";
-  };
-  actionview = {
-    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activejob = {
-    dependencies = ["activesupport" "globalid"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activemodel = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activerecord = {
-    dependencies = ["activemodel" "activesupport" "arel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activestorage = {
-    dependencies = ["actionpack" "activerecord" "marcel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  addressable = {
-    dependencies = ["public_suffix"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  arel = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
-      type = "gem";
-    };
-    version = "9.0.0";
-  };
-  builder = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
-      type = "gem";
-    };
-    version = "3.2.3";
-  };
-  capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yv77rnsjlvs8qpfn9n5vf1h6b9agxwhxw09gssbiw9zn9j20jh8";
-      type = "gem";
-    };
-    version = "2.18.0";
-  };
-  childprocess = {
-    dependencies = ["rake"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1d2gasf988jh2k3fjb7i54c68rq6ni6jf9w0gnsfhrq94a6mprkz";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  concurrent-ruby = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  crass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  css_parser = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  csv = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "097rl10ivzlya5640530ayls2f1vid2mfgjy9ngd789qmp0j6x4b";
-      type = "gem";
-    };
-    version = "3.0.9";
-  };
-  docile = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  erubi = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  globalid = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  htmlentities = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
-      type = "gem";
-    };
-    version = "4.3.4";
-  };
-  i18n = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-      type = "gem";
-    };
-    version = "0.7.0";
-  };
-  json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  loofah = {
-    dependencies = ["crass" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
-  mail = {
-    dependencies = ["mini_mime"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
-      type = "gem";
-    };
-    version = "2.7.1";
-  };
-  marcel = {
-    dependencies = ["mimemagic"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  metaclass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
-  method_source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
-      type = "gem";
-    };
-    version = "0.9.2";
-  };
-  mimemagic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  mini_mime = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  mini_portile2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  minitest = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
-      type = "gem";
-    };
-    version = "5.11.3";
-  };
-  mocha = {
-    dependencies = ["metaclass"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12aglpiq1h18j5a4rlwvnsvnsi2f3407v5xm59lgcg3ymlyak4al";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  mysql2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4";
-      type = "gem";
-    };
-    version = "0.5.2";
-  };
-  net-ldap = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh";
-      type = "gem";
-    };
-    version = "0.16.1";
-  };
-  nio4r = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
-      type = "gem";
-    };
-    version = "2.3.1";
-  };
-  nokogiri = {
-    dependencies = ["mini_portile2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
-      type = "gem";
-    };
-    version = "1.10.3";
-  };
-  pg = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  public_suffix = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  puma = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pkrbvak6rlf147qpd4zss031qrwwh53g8s6017037iwg0436kv3";
-      type = "gem";
-    };
-    version = "3.12.1";
-  };
-  rack = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i";
-      type = "gem";
-    };
-    version = "2.0.7";
-  };
-  rack-openid = {
-    dependencies = ["rack" "ruby-openid"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sg85yn981j3a0iri3ch4znzdwscvz29l7vrk3dafqw4fdg31llc";
-      type = "gem";
-    };
-    version = "1.4.2";
-  };
-  rack-test = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  rails = {
-    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
-      type = "gem";
-    };
-    version = "2.0.3";
-  };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rake = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
-      type = "gem";
-    };
-    version = "12.3.2";
-  };
-  rbpdf = {
-    dependencies = ["htmlentities" "rbpdf-font"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195";
-      type = "gem";
-    };
-    version = "1.19.8";
-  };
-  rbpdf-font = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pxlr0l4vf785qpy55m439dyii63a26l0sd0yyhbwwcy9zm9hd1v";
-      type = "gem";
-    };
-    version = "1.19.1";
-  };
-  redcarpet = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
-      type = "gem";
-    };
-    version = "3.4.0";
-  };
-  request_store = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
-      type = "gem";
-    };
-    version = "1.0.5";
-  };
-  rmagick = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m9x15cdlkcb9826s3s2jd97hxf50hln22p94x8hcccxi1lwklq6";
-      type = "gem";
-    };
-    version = "2.16.0";
-  };
-  roadie = {
-    dependencies = ["css_parser" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b2qgr725hnscz3ldb607gwgjkr47ncs1jjnk6zh0h70p5dxrk2d";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  roadie-rails = {
-    dependencies = ["railties" "roadie"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02km0ama85mkw7kkn6qif86b781pglfdmqrwx5s6hwjlzk16qih3";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  rouge = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
-      type = "gem";
-    };
-    version = "3.3.0";
-  };
-  ruby-openid = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yzaf2c1i88757554wk38rxqmj0xzgmwk2zx7gi98w2zx42d17pn";
-      type = "gem";
-    };
-    version = "2.3.0";
-  };
-  rubyzip = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
-      type = "gem";
-    };
-    version = "1.2.3";
-  };
-  selenium-webdriver = {
-    dependencies = ["childprocess" "rubyzip"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0i0jr4qrcvg5isc11ivjw7f9gywbimnz613k82bfcrnlzdf90mxy";
-      type = "gem";
-    };
-    version = "3.142.3";
-  };
-  simplecov = {
-    dependencies = ["docile" "json" "simplecov-html"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww";
-      type = "gem";
-    };
-    version = "0.14.1";
-  };
-  simplecov-html = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  sprockets = {
-    dependencies = ["concurrent-ruby" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
-      type = "gem";
-    };
-    version = "3.7.2";
-  };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
-      type = "gem";
-    };
-    version = "3.2.1";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
-      type = "gem";
-    };
-    version = "0.20.3";
-  };
-  thread_safe = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
-  tzinfo = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
-      type = "gem";
-    };
-    version = "1.2.5";
-  };
-  websocket-driver = {
-    dependencies = ["websocket-extensions"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
-      type = "gem";
-    };
-    version = "0.7.1";
-  };
-  websocket-extensions = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  xpath = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-  yard = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v";
-      type = "gem";
-    };
-    version = "0.9.19";
-  };
-}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
index 5a0283e20ed5..b1c651695c79 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
@@ -1,77 +1,65 @@
 source 'https://rubygems.org'
 
-gem "bundler", ">= 1.5.0", "< 2.0.0"
+gem "bundler", ">= 1.5.0"
 
-gem "rails", "4.2.11.1"
-gem "addressable", "2.4.0" if RUBY_VERSION < "2.0"
-if RUBY_VERSION < "2.1"
-  gem "public_suffix", (RUBY_VERSION < "2.0" ? "~> 1.4" : "~> 2.0.5")
-end
-gem "jquery-rails", "~> 3.1.4"
-gem "coderay", "~> 1.1.1"
-gem "request_store", "1.0.5"
-gem "mime-types", (RUBY_VERSION >= "2.0" ? "~> 3.0" : "~> 2.99")
-gem "protected_attributes"
+gem "rails", "5.2.4.1"
+gem "rouge", "~> 3.12.0"
+gem "request_store", "~> 1.4.1"
+gem "mini_mime", "~> 1.0.1"
 gem "actionpack-xml_parser"
-gem "roadie-rails", "~> 1.1.1"
-gem "roadie", "~> 3.2.1"
+gem "roadie-rails", (RUBY_VERSION < "2.5" ? "~> 1.3.0" : "~> 2.1.0")
 gem "mimemagic"
-gem "mail", "~> 2.6.4"
-
-gem "nokogiri", (RUBY_VERSION >= "2.1" ? "~> 1.8.1" : "~> 1.6.8")
-gem "i18n", "~> 0.7.0"
-gem "ffi", "1.9.14", :platforms => :mingw if RUBY_VERSION < "2.0"
-gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3"
-
-# Request at least rails-html-sanitizer 1.0.3 because of security advisories
-gem "rails-html-sanitizer", ">= 1.0.3"
+gem "mail", "~> 2.7.1"
+gem "csv", "~> 3.1.1"
+gem "nokogiri", "~> 1.10.0"
+gem "i18n", "~> 1.6.0"
+gem "rbpdf", "~> 1.20.0"
 
 # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
 gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
-gem "rbpdf", "~> 1.19.6"
 
 # Optional gem for LDAP authentication
 group :ldap do
-  gem "net-ldap", "~> 0.12.0"
+  gem "net-ldap", "~> 0.16.0"
 end
 
 # Optional gem for OpenID authentication
 group :openid do
-  gem "ruby-openid", "~> 2.3.0", :require => "openid"
+  gem "ruby-openid", "~> 2.9.2", :require => "openid"
   gem "rack-openid"
 end
 
-platforms :mri, :mingw, :x64_mingw do
-  # Optional gem for exporting the gantt to a PNG file, not supported with jruby
-  group :rmagick do
-    gem "rmagick", "~> 2.16.0"
-  end
+# Optional gem for exporting the gantt to a PNG file
+group :minimagick do
+  gem "mini_magick", "~> 4.9.5"
+end
 
-  # Optional Markdown support, not for JRuby
-  group :markdown do
-    gem "redcarpet", "~> 3.4.0"
-  end
+# Optional Markdown support, not for JRuby
+group :markdown do
+  gem "redcarpet", "~> 3.5.0"
 end
 
 # Include database gems for the database adapters NixOS supports
-gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
-gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
+gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
+gem "pg", "~> 1.1.4", :platforms => [:mri, :mingw, :x64_mingw]
 
 group :development do
-  gem "rdoc", "~> 4.3"
   gem "yard"
 end
 
 group :test do
-  gem "minitest"
   gem "rails-dom-testing"
-  gem "mocha"
-  gem "simplecov", "~> 0.9.1", :require => false
-  # TODO: remove this after upgrading to Rails 5
-  gem "test_after_commit", "~> 0.4.2"
-  # For running UI tests
-  gem "capybara", '~> 2.13'
-  gem "selenium-webdriver", "~> 2.53.4"
+  gem 'mocha', '>= 1.4.0'
+  gem "simplecov", "~> 0.17.0", :require => false
+  gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
+  # For running system tests
+  gem 'puma', '~> 3.7'
+  gem "capybara", (RUBY_VERSION < "2.4" ? "~> 3.15.1" : "~> 3.25.0")
+  gem "selenium-webdriver"
+  # RuboCop
+  gem 'rubocop', '~> 0.76.0'
+  gem 'rubocop-performance', '~> 1.5.0'
+  gem 'rubocop-rails', '~> 2.3.0'
 end
 
 local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
index 21296d343b44..806847a298e9 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -1,203 +1,226 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actionmailer (4.2.11.1)
-      actionpack (= 4.2.11.1)
-      actionview (= 4.2.11.1)
-      activejob (= 4.2.11.1)
+    actioncable (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      nio4r (~> 2.0)
+      websocket-driver (>= 0.6.1)
+    actionmailer (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      actionview (= 5.2.4.1)
+      activejob (= 5.2.4.1)
       mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.11.1)
-      actionview (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      rack (~> 1.6)
-      rack-test (~> 0.6.2)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-dom-testing (~> 2.0)
+    actionpack (5.2.4.1)
+      actionview (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      rack (~> 2.0, >= 2.0.8)
+      rack-test (>= 0.6.3)
+      rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionpack-xml_parser (1.0.2)
-      actionpack (>= 4.0.0, < 5)
-    actionview (4.2.11.1)
-      activesupport (= 4.2.11.1)
+    actionpack-xml_parser (2.0.1)
+      actionpack (>= 5.0)
+      railties (>= 5.0)
+    actionview (5.2.4.1)
+      activesupport (= 5.2.4.1)
       builder (~> 3.1)
-      erubis (~> 2.7.0)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
+      erubi (~> 1.4)
+      rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (4.2.11.1)
-      activesupport (= 4.2.11.1)
-      globalid (>= 0.3.0)
-    activemodel (4.2.11.1)
-      activesupport (= 4.2.11.1)
-      builder (~> 3.1)
-    activerecord (4.2.11.1)
-      activemodel (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      arel (~> 6.0)
-    activesupport (4.2.11.1)
-      i18n (~> 0.7)
+    activejob (5.2.4.1)
+      activesupport (= 5.2.4.1)
+      globalid (>= 0.3.6)
+    activemodel (5.2.4.1)
+      activesupport (= 5.2.4.1)
+    activerecord (5.2.4.1)
+      activemodel (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      arel (>= 9.0)
+    activestorage (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      activerecord (= 5.2.4.1)
+      marcel (~> 0.3.1)
+    activesupport (5.2.4.1)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
       minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    arel (6.0.4)
-    builder (3.2.3)
-    capybara (2.18.0)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    arel (9.0.0)
+    ast (2.4.0)
+    builder (3.2.4)
+    capybara (3.25.0)
       addressable
       mini_mime (>= 0.1.3)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (>= 2.0, < 4.0)
-    childprocess (0.9.0)
-      ffi (~> 1.0, >= 1.0.11)
-    coderay (1.1.2)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      regexp_parser (~> 1.5)
+      xpath (~> 3.2)
+    childprocess (3.0.0)
     concurrent-ruby (1.1.5)
-    crass (1.0.4)
-    css_parser (1.7.0)
+    crass (1.0.5)
+    css_parser (1.7.1)
       addressable
-    docile (1.1.5)
-    erubis (2.7.0)
-    ffi (1.11.1)
+    csv (3.1.2)
+    docile (1.3.2)
+    erubi (1.9.0)
     globalid (0.4.2)
       activesupport (>= 4.2.0)
     htmlentities (4.3.4)
-    i18n (0.7.0)
-    jquery-rails (3.1.5)
-      railties (>= 3.0, < 5.0)
-      thor (>= 0.14, < 2.0)
-    loofah (2.2.3)
+    i18n (1.6.0)
+      concurrent-ruby (~> 1.0)
+    jaro_winkler (1.5.4)
+    json (2.3.0)
+    loofah (2.4.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
-    mail (2.6.6)
-      mime-types (>= 1.16, < 4)
-    metaclass (0.0.4)
-    mime-types (3.2.2)
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mail (2.7.1)
+      mini_mime (>= 0.1.1)
+    marcel (0.3.3)
+      mimemagic (~> 0.3.2)
+    method_source (0.9.2)
     mimemagic (0.3.3)
-    mini_mime (1.0.1)
-    mini_portile2 (2.3.0)
-    minitest (5.11.3)
-    mocha (1.8.0)
-      metaclass (~> 0.0.1)
-    multi_json (1.13.1)
-    mysql2 (0.4.10)
-    net-ldap (0.12.1)
-    nokogiri (1.8.5)
-      mini_portile2 (~> 2.3.0)
-    pg (0.18.4)
-    protected_attributes (1.1.4)
-      activemodel (>= 4.0.1, < 5.0)
-    public_suffix (3.1.0)
-    rack (1.6.11)
+    mini_magick (4.9.5)
+    mini_mime (1.0.2)
+    mini_portile2 (2.4.0)
+    minitest (5.13.0)
+    mocha (1.11.1)
+    mysql2 (0.5.3)
+    net-ldap (0.16.2)
+    nio4r (2.5.2)
+    nokogiri (1.10.7)
+      mini_portile2 (~> 2.4.0)
+    parallel (1.19.1)
+    parser (2.6.5.0)
+      ast (~> 2.4.0)
+    pg (1.1.4)
+    public_suffix (4.0.1)
+    puma (3.12.2)
+    rack (2.0.8)
     rack-openid (1.4.2)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.2.11.1)
-      actionmailer (= 4.2.11.1)
-      actionpack (= 4.2.11.1)
-      actionview (= 4.2.11.1)
-      activejob (= 4.2.11.1)
-      activemodel (= 4.2.11.1)
-      activerecord (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.11.1)
-      sprockets-rails
-    rails-deprecated_sanitizer (1.0.3)
-      activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.9)
-      activesupport (>= 4.2.0, < 5.0)
-      nokogiri (~> 1.6)
-      rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
-    railties (4.2.11.1)
-      actionpack (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
+    rack-test (1.1.0)
+      rack (>= 1.0, < 3)
+    rails (5.2.4.1)
+      actioncable (= 5.2.4.1)
+      actionmailer (= 5.2.4.1)
+      actionpack (= 5.2.4.1)
+      actionview (= 5.2.4.1)
+      activejob (= 5.2.4.1)
+      activemodel (= 5.2.4.1)
+      activerecord (= 5.2.4.1)
+      activestorage (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      bundler (>= 1.3.0)
+      railties (= 5.2.4.1)
+      sprockets-rails (>= 2.0.0)
+    rails-dom-testing (2.0.3)
+      activesupport (>= 4.2.0)
+      nokogiri (>= 1.6)
+    rails-html-sanitizer (1.3.0)
+      loofah (~> 2.3)
+    railties (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      method_source
       rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (12.3.2)
-    rbpdf (1.19.8)
+      thor (>= 0.19.0, < 2.0)
+    rainbow (3.0.0)
+    rake (13.0.1)
+    rbpdf (1.20.1)
       htmlentities
       rbpdf-font (~> 1.19.0)
     rbpdf-font (1.19.1)
-    rdoc (4.3.0)
-    redcarpet (3.4.0)
-    request_store (1.0.5)
-    rmagick (2.16.0)
-    roadie (3.2.2)
+    redcarpet (3.5.0)
+    regexp_parser (1.6.0)
+    request_store (1.4.1)
+      rack (>= 1.4)
+    roadie (3.5.1)
       css_parser (~> 1.4)
-      nokogiri (~> 1.5)
-    roadie-rails (1.1.1)
-      railties (>= 3.0, < 5.1)
+      nokogiri (~> 1.8)
+    roadie-rails (2.1.0)
+      railties (>= 5.1, < 6.1)
       roadie (~> 3.1)
-    ruby-openid (2.3.0)
-    rubyzip (1.2.3)
-    selenium-webdriver (2.53.4)
-      childprocess (~> 0.5)
-      rubyzip (~> 1.0)
-      websocket (~> 1.0)
-    simplecov (0.9.2)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.9.0)
-    simplecov-html (0.9.0)
-    sprockets (3.7.2)
+    rouge (3.12.0)
+    rubocop (0.76.0)
+      jaro_winkler (~> 1.5.1)
+      parallel (~> 1.10)
+      parser (>= 2.6)
+      rainbow (>= 2.2.2, < 4.0)
+      ruby-progressbar (~> 1.7)
+      unicode-display_width (>= 1.4.0, < 1.7)
+    rubocop-performance (1.5.1)
+      rubocop (>= 0.71.0)
+    rubocop-rails (2.3.2)
+      rack (>= 1.1)
+      rubocop (>= 0.72.0)
+    ruby-openid (2.9.2)
+    ruby-progressbar (1.10.1)
+    rubyzip (2.0.0)
+    selenium-webdriver (3.142.6)
+      childprocess (>= 0.5, < 4.0)
+      rubyzip (>= 1.2.2)
+    simplecov (0.17.1)
+      docile (~> 1.1)
+      json (>= 1.8, < 3)
+      simplecov-html (~> 0.10.0)
+    simplecov-html (0.10.2)
+    sprockets (4.0.0)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
     sprockets-rails (3.2.1)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
-    test_after_commit (0.4.2)
-      activerecord (>= 3.2)
-    thor (0.20.3)
+    thor (1.0.1)
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    websocket (1.2.8)
+    unicode-display_width (1.6.0)
+    websocket-driver (0.7.1)
+      websocket-extensions (>= 0.1.0)
+    websocket-extensions (0.1.4)
     xpath (3.2.0)
       nokogiri (~> 1.8)
-    yard (0.9.19)
+    yard (0.9.20)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   actionpack-xml_parser
-  bundler (>= 1.5.0, < 2.0.0)
-  capybara (~> 2.13)
-  coderay (~> 1.1.1)
-  i18n (~> 0.7.0)
-  jquery-rails (~> 3.1.4)
-  mail (~> 2.6.4)
-  mime-types (~> 3.0)
+  bundler (>= 1.5.0)
+  capybara (~> 3.25.0)
+  csv (~> 3.1.1)
+  ffi
+  i18n (~> 1.6.0)
+  mail (~> 2.7.1)
   mimemagic
-  minitest
-  mocha
-  mysql2 (~> 0.4.6)
-  net-ldap (~> 0.12.0)
-  nokogiri (~> 1.8.1)
-  pg (~> 0.18.1)
-  protected_attributes
+  mini_magick (~> 4.9.5)
+  mini_mime (~> 1.0.1)
+  mocha (>= 1.4.0)
+  mysql2 (~> 0.5.0)
+  net-ldap (~> 0.16.0)
+  nokogiri (~> 1.10.0)
+  pg (~> 1.1.4)
+  puma (~> 3.7)
   rack-openid
-  rails (= 4.2.11.1)
+  rails (= 5.2.4.1)
   rails-dom-testing
-  rails-html-sanitizer (>= 1.0.3)
-  rbpdf (~> 1.19.6)
-  rdoc (~> 4.3)
-  redcarpet (~> 3.4.0)
-  request_store (= 1.0.5)
-  rmagick (~> 2.16.0)
-  roadie (~> 3.2.1)
-  roadie-rails (~> 1.1.1)
-  ruby-openid (~> 2.3.0)
-  selenium-webdriver (~> 2.53.4)
-  simplecov (~> 0.9.1)
-  test_after_commit (~> 0.4.2)
+  rbpdf (~> 1.20.0)
+  redcarpet (~> 3.5.0)
+  request_store (~> 1.4.1)
+  roadie-rails (~> 2.1.0)
+  rouge (~> 3.12.0)
+  rubocop (~> 0.76.0)
+  rubocop-performance (~> 1.5.0)
+  rubocop-rails (~> 2.3.0)
+  ruby-openid (~> 2.9.2)
+  selenium-webdriver
+  simplecov (~> 0.17.0)
   tzinfo-data
   yard
 
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/default.nix b/nixpkgs/pkgs/applications/version-management/redmine/default.nix
index 0b1f64b58a17..e25cde11af06 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bundlerEnv, ruby }:
 
 let
-  version = "3.4.11";
+  version = "4.1.0";
   rubyEnv = bundlerEnv {
     name = "redmine-env-${version}";
 
@@ -16,7 +16,7 @@ in
 
     src = fetchurl {
       url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "14987sd9ff2n3982qlfwd4m0g1m10w8jyv791nica3wppvnrxh0r";
+      sha256 = "1fxc0xql54cfvj4g8v31vsv19jbij326qkgdz2h5xlp09r821wli";
     };
 
     buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix b/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
index 4ef4bd404270..e69cbb0e1c23 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
@@ -1,126 +1,143 @@
 {
+  actioncable = {
+    dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yz5mcjl4is99650vq6rkv539xccq8mp5zsbvzh43wqzfga1llwm";
+      type = "gem";
+    };
+    version = "5.2.4.1";
+  };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18wwlj4f7jffv3vxm80d2z36nwza95l5xfcqc401hvvrls4xzhsy";
+      sha256 = "1dbw3q3yyh7m7wgc4196hc3v86v123z0xz40llmic8iwx3d9vnda";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rmldsk3a4lwxk0lrp6x1nz1v1r2xmbm3300l4ghgfygv3grdwjh";
+      sha256 = "0f5pm62y08j679k3vhcml8436f92kripd6j3v5dyvn760kwzz72z";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   actionpack-xml_parser = {
-    dependencies = ["actionpack"];
+    dependencies = ["actionpack" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17am4nd7x6g8x7f8i35rzzv2qrxlkc230rbgzg98af0yf50j8gka";
+      sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "2.0.1";
   };
   actionview = {
-    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x7vjn8q6blzyf7j3kwg0ciy7vnfh28bjdkd1mp9k4ghp9jn0g9p";
+      sha256 = "0hnkyx268czfb6ljv6ipcnz9dbgsb1z9n1gcr6279z9wx9550zij";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jy1c1r6syjqpa0sh9f1p4iaxzvp6qg4n6zs774j9z27q7h407mj";
+      sha256 = "0k4j3fcfc8m4hxwhs8xnbxazra760j3amn5r2zm2d5r1a1nqfh91";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activemodel = {
-    dependencies = ["activesupport" "builder"];
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c1x0rd6wnk1f0gsmxs6x3gx7yf6fs9qqkdv7r4hlbcdd849in33";
+      sha256 = "0sg1yyz710pxhq9z0jsbpbgn666y8iv4aj7pywglydipp4i0bpx1";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07ixiwi0zzs9skqarvpfamsnay7npfswymrn28ngxaf8hi279q5p";
+      sha256 = "1p35d6pj1370mnlppqq9lhr7m1ck82xvv621wq6hy12v41qfdnrg";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
+  };
+  activestorage = {
+    dependencies = ["actionpack" "activerecord" "marcel"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dd8k91b88b875mypwqific2jilgzj5bx1637cwmzi4c0cy1v17f";
+      type = "gem";
+    };
+    version = "5.2.4.1";
   };
   activesupport = {
-    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6";
+      sha256 = "0lmlnx79sv18xv1ddm4vq7z3mwdfa4468mq5186av0k8n1k471sp";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   arel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4";
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
       type = "gem";
     };
-    version = "6.0.4";
+    version = "9.0.0";
   };
-  builder = {
+  ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
+      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
       type = "gem";
     };
-    version = "3.2.3";
+    version = "2.4.0";
   };
-  capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
+  builder = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yv77rnsjlvs8qpfn9n5vf1h6b9agxwhxw09gssbiw9zn9j20jh8";
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "3.2.4";
   };
-  childprocess = {
-    dependencies = ["ffi"];
+  capybara = {
+    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
+      sha256 = "1bq1y3gy98rqgw8z69b42isc2klb75fvlwvpi36vycf1yk0sfmmx";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "3.25.0";
   };
-  coderay = {
+  childprocess = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "3.0.0";
   };
   concurrent-ruby = {
     source = {
@@ -133,43 +150,43 @@
   crass = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   css_parser = {
     dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
+      sha256 = "04c4dl8cm5rjr50k9qa6yl9r05fk9zcb1zxh0y0cdahxlsgcydfw";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.7.1";
   };
-  docile = {
+  csv = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+      sha256 = "00szzw96bqz59r0kaab4p75qb0wq54iahmq37wpdg96bxc8y80f5";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "3.1.2";
   };
-  erubis = {
+  docile = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "1.3.2";
   };
-  ffi = {
+  erubi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.9.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -189,64 +206,64 @@
     version = "4.3.4";
   };
   i18n = {
+    dependencies = ["concurrent-ruby"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "1.6.0";
   };
-  jquery-rails = {
-    dependencies = ["railties" "thor"];
+  jaro_winkler = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lk7xqmms45czylxs22kv5khlbm7a0yqcchqijxb9m10zsqc6lp5";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "1.5.4";
   };
-  loofah = {
-    dependencies = ["crass" "nokogiri"];
+  json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.0";
   };
-  mail = {
-    dependencies = ["mime-types"];
+  loofah = {
+    dependencies = ["crass" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d7lhj2dw52ycls6xigkfz6zvfhc6qggply9iycjmcyj9760yvz9";
+      sha256 = "1g7ps9m3s14cajhxrfgbzahv9i3gy47s4hqrv3mpybpj5cyr0srn";
       type = "gem";
     };
-    version = "2.6.6";
+    version = "2.4.0";
   };
-  metaclass = {
+  mail = {
+    dependencies = ["mini_mime"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
+      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "2.7.1";
   };
-  mime-types = {
-    dependencies = ["mime-types-data"];
+  marcel = {
+    dependencies = ["mimemagic"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "0.3.3";
   };
-  mime-types-data = {
+  method_source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "0.9.2";
   };
   mimemagic = {
     source = {
@@ -256,85 +273,100 @@
     };
     version = "0.3.3";
   };
+  mini_magick = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4";
+      type = "gem";
+    };
+    version = "4.9.5";
+  };
   mini_mime = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
+      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
   };
   minitest = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   mocha = {
-    dependencies = ["metaclass"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12aglpiq1h18j5a4rlwvnsvnsi2f3407v5xm59lgcg3ymlyak4al";
+      sha256 = "06i2q5qjr9mvjgjc8w41pdf3qalw340y33wjvzc0rp4a1cbbb7pp";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.11.1";
   };
-  multi_json = {
+  mysql2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0d14pcy5m4hjig0zdxnl9in5f4izszc7v9zcczf2gyi5kiyxk8jw";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "0.5.3";
   };
-  mysql2 = {
+  net-ldap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
+      sha256 = "1vzfhivjfr9q65hkln7xig3qcba6fw9y4kb4384fpm7d7ww0b7xg";
       type = "gem";
     };
-    version = "0.4.10";
+    version = "0.16.2";
   };
-  net-ldap = {
+  nio4r = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
+      sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "2.5.2";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.8.5";
+    version = "1.10.7";
   };
-  pg = {
+  parallel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "0.18.4";
+    version = "1.19.1";
   };
-  protected_attributes = {
-    dependencies = ["activemodel"];
+  parser = {
+    dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lvrvmcwjvjr2mrn20vaf68a0q6mg4cy9f0m1i7x83p0ljhhyar";
+      sha256 = "09davv4ld6caqlczw64vhwf8hr41apys3cj8v2h96yxs4qg1m2iw";
+      type = "gem";
+    };
+    version = "2.6.5.0";
+  };
+  pg = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
       type = "gem";
     };
     version = "1.1.4";
@@ -342,18 +374,26 @@
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
+      type = "gem";
+    };
+    version = "4.0.1";
+  };
+  puma = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07sb9xqc9bn5lvl9ia25w8x1fwzk52p5vgysnvjlc3hvn0r00ysj";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.12.2";
   };
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1id0jsslx1ipv0pbqjfn7mjbb2vx2xybk7qypq59a17163xp30gr";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "2.0.8";
   };
   rack-openid = {
     dependencies = ["rack" "ruby-openid"];
@@ -368,72 +408,71 @@
     dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
+      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
       type = "gem";
     };
-    version = "0.6.3";
+    version = "1.1.0";
   };
   rails = {
-    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ywvis59dd3v8qapi9ix6743zgk07l21x1cd6nb1ddpahxhm7dml";
+      sha256 = "1198azwbhlhq2n9xmpb19709d6smkanimip9cagvnlihagw80b20";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
-  rails-deprecated_sanitizer = {
-    dependencies = ["activesupport"];
+  rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
+      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "2.0.3";
   };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
+  rails-html-sanitizer = {
+    dependencies = ["loofah"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.0.9";
+    version = "1.3.0";
   };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
+  railties = {
+    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
+      sha256 = "1iqsqyyjscwnj2d3i0zl2k9apgsm7bb92l5h4wv1zbpdbb30wsqb";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "5.2.4.1";
   };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "rake" "thor"];
+  rainbow = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bjf21z9maiiazc1if56nnh9xmgbkcqlpznv34f40a1hsvgk1d1m";
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "3.0.0";
   };
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "13.0.1";
   };
   rbpdf = {
     dependencies = ["htmlentities" "rbpdf-font"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195";
+      sha256 = "0sdj8frakpdms820rwlil38h9bh3p24xmwnjrxsjc1p9irc3za71";
       type = "gem";
     };
-    version = "1.19.8";
+    version = "1.20.1";
   };
   rbpdf-font = {
     source = {
@@ -443,106 +482,142 @@
     };
     version = "1.19.1";
   };
-  rdoc = {
+  redcarpet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "3.5.0";
   };
-  redcarpet = {
+  regexp_parser = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
+      sha256 = "1l44ml30jvqpdi3707x1n1dinq7fx9887pv3q2ywyfmi4kja7yf2";
       type = "gem";
     };
-    version = "3.4.0";
+    version = "1.6.0";
   };
   request_store = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
+      sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.4.1";
+  };
+  roadie = {
+    dependencies = ["css_parser" "nokogiri"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zihd316bkbnrinz5s1s7pg7s0cadhhj6qs7wmc713j0g6ai1k9r";
+      type = "gem";
+    };
+    version = "3.5.1";
   };
-  rmagick = {
+  roadie-rails = {
+    dependencies = ["railties" "roadie"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m9x15cdlkcb9826s3s2jd97hxf50hln22p94x8hcccxi1lwklq6";
+      sha256 = "0hdkmnxrmw31dn9jq43xiypz2v6rbvg4x2yd2hgl2xbl3lm1ln7i";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.1.0";
   };
-  roadie = {
-    dependencies = ["css_parser" "nokogiri"];
+  rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0frp5yb07ib9y1k43shd4xjkb9a6wavhqq892l8yi9y73qi2cqbc";
+      sha256 = "08fpnxbhqv5sqpnfjasl1ysxafssyq4q1yhcqamqqzmb9czj1czw";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.12.0";
   };
-  roadie-rails = {
-    dependencies = ["railties" "roadie"];
+  rubocop = {
+    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07x51ixlx76y194xsszh5lbkaqakz44ykbrjxg3qaggbs18790q0";
+      type = "gem";
+    };
+    version = "0.76.0";
+  };
+  rubocop-performance = {
+    dependencies = ["rubocop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kn6rb0ma32gjp5qdvrbbb9ckh66rm6xpfrw8h3kr7svirsww2h8";
+      type = "gem";
+    };
+    version = "1.5.1";
+  };
+  rubocop-rails = {
+    dependencies = ["rack" "rubocop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hxgl5marq2hi6lcc73f7g6afd7dz4w893rrgrbh7m3k8zrwjyk1";
+      sha256 = "1q7ffsq1cjm4m949nh935kjzv4zf1pacnrl00siwh8flhcn3mmjf";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "2.3.2";
   };
   ruby-openid = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yzaf2c1i88757554wk38rxqmj0xzgmwk2zx7gi98w2zx42d17pn";
+      sha256 = "190p1m0bxd9xkfk1j6cpcv3x5c367g36nsglg4m1fcwqdd13k3kz";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.9.2";
+  };
+  ruby-progressbar = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
+      type = "gem";
+    };
+    version = "1.10.1";
   };
   rubyzip = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
+      sha256 = "1gz0ri0pa2xr7b6bf66yjc2wfvk51f4gi6yk7bklwl1nr65zc4gz";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "2.0.0";
   };
   selenium-webdriver = {
-    dependencies = ["childprocess" "rubyzip" "websocket"];
+    dependencies = ["childprocess" "rubyzip"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15qyf7b9fa2nxhhwp551b9fjj82kb3wmy65559yrrcwpdadqvcs4";
+      sha256 = "11abil34dr8p1kw7hlaqd6kr430v4srmhzf72zzqvhcimlfvm4yb";
       type = "gem";
     };
-    version = "2.53.4";
+    version = "3.142.6";
   };
   simplecov = {
-    dependencies = ["docile" "multi_json" "simplecov-html"];
+    dependencies = ["docile" "json" "simplecov-html"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12";
+      sha256 = "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.17.1";
   };
   simplecov-html = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc";
+      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.10.2";
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
+      sha256 = "0jm37zpvvm1arxjwrd6am0wrdbfhrhc5y0l4p2i3p11z04bsvgap";
       type = "gem";
     };
-    version = "3.7.2";
+    version = "4.0.0";
   };
   sprockets-rails = {
     dependencies = ["actionpack" "activesupport" "sprockets"];
@@ -553,22 +628,13 @@
     };
     version = "3.2.1";
   };
-  test_after_commit = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
   thor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
+      sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
       type = "gem";
     };
-    version = "0.20.3";
+    version = "1.0.1";
   };
   thread_safe = {
     source = {
@@ -587,13 +653,30 @@
     };
     version = "1.2.5";
   };
-  websocket = {
+  unicode-display_width = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
+  websocket-extensions = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x";
+      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
       type = "gem";
     };
-    version = "1.2.8";
+    version = "0.1.4";
   };
   xpath = {
     dependencies = ["nokogiri"];
@@ -607,9 +690,9 @@
   yard = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v";
+      sha256 = "0rxqwry3h2hjz069f0kfr140wgx1khgljnqf112dk5x9rm4l0xny";
       type = "gem";
     };
-    version = "0.9.19";
+    version = "0.9.20";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/version-management/smartgithg/default.nix b/nixpkgs/pkgs/applications/version-management/smartgithg/default.nix
index 343d88554d63..554dbae3882e 100644
--- a/nixpkgs/pkgs/applications/version-management/smartgithg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/smartgithg/default.nix
@@ -6,7 +6,6 @@
 , glib
 , gnome3
 , wrapGAppsHook
-, hicolor-icon-theme
 , libXtst
 , which
 }:
@@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ jre gnome3.adwaita-icon-theme hicolor-icon-theme gtk3 ];
+  buildInputs = [ jre gnome3.adwaita-icon-theme gtk3 ];
 
   preFixup = with stdenv.lib; ''
     gappsWrapperArgs+=( \
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix
index e554afe4a92e..76edc1b3e646 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix
@@ -4,7 +4,7 @@
 , srht, redis, celery, pyyaml, markdown }:
 
 let
-  version = "0.45.13";
+  version = "0.48.0";
 
   buildWorker = src: buildGoModule {
     inherit src version;
@@ -20,7 +20,7 @@ in buildPythonPackage rec {
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
     rev = version;
-    sha256 = "002pcj2a98gbmv77a10449w1q6iqhqjz4fim8hm4qm7vn6bwp0hz";
+    sha256 = "1z5bxsn67cqffixqsrnska86mw0a6494650wbi6dbp10z03870bs";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
index ca054c5cfde9..67486bd28f3a 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
@@ -1,22 +1,23 @@
 { stdenv, fetchgit, fetchNodeModules, buildPythonPackage
 , pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests
 , sqlalchemy, flask_login, beautifulsoup4, sqlalchemy-utils, celery, alembic
-, sassc, nodejs-11_x
+, importlib-metadata
+, sassc, nodejs
 , writeText }:
 
 buildPythonPackage rec {
   pname = "srht";
-  version = "0.52.13";
+  version = "0.54.4";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
     rev = version;
-    sha256 = "0i7gd2rkq4y4lffxsgb3mql9ddmk3vqckan29w266imrqs6p8c0z";
+    sha256 = "0flxvn178hqd8ljz89ddis80zfnmzgimv4506w4dg2flbwzywy7z";
   };
 
   node_modules = fetchNodeModules {
     src = "${src}/srht";
-    nodejs = nodejs-11_x;
+    nodejs = nodejs;
     sha256 = "0axl50swhcw8llq8z2icwr4nkr5qsw2riih0a040f9wx4xiw4p6p";
   };
 
@@ -26,7 +27,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     sassc
-    nodejs-11_x
+    nodejs
   ];
 
   propagatedBuildInputs = [
@@ -47,6 +48,7 @@ buildPythonPackage rec {
     # Unofficial runtime dependencies?
     celery
     alembic
+    importlib-metadata
   ];
 
   PKGVER = version;
@@ -55,7 +57,6 @@ buildPythonPackage rec {
     cp -r ${node_modules} srht/node_modules
   '';
 
-  # No actual? tests but seems like it needs this anyway
   preCheck = let
     config = writeText "config.ini" ''
       [webhooks]
@@ -65,10 +66,7 @@ buildPythonPackage rec {
       origin=http://meta.sr.ht.local
     '';
   in ''
-    # Validation needs config option(s)
-    # webhooks <- ( private-key )
-    # meta.sr.ht <- ( origin )
-    cp ${config} config.ini
+    cp -f ${config} config.ini
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix
index 00a3cf271113..3fa5399c2b56 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix
@@ -1,5 +1,5 @@
 { python37, openssl
-, callPackage }:
+, callPackage, recurseIntoAttrs }:
 
 # To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
 # Then we expose them through all-packages.nix as an application through `toPythonApplication`
@@ -25,7 +25,7 @@ let
       scmsrht = self.callPackage ./scm.nix { };
     };
   };
-in with python.pkgs; {
+in with python.pkgs; recurseIntoAttrs {
   inherit python;
   buildsrht = toPythonApplication buildsrht;
   dispatchsrht = toPythonApplication dispatchsrht;
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
index c77fc9022771..a61f35b9ee1c 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "dispatchsrht";
-  version = "0.11.0";
+  version = "0.12.3";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
     rev = version;
-    sha256 = "1kahl2gy5a5li79djwkzkglkw2s7pl4d29bzqp8c53r0xvx4sqkz";
+    sha256 = "0lpc8jpyz1rg3g98546wlhr27b15g32lds77hl42aixv5f5b8lc9";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix
index 996663761a7d..b580e89c747e 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix
@@ -4,11 +4,19 @@
 , srht, pygit2, scmsrht }:
 
 let
-  version = "0.32.3";
+  version = "0.35.6";
+
+  buildShell = src: buildGoModule {
+    inherit src version;
+    pname = "git-srht-shell";
+    goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-shell";
+
+    modSha256 = "1v4npijqgv09ssrxf1y1b3syb2fs7smy7k9rcj3ynsfrn9xgfd9y";
+  };
 
   buildDispatcher = src: buildGoModule {
     inherit src version;
-    pname = "git-sr-ht-dispatcher";
+    pname = "git-srht-dispatcher";
     goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch";
 
     modSha256 = "1lmgmlin460g09dph2hw6yz25d4agqwjhrjv0qqsis7df9qpf3i1";
@@ -20,7 +28,7 @@ in buildPythonPackage rec {
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
     rev = version;
-    sha256 = "0grycmblhm9dnhcf1kcmn6bclgb9znahk2026dan58m9j9pja5vw";
+    sha256 = "0j8caqbzdqkgc1bdhzz4k5hgh8lhsghfgwf46d19ryf83d8ggxqc";
   };
 
   patches = [
@@ -40,9 +48,9 @@ in buildPythonPackage rec {
     export SRHT_PATH=${srht}/${python.sitePackages}/srht
   '';
 
-  # TODO: Remove redundant mkdir?
   postInstall = ''
     mkdir -p $out/bin
+    cp ${buildShell "${src}/gitsrht-shell"}/bin/gitsrht-shell $out/bin/gitsrht-shell
     cp ${buildDispatcher "${src}/gitsrht-dispatch"}/bin/gitsrht-dispatch $out/bin/gitsrht-dispatch
   '';
 
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix
index 938176484686..fd5c3145db0a 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "hgsrht";
-  version = "0.13.0";
+  version = "0.16.2";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
     rev = version;
-    sha256 = "0qkknvja0pyk69fvzqafj3x8hi5miw22nmksvifbrjcqph8jknqg";
+    sha256 = "02bzy31zplnlqg8rcls5n65q1h920lhy6f51w89w1kskdw7r2mhy";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix
index ac36a219a912..d050895ca237 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, buildPythonPackage
 , python
-, srht, asyncpg, unidiff, aiosmtpd, emailthreads }:
+, srht, asyncpg, unidiff, aiosmtpd, pygit2, emailthreads }:
 
 buildPythonPackage rec {
   pname = "listssrht";
-  version = "0.36.3";
+  version = "0.38.3";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
     rev = version;
-    sha256 = "1q2z2pjwz4zifsrkxab9b9jh1vzayjqych1cx3i4859f1swl2gwa";
+    sha256 = "020s6kglm7620pjn2j7fxvaqd5lpz7y7x0wf014jsrm71l6w0rla";
   };
 
   patches = [
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     srht
+    pygit2
     asyncpg
     unidiff
     aiosmtpd
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix
index a0198cb52cf5..df4e62a7ac26 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "mansrht";
-  version = "0.12.4";
+  version = "0.13.5";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
     rev = version;
-    sha256 = "1csnw71yh5zw7l17xmmxyskwiqbls0ynbbjrg45y5k1i3622mhiy";
+    sha256 = "1hfxhczppn8yng6m3kdzj9rn6zjhwpm6dq3pzaiaii92b3d4cyh3";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
index af3685c472cf..a5458b0b8641 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "metasrht";
-  version = "0.34.3";
+  version = "0.37.0";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
     rev = version;
-    sha256 = "1yj3npw1vlqawzj6q1mh6qryx009dg5prja9fn6rasfmxjn2gr7v";
+    sha256 = "1jf3h2v27cbam8bwiw3x35319pzp0r651p8mfhw150jvskyvmkmr";
   };
 
   nativeBuildInputs = srht.nativeBuildInputs;
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/paste.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/paste.nix
index 47153d9f204e..4e397c649f90 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/paste.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "pastesrht";
-  version = "0.5.1";
+  version = "0.7.3";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
     rev = version;
-    sha256 = "0bzw03hcwi1pw16kliqjsr7kphqq3qw0pbpdjqkcs7jdr0a59vny";
+    sha256 = "15689gk37djcwdjb636d97k0il2zpdpksb95l9l4d43wipd7x5qi";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix
index ef6ed3a744b6..c5209cee46bc 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "scmsrht";
-  version = "0.13.3";
+  version = "0.16.0";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
     rev = version;
-    sha256 = "0bapddgfqrs27y6prd6kwpz6jdlr33zdqr6ci6ixi584a7z8z7d6";
+    sha256 = "0jny8ihn49n7bpw5nhdrfha78yzpxp277l50y1lj142r59kwmh22";
   };
 
   nativeBuildInputs = srht.nativeBuildInputs;
@@ -39,11 +39,7 @@ buildPythonPackage rec {
       origin=http://meta.sr.ht.local
     '';
   in ''
-    # Validation needs config option(s)
-    # webhooks <- ( private-key )
-    # meta.sr.ht <- ( origin )
-    # builds.sr.ht <- ( origin, oauth-client-id )
-    cp ${config} config.ini
+    cp -f ${config} config.ini
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix
index 6b67478aa674..a7703bd07292 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchgit, buildPythonPackage
 , python
-, srht, redis, alembic, pystache }:
+, srht, redis, alembic, pystache
+, pytest, factory_boy, writeText }:
 
 buildPythonPackage rec {
   pname = "todosrht";
-  version = "0.46.8";
+  version = "0.51.13";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
     rev = version;
-    sha256 = "17nqqy81535jnkidjiqv8v2301w5wzbbvx4czib69aagw1l85gnn";
+    sha256 = "19gywq5j7wlpk7j2whm2ivz0z0i3j50n7k7bx29pghndl7l43c18";
   };
 
   patches = [
@@ -30,8 +31,33 @@ buildPythonPackage rec {
     export SRHT_PATH=${srht}/${python.sitePackages}/srht
   '';
 
-  # Tests require a network connection
-  doCheck = false;
+  checkInputs = [
+    pytest
+    factory_boy
+  ];
+
+  installCheckPhase = let
+    config = writeText "config.ini" ''
+      [webhooks]
+      private-key=K6JupPpnr0HnBjelKTQUSm3Ro9SgzEA2T2Zv472OvzI=
+
+      [todo.sr.ht]
+      origin=http://todo.sr.ht.local
+      oauth-client-id=
+      oauth-client-secret=
+
+      [todo.sr.ht::mail]
+      posting-domain=
+
+      [meta.sr.ht]
+      origin=http://meta.sr.ht.local
+    '';
+  in ''
+    cp -f ${config} config.ini
+
+    # pytest tests fail
+    # pytest tests/
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://todo.sr.ht/~sircmpwn/todo.sr.ht;
diff --git a/nixpkgs/pkgs/applications/version-management/src/default.nix b/nixpkgs/pkgs/applications/version-management/src/default.nix
index a3fcd209efc0..8ff384d84b7f 100644
--- a/nixpkgs/pkgs/applications/version-management/src/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/src/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "src";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${pname}-${version}.tar.gz";
-    sha256 = "06npsnf2bfjgcs7wilhcqn24zn286nyy4qyp3yp88zapkxzlap23";
+    sha256 = "0764kcyh54plzmvfyhh086wpszh67nv1nsxgk95n9bxxinr7sn3x";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
index 779c33627e8f..653db11ab5d3 100644
--- a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,43 +1,38 @@
-{ lib, fetchurl, python2Packages
-, mercurial
+{ lib, fetchurl, python3Packages
+, mercurial, qt5
 }@args:
 let
   tortoisehgSrc = fetchurl rec {
     meta.name = "tortoisehg-${meta.version}";
-    meta.version = "5.0.2";
-    url = "https://bitbucket.org/tortoisehg/targz/downloads/${meta.name}.tar.gz";
-    sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
+    meta.version = "5.2.1";
+    url = "https://bitbucket.org/tortoisehg/thg/get/14221e991a5b623e0072d3bd340b759dbe9072ca.tar.gz";
+    sha256 = "01rpzf5z99izcdda1ps9bhqvhw6qghagd8c1y7x19rv223zi05dv";
   };
 
-  mercurial =
-    if args.mercurial.meta.version == tortoisehgSrc.meta.version
-      then args.mercurial
-      else args.mercurial.override {
-        mercurialSrc = fetchurl rec {
-          meta.name = "mercurial-${meta.version}";
-          meta.version = tortoisehgSrc.meta.version;
-          url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-          sha256 = "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19";
-        };
-      };
-
-in python2Packages.buildPythonApplication {
+  tortoiseMercurial = mercurial.overridePythonAttrs (old: rec {
+    inherit (tortoisehgSrc.meta) version;
+    src = fetchurl {
+      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+      sha256 = "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q";
+    };
+  });
 
+in python3Packages.buildPythonApplication {
     inherit (tortoisehgSrc.meta) name version;
     src = tortoisehgSrc;
 
-    pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
-
-    propagatedBuildInputs = with python2Packages; [ qscintilla iniparse ];
+    propagatedBuildInputs = with python3Packages; [
+      tortoiseMercurial qscintilla-qt5 iniparse
+    ];
+    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
     doCheck = false; # tests fail with "thg: cannot connect to X server"
-    dontStrip = true;
-    buildPhase = "";
-    installPhase = ''
-      ${python2Packages.python.executable} setup.py install --prefix=$out
+    postInstall = ''
       mkdir -p $out/share/doc/tortoisehg
-      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt.gz
-      ln -s $out/bin/thg $out/bin/tortoisehg     #convenient alias
+      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
+      # convenient alias
+      ln -s $out/bin/thg $out/bin/tortoisehg
+      wrapQtApp $out/bin/thg
     '';
 
     checkPhase = ''
@@ -45,7 +40,7 @@ in python2Packages.buildPythonApplication {
       $out/bin/thg version
     '';
 
-    passthru.mercurial = mercurial;
+    passthru.mercurial = tortoiseMercurial;
 
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
diff --git a/nixpkgs/pkgs/applications/version-management/yadm/default.nix b/nixpkgs/pkgs/applications/version-management/yadm/default.nix
index 66b785e43b17..f3ddf8059b29 100644
--- a/nixpkgs/pkgs/applications/version-management/yadm/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/yadm/default.nix
@@ -1,37 +1,39 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, git, gnupg }:
 
-let version = "1.12.0"; in
+let version = "2.3.0"; in
 stdenv.mkDerivation {
   pname = "yadm";
   inherit version;
 
+  buildInputs = [ git gnupg ];
+
   src = fetchFromGitHub {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
     rev    = version;
-    sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
+    sha256 = "1by21dh48qbi33wlyyvdwz7ac1lxrblzcr5v7hlnc4cbcgvgs1a0";
   };
 
-  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/nixpkgs/pkgs/applications/video/aegisub/default.nix b/nixpkgs/pkgs/applications/video/aegisub/default.nix
index 2734035b6de9..123308babeae 100644
--- a/nixpkgs/pkgs/applications/video/aegisub/default.nix
+++ b/nixpkgs/pkgs/applications/video/aegisub/default.nix
@@ -1,16 +1,42 @@
-{ config, stdenv, fetchurl
-, libX11, wxGTK
-, libiconv, fontconfig, freetype
-, libGLU_combined
-, libass, fftw, ffms
-, ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
-, icu, boost, intltool # New dependencies
-, spellcheckSupport ? true, hunspell ? null
-, automationSupport ? true, lua ? null
-, openalSupport ? false, openal ? null
-, alsaSupport ? stdenv.isLinux, alsaLib ? null
-, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
-, portaudioSupport ? false, portaudio ? null }:
+{ config
+, stdenv
+, fetchurl
+, fetchpatch
+, libX11
+, wxGTK
+, libiconv
+, fontconfig
+, freetype
+, libGLU
+, libGL
+, libass
+, fftw
+, ffms
+, ffmpeg
+, pkg-config
+, zlib
+, icu
+, boost
+, intltool
+
+, spellcheckSupport ? true
+, hunspell ? null
+
+, automationSupport ? true
+, lua ? null
+
+, openalSupport ? false
+, openal ? null
+
+, alsaSupport ? stdenv.isLinux
+, alsaLib ? null
+
+, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
+, libpulseaudio ? null
+
+, portaudioSupport ? false
+, portaudio ? null
+}:
 
 assert spellcheckSupport -> (hunspell != null);
 assert automationSupport -> (lua != null);
@@ -20,7 +46,8 @@ assert pulseaudioSupport -> (libpulseaudio != null);
 assert portaudioSupport -> (portaudio != null);
 
 with stdenv.lib;
-stdenv.mkDerivation rec {
+stdenv.mkDerivation
+ rec {
   pname = "aegisub";
   version = "3.2.2";
 
@@ -29,12 +56,40 @@ stdenv.mkDerivation rec {
     sha256 = "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5";
   };
 
-  # Fixup build with icu-59
-  postPatch = "sed '1i#include <unicode/unistr.h>' -i src/utils.cpp";
+  patches = [
+    # Compatibility with ICU 59
+    (fetchpatch {
+      url = "https://github.com/Aegisub/Aegisub/commit/dd67db47cb2203e7a14058e52549721f6ff16a49.patch";
+      sha256 = "07qqlckiyy64lz8zk1as0vflk9kqnjb340420lp9f0xj93ncssj7";
+    })
 
-  buildInputs = with stdenv.lib;
-  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU_combined
-    libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
+    # Compatbility with Boost 1.69
+    (fetchpatch {
+      url = "https://github.com/Aegisub/Aegisub/commit/c3c446a8d6abc5127c9432387f50c5ad50012561.patch";
+      sha256 = "1n8wmjka480j43b1pr30i665z8hdy6n3wdiz1ls81wyv7ai5yygf";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+  ];
+
+  buildInputs = with stdenv.lib; [
+    libX11
+    wxGTK
+    fontconfig
+    freetype
+    libGLU
+    libGL
+    libass
+    fftw
+    ffms
+    ffmpeg
+    zlib
+    icu
+    boost
+    libiconv
   ]
     ++ optional spellcheckSupport hunspell
     ++ optional automationSupport lua
@@ -53,9 +108,7 @@ stdenv.mkDerivation rec {
 
   # this is fixed upstream though not yet in an officially released version,
   # should be fine remove on next release (if one ever happens)
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
 
@@ -67,11 +120,11 @@ stdenv.mkDerivation rec {
       audio, and features many powerful tools for styling them, including a
       built-in real-time video preview.
     '';
-    homepage = http://www.aegisub.org/;
+    homepage = "http://www.aegisub.org/";
+    # The Aegisub sources are itself BSD/ISC,
+    # but they are linked against GPL'd softwares
+    # - so the resulting program will be GPL
     license = licenses.bsd3;
-              # The Aegisub sources are itself BSD/ISC,
-              # but they are linked against GPL'd softwares
-              # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/applications/video/bomi/default.nix b/nixpkgs/pkgs/applications/video/bomi/default.nix
index 9ff65483f261..a9d98a9a2a44 100644
--- a/nixpkgs/pkgs/applications/video/bomi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/catt/default.nix b/nixpkgs/pkgs/applications/video/catt/default.nix
new file mode 100644
index 000000000000..1f2b25359319
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/catt/default.nix
@@ -0,0 +1,31 @@
+{ buildPythonApplication, fetchPypi, lib
+, youtube-dl
+, PyChromecast
+, click
+, ifaddr
+, requests
+}:
+
+buildPythonApplication rec {
+  pname = "catt";
+  version = "0.10.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n6aa2vvbq0z3vcg4cylhpqxch783cxvxk234647knklgg9vdf1r";
+  };
+
+  propagatedBuildInputs = [
+    youtube-dl PyChromecast click ifaddr requests
+  ];
+
+  doCheck = false; # attempts to access various URLs
+
+  meta = with lib; {
+    description = "Cast All The Things allows you to send videos from many, many online sources to your Chromecast";
+    homepage = "https://github.com/skorokithakis/catt";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/video/celluloid/default.nix b/nixpkgs/pkgs/applications/video/celluloid/default.nix
index 47a82470137e..22fac11b0182 100644
--- a/nixpkgs/pkgs/applications/video/celluloid/default.nix
+++ b/nixpkgs/pkgs/applications/video/celluloid/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "celluloid";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchFromGitHub {
     owner = "celluloid-player";
     repo = "celluloid";
     rev = "v${version}";
-    sha256 = "0pnxjv6n2q6igxdr8wzbahcj7vccw4nfjdk8fjdnaivf2lyrpv2d";
+    sha256 = "1j8z75y98liirr41rlcn89cshvp1xp71cspcclm6wx455i7q2cg1";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs meson-post-install.py src/generate-authors.py
-    sed -i '/gtk-update-icon-cache/s/^/#/' meson-post-install.py
   '';
 
   doCheck = true;
@@ -59,6 +58,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/celluloid-player/celluloid";
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/cinelerra/default.nix b/nixpkgs/pkgs/applications/video/cinelerra/default.nix
index eb3946b9ed03..36ad39bd37c1 100644
--- a/nixpkgs/pkgs/applications/video/cinelerra/default.nix
+++ b/nixpkgs/pkgs/applications/video/cinelerra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, autoconf, automake, libtool
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool
 , pkgconfig, faad2, faac, a52dec, alsaLib, fftw, lame, libavc1394
 , libiec61883, libraw1394, libsndfile, libvorbis, libogg, libjpeg
 , libtiff, freetype, mjpegtools, x264, gettext, openexr
@@ -7,22 +7,27 @@
 , fontconfig, intltool }:
 
 stdenv.mkDerivation {
-  name = "cinelerra-unstable-2016-01-12";
+  name = "cinelerra-cv-2018-05-16";
 
-  src = fetchgit {
-    url = "git://git.cinelerra-cv.org/j6t/cinelerra.git";
-    rev = "454be60e201c18c1fc3f1f253a6d2184fcfc94c4";
-    sha256 = "1n4kshqhgnr7aivsi8dgx48phyd2nzvv4szbc82mndklvs9jfb7r";
+  src = fetchFromGitHub {
+    owner = "ratopi";
+    repo = "CinelerraCV";
+    rev = "d9c0dbf4393717f0a42f4b91c3e1ed5b16f955dc";
+    sha256 = "0a8kfm1v96sv6jh4568crg6nkr6n3579i9xksfj8w199s6yxzsbk";
   };
 
-  # touch config.rpath: work around bug in automake 1.10 ?
   preConfigure = ''
     find -type f -print0 | xargs --null sed -e "s@/usr/bin/perl@${perl}/bin/perl@" -i
-    touch config.rpath
     ./autogen.sh
     sed -i -e "s@/usr/bin/file@${file}/bin/file@" ./configure
   '';
 
+  ## fix bug with parallel building
+  preBuild = ''
+    make -C cinelerra versioninfo.h
+  '';
+  enableParallelBuilding = true;
+
   buildInputs =
     [ automake
       autoconf libtool pkgconfig file
@@ -37,10 +42,6 @@ stdenv.mkDerivation {
       fontconfig intltool
     ];
 
-  # $ make -C cinelerra edl.o
-  # edl.C:50:25: fatal error: versioninfo.h: No such file or directory
-  enableParallelBuilding = false;
-
   meta = {
     description = "Video Editor";
     homepage = http://www.cinelerra.org;
diff --git a/nixpkgs/pkgs/applications/video/clipgrab/default.nix b/nixpkgs/pkgs/applications/video/clipgrab/default.nix
index 1872750deb00..ad175b246766 100644
--- a/nixpkgs/pkgs/applications/video/clipgrab/default.nix
+++ b/nixpkgs/pkgs/applications/video/clipgrab/default.nix
@@ -5,10 +5,10 @@
 
 mkDerivation rec {
   pname = "clipgrab";
-  version = "3.8.4";
+  version = "3.8.6";
 
   src = fetchurl {
-    sha256 = "0pyrg3rrsd538vnrv6x2frhbq9k2638nzffjsar1p76wxp8fm42s";
+    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/nixpkgs/pkgs/applications/video/handbrake/default.nix b/nixpkgs/pkgs/applications/video/handbrake/default.nix
index 2e216369de9c..59a8c2377ce9 100644
--- a/nixpkgs/pkgs/applications/video/handbrake/default.nix
+++ b/nixpkgs/pkgs/applications/video/handbrake/default.nix
@@ -7,11 +7,12 @@
 # be nice to add the native GUI (and/or the GTK GUI) as an option too, but that
 # requires invoking the Xcode build system, which is non-trivial for now.
 
-{ stdenv, lib, fetchurl,
+{ stdenv, lib, fetchurl, fetchpatch,
   # Main build tools
-  python2, pkgconfig, autoconf, automake, cmake, nasm, libtool, m4, lzma,
+  python2, pkgconfig, autoconf, automake, libtool, m4, lzma,
+  numactl,
   # Processing, video codecs, containers
-  ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora,
+  ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora, dav1d,
   # Codecs, audio
   libopus, lame, libvorbis, a52dec, speex, libsamplerate,
   # Text processing
@@ -48,22 +49,22 @@ assert stdenv.isDarwin -> AudioToolbox != null && Foundation != null
 
 stdenv.mkDerivation rec {
   pname = "handbrake";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchurl {
     url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2'';
-    sha256 = "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z";
+    sha256 = "15hxncswmaj62hb40fxixsa6d519zb712z9xbdq979q4rasjxa59";
   };
 
   nativeBuildInputs = [
-    python2 pkgconfig autoconf automake cmake nasm libtool m4
+    python2 pkgconfig autoconf automake libtool m4
   ] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
 
   buildInputs = [
-    ffmpeg-full libogg libtheora x264 x265 libvpx
+    ffmpeg-full libogg libtheora x264 x265 libvpx dav1d
     libopus lame libvorbis a52dec speex libsamplerate
     libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz
-    libdvdread libdvdnav libdvdcss libbluray lzma
+    libdvdread libdvdnav libdvdcss libbluray lzma numactl
   ] ++ lib.optionals useGtk [
     glib gtk3 libappindicator-gtk3 libnotify
     gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
@@ -74,13 +75,6 @@ stdenv.mkDerivation rec {
   # look at ./make/configure.py search "enable_nvenc"
     ++ lib.optional stdenv.isLinux nv-codec-headers;
 
-  # NOTE: 2018-12-25: v1.2.0 now requires cmake dep
-  # (default distribution bundles&builds 3rd party libs),
-  # don't trigger cmake build
-  dontUseCmakeConfigure = true;
-  # cp: cannot create regular file './internal_defaults.json': File exists
-  enableParallelBuilding = false;
-
   preConfigure = ''
     patchShebangs scripts
 
@@ -92,6 +86,9 @@ stdenv.mkDerivation rec {
     # Force using nixpkgs dependencies
     sed -i '/MODULES += contrib/d' make/include/main.defs
     sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
+    sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
+        -e '/    ## Additional library and tool checks/,/    ## MinGW specific library and tool checks/d' \
+        -i make/configure.py
   '';
 
   configureFlags = [
@@ -103,8 +100,10 @@ stdenv.mkDerivation rec {
   ];
 
   # NOTE: 2018-12-27: Check NixOS HandBrake test if changing
-  NIX_LDFLAGS = [
+  NIX_LDFLAGS = toString [
     "-lx265"
+    # NOTE: The -ldl flag was fixed upstream for a release after 1.3.0
+    "-ldl"
   ];
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/applications/video/kazam/default.nix b/nixpkgs/pkgs/applications/video/kazam/default.nix
index 9d549c2aecc3..f38046cf8e1a 100644
--- a/nixpkgs/pkgs/applications/video/kazam/default.nix
+++ b/nixpkgs/pkgs/applications/video/kazam/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobject-introspection
-, gtk3, libwnck3, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio }:
+, gtk3, libwnck3, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio
+, fetchpatch }:
 
 python3.pkgs.buildPythonApplication rec {
   name = "kazam-${version}";
@@ -18,6 +19,9 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3.pkgs; [ pygobject3 pyxdg pycairo dbus-python ];
+ 
+  # workaround https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
 
   patches = [
     # Fix paths
@@ -26,10 +30,10 @@ python3.pkgs.buildPythonApplication rec {
       libcanberra = libcanberra-gtk3;
       inherit libpulseaudio;
     })
-    # Fix compability with Python 3.4
-    (fetchurl {
-      url = https://sources.debian.org/data/main/k/kazam/1.4.5-2/debian/patches/configparser_api_changes.patch;
-      sha256 = "0yvmipnh98s7y07cp1f113l0qqfw65k13an96byq707z3ymv1c2h";
+    # https://github.com/hzbd/kazam/pull/21
+    (fetchpatch {
+      url = https://github.com/hzbd/kazam/commit/37e53a5aa61f4223a9ea03ceeda26eeba2b9d37b.patch;
+      sha256 = "1q5dpmdm6cvgzw8xa7bwclnqa05xc73ja1lszwmwv5glyik0fk4z";
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/video/key-mon/default.nix b/nixpkgs/pkgs/applications/video/key-mon/default.nix
deleted file mode 100644
index 7dc350da6475..000000000000
--- a/nixpkgs/pkgs/applications/video/key-mon/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, gnome2, librsvg, pythonPackages }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "key-mon";
-  version = "1.17";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${pname}-${version}.tar.gz";
-    sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q";
-  };
-
-  propagatedBuildInputs =
-    [ gnome2.python_rsvg librsvg pythonPackages.pygtk pythonPackages.xlib ];
-
-  doCheck = false;
-
-  preFixup = ''
-      export makeWrapperArgs="--set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://code.google.com/archive/p/key-mon;
-    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
-    license = licenses.asl20;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/kino/default.nix b/nixpkgs/pkgs/applications/video/kino/default.nix
index 1b9f0d0997a0..2a0af3ed59e4 100644
--- a/nixpkgs/pkgs/applications/video/kino/default.nix
+++ b/nixpkgs/pkgs/applications/video/kino/default.nix
@@ -71,10 +71,7 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  NIX_LDFLAGS = [
-    "-lavcodec"
-    "-lavutil"
-  ];
+  NIX_LDFLAGS = "-lavcodec -lavutil";
 
   patches = [ ./kino-1.3.4-v4l1.patch ./kino-1.3.4-libav-0.7.patch ./kino-1.3.4-libav-0.8.patch ]; #./kino-1.3.4-libavcodec-pkg-config.patch ];
 
diff --git a/nixpkgs/pkgs/applications/video/kodi/default.nix b/nixpkgs/pkgs/applications/video/kodi/default.nix
index 773c63b0036d..4fae93aa1a18 100644
--- a/nixpkgs/pkgs/applications/video/kodi/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/default.nix
@@ -8,12 +8,12 @@
 , libXt, libXmu, libXext
 , libXinerama, libXrandr
 , libXtst, libXfixes, systemd
-, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
-, libjpeg, jasper, libpng, libtiff
+, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
+, libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
 , lzo, libcdio, libmodplug, libass, libbluray
-, sqlite, mysql, nasm, gnutls, libva, libdrm
+, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
 , curl, bzip2, zip, unzip, glxinfo, xdpyinfo
 , libcec, libcec_platform, dcadec, libuuid
 , libcrossguid, libmicrohttpd
@@ -43,15 +43,15 @@ assert vdpauSupport -> libvdpau != null;
 assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
 
 let
-  kodiReleaseDate = "20190901";
-  kodiVersion = "18.4";
+  kodiReleaseDate = "20191116";
+  kodiVersion = "18.5";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7";
+    sha256 = "0pcrraj1ddzrd296br10yjnaxgb3iym74xzixcakaqhhp00f5hf6";
   };
 
   cmakeProto = fetchurl {
@@ -156,12 +156,12 @@ in stdenv.mkDerivation {
       openssl gperf tinyxml2 taglib libssh swig jre
       libX11 xorgproto libXt libXmu libXext
       libXinerama libXrandr libXtst libXfixes
-      alsaLib libGLU_combined glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff
+      alsaLib libGL libGLU glew fontconfig freetype ftgl
+      libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
       lzo libcdio libmodplug libass libbluray
-      sqlite mysql.connector-c avahi lame
+      sqlite libmysqlclient avahi lame
       curl bzip2 zip unzip glxinfo xdpyinfo
       libcec libcec_platform dcadec libuuid
       libgcrypt libgpgerror libunistring
@@ -179,7 +179,7 @@ in stdenv.mkDerivation {
     ++ lib.optional  udevSupport     udev
     ++ lib.optional  usbSupport      libusb
     ++ lib.optional  vdpauSupport    libvdpau
-    ++ lib.optional  useWayland [
+    ++ lib.optionals useWayland [
       wayland waylandpp
       # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
       libxkbcommon.dev
@@ -192,7 +192,7 @@ in stdenv.mkDerivation {
       which
       pkgconfig gnumake
       autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
-    ] ++ lib.optional useWayland [ wayland-protocols ];
+    ] ++ lib.optionals useWayland [ wayland-protocols ];
 
     cmakeFlags = [
       "-Dlibdvdcss_URL=${libdvdcss.src}"
diff --git a/nixpkgs/pkgs/applications/video/makemkv/default.nix b/nixpkgs/pkgs/applications/video/makemkv/default.nix
index 77aa2779b5d9..ca202c5ce603 100644
--- a/nixpkgs/pkgs/applications/video/makemkv/default.nix
+++ b/nixpkgs/pkgs/applications/video/makemkv/default.nix
@@ -3,21 +3,21 @@
 }:
 
 let
-  version = "1.14.5";
+  version = "1.14.7";
   # Using two URLs as the first one will break as soon as a new version is released
   src_bin = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
     ];
-    sha256 = "1rnkx0h149n3pawmk8d234x5w1xw4kady9pgrcc5aw6krbx38nis";
+    sha256 = "19j62vyk8havv38lh35108f7jmrqiqzikl3aqlsncxxa69m6fv5n";
   };
   src_oss = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
     ];
-    sha256 = "1jg10mslcl0sfwdd9p7hy9zfvk0xc7qhdakiv1kbilsl42bgaxyi";
+    sha256 = "1w6b4cvhfg1dv2claam0l6slhjqzy0n2lvwk1ggkh4c561qbfp59";
   };
 in mkDerivation {
   pname = "makemkv";
diff --git a/nixpkgs/pkgs/applications/video/mediathekview/default.nix b/nixpkgs/pkgs/applications/video/mediathekview/default.nix
index a5de209854b3..586779252b63 100644
--- a/nixpkgs/pkgs/applications/video/mediathekview/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/minitube/default.nix b/nixpkgs/pkgs/applications/video/minitube/default.nix
index a9876da234f7..635779187a81 100644
--- a/nixpkgs/pkgs/applications/video/minitube/default.nix
+++ b/nixpkgs/pkgs/applications/video/minitube/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, wrapQtAppsHook, phonon, phonon-backend-vlc, qtbase, qmake
-, qtdeclarative, qttools
+, qtdeclarative, qttools, qtx11extras, mpv
 
 # "Free" key generated by nckx <github@tobias.gr>. I no longer have a Google
 # account. You'll need to generate (and please share :-) a new one if it breaks.
@@ -7,16 +7,17 @@
 
 stdenv.mkDerivation rec {
   pname = "minitube";
-  version = "2.9";
+  version = "3.2";
 
   src = fetchFromGitHub {
-    sha256 = "11zkmwqadlgrrghs3rxq0h0fllfnyd3g09d7gdd6vd9r1a1yz73f";
+    sha256 = "0175sgqmszakqd631bni4aqjpx68h6n49zjvg23fb1yyancnkn4c";
     rev = version;
     repo = "minitube";
     owner = "flaviotordini";
+    fetchSubmodules = true;
   };
 
-  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools ];
+  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools qtx11extras mpv ];
   nativeBuildInputs = [ wrapQtAppsHook qmake ];
 
   qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
@@ -33,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = https://flavio.tordini.org/minitube;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index af917981e1cf..2d332a862c62 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "37.0.0";
+  version = "40.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0r1qzvqc6xx7rmv4v4fjc70cqy832h8v0fjf6c5ljbg1c6pgkl0l";
+    sha256 = "103rvj6f6nlzybzbkqix7q5f2017bmzsn9z5g7bwnjjwgih5mrpq";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Cross-platform tools for Matroska";
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
+    maintainers = with maintainers; [ codyopel rnhmjoj ];
     platforms   = platforms.linux
       ++ optionals (!withGUI) platforms.darwin;
   };
diff --git a/nixpkgs/pkgs/applications/video/mplayer/default.nix b/nixpkgs/pkgs/applications/video/mplayer/default.nix
index 2afb7d1c68a5..f5559e3fb6c0 100644
--- a/nixpkgs/pkgs/applications/video/mplayer/default.nix
+++ b/nixpkgs/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
@@ -195,11 +195,11 @@ stdenv.mkDerivation rec {
     echo CONFIG_MPEGAUDIODSP=yes >> config.mak
   '';
 
-  NIX_LDFLAGS = with stdenv.lib;
+  NIX_LDFLAGS = with stdenv.lib; toString (
        optional  fontconfigSupport "-lfontconfig"
     ++ optional  fribidiSupport "-lfribidi"
     ++ optionals x11Support [ "-lX11" "-lXext" ]
-    ;
+  );
 
   installTargets = [ "install" ] ++ stdenv.lib.optional x11Support "install-gui";
 
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index bb0b92eee030..c333790d6a67 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, fetchurl, fetchFromGitHub, makeWrapper
-, docutils, perl, pkgconfig, python3, which, ffmpeg_4
-, freefont_ttf, freetype, libass, libpthreadstubs, mujs
+, addOpenGLRunpath, docutils, perl, pkgconfig, python3, which
+, ffmpeg_4, freefont_ttf, freetype, libass, libpthreadstubs, mujs
 , nv-codec-headers, lua, libuchardet, libiconv ? null, darwin
 
 , waylandSupport ? stdenv.isLinux
@@ -9,7 +9,7 @@
   , libxkbcommon      ? null
 
 , x11Support ? stdenv.isLinux
-  , libGLU_combined ? null
+  , libGLU, libGL ? null
   , libX11          ? null
   , libXext         ? null
   , libXxf86vm      ? null
@@ -20,33 +20,39 @@
   , libcdio-paranoia ? null
 
 , vulkanSupport ? stdenv.isLinux
-  , shaderc ? null
+  , libplacebo     ? null
+  , shaderc        ? null
   , vulkan-headers ? null
-  , vulkan-loader ? null
+  , vulkan-loader  ? null
+
+, drmSupport ? stdenv.isLinux
+  , libdrm ? null
+  , mesa   ? null
 
 , alsaSupport        ? stdenv.isLinux, alsaLib       ? null
 , bluraySupport      ? true,           libbluray     ? null
 , bs2bSupport        ? true,           libbs2b       ? null
 , cacaSupport        ? true,           libcaca       ? null
 , cmsSupport         ? true,           lcms2         ? null
-, drmSupport         ? stdenv.isLinux, libdrm        ? null
 , dvdnavSupport      ? stdenv.isLinux, libdvdnav     ? null
-, dvdreadSupport     ? stdenv.isLinux, libdvdread    ? null
 , libpngSupport      ? true,           libpng        ? null
 , pulseSupport       ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
-, rubberbandSupport  ? stdenv.isLinux, rubberband ? null
+, rubberbandSupport  ? stdenv.isLinux, rubberband    ? null
 , screenSaverSupport ? true,           libXScrnSaver ? null
+, sambaSupport       ? stdenv.isLinux, samba         ? null
 , sdl2Support        ? true,           SDL2          ? null
+, sndioSupport       ? true,           sndio         ? null
 , speexSupport       ? true,           speex         ? null
 , theoraSupport      ? true,           libtheora     ? null
-, vaapiSupport       ? stdenv.isLinux, libva ? null
+, vaapiSupport       ? stdenv.isLinux, libva         ? null
 , vdpauSupport       ? true,           libvdpau      ? null
 , xineramaSupport    ? stdenv.isLinux, libXinerama   ? null
 , xvSupport          ? stdenv.isLinux, libXv         ? null
 , youtubeSupport     ? true,           youtube-dl    ? null
+, zimgSupport        ? true,           zimg          ? null
 , archiveSupport     ? false,          libarchive    ? null
 , jackaudioSupport   ? false,          libjack2      ? null
-, openalSupport      ? false,          openalSoft    ? null
+, openalSupport      ? true,           openalSoft    ? null
 , vapoursynthSupport ? false,          vapoursynth   ? null
 }:
 
@@ -60,28 +66,31 @@ assert archiveSupport     -> available libarchive;
 assert bluraySupport      -> available libbluray;
 assert bs2bSupport        -> available libbs2b;
 assert cacaSupport        -> available libcaca;
-assert cddaSupport        -> all available [libcdio libcdio-paranoia];
+assert cddaSupport        -> all available [ libcdio libcdio-paranoia ];
 assert cmsSupport         -> available lcms2;
-assert drmSupport         -> available libdrm;
+assert drmSupport         -> all available [ libdrm mesa ];
 assert dvdnavSupport      -> available libdvdnav;
-assert dvdreadSupport     -> available libdvdread;
 assert jackaudioSupport   -> available libjack2;
 assert libpngSupport      -> available libpng;
 assert openalSupport      -> available openalSoft;
 assert pulseSupport       -> available libpulseaudio;
 assert rubberbandSupport  -> available rubberband;
 assert screenSaverSupport -> available libXScrnSaver;
+assert sambaSupport       -> available samba;
 assert sdl2Support        -> available SDL2;
+assert sndioSupport       -> available sndio;
 assert speexSupport       -> available speex;
 assert theoraSupport      -> available libtheora;
 assert vaapiSupport       -> available libva;
 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;
+assert zimgSupport        -> available zimg;
 
 let
   # Purity: Waf is normally downloaded by bootstrap.py, but
@@ -92,17 +101,17 @@ let
              "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
     sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia";
   };
-  luaEnv = lua.withPackages(ps: with ps; [ luasocket ]);
+  luaEnv = lua.withPackages (ps: with ps; [ luasocket ]);
 
 in stdenv.mkDerivation rec {
   pname = "mpv";
-  version = "0.29.1";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
-    owner = "mpv-player";
-    repo  = "mpv";
+    owner  = "mpv-player";
+    repo   = "mpv";
     rev    = "v${version}";
-    sha256 = "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m";
+    sha256 = "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r";
   };
 
   postPatch = ''
@@ -115,7 +124,6 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-libmpv-shared"
     "--enable-manpage-build"
-    "--enable-zsh-comp"
     "--disable-libmpv-static"
     "--disable-static-build"
     "--disable-build-date" # Purity
@@ -123,8 +131,10 @@ in stdenv.mkDerivation rec {
     (enableFeature archiveSupport  "libarchive")
     (enableFeature cddaSupport     "cdda")
     (enableFeature dvdnavSupport   "dvdnav")
-    (enableFeature dvdreadSupport  "dvdread")
     (enableFeature openalSupport   "openal")
+    (enableFeature sambaSupport    "libsmbclient")
+    (enableFeature sdl2Support     "sdl2")
+    (enableFeature sndioSupport    "sndio")
     (enableFeature vaapiSupport    "vaapi")
     (enableFeature waylandSupport  "wayland")
     (enableFeature stdenv.isLinux  "dvbin")
@@ -135,8 +145,7 @@ in stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    docutils makeWrapper perl
-    pkgconfig python3 which
+    addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 which
   ];
 
   buildInputs = [
@@ -148,15 +157,15 @@ in stdenv.mkDerivation rec {
     ++ optional bs2bSupport        libbs2b
     ++ optional cacaSupport        libcaca
     ++ optional cmsSupport         lcms2
-    ++ optional drmSupport         libdrm
-    ++ optional dvdreadSupport     libdvdread
     ++ optional jackaudioSupport   libjack2
     ++ optional libpngSupport      libpng
     ++ optional openalSupport      openalSoft
     ++ optional pulseSupport       libpulseaudio
     ++ optional rubberbandSupport  rubberband
+    ++ optional sambaSupport       samba
     ++ optional screenSaverSupport libXScrnSaver
     ++ optional sdl2Support        SDL2
+    ++ optional sndioSupport       sndio
     ++ optional speexSupport       speex
     ++ optional theoraSupport      libtheora
     ++ optional vaapiSupport       libva
@@ -165,13 +174,15 @@ in stdenv.mkDerivation rec {
     ++ optional xineramaSupport    libXinerama
     ++ optional xvSupport          libXv
     ++ optional youtubeSupport     youtube-dl
+    ++ optional zimgSupport        zimg
     ++ optional stdenv.isDarwin    libiconv
     ++ optional stdenv.isLinux     nv-codec-headers
     ++ optionals cddaSupport       [ libcdio libcdio-paranoia ]
+    ++ optionals drmSupport        [ libdrm mesa ]
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals waylandSupport    [ wayland wayland-protocols libxkbcommon ]
-    ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
-    ++ optionals vulkanSupport     [ shaderc vulkan-headers vulkan-loader ]
+    ++ 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
     ]);
@@ -186,7 +197,6 @@ in stdenv.mkDerivation rec {
 
   # Ensure youtube-dl is available in $PATH for mpv
   wrapperFlags =
-
     ''--prefix PATH : "${luaEnv}/bin" \''
   + optionalString youtubeSupport ''
       --prefix PATH : "${youtube-dl}/bin" \
@@ -214,11 +224,17 @@ in stdenv.mkDerivation rec {
       ${wrapperFlags}
   '';
 
+  # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
+  # See the explanation in addOpenGLRunpath.
+  postFixup = optionalString stdenv.isLinux ''
+    addOpenGLRunpath $out/bin/.mpv-wrapped
+  '';
+
   meta = with stdenv.lib; {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ma27 tadeokondrak ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
index 778dc52d96a1..e383823f2ccd 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mpv-mpris-${version}.so";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "hoyon";
     repo = "mpv-mpris";
     rev = version;
-    sha256 = "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx";
+    sha256 = "02lqsgp296s8wr0yh6wm8h7nhn53rj254zahpzbwdv15apgy0z17";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/video/mythtv/default.nix b/nixpkgs/pkgs/applications/video/mythtv/default.nix
index d5c46491cf41..2c73d3e734cc 100644
--- a/nixpkgs/pkgs/applications/video/mythtv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mythtv/default.nix
@@ -1,40 +1,40 @@
-{ stdenv, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
-, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype
-, perl, pkgconfig , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
-, libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2
-, linuxHeaders, fetchpatch
+{ stdenv, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
+, 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
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "mythtv";
-  version = "29.1";
+  version = "30.0";
 
   src = fetchFromGitHub {
     owner = "MythTV";
     repo = "mythtv";
     rev = "v${version}";
-    sha256 = "0pjxv4bmq8h285jsr02svgaa03614arsyk12fn9d4rndjsi2cc3x";
+    sha256 = "1pfzjb07xwd3mfgmbr4kkiyfyvwy9fkl13ik7bvqds86m0ws5bw4";
   };
 
   patches = [
     # Fixes build with exiv2 0.27.1.
-    (fetchpatch {
-      name = "004-exiv2.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/004-exiv2.patch?h=mythtv&id=76ea37f8556805b205878772ad7874e487c0d946";
-      sha256 = "0mh542f53qgky0w3s2bv0gmcxzvmb10834z3cfff40fby2ffr6k8";
-    })
+    ./exiv2.patch
+    # Disables OS detection used while checking for xnvctrl support.
+    ./disable-os-detection.patch
   ];
 
   setSourceRoot = ''sourceRoot=$(echo */mythtv)'';
 
   buildInputs = [
-    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined
-    perl alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
+    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;
   nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
 
-  configureFlags = [ "--dvb-path=${linuxHeaders}/include" ];
+  configureFlags = 
+    [ "--dvb-path=${linuxHeaders}/include" ]
+    ++ stdenv.lib.optionals (!enableXnvctrl) [  "--disable-xnvctrl" ];
 
   meta = with stdenv.lib; {
     homepage = https://www.mythtv.org/;
diff --git a/nixpkgs/pkgs/applications/video/mythtv/disable-os-detection.patch b/nixpkgs/pkgs/applications/video/mythtv/disable-os-detection.patch
new file mode 100644
index 000000000000..5a35dc2d1ddf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/mythtv/disable-os-detection.patch
@@ -0,0 +1,51 @@
+--- a/configure	1970-01-01 01:00:01.000000000 +0100
++++ b/configure	2019-10-26 11:54:01.920776490 +0200
+@@ -6642,29 +6642,29 @@
+     require libXinerama X11/extensions/Xinerama.h XineramaQueryExtension -lXinerama
+     require libXext "X11/Xdefs.h X11/Xlib.h X11/extensions/Xext.h" XMissingExtension -lXext
+     if enabled xnvctrl; then
+-        case $target_os in
+-            linux)
++#        case $target_os in
++#            linux)
+                 # Bah. Suse linux doesn't have xnvctrl.
+-                . /etc/os-release
+-                case $ID in
+-                    *suse*)
++#                . /etc/os-release
++#                case $ID in
++#                    *suse*)
+ 			# This is hopefully temporary.
+-			disable xnvctrl_external
+-			;;
+-		    *)
+-                        require XNVctrl "X11/Xlib.h NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h" XNVCTRLIsNvScreen -lXNVCtrl || disable xnvctrl
+-                        ;;
+-                esac
+-                ;;
+-            freebsd)
++#			disable xnvctrl_external
++#			;;
++#		    *)
++        require XNVctrl "X11/Xlib.h NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h" XNVCTRLIsNvScreen -lXNVCtrl || disable xnvctrl
++#                        ;;
++#                esac
++#                ;;
++#            freebsd)
+                 # This is hopefully temporary, and will eventually
+                 # check for a system library too.
+-                disable xnvctrl_external
+-                ;;
+-            *)
+-                disable xnvctrl
+-                ;;
+-        esac
++#                disable xnvctrl_external
++#                ;;
++#            *)
++#                disable xnvctrl
++#                ;;
++#        esac
+     fi
+ fi
+ 
diff --git a/nixpkgs/pkgs/applications/video/mythtv/exiv2.patch b/nixpkgs/pkgs/applications/video/mythtv/exiv2.patch
new file mode 100644
index 000000000000..29bf1f5967bb
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/mythtv/exiv2.patch
@@ -0,0 +1,19 @@
+Patch source: https://aur.archlinux.org/cgit/aur.git/plain/004-exiv2.patch?h=mythtv&id=76ea37f8556805b205878772ad7874e487c0d946
+--- a/libs/libmythmetadata/imagemetadata.cpp
++++ b/libs/libmythmetadata/imagemetadata.cpp
+@@ -7,14 +7,7 @@
+ #include "exitcodes.h"        // for ffprobe
+ 
+ // libexiv2 for Exif metadata
+-//#include <exiv2/exiv2.hpp>
+-// Note: Older versions of Exiv2 don't have the exiv2.hpp include
+-// file.  Using image.hpp instead seems to work.
+-#ifdef _MSC_VER
+-#include <exiv2/src/image.hpp>
+-#else
+-#include <exiv2/image.hpp>
+-#endif
++#include <exiv2/exiv2.hpp>
+ 
+ // To read FFMPEG Metadata
+ extern "C" {
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
index 5e7cf9353b25..0c103f997b2c 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
@@ -34,21 +34,19 @@
 }:
 
 let
-  optional = stdenv.lib.optional;
+  inherit (stdenv.lib) optional optionals;
 in mkDerivation rec {
   pname = "obs-studio";
-  version = "23.2.1";
+  version = "24.0.6";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = version;
-    sha256 = "05brixq2z98mvn1q2rgdl27xj798509nv8yh6h0yzqyk9gly4anz";
+    sha256 = "07grnab5v4fd4lw25adhnlifs5c5phc3rsz7h80m663nbszy7abh";
   };
 
-  nativeBuildInputs = [ cmake
-                        pkgconfig
-                      ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [ curl
                   fdk_aac
@@ -68,7 +66,7 @@ in mkDerivation rec {
                   makeWrapper
                   mbedtls
                 ]
-                ++ optional scriptingSupport [ luajit swig python3 ]
+                ++ optionals scriptingSupport [ luajit swig python3 ]
                 ++ optional alsaSupport alsaLib
                 ++ optional pulseaudioSupport libpulseaudio;
 
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/fix-search-path.patch b/nixpkgs/pkgs/applications/video/obs-studio/fix-search-path.patch
new file mode 100644
index 000000000000..4503447ff5dc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/obs-studio/fix-search-path.patch
@@ -0,0 +1,13 @@
+diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
+index ab0a3de..19c63ee 100644
+--- a/external/FindLibObs.cmake
++++ b/external/FindLibObs.cmake
+@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
+ 
+ 	set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
+ 	set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
+-	include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
++	include(external/ObsPluginHelpers.cmake)
+ 
+ 	# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
+ 	if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch b/nixpkgs/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
new file mode 100644
index 000000000000..caef96c381f2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/obs-studio/linuxbrowser.nix b/nixpkgs/pkgs/applications/video/obs-studio/linuxbrowser.nix
index 52aa57bf1986..134e0cb8a9e3 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/linuxbrowser.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/linuxbrowser.nix
@@ -5,18 +5,19 @@
 # mkdir -p ~/.config/obs-studio/plugins
 # ln -s ~/.nix-profile/share/obs/obs-plugins/obs-linuxbrowser ~/.config/obs-studio/plugins/
 
-{ stdenv, fetchFromGitHub, obs-studio, cmake, libcef
-}:
+{ stdenv, fetchFromGitHub, obs-studio, cmake, libcef }:
 
 stdenv.mkDerivation rec {
   pname = "obs-linuxbrowser";
-  version = "0.6.1";
+  version = "0.6.1-6-gf86dba6";
+
   src = fetchFromGitHub {
     owner = "bazukas";
     repo = "obs-linuxbrowser";
     rev = version;
-    sha256 = "1mi9pchy07ipnx1m2767n29d53v822yajcf6c3705dhz882z21zq";
+    sha256 = "08d7qz0721va88bcyia8p0ycw50f6x3yk97s3vzhsc9xpq691kpi";
   };
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio ];
   postUnpack = ''
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/obs-ndi.nix b/nixpkgs/pkgs/applications/video/obs-studio/obs-ndi.nix
new file mode 100644
index 000000000000..452793f442ee
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/obs-studio/obs-ndi.nix
@@ -0,0 +1,41 @@
+# We don't have a wrapper which can supply obs-studio plugins so you have to
+# somewhat manually install this:
+
+# nix-env -f "<nixpkgs>" -iA obs-ndi
+# 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, 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";
+    rev = version;
+    sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh";
+  };
+
+  patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
+
+  postPatch = "sed -i -e s,@NDI@,${ndi},g src/obs-ndi.cpp";
+
+  cmakeFlags = [
+    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
+    "-DLIBOBS_LIB=${obs-studio}/lib"
+    "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Network A/V plugin for OBS Studio";
+    homepage = https://github.com/Palakis/obs-ndi;
+    maintainers = with maintainers; [ peti ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/wlrobs.nix b/nixpkgs/pkgs/applications/video/obs-studio/wlrobs.nix
new file mode 100644
index 000000000000..13a53f94590a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/obs-studio/wlrobs.nix
@@ -0,0 +1,37 @@
+# (the following is somewhat lifted from ./linuxbrowser.nix)
+# We don't have a wrapper which can supply obs-studio plugins so you have to
+# somewhat manually install this:
+
+# nix-env -f . -iA obs-wlrobs
+# mkdir -p ~/.config/obs-studio/plugins/wlrobs/bin/64bit
+# ln -s ~/.nix-profile/share/obs/obs-plugins/wlrobs/bin/64bit/libwlrobs.so ~/.config/obs-studio/plugins/wlrobs/bin/64bit
+{ stdenv, fetchhg, wayland, obs-studio }:
+stdenv.mkDerivation {
+  pname = "obs-wlrobs";
+  version = "20191008";
+
+  src = fetchhg {
+    url = "https://hg.sr.ht/~scoopta/wlrobs";
+    rev = "82e2b93c6f662dfd9d69f7826c0096bef585c3ae";
+    sha256 = "1d2mlybkwyr0jw6paamazla2a1cyj60bs10i0lk9jclxnp780fy6";
+  };
+
+  buildInputs = [ wayland obs-studio ];
+
+  preBuild = ''
+    cd Release
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/obs/obs-plugins/wlrobs/bin/64bit
+    cp ./libwlrobs.so $out/share/obs/obs-plugins/wlrobs/bin/64bit/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors";
+    homepage = https://hg.sr.ht/~scoopta/wlrobs;
+    maintainers = with maintainers; [ grahamc ];
+    license = licenses.gpl3;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/olive-editor/default.nix b/nixpkgs/pkgs/applications/video/olive-editor/default.nix
index efa06f4794ef..1285422a2f92 100644
--- a/nixpkgs/pkgs/applications/video/olive-editor/default.nix
+++ b/nixpkgs/pkgs/applications/video/olive-editor/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, which, qmake, mkDerivation,
-  qtbase, qtmultimedia, frei0r, opencolorio, hicolor-icon-theme, ffmpeg-full,
+  qtbase, qtmultimedia, frei0r, opencolorio, ffmpeg-full,
   CoreFoundation  }:
 
 mkDerivation rec {
@@ -13,9 +13,9 @@ mkDerivation rec {
     sha256 = "15q4qwf5rc3adssywl72jrhkpqk55ihpd5h5wf07baw0s47vv5kq";
   };
 
-  nativeBuildInputs = [ 
-    pkgconfig 
-    which 
+  nativeBuildInputs = [
+    pkgconfig
+    which
     qmake
   ];
 
@@ -26,7 +26,6 @@ mkDerivation rec {
     qtbase
     qtmultimedia
     qtmultimedia.dev
-    hicolor-icon-theme
   ] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/video/openshot-qt/libopenshot.nix b/nixpkgs/pkgs/applications/video/openshot-qt/libopenshot.nix
index 95f89e0eda5a..2ed4b8ce3e3d 100644
--- a/nixpkgs/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/nixpkgs/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -2,7 +2,7 @@
 , pkgconfig, cmake, doxygen
 , libopenshot-audio, imagemagick, ffmpeg
 , swig, python3
-, unittest-cpp, cppzmq, czmqpp
+, unittest-cpp, cppzmq, zeromq
 , qtbase, qtmultimedia }:
 
 with stdenv.lib;
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
   [ imagemagick ffmpeg swig python3 unittest-cpp
-    cppzmq czmqpp qtbase qtmultimedia ];
+    cppzmq zeromq qtbase qtmultimedia ];
 
   LIBOPENSHOT_AUDIO_DIR = libopenshot-audio;
   "UNITTEST++_INCLUDE_DIR" = "${unittest-cpp}/include/UnitTest++";
diff --git a/nixpkgs/pkgs/applications/video/peek/default.nix b/nixpkgs/pkgs/applications/video/peek/default.nix
index 374ea08816f7..4872b5ec2eb6 100644
--- a/nixpkgs/pkgs/applications/video/peek/default.nix
+++ b/nixpkgs/pkgs/applications/video/peek/default.nix
@@ -1,45 +1,78 @@
-{ stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala_0_40, wrapGAppsHook
-, gsettings-desktop-schemas, gtk3, keybinder3, ffmpeg
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, gettext
+, desktop-file-utils
+, appstream-glib
+, pkgconfig
+, txt2man
+, gzip
+, vala
+, wrapGAppsHook
+, gsettings-desktop-schemas
+, gtk3
+, glib
+, cairo
+, keybinder3
+, ffmpeg
+, python3
+, libxml2
+, gst_all_1
+, which
+, gifski
 }:
 
 stdenv.mkDerivation rec {
   pname = "peek";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "phw";
-    repo = pname;
+    repo = "peek";
     rev = version;
-    sha256 = "1fnvlklmg6s5rs3ql74isa5fgdkqqrpsyf8k2spxj520239l4vgb";
+    sha256 = "0q70hz9anqywqgksd43i8v9ijwy6djyzwnzzd94j44xqwsk9zdbb";
   };
 
-  preConfigure = ''
-    gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg ]})
-  '';
-
   nativeBuildInputs = [
-    cmake
+    appstream-glib
+    desktop-file-utils
     gettext
+    gzip
+    meson
+    ninja
+    libxml2
     pkgconfig
-    libxml2.bin
     txt2man
-    vala_0_40 # See https://github.com/NixOS/nixpkgs/issues/58433
+    python3
+    vala
     wrapGAppsHook
   ];
 
   buildInputs = [
+    cairo
+    glib
     gsettings-desktop-schemas
     gtk3
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-ugly
     keybinder3
   ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py data/man/build_man.sh
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ which ffmpeg gifski ]})
+  '';
 
   meta = with stdenv.lib; {
-    homepage    = https://github.com/phw/peek;
+    homepage = https://github.com/phw/peek;
     description = "Simple animated GIF screen recorder with an easy to use interface";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ puffnfresh ];
-    platforms   = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ puffnfresh worldofpeace ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/recordmydesktop/default.nix b/nixpkgs/pkgs/applications/video/recordmydesktop/default.nix
deleted file mode 100644
index e4d6e14d098d..000000000000
--- a/nixpkgs/pkgs/applications/video/recordmydesktop/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchsvn, autoreconfHook, zlib, popt, alsaLib, libvorbis, libtheora
-, libICE, libSM, libX11, libXext, libXfixes, libXdamage }:
-
-stdenv.mkDerivation rec {
-  pname = "recordmydesktop";
-  version = "0.3.8.1-svn${rev}";
-  rev = "602";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/recordmydesktop;
-    inherit rev;
-    sha256 = "1avirkc4ymrd575m616pi6wpgq1i0r5sb3qahps1g18sjpxks0lf";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [
-    zlib popt alsaLib libICE libSM libX11 libXext
-    libXfixes libXdamage libvorbis libtheora
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Desktop session recorder";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/recordmydesktop/gtk.nix b/nixpkgs/pkgs/applications/video/recordmydesktop/gtk.nix
deleted file mode 100644
index cf02825501f5..000000000000
--- a/nixpkgs/pkgs/applications/video/recordmydesktop/gtk.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, pythonPackages, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "gtk-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/gtk-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "010aykgjfxhyiixq9a9fg3p1a1ixz59m1vkn16hpy0lybgf4dsby";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = with pythonPackages; [
-    python pygtk wrapPython
-  ];
-
-  pythonPath = with pythonPackages; [ pygtk ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/recordmydesktop/qt.nix b/nixpkgs/pkgs/applications/video/recordmydesktop/qt.nix
deleted file mode 100644
index 573a18f62ce9..000000000000
--- a/nixpkgs/pkgs/applications/video/recordmydesktop/qt.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, glib, pythonPackages, qt4, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "qt-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/qt-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "0vz7amrmz317sbx2cv2186d0r57as4l26xa9rpim5gbvzk20caqc";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = [ glib qt4 ] ++ (with pythonPackages; [
-    python wrapPython pyqt4
-  ]);
-
-  pythonPath = with pythonPackages; [ pyqt4 ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/screenkey/default.nix b/nixpkgs/pkgs/applications/video/screenkey/default.nix
index 1671c3f14d00..56b1134b2b8a 100644
--- a/nixpkgs/pkgs/applications/video/screenkey/default.nix
+++ b/nixpkgs/pkgs/applications/video/screenkey/default.nix
@@ -10,7 +10,6 @@
 , libXtst
 , wrapGAppsHook
 , gnome3
-, hicolor-icon-theme
 }:
 buildPythonApplication rec {
   pname = "screenkey";
@@ -40,7 +39,6 @@ buildPythonApplication rec {
 
   buildInputs = [
     gnome3.adwaita-icon-theme
-    hicolor-icon-theme
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/shotcut/default.nix b/nixpkgs/pkgs/applications/video/shotcut/default.nix
index 4636ce48b1a5..33ce5c18028f 100644
--- a/nixpkgs/pkgs/applications/video/shotcut/default.nix
+++ b/nixpkgs/pkgs/applications/video/shotcut/default.nix
@@ -3,34 +3,20 @@
 , qtquickcontrols, qtgraphicaleffects, libmlt, qmake, qttools
 }:
 
-assert stdenv.lib.versionAtLeast libmlt.version "6.8.0";
-assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
-
-let
-  # https://github.com/mltframework/shotcut/issues/771
-  fixVaapiRendering1 = fetchpatch {
-    url = "https://github.com/peti/shotcut/commit/038f6839298fc1e9e80ddf84fe168a78118bc625.patch";
-    sha256 = "153z1g6criszd6gdkw4f5zk0gmh0jar6l2g8fzwjhhcvkdz30vbp";
-  };
-  fixVaapiRendering2 = fetchpatch {
-    url = "https://github.com/peti/shotcut/commit/653c485f92d2847fdac517e3f797c9254826ffab.patch";
-    sha256 = "1qd0zgyahda72xh3avlg7lg0jq94wq5847154qlrgzj8b4n7vizw";
-  };
-in
+assert stdenv.lib.versionAtLeast libmlt.version "6.18.0";
+assert stdenv.lib.versionAtLeast mlt.version "6.18.0";
 
 mkDerivation rec {
   pname = "shotcut";
-  version = "19.09.14";
+  version = "19.12.31";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1cl8ba1n0h450r4n5mfqmyjaxvczs3m19blwxslqskvmxy5my3cn";
+    sha256 = "1vwgah8pp2kbd0iaz952d3bwxphk06yxqc0pi4hk1mklkh87qzm9";
   };
 
-  patches = [ fixVaapiRendering1 fixVaapiRendering2 ];
-
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [
@@ -74,7 +60,7 @@ mkDerivation rec {
     '';
     homepage = https://shotcut.org;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ goibhniu woffs ];
+    maintainers = with maintainers; [ goibhniu woffs peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix b/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix
index 29ad928e27cd..6191fd0f18ad 100644
--- a/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/smplayer/default.nix b/nixpkgs/pkgs/applications/video/smplayer/default.nix
index 495fc6f67452..65a7f358d6fa 100644
--- a/nixpkgs/pkgs/applications/video/smplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,12 @@
 { lib, mkDerivation, fetchurl, qmake, qtscript }:
 
 mkDerivation rec {
-  name = "smplayer-19.5.0";
+  pname = "smplayer";
+  version = "19.10.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "1xda9pbrc3dfbs71n5l8yszlcywz9456mwkv52vmn8lszhvjpjxm";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p";
   };
 
   buildInputs = [ qtscript ];
@@ -13,13 +14,12 @@ mkDerivation rec {
 
   dontUseQmakeConfigure = true;
 
-  preConfigure = ''
-    makeFlags="PREFIX=$out"
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = {
     description = "A complete front-end for MPlayer";
-    homepage = http://smplayer.sourceforge.net/;
+    longDescription = "Either mplayer or mpv should also be installed for smplayer to play medias";
+    homepage = https://www.smplayer.info;
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index e33610ac4163..ce22d8bed279 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.1.1";
+  version = "1.3.0";
   pname = "streamlink";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = version;
-    sha256 = "1vyf0pifdqygg98azdkfhy5fdckb0w2ca7c46mkrj452gkvmcq33";
+    sha256 = "0f4qwwa5pxd4igvxq1qadqpphazlbs3c3cr29ybks2x5wajrvwah";
   };
 
   checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];
diff --git a/nixpkgs/pkgs/applications/video/vdr/wrapper.nix b/nixpkgs/pkgs/applications/video/vdr/wrapper.nix
index 497ad7c77a08..50d3b9d65a8d 100644
--- a/nixpkgs/pkgs/applications/video/vdr/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index a38076ca42b6..2396a224d451 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -5,7 +5,7 @@
 , libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp
 , libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
 , mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
-, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
+, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz
 , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
 , libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
 , onlyLibVLC ? false
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror
     libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
     systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive
-    libkate libtiger libv4l samba liboggz libass libdvbpsi libva
+    libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva
     xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
     libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
     fluidsynth wayland wayland-protocols
diff --git a/nixpkgs/pkgs/applications/video/xawtv/default.nix b/nixpkgs/pkgs/applications/video/xawtv/default.nix
index db9a5ce7850b..676c218776c8 100644
--- a/nixpkgs/pkgs/applications/video/xawtv/default.nix
+++ b/nixpkgs/pkgs/applications/video/xawtv/default.nix
@@ -1,25 +1,54 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xorgproto, libv4l
-, libFS, libXaw, libXpm, libXext, libSM, libICE, perl, linux}:
+{ stdenv
+, fetchurl
+, ncurses
+, libjpeg
+, libX11
+, libXt
+, alsaLib
+, aalib
+, libXft
+, xorgproto
+, libv4l
+, libFS
+, libXaw
+, libXpm
+, libXext
+, libSM
+, libICE
+, perl
+}:
 
 stdenv.mkDerivation rec {
   name = "xawtv-3.106";
+
   src = fetchurl {
     url = "https://linuxtv.org/downloads/xawtv/${name}.tar.bz2";
     sha256 = "174wd36rk0k23mgx9nlnpc398yd1f0wiv060963axg6sz0v4rksp";
   };
 
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${linux}/lib/modules/${linux.modDirVersion}/build"
-  '';
-
-  configureFlags= [ "--prefix=" ];
-
-  NIX_LDFLAGS = "-lgcc_s";
-
-  makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
+  buildInputs = [
+    ncurses
+    libjpeg
+    libX11
+    libXt
+    libXft
+    xorgproto
+    libFS
+    perl
+    alsaLib
+    aalib
+    libXaw
+    libXpm
+    libXext
+    libSM
+    libICE
+    libv4l
+  ];
 
-  buildInputs = [ncurses libjpeg libX11 libXt libXft xorgproto libFS perl alsaLib aalib
-                 libXaw libXpm libXext libSM libICE libv4l];
+  makeFlags = [
+    "SUID_ROOT=" # do not try to setuid
+    "resdir=${placeholder ''out''}/share/X11"
+  ];
 
   meta = {
     description = "TV application for Linux with apps and tools such as a teletext browser";
@@ -28,5 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ domenkozar ];
     platforms = stdenv.lib.platforms.linux;
   };
-  
 }
diff --git a/nixpkgs/pkgs/applications/video/xine-ui/default.nix b/nixpkgs/pkgs/applications/video/xine-ui/default.nix
index 4d3d88d5be8d..e92d73845911 100644
--- a/nixpkgs/pkgs/applications/video/xine-ui/default.nix
+++ b/nixpkgs/pkgs/applications/video/xine-ui/default.nix
@@ -2,11 +2,11 @@
 , lirc, shared-mime-info, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "xine-ui-0.99.10";
+  name = "xine-ui-0.99.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "0i3jzhiipfs5p1jbxviwh42zcfzag6iqc6yycaan0vrqm90an86a";
+    sha256 = "10zmmss3hm8gjjyra20qhdc0lb1m6sym2nb2w62bmfk8isfw9gsl";
   };
 
   nativeBuildInputs = [ pkgconfig shared-mime-info ];
diff --git a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix b/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
index ecf6f1c54218..e475c4ed78af 100644
--- a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
+++ b/nixpkgs/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 {
@@ -42,7 +42,7 @@ edk2.mkDerivation projectDscPath {
     mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV
 
     # Uses Fedora dir layout: https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/edk2.spec
-    # FIXME: why is it different from Debian dir layout? https://anonscm.debian.org/cgit/pkg-qemu/edk2.git/tree/debian/rules
+    # FIXME: why is it different from Debian dir layout? https://salsa.debian.org/qemu-team/edk2/blob/debian/debian/rules
     dd of=$fd/AAVMF/QEMU_EFI-pflash.raw       if=/dev/zero bs=1M    count=64
     dd of=$fd/AAVMF/QEMU_EFI-pflash.raw       if=$fd/FV/QEMU_EFI.fd conv=notrunc
     dd of=$fd/AAVMF/vars-template-pflash.raw if=/dev/zero bs=1M    count=64
diff --git a/nixpkgs/pkgs/applications/virtualization/arion/default.nix b/nixpkgs/pkgs/applications/virtualization/arion/default.nix
new file mode 100644
index 000000000000..f144ec976779
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/arion/default.nix
@@ -0,0 +1,83 @@
+{ pkgs
+, lib
+, haskellPackages
+, haskell
+, runCommand
+}:
+
+let
+
+  /* This derivation builds the arion tool.
+
+     It is based on the arion-compose Haskell package, but adapted and extended to
+       - have the correct name
+       - have a smaller closure size
+       - have functions to use Arion from inside Nix: arion.eval and arion.build
+       - make it self-contained by including docker-compose
+   */
+  arion =
+    justStaticExecutables (
+      overrideCabal
+        arion-compose
+        cabalOverrides
+      );
+
+  inherit (haskell.lib) justStaticExecutables overrideCabal;
+
+  inherit (haskellPackages) arion-compose;
+
+  cabalOverrides = o: {
+    buildTools = (o.buildTools or []) ++ [pkgs.makeWrapper];
+    passthru = (o.passthru or {}) // {
+      inherit eval build;
+    };
+    # Patch away the arion-compose name. Unlike the Haskell library, the program
+    # is called arion (arion was already taken on hackage).
+    pname = "arion";
+    src = arion-compose.src;
+
+    # PYTHONPATH
+    #
+    # We close off the python module search path!
+    #
+    # Accepting directories from the environment into the search path
+    # tends to break things. Docker Compose does not have a plugin
+    # system as far as I can tell, so I don't expect this to break a
+    # feature, but rather to make the program more robustly self-
+    # contained.
+
+    postInstall = ''${o.postInstall or ""}
+      mkdir -p $out/libexec
+      mv $out/bin/arion $out/libexec
+      makeWrapper $out/libexec/arion $out/bin/arion \
+        --unset PYTHONPATH \
+        --prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \
+        ;
+    '';
+  };
+
+  # Unpacked sources for evaluation by `eval`
+  srcUnpacked = runCommand "arion-src" {}
+    "mkdir $out; tar -C $out --strip-components=1 -xf ${arion-compose.src}";
+
+  /* Function for evaluating a composition
+
+     Re-uses this Nixpkgs evaluation instead of `arion-pkgs.nix`.
+
+     Returns the module system's `config` and `options` variables.
+   */
+  eval = args@{...}:
+    import (srcUnpacked + "/src/nix/eval-composition.nix")
+      ({ inherit pkgs; } // args);
+
+  /* Function to derivation of the docker compose yaml file
+     NOTE: The output will change: https://github.com/hercules-ci/arion/issues/82
+
+    This function is particularly useful on CI, although the references
+    to image tarballs may not always be desirable.
+   */
+  build = args@{...}:
+    let composition = eval args;
+    in composition.config.out.dockerComposeYaml;
+
+in arion
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch b/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch
new file mode 100644
index 000000000000..e662913574db
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch
@@ -0,0 +1,13 @@
+diff -Naur bochs-2.6.10.orig/iodev/network/slirp/slirp.h bochs-2.6.10.mod/iodev/network/slirp/slirp.h
+--- bochs-2.6.10.orig/iodev/network/slirp/slirp.h	2019-11-02 16:30:39.843938000 -0300
++++ bochs-2.6.10.mod/iodev/network/slirp/slirp.h	2019-12-29 12:55:49.541630697 -0300
+@@ -44,8 +44,8 @@
+ #endif
+ 
+ #include <sys/types.h>
+-#if defined(__OpenBSD__) || defined(__linux__)
+ #include <stdint.h>
++#if defined(__OpenBSD__) || defined(__linux__)
+ #include <sys/wait.h>
+ #endif
+ #ifdef HAVE_SYS_BITYPES_H
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch b/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
deleted file mode 100644
index a13b42ee35a3..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/iodev/network/slirp/slirp.h b/iodev/network/slirp/slirp.h
-index 7c16aa3..202a1b7 100644
---- a/iodev/network/slirp/slirp.h
-+++ b/iodev/network/slirp/slirp.h
-@@ -33,8 +33,8 @@ typedef char *caddr_t;
- #endif
- 
- #include <sys/types.h>
--#if defined(__OpenBSD__)
- #include <stdint.h>
-+#if defined(__OpenBSD__)
- #include <sys/wait.h>
- #endif
- #ifdef HAVE_SYS_BITYPES_H
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/default.nix b/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
index 72db4f1e5aa5..f6e202ac4998 100644
--- a/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
+++ b/nixpkgs/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
@@ -19,17 +19,17 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "bochs";
-  version = "2.6.9";
+  version = "2.6.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bochs/bochs/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf";
+    sha256 = "1c3mw4b8wrjf8z44fvhycs95j1wd1c0b4khcv63giiia5j5q0gvj";
   };
 
-  patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
+  patches = [ ./bochs-2.6.10-glibc-2.26.patch ];
 
-  buildInputs = with stdenv.lib;
-  [ pkgconfig libtool gtk2 libGLU_combined readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  buildInputs =
+  [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL2 ]
   ++ optionals wxSupport [ wxGTK ]
@@ -118,9 +118,9 @@ stdenv.mkDerivation rec {
       in C++, that runs on most popular platforms. It includes emulation of the
       Intel x86 CPU, common I/O devices, and a custom BIOS.
     '';
-    homepage = http://bochs.sourceforge.net/;
+    homepage = "http://bochs.sourceforge.net/";
     license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix b/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
index c55eb342e069..a0694b7efbe8 100644
--- a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.9.8";
+  version = "0.12";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "1w1wy4sj9zqfysrpf04shhppcf5ap4rp7i3ja81sv2fm27k4m9nl";
+    sha256 = "177rcf1klcxsp6x9cw75cmz3y2izgd1hvi1rb9vc6iz9qx1nmk3v";
   };
 
   buildInputs = [ python ];
diff --git a/nixpkgs/pkgs/applications/virtualization/cntr/default.nix b/nixpkgs/pkgs/applications/virtualization/cntr/default.nix
index 13afe0a42619..698f6df0673a 100644
--- a/nixpkgs/pkgs/applications/virtualization/cntr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/conmon/default.nix b/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
index 0b523d7b88d7..49d14d25babf 100644
--- a/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
@@ -9,13 +9,13 @@
 stdenv.mkDerivation rec {
   project = "conmon";
   name = "${project}-${version}";
-  version = "2.0.0";
+  version = "2.0.9";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = project;
     rev = "v${version}";
-    sha256 = "1sigcylya668f5jzkf1vgfsgqy26l3glh9a3g8lhd2468ax6wymk";
+    sha256 = "0wy3nihif9ih62rlskrjysshfaxdl878fj5ni1zfb9db4nsx6z0m";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
index b770c6ed0a59..9e9e6657291b 100644
--- a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
@@ -16,10 +16,8 @@ buildGoPackage rec {
   goPackagePath = "github.com/containerd/containerd";
   outputs = [ "bin" "out" "man" ];
 
-  hardeningDisable = [ "fortify" ];
-
   buildInputs = [ btrfs-progs go-md2man utillinux ];
-  buildFlags = "VERSION=v${version}";
+  buildFlags = [ "VERSION=v${version}" ];
 
   BUILDTAGS = []
     ++ optional (btrfs-progs == null) "no_btrfs";
diff --git a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
index 07b6d0249904..483c6f8b3379 100644
--- a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,9 +15,12 @@
 , pkgconfig
 }:
 
-buildGoPackage rec {
+let
+  makeFlags = "BUILDTAGS=\"apparmor seccomp selinux
+    containers_image_ostree_stub\"";
+in buildGoPackage rec {
   project = "cri-o";
-  version = "1.15.2";
+  version = "1.16.1";
   name = "${project}-${version}${flavor}";
 
   goPackagePath = "github.com/${project}/${project}";
@@ -26,7 +29,7 @@ buildGoPackage rec {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "0fiizxwxdq87h943421ivgw49jndk23yjz3saf1rzmn7g3xh2pn4";
+    sha256 = "0w690zhc55gdqzc31jc34nrzwd253pfb3rq23z51q22nqwmlsh9p";
   };
 
   outputs = [ "bin" "out" ];
@@ -35,24 +38,27 @@ buildGoPackage rec {
                  libseccomp libselinux lvm2 ]
                 ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ];
 
-  makeFlags = ''BUILDTAGS="apparmor seccomp selinux
-    containers_image_ostree_stub"'';
-
   buildPhase = ''
     pushd go/src/${goPackagePath}
 
     # Build pause
-    go build -tags ${makeFlags} -o bin/crio-config -buildmode=pie \
-      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio-config
-
     make -C pause
 
-    # Build the crio binary
-    go build -tags ${makeFlags} -o bin/crio -buildmode=pie \
-      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio
+    # Build the crio binaries
+    function build() {
+      go build \
+        -tags ${makeFlags} \
+        -o bin/"$1" \
+        -buildmode=pie \
+        -ldflags '-s -w ${ldflags}' \
+        ${goPackagePath}/cmd/"$1"
+    }
+    build crio
+    build crio-status
   '';
   installPhase = ''
     install -Dm755 bin/crio $bin/bin/crio${flavor}
+    install -Dm755 bin/crio-status $bin/bin/crio-status${flavor}
 
     mkdir -p $bin/libexec/crio
     install -Dm755 bin/pause $bin/libexec/crio/pause${flavor}
diff --git a/nixpkgs/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff b/nixpkgs/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
new file mode 100644
index 000000000000..f1aa50ee102c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
@@ -0,0 +1,15 @@
+diff --git a/src/crosvm.rs b/src/crosvm.rs
+index b7055df..5989c87 100644
+--- a/src/crosvm.rs
++++ b/src/crosvm.rs
+@@ -141,7 +141,9 @@ impl Default for Config {
+             x_display: None,
+             shared_dirs: Vec::new(),
+             sandbox: !cfg!(feature = "default-no-sandbox"),
+-            seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR),
++            seccomp_policy_dir: PathBuf::from(
++                option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR),
++            ),
+             seccomp_log_failures: false,
+             cras_audio: false,
+             cras_capture: false,
diff --git a/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix b/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix
new file mode 100644
index 000000000000..5035b65f9818
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, rustPlatform, fetchgit, runCommand, symlinkJoin
+, pkgconfig, minijail, dtc, libusb1, libcap
+}:
+
+let
+
+  upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json);
+
+  arch = with stdenv.hostPlatform;
+    if isAarch64 then "arm"
+    else if isx86_64 then "x86_64"
+    else throw "no seccomp policy files available for host platform";
+
+  crosvmSrc = fetchgit {
+    inherit (upstreamInfo.components."chromiumos/platform/crosvm")
+      url rev sha256 fetchSubmodules;
+  };
+
+  adhdSrc = fetchgit {
+    inherit (upstreamInfo.components."chromiumos/third_party/adhd")
+      url rev sha256 fetchSubmodules;
+  };
+
+in
+
+  rustPlatform.buildRustPackage rec {
+    pname = "crosvm";
+    inherit (upstreamInfo) version;
+
+    unpackPhase = ''
+      runHook preUnpack
+
+      mkdir -p chromiumos/platform chromiumos/third_party
+
+      pushd chromiumos/platform
+      unpackFile ${crosvmSrc}
+      mv ${crosvmSrc.name} crosvm
+      popd
+
+      pushd chromiumos/third_party
+      unpackFile ${adhdSrc}
+      mv ${adhdSrc.name} adhd
+      popd
+
+      chmod -R u+w -- "$sourceRoot"
+
+      runHook postUnpack
+    '';
+
+    sourceRoot = "chromiumos/platform/crosvm";
+
+    patches = [
+      ./default-seccomp-policy-dir.diff
+    ];
+
+    cargoSha256 = "1d7y07wkliy5qnlyx5zj6ni39avhs3s48sqgvwxm5g5zrahg2a85";
+
+    nativeBuildInputs = [ pkgconfig ];
+
+    buildInputs = [ dtc libcap libusb1 minijail ];
+
+    postPatch = ''
+      sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \
+             seccomp/*/*.policy
+    '';
+
+    preBuild = ''
+      export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
+    '';
+
+    postInstall = ''
+      mkdir -p $out/share/policy/
+      cp seccomp/${arch}/* $out/share/policy/
+    '';
+
+    passthru = {
+      inherit adhdSrc;
+      src = crosvmSrc;
+      updateScript = ./update.py;
+    };
+
+    meta = with stdenv.lib; {
+      description = "A secure virtual machine monitor for KVM";
+      homepage = "https://chromium.googlesource.com/chromiumos/platform/crosvm/";
+      maintainers = with maintainers; [ qyliss ];
+      license = licenses.bsd3;
+      platforms = [ "aarch64-linux" "x86_64-linux" ];
+    };
+  }
diff --git a/nixpkgs/pkgs/applications/virtualization/crosvm/update.py b/nixpkgs/pkgs/applications/virtualization/crosvm/update.py
new file mode 100755
index 000000000000..280d6ec18119
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/crosvm/update.py
@@ -0,0 +1,91 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p nix-prefetch-git "python3.withPackages (ps: with ps; [ lxml ])"
+#! nix-shell -i python
+
+import base64
+import json
+import re
+import subprocess
+from codecs import iterdecode
+from os.path import dirname, splitext
+from lxml import etree
+from lxml.etree import HTMLParser
+from urllib.request import urlopen
+
+# ChromiumOS components required to build crosvm.
+components = ['chromiumos/platform/crosvm', 'chromiumos/third_party/adhd']
+
+git_root = 'https://chromium.googlesource.com/'
+manifest_versions = f'{git_root}chromiumos/manifest-versions'
+buildspecs_url = f'{manifest_versions}/+/refs/heads/master/paladin/buildspecs/'
+
+# CrOS version numbers look like this:
+# [<chrome-major-version>.]<tip-build>.<branch-build>.<branch-branch-build>
+#
+# As far as I can tell, branches are where internal Google
+# modifications are added to turn Chromium OS into Chrome OS, and
+# branch branches are used for fixes for specific devices.  So for
+# Chromium OS they will always be 0.  This is a best guess, and is not
+# documented.
+with urlopen('https://cros-updates-serving.appspot.com/') as resp:
+    document = etree.parse(resp, HTMLParser())
+    # bgcolor="lightgreen" is set on the most up-to-date version for
+    # each channel, so find a lightgreen cell in the "Stable" column.
+    (platform_version, chrome_version) = document.xpath("""
+        (//table[@id="cros-updates"]/tr/td[1 + count(
+            //table[@id="cros-updates"]/thead/tr[1]/th[text() = "Stable"]
+            /preceding-sibling::*)
+        ][@bgcolor="lightgreen"])[1]/text()
+    """)
+
+chrome_major_version = re.match(r'\d+', chrome_version)[0]
+chromeos_tip_build = re.match(r'\d+', platform_version)[0]
+
+# Find the most recent buildspec for the stable Chrome version and
+# Chromium OS build number.  Its branch build and branch branch build
+# numbers will (almost?) certainly be 0.  It will then end with an rc
+# number -- presumably these are release candidates, one of which
+# becomes the final release.  Presumably the one with the highest rc
+# number.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp:
+    listing = base64.decodebytes(resp.read()).decode('utf-8')
+    buildspecs = [(line.split('\t', 1)[1]) for line in listing.splitlines()]
+    buildspecs = [s for s in buildspecs if s.startswith(chromeos_tip_build)]
+    buildspecs.sort(reverse=True)
+    buildspec = splitext(buildspecs[0])[0]
+
+revisions = {}
+
+# Read the buildspec, and extract the git revisions for each component.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp:
+    xml = base64.decodebytes(resp.read())
+    root = etree.fromstring(xml)
+    for project in root.findall('project'):
+        revisions[project.get('name')] = project.get('revision')
+
+# Initialize the data that will be output from this script.  Leave the
+# rc number in buildspec so nobody else is subject to the same level
+# of confusion I have been.
+data = {'version': f'{chrome_major_version}.{buildspec}', 'components': {}}
+
+# Fill in the 'components' dictionary with the output from
+# nix-prefetch-git, which can be passed straight to fetchGit when
+# imported by Nix.
+for component in components:
+    argv = ['nix-prefetch-git',
+            '--url', git_root + component,
+            '--rev', revisions[component]]
+
+    output = subprocess.check_output(argv)
+    data['components'][component] = json.loads(output.decode('utf-8'))
+
+# Find the path to crosvm's default.nix, so the srcs data can be
+# written into the same directory.
+argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
+position = json.loads(subprocess.check_output(argv).decode('utf-8'))
+filename = re.match(r'[^:]*', position)[0]
+
+# Finally, write the output.
+with open(dirname(filename) + '/upstream-info.json', 'w') as out:
+    json.dump(data, out, indent=2)
+    out.write('\n')
diff --git a/nixpkgs/pkgs/applications/virtualization/crosvm/upstream-info.json b/nixpkgs/pkgs/applications/virtualization/crosvm/upstream-info.json
new file mode 100644
index 000000000000..690eca38bffb
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/crosvm/upstream-info.json
@@ -0,0 +1,19 @@
+{
+  "version": "79.12607.0.0-rc4",
+  "components": {
+    "chromiumos/platform/crosvm": {
+      "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm",
+      "rev": "cfb7db44eb9e5a0bca9a22bfb985252ef74ab251",
+      "date": "2019-10-17T23:22:08+00:00",
+      "sha256": "0gm1ggyzh9qfizm36jmh71c3anygxj1840cm94h71kzg9kiw0330",
+      "fetchSubmodules": false
+    },
+    "chromiumos/third_party/adhd": {
+      "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd",
+      "rev": "a8df1c52bde3bfd2aebc1d7adcd6f195eb212cb1",
+      "date": "2019-10-17T18:53:18+00:00",
+      "sha256": "1hyvnvwr5ka9zw4h7hhl6fpsfl2acp3zy4wr5qrw8s1cn8ljr9vy",
+      "fetchSubmodules": false
+    }
+  }
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/crun/default.nix b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
index 7dddc3b533b4..9376adf8d6a8 100644
--- a/nixpkgs/pkgs/applications/virtualization/crun/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.8";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "1anvlgw373031w0pp0b28l10yrnyhbj192n60bbbjahw487dk2fi";
+    sha256 = "0v1hrlpnln0c976fb0k2ig4jv11qbyzf95z0wy92fd8r8in16rc1";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix b/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix
index b1c42b099b67..7e8dbf33a7b0 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/docker/default.nix b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
index 027404439cd5..f6fc999269e3 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
@@ -19,7 +19,7 @@ rec {
       name = "docker-runc-${version}";
       inherit version;
       src = fetchFromGitHub {
-        owner = "docker";
+        owner = "opencontainers";
         repo = "runc";
         rev = runcRev;
         sha256 = runcSha256;
@@ -37,8 +37,6 @@ rec {
         rev = containerdRev;
         sha256 = containerdSha256;
       };
-
-      hardeningDisable = [ "fortify" ];
     });
 
     docker-tini = tini.overrideAttrs  (oldAttrs: {
@@ -55,9 +53,7 @@ rec {
       patchPhase = ''
       '';
 
-      NIX_CFLAGS_COMPILE = [
-        "-DMINIMAL=ON"
-      ];
+      NIX_CFLAGS_COMPILE = "-DMINIMAL=ON";
     });
   in
     stdenv.mkDerivation ((optionalAttrs (stdenv.isLinux) {
@@ -82,9 +78,6 @@ rec {
       sha256 = sha256;
     };
 
-    # Optimizations break compilation of libseccomp c bindings
-    hardeningDisable = [ "fortify" ];
-
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [
       makeWrapper removeReferencesTo go-md2man go libtool
@@ -198,14 +191,14 @@ rec {
   });
 
   # Get revisions from
-  # https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
+  # https://github.com/docker/docker-ce/tree/${version}/components/engine/hack/dockerfile/install/*
 
   docker_18_09 = makeOverridable dockerGen {
     version = "18.09.9";
     rev = "039a7df9ba8097dd987370782fcdd6ea79b26016";
     sha256 = "0wqhjx9qs96q2jd091wffn3cyv2aslqn2cvpdpgljk8yr9s0yg7h";
-    runcRev = "425e105d5a03fabd737a126ad93d62a9eeede87f";
-    runcSha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf";
+    runcRev = "3e425f80a8c931f88e6d94a8c831b9d5aa481657";
+    runcSha256 = "18psc830b2rkwml1x6vxngam5b5wi3pj14mw817rshpzy87prspj";
     containerdRev = "894b81a4b802e4eb2a91d1ce216b8817763c29fb";
     containerdSha256 = "0sp5mn5wd3xma4svm6hf67hyhiixzkzz6ijhyjkwdrc4alk81357";
     tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
@@ -213,13 +206,13 @@ rec {
   };
 
   docker_19_03 = makeOverridable dockerGen {
-    version = "19.03.2";
-    rev = "6a30dfca03664a0b6bf0646a7d389ee7d0318e6e";
-    sha256 = "0bghqwxlx4v06bwcv3c2wizbihhf983gvypx5sjcbgmiyd3bgb47";
-    runcRev = "425e105d5a03fabd737a126ad93d62a9eeede87f";
-    runcSha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf";
-    containerdRev = "894b81a4b802e4eb2a91d1ce216b8817763c29fb";
-    containerdSha256 = "0sp5mn5wd3xma4svm6hf67hyhiixzkzz6ijhyjkwdrc4alk81357";
+    version = "19.03.5";
+    rev = "633a0ea838f10e000b7c6d6eed1623e6e988b5bc";
+    sha256 = "1cs38ffh5xn8c40rln4pvd53iahvi4kys9an6kpclvvciqfc2cxs";
+    runcRev = "3e425f80a8c931f88e6d94a8c831b9d5aa481657";
+    runcSha256 = "18psc830b2rkwml1x6vxngam5b5wi3pj14mw817rshpzy87prspj";
+    containerdRev = "b34a5c8af56e510852c35414db4c1f4fa6172339";
+    containerdSha256 = "1kddhkd93wkrimk0yjcqiavdrqc818nd39rf3wrgxyilx1mfnrwb";
     tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/distribution.nix b/nixpkgs/pkgs/applications/virtualization/docker/distribution.nix
index ed4db853c389..a408d20f3ba0 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/distribution.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/distribution.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "distribution";
-  version = "2.6.2";
+  version = "2.7.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/docker/distribution";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "docker";
     repo = "distribution";
     inherit rev;
-    sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b";
+    sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/virtualization/dumb-init/default.nix b/nixpkgs/pkgs/applications/virtualization/dumb-init/default.nix
new file mode 100644
index 000000000000..c7be90222c2e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/dumb-init/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, glibc }:
+
+stdenv.mkDerivation rec {
+  pname = "dumb-init";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "Yelp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15hgl8rz5dmrl5gx21sq5269l1hq539qn68xghjx0bv9hgbx0g20";
+  };
+
+  buildInputs = [ glibc.static ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 -t $out/bin dumb-init
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A minimal init system for Linux containers";
+    homepage = "https://github.com/Yelp/dumb-init";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
index 53ace1b5d8b4..9fa06f5bf0b9 100644
--- a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,35 +1,61 @@
 { fetchurl, stdenv }:
 
 let
-  version = "0.18.0";
-  baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
+  version = "0.19.0";
+
+  suffix = {
+    x86_64-linux  = "";
+    aarch64-linux = "-aarch64";
+  }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
+  baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
   fetchbin = name: sha256: fetchurl {
-    url    = "${baseurl}/v${version}/${name}-v${version}";
-    inherit sha256;
+    url    = "${baseurl}/v${version}/${name}-v${version}${suffix}";
+    sha256 = sha256."${stdenv.hostPlatform.system}";
+  };
+
+  firecracker-bin = fetchbin "firecracker" {
+    x86_64-linux  = "0yjhw77xc2nc96p36jhf0va95gf6hwi9n270g4iiwakycdy048mx";
+    aarch64-linux = "165yca7pcwpqw3x6dihcjz1xcwjh37sdi9qrrjk9zasxx7xcniym";
+  };
+
+  jailer-bin = fetchbin "jailer" {
+    x86_64-linux  = "1q792b4bl1q3ach8nc8l0fbcil44knv3wa542xrskndzdz28lhsp";
+    aarch64-linux = "1cnwlpy5bswjprk7fcjgf6lxidhp7z00qx691nkwhzjkby80j490";
   };
 
-  firecracker-bin = fetchbin "firecracker" "140g93z0k8yd9lr049ps4dj0psb9ac1v7g5zs7lzpws9rj8shmgh";
-  jailer-bin      = fetchbin "jailer"      "0sk1zm1fx0zdy5il8vyygzads72ni2lcil42wv59j8b2bg8p7fwd";
 in
 stdenv.mkDerivation {
-  name = "firecracker-${version}";
+  pname = "firecracker";
   inherit version;
-
   srcs = [ firecracker-bin jailer-bin ];
-  phases = [ "installPhase" ];
+
+  unpackPhase    = ":";
+  configurePhase = ":";
+
+  buildPhase     = ''
+    cp ${firecracker-bin} firecracker
+    cp ${jailer-bin}      jailer
+    chmod +x firecracker jailer
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    ./firecracker --version
+    ./jailer --version
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
-    install -D ${firecracker-bin} $out/bin/firecracker
-    install -D ${jailer-bin}      $out/bin/jailer
+    install -D firecracker $out/bin/firecracker
+    install -D jailer      $out/bin/jailer
   '';
 
   meta = with stdenv.lib; {
     description = "Secure, fast, minimal micro-container virtualization";
     homepage    = http://firecracker-microvm.io;
     license     = licenses.asl20;
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/firectl/default.nix b/nixpkgs/pkgs/applications/virtualization/firectl/default.nix
new file mode 100644
index 000000000000..1f74318f2dde
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/firectl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "firectl";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "firecracker-microvm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ni3yx4rjhrkqk2038c6hkb2jwsdj2llx233wd5wgpvb6c57652p";
+  };
+
+  modSha256 = "1nqjz1afklcxc3xcpmygjdh3lfxjk6zvmghr8z8fr3nw2wvw2ddr";
+
+  meta = with stdenv.lib; {
+    description = "A command-line tool to run Firecracker microVMs";
+    homepage = https://github.com/firecracker-microvm/firectl;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ xrelkd ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/gvisor/containerd-shim.nix b/nixpkgs/pkgs/applications/virtualization/gvisor/containerd-shim.nix
new file mode 100644
index 000000000000..0161a117def3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/gvisor/containerd-shim.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, buildGoModule, go-bindata }:
+
+buildGoModule rec {
+  name = "gvisor-containerd-shim-${version}";
+  version = "2019-10-09";
+
+  src = fetchFromGitHub {
+    owner  = "google";
+    repo   = "gvisor-containerd-shim";
+    rev    = "f299b553afdd8455a0057862004061ea12e660f5";
+    sha256 = "077bhrmjrpcxv1z020yxhx2c4asn66j21gxlpa6hz0av3lfck9lm";
+  };
+
+  modSha256 = "1jdhgbrn59ahnabwnig99i21f6kimmqx9f3dg10ffwfs3dx0gzlg";
+
+  buildPhase = ''
+    make
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test
+  '';
+
+  installPhase = ''
+    make install DESTDIR="$out"
+  '';
+
+  meta = with lib; {
+    description = "containerd shim for gVisor";
+    homepage    = https://github.com/google/gvisor-containerd-shim;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix b/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix
new file mode 100644
index 000000000000..2d99fb3bf573
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, buildBazelPackage
+, fetchFromGitHub
+, cacert
+, git
+, glibcLocales
+, go
+, iproute
+, iptables
+, makeWrapper
+, procps
+, python3
+}:
+
+let
+  preBuild = ''
+    patchShebangs .
+
+    # Tell rules_go to use the Go binary found in the PATH
+    sed -E -i \
+      -e 's|go_version\s*=\s*"[^"]+",|go_version = "host",|g' \
+      WORKSPACE
+
+    # The gazelle Go tooling needs CA certs
+    export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
+
+    # If we don't reset our GOPATH, the rules_go stdlib builder tries to
+    # install something into it. Ideally that wouldn't happen, but for now we
+    # can also get around it by unsetting GOPATH entirely, since rules_go
+    # doesn't need it.
+    export GOPATH=
+  '';
+
+in buildBazelPackage rec {
+  name = "gvisor-${version}";
+  version = "2019-11-14";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo  = "gvisor";
+    rev   = "release-20191114.0";
+    sha256 = "0kyixjjlws9iz2r2srgpdd4rrq94vpxkmh2rmmzxd9mcqy2i9bg1";
+  };
+
+  nativeBuildInputs = [ git glibcLocales go makeWrapper python3 ];
+
+  bazelTarget = "//runsc:runsc";
+
+  # gvisor uses the Starlark implementation of rules_cc, not the built-in one,
+  # so we shouldn't delete it from our dependencies.
+  removeRulesCC = false;
+
+  fetchAttrs = {
+    inherit preBuild;
+
+    preInstall = ''
+      # Remove the go_sdk (it's just a copy of the go derivation) and all
+      # references to it from the marker files. Bazel does not need to download
+      # this sdk because we have patched the WORKSPACE file to point to the one
+      # currently present in PATH. Without removing the go_sdk from the marker
+      # file, the hash of it will change anytime the Go derivation changes and
+      # that would lead to impurities in the marker files which would result in
+      # a different sha256 for the fetch phase.
+      rm -rf $bazelOut/external/{go_sdk,\@go_sdk.marker}
+
+      # Remove the gazelle tools, they contain go binaries that are built
+      # non-deterministically. As long as the gazelle version matches the tools
+      # should be equivalent.
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_tools,\@bazel_gazelle_go_repository_tools.marker}
+
+      # Remove the gazelle repository cache
+      chmod -R +w $bazelOut/external/bazel_gazelle_go_repository_cache
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_cache,\@bazel_gazelle_go_repository_cache.marker}
+
+      # Remove log file(s)
+      rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
+    '';
+
+    sha256 = "122qk6iv8hd7g2a84y9aqqhij4r0m47vpxzbqhhh6k5livc73qd6";
+  };
+
+  buildAttrs = {
+    inherit preBuild;
+
+    installPhase = ''
+      install -Dm755 bazel-bin/runsc/*_pure_stripped/runsc $out/bin/runsc
+
+      # Needed for the 'runsc do' subcomand
+      wrapProgram $out/bin/runsc \
+        --prefix PATH : ${stdenv.lib.makeBinPath [ iproute iptables procps ]}
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Container Runtime Sandbox";
+    homepage = https://github.com/google/gvisor;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/lkl/default.nix b/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
index 318929eb2253..cd6600387cde 100644
--- a/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
@@ -3,8 +3,8 @@
 
 stdenv.mkDerivation rec {
   pname = "lkl";
-  version = "2019-06-20";
-  rev  = "0a4ebeadad12b94db665b8daf30e44e949a02d90";
+  version = "2019-10-04";
+  rev  = "06ca3ddb74dc5b84fa54fa1746737f2df502e047";
 
   outputs = [ "dev" "lib" "out" ];
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "09y9ci3j0lp3z74h577ng2s9a4n4glqpqndyc9iy6wdqaj764gm6";
+    sha256 = "0qjp0r338bwgrqdsvy5mkdh7ryas23m47yvxfwdknfyl0k3ylq62";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
diff --git a/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix b/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
index ee241abda7f8..cf160d8af53e 100644
--- a/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -46,6 +46,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  NIX_CFLAGS_COMPILE = builtins.toString [
+    # igrone glib-2.62 deprecations
+    # Drop in next stable release.
+    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
+
+    # fix build with gcc9
+    "-Wno-error=address-of-packed-member"
+    "-Wno-error=format-overflow"
+  ];
+
   postInstall = ''
     wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
       --prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd which ]}"
diff --git a/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix b/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix
new file mode 100644
index 000000000000..31755f87f63c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonApplication, fetchPypi, podman, pyyaml }:
+
+buildPythonApplication rec {
+  version = "0.1.5";
+  pname = "podman-compose";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sgbc889zq127qhxa9frhswa1mid19fs5qnyzfihx648y5i968pv";
+  };
+
+  propagatedBuildInputs = [ pyyaml podman ];
+
+  meta = with lib; {
+    description = "An implementation of docker-compose with podman backend";
+    homepage = "https://github.com/containers/podman-compose";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/podman/default.nix b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
index ff768cb7878c..607d790247f8 100644
--- a/nixpkgs/pkgs/applications/virtualization/podman/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
@@ -1,26 +1,24 @@
-{ stdenv, fetchFromGitHub, pkgconfig
+{ stdenv, fetchFromGitHub, pkgconfig, installShellFiles
 , buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp, systemd
 , go-md2man
 }:
 
 buildGoPackage rec {
   pname = "podman";
-  version = "1.5.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "libpod";
     rev    = "v${version}";
-    sha256 = "1jg7fdshqz0x71339i0wndskb17x1k5rwpkjiwd463f96fnbfp4x";
+    sha256 = "1f1dq9g08mlm9y9d7jbs780nrfc25ln97ca5qifcsyc9bmp4f6r1";
   };
 
   goPackagePath = "github.com/containers/libpod";
 
   outputs = [ "bin" "out" "man" ];
 
-  # Optimizations break compilation of libseccomp c bindings
-  hardeningDisable = [ "fortify" ];
-  nativeBuildInputs = [ pkgconfig go-md2man ];
+  nativeBuildInputs = [ pkgconfig go-md2man installShellFiles ];
 
   buildInputs = [ btrfs-progs libseccomp gpgme lvm2 systemd ];
 
@@ -32,6 +30,8 @@ buildGoPackage rec {
 
   installPhase = ''
     install -Dm555 bin/podman $bin/bin/podman
+    installShellCompletion --bash completions/bash/podman
+    installShellCompletion --zsh completions/zsh/_podman
     MANDIR=$man/share/man make install.man
   '';
 
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix b/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
index 5aa1f2e1f553..67aa36b78279 100644
--- a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
@@ -35,16 +35,15 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "4.1.0";
-  name = "qemu-"
-    + stdenv.lib.optionalString xenSupport "xen-"
-    + stdenv.lib.optionalString hostCpuOnly "host-cpu-only-"
-    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
-    + version;
+  version = "4.2.0";
+  pname = "qemu"
+    + stdenv.lib.optionalString xenSupport "-xen"
+    + stdenv.lib.optionalString hostCpuOnly "-host-cpu-only"
+    + stdenv.lib.optionalString nixosTestRunner "-for-vm-tests";
 
   src = fetchurl {
     url = "https://wiki.qemu.org/download/qemu-${version}.tar.bz2";
-    sha256 = "1bpl6hwiw1jdxk4xmqp10qgki0dji0l2rzr10dyhyk8d85vxxw29";
+    sha256 = "1gczv8hn3wqci86css3mhzrppp3z8vppxw25l08j589k6bvz7x1w";
   };
 
   nativeBuildInputs = [ python python.pkgs.sphinx pkgconfig flex bison ];
@@ -78,6 +77,13 @@ stdenv.mkDerivation rec {
     ./no-etc-install.patch
     ./fix-qemu-ga.patch
     ./9p-ignore-noatime.patch
+    (fetchpatch {
+      name = "CVE-2019-15890.patch";
+      url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=c59279437eda91841b9d26079c70b8a540d41204";
+      sha256 = "1q2rc67mfdz034mk81z9bw105x9zad7n954sy3kq068b1svrf7iy";
+      stripLen = 1;
+      extraPrefix = "slirp/";
+    })
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
     ++ optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/no-etc-install.patch b/nixpkgs/pkgs/applications/virtualization/qemu/no-etc-install.patch
index 57e190f5ae79..5bab930d06a5 100644
--- a/nixpkgs/pkgs/applications/virtualization/qemu/no-etc-install.patch
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/no-etc-install.patch
@@ -1,13 +1,12 @@
 diff --git a/Makefile b/Makefile
-index 85862fb8..ed52c5ec 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -841,7 +841,7 @@ endif
+@@ -867,7 +867,7 @@ install-includedir:
+ 	$(INSTALL_DIR) "$(DESTDIR)$(includedir)"
  
- ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512
- 
--install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir \
-+install: all $(if $(BUILD_DOCS),install-doc) install-datadir \
+ install: all $(if $(BUILD_DOCS),install-doc) \
+-	install-datadir install-localstatedir install-includedir \
++	install-datadir install-includedir \
  	$(if $(INSTALL_BLOBS),$(edk2-decompressed)) \
  	recurse-install
  ifneq ($(TOOLS),)
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/utils.nix b/nixpkgs/pkgs/applications/virtualization/qemu/utils.nix
new file mode 100644
index 000000000000..430d71221797
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/utils.nix
@@ -0,0 +1,16 @@
+{ stdenv, qemu }:
+
+stdenv.mkDerivation rec {
+  name = "qemu-utils-${version}";
+  version = qemu.version;
+
+  buildInputs = [ qemu ];
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp "${qemu}/bin/qemu-img" "$out/bin/qemu-img"
+    cp "${qemu}/bin/qemu-io"  "$out/bin/qemu-io"
+    cp "${qemu}/bin/qemu-nbd" "$out/bin/qemu-nbd"
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/remotebox/default.nix b/nixpkgs/pkgs/applications/virtualization/remotebox/default.nix
index d8a2878e3f79..58710365b6ef 100644
--- a/nixpkgs/pkgs/applications/virtualization/remotebox/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/remotebox/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "remotebox";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
     url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
-    sha256 = "1bbdnf13vp35ddfmk4pn167vfxgmdw0fd8bqg51wd8dd4cj8y3wp";
+    sha256 = "0csf6gd7pqq4abia4z0zpzlq865ri1z0821kjy7p3iawqlfn75pb";
   };
 
   buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ];
diff --git a/nixpkgs/pkgs/applications/virtualization/runc/default.nix b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
index 6357f9fadff9..48bd81f383a8 100644
--- a/nixpkgs/pkgs/applications/virtualization/runc/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 buildGoPackage rec {
   pname = "runc";
-  version = "1.0.0-rc8";
+  version = "1.0.0-rc9";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf";
+    sha256 = "1ss5b46cbbckyqlwgj8dbd5l59c5y0kp679hcpc0ybaj53pmwxj7";
   };
 
   goPackagePath = "github.com/opencontainers/runc";
@@ -22,14 +22,14 @@ buildGoPackage rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ go-md2man libseccomp libapparmor apparmor-parser which ];
 
-  makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
+  makeFlags = [ "BUILDTAGS+=seccomp" "BUILDTAGS+=apparmor" ];
 
   buildPhase = ''
     cd go/src/${goPackagePath}
     patchShebangs .
     substituteInPlace libcontainer/apparmor/apparmor.go \
       --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
-    make ${makeFlags} runc
+    make ${toString makeFlags} runc
   '';
 
   installPhase = ''
@@ -53,7 +53,7 @@ buildGoPackage rec {
     homepage = https://runc.io/;
     description = "A CLI tool for spawning and running containers according to the OCI specification";
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline vdemeester ];
+    maintainers = with maintainers; [ offline vdemeester saschagrunert ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/spice-vdagent/default.nix b/nixpkgs/pkgs/applications/virtualization/spice-vdagent/default.nix
index 70ae09aa6ef8..6f5cbeb7ed46 100644
--- a/nixpkgs/pkgs/applications/virtualization/spice-vdagent/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/spice-vdagent/default.nix
@@ -1,17 +1,18 @@
 {stdenv, fetchurl, pkgconfig, alsaLib, spice-protocol, glib,
- libpciaccess, libxcb, libXrandr, libXinerama, libXfixes, dbus,
+ libpciaccess, libxcb, libXrandr, libXinerama, libXfixes, dbus, libdrm,
  systemd}:
 stdenv.mkDerivation rec {
-  name = "spice-vdagent-0.18.0";
+  name = "spice-vdagent-0.19.0";
   src = fetchurl {
     url = "https://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "1bmyvapwj1x0m6y8q0r1df2q37vsnb04qkgnnrfbnzf1qzipxvl0";
+    sha256 = "0r9gjx1vcgb4f7g85b1ib045kqa3dqjk12m7342i5y443ihpr9v3";
   };
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
   postPatch = ''
     substituteInPlace data/spice-vdagent.desktop --replace /usr $out
   '';
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ alsaLib spice-protocol glib
+  buildInputs = [ alsaLib spice-protocol glib libdrm
                   libpciaccess libxcb libXrandr libXinerama libXfixes
                   dbus systemd ] ;
   meta = {
diff --git a/nixpkgs/pkgs/applications/virtualization/spike/default.nix b/nixpkgs/pkgs/applications/virtualization/spike/default.nix
new file mode 100644
index 000000000000..4dbb7fbe4a52
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/tini/default.nix b/nixpkgs/pkgs/applications/virtualization/tini/default.nix
index 39508412333c..fcc599b451f0 100644
--- a/nixpkgs/pkgs/applications/virtualization/tini/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/tini/default.nix
@@ -13,10 +13,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = "sed -i /tini-static/d CMakeLists.txt";
 
-  NIX_CFLAGS_COMPILE = [
-    "-DPR_SET_CHILD_SUBREAPER=36"
-    "-DPR_GET_CHILD_SUBREAPER=37"
-  ];
+  NIX_CFLAGS_COMPILE = "-DPR_SET_CHILD_SUBREAPER=36 -DPR_GET_CHILD_SUBREAPER=37";
 
   buildInputs = [ cmake glibc glibc.static ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/umoci/default.nix b/nixpkgs/pkgs/applications/virtualization/umoci/default.nix
new file mode 100644
index 000000000000..245bb841af63
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/umoci/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  pname = "umoci";
+  version = "0.4.4";
+
+  goPackagePath = "github.com/openSUSE/umoci";
+
+  src = fetchFromGitHub {
+    owner = "openSUSE";
+    repo = "umoci";
+    rev = "v${version}";
+    sha256 = "1mmk9y6xk0qk5rgysmm7x16b025zzwa2sd13jd32drd48scai2dw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "umoci modifies Open Container images";
+    homepage = https://umo.ci;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zokrezyl ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix
index 42860966fe11..99d20477a125 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/virt-top/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-top/default.nix
index 9fc167f5e9de..f32a2a6ce1c0 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-top/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virt-top/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchgit, ocamlPackages, autoreconfHook }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "virt-top";
-  version = "2017-11-18-unstable";
+  version = "1.0.9";
 
   src = fetchgit {
-    url = git://git.annexia.org/git/virt-top.git;
-    rev = "18a751d8c26548bb090ff05e30ccda3092e3373b";
-    sha256 = "0c4whjvw7p3yvd476i4ppdhi8j821r5y6caqrj2v9dc181cnp01i";
+    url = git://git.annexia.org/virt-top.git;
+    rev = "v${version}";
+    sha256 = "0m7pm8lzlpngsj0vjv0hg8l9ck3gvwpva7r472f8f03xpjffwiga";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
index 7ea83b015592..f3004267ed79 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virt-what";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchurl {
     url = "https://people.redhat.com/~rjones/virt-what/files/${pname}-${version}.tar.gz";
-    sha256 = "00nhwly5q0ps8yv9cy3c2qp8lfshf3s0kdpwiy5zwk3g77z96rwk";
+    sha256 = "1s0hg5w47gmnllbs935bx21k3zqrgvqx1wn0zzij2lfxkb9dq4zr";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
index 633f047be5a0..6c15b2ea2ced 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
@@ -2,7 +2,7 @@
 , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras
 , qttools, qtsvg, qtwayland, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
-, alsaLib, curl, libvpx, nettools, dbus, substituteAll
+, alsaLib, curl, libvpx, nettools, dbus, substituteAll, fetchpatch
 , makeself, perl
 , javaBindings ? true, jdk ? null # Almost doesn't affect closure size
 , pythonBindings ? false, python3 ? null
@@ -21,8 +21,18 @@ let
   buildType = "release";
   # Remember to change the extpackRev and version in extpack.nix and
   # guest-additions/default.nix as well.
-  main = "1y6j73axjns8ng3m8zs31zwx71wmm91n6vrhdpxphx16jf518djj";
-  version = "6.0.10";
+  main = "036x2mvkk22lbg72cz6pik9z538j1ag6mmwjjmfikgrq1i7v24jy";
+  version = "6.0.14";
+
+  iasl' = iasl.overrideAttrs (old: rec {
+    inherit (old) pname;
+    version = "20190108";
+    src = fetchurl {
+      url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
+      sha256 = "0bqhr3ndchvfhxb31147z8gd81dysyz5dwkvmp56832d0js2564q";
+    };
+    NIX_CFLAGS_COMPILE = old.NIX_CFLAGS_COMPILE + " -Wno-error=stringop-truncation";
+  });
 in stdenv.mkDerivation {
   pname = "virtualbox";
   inherit version;
@@ -41,7 +51,7 @@ in stdenv.mkDerivation {
   dontWrapQtApps = true;
 
   buildInputs =
-    [ iasl dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL
+    [ iasl' dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL
       libcap glib lvm2 alsaLib curl libvpx pam makeself perl
       libXmu libpng libopus python ]
     ++ optional javaBindings jdk
@@ -92,9 +102,26 @@ in stdenv.mkDerivation {
     })
   ++ [
     ./qtx11extras.patch
-    # Kernel 5.3 fix, should be fixed with VirtualBox 6.0.14
-    # https://www.virtualbox.org/ticket/18911
-    ./kernel-5.3-fix.patch
+    # Kernel 5.4 fix, should be fixed with next upstream release
+    # https://www.virtualbox.org/ticket/18945
+    (fetchpatch {
+      name = "kernel-5.4-fix-1.patch";
+      url = "https://www.virtualbox.org/changeset/81586/vbox?format=diff";
+      sha256 = "0zbkc9v65pkdmjik53x29g39qyf7narkhpwpx5n1n1bfqnhf0k1r";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-2.patch";
+      url = "https://www.virtualbox.org/changeset/81587/vbox?format=diff";
+      sha256 = "1j98cqxj8qlqwaqr4mvwwbkmchw8jmygjwgzz82gix7fj76j2y9c";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-3.patch";
+      url = "https://www.virtualbox.org/changeset/81649/vbox?format=diff";
+      sha256 = "1d6p5k5dgzmjglqfkbcbvpn1x3wxila30q4gcbb7pxwfgclaw2hk";
+      stripLen = 1;
+    })
   ];
 
   postPatch = ''
@@ -214,7 +241,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/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
index 8c9f1aea7baa..c935a40c5400 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -2,7 +2,7 @@
 
 with lib;
 
-let version = "6.0.10";
+let version = "6.0.14";
 in
 fetchurl rec {
   name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
@@ -11,14 +11,14 @@ fetchurl rec {
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
     # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
-    let value = "e5a9eb240379a57c9bf03954a594a03431698e67aef551e27f62170bed9b16ea";
+    let value = "c8a5cc980c9c94cdac3d94e23cf159c2433aae76b416dbfb5b1a918758f21e63";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
     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/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index ad860b07bdf6..690b72f3eeb0 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
-, zlib, xorg, dbus, virtualbox }:
+, zlib, xorg, dbus, virtualbox, dos2unix, fetchpatch, findutils, patchutils }:
 
 let
   version = virtualbox.version;
-  xserverVListFunc = builtins.elemAt (stdenv.lib.splitString "." xorg.xorgserver.version);
+  xserverVListFunc = builtins.elemAt (stdenv.lib.splitVersion xorg.xorgserver.version);
 
   # Forced to 1.18 in <nixpkgs/nixos/modules/services/x11/xserver.nix>
   # as it even fails to build otherwise.  Still, override this even here,
@@ -12,22 +12,26 @@ let
   # It's likely to work again in some future update.
   xserverABI = let abi = xserverVListFunc 0 + xserverVListFunc 1;
     in if abi == "119" || abi == "120" then "118" else abi;
-in
 
-stdenv.mkDerivation {
+  # Specifies how to patch binaries to make sure that libraries loaded using
+  # dlopen are found. We grep binaries for specific library names and patch
+  # RUNPATH in matching binaries to contain the needed library paths.
+  dlopenLibs = [
+    { name = "libdbus-1.so"; pkg = dbus; }
+    { name = "libXfixes.so"; pkg = xorg.libXfixes; }
+  ];
+
+in stdenv.mkDerivation rec {
   name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "098kibz8dkiqd8shm44n4h6iyszcbj0ikav1b4vsi75dqzw8d9n8";
+    sha256 = "1c9ysx0fhxxginmp607b4fk74dvlr32n6w52gawm06prf4xg90nb";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
   KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include";
 
-  # If you add a patch you probably need this.
-  #patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
-
   hardeningDisable = [ "pic" ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
@@ -35,15 +39,78 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ patchelf makeWrapper ];
   buildInputs = [ cdrkit ] ++ kernel.moduleBuildDependencies;
 
-  postPatch = ''
+
+  prePatch = ''
     substituteInPlace src/vboxguest-${version}/vboxvideo/vbox_ttm.c \
       --replace "<ttm/" "<drm/ttm/"
+    
+    echo ${lib.escapeShellArgs patches} | \
+      ${findutils}/bin/xargs -n1 ${patchutils}/bin/lsdiff --strip=1 --addprefix=src/vboxguest-${version}/ | \
+      ${findutils}/bin/xargs ${dos2unix}/bin/dos2unix
   '';
 
+  patchFlags = [ "-p1" "-d" "src/vboxguest-${version}" ];
+  # Kernel 5.4 fix, should be fixed with next upstream release
+  # https://www.virtualbox.org/ticket/18945
+  patches = lib.concatLists (lib.mapAttrsToList (changeset: args:
+    map (arg:
+      fetchpatch ({
+        name = "kernel-5.4-fix-${changeset}.patch";
+        url = "https://www.virtualbox.org/changeset/${changeset}/vbox?format=diff";
+      } // arg)) args) {
+        "81586" = [{
+          sha256 = "126z67x6vy65w6jlqbh4z4f1cffxnycwb69vns0154bawbsbxsiw";
+          stripLen = 5;
+          extraPrefix = "vboxguest/";
+        }];
+        "81587" = [
+          {
+            sha256 = "0simzswnl0wvnc2i9gixz99rfc7lxk1nrnskksrlrrl9hqnh0lva";
+            stripLen = 5;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+          {
+            sha256 = "0a8r9h3x3lcjq2fykgqhdaykp00rnnkbxz8xnxg847zgvca15y02";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+        ];
+        "81649" = [
+          {
+            sha256 = "1p1skxlvqigydxr4sk7w51lpk7nxg0d9lppq39sdnfmgi1z0h0sc";
+            stripLen = 2;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "1j060ggdnndyjdhkfvs15306gl7g932sim9xjmx2mnx8gjdmg37f";
+            stripLen = 2;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "060h3a5k2yklbvlg0hyg4x87xrg37cvv3rjb67xizlwvlyy6ykkg";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/thread2-r0drv-linux.c" ];
+          }
+          {
+            sha256 = "0cxlkf7cy751gl8dgzr7vkims1kmx5pgzsrxyk8w18zyp5nk9glw";
+            stripLen = 7;
+            extraPrefix = "vboxvideo/";
+            includes = [ "*/vbox_*.c" ];
+          }
+        ];
+      });
+
   unpackPhase = ''
     ${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
         isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
         chmod 755 ./VBoxLinuxAdditions.run
+        # An overflow leads the is-there-enough-space check to fail when there's too much space available, so fake how much space there is
+        sed -i 's/\$leftspace/16383/' VBoxLinuxAdditions.run
         ./VBoxLinuxAdditions.run --noexec --keep
       ''
       else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions")
@@ -134,13 +201,13 @@ stdenv.mkDerivation {
   # Stripping breaks these binaries for some reason.
   dontStrip = true;
 
-  # Some code dlopen() libdbus, patch RUNPATH in fixupPhase so it isn't stripped.
-  postFixup = ''
-    for i in $(grep -F libdbus-1.so -l -r $out/{lib,bin}); do
+  # Patch RUNPATH according to dlopenLibs (see the comment there).
+  postFixup = lib.concatMapStrings (library: ''
+    for i in $(grep -F ${lib.escapeShellArg library.name} -l -r $out/{lib,bin}); do
       origRpath=$(patchelf --print-rpath "$i")
-      patchelf --set-rpath "$origRpath:${lib.makeLibraryPath [ dbus ]}" "$i"
+      patchelf --set-rpath "$origRpath:${lib.makeLibraryPath [ library.pkg ]}" "$i"
     done
-  '';
+  '') dlopenLibs;
 
   meta = {
     description = "Guest additions for VirtualBox";
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch b/nixpkgs/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
deleted file mode 100644
index ba9c7c941db9..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-@@ -2123,7 +2123,9 @@
- #endif
-     if (in_dev != NULL)
-     {
--        for_ifa(in_dev) {
-+        struct in_ifaddr *ifa;
-+
-+        for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
-             if (VBOX_IPV4_IS_LOOPBACK(ifa->ifa_address))
-                 return NOTIFY_OK;
-
-@@ -2137,7 +2139,7 @@
-
-             pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
-                 /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
--        } endfor_ifa(in_dev);
-+        }
-     }
-
-     /*
---- a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-+++ a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-@@ -283,12 +283,15 @@
-     if (RTCpuSetCount(&OnlineSet) > 1)
-     {
-         /* Fire the function on all other CPUs without waiting for completion. */
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+        smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+        Assert(!rc); NOREF(rc);
- # else
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
--# endif
-         Assert(!rc); NOREF(rc);
-+# endif
-     }
- #endif
-
-@@ -326,7 +329,6 @@
- {
- #ifdef CONFIG_SMP
-     IPRT_LINUX_SAVE_EFL_AC();
--    int rc;
-     RTMPARGS Args;
-
-     RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
-@@ -337,14 +339,17 @@
-     Args.cHits = 0;
-
-     RTThreadPreemptDisable(&PreemptState);
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+    smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # else /* older kernels */
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # endif /* older kernels */
-     RTThreadPreemptRestore(&PreemptState);
-
--    Assert(rc == 0); NOREF(rc);
-     IPRT_LINUX_RESTORE_EFL_AC();
- #else
-     RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix b/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
index ea8a24e57a34..0d6b3632bc76 100644
--- a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg }:
+{ stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "6.0.0";
+  version = "6.5.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "1sfdxlh50hv8j3dj5bphihqdyf8s7ixm6ckrmvqgr2y3gak1y840";
+    sha256 = "1lh45cxzpdwvhahlcayzqwq1q5hra25mszs13j0dswklcjvjqw8b";
   };
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ nx-libs xorg.xhost xorg.xinit ];
 
   dontBuild = true;
 
-  PATH_PREFIX = "${nx-libs}/bin:${xorg.xdpyinfo}/bin:${xorg.xhost}/bin:${xorg.xinit}/bin";
-
+  # Don't install `x11docker-gui`, because requires `kaptain` dependency
   installPhase = ''
     install -D x11docker "$out/bin/x11docker";
-    #install -D x11docker-gui "$out/bin/x11docker-gui";
-    wrapProgram "$out/bin/x11docker" --prefix PATH : "${PATH_PREFIX}"
-    #wrapProgram "$out/bin/x11docker-gui" --prefix PATH : "${PATH_PREFIX}"
-    # GUI disabled because of missing `kaptain` dependency
+    wrapProgram "$out/bin/x11docker" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ getopt gnugrep gawk ps mount iproute nx-libs xorg.xdpyinfo xorg.xhost xorg.xinit ]}"
   '';
 
   meta = {
@@ -28,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/mviereck/x11docker;
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ jD91mZM2 ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/xen/4.10.nix b/nixpkgs/pkgs/applications/virtualization/xen/4.10.nix
index d3c2ed9060c7..f15a7ef0f9d4 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/4.10.nix
+++ b/nixpkgs/pkgs/applications/virtualization/xen/4.10.nix
@@ -148,7 +148,7 @@ callPackage (import ./generic.nix (rec {
     ++ optional (withOVMF) "--with-system-ovmf=${OVMF.fd}/FV/OVMF.fd"
     ++ optional (withInternalOVMF) "--enable-ovmf";
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     # Fix build on Glibc 2.24.
     "-Wno-error=deprecated-declarations"
     # Fix build with GCC 8
@@ -156,6 +156,10 @@ callPackage (import ./generic.nix (rec {
     "-Wno-error=stringop-truncation"
     "-Wno-error=format-truncation"
     "-Wno-error=array-bounds"
+    # Fix build with GCC 9
+    "-Wno-error=address-of-packed-member"
+    "-Wno-error=format-overflow"
+    "-Wno-error=absolute-value"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix b/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix
index c7568d990626..1d0e01fcb822 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix
+++ b/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix
@@ -167,7 +167,7 @@ callPackage (import ./generic.nix (rec {
     xenpmdpatch
   ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     # Fix build on Glibc 2.24
     "-Wno-error=deprecated-declarations"
     # Fix build with GCC8
@@ -175,6 +175,10 @@ callPackage (import ./generic.nix (rec {
     "-Wno-error=stringop-truncation"
     "-Wno-error=format-truncation"
     "-Wno-error=array-bounds"
+    # Fix build with GCC9
+    "-Wno-error=address-of-packed-member"
+    "-Wno-error=format-overflow"
+    "-Wno-error=absolute-value"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
index 8093d4752a0b..5a8814fb9e28 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
+++ b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
@@ -187,11 +187,11 @@ stdenv.mkDerivation (rec {
   '';
 
   # TODO: Flask needs more testing before enabling it by default.
-  #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
+  #makeFlags = [ "XSM_ENABLE=y" "FLASK_ENABLE=y" "PREFIX=$(out)" "CONFIG_DIR=/etc" "XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files" ];
   makeFlags = [ "PREFIX=$(out) CONFIG_DIR=/etc" "XEN_SCRIPT_DIR=/etc/xen/scripts" ]
            ++ (config.makeFlags or []);
 
-  buildFlags = "xen tools";
+  buildFlags = [ "xen" "tools" ];
 
   postBuild = ''
     make -C docs man-pages
diff --git a/nixpkgs/pkgs/applications/virtualization/xhyve/default.nix b/nixpkgs/pkgs/applications/virtualization/xhyve/default.nix
index 26b55b364f17..e39877df8291 100644
--- a/nixpkgs/pkgs/applications/virtualization/xhyve/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/xhyve/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, lib, fetchurl, Hypervisor, vmnet, xpc, libobjc, zlib }:
+{ stdenv, lib, fetchFromGitHub, Hypervisor, vmnet, xpc, libobjc, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "xhyve";
-  version = "20190124";
+  version = "20191001";
 
-  src = fetchurl {
-    url    = "https://github.com/machyve/xhyve/archive/1dd9a5165848c7ed56dafc41932c553ea56a12af.tar.gz";
-    sha256 = "18zd74pd0azf43csbqb14srbyclfgx28dpgm8ygjmbcazbnipc1k";
+  src = fetchFromGitHub {
+    owner = "machyve";
+    repo = "xhyve";
+    rev = "1f46a3d0bbeb6c90883f302425844fcc3800a776";
+    sha256 = "0mm9xa0v6n7xl2qypnppq5abdncd31vffiklrhcrlni5ymyh9ia5";
   };
 
   buildInputs = [ Hypervisor vmnet xpc libobjc zlib ];
diff --git a/nixpkgs/pkgs/applications/window-managers/2bwm/default.nix b/nixpkgs/pkgs/applications/window-managers/2bwm/default.nix
index 4b61fe3d7e6c..cd1a3a4baf7a 100644
--- a/nixpkgs/pkgs/applications/window-managers/2bwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/2bwm/default.nix
@@ -3,14 +3,14 @@
 , libX11, xcbutil, xcbutilxrm }:
 
 stdenv.mkDerivation rec {
-  version = "0.2";
+  version = "0.3";
   pname = "2bwm";
 
   src = fetchFromGitHub {
     owner  = "venam";
     repo   = "2bwm";
     rev    = "v${version}";
-    sha256 = "1la1ixpm5knsj2gvdcmxzj1jfbzxvhmgzps4f5kbvx5047xc6ici";
+    sha256 = "1xwib612ahv4rg9yl5injck89dlpyp5475xqgag0ydfd0r4sfld7";
   };
 
   # Allow users set their own list of patches
diff --git a/nixpkgs/pkgs/applications/window-managers/awesome/default.nix b/nixpkgs/pkgs/applications/window-managers/awesome/default.nix
index 2551ea80550e..54244d4dc8d8 100644
--- a/nixpkgs/pkgs/applications/window-managers/awesome/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/awesome/default.nix
@@ -12,7 +12,10 @@
 # needed for beautiful.gtk to work
 assert gtk3Support -> gtk3 != null;
 
-with luaPackages; stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
+  lgi = luaPackages.lgi;
+  lua = luaPackages.lua;
+  ldoc = luaPackages.ldoc;
   pname = "awesome";
   version = "4.3";
 
@@ -49,8 +52,11 @@ with luaPackages; stdenv.mkDerivation rec {
                   xcbutilxrm ]
                   ++ stdenv.lib.optional gtk3Support gtk3;
 
-  #cmakeFlags = "-DGENERATE_MANPAGES=ON";
-  cmakeFlags = "-DOVERRIDE_VERSION=${version}";
+  cmakeFlags = [
+    #"-DGENERATE_MANPAGES=ON"
+    "-DOVERRIDE_VERSION=${version}"
+  ] ++ stdenv.lib.optional luaPackages.isLuaJIT "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so"
+  ;
 
   GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
   # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
@@ -80,7 +86,7 @@ with luaPackages; stdenv.mkDerivation rec {
     description = "Highly configurable, dynamic window manager for X";
     homepage    = https://awesomewm.org/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 rasendubi ndowens ];
+    maintainers = with maintainers; [ lovek323 rasendubi ];
     platforms   = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/cage/default.nix b/nixpkgs/pkgs/applications/window-managers/cage/default.nix
index be45d68dc5df..ce4031b92f56 100644
--- a/nixpkgs/pkgs/applications/window-managers/cage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/cwm/default.nix b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
index 1354171dcfac..53489eca3a06 100644
--- a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, yacc, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "cwm-5.6";
+stdenv.mkDerivation rec {
+
+  pname = "cwm";
+  version = "6.6";
 
   src = fetchFromGitHub {
-      owner = "chneukirchen";
-      repo = "cwm";
-      rev = "b7a8c11750d11721a897fdb8442d52f15e7a24a0";
-      sha256 = "0a0x8rgqif4kxy7hj70hck7jma6c8jy4428ybl8fz9qxgxh014ml";
+    owner = "leahneukirchen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rvb4y37vw3bpkqa6fbizgc74x3nrlkk6yf5hlm0hf8qz0c17vbl";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -17,8 +19,8 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A lightweight and efficient window manager for X11";
-    homepage = https://github.com/chneukirchen/cwm;
-    maintainers = [];
+    homepage    = "https://github.com/leahneukirchen/cwm";
+    maintainers = with maintainers; [ "0x4A6F" mkf ];
     license     = licenses.isc;
     platforms   = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix b/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix
index 27657c10a7e3..cc503b2db4f4 100644
--- a/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix
@@ -9,11 +9,11 @@ assert gestures -> libstroke != null;
 
 stdenv.mkDerivation rec {
   pname = "fvwm";
-  version = "2.6.8";
+  version = "2.6.9";
 
   src = fetchurl {
     url = "https://github.com/fvwmorg/fvwm/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0hgkkdzcqjnaabvv9cnh0bz90nnjskbhjg9qnzpi2x0mbliwjdpv";
+    sha256 = "1bliqcnap7vb3m2rn8wvxyfhbf35h9x34s41fl4301yhrkrlrihv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
index c62edd6d71a1..acfd06235ac7 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "0v9307ij8xzwdaxay3r75sd2cp453s3qb6q7dy9fks2p6wwqpazi";
   };
 
-  makeFlags = "all";
-  installFlags = "PREFIX=\${out} VERSION=${version}";
+  makeFlags = [ "all" ];
+  installFlags = [ "PREFIX=\${out}" "VERSION=${version}" ];
 
   buildInputs = optional (contains_any scripts perlscripts) perl;
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks.nix
index ef03216d499b..8c3101f8eb9e 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/blocks.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/blocks.nix
@@ -1,19 +1,28 @@
-{ fetchFromGitHub, stdenv, autoreconfHook }:
+{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook, pkg-config }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation {
   pname = "i3blocks";
-  version = "unstable-2019-02-07";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "vivien";
     repo = "i3blocks";
-    rev = "ec050e79ad8489a6f8deb37d4c20ab10729c25c3";
-    sha256 = "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b";
+    rev = "3417602a2d8322bc866861297f535e1ef80b8cb0";
+    sha256 = "0v8mwnm8qzpv6xnqvrk43s4b9iyld4naqzbaxk4ldq1qkhai0wsv";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  patches = [
+    # XDG_CONFIG_DIRS can contain multiple elements separated by colons, which should be searched in order.
+    (fetchpatch {
+      # https://github.com/vivien/i3blocks/pull/405
+      url = https://github.com/edef1c/i3blocks/commit/d57b32f9a364aeaf36869efdd54240433c737e57.patch;
+      sha256 = "102xb0ax0hmg82dz2gzfag470dkckzf2yizai0izacvrz0d3ngj1";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   meta = {
     description = "A flexible scheduler for your i3bar blocks";
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
index 4d4ab6d96cc5..e5c478987df4 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
@@ -3,12 +3,12 @@
 i3.overrideAttrs (oldAttrs : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.17";
+  version = "4.17.1";
   releaseDate = "2019-01-27";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
-    sha256 = "1vd2xv91xrcr07s2dywq9rvidqqmbs41hlvhcvr1927gz200vgjg";
+    sha256 = "02jpvwmfwv58dfdwvcvkdfcyca7l7zw7hx18aj4cqm3gg0r5pmqh";
   };
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/layout-manager.nix b/nixpkgs/pkgs/applications/window-managers/i3/layout-manager.nix
index afa14b48451a..85d103e172aa 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/layout-manager.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/layout-manager.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     description = "Saving, loading and managing layouts for i3wm.";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
index 2fb6fb44833d..7895d8c124ab 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxcb xcbutilkeysyms xcbutilimage pam libX11
     libev cairo libxkbcommon libxkbfile libjpeg_turbo xcbutilxrm ];
 
-  makeFlags = "all";
+  makeFlags = [ "all" ];
   preInstall = ''
     mkdir -p $out/share/man/man1
   '';
-  installFlags = "PREFIX=\${out} SYSCONFDIR=\${out}/etc MANDIR=\${out}/share/man";
+  installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" "MANDIR=\${out}/share/man" ];
   postInstall = ''
     mv $out/bin/i3lock $out/bin/i3lock-color
     mv $out/share/man/man1/i3lock.1 $out/share/man/man1/i3lock-color.1
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock.nix
index 3e976f8919f8..619345d1b96d 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage xcbutilxrm
     pam libX11 libev cairo libxkbcommon libxkbfile ];
 
-  makeFlags = "all";
-  installFlags = "PREFIX=\${out} SYSCONFDIR=\${out}/etc";
+  makeFlags = [ "all" ];
+  installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" ];
   postInstall = ''
     mkdir -p $out/share/man/man1
     cp *.1 $out/share/man/man1
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index 60edf05892de..80750ab61be4 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i1k884ha08w7r5q5z012q2w7hs333b3c18hkbrhamknpvy6c2i0";
+    sha256 = "1banaiqj4gdsg886kb7l1fxhmf33vxnwwha46397s7gwfxkvxz4n";
   };
 
-  cargoSha256 = "1w43k3ld9ra7blbn593mpi8qg5pgcglwqwddkrb55yxnpnkaxvzy";
+  cargoSha256 = "1cbx2jll0bj547dvwzjprzidndbqn1c4c6hmbfgjgdkxmmrpb0r1";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index f388c2d99db2..58fa0d194e11 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
index c13b950599ed..073af3bfd053 100644
--- a/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
     sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns";
   };
   buildInputs = [ xlibsWrapper lua gettext groff ];
-  buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}";
-  installFlags = "PREFIX=\${out}";
+  buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" "PREFIX=\${out}" ];
+  installFlags = [ "PREFIX=\${out}" ];
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/larswm/default.nix b/nixpkgs/pkgs/applications/window-managers/larswm/default.nix
index 4ec1a4bcd059..f6f3132178c5 100644
--- a/nixpkgs/pkgs/applications/window-managers/larswm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/larswm/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   buildInputs = [ libX11 libXext libXmu ];
 
   makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = {
     homepage = http://www.fnurt.net/larswm;
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/cargo-lock.patch b/nixpkgs/pkgs/applications/window-managers/leftwm/cargo-lock.patch
index 92588eb2fdb9..54b7e47cc075 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/cargo-lock.patch
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/cargo-lock.patch
@@ -1,1483 +1,13 @@
---- /dev/null	2019-05-17 17:44:26.875442706 +0200
-+++ b/Cargo.lock	2019-05-17 18:30:29.490608288 +0200
-@@ -0,0 +1,1480 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "anymap"
-+version = "0.12.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "argon2rs"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.4.10"
-+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 = "atty"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "backtrace"
-+version = "0.3.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "backtrace-sys"
-+version = "0.1.28"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "blake2-rfc"
-+version = "0.2.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "block-buffer"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "block-padding"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "byte-tools"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "bytes"
-+version = "0.4.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.37"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "chrono"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cloudabi"
-+version = "0.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "constant_time_eq"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "crossbeam-deque"
-+version = "0.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "crossbeam-epoch"
-+version = "0.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "crossbeam-queue"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "deunicode"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "digest"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "dirs"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "either"
-+version = "1.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "env_logger"
-+version = "0.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure_derive"
-+version = "0.1.5"
-+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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fake-simd"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "fnv"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "fuchsia-cprng"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "fuchsia-zircon"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fuchsia-zircon-sys"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "futures"
-+version = "0.1.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "generic-array"
-+version = "0.12.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "humantime"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "idna"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+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)",
-+]
-+
-+[[package]]
-+name = "iovec"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "kernel32-sys"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "leftwm"
-+version = "0.1.9"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid 0.18.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.55"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "liquid"
-+version = "0.18.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "deunicode 1.0.0 (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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-compiler 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "liquid-compiler"
-+version = "0.18.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "liquid-error"
-+version = "0.18.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "liquid-interpreter"
-+version = "0.18.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "liquid-value"
-+version = "0.18.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "lock_api"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "maplit"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "matches"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "mio"
-+version = "0.6.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "mio-uds"
-+version = "0.6.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "miow"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "net2"
-+version = "0.2.33"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "nodrop"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "num-integer"
-+version = "0.1.39"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "numtoa"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "opaque-debug"
-+version = "0.2.2"
-+source = "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"
-+dependencies = [
-+ "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "parking_lot"
-+version = "0.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "parking_lot_core"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "pest"
-+version = "2.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "pest_derive"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "pest_generator"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pest_meta 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "pest_meta"
-+version = "2.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.14"
-+source = "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 = "quick-error"
-+version = "1.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "quote"
-+version = "0.6.12"
-+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 = "rand"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (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.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_isaac"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_jitter"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_os"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+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.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_pcg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_xorshift"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rdrand"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.54"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "redox_termios"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "redox_users"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (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.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rustc-demangle"
-+version = "0.1.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rustc_version"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ryu"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "scoped_threadpool"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "scopeguard"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.91"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.91"
-+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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.39"
-+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 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "sha-1"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "slab"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "smallvec"
-+version = "0.6.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "stable_deref_trait"
-+version = "1.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "syn"
-+version = "0.15.34"
-+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.12 (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 = "synstructure"
-+version = "0.10.2"
-+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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (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 = "termcolor"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "termion"
-+version = "1.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-width 0.1.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"
-+dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.1.42"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio"
-+version = "0.1.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-codec"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-current-thread"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-executor"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-fs"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-io"
-+version = "0.1.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-reactor"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-sync"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-tcp"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-threadpool"
-+version = "0.1.14"
-+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.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-timer"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-trace-core"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-udp"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tokio-uds"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.4.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "typenum"
-+version = "1.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "ucd-trie"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "ucd-util"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-segmentation"
-+version = "1.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "url"
-+version = "1.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "utf8-ranges"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "uuid"
-+version = "0.7.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-build"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi-util"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "wincolor"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ws2_32-sys"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "x11-dl"
-+version = "2.18.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "xdg"
-+version = "2.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[metadata]
-+"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
-+"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+"checksum anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344"
-+"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392"
-+"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
-+"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-+"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
-+"checksum backtrace 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "f92d5d536fa03dc3d93711d97bac1fae2eb59aba467ca4c6600c0119da614f51"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-+"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"
-+"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-+"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
-+"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
-+"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-+"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
-+"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
-+"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
-+"checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4"
-+"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
-+"checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
-+"checksum deunicode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca8a0f5bbdedde60605d0719b998e282af68e2b1c50203110211fe4abe857560"
-+"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
-+"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
-+"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
-+"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
-+"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 fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-+"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
-+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-+"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-+"checksum futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "a2037ec1c6c1c4f79557762eab1f7eae1f64f6cb418ace90fae88f0942b60139"
-+"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
-+"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
-+"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-+"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
-+"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
-+"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
-+"checksum libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "42914d39aad277d9e176efbdad68acb1d5443ab65afe0e0e4f0d49352a950880"
-+"checksum liquid 0.18.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e1d91078b50038dba2539ec474656192a0c83b4802e999e5ee334bf198a8120c"
-+"checksum liquid-compiler 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d6b581cfb0437adeb4628cceafed44441d0a4a5c858ab169ec932ba4b4fda815"
-+"checksum liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76119f2171687b188d7b953627ae924ca0556499b0bd20099ee5f2dea8e8969b"
-+"checksum liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cc07e0e8d8b87a34579e42644ac63e290989d4e0539b79993979163bb43ea7b"
-+"checksum liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21caa8903eae7cd9f5918d85d99a06e2a21528fcf6e3da33a7b319d03b81d87c"
-+"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
-+"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
-+"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43"
-+"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
-+"checksum mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)" = "049ba5ca2b63e837adeee724aa9e36b408ed593529dcc802aa96ca14bd329bdf"
-+"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
-+"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
-+"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
-+"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
-+"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
-+"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
-+"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
-+"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
-+"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
-+"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
-+"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
-+"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-+"checksum pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "933085deae3f32071f135d799d75667b63c8dc1f4537159756e3d4ceab41868c"
-+"checksum pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
-+"checksum pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646"
-+"checksum pest_meta 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f249ea6de7c7b7aba92b4ff4376a994c6dbd98fd2166c89d5c4947397ecb574d"
-+"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-+"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
-+"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-+"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-+"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 rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
-+"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
-+"checksum redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe5204c3a17e97dde73f285d49be585df59ed84b50a872baf416e73b62c3828"
-+"checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58"
-+"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
-+"checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288"
-+"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
-+"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"
-+"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.91 (registry+https://github.com/rust-lang/crates.io-index)" = "a72e9b96fa45ce22a4bc23da3858dfccfd60acd28a25bcd328a98fdd6bea43fd"
-+"checksum serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "101b495b109a3e3ca8c4cbe44cf62391527cdfb6ba15821c5ce80bcd5ea23f9f"
-+"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
-+"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
-+"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
-+"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
-+"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
-+"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f"
-+"checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"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 tokio 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "94a1f9396aec29d31bb16c24d155cfa144d1af91c40740125db3131bdaf76da8"
-+"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
-+"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
-+"checksum tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "83ea44c6c0773cc034771693711c35c677b4b5a4b21b9e7071704c54de7d555e"
-+"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af"
-+"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
-+"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
-+"checksum tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5b2f843ffdf8d6e1f90bddd48da43f99ab071660cd92b7ec560ef3cdfd7a409a"
-+"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
-+"checksum tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72558af20be886ea124595ea0f806dd5703b8958e4705429dd58b3d8231f72f2"
-+"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e"
-+"checksum tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3"
-+"checksum tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "66268575b80f4a4a710ef83d087fdfeeabdce9b74c797535fbac18a2cb906e92"
-+"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445"
-+"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
-+"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77"
-+"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
-+"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-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-+"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-+"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
-+"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
-+"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-+"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
-+"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-+"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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
-+"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-+"checksum x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)" = "940586acb859ea05c53971ac231685799a7ec1dee66ac0bccc0e6ad96e06b4e3"
-+"checksum xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57"
+diff --git a/Cargo.lock b/Cargo.lock
+index 915ab04..3d5956d 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -370,7 +370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+
+ [[package]]
+ name = "leftwm"
+-version = "0.1.9"
++version = "0.1.10"
+ dependencies = [
+  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+  "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 661ca013e240..29e33bca9143 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,13 +6,13 @@ in
 
 rustPlatform.buildRustPackage rec {
     pname = "leftwm";
-    version = "0.1.9";
+    version = "0.1.10";
 
     src = fetchFromGitHub {
         owner = "leftwm";
         repo = "leftwm";
         rev = version;
-        sha256 = "0ji7m2npkdg27gm33b19rxr50km0gm1h9czi1f425vxq65mlkl4y";
+        sha256 = "190lc48clkh9vzlsfg2a70w405k7xyyw7avnxwna1glfwmbyy2ag";
     };
 
     buildInputs = [ makeWrapper libX11 libXinerama ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
 
     cargoSha256 = "0mpvfix7bvc84vanha474l4gaq97ac1zy5l77z83m9jg0246yxd6";
 
-    # https://github.com/leftwm/leftwm/pull/37
+    # patch wrong version in Cargo.lock
     cargoPatches = [ ./cargo-lock.patch ];
 
     meta = {
diff --git a/nixpkgs/pkgs/applications/window-managers/notion/default.nix b/nixpkgs/pkgs/applications/window-managers/notion/default.nix
index eaeb9979c10c..60900bd2a3c2 100644
--- a/nixpkgs/pkgs/applications/window-managers/notion/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/notion/default.nix
@@ -35,8 +35,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [makeWrapper xlibsWrapper lua gettext mandoc which libXinerama libXrandr libX11 ] ++ stdenv.lib.optional enableXft libXft;
 
-  buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}";
-  installFlags = "PREFIX=\${out}";
+  buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" "PREFIX=\${out}" ];
+  installFlags = [ "PREFIX=\${out}" ];
 
   postInstall = ''
     wrapProgram $out/bin/notion \
diff --git a/nixpkgs/pkgs/applications/window-managers/compton/default.nix b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
index 0941329bdbe5..ad5f73ab1739 100644
--- a/nixpkgs/pkgs/applications/window-managers/compton/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
@@ -3,15 +3,16 @@
 , xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev
 , dbus, libconfig, libdrm, libGL, pcre, libX11
 , libXinerama, libXext, xwininfo, libxdg_basedir }:
+
 stdenv.mkDerivation rec {
-  pname = "compton";
-  version = "7.2";
+  pname = "picom";
+  version = "7.5";
 
   src = fetchFromGitHub {
     owner  = "yshui";
-    repo   = "compton";
+    repo   = "picom";
     rev    = "v${version}";
-    sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3";
+    sha256 = "1l48fxl04vkzr4r94sl37nbbw7a621rn8sxmkbdv4252i1gjxd4z";
     fetchSubmodules = true;
   };
 
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
     libxdg_basedir
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ];
+  NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
 
   mesonFlags = [
     "-Dbuild_docs=true"
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
-    wrapProgram $out/bin/compton-trans \
+    wrapProgram $out/bin/picom-trans \
       --prefix PATH : ${lib.makeBinPath [ xwininfo ]}
   '';
 
@@ -57,7 +58,7 @@ stdenv.mkDerivation rec {
       well-defined and proper place.
     '';
     license = licenses.mit;
-    homepage = "https://github.com/yshui/compton";
+    homepage = "https://github.com/yshui/picom";
     maintainers = with maintainers; [ ertes enzime twey ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index dc78702b03c5..6d0e6bdac45e 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -32,7 +32,7 @@ python37Packages.buildPythonApplication rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib libxcb cairo pango python37Packages.xcffib ];
 
-  pythonPath = with python37Packages; [ xcffib cairocffi-xcffib ];
+  pythonPath = with python37Packages; [ xcffib cairocffi-xcffib setuptools ];
 
   postInstall = ''
     wrapProgram $out/bin/qtile \
diff --git a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
index ba43403d9bbb..1eb19e2de6f9 100644
--- a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     subdir = if stdenv.isDarwin then "osx" else "linux";
   in "spectrwm-SPECTRWM_2_7_2/${subdir}";
 
-  makeFlags="PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   installPhase = "PREFIX=$out make install";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index a210be0307b9..c495a01e96c9 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -2,14 +2,14 @@
 , meson, ninja
 , pkgconfig, scdoc
 , wayland, libxkbcommon, pcre, json_c, libevdev, pango, cairo, libinput
-, wlroots, wayland-protocols, swaybg
+, wlroots, wayland-protocols
 
 , gdkPixbufSupport ? true, gdk-pixbuf
 , xwaylandSupport ? lib.elem "-Dxwayland=enabled" wlroots.mesonFlags
 }:
 
 stdenv.mkDerivation rec {
-  pname = "sway";
+  pname = "sway-unwrapped";
   version = "1.2";
 
   src = fetchFromGitHub {
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
     ./load-configuration-from-etc.patch
   ];
 
-  nativeBuildInputs = [ pkgconfig meson ninja scdoc makeWrapper ];
+  nativeBuildInputs = [
+    pkgconfig meson ninja scdoc
+  ];
 
   buildInputs = [
     wayland libxkbcommon pcre json_c libevdev pango cairo libinput
@@ -38,15 +40,11 @@ stdenv.mkDerivation rec {
     ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
     ++ lib.optional xwaylandSupport "-Dxwayland=enabled";
 
-  postInstall = ''
-    wrapProgram $out/bin/sway --prefix PATH : "${swaybg}/bin"
-  '';
-
   meta = with lib; {
     description = "i3-compatible tiling Wayland compositor";
     homepage    = https://swaywm.org;
     license     = licenses.mit;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ primeos synthetica ];
+    maintainers = with maintainers; [ primeos synthetica ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix
new file mode 100644
index 000000000000..6dd8db0f45be
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, coreutils, grim, gawk, swaylock
+, imagemagick, getopt, fontconfig, makeWrapper
+}:
+
+let
+  depsPath = stdenv.lib.makeBinPath [
+    coreutils
+    grim
+    gawk
+    swaylock
+    imagemagick
+    getopt
+    fontconfig
+  ];
+in stdenv.mkDerivation rec {
+  pname = "swaylock-fancy-unstable";
+  version = "2019-03-31";
+
+  src = fetchFromGitHub {
+    owner = "Big-B";
+    repo = pname;
+    rev = "35618ceec70338047355b6b057825e68f16971b5";
+    sha256 = "06fjqwblmj0d9pq6y11rr73mizirna4ixy6xkvblf1c7sn5n8lpc";
+  };
+
+  postPatch = ''
+    substituteInPlace swaylock-fancy \
+      --replace "/usr/share" "$out/share"
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/swaylock-fancy \
+      --prefix PATH : "${depsPath}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "This is an swaylock bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text";
+    homepage = "https://github.com/Big-B/swaylock-fancy";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
new file mode 100644
index 000000000000..bd59ac5fa459
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv
+, sway-unwrapped, swaybg
+, makeWrapper, symlinkJoin, writeShellScriptBin
+, withBaseWrapper ? true, extraSessionCommands ? "", dbus
+, withGtkWrapper ? false, wrapGAppsHook, gdk-pixbuf
+}:
+
+assert extraSessionCommands != "" -> withBaseWrapper;
+
+with lib;
+
+let
+  baseWrapper = writeShellScriptBin "sway" ''
+     set -o errexit
+     if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
+       export _SWAY_WRAPPER_ALREADY_EXECUTED=1
+       ${extraSessionCommands}
+     fi
+     if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
+       export DBUS_SESSION_BUS_ADDRESS
+       exec ${sway-unwrapped}/bin/sway "$@"
+     else
+       exec ${dbus}/bin/dbus-run-session ${sway-unwrapped}/bin/sway "$@"
+     fi
+   '';
+in symlinkJoin {
+  name = "sway-${sway-unwrapped.version}";
+
+  paths = (optional withBaseWrapper baseWrapper)
+    ++ [ sway-unwrapped ];
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ (optional withGtkWrapper wrapGAppsHook);
+
+  buildInputs = optional withGtkWrapper gdk-pixbuf;
+
+  postBuild = ''
+    # We want to run wrapProgram manually to only wrap sway and add swaybg:
+    export dontWrapGApps=true
+    ${optionalString withGtkWrapper "wrapGAppsHook"}
+    wrapProgram $out/bin/sway \
+      --prefix PATH : "${swaybg}/bin" ${optionalString withGtkWrapper ''\
+        "''${gappsWrapperArgs[@]}"
+      ''}
+  '';
+
+  passthru.providedSessions = [ "sway" ];
+
+  inherit (sway-unwrapped) meta;
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
index e0f2243827c5..426fcfe8efce 100644
--- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
                   libX11 libXrender libXext libXinerama libXrandr libXft ];
 
   # For some reason including mercurial in buildInputs did not help
-  makeFlags = "WMII_HGVERSION=hg${rev}";
+  makeFlags = [ "WMII_HGVERSION=hg${rev}" ];
 
   meta = {
     homepage = https://suckless.org/; # https://wmii.suckless.org/ does not exist anymore
diff --git a/nixpkgs/pkgs/build-support/agda/default.nix b/nixpkgs/pkgs/build-support/agda/default.nix
index 16fe748c3e5c..0d054eaa5469 100644
--- a/nixpkgs/pkgs/build-support/agda/default.nix
+++ b/nixpkgs/pkgs/build-support/agda/default.nix
@@ -1,6 +1,4 @@
 # Builder for Agda packages. Mostly inspired by the cabal builder.
-#
-# Contact: stdenv.lib.maintainers.fuuzetsu
 
 { stdenv, Agda, glibcLocales
 , writeShellScriptBin
@@ -49,9 +47,9 @@ let
     includeDirs = self.buildDependsAgdaShareAgda
                   ++ self.sourceDirectories ++ self.topSourceDirectories
                   ++ [ "." ];
-    buildFlags = concatStringsSep " " (map (x: "-i " + x) self.includeDirs);
+    buildFlags = stdenv.lib.concatMap (x: ["-i" x]) self.includeDirs;
 
-    agdaWithArgs = "${Agda}/bin/agda ${self.buildFlags}";
+    agdaWithArgs = "${Agda}/bin/agda ${toString self.buildFlags}";
 
     buildPhase = ''
       runHook preBuild
diff --git a/nixpkgs/pkgs/build-support/appimage/default.nix b/nixpkgs/pkgs/build-support/appimage/default.nix
index 7e2b2b347d90..c871df787b7e 100644
--- a/nixpkgs/pkgs/build-support/appimage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix b/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix
index e02e77de45e4..84020505a635 100644
--- a/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix
+++ b/nixpkgs/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;
@@ -66,16 +66,16 @@ let
     else null;
 
   expand-response-params =
-    if buildPackages.stdenv.cc or null != null && buildPackages.stdenv.cc != "/dev/null"
+    if buildPackages ? stdenv && buildPackages.stdenv.hasCC && buildPackages.stdenv.cc != "/dev/null"
     then import ../expand-response-params { inherit (buildPackages) stdenv; }
     else "";
 
 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;
 
@@ -111,17 +111,13 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      set -u
-
       mkdir -p $out/bin $out/nix-support
 
       wrap() {
         local dst="$1"
         local wrapper="$2"
         export prog="$3"
-        set +u
         substituteAll "$wrapper" "$out/bin/$dst"
-        set -u
         chmod +x "$out/bin/$dst"
       }
     ''
@@ -163,8 +159,6 @@ stdenv.mkDerivation {
         [[ -e "$underlying" ]] || continue
         wrap ${targetPrefix}$variant ${./ld-wrapper.sh} $underlying
       done
-
-      set +u
     '';
 
   emulation = let
@@ -190,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);
@@ -205,11 +200,7 @@ stdenv.mkDerivation {
   ];
 
   postFixup =
-    ''
-      set -u
-    ''
-
-    + optionalString (libc != null) (''
+    optionalString (libc != null) (''
       ##
       ## General libc support
       ##
@@ -307,7 +298,6 @@ stdenv.mkDerivation {
     ''
 
     + ''
-      set +u
       substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
       substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
       substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
diff --git a/nixpkgs/pkgs/build-support/bintools-wrapper/setup-hook.sh b/nixpkgs/pkgs/build-support/bintools-wrapper/setup-hook.sh
index f65b792485a0..a714bd151c90 100644
--- a/nixpkgs/pkgs/build-support/bintools-wrapper/setup-hook.sh
+++ b/nixpkgs/pkgs/build-support/bintools-wrapper/setup-hook.sh
@@ -2,8 +2,6 @@
 #
 # See comments in cc-wrapper's setup hook. This works exactly the same way.
 
-set -u
-
 # Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
 # native compile.
 #
@@ -24,7 +22,8 @@ bintoolsWrapper_addLDVars () {
         # Python and Haskell packages often only have directories like $out/lib/ghc-8.4.3/ or
         # $out/lib/python3.6/, so having them in LDFLAGS just makes the linker search unnecessary
         # directories and bloats the size of the environment variable space.
-        if [[ -n "$(echo $1/lib/lib*)" ]]; then
+        local -a glob=( $1/lib/lib* )
+        if [ "${#glob[*]}" -gt 0 ]; then
             export NIX_${role_pre}LDFLAGS+=" -L$1/lib"
         fi
     fi
@@ -61,9 +60,8 @@ do
     if
         PATH=$_PATH type -p "@targetPrefix@${cmd}" > /dev/null
     then
-        upper_case="$(echo "$cmd" | tr "[:lower:]" "[:upper:]")"
-        export "${role_pre}${upper_case}=@targetPrefix@${cmd}";
-        export "${upper_case}${role_post}=@targetPrefix@${cmd}";
+        export "${role_pre}${cmd^^}=@targetPrefix@${cmd}";
+        export "${cmd^^}${role_post}=@targetPrefix@${cmd}";
     fi
 done
 
@@ -73,4 +71,3 @@ export NIX_HARDENING_ENABLE
 
 # No local scope in sourced file
 unset -v role_pre role_post cmd upper_case
-set +u
diff --git a/nixpkgs/pkgs/build-support/build-bazel-package/default.nix b/nixpkgs/pkgs/build-support/build-bazel-package/default.nix
index d4318b715ba3..8fa3cc55279b 100644
--- a/nixpkgs/pkgs/build-support/build-bazel-package/default.nix
+++ b/nixpkgs/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,6 +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}
+      ${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/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix b/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix
index f36c69e43392..dae9ed888c75 100644
--- a/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix
+++ b/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix
@@ -29,9 +29,9 @@ attrsOrig @
       configurePhase = ''
         runHook preConfigure
 
-        [ -z "$dontPlacateNuget" ] && placate-nuget.sh
-        [ -z "$dontPlacatePaket" ] && placate-paket.sh
-        [ -z "$dontPatchFSharpTargets" ] && patch-fsharp-targets.sh
+        [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
+        [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
+        [ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh
 
         runHook postConfigure
       '';
@@ -69,7 +69,7 @@ attrsOrig @
 
         cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target"
 
-        if [ -z "$dontRemoveDuplicatedDlls" ]
+        if [ -z "''${dontRemoveDuplicatedDlls-}" ]
         then
           pushd "$out"
           remove-duplicated-dlls.sh
diff --git a/nixpkgs/pkgs/build-support/buildenv/builder.pl b/nixpkgs/pkgs/build-support/buildenv/builder.pl
index b699d762d29c..fc6ffce735cc 100755
--- a/nixpkgs/pkgs/build-support/buildenv/builder.pl
+++ b/nixpkgs/pkgs/build-support/buildenv/builder.pl
@@ -26,6 +26,19 @@ sub isInPathsToLink {
     return 0;
 }
 
+# Returns whether a path in one of the linked packages may contain
+# files in one of the elements of pathsToLink.
+sub hasPathsToLink {
+    my $path = shift;
+    foreach my $elem (@pathsToLink) {
+        return 1 if
+            $path eq "" ||
+            (substr($elem, 0, length($path)) eq $path
+             && (($path eq $elem) || (substr($elem, length($path), 1) eq "/")));
+    }
+    return 0;
+}
+
 # Similar to `lib.isStorePath`
 sub isStorePath {
     my $path = shift;
@@ -103,7 +116,8 @@ sub findFiles {
         $relName =~ /info\/dir/ ||
         ( $relName =~ /^\/share\/mime\// && !( $relName =~ /^\/share\/mime\/packages/ ) ) ||
         $baseName eq "perllocal.pod" ||
-        $baseName eq "log";
+        $baseName eq "log" ||
+        ! (hasPathsToLink($relName) || isInPathsToLink($relName));
 
     my ($oldTarget, $oldPriority) = @{$symlinks{$relName} // [undef, undef]};
 
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index bb7890100087..ba3dfc96f5c4 100644
--- a/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -33,6 +33,7 @@ fi
 # GCC prints annoying warnings when they are not needed.
 dontLink=0
 nonFlagArgs=0
+cc1=0
 # shellcheck disable=SC2193
 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
 cppInclude=1
@@ -68,6 +69,8 @@ while (( "$n" < "$nParams" )); do
     elif [[ "$p" != -?* ]]; then
         # A dash alone signifies standard input; it is not a flag
         nonFlagArgs=1
+    elif [ "$p" = -cc1 ]; then
+        cc1=1
     fi
     n+=1
 done
@@ -167,6 +170,14 @@ if [ "$*" = -v ]; then
     extraBefore=()
 fi
 
+# clang's -cc1 mode is not compatible with most options
+# that we would pass. Rather than trying to pass only
+# options that would work, let's just remove all of them.
+if [ "$cc1" = 1 ]; then
+  extraAfter=()
+  extraBefore=()
+fi
+
 # Optionally print debug info.
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
     # Old bash workaround, see ld-wrapper for explanation.
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix
index cf2d38cd9978..b078bf2fbbd3 100644
--- a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix
+++ b/nixpkgs/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;
@@ -59,7 +59,7 @@ let
   infixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config;
 
   expand-response-params =
-    if buildPackages.stdenv.cc or null != null && buildPackages.stdenv.cc != "/dev/null"
+    if buildPackages.stdenv.hasCC && buildPackages.stdenv.cc != "/dev/null"
     then import ../expand-response-params { inherit (buildPackages) stdenv; }
     else "";
 
@@ -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,10 +132,10 @@ stdenv.mkDerivation {
     src=$PWD
   '';
 
+  wrapper = ./cc-wrapper.sh;
+
   installPhase =
     ''
-      set -u
-
       mkdir -p $out/bin $out/nix-support
 
       wrap() {
@@ -173,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;
@@ -224,8 +224,6 @@ stdenv.mkDerivation {
 
   postFixup =
     ''
-      set -u
-
       # Backwards compatability for packages expecting this file, e.g. with
       # `$NIX_CC/nix-support/dynamic-linker`.
       #
@@ -239,7 +237,7 @@ stdenv.mkDerivation {
       fi
     ''
 
-    + optionalString (libc != null) ''
+    + optionalString (libc != null) (''
       ##
       ## General libc support
       ##
@@ -255,11 +253,17 @@ stdenv.mkDerivation {
       # compile, because it uses "#include_next <limits.h>" to find the
       # limits.h file in ../includes-fixed. To remedy the problem,
       # another -idirafter is necessary to add that directory again.
-      echo "-B${libc_lib}${libc.libdir or "/lib/"} -idirafter ${libc_dev}${libc.incdir or "/include"} ${optionalString isGNU "-idirafter ${cc}/lib/gcc/*/*/include-fixed"}" > $out/nix-support/libc-cflags
+      echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags
+      echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags
+    '' + optionalString isGNU ''
+      for dir in "${cc}"/lib/gcc/*/*/include-fixed; do
+        echo '-idirafter' ''${dir} >> $out/nix-support/libc-cflags
+      done
+    '' + ''
 
       echo "${libc_lib}" > $out/nix-support/orig-libc
       echo "${libc_dev}" > $out/nix-support/orig-libc-dev
-    ''
+    '')
 
     + optionalString (!nativeTools) ''
       ##
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/setup-hook.sh b/nixpkgs/pkgs/build-support/cc-wrapper/setup-hook.sh
index 211b50632914..5b13f2683097 100644
--- a/nixpkgs/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/nixpkgs/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -54,8 +54,6 @@
 # For more details, read the individual files where the mechanisms used to
 # accomplish this will be individually documented.
 
-set -u
-
 # Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
 # native compile.
 #
@@ -120,4 +118,3 @@ export NIX_HARDENING_ENABLE
 
 # No local scope in sourced file
 unset -v role_pre role_post
-set +u
diff --git a/nixpkgs/pkgs/build-support/docker/default.nix b/nixpkgs/pkgs/build-support/docker/default.nix
index 37b25232b961..e10ff269950d 100644
--- a/nixpkgs/pkgs/build-support/docker/default.nix
+++ b/nixpkgs/pkgs/build-support/docker/default.nix
@@ -287,10 +287,16 @@ rec {
   # unless there are more paths than $maxLayers. In that case, create
   # $maxLayers-1 for the most popular layers, and smush the remainaing
   # store paths in to one final layer.
+  #
+  # NOTE: the `closures` parameter is a list of closures to include.
+  # The TOP LEVEL store paths themselves will never be present in the
+  # resulting image. At this time (2019-12-16) none of these layers
+  # are appropriate to include, as they are all created as
+  # implementation details of dockerTools.
   mkManyPureLayers = {
     name,
     # Files to add to the layer.
-    closure,
+    closures,
     configJson,
     # Docker has a 125-layer maximum, we pick 100 to ensure there is
     # plenty of room for extension.
@@ -303,10 +309,12 @@ rec {
         isExecutable = true;
         src = ./store-path-to-layer.sh;
       };
+
+      overallClosure = writeText "closure" (lib.concatStringsSep " " closures);
     in
     runCommand "${name}-granular-docker-layers" {
       inherit maxLayers;
-      paths = referencesByPopularity closure;
+      paths = referencesByPopularity overallClosure;
       nativeBuildInputs = [ jshon rsync tarsum ];
       enableParallelBuilding = true;
     }
@@ -317,15 +325,20 @@ rec {
         | jshon -d config \
         | jshon -s "1970-01-01T00:00:01Z" -i created > generic.json
 
+
       # WARNING!
       # The following code is fiddly w.r.t. ensuring every layer is
       # created, and that no paths are missed. If you change the
       # following head and tail call lines, double-check that your
       # code behaves properly when the number of layers equals:
       #      maxLayers-1, maxLayers, and maxLayers+1
-      head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
-      if [ $(cat $paths | wc -l) -ge $maxLayers ]; then
-        tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers
+      paths() {
+        cat $paths ${lib.concatMapStringsSep " " (path: "| grep -v ${path}") (closures ++ [ overallClosure ])}
+      }
+
+      paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
+      if [ $(paths | wc -l) -ge $maxLayers ]; then
+        paths | tail -n+$maxLayers | xargs ${storePathToLayer} $maxLayers
       fi
 
       echo "Finished building layer '$name'"
@@ -528,15 +541,18 @@ rec {
     created ? "1970-01-01T00:00:01Z",
     # Optional bash script to run on the files prior to fixturizing the layer.
     extraCommands ? "", uid ? 0, gid ? 0,
-    # Docker's lowest maximum layer limit is 42-layers for an old
-    # version of the AUFS graph driver. We pick 24 to ensure there is
-    # plenty of room for extension. I believe the actual maximum is
-    # 128.
-    maxLayers ? 24
+    # We pick 100 to ensure there is plenty of room for extension. I
+    # believe the actual maximum is 128.
+    maxLayers ? 100
   }:
     let
       baseName = baseNameOf name;
-      contentsEnv = symlinkJoin { name = "bulk-layers"; paths = (if builtins.isList contents then contents else [ contents ]); };
+      contentsEnv = symlinkJoin {
+        name = "bulk-layers";
+        paths = if builtins.isList contents
+          then contents
+          else [ contents ];
+      };
 
       configJson = let
           pure = writeText "${baseName}-config.json" (builtins.toJSON {
@@ -553,7 +569,7 @@ rec {
 
       bulkLayers = mkManyPureLayers {
           name = baseName;
-          closure = writeText "closure" "${contentsEnv} ${configJson}";
+          closures = [ contentsEnv configJson ];
           # One layer will be taken up by the customisationLayer, so
           # take up one less.
           maxLayers = maxLayers - 1;
@@ -845,6 +861,9 @@ rec {
         echo "         be better to only have one layer that contains a nix store."
 
         export NIX_REMOTE=local?root=$PWD
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        export USER=nobody
         ${nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
 
         mkdir -p nix/var/nix/gcroots/docker/
diff --git a/nixpkgs/pkgs/build-support/docker/examples.nix b/nixpkgs/pkgs/build-support/docker/examples.nix
index 29eea33a7e18..d7d1a6933100 100644
--- a/nixpkgs/pkgs/build-support/docker/examples.nix
+++ b/nixpkgs/pkgs/build-support/docker/examples.nix
@@ -117,7 +117,12 @@ rec {
       pkgs.nix
     ];
     config = {
-      Env = [ "NIX_PAGER=cat" ];
+      Env = [
+        "NIX_PAGER=cat"
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        "USER=nobody"
+      ];
     };
   };
 
@@ -231,7 +236,6 @@ rec {
     name = "another-layered-image";
     tag = "latest";
     config.Cmd = [ "${pkgs.hello}/bin/hello" ];
-    contents = [ pkgs.hello ];
   };
 
 }
diff --git a/nixpkgs/pkgs/build-support/emacs/setup-hook.sh b/nixpkgs/pkgs/build-support/emacs/setup-hook.sh
index e1db3e828fd7..b210511d670d 100644
--- a/nixpkgs/pkgs/build-support/emacs/setup-hook.sh
+++ b/nixpkgs/pkgs/build-support/emacs/setup-hook.sh
@@ -1,11 +1,13 @@
 addEmacsVars () {
   if test -d $1/share/emacs/site-lisp; then
-      export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
+      # 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
 }
 
 # If this is for a wrapper derivation, emacs and the dependencies are all
 # run-time dependencies. If this is for precompiling packages into bytecode,
 # emacs is a compile-time dependency of the package.
-addEnvHooks "$targetOffset" addEmacsVars
+addEnvHooks "$hostOffset" addEmacsVars
 addEnvHooks "$targetOffset" addEmacsVars
diff --git a/nixpkgs/pkgs/build-support/emacs/wrapper.nix b/nixpkgs/pkgs/build-support/emacs/wrapper.nix
index b242672df10b..25f068cd3fa0 100644
--- a/nixpkgs/pkgs/build-support/emacs/wrapper.nix
+++ b/nixpkgs/pkgs/build-support/emacs/wrapper.nix
@@ -32,7 +32,7 @@ in customEmacsPackages.emacsWithPackages (epkgs: [ epkgs.evil epkgs.magit ])
 
 */
 
-{ lib, lndir, makeWrapper, runCommand, stdenv }: self:
+{ lib, lndir, makeWrapper, runCommand }: self:
 
 with lib; let inherit (self) emacs; in
 
@@ -45,105 +45,110 @@ let
     else packagesFun;
 in
 
-stdenv.mkDerivation {
-  name = (appendToName "with-packages" emacs).name;
-  nativeBuildInputs = [ emacs lndir makeWrapper ];
-  inherit emacs explicitRequires;
-
-  # Store all paths we want to add to emacs here, so that we only need to add
-  # one path to the load lists
-  deps = runCommand "emacs-packages-deps"
-   { inherit explicitRequires lndir emacs; }
-   ''
-     findInputsOld() {
-         local pkg="$1"; shift
-         local var="$1"; shift
-         local propagatedBuildInputsFiles=("$@")
-
-         # TODO(@Ericson2314): Restore using associative array once Darwin
-         # nix-shell doesn't use impure bash. This should replace the O(n)
-         # case with an O(1) hash map lookup, assuming bash is implemented
-         # well :D.
-         local varSlice="$var[*]"
-         # ''${..-} to hack around old bash empty array problem
-         case "''${!varSlice-}" in
-             *" $pkg "*) return 0 ;;
-         esac
-         unset -v varSlice
-
-         eval "$var"'+=("$pkg")'
-
-         if ! [ -e "$pkg" ]; then
-             echo "build input $pkg does not exist" >&2
-             exit 1
-         fi
-
-         local file
-         for file in "''${propagatedBuildInputsFiles[@]}"; do
-             file="$pkg/nix-support/$file"
-             [[ -f "$file" ]] || continue
-
-             local pkgNext
-             for pkgNext in $(< "$file"); do
-                 findInputsOld "$pkgNext" "$var" "''${propagatedBuildInputsFiles[@]}"
-             done
-         done
-     }
-     mkdir -p $out/bin
-     mkdir -p $out/share/emacs/site-lisp
-
-     local requires
-     for pkg in $explicitRequires; do
-       findInputsOld $pkg requires propagated-user-env-packages
-     done
-     # requires now holds all requested packages and their transitive dependencies
-
-     linkPath() {
-       local pkg=$1
-       local origin_path=$2
-       local dest_path=$3
-
-       # Add the path to the search path list, but only if it exists
-       if [[ -d "$pkg/$origin_path" ]]; then
-         $lndir/bin/lndir -silent "$pkg/$origin_path" "$out/$dest_path"
-       fi
-     }
-
-     linkEmacsPackage() {
-       linkPath "$1" "bin" "bin"
-       linkPath "$1" "share/emacs/site-lisp" "share/emacs/site-lisp"
-     }
-
-     # Iterate over the array of inputs (avoiding nix's own interpolation)
-     for pkg in "''${requires[@]}"; do
-       linkEmacsPackage $pkg
-     done
-
-     siteStart="$out/share/emacs/site-lisp/site-start.el"
-     siteStartByteCompiled="$siteStart"c
-     subdirs="$out/share/emacs/site-lisp/subdirs.el"
-     subdirsByteCompiled="$subdirs"c
-
-     # A dependency may have brought the original siteStart or subdirs, delete
-     # it and create our own
-     # Begin the new site-start.el by loading the original, which sets some
-     # NixOS-specific paths. Paths are searched in the reverse of the order
-     # they are specified in, so user and system profile paths are searched last.
-     rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled
-     cat >"$siteStart" <<EOF
-(load-file "$emacs/share/emacs/site-lisp/site-start.el")
-(add-to-list 'load-path "$out/share/emacs/site-lisp")
-(add-to-list 'exec-path "$out/bin")
-EOF
-      # Link subdirs.el from the emacs distribution
-      ln -s $emacs/share/emacs/site-lisp/subdirs.el -T $subdirs
-
-     # Byte-compiling improves start-up time only slightly, but costs nothing.
-     $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs"
-  '';
-
-  phases = [ "installPhase" ];
-  installPhase = ''
+runCommand
+  (appendToName "with-packages" emacs).name
+  {
+    nativeBuildInputs = [ emacs lndir makeWrapper ];
+    inherit emacs explicitRequires;
+
+    preferLocalBuild = true;
+    allowSubstitutes = false;
+
+    # Store all paths we want to add to emacs here, so that we only need to add
+    # one path to the load lists
+    deps = runCommand "emacs-packages-deps"
+      { inherit explicitRequires lndir emacs; }
+      ''
+        findInputsOld() {
+          local pkg="$1"; shift
+          local var="$1"; shift
+          local propagatedBuildInputsFiles=("$@")
+
+          # TODO(@Ericson2314): Restore using associative array once Darwin
+          # nix-shell doesn't use impure bash. This should replace the O(n)
+          # case with an O(1) hash map lookup, assuming bash is implemented
+          # well :D.
+          local varSlice="$var[*]"
+          # ''${..-} to hack around old bash empty array problem
+          case "''${!varSlice-}" in
+              *" $pkg "*) return 0 ;;
+          esac
+          unset -v varSlice
+
+          eval "$var"'+=("$pkg")'
+
+          if ! [ -e "$pkg" ]; then
+              echo "build input $pkg does not exist" >&2
+              exit 1
+          fi
+
+          local file
+          for file in "''${propagatedBuildInputsFiles[@]}"; do
+              file="$pkg/nix-support/$file"
+              [[ -f "$file" ]] || continue
+
+              local pkgNext
+              for pkgNext in $(< "$file"); do
+                  findInputsOld "$pkgNext" "$var" "''${propagatedBuildInputsFiles[@]}"
+              done
+          done
+        }
+        mkdir -p $out/bin
+        mkdir -p $out/share/emacs/site-lisp
+
+        local requires
+        for pkg in $explicitRequires; do
+          findInputsOld $pkg requires propagated-user-env-packages
+        done
+        # requires now holds all requested packages and their transitive dependencies
+
+        linkPath() {
+          local pkg=$1
+          local origin_path=$2
+          local dest_path=$3
+
+          # Add the path to the search path list, but only if it exists
+          if [[ -d "$pkg/$origin_path" ]]; then
+            $lndir/bin/lndir -silent "$pkg/$origin_path" "$out/$dest_path"
+          fi
+        }
+
+        linkEmacsPackage() {
+          linkPath "$1" "bin" "bin"
+          linkPath "$1" "share/emacs/site-lisp" "share/emacs/site-lisp"
+        }
+
+        # Iterate over the array of inputs (avoiding nix's own interpolation)
+        for pkg in "''${requires[@]}"; do
+          linkEmacsPackage $pkg
+        done
+
+        siteStart="$out/share/emacs/site-lisp/site-start.el"
+        siteStartByteCompiled="$siteStart"c
+        subdirs="$out/share/emacs/site-lisp/subdirs.el"
+        subdirsByteCompiled="$subdirs"c
+
+        # A dependency may have brought the original siteStart or subdirs, delete
+        # it and create our own
+        # Begin the new site-start.el by loading the original, which sets some
+        # NixOS-specific paths. Paths are searched in the reverse of the order
+        # they are specified in, so user and system profile paths are searched last.
+        rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled
+        cat >"$siteStart" <<EOF
+        (load-file "$emacs/share/emacs/site-lisp/site-start.el")
+        (add-to-list 'load-path "$out/share/emacs/site-lisp")
+        (add-to-list 'exec-path "$out/bin")
+        EOF
+        # Link subdirs.el from the emacs distribution
+        ln -s $emacs/share/emacs/site-lisp/subdirs.el -T $subdirs
+
+        # Byte-compiling improves start-up time only slightly, but costs nothing.
+        $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs"
+      '';
+
+    inherit (emacs) meta;
+  }
+  ''
     mkdir -p "$out/bin"
 
     # Wrap emacs and friends so they find our site-start.el before the original.
@@ -172,6 +177,4 @@ EOF
     for dir in applications icons info man; do
       ln -s $emacs/share/$dir $out/share/$dir
     done
-  '';
-  inherit (emacs) meta;
-}
+  ''
diff --git a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
index 931be1a37007..8020ba46f3f1 100755
--- a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/fetchgit/private.nix b/nixpkgs/pkgs/build-support/fetchgit/private.nix
deleted file mode 100644
index 6731cf87fbd1..000000000000
--- a/nixpkgs/pkgs/build-support/fetchgit/private.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchgit, runCommand, makeWrapper, openssh }: args: derivation ((fetchgit args).drvAttrs // {
-  SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
-    then builtins.toString <ssh-auth-sock>
-    else null;
-
-  GIT_SSH = let
-    config = let
-        sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
-          then <ssh-config-file>
-          else builtins.trace ''
-            Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
-
-            Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
-
-            You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
-          '' "/var/lib/empty/config";
-      in builtins.toString sshConfigFile;
-
-    ssh-wrapped = runCommand "fetchgit-ssh" {
-      nativeBuildInputs = [ makeWrapper ];
-    } ''
-      mkdir -p $out/bin
-      makeWrapper ${openssh}/bin/ssh $out/bin/ssh --prefix PATH : "$out/bin" --add-flags "-F ${config}" "$@"
-    '';
-  in "${ssh-wrapped}/bin/ssh";
-})
diff --git a/nixpkgs/pkgs/build-support/fetchgitiles/default.nix b/nixpkgs/pkgs/build-support/fetchgitiles/default.nix
new file mode 100644
index 000000000000..827680992d69
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/fetchgitiles/default.nix
@@ -0,0 +1,10 @@
+{ fetchzip, lib }:
+
+{ url, rev, name ? "source", ... } @ args:
+
+fetchzip ({
+  inherit name;
+  url = "${url}/+archive/${rev}.tar.gz";
+  stripRoot = false;
+  meta.homepage = url;
+} // removeAttrs args [ "url" "rev" ]) // { inherit rev; }
diff --git a/nixpkgs/pkgs/build-support/fetchgitlab/default.nix b/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
index be110cf8393e..6c4d52a05337 100644
--- a/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
@@ -3,8 +3,19 @@
 # gitlab example
 { owner, repo, rev, domain ? "gitlab.com", name ? "source", group ? null
 , ... # For hash agility
-}@args: fetchzip ({
+} @ args:
+
+with lib;
+
+let
+  slug = concatStringsSep "/"
+    ((optional (group != null) group) ++ [ owner repo ]);
+
+  escapedSlug = replaceStrings ["." "/"] ["%2E" "%2F"] slug;
+in
+
+fetchzip ({
   inherit name;
-  url = "https://${domain}/api/v4/projects/${lib.optionalString (group != null) "${lib.replaceStrings ["."] ["%2E"] group}%2F"}${lib.replaceStrings ["."] ["%2E"] owner}%2F${lib.replaceStrings ["."] ["%2E"] repo}/repository/archive.tar.gz?sha=${rev}";
-  meta.homepage = "https://${domain}/${lib.optionalString (group != null) "${group}/"}${owner}/${repo}/";
+  url = "https://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${rev}";
+  meta.homepage = "https://${domain}/${slug}/";
 } // removeAttrs args [ "domain" "owner" "group" "repo" "rev" ]) // { inherit rev; }
diff --git a/nixpkgs/pkgs/build-support/fetchurl/default.nix b/nixpkgs/pkgs/build-support/fetchurl/default.nix
index 6300587a7d15..7d23a3a7f8f1 100644
--- a/nixpkgs/pkgs/build-support/fetchurl/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchurl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
+{ lib, buildPackages ? { inherit stdenvNoCC; }, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
 
 let
 
@@ -10,7 +10,7 @@ let
   # resulting store derivations (.drv files) much smaller, which in
   # turn makes nix-env/nix-instantiate faster.
   mirrorsFile =
-    stdenvNoCC.mkDerivation ({
+    buildPackages.stdenvNoCC.mkDerivation ({
       name = "mirrors-list";
       builder = ./write-mirror-list.sh;
       preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/build-support/kernel/make-initrd.nix b/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
index 7a5642e565de..ed5dbdaee171 100644
--- a/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
+++ b/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
@@ -12,26 +12,26 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{ stdenv, perl, cpio, contents, ubootTools
+{ stdenvNoCC, perl, cpio, contents, ubootTools
 , name ? "initrd"
 , compressor ? "gzip -9n"
 , prepend ? []
 , lib
 }:
-let 
+let
   # !!! Move this into a public lib function, it is probably useful for others
-  toValidStoreName = x: with builtins; 
+  toValidStoreName = x: with builtins;
     lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x));
 
-in stdenv.mkDerivation rec {
+in stdenvNoCC.mkDerivation rec {
   inherit name;
 
   builder = ./make-initrd.sh;
 
-  makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage";
+  makeUInitrd = stdenvNoCC.hostPlatform.platform.kernelTarget == "uImage";
 
   nativeBuildInputs = [ perl cpio ]
-    ++ stdenv.lib.optional makeUInitrd ubootTools;
+    ++ stdenvNoCC.lib.optional makeUInitrd ubootTools;
 
   # !!! should use XML.
   objects = map (x: x.object) contents;
@@ -42,12 +42,11 @@ in stdenv.mkDerivation rec {
   # Note: we don't use closureInfo yet, as that won't build with nix-1.x.
   # See #36268.
   exportReferencesGraph =
-    lib.zipListsWith 
-      (x: i: [("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") x.object]) 
-      contents 
+    lib.zipListsWith
+      (x: i: [("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") x.object])
+      contents
       (lib.range 0 (lib.length contents - 1));
   pathsFromGraph = ./paths-from-graph.pl;
 
   inherit compressor prepend;
 }
-
diff --git a/nixpkgs/pkgs/build-support/kernel/modules-closure.sh b/nixpkgs/pkgs/build-support/kernel/modules-closure.sh
index 5658094872c8..220f3b00a771 100644
--- a/nixpkgs/pkgs/build-support/kernel/modules-closure.sh
+++ b/nixpkgs/pkgs/build-support/kernel/modules-closure.sh
@@ -56,4 +56,12 @@ for module in $closure; do
     done
 done
 
+# copy module ordering hints for depmod
+cp $kernel/lib/modules/"$version"/modules.order $out/lib/modules/"$version"/.
+cp $kernel/lib/modules/"$version"/modules.builtin $out/lib/modules/"$version"/.
+
 depmod -b $out -a $version
+
+# remove original hints from final derivation
+rm $out/lib/modules/"$version"/modules.order
+rm $out/lib/modules/"$version"/modules.builtin
diff --git a/nixpkgs/pkgs/build-support/libredirect/libredirect.c b/nixpkgs/pkgs/build-support/libredirect/libredirect.c
index 8e8da00b02a2..d31b7551e949 100644
--- a/nixpkgs/pkgs/build-support/libredirect/libredirect.c
+++ b/nixpkgs/pkgs/build-support/libredirect/libredirect.c
@@ -59,6 +59,11 @@ static const char * rewrite(const char * path, char * buf)
     return path;
 }
 
+static int open_needs_mode(int flags)
+{
+    return (flags & O_CREAT) || (flags & O_TMPFILE) == O_TMPFILE;
+}
+
 /* The following set of Glibc library functions is very incomplete -
    it contains only what we needed for programs in Nixpkgs. Just add
    more functions as needed. */
@@ -67,7 +72,7 @@ int open(const char * path, int flags, ...)
 {
     int (*open_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -81,7 +86,7 @@ int open64(const char * path, int flags, ...)
 {
     int (*open64_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -95,7 +100,7 @@ int openat(int dirfd, const char * path, int flags, ...)
 {
     int (*openat_real) (int, const char *, int, mode_t) = dlsym(RTLD_NEXT, "openat");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -140,9 +145,9 @@ int stat(const char * path, struct stat * st)
     return __stat_real(rewrite(path, buf), st);
 }
 
-int * access(const char * path, int mode)
+int access(const char * path, int mode)
 {
-    int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
+    int (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
     char buf[PATH_MAX];
     return access_real(rewrite(path, buf), mode);
 }
diff --git a/nixpkgs/pkgs/build-support/make-desktopitem/default.nix b/nixpkgs/pkgs/build-support/make-desktopitem/default.nix
index f8c31ed5c1d4..67b82fd66db1 100644
--- a/nixpkgs/pkgs/build-support/make-desktopitem/default.nix
+++ b/nixpkgs/pkgs/build-support/make-desktopitem/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib}:
+{ lib, runCommandLocal }:
 { name
 , type ? "Application"
 , exec
@@ -13,24 +13,20 @@
 , extraEntries ? null
 }:
 
-stdenv.mkDerivation {
-  name = "${name}.desktop";
+let
+  optionalEntriesList = [{k="Icon";          v=icon;}
+                         {k="Comment";       v=comment;}
+                         {k="GenericName";   v=genericName;}
+                         {k="MimeType";      v=mimeType;}
+                         {k="StartupNotify"; v=startupNotify;}];
 
-  buildCommand = let
+  valueNotNull = {k, v}: v != null;
+  entriesToKeep = builtins.filter valueNotNull optionalEntriesList;
 
-   optionalEntriesList = [{k="Icon";          v=icon;}
-                          {k="Comment";       v=comment;}
-                          {k="GenericName";   v=genericName;}
-                          {k="MimeType";      v=mimeType;}
-                          {k="StartupNotify"; v=startupNotify;}];
-
-   valueNotNull = {k, v}: v != null;
-   entriesToKeep = builtins.filter valueNotNull optionalEntriesList;
-
-   mkEntry = {k, v}:  k + "=" + v;
-   optionalEntriesString  = lib.concatMapStringsSep "\n" mkEntry entriesToKeep;
-
-  in
+  mkEntry = {k, v}:  k + "=" + v;
+  optionalEntriesString  = lib.concatMapStringsSep "\n" mkEntry entriesToKeep;
+in
+runCommandLocal "${name}.desktop" {}
   ''
     mkdir -p $out/share/applications
     cat > $out/share/applications/${name}.desktop <<EOF
@@ -44,5 +40,4 @@ stdenv.mkDerivation {
     ${if extraEntries == null then ''EOF'' else ''
     ${extraEntries}
     EOF''}
-  '';
-}
+  ''
diff --git a/nixpkgs/pkgs/build-support/nix-prefetch-github/default.nix b/nixpkgs/pkgs/build-support/nix-prefetch-github/default.nix
deleted file mode 100644
index 10a6daaf53f7..000000000000
--- a/nixpkgs/pkgs/build-support/nix-prefetch-github/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ python3
-, fetchFromGitHub
-, stdenv
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "nix-prefetch-github";
-  version = "2.3.1";
-
-  src = fetchFromGitHub {
-    owner = "seppeljordan";
-    repo = "nix-prefetch-github";
-    rev = "v${version}";
-    sha256 = "13wvq13iiva97a16kahfpxar5ppb015nnbn7d4v9s9jyxdickc2c";
-  };
-
-  propagatedBuildInputs = with python3.pkgs; [
-    attrs
-    click
-    effect
-    jinja2
-  ];
-  meta = with stdenv.lib; {
-    description = "Prefetch sources from github";
-    homepage = https://github.com/seppeljordan/nix-prefetch-github;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.seppeljordan ];
-  };
-}
diff --git a/nixpkgs/pkgs/build-support/nuke-references/default.nix b/nixpkgs/pkgs/build-support/nuke-references/default.nix
index 8f976ad462cc..d894b56d366a 100644
--- a/nixpkgs/pkgs/build-support/nuke-references/default.nix
+++ b/nixpkgs/pkgs/build-support/nuke-references/default.nix
@@ -3,10 +3,11 @@
 # path (/nix/store/eeee...).  This is useful for getting rid of
 # dependencies that you know are not actually needed at runtime.
 
-{ stdenv, perl }:
+{ stdenvNoCC, perl }:
 
-stdenv.mkDerivation {
+stdenvNoCC.mkDerivation {
   name = "nuke-references";
   builder = ./builder.sh;
+  # FIXME: get rid of perl dependency.
   inherit perl;
 }
diff --git a/nixpkgs/pkgs/build-support/ocaml/default.nix b/nixpkgs/pkgs/build-support/ocaml/default.nix
index cc2001c66e2e..3957b955a2c6 100644
--- a/nixpkgs/pkgs/build-support/ocaml/default.nix
+++ b/nixpkgs/pkgs/build-support/ocaml/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (args // {
 
   setupHook = if setupHook == null && hasSharedObjects
   then writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
     ''
   else setupHook;
 
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index e0a52e62561b..4e2e2af1aa77 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,169 +1,109 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, mkRustcDepArgs, rust }:
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
   crateType, metadata, crateBin, hasCrateBin,
-  extraRustcOpts, verbose, colors }:
+  extraRustcOpts, verbose, colors,
+  buildTests
+}:
 
   let
-
-    deps = makeDeps dependencies crateRenames;
-    rustcOpts =
-      lib.lists.foldl' (opts: opt: opts + " " + opt)
-        (if release then "-C opt-level=3" else "-C debuginfo=2")
-        (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
+    baseRustcOpts =
+      [(if release then "-C opt-level=3" else "-C debuginfo=2")]
+      ++ ["-C codegen-units=$NIX_BUILD_CORES"]
+      ++ [(mkRustcDepArgs dependencies crateRenames)]
+      ++ [crateFeatures]
+      ++ extraRustcOpts
+      ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
+    ;
     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_}";
+
+    # build the final rustc arguments that can be different between different
+    # crates
+    libRustcOpts = lib.concatStringsSep " " (
+      baseRustcOpts
+      ++ [rustcMeta]
+      ++ (map (x: "--crate-type ${x}") crateType)
+    );
+
+    binRustcOpts = lib.concatStringsSep " " (
+      baseRustcOpts
+    );
+
+    build_bin = if buildTests then "build_bin_test" else "build_bin";
   in ''
     runHook preBuild
-    norm=""
-    bold=""
-    green=""
-    boldgreen=""
-    if [[ "${colors}" == "always" ]]; then
-      norm="$(printf '\033[0m')" #returns to "normal"
-      bold="$(printf '\033[0;1m')" #set bold
-      green="$(printf '\033[0;32m')" #set green
-      boldgreen="$(printf '\033[0;1;32m')" #set bold, and set green.
-    fi
     ${echo_build_heading colors}
     ${noisily colors verbose}
 
-    build_lib() {
-       lib_src=$1
-       echo_build_heading $lib_src ${libName}
-
-       noisily rustc --crate-name $CRATE_NAME $lib_src \
-         ${lib.strings.concatStrings (map (x: " --crate-type ${x}") crateType)}  \
-         ${rustcOpts} ${rustcMeta} ${crateFeatures} --out-dir target/lib \
-         --emit=dep-info,link -L dependency=target/deps ${deps} --cap-lints allow \
-         $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors}
-
-       EXTRA_LIB=" --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-${metadata}.rlib"
-       if [ -e target/deps/lib$CRATE_NAME-${metadata}${stdenv.hostPlatform.extensions.sharedLibrary} ]; then
-          EXTRA_LIB="$EXTRA_LIB --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-${metadata}${stdenv.hostPlatform.extensions.sharedLibrary}"
-       fi
-    }
-
-    build_bin() {
-      crate_name=$1
-      crate_name_=$(echo $crate_name | sed -e "s/-/_/g")
-      main_file=""
-      if [[ ! -z $2 ]]; then
-        main_file=$2
-      fi
-      echo_build_heading $@
-      noisily rustc --crate-name $crate_name_ $main_file --crate-type bin ${rustcOpts}\
-        ${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 [ "$crate_name_" != "$crate_name" ]; then
-        mv target/bin/$crate_name_ target/bin/$crate_name
-      fi
-    }
+    # configure & source common build functions
+    LIB_RUSTC_OPTS="${libRustcOpts}"
+    BIN_RUSTC_OPTS="${binRustcOpts}"
+    LIB_EXT="${stdenv.hostPlatform.extensions.sharedLibrary}"
+    LIB_PATH="${libPath}"
+    LIB_NAME="${libName}"
+    source ${./lib.sh}
 
+    CRATE_NAME='${lib.replaceStrings ["-"] ["_"] libName}'
 
-    EXTRA_LIB=""
-    CRATE_NAME=$(echo ${libName} | sed -e "s/-/_/g")
+    setup_link_paths
 
-    if [[ -e target/link_ ]]; then
-      EXTRA_BUILD="$(cat target/link_) $EXTRA_BUILD"
-    fi
-
-    if [[ -e "${libPath}" ]]; then
-       build_lib ${libPath}
+    if [[ -e "$LIB_PATH" ]]; then
+       build_lib "$LIB_PATH"
+       ${lib.optionalString buildTests ''build_lib_test "$LIB_PATH"''}
     elif [[ -e src/lib.rs ]]; then
        build_lib src/lib.rs
-    elif [[ -e src/${libName}.rs ]]; then
-       build_lib src/${libName}.rs
+       ${lib.optionalString buildTests "build_lib_test src/lib.rs"}
+    elif [[ -e "src/$LIB_NAME.rs" ]]; then
+       build_lib src/$LIB_NAME.rs
+       ${lib.optionalString buildTests ''build_lib_test "src/$LIB_NAME.rs"''}
     fi
 
-    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#")
-           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
-         done
-       fi
-    done
-
-    if [[ -e target/link ]]; then
-       sort -u target/link.final > target/link.final.sorted
-       mv target/link.final.sorted target/link.final
-       sort -u target/link > target/link.sorted
-       mv target/link.sorted target/link
-
-       tr '\n' ' ' < target/link > target/link_
-       LINK=$(cat target/link_)
-    fi
-    ${lib.optionalString (crateBin != "") ''
-    printf "%s\n" "${crateBin}" | head -n1 | tr -s ',' '\n' | while read -r BIN_NAME BIN_PATH; do
+
+
+    ${lib.optionalString (lib.length crateBin > 0) (lib.concatMapStringsSep "\n" (bin: ''
       mkdir -p target/bin
-      # filter empty entries / empty "lines"
-      if [[ -z "$BIN_NAME" ]]; then
-           continue
-      fi
+      BIN_NAME='${bin.name or crateName}'
+      ${if !bin ? path then ''
+        BIN_PATH=""
+        search_for_bin_path "$BIN_NAME"
+      '' else ''
+        BIN_PATH='${bin.path}'
+      ''}
+        ${build_bin} "$BIN_NAME" "$BIN_PATH"
+    '') crateBin)}
+
+    ${lib.optionalString buildTests ''
+    # When tests are enabled build all the files in the `tests` directory as
+    # test binaries.
+    if [ -d tests ]; then
+      # find all the .rs files (or symlinks to those) in the tests directory, no subdirectories
+      find tests -maxdepth 1 \( -type f -o -type l \) -a -name '*.rs' -print0 | while IFS= read -r -d ''' file; do
+        mkdir -p target/bin
+        build_bin_test_file "$file"
+      done
 
-      if [[ -z "$BIN_PATH" ]]; then
-        # heuristic to "guess" the correct source file as found in cargo:
-        # https://github.com/rust-lang/cargo/blob/90fc9f620190d5fa3c80b0c8c65a1e1361e6b8ae/src/cargo/util/toml/targets.rs#L308-L325
-
-        # the first two cases are the "new" default IIRC
-        BIN_NAME_=$(echo $BIN_NAME | sed -e 's/-/_/g')
-        FILES=( "src/bin/$BIN_NAME.rs" "src/bin/$BIN_NAME/main.rs" "src/bin/$BIN_NAME_.rs" "src/bin/$BIN_NAME_/main.rs" "src/bin/main.rs" "src/main.rs" )
-
-        if ! [ -e "${libPath}" -o -e src/lib.rs -o -e "src/${libName}.rs" ]; then
-          # if this is not a library the following path is also valid
-          FILES=( "src/$BIN_NAME.rs" "src/$BIN_NAME_.rs" "''${FILES[@]}" )
-        fi
-
-        for file in "''${FILES[@]}";
-        do
-          echo "checking file $file"
-          # first file that exists wins
-          if [[ -e "$file" ]]; then
-                  BIN_PATH="$file"
-                  break
-          fi
-        done
-
-        if [[ -z "$BIN_PATH" ]]; then
-          echo "failed to find file for binary target: $BIN_NAME" >&2
-          exit 1
-        fi
-      fi
-      build_bin "$BIN_NAME" "$BIN_PATH"
-    done
+      # find all the subdirectories of tests/ that contain a main.rs file as
+      # that is also a test according to cargo
+      find tests/ -mindepth 1 -maxdepth 2 \( -type f -o -type l \) -a -name 'main.rs' -print0 | while IFS= read -r -d ''' file; do
+        mkdir -p target/bin
+        build_bin_test_file "$file"
+      done
+
+    fi
     ''}
 
-    ${lib.optionalString (crateBin == "" && !hasCrateBin) ''
+    # If crateBin is empty and hasCrateBin is not set then we must try to
+    # detect some kind of bin target based on some files that might exist.
+    ${lib.optionalString (lib.length crateBin == 0 && !hasCrateBin) ''
       if [[ -e src/main.rs ]]; then
         mkdir -p target/bin
-        build_bin ${crateName} src/main.rs
+        ${build_bin} ${crateName} src/main.rs
       fi
       for i in src/bin/*.rs; do #*/
         mkdir -p target/bin
-        build_bin "$(basename $i .rs)" "$i"
+        ${build_bin} "$(basename $i .rs)" "$i"
       done
     ''}
     # Remove object files to avoid "wrong ELF type"
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 2a40240671cb..efc538f0fd61 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, mkRustcDepArgs }:
 { build
 , buildDependencies
 , colors
@@ -20,12 +20,12 @@
 , verbose
 , workspace_member }:
 let version_ = lib.splitString "-" crateVersion;
-    versionPre = if lib.tail version_ == [] then "" else builtins.elemAt version_ 1;
-    version = lib.splitString "." (lib.head version_);
-    rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt)
+    versionPre = if lib.tail version_ == [] then "" else lib.elemAt version_ 1;
+    version = lib.splitVersion (lib.head version_);
+    rustcOpts = lib.foldl' (opts: opt: opts + " " + opt)
         (if release then "-C opt-level=3" else "-C debuginfo=2")
         (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
-    buildDeps = makeDeps buildDependencies crateRenames;
+    buildDeps = mkRustcDepArgs buildDependencies crateRenames;
     authors = lib.concatStringsSep ":" crateAuthors;
     optLevel = if release then 3 else 0;
     completeDepsDir = lib.concatStringsSep " " completeDeps;
@@ -90,9 +90,9 @@ in ''
   export HOST="${stdenv.hostPlatform.config}"
   export PROFILE=${if release then "release" else "debug"}
   export OUT_DIR=$(pwd)/target/build/${crateName}.out
-  export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
-  export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
-  export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
+  export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0}
+  export CARGO_PKG_VERSION_MINOR=${lib.elemAt version 1}
+  export CARGO_PKG_VERSION_PATCH=${lib.elemAt version 2}
   export CARGO_PKG_VERSION_PRE="${versionPre}"
   export CARGO_PKG_HOMEPAGE="${crateHomepage}"
   export NUM_JOBS=1
@@ -150,4 +150,3 @@ in ''
   fi
   runHook postConfigure
 ''
-
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
index 6534e21c0f0c..2885b2aef510 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/nixpkgs/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.
@@ -13,60 +13,38 @@ let
       then "macos"
       else stdenv.hostPlatform.parsed.kernel.name;
 
-    makeDeps = dependencies: crateRenames:
-      (lib.concatMapStringsSep " " (dep:
+    # Create rustc arguments to link against the given list of dependencies and
+    # renames
+    mkRustcDepArgs = dependencies: crateRenames:
+      lib.concatMapStringsSep " " (dep:
         let
-          extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName;
-          name = if builtins.hasAttr dep.crateName crateRenames then
+          extern = lib.replaceStrings ["-"] ["_"] dep.libName;
+          name = if lib.hasAttr dep.crateName crateRenames then
             lib.strings.replaceStrings ["-"] ["_"] crateRenames.${dep.crateName}
           else
             extern;
-        in (if lib.lists.any (x: x == "lib") dep.crateType then
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
+        in (if lib.any (x: x == "lib") dep.crateType then
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
          else
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
-      ) dependencies);
-
-    echo_build_heading = colors: ''
-      echo_build_heading() {
-       start=""
-       end=""
-       if [[ "${colors}" == "always" ]]; then
-         start="$(printf '\033[0;1;32m')" #set bold, and set green.
-         end="$(printf '\033[0m')" #returns to "normal"
-       fi
-       if (( $# == 1 )); then
-         echo "$start""Building $1""$end"
-       else
-         echo "$start""Building $1 ($2)""$end"
-       fi
-      }
-    '';
-    noisily = colors: verbose: ''
-      noisily() {
-        start=""
-        end=""
-        if [[ "${colors}" == "always" ]]; then
-          start="$(printf '\033[0;1;32m')" #set bold, and set green.
-          end="$(printf '\033[0m')" #returns to "normal"
-        fi
-	${lib.optionalString verbose ''
-            echo -n "$start"Running "$end"
-            echo $@
-	''}
-	$@
-      }
-    '';
-
-    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; };
-    installCrate = import ./install-crate.nix;
-
-    in
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+      ) dependencies;
+
+   inherit (import ./log.nix { inherit lib; }) noisily echo_build_heading;
+
+   configureCrate = import ./configure-crate.nix {
+     inherit lib stdenv echo_build_heading noisily mkRustcDepArgs;
+   };
+
+   buildCrate = import ./build-crate.nix {
+     inherit lib stdenv echo_build_heading noisily mkRustcDepArgs rust;
+   };
+
+   installCrate = import ./install-crate.nix { inherit stdenv; };
+in
 
 crate_: lib.makeOverridable ({ rust, release, verbose, features, buildInputs, crateOverrides,
   dependencies, buildDependencies, crateRenames,
-  extraRustcOpts,
+  extraRustcOpts, buildTests,
   preUnpack, postUnpack, prePatch, patches, postPatch,
   preConfigure, postConfigure, preBuild, postBuild, preInstall, postInstall }:
 
@@ -77,59 +55,66 @@ let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverr
       "src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
       "buildDependencies" "dependencies" "features" "crateRenames"
       "crateName" "version" "build" "authors" "colors" "edition"
+      "buildTests"
     ];
-    extraDerivationAttrs = lib.filterAttrs (n: v: ! lib.elem n processedAttrs) crate;
+    extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
     buildInputs_ = buildInputs;
     extraRustcOpts_ = extraRustcOpts;
+    buildTests_ = buildTests;
+
+    # take a list of crates that we depend on and override them to fit our overrides, rustc, release, …
+    makeDependencies = map (dep: lib.getLib (dep.override { inherit release verbose crateOverrides; }));
+
+    # crate2nix has a hack for the old bash based build script that did split
+    # entries at `,`. No we have to work around that hack.
+    # https://github.com/kolloch/crate2nix/blame/5b19c1b14e1b0e5522c3e44e300d0b332dc939e7/crate2nix/templates/build.nix.tera#L89
+    crateBin = lib.filter (bin: !(bin ? name && bin.name == ",")) (crate.crateBin or []);
+    hasCrateBin = crate ? crateBin;
 in
 stdenv.mkDerivation (rec {
 
     inherit (crate) crateName;
-    inherit preUnpack postUnpack prePatch patches postPatch preConfigure postConfigure preBuild postBuild preInstall postInstall;
-
-    src = if lib.hasAttr "src" crate then
-        crate.src
-      else
-        fetchCrate { inherit (crate) crateName version sha256; };
-    name = "rust_${crate.crateName}-${crate.version}";
+    inherit
+      preUnpack
+      postUnpack
+      prePatch
+      patches
+      postPatch
+      preConfigure
+      postConfigure
+      preBuild
+      postBuild
+      preInstall
+      postInstall
+      buildTests
+    ;
+
+    src = crate.src or (fetchCrate { inherit (crate) crateName version sha256; });
+    name = "rust_${crate.crateName}-${crate.version}${lib.optionalString buildTests_ "-test"}";
     depsBuildBuild = [ rust stdenv.cc ];
     buildInputs = (crate.buildInputs or []) ++ buildInputs_;
-    dependencies =
-      builtins.map
-        (dep: 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; })
-        buildDependencies_;
-
-    completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
-    completeBuildDeps = lib.lists.unique (
+    dependencies = makeDependencies dependencies_;
+    buildDependencies = makeDependencies buildDependencies_;
+
+    completeDeps = lib.unique (dependencies ++ lib.concatMap (dep: dep.completeDeps) dependencies);
+    completeBuildDeps = lib.unique (
       buildDependencies
-      ++ lib.lists.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
+      ++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
     );
 
-    crateFeatures = if crate ? features then
-        lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features) #"
-      else "";
+    crateFeatures = lib.optionalString (crate ? features)
+      (lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features));
 
     libName = if crate ? libName then crate.libName else crate.crateName;
     libPath = if crate ? libPath then crate.libPath else "";
 
-    depsMetadata = builtins.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
-    metadata = builtins.substring 0 10 (builtins.hashString "sha256" (crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata ));
-
-    crateBin = if crate ? crateBin then
-       builtins.foldl' (bins: bin: let
-            name = (if bin ? name then bin.name else crateName);
-            path = if bin ? path then bin.path else "";
-          in
-          bins + (if bin == "" then "" else ",") + "${name} ${path}"
-
-       ) "" crate.crateBin
-    else "";
-    hasCrateBin = crate ? crateBin;
+    # Seed the symbol hashes with something unique every time.
+    # https://doc.rust-lang.org/1.0.0/rustc/metadata/loader/index.html#frobbing-symbols
+    metadata = let
+      depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
+      hashedMetadata = builtins.hashString "sha256"
+        (crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata);
+      in lib.substring 0 10 hashedMetadata;
 
     build = crate.build or "";
     workspace_member = crate.workspace_member or ".";
@@ -142,9 +127,13 @@ stdenv.mkDerivation (rec {
       if lib.attrByPath ["plugin"] false crate then ["dylib"] else
         (crate.type or ["lib"]);
     colors = lib.attrByPath [ "colors" ] "always" crate;
-    extraLinkFlags = builtins.concatStringsSep " " (crate.extraLinkFlags or []);
+    extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or []);
     edition = crate.edition or null;
-    extraRustcOpts = (if crate ? extraRustcOpts then crate.extraRustcOpts else []) ++ extraRustcOpts_ ++ (lib.optional (edition != null) "--edition ${edition}");
+    extraRustcOpts =
+      lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts
+      ++ extraRustcOpts_
+      ++ (lib.optional (edition != null) "--edition ${edition}");
+
 
     configurePhase = configureCrate {
       inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
@@ -155,10 +144,15 @@ stdenv.mkDerivation (rec {
     buildPhase = buildCrate {
       inherit crateName dependencies
               crateFeatures crateRenames libName release libPath crateType
-              metadata crateBin hasCrateBin verbose colors
-              extraRustcOpts;
+              metadata hasCrateBin crateBin verbose colors
+              extraRustcOpts buildTests;
     };
-    installPhase = installCrate crateName metadata;
+    installPhase = installCrate crateName metadata buildTests;
+
+    # depending on the test setting we are either producing something with bins
+    # and libs or just test binaries
+    outputs = if buildTests then [ "out" ] else [ "out" "lib" ];
+    outputDev = if buildTests then [ "out" ] else  [ "lib" ];
 
 } // extraDerivationAttrs
 )) {
@@ -183,4 +177,5 @@ stdenv.mkDerivation (rec {
   dependencies = crate_.dependencies or [];
   buildDependencies = crate_.buildDependencies or [];
   crateRenames = crate_.crateRenames or {};
+  buildTests = crate_.buildTests or false;
 }
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/helpers.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/helpers.nix
index 14d997b2d5cf..386d0ce7084f 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/helpers.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/helpers.nix
@@ -3,23 +3,23 @@
   kernel = stdenv.hostPlatform.parsed.kernel.name;
   abi = stdenv.hostPlatform.parsed.abi.name;
   cpu = stdenv.hostPlatform.parsed.cpu.name;
-   updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+   updateFeatures = f: up: functions: lib.deepSeq f (lib.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
    mapFeatures = features: map (fun: fun { features = features; });
-   mkFeatures = feat: lib.lists.foldl (features: featureName:
+   mkFeatures = feat: lib.foldl (features: featureName:
      if feat.${featureName} or false then
        [ featureName ] ++ features
      else
        features
-   ) [] (builtins.attrNames feat);
+   ) [] (lib.attrNames feat);
   include = includedFiles: src: builtins.filterSource (path: type:
-     lib.lists.any (f:
+     lib.any (f:
        let p = toString (src + ("/" + f));
        in
        p == path || (lib.strings.hasPrefix (p + "/") path)
      ) includedFiles
   ) src;
   exclude = excludedFiles: src: builtins.filterSource (path: type:
-    lib.lists.all (f:
+    lib.all (f:
        !lib.strings.hasPrefix (toString (src + ("/" + f))) path
     ) excludedFiles
   ) src;
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/install-crate.nix
index 3b0282621ea1..5ba7b69bedc5 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/install-crate.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/install-crate.nix
@@ -1,24 +1,27 @@
-crateName: metadata:
-''
+{ stdenv }:
+crateName: metadata: buildTests:
+if !buildTests then ''
   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
@@ -27,4 +30,22 @@ crateName: metadata:
     fi
   fi
   runHook postInstall
+'' else
+# for tests we just put them all in the output. No execution.
+''
+  runHook preInstall
+
+  mkdir -p $out/tests
+  if [ -e target/bin ]; then
+    find target/bin/ -type f -executable -exec cp {} $out/tests \;
+  fi
+  if [ -e target/lib ]; then
+    find target/lib/ -type f \! -name '*.rlib' \
+      -a \! -name '*${stdenv.hostPlatform.extensions.sharedLibrary}' \
+      -a \! -name '*.d' \
+      -executable \
+      -print0 | xargs --no-run-if-empty --null install --target $out/tests;
+  fi
+
+  runHook postInstall
 ''
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/lib.sh b/nixpkgs/pkgs/build-support/rust/build-rust-crate/lib.sh
new file mode 100644
index 000000000000..d4d9317496f5
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/lib.sh
@@ -0,0 +1,138 @@
+build_lib() {
+  lib_src=$1
+  echo_build_heading $lib_src ${libName}
+
+  noisily rustc \
+    --crate-name $CRATE_NAME \
+    $lib_src \
+    --out-dir target/lib \
+    --emit=dep-info,link \
+    -L dependency=target/deps \
+    --cap-lints allow \
+    $LIB_RUSTC_OPTS \
+    $BUILD_OUT_DIR \
+    $EXTRA_BUILD \
+    $EXTRA_FEATURES \
+    $EXTRA_RUSTC_FLAGS \
+    --color $colors
+
+  EXTRA_LIB=" --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-$metadata.rlib"
+  if [ -e target/deps/lib$CRATE_NAME-$metadata$LIB_EXT ]; then
+     EXTRA_LIB="$EXTRA_LIB --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-$metadata$LIB_EXT"
+  fi
+}
+
+build_bin() {
+  local crate_name=$1
+  local crate_name_=$(echo $crate_name | tr '-' '_')
+  local main_file=""
+
+  if [[ ! -z $2 ]]; then
+    main_file=$2
+  fi
+  echo_build_heading $@
+  noisily rustc \
+    --crate-name $crate_name_ \
+    $main_file \
+    --crate-type bin \
+    $BIN_RUSTC_OPTS \
+    --out-dir target/bin \
+    --emit=dep-info,link \
+    -L dependency=target/deps \
+    $LINK \
+    $EXTRA_LIB \
+    --cap-lints allow \
+    $BUILD_OUT_DIR \
+    $EXTRA_BUILD \
+    $EXTRA_FEATURES \
+    $EXTRA_RUSTC_FLAGS \
+    --color ${colors} \
+
+  if [ "$crate_name_" != "$crate_name" ]; then
+    mv target/bin/$crate_name_ target/bin/$crate_name
+  fi
+}
+
+build_lib_test() {
+    local file="$1"
+    EXTRA_RUSTC_FLAGS="--test $EXTRA_RUSTC_FLAGS" build_lib "$1" "$2"
+}
+
+build_bin_test() {
+    local crate="$1"
+    local file="$2"
+    EXTRA_RUSTC_FLAGS="--test $EXTRA_RUSTC_FLAGS" build_bin "$1" "$2"
+}
+
+build_bin_test_file() {
+    local file="$1"
+    local derived_crate_name="${file//\//_}"
+    derived_crate_name="${derived_crate_name%.rs}"
+    build_bin_test "$derived_crate_name" "$file"
+}
+
+setup_link_paths() {
+  EXTRA_LIB=""
+  if [[ -e target/link_ ]]; then
+    EXTRA_BUILD="$(cat target/link_) $EXTRA_BUILD"
+  fi
+
+  echo "$EXTRA_LINK_SEARCH" | while read i; do
+     if [[ ! -z "$i" ]]; then
+       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 library in $i; do
+         echo "-l $library" >> target/link
+         echo "-l $library" >> target/link.final
+       done
+     fi
+  done
+
+  if [[ -e target/link ]]; then
+     sort -u target/link.final > target/link.final.sorted
+     mv target/link.final.sorted target/link.final
+     sort -u target/link > target/link.sorted
+     mv target/link.sorted target/link
+
+     tr '\n' ' ' < target/link > target/link_
+     LINK=$(cat target/link_)
+  fi
+}
+
+search_for_bin_path() {
+  # heuristic to "guess" the correct source file as found in cargo:
+  # https://github.com/rust-lang/cargo/blob/90fc9f620190d5fa3c80b0c8c65a1e1361e6b8ae/src/cargo/util/toml/targets.rs#L308-L325
+
+  BIN_NAME=$1
+  BIN_NAME_=$(echo $BIN_NAME | tr '-' '_')
+
+  # the first two cases are the "new" default IIRC
+  FILES=( "src/bin/$BIN_NAME.rs" "src/bin/$BIN_NAME/main.rs" "src/bin/$BIN_NAME_.rs" "src/bin/$BIN_NAME_/main.rs" "src/bin/main.rs" "src/main.rs" )
+
+  if ! [ -e "$LIB_PATH" -o -e src/lib.rs -o -e "src/$LIB_NAME.rs" ]; then
+    # if this is not a library the following path is also valid
+    FILES=( "src/$BIN_NAME.rs" "src/$BIN_NAME_.rs" "${FILES[@]}" )
+  fi
+
+  for file in "${FILES[@]}";
+  do
+    echo "checking file $file"
+    # first file that exists wins
+    if [[ -e "$file" ]]; then
+            BIN_PATH="$file"
+            break
+    fi
+  done
+
+  if [[ -z "$BIN_PATH" ]]; then
+    echo "failed to find file for binary target: $BIN_NAME" >&2
+    exit 1
+  fi
+}
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/log.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/log.nix
new file mode 100644
index 000000000000..25181c787e2c
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/log.nix
@@ -0,0 +1,33 @@
+{ lib }:
+{
+  echo_build_heading = colors: ''
+    echo_build_heading() {
+     start=""
+     end=""
+     ${lib.optionalString (colors == "always") ''
+       start="$(printf '\033[0;1;32m')" #set bold, and set green.
+       end="$(printf '\033[0m')" #returns to "normal"
+     ''}
+     if (( $# == 1 )); then
+       echo "$start""Building $1""$end"
+     else
+       echo "$start""Building $1 ($2)""$end"
+     fi
+    }
+  '';
+  noisily = colors: verbose: ''
+    noisily() {
+      start=""
+      end=""
+      ${lib.optionalString (colors == "always") ''
+        start="$(printf '\033[0;1;32m')" #set bold, and set green.
+        end="$(printf '\033[0m')" #returns to "normal"
+      ''}
+  	  ${lib.optionalString verbose ''
+        echo -n "$start"Running "$end"
+        echo $@
+  	  ''}
+  	  $@
+    }
+  '';
+}
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
index 4a90cf442a4d..f0f1ed4d1ebf 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
@@ -29,10 +29,30 @@ let
     }
   '';
 
+  mkTestFile = name: functionName: mkFile name ''
+    #[cfg(test)]
+    #[test]
+    fn ${functionName}() {
+      assert!(true);
+    }
+  '';
+  mkTestFileWithMain = name: functionName: mkFile name ''
+    #[cfg(test)]
+    #[test]
+    fn ${functionName}() {
+      assert!(true);
+    }
+
+    fn main() {}
+  '';
+
+
   mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }";
 
   mkTest = crateArgs: let
-    crate = mkCrate crateArgs;
+    crate = mkCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]);
+    hasTests = crateArgs.buildTests or false;
+    expectedTestOutputs = crateArgs.expectedTestOutputs or null;
     binaries = map (v: ''"${v.name}"'') (crateArgs.crateBin or []);
     isLib = crateArgs ? libName || crateArgs ? libPath;
     crateName = crateArgs.crateName or "nixtestcrate";
@@ -44,16 +64,28 @@ let
       src = mkBinExtern "src/main.rs" libName;
     };
 
-    in runCommand "run-buildRustCrate-${crateName}-test" {
-      nativeBuildInputs = [ crate ];
-    } ''
-      ${lib.concatStringsSep "\n" binaries}
-      ${lib.optionalString isLib ''
-          test -e ${crate}/lib/*.rlib || exit 1
-          ${libTestBinary}/bin/run-test-${crateName}
-      ''}
-      touch $out
-  '';
+    in
+      assert expectedTestOutputs != null -> hasTests;
+      assert hasTests -> expectedTestOutputs != null;
+
+      runCommand "run-buildRustCrate-${crateName}-test" {
+        nativeBuildInputs = [ crate ];
+      } (if !hasTests then ''
+          ${lib.concatStringsSep "\n" binaries}
+          ${lib.optionalString isLib ''
+              test -e ${crate}/lib/*.rlib || exit 1
+              ${libTestBinary}/bin/run-test-${crateName}
+          ''}
+          touch $out
+        '' else ''
+          for file in ${crate}/tests/*; do
+            $file 2>&1 >> $out
+          done
+          set -e
+          ${lib.concatMapStringsSep "\n" (o: "grep '${o}' $out || {  echo 'output \"${o}\" not found in:'; cat $out; exit 23; }") expectedTestOutputs}
+        ''
+      );
+
   in rec {
 
   tests = let
@@ -85,6 +117,71 @@ let
         dependencies = [ (mkCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ];
         crateRenames = { "foo" = "foo_renamed"; };
       };
+      rustLibTestsDefault = {
+        src = mkTestFile "src/lib.rs" "baz";
+        buildTests = true;
+        expectedTestOutputs = [ "test baz ... ok" ];
+      };
+      rustLibTestsCustomLibName = {
+        libName = "test_lib";
+        src = mkTestFile "src/test_lib.rs" "foo";
+        buildTests = true;
+        expectedTestOutputs = [ "test foo ... ok" ];
+      };
+      rustLibTestsCustomLibPath = {
+        libPath = "src/test_path.rs";
+        src = mkTestFile "src/test_path.rs" "bar";
+        buildTests = true;
+        expectedTestOutputs = [ "test bar ... ok" ];
+      };
+      rustLibTestsCustomLibPathWithTests = {
+        libPath = "src/test_path.rs";
+        src = symlinkJoin {
+          name = "rust-lib-tests-custom-lib-path-with-tests-dir";
+          paths = [
+            (mkTestFile "src/test_path.rs" "bar")
+            (mkTestFile "tests/something.rs" "something")
+          ];
+        };
+        buildTests = true;
+        expectedTestOutputs = [
+          "test bar ... ok"
+          "test something ... ok"
+        ];
+      };
+      rustBinTestsCombined = {
+        src = symlinkJoin {
+          name = "rust-bin-tests-combined";
+          paths = [
+            (mkTestFileWithMain "src/main.rs" "src_main")
+            (mkTestFile "tests/foo.rs" "tests_foo")
+            (mkTestFile "tests/bar.rs" "tests_bar")
+          ];
+        };
+        buildTests = true;
+        expectedTestOutputs = [
+          "test src_main ... ok"
+          "test tests_foo ... ok"
+          "test tests_bar ... ok"
+        ];
+      };
+      rustBinTestsSubdirCombined = {
+        src = symlinkJoin {
+          name = "rust-bin-tests-subdir-combined";
+          paths = [
+            (mkTestFileWithMain "src/main.rs" "src_main")
+            (mkTestFile "tests/foo/main.rs" "tests_foo")
+            (mkTestFile "tests/bar/main.rs" "tests_bar")
+          ];
+        };
+        buildTests = true;
+        expectedTestOutputs = [
+          "test src_main ... ok"
+          "test tests_foo ... ok"
+          "test tests_bar ... ok"
+        ];
+      };
+
     };
     brotliCrates = (callPackage ./brotli-crates.nix {});
   in lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases // {
diff --git a/nixpkgs/pkgs/build-support/rust/default.nix b/nixpkgs/pkgs/build-support/rust/default.nix
index 7fb33b9ebfdb..f3e8d52387a6 100644
--- a/nixpkgs/pkgs/build-support/rust/default.nix
+++ b/nixpkgs/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 }:
 
 let
   buildRustPackage =
@@ -6,6 +6,7 @@ let
     , cargoSha256 ? "unset"
     , src ? null
     , srcs ? null
+    , unpackPhase ? null
     , cargoPatches ? []
     , patches ? []
     , sourceRoot ? null
@@ -15,8 +16,12 @@ let
     , cargoUpdateHook ? ""
     , cargoDepsHook ? ""
     , cargoBuildFlags ? []
+    , # Set to true to verify if the cargo dependencies are up to date.
+      # This will change the value of cargoSha256.
+      verifyCargoDeps ? false
     , buildType ? "release"
     , meta ? {}
+    , target ? null
 
     , cargoVendorDir ? null
     , ... } @ args:
@@ -27,7 +32,8 @@ let
     let
       cargoDeps = if cargoVendorDir == null
         then fetchcargo {
-            inherit name src srcs sourceRoot cargoUpdateHook;
+            inherit name src srcs sourceRoot unpackPhase cargoUpdateHook;
+            copyLockfile = verifyCargoDeps;
             patches = cargoPatches;
             sha256 = cargoSha256;
           }
@@ -43,17 +49,13 @@ 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 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++";
       ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
       cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
-      releaseDir = "target/${rustHostConfig}/${buildType}";
+      releaseDir = "target/${rustTarget}/${buildType}";
     in
 
     stdenv.mkDerivation (args // {
@@ -83,20 +85,35 @@ let
           --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."${rustHostConfig}"]
+        [target."${rustTarget}"]
         "linker" = "${ccForHost}"
         ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633
           stdenv.lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) ''
-          "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ]
+        "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ]
         ''}
         ''}
         EOF
 
         unset cargoDepsCopy
         export RUST_LOG=${logLevel}
+      '' + stdenv.lib.optionalString verifyCargoDeps ''
+        if ! diff source/Cargo.lock $cargoDeps/Cargo.lock ; then
+          echo
+          echo "ERROR: cargoSha256 is out of date."
+          echo
+          echo "Cargo.lock is not the same in $cargoDeps."
+          echo
+          echo "To fix the issue:"
+          echo '1. Use "1111111111111111111111111111111111111111111111111111" as the cargoSha256 value'
+          echo "2. Build the derivation and wait it to fail with a hash mismatch"
+          echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field"
+          echo
+
+          exit 1
+        fi
       '' + (args.postUnpack or "");
 
       configurePhase = args.configurePhase or ''
@@ -110,13 +127,13 @@ let
         (
         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 ${rustHostConfig} \
+            --target ${rustTarget} \
             --frozen ${concatStringsSep " " cargoBuildFlags}
         )
 
@@ -132,8 +149,8 @@ let
 
       checkPhase = args.checkPhase or ''
         runHook preCheck
-        echo "Running cargo test"
-        cargo test
+        echo "Running cargo cargo test -- ''${checkFlags} ''${checkFlagsArray+''${checkFlagsArray[@]}}"
+        cargo test -- ''${checkFlags} ''${checkFlagsArray+"''${checkFlagsArray[@]}"}
         runHook postCheck
       '';
 
diff --git a/nixpkgs/pkgs/build-support/rust/fetchcargo.nix b/nixpkgs/pkgs/build-support/rust/fetchcargo.nix
index bc80db0947b0..7a0ba38dce71 100644
--- a/nixpkgs/pkgs/build-support/rust/fetchcargo.nix
+++ b/nixpkgs/pkgs/build-support/rust/fetchcargo.nix
@@ -17,11 +17,20 @@ let cargo-vendor-normalise = stdenv.mkDerivation {
   preferLocalBuild = true;
 };
 in
-{ name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "" }:
-stdenv.mkDerivation {
+{ name ? "cargo-deps"
+, src ? null
+, srcs ? []
+, patches ? []
+, sourceRoot
+, sha256
+, cargoUpdateHook ? ""
+, # whenever to also include the Cargo.lock in the output
+  copyLockfile ? false
+, ...
+} @ args:
+stdenv.mkDerivation ({
   name = "${name}-vendor";
   nativeBuildInputs = [ cacert git cargo-vendor-normalise cargo ];
-  inherit src srcs patches sourceRoot;
 
   phases = "unpackPhase patchPhase installPhase";
 
@@ -37,6 +46,9 @@ stdenv.mkDerivation {
         exit 1
     fi
 
+    # Keep the original around for copyLockfile
+    cp Cargo.lock Cargo.lock.orig
+
     export CARGO_HOME=$(mktemp -d cargo-home.XXX)
     CARGO_CONFIG=$(mktemp cargo-config.XXXX)
 
@@ -52,6 +64,10 @@ stdenv.mkDerivation {
     if ! cmp $CARGO_CONFIG ${./fetchcargo-default-config.toml} > /dev/null; then
       install -D $CARGO_CONFIG $out/.cargo/config;
     fi;
+
+  '' + stdenv.lib.optionalString copyLockfile ''
+    # add the Cargo.lock to allow hash invalidation
+    cp Cargo.lock.orig $out/Cargo.lock
   '';
 
   outputHashAlgo = "sha256";
@@ -60,4 +76,6 @@ stdenv.mkDerivation {
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
   preferLocalBuild = true;
-}
+} // (builtins.removeAttrs args [
+  "name" "sha256" "cargoUpdateHook" "copyLockfile"
+]))
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/audit-tmpdir.sh b/nixpkgs/pkgs/build-support/setup-hooks/audit-tmpdir.sh
index 5264ce398511..c9dd32d1dd22 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/audit-tmpdir.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/audit-tmpdir.sh
@@ -7,7 +7,7 @@
 # the moment that would produce too many spurious errors (e.g. debug
 # info or assertion messages that refer to $TMPDIR).
 
-fixupOutputHooks+=('if [ -z "$noAuditTmpdir" -a -e "$prefix" ]; then auditTmpdir "$prefix"; fi')
+fixupOutputHooks+=('if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi')
 
 auditTmpdir() {
     local dir="$1"
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh b/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
index 6af8eb1aed99..52c50091d08c 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -228,7 +228,7 @@ autoPatchelf() {
 # behaviour as fixupOutputHooks because the setup hook for patchelf is run in
 # fixupOutput and the postFixup hook runs later.
 postFixupHooks+=('
-    if [ -z "$dontAutoPatchelf" ]; then
+    if [ -z "${dontAutoPatchelf-}" ]; then
         autoPatchelf -- $(for output in $outputs; do
             [ -e "${!output}" ] || continue
             echo "${!output}"
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/compress-man-pages.sh b/nixpkgs/pkgs/build-support/setup-hooks/compress-man-pages.sh
index d10a898d6e46..82e48cd8aa77 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/compress-man-pages.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/compress-man-pages.sh
@@ -1,4 +1,4 @@
-fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
+fixupOutputHooks+=('if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi')
 
 compressManPages() {
     local dir="$1"
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/find-xml-catalogs.sh b/nixpkgs/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
index 85364a61f612..f446a6f27fd9 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
@@ -11,12 +11,12 @@ addXMLCatalogs () {
     done
 }
 
-if [ -z "$libxmlHookDone" ]; then
+if [ -z "${libxmlHookDone-}" ]; then
     libxmlHookDone=1
 
     # Set up XML_CATALOG_FILES.  An empty initial value prevents
     # xmllint and xsltproc from looking in /etc/xml/catalog.
-    export XML_CATALOG_FILES
+    export XML_CATALOG_FILES=''
     if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
     addEnvHooks "$hostOffset" addXMLCatalogs
 fi
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh b/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
index 06891893e8c1..8b7012677cd5 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -19,9 +19,6 @@ assertExecutable() {
 #                         the environment
 # --unset       VAR     : remove VAR from the environment
 # --run         COMMAND : run command before the executable
-#                         The command can push extra flags to a magic list
-#                         variable extraFlagsArray, which are then added to
-#                         the invocation of the executable
 # --add-flags   FLAGS   : add FLAGS to invocation of executable
 
 # --prefix          ENV SEP VAL   : suffix/prefix ENV with VAL, separated by SEP
@@ -109,12 +106,8 @@ makeWrapper() {
         fi
     done
 
-    # Note: extraFlagsArray is an array containing additional flags
-    # that may be set by --run actions.
-    # Silence warning about unexpanded extraFlagsArray:
-    # shellcheck disable=SC2016
     echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
-         "$flagsBefore" '"${extraFlagsArray[@]}"' '"$@"' >> "$wrapper"
+         "$flagsBefore" '"$@"' >> "$wrapper"
 
     chmod +x "$wrapper"
 }
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/move-lib64.sh b/nixpkgs/pkgs/build-support/setup-hooks/move-lib64.sh
index 7724be369c9c..9517af797323 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/move-lib64.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/move-lib64.sh
@@ -8,7 +8,7 @@
 fixupOutputHooks+=(_moveLib64)
 
 _moveLib64() {
-    if [ "$dontMoveLib64" = 1 ]; then return; fi
+    if [ "${dontMoveLib64-}" = 1 ]; then return; fi
     if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
     echo "moving $prefix/lib64/* to $prefix/lib"
     mkdir -p $prefix/lib
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/move-sbin.sh b/nixpkgs/pkgs/build-support/setup-hooks/move-sbin.sh
index cc51c27cafdf..1c0c4dc9f2d9 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/move-sbin.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/move-sbin.sh
@@ -5,7 +5,7 @@
 fixupOutputHooks+=(_moveSbin)
 
 _moveSbin() {
-    if [ "$dontMoveSbin" = 1 ]; then return; fi
+    if [ "${dontMoveSbin-}" = 1 ]; then return; fi
     if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
     echo "moving $prefix/sbin/* to $prefix/bin"
     mkdir -p $prefix/bin
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh b/nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh
index d43b18776742..2e95495c96fd 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -9,8 +9,8 @@ _assignFirst() {
     local varName="$1"
     local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name)
     shift
-    while [ $# -ge 1 ]; do
-        if [ -n "${!1}" ]; then eval "${varName}"="$1"; return; fi
+    while (( $# )); do
+        if [ -n "${!1-}" ]; then eval "${varName}"="$1"; return; fi
         shift
     done
     echo "Error: _assignFirst found no valid variant!"
@@ -19,7 +19,7 @@ _assignFirst() {
 
 # Same as _assignFirst, but only if "$1" = ""
 _overrideFirst() {
-    if [ -z "${!1}" ]; then
+    if [ -z "${!1-}" ]; then
         _assignFirst "$@"
     fi
 }
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/patch-shebangs.sh b/nixpkgs/pkgs/build-support/setup-hooks/patch-shebangs.sh
index 3e900d0704cf..29fed7ad7940 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -105,7 +105,7 @@ patchShebangs() {
 }
 
 patchShebangsAuto () {
-    if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then
+    if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then
 
         # Dev output will end up being run on the build platform. An
         # example case of this is sdl2-config. Otherwise, we can just
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/prune-libtool-files.sh b/nixpkgs/pkgs/build-support/setup-hooks/prune-libtool-files.sh
index 5d7432e8f09a..0ec56549645c 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/prune-libtool-files.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/prune-libtool-files.sh
@@ -8,7 +8,7 @@
 fixupOutputHooks+=(_pruneLibtoolFiles)
 
 _pruneLibtoolFiles() {
-    if [ "$dontPruneLibtoolFiles" ] || [ ! -e "$prefix" ]; then
+    if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then
        return
     fi
 
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/set-java-classpath.sh b/nixpkgs/pkgs/build-support/setup-hooks/set-java-classpath.sh
index 5d3548dc2e88..445fa56d61de 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/set-java-classpath.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/setup-hooks/strip.sh b/nixpkgs/pkgs/build-support/setup-hooks/strip.sh
index fc4c7bfbaf95..f5fa9378fd7e 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/strip.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/strip.sh
@@ -10,7 +10,7 @@ _doStrip() {
     local -ra stripCmds=(STRIP TARGET_STRIP)
 
     # Optimization
-    if [[ "$STRIP" == "$TARGET_STRIP" ]]; then
+    if [[ "${STRIP-}" == "${TARGET_STRIP-}" ]]; then
         dontStripTarget+=1
     fi
 
@@ -20,7 +20,7 @@ _doStrip() {
         local -n stripCmd="${stripCmds[$i]}"
 
         # `dontStrip` disables them all
-        if [[ "$dontStrip" || "$flag" ]] || ! type -f "$stripCmd" 2>/dev/null
+        if [[ "${dontStrip-}" || "${flag-}" ]] || ! type -f "${stripCmd-}" 2>/dev/null
         then continue; fi
 
         stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh b/nixpkgs/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
index 66f4e91c7bb6..ebd3afa05d94 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
@@ -1,7 +1,7 @@
 preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase"
 
 updateAutotoolsGnuConfigScriptsPhase() {
-    if [ -n "$dontUpdateAutotoolsGnuConfigScripts" ]; then return; fi
+    if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then return; fi
 
     for script in config.sub config.guess; do
         for f in $(find . -type f -name "$script"); do
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
index 906b1db9d10e..ff0cda7eaf0d 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
@@ -1,14 +1,21 @@
+# shellcheck shell=bash
 gappsWrapperArgs=()
 
 find_gio_modules() {
-    if [ -d "$1"/lib/gio/modules ] && [ -n "$(ls -A $1/lib/gio/modules)" ] ; then
+    if [ -d "$1/lib/gio/modules" ] && [ -n "$(ls -A "$1/lib/gio/modules")" ] ; then
         gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$1/lib/gio/modules")
     fi
 }
 
-addEnvHooks "$targetOffset" find_gio_modules
+addEnvHooks "${targetOffset:?}" find_gio_modules
 
-# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
+wrapGApp() {
+    local program="$1"
+    shift 1
+    wrapProgram "$program" "${gappsWrapperArgs[@]}" "$@"
+}
+
+# Note: $gappsWrapperArgs still gets defined even if ${dontWrapGApps-} is set.
 wrapGAppsHook() {
   # guard against running multiple times (e.g. due to propagation)
   [ -z "$wrapGAppsHookHasRun" ] || return 0
@@ -26,20 +33,21 @@ wrapGAppsHook() {
     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH")
   fi
 
-  if [ -d "$prefix/share" ]; then
+  if [ -d "${prefix:?}/share" ]; then
     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share")
   fi
 
-  if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A $prefix/lib/gio/modules)" ] ; then
+  if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A "$prefix/lib/gio/modules")" ] ; then
     gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules")
   fi
 
-  for v in $wrapPrefixVariables GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
-    eval local dummy="\$$v"
-    gappsWrapperArgs+=(--prefix $v : "$dummy")
+  for v in ${wrapPrefixVariables:-} GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
+    if [ -n "${!v}" ]; then
+      gappsWrapperArgs+=(--prefix "$v" : "${!v}")
+    fi
   done
 
-  if [[ -z "$dontWrapGApps" ]]; then
+  if [[ -z "${dontWrapGApps:-}" ]]; then
     targetDirsThatExist=()
     targetDirsRealPath=()
 
@@ -52,7 +60,7 @@ wrapGAppsHook() {
         find "${targetDir}" -type f -executable -print0 \
           | while IFS= read -r -d '' file; do
           echo "Wrapping program '${file}'"
-          wrapProgram "${file}" "${gappsWrapperArgs[@]}"
+          wrapGApp "${file}"
         done
       fi
     done
@@ -71,7 +79,7 @@ wrapGAppsHook() {
           fi
         done
         echo "Wrapping link: '$linkPath'"
-        wrapProgram "${linkPath}" "${gappsWrapperArgs[@]}"
+        wrapGApp "${linkPath}"
       done
     fi
   fi
diff --git a/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
index ce32279710e2..9e4456a3a151 100644
--- a/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
@@ -18,16 +18,15 @@ in {
 , configureFlags
   # mostly for moving and deleting files from the build directory
   # : lines
-, postInstall
-  # packages with setup hooks that should be run
-  # (see definition of `makeSetupHook`)
-  # : list drv
-, setupHooks ? []
+, postInstall ? ""
+  # : lines
+, postFixup ? ""
   # : list Maintainer
 , maintainers ? []
-
-
-}:
+  # : attrs
+, meta ? {}
+, ...
+} @ args:
 
 let
 
@@ -54,21 +53,15 @@ let
     "README.*"
   ];
 
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
+in stdenv.mkDerivation ({
   src = fetchurl {
     url = "https://skarnet.org/software/${pname}/${pname}-${version}.tar.gz";
     inherit sha256;
   };
 
-  inherit outputs;
-
   dontDisableStatic = true;
   enableParallelBuilding = true;
 
-  nativeBuildInputs = setupHooks;
-
   configureFlags = configureFlags ++ [
     "--enable-absolute-paths"
     (if stdenv.isDarwin
@@ -90,13 +83,11 @@ in stdenv.mkDerivation {
        noiseFiles = commonNoiseFiles;
        docFiles = commonMetaFiles;
      }} $doc/share/doc/${pname}
-
-    ${postInstall}
-  '';
+  '' + postInstall;
 
   postFixup = ''
     ${cleanPackaging.checkForRemainingFiles}
-  '';
+  '' + postFixup;
 
   meta = {
     homepage = "https://skarnet.org/software/${pname}/";
@@ -104,6 +95,9 @@ in stdenv.mkDerivation {
     license = stdenv.lib.licenses.isc;
     maintainers = with lib.maintainers;
       [ pmahoney Profpatsch ] ++ maintainers;
-  };
+  } // meta;
 
-}
+} // builtins.removeAttrs args [
+  "sha256" "configureFlags" "postInstall" "postFixup"
+  "meta" "description" "platforms"  "maintainers"
+])
diff --git a/nixpkgs/pkgs/build-support/trivial-builders.nix b/nixpkgs/pkgs/build-support/trivial-builders.nix
index 55df09121b42..5210b7d7ba20 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders.nix
@@ -2,11 +2,16 @@
 
 let
 
-  runCommand' = stdenv: name: env: buildCommand:
+  runCommand' = runLocal: stdenv: name: env: buildCommand:
     stdenv.mkDerivation ({
       inherit name buildCommand;
       passAsFile = [ "buildCommand" ];
-    } // env);
+    }
+    // (lib.optionalAttrs runLocal {
+          preferLocalBuild = true;
+          allowSubstitutes = false;
+       })
+    // env);
 
 in
 
@@ -21,11 +26,27 @@ rec {
   * runCommand "name" {envVariable = true;} ''echo hello > $out''
   * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior
   * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
+  *
+  * The `*Local` variants force a derivation to be built locally,
+  * it is not substituted.
+  *
+  * This is intended for very cheap commands (<1s execution time).
+  * It saves on the network roundrip and can speed up a build.
+  *
+  * It is the same as adding the special fields
+  * `preferLocalBuild = true;`
+  * `allowSubstitutes = false;`
+  * to a derivation’s attributes.
   */
   runCommand = runCommandNoCC;
-  runCommandNoCC = runCommand' stdenvNoCC;
-  runCommandCC = runCommand' stdenv;
+  runCommandLocal = runCommandNoCCLocal;
+
+  runCommandNoCC = runCommand' false stdenvNoCC;
+  runCommandNoCCLocal = runCommand' true stdenvNoCC;
 
+  runCommandCC = runCommand' false stdenv;
+  # `runCommandCCLocal` left out on purpose.
+  # We shouldn’t force the user to have a cc in scope.
 
   /* Writes a text file to the nix store.
    * The contents of text is added to the file in the store.
diff --git a/nixpkgs/pkgs/build-support/vm/default.nix b/nixpkgs/pkgs/build-support/vm/default.nix
index 335cab7c45e1..a7050f52e521 100644
--- a/nixpkgs/pkgs/build-support/vm/default.nix
+++ b/nixpkgs/pkgs/build-support/vm/default.nix
@@ -430,7 +430,7 @@ rec {
         set +o pipefail
         for i in $rpms; do
             echo "$i..."
-            ${rpm}/bin/rpm2cpio "$i" | chroot /mnt ${cpio}/bin/cpio -i --make-directories --unconditional --extract-over-symlinks
+            ${rpm}/bin/rpm2cpio "$i" | chroot /mnt ${cpio}/bin/cpio -i --make-directories --unconditional
         done
 
         eval "$preInstall"
diff --git a/nixpkgs/pkgs/build-support/vm/windows/default.nix b/nixpkgs/pkgs/build-support/vm/windows/default.nix
index 48ee2713d1f6..309241c36dee 100644
--- a/nixpkgs/pkgs/build-support/vm/windows/default.nix
+++ b/nixpkgs/pkgs/build-support/vm/windows/default.nix
@@ -20,8 +20,7 @@ let
   '';
 
 in {
-  runInWindowsVM = drv: let
-  in pkgs.lib.overrideDerivation drv (attrs: let
+  runInWindowsVM = drv: pkgs.lib.overrideDerivation drv (attrs: let
     bootstrap = bootstrapper attrs.windowsImage;
   in {
     requiredSystemFeatures = [ "kvm" ];
diff --git a/nixpkgs/pkgs/build-support/writers/default.nix b/nixpkgs/pkgs/build-support/writers/default.nix
index 8dbe0dbdbd03..b90c6490e4a6 100644
--- a/nixpkgs/pkgs/build-support/writers/default.nix
+++ b/nixpkgs/pkgs/build-support/writers/default.nix
@@ -92,13 +92,15 @@ rec {
         PATH=${makeBinPath [
           pkgs.binutils-unwrapped
           pkgs.coreutils
+          pkgs.findutils
           pkgs.gcc
           pkgs.pkgconfig
         ]}
+        export PKG_CONFIG_PATH=${concatMapStringsSep ":" (pkg: "${pkg}/lib/pkgconfig") libraries}
         gcc \
             ${optionalString (libraries != [])
               "$(pkg-config --cflags --libs ${
-                concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgsconfig -name \*.pc -exec basename {} \;)") libraries
+                concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgconfig -name \\*.pc)") libraries
               })"
             } \
             -O \
@@ -146,6 +148,7 @@ rec {
         cp $contentPath tmp.hs
         ${ghc.withPackages (_: libraries )}/bin/ghc tmp.hs
         mv tmp $out
+        ${pkgs.binutils-unwrapped}/bin/strip --strip-unneeded "$out"
       '';
     } name;
 
diff --git a/nixpkgs/pkgs/build-support/writers/test.nix b/nixpkgs/pkgs/build-support/writers/test.nix
index d7c347a559ef..3cd0a080ae8f 100644
--- a/nixpkgs/pkgs/build-support/writers/test.nix
+++ b/nixpkgs/pkgs/build-support/writers/test.nix
@@ -1,4 +1,16 @@
-{ stdenv, lib, runCommand, haskellPackages, nodePackages, perlPackages, python2Packages, python3Packages, writers, writeText }:
+{
+  glib,
+  haskellPackages,
+  lib,
+  nodePackages,
+  perlPackages,
+  python2Packages,
+  python3Packages,
+  runCommand,
+  stdenv,
+  writers,
+  writeText
+}:
 with writers;
 let
 
@@ -49,9 +61,11 @@ let
     python2 = writePython2Bin "test_writers" { libraries = [ python2Packages.enum ]; } ''
       from enum import Enum
 
+
       class Test(Enum):
           a = "success"
 
+
       print Test.a
     '';
 
@@ -70,9 +84,19 @@ let
      if [[ "test" == "test" ]]; then echo "success"; fi
     '';
 
-    c = writeC "test_c" { libraries = [ ]; } ''
+    c = writeC "test_c" { libraries = [ glib.dev ]; } ''
+      #include <gio/gio.h>
       #include <stdio.h>
       int main() {
+        GApplication *application = g_application_new ("hello.world", G_APPLICATION_FLAGS_NONE);
+        g_application_register (application, NULL, NULL);
+        GNotification *notification = g_notification_new ("Hello world!");
+        g_notification_set_body (notification, "This is an example notification.");
+        GIcon *icon = g_themed_icon_new ("dialog-information");
+        g_notification_set_icon (notification, icon);
+        g_object_unref (icon);
+        g_object_unref (notification);
+        g_object_unref (application);
         printf("success\n");
         return 0;
       }
@@ -112,9 +136,11 @@ let
     python2 = writePython2 "test_python2" { libraries = [ python2Packages.enum ]; } ''
       from enum import Enum
 
+
       class Test(Enum):
           a = "success"
 
+
       print Test.a
     '';
 
diff --git a/nixpkgs/pkgs/common-updater/scripts/update-source-version b/nixpkgs/pkgs/common-updater/scripts/update-source-version
index 591ffa6ca5ba..d051a0f75c13 100755
--- a/nixpkgs/pkgs/common-updater/scripts/update-source-version
+++ b/nixpkgs/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/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix b/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix
index 4bdfa70c63ff..a47ec9ea7909 100644
--- a/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/documentation/man-pages/default.nix b/nixpkgs/pkgs/data/documentation/man-pages/default.nix
index 8b0696408e63..b4435fb911fa 100644
--- a/nixpkgs/pkgs/data/documentation/man-pages/default.nix
+++ b/nixpkgs/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "5.02";
+  version = "5.04";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2";
+    sha256 = "1bx4ws24bjq6iyfyilg7aih5f0qrhy9l97ksrwcd4yxvjh8gn13x";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/nixpkgs/pkgs/data/fonts/babelstone-han/default.nix b/nixpkgs/pkgs/data/fonts/babelstone-han/default.nix
index 5408e7b1b1d1..0d46fc92d5f2 100644
--- a/nixpkgs/pkgs/data/fonts/babelstone-han/default.nix
+++ b/nixpkgs/pkgs/data/fonts/babelstone-han/default.nix
@@ -1,20 +1,20 @@
 { lib, fetchzip }:
 
 let
-  version = "12.1.4";
+  version = "12.1.7";
 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
   '';
-  sha256 = "1fypwk2i87jfrckvxg9wz4x84z7c6ifgzrjb8fylhac50lzi6kni";
+  sha256 = "07liv0lmk28ybxccf91gp2wmc17pk3fcshixpj0jx069b64zwf1v";
 
   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/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix b/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
index 4403d690a16d..4c3459d0f114 100644
--- a/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -33,6 +33,6 @@ in stdenv.mkDerivation rec {
     description = "Default typeface used in the user interface of GNOME since version 3.0";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.ofl;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
index ddb214c49e1a..c89d4c6dfd47 100644
--- a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "cascadia-code";
-  version = "1909.16";
+  version = "1911.21";
 in
 fetchurl {
   name = "${pname}-${version}";
@@ -15,7 +15,7 @@ fetchurl {
     install -Dm444 $downloadedFile $out/share/fonts/truetype/Cascadia.ttf
   '';
 
-  sha256 = "0nckczvak3pd1h3fiz0j827pm87px9swx60q07lc2jnjlxcghgl2";
+  sha256 = "0b41xkpqx4ybpw5ar8njy0yznbk0hwf1ypigxf8f16chsfim7dkr";
 
   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/nixpkgs/pkgs/data/fonts/cherry/default.nix b/nixpkgs/pkgs/data/fonts/cherry/default.nix
index 6d1c4b10c91a..00a8a2f61fcc 100644
--- a/nixpkgs/pkgs/data/fonts/cherry/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cherry/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, bdftopcf }:
+{ stdenv, fetchFromGitHub, fonttosfnt, mkfontdir }:
 
 stdenv.mkDerivation rec {
   pname = "cherry";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "turquoise-hexagon";
     repo = pname;
     rev = version;
-    sha256 = "1zaiqspf6y0hpszhihdsvsyw33d3ffdap4dym7w45wfrhdpvpi0p";
+    sha256 = "13zkxwp6r6kcxv4x459vwscr0n0sik4a3kcz5xnmlpvcdnbxi586";
   };
 
-  nativeBuildInputs = [ bdftopcf ];
+  nativeBuildInputs = [ fonttosfnt mkfontdir ];
 
   buildPhase = ''
     patchShebangs make.sh
@@ -20,7 +20,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/share/fonts/misc
-    cp *.pcf $out/share/fonts/misc
+    cp *.otb $out/share/fonts/misc
+
+    # create fonts.dir so NixOS xorg module adds to fp
+    mkfontdir $out/share/fonts/misc
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
index 2615d0260f0d..6dcefe900556 100644
--- a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
+++ b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "2.2";
+  version = "2.3";
 in fetchzip rec {
   name = "comic-neue-${version}";
 
@@ -9,15 +9,15 @@ in fetchzip rec {
 
   postFetch = ''
     mkdir -vp $out/share/{doc,fonts}
-    unzip -j $downloadedFile comic-neue-2.2/\*.otf   -d $out/share/fonts/opentype
-    unzip -j $downloadedFile comic-neue-2.2/\*.ttf   -d $out/share/fonts/truetype
-    unzip -j $downloadedFile comic-neue-2.2/\*.eot   -d $out/share/fonts/EOT
-    unzip -j $downloadedFile comic-neue-2.2/\*.woff  -d $out/share/fonts/WOFF
-    unzip -j $downloadedFile comic-neue-2.2/\*.woff2 -d $out/share/fonts/WOFF2
-    unzip -j $downloadedFile comic-neue-2.2/\*.pdf comic-neue-2.2/FONTLOG.txt comic-neue-2.2/OFL-FAQ.txt comic-neue-2.2/SIL-License.txt -d $out/share/doc/${name}
+    unzip -j $downloadedFile OTF/\*.otf   -d $out/share/fonts/opentype
+    unzip -j $downloadedFile Web/\*.ttf   -d $out/share/fonts/truetype
+    unzip -j $downloadedFile Web/\*.eot   -d $out/share/fonts/EOT
+    unzip -j $downloadedFile Web/\*.woff  -d $out/share/fonts/WOFF
+    unzip -j $downloadedFile Web/\*.woff2 -d $out/share/fonts/WOFF2
+    unzip -j $downloadedFile \*.pdf FONTLOG.txt OFL-FAQ.txt SIL-License.txt -d $out/share/doc/${name}
   '';
 
-  sha256 = "1yypq5aqqzv3q1c6vx5130mi2iwihzzvrawhwqpwsfjl0p25sq9q";
+  sha256 = "1gs4vhys0m3qsw06qaxzyi81f06w5v66kbyl64yw3pq2rb656779";
 
   meta = with lib; {
     homepage = http://comicneue.com/;
diff --git a/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix b/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
index 38a2d8fe56ca..b14ba6479d9b 100644
--- a/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -35,7 +35,7 @@ let
       sha256 = "1xknlg2h287dx34v2n5r33bpcl4biqf0cv7nak657rjki7s0k4bk";
     };
 
-    buildFlags = "full-ttf";
+    buildFlags = [ "full-ttf" ];
 
     preBuild = "patchShebangs scripts";
 
diff --git a/nixpkgs/pkgs/data/fonts/fantasque-sans-mono/default.nix b/nixpkgs/pkgs/data/fonts/fantasque-sans-mono/default.nix
index 5b982dcaa3e6..156db5d214ca 100644
--- a/nixpkgs/pkgs/data/fonts/fantasque-sans-mono/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/gohufont/default.nix b/nixpkgs/pkgs/data/fonts/gohufont/default.nix
index 1f861afcf83f..e4e9954d1187 100644
--- a/nixpkgs/pkgs/data/fonts/gohufont/default.nix
+++ b/nixpkgs/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";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     # convert bdf to psf fonts
     build=$(pwd)
     mkdir psf
-    cd ${bdf2psf}/usr/share/bdf2psf
+    cd ${bdf2psf}/share/bdf2psf
     for i in $bdf/*.bdf; do
       bdf2psf \
         --fb "$i" standard.equivalents \
@@ -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/nixpkgs/pkgs/data/fonts/gubbi/default.nix b/nixpkgs/pkgs/data/fonts/gubbi/default.nix
new file mode 100644
index 000000000000..2d1c520e6103
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/gubbi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, fontforge }:
+
+stdenv.mkDerivation rec {
+  pname = "gubbi-font";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "aravindavk";
+    repo = "gubbi";
+    rev = "v${version}";
+    sha256 = "10w9i3pmjvs1b3xclrgn4q5a95ss4ipldbxbqrys2dmfivx7i994";
+  };
+
+  nativeBuildInputs = [ fontforge ];
+
+  dontConfigure = true;
+
+  preBuild = "patchShebangs generate.pe";
+
+  installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Gubbi.ttf";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "A Kannada font";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix b/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
index 7401c5694624..ffd6a49be5c8 100644
--- a/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "2.0.0";
+  version = "4.0.2";
 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 = "0m4paww4349d37s7j20a00hp514p1jq54xrnz45wyrafb8pkah4g";
+  sha256 = "1v00y1l9sjcv9w8d3115w1vv1b7bgwbrv4d3zv68galk8wz8px1x";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/nixpkgs/pkgs/data/fonts/input-fonts/default.nix b/nixpkgs/pkgs/data/fonts/input-fonts/default.nix
index 3bc836fa4e48..c3d3bf4aa6a0 100644
--- a/nixpkgs/pkgs/data/fonts/input-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/inter/default.nix b/nixpkgs/pkgs/data/fonts/inter/default.nix
index 33e7283147ac..83779e7618eb 100644
--- a/nixpkgs/pkgs/data/fonts/inter/default.nix
+++ b/nixpkgs/pkgs/data/fonts/inter/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.10";
+  version = "3.11";
 in fetchzip {
   name = "inter-${version}";
 
@@ -12,7 +12,7 @@ in fetchzip {
     unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "029fjpgdml8qx2cqn4rnh2xm3z4cnh74jlzjb8pbfm2azsnvi6r1";
+  sha256 = "1bk4q478jy84ylgm1mmh23n8cw1cd3k7gvfih77sd7ya1zv26vl1";
 
   meta = with lib; {
     homepage = https://rsms.me/inter/;
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
index 962769b81445..cbe4b25bd360 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "2.3.0";
+  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 = "0nry6zsmvcj44rijhbvrry84rh5hrixzb4n1mx9c27vvpy33a56w";
+  sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl";
 
   meta = with stdenv.lib; {
     homepage = https://be5invis.github.io/Iosevka/;
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/default.nix b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
index a1461032f1b8..e21110658261 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/default.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, pkgs, fetchFromGitHub
-, nodejs, nodePackages, remarshal, ttfautohint-nox, otfcc
+{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal
+, ttfautohint-nox, otfcc
 
 # Custom font set options.
 # See https://github.com/be5invis/Iosevka#build-your-own-style
@@ -13,27 +13,30 @@
 #   ];
 # };
 , privateBuildPlan ? null
-# Extra parameters. Can be used for ligature mapping.
+  # Extra parameters. Can be used for ligature mapping.
+  # It must be a raw toml string.
+  #
+  # Ex:
+  # [[iosevka.compLig]]
+  # unicode = 57808 # 0xe1d0
+  # featureTag = 'XHS0'
+  # sequence = "+>"
 , extraParameters ? null
-# Custom font set name. Required if any custom settings above.
-, set ? null
-}:
+  # Custom font set name. Required if any custom settings above.
+, set ? null }:
 
 assert (privateBuildPlan != null) -> set != null;
 
 stdenv.mkDerivation rec {
-  pname =
-    if set != null
-    then "iosevka-${set}"
-    else "iosevka";
+  pname = if set != null then "iosevka-${set}" else "iosevka";
 
-  version = "2.3.0";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "Iosevka";
     rev = "v${version}";
-    sha256 = "1qnbxhx9wvij9zia226mc3sy8j7bfsw5v1cvxvsbbwjskwqdamvv";
+    sha256 = "0k7xij473g5g0lwhb6qpn70v3n2d025dww3nlb7jwbpnp03zliz0";
   };
 
   nativeBuildInputs = [
@@ -44,9 +47,10 @@ stdenv.mkDerivation rec {
     ttfautohint-nox
   ];
 
-  privateBuildPlanJSON = builtins.toJSON { buildPlans.${pname} = privateBuildPlan; };
-  extraParametersJSON = builtins.toJSON { ${pname} = extraParameters; };
-  passAsFile = [ "privateBuildPlanJSON" "extraParametersJSON" ];
+  privateBuildPlanJSON =
+    builtins.toJSON { buildPlans.${pname} = privateBuildPlan; };
+  inherit extraParameters;
+  passAsFile = [ "privateBuildPlanJSON" "extraParameters" ];
 
   configurePhase = ''
     runHook preConfigure
@@ -55,9 +59,11 @@ stdenv.mkDerivation rec {
     ''}
     ${lib.optionalString (extraParameters != null) ''
       echo -e "\n" >> parameters.toml
-      remarshal -i "$extraParametersJSONPath" -if json -of toml >> parameters.toml
+      cat "$extraParametersPath" >> parameters.toml
     ''}
-    ln -s ${nodePackages."iosevka-build-deps-../../data/fonts/iosevka"}/lib/node_modules/iosevka-build-deps/node_modules .
+    ln -s ${
+      nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
+    }/lib/node_modules/iosevka-build-deps/node_modules .
     runHook postConfigure
   '';
 
@@ -76,8 +82,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://be5invis.github.io/Iosevka;
-    downloadPage = https://github.com/be5invis/Iosevka/releases;
+    homepage = "https://be5invis.github.io/Iosevka";
+    downloadPage = "https://github.com/be5invis/Iosevka/releases";
     description = ''
       Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
       Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/package.json b/nixpkgs/pkgs/data/fonts/iosevka/package.json
index ae162a975382..8faa397576b1 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/package.json
+++ b/nixpkgs/pkgs/data/fonts/iosevka/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "iosevka-build-deps",
-	"version": "2.3.0",
+	"version": "2.3.3",
 	"scripts": {
 		"build": "verda -f verdafile.js"
 	},
@@ -15,12 +15,12 @@
 		"patrisika-scopes": "^0.11.1",
 		"primitive-quadify-off-curves": "^0.4.0",
 		"stylus": "^0.54.5",
-		"toml": "^2.3.2",
+		"toml": "^3.0.0",
 		"topsort": "0.0.2",
 		"ttf2woff": "^2.0.1",
 		"ttf2woff2": "^2.0.3",
-		"unorm": "^1.4.1",
+		"unorm": "^1.6.0",
 		"verda": "^1.0.0-0",
-		"yargs": "^12.0.0"
+		"yargs": "^14.2.0"
 	}
 }
diff --git a/nixpkgs/pkgs/data/fonts/liberation-sans-narrow/default.nix b/nixpkgs/pkgs/data/fonts/liberation-sans-narrow/default.nix
index 4a14e095cf05..51af6a20baea 100644
--- a/nixpkgs/pkgs/data/fonts/liberation-sans-narrow/default.nix
+++ b/nixpkgs/pkgs/data/fonts/liberation-sans-narrow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fontforge, pythonPackages, python }:
+{ stdenv, fetchFromGitHub, fontforge, python3Packages, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "liberation-sans-narrow";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1qw554jbdnqkg6pjjl4cqkgsalq3398kzvww2naw30vykcz752bm";
   };
 
-  buildInputs = [ fontforge pythonPackages.fonttools python ];
+  buildInputs = [ fontforge python3Packages.fonttools python3 ];
 
   installPhase = ''
     find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
diff --git a/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix b/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
index 1c36d0f57fe4..201b0dfe417c 100644
--- a/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
+++ b/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "3.3.92";
+  version = "4.7.95";
 in fetchFromGitHub {
   name = "material-design-icons-${version}";
   owner  = "Templarian";
@@ -10,14 +10,13 @@ in fetchFromGitHub {
 
   postFetch = ''
     tar xf $downloadedFile --strip=1
-    mkdir -p $out/share/fonts/{eot,svg,truetype,woff,woff2}
+    mkdir -p $out/share/fonts/{eot,truetype,woff,woff2}
     cp fonts/*.eot $out/share/fonts/eot/
-    cp fonts/*.svg $out/share/fonts/svg/
     cp fonts/*.ttf $out/share/fonts/truetype/
     cp fonts/*.woff $out/share/fonts/woff/
     cp fonts/*.woff2 $out/share/fonts/woff2/
   '';
-  sha256 = "0dbm4qfd0b91yrw3cv4i377pnm98fgj936nk1m5wlx8mx8jahz48";
+  sha256 = "0da92kz8ryy60kb5xm52md13w28ih4sfap8g3v9b4ziyww66zjhz";
 
   meta = with lib; {
     description = "3200+ Material Design Icons from the Community";
diff --git a/nixpkgs/pkgs/data/fonts/monoid/default.nix b/nixpkgs/pkgs/data/fonts/monoid/default.nix
index 06fb7499b81b..22714170fa4b 100644
--- a/nixpkgs/pkgs/data/fonts/monoid/default.nix
+++ b/nixpkgs/pkgs/data/fonts/monoid/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, python, fontforge }:
+{ stdenv, fetchFromGitHub, python2 }:
+# Python 3 support requires https://github.com/larsenwork/monoid/pull/233 to be merged
 
 stdenv.mkDerivation {
   pname = "monoid";
@@ -11,7 +12,11 @@ stdenv.mkDerivation {
     sha256 = "07h5q6cn6jjpmxp9vyag1bxx481waz344sr2kfs7d37bba8yjydj";
   };
 
-  nativeBuildInputs = [ python fontforge ];
+  nativeBuildInputs = [
+    (python2.withPackages (pp: with pp; [
+      fontforge
+    ]))
+  ];
 
   buildPhase = ''
     local _d=""
diff --git a/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix b/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
index 59b0f89e45ed..454cbc092810 100644
--- a/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, bash, which, withFont ? "" }:
+{ stdenv, fetchFromGitHub, which, withFont ? "" }:
 
 stdenv.mkDerivation rec {
   version = "2.0.0";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   dontPatchShebangs = true;
   buildInputs = [ which ];
   patchPhase = ''
-    sed -i -e 's|/bin/bash|${bash}/bin/bash|g' install.sh
+    patchShebangs install.sh
     sed -i -e 's|font_dir="\$HOME/.local/share/fonts|font_dir="$out/share/fonts/truetype|g' install.sh
   '';
   installPhase = ''
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
index 1acc2abfcc88..1f4e9cbeef70 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, fetchFromGitHub, optipng, cairo, pythonPackages, pkgconfig, pngquant, which, imagemagick }:
+{ stdenv, fetchzip, fetchFromGitHub, optipng, cairo, python3Packages, pkgconfig, pngquant, which, imagemagick }:
 
 let
   mkNoto = { name, weights, sha256, }:
@@ -93,20 +93,22 @@ in
       maintainers = with maintainers; [ mathnerd314 ];
     };
   };
-  noto-fonts-emoji = let version = "2018-08-10-unicode11"; in stdenv.mkDerivation {
+  noto-fonts-emoji = let
+    version = "unstable-2019-10-22";
+  in stdenv.mkDerivation {
     pname = "noto-fonts-emoji";
     inherit version;
 
     src = fetchFromGitHub {
       owner = "googlei18n";
       repo = "noto-emoji";
-      rev = "v${version}";
-      sha256 = "1y54zsvwf5pqhcd9cl2zz5l52qyswn6kycvrq03zm5kqqsngbw3p";
+      rev = "018aa149d622a4fea11f01c61a7207079da301bc";
+      sha256 = "0qmnnjpp5lza6g5m3ki6hj46p891h9vl42k3acd0qw8i0jj5yn2c";
     };
 
     buildInputs = [ cairo ];
     nativeBuildInputs = [ pngquant optipng which cairo pkgconfig imagemagick ]
-                     ++ (with pythonPackages; [ python fonttools nototools ]);
+                     ++ (with python3Packages; [ python fonttools nototools ]);
 
     postPatch = ''
       sed -i 's,^PNGQUANT :=.*,PNGQUANT := ${pngquant}/bin/pngquant,' Makefile
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
index f4c36f34074c..d91ace35e2c8 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
@@ -1,28 +1,45 @@
-{ fetchFromGitHub, pythonPackages, lib }:
+{ fetchFromGitHub, lib, fetchpatch, buildPythonPackage, isPy3k, fonttools, numpy, pillow, six, bash }:
 
-pythonPackages.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "nototools";
-  version = "unstable-2019-03-20";
+  version = "unstable-2019-10-21";
 
   src = fetchFromGitHub {
     owner = "googlefonts";
     repo = "nototools";
-    rev = "9c4375f07c9adc00c700c5d252df6a25d7425870";
-    sha256 = "0z9i23vl6xar4kvbqbc8nznq3s690mqc5zfv280l1c02l5n41smc";
+    rev = "cae92ce958bee37748bf0602f5d7d97bb6db98ca";
+    sha256 = "1jqr0dz23rjqiyxw1w69l6ry16dwdcf3c6cysiy793g2v7pir2yi";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ fonttools numpy ];
+  propagatedBuildInputs = [ fonttools numpy ];
+
+  patches = lib.optionals isPy3k [
+    # Additional Python 3 compat https://github.com/googlefonts/nototools/pull/497
+    (fetchpatch {
+      url = https://github.com/googlefonts/nototools/commit/ded1f311b3260f015b5c5b80f05f7185392c4eff.patch;
+      sha256 = "0bn0rlbddxicw0h1dnl0cibgj6xjalja2qcm563y7kk3z5cdwhgq";
+    })
+  ];
 
   postPatch = ''
     sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
   '';
 
+  checkInputs = [
+    pillow six bash
+  ];
+
+  checkPhase = ''
+    patchShebangs tests/
+    cd tests
+    rm gpos_diff_test.py # needs ttxn?
+    ./run_tests
+  '';
+
   postInstall = ''
     cp -r third_party $out
   '';
 
-  disabled = pythonPackages.isPy3k;
-
   meta = {
     description = "Noto fonts support tools and scripts plus web site generation";
     license = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/data/fonts/overpass/default.nix b/nixpkgs/pkgs/data/fonts/overpass/default.nix
index 4730a67e290c..1d0cf04d7569 100644
--- a/nixpkgs/pkgs/data/fonts/overpass/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/public-sans/default.nix b/nixpkgs/pkgs/data/fonts/public-sans/default.nix
index 46ebe4dd4b27..13eb4a4da5f1 100644
--- a/nixpkgs/pkgs/data/fonts/public-sans/default.nix
+++ b/nixpkgs/pkgs/data/fonts/public-sans/default.nix
@@ -1,18 +1,22 @@
 { lib, fetchzip }:
 
 let
-  version = "1.005";
+  version = "1.008";
 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 = "0s0zgszpi12wanl031gi3j24ci9pkbkhvsxc30skx8s1mj99cd7i";
+  sha256 = "1s4xmliri3r1gcn1ws3wa6davj6giliqjdbcv0bh9ryg3dfpjz74";
 
   meta = with lib; {
     description = "A strong, neutral, principles-driven, open source typeface for text or display";
diff --git a/nixpkgs/pkgs/data/fonts/recursive/default.nix b/nixpkgs/pkgs/data/fonts/recursive/default.nix
new file mode 100644
index 000000000000..d3d65f8e515c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/rhodium-libre/default.nix b/nixpkgs/pkgs/data/fonts/rhodium-libre/default.nix
new file mode 100644
index 000000000000..fc89d6525922
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/ricty/default.nix b/nixpkgs/pkgs/data/fonts/ricty/default.nix
index ab794992e45f..a248bb9d4949 100644
--- a/nixpkgs/pkgs/data/fonts/ricty/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ricty/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "4.1.1";
 
   src = fetchurl {
-      url = "https://www.rs.tus.ac.jp/yyusa/ricty/ricty_generator-${version}.sh";
+      url = "http://www.yusa.lab.uec.ac.jp/~yusa/ricty/ricty_generator-${version}.sh";
       sha256 = "03fngb8f5hl7ifigdm5yljhs4z2x80cq8y8kna86d07ghknhzgw6";
   };
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A high-quality Japanese font based on Inconsolata and Migu 1M";
-    homepage = https://www.rs.tus.ac.jp/yyusa/ricty.html;
+    homepage = http://www.yusa.lab.uec.ac.jp/~yusa/ricty.html;
     license = licenses.unfree;
     maintainers = [ maintainers.mikoim ];
   };
diff --git a/nixpkgs/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/nixpkgs/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
index 2e83d5b12d4c..bf19fb8238ff 100644
--- a/nixpkgs/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
+++ b/nixpkgs/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
@@ -1,33 +1,41 @@
-{ stdenv, fetchgit, fontforge, pythonFull }:
+{ stdenv, fetchgit, fontforge, python2, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "rictydiminished-with-firacode";
-  version = "0.0.1";
+  version = "1.2.0";
+
   src = fetchgit {
     url = "https://github.com/hakatashi/RictyDiminished-with-FiraCode.git";
-    rev = "refs/tags/${version}";
-    sha256 = "12lhb0k4d8p4lzw9k6hlsxpfpc15zfshz1h5cbaa88sb8n5jh360";
+    rev = version;
+    sha256 = "1vlzx5dsx6j9d9q84pdnwcxjy7mr1sv8sacx0zgfxhxnj66n1gnn";
     fetchSubmodules = true;
   };
 
-  buildPhase = ''
+  postPatch = ''
+    # Make builds more reproducible
     substituteInPlace apply-feature.py --replace \
       'ricty = ttLib.TTFont(options.in_font)' \
       'ricty = ttLib.TTFont(options.in_font, recalcTimestamp=False)'
     substituteInPlace build-py3.py --replace \
       'datetime.date.today()' \
       'datetime.date.fromtimestamp(float(os.environ["SOURCE_DATE_EPOCH"]))'
-
-    make
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -m444 -Dt $out/share/fonts/rictydiminished-with-firacode *.ttf
+
+    runHook postInstall
   '';
 
   nativeBuildInputs = [
-    fontforge
-    (pythonFull.withPackages (ps: [
+    # Python 3 not supported by parts of the build system
+    # https://github.com/hakatashi/RictyDiminished-with-FiraCode/pull/3
+    (fontforge.override {
+      python = python2;
+    })
+    (python3.withPackages (ps: [
       ps.jinja2
       ps.py3to2
       ps.fonttools
@@ -35,7 +43,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode;
+    homepage = "https://github.com/hakatashi/RictyDiminished-with-FiraCode";
     description = "The best Japanese programming font meets the awesone ligatures of Firacode";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/spleen/default.nix b/nixpkgs/pkgs/data/fonts/spleen/default.nix
index f8830bbd2116..3e843e30f5ee 100644
--- a/nixpkgs/pkgs/data/fonts/spleen/default.nix
+++ b/nixpkgs/pkgs/data/fonts/spleen/default.nix
@@ -1,8 +1,8 @@
-{ lib, fetchurl }:
+{ lib, fetchurl, mkfontdir }:
 
 let
   pname = "spleen";
-  version = "1.3.0";
+  version = "1.6.0";
 in fetchurl {
   name = "${pname}-${version}";
   url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
@@ -12,11 +12,13 @@ in fetchurl {
   postFetch = ''
     tar xvf $downloadedFile --strip=1
     d="$out/share/fonts/X11/misc/spleen"
-    gzip -n9 *.pcf
     install -Dm644 *.{pcf.gz,psfu,bdf} -t $d
     install -m644 fonts.alias-spleen $d/fonts.alias
+
+    # create fonts.dir so NixOS xorg module adds to fp
+    ${mkfontdir}/bin/mkfontdir $d
   '';
-  sha256 = "1l1ksl8xnz1yh7jl8h2g25a7wfm9xgj3lay8ddqzlxzydkkm110q";
+  sha256 = "0h9gj7syn87hl5rhwckih92r228zac6b1dvh3034caml8ad3fyla";
 
   meta = with lib; {
     description = "Monospaced bitmap fonts";
diff --git a/nixpkgs/pkgs/data/fonts/stix-two/default.nix b/nixpkgs/pkgs/data/fonts/stix-two/default.nix
index 1d5ed37767c3..c71b51ad75de 100644
--- a/nixpkgs/pkgs/data/fonts/stix-two/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix b/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
index 5c01283d3e9c..4e464f370229 100644
--- a/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
+++ b/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -3,28 +3,20 @@
 
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , cairo
-, imagemagick
+, graphicsmagick
 , pkg-config
 , pngquant
-, python2
+, python3
 , which
 , zopfli
+, noto-fonts-emoji
 }:
 
 let
   version = "12.1.2";
 
-  # Cannot use noto-fonts-emoji.src since it is too old
-  # and still tries to use vendored pngquant.
-  notoSrc = fetchFromGitHub {
-    name = "noto";
-    owner = "googlefonts";
-    repo = "noto-emoji";
-    rev = "833a43d03246a9325e748a2d783006454d76ff66";
-    sha256 = "1g6ikzk8banm3ihqm9g27ggjq2mn1b1hq3zhpl13lxid6mp60s4a";
-  };
-
   twemojiSrc = fetchFromGitHub {
     name = "twemoji";
     owner = "twitter";
@@ -33,36 +25,42 @@ let
     sha256 = "0vzmlp83vnk4njcfkn03jcc1vkg2rf12zf5kj3p3a373xr4ds1zn";
   };
 
-  python = python2.withPackages (pp: with pp; [
-    nototools
-  ]);
 in
 stdenv.mkDerivation rec {
   pname = "twitter-color-emoji";
   inherit version;
 
   srcs = [
-    notoSrc
+    noto-fonts-emoji.src
     twemojiSrc
   ];
 
-  sourceRoot = notoSrc.name;
+  sourceRoot = noto-fonts-emoji.src.name;
 
   postUnpack = ''
     chmod -R +w ${twemojiSrc.name}
-    mv ${twemojiSrc.name} ${notoSrc.name}
+    mv ${twemojiSrc.name} ${noto-fonts-emoji.src.name}
   '';
 
   nativeBuildInputs = [
     cairo
-    imagemagick
+    graphicsmagick
     pkg-config
     pngquant
-    python
+    python3
+    python3.pkgs.nototools
     which
     zopfli
   ];
 
+  patches = [
+    # ImageMagick -> GrahphicsMagick
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/twitter-twemoji-fonts/raw/3bc176c10ced2824fe03da5ff561e22a36bf8ccd/f/noto-emoji-use-gm.patch";
+      sha256 = "0yfmfzaaiq5163c06172g4r734aysiqyv1s28siv642vqzsqh4i2";
+    })
+  ];
+
   postPatch = let
     templateSubstitutions = stdenv.lib.concatStringsSep "; " [
       ''s#Noto Color Emoji#Twitter Color Emoji#''
diff --git a/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix b/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix
new file mode 100644
index 000000000000..eae820fb0d11
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, perl
+, bdftopcf, bdf2psf, mkfontdir
+, fonttosfnt
+, targetsDat  ? null
+, variantsDat ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uw-ttyp0";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "https://people.mpi-inf.mpg.de/~uwe/misc/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1vp053bwv8sr40p3pn4sjaiq570zp7knh99z9ynk30v7ml4cz2i8";
+  };
+
+  # remove for version >1.3
+  patches = [ ./determinism.patch ];
+
+  nativeBuildInputs = [ perl bdftopcf bdf2psf fonttosfnt mkfontdir ];
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash     = "0hzhaakbbcnz5ksi5p8mavw9578rsqlqadkrirrkhfnyqqlrii4j";
+
+  # configure sizes, encodings and variants
+  preConfigure =
+    (if targetsDat == null
+      then ''
+        cat << EOF > TARGETS.dat
+        SIZES = 11 12 13 14 15 16 17 18 22 \
+        11b 12b 13b 14b 15b 16b 17b 18b 22b 15i 16i 17i 18i
+        ENCODINGS = uni
+        EOF
+      ''
+      else ''cp "${targetsDat}" TARGETS.dat'') +
+    (if variantsDat == null
+      then ''
+        cat << EOF > VARIANTS.dat
+        COPYTO AccStress PApostropheAscii
+        COPYTO PAmComma AccGraveAscii
+        COPYTO Digit0Slashed Digit0
+        EOF
+      ''
+      else ''cp "${variantsDat}" VARIANTS.dat'');
+
+  postBuild = ''
+    # convert bdf to psf and otb fonts
+    build=$(pwd)
+    mkdir {psf,otb}
+    cd ${bdf2psf}/share/bdf2psf
+    for i in $build/genbdf/*.bdf; do
+      name="$(basename $i .bdf)"
+      bdf2psf \
+        --fb "$i" standard.equivalents \
+        ascii.set+useful.set+linux.set 512 \
+        "$build/psf/$name.psf"
+      fonttosfnt -v -o "$build/otb/$name.otb" "$i"
+    done
+    cd $build
+  '';
+
+  postInstall = ''
+    # install psf fonts
+    fontDir="$out/share/consolefonts"
+    mkdir -p "$fontDir"
+    mv -t "$fontDir" psf/*.psf
+    mv -t "$out/share/fonts/X11/misc" otb/*.otb
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Monospace bitmap screen fonts for X11";
+    homepage = https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/;
+    license = with licenses; [ free mit ];
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/data/fonts/uw-ttyp0/determinism.patch b/nixpkgs/pkgs/data/fonts/uw-ttyp0/determinism.patch
new file mode 100644
index 000000000000..8546ad35933f
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/uw-ttyp0/determinism.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index b9736cd..5740412 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -76,7 +76,7 @@ bdf : $(bdf)
+ 
+ genpcf/%.pcf.gz : genbdf/%.bdf
+ 	$(BDFTOPCF) $< > $(@:.pcf.gz=.pcf)
+-	gzip -9 -f $(@:.pcf.gz=.pcf)
++	gzip -n -9 -f $(@:.pcf.gz=.pcf)
+ 
+ genbdf/t0-11-uni.bdf : bdf/t0-11.bdf bdf/t0-12.bdf VARIANTS.dat mgl/unicode.mgl
+ 	$(MKSHALLOW) bdf/t0-12.bdf | cat - bdf/t0-11.bdf | $(BDFMANGLE) - VARIANTS.dat mgl/unicode.mgl > $@
diff --git a/nixpkgs/pkgs/data/fonts/victor-mono/default.nix b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
index e886ad7578e3..ea562f7fa6ea 100644
--- a/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "victor-mono";
-  version = "1.2.5";
+  version = "1.3.0";
 in fetchFromGitHub rec {
   name = "${pname}-${version}";
 
@@ -18,7 +18,7 @@ in fetchFromGitHub rec {
   # Both methods produce the same file, but this way
   # we can safely reason about what version it is.
   postFetch = ''
-    tar xvf $downloadedFile --strip-components=2 ${name}/public/VictorMonoAll.zip
+    tar xvf $downloadedFile --strip-components=2 ${pname}-${version}/public/VictorMonoAll.zip
 
     mkdir -p $out/share/fonts/{true,open}type/${pname}
 
@@ -26,7 +26,7 @@ in fetchFromGitHub rec {
     unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
   '';
 
-  sha256 = "0dj5h45qk6abggj6mgm19sb0a7q0v4x41f2zds1ab79yd22gbjns";
+  sha256 = "1lv2x7kfspabnhvm8z79n165fw3awvzj1r8f0g5zn26wgdalgw69";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/nixpkgs/pkgs/data/fonts/work-sans/default.nix b/nixpkgs/pkgs/data/fonts/work-sans/default.nix
new file mode 100644
index 000000000000..16a0e9ac021a
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/work-sans/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitHub }:
+
+let
+  version = "1.6";
+in fetchFromGitHub {
+  name = "work-sans-${version}";
+
+  owner = "weiweihuanghuang";
+  repo = "Work-Sans";
+  rev = "v${version}";
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype/ fonts/desktop/*.otf
+    install -m444 -Dt $out/share/fonts/truetype/ fonts/webfonts/ttf/*.ttf
+    install -m444 -Dt $out/share/fonts/woff/     fonts/webfonts/woff/*.woff
+    install -m444 -Dt $out/share/fonts/woff2/    fonts/webfonts/woff2/*.woff2
+  '';
+
+  sha256 = "01kjidk6zv80rqxapcdwhd9wxzrjfc6lj4gkf6dwa4sskw5x3b8a";
+
+  meta = with lib; {
+    description = "A grotesque sans";
+    homepage = "https://weiweihuanghuang.github.io/Work-Sans/";
+    license = licenses.ofl;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/xits-math/default.nix b/nixpkgs/pkgs/data/fonts/xits-math/default.nix
index 24e9f2a39357..db0ed425dee2 100644
--- a/nixpkgs/pkgs/data/fonts/xits-math/default.nix
+++ b/nixpkgs/pkgs/data/fonts/xits-math/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, python2Packages, fontforge }:
+{ stdenv, fetchFromGitHub, python3Packages}:
 
 stdenv.mkDerivation rec {
   pname = "xits-math";
-  version = "1.200";
+  version = "1.301";
 
   src = fetchFromGitHub {
     owner = "alif-type";
     repo = "xits";
     rev = "v${version}";
-    sha256 = "0s1qqqg3zv9k4wqn1vkx0z895fjccg96n58syc1d5f2wba9kyfcm";
+    sha256 = "043g0gnjc7wn1szvrs0rc1vvrq1qmhqh45b0y2kwrlxsgprpv8ll";
   };
 
-  nativeBuildInputs = [ fontforge ] ++ (with python2Packages; [ python fonttools ]);
+  nativeBuildInputs = (with python3Packages; [ python fonttools fontforge ]);
 
   postPatch = ''
     rm *.otf
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/khaledhosny/xits-math;
+    homepage = "https://github.com/alif-type/xits";
     description = "OpenType implementation of STIX fonts with math support";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix
index 6529e5c571c2..b0a8a05fc68d 100644
--- a/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme }:
+{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "${package-name}-${version}";
@@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postFixup = "gtk-update-icon-cache $out/share/icons/Arc";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix
index 2e99c3d92327..a7a403726fa7 100644
--- a/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix
@@ -1,6 +1,6 @@
-{ fetchFromGitHub, gnome-themes-extra, inkscape, stdenv, xcursorgen }:
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "bibata-cursors";
   version = "0.4.1";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     cp -pr Bibata_* $out/share/icons/
   '';
 
-  meta = with stdenv.lib; {
+  meta = with stdenvNoCC.lib; {
     description = "Material Based Cursor";
     homepage = https://github.com/KaizIqbal/Bibata_Cursor;
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix
new file mode 100644
index 000000000000..dc0ead649744
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix
@@ -0,0 +1,41 @@
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "bibata-extra-cursors";
+  version = "unstable-2018-10-28";
+  
+  src = fetchFromGitHub {
+    owner = "KaizIqbal";
+    repo = "Bibata_Extra_Cursor";
+    rev = "66fb64b8dbe830e3f7ba2c2bdc4dacae7c438789";
+    sha256 = "1xb7v06sbxbwzd7cnghv9c55lpbbkcaf1nswdrqy87gd0bnpdd2n";
+  };
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace build.sh --replace "gksu " ""
+  '';
+
+  nativeBuildInputs  = [
+    gnome-themes-extra
+    inkscape
+    xcursorgen
+  ];
+
+  buildPhase = ''
+    HOME="$NIX_BUILD_ROOT" ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    cp -pr Bibata_* $out/share/icons/
+  '';
+
+  meta = with stdenvNoCC.lib; {
+    description = "Cursors Based on Bibata";
+    homepage = https://github.com/KaizIqbal/Bibata_Extra_Cursor;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix
new file mode 100644
index 000000000000..d5b541317b5e
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix
@@ -0,0 +1,41 @@
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "bibata-cursors-translucent";
+  version = "unstable-2019-09-13";
+  
+  src = fetchFromGitHub {
+    owner = "Silicasandwhich";
+    repo = "Bibata_Cursor_Translucent";
+    rev = "2eed979d817148817ea6bca15c594809aa9c2cb9";
+    sha256 = "1s688v40xx9jbvfncb4kgfnnxkmknji7igqx7c4q1ly9s7imbd1f";
+  };
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace build.sh --replace "gksu " ""
+  '';
+
+  nativeBuildInputs  = [
+    gnome-themes-extra
+    inkscape
+    xcursorgen
+  ];
+
+  buildPhase = ''
+    HOME="$NIX_BUILD_ROOT" ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    cp -pr Bibata_* $out/share/icons/
+  '';
+
+  meta = with stdenvNoCC.lib; {
+    description = "Translucent Varient of the Material Based Cursor";
+    homepage = https://github.com/Silicasandwhich/Bibata_Cursor_Translucent;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
index 5a566bef6ef9..221974c79419 100644
--- a/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
@@ -2,16 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-xfce-icon-theme";
-  version = "0.13.1";
+  version = "0.14";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "elementary-xfce";
     rev = "v${version}";
-    sha256 = "16msdrazhbv80cvh5ffvgj13xmkpf87r7mq6xz071fza6nv7g0jn";
+    sha256 = "00sk6sv0kkfb3q0jqwcllzawi30rw8nfkkfn5l1qwqha48izw3r4";
   };
 
-  nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 hicolor-icon-theme ];
+  nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
 
   postPatch = ''
     substituteInPlace svgtopng/Makefile --replace "-O0" "-O"
diff --git a/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix
index c15e0f4e5510..efce0a16e130 100644
--- a/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon }:
+{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "${package-name}-${version}";
@@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja python3 gtk3 pantheon.elementary-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postPatch = ''
     patchShebangs meson/post_install.py
   '';
diff --git a/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix b/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix
index 99488a26f2b6..96bd40311503 100644
--- a/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix
+++ b/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme }:
+{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "faba-mono-icons";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postFixup = ''
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
diff --git a/nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix
new file mode 100644
index 000000000000..f0e13b21dfd4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
index 29306cb316af..f07bab4b269f 100644
--- a/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
+++ b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
@@ -1,21 +1,13 @@
+# shellcheck shell=bash
+
 # Populate XDG_ICON_DIRS
 hicolorIconThemeHook() {
 
     # where to find icon themes
     if [ -d "$1/share/icons" ]; then
-      addToSearchPath XDG_ICON_DIRS $1/share
+      addToSearchPath XDG_ICON_DIRS "$1/share"
     fi
-	
 }
 
 # I think this is meant to be a runtime dep
-addEnvHooks "$hostOffset" hicolorIconThemeHook
-
-# Remove icon cache
-hicolorPreFixupPhase() {
-    rm -f $out/share/icons/hicolor/icon-theme.cache
-    rm -f $out/share/icons/HighContrast/icon-theme.cache
-}
-
-preFixupPhases="$preFixupPhases hicolorPreFixupPhase"
-
+addEnvHooks "${hostOffset:?}" hicolorIconThemeHook
diff --git a/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix b/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix
index f7015621853c..64a982f60375 100644
--- a/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix
+++ b/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, fetchFromGitHub, gtk3 }:
+{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "iconpack-obsidian";
-  version = "4.3";
+  version = "4.9";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
-    repo = "iconpack-obsidian";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0np2s4mbaykwwv516959r5d9gfdmqb5hadsx18x2if4751a9qz49";
+    sha256 = "1w0lnr08gd0cnzv3n5094jqb7dpbpwwizfhvifdir0xsls1sf129";
   };
 
   nativeBuildInputs = [ gtk3 ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   installPhase = ''
      mkdir -p $out/share/icons
      mv Obsidian* $out/share/icons
diff --git a/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix
index a623af206048..20bc8dc0a589 100644
--- a/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix
@@ -21,10 +21,12 @@ stdenv.mkDerivation {
     kdeFrameworks.kwindowsystem
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     hicolor-icon-theme
   ];
 
+  dontDropIconThemeCache = true;
+
   postFixup = ''
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
diff --git a/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix
index 83c4b19472a3..539dfaa2d109 100644
--- a/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme }:
+{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "moka-icon-theme";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja gtk3 python3 faba-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postPatch = ''
     patchShebangs meson/post_install.py
   '';
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
index b545856f703f..ed4b2581e850 100644
--- a/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -1,24 +1,34 @@
-{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
+{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "19.02.22";
+  version = "19.09.20";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "10jh633rllp9yjfkjjyf8455n84q7ppxw1kk9dp1rsg4dq327ks7";
+    sha256 = "1pmz2dy1580ln5m57xw3vhqrjhviayisgbs2km3i77hyx66hiivi";
   };
 
   nativeBuildInputs = [ gtk3 numix-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   installPhase = ''
     install -dm 755 $out/share/icons
     cp -dr --no-preserve='ownership' Numix-Circle{,-Light} $out/share/icons/
   '';
 
   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
@@ -30,6 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     # darwin cannot deal with file names differing only in case
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
index ddec15e5f318..620ef02fde72 100644
--- a/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -1,24 +1,34 @@
-{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
+{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "19.02.22";
+  version = "19.09.20";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "0qn0s7cd795pm0hbx85gxd1s272zxrzf3r9r6da54h149v3wkgzw";
+    sha256 = "0q3d4d4wndknz3043bh8ardjvdpds2hkzk73kyyh1848wg4ff0ly";
   };
 
   nativeBuildInputs = [ gtk3 numix-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   installPhase = ''
     mkdir -p $out/share/icons
     cp -a Numix-Square{,-Light} $out/share/icons/
   '';
 
   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/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix
index e41373f536ff..d3bcdb12d3dc 100644
--- a/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix
@@ -2,20 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme";
-  version = "18.07.17";
+  version = "19.09.20";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "0clh55kmhc52d33dfm2c6h3lg6ddfh8a088ir9lv1camn9kj55bd";
+    sha256 = "0pn3x0mmsph777lwhg890ck366p31bjl3755h4pv161ym08d4z9w";
   };
 
-  nativeBuildInputs = [ gtk3 hicolor-icon-theme ];
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
 
   installPhase = ''
     mkdir -p $out/share/icons
-    mv Numix{,-Light} $out/share/icons
+    cp -a Numix{,-Light} $out/share/icons/
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix
index 5359b2229f39..477960972a75 100644
--- a/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3 }:
+{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "paper-icon-theme";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja gtk3 python3 ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postPatch = ''
     patchShebangs meson/post_install.py
   '';
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index 3f9cff62ee4f..218af2d9b3c3 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchFromGitHub, gtk3 }:
+{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20190802";
+  version = "20200102";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "1i6nh1vy2cjqh4fw1mzq5v4ah613ghf018g8w0npxhj9qi3pyjm5";
+    sha256 = "0jnx6prgrwz9i979a20sd58dwhsz8cakvl8ickakadca1j7gs7kb";
   };
 
   nativeBuildInputs = [ gtk3 ];
 
+  propagatedBuildInputs = [ hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
   installPhase = ''
      mkdir -p $out/share/icons
      mv {,e}Papirus* $out/share/icons
diff --git a/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix
index d38f6485f135..a4a7237f9740 100644
--- a/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, iconnamingutils, imagemagick, librsvg
-, gtk/*any version*/
+, gtk/*any version*/, hicolor-icon-theme
 }:
 
 stdenv.mkDerivation rec {
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool iconnamingutils imagemagick librsvg ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   configureFlags = [ "--enable-png-creation" ];
 
   postInstall = '''${gtk.out}/bin/gtk-update-icon-cache' "$out/share/icons/Tango" '';
diff --git a/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix b/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix
index c4a8fd44a610..f271d7a44e65 100644
--- a/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix
+++ b/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchzip, xorg }:
+{ stdenv, lib, fetchzip, xorg, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "vanilla-dmz";
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1l0c0svk7dy0d7icg7j2181wdn3fvks5gmyqnvjk749ppy5ks8mj";
   };
   buildInputs = [ xorg.xcursorgen ];
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+  dontDropIconThemeCache = true;
   buildPhase = ''
     cd DMZ-White/pngs; ./make.sh; cd -
     cd DMZ-Black/pngs; ./make.sh; cd -
diff --git a/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix b/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix
index 942f79ca6e45..c3670a6f58ce 100644
--- a/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix
+++ b/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, fetchFromGitHub, gtk3 }:
+{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
 
 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 ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   installPhase = ''
     mkdir -p $out/share/icons/Zafiro-icons
     cp -a * $out/share/icons/Zafiro-icons
diff --git a/nixpkgs/pkgs/data/misc/cacert/default.nix b/nixpkgs/pkgs/data/misc/cacert/default.nix
index 99739646a8ba..34dd48b897f2 100644
--- a/nixpkgs/pkgs/data/misc/cacert/default.nix
+++ b/nixpkgs/pkgs/data/misc/cacert/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, nss, python
+{ stdenv, fetchurl, nss, python3
 , blacklist ? []
 , includeEmail ? false
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "unbundled" ];
 
-  nativeBuildInputs = [ python ];
+  nativeBuildInputs = [ python3 ];
 
   configurePhase = ''
     ln -s nss/lib/ckfw/builtins/certdata.txt
diff --git a/nixpkgs/pkgs/data/misc/cacert/setup-hook.sh b/nixpkgs/pkgs/data/misc/cacert/setup-hook.sh
index e969596752f3..77b68a5c251c 100644
--- a/nixpkgs/pkgs/data/misc/cacert/setup-hook.sh
+++ b/nixpkgs/pkgs/data/misc/cacert/setup-hook.sh
@@ -1,7 +1,3 @@
-cacertHook() {
-    export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
-    # left for compatibility
-    export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
-}
-
-addEnvHooks "$targetOffset" cacertHook
+export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
+# left for compatibility
+export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
diff --git a/nixpkgs/pkgs/data/misc/cldr-emoji-annotation/default.nix b/nixpkgs/pkgs/data/misc/cldr-emoji-annotation/default.nix
new file mode 100644
index 000000000000..4279cf8aec48
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/cldr-emoji-annotation/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cldr-emoji-annotation";
+  version = "36.12.120191002_0";
+
+  src = fetchFromGitHub {
+    owner = "fujiwarat";
+    repo = "cldr-emoji-annotation";
+    rev = version;
+    sha256 = "0nxigzs3mxjgi7c8mmdaxsy5sfl7ihsc2nysaj0db198b33w9clw";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Emoji annotation files in CLDR";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/misc/hackage/default.nix b/nixpkgs/pkgs/data/misc/hackage/default.nix
index 3500eaa63265..0537a5d53737 100644
--- a/nixpkgs/pkgs/data/misc/hackage/default.nix
+++ b/nixpkgs/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/93bcfb09798da885d29304fa4dab1e234e3b728e.tar.gz";
-  sha256 = "1mv5kxqldakapzbmch2b88mynng268njq3dxbkmyzli8fwnllra2";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/477d50a859be91a25b2fed6494d414044d7e71ab.tar.gz";
+  sha256 = "0wzi2wgcp5ykwp4wrhcfdaxlbdzrmlgalparx3ap80q069c8fd0n";
 }
diff --git a/nixpkgs/pkgs/data/misc/mailcap/default.nix b/nixpkgs/pkgs/data/misc/mailcap/default.nix
index d27e1d2dfd2e..725d4ded0eba 100644
--- a/nixpkgs/pkgs/data/misc/mailcap/default.nix
+++ b/nixpkgs/pkgs/data/misc/mailcap/default.nix
@@ -7,13 +7,15 @@ in fetchzip {
   name = "mailcap-${version}";
 
   url = "https://releases.pagure.org/mailcap/mailcap-${version}.tar.xz";
-  sha256 = "0m1rls4z85aby9fggwx2x70b4y6l0jjyiqdv30p8g91nv8hrq9fw";
+  sha256 = "08d0avz8971hkggd60dk9yyd14izz24yag3prpfafbvm670jlmqg";
 
   postFetch = ''
     tar -xavf $downloadedFile --strip-components=1
     substituteInPlace mailcap --replace "/usr/bin/" ""
     gzip mailcap.4
+    sh generate-nginx-mimetypes.sh < mime.types > nginx-mime.types
 
+    install -D -m0644 nginx-mime.types $out/etc/nginx/mime.types
     install -D -m0644 -t $out/etc mailcap mime.types
     install -D -m0644 -t $out/share/man/man4 mailcap.4.gz
   '';
diff --git a/nixpkgs/pkgs/data/misc/media-player-info/default.nix b/nixpkgs/pkgs/data/misc/media-player-info/default.nix
index 6d00f34e9787..0ac5dc51d6b5 100644
--- a/nixpkgs/pkgs/data/misc/media-player-info/default.nix
+++ b/nixpkgs/pkgs/data/misc/media-player-info/default.nix
@@ -19,9 +19,7 @@ in
       patchShebangs ./tools
     '';
 
-    preConfigure = ''
-      configureFlags="$configureFlags --with-udevdir=$out/lib/udev"
-    '';
+    configureFlags = [ "--with-udevdir=${placeholder "out"}/lib/udev" ];
 
     meta = with stdenv.lib; {
       description = "A repository of data files describing media player capabilities";
diff --git a/nixpkgs/pkgs/data/misc/osinfo-db/default.nix b/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
index b41c4a4c5aa9..31f7eb7efdb8 100644
--- a/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
+++ b/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20190805";
+  version = "20191125";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "1la80kmh58nrra8aa4grv31gc7xbqbybl8q1m4yv0byb11slg93x";
+    sha256 = "102mdykp5pjv7lw7saig640vb5a8ivy4ji8sa68q2wzfwg1yix78";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
index 6569efa2cde6..4594ffc23921 100644
--- a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
+++ b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
@@ -1,21 +1,36 @@
-{stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool
-, libxml2, glib}:
+{ stdenv
+, fetchurl
+, pkgconfig
+, gettext
+, perlPackages
+, itstool
+, libxml2
+, glib
+}:
 
-let version = "1.12"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "shared-mime-info";
-  inherit version;
+  version = "1.13.1";
 
   src = fetchurl {
-    url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/80c7f1afbcad2769f38aeb9ba6317a51/shared-mime-info-1.12.tar.xz";
-    sha256 = "0gj0pp36qpsr9w6v4nywnjpcisadwkndapqsjn0ny3gd0zzg1chq";
+    url = "https://gitlab.freedesktop.org/xdg/${pname}/uploads/5349e18c86eb96eee258a5c1f19122d0/${pname}-${version}.tar.xz";
+    sha256 = "1bic8z5nz08qxv1x6zlxnx2j4cmlzm12kygrn3rrh1djqxdhma3f";
   };
 
-  nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]);
-  buildInputs = [ libxml2 glib ];
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    itstool
+  ] ++ (with perlPackages; [
+    perl XMLParser
+  ]);
+
+  buildInputs = [
+    libxml2
+    glib
+  ];
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "A database of common MIME types";
     homepage = http://freedesktop.org/wiki/Software/shared-mime-info;
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/data/misc/tzdata/default.nix b/nixpkgs/pkgs/data/misc/tzdata/default.nix
index b2363b4b549e..3227d9a76235 100644
--- a/nixpkgs/pkgs/data/misc/tzdata/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/misc/unicode-character-database/default.nix b/nixpkgs/pkgs/data/misc/unicode-character-database/default.nix
new file mode 100644
index 000000000000..5f50049856f3
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/unicode-character-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unicode-character-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/UCD.zip";
+    sha256 = "19m06iw0jl7lhlggcmghi12p6jld0qrmfpksgc243yn6sjh53fi5";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Character Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/misc/unicode-emoji/default.nix b/nixpkgs/pkgs/data/misc/unicode-emoji/default.nix
new file mode 100644
index 000000000000..05472b26d88c
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/unicode-emoji/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, fetchurl
+, symlinkJoin
+, lib
+}:
+
+let
+  version = "12.1";
+
+  fetchData = { file, sha256 }: fetchurl {
+    url = "https://www.unicode.org/Public/emoji/${version}/${file}";
+    inherit sha256;
+    downloadToTemp = true;
+    recursiveHash = true;
+    postFetch = ''
+      installDir="$out/share/unicode/emoji"
+      mkdir -p "$installDir"
+      mv "$downloadedFile" "$installDir/${file}"
+    '';
+  };
+
+  srcs = {
+    emoji-data = fetchData {
+      file = "emoji-data.txt";
+      sha256 = "17gfm5a28lsymx36prbjy2g0b27gf3rcgggy0yxdshbxwf6zpf9k";
+    };
+    emoji-sequences = fetchData {
+      file = "emoji-sequences.txt";
+      sha256 = "1fckw5hfyvz5jfp2jczzx8qcs79vf0zyq0z2942230j99arq70vc";
+    };
+    emoji-test = fetchData {
+      file = "emoji-test.txt";
+      sha256 = "0w29lva7gp9g9lf7bz1i24qdalvf440bcq8npsbwr3cpp7na95kh";
+    };
+    emoji-variation-sequences = fetchData {
+      file = "emoji-variation-sequences.txt";
+      sha256 = "0akpib3cinr8xcs045hda5wnpfj6qfdjlkzmq5vgdc50gyhrd2z3";
+    };
+    emoji-zwj-sequences = fetchData {
+      file = "emoji-zwj-sequences.txt";
+      sha256 = "0s2mvy1nr2v1x0rr1fxlsv8ly1vyf9978rb4hwry5vnr678ls522";
+    };
+  };
+in
+
+symlinkJoin rec {
+  name = "unicode-emoji-${version}";
+
+  paths = lib.attrValues srcs;
+
+  passthru = srcs;
+
+  meta = with stdenv.lib; {
+    description = "Unicode Emoji Data Files";
+    homepage = "https://home.unicode.org/emoji/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/misc/unihan-database/default.nix b/nixpkgs/pkgs/data/misc/unihan-database/default.nix
new file mode 100644
index 000000000000..77da77242a92
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/unihan-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unihan-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
+    sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Han Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/themes/adapta-kde/default.nix b/nixpkgs/pkgs/data/themes/adapta-kde/default.nix
index a7624d2889bb..47740aa67622 100644
--- a/nixpkgs/pkgs/misc/themes/adapta-kde/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/themes/adapta/default.nix b/nixpkgs/pkgs/data/themes/adapta/default.nix
index 02812b1f9397..02812b1f9397 100644
--- a/nixpkgs/pkgs/misc/themes/adapta/default.nix
+++ b/nixpkgs/pkgs/data/themes/adapta/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/adwaita-qt/default.nix b/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix
index 9b979a11b93b..7428b5fab2fd 100644
--- a/nixpkgs/pkgs/misc/themes/adwaita-qt/default.nix
+++ b/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, qtbase, pantheon }:
 
 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 = [
@@ -26,6 +26,12 @@ mkDerivation rec {
        --replace "DESTINATION \"\''${QT_PLUGINS_DIR}/styles" "DESTINATION \"$qtPluginPrefix/styles"
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A style to bend Qt applications to look like they belong into GNOME Shell";
     homepage = https://github.com/FedoraQt/adwaita-qt;
diff --git a/nixpkgs/pkgs/misc/themes/albatross/default.nix b/nixpkgs/pkgs/data/themes/albatross/default.nix
index 870b348cc320..870b348cc320 100644
--- a/nixpkgs/pkgs/misc/themes/albatross/default.nix
+++ b/nixpkgs/pkgs/data/themes/albatross/default.nix
diff --git a/nixpkgs/pkgs/data/themes/amber/default.nix b/nixpkgs/pkgs/data/themes/amber/default.nix
new file mode 100644
index 000000000000..a004c0fb3e9b
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/amber/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  pname = "amber-theme";
+  version = "3.34-2";
+
+  src = fetchFromGitHub {
+    owner = "lassekongo83";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0809l4r1qrzs9z04kcs1j962dpsvgpwpksnxs09md5722mynn65l";
+  };
+
+  nativeBuildInputs = [ meson ninja sassc ];
+
+  buildInputs = [ gdk-pixbuf librsvg gtk_engines ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  meta = with stdenv.lib; {
+    description = "GTK, gnome-shell and Xfce theme based on Ubuntu Ambiance";
+    homepage = "https://github.com/lassekongo83/amber-theme";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/themes/arc-kde/default.nix b/nixpkgs/pkgs/data/themes/arc-kde/default.nix
index decdbdfac2dc..4937a99daecd 100644
--- a/nixpkgs/pkgs/misc/themes/arc-kde/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/themes/blackbird/default.nix b/nixpkgs/pkgs/data/themes/blackbird/default.nix
index 7ffefb1d67f6..7ffefb1d67f6 100644
--- a/nixpkgs/pkgs/misc/themes/blackbird/default.nix
+++ b/nixpkgs/pkgs/data/themes/blackbird/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/clearlooks-phenix/default.nix b/nixpkgs/pkgs/data/themes/clearlooks-phenix/default.nix
index 7c1eb54f92f5..2f701b9b765b 100644
--- a/nixpkgs/pkgs/misc/themes/clearlooks-phenix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/themes/e17gtk/default.nix b/nixpkgs/pkgs/data/themes/e17gtk/default.nix
index 74f0a54ccef3..74f0a54ccef3 100644
--- a/nixpkgs/pkgs/misc/themes/e17gtk/default.nix
+++ b/nixpkgs/pkgs/data/themes/e17gtk/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/equilux-theme/default.nix b/nixpkgs/pkgs/data/themes/equilux-theme/default.nix
index f24524eb6b97..f24524eb6b97 100644
--- a/nixpkgs/pkgs/misc/themes/equilux-theme/default.nix
+++ b/nixpkgs/pkgs/data/themes/equilux-theme/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/gnome-breeze/default.nix b/nixpkgs/pkgs/data/themes/gnome-breeze/default.nix
index 200cc4bae051..200cc4bae051 100644
--- a/nixpkgs/pkgs/misc/themes/gnome-breeze/default.nix
+++ b/nixpkgs/pkgs/data/themes/gnome-breeze/default.nix
diff --git a/nixpkgs/pkgs/data/themes/greybird/default.nix b/nixpkgs/pkgs/data/themes/greybird/default.nix
index 1c5a631a48c0..cc665749d3c1 100644
--- a/nixpkgs/pkgs/data/themes/greybird/default.nix
+++ b/nixpkgs/pkgs/data/themes/greybird/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, which, sassc, glib, libxml2, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, sassc, gdk-pixbuf, librsvg, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   pname = "greybird";
-  version = "3.22.10";
+  version = "3.22.11";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g1mnzxqwlbymq8npd2j294f8dzf9fw9nicd4pajmscg2vk71da9";
+    sha256 = "00x7dcjldph9k0nmvc8hyh3k4lhbmwk791rywd89ry6jivrx40pc";
   };
 
   nativeBuildInputs = [
-    autoreconfHook
-    which
+    meson
+    ninja
+    pkgconfig
     sassc
-    glib
-    libxml2
   ];
 
   buildInputs = [
@@ -30,8 +29,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Grey and blue theme from the Shimmer Project for GTK-based environments";
-    homepage = https://github.com/shimmerproject/Greybird;
-    license = with licenses; [ gpl2Plus ]; # or alternatively: cc-by-nc-sa-30
+    homepage = "https://github.com/shimmerproject/Greybird";
+    license = [ licenses.gpl2Plus ]; # or alternatively: cc-by-nc-sa-30 or later
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/misc/themes/jade1/default.nix b/nixpkgs/pkgs/data/themes/jade1/default.nix
index ebeb7f2d8665..01221d450142 100644
--- a/nixpkgs/pkgs/misc/themes/jade1/default.nix
+++ b/nixpkgs/pkgs/data/themes/jade1/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "theme-jade1";
-  version = "3.3";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "theme-jade-1";
     rev = "v${version}";
-    sha256 = "06w06dvzs1llmzpyz3c5yycsw3gslsgikalfcq5l92d72z4kzfw7";
+    sha256 = "1m3150iyk8421mkwj4x2pv29wjzqdcnvvnp3bsg11k5kszsm27a8";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A fork of the original Linux Mint theme with dark menus, more intensive green and some other modifications";
+    description = "Fork of the original Linux Mint theme with dark menus, more intensive green and some other modifications";
     homepage = https://github.com/madmaxms/theme-jade-1;
     license = with licenses; [ gpl3 ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/misc/themes/kde2/default.nix b/nixpkgs/pkgs/data/themes/kde2/default.nix
index fac8c38eecae..547e4f30aa6c 100644
--- a/nixpkgs/pkgs/misc/themes/kde2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/lounge/default.nix b/nixpkgs/pkgs/data/themes/lounge/default.nix
new file mode 100644
index 000000000000..15ec68b07570
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/lounge/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome3, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  pname = "lounge-gtk-theme";
+  version = "1.22";
+
+  src = fetchFromGitHub {
+    owner = "monday15";
+    repo = pname;
+    rev = version;
+    sha256 = "1y1wkfsv2zrxqcqr53lmr9743mvzcy4swi5j6sxmk1aykx6ccs1p";
+  };
+
+  nativeBuildInputs = [ meson ninja sassc gtk3 ];
+
+  buildInputs = [ gdk-pixbuf librsvg ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  mesonFlags = [
+    "-D gnome_version=${stdenv.lib.versions.majorMinor gnome3.gnome-shell.version}"
+  ];
+
+  postFixup = ''
+    gtk-update-icon-cache "$out"/share/icons/Lounge-aux;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple and clean GTK theme with vintage scrollbars, inspired by Absolute, based on Adwaita";
+    homepage = https://github.com/monday15/lounge-gtk-theme;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/matcha/default.nix b/nixpkgs/pkgs/data/themes/matcha/default.nix
index b9de3743dafd..8ab868891b55 100644
--- a/nixpkgs/pkgs/data/themes/matcha/default.nix
+++ b/nixpkgs/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "matcha";
-  version = "2019-09-23";
+  version = "2019-11-02";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0fx6ksv9yb16drhx1sn4nq6jha36gha3cxnr1fjhj8dgarjqrg9k";
+    rev = version;
+    sha256 = "0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/nixpkgs/pkgs/data/themes/mojave/default.nix b/nixpkgs/pkgs/data/themes/mojave/default.nix
index 714e026d32c1..6c38e3aaba41 100644
--- a/nixpkgs/pkgs/data/themes/mojave/default.nix
+++ b/nixpkgs/pkgs/data/themes/mojave/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, fetchurl, gtk_engines, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   pname = "mojave-gtk-theme";
-  version = "2019-09-09";
+  version = "2019-12-12";
 
-  src = fetchFromGitHub {
-    owner = "vinceliuice";
-    repo = pname;
-    rev = version;
-    sha256 = "1qffh6jsvy61f29ymw1v9hpjnsvhqin19mp05cys1lnwc7y810zr";
-  };
+  srcs = [
+    (fetchFromGitHub {
+      owner = "vinceliuice";
+      repo = pname;
+      rev = version;
+      sha256 = "0d5m9gh97db01ygqlp2sv9v1m183d9fgid9n9wms9r5rrrw6bs8m";
+    })
+    (fetchurl {
+      url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
+      sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7";
+    })
+  ];
+
+  sourceRoot = "source";
 
   buildInputs = [ gtk_engines ];
 
@@ -17,8 +25,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     patchShebangs .
-    mkdir -p $out/share/themes
     name= ./install.sh -d $out/share/themes
+    install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/misc/themes/numix-solarized/default.nix b/nixpkgs/pkgs/data/themes/numix-solarized/default.nix
index 4fd06fae61bc..0596141da80b 100644
--- a/nixpkgs/pkgs/misc/themes/numix-solarized/default.nix
+++ b/nixpkgs/pkgs/data/themes/numix-solarized/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20170810";
+  version = "20180913";
   pname = "numix-solarized-gtk-theme";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "numix-solarized-gtk-theme";
     rev = version;
-    sha256 = "0l4xvsiyg15kp6xwpvm3jckxyhr1lxd678lkhrcyf40n7rd4xinl";
+    sha256 = "1kda0lyqi3cxh163fbj8yyi6jj6pf0y980k4s0cmyi3hkh4cqyd5";
   };
 
   nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape optipng ];
diff --git a/nixpkgs/pkgs/misc/themes/numix-sx/default.nix b/nixpkgs/pkgs/data/themes/numix-sx/default.nix
index 72e87e2e2740..72e87e2e2740 100644
--- a/nixpkgs/pkgs/misc/themes/numix-sx/default.nix
+++ b/nixpkgs/pkgs/data/themes/numix-sx/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/numix/default.nix b/nixpkgs/pkgs/data/themes/numix/default.nix
index e01f8174e9ea..e01f8174e9ea 100644
--- a/nixpkgs/pkgs/misc/themes/numix/default.nix
+++ b/nixpkgs/pkgs/data/themes/numix/default.nix
diff --git a/nixpkgs/pkgs/data/themes/obsidian2/default.nix b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
index 3a2dcea4b3a5..452ee0f8897d 100644
--- a/nixpkgs/pkgs/data/themes/obsidian2/default.nix
+++ b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "theme-obsidian2";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "theme-obsidian-2";
     rev = "v${version}";
-    sha256 = "1m89ws2a4nms4m8187d5cxi281b66i59xa5shlp3g1r2jc4312cy";
+    sha256 = "123f6hpz0h5xfmas44xa1ci68w8f3lcjj54jpnrqhsww66c9vs0i";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
diff --git a/nixpkgs/pkgs/misc/themes/onestepback/default.nix b/nixpkgs/pkgs/data/themes/onestepback/default.nix
index 64ead2f75f4b..64ead2f75f4b 100644
--- a/nixpkgs/pkgs/misc/themes/onestepback/default.nix
+++ b/nixpkgs/pkgs/data/themes/onestepback/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/orion/default.nix b/nixpkgs/pkgs/data/themes/orion/default.nix
index 9ba8cd368cf7..9ba8cd368cf7 100644
--- a/nixpkgs/pkgs/misc/themes/orion/default.nix
+++ b/nixpkgs/pkgs/data/themes/orion/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/paper/default.nix b/nixpkgs/pkgs/data/themes/paper-gtk/default.nix
index e7235a900cf9..e7235a900cf9 100644
--- a/nixpkgs/pkgs/misc/themes/paper/default.nix
+++ b/nixpkgs/pkgs/data/themes/paper-gtk/default.nix
diff --git a/nixpkgs/pkgs/data/themes/plano/default.nix b/nixpkgs/pkgs/data/themes/plano/default.nix
index b009bd2780c0..ff1825f63410 100644
--- a/nixpkgs/pkgs/data/themes/plano/default.nix
+++ b/nixpkgs/pkgs/data/themes/plano/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, gdk-pixbuf, gtk_engines, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, gdk-pixbuf, gtk_engines, gtk-engine-murrine, librsvg }:
 
 stdenv.mkDerivation rec {
   pname = "plano-theme";
-  version = "3.32-1";
+  version = "3.34-2";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0p9j4p32489jb6d67jhf9x26my0mddcc6a174x713drch8zvb96l";
+    sha256 = "0spbyvzb47vyfhcn3gr0z1gdb5xrprynm6442y1z32znai2bgpnd";
   };
 
-  buildInputs = [ gdk-pixbuf gtk_engines ];
+  buildInputs = [ gdk-pixbuf gtk_engines librsvg ];
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
@@ -20,12 +20,12 @@ stdenv.mkDerivation rec {
   installPhase = ''
     install -dm 755 $out/share/themes/Plano
     cp -a * $out/share/themes/Plano/
-    rm $out/share/themes/Plano/LICENSE
+    rm $out/share/themes/Plano/{LICENSE,README.md}
   '';
 
   meta = with stdenv.lib; {
-    description = "Flat theme for GNOME & Xfce4";
-    homepage = https://github.com/lassekongo83/plano-theme;
+    description = "Flat theme for GNOME and Xfce";
+    homepage = "https://github.com/lassekongo83/plano-theme";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
diff --git a/nixpkgs/pkgs/data/themes/plata/default.nix b/nixpkgs/pkgs/data/themes/plata/default.nix
index d026e06e39d3..37eb9b7e5bcd 100644
--- a/nixpkgs/pkgs/data/themes/plata/default.nix
+++ b/nixpkgs/pkgs/data/themes/plata/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.8.9";
+  version = "0.9.1";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "0a2wczxxfd2nfr7biawbs3rwy2sivcl2sv43y2638gmfp0w6zh9r";
+    sha256 = "0rva56xdvsj6vwwvrn55137mw83c9p4xy00i3mq0ryh43imyj4mg";
   };
 
   preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/data/themes/pop-gtk/default.nix b/nixpkgs/pkgs/data/themes/pop-gtk/default.nix
new file mode 100644
index 000000000000..151fadddc16c
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/pop-gtk/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, sassc
+, gtk3
+, inkscape
+, optipng
+, gtk-engine-murrine
+, gdk-pixbuf
+, librsvg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pop-gtk-theme";
+  version = "2019-12-17";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "gtk-theme";
+    rev = "77601545f049251bce9c63a07f0d9819aa27cb60";
+    sha256 = "0bmkcdr1z9m3inrw33zprq2a4jawql4724a84nr89r19xllj2z1s";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    sassc
+    gtk3
+    inkscape
+    optipng
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    librsvg
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  postPatch = ''
+    for file in $(find -name render-\*.sh); do
+      patchShebangs "$file"
+
+      substituteInPlace "$file" \
+        --replace 'INKSCAPE="/usr/bin/inkscape"' \
+                  'INKSCAPE="inkscape"' \
+        --replace 'OPTIPNG="/usr/bin/optipng"' \
+                  'OPTIPNG="optipng"'
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "System76 Pop GTK+ Theme";
+    homepage = "https://github.com/pop-os/gtk-theme";
+    license = with licenses; [ gpl3 lgpl21 cc-by-sa-40 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ elyhaka ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/qogir/default.nix b/nixpkgs/pkgs/data/themes/qogir/default.nix
index 6461697b04f2..44993c7e2eca 100644
--- a/nixpkgs/pkgs/data/themes/qogir/default.nix
+++ b/nixpkgs/pkgs/data/themes/qogir/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qogir-theme";
-  version = "2019-08-31";
+  version = "2019-10-25";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1pqfnqc2c6f5cidg6c3y492hqlyn5ma4b7ra2lchw7g2dxfvq8w1";
+    sha256 = "027c9pbfv5flqrjcvmbyjrfi37nzq33z19bai4zjjxjvryfqpmlm";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A flat Design theme for GTK based desktop environments";
+    description = "Flat Design theme for GTK based desktop environments";
     homepage = https://vinceliuice.github.io/Qogir-theme;
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/misc/themes/qtcurve/default.nix b/nixpkgs/pkgs/data/themes/qtcurve/default.nix
index 0071e386e88c..df8e86bf4c15 100644
--- a/nixpkgs/pkgs/misc/themes/qtcurve/default.nix
+++ b/nixpkgs/pkgs/data/themes/qtcurve/default.nix
@@ -3,6 +3,7 @@
 , karchive, kconfig, kconfigwidgets, kio, frameworkintegration
 , kguiaddons, ki18n, kwindowsystem, kdelibs4support, kiconthemes
 , libpthreadstubs, pcre, libXdmcp, libX11, libXau # X11 dependencies
+, fetchpatch
 }:
 
 let
@@ -11,10 +12,17 @@ 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";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/KDE/qtcurve/commit/ee2228ea2f18ac5da9b434ee6089381df815aa94.patch";
+      sha256 = "1vz5frsrsps93awn84gk8d7injrqfcyhc1rji6s0gsgsp5z9sl34";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ];
diff --git a/nixpkgs/pkgs/data/themes/shades-of-gray/default.nix b/nixpkgs/pkgs/data/themes/shades-of-gray/default.nix
index 5d335905273d..84df6175ba4e 100644
--- a/nixpkgs/pkgs/data/themes/shades-of-gray/default.nix
+++ b/nixpkgs/pkgs/data/themes/shades-of-gray/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "shades-of-gray-theme";
-  version = "1.1.9";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "WernerFP";
     repo = pname;
     rev = version;
-    sha256 = "1hg4g242cjncrx9cn7gbzl9gj7zz2fwrkzkkbfazzrdaylbwgm4i";
+    sha256 = "17hlc224mvm9aa5msbq380vv187bw709a4ys27dw4kas6gm04g2s";
   };
 
   buildInputs = [ gtk_engines ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A flat dark GTK-theme with ergonomic contrasts";
+    description = "Flat dark GTK theme with ergonomic contrasts";
     homepage = https://github.com/WernerFP/Shades-of-gray-theme;
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/data/themes/sierra/default.nix b/nixpkgs/pkgs/data/themes/sierra/default.nix
index e5b5ad8d611f..0c9cef9e0977 100644
--- a/nixpkgs/pkgs/data/themes/sierra/default.nix
+++ b/nixpkgs/pkgs/data/themes/sierra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sierra-gtk-theme";
-  version = "2019-05-07";
+  version = "2019-12-16";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0rm9lcwp89ljxqrya9bi882qcs339pc1l945cr1xq2rganqyk9cq";
+    sha256 = "14hlz8kbrjypyd6wyrwmnj2wm9w3kc8y00ms35ard7x8lmhs56hr";
   };
 
   nativeBuildInputs = [ libxml2 ];
diff --git a/nixpkgs/pkgs/misc/themes/solarc/default.nix b/nixpkgs/pkgs/data/themes/solarc/default.nix
index 96843e8d78b4..96843e8d78b4 100644
--- a/nixpkgs/pkgs/misc/themes/solarc/default.nix
+++ b/nixpkgs/pkgs/data/themes/solarc/default.nix
diff --git a/nixpkgs/pkgs/data/themes/stilo/default.nix b/nixpkgs/pkgs/data/themes/stilo/default.nix
index 61ec697d841a..798c1b74f953 100644
--- a/nixpkgs/pkgs/data/themes/stilo/default.nix
+++ b/nixpkgs/pkgs/data/themes/stilo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stilo-themes";
-  version = "3.32-3";
+  version = "3.34-2";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xcndr5mfa91f0ln0az3m79pidjy882v65w5fi5w05kykrmvv81z";
+    sha256 = "1i5cl61dk8sxa6h61ghynm4wp1qzp3c7kwf4ks0ddzzk9dbvdrhb";
   };
 
   nativeBuildInputs = [ meson ninja sassc ];
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
   meta = with stdenv.lib; {
-    description = "Minimalistic GTK themes";
-    homepage = https://github.com/lassekongo83/stilo-themes;
+    description = "Minimalistic GTK, gnome shell and Xfce themes";
+    homepage = "https://github.com/lassekongo83/stilo-themes";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/nixpkgs/pkgs/data/themes/sweet/default.nix b/nixpkgs/pkgs/data/themes/sweet/default.nix
new file mode 100644
index 000000000000..9d3603cbf520
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/sweet/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "sweet";
+  version = "1.10.5";
+
+  srcs = [
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar-Blue.zip";
+      sha256 = "11040hx8ci4vbnyaj63zj924v0ln7rjm9a28mcqdax60h3dp12lj";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar.zip";
+      sha256 = "0lvnjmirpwdav8q0bfbhybwkr2h6dilc7lhhj18xd2k57xadjmxr";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Dark.zip";
+      sha256 = "0a7mh1pgvi8w1ahsmvgnmpdawm30lcjqk4zqvg0lqadsd04dn4h1";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-mars.zip";
+      sha256 = "0n2dkl35qrik10wvhvkayyra987p03g56pxhz5kc73cbsl5zd96l";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet.zip";
+      sha256 = "0wwmc3wj2pjg4kimfkvcsimk3s4s7l7k000vxqi8yjlfs70f273c";
+    })
+  ];
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/themes/
+    cp -a Sweet* $out/share/themes/
+    rm $out/share/themes/*/{LICENSE,README*}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Light and dark colorful Gtk3.20+ theme";
+    homepage = "https://github.com/EliverLara/Sweet";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fuzen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/themes/vertex/default.nix b/nixpkgs/pkgs/data/themes/vertex/default.nix
index 81c681f53715..81c681f53715 100644
--- a/nixpkgs/pkgs/misc/themes/vertex/default.nix
+++ b/nixpkgs/pkgs/data/themes/vertex/default.nix
diff --git a/nixpkgs/pkgs/data/themes/yaru/default.nix b/nixpkgs/pkgs/data/themes/yaru/default.nix
index 2302aa301e3f..f83dbc3ebcc9 100644
--- a/nixpkgs/pkgs/data/themes/yaru/default.nix
+++ b/nixpkgs/pkgs/data/themes/yaru/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yaru";
-  version = "19.10.2";
+  version = "19.10.4";
 
   src = fetchFromGitHub {
     owner = "ubuntu";
     repo = "yaru";
     rev = version;
-    sha256 = "1azyn8pr0kpbq4wlz91f5amqyxqq0x2mxkglzl488sf39fl0gnbj";
+    sha256 = "1dj6awlz13787783ds9mdid75rd4vvgpg52h6x19pxdga3k17s9b";
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
diff --git a/nixpkgs/pkgs/data/themes/zuki/default.nix b/nixpkgs/pkgs/data/themes/zuki/default.nix
index 59099bf52278..45f3862ea630 100644
--- a/nixpkgs/pkgs/data/themes/zuki/default.nix
+++ b/nixpkgs/pkgs/data/themes/zuki/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zuki-themes";
-  version = "3.32-4";
+  version = "3.34-2";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kqhk9qy5hwsd6g0bmq2dg6yj9gbv7l514ripsfiqyllmf4h818h";
+    sha256 = "1nc0qh6qai6ybmz3a44q0rirri0gfg7lyqy4k4l1sci5q5ckl7x4";
   };
 
   nativeBuildInputs = [ meson ninja sassc ];
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
   meta = with stdenv.lib; {
-    description = "Themes for GTK3, gnome-shell and more";
-    homepage = https://github.com/lassekongo83/zuki-themes;
+    description = "Themes for GTK, gnome-shell and Xfce";
+    homepage = "https://github.com/lassekongo83/zuki-themes";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/nixpkgs/pkgs/desktops/cdesktopenv/default.nix b/nixpkgs/pkgs/desktops/cdesktopenv/default.nix
new file mode 100644
index 000000000000..09d53cdd1c56
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cdesktopenv/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchgit, xorgproto, libX11, bison, ksh, perl, gnum4
+, libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps
+, libjpeg, libXmu, libXdmcp, libXScrnSaver, symlinkJoin, bdftopcf
+, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales, gawk
+, autoPatchelfHook, libredirect, makeWrapper, xset, xrdb, fakeroot }:
+
+let
+  x11ProjectRoot = symlinkJoin {
+    name = "x11ProjectRoot";
+    paths = [
+      bdftopcf mkfontdir
+      xset # fonts
+      xrdb # session load
+    ];
+  };
+in stdenv.mkDerivation rec {
+  version = "2019-11-30";
+  name = "cde-${version}";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/cdesktopenv/code";
+    rev = "5cebd7c4da1afea353a3baef250e31a4cf867bc5";
+    sha256 = "06wvnb3n8hn98kxvmrf6v3lyqp8bxpzl8wrixlw9jinmsivfs4b9";
+  };
+  setSourceRoot = ''export sourceRoot="$(echo */cde)"'';
+
+  buildInputs = [
+    libX11 libXinerama libXt libXext libtirpc motif libXft xbitmaps
+    libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh
+  ];
+  nativeBuildInputs = [
+    bison ncompress gawk autoPatchelfHook makeWrapper fakeroot
+  ];
+
+  makeFlags = [
+    "World"
+    "BOOTSTRAPCFLAGS=-I${xorgproto}/include/X11"
+    "IMAKECPP=cpp"
+    "LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive"
+  ];
+
+  preBuild = ''
+    while IFS= read -r -d ''$'\0' i; do
+      substituteInPlace "$i" --replace /usr/dt $out/opt/dt
+    done < <(find "." -type f -exec grep -Iq /usr/dt {} \; -and -print0)
+
+    cat >> config/cf/site.def << EOF
+#define MakeFlagsToShellFlags(makeflags,shellcmd) set -e
+#define KornShell ${ksh}/bin/ksh
+#define PerlCmd ${perl}/bin/perl
+#define M4Cmd ${gnum4}/bin/m4
+#define X11ProjectRoot ${x11ProjectRoot}
+#define CppCmd ${gcc}/bin/cpp
+TIRPCINC = -I${libtirpc.dev}/include/tirpc
+EOF
+
+    patchShebangs .
+    unset AR
+  '';
+
+  installPhase = ''
+    fakeroot admin/IntegTools/dbTools/installCDE -s . -DontRunScripts
+
+    mkdir -p $out/bin
+    mv $out/opt/dt/bin/dtmail $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Common Desktop Environment";
+    homepage = https://sourceforge.net/projects/cdesktopenv/;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/default.nix b/nixpkgs/pkgs/desktops/cinnamon/default.nix
new file mode 100644
index 000000000000..445890782414
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, lib }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+  xapps = callPackage ./xapps {};
+})
diff --git a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
new file mode 100644
index 000000000000..f63ab3cedd8c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
@@ -0,0 +1,104 @@
+{ fetchFromGitHub
+, fetchpatch
+, glib
+, gobject-introspection
+, gtk3
+, libgnomekbd
+, gdk-pixbuf
+, cairo
+, xorg
+, meson
+, ninja
+, pkgconfig
+, python3
+, stdenv
+, vala
+, wrapGAppsHook
+, inxi
+, mate
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xapps";
+  version = "1.6.8";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "09f77vsydv8r6r43py8hrpq7pb4a1pfivy19zgijjy2241i7059v";
+  };
+
+  # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+  NIX_CFLAGS_COMPILE = [
+    "-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
+  patches = [
+    (fetchpatch { # details see https://github.com/linuxmint/xapps/pull/65
+      url = "https://github.com/linuxmint/xapps/compare/d361d9cf357fade59b4bb68df2dcb2c0c39f90e1...2dfe82ec68981ea046345b2be349bd56293579f7.diff";
+      sha256 = "0sffclamvjas8ad57kxrg0vrgrd95xsk0xdl53dc3yivpxkfxrnk";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    (python3.withPackages(ps: with ps; [
+      pygobject3
+      setproctitle # mate applet
+    ]))
+    libgnomekbd
+    gdk-pixbuf
+    xorg.libxkbfile
+    python3.pkgs.pygobject3 # for .pc file
+    mate.mate-panel # for gobject-introspection
+  ];
+
+  # Requires in xapp.pc
+  propagatedBuildInputs = [
+    gtk3
+    cairo
+    glib
+  ];
+
+  mesonFlags = [
+    "-Dpy-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
+  ];
+
+  postPatch = ''
+    chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
+
+    # The fetchpatch hook removes the renames, so postPatch has to rename those files, remove once PR merged
+    mv files/usr/bin/pastebin scripts/pastebin
+    mv files/usr/bin/upload-system-info scripts/upload-system-info
+    mv files/usr/bin/xfce4-set-wallpaper scripts/xfce4-set-wallpaper
+    mv files/usr/share/icons/hicolor icons
+
+    patchShebangs \
+      libxapp/g-codegen.py \
+      schemas/meson_install_schemas.py
+
+    # Patch pastebin & inxi location
+    sed "s|/usr/bin/pastebin|$out/bin/pastebin|" -i scripts/upload-system-info
+    sed "s|'inxi'|'${inxi}/bin/inxi'|" -i scripts/upload-system-info
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/xapps";
+    description = "Cross-desktop libraries and common resources";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/deepin/dbus-factory/default.nix b/nixpkgs/pkgs/desktops/deepin/dbus-factory/default.nix
index 2511f05c4ea3..9f7b0e478e1b 100644
--- a/nixpkgs/pkgs/desktops/deepin/dbus-factory/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dbus-factory/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generates static DBus bindings for Golang and QML at build-time";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-api/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-api/default.nix
index b052a1042403..c4082ce454ce 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-api/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-api/default.nix
@@ -24,7 +24,7 @@
 
 buildGoPackage rec {
   pname = "dde-api";
-  version = "3.18.4.1";
+  version = "5.0.0";
 
   goPackagePath = "pkg.deepin.io/dde/api";
 
@@ -32,7 +32,7 @@ buildGoPackage rec {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0bcjp5ijwa4wmx6p43lik6vjlb7d5rk7nf8xl495i3yk9x70wyfa";
+    sha256 = "0iv4krj6dqdknwvmax7aj40k1h96259kqcfnljadrwpl7cvsvp5p";
   };
 
   goDeps = ./deps.nix;
@@ -113,7 +113,7 @@ buildGoPackage rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go-lang bindings for dde-daemon";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-api/deps.nix b/nixpkgs/pkgs/desktops/deepin/dde-api/deps.nix
index a3b5e20effc7..5ebe1f6af952 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-api/deps.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-api/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+      rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
+      sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+      rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
+      sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
     };
   }
   {
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/disintegration/imaging";
-      rev = "465faf0892b5c7b3325643b0e47282e1331672e7";
-      sha256 = "1z9rkphmqgyphznl53pp1gmf0dfrfrmr95bx46p422ldml26c5a0";
+      rev = "9aab30e6aa535fe3337b489b76759ef97dfaf362";
+      sha256 = "015amm3x989hl3r4gxnixj602fl9j8z53n0lrq804cbfbk7a31fw";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/fogleman/gg";
-      rev = "f194ddec6f45226fc9e1b4a61b7237f186edd543";
-      sha256 = "095g5hpqvpy5w9l4kb65cif013snsvlbw6sgln0kwdix0z099j3i";
+      rev = "4dc34561c649343936bb2d29e23959bd6d98ab12";
+      sha256 = "1x1finzdrr80dd3r7wvf7zb184yjf4dawz7s581p2dr64dcialww";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "7e034cad644213bc79b336b52fce73624259aeca";
-      sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va";
+      rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
+      sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "daa7c04131f568e31c51927b359a2d197a357058";
+      sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
     };
   }
   {
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-calendar/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-calendar/default.nix
index 427cb1249c90..5460a9329629 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-calendar/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "dde-calendar";
-  version = "1.2.10";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "00aqx24jccf88vvkpb9svyjz8knrqyjgd0152psf9dxc9q13f61h";
+    sha256 = "1zzr3crkz4l5l135y0m53vqhv7fkrbvbspk8295swz9gsm3f7ah9";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ mkDerivation rec {
       -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Calendar for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-control-center/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-control-center/default.nix
index 0871e004e5f9..a644da2e9a9c 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-control-center/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "dde-control-center";
-  version = "4.10.11";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1ip8wjwf0n9q8xnqymzh8lz0j5gcnns976n291np6k5kdh2wqhr5";
+    sha256 = "10bx8bpvi3ib32a3l4nyb1j0iq3bch8jm9wfm6d5v0ym1zb92x3b";
   };
 
   nativeBuildInputs = [
@@ -93,13 +93,21 @@ mkDerivation rec {
       --replace "/bin/systemctl" "${systemd}/bin/systemctl"
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   postFixup = ''
     # debuging
     searchForUnresolvedDLL $out
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Control panel of Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-daemon/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-daemon/default.nix
index 19089a6b050e..b5460029f78f 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-daemon/default.nix
@@ -8,7 +8,7 @@
 
 buildGoPackage rec {
   pname = "dde-daemon";
-  version = "3.27.2.6";
+  version = "5.0.0";
 
   goPackagePath = "pkg.deepin.io/dde/daemon";
 
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "14g138h23f1lh1y98pdrfhnph1m7pw8lq8ypiwv9qf3fmdyn35d4";
+    sha256 = "08jri31bvzbaxaq78rpp46ndv0li2dij63hakvd9b9gs786srql1";
   };
 
   patches = [
@@ -115,13 +115,13 @@ buildGoPackage rec {
   postFixup = ''
     # wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec
     for binary in $out/lib/deepin-daemon/*; do
-      wrapProgram $binary "''${gappsWrapperArgs[@]}"
+      wrapGApp "$binary"
     done
 
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Daemon for handling Deepin Desktop Environment session settings";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-daemon/deps.nix b/nixpkgs/pkgs/desktops/deepin/dde-daemon/deps.nix
index c9a15ad88d4a..bcc5ab81808f 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-daemon/deps.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-daemon/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+      rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
+      sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+      rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
+      sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "7e034cad644213bc79b336b52fce73624259aeca";
-      sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va";
+      rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
+      sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "daa7c04131f568e31c51927b359a2d197a357058";
+      sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+      rev = "4b67af870c6ffd08258ef1202f371aebccaf7b68";
+      sha256 = "01mhy1xs2dh18kp6wdk1xnb34lbzv2qkvdwj7w5ha2qgm5rrm4ik";
     };
   }
   {
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-dock/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-dock/default.nix
index fc25d007f200..62d5622340c2 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-dock/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-dock/default.nix
@@ -7,13 +7,13 @@
 let
 unwrapped = mkDerivation rec {
   pname = "dde-dock";
-  version = "4.10.3";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "17iy78r0frpv42g521igfdcgdklbifzig1wzxq2nl14fq0bgxg4v";
+    sha256 = "12dshsqhzajnxm7r53qg0c84b6xlj313qnssnx2m25z4jdp5i7pr";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ unwrapped = mkDerivation rec {
     deepin-desktop-schemas
     dtkcore
     dtkwidget
-    glib.bin
+    glib
     gsettings-qt
     libdbusmenu
     polkit
@@ -64,11 +64,19 @@ unwrapped = mkDerivation rec {
 
   cmakeFlags = [ "-DDOCK_TRAY_USE_NATIVE_POPUP=YES" ];
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   postFixup = ''
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Dock for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-file-manager/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-file-manager/default.nix
index 081c93a65c86..5d0d04bfb764 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-file-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-file-manager/default.nix
@@ -1,22 +1,23 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, avfs, dde-daemon, dde-dock,
-  dde-polkit-agent, dde-qt-dbus-factory, deepin, deepin-anything,
-  deepin-desktop-schemas, deepin-gettext-tools, deepin-movie-reborn,
-  deepin-shortcut-viewer, deepin-terminal, dtkcore, dtkwidget,
-  ffmpegthumbnailer, file, glib, gnugrep, gsettings-qt, gvfs,
-  jemalloc, kcodecs, libX11, libsecret, polkit, polkit-qt, poppler,
-  procps, qmake, qt5integration, qtmultimedia, qtsvg, qttools,
-  qtx11extras, runtimeShell, samba, shadow, taglib, udisks2-qt5,
-  xdg-user-dirs, xorg, zlib, wrapGAppsHook }:
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, avfs, dde-daemon,
+  dde-dock, dde-polkit-agent, dde-qt-dbus-factory, deepin,
+  deepin-anything, deepin-desktop-schemas, deepin-gettext-tools,
+  deepin-movie-reborn, deepin-shortcut-viewer, deepin-terminal,
+  disomaster, dtkcore, dtkwidget, ffmpegthumbnailer, file, glib,
+  gnugrep, gsettings-qt, gvfs, jemalloc, kcodecs, libX11, libsecret,
+  polkit, polkit-qt, poppler, procps, qmake, qt5integration,
+  qtmultimedia, qtsvg, qttools, qtx11extras, runtimeShell, samba,
+  shadow, taglib, udisks2-qt5, xdg-user-dirs, xorg, zlib,
+  wrapGAppsHook }:
 
 mkDerivation rec {
   pname = "dde-file-manager";
-  version = "4.8.6.4";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1m0ykw5a91rm5xcah8bzk21xsambqvncj8104ihdhf9h0z9kdmm2";
+    sha256 = "0n2nl09anqdq0n5yn688n385rn81lcpybs0sa8m311k3k9ndkkyr";
   };
 
   nativeBuildInputs = [
@@ -39,12 +40,12 @@ mkDerivation rec {
     deepin-movie-reborn.dev
     deepin-shortcut-viewer
     deepin-terminal
+    disomaster
     dtkcore
     dtkwidget
     ffmpegthumbnailer
     file
-    glib.bin
-    glib.dev
+    glib
     gnugrep
     gsettings-qt
     gvfs
@@ -231,6 +232,14 @@ mkDerivation rec {
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${libX11}/lib";
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   postFixup = ''
     # debuging
     unset LD_LIBRARY_PATH
@@ -238,7 +247,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "File manager and desktop module for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-kwin/0001-dde-kwin.pc-make-paths-relative.patch b/nixpkgs/pkgs/desktops/deepin/dde-kwin/0001-dde-kwin.pc-make-paths-relative.patch
new file mode 100644
index 000000000000..707eb2074095
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/dde-kwin/0001-dde-kwin.pc-make-paths-relative.patch
@@ -0,0 +1,56 @@
+From c4edb65554f90a5abfc2ecbf63587b8c6ef2653d Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+Date: Tue, 22 Oct 2019 17:20:24 -0400
+Subject: [PATCH] dde-kwin.pc: make paths relative
+
+Values like libdir should be relative to the literal ${prefix}.
+We also use @ONLY so we don't substitute values like ${prefix}
+with CMake resulting in an unintentional replacement.
+---
+ plugins/kwin-xcb/lib/CMakeLists.txt |  2 +-
+ plugins/kwin-xcb/lib/dde-kwin.pc.in | 18 +++++++++---------
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/plugins/kwin-xcb/lib/CMakeLists.txt b/plugins/kwin-xcb/lib/CMakeLists.txt
+index 0189b74..62e5553 100644
+--- a/plugins/kwin-xcb/lib/CMakeLists.txt
++++ b/plugins/kwin-xcb/lib/CMakeLists.txt
+@@ -61,7 +61,7 @@ install_files(
+     kwinutils.h
+ )
+ 
+-configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc)
++configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
+ if (CMAKE_INSTALL_LIBDIR)
+     install_files("/${CMAKE_INSTALL_LIBDIR}/pkgconfig" FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc)
+ elseif (CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+diff --git a/plugins/kwin-xcb/lib/dde-kwin.pc.in b/plugins/kwin-xcb/lib/dde-kwin.pc.in
+index 9b1d813..1179761 100644
+--- a/plugins/kwin-xcb/lib/dde-kwin.pc.in
++++ b/plugins/kwin-xcb/lib/dde-kwin.pc.in
+@@ -1,13 +1,13 @@
+-prefix=${CMAKE_INSTALL_PREFIX}
+-exec_prefix=${CMAKE_INSTALL_PREFIX}
+-libdir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
+-includedir=${INCLUDE_OUTPUT_PATH}
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${prefix}/lib
++includedir=@INCLUDE_OUTPUT_PATH@
+ 
+ 
+-Name: ${PROJECT_NAME}
++Name: @PROJECT_NAME@
+ Description: DDE KWin plugin library
+-Version: ${PROJECT_VERSION}
+-Libs: -l${PROJECT_NAME}
+-Libs.private: -L/usr/X11R6/lib64 -lQt5X11Extras -lKF5WindowSystem -lQt5Widgets -lQt5Gui -lKF5ConfigCore -lKF5CoreAddons -lQt5Core -lGL -lpthread   
+-Cflags: -I${INCLUDE_OUTPUT_PATH}
++Version: @PROJECT_VERSION@
++Libs: -l$@PROJECT_NAME@
++Libs.private: -L/usr/X11R6/lib64 -lQt5X11Extras -lKF5WindowSystem -lQt5Widgets -lQt5Gui -lKF5ConfigCore -lKF5CoreAddons -lQt5Core -lGL -lpthread
++Cflags: -I@INCLUDE_OUTPUT_PATH@
+ 
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-kwin/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-kwin/default.nix
new file mode 100644
index 000000000000..850186953f63
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/dde-kwin/default.nix
@@ -0,0 +1,140 @@
+{ stdenv
+, mkDerivation
+, pkgconfig
+, fetchFromGitHub
+, deepin
+, cmake
+, extra-cmake-modules
+, qtbase
+, libxcb
+, kglobalaccel
+, kwindowsystem
+, kcoreaddons
+, kwin
+, dtkcore
+, gsettings-qt
+, fontconfig
+, deepin-desktop-schemas
+, glib
+, libXrender
+, mtdev
+, qttools
+, deepin-gettext-tools
+, kwayland
+, qtx11extras
+, qtquickcontrols2
+, epoxy
+, qt5integration
+, dde-session-ui
+, dbus
+, wrapGAppsHook
+}:
+
+mkDerivation rec {
+  pname = "dde-kwin";
+  version = "5.0.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0bvkx9h5ygj46a0j76kfyq3gvk6zn4fx6clhrmcr40hbi2k33cbl";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    deepin-gettext-tools
+    deepin.setupHook
+    extra-cmake-modules
+    pkgconfig
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    deepin-desktop-schemas
+    dtkcore
+    epoxy
+    fontconfig
+    glib
+    gsettings-qt
+    kcoreaddons
+    kglobalaccel
+    kwayland
+    kwin
+    kwindowsystem
+    libXrender
+    libxcb
+    mtdev
+    qtbase
+    qtquickcontrols2
+    qttools
+    qtx11extras
+    qt5integration
+  ];
+
+  # Need to add kwayland around:
+  # * https://github.com/linuxdeepin/dde-kwin/blob/5226bb984c844129f9fa589da56e77decb7b39a1/plugins/kwineffects/blur/CMakeLists.txt#L14
+  NIX_CFLAGS_COMPILE = "-I${kwayland.dev}/include/KF5";
+
+  cmakeFlags = [
+    "-DKWIN_VERSION=${(builtins.parseDrvName kwin.name).version}"
+  ];
+
+  patches = [
+    ./0001-dde-kwin.pc-make-paths-relative.patch
+    ./fix-paths.patch
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths
+
+    patchShebangs translate_ts2desktop.sh \
+      translate_generation.sh \
+      translate_desktop2ts.sh \
+      plugins/kwin-xcb/plugin/translate_generation.sh
+
+    fixPath ${deepin-gettext-tools} /usr/bin/deepin-desktop-ts-convert translate_desktop2ts.sh translate_ts2desktop.sh
+
+    fixPath $out /etc/xdg configures/CMakeLists.txt deepin-wm-dbus/deepinwmfaker.cpp
+
+    # TODO: Need environmental patch
+    fixPath /run/current-system/sw /usr/lib plugins/kwin-xcb/plugin/main.cpp
+
+    substituteInPlace configures/kwin-wm-multitaskingview.desktop \
+      --replace "dbus-send" "${dbus}/bin/dbus-send"
+
+    fixPath ${dde-session-ui} /usr/lib/deepin-daemon/dde-warning-dialog deepin-wm-dbus/deepinwmfaker.cpp
+
+    # Correct qt plugin installation path to be within dde-kwin prefix.
+    substituteInPlace CMakeLists.txt \
+      --subst-var-by plugin_path "$out/$qtPluginPrefix"
+  '';
+
+  postInstall = ''
+    # Correct invalid path in .pc
+    substituteInPlace $out/lib/pkgconfig/dde-kwin.pc \
+      --replace "-L/usr/X11R6/lib64" ""
+
+    chmod +x $out/bin/kwin_no_scale
+  '';
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
+
+  meta = with stdenv.lib; {
+    description = "KWin configuration for Deepin Desktop Environment";
+    homepage = "https://github.com/linuxdeepin/dde-kwin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo worldofpeace ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-kwin/fix-paths.patch b/nixpkgs/pkgs/desktops/deepin/dde-kwin/fix-paths.patch
new file mode 100644
index 000000000000..1bf576e5c1a5
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/dde-kwin/fix-paths.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index feef49d..ecb7ed2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,9 +26,9 @@ macro(query_qmake args output)
+     endif()
+ endmacro()
+
+-query_qmake("QT_INSTALL_PLUGINS" QT_INSTALL_PLUGINS)
++set(QT_INSTALL_PLUGINS @plugin_path@)
+
+-set(PLUGIN_INSTALL_PATH ${QT_INSTALL_PLUGINS}/platforms)
++set(PLUGIN_INSTALL_PATH @plugin_path@/platforms)
+ # Find includes in corresponding build directories
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+ # Instruct CMake to run moc automatically when needed
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-launcher/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-launcher/default.nix
index b36d87604e74..eae074381f3b 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-launcher/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-launcher/default.nix
@@ -1,17 +1,17 @@
 { stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, dde-qt-dbus-factory,
   dde-session-ui, deepin, deepin-desktop-schemas, deepin-wallpapers,
   dtkcore, dtkwidget, gsettings-qt, qtsvg, qttools, qtx11extras,
-  which, xdg_utils, wrapGAppsHook }:
+  which, xdg_utils, wrapGAppsHook, glib }:
 
 mkDerivation rec {
   pname = "dde-launcher";
-  version = "4.6.13";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1lwwn2qjbd4i7wx18mi8n7hzdh832i3kdadrivr10sbafdank7ky";
+    sha256 = "0zh6bb0r3pgjrnw9rba46ghdzza1ka1mv7r1znf8gw24wsjgjcpn";
   };
 
   nativeBuildInputs = [
@@ -29,6 +29,7 @@ mkDerivation rec {
     deepin-wallpapers
     dtkcore
     dtkwidget
+    glib
     gsettings-qt
     qtsvg
     qtx11extras
@@ -58,12 +59,20 @@ mkDerivation rec {
     # note: `dbus-send` path does not need to be hard coded because it is not used for dtkcore >= 2.0.8.0
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   postFixup = ''
     # debugging
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Desktop Environment launcher module";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-network-utils/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-network-utils/default.nix
index 5397439949b3..778481fc6516 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-network-utils/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-network-utils/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "dde-network-utils";
-  version = "0.1.4";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0nj9lf455lf2hyqv6xwhm4vrr825ldbl83azzrrzqs6p781x65i1";
+    sha256 = "0670kfnkplf7skkd1ql6y9x15kmrcbdv1005qwkg4vn8hic6s0z3";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin network utils";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-polkit-agent/default.nix
index 9d181c188d4d..7aaddf538723 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-polkit-agent/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "dde-polkit-agent";
-  version = "0.2.10";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0syg121slpd6d9xpifgcf85lg9ca0k96cl1g3rjvsmczs2d2ffgf";
+    sha256 = "00p8syx6rfwhq7wdsk37hm9mvwd0kwj9h0s39hii892h1psd84q9";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "PolicyKit agent for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
index a0e1e35ad859..ba237bcf7554 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-qt-dbus-factory";
-  version = "1.1.5";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1jzfblsmnfpgym95mmbd8mjkk8wqqfb0kz6n6fy742hmqlzrpsj7";
+    sha256 = "1wbh4jgvy3c09ivy0vvfk0azkg4d2sv37y23c9rq49jb3sakcjgm";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt DBus interface library for Deepin software";
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-session-ui/default.nix b/nixpkgs/pkgs/desktops/deepin/dde-session-ui/default.nix
index d6713fb3688e..a664defae563 100644
--- a/nixpkgs/pkgs/desktops/deepin/dde-session-ui/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dde-session-ui/default.nix
@@ -1,19 +1,19 @@
 { stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, dbus, dde-daemon,
   dde-qt-dbus-factory, deepin, deepin-desktop-schemas,
   deepin-gettext-tools, deepin-icon-theme, deepin-wallpapers, dtkcore,
-  dtkwidget, gnugrep, gsettings-qt, hicolor-icon-theme, lightdm_qt,
+  dtkwidget, gnugrep, gsettings-qt, lightdm_qt,
   onboard, qtsvg, qttools, qtx11extras, setxkbmap, utillinux, which,
   xkeyboard_config, xorg, xrandr, wrapGAppsHook }:
 
 mkDerivation rec {
   pname = "dde-session-ui";
-  version = "4.9.12";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "00i45xv87wx9cww1d445lg6zjbhda5kki8nhsaav8gf2d4cmwzf4";
+    sha256 = "1gy9nlpkr9ayrs1z2dvd7h0dqlw6fq2m66d9cs48qyfkr6c8l9jj";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,6 @@ mkDerivation rec {
     dtkwidget
     gnugrep
     gsettings-qt
-    hicolor-icon-theme
     lightdm_qt
     onboard
     qtsvg
@@ -90,8 +89,8 @@ mkDerivation rec {
     substituteInPlace lightdm-deepin-greeter/scripts/lightdm-deepin-greeter --replace "/usr/bin/lightdm-deepin-greeter" "$out/bin/lightdm-deepin-greeter"
     substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-lock" "$out/bin/dde-lock"
     substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-shutdown" "$out/bin/dde-shutdown"
-    substituteInPlace session-widgets/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter"
-    substituteInPlace session-widgets/lockworker.cpp --replace "which" "${which}/bin/which"
+    substituteInPlace dde-lock/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter"
+    substituteInPlace dde-lock/lockworker.cpp --replace "which" "${which}/bin/which"
     substituteInPlace session-widgets/userinfo.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
     substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
     substituteInPlace widgets/kblayoutwidget.cpp --replace "setxkbmap" "${setxkbmap}/bin/setxkbmap"
@@ -105,16 +104,24 @@ mkDerivation rec {
     # - do not wrap dde-dman-portal related files: it appears it has been removed: https://github.com/linuxdeepin/dde-session-ui/commit/3bd028cf135ad22c784c0146e447ef34a69af768
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   postFixup = ''
-    # wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec
+    # wrapGAppsHook or wrapQtAppsHook does not work with binaries outside of $out/bin or $out/libexec
     for binary in $out/lib/deepin-daemon/*; do
-      wrapProgram $binary "''${qtWrapperArgs[@]}"
+      wrapProgram $binary "''${gappsWrapperArgs[@]}"
     done
 
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin desktop-environment - Session UI module";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-anything/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-anything/default.nix
index 7c88102c5f3a..184153a3981d 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-anything/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-anything/default.nix
@@ -3,7 +3,7 @@
 
 mkDerivation rec {
   pname = "deepin-anything";
-  version = "0.1.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -51,7 +51,7 @@ mkDerivation rec {
     searchHardCodedPaths $modsrc  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin file search tool";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-calculator/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-calculator/default.nix
index 97d2b53da70a..26f2b99612e6 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-calculator/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "deepin-calculator";
-  version = "1.0.11";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "10bfq0h8v0a8i46gcbsy79l194g8sc0ysg289ndrra209fhwlidq";
+    sha256 = "0f26y7b3giybybhvlzbnwcw8kidzvhq66h0c15n9ww81gnlqf7v5";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy to use calculator for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-desktop-base/default.nix
index ba826eb9063f..0ca42a887611 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-desktop-base/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-desktop-base";
-  version = "2019.06.19";
+  version = "2019.07.10";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1r158x4z4qalv4q1ni3aln05krdzblvr7y6wyciwl7cr5ag1i1jy";
+    sha256 = "0rs7bjy35k5gc5nbba1cijhdz16zny30lgmcf2ckx1pkdszk2vra";
   };
 
   nativeBuildInputs = [ deepin.setupHook ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Base assets and definitions for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
index 4f2427e8237a..579ceb442be6 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -1,15 +1,15 @@
-{ 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 {
   pname = "deepin-desktop-schemas";
-  version = "3.13.6";
+  version = "3.13.9";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "03jqb47kjyb9b43m2yincfjn2i43ma1pn1hddyicrrpg937caa81";
+    sha256 = "1c69j6s7561zb1hrd1j3ihji1nvpgfzfgnp6svsv8jd8dg8vs8l1";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     deepin-gtk-theme
     deepin-icon-theme
     deepin-sound-theme
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GSettings deepin desktop-wide schemas";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-editor/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-editor/default.nix
new file mode 100644
index 000000000000..0aea9558ec00
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
index 67fcc36bcefc..915cb8c6ac76 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Internationalization utilities";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
index 8e2469a2c788..7c10e8732094 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin GTK Theme";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-icon-theme/default.nix
index e63a228d0cbe..b6b9feb410b5 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin }:
+{ stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "deepin-icon-theme";
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ papirus-icon-theme ];
 
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
   postPatch = ''
     patchShebangs tools/hicolor.links
     patchShebangs tools/display_unused_links.sh
@@ -26,14 +32,14 @@ stdenv.mkDerivation rec {
   '';
 
   buildTargets = "all hicolor-links";
-  installTargets = "install-icons install-cursors";
+  installTargets = [ "install-icons" "install-cursors" ];
   installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
     cp -a ./Sea ./usr/share/icons/hicolor "$out"/share/icons/
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Icons for the Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-image-viewer/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-image-viewer/default.nix
index 733f4846f5cf..aa13eb76055c 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-image-viewer/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-image-viewer/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "deepin-image-viewer";
-  version = "1.3.17";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0hz4f1kqcycyvggwfzpkblhhha87rqd427hq0mf31jfh5x17ymnh";
+    sha256 = "01524hfdy3wvdf07n9b3qb8jdpxzg2hwjpl4gxvr68qws5nbnb3c";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ mkDerivation rec {
       -e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Image Viewer for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-menu/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-menu/default.nix
index 9aef8a15eb94..b23a7491aaf6 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-menu/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-menu/default.nix
@@ -34,7 +34,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin menu service";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-metacity/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-metacity/default.nix
deleted file mode 100644
index 18f542233019..000000000000
--- a/nixpkgs/pkgs/desktops/deepin/deepin-metacity/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, glib,
-  gtk3, libgtop, bamf, json-glib, libcanberra-gtk3, libxkbcommon,
-  libstartup_notification, deepin-wallpapers, deepin-desktop-schemas,
-  deepin, wrapGAppsHook }:
-
-stdenv.mkDerivation rec {
-  pname = "deepin-metacity";
-  version = "3.22.24";
-
-  src = fetchFromGitHub {
-    owner = "linuxdeepin";
-    repo = pname;
-    rev = version;
-    sha256 = "1im0wz1zlxiag4kpp5d4hv0aa0ybr4bizarr3903hrqv0lp46hyx";
-  };
-
-  nativeBuildInputs = [
-    pkgconfig
-    intltool
-    libtool
-    glib.dev
-    gnome3.gnome-common
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    gnome3.dconf
-    gtk3
-    libgtop
-    gnome3.zenity
-    bamf
-    json-glib
-    libcanberra-gtk3
-    libstartup_notification
-    libxkbcommon
-    deepin-wallpapers
-    deepin-desktop-schemas
-  ];
-
-  postPatch = ''
-    sed -i src/ui/deepin-background-cache.c \
-      -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;'
-  '';
-
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
-  configureFlags = [ "--disable-themes-documentation" ];
-
-  preConfigure = ''
-    HOME=$TMP
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  enableParallelBuilding = true;
-
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
-
-  meta = with stdenv.lib; {
-    description = "2D window manager for Deepin";
-    homepage = https://github.com/linuxdeepin/deepin-metacity;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
index 046f589263bd..b3930c8e399e 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras,
+{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkgconfig, qttools, qtx11extras,
   dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio,
   libdvdnav, libdvdread, xorg, deepin }:
 
 mkDerivation rec {
   pname = "deepin-movie-reborn";
-  version = "3.2.24";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "16mxym7dm6qk90q2w7xqm62047rq0lirrjmnnpaxshzaww9gngkh";
+    sha256 = "0cly8q0514a58s3h3wsvx9yxar7flz6i2q8xkrkfjias22b3z7b0";
   };
 
   outputs = [ "out" "dev" ];
@@ -19,6 +19,7 @@ mkDerivation rec {
     cmake
     pkgconfig
     qttools
+    deepin.setupHook
   ];
 
   buildInputs = [
@@ -37,14 +38,27 @@ mkDerivation rec {
     xorg.xcbproto
   ];
 
+  patches = [
+    # fix: build failed if cannot find dtk-settings tool
+    (fetchpatch {
+      url = "https://github.com/linuxdeepin/deepin-movie-reborn/commit/fbb307b.patch";
+      sha256 = "0915za0khki0729rvcfpxkh6vxhqwc47cgcmjc90kfq1004221vx";
+    })
+  ];
+
   NIX_LDFLAGS = "-ldvdnav";
 
+
   postPatch = ''
-    sed -i src/CMakeLists.txt -e "s,/usr/lib/dtk2,${dtkcore}/lib/dtk2,"
+    searchHardCodedPaths  # debugging
+
     sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
+
+    substituteInPlace src/deepin-movie.desktop \
+      --replace "Exec=deepin-movie" "Exec=$out/bin/deepin-movie"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin movie player";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch b/nixpkgs/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch
deleted file mode 100644
index 4a57b501e01e..000000000000
--- a/nixpkgs/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8eeb4febcae517080d6638f8953e02335df79f01 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
-Date: Sat, 20 Apr 2019 00:28:47 -0300
-Subject: [PATCH] Get plugins dir from environment variable
-
----
- src/compositor/meta-plugin-manager.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/src/compositor/meta-plugin-manager.c b/src/compositor/meta-plugin-manager.c
-index ac5716db..d000100b 100644
---- a/src/compositor/meta-plugin-manager.c
-+++ b/src/compositor/meta-plugin-manager.c
-@@ -56,14 +56,22 @@ meta_plugin_manager_set_plugin_type (GType gtype)
- void
- meta_plugin_manager_load (const gchar       *plugin_name)
- {
--  const gchar *dpath = MUTTER_PLUGIN_DIR "/";
-+  const gchar *env_var;
-+  const gchar *dpath;
-   gchar       *path;
-   MetaModule  *module;
- 
-+  env_var = g_getenv ("DEEPIN_MUTTER_PLUGINS_DIR");
-+  g_debug ("$DEEPIN_MUTTER_PLUGINS_DIR: %s\n", env_var);
-+
-+  dpath = env_var == NULL || strlen (env_var) == 0 ? MUTTER_PLUGIN_DIR : env_var;
-+  g_debug ("dpath: %s\n", dpath);
-+
-   if (g_path_is_absolute (plugin_name))
-     path = g_strdup (plugin_name);
-   else
--    path = g_strconcat (dpath, plugin_name, ".so", NULL);
-+    path = g_strconcat (dpath, "/", plugin_name, ".so", NULL);
-+  g_debug ("path: %s\n", path);
- 
-   module = g_object_new (META_TYPE_MODULE, "path", path, NULL);
-   if (!module || !g_type_module_use (G_TYPE_MODULE (module)))
--- 
-2.21.0
-
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-mutter/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-mutter/default.nix
deleted file mode 100644
index 9f2e8068d555..000000000000
--- a/nixpkgs/pkgs/desktops/deepin/deepin-mutter/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, gtk3,
-  xorg, libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon,
-  libstartup_notification, libinput, libgudev, cogl, clutter, systemd,
-  gsettings-desktop-schemas, deepin-desktop-schemas, wrapGAppsHook,
-  deepin }:
-
-stdenv.mkDerivation rec {
-  pname = "deepin-mutter";
-  version = "3.20.38";
-
-  src = fetchFromGitHub {
-    owner = "linuxdeepin";
-    repo = pname;
-    rev = version;
-    sha256 = "1aq7606sgn2c6n8wfgxdryw3lprc4va0zjc0r65798w5656fdi31";
-  };
-
-  nativeBuildInputs = [
-    pkgconfig
-    intltool
-    libtool
-    gnome3.gnome-common
-    wrapGAppsHook
-    deepin.setupHook
-  ];
-
-  buildInputs = [
-    clutter
-    cogl
-    deepin-desktop-schemas
-    gnome3.gnome-desktop
-    gnome3.zenity
-    gsettings-desktop-schemas
-    gtk3
-    libcanberra-gtk3
-    libgudev
-    libinput
-    libstartup_notification
-    libxkbcommon
-    systemd
-    upower
-    xkeyboard_config
-    xorg.libxkbfile
-  ];
-
-  patches = [
-    ./deepin-mutter.plugins-dir.patch
-  ];
-
-  postPatch = ''
-    searchHardCodedPaths  # debugging
-    sed -i -e "s,Exec=deepin-mutter,Exec=$out/bin/deepin-mutter," data/mutter.desktop.in
-  '';
-
-  configureFlags = [
-    "--enable-native-backend"
-    "--enable-compile-warnings=minimum"
-  ];
-
-  preConfigure = ''
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  postFixup = ''
-    searchHardCodedPaths $out  # debugging
-  '';
-
-  enableParallelBuilding = true;
-
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
-
-  meta = with stdenv.lib; {
-    description = "Base window manager for deepin, fork of gnome mutter";
-    homepage = https://github.com/linuxdeepin/deepin-mutter;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-screenshot/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-screenshot/default.nix
index e77aa5e68c63..374af8be2be8 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-screenshot/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-screenshot/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "deepin-screenshot";
-  version = "4.2.1";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "16wy1ywp4lm7fg488laqxgxpir745rbpj9z410r6x7krpgjds189";
+    sha256 = "0h1kcf9i8q6rz4jhym3yf84zr6svzff0hh9sl7b24sflzkxx6zwk";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy-to-use screenshot tool for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
index 62c6c7ed9259..a8d143ff8b0c 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
@@ -3,7 +3,7 @@
 
 mkDerivation rec {
   pname = "deepin-shortcut-viewer";
-  version = "1.3.5";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Pop-up shortcut viewer for Deepin applications";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-sound-theme/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-sound-theme/default.nix
index e61e91fc87c7..378945ac1dde 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-sound-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-sound-theme/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin sound theme";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-terminal/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-terminal/default.nix
index 59789bd84bbe..049c856419d6 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-terminal/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, ninja, vala,
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, ninja, vala_0_40,
   gettext, at-spi2-core, dbus, epoxy, expect, gtk3, json-glib,
   libXdmcp, libgee, libpthreadstubs, librsvg, libsecret, libtasn1,
-  libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libselinux,
+  libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libselinux, gnutls, pcre2,
   libsepol, utillinux, deepin-menu, deepin-shortcut-viewer, deepin, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "deepin-terminal";
-  version = "3.2.6";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = "deepin-terminal";
     rev = version;
-    sha256 = "09s5gvzfxfb353kb61x1b6z3h2aqgln3s3mah3f3zkf5y8hrp2pj";
+    sha256 = "1929saj828b438d07caw3cjhqq60v6gni7mi3fqrg9wdjz81xwv7";
   };
 
   nativeBuildInputs = [
     pkgconfig
     cmake
     ninja
-    vala
+    vala_0_40 # xcb.vapi:411.3-411.48: error: missing return statement at end of subroutine body
     gettext
     libselinux libsepol utillinux # required by gio
     deepin.setupHook
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
     pcre
     vte
     wnck
+    gnutls
+    pcre2
   ];
 
   postPatch = ''
@@ -59,7 +61,7 @@ stdenv.mkDerivation rec {
     "-DVERSION=${version}"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Default terminal emulator for Deepin";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-turbo/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-turbo/default.nix
index 299db5336746..3aa6003592b6 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-turbo/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-turbo/default.nix
@@ -31,7 +31,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "A daemon that helps to launch applications faster";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-wallpapers/default.nix
index e822cf6269dd..6baee0eda110 100644
--- a/nixpkgs/pkgs/desktops/deepin/deepin-wallpapers/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/deepin-wallpapers/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Wallpapers for Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix
deleted file mode 100644
index 13b115e7042f..000000000000
--- a/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
-  dbus, bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3,
-  libwnck3, deepin-menu, deepin-mutter, deepin-wallpapers,
-  deepin-desktop-schemas, wrapGAppsHook, deepin }:
-
-stdenv.mkDerivation rec {
-  pname = "deepin-wm";
-  version = "1.9.38";
-
-  src = fetchFromGitHub {
-    owner = "linuxdeepin";
-    repo = pname;
-    rev = version;
-    sha256 = "1qhdnv4x78f0gkr94q0j8x029fk9ji4m9jdipgrdm83pnahib80g";
-  };
-
-  nativeBuildInputs = [
-    pkgconfig
-    intltool
-    libtool
-    vala
-    gnome3.gnome-common
-    wrapGAppsHook
-    deepin.setupHook
-  ];
-
-  buildInputs = [
-    bamf
-    clutter-gtk
-    dbus
-    deepin-desktop-schemas
-    deepin-menu
-    deepin-mutter
-    deepin-wallpapers
-    gnome3.gnome-desktop
-    libcanberra-gtk3
-    libgee
-    libwnck3
-    pantheon.granite
-  ];
-
-  postPatch = ''
-    searchHardCodedPaths  # debugging
-
-    # fix background path
-    fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
-    sed -i 's|default_background.jpg|deepin/desktop.jpg|' src/Background/BackgroundSource.vala
-
-    # fix executable paths in desktop files
-    sed -i -e "s,Exec=dbus-send,Exec=${dbus}/bin/dbus-send," data/gala-multitaskingview.desktop.in
-    sed -i -e "s,Exec=deepin-wm,Exec=$out/bin/deepin-wm," data/gala.desktop
-  '';
-
-  NIX_CFLAGS_COMPILE = "-DWNCK_I_KNOW_THIS_IS_UNSTABLE";
-
-  preConfigure = ''
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  postFixup = ''
-    searchHardCodedPaths $out  # debugging
-  '';
-
-  enableParallelBuilding = true;
-
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
-
-  meta = with stdenv.lib; {
-    description = "Deepin Window Manager";
-    homepage = https://github.com/linuxdeepin/deepin-wm;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/deepin/default.nix b/nixpkgs/pkgs/desktops/deepin/default.nix
index 869f08154bbb..64dbdbfd104c 100644
--- a/nixpkgs/pkgs/desktops/deepin/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/default.nix
@@ -13,6 +13,7 @@ let
     dde-daemon = callPackage ./dde-daemon { };
     dde-dock = callPackage ./dde-dock { };
     dde-file-manager = callPackage ./dde-file-manager { };
+    dde-kwin = callPackage ./dde-kwin { };
     dde-launcher = callPackage ./dde-launcher { };
     dde-network-utils = callPackage ./dde-network-utils { };
     dde-polkit-agent = callPackage ./dde-polkit-agent { };
@@ -22,14 +23,13 @@ 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 { };
     deepin-image-viewer = callPackage ./deepin-image-viewer { };
     deepin-menu = callPackage ./deepin-menu { };
-    deepin-metacity = callPackage ./deepin-metacity { };
     deepin-movie-reborn = callPackage ./deepin-movie-reborn { };
-    deepin-mutter = callPackage ./deepin-mutter { };
     deepin-screenshot = callPackage ./deepin-screenshot { };
     deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
     deepin-sound-theme = callPackage ./deepin-sound-theme { };
@@ -38,9 +38,7 @@ let
     };
     deepin-turbo = callPackage ./deepin-turbo { };
     deepin-wallpapers = callPackage ./deepin-wallpapers { };
-    deepin-wm = callPackage ./deepin-wm {
-      vala = pkgs.vala_0_42;
-    };
+    disomaster = callPackage ./disomaster { };
     dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
     dtkcore = callPackage ./dtkcore { };
     dtkwidget = callPackage ./dtkwidget { };
@@ -52,6 +50,7 @@ let
     qcef = callPackage ./qcef { };
     qt5dxcb-plugin = callPackage ./qt5dxcb-plugin { };
     qt5integration = callPackage ./qt5integration { };
+    startdde = callPackage ./startdde { };
     udisks2-qt5 = callPackage ./udisks2-qt5 { };
 
   };
diff --git a/nixpkgs/pkgs/desktops/deepin/disomaster/default.nix b/nixpkgs/pkgs/desktops/deepin/disomaster/default.nix
new file mode 100644
index 000000000000..3ce2adba098d
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/disomaster/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtbase, libisoburn, deepin }:
+
+mkDerivation rec {
+  pname = "disomaster";
+  version = "5.0.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "13144gq0mpbpclzxc79fb1kirh0vvi50jvjnbpla9s8lvh59xl62";
+  };
+
+  nativeBuildInputs = [
+    deepin.setupHook
+    pkgconfig
+    qmake
+  ];
+
+  buildInputs = [
+    libisoburn
+    qtbase
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths  # debugging
+
+    sed -i '/^QMAKE_PKGCONFIG_DESTDIR/i QMAKE_PKGCONFIG_PREFIX = $$PREFIX' \
+       libdisomaster/libdisomaster.pro
+  '';
+
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
+
+  meta = with stdenv.lib; {
+    description = "A libisoburn wrapper for Qt";
+    homepage = https://github.com/linuxdeepin/disomaster;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo worldofpeace ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/nixpkgs/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
index f645be0f4d9b..ed01cd92c7c7 100644
--- a/nixpkgs/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dpa-ext-gnomekeyring";
-  version = "0.1.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GNOME keyring extension for dde-polkit-agent";
diff --git a/nixpkgs/pkgs/desktops/deepin/dtkcore/default.nix b/nixpkgs/pkgs/desktops/deepin/dtkcore/default.nix
index 2ed10f993681..8ae1c6f0952f 100644
--- a/nixpkgs/pkgs/desktops/deepin/dtkcore/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dtkcore/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "dtkcore";
-  version = "2.0.14";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0yc6zx8rhzg9mj2brggcsr1jy1pzfvgqy1h305y2dwnx5haazd04";
+    sha256 = "0xdh6mmrv8yr6mjmlwj0fv037parkkwfwlaibcbrskwxqp9iri1y";
   };
 
   nativeBuildInputs = [
@@ -31,21 +31,22 @@ mkDerivation rec {
 
   qmakeFlags = [
     "DTK_VERSION=${version}"
+    "LIB_INSTALL_DIR=${placeholder "out"}/lib"
     "MKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs"
   ];
 
   postFixup = ''
-    chmod +x $out/lib/dtk2/*.py
-    wrapPythonProgramsIn "$out/lib/dtk2" "$out $pythonPath"
+    chmod +x $out/lib/libdtk-${version}/DCore/bin/*.py
+    wrapPythonProgramsIn "$out/lib/libdtk-${version}/DCore/bin" "$out $pythonPath"
     searchHardCodedPaths $out  # debugging
   '';
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
-    description = "Deepin tool kit core modules";
+    description = "Deepin tool kit core library";
     homepage = https://github.com/linuxdeepin/dtkcore;
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/deepin/dtkwidget/default.nix b/nixpkgs/pkgs/desktops/deepin/dtkwidget/default.nix
index 54c4163fcd1d..751fe02562f0 100644
--- a/nixpkgs/pkgs/desktops/deepin/dtkwidget/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dtkwidget/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "dtkwidget";
-  version = "2.0.14";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "11ws0rl7rhlgwbqd4nqpqxhngf4lcyfrrdq33wzxwdlk33d69i1h";
+    sha256 = "0yqrm1p0k1843ldvcd79dxl26ybyl5kljl6vwhzc58sx7pw4qmvh";
   };
 
   nativeBuildInputs = [
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/nixpkgs/pkgs/desktops/deepin/dtkwm/default.nix b/nixpkgs/pkgs/desktops/deepin/dtkwm/default.nix
index 4807c3d312b5..ead96fe25338 100644
--- a/nixpkgs/pkgs/desktops/deepin/dtkwm/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/dtkwm/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore,
-  deepin }:
+{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, pkgconfig, qmake, qtx11extras, dtkcore, deepin }:
 
 mkDerivation rec {
   pname = "dtkwm";
-  version = "2.0.11";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "10l89i84vsh5knq9wg2php7vfg5rj5c9hrrl9rjlcidn1rz8yx6f";
+    sha256 = "0rdzzqsggqarldwb4yp5s4sf5czicgxbdmibjn0pw32129r2d1g3";
   };
 
   nativeBuildInputs = [
@@ -22,6 +21,14 @@ mkDerivation rec {
     qtx11extras
   ];
 
+  patches = [
+    # Set DTK_MODULE_NAME
+    (fetchpatch {
+      url = "https://github.com/linuxdeepin/dtkwm/commit/2490891a.patch";
+      sha256 = "0krydxjpnaihkgs1n49b6mcf3rd3lkispcnkb1j5vpfs9hp9f48j";
+    })
+  ];
+
   outRef = placeholder "out";
 
   qmakeFlags = [
@@ -30,7 +37,7 @@ mkDerivation rec {
     "LIB_INSTALL_DIR=${outRef}/lib"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/nixpkgs/pkgs/desktops/deepin/go-dbus-factory/default.nix b/nixpkgs/pkgs/desktops/deepin/go-dbus-factory/default.nix
index d302cc3417f2..0b7c6cfdc914 100644
--- a/nixpkgs/pkgs/desktops/deepin/go-dbus-factory/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/go-dbus-factory/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GoLang DBus factory for the Deepin Desktop Environment";
diff --git a/nixpkgs/pkgs/desktops/deepin/go-dbus-generator/default.nix b/nixpkgs/pkgs/desktops/deepin/go-dbus-generator/default.nix
index 125629764902..fed8b6f2c6ae 100644
--- a/nixpkgs/pkgs/desktops/deepin/go-dbus-generator/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/go-dbus-generator/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "go-dbus-generator";
-  version = "0.6.6";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Convert dbus interfaces to go-lang or qml wrapper code";
diff --git a/nixpkgs/pkgs/desktops/deepin/go-gir-generator/default.nix b/nixpkgs/pkgs/desktops/deepin/go-gir-generator/default.nix
index 2f431bd941b8..5a10efa1932b 100644
--- a/nixpkgs/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generate static golang bindings for GObject";
diff --git a/nixpkgs/pkgs/desktops/deepin/go-lib/default.nix b/nixpkgs/pkgs/desktops/deepin/go-lib/default.nix
index fff92b595f8b..730412a58f31 100644
--- a/nixpkgs/pkgs/desktops/deepin/go-lib/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/go-lib/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "go-lib";
-  version = "1.10.2";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "05z7ayl23cm8mbn4vkn3isy5kgwxljc26ifmzrhmnqm5yibd6lsf";
+    sha256 = "0j1ik5hfrysqgync8cyv815cwyjn67k8n69x6llxdp39jli1k8q0";
   };
 
   buildInputs = [
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     rm -r $out/share/go/src/pkg.deepin.io/lib/debian
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go bindings for Deepin Desktop Environment development";
diff --git a/nixpkgs/pkgs/desktops/deepin/qcef/default.nix b/nixpkgs/pkgs/desktops/deepin/qcef/default.nix
index ffbc230d2e2a..38ca4f3b6766 100644
--- a/nixpkgs/pkgs/desktops/deepin/qcef/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/qcef/default.nix
@@ -40,7 +40,7 @@ in
 
 mkDerivation rec {
   pname = "qcef";
-  version = "1.1.6";
+  version = "1.1.7";
 
   srcs = [
     (fetchFromGitHub {
@@ -53,8 +53,8 @@ mkDerivation rec {
     (fetchFromGitHub {
       owner = "linuxdeepin";
       repo = "cef-binary";
-      rev = "059a0c9cef4e289a50dc7a2f4c91fe69db95035e";
-      sha256 = "1h7cq63n94y2a6fprq4g63admh49rcci7avl5z9kdimkhqb2jb84";
+      rev = "fecf00339545d2819224333cc506d5aa22ae8008";
+      sha256 = "06i1zc7ciy7d0qhndiwpjrsii0x5i5hg9j6ddi4w5yf1nzgsrj4n";
       name = "cef-binary";
     })
   ];
@@ -90,7 +90,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt5 binding of Chromium Embedded Framework";
diff --git a/nixpkgs/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix b/nixpkgs/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
index 4d0240c426ba..6b1f212716cf 100644
--- a/nixpkgs/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
@@ -3,14 +3,19 @@
 
 mkDerivation rec {
   pname = "qt5dxcb-plugin";
-  version = "1.2.2";
+  version = "5.0.1";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "linuxdeepin";
+      repo = pname;
+      rev = version;
+      sha256 = "1pkhbx4hzjv7n4mscv7dng9ymjcc1csdc82iy62yxshhq32bcfja";
+    })
+    qtbase.src
+  ];
 
-  src = fetchFromGitHub {
-    owner = "linuxdeepin";
-    repo = pname;
-    rev = version;
-    sha256 = "1zvab6qxdr49pmk6mbk7s0md7bx585p32lca0xbg8mrkajz7g8rq";
-  };
+  sourceRoot = "source";
 
   nativeBuildInputs = [
     pkgconfig
@@ -22,15 +27,23 @@ mkDerivation rec {
     libSM
     mtdev
     cairo
+    qtbase
   ];
 
+  postPatch = ''
+    # The Qt5 platforms plugin is vendored in the package, however what's there is not always up-to-date with what's in nixpkgs.
+    # We simply copy the headers from qtbase's source tarball.
+    mkdir -p platformplugin/libqt5xcbqpa-dev/${qtbase.version}
+    cp -r ../qtbase-everywhere-src-${qtbase.version}/src/plugins/platforms/xcb/*.h platformplugin/libqt5xcbqpa-dev/${qtbase.version}/
+  '';
+
   qmakeFlags = [
     "INSTALL_PATH=${placeholder "out"}/${qtbase.qtPluginPrefix}/platforms"
   ];
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugin for DDE";
diff --git a/nixpkgs/pkgs/desktops/deepin/qt5integration/default.nix b/nixpkgs/pkgs/desktops/deepin/qt5integration/default.nix
index 97e60be6d678..5de46f8a1dd4 100644
--- a/nixpkgs/pkgs/desktops/deepin/qt5integration/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/qt5integration/default.nix
@@ -4,7 +4,7 @@
 
 mkDerivation rec {
   pname = "qt5integration";
-  version = "0.3.12";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugins for DDE";
diff --git a/nixpkgs/pkgs/desktops/deepin/startdde/default.nix b/nixpkgs/pkgs/desktops/deepin/startdde/default.nix
new file mode 100644
index 000000000000..137b3f690a67
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/startdde/default.nix
@@ -0,0 +1,136 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, alsaLib,
+  coreutils, dbus-factory, dde-api, dde-daemon, dde-dock,
+  dde-file-manager, dde-polkit-agent, dde-session-ui, deepin,
+  deepin-desktop-base, deepin-desktop-schemas, deepin-turbo,
+  dde-kwin, glib, gnome3, go, go-dbus-factory, go-gir-generator,
+  go-lib, gtk3, jq, kmod, libX11, libXi, libcgroup, pciutils, psmisc,
+  pulseaudio, systemd, xorg, wrapGAppsHook }:
+
+buildGoPackage rec {
+  name = "${pname}-${version}";
+  pname = "startdde";
+  version = "5.0.1";
+
+  goPackagePath = "pkg.deepin.io/dde/startdde";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1xydmglydksy7hjlavf5pbfy0s0lndgavh8x3kg2mg7d36mbra43";
+  };
+
+  goDeps = ./deps.nix;
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    dbus-factory
+    dde-api
+    go-dbus-factory
+    go-gir-generator
+    go-lib
+    jq
+    wrapGAppsHook
+    deepin.setupHook
+  ];
+
+  buildInputs = [
+    alsaLib
+    dde-daemon
+    dde-dock
+    dde-file-manager
+    dde-kwin
+    dde-polkit-agent
+    dde-session-ui
+    deepin-desktop-schemas
+    deepin-turbo
+    glib
+    gnome3.dconf
+    gnome3.gnome-keyring
+    gnome3.libgnome-keyring
+    gtk3
+    kmod
+    libX11
+    libXi
+    libcgroup
+    pciutils
+    psmisc
+    pulseaudio
+    systemd
+    xorg.xdriinfo
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths  # debugging
+
+    # Commented lines below indicates a doubt about how to fix the hard coded path
+
+     fixPath $out                    /etc/X11                                  Makefile
+    #fixPath ?                       /etc/xdg/autostop                         autostop/autostop.go
+     fixPath ${coreutils}            /bin/ls                                   copyfile_test.go
+     fixPath $out                    /usr/share/startdde/auto_launch.json      launch_group.go
+    #fixPath ?                       /usr/bin/kwin_no_scale                    main.go  # not found on deepin linux and archlinux
+     fixPath $out                    /usr/share/startdde/memchecker.json       memchecker/config.go
+     fixPath $out                    /usr/bin/startdde                         misc/00deepin-dde-env
+     fixPath ${dde-file-manager}     /usr/bin/dde-file-manager                 misc/auto_launch/chinese.json
+     fixPath ${deepin-turbo}         /usr/lib/deepin-turbo/booster-dtkwidget   misc/auto_launch/chinese.json
+     fixPath ${dde-daemon}           /usr/lib/deepin-daemon/dde-session-daemon misc/auto_launch/chinese.json misc/auto_launch/default.json
+     fixPath ${dde-dock}             /usr/bin/dde-dock                         misc/auto_launch/chinese.json misc/auto_launch/default.json
+     fixPath ${dde-file-manager}     /usr/bin/dde-desktop                      misc/auto_launch/chinese.json misc/auto_launch/default.json
+     fixPath $out                    /usr/bin/startdde                         misc/deepin-session
+    #fixPath ?                       /usr/lib/lightdm/config-error-dialog.sh   misc/deepin-session  # provided by lightdm on deepin linux
+    #fixPath ?                       /usr/sbin/lightdm-session                 misc/deepin-session  # provided by lightdm on deepin linux
+     fixPath ${dde-session-ui}       /usr/bin/dde-lock                         session.go
+     fixPath ${dde-session-ui}       /usr/bin/dde-shutdown                     session.go
+     fixPath ${dde-session-ui}       /usr/lib/deepin-daemon/dde-osd            session.go
+     fixPath ${deepin-desktop-base}  /etc/deepin-version                       session.go
+     fixPath ${gnome3.gnome-keyring} /usr/bin/gnome-keyring-daemon             session.go
+     fixPath ${pulseaudio}           /usr/bin/pulseaudio                       sound_effect.go
+    #fixPath ?                       /usr/lib/UIAppSched.hooks                 startmanager.go  # not found anything about this
+     fixPath ${dde-session-ui}       /usr/lib/deepin-daemon/dde-welcome        utils.go
+     fixPath ${dde-polkit-agent}     /usr/lib/polkit-1-dde/dde-polkit-agent    watchdog/dde_polkit_agent.go
+    #fixPath ?                       /var/log/Xorg.0.log                       wm/driver.go
+    #fixPath ?                       /etc/deepin-wm-switcher/config.json       wm/switcher_config.go  # not present on nixos, deepin linux and archlinux
+
+    substituteInPlace wm/driver.go      --replace '/sbin/lsmod'                   "${kmod}/bin/lsmod"
+
+    substituteInPlace session.go        --replace 'LookPath("cgexec"'             'LookPath("${libcgroup}/bin/cgexec"'
+    substituteInPlace vm.go             --replace 'Command("dde-wm-chooser"'      'Command("${dde-session-ui}/bin/dde-wm-chooser"'
+    substituteInPlace vm.go             --replace 'Command("systemd-detect-virt"' 'Command("${systemd}/bin/systemd-detect-virt"'
+    substituteInPlace wm/card_info.go   --replace 'Command("lspci"'               'Command("${pciutils}/bin/lspci"'
+    substituteInPlace wm/driver.go      --replace 'Command("lspci"'               'Command("${pciutils}/bin/lspci"'
+    substituteInPlace wm/driver.go      --replace 'Command("xdriinfo"'            'Command("${xorg.xdriinfo}/bin/xdriinfo"'
+    substituteInPlace wm/platform.go    --replace 'Command("gsettings"'           'Command("${glib}/bin/gsettings"'
+    substituteInPlace wm/platform.go    --replace 'Command("uname"'               'Command("${coreutils}/bin/uname"'
+    substituteInPlace wm/switcher.go    --replace 'Command("killall"'             'Command("${psmisc}/bin/killall"'
+  '';
+
+  buildPhase = ''
+    make -C go/src/${goPackagePath}
+  '';
+
+  installPhase = ''
+    make install PREFIX="$out" -C go/src/${goPackagePath}
+    rm -rf $out/share/lightdm  # this is uselesss for NixOS
+    remove-references-to -t ${go} $out/bin/* $out/sbin/*
+  '';
+
+  postFixup = ''
+    searchHardCodedPaths $out  # debugging
+  '';
+
+  passthru = {
+    updateScript = deepin.updateScript { inherit name; };
+    providedSessions = [ "deepin" ];
+  };
+
+  meta = with stdenv.lib; {
+    description = "Starter of deepin desktop environment";
+    homepage = https://github.com/linuxdeepin/startdde;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/deepin/startdde/deps.nix b/nixpkgs/pkgs/desktops/deepin/startdde/deps.nix
new file mode 100644
index 000000000000..8898b8c50fb7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/startdde/deps.nix
@@ -0,0 +1,30 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/cryptix/wav";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cryptix/wav";
+      rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
+      sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6";
+    };
+  }
+  {
+    goPackagePath = "github.com/linuxdeepin/go-x11-client";
+    fetch = {
+      type = "git";
+      url = "https://github.com/linuxdeepin/go-x11-client";
+      rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a";
+      sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "daa7c04131f568e31c51927b359a2d197a357058";
+      sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/desktops/deepin/udisks2-qt5/default.nix b/nixpkgs/pkgs/desktops/deepin/udisks2-qt5/default.nix
index 51c38f6d3474..7972d8f9a3f7 100644
--- a/nixpkgs/pkgs/desktops/deepin/udisks2-qt5/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/udisks2-qt5/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "udisks2-qt5";
-  version = "0.0.1";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1gk4jmq7mrzk181r6man2rz1iyzkfasz7053a30h4nn24mq8ikig";
+    sha256 = "0mqxm6ixzpbg0rr6ly2kvnkpag8gjza67ya7jv4i4rihbq1d0wzi";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "UDisks2 D-Bus interfaces binding for Qt5";
diff --git a/nixpkgs/pkgs/desktops/enlightenment/econnman.nix b/nixpkgs/pkgs/desktops/enlightenment/econnman.nix
index 93b0cb59650b..9aca09a510a3 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/econnman.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/econnman.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A user interface for the connman network connection manager";
     homepage = https://enlightenment.org/;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
-    platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/enlightenment/efl.nix b/nixpkgs/pkgs/desktops/enlightenment/efl.nix
index 1876cce6c8a9..183e72565d3d 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/efl.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/efl.nix
@@ -1,58 +1,119 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, lz4, freetype, fontconfig
-, fribidi, SDL2, SDL, libGL, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio
-, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, bullet, luajit
-, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg
-, dbus, alsaLib, poppler, ghostscript, libraw, libspectre, xineLib, libwebp
-, curl, libinput, systemd, mesa, writeText, gtk3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib,
+  avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig,
+  freetype, fribidi, ghostscript, giflib, glib, gst_all_1, gtk3,
+  harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, libjpeg, libpng,
+  libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff,
+  libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl,
+  poppler, python27Packages, systemd, udev, utillinux, writeText,
+  xorg, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "efl";
-  version = "1.22.3";
+  version = "1.23.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1j1i8cwq4ym9z34ikv35mdmv5q7q69hdp494mc6l03g9n6cl2yky";
+    sha256 = "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk";
   };
 
-  nativeBuildInputs = [ pkgconfig gtk3 ];
-
-  buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGL mesa
-    giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
-    gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.xorgproto
-    xorg.libX11 udev systemd ];
-
-  propagatedBuildInputs = [ libxkbcommon python27Packages.dbus-python dbus libjpeg xorg.libXcomposite
-    xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext
-    bullet xorg.libXScrnSaver xorg.libXrender xorg.libXfixes xorg.libXrandr
-    xorg.libxkbfile xorg.libxcb xorg.xcbutilkeysyms openjpeg doxygen expat luajit
-    harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
-    libinput utillinux fribidi SDL2 ];
-
-  # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
-  configureFlags = [
-    "--enable-sdl"
-    "--enable-drm"
-    "--enable-elput"
-    "--with-opengl=full"
-    "--enable-image-loader-jp2k"
-    "--enable-xinput22"
-    "--enable-multisense"
-    "--enable-liblz4"
-    "--enable-systemd"
-    "--enable-image-loader-webp"
-    "--enable-harfbuzz"
-    "--enable-xine"
-    "--enable-fb"
-    "--disable-tslib"
-    "--with-systemdunitdir=$out/systemd/user"
-    "ac_ct_CXX=foo"
+  nativeBuildInputs = [
+    meson
+    ninja
+    gtk3
+    pkgconfig
+    check
+  ];
+
+  buildInputs = [
+    SDL
+    avahi
+    fontconfig
+    freetype
+    giflib
+    glib
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gstreamer
+    ibus
+    libGL
+    libpng
+    libpulseaudio
+    libsndfile
+    libtiff
+    lz4
+    mesa
+    openssl
+    systemd
+    udev
+    xorg.libX11
+    xorg.libXcursor
+    xorg.xorgproto
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    SDL2
+    alsaLib
+    bullet
+    curl
+    dbus
+    dbus
+    doxygen
+    expat
+    fribidi
+    ghostscript
+    harfbuzz
+    jbig2dec
+    libdrm
+    libinput
+    libjpeg
+    libraw
+    librsvg
+    libspectre
+    libwebp
+    libxkbcommon
+    luajit
+    openjpeg
+    poppler
+    python27Packages.dbus-python
+    utillinux
+    xorg.libXScrnSaver
+    xorg.libXcomposite
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXinerama
+    xorg.libXp
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+    xorg.libxcb
+    xorg.libxkbfile
+    xorg.xcbutilkeysyms
+  ];
+
+  mesonFlags = [
+    "--buildtype=release"
+    "-D build-tests=false" # disable build tests, which are not working
+    "-D drm=true"
+    "-D embedded-lz4=false"
+    "-D evas-loaders-disabler=json"
+    "-D fb=true"
+    "-D opengl=full"
+    "-D sdl=true"
   ];
 
   patches = [ ./efl-elua.patch ];
 
   postPatch = ''
     patchShebangs src/lib/elementary/config_embed
+
+    # fix destination of systemd unit and dbus service
+    substituteInPlace systemd-services/meson.build --replace "dep.get_pkgconfig_variable('systemduserunitdir')" "'$out/systemd/user'"
+    substituteInPlace dbus-services/meson.build --replace "dep.get_pkgconfig_variable('session_bus_services_dir')" "'$out/share/dbus-1/services'"
   '';
 
   # bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
@@ -61,35 +122,38 @@ stdenv.mkDerivation rec {
   '';
 
   preConfigure = ''
-    export LD_LIBRARY_PATH="$(pwd)/src/lib/eina/.libs:$LD_LIBRARY_PATH"
+    # allow ecore_con to find libcurl.so, which is a runtime dependency (it is dlopened)
+    export LD_LIBRARY_PATH="${curl.out}/lib:$LD_LIBRARY_PATH"
+
     source "$setupHook"
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
+  NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
   postInstall = ''
+    # fix use of $out variable
     substituteInPlace "$out/share/elua/core/util.lua" --replace '$out' "$out"
+
+    # add all module include dirs to the Cflags field in efl.pc
     modules=$(for i in "$out/include/"*/; do printf ' -I''${includedir}/'`basename $i`; done)
-    substituteInPlace "$out/lib/pkgconfig/efl.pc" --replace 'Cflags: -I''${includedir}/efl-1' \
-      'Cflags: -I''${includedir}/eina-1/eina'"$modules"
+    substituteInPlace "$out/lib/pkgconfig/efl.pc" \
+      --replace 'Cflags: -I''${includedir}/efl-1' \
+                'Cflags: -I''${includedir}/eina-1/eina'"$modules"
 
     # build icon cache
     gtk-update-icon-cache "$out"/share/icons/Enlightenment-X
   '';
 
-  # EFL applications depend on libcurl, although it is linked at
-  # runtime by hand in code (it is dlopened).
   postFixup = ''
+    # EFL applications depend on libcurl, which is linked at runtime by hand in code (it is dlopened)
     patchelf --add-needed ${curl.out}/lib/libcurl.so $out/lib/libecore_con.so
   '';
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "Enlightenment foundation libraries";
     homepage = https://enlightenment.org/;
-    platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl3;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/enlightenment/enlightenment.nix b/nixpkgs/pkgs/desktops/enlightenment/enlightenment.nix
index a5724385e41b..0fb249135a24 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/enlightenment.nix
@@ -9,18 +9,18 @@
 
 stdenv.mkDerivation rec {
   pname = "enlightenment";
-  version = "0.23.0";
+  version = "0.23.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1y7x594gvyvl5zbb1rnf3clj2pm6j97n8wl5mp9x6xjmhx0d1idq";
+    sha256 = "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75";
   };
 
   nativeBuildInputs = [
-    (pkgconfig.override { vanilla = true; })
     gettext
     meson
     ninja
+    pkgconfig
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/enlightenment/ephoto.nix b/nixpkgs/pkgs/desktops/enlightenment/ephoto.nix
index f1455f68338f..b00b3d7a8462 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/ephoto.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/ephoto.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    (pkgconfig.override { vanilla = true; })
+    pkgconfig
     mesa.dev # otherwise pkg-config does not find gbm
     makeWrapper
   ];
@@ -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/nixpkgs/pkgs/desktops/enlightenment/rage.nix b/nixpkgs/pkgs/desktops/enlightenment/rage.nix
index 8d99ce6e8e0e..f0a9799e5b49 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/rage.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/rage.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    (pkgconfig.override { vanilla = true; })
+    pkgconfig
     mesa.dev
     wrapGAppsHook
   ];
diff --git a/nixpkgs/pkgs/desktops/enlightenment/terminology.nix b/nixpkgs/pkgs/desktops/enlightenment/terminology.nix
index 52f0ff15e235..ee140e091505 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/terminology.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/terminology.nix
@@ -2,17 +2,17 @@
 
 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 = [
     meson
     ninja
-    (pkgconfig.override { vanilla = true; })
+    pkgconfig
     makeWrapper
   ];
 
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Powerful terminal emulator based on EFL";
     homepage = https://www.enlightenment.org/about-terminology;
-    platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-2/default.nix b/nixpkgs/pkgs/desktops/gnome-2/default.nix
index 6cc6848b316f..d0a7a890355a 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/default.nix
@@ -37,9 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
 
-  gnome_vfs = callPackage ./platform/gnome-vfs {
-    openssl = pkgs.openssl_1_0_2;
-  };
+  gnome_vfs = callPackage ./platform/gnome-vfs { };
 
   libgnome = callPackage ./platform/libgnome { };
 
diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix
index 10b99e4eb5d2..c12d50d792f2 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     ./patches/mail-notification-dont-link-against-bsd-compat.patch
   ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   preConfigure = "./jb configure prefix=$out";
diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix
index 1a1848491b16..f13ff5712427 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python2, intltool }:
+{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python3, intltool }:
 
 stdenv.mkDerivation rec {
   pname = "gconf";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "man" ];
 
-  buildInputs = [ ORBit2 libxml2 python2 ]
+  buildInputs = [ ORBit2 libxml2 python3 ]
     # polkit requires pam, which requires shadow.h, which is not available on
     # darwin
     ++ stdenv.lib.optional (!stdenv.isDarwin) polkit;
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
     # fixes the "libgconfbackend-oldxml.so is not portable" error on darwin
     stdenv.lib.optional stdenv.isDarwin [ "--enable-static" ];
 
+  postPatch = ''
+    2to3 --write --nobackup gsettings/gsettings-schema-convert
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://projects.gnome.org/gconf/;
     description = "Deprecated system for storing application preferences";
diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index c15f43b542aa..7196840978f4 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus-glib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libxml2, bzip2, openssl, dbus-glib
 , glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
@@ -20,6 +20,18 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ GConf glib ];
 
+  # struct SSL is opaque in openssl-1.1; and the SSL_free() man page
+  # says that one should not free members of it manually (in both
+  # the openssl-1.0 and openssl-1.1 man pages).
+  # https://bugs.gentoo.org/592540
+  patches = [ (fetchpatch {
+                name = "gnome-vfs-2.24.4-openssl-1.1.patch";
+                url = "https://bugs.gentoo.org/attachment.cgi?id=535944";
+                sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040";
+                extraPrefix = "";
+              })
+            ];
+
   postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
 
   doCheck = false; # needs dbus daemon
diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 27caaa70634f..522c5ce6b061 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,32 +1,58 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }:
+{ stdenv
+, fetchFromGitLab
+, pkgconfig
+, gtk-doc
+, autoconf
+, automake
+, which
+, libtool
+, gobject-introspection
+, glib
+, gtk2
+, libGLU
+, libGL
+, pango
+, xorg
+}:
 
 stdenv.mkDerivation rec {
-  name = "gtkglext-1.2.0";
+  pname = "gtkglext";
+  version = "unstable-2019-12-19";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gtkglext/1.2/${name}.tar.bz2";
-    sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "Archive";
+    repo = pname;
+    # build fixes
+    # https://gitlab.gnome.org/Archive/gtkglext/merge_requests/1
+    rev = "ad95fbab68398f81d7a5c895276903b0695887e2";
+    sha256 = "1d1bp4635nla7d07ci40c7w4drkagdqk8wg93hywvdipmjfb4yqb";
   };
 
-  buildInputs = with xorg;
-    [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ];
-  propagatedBuildInputs = [ pangox_compat ];
+  nativeBuildInputs = [
+    pkgconfig
+    gtk-doc
+    autoconf
+    automake
+    which
+    libtool
+    gobject-introspection
+  ];
 
-  patches = [
-    # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
-    # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
-    (fetchpatch {
-      name = "02_fix_gtk-2.20_deprecated_symbols.diff";
-      url = https://git.gnome.org/browse/gtkglext/patch/?id=d8f285d1397f6c41099c67e668288eecc1cdae67;
-      sha256 = "1zxak73plhy3m6psil1q9ssvjh9aqrif7kcbcz69y480qfb4ja08";
-    })
-    # Fix build with glibc ≥ 2.27
-    (fetchurl {
-      url = https://salsa.debian.org/gewo/gtkglext/raw/3b002677c907890c7de002c9f5b4b3ec71d11b31/debian/patches/04_glibc2.27-ftbfs.diff;
-      sha256 = "1l1swkjkai6pnah23xfsfpbq2fgbhp5pzj3l0ybsx6b858cxqzj5";
-    })
+  buildInputs = [
+    glib
+    gtk2
+    libGLU
+    libGL
+    pango
+    xorg.libX11
+    xorg.libXmu
   ];
 
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://projects.gnome.org/gtkglext/;
     description = "GtkGLExt, an OpenGL extension to GTK";
diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
index 5ff687adcf6f..3c89f9ff0fcc 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
@@ -16,5 +16,5 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk2 intltool GConf enchant isocodes gnome_icon_theme ];
 
-  NIX_LDFLAGS = [ "-lgthread-2.0" ];
+  NIX_LDFLAGS = "-lgthread-2.0";
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index 9a70319952cf..8fd4a0923767 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -17,13 +17,13 @@
 
  python3.pkgs.buildPythonApplication rec {
   name = "accerciser-${version}";
-  version = "3.32.3";
+  version = "3.34.3";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/accerciser/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0ark4qkfvdggz2mbksq12iq55izdsjnkjqkvfnnkf4k5vfpa95y5";
+    sha256 = "1ixyxfv2h5921x82d0r39v952ggclnf2xba5li01qmshl6b21kcc";
   };
 
   nativeBuildInputs = [
@@ -48,6 +48,7 @@
     pyatspi
     pycairo
     pygobject3
+    setuptools
     xlib
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix
index b18e58f6f56f..b3bb1e1093c9 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix
@@ -1,39 +1,41 @@
-{ stdenv, intltool, fetchurl, wrapGAppsHook, gnome-video-effects, libcanberra-gtk3
+{ stdenv, gettext, fetchurl, wrapGAppsHook, gnome-video-effects, libcanberra-gtk3
 , pkgconfig, gtk3, glib, clutter-gtk, clutter-gst, udev, gst_all_1, itstool
-, libgudev, autoreconfHook, vala, docbook_xml_dtd_43, docbook_xsl, appstream-glib
+, libgudev, vala, docbook_xml_dtd_43, docbook_xsl, appstream-glib
 , libxslt, yelp-tools, gnome-common, gtk-doc
-, adwaita-icon-theme, librsvg, totem, gdk-pixbuf, gnome3, gnome-desktop, libxml2 }:
+, adwaita-icon-theme, librsvg, totem, gdk-pixbuf, gnome3, gnome-desktop, libxml2
+, meson, ninja, dbus, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "cheese";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv";
+    sha256 = "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni";
   };
 
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript { packageName = "cheese"; attrPath = "gnome3.cheese"; };
   };
 
   nativeBuildInputs = [
-    pkgconfig intltool itstool vala wrapGAppsHook libxml2 appstream-glib
+    meson ninja pkgconfig gettext itstool vala wrapGAppsHook libxml2 appstream-glib
     libxslt docbook_xml_dtd_43 docbook_xsl
-    autoreconfHook gtk-doc yelp-tools gnome-common
+    gtk-doc yelp-tools gnome-common python3
   ];
   buildInputs = [ gtk3 glib gnome-video-effects
                   gdk-pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer
                   gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gnome-desktop
                   gst_all_1.gst-plugins-bad clutter-gtk clutter-gst
-                  libcanberra-gtk3 libgudev ];
+                  libcanberra-gtk3 libgudev dbus ];
 
   outputs = [ "out" "man" "devdoc" ];
 
-  patches = [
-    gtk-doc.respect_xml_catalog_files_var_patch
-  ];
-
   preFixup = ''
     gappsWrapperArgs+=(
       # Effects
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 2061fc26607e..a8c5d93b88d8 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -10,7 +10,7 @@
 , gtk3
 , glib
 , libnotify
-, gtkspell3
+, gspell
 , evolution-data-server
 , adwaita-icon-theme
 , gnome-desktop
@@ -38,15 +38,16 @@
 , procps
 , p11-kit
 , openldap
+, spamassassin
 }:
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.32.4";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh";
+    sha256 = "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c";
   };
 
   nativeBuildInputs = [
@@ -73,7 +74,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-base
     gst_all_1.gstreamer
     gtk3
-    gtkspell3
+    gspell
     highlight
     icu
     libcanberra-gtk3
@@ -102,6 +103,10 @@ stdenv.mkDerivation rec {
     "-DENABLE_LIBCRYPTUI=OFF"
     "-DENABLE_PST_IMPORT=OFF"
     "-DENABLE_YTNEF=OFF"
+    "-DWITH_SPAMASSASSIN=${spamassassin}/bin/spamassassin"
+    "-DWITH_SA_LEARN=${spamassassin}/bin/sa-learn"
+    "-DWITH_BOGOFILTER=${bogofilter}/bin/bogofilter"
+    "-DWITH_OPENLDAP=${openldap}"
   ];
 
   requiredSystemFeatures = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix
index 267a7f2f7d20..387f0ebdc446 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "file-roller";
-  version = "3.32.1";
+  version = "3.32.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0irm72cf8222h93skivn0nn0ckahiiiimy4rb9r3ccjvhi3hiaqw";
+    sha256 = "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy";
   };
 
   LANG = "en_US.UTF-8"; # postinstall.py
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix
index 35d97a87a86f..6ea04910d230 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "3.32.2";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl";
+    sha256 = "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix
index f776f4dbe5a2..0998dbd069db 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix
@@ -6,7 +6,6 @@
 , ninja
 , python3
 , gnome3
-, hicolor-icon-theme
 , desktop-file-utils
 , appstream-glib
 , gettext
@@ -32,7 +31,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     desktop-file-utils
     gettext
-    hicolor-icon-theme # for setup-hook
     itstool
     meson
     ninja
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix
index 25ee957224c7..628442c30753 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-books";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wkcywcwwszj9mldr0lngczqdz7hys08rr1nd2k6rs8ykzs2z7m4";
+    sha256 = "153vknqisjn5f105avzm933fsc3v0pjzzbwxlqxf8vjjksh1cmya";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index 2f0a21896e90..d59746adc3d9 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,49 +1,124 @@
-{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig, gettext, itstool, libvirt-glib
-, glib, gobject-introspection, libxml2, gtk3, gtk-vnc, freerdp, libvirt, spice-gtk, python3
-, spice-protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
-, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop-file-utils
-, mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, libsecret
-, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk, vte
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, wrapGAppsHook
+, pkgconfig
+, gettext
+, itstool
+, libvirt-glib
+, glib
+, gobject-introspection
+, libxml2
+, gtk3
+, gtk-vnc
+, freerdp
+, libvirt
+, spice-gtk
+, python3
+, spice-protocol
+, libsoup
+, libosinfo
+, systemd
+, tracker
+, tracker-miners
+, vala
+, libcap
+, yajl
+, gmp
+, gdbm
+, cyrus_sasl
+, gnome3
+, librsvg
+, desktop-file-utils
+, mtools
+, cdrkit
+, libcdio
+, libusb
+, libarchive
+, acl
+, libgudev
+, libsecret
+, libcap_ng
+, numactl
+, xen
+, libapparmor
+, json-glib
+, webkitgtk
+, vte
+, glib-networking
 }:
 
-# TODO: ovirt (optional)
-
-let
-  version = "3.32.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  inherit version;
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "159sxii3g4s5pjb4s4i3kc4q162w5vicp4g6wvk1y2yv68bgmcl4";
+    sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5";
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobject-introspection desktop-file-utils python3
+    desktop-file-utils
+    gettext
+    gobject-introspection
+    itstool
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
   ];
 
   # Required for USB redirection PolicyKit rules file
-  propagatedUserEnvPkgs = [ spice-gtk ];
+  propagatedUserEnvPkgs = [
+    spice-gtk
+  ];
 
   buildInputs = [
-    libvirt-glib glib gtk3 gtk-vnc freerdp libxml2
-    libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd
-    tracker tracker-miners libcap yajl gmp gdbm cyrus_sasl libusb libarchive
-    gnome3.adwaita-icon-theme librsvg acl libgudev libsecret
-    libcap_ng numactl xen libapparmor vte
+    acl
+    cyrus_sasl
+    freerdp
+    gdbm
+    glib
+    glib-networking
+    gmp
+    gnome3.adwaita-icon-theme
+    gtk-vnc
+    gtk3
+    json-glib
+    libapparmor
+    libarchive
+    libcap
+    libcap_ng
+    libgudev
+    libosinfo
+    librsvg
+    libsecret
+    libsoup
+    libusb
+    libvirt
+    libvirt-glib
+    libxml2
+    numactl
+    spice-gtk
+    spice-protocol
+    systemd
+    tracker
+    tracker-miners
+    vte
+    webkitgtk
+    xen
+    yajl
   ];
 
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio ]}")
   '';
 
-  mesonFlags = [
-    "-Dovirt=false"
-  ];
-
   postPatch = ''
     chmod +x build-aux/post_install.py # patchShebangs requires executable file
     patchShebangs build-aux/post_install.py
@@ -51,8 +126,8 @@ in stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-boxes";
-      attrPath = "gnome3.gnome-boxes";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index 03619f38c9ba..b00045cf9e9e 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-calendar";
-  version = "3.32.2";
+  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 = "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k";
+    sha256 = "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
index ac1e9ee85c01..9e44573d2e38 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
       sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
         -i $file
 
-      wrapProgram $file "''${gappsWrapperArgs[@]}"
+      wrapGApp "$file"
     done
   '';
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index 38182f1f994f..a99e775b26b5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-clocks";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc";
+    sha256 = "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index 1301381e5aaf..5aa39e09cd6f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/nixpkgs/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.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1gqddzbr4d8s0asmrhy0sfmwggzhbmpm61mqf8rxpdjk7s26086c";
+    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/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
index 655e9e9fe34d..f5261011d113 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-getting-started-docs";
-  version = "3.32.2";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-getting-started-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq";
+    sha256 = "00in6yc02pdalyx8g0fncmch0l7nr819587ngjm83ara9qa8z6fa";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
index 8681a3c866ce..c80238740e54 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, glib, gtk3, wrapGAppsHook, desktop-file-utils
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, glib, gtk3, wrapGAppsHook
 , gettext, itstool, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_43, systemd, python3, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-logs";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-logs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hh3nnbq7q2xbflvaywanm0j3dqhb04ngphskhnjx2sg7px12068";
+    sha256 = "16jfwg912asirrdmipf6wh7zr5zrww3nyhf99mi230y8hmqazx0m";
   };
 
   mesonFlags = [
-    "-Dtests=true"
     "-Dman=true"
   ];
 
   nativeBuildInputs = [
     python3
-    meson ninja pkgconfig wrapGAppsHook gettext itstool desktop-file-utils
+    meson ninja pkgconfig wrapGAppsHook gettext itstool
     libxml2 libxslt docbook_xsl docbook_xml_dtd_43
   ];
   buildInputs = [ glib gtk3 systemd gsettings-desktop-schemas gnome3.adwaita-icon-theme ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index 6011092c0e0e..784b0142f468 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-maps";
-  version = "3.32.2.1";
+  version = "3.34.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1m191iq1gjaqz79ci3dkbmwrkxp7pzknngimlf5bqib5x8yairlb";
+    sha256 = "1p58il8dqj96nlv41gf926y8nw6ya15vmv9yr52025sizxaqzydw";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 9b8c96729ad7..9926672aa4be 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/nixpkgs/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.32.2";
+  version = "3.34.3";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0cn7l1d3ayima1w3bxpshijabd7ibhnvqxv2mpvffzizk04ln6hk";
+    sha256 = "0kp7r6l8hb8aq9j2fdiw49p7hyls4gllz258qy6fp3bbfzmbn4g7";
   };
 
-  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/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
index 920343a60241..434a72341f66 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
@@ -5,14 +5,14 @@
 , gnome3, libxml2, gsettings-desktop-schemas, tracker }:
 
 let
-  version = "3.32.2";
+  version = "3.34.1";
 in stdenv.mkDerivation {
   pname = "gnome-notes";
   inherit version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz";
-    sha256 = "0chm2fks7cpx3mycxzddpj6v9by203c3m1y6zns5ra43bspwafy2";
+    sha256 = "0yf2scjnn2qi40g4iqg11qc4bnspd3qcnvg5b11ign5fa3qcihzv";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
index 907c0424454a..3996a2e7564a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk-pixbuf, gst_all_1, gnome3
-, meson, ninja, python3, hicolor-icon-theme, desktop-file-utils }:
+, meson, ninja, python3, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-sound-recorder";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0q83b6dabckmwj8mcw0wvhbxaszwdzzcf8ajx5bldll3lyl5yh2b";
+    sha256 = "1i442qas2dkp5d9j9j1z1jicb4cb7jkgbcl4c36bmhvaq3hddwa9";
   };
 
   nativeBuildInputs = [
     pkgconfig gettext meson ninja gobject-introspection
-    wrapGAppsHook python3 hicolor-icon-theme desktop-file-utils
+    wrapGAppsHook python3 desktop-file-utils
   ];
   buildInputs = [ gjs glib gtk3 gdk-pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]);
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
index dbbbb43659ba..f5c4eedc48d5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
@@ -31,10 +31,11 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # fix build with e-d-s 3.32
+    # fix build with libecal 2.0
     (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-todo/commit/6cdabc4dd0c6c804a093b94c269461ce376fed4f.patch;
-      sha256 = "08ldgyxv9216dgr8y9asqd7j2y82y9yqnqhkqaxc9i8a67yz1gzy";
+      name = "gnome-todo-eds-libecal-2.0.patch";
+      url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch";
+      sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq";
     })
   ];
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
index 1e5a641f08fd..c71baa146d1a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-weather";
-  version = "3.32.2";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-weather/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0jfxdfbjkrk3x48w6nxgbmazd6jw1fh4mfw12hlly4rs0cjw698s";
+    sha256 = "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja wrapGAppsHook python3 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
deleted file mode 100644
index 7ac8b4dfe116..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, meson, ninja, glib, pkgconfig, gnome3, appstream-glib, gettext }:
-
-let
-  pname = "nautilus-sendto";
-  version = "3.8.6";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/3.8/${name}.tar.xz";
-    sha256 = "164d7c6e8bae29c4579bcc67a7bf50d783662b1545b62f3008e7ea3c0410e04d";
-  };
-
-  nativeBuildInputs = [ meson ninja pkgconfig appstream-glib gettext ];
-  buildInputs = [ glib ];
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "gnome3.${pname}";
-    };
-  };
-
-  meta = with stdenv.lib; {
-    description = "Integrates Evolution and Pidgin into the Nautilus file manager";
-    maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix
index 51fea63b7142..02b476c2eea1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "polari";
-  version = "3.32.2";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp";
+    sha256 = "0wcfkib673fpys7hcpi5cqc0zgqzqmqvpzjzx4wwmim8lb121x5w";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index a1bcb406eb3a..c6d5b22f9348 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -1,30 +1,65 @@
-{ stdenv, fetchurl, vala, meson, ninja, libpwquality
-, pkgconfig, gtk3, glib, gobject-introspection
-, wrapGAppsHook, itstool, gnupg, libsoup
-, gnome3, gpgme, python3, openldap, gcr
-, libsecret, avahi, p11-kit, openssh, gsettings-desktop-schemas }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, vala
+, meson
+, ninja
+, libpwquality
+, pkgconfig
+, gtk3
+, glib
+, wrapGAppsHook
+, itstool
+, gnupg
+, libsoup
+, gnome3
+, gpgme
+, python3
+, openldap
+, gcr
+, libsecret
+, avahi
+, p11-kit
+, openssh
+, gsettings-desktop-schemas
+}:
 
 stdenv.mkDerivation rec {
   pname = "seahorse";
-  version = "3.32.2";
+  version = "3.34";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x";
+    sha256 = "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v";
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    meson ninja pkgconfig vala itstool wrapGAppsHook
-    python3 gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    vala
+    itstool
+    wrapGAppsHook
+    python3
   ];
+
   buildInputs = [
-    gtk3 glib gcr
-    gsettings-desktop-schemas gnupg
-    gnome3.adwaita-icon-theme gpgme
-    libsecret avahi libsoup p11-kit
-    openssh openldap libpwquality
+    gtk3
+    glib
+    gcr
+    gsettings-desktop-schemas
+    gnupg
+    gnome3.adwaita-icon-theme
+    gpgme
+    libsecret
+    avahi
+    libsoup
+    p11-kit
+    openssh
+    openldap
+    libpwquality
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index a7f4a637b178..4900717898fd 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "3.32.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9";
+    sha256 = "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
index 4734a0e96b8c..5817d8ff942a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "baobab";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r";
+    sha256 = "01w6m5ylyqs4wslpjn1hg6n6ynwh3rghksak0qs8r9m6dm3dkss6";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 7f4f84fa5fe1..5934f56274cb 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,24 +1,23 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
-, libxml2, gettext, docbook_xsl, hicolor-icon-theme, wrapGAppsHook, gobject-introspection }:
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3, dconf
+, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
   pname = "dconf-editor";
-  version = "3.32.0";
+  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 = "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi";
+    sha256 = "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f";
   };
 
   nativeBuildInputs = [
     meson ninja vala libxslt pkgconfig wrapGAppsHook
     gettext docbook_xsl libxml2 gobject-introspection python3
-    hicolor-icon-theme # for setup-hook
   ];
 
-  buildInputs = [ glib gtk3 gnome3.dconf ];
+  buildInputs = [ glib gtk3 dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
index 5e4bbf8cce17..067772524622 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
@@ -1,13 +1,54 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, gnome3, gdk-pixbuf, python3
-, telepathy-glib, telepathy-farstream, glibcLocales
-, clutter-gtk, clutter-gst, gst_all_1, cogl, gnome-online-accounts
-, gcr, libsecret, folks, libpulseaudio, telepathy-mission-control
-, telepathy-logger, libnotify, clutter, libsoup, gnutls
-, evolution-data-server, yelp-xsl
-, libcanberra-gtk3, p11-kit, farstream, libtool, shared-mime-info
-, wrapGAppsHook, itstool, libxml2, libxslt, icu, libgee, gsettings-desktop-schemas
-, isocodes, enchant, libchamplain, geoclue2, geocode-glib, cheese, libgudev }:
+{ stdenv
+, intltool
+, fetchurl
+, webkitgtk
+, pkgconfig
+, gtk3
+, glib
+, file
+, librsvg
+, gnome3
+, gdk-pixbuf
+, python3
+, telepathy-glib
+, telepathy-farstream
+, clutter-gtk
+, clutter-gst
+, gst_all_1
+, cogl
+, gnome-online-accounts
+, gcr
+, libsecret
+, folks
+, libpulseaudio
+, telepathy-mission-control
+, telepathy-logger
+, libnotify
+, clutter
+, libsoup
+, gnutls
+, evolution-data-server
+, yelp-xsl
+, libcanberra-gtk3
+, p11-kit
+, farstream
+, libtool
+, shared-mime-info
+, wrapGAppsHook
+, itstool
+, libxml2
+, libxslt
+, icu
+, libgee
+, gsettings-desktop-schemas
+, isocodes
+, enchant
+, libchamplain
+, geoclue2
+, geocode-glib
+, cheese
+, libgudev
+}:
 
 stdenv.mkDerivation rec {
   pname = "empathy";
@@ -18,34 +59,76 @@ stdenv.mkDerivation rec {
     sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc";
   };
 
-  propagatedUserEnvPkgs = [
-    gnome-online-accounts shared-mime-info
-  ];
   propagatedBuildInputs = [
-    folks telepathy-logger evolution-data-server telepathy-mission-control
+    folks
+    telepathy-logger
+    evolution-data-server
+    telepathy-mission-control
   ];
+
   nativeBuildInputs = [
-    pkgconfig libtool intltool itstool file wrapGAppsHook
-    libxml2 libxslt yelp-xsl python3 glibcLocales
+    pkgconfig
+    libtool
+    intltool
+    itstool
+    file
+    wrapGAppsHook
+    libxml2
+    libxslt
+    yelp-xsl
+    python3
   ];
+
   buildInputs = [
-    gtk3 glib webkitgtk icu gnome-online-accounts
-    telepathy-glib clutter-gtk clutter-gst cogl
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base
-    gcr libsecret libpulseaudio gdk-pixbuf
-    libnotify clutter libsoup gnutls libgee p11-kit
-    libcanberra-gtk3 telepathy-farstream farstream
-    gnome3.adwaita-icon-theme gsettings-desktop-schemas
+    gtk3
+    glib
+    webkitgtk
+    icu
+    gnome-online-accounts
+    telepathy-glib
+    clutter-gtk
+    clutter-gst
+    cogl
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gcr
+    libsecret
+    libpulseaudio
+    gdk-pixbuf
+    libnotify
+    clutter
+    libsoup
+    gnutls
+    libgee
+    p11-kit
+    libcanberra-gtk3
+    telepathy-farstream
+    farstream
+    gnome3.adwaita-icon-theme
+    gsettings-desktop-schemas
     librsvg
+
     # Spell-checking
-    enchant isocodes
+    enchant
+    isocodes
+
     # Display maps, location awareness, geocode support
-    libchamplain geoclue2 geocode-glib
+    libchamplain
+    geoclue2
+    geocode-glib
+
     # Cheese webcam support, camera monitoring
-    cheese libgudev
+    cheese
+    libgudev
   ];
 
-  LC_ALL = "en_US.UTF-8";
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
index 8bb727a6fc53..80ef1f4659f1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "eog";
-  version = "3.32.2";
+  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 = "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy";
+    sha256 = "1lx96nn8q61ajk2m5454s9b5v5wyn7jbz2sf3k1irv8waiq0aavg";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobject-introspection python3 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
index c52162ce7f1d..46f0f4191dff 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,32 +1,90 @@
-{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk3, glib, icu
-, wrapGAppsHook, gnome3, libxml2, libxslt, itstool
-, webkitgtk, libsoup, glib-networking, libsecret, gnome-desktop, libnotify, p11-kit
-, sqlite, gcr, isocodes, desktop-file-utils, python3, nettle
-, gdk-pixbuf, gst_all_1, json-glib, libdazzle, libhandy }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, pkgconfig
+, gtk3
+, glib
+, icu
+, wrapGAppsHook
+, gnome3
+, libxml2
+, libxslt
+, itstool
+, webkitgtk
+, libsoup
+, glib-networking
+, libsecret
+, gnome-desktop
+, libnotify
+, p11-kit
+, sqlite
+, gcr
+, isocodes
+, desktop-file-utils
+, python3
+, nettle
+, gdk-pixbuf
+, gst_all_1
+, json-glib
+, libdazzle
+, libhandy
+}:
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "3.32.4";
+  version = "3.34.3.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15d9s295yr6m9pbwh344c4akm7rgn19y4g1xkyn7gbq1hdbjia69";
+    sha256 = "0vga9bqcv792ivnlw6pbfz17zn0nh6wq01rp60c4px08l7xpkr00";
   };
 
   # Tests need an X display
-  mesonFlags = [ "-Dunit_tests=disabled" ];
+  mesonFlags = [
+    "-Dunit_tests=disabled"
+  ];
 
   nativeBuildInputs = [
-    meson ninja libxslt pkgconfig itstool gettext wrapGAppsHook desktop-file-utils python3
+    desktop-file-utils
+    gettext
+    itstool
+    libxslt
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    gtk3 glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify
-    sqlite isocodes p11-kit icu libhandy
-    gdk-pixbuf gnome3.adwaita-icon-theme gcr
-    glib-networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
-    gst_all_1.gst-libav json-glib libdazzle nettle
+    gcr
+    gdk-pixbuf
+    glib
+    glib-networking
+    gnome-desktop
+    gnome3.adwaita-icon-theme
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-ugly
+    gst_all_1.gstreamer
+    gtk3
+    icu
+    isocodes
+    json-glib
+    libdazzle
+    libhandy
+    libnotify
+    libsecret
+    libsoup
+    libxml2
+    nettle
+    p11-kit
+    sqlite
+    webkitgtk
   ];
 
   postPatch = ''
@@ -36,7 +94,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "epiphany";
+      packageName = pname;
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
index 9313ca8990c9..bab84eeb78ce 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,6 +1,5 @@
-{ fetchFromGitLab
-, stdenv
-, fetchpatch
+{ stdenv
+, fetchurl
 , meson
 , ninja
 , pkgconfig
@@ -34,6 +33,9 @@
 , texlive
 , t1lib
 , gst_all_1
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
 , supportMultimedia ? true # PDF multimedia
 , libgxps
 , supportXPS ? true # Open XML Paper Specification via libgxps
@@ -41,24 +43,14 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "3.32.0";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = pname;
-    rev = version;
-    sha256 = "1klq8j70q8r8hyqv1wi6jcx8g76yh46bh8614y82zzggn4cx6y3r";
-  };
+  version = "3.34.2";
 
+  outputs = [ "out" "dev" "devdoc" ];
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-11459.patch";
-      url = "https://gitlab.gnome.org/GNOME/evince/commit/3e38d5ad724a042eebadcba8c2d57b0f48b7a8c7.patch";
-      sha256 = "1ds6iwr2r9i86nwrly8cx7p1kbvf1gljjplcffa67znxqmwx4n74";
-    })
-  ];
+  src = fetchurl {
+    url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w";
+  };
 
   postPatch = ''
     chmod +x meson_post_install.py
@@ -66,39 +58,42 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
+    appstream
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+    gettext
+    gobject-introspection
+    gtk-doc
+    itstool
     meson
     ninja
     pkgconfig
-    gobject-introspection
-    gettext
-    itstool
-    yelp-tools
-    appstream
-    wrapGAppsHook
     python3
+    wrapGAppsHook
+    yelp-tools
   ];
 
   buildInputs = [
-    glib
-    gtk3
-    pango
+    adwaita-icon-theme
     atk
+    dbus # only needed to find the service directory
+    djvulibre
     gdk-pixbuf
-    libxml2
-    gsettings-desktop-schemas
-    poppler
     ghostscriptX
-    djvulibre
-    libspectre
+    glib
+    gnome-desktop
+    gsettings-desktop-schemas
+    gspell
+    gtk3
     libarchive
-    libsecret
     librsvg
-    adwaita-icon-theme
-    gspell
-    gnome-desktop
-    dbus # only needed to find the service directory
-    texlive.bin.core # kpathsea for DVI support
+    libsecret
+    libspectre
+    libxml2
+    pango
+    poppler
     t1lib
+    texlive.bin.core # kpathsea for DVI support
   ] ++ stdenv.lib.optional supportXPS libgxps
     ++ stdenv.lib.optionals supportMultimedia (with gst_all_1; [
       gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]);
@@ -106,7 +101,6 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dnautilus=false"
     "-Dps=enabled"
-    "-Dgtk_doc=false"
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index 0048b02581a7..6c293cb55b9d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.32.4";
+  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 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3";
+    sha256 = "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
index a4d2fd2be5a5..ba660a64418c 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,15 +1,29 @@
 { 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 }:
+, librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
+
+let
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/4f041870efa1a6f0799ef4b32bb7be2cafee7a74/logo/nixos.svg";
+    sha256 = "0b0dj408c1wxmzy6k0pjwc4bzwq286f1334s3cqqwdwjshxskshk";
+  };
+
+  override = substituteAll {
+    src = ./org.gnome.login-screen.gschema.override;
+    inherit icon;
+  };
+
+in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4";
+    sha256 = "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8";
   };
 
   # Only needed to make it build
@@ -17,17 +31,19 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  initialVT = "7";
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-plymouth=yes"
     "--enable-gdm-xsession"
-    "--with-initial-vt=7"
+    "--with-initial-vt=${initialVT}"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--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
@@ -65,6 +81,11 @@ stdenv.mkDerivation rec {
     "dbusconfdir=$(out)/etc/dbus-1/system.d"
   ];
 
+  preInstall = ''
+    schema_dir=${glib.makeSchemaPath "$out" "${pname}-${version}"}
+    install -D ${override} $schema_dir/org.gnome.login-screen.gschema.override
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gdm";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override
new file mode 100644
index 000000000000..8c17f494b0f2
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override
@@ -0,0 +1,2 @@
+[org.gnome.login-screen]
+logo='@icon@'
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
index e4c772cb1d40..4b91b3219bed 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-backgrounds";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz";
+    sha256 = "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index 817c8324c6b2..b52161f90ae1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -6,14 +6,14 @@ let
   pname = "gnome-bluetooth";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "3.32.1";
+  version = "3.34.0";
 
   # TODO: split out "lib"
   outputs = [ "out" "dev" "devdoc" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4";
+    sha256 = "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
index df43371a4971..cabe7c9ca74b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
@@ -1,14 +1,14 @@
 { stdenv, meson, ninja, vala, gettext, itstool, fetchurl, pkgconfig, libxml2
 , gtk3, glib, gtksourceview4, wrapGAppsHook, gobject-introspection, python3
-, gnome3, mpfr, gmp, libsoup, libmpc, gsettings-desktop-schemas }:
+, gnome3, mpfr, gmp, libsoup, libmpc, gsettings-desktop-schemas, libgee }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-calculator";
-  version = "3.32.2";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41";
+    sha256 = "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd";
   };
 
   nativeBuildInputs = [
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3 glib libxml2 gtksourceview4 mpfr gmp
-    gnome3.adwaita-icon-theme
+    gnome3.adwaita-icon-theme libgee
     gsettings-desktop-schemas libsoup libmpc
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
index bcc8871bcf14..200d038d0fbf 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2, hicolor-icon-theme }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }:
 
 let
   pname = "gnome-color-manager";
@@ -13,8 +13,6 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext itstool desktop-file-utils
-    # setup-hook
-    hicolor-icon-theme
   ];
 
   buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index 75a15a41f97b..d2375b5341bf 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -5,14 +5,14 @@
 , vala, meson, ninja, libhandy, gsettings-desktop-schemas }:
 
 let
-  version = "3.32.1";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   pname = "gnome-contacts";
   inherit version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy";
+    sha256 = "1jqw5yrypvjxzgg70vjbryylwx06amg6sg85mqi14a97xbccg0qa";
   };
 
   propagatedUserEnvPkgs = [ evolution-data-server ];
@@ -33,15 +33,6 @@ in stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Fixes build with libhandy >= 0.0.10
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/c5eee38cd2556403a640a0a4c11d36cbf9a5a798.patch";
-      sha256 = "0s2cl7z6b0x3ky4y28yyxc9x5zp4r3vqmvbhz5m2fm6830fyjg13";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/1f1500ca01098ffda6392f5ec9ce3a29a48a84b1.patch";
-      sha256 = "082zaaj2l5cgr2qy145x8yknja87r0vpigrhidal40041kd5nldg";
-    })
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 04730f2370f5..d23469583038 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -67,11 +67,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "3.32.2";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs";
+    sha256 = "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 9d798c2811bd..6e7776367478 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
+{ stdenv, fetchurl, fetchpatch, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
 , gettext, libxml2, xkeyboard_config, isocodes, meson, wayland
 , libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "3.32.2";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9";
+    sha256 = "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0";
   };
 
   nativeBuildInputs = [
@@ -30,6 +30,14 @@ stdenv.mkDerivation rec {
       bubblewrap_bin = "${bubblewrap}/bin/bwrap";
       inherit (builtins) storeDir;
     })
+
+    # honor $XKB_CONFIG_ROOT
+    # addresses #76590: services.xserver.extraLayouts aren't honored by GNOME3
+    # NOTE: should be merged upstream in 3.36.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-desktop/commit/450446b5353e8231edded4d5b5db90a67a9fa9b7.diff";
+      sha256 = "07y989x7mbgn3rsm2qfdi8qkkc8i60k28hw87l744nlkydn78kq5";
+    })
   ];
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index d6d9f9272528..86739bb0f45a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -1,15 +1,15 @@
 { stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
 , meson, ninja, gtk3, glib, wrapGAppsHook, python3, libnotify
 , itstool, gnome3, libxml2, gsettings-desktop-schemas
-, libcanberra-gtk3, libxslt, docbook_xsl, libpwquality }:
+, libcanberra-gtk3, libxslt, docbook_xsl, libpwquality, systemd }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-disk-utility";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg";
+    sha256 = "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3 glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3
-    udisks2 gnome3.adwaita-icon-theme
+    udisks2 gnome3.adwaita-icon-theme systemd
     gnome3.gnome-settings-daemon gsettings-desktop-schemas
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 976829acd4c6..0589dfe72854 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-font-viewer";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-font-viewer/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "10b150sa3971i5lfnk0jkkzlril97lz09sshwsbkabc8b7kv1qa3";
+    sha256 = "12xrsqwmvid7hksiw4zhj4jd1qwxn8w0czskbq4yqfprwn1havxa";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
new file mode 100644
index 000000000000..4423755f71ce
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -0,0 +1,109 @@
+{ stdenv
+, fetchurl
+, substituteAll
+, gettext
+, meson
+, ninja
+, pkgconfig
+, wrapGAppsHook
+, gnome3
+, accountsservice
+, fontconfig
+, gdm
+, geoclue2
+, geocode-glib
+, glib
+, gnome-desktop
+, gnome-getting-started-docs
+, gnome-online-accounts
+, gtk3
+, libgweather
+, json-glib
+, krb5
+, libpwquality
+, librest
+, libsecret
+, networkmanager
+, pango
+, polkit
+, webkitgtk
+, systemd
+, networkmanagerapplet
+, tzdata
+, yelp
+, libgnomekbd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-initial-setup";
+  version = "3.34.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1dc87mcvr7vdhfx4q0c44q37lf7ls2qvnc34dm66802qssrcxy9k";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    systemd
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    accountsservice
+    fontconfig
+    gdm
+    geoclue2
+    geocode-glib
+    glib
+    gnome-desktop
+    gnome-getting-started-docs
+    gnome-online-accounts
+    gtk3
+    json-glib
+    krb5
+    libgweather
+    libpwquality
+    librest
+    libsecret
+    networkmanager
+    pango
+    polkit
+    webkitgtk
+    networkmanagerapplet
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata libgnomekbd;
+      yelp = "${yelp}/bin/yelp"; # gnome-welcome-tour
+    })
+  ];
+
+  mesonFlags = [
+    "-Dregion-page=true"
+    "-Dcheese=disabled"
+    "-Dsoftware-sources=disabled"
+    "-Dibus=disabled"
+    "-Dvendor-conf-file=${./vendor.conf}"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple, easy, and safe way to prepare a new system";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
new file mode 100644
index 000000000000..94e14f688b3c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
@@ -0,0 +1,67 @@
+diff --git a/data/gnome-welcome-tour b/data/gnome-welcome-tour
+index c479296..3dd629c 100755
+--- a/data/gnome-welcome-tour
++++ b/data/gnome-welcome-tour
+@@ -3,7 +3,7 @@
+ cfgdir=${XDG_CONFIG_DIR:-$HOME/.config}
+ 
+ # Don't do anything if yelp isn't installed
+-yelp_path=$(which yelp 2>/dev/null)
++yelp_path=@yelp@
+ if test -z "${yelp_path}"; then
+     rm -f $cfgdir/run-welcome-tour
+     exit
+@@ -17,5 +17,5 @@ geometry=(1024, 709)
+ EOF
+ fi
+ 
+-yelp help:gnome-help/getting-started
++$yelp_path help:gnome-help/getting-started
+ rm -f $cfgdir/run-welcome-tour
+diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+index 1c34ef7..a1e7f93 100644
+--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+@@ -177,9 +177,9 @@ preview_cb (GtkLabel       *label,
+ 		return TRUE;
+ 
+ 	if (variant[0])
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
+ 	else
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout);
+ 	g_spawn_command_line_async (commandline, NULL);
+ 	g_free (commandline);
+ 
+@@ -829,7 +829,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass)
+                 g_param_spec_string ("showing-extra", "", "", "",
+                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ 
+-	signals[CHANGED] = 
++	signals[CHANGED] =
+ 		g_signal_new ("changed",
+ 			      G_TYPE_FROM_CLASS (object_class),
+ 			      G_SIGNAL_RUN_FIRST,
+diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h
+index 93905b3..e7ee785 100644
+--- a/gnome-initial-setup/pages/timezone/tz.h
++++ b/gnome-initial-setup/pages/timezone/tz.h
+@@ -4,7 +4,7 @@
+  * Copyright (C) 2000-2001 Ximian, Inc.
+  *
+  * Authors: Hans Petter Jansson <hpj@ximian.com>
+- * 
++ *
+  * Largely based on Michael Fulbright's work on Anaconda.
+  *
+  * This program is free software; you can redistribute it and/or modify
+@@ -28,7 +28,7 @@
+ #include <glib.h>
+ 
+ #ifndef __sun
+-#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
++#  define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
+ #else
+ #  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+ #endif
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
new file mode 100644
index 000000000000..a06b37e100ed
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
@@ -0,0 +1,5 @@
+# Disable pages not right for NixOS
+# For example user accounts should be preconfigured
+# and we can't modify system time with systemd.
+[pages]
+skip=account;software;password;timezone;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 7817936bfda6..fa960087f9bd 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-keyring";
-  version = "3.31.91";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-keyring/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1fjylqw4xp0rqsylq4gbxzw1sql2sy55h1mnz1pprrxb9py0mnd4";
+    sha256 = "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
index 93da1f8abec9..b21e3f6f68a7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-online-miners";
-  version = "3.30.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-online-miners/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c";
+    sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 33acfd245cf5..34ff87932247 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-screenshot";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b";
+    sha256 = "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index f13ad9f47aa6..459512017c5d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
-  version = "3.32.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v";
+    sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb";
   };
 
   patches = [
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
       packageName = "gnome-session";
       attrPath = "gnome3.gnome-session";
     };
+    providedSessions = [ "gnome" "gnome-xorg" ];
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
index fe4feaf70857..2399c656016a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
@@ -1,6 +1,6 @@
 --- a/gnome-session/gnome-session.in
 +++ b/gnome-session/gnome-session.in
-@@ -3,11 +3,11 @@
+@@ -3,11 +3,13 @@
  if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
     [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
     [  -n "$SHELL" ] &&
@@ -12,6 +12,8 @@
 +   ! (echo "$SHELL" | @grep@ -q "nologin"); then
    if [ "$1" != '-l' ]; then
 -    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
++    # Make sure the shell actually sets up the environment
++    unset __NIXOS_SET_ENVIRONMENT_DONE
 +    exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
    else
      shift
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index b9f33ce73a8a..c388c4f7211b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -27,6 +27,7 @@
 , libwacom
 , libxslt
 , libxml2
+, modemmanager
 , networkmanager
 , gnome-desktop
 , geocode-glib
@@ -35,15 +36,16 @@
 , python3
 , tzdata
 , nss
+, gcr
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-settings-daemon";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks";
+    sha256 = "1vfpgbdxkhh9xwvb3ja174jk3gpzj4n3jzcy9ygbjlvy45zfdflz";
   };
 
   patches = [
@@ -71,6 +73,7 @@ stdenv.mkDerivation rec {
     gtk3
     glib
     gsettings-desktop-schemas
+    modemmanager
     networkmanager
     libnotify
     libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
@@ -89,17 +92,16 @@ stdenv.mkDerivation rec {
     systemd
     libgudev
     libwacom
+    gcr
   ];
 
   mesonFlags = [
     "-Dudev_dir=${placeholder "out"}/lib/udev"
   ];
 
-  NIX_CFLAGS_COMPILE = [
-    # Default for release buildtype but passed manually because
-    # we're using plain
-    "-DG_DISABLE_CAST_CHECKS"
-  ];
+  # Default for release buildtype but passed manually because
+  # we're using plain
+  NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
 
   # So the polkit policy can reference /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper
   postFixup = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
index 272656fae78c..2229302cab7c 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
@@ -13,14 +13,3 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
---- a/plugins/mouse/gsd-mouse-manager.c
-+++ b/plugins/mouse/gsd-mouse-manager.c
-@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
-         gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
-
-         if (run_daemon || manager->priv->mousetweaks_daemon_running)
--                comm = g_strdup_printf ("mousetweaks %s",
-+                comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
-                                         run_daemon ? "" : "-s");
-         else
-                 return;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
index 3d37040828c5..44c9e3eff44f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_52, glib
+{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_60, glib
 , gnome3, gnome-menus, substituteAll }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2";
+    sha256 = "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1";
   };
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-shell-extensions";
-      attrPath = "gnome3.gnome-shell-extensions";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
-  # 52 is required for tests
-  # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.30.1/meson.build#L25
-  checkInputs = [ spidermonkey_52 ];
+  # 60 is required for tests
+  # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
+  checkInputs = [ spidermonkey_60 ];
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext glib ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index a1d8f2c599a8..c4fec93079a0 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -2,10 +2,11 @@
 , python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
 , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
 , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
-, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr, caribou
+, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr
 , accountsservice, gdk-pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd, gnome-desktop
 , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
-, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon }:
+, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
+, gnome-autoar, asciidoc-full }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -14,21 +15,21 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "3.32.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5";
+    sha256 = "12mxavjf83d96qd5m8k0z2jnpi1587i25al5w9xpv965hvrvwx14";
   };
 
   LANG = "en_US.UTF-8";
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales
-    sassc desktop-file-utils libxslt.bin python3
+    sassc desktop-file-utils libxslt.bin python3 asciidoc-full
   ];
   buildInputs = [
-    systemd caribou
+    systemd
     gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
     libcroco libsecret libsoup polkit gdk-pixbuf librsvg
     clutter networkmanager libstartup_notification telepathy-glib
@@ -39,15 +40,11 @@ in stdenv.mkDerivation rec {
     at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon
     gst_all_1.gst-plugins-good # recording
     gobject-introspection
+    gnome-autoar
 
     # not declared at build time, but typelib is needed at runtime
     libgweather networkmanagerapplet
   ];
-  propagatedUserEnvPkgs = [
-    # Needed to support on-screen keyboard used with touch screen devices
-    # see https://github.com/NixOS/nixpkgs/issues/25968
-    caribou
-  ];
 
   patches = [
     (fetchpatch {
@@ -58,6 +55,7 @@ in stdenv.mkDerivation rec {
     (substituteAll {
       src = ./fix-paths.patch;
       inherit libgnomekbd unzip;
+      gsettings = "${glib.bin}/bin/gsettings";
     })
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
index 3207af110885..7b93475619b2 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
@@ -11,12 +11,20 @@
                                            null);
 --- a/js/ui/status/keyboard.js
 +++ b/js/ui/status/keyboard.js
-@@ -1059,7 +1059,7 @@ class InputSourceIndicator extends PanelMenu.Button {
-         let description = xkbLayout;
+@@ -1062,6 +1062,6 @@ class InputSourceIndicator extends PanelMenu.Button {
          if (xkbVariant.length > 0)
-             description = description + '\t' + xkbVariant;
+             description = `${description}\t${xkbVariant}`;
  
 -        Util.spawn(['gkbd-keyboard-display', '-l', description]);
 +        Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]);
      }
  });
+--- a/data/gnome-shell-disable-extensions.service
++++ b/data/gnome-shell-disable-extensions.service
+@@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer
+ [Service]
+ Type=simple
+ # Disable extensions
+-ExecStart=gsettings set org.gnome.shell disable-user-extensions true
++ExecStart=@gsettings@ set org.gnome.shell disable-user-extensions true
+ Restart=no
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 12081bbae5b0..051f0e4b432f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
 , glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd
-, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts, hicolor-icon-theme
+, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts
 , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }:
 
 let
@@ -11,11 +11,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "3.32.4";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0g30wdrpypj23npvx85wqh1i4a8bbg00ainz7wmsvry21hcny4d4";
+    sha256 = "1zhi6zkphq0wfm9z2d1rp1ym8x52c7as4r8h2nrcd34mmv02xnm7";
   };
 
   patches = [
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43
     valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection
-    hicolor-icon-theme # for setup-hook
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 75d4b117e778..31f125e9720e 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus
 , gtk3, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala
-, desktop-file-utils, itstool, wrapGAppsHook, hicolor-icon-theme }:
+, desktop-file-utils, itstool, wrapGAppsHook, glib, pcre2 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-terminal";
-  version = "3.32.2";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km";
+    sha256 = "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv";
   };
 
   buildInputs = [
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig intltool itstool which libxml2
-    vala desktop-file-utils wrapGAppsHook
-    hicolor-icon-theme # for setup-hook
+    vala desktop-file-utils wrapGAppsHook pcre2
   ];
 
   # Silly ./configure, it looks for dbus file from gnome-shell in the
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
deleted file mode 100644
index 7915e71a73c0..000000000000
--- a/nixpkgs/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.32.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig";
-  };
-
-  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/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
index 2a425acb067d..6207dd42a61a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
@@ -1,6 +1,9 @@
 { stdenv
 , gettext
+, meson
+, ninja
 , fetchurl
+, fetchpatch
 , apacheHttpd
 , nautilus
 , pkgconfig
@@ -14,36 +17,55 @@
 , mod_dnssd
 , gnome3
 , libcanberra-gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-share";
-  version = "3.32.0.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16w6n0cjyzp8vln3zspvab8jhjprpvs88xc9x7bvigg0wry74945";
+    sha256 = "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x";
   };
 
+  patches = [
+    # fix gio-unix-2.0 lookup
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch;
+      sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p";
+    })
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   preConfigure = ''
     sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \
       -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \
       -i data/dav_user_2.4.conf
   '';
 
-  configureFlags = [
-    "--with-httpd=${apacheHttpd.out}/bin/httpd"
-    "--with-modules-path=${apacheHttpd.dev}/modules"
-    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
-    "--with-nautilusdir=${placeholder "out"}/lib/nautilus/extensions-3.0"
+  mesonFlags = [
+    "-Dhttpd=${apacheHttpd.out}/bin/httpd"
+    "-Dmodules_path=${apacheHttpd.dev}/modules"
+    "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user"
+    # In 3.34.0 it defaults to false but it is silently ignored and always installed.
+    # Let’s add it anyway in case they decide to make build respect the option in the future.
+    "-Dnautilus_extension=true"
   ];
 
   nativeBuildInputs = [
     pkgconfig
+    meson
+    ninja
     gettext
     itstool
     libxml2
     wrapGAppsHook
+    python3
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index 6c291c1874f8..ce5e073ac064 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,11 +1,48 @@
-{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, adwaita-icon-theme
-, glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool
-, wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools
-, docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas
-, callPackage, unzip, gobject-introspection }:
+{ stdenv
+, intltool
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, gtk3
+, adwaita-icon-theme
+, glib
+, desktop-file-utils
+, gtk-doc
+, autoconf
+, automake
+, libtool
+, wrapGAppsHook
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+, docbook_xsl
+, docbook_xml_dtd_412
+, gsettings-desktop-schemas
+, callPackage
+, unzip
+, unicode-character-database
+, unihan-database
+, runCommand
+, symlinkJoin
+, gobject-introspection
+}:
 
 let
-  unicode-data = callPackage ./unicode-data.nix {};
+  # TODO: make upstream patch allowing to use the uncompressed file,
+  # preferably from XDG_DATA_DIRS.
+  # https://gitlab.gnome.org/GNOME/gucharmap/issues/13
+  unihanZip = runCommand "unihan" {} ''
+    mkdir -p $out/share/unicode
+    ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip
+  '';
+  ucd = symlinkJoin {
+    name = "ucd+unihan";
+    paths = [
+      unihanZip
+      unicode-character-database
+    ];
+  };
 in stdenv.mkDerivation rec {
   pname = "gucharmap";
   version = "12.0.1";
@@ -20,16 +57,41 @@ in stdenv.mkDerivation rec {
     sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw";
   };
 
+  patches = [
+    # fix build with Unicode 12.1
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gucharmap/raw/de079ad494a15f662416257fca2f2b8db757f4ea/debian/patches/update-to-unicode-12.1.patch";
+      sha256 = "093gqsxfpp3s0b88p1dgkskr4ng3hv8irmxc60l3fdrkl8am00xh";
+    })
+  ];
+
   nativeBuildInputs = [
-    pkgconfig wrapGAppsHook unzip intltool itstool
-    autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412
-    yelp-tools libxml2 desktop-file-utils gobject-introspection
+    pkgconfig
+    wrapGAppsHook
+    unzip
+    intltool
+    itstool
+    autoconf
+    automake
+    libtool
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+    yelp-tools
+    libxml2
+    desktop-file-utils
+    gobject-introspection
   ];
 
-  buildInputs = [ gtk3 glib gsettings-desktop-schemas adwaita-icon-theme ];
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    adwaita-icon-theme
+  ];
 
   configureFlags = [
-    "--with-unicode-data=${unicode-data}"
+    "--with-unicode-data=${ucd}/share/unicode"
     "--enable-gtk-doc"
   ];
 
@@ -51,7 +113,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GNOME Character Map, based on the Unicode Character Database";
-    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    homepage = "https://wiki.gnome.org/Apps/Gucharmap";
     license = licenses.gpl3;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
deleted file mode 100644
index 56104aff4840..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl, stdenv, gnome3 }:
-stdenv.mkDerivation rec {
-  pname = "unicode-data";
-  version = "12.0.0";
-  srcs = [
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Blocks.txt";
-      sha256 = "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/DerivedAge.txt";
-      sha256 = "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/NamesList.txt";
-      sha256 = "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Scripts.txt";
-      sha256 = "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/UnicodeData.txt";
-      sha256 = "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Unihan.zip";
-      sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
-    })
-  ];
-  phases = "installPhase";
-  installPhase = with stdenv.lib; ''
-    mkdir $out
-    for f in $srcs;do
-      cp $f $out/$(stripHash $f)
-    done
-  '';
-  meta = with stdenv.lib; {
-    homepage = http://www.unicode.org/ucd/;
-    description = "Unicode Character Database";
-    maintainers = gnome3.maintainers;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
new file mode 100644
index 000000000000..2df70ff9646a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
@@ -0,0 +1,25 @@
+From 71acfd5258b4d12323fc51dda48e83830e62e696 Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+Date: Mon, 16 Sep 2019 11:18:27 -0400
+Subject: [PATCH] build: use get_pkgconfig_variable for sysprof dbusdir
+
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 182f7f5f5..43060865b 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -710,7 +710,7 @@ if have_profiler
+     'backends/meta-profiler.h',
+   ]
+ 
+-  dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
++  dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('prefix'), 'share', 'dbus-1', 'interfaces')
+   sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
+ 
+   dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
+-- 
+2.22.1
+
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
index cc00fc5ece44..85208163415b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
     })
     # See patch commit message
     ./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
+    # Fix build with libglvnd provided headers
+    ./libglvnd-328.patch
   ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
index eab0b131ea93..642a825d5396 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,67 +1,127 @@
-{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo
-, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
-, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
-, gsettings-desktop-schemas, glib, gtk3, gnome-desktop
-, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson
+{ fetchurl
+, fetchpatch
+, substituteAll
+, stdenv
+, pkgconfig
+, gnome3
+, gettext
+, gobject-introspection
+, upower
+, cairo
+, pango
+, cogl
+, json-glib
+, libstartup_notification
+, zenity
+, libcanberra-gtk3
+, ninja
+, xkeyboard_config
+, libxkbfile
+, libxkbcommon
+, libXtst
+, libinput
+, gsettings-desktop-schemas
+, glib
+, gtk3
+, gnome-desktop
+, geocode-glib
+, pipewire
+, libgudev
+, libwacom
+, xwayland
+, meson
 , gnome-settings-daemon
 , xorgserver
 , python3
 , wrapGAppsHook
+, sysprof
+, desktop-file-utils
+, libcap_ng
+, egl-wayland
 }:
 
 stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.32.2";
+  version = "3.34.3";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva";
+    sha256 = "12aaxmclg3aw7qkk3pzpw8f5vrk0cxwprdrjnx9bjpf31gfpvxfd";
   };
 
   mesonFlags = [
-    "-Dxwayland-path=${xwayland}/bin/Xwayland"
+    "-Degl_device=true"
     "-Dinstalled_tests=false" # TODO: enable these
+    "-Dwayland_eglstream=true"
+    "-Dxwayland-path=${xwayland}/bin/Xwayland"
   ];
 
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
+    json-glib
     libXtst
+    libcap_ng
   ];
 
   nativeBuildInputs = [
-    meson
-    pkgconfig
+    desktop-file-utils
     gettext
+    meson
     ninja
+    pkgconfig
     python3
-    # for cvt command
-    xorgserver
     wrapGAppsHook
+    xorgserver # for cvt command
   ];
 
   buildInputs = [
-    glib gobject-introspection gtk3 gsettings-desktop-schemas upower
-    gnome-desktop cairo pango cogl clutter zenity libstartup_notification
-    geocode-glib libinput libgudev libwacom
-    libcanberra-gtk3 zenity xkeyboard_config libxkbfile
-    libxkbcommon pipewire xwayland
+    cairo
+    cogl
+    egl-wayland
+    geocode-glib
+    glib
+    gnome-desktop
     gnome-settings-daemon
+    gobject-introspection
+    gsettings-desktop-schemas
+    gtk3
+    libcanberra-gtk3
+    libgudev
+    libinput
+    libstartup_notification
+    libwacom
+    libxkbcommon
+    libxkbfile
+    pango
+    pipewire
+    sysprof
+    upower
+    xkeyboard_config
+    xwayland
+    zenity
+    zenity
   ];
 
   patches = [
+    # Fix build with libglvnd provided headers
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
+      sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
+    })
+
+    # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
+    # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
+    ./drop-inheritable.patch
+
+    # TODO: submit upstream
+    ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+
     (substituteAll {
       src = ./fix-paths.patch;
       inherit zenity;
     })
-    # Fix a segmentation fault in dri_flush_front_buffer() upon
-    # suspend/resume. This change should be removed when Mutter
-    # is updated to 3.34.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/mutter/commit/8307c0f7ab60760de53f764e6636893733543be8.diff";
-      sha256 = "1hzfva71xdqvvnx5smjsrjlgyrmc7dj94mpylkak0gwda5si0h2n";
-    })
   ];
 
   postPatch = ''
@@ -72,18 +132,18 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "mutter";
-      attrPath = "gnome3.mutter";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
+    description = "A window manager for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/mutter";
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
new file mode 100644
index 000000000000..574ed5725612
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
@@ -0,0 +1,132 @@
+From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= <torhedinbronner@gmail.com>
+Date: Sat, 19 Oct 2019 13:26:05 +0200
+Subject: [PATCH] drop inheritable
+
+Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
+
+We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
+
+---
+ config.h.meson    |  3 +++
+ meson.build       |  5 +++++
+ meson_options.txt |  6 ++++++
+ src/core/main.c   | 11 +++++++++++
+ src/meson.build   |  1 +
+ 5 files changed, 26 insertions(+)
+
+diff --git a/config.h.meson b/config.h.meson
+index 0bab71848..202fb7ed1 100644
+--- a/config.h.meson
++++ b/config.h.meson
+@@ -58,6 +58,9 @@
+ /* Xwayland applications allowed to issue keyboard grabs */
+ #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
+ 
++/* Defined if libcap-ng is available */
++#mesondefine HAVE_LIBCAPNG
++
+ /* XKB base prefix */
+ #mesondefine XKB_BASE
+ 
+diff --git a/meson.build b/meson.build
+index 3322bd3b1..01c8020fa 100644
+--- a/meson.build
++++ b/meson.build
+@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
+ libcanberra_req = '>= 0.26'
+ libwacom_req = '>= 0.13'
+ atk_req = '>= 2.5.3'
++libcapng_req = '>= 0.7.9'
+ 
+ # optional version requirements
+ udev_req = '>= 228'
+@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
+ ice_dep = dependency('ice')
+ atk_dep = dependency('atk', version: atk_req)
+ libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
++libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
+ 
+ # For now always require X11 support
+ have_x11 = true
+@@ -256,6 +258,7 @@ have_core_tests = false
+ have_cogl_tests = false
+ have_clutter_tests = false
+ have_installed_tests = false
++have_libcapng = libcapng_dep.found()
+ 
+ if have_tests
+   have_core_tests = get_option('core_tests')
+@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
+ cdata.set('HAVE_SM', have_sm)
+ cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification)
+ cdata.set('HAVE_INTROSPECTION', have_introspection)
++cdata.set('HAVE_LIBCAPNG', have_libcapng)
+ cdata.set('HAVE_PROFILER', have_profiler)
+ 
+ xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
+@@ -443,6 +447,7 @@ output = [
+   '        Startup notification..... ' + have_startup_notification.to_string(),
+   '        Introspection............ ' + have_introspection.to_string(),
+   '        Profiler................. ' + have_profiler.to_string(),
++  '        libcap-ng................ ' + have_libcapng.to_string(),
+   '',
+   '    Tests:',
+   '',
+diff --git a/meson_options.txt b/meson_options.txt
+index 73aa7adde..8bfaacd9a 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
+   value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
+   description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
+ )
++
++option('libcapng',
++  type: 'feature',
++  value: 'auto',
++  description: 'Enable libcap-ng support'
++)
+diff --git a/src/core/main.c b/src/core/main.c
+index 7f4f666d2..b27968f13 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -66,6 +66,10 @@
+ #include <girepository.h>
+ #endif
+ 
++#ifdef HAVE_LIBCAPNG
++#include <cap-ng.h>
++#endif
++
+ #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
+ #include <systemd/sd-login.h>
+ #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
+@@ -673,6 +677,12 @@ meta_run (void)
+   if (!meta_display_open ())
+     meta_exit (META_EXIT_ERROR);
+ 
++#ifdef HAVE_LIBCAPNG
++  capng_clear(CAPNG_SELECT_BOTH);
++  capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
++  capng_apply(CAPNG_SELECT_BOTH);
++#endif
++
+   g_main_loop_run (meta_main_loop);
+ 
+   meta_finalize ();
+diff --git a/src/meson.build b/src/meson.build
+index 90d80734f..a9fffa2c2 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -18,6 +18,7 @@ mutter_pkg_deps = [
+   glib_dep,
+   gsettings_desktop_schemas_dep,
+   gtk3_dep,
++  libcapng_dep,
+   pango_dep,
+ ]
+ 
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
new file mode 100644
index 000000000000..96e275598288
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
@@ -0,0 +1,63 @@
+diff --git a/cogl/configure.ac b/cogl/configure.ac
+index 3be282f..d338cd1 100644
+--- a/cogl/configure.ac
++++ b/cogl/configure.ac
+@@ -490,6 +490,11 @@ AS_IF([test "x$enable_gles1" = "xyes"],
+ #include <EGL/eglext.h>"],
+                              [],
+                              [$COGL_EGL_INCLUDES])
++            AC_CHECK_HEADERS([EGL/eglmesaext.h],
++                             [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
++#include <EGL/eglmesaext.h>"],
++                             [],
++                             [$COGL_EGL_INCLUDES])
+ 
+             # Check for a GLES 1.x Common Profile library with/without EGL.
+             #
+@@ -759,7 +764,9 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
+           )
+ 
+         COGL_EGL_INCLUDES="#include <EGL/egl.h>
+-#include <EGL/eglext.h>"
++#include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++"
+         AC_SUBST([COGL_EGL_INCLUDES])
+       ])
+ 
+diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
+index 8705e7d..db0b74f 100644
+--- a/src/backends/meta-egl-ext.h
++++ b/src/backends/meta-egl-ext.h
+@@ -29,6 +29,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ /*
+  * This is a little different to the tests shipped with EGL implementations,
+diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
+index 755ec49..bd253c9 100644
+--- a/src/backends/meta-egl.c
++++ b/src/backends/meta-egl.c
+@@ -31,6 +31,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib-object.h>
+diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
+index 060c7cd..2fef264 100644
+--- a/src/backends/meta-egl.h
++++ b/src/backends/meta-egl.h
+@@ -27,6 +27,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <glib-object.h>
+ 
+ #define META_EGL_ERROR meta_egl_error_quark ()
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
deleted file mode 100644
index 37358c8432c5..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
----   a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
-+++   a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
-@@ -536,9 +536,9 @@ add_bwrap (GPtrArray   *array,
-   g_return_val_if_fail (script->s_infile != NULL, FALSE);
- 
-   add_args (array,
--	    "bwrap",
--	    "--ro-bind", "/usr", "/usr",
--	    "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache",
-+	    "@bubblewrap_bin@",
-+	    "--ro-bind", "@storeDir@", "@storeDir@",
-+	    "--ro-bind", "/run/current-system", "/run/current-system",
- 	    NULL);
- 
-   /* These directories might be symlinks into /usr/... */
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 14551fb7d0c3..e55bf19f5288 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,33 +1,77 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2
-, desktop-file-utils, python3, wrapGAppsHook , gtk3, gnome3, gnome-autoar
-, glib-networking, shared-mime-info, libnotify, libexif, libseccomp , exempi
-, librsvg, tracker, tracker-miners, gexiv2, libselinux, gdk-pixbuf
-, substituteAll, bubblewrap, gst_all_1, gsettings-desktop-schemas
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, libxml2
+, desktop-file-utils
+, python3
+, wrapGAppsHook
+, gtk3
+, gnome3
+, gnome-autoar
+, glib-networking
+, shared-mime-info
+, libnotify
+, libexif
+, libseccomp
+, exempi
+, librsvg
+, tracker
+, tracker-miners
+, gexiv2
+, libselinux
+, gdk-pixbuf
+, substituteAll
+, gnome-desktop
+, gst_all_1
+, gsettings-desktop-schemas
+, gobject-introspection
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "3.32.3";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "3.34.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook
     desktop-file-utils
+    gettext
+    gobject-introspection
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    glib-networking shared-mime-info libexif gtk3 exempi libnotify libselinux
-    tracker tracker-miners gexiv2 libseccomp bubblewrap gst_all_1.gst-plugins-base
-    gnome3.adwaita-icon-theme gsettings-desktop-schemas
+    exempi
+    gexiv2
+    glib-networking
+    gnome-desktop
+    gnome3.adwaita-icon-theme
+    gsettings-desktop-schemas
+    gst_all_1.gst-plugins-base
+    gtk3
+    libexif
+    libnotify
+    libseccomp
+    libselinux
+    shared-mime-info
+    tracker
+    tracker-miners
   ];
 
-  propagatedBuildInputs = [ gnome-autoar ];
+  propagatedBuildInputs = [
+    gnome-autoar
+  ];
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -44,13 +88,6 @@ in stdenv.mkDerivation rec {
 
   patches = [
     ./extension_dir.patch
-    # 3.30 now generates it's own thummbnails,
-    # and no longer depends on `gnome-desktop`
-    (substituteAll {
-      src = ./bubblewrap-paths.patch;
-      bubblewrap_bin = "${bubblewrap}/bin/bwrap";
-      inherit (builtins) storeDir;
-    })
   ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix
index c38e677a4217..415974d0c2b7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index de56b14d46fd..8d737b22a7ac 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "3.32.2.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xqb642bsd2hddsm4bd199vyq8jcipdlxm0br3mjlc5vjcxgkxyp";
+    sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
index 86675f21f06a..2d6d398fb459 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
@@ -1,27 +1,74 @@
-{ stdenv, fetchurl, pkgconfig, meson, gettext, gobject-introspection, glib
-, clutter-gtk, clutter-gst, gnome3, gtksourceview, gjs
-, webkitgtk, libmusicbrainz5, icu, wrapGAppsHook, gst_all_1
-, gdk-pixbuf, librsvg, gtk3, harfbuzz, ninja }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, meson
+, gettext
+, gobject-introspection
+, glib
+, clutter-gtk
+, clutter-gst
+, gnome3
+, gtksourceview4
+, gjs
+, webkitgtk
+, libmusicbrainz5
+, icu
+, wrapGAppsHook
+, gst_all_1
+, gdk-pixbuf
+, librsvg
+, gtk3
+, harfbuzz
+, ninja
+, epoxy
+}:
 
 stdenv.mkDerivation rec {
   pname = "sushi";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj";
+    sha256 = "1zcr8wi5bgvvpb5ha1v96aiaz4vqqrsn6cvvalwzah6am85k78m8";
   };
 
   nativeBuildInputs = [
-    pkgconfig meson ninja gettext gobject-introspection wrapGAppsHook
+    pkgconfig
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    wrapGAppsHook
   ];
   buildInputs = [
-    glib gtk3 gnome3.evince icu harfbuzz
-    clutter-gtk clutter-gst gjs gtksourceview gdk-pixbuf
-    librsvg libmusicbrainz5 webkitgtk
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    glib
+    gtk3
+    gnome3.evince
+    icu
+    harfbuzz
+    clutter-gtk
+    clutter-gst
+    gjs
+    gtksourceview4
+    gdk-pixbuf
+    librsvg
+    libmusicbrainz5
+    webkitgtk
+    epoxy
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
   ];
 
+  # See https://github.com/NixOS/nixpkgs/issues/31168
+  postInstall = ''
+    for file in $out/libexec/org.gnome.NautilusPreviewer
+    do
+      sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
+        -i $file
+    done
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "sushi";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
index a5388f2eae19..50e30d2717ee 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem";
-  version = "3.32.1";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v";
+    sha256 = "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b";
   };
 
   doCheck = true;
@@ -31,14 +31,6 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  mesonFlags = [
-    "-Dwith-nautilusdir=${placeholder "out"}/lib/nautilus/extensions-3.0"
-    # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
-    # https://bugzilla.gnome.org/show_bug.cgi?id=784236
-    # https://github.com/mesonbuild/meson/issues/1994
-    "-Denable-vala=no"
-  ];
-
   checkInputs = [ xvfb_run ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
index e18f4de68d6c..abfe8b2e0392 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
@@ -82,10 +82,10 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = "vino";
-      attrPath = "gnome3.vino";
-    };
+    # updateScript = gnome3.updateScript {
+    #   packageName = "vino";
+    #   attrPath = "gnome3.vino";
+    # };
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index fc5b0268df70..34f6accdd5ff 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -1,23 +1,38 @@
-{ stdenv, intltool, fetchurl, pkgconfig
-, itstool, libxml2, libxslt, gnome3 }:
+{ stdenv
+, gettext
+, fetchurl
+, pkgconfig
+, itstool
+, libxml2
+, libxslt
+, gnome3
+}:
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya";
+    sha256 = "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp-xsl"; attrPath = "gnome3.yelp-xsl"; };
-  };
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    itstool
+    libxml2
+    libxslt
+  ];
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool itstool libxml2 libxslt ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Yelp;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
index 7e326dd1657d..438c71c4ad30 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp";
-  version = "3.32.2";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f";
+    sha256 = "0ifhgdxff2xx2damaj72gpjln5k36grg2chvi4335mv3b5y55mp3";
   };
 
   nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
index 5023ffce6b96..16ef06d8d9df 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, gnome3, gtk3
-, gnome-doc-utils, intltool, libX11, which, itstool, wrapGAppsHook }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, libxml2
+, gnome3
+, gtk3
+, yelp-tools
+, gettext
+, libX11
+, itstool
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "zenity";
@@ -10,13 +20,19 @@ stdenv.mkDerivation rec {
     sha256 = "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7";
   };
 
-  preBuild = ''
-    mkdir -p $out/include
-  '';
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    yelp-tools
+    itstool
+    libxml2
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ gtk3 libxml2 libxslt libX11 itstool ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which wrapGAppsHook ];
+  buildInputs = [
+    gtk3
+    libX11
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,6 +42,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Tool to display dialogs from the commandline and shell scripts";
+    homepage = "https://wiki.gnome.org/Projects/Zenity";
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
   };
diff --git a/nixpkgs/pkgs/desktops/gnome-3/default.nix b/nixpkgs/pkgs/desktops/gnome-3/default.nix
index 370733798aff..c7c26cec7c3c 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/default.nix
@@ -14,18 +14,15 @@ 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 ];
 
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
   gnome3 = self // { recurseForDerivations = false; };
-  vala = pkgs.vala_0_44;
-  gegl_0_4 = pkgs.gegl_0_4.override { gtk = pkgs.gtk3; };
 
 # ISO installer
 # installerIso = callPackage ./installer.nix {};
@@ -38,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 { };
@@ -51,8 +47,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gdm = callPackage ./core/gdm { };
 
-  gjs = callPackage ./core/gjs { };
-
   gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
 
   gnome-bluetooth = callPackage ./core/gnome-bluetooth { };
@@ -79,6 +73,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   libgnome-keyring = callPackage ./core/libgnome-keyring { };
 
+  gnome-initial-setup = callPackage ./core/gnome-initial-setup { };
+
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
 
   gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { };
@@ -101,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 { };
@@ -144,10 +138,6 @@ lib.makeScope pkgs.newScope (self: with self; {
     withGnome = true;
   };
 
-  networkmanagerapplet = pkgs.networkmanagerapplet.override {
-    withGnome = true;
-  };
-
   rygel = callPackage ./core/rygel { };
 
   simple-scan = callPackage ./core/simple-scan { };
@@ -162,8 +152,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   yelp-xsl = callPackage ./core/yelp-xsl { };
 
-  yelp-tools = callPackage ./core/yelp-tools { };
-
   zenity = callPackage ./core/zenity { };
 
 
@@ -215,8 +203,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-weather = callPackage ./apps/gnome-weather { };
 
-  nautilus-sendto = callPackage ./apps/nautilus-sendto { };
-
   polari = callPackage ./apps/polari { };
 
   seahorse = callPackage ./apps/seahorse { };
@@ -338,7 +324,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
       libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4
       easytag meld orca rhythmbox shotwell gnome-usage
-      clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libcroco libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 vte-ng gnome-menus gdl;
+      clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libcroco libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
   inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
   inherit (pkgs) gnome-video-effects; # added 2019-08-19
   inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23
@@ -353,7 +339,23 @@ 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 "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
+
+  inherit (pkgs) networkmanagerapplet; # added 2019-12-12
 })
diff --git a/nixpkgs/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/nixpkgs/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
index 573259b7e7d0..4f5562bbffa5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, gjs, flex, bison, libxml2, intltool,
   gdl, libgda, gtksourceview, gsettings-desktop-schemas,
   itstool, python3, ncurses, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "anjuta";
-  version = "3.28.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/anjuta/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ya7ajai9rx9g597sr5wawr6l5pb2s34bbjdsbnx0lkrhnjv11xh";
+    sha256 = "13ql7axw6zz387s7pa1m7wmh7qps3x7fk53h9832vq1yxlq33aa2";
   };
 
   passthru = {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ncurses
   ];
   buildInputs = [
-    flex bison gtk3 libxml2 gnome3.gjs gdl
+    flex bison gtk3 libxml2 gjs gdl
     libgda gtksourceview
     gsettings-desktop-schemas
   ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/nixpkgs/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
index 23a58011e027..080a332d7df6 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
@@ -1,20 +1,51 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, glib, amtk, appstream-glib, gobject-introspection, python3
-, webkitgtk, gettext, itstool, gsettings-desktop-schemas }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gnome3
+, gtk3
+, wrapGAppsHook
+, glib
+, amtk
+, appstream-glib
+, gobject-introspection
+, python3
+, webkitgtk
+, gettext
+, itstool
+, gsettings-desktop-schemas
+, shared-mime-info
+}:
 
 stdenv.mkDerivation rec {
   pname = "devhelp";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/devhelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq";
+    sha256 = "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook appstream-glib gobject-introspection python3 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    itstool
+    wrapGAppsHook
+    appstream-glib
+    gobject-introspection
+    python3
+  ];
+
   buildInputs = [
-    glib gtk3 webkitgtk amtk
-    gnome3.adwaita-icon-theme gsettings-desktop-schemas
+    glib
+    gtk3
+    webkitgtk
+    amtk
+    gnome3.adwaita-icon-theme
+    gsettings-desktop-schemas
   ];
 
   doCheck = true;
@@ -24,6 +55,14 @@ stdenv.mkDerivation rec {
     patchShebangs meson_post_install.py
   '';
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Fix pages being blank
+      # https://gitlab.gnome.org/GNOME/devhelp/issues/14
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "devhelp";
@@ -33,8 +72,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "API documentation browser for GNOME";
-    homepage = https://wiki.gnome.org/Apps/Devhelp;
-    license = licenses.gpl2;
+    homepage = "https://wiki.gnome.org/Apps/Devhelp";
+    license = licenses.gpl3Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/appindicator/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/appindicator/default.nix
index 6f289fd74d9f..910007bc05b4 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/appindicator/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/appindicator/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-appindicator";
-  version = "29";
+  version = "30";
 
   src = fetchFromGitHub {
     owner = "Ubuntu";
     repo = "gnome-shell-extension-appindicator";
     rev = "v${version}";
-    sha256 = "02cr6rhi3dfk49jcjm6vh7yx117bv5wqyvd34cyv1kzwzsla8v2i";
+    sha256 = "1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8";
   };
 
   # This package has a Makefile, but it's used for building a zip for
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
index b38f0aeba919..f85b91d354d4 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-arc-menu";
-  version = "31";
+  version = "33";
 
   src = fetchFromGitLab {
     owner = "LinxGem33";
     repo = "Arc-Menu";
-    rev = "v${version}-stable";
-    sha256 = "124jgdy6mw76nrkq3f0y7qkhdm39wg273zifdvwbgpvirwzxbia1";
+    rev = "v${version}-Stable";
+    sha256 = "0ncb19jlwy2y9jcj8g6cdbasdv6n7hm96qv9l251z6qgrmg28x4z";
   };
 
   patches = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     glib gettext
   ];
 
-  makeFlags = [ "INSTALL_BASE=$(out)/share/gnome-shell/extensions" ];
+  makeFlags = [ "INSTALL_BASE=${placeholder "out"}/share/gnome-shell/extensions" ];
 
   meta = with stdenv.lib; {
     description = "Gnome shell extension designed to replace the standard menu found in Gnome 3";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
index 95a68505c7c8..1761887f8fb1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, glib, gettext, bash }:
+{ stdenv, fetchFromGitHub, glib, gettext, bash, gnome3 }:
 
 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";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
index 0faadbcd2b68..5277cb08cbb5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-clipboard-indicator";
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jonafato ];
     platforms = platforms.linux;
     homepage = https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator;
+    broken = versionAtLeast gnome3.gnome-shell.version "3.26";
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
index e80149e50053..6ac82c539a2e 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-dash-to-dock";
-  version = "66";
+  version = "67";
 
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
     rev = "extensions.gnome.org-v" + version;
-    sha256 = "04krl6rxlp1qc97psraf2kwin7h0mx4c7pnfpi7vhplmvasrwkfh";
+    sha256 = "1746xm0iyvyzj6m3pvjx11smh9w1s7naz426ki0dlr5l7jh3mpy5";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
index f7f189e23bdc..33261472487f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix
new file mode 100644
index 000000000000..4e7fa17d495c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, substituteAll, gjs, vte }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-drop-down-terminal";
+  version = "24";
+
+  src = fetchFromGitHub {
+    owner = "zzrough";
+    repo = "gs-extensions-drop-down-terminal";
+    rev = "v${version}";
+    sha256 = "1gda56xzwsa5pgmgpb7lhb3i3gqishvn84282inwvqm86afks73r";
+  };
+
+  uuid = "drop-down-terminal@gs-extensions.zzrough.org";
+
+  patches = [
+    (substituteAll {
+      src = ./fix_vte_and_gjs.patch;
+      inherit gjs vte;
+    })
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Configurable drop down terminal shell";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ericdallo ];
+    homepage = https://github.com/zzrough/gs-extensions-drop-down-terminal;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch b/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch
new file mode 100644
index 000000000000..3544c91ee895
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch
@@ -0,0 +1,32 @@
+--- a/drop-down-terminal@gs-extensions.zzrough.org/extension.js
++++ b/drop-down-terminal@gs-extensions.zzrough.org/extension.js
+@@ -15,6 +15,8 @@
+ 
+ // Author: Stéphane Démurget <stephane.demurget@free.fr>
+ 
++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0')
++
+ const Lang = imports.lang;
+ const Gettext = imports.gettext.domain("drop-down-terminal");
+ const Mainloop = imports.mainloop;
+@@ -653,7 +655,7 @@ const DropDownTerminalExtension = new Lang.Class({
+         this._killingChild = false;
+ 
+         // finds the forking arguments
+-        let args = ["gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path];
++        let args = ["@gjs@/bin/gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path];
+ 
+         // forks the process
+         debug("forking '" + args.join(" ") + "'");
+--- a/drop-down-terminal@gs-extensions.zzrough.org/terminal.js
++++ b/drop-down-terminal@gs-extensions.zzrough.org/terminal.js
+@@ -14,6 +14,9 @@
+ // along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ 
+ // Author: Stéphane Démurget <stephane.demurget@free.fr>
++
++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0')
++
+ const Lang = imports.lang;
+ 
+ const Pango = imports.gi.Pango;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index cff0db665bba..5858883accdc 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub, substituteAll, python3, openssl, folks, gsound
 , meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook
-, glib, gtk3, at-spi2-core, upower, openssh, gnome3 }:
+, glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-gsconnect";
-  version = "23";
+  version = "30";
 
   src = fetchFromGitHub {
     owner = "andyholmes";
     repo = "gnome-shell-extension-gsconnect";
     rev = "v${version}";
-    sha256 = "011asrhkly9zhvnng2mh9v06yw39fx244pmqz5yk9rd9m4c32xid";
+    sha256 = "17j96y72mj7vg2csn5c9rji7jy04x5qzl8knf5gky6wppxj9zjb4";
   };
 
   patches = [
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
     (substituteAll {
       src = ./fix-paths.patch;
       gapplication = "${glib.bin}/bin/gapplication";
-      mutter_gsettings_path = glib.getSchemaPath gnome3.mutter;
     })
   ];
 
@@ -40,8 +39,8 @@ stdenv.mkDerivation rec {
     gsound
     upower
     gnome3.caribou
-    gnome3.gjs # for running daemon
-    gnome3.evolution-data-server # folks.py requires org.gnome.Evolution.DefaultSources gsettings; TODO: hardcode the schema path to the library (similarly to https://github.com/NixOS/nixpkgs/issues/47226)
+    gjs # for running daemon
+    gnome3.evolution-data-server # for libebook-contacts typelib
   ];
 
   mesonFlags = [
@@ -76,8 +75,8 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Let’s wrap the daemons
     for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{{daemon,nativeMessagingHost}.js,components/folks.py}; do
-      echo "Wrapping program ''${file}"
-      wrapProgram "''${file}" "''${gappsWrapperArgs[@]}"
+      echo "Wrapping program $file"
+      wrapGApp "$file"
     done
   '';
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch
index b32d0af32721..629d34b6f68a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch
@@ -29,16 +29,3 @@
  const Gio = imports.gi.Gio;
  const GLib = imports.gi.GLib;
  const Gtk = imports.gi.Gtk;
---- a/src/service/__init__.js
-+++ b/src/service/__init__.js
-@@ -600,7 +600,9 @@
- /**
-  * Convenience functions for saving/restoring window geometry
-  */
--const _mutter = new Gio.Settings({schema_id: 'org.gnome.mutter'});
-+const _schema_source = Gio.SettingsSchemaSource.new_from_directory('@mutter_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
-+const _schema = _schema_source.lookup('org.gnome.mutter', false);
-+const _mutter = new Gio.Settings({settings_schema: _schema});
- 
- Gtk.Window.prototype.restore_geometry = function() {
-     let [width, height] = this.settings.get_value('window-size').deep_unpack();
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
index 8214300a5311..8bfd681625f2 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jonafato ];
     platforms = gnome3.gnome-shell.meta.platforms;
     homepage = https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider;
+    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/mediaplayer/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/mediaplayer/default.nix
deleted file mode 100644
index 10175719e46c..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/mediaplayer/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchFromGitHub, glib, meson, gettext, ninja, python3 }:
-
-stdenv.mkDerivation {
-  pname = "gnome-shell-extensions-mediaplayer";
-  version = "unstable-2019-03-21";
-
-  src = fetchFromGitHub {
-    owner = "JasonLG1979";
-    repo = "gnome-shell-extensions-mediaplayer";
-    rev = "b382c98481fa421501684e2ff3eafc53971ef22b";
-    sha256 = "01z2dml8dvl5sljw62g7x19mz02dz1g4gkmyp0h5bx49djcw1nnh";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    python3
-  ];
-  buildInputs = [
-    glib
-    gettext
-  ];
-
-  postPatch = ''
-    rm build
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Control MPRIS Version 2 Capable Media Players";
-    license = licenses.gpl2Plus;
-    homepage = https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/;
-    maintainers = with maintainers; [ tiramiseb ];
-  };
-}
-
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix
new file mode 100644
index 000000000000..dca346c6cce4
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, fetchFromGitHub
+, gnome3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-mpris-indicator-button-unstable";
+  version = "2019-09-29";
+
+  src = fetchFromGitHub {
+    owner = "JasonLG1979";
+    repo = "gnome-shell-extension-mpris-indicator-button";
+    rev = "6cdc28a8bde98f25618b27ee48280996e2b4a0f8";
+    sha256 = "1n3sh3phpa75y3vpc09wnzhis0m92zli1m46amzsdbvmk6gkifif";
+  };
+
+  uuid = "mprisindicatorbutton@JasonLG1979.github.io";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple MPRIS indicator button for GNOME Shell";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ worldofpeace ];
+    platforms = gnome3.gnome-shell.meta.platforms;
+    homepage = "https://github.com/JasonLG1979/gnome-shell-extension-mpris-indicator-button";
+    broken = versionOlder gnome3.gnome-shell.version "3.34";
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix
new file mode 100644
index 000000000000..8d3a775e949e
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-night-theme-switcher";
+  version = "2.1";
+
+  src = fetchgit {
+    url = "https://git.romainvigier.fr/Romain/nightthemeswitcher-gnome-shell-extension";
+    rev = "v${version}";
+    sha256 = "1md44vmc83cp35riszhdvysnvl8pmkcpf5j6n4i2b3wwcjwxqwfy";
+  };
+
+  makeFlags = [ "GSEXT_DIR_LOCAL=${placeholder "out"}/share/gnome-shell/extensions" ];
+
+  meta = with stdenv.lib; {
+    description = "Automatically change the GTK theme to dark variant when Night Light activates";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jonafato ];
+    homepage = https://git.romainvigier.fr/Romain/nightthemeswitcher-gnome-shell-extension;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
deleted file mode 100644
index e2b5288e8869..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-extension-nohotcorner";
-  version = "19.0";
-
-  src = fetchFromGitHub {
-    owner = "HROMANO";
-    repo = "nohotcorner";
-    rev = "v${version}";
-    sha256 = "059n4gyz7d686hknaifyjax8gygrda1xab5m15a09p98jdrdfdhi";
-  };
-
-  # Taken from the extension download link at
-  # https://extensions.gnome.org/extension/118/no-topleft-hot-corner/
-  uuid = "nohotcorner@azuri.free.fr";
-
-  installPhase = ''
-    mkdir -p $out/share/gnome-shell/extensions/${uuid}
-    cp extension.js $out/share/gnome-shell/extensions/${uuid}
-    cp metadata.json $out/share/gnome-shell/extensions/${uuid}
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Disables the top left hot corner";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ jonafato ];
-    homepage = https://github.com/HROMANO/nohotcorner;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix
index 6f1cc3df409a..cffe96894cc7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, glib }:
+{ stdenv, fetchFromGitHub, glib, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-pidgin-im-integration";
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix
index d9ea670db09e..fbbd56f1c0f9 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-remove-dropdown-arrows";
-  version = "11";
+  version = "13";
 
   src = fetchFromGitHub {
     owner = "mpdeimos";
     repo = "gnome-shell-remove-dropdown-arrows";
     rev = "version/${version}";
-    sha256 = "1g99r9bpjdhab3xj74wkl40gdnaf2w51kswcr8mi6bq72n4wjxwh";
+    sha256 = "09b2hnfbqym20pb1sfc8xiz7gs2kbs6b1s7xl8swc8dydhsbambk";
   };
 
   # This package has a Makefile, but it's used for publishing and linting, not
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix
index 33c127f449b8..a5f94288ae57 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-sound-output-device-chooser";
-  version = "unstable-2019-04-01";
+  version = "24";
 
   src = fetchFromGitHub {
     owner = "kgshank";
     repo = "gse-sound-output-device-chooser";
-    rev = "37098909a50bafe2f2538819f988cb2327ed7c60";
-    sha256 = "09sbby8zi9xn21lbdry57bp1vwgd5c73anvqpw9css3x2ryda5li";
+    rev = version;
+    sha256 = "0n1rf4pdf0b78ivmz89x223sqlzv30qydkvlnvn7hwx0j32kyr0x";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix
index 90be6aed1d79..1e44cd4de5c2 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, fetchFromGitHub, taskwarrior, gettext, runtimeShell }:
+{ stdenv, substituteAll, fetchFromGitHub, taskwarrior, gettext, runtimeShell, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-taskwhisperer";
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jonafato ];
     homepage = https://github.com/cinatic/taskwhisperer;
+    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesnt't support 3.34
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix
index 293918bd2b11..22f857a7809d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, glib, gnome3 }:
 
 stdenv.mkDerivation rec {
-  pname = "gnome-shell-extension-tilingnome";
-  version = "unstable-2019-01-18";
+  pname = "gnome-shell-extension-tilingnome-unstable";
+  version = "unstable-2019-09-19";
 
   src = fetchFromGitHub {
     owner = "rliang";
-    repo = pname;
-    rev = "bd4fb8c19f7a6282b38724b30e62645143390226";
-    sha256 = "1y4s4n88gdkpvgd3v3dg0181ccyhlixbvkx3bwyvdxyyyxbqibid";
+    repo = "gnome-shell-extension-tilingnome";
+    rev = "f401c20c9721d85e6b3e30d1e822a200db370407";
+    sha256 = "1hq9g9bxqpzqrdj9zm0irld8r6q4w1m4b00jya7wsny8rzb1s0y2";
   };
 
   nativeBuildInputs = [ glib ];
@@ -30,6 +30,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ benley ];
     homepage = https://github.com/rliang/gnome-shell-extension-tilingnome;
     platforms = gnome3.gnome-shell.meta.platforms;
-    broken = lib.versionAtLeast gnome3.gnome-shell.version "3.31";
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/timepp/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/timepp/default.nix
index f841ef2403dc..04e98d51b0c4 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/timepp/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/timepp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-timepp";
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/zagortenay333/timepp__gnome;
     license = licenses.gpl3;
     maintainers = with maintainers; [ svsdep ];
+    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Dosen't support 3.34 https://github.com/zagortenay333/timepp__gnome/issues/113
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-grid.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
deleted file mode 100644
index 811e9911f628..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, glib }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-workspace-grid";
-  version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b";
-
-  src = fetchFromGitHub {
-    owner = "zakkak";
-    repo = "workspace-grid-gnome-shell-extension";
-    rev = version;
-    sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69";
-  };
-
-  buildInputs = [
-    glib
-  ];
-
-  installPhase = ''
-    cp -r ${uuid} $out
-  '';
-
-  uuid = "workspace-grid@mathematical.coffee.gmail.com";
-
-  meta = with stdenv.lib; {
-    description = "Arranges workspaces in a configurable grid";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa ];
-    homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
new file mode 100644
index 000000000000..ca4b72111c6c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, findutils, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-workspace-matrix";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "mzur";
+    repo = "gnome-shell-wsmatrix";
+    rev = "v${version}";
+    sha256 = "1fgyzmd16kklcca7600bwg8w8pbb4klmapqsvmahlwa99vmkhfkn";
+  };
+
+  uuid = "wsmatrix@martin.zurowietz.de";
+
+  nativeBuildInputs = [
+    findutils
+    glib
+  ];
+
+  buildFlags = "schemas";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Arrange workspaces in a two dimensional grid with workspace thumbnails";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ chkno ];
+    homepage =  https://github.com/mzur/gnome-shell-wsmatrix;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/aisleriot/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/aisleriot/default.nix
index 3e274c35cdd9..474c49fb5841 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/aisleriot/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/aisleriot/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "aisleriot";
-  version = "3.22.8";
+  version = "3.22.9";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15pm39679ymxki07sb5nvhycz4z53zwbvascyp5wm4864bn98815";
+    sha256 = "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/atomix/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/atomix/default.nix
index c9395166c521..ec9895b3bf55 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/atomix/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/atomix/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "atomix";
-  version = "3.32.1";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "19wpm7mn6r7x6jz1r0kkqg3xa69iycvgb7g7i8wi0d3cx0rsgjkl";
+    sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
index 5b233c48385d..5f6cb92cde24 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, gettext, meson, libcanberra-gtk3, librsvg, itstool, vala
+, gettext, meson, gsound, librsvg, itstool, vala
 , python3, ninja, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   pname = "four-in-a-row";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/four-in-a-row/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0h4wmbkdp7x3gp9sbxmvla316m8n6iy4f5sq0ksldj0z7ghlx9zl";
+    sha256 = "112pyrh2yvwy5b2a0b5crjpwp2vqqg4zgx6csll1bic6ccayv713";
   };
 
   nativeBuildInputs = [
     pkgconfig wrapGAppsHook gettext meson itstool vala
     ninja python3 desktop-file-utils
   ];
-  buildInputs = [ gtk3 libcanberra-gtk3 librsvg gnome3.adwaita-icon-theme ];
+  buildInputs = [ gtk3 gsound librsvg gnome3.adwaita-icon-theme ];
 
   postPatch = ''
     chmod +x build-aux/meson_post_install.py
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
index d7001e1c5279..72c4bdf1d297 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-chess";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-chess/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hzb6s4wmfy1fysagc5hmn1ijvrwyd2cg7iz41mpn7gfdjyak639";
+    sha256 = "1n1vjg6xhwppmddrmqmkk6b3jkgphshp06rjbv5h3270k520a135";
   };
 
   nativeBuildInputs = [ meson ninja vala pkgconfig gettext itstool libxml2 python3 wrapGAppsHook gobject-introspection ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
index 904edd7e51a7..137357e0a399 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-klotski";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72";
+    sha256 = "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix
index 9d173945cdd8..aa7824a03179 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-mahjongg";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-mahjongg/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12kamxnxbh26k4iykhbs873mx25a2wrjnhr013lfkwbyl52kg12j";
+    sha256 = "0qyi3jkg112jysrsy5p330b7b92sl09mr8zsimq06q68kj1wzkz5";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mines/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
index 1ac7e51357eb..8c620fdd0d15 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-mines";
-  version = "3.32.2";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-mines/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g";
+    sha256 = "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54";
   };
 
   # gobject-introspection for finding vapi files
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
index 7b0699221696..94bc8a56b39b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
@@ -1,19 +1,24 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, libcanberra-gtk3, clutter-gtk, intltool, itstool
-, libxml2, libgee, libgnome-games-support }:
+, librsvg, gsound, clutter-gtk, gettext, itstool, vala, python3
+, libxml2, libgee, libgnome-games-support, meson, ninja
+, desktop-file-utils, hicolor-icon-theme}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-nibbles";
-  version = "3.32.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-nibbles/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0g627pzbfywiy2rsh4aidgbln9s4j5m8pryw4cgr5ygc4z8l6l9p";
+    sha256 = "0sl54ns1b5cff6vrls6716xb73krgd1sp36k94gc2lza5laixyh0";
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool itstool libxml2 ];
+  nativeBuildInputs = [
+    meson ninja vala python3
+    pkgconfig wrapGAppsHook gettext itstool libxml2
+    desktop-file-utils hicolor-icon-theme
+  ];
   buildInputs = [
-    gtk3 librsvg libcanberra-gtk3 clutter-gtk gnome3.adwaita-icon-theme
+    gtk3 librsvg gsound clutter-gtk gnome3.adwaita-icon-theme
     libgee libgnome-games-support
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-robots/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
index 46723867f8ad..484110cfaa99 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, libcanberra-gtk3, gettext, itstool, libxml2, libgnome-games-support
-, libgee, meson, ninja, python3, desktop-file-utils , hicolor-icon-theme, adwaita-icon-theme }:
+, librsvg, gsound, gettext, itstool, libxml2, libgnome-games-support
+, libgee, meson, ninja, python3, desktop-file-utils, adwaita-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-robots";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-robots/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1xp1sijl5k7wmnbb0hdgh4ajxgp74k7fcnmd5c6rw6lf51wpinyh";
+    sha256 = "0ncghkv06x9qqfr5zyh6hdv28d0i6v9z4z365k05x9ji5pyzxiny";
   };
 
   passthru = {
@@ -18,10 +18,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig meson ninja python3
     libxml2 wrapGAppsHook gettext itstool desktop-file-utils
-    hicolor-icon-theme # For setup-hook
   ];
   buildInputs = [
-    gtk3 librsvg libcanberra-gtk3 libgnome-games-support libgee adwaita-icon-theme
+    gtk3 librsvg gsound libgnome-games-support libgee adwaita-icon-theme
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
index a555ee31cf37..53cd073af348 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sudoku";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l";
+    sha256 = "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b";
   };
 
   nativeBuildInputs = [ meson ninja vala pkgconfig gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index b6c60362265d..9edeb3ea5dec 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, libcanberra-gtk3, gettext, itstool, libxml2
+, librsvg, gsound, gettext, itstool, libxml2
 , meson, ninja, vala, python3, desktop-file-utils
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-taquin";
-  version = "3.32.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1kyxh68gg7clxg22ls4sliisxb2sydwccbxqgfvxjg2fklr6r1lm";
+    sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk";
   };
 
   passthru = {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     gettext itstool libxml2 vala desktop-file-utils
   ];
   buildInputs = [
-    gtk3 librsvg libcanberra-gtk3
+    gtk3 librsvg gsound
     gnome3.adwaita-icon-theme
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix
index 291415302116..1337a8108072 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-tetravex";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-tetravex/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18drxp43j2jnywxl6qa7mn1iv33jxr0dpc1l9xza3lnrb0jp0kjl";
+    sha256 = "05i9y6x9ai7fay0khr4zb4ji92qs49v88p3lqx9lac8hz04dnvg0";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix
index 8e53a937a5e9..cf83527432f5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hitori";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/hitori/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15s20db2fq4cy031sw20pmf53hxiak44fgyjy5njqnp2h2sg3806";
+    sha256 = "1612hq6d2mnggppy949dkb8lz9886n0rlg68z7qmjjizz1l41lb5";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/iagno/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/iagno/default.nix
index 114551ed4ee1..33cd60f52720 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk-pixbuf, librsvg, wrapGAppsHook
-, itstool, libcanberra-gtk3, libxml2
+, itstool, gsound, libxml2
 , meson, ninja, python3, vala, desktop-file-utils
 }:
 
 stdenv.mkDerivation rec {
   pname = "iagno";
-  version = "3.32.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1rcqb4gpam16xw87n4q2akkrg94ksrn16ry21pr6bsd7qs7hw17d";
+    sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2";
   };
 
   nativeBuildInputs = [
     meson ninja python3 vala desktop-file-utils
     pkgconfig wrapGAppsHook itstool libxml2
   ];
-  buildInputs = [ gtk3 gnome3.adwaita-icon-theme gdk-pixbuf librsvg libcanberra-gtk3 ];
+  buildInputs = [ gtk3 gnome3.adwaita-icon-theme gdk-pixbuf librsvg gsound ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/lightsoff/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/lightsoff/default.nix
index 9c582f037a25..0a236d0425a0 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/lightsoff/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/lightsoff/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lightsoff";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/lightsoff/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0vc3ibjs9ynnm0gxlhhin7jpnsx22vnn4ygaybxwmv9w2q49cs9f";
+    sha256 = "1yyq0962fv16rab3alq5saf4gpii9xvcfy5vbq85hhhgjpbqrfns";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/quadrapassel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/quadrapassel/default.nix
index 78ed0d9fa68a..2ac4c4c96f78 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/quadrapassel/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/quadrapassel/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk-pixbuf
-, librsvg, libcanberra-gtk3, libmanette
+, librsvg, gsound, libmanette
 , gettext, itstool, libxml2, clutter, clutter-gtk, wrapGAppsHook
 , meson, ninja, python3, vala, desktop-file-utils
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "quadrapassel";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/quadrapassel/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1zhi1957knz9dm98drn2dh95mr33sdch590yddh1f8r6bzsfjvpy";
+    url = "mirror://gnome/sources/quadrapassel/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1qh6hx90lqag2hby94jc68xnz4i6b2a253x4yp6xz025fpacv6mk";
   };
 
   nativeBuildInputs = [
@@ -22,11 +20,9 @@ in stdenv.mkDerivation rec {
   ];
   buildInputs = [
     gtk3 gdk-pixbuf librsvg libmanette
-    libcanberra-gtk3 clutter libxml2 clutter-gtk
+    gsound clutter libxml2 clutter-gtk
   ];
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/swell-foop/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/swell-foop/default.nix
index a944e0c568a2..02a61d46c73d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/swell-foop/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/swell-foop/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "swell-foop";
-  version = "3.32.0";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0jpci3c1wyzbvsq86j30rcl166skhi2wf12001amfgh0dmmwipci";
+    sha256 = "1032psxm59nissi268bh3j964m4a0n0ah4dy1pf0ph27j3zvdik1";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
index 8babe77e4121..07319337a9a0 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -1,28 +1,30 @@
 { stdenv, fetchurl, pkgconfig, gtk3, vala, enchant2, wrapGAppsHook, meson, ninja
 , desktop-file-utils, gnome-online-accounts, gsettings-desktop-schemas, adwaita-icon-theme
-, libnotify, libcanberra-gtk3, libsecret, gmime, isocodes, libxml2, gettext
+, libcanberra-gtk3, libsecret, gmime, isocodes, libxml2, gettext, fetchpatch
 , sqlite, gcr, json-glib, itstool, libgee, gnome3, webkitgtk, python3
-, xvfb_run, dbus, shared-mime-info, libunwind, libunity, folks, glib-networking }:
+, xvfb_run, dbus, shared-mime-info, libunwind, libunity, folks, glib-networking
+, gobject-introspection, gspell, appstream-glib, libytnef, libhandy }:
 
 stdenv.mkDerivation rec {
   pname = "geary";
-  version = "3.32.2";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0sg53zq81v28hdqiy5d048skwfgsa8ck0z7ywsagdh7iaqin68gq";
+    sha256 = "1bx57g8199pcqh1p90dlnca2g1kpyrifr6g8m1rdjmpm2a1r993v";
   };
 
   nativeBuildInputs = [
     desktop-file-utils gettext itstool libxml2 meson ninja
-    pkgconfig vala wrapGAppsHook python3
+    pkgconfig vala wrapGAppsHook python3 appstream-glib
+    gobject-introspection
   ];
 
   buildInputs = [
     adwaita-icon-theme enchant2 gcr gmime gnome-online-accounts
     gsettings-desktop-schemas gtk3 isocodes json-glib libcanberra-gtk3
-    libgee libnotify libsecret sqlite webkitgtk glib-networking
-    libunwind libunity folks
+    libgee libsecret sqlite webkitgtk glib-networking
+    libunwind libunity folks gspell libytnef libhandy
   ];
 
   checkInputs = [ xvfb_run dbus ];
@@ -31,9 +33,17 @@ stdenv.mkDerivation rec {
     "-Dcontractor=true" # install the contractor file (Pantheon specific)
   ];
 
+  patches = [
+    # Longer timeout for client test.
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/geary/raw/04be1e058a2e65075dd8cf8843d469ee45a9e09a/debian/patches/Bump-client-test-timeout-to-300s.patch";
+      sha256 = "1zvnq8bgla160531bjdra8hcg15mp8r1j1n53m1xfgm0ssnj5knx";
+    })
+  ];
+
   postPatch = ''
-    chmod +x build-aux/post_install.py
-    patchShebangs build-aux/post_install.py
+    chmod +x build-aux/post_install.py build-aux/git_version.py
+    patchShebangs build-aux/post_install.py build-aux/git_version.py
 
     chmod +x desktop/geary-attach
   '';
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix
index 94418849b987..d5617ee493d3 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -24,7 +24,6 @@
 , meson
 , ninja
 , python3
-, hicolor-icon-theme
 , libdazzle
 }:
 
@@ -66,7 +65,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     gobject-introspection
-    hicolor-icon-theme
     gettext
     meson
     ninja
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
index 25e1347f1c92..fff328c608d6 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
@@ -18,7 +18,6 @@
 , adwaita-icon-theme
 , libgweather
 , gucharmap
-, gnome-settings-daemon
 , tracker
 , polkit
 , gnome3
@@ -26,13 +25,13 @@
 
 let
   pname = "gnome-applets";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "10kd19ymxl2z65121g90mx96m6vcn2a8a50g6a56prrdjsgbgia1";
+    sha256 = "1mbhykqwzq18zpvfkdcdkbb4zhijmxqa2i6502an78yap87vq74i";
   };
 
   nativeBuildInputs = [
@@ -56,7 +55,6 @@ in stdenv.mkDerivation rec {
     adwaita-icon-theme
     libgweather
     gucharmap
-    gnome-settings-daemon
     tracker
     polkit
     wirelesstools
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
index c8d26988391d..8f1d193a6d36 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
@@ -1,23 +1,43 @@
-{ stdenv, fetchurl, pkgconfig, gnome3
-, gtk3, glib, gobject-introspection, libarchive
+{ stdenv
+, fetchurl
+, pkgconfig
+, gnome3
+, gtk3
+, glib
+, gobject-introspection
+, libarchive
+, vala
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.2.3";
+  version = "0.2.4";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax";
+    sha256 = "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "gnome-autoar"; attrPath = "gnome3.gnome-autoar"; };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib ];
-  propagatedBuildInputs = [ libarchive gobject-introspection ];
+  nativeBuildInputs = [
+    gobject-introspection
+    pkgconfig
+    vala
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    libarchive
+    glib
+  ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index 3cade7ccdf8b..c1791ee5bbdc 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -22,28 +22,25 @@
 , writeTextFile
 , writeShellScriptBin
 , xkeyboard_config
+, runCommand
 }:
 
 let
   pname = "gnome-flashback";
-  version = "3.32.0";
-  requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback-init;gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;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;";
+  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 = "0jfzr7vdmnxpxqqa38ni1p3c508xhlnxqpmmqshk3rvrf0afqn62";
+      sha256 = "1726xcm2q94nfvb055d3m61m20s0xy3xl1fc3ds3k3rcrn457riv";
     };
 
     # make .desktop Execs absolute
     postPatch = ''
       patch -p0 <<END_PATCH
-      +++ data/applications/gnome-flashback-init.desktop.in
-      @@ -4 +4 @@
-      -Exec=gnome-flashback --initialize
-      +Exec=$out/bin/gnome-flashback --initialize
-      +++ data/applications/gnome-flashback.desktop.in
+      +++ data/applications/gnome-flashback.desktop.in.in
       @@ -4 +4 @@
       -Exec=gnome-flashback
       +Exec=$out/bin/gnome-flashback
@@ -144,7 +141,16 @@ let
           Type=Application
           DesktopNames=GNOME-Flashback;GNOME;
         '';
+      } // {
+        providedSessions = [ "gnome-flashback-${wmName}" ];
       };
+
+      mkSystemdTargetForWm = { wmName }:
+        runCommand "gnome-flashback-${wmName}.target" {} ''
+          mkdir -p $out/lib/systemd/user
+          cp "${gnome-flashback}/lib/systemd/user/gnome-session-x11@gnome-flashback-metacity.target" \
+            "$out/lib/systemd/user/gnome-session-x11@gnome-flashback-${wmName}.target"
+        '';
     };
 
     meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index ea9a79de40e4..ce6d943c39fa 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit
-, gtk3, systemd, wrapGAppsHook, desktop-file-utils, hicolor-icon-theme }:
+, gtk3, systemd, wrapGAppsHook, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-packagekit";
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils
-    hicolor-icon-theme # for setup-hook
   ];
 
   buildInputs = [ gtk3 packagekit systemd polkit ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
index 3031b2c1d78f..423a393eb773 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
@@ -23,7 +23,7 @@
 
 let
   pname = "gnome-panel";
-  version = "3.32.0";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0a9zi1jb0b42zd6wx3251cnns9v1w0cbwasmrx9hsj1dsb9pjq3a";
+    sha256 = "03dr54njdh2szy6yrib2q0agjscbj3bmzrfb9fb4psrf4mah5g56";
   };
 
   # make .desktop Exec absolute
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
index b1e9cde906cf..4a530e54de71 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
@@ -71,6 +71,8 @@ stdenv.mkDerivation rec {
     systemd
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=return-type" ];
+
   configureFlags = [ "--enable-locking" "--with-systemd=yes" ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
index 7a54114d2dbc..f40911577c11 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
@@ -1,17 +1,17 @@
 { stdenv, meson, ninja, gettext, fetchurl
 , pkgconfig, gtk3, glib, libsoup, gsettings-desktop-schemas
-, itstool, libxml2, python3Packages
+, itstool, libxml2, python3Packages, libhandy
 , gnome3, gdk-pixbuf, libnotify, gobject-introspection, wrapGAppsHook }:
 
 let
   pname = "gnome-tweaks";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55";
+    sha256 = "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0";
   };
 
   nativeBuildInputs = [
@@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
     libnotify gnome3.gnome-shell python3Packages.pygobject3
     libsoup gnome3.gnome-settings-daemon gnome3.nautilus
     gnome3.mutter gnome3.gnome-desktop gobject-introspection
-    gnome3.nautilus
+    gnome3.nautilus libhandy
     # Makes it possible to select user themes through the `user-theme` extension
     gnome3.gnome-shell-extensions
   ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index 46ca01c1a1a1..00e21e30a29a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -1,16 +1,47 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, vala, glib, gjs, mutter
-, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, gobject-introspection }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, appstream-glib
+, clutter
+, gjs
+, glib
+, gnome3
+, gobject-introspection
+, gtk3
+, meson
+, mutter
+, ninja
+, pango
+, pkgconfig
+, vala
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
-  version = "3.32.0";
+  version = "3.34.1";
   pname = "gpaste";
 
-  src = fetchurl {
-    url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "1fvpl9vqmrr1w22hm0ybabn9pjfii5qj9ghnc2jzihgrn2h486v6";
+  src = fetchFromGitHub {
+    owner = "Keruspe";
+    repo = "GPaste";
+    rev = "v${version}";
+    sha256 = "1jcj0kgxhad8rblyqhwa2yhkf0010k80w9bm2rajanad2c3bqaxa";
   };
 
   patches = [
+    # Meson fixes
+    # https://github.com/Keruspe/GPaste/pull/283
+    # install systemd units
+    (fetchpatch {
+      url = "https://github.com/Keruspe/GPaste/commit/a474d8c1f2bd600476ba52dc19f517787845533b.patch";
+      sha256 = "19m1ar61l2n0vb5a5qfhdny8giivqlyq04l3j9i8llv16vx80rg2";
+    })
+    # apply symbol versioning
+    (fetchpatch {
+      url = "https://github.com/Keruspe/GPaste/commit/08047752e8dba9363673ddefd422c43075f08006.patch";
+      sha256 = "0jvcs1a17sijvb2wqyn3y8shdxrhv4kwzxs39kmh9y8nyx2dzhpf";
+    })
+
     ./fix-paths.patch
   ];
 
@@ -26,24 +57,37 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    autoreconfHook pkgconfig vala appstream-glib wrapGAppsHook
+    appstream-glib
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    vala
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gjs mutter gtk3 dbus
-    clutter pango gobject-introspection
+    clutter # required by mutter-clutter
+    gjs
+    glib
+    gtk3
+    mutter
+    pango
   ];
 
-  configureFlags = [
-    "--with-controlcenterdir=${placeholder "out"}/share/gnome-control-center/keybindings"
-    "--with-dbusservicesdir=${placeholder "out"}/share/dbus-1/services"
-    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
+  mesonFlags = [
+    "-Dcontrol-center-keybindings-dir=${placeholder "out"}/share/gnome-control-center/keybindings"
+    "-Ddbus-services-dir=${placeholder "out"}/share/dbus-1/services"
+    "-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user"
   ];
 
-  enableParallelBuilding = true;
+  postInstall = ''
+    ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
+  '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/Keruspe/GPaste;
-    description = "Clipboard management system with GNOME3 integration";
+    homepage = "https://github.com/Keruspe/GPaste";
+    description = "Clipboard management system with GNOME 3 integration";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
index 3776a9adbf2c..d591fb6033d0 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool, gnome3
+{ stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, gettext, gnome3
 , libintl }:
 
 let
   pname = "libgnome-games-support";
-  version = "1.4.3";
+  version = "1.4.4";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0g6a1vvhrbs0pfnzjfg3lgqvppwkydn6j3dn713zhrjhma9pljkh";
+    sha256 = "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig gettext ];
   buildInputs = [ libintl ];
   propagatedBuildInputs = [
     # Required by libgnome-games-support-1.pc
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
index 8b1d2b05df11..8355051fa856 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
@@ -16,13 +16,13 @@
 
 let
   pname = "metacity";
-  version = "3.32.0";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "177dmb1smizfgkddk49n2kr90graj9r6xw5hg3aq0y2qqg6v4rcg";
+    sha256 = "0ga57b71i2gbd723gbs3pxy1jnf44q5mnwq5yhxzn2irbh2d3iri";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
index fcbceab24eab..1dbd9ce5bfeb 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-pomodoro";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "codito";
     repo = "gnome-pomodoro";
     rev = version;
-    sha256 = "0nmgd122gsfka0p50mila88iwrzckq2r36a3h20lswn5qkn321i1";
+    sha256 = "1bjsjkbms9irn7nkzi0hmgr5vwcgh9xzr5vw4sk2n711wj5d96bi";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnustep/base/default.nix b/nixpkgs/pkgs/desktops/gnustep/base/default.nix
index e96dbf0b6fc5..87cded31e5ff 100644
--- a/nixpkgs/pkgs/desktops/gnustep/base/default.nix
+++ b/nixpkgs/pkgs/desktops/gnustep/base/default.nix
@@ -9,6 +9,7 @@
 , libobjc, libgcrypt
 , icu
 , pkgconfig, portaudio
+, libiberty
 }:
 let
   version = "1.26.0";
@@ -30,8 +31,14 @@ gsmakeDerivation {
     libobjc libgcrypt
     icu
     portaudio
+    libiberty
   ];
   patches = [ ./fixup-paths.patch ];
+
+  # Bump to gcc9 has give missing xmemdup symbols. Need libiberty here
+  # to resolve it, unclear why. See #76927 for more info
+  NIX_LDFLAGS = "-liberty";
+
   meta = {
     description = "An implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa";
   };
diff --git a/nixpkgs/pkgs/desktops/gnustep/make/builder.sh b/nixpkgs/pkgs/desktops/gnustep/make/builder.sh
index 1655a75eeba3..66afe1271cae 100644
--- a/nixpkgs/pkgs/desktops/gnustep/make/builder.sh
+++ b/nixpkgs/pkgs/desktops/gnustep/make/builder.sh
@@ -16,7 +16,7 @@ wrapGSMake() {
 
 export GNUSTEP_CONFIG_FILE="$config"
 
-exec "$wrapped" "\$@" "\${extraFlagsArray[@]}"
+exec "$wrapped" "\$@"
 EOF
     chmod +x "$program"
 }
diff --git a/nixpkgs/pkgs/desktops/gnustep/make/setup-hook.sh b/nixpkgs/pkgs/desktops/gnustep/make/setup-hook.sh
index 531389011164..b2b90f1e5222 100644
--- a/nixpkgs/pkgs/desktops/gnustep/make/setup-hook.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
index c214f0b3dcd4..39cece7724eb 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -5,14 +5,14 @@
 }:
 
 mkDerivation rec {
-  pname = "libfm-qt";
-  version = "0.14.1";
+  pname = "libfm-qt-unstable";
+  version = "2019-09-22";
 
   src = fetchFromGitHub {
     owner = "lxqt";
-    repo = pname;
-    rev = version;
-    sha256 = "00rn5i16h659zyp1dx213nc3jz7rx9phiw71zf6nspxzxsb8w2sc";
+    repo = "libfm-qt";
+    rev = "7c94e9efb996df0602f1f2b34b0216ba9b6df498";
+    sha256 = "1fnli2kh7n4hxmqwcb1n06lyk67d9a2fx6z70gas5jzym7r2h5vw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
index d94b1ac0d030..f5ab9c9ae8e7 100644
--- a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -35,7 +35,7 @@ mkDerivation rec {
     description = "Core utility library for all LXQt components";
     homepage = https://github.com/lxqt/liblxqt;
     license = licenses.lgpl21Plus;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
index 799e4286803b..5f7485fc63b3 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "libqtxdg";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0y3s0hva64m64j9lqgnja1li8zhlywqzv8xwjg8pyd2nr9h918db";
+    sha256 = "16jqnpc740a6phq7vcgy85hl7253yzyw4m5h71r0vijk79ir73b5";
   };
 
   nativeBuildInputs = [ cmake lxqt-build-tools ];
@@ -27,7 +27,7 @@ mkDerivation rec {
     description = "Qt implementation of freedesktop.org xdg specs";
     homepage = https://github.com/lxqt/libqtxdg;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
index 595141daffc7..5fa074120ff7 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -29,7 +29,7 @@ mkDerivation rec {
     description = "Dialogue window providing information about LXQt and the system it's running on";
     homepage = https://github.com/lxqt/lxqt-about;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
index a49bb120791a..9f0b22bf6cc0 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -35,7 +35,7 @@ mkDerivation rec {
     description = "LXQt system administration tool";
     homepage = https://github.com/lxqt/lxqt-admin;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index da90826116f2..205ea2fd2016 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -1,14 +1,15 @@
 { lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
 
 mkDerivation rec {
-  pname = "lxqt-archiver";
-  version = "0.0.96";
+  # pname = "lxqt-archiver";
+  pname = "lxqt-archiver-unstable";
+  version = "2019-09-25";
 
   src = fetchFromGitHub {
     owner = "lxqt";
-    repo = pname;
-    rev = version;
-    sha256 = "1vc9pzxrhznp65gdkzj3fzzivfqy712mwcxp3r25ar59d54alfpj";
+    repo = "lxqt-archiver";
+    rev = "62501255434b2ba6a8fd043a5af13dc0df038a5b";
+    sha256 = "1af58k68karmnay7xgngzlmcgkmvx6hay5m1xbl5id9hh16n20in";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
index d775a93fff4c..d34c419ae661 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -45,7 +45,7 @@ mkDerivation rec {
     description = "Tools to configure LXQt and the underlying operating system";
     homepage = https://github.com/lxqt/lxqt-config;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index d836ddeea38f..9f844b4676b8 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "0.14.1";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0q7hfbs4dhsgyzch2msq2hsfzzfgbc611ki9x1x132n7zqk76pmp";
+    sha256 = "1ij9abjnqbnkcb7qqk3x7y4amr6l7kkmwhdpc0x2qk4yikn5ijdg";
   };
 
   nativeBuildInputs = [
@@ -27,10 +27,10 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "Daemon used to register global keyboard shortcuts";
+    description = "LXQt service for global keyboard shortcuts registration";
     homepage = https://github.com/lxqt/lxqt-globalkeys;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 81a6a423a210..af64f523d485 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -30,7 +30,7 @@ mkDerivation rec {
     description = "The LXQt notification daemon";
     homepage = https://github.com/lxqt/lxqt-notificationd;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 83048ed7d578..5f270b8efc9b 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -30,7 +30,7 @@ mkDerivation rec {
     description = "GUI to query passwords on behalf of SSH agents";
     homepage = https://github.com/lxqt/lxqt-openssh-askpass;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
index 4558d36e554e..8310ae95f094 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -53,7 +53,7 @@ mkDerivation rec {
     description = "The LXQt desktop panel";
     homepage = https://github.com/lxqt/lxqt-panel;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index d501d83947ec..a64d682bf1cd 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -37,7 +37,7 @@ mkDerivation rec {
     description = "The LXQt PolicyKit agent";
     homepage = https://github.com/lxqt/lxqt-policykit;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 9f8c66d826c5..d415cb618cca 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -32,7 +32,7 @@ mkDerivation rec {
     description = "Power management module for LXQt";
     homepage = https://github.com/lxqt/lxqt-powermanagement;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index 604fc570e1fb..a67efaee37a2 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -39,7 +39,7 @@ mkDerivation rec {
     description = "LXQt Qt platform integration plugin";
     homepage = https://github.com/lxqt/lxqt-qtplugin;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
index d737bd91c916..db05d8038917 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
     description = "Tool used to launch programs quickly by typing their names";
     homepage = https://github.com/lxqt/lxqt-runner;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
index fbf2c7ddde7c..458a5080bcfa 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -34,7 +34,7 @@ mkDerivation rec {
     description = "An alternative session manager ported from the original razor-session";
     homepage = https://github.com/lxqt/lxqt-session;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 91159398b8fc..c0e7443d3dd0 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -31,7 +31,7 @@ mkDerivation rec {
     description = "GUI frontend for sudo/su";
     homepage = https://github.com/lxqt/lxqt-sudo;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 9d8da87fd5d4..f46481881404 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -20,7 +20,7 @@ mkDerivation rec {
     description = "Themes, graphics and icons for LXQt";
     homepage = https://github.com/lxqt/lxqt-themes;
     license = licenses.lgpl21;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
index a5be8f419677..1333d027fca4 100644
--- a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools,
-  qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }:
+  qtx11extras, xorg, lxqt-build-tools, openbox }:
 
 mkDerivation rec {
   pname = "obconf-qt";
@@ -27,7 +27,6 @@ mkDerivation rec {
     xorg.libXdmcp
     xorg.libSM
     openbox
-    hicolor-icon-theme
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
index 942c9257c25d..cb8e5b2569c5 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "qps";
-  version = "1.10.20";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1g8j4cjy5x33jzjkx6vwyl5qbf9i2z2w01ipgk7nrik5drf9crbf";
+    sha256 = "03rl59yk3b24j0y0k8dpdpb3yi4f1l642zn5pp5br3s2vwx1vzkg";
   };
 
   nativeBuildInputs = [ cmake lxqt-build-tools ];
@@ -17,10 +17,10 @@ mkDerivation rec {
   buildInputs = [ qtbase qtx11extras qttools ];
 
   meta = with lib; {
-    description = "The Qt process manager";
+    description = "Qt based process manager";
     homepage = https://github.com/lxqt/qps;
     license = licenses.gpl2;
+    platforms = with platforms; linux;  # does not build on darwin
     maintainers = with maintainers; [ romildo ];
-    platforms = with platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
index bac68f7166c5..380e50e827e8 100644
--- a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
@@ -32,7 +32,7 @@ mkDerivation rec {
     description = "Crossplatform tool for fast making screenshots";
     homepage = https://github.com/lxqt/screengrab;
     license = licenses.gpl2;
-    platforms = with platforms; unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/atril/default.nix b/nixpkgs/pkgs/desktops/mate/atril/default.nix
index f19114a54422..ecb9ea2e377e 100644
--- a/nixpkgs/pkgs/desktops/mate/atril/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/atril/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11l78zkxszvsjr74cmk1wff5ycqrzd89y6k36rydv2rb5af2nsfw";
+    sha256 = "06hmyw7fwdrdyl3n79b8qxlrwbzf240n82arzmlg62q9zxzdc0is";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
index 597391eb135c..820b1e905ecd 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "18cnd3yw2ingvl38mhmfbl5k0kfg8pzcf2649j00i6v90cwiril5";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
index ba21cb00d35d..10595bbbaecc 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja-extensions";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0xzhphzvaxbwyyp242pnhl5zjrkiznj90i0xjmy7pvi155pmp16h";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/caja/default.nix b/nixpkgs/pkgs/desktops/mate/caja/default.nix
index 667a73eb6307..c460a2cf2dc0 100644
--- a/nixpkgs/pkgs/desktops/mate/caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.22.1";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "10b7yjimblymp1fpsrl4jb2k7kbhla2izsj3njfmg2n6fv9fy9iv";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1w2liq9h1kr5zyaaq82xz8pic04qi5sra8kaycfg1iddmknkfqn7";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
index 0278fd7fec83..9569b1919e4a 100644
--- a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "engrampa";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ph7ngk32nnzc3psqjs5zy52zbjilk30spr2r4sixqxvmz7d28gd";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "17pn1qgr1a13jxv50qcnzqcw8gr96g7jz2z2y1wbwy7i44bknv6n";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/eom/default.nix b/nixpkgs/pkgs/desktops/mate/eom/default.nix
index cc683ab2db21..457a9e56c5d4 100644
--- a/nixpkgs/pkgs/desktops/mate/eom/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/eom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eom";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "03lpxqvyaqhz4wmi07nxcyn5q73ym3dzm41cdid53f2dp9lk1mv4";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0za1lw4awg1i0ls0r9iw0ail2hqa34y1dx65b50bw9kx9kbfyl9l";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
index d6709c375e6d..6364b89204af 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
index 17fee5d61cbe..9c2dc412d4d4 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
index e4976f71ae68..0c14cdb96b5d 100644
--- a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmateweather";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1y3z82ymc7q6z8ly9f6nys0hbs373fjnvr6j7zwlgf6zc88f71h3";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/nixpkgs/pkgs/desktops/mate/marco/default.nix b/nixpkgs/pkgs/desktops/mate/marco/default.nix
index 9899256018a8..fd551c0cc78a 100644
--- a/nixpkgs/pkgs/desktops/mate/marco/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.22.2";
+  version = "1.22.4";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0sc7x14229yj22ka1vlzbaqndwcgh6idypjmm9rydkj4n968jwry";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0z8q4nwm43imbnbxz348ylgzfl25sknb19kml57d6z6flxws19k3";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
index ec7ad2b4294d..3b5a4ccf2a2b 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-applets";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "19sjm2180ir8a264rz8m528qaqjpl3q3cq095ab0sbkp2igksrfx";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1c32rkkry6kka2arrx5psjj037j79icp5jr1s0qh596dvsgxciqc";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
index 2667c25959e6..4b41caba710b 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
index 64ede5101c75..d89e1e35d924 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-calc";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zin3w03zrkpb12rvay23bfk9fnjpybkr5mqzkpn9xfnqamhk8ld";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1as4gshydcf84vynq8ijd9n8pslz5jpw6aj18ri4bdc91a6q3rpg";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
index f85dd632bd16..b0a7096c5e78 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-common";
-  version = "1.22.0";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1xx7qrw8kc6355r1a1nybncf8s2rxjb2nqzw0gv2r5j5sqx8fzgf";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch b/nixpkgs/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
new file mode 100644
index 000000000000..fb2917b36bb5
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
@@ -0,0 +1,81 @@
+From 74fb65a2574c93a2b20a51875a5e336f727ff4bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Wed, 25 Dec 2019 18:48:38 -0300
+Subject: [PATCH] Search system themes in system data dirs
+
+---
+ capplets/common/gtkrc-utils.c     | 20 ++++++++++++--------
+ capplets/common/mate-theme-info.c | 18 +++++++++++-------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/capplets/common/gtkrc-utils.c b/capplets/common/gtkrc-utils.c
+index 011c8a1..27e01da 100644
+--- a/capplets/common/gtkrc-utils.c
++++ b/capplets/common/gtkrc-utils.c
+@@ -60,15 +60,19 @@ gchar* gtkrc_find_named(const gchar* name)
+ 
+ 	if (!path)
+ 	{
+-		gchar* theme_dir = gtk_rc_get_theme_dir();
+-		path = g_build_filename(theme_dir, name, subpath, NULL);
+-		g_free(theme_dir);
++		const gchar * const * dirs = g_get_system_data_dirs();
+ 
+-		if (!g_file_test(path, G_FILE_TEST_EXISTS))
+-		{
+-			g_free (path);
+-			path = NULL;
+-		}
++		if (dirs != NULL)
++			for (; !path && *dirs != NULL; ++dirs)
++			{
++				path = g_build_filename(*dirs, "themes", name, subpath, NULL);
++
++				if (!g_file_test(path, G_FILE_TEST_EXISTS))
++				{
++					g_free (path);
++					path = NULL;
++				}
++			}
+ 	}
+ 
+ 	return path;
+diff --git a/capplets/common/mate-theme-info.c b/capplets/common/mate-theme-info.c
+index 54ae3ae..a738f0b 100644
+--- a/capplets/common/mate-theme-info.c
++++ b/capplets/common/mate-theme-info.c
+@@ -1763,6 +1763,7 @@ mate_theme_color_scheme_equal (const gchar *s1, const gchar *s2)
+ void
+ mate_theme_init ()
+ {
++  const gchar * const * dirs;
+   GFile *top_theme_dir;
+   gchar *top_theme_dir_string;
+   static gboolean initted = FALSE;
+@@ -1783,13 +1784,16 @@ mate_theme_init ()
+   theme_hash_by_uri = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+   theme_hash_by_name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ 
+-  /* Add all the toplevel theme dirs. */
+-  /* $datadir/themes */
+-  top_theme_dir_string = gtk_rc_get_theme_dir ();
+-  top_theme_dir = g_file_new_for_path (top_theme_dir_string);
+-  g_free (top_theme_dir_string);
+-  add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
+-  g_object_unref (top_theme_dir);
++  /* Add all the toplevel theme dirs following the XDG Base Directory Specification */
++  dirs = g_get_system_data_dirs ();
++  if (dirs != NULL)
++    for (; *dirs != NULL; ++dirs) {
++      top_theme_dir_string = g_build_filename (*dirs, "themes", NULL);
++      top_theme_dir = g_file_new_for_path (top_theme_dir_string);
++      g_free (top_theme_dir_string);
++      add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
++      g_object_unref (top_theme_dir);
++    }
+ 
+   /* ~/.themes */
+   top_theme_dir_string  = g_build_filename (g_get_home_dir (), ".themes", NULL);
+-- 
+2.24.1
+
diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
index a06c24b9c728..2451c403c82d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,15 +1,15 @@
 { 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 {
   pname = "mate-control-center";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w9w3wkxksbhzyd96y1x6yxb0q5lkp16y8i42564b6njvwqch5a0";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1ybdjibi6wgqn3587a66ckxp2qkvl4mcvv2smhflyxksl5djrjgh";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     librsvg
     libappindicator-gtk3
     gtk3
-    gnome3.dconf
+    dconf
     hicolor-icon-theme
     mate.mate-desktop
     mate.libmatekbd
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
+    # see https://github.com/mate-desktop/mate-control-center/pull/528
+    ./0001-Search-system-themes-in-system-data-dirs.patch
     # look up keyboard shortcuts in system data dirs
     ./mate-control-center.keybindings-dir.patch
   ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
index 58515a492b5c..2dca83bcd46e 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, dconf, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1hr4r69855csqrcaqpbcyplsy4cwjfz7gabps2pzkh5132jycfr0";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "18w5r9p3bqpvxqqy2am7z686xf65cz5vhj247kki8s2yvvap6rlh";
   };
 
   nativeBuildInputs = [
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     gtk3
     isocodes
   ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index 7db01f598164..a4fa6fedae32 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -5,13 +5,19 @@ stdenv.mkDerivation rec {
   version = "1.20.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna";
   };
 
   nativeBuildInputs = [ autoreconfHook gtk3 ];
 
-  buildInputs = [ mate.mate-icon-theme hicolor-icon-theme ];
+  buildInputs = [ mate.mate-icon-theme ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
 
   postInstall = ''
     for theme in "$out"/share/icons/*; do
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
index 9df0d0ce5a88..d374092c48ac 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3 }:
+{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, gtk3, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   pname = "mate-icon-theme";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1pn1xbmr4w4mi45nwk1qh18z9rlngmkhp9bw671yn4k6sii8fi3k";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0r2bk4flb6kjj97badj2lnml4lfwpl2ym5hkf7r6f7cj8g6pzc4r";
   };
 
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils ];
 
-  buildInputs = [ librsvg hicolor-icon-theme ];
+  buildInputs = [ librsvg ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
 
   postInstall = ''
     for theme in "$out"/share/icons/*; do
diff --git a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
index e1a6e874d1d6..b2e07d0a3e7c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-indicator-applet";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zad81qvcin4m329hfxhv4a5j8gf4gj8944mvjrdgdh71bzan2x1";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "05j5s6r4kx1rbz0j7a7xv38d0kbdi1r8iv8b6nx3lkbkdzq1x0w2";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
index 93c765a99533..156a305a63f3 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-media";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13g1n2ddgr1yxgl4fsqj3sgb9344b756kam9v3sq6vh0bxlr4yf2";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0m8q2rqbxzvh82yj63syd8sbfjrc8y4a8caa42zs66j9x60d1agw";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
index e37a270f9dca..299c9b0e60f0 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-menus";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0kh6y76f1rhp3nr22rp93bx77wcgqnygag2ir076cqkppayjc3c0";
   };
 
   nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
index 51d23e475ff3..337e2bfdb3b8 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-netbook";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "00n162bskbvxhy4k2w14f9zwlsg3wgi43228ssx7sc2p95psmm64";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0m38v2276s2d3zs7smxyf70nyl7bcwp5665zgva28lvs8ip3gijx";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
index d53ae8efa356..a83bbcb3ffbf 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-notification-daemon";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06z3xczhz5diy4kk7b8lrzljrnql6fz0n1jyy916cf8pnnanpg0j";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0f8m3m94iqj2x61dzwwvwq2qlsl2ma8pqr6rfns5pzd0nj0waz0m";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
index 39d2c1812cbc..06e9b386adb4 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,12 +1,12 @@
-{ 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";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0pb9dpgsfjp6gsldg4ad2jz23xdvjfarmz4cjwkpakygkq5i6dma";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1sm0fniywcxg8rbakhhc37bamwq1x3jqqyaqcvqwxvm6jg1hc97y";
   };
 
   nativeBuildInputs = [
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     librsvg
     libxml2
     gtk3
-    gnome3.dconf
+    dconf
     mate.libmateweather
     mate.mate-desktop
     mate.mate-menus
diff --git a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
index 253472e3987e..e11bcb102573 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
index 6ba6ac205ce1..3f84e60f9b65 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-power-manager";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06vs2w44l1s25j0mifkid02yncw0nvdxw8r4pp2jm18kxan4frms";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "12pnj7y01k1fhfhswxmf6q9yyb0772am5anm338hzfhjp0lcxlbn";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
index d1c1e481d700..23e8080f01f0 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-screensaver";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c4qq5szsbfrz8hgkmlby2k7f1qs8kgqf2shd63z0pc8p6f47vvc";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1y8828g4bys8y4r5y478z6i7dgdqm2wkymi5fq75vxx4lzq919cb";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--without-console-kit" ];
 
-  makeFlags = "DBUS_SESSION_SERVICE_DIR=$(out)/etc";
+  makeFlags = [ "DBUS_SESSION_SERVICE_DIR=$(out)/etc" ];
 
   meta = with stdenv.lib; {
     description = "Screen saver and locker for the MATE desktop";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
index bd9ed9f6cbe7..0c20880d7ecc 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0rv19jxxviqqwk2wlhxlm98jsxa26scvs7ilp2i6plhn3ap2alq3";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
index b7735ec77fec..61dec6b34845 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-session-manager";
-  version = "1.22.1";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1ys26af75xl1psck8v32gygxipd8ms1xgpvdhwmnj7bqhabhh249";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 5ee995402ecd..f126918afca8 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,20 +1,29 @@
 { 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 }:
+  wrapGAppsHook, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-settings-daemon";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0idw02z0iig0pfxvlhc4dq4sr7kl1w50xscvg0jzzswnxid2l4ip";
   };
 
+  patches = [
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/mate-desktop/mate-settings-daemon/pull/296.patch";
+      sha256 = "00dfn8h47zw3wr7yya82vvp19wsw51whn8jwgayn4hkjd161s9nm";
+    })
+  ];
+
   nativeBuildInputs = [
-    pkgconfig
+    autoreconfHook # drop with the above patch
     intltool
+    pkgconfig
     wrapGAppsHook
   ];
 
@@ -26,7 +35,7 @@ stdenv.mkDerivation rec {
     nss
     polkit
     gtk3
-    gnome3.dconf
+    dconf
     mate.mate-desktop
     mate.libmatekbd
     mate.libmatemixer
diff --git a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
index 6f5993cfc353..982d2d77b3ee 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-system-monitor";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1d4l5rv01343jf8bk2j5hxvrbp3d705nd4v2pdrjn4h5dw8nxsl1";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
index 7ec9944aa0e1..905e56438988 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,11 +1,11 @@
-{ 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";
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "08210ry5lrivsgzqpdaxrchhpj0n5s1q0x4pxmwdpnksjpcj11mn";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
      vte
      gtk3
-     gnome3.dconf
+     dconf
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
index 9ed5515ea3e7..c994513273b7 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "3.22.20";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
index a9a0e1712312..386b53837b16 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-user-guide";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "01kcszsjiriqp4hf1k4fhazi2yfqlkn415sfgx0jw0p821bzqf2h";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0zv8arsxnbab0qk3ck9i1wp3d4gfclcv6vq6nh5i8zjz6rpp9cjs";
   };
 
   nativeBuildInputs = [ itstool intltool libxml2 ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
index 999bee2e5d10..7f5e4e10f147 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1krsar1pwa8720qz2dckcg0f6z9mvfk49djdxaz1afvi7blmqd6k";
   };
 
diff --git a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
index 7775173611e2..0afeb00610bf 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-utils";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0768y6x33ljc9dxjlfmvplsn4lrxj5xhjddbyab9h6pqav8527rg";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1i6fnm3y1hj8r57x4jpc4ixqs77zln8f7477d0haypflxm3s4kjr";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mozo/default.nix b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
index 36f8fecb1925..365a471dd7ae 100644
--- a/nixpkgs/pkgs/desktops/mate/mozo/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mozo";
-  version = "1.22.1";
+  version = "1.22.2";
 
   format = "other";
   doCheck = false;
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yffp7p3b6ynpf7ck21klym7h09l35amnyahm71dxbv2kzj6hlqh";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1lzcwsz940v218frwzhpywp1an9x3cgfvqr7r8dplpdapvd0khrs";
   };
 
   nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/mate/pluma/default.nix b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
index cfbe33dd380d..cb1e3de376ee 100644
--- a/nixpkgs/pkgs/desktops/mate/pluma/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pluma";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "14d5c5fg31d7br9h1y3gdcr53j4sxlgybf326jvdcw8mgy91k3dg";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1gsj8grdhzb1jvl5zwd8zjc9cj9ys2ndny04gy4bbh80sjaj6xva";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
index 42a8e328a161..c566c8a6953a 100644
--- a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "python-caja";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1zwdjvxci72j0181nlfq6912lw3aq8j3746brlp7wlzn22qp7b0k";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "07hkvs4a6anrvh28zjsrj8anbcz32p19hslhq66yhcvh0hh4kvqk";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
new file mode 100644
index 000000000000..244146771c43
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -0,0 +1,92 @@
+{ stdenv
+, appstream
+, appstream-glib
+, dbus
+, desktop-file-utils
+, elementary-gtk-theme
+, elementary-icon-theme
+, fetchFromGitHub
+, fetchpatch
+, flatpak
+, gettext
+, glib
+, granite
+, gtk3
+, json-glib
+, libgee
+, libsoup
+, libxml2
+, meson
+, ninja
+, packagekit
+, pantheon
+, pkgconfig
+, python3
+, vala
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "appcenter";
+  version = "3.2.1";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "18l0kbm778728rksifslnaw2arnpr92sk24nw26k1zvs4prz5i7j";
+  };
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    dbus # for pkgconfig
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    appstream
+    elementary-icon-theme
+    elementary-gtk-theme
+    flatpak
+    glib
+    granite
+    gtk3
+    json-glib
+    libgee
+    libsoup
+    libxml2
+    packagekit
+  ];
+
+  mesonFlags = [
+    "-Dhomepage=false"
+    "-Dpayments=false"
+    "-Dcurated=false"
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/elementary/appcenter;
+    description = "An open, pay-what-you-want app store for indie developers, designed for elementary OS";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index bcbe50e5de35..1876020a8fe4 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/nixpkgs/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.4";
 
   repoName = "calculator";
 
@@ -26,13 +26,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl";
+    sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index b806c085f844..5a70fa94c5ee 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -25,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "5.0";
+  version = "5.0.3";
 
   repoName = "calendar";
 
@@ -33,13 +33,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0yiis5ig98gjw4s2qh8lppkdmv1cgi6qchxqncsjdki7yxyyni35";
+    sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
index 279e9eff87ac..7c95d88053dd 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
@@ -23,7 +23,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-camera";
-  version = "1.0.4";
+  version = "1.0.5";
 
   repoName = "camera";
 
@@ -31,13 +31,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1p532f961cjdg7szmxw7hw3av9v342hv5rx7in3bbhlc7adxflyc";
+    sha256 = "05amcljvc3w77a1b0c76y6rha8g0zm6lqflvg1g7jzz00jchx9d4";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 355f3ea8d0f6..0e692a8e8061 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -40,8 +40,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
new file mode 100644
index 000000000000..fb56b3d1b33a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, pantheon
+, pkgconfig
+, meson
+, ninja
+, vala
+, python3
+, gtk3
+, glib
+, granite
+, libgee
+, elementary-icon-theme
+, elementary-gtk-theme
+, gettext
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-feedback";
+  version = "1.0";
+
+  repoName = "feedback";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = version;
+    sha256 = "0rc4ifs4hd4cj0v028bzc45v64pwx21xylwrhb20jpw61ainfi8s";
+  };
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    elementary-icon-theme
+    granite
+    gtk3
+    elementary-gtk-theme
+    libgee
+    glib
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GitHub Issue Reporter designed for elementary OS";
+    homepage = https://github.com/elementary/feedback;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 0decbbc6c7a6..ae43a372acc3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -23,12 +23,14 @@
 , zeitgeist
 , glib-networking
 , elementary-icon-theme
+, libcloudproviders
+, libgit2-glib
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "4.1.9";
+  version = "4.3.0";
 
   repoName = "files";
 
@@ -38,13 +40,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "12p1li9a7kqdlgkq20svaly5kr661ww93qngaiic6zv1bdw2bpmv";
+    sha256 = "0brckm0vi9lh8l4g3cy37pbyrdh6g0mdsv3cpii069y2drrh8mz5";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -66,8 +67,10 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libcanberra
+    libcloudproviders
     libdbusmenu-gtk3
     libgee
+    libgit2-glib
     libnotify
     libunity
     pango
@@ -76,7 +79,9 @@ stdenv.mkDerivation rec {
     zeitgeist
   ];
 
-  patches = [ ./hardcode-gsettings.patch ];
+  patches = [
+    ./hardcode-gsettings.patch
+  ];
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index 7d235551a802..b53030217722 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -42,8 +42,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 94b6a2fce8ec..ea74686e5041 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/nixpkgs/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,13 +41,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1";
+    sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
index 4dd168f25f05..8485a1df9f3a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/nixpkgs/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,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q";
+    sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 8bd335c65305..bbb3ee59596d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.3.6";
+  version = "5.5.0";
 
   repoName = "terminal";
 
@@ -28,13 +28,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3";
+    sha256 = "1wna3kcg621qjyvg70dzk4lfq8si2snnlm9fnl5gj0w6b707gz2x";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index 9132707db2ba..c8bde4943992 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-videos";
-  version = "2.6.3";
+  version = "2.7.0";
 
   repoName = "videos";
 
@@ -27,13 +27,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx";
+    sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
new file mode 100644
index 000000000000..f04cb7cd53b3
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, desktop-file-utils
+, elementary-gtk-theme
+, elementary-icon-theme
+, fetchFromGitHub
+, flatpak
+, gettext
+, glib
+, granite
+, gtk3
+, libgee
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, python3
+, vala
+, libxml2
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sideload";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "1qi4wm773bf1szi5a77g9lxjn305v1m85j4nb6il9q4qlh9b1cs5";
+  };
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    elementary-gtk-theme
+    elementary-icon-theme
+    flatpak
+    glib
+    granite
+    gtk3
+    libgee
+    libxml2
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/elementary/sideload;
+    description = "Flatpak installer, designed for elementary OS";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index 7a79f72f1a2e..5cd5d365ed95 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index 3247aed4993e..d501cba7c066 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -11,22 +11,23 @@
 , gtk3
 , switchboard
 , pciutils
+, elementary-feedback
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-about";
-  version = "2.5.2";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "11diwz2aj45yqkxdija8ny0sgm0wl2905gl3799cdl12ss9ffndp";
+    sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -46,17 +47,15 @@ stdenv.mkDerivation rec {
 
   patches = [
     (substituteAll {
-      src = ./lspci-path.patch;
+      src = ./fix-paths.patch;
       inherit pciutils;
+      elementary_feedback = elementary-feedback;
     })
-    ./remove-update-button.patch
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard About Plug";
-    homepage = https://github.com/elementary/witchboard-plug-about;
+    homepage = https://github.com/elementary/switchboard-plug-about;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch
new file mode 100644
index 000000000000..d458689a3253
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch
@@ -0,0 +1,26 @@
+diff --git a/src/Plug.vala b/src/Plug.vala
+index c32efcbe..0cdaeaca 100644
+--- a/src/Plug.vala
++++ b/src/Plug.vala
+@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug {
+ 
+         var bug_button = new Gtk.Button.with_label (_("Report a Problem"));
+         bug_button.clicked.connect (() => {
+-            var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop");
++            var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop");
+             if (appinfo != null) {
+                 try {
+                     appinfo.launch (null, null);
+diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
+index f8113634..3794bad8 100644
+--- a/src/Views/HardwareView.vala
++++ b/src/Views/HardwareView.vala
+@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
+ 
+         // Graphics
+         try {
+-            Process.spawn_command_line_sync ("lspci", out graphics);
++            Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
+ 
+             if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
+                 string[] lines = graphics.split("\n");
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch
deleted file mode 100644
index 352d84c42624..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
-index a3e449c..a95fe93 100644
---- a/src/Views/HardwareView.vala
-+++ b/src/Views/HardwareView.vala
-@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
- 
-         // Graphics
-         try {
--            Process.spawn_command_line_sync ("lspci", out graphics);
-+            Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
- 
-             if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
-                 string[] lines = graphics.split("\n");
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch
deleted file mode 100644
index 41433f9a76b0..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/src/Plug.vala b/src/Plug.vala
-index 76fca34..3e79c1f 100644
---- a/src/Plug.vala
-+++ b/src/Plug.vala
-@@ -65,7 +65,6 @@ public class About.Plug : Switchboard.Plug {
-         search_results.set ("%s → %s".printf (display_name, _("Restore Default Settings")), "");
-         search_results.set ("%s → %s".printf (display_name, _("Suggest Translation")), "");
-         search_results.set ("%s → %s".printf (display_name, _("Report Problems")), "");
--        search_results.set ("%s → %s".printf (display_name, _("Updates")), "");
-         return search_results;
-     }
- 
-@@ -161,7 +160,7 @@ public class About.Plug : Switchboard.Plug {
-         var kernel_version_label = new Gtk.Label (kernel_version);
-         kernel_version_label.set_selectable (true);
- 
--        var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version));        
-+        var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version));
-         gtk_version_label.set_selectable (true);
- 
-         var website_label = new Gtk.LinkButton.with_label (website_url, _("Website"));
-@@ -202,16 +201,6 @@ public class About.Plug : Switchboard.Plug {
-             issue_dialog.run ();
-         });
- 
--        // Update button
--        var update_button = new Gtk.Button.with_label (_("Check for Updates"));
--        update_button.clicked.connect (() => {
--            try {
--                Process.spawn_command_line_async ("io.elementary.appcenter --show-updates");
--            } catch (Error e) {
--                warning (e.message);
--            }
--        });
--
-         // Restore settings button
-         var settings_restore_button = new Gtk.Button.with_label (_("Restore Default Settings"));
-         settings_restore_button.clicked.connect (settings_restore_clicked);
-@@ -224,7 +213,6 @@ public class About.Plug : Switchboard.Plug {
-         button_grid.add (settings_restore_button);
-         button_grid.add (translate_button);
-         button_grid.add (bug_button);
--        button_grid.add (update_button);
-         button_grid.set_child_non_homogeneous (help_button, true);
- 
-         var software_grid = new Gtk.Grid ();
-@@ -238,7 +226,7 @@ public class About.Plug : Switchboard.Plug {
-             software_grid.attach (based_off, 0, 2, 2, 1);
-         }
- 
--        software_grid.attach (kernel_version_label, 0, 3, 2, 1);        
-+        software_grid.attach (kernel_version_label, 0, 3, 2, 1);
-         software_grid.attach (gtk_version_label, 0, 4, 2, 1);
-         software_grid.attach (website_label, 0, 5, 2, 1);
- 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index ddb589c9e792..0d0a7507afea 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -13,18 +13,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index 9f1c75b7b438..6f2fefa4873f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -14,18 +14,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-bluetooth";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0rp9wa0yilc3wgwnybc6cryxphja7imixn45zhj475a4nb3afd0q";
+    sha256 = "1m8nzav976xs3sash2nbyrfn2sk7aah352ypihbp7bacid5wnhr7";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -44,8 +44,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Bluetooth Plug";
     homepage = https://github.com/elementary/switchboard-plug-bluetooth;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch
deleted file mode 100644
index 0fe0ac8b10c8..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/DateTime1.vala b/src/DateTime1.vala
-index 5a80fbd..2e1f948 100644
---- a/src/DateTime1.vala
-+++ b/src/DateTime1.vala
-@@ -38,6 +38,6 @@ public class DateTime.Settings : Granite.Services.Settings {
-     public string clock_format { get; set; }
- 
-     public Settings () {
--        base ("io.elementary.desktop.wingpanel.datetime");
-+        base ("io.elementary.granite");
-     }
- }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index c0c7bbdec2e5..501059896f24 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-datetime";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1iz8skf5dw76a07ljc8v8lw2x2nrmq8j6sggm227cmxy60gadsdv";
+    sha256 = "09734c3qc0296zf14rdhl4p6ppga015rz9hhsvlcc3nvyw7kdqkc";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -51,8 +51,6 @@ stdenv.mkDerivation rec {
       src = ./timezone.patch;
       tzdata = "${tzdata}/share/zoneinfo/zone.tab";
     })
-    # Use "clock-format" GSettings key that's been moved to granite
-    ./clock-format.patch
   ];
 
   PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 76cfe61fc777..bd9669e24997 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -13,18 +13,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.1.8";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1xpgkvcv3bylpaj7c80727vr55vilkgjvnlbw7d5pr56v6mv7n9j";
+    sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -42,8 +42,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Displays Plug";
     homepage = https://github.com/elementary/switchboard-plug-display;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index 8b82543a0e5f..81a694f2ea93 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , pantheon
+, fetchpatch
 , substituteAll
 , meson
 , ninja
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -55,6 +56,11 @@ stdenv.mkDerivation rec {
       src = ./xkb.patch;
       config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
     })
+    # Fix build with latest vala.
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-keyboard/commit/28fa960f607f0b1d67f2864965a079bdfc23e3a8.patch";
+      sha256 = "0121qcg8n7gkz7gpwrxc1cx0nnypj02zy2jmp3cks5r9sc0yi0hw";
+    })
   ];
 
   PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index a8556bd54014..260b340c2239 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,27 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.2.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv";
+    sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn";
   };
 
-  patches = [
-    ./hardcode-settings-daemon-gsettings.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace src/Views/General.vala \
-      --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -51,11 +42,10 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    elementary-settings-daemon
     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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
deleted file mode 100644
index b904fe153094..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/src/Views/General.vala b/src/Views/General.vala
-index 4b19b73..dfa3d4d 100644
---- a/src/Views/General.vala
-+++ b/src/Views/General.vala
-@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid {
-         attach (pointer_speed_scale, 3, 8);
-         attach (pointer_speed_help, 1, 9, 3);
- 
--        var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
--        if (xsettings_schema != null) {
--            var primary_paste_switch = new Gtk.Switch ();
--            primary_paste_switch.halign = Gtk.Align.START;
--
--            var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
--            primary_paste_help.margin_bottom = 18;
--            primary_paste_help.wrap = true;
--            primary_paste_help.xalign = 0;
--            primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
--
--            attach (new SettingLabel (_("Middle click paste:")), 0, 4);
--            attach (primary_paste_switch, 1, 4);
--            attach (primary_paste_help, 1, 5, 3);
--
--            var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings");
--            primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
--
--            var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
--            if (current_value != null) {
--                primary_paste_switch.active = current_value.get_int32 () == 1;
--            }
-+        var primary_paste_switch = new Gtk.Switch ();
-+        primary_paste_switch.halign = Gtk.Align.START;
-+
-+        var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
-+        primary_paste_help.margin_bottom = 18;
-+        primary_paste_help.wrap = true;
-+        primary_paste_help.xalign = 0;
-+        primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
-+
-+        attach (new SettingLabel (_("Middle click paste:")), 0, 4);
-+        attach (primary_paste_switch, 1, 4);
-+        attach (primary_paste_help, 1, 5, 3);
-+
-+        SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true);
-+        SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
-+
-+        var xsettings = new GLib.Settings.full (xsettings_schema, null, null);
-+        primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
-+
-+        var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
-+        if (current_value != null) {
-+            primary_paste_switch.active = current_value.get_int32 () == 1;
-         }
- 
--        var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse");
--        daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
-+        SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false);
-+
-+        var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null);
-+        daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
- 
-         var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse");
-         a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 175f0e45f46e..6e050c92d805 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -16,18 +16,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
new file mode 100644
index 000000000000..e2d7a6d49705
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
deleted file mode 100644
index a5fff9d6a32b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index a61124954698..bd7fee51d8dc 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
index aa9cdfa0ddde..fdd3f4f57650 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , pantheon
 , meson
 , ninja
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -54,6 +55,14 @@ stdenv.mkDerivation rec {
     webkitgtk
   ];
 
+  patches = [
+    # Fix build with latest vala
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/5fa2882f765076d20c6ef4886198a34a05159f8a.patch";
+      sha256 = "1szryyy7shdmbvx9yhpi0bhzaayg7hl6pq2c456j1qf9kfv0m4hf";
+    })
+  ];
+
   PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers";
   PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services";
   PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index 35dd958483d6..ab9ecbc5a336 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -4,18 +4,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -36,30 +36,16 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    gala
+    wingpanel
     plank
     switchboard
   ];
 
   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/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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
deleted file mode 100644
index d023e1b55ce6..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala
-index 721d458..17e1c58 100644
---- a/src/Views/Appearance.vala
-+++ b/src/Views/Appearance.vala
-@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid {
-         attach (text_size_label, 0, 2);
-         attach (text_size_modebutton, 1, 2);
- 
--        var animations_settings = new Settings (ANIMATIONS_SCHEMA);
-+        SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false);
-+
-+        var animations_settings = new Settings.full (animations_schema, null, null);
-         animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT);
- 
--        var panel_settings = new Settings (PANEL_SCHEMA);
-+        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);
-         panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT);
- 
-         var interface_settings = new Settings (INTERFACE_SCHEMA);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 7bc3f6ba7adb..a8513f0b29ba 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -19,18 +19,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
+    elementary-dpms-helper
+    elementary-settings-daemon
     glib
     granite
     gtk3
@@ -56,21 +58,8 @@ stdenv.mkDerivation rec {
       src = ./dpms-helper-exec.patch;
       elementary_dpms_helper = elementary-dpms-helper;
     })
-    ./hardcode-gsettings.patch
   ];
 
-  postPatch = ''
-    substituteInPlace src/MainView.vala \
-      --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper}
-    substituteInPlace src/MainView.vala \
-      --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-  PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services";
-  PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc";
-  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
-
   meta = with stdenv.lib; {
     description = "Switchboard Power Plug";
     homepage = https://github.com/elementary/switchboard-plug-power;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
deleted file mode 100644
index caacdad6eda9..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/MainView.vala b/src/MainView.vala
-index 1654e68..ad8fed9 100644
---- a/src/MainView.vala
-+++ b/src/MainView.vala
-@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid {
-
-         var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL);
-
--        settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power");
--        elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms");
-+        SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true);
-+        SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false);
-+        settings = new GLib.Settings.full (gsd_schema, null, null);
-+
-+        SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true);
-+        SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false);
-+        elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null);
-
-         battery = new Battery ();
-         power_supply = new PowerSupply ();
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index d1feaaf0ea4f..b21fc1c099f1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , pantheon
 , meson
 , ninja
@@ -14,18 +15,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -44,8 +45,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index fd67440a43c2..9d457aedc969 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -18,18 +18,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-security-privacy";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0k2bq7l0m7qfpy1mkb3qvsinqd8n4lp0vwz3x64wlgfn2qipm1fn";
+    sha256 = "1dwq9rqswgnnglhrgcpvrp6shn3pb4x8f8f23x84sqakb430idp7";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -48,23 +48,13 @@ stdenv.mkDerivation rec {
     libgee
     polkit
     switchboard
+    lightlocker
     zeitgeist
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
-  patches = [
-    ./hardcode-gsettings.patch
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
-
-    substituteInPlace src/Views/LockPanel.vala \
-      --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker}
-    substituteInPlace src/Views/FirewallPanel.vala \
-      --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
deleted file mode 100644
index ffaf1ecf5db1..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala
-index 994c4d1..5702de2 100644
---- a/src/Views/FirewallPanel.vala
-+++ b/src/Views/FirewallPanel.vala
-@@ -49,10 +49,13 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        settings = new Settings ("io.elementary.switchboard.security-privacy");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false);
-+        settings = new Settings.full (security_privacy_schema, null, null);
-+
-         disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> ();
-         load_disabled_rules ();
--        
-+
-         status_switch.notify["active"].connect (() => {
-             if (loading == false) {
-                 view.sensitive = status_switch.active;
-diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala
-index 081cf10..42f6118 100644
---- a/src/Views/LockPanel.vala
-+++ b/src/Views/LockPanel.vala
-@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        locker = new Settings ("apps.light-locker");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false);
-+
-+        locker = new Settings.full (locker_schema, null, null);
- 
-         var lock_suspend_label = new Gtk.Label (_("Lock on sleep:"));
-         var lock_suspend_switch = new Gtk.Switch ();
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index 87ae233916d8..3d240fc6221e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , pantheon
 , meson
 , ninja
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -42,6 +43,14 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  patches = [
+    # Fix build with latest vala
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-sharing/commit/22c9d52577a2e8c36c840a99009420266a39e1fe.patch";
+      sha256 = "0rbf1yxhc7k44cwikd45mv2g6slzw0rkwn5s38q3yxai9jnpvqch";
+    })
+  ];
+
   PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index dee2f851e3fd..8d8cd1c940a6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -16,18 +16,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -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/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
index 5c10cc0e9e4b..03e6ef999eb0 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -11,25 +11,24 @@
 , granite
 , gettext
 , clutter-gtk
-, libunity
 , elementary-icon-theme
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lsrn636b0f9a58jbid6mlhgrf8ajnh7phwmhgxz55sz7k7qa58g";
+    sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -49,7 +48,6 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
-    libunity
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
index f5d8567bffed..d5931d59ec9a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
@@ -1,13 +1,9 @@
 diff --git a/lib/PlugsManager.vala b/lib/PlugsManager.vala
-index 75d0eaf..c227908 100644
+index 8b21e7b..bc36321 100644
 --- a/lib/PlugsManager.vala
 +++ b/lib/PlugsManager.vala
-@@ -34,10 +34,18 @@ public class Switchboard.PlugsManager : GLib.Object {
-     private Gee.LinkedList<Switchboard.Plug> plugs;
-     
-     public signal void plug_added (Switchboard.Plug plug);
--    
-+
+@@ -36,7 +36,15 @@ public class Switchboard.PlugsManager : GLib.Object {
+ 
      private PlugsManager () {
          plugs = new Gee.LinkedList<Switchboard.Plug> ();
 -        var base_folder = File.new_for_path (Build.PLUGS_DIR);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
index 756ae86bb19d..cc6b37095fdb 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
@@ -1,23 +1,38 @@
-{ makeWrapper
+{ wrapGAppsHook
+, glib
+, lib
 , symlinkJoin
 , switchboard
 , switchboardPlugs
 , plugs
+  # Only useful to disable for development testing.
+, useDefaultPlugs ? true
 }:
 
 let
-  selectedPlugs = if plugs == null then switchboardPlugs else plugs;
+  selectedPlugs =
+    if plugs == null then switchboardPlugs
+    else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs);
 in
 symlinkJoin {
   name = "${switchboard.name}-with-plugs";
 
-  paths = [ switchboard ] ++ selectedPlugs;
+  paths = [
+    switchboard
+  ] ++ selectedPlugs;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    wrapGAppsHook
+    glib
+  ] ++ (lib.forEach selectedPlugs (x: x.buildInputs))
+    ++ selectedPlugs;
 
   postBuild = ''
-    wrapProgram $out/bin/io.elementary.switchboard \
-      --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard"
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard")
+
+    wrapGAppsHook
   '';
 
   inherit (switchboard) meta;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index fe9db999bb6c..4a42bc3d5654 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -3,11 +3,12 @@
 , pantheon
 , meson
 , ninja
+, gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "5.2.5";
+  version = "5.4.0";
 
   repoName = "stylesheet";
 
@@ -15,17 +16,17 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0934rfdwkn4315mhayzba8a3b6i1xczp66gl6n45hh5c81gb2p65";
+    sha256 = "0dh7lqc9b4ciyzbphqw071xcg742fvlc7gz9l1q3nqjsa2k6xg80";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
   nativeBuildInputs = [
+    gettext
     meson
     ninja
   ];
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index bdf42b1c1ef0..9943415a4573 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-icon-theme";
-  version = "5.0.4";
+  version = "5.1.0";
 
   repoName = "icons";
 
@@ -18,13 +18,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0ha7biqvmkv68x1gi9bfcn5z0ld067pa5czx0pyf053pa86lg3hx";
+    sha256 = "1yrf92ysjh1yfm42wznlw0lh9zsm5whghwzx3b3wcdkwdhkdg24z";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -39,6 +38,8 @@ stdenv.mkDerivation rec {
     hicolor-icon-theme
   ];
 
+  dontDropIconThemeCache = true;
+
   mesonFlags = [
     "-Dvolume_icons=false" # Tries to install some icons to /
     "-Dpalettes=false" # Don't install gimp and inkscape palette files
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
index aff830fda568..c19a465e9b14 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
@@ -19,19 +19,18 @@ stdenv.mkDerivation rec {
     sha256 = "1dc583lq61c361arjl3s44d2k72c46bqvcqv1c3s69f2ndsnxjdz";
   };
 
-  passthru = {
-    updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
     pkgconfig
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A set of system sounds for elementary";
     homepage = https://github.com/elementary/sound-theme;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index 30145541750f..2f3b0ee059fc 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -1,11 +1,14 @@
 { stdenv
 , fetchFromGitHub
 , pantheon
+, meson
+, ninja
+, gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-wallpapers";
-  version = "5.3";
+  version = "5.5.0";
 
   repoName = "wallpapers";
 
@@ -13,24 +16,21 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1i0zf9gzhwm8hgq5cp1xnxipqjvgzd9wfiicz612hgp6ivc0z0ag";
+    sha256 = "0c63nds2ylqgcp39s13mfwhipgyw8cirn0bhybp291l5g86ii6s3";
   };
 
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+  ];
+
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/share/backgrounds/elementary
-    cp -av *.jpg $out/share/backgrounds/elementary
-  '';
-
   meta = with stdenv.lib; {
     description = "Collection of wallpapers for elementary";
     homepage = https://github.com/elementary/wallpapers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix
index aed08c35a801..d4e6b192f200 100644
--- a/nixpkgs/pkgs/desktops/pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/default.nix
@@ -1,38 +1,8 @@
-{ pkgs, lib, gnome3 }:
+{ config, pkgs, lib, gnome3 }:
 
 
 lib.makeScope pkgs.newScope (self: with self; {
 
-  apps = [
-    elementary-calculator elementary-calendar
-    elementary-camera elementary-code elementary-files
-    elementary-music elementary-photos elementary-screenshot-tool
-    elementary-terminal elementary-videos switchboard-with-plugs
-  ];
-
-  artwork = [
-    elementary-gtk-theme
-    elementary-icon-theme
-    elementary-sound-theme
-    elementary-wallpapers
-  ];
-
-  desktop = [
-    elementary-session-settings
-    elementary-shortcut-overlay
-    gala
-    wingpanel-with-indicators
-  ];
-
-  services = [
-    cerbere
-    elementary-capnet-assist
-    elementary-settings-daemon
-    elementary-dpms-helper
-    pantheon-agent-geoclue2
-    pantheon-agent-polkit
-  ];
-
   switchboardPlugs = [
     switchboard-plug-a11y switchboard-plug-about
     switchboard-plug-applications switchboard-plug-bluetooth
@@ -53,12 +23,13 @@ lib.makeScope pkgs.newScope (self: with self; {
     wingpanel-indicator-session wingpanel-indicator-sound
   ];
 
+  nixpkgs-github-update = callPackage ./nixpkgs_github_update { };
+
   updateScript = callPackage ./update.nix { };
 
   maintainers = with pkgs.stdenv.lib.maintainers; [ worldofpeace ];
 
   mutter = pkgs.gnome3.mutter328;
-  vala = pkgs.vala_0_40;
 
   elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
 
@@ -66,6 +37,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   #### APPS
 
+  appcenter = callPackage ./apps/appcenter { };
+
   elementary-calculator = callPackage ./apps/elementary-calculator { };
 
   elementary-calendar = callPackage ./apps/elementary-calendar { };
@@ -76,6 +49,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-files = callPackage ./apps/elementary-files { };
 
+  elementary-feedback = callPackage ./apps/elementary-feedback { };
+
   elementary-music = callPackage ./apps/elementary-music { };
 
   elementary-photos = callPackage ./apps/elementary-photos { };
@@ -86,12 +61,16 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-videos = callPackage ./apps/elementary-videos { };
 
+  sideload = callPackage ./apps/sideload { };
+
   #### DESKTOP
 
   elementary-default-settings = callPackage ./desktop/elementary-default-settings { };
 
   elementary-greeter = callPackage ./desktop/elementary-greeter { };
 
+  elementary-onboarding = callPackage ./desktop/elementary-onboarding { };
+
   elementary-print-shim = callPackage ./desktop/elementary-print-shim { };
 
   elementary-session-settings = callPackage ./desktop/elementary-session-settings {
@@ -147,9 +126,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   wingpanel-indicator-keyboard = callPackage ./desktop/wingpanel-indicators/keyboard { };
 
-  wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network {
-    inherit (gnome3) networkmanagerapplet;
-  };
+  wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { };
 
   wingpanel-indicator-nightlight = callPackage ./desktop/wingpanel-indicators/nightlight { };
 
@@ -185,9 +162,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   switchboard-plug-mouse-touchpad = callPackage ./apps/switchboard-plugs/mouse-touchpad { };
 
-  switchboard-plug-network = callPackage ./apps/switchboard-plugs/network {
-    inherit (gnome3) networkmanagerapplet;
-  };
+  switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { };
 
   switchboard-plug-notifications = callPackage ./apps/switchboard-plugs/notifications { };
 
@@ -219,4 +194,10 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { };
 
+} // lib.optionalAttrs (config.allowAliases or true) {
+
+  ### ALIASES
+
+  inherit (pkgs) vala; # added 2019-10-10
+
 })
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
new file mode 100644
index 000000000000..3a0b3812450c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
@@ -0,0 +1,309 @@
+From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+Date: Sat, 13 Jul 2019 19:06:20 -0400
+Subject: [PATCH 1/2] Build with Meson
+
+Has the following meson build options:
+* default-wallpaper
+* plank-dockitems
+* default-gsettings-overrides
+
+All default to true.
+
+We also split the default-settings gsettings override into another that
+only sets plank's default dockitems. This is installed when plank-dockitems
+is true. We need to have this because those settings are dependent on
+those dockitems actually being installed and we have it optional.
+---
+ accountsservice/create-symlink.py             |  24 ++++++
+ accountsservice/meson.build                   |  25 ++++++
+ .../appcenter.blacklist                       |   0
+ .../default-testpage.pdf                      | Bin
+ settings.ini => gtk/settings.ini              |   0
+ .inputrc => inputrc/.inputrc                  |   0
+ meson.build                                   |  79 ++++++++++++++++++
+ meson/post_install.py                         |  12 +++
+ meson_options.txt                             |  14 ++++
+ ...e => default-settings.gschema.override.in} |   3 +-
+ overrides/meson.build                         |  21 +++++
+ overrides/plank-dockitems.gschema.override    |   2 +
+ .../sessioninstaller.desktop                  |   0
+ 13 files changed, 178 insertions(+), 2 deletions(-)
+ create mode 100644 accountsservice/create-symlink.py
+ create mode 100644 accountsservice/meson.build
+ rename appcenter.blacklist => appcenter/appcenter.blacklist (100%)
+ rename default-testpage.pdf => cups/default-testpage.pdf (100%)
+ rename settings.ini => gtk/settings.ini (100%)
+ rename .inputrc => inputrc/.inputrc (100%)
+ create mode 100644 meson.build
+ create mode 100755 meson/post_install.py
+ create mode 100644 meson_options.txt
+ rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%)
+ create mode 100644 overrides/meson.build
+ create mode 100644 overrides/plank-dockitems.gschema.override
+ rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%)
+
+diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py
+new file mode 100644
+index 0000000..e502134
+--- /dev/null
++++ b/accountsservice/create-symlink.py
+@@ -0,0 +1,24 @@
++#!/usr/bin/env python3
++
++import os
++import sys
++
++if len(sys.argv) < 3:
++    print('Usage: create-symlink.py SOURCE DESTINATION')
++    sys.exit(1)
++
++src = sys.argv[1]
++dest = sys.argv[2]
++
++if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ:
++    src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src)
++    dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest)
++
++if os.path.isabs(src):
++    src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest)))
++
++if not os.path.exists(dest):
++    print('Creating symbolic link: ' + dest + ' -> ' + src)
++    if not os.path.exists(os.path.dirname(dest)):
++        os.makedirs(os.path.dirname(dest))
++    os.symlink(src, dest)
+diff --git a/accountsservice/meson.build b/accountsservice/meson.build
+new file mode 100644
+index 0000000..6d18459
+--- /dev/null
++++ b/accountsservice/meson.build
+@@ -0,0 +1,25 @@
++dbus_dep = dependency('dbus-1')
++dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir])
++
++install_data(
++    'io.elementary.pantheon.AccountsService.xml',
++    install_dir: dbus_interfaces_dir
++)
++
++
++polkit_dep = dependency('polkit-gobject-1')
++polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix])
++
++install_data(
++    'io.elementary.pantheon.AccountsService.policy',
++    install_dir: polkit_actiondir
++)
++
++act_dep = dependency('accountsservice')
++act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir])
++
++meson.add_install_script(
++    'create-symlink.py',
++    join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'),
++    join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'),
++)
+diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist
+similarity index 100%
+rename from appcenter.blacklist
+rename to appcenter/appcenter.blacklist
+diff --git a/default-testpage.pdf b/cups/default-testpage.pdf
+similarity index 100%
+rename from default-testpage.pdf
+rename to cups/default-testpage.pdf
+diff --git a/settings.ini b/gtk/settings.ini
+similarity index 100%
+rename from settings.ini
+rename to gtk/settings.ini
+diff --git a/.inputrc b/inputrc/.inputrc
+similarity index 100%
+rename from .inputrc
+rename to inputrc/.inputrc
+diff --git a/meson.build b/meson.build
+new file mode 100644
+index 0000000..7740a34
+--- /dev/null
++++ b/meson.build
+@@ -0,0 +1,79 @@
++project(
++    'elementary-default-settings',
++    version: '5.1.0',
++    default_options: 'sysconfdir=/etc',
++)
++
++prefix = get_option('prefix')
++datadir = join_paths(prefix, get_option('datadir'))
++sysconfdir = get_option('sysconfdir')
++
++meson.add_install_script('meson/post_install.py', datadir)
++
++# Planks Default DockItems
++if get_option('plank-dockitems')
++    install_subdir(
++        'plank',
++        install_dir: join_paths(sysconfdir, 'skel', '.config')
++    )
++endif
++
++# Setup system wide global environment for applications
++install_subdir(
++    'profile.d',
++    install_dir: join_paths(sysconfdir, 'profile.d'),
++    strip_directory : true
++)
++
++# elementary Plymouth Theme
++install_subdir(
++    'plymouth/elementary',
++    install_dir: join_paths(datadir, 'plymouth', 'themes')
++)
++
++install_data(
++    'plymouth/ubuntu-text.plymouth',
++    install_dir: join_paths(datadir, 'plymouth', 'themes')
++)
++
++# Sudo password feedback in terminals
++install_data(
++    'sudoers.d/pwfeedback',
++    install_dir: join_paths(sysconfdir, 'sudoers.d')
++)
++
++# CUPS Printing testpage
++install_data(
++    'cups/default-testpage.pdf',
++    install_dir: join_paths(datadir, 'cups', 'data')
++)
++
++# GTK3 Settings
++install_data(
++    'gtk/settings.ini',
++    install_dir: join_paths(sysconfdir, 'gtk-3.0')
++)
++
++# So SessionInstaller can have an Icon
++install_data(
++    'sessioninstaller/sessioninstaller.desktop',
++    install_dir: join_paths(datadir, 'applications')
++)
++
++# Default Appcenter Blacklist
++install_data(
++    'appcenter/appcenter.blacklist',
++    install_dir: join_paths(sysconfdir, 'appcenter')
++)
++
++# Configuration file of GNU readline
++install_data(
++    'inputrc/.inputrc',
++    install_dir: join_paths(sysconfdir, 'skel')
++)
++
++# Default gsettings overrides
++subdir('overrides')
++
++# AccountsService extension for Greeter.
++subdir('accountsservice')
+diff --git a/meson/post_install.py b/meson/post_install.py
+new file mode 100755
+index 0000000..c6b5617
+--- /dev/null
++++ b/meson/post_install.py
+@@ -0,0 +1,12 @@
++#!/usr/bin/env python3
++
++import os
++import sys
++import subprocess
++
++if 'DESTDIR' not in os.environ:
++    default_settings_datadir = sys.argv[1]
++
++    print('Compiling GSettings schemas...')
++    subprocess.call(['glib-compile-schemas',
++                    os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')])
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..8fd19ba
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,14 @@
++option('default-wallpaper',
++       type: 'string',
++       value: '/usr/share/backgrounds/elementaryos-default',
++       description: 'Path to default wallpaper to use in Pantheon.')
++
++option('plank-dockitems',
++       type: 'boolean',
++       value: true,
++       description: 'Install default Pantheon Plank dockitems')
++
++option('default-gsettings-overrides',
++       type: 'boolean',
++       value: true,
++       description: 'Install default Pantheon GSettings Overrides')
+diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in
+similarity index 92%
+rename from overrides/default-settings.gschema.override
+rename to overrides/default-settings.gschema.override.in
+index 1aef29c..69d272b 100644
+--- a/overrides/default-settings.gschema.override
++++ b/overrides/default-settings.gschema.override.in
+@@ -1,5 +1,4 @@
+ [net.launchpad.plank.dock.settings]
+-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
+ hide-delay=250
+ hide-mode='window-dodge'
+ show-dock-item=false
+@@ -11,7 +10,7 @@ triggers=['<Control>space']
+ [org.gnome.desktop.background]
+ draw-background=true
+ picture-options='zoom'
+-picture-uri='file:///usr/share/backgrounds/elementaryos-default'
++picture-uri='file://@DEFAULT_WALLPAPER@'
+ primary-color='#000000'
+ show-desktop-icons=false
+ 
+diff --git a/overrides/meson.build b/overrides/meson.build
+new file mode 100644
+index 0000000..ad80644
+--- /dev/null
++++ b/overrides/meson.build
+@@ -0,0 +1,21 @@
++if get_option('default-gsettings-overrides')
++    default_wallpaper = get_option('default-wallpaper')
++
++    wallpaper_configuration = configuration_data()
++    wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper)
++
++    settings_override = configure_file(
++        input: 'default-settings.gschema.override.in',
++        output: '@BASENAME@',
++        configuration: wallpaper_configuration,
++        install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
++    )
++endif
++
++# Install conditionally because it's dependent on our dockitems being installed
++if get_option('plank-dockitems')
++    install_data(
++        'plank-dockitems.gschema.override',
++        install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
++    )
++endif
+diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override
+new file mode 100644
+index 0000000..72b38d4
+--- /dev/null
++++ b/overrides/plank-dockitems.gschema.override
+@@ -0,0 +1,2 @@
++[net.launchpad.plank.dock.settings]
++dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
+diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop
+similarity index 100%
+rename from sessioninstaller.desktop
+rename to sessioninstaller/sessioninstaller.desktop
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch
deleted file mode 100644
index 1b2dc835706d..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override
-index 1aef29c..08de164 100644
---- a/overrides/default-settings.gschema.override
-+++ b/overrides/default-settings.gschema.override
-@@ -1,5 +1,5 @@
- [net.launchpad.plank.dock.settings]
--dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
-+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
- hide-delay=250
- hide-mode='window-dodge'
- show-dock-item=false
-@@ -8,13 +8,6 @@ theme='Gtk+'
- [org.freedesktop.ibus.general.hotkey]
- triggers=['<Control>space']
- 
--[org.gnome.desktop.background]
--draw-background=true
--picture-options='zoom'
--picture-uri='file:///usr/share/backgrounds/elementaryos-default'
--primary-color='#000000'
--show-desktop-icons=false
--
- [org.gnome.desktop.datetime]
- automatic-timezone=true
- 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index a1a69ee303fe..e601c99108b3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -1,11 +1,20 @@
 { stdenv
 , fetchFromGitHub
 , pantheon
+, meson
+, ninja
+, nixos-artwork
+, glib
+, pkgconfig
+, dbus
+, polkit
+, accountsservice
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-default-settings";
-  version = "5.1.0";
+  version = "5.1.1";
 
   repoName = "default-settings";
 
@@ -13,35 +22,64 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0l73py4rr56i4dalb2wh1c6qiwmcjkm0l1j75jp5agcnxldh5wym";
+    sha256 = "10sdy8v34y6bgb3mabwy7k3b5dbqrnab504dvhashpfxr9n9xncy";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
   patches = [
-    ./correct-override.patch
+    # https://github.com/elementary/default-settings/pull/119
+    ./0001-Build-with-Meson.patch
   ];
 
-  dontBuild = true;
-  dontConfigure = true;
+  nativeBuildInputs = [
+    accountsservice
+    dbus
+    glib # polkit requires
+    meson
+    ninja
+    pkgconfig
+    polkit
+    python3
+  ];
+
+  mesonFlags = [
+    "--sysconfdir=${placeholder "out"}/etc"
+    "-Ddefault-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png"
+    "-Dplank-dockitems=false"
+  ];
 
-  installPhase = ''
-    mkdir -p $out/etc/gtk-3.0
-    cp -av settings.ini $out/etc/gtk-3.0
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
 
-    mkdir -p $out/share/glib-2.0/schemas
-    cp -av overrides/default-settings.gschema.override $out/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override
+  preInstall = ''
+    # Install our override for plank dockitems.
+    # This is because we don't have Pantheon's mail or Appcenter.
+    # See: https://github.com/NixOS/nixpkgs/issues/58161
+    schema_dir=$out/share/glib-2.0/schemas
+    install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override
+
+    # Our launchers that use paths at /run/current-system/sw/bin
+    mkdir -p $out/etc/skel/.config/plank/dock1
+    cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers
+
+    # Whitelist wingpanel indicators to be used in the greeter
+    # TODO: is this needed or installed upstream?
+    install -D ${./io.elementary.greeter.whitelist} $out/etc/wingpanel.d/io.elementary.greeter.whitelist
+  '';
 
-    mkdir $out/etc/wingpanel.d
-    cp -avr ${./io.elementary.greeter.whitelist} $out/etc/wingpanel.d/io.elementary.greeter.whitelist
+  postFixup = ''
+    # https://github.com/elementary/default-settings/issues/55
+    rm -rf $out/share/plymouth
+    rm -rf $out/share/cups
 
-    mkdir -p $out/share/elementary/config/plank/dock1
-    cp -avr ${./launchers} $out/share/elementary/config/plank/dock1/launchers
+    rm -rf $out/share/applications
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
new file mode 100644
index 000000000000..671448745c50
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
@@ -0,0 +1,2 @@
+[net.launchpad.plank.dock.settings]
+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 963418feec09..dc0b764d3197 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , linkFarm
+, substituteAll
 , elementary-greeter
 , pantheon
 , pkgconfig
@@ -27,7 +28,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-greeter";
-  version = "5.0";
+  version = "5.0.1";
 
   repoName = "greeter";
 
@@ -35,13 +36,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "01c8acarxwpakyq69xm4bjwppjf8v3ijmns8masd8raxligb2v8b";
+    sha256 = "0qy6iw71p8hv6fpcr7p3hqbzlcpxrz18qdm1inannq68d0pxfx76";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
 
     xgreeters = linkFarm "pantheon-greeter-xgreeters" [{
@@ -86,6 +86,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sysconfdir-install.patch
+    # Needed until https://github.com/elementary/greeter/issues/360 is fixed
+    (substituteAll {
+      src = ./hardcode-fallback-background.patch;
+      default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png";
+    })
   ];
 
   preFixup = ''
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch
new file mode 100644
index 000000000000..7d2afe7b16c3
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch
@@ -0,0 +1,22 @@
+diff --git a/src/Widgets/BackgroundImage.vala b/src/Widgets/BackgroundImage.vala
+index ae9431c..f0f2a49 100644
+--- a/src/Widgets/BackgroundImage.vala
++++ b/src/Widgets/BackgroundImage.vala
+@@ -9,7 +9,7 @@ public class Greeter.BackgroundImage : Gtk.EventBox {
+ 
+     public BackgroundImage (string? path) {
+         if (path == null) {
+-            path = "/usr/share/backgrounds/elementaryos-default";
++            path = "@default_wallpaper@";
+         }
+ 
+         try {
+@@ -19,7 +19,7 @@ public class Greeter.BackgroundImage : Gtk.EventBox {
+             critical ("Fallback to default wallpaper");
+ 
+             try {
+-                full_pixbuf = new Gdk.Pixbuf.from_file ("/usr/share/backgrounds/elementaryos-default");
++                full_pixbuf = new Gdk.Pixbuf.from_file ("@default_wallpaper@");
+             } catch (GLib.Error e) {
+                 critical (e.message);
+             }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
index 9fc4418e7ca1..38e57539de42 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
@@ -41,13 +41,9 @@ runCommand "elementary-gsettings-desktop-schemas" {}
      ${concatMapStrings (pkg: "cp -rf ${glib.getSchemaPath pkg}/*.xml $schema_dir\n") gsettingsOverridePackages}
 
      chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
-     cp ${elementary-default-settings}/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override $schema_dir
+     cp ${glib.getSchemaPath elementary-default-settings}/* $schema_dir
 
      cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
-     [org.gnome.desktop.background]
-     picture-uri='file://${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
-     primary-color='#000000'
-
      ${extraGSettingsOverrides}
      EOF
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
new file mode 100644
index 000000000000..06b5183c1e03
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetchFromGitHub
+, pantheon
+, fetchpatch
+, pkgconfig
+, meson
+, ninja
+, vala
+, python3
+, gtk3
+, glib
+, granite
+, libgee
+, elementary-icon-theme
+, elementary-gtk-theme
+, gettext
+, libhandy
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-onboarding";
+  version = "1.1.0";
+
+  repoName = "onboarding";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = version;
+    sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k";
+  };
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    elementary-gtk-theme
+    elementary-icon-theme
+    glib
+    granite
+    gtk3
+    libgee
+    libhandy
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Onboarding app for new users designed for elementary OS";
+    homepage = https://github.com/elementary/onboarding;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
index 0be2431d33d8..e79a85bee958 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop
deleted file mode 100644
index 517a9457ae10..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Instantiate Default elementary dockitems
-Exec=@script@
-StartupNotify=false
-NoDisplay=true
-OnlyShowIn=Pantheon;
-X-GNOME-Autostart-Phase=EarlyInitialization
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index 7b0657bcd80b..58acdd12147e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -10,9 +10,12 @@
 , onboard
 , at-spi2-core
 , elementary-default-settings
-, writeShellScriptBin
 , elementary-settings-daemon
 , runtimeShell
+, writeText
+, meson
+, ninja
+, git
 }:
 
 let
@@ -33,26 +36,32 @@ let
     #!${runtimeShell}
 
     elementary_default_settings="${elementary-default-settings}"
-    dock_items="$elementary_default_settings/share/elementary/config/plank/dock1/launchers"/*
+    dock_items="$elementary_default_settings/etc/skel/.config/plank/dock1/launchers"/*
 
     if [ ! -d "$HOME/.config/plank/dock1" ]; then
         echo "Instantiating default Plank Dockitems..."
 
-        mkdir -p $HOME/.config/plank/dock1/launchers
-        cp -r --no-preserve=mode,ownership $dock_items $HOME/.config/plank/dock1/launchers/
+        mkdir -p "$HOME/.config/plank/dock1/launchers"
+        cp -r --no-preserve=mode,ownership $dock_items "$HOME/.config/plank/dock1/launchers/"
     else
         echo "Plank Dockitems already instantiated"
     fi
   '';
 
-  dockitemAutostart = substituteAll {
-    src = ./default-elementary-dockitems.desktop;
-    script = dockitems-script;
-  };
+  dockitemAutostart = writeText "default-elementary-dockitems.desktop" ''
+    [Desktop Entry]
+    Type=Application
+    Name=Instantiate Default elementary dockitems
+    Exec=${dockitems-script}
+    StartupNotify=false
+    NoDisplay=true
+    OnlyShowIn=Pantheon;
+    X-GNOME-Autostart-Phase=EarlyInitialization
+  '';
 
-  executable = writeShellScriptBin "pantheon" ''
-    export XDG_CONFIG_DIRS=${elementary-settings-daemon}/etc/xdg:$XDG_CONFIG_DIRS
-    export XDG_DATA_DIRS=${placeholder "out"}/share:$XDG_DATA_DIRS
+  executable = writeScript "pantheon" ''
+    export XDG_CONFIG_DIRS=${elementary-settings-daemon}/etc/xdg:${elementary-default-settings}/etc:$XDG_CONFIG_DIRS
+    export XDG_DATA_DIRS=@out@/share:$XDG_DATA_DIRS
     exec ${gnome-session}/bin/gnome-session --session=pantheon "$@"
   '';
 
@@ -71,17 +80,23 @@ stdenv.mkDerivation rec {
     sha256 = "1vrjm7bklkfv0dyafm312v4hxzy6lb7p1ny4ijkn48kr719gc71k";
   };
 
-  passthru = {
-    updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
-    };
-  };
+  postPatch = ''
+    ${git}/bin/git apply --verbose ${./meson.patch}
+  '';
 
-  dontBuild = true;
-  dontConfigure = true;
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
 
-  installPhase = ''
+  mesonFlags = [
+    "-Ddefaults-list=false"
+    "-Dpatched-gsd-autostarts=false"
+    "-Dpatched-ubuntu-autostarts=false"
+    "-Dfallback-session=GNOME"
+  ];
+
+  postInstall = ''
     mkdir -p $out/share/applications
     cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
 
@@ -92,16 +107,14 @@ stdenv.mkDerivation rec {
 
     cp "${dockitemAutostart}" $out/etc/xdg/autostart/default-elementary-dockitems.desktop
 
-    mkdir -p $out/share/gnome-session/sessions
-    cp -av gnome-session/pantheon.session $out/share/gnome-session/sessions
-
-    mkdir -p $out/share/xsessions
-    cp -av xsessions/pantheon.desktop $out/share/xsessions
+    mkdir -p $out/libexec
+    substitute ${executable} $out/libexec/pantheon --subst-var out
+    chmod +x $out/libexec/pantheon
   '';
 
   postFixup = ''
     substituteInPlace $out/share/xsessions/pantheon.desktop \
-      --replace "gnome-session --session=pantheon" "${executable}/bin/pantheon" \
+      --replace "gnome-session --session=pantheon" "$out/libexec/pantheon" \
       --replace "wingpanel" "${wingpanel}/bin/wingpanel"
 
     for f in $out/etc/xdg/autostart/*; do mv "$f" "''${f%.desktop}-pantheon.desktop"; done
@@ -113,6 +126,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+    providedSessions = [ "pantheon" ];
+  };
+
   meta = with stdenv.lib; {
     description = "Session settings for elementary";
     homepage = https://github.com/elementary/session-settings;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch
new file mode 100644
index 000000000000..39d155656612
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch
@@ -0,0 +1,272 @@
+From 0a20ad6a31c74f4f96e9ed3613ec6c16a94ede39 Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+Date: Thu, 8 Aug 2019 11:25:37 -0400
+Subject: [PATCH] Build with Meson (#13)
+
+---
+ applications/meson.build                       |  4 ++++
+ ...ettingsDaemon.A11ySettings-pantheon.desktop |  0
+ ...e.SettingsDaemon.Clipboard-pantheon.desktop |  0
+ ...gnome.SettingsDaemon.Color-pantheon.desktop |  0
+ ...me.SettingsDaemon.Datetime-pantheon.desktop |  0
+ ...ettingsDaemon.Housekeeping-pantheon.desktop |  0
+ ...me.SettingsDaemon.Keyboard-pantheon.desktop |  0
+ ...e.SettingsDaemon.MediaKeys-pantheon.desktop |  0
+ ...gnome.SettingsDaemon.Mouse-pantheon.desktop |  0
+ ...gnome.SettingsDaemon.Power-pantheon.desktop |  0
+ ...sDaemon.PrintNotifications-pantheon.desktop |  0
+ ...nome.SettingsDaemon.Rfkill-pantheon.desktop |  0
+ ...ome.SettingsDaemon.Sharing-pantheon.desktop |  0
+ ...e.SettingsDaemon.Smartcard-pantheon.desktop |  0
+ ...gnome.SettingsDaemon.Sound-pantheon.desktop |  0
+ ...gnome.SettingsDaemon.Wacom-pantheon.desktop |  0
+ ...e.SettingsDaemon.XSettings-pantheon.desktop |  0
+ autostart/meson.build                          | 18 ++++++++++++++++++
+ .../gnome-keyring-gpg-pantheon.desktop         |  0
+ .../gnome-keyring-pkcs11-pantheon.desktop      |  0
+ .../gnome-keyring-secrets-pantheon.desktop     |  0
+ .../gnome-keyring-ssh-pantheon.desktop         |  0
+ .../onboard-autostart-pantheon.desktop         |  0
+ .../orca-autostart-pantheon.desktop            |  0
+ .../user-dirs-update-gtk-pantheon.desktop      |  0
+ gnome-session/meson.build                      | 11 +++++++++++
+ .../{pantheon.session => pantheon.session.in}  |  2 +-
+ meson.build                                    | 14 ++++++++++++++
+ meson_options.txt                              | 11 +++++++++++
+ xsessions/meson.build                          |  4 ++++
+ 30 files changed, 63 insertions(+), 1 deletion(-)
+ create mode 100644 applications/meson.build
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Color-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Datetime-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Mouse-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Power-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sharing-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sound-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Wacom-pantheon.desktop (100%)
+ rename autostart/{ => gsd}/org.gnome.SettingsDaemon.XSettings-pantheon.desktop (100%)
+ create mode 100644 autostart/meson.build
+ rename autostart/{ => ubuntu}/gnome-keyring-gpg-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/gnome-keyring-pkcs11-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/gnome-keyring-secrets-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/gnome-keyring-ssh-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/onboard-autostart-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/orca-autostart-pantheon.desktop (100%)
+ rename autostart/{ => ubuntu}/user-dirs-update-gtk-pantheon.desktop (100%)
+ create mode 100644 gnome-session/meson.build
+ rename gnome-session/{pantheon.session => pantheon.session.in} (94%)
+ create mode 100644 meson.build
+ create mode 100644 meson_options.txt
+ create mode 100644 xsessions/meson.build
+
+diff --git a/applications/meson.build b/applications/meson.build
+new file mode 100644
+index 0000000..d03b92b
+--- /dev/null
++++ b/applications/meson.build
+@@ -0,0 +1,4 @@
++install_data(
++    'defaults.list',
++    install_dir: join_paths(datadir, 'applications')
++)
+diff --git a/autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
+diff --git a/autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
+similarity index 100%
+rename from autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
+rename to autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
+diff --git a/autostart/meson.build b/autostart/meson.build
+new file mode 100644
+index 0000000..265088b
+--- /dev/null
++++ b/autostart/meson.build
+@@ -0,0 +1,18 @@
++autostartdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
++
++if get_option('patched-gsd-autostarts')
++    install_subdir(
++        'gsd',
++        install_dir: autostartdir,
++        strip_directory: true
++    )
++endif
++
++
++if get_option('patched-ubuntu-autostarts')
++    install_subdir(
++        'ubuntu',
++        install_dir: autostartdir,
++        strip_directory: true
++    )
++endif
+diff --git a/autostart/gnome-keyring-gpg-pantheon.desktop b/autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
+similarity index 100%
+rename from autostart/gnome-keyring-gpg-pantheon.desktop
+rename to autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
+diff --git a/autostart/gnome-keyring-pkcs11-pantheon.desktop b/autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
+similarity index 100%
+rename from autostart/gnome-keyring-pkcs11-pantheon.desktop
+rename to autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
+diff --git a/autostart/gnome-keyring-secrets-pantheon.desktop b/autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
+similarity index 100%
+rename from autostart/gnome-keyring-secrets-pantheon.desktop
+rename to autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
+diff --git a/autostart/gnome-keyring-ssh-pantheon.desktop b/autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
+similarity index 100%
+rename from autostart/gnome-keyring-ssh-pantheon.desktop
+rename to autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
+diff --git a/autostart/onboard-autostart-pantheon.desktop b/autostart/ubuntu/onboard-autostart-pantheon.desktop
+similarity index 100%
+rename from autostart/onboard-autostart-pantheon.desktop
+rename to autostart/ubuntu/onboard-autostart-pantheon.desktop
+diff --git a/autostart/orca-autostart-pantheon.desktop b/autostart/ubuntu/orca-autostart-pantheon.desktop
+similarity index 100%
+rename from autostart/orca-autostart-pantheon.desktop
+rename to autostart/ubuntu/orca-autostart-pantheon.desktop
+diff --git a/autostart/user-dirs-update-gtk-pantheon.desktop b/autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
+similarity index 100%
+rename from autostart/user-dirs-update-gtk-pantheon.desktop
+rename to autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
+diff --git a/gnome-session/meson.build b/gnome-session/meson.build
+new file mode 100644
+index 0000000..b9245a1
+--- /dev/null
++++ b/gnome-session/meson.build
+@@ -0,0 +1,11 @@
++fallback_session = get_option('fallback-session')
++
++session_configuration = configuration_data()
++session_configuration.set('FALLBACK_SESSION', fallback_session)
++
++pantheon_session = configure_file(
++  input: 'pantheon.session.in',
++  output: '@BASENAME@',
++  configuration: session_configuration,
++  install_dir: join_paths(datadir, 'gnome-session', 'sessions')
++)
+diff --git a/gnome-session/pantheon.session b/gnome-session/pantheon.session.in
+similarity index 94%
+rename from gnome-session/pantheon.session
+rename to gnome-session/pantheon.session.in
+index 1626393..7bc1814 100644
+--- a/gnome-session/pantheon.session
++++ b/gnome-session/pantheon.session.in
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Pantheon
+ RequiredComponents=gala;gala-daemon;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
+-FallbackSession=ubuntu
++FallbackSession=@FALLBACK_SESSION@
+ DesktopName=Pantheon
+diff --git a/meson.build b/meson.build
+new file mode 100644
+index 0000000..a7d3195
+--- /dev/null
++++ b/meson.build
+@@ -0,0 +1,14 @@
++project('elementary-session-settings',
++        version: '5.0.3',
++        default_options: 'sysconfdir=/etc')
++
++prefix = get_option('prefix')
++datadir = join_paths(prefix, get_option('datadir'))
++
++if get_option('defaults-list')
++    subdir('applications')
++endif
++
++subdir('autostart')
++subdir('gnome-session')
++subdir('xsessions')
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..4c5ac2d
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,11 @@
++option('defaults-list', type : 'boolean', value: true,
++       description : 'Install defaults.list')
++
++option('patched-gsd-autostarts', type : 'boolean', value: true,
++       description : 'Install patched GNOME Settings Daemon autostarts')
++
++option('patched-ubuntu-autostarts', type : 'boolean', value: true,
++       description : 'Install patched Ubuntu autostarts')
++
++option('fallback-session', type : 'string', value: 'ubuntu',
++       description : 'Fallback session to use for Pantheon')
+diff --git a/xsessions/meson.build b/xsessions/meson.build
+new file mode 100644
+index 0000000..d144291
+--- /dev/null
++++ b/xsessions/meson.build
+@@ -0,0 +1,4 @@
++install_data(
++    'pantheon.desktop',
++    install_dir: join_paths(datadir, 'xsessions')
++)
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index 20b1ac7d353f..2ba5f4becc15 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/nixpkgs/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,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4";
+    sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
index b80e93279c8f..5791fb5c58f7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -26,19 +26,18 @@
 
 stdenv.mkDerivation rec {
   pname = "gala";
-  version = "unstable-2019-07-21"; # Is tracking https://github.com/elementary/gala/commits/stable/juno
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
-    rev = "50694796d4c8f0ca92517d5a628b0efdf748279c";
-    sha256 = "17d0hd2145mrf8y5ws3xypdbwj72qv7hrrp6p6lm4k16xd96yznr";
+    rev = version;
+    sha256 = "1vf55ls3h20zpf0yxb206cijq8nkf89z2lmhccb4i1g2zajd31ix";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
-      versionPolicy = "master";
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index ae138c9215c1..34c29c1b72ac 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.4.3";
+  version = "2.5.0";
 
   repoName = "applications-menu";
 
@@ -34,13 +34,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "15mwfynaa57jii43x77iaz5gqjlylh5zxc70am8zgp8vhgzflvyd";
+    sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -73,13 +72,10 @@ stdenv.mkDerivation rec {
     "--sysconfdir=${placeholder "out"}/etc"
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   patches = [
     (substituteAll {
-      src = ./bc.patch;
-      exec = "${bc}/bin/bc";
+      src = ./fix-paths.patch;
+      bc = "${bc}/bin/bc";
     })
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
new file mode 100644
index 000000000000..25e3891a205a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
+index 18ca3af..f5d1076 100644
+--- a/src/synapse-plugins/calculator-plugin.vala
++++ b/src/synapse-plugins/calculator-plugin.vala
+@@ -44,9 +44,7 @@ namespace Synapse {
+                 _("Calculator"),
+                 _("Calculate basic expressions."),
+                 "accessories-calculator",
+-                register_plugin,
+-                Environment.find_program_in_path ("bc") != null,
+-                _("bc is not installed")
++                register_plugin
+             );
+         }
+ 
+@@ -87,7 +85,7 @@ namespace Synapse {
+             if (matched) {
+                 Pid pid;
+                 int read_fd, write_fd;
+-                string[] argv = {"bc", "-l"};
++                string[] argv = {"@bc@", "-l"};
+                 string? solution = null;
+ 
+                 try {
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 36d1cf0e77a3..93ddb0e1dee2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -12,24 +12,22 @@
 , wingpanel
 , libgee
 , libxml2
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-bluetooth";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9";
+    sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -40,11 +38,9 @@ stdenv.mkDerivation rec {
     pkgconfig
     python3
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libgee
@@ -52,8 +48,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 74408a4ed6d4..f6ff962a9446 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -16,24 +16,22 @@
 , libxml2
 , libsoup
 , elementary-calendar
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-datetime";
-  version = "2.1.3";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1y7a4xjwl3bpls56ys6g3s6mh5b3qbjm2vw7b6n2i4x7a63c4cbh";
+    sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -44,11 +42,9 @@ stdenv.mkDerivation rec {
     pkgconfig
     python3
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     evolution-data-server
     granite
     gtk3
@@ -59,30 +55,18 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Use "clock-format" GSettings key that's been moved to granite
+    # Add support for libecal-2.0
     (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/wingpanel-indicator-datetime/raw/c8d515b76aa812c141212d5515621a6febd781a3/f/00-move-clock-format-settings-to-granite.patch";
-      sha256 = "1sq3aw9ckkm057rnrclnw9lyrxbpl37fyzfnbixi2q3ypr70n880";
-    })
-    # See: https://github.com/elementary/wingpanel-indicator-datetime/pull/117
-    (fetchpatch {
-      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/4859e72a52d8dac5cad87b192fc912fb013b0ecd.patch";
-      sha256 = "0jfhb5sax4sivdfx7il1rc1dvhy0yfv27qhvwbdy0hza9wf8q9k0";
+      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch";
+      sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6";
     })
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
 
-  # launches elementary-calendar on selection
-  preFixup = ''
-     gappsWrapperArgs+=( --prefix PATH : "${elementary-calendar}/bin" )
-  '';
-
   meta = with stdenv.lib; {
     description = "Date & Time Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-datetime;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index 5431b982f540..66f805b9a494 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -13,24 +13,22 @@
 , libgee
 , xorg
 , libgnomekbd
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-keyboard";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lrd474m6p8di73hqjilqnnl7qg72ky5narkgcvm4lk8dyi78mz0";
+    sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -40,11 +38,9 @@ stdenv.mkDerivation rec {
     libxml2
     pkgconfig
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libgee
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index 6ba19ebf77ee..fd22de25d63c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -11,8 +11,6 @@
 , networkmanagerapplet
 , wingpanel
 , libgee
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -37,11 +35,9 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libgee
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 0327d5e78e2c..9d2669821de6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -10,8 +10,6 @@
 , wingpanel
 , libgee
 , libxml2
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -27,7 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -37,11 +35,9 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libgee
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index a4266a6f4595..e5dabead7c5b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -10,24 +10,22 @@
 , wingpanel
 , libgee
 , libwnck3
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-notifications";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld";
+    sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -36,11 +34,9 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libgee
@@ -48,8 +44,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Notifications Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-notifications;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index 9f9d47030600..122236449710 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -13,8 +13,6 @@
 , udev
 , wingpanel
 , libgee
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -30,7 +28,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -40,12 +38,10 @@ stdenv.mkDerivation rec {
     pkgconfig
     python3
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
     bamf
-    elementary-icon-theme
     granite
     gtk3
     libgee
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index f48638ff2b16..72f94252cca9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -10,24 +10,22 @@
 , wingpanel
 , accountsservice
 , libgee
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5";
+    sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -36,20 +34,16 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
     accountsservice
-    elementary-icon-theme
     granite
     gtk3
     libgee
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Session Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-session;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index 038ab75094cd..ccd233e1a3e7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -14,24 +14,22 @@
 , libcanberra-gtk3
 , libgee
 , libxml2
-, wrapGAppsHook
-, elementary-icon-theme
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-sound";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda";
+    sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -42,11 +40,9 @@ stdenv.mkDerivation rec {
     pkgconfig
     python3
     vala
-    wrapGAppsHook
   ];
 
   buildInputs = [
-    elementary-icon-theme
     granite
     gtk3
     libcanberra-gtk3
@@ -56,8 +52,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 06f0fc23a399..694166a5d641 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -20,18 +20,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "15pl3km8jfmlgrrb2fcabdd0rkc849arz6sc3vz6azzpln7gxbq7";
+    sha256 = "0q5jhg3gpcjfzfi7g33fv8pb916cqsgk6543b82yy97c20902ap9";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
index 6b554d89caa9..596ee816f891 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
@@ -1,29 +1,44 @@
 { lib
-, makeWrapper
+, wrapGAppsHook
+, glib
 , symlinkJoin
 , wingpanel
 , wingpanelIndicators
 , switchboard-with-plugs
 , indicators ? null
+  # Only useful to disable for development testing.
+, useDefaultIndicators ? true
 }:
 
 let
-  selectedIndicators = if indicators == null then wingpanelIndicators else indicators;
+  selectedIndicators =
+    if indicators == null then wingpanelIndicators
+    else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
 in
 symlinkJoin {
   name = "${wingpanel.name}-with-indicators";
 
-  paths = [ wingpanel ] ++ selectedIndicators;
+  paths = [
+    wingpanel
+  ] ++ selectedIndicators;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    glib
+    wrapGAppsHook
+  ] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
+    ++ selectedIndicators;
 
   # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
   # has a plugin to search switchboard settings
   postBuild = ''
-    wrapProgram $out/bin/wingpanel \
-      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \
-      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \
-      --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators}
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(
+      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
+      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
+    )
+
+    wrapGAppsHook
   '';
 
   inherit (wingpanel) meta;
diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
index 521d22d23353..198be9f3430d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , fetchFromGitHub
-, fetchpatch
 , python3
 , meson
 , ninja
@@ -11,34 +10,24 @@
 , gtk3
 , glib
 , gettext
-, hicolor-icon-theme
 , gobject-introspection
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "granite";
-  version = "5.2.3";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "10ddq1s2w4jvpzq813cylmqhh8pggzaz890fy3kzg07275i98gah";
+    sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa";
   };
 
-  patches = [
-    # Resolve the circular dependency between granite and the datetime wingpanel indicator
-    # See: https://github.com/elementary/granite/pull/242
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/granite/raw/0550b44ed6400c9b1ff7e70871913747df2ff323/f/00-datetime-clock-format-gsettings.patch";
-      sha256 = "0i9yvdmn77x5fjdwd1raw6ym8js8yxa7w6ydc7syx7hcyls00dmq";
-    })
-  ];
-
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -56,7 +45,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    hicolor-icon-theme
     libgee
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc
new file mode 100644
index 000000000000..1d953f4bd735
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc
@@ -0,0 +1 @@
+use nix
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs
new file mode 100644
index 000000000000..d2cda26eddc9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs
@@ -0,0 +1,4 @@
+# Used by "mix format"
+[
+  inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
+]
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore
new file mode 100644
index 000000000000..877c95f1f63b
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore
@@ -0,0 +1,32 @@
+# The directory Mix will write compiled artifacts to.
+_build/
+
+# If you run "mix test --cover", coverage assets end up here.
+cover/
+
+# The directory Mix downloads your dependencies sources to.
+deps/
+
+# Where third-party dependencies like ExDoc output generated docs.
+doc/
+
+# Ignore .fetch files in case you like to edit your project deps locally.
+.fetch
+
+# If the VM crashes, it generates a dump, let's ignore it too.
+erl_crash.dump
+
+# Also ignore archive artifacts (built via "mix archive.build").
+*.ez
+
+# Ignore package tarball (built via "mix hex.build").
+nixpkgs_github_update-*.tar
+
+# Ignore elixir_ls
+.elixir_ls
+
+# mix escript.build result
+nixpkgs_github_update
+
+# lockfile. only because this is nixpkgs.
+mix.lock
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix
new file mode 100644
index 000000000000..834291222cf0
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, beamPackages
+, makeWrapper
+, common-updater-scripts
+}:
+
+let
+
+  poison_4 = beamPackages.buildMix {
+    name = "poison";
+    version = "4.0.1";
+
+    src = beamPackages.fetchHex {
+      pkg = "poison";
+      version = "4.0.1";
+      sha256 = "098gdz7xzfmnjzgnnv80nl4h3zl8l9czqqd132vlnfabxbz3d25s";
+    };
+  };
+
+
+in
+
+beamPackages.buildMix {
+  name = "nixpkgs-github-update";
+  version = "0.1.0";
+
+  src = lib.cleanSource ./.;
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  beamDeps = with beamPackages; [ erlang poison_4 ];
+
+  buildPhase = ''
+    export HEX_OFFLINE=1
+    export HEX_HOME=`pwd`
+    export MIX_ENV=prod
+    export MIX_NO_DEPS=1
+
+    mix escript.build --no-deps-check
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp nixpkgs_github_update $out/bin
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/nixpkgs_github_update \
+      --prefix PATH : "${lib.makeBinPath [ common-updater-scripts ]}"
+  '';
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex
new file mode 100644
index 000000000000..e735c4285169
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex
@@ -0,0 +1,71 @@
+defmodule NixpkgsGitHubUpdate.CLI do
+  @moduledoc """
+  Run updates on Nix Expressions that use fetchFromGitHub.
+
+  Arguments the script accepts:
+  --attribute <attribute_path>
+
+  Example usage:
+  ```
+  ./nixpkgs_github_update --attribute "notes-up"
+  ```
+  """
+  alias NixpkgsGitHubUpdate.{Nix, GitHubLatestVersion}
+
+  def help do
+    IO.puts("""
+    Run updates on Nix Expressions that use fetchFromGitHub.
+
+    Arguments the script accepts:
+    --attribute <attribute_path>
+
+    Example usage:
+    ./nixpkgs_github_update --attribute "notes-up"
+    """)
+  end
+
+  def main([]) do
+    help()
+  end
+
+  def main(args) do
+    opts = parse_args(args)
+
+    attribute = opts[:attribute]
+
+    case Nix.attribute_exists?(attribute) do
+      true -> update(attribute)
+      _ -> exit("Requested attribute doesn't exist.")
+    end
+  end
+
+  def parse_args(args) do
+    {options, _, _} =
+      args
+      |> OptionParser.parse(strict: [attribute: :string])
+
+    options
+  end
+
+  def update(attribute) do
+    version =
+      Nix.get_owner_repo(attribute)
+      |> GitHubLatestVersion.fetch()
+      |> decode_response()
+      |> construct_version()
+
+    Nix.update_source_version(attribute, version)
+  end
+
+  def decode_response({:ok, response}), do: response
+
+  def decode_response({:error, error}) do
+    IO.puts("Error getting latest release from GitHub: #{error["message"]}")
+    System.halt(2)
+  end
+
+  def construct_version(response) do
+    Map.get(response, "tag_name")
+    |> String.trim_leading("v")
+  end
+end
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
new file mode 100644
index 000000000000..ad7f96d6b2a6
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
@@ -0,0 +1,42 @@
+defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do
+  @user_agent 'httpc'
+
+  def fetch({owner, repo}) do
+    endpoint = releases_endpoint(owner, repo)
+    headers = construct_headers()
+
+    :httpc.request(:get, {endpoint, headers}, [], [])
+    |> handle_response
+  end
+
+  def releases_endpoint(owner, repo) do
+    'https://api.github.com/repos/#{owner}/#{repo}/releases/latest'
+  end
+
+  def construct_headers do
+    headers = %{'User-Agent' => @user_agent}
+
+    put_token(headers, get_token())
+    |> Map.to_list
+  end
+
+  defp get_token do
+    String.to_charlist("#{System.get_env("OAUTH_TOKEN")}")
+  end
+
+  defp put_token(headers, token) when is_list(token) do
+    Map.put_new(headers, 'Authorization', 'token #{token}')
+  end
+
+  defp put_token(headers, _), do: headers
+
+  def handle_response({_, {{_httpv, status_code, _}, _headers, response}}) do
+    {
+      status_code |> check_for_error(),
+      response |> Poison.Parser.parse!(%{})
+    }
+  end
+
+  defp check_for_error(200), do: :ok
+  defp check_for_error(_), do: :error
+end
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex
new file mode 100644
index 000000000000..d5d9af84a6ba
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex
@@ -0,0 +1,85 @@
+defmodule NixpkgsGitHubUpdate.Nix do
+  def executable do
+    nix = System.find_executable("nix")
+
+    if nix == nil do
+      raise RuntimeError, message: "missing executable for 'nix'"
+    end
+
+    nix
+  end
+
+  def eval!(attribute) do
+    System.cmd(
+      executable(),
+      [
+        "eval",
+        "--json",
+        attribute
+      ],
+      stderr_to_stdout: true
+    )
+    |> handle_eval
+  end
+
+  defp handle_eval({eval_result, 0}) do
+    case eval_result do
+      "" -> eval_result
+      _ -> Poison.Parser.parse!(eval_result, %{})
+    end
+  end
+
+  defp handle_eval({eval_result, _}) do
+    raise RuntimeError, message: "Error running nix eval: #{eval_result}"
+  end
+
+  def attribute_exists?(attribute) do
+    attr_exist_expression = """
+      with import <nixpkgs> {};
+
+      let
+        attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." "#{attribute}") null pkgs;
+      in
+        if attrSet == null then false
+        else true
+    """
+
+    eval!("(#{attr_exist_expression})")
+  end
+
+  def update_source_version(attribute, version) do
+    System.cmd("update-source-version", [
+      attribute,
+      version
+    ])
+  end
+
+  def get_url_attr(attribute) do
+    case attribute_exists?("#{attribute}.src.fetchSubmodules") do
+      true -> "url"
+      false -> "urls"
+    end
+  end
+
+  def get_owner_repo(attribute) do
+    url_attr = get_url_attr(attribute)
+
+    eval!("nixpkgs.#{attribute}.src.#{url_attr}")
+    |> case do
+      # It's fetchFromGitHub if we got a list
+      [url | _] ->
+        URI.parse(url).path
+        |> String.split("/archive", trim: true)
+        |> List.first()
+        |> String.split("/", trim: true)
+
+      # It's fetchgit if we got a plain string
+      url ->
+        URI.parse(url).path
+        |> String.split(".git", trim: true)
+        |> List.first()
+        |> String.split("/", trim: true)
+    end
+    |> List.to_tuple()
+  end
+end
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs
new file mode 100644
index 000000000000..3498c7066a43
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs
@@ -0,0 +1,28 @@
+defmodule NixpkgsGitHubUpdate.MixProject do
+  use Mix.Project
+
+  def project do
+    [
+      app: :nixpkgs_github_update,
+      version: "0.1.0",
+      elixir: "~> 1.9",
+      escript: [main_module: NixpkgsGitHubUpdate.CLI],
+      start_permanent: Mix.env() == :prod,
+      deps: deps()
+    ]
+  end
+
+  # Run "mix help compile.app" to learn about applications.
+  def application do
+    [
+      extra_applications: [:logger, :inets, :ssl]
+    ]
+  end
+
+  # Run "mix help deps" to learn about dependencies.
+  defp deps do
+    [
+      {:poison, "~> 4.0.1"}
+    ]
+  end
+end
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix
new file mode 100644
index 000000000000..0bb4e58a6a12
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix
@@ -0,0 +1,19 @@
+with import <nixpkgs> {};
+
+let
+  inherit (lib) optional;
+in
+
+mkShell rec {
+  name = "nixpkgs-github-update-shell";
+
+  buildInputs = [
+    elixir
+    erlang
+    common-updater-scripts
+  ]
+  ++ optional stdenv.isLinux libnotify # For ExUnit Notifier on Linux.
+  ++ optional stdenv.isLinux inotify-tools # For file_system on Linux.
+  ;
+
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs
new file mode 100644
index 000000000000..c5a57698fed6
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs
@@ -0,0 +1,49 @@
+defmodule NixTest do
+  @fake_package "asanotehhhuh"
+  @fetchgit_package "polybar"
+  @fetchgithub_package "notes-up"
+
+  use ExUnit.Case
+
+  import NixpkgsGitHubUpdate.Nix
+
+  def check_for_nix(_context) do
+    try do
+      executable()
+    rescue
+      RuntimeError ->
+        IO.puts("You need Nix installed to run these tests.")
+        System.halt(127)
+    end
+
+    :ok
+  end
+
+  setup_all :check_for_nix
+
+  describe "evaluation tests" do
+    test "evaluation handling" do
+      exists_attr = "nixpkgs.#{@fetchgithub_package}"
+
+      assert is_binary(eval!(exists_attr)) == true
+      catch_error(eval!(@fake_package) == 1)
+    end
+
+    # This should always be true or false
+    test "package exists?" do
+      assert attribute_exists?(@fetchgithub_package) == true
+      assert attribute_exists?(@fake_package) == false
+    end
+  end
+
+  test "owner repo" do
+    assert get_url_attr(@fetchgit_package) == "url"
+    assert get_url_attr(@fetchgithub_package) == "urls"
+
+    assert get_owner_repo(@fetchgit_package) ==
+             {@fetchgit_package, @fetchgit_package}
+
+    assert get_owner_repo(@fetchgithub_package) ==
+             {"Philip-Scott", String.capitalize(@fetchgithub_package)}
+  end
+end
diff --git a/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs
new file mode 100644
index 000000000000..869559e709ea
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs
@@ -0,0 +1 @@
+ExUnit.start()
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix
index a8eaf766664e..a911440fa5de 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
index b10e97f77d73..68532bdd8120 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A desktop-wide extension service used by elementary OS";
-    homepage = https://github.com/elementarycontractor;
+    homepage = "https://github.com/elementary/contractor";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index 6305c872b2fa..d41750f8dfc0 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.2.3";
+  version = "2.2.4";
 
   repoName = "capnet-assist";
 
@@ -25,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji";
+    sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
index fb9d28eaf6b1..4ec1df36bea2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
@@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 67a67dd4b3d2..582793ff5906 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -90,8 +90,6 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    for f in $out/etc/xdg/autostart/*; do mv "$f" "''${f%.desktop}-pantheon.desktop"; done
-
     for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart)
     do
       echo "Patching OnlyShowIn to Pantheon in: $autostart"
@@ -100,7 +98,7 @@ stdenv.mkDerivation rec {
 
     # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8
     # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release)
-    rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy-pantheon.desktop
+    rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop
 
     # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper
     mkdir -p $out/bin/elementary-settings-daemon
@@ -150,11 +148,9 @@ stdenv.mkDerivation rec {
     "-Dudev_dir=${placeholder "out"}/lib/udev"
   ];
 
-  NIX_CFLAGS_COMPILE = [
     # Default for release buildtype but passed manually because
     # we're using plain
-    "-DG_DISABLE_CAST_CHECKS"
-  ];
+  NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index 8afbbbeed829..0f919c7c94d4 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -15,18 +15,18 @@
 
 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index 53a65ddb9474..f244e0e46371 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -7,24 +7,25 @@
 , 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 = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    granite
     gtk3
     libgee
     polkit
diff --git a/nixpkgs/pkgs/desktops/pantheon/update.nix b/nixpkgs/pkgs/desktops/pantheon/update.nix
index 3bc432c5d325..1137c5330169 100644
--- a/nixpkgs/pkgs/desktops/pantheon/update.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/update.nix
@@ -1,36 +1,6 @@
-{ runCommand
-, nix
-, bash
-, git
-, jq
-, nix-prefetch-scripts
-, coreutils
-, common-updater-scripts
-, gnugrep
-, gnused
-, curl
-}:
+{ nixpkgs-github-update }:
 
-{ repoName
-, attrPath ? repoName
-, versionPolicy ? "release"
-}:
+{ attrPath }:
 
-let
-  script = ./update.sh;
 
-  updateScript = runCommand "update.sh" {
-    inherit bash git jq nix coreutils gnugrep gnused curl;
-    # These weren't being substituted
-    nix_prefetch_scripts = nix-prefetch-scripts;
-    common_updater_scripts = common-updater-scripts;
-  } ''
-    substituteAll ${script} $out
-    chmod +x $out
-  '';
-
-  throwFlag = throw "${versionPolicy} is not a valid versionPolicy - Options are either 'release' or 'master' (defaults to release).";
-
-  versionFlag = { release = "-r"; master = "-m"; }.${versionPolicy} or throwFlag;
-
-in [ updateScript versionFlag repoName attrPath ]
+[ "${nixpkgs-github-update}/bin/nixpkgs_github_update" "--attribute" attrPath ]
diff --git a/nixpkgs/pkgs/desktops/pantheon/update.sh b/nixpkgs/pkgs/desktops/pantheon/update.sh
deleted file mode 100755
index 9bbbe2600344..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/update.sh
+++ /dev/null
@@ -1,223 +0,0 @@
-#!@bash@/bin/bash
-PATH=@bash@/bin:@nix_prefetch_scripts@/bin:@common_updater_scripts@/bin:@git@/bin:@jq@/bin:@nix@/bin:@gnugrep@/bin:@gnused@/bin:@curl@/bin:$PATH
-#!/usr/bin/env bash
-
-set -eu -o pipefail
-
-#
-# ─── HOW TO USE ─────────────────────────────────────────────────────────────────
-#
-
-function usage ( ) {
-    cat <<EOF
-Usage: update.sh <repo_name> <attr>
-EOF
-}
-
-#
-# ─── POINTS YOU IN THE RIGHT DIRECTION ──────────────────────────────────────────
-#
-
-    function usage_tip ( ) {
-      echo 'run `update.sh -h` for usage instructions' >&2
-      exit 1
-    }
-
-#
-# ─── OPTIONS: RELEASE | MASTER ────────────────────────────────────────────────────
-#
-
-    while getopts ":hrm" opt; do
-        case $opt in
-            r)
-                release=1
-                master=0
-                ;;
-            m)
-                master=1
-                release=0
-                ;;
-            h)
-                usage
-                exit
-                ;;
-            ?)
-                echo "Invalid option: -$OPTARG" >&2
-                usage_tip
-                ;;
-      esac
-    done
-
-    shift $((OPTIND-1))
-
-#
-# ─── FAIL WITH MESSAGE AND NON-ZERO EXIT STATUS ─────────────────────────────────
-#
-
-    function fail ( ) {
-        echo "$1" >&2
-        exit 1
-    }
-
-#
-# ─── UPDATES PACKAGE TO LATEST TAGGED RELEASE ───────────────────────────────
-#
-
-    function update_to_latest_release ( ) {
-        repo_name="$1"
-        attr="$2"
-
-        version=$(get_latest_tag "$repo_name")
-        fetch=$(fetch "$repo_name" "refs/tags/${version}")
-        sha256=$(get_hash "${fetch}")
-
-        update-source-version "pantheon.$attr" "$version" "$sha256"
-
-        nix_file=$(get_file_path $attr)
-
-        if [ ! -f "$nix_file" ]; then
-            fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!"
-        fi
-
-        correct_rev "$attr" "$nix_file" "version"
-    }
-
-#
-# ─── UPDATES PACKAGE TO MASTER ──────────────────────────────────────────────────
-#
-
-    function update_to_master ( ) {
-        repo_name="$1"
-        attr="$2"
-
-        fetch=$(fetch "$repo_name" "refs/heads/master")
-
-        version=$(get_version "$fetch")
-        sha256=$(get_hash "$fetch")
-        proper_version=$(get_master_date "$fetch")
-
-        update-source-version "pantheon.$attr" "$proper_version" "$sha256"
-
-        nix_file=$(get_file_path $attr)
-
-        if [ ! -f "$nix_file" ]; then
-            fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!"
-        fi
-
-        correct_rev "$attr" "$nix_file" '"'$version'"'
-    }
-
-#
-# ─── GETS THE LATEST TAGGED RELEASE NAME FROM GITHUB ─────────────────────
-#
-
-    function get_latest_tag ( ) {
-        repo_name="$1"
-
-        # Using github release api because sorting this repo just doesn't work because of old git sillyness
-        # Also too lazy to care to adapt `git ls-remote` command to work with it
-        if [ $repo_name == "switchboard-plug-pantheon-shell" ]; then
-            curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name'
-        else
-            git ls-remote --tags --sort="v:refname" "https://github.com/elementary/$repo_name" | tail -n1 | sed 's/.*\///; s/\^{}//'
-        fi
-    }
-
-#
-# ─── FETCHES REPO AND RETURNS RELEVANT INFORMATION ──────────────────
-#
-
-    function fetch ( ) {
-        repo_name="$1"
-        version="$2"
-
-        base_url="https://github.com/elementary"
-        full_url="$base_url/$repo_name"
-
-        nix-prefetch-git --quiet --no-deepClone --url "$full_url" --rev "$version"
-    }
-
-#
-# ─── PARSES GIT REVISION FROM FETCH ─────────────────────────────────────────────
-#
-
-    function get_version ( ) {
-        fetch_info="$1"
-
-        echo "$fetch_info" | jq -r '.rev'
-    }
-
-#
-# ─── PARSES HASH FROM FETCH ─────────────────────────────────────────────────────
-#
-
-    function get_hash ( ) {
-        fetch_info="$1"
-
-        echo "$fetch_info" | jq -r '.sha256'
-    }
-
-#
-# ─── PARSES DATE FROM FETCH AND NORMALIZES IT TO NIXPKGS STANDARD ───────────────
-#
-
-    function get_master_date ( ) {
-        fetch_info="$1"
-
-        full_date=$(echo "$fetch_info" | jq -r '.date')
-        short_date=$(date -d "$full_date" +"%Y-%m-%d")
-
-        echo "unstable-$short_date"
-    }
-
-#
-# ─── RETURN NIX EXPRESSION PATH ─────────────────────────────────────────────────
-#
-
-    function get_file_path () {
-        attr="$1"
-
-        nix-instantiate --eval --strict -A "pantheon.$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/'
-    }
-
-#
-# ─── CORRECTS REV VERSION ───────────────────────────────────────────────────────────
-#
-
-    function correct_rev ( ) {
-        attr="$1"
-        nix_file="$2"
-        rev="$3"
-
-        check_pattern1='^\s*rev\s*=\s*"[0-9a-f]{5,40}"'
-        check_pattern2='^\s*rev\s*=\s*version'
-
-        replace_pattern1='/\brev\b\s*=/ s|\"[0-9a-f]{5,40}\"|'$rev'|'
-        replace_pattern2='/\brev\b\s*=/ s|version|'$rev'|'
-
-        if [ $(grep -c -P "$check_pattern1" "$nix_file") = 1 ]; then
-            pattern="$replace_pattern1"
-        elif [ $(grep -c -P "$check_pattern2" "$nix_file") = 1 ]; then
-            pattern="$replace_pattern2"
-        else
-            fail "Couldn't figure out where out where to patch in the correct version in pantheon.$attr!"
-        fi
-
-        sed -i.bak "$nix_file" -re "$pattern"
-        rm -f "$nix_file.bak"
-    }
-
-
-#
-# ─── WHETHER TO UPDATE TO RELEASE OR MASTER ──────────────────────────────────
-#
-
-    if [ $release = 1 ]; then
-        update_to_latest_release $1 $2
-    elif [ $master = 1 ]; then
-        update_to_master $1 $2
-    else
-      exit 1
-    fi
-
-# ────────────────────────────────────────────────────────────────────────────────
diff --git a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
index 48b038325fec..5b6abddbcda3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
@@ -8,37 +8,42 @@
   imagemagick,
   netpbm,
   perl,
-  # these will typically need to be set via an override
-  # in a NixOS context
-  nixosBranding ? false,
-  nixosName ? "NixOS",
-  nixosVersion ? "",
+  logoName ? null,
+  logoFile ? null,
+  osName ? null,
+  osVersion ? null,
   topColor ? "black",
   bottomColor ? "black"
 }:
 
-let
-  logoName = "nixos";
+let 
+  validColors = [ "black" "cardboard_grey" "charcoal_grey" "icon_blue" "paper_white" "plasma_blue" "neon_blue" "neon_green" ];
+  resolvedLogoName = if (logoFile != null && logoName == null) then lib.strings.removeSuffix ".png" (baseNameOf(toString logoFile)) else logoName;
 in
+  assert lib.asserts.assertOneOf "topColor" topColor validColors;
+  assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors;
+  
+
 mkDerivation {
   name = "breeze-plymouth";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ plymouth ] ++ lib.optionals nixosBranding [ imagemagick netpbm perl ];
+  buildInputs = [ plymouth ] ++ lib.optionals (logoFile != null) [ imagemagick netpbm perl ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  cmakeFlags = lib.optionals nixosBranding [
-    "-DDISTRO_NAME=${nixosName}"
-    "-DDISTRO_VERSION=${nixosVersion}"
-    "-DDISTRO_LOGO=${logoName}"
-    "-DBACKGROUND_TOP_COLOR=${topColor}"
-    "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"
-  ];
+  cmakeFlags = []
+    ++ lib.optional (osName      != null) "-DDISTRO_NAME=${osName}"
+    ++ lib.optional (osVersion   != null) "-DDISTRO_VERSION=${osVersion}"
+    ++ lib.optional (logoName    != null) "-DDISTRO_LOGO=${logoName}"
+    ++ lib.optional (topColor    != null) "-DBACKGROUND_TOP_COLOR=${topColor}"
+    ++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"
+  ;
+  
   postPatch = ''
       substituteInPlace cmake/FindPlymouth.cmake --subst-var out
-  '' + lib.optionalString nixosBranding ''
-      cp ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png breeze/images/${logoName}.logo.png
+  '' + lib.optionalString (logoFile != null) ''
+      cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png
 
       # conversion for 16bit taken from the breeze-plymouth readme
-      convert ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
-      pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${logoName}.logo.png
+      convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
+      pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png
   '';
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/default.nix b/nixpkgs/pkgs/desktops/plasma-5/default.nix
index e188e4e3fcdd..a199a4a959db 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
index 569da3c70349..3f2e9be462d8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
@@ -2,7 +2,11 @@
 
 mkDerivation {
   name = "kdecoration";
+  meta = {
+    broken = builtins.compareVersions qtbase.version "5.12.0" < 0;
+  };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ki18n ];
   outputs = [ "out" "dev" ];
+  broken = true;
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwallet-pam.nix b/nixpkgs/pkgs/desktops/plasma-5/kwallet-pam.nix
index b4fd032cf1f7..7ddd6e2abb77 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwallet-pam.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwallet-pam.nix
@@ -7,4 +7,8 @@ mkDerivation {
   postPatch = ''
     sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|"
   '';
+  postFixup = ''
+    wrapQtApp $out/libexec/pam_kwallet_init
+  '';
+  dontWrapQtApps = true;
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix b/nixpkgs/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
new file mode 100644
index 000000000000..7a7c88b6bcff
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
@@ -0,0 +1,39 @@
+{ lib, mkDerivation, fetchFromGitHub
+, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+
+mkDerivation rec {
+  pname = "krohnkite";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "esjeon";
+    repo = "krohnkite";
+    rev = "v${version}";
+    sha256 = "0i0xr5aj565dzr72zjg7wmyca2gwg9izhnri63pab5y5gp5zjqn2";
+  };
+
+  buildInputs = [
+    kcoreaddons kwindowsystem plasma-framework systemsettings
+  ];
+
+  dontBuild = true;
+
+  # 1. --global still installs to $HOME/.local/share so we use --packageroot
+  # 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
+  installPhase = ''
+    runHook preInstall
+
+    plasmapkg2 --type kwinscript --install ${src}/res/ --packageroot $out/share/kwin/scripts
+    install -Dm644 ${src}/res/metadata.desktop $out/share/kservices5/krohnkite.desktop
+
+    runHook postInstalll
+  '';
+
+  meta = with lib; {
+    description = "A dynamic tiling extension for KWin";
+    license = licenses.mit;
+    maintainers = with maintainers; [ seqizz ];
+    inherit (src.meta) homepage;
+    inherit (kwindowsystem.meta) platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
index 5625aa656ceb..cf9d70844014 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -1,11 +1,14 @@
 {
   mkDerivation, lib, copyPathsToStore, propagate,
   extra-cmake-modules,
-  kwayland, libXrandr, qtx11extras
+  kwayland, libXrandr, qtbase, qtx11extras
 }:
 
 mkDerivation {
   name = "libkscreen";
+  meta = {
+    broken = builtins.compareVersions qtbase.version "5.12.0" < 0;
+  };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kwayland libXrandr qtx11extras ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 5c27eee5010e..5159328ed3fe 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -1,9 +1,8 @@
 diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
-index 69d3070..52e9102 100644
+index ea9a943..f98ddd2 100644
 --- a/sddm-theme/theme.conf.cmake
 +++ b/sddm-theme/theme.conf.cmake
-@@ -1,5 +1,5 @@
- [General]
+@@ -2,4 +2,4 @@
  type=image
  color=#1d99f3
  fontSize=10
@@ -37,7 +36,7 @@ index 493218e..d507aa5 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index b68f0c6..a0ec214 100644
+index b68f0c6..97a13a1 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -443,7 +442,7 @@ index b68f0c6..a0ec214 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-@@ -286,36 +387,36 @@ fi
+@@ -286,19 +387,19 @@ fi
  #Anything after here is logout
  #It is not called after shutdown/restart
 
@@ -465,13 +464,12 @@ index b68f0c6..a0ec214 100644
              # ask remaining drkonqis to die in a graceful way
 -            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
 -                qdbus "$address" "/MainApplication" "quit"
--            done
--            break
 +            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
 +                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
+             done
+             break
          fi
-     done
- fi
+@@ -307,15 +408,17 @@ fi
 
  echo 'startkde: Shutting down...'  1>&2
  # just in case
@@ -1008,5 +1006,3 @@ index dcb473a..0988740 100644
 
  echo 'startplasmacompositor: Shutting down...'  1>&2
 
---
-2.19.2
diff --git a/nixpkgs/pkgs/desktops/rox/rox-filer/default.nix b/nixpkgs/pkgs/desktops/rox/rox-filer/default.nix
index 543e3ca897f1..b7c401532091 100644
--- a/nixpkgs/pkgs/desktops/rox/rox-filer/default.nix
+++ b/nixpkgs/pkgs/desktops/rox/rox-filer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, gtk, libSM, shared-mime-info, hicolor-icon-theme }:
+{ stdenv, fetchurl, pkgconfig, libxml2, gtk, libSM, shared-mime-info }:
 
 let
   version = "2.11";
@@ -12,8 +12,8 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxml2 gtk shared-mime-info hicolor-icon-theme libSM ];
-  NIX_LDFLAGS = [ "-ldl" "-lm" ];
+  buildInputs = [ libxml2 gtk shared-mime-info libSM ];
+  NIX_LDFLAGS = "-ldl -lm";
 
   patches = [
     ./rox-filer-2.11-in-source-build.patch
@@ -23,7 +23,7 @@ in stdenv.mkDerivation {
   setSourceRoot = "export sourceRoot=rox-filer-${version}/ROX-Filer/";
 
   # patch source with defined patches
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   # patch the main.c to disable the lookup of the APP_DIR environment variable,
   # which is used to lookup the location for certain images when rox-filer
diff --git a/nixpkgs/pkgs/desktops/surf-display/default.nix b/nixpkgs/pkgs/desktops/surf-display/default.nix
index 47b7e1172068..dd0644866478 100644
--- a/nixpkgs/pkgs/desktops/surf-display/default.nix
+++ b/nixpkgs/pkgs/desktops/surf-display/default.nix
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
+  passthru = {
+    providedSessions = [ "surf-display" ];
+  };
+
   meta = with stdenv.lib; {
     description = "Kiosk browser session manager based on the surf browser";
     homepage = "https://code.it-zukunft-schule.de/cgit/surf-display/";
diff --git a/nixpkgs/pkgs/applications/search/catfish/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix
index 983a5153ee2f..736e89a4f444 100644
--- a/nixpkgs/pkgs/applications/search/catfish/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -1,40 +1,39 @@
 { stdenv, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg_utils, gnome3, gtk3, pythonPackages, hicolor-icon-theme,
+  findutils, xdg_utils, dconf, gtk3, python3Packages,
   wrapGAppsHook
 }:
 
-pythonPackages.buildPythonApplication rec {
-  majorver = "1.4";
-  minorver = "7";
-  version = "${majorver}.${minorver}";
+python3Packages.buildPythonApplication rec {
   pname = "catfish";
+  version = "1.4.12";
 
   src = fetchurl {
-    url = "https://archive.xfce.org/src/apps/${pname}/${majorver}/${pname}-${version}.tar.bz2";
-    sha256 = "1s97jb1r07ff40jnz8zianpn1f0c67hssn8ywdi2g7njfb4amjj8";
+    url = "https://archive.xfce.org/src/apps/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
+    sha256 = "0jhk4x97vip6h7rsw8hbwzfjmz55w6dpcj9v96m54xr15gh31yy3";
   };
 
   nativeBuildInputs = [
-    pythonPackages.distutils_extra
+    python3Packages.distutils_extra
     file
     which
     intltool
-    gobject-introspection
+    gobject-introspection # for setup hook populating GI_TYPELIB_PATH
     wrapGAppsHook
   ];
 
   buildInputs = [
     gtk3
-    gnome3.dconf
-    pythonPackages.pyxdg
-    pythonPackages.ptyprocess
-    pythonPackages.pycairo
-    hicolor-icon-theme
+    dconf
+    python3Packages.pyxdg
+    python3Packages.ptyprocess
+    python3Packages.pycairo
+    gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943
   ];
 
   propagatedBuildInputs = [
-    pythonPackages.pygobject3
-    pythonPackages.pexpect
+    python3Packages.dbus-python
+    python3Packages.pygobject3
+    python3Packages.pexpect
     xdg_utils
     findutils
   ];
@@ -53,7 +52,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     homepage = https://docs.xfce.org/apps/catfish/start;
-    description = "A handy file search tool";
+    description = "Handy file search tool";
     longDescription = ''
       Catfish is a handy file searching tool. The interface is
       intentionally lightweight and simple, using only GTK 3.
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/gigolo.nix b/nixpkgs/pkgs/desktops/xfce/applications/gigolo.nix
deleted file mode 100644
index d0fc55e77e82..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/gigolo/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix
index 5b25e474af27..32486aab981f 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/gigolo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/mousepad-12134.patch b/nixpkgs/pkgs/desktops/xfce/applications/mousepad-12134.patch
deleted file mode 100644
index 74a28ecf61af..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/mousepad.nix b/nixpkgs/pkgs/desktops/xfce/applications/mousepad.nix
deleted file mode 100644
index 2dca1fa29b0f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/mousepad/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
index 77559aaf329f..6f841958c795 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/mousepad/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/orage.nix b/nixpkgs/pkgs/desktops/xfce/applications/orage.nix
deleted file mode 100644
index 19bd560cbaef..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/orage/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix
index 7bb10c2fd94b..4a48cc83dda4 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/orage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/parole.nix b/nixpkgs/pkgs/desktops/xfce/applications/parole.nix
deleted file mode 100644
index ac0180c20fe8..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/parole/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix
index ed3979072ed3..20b899165f09 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/parole/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/ristretto.nix b/nixpkgs/pkgs/desktops/xfce/applications/ristretto.nix
deleted file mode 100644
index 3c0e8040c3b2..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/ristretto/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
index 4a24bf905328..8766bd302ab3 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/ristretto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/terminal.nix b/nixpkgs/pkgs/desktops/xfce/applications/terminal.nix
deleted file mode 100644
index 31e851a469d7..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix
new file mode 100644
index 000000000000..08f2bd511a87
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
index 787b63511a23..787b63511a23 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 66ca7affa481..b2682080216c 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dict/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-mixer.nix
deleted file mode 100644
index e1646d93a619..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
deleted file mode 100644
index 19ecff290933..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index e468fea637e8..a991e8c81807 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
deleted file mode 100644
index 085cfd7b8f90..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index f13a8fba6d0a..012486baac9b 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
deleted file mode 100644
index 96f71e004a87..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 776b3797f769..e3d8b4b87d94 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 78e98e9ea7de..3b9cd268d55a 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf }:
+{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2 }:
 
 mkXfceDerivation {
   category = "apps";
@@ -7,7 +7,7 @@ mkXfceDerivation {
 
   sha256 = "0sg9vwyvhh7pjp83biv7gvf42423a7ly4dc7q2gn28kp6bds2qcp";
 
-  buildInputs = [ gtk3 libxfce4ui vte xfconf ];
+  buildInputs = [ gtk3 libxfce4ui vte xfconf pcre2 ];
 
   meta = {
     description = "A modern terminal emulator";
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
deleted file mode 100644
index 4344d34f13f6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 97a00e9b67fa..413c04a84cc1 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
index dafb72582b31..dafb72582b31 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index a17c29f6723e..a17c29f6723e 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/automakeAddFlags.sh b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh
index 92d5659d05ca..92d5659d05ca 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/automakeAddFlags.sh
+++ b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh
diff --git a/nixpkgs/pkgs/desktops/xfce/core/exo.nix b/nixpkgs/pkgs/desktops/xfce/core/exo.nix
deleted file mode 100644
index 6b5ee4b31328..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/exo/default.nix b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
index 59ab5823314e..59ab5823314e 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/exo/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce/core/garcon-10967.patch b/nixpkgs/pkgs/desktops/xfce/core/garcon-10967.patch
deleted file mode 100644
index aea123255478..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/garcon-12700.patch b/nixpkgs/pkgs/desktops/xfce/core/garcon-12700.patch
deleted file mode 100644
index b95a65cc2194..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/garcon.nix b/nixpkgs/pkgs/desktops/xfce/core/garcon.nix
deleted file mode 100644
index 41d98f17516d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/garcon/default.nix b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix
index 0d6cb8c410e0..69184f2afa88 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/garcon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/nixpkgs/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
deleted file mode 100644
index 567d3b80387a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui.nix
deleted file mode 100644
index 797b51de8e40..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/libxfce4ui/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index 79c8ec74b626..79c8ec74b626 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4util.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util.nix
deleted file mode 100644
index b68b7059f8df..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/libxfce4util/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 4540d2352511..4540d2352511 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/libxfce4util/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfcegui4.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfcegui4.nix
deleted file mode 100644
index 5c61c16cbcc1..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunar-build.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar-build.nix
deleted file mode 100644
index 0b606ee5fdd7..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunar-volman.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman.nix
deleted file mode 100644
index eda3aab070ac..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/thunar-volman/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix
index 11b29c64b33f..fc6db0fcce4f 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/thunar-volman/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunar.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar.nix
deleted file mode 100644
index 83e3a2879d79..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
new file mode 100644
index 000000000000..11220141d2a0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch b/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch
index e1431d86b147..594a81c829ef 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix
new file mode 100644
index 000000000000..cc44e6624571
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/tumbler.nix b/nixpkgs/pkgs/desktops/xfce/core/tumbler.nix
deleted file mode 100644
index 9087d3a02553..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/tumbler/default.nix b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix
index ecbc62d8ffbf..b795007ca7c1 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/tumbler/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -27,4 +27,13 @@ mkXfceDerivation {
     libgsf
     poppler # technically the glib binding
   ];
+
+  # WrapGAppsHook won't touch this binary automatically, so we wrap manually.
+  postFixup = ''
+    wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}"
+  '';
+
+  meta = {
+    description = "A D-Bus thumbnailer service";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder.nix
deleted file mode 100644
index d39708dd523f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index 6c4af66c8666..cbb444c6c764 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
deleted file mode 100644
index 109c22f1e58c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 38fe82ffb011..38fe82ffb011 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
index 600bf47fd872..600bf47fd872 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-light-locker.patch b/nixpkgs/pkgs/desktops/xfce/core/xfce4-light-locker.patch
deleted file mode 100644
index 0fabdffd7ed6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel.nix
deleted file mode 100644
index b8ecae7e4e64..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-panel/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index c571666e5c4b..f4d86247c6cd 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -10,8 +10,8 @@ mkXfceDerivation {
   nativeBuildInputs = [ gobject-introspection ];
   buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ];
 
-  patches = [ ../../xfce/core/xfce4-panel-datadir.patch ];
-  patchFlags = "-p1";
+  patches = [ ./xfce4-panel-datadir.patch ];
+  patchFlags = [ "-p1" ];
 
   postPatch = ''
     for f in $(find . -name \*.sh); do
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
index ed9df9ef36f3..ed9df9ef36f3 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager.nix
deleted file mode 100644
index 266f30645075..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 985146c82571..fb3f05b36646 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfce4-session.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session.nix
deleted file mode 100644
index b57dd252033f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-session/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix
index d44cd8b0dd7c..0ab362aa21d0 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-session/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
deleted file mode 100644
index 2683b3c3dfdd..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings.nix
deleted file mode 100644
index 584055c8ddf6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-settings/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 8cda66359e34..74ab96ed1bcd 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfconf.nix b/nixpkgs/pkgs/desktops/xfce/core/xfconf.nix
deleted file mode 100644
index 9af365c6f14d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfconf/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix
index a9d6ceaf4695..a0923f0fda1b 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfconf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/core/xfdesktop.nix b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop.nix
deleted file mode 100644
index 091dd03c0bcf..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfdesktop/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix
index afcd0d19dc33..afcd0d19dc33 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfdesktop/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfwm4.nix b/nixpkgs/pkgs/desktops/xfce/core/xfwm4.nix
deleted file mode 100644
index d26649ee6ce9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfwm4/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix
index 358e99c893f1..2dff3302617c 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfwm4/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -23,4 +23,8 @@ mkXfceDerivation {
     libXpresent
     xfconf
   ];
+
+  meta = {
+    description = "Window manager for Xfce";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix
index 20d5175fed6f..7442ff478f59 100644
--- a/nixpkgs/pkgs/desktops/xfce/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/default.nix
@@ -3,91 +3,91 @@
 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 { };
+  catfish = callPackage ./applications/catfish { };
+
+  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 +99,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 +125,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 { };
 
@@ -139,25 +139,17 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin.nix { };
 
-  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
+  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { };
 
-  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 +200,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/nixpkgs/pkgs/desktops/xfce4-14/mkXfceDerivation.nix b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
index b7dc83225696..b7dc83225696 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
+++ b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
deleted file mode 100644
index 6399aa3cc20d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
index 376551b09c0f..3966e256b160 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
deleted file mode 100644
index 280f39f8d997..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index 74628a325d41..bd1a3b5e5e35 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
deleted file mode 100644
index 07838f8fe7c9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index 22793963df3d..3798edbf89dc 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
index e088e74cfb1c..ef7f7e580206 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
deleted file mode 100644
index c63170100312..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
new file mode 100644
index 000000000000..3cfb010b12da
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
index 8210fc62ccb4..0b31bac8d54b 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
index 3a79f67068c8..03e5a2229672 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
index 6d0f8ee73a4c..ee663aa71ca8 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
index 039ac1440947..193d27af98a3 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
index 541b30ec1b3d..e9d2eb590be9 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
index 5331c29a4546..b909540144ae 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
deleted file mode 100644
index e82669cc1a35..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
index d9f517981d3e..d774649b5369 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
index d61dae6bdd56..2876c1b1f7d8 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix
deleted file mode 100644
index 6f6f5699b6e9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index 6fca6069d1e8..83778aa8fffd 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -9,11 +9,15 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ automakeAddFlags ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${dbus-glib.dev}/include/dbus-1.0" "-I${dbus.dev}/include/dbus-1.0" ];
+  NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus.dev}/include/dbus-1.0";
 
   postPatch = ''
     substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
   '';
 
   buildInputs = [ gtk3 libnotify libpulseaudio libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Adjust the audio volume of the PulseAudio sound system";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
index 5a4dfee76fc4..2e7233e6cdb0 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
index 698d4aae5328..5575962ab77e 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
index 57cd48c6f270..4eddfe8df574 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
index 144291da86d7..43e943f194ac 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     description = "Global Menu applet for XFCE4";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ jD91mZM2 ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
deleted file mode 100644
index 96ef08cbeb70..000000000000
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
-, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-verve-plugin";
-  ver_maj = "1.1";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "114wkmgjxkim1jkswih20zg9d7rbzmlf30b5rlcpvmbsij0ny6d3";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk ];
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "A command-line plugin";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
new file mode 100644
index 000000000000..288aaddfb982
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, gtk3, libxfce4ui, pcre, libxfce4util, xfce4-panel, xfconf }:
+
+mkXfceDerivation rec {
+  category = "panel-plugins";
+  pname = "xfce4-verve-plugin";
+  version = "2.0.0";
+  rev = version;
+  sha256 = "09vpa6m0ah7pgmra094c16vb79xrcwva808g6zpawwrhcwz85lcz";
+
+  buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    description = "A command-line plugin";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
index 15cd526d6def..5ab311ef16f7 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
deleted file mode 100644
index c29758452ae6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index f943f2ab333a..ef47d37e5efd 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
deleted file mode 100644
index 307d2e81bf24..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index a024d3a88ba0..4497a7b0e36a 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index ea3a0f084439..e3c72d3b50e2 100644
--- a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index 217cecf85a8c..8674c586552c 100644
--- a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/default.nix
deleted file mode 100644
index 0e2c8c1696b2..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/thunar/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/thunar/default.nix
deleted file mode 100644
index 12a1a62991a7..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/xfce4-14/xfburn/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/xfburn/default.nix
deleted file mode 100644
index 27fae12981ca..000000000000
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfburn/default.nix
+++ /dev/null
@@ -1,12 +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 ];
-}
diff --git a/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
index 6bcfcfc30235..f8be40eecab5 100644
--- a/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
+++ b/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
@@ -56,7 +56,7 @@ rec {
   binaries = runCommand "ndk-gcc-binutils" {
     isClang = true; # clang based cc, but bintools ld
     nativeBuildInputs = [ makeWrapper ];
-    propgatedBuildInputs = [ androidndk ];
+    propagatedBuildInputs = [ androidndk ];
   } ''
     mkdir -p $out/bin
 
diff --git a/nixpkgs/pkgs/development/beam-modules/build-mix.nix b/nixpkgs/pkgs/development/beam-modules/build-mix.nix
index d947acc3ea68..9aebad2dabf7 100644
--- a/nixpkgs/pkgs/development/beam-modules/build-mix.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/beam-modules/default.nix b/nixpkgs/pkgs/development/beam-modules/default.nix
index eb9353a4a637..031f7b5dda72 100644
--- a/nixpkgs/pkgs/development/beam-modules/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/beam-modules/hex-packages.nix b/nixpkgs/pkgs/development/beam-modules/hex-packages.nix
deleted file mode 100644
index df781d3e247c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/beam-modules/hex-registry-snapshot.nix b/nixpkgs/pkgs/development/beam-modules/hex-registry-snapshot.nix
deleted file mode 100644
index fbd2950b6d53..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/beam-modules/mix-bootstrap b/nixpkgs/pkgs/development/beam-modules/mix-bootstrap
index d7a912ee1ed7..7e31def71fa8 100755
--- a/nixpkgs/pkgs/development/beam-modules/mix-bootstrap
+++ b/nixpkgs/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/nixpkgs/pkgs/development/beam-modules/webdriver/default.nix b/nixpkgs/pkgs/development/beam-modules/webdriver/default.nix
index b6695029f34c..d772ad7a3c71 100644
--- a/nixpkgs/pkgs/development/beam-modules/webdriver/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/webdriver/default.nix
@@ -23,7 +23,7 @@ let
 
     buildInputs = [ erlang ];
 
-    installFlags = "PREFIX=$(out)/lib/erlang/lib";
+    installFlags = [ "PREFIX=$(out)/lib/erlang/lib" ];
 
     meta = {
       description = "WebDriver implementation in Erlang";
diff --git a/nixpkgs/pkgs/development/chez-modules/chez-matchable/default.nix b/nixpkgs/pkgs/development/chez-modules/chez-matchable/default.nix
new file mode 100644
index 000000000000..2b3de233f9b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/chez-modules/chez-matchable/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, chez }:
+
+stdenv.mkDerivation rec {
+  pname = "chez-matchable";
+  version = "20160306";
+
+  src = fetchFromGitHub {
+    owner = "fedeinthemix";
+    repo = "chez-matchable";
+    rev = "v${version}";
+    sha256 = "02qn7x348p23z1x5lwhkyj7i8z6mgwpzpnwr8dyina0yzsdkr71s";
+  };
+
+  buildInputs = [ chez ];
+
+  buildPhase = ''
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a Library for ChezScheme providing the protable hygenic pattern matcher by Alex Shinn";
+    homepage = https://github.com/fedeinthemix/chez-matchable/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.publicDomain;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/chez-modules/chez-mit/default.nix b/nixpkgs/pkgs/development/chez-modules/chez-mit/default.nix
new file mode 100644
index 000000000000..3614e97d9eac
--- /dev/null
+++ b/nixpkgs/pkgs/development/chez-modules/chez-mit/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, chez, chez-srfi }:
+
+stdenv.mkDerivation {
+  pname = "chez-mit";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-mit.git";
+    rev = "68f3d7562e77f694847dc74dabb5ecbd106cd6be";
+    sha256 = "0c7i3b6i90xk96nmxn1pc9272a4yal4v40dm1a4ybdi87x53zkk0";
+  };
+
+  buildInputs = [ chez chez-srfi ];
+
+  buildPhase = ''
+    export CHEZSCHEMELIBDIRS=${chez-srfi}/lib/csv9.5-site
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a MIT/GNU Scheme compatibility library for Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-mit/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.free;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/chez-modules/chez-scmutils/default.nix b/nixpkgs/pkgs/development/chez-modules/chez-scmutils/default.nix
new file mode 100644
index 000000000000..ceebef11363e
--- /dev/null
+++ b/nixpkgs/pkgs/development/chez-modules/chez-scmutils/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, chez, chez-srfi, chez-mit }:
+
+stdenv.mkDerivation {
+  pname = "chez-scmutils";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-scmutils.git";
+    rev = "5eaeea6289fd239358d7eed99cc9588528fb52b2";
+    sha256 = "0lb05wlf8qpgg8y0gdsyaxg1nbfx1qbaqdjvygrp64ndn8fnhq7l";
+  };
+
+  buildInputs = [ chez chez-srfi chez-mit ];
+
+  buildPhase = ''
+    export CHEZSCHEMELIBDIRS=${chez-srfi}/lib/csv9.5-site:${chez-mit}/lib/csv9.5-site
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a port of the ‘MIT Scmutils’ library to Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-scmutils/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.gpl3;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/chez-modules/chez-srfi/default.nix b/nixpkgs/pkgs/development/chez-modules/chez-srfi/default.nix
new file mode 100644
index 000000000000..7f88b8fe7b0b
--- /dev/null
+++ b/nixpkgs/pkgs/development/chez-modules/chez-srfi/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, chez }:
+
+stdenv.mkDerivation {
+  pname = "chez-srfi";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-srfi.git";
+    rev = "5770486c2a85d0e3dd4ac62a97918e7c394ea507";
+    sha256 = "1s47v7b7w0ycd2g6gyv8qbzmh4jjln5iday8n9l3m996ns8is9zj";
+  };
+
+  buildInputs = [ chez ];
+
+  buildPhase = ''
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This package provides a collection of SRFI libraries for Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-srfi/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.free;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/compilers/abcl/default.nix b/nixpkgs/pkgs/development/compilers/abcl/default.nix
index accedf9a7af7..44f72a93c3a3 100644
--- a/nixpkgs/pkgs/development/compilers/abcl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index 03857627952d..5e402b2d728b 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -28,16 +28,13 @@ 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
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index 509050209fb2..fe38f2b21633 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -54,7 +54,7 @@ let result = stdenv.mkDerivation rec {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> "$out/nix-support/setup-hook"
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 403bd96efb0e..e40ed72c46c1 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index 305e0f202bf1..dd03ce0171fe 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -58,7 +58,6 @@ stdenv.mkDerivation rec {
       based on the NetX project.
     '';
     homepage = https://github.com/adoptopenjdk/icedtea-web;
-    maintainers = with stdenv.lib.maintainers; [ wizeman ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix b/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
index 3058e926c3f9..0b5ff3817302 100644
--- a/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/arachne-pnr/default.nix
@@ -4,13 +4,13 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "arachne-pnr";
-  version = "2018.09.09";
+  version = "2019.07.29";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "arachne-pnr";
-    rev    = "840bdfdeb38809f9f6af4d89dd7b22959b176fdd";
-    sha256 = "1dqvjvgvsridybishv4pnigw9gypxh7r7nrqp9z9qq92v7c5rxzl";
+    rev    = "c40fb2289952f4f120cc10a5a4c82a6fb88442dc";
+    sha256 = "0lg9rccr486cvips3jf289af2b4a2j9chc8iqnkhykgi1hw4pszc";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/bs-platform/bs-platform-62.nix b/nixpkgs/pkgs/development/compilers/bs-platform/bs-platform-62.nix
new file mode 100644
index 000000000000..d2913caaee64
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/bs-platform/bs-platform-62.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3 }:
+let
+  version = "6.2.1";
+  ocaml-version = "4.06.1";
+  src = fetchFromGitHub {
+    owner = "BuckleScript";
+    repo = "bucklescript";
+    rev = "${version}";
+    sha256 = "0zx9nq7cik0c60n3rndqfqy3vdbj5lcrx6zcqcz2d60jjxi1z32y";
+    fetchSubmodules = true;
+  };
+  ocaml =  import ./ocaml.nix {
+    bs-version = version;
+    version = ocaml-version;
+    inherit stdenv;
+    src = "${src}/ocaml";
+  };
+in
+stdenv.mkDerivation {
+  inherit src version;
+  pname = "bs-platform";
+  BS_RELEASE_BUILD = "true";
+  buildInputs = [ nodejs python3 ];
+
+  patchPhase = ''
+    sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js
+
+    mkdir -p ./native/${ocaml-version}/bin
+    ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin
+
+    rm -f vendor/ninja/snapshot/ninja.linux
+    cp ${ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
+  '';
+
+  configurePhase = ''
+    node scripts/ninja.js config
+  '';
+
+  buildPhase = ''
+    node scripts/ninja.js build
+  '';
+
+  installPhase = ''
+    node scripts/install.js
+
+    mkdir -p $out/bin
+
+    cp -rf jscomp lib vendor odoc_gen native $out
+    cp bsconfig.json package.json $out
+
+    ln -s $out/lib/bsb $out/bin/bsb
+    ln -s $out/lib/bsc $out/bin/bsc
+    ln -s $out/lib/bsrefmt $out/bin/bsrefmt
+  '';
+}
diff --git a/nixpkgs/pkgs/development/compilers/bs-platform/default.nix b/nixpkgs/pkgs/development/compilers/bs-platform/default.nix
new file mode 100644
index 000000000000..5eb11671ca90
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/bs-platform/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3, ... }:
+let
+  meta = with stdenv.lib; {
+    description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code.";
+    homepage = https://bucklescript.github.io;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ turbomack gamb ];
+    platforms = platforms.all;
+  };
+in
+{
+  bs-platform-621 = import ./bs-platform-62.nix {
+    inherit stdenv fetchFromGitHub ninja nodejs python3;
+  } // { inherit meta; };
+}
diff --git a/nixpkgs/pkgs/development/compilers/bs-platform/ocaml.nix b/nixpkgs/pkgs/development/compilers/bs-platform/ocaml.nix
new file mode 100644
index 000000000000..1f2fdd571f3d
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/bs-platform/ocaml.nix
@@ -0,0 +1,16 @@
+{ stdenv, src, version, bs-version }:
+stdenv.mkDerivation rec {
+  inherit src version;
+  name = "ocaml-${version}+bs-${bs-version}";
+  configurePhase = ''
+    ./configure -prefix $out
+  '';
+  buildPhase = ''
+    make -j9 world.opt
+  '';
+
+  meta = with stdenv.lib; {
+    branch = "4.06";
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/carp/default.nix b/nixpkgs/pkgs/development/compilers/carp/default.nix
index 235ec4090391..e02880b314eb 100644
--- a/nixpkgs/pkgs/development/compilers/carp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/chez/default.nix b/nixpkgs/pkgs/development/compilers/chez/default.nix
index a0fc30c85868..c0fd742082f3 100644
--- a/nixpkgs/pkgs/development/compilers/chez/default.nix
+++ b/nixpkgs/pkgs/development/compilers/chez/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isGNU "-Wno-error=format-truncation";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation";
 
   /*
   ** We patch out a very annoying 'feature' in ./configure, which
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
index 34512fc8ef05..380755bf01ec 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
 
   setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
 
-  buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
-  installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+  buildFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" "VARDIR=$(out)/var/lib" ];
+  installFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" "VARDIR=$(out)/var/lib" ];
 
   # We need a bootstrap-chicken to regenerate the c-files after
   # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.call-cc.org/;
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
     platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
index d0f3b8a4e261..8f796d09ee56 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
@@ -22,6 +22,6 @@ eggDerivation {
     homepage = https://github.com/the-kenny/egg2nix;
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix b/nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 4dc7ebe66717..cd340c221743 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/nixpkgs/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 = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix
index 1f786f127c91..6e6f104f8a0c 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix
@@ -1,4 +1,4 @@
-{ pkgs }:
+{ pkgs, stdenv }:
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
@@ -16,35 +16,6 @@ rec {
     ];
   };
 
-  blob-utils = eggDerivation {
-    name = "blob-utils-1.0.3";
-
-    src = fetchegg {
-      name = "blob-utils";
-      version = "1.0.3";
-      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
-    };
-
-    buildInputs = [
-      setup-helper
-      string-utils
-    ];
-  };
-
-  check-errors = eggDerivation {
-    name = "check-errors-1.13.0";
-
-    src = fetchegg {
-      name = "check-errors";
-      version = "1.13.0";
-      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
-    };
-
-    buildInputs = [
-      setup-helper
-    ];
-  };
-
   defstruct = eggDerivation {
     name = "defstruct-1.6";
 
@@ -60,31 +31,29 @@ rec {
   };
 
   http-client = eggDerivation {
-    name = "http-client-0.7.1";
+    name = "http-client-0.18";
 
     src = fetchegg {
       name = "http-client";
-      version = "0.7.1";
-      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+      version = "0.18";
+      sha256 = "1b9x66kfcglld4xhm06vba00gw37vr07c859kj7lmwnk9nwhcplg";
     };
 
     buildInputs = [
       intarweb
       uri-common
-      message-digest
-      md5
-      string-utils
+      simple-md5
       sendfile
     ];
   };
 
   intarweb = eggDerivation {
-    name = "intarweb-1.3";
+    name = "intarweb-1.7";
 
     src = fetchegg {
       name = "intarweb";
-      version = "1.3";
-      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+      version = "1.7";
+      sha256 = "1arjgn5g4jfdzj3nlrhxk235qwf6k6jxr14yhnncnfbgdb820xp8";
     };
 
     buildInputs = [
@@ -94,92 +63,13 @@ rec {
     ];
   };
 
-  lookup-table = eggDerivation {
-    name = "lookup-table-1.13.5";
-
-    src = fetchegg {
-      name = "lookup-table";
-      version = "1.13.5";
-      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-      miscmacros
-      record-variants
-      synch
-    ];
-  };
-
   matchable = eggDerivation {
-    name = "matchable-3.3";
+    name = "matchable-3.7";
 
     src = fetchegg {
       name = "matchable";
-      version = "3.3";
-      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  md5 = eggDerivation {
-    name = "md5-3.1.0";
-
-    src = fetchegg {
-      name = "md5";
-      version = "3.1.0";
-      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
-    };
-
-    buildInputs = [
-      message-digest
-    ];
-  };
-
-  message-digest = eggDerivation {
-    name = "message-digest-3.1.0";
-
-    src = fetchegg {
-      name = "message-digest";
-      version = "3.1.0";
-      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      check-errors
-      variable-item
-      blob-utils
-      string-utils
-    ];
-  };
-
-  miscmacros = eggDerivation {
-    name = "miscmacros-2.96";
-
-    src = fetchegg {
-      name = "miscmacros";
-      version = "2.96";
-      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  record-variants = eggDerivation {
-    name = "record-variants-0.5.1";
-
-    src = fetchegg {
-      name = "record-variants";
-      version = "0.5.1";
-      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+      version = "3.7";
+      sha256 = "1vc9rpb44fhn0n91hzglin986dw9zj87fikvfrd7j308z22a41yh";
     };
 
     buildInputs = [
@@ -188,12 +78,12 @@ rec {
   };
 
   sendfile = eggDerivation {
-    name = "sendfile-1.7.29";
+    name = "sendfile-1.8.3";
 
     src = fetchegg {
       name = "sendfile";
-      version = "1.7.29";
-      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+      version = "1.8.3";
+      sha256 = "036x4xdndx7qly94afnag5b9idd1yymdm8d832w2cy054y7lxqsi";
     };
 
     buildInputs = [
@@ -201,13 +91,13 @@ rec {
     ];
   };
 
-  setup-helper = eggDerivation {
-    name = "setup-helper-1.5.4";
+  simple-md5 = eggDerivation {
+    name = "simple-md5-0.0.1";
 
     src = fetchegg {
-      name = "setup-helper";
-      version = "1.5.4";
-      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+      name = "simple-md5";
+      version = "0.0.1";
+      sha256 = "1h0b51p9wl1dl3pzs39hdq3hk2qnjgn8n750bgmh0651g4lzmq3i";
     };
 
     buildInputs = [
@@ -215,38 +105,6 @@ rec {
     ];
   };
 
-  string-utils = eggDerivation {
-    name = "string-utils-1.2.4";
-
-    src = fetchegg {
-      name = "string-utils";
-      version = "1.2.4";
-      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      lookup-table
-      check-errors
-    ];
-  };
-
-  synch = eggDerivation {
-    name = "synch-2.1.2";
-
-    src = fetchegg {
-      name = "synch";
-      version = "2.1.2";
-      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-    ];
-  };
-
   uri-common = eggDerivation {
     name = "uri-common-1.4";
 
@@ -264,32 +122,16 @@ rec {
   };
 
   uri-generic = eggDerivation {
-    name = "uri-generic-2.41";
+    name = "uri-generic-2.46";
 
     src = fetchegg {
       name = "uri-generic";
-      version = "2.41";
-      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+      version = "2.46";
+      sha256 = "10ivf4xlmr6jcm00l2phq1y73hjv6g3qgr38ycc8rw56wv6sbm4g";
     };
 
     buildInputs = [
       matchable
-      defstruct
-    ];
-  };
-
-  variable-item = eggDerivation {
-    name = "variable-item-1.3.1";
-
-    src = fetchegg {
-      name = "variable-item";
-      version = "1.3.1";
-      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh b/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh
index b0d9b53b5378..661dc08c090c 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh
@@ -1,7 +1,6 @@
 addChickenRepositoryPath() {
     addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/8/"
-    # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
-    export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+    export CHICKEN_INCLUDE_PATH="$1/share${CHICKEN_INCLUDE_PATH:+;$CHICKEN_INCLUDE_PATH}"
 }
 
 addEnvHooks "$targetOffset" addChickenRepositoryPath
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
index 5fefce12dbf1..3e47e4136363 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
 
   setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
 
-  buildFlags = "PLATFORM=${platform} PREFIX=$(out)";
-  installFlags = "PLATFORM=${platform} PREFIX=$(out)";
+  buildFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" ];
+  installFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" ];
 
   buildInputs = [
     makeWrapper
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.call-cc.org/;
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
     platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix b/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix
index 21e12849b3ad..77ed32cafe1a 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix
@@ -24,6 +24,6 @@ eggDerivation {
     homepage = https://github.com/the-kenny/egg2nix;
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix b/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix
index 3dc1c4afce98..8d4a62776d0e 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -7,7 +7,7 @@
 
 let
   overrides = import ./overrides.nix;
-  baseName = (builtins.parseDrvName name).name;
+  baseName = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix
index a8e3ee5976e8..a35b1f058919 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix
@@ -47,12 +47,12 @@ rec {
   };
 
   srfi-13 = eggDerivation {
-    name = "srfi-13-0.2.1";
+    name = "srfi-13-0.3";
 
     src = fetchegg {
       name = "srfi-13";
-      version = "0.2.1";
-      sha256 = "0204i7fhc4dy0l89lbi2lv9cjndrvwyrk68z3wy7x445jb4ky1gq";
+      version = "0.3";
+      sha256 = "0yaw9i6zhpxl1794pirh168clprjgmsb0xlr96drirjzsslgm3zp";
     };
 
     buildInputs = [
diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix
index d9f2a588d8f6..682a8aa4eed9 100644
--- a/nixpkgs/pkgs/development/compilers/closure/default.nix
+++ b/nixpkgs/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "closure-compiler";
-  version = "20190215";
+  version = "20190909";
 
   src = fetchurl {
     url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "16rpl7x90ganpxlz6v9292cwx7dnkhklqx1nn161yj7ypf9bzd4k";
+    sha256 = "0km45pz19dz1hi8vjj290hyxdhr379iixmml0rs8crr4gvs3685w";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/development/compilers/cmdstan/default.nix b/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
index 9a01519a8812..edde6af615f0 100644
--- a/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
+++ b/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1vq1cnrkvrvbfl40j6ajc60jdrjcxag1fi6kff5pqmadfdz9564j";
   };
 
-  buildFlags = "build";
+  buildFlags = [ "build" ];
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/compilers/compcert/default.nix b/nixpkgs/pkgs/development/compilers/compcert/default.nix
index 940eb851fe61..3a6c5e9c2c7e 100644
--- a/nixpkgs/pkgs/development/compilers/compcert/default.nix
+++ b/nixpkgs/pkgs/development/compilers/compcert/default.nix
@@ -4,7 +4,7 @@
 }:
 
 assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
-assert lib.versionAtLeast coq.coq-version "8.6.1";
+assert lib.versionAtLeast coq.coq-version "8.8.0";
 
 let
   ocaml-pkgs      = with ocamlPackages; [ ocaml findlib menhir ];
@@ -12,13 +12,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "compcert";
-  version = "3.5";
+  version = "3.6";
 
   src = fetchFromGitHub {
     owner = "AbsInt";
     repo = "CompCert";
     rev = "v${version}";
-    sha256 = "1g8067a5x3vd0l47d04gjvy5yx49nghh55am5d1fbrjirfsnsz8j";
+    sha256 = "1k9xhj7fgllhf7bn7rp3w6zfvs4clglnc4w39zp4678hrwvdcpha";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace ./configure \
-      --replace '|8.9.0' '|8.9.0|8.9.1' \
       --replace '{toolprefix}gcc' '{toolprefix}cc'
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/crystal/default.nix b/nixpkgs/pkgs/development/compilers/crystal/default.nix
index 409ac03d92f7..03a914695a06 100644
--- a/nixpkgs/pkgs/development/compilers/crystal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/crystal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
 , coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml
-, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib
+, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig
 , callPackage }:
 
 # We need multiple binaries as a given binary isn't always able to build
@@ -38,8 +38,14 @@ let
     '';
   };
 
-  generic = { version, sha256, binary, doCheck ? true }:
-  let compiler = stdenv.mkDerivation rec {
+  commonBuildInputs = extraBuildInputs: [
+    boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl_1_0_2
+  ] ++ extraBuildInputs
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
+
+
+  generic = ({ version, sha256, binary, doCheck ? true, extraBuildInputs ? [] }:
+  lib.fix (compiler: stdenv.mkDerivation {
     pname = "crystal";
     inherit doCheck version;
 
@@ -50,6 +56,8 @@ let
       inherit sha256;
     };
 
+    outputs = [ "out" "lib" "bin" ];
+
     # we are almost able to run the full test suite now
     postPatch = ''
       substituteInPlace src/crystal/system/unix/time.cr \
@@ -72,14 +80,9 @@ let
         --replace '`hostname`' '`${nettools}/bin/hostname`'
     '';
 
-    buildInputs = [
-      boehmgc libatomic_ops pcre libevent libyaml
-      llvm zlib openssl_1_0_2
-    ] ++ stdenv.lib.optionals stdenv.isDarwin [
-      libiconv
-    ];
+    buildInputs = commonBuildInputs extraBuildInputs;
 
-    nativeBuildInputs = [ binary makeWrapper which ];
+    nativeBuildInputs = [ binary makeWrapper which pkgconfig llvm ];
 
     makeFlags = [
       "CRYSTAL_CONFIG_VERSION=${version}"
@@ -91,22 +94,27 @@ let
 
     FLAGS = [
       "--release"
-      "--no-debug"
       "--single-module" # needed for deterministic builds
     ];
 
+    # This makes sure we don't keep depending on the previous version of
+    # crystal used to build this one.
+    CRYSTAL_LIBRARY_PATH = "${placeholder "lib"}/crystal";
+
     # We *have* to add `which` to the PATH or crystal is unable to build stuff
     # later if which is not available.
     installPhase = ''
       runHook preInstall
 
-      install -Dm755 .build/crystal $out/bin/crystal
-      wrapProgram $out/bin/crystal \
-          --suffix PATH : ${lib.makeBinPath [ clang which ]} \
-          --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
-          --suffix LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}
-      install -dm755 $out/lib/crystal
-      cp -r src/* $out/lib/crystal/
+      install -Dm755 .build/crystal $bin/bin/crystal
+      wrapProgram $bin/bin/crystal \
+          --suffix PATH : ${lib.makeBinPath [ pkgconfig clang which ]} \
+          --suffix CRYSTAL_PATH : lib:$lib/crystal \
+          --suffix CRYSTAL_LIBRARY_PATH : ${
+            lib.makeLibraryPath (commonBuildInputs extraBuildInputs)
+          }
+      install -dm755 $lib/crystal
+      cp -r src/* $lib/crystal/
 
       install -dm755 $out/share/doc/crystal/api
       cp -r docs/* $out/share/doc/crystal/api/
@@ -119,6 +127,10 @@ let
 
       install -Dm644 -t $out/share/licenses/crystal LICENSE README.md
 
+      mkdir -p $out
+      ln -s $bin/bin $out/bin
+      ln -s $lib $out/lib
+
       runHook postInstall
     '';
 
@@ -147,7 +159,7 @@ let
       maintainers = with maintainers; [ manveru david50407 peterhoeg ];
       platforms = builtins.attrNames archs;
     };
-  }; in compiler;
+  }));
 
 in rec {
   binaryCrystal_0_26 = genericBinary {
@@ -212,7 +224,22 @@ in rec {
     binary = binaryCrystal_0_29;
   };
 
-  crystal = crystal_0_30;
+  crystal_0_31 = generic {
+    version = "0.31.1";
+    sha256  = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
+    doCheck = false; # 5 checks are failing now
+    binary = crystal_0_30;
+  };
+
+  crystal_0_32 = generic {
+    version = "255bfc5fa925b95b72e34b26ad997fb2b3f83059";
+    sha256  = "1dgk36cj5lwhs1c4zp0s1c9hjk0h3vljq6zwhlnzkl1xs7cgzim1";
+    doCheck = false; # 5 checks are failing now
+    binary = crystal_0_31;
+    extraBuildInputs = [ readline ];
+  };
+
+  crystal = crystal_0_31;
 
   crystal2nix = callPackage ./crystal2nix.nix {};
 }
diff --git a/nixpkgs/pkgs/development/compilers/cudatoolkit/common.nix b/nixpkgs/pkgs/development/compilers/cudatoolkit/common.nix
new file mode 100644
index 000000000000..2e93c0b661b6
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/cudatoolkit/common.nix
@@ -0,0 +1,220 @@
+args@
+{ version
+, sha256
+, url ? ""
+, name ? ""
+, developerProgram ? false
+, runPatches ? []
+, addOpenGLRunpath
+, alsaLib
+, expat
+, fetchurl
+, fontconfig
+, freetype
+, gcc
+, gdk-pixbuf
+, glib
+, glibc
+, gtk2
+, lib
+, makeWrapper
+, ncurses5
+, perl
+, python27
+, requireFile
+, stdenv
+, unixODBC
+, xorg
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cudatoolkit";
+  inherit version runPatches;
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if developerProgram then
+      requireFile {
+        message = ''
+          This nix expression requires that ${args.name} is already part of the store.
+          Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
+          at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
+          nix-prefetch-url file://\$PWD/${args.name}
+        '';
+        inherit (args) name sha256;
+      }
+    else
+      fetchurl {
+        inherit (args) url sha256;
+      };
+
+  outputs = [ "out" "lib" "doc" ];
+
+  nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
+  buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
+  runtimeDependencies = [
+    ncurses5 expat python27 zlib glibc
+    xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
+    gtk2 glib fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+      cd pkg/run_files
+      sh cuda-linux*.run --keep --noexec
+      sh cuda-samples*.run --keep --noexec
+      mv pkg ../../$(basename $src)
+      cd ../..
+      rm -rf pkg
+
+      for patch in $runPatches; do
+        sh $patch --keep --noexec
+        mv pkg $(basename $patch)
+      done
+    ''}
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir $out
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+    cd $(basename $src)
+    export PERL5LIB=.
+    perl ./install-linux.pl --prefix="$out"
+    cd ..
+    for patch in $runPatches; do
+      cd $(basename $patch)
+      perl ./install_patch.pl --silent --accept-eula --installdir="$out"
+      cd ..
+    done
+    ''}
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      cd pkg/builds/cuda-toolkit
+      mv * $out/
+    ''}
+
+    rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
+
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+    # let's remove the 32-bit libraries, they confuse the lib64->lib mover
+    rm -rf $out/lib
+    ''}
+
+    # Remove some cruft.
+    ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
+      "rm $out/bin/uninstall*"}
+
+    # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
+    if [ -d "$out"/cuda-samples ]; then
+        mv "$out"/cuda-samples "$out"/samples
+    fi
+
+    # Change the #error on GCC > 4.9 to a #warning.
+    sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
+
+    # Fix builds with newer glibc version
+    sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
+
+    # Ensure that cmake can find CUDA.
+    mkdir -p $out/nix-support
+    echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
+
+    # Move some libraries to the lib output so that programs that
+    # depend on them don't pull in this entire monstrosity.
+    mkdir -p $lib/lib
+    mv -v $out/lib64/libcudart* $lib/lib/
+
+    # Remove OpenCL libraries as they are provided by ocl-icd and driver.
+    rm -f $out/lib64/libOpenCL*
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      mv $out/lib64 $out/lib
+    ''}
+
+    # Set compiler for NVCC.
+    wrapProgram $out/bin/nvcc \
+      --prefix PATH : ${gcc}/bin
+
+    # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
+    wrapProgram $out/bin/nvprof \
+      --prefix LD_LIBRARY_PATH : $out/lib
+  '' + lib.optionalString (lib.versionOlder version "8.0") ''
+    # Hack to fix building against recent Glibc/GCC.
+    echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
+  '' + ''
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    for b in nvvp nsight; do
+      wrapProgram "$out/bin/$b" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+    done
+  '';
+
+  preFixup = ''
+    while IFS= read -r -d ''$'\0' i; do
+      if ! isELF "$i"; then continue; fi
+      echo "patching $i..."
+      if [[ ! $i =~ \.so ]]; then
+        patchelf \
+          --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
+      fi
+      if [[ $i =~ libcudart ]]; then
+        rpath2=
+      else
+        rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+      fi
+      patchelf --set-rpath "$rpath2" --force-rpath $i
+    done < <(find $out $lib $doc -type f -print0)
+  '';
+
+  # Set RPATH so that libcuda and other libraries in
+  # /run/opengl-driver(-32)/lib can be found. See the explanation in
+  # addOpenGLRunpath.  Don't try to figure out which libraries really need
+  # it, just patch all (but not the stubs libraries). Note that
+  # --force-rpath prevents changing RPATH (set above) to RUNPATH.
+  postFixup = ''
+    addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
+  '';
+
+  # cuda-gdb doesn't run correctly when not using sandboxing, so
+  # temporarily disabling the install check.  This should be set to true
+  # when we figure out how to get `cuda-gdb --version` to run correctly
+  # when not using sandboxing.
+  doInstallCheck = false;
+  postInstallCheck = let
+  in ''
+    # Smoke test binaries
+    pushd $out/bin
+    for f in *; do
+      case $f in
+        crt)                           continue;;
+        nvcc.profile)                  continue;;
+        nsight_ee_plugins_manage.sh)   continue;;
+        uninstall_cuda_toolkit_6.5.pl) continue;;
+        computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
+        *)                             echo "Executing '$f --version':"; ./$f --version;;
+      esac
+    done
+    popd
+  '';
+  passthru = {
+    cc = gcc;
+    majorVersion = lib.versions.majorMinor version;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A compiler for NVIDIA GPUs, math libraries, and tools";
+    homepage = "https://developer.nvidia.com/cuda-toolkit";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
index 8aab9580232b..6531316fa12b 100644
--- a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
@@ -1,198 +1,15 @@
-{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib
-, gcc48, gcc49, gcc5, gcc6, gcc7
-, xorg, gtk2, gdk-pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
-, addOpenGLRunpath
+{ lib
+, callPackage
+, fetchurl
+, gcc48
+, gcc49
+, gcc5
+, gcc6
+, gcc7
 }:
 
 let
-
-  common =
-    args@{ gcc, version, sha256
-    , url ? ""
-    , name ? ""
-    , developerProgram ? false
-    , python ? python27
-    , runPatches ? []
-    }:
-
-    stdenv.mkDerivation rec {
-      pname = "cudatoolkit";
-      inherit version runPatches;
-
-      dontPatchELF = true;
-      dontStrip = true;
-
-      src =
-        if developerProgram then
-          requireFile {
-            message = ''
-              This nix expression requires that ${args.name} is already part of the store.
-              Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
-              at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
-              nix-prefetch-url file://\$PWD/${args.name}
-            '';
-            inherit (args) name sha256;
-          }
-        else
-          fetchurl {
-            inherit (args) url sha256;
-          };
-
-      outputs = [ "out" "lib" "doc" ];
-
-      nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
-      buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
-      runtimeDependencies = [
-        ncurses5 expat python zlib glibc
-        xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
-        gtk2 glib fontconfig freetype unixODBC alsaLib
-      ];
-
-      rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
-
-      unpackPhase = ''
-        sh $src --keep --noexec
-
-        cd pkg/run_files
-        sh cuda-linux*.run --keep --noexec
-        sh cuda-samples*.run --keep --noexec
-        mv pkg ../../$(basename $src)
-        cd ../..
-        rm -rf pkg
-
-        for patch in $runPatches; do
-          sh $patch --keep --noexec
-          mv pkg $(basename $patch)
-        done
-      '';
-
-      installPhase = ''
-        runHook preInstall
-        mkdir $out
-        cd $(basename $src)
-        export PERL5LIB=.
-        perl ./install-linux.pl --prefix="$out"
-        cd ..
-        for patch in $runPatches; do
-          cd $(basename $patch)
-          perl ./install_patch.pl --silent --accept-eula --installdir="$out"
-          cd ..
-        done
-
-        rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
-
-        # let's remove the 32-bit libraries, they confuse the lib64->lib mover
-        rm -rf $out/lib
-
-        # Remove some cruft.
-        ${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
-
-        # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
-        if [ -d "$out"/cuda-samples ]; then
-            mv "$out"/cuda-samples "$out"/samples
-        fi
-
-        # Change the #error on GCC > 4.9 to a #warning.
-        sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
-
-        # Fix builds with newer glibc version
-        sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
-
-        # Ensure that cmake can find CUDA.
-        mkdir -p $out/nix-support
-        echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
-
-        # Move some libraries to the lib output so that programs that
-        # depend on them don't pull in this entire monstrosity.
-        mkdir -p $lib/lib
-        mv -v $out/lib64/libcudart* $lib/lib/
-
-        # Remove OpenCL libraries as they are provided by ocl-icd and driver.
-        rm -f $out/lib64/libOpenCL*
-
-        # Set compiler for NVCC.
-        wrapProgram $out/bin/nvcc \
-          --prefix PATH : ${gcc}/bin
-
-        # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
-        wrapProgram $out/bin/nvprof \
-          --prefix LD_LIBRARY_PATH : $out/lib
-      '' + lib.optionalString (lib.versionOlder version "8.0") ''
-        # Hack to fix building against recent Glibc/GCC.
-        echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
-      '' + ''
-        runHook postInstall
-      '';
-
-      postInstall = ''
-        for b in nvvp nsight; do
-          wrapProgram "$out/bin/$b" \
-            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-        done
-      '';
-
-      preFixup = ''
-        while IFS= read -r -d ''$'\0' i; do
-          if ! isELF "$i"; then continue; fi
-          echo "patching $i..."
-          if [[ ! $i =~ \.so ]]; then
-            patchelf \
-              --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
-          fi
-          if [[ $i =~ libcudart ]]; then
-            rpath2=
-          else
-            rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
-          fi
-          patchelf --set-rpath "$rpath2" --force-rpath $i
-        done < <(find $out $lib $doc -type f -print0)
-      '';
-
-      # Set RPATH so that libcuda and other libraries in
-      # /run/opengl-driver(-32)/lib can be found. See the explanation in
-      # addOpenGLRunpath.  Don't try to figure out which libraries really need
-      # it, just patch all (but not the stubs libraries). Note that
-      # --force-rpath prevents changing RPATH (set above) to RUNPATH.
-      postFixup = ''
-        addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
-      '';
-
-      # cuda-gdb doesn't run correctly when not using sandboxing, so
-      # temporarily disabling the install check.  This should be set to true
-      # when we figure out how to get `cuda-gdb --version` to run correctly
-      # when not using sandboxing.
-      doInstallCheck = false;
-      postInstallCheck = let
-      in ''
-        # Smoke test binaries
-        pushd $out/bin
-        for f in *; do
-          case $f in
-            crt)                           continue;;
-            nvcc.profile)                  continue;;
-            nsight_ee_plugins_manage.sh)   continue;;
-            uninstall_cuda_toolkit_6.5.pl) continue;;
-            computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
-            *)                             echo "Executing '$f --version':"; ./$f --version;;
-          esac
-        done
-        popd
-      '';
-      passthru = {
-        cc = gcc;
-        majorVersion =
-          let versionParts = lib.splitString "." version;
-          in "${lib.elemAt versionParts 0}.${lib.elemAt versionParts 1}";
-      };
-
-      meta = with stdenv.lib; {
-        description = "A compiler for NVIDIA GPUs, math libraries, and tools";
-        homepage = "https://developer.nvidia.com/cuda-toolkit";
-        platforms = [ "x86_64-linux" ];
-        license = licenses.unfree;
-      };
-    };
-
+  common = callPackage ./common.nix;
 in rec {
   cudatoolkit_6 = common {
     version = "6.0.37";
@@ -304,5 +121,21 @@ in rec {
     gcc = gcc7;
   };
 
-  cudatoolkit_10 = cudatoolkit_10_0;
+  cudatoolkit_10_1 = common {
+    version = "10.1.243";
+    url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run";
+    sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7";
+
+    gcc = gcc7;
+  };
+
+  cudatoolkit_10_2 = common {
+    version = "10.2.89";
+    url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run";
+    sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an";
+
+    gcc = gcc7;
+  };
+
+  cudatoolkit_10 = cudatoolkit_10_2;
 }
diff --git a/nixpkgs/pkgs/development/compilers/dev86/default.nix b/nixpkgs/pkgs/development/compilers/dev86/default.nix
index 839ee821d00e..37f79933b779 100644
--- a/nixpkgs/pkgs/development/compilers/dev86/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dev86/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
     description = "Linux 8086 development environment";
diff --git a/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix b/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
index bede9fa4aa68..a7b2aa6be748 100644
--- a/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation {
       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
       sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb";
     })
+    ./ecl-1.16.2-libffi-3.3-abi.patch
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/development/compilers/ecl/default.nix b/nixpkgs/pkgs/development/compilers/ecl/default.nix
index 33ed690772ea..375b38f1dc68 100644
--- a/nixpkgs/pkgs/development/compilers/ecl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ecl/default.nix
@@ -35,6 +35,10 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
 
+  patches = [
+    ./libffi-3.3-abi.patch
+  ];
+
   configureFlags = [
     (if threadSupport then "--enable-threads" else "--disable-threads")
     "--with-gmp-prefix=${gmp.dev}"
diff --git a/nixpkgs/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/nixpkgs/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
new file mode 100644
index 000000000000..28dd7d0805b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8861303e..8a959c23 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -145,8 +145,8 @@ static struct {
+ #elif defined(X86_WIN64)
+         {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+-        {@':cdecl', FFI_SYSV},
+-        {@':sysv', FFI_SYSV},
++        {@':cdecl', FFI_UNIX64},
++        {@':sysv', FFI_UNIX64},
+         {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/nixpkgs/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/nixpkgs/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
new file mode 100644
index 000000000000..0a2b5f4dd568
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8174977a..caa69f39 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -133,8 +133,8 @@ static struct {
+ #elif defined(X86_WIN64)
+   {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+-  {@':cdecl', FFI_SYSV},
+-  {@':sysv', FFI_SYSV},
++  {@':cdecl', FFI_UNIX64},
++  {@':sysv', FFI_UNIX64},
+   {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/nixpkgs/pkgs/development/compilers/eli/default.nix b/nixpkgs/pkgs/development/compilers/eli/default.nix
index a22862c42920..90c2b8fd23c4 100644
--- a/nixpkgs/pkgs/development/compilers/eli/default.nix
+++ b/nixpkgs/pkgs/development/compilers/eli/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ];
 
   # skip interactive browser check
-  buildFlags = "nobrowsers";
+  buildFlags = [ "nobrowsers" ];
 
 
   preConfigure=''
diff --git a/nixpkgs/pkgs/development/compilers/elm/default.nix b/nixpkgs/pkgs/development/compilers/elm/default.nix
index 676fa19d9e85..1d61b8331493 100644
--- a/nixpkgs/pkgs/development/compilers/elm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/default.nix
@@ -4,31 +4,17 @@
 let
   fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
 
-  patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; };
-
-  elmNodePackages =
-    import ./packages/node-composition.nix {
-      inherit nodejs pkgs;
-      inherit (stdenv.hostPlatform) system;
-    };
-
-  hsPkgs = haskell.packages.ghc865.override {
+  hsPkgs = haskell.packages.ghc881.override {
     overrides = self: super: with haskell.lib;
       let elmPkgs = rec {
             elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
               # sadly with parallelism most of the time breaks compilation
-              # also compilation is slower with increasing number of cores anyway (Tested on Ryzen 7 and i7)
               enableParallelBuilding = false;
               preConfigure = self.fetchElmDeps {
                 elmPackages = (import ./packages/elm-srcs.nix);
-                versionsDat = ./versions.dat;
+                elmVersion = drv.version;
+                registryDat = ./registry.dat;
               };
-              patches = [
-                (fetchpatch {
-                  url = "https://github.com/elm/compiler/pull/1886/commits/39d86a735e28da514be185d4c3256142c37c2a8a.patch";
-                  sha256 = "0nni5qx1523rjz1ja42z6z9pijxvi3fgbw1dhq5qi11mh1nb9ay7";
-                })
-              ];
               buildTools = drv.buildTools or [] ++ [ makeWrapper ];
               jailbreak = true;
               postInstall = ''
@@ -41,26 +27,31 @@ let
             The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
             `package/nix/build.sh`
             */
-            elm-format = justStaticExecutables (doJailbreak (self.callPackage ./packages/elm-format.nix {}));
-
-            elmi-to-json = justStaticExecutables (self.callPackage ./packages/elmi-to-json.nix {});
+            elm-format = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-format.nix {}) (drv: {
+              # GHC 8.8.1 support
+              # https://github.com/avh4/elm-format/pull/640
+              patches = [(
+                fetchpatch {
+                  url = "https://github.com/turboMaCk/elm-format/commit/4f4abdc7117ed6ce3335f6cf39b6495b48067b7c.patch";
+                  sha256 = "1zqk6q6w0ph12mnwffgwzf4h1hcgqg0v09ws9q2g5bg2riq4rvd9";
+                }
+              )];
+              # Tests are failing after upgrade to ghc881.
+              # Cause is probably just a minor change in stdout output
+              # see https://github.com/avh4/elm-format/pull/640
+              doCheck = false;
+              jailbreak = true;
+            }));
+            elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: {
+              prePatch = ''
+                substituteInPlace package.yaml --replace "- -Werror" ""
+                hpack
+              '';
+              jailbreak = true;
+            }));
 
             inherit fetchElmDeps;
             elmVersion = elmPkgs.elm.version;
-
-            /*
-            Node/NPM based dependecies can be upgraded using script
-            `packages/generate-node-packages.sh`.
-            Packages which rely on `bin-wrap` will fail by default
-            and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`.
-            */
-            elm-test = patchBinwrap [elmi-to-json] elmNodePackages.elm-test;
-            elm-verify-examples = patchBinwrap [elmi-to-json] elmNodePackages.elm-verify-examples;
-            elm-language-server = elmNodePackages."@elm-tooling/elm-language-server";
-
-            # elm-analyse@0.16.4 build is not working
-            elm-analyse = elmNodePackages."elm-analyse-0.16.3";
-            inherit (elmNodePackages) elm-doc-preview elm-live elm-upgrade elm-xref;
           };
       in elmPkgs // {
         inherit elmPkgs;
@@ -69,4 +60,29 @@ let
         indents = self.callPackage ./packages/indents.nix {};
       };
   };
-in hsPkgs.elmPkgs
+
+  /*
+  Node/NPM based dependecies can be upgraded using script
+  `packages/generate-node-packages.sh`.
+  Packages which rely on `bin-wrap` will fail by default
+  and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`.
+  */
+  elmNodePackages =
+    let
+      nodePkgs = import ./packages/node-composition.nix {
+          inherit nodejs pkgs;
+          inherit (stdenv.hostPlatform) system;
+        };
+    in with hsPkgs.elmPkgs; {
+      elm-test = patchBinwrap [elmi-to-json] nodePkgs.elm-test;
+      elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples;
+      elm-language-server = nodePkgs."@elm-tooling/elm-language-server";
+
+      inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse;
+    };
+
+  patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; };
+
+in hsPkgs.elmPkgs // elmNodePackages // {
+  lib = { inherit patchBinwrap; };
+}
diff --git a/nixpkgs/pkgs/development/compilers/elm/fetchElmDeps.nix b/nixpkgs/pkgs/development/compilers/elm/fetchElmDeps.nix
index 3da2445e0c52..05dffaa9e2eb 100644
--- a/nixpkgs/pkgs/development/compilers/elm/fetchElmDeps.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/fetchElmDeps.nix
@@ -1,11 +1,11 @@
 {stdenv, lib, fetchurl}:
 
-{elmPackages, versionsDat}:
+{elmPackages, registryDat, elmVersion}:
 
 let
-  makeDotElm = import ./makeDotElm.nix {inherit stdenv lib fetchurl versionsDat;};
+  makeDotElm = import ./makeDotElm.nix {inherit stdenv lib fetchurl registryDat;};
 
 in
 ''
   export ELM_HOME=`pwd`/.elm
-'' + (makeDotElm "0.19.0" elmPackages)
+'' + (makeDotElm elmVersion elmPackages)
diff --git a/nixpkgs/pkgs/development/compilers/elm/makeDotElm.nix b/nixpkgs/pkgs/development/compilers/elm/makeDotElm.nix
index 1bc8e61d27ca..0831d382c4b2 100644
--- a/nixpkgs/pkgs/development/compilers/elm/makeDotElm.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/makeDotElm.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchurl, versionsDat}:
+{stdenv, lib, fetchurl, registryDat}:
 
 ver: deps:
   let cmds = lib.mapAttrsToList (name: info: let
@@ -11,20 +11,17 @@ ver: deps:
                    inherit (info) sha256;
                  };
 
-                 phases = [ "unpackPhase" "installPhase" ];
-
                  installPhase = ''
                    mkdir -p $out
                    cp -r * $out
                  '';
-
                };
              in ''
-               mkdir -p .elm/${ver}/package/${name}
-               cp -R ${pkg} .elm/${ver}/package/${name}/${info.version}
+               mkdir -p .elm/${ver}/packages/${name}
+               cp -R ${pkg} .elm/${ver}/packages/${name}/${info.version}
              '') deps;
   in (lib.concatStrings cmds) + ''
-    mkdir -p .elm/${ver}/package;
-    cp ${versionsDat} .elm/${ver}/package/versions.dat;
+    mkdir -p .elm/${ver}/packages;
+    cp ${registryDat} .elm/${ver}/packages/registry.dat;
     chmod -R +w .elm
   ''
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix
index e1f941626dd7..0d4523b8b098 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix
@@ -6,8 +6,8 @@
       };
 
       "elm/json" = {
-        sha256 = "1g0hafkqf2q633r7ir9wxpb1lnlzskhpsyi0h5bkzj0gl072zfnb";
-        version = "1.0.0";
+        sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw";
+        version = "1.1.2";
       };
 
       "elm/html" = {
@@ -16,8 +16,8 @@
       };
 
       "elm/svg" = {
-        sha256 = "08x0v8p9wm699jjmsnbq69pxv3jh60j4f6fg7y6hyr7xxj85y390";
-        version = "1.0.0";
+        sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k";
+        version = "1.0.1";
       };
 
       "elm/project-metadata-utils" = {
@@ -26,23 +26,33 @@
       };
 
       "elm/browser" = {
-        sha256 = "1apmvyax93nvmagwj00y16zx10kfv640cxpi64xgqbgy7d2wphy4";
-        version = "1.0.0";
+        sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka";
+        version = "1.0.1";
       };
 
       "elm/core" = {
-        sha256 = "10kr86h4v5h4p0586q406a5wbl8xvr1jyrf6097zp2wb8sv21ylw";
-        version = "1.0.0";
+        sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as";
+        version = "1.0.2";
       };
 
       "elm/http" = {
-        sha256 = "1igmm89ialzrjib1j8xagkxalq1x2gj4l0hfxcd66mpwmvg7psl8";
-        version = "1.0.0";
+        sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1";
+        version = "2.0.0";
+      };
+
+      "elm/bytes" = {
+        sha256 = "040d7irrawcbnq9jxhzx8p9qacdlw5bncy6lgndd6inm53rvvwbp";
+        version = "1.0.7";
+      };
+
+      "elm/file" = {
+        sha256 = "15vw1ilbg0msimq2k9magwigp8lwqrgvz3vk6qia6b3ldahvw8jr";
+        version = "1.0.1";
       };
 
       "elm/parser" = {
-        sha256 = "0k4zlq30lrvawqvzwbvsl0hrmwf9s832mb41z7fdspm4549dj7wc";
-        version = "1.0.0";
+        sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512";
+        version = "1.1.0";
       };
 
       "elm/url" = {
@@ -56,7 +66,7 @@
       };
 
       "elm/virtual-dom" = {
-        sha256 = "0hm8g92h7z39km325dlnhk8n00nlyjkqp3r3jppr37k2k13md6aq";
-        version = "1.0.0";
+        sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg";
+        version = "1.0.2";
       };
 }
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix
index 4edd9bebbc6b..644a53fd6190 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix
@@ -1,29 +1,29 @@
 { mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary
 , bytestring, containers, directory, edit-distance, fetchgit
-, file-embed, filepath, ghc-prim, haskeline, HTTP, http-client
-, http-client-tls, http-types, language-glsl, logict, mtl, network
-, parsec, process, raw-strings-qq, scientific, SHA, snap-core
-, snap-server, stdenv, template-haskell, text, time
+, file-embed, filelock, filepath, ghc-prim, haskeline, HTTP
+, http-client, http-client-tls, http-types, language-glsl, mtl
+, network, parsec, process, raw-strings-qq, scientific, SHA
+, snap-core, snap-server, stdenv, template-haskell, time
 , unordered-containers, utf8-string, vector, zip-archive
 }:
 mkDerivation {
   pname = "elm";
-  version = "0.19.0";
+  version = "0.19.1";
   src = fetchgit {
     url = "https://github.com/elm/compiler";
-    sha256 = "13jks6c6i80z71mjjfg46ri570g5ini0k3xw3857v6z66zcl56x4";
-    rev = "d5cbc41aac23da463236bbc250933d037da4055a";
+    sha256 = "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w";
+    rev = "c9aefb6230f5e0bda03205ab0499f6e4af924495";
     fetchSubmodules = true;
   };
   isLibrary = false;
   isExecutable = true;
   executableHaskellDepends = [
     ansi-terminal ansi-wl-pprint base binary bytestring containers
-    directory edit-distance file-embed filepath ghc-prim haskeline HTTP
-    http-client http-client-tls http-types language-glsl logict mtl
-    network parsec process raw-strings-qq scientific SHA snap-core
-    snap-server template-haskell text time unordered-containers
-    utf8-string vector zip-archive
+    directory edit-distance file-embed filelock filepath ghc-prim
+    haskeline HTTP http-client http-client-tls http-types language-glsl
+    mtl network parsec process raw-strings-qq scientific SHA snap-core
+    snap-server template-haskell time unordered-containers utf8-string
+    vector zip-archive
   ];
   homepage = "https://elm-lang.org";
   description = "The `elm` command line interface";
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix
index f6a0b9e24263..87b02f013f85 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix
@@ -1,27 +1,27 @@
-{ mkDerivation, aeson, async, base, binary, bytestring, containers
-, directory, filepath, hpack, optparse-applicative, safe-exceptions
-, stdenv, text, fetchgit
+{ mkDerivation, aeson, base, binary, bytestring, containers
+, directory, fetchgit, filepath, ghc-prim, hpack
+, optparse-applicative, stdenv, text, unliftio
+, unordered-containers
 }:
 mkDerivation {
   pname = "elmi-to-json";
-  version = "0.19.4";
+  version = "1.2.0";
   src = fetchgit {
     url = "https://github.com/stoeffel/elmi-to-json.git";
-    rev = "357ad96f05e4c68023b036f27f6f65c4377c7427";
-    sha256 = "0vj9fdqgg2zd1nxpll6v02fk6bcyhx00xhp3s8sd7ycvirwsim9n";
+    sha256 = "1kxai87h2g0749yq0fkxwk3xaavydraaivhnavbwr62q2hw4wrj7";
+    rev = "af08ceafe742a252f1f1f3c229b0ce3b3e00084d";
+    fetchSubmodules = true;
   };
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
-    aeson async base binary bytestring containers directory filepath
-    optparse-applicative safe-exceptions text
+    aeson base binary bytestring containers directory filepath ghc-prim
+    optparse-applicative text unliftio unordered-containers
   ];
   libraryToolDepends = [ hpack ];
   executableHaskellDepends = [ base ];
   testHaskellDepends = [ base ];
-  preConfigure = "hpack";
+  prePatch = "hpack";
   homepage = "https://github.com/stoeffel/elmi-to-json#readme";
-  description = "Translates elmi binary files to JSON representation";
   license = stdenv.lib.licenses.bsd3;
-  maintainers = with stdenv.lib.maintainers; [ turbomack ];
 }
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
index 9faaaced709e..e129a0ffaec4 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
@@ -3,7 +3,7 @@
     "elm-verify-examples",
     "elm-doc-preview",
     "elm-upgrade",
-    { "elm-analyse": "0.16.3" },
+    "elm-analyse",
     "elm-live",
     "elm-xref",
     "@elm-tooling/elm-language-server"
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
index 45fb96ed6934..c9b54aee4fd0 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -13,31 +13,40 @@ let
         sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
       };
     };
-    "@nodelib/fs.scandir-2.1.2" = {
+    "@nodelib/fs.scandir-2.1.3" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz";
-        sha512 = "wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
+        sha512 = "eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==";
       };
     };
-    "@nodelib/fs.stat-2.0.2" = {
+    "@nodelib/fs.stat-2.0.3" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz";
-        sha512 = "z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
+        sha512 = "bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==";
       };
     };
-    "@nodelib/fs.walk-1.2.3" = {
+    "@nodelib/fs.walk-1.2.4" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.3";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
+        sha512 = "1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==";
+      };
+    };
+    "@sindresorhus/is-0.14.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz";
-        sha512 = "l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==";
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
+        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
       };
     };
     "@sindresorhus/is-0.7.0" = {
@@ -49,6 +58,24 @@ let
         sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==";
       };
     };
+    "@szmarczak/http-timer-1.1.2" = {
+      name = "_at_szmarczak_slash_http-timer";
+      packageName = "@szmarczak/http-timer";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
+        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
+      };
+    };
+    "@types/color-name-1.1.1" = {
+      name = "_at_types_slash_color-name";
+      packageName = "@types/color-name";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz";
+        sha512 = "rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==";
+      };
+    };
     "@types/events-3.0.0" = {
       name = "_at_types_slash_events";
       packageName = "@types/events";
@@ -76,13 +103,13 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-12.7.5" = {
+    "@types/node-13.1.2" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.7.5";
+      version = "13.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz";
-        sha512 = "9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==";
+        url = "https://registry.npmjs.org/@types/node/-/node-13.1.2.tgz";
+        sha512 = "B8emQA1qeKerqd1dmIsQYnXi+mmAzTB7flExjmy5X1aVAKFNNNDubkavwR13kR6JnpeLp3aLoJhwn9trWPAyFQ==";
       };
     };
     "accepts-1.3.7" = {
@@ -139,6 +166,15 @@ let
         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
+    "ansi-styles-4.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz";
+        sha512 = "9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==";
+      };
+    };
     "anymatch-2.0.0" = {
       name = "anymatch";
       packageName = "anymatch";
@@ -148,13 +184,13 @@ let
         sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
       };
     };
-    "anymatch-3.1.0" = {
+    "anymatch-3.1.1" = {
       name = "anymatch";
       packageName = "anymatch";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz";
-        sha512 = "Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==";
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz";
+        sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
       };
     };
     "arr-diff-4.0.0" = {
@@ -238,15 +274,6 @@ let
         sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
       };
     };
-    "async-each-1.0.3" = {
-      name = "async-each";
-      packageName = "async-each";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
-        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
-      };
-    };
     "async-limiter-1.0.1" = {
       name = "async-limiter";
       packageName = "async-limiter";
@@ -283,13 +310,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "babel-runtime-6.18.0" = {
@@ -346,15 +373,6 @@ let
         sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
       };
     };
-    "binary-extensions-1.13.1" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "1.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz";
-        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
-      };
-    };
     "binary-extensions-2.0.0" = {
       name = "binary-extensions";
       packageName = "binary-extensions";
@@ -364,15 +382,6 @@ let
         sha512 = "Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==";
       };
     };
-    "bindings-1.5.0" = {
-      name = "bindings";
-      packageName = "bindings";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
-        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
-      };
-    };
     "binwrap-0.2.2" = {
       name = "binwrap";
       packageName = "binwrap";
@@ -382,13 +391,13 @@ let
         sha512 = "Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw==";
       };
     };
-    "bluebird-3.5.5" = {
+    "bluebird-3.7.2" = {
       name = "bluebird";
       packageName = "bluebird";
-      version = "3.5.5";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
-        sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     };
     "body-parser-1.18.2" = {
@@ -436,13 +445,13 @@ let
         sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
-    "bser-2.1.0" = {
+    "bser-2.1.1" = {
       name = "bser";
       packageName = "bser";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz";
-        sha512 = "8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==";
+        url = "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz";
+        sha512 = "gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==";
       };
     };
     "buffers-0.1.1" = {
@@ -490,6 +499,15 @@ let
         sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
       };
     };
+    "cacheable-request-6.1.0" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
+        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
+      };
+    };
     "camelcase-5.3.1" = {
       name = "camelcase";
       packageName = "camelcase";
@@ -508,15 +526,6 @@ let
         sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
       };
     };
-    "capture-stack-trace-1.0.1" = {
-      name = "capture-stack-trace";
-      packageName = "capture-stack-trace";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz";
-        sha512 = "mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==";
-      };
-    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -553,22 +562,22 @@ let
         sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
       };
     };
-    "chalk-2.1.0" = {
+    "chalk-2.4.2" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.1.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz";
-        sha512 = "LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
-    "chalk-2.4.2" = {
+    "chalk-3.0.0" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.4.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz";
+        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
       };
     };
     "charenc-0.0.2" = {
@@ -580,31 +589,40 @@ let
         sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
       };
     };
-    "chokidar-2.1.2" = {
+    "chokidar-3.0.2" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "2.1.2";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz";
-        sha512 = "IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz";
+        sha512 = "c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==";
       };
     };
-    "chokidar-3.0.2" = {
+    "chokidar-3.2.1" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.0.2";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz";
-        sha512 = "c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz";
+        sha512 = "/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==";
+      };
+    };
+    "chokidar-3.3.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz";
+        sha512 = "dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==";
       };
     };
-    "chownr-1.1.2" = {
+    "chownr-1.1.3" = {
       name = "chownr";
       packageName = "chownr";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz";
-        sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==";
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
       };
     };
     "class-utils-0.3.6" = {
@@ -652,6 +670,15 @@ let
         sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
       };
     };
+    "color-convert-2.0.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
+      };
+    };
     "color-name-1.1.3" = {
       name = "color-name";
       packageName = "color-name";
@@ -661,6 +688,15 @@ let
         sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
       };
     };
+    "color-name-1.1.4" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    };
     "combined-stream-1.0.8" = {
       name = "combined-stream";
       packageName = "combined-stream";
@@ -679,13 +715,22 @@ let
         sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
       };
     };
-    "commander-3.0.1" = {
+    "commander-3.0.2" = {
       name = "commander";
       packageName = "commander";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz";
-        sha512 = "UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ==";
+        url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
+        sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
+      };
+    };
+    "compare-versions-3.5.1" = {
+      name = "compare-versions";
+      packageName = "compare-versions";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz";
+        sha512 = "9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==";
       };
     };
     "component-emitter-1.3.0" = {
@@ -787,22 +832,22 @@ let
         sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
       };
     };
-    "core-js-2.6.9" = {
+    "core-js-2.6.11" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.9";
+      version = "2.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
-        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz";
+        sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==";
       };
     };
-    "core-js-3.2.1" = {
+    "core-js-3.6.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.2.1";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz";
-        sha512 = "Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.1.tgz";
+        sha512 = "186WjSik2iTGfDjfdCZAxv2ormxtKgemjC3SI6PL31qOA0j5LhTDVjHChccoc7brwLvpvLPiMyRlcO88C4l1QQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -814,15 +859,6 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "create-error-class-3.0.2" = {
-      name = "create-error-class";
-      packageName = "create-error-class";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
-        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
-      };
-    };
     "crocks-0.12.1" = {
       name = "crocks";
       packageName = "crocks";
@@ -832,15 +868,6 @@ let
         sha512 = "2qCRJwBmPlRQXzd50k9gt9PaItultOP8lj/cKSH2Eai9aeBuNqAnDuyolAm9TGn6Pw/4BgbxtPJLU1S+tQ4WMQ==";
       };
     };
-    "cross-spawn-4.0.0" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz";
-        sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
-      };
-    };
     "cross-spawn-5.0.1" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -859,6 +886,24 @@ let
         sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     };
+    "cross-spawn-7.0.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.0.tgz";
+        sha512 = "6U/8SMK2FBNnB21oQ4+6Nsodxanw1gTkntYA2zBdkFYFu3ZDx65P2ONEXGSvob/QS6REjVHQ9zxzdOafwFdstw==";
+      };
+    };
+    "cross-spawn-7.0.1" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz";
+        sha512 = "u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==";
+      };
+    };
     "crypt-0.0.2" = {
       name = "crypt";
       packageName = "crypt";
@@ -940,6 +985,15 @@ let
         sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
       };
     };
+    "defer-to-connect-1.1.1" = {
+      name = "defer-to-connect";
+      packageName = "defer-to-connect";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz";
+        sha512 = "J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==";
+      };
+    };
     "define-properties-1.1.3" = {
       name = "define-properties";
       packageName = "define-properties";
@@ -1067,22 +1121,31 @@ let
         sha512 = "ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA==";
       };
     };
-    "elm-test-0.19.0-rev6" = {
+    "elm-test-0.19.1" = {
       name = "elm-test";
       packageName = "elm-test";
-      version = "0.19.0-rev6";
+      version = "0.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev6.tgz";
-        sha512 = "Qdy9QusZF+eT0203XBiT1Y/UhFeUjcSuyyzf3iyp32dsYpAfcoDTWHjlBVjia1CyvFauESQ4pc81nKaq6snClg==";
+        url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1.tgz";
+        sha512 = "SyZgZ/hxq62budS3k0M1Qj1E8fIRvldSxFSm4XfzE6qRRuHAT2a82fxprZRZl1yG2GwnImGmhuKH5hSyjPpzjA==";
       };
     };
-    "elmi-to-json-0.19.1" = {
+    "elmi-to-json-1.2.0" = {
       name = "elmi-to-json";
       packageName = "elmi-to-json";
-      version = "0.19.1";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-1.2.0.tgz";
+        sha512 = "zNinzt6/YMr11HgeBlC9Z0UM3qHkYrGsWJTjrCmgBkKnaOLUzTP5K9N3z1RltyunItXtHAxb8DFPvMxlYRPv/Q==";
+      };
+    };
+    "elmi-to-json-1.3.0" = {
+      name = "elmi-to-json";
+      packageName = "elmi-to-json";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-0.19.1.tgz";
-        sha512 = "O0Z3YsYU9OTb1hTDGORWxi69QjQFEIPfZVq/oc1D5lhL3swduHKY8vdKGuo+WlKVdTas99oNIsgL7yojWdYcsQ==";
+        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-1.3.0.tgz";
+        sha512 = "6m1D5/Pb5pUrSOOBgRG3fE2mK19nhmLgZ16jj2KWTVIhT+0GIBuDI1iV0Fee27CZH790J7uMcdGWJ7fnVvpsKg==";
       };
     };
     "emoji-regex-7.0.3" = {
@@ -1103,31 +1166,31 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "end-of-stream-1.4.1" = {
+    "end-of-stream-1.4.4" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
-      version = "1.4.1";
+      version = "1.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
-        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "es-abstract-1.14.2" = {
+    "es-abstract-1.17.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.14.2";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz";
-        sha512 = "DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz";
+        sha512 = "yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==";
       };
     };
-    "es-to-primitive-1.2.0" = {
+    "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
-        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
     "es6-promisify-6.0.2" = {
@@ -1175,13 +1238,13 @@ let
         sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==";
       };
     };
-    "exec-sh-0.3.2" = {
+    "exec-sh-0.3.4" = {
       name = "exec-sh";
       packageName = "exec-sh";
-      version = "0.3.2";
+      version = "0.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz";
-        sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==";
+        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz";
+        sha512 = "sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==";
       };
     };
     "execa-1.0.0" = {
@@ -1193,13 +1256,13 @@ let
         sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
-    "execa-2.0.4" = {
+    "execa-3.4.0" = {
       name = "execa";
       packageName = "execa";
-      version = "2.0.4";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz";
-        sha512 = "VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==";
+        url = "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz";
+        sha512 = "r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==";
       };
     };
     "expand-brackets-2.1.4" = {
@@ -1310,22 +1373,22 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
-    "fast-glob-3.0.4" = {
+    "fast-glob-3.1.1" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.0.4";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz";
-        sha512 = "wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz";
+        sha512 = "nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
+    "fast-json-stable-stringify-2.1.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "fastq-1.6.0" = {
@@ -1337,22 +1400,13 @@ let
         sha512 = "jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==";
       };
     };
-    "fb-watchman-2.0.0" = {
+    "fb-watchman-2.0.1" = {
       name = "fb-watchman";
       packageName = "fb-watchman";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz";
-        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
-      };
-    };
-    "file-uri-to-path-1.0.0" = {
-      name = "file-uri-to-path";
-      packageName = "file-uri-to-path";
-      version = "1.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
-        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz";
+        sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
       };
     };
     "fill-range-4.0.0" = {
@@ -1400,13 +1454,13 @@ let
         sha1 = "7afbd00f8f08c5b622f97cda6f714173d547bb3f";
       };
     };
-    "find-elm-dependencies-2.0.1" = {
+    "find-elm-dependencies-2.0.2" = {
       name = "find-elm-dependencies";
       packageName = "find-elm-dependencies";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.1.tgz";
-        sha512 = "KBxPjc7J1CLw90jVateMKvMYMROZRTR7/QT2I3MxT+7I6KuUQUMNUFuS/eQXQnMnyElGKQ1iyPbe7GnEuYnFXw==";
+        url = "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.2.tgz";
+        sha512 = "nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ==";
       };
     };
     "find-parent-dir-0.3.0" = {
@@ -1436,13 +1490,13 @@ let
         sha1 = "c9f4886e7f7fbf0afc12d71941dce06b192aea05";
       };
     };
-    "firstline-1.2.1" = {
+    "firstline-2.0.2" = {
       name = "firstline";
       packageName = "firstline";
-      version = "1.2.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/firstline/-/firstline-1.2.1.tgz";
-        sha1 = "b88673c42009f8821fac2926e99720acee924fae";
+        url = "https://registry.npmjs.org/firstline/-/firstline-2.0.2.tgz";
+        sha512 = "8KcmfI0jgSECnzdhucm0i7vrwef3BWwgjimW2YkRC5eSFwjb5DibVoA0YvgkYwwxuJi9c+7M7X3b3lX8o9B6wg==";
       };
     };
     "follow-redirects-1.9.0" = {
@@ -1517,15 +1571,6 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
-    "fs-extra-0.30.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "0.30.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz";
-        sha1 = "f233ffcc08d4da7d432daa449776989db1df93f0";
-      };
-    };
     "fs-extra-2.0.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -1553,13 +1598,22 @@ let
         sha512 = "GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==";
       };
     };
-    "fs-minipass-1.2.6" = {
+    "fs-extra-8.1.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
+      };
+    };
+    "fs-minipass-1.2.7" = {
       name = "fs-minipass";
       packageName = "fs-minipass";
-      version = "1.2.6";
+      version = "1.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz";
-        sha512 = "crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==";
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
     "fs.realpath-1.0.0" = {
@@ -1571,31 +1625,13 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fsevents-1.2.4" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz";
-        sha512 = "z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==";
-      };
-    };
-    "fsevents-1.2.9" = {
+    "fsevents-2.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
-        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
-      };
-    };
-    "fsevents-2.0.7" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.0.7";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz";
-        sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz";
+        sha512 = "R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==";
       };
     };
     "function-bind-1.1.1" = {
@@ -1670,15 +1706,6 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.1" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";
-        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
-      };
-    };
     "glob-7.1.4" = {
       name = "glob";
       packageName = "glob";
@@ -1688,22 +1715,22 @@ let
         sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
       };
     };
-    "glob-parent-3.1.0" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "3.1.0";
+    "glob-7.1.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
-        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
-    "glob-parent-5.0.0" = {
+    "glob-parent-5.1.0" = {
       name = "glob-parent";
       packageName = "glob-parent";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz";
-        sha512 = "Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==";
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz";
+        sha512 = "qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==";
       };
     };
     "globby-10.0.1" = {
@@ -1715,31 +1742,31 @@ let
         sha512 = "sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==";
       };
     };
-    "got-6.7.1" = {
+    "got-8.3.2" = {
       name = "got";
       packageName = "got";
-      version = "6.7.1";
+      version = "8.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
-        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
+        sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==";
       };
     };
-    "got-8.3.2" = {
+    "got-9.6.0" = {
       name = "got";
       packageName = "got";
-      version = "8.3.2";
+      version = "9.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
-        sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==";
+        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
+        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.2" = {
+    "graceful-fs-4.2.3" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.2";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
-        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
       };
     };
     "har-schema-2.0.0" = {
@@ -1778,22 +1805,22 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-flag-2.0.0" = {
+    "has-flag-3.0.0" = {
       name = "has-flag";
       packageName = "has-flag";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";
-        sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
-    "has-flag-3.0.0" = {
+    "has-flag-4.0.0" = {
       name = "has-flag";
       packageName = "has-flag";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
     "has-symbol-support-x-1.4.2" = {
@@ -1805,13 +1832,13 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
-    "has-symbols-1.0.0" = {
+    "has-symbols-1.0.1" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
-        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "has-to-string-tag-x-1.4.1" = {
@@ -1868,6 +1895,15 @@ let
         sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==";
       };
     };
+    "http-cache-semantics-4.0.3" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz";
+        sha512 = "TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==";
+      };
+    };
     "http-errors-1.6.2" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -1922,6 +1958,15 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
+    "human-signals-1.1.1" = {
+      name = "human-signals";
+      packageName = "human-signals";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz";
+        sha512 = "SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==";
+      };
+    };
     "iconv-lite-0.4.19" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -2048,15 +2093,6 @@ let
         sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     };
-    "is-binary-path-1.0.1" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
-      };
-    };
     "is-binary-path-2.1.0" = {
       name = "is-binary-path";
       packageName = "is-binary-path";
@@ -2075,13 +2111,13 @@ let
         sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     };
-    "is-callable-1.1.4" = {
+    "is-callable-1.1.5" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
-        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -2102,13 +2138,13 @@ let
         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
-    "is-date-object-1.0.1" = {
+    "is-date-object-1.0.2" = {
       name = "is-date-object";
       packageName = "is-date-object";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
-        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     };
     "is-descriptor-0.1.6" = {
@@ -2165,15 +2201,6 @@ let
         sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
       };
     };
-    "is-glob-3.1.0" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
-        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
-      };
-    };
     "is-glob-4.0.1" = {
       name = "is-glob";
       packageName = "is-glob";
@@ -2228,22 +2255,13 @@ let
         sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     };
-    "is-redirect-1.0.0" = {
-      name = "is-redirect";
-      packageName = "is-redirect";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
-        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
-      };
-    };
-    "is-regex-1.0.4" = {
+    "is-regex-1.0.5" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
-        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
+        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
       };
     };
     "is-retry-allowed-1.2.0" = {
@@ -2273,13 +2291,13 @@ let
         sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
       };
     };
-    "is-symbol-1.0.2" = {
+    "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
-        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -2444,6 +2462,15 @@ let
         sha512 = "eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==";
       };
     };
+    "keyv-3.1.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
+        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
+      };
+    };
     "kind-of-3.2.2" = {
       name = "kind-of";
       packageName = "kind-of";
@@ -2480,15 +2507,6 @@ let
         sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
       };
     };
-    "klaw-1.3.1" = {
-      name = "klaw";
-      packageName = "klaw";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz";
-        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
-      };
-    };
     "klaw-2.1.1" = {
       name = "klaw";
       packageName = "klaw";
@@ -2516,15 +2534,6 @@ let
         sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     };
-    "lodash-4.17.11" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz";
-        sha512 = "cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==";
-      };
-    };
     "lodash-4.17.15" = {
       name = "lodash";
       packageName = "lodash";
@@ -2552,6 +2561,15 @@ let
         sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     };
+    "lowercase-keys-2.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
+        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
+      };
+    };
     "lru-cache-4.1.5" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -2687,22 +2705,22 @@ let
         sha512 = "QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "mimic-fn-2.1.0" = {
@@ -2750,22 +2768,22 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "minipass-2.5.1" = {
+    "minipass-2.9.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "2.5.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.5.1.tgz";
-        sha512 = "dmpSnLJtNQioZFI5HfQ55Ad0DzzsMAb+HfokwRTNXwEQjepbTkl5mtIlSVxGIkOkxlpX7wIn5ET/oAd9fZ/Y/Q==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
-    "minizlib-1.2.2" = {
+    "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.2.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz";
-        sha512 = "hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
     "mixin-deep-1.3.2" = {
@@ -2822,22 +2840,13 @@ let
         sha1 = "5041049269c96633c866386960b2f4289e75e5b0";
       };
     };
-    "mustache-3.1.0" = {
+    "mustache-3.2.1" = {
       name = "mustache";
       packageName = "mustache";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mustache/-/mustache-3.1.0.tgz";
-        sha512 = "3Bxq1R5LBZp7fbFPZzFe5WN4s0q3+gxZaZuZVY+QctYJiCiVgXHOTIC0/HgZuOPFt/6BQcx5u0H2CUOxT/RoGQ==";
-      };
-    };
-    "nan-2.14.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.14.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
-        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+        url = "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz";
+        sha512 = "RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -2867,13 +2876,13 @@ let
         sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     };
-    "node-elm-compiler-5.0.3" = {
+    "node-elm-compiler-5.0.4" = {
       name = "node-elm-compiler";
       packageName = "node-elm-compiler";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.3.tgz";
-        sha512 = "I3CWm/ExYYQ/a9bjB0OL9VsGa3Lmgbb8QOs4y2kEiB/DTkTqkcTaCr/lVyOYjRpgR25TsmOBATscsg6H6aC9Hg==";
+        url = "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.4.tgz";
+        sha512 = "VQsT8QSierYGkHzRed+b4MnccQVF1+qPHunE8jBoU7jD6YpuRqCDPzEoC2zfyEJS80qVnlMZrqobLnyjzX9lJg==";
       };
     };
     "node-int64-0.4.0" = {
@@ -2921,6 +2930,15 @@ let
         sha512 = "D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==";
       };
     };
+    "normalize-url-4.5.0" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
+        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
+      };
+    };
     "npm-conf-1.1.3" = {
       name = "npm-conf";
       packageName = "npm-conf";
@@ -2939,22 +2957,13 @@ let
         sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
       };
     };
-    "npm-run-path-3.1.0" = {
+    "npm-run-path-4.0.1" = {
       name = "npm-run-path";
       packageName = "npm-run-path";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz";
-        sha512 = "Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==";
-      };
-    };
-    "npx-10.2.0" = {
-      name = "npx";
-      packageName = "npx";
-      version = "10.2.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npx/-/npx-10.2.0.tgz";
-        sha512 = "DqjFkzET0DeaXYXNJnirnvEovwk4lBa33ZQCw1jxMuas4yH9jdU8q2U8L3cLaB2UqzgmW2Ssqk8lcGiPRL8pRg==";
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -2984,13 +2993,13 @@ let
         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
       };
     };
-    "object-inspect-1.6.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
-        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -3011,13 +3020,22 @@ let
         sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
       };
     };
-    "object.getownpropertydescriptors-2.0.3" = {
+    "object.assign-4.1.0" = {
+      name = "object.assign";
+      packageName = "object.assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
+        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
+      };
+    };
+    "object.getownpropertydescriptors-2.1.0" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
-        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
+        sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==";
       };
     };
     "object.pick-1.3.0" = {
@@ -3119,6 +3137,15 @@ let
         sha512 = "HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==";
       };
     };
+    "p-cancelable-1.1.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
+      };
+    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -3146,13 +3173,13 @@ let
         sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
       };
     };
-    "p-limit-2.2.1" = {
+    "p-limit-2.2.2" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
-        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz";
+        sha512 = "WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==";
       };
     };
     "p-locate-3.0.0" = {
@@ -3209,15 +3236,6 @@ let
         sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
       };
     };
-    "path-dirname-1.0.2" = {
-      name = "path-dirname";
-      packageName = "path-dirname";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
-        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
-      };
-    };
     "path-exists-3.0.0" = {
       name = "path-exists";
       packageName = "path-exists";
@@ -3245,13 +3263,13 @@ let
         sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
       };
     };
-    "path-key-3.1.0" = {
+    "path-key-3.1.1" = {
       name = "path-key";
       packageName = "path-key";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz";
-        sha512 = "8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==";
+        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
       };
     };
     "path-to-regexp-0.1.7" = {
@@ -3290,13 +3308,13 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "picomatch-2.0.7" = {
+    "picomatch-2.1.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.0.7";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz";
-        sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz";
+        sha512 = "OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==";
       };
     };
     "pify-3.0.0" = {
@@ -3308,6 +3326,15 @@ let
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     };
+    "pjson-1.0.9" = {
+      name = "pjson";
+      packageName = "pjson";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pjson/-/pjson-1.0.9.tgz";
+        sha512 = "4hRJH3YzkUpOlShRzhyxAmThSNnAaIlWZCAb27hd0pVUAXNUAHAO7XZbsPPvsCYwBFEScTmCCL6DGE8NyZ8BdQ==";
+      };
+    };
     "posix-character-classes-0.1.1" = {
       name = "posix-character-classes";
       packageName = "posix-character-classes";
@@ -3317,15 +3344,6 @@ let
         sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
       };
     };
-    "prepend-http-1.0.4" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
-        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
-      };
-    };
     "prepend-http-2.0.0" = {
       name = "prepend-http";
       packageName = "prepend-http";
@@ -3380,13 +3398,13 @@ let
         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.7.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz";
+        sha512 = "5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==";
       };
     };
     "pump-3.0.0" = {
@@ -3506,22 +3524,31 @@ let
         sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
       };
     };
-    "readdirp-2.2.1" = {
+    "readdirp-3.1.3" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "2.2.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
-        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz";
+        sha512 = "ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==";
       };
     };
-    "readdirp-3.1.2" = {
+    "readdirp-3.2.0" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "3.1.2";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz";
+        sha512 = "crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==";
+      };
+    };
+    "readdirp-3.3.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz";
-        sha512 = "8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz";
+        sha512 = "zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==";
       };
     };
     "regenerator-runtime-0.9.6" = {
@@ -3596,22 +3623,22 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "request-promise-4.2.4" = {
+    "request-promise-4.2.5" = {
       name = "request-promise";
       packageName = "request-promise";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz";
-        sha512 = "8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==";
+        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz";
+        sha512 = "ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==";
       };
     };
-    "request-promise-core-1.1.2" = {
+    "request-promise-core-1.1.3" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
       };
     };
     "require-directory-2.1.1" = {
@@ -3677,13 +3704,13 @@ let
         sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
       };
     };
-    "rimraf-2.2.8" = {
+    "rimraf-2.6.3" = {
       name = "rimraf";
       packageName = "rimraf";
-      version = "2.2.8";
+      version = "2.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
-        sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
       };
     };
     "rimraf-2.7.1" = {
@@ -3713,13 +3740,13 @@ let
         sha512 = "DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==";
       };
     };
-    "rxjs-6.5.3" = {
+    "rxjs-6.5.4" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "6.5.3";
+      version = "6.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz";
-        sha512 = "wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz";
+        sha512 = "naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==";
       };
     };
     "safe-buffer-5.1.1" = {
@@ -3794,6 +3821,15 @@ let
         sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     };
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
     "semver-regex-1.0.0" = {
       name = "semver-regex";
       packageName = "semver-regex";
@@ -3911,6 +3947,15 @@ let
         sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
       };
     };
+    "shebang-command-2.0.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
+      };
+    };
     "shebang-regex-1.0.0" = {
       name = "shebang-regex";
       packageName = "shebang-regex";
@@ -3920,6 +3965,15 @@ let
         sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
       };
     };
+    "shebang-regex-3.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
+      };
+    };
     "signal-exit-3.0.2" = {
       name = "signal-exit";
       packageName = "signal-exit";
@@ -3983,13 +4037,13 @@ let
         sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
       };
     };
-    "source-map-resolve-0.5.2" = {
+    "source-map-resolve-0.5.3" = {
       name = "source-map-resolve";
       packageName = "source-map-resolve";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
-        sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
       };
     };
     "source-map-url-0.4.0" = {
@@ -4082,22 +4136,22 @@ let
         sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string.prototype.trimleft-2.1.0" = {
+    "string.prototype.trimleft-2.1.1" = {
       name = "string.prototype.trimleft";
       packageName = "string.prototype.trimleft";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
-        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
+        sha512 = "iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==";
       };
     };
-    "string.prototype.trimright-2.1.0" = {
+    "string.prototype.trimright-2.1.1" = {
       name = "string.prototype.trimright";
       packageName = "string.prototype.trimright";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
-        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
+        sha512 = "qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -4181,15 +4235,6 @@ let
         sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
       };
     };
-    "supports-color-4.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz";
-        sha512 = "Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==";
-      };
-    };
     "supports-color-5.5.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -4199,31 +4244,40 @@ let
         sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
-    "syncprompt-2.0.0" = {
-      name = "syncprompt";
-      packageName = "syncprompt";
-      version = "2.0.0";
+    "supports-color-7.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/syncprompt/-/syncprompt-2.0.0.tgz";
-        sha512 = "tPYCsLGWTDRlET7cen2iAwbmO+lSwfIdKoLkUPC41t/54UhqbzpwXL4RhODu5fQnmZdQZlEFKeD0W/BysU5WEg==";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz";
+        sha512 = "oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==";
       };
     };
-    "tar-4.4.10" = {
+    "tar-4.4.13" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.10";
+      version = "4.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz";
-        sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
-    "temp-0.8.3" = {
+    "temp-0.9.0" = {
       name = "temp";
       packageName = "temp";
-      version = "0.8.3";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz";
+        sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
+      };
+    };
+    "temp-0.9.1" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz";
-        sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59";
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
       };
     };
     "through-2.3.8" = {
@@ -4298,6 +4352,15 @@ let
         sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
       };
     };
+    "to-readable-stream-1.0.0" = {
+      name = "to-readable-stream";
+      packageName = "to-readable-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
+        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
+      };
+    };
     "to-regex-3.0.2" = {
       name = "to-regex";
       packageName = "to-regex";
@@ -4460,15 +4523,6 @@ let
         sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
       };
     };
-    "unzip-response-2.0.1" = {
-      name = "unzip-response";
-      packageName = "unzip-response";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
-        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
-      };
-    };
     "unzip-stream-0.3.0" = {
       name = "unzip-stream";
       packageName = "unzip-stream";
@@ -4478,15 +4532,6 @@ let
         sha512 = "NG1h/MdGIX3HzyqMjyj1laBCmlPYhcO4xEy7gEqqzGiSLw7XqDQCnY4nYSn5XSaH8mQ6TFkaujrO8d/PIZN85A==";
       };
     };
-    "upath-1.2.0" = {
-      name = "upath";
-      packageName = "upath";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
-        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
-      };
-    };
     "uri-js-4.2.2" = {
       name = "uri-js";
       packageName = "uri-js";
@@ -4505,15 +4550,6 @@ let
         sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
       };
     };
-    "url-parse-lax-1.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
-        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
-      };
-    };
     "url-parse-lax-3.0.0" = {
       name = "url-parse-lax";
       packageName = "url-parse-lax";
@@ -4640,13 +4676,13 @@ let
         sha512 = "obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==";
       };
     };
-    "vscode-uri-2.0.3" = {
+    "vscode-uri-2.1.1" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz";
-        sha512 = "4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.1.tgz";
+        sha512 = "eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A==";
       };
     };
     "walker-1.0.7" = {
@@ -4658,13 +4694,13 @@ let
         sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
       };
     };
-    "web-tree-sitter-0.15.9" = {
+    "web-tree-sitter-0.15.11" = {
       name = "web-tree-sitter";
       packageName = "web-tree-sitter";
-      version = "0.15.9";
+      version = "0.15.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.9.tgz";
-        sha512 = "1lf4lnmi8oxuEzI6gpUok2FQlHXOmV1iipltkQvmR785JWnUbjhw1sZnwSCkisQP+/g/aezpMGcW3mjz0uVhMw==";
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.11.tgz";
+        sha512 = "7Sr26MV8bPPvKU+4VMpOoLYwaAFBsCsxRGtxYPSxClWIaR2KIciqg6zUeG14W9QrdlpBt7VHHzhd1CBb0e6i8w==";
       };
     };
     "which-1.3.1" = {
@@ -4676,6 +4712,24 @@ let
         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
+    "which-2.0.1" = {
+      name = "which";
+      packageName = "which";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.1.tgz";
+        sha512 = "N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==";
+      };
+    };
+    "which-2.0.2" = {
+      name = "which";
+      packageName = "which";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
     "which-module-2.0.0" = {
       name = "which-module";
       packageName = "which-module";
@@ -4748,22 +4802,22 @@ let
         sha512 = "o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==";
       };
     };
-    "ws-7.1.2" = {
+    "ws-7.2.1" = {
       name = "ws";
       packageName = "ws";
-      version = "7.1.2";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz";
-        sha512 = "gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz";
+        sha512 = "sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==";
       };
     };
-    "xmlbuilder-8.2.2" = {
+    "xmlbuilder-13.0.2" = {
       name = "xmlbuilder";
       packageName = "xmlbuilder";
-      version = "8.2.2";
+      version = "13.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz";
-        sha1 = "69248673410b4ba42e1a6136551d2922335aa773";
+        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz";
+        sha512 = "Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==";
       };
     };
     "xtend-4.0.2" = {
@@ -4793,13 +4847,13 @@ let
         sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
       };
     };
-    "yallist-3.0.3" = {
+    "yallist-3.1.1" = {
       name = "yallist";
       packageName = "yallist";
-      version = "3.0.3";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
-        sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
     "yargs-13.3.0" = {
@@ -4820,13 +4874,13 @@ let
         sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
       };
     };
-    "yn-2.0.0" = {
+    "yn-3.1.1" = {
       name = "yn";
       packageName = "yn";
-      version = "2.0.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz";
-        sha1 = "e5adabc8acf408f6385fc76495684c88e6af689a";
+        url = "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz";
+        sha512 = "Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==";
       };
     };
   };
@@ -4835,349 +4889,138 @@ in
   elm-test = nodeEnv.buildNodePackage {
     name = "elm-test";
     packageName = "elm-test";
-    version = "0.19.0-rev6";
+    version = "0.19.1-revision2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev6.tgz";
-      sha512 = "Qdy9QusZF+eT0203XBiT1Y/UhFeUjcSuyyzf3iyp32dsYpAfcoDTWHjlBVjia1CyvFauESQ4pc81nKaq6snClg==";
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision2.tgz";
+      sha512 = "zVs2mVeyIE+K9y7/8b333h5xRMDWAoqbBDm7ThLDhyTi7ICxeL3t5uOS4KZCrRk9+4sP6+voSbcBlgr46Q+GiQ==";
     };
     dependencies = [
+      sources."@types/color-name-1.1.1"
       sources."ajv-6.10.2"
-      sources."ansi-styles-3.2.1"
-      (sources."anymatch-2.0.0" // {
-        dependencies = [
-          sources."normalize-path-2.1.1"
-        ];
-      })
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-unique-0.3.2"
+      sources."ansi-styles-4.2.1"
+      sources."anymatch-3.1.1"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
       sources."asynckit-0.4.0"
-      sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
-      sources."binary-extensions-1.13.1"
+      sources."binary-extensions-2.0.0"
       sources."binwrap-0.2.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.2" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
+      sources."braces-3.0.2"
       sources."buffers-0.1.1"
-      sources."cache-base-1.0.1"
       sources."caseless-0.12.0"
       sources."chainsaw-0.1.0"
-      sources."chalk-2.1.0"
-      (sources."chokidar-2.1.2" // {
-        dependencies = [
-          sources."fsevents-1.2.9"
-        ];
-      })
-      sources."chownr-1.1.2"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."chalk-3.0.0"
+      sources."chokidar-3.3.0"
+      sources."chownr-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
-      sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
-      sources."cross-spawn-4.0.0"
+      sources."cross-spawn-7.0.1"
       sources."dashdash-1.14.1"
-      sources."debug-2.6.9"
-      sources."decode-uri-component-0.2.0"
-      sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      sources."elmi-to-json-0.19.1"
-      sources."escape-string-regexp-1.0.5"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
+      sources."elmi-to-json-1.3.0"
       sources."extend-3.0.2"
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."find-elm-dependencies-2.0.1" // {
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fill-range-7.0.1"
+      (sources."find-elm-dependencies-2.0.2" // {
         dependencies = [
           sources."firstline-1.2.0"
         ];
       })
       sources."find-parent-dir-0.3.0"
-      sources."firstline-1.2.1"
-      sources."for-in-1.0.2"
+      sources."firstline-2.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
-      sources."fragment-cache-0.2.1"
-      sources."fs-extra-0.30.0"
-      sources."fs-minipass-1.2.6"
+      sources."fs-extra-8.1.0"
+      sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.4"
-      sources."get-value-2.0.6"
+      sources."fsevents-2.1.2"
       sources."getpass-0.1.7"
-      sources."glob-7.1.1"
-      (sources."glob-parent-3.1.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."glob-parent-5.1.0"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-flag-2.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."kind-of-4.0.0"
-        ];
-      })
+      sources."has-flag-4.0.0"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-binary-path-1.0.1"
-      sources."is-buffer-1.1.6"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-descriptor-1.0.2"
-      sources."is-extendable-1.0.1"
+      sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."is-plain-object-2.0.4"
+      sources."is-number-7.0.0"
       sources."is-typedarray-1.0.0"
-      sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
       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."jsonfile-2.4.0"
+      sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
-      sources."kind-of-6.0.2"
-      sources."klaw-1.3.1"
-      sources."lodash-4.17.11"
-      sources."lru-cache-4.1.5"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."lodash-4.17.15"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.5.1" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
-      sources."minizlib-1.2.2"
-      sources."mixin-deep-1.3.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."ms-2.0.0"
       sources."murmur-hash-js-1.0.0"
-      sources."mustache-3.1.0"
-      sources."nan-2.14.0"
-      sources."nanomatch-1.2.13"
-      sources."node-elm-compiler-5.0.3"
-      sources."normalize-path-3.0.0"
-      sources."oauth-sign-0.9.0"
-      (sources."object-copy-0.1.0" // {
+      sources."mustache-3.2.1"
+      sources."nice-try-1.0.5"
+      (sources."node-elm-compiler-5.0.4" // {
         dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
+          sources."cross-spawn-6.0.5"
+          sources."path-key-2.0.1"
+          sources."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."which-1.3.1"
         ];
       })
-      sources."object-visit-1.0.1"
-      sources."object.pick-1.3.0"
+      sources."normalize-path-3.0.0"
+      sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
-      sources."os-tmpdir-1.0.2"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."performance-now-2.1.0"
-      sources."posix-character-classes-0.1.1"
-      sources."process-nextick-args-2.0.1"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."picomatch-2.1.1"
+      sources."psl-1.7.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."readable-stream-2.3.6"
-      sources."readdirp-2.2.1"
-      sources."regex-not-1.0.2"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.3"
-      sources."repeat-string-1.6.1"
+      sources."readdirp-3.2.0"
       sources."request-2.88.0"
-      sources."request-promise-4.2.4"
-      sources."request-promise-core-1.1.2"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      (sources."rimraf-2.7.1" // {
-        dependencies = [
-          sources."glob-7.1.4"
-        ];
-      })
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
+      sources."request-promise-4.2.5"
+      sources."request-promise-core-1.1.3"
+      sources."rimraf-2.6.3"
+      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.2"
-      sources."source-map-url-0.4.0"
+      sources."semver-5.7.1"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."split-1.0.1"
-      sources."split-string-3.1.0"
       sources."sshpk-1.16.1"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."stealthy-require-1.1.1"
-      sources."string_decoder-1.1.1"
-      sources."supports-color-4.2.0"
-      (sources."tar-4.4.10" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
-      (sources."temp-0.8.3" // {
-        dependencies = [
-          sources."rimraf-2.2.8"
-        ];
-      })
+      sources."supports-color-7.1.0"
+      sources."tar-4.4.13"
+      sources."temp-0.9.1"
       sources."through-2.3.8"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-2.1.1"
+      sources."to-regex-range-5.0.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -5186,33 +5029,15 @@ in
       sources."traverse-0.3.9"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
+      sources."universalify-0.1.2"
       sources."unzip-stream-0.3.0"
-      sources."upath-1.2.0"
       sources."uri-js-4.2.2"
-      sources."urix-0.1.0"
-      sources."use-3.1.1"
-      sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
       sources."verror-1.10.0"
-      sources."which-1.3.1"
+      sources."which-2.0.1"
       sources."wrappy-1.0.2"
-      sources."xmlbuilder-8.2.2"
-      sources."yallist-2.1.2"
+      sources."xmlbuilder-13.0.2"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -5227,379 +5052,169 @@ in
   elm-verify-examples = nodeEnv.buildNodePackage {
     name = "elm-verify-examples";
     packageName = "elm-verify-examples";
-    version = "4.0.1";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.1.tgz";
-      sha512 = "YlkOLWIDnlgkKG8gnxQkKKJHkkx4MqyIXqjmYqvGPwatrPmLo46BJ2drOPHNIh43T7mh7c1K8vxrzV4seQtFUA==";
+      url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-5.0.0.tgz";
+      sha512 = "dAOv+U9hXZ0IRGx19mkpCAdf5rUwoJWlzFmcR2gvOzE/QjZUSlPh3e0IIDAfGUuEF8DjfE5CTe31fNtIkkd2rQ==";
     };
     dependencies = [
       sources."ajv-6.10.2"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
-      (sources."anymatch-2.0.0" // {
-        dependencies = [
-          sources."normalize-path-2.1.1"
-        ];
-      })
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-unique-0.3.2"
+      sources."anymatch-3.1.1"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
       sources."asynckit-0.4.0"
-      sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
-      sources."binary-extensions-1.13.1"
+      sources."binary-extensions-2.0.0"
       sources."binwrap-0.2.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.2" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
+      sources."braces-3.0.2"
       sources."buffers-0.1.1"
-      sources."cache-base-1.0.1"
       sources."camelcase-5.3.1"
       sources."caseless-0.12.0"
       sources."chainsaw-0.1.0"
       sources."chalk-2.4.2"
-      (sources."chokidar-2.1.2" // {
-        dependencies = [
-          sources."fsevents-1.2.9"
-        ];
-      })
-      sources."chownr-1.1.2"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
+      sources."chokidar-3.2.1"
+      sources."chownr-1.1.3"
       sources."cliui-5.0.0"
-      sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
-      sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
-      sources."cross-spawn-4.0.0"
+      (sources."cross-spawn-7.0.0" // {
+        dependencies = [
+          sources."which-1.3.1"
+        ];
+      })
       sources."dashdash-1.14.1"
-      sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."decode-uri-component-0.2.0"
-      sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      (sources."elm-test-0.19.0-rev6" // {
+      (sources."elm-test-0.19.1" // {
         dependencies = [
-          sources."chalk-2.1.0"
-          sources."fs-extra-0.30.0"
-          sources."has-flag-2.0.0"
-          sources."supports-color-4.2.0"
+          sources."fs-extra-8.1.0"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
         ];
       })
-      sources."elmi-to-json-0.19.1"
+      sources."elmi-to-json-1.2.0"
       sources."emoji-regex-7.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."extend-3.0.2"
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."find-elm-dependencies-2.0.1" // {
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fill-range-7.0.1"
+      (sources."find-elm-dependencies-2.0.2" // {
         dependencies = [
           sources."firstline-1.2.0"
         ];
       })
       sources."find-parent-dir-0.3.0"
       sources."find-up-3.0.0"
-      sources."firstline-1.2.1"
-      sources."for-in-1.0.2"
+      sources."firstline-2.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
-      sources."fragment-cache-0.2.1"
-      (sources."fs-extra-5.0.0" // {
-        dependencies = [
-          sources."jsonfile-4.0.0"
-        ];
-      })
-      sources."fs-minipass-1.2.6"
+      sources."fs-extra-5.0.0"
+      sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.4"
+      sources."fsevents-2.1.2"
       sources."get-caller-file-2.0.5"
-      sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.1"
-      (sources."glob-parent-3.1.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.4"
+      sources."glob-parent-5.1.0"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."kind-of-4.0.0"
-        ];
-      })
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-binary-path-1.0.1"
-      sources."is-buffer-1.1.6"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-descriptor-1.0.2"
-      sources."is-extendable-1.0.1"
+      sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."is-plain-object-2.0.4"
+      sources."is-number-7.0.0"
       sources."is-typedarray-1.0.0"
-      sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
       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."jsonfile-2.4.0"
+      sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
-      sources."kind-of-6.0.2"
-      sources."klaw-1.3.1"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.11"
-      sources."lru-cache-4.1.5"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."lodash-4.17.15"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.5.1" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
-      sources."minizlib-1.2.2"
-      sources."mixin-deep-1.3.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."ms-2.0.0"
       sources."murmur-hash-js-1.0.0"
-      sources."mustache-3.1.0"
-      sources."nan-2.14.0"
-      sources."nanomatch-1.2.13"
-      sources."node-elm-compiler-5.0.3"
-      sources."normalize-path-3.0.0"
-      sources."oauth-sign-0.9.0"
-      (sources."object-copy-0.1.0" // {
+      sources."mustache-3.2.1"
+      sources."nice-try-1.0.5"
+      (sources."node-elm-compiler-5.0.4" // {
         dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
+          sources."cross-spawn-6.0.5"
+          sources."path-key-2.0.1"
+          sources."which-1.3.1"
         ];
       })
-      sources."object-visit-1.0.1"
-      sources."object.pick-1.3.0"
+      sources."normalize-path-3.0.0"
+      sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
-      sources."os-tmpdir-1.0.2"
-      sources."p-limit-2.2.1"
+      sources."p-limit-2.2.2"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."performance-now-2.1.0"
-      sources."posix-character-classes-0.1.1"
-      sources."process-nextick-args-2.0.1"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."picomatch-2.1.1"
+      sources."psl-1.7.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."readable-stream-2.3.6"
-      sources."readdirp-2.2.1"
-      sources."regex-not-1.0.2"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.3"
-      sources."repeat-string-1.6.1"
+      sources."readdirp-3.1.3"
       sources."request-2.88.0"
-      sources."request-promise-4.2.4"
-      sources."request-promise-core-1.1.2"
+      sources."request-promise-4.2.5"
+      sources."request-promise-core-1.1.3"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      (sources."rimraf-2.7.1" // {
-        dependencies = [
-          sources."glob-7.1.4"
-        ];
-      })
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
+      sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.2"
-      sources."source-map-url-0.4.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
       sources."split-1.0.1"
-      sources."split-string-3.1.0"
       sources."sshpk-1.16.1"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."stealthy-require-1.1.1"
       sources."string-width-3.1.0"
-      sources."string_decoder-1.1.1"
       sources."strip-ansi-5.2.0"
       sources."supports-color-5.5.0"
-      (sources."tar-4.4.10" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
-      (sources."temp-0.8.3" // {
+      sources."tar-4.4.13"
+      (sources."temp-0.9.0" // {
         dependencies = [
-          sources."rimraf-2.2.8"
+          sources."rimraf-2.6.3"
         ];
       })
       sources."through-2.3.8"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-2.1.1"
+      sources."to-regex-range-5.0.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -5608,37 +5223,18 @@ in
       sources."traverse-0.3.9"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."universalify-0.1.2"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
       sources."unzip-stream-0.3.0"
-      sources."upath-1.2.0"
       sources."uri-js-4.2.2"
-      sources."urix-0.1.0"
-      sources."use-3.1.1"
-      sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
       sources."verror-1.10.0"
-      sources."which-1.3.1"
+      sources."which-2.0.1"
       sources."which-module-2.0.0"
       sources."wrap-ansi-5.1.0"
       sources."wrappy-1.0.2"
-      sources."xmlbuilder-8.2.2"
+      sources."xmlbuilder-13.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-2.1.2"
+      sources."yallist-3.1.1"
       sources."yargs-13.3.0"
       sources."yargs-parser-13.1.1"
     ];
@@ -5654,10 +5250,10 @@ in
   elm-doc-preview = nodeEnv.buildNodePackage {
     name = "elm-doc-preview";
     packageName = "elm-doc-preview";
-    version = "3.0.1";
+    version = "3.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-3.0.1.tgz";
-      sha512 = "NpAgEKNiYkQE932gMjFGC/BpcmUD9ohhrbSnGSoQBsC+VPRKCiGdmLJUiql/aPC2eXYIlWQJ5YJ5rFWI0iovbw==";
+      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-3.0.4.tgz";
+      sha512 = "tLobB4Kv4X/T+mkL4Tc5G1fqnBzvCqV7Pqx/f2sJIQtSTsJcktwI01U8poiBPoo8VwE7ZRuBmApSkl6XTzrymA==";
     };
     dependencies = [
       sources."@cnakazawa/watch-1.0.3"
@@ -5687,7 +5283,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."bser-2.1.0"
+      sources."bser-2.1.1"
       sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
@@ -5718,7 +5314,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."commander-3.0.1"
+      sources."commander-3.0.2"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.3"
@@ -5726,7 +5322,7 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.2.1"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-6.0.5"
       sources."debug-2.6.9"
@@ -5740,13 +5336,13 @@ in
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."end-of-stream-1.4.4"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
-      sources."exec-sh-0.3.2"
+      sources."exec-sh-0.3.4"
       (sources."execa-1.0.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
@@ -5787,7 +5383,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."fb-watchman-2.0.0"
+      sources."fb-watchman-2.0.1"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -5803,12 +5399,12 @@ in
       sources."function-bind-1.1.1"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."got-8.3.2"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -5826,9 +5422,9 @@ in
       sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       (sources."is-number-3.0.0" // {
@@ -5839,10 +5435,10 @@ in
       sources."is-object-1.0.1"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
@@ -5862,8 +5458,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -5880,7 +5476,6 @@ in
       sources."normalize-path-2.1.1"
       sources."normalize-url-2.0.1"
       sources."npm-run-path-2.0.2"
-      sources."npx-10.2.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -5895,10 +5490,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
@@ -5992,7 +5588,7 @@ in
       })
       sources."sort-keys-2.0.0"
       sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.2"
+      sources."source-map-resolve-0.5.3"
       sources."source-map-url-0.4.0"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
@@ -6014,8 +5610,8 @@ in
       })
       sources."statuses-1.5.0"
       sources."strict-uri-encode-1.1.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
@@ -6070,64 +5666,64 @@ in
   elm-upgrade = nodeEnv.buildNodePackage {
     name = "elm-upgrade";
     packageName = "elm-upgrade";
-    version = "0.19.6";
+    version = "0.19.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.6.tgz";
-      sha512 = "i7+z/6uAqKxOUD58nwyAJJGUCNKG7/wTBY1qBanveFSaQuX5vrfhQNH/3NWIGCufGoW3QEyADGhaLhAxNPVs5Q==";
+      url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.7.tgz";
+      sha512 = "/BFMWGJ0SmoFzsYb7QwKUZ7kfdimllVkRO51NokYCj9ehAts5TnuG+GLHsmVCJh1mGL4Qc0D4cgeleEwDgoCAQ==";
     };
     dependencies = [
-      sources."balanced-match-1.0.0"
-      sources."bindings-1.5.0"
-      sources."brace-expansion-1.1.11"
-      sources."capture-stack-trace-1.0.1"
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.1.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       sources."caw-2.0.1"
-      sources."concat-map-0.0.1"
+      sources."clone-response-1.0.2"
       sources."config-chain-1.1.12"
-      sources."create-error-class-3.0.2"
+      sources."decompress-response-3.3.0"
+      sources."defer-to-connect-1.1.1"
       sources."duplexer3-0.1.4"
-      sources."file-uri-to-path-1.0.0"
-      sources."fs-extra-0.30.0"
-      sources."fs.realpath-1.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."fs-extra-8.1.0"
       sources."get-proxy-2.1.0"
-      sources."get-stream-3.0.0"
-      sources."glob-7.1.4"
-      sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."get-stream-4.1.0"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.3"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
+      sources."http-cache-semantics-4.0.3"
       sources."ini-1.3.5"
       sources."is-object-1.0.1"
-      sources."is-redirect-1.0.0"
-      sources."is-retry-allowed-1.2.0"
-      sources."is-stream-1.1.0"
       sources."isexe-2.0.0"
       sources."isurl-1.0.0"
-      sources."jsonfile-2.4.0"
-      sources."klaw-1.3.1"
+      sources."json-buffer-3.0.0"
+      sources."jsonfile-4.0.0"
+      sources."keyv-3.1.0"
       sources."lowercase-keys-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."nan-2.14.0"
+      sources."mimic-response-1.0.1"
+      sources."normalize-url-4.5.0"
       sources."npm-conf-1.1.3"
       sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
+      sources."p-cancelable-1.1.0"
       sources."pify-3.0.0"
-      sources."prepend-http-1.0.4"
+      sources."prepend-http-2.0.0"
       sources."proto-list-1.2.4"
-      sources."rimraf-2.7.1"
+      sources."pump-3.0.0"
+      sources."responselike-1.0.2"
       sources."safe-buffer-5.2.0"
       sources."safename-1.0.2"
-      sources."semver-5.7.1"
-      sources."syncprompt-2.0.0"
-      sources."timed-out-4.0.1"
+      sources."semver-6.3.0"
+      sources."to-readable-stream-1.0.0"
       sources."tunnel-agent-0.6.0"
-      sources."unzip-response-2.0.1"
-      sources."url-parse-lax-1.0.0"
+      sources."universalify-0.1.2"
+      sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."yn-2.0.0"
+      sources."yn-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -6139,13 +5735,13 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "elm-analyse-0.16.3" = nodeEnv.buildNodePackage {
+  elm-analyse = nodeEnv.buildNodePackage {
     name = "elm-analyse";
     packageName = "elm-analyse";
-    version = "0.16.3";
+    version = "0.16.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.3.tgz";
-      sha512 = "JFlGT0d6v3EPk1UnB5xb6VYWrKzwGD76wBwr2R0xwA3T6Rju7zEnzfs8LiBo+b3gSH5cmRDfnK9BLRFiosWEfQ==";
+      url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.5.tgz";
+      sha512 = "I7dgGFOc+mYDcDuyo1/HcIn3E5MiMbocStNzivsPSjCUviuEieHdDKZmJJ9uM3IdCu0fdBmRNWQBSOXtXrgzKg==";
     };
     dependencies = [
       sources."accepts-1.3.7"
@@ -6156,11 +5752,11 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.18.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."body-parser-1.18.2"
-      sources."bytes-3.0.0"
+      sources."body-parser-1.19.0"
+      sources."bytes-3.1.0"
       sources."caseless-0.12.0"
       sources."combined-stream-1.0.8"
       sources."concat-stream-1.5.2"
@@ -6168,7 +5764,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
@@ -6180,7 +5776,24 @@ in
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.16.3"
+      (sources."express-4.16.3" // {
+        dependencies = [
+          sources."body-parser-1.18.2"
+          sources."bytes-3.0.0"
+          sources."http-errors-1.6.3"
+          sources."iconv-lite-0.4.19"
+          sources."qs-6.5.1"
+          (sources."raw-body-2.3.2" // {
+            dependencies = [
+              sources."depd-1.1.1"
+              sources."http-errors-1.6.2"
+              sources."setprototypeof-1.0.3"
+            ];
+          })
+          sources."setprototypeof-1.1.0"
+          sources."statuses-1.4.0"
+        ];
+      })
       (sources."express-ws-2.0.0" // {
         dependencies = [
           sources."ws-1.1.5"
@@ -6189,8 +5802,12 @@ in
       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."finalhandler-1.1.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      (sources."finalhandler-1.1.1" // {
+        dependencies = [
+          sources."statuses-1.4.0"
+        ];
+      })
       sources."find-0.2.7"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -6198,12 +5815,12 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."http-errors-1.6.3"
+      sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.19"
+      sources."iconv-lite-0.4.24"
       sources."inherits-2.0.3"
       sources."ipaddr.js-1.9.0"
       sources."is-stream-1.1.0"
@@ -6217,13 +5834,13 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
       sources."jsprim-1.4.1"
-      sources."lodash-4.17.11"
+      sources."lodash-4.17.15"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -6239,17 +5856,11 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-1.0.7"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.7.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.1"
+      sources."qs-6.7.0"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-          sources."http-errors-1.6.2"
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."raw-body-2.4.0"
       sources."readable-stream-2.0.6"
       sources."regenerator-runtime-0.9.6"
       (sources."request-2.88.0" // {
@@ -6260,15 +5871,22 @@ in
       })
       sources."safe-buffer-5.1.1"
       sources."safer-buffer-2.1.2"
-      sources."send-0.16.2"
+      (sources."send-0.16.2" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
+          sources."statuses-1.4.0"
+        ];
+      })
       sources."serve-static-1.13.2"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       sources."sshpk-1.16.1"
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."sums-0.2.4"
       sources."through2-2.0.1"
       sources."tmp-0.0.31"
+      sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -6306,15 +5924,15 @@ in
   elm-live = nodeEnv.buildNodePackage {
     name = "elm-live";
     packageName = "elm-live";
-    version = "4.0.0";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-live/-/elm-live-4.0.0.tgz";
-      sha512 = "Yf6afXvBnghRZkefxgXCf/KjCm3DlwT6lfTrjLSc5v0I0VXE2Rc5T9iqXihjg3alh9t8NwDVLL+/py8PkkdC9Q==";
+      url = "https://registry.npmjs.org/elm-live/-/elm-live-4.0.1.tgz";
+      sha512 = "IlonaC1pO/QoXlOrwwrJaxyvpJAT8QDSfzenkChbhU1PC1fJetkj2TwZfki+y1ZxpSMTnMSomMraOdWA6DO3VQ==";
     };
     dependencies = [
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
-      sources."anymatch-3.1.0"
+      sources."anymatch-3.1.1"
       sources."async-limiter-1.0.1"
       sources."binary-extensions-2.0.0"
       sources."braces-3.0.2"
@@ -6332,7 +5950,7 @@ in
       sources."ee-first-1.1.1"
       sources."elm-hot-1.1.1"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."es6-promisify-6.0.2"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -6352,9 +5970,9 @@ in
         ];
       })
       sources."fresh-0.5.2"
-      sources."fsevents-2.0.7"
+      sources."fsevents-2.1.2"
       sources."get-stream-4.1.0"
-      sources."glob-parent-5.0.0"
+      sources."glob-parent-5.1.0"
       sources."has-ansi-2.0.0"
       sources."http-errors-1.7.3"
       sources."http-proxy-1.17.0"
@@ -6385,11 +6003,11 @@ in
       sources."parseurl-1.3.3"
       sources."path-key-2.0.1"
       sources."pem-1.14.2"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."range-parser-1.2.1"
-      sources."readdirp-3.1.2"
+      sources."readdirp-3.3.0"
       sources."requires-port-1.0.0"
       sources."semver-5.7.1"
       (sources."send-0.17.1" // {
@@ -6428,16 +6046,17 @@ in
   elm-xref = nodeEnv.buildNodePackage {
     name = "elm-xref";
     packageName = "elm-xref";
-    version = "4.0.0";
+    version = "4.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.0.0.tgz";
-      sha512 = "9AjXLkznJBVLHHO+KErcgFMKeXe3tcudjj3PYIH6gWXG6W3PT+HF+t2zCflvgFPlhJO5H/wQCCo4rfCApltBzg==";
+      url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.1.0.tgz";
+      sha512 = "23nVGYsArS2DZ0RnFq6cKYO49pCjuLULhM+fvBcfA7ZIbKSw5WkDyK9c5hlQEm+JZAPZ43PNcI0yLzTEqaajiA==";
     };
     dependencies = [
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
+      sources."compare-versions-3.5.1"
       sources."core-util-is-1.0.2"
       sources."fs-extra-6.0.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."jsonfile-4.0.0"
@@ -6446,9 +6065,13 @@ in
       sources."process-nextick-args-2.0.1"
       sources."readable-stream-2.3.6"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       sources."semver-regex-1.0.0"
-      sources."semver-sort-0.0.4"
+      (sources."semver-sort-0.0.4" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       sources."string_decoder-1.1.1"
       sources."through2-2.0.5"
       sources."universalify-0.1.2"
@@ -6468,19 +6091,19 @@ in
   "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage {
     name = "_at_elm-tooling_slash_elm-language-server";
     packageName = "@elm-tooling/elm-language-server";
-    version = "1.4.1";
+    version = "1.4.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-1.4.1.tgz";
-      sha512 = "gzN/ee5JfQmg/+2xFq49zRN62ZFeMTu5A0unwQpOf3qLZa8Rz7no6OIaCnl6nEkNsaoAjvZxv1aFJOd2TtNtFw==";
+      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-1.4.6.tgz";
+      sha512 = "Cf1atW2nqZtDgyPFug0c9qo3A1a1mtTtKHRr3jGpIQnp8eb99kbPkERI3xFcbgyhgBOygVd3g282Y8jGawHbdA==";
     };
     dependencies = [
-      sources."@nodelib/fs.scandir-2.1.2"
-      sources."@nodelib/fs.stat-2.0.2"
-      sources."@nodelib/fs.walk-1.2.3"
+      sources."@nodelib/fs.scandir-2.1.3"
+      sources."@nodelib/fs.stat-2.0.3"
+      sources."@nodelib/fs.walk-1.2.4"
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.2"
       sources."accepts-1.3.7"
       sources."ajv-6.10.2"
       sources."array-flatten-1.1.1"
@@ -6490,7 +6113,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.18.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
@@ -6506,9 +6129,9 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
-      sources."cross-spawn-6.0.5"
+      sources."cross-spawn-7.0.1"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."delayed-stream-1.0.0"
@@ -6524,10 +6147,10 @@ in
         ];
       })
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."execa-2.0.4" // {
+      (sources."execa-3.4.0" // {
         dependencies = [
           sources."is-stream-2.0.0"
         ];
@@ -6542,8 +6165,8 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.0.4"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-glob-3.1.1"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.6.0"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.1"
@@ -6556,14 +6179,15 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-stream-5.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."glob-parent-5.0.0"
+      sources."glob-7.1.6"
+      sources."glob-parent-5.1.0"
       sources."globby-10.0.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
+      sources."human-signals-1.1.1"
       sources."iconv-lite-0.4.19"
       sources."ignore-5.1.4"
       sources."inflight-1.0.6"
@@ -6592,20 +6216,15 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
-      sources."nice-try-1.0.5"
       sources."node-watch-0.5.5"
-      (sources."npm-run-path-3.1.0" // {
-        dependencies = [
-          sources."path-key-3.1.0"
-        ];
-      })
+      sources."npm-run-path-4.0.1"
       sources."oauth-sign-0.9.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
@@ -6617,14 +6236,15 @@ in
       sources."p-finally-2.0.1"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-2.0.1"
+      sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
+      sources."pjson-1.0.9"
       sources."process-nextick-args-1.0.7"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.7.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.1"
@@ -6646,15 +6266,14 @@ in
       })
       sources."reusify-1.0.4"
       sources."run-parallel-1.1.9"
-      sources."rxjs-6.5.3"
+      sources."rxjs-6.5.4"
       sources."safe-buffer-5.1.1"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.7.1"
       sources."send-0.16.2"
       sources."serve-static-1.13.2"
       sources."setprototypeof-1.1.0"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
       sources."slash-3.0.0"
       sources."sshpk-1.16.1"
@@ -6692,11 +6311,11 @@ in
       })
       sources."vscode-languageserver-protocol-3.14.1"
       sources."vscode-languageserver-types-3.14.0"
-      sources."vscode-uri-2.0.3"
-      sources."web-tree-sitter-0.15.9"
-      sources."which-1.3.1"
+      sources."vscode-uri-2.1.1"
+      sources."web-tree-sitter-0.15.11"
+      sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-7.1.2"
+      sources."ws-7.2.1"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
diff --git a/nixpkgs/pkgs/development/compilers/elm/registry.dat b/nixpkgs/pkgs/development/compilers/elm/registry.dat
new file mode 100644
index 000000000000..14fcb12a7460
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/elm/registry.dat
Binary files differdiff --git a/nixpkgs/pkgs/development/compilers/elm/update.sh b/nixpkgs/pkgs/development/compilers/elm/update.sh
index 920b95e5ad95..c2500b462adf 100755
--- a/nixpkgs/pkgs/development/compilers/elm/update.sh
+++ b/nixpkgs/pkgs/development/compilers/elm/update.sh
@@ -1,8 +1,9 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -p cabal2nix elm2nix -i bash ../../..
 
-cabal2nix https://github.com/elm/compiler --revision d5cbc41aac23da463236bbc250933d037da4055a > packages/elm.nix
-elm2nix snapshot > versions.dat
-pushd "$(nix-build -A elmPackages.elm.src --no-out-link ../../../..)/ui/browser"
+cabal2nix https://github.com/elm/compiler --revision c9aefb6230f5e0bda03205ab0499f6e4af924495 > packages/elm.nix
+echo "need to manually copy registry.dat from an existing elm project"
+#elm2nix snapshot > registry.dat
+pushd "$(nix-build -A elmPackages.elm.src --no-out-link ../../../..)/reactor"
   elm2nix convert > $OLDPWD/packages/elm-srcs.nix
 popd
diff --git a/nixpkgs/pkgs/development/compilers/elm/versions.dat b/nixpkgs/pkgs/development/compilers/elm/versions.dat
deleted file mode 100644
index 9dcfd8a2808f..000000000000
--- a/nixpkgs/pkgs/development/compilers/elm/versions.dat
+++ /dev/null
Binary files differdiff --git a/nixpkgs/pkgs/development/compilers/eql/default.nix b/nixpkgs/pkgs/development/compilers/eql/default.nix
index cb960227bebe..aac619126896 100644
--- a/nixpkgs/pkgs/development/compilers/eql/default.nix
+++ b/nixpkgs/pkgs/development/compilers/eql/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ecl qt4 xorgserver xkbcomp xkeyboard_config ];
 
-  NIX_CFLAGS_COMPILE = [ "-fPIC" ];
+  NIX_CFLAGS_COMPILE = "-fPIC";
 
   postPatch = ''
     sed -re 's@[(]in-home "gui/.command-history"[)]@(concatenate '"'"'string (ext:getenv "HOME") "/.eql-gui-command-history")@' -i gui/gui.lisp
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/default.nix b/nixpkgs/pkgs/development/compilers/factor-lang/default.nix
index ef445faec923..314a2d0fc525 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/fasm/bin.nix b/nixpkgs/pkgs/development/compilers/fasm/bin.nix
index 5353862424a0..135bae2daf4b 100644
--- a/nixpkgs/pkgs/development/compilers/fasm/bin.nix
+++ b/nixpkgs/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.16";
+  version = "1.73.21";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k";
+    sha256 = "143zh7x3q0r2kclshh8n5w4i5pw4lh60si7rspvc725xxjpjkvcv";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/compilers/fpc/default.nix b/nixpkgs/pkgs/development/compilers/fpc/default.nix
index a2b73f61c279..7bddafc6ff59 100644
--- a/nixpkgs/pkgs/development/compilers/fpc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fpc/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
       sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
     '' else "";
 
-  makeFlags = "NOGDB=1 FPC=${startFPC}/bin/fpc";
+  makeFlags = [ "NOGDB=1" "FPC=${startFPC}/bin/fpc" ];
 
-  installFlags = "INSTALL_PREFIX=\${out}";
+  installFlags = [ "INSTALL_PREFIX=\${out}" ];
 
   postInstall = ''
     for i in $out/lib/fpc/*/ppc*; do
diff --git a/nixpkgs/pkgs/development/compilers/fstar/default.nix b/nixpkgs/pkgs/development/compilers/fstar/default.nix
index 9306eec817f9..533140631a54 100644
--- a/nixpkgs/pkgs/development/compilers/fstar/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fstar/default.nix
@@ -25,12 +25,12 @@ stdenv.mkDerivation rec {
     patchShebangs src/tools
     patchShebangs bin
   '';
-  buildFlags = "-C src/ocaml-output";
+  buildFlags = [ "-C" "src/ocaml-output" ];
 
   preInstall = ''
     mkdir -p $out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/fstarlib
   '';
-  installFlags = "-C src/ocaml-output";
+  installFlags = [ "-C" "src/ocaml-output" ];
   postInstall = ''
     wrapProgram $out/bin/fstar.exe --prefix PATH ":" "${z3}/bin"
   '';
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index 940dec0338ca..f635fce972f5 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchurl, ncurses5, python27 }:
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "6-2017-q2-update";
   subdir = "6-2017q2";
 
-  src =
-    if stdenv.isLinux then
-      fetchurl {
-        url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-        sha256="1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6";
-      }
-    else if stdenv.isDarwin then
-      fetchurl {
-        url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-        sha256="0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x";
-      }
-    else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x";
+      x86_64-linux  = "1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -37,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
-    license = with stdenv.lib.licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
-    maintainers = with stdenv.lib.maintainers; [ vinymeuh ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index 90f9d5957bb3..4944038fde41 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, lib, fetchurl, ncurses5, python27 }:
-
-with lib;
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "7-2018-q2-update";
   subdir = "7-2018q2";
 
-  src =
-  if stdenv.isLinux then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-      sha256="0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv";
-    }
-  else if stdenv.isDarwin then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-      sha256="0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61";
-    }
-  else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61";
+      x86_64-linux  = "0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -39,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index b2815cc71849..510889dad621 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, lib, fetchurl, ncurses5, python27 }:
-
-with lib;
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "8-2019-q3-update";
   subdir = "8-2019q3/RC1.1";
 
-  src =
-  if stdenv.isLinux then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-      sha256="b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92";
-    }
-  else if stdenv.isDarwin then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-      sha256="fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085";
-    }
-  else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085";
+      x86_64-linux  = "b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -39,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
new file mode 100644
index 000000000000..8ded47d6e370
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gcc-arm-embedded";
+  version = "9-2019-q4-major";
+  subdir = "9-2019q4/RC2.1";
+
+  suffix = {
+    aarch64-linux = "aarch64-linux";
+    x86_64-darwin = "mac";
+    x86_64-linux  = "x86_64-linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      aarch64-linux = "1f5b9309006737950b2218250e6bb392e2d68d4f1a764fe66be96e2a78888d83";
+      x86_64-darwin = "1249f860d4155d9c3ba8f30c19e7a88c5047923cea17e0d08e633f12408f01f0";
+      x86_64-linux  = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r * $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
+  '';
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  preFixup = ''
+    find $out -type f | while read f; do
+      patchelf $f > /dev/null 2>&1 || continue
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
+      patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix
deleted file mode 100644
index b86b35525a67..000000000000
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses
-, dirName ? null, subdirName ? null }:
-with stdenv.lib;
-let
-  versionParts = splitString "-" version; # 4.7 2013q3 20130916
-  majorVersion = elemAt versionParts 0; # 4.7
-  yearQuarter = elemAt versionParts 1; # 2013q3
-  underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916
-  yearQuarterParts = splitString "q" yearQuarter; # 2013 3
-  year = elemAt yearQuarterParts 0; # 2013
-  quarter = elemAt yearQuarterParts 1; # 3
-  dirName_ = if dirName != null then dirName else majorVersion;
-  subdirName_ = if subdirName != null then subdirName
-    else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
-in
-stdenv.mkDerivation {
-  pname = "gcc-arm-embedded";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
-    sha256 = sha256;
-  };
-
-  nativeBuildInputs = [ bzip2 patchelf ];
-
-  dontPatchELF = true;
-
-  phases = "unpackPhase patchPhase installPhase";
-
-  installPhase = ''
-    mkdir -pv $out
-    cp -r ./* $out
-    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
-
-    for f in $(find $out); do
-      if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
-        patchelf --set-interpreter ${getLib glibc}/lib/ld-linux.so.2 \
-                 --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" gcc ncurses ]} \
-                 "$f" || true
-      fi
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)";
-    homepage = https://launchpad.net/gcc-arm-embedded;
-    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
-    maintainers = [ maintainers.rasendubi ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix b/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix
index 06c2aa838c5a..ef697b74bbe3 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -47,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "4.8.5";
+let majorVersion = "4";
+    version = "${majorVersion}.8.5";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -96,69 +102,8 @@ let version = "4.8.5";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -166,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;
 
@@ -232,108 +178,54 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-    optionals (cloog != null) [
-      "--with-cloog=${cloog}"
-      "--disable-cloog-version-check"
-      "--enable-cloog-backend=isl"
-    ] ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+      cloog
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -366,24 +258,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix b/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix
index ebcf20d4e099..2f85fc4b7e8c 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -47,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "4.9.4";
+let majorVersion = "4";
+    version = "${majorVersion}.9.4";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -101,72 +107,8 @@ let version = "4.9.4";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -174,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;
 
@@ -241,112 +184,54 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    sed -i -e "s/-lrt//g" libstdc++-v3/configure
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  ''
-  + stdenv.lib.optionalString (langJava || langGo) ''
-    export lib=$out;
-  '';
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-    optionals (cloog != null) [
-      "--with-cloog=${cloog}"
-      "--disable-cloog-version-check"
-      "--enable-cloog-backend=isl"
-    ] ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+      cloog
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -379,24 +264,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/5/default.nix b/nixpkgs/pkgs/development/compilers/gcc/5/default.nix
index 0adedb6f8420..f68ddc81f81f 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/5/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/5/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -45,10 +47,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "5.5.0";
+let majorVersion = "5";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -61,6 +67,10 @@ let version = "5.5.0";
       ++ optional stdenv.hostPlatform.isMusl (fetchpatch {
         url = https://raw.githubusercontent.com/richfelker/musl-cross-make/e84b1bd1fc12a3def33111ca6df522cd6e5ec361/patches/gcc-5.3.0/0001-musl.diff;
         sha256 = "0pppbf8myi2kjhm3z3479ihn1cm60kycfv60gj8yy1bs0pl1qcfm";
+      })
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "074bl5n27d1ksa31pvzj4vd8xd46r118k0w94gdv3s1vydg7mah0";
       });
 
     javaEcj = fetchurl {
@@ -88,72 +98,8 @@ let version = "5.5.0";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -161,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;
 
@@ -247,111 +194,55 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -384,24 +275,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
index 959b5e62381e..b1a981cfdf7f 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -7,7 +7,9 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , 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)
@@ -23,6 +25,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -45,10 +48,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "6.5.0";
+let majorVersion = "6";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -58,7 +65,10 @@ let version = "6.5.0";
       ++ optional noSysDirs ../no-sys-dirs.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
-      ;
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1c449jgm1vx9g4kv82bxmvlgrwb8f6kwkl0gqmjlmhf7f4hjy2nr";
+      });
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -85,74 +95,8 @@ let version = "6.5.0";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -160,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";
   };
@@ -229,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 =
@@ -251,114 +202,55 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  ''
-  + stdenv.lib.optionalString (langJava || langGo) ''
-    export lib=$out;
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -391,24 +283,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc/7/default.nix
index 68c05d289784..22d772cff6d6 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/7/default.nix
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -34,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "7.4.0";
+let majorVersion = "7";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -58,90 +64,28 @@ let version = "7.4.0";
       })
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
-      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
+      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            # No final libdecnumber (it may work only in 386)
-            "--disable-decimal-float"
-          ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    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;
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd";
+    sha256 = "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq";
   };
 
   inherit patches;
@@ -227,101 +171,57 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-    ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  } ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
     ++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
   ;
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -341,24 +241,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/8/default.nix b/nixpkgs/pkgs/development/compilers/gcc/8/default.nix
index e25c7b6016af..c6b785f84a4e 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/8/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -34,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "8.3.0";
+let majorVersion = "8";
+    version = "${majorVersion}.3.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -50,83 +56,22 @@ let version = "8.3.0";
       }) */
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
-      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
+      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -218,96 +163,52 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -327,24 +228,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
@@ -378,9 +268,6 @@ stdenv.mkDerivation ({
       stdenv.lib.platforms.freebsd ++
       stdenv.lib.platforms.illumos ++
       stdenv.lib.platforms.darwin;
-
-    # See #40038
-    broken = stdenv.isDarwin;
   };
 }
 
diff --git a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
index de4d893b99e2..7ff8d7529ca3 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -34,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "9.2.0";
+let majorVersion = "9";
+    version = "${majorVersion}.2.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -49,83 +55,22 @@ let version = "9.2.0";
         sha256 = ""; # TODO: uncomment and check hash when available.
       }) */
       ++ optional langFortran ../gfortran-driving.patch
-      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch;
+      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -217,96 +162,52 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
 
-  installTargets =
-    if stripped
-    then "install-strip"
-    else "install";
+  installTargets = optional stripped "install-strip";
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -326,24 +227,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix b/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix
new file mode 100644
index 000000000000..aa0fcb506289
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -0,0 +1,174 @@
+{ stdenv
+, targetPackages
+
+, crossStageStatic, libcCross
+, version
+
+, gmp, mpfr, libmpc, libelf, isl
+, cloog ? null
+
+, enableLTO
+, enableMultilib
+, enablePlugin
+, enableShared
+
+, langC
+, langCC
+, langFortran
+, langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null
+, langGo
+, langObjC
+, langObjCpp
+}:
+
+assert cloog != null -> stdenv.lib.versionOlder version "5";
+assert langJava -> stdenv.lib.versionOlder version "7";
+
+let
+  inherit (stdenv)
+    buildPlatform hostPlatform targetPlatform
+    lib;
+
+  crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+  crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
+
+  crossConfigureFlags =
+    # Ensure that -print-prog-name is able to find the correct programs.
+    [
+      "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
+      "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld"
+    ]
+    ++ (if crossStageStatic then [
+      "--disable-libssp"
+      "--disable-nls"
+      "--without-headers"
+      "--disable-threads"
+      "--disable-libgomp"
+      "--disable-libquadmath"
+      "--disable-shared"
+      "--disable-libatomic" # requires libc
+      "--disable-decimal-float" # requires libc
+      "--disable-libmpx" # requires libc
+    ] ++ lib.optionals crossMingw [
+      "--with-headers=${lib.getDev libcCross}/include"
+      "--with-gcc"
+      "--with-gnu-as"
+      "--with-gnu-ld"
+      "--disable-debug"
+      "--enable-sjlj-exceptions"
+      "--disable-win32-registry"
+    ] else [
+      (if crossDarwin then "--with-sysroot=${lib.getLib libcCross}/share/sysroot"
+       else                "--with-headers=${lib.getDev libcCross}${libcCross.incdir or "/include"}")
+      "--enable-__cxa_atexit"
+      "--enable-long-long"
+      "--enable-threads=${if targetPlatform.isUnix then "posix"
+                          else if targetPlatform.isWindows then "mcf"
+                          else "single"}"
+      "--enable-nls"
+      "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
+    ] ++ lib.optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
+      # libsanitizer requires netrom/netrom.h which is not
+      # available in uclibc.
+      "--disable-libsanitizer"
+      # In uclibc cases, libgomp needs an additional '-ldl'
+      # and as I don't know how to pass it, I disable libgomp.
+      "--disable-libgomp"
+    ] ++ lib.optionals (targetPlatform.libc == "musl") [
+      # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
+      "--disable-libmpx"
+    ] ++ lib.optionals crossMingw [
+      "--enable-sjlj-exceptions"
+      "--enable-hash-synchronization"
+      "--enable-libssp"
+      "--disable-nls"
+      "--with-dwarf2"
+      # To keep ABI compatibility with upstream mingw-w64
+      "--enable-fully-dynamic-string"
+    ] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib"
+      ++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
+    );
+
+  configureFlags =
+    # Basic dependencies
+    [
+      "--with-gmp-include=${gmp.dev}/include"
+      "--with-gmp-lib=${gmp.out}/lib"
+      "--with-mpfr-include=${mpfr.dev}/include"
+      "--with-mpfr-lib=${mpfr.out}/lib"
+      "--with-mpc=${libmpc}"
+    ]
+    ++ lib.optional (libelf != null) "--with-libelf=${libelf}"
+    ++ lib.optional (!(crossMingw && crossStageStatic))
+      "--with-native-system-header-dir=${lib.getDev stdenv.cc.libc}/include"
+
+    # Basic configuration
+    ++ [
+      (lib.enableFeature enableLTO "lto")
+      "--disable-libstdcxx-pch"
+      "--without-included-gettext"
+      "--with-system-zlib"
+      "--enable-static"
+      "--enable-languages=${
+        lib.concatStrings (lib.intersperse ","
+          (  lib.optional langC        "c"
+          ++ lib.optional langCC       "c++"
+          ++ lib.optional langFortran  "fortran"
+          ++ lib.optional langJava     "java"
+          ++ lib.optional langGo       "go"
+          ++ lib.optional langObjC     "objc"
+          ++ lib.optional langObjCpp   "obj-c++"
+          ++ lib.optionals crossDarwin [ "objc" "obj-c++" ]
+          )
+        )
+      }"
+    ]
+
+    ++ (if (enableMultilib || targetPlatform.isAvr)
+      then ["--enable-multilib" "--disable-libquadmath"]
+      else ["--disable-multilib"])
+    ++ lib.optional (!enableShared) "--disable-shared"
+    ++ [
+      (lib.enableFeature enablePlugin "plugin")
+    ]
+
+    # Optional features
+    ++ lib.optional (isl != null) "--with-isl=${isl}"
+    ++ lib.optionals (cloog != null) [
+      "--with-cloog=${cloog}"
+      "--disable-cloog-version-check"
+      "--enable-cloog-backend=isl"
+    ]
+
+    # Java options
+    ++ lib.optionals langJava [
+      "--with-ecj-jar=${javaEcj}"
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home"
+      "--with-java-home=\${prefix}/lib/jvm/jre"
+    ]
+    ++ lib.optional javaAwtGtk "--enable-java-awt=gtk"
+    ++ lib.optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}"
+
+    ++ (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; })
+    ++ lib.optionals (targetPlatform != hostPlatform) crossConfigureFlags
+    ++ lib.optional (targetPlatform != hostPlatform) "--disable-bootstrap"
+
+    # Platform-specific flags
+    ++ lib.optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
+    ++ lib.optionals hostPlatform.isSunOS [
+      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
+      # On Illumos/Solaris GNU as is preferred
+      "--with-gnu-as" "--without-gnu-ld"
+    ]
+    ++ lib.optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
+      "--disable-libsanitizer"
+      "--disable-symvers"
+      "libat_cv_have_ifunc=no"
+      "--disable-gnu-indirect-function"
+    ]
+  ;
+
+in configureFlags
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/extra-target-flags.nix b/nixpkgs/pkgs/development/compilers/gcc/common/extra-target-flags.nix
new file mode 100644
index 000000000000..bce9a8d47381
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/extra-target-flags.nix
@@ -0,0 +1,30 @@
+{ stdenv, crossStageStatic, libcCross, threadsCross }:
+
+let
+  inherit (stdenv) lib hostPlatform targetPlatform;
+in
+
+{
+  EXTRA_TARGET_FLAGS = let
+      mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
+        "-idirafter ${lib.getDev dep}${dep.incdir or "/include"}"
+      ] ++ stdenv.lib.optionals (! crossStageStatic) [
+        "-B${lib.getLib dep}${dep.libdir or "/lib"}"
+      ]);
+    in mkFlags libcCross
+    ++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
+    ;
+
+  EXTRA_TARGET_LDFLAGS = let
+      mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
+        "-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}"
+      ] ++ (if crossStageStatic then [
+          "-B${lib.getLib dep}${dep.libdir or "/lib"}"
+        ] else [
+          "-Wl,-rpath,${lib.getLib dep}${dep.libdir or "/lib"}"
+          "-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}"
+      ]));
+    in mkFlags libcCross
+    ++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
+    ;
+}
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix b/nixpkgs/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix
new file mode 100644
index 000000000000..f8822c6dba0e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix
@@ -0,0 +1 @@
+"740f233da00c4fb5bcc225b2e29768824bcecc58"
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix b/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix
new file mode 100644
index 000000000000..4c86d37e2434
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix
@@ -0,0 +1,12 @@
+{ lib, version, hostPlatform, langJava ? false, langGo }:
+
+assert langJava -> lib.versionOlder version "7";
+
+lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
+  export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+  export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+  export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+  export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+'' + lib.optionalString (lib.versionOlder version "7" && (langJava || langGo)) ''
+  export lib=$out;
+''
diff --git a/nixpkgs/pkgs/development/compilers/gcc/snapshot/default.nix b/nixpkgs/pkgs/development/compilers/gcc/snapshot/default.nix
index a07f6f1feb2f..0441296ef179 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -35,10 +37,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "7-20170409";
+let majorVersion = "7";
+    version = "${majorVersion}-20170409";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -46,81 +52,22 @@ let version = "7-20170409";
       [ ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      ++ optional langFortran ../gfortran-driving.patch;
+      ++ optional langFortran ../gfortran-driving.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}/include")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -182,84 +129,48 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if enableMultilib
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags = optional
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
   NIX_STRIP_DEBUG = !stripped;
@@ -287,24 +198,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/nixpkgs/pkgs/development/compilers/gerbil/build.nix b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
index 9ef650c330fa..e2ab09764827 100644
--- a/nixpkgs/pkgs/development/compilers/gerbil/build.nix
+++ b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
@@ -1,6 +1,6 @@
 { stdenv, makeStaticLibraries,
   coreutils, rsync, bash,
-  openssl, zlib, sqlite, libxml2, libyaml, mysql, lmdb, leveldb, postgresql,
+  openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql,
   version, git-version, gambit, src }:
 
 # TODO: distinct packages for gerbil-release and gerbil-devel
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
   inherit src;
 
   # Use makeStaticLibraries to enable creation of statically linked binaries
-  buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml mysql.connector-c lmdb leveldb postgresql ];
+  buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml libmysqlclient lmdb leveldb postgresql ];
   buildInputs_staticLibraries = map makeStaticLibraries buildInputs_libraries;
 
   buildInputs = [ gambit rsync bash ]
     ++ buildInputs_libraries ++ buildInputs_staticLibraries;
 
-  NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
+  NIX_CFLAGS_COMPILE = "-I${libmysqlclient}/include/mysql -L${libmysqlclient}/lib/mysql";
 
   postPatch = ''
     echo '(define (gerbil-version-string) "v${git-version}")' > src/gerbil/runtime/gx-version.scm
@@ -40,7 +40,7 @@ ZLIB=${makeStaticLibraries zlib}/lib/libz.a
 # SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING!
 # LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING!
 # YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING!
-MYSQL=${makeStaticLibraries mysql.connector-c}/lib/mariadb/libmariadb.a
+MYSQL=${makeStaticLibraries libmysqlclient}/lib/mariadb/libmariadb.a
 # LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING!
 LEVELDB=${makeStaticLibraries lmdb}/lib/libleveldb.a
 EOF
diff --git a/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix b/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix
index a9618a7e0667..5f0347aa9a66 100644
--- a/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/ghc/8.10.1.nix b/nixpkgs/pkgs/development/compilers/ghc/8.10.1.nix
new file mode 100644
index 000000000000..25226d4d0e6b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.10.1.nix
@@ -0,0 +1,232 @@
+{ stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
+, bash
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, 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
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # 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)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ [libffi]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.10.0.20191210";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/8.10.1-alpha2/ghc-${version}-src.tar.xz";
+    sha256 = "1mmv8s9cs41kp7wh1qqnzin5wv32cvs3lmzgda7njz0ssqb0mmvj";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+	dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix b/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix
index 52fb926cdc68..f79200d1199b 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix
@@ -69,7 +69,7 @@ let
   '';
 
   # Splicer will pull out correct variations
-  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+  libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
     ++ stdenv.lib.optional (!enableIntegerSimple) gmp
     ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
 
@@ -126,7 +126,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@@ -167,9 +167,9 @@ stdenv.mkDerivation (rec {
   configureFlags = [
     "--datadir=$doc/share/doc/ghc"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
   ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
     "--enable-bootstrap-with-devel-snapshot"
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.5.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.5.nix
index cdbcb8e1aedc..0b565d3705da 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.5.nix
@@ -73,7 +73,7 @@ let
   '';
 
   # Splicer will pull out correct variations
-  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+  libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
     ++ [libffi]
     ++ stdenv.lib.optional (!enableIntegerSimple) gmp
     ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
@@ -125,7 +125,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@@ -167,9 +167,9 @@ stdenv.mkDerivation (rec {
     "--datadir=$doc/share/doc/ghc"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
   ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
   ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
     "--enable-bootstrap-with-devel-snapshot"
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix b/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
index 95bbab3cb3e1..9197b80224e7 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
@@ -73,7 +73,7 @@ let
   '';
 
   # Splicer will pull out correct variations
-  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+  libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
     ++ [libffi]
     ++ stdenv.lib.optional (!enableIntegerSimple) gmp
     ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
@@ -110,7 +110,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@@ -152,9 +152,9 @@ stdenv.mkDerivation (rec {
     "--datadir=$doc/share/doc/ghc"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
   ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
   ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
     "--enable-bootstrap-with-devel-snapshot"
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.8.2.nix b/nixpkgs/pkgs/development/compilers/ghc/8.8.2.nix
new file mode 100644
index 000000000000..4ed99a8402aa
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.8.2.nix
@@ -0,0 +1,232 @@
+{ stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
+, bash
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, 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
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # 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)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ [libffi]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.8.1.20191211";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
+    sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+	dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/nixpkgs/pkgs/development/compilers/ghc/head.nix b/nixpkgs/pkgs/development/compilers/ghc/head.nix
index b78f5bc2204c..415f6c74ad58 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/head.nix
+++ b/nixpkgs/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.20190601"
+, 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)
@@ -71,9 +74,10 @@ let
   '';
 
   # Splicer will pull out correct variations
-  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+  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 = "9bc10993bb300d3712b0f13ec6e28621d75d4204";
-    sha256 = "1s7vbinywx8ffj09nxr0h32nggjiqpssrvgmj7820k32w2yi7i8v";
+    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 .";
@@ -120,7 +117,7 @@ stdenv.mkDerivation (rec {
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
     # and more generally have a faster linker.
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@@ -164,9 +161,9 @@ stdenv.mkDerivation (rec {
   configureFlags = [
     "--datadir=$doc/share/doc/ghc"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
-  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+  ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
   ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
     "--enable-bootstrap-with-devel-snapshot"
@@ -176,14 +173,18 @@ stdenv.mkDerivation (rec {
     "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
   ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
     "--disable-large-address-space"
+  ] ++ stdenv.lib.optionals 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
-    bootPkgs.ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+    perl autoconf autoreconfHook automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
   # For building runtime libs
@@ -224,14 +225,14 @@ stdenv.mkDerivation (rec {
     inherit enableShared;
 
     # Our Cabal compiler name
-    haskellCompilerName = "ghc-8.7";
+    haskellCompilerName = "ghc-${version}";
   };
 
   meta = {
     homepage = http://haskell.org/ghc;
     description = "The Glasgow Haskell Compiler";
     maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
-    inherit (bootPkgs.ghc.meta) license platforms;
+    inherit (ghc.meta) license platforms;
   };
 
 } // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix
deleted file mode 100644
index efba0dc8634f..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ haskellLib }:
-
-let inherit (haskellLib) dontCheck doJailbreak;
-in self: super: {
-  haddock-library-ghcjs = doJailbreak (dontCheck super.haddock-library-ghcjs);
-  haddock-api-ghcjs = doJailbreak super.haddock-api-ghcjs;
-
-  template-haskell-ghcjs = doJailbreak super.template-haskell-ghcjs;
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json
deleted file mode 100644
index cfa6cf1d7d26..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "url": "https://github.com/ghcjs/ghcjs",
-  "rev": "81bf5f31dabaa711aab234cb119eb9c998ccb129",
-  "sha256": "1bgnc71kjqicqv2xq8p70nck600yi2p7g4k9r1jclv21ib7i5hmx",
-  "fetchSubmodules": true
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix
deleted file mode 100644
index 3b89db144979..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix
+++ /dev/null
@@ -1,176 +0,0 @@
-{ callPackage, configuredSrc }:
-
-{
-
-  ghcjs = callPackage
-    ({ mkDerivation, aeson, array, attoparsec, base, base16-bytestring
-    , base64-bytestring, binary, bytestring, Cabal, containers
-    , cryptohash, data-default, deepseq, directory, executable-path
-    , filepath, ghc-api-ghcjs, ghc-boot, ghc-paths, ghci-ghcjs
-    , ghcjs-th, haddock-api-ghcjs, hashable, haskell-src-exts
-    , haskell-src-meta, http-types, HUnit, lens, lifted-base, mtl
-    , network, optparse-applicative, parallel, parsec, process, random
-    , regex-posix, safe, shelly, split, stdenv, stringsearch, syb
-    , system-fileio, system-filepath, tar, template-haskell
-    , template-haskell-ghcjs, terminfo, test-framework
-    , test-framework-hunit, text, time, transformers
-    , transformers-compat, unix, unix-compat, unordered-containers
-    , vector, wai, wai-app-static, wai-extra, wai-websockets, warp
-    , webdriver, websockets, wl-pprint-text, yaml
-    }:
-    mkDerivation {
-      pname = "ghcjs";
-      version = "8.4.0.1";
-      src = configuredSrc + /.;
-      isLibrary = true;
-      isExecutable = true;
-      enableSeparateDataOutput = true;
-      setupHaskellDepends = [
-        base Cabal containers directory filepath process template-haskell
-        transformers
-      ];
-      libraryHaskellDepends = [
-        aeson array attoparsec base base16-bytestring base64-bytestring
-        binary bytestring Cabal containers cryptohash data-default deepseq
-        directory filepath ghc-api-ghcjs ghc-boot ghc-paths ghci-ghcjs
-        ghcjs-th hashable haskell-src-exts haskell-src-meta lens mtl
-        optparse-applicative parallel parsec process regex-posix safe split
-        stringsearch syb template-haskell template-haskell-ghcjs text time
-        transformers unordered-containers vector wl-pprint-text yaml
-      ];
-      executableHaskellDepends = [
-        aeson base binary bytestring Cabal containers directory
-        executable-path filepath ghc-api-ghcjs ghc-boot haddock-api-ghcjs
-        lens mtl optparse-applicative process shelly system-fileio
-        system-filepath tar terminfo text time transformers
-        transformers-compat unix unix-compat unordered-containers vector
-        yaml
-      ];
-      testHaskellDepends = [
-        aeson base bytestring data-default deepseq directory http-types
-        HUnit lens lifted-base network optparse-applicative process random
-        shelly system-fileio system-filepath test-framework
-        test-framework-hunit text time transformers unordered-containers
-        wai wai-app-static wai-extra wai-websockets warp webdriver
-        websockets yaml
-      ];
-      description = "Haskell to JavaScript compiler";
-      license = stdenv.lib.licenses.mit;
-    }) {};
-
-  ghc-api-ghcjs = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-    , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghci-ghcjs
-    , hpc, process, stdenv, template-haskell-ghcjs, terminfo, time
-    , transformers, unix
-    }:
-    mkDerivation {
-      pname = "ghc-api-ghcjs";
-      version = "8.4.0";
-      src = configuredSrc + /lib/ghc-api-ghcjs;
-      libraryHaskellDepends = [
-        array base binary bytestring containers deepseq directory filepath
-        ghc-boot ghc-boot-th ghci-ghcjs hpc process template-haskell-ghcjs
-        terminfo time transformers unix
-      ];
-      homepage = "http://www.haskell.org/ghc/";
-      description = "The GHC API (customized for GHCJS)";
-      license = stdenv.lib.licenses.bsd3;
-    }) {};
-
-  ghci-ghcjs = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-    , deepseq, filepath, ghc-boot, ghc-boot-th, stdenv
-    , template-haskell-ghcjs, transformers, unix
-    }:
-    mkDerivation {
-      pname = "ghci-ghcjs";
-      version = "8.4.0";
-      src = configuredSrc + /lib/ghci-ghcjs;
-      libraryHaskellDepends = [
-        array base binary bytestring containers deepseq filepath ghc-boot
-        ghc-boot-th template-haskell-ghcjs transformers unix
-      ];
-      description = "The library supporting GHC's interactive interpreter (customized for GHCJS)";
-      license = stdenv.lib.licenses.bsd3;
-    }) {};
-
-  ghcjs-th = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, ghc-prim
-    , ghci-ghcjs, stdenv, template-haskell-ghcjs
-    }:
-    mkDerivation {
-      pname = "ghcjs-th";
-      version = "0.1.0.0";
-      src = configuredSrc + /lib/ghcjs-th;
-      libraryHaskellDepends = [
-        base binary bytestring containers ghc-prim ghci-ghcjs
-        template-haskell-ghcjs
-      ];
-      homepage = "https://github.com/ghcjs";
-      license = stdenv.lib.licenses.mit;
-    }) {};
-
-  haddock-api-ghcjs = callPackage
-    ({ mkDerivation, array, base, bytestring, Cabal, containers, deepseq
-    , directory, filepath, ghc-api-ghcjs, ghc-boot, ghc-paths
-    , haddock-library-ghcjs, hspec, hspec-discover, QuickCheck, stdenv
-    , transformers, xhtml
-    }:
-    mkDerivation {
-      pname = "haddock-api-ghcjs";
-      version = "2.20.0";
-      src = configuredSrc + /lib/haddock-api-ghcjs;
-      enableSeparateDataOutput = true;
-      libraryHaskellDepends = [
-        array base bytestring Cabal containers deepseq directory filepath
-        ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs transformers
-        xhtml
-      ];
-      testHaskellDepends = [
-        array base bytestring Cabal containers deepseq directory filepath
-        ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs hspec
-        QuickCheck transformers xhtml
-      ];
-      testToolDepends = [ hspec-discover ];
-      homepage = "http://www.haskell.org/haddock/";
-      description = "A documentation-generation tool for Haskell libraries";
-      license = stdenv.lib.licenses.bsd3;
-    }) {};
-
-  haddock-library-ghcjs = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
-    , directory, filepath, haddock-library, hspec, hspec-discover
-    , optparse-applicative, QuickCheck, stdenv, transformers, tree-diff
-    }:
-    mkDerivation {
-      pname = "haddock-library-ghcjs";
-      version = "1.6.0";
-      src = configuredSrc + /lib/haddock-library-ghcjs;
-      libraryHaskellDepends = [
-        base bytestring containers deepseq transformers
-      ];
-      testHaskellDepends = [
-        base base-compat bytestring containers deepseq directory filepath
-        haddock-library hspec optparse-applicative QuickCheck transformers
-        tree-diff
-      ];
-      testToolDepends = [ hspec-discover ];
-      doHaddock = false;
-      homepage = "http://www.haskell.org/haddock/";
-      description = "Library exposing some functionality of Haddock";
-      license = stdenv.lib.licenses.bsd3;
-    }) {};
-
-  template-haskell-ghcjs = callPackage
-    ({ mkDerivation, base, ghc-boot-th, pretty, stdenv }:
-    mkDerivation {
-      pname = "template-haskell-ghcjs";
-      version = "2.13.0.0";
-      src = configuredSrc + /lib/template-haskell-ghcjs;
-      libraryHaskellDepends = [ base ghc-boot-th pretty ];
-      description = "Support library for Template Haskell (customized for GHCJS)";
-      license = stdenv.lib.licenses.bsd3;
-    }) {};
-
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
index 56b69ea267f9..943866d5f24e 100644
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
index e668be8e0740..7b6fbc460a95 100644
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, pkgsHostHost
 , callPackage
 , fetchgit
 , ghcjsSrcJson ? null
@@ -14,7 +15,6 @@
 , pkgconfig
 , gcc
 , lib
-, nodePackages
 , ghcjsDepOverrides ? (_:_:{})
 , haskell
 }:
@@ -46,7 +46,7 @@ let
 
     enableShared = true;
 
-    socket-io = nodePackages."socket.io";
+    socket-io = pkgsHostHost.nodePackages."socket.io";
 
     # Relics of the old GHCJS build system
     stage1Packages = [];
@@ -104,5 +104,4 @@ in stdenv.mkDerivation {
 
     meta.platforms = passthru.bootPkgs.ghc.meta.platforms;
     meta.maintainers = [lib.maintainers.elvishjerricco];
-    meta.hydraPlatforms = [];
   }
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix b/nixpkgs/pkgs/development/compilers/ghcjs/base.nix
deleted file mode 100644
index ba0bbb1962b8..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-{ mkDerivation
-, lib
-, broken ? false
-, test-framework
-, test-framework-hunit
-, data-default
-, ghc-paths
-, haskell-src-exts
-, haskell-src-meta
-, optparse-applicative
-, system-fileio
-, system-filepath
-, text-binary
-, unordered-containers
-, cabal-install
-, wl-pprint-text
-, base16-bytestring
-, executable-path
-, transformers-compat
-, haddock-api
-, regex-posix
-
-, bootPkgs, gmp
-
-, runCommand
-, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm
-, time
-, zlib, aeson, attoparsec, bzlib, hashable
-, lens
-, parallel, safe, shelly, split, stringsearch, syb
-, tar, terminfo
-, vector, yaml
-, alex, happy, git, gnumake, autoconf, patch
-, automake, libtool
-, cryptohash
-, haddock, hspec, xhtml, pkgs
-, coreutils
-, libiconv
-
-, version
-, ghcjsSrc
-, ghcjsBootSrc
-, ghcjsBoot ? import ./ghcjs-boot.nix {
-    inherit runCommand;
-    src = ghcjsBootSrc;
-  }
-, shims
-
-# This is the list of the Stage 1 packages that are built into a booted ghcjs installation
-# It can be generated with the command:
-# nix-shell -p haskell.packages.ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^    \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/^\([^_]*\)\(.*\)$/      \"\1\"/'"
-, stage1Packages
-
-, stage2 ? import ./stage2.nix
-
-, patches
-
-# used for resolving compiler plugins
-, ghcLibdir ? null
-}:
-let
-  inherit (bootPkgs) ghc;
-
-in mkDerivation ({
-  pname = "ghcjs";
-  inherit version;
-  src = ghcjsSrc;
-  isLibrary = true;
-  isExecutable = true;
-  jailbreak = true;
-  doHaddock = false;
-  doCheck = false;
-  buildDepends = [
-    filepath HTTP mtl network random stm time zlib aeson attoparsec
-    bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta
-    lens optparse-applicative parallel safe shelly split
-    stringsearch syb system-fileio system-filepath tar terminfo text-binary
-    unordered-containers vector wl-pprint-text yaml
-    alex happy git gnumake autoconf automake libtool patch gmp
-    base16-bytestring cryptohash executable-path haddock-api
-    transformers-compat QuickCheck haddock hspec xhtml
-    regex-posix libiconv
-  ];
-  buildTools = [ nodejs git ];
-  testDepends = [
-    HUnit test-framework test-framework-hunit
-  ];
-  inherit patches;
-  postPatch = ''
-    substituteInPlace Setup.hs \
-      --replace "/usr/bin/env" "${coreutils}/bin/env"
-
-    substituteInPlace src/Compiler/Info.hs \
-      --replace "@PREFIX@" "$out"          \
-      --replace "@VERSION@" "${version}"
-
-    substituteInPlace src-bin/Boot.hs \
-      --replace "@PREFIX@" "$out"     \
-      --replace "@CC@"     "${stdenv.cc}/bin/cc"
-  '';
-  preBuild = ''
-    export HOME="$TMP"
-
-    local topDir=$out/lib/ghcjs-${version}
-    mkdir -p $topDir
-
-    cp -r ${ghcjsBoot} $topDir/ghcjs-boot
-    chmod -R u+w $topDir/ghcjs-boot
-
-    cp -r ${shims} $topDir/shims
-    chmod -R u+w $topDir/shims
-
-    # Make the patches be relative their corresponding package's directory.
-    # See: https://github.com/ghcjs/ghcjs-boot/pull/12
-    for patch in "$topDir/ghcjs-boot/patches/"*.patch; do
-      echo "fixing patch: $patch"
-      sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
-    done
-  '';
-  # We build with --quick so we can build stage 2 packages separately.
-  # This is necessary due to: https://github.com/haskell/cabal/commit/af19fb2c2d231d8deff1cb24164a2bf7efb8905a
-  # Cabal otherwise fails to build: http://hydra.nixos.org/build/31824079/nixlog/1/raw
-  postInstall = ''
-    PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \
-      env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \
-        --dev \
-        --quick \
-        --with-cabal ${cabal-install}/bin/cabal \
-        --with-gmp-includes ${gmp.dev}/include \
-        --with-gmp-libraries ${gmp.out}/lib
-  '' + lib.optionalString (ghcLibdir != null) ''
-    printf '%s' '${ghcLibdir}' > "$out/lib/ghcjs-${version}/ghc_libdir"
-  '';
-  passthru = {
-    inherit bootPkgs;
-    ghcVersion = ghc.version;
-    isCross = true;
-    isGhcjs = true;
-    inherit nodejs ghcjsBoot;
-    socket-io = pkgs.nodePackages."socket.io";
-    haskellCompilerName = "ghcjs-${version}";
-
-    # let us assume ghcjs is never actually cross compiled
-    targetPrefix = "";
-
-    enableShared = true;
-
-    inherit stage1Packages;
-    mkStage2 = stage2 {
-      inherit ghcjsBoot;
-    };
-  };
-
-  homepage = https://github.com/ghcjs/ghcjs;
-  description = "A Haskell to JavaScript compiler that uses the GHC API";
-  license = stdenv.lib.licenses.bsd3;
-  platforms = ghc.meta.platforms;
-  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio elvishjerricco ];
-  hydraPlatforms = if broken then [] else ghc.meta.platforms;
-  inherit broken;
-})
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb b/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb
deleted file mode 100755
index 709e635db55c..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'pathname'
-
-# from boot.yaml in ghcjs/ghcjs
-stage2_packages = [
-  "boot/async",
-  "boot/aeson",
-  "boot/attoparsec",
-  "boot/case-insensitive",
-  "boot/dlist",
-  "boot/extensible-exceptions",
-  "boot/hashable",
-  "boot/mtl",
-  "boot/old-time",
-  "boot/parallel",
-  "boot/scientific",
-  "boot/stm",
-  "boot/syb",
-  "boot/text",
-  "boot/unordered-containers",
-  "boot/vector",
-  "ghcjs/ghcjs-base",
-  # not listed under stage2, but needed when "quick booting".
-  "boot/cabal/Cabal"
-]
-
-nixpkgs = File.expand_path("../../../../..", __FILE__)
-boot = ARGV[0] || `nix-build #{nixpkgs} -A haskell.packages.ghcjs.ghc.ghcjsBoot`.chomp
-
-out = "".dup
-out << "{ ghcjsBoot }: { callPackage }:\n"
-out << "\n"
-out << "{\n"
-
-stage2_packages.each do |package|
-  name = Pathname.new(package).basename
-  nix = `cabal2nix file://#{boot}/#{package}  --jailbreak`
-  nix.sub!(/src =.*?$/, "src = \"${ghcjsBoot}/#{package}\";")
-  nix.sub!("  doCheck = false;\n", "")
-  nix.sub!("libraryHaskellDepends", "doCheck = false;\n  libraryHaskellDepends")
-  # cabal2nix somehow generates the deps for 'text' as if it had selected flag
-  # 'integer-simple' (despite not passing the flag within the generated
-  # expression). We want integer-gmp instead.
-  nix.gsub!(/integer-simple/, "integer-gmp")
-  nix = nix.split("\n").join("\n      ")
-
-  out << "  #{name} = callPackage\n"
-  out << "    (#{nix}) {};\n"
-end
-
-out << "}"
-
-puts out
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix b/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix
deleted file mode 100644
index c00e13a92404..000000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ runCommand, src }:
-
-# we remove the patches so ghcjs-boot doesn't try to apply them again.
-runCommand "${src.name}-patched" {} ''
-  cp -r ${src} $out
-  chmod -R +w $out
-
-  # Make the patches be relative their corresponding package's directory.
-  # See: https://github.com/ghcjs/ghcjs-boot/pull/12
-  for patch in $out/patches/*.patch; do
-    echo ">> fixing patch: $patch"
-    sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
-  done
-
-  for package in $(cd $out/boot; echo *); do
-    patch=$out/patches/$package.patch
-    if [[ -e $patch ]]; then
-      echo ">> patching package: $package"
-      pushd $out/boot/$package
-      patch -p1 < $patch
-      rm $patch
-      popd
-    fi
-  done
-''
diff --git a/nixpkgs/pkgs/development/compilers/gleam/default.nix b/nixpkgs/pkgs/development/compilers/gleam/default.nix
new file mode 100644
index 000000000000..beef0ce03d91
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gleam/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gleam";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "gleam-lang";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fvy2j6pw1rwm0rg7555q3qg2069cx2b9lk0nsyc3jxsqp9hbn6i";
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  cargoSha256 = "0zfdsnrnxplvi4f92l7sqdp5yk5p738ra64m41izlcilkwj1j3vp";
+
+  meta = with stdenv.lib; {
+    description = "A statically typed language for the Erlang VM";
+    homepage = "https://gleam.run/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix
index e051d41993cc..949190903673 100644
--- a/nixpkgs/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/go-jsonnet/deps.nix b/nixpkgs/pkgs/development/compilers/go-jsonnet/deps.nix
deleted file mode 100644
index 1f413a16d81d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/compilers/go/1.12.nix b/nixpkgs/pkgs/development/compilers/go/1.12.nix
index 817f3ab324d6..b3b66fde2a15 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.12.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.12.nix
@@ -30,11 +30,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.12.9";
+  version = "1.12.10";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "1z32imbwmpkzgyh5c3vi7rbvzbq94xjk5qi2xm9sccj7kknmc3mb";
+    sha256 = "0m1rvawvpdl7kd0asw10m50xbxlhykix6dng9p4x6ih6x3y4hvpm";
   };
 
   # perl is used for testing go vet
@@ -96,6 +96,12 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
+    # Disable TestGcSys because it's flakey in our tests, but the failure is not
+    # reproducible by multiple people in other environments.
+    # See https://github.com/NixOS/nixpkgs/issues/68361#issuecomment-537849272 and following
+    # NOTE: Try re-enabling for releases newer than 1.12.9
+    sed -i '/TestGcSys/areturn' src/runtime/gc_test.go
+
   '' + optionalString stdenv.isLinux ''
     sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
   '' + optionalString stdenv.isAarch32 ''
diff --git a/nixpkgs/pkgs/development/compilers/go/1.13.nix b/nixpkgs/pkgs/development/compilers/go/1.13.nix
new file mode 100644
index 000000000000..6b7c99c07436
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/1.13.nix
@@ -0,0 +1,242 @@
+{ stdenv, fetchurl, tzdata, iana-etc, runCommand
+, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
+, mailcap, runtimeShell
+, buildPackages, pkgsTargetTarget
+}:
+
+let
+
+  inherit (stdenv.lib) optionals optionalString;
+
+  goBootstrap = runCommand "go-bootstrap" {} ''
+    mkdir $out
+    cp -rf ${buildPackages.go_bootstrap}/* $out/
+    chmod -R u+w $out
+    find $out -name "*.c" -delete
+    cp -rf $out/bin/* $out/share/go/bin/
+  '';
+
+  goarch = platform: {
+    "i686" = "386";
+    "x86_64" = "amd64";
+    "aarch64" = "arm64";
+    "arm" = "arm";
+    "armv5tel" = "arm";
+    "armv6l" = "arm";
+    "armv7l" = "arm";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "go";
+  version = "1.13.5";
+
+  src = fetchurl {
+    url = "https://dl.google.com/go/go${version}.src.tar.gz";
+    sha256 = "1zr6lravlmyld57nnymkcr092pys4pr8qy0ans1rj3dkl3i5dlr7";
+  };
+
+  # perl is used for testing go vet
+  nativeBuildInputs = [ perl which pkgconfig patch procps ];
+  buildInputs = [ cacert pcre ]
+    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+
+
+  propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
+
+  hardeningDisable = [ "all" ];
+
+  prePatch = ''
+    patchShebangs ./ # replace /bin/bash
+
+    # This source produces shell script at run time,
+    # and thus it is not corrected by patchShebangs.
+    substituteInPlace misc/cgo/testcarchive/carchive_test.go \
+      --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
+
+    # Patch the mimetype database location which is missing on NixOS.
+    # but also allow static binaries built with NixOS to run outside nix
+    sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/net/{listen,parse}_test.go
+    rm src/syscall/exec_linux_test.go
+
+    # !!! substituteInPlace does not seems to be effective.
+    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
+    # Disable the unix socket test
+    sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
+    # Remove the api check as it never worked
+    sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
+    # Remove the coverage test as we have removed this utility
+    sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
+    # Remove the timezone naming test
+    sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
+    # Remove disable setgid test
+    sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
+    # Remove cert tests that conflict with NixOS's cert resolution
+    sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+    # TestWritevError hangs sometimes
+    sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
+    # TestVariousDeadlines fails sometimes
+    sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
+
+    sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
+    sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
+
+    # Disable cgo lookup tests not works, they depend on resolver
+    rm src/net/cgo_unix_test.go
+
+  '' + optionalString stdenv.isLinux ''
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
+
+  '' + optionalString stdenv.isAarch32 ''
+    echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
+  '' + optionalString stdenv.isDarwin ''
+    substituteInPlace src/race.bash --replace \
+      "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
+    sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
+    sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
+    sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
+
+    sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
+    sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
+
+    sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
+    sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
+
+    sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
+
+    sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
+
+    # TestCurrent fails because Current is not implemented on Darwin
+    sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
+    sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
+
+    touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
+  '';
+
+  patches = [
+    ./remove-tools-1.11.patch
+    ./ssl-cert-file-1.13.patch
+    ./remove-test-pie-1.13.patch
+    ./creds-test.patch
+    ./go-1.9-skip-flaky-19608.patch
+    ./go-1.9-skip-flaky-20072.patch
+    ./skip-external-network-tests.patch
+    ./skip-nohup-tests.patch
+    # breaks under load: https://github.com/golang/go/issues/25628
+    ./skip-test-extra-files-on-386.patch
+  ];
+
+  postPatch = ''
+    find . -name '*.orig' -exec rm {} ';'
+  '';
+
+  GOOS = stdenv.targetPlatform.parsed.kernel.name;
+  GOARCH = goarch stdenv.targetPlatform;
+  # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+  # Go will nevertheless build a for host system that we will copy over in
+  # the install phase.
+  GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
+  GOHOSTARCH = goarch stdenv.buildPlatform;
+
+  # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
+  # to be different from CC/CXX
+  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
+    else
+      null;
+  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
+    else
+      null;
+
+  GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GO386 = 387; # from Arch: don't assume sse2 on i686
+  CGO_ENABLED = 1;
+  # Hopefully avoids test timeouts on Hydra
+  GO_TEST_TIMEOUT_SCALE = 3;
+
+  # Indicate that we are running on build infrastructure
+  # Some tests assume things like home directories and users exists
+  GO_BUILDER_NAME = "nix";
+
+  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+
+  postConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+    # this is compiled into the binary
+    export GOROOT_FINAL=$out/share/go
+
+    export PATH=$(pwd)/bin:$PATH
+
+    # Independent from host/target, CC should produce code for the building system.
+    export CC=${buildPackages.stdenv.cc}/bin/cc
+    ulimit -a
+  '';
+
+  postBuild = ''
+    (cd src && ./make.bash)
+  '';
+
+  doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
+
+  checkPhase = ''
+    runHook preCheck
+    (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
+    runHook postCheck
+  '';
+
+  preInstall = ''
+    rm -r pkg/obj
+    # Contains the wrong perl shebang when cross compiling,
+    # since it is not used for anything we can deleted as well.
+    rm src/regexp/syntax/make_perl_groups.pl
+  '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
+    mv bin/*_*/* bin
+    rmdir bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
+    ''}
+  '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
+    rm -rf bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
+    ''}
+  '' else "");
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $GOROOT_FINAL
+    cp -a bin pkg src lib misc api doc $GOROOT_FINAL
+    ln -s $GOROOT_FINAL/bin $out/bin
+    runHook postInstall
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  disallowedReferences = [ goBootstrap ];
+
+  meta = with stdenv.lib; {
+    branch = "1.13";
+    homepage = http://golang.org/;
+    description = "The Go Programming language";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ cstrahan orivej velovix mic92 rvolosatovs kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/go/1.4.nix b/nixpkgs/pkgs/development/compilers/go/1.4.nix
index 1052f1f1ae1e..0dd852a1ef16 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.4.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.4.nix
@@ -61,7 +61,9 @@ stdenv.mkDerivation rec {
 
     sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
   '' + lib.optionalString stdenv.isLinux ''
-    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
     # Find the loader dynamically
     LOADER="$(find ${lib.getLib libc}/lib -name ld-linux\* | head -n 1)"
diff --git a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch
new file mode 100644
index 000000000000..05f18b813f91
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch
@@ -0,0 +1,34 @@
+diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
+index f63c94697c..f02eff7064 100644
+--- a/src/cmd/dist/test.go
++++ b/src/cmd/dist/test.go
+@@ -574,29 +574,6 @@ func (t *tester) registerTests() {
+ 		})
+ 	}
+ 
+-	// Test internal linking of PIE binaries where it is supported.
+-	if goos == "linux" && (goarch == "amd64" || goarch == "arm64") {
+-		t.tests = append(t.tests, distTest{
+-			name:    "pie_internal",
+-			heading: "internal linking of -buildmode=pie",
+-			fn: func(dt *distTest) error {
+-				t.addCmd(dt, "src", t.goTest(), "reflect", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
+-				return nil
+-			},
+-		})
+-		// Also test a cgo package.
+-		if t.cgoEnabled {
+-			t.tests = append(t.tests, distTest{
+-				name:    "pie_internal_cgo",
+-				heading: "internal linking of -buildmode=pie",
+-				fn: func(dt *distTest) error {
+-					t.addCmd(dt, "src", t.goTest(), "os/user", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
+-					return nil
+-				},
+-			})
+-		}
+-	}
+-
+ 	// sync tests
+ 	if goos != "js" { // js doesn't support -cpu=10
+ 		t.tests = append(t.tests, distTest{
diff --git a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
new file mode 100644
index 000000000000..02a50d9c72f3
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
@@ -0,0 +1,64 @@
+diff --git a/src/crypto/x509/root_cgo_darwin.go b/src/crypto/x509/root_cgo_darwin.go
+index 255a8d3525..a467255a54 100644
+--- a/src/crypto/x509/root_cgo_darwin.go
++++ b/src/crypto/x509/root_cgo_darwin.go
+@@ -280,6 +280,8 @@ int CopyPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots, bool debugDa
+ import "C"
+ import (
+ 	"errors"
++	"io/ioutil"
++	"os"
+ 	"unsafe"
+ )
+ 
+@@ -295,6 +297,13 @@ func loadSystemRoots() (*CertPool, error) {
+ 	buf := C.GoBytes(unsafe.Pointer(C.CFDataGetBytePtr(data)), C.int(C.CFDataGetLength(data)))
+ 	roots := NewCertPool()
+ 	roots.AppendCertsFromPEM(buf)
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++		data, err := ioutil.ReadFile(file)
++		if err == nil {
++			roots.AppendCertsFromPEM(data)
++			return roots, nil
++		}
++	}
+ 
+ 	if C.CFDataGetLength(untrustedData) == 0 {
+ 		return roots, nil
+diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
+index 2f6a8b8d60..b81889fe69 100644
+--- a/src/crypto/x509/root_darwin.go
++++ b/src/crypto/x509/root_darwin.go
+@@ -92,6 +92,14 @@ func execSecurityRoots() (*CertPool, error) {
+ 		verifyCh    = make(chan rootCandidate)
+ 	)
+ 
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++		data, err := ioutil.ReadFile(file)
++		if err == nil {
++			roots.AppendCertsFromPEM(data)
++			return roots, nil
++		}
++	}
++
+ 	// Using 4 goroutines to pipe into verify-cert seems to be
+ 	// about the best we can do. The verify-cert binary seems to
+ 	// just RPC to another server with coarse locking anyway, so
+diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
+index 48de50b4ea..750e12c6b4 100644
+--- a/src/crypto/x509/root_unix.go
++++ b/src/crypto/x509/root_unix.go
+@@ -38,6 +38,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
+ 
+ func loadSystemRoots() (*CertPool, error) {
+ 	roots := NewCertPool()
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++		data, err := ioutil.ReadFile(file)
++		if err == nil {
++			roots.AppendCertsFromPEM(data)
++			return roots, nil
++		}
++	}
+ 
+ 	files := certFiles
+ 	if f := os.Getenv(certFileEnv); f != "" {
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/default.nix b/nixpkgs/pkgs/development/compilers/graalvm/default.nix
index 61e3b6c16aee..ec81063e67e2 100644
--- a/nixpkgs/pkgs/development/compilers/graalvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/graalvm/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, fetchgit, mercurial, python27, setJavaClassPath,
+{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, fetchgit, mercurial_4, python27, setJavaClassPath,
   zlib, makeWrapper, openjdk, unzip, git, clang, llvm, which, icu, ruby, bzip2, glibc
   # gfortran, readline, bzip2, lzma, pcre, curl, ed, tree ## WIP: fastr deps
 }:
 
 let
   version = "19.1.1";
+  mercurial = mercurial_4;
   truffleMake = ./truffle.make;
   makeMxGitCache = list: out: ''
      mkdir ${out}
@@ -242,10 +243,7 @@ in rec {
                   'method->name_and_sig_as_C_string(), p2i(method->native_function()), p2i(entry)' || exit -1
     '';
     hardeningDisable = [ "fortify" ];
-    NIX_CFLAGS_COMPILE = [
-      "-Wno-error=format-overflow" # newly detected by gcc7
-      "-Wno-error=nonnull"
-    ];
+    NIX_CFLAGS_COMPILE = "-Wno-error=format-overflow -Wno-error=nonnull";
     buildPhase = ''
       export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild
       export MX_CACHE_DIR=${makeMxCache jvmci8-mxcache}
@@ -270,7 +268,7 @@ in rec {
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
       cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
     postFixup = openjdk.postFixup or null;
@@ -293,7 +291,7 @@ in rec {
                     # gfortran readline bzip2 lzma pcre.dev curl ed ## WIP: fastr dependencies
                   ];
     postUnpack = ''
-      cp ${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/stdlib.h \
+      cp ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/stdlib.h \
         $sourceRoot/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include
       cp ${truffleMake} $TMP && mv *truffle.make truffle.make
       rm $sourceRoot/truffle/src/libffi/patches/others/0001-Add-mx-bootstrap-Makefile.patch
@@ -318,7 +316,7 @@ in rec {
         --replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";'
       # prevent cyclical imports caused by identical <include> names
       substituteInPlace sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include/stdlib.h \
-        --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/cstdlib"'
+        --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/cstdlib"'
       # dragonegg can't seem to compile on nix, so let's not require it
       substituteInPlace sulong/mx.sulong/suite.py \
         --replace '"requireDragonegg" : True,' '"requireDragonegg" : False,'
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix b/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix
index 84cb38aa8d11..e180455cb7cd 100644
--- a/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix
+++ b/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix
@@ -72,7 +72,7 @@ let
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
       cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/halide/default.nix b/nixpkgs/pkgs/development/compilers/halide/default.nix
index 683f8d7ace09..0b28b61a27b2 100644
--- a/nixpkgs/pkgs/development/compilers/halide/default.nix
+++ b/nixpkgs/pkgs/development/compilers/halide/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "2018_02_15";
+  version = "2019_08_27";
 
 in llvmPackages.stdenv.mkDerivation {
 
@@ -13,7 +13,7 @@ in llvmPackages.stdenv.mkDerivation {
     owner = "halide";
     repo = "Halide";
     rev = "release_${version}";
-    sha256 = "14lmpbxydx7ii0pxds6rgq5vw4i6yfjsq0bai1l5wwpv1rnwmbxd";
+    sha256 = "09xf8v9zyxx2fn6s1yzjkyzcf9zyzrg3x5vivgd2ljzbfhm8wh7n";
   };
 
   patches = [ ./nix.patch ];
@@ -58,7 +58,7 @@ in llvmPackages.stdenv.mkDerivation {
     description = "C++ based language for image processing and computational photography";
     homepage = "https://halide-lang.org";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ maintainers.ck3d ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/halide/nix.patch b/nixpkgs/pkgs/development/compilers/halide/nix.patch
index 2ab1e31adeb4..fb9bbf1a4cf7 100644
--- a/nixpkgs/pkgs/development/compilers/halide/nix.patch
+++ b/nixpkgs/pkgs/development/compilers/halide/nix.patch
@@ -1,11 +1,11 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 40a685b7e..c452efd09 100644
+index 4ba384324..7e23038f7 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -49,10 +49,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
-
+@@ -75,10 +75,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
+ 
  set(LLVM_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_MINOR}")
-
+ 
 -file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-as${CMAKE_EXECUTABLE_SUFFIX}" LLVM_AS)
 -file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-nm${CMAKE_EXECUTABLE_SUFFIX}" LLVM_NM)
 -file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}" CLANG)
@@ -14,7 +14,7 @@ index 40a685b7e..c452efd09 100644
 +find_program(LLVM_NM llvm-nm HINTS ${LLVM_TOOLS_BINARY_DIR})
 +find_program(CLANG clang HINTS ${LLVM_TOOLS_BINARY_DIR})
 +find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_TOOLS_BINARY_DIR})
-
+ 
  # LLVM doesn't appear to expose --system-libs via its CMake interface,
  # so we must shell out to llvm-config to find this info
 diff --git a/apps/linear_algebra/CMakeLists.txt b/apps/linear_algebra/CMakeLists.txt
@@ -27,7 +27,7 @@ index 132c80e6a..36ce865f2 100644
    set(OpenBLAS_EXTRA_LIBS)
 -  set(BLAS_VENDORS OpenBLAS ATLAS)
 +  set(BLAS_VENDORS OpenBLAS)
-
+ 
    # TODO
    # there are more vendors we could add here that support the cblas interface
 @@ -41,6 +41,7 @@ if (CBLAS_FOUND)
@@ -39,17 +39,18 @@ index 132c80e6a..36ce865f2 100644
      endif()
    endforeach()
 diff --git a/apps/linear_algebra/tests/CMakeLists.txt b/apps/linear_algebra/tests/CMakeLists.txt
-index 4b95eb3bb..1daa97437 100644
+index cc02eb0a4..c20419a0d 100644
 --- a/apps/linear_algebra/tests/CMakeLists.txt
 +++ b/apps/linear_algebra/tests/CMakeLists.txt
-@@ -19,6 +19,6 @@ target_compile_options(test_halide_blas PRIVATE -Wno-unused-variable)
+@@ -19,7 +19,7 @@ target_compile_options(test_halide_blas PRIVATE -Wno-unused-variable)
  target_link_libraries(test_halide_blas
    PRIVATE
     halide_blas
 -   cblas # XXX fragile
 +   ${BLAS_LIBRARIES}
-    Halide
+    ${HALIDE_COMPILER_LIB}
  )
---
-2.15.0
+ 
+-- 
+2.23.0
 
diff --git a/nixpkgs/pkgs/development/compilers/haxe/default.nix b/nixpkgs/pkgs/development/compilers/haxe/default.nix
index 0ae038d47138..5329cf59aa37 100644
--- a/nixpkgs/pkgs/development/compilers/haxe/default.nix
+++ b/nixpkgs/pkgs/development/compilers/haxe/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchgit, coreutils, ocaml, zlib, pcre, neko, camlp4 }:
+{ stdenv, fetchgit, coreutils, ocamlPackages, zlib, pcre, neko }:
+
+let inherit (ocamlPackages) ocaml camlp4; in
 
 let
   generic = { version, sha256, prePatch }:
diff --git a/nixpkgs/pkgs/development/compilers/hhvm/default.nix b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
index 24e88f9ee2e2..08ba9e468147 100644
--- a/nixpkgs/pkgs/development/compilers/hhvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
@@ -2,7 +2,7 @@
 , pcre, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
 , expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
-, libxslt, freetype, gdb, git, perl, mysql, gmp, libyaml, libedit
+, libxslt, freetype, gdb, git, perl, libmysqlclient, gmp, libyaml, libedit
 , libvpx, imagemagick, fribidi, gperf, which, ocamlPackages
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ cmake pkgconfig boost libunwind mysql.connector-c libmemcached pcre gdb git perl
+    [ cmake pkgconfig boost libunwind libmysqlclient libmemcached pcre gdb git perl
       libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
       oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
       libelf uwimap binutils cyrus_sasl pam glog libpng libxslt libkrb5
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
   # (setting it to an absolute path causes include files to go to $out/$out/include,
   #  because the absolute path is interpreted with root at $out).
-  cmakeFlags = "-DCMAKE_INSTALL_INCLUDEDIR=include";
+  cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=include" ];
 
   prePatch = ''
     substituteInPlace ./configure \
diff --git a/nixpkgs/pkgs/development/compilers/iasl/default.nix b/nixpkgs/pkgs/development/compilers/iasl/default.nix
index fccdf7a978d4..e98d7cc27dbf 100644
--- a/nixpkgs/pkgs/development/compilers/iasl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/iasl/default.nix
@@ -2,18 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "iasl";
-  version = "20190108";
+  version = "20191213";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0bqhr3ndchvfhxb31147z8gd81dysyz5dwkvmp56832d0js2564q";
+    sha256 = "1ip684is3dplf7snkn024vv6bg3dv5msx8v7pz6x9lrnk3gk0j9h";
   };
 
-  NIX_CFLAGS_COMPILE = [
-    "-O3"
-  ];
+  NIX_CFLAGS_COMPILE = "-O3";
 
-  buildFlags = "iasl";
+  buildFlags = [ "iasl" ];
 
   buildInputs = [ bison flex ];
 
diff --git a/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
new file mode 100644
index 000000000000..a365761b014f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkgconfig
+
+, bison
+, flex
+, llvmPackages_8
+, opencl-clang
+, python
+, spirv-llvm-translator
+
+, buildWithPatches ? true
+}:
+
+let
+  llvmPkgs = llvmPackages_8 // {
+    inherit spirv-llvm-translator;
+  };
+  inherit (llvmPkgs) llvm;
+  inherit (if buildWithPatches then opencl-clang else llvmPkgs) clang clang-unwrapped spirv-llvm-translator;
+  inherit (stdenv.lib) getVersion optional optionals versionOlder versions;
+in
+
+stdenv.mkDerivation rec {
+  pname = "intel-graphics-compiler";
+  version = "1.0.2878";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "intel-graphics-compiler";
+    rev = "igc-${version}";
+    sha256 = "0rgij1013fy2x2szfchy3z6390mjfqw3nz4zprcb5v2v6mpvcj4l";
+  };
+
+  nativeBuildInputs = [ clang cmake bison flex llvm python ];
+
+  buildInputs = [ clang opencl-clang spirv-llvm-translator ];
+
+  # checkInputs = [ lit pythonPackages.nose ];
+
+  # FIXME: How do we run the test suite?
+  # https://github.com/intel/intel-graphics-compiler/issues/98
+  doCheck = false;
+
+  # Handholding the braindead build script
+  # We put this in a derivation because the cmake requires an absolute path
+  prebuilds = stdenv.mkDerivation {
+    name = "igc-cclang-prebuilds";
+    phases = [ "installPhase" ];
+    installPhase = ''
+      mkdir $out
+      ln -s ${clang}/bin/clang $out/
+      ln -s clang $out/clang-${versions.major (getVersion clang)}
+      ln -s ${opencl-clang}/lib/* $out/
+      ln -s ${clang-unwrapped}/lib/clang/${getVersion clang}/include/opencl-c.h $out/
+    '';
+  };
+
+  cmakeFlags = [
+    "-DCCLANG_BUILD_PREBUILDS=ON"
+    "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}"
+    "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage    = https://github.com/intel/intel-graphics-compiler;
+    description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware";
+    license     = licenses.mit;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ gloaming ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/intercal/default.nix b/nixpkgs/pkgs/development/compilers/intercal/default.nix
index 6640c4aa89ab..d890dc0fdfad 100644
--- a/nixpkgs/pkgs/development/compilers/intercal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/intercal/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "intercal";
-  version = "0.30";
+  version = "0.31";
 
   src = fetchurl {
     url = "http://catb.org/esr/intercal/${pname}-${version}.tar.gz";
-    sha256 = "058ppvvgz9r5603ia9jkknbrciypgg4hjbczrv9v1d9w3ak652xk";
+    sha256 = "1z2gpa5rbqb7jscqlf258k0b0jc7d2zkyipb5csjpj6d3sw45n4k";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/development/compilers/ispc/default.nix b/nixpkgs/pkgs/development/compilers/ispc/default.nix
index f240deda0bf9..0c44595b24bc 100644
--- a/nixpkgs/pkgs/development/compilers/ispc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ispc/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages,
-testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
+testedTargets ? ["sse2"] # the default test target is sse4, but that is not supported by all Hydra agents
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   # there are missing dependencies in the Makefile, causing sporadic build failures
   enableParallelBuilding = false;
 
-  doCheck = true;
+  doCheck = stdenv.isLinux;
 
   buildInputs = with llvmPackages; [
     which
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
     homepage = https://ispc.github.io/ ;
     description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language";
     license = licenses.bsd3;
-    platforms = ["x86_64-linux"]; # TODO: buildable on more platforms?
+    platforms = ["x86_64-linux" "x86_64-darwin"]; # TODO: buildable on more platforms?
     maintainers = [ maintainers.aristid ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/jasmin/default.nix b/nixpkgs/pkgs/development/compilers/jasmin/default.nix
new file mode 100644
index 000000000000..ef1b3055190e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/jasmin/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchurl
+, unzip
+, jdk
+, ant
+, makeWrapper
+, jre
+, callPackage
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jasmin";
+  version = "2.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/jasmin/jasmin-${version}/jasmin-${version}.zip";
+    sha256 = "17a41vr96glcdrdbk88805wwvv1r6w8wg7if23yhd0n6rrl0r8ga";
+  };
+
+  nativeBuildInputs = [ unzip jdk ant makeWrapper ];
+
+  buildPhase = "ant all";
+  installPhase =
+  ''
+    install -Dm644 jasmin.jar $out/share/java/jasmin.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/jasmin \
+      --add-flags "-jar $out/share/java/jasmin.jar"
+  '';
+
+  passthru.tests = {
+    minimal-module = callPackage ./test-assemble-hello-world {};
+  };
+
+  meta = with stdenv.lib; {
+    description = "An assembler for the Java Virtual Machine";
+    homepage = "http://jasmin.sourceforge.net/";
+    downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j b/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j
new file mode 100644
index 000000000000..564e6c8a9aa2
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j
@@ -0,0 +1,31 @@
+.class public HelloWorld
+.super java/lang/Object
+
+;
+; standard initializer (calls java.lang.Object's initializer)
+;
+.method public <init>()V
+   aload_0
+   invokenonvirtual java/lang/Object/<init>()V
+   return
+.end method
+
+;
+; main() - prints out Hello World
+;
+.method public static main([Ljava/lang/String;)V
+   .limit stack 2   ; up to two items can be pushed
+
+   ; push System.out onto the stack
+   getstatic java/lang/System/out Ljava/io/PrintStream;
+
+   ; push a string onto the stack
+   ldc "Hello World!"
+
+   ; call the PrintStream.println() method.
+   invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
+
+   ; done
+   return
+.end method
+
diff --git a/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix b/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix
new file mode 100644
index 000000000000..1840edffa779
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, jasmin, jre }:
+
+stdenv.mkDerivation {
+  name = "jasmin-test-assemble-hello-world";
+  meta.timeout = 60;
+  buildCommand = ''
+    ${jasmin}/bin/jasmin ${./HelloWorld.j}
+    ${jre}/bin/java HelloWorld | grep "Hello World"
+    touch $out
+  '';
+}
+
diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
index a6e3dfff4e03..276b9ae150a0 100644
--- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -7,12 +7,12 @@
 
 let drv = stdenv.mkDerivation rec {
   pname = "jetbrainsjdk";
-  version = "164";
+  version = "485.1";
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchurl {
-      url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz";
-      sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi";
+      url = "https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_4-linux-x64-b${version}.tar.gz";
+      sha256 = "18jnn0dra9nsnyllwq0ljxzr58k2pg8d0kg10y39vnxwccic4f76";
     }
   else if stdenv.hostPlatform.system == "x86_64-darwin" then
     fetchurl {
@@ -29,8 +29,7 @@ let drv = stdenv.mkDerivation rec {
   installPhase = ''
     cd ..
 
-    mv $sourceRoot $out
-    jrePath=$out/jre
+    mv $sourceRoot/jbrsdk $out
   '';
 
   postFixup = lib.optionalString (!stdenv.isDarwin) ''
diff --git a/nixpkgs/pkgs/development/compilers/jikes/default.nix b/nixpkgs/pkgs/development/compilers/jikes/default.nix
deleted file mode 100644
index 1247f369c5c9..000000000000
--- a/nixpkgs/pkgs/development/compilers/jikes/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "jikes-1.22";
-  src = fetchurl {
-    url = mirror://sourceforge/jikes/jikes-1.22.tar.bz2;
-    sha256 = "1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c";
-  };
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.epl10;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
index 460ff405b94e..d7c05331991d 100644
--- a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jsonnet";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "google";
     repo = "jsonnet";
-    sha256 = "1fibr1kysbxcf8jp2a4xvs3n7i8d9k2430agxzc9mdyqrh79zlxk";
+    sha256 = "012zapx0xvlkl2y7dljpdn18gymnmzc4mma2yagf9pxnr286lwrf";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/kotlin/default.nix b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
index 90dc20fcd3ea..6ad3f96bf59d 100644
--- a/nixpkgs/pkgs/development/compilers/kotlin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.3.41";
+  version = "1.3.61";
 in stdenv.mkDerivation {
   inherit version;
   pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "0ch1fynqjfsb7jklw3pa6fygrgnl8nz4x4v0id06wq4md23bcjn4";
+    sha256 = "073vb402b03llscgr298iih5lc3y1dn1qxyid2i9hiyrsld1a09r";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/nixpkgs/pkgs/development/compilers/ldc/default.nix b/nixpkgs/pkgs/development/compilers/ldc/default.nix
index 787a9352e225..fff6435b29ea 100644
--- a/nixpkgs/pkgs/development/compilers/ldc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ldc/default.nix
@@ -2,8 +2,8 @@
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
-, version ? "1.16.0"
-, ldcSha256 ? "00kk6pijn1ay2kkrp6b5ismawxr10azwij89k1rkszavqq6rsva2"
+, version ? "1.17.0"
+, ldcSha256 ? "1aag5jfrng6p4ms0fs90hjbv9bcj3hj8h52r68c3cm6racdajbva"
 }:
 
 let
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "fortify" ];
 
   postUnpack = ''
-      patchShebangs .
+    patchShebangs .
   ''
 
   + stdenv.lib.optionalString (!bootstrapVersion) ''
@@ -76,47 +76,31 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ninja makeWrapper unzip ]
-
-  ++ stdenv.lib.optional (!bootstrapVersion) [
-    bootstrapLdc python lit
-  ]
-
-  ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin) [
-    # https://github.com/NixOS/nixpkgs/issues/57120
-    # https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
-    llvm_5
-  ]
-
-  ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
-    llvm_8
-  ]
-
-  ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
-    # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
-    gdb
-  ]
-
-  ++ stdenv.lib.optional (bootstrapVersion) [
-    libconfig llvm_5
-  ]
-
-  ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
-    Foundation
-  ]);
+    ++ stdenv.lib.optionals (!bootstrapVersion) [
+      bootstrapLdc python lit
+    ]
+    ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin)
+      # https://github.com/NixOS/nixpkgs/issues/57120
+      # https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
+      llvm_5
+    ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin)
+      llvm_8
+    ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin)
+      # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
+      gdb
+    ++ stdenv.lib.optionals (bootstrapVersion) [
+      libconfig llvm_5
+    ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin
+      darwin.apple_sdk.frameworks.Foundation;
 
 
   buildInputs = [ curl tzdata ];
 
-  cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) ''
+  cmakeFlags = stdenv.lib.optionals (!bootstrapVersion) [
     "-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J$PWD"
     "-DCMAKE_BUILD_TYPE=Release"
-  '';
-
-  preConfigure = stdenv.lib.optionalString (!bootstrapVersion) ''
-    cmakeFlagsArray=(
-      ${cmakeFlagsString}
-    )
-  '';
+  ];
 
   postConfigure = ''
     export DMD=$PWD/bin/ldmd2
@@ -124,7 +108,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "DMD=$DMD" ];
 
-  fixNames = if stdenv.hostPlatform.isDarwin then ''
+  fixNames = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin  ''
     fixDarwinDylibNames() {
       local flags=()
 
@@ -141,15 +125,11 @@ stdenv.mkDerivation rec {
 
     fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib")
     export DYLD_LIBRARY_PATH=$(pwd)/lib
-  ''
-  else
-    "";
+  '';
 
   # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746
-  additionalExceptions = if stdenv.hostPlatform.isDarwin then
-    "|druntime-test-shared"
-  else
-    "";
+  additionalExceptions = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin
+    "|druntime-test-shared";
 
   doCheck = !bootstrapVersion;
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch
new file mode 100644
index 000000000000..1058cd031767
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch
@@ -0,0 +1,63 @@
+From 7225c7754cc3431d05df367c60f309f27586f188 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Mon, 30 Dec 2019 01:42:52 +0100
+Subject: [PATCH] Fix compilation w/gcc9
+
+Build broken with the following errors:
+
+```
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6078:55: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6078 |                          &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) {
+clang> |                                      ~~~~~~~~~~~~~~~~~^~~
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6126:53: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6126 |                        &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) {
+clang> |                                    ~~~~~~~~~~~~~~~~~^~~
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6191:56: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6191 |   auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) {
+clang> |                                       ~~~~~~~~~~~~~~~~~^~~
+```
+
+This was due to a bug about name-collisions fixed in GCC 9.0[1].
+
+[1] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2211
+---
+ lib/CodeGen/CGOpenMPRuntime.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/CodeGen/CGOpenMPRuntime.cpp b/lib/CodeGen/CGOpenMPRuntime.cpp
+index 6a0edbe..96c281c 100644
+--- a/lib/CodeGen/CGOpenMPRuntime.cpp
++++ b/lib/CodeGen/CGOpenMPRuntime.cpp
+@@ -6073,7 +6073,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(CodeGenFunction &CGF,
+   // Generate the code for the opening of the data environment. Capture all the
+   // arguments of the runtime call by reference because they are used in the
+   // closing of the region.
+-  auto &&BeginThenGen = [&D, &CGF, &BasePointersArray, &PointersArray,
++  auto &&BeginThenGen = [&D, &BasePointersArray, &PointersArray,
+                          &SizesArray, &MapTypesArray, Device,
+                          &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) {
+     // Fill up the arrays with all the mapped variables.
+@@ -6121,7 +6121,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(CodeGenFunction &CGF,
+   };
+ 
+   // Generate code for the closing of the data region.
+-  auto &&EndThenGen = [&CGF, &BasePointersArray, &PointersArray, &SizesArray,
++  auto &&EndThenGen = [&BasePointersArray, &PointersArray, &SizesArray,
+                        &MapTypesArray, Device,
+                        &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) {
+     assert(BasePointersArray && PointersArray && SizesArray && MapTypesArray &&
+@@ -6188,7 +6188,7 @@ void CGOpenMPRuntime::emitTargetDataStandAloneCall(
+          "Expecting either target enter, exit data, or update directives.");
+ 
+   // Generate the code for the opening of the data environment.
+-  auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) {
++  auto &&ThenGen = [&D, Device](CodeGenFunction &CGF, PrePostActionTy &) {
+     // Fill up the arrays with all the mapped variables.
+     MappableExprsHandler::MapValuesArrayTy BasePointers;
+     MappableExprsHandler::MapValuesArrayTy Pointers;
+-- 
+2.23.1
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
index 3d09277ad4cf..1666b3d842d9 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -27,7 +27,10 @@ let
     (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++
     (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include");
 
-    patches = [ ./purity.patch ];
+    patches = [
+      ./purity.patch
+      ./0001-Fix-compilation-w-gcc9.patch
+    ];
 
     postPatch = ''
       sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
index 4dde3be277ab..474cfcde9c0b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -22,7 +22,7 @@ assert (stdenv.hostPlatform != stdenv.buildPlatform) -> !enableSharedLibraries;
 let
   # Used when creating a versioned symlinks of libLLVM.dylib
   versionSuffixes = with stdenv.lib;
-    let parts = splitString "." version; in
+    let parts = splitVersion version; in
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 in
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/clang/0001-Fix-compilation-w-gcc9.patch b/nixpkgs/pkgs/development/compilers/llvm/4/clang/0001-Fix-compilation-w-gcc9.patch
new file mode 100644
index 000000000000..ea9342574087
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/clang/0001-Fix-compilation-w-gcc9.patch
@@ -0,0 +1,59 @@
+From a2af0b02eba35d0670e3e442ff7c61b3e2304edd Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Mon, 30 Dec 2019 02:11:35 +0100
+Subject: [PATCH] Fix compilation w/gcc9
+
+Build broken with the following errors:
+
+```
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6275:24: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6275 |       CodeGenFunction &CGF, PrePostActionTy &) {
+clang> |       ~~~~~~~~~~~~~~~~~^~~
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6321:62: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6321 |   auto &&EndThenGen = [&CGF, Device, &Info](CodeGenFunction &CGF,
+clang> |                                             ~~~~~~~~~~~~~~~~~^~~
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function:
+clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6400:56: error: lambda parameter 'CGF' previously declared as a capture
+clang> 6400 |   auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) {
+clang> |                                       ~~~~~~~~~~~~~~~~~^~~
+```
+---
+ lib/CodeGen/CGOpenMPRuntime.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/CodeGen/CGOpenMPRuntime.cpp b/lib/CodeGen/CGOpenMPRuntime.cpp
+index 4025217..40a73ef 100644
+--- a/lib/CodeGen/CGOpenMPRuntime.cpp
++++ b/lib/CodeGen/CGOpenMPRuntime.cpp
+@@ -6271,7 +6271,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(
+   // Generate the code for the opening of the data environment. Capture all the
+   // arguments of the runtime call by reference because they are used in the
+   // closing of the region.
+-  auto &&BeginThenGen = [&D, &CGF, Device, &Info, &CodeGen, &NoPrivAction](
++  auto &&BeginThenGen = [&D, Device, &Info, &CodeGen, &NoPrivAction](
+       CodeGenFunction &CGF, PrePostActionTy &) {
+     // Fill up the arrays with all the mapped variables.
+     MappableExprsHandler::MapBaseValuesArrayTy BasePointers;
+@@ -6318,7 +6318,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(
+   };
+ 
+   // Generate code for the closing of the data region.
+-  auto &&EndThenGen = [&CGF, Device, &Info](CodeGenFunction &CGF,
++  auto &&EndThenGen = [Device, &Info](CodeGenFunction &CGF,
+                                             PrePostActionTy &) {
+     assert(Info.isValid() && "Invalid data environment closing arguments.");
+ 
+@@ -6397,7 +6397,7 @@ void CGOpenMPRuntime::emitTargetDataStandAloneCall(
+          "Expecting either target enter, exit data, or update directives.");
+ 
+   // Generate the code for the opening of the data environment.
+-  auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) {
++  auto &&ThenGen = [&D, Device](CodeGenFunction &CGF, PrePostActionTy &) {
+     // Fill up the arrays with all the mapped variables.
+     MappableExprsHandler::MapBaseValuesArrayTy BasePointers;
+     MappableExprsHandler::MapValuesArrayTy Pointers;
+-- 
+2.23.1
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/4/clang/default.nix
index f50da39a6249..a90fbe6ae837 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/nixpkgs/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";
 
@@ -37,7 +38,10 @@ let
     ++ stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}"
     ++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include";
 
-    patches = [ ./purity.patch ];
+    patches = [
+      ./purity.patch
+      ./0001-Fix-compilation-w-gcc9.patch
+    ];
 
     postPatch = ''
       sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
@@ -91,7 +95,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/nixpkgs/pkgs/development/compilers/llvm/4/fix-gcc9.patch b/nixpkgs/pkgs/development/compilers/llvm/4/fix-gcc9.patch
new file mode 100644
index 000000000000..8ea5ca970855
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/fix-gcc9.patch
@@ -0,0 +1,33 @@
+diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp
+index f79cb0e6..c6279046 100644
+--- a/lib/Target/Mips/MipsFastISel.cpp
++++ b/lib/Target/Mips/MipsFastISel.cpp
+@@ -32,6 +32,7 @@
+ #include "llvm/MC/MCSymbol.h"
+ #include "llvm/Target/TargetInstrInfo.h"
+ #include "llvm/Support/Debug.h"
++#include <array>
+ 
+ #define DEBUG_TYPE "mips-fastisel"
+ 
+@@ -1268,13 +1269,13 @@ bool MipsFastISel::fastLowerArguments() {
+     return false;
+   }
+ 
+-  const ArrayRef<MCPhysReg> GPR32ArgRegs = {Mips::A0, Mips::A1, Mips::A2,
+-                                            Mips::A3};
+-  const ArrayRef<MCPhysReg> FGR32ArgRegs = {Mips::F12, Mips::F14};
+-  const ArrayRef<MCPhysReg> AFGR64ArgRegs = {Mips::D6, Mips::D7};
+-  ArrayRef<MCPhysReg>::iterator NextGPR32 = GPR32ArgRegs.begin();
+-  ArrayRef<MCPhysReg>::iterator NextFGR32 = FGR32ArgRegs.begin();
+-  ArrayRef<MCPhysReg>::iterator NextAFGR64 = AFGR64ArgRegs.begin();
++   std::array<MCPhysReg, 4> GPR32ArgRegs = {{Mips::A0, Mips::A1, Mips::A2,
++                                            Mips::A3}};
++   std::array<MCPhysReg, 2> FGR32ArgRegs = {{Mips::F12, Mips::F14}};
++   std::array<MCPhysReg, 2> AFGR64ArgRegs = {{Mips::D6, Mips::D7}};
++   auto NextGPR32 = GPR32ArgRegs.begin();
++   auto NextFGR32 = FGR32ArgRegs.begin();
++   auto NextAFGR64 = AFGR64ArgRegs.begin();
+ 
+   struct AllocatedReg {
+     const TargetRegisterClass *RC;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
index 7e8559953524..317a5ea06f48 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
@@ -19,12 +19,13 @@
 let
   # Used when creating a versioned symlinks of libLLVM.dylib
   versionSuffixes = with stdenv.lib;
-    let parts = splitString "." release_version; in
+    let parts = splitVersion release_version; in
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s";
 
@@ -52,6 +53,13 @@ stdenv.mkDerivation ({
       url = "https://bugzilla.redhat.com/attachment.cgi?id=1389687";
       sha256 = "0ga2123aclq3x9w72d0rm0az12m8c1i4r1106vh701hf4cghgbch";
     })
+    ./fix-gcc9.patch
+    (fetchpatch {
+      name = "llvm4-avoid-undefined-behavior-in-unittest.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/D32089-Avoid-undefined-behavior-in-unittest.patch?h=llvm40&id=f459b0bad8aa3b94bc2733d79d176071a32846a6";
+      sha256 = "0x5q6a8lk6xg4ns4qh75fxvvmfnifwvyrq17ck85q8c0753i1irf";
+      extraPrefix = "";
+    })
   ];
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
@@ -166,7 +174,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/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
index 7a3b151f8358..6695609b8ecd 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/llvm/5/fix-gcc9.patch b/nixpkgs/pkgs/development/compilers/llvm/5/fix-gcc9.patch
new file mode 100644
index 000000000000..eaf71f1468de
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/fix-gcc9.patch
@@ -0,0 +1,33 @@
+diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp
+index f79cb0e6..c6279046 100644
+--- a/lib/Target/Mips/MipsFastISel.cpp
++++ b/lib/Target/Mips/MipsFastISel.cpp
+@@ -70,6 +70,7 @@
+ #include <cassert>
+ #include <cstdint>
+ #include <new>
++#include <array>
+ 
+ #define DEBUG_TYPE "mips-fastisel"
+ 
+@@ -1309,13 +1310,13 @@ bool MipsFastISel::fastLowerArguments() {
+     return false;
+   }
+ 
+-  const ArrayRef<MCPhysReg> GPR32ArgRegs = {Mips::A0, Mips::A1, Mips::A2,
+-                                            Mips::A3};
+-  const ArrayRef<MCPhysReg> FGR32ArgRegs = {Mips::F12, Mips::F14};
+-  const ArrayRef<MCPhysReg> AFGR64ArgRegs = {Mips::D6, Mips::D7};
+-  ArrayRef<MCPhysReg>::iterator NextGPR32 = GPR32ArgRegs.begin();
+-  ArrayRef<MCPhysReg>::iterator NextFGR32 = FGR32ArgRegs.begin();
+-  ArrayRef<MCPhysReg>::iterator NextAFGR64 = AFGR64ArgRegs.begin();
++   std::array<MCPhysReg, 4> GPR32ArgRegs = {{Mips::A0, Mips::A1, Mips::A2,
++                                            Mips::A3}};
++   std::array<MCPhysReg, 2> FGR32ArgRegs = {{Mips::F12, Mips::F14}};
++   std::array<MCPhysReg, 2> AFGR64ArgRegs = {{Mips::D6, Mips::D7}};
++   auto NextGPR32 = GPR32ArgRegs.begin();
++   auto NextFGR32 = FGR32ArgRegs.begin();
++   auto NextAFGR64 = AFGR64ArgRegs.begin();
+ 
+   struct AllocatedReg {
+     const TargetRegisterClass *RC;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
index 02db395db571..d26af8438e73 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
@@ -18,12 +18,13 @@
 let
   # Used when creating a versioned symlinks of libLLVM.dylib
   versionSuffixes = with stdenv.lib;
-    let parts = splitString "." release_version; in
+    let parts = splitVersion release_version; in
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
 
@@ -49,6 +50,13 @@ stdenv.mkDerivation ({
       name = "llvm-gcc8-type-mismatch.patch";
       sha256 = "0ga2123aclq3x9w72d0rm0az12m8c1i4r1106vh701hf4cghgbch";
     })
+    ./fix-gcc9.patch
+    #(fetchpatch {
+    #  name = "llvm-fix-gcc9.patch";
+    #  url = "https://reviews.llvm.org/file/data/zs3ck5ryvc5n672fd2kw/PHID-FILE-byoqefzwmkd7qnlip4v2/file";
+    #  sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i";
+    #  stripLen = 1;
+    #})
   ];
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
@@ -149,7 +157,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/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix
index ff9064f455ec..d093379b3c99 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
index 2586602d7378..c6d2c09c2df6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
@@ -21,12 +21,13 @@ let
 
   # Used when creating a versioned symlinks of libLLVM.dylib
   versionSuffixes = with stdenv.lib;
-    let parts = splitString "." release_version; in
+    let parts = splitVersion release_version; in
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 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/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix
index e49c8387f7ef..5ac9a7a2672a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 0912435327ce..a7d4bcb86962 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,11 +7,15 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
-  cmakeFlags = [
+  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}"
     "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCMAKE_C_FLAGS=-nodefaultlibs"
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
     "-DCOMPILER_RT_BUILD_BUILTINS=ON"
@@ -26,7 +30,7 @@ stdenv.mkDerivation {
 
   patches = [
     ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
-  ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch
+  ] ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch
     ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
@@ -37,7 +41,7 @@ stdenv.mkDerivation {
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace cmake/config-ix.cmake \
       --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
     substituteInPlace lib/builtins/int_util.c \
       --replace "#include <stdlib.h>" ""
     substituteInPlace lib/builtins/clear_cache.c \
@@ -49,7 +53,7 @@ stdenv.mkDerivation {
   # Hack around weird upsream RPATH bug
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     ln -s "$out/lib"/*/* "$out/lib"
-  '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
     ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
     ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
     ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
index 7a0716a6eb38..f6f9970d7a6e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version
+, enableShared ? ! stdenv.hostPlatform.isMusl }:
 
 stdenv.mkDerivation {
   pname = "libc++";
@@ -31,7 +32,8 @@ stdenv.mkDerivation {
     "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
     "-DLIBCXX_CXX_ABI=libcxxabi"
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
+  ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ;
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
index b5e6e0e70480..9067bf43a8fa 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
@@ -1,4 +1,6 @@
-{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+{ stdenv, cmake, fetch, libcxx, llvm, version
+  # on musl the shared objects don't build
+, enableShared ? ! stdenv.hostPlatform.isMusl }:
 
 stdenv.mkDerivation {
   pname = "libc++abi";
@@ -7,18 +9,19 @@ stdenv.mkDerivation {
   src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2";
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
 
   postUnpack = ''
     unpackFile ${libcxx.src}
     unpackFile ${llvm.src}
-    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+    cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) )
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export TRIPLE=x86_64-apple-darwin
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
   '';
 
+  cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF";
+
   installPhase = if stdenv.isDarwin
     then ''
       for file in lib/*.dylib; do
@@ -35,10 +38,10 @@ stdenv.mkDerivation {
     else ''
       install -d -m 755 $out/include $out/lib
       install -m 644 lib/libc++abi.a $out/lib
-      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      ${stdenv.lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"}
       install -m 644 ../include/cxxabi.h $out/include
-      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
-      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+      ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"}
+      ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"}
     '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
index cfcda02b4131..c56bbfd0eab9 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
@@ -26,11 +26,12 @@ let
 
   # Used when creating a versioned symlinks of libLLVM.dylib
   versionSuffixes = with stdenv.lib;
-    let parts = splitString "." release_version; in
+    let parts = splitVersion release_version; in
     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";
@@ -94,6 +95,9 @@ in stdenv.mkDerivation ({
     rm test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s
     rm test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
     rm test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s
+  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
+    # Seems to require certain floating point hardware (NEON?)
+    rm test/ExecutionEngine/frem.ll
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
   '';
@@ -172,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/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix
index 6911089250e8..8c540e45b286 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 936c877d58c9..344ff7256755 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -7,11 +7,14 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
-  cmakeFlags = [
+  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}"
     "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "-DCMAKE_C_FLAGS=-nodefaultlibs"
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
     "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
@@ -37,7 +40,7 @@ stdenv.mkDerivation {
   patches = [
     ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
   ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch;
+    ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
   # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
@@ -47,7 +50,7 @@ stdenv.mkDerivation {
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace cmake/config-ix.cmake \
       --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
     substituteInPlace lib/builtins/int_util.c \
       --replace "#include <stdlib.h>" ""
     substituteInPlace lib/builtins/clear_cache.c \
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
index 70e666ba27de..df3d6e796aa0 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
@@ -25,10 +25,11 @@ let
 
   # Used when creating a version-suffixed symlink of libLLVM.dylib
   shortVersion = with stdenv.lib;
-    concatStringsSep "." (take 1 (splitString "." release_version));
+    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";
@@ -108,7 +109,7 @@ in stdenv.mkDerivation ({
     "-DCAN_TARGET_i386=false"
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "-DCMAKE_CROSSCOMPILING=True"
-    "-DLLVM_TABLEGEN=${buildPackages.llvm_7}/bin/llvm-tblgen"
+    "-DLLVM_TABLEGEN=${buildPackages.llvm_8}/bin/llvm-tblgen"
   ];
 
   postBuild = ''
@@ -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/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix b/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
new file mode 100644
index 000000000000..72a2a7331930
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
@@ -0,0 +1,19 @@
+{ runCommand, stdenv, llvm, lld, version }:
+
+let
+  prefix =
+    if stdenv.hostPlatform != stdenv.targetPlatform
+    then "${stdenv.targetPlatform.config}-"
+    else "";
+in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+   mkdir -p $out/bin
+   for prog in ${lld}/bin/*; do
+     ln -s $prog $out/bin/${prefix}$(basename $prog)
+   done
+   for prog in ${llvm}/bin/*; do
+     ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||")
+     ln -sf $prog $out/bin/${prefix}$(basename $prog)
+   done
+   rm -f $out/bin/${prefix}cat
+   ln -s ${lld}/bin/lld $out/bin/${prefix}ld
+''
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch b/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch
new file mode 100644
index 000000000000..a4a0f21b0fcd
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch
@@ -0,0 +1,53 @@
+Index: lib/Driver/ToolChains/BareMetal.cpp
+===================================================================
+--- a/lib/Driver/ToolChains/BareMetal.cpp
++++ b/lib/Driver/ToolChains/BareMetal.cpp
+@@ -157,7 +157,7 @@
+ void BareMetal::AddLinkRuntimeLib(const ArgList &Args,
+                                   ArgStringList &CmdArgs) const {
+   CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" +
+-                                       getTriple().getArchName() + ".a"));
++                                       getTriple().getArchName()));
+ }
+ 
+ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+Index: test/Driver/baremetal.cpp
+===================================================================
+--- a/test/Driver/baremetal.cpp
++++ b/test/Driver/baremetal.cpp
+@@ -13,7 +13,7 @@
+ // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
+-// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
+ 
+ // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -35,7 +35,7 @@
+ // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
+-// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
+ 
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -48,7 +48,7 @@
+ // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
+-// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
+ 
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -61,7 +61,7 @@
+ // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
+-// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
+ 
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
new file mode 100644
index 000000000000..1b779b118a7f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
@@ -0,0 +1,122 @@
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
+, fixDarwinDylibNames
+, enableManpages ? false
+, enablePolly ? false # TODO: get this info from llvm (passthru?)
+}:
+
+let
+  self = stdenv.mkDerivation ({
+    pname = "clang";
+    inherit version;
+
+    src = fetch "clang" "0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p";
+
+    unpackPhase = ''
+      unpackFile $src
+      mv clang-${version}* clang
+      sourceRoot=$PWD/clang
+      unpackFile ${clang-tools-extra_src}
+      mv clang-tools-extra-* $sourceRoot/tools/extra
+    '';
+
+    nativeBuildInputs = [ cmake python ]
+      ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+    buildInputs = [ libxml2 llvm ]
+      ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+    cmakeFlags = [
+      "-DCMAKE_CXX_FLAGS=-std=c++11"
+      "-DCLANGD_BUILD_XPC=OFF"
+    ] ++ stdenv.lib.optionals enableManpages [
+      "-DCLANG_INCLUDE_DOCS=ON"
+      "-DLLVM_ENABLE_SPHINX=ON"
+      "-DSPHINX_OUTPUT_MAN=ON"
+      "-DSPHINX_OUTPUT_HTML=OFF"
+      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+    ] ++ stdenv.lib.optionals enablePolly [
+      "-DWITH_POLLY=ON"
+      "-DLINK_POLLY_INTO_TOOLS=ON"
+    ];
+
+    patches = [
+      ./purity.patch
+      # https://reviews.llvm.org/D51899
+      ./compiler-rt-baremetal.patch
+    ];
+
+    postPatch = ''
+      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
+             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
+             lib/Driver/ToolChains/*.cpp
+
+      # Patch for standalone doc building
+      sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+    '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
+    '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
+      substituteInPlace tools/extra/clangd/CMakeLists.txt \
+        --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
+    '';
+
+    outputs = [ "out" "lib" "python" ];
+
+    # Clang expects to find LLVMgold in its own prefix
+    postInstall = ''
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
+      ln -sv $out/bin/clang $out/bin/cpp
+
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      moveToOutput "lib/libclang-cpp.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+      rm $out/bin/c-index-test
+    '';
+
+    enableParallelBuilding = true;
+
+    passthru = {
+      isClang = true;
+      inherit llvm;
+    } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
+      gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+    };
+
+    meta = {
+      description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+      homepage    = http://llvm.org/;
+      license     = stdenv.lib.licenses.ncsa;
+      platforms   = stdenv.lib.platforms.all;
+    };
+  } // stdenv.lib.optionalAttrs enableManpages {
+    pname = "clang-manpages";
+
+    buildPhase = ''
+      make docs-clang-man
+    '';
+
+    installPhase = ''
+      mkdir -p $out/share/man/man1
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+    '';
+
+    outputs = [ "out" ];
+
+    doCheck = false;
+
+    meta.description = "man page for Clang ${version}";
+  });
+in self
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch b/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch
new file mode 100644
index 000000000000..a6729a9b004e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch
@@ -0,0 +1,30 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+   if (!IsStatic) {
+     if (Args.hasArg(options::OPT_rdynamic))
+       CmdArgs.push_back("-export-dynamic");
+-
+-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
+-      const std::string Loader =
+-          D.DyldPrefix + ToolChain.getDynamicLinker(Args);
+-      CmdArgs.push_back("-dynamic-linker");
+-      CmdArgs.push_back(Args.MakeArgString(Loader));
+-    }
+   }
+ 
+   CmdArgs.push_back("-o");
+-- 
+2.11.0
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch
new file mode 100644
index 000000000000..3cc12b94b200
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch
@@ -0,0 +1,33 @@
+From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Tue, 19 Sep 2017 13:13:06 -0500
+Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
+ needs it
+
+---
+ cmake/Modules/AddCompilerRT.cmake |  8 ------
+ test/asan/CMakeLists.txt          | 52 ---------------------------------------
+ test/tsan/CMakeLists.txt          | 47 -----------------------------------
+ 3 files changed, 107 deletions(-)
+
+diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
+index bc5fb9ff7..b64eb4246 100644
+--- a/cmake/Modules/AddCompilerRT.cmake
++++ b/cmake/Modules/AddCompilerRT.cmake
+@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
+         set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+         set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+       endif()
+-      if(APPLE)
+-        # Ad-hoc sign the dylibs
+-        add_custom_command(TARGET ${libname}
+-          POST_BUILD  
+-          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
+-          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+-        )
+-      endif()
+     endif()
+     install(TARGETS ${libname}
+       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
+2.14.1
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix
new file mode 100644
index 000000000000..75d0614b5142
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix
@@ -0,0 +1,72 @@
+{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
+stdenv.mkDerivation rec {
+  pname = "compiler-rt";
+  inherit version;
+  src = fetch pname "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2";
+
+  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}"
+    "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+    "-DCMAKE_C_FLAGS=-nodefaultlibs"
+    "-DCMAKE_CXX_COMPILER_WORKS=ON"
+    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+    "-DCOMPILER_RT_BUILD_XRAY=OFF"
+    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
+    #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
+    "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+    "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
+  ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+    "-DCOMPILER_RT_BUILD_XRAY=OFF"
+    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [
+    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
+    "-DCOMPILER_RT_OS_DIR=baremetal"
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  patches = [
+    ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+  ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
+
+  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build.
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
+    substituteInPlace lib/builtins/int_util.c \
+      --replace "#include <stdlib.h>" ""
+    substituteInPlace lib/builtins/clear_cache.c \
+      --replace "#include <assert.h>" ""
+    substituteInPlace lib/builtins/cpu_model.c \
+      --replace "#include <assert.h>" ""
+  '';
+
+  # Hack around weird upsream RPATH bug
+  postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
+    ln -s "$out/lib"/*/* "$out/lib"
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
+    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
+    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
+    ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
+    ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
new file mode 100644
index 000000000000..c9e8ce91f0ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
@@ -0,0 +1,197 @@
+{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
+, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
+, buildLlvmTools # tools, but from the previous stage, for cross
+, targetLlvmLibraries # libraries, but from the next stage, for cross
+}:
+
+let
+  release_version = "9.0.1";
+  version = release_version; # differentiating these is important for rc's
+
+  fetch = name: sha256: fetchurl {
+    url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
+    inherit sha256;
+  };
+
+  clang-tools-extra_src = fetch "clang-tools-extra" "01vgzd4k1q93nfs8gyl83mjlc4x0qsgfqw32lacbjzdxg0mdfvxj";
+
+  tools = stdenv.lib.makeExtensible (tools: let
+    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+    mkExtraBuildCommands = cc: ''
+      rsrc="$out/resource-root"
+      mkdir "$rsrc"
+      ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
+      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
+      echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
+    '';
+  in {
+
+    llvm = callPackage ./llvm.nix { };
+    llvm-polly = callPackage ./llvm.nix { enablePolly = true; };
+
+    clang-unwrapped = callPackage ./clang {
+      inherit clang-tools-extra_src;
+    };
+    clang-polly-unwrapped = callPackage ./clang {
+      inherit clang-tools-extra_src;
+      llvm = tools.llvm-polly;
+      enablePolly = true;
+    };
+
+    llvm-manpages = lowPrio (tools.llvm.override {
+      enableManpages = true;
+      python = pkgs.python;  # don't use python-boot
+    });
+
+    clang-manpages = lowPrio (tools.clang-unwrapped.override {
+      enableManpages = true;
+      python = pkgs.python;  # don't use python-boot
+    });
+
+    libclang = tools.clang-unwrapped.lib;
+
+    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+
+    libstdcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      extraPackages = [
+        libstdcxxHook
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    libcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      extraPackages = [
+        targetLlvmLibraries.libcxx
+        targetLlvmLibraries.libcxxabi
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    lld = callPackage ./lld.nix {};
+
+    lldb = callPackage ./lldb.nix {};
+
+    # Below, is the LLVM bootstrapping logic. It handles building a
+    # fully LLVM toolchain from scratch. No GCC toolchain should be
+    # pulled in. As a consequence, it is very quick to build different
+    # targets provided by LLVM and we can also build for what GCC
+    # doesn’t support like LLVM. Probably we should move to some other
+    # file.
+
+    bintools = callPackage ./bintools.nix {};
+
+    lldClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      bintools = wrapBintoolsWith {
+        inherit (tools) bintools;
+      };
+      extraPackages = [
+        targetLlvmLibraries.libcxx
+        targetLlvmLibraries.libcxxabi
+        targetLlvmLibraries.compiler-rt
+      ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [
+        targetLlvmLibraries.libunwind
+      ];
+      extraBuildCommands = ''
+        echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+        echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+      '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) ''
+        echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
+      '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm ''
+        echo "-fno-exceptions" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    lldClangNoLibcxx = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = wrapBintoolsWith {
+        inherit (tools) bintools;
+      };
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = ''
+        echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+        echo "-nostdlib++" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    lldClangNoLibc = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = wrapBintoolsWith {
+        inherit (tools) bintools;
+        libc = null;
+      };
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = ''
+        echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    lldClangNoCompilerRt = wrapCCWith {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = wrapBintoolsWith {
+        inherit (tools) bintools;
+        libc = null;
+      };
+      extraPackages = [ ];
+      extraBuildCommands = ''
+        echo "-nostartfiles" >> $out/nix-support/cc-cflags
+        echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+      '';
+    };
+
+  });
+
+  libraries = stdenv.lib.makeExtensible (libraries: let
+    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+  in {
+
+    compiler-rt = callPackage ./compiler-rt.nix ({} //
+      (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+        stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt;
+      }));
+
+    stdenv = overrideCC stdenv buildLlvmTools.clang;
+
+    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
+
+    libcxx = callPackage ./libc++ ({} //
+      (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+        stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+      }));
+
+    libcxxabi = callPackage ./libc++abi.nix ({} //
+      (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+        stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+        libunwind = libraries.libunwind;
+      }));
+
+    openmp = callPackage ./openmp.nix {};
+
+    libunwind = callPackage ./libunwind.nix ({} //
+      (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+        stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+      }));
+
+  });
+
+in { inherit tools libraries; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch b/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch
new file mode 100644
index 000000000000..e6c2f0406844
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch
@@ -0,0 +1,23 @@
+Index: test/tools/gold/X86/linkonce_odr_unnamed_addr.ll
+===================================================================
+diff --git a/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll b/llvm/trunk/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll
+--- a/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll	(revision 372333)
++++ b/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll	(working copy)
+@@ -3,7 +3,7 @@
+ 
+ ; RUN: opt -module-summary %s -o %t.o
+ ; RUN: opt -module-summary %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2.o
+-; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \
++; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
+ ; RUN:    --plugin-opt=save-temps \
+ ; RUN:    %t.o %t2.o -o %t3.o
+ ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s
+@@ -11,7 +11,7 @@
+ ; Now test when one module is a native object. In that case we must be
+ ; conservative and not auto hide.
+ ; RUN: llc %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2native.o -filetype=obj
+-; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \
++; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
+ ; RUN:    --plugin-opt=save-temps \
+ ; RUN:    %t.o %t2native.o -o %t3.o
+ ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s --check-prefix=NOSUMMARY
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix
new file mode 100644
index 000000000000..1166c7bd76c9
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version
+, enableShared ? true }:
+
+stdenv.mkDerivation {
+  pname = "libc++";
+  inherit version;
+
+  src = fetch "libcxx" "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089";
+
+  postUnpack = ''
+    unpackFile ${libcxxabi.src}
+    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
+  '';
+
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
+
+  preConfigure = ''
+    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
+    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
+  '';
+  nativeBuildInputs = [ cmake ]
+    ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python;
+
+  buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  cmakeFlags = [
+    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+    "-DLIBCXX_LIBCPPABI_VERSION=2"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+  ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
+    ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [
+      "-DLIBCXX_ENABLE_THREADS=OFF"
+      "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
+      "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
+    ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
+
+  enableParallelBuilding = true;
+
+  linkCxxAbi = stdenv.isLinux;
+
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
+
+  meta = {
+    homepage = http://libcxx.llvm.org/;
+    description = "A new implementation of the C++ standard library, targeting C++11";
+    license = with stdenv.lib.licenses; [ ncsa mit ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh
new file mode 100644
index 000000000000..6611259165ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh
@@ -0,0 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+linkCxxAbi="@linkCxxAbi@"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix
new file mode 100644
index 000000000000..fbc9a3731ef8
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix
@@ -0,0 +1,67 @@
+{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version
+, enableShared ? true }:
+
+stdenv.mkDerivation {
+  pname = "libc++abi";
+  inherit version;
+
+  src = fetch "libcxxabi" "1b4aiaa8cirx52vk2p5kfk57qmbqf1ipb4nqnjhdgqps9jm7iyg8";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+
+  cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+  ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [
+    "-DLIBCXXABI_ENABLE_THREADS=OFF"
+    "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
+  ] ++ stdenv.lib.optionals (!enableShared) [
+    "-DLIBCXXABI_ENABLE_SHARED=OFF"
+  ];
+
+  patches = [ ./libcxxabi-no-threads.patch ];
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    unpackFile ${llvm.src}
+    cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm ''
+    patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch}
+  '';
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*.dylib; do
+        # this should be done in CMake, but having trouble figuring out
+        # the magic combination of necessary CMake variables
+        # if you fancy a try, take a look at
+        # http://www.cmake.org/Wiki/CMake_RPATH_handling
+        install_name_tool -id $out/$file $file
+      done
+      make install
+      install -d 755 $out/include
+      install -m 644 ../include/*.h $out/include
+    ''
+    else ''
+      install -d -m 755 $out/include $out/lib
+      install -m 644 lib/libc++abi.a $out/lib
+      install -m 644 ../include/cxxabi.h $out/include
+    '' + stdenv.lib.optionalString enableShared ''
+      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+    '';
+
+  meta = {
+    homepage = http://libcxxabi.llvm.org/;
+    description = "A new implementation of low level support for a standard C++ library";
+    license = with stdenv.lib.licenses; [ ncsa mit ];
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch
new file mode 100644
index 000000000000..787f3e16500e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4138acf..41b4763 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
+                         " is also set to ON.")
+   endif()
+   add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
++  add_definitions(-D_LIBCPP_HAS_NO_THREADS)
+ endif()
+ 
+ if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch
new file mode 100644
index 000000000000..4ebfe46aa813
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
+index 15497d405e0..33f7f18193a 100644
+--- a/cmake/modules/HandleLLVMOptions.cmake
++++ b/cmake/modules/HandleLLVMOptions.cmake
+@@ -127,7 +127,10 @@ else(WIN32)
+       set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
+     endif()
+   else(FUCHSIA OR UNIX)
+-    MESSAGE(SEND_ERROR "Unable to determine platform")
++    if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
++    else()
++      MESSAGE(SEND_ERROR "Unable to determine platform")
++    endif()
+   endif(FUCHSIA OR UNIX)
+ endif(WIN32)
+ 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix
new file mode 100644
index 000000000000..883c36baf062
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix
@@ -0,0 +1,14 @@
+{ stdenv, version, fetch, cmake, fetchpatch, enableShared ? true }:
+
+stdenv.mkDerivation rec {
+  pname = "libunwind";
+  inherit version;
+
+  src = fetch pname "1wb02ha3gl6p0a321hwpll74pz5qvjr11xmjqx62g288f1m10njk";
+
+  nativeBuildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix
new file mode 100644
index 000000000000..775dc2e19056
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetch
+, cmake
+, libxml2
+, llvm
+, version
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lld";
+  inherit version;
+
+  src = fetch pname "10hckfxpapfnh6y9apjiya2jpw9nmbbmh8ayijx89mrg7snjn9l6";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvm libxml2 ];
+
+  outputs = [ "out" "dev" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    moveToOutput include "$dev"
+    moveToOutput lib "$dev"
+  '';
+
+  meta = {
+    description = "The LLVM Linker";
+    homepage    = http://lld.llvm.org/;
+    license     = stdenv.lib.licenses.ncsa;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch b/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch
new file mode 100644
index 000000000000..b075dbaeee0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch
@@ -0,0 +1,31 @@
+--- a/source/Plugins/Process/Linux/Procfs.h
++++ b/source/Plugins/Process/Linux/Procfs.h
+@@ -11,21 +11,12 @@
+ // sys/procfs.h on Android/Linux for all supported architectures.
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
+ 
+-#ifdef __ANDROID__
+-#if defined(__arm64__) || defined(__aarch64__)
+-typedef unsigned long elf_greg_t;
+-typedef elf_greg_t
+-    elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
+-typedef struct user_fpsimd_state elf_fpregset_t;
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#elif defined(__mips__)
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#endif
+-#else // __ANDROID__
++#if !defined(__GLIBC__) && defined(__powerpc__)
++#define pt_regs musl_pt_regs
++#include <sys/procfs.h>
++#undef pt_regs
++#else
+ #include <sys/procfs.h>
+-#endif // __ANDROID__
++#endif
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix
new file mode 100644
index 000000000000..64f111502cc5
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, llvm
+, clang-unwrapped
+, python
+, version
+, darwin
+, lit
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lldb";
+  inherit version;
+
+  src = fetch pname "02gb3fbz09kyw8n71218v5v77ip559x3gqbcp8y3w6n3jpbryywa";
+
+  patches = [ ./lldb-procfs.patch ];
+
+  nativeBuildInputs = [ cmake python which swig lit ];
+  buildInputs = [
+    ncurses
+    zlib
+    libedit
+    libxml2
+    llvm
+  ]
+  ++ stdenv.lib.optionals stdenv.isDarwin [
+    darwin.libobjc
+    darwin.apple_sdk.libs.xpc
+    darwin.apple_sdk.frameworks.Foundation
+    darwin.bootstrap_cmds
+    darwin.apple_sdk.frameworks.Carbon
+    darwin.apple_sdk.frameworks.Cocoa
+  ];
+
+  CXXFLAGS = "-fno-rtti";
+  hardeningDisable = [ "format" ];
+
+  cmakeFlags = [
+    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+    "-DClang_DIR=${clang-unwrapped}/lib/cmake"
+    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    # man page
+    mkdir -p $out/share/man/man1
+    install ../docs/lldb.1 -t $out/share/man/man1/
+
+    # Editor support
+    # vscode:
+    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
+    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A next-generation high-performance debugger";
+    homepage = http://llvm.org/;
+    license = licenses.ncsa;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch
new file mode 100644
index 000000000000..40096fa3497f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch
@@ -0,0 +1,26 @@
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 94d426b..37f7794 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+     ActiveIncludeOption = "-I" + ActiveIncludeDir;
+   }
+ 
++  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++  if (!IsInDevelopmentTree) {
++    bool WantShared = true;
++    for (int i = 1; i < argc; ++i) {
++      StringRef Arg = argv[i];
++      if (Arg == "--link-shared")
++        WantShared = true;
++      else if (Arg == "--link-static")
++        WantShared = false; // the last one wins
++    }
++
++    if (WantShared)
++      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++  }
++
+   /// We only use `shared library` mode in cases where the static library form
+   /// of the components provided are not available; note however that this is
+   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix
new file mode 100644
index 000000000000..acd3ec92897f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix
@@ -0,0 +1,191 @@
+{ stdenv
+, fetch
+, cmake
+, python
+, libffi
+, libbfd
+, libpfm
+, libxml2
+, ncurses
+, version
+, release_version
+, zlib
+, buildPackages
+, debugVersion ? false
+, enableManpages ? false
+, enableSharedLibraries ? true
+, enablePFM ? !(stdenv.isDarwin
+  || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
+)
+, enablePolly ? false
+}:
+
+let
+  inherit (stdenv.lib) optional optionals optionalString;
+
+  # Used when creating a version-suffixed symlink of libLLVM.dylib
+  shortVersion = with stdenv.lib;
+    concatStringsSep "." (take 1 (splitString "." release_version));
+
+in stdenv.mkDerivation (rec {
+  pname = "llvm";
+  inherit version;
+
+  src = fetch pname "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880";
+  polly_src = fetch "polly" "1kqg0isv0kicnylrdp5iajlgd6alc0zx1l3cxc9hs8r3z6fwcjls";
+
+  unpackPhase = ''
+    unpackFile $src
+    mv llvm-${version}* llvm
+    sourceRoot=$PWD/llvm
+  '' + optionalString enablePolly ''
+    unpackFile $polly_src
+    mv polly-* $sourceRoot/tools/polly
+  '';
+
+  outputs = [ "out" "python" ]
+    ++ optional enableSharedLibraries "lib";
+
+  nativeBuildInputs = [ cmake python ]
+    ++ optionals enableManpages [ python.pkgs.sphinx python.pkgs.recommonmark ];
+
+  buildInputs = [ libxml2 libffi ]
+    ++ optional enablePFM libpfm; # exegesis
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  postPatch = optionalString stdenv.isDarwin ''
+    substituteInPlace cmake/modules/AddLLVM.cmake \
+      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
+      --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
+  ''
+  # Patch llvm-config to return correct library path based on --link-{shared,static}.
+  + optionalString (enableSharedLibraries) ''
+    substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
+    patch -p1 < ./llvm-outputs.patch
+  '' + ''
+    # FileSystem permissions tests fail with various special bits
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+    rm unittests/Support/Path.cpp
+  '' + optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../TLI-musl.patch}
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "add_subdirectory(DynamicLibrary)" ""
+    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+    # valgrind unhappy with musl or glibc, but fails w/musl only
+    rm test/CodeGen/AArch64/wineh4.mir
+  '' + optionalString stdenv.hostPlatform.isAarch32 ''
+    # skip failing X86 test cases on 32-bit ARM
+    rm test/DebugInfo/X86/convert-debugloc.ll
+    rm test/DebugInfo/X86/convert-inlined.ll
+    rm test/DebugInfo/X86/convert-linked.ll
+    rm test/tools/dsymutil/X86/op-convert.test
+  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
+    # Seems to require certain floating point hardware (NEON?)
+    rm test/ExecutionEngine/frem.ll
+  '' + ''
+    patchShebangs test/BugPoint/compile-custom.ll.py
+
+    # Fix test so that no extra locale files are needed
+    substituteInPlace test/tools/llvm-ar/mri-utf8.test \
+      --replace en_US.UTF-8 C.UTF-8
+
+    # Fix x86 gold test on non-x86 platforms
+    # (similar fix made to others in this directory previously, FWIW)
+    patch -p1 -i  ${./fix-test-on-non-x86-like-others.patch}
+  '';
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
+    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_ENABLE_RTTI=ON"
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_ENABLE_DUMP=ON"
+  ] ++ optionals enableSharedLibraries [
+    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals enableManpages [
+    "-DLLVM_BUILD_DOCS=ON"
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ] ++ optionals (!isDarwin) [
+    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+  ] ++ optionals (isDarwin) [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DCAN_TARGET_i386=false"
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "-DCMAKE_CROSSCOMPILING=True"
+    "-DLLVM_TABLEGEN=${buildPackages.llvm_9}/bin/llvm-tblgen"
+  ];
+
+  postBuild = ''
+    rm -fR $out
+  '';
+
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+  '';
+
+  postInstall = ''
+    mkdir -p $python/share
+    mv $out/share/opt-viewer $python/share/opt-viewer
+  ''
+  + optionalString enableSharedLibraries ''
+    moveToOutput "lib/libLLVM-*" "$lib"
+    moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
+    substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
+  ''
+  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+    substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+  '';
+
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+
+  checkTarget = "check-all";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.ncsa;
+    maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+} // stdenv.lib.optionalAttrs enableManpages {
+  pname = "llvm-manpages";
+
+  buildPhase = ''
+    make docs-llvm-man
+  '';
+
+  propagatedBuildInputs = [];
+
+  installPhase = ''
+    make -C docs install
+  '';
+
+  postPatch = null;
+  postInstall = null;
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta.description = "man pages for LLVM ${version}";
+})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix
new file mode 100644
index 000000000000..4e0a5535ae35
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetch
+, cmake
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openmp";
+  inherit version;
+
+  src = fetch pname "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w";
+
+  nativeBuildInputs = [ cmake perl ];
+  buildInputs = [ llvm ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Components required to build an executable OpenMP program";
+    homepage    = http://openmp.llvm.org/;
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch b/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch
new file mode 100644
index 000000000000..1f2ac97818eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch
@@ -0,0 +1,412 @@
+From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 24 Sep 2018 11:17:25 -0500
+Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project.
+
+------
+Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc                        |  4 +-
+ lib/interception/interception_linux.cc        |  2 +-
+ lib/interception/interception_linux.h         |  2 +-
+ lib/msan/msan_linux.cc                        |  2 +-
+ lib/sanitizer_common/sanitizer_allocator.cc   |  2 +-
+ .../sanitizer_common_interceptors_ioctl.inc   |  4 +-
+ .../sanitizer_common_syscalls.inc             |  2 +-
+ lib/sanitizer_common/sanitizer_linux.cc       |  8 +++-
+ .../sanitizer_linux_libcdep.cc                | 10 ++---
+ lib/sanitizer_common/sanitizer_platform.h     |  6 +++
+ .../sanitizer_platform_interceptors.h         |  4 +-
+ .../sanitizer_platform_limits_posix.cc        | 37 +++++++++++--------
+ lib/tsan/rtl/tsan_platform_linux.cc           |  2 +-
+ 13 files changed, 51 insertions(+), 34 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 625f32d40..73cf77aca 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -46,7 +46,7 @@
+ #include <link.h>
+ #endif
+ 
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #elif SANITIZER_NETBSD
+@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+   UNIMPLEMENTED();
+ }
+ 
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index 26bfcd8f6..529b234f7 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+ }
+ 
+ // Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+   return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 942c25609..24a4d5080 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+       (::__interception::uptr) & WRAP(func))
+ 
+ // Android,  Solaris and OpenBSD do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+   (::__interception::real_##func = (func##_f)(                \
+        unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 385a650c4..6e30a8ce9 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
+ 
+ #include "msan.h"
+ #include "msan_report.h"
+diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
+index 6bfd5e5ee..048f6154f 100644
+--- a/lib/sanitizer_common/sanitizer_allocator.cc
++++ b/lib/sanitizer_common/sanitizer_allocator.cc
+@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator";
+ 
+ // ThreadSanitizer for Go uses libc malloc/free.
+ #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
+-# if SANITIZER_LINUX && !SANITIZER_ANDROID
++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ extern "C" void *__libc_malloc(uptr size);
+ #  if !SANITIZER_GO
+ extern "C" void *__libc_memalign(uptr alignment, uptr size);
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 2d633c173..b6eb23116 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -104,7 +104,7 @@ static void ioctl_table_fill() {
+   _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   // Conflicting request ids.
+   // _(CDROMAUDIOBUFSIZ, NONE, 0);
+   // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -365,7 +365,7 @@ static void ioctl_table_fill() {
+   _(VT_WAITACTIVE, NONE, 0);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+   _(CYGETDEFTHRESH, WRITE, sizeof(int));
+   _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+   }
+ }
+ 
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+                        void *old_rlim) {
+   if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
+index 96d6c1eff..9e2b7fb9d 100644
+--- a/lib/sanitizer_common/sanitizer_linux.cc
++++ b/lib/sanitizer_common/sanitizer_linux.cc
+@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) {
+ #endif
+ }
+ 
+-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD
++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ extern "C" {
+ SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
+ }
+ #endif
+ 
+-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD &&                \
++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD &&                \
+     !SANITIZER_OPENBSD
+ static void ReadNullSepFileToArray(const char *path, char ***arr,
+                                    int arr_size) {
+@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
+ #elif SANITIZER_NETBSD
+   *argv = __ps_strings->ps_argvstr;
+   *envp = __ps_strings->ps_envstr;
++#elif SANITIZER_NONGNU
++    static const int kMaxArgv = 2000, kMaxEnvp = 2000;
++    ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
++    ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
+ #else // SANITIZER_FREEBSD
+ #if !SANITIZER_GO
+   if (&__libc_stack_end) {
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 4962ff832..438f94dbe 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor,
+ }
+ 
+ #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO &&               \
+-    !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS
++    !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+ 
+ #ifdef __i386__
+@@ -261,7 +261,7 @@ void InitTlsSize() { }
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) ||          \
+      defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) ||    \
+      defined(__arm__)) &&                                                      \
+-    SANITIZER_LINUX && !SANITIZER_ANDROID
++    SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t thread_descriptor_size;
+ 
+@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
+ 
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+   *addr = ThreadSelf();
+   *size = GetTlsSize();
+@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #elif SANITIZER_OPENBSD
+   *addr = 0;
+   *size = 0;
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+   *addr = 0;
+   *size = 0;
+ #elif SANITIZER_SOLARIS
+@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+ #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD ||              \
+-    SANITIZER_OPENBSD || SANITIZER_SOLARIS
++    SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+   uptr addr, size;
+   GetTls(&addr, &size);
+   return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index d81e25580..e10680ac8 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -208,6 +208,12 @@
+ # define SANITIZER_SOLARIS32 0
+ #endif
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ #if defined(__myriad2__)
+ # define SANITIZER_MYRIAD2 1
+ #else
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index f95539a73..6c53b3415 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -39,7 +39,7 @@
+ # include "sanitizer_platform_limits_solaris.h"
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+@@ -322,7 +322,7 @@
+ #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_SHMCTL          \
+   (SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \
+-  ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
++  ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
+     SANITIZER_WORDSIZE == 64))  // NOLINT
+ #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
+ #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index 54da635d7..2f6ff69c3 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+ 
+ #include "sanitizer_platform.h"
+ 
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++#  if !SANITIZER_NONGNU
++#    include <obstack.h>
++#  endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -251,7 +256,7 @@ namespace __sanitizer {
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
+   // has been removed from glibc 2.28.
+ #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int glob_nomatch = GLOB_NOMATCH;
+   int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_termios_sz = sizeof(struct termios);
+   unsigned struct_winsize_sz = sizeof(struct winsize);
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   unsigned struct_arpreq_sz = sizeof(struct arpreq);
+   unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+   unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+   unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+   unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+   unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+ 
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+ 
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(x, y) 0
+@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+ 
+ CHECK_TYPE_SIZE(ether_addr);
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+ 
+@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index de989b780..51a97b554 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -294,7 +294,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int cnt = 0;
+   struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+-- 
+2.19.0
+
diff --git a/nixpkgs/pkgs/development/compilers/manticore/default.nix b/nixpkgs/pkgs/development/compilers/manticore/default.nix
index 1e9b77cfb79b..adfde05e6584 100644
--- a/nixpkgs/pkgs/development/compilers/manticore/default.nix
+++ b/nixpkgs/pkgs/development/compilers/manticore/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
 
 let
-  rev= "4528ccacdfd53d36f5959c005b27cd7ab6175b83";
+  rev = "7376cb20ba5285a6b076a73c821e4743809c1d9d";
 in stdenv.mkDerivation {
   pname = "manticore";
-  version = "2019.09.20";
+  version = "2019.12.03";
  
   src = fetchFromGitHub {
     owner = "ManticoreProject";
     repo = "manticore";
-    sha256 = "1xz7msiq5x2c56zjxydbxlj6r001mm5zszcda6f6v5qfmmd1bakz";
+    sha256 = "17h3ar7d6145dyrm006r3gd5frk3v4apjk383n78dh4vlniv1ay2";
     inherit rev;
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/mruby/default.nix b/nixpkgs/pkgs/development/compilers/mruby/default.nix
index 03f3d56fd93d..e4c756e9c7d3 100644
--- a/nixpkgs/pkgs/development/compilers/mruby/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/neko/default.nix b/nixpkgs/pkgs/development/compilers/neko/default.nix
index 74ccaac388f2..79c4aacbed5b 100644
--- a/nixpkgs/pkgs/development/compilers/neko/default.nix
+++ b/nixpkgs/pkgs/development/compilers/neko/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, boehmgc, zlib, sqlite, pcre, cmake, pkgconfig
-, git, apacheHttpd, apr, aprutil, mysql, mbedtls, openssl, pkgs, gtk2, libpthreadstubs
+, git, apacheHttpd, apr, aprutil, libmysqlclient, mbedtls, openssl, pkgs, gtk2, libpthreadstubs
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig git ];
   buildInputs =
     [ boehmgc zlib sqlite pcre apacheHttpd apr aprutil
-      mysql.connector-c mbedtls openssl libpthreadstubs ]
+      libmysqlclient mbedtls openssl libpthreadstubs ]
       ++ stdenv.lib.optional stdenv.isLinux gtk2
       ++ stdenv.lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security
                                                 pkgs.darwin.apple_sdk.frameworks.Carbon];
diff --git a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index 357f26cf3141..f0c1ba14c48a 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
@@ -14,14 +14,26 @@ let
 in
 with stdenv; mkDerivation rec {
   pname = "nextpnr";
-  version = "2019.08.31";
+  version = "2019.10.13";
 
-  src = fetchFromGitHub {
-    owner  = "yosyshq";
-    repo   = "nextpnr";
-    rev    = "c0b7379e8672b6263152d5e340e62f22179fdc8b";
-    sha256 = "174n962xiwyzy53cn192h9rq95h951k3xy6bs43p5ya592ai5mjh";
-  };
+  srcs = [
+    (fetchFromGitHub {
+      owner  = "YosysHQ";
+      repo   = "nextpnr";
+      rev    = "c365dd1cabc3a4308ab9110534918623622c246b";
+      sha256 = "1344pyq9xb5y1vxsnfgr488drfjsa6ls1jck0z9hwam6vg55s10r";
+      name   = "nextpnr";
+    })
+    (fetchFromGitHub {
+      owner  = "YosysHQ";
+      repo   = "nextpnr-tests";
+      rev    = "8f93e7e0f897b1b5da469919c9a43ba28b623b2a";
+      sha256 = "0zpd0w49k9l7rs3wmi2v8z5s4l4lad5rprs5l83w13667himpzyc";
+      name   = "nextpnr-tests";
+    })
+  ];
+
+  sourceRoot = "nextpnr";
 
   nativeBuildInputs
      = [ cmake ]
@@ -34,14 +46,13 @@ with stdenv; mkDerivation rec {
   enableParallelBuilding = true;
   cmakeFlags =
     [ "-DARCH=generic;ice40;ecp5"
+      "-DBUILD_TESTS=ON"
       "-DICEBOX_ROOT=${icestorm}/share/icebox"
       "-DTRELLIS_ROOT=${trellis}/share/trellis"
       "-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis"
       "-DUSE_OPENMP=ON"
       # warning: high RAM usage
       "-DSERIALIZE_CHIPDB=OFF"
-      # use PyPy for icestorm if enabled
-      "-DPYTHON_EXECUTABLE=${icestorm.pythonInterp}"
     ]
     ++ (lib.optional (!enableGui) "-DBUILD_GUI=OFF")
     ++ (lib.optional (enableGui && stdenv.isDarwin)
@@ -51,9 +62,18 @@ with stdenv; mkDerivation rec {
   # but works ok. We should probably make this overrideable upstream.
   patchPhase = with builtins; ''
     substituteInPlace ./CMakeLists.txt \
-      --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}'
+      --replace 'git log -1 --format=%h' 'echo ${substring 0 11 (elemAt srcs 0).rev}'
+
+    # use PyPy for icestorm if enabled
+    substituteInPlace ./ice40/family.cmake \
+      --replace ''\'''${PYTHON_EXECUTABLE}' '${icestorm.pythonInterp}'
+  '';
+
+  preBuild = ''
+    ln -s ../nextpnr-tests tests
   '';
 
+  doCheck = true;
 
   postFixup = lib.optionalString enableGui ''
     wrapQtApp $out/bin/nextpnr-generic
diff --git a/nixpkgs/pkgs/development/compilers/nim/default.nix b/nixpkgs/pkgs/development/compilers/nim/default.nix
index 4228c368e566..bdb16c922071 100644
--- a/nixpkgs/pkgs/development/compilers/nim/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nim/default.nix
@@ -1,37 +1,24 @@
 # based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml
 
-{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-11_x, openssl, pcre, readline,
-  boehmgc, sfml, tzdata, coreutils, sqlite }:
+{ stdenv, lib, fetchurl, makeWrapper, openssl, pcre, readline,
+  boehmgc, sfml, sqlite }:
 
 stdenv.mkDerivation rec {
   pname = "nim";
-  version = "0.20.2";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
-    sha256 = "0pibil10x0c181kw705phlwk8bn8dy5ghqd9h9fm6i9afrz5ryp1";
+    sha256 = "1q5fx9g40bk4ajghi856w5l34fmrl7avq5j6p0dr2xa4l52ib149";
   };
 
-  doCheck = !stdenv.isDarwin;
-
   enableParallelBuilding = true;
 
-  NIX_LDFLAGS = [
-    "-lcrypto"
-    "-lpcre"
-    "-lreadline"
-    "-lgc"
-    "-lsqlite3"
-  ];
-
-  # 1. nodejs is only needed for tests
-  # 2. we could create a separate derivation for the "written in c" version of nim
-  #    used for bootstrapping, but koch insists on moving the nim compiler around
-  #    as part of building it, so it cannot be read-only
+  NIX_LDFLAGS = "-lcrypto -lpcre -lreadline -lgc -lsqlite3";
 
-  checkInputs = [
-    nodejs-slim-11_x tzdata coreutils
-  ];
+  # we could create a separate derivation for the "written in c" version of nim
+  # used for bootstrapping, but koch insists on moving the nim compiler around
+  # as part of building it, so it cannot be read-only
 
   nativeBuildInputs = [
     makeWrapper
@@ -56,40 +43,6 @@ stdenv.mkDerivation rec {
     runHook postBuild
   '';
 
-  prePatch =
-    let disableTest = ''sed -i '1i discard \"\"\"\n  disabled: true\n\"\"\"\n\n' '';
-        disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' '';
-        disableCompile = ''sed -i -e 's/^/#/' '';
-    in ''
-      substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
-      substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-
-      # reported upstream: https://github.com/nim-lang/Nim/issues/11435
-      ${disableTest} ./tests/misc/tstrace.nim
-
-      # runs out of memory on a machine with 8GB RAM
-      ${disableTest} ./tests/system/t7894.nim
-
-      # requires network access (not available in the build container)
-      ${disableTest} ./tests/stdlib/thttpclient.nim
-    '' + lib.optionalString stdenv.isAarch64 ''
-      # supposedly broken on aarch64
-      ${disableStdLibTest} ./lib/pure/stats.nim
-
-      # reported upstream: https://github.com/nim-lang/Nim/issues/11463
-      ${disableCompile} ./lib/nimhcr.nim
-      ${disableTest} ./tests/dll/nimhcr_unit.nim
-      ${disableTest} ./tests/dll/nimhcr_integration.nim
-    '';
-
-  checkPhase = ''
-    runHook preCheck
-
-    ./koch tests --nim:bin/nim all
-
-    runHook postCheck
-  '';
-
   installPhase = ''
     runHook preInstall
 
@@ -97,7 +50,10 @@ stdenv.mkDerivation rec {
     ./koch install $out
     mv $out/nim/bin/* $out/bin/ && rmdir $out/nim/bin
     mv $out/nim/*     $out/     && rmdir $out/nim
+
+    # Fortify hardening appends -O2 to gcc flags which is unwanted for unoptimized nim builds.
     wrapProgram $out/bin/nim \
+      --run 'NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}' \
       --suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
 
     runHook postInstall
@@ -107,7 +63,7 @@ stdenv.mkDerivation rec {
     description = "Statically typed, imperative programming language";
     homepage = "https://nim-lang.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ ehmry peterhoeg ];
+    maintainers = with maintainers; [ ehmry ];
     platforms = with platforms; linux ++ darwin; # arbitrary
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
index 556aefd37049..a6d2bcd875e1 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation (rec {
 
   prefixKey = "-prefix ";
   configureFlags = ["-no-tk" "-x11lib" xlibsWrapper];
-  buildFlags = "world bootstrap world.opt";
+  buildFlags = [ "world" "bootstrap" "world.opt" ];
   buildInputs = [xlibsWrapper ncurses];
   installTargets = "install installopt";
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
index 4be414905348..f582ef9834a6 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.11.2.nix
@@ -7,10 +7,10 @@ let
 in
 
 stdenv.mkDerivation rec {
-  
+
   pname = "ocaml";
   version = "3.11.2";
-  
+
   src = fetchurl {
     url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${pname}-${version}.tar.bz2";
     sha256 = "86f3387a0d7e7c8be2a3c53af083a5a726e333686208d5ea0dd6bb5ac3f58143";
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   prefixKey = "-prefix ";
   configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
-  buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
+  buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
   buildInputs = [ncurses] ++ optionals useX11 [ xlibsWrapper ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix b/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
index edb3acdbdb1a..1026b1bd8d75 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -7,10 +7,10 @@ let
 in
 
 stdenv.mkDerivation rec {
-  
+
   pname = "ocaml";
   version = "3.12.1";
-  
+
   src = fetchurl {
     url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${pname}-${version}.tar.bz2";
     sha256 = "13cmhkh7s6srnlvhg3s9qzh3a5dbk2m9qr35jzq922sylwymdkzd";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   prefixKey = "-prefix ";
   configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
-  buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
+  buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
   buildInputs = [ncurses] ++ optionals useX11 [ xlibsWrapper ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   patches = optionals stdenv.isDarwin [ ./3.12.1-darwin-fix-configure.patch ];
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix b/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
index 2669e8224bff..a4b21251bd18 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -3,22 +3,22 @@
 let
    useX11 = !stdenv.isAarch32 && !stdenv.isMips;
    useNativeCompilers = !stdenv.isMips;
-   inherit (stdenv.lib) optionals optionalString;
+   inherit (stdenv.lib) optional optionals optionalString;
 in
 
 stdenv.mkDerivation rec {
   pname = "ocaml";
   version = "4.00.1";
-  
+
   src = fetchurl {
     url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${pname}-${version}.tar.bz2";
     sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951";
   };
 
   prefixKey = "-prefix ";
-  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
-  buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
-  buildInputs = [ncurses] ++ optionals useX11 [ xlibsWrapper ];
+  configureFlags = [ "-no-tk" ] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
+  buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
+  buildInputs = [ ncurses ] ++ optional useX11 xlibsWrapper;
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   preConfigure = ''
     CAT=$(type -tp cat)
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix b/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix
new file mode 100644
index 000000000000..4b56d82eba54
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix
@@ -0,0 +1,6 @@
+import ./generic.nix {
+  major_version = "4";
+  minor_version = "09";
+  patch_version = "0";
+  sha256 = "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj";
+}
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix b/nixpkgs/pkgs/development/compilers/ocaml/generic.nix
index 9557d0a79aeb..6980b6e5ff13 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix
+++ b/nixpkgs/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,17 +43,22 @@ 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";
+  buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
   buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
     ++ optionals useX11 [ libX11 xorgproto ];
-  installTargets = "install" + optionalString useNativeCompilers " installopt";
+  installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
   preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index aa50cf225cac..1f53c4f0e782 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation ({
 
   prefixKey = "-prefix ";
   configureFlags = ["-no-tk" "-x11lib" xlibsWrapper];
-  buildFlags = "world bootstrap world.opt";
+  buildFlags = [ "world" "bootstrap" "world.opt" ];
   buildInputs = [xlibsWrapper ncurses];
   installTargets = "install installopt";
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/11.nix
index 57911f2d58e6..b8381feef095 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/11.nix
@@ -61,13 +61,13 @@ let
 
     separateDebugInfo = true;
 
-    NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+    NIX_CFLAGS_COMPILE = "-Wno-error";
 
-    NIX_LDFLAGS = lib.optionals (!headless) [
+    NIX_LDFLAGS = toString (lib.optionals (!headless) [
       "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
     ] ++ lib.optionals (!headless && enableGnome2) [
       "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
-    ];
+    ]);
 
     buildFlags = [ "all" ];
 
@@ -106,7 +106,7 @@ let
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
       cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/8.nix b/nixpkgs/pkgs/development/compilers/openjdk/8.nix
index 1a5848cd1a68..c6b3644fecca 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/8.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/8.nix
@@ -140,7 +140,7 @@ let
 
     separateDebugInfo = true;
 
-    NIX_CFLAGS_COMPILE = [
+    NIX_CFLAGS_COMPILE = toString ([
       # glibc 2.24 deprecated readdir_r so we need this
       # See https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg49006.html
       "-Wno-error=deprecated-declarations"
@@ -151,13 +151,13 @@ let
       "-fno-delete-null-pointer-checks"
       "-std=gnu++98"
       "-Wno-error"
-    ];
+    ]);
 
-    NIX_LDFLAGS= lib.optionals (!headless) [
+    NIX_LDFLAGS= toString (lib.optionals (!headless) [
       "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
     ] ++ lib.optionals (!headless && enableGnome2) [
       "-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
-    ];
+    ]);
 
     buildFlags = [ "all" ];
 
@@ -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
@@ -231,7 +236,7 @@ let
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
       cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
index 4c808302b4fa..0b659b95aa8b 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
index 045901b1bae6..bc7a33932b27 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -7,11 +7,11 @@ let
   };
 
   jdk = stdenv.mkDerivation {
-    name = "zulu1.8.0_121-8.20.0.5";
+    name = "zulu1.8.0_222-8.40.0.25-ca-fx";
 
     src = fetchurl {
-      url = "http://cdn.azul.com/zulu/bin/zulu8.20.0.5-jdk8.0.121-macosx_x64.zip";
-      sha256 = "2a58bd1d9b0cbf0b3d8d1bcdd117c407e3d5a0ec01e2f53565c9bec5cf9ea78b";
+      url = "http://cdn.azul.com/zulu/bin/zulu8.40.0.25-ca-fx-jdk8.0.222-macosx_x64.zip";
+      sha256 = "1mal8bdc94q7ahx7p3xggy3qpxr6h83g2y01wzgvnqjd8n5i3qr1";
       curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
     };
 
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
index 58e4ba990149..c954a8e2cf85 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/default.nix b/nixpkgs/pkgs/development/compilers/openjdk/default.nix
index 094bd57e6e98..b2d511173c45 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/default.nix
@@ -69,13 +69,13 @@ let
 
     separateDebugInfo = true;
 
-    NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+    NIX_CFLAGS_COMPILE = "-Wno-error";
 
-    NIX_LDFLAGS = lib.optionals (!headless) [
+    NIX_LDFLAGS = toString (lib.optionals (!headless) [
       "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
     ] ++ lib.optionals (!headless && enableGnome2) [
       "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
-    ];
+    ]);
 
     buildFlags = [ "all" ];
 
@@ -114,7 +114,7 @@ let
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
       cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
index 9e6d30efda81..c6bff3961088 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -83,6 +83,9 @@ in makePackage {
     cp -r build/modular-sdk $out
   '';
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   stripDebugList = [ "." ];
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
index 418c58ac683e..30c8d36fdfca 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
@@ -83,6 +83,9 @@ in makePackage {
     cp -r build/modular-sdk $out
   '';
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   stripDebugList = [ "." ];
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index e80d81dc5a00..a96e703b28cf 100644
--- a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -156,7 +156,7 @@ let result = stdenv.mkDerivation rec {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
@@ -201,4 +201,4 @@ let result = stdenv.mkDerivation rec {
     platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "aarch64-linux" ]; # some inherit jre.meta.platforms
   };
 
-}; in stdenv.lib.trivial.warn "Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license. See https://java.com/en/download/release_notice.jsp for more information." result
+}; in result
diff --git a/nixpkgs/pkgs/development/compilers/orc/default.nix b/nixpkgs/pkgs/development/compilers/orc/default.nix
index 4540a3016106..987c86ba2649 100644
--- a/nixpkgs/pkgs/development/compilers/orc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/orc/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = with licenses; [ bsd3 bsd2 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/osl/default.nix b/nixpkgs/pkgs/development/compilers/osl/default.nix
index e4d3398476e6..86a13a776cee 100644
--- a/nixpkgs/pkgs/development/compilers/osl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/osl/default.nix
@@ -8,13 +8,13 @@ in clangStdenv.mkDerivation rec {
   # In theory this could use GCC + Clang rather than just Clang,
   # but https://github.com/NixOS/nixpkgs/issues/29877 stops this
   name = "openshadinglanguage-${version}";
-  version = "1.10.6";
+  version = "1.10.8";
 
   src = fetchFromGitHub {
     owner = "imageworks";
     repo = "OpenShadingLanguage";
-    rev = "Release-1.10.6";
-    sha256 = "1g8g853iq56knlvn1hdsck78by3843vyly9wji5ip41r6i2s0zla";
+    rev = "Release-1.10.8";
+    sha256 = "1vfdbs1yprr22nx64ff89jcqabfw0md8drifpbzqn2v6ipc8gz6a";
   };
 
   cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ];
diff --git a/nixpkgs/pkgs/development/compilers/pakcs/curry-base.nix b/nixpkgs/pkgs/development/compilers/pakcs/curry-base.nix
index 2d98699d2836..b34a2146383c 100644
--- a/nixpkgs/pkgs/development/compilers/pakcs/curry-base.nix
+++ b/nixpkgs/pkgs/development/compilers/pakcs/curry-base.nix
@@ -3,7 +3,7 @@
 }:
 mkDerivation {
   pname = "curry-base";
-  version = "1.0.0";
+  version = "1.1.0";
   src = ./.;
   libraryHaskellDepends = [
     base containers directory extra filepath mtl parsec pretty time
diff --git a/nixpkgs/pkgs/development/compilers/pakcs/curry-frontend.nix b/nixpkgs/pkgs/development/compilers/pakcs/curry-frontend.nix
index d94bef9ec7f5..b169578c7c38 100644
--- a/nixpkgs/pkgs/development/compilers/pakcs/curry-frontend.nix
+++ b/nixpkgs/pkgs/development/compilers/pakcs/curry-frontend.nix
@@ -1,21 +1,23 @@
-{ mkDerivation, base, Cabal, containers, curry-base, directory
-, extra, filepath, mtl, network-uri, pretty, process, set-extra
-, stdenv, transformers
+{ mkDerivation, base, bytestring, Cabal, containers, curry-base
+, directory, extra, file-embed, filepath, mtl, network-uri, pretty
+, process, set-extra, stdenv, template-haskell, transformers
 }:
 mkDerivation {
   pname = "curry-frontend";
-  version = "1.0.2";
+  version = "1.0.4";
   src = ./.;
   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 ];
   homepage = "http://curry-language.org";
diff --git a/nixpkgs/pkgs/development/compilers/pakcs/default.nix b/nixpkgs/pkgs/development/compilers/pakcs/default.nix
index a118e7ab73ba..94b6daa888e5 100644
--- a/nixpkgs/pkgs/development/compilers/pakcs/default.nix
+++ b/nixpkgs/pkgs/development/compilers/pakcs/default.nix
@@ -4,13 +4,13 @@
 , curl, git, unzip, gnutar, coreutils, sqlite }:
 
 let
-  name = "pakcs-2.1.1";
+  name = "pakcs-2.2.0";
 
   # Don't switch to development release without a reason, because its
   # source updates without version bump. Prefer current release instead.
   src = fetchurl {
     url = "https://www.informatik.uni-kiel.de/~pakcs/download/${name}-src.tar.gz";
-    sha256 = "112v9ynqfbbm4x770mcfrai9v5bh7c3zn7jka80pv6v4y65r778c";
+    sha256 = "0c0a6cp9lwha5i90kv9ya2zi1ggnvkf4gwjfzbffgwwa77s2wz2l";
   };
 
   curry-frontend = (haskellPackages.override {
@@ -43,9 +43,14 @@ in stdenv.mkDerivation {
     # Since we can't expand $out in `makeFlags`
     #makeFlags="$makeFlags PAKCSINSTALLDIR=$out/pakcs"
 
-    substituteInPlace currytools/cpm/src/CPM/Repository.curry \
-      --replace "/bin/rm" "rm"
-  '';
+    for file in currytools/cpm/src/CPM/Repository.curry \
+                currytools/cpm/src/CPM/Repository/CacheDB.curry \
+                scripts/compile-all-libs.sh \
+                scripts/cleancurry.sh \
+                examples/test.sh testsuite/test.sh lib/test.sh; do
+        substituteInPlace $file --replace "/bin/rm" "rm"
+    done
+  '' ;
 
   # cypm new: EXISTENCE ERROR: source_sink
   # "/tmp/nix-build-pakcs-2.0.2.drv-0/pakcs-2.0.2/currytools/cpm/templates/LICENSE"
diff --git a/nixpkgs/pkgs/development/compilers/polyml/5.6.nix b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
index 370c08f001a7..70a56e6f41ed 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = [ #Add your name here!
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/polyml/5.7.nix b/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
index eef972a2cc3c..db1c7613f65b 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/5.7.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.polyml.org/;
     license = licenses.lgpl21;
     platforms = with platforms; (linux ++ darwin);
-    maintainers = with maintainers; [ z77z yurrriq ];
+    maintainers = with maintainers; [ maggesi yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/polyml/default.nix b/nixpkgs/pkgs/development/compilers/polyml/default.nix
index 5ab13d5f761f..7be5fd993aef 100644
--- a/nixpkgs/pkgs/development/compilers/polyml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/polyml/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.polyml.org/;
     license = licenses.lgpl21;
     platforms = with platforms; (linux ++ darwin);
-    maintainers = with maintainers; [ z77z yurrriq ];
+    maintainers = with maintainers; [ maggesi yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/default.nix b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
index 85641c351d49..f5bcfa20aa0d 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/default.nix
+++ b/nixpkgs/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.30.0";
+  version = "0.33.1";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "1gs9x4rw4mfv499j3k1brm8gbz7pjl8dyr7v68pa2f563cbzwaq9";
+    sha256 = "0wqbnvxdzzwr9q4v9ha9r9jjymr6y8ba1rb2lkzrng4g9p6xqbxy";
   };
 
-  buildInputs = [ llvm makeWrapper which ];
+  buildInputs = [ llvm makeWrapper which libxml2 ];
   propagatedBuildInputs = [ cc ];
 
   # Disable problematic networking tests
@@ -54,6 +54,8 @@ stdenv.mkDerivation ( rec {
 
   checkTarget = "test-ci";
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-move" ];
+
   preCheck = ''
     export PONYPATH="$out/lib:${stdenv.lib.makeLibraryPath [ pcre2 libressl ]}"
   '';
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
index 6719293af2a7..23e7f3b28f7f 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
index d25cd9fee770..f1126fdeddfd 100644
--- a/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.0";
+  version = "0.13.5";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0xpisy38gj6fgyyzm6fdl0v819dhjmil4634xxangvhvs7jf5il0";
+      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "06g5q69yv6c3alq9vr8zjqqzamlii7xf6vj9j52akjq5lww214ba";
+      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
     };
 
 
diff --git a/nixpkgs/pkgs/development/compilers/rasm/default.nix b/nixpkgs/pkgs/development/compilers/rasm/default.nix
new file mode 100644
index 000000000000..ced0855597c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/rasm/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "rasm";
+  version = "0.117";
+
+  src = fetchurl {
+    url = "www.roudoudou.com/export/cpc/rasm/${pname}_v0117_src.zip";
+    sha256 = "1hwily4cfays59qm7qd1ax48i7cpbxhs5l9mfpyn7m2lxsfqrl3z";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ unzip ];
+
+  buildPhase = ''
+      # according to official documentation
+      cc rasm_v*.c -O2 -lm -lrt -march=native -o rasm
+  '';
+
+  installPhase = ''
+    install -Dt $out/bin rasm
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.roudoudou.com/rasm/";
+    description = "Z80 assembler";
+    # use -n option to display all licenses
+    license = licenses.mit; # expat version
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/reason/default.nix b/nixpkgs/pkgs/development/compilers/reason/default.nix
index 5ade7fd6fbae..20286dcc43c9 100644
--- a/nixpkgs/pkgs/development/compilers/reason/default.nix
+++ b/nixpkgs/pkgs/development/compilers/reason/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-reason-${version}";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "reason";
-    rev = "ea207004e021efef5a92ecd011d9d5b9b16bbded";
-    sha256 = "0cdjy7sw15rlk63prrwy8lavqrz8fqwsgwr19ihvj99x332r98kk";
+    rev = "aea245a43eb44034d2fccac7028b640a437af239";
+    sha256 = "0ff7rjxbsg9zkq6sxlm9bkx7yk8x2cvras7z8436msczgd1wmmyf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/rtop \
       --prefix PATH : "${utop}/bin" \
-      --set CAML_LD_LIBRARY_PATH ${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib:$CAML_LD_LIBRARY_PATH \
-      --set OCAMLPATH $out/lib/ocaml/${ocaml.version}/site-lib:$OCAMLPATH
+      --prefix CAML_LD_LIBRARY_PATH : "${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib" \
+      --prefix OCAMLPATH : "$out/lib/ocaml/${ocaml.version}/site-lib"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/compilers/rgbds/default.nix b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
index 3856ced250e7..bf2594b9bf4c 100644
--- a/nixpkgs/pkgs/development/compilers/rgbds/default.nix
+++ b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
@@ -6,15 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "rgbds";
-  version = "0.3.8";
+  version = "0.3.9";
   src = fetchFromGitHub {
     owner = "rednex";
     repo = "rgbds";
     rev = "v${version}";
-    sha256 = "0db37z886026svhj6qnc3wk56sndbnz1vi41gn2k3bl6ppbnjlpk";
+    sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv";
   };
   nativeBuildInputs = [ bison flex pkg-config libpng ];
-  installFlags = "PREFIX=\${out}";
+  installFlags = [ "PREFIX=\${out}" ];
 
   meta = with stdenv.lib; {
     homepage = https://rednex.github.io/rgbds/;
diff --git a/nixpkgs/pkgs/development/compilers/rust/1_38_0.nix b/nixpkgs/pkgs/development/compilers/rust/1_38_0.nix
new file mode 100644
index 000000000000..be43e074228d
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/rust/1_38_0.nix
@@ -0,0 +1,21 @@
+import ./default.nix {
+  rustcVersion = "1.38.0";
+  rustcSha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
+
+  # Note: the version MUST be one version prior to the version we're
+  # building
+  bootstrapVersion = "1.37.0";
+
+  # fetch hashes by running `print-hashes.sh 1.37.0`
+  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";
+    x86_64-apple-darwin = "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d";
+  };
+
+  selectRustPackage = pkgs: pkgs.rust_1_38_0;
+}
diff --git a/nixpkgs/pkgs/development/compilers/rust/1_40_0.nix b/nixpkgs/pkgs/development/compilers/rust/1_40_0.nix
new file mode 100644
index 000000000000..2280605439ff
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/rust/1_40_0.nix
@@ -0,0 +1,29 @@
+# New rust versions should first go to staging.
+# Things to check after updating:
+# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
+#    i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
+#    This testing can be also done by other volunteers as part of the pull
+#    request review, in case platforms cannot be covered.
+# 2. The LLVM version used for building should match with rust upstream.
+# 3. Firefox and Thunderbird should still build on x86_64-linux.
+import ./default.nix {
+  rustcVersion = "1.40.0";
+  rustcSha256 = "1ba9llwhqm49w7sz3z0gqscj039m53ky9wxzhaj11z6yg1ah15yx";
+
+  # Note: the version MUST be one version prior to the version we're
+  # building
+  bootstrapVersion = "1.39.0";
+
+  # fetch hashes by running `print-hashes.sh 1.39.0`
+  bootstrapHashes = {
+    i686-unknown-linux-gnu = "36e31b3069c5be4b1fe3c8f7588ca787f13f91ab7170d2b24c6b07285816d0e5";
+    x86_64-unknown-linux-gnu = "b10a73e5ba90034fe51f0f02cb78f297ed3880deb7d3738aa09dc5a4d9704a25";
+    arm-unknown-linux-gnueabihf = "ea08d78a718cd34e67733526c70f3be460605dec8284bdeda36e0c6dd6222eca";
+    armv7-unknown-linux-gnueabihf = "41186745a97e6b76fb7a3a049882fb4869b526e98a66c05a133518515037f0d7";
+    aarch64-unknown-linux-gnu = "e27dc8112fe577012bd88f30e7c92dffd8c796478ce386c49465c03b6db8209f";
+    i686-apple-darwin = "0ada2ed87cc449ed470dce3b57b15bfd5c8c52b01d6116e6b1edc9a3e97836aa";
+    x86_64-apple-darwin = "3736d49c5e9592844e1a5d5452883aeaf8f1e25d671c1bc8f01e81c1766603b5";
+  };
+
+  selectRustPackage = pkgs: pkgs.rust_1_40_0;
+}
diff --git a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
index 43a72985ddec..7c0b46d55931 100644
--- a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,38 +1,11 @@
-{ stdenv, fetchurl, callPackage }:
+{ stdenv, fetchurl, rust, callPackage, version, hashes }:
 
 let
-  # Note: the version MUST be one version prior to the version we're
-  # building
-  version = "1.36.0";
-
-  # fetch hashes by running `print-hashes.sh 1.36.0`
-  hashes = {
-    i686-unknown-linux-gnu = "9f95c3e96622a792858c8a1c9274fa63e6992370493b27c1ac7299a3bec5156d";
-    x86_64-unknown-linux-gnu = "15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55";
-    armv7-unknown-linux-gnueabihf = "798181a728017068f9eddfa665771805d97846cd87bddcd67e0fe27c8d082ceb";
-    aarch64-unknown-linux-gnu = "db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d";
-    i686-apple-darwin = "3dbc34fdea8bc030badf9c8b2572c09fd3f5369b59ac099fc521064b390b9e60";
-    x86_64-apple-darwin = "91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325";
-  };
-
-  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/nixpkgs/pkgs/development/compilers/rust/cargo.nix b/nixpkgs/pkgs/development/compilers/rust/cargo.nix
index 2bf2722818b9..f639d330566d 100644
--- a/nixpkgs/pkgs/development/compilers/rust/cargo.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/cargo.nix
@@ -1,4 +1,4 @@
-{ stdenv, file, curl, pkgconfig, python, openssl, cmake, zlib
+{ stdenv, file, curl, pkgconfig, python3, openssl, cmake, zlib
 , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2
 , CoreFoundation, Security
 }:
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
   dontUpdateAutotoolsGnuConfigScripts = true;
 
   nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
-  buildInputs = [ cacert file curl python openssl zlib libgit2 ]
+  buildInputs = [ cacert file curl python3 openssl zlib libgit2 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG = 1;
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage {
   meta = with stdenv.lib; {
     homepage = https://crates.io;
     description = "Downloads your Rust project's dependencies and builds your project";
-    maintainers = with maintainers; [ wizeman retrry ];
+    maintainers = with maintainers; [ retrry ];
     license = [ licenses.mit licenses.asl20 ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/compilers/rust/default.nix b/nixpkgs/pkgs/development/compilers/rust/default.nix
index a39cd785cf7c..60e31c6def47 100644
--- a/nixpkgs/pkgs/development/compilers/rust/default.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/default.nix
@@ -1,3 +1,9 @@
+{ rustcVersion
+, rustcSha256
+, bootstrapVersion
+, bootstrapHashes
+, selectRustPackage
+}:
 { stdenv, lib
 , buildPackages
 , newScope, callPackage
@@ -5,17 +11,25 @@
 , llvmPackages_5
 , pkgsBuildTarget, pkgsBuildBuild
 }: rec {
-  makeRustPlatform = { rustc, cargo, ... }: {
+  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, ... }: rec {
     rust = {
       inherit rustc cargo;
     };
 
-    buildRustPackage = callPackage ../../../build-support/rust {
-      inherit rustc cargo;
+    fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix {
+      inherit cargo;
+    };
 
-      fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix {
-        inherit cargo;
-      };
+    buildRustPackage = callPackage ../../../build-support/rust {
+      inherit rustc cargo fetchcargo;
     };
 
     rustcSrc = callPackage ./rust-src.nix {
@@ -36,21 +50,27 @@
   # cycles / purify builds). In this way, nixpkgs would be in control of all
   # bootstrapping.
   packages = {
-    prebuilt = callPackage ./bootstrap.nix {};
+    prebuilt = callPackage ./bootstrap.nix {
+      version = bootstrapVersion;
+      hashes = bootstrapHashes;
+    };
     stable = lib.makeScope newScope (self: let
       # Like `buildRustPackages`, but may also contain prebuilt binaries to
       # break cycle. Just like `bootstrapTools` for nixpkgs as a whole,
       # nothing in the final package set should refer to this.
       bootstrapRustPackages = self.buildRustPackages.overrideScope' (_: _:
         lib.optionalAttrs (stdenv.buildPlatform == stdenv.hostPlatform)
-          buildPackages.rust.packages.prebuilt);
+          (selectRustPackage buildPackages).packages.prebuilt);
       bootRustPlatform = makeRustPlatform bootstrapRustPackages;
     in {
       # Packages suitable for build-time, e.g. `build.rs`-type stuff.
-      buildRustPackages = buildPackages.rust.packages.stable;
+      buildRustPackages = (selectRustPackage buildPackages).packages.stable;
       # Analogous to stdenv
       rustPlatform = makeRustPlatform self.buildRustPackages;
       rustc = self.callPackage ./rustc.nix ({
+        version = rustcVersion;
+        sha256 = rustcSha256;
+
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
       } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) {
diff --git a/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
deleted file mode 100644
index 583a6027f83a..000000000000
--- a/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ru rustc-1.36.0-src-orig/src/libstd/net/tcp.rs rustc-1.36.0-src/src/libstd/net/tcp.rs
---- rustc-1.36.0-src-orig/src/libstd/net/tcp.rs	2019-07-03 10:00:00.000000000 +0200
-+++ rustc-1.36.0-src/src/libstd/net/tcp.rs	2019-07-07 11:33:35.378130207 +0200
-@@ -973,6 +973,7 @@
-         }
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn listen_localhost() {
-         let socket_addr = next_test_ip4();
-@@ -1031,6 +1032,7 @@
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn read_eof() {
-         each_ip(&mut |addr| {
-@@ -1050,6 +1052,7 @@
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn write_close() {
-         each_ip(&mut |addr| {
-@@ -1076,6 +1079,7 @@
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn multiple_connect_serial() {
-         each_ip(&mut |addr| {
-@@ -1098,6 +1102,7 @@
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn multiple_connect_interleaved_greedy_schedule() {
-         const MAX: usize = 10;
-@@ -1134,6 +1139,7 @@
-     }
- 
-     #[test]
-+    #[cfg_attr(target_os = "macos", ignore)]
-     fn multiple_connect_interleaved_lazy_schedule() {
-         const MAX: usize = 10;
-         each_ip(&mut |addr| {
-@@ -1467,6 +1473,7 @@
-     }
- 
-     #[test]
-+    #[cfg_attr(target_os = "macos", ignore)]
-     fn clone_while_reading() {
-         each_ip(&mut |addr| {
-             let accept = t!(TcpListener::bind(&addr));
-@@ -1597,7 +1604,7 @@
- 
-     // FIXME: re-enabled openbsd tests once their socket timeout code
-     //        no longer has rounding errors.
--    #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd"), ignore)]
-+    #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd", target_os = "macos"), ignore)]
-     #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31
-     #[test]
-     fn timeouts() {
-@@ -1643,6 +1650,7 @@
-         drop(listener);
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31
-     fn test_read_with_timeout() {
-@@ -1687,6 +1695,7 @@
-         drop(listener);
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     #[cfg_attr(target_env = "sgx", ignore)]
-     fn nodelay() {
-@@ -1719,6 +1728,7 @@
-         assert_eq!(ttl, t!(stream.ttl()));
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     #[cfg_attr(target_env = "sgx", ignore)]
-     fn set_nonblocking() {
diff --git a/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch b/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
deleted file mode 100644
index 6ef7fd0f7ce4..000000000000
--- a/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/stdsimd/coresimd/x86/mod.rs b/src/stdsimd/coresimd/x86/mod.rs
-index 32915c332..7cb54f31e 100644
---- a/src/stdsimd/coresimd/x86/mod.rs
-+++ b/src/stdsimd/coresimd/x86/mod.rs
-@@ -279,7 +279,6 @@ types! {
-     ///
-     /// # Examples
-     ///
--    /// ```
-     /// # #![feature(cfg_target_feature, target_feature, stdsimd)]
-     /// # #![cfg_attr(not(dox), no_std)]
-     /// # #[cfg(not(dox))]
-@@ -301,7 +300,6 @@ types! {
-     /// # }
-     /// # if is_x86_feature_detected!("sse") { unsafe { foo() } }
-     /// # }
--    /// ```
-     pub struct __m256(f32, f32, f32, f32, f32, f32, f32, f32);
- 
-     /// 256-bit wide set of four `f64` types, x86-specific
diff --git a/nixpkgs/pkgs/development/compilers/rust/print-hashes.sh b/nixpkgs/pkgs/development/compilers/rust/print-hashes.sh
index 7eb00a30ad73..1d46fe376d4b 100755
--- a/nixpkgs/pkgs/development/compilers/rust/print-hashes.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/rust/rust-src.nix b/nixpkgs/pkgs/development/compilers/rust/rust-src.nix
index 1b819a7f6068..8977fb84caf7 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rust-src.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rust-src.nix
@@ -6,6 +6,6 @@ stdenv.mkDerivation {
   phases = [ "unpackPhase" "installPhase" ];
   installPhase = ''
     mv src $out
-    rm -rf $out/{ci,doc,driver,etc,grammar,llvm,rt,rtstartup,rustllvm,test,tools,vendor}
+    rm -rf $out/{ci,doc,etc,grammar,llvm-project,llvm-emscripten,rtstartup,rustllvm,test,tools,vendor,stdarch}
   '';
 }
diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
index daf7af1babdc..e5c8a709a900 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
@@ -1,39 +1,32 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
-, fetchurl, file, python2, tzdata, ps
-, llvmPackages_7, darwin, git, cmake, rustPlatform
-, which, libffi, gdb
+, fetchurl, file, python3
+, llvm_9, darwin, git, cmake, rust, rustPlatform
+, pkgconfig, openssl
+, which, libffi
 , withBundledLLVM ? false
+, version
+, sha256
 }:
 
 let
-  inherit (stdenv.lib) optional optionalString;
+  inherit (stdenv.lib) optionals optional optionalString;
   inherit (darwin.apple_sdk.frameworks) Security;
 
-  llvmPackages = llvmPackages_7;
-
-  llvmSharedForBuild = pkgsBuildBuild.llvmPackages.llvm.override { enableSharedLibraries = true; };
-  llvmSharedForHost = pkgsBuildHost.llvmPackages.llvm.override { enableSharedLibraries = true; };
-  llvmSharedForTarget = pkgsBuildTarget.llvmPackages.llvm.override { enableSharedLibraries = true; };
+  llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; };
+  llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; };
+  llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; };
 
   # For use at runtime
-  llvmShared = llvmPackages.llvm.override { enableSharedLibraries = true; };
-in
-
-stdenv.mkDerivation rec {
+  llvmShared = llvm_9.override { enableSharedLibraries = true; };
+in stdenv.mkDerivation rec {
   pname = "rustc";
-  version = "1.37.0";
+  inherit version;
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj";
+    inherit sha256;
   };
 
-  # Provide the compiler-rt sources needed for profiling.
-  preConfigure = ''
-    mkdir src/llvm-project/compiler-rt
-    tar xf ${llvmPackages.compiler-rt.src} -C src/llvm-project/compiler-rt --strip-components=1
-  '';
-
   __darwinAllowLocalNetworking = true;
 
   # rustc complains about modified source files otherwise
@@ -48,11 +41,11 @@ stdenv.mkDerivation rec {
   # See: https://github.com/NixOS/nixpkgs/pull/56540#issuecomment-471624656
   stripDebugList = [ "bin" ];
 
-  NIX_LDFLAGS =
+  NIX_LDFLAGS = toString (
        # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch'
        optional (stdenv.isLinux && !withBundledLLVM) "--push-state --as-needed -lstdc++ --pop-state"
     ++ optional (stdenv.isDarwin && !withBundledLLVM) "-lc++"
-    ++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib";
+    ++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib");
 
   # Increase codegen units to introduce parallelism within the compiler.
   RUSTFLAGS = "-Ccodegen-units=10";
@@ -60,9 +53,9 @@ 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";
@@ -75,9 +68,9 @@ 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}"
@@ -90,12 +83,12 @@ stdenv.mkDerivation rec {
     "${setBuild}.cxx=${cxxForBuild}"
     "${setHost}.cxx=${cxxForHost}"
     "${setTarget}.cxx=${cxxForTarget}"
-  ] ++ optional (!withBundledLLVM) [
+  ] ++ optionals (!withBundledLLVM) [
     "--enable-llvm-link-shared"
     "${setBuild}.llvm-config=${llvmSharedForBuild}/bin/llvm-config"
     "${setHost}.llvm-config=${llvmSharedForHost}/bin/llvm-config"
     "${setTarget}.llvm-config=${llvmSharedForTarget}/bin/llvm-config"
-  ] ++ optional stdenv.isLinux [
+  ] ++ optionals stdenv.isLinux [
     "--enable-profiler" # build libprofiler_builtins
   ];
 
@@ -107,18 +100,6 @@ stdenv.mkDerivation rec {
       --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)'
   '';
 
-  patches = [
-    ./patches/net-tcp-disable-tests.patch
-
-    # Re-evaluate if this we need to disable this one
-    #./patches/stdsimd-disable-doctest.patch
-
-    # Fails on hydra - not locally; the exact reason is unknown.
-    # Comments in the test suggest that some non-reproducible environment
-    # variables such $RANDOM can make it fail.
-    # ./patches/disable-test-inherit-env.patch
-  ];
-
   # the rust build system complains that nix alters the checksums
   dontFixLibtool = true;
 
@@ -131,74 +112,26 @@ stdenv.mkDerivation rec {
     sed -i configure \
       -e '/probe_need CFG_CURL curl/d'
 
-    # On Hydra: `TcpListener::bind(&addr)`: Address already in use (os error 98)'
-    sed '/^ *fn fast_rebind()/i#[ignore]' -i src/libstd/net/tcp.rs
-
-    # https://github.com/rust-lang/rust/issues/39522
-    echo removing gdb-version-sensitive tests...
-    find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete
-    rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums.rs,generic-enum-with-different-disr-sizes.rs}
-
     # Useful debugging parameter
     # export VERBOSE=1
-  '' + optionalString stdenv.isDarwin ''
-    # Disable all lldb tests.
-    # error: Can't run LLDB test because LLDB's python path is not set
-    rm -vr src/test/debuginfo/*
-    rm -v src/test/run-pass/backtrace-debuginfo.rs || true
-
-    # error: No such file or directory
-    rm -v src/test/ui/run-pass/issues/issue-45731.rs || true
-
-    # Disable tests that fail when sandboxing is enabled.
-    substituteInPlace src/libstd/sys/unix/ext/net.rs \
-        --replace '#[test]' '#[test] #[ignore]'
-    substituteInPlace src/test/run-pass/env-home-dir.rs \
-        --replace 'home_dir().is_some()' true
-    rm -v src/test/run-pass/fds-are-cloexec.rs || true  # FIXME: pipes?
-    rm -v src/test/ui/run-pass/threads-sendsync/sync-send-in-std.rs || true  # FIXME: ???
   '';
 
   # rustc unfortunately needs cmake to compile llvm-rt but doesn't
   # use it for the normal build. This disables cmake in Nix.
   dontUseCmakeConfigure = true;
 
-  # ps is needed for one of the test cases
   nativeBuildInputs = [
-    file python2 ps rustPlatform.rust.rustc git cmake
-    which libffi removeReferencesTo
-  ] # Only needed for the debuginfo tests
-    ++ optional (!stdenv.isDarwin) gdb;
+    file python3 rustPlatform.rust.rustc git cmake
+    which libffi removeReferencesTo pkgconfig
+  ];
 
-  buildInputs = optional stdenv.isDarwin Security
+  buildInputs = [ openssl ]
+    ++ optional stdenv.isDarwin Security
     ++ optional (!withBundledLLVM) llvmShared;
 
   outputs = [ "out" "man" "doc" ];
   setOutputFlags = false;
 
-  # Disable codegen units and hardening for the tests.
-  preCheck = ''
-    export RUSTFLAGS=
-    export TZDIR=${tzdata}/share/zoneinfo
-    export hardeningDisable=all
-  '' +
-  # Ensure TMPDIR is set, and disable a test that removing the HOME
-  # variable from the environment falls back to another home
-  # directory.
-  optionalString stdenv.isDarwin ''
-    export TMPDIR=/tmp
-    sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
-  '';
-
-  # 1. Upstream is not running tests on aarch64:
-  # see https://github.com/rust-lang/rust/issues/49807#issuecomment-380860567
-  # So we do the same.
-  # 2. Tests run out of memory for i686
-  #doCheck = !stdenv.isAarch64 && !stdenv.isi686;
-
-  # Disabled for now; see https://github.com/NixOS/nixpkgs/pull/42348#issuecomment-402115598.
-  doCheck = false;
-
   # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
   # and thus a transitive dependency on ncurses
   postInstall = ''
@@ -218,7 +151,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://www.rust-lang.org/;
     description = "A safe, concurrent, practical language";
-    maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy ];
+    maintainers = with maintainers; [ madjar cstrahan globin havvy ];
     license = [ licenses.mit licenses.asl20 ];
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/nixpkgs/pkgs/development/compilers/rust/setup-hook.sh b/nixpkgs/pkgs/development/compilers/rust/setup-hook.sh
index 7078ec7060b9..5d4eb642fec0 100644
--- a/nixpkgs/pkgs/development/compilers/rust/setup-hook.sh
+++ b/nixpkgs/pkgs/development/compilers/rust/setup-hook.sh
@@ -1,4 +1,4 @@
 # Fix 'failed to open: /homeless-shelter/.cargo/.package-cache' in rust 1.36.
-if [[ -z $IN_NIX_SHELL && -z $CARGO_HOME ]]; then
+if [[ -z ${IN_NIX_SHELL-} && -z ${CARGO_HOME-} ]]; then
     export CARGO_HOME=$TMPDIR
 fi
diff --git a/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix b/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix
index 5a01e295e49e..675e91b302a7 100644
--- a/nixpkgs/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/smlnj/default.nix b/nixpkgs/pkgs/development/compilers/smlnj/default.nix
index 89912ac9ad6b..a79c9a702c4f 100644
--- a/nixpkgs/pkgs/development/compilers/smlnj/default.nix
+++ b/nixpkgs/pkgs/development/compilers/smlnj/default.nix
@@ -1,32 +1,47 @@
 { stdenv, fetchurl }:
 let
-  version = "110.91";
+  version = "110.95";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
+  isArch64 = stdenv.system == "x86_64-linux";
+
+  arch = if isArch64
+    then "64"
+    else "32";
+
+  boot32 = { url = "${baseurl}/boot.x86-unix.tgz";
+             sha256 = "07bcrvjphyin1ygjbymcqhd1mbfk4hff82wmxcllh77lr28l5dxf"; };
+  boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
+             sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
+
+  bootBinary = if isArch64
+               then boot64
+               else boot32;
+
   sources = map fetchurl [
-    { url = "${baseurl}/config.tgz";              sha256 = "00vbg2kpwgkf272m697p5hd35pawficbrifchn7dnd519wpdx436"; }
-    { url = "${baseurl}/cm.tgz";                  sha256 = "0wxb0s2fwh7lbb3z2pfvmvhk5v0gm75kchkv7gg9f895ahyvm6yd"; }
-    { url = "${baseurl}/compiler.tgz";            sha256 = "0iq06ycivy562i59vvbma9zi575zw1djhdfkcy0bn7m9kfzzbgkh"; }
-    { url = "${baseurl}/runtime.tgz";             sha256 = "0km8p4vmy3m38xv0rl8d3mh2nlk2mvx010npm34gs374bmmzc7z9"; }
-    { url = "${baseurl}/system.tgz";              sha256 = "16d5vs1rn7ly6jxjm08222cj0sry73pr57xpc9d6k286b1v0910b"; }
-    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1c9sw8zm90ykas5nwbhk2wic7sxkjrylb610x37v46m5ips1wlma"; }
-    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "09ka20ym7ahrpj4r6vc5phflc8y57dj09qvwk8ambfwb2p2274sw"; }
-    { url = "${baseurl}/old-basis.tgz";           sha256 = "1bhq9fv6p8diz489h9571g0xrsi8yx7h6gh9410255klxjrw964h"; }
-    { url = "${baseurl}/ckit.tgz";                sha256 = "1lq9ljai0shc6hszx5v6bqmkz16a3f295mfg7q622apzgzark3vd"; }
-    { url = "${baseurl}/nlffi.tgz";               sha256 = "1xjmlwiclgckj73z5hz3hnqlavp3ax9sfvgc0rvj3xpy3i3n6axj"; }
-    { url = "${baseurl}/cml.tgz";                 sha256 = "1sjzipxnvr9dgcg16bllfk3b46ac9f8h353nh1ccykwwq4whi9bf"; }
-    { url = "${baseurl}/eXene.tgz";               sha256 = "04clbchrlqx5v35gkbydbfnpl720i4nqijkshiwn0v592n4xfdf4"; }
-    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "0max073nzwv7vx13caj7zmlhslvxlgg8rj52278g7f6fqcrwp5cf"; }
-    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0x2mbg45l71049sgvvkl6bnqc5svz70vh1m1rbf3xk41z5bapcgr"; }
-    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0a1pbwpw1y6d1xn9yjarqpmybrxqwp5snp28by36745h1jvb1p1b"; }
-    { url = "${baseurl}/ml-burg.tgz";             sha256 = "119mq5jrbkn9vf9fgb0wyz483hf26al9hwb91xpmlmfx5qqnfzik"; }
-    { url = "${baseurl}/pgraph.tgz";              sha256 = "1s7jmh3q88rz29bk02y3gzdqrgvk484j5ji8bn7s6fc78m50nqp8"; }
-    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1gzf1pbmw2cn5w6f5qfdm3d6n6069n1nnzz6z4v7mr07x54c6mdv"; }
-    { url = "${baseurl}/heap2asm.tgz";            sha256 = "09cgj568a9x017awysjdx35mlp5zkdmc2fs67fvnm5ifl7ivfs8j"; }
-    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1g4xhcxychs9q25x7a5lvqfamq52c5ljlx84bc5cazvpkhixyg04"; }
-    { url = "${baseurl}/doc.tgz";                 sha256 = "1l0x91dscizk2pyj1lw595r84h1h0shxh0x5hva891717a1hfa51"; }
-    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "0f6x4nfhrgm1z4dx862df2yaffdh1sd6zx2lyb2vph5mhp7x9n58"; }
-    { url = "${baseurl}/asdl.tgz";                sha256 = "1pi3m21jllyd2h0zpz4bajskfv58g6pjhpprqiwgmikn6w1pryp8"; }
+    bootBinary
+    { url = "${baseurl}/config.tgz";              sha256 = "09srqxkxl86iaz6l6dz83c1apsac0pxpfq6b74i6l0nfl261jibw"; }
+    { url = "${baseurl}/cm.tgz";                  sha256 = "0gh8inrb07z597axw8qipwyx52m8nac5d5r0rvgzvdnnjg9nr9zy"; }
+    { url = "${baseurl}/compiler.tgz";            sha256 = "1kk6jwzyc261l5nii3n8rwccmgvcj1mg5fgycfsfsiyyy1v8xfx7"; }
+    { url = "${baseurl}/runtime.tgz";             sha256 = "17i069h5cv411sgzx3ynlf4v3wlrxiba9bwy1b0x0cyhs879kppc"; }
+    { url = "${baseurl}/system.tgz";              sha256 = "0s8ij3wfxpjrmrwxrgrirfxjj8vkda6l32j88al5q1ic3ncwc58s"; }
+    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1v2d3gjxrcgc95x5glqcw0nfp13aapkcw03fyi70m3k1yc61izmz"; }
+    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "04i11ki8v9s7yz3lg6b0djhi03zzkzav0b5cr81ypxlkmf4hh6bp"; }
+    { url = "${baseurl}/old-basis.tgz";           sha256 = "1ryqpy0n7c9gd995ndmjvaci74f95nr8n1jjgm28yd1sn7hnavhi"; }
+    { url = "${baseurl}/ckit.tgz";                sha256 = "18mcs3j8c5gq9cmck7r175am60blaznqmhzyir622yfc8fpw1map"; }
+    { url = "${baseurl}/nlffi.tgz";               sha256 = "16mrl5aqbgsgljxa3z8kj5max9drddml34bq7rn1i78594jfvkwk"; }
+    { url = "${baseurl}/cml.tgz";                 sha256 = "00x784nv1pi6534k3vva26i9qx84cvw242vgwbs5020zkm6gvrmn"; }
+    { url = "${baseurl}/eXene.tgz";               sha256 = "143825h36v6z77kwvrvpszgwnhmjs3yldb18i9z4lwkqfb4kn7f7"; }
+    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "17ly9h9ry8r94dx6lkas6w2cxknwkpma4z9pj8rgzmd3w6qm7j1z"; }
+    { url = "${baseurl}/ml-lex.tgz";              sha256 = "1ja3l2kiq17754c58mwdiqi25f7ax0cji2wk0vq4872iwwxc22px"; }
+    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "1m48nkwvw87yg39sjihlw8na5m34bzz3d4zpfbjaj2f75fkjy3jf"; }
+    { url = "${baseurl}/ml-burg.tgz";             sha256 = "13nbvbah7bn8gjm4gi41m412vpl69wd6d3x3wzbb6xpia9vm4z4j"; }
+    { url = "${baseurl}/pgraph.tgz";              sha256 = "1aizkl8avz01kx221xy5z7a1a1b5xqn2hrk66wr8d0iav2nh5c98"; }
+    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1c80xgck9sb2rm554nfg4f5mpjkdbrwkcx88pj120056225l10vx"; }
+    { url = "${baseurl}/heap2asm.tgz";            sha256 = "1n68drd7as5dy20ccfvgd9cmnhfpfvz7g3f0gc8kpaqaz3vpy36g"; }
+    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1b6svh2kk5211rq73fdwx3sf80d2rshf0dmkkrq5mw4852nzqz3p"; }
+    { url = "${baseurl}/doc.tgz";                 sha256 = "021yzhy9maypq4ahz0d0qpr601spndg583fn9mapv6rl42kwhjq6"; }
+    { url = "${baseurl}/asdl.tgz";                sha256 = "0nqavqcbidwnphbbwjrxhpy8glbyad51wy0cpqimbsw3sgns0zkd"; }
   ];
 in stdenv.mkDerivation {
   pname = "smlnj";
@@ -37,6 +52,7 @@ in stdenv.mkDerivation {
   patchPhase = ''
     sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
     echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
+    patch --verbose config/_heap2exec ${./heap2exec.diff}
   '';
 
   unpackPhase = ''
@@ -50,7 +66,7 @@ in stdenv.mkDerivation {
   '';
 
   buildPhase = ''
-    ./config/install.sh
+    ./config/install.sh -default ${arch}
   '';
 
   installPhase = ''
@@ -67,7 +83,7 @@ in stdenv.mkDerivation {
     description = "Standard ML of New Jersey, a compiler";
     homepage    = http://smlnj.org;
     license     = licenses.bsd3;
-    platforms   = [ "i686-linux" ];
+    platforms   = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/smlnj/heap2exec.diff b/nixpkgs/pkgs/development/compilers/smlnj/heap2exec.diff
new file mode 100644
index 000000000000..ef21a8e7f072
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/smlnj/heap2exec.diff
@@ -0,0 +1,9 @@
+@@ -35,7 +35,7 @@
+     BIN_DIR=${SMLNJ_HOME}/bin
+ fi
+ 
+-ARCH_N_OPSYS=`"$BIN_DIR/.arch-n-opsys $SIZE_OPT"`
++ARCH_N_OPSYS=`$BIN_DIR/.arch-n-opsys $SIZE_OPT`
+ if [ "$?" != "0" ]; then
+ 	die "unable to determine architecture/operating system"
+ fi
diff --git a/nixpkgs/pkgs/development/compilers/solc/default.nix b/nixpkgs/pkgs/development/compilers/solc/default.nix
index b0fdc8863784..23e6c64f3ffc 100644
--- a/nixpkgs/pkgs/development/compilers/solc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/solc/default.nix
@@ -7,26 +7,23 @@ assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0";
 assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
 
 let
-  jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz;
+  jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.9.2.tar.gz;
   jsoncpp = fetchzip {
     url = jsoncppURL;
-    sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm";
+    sha256 = "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg";
   };
-  buildSharedLibs = stdenv.hostPlatform.isLinux;
 in
 stdenv.mkDerivation rec {
 
   pname = "solc";
-  version = "0.5.11";
+  version = "0.5.15";
 
   # upstream suggests avoid using archive generated by github
   src = fetchzip {
     url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
-    sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl";
+    sha256 = "1nfvsaci5ja5ss603z04197wndwkvcq9nm5mdab1kpdr91djxh2y";
   };
 
-  patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ];
-
   postPatch = ''
     substituteInPlace cmake/jsoncpp.cmake \
       --replace "${jsoncppURL}" ${jsoncpp}
@@ -34,8 +31,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBoost_USE_STATIC_LIBS=OFF"
-  ] ++ stdenv.lib.optionals buildSharedLibs [
-    "-DBUILD_SHARED_LIBS=ON"
   ] ++ stdenv.lib.optionals (!z3Support) [
     "-DUSE_Z3=OFF"
   ] ++ stdenv.lib.optionals (!cvc4Support) [
@@ -74,8 +69,6 @@ stdenv.mkDerivation rec {
     popd
   '';
 
-  outputs = [ "out" "dev" ];
-
   meta = with stdenv.lib; {
     description = "Compiler for Ethereum smart contract language Solidity";
     homepage = https://github.com/ethereum/solidity;
diff --git a/nixpkgs/pkgs/development/compilers/solc/patches/shared-libs-install.patch b/nixpkgs/pkgs/development/compilers/solc/patches/shared-libs-install.patch
deleted file mode 100644
index 382d49599c7f..000000000000
--- a/nixpkgs/pkgs/development/compilers/solc/patches/shared-libs-install.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0c05208f..8893648e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -48,6 +48,22 @@ add_subdirectory(libevmasm)
- add_subdirectory(libsolidity)
- add_subdirectory(libsolc)
- 
-+install(DIRECTORY libdevcore/
-+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdevcore
-+        FILES_MATCHING PATTERN "*.h")
-+install(DIRECTORY libevmasm/
-+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libevmasm
-+        FILES_MATCHING PATTERN "*.h")
-+install(DIRECTORY libsolidity/
-+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libsolidity
-+        FILES_MATCHING PATTERN "*.h")
-+install(DIRECTORY libyul/
-+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libyul
-+        FILES_MATCHING PATTERN "*.h")
-+install(DIRECTORY liblangutil/
-+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblangutil
-+        FILES_MATCHING PATTERN "*.h")
-+
- if (NOT EMSCRIPTEN)
- 	add_subdirectory(solc)
- 	add_subdirectory(liblll)
-diff --git a/libdevcore/CMakeLists.txt b/libdevcore/CMakeLists.txt
-index fa7e3f48..1f9f52b4 100644
---- a/libdevcore/CMakeLists.txt
-+++ b/libdevcore/CMakeLists.txt
-@@ -6,3 +6,4 @@ target_link_libraries(devcore PRIVATE jsoncpp ${Boost_FILESYSTEM_LIBRARIES} ${Bo
- target_include_directories(devcore PUBLIC "${CMAKE_SOURCE_DIR}")
- target_include_directories(devcore SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
- add_dependencies(devcore solidity_BuildInfo.h)
-+install(TARGETS devcore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/libevmasm/CMakeLists.txt b/libevmasm/CMakeLists.txt
-index 86192c1b..e7f15e93 100644
---- a/libevmasm/CMakeLists.txt
-+++ b/libevmasm/CMakeLists.txt
-@@ -3,3 +3,4 @@ file(GLOB headers "*.h")
- 
- add_library(evmasm ${sources} ${headers})
- target_link_libraries(evmasm PUBLIC devcore)
-+install(TARGETS evmasm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt
-index 0bdec4b4..e876177e 100644
---- a/libsolidity/CMakeLists.txt
-+++ b/libsolidity/CMakeLists.txt
-@@ -29,6 +29,7 @@ endif()
- 
- add_library(solidity ${sources} ${z3_SRCS} ${cvc4_SRCS})
- target_link_libraries(solidity PUBLIC yul evmasm langutil devcore Boost::boost Boost::filesystem Boost::system)
-+install(TARGETS solidity LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- if (${Z3_FOUND})
-   target_link_libraries(solidity PUBLIC ${Z3_LIBRARY})
---- a/libyul/CMakeLists.txt
-+++ b/libyul/CMakeLists.txt
-@@ -43,3 +43,4 @@ endif()
- 	optimiser/VarDeclPropagator.cpp
- )
- target_link_libraries(yul PUBLIC evmasm devcore langutil)
-+install(TARGETS yul LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
---- a/liblangutil/CMakeLists.txt
-+++ b/liblangutil/CMakeLists.txt
-@@ -11,3 +11,4 @@ endif()
- 
- add_library(langutil ${sources})
- target_link_libraries(langutil PUBLIC devcore)
-+install(TARGETS langutil LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/nixpkgs/pkgs/development/compilers/souffle/default.nix b/nixpkgs/pkgs/development/compilers/souffle/default.nix
index a39a6c4a2e4f..35ee7de7a2dc 100644
--- a/nixpkgs/pkgs/development/compilers/souffle/default.nix
+++ b/nixpkgs/pkgs/development/compilers/souffle/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "souffle";
-  version = "1.6.1";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8";
+    sha256 = "0px8kh5875q2iyza4ylpa6vxpy6qxg0qvn2idk1j6dcdf5pdryph";
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
diff --git a/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix
new file mode 100644
index 000000000000..1ee0b9ed0cc8
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+
+, lit
+, llvm_8
+}:
+
+stdenv.mkDerivation rec {
+  pname = "SPIRV-LLVM-Translator";
+  version = "8.0.1-2";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "SPIRV-LLVM-Translator";
+    rev = "v${version}";
+    sha256 = "0hxalc3fkliqs61hpr97phbm3qsx4b8vgnlg30aimzr6aas403r5";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ llvm_8 ];
+
+  checkInputs = [ lit ];
+
+  cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=ON" ];
+
+  # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage    = https://github.com/KhronosGroup/SPIRV-LLVM-Translator;
+    description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR";
+    license     = licenses.ncsa;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ gloaming ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix b/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
index 9245e59553fe..0140bb401118 100644
--- a/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
+++ b/nixpkgs/pkgs/development/compilers/swi-prolog/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchgit, jdk, gmp, readline, openssl, unixODBC, zlib
+{ stdenv, fetchFromGitHub, jdk, gmp, readline, openssl, unixODBC, zlib
 , libarchive, db, pcre, libedit, libossp_uuid, libXpm
-, libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin
-, git, cacert, cmake, libyaml
+, libSM, libXt, freetype, pkgconfig, fontconfig
+, cmake, libyaml, Security
+, libjpeg, libX11, libXext, libXft, libXinerama
 , extraLibraries ? [ jdk unixODBC libXpm libSM libXt freetype fontconfig ]
 , extraPacks     ? []
+, withGui ? false
 }:
 
 let
-  version = "8.1.4";
+  version = "8.1.15";
   packInstall = swiplPath: pack:
     ''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt."
     '';
@@ -16,59 +18,37 @@ stdenv.mkDerivation {
   pname = "swi-prolog";
   inherit version;
 
-  src = fetchgit {
-    url = "https://github.com/SWI-Prolog/swipl-devel";
+  src = fetchFromGitHub {
+    owner = "SWI-Prolog";
+    repo = "swipl-devel";
     rev = "V${version}";
-    sha256 = "0qxa6f5dypwczxajlf0l736adbjb17cbak3qsh5g04hpv2bxm6dh";
+    sha256 = "0czbrscx2s4079nmwvipp9cnwfny16m3fpnp823llm7wyljchgvq";
+    fetchSubmodules = true;
   };
 
-  buildInputs = [ cacert git cmake gmp readline openssl
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ gmp readline openssl
     libarchive libyaml db pcre libedit libossp_uuid
-    zlib pkgconfig ]
+    zlib ]
+  ++ stdenv.lib.optionals (withGui && !stdenv.isDarwin) [ libXpm libX11 libXext libXft libXinerama libjpeg ]
   ++ extraLibraries
-  ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
+  ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = [
-    "--with-world"
-    "--enable-gmp"
-    "--enable-shared"
-  ];
+  cmakeFlags = [ "-DSWIPL_INSTALL_IN_LIB=ON" ];
 
-  installPhase = ''
-    mkdir -p $out
-    mkdir build
-    cd build
-    ${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out ..
-    cd ../
-    make
-    make install
-    make clean
-    mkdir -p $out/lib/swipl/pack
-  ''
-  + builtins.concatStringsSep "\n"
+  postInstall = builtins.concatStringsSep "\n"
   ( builtins.map (packInstall "$out") extraPacks
   );
 
-  # For macOS: still not fixed in upstream: "abort trap 6" when called
-  # through symlink, so wrap binary.
-  # We reinvent wrapProgram here but omit argv0 pass in order to not
-  # break PAKCS package build. This is also safe for SWI-Prolog, since
-  # there is no wrapping environment and hence no need to spoof $0
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    local prog="$out/bin/swipl"
-    local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
-    mv $prog $hidden
-    makeWrapper $hidden $prog
-  '';
-
   meta = {
-    homepage = http://www.swi-prolog.org/;
+    homepage = "https://www.swi-prolog.org";
     description = "A Prolog compiler and interpreter";
-    license = "LGPL";
+    license = stdenv.lib.licenses.bsd2;
 
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.optionals (!withGui) stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.meditans ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
index 338ba9312492..03e8be7053a2 100644
--- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchFromRepoOrCz, perl, texinfo }:
-with stdenv.lib;
+{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo }:
+with lib;
 
 stdenv.mkDerivation rec {
   pname = "tcc";
   version = "0.9.27";
+  upstreamVersion = "release_${concatStringsSep "_" (builtins.splitVersion version)}";
 
   src = fetchFromRepoOrCz {
     repo = "tinycc";
-    rev = "release_0_9_27";
+    rev = upstreamVersion;
     sha256 = "12mm1lqywz0akr2yb2axjfbw8lwv57nh395vzsk534riz03ml977";
   };
 
@@ -15,6 +16,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "fortify" ];
 
+  enableParallelBuilding = true;
+
   postPatch = ''
     substituteInPlace "texi2pod.pl" \
       --replace "/usr/bin/perl" "${perl}/bin/perl"
@@ -30,6 +33,17 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=("--libpaths=${getLib stdenv.cc.libc}/lib")
   '';
 
+  postFixup = ''
+    cat >libtcc.pc <<EOF
+    Name: libtcc
+    Description: Tiny C compiler backend
+    Version: ${version}
+    Libs: -L$out/lib -Wl,--rpath $out/lib -ltcc -ldl
+    Cflags: -I$out/include
+    EOF
+    install -Dt $out/lib/pkgconfig libtcc.pc -m 444
+  '';
+
   doCheck = true;
   checkTarget = "test";
 
@@ -60,7 +74,7 @@ stdenv.mkDerivation rec {
       generation.
     '';
 
-    homepage = http://www.tinycc.org/;
+    homepage = "http://www.tinycc.org/";
     license = licenses.mit;
 
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/development/compilers/tinygo/default.nix b/nixpkgs/pkgs/development/compilers/tinygo/default.nix
new file mode 100644
index 000000000000..015c955000c2
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/tinygo/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildGoModule, fetchFromGitHub, llvm, clang-unwrapped, lld, avrgcc
+, avrdude, openocd, gcc-arm-embedded, makeWrapper }:
+
+buildGoModule rec {
+  pname = "tinygo";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "tinygo-org";
+    repo = "tinygo";
+    rev = "v${version}";
+    sha256 = "03di8500dqk25giiajglcdf2gbc0jidsn8qsw2sxmkmnd1np7gyd";
+  };
+
+  modSha256 = "0r3lfi1bj550sf3b7ysz62c2c33f8zfli8208xixj3jadycb6r3z";
+  enableParallelBuilding = true;
+  subPackages = [ "." ];
+  buildInputs = [ llvm clang-unwrapped makeWrapper ];
+  propagatedBuildInputs = [ lld avrgcc avrdude openocd gcc-arm-embedded ];
+
+  postInstall = ''
+    mkdir -p $out/share/tinygo
+    cp -a lib src targets $out/share/tinygo
+    wrapProgram $out/bin/tinygo --prefix "TINYGOROOT" : "$out/share/tinygo"
+    ln -sf $out/bin $out/share/tinygo
+  '';
+
+  meta = with lib; {
+    homepage = "https://tinygo.org/";
+    description = "Go compiler for small places";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ chiiruno ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/unison/default.nix b/nixpkgs/pkgs/development/compilers/unison/default.nix
index d4e536484c46..2a8c07fa0fe0 100644
--- a/nixpkgs/pkgs/development/compilers/unison/default.nix
+++ b/nixpkgs/pkgs/development/compilers/unison/default.nix
@@ -4,18 +4,18 @@
 
 stdenv.mkDerivation rec {
   pname = "unison-code-manager";
-  milestone_id = "M1d";
+  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 = "0cgkqwniw2fclsxgx6b1kgjmylqnn67kjs61iygzbpip8nvcm7pv";
+      sha256 = "186y7y7ffg976w01cbb8am84ajbifb7lcnsc4g3x262mkswr7lry";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
-      sha256 = "0rpz40d23daad16r2s4appiay3brbk0awp38yamavlr6dh23c9ws";
+      sha256 = "1ki9car1clpaspnl5jb5qnr6nzv108q279n8m8bjm8azfcnl61ab";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Modern, statically-typed purely functional language";
-    homepage = http://unisonweb.org/posts/;
-    license = licenses.free;
+    homepage = https://unisonweb.org/;
+    license = with licenses; [ mit bsd3 ];
     maintainers = [ maintainers.virusdave ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/development/compilers/urweb/default.nix b/nixpkgs/pkgs/development/compilers/urweb/default.nix
index 01d4972a55d5..31381aac741d 100644
--- a/nixpkgs/pkgs/development/compilers/urweb/default.nix
+++ b/nixpkgs/pkgs/development/compilers/urweb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, file, openssl, mlton
-, mysql, postgresql, sqlite, gcc, icu
+, libmysqlclient, postgresql, sqlite, gcc, icu
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1cl0x0sy7w1lazszc8q06q3wx0x0rczxh27vimrsw54s6s9y096s";
   };
 
-  buildInputs = [ openssl mlton mysql.connector-c postgresql sqlite icu ];
+  buildInputs = [ openssl mlton libmysqlclient postgresql sqlite icu ];
 
   prePatch = ''
     sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
@@ -21,13 +21,13 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     export PGHEADER="${postgresql}/include/libpq-fe.h";
-    export MSHEADER="${mysql.connector-c}/include/mysql/mysql.h";
+    export MSHEADER="${libmysqlclient}/include/mysql/mysql.h";
     export SQHEADER="${sqlite.dev}/include/sqlite3.h";
 
     export CC="${gcc}/bin/gcc";
     export CCARGS="-I$out/include \
                    -L${openssl.out}/lib \
-                   -L${mysql.connector-c}/lib \
+                   -L${libmysqlclient}/lib \
                    -L${postgresql.lib}/lib \
                    -L${sqlite.out}/lib";
   '';
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index 15ed7f8bd29d..d84503caa607 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -22,27 +22,20 @@ let
         };
 
       in {
-        "0.38" = fp {
-          commit = "2c290f7253bba5ceb0d32e7d0b0ec0d0e81cc263";
-          sha256 = "056ybapfx18d7xw1k8k85nsjrc26qk2q2d9v9nz2zrcwbq5brhkp";
-        };
 
         # NOTE: the openembedded-core project doesn't have a patch for 0.40.12
         # We've fixed the single merge conflict in the following patch.
         #     0.40.12: https://github.com/openembedded/openembedded-core/raw/8553c52f174af4c8c433c543f806f5ed5c1ec48c/meta/recipes-devtools/vala/vala/disable-graphviz.patch
         "0.40" = ./disable-graphviz-0.40.12.patch;
 
-        "0.42" = fp {
-          commit = "f2b4f9ec6f44dced7f88df849cca68961419eeb8";
-          sha256 = "112qhdzix0d7lfpfcam1cxprzmfzpwypb1226m5ma1vq9qy0sn7g";
-        };
-
         # NOTE: the openembedded-core project doesn't have a patch for 0.44.1
         # We've reverted the addition of the "--disable-valadoc" option
         # and then applied the following patch.
         #     0.42.4: https://github.com/openembedded/openembedded-core/raw/f2b4f9ec6f44dced7f88df849cca68961419eeb8/meta/recipes-devtools/vala/vala/disable-graphviz.patch
         "0.44" = ./disable-graphviz-0.44.3.patch;
 
+        "0.46" = ./disable-graphviz-0.46.1.patch;
+
       }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
 
     disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz;
@@ -90,12 +83,12 @@ let
     doCheck = false; # fails, requires dbus daemon
 
     # Wait for PR #59372
-    #passthru = {
+    # passthru = {
     #  updateScript = gnome3.updateScript {
     #    attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}";
     #    packageName = pname;
     #  };
-    #};
+    # };
 
     meta = with stdenv.lib; {
       description = "Compiler for GObject type system";
@@ -108,30 +101,24 @@ let
 
 in rec {
   vala_0_36 = generic {
-    version = "0.36.19";
-    sha256 = "05si2f4zjvq0q3wqfh1wxdq20jy1xqxq2skqh8vfh2jyp355lwar";
-  };
-
-  vala_0_38 = generic {
-    version = "0.38.10";
-    sha256  = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw";
-    extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
+    version = "0.36.20";
+    sha256 = "19v7zjhr9yxkh9lxg46n9gjr0lb7j6v0xqfhrdvgz18xhj3hm5my";
   };
 
   vala_0_40 = generic {
-    version = "0.40.16";
-    sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
+    version = "0.40.18";
+    sha256 = "1f7cdkjdysg4dcri1wbzdddm46amk2s48jkwb5ghpdvhjb4l5j2m";
   };
 
-  vala_0_42 = generic {
-    version = "0.42.7";
-    sha256 = "029ksbsdpl581wzy570kj4kkw8b4bizgh494c051zsvkwck55p83";
+  vala_0_44 = generic {
+    version = "0.44.11";
+    sha256 = "06spdvm9q9k4riq1d2fxkyc8d88bcv460v360465iy1lnj3z9x2s";
   };
 
-  vala_0_44 = generic {
-    version = "0.44.6";
-    sha256 = "0fkrrpnisgq3y816piyr7hm2b94jaj7ki9y974galq3lmxb1g7xb";
+  vala_0_46 = generic {
+    version = "0.46.5";
+    sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s";
   };
 
-  vala = vala_0_44;
+  vala = vala_0_46;
 }
diff --git a/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch b/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
new file mode 100644
index 000000000000..8c3e54b6a959
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
@@ -0,0 +1,261 @@
+diff --git a/Makefile.am b/Makefile.am
+index f70234759..b3d6c3833 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -13,19 +13,9 @@ SUBDIRS = \
+ 	doc \
+ 	gobject-introspection \
+ 	vapigen \
+-	$(NULL)
+-
+-if ENABLE_VALADOC
+-SUBDIRS += \
+ 	libvaladoc \
+ 	valadoc \
+ 	$(NULL)
+-endif
+-
+-DISTCHECK_CONFIGURE_FLAGS = \
+-	--enable-valadoc \
+-	--enable-unversioned \
+-	$(NULL)
+ 
+ if ENABLE_UNVERSIONED
+ aclocaldir = $(datadir)/aclocal
+diff --git a/configure.ac b/configure.ac
+index 6de326bbb..91f159b16 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -160,10 +160,11 @@ AC_SUBST(GMODULE_CFLAGS)
+ AC_SUBST(GMODULE_LIBS)
+ 
+ AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check)
+-AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
+-if test x$enable_valadoc = xyes; then
++AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
++if test x$enable_graphviz = xyes; then
+ 	PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
+ 	AC_MSG_CHECKING([for CGRAPH])
++	VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
+ 	cgraph_tmp_LIBADD="$LIBADD"
+ 	cgraph_tmp_CFLAGS="$CFLAGS"
+ 	LIBADD="$LIBADD $LIBGVC_LIBS"
+@@ -201,8 +202,8 @@ if test x$enable_valadoc = xyes; then
+ 	LIBADD="$cgraph_tmp_LIBADD"
+ 	CFLAGS="$cgraph_tmp_CFLAGS"
+ fi
++AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
+ AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+-AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
+ 
+ AC_PATH_PROG([XSLTPROC], [xsltproc], :)
+ AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :)
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index d2684a0e0..b343c7c10 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -6,16 +6,11 @@ SUBDIRS = \
+ 
+ dist_man_MANS = \
+ 	valac.1 \
++	valadoc.1 \
+ 	vala-gen-introspect.1 \
+ 	vapigen.1 \
+ 	$(NULL)
+ 
+-if ENABLE_VALADOC
+-dist_man_MANS += \
+-	valadoc.1 \
+-	$(NULL)
+-endif
+-
+ EXTRA_DIST = \
+ 	valac.h2m \
+ 	valadoc.h2m \
+@@ -24,11 +19,7 @@ EXTRA_DIST = \
+ 	$(NULL)
+ 
+ if HAVE_HELP2MAN
+-if ENABLE_VALADOC
+ manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1
+-else
+-manpages: valac.1 vala-gen-introspect.1 vapigen.1
+-endif
+ 	@rm $^
+ 	$(MAKE) $(AM_MAKEFLAGS) $^
+ 
+@@ -37,13 +28,11 @@ valac.1:
+ 		--include $(srcdir)/valac.h2m \
+ 		--libtool --no-info \
+ 		--output=$@
+-if ENABLE_VALADOC
+ valadoc.1:
+ 	$(HELP2MAN) $(top_builddir)/valadoc/valadoc \
+ 		--include $(srcdir)/valadoc.h2m \
+ 		--libtool --no-info \
+ 		--output=$@
+-endif
+ vala-gen-introspect.1:
+ 	$(HELP2MAN) $(top_builddir)/gobject-introspection/gen-introspect \
+ 		--include $(srcdir)/vala-gen-introspect.h2m \
+@@ -60,15 +49,12 @@ endif
+ if ENABLE_UNVERSIONED
+ install-data-hook:
+ 	cd $(DESTDIR)$(man1dir) && $(LN_S) -f valac@PACKAGE_SUFFIX@.1 valac.1
+-if ENABLE_VALADOC
+ 	cd $(DESTDIR)$(man1dir) && $(LN_S) -f valadoc@PACKAGE_SUFFIX@.1 valadoc.1
+-endif
+ 	cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1
+ 	cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1
+ endif
+ 
+ 
+-if ENABLE_VALADOC
+ COMMON_VALADOCFLAGS = \
+ 	--force \
+ 	--verbose \
+@@ -150,7 +136,6 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen
+ 	@touch $@
+ 
+ internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc
+-endif
+ 
+ clean-local:
+ 	rm -rf $(builddir)/internal-apis
+diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
+index 8a3924b54..81fde9ac8 100644
+--- a/libvaladoc/Makefile.am
++++ b/libvaladoc/Makefile.am
+@@ -119,10 +119,6 @@ libvaladoc_la_VALASOURCES = \
+ 	content/tablerow.vala \
+ 	content/taglet.vala \
+ 	content/text.vala \
+-	charts/chart.vala \
+-	charts/chartfactory.vala \
+-	charts/hierarchychart.vala \
+-	charts/simplechartfactory.vala \
+ 	parser/manyrule.vala \
+ 	parser/oneofrule.vala \
+ 	parser/optionalrule.vala \
+@@ -149,13 +145,24 @@ libvaladoc_la_VALASOURCES = \
+ 	highlighter/codetoken.vala \
+ 	highlighter/highlighter.vala \
+ 	html/basicdoclet.vala \
+-	html/htmlchartfactory.vala \
+ 	html/linkhelper.vala \
+ 	html/cssclassresolver.vala \
+ 	html/htmlmarkupwriter.vala \
+ 	html/htmlrenderer.vala \
+ 	$(NULL)
+ 
++if ENABLE_GRAPHVIZ
++libvaladoc_la_VALASOURCES += \
++	charts/chart.vala \
++	charts/chartfactory.vala \
++	charts/hierarchychart.vala \
++	charts/simplechartfactory.vala \
++	html/htmlchartfactory.vala \
++	$(NULL)
++
++LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
++endif
++
+ libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
+ 	libvaladoc.vala.stamp \
+ 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
+@@ -175,11 +182,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ 		--library valadoc \
+ 		--vapi valadoc@PACKAGE_SUFFIX@.vapi \
+ 		--vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
+-		--vapidir $(top_srcdir)/vapi --pkg libgvc \
+ 		--vapidir $(top_srcdir)/gee --pkg gee \
+ 		--vapidir $(top_srcdir)/vala --pkg vala \
+ 		--vapidir $(top_srcdir)/ccode --pkg ccode \
+ 		--vapidir $(top_srcdir)/codegen --pkg codegen \
++		$(LIBGVC_PKG) \
+ 		--pkg config \
+ 		$(filter %.vala %.c,$^)
+ 	touch $@
+@@ -207,6 +214,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
+ 
+ valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
+ 	cp $< $@
++if !ENABLE_GRAPHVIZ
++	sed -i "s/libgvc //g" $@
++endif
+ 
+ vapidir = $(datadir)/vala/vapi
+ dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
+@@ -214,6 +224,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
+ 
+ valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
+ 	cp $< $@
++if !ENABLE_GRAPHVIZ
++	sed -i "s/libgvc//g" $@
++endif
+ 
+ EXTRA_DIST = \
+ 	$(libvaladoc_la_VALASOURCES) \
+diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
+index 46578c28f..f6ce7097c 100644
+--- a/libvaladoc/html/basicdoclet.vala
++++ b/libvaladoc/html/basicdoclet.vala
+@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 	protected HtmlRenderer _renderer;
+ 	protected Html.MarkupWriter writer;
+ 	protected Html.CssClassResolver cssresolver;
++#if HAVE_GRAPHVIZ
+ 	protected Charts.Factory image_factory;
++#else
++	protected void* image_factory;
++#endif
+ 	protected ErrorReporter reporter;
+ 	protected string package_list_link = "../index.html";
+ 
+@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 		this.linker = new LinkHelper ();
+ 
+ 		_renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
++#if HAVE_GRAPHVIZ
+ 		this.image_factory = new SimpleChartFactory (settings, linker);
++#endif
+ 	}
+ 
+ 
+@@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 	}
+ 
+ 	protected void write_image_block (Api.Node element) {
++#if HAVE_GRAPHVIZ
+ 		if (element is Class || element is Interface || element is Struct) {
+ 			unowned string format = (settings.use_svg_images ? "svg" : "png");
+ 			var chart = new Charts.Hierarchy (image_factory, element);
+@@ -1044,6 +1051,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 									   this.get_img_path_html (element, format)});
+ 			writer.add_usemap (chart);
+ 		}
++#endif
+ 	}
+ 
+ 	public void write_namespace_content (Namespace node, Api.Node? parent) {
+diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
+index 5aa4afdea..e79b0b8f5 100644
+--- a/libvaladoc/html/htmlmarkupwriter.vala
++++ b/libvaladoc/html/htmlmarkupwriter.vala
+@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
+ 		}
+ 	}
+ 
++#if HAVE_GRAPHVIZ
+ 	public unowned MarkupWriter add_usemap (Charts.Chart chart) {
+ 		string? buf = (string?) chart.write_buffer ("cmapx");
+ 		if (buf != null) {
+ 			raw_text ("\n");
+ 			raw_text ((!) buf);
+ 		}
++#else
++	public unowned MarkupWriter add_usemap (void* chart) {
++#endif
+ 
+ 		return this;
+ 	}
diff --git a/nixpkgs/pkgs/development/compilers/vlang/default.nix b/nixpkgs/pkgs/development/compilers/vlang/default.nix
index f72ec0890543..fba11a06a6e9 100644
--- a/nixpkgs/pkgs/development/compilers/vlang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vlang/default.nix
@@ -1,42 +1,47 @@
-{ stdenv, fetchFromGitHub, glfw, freetype, openssl }:
+{ stdenv, fetchFromGitHub, glfw, freetype, openssl, upx ? null }:
+
+assert stdenv.hostPlatform.isUnix -> upx != null;
 
 stdenv.mkDerivation rec {
   pname = "vlang";
-  version = "0.1.18";
+  version = "0.1.21";
 
   src = fetchFromGitHub {
     owner = "vlang";
     repo = "v";
     rev = version;
-    sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15";
+    sha256 = "0npd7a7nhd6r9mr99naib9scqk30209hz18nxif27284ckjbl4fk";
   };
 
   # V compiler source translated to C for bootstrap.
+  # Use matching v.c release commit for now, 0.1.21 release is not available.
   vc = fetchFromGitHub {
     owner = "vlang";
     repo = "vc";
-    rev = version;
-    sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj";
+    rev = "950a90b6acaebad1c6ddec5486fc54307e38a9cd";
+    sha256 = "1dh5l2m207rip1xj677hvbp067inw28n70ddz5wxzfpmaim63c0l";
   };
 
   enableParallelBuilding = true;
-  buildInputs = [ glfw freetype openssl ];
+  propagatedBuildInputs = [ glfw freetype openssl ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isUnix upx;
 
   buildPhase = ''
     runHook preBuild
     cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
-    ./v -prod -o v compiler
-    make thirdparty
+    ./v -prod -cflags `$CFLAGS` -o v compiler
+    # Exclude thirdparty/vschannel as it is windows-specific.
+    find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';'
     runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/{bin,lib/vlang,share/vlang}
-    cp -r examples $out/share/vlang
-    cp -r {vlib,thirdparty} $out/lib/vlang
-    cp v $out/lib/vlang
-    ln -s $out/lib/vlang/v $out/bin/v
+    mkdir -p $out/{bin,lib,share}
+    cp -r examples $out/share
+    cp -r {vlib,thirdparty} $out/lib
+    cp v $out/lib
+    ln -s $out/lib/v $out/bin/v
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/x11basic/default.nix b/nixpkgs/pkgs/development/compilers/x11basic/default.nix
index 3d955c4394b0..147ec13c5556 100644
--- a/nixpkgs/pkgs/development/compilers/x11basic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/yap/default.nix b/nixpkgs/pkgs/development/compilers/yap/default.nix
index 1cc96455be7a..e6fdd03bb678 100644
--- a/nixpkgs/pkgs/development/compilers/yap/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yap/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-tabling=yes" ];
 
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+  NIX_CFLAGS_COMPILE = "-fpermissive";
 
   meta = {
     homepage = http://www.dcc.fc.up.pt/~vsc/Yap/;
diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index 1535c7a7de64..8948af17145b 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix
@@ -2,20 +2,21 @@
 , pkgconfig, bison, flex
 , tcl, readline, libffi, python3
 , protobuf, zlib
+, verilog
 }:
 
 with builtins;
 
 stdenv.mkDerivation rec {
   pname = "yosys";
-  version = "2019.09.01";
+  version = "2019.10.18";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "4aa505d1b254b3fbb66af2d95b396a8f077da9d0";
-      sha256 = "16rhwmn1z2ppaq3wycgq713krq48s80a6h57vgzjzj17hgncg7hs";
+      rev    = "3c41599ee1f62e4d77ba630fa1a245ef3fe236fa";
+      sha256 = "0jg2g8v08ax1q6qlvn8c1h147m03adzrgf21043xwbh4c7s5k137";
       name   = "yosys";
     })
 
@@ -25,8 +26,8 @@ stdenv.mkDerivation rec {
     (fetchFromGitHub {
       owner  = "berkeley-abc";
       repo   = "abc";
-      rev    = "5776ad07e7247993976bffed4802a5737c456782";
-      sha256 = "1la4idmssg44rp6hd63sd5vybvs3vr14yzvwcg03ls37p39cslnl";
+      rev    = "623b5e82513d076a19f864c01930ad1838498894";
+      sha256 = "1mrfqwsivflqdzc3531r6mzp33dfyl6dnqjdwfcq137arqh36m67";
       name   = "yosys-abc";
     })
   ];
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
       --replace 'LD = gcc' 'LD = $(CXX)' \
       --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \
       --replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}'
+    patchShebangs tests
   '';
 
   preBuild = ''
@@ -62,6 +64,13 @@ stdenv.mkDerivation rec {
     (cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
   '';
 
+  doCheck = true;
+  checkInputs = [ verilog ];
+  # checkPhase defaults to VERBOSE=y, which gets passed down to abc,
+  # which then does $(VERBOSE)gcc, which then complains about not
+  # being able to find ygcc. Life is pain.
+  checkFlags = [ " " ];
+
   meta = {
     description = "Framework for RTL synthesis tools";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/compilers/z88dk/default.nix b/nixpkgs/pkgs/development/compilers/z88dk/default.nix
index 433b6e6b32cb..2d62bfede093 100644
--- a/nixpkgs/pkgs/development/compilers/z88dk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/z88dk/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     # we test in checkPhase
     substituteInPlace Makefile \
       --replace 'testsuite bin/z88dk-lib$(EXESUFFIX)' 'bin/z88dk-lib$(EXESUFFIX)'\
-      --replace 'ALL_EXT = bin/zsdcc$(EXESUFFIX)' 'ALL_EXT ='   
+      --replace 'ALL_EXT = bin/zsdcc$(EXESUFFIX)' 'ALL_EXT ='
   '';
 
   checkPhase = ''
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/{bin,share}
   '';
 
-  installTargets = "libs install";
+  installTargets = [ "libs" "install" ];
 
   meta = with stdenv.lib; {
     homepage    = "https://www.z88dk.org";
diff --git a/nixpkgs/pkgs/development/compilers/zig/default.nix b/nixpkgs/pkgs/development/compilers/zig/default.nix
index 35ad09320dec..961e28da82e7 100644
--- a/nixpkgs/pkgs/development/compilers/zig/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zig/default.nix
@@ -1,19 +1,23 @@
 { stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.0";
+  version = "0.5.0";
   pname = "zig";
 
   src = fetchFromGitHub {
     owner = "ziglang";
     repo = pname;
     rev = version;
-    sha256 = "1cq6cc5pvybz9kn3y0j5gskkjq88hkmmcsva54mfzpcc65l3pv6p";
+    sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ];
 
+  preBuild = ''
+    export HOME=$TMPDIR;
+  '';
+
   meta = with stdenv.lib; {
     description = "Programming languaged designed for robustness, optimality, and clarity";
     homepage = https://ziglang.org/;
diff --git a/nixpkgs/pkgs/development/compilers/zulu/8.nix b/nixpkgs/pkgs/development/compilers/zulu/8.nix
index d4caabc6cb83..d05ec1a682aa 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/8.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/8.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/zulu/default.nix b/nixpkgs/pkgs/development/compilers/zulu/default.nix
index 5f345c87355f..5fe2473bac6d 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/nixpkgs/pkgs/development/coq-modules/Cheerios/default.nix b/nixpkgs/pkgs/development/coq-modules/Cheerios/default.nix
index 4e75b9407dee..14048d1b0d82 100644
--- a/nixpkgs/pkgs/development/coq-modules/Cheerios/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/Cheerios/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   preConfigure = "patchShebangs ./configure";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   passthru = {
     compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
diff --git a/nixpkgs/pkgs/development/coq-modules/InfSeqExt/default.nix b/nixpkgs/pkgs/development/coq-modules/InfSeqExt/default.nix
index 5df96519e7ff..ced2b7ce3dbf 100644
--- a/nixpkgs/pkgs/development/coq-modules/InfSeqExt/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/InfSeqExt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   preConfigure = "patchShebangs ./configure";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   passthru = {
     compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
diff --git a/nixpkgs/pkgs/development/coq-modules/StructTact/default.nix b/nixpkgs/pkgs/development/coq-modules/StructTact/default.nix
index 2e4d12478b79..798aaabe6773 100644
--- a/nixpkgs/pkgs/development/coq-modules/StructTact/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/StructTact/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   preConfigure = "patchShebangs ./configure";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   passthru = {
     compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5";
diff --git a/nixpkgs/pkgs/development/coq-modules/Verdi/default.nix b/nixpkgs/pkgs/development/coq-modules/Verdi/default.nix
index d2e9660a630e..3cf3a4e8d4bd 100644
--- a/nixpkgs/pkgs/development/coq-modules/Verdi/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/Verdi/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
 
   preConfigure = "patchShebangs ./configure";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   passthru = {
     compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
diff --git a/nixpkgs/pkgs/development/coq-modules/autosubst/default.nix b/nixpkgs/pkgs/development/coq-modules/autosubst/default.nix
index bffa5172b0e4..ee08af40c51e 100644
--- a/nixpkgs/pkgs/development/coq-modules/autosubst/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/autosubst/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   patches = [./0001-changes-to-work-with-Coq-8.6.patch];
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     homepage = https://www.ps.uni-saarland.de/autosubst/;
diff --git a/nixpkgs/pkgs/development/coq-modules/bignums/default.nix b/nixpkgs/pkgs/development/coq-modules/bignums/default.nix
index fb45e591ec1a..0d6d7f172161 100644
--- a/nixpkgs/pkgs/development/coq-modules/bignums/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/bignums/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
 
   buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     license = licenses.lgpl2;
diff --git a/nixpkgs/pkgs/development/coq-modules/contribs/default.nix b/nixpkgs/pkgs/development/coq-modules/contribs/default.nix
index 524427c109a6..8362c704d95f 100644
--- a/nixpkgs/pkgs/development/coq-modules/contribs/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/contribs/default.nix
@@ -42,7 +42,7 @@ let mkContrib = repo: revs: param:
     sha256 = "18f5vbq6nx9gz2gcj5p7v2gmjczpspc5dmlj6by4jqv07iirzsz2";
   };
 
-  additions = mkContrib "additions" [ "8.6" "8.7" ] {
+  additions = mkContrib "additions" [ "8.6" ] {
     version = "v8.5.0-9-gbec504e";
     rev = "bec504e7822747376159aaa2156cf7453dbbd2b4";
     sha256 = "1vvkqjnqrf6m726krhlm2viza64ha2081xgc5wb9y5sygd0baaz7";
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-bits/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-bits/default.nix
new file mode 100644
index 000000000000..ed6118dbb55d
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/coq-bits/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, coq, mathcomp-algebra }:
+
+let
+  version = "20190812";
+in
+
+stdenv.mkDerivation {
+  name = "coq${coq.coq-version}-coq-bits-${version}";
+
+  src = fetchFromGitHub {
+    owner = "coq-community";
+    repo = "coq-bits";
+    rev = "f74498a6c67e97d9565e139d62be8eaae7111f06";
+    sha256 = "1ibg37qxgkmpbpvc78qcb179bcnzl149z1kzwdm8n98xk5ibavrf";
+  };
+
+  buildInputs = [ coq ];
+  propagatedBuildInputs = [ mathcomp-algebra ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    make -f Makefile CoqMakefile
+    make -f CoqMakefile COQLIB=$out/lib/coq/${coq.coq-version}/ install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/coq-community/coq-bits;
+    description = "A formalization of bitset operations in Coq";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ptival ];
+    platforms = coq.meta.platforms;
+  };
+
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" "8.10" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
index c689cea1a827..56aa005c4a92 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, which, coq }:
 
 let params = {
-  "8.10" = {
-    version = "master";
-    rev = "bc7134deba1aacc7ecd2f5d1032bdf05b125c568";
-    sha256 = "188avk9irwjsbs5ya4ka01mpk3vw4397kv2rmsncqrrrsa1pdddk";
+  "8.10" = rec {
+    version = "1.1.0";
+    rev = "v${version}";
+    sha256 = "06jyw7n27ylg02jvlaa3hs13hg8qgx47yn4dxhg9as1xri9a2rvm";
   };
 };
   param = params.${coq.coq-version};
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which ];
   buildInputs = [ coq coq.ocaml ] ++ (with coq.ocamlPackages; [ findlib elpi ]);
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = {
     description = "Coq plugin embedding ELPI.";
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 898272d402b6..977039223959 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -5,8 +5,8 @@ let params =
     "8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; };
     "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
     "8.7" = { version = "0.9.7"; sha256 = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; };
-    "8.8" = { version = "0.9.8"; sha256 = "0z1ix855kdjl7zw5ca664h5njd1x8mmvf5wi37fck4dj9dgamwlz"; };
-    "8.9" = { version = "0.10.1"; sha256 = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95"; };
+    "8.8" = { version = "0.10.3"; sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; };
+    "8.9" = { version = "0.10.3"; sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; };
   };
   param = params.${coq.coq-version};
 in
@@ -28,12 +28,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/coq-ext-lib/coq-ext-lib;
     description = "A collection of theories and plugins that may be useful in other Coq developments";
-    maintainers = with maintainers; [ jwiegley ];
+    maintainers = with maintainers; [ jwiegley ptival ];
     platforms = coq.meta.platforms;
   };
 
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-extensible-records/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-extensible-records/default.nix
index 513b046c0fee..3b93b6b2de22 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-extensible-records/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-extensible-records/default.nix
@@ -1,13 +1,39 @@
 { stdenv, fetchFromGitHub, coq }:
 
-stdenv.mkDerivation {
-  name = "coq${coq.coq-version}-coq-extensible-records-1.2.0";
+let
+  versions = {
+    pre_8_9 = {
+      owner   = "gmalecha";
+      rev     = "1.2.0";
+      version = "1.2.0";
+      sha256  = "0h5m04flqfk0v577syw0v1dw2wf7xrx6jaxv5gpmqzssf5hxafy4";
+    };
+    post_8_9 = {
+      owner   = "Ptival";
+      rev     = "bd7082a3571ee3c111096ff6b5eb28c8d3a99ce5";
+      version = "1.2.0+8.9-fix";
+      sha256  = "0625qd8pyxi0v704fwnawrfw5fk966vnk120il0g6qv42siyck95";
+    };
+  };
+  params =
+    {
+      "8.5"  = versions.pre_8_9;
+      "8.6"  = versions.pre_8_9;
+      "8.7"  = versions.pre_8_9;
+      "8.8"  = versions.pre_8_9;
+      "8.9"  = versions.post_8_9;
+      "8.10" = versions.post_8_9;
+    };
+  param = params.${coq.coq-version};
+in
+
+stdenv.mkDerivation rec {
+  inherit (param) version;
+  name = "coq${coq.coq-version}-coq-extensible-records-${version}";
 
   src = fetchFromGitHub {
-    owner = "gmalecha";
+    inherit (param) owner rev sha256;
     repo = "coq-extensible-records";
-    rev = "1.2.0";
-    sha256 = "0h5m04flqfk0v577syw0v1dw2wf7xrx6jaxv5gpmqzssf5hxafy4";
   };
 
   buildInputs = [ coq ];
@@ -27,6 +53,6 @@ stdenv.mkDerivation {
   };
 
   passthru = {
-    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ];
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix b/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
index 6228bd4be9d0..aaf867baf258 100644
--- a/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ bignums ];
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     description = "Library to certify primality using Pocklington certificate and Elliptic Curve Certificate";
diff --git a/nixpkgs/pkgs/development/coq-modules/corn/default.nix b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
index e5fa11c5cad4..97bb884c92e2 100644
--- a/nixpkgs/pkgs/development/coq-modules/corn/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = {
     homepage = http://c-corn.github.io/;
diff --git a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
index 401cb299497b..49288d3cb327 100644
--- a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -41,10 +41,10 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
   '';
 
-  installFlags = ''
-    COQLIB=$(out)/lib/coq/${coq.coq-version}/
-    BINDIR=$(out)/bin
-  '';
+  installFlags = [
+    "COQLIB=$(out)/lib/coq/${coq.coq-version}/"
+    "BINDIR=$(out)/bin"
+  ];
 
   meta = {
     description = "Build dependency graphs between Coq objects";
diff --git a/nixpkgs/pkgs/development/coq-modules/equations/default.nix b/nixpkgs/pkgs/development/coq-modules/equations/default.nix
index b6efd3d75a4e..9ea9ac216718 100644
--- a/nixpkgs/pkgs/development/coq-modules/equations/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/equations/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   preBuild = "coq_makefile -f _CoqProject -o Makefile";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     homepage = https://mattam82.github.io/Coq-Equations/;
diff --git a/nixpkgs/pkgs/development/coq-modules/heq/default.nix b/nixpkgs/pkgs/development/coq-modules/heq/default.nix
index 03149bab58b1..5d3c94c5f5c8 100644
--- a/nixpkgs/pkgs/development/coq-modules/heq/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/heq/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   preBuild = "cd src";
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}" ];
 
   meta = with stdenv.lib; {
     homepage = https://www.mpi-sws.org/~gil/Heq/;
diff --git a/nixpkgs/pkgs/development/coq-modules/ltac2/default.nix b/nixpkgs/pkgs/development/coq-modules/ltac2/default.nix
index 80b167aaa98a..92484f169c15 100644
--- a/nixpkgs/pkgs/development/coq-modules/ltac2/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/ltac2/default.nix
@@ -11,11 +11,16 @@ let params = {
     rev = "0.1";
     sha256 = "1zz26cyv99whj7rrpgnhhm9dfqnpmrx5pqizn8ihf8jkq8d4drz7";
   };
-  "8.9" = {
-    version = "0.1";
-    rev = "a69551a49543b22a7d4e6a2484356b56bd05068e";
+  "8.9" = rec {
+    version = "0.2";
+    rev = version;
     sha256 = "0xby1kb26r9gcvk5511wqj05fqm9paynwfxlfqkmwkgnfmzk0x73";
   };
+  "8.10" = rec {
+    version = "0.3";
+    rev = version;
+    sha256 = "0pzs5nsakh4l8ffwgn4ryxbnxdv2x0r1i7bc598ij621haxdirrr";
+  };
 };
   param = params.${coq.coq-version};
 in
@@ -31,9 +36,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ which ];
-  buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]);
+  buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml findlib ])
+  ++ stdenv.lib.optional (!stdenv.lib.versionAtLeast coq.coq-version "8.10")
+     coq.ocamlPackages.camlp5
+  ;
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = {
     description = "A robust and expressive tactic language for Coq";
diff --git a/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix b/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
index 82802b8f30e7..7aad4261fd32 100644
--- a/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ coq bignums ];
   enableParallelBuilding = true;
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   meta = with stdenv.lib; {
     homepage = https://math-classes.github.io;
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
index 6798236591c4..647a13afa8f8 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
@@ -92,7 +92,7 @@ let
            attrValues (mkMathcompGenFrom overrides (mathcomp-deps mathcomp-pkg) mathcomp-version);
         enableParallelBuilding = true;
 
-        buildFlags = optionalString withDoc "doc";
+        buildFlags = optional withDoc "doc";
 
         COQBIN = "${coq}/bin/";
 
@@ -108,7 +108,7 @@ let
         '';
 
         meta = with stdenv.lib; {
-          homepage = http://ssr.msr-inria.inria.fr/;
+          homepage = "https://math-comp.github.io/";
           license = licenses.cecill-b;
           maintainers = [ maintainers.vbgl maintainers.jwiegley ];
           platforms = coq.meta.platforms;
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp/extra.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp/extra.nix
index c342c25a4118..2df9cbe58c72 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp/extra.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp/extra.nix
@@ -74,7 +74,7 @@ versions = {
       core-deps = with coqPackages; [ mathcomp-field_1_9 ];
       extra-deps = with coqPackages; [ mathcomp_1_9-bigenough ];
     };
-  }; 
+  };
   "1.8.0" = {
     finmap.version = "1.2.1";
     bigenough.version = "1.0.0";
@@ -154,7 +154,7 @@ packageGen = {
 
     propagatedBuildInputs = [ coq ] ++ mc-core-deps ++ extra-deps;
 
-    installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+    installFlags = [ "-f" "Makefile.coq" "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
     meta = {
       inherit description;
diff --git a/nixpkgs/pkgs/development/coq-modules/paco/default.nix b/nixpkgs/pkgs/development/coq-modules/paco/default.nix
index 86a1301d3c76..fee6de7b35bf 100644
--- a/nixpkgs/pkgs/development/coq-modules/paco/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/paco/default.nix
@@ -1,13 +1,36 @@
-{stdenv, fetchurl, coq, unzip}:
+{stdenv, fetchFromGitHub, coq, unzip}:
+
+let
+  versions = {
+    pre_8_6 = rec {
+      rev = "v${version}";
+      version = "1.2.8";
+      sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb";
+    };
+    post_8_6 = rec {
+      rev = "v${version}";
+      version = "4.0.0";
+      sha256 = "1ncrdyijkgf0s2q4rg1s9r2nrcb17gq3jz63iqdlyjq3ylv8gyx0";
+    };
+  };
+  params = {
+    "8.5" = versions.pre_8_6;
+    "8.6" = versions.post_8_6;
+    "8.7" = versions.post_8_6;
+    "8.8" = versions.post_8_6;
+    "8.9" = versions.post_8_6;
+  };
+  param = params.${coq.coq-version};
+in
 
 stdenv.mkDerivation rec {
-
+  inherit (param) version;
   name = "coq-paco-${coq.coq-version}-${version}";
-  version = "1.2.8";
 
-  src = fetchurl {
-    url = "http://plv.mpi-sws.org/paco/paco-${version}.zip";
-    sha256 = "1lcmdr0y2d7gzyvr8dal3pi7fibbd60bpi1l32fw89xiyrgqhsqy";
+  src = fetchFromGitHub {
+    inherit (param) rev sha256;
+    owner = "snu-sf";
+    repo = "paco";
   };
 
   buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
@@ -24,12 +47,12 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://plv.mpi-sws.org/paco/;
     description = "A Coq library implementing parameterized coinduction";
-    maintainers = with maintainers; [ jwiegley ];
+    maintainers = with maintainers; [ jwiegley ptival ];
     platforms = coq.meta.platforms;
   };
 
   passthru = {
-    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix b/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
index a8dd74dd5fb6..a57d1bc9088d 100644
--- a/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ])
   ;
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
 
   passthru = {
     compatibleCoqVersions = v: builtins.hasAttr v params;
diff --git a/nixpkgs/pkgs/development/coq-modules/tlc/default.nix b/nixpkgs/pkgs/development/coq-modules/tlc/default.nix
index fb966f762bc2..119261f412b1 100644
--- a/nixpkgs/pkgs/development/coq-modules/tlc/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/tlc/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ coq ];
 
-  installFlags = "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib";
+  installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
 
   meta = {
     homepage = "http://www.chargueraud.org/softs/tlc/";
diff --git a/nixpkgs/pkgs/development/em-modules/generic/default.nix b/nixpkgs/pkgs/development/em-modules/generic/default.nix
index d1e7ac882d79..a260beb51044 100644
--- a/nixpkgs/pkgs/development/em-modules/generic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/go-modules/generic/default.nix b/nixpkgs/pkgs/development/go-modules/generic/default.nix
index 8a7deff2e730..e30f889930b7 100644
--- a/nixpkgs/pkgs/development/go-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-modules/generic/default.nix
@@ -12,7 +12,14 @@ let
     # A function to override the go-modules derivation
     , overrideModAttrs ? (_oldAttrs : {})
 
+    # path to go.mod and go.sum directory
+    , modRoot ? "./"
+
     # modSha256 is the sha256 of the vendored dependencies
+    #
+    # CAUTION: if `null` is used as a value, the derivation won't be a
+    # fixed-output derivation but disable the build sandbox instead. Don't use
+    # this in nixpkgs as Hydra won't build those packages.
     , modSha256
 
     # We want parallel builds by default
@@ -60,7 +67,7 @@ let
           export GOCACHE=$TMPDIR/go-cache
           export GOPATH="$TMPDIR/go"
           mkdir -p "''${GOPATH}/pkg/mod/cache/download"
-
+          cd "${modRoot}"
           runHook postConfigure
         '';
 
@@ -75,16 +82,24 @@ let
         installPhase = args.modInstallPhase or ''
           runHook preInstall
 
+          # remove cached lookup results and tiles
+          rm -rf "''${GOPATH}/pkg/mod/cache/download/sumdb"
           cp -r "''${GOPATH}/pkg/mod/cache/download" $out
 
           runHook postInstall
         '';
 
         dontFixup = true;
-        outputHashMode = "recursive";
-        outputHashAlgo = "sha256";
-        outputHash = modSha256;
-      }; in modArgs // overrideModAttrs modArgs);
+      }; in modArgs // (
+        if modSha256 == null then
+          { __noChroot = true; }
+        else
+          {
+            outputHashMode = "recursive";
+            outputHashAlgo = "sha256";
+            outputHash = modSha256;
+          }
+      ) // overrideModAttrs modArgs);
 
       package = go.stdenv.mkDerivation (args // {
         nativeBuildInputs = [ removeReferencesTo go ] ++ nativeBuildInputs;
@@ -98,8 +113,11 @@ let
 
           export GOCACHE=$TMPDIR/go-cache
           export GOPATH="$TMPDIR/go"
+          export GOSUMDB=off
           export GOPROXY=file://${go-modules}
 
+          cd "$modRoot"
+
           runHook postConfigure
         '';
 
diff --git a/nixpkgs/pkgs/development/go-packages/generic/default.nix b/nixpkgs/pkgs/development/go-packages/generic/default.nix
index b3386aaf24bf..03d777d5c880 100644
--- a/nixpkgs/pkgs/development/go-packages/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-packages/generic/default.nix
@@ -84,6 +84,8 @@ let
     GOHOSTARCH = go.GOHOSTARCH or null;
     GOHOSTOS = go.GOHOSTOS or null;
 
+    GO111MODULE = "off";
+
     GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
 
     configurePhase = args.configurePhase or ''
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix
index 41bfb2ef62a9..eff4c699625a 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix
+++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       name = "sdl-env";
       paths = buildInputs;
     };
-  in "SDLMINUSI=-I${sdl}/include/SDL";
+  in [ "SDLMINUSI=-I${sdl}/include/SDL" ];
 
   meta = with stdenv.lib; {
     description = "Guile bindings for SDL";
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index fd8bfef030ae..7b06628dbc7e 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -15,6 +15,11 @@ with haskellLib;
 
 self: super: {
 
+  # Arion's test suite needs a Nixpkgs, which is cumbersome to do from Nixpkgs
+  # itself. For instance, pkgs.path has dirty sources and puts a huge .git in the
+  # store. Testing is done upstream.
+  arion-compose = dontCheck super.arion-compose;
+
   # This used to be a core package provided by GHC, but then the compiler
   # dropped it. We define the name here to make sure that old packages which
   # depend on this library still evaluate (even though they won't compile
@@ -69,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 = "1ackqjkwkfm3kazlyy4nwdjf6wwjlajql1hrznaki5138nw4gxs4";
+      sha256 = "1i4arhwbc05iz8hl7kk843m2f49i3ysby1kxcm9qfhpk7z9nyzj4";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -145,6 +150,8 @@ self: super: {
     then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
     else super.halive;
 
+  barbly = addBuildDepend super.barbly pkgs.darwin.apple_sdk.frameworks.AppKit;
+
   # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
   hakyll = if pkgs.stdenv.isDarwin
     then dontCheck (overrideCabal super.hakyll (drv: {
@@ -268,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;
@@ -281,6 +289,7 @@ self: super: {
   ghc-parmake = dontCheck super.ghc-parmake;
   ghcid = dontCheck super.ghcid;
   git-vogue = dontCheck super.git-vogue;
+  github-rest = dontCheck super.github-rest;  # test suite needs the network
   gitlib-cmdline = dontCheck super.gitlib-cmdline;
   GLFW-b = dontCheck super.GLFW-b;                      # https://github.com/bsl/GLFW-b/issues/50
   hackport = dontCheck super.hackport;
@@ -314,15 +323,14 @@ self: super: {
   influxdb = dontCheck super.influxdb;
   itanium-abi = dontCheck super.itanium-abi;
   katt = dontCheck super.katt;
-  language-slice = dontCheck super.language-slice;
   language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275
+  language-slice = dontCheck super.language-slice;
   ldap-client = dontCheck super.ldap-client;
   lensref = dontCheck super.lensref;
   lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
   lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
   matplotlib = dontCheck super.matplotlib;
   memcache = dontCheck super.memcache;
-  MemoTrie = dontHaddock (dontCheck super.MemoTrie);
   metrics = dontCheck super.metrics;
   milena = dontCheck super.milena;
   modular-arithmetic = dontCheck super.modular-arithmetic; # tests require a very old Glob (0.7.*)
@@ -362,6 +370,8 @@ self: super: {
   separated = dontCheck super.separated;
   shadowsocks = dontCheck super.shadowsocks;
   shake-language-c = dontCheck super.shake-language-c;
+  snap-core = dontCheck super.snap-core;
+  sourcemap = dontCheck super.sourcemap;
   static-resources = dontCheck super.static-resources;
   strive = dontCheck super.strive;                      # fails its own hlint test with tons of warnings
   svndump = dontCheck super.svndump;
@@ -378,14 +388,17 @@ self: super: {
   webdriver = dontCheck super.webdriver;
   webdriver-angular = dontCheck super.webdriver-angular;
   xsd = dontCheck super.xsd;
-  snap-core = dontCheck super.snap-core;
-  sourcemap = dontCheck super.sourcemap;
   zip-archive = dontCheck super.zip-archive;  # https://github.com/jgm/zip-archive/issues/57
 
   # These test suites run for ages, even on a fast machine. This is nuts.
   Random123 = dontCheck super.Random123;
   systemd = dontCheck super.systemd;
 
+  # use the correct version of network
+  systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override {
+    network = self.network_3_1_1_1;
+  });
+
   # https://github.com/eli-frey/cmdtheline/issues/28
   cmdtheline = dontCheck super.cmdtheline;
 
@@ -503,7 +516,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
@@ -588,9 +603,23 @@ self: super: {
   sets = dontCheck super.sets;
 
   # Install icons, metadata and cli program.
-  bustle = overrideCabal super.bustle (drv: {
+  # Do not build hgettext as it is broken
+  # https://gitlab.freedesktop.org/bustle/bustle/issues/13
+  bustle = overrideCabal (disableCabalFlag (super.bustle.override { hgettext = null; }) "hgettext") (drv: {
     buildDepends = [ pkgs.libpcap ];
     buildTools = with pkgs.buildPackages; [ gettext perl help2man ];
+    patches = [
+      # fix build
+      # https://gitlab.freedesktop.org/bustle/bustle/merge_requests/14
+      (pkgs.fetchpatch {
+        url = "https://gitlab.freedesktop.org/bustle/bustle/commit/ee4b81cbc232d47ba9940f1987777b17452e71ff.patch";
+        sha256 = "0v9cvbmrma5jcqcg1narpm1549h0cg8mr6i00qxmq0x6hs04dnwa";
+      })
+      (pkgs.fetchpatch {
+        url = "https://gitlab.freedesktop.org/bustle/bustle/commit/aae6843f51f54679d440fb3813e61355dc8406b9.patch";
+        sha256 = "1a8hr38hd1gdkqhsy56hyl7njw8ci79iigr81aalkb7hn4ckvh2a";
+      })
+    ];
     postInstall = ''
       make install PREFIX=$out
     '';
@@ -614,7 +643,7 @@ self: super: {
   # ideal, but Chris doesn't seem to make official releases any more.
   structured-haskell-mode = overrideCabal super.structured-haskell-mode (drv: {
     src = pkgs.fetchFromGitHub {
-      owner = "chrisdone";
+      owner = "projectional-haskell";
       repo = "structured-haskell-mode";
       rev = "7f9df73f45d107017c18ce4835bbc190dfe6782e";
       sha256 = "1jcc30048j369jgsbbmkb63whs4wb37bq21jrm3r6ry22izndsqa";
@@ -630,15 +659,6 @@ self: super: {
       ln -s $lispdir $data/share/emacs/site-lisp
     '';
   });
-  descriptive = overrideSrc super.descriptive {
-    version = "20180514-git";
-    src = pkgs.fetchFromGitHub {
-      owner = "chrisdone";
-      repo = "descriptive";
-      rev = "c088960113b2add758553e41cbe439d183b750cd";
-      sha256 = "17p65ihcvm1ghq23ww6phh8gdj7hwxlypjvh9jabsxvfbp2s8mrk";
-    };
-  };
 
   # Make elisp files available at a location where people expect it.
   hindent = (overrideCabal super.hindent (drv: {
@@ -692,14 +712,6 @@ self: super: {
   # We get lots of strange compiler errors during the test suite run.
   jsaddle = dontCheck super.jsaddle;
 
-  # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza
-  cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools;
-  pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"];
-  gtk =
-    if pkgs.stdenv.isDarwin
-    then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
-    else super.gtk;
-
   # https://github.com/Philonous/hs-stun/pull/1
   # Remove if a version > 0.1.0.1 ever gets released.
   stunclient = overrideCabal super.stunclient (drv: {
@@ -733,7 +745,7 @@ self: super: {
           substituteInPlace conf.py --replace "'.md': CommonMarkParser," ""
         '';
         nativeBuildInputs = with pkgs.buildPackages.pythonPackages; [ sphinx recommonmark sphinx_rtd_theme ];
-        makeFlags = "html";
+        makeFlags = [ "html" ];
         installPhase = ''
           mv _build/html $out
         '';
@@ -1036,6 +1048,30 @@ self: super: {
     generateOptparseApplicativeCompletion "dhall" (
       dontCheck super.dhall
   );
+  # https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af
+  # This raises the lower bound on prettyprinter to 1.5.1 since
+  # `removeTrailingWhitespace` is buggy in earlier versions.
+  # This will probably be able to be removed when we update to LTS-15.
+  dhall_1_28_0 =
+    dontCheck (super.dhall_1_28_0.override {
+      prettyprinter = self.prettyprinter_1_5_1;
+      prettyprinter-ansi-terminal =
+        self.prettyprinter-ansi-terminal.override {
+          prettyprinter = self.prettyprinter_1_5_1;
+        };
+    });
+  dhall-bash_1_0_25 = super.dhall-bash_1_0_25.override { dhall = self.dhall_1_28_0; };
+  dhall-json_1_6_0 = super.dhall-json_1_6_0.override {
+    dhall = self.dhall_1_28_0;
+    prettyprinter = self.prettyprinter_1_5_1;
+    prettyprinter-ansi-terminal =
+      self.prettyprinter-ansi-terminal.override {
+        prettyprinter = self.prettyprinter_1_5_1;
+      };
+  };
+
+  # Tests for dhall access the network.
+  dhall_1_27_0 = dontCheck super.dhall_1_27_0;
 
   # Missing test files in source distribution, fixed once 1.4.0 is bumped
   # https://github.com/dhall-lang/dhall-haskell/pull/997
@@ -1055,12 +1091,14 @@ self: super: {
   # https://github.com/haskell-hvr/hgettext/issues/14
   hgettext = doJailbreak super.hgettext;
 
+  # 2.23.0 supports GHC 8.x and up
+  haddock = super.haddock_2_22_0;
   # haddock-api-2.22.0: Break out of “QuickCheck ==2.11.*, hspec >=2.4.4 && <2.6”
-  haddock-api = dontHaddock (doJailbreak (super.haddock-api));
+  haddock-api = dontHaddock (doJailbreak (super.haddock-api_2_22_0));
 
   # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
   haddock-library = doJailbreak (dontCheck super.haddock-library);
-  # haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
+  haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0;
 
   # Generate shell completion.
   cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
@@ -1099,8 +1137,23 @@ self: super: {
   # https://github.com/snapframework/xmlhtml/pull/37
   xmlhtml = doJailbreak super.xmlhtml;
 
-  # Generate shell completions
-  purescript = generateOptparseApplicativeCompletion "purs" super.purescript;
+  purescript =
+    let
+      purescriptWithOverrides = super.purescript.override {
+        # PureScript requires an older version of happy.
+        happy = self.happy_1_19_9;
+      };
+
+      # PureScript is built against LTS-13, so we need to jailbreak it to
+      # accept more recent versions of the libraries it requires.
+      jailBrokenPurescript = doJailbreak purescriptWithOverrides;
+
+      # Haddocks for PureScript can't be built.
+      # https://github.com/purescript/purescript/pull/3745
+      dontHaddockPurescript = dontHaddock jailBrokenPurescript;
+    in
+    # Generate shell completions
+    generateOptparseApplicativeCompletion "purs" dontHaddockPurescript;
 
   # https://github.com/kcsongor/generic-lens/pull/65
   generic-lens = dontCheck super.generic-lens;
@@ -1127,11 +1180,6 @@ self: super: {
   # Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30
   tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1
 
-  uri-bytestring = appendPatch super.uri-bytestring (pkgs.fetchpatch {
-    url = "https://github.com/Soostone/uri-bytestring/commit/e5c5602a97160a6a6304a24947e33e47c9155460.patch";
-    sha256 = "1qwy8bj6vywhp0075dza8j90zrzsm3144qz3c703s9c4n6pg3gw4";
-    });
-
   # Requires pg_ctl command during tests
   beam-postgres = overrideCabal super.beam-postgres (drv: {
     testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
@@ -1156,18 +1204,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;
 
@@ -1192,8 +1228,8 @@ self: super: {
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
   # Requires dhall >= 1.23.0
-  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_26_0; };
-  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_26_0; };
+  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; };
+  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; };
 
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
@@ -1203,10 +1239,10 @@ self: super: {
   constraints-deriving = dontCheck super.constraints-deriving;
 
   # need newer version of ghc-libparser
-  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_0_20190723; };
+  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; };
 
   # https://github.com/sol/hpack/issues/366
-  hpack = self.hpack_0_32_0;
+  hpack = self.hpack_0_33_0;
 
   # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
   graphviz = dontCheck super.graphviz;
@@ -1223,13 +1259,106 @@ self: super: {
     '';
   });
 
-  # The LTS-14.x version of optparse-applicative is too old.
-  cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; };
+  # The LTS-14.x version of their dependencies are too old.
+  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:
+  # https://github.com/bitnomial/prometheus/issues/34
+  prometheus = doJailbreak super.prometheus;
+
+  # Tasty-tap tests are out-of-date with TAP format
+  # https://github.com/MichaelXavier/tasty-tap/issues/2
+  tasty-tap = appendPatch super.tasty-tap (pkgs.fetchpatch {
+    url = https://patch-diff.githubusercontent.com/raw/MichaelXavier/tasty-tap/pull/3.diff;
+    sha256 = "0l8zbc56dy8ilxl3k49aiknmfhgpcg3jhs72lh3dk51d0a09d9sv";
+  });
+
+  # The doctests in universum-1.5.0 are broken.  The doctests in versions of universum after
+  # 1.5.0 should be fixed, so this should be able to be removed.
+  universum = dontCheck super.universum;
+
+  # https://github.com/erikd/hjsmin/issues/32
+  hjsmin = dontCheck super.hjsmin;
+
+  # https://github.com/blamario/grampa/issues/19
+  rank2classes = dontCheck super.rank2classes;
+
+  nix-tools = super.nix-tools.overrideScope (self: super: {
+    # Needs https://github.com/peti/hackage-db/pull/9
+    hackage-db = super.hackage-db.overrideAttrs (old: {
+      src = pkgs.fetchFromGitHub {
+        owner = "ElvishJerricco";
+        repo = "hackage-db";
+        rev = "84ca9fc75ad45a71880e938e0d93ea4bde05f5bd";
+        sha256 = "0y3kw1hrxhsqmyx59sxba8npj4ya8dpgjljc21gkgdvdy9628q4c";
+      };
+    });
+  });
+
+  # upstream issue: https://github.com/vmchale/atspkg/issues/12
+  language-ats = dontCheck super.language-ats;
+
+  # polysemy-plugin requires polysemy >= 1.2.0.0
+  polysemy = self.polysemy_1_2_3_0;
+  polysemy-zoo = self.polysemy-zoo_0_6_0_1;
+
+  # https://github.com/Happstack/web-routes-th/pull/3
+  web-routes-th = doJailbreak super.web-routes-th;
+
+  # Remove for hail > 0.2.0.0
+  hail = overrideCabal super.hail (drv: {
+    patches = [
+      (pkgs.fetchpatch {
+        # Relax dependency constraints,
+        # upstream PR: https://github.com/james-preston/hail/pull/13
+        url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/13.patch";
+        sha256 = "039p5mqgicbhld2z44cbvsmam3pz0py3ybaifwrjsn1y69ldsmkx";
+      })
+      (pkgs.fetchpatch {
+        # Relax dependency constraints,
+        # upstream PR: https://github.com/james-preston/hail/pull/15
+        url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/15.patch";
+        sha256 = "03kdvr8hxi6isb8yxp5rgcmz855n19m1yacn3d56a4i58j2mldjw";
+      })
+    ];
+  });
+
+  # 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;
+
+  # needs newer version of the systemd package
+  spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
+
+  # 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more
+  # hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi
+  glirc = doJailbreak super.glirc;
+
+  # apply patches from https://github.com/snapframework/snap-server/pull/126
+  # manually until they are accepted upstream
+  snap-server = overrideCabal super.snap-server (drv: {
+    patches = [(pkgs.fetchpatch {
+      # allow compilation with network >= 3
+      url = https://github.com/snapframework/snap-server/pull/126/commits/4338fe15d68e11e3c7fd0f9862f818864adc1d45.patch;
+      sha256 = "1nlw9lckm3flzkmhkzwc7zxhdh9ns33w8p8ds8nf574nqr5cr8bv";
+    })
+    (pkgs.fetchpatch {
+      # prefer fdSocket over unsafeFdSocket
+      url = https://github.com/snapframework/snap-server/pull/126/commits/410de2df123b1d56b3093720e9c6a1ad79fe9de6.patch;
+      sha256 = "08psvw0xny64q4bw1nwg01pkzh01ak542lw6k1ps7cdcwaxk0n94";
+    })];
+  });
 
-  # https://github.com/brendanhay/amazonka/commit/657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b
-  amazonka = appendPatch super.amazonka ./patches/amazonka-Allow-http-client-0.6.patch;
+  # https://github.com/haskell-servant/servant-blaze/issues/17
+  servant-blaze = doJailbreak super.servant-blaze;
 
-  # https://github.com/brendanhay/amazonka/commit/657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b
-  amazonka-core = appendPatch super.amazonka-core ./patches/amazonka-core-Allow-http-client-0.6.patch;
+  # https://github.com/haskell-servant/servant-ekg/issues/15
+  servant-ekg = doJailbreak super.servant-ekg;
 
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
new file mode 100644
index 000000000000..e2164f8686f2
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -0,0 +1,44 @@
+{ pkgs, haskellLib }:
+
+with haskellLib;
+
+self: super: {
+
+  # This compiler version needs llvm 9.x.
+  llvmPackages = pkgs.llvmPackages_9;
+
+  # Disable GHC 8.10.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-compact = null;
+  ghc-heap = null;
+  ghc-prim = null;
+  ghci = null;
+  haskeline = null;
+  hpc = null;
+  integer-gmp = null;
+  libiserv = null;
+  mtl = null;
+  parsec = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  stm = null;
+  template-haskell = null;
+  terminfo = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+}
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index d2e463b123c0..7c0866bfbe5f 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -71,28 +71,14 @@ self: super: {
   # Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
   stack = doJailbreak super.stack;
 
-  # Needs a recent version from the "develop" branch of the upstream git
-  # repository to compile with ghc 8.6.4.
-  liquid-fixpoint = assert super.liquid-fixpoint.version == "0.7.0.7"; overrideSrc super.liquid-fixpoint {
-    src = pkgs.fetchFromGitHub {
-      owner = "ucsd-progsys";
-      repo = "liquid-fixpoint";
-      rev = "42c027ab9ae47907c588a2f1f9c05a5e0aa881e9";
-      sha256 = "17qmzq1vx7h04yd38drr6sh6hys3q2rz62qh3pna9kbxlcnikkqf";
-    };
-    version = "0.8.0.2-pre-release";
-  };
-  liquidhaskell = assert super.liquidhaskell.version == "0.8.2.4"; overrideSrc super.liquidhaskell {
-    src = pkgs.fetchFromGitHub {
-      owner = "ucsd-progsys";
-      repo = "liquidhaskell";
-      rev = "46f11e8faef006e70d39572d08419283b1280b88";
-      sha256 = "10z5r6g5acd43bsak762kwhy33ff262zmhs0wga545nbg29q1fyp";
-    };
-    version = "0.8.6.0-pre-release";
-  };
-
   # Newer versions don't compile.
   resolv = self.resolv_0_1_1_2;
 
+  # cabal2nix needs the latest version of Cabal, and the one
+  # hackage-db uses must match, so take the latest
+  cabal2nix = super.cabal2nix.overrideScope (self: super: {
+    Cabal = self.Cabal_3_0_0_0;
+    hackage-db = self.hackage-db_2_1_0;
+  });
+
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index a233185cf4b8..02f2f67462dc 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -42,9 +42,11 @@ self: super: {
   xhtml = null;
 
   # Ignore overly restrictive upper version bounds.
+  aeson-diff = doJailbreak super.aeson-diff;
   async = doJailbreak super.async;
   cabal-install = doJailbreak super.cabal-install;
   ChasingBottoms = doJailbreak super.ChasingBottoms;
+  chell = doJailbreak super.chell;
   cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
   Diff = dontCheck super.Diff;
   doctest = doJailbreak super.doctest;
@@ -57,128 +59,89 @@ self: super: {
   quickcheck-instances = doJailbreak super.quickcheck-instances;
   setlocale = doJailbreak super.setlocale;
   split = doJailbreak super.split;
+  system-fileio = doJailbreak super.system-fileio;
   tasty-expected-failure = doJailbreak super.tasty-expected-failure;
+  tasty-hedgehog = doJailbreak super.tasty-hedgehog;
   test-framework = doJailbreak super.test-framework;
+  th-expand-syns = doJailbreak super.th-expand-syns;
+  # TODO: remove when upstream accepts https://github.com/snapframework/io-streams-haproxy/pull/17
+  io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
+  snap-server = doJailbreak super.snap-server;
+  xmobar = doJailbreak super.xmobar;
+
+  # use latest version to fix the build
+  brick = self.brick_0_50_1;
+  dbus = self.dbus_1_2_11;
+  doctemplates = self.doctemplates_0_8;
+  exact-pi = doJailbreak super.exact-pi;
+  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;
+  haskell-src-meta = self.haskell-src-meta_0_8_5;
+  haskell-src-meta_0_8_5 = dontCheck super.haskell-src-meta_0_8_5;
+  HaTeX = self.HaTeX_3_22_0_0;
+  HsYAML = self.HsYAML_0_2_1_0;
+  json-autotype = doJailbreak super.json-autotype;
+  lens = self.lens_4_18_1;
+  memory = self.memory_0_15_0;
+  microlens = self.microlens_0_4_11_2;
+  microlens-ghc = self.microlens-ghc_0_4_11_1;
+  microlens-mtl = self.microlens-mtl_0_2_0_1;
+  microlens-platform = self.microlens-platform_0_4_0;
+  microlens-th = self.microlens-th_0_4_3_2;
+  network = self.network_3_1_1_1;
+  optparse-applicative = self.optparse-applicative_0_15_1_0;
+  pandoc = self.pandoc_2_9_1;
+  pandoc-types = self.pandoc-types_1_20;
+  prettyprinter = self.prettyprinter_1_5_1;
+  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-compat = self.regex-compat_0_95_2_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_1_0;
+  shelly = self.shelly_1_9_0;
+  singletons = self.singletons_2_6;
+  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;
+  th-desugar = self.th-desugar_1_10;
+  tls = self.tls_1_5_2;
+  trifecta = self.trifecta_2_1;
+  vty = self.vty_5_26;
+  xml-conduit = overrideCabal super.xml-conduit (drv: { version = "1.9.0.0"; sha256 = "1p57v127882rxvvmwjmvnqdmk3x2wg1z4d8y03849h0xaz1vid0w"; });
+  xmonad-contrib = self.xmonad-contrib_0_16;
 
   # These packages don't work and need patching and/or an update.
-  primitive = overrideSrc (doJailbreak super.primitive) {
-    version = "20180530-git";
-    src = pkgs.fetchFromGitHub {
-      owner = "haskell";
-      repo = "primitive";
-      rev = "97964182881aa0419546e0bb188b2d17e4468324";
-      sha256 = "1p1pinca33vd10iy7hl20c1fc99vharcgcai6z3ngqbq50k2pd3q";
-    };
-  };
-  vector-th-unbox = appendPatch (doJailbreak super.vector-th-unbox) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/vector-th-unbox-0.2.1.6.patch";
-    sha256 = "0169yf9ms1g5mmkc5l6hpffzm34zdrqdng4df02nbdmfgba45h19";
-  });
-  regex-base = overrideCabal (appendPatch super.regex-base (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch";
-    sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1";
-  })) (drv: {
-    preConfigure = "sed -i -e 's/base >=4 && < 4.13,/base,/' regex-base.cabal";
-  });
-  regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch";
-    sha256 = "006yli58jpqp786zm1xlncjsilc38iv3a09r4pv94l587sdzasd2";
-  });
-  optparse-applicative = appendPatch (doJailbreak super.optparse-applicative) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch";
-    sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y";
-  });
   hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
     sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
   });
-  hedgehog = appendPatch (doJailbreak super.hedgehog) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/hedgehog-1.0.patch";
-    sha256 = "16gadh1hb74jqvzc9c893sffb1y2vjglblyrqjwp7xfhccq7g8yw";
-  });
-  easytest = markBroken super.easytest;
-  easytest_0_3 = markBroken super.easytest_0_3;
-  regex-tdfa = appendPatch super.regex-tdfa (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-tdfa-1.2.3.1.patch";
-    sha256 = "1lhas4s2ms666prb475gaw2bqw1v4y8cxi66sy20j727sx7ppjs7";
-  });
-  socks = appendPatch (doJailbreak super.socks) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/socks-0.6.0.patch";
-    sha256 = "1dsqmx0sw62x4glh43c0sbizd2y00v5xybiqadn96v6pmfrap5cp";
-  });
-  lens = self.lens_4_18_1;
-  xmonad-contrib = self.xmonad-contrib_0_16;
   polyparse = appendPatch (doJailbreak super.polyparse) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/polyparse-1.12.1.patch";
     sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
   });
   foundation = dontCheck super.foundation;
-  memory = overrideCabal (appendPatch super.memory (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/memory-0.14.18.patch";
-    sha256 = "16ar8921s3bi31y1az9zgyg0iaxxc2wvvwqjnl11a17p03wi6b29";
-  })) (drv: {
-    editedCabalFile = null;
-    preConfigure = ''
-      cp -v ${pkgs.fetchurl {url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/memory-0.14.18.cabal"; sha256 = "1325wny0irnq51rz0f4xgkvm01p6n4z5jid2jgpkhjac8a2sdgwl";}} memory.cabal
-    '';
-  });
-  chell = overrideCabal (doJailbreak super.chell) (_drv: {
-    broken = false;
-  });
-  th-expand-syns = doJailbreak super.th-expand-syns;
-  shelly = overrideCabal (appendPatch (doJailbreak super.shelly) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shelly-1.8.1.patch";
-    sha256 = "1kglbwrr4ra81v9x3bfsk5l6pyl0my2a1zkr3qjjx7acn0dfpgbc";
-  })) (drv: {
-    editedCabalFile = null;
-    preConfigure = ''
-      cp -v ${pkgs.fetchurl {url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shelly-1.8.1.cabal"; sha256 = "0crf0m077wky76f5nav2p9q4fa5q4yhv5l4bq9hd073dzdaywhz0";}} shelly.cabal
-      sed -i -e 's/< 1.9,/< 2,/' shelly.cabal # bump time version
-    '';
-  });
-  system-fileio = doJailbreak super.system-fileio;
-  tasty-hedgehog = doJailbreak super.tasty-hedgehog;
-  haskell-src-meta = appendPatch (dontCheck (doJailbreak super.haskell-src-meta)) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/haskell-src-meta-0.8.3.patch";
-    sha256 = "1asl932mibr5y057xx8v1a7n3qy87lcnclsfh8pbxq1m3iwjkxy8";
-  });
-  asn1-encoding = appendPatch (dontCheck (doJailbreak super.asn1-encoding)) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/asn1-encoding-0.9.5.patch";
-    sha256 = "0a3159rnaw6shjzdm46799crd4pxh33s23qy51xa7z6nv5q8wsb5";
-  });
-  tls = self.tls_1_5_1;
   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";
-  });
-
-  # don't use obsolete "defaultUserHooks" in Setup.hs
-  X11 = appendPatch super.X11 (pkgs.fetchpatch {
-    url = "https://github.com/xmonad/X11/commit/8d817617afa1b54e6c50a9cc552dc1c0804c1794.patch";
-    sha256 = "0zsgzn0nvdxvqi5z0za3gzlhql2x5d5cr0kkr19j5c67fy177w6b";
-  });
-
-  # over-specified version constraints
-  aeson-diff = doJailbreak super.aeson-diff;
-
-  # https://github.com/sol/hpack/issues/371
-  hpack = markBrokenVersion "0.32.0" super.hpack;
+  # 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
+  json = overrideCabal super.json (drv: { prePatch = "substituteInPlace json.cabal --replace '4.13' '4.14'"; patches = [(
+    pkgs.fetchpatch {
+      url = "https://github.com/GaloisInc/json/commit/9d36ca5d865be7e4b2126b68a444b901941d2492.patch";
+      sha256 = "0vyi5nbivkqg6zngq7rb3wwcj9043m4hmyk155nrcddl8j2smfzv";
+    }
+  )]; });
 
   # Upstream ships a broken Setup.hs file.
   csv = overrideCabal super.csv (drv: { prePatch = "rm Setup.hs"; });
 
-  # Upstream ships a broken Setup.hs file.
-  string-qq = overrideSrc (dontCheck super.string-qq) {
-    src = pkgs.fetchFromGitHub {
-      owner = "dmwit";
-      repo = "string-qq";
-      rev = "b396f5ef36a9b23f1d3fafcc91f2222cd1ad24fe";
-      sha256 = "1z2f1yry8wi0jb38dgz7rl89zl63fhngf7xk4ljw240vn315jj8s";
-    };
-  };
+  # mark broken packages
+  bencode = markBrokenVersion "0.6.0.0" super.bencode;
+  easytest = markBroken super.easytest;
+  easytest_0_3 = markBroken super.easytest_0_3;
+  haskell-src = markBrokenVersion "1.0.3.0" super.haskell-src;
 
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghcjs.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghcjs.nix
index 489f363db6a0..862b45299a63 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -43,13 +43,12 @@ self: super:
   # integer-simple is wrong.
   #integer-simple = null;
 
-  # These packages are core libraries in GHC 7.10.x, but not here.
+  # These packages are core libraries in GHC 8.6..x, but not here.
   bin-package-db = null;
-  haskeline = self.haskeline_0_7_3_1;
-  hoopl = self.hoopl_3_10_2_1;
-  hpc = self.hpc_0_6_0_2;
-  terminfo = self.terminfo_0_4_1_1;
-  xhtml = self.xhtml_3000_2_1;
+  haskeline = self.haskeline_0_7_5_0;
+  hpc = self.hpc_0_6_0_3;
+  terminfo = self.terminfo_0_4_1_4;
+  xhtml = self.xhtml_3000_2_2_1;
 
 ## OTHER PACKAGES
 
@@ -115,7 +114,6 @@ self: super:
       ];
       license = pkgs.stdenv.lib.licenses.mit;
       description = "bindings for https://github.com/Matt-Esch/virtual-dom";
-      inherit (src) homepage;
     }) {};
 
   ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 68a05ff94115..ef6eada4c2d6 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,37 +43,37 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.6
+  # LTS Haskell 14.18
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
   - accuerr ==0.2.0.2
   - ace ==0.6
   - action-permutations ==0.0.0.1
-  - active ==0.2.0.13
+  - active ==0.2.0.14
   - ad ==4.3.6
   - 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-extra ==0.4.1.2
+  - aeson-diff ==1.1.0.8
+  - aeson-extra ==0.4.1.3
   - aeson-generic-compat ==0.0.1.3
   - aeson-iproute ==0.2
   - aeson-picker ==0.1.0.5
-  - aeson-pretty ==0.8.7
-  - aeson-qq ==0.8.2
+  - aeson-pretty ==0.8.8
+  - aeson-qq ==0.8.3
   - aeson-utils ==0.3.0.2
   - aeson-yak ==0.1.1.3
   - al ==0.1.4.2
   - alarmclock ==0.7.0.2
   - alerts ==0.1.2.0
-  - alex ==3.2.4
-  - alg ==0.2.10.0
+  - alex ==3.2.5
+  - alg ==0.2.13.0
   - algebraic-graphs ==0.4
   - Allure ==0.9.5.0
   - almost-fix ==0.0.2
@@ -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
@@ -100,18 +100,18 @@ default-package-overrides:
   - apportionment ==0.0.0.3
   - approximate ==0.3.2
   - app-settings ==0.2.0.12
-  - arbor-lru-cache ==0.1.1.0
+  - arbor-lru-cache ==0.1.1.1
   - arithmoi ==0.9.0.0
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - asciidiagram ==1.3.3.3
   - ascii-progress ==0.3.3.0
-  - asif ==6.0.1
-  - asn1-encoding ==0.9.5
-  - asn1-parse ==0.9.4
+  - asif ==6.0.3
+  - asn1-encoding ==0.9.6
+  - 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-oauth ==1.6
+  - 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.2
+  - 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
@@ -173,10 +173,10 @@ default-package-overrides:
   - benchpress ==0.2.2.12
   - bench-show ==0.3.0
   - bencode ==0.6.0.0
-  - bencoding ==0.4.5.1
+  - bencoding ==0.4.5.2
   - between ==0.11.0.0
   - bibtex ==0.1.0.6
-  - bifunctors ==5.5.5
+  - bifunctors ==5.5.6
   - bimap ==0.4.0
   - bimap-server ==0.1.0.1
   - binary-bits ==0.5
@@ -194,7 +194,7 @@ default-package-overrides:
   - bindings-GLFW ==3.2.1.1
   - bindings-libzip ==1.0.1
   - bindings-uname ==0.1
-  - bins ==0.1.1.1
+  - bins ==0.1.2.0
   - bitarray ==0.0.1.1
   - bitcoin-block ==0.13.1
   - bitcoin-script ==0.11.1
@@ -202,8 +202,8 @@ default-package-overrides:
   - bitcoin-types ==0.9.2
   - bits ==0.5.2
   - bitset-word8 ==0.1.1.1
-  - bits-extra ==0.0.1.3
-  - bitvec ==1.0.0.1
+  - bits-extra ==0.0.1.5
+  - bitvec ==1.0.2.0
   - bitx-bitcoin ==0.12.0.0
   - blake2 ==0.3.0
   - blas-carray ==0.1.0.1
@@ -213,8 +213,8 @@ default-package-overrides:
   - blaze-bootstrap ==0.1.0.1
   - blaze-builder ==0.4.1.0
   - blaze-colonnade ==1.2.2.1
-  - blaze-html ==0.9.1.1
-  - blaze-markup ==0.8.2.2
+  - blaze-html ==0.9.1.2
+  - blaze-markup ==0.8.2.3
   - blaze-svg ==0.3.6.1
   - blaze-textual ==0.2.1.0
   - bmp ==1.2.6.3
@@ -222,7 +222,7 @@ default-package-overrides:
   - boltzmann-samplers ==0.1.1.0
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
-  - boolean-normal-forms ==0.0.1
+  - boolean-normal-forms ==0.0.1.1
   - boolsimplifier ==0.1.8
   - boots ==0.0.100
   - bordacount ==0.1.0.0
@@ -235,7 +235,7 @@ default-package-overrides:
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
   - brick ==0.47.1
-  - brittany ==0.12.0.0
+  - brittany ==0.12.1.1
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.3.2.8
   - bson-lens ==0.1.1
@@ -247,7 +247,7 @@ default-package-overrides:
   - butcher ==1.3.2.3
   - butter ==0.1.0.6
   - bv ==0.5
-  - bv-little ==1.1.0
+  - bv-little ==1.1.1
   - byteable ==0.1.1
   - bytedump ==1.0
   - byteorder ==1.0.4
@@ -264,9 +264,10 @@ default-package-overrides:
   - c2hs ==0.28.6
   - Cabal ==2.4.1.0
   - cabal2spec ==2.2.2.1
-  - cabal-doctest ==1.0.7
+  - cabal-doctest ==1.0.8
   - cabal-file-th ==0.2.6
-  - cache ==0.1.1.2
+  - cabal-rpm ==1.0.2
+  - cache ==0.1.3.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.1.0
@@ -278,11 +279,11 @@ 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
-  - category ==0.2.4.1
+  - category ==0.2.4.2
   - cayley-client ==0.4.9
   - cborg ==0.2.2.0
   - cborg-json ==0.2.1.0
@@ -307,9 +308,10 @@ default-package-overrides:
   - checkers ==0.5.2
   - checksum ==0.0
   - chimera ==0.2.0.0
+  - 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
@@ -324,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.3
   - clientsession ==0.9.1.2
   - Clipboard ==2.3.2.0
   - clock ==0.8
@@ -334,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
@@ -353,7 +355,7 @@ default-package-overrides:
   - comfort-array ==0.4
   - comfort-graph ==0.0.3.1
   - commutative ==0.0.2
-  - comonad ==5.0.5
+  - comonad ==5.0.6
   - compact ==0.1.0.1
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.3
@@ -365,12 +367,12 @@ default-package-overrides:
   - concise ==0.1.0.1
   - concurrency ==1.7.0.0
   - concurrent-extra ==0.7.0.12
-  - concurrent-output ==1.10.10
+  - concurrent-output ==1.10.11
   - concurrent-split ==0.0.1.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
-  - conduit ==1.3.1.1
-  - conduit-algorithms ==0.0.10.1
+  - conduit ==1.3.1.2
+  - conduit-algorithms ==0.0.11.0
   - conduit-combinators ==1.3.0
   - conduit-concurrent-map ==0.1.1
   - conduit-extra ==1.3.4
@@ -386,19 +388,18 @@ 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.4
+  - contravariant-extras ==0.3.5
   - control-bool ==0.2.1
   - control-dsl ==0.2.1.3
   - control-monad-free ==0.6.2
-  - control-monad-omega ==0.3.1
+  - control-monad-omega ==0.3.2
   - convertible ==1.1.1.0
-  - cookie ==0.4.4
-  - core-data ==0.2.0.0
-  - core-program ==0.2.0.0
-  - core-text ==0.2.0.0
+  - 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
@@ -407,12 +408,12 @@ 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
   - credential-store ==0.1.2
-  - criterion ==1.5.6.0
+  - criterion ==1.5.6.1
   - criterion-measurement ==0.1.2.0
   - cron ==0.6.1
   - crypto-api ==0.13.3
@@ -421,7 +422,7 @@ default-package-overrides:
   - crypto-cipher-tests ==0.0.11
   - crypto-cipher-types ==0.0.9
   - cryptocompare ==0.1.1
-  - crypto-enigma ==0.1.1.5
+  - crypto-enigma ==0.1.1.6
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
@@ -473,7 +474,7 @@ default-package-overrides:
   - data-diverse ==4.6.0.0
   - data-diverse-lens ==4.3.0.0
   - datadog ==0.2.4.0
-  - data-dword ==0.3.1.2
+  - data-dword ==0.3.1.3
   - data-endian ==0.1.1
   - data-fix ==0.2.0
   - data-has ==0.3.0.0
@@ -486,16 +487,16 @@ default-package-overrides:
   - data-ordlist ==0.4.7.0
   - data-ref ==0.0.2
   - data-reify ==0.6.1
-  - data-serializer ==0.3.4
+  - data-serializer ==0.3.4.1
   - datasets ==0.4.0
-  - data-textual ==0.3.0.2
+  - data-textual ==0.3.0.3
   - data-tree-print ==0.1.0.2
   - dataurl ==0.1.0.0
   - DAV ==1.3.3
   - dbcleaner ==0.1.3
   - DBFunctor ==0.1.1.1
   - dbus ==1.2.7
-  - debian-build ==0.10.1.2
+  - debian-build ==0.10.2.0
   - debug ==0.1.1
   - debug-trace-var ==0.2.0
   - dec ==0.0.3
@@ -504,34 +505,34 @@ default-package-overrides:
   - declarative ==0.5.2
   - deepseq-generics ==0.2.0.0
   - deferred-folds ==0.9.10.1
-  - dejafu ==2.1.0.0
+  - dejafu ==2.1.0.1
   - dense-linear-algebra ==0.1.0.0
   - dependent-map ==0.2.4.0
   - dependent-sum ==0.4
   - dependent-sum-template ==0.0.0.6
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-compat ==0.5.7
-  - derulo ==1.0.5
+  - deriving-compat ==0.5.8
+  - 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-core ==1.4.1.1
-  - diagrams-lib ==1.4.2.3
+  - diagrams-contrib ==1.4.4
+  - diagrams-core ==1.4.2
+  - diagrams-lib ==1.4.3
   - diagrams-postscript ==1.4.1
-  - diagrams-rasterific ==1.4.1.1
+  - diagrams-rasterific ==1.4.2
   - diagrams-solve ==0.1.1
-  - diagrams-svg ==1.4.2
-  - di-core ==1.0.3
+  - diagrams-svg ==1.4.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
@@ -543,25 +544,26 @@ 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
   - download ==0.3.2.7
   - drinkery ==0.4
   - dsp ==0.2.5
-  - dual-tree ==0.2.2
+  - dual ==0.1.0.2
+  - dual-tree ==0.2.2.1
   - dublincore-xml-conduit ==0.1.0.2
   - dunai ==0.5.1
   - dunai-core ==0.5.1.0
@@ -589,13 +591,12 @@ default-package-overrides:
   - elerea ==2.9.0
   - elf ==0.30
   - eliminators ==0.5.1
-  - elm2nix ==0.1.1
+  - elm2nix ==0.1.2
   - elm-bridge ==0.5.2
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
-  - elm-street ==0.0.1
   - emacs-module ==0.1.1
-  - email-validate ==2.3.2.11
+  - email-validate ==2.3.2.12
   - emd ==0.1.5.1
   - enclosed-exceptions ==1.0.3
   - ENIG ==0.0.1.0
@@ -623,14 +624,14 @@ default-package-overrides:
   - eventful-sqlite ==0.2.0
   - eventful-test-helpers ==0.2.0
   - event-list ==0.1.2
-  - eventstore ==1.3.1
+  - eventstore ==1.3.3
   - every ==0.0.1
   - exact-combinatorics ==0.2.0.9
   - exact-pi ==0.5.0.1
   - exceptional ==0.3.0.0
   - exception-mtl ==0.4.0.1
   - exceptions ==0.10.3
-  - exception-transformers ==0.4.0.7
+  - exception-transformers ==0.4.0.8
   - executable-hash ==0.2.0.4
   - executable-path ==0.0.3.1
   - exit-codes ==1.0.0
@@ -646,7 +647,7 @@ default-package-overrides:
   - failable ==1.2.2.0
   - fakedata ==0.2.2
   - farmhash ==0.1.0.5
-  - fast-builder ==0.1.1.0
+  - fast-builder ==0.1.2.0
   - fast-digits ==0.2.1.0
   - fast-logger ==2.4.17
   - fast-math ==1.0.2
@@ -654,27 +655,27 @@ default-package-overrides:
   - fclabels ==2.0.3.3
   - feature-flags ==0.1.0.1
   - fedora-dists ==1.0.1
-  - feed ==1.2.0.0
+  - feed ==1.2.0.1
   - FenwickTree ==0.1.2.1
   - fft ==0.1.8.6
   - fgl ==5.7.0.1
   - fib ==0.1
   - filecache ==0.4.1
-  - file-embed ==0.0.11
+  - file-embed ==0.0.11.1
   - 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
   - fileplow ==0.1.0.0
   - filter-logger ==0.6.0.0
-  - filtrable ==0.1.2.0
-  - fin ==0.1
+  - filtrable ==0.1.3.0
+  - fin ==0.1.1
   - FindBin ==0.0.5
   - fingertree ==0.1.4.2
   - finite-typelits ==0.1.4.2
   - first-class-families ==0.5.0.0
-  - first-class-patterns ==0.3.2.4
+  - first-class-patterns ==0.3.2.5
   - fitspec ==0.4.7
   - fixed ==0.3
   - fixed-length ==0.2.1
@@ -682,13 +683,13 @@ default-package-overrides:
   - fixed-vector-hetero ==0.5.0.0
   - flac ==0.2.0
   - flac-picture ==0.1.2
-  - flags-applicative ==0.1.0.1
+  - flags-applicative ==0.1.0.2
   - flat-mcmc ==1.5.0
   - flay ==0.4
-  - flexible-defaults ==0.0.2
+  - flexible-defaults ==0.0.3
   - FloatingHex ==0.4
   - floatshow ==0.2.4
-  - flow ==1.0.18
+  - flow ==1.0.19
   - fmlist ==0.9.3
   - fmt ==0.6.1.2
   - fmt-for-rio ==1.0.0.0
@@ -696,27 +697,27 @@ default-package-overrides:
   - focus ==1.0.1.3
   - focuslist ==0.1.0.2
   - foldable1 ==0.1.0.0
-  - fold-debounce ==0.2.0.8
+  - fold-debounce ==0.2.0.9
   - fold-debounce-conduit ==0.2.0.3
   - foldl ==1.4.5
-  - folds ==0.7.4
+  - folds ==0.7.5
   - follow-file ==0.0.3
-  - FontyFruity ==0.5.3.4
+  - FontyFruity ==0.5.3.5
   - force-layout ==0.4.0.6
   - foreign-store ==0.2
   - forkable-monad ==0.2.0.3
-  - forma ==1.1.2
+  - forma ==1.1.3
   - format-numbers ==0.1.0.0
   - formatting ==6.3.7
   - foundation ==0.0.25
-  - free ==5.1.2
+  - free ==5.1.3
   - freenect ==1.2.1
-  - freer-simple ==1.2.1.0
+  - freer-simple ==1.2.1.1
   - freetype2 ==0.1.2
   - free-vl ==0.1.4
   - friendly-time ==0.4.1
   - frisby ==0.2.2
-  - from-sum ==0.2.1.0
+  - from-sum ==0.2.2.0
   - frontmatter ==0.1.0.2
   - fsnotify ==0.3.0.1
   - fsnotify-conduit ==0.1.1.1
@@ -732,7 +733,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
@@ -768,15 +769,15 @@ default-package-overrides:
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
   - ghc-exactprint ==0.6.1
-  - ghcid ==0.7.5
+  - ghcid ==0.7.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghc-lib ==8.8.0.20190424
   - ghc-lib-parser ==8.8.0.20190424
-  - ghc-parser ==0.2.0.3
+  - ghc-parser ==0.2.1.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.6
-  - ghc-syntax-highlighter ==0.0.4.0
+  - ghc-syntax-highlighter ==0.0.4.1
   - ghc-tcplugins-extra ==0.3
   - ghc-typelits-extra ==0.3.1
   - ghc-typelits-knownnat ==0.6
@@ -796,8 +797,8 @@ default-package-overrides:
   - ginger ==0.9.1.0
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.22
-  - githash ==0.1.3.2
-  - github-release ==1.2.4
+  - githash ==0.1.3.3
+  - github-release ==1.2.5
   - github-types ==0.2.1
   - github-webhooks ==0.10.1
   - gitrev ==1.3.1
@@ -808,10 +809,10 @@ default-package-overrides:
   - glazier ==1.0.0.0
   - GLFW-b ==3.2.1.1
   - Glob ==0.10.0
-  - gloss ==1.13.0.1
+  - gloss ==1.13.1.1
   - gloss-algorithms ==1.13.0.1
   - gloss-examples ==1.13.0.2
-  - gloss-raster ==1.13.0.2
+  - gloss-raster ==1.13.1.1
   - gloss-rendering ==1.13.1.1
   - GLURaw ==2.0.0.4
   - GLUT ==2.7.0.15
@@ -826,8 +827,8 @@ default-package-overrides:
   - graph-wrapper ==0.2.6.0
   - gravatar ==0.8.0
   - graylog ==0.1.0.1
-  - greskell ==0.2.3.0
-  - greskell-core ==0.1.2.6
+  - greskell ==0.2.3.1
+  - greskell-core ==0.1.2.7
   - greskell-websocket ==0.1.1.2
   - groom ==0.1.2.1
   - groundhog ==0.10.0
@@ -845,14 +846,14 @@ 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
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.3.9.3
+  - hapistrano ==0.3.10.0
   - happy ==1.19.12
-  - hasbolt ==0.1.3.5
+  - hasbolt ==0.1.4.0
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
   - hashids ==1.0.2.4
@@ -865,7 +866,7 @@ default-package-overrides:
   - haskell-lexer ==1.0.2
   - haskell-lsp ==0.15.0.0
   - haskell-lsp-types ==0.15.0.0
-  - haskell-names ==0.9.6
+  - haskell-names ==0.9.7
   - haskell-spacegoo ==0.2.0.1
   - haskell-src ==1.0.3.0
   - haskell-src-exts ==1.21.1
@@ -873,8 +874,8 @@ default-package-overrides:
   - haskell-src-meta ==0.8.3
   - haskey-btree ==0.3.0.1
   - haskintex ==0.8.0.0
-  - haskoin-core ==0.9.0
-  - hasql ==1.4
+  - haskoin-core ==0.9.7
+  - hasql ==1.4.0.1
   - hasql-optparse-applicative ==0.3.0.5
   - hasql-pool ==0.5.1
   - hasql-transaction ==0.7.2
@@ -883,17 +884,17 @@ default-package-overrides:
   - haxl ==2.1.2.0
   - hbeanstalk ==0.2.4
   - HCodecs ==0.5.1
-  - hdaemonize ==0.5.5
-  - HDBC ==2.4.0.2
+  - hdaemonize ==0.5.6
+  - HDBC ==2.4.0.3
   - HDBC-mysql ==0.7.1.0
   - HDBC-session ==0.1.2.0
   - heap ==1.0.4
   - heaps ==0.3.6.1
   - hebrew-time ==0.1.2
-  - hedgehog ==1.0
+  - hedgehog ==1.0.1
   - hedgehog-corpus ==0.1.0
   - hedgehog-fn ==1.0
-  - hedis ==0.12.8
+  - hedis ==0.12.11
   - hedn ==0.2.0.1
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -912,9 +913,9 @@ default-package-overrides:
   - highlighting-kate ==0.6.4
   - hinfo ==0.0.3.0
   - hinotify ==0.4
-  - hint ==0.9.0.1
-  - hjsmin ==0.2.0.2
-  - hkgr ==0.2.2
+  - hint ==0.9.0.2
+  - hjsmin ==0.2.0.4
+  - hkgr ==0.2.4
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.8.0
   - hmatrix ==0.20.0.0
@@ -927,7 +928,7 @@ default-package-overrides:
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.9
   - Hoed ==0.5.1
-  - hOpenPGP ==2.8
+  - hOpenPGP ==2.8.5
   - hopenpgp-tools ==0.21.3
   - hopfli ==0.2.2.1
   - hosc ==0.17
@@ -978,7 +979,7 @@ default-package-overrides:
   - hspec-discover ==2.7.1
   - hspec-expectations ==0.8.2
   - hspec-expectations-lifted ==0.10.0
-  - hspec-expectations-pretty-diff ==0.7.2.4
+  - hspec-expectations-pretty-diff ==0.7.2.5
   - hspec-golden-aeson ==0.7.0.0
   - hspec-leancheck ==0.0.3
   - hspec-megaparsec ==2.0.1
@@ -998,18 +999,18 @@ default-package-overrides:
   - htaglib ==1.2.0
   - HTF ==0.13.2.5
   - html ==1.0.1.2
-  - html-conduit ==1.3.2
+  - html-conduit ==1.3.2.1
   - html-email-validate ==0.2.0.0
   - html-entities ==1.1.4.3
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
-  - http2 ==1.6.5
+  - http2 ==2.0.3
   - 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
-  - http-conduit ==2.3.7.1
+  - http-conduit ==2.3.7.3
   - http-date ==0.0.8
   - http-directory ==0.1.5
   - http-download ==0.1.0.0
@@ -1026,30 +1027,30 @@ default-package-overrides:
   - hvect ==0.4.0.0
   - hvega ==0.3.0.1
   - hw-balancedparens ==0.2.0.4
-  - hw-bits ==0.7.0.6
-  - hw-conduit ==0.2.0.5
+  - hw-bits ==0.7.1.0
+  - hw-conduit ==0.2.0.6
   - hw-conduit-merges ==0.2.0.0
   - hw-diagnostics ==0.0.0.7
   - hw-dsv ==0.3.5
   - hweblib ==0.6.3
   - hw-eliasfano ==0.1.1.0
-  - hw-excess ==0.2.2.0
-  - hw-fingertree ==0.1.1.0
-  - hw-fingertree-strict ==0.1.1.1
-  - hw-hedgehog ==0.1.0.3
-  - hw-hspec-hedgehog ==0.1.0.8
-  - hw-int ==0.0.0.3
-  - hw-ip ==2.3.4.1
+  - hw-excess ==0.2.2.1
+  - hw-fingertree ==0.1.1.1
+  - hw-fingertree-strict ==0.1.1.3
+  - hw-hedgehog ==0.1.0.5
+  - hw-hspec-hedgehog ==0.1.0.9
+  - hw-int ==0.0.0.4
+  - hw-ip ==2.3.4.2
   - hw-json ==1.0.0.2
-  - hw-json-simd ==0.1.0.2
-  - hw-mquery ==0.2.0.1
+  - hw-json-simd ==0.1.0.4
+  - hw-mquery ==0.2.0.2
   - hw-packed-vector ==0.0.0.3
-  - hw-parser ==0.1.0.1
-  - hw-prim ==0.6.2.31
+  - hw-parser ==0.1.0.2
+  - hw-prim ==0.6.2.39
   - hw-rankselect ==0.13.0.0
-  - hw-rankselect-base ==0.3.2.1
-  - hw-simd ==0.1.1.4
-  - hw-streams ==0.0.0.10
+  - hw-rankselect-base ==0.3.3.0
+  - hw-simd ==0.1.1.5
+  - hw-streams ==0.0.0.12
   - hw-string-parse ==0.0.0.4
   - hw-succinct ==0.1.0.1
   - hxt ==9.3.1.18
@@ -1071,26 +1072,26 @@ default-package-overrides:
   - ieee754 ==0.8.0
   - if ==0.1.0.0
   - iff ==0.0.6
-  - ihaskell ==0.10.0.0
+  - ihaskell ==0.10.0.2
   - ihs ==0.1.0.3
   - ilist ==0.3.1.0
   - imagesize-conduit ==1.1
   - Imlib ==0.1.2
   - immortal ==0.3
   - include-file ==0.1.0.4
-  - incremental-parser ==0.3.2.2
+  - incremental-parser ==0.3.3
   - indentation-core ==0.0.0.2
   - indentation-parsec ==0.0.0.2
-  - indents ==0.5.0.0
+  - indents ==0.5.0.1
   - indexed ==0.1.3
   - indexed-list-literals ==0.2.1.2
   - infer-license ==0.2.0
-  - inflections ==0.4.0.4
+  - inflections ==0.4.0.5
   - influxdb ==1.7.1.1
   - ini ==0.4.1
   - inj ==1.0
   - inline-c ==0.7.0.1
-  - inline-c-cpp ==0.3.0.2
+  - inline-c-cpp ==0.3.0.3
   - inline-r ==0.10.2
   - inliterate ==0.1.0
   - insert-ordered-containers ==0.2.2
@@ -1101,7 +1102,7 @@ default-package-overrides:
   - integration ==0.2.1
   - intern ==0.9.2
   - interpolate ==0.2.0
-  - interpolatedstring-perl6 ==1.0.1
+  - interpolatedstring-perl6 ==1.0.2
   - interpolatedstring-qq2 ==0.1.0.0
   - interpolation ==0.1.1.1
   - interpolator ==1.0.0
@@ -1122,13 +1123,13 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.1.0
   - ip ==1.5.1
   - ip6addr ==1.0.0
-  - iproute ==1.7.7
+  - iproute ==1.7.8
   - IPv6Addr ==1.1.2
   - ipynb ==0.1
-  - ipython-kernel ==0.10.0.0
+  - ipython-kernel ==0.10.1.0
   - irc ==0.6.1.0
-  - irc-client ==1.1.1.0
-  - irc-conduit ==0.3.0.3
+  - irc-client ==1.1.1.1
+  - irc-conduit ==0.3.0.4
   - irc-ctcp ==0.1.3.0
   - islink ==0.1.0.0
   - iso3166-country-codes ==0.20140203.8
@@ -1138,20 +1139,20 @@ 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
-  - jsonpath ==0.1.0.1
+  - json-feed ==1.0.7
+  - jsonpath ==0.1.0.2
   - json-rpc ==1.0.0
   - json-rpc-client ==0.2.5.0
   - json-rpc-generic ==0.2.1.5
   - json-rpc-server ==0.2.6.0
-  - JuicyPixels ==3.3.3.1
+  - JuicyPixels ==3.3.4
   - JuicyPixels-extra ==0.4.1
   - JuicyPixels-scale-dct ==0.1.2
   - justified-containers ==0.3.0.0
@@ -1173,17 +1174,17 @@ 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.2
-  - language-c-quote ==0.12.2
+  - language-c ==0.8.3
+  - language-c-quote ==0.12.2.1
   - language-docker ==8.0.2
   - language-ecmascript ==0.19
   - language-haskell-extract ==0.2.4
   - language-java ==0.2.9
-  - language-javascript ==0.6.0.13
-  - language-puppet ==1.4.5
+  - language-javascript ==0.6.0.14
+  - language-puppet ==1.4.6
   - lapack ==0.3.1
   - lapack-carray ==0.0.3
   - lapack-comfort-array ==0.0.0.1
@@ -1208,7 +1209,7 @@ default-package-overrides:
   - lens-family-core ==1.2.3
   - lens-family-th ==0.5.0.2
   - lens-misc ==0.0.2.0
-  - lens-process ==0.3.0.0
+  - lens-process ==0.3.0.1
   - lens-properties ==4.11.1
   - lens-regex ==0.1.1
   - lens-regex-pcre ==0.3.1.0
@@ -1219,23 +1220,23 @@ default-package-overrides:
   - libffi ==0.1
   - libgit ==0.3.1
   - libgraph ==1.14
-  - libmpd ==0.9.0.9
+  - 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
-  - lift-generics ==0.1.2
+  - lift-generics ==0.1.3
   - line ==4.0.1
   - linear ==1.20.9
   - linear-circuit ==0.1.0.2
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
   - List ==0.6.2
-  - ListLike ==4.6.2
+  - ListLike ==4.6.3
   - listsafe ==0.1.0.1
-  - list-t ==1.0.3.1
+  - list-t ==1.0.4
   - ListTree ==0.2.3
   - list-witnesses ==0.1.1.1
   - llvm-hs ==8.0.0
@@ -1250,16 +1251,16 @@ default-package-overrides:
   - log-domain ==0.12
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.3.4
+  - logging-effect ==1.3.8
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.7.0.2
   - loop ==0.3.0
-  - loopbreaker ==0.1.1.0
+  - loopbreaker ==0.1.1.1
   - 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
@@ -1269,23 +1270,23 @@ default-package-overrides:
   - machines-directory ==0.2.1.0
   - machines-io ==0.2.0.13
   - magico ==0.0.2.1
-  - mainland-pretty ==0.7
+  - mainland-pretty ==0.7.0.1
   - main-tester ==0.2.0.1
   - makefile ==1.1.0.0
   - managed ==1.0.6
   - markdown ==0.1.17.4
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
-  - massiv ==0.4.1.0
-  - massiv-io ==0.1.7.0
-  - massiv-test ==0.1.0
+  - massiv ==0.4.4.0
+  - massiv-io ==0.1.9.0
+  - massiv-test ==0.1.1
   - mathexpr ==0.3.0.0
-  - math-functions ==0.3.2.1
-  - matplotlib ==0.7.4
+  - math-functions ==0.3.3.0
+  - matplotlib ==0.7.5
   - matrices ==0.5.0
   - matrix ==0.3.6.1
   - matrix-market-attoparsec ==0.1.0.8
-  - matrix-static ==0.2
+  - matrix-static ==0.2.1
   - maximal-cliques ==0.1.1
   - mbox ==0.3.4
   - mbtiles ==0.6.0.0
@@ -1295,7 +1296,7 @@ default-package-overrides:
   - megaparsec-tests ==7.0.5
   - mega-sdist ==0.4.0.1
   - memory ==0.14.18
-  - MemoTrie ==0.6.9
+  - MemoTrie ==0.6.10
   - menshen ==0.0.3
   - mercury-api ==0.1.0.2
   - merkle-tree ==0.1.1
@@ -1310,7 +1311,7 @@ default-package-overrides:
   - microlens-ghc ==0.4.10
   - microlens-mtl ==0.1.11.1
   - microlens-platform ==0.3.11
-  - microlens-process ==0.2.0.0
+  - microlens-process ==0.2.0.1
   - microlens-th ==0.4.2.3
   - microspec ==0.2.1.3
   - microstache ==1.0.1.1
@@ -1322,7 +1323,7 @@ default-package-overrides:
   - mime-mail-ses ==0.4.1
   - mime-types ==0.1.0.9
   - minimorph ==0.2.1.0
-  - minio-hs ==1.5.0
+  - minio-hs ==1.5.1
   - miniutter ==0.5.0.0
   - mintty ==0.1.2
   - miso ==1.2.0.0
@@ -1346,14 +1347,14 @@ default-package-overrides:
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
-  - monad-logger ==0.3.30
+  - monad-logger ==0.3.31
   - 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.6.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
@@ -1368,13 +1369,14 @@ default-package-overrides:
   - monad-unlift-ref ==0.2.1
   - mongoDB ==2.5.0.0
   - monoidal-containers ==0.4.0.0
-  - monoid-extras ==0.5
+  - monoid-extras ==0.5.1
   - monoid-subclasses ==0.4.6.1
   - monoid-transformer ==0.0.4
-  - mono-traversable ==1.0.12.0
+  - mono-traversable ==1.0.13.0
   - mono-traversable-instances ==0.1.0.0
   - mono-traversable-keys ==0.1.0
-  - more-containers ==0.2.1.2
+  - more-containers ==0.2.2.0
+  - morpheus-graphql ==0.8.0
   - mountpoints ==1.0.2
   - mpi-hs ==0.5.3.0
   - msgpack ==1.0.1.0
@@ -1385,12 +1387,12 @@ default-package-overrides:
   - multiarg ==0.30.0.10
   - multimap ==1.2.1
   - multipart ==0.1.3
-  - multiset ==0.3.4.1
+  - multiset ==0.3.4.3
   - multistate ==0.8.0.2
   - murmur3 ==1.0.3
   - murmur-hash ==0.1.0.9
   - MusicBrainz ==0.4.1
-  - mustache ==2.3.0
+  - mustache ==2.3.1
   - mutable-containers ==0.3.4
   - mwc-probability ==2.1.0
   - mwc-probability-transition ==0.4
@@ -1401,7 +1403,7 @@ default-package-overrides:
   - mysql-simple ==0.4.5
   - n2o ==0.11.1
   - nagios-check ==0.3.2
-  - named ==0.3.0.0
+  - named ==0.3.0.1
   - names-th ==0.3.0.0
   - nano-erl ==0.1.0.1
   - nanospec ==0.2.2
@@ -1410,7 +1412,7 @@ default-package-overrides:
   - natural-sort ==0.1.2
   - natural-transformation ==0.4
   - ndjson-conduit ==0.1.0.5
-  - neat-interpolation ==0.3.2.4
+  - neat-interpolation ==0.3.2.5
   - netlib-carray ==0.1
   - netlib-comfort-array ==0.0.0.1
   - netlib-ffi ==0.1.1
@@ -1424,12 +1426,12 @@ default-package-overrides:
   - network-anonymous-i2p ==0.10.0
   - network-attoparsec ==0.12.2
   - network-bsd ==2.8.0.0
-  - network-byte-order ==0.1.1.1
+  - network-byte-order ==0.1.2.0
   - 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.1
+  - 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
@@ -1447,7 +1449,7 @@ default-package-overrides:
   - non-empty ==0.3.2
   - nonempty-containers ==0.3.1.0
   - nonemptymap ==0.0.6.0
-  - non-empty-sequence ==0.2.0.2
+  - non-empty-sequence ==0.2.0.4
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1457,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
@@ -1470,7 +1472,7 @@ default-package-overrides:
   - odbc ==0.2.2
   - oeis ==0.3.9
   - oeis2 ==1.0.3
-  - ofx ==0.4.2.0
+  - ofx ==0.4.4.0
   - old-locale ==1.0.0.7
   - old-time ==1.1.0.3
   - once ==0.4
@@ -1484,7 +1486,7 @@ default-package-overrides:
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
-  - OpenGLRaw ==3.3.3.0
+  - OpenGLRaw ==3.3.4.0
   - openpgp-asciiarmor ==0.1.2
   - opensource ==0.1.1.0
   - openssl-streams ==1.2.2.0
@@ -1511,11 +1513,11 @@ default-package-overrides:
   - pandoc-csv2table ==1.0.7
   - pandoc-markdown-ghci-filter ==0.1.0.0
   - pandoc-pyplot ==2.1.5.1
-  - pandoc-types ==1.17.6
+  - pandoc-types ==1.17.6.1
   - pantry ==0.1.1.2
   - parallel ==3.2.2.0
   - parallel-io ==0.3.3
-  - paripari ==0.6.0.0
+  - paripari ==0.6.0.1
   - parseargs ==0.2.0.9
   - parsec ==3.1.14.0
   - parsec-class ==1.0.0.0
@@ -1542,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
@@ -1552,11 +1554,11 @@ default-package-overrides:
   - percent-format ==0.0.1
   - peregrin ==0.3.0
   - perfect-hash-generator ==0.2.0.6
-  - persist ==0.1.1.3
+  - persist ==0.1.1.4
   - persistable-record ==0.6.0.4
   - persistable-types-HDBC-pg ==0.0.3.5
   - persistent ==2.9.2
-  - persistent-iproute ==0.2.3
+  - persistent-iproute ==0.2.4
   - persistent-mysql ==2.9.0
   - persistent-mysql-haskell ==0.5.2
   - persistent-pagination ==0.1.1.0
@@ -1572,7 +1574,7 @@ default-package-overrides:
   - phantom-state ==0.2.1.2
   - pid1 ==0.1.2.0
   - pinboard ==0.10.1.4
-  - pipes ==4.3.12
+  - pipes ==4.3.13
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
   - pipes-binary ==0.4.2
@@ -1605,13 +1607,13 @@ default-package-overrides:
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.12.1
   - polysemy ==1.0.0.0
-  - polysemy-plugin ==0.2.3.0
+  - polysemy-plugin ==0.2.4.0
   - polysemy-zoo ==0.5.0.1
   - pooled-io ==0.0.2.2
   - port-utils ==0.2.1.0
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
-  - postgresql-binary ==0.12.1.3
+  - postgresql-binary ==0.12.2
   - postgresql-libpq ==0.9.4.2
   - postgresql-orm ==0.5.1
   - postgresql-schema ==0.1.14
@@ -1620,7 +1622,7 @@ default-package-overrides:
   - postgresql-simple-queue ==1.0.1
   - postgresql-simple-url ==0.2.1.0
   - postgresql-transactional ==1.1.1
-  - postgresql-typed ==0.6.0.1
+  - postgresql-typed ==0.6.1.0
   - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
   - pqueue ==1.4.1.2
@@ -1645,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
@@ -1659,13 +1661,13 @@ default-package-overrides:
   - prospect ==0.1.0.0
   - protobuf ==0.2.1.2
   - protobuf-simple ==0.1.1.0
-  - protocol-buffers ==2.4.12
-  - protocol-buffers-descriptor ==2.4.12
+  - protocol-buffers ==2.4.13
+  - protocol-buffers-descriptor ==2.4.13
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
   - proto-lens ==0.5.1.0
-  - proto-lens-arbitrary ==0.1.2.7
-  - proto-lens-optparse ==0.1.1.5
+  - proto-lens-arbitrary ==0.1.2.8
+  - proto-lens-optparse ==0.1.1.6
   - proto-lens-protobuf-types ==0.5.0.0
   - proto-lens-protoc ==0.5.0.0
   - proto-lens-runtime ==0.5.0.0
@@ -1678,11 +1680,12 @@ default-package-overrides:
   - purescript-bridge ==0.13.0.0
   - pure-zlib ==0.6.6
   - pushbullet-types ==0.4.1.0
-  - pusher-http-haskell ==1.5.1.10
+  - pusher-http-haskell ==1.5.1.11
+  - PyF ==0.8.1.2
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qnap-decrypt ==0.3.5
-  - qrcode-core ==0.9.1
+  - qrcode-core ==0.9.2
   - qrcode-juicypixels ==0.8.0
   - quadratic-irrational ==0.1.0
   - QuasiText ==0.1.2.6
@@ -1706,7 +1709,7 @@ default-package-overrides:
   - rando ==0.0.0.4
   - random ==1.1
   - random-bytestring ==0.1.3.2
-  - random-fu ==0.2.7.0
+  - random-fu ==0.2.7.3
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.6
   - random-tree ==0.6.0.5
@@ -1714,13 +1717,13 @@ default-package-overrides:
   - Ranged-sets ==0.4.0
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.0
-  - rank2classes ==1.3
-  - Rasterific ==0.7.4.4
+  - rank2classes ==1.3.1.2
+  - Rasterific ==0.7.5
   - 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.2
+  - rattletrap ==9.0.7
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
@@ -1730,10 +1733,10 @@ default-package-overrides:
   - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - reanimate ==0.1.5.0
-  - reanimate-svg ==0.9.1.1
+  - reanimate ==0.1.8.0
+  - reanimate-svg ==0.9.3.1
   - rebase ==1.3.1.1
-  - record-dot-preprocessor ==0.2
+  - record-dot-preprocessor ==0.2.2
   - record-hasfield ==1.0
   - records-sop ==0.1.0.3
   - recursion-schemes ==5.1.3
@@ -1749,7 +1752,7 @@ default-package-overrides:
   - regex-compat ==0.95.1
   - regex-compat-tdfa ==0.95.1.4
   - regex-pcre ==0.94.4
-  - regex-pcre-builtin ==0.94.4.8.8.35
+  - regex-pcre-builtin ==0.94.5.8.8.35
   - regex-pcre-text ==0.94.0.1
   - regex-posix ==0.95.2
   - regex-tdfa ==1.2.3.2
@@ -1767,19 +1770,19 @@ default-package-overrides:
   - repa ==3.4.1.4
   - repa-algorithms ==3.4.1.3
   - repa-io ==3.4.1.1
-  - replace-attoparsec ==1.0.1.0
-  - replace-megaparsec ==1.1.3.0
+  - replace-attoparsec ==1.0.3.0
+  - replace-megaparsec ==1.1.5.0
   - repline ==0.2.1.0
   - req ==2.1.0
   - req-conduit ==1.0.0
-  - require ==0.4.2
+  - require ==0.4.3
   - rerebase ==1.3.1.1
   - resistor-cube ==0.0.1.2
   - resource-pool ==0.2.3.2
   - resourcet ==1.2.2
   - result ==0.2.6.0
   - rethinkdb-client-driver ==0.0.25
-  - retry ==0.8.0.1
+  - retry ==0.8.1.0
   - rev-state ==0.1.2
   - rfc1751 ==0.1.2
   - rfc5051 ==0.1.0.4
@@ -1802,7 +1805,7 @@ default-package-overrides:
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.3
   - s3-signer ==0.5.0.0
-  - safe ==0.3.17
+  - safe ==0.3.18
   - safecopy ==0.9.4.3
   - safe-exceptions ==0.1.7.0
   - safe-exceptions-checked ==0.1.0
@@ -1815,7 +1818,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
@@ -1826,8 +1829,8 @@ default-package-overrides:
   - scalpel ==0.6.0
   - scalpel-core ==0.6.0
   - scanf ==0.1.0.0
-  - scanner ==0.3
-  - scheduler ==1.4.2
+  - scanner ==0.3.1
+  - scheduler ==1.4.2.1
   - scientific ==0.3.6.2
   - scotty ==0.11.5
   - scrypt ==0.5.0
@@ -1836,16 +1839,16 @@ default-package-overrides:
   - sdl2-image ==2.0.0
   - sdl2-mixer ==1.1.0
   - sdl2-ttf ==2.1.0
-  - secp256k1-haskell ==0.1.4
+  - secp256k1-haskell ==0.1.5
   - securemem ==0.1.10
   - selda ==0.4.0.0
-  - selda-json ==0.1.0.0
+  - selda-json ==0.1.1.0
   - selda-postgresql ==0.1.8.0
   - selda-sqlite ==0.1.7.0
   - selective ==0.3
   - semialign ==1
   - semigroupoid-extras ==5
-  - semigroupoids ==5.3.3
+  - semigroupoids ==5.3.4
   - semigroups ==0.18.5
   - semirings ==0.4.2
   - semiring-simple ==1.0.0.1
@@ -1856,7 +1859,6 @@ default-package-overrides:
   - serialise ==0.2.1.0
   - servant ==0.16.2
   - servant-auth ==0.3.2.0
-  - servant-auth-client ==0.4.0.0
   - servant-auth-docs ==0.2.10.0
   - servant-auth-server ==0.4.4.0
   - servant-auth-swagger ==0.2.10.0
@@ -1866,28 +1868,29 @@ default-package-overrides:
   - servant-checked-exceptions ==2.2.0.0
   - servant-checked-exceptions-core ==2.2.0.0
   - servant-cli ==0.1.0.1
-  - servant-client ==0.16
+  - servant-client ==0.16.0.1
   - servant-client-core ==0.16
   - servant-conduit ==0.15
-  - servant-docs ==0.11.3
-  - servant-elm ==0.6.0.2
+  - servant-docs ==0.11.4
+  - servant-elm ==0.6.1
   - servant-foreign ==0.15
-  - servant-http-streams ==0.16
+  - servant-http-streams ==0.16.0.1
   - servant-js ==0.9.4
-  - servant-JuicyPixels ==0.3.0.4
+  - servant-JuicyPixels ==0.3.0.5
   - servant-kotlin ==0.1.1.9
   - servant-lucid ==0.9
   - servant-machines ==0.15
   - servant-mock ==0.8.5
   - servant-multipart ==0.11.4
-  - servant-pipes ==0.15
+  - servant-pipes ==0.15.1
+  - servant-rawm ==0.3.2.0
   - servant-ruby ==0.9.0.0
   - servant-server ==0.16.2
   - servant-static-th ==0.2.2.1
   - servant-swagger ==1.1.7.1
-  - servant-swagger-ui ==0.3.4.3.22.2
+  - servant-swagger-ui ==0.3.4.3.23.11
   - servant-swagger-ui-core ==0.3.3
-  - servant-swagger-ui-redoc ==0.3.3.1.22.2
+  - servant-swagger-ui-redoc ==0.3.3.1.22.3
   - servant-tracing ==0.1.0.2
   - servant-xml ==1.0.1.4
   - servant-yaml ==0.1.0.1
@@ -1897,34 +1900,34 @@ default-package-overrides:
   - ses-html ==0.4.0.0
   - set-cover ==0.0.9
   - setenv ==0.1.1.3
-  - setlocale ==1.0.0.8
+  - setlocale ==1.0.0.9
   - sexp-grammar ==2.0.2
   - sexpr-parser ==0.1.1.2
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
-  - shakespeare ==2.0.21
+  - shakespeare ==2.0.23
   - shared-memory ==0.2.0.0
   - shell-conduit ==4.7.0
   - shell-escape ==0.2.0
-  - shellmet ==0.0.2.0
+  - shellmet ==0.0.3.0
   - shelltestrunner ==1.9
   - shelly ==1.8.1
   - shikensu ==0.3.11
   - shortcut-links ==0.4.2.1
   - should-not-typecheck ==2.1.0
   - show-combinators ==0.1.1.0
-  - shower ==0.2.0.1
+  - shower ==0.2.0.2
   - show-prettyprint ==0.3.0.1
   - siggy-chardust ==1.0.0
   - signal ==0.1.0.4
   - silently ==1.2.5.1
   - simple ==0.11.3
-  - simple-cabal ==0.0.0.1
-  - simple-cmd ==0.2.0.1
-  - simple-cmd-args ==0.1.3
+  - simple-cabal ==0.1.1
+  - simple-cmd ==0.2.1
+  - simple-cmd-args ==0.1.4
   - simple-log ==0.9.12
   - simple-reflect ==0.3.3
-  - simple-sendfile ==0.2.28
+  - simple-sendfile ==0.2.30
   - simple-session ==0.10.1.1
   - simple-templates ==0.9.0.0
   - simple-vec3 ==0.6
@@ -1939,20 +1942,20 @@ default-package-overrides:
   - skein ==1.0.9.4
   - skews ==0.1.0.2
   - skip-var ==0.1.1.0
-  - skylighting ==0.8.2
-  - skylighting-core ==0.8.2
+  - skylighting ==0.8.2.1
+  - skylighting-core ==0.8.2.1
   - slack-web ==0.2.0.11
   - smallcheck ==1.1.5
   - 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
   - soap-tls ==0.1.1.4
   - socket-activation ==0.1.0.2
-  - socks ==0.6.0
+  - socks ==0.6.1
   - sop-core ==0.4.0.0
   - sort ==1.0.0.0
   - sorted-list ==0.2.1.0
@@ -1982,8 +1985,8 @@ default-package-overrides:
   - statestack ==0.2.0.5
   - StateVar ==1.2
   - static-text ==0.2.0.4
-  - statistics ==0.15.0.0
-  - stb-image-redux ==0.2.1.2
+  - statistics ==0.15.1.1
+  - stb-image-redux ==0.2.1.3
   - step-function ==0.2
   - stm-chans ==3.0.0.4
   - stm-conduit ==4.0.1
@@ -1996,10 +1999,10 @@ default-package-overrides:
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13
   - store ==0.5.1.2
-  - store-core ==0.4.4
+  - store-core ==0.4.4.2
   - Strafunski-StrategyLib ==5.0.1.0
   - stratosphere ==0.40.0
-  - streaming ==0.2.2.0
+  - streaming ==0.2.3.0
   - streaming-attoparsec ==1.0.0.1
   - streaming-bytestring ==0.1.6
   - streaming-cassava ==0.1.0.1
@@ -2018,14 +2021,14 @@ default-package-overrides:
   - string-conv ==0.1.2
   - string-conversions ==0.4.0.1
   - string-interpolate ==0.1.0.1
-  - string-qq ==0.0.2
+  - string-qq ==0.0.4
   - stringsearch ==0.3.6.6
   - string-transform ==1.1.1
-  - stripe-concepts ==1.0.1.0
+  - stripe-concepts ==1.0.2.0
   - stripe-scotty ==1.0.0.0
   - stripe-signature ==1.0.0.1
-  - stripe-wreq ==1.0.0.0
-  - strive ==5.0.8
+  - stripe-wreq ==1.0.1.0
+  - strive ==5.0.9
   - structs ==0.1.2
   - structured-cli ==2.5.1.0
   - summoner ==1.3.0.1
@@ -2040,7 +2043,7 @@ default-package-overrides:
   - svg-tree ==0.6.2.4
   - swagger ==0.3.0
   - swagger2 ==2.4
-  - swish ==0.10.0.1
+  - swish ==0.10.0.2
   - syb ==0.7.1
   - symbol ==0.2.4
   - symengine ==0.1.2.0
@@ -2102,9 +2105,9 @@ default-package-overrides:
   - test-framework-th ==0.2.4
   - testing-feat ==1.1.0.0
   - testing-type-modifiers ==0.1.0.1
-  - texmath ==0.11.2.2
+  - texmath ==0.11.3
   - text-binary ==0.2.1.1
-  - text-builder ==0.6.5.1
+  - text-builder ==0.6.6.1
   - text-conversions ==0.3.0
   - text-format ==0.3.2
   - text-icu ==0.7.0.1
@@ -2118,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
@@ -2128,10 +2131,10 @@ default-package-overrides:
   - these ==1.0.1
   - th-expand-syns ==0.4.5.0
   - th-extras ==0.0.0.4
-  - th-lift ==0.8.0.1
+  - th-lift ==0.8.1
   - th-lift-instances ==0.1.14
   - th-nowq ==0.1.0.3
-  - th-orphans ==0.13.8
+  - th-orphans ==0.13.9
   - th-printf ==0.6.0
   - thread-hierarchy ==0.3.0.1
   - thread-local-storage ==0.2
@@ -2142,9 +2145,10 @@ default-package-overrides:
   - throttle-io-stream ==0.2.0.1
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
-  - th-test-utils ==1.0.0
-  - th-utilities ==0.2.3.0
+  - th-test-utils ==1.0.1
+  - th-utilities ==0.2.3.1
   - thyme ==0.3.5.5
+  - tidal ==1.4.5
   - tile ==0.3.0.0
   - time-compat ==1.9.2.2
   - timeit ==2.0
@@ -2162,7 +2166,7 @@ default-package-overrides:
   - tintin ==1.10.0
   - tinylog ==0.15.0
   - titlecase ==1.0.1
-  - tldr ==0.4.0.1
+  - tldr ==0.4.0.2
   - tls ==1.4.1
   - tls-debug ==0.4.5
   - tls-session-manager ==0.0.3
@@ -2187,7 +2191,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
@@ -2201,11 +2205,11 @@ default-package-overrides:
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.5.14
+  - turtle ==1.5.15
   - TypeCompose ==0.9.14
   - typed-process ==0.2.6.0
   - type-errors ==0.2.0.0
-  - type-errors-pretty ==0.0.0.0
+  - type-errors-pretty ==0.0.1.0
   - type-fun ==0.1.1
   - type-hint ==0.1
   - type-level-integers ==0.0.1
@@ -2219,13 +2223,13 @@ 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
   - ucam-webauth-types ==0.1.0.0
   - uglymemo ==0.1.0.1
-  - unagi-chan ==0.4.1.2
+  - unagi-chan ==0.4.1.3
   - unbounded-delays ==0.1.1.0
   - unbound-generics ==0.4.0
   - unboxed-ref ==0.4.0.0
@@ -2264,7 +2268,7 @@ default-package-overrides:
   - unordered-containers ==0.2.10.0
   - unordered-intmap ==0.1.1
   - unsafe ==0.0
-  - uri-bytestring ==0.3.2.1
+  - uri-bytestring ==0.3.2.2
   - uri-bytestring-aeson ==0.1.0.7
   - uri-encode ==1.5.0.5
   - uri-templater ==0.3.1.0
@@ -2275,12 +2279,12 @@ default-package-overrides:
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.1.1
-  - util ==0.1.13.0
+  - util ==0.1.15.0
   - utility-ht ==0.0.14
   - uuid ==1.3.13
   - uuid-types ==1.0.3
   - validation ==1.1
-  - validity ==0.9.0.1
+  - validity ==0.9.0.2
   - validity-aeson ==0.2.0.2
   - validity-bytestring ==0.4.1.0
   - validity-containers ==0.3.1.0
@@ -2295,21 +2299,21 @@ default-package-overrides:
   - vault ==0.3.1.3
   - vec ==0.1.1.1
   - vector ==0.12.0.3
-  - vector-algorithms ==0.8.0.1
+  - vector-algorithms ==0.8.0.3
   - vector-binary-instances ==0.2.5.1
   - vector-buffer ==0.4.1
-  - vector-builder ==0.3.7.2
+  - vector-builder ==0.3.8
   - vector-bytes-instances ==0.1.1
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-sized ==1.2.0.1
   - vector-space ==0.16
   - vector-split ==1.0.0.2
-  - vector-th-unbox ==0.2.1.6
+  - vector-th-unbox ==0.2.1.7
   - verbosity ==0.3.0.0
   - versions ==3.5.1.1
   - ViennaRNAParser ==1.3.3
-  - viewprof ==0.0.0.30
+  - viewprof ==0.0.0.32
   - vinyl ==0.11.0
   - vivid ==0.4.2.3
   - vivid-osc ==0.5.0.0
@@ -2338,8 +2342,8 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-transformers ==0.1.0
   - wai-websockets ==3.0.1.2
-  - warp ==3.2.28
-  - warp-tls ==3.2.8
+  - warp ==3.3.5
+  - warp-tls ==3.2.9
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
   - wcwidth ==0.0.2
@@ -2348,23 +2352,22 @@ 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
-  - websockets ==0.12.5.3
+  - websockets ==0.12.6.1
   - websockets-snap ==0.10.3.1
-  - weigh ==0.0.14
-  - wide-word ==0.1.0.8
+  - weigh ==0.0.16
+  - wide-word ==0.1.0.9
   - wikicfp-scraper ==0.1.0.11
   - wild-bind ==0.1.2.4
-  - wild-bind-x11 ==0.2.0.7
+  - wild-bind-x11 ==0.2.0.8
   - Win32 ==2.6.1.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - winery ==1.1.2
+  - winery ==1.1.3
   - wire-streams ==0.1.1.0
-  - witherable ==0.3.3
   - with-location ==0.1.0
   - witness ==0.4
   - wizards ==1.0.3
@@ -2383,8 +2386,8 @@ 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
-  - X11 ==1.9
+  - wuss ==1.1.15
+  - X11 ==1.9.1
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
   - x509 ==1.7.5
@@ -2394,7 +2397,7 @@ default-package-overrides:
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
   - xdg-userdirs ==0.1.0.2
-  - xeno ==0.3.5.1
+  - xeno ==0.3.5.2
   - xenstore ==0.1.1
   - xls ==0.1.2
   - xlsx ==0.7.2
@@ -2418,10 +2421,10 @@ default-package-overrides:
   - xml-types ==0.3.6
   - xmonad ==0.15
   - xmonad-contrib ==0.15
-  - xmonad-extras ==0.15.1
+  - 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
@@ -2430,8 +2433,8 @@ 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-core ==1.6.16.1
+  - yesod-bin ==1.6.0.4
+  - yesod-core ==1.6.17
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
   - yesod-fb ==0.5.0
@@ -2441,11 +2444,11 @@ default-package-overrides:
   - yesod-gitrev ==0.2.1
   - yesod-newsfeed ==1.6.1.0
   - yesod-paginator ==1.1.0.2
-  - yesod-persistent ==1.6.0.2
+  - yesod-persistent ==1.6.0.3
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.6.2
+  - yesod-test ==1.6.9
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -2486,17 +2489,13 @@ extra-packages:
   - control-monad-free < 0.6            # newer versions don't compile with anything but GHC 7.8.x
   - dbus <1                             # for xmonad-0.26
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
+  - dhall == 1.27.0                     # required for spago 0.13.0.  Probably can be removed when next version of spago is available.
   - generic-deriving == 1.10.5.*        # new versions don't compile with GHC 7.10.x
-  - ghc-lib-parser == 8.8.0.20190723    # required by hlint-2.2.2
   - gloss < 1.9.3                       # new versions don't compile with GHC 7.8.x
-  - haddock < 2.17                      # required on GHC 7.10.x
-  - haddock == 2.17.*                   # required on GHC 8.0.x
-  - haddock-api == 2.15.*               # required on GHC 7.8.x
-  - haddock-api == 2.16.*               # required on GHC 7.10.x
-  - haddock-api == 2.17.*               # required on GHC 8.0.x
-  - haddock-library == 1.2.*            # required for haddock-api-2.16.x
-  - haddock-library == 1.4.3            # required for haddock-api-2.17.x
+  - haddock == 2.22.*                   # required on GHC 8.0.x
+  - haddock-api == 2.22.*               # required on GHC 7.8.x
   - happy <1.19.6                       # newer versions break Agda
+  - happy == 1.19.9                     # for purescript
   - haskell-gi-overloading == 0.0       # gi-* packages use this dependency to disable overloading support
   - haskell-src-exts == 1.19.*          # required by hindent and structured-haskell-mode
   - hinotify == 0.3.9                   # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
@@ -2546,7 +2545,6 @@ package-maintainers:
     - funcmp
     - git-annex
     - hackage-db
-    - haskell-ci
     - hledger
     - hledger-interest
     - hledger-ui
@@ -2563,7 +2561,6 @@ package-maintainers:
     - logging-facade-syslog
     - nix-paths
     - pandoc
-    - postmaster
     - stack
     - streamproc
     - structured-haskell-mode
@@ -2579,6 +2576,8 @@ package-maintainers:
     - elm-export-persistent
     - pipes-mongodb
     - streaming-wai
+  kiwi:
+    - glirc
   psibi:
     - path-pieces
     - persistent
@@ -2588,12 +2587,20 @@ package-maintainers:
     - shakespeare
   abbradar:
     - Agda
+  roberth:
+    - arion-compose
+  cdepillabout:
+    - pretty-simple
+    - purescript
+    - spago
+    - termonad
 
 unsupported-platforms:
   alsa-mixer:                                   [ x86_64-darwin ]
   alsa-pcm:                                     [ x86_64-darwin ]
   alsa-seq:                                     [ x86_64-darwin ]
   AWin32Console:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  barbly:                                       [ i686-linux, x86_64-linux ]
   bindings-directfb:                            [ x86_64-darwin ]
   d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   DirectSound:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2728,6 +2735,7 @@ broken-packages:
   - abcBridge
   - abcnotation
   - abeson
+  - abides
   - abnf
   - AbortT-monadstf
   - AbortT-mtl
@@ -2797,6 +2805,7 @@ broken-packages:
   - ADPfusionSet
   - adtrees
   - Advgame
+  - Advise-me
   - AERN-Basics
   - AERN-Net
   - AERN-Real
@@ -2810,6 +2819,7 @@ broken-packages:
   - aeson-decode
   - aeson-diff-generic
   - aeson-flowtyped
+  - aeson-gadt-th
   - aeson-injector
   - aeson-native
   - aeson-prefix
@@ -2820,6 +2830,7 @@ broken-packages:
   - aeson-tiled
   - aeson-typescript
   - affection
+  - affine
   - affine-invariant-ensemble-mcmc
   - afv
   - ag-pictgen
@@ -2829,6 +2840,7 @@ broken-packages:
   - agda-snippets-hakyll
   - agentx
   - AGI
+  - agum
   - AhoCorasick
   - aig
   - aip
@@ -2842,7 +2854,9 @@ broken-packages:
   - alerta
   - alex-meta
   - alex-prelude
+  - alex-tools
   - alfred
+  - alg
   - alga
   - algebra
   - algebra-sql
@@ -2923,6 +2937,8 @@ broken-packages:
   - apecs-stm
   - apelsin
   - api-builder
+  - api-rpc-factom
+  - api-rpc-pegnet
   - api-tools
   - api-yoti
   - apiary
@@ -2955,10 +2971,12 @@ broken-packages:
   - ApproxFun-hs
   - arb-fft
   - arbb-vm
+  - arbor-monad-counter
   - arbor-monad-logger
   - arbor-monad-metric
   - arbor-monad-metric-datadog
   - arbor-postgres
+  - archive-libarchive
   - archiver
   - archlinux
   - archlinux-web
@@ -2981,6 +2999,7 @@ broken-packages:
   - array-chunks
   - array-forth
   - array-primops
+  - arrayfire
   - arraylist
   - ArrayRef
   - arrow-improve
@@ -3090,7 +3109,6 @@ broken-packages:
   - aws-sign4
   - aws-simple
   - aws-sns
-  - axel
   - axiom
   - azubi
   - azure-service-api
@@ -3119,7 +3137,6 @@ broken-packages:
   - Bang
   - bank-holiday-usa
   - banwords
-  - barbly
   - barchart
   - barcodes-code128
   - barecheck
@@ -3131,6 +3148,7 @@ broken-packages:
   - base-feature-macros
   - base-generics
   - base-io-access
+  - base62
   - base64-conduit
   - baserock-schema
   - BASIC
@@ -3151,6 +3169,7 @@ broken-packages:
   - beam-postgres
   - beam-th
   - beamable
+  - bearriver
   - beautifHOL
   - beeminder-api
   - Befunge93
@@ -3172,6 +3191,7 @@ broken-packages:
   - bidirectionalization-combined
   - bidispec
   - bidispec-extras
+  - bifunctor
   - BiGUL
   - billboard-parser
   - billeksah-forms
@@ -3246,6 +3266,7 @@ broken-packages:
   - biofasta
   - biofastq
   - biohazard
+  - BioHMM
   - bioinformatics-toolkit
   - biophd
   - biopsl
@@ -3255,6 +3276,7 @@ broken-packages:
   - bird
   - BirdPP
   - bisect-binary
+  - bishbosh
   - bit-array
   - bit-stream
   - bitcoin-hs
@@ -3370,6 +3392,7 @@ broken-packages:
   - buffer
   - buffer-builder-aeson
   - BufferedSocket
+  - buffet
   - buffon
   - bugzilla
   - build
@@ -3412,6 +3435,7 @@ broken-packages:
   - c0parser
   - c2ats
   - c2hsc
+  - ca
   - cabal-audit
   - cabal-bundle-clib
   - cabal-cache
@@ -3422,15 +3446,18 @@ broken-packages:
   - cabal-dependency-licenses
   - cabal-dev
   - cabal-dir
+  - cabal-flatpak
   - cabal-fmt
   - 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
@@ -3472,7 +3499,9 @@ broken-packages:
   - calculator
   - caldims
   - caledon
+  - calenderweek
   - call
+  - call-alloy
   - call-haskell-from-anything
   - camfort
   - campfire
@@ -3521,6 +3550,7 @@ broken-packages:
   - Catana
   - catch-fd
   - categorical-algebra
+  - category
   - category-extras
   - category-traced
   - catnplus
@@ -3573,8 +3603,6 @@ broken-packages:
   - Checked
   - checked
   - checkmate
-  - chell
-  - chell-hunit
   - chell-quickcheck
   - chessIO
   - chevalier-common
@@ -3597,6 +3625,7 @@ broken-packages:
   - ChristmasTree
   - chromatin
   - chronograph
+  - chs-cabal
   - chu2
   - chunks
   - chunky
@@ -3621,10 +3650,7 @@ broken-packages:
   - clarifai
   - CLASE
   - clash
-  - clash-ghc
-  - clash-lib
   - clash-multisignal
-  - clash-prelude
   - Clash-Royale-Hack-Cheats
   - clash-systemverilog
   - clash-verilog
@@ -3634,7 +3660,6 @@ broken-packages:
   - classy-miso
   - classy-parallel
   - ClassyPrelude
-  - clay
   - clckwrks
   - clckwrks-cli
   - clckwrks-dot-com
@@ -3668,6 +3693,7 @@ broken-packages:
   - cloud-haskell
   - cloud-seeder
   - cloudfront-signer
+  - cloudi
   - clr-inline
   - clua
   - cluss
@@ -3688,6 +3714,7 @@ broken-packages:
   - cmonad
   - cmph
   - cmt
+  - cmu
   - cmv
   - cnc-spec-compiler
   - co-log
@@ -3695,6 +3722,8 @@ broken-packages:
   - co-log-sys
   - Coadjute
   - coalpit
+  - cobot-io
+  - cobot-tools
   - code-builder
   - codec-beam
   - codec-libevent
@@ -3706,6 +3735,7 @@ broken-packages:
   - codex
   - coin
   - coinbase-exchange
+  - coinbase-pro
   - coincident-root-loci
   - colada
   - colchis
@@ -3745,6 +3775,7 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - compact-word-vectors
   - Compactable
   - compdata-dags
   - competition
@@ -3796,6 +3827,7 @@ broken-packages:
   - confide
   - config-parser
   - config-select
+  - config-value-getopt
   - ConfigFileTH
   - Configger
   - configifier
@@ -3807,6 +3839,7 @@ broken-packages:
   - conkin
   - conlogger
   - connection-string
+  - connections
   - Conscript
   - consistent
   - const-math-ghc-plugin
@@ -3815,7 +3848,9 @@ broken-packages:
   - constrained-category
   - constrained-dynamic
   - constrained-monads
+  - constraint
   - constraint-manip
+  - constraint-reflection
   - ConstraintKinds
   - constraints-emerge
   - constructive-algebra
@@ -3860,6 +3895,7 @@ broken-packages:
   - COrdering
   - core
   - core-haskell
+  - core-program
   - corebot-bliki
   - CoreDump
   - CoreErlang
@@ -3882,6 +3918,7 @@ broken-packages:
   - cparsing
   - CPBrainfuck
   - cpio-conduit
+  - cpkg
   - cplusplus-th
   - cprng-aes-effect
   - cpuperf
@@ -3933,6 +3970,7 @@ broken-packages:
   - cryptocompare
   - cryptoconditions
   - cryptol
+  - cryptostore
   - cryptsy-api
   - crystalfontz
   - csa
@@ -4138,6 +4176,7 @@ broken-packages:
   - derive-topdown
   - derive-trie
   - derp-lib
+  - describe
   - descript-lang
   - deterministic-game-engine
   - detour-via-sci
@@ -4151,9 +4190,11 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
+  - dhall-fly
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
+  - dhall-yaml
   - dhcp-lease-parser
   - dhrun
   - dia-base
@@ -4270,6 +4311,7 @@ broken-packages:
   - docker
   - docker-build-cacher
   - dockercook
+  - docrecords
   - DocTest
   - doctest-discover-configurator
   - doctest-driver-gen
@@ -4283,7 +4325,6 @@ broken-packages:
   - domplate
   - dot-linker
   - dot2graphml
-  - dotenv
   - dotfs
   - doublify-toolkit
   - dovin
@@ -4329,6 +4370,7 @@ broken-packages:
   - dtd-text
   - dtw
   - dual
+  - duet
   - Dung
   - duplo
   - Dust
@@ -4391,7 +4433,6 @@ broken-packages:
   - ekg-elasticsearch
   - ekg-influxdb
   - ekg-log
-  - ekg-prometheus-adapter
   - ekg-push
   - ekg-rrd
   - elevator
@@ -4399,10 +4440,13 @@ broken-packages:
   - elliptic-curve
   - elm-websocket
   - elsa
+  - elynx-seq
+  - elynx-tree
   - emacs-keys
   - email
   - email-header
   - email-postmark
+  - email-validator
   - emailparse
   - embeddock
   - embeddock-example
@@ -4462,6 +4506,10 @@ broken-packages:
   - EsounD
   - espial
   - ess
+  - essence-of-live-coding
+  - essence-of-live-coding-gloss
+  - essence-of-live-coding-pulse
+  - essence-of-live-coding-quickcheck
   - estimators
   - EstProgress
   - estreps
@@ -4483,6 +4531,7 @@ broken-packages:
   - euler-tour-tree
   - euphoria
   - eurofxref
+  - evdev
   - eve
   - eve-cli
   - event
@@ -4510,6 +4559,7 @@ broken-packages:
   - exif
   - exinst-deepseq
   - exinst-hashable
+  - exist-instances
   - exists
   - exitcode
   - expand
@@ -4539,6 +4589,7 @@ broken-packages:
   - f-ree-hack-cheats-free-v-bucks-generator
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
+  - factory
   - Facts
   - factual-api
   - fadno
@@ -4633,6 +4684,7 @@ broken-packages:
   - FilePather
   - filepather
   - Files
+  - filestore
   - FileSystem
   - filesystem-conduit
   - filesystem-enumerator
@@ -4648,12 +4700,14 @@ broken-packages:
   - findhttp
   - fingertree-psqueue
   - fingertree-tf
+  - finitary
   - finitary-derive
   - FiniteMap
   - firefly-example
   - first-and-last
   - firstify
   - FirstOrderTheory
+  - fishfood
   - fit
   - fits-parse
   - fitsio
@@ -4680,6 +4734,7 @@ broken-packages:
   - flamethrower
   - flamingra
   - flat-maybe
+  - flatbuffers
   - flexible-time
   - flexiwrap
   - flexiwrap-smallcheck
@@ -4723,6 +4778,7 @@ broken-packages:
   - Forestry
   - forger
   - ForkableT
+  - forma
   - formal
   - FormalGrammars
   - format
@@ -4743,6 +4799,7 @@ broken-packages:
   - foscam-sort
   - Foster
   - fpco-api
+  - fplll
   - fpnla-examples
   - FPretty
   - fptest
@@ -4756,6 +4813,7 @@ broken-packages:
   - franchise
   - Frank
   - freddy
+  - free-category
   - free-concurrent
   - free-game
   - free-http
@@ -4827,6 +4885,10 @@ broken-packages:
   - funnyprint
   - funpat
   - funsat
+  - fused-effects-exceptions
+  - fused-effects-lens
+  - fused-effects-random
+  - fused-effects-resumable
   - fusion
   - futhark
   - futun
@@ -4840,6 +4902,7 @@ broken-packages:
   - g2q
   - g4ip
   - gact
+  - galois-fft
   - game-probability
   - gameclock
   - gamgee
@@ -4853,6 +4916,7 @@ broken-packages:
   - gbu
   - gc-monitoring-wai
   - gcodehs
+  - gconf
   - gdax
   - gdiff-ig
   - gdiff-th
@@ -4890,6 +4954,7 @@ broken-packages:
   - generic-tree
   - generic-xml
   - generic-xmlpickler
+  - generics-mrsop-gdiff
   - genericserialize
   - genesis
   - genesis-test
@@ -4920,6 +4985,7 @@ broken-packages:
   - getflag
   - GGg
   - ggtsTC
+  - gh-labeler
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-dump-tree
@@ -4950,7 +5016,7 @@ broken-packages:
   - ghci-history-parser
   - ghci-lib
   - ghci-ng
-  - ghcide
+  - ghci-pretty
   - ghcjs-base-stub
   - ghcjs-dom-jsffi
   - ghcjs-fetch
@@ -4971,6 +5037,7 @@ broken-packages:
   - gi-handy
   - gi-notify
   - gi-poppler
+  - gi-secret
   - gi-wnck
   - giak
   - Gifcurry
@@ -5093,7 +5160,6 @@ broken-packages:
   - grakn
   - grammar-combinators
   - GrammarProducts
-  - grammatical-parsers
   - grapefruit-examples
   - grapefruit-frp
   - grapefruit-records
@@ -5147,6 +5213,8 @@ broken-packages:
   - GrowlNotify
   - grpc-api-etcd
   - grpc-etcd-client
+  - grpc-haskell
+  - grpc-haskell-core
   - gruff
   - gruff-examples
   - gsc-weighting
@@ -5154,6 +5222,7 @@ broken-packages:
   - gsl-random
   - gsl-random-fu
   - gstorable
+  - gstreamer
   - GTALib
   - gtfs
   - gtk-serialized-event
@@ -5220,7 +5289,6 @@ broken-packages:
   - haddock-leksah
   - haddock-test
   - haddocset
-  - hadolint
   - hadoop-formats
   - hadoop-rpc
   - hadoop-tools
@@ -5228,7 +5296,6 @@ broken-packages:
   - Haggressive
   - hahp
   - haiji
-  - hail
   - hailgun
   - hailgun-send
   - hailgun-simple
@@ -5249,7 +5316,6 @@ broken-packages:
   - hakyll-dir-list
   - hakyll-favicon
   - hakyll-filestore
-  - hakyll-images
   - hakyll-ogmarkup
   - hakyll-R
   - hakyll-sass
@@ -5257,6 +5323,7 @@ broken-packages:
   - hakyll-shakespeare
   - hakyll-shortcode
   - hakyll-shortcut-links
+  - hakyll-typescript
   - halberd
   - halfs
   - halipeto
@@ -5278,7 +5345,6 @@ broken-packages:
   - hans
   - hans-pcap
   - haphviz
-  - hapistrano
   - happindicator
   - happindicator3
   - happlets
@@ -5372,6 +5438,7 @@ broken-packages:
   - haskell-bitmex-client
   - haskell-bitmex-rest
   - haskell-brainfuck
+  - haskell-ci
   - haskell-cnc
   - haskell-coffee
   - haskell-compression
@@ -5465,6 +5532,7 @@ broken-packages:
   - haskmon
   - haskoin
   - haskoin-bitcoind
+  - haskoin-core
   - haskoin-crypto
   - haskoin-node
   - haskoin-protocol
@@ -5594,6 +5662,7 @@ broken-packages:
   - hedgehog-classes
   - hedgehog-gen-json
   - hedgehog-generic
+  - hedgehog-golden
   - Hedi
   - hedis-config
   - hedis-pile
@@ -5672,6 +5741,9 @@ broken-packages:
   - hgen
   - hgeometric
   - hgeometry
+  - hgeometry-combinatorial
+  - hgeometry-ipe
+  - hgeometry-svg
   - hgeos
   - hgettext
   - hgis
@@ -5846,6 +5918,7 @@ broken-packages:
   - hoovie
   - hopencc
   - hopencl
+  - hOpenPGP
   - hopenpgp-tools
   - hopfield
   - hoppy-docs
@@ -5903,6 +5976,9 @@ broken-packages:
   - hR
   - hranker
   - HRay
+  - hreq-client
+  - hreq-conduit
+  - hreq-core
   - Hricket
   - hricket
   - hriemann
@@ -6113,6 +6189,7 @@ broken-packages:
   - http-dispatch
   - http-enumerator
   - http-grammar
+  - http-io-streams
   - http-kinder
   - http-monad
   - http-pony-serve-wai
@@ -6123,6 +6200,7 @@ broken-packages:
   - http-streams
   - http-wget
   - http2-client-grpc
+  - http2-grpc-proto3-wire
   - https-everywhere-rules
   - https-everywhere-rules-raw
   - httpspec
@@ -6156,6 +6234,7 @@ broken-packages:
   - huttons-razor
   - huzzy
   - hVOIDP
+  - hw-all
   - hw-balancedparens
   - hw-bits
   - hw-ci-assist
@@ -6303,7 +6382,6 @@ broken-packages:
   - incremental-computing
   - incremental-maps
   - increments
-  - indents
   - indexation
   - IndexedList
   - indextype
@@ -6343,6 +6421,7 @@ broken-packages:
   - interpolatedstring-qq-mwotton
   - interruptible
   - interval
+  - IntFormats
   - intro-prelude
   - introduction
   - introduction-test
@@ -6361,8 +6440,10 @@ broken-packages:
   - ip2proxy
   - ipatch
   - ipc
+  - ipfs
   - ipld-cid
   - ipopt-hs
+  - ipprint
   - iptables-helpers
   - iptadmin
   - IPv6DB
@@ -6397,6 +6478,7 @@ broken-packages:
   - iteratee-stm
   - iterIO
   - iterio-server
+  - ival
   - ivor
   - ivory
   - ivory-backend-c
@@ -6429,6 +6511,7 @@ broken-packages:
   - java-bridge-extras
   - java-character
   - java-reflect
+  - javascript-bridge
   - javascript-extras
   - Javasf
   - javasf
@@ -6450,6 +6533,7 @@ broken-packages:
   - jmonkey
   - jni
   - jobqueue
+  - jobs-ui
   - join
   - join-api
   - joinlist
@@ -6478,6 +6562,7 @@ broken-packages:
   - json-python
   - json-schema
   - json-togo
+  - json-tokens
   - json-tools
   - json-tracer
   - json2
@@ -6512,6 +6597,7 @@ broken-packages:
   - JYU-Utils
   - kademlia
   - kafka-client
+  - kafka-client-sync
   - kaleidoscope
   - Kalman
   - kalman
@@ -6570,7 +6656,6 @@ broken-packages:
   - kmp-dfa
   - knead
   - knead-arithmetic
-  - knit-haskell
   - knots
   - koellner-phonetic
   - kontra-config
@@ -6679,6 +6764,7 @@ broken-packages:
   - language-sh
   - language-spelling
   - language-sqlite
+  - language-sygus
   - language-thrift
   - language-typescript
   - language-vhdl
@@ -6702,6 +6788,7 @@ broken-packages:
   - lazy-hash
   - lazy-hash-cache
   - lazy-io-streams
+  - lazy-priority-queue
   - lazyarray
   - lazyboy
   - lazyset
@@ -6744,6 +6831,7 @@ broken-packages:
   - lhe
   - lhs2TeX-hl
   - lhslatex
+  - libarchive
   - LibClang
   - libconfig
   - libcspm
@@ -6777,6 +6865,7 @@ broken-packages:
   - lifter
   - ligature
   - lightning-haskell
+  - lightstep-haskell
   - lighttpd-conf
   - lighttpd-conf-qq
   - lilypond
@@ -6914,7 +7003,6 @@ broken-packages:
   - ls-usb
   - lscabal
   - LslPlus
-  - lsp-test
   - lsystem
   - ltext
   - ltk
@@ -6991,6 +7079,7 @@ broken-packages:
   - mangopay
   - manifold-random
   - manifolds
+  - Map
   - map-exts
   - map-reduce-folds
   - map-syntax
@@ -7009,11 +7098,16 @@ broken-packages:
   - marmalade-upload
   - marquise
   - mars
+  - marshal-contt
   - marvin
   - marvin-interpolate
   - marxup
   - masakazu-bot
   - MASMGen
+  - mason
+  - massiv
+  - massiv-io
+  - massiv-test
   - master-plan
   - matchable-th
   - matchers
@@ -7086,6 +7180,7 @@ broken-packages:
   - meta-par-accelerate
   - metadata
   - MetaHDBC
+  - metaheuristics
   - MetaObject
   - metaplug
   - metar
@@ -7152,6 +7247,12 @@ broken-packages:
   - ml-w
   - mlist
   - mltool
+  - mm2
+  - mmsyn2
+  - mmsyn4
+  - mmsyn6ukr
+  - mmsyn7h
+  - mmsyn7ukr
   - mmtf
   - mmtl
   - mmtl-base
@@ -7213,6 +7314,7 @@ broken-packages:
   - monadLib-compose
   - monadloc-pp
   - monadlog
+  - Monadoro
   - monadplus
   - monads-fd
   - MonadStack
@@ -7236,6 +7338,7 @@ broken-packages:
   - monoids
   - monopati
   - monte-carlo
+  - months
   - monzo
   - moo
   - moonshine
@@ -7244,11 +7347,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
@@ -7392,10 +7498,12 @@ broken-packages:
   - NestedFunctor
   - nestedmap
   - net-mqtt
+  - net-mqtt-rpc
   - net-spider
   - net-spider-cli
   - net-spider-pangraph
   - net-spider-rpl
+  - net-spider-rpl-cli
   - netclock
   - netcore
   - netease-fm
@@ -7464,8 +7572,8 @@ broken-packages:
   - Ninjas
   - nirum
   - nitro
-  - niv
   - nixfromnpm
+  - nixpkgs-update
   - nkjp
   - nlp-scores
   - nlp-scores-scripts
@@ -7491,6 +7599,7 @@ broken-packages:
   - NoSlow
   - not-gloss-examples
   - notcpp
+  - notifications-tray-icon
   - notmuch-haskell
   - notmuch-web
   - now-haskell
@@ -7516,6 +7625,7 @@ broken-packages:
   - numhask-histogram
   - numhask-prelude
   - numhask-range
+  - numhask-space
   - numhask-test
   - Nussinov78
   - Nutri
@@ -7599,6 +7709,7 @@ broken-packages:
   - opml-conduit
   - opn
   - optima
+  - optima-for-hasql
   - optimal-blocks
   - optimization
   - optimusprime
@@ -7620,6 +7731,7 @@ broken-packages:
   - orgstat
   - origami
   - orizentic
+  - ormolu
   - OrPatterns
   - osc
   - oscpacking
@@ -7631,6 +7743,7 @@ broken-packages:
   - ot
   - OTP
   - otp-authenticator
+  - overloaded
   - overloaded-records
   - overture
   - pack
@@ -7654,13 +7767,13 @@ broken-packages:
   - pairing
   - pam
   - panda
-  - pandoc-emphasize-code
+  - 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
@@ -7826,6 +7939,7 @@ broken-packages:
   - piet
   - pig
   - pinchot
+  - pine
   - ping
   - pinpon
   - Pipe
@@ -7900,6 +8014,7 @@ broken-packages:
   - pocket-dns
   - point-octree
   - pointfree-fancy
+  - pointful
   - pointless-lenses
   - pointless-rewrite
   - pokemon-go-protobuf-types
@@ -7910,13 +8025,11 @@ broken-packages:
   - polh-lexicon
   - polimorf
   - Pollutocracy
+  - poly
   - poly-control
   - polydata
   - polydata-core
   - polynomial
-  - polysemy-plugin
-  - polysemy-RandomFu
-  - polysemy-zoo
   - polyseq
   - polysoup
   - polytypeable
@@ -7930,10 +8043,15 @@ broken-packages:
   - pool-conduit
   - popenhs
   - poppler
+  - porcupine-core
+  - porcupine-http
+  - porcupine-s3
   - portager
   - porte
   - PortFusion
   - ports
+  - poseidon
+  - poseidon-postgis
   - posix-acl
   - posix-api
   - posix-realtime
@@ -7951,7 +8069,6 @@ broken-packages:
   - postgresql-simple-queue
   - postgresql-simple-sop
   - postgresql-simple-typed
-  - postgresql-simple-url
   - postgresql-typed
   - postgresql-typed-lifted
   - postgrest
@@ -7959,6 +8076,7 @@ broken-packages:
   - postie
   - postmark
   - postmark-streams
+  - postmaster
   - potato-tool
   - potoki
   - potoki-cereal
@@ -7980,6 +8098,7 @@ broken-packages:
   - precursor
   - pred-trie
   - predicate-class
+  - predicate-typed
   - prednote
   - prednote-test
   - prefork
@@ -8026,8 +8145,10 @@ broken-packages:
   - procrastinating-variable
   - procstat
   - producer
+  - product
   - prof2dot
   - prof2pretty
+  - profunctor-optics
   - progress
   - progress-meter
   - progressbar
@@ -8038,7 +8159,6 @@ broken-packages:
   - projectile
   - prolog-graph
   - prolog-graph-lib
-  - prometheus
   - prometheus-effect
   - promise
   - pronounce
@@ -8052,6 +8172,7 @@ broken-packages:
   - proteome
   - proto-lens-combinators
   - proto-lens-descriptors
+  - proto-lens-jsonpb
   - proto3-suite
   - protobuf-native
   - protocol-buffers-descriptor-fork
@@ -8084,7 +8205,7 @@ broken-packages:
   - pure-io
   - pure-priority-queue
   - pure-priority-queue-tests
-  - purescript
+  - purebred-email
   - purescript-iso
   - purescript-tsd-gen
   - push-notify
@@ -8098,7 +8219,6 @@ broken-packages:
   - puzzle-draw
   - puzzle-draw-cmdline
   - pvd
-  - PyF
   - pyffi
   - pyfi
   - python-pickle
@@ -8164,6 +8284,7 @@ broken-packages:
   - quiver-instances
   - quiver-interleave
   - quiver-sort
+  - quokka
   - quoridor-hs
   - qux
   - R-pandoc
@@ -8197,7 +8318,6 @@ broken-packages:
   - range-space
   - rangemin
   - rank1dynamic
-  - rank2classes
   - Ranka
   - rapid-term
   - rasa
@@ -8214,6 +8334,7 @@ broken-packages:
   - rasa-ext-vim
   - rascal
   - Rasenschach
+  - rational-list
   - rattle
   - rattletrap
   - raven-haskell-scotty
@@ -8242,10 +8363,13 @@ broken-packages:
   - reactive-thread
   - reactor
   - read-io
+  - reader-soup
   - readline-statevar
+  - readme-lhs
   - readpyc
   - readshp
   - really-simple-xml-parser
+  - reanimate
   - reasonable-lens
   - record
   - record-aeson
@@ -8272,14 +8396,18 @@ broken-packages:
   - Referees
   - refh
   - refined
+  - refined-http-api-data
   - reflection-extras
   - reflex
   - reflex-animation
+  - reflex-backend-socket
   - reflex-backend-wai
   - reflex-basic-host
+  - reflex-dom-retractable
   - reflex-dom-svg
   - reflex-gloss
   - reflex-gloss-scene
+  - reflex-libtelnet
   - reflex-orphans
   - reflex-sdl2
   - reflex-transformers
@@ -8289,6 +8417,7 @@ broken-packages:
   - reformat
   - refresht
   - refurb
+  - reg-alloc
   - regex-deriv
   - regex-dfa
   - regex-generator
@@ -8416,6 +8545,7 @@ broken-packages:
   - riff
   - ring-buffer
   - ring-buffers
+  - rings
   - riot
   - risc386
   - riscv-isa
@@ -8486,6 +8616,7 @@ broken-packages:
   - rws
   - RxHaskell
   - s-expression
+  - S3
   - SableCC2Hs
   - safe-access
   - safe-buffer-monad
@@ -8535,7 +8666,6 @@ broken-packages:
   - savage
   - sax
   - SBench
-  - sbv
   - sbvPlugin
   - sc2-lowlevel
   - sc2-proto
@@ -8551,7 +8681,9 @@ broken-packages:
   - scenegraph
   - schedevr
   - schedule-planner
+  - scheduler
   - schedyield
+  - schemas
   - schematic
   - scholdoc
   - scholdoc-citeproc
@@ -8559,6 +8691,7 @@ broken-packages:
   - scholdoc-types
   - scidb-hquery
   - science-constants-dimensional
+  - scientific-notation
   - SciFlow
   - SciFlow-drmaa
   - scion
@@ -8602,6 +8735,7 @@ broken-packages:
   - seclib
   - second-transfer
   - secp256k1
+  - secp256k1-legacy
   - secret-santa
   - secret-sharing
   - secrm
@@ -8615,6 +8749,9 @@ broken-packages:
   - Semantique
   - semdoc
   - semi-iso
+  - semialign-extras
+  - semialign-indexed
+  - semialign-optics
   - semibounded-lattices
   - Semigroup
   - semigroupoids-syntax
@@ -8628,6 +8765,7 @@ broken-packages:
   - sensenet
   - sentence-jp
   - sentry
+  - seonbi
   - seqaid
   - SeqAlign
   - seqid
@@ -8702,6 +8840,7 @@ broken-packages:
   - servant-zeppelin-server
   - servant-zeppelin-swagger
   - server-generic
+  - serversession-backend-acid-state
   - serversession-backend-redis
   - serversession-frontend-snap
   - serversession-frontend-yesod
@@ -8758,6 +8897,8 @@ broken-packages:
   - shellish
   - shellmate
   - shellmate-extras
+  - shh
+  - shh-extras
   - shivers-cfg
   - shoap
   - shopify
@@ -8817,6 +8958,7 @@ broken-packages:
   - singleton-dict
   - singleton-typelits
   - singnal
+  - singular-factory
   - sink
   - siphon
   - siren-json
@@ -8848,6 +8990,7 @@ broken-packages:
   - slot-lambda
   - sloth
   - slug
+  - slynx
   - small-bytearray-builder
   - smallarray
   - smallcheck-laws
@@ -8862,6 +9005,7 @@ broken-packages:
   - sme
   - smerdyakov
   - smiles
+  - smith
   - smith-cli
   - smith-client
   - Smooth
@@ -8963,6 +9107,7 @@ broken-packages:
   - sorted
   - sorting
   - sorty
+  - souffle-haskell
   - sound-collage
   - sounddelay
   - soundgen
@@ -9032,6 +9177,8 @@ broken-packages:
   - sqlvalue-list
   - sqsd-local
   - squeal-postgresql
+  - squeeze
+  - sr-extra
   - srcinst
   - sscan
   - sscgi
@@ -9041,12 +9188,14 @@ broken-packages:
   - sssp
   - sstable
   - SSTG
+  - st2
   - stable-heap
   - stable-maps
   - stable-marriage
   - stable-memo
   - stable-tree
   - stack-bump
+  - stack-fix
   - stack-hpc-coveralls
   - stack-lib
   - stack-network
@@ -9054,7 +9203,7 @@ broken-packages:
   - stack-run
   - stack-run-auto
   - stack-type
-  - stack2cabal
+  - stack-wrapper
   - stack2nix
   - stackage
   - stackage-build-plan
@@ -9209,6 +9358,7 @@ broken-packages:
   - swearjure
   - swf
   - swift-lda
+  - sws
   - syb-extras
   - syb-with-class-instances-text
   - SybWidget
@@ -9218,6 +9368,7 @@ broken-packages:
   - sym-plot
   - symantic-http-test
   - symantic-xml
+  - symbiote
   - symengine
   - symengine-hs
   - sync
@@ -9473,6 +9624,7 @@ broken-packages:
   - tkhs
   - tkyprof
   - tls-extra
+  - tlynx
   - tmp-postgres
   - tn
   - to-haskell
@@ -9610,6 +9762,7 @@ broken-packages:
   - twilio
   - twill
   - twine
+  - twirp
   - twitter
   - twitter-conduit
   - twitter-enumerator
@@ -9678,6 +9831,7 @@ broken-packages:
   - unagi-bloomfilter
   - unagi-streams
   - unamb-custom
+  - unbeliever
   - unbound
   - unbound-kind-generics
   - unbounded-delays-units
@@ -9701,7 +9855,6 @@ broken-packages:
   - unity-testresult-parser
   - unitym-yesod
   - universe-th
-  - universum
   - unix-fcntl
   - unix-handle
   - unix-process-conduit
@@ -9752,7 +9905,6 @@ broken-packages:
   - usb-id-database
   - usb-iteratee
   - usb-safe
-  - userid
   - users-mysql-haskell
   - users-persistent
   - utc
@@ -9821,6 +9973,7 @@ broken-packages:
   - vector-space-opengl
   - vector-static
   - vectortiles
+  - venzone
   - Verba
   - verbalexpressions
   - verdict
@@ -9942,10 +10095,10 @@ broken-packages:
   - web-output
   - web-page
   - web-push
+  - web-rep
   - web-routes-happstack
   - web-routes-quasi
   - web-routes-regular
-  - web-routes-th
   - web-routes-transformers
   - web-routing
   - web3
@@ -9972,7 +10125,9 @@ broken-packages:
   - webshow
   - websockets-rpc
   - websockets-simple
+  - websockets-simple-extra
   - webwire
+  - weekdaze
   - weighted
   - weighted-regexp
   - welshy
@@ -10144,6 +10299,7 @@ broken-packages:
   - yam-servant
   - yam-transaction-odbc
   - yam-web
+  - yaml-combinators
   - yaml-pretty-extras
   - yaml-rpc
   - yaml-rpc-scotty
@@ -10170,6 +10326,7 @@ broken-packages:
   - yaya-hedgehog
   - yaya-unsafe
   - ycextra
+  - yeamer
   - yeller
   - yeshql-postgresql-simple
   - yesod-angular
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
index 5db25686fc66..9eedb0fed855 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
@@ -53,7 +53,7 @@ self: super: builtins.intersectAttrs super {
 
   # Use the default version of mysql to build this package (which is actually mariadb).
   # test phase requires networking
-  mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.connector-c; });
+  mysql = dontCheck (super.mysql.override { mysql = pkgs.libmysqlclient; });
 
   # CUDA needs help finding the SDK headers and libraries.
   cuda = overrideCabal super.cuda (drv: {
@@ -94,28 +94,39 @@ self: super: builtins.intersectAttrs super {
   # Won't find it's header files without help.
   sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
 
-  cachix = overrideCabal (addBuildTools (enableSeparateBinOutput super.cachix) [pkgs.boost]) (drv: {
-    postPatch = (drv.postPatch or "") + ''
-      substituteInPlace cachix.cabal --replace "c++14" "c++17"
-    '';
-  });
+  # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8
+  cachix = disableLibraryProfiling super.cachix;
 
+  # avoid compiling twice by providing executable as a separate output (with small closure size)
+  niv = enableSeparateBinOutput super.niv;
+  ormolu = enableSeparateBinOutput super.ormolu;
   ghcid = enableSeparateBinOutput super.ghcid;
 
+  # Ensure the necessary frameworks for Darwin.
+  OpenAL = if pkgs.stdenv.isDarwin
+    then addExtraLibrary super.OpenAL pkgs.darwin.apple_sdk.frameworks.OpenAL
+    else super.OpenAL;
+
+  # Ensure the necessary frameworks for Darwin.
+  proteaaudio = if pkgs.stdenv.isDarwin
+    then addExtraLibrary super.proteaaudio pkgs.darwin.apple_sdk.frameworks.AudioToolbox
+    else super.proteaaudio;
+
+
   hzk = overrideCabal super.hzk (drv: {
     preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
-    configureFlags =  "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
+    configureFlags = [ "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper" ];
   });
 
   haskakafka = overrideCabal super.haskakafka (drv: {
     preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
-    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
+    configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ];
   });
 
   # library has hard coded directories that need to be removed. Reported upstream here https://github.com/haskell-works/hw-kafka-client/issues/32
   hw-kafka-client = dontCheck (overrideCabal super.hw-kafka-client (drv: {
     preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d -e /librdkafka/d hw-kafka-client.cabal";
-    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
+    configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ];
   }));
 
   # Foreign dependency name clashes with another Haskell package.
@@ -158,7 +169,11 @@ self: super: builtins.intersectAttrs super {
   gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
   glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
   gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"];
-  gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.buildHaskellPackages.gtk2hs-buildtools) pkgs.gtk2) ["fortify"];
+  gtk = let gtk1 = addBuildTool super.gtk self.buildHaskellPackages.gtk2hs-buildtools;
+            gtk2 = addPkgconfigDepend gtk1 pkgs.gtk2;
+            gtk3 = disableHardening gtk1 ["fortify"];
+            gtk4 = if pkgs.stdenv.isDarwin then appendConfigureFlag gtk3 "-fhave-quartz-gtk" else gtk4;
+        in gtk3;
   gtksourceview2 = addPkgconfigDepend super.gtksourceview2 pkgs.gtk2;
   gtk-traymanager = addPkgconfigDepend super.gtk-traymanager pkgs.gtk3;
 
@@ -244,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.
@@ -282,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;
@@ -429,6 +456,14 @@ self: super: builtins.intersectAttrs super {
                             [ pkgs.darwin.apple_sdk.frameworks.OpenCL ];
   });
 
+  # depends on 'hie' executable
+  lsp-test = dontCheck super.lsp-test;
+
+  # tests depend on executable
+  ghcide = overrideCabal super.ghcide (drv: {
+    preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"'';
+  });
+
   # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
   # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
   # depend on freeglut, which provides GHC to necessary information to generate a correct RPATH.
@@ -477,8 +512,8 @@ self: super: builtins.intersectAttrs super {
   # requires autotools to build
   secp256k1 = addBuildTools super.secp256k1 [ pkgs.buildPackages.autoconf pkgs.buildPackages.automake pkgs.buildPackages.libtool ];
 
-  # tests require git
-  hapistrano = addBuildTool super.hapistrano pkgs.buildPackages.git;
+  # tests require git and zsh
+  hapistrano = addBuildTools super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ];
 
   # This propagates this to everything depending on haskell-gi-base
   haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobject-introspection;
@@ -494,9 +529,9 @@ self: super: builtins.intersectAttrs super {
   # https://github.com/plow-technologies/servant-streaming/issues/12
   servant-streaming-server = dontCheck super.servant-streaming-server;
 
-  # https://github.com/haskell-servant/servant/pull/1128
-  servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.15" then
-    appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch
+  # https://github.com/haskell-servant/servant/pull/1238
+  servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.16" then
+    appendPatch super.servant-client-core ./patches/servant-client-core-redact-auth-header.patch
   else
     super.servant-client-core;
 
@@ -557,12 +592,19 @@ self: super: builtins.intersectAttrs super {
       '';
     });
 
-  # On Darwin, git-annex mis-detects options to `cp`, so we wrap the binary to
-  # ensure it uses Nixpkgs' coreutils.
   git-annex = with pkgs;
     if (!stdenv.isLinux) then
       let path = stdenv.lib.makeBinPath [ coreutils ];
       in overrideCabal (addBuildTool super.git-annex makeWrapper) (_drv: {
+        # This is an instance of https://github.com/NixOS/nix/pull/1085
+        # Fails with:
+        #   gpg: can't connect to the agent: File name too long
+        postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+          substituteInPlace Test.hs \
+            --replace ', testCase "crypto" test_crypto' ""
+        '';
+        # On Darwin, git-annex mis-detects options to `cp`, so we wrap the
+        # binary to ensure it uses Nixpkgs' coreutils.
         postFixup = ''
           wrapProgram $out/bin/git-annex \
             --prefix PATH : "${path}"
@@ -589,8 +631,68 @@ self: super: builtins.intersectAttrs super {
   snap-server = dontCheck super.snap-server;
 
   # Tests require internet
-  dhall_1_26_0 = dontCheck super.dhall_1_26_0;
   http-download = dontCheck super.http-download;
   pantry = dontCheck super.pantry;
 
+  # Hadolint wants to build a statically linked binary by default.
+  hadolint = overrideCabal super.hadolint (drv: {
+    preConfigure = "sed -i -e /ld-options:/d hadolint.cabal";
+  });
+
+  # gtk2hs-buildtools is listed in setupHaskellDepends, but we
+  # need it during the build itself, too.
+  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 dhall_1_27_0.
+        dhall = 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"
+        '';
+      });
+
+      # Because of the problem above with pulling in hspec defaults to the
+      # package.yaml file, the tests are disabled.
+      spagoWithoutChecks = dontCheck spagoFixHpack;
+    in
+    spagoWithoutChecks;
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
index 87d3b5ae496c..2ae331386963 100644
--- a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
@@ -25,7 +25,7 @@ in
 , doBenchmark ? false
 , doHoogle ? true
 , editedCabalFile ? null
-, enableLibraryProfiling ? true
+, enableLibraryProfiling ? !(ghc.isGhcjs or false)
 , enableExecutableProfiling ? false
 , profilingDetail ? "exported-functions"
 # TODO enable shared libs for cross-compiling
@@ -40,7 +40,7 @@ in
 # They must be propagated to the environment of any executable linking with the library
 , libraryFrameworkDepends ? [], executableFrameworkDepends ? []
 , homepage ? "https://hackage.haskell.org/package/${pname}"
-, platforms ? with stdenv.lib.platforms; unix ++ windows # GHC can cross-compile
+, platforms ? with stdenv.lib.platforms; all # GHC can cross-compile
 , hydraPlatforms ? null
 , hyperlinkSource ? true
 , isExecutable ? false, isLibrary ? !isExecutable
@@ -131,9 +131,13 @@ let
                    '';
 
   crossCabalFlags = [
-    "--with-ghc=${ghc.targetPrefix}ghc"
+    "--with-ghc=${ghcCommand}"
     "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
-    "--with-gcc=${stdenv.cc.targetPrefix}cc"
+    # Pass the "wrong" C compiler rather than none at all so packages that just
+    # use the C preproccessor still work, see
+    # https://github.com/haskell/cabal/issues/6466 for details.
+    "--with-gcc=${(if stdenv.hasCC then stdenv else buildPackages.stdenv).cc.targetPrefix}cc"
+  ] ++ optionals stdenv.hasCC [
     "--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
     "--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
     # use the one that comes with the cross compiler.
@@ -156,7 +160,9 @@ let
     "--libsubdir=\\$abi/\\$libname"
     (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
     (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
+  ] ++ optionals stdenv.hasCC [
     "--with-gcc=$CC" # Clang won't work without that extra information.
+  ] ++ [
     "--package-db=$packageConfDir"
     (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
     (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
diff --git a/nixpkgs/pkgs/development/haskell-modules/generic-stack-builder.nix b/nixpkgs/pkgs/development/haskell-modules/generic-stack-builder.nix
index 96774f71730f..45c1a8fbd333 100644
--- a/nixpkgs/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -20,6 +20,10 @@ let
 
 in stdenv.mkDerivation (args // {
 
+  # Doesn't work in the sandbox. Pass `--option sandbox relaxed` or
+  # `--option sandbox false` to be able to build this
+  __noChroot = true;
+
   buildInputs = buildInputs
     ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales;
 
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index d1217ea37df5..ccd570427cae 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -264,25 +264,27 @@ self: {
      }) {};
 
   "ADPfusion" = callPackage
-    ({ mkDerivation, base, bits, containers, DPutils, mmorph, mtl
-     , OrderedBits, primitive, PrimitiveArray, QuickCheck, strict, tasty
-     , tasty-quickcheck, tasty-th, template-haskell, th-orphans
-     , transformers, tuple, vector
+    ({ mkDerivation, base, bits, containers, deepseq, DPutils, ghc-prim
+     , mmorph, mtl, OrderedBits, primitive, PrimitiveArray, QuickCheck
+     , singletons, strict, tasty, tasty-quickcheck, tasty-th
+     , template-haskell, th-orphans, transformers, tuple, vector
      }:
      mkDerivation {
        pname = "ADPfusion";
-       version = "0.5.2.2";
-       sha256 = "1r87pbwhghxyk4ivbyivrs8iwrzyvhy5lp0cy4c7kmvh50w0swlh";
+       version = "0.6.0.0";
+       sha256 = "093gg9s2rk2sqjpkyy9z4smlsjlxnn5afnasj1bklf09d2z324gn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bits containers DPutils mmorph mtl OrderedBits primitive
-         PrimitiveArray QuickCheck strict template-haskell th-orphans
-         transformers tuple vector
+         base bits containers deepseq DPutils ghc-prim mmorph mtl
+         OrderedBits primitive PrimitiveArray QuickCheck singletons strict
+         template-haskell th-orphans transformers tuple vector
        ];
        testHaskellDepends = [
-         base bits OrderedBits PrimitiveArray QuickCheck strict tasty
-         tasty-quickcheck tasty-th vector
+         base bits containers deepseq DPutils ghc-prim mmorph mtl
+         OrderedBits primitive PrimitiveArray QuickCheck singletons strict
+         tasty tasty-quickcheck tasty-th template-haskell th-orphans
+         transformers tuple vector
        ];
        description = "Efficient, high-level dynamic programming";
        license = stdenv.lib.licenses.bsd3;
@@ -722,19 +724,53 @@ self: {
        broken = true;
      }) {};
 
+  "Advise-me" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, convertible
+     , directory, filepath, HDBC, HDBC-sqlite3, http-types, ideas
+     , ideas-math-types, lens, mtl, optparse-applicative, parsec
+     , QuickCheck, random, semigroups, sqlite-simple, text, time
+     , uniplate, wai, wai-extra, wl-pprint, xlsx
+     }:
+     mkDerivation {
+       pname = "Advise-me";
+       version = "0.1";
+       sha256 = "1ddzzrbydx0xaqian1s8m4asj079c3vmhb0s7s05f9g1nm6a8qfq";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers convertible directory filepath
+         HDBC HDBC-sqlite3 ideas ideas-math-types lens mtl parsec QuickCheck
+         random semigroups sqlite-simple text time uniplate wl-pprint xlsx
+       ];
+       executableHaskellDepends = [
+         base bytestring containers convertible directory filepath HDBC
+         HDBC-sqlite3 http-types ideas ideas-math-types mtl
+         optparse-applicative parsec QuickCheck random sqlite-simple text
+         time uniplate wai wai-extra wl-pprint
+       ];
+       description = "Assessment services for the Advise-Me project";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "AesonBson" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit, text
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit
+     , QuickCheck, scientific, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "AesonBson";
-       version = "0.2.2";
-       sha256 = "1p7636bjczcwwi2c0cdzvpj95vx2fr27qnmh8pcs8hqgmisagq8s";
+       version = "0.4.0";
+       sha256 = "08ffz1fr8x5z3ipvk99wc5n363ghxrq1z0cv1yh57wx18ialk1cx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bson unordered-containers vector
+         aeson attoparsec base bson scientific text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bson hspec HUnit QuickCheck scientific text
        ];
-       testHaskellDepends = [ aeson base bson hspec HUnit text ];
        description = "Mapping between Aeson's JSON and Bson objects";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -1476,6 +1512,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
@@ -1573,8 +1611,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseEnsembl";
-       version = "0.1.0.0";
-       sha256 = "1knbi8azq5n8kdgmbx4f2d14x6z94vj540ickq4dcspmbvslr0kf";
+       version = "0.2.0.0";
+       sha256 = "0nfgadp5708rb3yzsq0cgiqkpv0rnh3fqil118zlw8akq61rd1m3";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring cereal containers deepseq
          directory either-unwrap text vector word8
@@ -1635,8 +1673,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
@@ -2000,6 +2038,8 @@ self: {
        pname = "BlogLiterately";
        version = "0.8.6.3";
        sha256 = "02a4mjz9lbx19plkanmdlm730dwphkdi79a5b5hcnrbilcy8k71n";
+       revision = "1";
+       editedCabalFile = "1nhnrchv8lr1clbsfyya4xfqy8qdi8wrfp8364anaq7mpfnslxws";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -2966,8 +3006,8 @@ self: {
      }:
      mkDerivation {
        pname = "ChasingBottoms";
-       version = "1.3.1.6";
-       sha256 = "17lw2mdzrn2f4w0byfdkyd7h7pcnjzv3n3giapcjg6bza5xjqfbd";
+       version = "1.3.1.7";
+       sha256 = "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan";
        libraryHaskellDepends = [
          base containers mtl QuickCheck random syb
        ];
@@ -3128,12 +3168,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";
@@ -5172,12 +5214,13 @@ self: {
      }) {};
 
   "Enum" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, smallcheck, tasty, tasty-hunit }:
      mkDerivation {
        pname = "Enum";
-       version = "0.1.0.0";
-       sha256 = "1zl5w5w3rqbh4awp4b4rbamkqcvnrzn944rjc84sq3rqad3wlww2";
+       version = "0.2.0.0";
+       sha256 = "0bk44zim92b5qb95byvcyy8cmbgzbxf06mp0nr765p9v48rjkr91";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base smallcheck tasty tasty-hunit ];
        description = "Non-crashing `Enum` operations";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -5999,8 +6042,8 @@ self: {
      }:
      mkDerivation {
        pname = "FontyFruity";
-       version = "0.5.3.4";
-       sha256 = "0gavpjv83vg5q2x254d3zi3kw5aprl6z8ifcn0vs6hymaj0qgls3";
+       version = "0.5.3.5";
+       sha256 = "16hafvgfmxjv6bl67f3691n2ci3k89pbh0296vfwf9jk7ah5psrd";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq directory filepath text
          vector xml
@@ -6096,28 +6139,23 @@ self: {
 
   "FormalGrammars" = callPackage
     ({ mkDerivation, ADPfusion, ansi-wl-pprint, base, bytestring
-     , cmdargs, containers, data-default, HaTeX, lens, mtl, parsers
-     , PrimitiveArray, QuickCheck, semigroups, smallcheck, tasty
-     , tasty-quickcheck, tasty-smallcheck, tasty-th, template-haskell
-     , text, transformers, trifecta, unordered-containers, vector
+     , containers, data-default, lens, mtl, parsers, PrimitiveArray
+     , semigroups, template-haskell, text, transformers, trifecta
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "FormalGrammars";
-       version = "0.3.1.2";
-       sha256 = "02c80cjn4cprkcyd6vyjp7d0q9180cv0ajf6gj4x7ai5n4z2fl1q";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.4.0.0";
+       sha256 = "1gl0z40g8vc52zhjzdysrzgjyj5qrwhh6dnzkpfj83m13zahhy1p";
        libraryHaskellDepends = [
          ADPfusion ansi-wl-pprint base bytestring containers data-default
-         HaTeX lens mtl parsers PrimitiveArray semigroups template-haskell
-         text transformers trifecta unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base cmdargs trifecta
+         lens mtl parsers PrimitiveArray semigroups template-haskell text
+         transformers trifecta unordered-containers vector
        ];
        testHaskellDepends = [
-         base QuickCheck smallcheck tasty tasty-quickcheck tasty-smallcheck
-         tasty-th
+         ADPfusion ansi-wl-pprint base bytestring containers data-default
+         lens mtl parsers PrimitiveArray semigroups template-haskell text
+         transformers trifecta unordered-containers vector
        ];
        description = "(Context-free) grammars in formal language theory";
        license = stdenv.lib.licenses.gpl3;
@@ -6302,15 +6340,13 @@ self: {
      }:
      mkDerivation {
        pname = "Frames-map-reduce";
-       version = "0.1.0.1";
-       sha256 = "1m3ifx867hn4zhrj9xlars44w3sv1sp6ja38kb6f3lnhr86nf8g2";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0.0";
+       sha256 = "1gdp4xi90vq6rdcvwk2b18ip6ba4rhkn8cv737w0m8j77vvb5plx";
        libraryHaskellDepends = [
          base containers foldl Frames hashable map-reduce-folds newtype
          profunctors vinyl
        ];
-       executableHaskellDepends = [ base foldl Frames random text vinyl ];
+       testHaskellDepends = [ base foldl Frames random text vinyl ];
        description = "Frames wrapper for map-reduce-folds and some extra folds helpers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -6469,6 +6505,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "GLFW-b_3_3_0_0" = callPackage
+    ({ mkDerivation, array, base, bindings-GLFW, deepseq, HUnit
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "GLFW-b";
+       version = "3.3.0.0";
+       sha256 = "1xh6nnm4c7bjvbr62rw7vv86p0r76vrqhdbm89vmcs51jk92yxv4";
+       libraryHaskellDepends = [ array base bindings-GLFW deepseq ];
+       testHaskellDepends = [
+         array base bindings-GLFW deepseq HUnit test-framework
+         test-framework-hunit
+       ];
+       description = "Bindings to GLFW OpenGL library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "GLFW-b-demo" = callPackage
     ({ mkDerivation, base, GLFW-b, mtl, OpenGL, pretty, stm
      , transformers
@@ -7263,8 +7317,8 @@ self: {
      }:
      mkDerivation {
        pname = "GrammarProducts";
-       version = "0.1.1.3";
-       sha256 = "1mr5pdm0nprs997vq7xdk7f5m85pdyncgs8qnfy2fjcs5zl8zzr0";
+       version = "0.2.0.0";
+       sha256 = "15iqga816zkc9fwfb4aiab6xjs84z56v9fm2jxbhvigvadd153bj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -7272,6 +7326,7 @@ self: {
          FormalGrammars lens newtype parsers PrimitiveArray semigroups
          template-haskell transformers trifecta
        ];
+       testHaskellDepends = [ base ];
        description = "Grammar products and higher-dimensional grammars";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -7751,8 +7806,8 @@ self: {
      }:
      mkDerivation {
        pname = "HDBC";
-       version = "2.4.0.2";
-       sha256 = "0nnvfyivmw5pykbna953yb6z4al1ak5vsd308lpsyv2bczymf1v7";
+       version = "2.4.0.3";
+       sha256 = "0vv2l99wpm2azm1wmbiqvra5aw708rsldd8y4fdf660q7lgvqqqy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -7800,15 +7855,16 @@ self: {
      }) {inherit (pkgs) unixODBC;};
 
   "HDBC-postgresql" = callPackage
-    ({ mkDerivation, base, bytestring, convertible, HDBC, mtl, old-time
-     , parsec, postgresql, time, utf8-string
+    ({ mkDerivation, base, bytestring, Cabal, convertible, HDBC, mtl
+     , old-time, parsec, postgresql, time, utf8-string
      }:
      mkDerivation {
        pname = "HDBC-postgresql";
-       version = "2.3.2.6";
-       sha256 = "1kas80zv3vbqq9cd73w87fj4mwxcphfmf7ycfnl4jwdzpqjzr0yj";
+       version = "2.3.2.7";
+       sha256 = "0mfx172lrhwxx6gbqfqji8m14llng76x0mxksm3s556kakvv1cgg";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring convertible HDBC mtl old-time parsec time
          utf8-string
@@ -7977,12 +8033,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;
@@ -9179,6 +9235,42 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
+  "HTF_0_14_0_3" = 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.3";
+       sha256 = "138gh5a2nx25czhp9qpaav2lq7ff142q4n6sbkrglfsyn48rifqp";
+       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
@@ -9451,6 +9543,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "HaTeX_3_22_0_0" = callPackage
+    ({ mkDerivation, base, bibtex, bytestring, containers, hashable
+     , matrix, parsec, prettyprinter, QuickCheck, tasty
+     , tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "HaTeX";
+       version = "3.22.0.0";
+       sha256 = "06n5r66giqwg9235fdzlky181ll1n7qlqhc9nv8gsb8dv9a6a6yv";
+       libraryHaskellDepends = [
+         base bibtex bytestring containers hashable matrix parsec
+         prettyprinter QuickCheck text transformers
+       ];
+       testHaskellDepends = [
+         base parsec QuickCheck tasty tasty-quickcheck text
+       ];
+       description = "The Haskell LaTeX library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HaTeX-meta" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
      , haddock, haskell-src-exts, mtl, parsec
@@ -10637,14 +10750,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "HsYAML_0_2_0_0" = callPackage
+  "HsYAML_0_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, mtl, parsec
      , QuickCheck, tasty, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "HsYAML";
-       version = "0.2.0.0";
-       sha256 = "1x8zrnaqvfkap4q2gldj0y4q63kbjka8383s5k4mb0ka1n3dfqhq";
+       version = "0.2.1.0";
+       sha256 = "10qzhsg789h37q22hm9p27dx4rhbykcbxp7p3pvkws8fr7ajgxv0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -10660,16 +10773,16 @@ self: {
      }) {};
 
   "HsYAML-aeson" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, HsYAML, mtl, text, vector
+    ({ mkDerivation, aeson, base, bytestring, containers, HsYAML, mtl
+     , scientific, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "HsYAML-aeson";
-       version = "0.1.0.0";
-       sha256 = "1hf1gwa89ghd4aaim6g8dx9wppp6d1y0w1xiddm1r8lpfidca1nw";
-       revision = "1";
-       editedCabalFile = "1kf35mnvc2syly35c2ffl8xxcw4h6lxv9kqirzj2in1ms19df41y";
+       version = "0.2.0.0";
+       sha256 = "12sxww260pc0bbpiyirm7911haxhljdi2f08a9ddpbgw8d5n7ffg";
        libraryHaskellDepends = [
-         aeson base bytestring HsYAML mtl text vector
+         aeson base bytestring containers HsYAML mtl scientific text
+         unordered-containers vector
        ];
        description = "JSON to YAML Adapter";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -11041,6 +11154,20 @@ self: {
        broken = true;
      }) {};
 
+  "IntFormats" = callPackage
+    ({ mkDerivation, base, hspec, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "IntFormats";
+       version = "0.1.0.0";
+       sha256 = "1w8frx6w29lxwq094vx7bk1pxi48m3qva3h2wxyl4f6w2k0l3hck";
+       libraryHaskellDepends = [ base parsec QuickCheck ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "Convert integers in various bases to and from strings";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "IntGraph" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -11053,6 +11180,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "InternedData" = callPackage
+    ({ mkDerivation, aeson, base, bimaps, binary, bytestring, cereal
+     , cereal-text, compact, containers, criterion, deepseq, hashable
+     , QuickCheck, string-conversions, tasty, tasty-quickcheck, tasty-th
+     , text, text-binary, utf8-string, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "InternedData";
+       version = "0.0.0.1";
+       sha256 = "0wyxh6hzhxgia66knwbpbkjhx4zk3fw6dswqzfxir0i4bqdn35xx";
+       libraryHaskellDepends = [
+         aeson base bimaps binary bytestring cereal cereal-text compact
+         deepseq hashable string-conversions text text-binary utf8-string
+         vector-th-unbox
+       ];
+       testHaskellDepends = [
+         aeson base binary cereal QuickCheck string-conversions tasty
+         tasty-quickcheck tasty-th
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq text
+       ];
+       description = "Data interning (with compact regions where possible)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "Interpolation" = callPackage
     ({ mkDerivation, base, haskell-src-meta, syb, template-haskell }:
      mkDerivation {
@@ -11378,8 +11531,8 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels";
-       version = "3.3.3.1";
-       sha256 = "1zwp78zk4ybaqg57njhww67x3bb75h1i3rdliz40q4p4050gn6mf";
+       version = "3.3.4";
+       sha256 = "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq mtl primitive
          transformers vector zlib
@@ -11831,6 +11984,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openldap;};
 
+  "LDAPv3" = callPackage
+    ({ mkDerivation, base, base-encoding, binary, bytestring
+     , containers, deepseq, int-cast, newtype, parsec
+     , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, text
+     , text-short
+     }:
+     mkDerivation {
+       pname = "LDAPv3";
+       version = "0.1.0.0";
+       sha256 = "1zsl14qd7vzgvkz77mgdl5fyh4444gw3vjl443d09wra087j94bx";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq int-cast newtype parsec
+         text text-short
+       ];
+       testHaskellDepends = [
+         base base-encoding binary bytestring containers deepseq int-cast
+         newtype parsec quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck text text-short
+       ];
+       description = "Lightweight Directory Access Protocol (LDAP) version 3";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "LParse" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -12310,8 +12486,10 @@ self: {
      }:
      mkDerivation {
        pname = "ListLike";
-       version = "4.6.2";
-       sha256 = "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh";
+       version = "4.6.3";
+       sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
+       revision = "1";
+       editedCabalFile = "1xi5mlk6jm73fdxsjcp41ffr3ygwwykcjf20c122k7hgpkzg1lms";
        libraryHaskellDepends = [
          array base bytestring containers deepseq dlist fmlist text
          utf8-string vector
@@ -12705,15 +12883,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
@@ -12753,14 +12931,16 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.1.2.0";
-       sha256 = "1fvs9im82ylfij01cn2pb21wycvb6wsj8dayaj34g3av82g9dagw";
+       version = "0.1.3.2";
+       sha256 = "03bc7mswiw5n76g34pll6dgz7f46l9gafl1bfanv74p21xjr829g";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Class of key-value maps";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Mapping" = callPackage
@@ -12894,8 +13074,8 @@ self: {
     ({ mkDerivation, base, newtype-generics }:
      mkDerivation {
        pname = "MemoTrie";
-       version = "0.6.9";
-       sha256 = "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x";
+       version = "0.6.10";
+       sha256 = "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base newtype-generics ];
@@ -13008,10 +13188,8 @@ self: {
      }:
      mkDerivation {
        pname = "MiniAgda";
-       version = "0.2019.3.29";
-       sha256 = "1lix2p2ly6pjag1gkqfjfdm1jnq5rd9hqgr940jbkgyna75hk9a9";
-       revision = "1";
-       editedCabalFile = "1hiz5g69n1fwknwq7lhq01kzn4cm53zd6l62r747pdc30xm04rqr";
+       version = "0.2019.12.13";
+       sha256 = "15v5yijhylrwy0lc4n9a8p75dadr9xc57xajgir3jg618l0wh5lc";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -13345,18 +13523,20 @@ self: {
      }) {};
 
   "Monadoro" = callPackage
-    ({ mkDerivation, ansi-terminal, base, doctest, time }:
+    ({ mkDerivation, ansi-terminal, base, doctest, process, time }:
      mkDerivation {
        pname = "Monadoro";
-       version = "0.2.1.5";
-       sha256 = "1k4f7ks0cbyqz2g6y5kdzrlbx2j3xz7mrvj79k2m3lbhs4hcik6l";
+       version = "0.2.1.11";
+       sha256 = "1vf1g298kygjkqxm99w2dnfd6a6iz0fnkzz0km95isnl0pdfgfnk";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ ansi-terminal base time ];
-       executableHaskellDepends = [ ansi-terminal base time ];
-       testHaskellDepends = [ ansi-terminal base doctest time ];
+       libraryHaskellDepends = [ ansi-terminal base process time ];
+       executableHaskellDepends = [ ansi-terminal base process time ];
+       testHaskellDepends = [ ansi-terminal base doctest process time ];
        description = "A minimalistic CLI Pomodoro timer";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Monaris" = callPackage
@@ -13774,25 +13954,28 @@ self: {
      }) {};
 
   "NaturalLanguageAlphabets" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, binary, cereal
-     , containers, criterion, deepseq, file-embed, hashtables
-     , LinguisticsTypes, mwc-random, QuickCheck, random, tasty
-     , tasty-quickcheck, tasty-th, text, unordered-containers, vector
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, binary, bytestring
+     , cereal, containers, criterion, deepseq, errors, file-embed
+     , hashable, hashtables, InternedData, lens, mtl, mwc-random
+     , parsers, QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th, text, transformers, trifecta, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "NaturalLanguageAlphabets";
-       version = "0.1.1.0";
-       sha256 = "12yv4fp9wd8crlz17kfa4h6ccv1amgk0an51g2r8vx6nrgvnkl7z";
+       version = "0.2.1.0";
+       sha256 = "11iybvgzzpaxlwgq71hqpl24f5xymzvnbb7m530wwg3fb9wdkd1y";
        libraryHaskellDepends = [
-         aeson attoparsec base file-embed LinguisticsTypes text
-         unordered-containers
+         aeson ansi-wl-pprint base bytestring containers errors file-embed
+         hashable InternedData lens mtl parsers text transformers trifecta
+         unordered-containers utf8-string
        ];
        testHaskellDepends = [
-         aeson base binary cereal LinguisticsTypes QuickCheck tasty
-         tasty-quickcheck tasty-th text unordered-containers
+         aeson base binary cereal InternedData mtl QuickCheck tasty
+         tasty-hunit tasty-quickcheck tasty-th text unordered-containers
        ];
        benchmarkHaskellDepends = [
-         base containers criterion deepseq hashtables LinguisticsTypes
+         base containers criterion deepseq hashtables InternedData
          mwc-random random unordered-containers vector
        ];
        description = "Simple scoring schemes for word alignments";
@@ -13892,7 +14075,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) net_snmp;};
+     }) {net_snmp = null;};
 
   "Network-NineP" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
@@ -13901,8 +14084,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.5";
-       sha256 = "1s11idqg8bvimhal86569wlw746cyyq67dxvvabnbn3q23mjkflh";
+       version = "0.4.6";
+       sha256 = "0aq8888z0fcsd18shsqjsgrpxm417cfh250vyd2660ajc0ymj3q3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -14640,8 +14823,8 @@ self: {
      }:
      mkDerivation {
        pname = "OpenGLRaw";
-       version = "3.3.3.0";
-       sha256 = "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx";
+       version = "3.3.4.0";
+       sha256 = "0gmsmysqzpm13qnyq4vvqxm4dzw25nayfd9wi5x645pympm6jqbm";
        libraryHaskellDepends = [
          base bytestring containers fixed half text transformers
        ];
@@ -14927,6 +15110,8 @@ self: {
        pname = "PSQueue";
        version = "1.1.0.1";
        sha256 = "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza";
+       revision = "1";
+       editedCabalFile = "0pswr49mg0ww0w579w4qsv5hjgcnsswdi283lxk6cvxw3wafif07";
        libraryHaskellDepends = [ base ];
        description = "Priority Search Queue";
        license = stdenv.lib.licenses.bsd3;
@@ -15803,8 +15988,8 @@ self: {
      }:
      mkDerivation {
        pname = "PyF";
-       version = "0.8.1.0";
-       sha256 = "10zmw6ircqq53jvkmpqdf7sqf1pgc85m4w2k981jwbhpc3dycgrb";
+       version = "0.8.1.2";
+       sha256 = "00rvzfv2xa9ibcsx6y3cpmckl2mlsmck519mp4zqllxwn1nzbb52";
        libraryHaskellDepends = [
          base containers haskell-src-exts haskell-src-meta megaparsec mtl
          template-haskell text
@@ -15816,8 +16001,6 @@ self: {
        testToolDepends = [ python3 ];
        description = "Quasiquotations for a python like interpolated string formater";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) python3;};
 
   "QIO" = callPackage
@@ -15961,8 +16144,8 @@ self: {
     ({ mkDerivation, base, mtl, QuickCheck, random }:
      mkDerivation {
        pname = "QuickCheck-GenT";
-       version = "0.2.0";
-       sha256 = "0vbc4zw9f03hm6mnlkiymp75yi9knar12zyyrchlr8792acwlcrd";
+       version = "0.2.2";
+       sha256 = "0bn594bgvavbphm5543kqljcc7hgxk4ir0fcdjw399sbfaxpn5yz";
        libraryHaskellDepends = [ base mtl QuickCheck random ];
        description = "A GenT monad transformer for QuickCheck library";
        license = stdenv.lib.licenses.mit;
@@ -16040,15 +16223,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;
@@ -16336,6 +16518,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "RSA_2_4_1" = callPackage
+    ({ mkDerivation, base, binary, bytestring, crypto-api
+     , crypto-pubkey-types, QuickCheck, SHA, tagged, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "RSA";
+       version = "2.4.1";
+       sha256 = "0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj";
+       libraryHaskellDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types SHA
+       ];
+       testHaskellDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types QuickCheck
+         SHA tagged test-framework test-framework-quickcheck2
+       ];
+       description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "RSolve" = callPackage
     ({ mkDerivation, base, containers, lens, mtl }:
      mkDerivation {
@@ -16509,8 +16712,8 @@ self: {
      }:
      mkDerivation {
        pname = "Rasterific";
-       version = "0.7.4.4";
-       sha256 = "1s8d0yyh2xz8kb9476nr11jzxvgq0y9sgspgzhh9shf44fbz4gs0";
+       version = "0.7.5";
+       sha256 = "158s0w95x0yxhffcccvhil827jmv7mmbh65nbg8qypvw9j4ldb9j";
        libraryHaskellDepends = [
          base bytestring containers dlist FontyFruity free JuicyPixels mtl
          primitive transformers vector vector-algorithms
@@ -16775,6 +16978,8 @@ self: {
        ];
        description = "Library for accessing S3 compatible storage services";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "SBench" = callPackage
@@ -17366,6 +17571,8 @@ self: {
        pname = "SciBaseTypes";
        version = "0.1.0.0";
        sha256 = "1c0cgzxhamgswn1zhrarbx5vrmzl160nk8dadzi6mphwd2rv6lfr";
+       revision = "1";
+       editedCabalFile = "025v2s4097mzqyf5bzzz2xnxcc4nckcvaz72pnrxs3d8bbszd26i";
        libraryHaskellDepends = [
          aeson base binary cereal deepseq hashable lens log-domain mtl
          semirings vector vector-th-unbox
@@ -17473,8 +17680,8 @@ self: {
        pname = "SecureHash-SHA3";
        version = "0.1.1.0";
        sha256 = "0dva3bzfzyzh8kxljyipd041a2w1zhxjvxmhnw2mlv2jcywnk2hz";
-       revision = "1";
-       editedCabalFile = "034vwq9cfqjj6hj2nf5g8n2p5gsxpdgp6gwgsmi40klracl5ps5s";
+       revision = "2";
+       editedCabalFile = "0rvalvvjadb0i0rh9z5lgw2hca4a9yw3cg2f6gcx7h30f5dp8x1j";
        libraryHaskellDepends = [ base bytestring ];
        description = "simple static linked SHA3 using private symbols and the ref impl";
        license = stdenv.lib.licenses.bsd2;
@@ -18384,17 +18591,16 @@ self: {
      }) {};
 
   "StockholmAlignment" = callPackage
-    ({ mkDerivation, base, colour, diagrams-cairo, diagrams-lib
-     , directory, either-unwrap, filepath, parsec, ParsecTools, SVGFonts
-     , text, vector
+    ({ mkDerivation, base, directory, either-unwrap, filepath, parsec
+     , ParsecTools, text, vector
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.2";
-       sha256 = "1x41m0xcmz9j4gypbl4pi6a6v53j6v37ndl8g5rq60fqfl18hizb";
+       version = "1.3.0";
+       sha256 = "1wc23pmcw246na7zwd6ka6v00kxn754pr3b069y7zn8l0lxby45p";
        libraryHaskellDepends = [
-         base colour diagrams-cairo diagrams-lib directory either-unwrap
-         filepath parsec ParsecTools SVGFonts text vector
+         base directory either-unwrap filepath parsec ParsecTools text
+         vector
        ];
        description = "Libary for Stockholm aligmnent format";
        license = stdenv.lib.licenses.gpl3;
@@ -18457,8 +18663,8 @@ self: {
        pname = "Strafunski-StrategyLib";
        version = "5.0.1.0";
        sha256 = "15d2m7ahb3jwriariaff0yz93mmrhpv579wink9838w9091cf650";
-       revision = "1";
-       editedCabalFile = "1hngxq1f7fybg6ixkdhmvgsw608mhnxkwbw04ql5zspcfl78v6l2";
+       revision = "2";
+       editedCabalFile = "1g9ksfgcz8fjasn78zq7w1yw9wk87i4gd5i0pf31gnf4l3963yz8";
        libraryHaskellDepends = [ base directory mtl syb transformers ];
        description = "Library for strategic programming";
        license = stdenv.lib.licenses.bsd3;
@@ -18525,15 +18731,15 @@ self: {
      }:
      mkDerivation {
        pname = "StrictCheck";
-       version = "0.2.0";
-       sha256 = "11gr15c17134fddh3ms9m1z0hjsf8dqhk2z7vvd61gfzzpcx5xms";
+       version = "0.3.0";
+       sha256 = "16p1njy866gsg8jxyhx91x8nq67cr5w61fhqwffh6fyfhcybm2ag";
        libraryHaskellDepends = [
          base bifunctors containers generics-sop QuickCheck template-haskell
        ];
        testHaskellDepends = [
          base deepseq generics-sop HUnit QuickCheck
        ];
-       description = "Keep Your Laziness In Check";
+       description = "StrictCheck: Keep Your Laziness In Check";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -18887,14 +19093,14 @@ self: {
 
   "Taxonomy" = callPackage
     ({ mkDerivation, aeson, base, bytestring, either-unwrap, fgl
-     , graphviz, parsec, text, vector
+     , parsec, text, vector
      }:
      mkDerivation {
        pname = "Taxonomy";
-       version = "1.0.3";
-       sha256 = "0w4j1v2l7c8a8x0rpvq1gxbvjcw83kj84m5bw6bwx3x6gc997xxn";
+       version = "2.1.0";
+       sha256 = "1l64ma631q1gh57gwg09mpxz66hkhqbc9f9dn2bhy681p8ia7j50";
        libraryHaskellDepends = [
-         aeson base bytestring either-unwrap fgl graphviz parsec text vector
+         aeson base bytestring either-unwrap fgl parsec text vector
        ];
        description = "Libary for parsing, processing and vizualization of taxonomy data";
        license = stdenv.lib.licenses.gpl3;
@@ -20199,12 +20405,12 @@ self: {
        platforms = stdenv.lib.platforms.none;
      }) {};
 
-  "Win32_2_8_3_0" = callPackage
+  "Win32_2_8_4_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.8.3.0";
-       sha256 = "0qsw3z11fsz12s7y9m4w226dlx037d1a0ak5whja4il5z7zbngsr";
+       version = "2.8.4.0";
+       sha256 = "0l6hiwxgv2g72k47g2cc7s704flmwkxbg6hj79jq2idvn6zg2gxg";
        description = "A binding to Windows Win32 API";
        license = stdenv.lib.licenses.bsd3;
        platforms = stdenv.lib.platforms.none;
@@ -20493,10 +20699,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
        ];
@@ -20510,8 +20714,8 @@ self: {
      }:
      mkDerivation {
        pname = "X11";
-       version = "1.9";
-       sha256 = "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh";
+       version = "1.9.1";
+       sha256 = "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm";
        libraryHaskellDepends = [ base data-default ];
        librarySystemDepends = [
          libX11 libXext libXinerama libXrandr libXrender libXScrnSaver
@@ -20872,8 +21076,8 @@ self: {
     ({ mkDerivation, base, deepseq, random, simple-affine-space }:
      mkDerivation {
        pname = "Yampa";
-       version = "0.13";
-       sha256 = "1rxy8vky3wmqn4awr6v7r40ghk6nr27y11jnzbkj1bdp1948irc0";
+       version = "0.13.1";
+       sha256 = "0wx47awmijdrw4alcwd4icfip8702h3riq0nhs8sjfjqsihdz4fb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -21186,12 +21390,14 @@ self: {
     ({ mkDerivation, base, comonad, tasty, tasty-quickcheck }:
      mkDerivation {
        pname = "abides";
-       version = "0.0.0";
-       sha256 = "0bksprm776xqxvizmwxaq996kvwj4gvd4ckwalr72aa2082vzs17";
+       version = "0.0.1";
+       sha256 = "0qw4zlbz92j9m5wnnckmyc7vr5naq41zv1g648b02kb8zp94l7hf";
        libraryHaskellDepends = [ base comonad ];
        testHaskellDepends = [ base comonad tasty tasty-quickcheck ];
        description = "Simple boolean tests to see if a value abides by certain properties";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "abnf" = callPackage
@@ -21845,19 +22051,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.1";
-       sha256 = "0dhzi1f951q2csi8rk393rg81jpd8w9vxwlmg638dknh4i35zg35";
+       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 = [
@@ -22490,8 +22697,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 ];
@@ -22505,8 +22712,8 @@ self: {
        pname = "acme-zalgo";
        version = "0.1.2.1";
        sha256 = "1yd3xrdkxf3hgapi4w5vg79nxmw8y5rnyki5pqi00mca9wjspdhz";
-       revision = "1";
-       editedCabalFile = "1bwpaqqvp8mwpw7966xjn8zhi0rs9iqpwkhkzjxw8c885h45n1za";
+       revision = "2";
+       editedCabalFile = "1l2m9hh6mbc59h17z17gcfzgza25jj912d413pw1q37r3v4y0a1c";
        libraryHaskellDepends = [ array base random ];
        description = "A somewhat flexible Zalgo̐ te̳͜x̥̖̉̓͞t̍̌̔ ̀̃t̴̢̞̜͓̝r̶̬̆̂̒͟á̧̡͎͔̯̰̕n̹̾̓ͬͦ̍͘ṡ̢͓͉ͮ͆l̠̖̹̗̳̖̽̌ͤ͞a͚̭͙̹̲ͭͩt͈͐o̢̭͇͍̟͐ͬ̾ͪ͜r͇.̸̅ͭ̐̀̊ͨ͛";
        license = stdenv.lib.licenses.mit;
@@ -22578,10 +22785,8 @@ self: {
      }:
      mkDerivation {
        pname = "active";
-       version = "0.2.0.13";
-       sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx";
-       revision = "9";
-       editedCabalFile = "1xq08xn26v3zi3fz1y5lhb1q2xv1d413wdg4pibi98n98nc2ypxz";
+       version = "0.2.0.14";
+       sha256 = "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz";
        libraryHaskellDepends = [
          base lens linear semigroupoids semigroups vector
        ];
@@ -22949,6 +23154,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "advent-of-code-api_0_2_7_0" = 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, time-compat
+     }:
+     mkDerivation {
+       pname = "advent-of-code-api";
+       version = "0.2.7.0";
+       sha256 = "0a1h2kwmfnhs1sj7wmnc4hgfwq45d8xl2ah0s6432k13v8lfpxwr";
+       libraryHaskellDepends = [
+         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 time-compat
+       ];
+       testHaskellDepends = [ base directory filepath HUnit text ];
+       description = "Advent of Code REST API bindings and servant API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aern2-mp" = callPackage
     ({ mkDerivation, base, convertible, hspec, integer-logarithms, lens
      , mixed-types-num, QuickCheck, regex-tdfa, rounded
@@ -23034,8 +23262,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
@@ -23196,8 +23424,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-diff";
-       version = "1.1.0.7";
-       sha256 = "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r";
+       version = "1.1.0.8";
+       sha256 = "1pim103mywlhxssrhr0ca0gsvql52g799fk73bdj5h31ziibdsi4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -23237,7 +23465,7 @@ self: {
      }) {};
 
   "aeson-extra" = callPackage
-    ({ mkDerivation, aeson, aeson-compat, align, attoparsec
+    ({ mkDerivation, aeson, aeson-compat, attoparsec
      , attoparsec-iso8601, base, base-compat-batteries, bytestring
      , containers, deepseq, exceptions, hashable, parsec
      , quickcheck-instances, recursion-schemes, scientific, semialign
@@ -23246,10 +23474,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-extra";
-       version = "0.4.1.2";
-       sha256 = "1i6bm91d332117fx829imaxz6y59a0vqa7fjsr293sp8xyhlkkax";
-       revision = "2";
-       editedCabalFile = "0z43xclsy4x3my7p7d1irb40nqvj9z49m7vhkwf3k2n5gxjs6379";
+       version = "0.4.1.3";
+       sha256 = "1k15vkyf635nh904diyg931ziwdngikvp7c9c339pys3savf5qr2";
        libraryHaskellDepends = [
          aeson aeson-compat attoparsec attoparsec-iso8601 base
          base-compat-batteries bytestring containers deepseq exceptions
@@ -23257,7 +23483,7 @@ self: {
          template-haskell text these time unordered-containers vector
        ];
        testHaskellDepends = [
-         align base containers quickcheck-instances tasty tasty-hunit
+         base containers quickcheck-instances tasty tasty-hunit
          tasty-quickcheck time time-parsers unordered-containers vector
        ];
        description = "Extra goodies for aeson";
@@ -23270,8 +23496,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-filthy";
-       version = "0.1.3";
-       sha256 = "121ygm5k9qjizwjj7w5dklxs5sv0zysrnpvwb37ar4bjkcxhs0ap";
+       version = "0.1.4";
+       sha256 = "1mjlgq1h09plpllmh7manbcjnl57pmjap0kz9ahzrpv02zrfkszi";
        libraryHaskellDepends = [
          aeson base bytestring text time unordered-containers
        ];
@@ -23336,16 +23562,17 @@ self: {
   "aeson-gadt-th" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, containers, dependent-map
      , dependent-sum, dependent-sum-template, hspec, HUnit
-     , template-haskell, transformers
+     , template-haskell, th-abstraction, th-extras, transformers
      }:
      mkDerivation {
        pname = "aeson-gadt-th";
-       version = "0.2.1.1";
-       sha256 = "18lkf75pw8lp03bj4b8vknj7ysvbhpix6zkzd86qaq0z3yh6s6jv";
+       version = "0.2.2";
+       sha256 = "1nk0897569cldp7fhzc51mj8f93dx3nwk0fxy2pr41wmrbqrxw1k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers dependent-sum template-haskell transformers
+         aeson base containers dependent-sum template-haskell th-abstraction
+         th-extras transformers
        ];
        executableHaskellDepends = [
          aeson base dependent-map dependent-sum dependent-sum-template
@@ -23355,6 +23582,8 @@ self: {
        ];
        description = "Derivation of Aeson instances for GADTs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-generic-compat" = callPackage
@@ -23464,10 +23693,10 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-optics";
-       version = "1.1";
-       sha256 = "0cyhlhks1zq1h7f49qi1xk094j7zhqfz8p0dpyg18qghppzhlyd8";
+       version = "1.1.0.1";
+       sha256 = "1pfi84cl7w5bp7dwdhcyi8kchvbfjybqcp0sifqrn70dj2b50mf7";
        revision = "1";
-       editedCabalFile = "1ql2zqjcwy744qzydj3gk4qgnj4nzba6j2d5fvi31i5va7vqad2d";
+       editedCabalFile = "08nyfzxcw2j9wkm0cnbw2dl8f3zj2zrv85wrjayqq9v06hqk0dkl";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring optics-core
          optics-extra scientific text unordered-containers vector
@@ -23561,8 +23790,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-pretty";
-       version = "0.8.7";
-       sha256 = "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1";
+       version = "0.8.8";
+       sha256 = "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -23583,8 +23812,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-qq";
-       version = "0.8.2";
-       sha256 = "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd";
+       version = "0.8.3";
+       sha256 = "10plwzz05qc8068av00jak8rcciw99cbxh3lkx522lmzi37jjccg";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat haskell-src-meta parsec
          scientific template-haskell text vector
@@ -23655,8 +23884,10 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-schemas";
-       version = "1.0.2";
-       sha256 = "1f75fk4775gri6qvgkcsfx9v7f832zy76z61wl63q8h0yh6lapxl";
+       version = "1.0.3";
+       sha256 = "0fmhqibw6mw9shxh94riqq465njbgjsv539xb6sx7qpkhcck2csi";
+       revision = "1";
+       editedCabalFile = "19fk0ccb68143mj7ndp6qflksz7vlja0gbmrqqyaf1zr5z0f9q1v";
        libraryHaskellDepends = [
          aeson base bytestring first-class-families megaparsec
          template-haskell text unordered-containers
@@ -23839,6 +24070,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "aeson-yaml" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, string-qq, tasty
+     , tasty-discover, tasty-hunit, text, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "aeson-yaml";
+       version = "1.0.5.0";
+       sha256 = "0cx54xqv2w4lcnnmcwapbizxjzxaf0x2xbr7lbhcy380nx99pi73";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring string-qq tasty tasty-discover tasty-hunit
+         unordered-containers yaml
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Output any Aeson value as YAML (pure Haskell library)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "affection" = callPackage
     ({ mkDerivation, base, bytestring, clock, containers, glib, linear
      , monad-loops, monad-parallel, mtl, OpenGL, sdl2, stm, text, uuid
@@ -23869,6 +24123,8 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Affine spaces (generalized)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "affine-invariant-ensemble-mcmc" = callPackage
@@ -24043,14 +24299,16 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "agum";
-       version = "2.7";
-       sha256 = "1x1yd2wxff2am7g50nvwmk4slw6p31zl61mlm8rdgcjbds4a2qrk";
+       version = "2.8";
+       sha256 = "17x0vbmfzrg5r99c8qdw5np63k1gaqr4q9ab93cpga2wk42pwlrl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers ];
        executableHaskellDepends = [ base containers ];
        description = "Unification and Matching in an Abelian Group";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "aig" = callPackage
@@ -24061,6 +24319,8 @@ self: {
        pname = "aig";
        version = "0.2.6";
        sha256 = "1xcwchzsz6kxd6b0bqqmfhyrjsmqyikrf5qdry81y6p5bphk098i";
+       revision = "1";
+       editedCabalFile = "03i6jnmzjkzh7hwfy2r93dcz2b5vw5s9x3z8nzcicr729rp7mydp";
        libraryHaskellDepends = [ base base-compat mtl QuickCheck vector ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-ant-xml tasty-quickcheck
@@ -24519,8 +24779,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.4";
-       sha256 = "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm";
+       version = "3.2.5";
+       sha256 = "1qz0ar9dl0zx42y1gbpd2yx09nbwxs8nw6mjmpi68z3nf098lz5p";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -24565,16 +24825,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
@@ -24598,14 +24863,29 @@ self: {
      }) {};
 
   "alg" = callPackage
-    ({ mkDerivation, base, util }:
+    ({ mkDerivation, base, dual, util }:
      mkDerivation {
        pname = "alg";
-       version = "0.2.10.0";
-       sha256 = "1zpr3knnj37fwi6h7mlxdlm88iy47srx1nkhgkix3f81ig9hlzd9";
-       libraryHaskellDepends = [ base util ];
+       version = "0.2.13.0";
+       sha256 = "1xv9nr21jvgk94d0cdc3xlp0fs7v3h4gcrx45aaqm6d2203lshz0";
+       libraryHaskellDepends = [ base dual util ];
        description = "Algebraic structures";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "alg_0_2_13_1" = callPackage
+    ({ mkDerivation, base, dual, util }:
+     mkDerivation {
+       pname = "alg";
+       version = "0.2.13.1";
+       sha256 = "0764j2njb86qdskck3nvbrh61v99hqdhf8aj9irblm6smdlrv4l3";
+       libraryHaskellDepends = [ base dual util ];
+       description = "Algebraic structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "alga" = callPackage
@@ -25268,6 +25548,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 {
@@ -25357,6 +25653,8 @@ self: {
        pname = "amazonka";
        version = "1.6.1";
        sha256 = "104ifvmwdc1w3y42qcbq57v579zcnmlfv3f0bsazbcqdxnvr9dzd";
+       revision = "1";
+       editedCabalFile = "0xn4wy5gb1h4f4wd2h5ic17nb6ilikmsp1qip6xxc3img5rmaqyq";
        libraryHaskellDepends = [
          amazonka-core base bytestring conduit conduit-extra directory
          exceptions http-client http-conduit http-types ini mmorph
@@ -25977,6 +26275,8 @@ self: {
        pname = "amazonka-core";
        version = "1.6.1";
        sha256 = "0hx250dja1l4n4y5115w0qngzlqj8f6p861sdaykh0yjm4nzb621";
+       revision = "1";
+       editedCabalFile = "1656dyw6fk3gvph6v3xzvdp3p8xny3ji0gxg7qxvmvn60gj9ricv";
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors bytestring case-insensitive
          conduit conduit-extra cryptonite deepseq exceptions hashable
@@ -27296,8 +27596,8 @@ self: {
      }:
      mkDerivation {
        pname = "amazonka-s3-streaming";
-       version = "1.0.0.2";
-       sha256 = "1k7l49h3zdqw3va70mr4rrmsyjpbzgbnr3bhj7yl24np77r6cs99";
+       version = "1.1.0.0";
+       sha256 = "0w5jqqc6m1cnhwdhyfb2k5kc9fzn499y2s9jkpsfqxpqynsivlwa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -27857,6 +28157,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "amqp_0_19_0" = callPackage
+    ({ mkDerivation, base, binary, bytestring, clock, connection
+     , containers, data-binary-ieee754, hspec, hspec-expectations
+     , monad-control, network, network-uri, split, stm, text, vector
+     , xml
+     }:
+     mkDerivation {
+       pname = "amqp";
+       version = "0.19.0";
+       sha256 = "1v2jwf9y6mw9f89a9ca66p42da8g5n1ain89gjr7sv6v6r2jxinj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 monad-control network network-uri split stm
+         text vector
+       ];
+       executableHaskellDepends = [ base containers xml ];
+       testHaskellDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 hspec hspec-expectations network network-uri
+         split stm text vector
+       ];
+       description = "Client library for AMQP servers (currently only RabbitMQ)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amqp-conduit" = callPackage
     ({ mkDerivation, amqp, base, bytestring, conduit, exceptions, hspec
      , HUnit, lifted-base, monad-control, mtl, resourcet, text
@@ -27881,18 +28209,19 @@ self: {
 
   "amqp-utils" = callPackage
     ({ mkDerivation, amqp, base, bytestring, connection, containers
-     , data-default-class, hinotify, magic, process, text, time, tls
-     , unix, x509-system
+     , data-default-class, directory, hinotify, magic, network, process
+     , text, time, tls, unix, utf8-string, x509-system
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.3.7.1";
-       sha256 = "1z7jf7ai7r2rlnwylqs60pqcz0h4dxj4g372c919lcvinmql1yfx";
+       version = "0.4.2.0";
+       sha256 = "1fycix8q5mbx975jwv659d0ag4h6yk7a6saxn4jy1xi8z8qsvdjr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          amqp base bytestring connection containers data-default-class
-         hinotify magic process text time tls unix x509-system
+         directory hinotify magic network process text time tls unix
+         utf8-string x509-system
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
@@ -27930,8 +28259,8 @@ self: {
     ({ mkDerivation, base, deepseq, parsec }:
      mkDerivation {
        pname = "amrun";
-       version = "0.0.0.5";
-       sha256 = "1y0azhsjarv26lkny1wckdz45bs87wbga29hbg6w59wc2gjkbxqz";
+       version = "0.0.0.6";
+       sha256 = "01hnjzlww282hjlc6vbn51qps577hx4ll3pz4g5kn0r4h2bylad9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base deepseq parsec ];
@@ -28435,10 +28764,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
@@ -28461,12 +28788,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_10" = callPackage
+  "ansi-terminal_0_10_2" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.10";
-       sha256 = "0l96g8m88qbyhp6mvm895b102jc5z3b85i0fvb4w99x2zj4pnv7y";
+       version = "0.10.2";
+       sha256 = "0h09lia7gqchp023hbgwq4w8bmg33a02chaixdsx8nqbj8jf5558";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -28478,21 +28805,24 @@ 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.4.0.0";
-       sha256 = "1mjc62z7d6gzvwnwg2gsgf42hlv1l2xqpjy9v83my4s945p422lg";
+       version = "1.0.0.0";
+       sha256 = "0h33ih7sxzyp1a6r6ivk73lrfx6haxxzmgh56n75sa7p8vhr8f1i";
+       revision = "1";
+       editedCabalFile = "1x601p97ragf9k56qy1ndmn7g3brs8fvvmf1wcrxz1ynhndqqpjw";
        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;
@@ -28650,8 +28980,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-athena";
-       version = "7.4.2";
-       sha256 = "0mbxg2d5hwd7v17wdqdg61rkhag30pvp84a12bwhjr5ijqhfwbf8";
+       version = "7.4.5";
+       sha256 = "1d2mphqa9jhlrbv6zyc9xpmv4i32r9c05dbdzms9rn22lx456qsl";
        libraryHaskellDepends = [
          amazonka amazonka-athena amazonka-core base lens resourcet text
          unliftio-core
@@ -28671,8 +29001,8 @@ self: {
     ({ mkDerivation, aeson, antiope-s3, avro, base, bytestring, text }:
      mkDerivation {
        pname = "antiope-contract";
-       version = "7.4.2";
-       sha256 = "0p5lahs7vmah0ww87wxrd7pp579zijyb9n2wh4mys8i0qiqq7fq0";
+       version = "7.4.5";
+       sha256 = "1j1kxy8vbrrggp3vac15h1lnd2jqr9h3f4i5pyfid10y2pkxzmqc";
        libraryHaskellDepends = [
          aeson antiope-s3 avro base bytestring text
        ];
@@ -28690,8 +29020,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-core";
-       version = "7.4.2";
-       sha256 = "13s6shrhm2d17dialmpyi40vrdq5qw1zy960hl0g8d1fyg954ipx";
+       version = "7.4.5";
+       sha256 = "1hrjq5vr5r12hfin3qb5q5mh1psldi2x9k4hg0yrx112kffvp45c";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core base bytestring exceptions
          generic-lens http-client http-types lens mtl resourcet text
@@ -28717,8 +29047,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-dynamodb";
-       version = "7.4.2";
-       sha256 = "1wmxq228wr18j4qpxqhrnv8y3yzhy3gpa1daa2zbq5zflbkxjcvf";
+       version = "7.4.5";
+       sha256 = "0zv5r76vg31ybfjl56kli25knrv52z7cv25wzgk8sm6vywn1axif";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-dynamodb antiope-core base
          generic-lens lens text unliftio-core unordered-containers
@@ -28734,6 +29064,25 @@ self: {
        broken = true;
      }) {};
 
+  "antiope-es" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-core
+     , amazonka-elasticsearch, base, bytestring, hspec, hspec-discover
+     , json-stream, lens, thyme, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "antiope-es";
+       version = "7.4.5";
+       sha256 = "1hdcsfgy504831r8816vck422qr087w5479wxy3rrf3rm91d6s2l";
+       libraryHaskellDepends = [
+         aeson amazonka amazonka-core amazonka-elasticsearch base bytestring
+         json-stream lens thyme unordered-containers vector
+       ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "antiope-messages" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, base, bytestring
      , generic-lens, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog
@@ -28742,8 +29091,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-messages";
-       version = "7.4.2";
-       sha256 = "0xlzz9dr06s03pqfra8agy80a3r8593kjcfs0w7b1v6m0ahwi9ip";
+       version = "7.4.5";
+       sha256 = "07dim004vfaq3646z616pvhsxqqp1w8nl3dxm15hw79cw43ib6q6";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core base bytestring generic-lens lens
          lens-aeson monad-loops network-uri text unliftio-core
@@ -28767,8 +29116,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-optparse-applicative";
-       version = "7.4.2";
-       sha256 = "0nvmv0db1v0iw446cy2hfczpsll2if3w0cjmhgr5zgj9l5ja9x1c";
+       version = "7.4.5";
+       sha256 = "1nx6hirkjf6gpqbkjczld6zbml9f5xnvafb6d9lgglwrpcjm67br";
        libraryHaskellDepends = [
          amazonka amazonka-core amazonka-s3 base optparse-applicative text
        ];
@@ -28786,19 +29135,19 @@ self: {
   "antiope-s3" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
      , antiope-core, antiope-messages, attoparsec, base, bytestring
-     , conduit, conduit-extra, exceptions, generic-lens, hedgehog, hspec
-     , hspec-discover, http-types, hw-hspec-hedgehog, lens, mtl
-     , network-uri, resourcet, text, time, unliftio-core
+     , conduit, conduit-extra, deepseq, dlist, exceptions, generic-lens
+     , hedgehog, hspec, hspec-discover, http-types, hw-hspec-hedgehog
+     , lens, mtl, network-uri, resourcet, text, time, unliftio-core
      }:
      mkDerivation {
        pname = "antiope-s3";
-       version = "7.4.2";
-       sha256 = "1gpsc6y18h63wwkawvzwz8qmpw21pqhgpvgnb7apl9jc06xp2v0h";
+       version = "7.4.5";
+       sha256 = "16ras7xk3diaqnqr0dcbwlg4bl51x7kjqwq64l33zxa42bf9wica";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 antiope-core
          antiope-messages attoparsec base bytestring conduit conduit-extra
-         exceptions generic-lens http-types lens mtl network-uri resourcet
-         text time unliftio-core
+         deepseq dlist exceptions generic-lens http-types lens mtl
+         network-uri resourcet text time unliftio-core
        ];
        testHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 antiope-core attoparsec
@@ -28823,8 +29172,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-shell";
-       version = "7.4.2";
-       sha256 = "1xg98dg52qmp8sz2r4b0srh7kasvd411i6wl3cj9m3nngignbab8";
+       version = "7.4.5";
+       sha256 = "1c69crnrqg8jij5z9y9008341ki42r6mjkklm8qpj8xh6c5k50zm";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 antiope-core
          antiope-messages antiope-s3 attoparsec base bytestring exceptions
@@ -28851,8 +29200,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-sns";
-       version = "7.4.2";
-       sha256 = "09g6jsdi20xa43ipb31y5i3afn75gldm0xyr2mqkfyhb8ay6simx";
+       version = "7.4.5";
+       sha256 = "0f3g8hr8i0p5hkr8zvwvmcng5i4ryjw34wj319mrggxayy9kcf69";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-sns base bytestring
          generic-lens lens text time unliftio-core
@@ -28878,8 +29227,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-sqs";
-       version = "7.4.2";
-       sha256 = "044sa2skvbr492bal52ncbsybr9wrkkq5kcvsdaiqwvkpfwq66v0";
+       version = "7.4.5";
+       sha256 = "1q2sq4is1dzqfwq85r9xybw30mgydb6a3ir3xm4mcffv8vs4h3fw";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-sqs base bytestring conduit
          generic-lens lens lens-aeson monad-loops mtl network-uri split text
@@ -28903,8 +29252,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-swf";
-       version = "7.4.2";
-       sha256 = "1zp63q8dd400ll6cl9wsp6rhghzm56rsak8sh5p860adlk49y9il";
+       version = "7.4.4";
+       sha256 = "0b0wlbpn2bq1xwpb6j0knh4aa85a3rri1fhx5v3dqy5w4hy8vn0z";
        libraryHaskellDepends = [ amazonka-swf base lens text ];
        testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
        testToolDepends = [ hspec-discover ];
@@ -29047,8 +29396,8 @@ self: {
      }:
      mkDerivation {
        pname = "aosd";
-       version = "0.2.1";
-       sha256 = "0zma3ypjnqn8c9pk4zfyzzwn27l3wb6l6xnjjydn90fxsmpa1vh6";
+       version = "0.2.2";
+       sha256 = "1lx3afjniaj1dinik8mnqy8aam8ads55k7sr4hjmcqx85xwl4ssx";
        libraryHaskellDepends = [
          base bindings-DSL cairo colour monad-control pango transformers X11
        ];
@@ -29130,8 +29479,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.8.1";
-       sha256 = "10m3lbfg97psnk3z2ml1q9g2ymwa2fnsknrh6ggp9k5c7mskslv0";
+       version = "0.8.2";
+       sha256 = "06dhq7knzxj48563ll7r1srlgq5nd2kbk5fzrf7x6yjp0w2c9kmp";
        libraryHaskellDepends = [
          array base containers mtl template-haskell vector
        ];
@@ -29319,6 +29668,53 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "api-rpc-factom" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring, http-client
+     , http-client-tls, http-conduit, network, servant, servant-client
+     , servant-jsonrpc, servant-jsonrpc-client, stm, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "api-rpc-factom";
+       version = "0.1.3.2";
+       sha256 = "0k4i8asaz1p1fy234w5g4v141nhbndm9wg25x6rmbcgg1q7vsy4y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit network servant servant-client servant-jsonrpc
+         servant-jsonrpc-client text time transformers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring http-client http-conduit stm text time
+       ];
+       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
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring, http-client
+     , http-client-tls, http-conduit, json-alt, network, remote-json
+     , remote-json-client, remote-monad, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "api-rpc-pegnet";
+       version = "0.1.0.0";
+       sha256 = "14jb78bkdd8ywwnks3pvi8ynagsri938znyh9ylvyr5mph9ngmnc";
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit json-alt network remote-json remote-json-client
+         remote-monad text time transformers
+       ];
+       description = "simple json-rpc client for PegNet";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "api-tools" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, alex, array, attoparsec, base
      , base16-bytestring, base64-bytestring, bytestring, Cabal
@@ -30154,14 +30550,14 @@ self: {
 
   "arbor-datadog" = callPackage
     ({ mkDerivation, aeson, auto-update, base, buffer-builder
-     , bytestring, Cabal, dlist, generic-lens, hspec, lens, mtl, network
-     , optparse-applicative, random, resourcet, text, time, transformers
-     , unordered-containers, vector
+     , bytestring, Cabal, dlist, generic-lens, hspec, hspec-discover
+     , lens, mtl, network, optparse-applicative, random, resourcet, text
+     , time, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "arbor-datadog";
-       version = "0.1.0.0";
-       sha256 = "1w7bg8vj10mplfq39klhivj8hfb2cbgw9vhj1h64gm9v2xw25wlq";
+       version = "0.1.0.1";
+       sha256 = "1a6kvrm150kc12mi8sb3j89v5q9siwpqnrfsbcfxw4wq5jrwxsbg";
        libraryHaskellDepends = [
          aeson auto-update base buffer-builder bytestring dlist generic-lens
          lens mtl network optparse-applicative random resourcet text time
@@ -30171,34 +30567,37 @@ self: {
          base Cabal generic-lens hspec lens network resourcet time
          transformers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Datadog client for Haskell";
        license = stdenv.lib.licenses.mit;
      }) {};
 
   "arbor-lru-cache" = callPackage
-    ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
-     , hw-hspec-hedgehog, lens, stm
+    ({ mkDerivation, base, containers, hedgehog, hspec, hspec-discover
+     , hw-hspec-hedgehog, stm
      }:
      mkDerivation {
        pname = "arbor-lru-cache";
-       version = "0.1.1.0";
-       sha256 = "0npyc9knih4qpxayz6wpsgw83rlv4bdw6d2jksrsh7rdxhidyiwg";
-       libraryHaskellDepends = [ base containers generic-lens lens stm ];
+       version = "0.1.1.1";
+       sha256 = "0ayr6d5p7x2b2ggck56skbbzsmf44vrsr5jf3bzhnqwcm1lljbv0";
+       libraryHaskellDepends = [ base containers stm ];
        testHaskellDepends = [
-         base containers generic-lens hedgehog hspec hw-hspec-hedgehog lens
-         stm
+         base containers hedgehog hspec hw-hspec-hedgehog stm
        ];
+       testToolDepends = [ hspec-discover ];
+       description = "LRU cache based on STM";
        license = stdenv.lib.licenses.mit;
      }) {};
 
   "arbor-monad-counter" = callPackage
     ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
-     , hw-hspec-hedgehog, lens, mtl, resourcet, stm, transformers
+     , hspec-discover, hw-hspec-hedgehog, lens, mtl, resourcet, stm
+     , transformers
      }:
      mkDerivation {
        pname = "arbor-monad-counter";
-       version = "2.0.1";
-       sha256 = "0fkf71ml6qfsxjx1p7gqf41q8x55hn8qsbb7nmyai0k0vz0s2yqq";
+       version = "2.0.2";
+       sha256 = "1bfqjbfyr6f11w1g9i45wcnqjpsjs1jwwjij64nq5903m8bsby73";
        libraryHaskellDepends = [
          base containers generic-lens lens mtl resourcet stm transformers
        ];
@@ -30206,17 +30605,24 @@ self: {
          base containers generic-lens hedgehog hspec hw-hspec-hedgehog lens
          mtl resourcet stm transformers
        ];
+       testToolDepends = [ hspec-discover ];
+       description = "Counter library for submitting metrics to a backend such as datadog";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "arbor-monad-logger" = callPackage
     ({ mkDerivation, base, bytestring, fast-logger, hedgehog, hspec
-     , hw-hspec-hedgehog, monad-logger, mtl, optparse-applicative, text
+     , hspec-discover, hw-hspec-hedgehog, monad-logger, mtl
+     , optparse-applicative, text
      }:
      mkDerivation {
        pname = "arbor-monad-logger";
-       version = "0.1.1.1";
-       sha256 = "13lgpr2j2vq2d4mbxl72h86iw5n028m5q0n2hbiz4hgk2yn2f2hs";
+       version = "0.1.1.3";
+       sha256 = "1x44kavmgm7nffvnakyrmcxq03vshg15vkk8wcpvkq43dndk9jb2";
+       revision = "1";
+       editedCabalFile = "0srypscv4gd1q2h6namm507211xd3cnqv144h2pb1mayy20m9a8m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30224,6 +30630,7 @@ self: {
        ];
        executableHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
+       testToolDepends = [ hspec-discover ];
        description = "Simple logging library";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30232,13 +30639,13 @@ self: {
 
   "arbor-monad-metric" = callPackage
     ({ mkDerivation, arbor-datadog, base, bytestring, containers
-     , generic-lens, hedgehog, hspec, hw-hspec-hedgehog, lens, mtl
-     , network, resourcet, stm, text, transformers
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog
+     , lens, mtl, network, resourcet, stm, text, transformers
      }:
      mkDerivation {
        pname = "arbor-monad-metric";
-       version = "1.2.0";
-       sha256 = "0mn6pc5h1rwd3w2cw393skm62yxii21j5f7q9rlpdw7np9xgwfcf";
+       version = "1.2.1";
+       sha256 = "0lrp60nspihvyjzlj8y7ndwkhp1r09rx85mxkal5alcbgg0nzqf7";
        libraryHaskellDepends = [
          base containers generic-lens lens mtl resourcet stm text
          transformers
@@ -30248,6 +30655,7 @@ self: {
          hspec hw-hspec-hedgehog lens mtl network resourcet stm text
          transformers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Core metric library for publishing metrics";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30257,13 +30665,13 @@ self: {
   "arbor-monad-metric-datadog" = callPackage
     ({ mkDerivation, arbor-datadog, arbor-monad-metric, base
      , bytestring, containers, exceptions, fast-logger, generic-lens
-     , hedgehog, hspec, hw-hspec-hedgehog, lens, monad-logger, mtl
-     , network, resourcet, stm, text, transformers
+     , hedgehog, hspec, hspec-discover, hw-hspec-hedgehog, lens
+     , monad-logger, mtl, network, resourcet, stm, text, transformers
      }:
      mkDerivation {
        pname = "arbor-monad-metric-datadog";
-       version = "1.1.0";
-       sha256 = "1ly7vn630vm256jg1b6h39vzd7zv658h7j4vfv4jkdrrcl3jmbr0";
+       version = "1.1.2";
+       sha256 = "1wja13n9k2vad0icqsm8lydrxkgb01062ajm3y1xq7fybn5g6rbx";
        libraryHaskellDepends = [
          arbor-datadog arbor-monad-metric base bytestring containers
          generic-lens lens mtl network resourcet stm text transformers
@@ -30274,6 +30682,7 @@ self: {
          hw-hspec-hedgehog lens monad-logger mtl network resourcet stm text
          transformers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Metric library backend for datadog";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30286,8 +30695,8 @@ self: {
      }:
      mkDerivation {
        pname = "arbor-postgres";
-       version = "0.0.4";
-       sha256 = "0z3n2w9a57sl24i7h4yz8204drwkgr54pr2yrjam4xs3dyx6irf4";
+       version = "0.0.5";
+       sha256 = "0vn3jv60pphjjmhjwn1il3sh886dgdxs47gdiqfrii12hv8rsi21";
        libraryHaskellDepends = [
          base bytestring generic-lens lens network-uri optparse-applicative
          postgresql-simple text
@@ -30379,14 +30788,30 @@ self: {
        broken = true;
      }) {debian-mirror = null; help = null;};
 
+  "archive-libarchive" = callPackage
+    ({ mkDerivation, base, bytestring, composition-prelude, libarchive
+     }:
+     mkDerivation {
+       pname = "archive-libarchive";
+       version = "0.2.0.0";
+       sha256 = "0gy52dw00b110f5nc6gbnfgs5nssv7r8az1vy8xr1xj1dnpjwb74";
+       libraryHaskellDepends = [
+         base bytestring composition-prelude libarchive
+       ];
+       description = "Common interface using libarchive";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "archive-sig" = callPackage
     ({ mkDerivation, base, bytestring, composition-prelude
      , dir-traverse
      }:
      mkDerivation {
        pname = "archive-sig";
-       version = "0.2.0.1";
-       sha256 = "1x7kpyxfhn4i9c9wrxwda53qyj4jgw9vd3wfrzxvdfj5wdrdn79d";
+       version = "0.2.1.2";
+       sha256 = "03fwzl7pkb025adzv1jzh96k0h91b1w7arxza7q53i492n96qg8i";
        libraryHaskellDepends = [
          base bytestring composition-prelude dir-traverse
        ];
@@ -30683,21 +31108,49 @@ self: {
        broken = true;
      }) {};
 
+  "arion-compose" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
+     , directory, hspec, lens, lens-aeson, optparse-applicative, process
+     , protolude, QuickCheck, temporary, text, unix
+     }:
+     mkDerivation {
+       pname = "arion-compose";
+       version = "0.1.0.0";
+       sha256 = "11jg7y6gcgsm7pidqnpxi4smd5dbm7fnqw79pcqx60z32b0b99iz";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty async base bytestring directory lens lens-aeson
+         process protolude temporary text unix
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty async base bytestring directory lens lens-aeson
+         optparse-applicative process protolude temporary text unix
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty async base bytestring directory hspec lens
+         lens-aeson process protolude QuickCheck temporary text unix
+       ];
+       description = "Run docker-compose with help from Nix/NixOS";
+       license = stdenv.lib.licenses.asl20;
+       maintainers = with stdenv.lib.maintainers; [ roberth ];
+     }) {};
+
   "arith-encode" = callPackage
-    ({ mkDerivation, arithmoi, array, base, binary, Cabal, containers
-     , fgl, hashable, HUnit-Plus, unordered-containers
+    ({ mkDerivation, arithmoi, array, base, binary, containers
+     , hashable, HUnit-Plus, integer-logarithms, unordered-containers
      }:
      mkDerivation {
        pname = "arith-encode";
-       version = "1.0.0";
-       sha256 = "1wqm2jcc2dac31gvad6pmnq0wbajpj488h93xl93vfipsbak0cm8";
+       version = "1.0.1";
+       sha256 = "0dpfhn2xwjjf318f431s8xgnr827ayjak8s8cs6672la8rqgfpb5";
        libraryHaskellDepends = [
-         arithmoi array base binary Cabal containers fgl hashable
+         arithmoi array base binary containers hashable integer-logarithms
          unordered-containers
        ];
        testHaskellDepends = [
-         arithmoi array base binary Cabal containers fgl hashable HUnit-Plus
-         unordered-containers
+         base binary containers hashable HUnit-Plus unordered-containers
        ];
        description = "A practical arithmetic encoding (aka Godel numbering) library";
        license = stdenv.lib.licenses.bsd3;
@@ -30723,8 +31176,8 @@ self: {
      }:
      mkDerivation {
        pname = "arithmetic";
-       version = "1.4";
-       sha256 = "1qydk2sxrm0xfv23b354lfilyl2cnc0gc0842rz3672j3xwzrrfa";
+       version = "1.5";
+       sha256 = "0angjp341sfij8lqns74k6pwazdc679bd19fxphqab91cj9p9s56";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30773,6 +31226,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arithmoi_0_10_0_0" = callPackage
+    ({ mkDerivation, array, base, constraints, containers, deepseq
+     , exact-pi, gauge, ghc-prim, integer-gmp, integer-logarithms
+     , QuickCheck, random, semirings, smallcheck, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "arithmoi";
+       version = "0.10.0.0";
+       sha256 = "1qrrmwg40bw5j51w658ilm5wg6awfbsylpmzjw0r0rgh6ml8irk9";
+       configureFlags = [ "-f-llvm" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base constraints containers deepseq exact-pi ghc-prim
+         integer-gmp integer-logarithms random semirings transformers vector
+       ];
+       testHaskellDepends = [
+         base containers exact-pi integer-gmp QuickCheck semirings
+         smallcheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+         transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         array base constraints containers deepseq gauge integer-logarithms
+         random vector
+       ];
+       description = "Efficient basic number-theoretic functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "arity-generic-liftA" = callPackage
     ({ mkDerivation, base, doctest }:
      mkDerivation {
@@ -30810,8 +31294,8 @@ self: {
        pname = "armor";
        version = "0.1";
        sha256 = "0jmq6lhi1byhjzgkvnn4p481z8wik93angx7sf6cjfj5j0kqzv71";
-       revision = "3";
-       editedCabalFile = "1aksr6s5hcvxjjxd95z4n0xadhdpvz8l75906v5f18p7gkk6sjm7";
+       revision = "4";
+       editedCabalFile = "1vnjq91pawr4r7parg2kxs01d47b3lp8jpsji270bbmimqa0nql9";
        libraryHaskellDepends = [
          base bytestring containers directory filepath HUnit lens
        ];
@@ -30980,6 +31464,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "arrayfire" = callPackage
+    ({ mkDerivation, af, base, Cabal, cabal-doctest, directory
+     , filepath, hspec, hspec-discover, parsec, QuickCheck
+     , quickcheck-classes, text, vector
+     }:
+     mkDerivation {
+       pname = "arrayfire";
+       version = "0.6.0.0";
+       sha256 = "0vm1m3bc3c29dwbpzkp0pnxnz7rah8gqrgc0p4haivm5w4r10bf8";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ base filepath vector ];
+       librarySystemDepends = [ af ];
+       executableHaskellDepends = [ base directory parsec text vector ];
+       testHaskellDepends = [
+         base directory hspec hspec-discover QuickCheck quickcheck-classes
+         vector
+       ];
+       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
     ({ mkDerivation, base, hashable, initialize, MonadRandom, primitive
      , smallcheck, tasty, tasty-smallcheck
@@ -31255,6 +31765,21 @@ self: {
        broken = true;
      }) {};
 
+  "ascii-holidays" = callPackage
+    ({ mkDerivation, base, random, random-shuffle, terminfo, time }:
+     mkDerivation {
+       pname = "ascii-holidays";
+       version = "0.1.0.1";
+       sha256 = "10ply90c2dwfgfz419q9nklm26w2xlxkz6ynqn9qfl7p9j6rhix0";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base random random-shuffle terminfo time
+       ];
+       description = "ASCII animations for the holidays!";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "ascii-progress" = callPackage
     ({ mkDerivation, async, base, concurrent-output, data-default
      , hspec, QuickCheck, time
@@ -31408,15 +31933,15 @@ self: {
   "asif" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
      , conduit-combinators, conduit-extra, containers, cpu, directory
-     , either, exceptions, foldl, generic-lens, hedgehog, hspec, hw-bits
-     , hw-hspec-hedgehog, hw-ip, lens, network, old-locale
-     , optparse-applicative, profunctors, resourcet, temporary-resourcet
-     , text, thyme, transformers, vector
+     , either, exceptions, foldl, generic-lens, hedgehog, hspec
+     , hspec-discover, hw-bits, hw-hspec-hedgehog, hw-ip, lens, network
+     , old-locale, optparse-applicative, profunctors, resourcet
+     , temporary-resourcet, text, thyme, transformers, vector
      }:
      mkDerivation {
        pname = "asif";
-       version = "6.0.1";
-       sha256 = "1lbz2i0ijr23vsc3b064khz3kzj1jwikwxcmjlnzkqvgnbr70grw";
+       version = "6.0.3";
+       sha256 = "14c77hvghh6116ca29xzj1l7j95557mcfx0j9s73wxc82hl14wjg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31439,6 +31964,7 @@ self: {
          old-locale profunctors resourcet temporary-resourcet text thyme
          transformers vector
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Library for creating and querying segmented feeds";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -31525,18 +32051,17 @@ self: {
 
   "asn1-encoding" = callPackage
     ({ mkDerivation, asn1-types, base, bytestring, hourglass, mtl
-     , tasty, tasty-quickcheck, text
+     , tasty, tasty-quickcheck
      }:
      mkDerivation {
        pname = "asn1-encoding";
-       version = "0.9.5";
-       sha256 = "0adgbamyq0mj1l1hdq4zyyllay714bac1wl0rih3fv1z6vykp1hy";
+       version = "0.9.6";
+       sha256 = "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r";
        revision = "1";
-       editedCabalFile = "0vsw8rd6fxd87rx3jyh3bb96sjd7ag0mrlylhkcmgaps2ma8sw5b";
+       editedCabalFile = "19nq8g1v323p47cqlc4m9r6li35dd3cmcd7k486jw24cijkdjm9n";
        libraryHaskellDepends = [ asn1-types base bytestring hourglass ];
        testHaskellDepends = [
          asn1-types base bytestring hourglass mtl tasty tasty-quickcheck
-         text
        ];
        description = "ASN1 data reader and writer in RAW, BER and DER forms";
        license = stdenv.lib.licenses.bsd3;
@@ -31546,8 +32071,8 @@ self: {
     ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring }:
      mkDerivation {
        pname = "asn1-parse";
-       version = "0.9.4";
-       sha256 = "025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6";
+       version = "0.9.5";
+       sha256 = "17pk8y3nwv9b9i5j15qlmwi7fmq9ab2z4kfpjk2rvcrh9lsf27wg";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base bytestring
        ];
@@ -31661,8 +32186,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "asset-bundle";
-       version = "0.1.0.1";
-       sha256 = "0wf0xnf4ljihzvbz8pkaiqwhvp00bwnyx0334s4757z6lsc2hsrw";
+       version = "0.1.0.2";
+       sha256 = "1c0678qjkr1q3pi20ch05k8ri4zxcc1drc4j44fvb1sz7b8y260c";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        description = "A build-time Cabal library that bundles executables with assets";
        license = stdenv.lib.licenses.bsd3;
@@ -31703,14 +32228,12 @@ self: {
      }) {inherit (pkgs) assimp;};
 
   "assoc" = callPackage
-    ({ mkDerivation, base, bifunctors }:
+    ({ mkDerivation, base, bifunctors, tagged }:
      mkDerivation {
        pname = "assoc";
-       version = "1";
-       sha256 = "0i1jj6lrabl0fhh1iya4nxr2hw1s4xmhca5qnim93ng5znziv9n2";
-       revision = "1";
-       editedCabalFile = "0hcpyypnj9qwbpk079h6lnm8aa3mp3fzjilk9qwibkmnnqwwwcld";
-       libraryHaskellDepends = [ base bifunctors ];
+       version = "1.0.1";
+       sha256 = "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020";
+       libraryHaskellDepends = [ base bifunctors tagged ];
        description = "swap and assoc: Symmetric and Semigroupy Bifunctors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -32176,8 +32699,8 @@ self: {
      }:
      mkDerivation {
        pname = "atlassian-connect-descriptor";
-       version = "0.4.9.0";
-       sha256 = "1wgfgdimfp2fnd630s8288dciip26ysl7p0lmvm321migm22idq9";
+       version = "0.4.10.0";
+       sha256 = "0nixj6cv367b6a2xa0pf37z6fcmrnwmngc27ps9qy85hc4nnl3cy";
        libraryHaskellDepends = [
          aeson base cases network network-uri text time-units
          unordered-containers
@@ -32403,8 +32926,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
        ];
@@ -32472,20 +32995,19 @@ self: {
 
   "ats-format" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, Cabal, cli-setup, directory
-     , file-embed, filepath, htoml-megaparsec, language-ats, megaparsec
-     , optparse-applicative, process, text, unordered-containers
+     , filepath, language-ats, optparse-applicative, process, text
+     , toml-parser
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.2.0.30";
-       sha256 = "19i3g3njmmhkhyx02q37r7n373n6h0yha6g5hrx0ix5nn8bp4k4w";
+       version = "0.2.0.36";
+       sha256 = "1a7mfpqc09lfk1pp237f2wrizgm2c1indgjdi810599ns19hicd2";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup filepath ];
        executableHaskellDepends = [
-         ansi-wl-pprint base directory file-embed htoml-megaparsec
-         language-ats megaparsec optparse-applicative process text
-         unordered-containers
+         ansi-wl-pprint base directory language-ats optparse-applicative
+         process text toml-parser
        ];
        description = "A source-code formatter for ATS";
        license = stdenv.lib.licenses.bsd3;
@@ -32497,15 +33019,15 @@ self: {
     ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring, bzlib
      , Cabal, cli-setup, composition-prelude, containers, cpphs
      , dependency, dhall, directory, file-embed, filemanip, filepath
-     , http-client, http-client-tls, lzma, microlens, mtl
+     , http-client, http-client-tls, language-ats, lzma, microlens, mtl
      , optparse-applicative, parallel-io, process, shake, shake-ats
      , shake-c, shake-ext, tar, temporary, text, unix, unix-compat
      , zip-archive, zlib
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.2.6.0";
-       sha256 = "1jxs3rfv9nrigwnshanc90dm3nzimr7zmfln1la5nv098prdkakr";
+       version = "3.4.0.5";
+       sha256 = "1hqaz5sybj9cyd17k1883nq936jf6815sprxdgbdrbw7rsfx39al";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -32518,8 +33040,9 @@ self: {
        ];
        libraryToolDepends = [ cpphs ];
        executableHaskellDepends = [
-         base bytestring cli-setup dependency directory microlens
-         optparse-applicative parallel-io shake shake-ats temporary text
+         base bytestring cli-setup dependency dhall directory language-ats
+         microlens optparse-applicative parallel-io shake shake-ats
+         temporary text
        ];
        doHaddock = false;
        description = "A build tool for ATS";
@@ -32653,6 +33176,8 @@ self: {
        pname = "attoparsec";
        version = "0.13.2.3";
        sha256 = "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix";
+       revision = "1";
+       editedCabalFile = "164n392qrgyb8mg3xxaxym0ffvqyjr4ny4lfrr81y7hk3947yw9q";
        libraryHaskellDepends = [
          array base bytestring containers deepseq scientific text
          transformers
@@ -32879,20 +33404,15 @@ self: {
      }) {};
 
   "attoparsec-time" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, bytestring, Cabal
-     , cabal-doctest, directory, doctest, filepath, scientific, text
+    ({ mkDerivation, attoparsec, base, bytestring, scientific, text
      , time
      }:
      mkDerivation {
        pname = "attoparsec-time";
-       version = "1";
-       sha256 = "0606rdwb6r5s819hid3fd4gkclprwjmqryl4fniflcpccy94gsyl";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "1.0.1.1";
+       sha256 = "1g3wfc499zdz79i06hgg4286ky9yv4mi3jgq1zf92ik1wcw23q6l";
        libraryHaskellDepends = [
-         attoparsec base base-prelude bytestring scientific text time
-       ];
-       testHaskellDepends = [
-         base base-prelude directory doctest filepath
+         attoparsec base bytestring scientific text time
        ];
        description = "Attoparsec parsers of time";
        license = stdenv.lib.licenses.mit;
@@ -33151,21 +33671,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;
@@ -33202,10 +33719,8 @@ self: {
      }:
      mkDerivation {
        pname = "authenticate-oauth";
-       version = "1.6";
-       sha256 = "0xc37yql79r9idjfdhzg85syrwwgaxggcv86myi6zq2pzl89yvfj";
-       revision = "1";
-       editedCabalFile = "1fxwn8bn6qs8dhxq0q04psq7zp1qvw1b6g3vmsclgyj9p7kr77ms";
+       version = "1.6.0.1";
+       sha256 = "1hry1zbi7gbyfi94w9cyg6m7ii7xm68jnsph63zxdj2s4ns0ylp0";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring crypto-pubkey-types
          data-default http-client http-types random RSA SHA time
@@ -33279,8 +33794,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.14";
-       sha256 = "0ijykr8qg7ijadlkn0gx3n06n14ihar8dvaddmmaab2awpmaa3l8";
+       version = "1.1.15";
+       sha256 = "061pincl8110ifm2d6jahxkgpvwid1anv3hvswbs4zqwkg6ll8lx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
@@ -33484,8 +33999,8 @@ self: {
        pname = "avers";
        version = "0.0.17.1";
        sha256 = "1x96fvx0z7z75c39qcggw70qvqnw7kzjf0qqxb3jwg3b0fmdhi8v";
-       revision = "32";
-       editedCabalFile = "0p4jhc8rxvm82cp3zaibazb5jnjs33vl4f71pvgvzf31xd7immyy";
+       revision = "34";
+       editedCabalFile = "0mj6881npk0xdkf4nkcy52sn6y4414wdpysbw03kkb5vx6cgjws9";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -33636,8 +34151,8 @@ self: {
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.4.5.2";
-       sha256 = "0cy2r8jrnyxwsxpd6mah4g56xh8n93f6gd613a4bwg8kqvykrpgq";
+       version = "0.4.5.4";
+       sha256 = "0syf968w8vvb5x18znnzc36w5i4ab1fsdpwsph31sxz3rvsv9sr6";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bifunctors binary bytestring
          containers data-binary-ieee754 deepseq fail hashable mtl scientific
@@ -33660,6 +34175,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro-piper" = callPackage
+    ({ mkDerivation, aeson, avro, base, bytestring, conduit
+     , conduit-combinators, conduit-extra, hedgehog, hspec
+     , hw-hspec-hedgehog, hw-kafka-avro, mtl, optparse-applicative
+     , scientific, stringsearch, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "avro-piper";
+       version = "1.0.1";
+       sha256 = "0py25d3y7jx9amcydfnkwipq3rhqpimh18qjvfj1jls8yi9jkvp0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hw-kafka-avro mtl optparse-applicative scientific
+         stringsearch text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hw-kafka-avro mtl optparse-applicative scientific
+         stringsearch text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hedgehog hspec hw-hspec-hedgehog hw-kafka-avro mtl
+         optparse-applicative scientific stringsearch text
+         unordered-containers
+       ];
+       description = "Tool for decoding avro";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "avwx" = callPackage
     ({ mkDerivation, attoparsec, base, HTTP, lens, optparse-applicative
      , parsers, pretty-show, text
@@ -34166,8 +34713,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
@@ -34435,55 +34982,53 @@ self: {
 
   "axel" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
-     , directory, filepath, freer-simple, ghcid, hashable
+     , directory, extra, filepath, freer-simple, ghcid, hashable
      , haskell-src-exts, hedgehog, hpack, lens, lens-aeson, megaparsec
      , mono-traversable, optparse-applicative, polysemy, polysemy-plugin
-     , prettyprinter, process, profunctors, random, singletons, split
-     , tasty, tasty-discover, tasty-golden, tasty-hedgehog, tasty-hspec
+     , prettyprinter, process, profunctors, random, split, tasty
+     , tasty-discover, tasty-golden, tasty-hedgehog, tasty-hspec
      , tasty-hunit, template-haskell, text, time, transformers
      , typed-process, uniplate, vector, yaml
      }:
      mkDerivation {
        pname = "axel";
-       version = "0.0.11";
-       sha256 = "1qygq82v70lizbpxmvj1c81qhb9jrmzgi603g03wa41las0sfamy";
+       version = "0.0.12";
+       sha256 = "1136rnh5j47qxyciwmpgcdqy3j4f4pwcgb89wgkl8wixzxjxj6i1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring containers directory filepath
-         freer-simple ghcid hashable haskell-src-exts hedgehog hpack lens
-         lens-aeson megaparsec mono-traversable optparse-applicative
-         polysemy polysemy-plugin prettyprinter process profunctors random
-         singletons split tasty tasty-discover tasty-golden tasty-hedgehog
-         tasty-hspec tasty-hunit template-haskell text time transformers
-         typed-process uniplate vector yaml
+         aeson ansi-terminal base bytestring containers directory extra
+         filepath freer-simple ghcid hashable haskell-src-exts hedgehog
+         hpack lens lens-aeson megaparsec mono-traversable
+         optparse-applicative polysemy polysemy-plugin prettyprinter process
+         profunctors random split tasty tasty-discover tasty-golden
+         tasty-hedgehog tasty-hspec tasty-hunit template-haskell text time
+         transformers typed-process uniplate vector yaml
        ];
        libraryToolDepends = [ hpack tasty-discover ];
        executableHaskellDepends = [
-         aeson ansi-terminal base bytestring containers directory filepath
-         freer-simple ghcid hashable haskell-src-exts hedgehog hpack lens
-         lens-aeson megaparsec mono-traversable optparse-applicative
-         polysemy polysemy-plugin prettyprinter process profunctors random
-         singletons split tasty tasty-discover tasty-golden tasty-hedgehog
-         tasty-hspec tasty-hunit template-haskell text time transformers
-         typed-process uniplate vector yaml
+         aeson ansi-terminal base bytestring containers directory extra
+         filepath freer-simple ghcid hashable haskell-src-exts hedgehog
+         hpack lens lens-aeson megaparsec mono-traversable
+         optparse-applicative polysemy polysemy-plugin prettyprinter process
+         profunctors random split tasty tasty-discover tasty-golden
+         tasty-hedgehog tasty-hspec tasty-hunit template-haskell text time
+         transformers typed-process uniplate vector yaml
        ];
        executableToolDepends = [ hpack tasty-discover ];
        testHaskellDepends = [
-         aeson ansi-terminal base bytestring containers directory filepath
-         freer-simple ghcid hashable haskell-src-exts hedgehog hpack lens
-         lens-aeson megaparsec mono-traversable optparse-applicative
-         polysemy polysemy-plugin prettyprinter process profunctors random
-         singletons split tasty tasty-discover tasty-golden tasty-hedgehog
-         tasty-hspec tasty-hunit template-haskell text time transformers
-         typed-process uniplate vector yaml
+         aeson ansi-terminal base bytestring containers directory extra
+         filepath freer-simple ghcid hashable haskell-src-exts hedgehog
+         hpack lens lens-aeson megaparsec mono-traversable
+         optparse-applicative polysemy polysemy-plugin prettyprinter process
+         profunctors random split tasty tasty-discover tasty-golden
+         tasty-hedgehog tasty-hspec tasty-hunit template-haskell text time
+         transformers typed-process uniplate vector yaml
        ];
        testToolDepends = [ hpack tasty-discover ];
        description = "The Axel programming language";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "axiom" = callPackage
@@ -34686,8 +35231,8 @@ self: {
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.68.3";
-       sha256 = "1373ymh25ybaszfb0d6vs11zh9hw41a0x1gw9wxi18f5hk5jmbsk";
+       version = "0.5.68.4";
+       sha256 = "1j73gi31aqbxfdd32p7l4kmrvpzm0n4plji83i4pw0zrjwigs0jz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -34826,8 +35371,8 @@ self: {
      }:
      mkDerivation {
        pname = "backstop";
-       version = "1.3.0.352";
-       sha256 = "1790n52amkvwlm92rh6i6rxfxbw2n2cfam2sf0cx4yf160jxvyj3";
+       version = "1.3.0.354";
+       sha256 = "0r8j5qyccgl0vnjylpsn7xlrhqm588j7nsl938wj3bjn2dq8myan";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -35124,6 +35669,20 @@ self: {
        broken = true;
      }) {};
 
+  "ban-instance" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "ban-instance";
+       version = "0.1.0.1";
+       sha256 = "0504qsjbqbrdf9avfrhs290baszc9dickx7wknbyxwrzpzzbpggk";
+       revision = "1";
+       editedCabalFile = "1ii8z13xlnn9avkpvbwbm3m8pwvd5rrkp34n1klcdy9r96bk9pw3";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "For when a type should never be an instance of a class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bank-holiday-usa" = callPackage
     ({ mkDerivation, base, hspec, HUnit, QuickCheck, time }:
      mkDerivation {
@@ -35187,6 +35746,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "barbies-th" = callPackage
+    ({ mkDerivation, barbies, base, template-haskell }:
+     mkDerivation {
+       pname = "barbies-th";
+       version = "0";
+       sha256 = "12h6yzl1rqi24ybif5bciljazjxnbvhq5wi9iyjg8zhjmklb6sgr";
+       libraryHaskellDepends = [ barbies base template-haskell ];
+       testHaskellDepends = [ barbies base ];
+       description = "Create strippable HKD via TH";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "barbly" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring, mtl
      , optparse-applicative, shh, text
@@ -35203,8 +35774,7 @@ self: {
        ];
        description = "Create status bar menus for macOS from executables";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
+       platforms = [ "x86_64-darwin" ];
      }) {};
 
   "barchart" = callPackage
@@ -35651,6 +36221,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "base62" = callPackage
+    ({ mkDerivation, base, byteslice, doctest, natural-arithmetic
+     , primitive, small-bytearray-builder, tasty, tasty-hunit
+     , tasty-quickcheck, wide-word
+     }:
+     mkDerivation {
+       pname = "base62";
+       version = "0.1.0.0";
+       sha256 = "1ns8hr9xjmrlq5lgi47630gpn8xdglk33ncqw4kjvdrb1x90iz0p";
+       revision = "2";
+       editedCabalFile = "0i1ipcawbnjf0mjdva4q8s2kw4hd4lfnygmvc81sjxd9crlwy4vm";
+       libraryHaskellDepends = [
+         base byteslice natural-arithmetic primitive small-bytearray-builder
+         wide-word
+       ];
+       testHaskellDepends = [
+         base byteslice doctest primitive tasty tasty-hunit tasty-quickcheck
+         wide-word
+       ];
+       description = "Base62 encoding and decoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "base64-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , HUnit, QuickCheck, split, test-framework, test-framework-hunit
@@ -35762,6 +36357,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "basen" = callPackage
+    ({ mkDerivation, base, bytestring, quickcheck-instances, tasty
+     , tasty-discover, tasty-hspec, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "basen";
+       version = "0.2.0.0";
+       sha256 = "0m5vrj7p8cbjc4wc3i0h8fgj7hy8818aq4ivshq4l1n3v134p8kb";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base bytestring quickcheck-instances tasty tasty-discover
+         tasty-hspec tasty-quickcheck text
+       ];
+       testToolDepends = [ tasty-discover ];
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "basen-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, QuickCheck }:
      mkDerivation {
@@ -36536,13 +37149,15 @@ self: {
     ({ mkDerivation, base, dunai, MonadRandom, mtl, transformers }:
      mkDerivation {
        pname = "bearriver";
-       version = "0.10.4.4";
-       sha256 = "14aqp6jqca5b4z0bf5q18pq5l9q43bzz18zjwn3j0ns1fakrq5bb";
+       version = "0.10.4.6";
+       sha256 = "1m038d6brzp2h2fbwmxvwazm9d59sf5r2nlnw2csmdkck11zzw3j";
        libraryHaskellDepends = [
          base dunai MonadRandom mtl transformers
        ];
        description = "A replacement of Yampa based on Monadic Stream Functions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "beautifHOL" = callPackage
@@ -36560,6 +37175,28 @@ self: {
        broken = true;
      }) {};
 
+  "bech32" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , extra, hspec, hspec-discover, QuickCheck, text, vector
+     }:
+     mkDerivation {
+       pname = "bech32";
+       version = "1.0.0";
+       sha256 = "1pq0izcjsnyrwjik7p6xw1y8b5g3x4rxi95jh08x81lfp53pr9bn";
+       revision = "1";
+       editedCabalFile = "0xkdidn53amg5ihbiwjw44yc87rnw6wivcgx84nimmhi9az3mlkb";
+       libraryHaskellDepends = [
+         array base bytestring containers extra text
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq extra hspec QuickCheck text
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "bed-and-breakfast" = callPackage
     ({ mkDerivation, array, base, binary, cpphs, deepseq, QuickCheck
      , template-haskell
@@ -36789,10 +37426,8 @@ self: {
      }:
      mkDerivation {
        pname = "bencoding";
-       version = "0.4.5.1";
-       sha256 = "1q2xpcskpj3hk3vkk09flrnbyss1aq5yqngkxwm7qrcly2798pxa";
-       revision = "1";
-       editedCabalFile = "17yr0lcpsm482as9qcl44padm2ahz51al4izfq2z1p1jizih4mxv";
+       version = "0.4.5.2";
+       sha256 = "1q0v56jj5vdhd5qgs8kwnbnb4wz84bn7ghnki8c36k6hsm1f56kq";
        libraryHaskellDepends = [
          attoparsec base bytestring deepseq ghc-prim integer-gmp mtl pretty
          text
@@ -37178,6 +37813,8 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Bifunctors";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "bifunctors" = callPackage
@@ -37187,8 +37824,8 @@ self: {
      }:
      mkDerivation {
        pname = "bifunctors";
-       version = "5.5.5";
-       sha256 = "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb";
+       version = "5.5.6";
+       sha256 = "1jnsnc0rj3vkx8rjwsf2aacla9xzdfy1am9mmjk8crxp2gkazcnc";
        libraryHaskellDepends = [
          base base-orphans comonad containers tagged template-haskell
          th-abstraction transformers
@@ -37395,6 +38032,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bin" = callPackage
+    ({ mkDerivation, base, dec, deepseq, fin, hashable, QuickCheck }:
+     mkDerivation {
+       pname = "bin";
+       version = "0.1";
+       sha256 = "008i0yxvg9v05gby6ysq3f7ygh125p9xa5vwrcrbq5xw79igyzq5";
+       libraryHaskellDepends = [
+         base dec deepseq fin hashable QuickCheck
+       ];
+       description = "Bin: binary natural numbers";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "binary_0_7_6_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal, cereal
      , containers, criterion, deepseq, directory, filepath, HUnit, mtl
@@ -38641,8 +39291,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL, portaudio, vector }:
      mkDerivation {
        pname = "bindings-portaudio";
-       version = "0.2";
-       sha256 = "0jxpp8iwb6v0g0y81vnqxqycfh4gzykq4ijn4ir8hzajy7bglb1n";
+       version = "0.2.1";
+       sha256 = "1i2r01jhf8k7820zzwqbss0z3kxd15pvdz7ss8s9gczv88nwxvxk";
        libraryHaskellDepends = [ base bindings-DSL vector ];
        libraryPkgconfigDepends = [ portaudio ];
        description = "Low-level bindings to portaudio library";
@@ -38895,8 +39545,8 @@ self: {
      }:
      mkDerivation {
        pname = "bins";
-       version = "0.1.1.1";
-       sha256 = "1v585ppm5g424jn2bkq7ydsdd6bds7gak53288vn4vclnw2rswr8";
+       version = "0.1.2.0";
+       sha256 = "03pzpf8vw7d8cg8raqjpq9dz78r5qqczmjmyc2q5ax3ghcdzx0wa";
        libraryHaskellDepends = [
          base containers finite-typelits ghc-typelits-knownnat
          ghc-typelits-natnormalise math-functions profunctors reflection
@@ -39059,27 +39709,27 @@ self: {
      , bytestring-lexing, case-insensitive, clustering, conduit
      , conduit-combinators, conduit-extra, containers, criterion
      , data-default-class, data-ordlist, double-conversion, hexpat
-     , HsHTSLib, http-conduit, IntervalMap, lens, math-functions
-     , matrices, mtl, parallel, primitive, random, split, statistics
-     , tasty, tasty-golden, tasty-hunit, text, transformers
+     , HsHTSLib, http-conduit, IntervalMap, math-functions, matrices
+     , microlens, microlens-th, mtl, parallel, primitive, random, split
+     , statistics, tasty, tasty-golden, tasty-hunit, text, transformers
      , unordered-containers, vector, vector-algorithms, word8
      }:
      mkDerivation {
        pname = "bioinformatics-toolkit";
-       version = "0.8.0";
-       sha256 = "0mkcxqnszkr9r8w2rqb79501wxfpgd2g17rn2lrjcqllmxdvkgwk";
+       version = "0.9.0";
+       sha256 = "035j0f3ay16ndqv7vcmq8rc6ah1ia56w6axglh9v4yk3n0cd2zvj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec base bytestring bytestring-lexing
          case-insensitive clustering conduit conduit-extra containers
          data-default-class data-ordlist double-conversion hexpat HsHTSLib
-         http-conduit IntervalMap lens math-functions matrices mtl parallel
-         primitive split statistics text transformers unordered-containers
-         vector vector-algorithms word8
+         http-conduit IntervalMap math-functions matrices microlens
+         microlens-th mtl parallel primitive split statistics text
+         transformers unordered-containers vector vector-algorithms word8
        ];
        testHaskellDepends = [
-         base bytestring conduit conduit-combinators data-default-class lens
-         matrices mtl random tasty tasty-golden tasty-hunit
+         base bytestring conduit conduit-combinators data-default-class
+         matrices microlens mtl random tasty tasty-golden tasty-hunit
          unordered-containers vector
        ];
        benchmarkHaskellDepends = [
@@ -39181,8 +39831,8 @@ self: {
      }:
      mkDerivation {
        pname = "birch-beer";
-       version = "0.1.4.5";
-       sha256 = "1yyb897yg2ipvz6jsc6np1jwlckyi41jq94dwxlpyj2sigawzvwh";
+       version = "0.2.2.0";
+       sha256 = "1175gxj08pn1h58cgppwx3h79wplmycfrpzn46cyw2fpjqakc5gi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39190,9 +39840,9 @@ self: {
          diagrams-cairo diagrams-graphviz diagrams-gtk diagrams-lib
          diversity fgl foldl graphviz gtk hierarchical-clustering
          hierarchical-spectral-clustering lens matrix-market-attoparsec mtl
-         palette plots safe scientific sparse-linear-algebra
-         spectral-clustering split statistics SVGFonts temporary text
-         text-show typed-spreadsheet vector
+         optparse-generic palette plots safe scientific
+         sparse-linear-algebra spectral-clustering split statistics SVGFonts
+         temporary text text-show typed-spreadsheet vector
        ];
        executableHaskellDepends = [
          aeson base bytestring cassava colour containers diagrams
@@ -39294,6 +39944,8 @@ self: {
        ];
        description = "Plays chess";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "bit-array" = callPackage
@@ -39731,18 +40383,20 @@ self: {
      }) {};
 
   "bits-extra" = callPackage
-    ({ mkDerivation, base, criterion, ghc-prim, hedgehog, hspec
-     , hspec-discover, hw-hedgehog, hw-hspec-hedgehog, vector
+    ({ mkDerivation, base, criterion, doctest, doctest-discover
+     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hedgehog
+     , hw-hspec-hedgehog, vector
      }:
      mkDerivation {
        pname = "bits-extra";
-       version = "0.0.1.3";
-       sha256 = "1vdgj5zz5q7y4n11bsn4v53x5yi0fckj13vbfyrgb454x6rhhav9";
+       version = "0.0.1.5";
+       sha256 = "1f29jn8gxmi9nrwnrykq4z88cg8zsknbw7licmf44hlid0s5glf5";
        libraryHaskellDepends = [ base ghc-prim vector ];
        testHaskellDepends = [
-         base ghc-prim hedgehog hspec hw-hedgehog hw-hspec-hedgehog
+         base doctest doctest-discover ghc-prim hedgehog hspec hw-hedgehog
+         hw-hspec-hedgehog
        ];
-       testToolDepends = [ hspec-discover ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
        description = "Useful bitwise operations";
        license = stdenv.lib.licenses.bsd3;
@@ -39834,8 +40488,8 @@ self: {
      }:
      mkDerivation {
        pname = "bitstream";
-       version = "0.2.0.4";
-       sha256 = "1j00r6jv9yp0h476gz7yalrlnxhkrdrl1w73d3zl98kyf207q2sy";
+       version = "0.3.0.0";
+       sha256 = "12cyvrd7za5zh1idi5q4w0qbv0l4kjlsjascz6z4w2877zji7bvh";
        libraryHaskellDepends = [
          base base-unicode-symbols bytestring vector
        ];
@@ -39914,25 +40568,28 @@ self: {
      }) {};
 
   "bitvec" = callPackage
-    ({ mkDerivation, base, containers, gauge, ghc-prim, primitive
-     , quickcheck-classes, random, tasty, tasty-hunit, tasty-quickcheck
-     , vector
+    ({ mkDerivation, base, containers, deepseq, gauge, ghc-prim, gmp
+     , integer-gmp, primitive, quickcheck-classes, random, tasty
+     , tasty-hunit, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "bitvec";
-       version = "1.0.0.1";
-       sha256 = "1b3cf8f3a2xx4m80699p63id26dj61d7lgz38n5kv0vskq1zfcsp";
-       revision = "1";
-       editedCabalFile = "0q8hc4i62l43kpg8q3nqqzz03cdcv36ins2741sw3956sj92xfh4";
-       libraryHaskellDepends = [ base ghc-prim primitive vector ];
+       version = "1.0.2.0";
+       sha256 = "0ciri2zaifrli1zas0z75vdx97sns1fdvmghx9mlx8pi875f6b85";
+       libraryHaskellDepends = [
+         base deepseq ghc-prim integer-gmp primitive vector
+       ];
+       librarySystemDepends = [ gmp ];
        testHaskellDepends = [
-         base primitive quickcheck-classes tasty tasty-hunit
+         base integer-gmp primitive quickcheck-classes tasty tasty-hunit
          tasty-quickcheck vector
        ];
-       benchmarkHaskellDepends = [ base containers gauge random vector ];
+       benchmarkHaskellDepends = [
+         base containers gauge integer-gmp random vector
+       ];
        description = "Space-efficient bit vectors";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+     }) {inherit (pkgs) gmp;};
 
   "bitwise" = callPackage
     ({ mkDerivation, array, base, bytestring, criterion, QuickCheck }:
@@ -40442,8 +41099,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-html";
-       version = "0.9.1.1";
-       sha256 = "06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa";
+       version = "0.9.1.2";
+       sha256 = "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30";
        libraryHaskellDepends = [
          base blaze-builder blaze-markup bytestring text
        ];
@@ -40532,10 +41189,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-markup";
-       version = "0.8.2.2";
-       sha256 = "1qc2mn2zb2sdj3xvv73asibqnb11l7b5l30ff05qrfh7sy7wzw66";
-       revision = "1";
-       editedCabalFile = "0ivspcxz0b2r7kcas5hlw0fh92883r8ghwz9lck7nyqn6wn5i8zx";
+       version = "0.8.2.3";
+       sha256 = "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j";
        libraryHaskellDepends = [ base blaze-builder bytestring text ];
        testHaskellDepends = [
          base blaze-builder bytestring containers HUnit QuickCheck tasty
@@ -41200,25 +41855,26 @@ self: {
 
   "boltzmann-brain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , edit-distance, graphviz, haskell-src-exts, hmatrix, megaparsec
-     , MonadRandom, mtl, multiset, pretty-terminal, process, random
-     , text, time, transformers
+     , edit-distance, filepath, graphviz, haskell-src-exts, hmatrix
+     , megaparsec, MonadRandom, mtl, multiset, pretty-terminal, process
+     , random, template-haskell, text, time, transformers
      }:
      mkDerivation {
        pname = "boltzmann-brain";
-       version = "1.4";
-       sha256 = "17xny78fkqm344cddkklv4sj8c7dnps8bn1n21xa392l2zyf7mqz";
+       version = "1.6";
+       sha256 = "1k6zsj4wijvxbbf3n95b61bii3p5m257capdw382613v7wp1yh6a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers edit-distance graphviz haskell-src-exts
-         hmatrix megaparsec MonadRandom mtl multiset pretty-terminal process
-         random text time transformers
+         aeson base bytestring containers edit-distance graphviz
+         haskell-src-exts hmatrix megaparsec MonadRandom mtl multiset
+         pretty-terminal process random template-haskell text time
+         transformers
        ];
        executableHaskellDepends = [
-         aeson base bytestring containers directory megaparsec text
+         aeson base bytestring containers directory filepath megaparsec text
        ];
-       description = "Boltzmann sampler compiler for combinatorial systems";
+       description = "Analytic sampler compiler for combinatorial systems";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -41243,15 +41899,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 = [
@@ -41260,12 +41917,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;
@@ -41454,10 +42113,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolean-normal-forms";
-       version = "0.0.1";
-       sha256 = "12i0jarbv7gq2p8zw0jgh2gq3wqk6s0vsc9rd0g7c36srcmr944b";
-       revision = "1";
-       editedCabalFile = "1p31kqxp77xdhkszppmnzqgxp883vasrh5910qfif50lch39myfm";
+       version = "0.0.1.1";
+       sha256 = "0zsll476c7g5syfz54kwcb4d2chh9q6gh0f42847n3ja1d64gaar";
        libraryHaskellDepends = [ base cond containers deepseq ];
        testHaskellDepends = [
          base cond containers QuickCheck tasty tasty-quickcheck
@@ -41474,8 +42131,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolector";
-       version = "0.0.0.8";
-       sha256 = "09zhrg6zrf3viigjdw4q4c1i0x4ww467m9ghapdfwq4d01cr0c43";
+       version = "0.0.0.9";
+       sha256 = "1f4lnshc4b3r9qyc6y476qpkcl3hkripqsd2vfyg9q0xbyg9pxq6";
        libraryHaskellDepends = [
          base containers directory mtl temporary time
        ];
@@ -41564,8 +42221,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
        ];
@@ -41641,6 +42298,8 @@ self: {
        pname = "boots-app";
        version = "0.2.0.1";
        sha256 = "0wk177f6ljcqd0ya7cddvx3i6sdwx0wl9fz1idzfa8klb8pnkghh";
+       revision = "1";
+       editedCabalFile = "0a69kvlilg1nmyxvlbm79hidg0zwjrgd556nnl73k08mgsk2xj1v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41760,8 +42419,8 @@ self: {
        pname = "boring";
        version = "0.1.2";
        sha256 = "0978dq53rpb7clz1ydjm6x38nrx0vkp3safqcbjp2kq6jlaz29jr";
-       revision = "2";
-       editedCabalFile = "1qdgv5zanglhhx3hs4a7qlvfivsv82hnppj8lpyamfl4xw4x8vp1";
+       revision = "3";
+       editedCabalFile = "1d7xl2dxm4v33j1bd5450x1mh86x8kb24qjvad8nk98dmgf63ah2";
        libraryHaskellDepends = [
          adjunctions base base-compat constraints dec fin generics-sop
          singleton-bool streams tagged transformers transformers-compat vec
@@ -41770,6 +42429,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "boring_0_1_3" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, bin, constraints
+     , dec, fin, generics-sop, ral, singleton-bool, streams, tagged
+     , transformers, transformers-compat, vec
+     }:
+     mkDerivation {
+       pname = "boring";
+       version = "0.1.3";
+       sha256 = "1fljlkzc5016xbq9jykh0wr1mbyfcikh818pp54djws5vm66hh6d";
+       libraryHaskellDepends = [
+         adjunctions base base-compat bin constraints dec fin generics-sop
+         ral singleton-bool streams tagged transformers transformers-compat
+         vec
+       ];
+       description = "Boring and Absurd types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "boring-game" = callPackage
     ({ mkDerivation, base, gloss }:
      mkDerivation {
@@ -41984,35 +42662,26 @@ self: {
 
   "box" = callPackage
     ({ mkDerivation, async, attoparsec, base, concurrency
-     , contravariant, data-default, dejafu, doctest, exceptions, flow
-     , foldl, generic-lens, lens, mmorph, pipes, profunctors, protolude
-     , random, stm, streaming, text, time, transformers
-     , transformers-base
+     , contravariant, dejafu, doctest, exceptions, foldl, generic-lens
+     , lens, mtl, pipes, profunctors, random, streaming, text, time
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "box";
-       version = "0.0.1.2";
-       sha256 = "11g3ig1n1myfgcfvp6gkn5lyr2gdzj4zpginwmjac1c599xiyf8i";
+       version = "0.1.0";
+       sha256 = "1q03sgz4qzm61rs5chkvk0h9qj7idxxzmyr29awkxigv18nab18h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         exceptions flow foldl generic-lens lens mmorph pipes profunctors
-         protolude random stm streaming text time transformers
+         async attoparsec base concurrency contravariant exceptions foldl
+         lens pipes profunctors streaming text time transformers
          transformers-base
        ];
        executableHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         exceptions flow foldl generic-lens lens mmorph pipes profunctors
-         protolude random stm streaming text time transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         doctest exceptions flow foldl generic-lens lens mmorph pipes
-         profunctors protolude random stm streaming text time transformers
-         transformers-base
+         base concurrency dejafu generic-lens lens mtl random streaming text
+         transformers
        ];
+       testHaskellDepends = [ base doctest ];
        description = "boxes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -42178,22 +42847,22 @@ self: {
 
   "breve" = callPackage
     ({ mkDerivation, aeson, base, binary, blaze-html, bytestring
-     , configurator, cryptohash, directory, hashtables, http-types, mtl
-     , random, Spock, Spock-core, text, tls, transformers, wai
-     , wai-extra, wai-middleware-static, warp, warp-tls, xdg-basedir
+     , configurator, cryptohash, directory, hashtables, http-api-data
+     , mtl, random, servant, servant-blaze, servant-server
+     , streaming-commons, text, tls, wai, wai-extra, warp, warp-tls
      }:
      mkDerivation {
        pname = "breve";
-       version = "0.4.5.1";
-       sha256 = "1db93l3lb09rsb6yh3pkbfpyh736a9ki0q1x8s8rcp4dsy79b3va";
+       version = "0.5.0.0";
+       sha256 = "1rdamkzy502lvz773lh7zjqw76in8v46218dfj4b5xsljkh605jm";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          aeson base binary blaze-html bytestring configurator cryptohash
-         directory hashtables http-types mtl random Spock Spock-core text
-         tls transformers wai wai-extra wai-middleware-static warp warp-tls
-         xdg-basedir
+         directory hashtables http-api-data mtl random servant servant-blaze
+         servant-server streaming-commons text tls wai wai-extra warp
+         warp-tls
        ];
        description = "a url shortener";
        license = stdenv.lib.licenses.gpl3;
@@ -42241,7 +42910,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
@@ -42250,8 +42919,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.50";
-       sha256 = "0g2c420zpvjv8v3y5l4jhmml279d920k9d92yga8d86jymanbvy9";
+       version = "0.50.1";
+       sha256 = "0wv69pbs4xqfdqw9ag32fhqhmh8djxb14h8jpyblmykirlznx77y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42484,8 +43153,8 @@ self: {
      }:
      mkDerivation {
        pname = "brittany";
-       version = "0.12.0.0";
-       sha256 = "058ffj00x374iaz75zzd9l0ab4crdsq2zjrq1r8lvcpp63fmsa7h";
+       version = "0.12.1.1";
+       sha256 = "0nw7ymdb7xam634w42l1xjgyvpla8grcg02aj19fscw2fn9gfh7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42514,16 +43183,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;
@@ -42535,8 +43202,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
        ];
@@ -42555,8 +43222,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
@@ -42575,10 +43242,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
@@ -42740,6 +43405,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
@@ -42778,8 +43445,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
@@ -43094,6 +43761,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.3.0";
+       sha256 = "1dsnbx148yrqikqx9qfxivz52szlqaah7q6dg80m87g997x428m7";
+       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
@@ -43343,49 +44039,64 @@ self: {
        broken = true;
      }) {};
 
-  "bulletproofs_1_0_1" = callPackage
-    ({ mkDerivation, arithmoi, base, containers, criterion, cryptonite
-     , galois-field, memory, MonadRandom, protolude, QuickCheck
-     , random-shuffle, tasty, tasty-discover, tasty-hunit
+  "bulletproofs_1_1_0" = callPackage
+    ({ mkDerivation, arithmoi, base, bytestring, containers, criterion
+     , cryptonite, elliptic-curve, galois-field, memory, MonadRandom
+     , protolude, QuickCheck, SHA, tasty, tasty-discover, tasty-hunit
      , tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "bulletproofs";
-       version = "1.0.1";
-       sha256 = "1c23dppl851a1ga9x8axkl27bswb0hlwql0mfabsd9ydclmipzf0";
+       version = "1.1.0";
+       sha256 = "1sj38m2x4y9483nwnk61jk4jphsyllgv5bgrx26nqlph45a9222a";
+       revision = "1";
+       editedCabalFile = "1wpnqwf352lr2ahkikk5b69d6lzmqqy3y7shzmshdr3j6fbg7ggf";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         arithmoi base containers cryptonite galois-field memory MonadRandom
-         protolude QuickCheck random-shuffle text
+         arithmoi base bytestring containers elliptic-curve galois-field
+         memory MonadRandom protolude QuickCheck SHA text
+       ];
+       executableHaskellDepends = [
+         arithmoi base bytestring containers elliptic-curve galois-field
+         memory MonadRandom protolude QuickCheck SHA text
        ];
        testHaskellDepends = [
-         arithmoi base containers cryptonite galois-field memory MonadRandom
-         protolude QuickCheck random-shuffle tasty tasty-discover
-         tasty-hunit tasty-quickcheck text
+         arithmoi base bytestring containers cryptonite elliptic-curve
+         galois-field memory MonadRandom protolude QuickCheck SHA tasty
+         tasty-discover tasty-hunit tasty-quickcheck text
        ];
        testToolDepends = [ tasty-discover ];
        benchmarkHaskellDepends = [
-         arithmoi base containers criterion cryptonite galois-field memory
-         MonadRandom protolude QuickCheck random-shuffle tasty tasty-hunit
-         tasty-quickcheck text
+         arithmoi base bytestring containers criterion elliptic-curve
+         galois-field memory MonadRandom protolude QuickCheck SHA tasty
+         tasty-hunit tasty-quickcheck text
        ];
+       description = "Bulletproofs are short zero-knowledge proofs without a trusted setup";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
 
   "bulmex" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, jsaddle
-     , jsaddle-dom, lens, network-uri, reflex, reflex-dom-core
-     , reflex-dom-helpers, text, time, witherable
+    ({ mkDerivation, aeson, base, bytestring, containers, generic-lens
+     , hspec, hspec-core, jsaddle, jsaddle-dom, keycode, lens
+     , network-uri, reflex, reflex-dom-core, reflex-dom-helpers, text
+     , time, witherable
      }:
      mkDerivation {
        pname = "bulmex";
-       version = "2.0.0";
-       sha256 = "0nzgzg17av87i1777rjakiyamcgkszfcw3ch150536vkp1jaqlm5";
+       version = "4.0.0";
+       sha256 = "0892prpi8hf8mkwr6n9228bfyji0wgdz9hyh619k20f6xim13ysc";
        libraryHaskellDepends = [
-         aeson base bytestring containers jsaddle jsaddle-dom lens
-         network-uri reflex reflex-dom-core reflex-dom-helpers text time
-         witherable
+         aeson base bytestring containers generic-lens jsaddle jsaddle-dom
+         keycode lens network-uri reflex reflex-dom-core reflex-dom-helpers
+         text time witherable
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers generic-lens hspec hspec-core
+         jsaddle jsaddle-dom keycode lens network-uri reflex reflex-dom-core
+         reflex-dom-helpers text time witherable
        ];
        description = "Reflex infused with bulma (css)";
        license = stdenv.lib.licenses.mit;
@@ -43576,6 +44287,8 @@ self: {
        pname = "butcher";
        version = "1.3.2.3";
        sha256 = "0lpicayq9k59m2ydz989xsypr653xwhp6mmhlp7nmjzk6jwpq5q5";
+       revision = "1";
+       editedCabalFile = "06vy9018ia6sncgxdmv4ili2krkqn1b6r7xz4raa18kdvgnl100v";
        libraryHaskellDepends = [
          base bifunctors containers deque extra free microlens microlens-th
          mtl multistate pretty transformers unsafe void
@@ -43666,8 +44379,8 @@ self: {
      }:
      mkDerivation {
        pname = "bv-little";
-       version = "1.1.0";
-       sha256 = "1cpmwmd6gig0gggbr197cjpp0ykaj30jniqq3r5lsv644wizkg6r";
+       version = "1.1.1";
+       sha256 = "034riqlgkccyl5lvc593v3dyszvqy2vqikk80qm6lw30pkmbcdnr";
        libraryHaskellDepends = [
          base deepseq hashable integer-gmp keys mono-traversable
          mono-traversable-keys primitive QuickCheck text-show
@@ -43714,6 +44427,8 @@ self: {
        pname = "byline";
        version = "0.3.2.1";
        sha256 = "196c75i7cz7yww3d5pi5p51wd5bf3a8v8nsb2vkiv25ndwrsb20w";
+       revision = "1";
+       editedCabalFile = "1bkrhwi851qq6jd3wcajypqi3aha66hsr0jq1h8wgqpgm6mg0abl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -43856,16 +44571,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;
@@ -43874,13 +44589,27 @@ self: {
      }) {};
 
   "bytesmith" = callPackage
-    ({ mkDerivation, base, byteslice, primitive }:
+    ({ 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.1.0.0";
-       sha256 = "1jj2shy510r83r8nahf6lwjhwp73kbmla6mly4fzjza81syrwrm4";
-       libraryHaskellDepends = [ base byteslice primitive ];
-       testHaskellDepends = [ base byteslice primitive ];
+       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 byte-order byteslice primitive tasty tasty-hunit
+         tasty-quickcheck text-short wide-word
+       ];
+       benchmarkHaskellDepends = [
+         base byteslice bytestring gauge primitive
+       ];
        description = "Nonresumable byte parser";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -44322,6 +45051,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;
@@ -44468,8 +45199,8 @@ self: {
      }:
      mkDerivation {
        pname = "c-mosquitto";
-       version = "0.1.6.0";
-       sha256 = "16rx690qgjg219l1zkdrlx0gb2ihxd6jhgnh53v0v9hrqlxn35cd";
+       version = "0.1.7.0";
+       sha256 = "1ljk53a1qpr3fv097ps2l7n6l74cxwzhja5i19g9k4bc9ygzqw9b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44640,6 +45371,8 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Cellular Automata";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ca-province-codes" = callPackage
@@ -44766,10 +45499,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.1.1";
-       sha256 = "1yb3wvjqqmkm4aysfyx4zf1z88453ywfc4czb4zvghfdgd95d0rx";
-       revision = "1";
-       editedCabalFile = "054xaxj0cf8cdd2l5jp3p4s3ar8ncq92cw3s0912vd85kw2bw3rl";
+       version = "1.0.1.3";
+       sha256 = "03x5p2yz6vdrhl8dnmgc7phbsmrg7x51syg41i2hjcw9bm2js8wg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44939,8 +45670,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "cabal-doctest";
-       version = "1.0.7";
-       sha256 = "1v5dlwsxd9kdll07x5apnf76j2g2pqfp138pacc64j6agrgyv00h";
+       version = "1.0.8";
+       sha256 = "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        description = "A Setup.hs helper for doctests running";
        license = stdenv.lib.licenses.bsd3;
@@ -44963,22 +45694,28 @@ self: {
 
   "cabal-flatpak" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cabal-plan
-     , containers, http-client, http-client-tls, http-types
-     , optparse-applicative, pathtype, shell-utility, text, utility-ht
+     , containers, cryptohash-sha256, http-client, http-client-tls
+     , http-types, optparse-applicative, pathtype, shell-utility, tar
+     , text, utility-ht, zlib
      }:
      mkDerivation {
        pname = "cabal-flatpak";
-       version = "0.0";
-       sha256 = "0ci55nzlp1hqx31m7pw37ms8pb053gb85126pszpsd8n7yvlra9w";
+       version = "0.1";
+       sha256 = "0f42sfqf0n7yizvvn6mvb9fbfrqzyanm10v9lk895jg6cryxy20j";
+       revision = "1";
+       editedCabalFile = "05q1bpjvkq7g6q5fx1p44h562i9m6vqffy43arc26zpfgssm59z2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson aeson-pretty base bytestring cabal-plan containers
-         http-client http-client-tls http-types optparse-applicative
-         pathtype shell-utility text utility-ht
+         cryptohash-sha256 http-client http-client-tls http-types
+         optparse-applicative pathtype shell-utility tar text utility-ht
+         zlib
        ];
        description = "Generate a FlatPak manifest from a Cabal package description";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-fmt" = callPackage
@@ -44988,8 +45725,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-fmt";
-       version = "0.1.1";
-       sha256 = "07hx1s7l5zmh7vs2zmmm56msz2m7wnzn919mvnpypvrsswmmnnd9";
+       version = "0.1.2";
+       sha256 = "0h4qxbwykddbdbiw5j140v8cin5h4aqi260wd9fddpxdpkpmdrda";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45091,6 +45828,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
@@ -45208,6 +45947,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.2";
+       sha256 = "14bfiw8ddfm323a8870wazdb6rlyq52ykrhhm24vd2lxg61sn4aa";
+       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
@@ -45233,8 +45998,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-macosx";
-       version = "0.2.4.1";
-       sha256 = "01l0m11q5knq1n9vx73515dpzw1mwxf7qin8qfb5ci21yxg91mww";
+       version = "0.2.4.2";
+       sha256 = "1ah1bj32xcjqc90cqc7y5mkyg985h8ffb6nbbxlzxfr0a3nkzka8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45314,15 +46079,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
-     , lens, mtl, optparse-applicative, parsec, semialign
-     , singleton-bool, text, these, topograph, transformers, vector
+     , mtl, optics-core, optparse-applicative, parsec, process
+     , semialign, singleton-bool, text, these, topograph, transformers
+     , vector
      }:
      mkDerivation {
        pname = "cabal-plan";
-       version = "0.6.0.0";
-       sha256 = "0yhczs9qc6vy1g0jgj6hb23g4f92qnwq325zxlazsghcvxjrxhx2";
+       version = "0.6.2.0";
+       sha256 = "0gwbyyj4xih9barg2c589v6z82s0gx98airs6icivg301khg9fzg";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -45331,9 +46097,9 @@ self: {
          filepath text
        ];
        executableHaskellDepends = [
-         ansi-terminal base base-compat bytestring containers directory lens
-         mtl optparse-applicative parsec 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;
@@ -45374,20 +46140,19 @@ self: {
 
   "cabal-rpm" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , http-client, http-client-tls, http-conduit, process, simple-cmd
-     , time, unix
+     , http-client, http-client-tls, http-conduit, optparse-applicative
+     , process, simple-cabal, simple-cmd, simple-cmd-args, time, unix
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "0.13.3";
-       sha256 = "04d5m74i0r6livhkhmccrwhshpa2aizyb77i2qcqhxradw0lkvl4";
-       revision = "1";
-       editedCabalFile = "1ngw9afzplbz4q707nak9zcjmk9fdynw0jvis4lgjq02y4i14hj6";
+       version = "1.0.2";
+       sha256 = "03315wka46mqz090cijz1rk69i861nm6yc0jm6xjlgrbhi4ngmri";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring Cabal directory filepath http-client
-         http-client-tls http-conduit process simple-cmd time unix
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
        ];
        description = "RPM packaging tool for Haskell Cabal-based packages";
        license = stdenv.lib.licenses.gpl3;
@@ -45535,6 +46300,8 @@ self: {
        pname = "cabal-test-quickcheck";
        version = "0.1.8.2";
        sha256 = "04fdfxvgp518x7n6d74l92qh67z94pay4wldy8dv4n51zhkgk8bf";
+       revision = "1";
+       editedCabalFile = "1q0zs98z8wvr0gzy27ff688fpsgwxjypwjsyzs8v2v6gqd49iwri";
        libraryHaskellDepends = [ base Cabal QuickCheck ];
        description = "QuickCheck for Cabal";
        license = stdenv.lib.licenses.mit;
@@ -45670,8 +46437,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.14.4";
-       sha256 = "0pxqdwxqc5siqrp7mqvz6g380wx4xn3y3mph8vjywvycvpqg2gqh";
+       version = "2.15.0";
+       sha256 = "1xfskgmwr75f1lk8a6mllp2h62jdl7hkwb01r74gpi0n6h17p3nm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45720,14 +46487,14 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "cabal2spec_2_3" = callPackage
+  "cabal2spec_2_4" = callPackage
     ({ mkDerivation, base, Cabal, filepath, optparse-applicative, tasty
      , tasty-golden, time
      }:
      mkDerivation {
        pname = "cabal2spec";
-       version = "2.3";
-       sha256 = "1hjxsmfgf3p919d6zr3gwkzizxg4lmqyga84a917qywp9b5g3mfi";
+       version = "2.4";
+       sha256 = "0i227x2ybm4p40r0k4vdq4sbadc1sv11p1pbzw9cr0abqlv2mi78";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal filepath time ];
@@ -45904,8 +46671,8 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.1.2";
-       sha256 = "0b0jggcbnrs0pppn60kaggxkwmg0ri7b1i4j5613abgw8bj258s8";
+       version = "0.1.3.0";
+       sha256 = "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2";
        libraryHaskellDepends = [
          base clock hashable stm transformers unordered-containers
        ];
@@ -45963,10 +46730,10 @@ self: {
      }) {};
 
   "cachix" = callPackage
-    ({ mkDerivation, async, base, base64-bytestring, boost_context
-     , bytestring, cachix-api, conduit, conduit-extra, containers
-     , cookie, cryptonite, dhall, directory, ed25519, filepath, fsnotify
-     , here, hnix-store-core, hspec, hspec-discover, http-client
+    ({ mkDerivation, async, base, base64-bytestring, boost, bytestring
+     , cachix-api, conduit, conduit-extra, containers, cookie
+     , cryptonite, dhall, directory, ed25519, filepath, fsnotify, here
+     , hnix-store-core, hspec, hspec-discover, http-client
      , http-client-tls, http-conduit, http-types, inline-c, inline-c-cpp
      , lzma-conduit, megaparsec, memory, mmorph, netrc, nix
      , optparse-applicative, process, protolude, resourcet, retry
@@ -45976,8 +46743,8 @@ self: {
      }:
      mkDerivation {
        pname = "cachix";
-       version = "0.3.2";
-       sha256 = "0i0p5cp6g5ai2xxdkr0bbdlf469b52lp3fh37rq075zaw94f6qr8";
+       version = "0.3.4";
+       sha256 = "1zafbwy0pbdnaybf7q9izrwi6w1l0df6l5628i6m9j9d82k75iqx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45990,7 +46757,7 @@ self: {
          servant-auth-client servant-client servant-client-core
          servant-conduit text unix uri-bytestring versions
        ];
-       librarySystemDepends = [ boost_context ];
+       librarySystemDepends = [ boost ];
        libraryPkgconfigDepends = [ nix ];
        executableHaskellDepends = [ base cachix-api ];
        executableToolDepends = [ hspec-discover ];
@@ -45999,7 +46766,7 @@ self: {
        ];
        description = "Command line client for Nix binary cache hosting https://cachix.org";
        license = stdenv.lib.licenses.asl20;
-     }) {boost_context = null; inherit (pkgs) nix;};
+     }) {inherit (pkgs) boost; inherit (pkgs) nix;};
 
   "cachix-api" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
@@ -46113,10 +46880,8 @@ self: {
      }:
      mkDerivation {
        pname = "cairo";
-       version = "0.13.6.0";
-       sha256 = "0c0b0ffxd9dx4c52ny6im420f6wyjmd822fn6vh561d07nr0y08n";
-       revision = "1";
-       editedCabalFile = "1mldbaa3qp0nf4jyns1cnadyk8gga2w6hl3y2xdbnbbsjm42s4m9";
+       version = "0.13.8.0";
+       sha256 = "09g93jzackry9yi4xsd5d6h75z0r7mbw2s2w7wd2af4dmp76l2d9";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -46403,6 +47168,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
@@ -46430,6 +47212,28 @@ self: {
        broken = true;
      }) {};
 
+  "call-alloy" = callPackage
+    ({ mkDerivation, base, bytestring, directory, file-embed, filepath
+     , hashable, hspec, process, split, unix
+     }:
+     mkDerivation {
+       pname = "call-alloy";
+       version = "0.1.0.2";
+       sha256 = "0blimzaambck8z4sy24s7d0l4v4hcaqxfbkidj2sjvgm0xidd2gb";
+       libraryHaskellDepends = [
+         base bytestring directory file-embed filepath hashable process
+         split unix
+       ];
+       testHaskellDepends = [
+         base bytestring directory file-embed filepath hashable hspec
+         process split unix
+       ];
+       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
     ({ mkDerivation, base, bytestring, data-msgpack, mtl
      , storable-endian, template-haskell
@@ -46549,14 +47353,14 @@ self: {
      }) {};
 
   "can-i-haz" = callPackage
-    ({ mkDerivation, base, deepseq, hspec, should-not-typecheck }:
+    ({ mkDerivation, base, deepseq, hspec, HUnit, mtl }:
      mkDerivation {
        pname = "can-i-haz";
-       version = "0.1.0.1";
-       sha256 = "1nay2hrvf8cxazsy5ha3affwxayirznjf0zlir0n7vbyl5w92im0";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base deepseq hspec should-not-typecheck ];
-       description = "Generic implementation of the Has pattern";
+       version = "0.3.1.0";
+       sha256 = "0pwwl5pawvd1sygc8k7ichfk15inhcy4has40zplqqws5lmm6mz8";
+       libraryHaskellDepends = [ base mtl ];
+       testHaskellDepends = [ base deepseq hspec HUnit mtl ];
+       description = "Generic implementation of the Has and CoHas patterns";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -46738,8 +47542,8 @@ self: {
        pname = "cantor-pairing";
        version = "0.1.1.0";
        sha256 = "03vl7qd5962kr0mi4ymgmh667948rzqiq9f1ixcvycyjz8hz0yqw";
-       revision = "1";
-       editedCabalFile = "1rl4zjxwiys9mf75bvw363ydpr3nwvi6d77p19rwnmxc9k5spap6";
+       revision = "3";
+       editedCabalFile = "0rcjz2r4l4crxxda3hjpi5kkxrh4pgdrcbw29bj5w9a4jph0d0ld";
        libraryHaskellDepends = [
          arithmoi base containers integer-gmp integer-logarithms
        ];
@@ -47650,8 +48454,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
        ];
@@ -47758,6 +48562,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "castagnoli" = callPackage
+    ({ mkDerivation, base, byteslice, bytestring, primitive
+     , primitive-slice, primitive-unlifted, text
+     }:
+     mkDerivation {
+       pname = "castagnoli";
+       version = "0.1.0.0";
+       sha256 = "10mznwl00lmx5zmha7w0p7yx406k0qvv74x6lcms4ynq4z5hi8fj";
+       revision = "1";
+       editedCabalFile = "1yp0c8klbf81m2v7qwj22l2yh0w6q6xgnk44zwxdkgpbsjghdp14";
+       libraryHaskellDepends = [
+         base byteslice primitive primitive-slice primitive-unlifted
+       ];
+       testHaskellDepends = [ base bytestring primitive text ];
+       description = "Portable CRC-32C";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {primitive-slice = null;};
+
   "caster" = callPackage
     ({ mkDerivation, base, bytestring, directory, fast-builder, mtl
      , QuickCheck, quickcheck-instances, stm, tasty, tasty-discover
@@ -47870,14 +48694,29 @@ self: {
      }) {};
 
   "category" = callPackage
-    ({ mkDerivation, alg, base, transformers }:
+    ({ mkDerivation, alg, base, dual, transformers }:
      mkDerivation {
        pname = "category";
-       version = "0.2.4.1";
-       sha256 = "0gliy1frgpgyzq3vkin315ylpklfc6dvg0vd93hz8f9m3js6dm48";
-       libraryHaskellDepends = [ alg base transformers ];
+       version = "0.2.4.2";
+       sha256 = "112cipa7bnjaj8k9grhxzw7ffkhillgf09qsrp62p1aqsvcrlmf8";
+       libraryHaskellDepends = [ alg base dual transformers ];
+       description = "Categorical types and classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "category_0_2_5_0" = callPackage
+    ({ mkDerivation, alg, base, dual, transformers }:
+     mkDerivation {
+       pname = "category";
+       version = "0.2.5.0";
+       sha256 = "0iya7q3b1z1bxv4amsibmc1lrmf7dng76nzcnanwy300jm1n42w7";
+       libraryHaskellDepends = [ alg base dual transformers ];
        description = "Categorical types and classes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "category-extras" = callPackage
@@ -48199,13 +49038,13 @@ self: {
      }) {dttools = null;};
 
   "cdeps" = callPackage
-    ({ mkDerivation, alex, array, base, bytestring, directory, filepath
-     , hspec, optparse-applicative, text
+    ({ mkDerivation, alex, array, base, bytestring, criterion
+     , directory, filepath, hspec, optparse-applicative, text
      }:
      mkDerivation {
        pname = "cdeps";
-       version = "0.1.2.4";
-       sha256 = "1ijfgs03zs6cj87s7sck4md1qmfavcmgnfz8asw8yf6bf0rk6qfl";
+       version = "0.1.3.0";
+       sha256 = "1c237awhrr1r0qz7jll1d7803j1khhz1qq4my2dddsgwfsy57ga3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -48214,6 +49053,7 @@ self: {
        libraryToolDepends = [ alex ];
        executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [ base hspec ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
        description = "Extract dependencies from C code";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -48764,8 +49604,8 @@ self: {
        pname = "cgi";
        version = "3001.4.0.0";
        sha256 = "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k";
-       revision = "1";
-       editedCabalFile = "0q1s49hglw0zjcqsi7ba8nminywxgn6b83xds2lfp0r12q2h00xr";
+       revision = "2";
+       editedCabalFile = "1y0gh51qzdkmvla5r02vab8i9r90m4qqglb0iyy888yc4lw2v6jj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -48776,6 +49616,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cgi_3001_5_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions, mtl
+     , multipart, network-uri, parsec, time, xhtml
+     }:
+     mkDerivation {
+       pname = "cgi";
+       version = "3001.5.0.0";
+       sha256 = "09wvp9vkqasns4flw9z46nhcy96r4qxjv6h47d5f90drz77pmm8a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers exceptions mtl multipart network-uri
+         parsec time xhtml
+       ];
+       description = "A library for writing CGI programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cgi-undecidable" = callPackage
     ({ mkDerivation, base, cgi, mtl }:
      mkDerivation {
@@ -49444,8 +50303,6 @@ self: {
        ];
        description = "A simple and intuitive library for automated testing";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "chell-hunit" = callPackage
@@ -49457,8 +50314,6 @@ self: {
        libraryHaskellDepends = [ base chell HUnit ];
        description = "HUnit support for the Chell testing library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "chell-quickcheck" = callPackage
@@ -49591,17 +50446,15 @@ self: {
      }) {};
 
   "chiphunk" = callPackage
-    ({ mkDerivation, base, c2hs, safe-exceptions, StateVar
+    ({ mkDerivation, base, c2hs, hashable, safe-exceptions, StateVar
      , vector-space
      }:
      mkDerivation {
        pname = "chiphunk";
-       version = "0.1.0.3";
-       sha256 = "0a39x0v5pswaz4b9nbq1cmi172qglcfk54f5w7sb0ldx88qqi9d3";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.2.1";
+       sha256 = "03mjx286kbxnnsalqii7fbq3zgdbdsb2mr6x334jffif801sjmbq";
        libraryHaskellDepends = [
-         base safe-exceptions StateVar vector-space
+         base hashable safe-exceptions StateVar vector-space
        ];
        libraryToolDepends = [ c2hs ];
        description = "Haskell bindings for Chipmunk2D physics engine";
@@ -49951,10 +50804,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
@@ -49971,6 +50822,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "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.1";
+       sha256 = "0g41hchir6rxfnd8halg49y80pc9dr38k7b7cik18gqdasswwg6c";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring hashable primitive semigroups text
+         torsor vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring doctest HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text torsor
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring criterion deepseq old-locale QuickCheck
+         text thyme time vector
+       ];
+       description = "A performant time library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "chronos-bench" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, chronos
      , containers, deepseq, optparse-applicative, process, terminal-size
@@ -49991,6 +50869,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "chs-cabal" = callPackage
+    ({ mkDerivation, base, Cabal, chs-deps }:
+     mkDerivation {
+       pname = "chs-cabal";
+       version = "0.1.1.0";
+       sha256 = "0zan47md9zivzc1gd1j1g0200n8d0ffx4dcmkd9vriqjsdwhqvl5";
+       libraryHaskellDepends = [ base Cabal chs-deps ];
+       description = "Cabal with c2hs dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "chs-deps" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, criterion, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "chs-deps";
+       version = "0.1.0.0";
+       sha256 = "0mgi44nvsbmfxj2xr7ja7yslsxvbnznd9xbprz967705nhbs2cqb";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ array base bytestring ];
+       libraryToolDepends = [ alex ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "c2hs dependency analyzer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "chu2" = callPackage
     ({ mkDerivation, base, bytestring, data-default, hack2
      , hack2-handler-snap-server, utf8-string
@@ -50374,8 +51282,8 @@ self: {
        pname = "circle-packing";
        version = "0.1.0.6";
        sha256 = "06z8irwrjxxgk5xqlpy6a9mjl44kp9pgx2xpslhgxrd31nll9vk4";
-       revision = "2";
-       editedCabalFile = "1ag213lv6yfzxdc4ghbywy165qblnqx5b3j9d23kc6fcyf19nfyk";
+       revision = "3";
+       editedCabalFile = "0rcv84a6bp6dll8df4pfmjl03cm87hrlrf6mbig26ifp9ql4542m";
        libraryHaskellDepends = [ base ];
        description = "Simple heuristic for packing discs of varying radii in a circle";
        license = stdenv.lib.licenses.bsd3;
@@ -50846,8 +51754,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.0.0";
-       sha256 = "1b216mvw4w0yhpr8bi5j6ra2lfhk6imys10r0pidrpfc8wh779lg";
+       version = "1.0.1";
+       sha256 = "00g5j3f8j9virq32mmbk8qi6nkjcgagw6n9n8kwv9x3xyl4cpjkq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -50861,38 +51769,37 @@ self: {
        executableHaskellDepends = [ base ];
        description = "CAES Language for Synchronous Hardware";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "clash-lib" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, attoparsec
-     , base, binary, bytestring, clash-prelude, concurrent-supply
-     , containers, data-binary-ieee754, deepseq, directory, errors
-     , exceptions, filepath, ghc, hashable, hint, integer-gmp
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base, binary
+     , bytestring, clash-prelude, concurrent-supply, containers
+     , data-binary-ieee754, deepseq, directory, errors, exceptions
+     , filepath, ghc, ghc-typelits-knownnat, hashable, hint, integer-gmp
      , interpolate, lens, mtl, parsers, prettyprinter, primitive
-     , process, reducers, template-haskell, temporary, text, text-show
-     , time, transformers, trifecta, unordered-containers, vector
-     , vector-binary-instances
+     , process, reducers, tasty, tasty-hunit, template-haskell
+     , temporary, text, text-show, time, transformers, trifecta
+     , unordered-containers, vector, vector-binary-instances
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.0.0";
-       sha256 = "1mh6aj6987i80xkqxw1jrqf0jih7jlgsgf13p30mc1graibxbj95";
+       version = "1.0.1";
+       sha256 = "0icp6lgn5iix8iqcr2dqcjwx7qzx4r61lxqjjdrkfrj87kxaa9v1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson ansi-terminal ansi-wl-pprint attoparsec base binary
-         bytestring clash-prelude concurrent-supply containers
-         data-binary-ieee754 deepseq directory errors exceptions filepath
-         ghc hashable hint integer-gmp interpolate lens mtl parsers
-         prettyprinter primitive process reducers template-haskell temporary
-         text text-show time transformers trifecta unordered-containers
-         vector vector-binary-instances
+         aeson ansi-terminal attoparsec base binary bytestring clash-prelude
+         concurrent-supply containers data-binary-ieee754 deepseq directory
+         errors exceptions filepath ghc hashable hint integer-gmp
+         interpolate lens mtl parsers prettyprinter primitive process
+         reducers template-haskell temporary text text-show time
+         transformers trifecta unordered-containers vector
+         vector-binary-instances
+       ];
+       testHaskellDepends = [
+         base clash-prelude ghc ghc-typelits-knownnat lens tasty tasty-hunit
        ];
        description = "CAES Language for Synchronous Hardware - As a Library";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "clash-multisignal" = callPackage
@@ -50923,10 +51830,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.0.0";
-       sha256 = "045818jkl8q3b5rp52fx5znb0d9ai3ny8avls0jmgf7aqbmcwr5k";
-       revision = "2";
-       editedCabalFile = "0l7scl33mrr0i2208yh5dqbz8afmh9crhf9wlvyz67j1l91sfaqc";
+       version = "1.0.1";
+       sha256 = "0cqsr561cx27kqrdf56af1ggq4d1wadzlmbx4wm14l4z6vc2579p";
        libraryHaskellDepends = [
          array base bifunctors binary bytestring constraints containers
          data-binary-ieee754 data-default-class deepseq ghc-prim
@@ -50943,8 +51848,6 @@ self: {
        ];
        description = "CAES Language for Synchronous Hardware - Prelude library";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "clash-prelude-quickcheck" = callPackage
@@ -51197,15 +52100,13 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
-       version = "0.13.1";
-       sha256 = "18r8lgzyscxnw6xdxg0jxvp2977i02fjh3n5p89fnd8qrh0r2kl4";
+       version = "0.13.3";
+       sha256 = "192lsbyj6azjs2ygpx4i47fyr8zfmvwcas8mia07ndqglk2c9csx";
        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;
      }) {};
 
   "clckwrks" = callPackage
@@ -51222,8 +52123,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.25.2";
-       sha256 = "087k0n6ri0pg5wmjnw3gkjaz5d627519vby9kmiagck7id7f89q9";
+       version = "0.25.4";
+       sha256 = "0mlrkyhs095b8bwsk4mjq4wys6ydn4m9nds37lxqnw6qzl6rk5hl";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
@@ -51251,8 +52152,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.3.0";
-       sha256 = "0ardhl27n3al945s88dmygnw42ki5sn23s59rkhbs4pdyp9yawhs";
+       version = "0.3.0.1";
+       sha256 = "0f44ndvnkivwc72lxfr779kyn20g7f4wy3prqazdhk47xvl1fps6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51379,8 +52280,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-media";
-       version = "0.6.16.6";
-       sha256 = "05gmr0y5ygsybmdp1k2xcfhbn7wix9mrwvwsv4x0has9l8xc92q1";
+       version = "0.6.16.8";
+       sha256 = "0l6rb5gjag9mxcn067yp3h0bd37jg18p3sg79gkf2pzkxyzhgwqk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state attoparsec base blaze-html cereal clckwrks containers
@@ -51406,8 +52307,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.18";
-       sha256 = "0fgz0rxzkbavzqci4kcav1pljkhdy1mgmf3mldbxp8f88pr5lm42";
+       version = "0.4.3.19";
+       sha256 = "06lvr3sq5slcfc1r3vmip9flh5dn50mz6ar7x11zk4dm365g4vhk";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
@@ -51430,14 +52331,13 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.2.1";
-       sha256 = "1mkqi3qx6k86d2xr4cyxg0ym5c71ip4ijgg6mg20gf3jkjjzvha4";
+       version = "0.4.2.2";
+       sha256 = "0sa3k34m1kf6r7i42rfg5v3g1m9drisfnn2bvlfcbyk8sna7mf80";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
          mtl text web-plugins
        ];
-       libraryToolDepends = [ hsx2hs ];
        description = "simple bootstrap based template for clckwrks";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -51602,15 +52502,12 @@ self: {
      }) {};
 
   "cli-setup" = callPackage
-    ({ mkDerivation, base, bytestring, directory, file-embed, process
-     }:
+    ({ mkDerivation, base, directory, process }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.0.7";
-       sha256 = "1fp1m48rpgnq3db4nvcnry3h46m7k07g8blivv0mb62w8fdm9smq";
-       libraryHaskellDepends = [
-         base bytestring directory file-embed process
-       ];
+       version = "0.2.1.4";
+       sha256 = "09ycy8500si810ysn70khc2np1zy21a1647kva8lkcj4pjbb1bvx";
+       libraryHaskellDepends = [ base directory process ];
        description = "Helper setup scripts for packaging command-line tools";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -52065,13 +52962,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
@@ -52379,8 +53278,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 = [
@@ -52582,6 +53481,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 {
@@ -52671,14 +53582,16 @@ self: {
     ({ mkDerivation, array, base, containers }:
      mkDerivation {
        pname = "cmu";
-       version = "1.11";
-       sha256 = "1zldm0j4cxhc3zwxz2zn35mbnrqpjagh3v90akvnjz95jy60z171";
+       version = "1.12";
+       sha256 = "08a5a6w2qq3fbvrjkhk8dzansv7rs81bamyi383wr48qxlx2vlsb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base containers ];
        executableHaskellDepends = [ array base containers ];
        description = "Unification in a Commutative Monoid";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cmv" = callPackage
@@ -52847,6 +53760,81 @@ self: {
        broken = true;
      }) {};
 
+  "cobot" = callPackage
+    ({ mkDerivation, array, base, bytestring, clock, containers
+     , criterion, deepseq, hspec, lens, linear, megaparsec, mtl
+     , parallel, random, split, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "cobot";
+       version = "0.1.1.0";
+       sha256 = "17cl8dh4y7wyas6afslb1d27ibjc2633dcyx6pc6zng2p36m83l9";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq lens linear megaparsec mtl
+         split template-haskell text
+       ];
+       testHaskellDepends = [
+         array base bytestring containers deepseq hspec lens linear
+         megaparsec mtl split template-haskell text
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring clock containers criterion deepseq lens
+         linear megaparsec mtl parallel random split template-haskell text
+       ];
+       description = "Computational biology toolkit to collaborate with researchers in constructive protein engineering";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cobot-io" = callPackage
+    ({ mkDerivation, array, attoparsec, base, binary, bytestring
+     , 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.5";
+       sha256 = "1md3dyfaybhmfprw3qdwqvlh0r73wy8smf8j8jkdrlkxqw6vhd1f";
+       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 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, bytestring, cobot, containers
+     , data-default, data-msgpack, deepseq, hspec, lens, mtl
+     , neat-interpolation, QuickCheck, random, regex-tdfa, RNA, text
+     }:
+     mkDerivation {
+       pname = "cobot-tools";
+       version = "0.1.2.2";
+       sha256 = "07vazc4k8y867ba0m3pd177087cwdkdjmd5zkj39ravg44yx6hhm";
+       libraryHaskellDepends = [
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq lens mtl regex-tdfa text
+       ];
+       librarySystemDepends = [ RNA ];
+       testHaskellDepends = [
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq hspec lens mtl neat-interpolation QuickCheck random
+         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
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -53031,17 +54019,26 @@ self: {
      }) {};
 
   "codeworld-api" = callPackage
-    ({ mkDerivation, base, blank-canvas, cereal, cereal-text
-     , containers, ghc-prim, hashable, mtl, random, random-shuffle, text
-     , time
+    ({ mkDerivation, aeson, base, base64-bytestring, blank-canvas
+     , bytestring, cereal, cereal-text, containers, deepseq
+     , dependent-sum, ghc-prim, hashable, HUnit, monad-loops, mtl
+     , random, ref-tf, reflex, template-haskell, test-framework
+     , test-framework-hunit, text, time
      }:
      mkDerivation {
        pname = "codeworld-api";
-       version = "0.3.1";
-       sha256 = "13kggrhm7hvkh3c9pilzgsb7yhkdbyxzj6jmfxqf4lskws17h0bg";
+       version = "0.4.0";
+       sha256 = "0smw8xjigq1sl3rppbhvifsrzjfbhy4d41m0rpjf1d1ahvby64ja";
        libraryHaskellDepends = [
-         base blank-canvas cereal cereal-text containers ghc-prim hashable
-         mtl random random-shuffle text time
+         aeson base base64-bytestring blank-canvas bytestring cereal
+         cereal-text containers deepseq dependent-sum ghc-prim hashable
+         monad-loops mtl random ref-tf reflex template-haskell text time
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring blank-canvas bytestring cereal
+         cereal-text containers deepseq dependent-sum ghc-prim hashable
+         HUnit monad-loops mtl random ref-tf reflex template-haskell
+         test-framework test-framework-hunit text time
        ];
        description = "Graphics library for CodeWorld";
        license = stdenv.lib.licenses.asl20;
@@ -53157,6 +54154,44 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "coformat" = callPackage
+    ({ mkDerivation, aeson, async, async-pool, base, bytestring
+     , can-i-haz, command-qq, containers, dom-selector, extra
+     , fast-logger, generic-data, hashable, html-conduit, interpolate
+     , lens, lens-aeson, monad-logger, mtl, optparse-generic, scientific
+     , temporary, text, unordered-containers, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "coformat";
+       version = "0.2.1.0";
+       sha256 = "1s6nh389d6p8ll1v32hifamb1a8vhd194v86ff8r0in7bzc54kfj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       testHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       description = "Generate clang-format config based on some existing code base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cofunctor" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -53260,6 +54295,40 @@ self: {
        broken = true;
      }) {};
 
+  "coinbase-pro" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, async, base, binary
+     , bytestring, containers, cryptonite, HsOpenSSL, http-api-data
+     , http-client, http-client-tls, http-streams, http-types
+     , io-streams, memory, network, servant, servant-client
+     , servant-client-core, text, time, transformers, unagi-streams
+     , unordered-containers, vector, websockets, wuss
+     }:
+     mkDerivation {
+       pname = "coinbase-pro";
+       version = "0.7.1.0";
+       sha256 = "1fghz3wjlx5wariry4z9fsj15rrx5shzrzw1315b6f1fqj4y7q0b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing async base binary bytestring containers
+         cryptonite HsOpenSSL http-api-data http-client http-client-tls
+         http-streams http-types io-streams memory network servant
+         servant-client servant-client-core text time transformers
+         unagi-streams unordered-containers vector websockets wuss
+       ];
+       executableHaskellDepends = [
+         aeson aeson-casing async base binary bytestring containers
+         cryptonite HsOpenSSL http-api-data http-client http-client-tls
+         http-streams http-types io-streams memory network servant
+         servant-client servant-client-core text time transformers
+         unagi-streams unordered-containers vector websockets wuss
+       ];
+       description = "Client for Coinbase Pro";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "coincident-root-loci" = callPackage
     ({ mkDerivation, array, base, combinat, containers, random, tasty
      , tasty-hunit, transformers
@@ -53359,17 +54428,13 @@ self: {
      }) {};
 
   "collada-types" = callPackage
-    ({ mkDerivation, base, containers, enumerable, OpenGL, tuple
-     , tuple-gen, vector
-     }:
+    ({ mkDerivation, base, containers, OpenGL, tuple, vector }:
      mkDerivation {
        pname = "collada-types";
-       version = "0.3";
-       sha256 = "0aw1y3ylcnpj3wwh6w8168a4mmkiayav6swyh2fq3vfjlds91xc8";
-       libraryHaskellDepends = [
-         base containers enumerable OpenGL tuple tuple-gen vector
-       ];
-       description = "Data exchange between graphic applications";
+       version = "0.4";
+       sha256 = "1qs1bxxkjb6clszv8mahbmwdwbqpdr5hcxwn3nq5d6wc2xgb4y6r";
+       libraryHaskellDepends = [ base containers OpenGL tuple vector ];
+       description = "Data exchange between graphics applications";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -53691,8 +54756,8 @@ self: {
      }:
      mkDerivation {
        pname = "colour-space";
-       version = "0.1.5.0";
-       sha256 = "13xmn8l11r06xna575sw6sdhp2rj25q8qd9ljbjpl37fr1qbc8xs";
+       version = "0.1.5.1";
+       sha256 = "18aqmppmq3czq38yn3rdblj6klvnax64jbkc524v9lsj45d7si43";
        libraryHaskellDepends = [
          base call-stack colour constrained-categories JuicyPixels lens
          linear linearmap-category manifolds semigroups vector-space
@@ -54197,8 +55262,8 @@ self: {
      }:
      mkDerivation {
        pname = "comonad";
-       version = "5.0.5";
-       sha256 = "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c";
+       version = "5.0.6";
+       sha256 = "1blgp2nm9cvnsdi2bmkmly5m0gz91npjvf1i5j4pnx6imhbb1kvp";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers distributive tagged transformers
@@ -54389,6 +55454,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 {
@@ -54533,6 +55616,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
@@ -54543,6 +55650,7 @@ self: {
        ];
        description = "Compensated floating-point arithmetic";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "competition" = callPackage
@@ -55361,6 +56469,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "concurrency_1_8_1_0" = callPackage
+    ({ mkDerivation, array, atomic-primops, base, exceptions
+     , monad-control, mtl, stm, transformers
+     }:
+     mkDerivation {
+       pname = "concurrency";
+       version = "1.8.1.0";
+       sha256 = "0nw5i85lzh03ppcprzpvrlp3bmdam1z50bp7ddq9mp2ycyjbvrp5";
+       libraryHaskellDepends = [
+         array atomic-primops base exceptions monad-control mtl stm
+         transformers
+       ];
+       description = "Typeclasses, functions, and data types for concurrency and STM";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "concurrency-benchmarks" = callPackage
     ({ mkDerivation, async, base, bench-graph, bytestring, Chart
      , Chart-diagrams, csv, deepseq, directory, gauge, getopt-generics
@@ -55469,6 +56594,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "concurrent-hashtable" = callPackage
+    ({ mkDerivation, async, atomic-primops, base, containers, criterion
+     , dictionary-type, hashable, QuickCheck, random, stm
+     , stm-containers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "concurrent-hashtable";
+       version = "0.1.8";
+       sha256 = "082qhvdqqb7szgv4f8vk5n3aq901fsglf7ydiycakfwjmbfyq0js";
+       libraryHaskellDepends = [
+         async atomic-primops base hashable random stm vector
+       ];
+       testHaskellDepends = [
+         async atomic-primops base containers dictionary-type hashable
+         QuickCheck random stm vector
+       ];
+       benchmarkHaskellDepends = [
+         async atomic-primops base containers criterion dictionary-type
+         hashable random stm stm-containers unordered-containers vector
+       ];
+       description = "Thread-safe hash tables for multi-cores!";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {dictionary-type = null;};
+
   "concurrent-machines" = callPackage
     ({ mkDerivation, async, base, containers, lifted-async, machines
      , monad-control, semigroups, tasty, tasty-hunit, time, transformers
@@ -55498,8 +56649,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.10";
-       sha256 = "1wnjxnwbc3l853kiiijagzjyb6fmhz3lmkwls24plbximl1qrr22";
+       version = "1.10.11";
+       sha256 = "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -55573,6 +56724,8 @@ self: {
        pname = "concurrent-supply";
        version = "0.1.8";
        sha256 = "07zjczcgxwpi8imp0w86vrb78w067b322q5d7zlqla91sbf2gy6c";
+       revision = "1";
+       editedCabalFile = "1yzrr68k81w3jmrarx3y6z7ymzaaxwab509pp6kkd2fjia3g8wwk";
        libraryHaskellDepends = [ base ghc-prim hashable ];
        testHaskellDepends = [ base containers ];
        description = "A fast concurrent unique identifier supply with a pure API";
@@ -55705,6 +56858,21 @@ self: {
        broken = true;
      }) {};
 
+  "conduino" = callPackage
+    ({ mkDerivation, base, bytestring, containers, free
+     , list-transformer, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "conduino";
+       version = "0.2.0.0";
+       sha256 = "11l5gb28z3pp9g5wnlys8f0ffpfg7kd55gkrhqvq11lj9andipac";
+       libraryHaskellDepends = [
+         base bytestring containers free list-transformer mtl transformers
+       ];
+       description = "Lightweight composable continuation-based stream processors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "conduit_1_2_13_1" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, exceptions
      , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
@@ -55741,8 +56909,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.3.1.1";
-       sha256 = "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4";
+       version = "1.3.1.2";
+       sha256 = "12c21vrij63z60y3xd0dkg0da8sdhfq6nj5s3p5qknys5klwpqkq";
        libraryHaskellDepends = [
          base bytestring directory exceptions filepath mono-traversable mtl
          primitive resourcet text transformers unix unliftio-core vector
@@ -55770,41 +56938,6 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.10.1";
-       sha256 = "0lil9krb1gj4lckyfqlf9jmdb21n3wrf00kiiwcv1qc277p39z6y";
-       libraryHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra conduit-zstd containers deepseq exceptions
-         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
-         streaming-commons transformers unliftio-core vector
-       ];
-       testHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra conduit-zstd containers deepseq directory exceptions
-         HUnit lzma-conduit monad-control mtl pqueue resourcet stm
-         stm-conduit streaming-commons test-framework test-framework-hunit
-         test-framework-th transformers unliftio-core vector
-       ];
-       benchmarkHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra conduit-zstd containers criterion deepseq exceptions
-         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
-         streaming-commons transformers unliftio-core vector
-       ];
-       description = "Conduit-based algorithms";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-algorithms_0_0_11_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
-     , conduit-combinators, conduit-extra, conduit-zstd, containers
-     , criterion, deepseq, directory, exceptions, HUnit, lzma-conduit
-     , monad-control, mtl, pqueue, resourcet, stm, stm-conduit
-     , streaming-commons, test-framework, test-framework-hunit
-     , test-framework-th, transformers, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "conduit-algorithms";
        version = "0.0.11.0";
        sha256 = "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i";
        libraryHaskellDepends = [
@@ -55828,7 +56961,6 @@ self: {
        ];
        description = "Conduit-based algorithms";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-audio" = callPackage
@@ -56342,8 +57474,8 @@ self: {
     ({ mkDerivation, base, conferer, hspec, hspec-core, text }:
      mkDerivation {
        pname = "conferer-hspec";
-       version = "0.1.0.1";
-       sha256 = "1wjn4my0grb62vkswvxa4674s0fid6kskvxz1qll14gqw6wlkx19";
+       version = "0.1.0.2";
+       sha256 = "1hbvqnp1cdhxg3hcywyygby7z56q2xq1c7qgqhi8n7v89dsza27x";
        libraryHaskellDepends = [ base conferer hspec-core text ];
        testHaskellDepends = [ base conferer hspec hspec-core text ];
        description = "conferer's FromConfig instances for hspec Config";
@@ -56351,22 +57483,22 @@ self: {
      }) {};
 
   "conferer-provider-json" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, conferer, directory
-     , hspec, text, unordered-containers, vector
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring, conferer
+     , directory, hspec, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "conferer-provider-json";
-       version = "0.1.0.2";
-       sha256 = "1iww8w6d7710b58yqiap10jkbgb08ah3szc259p7wn4lnv96cic0";
+       version = "0.1.0.5";
+       sha256 = "1fsqmp48809fygxg1gz9g9ihm46zr98bbqihw72xr938cq0hazbf";
        libraryHaskellDepends = [
          aeson base bytestring conferer directory text unordered-containers
          vector
        ];
        testHaskellDepends = [
-         aeson base bytestring conferer directory hspec text
+         aeson aeson-qq base bytestring conferer directory hspec text
          unordered-containers vector
        ];
-       description = "Configuration for reading json files";
+       description = "conferer's provider for reading json files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -56376,8 +57508,8 @@ self: {
      }:
      mkDerivation {
        pname = "conferer-snap";
-       version = "0.1.0.3";
-       sha256 = "07x1grjqq5dsz7w8vrkzdaknfvqkvjqkmjwjiixn51jxfg6011zq";
+       version = "0.1.0.4";
+       sha256 = "1928k3h6sfgyjs56xvwzkx7fax5larwv7a130gqng8q12w5pblns";
        libraryHaskellDepends = [
          base conferer snap-core snap-server text
        ];
@@ -56393,8 +57525,8 @@ self: {
      }:
      mkDerivation {
        pname = "conferer-warp";
-       version = "0.1.0.1";
-       sha256 = "1alzbcm4bkp2a5p53b3vpnl0zgnz8bm2rpn2aljs24wz3vapgzsa";
+       version = "0.1.0.2";
+       sha256 = "16i84kyhhwy3nm863zf3ap9kv800r8hmn277r5y8gxx7jcqa6caq";
        libraryHaskellDepends = [ base conferer http-types text wai warp ];
        testHaskellDepends = [
          base conferer hspec http-types text wai warp
@@ -56552,6 +57684,8 @@ self: {
        pname = "config-value";
        version = "0.7.0.1";
        sha256 = "0r7qylqmdvif75ylb0d0zryl2ghxl3ip9a2jhyq70aqxwdjh18g4";
+       revision = "1";
+       editedCabalFile = "10rdyg984dkd0xq9z54300wkkgl7zfj4l8bi4vlplvw6jh65v36c";
        libraryHaskellDepends = [ array base pretty text ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [ base text ];
@@ -56563,13 +57697,13 @@ self: {
     ({ mkDerivation, base, config-value, text }:
      mkDerivation {
        pname = "config-value-getopt";
-       version = "0.1.1.0";
-       sha256 = "0ypg8wl17vqdqsk1gpaba11v63xmqysfp4cd4ii8zha7pfmlhb4c";
-       revision = "1";
-       editedCabalFile = "1vdm5pgql8cggdkqxhc2z0cg2s7xayghdm51k0m3lx9396f5pxm8";
+       version = "0.1.1.1";
+       sha256 = "103afdadsh7vqfam61mixk0l2fxy41m0451bl2hl2djs3acj60b2";
        libraryHaskellDepends = [ base config-value text ];
        description = "Interface between config-value and System.GetOpt";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "configifier" = callPackage
@@ -56887,6 +58021,22 @@ self: {
        broken = true;
      }) {};
 
+  "connections" = callPackage
+    ({ mkDerivation, base, containers, hedgehog, property
+     , semigroupoids
+     }:
+     mkDerivation {
+       pname = "connections";
+       version = "0.0.2.1";
+       sha256 = "0pjvxy0167gl6yki2cvjlynzw7biifng82ybnxjmp1b4w7il2qdm";
+       libraryHaskellDepends = [ base containers property semigroupoids ];
+       testHaskellDepends = [ base hedgehog property ];
+       description = "Partial orders & Galois connections";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "consistent" = callPackage
     ({ mkDerivation, base, lifted-async, lifted-base, monad-control
      , stm, transformers, transformers-base, unordered-containers
@@ -56983,6 +58133,17 @@ self: {
        broken = true;
      }) {};
 
+  "constrained" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "constrained";
+       version = "0.1";
+       sha256 = "00bd12gkv5yrqn52dyw3yjk2yind3m6d11k2d517gxanq9jqyx2c";
+       libraryHaskellDepends = [ base ];
+       description = "Generalization of standard Functor, Foldable, and Traversable classes";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "constrained-categories" = callPackage
     ({ mkDerivation, base, contravariant, semigroups, tagged
      , trivial-constraint, void
@@ -57073,15 +58234,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "constrained-platform-instances" = callPackage
+    ({ mkDerivation, array, base, constrained, containers, vector }:
+     mkDerivation {
+       pname = "constrained-platform-instances";
+       version = "0.1";
+       sha256 = "041fnmgy3adnzhvgrh3qm2jhcjwfz9adnjfpdamzjg34pw5a3ryz";
+       libraryHaskellDepends = [
+         array base constrained containers vector
+       ];
+       description = "Instances of standard platform types for 'constrained' package";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "constraint" = callPackage
     ({ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "constraint-classes" = callPackage
@@ -57117,6 +58293,19 @@ self: {
        libraryHaskellDepends = [ base category constraint reflection ];
        description = "Constraint reflection";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "constraint-tuples" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "constraint-tuples";
+       version = "0.1.2";
+       sha256 = "16f9y0q771f3mc38g8jpr875c8grjav6sg9lwbhg7nmcvcczwqk2";
+       libraryHaskellDepends = [ base ];
+       description = "Partially applicable constraint tuples";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "constraints" = callPackage
@@ -57166,8 +58355,8 @@ self: {
      }:
      mkDerivation {
        pname = "constraints-deriving";
-       version = "1.1.0.0";
-       sha256 = "15rspwn8i2rwmqsxb505087ars0i10licwj4adsgm89ajhgrqvp9";
+       version = "1.1.1.0";
+       sha256 = "1phgcib4bxbci2n4kh3r1iyp31bbzs6qpnvmxf373hglwyvj9pjy";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -57201,8 +58390,8 @@ self: {
     ({ mkDerivation, aeson, base, constraints, template-haskell }:
      mkDerivation {
        pname = "constraints-extras";
-       version = "0.3.0.1";
-       sha256 = "0majx5yrddpyvymfl84dqwrqf4bf91jskgaki4ia0h8vhzqfcivx";
+       version = "0.3.0.2";
+       sha256 = "1n3k5ld6qzq7vlwsqwrm3gsg4z7mk11ah3amazzbvbmxwz8wviys";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base constraints template-haskell ];
@@ -57285,6 +58474,8 @@ self: {
        pname = "consumers";
        version = "2.2.0.1";
        sha256 = "14gs07nl759qfnmi44pyhj24xqmd2xl3ikwhl8s5zykavdpjaimx";
+       revision = "1";
+       editedCabalFile = "1rh1hk1zr0yd82hsam8fjjs6jsssk49lvaasd3dqyx6d4nl1y63i";
        libraryHaskellDepends = [
          base containers exceptions extra hpqtypes lifted-base
          lifted-threads log-base monad-control monad-time mtl stm time
@@ -57442,6 +58633,29 @@ self: {
        broken = true;
      }) {};
 
+  "context-free-art" = callPackage
+    ({ mkDerivation, base, bifunctors, blaze-markup, blaze-svg
+     , directory, HUnit, random, text, text-show
+     }:
+     mkDerivation {
+       pname = "context-free-art";
+       version = "0.3.0.1";
+       sha256 = "0g08368d5ssxipi8s218xb3n4kdqkwix7xbsmlzi8ix5zb1n0c5a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bifunctors blaze-markup blaze-svg random text text-show
+       ];
+       executableHaskellDepends = [
+         base blaze-markup blaze-svg directory text
+       ];
+       testHaskellDepends = [
+         base bifunctors blaze-markup blaze-svg HUnit random text text-show
+       ];
+       description = "Generate art from context-free grammars";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "context-free-grammar" = callPackage
     ({ mkDerivation, array, base, containers, control-monad-omega
      , dlist, HUnit, mtl, pretty, QuickCheck, quickcheck-properties
@@ -57632,10 +58846,8 @@ self: {
      }:
      mkDerivation {
        pname = "contravariant-extras";
-       version = "0.3.4";
-       sha256 = "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n";
-       revision = "1";
-       editedCabalFile = "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp";
+       version = "0.3.5";
+       sha256 = "18hzip2i3r9hlw69pdvlkf9g7yg6bpm4b794m2ck84kpb4ajpm6p";
        libraryHaskellDepends = [
          base base-prelude contravariant semigroups template-haskell
          tuple-th
@@ -57868,25 +59080,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "control-monad-omega";
-       version = "0.3.1";
-       sha256 = "11hirysr76i01qj8rm22xjcrv2qwxgwjlrqqyd1dsnnvypn9hfrq";
-       revision = "1";
-       editedCabalFile = "029v5j0mnlzzn6my7jgw26gdm5fbs2h7y395zk1q7r5bfar00q58";
-       libraryHaskellDepends = [ base ];
-       description = "A breadth-first list monad";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "control-monad-omega_0_3_2" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "control-monad-omega";
        version = "0.3.2";
        sha256 = "1zx92zyvv10w61rzwhn1d4kggzmi9hggsyjcdav424280x31wb7n";
        libraryHaskellDepends = [ base ];
        description = "A breadth-first list monad";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "control-monad-queue" = callPackage
@@ -58126,8 +59324,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
        ];
@@ -58171,12 +59369,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;
@@ -58190,8 +59391,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.0.2";
-       sha256 = "02987kxwsrxcjicgfnj55prabiv12y5d1s82nr34kk3scrlixl1y";
+       version = "3.1.1";
+       sha256 = "0hja6fp7n4zrhm73fvjkisspc7cyp53blhn4maqis8lw27svjq66";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -58219,14 +59420,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;
      }) {};
@@ -58237,8 +59436,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
@@ -58255,8 +59454,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
        ];
@@ -58290,8 +59489,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
@@ -58362,8 +59561,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.2.0.0";
-       sha256 = "1lzvs99qqw8nvgqqz080zdsxl5vdxdmnffxl8s26c7p41izycp5n";
+       version = "0.2.1.4";
+       sha256 = "1arrw5xbzxpwqzpxcyw13lv4sazn5pzv448crw54284kyi798hc3";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          prettyprinter-ansi-terminal scientific text unordered-containers
@@ -58392,23 +59591,25 @@ self: {
 
   "core-program" = callPackage
     ({ mkDerivation, async, base, bytestring, chronologique, core-data
-     , core-text, directory, exceptions, hashable, hourglass, mtl
-     , prettyprinter, prettyprinter-ansi-terminal, safe-exceptions, stm
-     , template-haskell, terminal-size, text, text-short, transformers
-     , unix
+     , core-text, directory, exceptions, filepath, hashable, hinotify
+     , hourglass, mtl, prettyprinter, prettyprinter-ansi-terminal
+     , safe-exceptions, stm, template-haskell, terminal-size, text
+     , text-short, transformers, unix
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.2.0.0";
-       sha256 = "13907wk5p8yc31wf7s3w6an8g2b5j8pp0k196l5fh90c5dadizys";
+       version = "0.2.2.4";
+       sha256 = "0l30qvn118bb6vj39ca6wl7ynhf7hkwq7pbh60vhcmwcr20rj4b1";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
-         exceptions hashable hourglass mtl prettyprinter
+         exceptions filepath hashable hinotify hourglass mtl prettyprinter
          prettyprinter-ansi-terminal safe-exceptions stm template-haskell
          terminal-size text text-short transformers unix
        ];
        description = "Opinionated Haskell Interoperability";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "core-text" = callPackage
@@ -58418,13 +59619,13 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.2.0.0";
-       sha256 = "1rkbz43vnjv8vv68xh98qcp59lmahw4sdpfnhvgrh92wj0namifk";
+       version = "0.2.2.4";
+       sha256 = "1lfxphm5y9irrs225vr0gbvb129lxzfr0xjxy23dz6d0cc3pr1ph";
        libraryHaskellDepends = [
          base bytestring deepseq fingertree hashable prettyprinter
          prettyprinter-ansi-terminal template-haskell text text-short
        ];
-       description = "A text type based on a finger tree over UTF-8 fragments";
+       description = "A rope type based on a finger tree over UTF-8 fragments";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -58737,6 +59938,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "country_0_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
+     , ghc-prim, hashable, primitive, QuickCheck, quickcheck-classes
+     , scientific, tasty, tasty-quickcheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "country";
+       version = "0.2";
+       sha256 = "09qimpqgg4zhiiyw13n5r1ckswr5x3m8k1hdx9hwhd52j45zhbkg";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring deepseq ghc-prim hashable
+         primitive scientific text unordered-containers
+       ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-classes tasty tasty-quickcheck
+       ];
+       description = "Country data type and functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "country-codes" = callPackage
     ({ mkDerivation, aeson, base, deepseq, HTF, HUnit, shakespeare
      , text
@@ -58878,10 +60100,8 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.2.3.2";
-       sha256 = "0dwcahc8m2mj3jm0hwx13wzhlnyiby4sds8pc70fv54zp0ccbq6r";
-       revision = "1";
-       editedCabalFile = "1c38aadl6lfnid8ipmpvm78mlvb0rgqr5sdjg86y1ks4q45nqw3g";
+       version = "0.2.3.7";
+       sha256 = "12hpi46p8fh36jq7xbgv16xihxx6hgpcn0bssc97zv3il4b5zk9m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58893,11 +60113,13 @@ self: {
        ];
        libraryToolDepends = [ cpphs ];
        executableHaskellDepends = [
-         base directory optparse-applicative text
+         base dhall directory optparse-applicative text
        ];
        testHaskellDepends = [ base hspec hspec-megaparsec megaparsec ];
        description = "Build tool for C";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cplex-hs" = callPackage
@@ -59011,8 +60233,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.3";
-       sha256 = "121lrj9zhlcs4r2xghxw8cah705s5k9jkcl9g3mj5ixzki3b2bdm";
+       version = "3.6.5";
+       sha256 = "03qf4gd28097ra0vndizxxdqvqdgl4p3cl41w9r0rfcw4367bzjf";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -59096,8 +60318,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
@@ -59570,8 +60792,8 @@ self: {
      }:
      mkDerivation {
        pname = "crdt";
-       version = "10.4";
-       sha256 = "182lnbci8vdp7mc6mihap00ffv59xdnjhbbbx5pwjjhxwpavfvv6";
+       version = "10.5";
+       sha256 = "06ndalfz2j722ifblzz3pamb0fdyhs9pa0286kmx2dcrvw7kq1vy";
        libraryHaskellDepends = [
          base binary bytestring containers Diff hashable mtl network-info
          safe stm time vector
@@ -59675,19 +60897,17 @@ self: {
      }) {};
 
   "crf-chain1" = callPackage
-    ({ mkDerivation, array, base, binary, containers, data-lens
+    ({ mkDerivation, array, base, binary, containers, data-lens-light
      , logfloat, monad-codec, parallel, random, sgd, vector
-     , vector-binary, vector-th-unbox
+     , vector-binary-instances, vector-th-unbox
      }:
      mkDerivation {
        pname = "crf-chain1";
-       version = "0.2.2";
-       sha256 = "0v0mmpvn9qma3xz92s13ywk9p5czxzshh2rf06hb2zqqq5m6iwhq";
-       revision = "1";
-       editedCabalFile = "16h297h22wfkq8sgvfxm4gv7wi7pz7pl481b6lgk04rw23bgd2x2";
+       version = "0.2.3";
+       sha256 = "0k805zqjqixicf4s0gs04jc1gijckcnrb3w43sykhhsbz194p0s2";
        libraryHaskellDepends = [
-         array base binary containers data-lens logfloat monad-codec
-         parallel random sgd vector vector-binary vector-th-unbox
+         array base binary containers data-lens-light logfloat monad-codec
+         parallel random sgd vector vector-binary-instances vector-th-unbox
        ];
        description = "First-order, linear-chain conditional random fields";
        license = stdenv.lib.licenses.bsd3;
@@ -59797,8 +61017,8 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.5.6.0";
-       sha256 = "1p8rw70k69bz33a8amn1ibdf6104hjphglyjlzsxa4w949d0ahp2";
+       version = "1.5.6.1";
+       sha256 = "0m2k323r00q3x5fk8gfcd2y39kmj35nzb8fwqmxjlg7kiz3nkyx5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -60228,8 +61448,8 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-enigma";
-       version = "0.1.1.5";
-       sha256 = "001kl84ngfwr644v7dyk5shkqfw606bpza8b61bv4p4lqyfk96l2";
+       version = "0.1.1.6";
+       sha256 = "07qxrpwg9r2w2l0d2nrvn703vzsfhchznly93bnr2pfpbwj4iv2z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers split text ];
@@ -60241,6 +61461,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "crypto-keys-ssh" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring }:
+     mkDerivation {
+       pname = "crypto-keys-ssh";
+       version = "0.1.0.0";
+       sha256 = "17r15w7rw6klcw5nlq6acka7rq3kba3vikwggb2fssr8x7wfrm5r";
+       libraryHaskellDepends = [
+         base base64-bytestring binary bytestring
+       ];
+       description = "Like crypto-pubkey-openssh but not dependent on any specific crypto library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "crypto-multihash" = callPackage
     ({ mkDerivation, base, base58-bytestring, bytestring, containers
      , cryptonite, hspec, memory, QuickCheck, string-conversions
@@ -60396,8 +61629,8 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-rng";
-       version = "0.1.0.2";
-       sha256 = "1h7ilx91jbnlmax0z74kvk6f3yr4f14pk15bi9qvhn8kj13i7qf1";
+       version = "0.1.1.0";
+       sha256 = "1h7pqps4f25sn28dhbs1jd58gl4ml9scc1s4dixbz8mvyv5aslkf";
        libraryHaskellDepends = [
          base bytestring crypto-api DRBG exceptions monad-control mtl
          transformers-base
@@ -60812,8 +62045,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptostore";
-       version = "0.2.0.0";
-       sha256 = "1j7pk42mivwlcrjyrjdkldidhsv3k5myqq0ld8sksgkbkn1k1z7w";
+       version = "0.2.1.0";
+       sha256 = "03y9xdjnraa7kyj3c79rqzw9lqw1csww21assxhjkjyid1ps4gn5";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base basement bytestring cryptonite
          hourglass memory pem x509 x509-validation
@@ -60824,6 +62057,8 @@ self: {
        ];
        description = "Serialization of cryptographic data types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cryptsy-api" = callPackage
@@ -61132,8 +62367,8 @@ self: {
      }:
      mkDerivation {
        pname = "csv-conduit";
-       version = "0.7.0.0";
-       sha256 = "1rzshr0py23xi1cfgsghnhgy65hyhlxhlnb6qyfzfsqqshmy13s7";
+       version = "0.7.1.0";
+       sha256 = "01wmf2kzy483k3dbmcmf1mziwwrchdj7nxl63wakynsddh1zjv9v";
        libraryHaskellDepends = [
          array attoparsec base blaze-builder bytestring conduit
          conduit-extra containers data-default exceptions ghc-prim mmorph
@@ -61480,6 +62715,8 @@ self: {
        pname = "cue-sheet";
        version = "2.0.1";
        sha256 = "0papll3xcq2ipmya61jr71gf3zx2swmys829x5sbz7lv6abj9r3i";
+       revision = "1";
+       editedCabalFile = "0md9051a0jp4vkss15dyyf1w7ylpqmvzfdj9xb1rgj95s1x7cx2g";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers exceptions megaparsec mtl QuickCheck
@@ -61560,8 +62797,8 @@ self: {
      }:
      mkDerivation {
        pname = "curl-runnings";
-       version = "0.11.0";
-       sha256 = "18vbb0k9gfi528za6wdw4m8997ks5s6vlwz4c9rjziq5ab0xdcfr";
+       version = "0.11.1";
+       sha256 = "12adrp4y4g5lpkgrvc7fd5v7vndg9y3cfgdyw3pk67aic8p10w2h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -61680,8 +62917,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
@@ -61692,24 +62929,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";
@@ -61776,8 +63015,8 @@ self: {
      }:
      mkDerivation {
        pname = "cursor";
-       version = "0.1.0.1";
-       sha256 = "1ipwk9lnazhkzy4fxdc4y0hqa1vdlgda43jdjnp9j00q5fgrhldz";
+       version = "0.2.0.0";
+       sha256 = "1haikdgyj7m6c7ihwvl4wy0za0nvrhh2bvqm1afa5465mcm5ynnw";
        libraryHaskellDepends = [
          base containers microlens text validity validity-containers
          validity-text
@@ -61804,8 +63043,8 @@ self: {
      }:
      mkDerivation {
        pname = "cursor-gen";
-       version = "0.1.0.0";
-       sha256 = "1f9s1da9vf8sr27aidk3rgvkn594pv94w4gqqyi6ikl5dx8yzqxn";
+       version = "0.2.0.0";
+       sha256 = "1i9ad6gmd4sqs3nbgij4jm509m6gx4v0pghsf4d3qn71hbxbxipc";
        libraryHaskellDepends = [
          base containers cursor genvalidity genvalidity-containers
          genvalidity-text QuickCheck text
@@ -63200,6 +64439,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
@@ -63222,8 +64479,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-dword";
-       version = "0.3.1.2";
-       sha256 = "084invjg8zj7ndxnz9clqmq06ch47k1d9lhxwap6xs0x4807crvb";
+       version = "0.3.1.3";
+       sha256 = "1l4g8xbsix6xqljadfq49rs39m2lsbrfz4i7l80q0yhafbm4ax8b";
        libraryHaskellDepends = [
          base data-bword ghc-prim hashable template-haskell
        ];
@@ -63568,8 +64825,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-interval";
-       version = "1.3.1";
-       sha256 = "0x09h2a6ay0h6whmja1q5dqmmf3savyvpv8h14rrwqd87x04abl9";
+       version = "2.0.1";
+       sha256 = "0vz73vwbr484s0dxg9y0y1mfbni8aky3hyh93pmzb8zb67gy4cak";
        libraryHaskellDepends = [
          base containers deepseq extended-reals hashable lattices
        ];
@@ -63826,8 +65083,8 @@ self: {
     ({ mkDerivation, attoparsec, base, binary, containers, text }:
      mkDerivation {
        pname = "data-named";
-       version = "0.6.1";
-       sha256 = "14xhjp13hq2d9raybw50v85pax54xb1niczd6f32gvn8cdd28pji";
+       version = "0.6.2";
+       sha256 = "03f4xc4ayql17s48ajza2ny79j885mcmp0x3mrwcfdc42dlnd7nb";
        libraryHaskellDepends = [ attoparsec base binary containers text ];
        description = "Data types for named entities";
        license = stdenv.lib.licenses.bsd3;
@@ -64090,8 +65347,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-serializer";
-       version = "0.3.4";
-       sha256 = "1ijy8l5lxmm8wpzx4h2vh9q21zz66xgh979s32aa4b16l9m1b4z7";
+       version = "0.3.4.1";
+       sha256 = "1md6zkv1yqxmyca6mljw8y5g3xaqz3g087qd49qpi94w0x1lqgnk";
        libraryHaskellDepends = [
          base binary bytestring cereal data-endian parsers semigroups split
        ];
@@ -64271,8 +65528,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-textual";
-       version = "0.3.0.2";
-       sha256 = "0c4qs923dj4jnvvkjvbij0c1yg922iw66140cq6wb1m4h6q31ia4";
+       version = "0.3.0.3";
+       sha256 = "16pcfpr5y66q6cga1hs5ggqg03qqcymgjyrhv4yj091zs36fi7jb";
        libraryHaskellDepends = [
          base bytestring parsers text text-latin1 text-printer
        ];
@@ -64316,6 +65573,8 @@ self: {
        pname = "data-tree-print";
        version = "0.1.0.2";
        sha256 = "00jh37anim8qsn553467gmfhajcz1c61zrgh1ypkqsll0gc29vy3";
+       revision = "1";
+       editedCabalFile = "1r6dnvc7d50q5p9fdqqwfvi7kwn7r89319plj7v284sjai9b6ld4";
        libraryHaskellDepends = [ base pretty syb ];
        description = "Print Data instances as a nested tree";
        license = stdenv.lib.licenses.bsd3;
@@ -65023,7 +66282,7 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "dbus_1_2_9" = callPackage
+  "dbus_1_2_11" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, containers
      , criterion, deepseq, directory, exceptions, extra, filepath, lens
      , network, parsec, process, QuickCheck, random, resourcet, split
@@ -65032,8 +66291,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "1.2.9";
-       sha256 = "1q9qhl6hjbr9yxmr62md4ycadv04nqdkvsa8l5c0p724rz3faqw3";
+       version = "1.2.11";
+       sha256 = "150agli4ialryxcv6nd3y90pi5ikls8bn9my3fp2j5fwir27abns";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -65617,6 +66876,8 @@ self: {
        pname = "debian";
        version = "4.0.0";
        sha256 = "1gshvsgbgghskl4csngffdpnf49z27yhap86bwqnkp4asbh553h6";
+       revision = "1";
+       editedCabalFile = "1p338790mb39j77rf9r82sbwlkv7ax2ipfl5232aa8ygzn2py6nk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65656,8 +66917,8 @@ self: {
      }:
      mkDerivation {
        pname = "debian-build";
-       version = "0.10.1.2";
-       sha256 = "0h8nxk9pir6ic65vh5y29jnlz7jrnq8inqg22h7nvlphk7qbblqw";
+       version = "0.10.2.0";
+       sha256 = "1yqswr5cvv2yzl15nylvnf2x7cshz482fgfi1nnm22vq71zszn2x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65731,8 +66992,8 @@ self: {
      }:
      mkDerivation {
        pname = "debug-me";
-       version = "1.20181208";
-       sha256 = "0gnnhgqzhbhgc49y3md7440plgfv1wry8fk73f81s2f1c1agqh1i";
+       version = "1.20190926";
+       sha256 = "0qy2ianwal4v4s0m13yjszk032dp3y6k4p61whwmlp49xmqvwjyb";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -66311,8 +67572,8 @@ self: {
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "2.1.0.0";
-       sha256 = "19jvcfkwavmvf08dwsch3izk9qzw8ldrghpvjgv2vh5dxr7wr9xq";
+       version = "2.1.0.1";
+       sha256 = "08rm5f4kxwd46si0qkaf2yzsffpndhb3l4x639k11l6n28165nhg";
        libraryHaskellDepends = [
          base concurrency containers contravariant deepseq exceptions
          leancheck profunctors random transformers
@@ -66617,6 +67878,8 @@ self: {
        pname = "dependent-map";
        version = "0.2.4.0";
        sha256 = "0il2naf6gdkvkhscvqd8kg9v911vdhqp9h10z5546mninnyrdcsx";
+       revision = "1";
+       editedCabalFile = "0a5f35d1sgfq1cl1r5bgb5pwfjniiycxiif4ycxglaizp8g5rlr1";
        libraryHaskellDepends = [ base containers dependent-sum ];
        description = "Dependent finite maps (partial dependent products)";
        license = "unknown";
@@ -66645,8 +67908,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
@@ -67075,8 +68338,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.7";
-       sha256 = "0bp4f0is84cv139s35669dv23mcp6lhp2wall72yvkk12lp2l2mg";
+       version = "0.5.8";
+       sha256 = "1dznwypw0w935z30zi9pf9k4mr5yfl6jfp43nv9vx3f6zy5gip9r";
        libraryHaskellDepends = [
          base containers ghc-boot-th ghc-prim template-haskell
          th-abstraction transformers transformers-compat
@@ -67118,8 +68381,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.5";
-       sha256 = "1pyal6rhnyhqx8gwyh42vf66i18y9nplmqka546ikzps439rvmly";
+       version = "1.0.7";
+       sha256 = "0ph4szgn009asgcpd6rzdach41jzyrwilk4x9vnrqk3mjk36zxy5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -67130,15 +68393,20 @@ self: {
      }) {};
 
   "describe" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, QuickCheck }:
+    ({ mkDerivation, base, bytestring, cereal, fixed-vector, QuickCheck
+     }:
      mkDerivation {
        pname = "describe";
-       version = "0.1.2.1";
-       sha256 = "1k2ik717ab2wnffmkfqm7akp3irp3jsfsb8l49gqgn30wgrx3nk7";
-       libraryHaskellDepends = [ base bytestring cereal ];
-       testHaskellDepends = [ base bytestring cereal QuickCheck ];
+       version = "0.2.0.6";
+       sha256 = "01g3wa8wzb7aary9mskgljak2cgn7wk0bycwil5g32510hpwvfbv";
+       libraryHaskellDepends = [ base bytestring cereal fixed-vector ];
+       testHaskellDepends = [
+         base bytestring cereal fixed-vector QuickCheck
+       ];
        description = "Combinators for describing binary data structures";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "descrilo" = callPackage
@@ -67373,8 +68641,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.3.1";
-       sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij";
+       version = "0.3.2";
+       sha256 = "1iywyrz2pfdpichfq6n77x8fpmfikj20rhkgnrwcf63ichav6xfp";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -67527,33 +68795,83 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_26_0" = callPackage
+  "dhall_1_27_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
      , doctest, dotgen, either, exceptions, filepath, foldl, gauge
-     , generic-random, haskeline, http-client, http-client-tls
+     , generic-random, hashable, haskeline, http-client, http-client-tls
      , http-types, lens-family-core, megaparsec, memory, mockery, mtl
      , network-uri, optparse-applicative, parsers, prettyprinter
      , prettyprinter-ansi-terminal, profunctors, QuickCheck
      , quickcheck-instances, repline, scientific, semigroups, serialise
-     , spoon, tasty, tasty-expected-failure, tasty-hunit
+     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
      , tasty-quickcheck, template-haskell, text, th-lift-instances
      , transformers, transformers-compat, turtle, unordered-containers
      , uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.26.0";
-       sha256 = "1jk8zfdbvgp2ipkmhx5m1n467c1k6g24kgi295lcbyvlwahv9l7j";
+       version = "1.27.0";
+       sha256 = "04hpf0g8anhynrc3gd96cg1z4qadrk2xg9094qjm68d2kv6zx2g1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring case-insensitive
          cborg cborg-json containers contravariant cryptonite data-fix
-         deepseq Diff directory dotgen either exceptions filepath haskeline
-         http-client http-client-tls http-types lens-family-core megaparsec
-         memory mtl network-uri optparse-applicative parsers prettyprinter
+         deepseq Diff directory dotgen either exceptions filepath hashable
+         haskeline http-client http-client-tls http-types lens-family-core
+         megaparsec memory mtl network-uri optparse-applicative parsers
+         prettyprinter prettyprinter-ansi-terminal profunctors repline
+         scientific serialise template-haskell text th-lift-instances
+         transformers transformers-compat unordered-containers uri-encode
+         vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring cborg containers data-fix deepseq directory doctest
+         either filepath foldl generic-random lens-family-core megaparsec
+         mockery prettyprinter QuickCheck quickcheck-instances scientific
+         semigroups serialise special-values spoon tasty
+         tasty-expected-failure tasty-hunit tasty-quickcheck text
+         transformers turtle unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers directory gauge serialise text
+       ];
+       description = "A configuration language guaranteed to terminate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dhall_1_28_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
+     , base, bytestring, case-insensitive, cborg, cborg-json, containers
+     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
+     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
+     , generic-random, hashable, haskeline, http-client, http-client-tls
+     , http-types, lens-family-core, megaparsec, memory, mockery, mtl
+     , network-uri, optparse-applicative, parsers, pretty-simple
+     , prettyprinter, prettyprinter-ansi-terminal, profunctors
+     , QuickCheck, quickcheck-instances, repline, scientific, semigroups
+     , serialise, special-values, spoon, tasty, tasty-expected-failure
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-lift-instances, transformers, transformers-compat, turtle
+     , unordered-containers, uri-encode, vector
+     }:
+     mkDerivation {
+       pname = "dhall";
+       version = "1.28.0";
+       sha256 = "0kiw8a9im768j304s80pv90vp1hh38v7fxfh2bb4hmglh3a8kc21";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal atomic-write base bytestring
+         case-insensitive cborg cborg-json containers contravariant
+         cryptonite data-fix deepseq Diff directory dotgen either exceptions
+         filepath hashable haskeline http-client http-client-tls http-types
+         lens-family-core megaparsec memory mtl network-uri
+         optparse-applicative parsers pretty-simple prettyprinter
          prettyprinter-ansi-terminal profunctors repline scientific
          serialise template-haskell text th-lift-instances transformers
          transformers-compat unordered-containers uri-encode vector
@@ -67561,10 +68879,11 @@ self: {
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base bytestring cborg containers data-fix deepseq directory doctest
-         filepath foldl generic-random lens-family-core megaparsec mockery
-         prettyprinter QuickCheck quickcheck-instances scientific semigroups
-         serialise spoon tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck text transformers turtle vector
+         either filepath foldl generic-random lens-family-core megaparsec
+         mockery prettyprinter QuickCheck quickcheck-instances scientific
+         semigroups serialise special-values spoon tasty
+         tasty-expected-failure tasty-hunit tasty-quickcheck text
+         transformers turtle unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers directory gauge serialise text
@@ -67595,14 +68914,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_23" = callPackage
+  "dhall-bash_1_0_25" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.23";
-       sha256 = "0nd8bziymkv2wdham8jg2wcsksnnby0pkvak7aknzf8z9s4mb74x";
+       version = "1.0.25";
+       sha256 = "0bxfx2hj06q1w1372zc7cfibsqw2hckz5116zz447mz5zmcfkjv3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -67636,6 +68955,40 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-fly" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, aeson-yaml, base, bytestring
+     , dhall, dhall-json, hspec, hspec-discover, optparse-applicative
+     , ordered-containers, scientific, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dhall-fly";
+       version = "0.2.2";
+       sha256 = "1pp5lzg8nv1j0y9mrjb4zd9immd7i14ri0x2rgp7zjs86ygcmlf7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base dhall optparse-applicative
+         ordered-containers scientific text transformers
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson aeson-casing aeson-yaml base bytestring dhall dhall-json
+         optparse-applicative ordered-containers scientific text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson aeson-casing base dhall hspec optparse-applicative
+         ordered-containers 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
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , dhall, exceptions, lens, libyaml, optparse-applicative
@@ -67666,23 +69019,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_4_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
-     , bytestring, containers, dhall, exceptions, filepath, libyaml
+  "dhall-json_1_6_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
+     , base, bytestring, containers, dhall, exceptions, filepath
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
      , scientific, tasty, tasty-hunit, text, unordered-containers
-     , vector, yaml
+     , vector
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.4.1";
-       sha256 = "1widvpgrswj6bz9330i2xyxv1h6asw0pm5rrwdhyf926qgag83pp";
+       version = "1.6.0";
+       sha256 = "1fb3w7p2blnxqc6q3q620vpr0fpqs2my7hh33ykh7jpzs7p031h5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring containers dhall exceptions
-         filepath libyaml optparse-applicative prettyprinter scientific text
-         unordered-containers vector yaml
+         aeson aeson-pretty aeson-yaml base bytestring containers dhall
+         exceptions filepath optparse-applicative prettyprinter scientific
+         text unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring dhall exceptions
@@ -67718,15 +69071,15 @@ self: {
   "dhall-lsp-server" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , data-default, dhall, dhall-json, directory, doctest, filepath
-     , haskell-lsp, hslogger, lens, lens-family-core, megaparsec, mtl
-     , network-uri, optparse-applicative, prettyprinter
-     , rope-utf16-splay, text, transformers, unordered-containers
-     , uri-encode
+     , haskell-lsp, haskell-lsp-types, hslogger, lens, lens-family-core
+     , lsp-test, megaparsec, mtl, network-uri, optparse-applicative
+     , prettyprinter, QuickCheck, rope-utf16-splay, tasty, tasty-hspec
+     , text, transformers, unordered-containers, uri-encode
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.1";
-       sha256 = "04x56r7wlnnks31mjis1f2688c7azimkww04qkvm7l1s0qprn1lz";
+       version = "1.0.3";
+       sha256 = "1ym7v3blgj4ccchg6cpyxpllp6xz6fh8kfyy3i0b1kd5lzm90s0n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -67736,7 +69089,10 @@ self: {
          rope-utf16-splay text transformers unordered-containers uri-encode
        ];
        executableHaskellDepends = [ base optparse-applicative ];
-       testHaskellDepends = [ base directory doctest filepath ];
+       testHaskellDepends = [
+         base directory doctest filepath haskell-lsp-types lsp-test
+         QuickCheck tasty tasty-hspec text
+       ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -67749,8 +69105,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.8";
-       sha256 = "0ky10j2718hva1xz4snwbnm0adpp1l7spxpzg7x3a7x67gnaanyh";
+       version = "1.1.10";
+       sha256 = "04fb8l9qh70fqa50ck0hz8134s1bmcyscbf5xg5ylnxpdrs3n7as";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -67771,8 +69127,8 @@ self: {
        pname = "dhall-text";
        version = "1.0.18";
        sha256 = "1nwvj67glqyn5yd62ni16wqppv8d3hy7d9aw87p35zkch1vr8vsd";
-       revision = "1";
-       editedCabalFile = "1dynw76kmca5l43jqrmgmzbdd7hqixiyfpb4pcx4dzr6ghar49s7";
+       revision = "2";
+       editedCabalFile = "0pzd0rp2vzskwbplkqgq4783793c6zfwm46jsn2y8da452prbyhh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -67812,6 +69168,36 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-yaml" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
+     , dhall-json, exceptions, HsYAML, HsYAML-aeson
+     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
+     , tasty, tasty-expected-failure, tasty-hunit, text, vector
+     }:
+     mkDerivation {
+       pname = "dhall-yaml";
+       version = "1.0.0";
+       sha256 = "05jhcvikm3rbcf9jzw747x70c3dsslcij977yhqks0c59nr9pqn6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring dhall dhall-json HsYAML HsYAML-aeson
+         optparse-applicative text vector
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring dhall dhall-json exceptions
+         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
+       ];
+       testHaskellDepends = [
+         base bytestring dhall dhall-json tasty tasty-expected-failure
+         tasty-hunit text
+       ];
+       description = "Convert between Dhall and YAML";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhcp-lease-parser" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
      , tasty-hunit, text
@@ -67873,8 +69259,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
        ];
@@ -67888,8 +69274,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
        ];
@@ -67907,8 +69293,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
        ];
@@ -67939,8 +69325,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-monad";
-       version = "1.3";
-       sha256 = "019k7jc3lvh6cgmrgdjq13hcvh6ar76n38li4nviikqbsvxmpqsl";
+       version = "1.3.1";
+       sha256 = "190n6hwa7xs4b75bfvk4k2kn3rq8hkgs52f9plxfixlrl7jympgm";
        libraryHaskellDepends = [
          base containers di-core exceptions mtl pipes stm transformers
        ];
@@ -68120,10 +69506,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
@@ -68145,10 +69529,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-core";
-       version = "1.4.1.1";
-       sha256 = "10mnicfyvawy3jlpgf656fx2y4836x04p3z1lpgyyr1nkvwyk0m1";
-       revision = "2";
-       editedCabalFile = "1lf7xcq42l4hjksgp1nhj7600shvw9q5a27bh729fyfphmvv3xkf";
+       version = "1.4.2";
+       sha256 = "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43";
        libraryHaskellDepends = [
          adjunctions base containers distributive dual-tree lens linear
          monoid-extras mtl profunctors semigroups unordered-containers
@@ -68268,15 +69650,13 @@ 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
+     , QuickCheck, semigroups, tagged, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "diagrams-lib";
-       version = "1.4.2.3";
-       sha256 = "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5";
-       revision = "2";
-       editedCabalFile = "0gn1lpsq1v9qpyhpizyknn3sfixg1b64s0dsl1jf25lz4kcrpbs7";
+       version = "1.4.3";
+       sha256 = "0gqrcyjyp3p78vmfxvhfjbkkl2xvwcv3qyyinbdcmalb5zb8vyy6";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -68286,8 +69666,8 @@ self: {
          transformers unordered-containers
        ];
        testHaskellDepends = [
-         base deepseq diagrams-solve distributive lens numeric-extras tasty
-         tasty-hunit tasty-quickcheck
+         base deepseq diagrams-solve distributive lens numeric-extras
+         QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ base criterion diagrams-core ];
        description = "Embedded domain-specific language for declarative graphics";
@@ -68346,8 +69726,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-pgf";
-       version = "1.4.1";
-       sha256 = "00nw2zraanwb20wl9iaynw0kffwshgmy94yn50pgj3vlykj399lr";
+       version = "1.4.1.1";
+       sha256 = "10glg5pqy8zw6l77wnskcawl8da0c10sqfg9dx2jydksd3xpns2f";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
@@ -68376,6 +69756,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-postscript_1_5" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, hashable, lens, monoid-extras, mtl
+     , semigroups, split, statestack
+     }:
+     mkDerivation {
+       pname = "diagrams-postscript";
+       version = "1.5";
+       sha256 = "00j58mc84srjvrf21v6zjxxlbw6b8ahhn1jmbq697w8kw3cvygpa";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib hashable lens monoid-extras mtl semigroups split
+         statestack
+       ];
+       description = "Postscript backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-qrcode" = callPackage
     ({ mkDerivation, array, base, colour, diagrams-core, diagrams-lib
      }:
@@ -68400,9 +69799,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-rasterific";
-       version = "1.4.1.1";
-       sha256 = "0raki8c20s40y5xy2ax8y38xl3y40fb9qv95ax3qgnmi46s8fapp";
-       enableSeparateDataOutput = true;
+       version = "1.4.2";
+       sha256 = "161rsy3g59n3sfrbfyvd4i4hszl0zm59w21b7pk6w88n0bk8gf2l";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
@@ -68454,8 +69852,8 @@ self: {
        pname = "diagrams-solve";
        version = "0.1.1";
        sha256 = "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4";
-       revision = "4";
-       editedCabalFile = "1yjacw17ga4rh6iw70vclk03qm5xjw4y17c7m43gjw8h3cfaq15d";
+       revision = "5";
+       editedCabalFile = "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -68472,10 +69870,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-svg";
-       version = "1.4.2";
-       sha256 = "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal";
-       revision = "2";
-       editedCabalFile = "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv";
+       version = "1.4.3";
+       sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -68537,6 +69933,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dialogflow-fulfillment" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , directory, hspec, hspec-discover, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "dialogflow-fulfillment";
+       version = "0.1.0.0";
+       sha256 = "0pz5qyz6sf00c5155mrraya7jr8sp99hmfm1642hv4zhj08ky0j7";
+       libraryHaskellDepends = [
+         aeson base bytestring containers text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring containers directory hspec
+         hspec-discover
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A Dialogflow Fulfillment library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dib" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cereal
      , containers, digest, directory, filepath, mtl, process, text, time
@@ -69126,8 +70542,8 @@ self: {
      }:
      mkDerivation {
        pname = "digit";
-       version = "0.8";
-       sha256 = "0m3m9c2452b0x7ccglkz7mr3ivi7r98qa44zwfnf7a55d6xckfa9";
+       version = "0.9";
+       sha256 = "0xyghgg8kzjrvhrcjizqnbprcyq5a3ma3x0dfijrdvbyd3lzghvm";
        libraryHaskellDepends = [
          base lens parsers scientific semigroupoids semigroups
          template-haskell
@@ -69258,13 +70674,13 @@ self: {
      }) {};
 
   "dimensions" = callPackage
-    ({ mkDerivation, base, Cabal, constraints-deriving, ghc, QuickCheck
-     }:
+    ({ mkDerivation, base, Cabal, constraints-deriving, QuickCheck }:
      mkDerivation {
        pname = "dimensions";
-       version = "2.0.0.0";
-       sha256 = "1k0j8lcshscs5cd18i6qqiwb7sjy55mcfha5kl5f4x9nxrnn6xa8";
-       libraryHaskellDepends = [ base constraints-deriving ghc ];
+       version = "2.1.0.0";
+       sha256 = "08jkcr1lbjb8n4n9pmfy1jg5djaxn4fs6f1jk4dbpk4paxp3psc9";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [ base constraints-deriving ];
        testHaskellDepends = [
          base Cabal constraints-deriving QuickCheck
        ];
@@ -69345,8 +70761,8 @@ self: {
      }:
      mkDerivation {
        pname = "dino";
-       version = "0.1.1";
-       sha256 = "05n0zsl9wvwilnmh28s89cda8a72qfbnhwkbbnw9yihpbamx59z9";
+       version = "0.1.2";
+       sha256 = "0sk7p89fmjynykk7djfn8cmmjrqyv5pml9ny2dycr1n86cnxr88x";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers errors exceptions hashable
          monad-loops mtl text transformers tree-view unordered-containers
@@ -69415,14 +70831,14 @@ self: {
      }) {};
 
   "dir-traverse" = callPackage
-    ({ mkDerivation, base, criterion, directory, dirstream, pipes
-     , pipes-safe, system-filepath
+    ({ mkDerivation, base, criterion, directory, dirstream, filepath
+     , pipes, pipes-safe, system-filepath
      }:
      mkDerivation {
        pname = "dir-traverse";
-       version = "0.2.1.0";
-       sha256 = "08xzl64clnx3mfx5bw82kpksagyl4bajkaxmbl1dpnmdc4jz35ks";
-       libraryHaskellDepends = [ base directory ];
+       version = "0.2.2.2";
+       sha256 = "0wckqnfmdmfgp7kkvjc2pzg9610xqfnam5myv9xcq04cr3h3dy8g";
+       libraryHaskellDepends = [ base directory filepath ];
        benchmarkHaskellDepends = [
          base criterion directory dirstream pipes pipes-safe system-filepath
        ];
@@ -69572,12 +70988,12 @@ self: {
        broken = true;
      }) {};
 
-  "directory_1_3_4_0" = callPackage
+  "directory_1_3_5_0" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.3.4.0";
-       sha256 = "19akp75rb3zwjfxcjamj05br865rd54y1gbyyfrb3a9506zcpsfm";
+       version = "1.3.5.0";
+       sha256 = "0lzx67630dsvwf3iraabdsqxbpzal2irbdxav87sq9bj818v1rb9";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -69689,8 +71105,8 @@ self: {
      }:
      mkDerivation {
        pname = "dirtree";
-       version = "0.1.0";
-       sha256 = "0hyvaf17rfaqjag6qg3pfhbhjnhrd4xdknvn0k494vi3wd1ddzap";
+       version = "0.1.1";
+       sha256 = "18iahbw6hzjxsnmr3yi80w0xvf6iphdxb2yg5kpnww26lmlgk6dc";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory filepath lens unix
          zip-archive
@@ -69780,8 +71196,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.1.2";
-       sha256 = "1dwsg3q9jdq58pchc0aylg8acshfjmdidpr09818jr4aawvdn3xr";
+       version = "1.1.3";
+       sha256 = "0q04qh6ia7rlrg0mlbch3n7ai81jn20avrgxlyn9xggdryi5vkb6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -70027,8 +71443,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
@@ -70755,8 +72171,8 @@ self: {
      }:
      mkDerivation {
        pname = "distribution-nixpkgs";
-       version = "1.3.0";
-       sha256 = "192r9aizcjvnm0s57v056x42mvlq79fk8630g73ps6qqnb2mjy9h";
+       version = "1.3.1";
+       sha256 = "1113qizh931inpim0ajfwihcvlp26n1l4bf36v0jakd34k70mm8g";
        libraryHaskellDepends = [
          aeson base bytestring Cabal containers deepseq language-nix lens
          pretty process split
@@ -71006,23 +72422,21 @@ self: {
        broken = true;
      }) {};
 
-  "dl-fedora_0_7" = callPackage
+  "dl-fedora_0_7_2" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath
      , http-directory, http-types, optparse-applicative, regex-posix
-     , simple-cmd, simple-cmd-args, text, unix, xdg-userdirs
+     , simple-cmd, simple-cmd-args, text, time, unix, xdg-userdirs
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.7";
-       sha256 = "00fkjlggax5l9qk2dlgh3plkqrvxrwfipdcfpq8d5kfw7l5wdxsv";
-       revision = "1";
-       editedCabalFile = "1njib3nnknqpa4kmrrrfabkrh1iaqx8xsw7jn4qrhlnqhh0mqwqd";
+       version = "0.7.2";
+       sha256 = "0a22bbmppafq6pncvpk8qnf4mvjznnl02rw93s58r2v23779m37p";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring directory filepath http-directory http-types
          optparse-applicative regex-posix simple-cmd simple-cmd-args text
-         unix xdg-userdirs
+         time unix xdg-userdirs
        ];
        description = "Fedora image download tool";
        license = stdenv.lib.licenses.gpl3;
@@ -71197,15 +72611,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";
-       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
@@ -71214,6 +72627,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;
@@ -71487,8 +72901,8 @@ self: {
      }:
      mkDerivation {
        pname = "doclayout";
-       version = "0.1";
-       sha256 = "1dmjj3z15vr5czy5gkwzs5zvz23ap1qpya3qlqfs5phslpbsada3";
+       version = "0.2.0.1";
+       sha256 = "0f6zfb0f4m71irc8wknkdk6xylgncsahhl7ga7rzpr4pxy3bnqak";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base mtl safe text ];
        testHaskellDepends = [
@@ -71519,6 +72933,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "docrecords" = callPackage
+    ({ mkDerivation, aeson, base, data-default, doctest, lens
+     , optparse-applicative, text, unordered-containers, vinyl, yaml
+     }:
+     mkDerivation {
+       pname = "docrecords";
+       version = "0.1.0.0";
+       sha256 = "1b8lavhm3iiz0w0b581yn88kaydwiimvj5j9sayx5gq04aa20jvj";
+       libraryHaskellDepends = [
+         aeson base data-default lens optparse-applicative text
+         unordered-containers vinyl yaml
+       ];
+       testHaskellDepends = [
+         aeson base data-default doctest lens optparse-applicative text
+         unordered-containers vinyl yaml
+       ];
+       description = "Vinyl-based records with hierarchical field names, default values and documentation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "docstrings" = callPackage
     ({ mkDerivation, base, containers, heredoc, template-haskell }:
      mkDerivation {
@@ -71551,27 +72987,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_6" = callPackage
+  "doctemplates_0_8" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , doclayout, filepath, Glob, mtl, parsec, safe, scientific, tasty
-     , tasty-golden, tasty-hunit, temporary, text, unordered-containers
-     , vector
+     , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
+     , tasty, tasty-golden, tasty-hunit, temporary, text
+     , text-conversions, unordered-containers, vector
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.6";
-       sha256 = "1bimvksijpz3czx0si9wwiigi4knc3d4i7rl6fssmz3z9qs6rhxg";
+       version = "0.8";
+       sha256 = "0zhnhdpbh0cyh6nr655yfik135gssa1qhfhzsvaph2n1qwq1l6nn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base containers doclayout filepath mtl parsec safe scientific
-         text unordered-containers vector
+         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 filepath mtl text
+         aeson base containers criterion doclayout filepath mtl text
        ];
        description = "Pandoc-style document templates";
        license = stdenv.lib.licenses.bsd3;
@@ -71658,8 +73094,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "doctest-driver-gen";
-       version = "0.3.0.1";
-       sha256 = "1sa47c1wml8k00h4h1gzbckfzbr3w7k3j0lvr1x5z6fh05s5xbsn";
+       version = "0.3.0.2";
+       sha256 = "1xkq9fpdm8ayjwf2lypkfnh1w08zimvhf27ffn71hfckd5nw4h2q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -72019,8 +73455,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;
@@ -72038,8 +73474,6 @@ self: {
        ];
        description = "Loads environment variables from dotenv files";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "dotfs" = callPackage
@@ -72258,6 +73692,22 @@ self: {
        broken = true;
      }) {};
 
+  "downloader" = callPackage
+    ({ mkDerivation, base, directory, filepath, network-uri, process
+     , safe
+     }:
+     mkDerivation {
+       pname = "downloader";
+       version = "0.1.0.1";
+       sha256 = "1mjsdnghlbi1c0pzhrng1dcvs1syisxrv7ygg5267f9hmcwk5zgn";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base directory filepath network-uri process safe
+       ];
+       description = "A small, low-dependency library that provides turn-key file download over HTTP and HTTPS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dozenal" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -73010,8 +74460,21 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "dual";
-       version = "0.1.0.0";
-       sha256 = "02abbnynjxhr2dvqqph3mnzc24v9wc655qkhh70flc168dk0k6hr";
+       version = "0.1.0.2";
+       sha256 = "08daga1lh267vj2y98z730zlrqxp7f8yqkrnpwbz3gfci7qzd8pa";
+       libraryHaskellDepends = [ base ];
+       description = "Dual category";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "dual_0_1_0_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dual";
+       version = "0.1.0.3";
+       sha256 = "1w8haw9q7cljiq58nh7fmywbgcxnx8xz33zx8gr9imkagh56gwv3";
        libraryHaskellDepends = [ base ];
        description = "Dual category";
        license = stdenv.lib.licenses.bsd3;
@@ -73044,10 +74507,8 @@ self: {
      }:
      mkDerivation {
        pname = "dual-tree";
-       version = "0.2.2";
-       sha256 = "1sx9p9yr06z7bi7pshjpswizs6bkmfzcpw8xlasriniry86df4kl";
-       revision = "3";
-       editedCabalFile = "00gwdgzy80p9c5r4wafm1fiqnh2hy1xjsbl86h1qkk7xg33g2ssi";
+       version = "0.2.2.1";
+       sha256 = "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx";
        libraryHaskellDepends = [
          base monoid-extras newtype-generics semigroups
        ];
@@ -73130,6 +74591,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
@@ -73200,6 +74690,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dunai_0_5_2_1" = callPackage
+    ({ mkDerivation, base, MonadRandom, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "dunai";
+       version = "0.5.2.1";
+       sha256 = "18ccvjmr03v4fghlv2hcb3g4c9zrq0ccasr2i9r71dp07mhrpaba";
+       libraryHaskellDepends = [
+         base MonadRandom transformers transformers-base
+       ];
+       description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dunai-core" = callPackage
     ({ mkDerivation, base, MonadRandom, transformers, transformers-base
      }:
@@ -73679,10 +75184,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamic-plot";
-       version = "0.4.0.0";
-       sha256 = "1klq7lwvfwwp6z842g50a2xx6cqihp8a6551f935nr2sx9hwdr94";
-       revision = "1";
-       editedCabalFile = "0x5jxjvwfkax6lxwk28hd2p903q6zmr1nxhyahrwcnqgh6ygywiw";
+       version = "0.4.1.0";
+       sha256 = "1nly6ra0kd72q42hiaqism94vmyg5hp4ppyd024iiq9pcbgpq7r6";
        libraryHaskellDepends = [
          base colour colour-space constrained-categories containers
          data-default deepseq diagrams-cairo diagrams-core diagrams-gtk
@@ -74053,8 +75556,9 @@ self: {
      }:
      mkDerivation {
        pname = "easytensor";
-       version = "2.0.1.0";
-       sha256 = "018g738yq7ac386ahbl18jnkjzd25jbgb744fg0kxz90734iwwdv";
+       version = "2.1.0.0";
+       sha256 = "1d11i3g0rhcl43jd2pklbagazv2az73ns9sfkky8yx078cf79xyd";
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base constraints-deriving dimensions ];
        testHaskellDepends = [
          base Cabal constraints-deriving dimensions QuickCheck
@@ -74071,8 +75575,8 @@ self: {
     ({ mkDerivation, base, dimensions, easytensor, vulkan-api }:
      mkDerivation {
        pname = "easytensor-vulkan";
-       version = "2.0.1.0";
-       sha256 = "0j3np8b24kr30bc2lcrvgpnv440a0mzcksjiyf37sp6l9fml65m5";
+       version = "2.0.2.0";
+       sha256 = "0gi8p76x7h78frv3yrg6a7qnzjczx3j7warqclc36pkwv050dn3i";
        libraryHaskellDepends = [ base dimensions easytensor vulkan-api ];
        description = "Use easytensor with vulkan-api";
        license = stdenv.lib.licenses.bsd3;
@@ -74517,6 +76021,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "edit-distance-linear" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, edit-distance
+     , hspec, QuickCheck, text, text-metrics
+     }:
+     mkDerivation {
+       pname = "edit-distance-linear";
+       version = "0.2.0.2";
+       sha256 = "0l95jjhjn39slyaixis2z6w0mly1vk1c2ia3nykhkvwp2adyn5nf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ array base bytestring ];
+       testHaskellDepends = [
+         array base bytestring edit-distance hspec QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring criterion text text-metrics
+       ];
+       description = "Efficient implementation of the Levenshtein edit distance in linear memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "edit-distance-vector" = callPackage
     ({ mkDerivation, base, QuickCheck, quickcheck-instances, vector }:
      mkDerivation {
@@ -74746,29 +76271,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.2";
+       sha256 = "04kk635qiv6y5g6y9gjhlh5x5ds7js127r8p2qdhq4da1yb39pqi";
        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 = [
@@ -74806,8 +76331,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.7.14";
-       sha256 = "1ar5yg00arqd09wva0q1y4d8lfpd0vjw9sgk47jsyqs7ydm59hnb";
+       version = "3.10.0";
+       sha256 = "109j17iskxs7gwgvxyyvmipf3xsbnysjxj20z6hhjzz1sb3sw5x5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -75105,15 +76630,15 @@ self: {
      }) {};
 
   "ekg-influxdb" = callPackage
-    ({ mkDerivation, base, clock, containers, ekg-core, libinfluxdb
+    ({ mkDerivation, base, clock, containers, ekg-core, influxdb, lens
      , text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "ekg-influxdb";
-       version = "0.1.0.0";
-       sha256 = "191m76faascrknxj78nyivffzgwizx9snq9z3a0j2frwa8hfn4l5";
+       version = "0.2.0.0";
+       sha256 = "0zvzsv80ngwi8mfxyl3ahrcz2yqq3lac4y2hxih7i55mw0bvrnq7";
        libraryHaskellDepends = [
-         base clock containers ekg-core libinfluxdb text time
+         base clock containers ekg-core influxdb lens text time
          unordered-containers vector
        ];
        description = "An EKG backend to send statistics to influxdb";
@@ -75173,8 +76698,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Easily expose your EKG metrics to Prometheus";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ekg-push" = callPackage
@@ -75397,25 +76920,25 @@ self: {
      }) {};
 
   "elliptic-curve" = callPackage
-    ({ mkDerivation, arithmoi, base, criterion, galois-field
-     , MonadRandom, protolude, tasty, tasty-hunit, tasty-quickcheck
-     , text, wl-pprint-text
+    ({ mkDerivation, base, criterion, galois-field, groups, MonadRandom
+     , protolude, tasty, tasty-hunit, tasty-quickcheck, text
+     , wl-pprint-text
      }:
      mkDerivation {
        pname = "elliptic-curve";
-       version = "0.2.2";
-       sha256 = "082q01xqfqa73c0wasmh8v0hgf76gsfg8jzd78n9vgrp69zali1n";
+       version = "0.3.0";
+       sha256 = "1rvil4va3dy04474kiihadsplhqbpbrkjsqnmaykw23lqgzp32iq";
        libraryHaskellDepends = [
-         base galois-field MonadRandom protolude tasty-quickcheck text
-         wl-pprint-text
+         base galois-field groups MonadRandom protolude tasty-quickcheck
+         text wl-pprint-text
        ];
        testHaskellDepends = [
-         arithmoi base galois-field MonadRandom protolude tasty tasty-hunit
+         base galois-field groups MonadRandom protolude tasty tasty-hunit
          tasty-quickcheck text wl-pprint-text
        ];
        benchmarkHaskellDepends = [
-         base criterion galois-field MonadRandom protolude tasty-quickcheck
-         text wl-pprint-text
+         base criterion galois-field groups MonadRandom protolude
+         tasty-quickcheck text wl-pprint-text
        ];
        description = "Elliptic curve library";
        license = stdenv.lib.licenses.mit;
@@ -75724,28 +77247,6 @@ self: {
      }) {};
 
   "elm-street" = callPackage
-    ({ mkDerivation, aeson, base, directory, filepath, prettyprinter
-     , servant, servant-server, text, time, wai, warp
-     }:
-     mkDerivation {
-       pname = "elm-street";
-       version = "0.0.1";
-       sha256 = "09rc10k6g23wf7b095rk6i2d9h5axlcmfpimhmbpqhm8vyqg72l7";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base directory filepath prettyprinter text time
-       ];
-       executableHaskellDepends = [
-         base servant servant-server wai warp
-       ];
-       testHaskellDepends = [ base ];
-       doHaddock = false;
-       description = "Crossing the road between Haskell and Elm";
-       license = stdenv.lib.licenses.mpl20;
-     }) {};
-
-  "elm-street_0_1_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
      , hspec, prettyprinter, servant, servant-server, text, time, wai
      , warp
@@ -75766,7 +77267,26 @@ self: {
        doHaddock = false;
        description = "Crossing the road between Haskell and Elm";
        license = stdenv.lib.licenses.mpl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elm-syntax" = callPackage
+    ({ mkDerivation, base, bound, deriving-compat, prettyprinter
+     , protolude, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "elm-syntax";
+       version = "0.1.0.0";
+       sha256 = "1c8dg5kd0h36j030ig59n1gg1g7y569k92nxg416w4y18z7gir72";
+       libraryHaskellDepends = [
+         base bound deriving-compat prettyprinter protolude text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base bound deriving-compat prettyprinter protolude text
+         unordered-containers
+       ];
+       description = "Elm syntax and pretty-printing";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "elm-websocket" = callPackage
@@ -75823,8 +77343,8 @@ self: {
      }:
      mkDerivation {
        pname = "elm2nix";
-       version = "0.1.1";
-       sha256 = "16b7vv7ndn8mpkg05rhljpmld2dazsgl9yqg8j3mza1f5x4f6jwp";
+       version = "0.1.2";
+       sha256 = "1fbxr1k6iarmzx7xam3bvgayhxmgq1yn47crckgka4s667dgsnjd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -75871,19 +77391,21 @@ self: {
      }) {};
 
   "elocrypt" = callPackage
-    ({ mkDerivation, base, hlint, MonadRandom, proctest, QuickCheck
-     , random, tasty, tasty-quickcheck, tasty-th
+    ({ mkDerivation, base, containers, hlint, MonadRandom, proctest
+     , QuickCheck, random, tasty, tasty-quickcheck, tasty-th
      }:
      mkDerivation {
        pname = "elocrypt";
-       version = "2.0.1";
-       sha256 = "1sb0xb4dx39vmr60slrlr85hwi6drmqdibv0faiw7k48rxvcz1ak";
+       version = "2.1.0";
+       sha256 = "1mz400y28qminfz39zl2wsia6hv2pmvg836gc18z6hakmw80jnmk";
+       revision = "1";
+       editedCabalFile = "04ciqcmycpms6qvbh04fkq7kli7mcd031x9lqhv2ps46f4v9zx1b";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base MonadRandom random ];
+       libraryHaskellDepends = [ base containers MonadRandom random ];
        executableHaskellDepends = [ base random ];
        testHaskellDepends = [
-         base hlint MonadRandom proctest QuickCheck random tasty
+         base containers hlint MonadRandom proctest QuickCheck random tasty
          tasty-quickcheck tasty-th
        ];
        description = "Generate easy-to-remember, hard-to-guess passwords";
@@ -75940,6 +77462,8 @@ self: {
        ];
        description = "Handle molecular sequences";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "elynx-tools" = callPackage
@@ -75986,6 +77510,8 @@ self: {
        ];
        description = "Handle phylogenetic trees";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "emacs-keys" = callPackage
@@ -76091,8 +77617,8 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.2.11";
-       sha256 = "051h1l6x4dpk2jg1bsxy32zswf8ridlix3k78k0h237gcassrfpb";
+       version = "2.3.2.12";
+       sha256 = "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf";
        libraryHaskellDepends = [
          attoparsec base bytestring template-haskell
        ];
@@ -76135,6 +77661,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
@@ -76268,6 +77796,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "emd_0_2_0_0" = callPackage
+    ({ mkDerivation, array, base, binary, carray, conduino, containers
+     , criterion, data-default-class, deepseq, fft, finite-typelits
+     , free, ghc-typelits-knownnat, ghc-typelits-natnormalise, hedgehog
+     , HUnit, mwc-random, statistics, tasty, tasty-hedgehog, tasty-hunit
+     , transformers, typelits-witnesses, vector, vector-sized
+     }:
+     mkDerivation {
+       pname = "emd";
+       version = "0.2.0.0";
+       sha256 = "11w9q8v5mpwww8pq5dwg8ijf0wqs7sqa0k6qgv52gg5b2wjlf0im";
+       libraryHaskellDepends = [
+         array base binary carray conduino containers data-default-class
+         deepseq fft finite-typelits free ghc-typelits-knownnat
+         ghc-typelits-natnormalise transformers typelits-witnesses vector
+         vector-sized
+       ];
+       testHaskellDepends = [
+         base containers ghc-typelits-knownnat ghc-typelits-natnormalise
+         hedgehog HUnit statistics tasty tasty-hedgehog tasty-hunit
+         typelits-witnesses vector vector-sized
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq ghc-typelits-knownnat mwc-random statistics
+         vector vector-sized
+       ];
+       description = "Empirical Mode Decomposition and Hilbert-Huang Transform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "emgm" = callPackage
     ({ mkDerivation, base, HUnit, QuickCheck, syb }:
      mkDerivation {
@@ -76300,6 +77859,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "emojis" = callPackage
+    ({ mkDerivation, base, containers, HUnit, text }:
+     mkDerivation {
+       pname = "emojis";
+       version = "0.1";
+       sha256 = "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss";
+       libraryHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base HUnit text ];
+       description = "Conversion between emoji characters and their names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "empty" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -76748,19 +78319,17 @@ self: {
      }) {};
 
   "enumeration" = callPackage
-    ({ mkDerivation, arith-encode, arithmoi, base, binary, Cabal
-     , containers, heap, HUnit-Plus
+    ({ mkDerivation, arith-encode, base, binary, containers, heap
+     , HUnit-Plus, integer-logarithms
      }:
      mkDerivation {
        pname = "enumeration";
-       version = "0.1.0";
-       sha256 = "17d7vm2nkyhxw2f0wk6llrw9y5kqzgqlgswv98wrpnpsspwmx0bk";
+       version = "0.2.0";
+       sha256 = "0lhyvsiibzk70czway3wx5wsm1gjfxip47clf4l5nskq1qxs9q8l";
        libraryHaskellDepends = [
-         arith-encode arithmoi base binary Cabal containers heap
-       ];
-       testHaskellDepends = [
-         arith-encode arithmoi base binary Cabal containers heap HUnit-Plus
+         arith-encode base binary containers heap integer-logarithms
        ];
+       testHaskellDepends = [ arith-encode base binary HUnit-Plus ];
        description = "A practical API for building recursive enumeration procedures and enumerating datatypes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -77835,29 +79404,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_1_0" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit
-     , containers, exceptions, hspec, monad-logger, mysql, mysql-simple
-     , persistent, persistent-mysql, persistent-postgresql
+  "esqueleto_3_3_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
+     , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
+     , mysql-simple, persistent, persistent-mysql, persistent-postgresql
      , persistent-sqlite, persistent-template, postgresql-libpq
      , postgresql-simple, resourcet, tagged, text, time, transformers
      , unliftio, unordered-containers, vector
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.1.0";
-       sha256 = "0x3hrh5ymv19l52634q18hsmxjranngc32ig6b2lbd5lz8d6iigy";
+       version = "3.3.0";
+       sha256 = "0qscm9b4zqb0w78xpf1yhmjlbapvghmvsqxqwx2x0grb4yvv7cwq";
        libraryHaskellDepends = [
-         aeson base blaze-html bytestring conduit monad-logger persistent
-         resourcet tagged text time transformers unliftio
-         unordered-containers
+         aeson attoparsec base blaze-html bytestring conduit containers
+         monad-logger persistent resourcet tagged text time transformers
+         unliftio unordered-containers
        ];
        testHaskellDepends = [
-         aeson base blaze-html bytestring conduit containers exceptions
-         hspec monad-logger mysql mysql-simple persistent persistent-mysql
-         persistent-postgresql persistent-sqlite persistent-template
-         postgresql-libpq postgresql-simple resourcet tagged text time
-         transformers unliftio unordered-containers vector
+         aeson attoparsec base blaze-html bytestring conduit containers
+         exceptions hspec monad-logger mtl mysql mysql-simple persistent
+         persistent-mysql persistent-postgresql persistent-sqlite
+         persistent-template postgresql-libpq postgresql-simple resourcet
+         tagged text time transformers unliftio unordered-containers vector
        ];
        description = "Type-safe EDSL for SQL queries on persistent backends";
        license = stdenv.lib.licenses.bsd3;
@@ -77897,6 +79466,8 @@ self: {
        ];
        description = "General purpose live coding framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "essence-of-live-coding-gloss" = callPackage
@@ -77912,6 +79483,8 @@ self: {
        ];
        description = "General purpose live coding framework - Gloss backend";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "essence-of-live-coding-pulse" = callPackage
@@ -77927,6 +79500,8 @@ self: {
        ];
        description = "General purpose live coding framework - pulse backend";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "essence-of-live-coding-quickcheck" = callPackage
@@ -77943,6 +79518,8 @@ self: {
        ];
        description = "General purpose live coding framework - QuickCheck integration";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "estimator" = callPackage
@@ -78421,6 +79998,30 @@ self: {
        broken = true;
      }) {};
 
+  "evdev" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, containers, either, evdev
+     , extra, hinotify, libevdev, monad-loops, paths, posix-paths
+     , process, rawfilepath, safe, streamly, streamly-fsnotify, time
+     , unix
+     }:
+     mkDerivation {
+       pname = "evdev";
+       version = "1.2.0.0";
+       sha256 = "1sjpqnf6gb8mb4n4sf8d60byx5s0vjpwhp7n0lkf2ikckwlc7y73";
+       libraryHaskellDepends = [
+         base bytestring containers either extra hinotify monad-loops paths
+         posix-paths process rawfilepath safe streamly streamly-fsnotify
+         time unix
+       ];
+       librarySystemDepends = [ evdev ];
+       libraryPkgconfigDepends = [ libevdev ];
+       libraryToolDepends = [ c2hs ];
+       description = "Bindings to libevdev";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {evdev = null; inherit (pkgs) libevdev;};
+
   "eve" = callPackage
     ({ mkDerivation, base, containers, data-default, free, hspec
      , hspec-core, lens, mtl
@@ -78698,19 +80299,19 @@ self: {
   "eventlog2html" = callPackage
     ({ mkDerivation, aeson, array, attoparsec, base, blaze-html
      , bytestring, containers, file-embed, filepath, ghc-events
-     , hashtables, hvega, mtl, optparse-applicative, semigroups, text
-     , time, vector
+     , hashable, hashtables, hvega, mtl, optparse-applicative
+     , semigroups, text, time, trie-simple, vector
      }:
      mkDerivation {
        pname = "eventlog2html";
-       version = "0.4.0";
-       sha256 = "09gsxzqrbjksi5gnwf7b4d2ry0cj4gqzzbpbrb404lkd5v0z1sh1";
+       version = "0.6.0";
+       sha256 = "06v2g84hxcc7w4idhkfdix3c2yk9qdx91ys83abn7z7jjc24x2hs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson array attoparsec base blaze-html bytestring containers
-         file-embed filepath ghc-events hashtables hvega mtl
-         optparse-applicative semigroups text time vector
+         file-embed filepath ghc-events hashable hashtables hvega mtl
+         optparse-applicative semigroups text time trie-simple vector
        ];
        executableHaskellDepends = [ aeson base filepath text ];
        description = "Visualise an eventlog";
@@ -78854,8 +80455,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "1.3.1";
-       sha256 = "1mpwd6bwyzzmg2mzbkllf2f05dsi17da5i3clvakjj9yv8dpxj3q";
+       version = "1.3.3";
+       sha256 = "0xf67ywg2f1wj75s82s2lsi2zgvk1xqhl09c4hnl45qzslkbl2xp";
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring cereal clock connection
          containers dns dotnet-timespan ekg-core exceptions fast-logger
@@ -79104,10 +80705,8 @@ self: {
      }:
      mkDerivation {
        pname = "exception-transformers";
-       version = "0.4.0.7";
-       sha256 = "1vzjy6mz6y9jacpwq2bax86nwzq9mk4b9y3r3r98l50r7pmn2nwj";
-       revision = "1";
-       editedCabalFile = "0sahi93f75acvmqagkjc1lcwx31crja6z9hyww9abj85x45pqa6f";
+       version = "0.4.0.8";
+       sha256 = "079vwd0lkv7y5cijpjxsxn6wyba1y22fw9mfirzgjpiswx46isrr";
        libraryHaskellDepends = [
          base stm transformers transformers-compat
        ];
@@ -79456,6 +81055,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
@@ -79899,8 +81526,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;
@@ -80008,23 +81635,21 @@ self: {
      }) {};
 
   "extensible" = callPackage
-    ({ mkDerivation, aeson, barbies, base, bytestring, cassava, comonad
-     , constraints, deepseq, exceptions, ghc-prim, hashable, lens
-     , membership, monad-skeleton, mtl, prettyprinter, primitive
-     , profunctors, QuickCheck, resourcet, StateVar, tagged
-     , template-haskell, text, th-lift, transformers
+    ({ mkDerivation, aeson, base, bytestring, cassava, comonad
+     , constraints, deepseq, ghc-prim, hashable, lens, membership
+     , monad-skeleton, prettyprinter, primitive, profunctors, QuickCheck
+     , StateVar, tagged, template-haskell, text, th-lift, transformers
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "extensible";
-       version = "0.6.1";
-       sha256 = "1h96kn622qyx27xap79ywq4kx4q82x4b3kxviakhqwxlvf2sklg2";
+       version = "0.7";
+       sha256 = "1nil9qvgrbd42hv198msm7apma67m9dqi5cqgfvjgfcgdms46dk2";
        libraryHaskellDepends = [
-         aeson barbies base bytestring cassava comonad constraints deepseq
-         exceptions ghc-prim hashable membership monad-skeleton mtl
-         prettyprinter primitive profunctors QuickCheck resourcet StateVar
-         tagged template-haskell text th-lift transformers
-         unordered-containers vector
+         aeson base bytestring cassava comonad constraints deepseq ghc-prim
+         hashable membership monad-skeleton prettyprinter primitive
+         profunctors QuickCheck StateVar tagged template-haskell text
+         th-lift transformers unordered-containers vector
        ];
        testHaskellDepends = [ base lens QuickCheck template-haskell ];
        description = "Extensible, efficient, optics-friendly data types and effects";
@@ -80118,6 +81743,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "extensible-skeleton" = callPackage
+    ({ mkDerivation, base, exceptions, extensible, membership
+     , monad-skeleton, mtl, profunctors, resourcet, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "extensible-skeleton";
+       version = "0";
+       sha256 = "0bv6589p8cpzsr167yi98vm0bzkcfgazkxbj35f74ykh8zwqlqfl";
+       libraryHaskellDepends = [
+         base exceptions extensible membership monad-skeleton mtl
+         profunctors resourcet template-haskell transformers
+       ];
+       testHaskellDepends = [ base extensible ];
+       description = "Operational-based extensible effect library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "extensible-sp" = callPackage
     ({ mkDerivation, base, lens }:
      mkDerivation {
@@ -80363,6 +82006,8 @@ self: {
        ];
        description = "Rational arithmetic in an irrational world";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "facts" = callPackage
@@ -80565,8 +82210,8 @@ self: {
        pname = "fake";
        version = "0.1.1.2";
        sha256 = "0jwndfsyc5p7da97658j14x5gynbifkx7ikg8k09ym9gizkrmdd2";
-       revision = "1";
-       editedCabalFile = "0gpqpb6vmskw7l6k3q18cfb670azxldiirj9sapz043sqd5wc3di";
+       revision = "2";
+       editedCabalFile = "17ggg7m04xr42353b2gyx965c8qgymd4nvlzcm5zyx2v7q9zwy8f";
        libraryHaskellDepends = [
          base containers generics-sop random text time
        ];
@@ -80612,7 +82257,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fakedata_0_3_0" = callPackage
+  "fakedata_0_5_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hashable, hspec, hspec-discover
      , random, template-haskell, text, time, unordered-containers
@@ -80620,8 +82265,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "0.3.0";
-       sha256 = "11g3vja4kw7ms5bvccl4hpzvd59v2m60sk6ycx9calw13b65ix4p";
+       version = "0.5.0";
+       sha256 = "0xbdbxbj3phrzhg5ifp0s479sjrkm6p3pvvia2i4j1fmq313d9k7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers directory exceptions filepath hashable
@@ -80780,11 +82425,12 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.4.2";
-       sha256 = "1jfdwhbw6g435p7waspg19viykqlqqqc7n8m75j34a8vwqyh5zpa";
-       libraryHaskellDepends = [ base hgmp ];
+       version = "0.6.4.3";
+       sha256 = "08fwfk6k081gasfpvil9hhzcc85b6xlpflp2kqi9kwza3pfi3d0s";
+       libraryHaskellDepends = [ base combinat hgmp ];
        testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
        benchmarkHaskellDepends = [ arithmoi base combinat criterion ];
+       doHaddock = false;
        description = "Fast functions on integers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -80798,26 +82444,6 @@ self: {
      }:
      mkDerivation {
        pname = "fast-builder";
-       version = "0.1.1.0";
-       sha256 = "024n5q1zsmd1va662sjdnc42w4qj6pmqg64fsfcn0jx5zvmg62d9";
-       libraryHaskellDepends = [ base bytestring ghc-prim ];
-       testHaskellDepends = [ base bytestring process QuickCheck stm ];
-       benchmarkHaskellDepends = [
-         aeson base bytestring containers criterion deepseq ghc-prim
-         scientific template-haskell text true-name unordered-containers
-         vector
-       ];
-       description = "Fast ByteString Builder";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "fast-builder_0_1_2_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , deepseq, ghc-prim, process, QuickCheck, scientific, stm
-     , template-haskell, text, true-name, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "fast-builder";
        version = "0.1.2.0";
        sha256 = "1aa3v14nlcq4ql3f07lan9kg21dqp009yzgb96bxznyigxwf67rp";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
@@ -80829,7 +82455,6 @@ self: {
        ];
        description = "Fast ByteString Builder";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-combinatorics" = callPackage
@@ -80871,15 +82496,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;
@@ -80906,6 +82531,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fast-logger_3_0_0" = callPackage
+    ({ mkDerivation, array, auto-update, base, bytestring, directory
+     , easy-file, filepath, hspec, hspec-discover, text, unix-compat
+     , unix-time
+     }:
+     mkDerivation {
+       pname = "fast-logger";
+       version = "3.0.0";
+       sha256 = "0jgzl4gsxb2xf51k2n8m19db3mk4l9pppir2h7cckdr596zy3x83";
+       libraryHaskellDepends = [
+         array auto-update base bytestring directory easy-file filepath text
+         unix-compat unix-time
+       ];
+       testHaskellDepends = [ base bytestring directory hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "A fast logging system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fast-math" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -80942,27 +82587,26 @@ self: {
      }) {};
 
   "fast-tags" = callPackage
-    ({ mkDerivation, alex, array, async, base, bytestring, containers
-     , cpphs, deepseq, directory, filepath, mtl, tasty, tasty-hunit
-     , text, utf8-string
+    ({ mkDerivation, alex, array, async, base, bytestring, Cabal
+     , containers, deepseq, directory, filepath, mtl, tasty, tasty-hunit
+     , text, transformers, vector, void
      }:
      mkDerivation {
        pname = "fast-tags";
-       version = "1.5.0";
-       sha256 = "0cchakbbs7sfjrsg6p45kv9bv1dsxp5mj6q3900v0hf8n7is3qqb";
+       version = "2.0.0";
+       sha256 = "0q2ijh1pdxzm57557vln195mmxs15wra9159vpsjvjda4gnd7bs6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array async base bytestring containers cpphs deepseq directory
-         filepath mtl text utf8-string
+         array base bytestring Cabal containers deepseq filepath mtl text
+         transformers vector void
        ];
        libraryToolDepends = [ alex ];
        executableHaskellDepends = [
-         async base bytestring containers deepseq directory filepath text
+         async base deepseq directory filepath text
        ];
        testHaskellDepends = [
-         async base bytestring containers directory filepath tasty
-         tasty-hunit text
+         base bytestring tasty tasty-hunit text void
        ];
        description = "Fast incremental vi and emacs tags";
        license = stdenv.lib.licenses.bsd3;
@@ -81109,8 +82753,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastparser";
-       version = "0.3.1.2";
-       sha256 = "0hyai0v9h4zlbr8fnal6l4z9y8zrh4ghhp2wymhf6fg23lahscid";
+       version = "0.4.0";
+       sha256 = "1pb97h5hpn3fn4r9qz3rx2kb3xrbvbja9yvakbacd03rn3my1pz3";
        libraryHaskellDepends = [
          base bytestring bytestring-lexing containers kan-extensions
          microlens thyme transformers vector-space
@@ -81146,8 +82790,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastsum";
-       version = "0.1.1.0";
-       sha256 = "0fa3wjdsjl8wwlw194g1b7j8rvwix2b1hgwm1s10fq91a10mca6n";
+       version = "0.1.1.1";
+       sha256 = "0j9jd068xgk7nn2ilgdkv1pxngflqqgxz1pnhdssgiih04v8zw5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -81542,8 +83186,8 @@ self: {
        pname = "fclabels";
        version = "2.0.3.3";
        sha256 = "1q62p41bj991s7i15ciayw1v1xq8szn4bls50p65lfy2dnj7554s";
-       revision = "3";
-       editedCabalFile = "1wncfnvh4mv87gh0ddhiqf839d63rqs1qzi3y386y6r8hfnvra0l";
+       revision = "4";
+       editedCabalFile = "09pn1q4gjlhw956asmhzva1rhrafmn69xmd1sc80fh3c8vjd3icz";
        libraryHaskellDepends = [ base mtl template-haskell transformers ];
        testHaskellDepends = [
          base HUnit mtl template-haskell transformers
@@ -81717,6 +83361,18 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "fedora-dists_1_1_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fedora-dists";
+       version = "1.1.1";
+       sha256 = "10yf8hjbrwjwdsfys87cysim8zfknqp1vv336ym8b5qlx700b2ji";
+       libraryHaskellDepends = [ base ];
+       description = "Library for Fedora distribution versions";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fedora-haskell-tools" = callPackage
     ({ mkDerivation, base, csv, directory, fedora-dists, filepath, HTTP
      , optparse-applicative, process, simple-cmd, simple-cmd-args, split
@@ -81724,10 +83380,8 @@ self: {
      }:
      mkDerivation {
        pname = "fedora-haskell-tools";
-       version = "0.8";
-       sha256 = "03wk335dpkbcdgxqsjiavnqc43jkw8gh7y41dyfwivwd9mr32y2w";
-       revision = "1";
-       editedCabalFile = "06xak96g91krd45kvz1nscnfn4rw9gdj5xxwn8simb2vmqiy6f94";
+       version = "0.9";
+       sha256 = "1zqglc16jawgdx382wg7dx467v7ngnf1njvf1clcdyqwp54q6imn";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -81809,8 +83463,8 @@ self: {
      }:
      mkDerivation {
        pname = "feed";
-       version = "1.2.0.0";
-       sha256 = "0cakrlq1ra2gwyqmdhss4clkj0xxrwy3pc4xjzgqz4w3yd1czjg7";
+       version = "1.2.0.1";
+       sha256 = "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat bytestring old-locale old-time safe text time
@@ -81825,6 +83479,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
@@ -82342,8 +84021,8 @@ self: {
      }:
      mkDerivation {
        pname = "fficxx";
-       version = "0.5.0.1";
-       sha256 = "01rvg7y9c0jczypjgrq7b6cbl79n10flsllkbgm9z5hhymwga38s";
+       version = "0.5.1";
+       sha256 = "0yp4vx06l5y8gk689q8yicbznv1lfzqpqfvgc5l4s41vg46mc315";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring Cabal containers data-default
          directory either errors filepath hashable haskell-src-exts lens mtl
@@ -82603,8 +84282,8 @@ self: {
      }:
      mkDerivation {
        pname = "fields-json";
-       version = "0.2.2.4";
-       sha256 = "1335f0ywa2hmgza3kagxr8y5xl57jxsq7p7q19wbzcknlv3hwmms";
+       version = "0.4.0.0";
+       sha256 = "0pzh7j2ka4s4b2vgcj2qsrrmxb3gxry0r5wzhkblc82bk76sq4fn";
        libraryHaskellDepends = [
          base base64-bytestring containers json mtl utf8-string
        ];
@@ -82677,8 +84356,8 @@ self: {
      }:
      mkDerivation {
        pname = "file-embed";
-       version = "0.0.11";
-       sha256 = "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf";
+       version = "0.0.11.1";
+       sha256 = "1ml9j5jln9g86qqi7akcxyfy8d2jb46y1sfk817j1s4babzff4x1";
        libraryHaskellDepends = [
          base bytestring directory filepath template-haskell
        ];
@@ -82829,8 +84508,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)";
@@ -82880,6 +84559,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "filepath-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, QuickCheck, unix }:
+     mkDerivation {
+       pname = "filepath-bytestring";
+       version = "1.4.2.1.1";
+       sha256 = "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring filepath QuickCheck ];
+       description = "Library for manipulating RawFilePaths in a cross platform way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "filepath-crypto" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
      , cryptoids, cryptoids-class, cryptoids-types, exceptions, filepath
@@ -82965,8 +84656,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
@@ -82977,6 +84668,8 @@ self: {
        ];
        description = "Interface for versioning file stores";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "filesystem-abstractions" = callPackage
@@ -83095,8 +84788,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "filtrable";
-       version = "0.1.2.0";
-       sha256 = "1bgy3pydi7paiia63kygrg7fjjs7fm73jqfmlmw4szcbjmv8xq8k";
+       version = "0.1.3.0";
+       sha256 = "1viazb01xnw7siwrsynaxqcjrgc96gqfgmj4vxl5r3lbnb34wdl0";
        libraryHaskellDepends = [ base ];
        description = "Class of filtrable containers";
        license = stdenv.lib.licenses.bsd3;
@@ -83104,15 +84797,13 @@ self: {
 
   "fin" = callPackage
     ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
-     , tagged
+     , QuickCheck, tagged
      }:
      mkDerivation {
        pname = "fin";
-       version = "0.1";
-       sha256 = "17nv26cznhslrfb1ajcgxa9g3zacvk3prmncr7f8d7rvh42g2gnn";
-       revision = "1";
-       editedCabalFile = "0kdhmjpifbl1r44jy2spj82gdadd849zz6i0y7mw1ii25w91yb50";
-       libraryHaskellDepends = [ base dec deepseq hashable ];
+       version = "0.1.1";
+       sha256 = "0zwc8x2ilbk1bhsk85brf6g300cx4w2j3602gjh6rv900961gqri";
+       libraryHaskellDepends = [ base dec deepseq hashable QuickCheck ];
        testHaskellDepends = [ base inspection-testing tagged ];
        description = "Nat and Fin: peano naturals and finite numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -83288,16 +84979,16 @@ self: {
   "finitary" = callPackage
     ({ mkDerivation, base, bitvec, coercible-utils, finite-typelits
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, hedgehog
-     , monad-loops, mtl, primitive, template-haskell, typelits-witnesses
+     , monad-loops, primitive, template-haskell, typelits-witnesses
      , vector, vector-sized
      }:
      mkDerivation {
        pname = "finitary";
-       version = "1.1.0.1";
-       sha256 = "13rvwymzsl91zwvc565ysakn8lznwwfnrg0d4vxvlqqrrkbkca1p";
+       version = "1.2.0.0";
+       sha256 = "1r9knjg3vypzyvlawl5pysvsjv7vf6cadh8d5kqqj6xsk3qdnnp5";
        libraryHaskellDepends = [
          base bitvec coercible-utils finite-typelits ghc-typelits-knownnat
-         ghc-typelits-natnormalise mtl primitive template-haskell
+         ghc-typelits-natnormalise primitive template-haskell
          typelits-witnesses vector vector-sized
        ];
        testHaskellDepends = [
@@ -83305,27 +84996,30 @@ self: {
        ];
        description = "A better, more type-safe Enum";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "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;
@@ -83470,8 +85164,8 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "first-class-patterns";
-       version = "0.3.2.4";
-       sha256 = "1dc24hgmxyhg7jrij3f3x46ra96y5fw047828f8ahxvj14ljix1v";
+       version = "0.3.2.5";
+       sha256 = "1bh8ndf77pfh851d7szx0q2lpima6zm1d652s9j7jzchr7icyjvs";
        libraryHaskellDepends = [ base transformers ];
        description = "First class patterns and pattern matching, using type families";
        license = stdenv.lib.licenses.bsd3;
@@ -83517,6 +85211,8 @@ self: {
        ];
        description = "Calculates file-size frequency-distribution";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fit" = callPackage
@@ -83987,10 +85683,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
@@ -84135,8 +85829,8 @@ self: {
      }:
      mkDerivation {
        pname = "flags-applicative";
-       version = "0.1.0.1";
-       sha256 = "1pamcfv5g6d42ksq10af0l2a6k8y997zx3y4pvf5gcy5hlxr2gwv";
+       version = "0.1.0.2";
+       sha256 = "192yghdmylynn57l22ahb6dhrbl590dxmv2cdn755r22v7dbhsgf";
        libraryHaskellDepends = [
          base casing containers mtl network text
        ];
@@ -84243,6 +85937,43 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "flatbuffers" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, bytestring
+     , containers, criterion, directory, filepath, hedgehog, hspec
+     , hspec-core, hspec-expectations-pretty-diff, hspec-megaparsec
+     , http-client, http-types, HUnit, hw-hspec-hedgehog, megaparsec
+     , mono-traversable, mtl, parser-combinators, process
+     , raw-strings-qq, scientific, template-haskell, text
+     , text-manipulate, th-pprint, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "flatbuffers";
+       version = "0.2.0.0";
+       sha256 = "02d270qkrlwn2x0aiasrf614jdirngswxcs30dawpc1zap56bf7r";
+       libraryHaskellDepends = [
+         base binary bytestring containers directory filepath megaparsec
+         mono-traversable mtl parser-combinators scientific template-haskell
+         text text-manipulate
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base binary bytestring containers directory
+         filepath hedgehog hspec hspec-core hspec-expectations-pretty-diff
+         hspec-megaparsec http-client http-types HUnit hw-hspec-hedgehog
+         megaparsec mono-traversable mtl parser-combinators process
+         raw-strings-qq scientific template-haskell text text-manipulate
+         th-pprint utf8-string
+       ];
+       benchmarkHaskellDepends = [
+         aeson base binary bytestring containers criterion directory
+         filepath megaparsec mono-traversable mtl parser-combinators
+         scientific template-haskell text text-manipulate vector
+       ];
+       description = "Haskell implementation of the FlatBuffers protocol";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "flay" = callPackage
     ({ mkDerivation, base, constraints, tasty, tasty-quickcheck
      , transformers
@@ -84263,8 +85994,8 @@ self: {
      }:
      mkDerivation {
        pname = "flexible-defaults";
-       version = "0.0.2";
-       sha256 = "0r4aq6n5h9xnal535hds111vq8whzsvyc3yibmcbp7fndldd9mgk";
+       version = "0.0.3";
+       sha256 = "02v35b3ahbw46q9xipyh4n46drlz1xrx1rixdmggjr0fwkygd1k5";
        libraryHaskellDepends = [
          base containers template-haskell th-extras transformers
        ];
@@ -84530,8 +86261,8 @@ self: {
      }:
      mkDerivation {
        pname = "floskell";
-       version = "0.10.1";
-       sha256 = "1y79f6a6frcmhs70z34rdcpm5bqpgqf46bx29jnixgs313lwz229";
+       version = "0.10.2";
+       sha256 = "1id1bwvzl5x4wq6i2ailvmvy2gcdzfgs8q59pg7s2j5cv35gf80h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -84562,8 +86293,8 @@ self: {
     ({ mkDerivation, base, doctest, QuickCheck, template-haskell }:
      mkDerivation {
        pname = "flow";
-       version = "1.0.18";
-       sha256 = "1cyac1la7pg7hkpdd2lhk4clh6g1zd2n0f479xvgn14ibs6ki3ph";
+       version = "1.0.19";
+       sha256 = "00pfsyfn7wpgghsw9xgakrxa3n04lizfhrxkg9jbyw0gvd5w6hi9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest QuickCheck template-haskell ];
        description = "Write more understandable Haskell";
@@ -84746,7 +86477,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 {
@@ -84759,15 +86490,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
@@ -85189,8 +86920,8 @@ self: {
      }:
      mkDerivation {
        pname = "fold-debounce";
-       version = "0.2.0.8";
-       sha256 = "1j7v11nq2q7p50z27lbmprwqrhvcf9qa5zy2hql68zsi53q3wszw";
+       version = "0.2.0.9";
+       sha256 = "032vk4bpmsd7ix00kpfb2vnabivg9vkkfy3nbazdgm8x01jix4wq";
        libraryHaskellDepends = [
          base data-default-class stm stm-delay time
        ];
@@ -85370,8 +87101,8 @@ self: {
      }:
      mkDerivation {
        pname = "folds";
-       version = "0.7.4";
-       sha256 = "0wj5fd3icj05w3lziv4rmqahsh42kzckxybjacyvwb45kiy6yvjw";
+       version = "0.7.5";
+       sha256 = "17a8xggx17m59hiwd2lxd2379sw4xblgyv1pk9g5h93w3m8wgq1r";
        configureFlags = [ "-f-test-hlint" ];
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
@@ -85613,8 +87344,8 @@ self: {
        pname = "force-layout";
        version = "0.4.0.6";
        sha256 = "17956k3mab2xhrmfy7fj5gh08h43yjlsryi5acjhnkmin5arhwpp";
-       revision = "4";
-       editedCabalFile = "0hpr1z68lflgcdl9gbmva0i52wbgfhh4qj3iwdvzipsp8mwav7s7";
+       revision = "5";
+       editedCabalFile = "14d494pa7hcxmq9cvy039y5x7da6j4p5jp8kw0kmrlb9q8h6rh18";
        libraryHaskellDepends = [
          base containers data-default-class lens linear
        ];
@@ -85758,14 +87489,16 @@ self: {
      }:
      mkDerivation {
        pname = "forma";
-       version = "1.1.2";
-       sha256 = "1ppgqwqm157ygj992r0cbarfii127g7nm63wbnrqvr9k1wmnlxx0";
+       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
@@ -86251,6 +87984,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fplll" = callPackage
+    ({ mkDerivation, base, fplll, hgmp, lattices, semibounded-lattices
+     }:
+     mkDerivation {
+       pname = "fplll";
+       version = "0.1.0.0";
+       sha256 = "1q9njmsgxx4cpziw2llnbpg5ic6sag7qdhial00rak3iq29rzlhh";
+       libraryHaskellDepends = [
+         base hgmp lattices semibounded-lattices
+       ];
+       libraryPkgconfigDepends = [ fplll ];
+       testHaskellDepends = [ base ];
+       description = "Haskell bindings to <https://fplll.github.io/fplll/ fplll>";
+       license = stdenv.lib.licenses.lgpl21Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) fplll;};
+
   "fpnla" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -86436,6 +88187,28 @@ self: {
        broken = true;
      }) {};
 
+  "franz" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, cpu
+     , directory, fast-builder, filepath, fsnotify, network, process
+     , sendfile, stm, stm-delay, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "franz";
+       version = "0.2.1";
+       sha256 = "0azkvqy4xgrs4wac6rd23rqc051hmm2r3nmdhgk8p2fs5cdkhncx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cereal containers cpu directory fast-builder
+         filepath fsnotify network process sendfile stm stm-delay
+         transformers unordered-containers vector
+       ];
+       executableHaskellDepends = [ base bytestring network stm ];
+       description = "Append-only database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fraxl" = callPackage
     ({ mkDerivation, async, base, dependent-map, dependent-sum
      , exceptions, fastsum, free, mtl, time, transformers, type-aligned
@@ -86483,8 +88256,8 @@ self: {
      }:
      mkDerivation {
        pname = "free";
-       version = "5.1.2";
-       sha256 = "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb";
+       version = "5.1.3";
+       sha256 = "0b9f9jrfgkq13333px6p1faxpcypqvzi0m9dnbj2rm8s79pdcw1c";
        libraryHaskellDepends = [
          base comonad containers distributive exceptions mtl profunctors
          semigroupoids template-haskell transformers transformers-base
@@ -86494,35 +88267,53 @@ self: {
      }) {};
 
   "free-algebras" = callPackage
-    ({ mkDerivation, base, constraints, containers, data-fix, dlist
-     , free, groups, hedgehog, kan-extensions, mtl, natural-numbers
-     , transformers
+    ({ mkDerivation, base, containers, data-fix, dlist, free, groups
+     , hedgehog, kan-extensions, mtl, transformers
      }:
      mkDerivation {
        pname = "free-algebras";
-       version = "0.0.7.2";
-       sha256 = "0hljd9wsv516jcqp7pkacmadjchkd9sxq42pj5j1my95hvc5apfd";
+       version = "0.0.8.1";
+       sha256 = "07p1nmg88b6nvqi33q80vb2aj6svx9r33ax85ry6d7adkg83s4jz";
        libraryHaskellDepends = [
-         base constraints containers data-fix dlist free groups
-         kan-extensions mtl natural-numbers transformers
+         base containers data-fix dlist free groups kan-extensions mtl
+         transformers
        ];
        testHaskellDepends = [
-         base constraints containers data-fix dlist free groups hedgehog
-         kan-extensions mtl natural-numbers transformers
+         base containers data-fix dlist free groups hedgehog kan-extensions
+         mtl transformers
        ];
-       description = "Free algebras in Haskell";
+       description = "Free algebras";
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
+  "free-categories" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "free-categories";
+       version = "0.1.0.0";
+       sha256 = "0lzal6vbh1zjcag4dwmhnsv4j66n00gkl0cmf0pssdjwwywxgpwx";
+       libraryHaskellDepends = [ base ];
+       description = "free categories";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "free-category" = callPackage
-    ({ mkDerivation, base, free-algebras }:
+    ({ mkDerivation, base, criterion, free-algebras, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
      mkDerivation {
        pname = "free-category";
-       version = "0.0.2.0";
-       sha256 = "16gs7n3gl5whda376j87qm9jfdx6zhmnyp43fjfaj6s5y2s0z53z";
+       version = "0.0.4.1";
+       sha256 = "1d7r9mcq4163g665bgzwxhvrk2iiypgss8s3j2lmqccb461s7a4j";
        libraryHaskellDepends = [ base free-algebras ];
-       description = "Free category";
+       testHaskellDepends = [
+         base free-algebras QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "efficient data types for free categories and arrows";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "free-concurrent" = callPackage
@@ -86920,8 +88711,8 @@ self: {
      }:
      mkDerivation {
        pname = "freer-simple";
-       version = "1.2.1.0";
-       sha256 = "199cg3y4wx1kh2mrdzf7qswi0jnx9nbgj0a6z75y7ql639lqya5c";
+       version = "1.2.1.1";
+       sha256 = "0vqbri72xxk6is0kk2yxfpqxixq3h047rn153i16hhpppsp3xk17";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -87263,12 +89054,12 @@ self: {
      }) {};
 
   "from-sum" = callPackage
-    ({ mkDerivation, base, doctest, Glob, mtl }:
+    ({ mkDerivation, base, doctest, Glob, transformers }:
      mkDerivation {
        pname = "from-sum";
-       version = "0.2.1.0";
-       sha256 = "0rv66a7mhswb4sqkyarg9kxxfpiymsmrk49gprq8mpwq7d1qmvd1";
-       libraryHaskellDepends = [ base mtl ];
+       version = "0.2.2.0";
+       sha256 = "05fppk2hkxn67xfl6kdzdp2a5mfz63dv4yx7mvr9fbdrarxrf326";
+       libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Canonical fromMaybeM and fromEitherM functions";
        license = stdenv.lib.licenses.bsd3;
@@ -87686,17 +89477,17 @@ self: {
 
   "ftp-client" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, connection
-     , containers, exceptions, network, transformers
+     , containers, exceptions, network, tasty, tasty-hspec, transformers
      }:
      mkDerivation {
        pname = "ftp-client";
-       version = "0.5.1.1";
-       sha256 = "01f8d32f2nkqrf21p38zgzwmvl2pkpl9rx0c8a8ch6h56flzhck4";
+       version = "0.5.1.3";
+       sha256 = "1alk8l8i5izdy5rk5qnig4wn0wd08pgnaixqq874mxwxhpak4c3f";
        libraryHaskellDepends = [
          attoparsec base bytestring connection containers exceptions network
          transformers
        ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [ base bytestring tasty tasty-hspec ];
        description = "Transfer files with FTP and FTPS";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -87709,8 +89500,8 @@ self: {
      }:
      mkDerivation {
        pname = "ftp-client-conduit";
-       version = "0.5.0.4";
-       sha256 = "0w4sfa4qyclcfixxlam5djhv9hx0hzhfsvf2cabs6m8mgks8zidi";
+       version = "0.5.0.5";
+       sha256 = "0f5168z4k4j267whr0r5xlaqi8zzg1ihqfls6fjqicyqv37k8sj2";
        libraryHaskellDepends = [
          base bytestring conduit connection exceptions ftp-client resourcet
        ];
@@ -88174,6 +89965,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
@@ -88229,8 +90047,8 @@ self: {
     ({ mkDerivation, base, microlens, singletons, text, vinyl }:
      mkDerivation {
        pname = "functor-products";
-       version = "0.1.0.0";
-       sha256 = "18yxsqah4afyvhcgi9fp6zmn511kgnw8cx02ig2kaypl2j4bnsxp";
+       version = "0.1.1.0";
+       sha256 = "12rybs7d7m38sfnh9vqs375mzc0k8y0g0dgmwn2c23k9dn5r55jv";
        libraryHaskellDepends = [ base microlens singletons text vinyl ];
        description = "General functor products for various Foldable instances";
        license = stdenv.lib.licenses.bsd3;
@@ -88278,15 +90096,16 @@ self: {
      , containers, contravariant, cryptonite, data-default, directory
      , exceptions, filepath, ghc-prim, Glob, hashable, hedis, hinotify
      , hostname, integer-gmp, katip, lens, lifted-async, memory
-     , monad-control, mtl, optparse-applicative, path, path-io, pretty
-     , process, random, safe-exceptions, scientific, sqlite-simple, stm
-     , store, tasty, tasty-hunit, template-haskell, temporary, text
-     , time, transformers, unix, unordered-containers, vector, yaml
+     , monad-control, mtl, network, optparse-applicative, path, path-io
+     , pretty, process, random, safe-exceptions, scientific
+     , sqlite-simple, stm, store, tar, tasty, tasty-hunit
+     , template-haskell, temporary, text, time, transformers, unix
+     , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "funflow";
-       version = "1.4.0";
-       sha256 = "1pd690y41bf6lrk6bzl730hvpaaazya927nslwp8ii5rcn6wjx7f";
+       version = "1.5.0";
+       sha256 = "0mvv78jjiq3bglqpynl90155mwm7k8m7qv127cxi31n0xmzpw4ky";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88295,11 +90114,11 @@ self: {
          ghc-prim Glob hashable hedis hinotify hostname integer-gmp katip
          lens lifted-async memory monad-control mtl path path-io pretty
          process random safe-exceptions scientific sqlite-simple stm store
-         template-haskell text time transformers unix unordered-containers
-         vector yaml
+         tar template-haskell text time transformers unix
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [
-         base bytestring clock hedis optparse-applicative path
+         base bytestring clock hedis network optparse-applicative path
          safe-exceptions text unix
        ];
        testHaskellDepends = [
@@ -88455,31 +90274,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.1.0.0";
+       sha256 = "0812yfzy784mr1wdbfd7yi249pgdf5ndm7qsy6vk8rs09arpwwxh";
        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
@@ -88507,13 +90385,14 @@ self: {
      , megaparsec, mtl, neat-interpolation, parallel, parser-combinators
      , process, process-extras, QuickCheck, random, regex-tdfa, srcloc
      , tasty, tasty-hunit, tasty-quickcheck, template-haskell, temporary
-     , terminal-size, text, time, transformers, utf8-string, vector
-     , vector-binary-instances, versions, zip-archive, zlib
+     , terminal-size, text, time, transformers, unordered-containers
+     , utf8-string, vector, vector-binary-instances, versions
+     , zip-archive, zlib
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.12.1";
-       sha256 = "00f95mhw6z5hz5jg6mnpgklkm548gp6nr3c49qhr661n8xl1fpyr";
+       version = "0.13.2";
+       sha256 = "0wxhymhwfny03n15g29ydrnqblq23szw6l622ifwxz0mk9h71z1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88524,8 +90403,8 @@ self: {
          markdown megaparsec mtl neat-interpolation parallel
          parser-combinators process process-extras random regex-tdfa srcloc
          template-haskell temporary terminal-size text time transformers
-         utf8-string vector vector-binary-instances versions zip-archive
-         zlib
+         unordered-containers utf8-string vector vector-binary-instances
+         versions zip-archive zlib
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base text ];
@@ -88673,6 +90552,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fuzzyset_0_2_0" = callPackage
+    ({ mkDerivation, base, data-default, hspec, ieee754, text
+     , text-metrics, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "fuzzyset";
+       version = "0.2.0";
+       sha256 = "0wx8bccfr1k5ax97x5w01mzrpjfwns27xgcr12xf6vbyi7q14mfg";
+       libraryHaskellDepends = [
+         base data-default text text-metrics unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base data-default hspec ieee754 text text-metrics
+         unordered-containers vector
+       ];
+       description = "Fuzzy set for approximate string matching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fuzzytime" = callPackage
     ({ mkDerivation, base, cmdargs, directory, old-time, process }:
      mkDerivation {
@@ -88880,6 +90779,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
@@ -88904,26 +90831,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "galois-field_0_4_1" = callPackage
-    ({ mkDerivation, base, criterion, integer-gmp, MonadRandom, poly
-     , protolude, semirings, tasty, tasty-quickcheck, vector
-     , wl-pprint-text
+  "galois-field_1_0_1" = callPackage
+    ({ mkDerivation, base, bitvec, criterion, groups, integer-gmp
+     , MonadRandom, poly, protolude, semirings, tasty, tasty-quickcheck
+     , vector, wl-pprint-text
      }:
      mkDerivation {
        pname = "galois-field";
-       version = "0.4.1";
-       sha256 = "1q577m518gb3q7z7l84pf2ghw786p86sjx7b5mr3xhrvplwdvhcl";
+       version = "1.0.1";
+       sha256 = "04zy8fmsjaba37kcf2k3dchmwv59kqj3k61jc2bm2ji7vwprnvf7";
        libraryHaskellDepends = [
-         base integer-gmp MonadRandom poly protolude semirings
+         base bitvec groups integer-gmp MonadRandom poly protolude semirings
          tasty-quickcheck vector wl-pprint-text
        ];
        testHaskellDepends = [
-         base integer-gmp MonadRandom poly protolude semirings tasty
-         tasty-quickcheck vector wl-pprint-text
+         base bitvec groups integer-gmp MonadRandom poly protolude semirings
+         tasty tasty-quickcheck vector wl-pprint-text
        ];
        benchmarkHaskellDepends = [
-         base criterion integer-gmp MonadRandom poly protolude semirings
-         tasty-quickcheck vector wl-pprint-text
+         base bitvec criterion groups integer-gmp MonadRandom poly protolude
+         semirings tasty-quickcheck vector wl-pprint-text
        ];
        description = "Galois field library";
        license = stdenv.lib.licenses.mit;
@@ -89151,12 +91078,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;
      }) {};
@@ -89268,6 +91195,8 @@ self: {
        libraryToolDepends = [ gtk2hs-buildtools ];
        description = "Binding to the GNOME configuration database system";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs.gnome2) GConf;};
 
   "gd" = callPackage
@@ -89395,8 +91324,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 ];
@@ -89962,14 +91891,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
        ];
@@ -90024,14 +91953,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "generic-lens_1_2_0_0" = callPackage
+  "generic-lens_1_2_0_1" = callPackage
     ({ mkDerivation, base, criterion, deepseq, doctest, HUnit
      , inspection-testing, lens, profunctors, QuickCheck, tagged, text
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "1.2.0.0";
-       sha256 = "0qf49s01xkbhlfclc4a3ybhhf65g6mmigkkqj2psdjndgjdaxhb2";
+       version = "1.2.0.1";
+       sha256 = "0dl7xrrrrbcsz6m69liiz6r8jaa7yi1h8ppgxj94r2zi7pjmwvwf";
        libraryHaskellDepends = [ base profunctors tagged text ];
        testHaskellDepends = [
          base doctest HUnit inspection-testing lens profunctors
@@ -90099,6 +92028,8 @@ self: {
        pname = "generic-monoid";
        version = "0.1.0.0";
        sha256 = "0jzhmy6vi38p3cnlvi4hw59zga239y67nszzl7zscx263wsk7q0w";
+       revision = "1";
+       editedCabalFile = "1xsgnb87k80p3gn0jyiv3a1c6g77q8sqml6bmbpppfa24z8paa1p";
        libraryHaskellDepends = [ base ];
        description = "Derive monoid instances for product types";
        license = stdenv.lib.licenses.bsd3;
@@ -90230,19 +92161,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;
@@ -90278,15 +92205,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "generics-mrsop_2_3_0" = callPackage
+    ({ mkDerivation, base, containers, mtl, sop-core, template-haskell
+     }:
+     mkDerivation {
+       pname = "generics-mrsop";
+       version = "2.3.0";
+       sha256 = "1jcjsvzd1wgdcclw54ic5d674y6kmnyiwjkz1k3fxpv75x3xc3zq";
+       libraryHaskellDepends = [
+         base containers mtl sop-core template-haskell
+       ];
+       description = "Generic Programming with Mutually Recursive Sums of Products";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generics-mrsop-gdiff" = callPackage
     ({ mkDerivation, base, generics-mrsop }:
      mkDerivation {
        pname = "generics-mrsop-gdiff";
-       version = "0.0.0";
-       sha256 = "0a60q7g5x7kwd864dc7yz83kz83fxf4gpj7q5lj4f2fg69ih0ybm";
+       version = "0.0.2";
+       sha256 = "01fkfk18h8dpl6w3ipx85ay9qj8s56xl7022ids21a0slyc4ml4s";
        libraryHaskellDepends = [ base generics-mrsop ];
-       description = "Reimplementation of the `gdiff` algorithm for `generics-mrsop`";
+       description = "Reimplementation of the gdiff algorithm for generics-mrsop";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "generics-sop" = callPackage
@@ -90597,6 +92541,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity_0_9_1_0" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, validity }:
+     mkDerivation {
+       pname = "genvalidity";
+       version = "0.9.1.0";
+       sha256 = "0pkc0ys8g6g0d22s83xwk1vkx476qhassdqn4d7m6z0zcsq0shkg";
+       libraryHaskellDepends = [ base QuickCheck validity ];
+       testHaskellDepends = [ base hspec hspec-core QuickCheck ];
+       description = "Testing utilities for the validity library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-aeson" = callPackage
     ({ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
      , genvalidity-scientific, genvalidity-text
@@ -90657,6 +92614,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-containers_0_8_0_1" = callPackage
+    ({ mkDerivation, base, containers, genvalidity, genvalidity-hspec
+     , genvalidity-property, hspec, QuickCheck, validity
+     , validity-containers
+     }:
+     mkDerivation {
+       pname = "genvalidity-containers";
+       version = "0.8.0.1";
+       sha256 = "1iamvqrrvqa07hkpfcsmmrg3zppm2gk5gn97qpgmwn0h1pq9fmjp";
+       libraryHaskellDepends = [
+         base containers genvalidity QuickCheck validity validity-containers
+       ];
+       testHaskellDepends = [
+         base containers genvalidity genvalidity-hspec genvalidity-property
+         hspec validity
+       ];
+       description = "GenValidity support for containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec" = callPackage
     ({ mkDerivation, base, doctest, genvalidity, genvalidity-property
      , hspec, hspec-core, QuickCheck, transformers, validity
@@ -90677,6 +92655,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-hspec_0_7_0_2" = callPackage
+    ({ mkDerivation, base, doctest, genvalidity, genvalidity-property
+     , hspec, hspec-core, QuickCheck, transformers, validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec";
+       version = "0.7.0.2";
+       sha256 = "0xdp8wr5l4hhqa7p50i37jd9sgns9vlwsivz5ds6x4b86wnw8h4v";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-property hspec hspec-core QuickCheck
+         transformers validity
+       ];
+       testHaskellDepends = [
+         base doctest genvalidity genvalidity-property hspec hspec-core
+         QuickCheck validity
+       ];
+       description = "Standard spec's for GenValidity instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec-aeson" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
      , genvalidity, genvalidity-aeson, genvalidity-hspec
@@ -90785,8 +92784,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-mergeful";
-       version = "0.0.0.0";
-       sha256 = "07j3dczqxmwri458r8nml3rn31ii14fdz3b2sc8g41f2czr6fa75";
+       version = "0.1.0.0";
+       sha256 = "04vk1jrn69i61l445y3nyw8pklfgbfcja30ghjvcrxxdf9nlmciy";
        libraryHaskellDepends = [
          base containers genvalidity genvalidity-containers genvalidity-time
          mergeful QuickCheck
@@ -90858,6 +92857,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-property_0_5_0_1" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, genvalidity
+     , hspec, pretty-show, QuickCheck, validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-property";
+       version = "0.5.0.1";
+       sha256 = "0cvzc4z4771vpycwfgcj0yswyglzl6cl1h2wrfhs224nrcmk5a7z";
+       libraryHaskellDepends = [
+         base genvalidity hspec pretty-show QuickCheck validity
+       ];
+       testHaskellDepends = [ base directory doctest filepath ];
+       description = "Standard properties for functions on `Validity` types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-scientific" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, scientific, validity, validity-scientific
@@ -90894,6 +92910,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-text_0_7_0_1" = callPackage
+    ({ mkDerivation, array, base, criterion, genvalidity
+     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
+     , random, text, validity, validity-text
+     }:
+     mkDerivation {
+       pname = "genvalidity-text";
+       version = "0.7.0.1";
+       sha256 = "13lpvjid379acapk8if3355zrgaaw2dg8fw52vzby9hqj4ki4gxs";
+       libraryHaskellDepends = [
+         array base genvalidity QuickCheck random text validity
+         validity-text
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck text
+       ];
+       benchmarkHaskellDepends = [
+         base criterion genvalidity genvalidity-criterion QuickCheck text
+       ];
+       description = "GenValidity support for Text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {genvalidity-criterion = null;};
+
   "genvalidity-time" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, time, validity-time
@@ -91120,8 +93161,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
@@ -91293,8 +93334,8 @@ self: {
        pname = "gf";
        version = "3.10";
        sha256 = "1f0wwrhid0iqk2lmf9aprkzml8xpc3vsvvfpqfywf8qk8i76wwkv";
-       revision = "1";
-       editedCabalFile = "1g7l4j57h78vnjhkf7k21jfirykj4ghrj08xy8ylx8b5a4iilyrg";
+       revision = "3";
+       editedCabalFile = "1c6gv692pz1xf41ajdji62xs41l8yy35nlcn6x7rs7symgx1v1bg";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -91349,6 +93390,8 @@ self: {
        ];
        description = "Github Standard Labeler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gh-pocket-knife" = callPackage
@@ -91493,12 +93536,12 @@ self: {
      }) {};
 
   "ghc-datasize" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-heap-view }:
+    ({ mkDerivation, base, deepseq, ghc-heap, ghc-prim }:
      mkDerivation {
        pname = "ghc-datasize";
-       version = "0.2.1";
-       sha256 = "0qsh4m6vif07nd0r5lbwggqrlykmlnspdx1jwzzhz6mk1hcf914d";
-       libraryHaskellDepends = [ base deepseq ghc-heap-view ];
+       version = "0.2.2";
+       sha256 = "19iapv0m2g7d5i88pg9h19r89hafwj5f3h5682sp37irl4mzwkww";
+       libraryHaskellDepends = [ base deepseq ghc-heap ghc-prim ];
        description = "Determine the size of data structures in GHC's memory";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -91588,8 +93631,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.9.1";
-       sha256 = "1phq4jxhm05xj42y7aqpjj43vj5mixi3hhf3h5c0dh1vmsz9w3z1";
+       version = "0.12.0";
+       sha256 = "08lrpi6dn32m9ih2w6s7s7fq95k5k015jxkj73z1kss092l3pwi6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -91610,8 +93653,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events-analyze";
-       version = "0.2.5";
-       sha256 = "087fjk6630fhln3srh0ah83kfdwjazwci8rxiai31nfsprsipvf8";
+       version = "0.2.6";
+       sha256 = "1xsr6wa00n2vj7bwb0sgmqrp2v45dfcindwpkf67h8inrvqydkhw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -91730,8 +93773,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-heap-view";
-       version = "0.6.0";
-       sha256 = "1j2ygig1m7xq1y5gsaaxbgywv382yzlp1nbf3cp98yias0s61vcr";
+       version = "0.6.1";
+       sha256 = "04lmj3ihdwcz483w2cpjs4zcpld8yk3aslkw2gl4mal3fpwf0vhx";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
@@ -91853,27 +93896,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_1" = callPackage
+  "ghc-lib_8_8_1_20191204" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
-     , haskeline, hpc, pretty, process, time, transformers, unix
+     , hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.1";
-       sha256 = "0lilr12pamss6x2vkqb700zy7yd15vd4y8f0h4q8fdp068bxn177";
-       isLibrary = true;
-       isExecutable = true;
+       version = "8.8.1.20191204";
+       sha256 = "1xj2l9w4jmwxavs5s6p50wciracqlvkx9mg015m8gv1s8sxn6sqh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          ghc-lib-parser ghc-prim hpc pretty process time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [
-         array base bytestring containers deepseq directory filepath
-         ghc-prim haskeline process time transformers unix
-       ];
        description = "The GHC API, decoupled from GHC versions";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -91898,35 +93935,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_8_8_0_20190723" = callPackage
+  "ghc-lib-parser_8_8_1_20191204" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
      , process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.8.0.20190723";
-       sha256 = "0szrv98h2c1db3400cbb7vbhqnwagqncgpllzd9jiw74rq6y8mjq";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array base binary bytestring containers deepseq directory filepath
-         ghc-prim hpc pretty process time transformers unix
-       ];
-       libraryToolDepends = [ alex happy ];
-       description = "The GHC API, decoupled from GHC versions";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "ghc-lib-parser_8_8_1" = callPackage
-    ({ mkDerivation, alex, array, base, binary, bytestring, containers
-     , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
-     , process, time, transformers, unix
-     }:
-     mkDerivation {
-       pname = "ghc-lib-parser";
-       version = "8.8.1";
-       sha256 = "12aicsvc45ld2hv2qq0wdky4qa2mg8s6hhamilavcbp0da2s6wnh";
+       version = "8.8.1.20191204";
+       sha256 = "0acfq70mhhb76v0fhgqnijb4yp4njzxwc3c6d53r594cix3grvdp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -92085,8 +94102,8 @@ self: {
     ({ mkDerivation, base, cpphs, ghc, happy }:
      mkDerivation {
        pname = "ghc-parser";
-       version = "0.2.0.3";
-       sha256 = "0j0injpah571chhgm2gzrim7908l859mgppvxp966bwla3i7j1aj";
+       version = "0.2.1.0";
+       sha256 = "0z6gr3zs89agyc2iw2lv8rddw78yn6wxzyzkip7gfca1n9f7xwd9";
        libraryHaskellDepends = [ base ghc ];
        libraryToolDepends = [ cpphs happy ];
        description = "Haskell source parser from GHC";
@@ -92204,16 +94221,18 @@ self: {
      }) {};
 
   "ghc-prof-flamegraph" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, filepath, optparse-applicative, process }:
      mkDerivation {
        pname = "ghc-prof-flamegraph";
-       version = "0.1.2.1";
-       sha256 = "0nzk3h65iqnmva7n2m00kknllqbmg95xav4g5rpizhridpivg9hb";
-       isLibrary = true;
+       version = "0.2.0.0";
+       sha256 = "1jvn243v0fhckqk3yjw2qf3zj3smhk2wjxqbj389gpxh790183cd";
+       isLibrary = false;
        isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       description = "Generates data to be used with flamegraph.pl from .prof files.";
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         base filepath optparse-applicative process
+       ];
+       description = "Generates flamegraphs from GHC .prof files.";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -92286,8 +94305,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-source-gen";
-       version = "0.2.0.1";
-       sha256 = "1diz1vrhxx8ppj4jljzfwlrg059kdcz20ba635f7hq4kpp0blbjy";
+       version = "0.3.0.0";
+       sha256 = "1r9mnwwbpc1bzjcbs5q58wrjnwjrsbcvmcv1khswchcfim12lqqk";
        libraryHaskellDepends = [ base ghc ];
        testHaskellDepends = [
          base ghc ghc-paths QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -92336,19 +94355,38 @@ self: {
      }) {};
 
   "ghc-syntax-highlighter" = callPackage
-    ({ mkDerivation, base, ghc, hspec, hspec-discover, text }:
+    ({ mkDerivation, base, ghc, ghc-boot, hspec, hspec-discover, text
+     }:
      mkDerivation {
        pname = "ghc-syntax-highlighter";
-       version = "0.0.4.0";
-       sha256 = "1kw1h7n4ydn1klzll24nwwg405j23wry9hg8g96vba51vah0wc47";
+       version = "0.0.4.1";
+       sha256 = "0glsfz2sn6a161m3sy08nf739ndgslqd8s7fawyas9ziqg06lvjg";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ghc text ];
+       libraryHaskellDepends = [ base ghc ghc-boot text ];
        testHaskellDepends = [ base hspec text ];
        testToolDepends = [ hspec-discover ];
        description = "Syntax highlighter for Haskell using lexer of GHC itself";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-syntax-highlighter_0_0_5_0" = callPackage
+    ({ mkDerivation, base, ghc-lib-parser, hspec, hspec-discover, text
+     }:
+     mkDerivation {
+       pname = "ghc-syntax-highlighter";
+       version = "0.0.5.0";
+       sha256 = "09h911wqja56b9j9dwjqv7dlim9rm50vra1bkp8zhnlw9fa2s127";
+       revision = "1";
+       editedCabalFile = "15ykgzk8f1kslvwl645saz7q1d6iv3fk5xyri65v2gaiaih0r640";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ghc-lib-parser text ];
+       testHaskellDepends = [ base hspec text ];
+       testToolDepends = [ hspec-discover ];
+       description = "Syntax highlighter for Haskell using lexer of GHC itself";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-tcplugins-extra" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -92398,11 +94436,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;
@@ -92451,17 +94489,15 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "ghc-typelits-knownnat_0_7" = callPackage
+  "ghc-typelits-knownnat_0_7_1" = callPackage
     ({ mkDerivation, base, ghc, ghc-prim, ghc-tcplugins-extra
      , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck
      , template-haskell, transformers
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.7";
-       sha256 = "00f8m3kmp572r8jr246m8r6lwzxmiqj4hml06w09l9n3lzvjwv7b";
-       revision = "1";
-       editedCabalFile = "1jgwa66dbhqsav7764cfcmzs3p0f3csbdjbrnbilhv1bpqyhz8sm";
+       version = "0.7.1";
+       sha256 = "00pfkb6iw4isfmp0jmcqsqyb84xf6b4xnljn3bmax2x8ci9vpm0c";
        libraryHaskellDepends = [
          base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise
          template-haskell transformers
@@ -92564,6 +94600,17 @@ self: {
        broken = true;
      }) {};
 
+  "ghcflags" = callPackage
+    ({ mkDerivation, base, directory, ghc, time }:
+     mkDerivation {
+       pname = "ghcflags";
+       version = "1.0.2";
+       sha256 = "17j7bkx7ki5vqr0a3vl0f0v4l9cz2q7lm9xpkj3144y9sqmiqzy3";
+       libraryHaskellDepends = [ base directory ghc time ];
+       description = "Dump the ghc flags during compilation";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "ghci_8_6_5" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, filepath, ghc-boot, ghc-boot-th, ghc-heap
@@ -92706,6 +94753,8 @@ self: {
        libraryHaskellDepends = [ base hscolour ipprint ];
        description = "colored pretty-printing within ghci";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghci-websockets" = callPackage
@@ -92731,8 +94780,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.7.5";
-       sha256 = "0ics4ibkr9p8pd81hfr7wk1wi10rjbsmwqcln8sda61p9v46pdh4";
+       version = "0.7.7";
+       sha256 = "1qrj6is1f6jnx9m2g7cp2009dik7inzf5yqlvqv4pwzzxp0nhl3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92750,42 +94799,71 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcid_0_8" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.8";
+       sha256 = "1vyjsxxp0jqqfkxp9r8by9qg794g0nj3k5zg7vlvh5v8xzigv8qg";
+       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
-     , ghc-boot-th, ghc-paths, hashable, haskell-lsp, haskell-lsp-types
-     , hie-bios, lens, lsp-test, mtl, network-uri, optparse-applicative
+     , ghc-boot-th, ghc-paths, ghc-typelits-knownnat, hashable
+     , haskell-lsp, haskell-lsp-types, hie-bios, hslogger, lens
+     , lsp-test, mtl, network-uri, optparse-applicative
      , parser-combinators, prettyprinter, prettyprinter-ansi-terminal
      , rope-utf16-splay, safe-exceptions, shake, sorted-list, stm, syb
-     , tasty, tasty-hunit, text, time, transformers, unix
-     , unordered-containers, utf8-string
+     , tasty, tasty-expected-failure, tasty-hunit, text, time
+     , transformers, unix, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "0.0.3";
-       sha256 = "0czmgw2wfsycxs3lbs838xmgdvk52ry0dnb0dgxmafqgdi0l7xi3";
+       version = "0.0.5";
+       sha256 = "014l2gg7ln2q9c7qpga45iicxi5mcyjzllvyiwb4vd8rmbkvr1bm";
+       revision = "2";
+       editedCabalFile = "157ch1bk9r66pca8fiywwj1brpg2mbnarvlzic3yl829v6kcmrvj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base binary bytestring containers data-default deepseq
          directory extra filepath ghc ghc-boot ghc-boot-th hashable
-         haskell-lsp haskell-lsp-types mtl network-uri prettyprinter
-         prettyprinter-ansi-terminal rope-utf16-splay safe-exceptions shake
-         sorted-list stm syb text time transformers unix
-         unordered-containers utf8-string
+         haskell-lsp haskell-lsp-types hslogger mtl network-uri
+         prettyprinter prettyprinter-ansi-terminal rope-utf16-splay
+         safe-exceptions shake sorted-list stm syb text time transformers
+         unix unordered-containers utf8-string
        ];
        executableHaskellDepends = [
          base containers data-default directory extra filepath ghc ghc-paths
-         haskell-lsp hie-bios optparse-applicative shake text
+         haskell-lsp hie-bios hslogger optparse-applicative shake text
        ];
        testHaskellDepends = [
-         base containers extra filepath ghc haskell-lsp-types lens lsp-test
-         parser-combinators tasty tasty-hunit text
+         base bytestring containers directory extra filepath ghc
+         ghc-typelits-knownnat haskell-lsp-types lens lsp-test
+         parser-combinators tasty tasty-expected-failure tasty-hunit text
        ];
        description = "The core of an IDE";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -92834,10 +94912,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcjs-base-stub";
-       version = "0.2.0.0";
-       sha256 = "05k59a6jg1a5s8zvqfah5rvm5kg34sqpv2zx4chczihx3n9prfv7";
-       revision = "1";
-       editedCabalFile = "0hvmgwyhv28d39was8bm52anwqh6x4mbd1mzzqxazlm0d0l8bpwp";
+       version = "0.3.0.2";
+       sha256 = "1v5kw7aqrjpi33annd12lp14q97i2yxjlr65cjjznqldyryjdbkm";
        libraryHaskellDepends = [
          aeson attoparsec base containers deepseq ghc-prim primitive
          scientific text transformers unordered-containers vector
@@ -93988,6 +96064,8 @@ self: {
        libraryPkgconfigDepends = [ libsecret ];
        description = "Libsecret bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) libsecret;};
 
   "gi-soup" = callPackage
@@ -94268,8 +96346,8 @@ self: {
      }:
      mkDerivation {
        pname = "gio";
-       version = "0.13.6.0";
-       sha256 = "1ck92sy9j3jrwi2w6a0nslz92aczznsz96rdqq8v78rqqislpirm";
+       version = "0.13.8.0";
+       sha256 = "1wx35fm7jba69x33mhp0h6j0lszi62hmmb1inflx7gax0ncmk2n2";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -94312,8 +96390,8 @@ self: {
      }:
      mkDerivation {
        pname = "giphy-api";
-       version = "0.6.0.1";
-       sha256 = "0146813vcnjgb8clyczlz8g6ngm9l702gib60f2m6rf2bc0bbpwd";
+       version = "0.7.0.0";
+       sha256 = "140d3k9c1jz6byvars1d1h66gwy1045nxnj0xqxn5kdq60gfp5a1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94394,7 +96472,7 @@ self: {
 
   "git-annex" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, aws, base, blaze-builder
-     , bloomfilter, bup, byteable, bytestring, Cabal, case-insensitive
+     , bloomfilter, byteable, bytestring, Cabal, case-insensitive
      , clientsession, concurrent-output, conduit, connection, containers
      , crypto-api, cryptonite, curl, data-default, DAV, dbus, deepseq
      , directory, disk-free-space, dlist, edit-distance, exceptions
@@ -94408,14 +96486,15 @@ self: {
      , resourcet, rsync, SafeSemaphore, sandi, securemem, shakespeare
      , socks, split, stm, stm-chans, tagsoup, tasty, tasty-hunit
      , tasty-quickcheck, tasty-rerun, template-haskell, text, time
-     , torrent, transformers, unix, unix-compat, unordered-containers
-     , utf8-string, uuid, vector, wai, wai-extra, warp, warp-tls, wget
-     , which, yesod, yesod-core, yesod-form, yesod-static
+     , torrent, transformers, unix, unix-compat, unliftio-core
+     , unordered-containers, utf8-string, uuid, vector, wai, wai-extra
+     , warp, warp-tls, wget, which, yesod, yesod-core, yesod-form
+     , yesod-static
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20190912";
-       sha256 = "1a3jvl5cx32v78s3015i10cx00jprm1391rpww4mzkk1vskzn9cv";
+       version = "7.20191218";
+       sha256 = "1dy5255x2cx68313p6vchqy5q1l0na8ckf5mkfi080hkhq8vj2q6";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -94441,11 +96520,11 @@ self: {
          SafeSemaphore sandi securemem shakespeare socks split stm stm-chans
          tagsoup tasty tasty-hunit tasty-quickcheck tasty-rerun
          template-haskell text time torrent transformers unix unix-compat
-         unordered-containers utf8-string uuid vector wai wai-extra warp
-         warp-tls yesod yesod-core yesod-form yesod-static
+         unliftio-core unordered-containers utf8-string uuid vector wai
+         wai-extra warp warp-tls yesod yesod-core yesod-form yesod-static
        ];
        executableSystemDepends = [
-         bup curl git gnupg lsof openssh perl rsync wget which
+         curl git gnupg lsof openssh perl rsync wget which
        ];
        preConfigure = "export HOME=$TEMPDIR; patchShebangs .";
        postBuild = ''
@@ -94458,7 +96537,7 @@ 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) 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;};
@@ -94514,8 +96593,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-config";
-       version = "0.1.1";
-       sha256 = "0vspjqscw02x3hr6n0d0d4kyjfh5lij4wy58fp4z301vmyv77vgl";
+       version = "0.1.2";
+       sha256 = "1kp5yqn7pz5haq41m2za2f3bw0ygf1zlnn3n0b76zh0jbrndgknh";
        libraryHaskellDepends = [
          base megaparsec text unordered-containers
        ];
@@ -94656,8 +96735,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-lfs";
-       version = "1.0.0";
-       sha256 = "0ryxi43sng5nwb9brdirvvxcs2j6bmg1x9vdx9fq5r4dch62b1zy";
+       version = "1.1.0";
+       sha256 = "1llg50517xw4nccjik63gsg0nwkb4lhp0fs0lbi3q38xv9a3imyz";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-types network-uri text
@@ -94900,25 +96979,6 @@ self: {
      }:
      mkDerivation {
        pname = "githash";
-       version = "0.1.3.2";
-       sha256 = "0wn0pr7idx6nb6d7nkjx6dfncz15c9wbhpg6s5395pa1s8q7fx3j";
-       libraryHaskellDepends = [
-         base bytestring directory filepath process template-haskell
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath hspec process template-haskell
-         temporary unliftio
-       ];
-       description = "Compile git revision info into Haskell projects";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "githash_0_1_3_3" = callPackage
-    ({ mkDerivation, base, bytestring, directory, filepath, hspec
-     , process, template-haskell, temporary, unliftio
-     }:
-     mkDerivation {
-       pname = "githash";
        version = "0.1.3.3";
        sha256 = "19xhs2nzm1myyjx3nkc3invy15c19cfx790vbcrl050n9sb330jr";
        libraryHaskellDepends = [
@@ -94930,7 +96990,6 @@ self: {
        ];
        description = "Compile git revision info into Haskell projects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github" = callPackage
@@ -94944,8 +97003,8 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.22";
-       sha256 = "15py79qcpj0k331i42njgwkirwyiacbc5razmxnm4672dvvip2qk";
+       version = "0.24";
+       sha256 = "0jbk34aibm5bqbax8f2sif840f31g81yipnkav96lr4pfdv5b4mr";
        libraryHaskellDepends = [
          aeson base base-compat base16-bytestring binary binary-instances
          bytestring containers cryptohash-sha1 deepseq deepseq-generics
@@ -94971,8 +97030,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-backup";
-       version = "1.20171126";
-       sha256 = "0fk3dp11acgw88rhb7pi8kb98m9x96jwdavcb7gz1jdcx391xy4s";
+       version = "1.20191219";
+       sha256 = "0yi0i342qh1wm7j81qa6mhyfjp4psbw4vrpp0m1c9zjbymfpcymk";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -95040,8 +97099,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.2.4";
-       sha256 = "1s4vmqrzq7w35kfij9pyxm9b672khhx03whi4adz6l51xij6a3yb";
+       version = "1.2.5";
+       sha256 = "1ilmq8sjxidyna41gm97ygskjzkbf3rggb2m6lqpxpjcycay7jfr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95056,6 +97115,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-rest" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring, http-client
+     , http-client-tls, http-types, jwt, mtl, scientific, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text, time
+     , transformers, unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "github-rest";
+       version = "1.0.1";
+       sha256 = "0dv959xmfpwbkjnjkisgxldkb89ln0wypz4cb65biijqfw0i4399";
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types jwt
+         mtl scientific text time transformers unliftio unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base bytestring http-client http-client-tls
+         http-types jwt mtl scientific tasty tasty-golden tasty-hunit
+         tasty-quickcheck text time transformers unliftio unliftio-core
+       ];
+       description = "Query the GitHub REST API programmatically";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -95287,14 +97369,14 @@ self: {
 
   "gitlab-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, text, transformers, unliftio, unliftio-core
+     , http-types, text, time, transformers, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.1.0.2";
-       sha256 = "16dj3m038fgxf8w69g8qldnsk2xrk83lkkgdapwv7qz9c9jd0nh1";
+       version = "0.1.5";
+       sha256 = "01wll1aik3x9bj5z29h12srj7skyqk6v1g4rvrd86zd9zvxqr6cw";
        libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types text
+         aeson base bytestring connection http-conduit http-types text time
          transformers unliftio unliftio-core
        ];
        description = "A Haskell library for the GitLab web API";
@@ -95869,8 +97951,8 @@ self: {
      }:
      mkDerivation {
        pname = "glib";
-       version = "0.13.7.0";
-       sha256 = "06hdn8mprq6xclp8xfr1iqx82i0nhims3dhjblqn26ig5fdidjbw";
+       version = "0.13.8.0";
+       sha256 = "18k1drykl3mpmyj43kp9nvkzr9g3allr19ihscmxwc1w9ss6zklw";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
          base bytestring containers text utf8-string
@@ -95931,14 +98013,13 @@ self: {
      , bytestring, Cabal, config-schema, config-value, containers
      , directory, filepath, free, gitrev, hashable, hookup, HsOpenSSL
      , HUnit, irc-core, kan-extensions, lens, network, process, psqueues
-     , regex-tdfa, regex-tdfa-text, semigroupoids, split, stm
-     , template-haskell, text, time, transformers, unix
-     , unordered-containers, vector, vty
+     , regex-tdfa, semigroupoids, split, stm, template-haskell, text
+     , time, transformers, unix, unordered-containers, vector, vty
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.33";
-       sha256 = "14znjbgy67mh68hpbr2xxl1aff1b0bzmrwkknp402zq0y9p81iwy";
+       version = "2.33.1";
+       sha256 = "0vzrx0904s8r7srld4c3wkw3j0rx3l6jszz3m5friwkdwfs60a83";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -95946,14 +98027,14 @@ self: {
          async attoparsec base base64-bytestring bytestring config-schema
          config-value containers directory filepath free gitrev hashable
          hookup HsOpenSSL irc-core kan-extensions lens network process
-         psqueues regex-tdfa regex-tdfa-text semigroupoids split stm
-         template-haskell text time transformers unix unordered-containers
-         vector vty
+         psqueues regex-tdfa semigroupoids split stm template-haskell text
+         time transformers unix unordered-containers vector vty
        ];
        executableHaskellDepends = [ base lens text vty ];
        testHaskellDepends = [ base HUnit ];
        description = "Console IRC client";
        license = stdenv.lib.licenses.isc;
+       maintainers = with stdenv.lib.maintainers; [ kiwi ];
      }) {};
 
   "gll" = callPackage
@@ -96104,23 +98185,6 @@ self: {
      }:
      mkDerivation {
        pname = "gloss";
-       version = "1.13.0.1";
-       sha256 = "1f19vlx32nkgply25p83n7498lwdpshiibqg7nzkhb2kv7n0y71q";
-       revision = "1";
-       editedCabalFile = "1nyg324icnlky647zq4c21sqxv2bgnwnzgh2hz5d5ys6ba69j59h";
-       libraryHaskellDepends = [
-         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
-       ];
-       description = "Painless 2D vector graphics, animations and simulations";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "gloss_1_13_1_1" = callPackage
-    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
-     , gloss-rendering, GLUT, OpenGL
-     }:
-     mkDerivation {
-       pname = "gloss";
        version = "1.13.1.1";
        sha256 = "1bmjwd2vfbxfypr2g23810yyp921m30wxbb6f3m0wkk65iypjnls";
        libraryHaskellDepends = [
@@ -96128,7 +98192,6 @@ self: {
        ];
        description = "Painless 2D vector graphics, animations and simulations";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gloss-accelerate" = callPackage
@@ -96265,21 +98328,6 @@ self: {
      }:
      mkDerivation {
        pname = "gloss-raster";
-       version = "1.13.0.2";
-       sha256 = "1k4l19c1fn1s14phq2qml5ibsli3jmkk6748k9y96lbrgj5nfp49";
-       libraryHaskellDepends = [
-         base containers ghc-prim gloss gloss-rendering repa
-       ];
-       description = "Parallel rendering of raster images";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "gloss-raster_1_13_1_1" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, gloss, gloss-rendering
-     , repa
-     }:
-     mkDerivation {
-       pname = "gloss-raster";
        version = "1.13.1.1";
        sha256 = "199b1avi4mils3x9xpk66992id40hdyk0lpjnyyxy8c22s0adgb9";
        libraryHaskellDepends = [
@@ -96287,7 +98335,6 @@ self: {
        ];
        description = "Parallel rendering of raster images";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gloss-raster-accelerate" = callPackage
@@ -96339,10 +98386,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;
@@ -99273,8 +101325,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-maps-geocoding";
-       version = "0.5.0.0";
-       sha256 = "07myy4q56lnapjxjfiz8skh2h32k5i132mi9sn68aad03a6rx6k1";
+       version = "0.5.0.1";
+       sha256 = "0cc7hhw4bqls6bckpahck5ad2pv6fzw2qkp8iym7y4cylsxvnamq";
        libraryHaskellDepends = [
          aeson base google-static-maps http-client servant servant-client
          text
@@ -99403,8 +101455,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-static-maps";
-       version = "0.6.0.0";
-       sha256 = "0h2vm6yk076n4xcwlqcl7m786bqrk0vgpcx0h3j04bq2qik88sq5";
+       version = "0.6.0.1";
+       sha256 = "0hvkxdwfbn352q642v4n8wj4ikfp97sll87cwkgr3vb23qwmlbyy";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytedump bytestring cryptonite
          double-conversion http-client JuicyPixels memory network-uri
@@ -99733,8 +101785,8 @@ self: {
      }:
      mkDerivation {
        pname = "gothic";
-       version = "0.1.1";
-       sha256 = "0bm8m77lcvi9c8smv0z4n23f6gw3aw47g0q47aqjcpipwmjcqvhm";
+       version = "0.1.2";
+       sha256 = "1glfjcisrm97hyja6ijzikmrkillgvrk3xn0gmsmrnfp8mn5jmjp";
        libraryHaskellDepends = [
          aeson base binary bytestring connection exceptions hashable
          http-client http-client-tls http-conduit http-types lens lens-aeson
@@ -100021,17 +102073,18 @@ self: {
      }) {};
 
   "grammatical-parsers" = callPackage
-    ({ mkDerivation, base, checkers, containers, criterion, deepseq
-     , doctest, markdown-unlit, monoid-subclasses, parsers, QuickCheck
-     , rank2classes, size-based, tasty, tasty-quickcheck, testing-feat
-     , text, transformers
+    ({ mkDerivation, base, Cabal, cabal-doctest, checkers, containers
+     , criterion, deepseq, doctest, markdown-unlit, monoid-subclasses
+     , parsers, QuickCheck, rank2classes, size-based, tasty
+     , tasty-quickcheck, testing-feat, text, transformers
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.4.0.1";
-       sha256 = "049xz8gscqxn5k5vy34zc97w4in4scv89jvd71kxf24yvxblzayz";
+       version = "0.4.1.2";
+       sha256 = "0aa7lqny3627f4d3z7xjmr9ywh94h5akhg89jabh05mvaykr34kf";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers monoid-subclasses parsers rank2classes transformers
        ];
@@ -100050,8 +102103,6 @@ self: {
        ];
        description = "parsers that combine into grammars";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "grapefruit-examples" = callPackage
@@ -100588,8 +102639,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphmod";
-       version = "1.4.3";
-       sha256 = "1hcj1pmb65a4wkdn2d1p6b7hf91p4dqb9gprihrldfc6xii3hc3z";
+       version = "1.4.4";
+       sha256 = "12q9kkxyyma23dgzpdnlsrklk20isr4jf2yslkzyb6ny5xmfxsac";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -100619,20 +102670,22 @@ self: {
      }) {};
 
   "graphql" = callPackage
-    ({ mkDerivation, aeson, base, hspec, hspec-expectations, megaparsec
-     , raw-strings-qq, text, transformers, unordered-containers
+    ({ mkDerivation, aeson, base, containers, hspec, hspec-expectations
+     , hspec-megaparsec, megaparsec, raw-strings-qq, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.5.0.1";
-       sha256 = "03q5ip176ji0yn02mhgj5rh9vpsi8kwsq3zh3cr7ry6jajgfdq3l";
+       version = "0.6.1.0";
+       sha256 = "0x0526kb29ndrhb9dy9iwxj9r3qij7sy4zjhjqfx3hc7334rdpda";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base megaparsec text transformers unordered-containers
+         aeson base containers megaparsec text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson base hspec hspec-expectations megaparsec raw-strings-qq text
-         transformers
+         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;
@@ -100643,20 +102696,24 @@ self: {
   "graphql-api" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, containers, criterion
      , directory, doctest, exceptions, ghc-prim, hspec, protolude
-     , QuickCheck, raw-strings-qq, scientific, tasty, tasty-hspec, text
-     , transformers
+     , QuickCheck, raw-strings-qq, scientific, text, transformers
      }:
      mkDerivation {
        pname = "graphql-api";
-       version = "0.3.0";
-       sha256 = "1rn47xxyz3wkflz2ji0d496r8w0jcf1a0al14gclflbyd4bzkpwy";
+       version = "0.4.0";
+       sha256 = "0sy7k3bhks91kb6mx0ws7kwrsd44fmwdyj0l3a2jnq6jk492wl7f";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson attoparsec base containers exceptions ghc-prim protolude
          QuickCheck scientific text transformers
        ];
+       executableHaskellDepends = [
+         aeson attoparsec base exceptions protolude transformers
+       ];
        testHaskellDepends = [
          aeson attoparsec base containers directory doctest exceptions hspec
-         protolude QuickCheck raw-strings-qq tasty tasty-hspec transformers
+         protolude QuickCheck raw-strings-qq transformers
        ];
        benchmarkHaskellDepends = [
          attoparsec base criterion exceptions protolude transformers
@@ -100671,8 +102728,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;
@@ -101006,8 +103063,8 @@ self: {
      }:
      mkDerivation {
        pname = "greskell";
-       version = "0.2.3.0";
-       sha256 = "0q15cifn34p0biwwrmkhhgzps2k7d0i8mdb2vazbbf7bshqs2ld8";
+       version = "0.2.3.1";
+       sha256 = "0byg8f4m5n2l81y1l6lnd6zyskk1y7wj1983ziw29jkpyckjbpgl";
        libraryHaskellDepends = [
          aeson base exceptions greskell-core semigroups text transformers
          unordered-containers vector
@@ -101027,8 +103084,8 @@ self: {
      }:
      mkDerivation {
        pname = "greskell-core";
-       version = "0.1.2.6";
-       sha256 = "0p68kwcwccmqn58dx1vyy4k1sc9zk2n2l8hiligik6zpbv4vmkdz";
+       version = "0.1.2.7";
+       sha256 = "1q7schkwv832wk4yc831q7z6nmnvzsgh9hfscb27hbfdrw0lafd7";
        libraryHaskellDepends = [
          aeson base containers hashable scientific semigroups text
          unordered-containers uuid vector
@@ -101312,6 +103369,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog_0_11_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, containers, monad-control, mtl, resourcet
+     , safe-exceptions, scientific, text, time, transformers
+     , transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "groundhog";
+       version = "0.11.0";
+       sha256 = "1kx5jdzi7qrb399z23s5khvvllks5qyjl9y5spwssf6d6n9r6w82";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring containers
+         monad-control mtl resourcet safe-exceptions scientific text time
+         transformers transformers-base transformers-compat
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-converters" = callPackage
     ({ mkDerivation, aeson, base, bimap, bytestring, containers
      , groundhog, groundhog-sqlite, groundhog-th, tasty, tasty-hunit
@@ -101355,6 +103432,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-inspector_0_11_0" = callPackage
+    ({ mkDerivation, aeson-pretty, base, bytestring, cmdargs
+     , containers, groundhog, groundhog-sqlite, groundhog-th, mtl
+     , regex-compat, syb, template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-inspector";
+       version = "0.11.0";
+       sha256 = "19lvwfg655dg0v6ny64hhdlbdj38w5dbn988kzjyshdjmisswy1r";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson-pretty base bytestring containers groundhog groundhog-th
+         regex-compat syb template-haskell text time transformers
+       ];
+       executableHaskellDepends = [
+         base bytestring cmdargs containers groundhog groundhog-sqlite
+         groundhog-th mtl
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-mysql" = callPackage
     ({ mkDerivation, base, bytestring, containers, groundhog
      , monad-control, monad-logger, mysql, mysql-simple, resource-pool
@@ -101372,6 +103473,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-mysql_0_11" = callPackage
+    ({ mkDerivation, base, bytestring, containers, groundhog
+     , monad-control, monad-logger, mysql, mysql-simple, resource-pool
+     , resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-mysql";
+       version = "0.11";
+       sha256 = "0xir9181c0h5f5hrg1drzd2g7cgr77zghg1i7fcwl6h9prpp6ira";
+       libraryHaskellDepends = [
+         base bytestring containers groundhog monad-control monad-logger
+         mysql mysql-simple resource-pool resourcet text time transformers
+       ];
+       description = "MySQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-postgresql" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , containers, groundhog, monad-control, postgresql-libpq
@@ -101391,6 +103510,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-postgresql_0_11" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , groundhog, monad-control, postgresql-libpq, postgresql-simple
+     , resource-pool, resourcet, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "groundhog-postgresql";
+       version = "0.11";
+       sha256 = "0c8xqdsv1mi9pp1cnnbj8anf8mb3y6hjg965giw9jsmxf2b4d80x";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers groundhog monad-control
+         postgresql-libpq postgresql-simple resource-pool resourcet text
+         time transformers vector
+       ];
+       description = "PostgreSQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-sqlite" = callPackage
     ({ mkDerivation, base, bytestring, containers, direct-sqlite
      , groundhog, monad-control, resource-pool, resourcet, text
@@ -101408,6 +103546,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-sqlite_0_11_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, direct-sqlite
+     , groundhog, monad-control, resource-pool, resourcet, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "groundhog-sqlite";
+       version = "0.11.0";
+       sha256 = "03vnnja0rbk2v8qws0m37hs6imh001pj5hy00gx5xr7kwayvc13g";
+       libraryHaskellDepends = [
+         base bytestring containers direct-sqlite groundhog monad-control
+         resource-pool resourcet text transformers unordered-containers
+       ];
+       description = "Sqlite3 backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-th" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, groundhog
      , libyaml, template-haskell, text, time, unordered-containers, yaml
@@ -101424,6 +103580,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-th_0_11" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, groundhog
+     , libyaml, template-haskell, text, time, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "groundhog-th";
+       version = "0.11";
+       sha256 = "1rqzqwcvk9shgprgfvl54s67n3img2wnvq98mvbnmr6pfxgcy2az";
+       libraryHaskellDepends = [
+         aeson base bytestring containers groundhog libyaml template-haskell
+         text time unordered-containers yaml
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "group-by-date" = callPackage
     ({ mkDerivation, base, explicit-exception, filemanip, hsshellscript
      , pathtype, time, transformers, unix-compat, utility-ht
@@ -101588,8 +103761,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 = [
@@ -101608,7 +103781,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
@@ -101683,8 +103883,8 @@ self: {
      }:
      mkDerivation {
        pname = "gscholar-rss";
-       version = "0.2.3.1";
-       sha256 = "0iqrh6h2r7xr9xqk9w7yg1hilghcs0pp5mqq3s2rwmk2drp255l3";
+       version = "0.2.4.1";
+       sha256 = "09f6l7j8pax8c07myg3zbla3davgi88aib3g0nb55vnlcs33qrq6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -101806,6 +104006,8 @@ self: {
        libraryToolDepends = [ gtk2hs-buildtools ];
        description = "Binding to the GStreamer open source multimedia framework";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gst-plugins-base; inherit (pkgs) gstreamer;};
 
   "gt-tools" = callPackage
@@ -101864,8 +104066,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk";
-       version = "0.15.2";
-       sha256 = "179h4vpbv15hkl8h4k4jy5amnv1z6zv74qls0m7l2kv6sh36csar";
+       version = "0.15.4";
+       sha256 = "1wm42m4963abqiswkc3ngwf9jm4z9kyyx2h8w064f62ngnkdz84z";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -102048,8 +104250,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk2hs-buildtools";
-       version = "0.13.5.0";
-       sha256 = "01a3q7ciinrwa6xjk0qwpyjabdjzfsy8qqfkp0iir2h8i8prnpz4";
+       version = "0.13.8.0";
+       sha256 = "1645pgrs9cj6imhpdpkbkhr9mn9005wbqlvily5f8iaf02zpvfwd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102202,8 +104404,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk3";
-       version = "0.15.1";
-       sha256 = "0kya9ag8c7zl8sqx32hmlmz9rpxghvyr2svzcr38lzizfd74bnpq";
+       version = "0.15.4";
+       sha256 = "17g93j8az1gqgf9kxg1k1lls6c0if45bzgbhrc99qgm8s9f2dr1c";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102542,23 +104744,28 @@ self: {
      }) {};
 
   "h2048" = callPackage
-    ({ mkDerivation, base, HUnit, MonadRandom, mtl, text, transformers
-     , vty, vty-ui
+    ({ mkDerivation, base, brick, containers, hspec, mtl, text
+     , tf-random, vector, vector-algorithms, vty
      }:
      mkDerivation {
        pname = "h2048";
-       version = "0.2.0.1";
-       sha256 = "1s8r476bhvmhpj914n4sjsa1z6dgf26m872rpzhlsyhw1rsxgcfr";
+       version = "0.4.0.0";
+       sha256 = "1nf5h34h7h0fhm22rn3lbispb9yvs0ig8incyjcjvwm2i9850502";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base MonadRandom mtl text transformers vty vty-ui
+         base brick containers mtl text tf-random vector vector-algorithms
+         vty
        ];
        executableHaskellDepends = [
-         base MonadRandom mtl text transformers vty vty-ui
+         base brick containers mtl text tf-random vector vector-algorithms
+         vty
        ];
-       testHaskellDepends = [ base HUnit MonadRandom mtl transformers ];
-       description = "a haskell implementation of Game 2048";
+       testHaskellDepends = [
+         base brick containers hspec mtl text tf-random vector
+         vector-algorithms vty
+       ];
+       description = "An Implementation of Game 2048";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -102786,29 +104993,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.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-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
@@ -102821,16 +105027,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_9" = 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.9";
+       sha256 = "0xdb1ggd7pw0faan8cs3hs29sqb3bgjfhxqs5x43hh1k64k3vdjk";
+       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
@@ -103574,8 +105832,8 @@ self: {
        pname = "hackage-db";
        version = "2.0.1";
        sha256 = "13ggj72i8dxwh3qwznnqxbr00nvsbapyyhzx5zybfacddnpw3aph";
-       revision = "1";
-       editedCabalFile = "0l2zdajacqibwkjs5pif6a3mxns9jpc6iry7xxqcfis4n9ks404a";
+       revision = "2";
+       editedCabalFile = "0qscq4d3xwvjhqi1fiky7g12iwbkwn9qrypwzg9lx4p3c5xlwlvn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103721,22 +105979,23 @@ self: {
 
   "hackage-repo-tool" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , hackage-security, network, network-uri, old-time
+     , hackage-security, microlens, network, network-uri, old-time
      , optparse-applicative, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "hackage-repo-tool";
-       version = "0.1.1.1";
-       sha256 = "05r4i7zhwbsv9ci4yid57fnb5lkx254pch9arq5a11dvwsvdzvzw";
-       revision = "2";
-       editedCabalFile = "04ghg9chkqj3s4g24jszcpb4m8fi9qbgs04bbb1kny3c6ihin93x";
+       version = "0.1.1.2";
+       sha256 = "1zgsmibi24w2wsd828hnls1yv9lrl9xwsi2aay3d603j8mg8vd0r";
+       revision = "1";
+       editedCabalFile = "1x8cqmfyc168jrmvg2c8as1gj4qys10hyr71nmcyskvqrk5bsxf8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring Cabal directory filepath hackage-security network
-         network-uri old-time optparse-applicative tar time unix zlib
+         base bytestring Cabal directory filepath hackage-security microlens
+         network network-uri old-time optparse-applicative tar time unix
+         zlib
        ];
-       description = "Utility to manage secure file-based package repositories";
+       description = "Manage secure file-based package repositories";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -103769,6 +106028,36 @@ 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";
+       revision = "1";
+       editedCabalFile = "0iw1vy9xapwrwsg38pb6lr26yprwhz1j2w2kzkqfapxmwx37v639";
+       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
@@ -103988,8 +106277,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.6";
-       sha256 = "1fi3f90jd7s10iw1lcqhy8vfv27794sfsp7bjlb9rgab7jqf3wqv";
+       version = "0.6.1";
+       sha256 = "1r4n23da767gkcg1s8sjk359kaz9y8sr1pxpdm1lfb7v43rymf5m";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -104040,35 +106329,16 @@ self: {
        broken = true;
      }) {};
 
-  "haddock_2_16_1" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath, haddock-api
-     , process
-     }:
-     mkDerivation {
-       pname = "haddock";
-       version = "2.16.1";
-       sha256 = "1mnnvc5jqp6n6rj7xw8wdm0z2xp9fndkz11c8p3vbljsrcqd3v26";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [ base haddock-api ];
-       testHaskellDepends = [ base Cabal directory filepath process ];
-       doCheck = false;
-       preCheck = "unset GHC_PACKAGE_PATH";
-       description = "A documentation-generation tool for Haskell libraries";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "haddock_2_17_5" = callPackage
-    ({ mkDerivation, base, filepath, haddock-api, hspec }:
+  "haddock_2_22_0" = callPackage
+    ({ mkDerivation, base, filepath, haddock-api }:
      mkDerivation {
        pname = "haddock";
-       version = "2.17.5";
-       sha256 = "1qxy6yxpxgpqpwcs76ydpal45cz4a3hyq3rq07cwma1cs4p034ql";
+       version = "2.22.0";
+       sha256 = "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
-       testHaskellDepends = [ base filepath hspec ];
+       testHaskellDepends = [ base filepath ];
        doCheck = false;
        preCheck = "unset GHC_PACKAGE_PATH";
        description = "A documentation-generation tool for Haskell libraries";
@@ -104080,8 +106350,8 @@ self: {
     ({ mkDerivation, base, filepath, haddock-api }:
      mkDerivation {
        pname = "haddock";
-       version = "2.22.0";
-       sha256 = "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6";
+       version = "2.23.0";
+       sha256 = "1f7n4l1kkq1msl8csnvzg2xh3i5a056dzmcf40gib0im91wcwl0x";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
@@ -104092,85 +106362,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haddock-api_2_15_0_2" = callPackage
+  "haddock-api_2_22_0" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal, containers
-     , deepseq, directory, filepath, ghc, ghc-paths, haddock-library
-     , xhtml
-     }:
-     mkDerivation {
-       pname = "haddock-api";
-       version = "2.15.0.2";
-       sha256 = "1gdmwid3qg86ql0828bp8g121psvmz11s0xivrzhiv8knxbqj8l7";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array base bytestring Cabal containers deepseq directory filepath
-         ghc ghc-paths haddock-library xhtml
-       ];
-       description = "A documentation-generation tool for Haskell libraries";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "haddock-api_2_16_1" = callPackage
-    ({ mkDerivation, array, base, bytestring, Cabal, containers
-     , deepseq, directory, filepath, ghc, ghc-paths, haddock-library
+     , deepseq, directory, filepath, ghc, ghc-boot, ghc-paths
+     , haddock-library, hspec, hspec-discover, QuickCheck, transformers
      , xhtml
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.16.1";
-       sha256 = "1spd5axg1pdjv4dkdb5gcwjsc8gg37qi4mr2k2db6ayywdkis1p2";
+       version = "2.22.0";
+       sha256 = "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
-         ghc ghc-paths haddock-library xhtml
+         ghc ghc-boot ghc-paths haddock-library transformers xhtml
        ];
-       description = "A documentation-generation tool for Haskell libraries";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "haddock-api_2_17_4" = callPackage
-    ({ mkDerivation, array, base, bytestring, Cabal, containers
-     , deepseq, directory, filepath, ghc, ghc-boot, ghc-paths
-     , haddock-library, hspec, QuickCheck, transformers, xhtml
-     }:
-     mkDerivation {
-       pname = "haddock-api";
-       version = "2.17.4";
-       sha256 = "00fn6pzgg8xjbaw12d76jdqh2dbc5xy7miyz0x6kidvvar7i35ss";
-       revision = "1";
-       editedCabalFile = "0saa5ksmvxyvwi2nrzh7m4ha1kwh31pkpa79yrppvw7sm39klpyw";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
+       testHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
-         ghc ghc-boot ghc-paths haddock-library transformers xhtml
+         ghc ghc-boot ghc-paths haddock-library hspec QuickCheck
+         transformers xhtml
        ];
-       testHaskellDepends = [ base containers ghc hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        description = "A documentation-generation tool for Haskell libraries";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haddock-api" = callPackage
-    ({ mkDerivation, array, base, bytestring, Cabal, containers
-     , deepseq, directory, filepath, ghc, ghc-boot, ghc-paths
-     , haddock-library, hspec, hspec-discover, QuickCheck, transformers
-     , xhtml
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, filepath, ghc, ghc-boot, ghc-paths, haddock-library
+     , hspec, hspec-discover, QuickCheck, transformers, xhtml
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.22.0";
-       sha256 = "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014";
+       version = "2.23.0";
+       sha256 = "0fbk458qr7iw1j8vh6455n2819c0pfdw1m3gy1y3fs6fdpj9qbjj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base bytestring Cabal containers deepseq directory filepath
-         ghc ghc-boot ghc-paths haddock-library transformers xhtml
+         array base bytestring containers deepseq directory filepath ghc
+         ghc-boot ghc-paths haddock-library transformers xhtml
        ];
        testHaskellDepends = [
-         array base bytestring Cabal containers deepseq directory filepath
-         ghc ghc-boot ghc-paths haddock-library hspec QuickCheck
-         transformers xhtml
+         array base bytestring containers deepseq directory filepath ghc
+         ghc-boot ghc-paths haddock-library hspec QuickCheck transformers
+         xhtml
        ];
        testToolDepends = [ hspec-discover ];
        description = "A documentation-generation tool for Haskell libraries";
@@ -104208,58 +106443,49 @@ self: {
        broken = true;
      }) {};
 
-  "haddock-library_1_2_1" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
-     , QuickCheck, transformers
+  "haddock-library" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
+     , hspec, hspec-discover, parsec, QuickCheck, text, transformers
      }:
      mkDerivation {
        pname = "haddock-library";
-       version = "1.2.1";
-       sha256 = "0mhh2ppfhrvvi9485ipwbkv2fbgj35jvz3la02y3jlvg5ffs1c8g";
-       libraryHaskellDepends = [ base bytestring deepseq transformers ];
-       testHaskellDepends = [
-         base base-compat bytestring deepseq hspec QuickCheck transformers
+       version = "1.7.0";
+       sha256 = "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7";
+       libraryHaskellDepends = [
+         base bytestring containers parsec text transformers
        ];
-       description = "Library exposing some functionality of Haddock";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "haddock-library_1_4_3" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
-     , QuickCheck, transformers
-     }:
-     mkDerivation {
-       pname = "haddock-library";
-       version = "1.4.3";
-       sha256 = "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p";
-       libraryHaskellDepends = [ base bytestring deepseq transformers ];
        testHaskellDepends = [
-         base base-compat bytestring deepseq hspec QuickCheck transformers
+         base base-compat bytestring containers deepseq hspec parsec
+         QuickCheck text transformers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haddock-library" = callPackage
+  "haddock-library_1_8_0" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
-     , hspec, hspec-discover, parsec, QuickCheck, text, transformers
+     , directory, filepath, hspec, hspec-discover, optparse-applicative
+     , parsec, QuickCheck, text, transformers, tree-diff
      }:
      mkDerivation {
        pname = "haddock-library";
-       version = "1.7.0";
-       sha256 = "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7";
+       version = "1.8.0";
+       sha256 = "15xpv29yh3kb9qq9gmws2l8m64i7phvf47y08vxc2j55101sg4vh";
+       revision = "1";
+       editedCabalFile = "09v6lq3ncf3ax7b6n36vhsflm488x0qc8sgc3w17m09x1jl48d99";
        libraryHaskellDepends = [
          base bytestring containers parsec text transformers
        ];
        testHaskellDepends = [
-         base base-compat bytestring containers deepseq hspec parsec
-         QuickCheck text transformers
+         base base-compat bytestring containers deepseq directory filepath
+         hspec optparse-applicative parsec QuickCheck text transformers
+         tree-diff
        ];
        testToolDepends = [ hspec-discover ];
        description = "Library exposing some functionality of Haddock";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haddock-test" = callPackage
@@ -104310,8 +106536,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.17.2";
-       sha256 = "0s9q0016j3y56sblkq12mai1j58h8w8cy8k2x1bzvhb95zpg1va9";
+       version = "1.17.3";
+       sha256 = "00lyf2m6q866383q79b705xhn987504wz3fp3zh7m8580v8phy5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -104328,8 +106554,6 @@ self: {
        ];
        description = "Dockerfile Linter JavaScript API";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hadoop-formats" = callPackage
@@ -104450,6 +106674,27 @@ self: {
        broken = true;
      }) {};
 
+  "haggle" = callPackage
+    ({ mkDerivation, base, containers, deepseq, fgl, hashable, HUnit
+     , monad-primitive, primitive, QuickCheck, ref-tf, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "haggle";
+       version = "0.1.0.0";
+       sha256 = "0fpbmllp0p23c258gam7xm0dvwphw0zpmydmg9ygl4yl1kiav470";
+       libraryHaskellDepends = [
+         base containers deepseq hashable monad-primitive primitive ref-tf
+         vector
+       ];
+       testHaskellDepends = [
+         base containers fgl HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "A graph library offering mutable, immutable, and inductive graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haha" = callPackage
     ({ mkDerivation, base, containers, time }:
      mkDerivation {
@@ -104491,8 +106736,8 @@ self: {
      }:
      mkDerivation {
        pname = "haiji";
-       version = "0.3.0.0";
-       sha256 = "079q3m3c39ip86hpirq9c5l3b9hw030zd5slwi2bssbmq2bhfv5i";
+       version = "0.3.1.0";
+       sha256 = "0z0f6w4krfs220342v8sa2ylfk1qnd695pn0i9qxr7k0pwbph2wg";
        libraryHaskellDepends = [
          aeson attoparsec base data-default mtl scientific tagged
          template-haskell text transformers unordered-containers vector
@@ -104525,8 +106770,6 @@ self: {
        ];
        description = "A service for pull-based continuous deployment based on hydra";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hailgun" = callPackage
@@ -104973,6 +107216,8 @@ self: {
        pname = "hakyll-dhall";
        version = "0.2.3.0";
        sha256 = "1a8aq1gmj6mwpv43s2vr7asp6v6bflms1vhd9dvs04jfnw3jbvpz";
+       revision = "1";
+       editedCabalFile = "1r2v4s90c3g9lhbrb9ps4za3k836brd0s41q8jimbiz7wrd0amy1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -105037,8 +107282,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-filestore";
-       version = "0.1.6";
-       sha256 = "15w52lh2z68qi9f1xgqvwgnzix1ryspbnrd9vrmllcdp9g1kci62";
+       version = "0.1.7";
+       sha256 = "1xwx58dpwzvl4nk92k357bwxl88wvngkicj4d266gmxmq6j4pg52";
        libraryHaskellDepends = [
          base filestore hakyll time time-locale-compat
        ];
@@ -105067,8 +107312,6 @@ self: {
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-ogmarkup" = callPackage
@@ -105176,6 +107419,24 @@ self: {
        broken = true;
      }) {};
 
+  "hakyll-typescript" = callPackage
+    ({ mkDerivation, base, bytestring, directory, hakyll, hjsmin, tasty
+     , tasty-hunit, typed-process
+     }:
+     mkDerivation {
+       pname = "hakyll-typescript";
+       version = "0.0.1.0";
+       sha256 = "1vhkhbmy0pflcnzfhb9gck436rr5wr6hfpcb3sz8r27l1fml26ji";
+       libraryHaskellDepends = [
+         base bytestring hakyll hjsmin typed-process
+       ];
+       testHaskellDepends = [ base directory hakyll tasty tasty-hunit ];
+       description = "Typescript and javascript hakyll compilers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hal" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, envy
      , exceptions, http-conduit, http-types, mtl, text, time
@@ -105602,6 +107863,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hanabi-dealer" = callPackage
+    ({ mkDerivation, base, containers, random }:
+     mkDerivation {
+       pname = "hanabi-dealer";
+       version = "0.2.0.0";
+       sha256 = "086mvplnkapzc697mmqxi2z4fhm4ix7kjq4fkqzv1yj592qz4q9h";
+       libraryHaskellDepends = [ base containers random ];
+       description = "Hanabi card game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "handa-data" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -105846,21 +108118,21 @@ self: {
      }) {};
 
   "hapistrano" = callPackage
-    ({ mkDerivation, aeson, async, base, directory, filepath
-     , formatting, gitrev, hspec, mtl, optparse-applicative, path
-     , path-io, process, QuickCheck, silently, stm, temporary, time
-     , transformers, typed-process, yaml
+    ({ mkDerivation, aeson, ansi-terminal, async, base, directory
+     , filepath, formatting, gitrev, hspec, hspec-discover, mtl
+     , optparse-applicative, path, path-io, process, QuickCheck
+     , silently, stm, temporary, time, transformers, typed-process, yaml
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.3.9.3";
-       sha256 = "1kp2gdr0xjzr0qi584lqiqh7hjk8vymz04af2zcgdhbw68brj2cx";
+       version = "0.3.10.0";
+       sha256 = "0kw98zcqp6b4j0i2nbd487i2icq12r3sqi8w9gjjqj5fhzsa7sja";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base filepath formatting gitrev mtl path process stm time
-         transformers typed-process
+         aeson ansi-terminal base filepath formatting gitrev mtl path
+         process stm time transformers typed-process
        ];
        executableHaskellDepends = [
          aeson async base formatting gitrev optparse-applicative path
@@ -105870,10 +108142,9 @@ self: {
          base directory filepath hspec mtl path path-io process QuickCheck
          silently temporary
        ];
+       testToolDepends = [ hspec-discover ];
        description = "A deployment library for Haskell applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "happindicator" = callPackage
@@ -106077,8 +108348,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
@@ -106337,8 +108608,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
@@ -106393,8 +108664,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
@@ -106458,22 +108729,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.3";
-       sha256 = "05ki6j3cc9pfqaf7qbr2g4z4kdn4zjrqd3n0n02n9297bcvcschp";
+       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
@@ -106491,8 +108762,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
@@ -106630,6 +108901,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "happy_1_19_9" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, mtl, process
+     }:
+     mkDerivation {
+       pname = "happy";
+       version = "1.19.9";
+       sha256 = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y";
+       revision = "3";
+       editedCabalFile = "0kwlh964nyqvfbm02np8vpc28gbhsby0r65jhz1918rm0wip9izq";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [ array base containers mtl ];
+       testHaskellDepends = [ base process ];
+       description = "Happy is a parser generator for Haskell";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happy" = callPackage
     ({ mkDerivation, array, base, containers, mtl, process }:
      mkDerivation {
@@ -106645,6 +108936,24 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "happy-dot" = callPackage
+    ({ mkDerivation, array, base, clock, happy, HUnit, language-dot
+     , pretty, transformers, xml
+     }:
+     mkDerivation {
+       pname = "happy-dot";
+       version = "1.0.0.0";
+       sha256 = "1m7i6akv2009g1q5jhrv14fkq12kq5zkk11g8f0zsgflljd4w5a2";
+       libraryHaskellDepends = [ array base pretty transformers ];
+       libraryToolDepends = [ happy ];
+       testHaskellDepends = [ array base HUnit pretty transformers xml ];
+       benchmarkHaskellDepends = [
+         array base clock language-dot transformers xml
+       ];
+       description = "Parser for dot made with happy";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "happy-hour" = callPackage
     ({ mkDerivation, base, Chart, Chart-diagrams }:
      mkDerivation {
@@ -106849,8 +109158,8 @@ self: {
      }:
      mkDerivation {
        pname = "harg";
-       version = "0.4.0.0";
-       sha256 = "0il36pwzmkc1dj39kybyp6hv4s7d60dl5rx1fkfm23dcg6a9r0dc";
+       version = "0.4.1.0";
+       sha256 = "1h1hdhlm5fjfm5cr052gf6cxp6r4lnz9a3b68ypj4b716hymir44";
        libraryHaskellDepends = [
          aeson barbies base bytestring directory higgledy
          optparse-applicative split text yaml
@@ -106954,8 +109263,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;
@@ -107034,8 +109343,28 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.3.5";
-       sha256 = "0qd5rh0jdwhkjcz5kg1bqwd5hpz5w9ph9k0vxaam1lnjjniw7zbj";
+       version = "0.1.4.0";
+       sha256 = "1varlzj2c0sfxza6wfacrkjxq022qdvbzf8zhi3zbv1fnqqcvz0j";
+       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;
+     }) {};
+
+  "hasbolt_0_1_4_1" = callPackage
+    ({ mkDerivation, base, binary, bytestring, connection, containers
+     , data-binary-ieee754, data-default, hex, hspec, mtl, network
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hasbolt";
+       version = "0.1.4.1";
+       sha256 = "1p2gffh6ym221sgrhlns209p6s0j3qbmam5a0b3s06663qgzvh5b";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default mtl network text
@@ -107045,18 +109374,19 @@ self: {
        ];
        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, free, hasbolt, lens, mtl, neat-interpolation
-     , scientific, template-haskell, text, th-lift-instances
-     , unordered-containers, vector
+     , data-default, doctest, free, hasbolt, lens, mtl
+     , neat-interpolation, scientific, template-haskell, text
+     , th-lift-instances, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.22";
-       sha256 = "06bad2hbzmrrav1f7fsszrspxghziy6jpmgr39nbs375fbqib4kp";
+       version = "0.0.1.0";
+       sha256 = "1d5n60nsvzkgf4wf2fy99qgp6bby4bmhldycda0hlgkch1m6lqqc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -107067,6 +109397,7 @@ self: {
        executableHaskellDepends = [
          aeson base bytestring containers data-default hasbolt mtl text
        ];
+       testHaskellDepends = [ base doctest ];
        description = "Extras for hasbolt library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -108030,33 +110361,35 @@ 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, 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.4";
-       sha256 = "0paw5jczmcayda2pjgp10p983g8kbly33hpabdv37b5mkrair9d8";
+       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 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 = [
-         ansi-terminal base bytestring Diff directory filepath tasty
-         tasty-golden transformers
+         ansi-terminal base base-compat bytestring Diff directory filepath
+         tasty tasty-golden transformers
        ];
        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
@@ -108286,8 +110619,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-formatter";
-       version = "2.0.1";
-       sha256 = "17cwpvc8yfflzvlhyvdk2kgqpi2k3s55kz1435axgn02ajvdlr75";
+       version = "2.0.2";
+       sha256 = "0rnx34nkgw4zsyagl38vqd322fzp3kfi16p60dhffadga8v4gajd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108596,7 +110929,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_16_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
@@ -108605,8 +110938,38 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.16.0.0";
-       sha256 = "1s04lfnb3c0g9bkwp4j7j59yw8ypps63dq27ayybynrfci4bpj95";
+       version = "0.18.0.0";
+       sha256 = "0q9xpjgr3n7svhd9f7mmkw113avswvfm08fnbijdr1sblipd12sl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring containers data-default
+         directory filepath hashable haskell-lsp-types hslogger lens mtl
+         network-uri rope-utf16-splay sorted-list stm temporary text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hashable hspec lens network-uri QuickCheck quickcheck-instances
+         rope-utf16-splay sorted-list stm text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-lsp_0_19_0_0" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hashable
+     , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
+     , network-uri, QuickCheck, quickcheck-instances, rope-utf16-splay
+     , sorted-list, stm, temporary, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp";
+       version = "0.19.0.0";
+       sha256 = "0cjmjrcd3rg8jc6rfk73jirmvay07jps9gdjd97clxz90w3mm24i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108665,15 +111028,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_16_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.16.0.0";
-       sha256 = "14wlv54ydbddpw6cwgykcas3rb55w7m78q0s1wdbi594wg1bscqg";
+       version = "0.18.0.0";
+       sha256 = "1ypa3gxxcg7dl905d4nprcqzw2fcl7z7xy1hpg5har1dw3w9fyiq";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default deepseq filepath hashable lens
+         network-uri scientific text unordered-containers
+       ];
+       description = "Haskell library for the Microsoft Language Server Protocol, data types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-lsp-types_0_19_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.19.0.0";
+       sha256 = "089rxcdz02hq68ihc26r7dwsn8hl7f7096vcb0dyd2jda0ganhm9";
        libraryHaskellDepends = [
          aeson base bytestring data-default deepseq filepath hashable lens
          network-uri scientific text unordered-containers
@@ -108767,8 +111148,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-names";
-       version = "0.9.6";
-       sha256 = "06g1h1dvsh31hm18v3hkx2s4bcrv2h49kgc2x9k1xk6532a9503w";
+       version = "0.9.7";
+       sha256 = "1ad0kdp4a9gq10g9flmmjn0ibfaipq2qnrz5a13r1mgyb6skzc5j";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers data-lens-light filepath
@@ -109131,6 +111512,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
@@ -109174,6 +111568,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-src-exts_1_22_0" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , ghc-prim, happy, mtl, pretty, pretty-show, smallcheck, tasty
+     , tasty-golden, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "haskell-src-exts";
+       version = "1.22.0";
+       sha256 = "1wc3w1kkrlagbbbgqflqx4xwqk36wsng7r3wyjflvlas4sf3xmg0";
+       libraryHaskellDepends = [ array base ghc-prim pretty ];
+       libraryToolDepends = [ happy ];
+       testHaskellDepends = [
+         base containers directory filepath mtl pretty-show smallcheck tasty
+         tasty-golden tasty-smallcheck
+       ];
+       doCheck = false;
+       description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-src-exts-observe" = callPackage
     ({ mkDerivation, base, haskell-src-exts, Hoed }:
      mkDerivation {
@@ -109241,10 +111656,8 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-simple";
-       version = "1.21.1.0";
-       sha256 = "1zw95fdbqgn9653fgbcpdc364ps07v0zgvwxng8yi2dhdnlhjqra";
-       revision = "1";
-       editedCabalFile = "0mc1n7bkwbykrw1wivj1mvm69a0j1089vbrg8vc1cfkmcdib3xdj";
+       version = "1.22.0.0";
+       sha256 = "1zfb12r7fpq5nnfgn27m8grql2bx50w7g2jbgy9404rjcr1gk59c";
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
@@ -109285,6 +111698,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "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.5";
+       sha256 = "1csqp3n7330rhia9msyw34z7qwwj64gdy5qlv8w4jbm49dap24ik";
+       libraryHaskellDepends = [
+         base haskell-src-exts pretty syb template-haskell th-orphans
+       ];
+       testHaskellDepends = [
+         base containers haskell-src-exts HUnit pretty syb tasty tasty-hunit
+         template-haskell
+       ];
+       description = "Parse source to template-haskell abstract syntax";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-src-meta-mwotton" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, haskell-src-exts
      , pretty, syb, template-haskell
@@ -109331,6 +111764,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-to-elm" = callPackage
+    ({ mkDerivation, aeson, base, bound, elm-syntax, generics-sop
+     , protolude, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-to-elm";
+       version = "0.2.0.0";
+       sha256 = "0y3ayjfspajnsk6r47fkkqafbf15f9lshgizihndrnb3smkyzgw9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bound elm-syntax generics-sop protolude text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bound elm-syntax generics-sop protolude text time
+         unordered-containers
+       ];
+       description = "Generate Elm types and JSON encoders and decoders from Haskell types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-token-utils" = callPackage
     ({ mkDerivation, base, containers, Diff, directory, dual-tree, ghc
      , ghc-mod, ghc-paths, ghc-prim, ghc-syb-utils, haskell-src-exts
@@ -110261,6 +112716,17 @@ self: {
        broken = true;
      }) {};
 
+  "haskellish" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "haskellish";
+       version = "0.1.2";
+       sha256 = "0qsd65pf3nfadf98nnabya0x9li0ldq1b3fpdy36k97pmf44x0qw";
+       libraryHaskellDepends = [ base haskell-src-exts ];
+       description = "For parsing Haskell-ish languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskellscrabble" = callPackage
     ({ mkDerivation, array, arrows, base, containers, directory, errors
      , filepath, HUnit, listsafe, mtl, parsec, QuickCheck, random, safe
@@ -110371,20 +112837,20 @@ self: {
 
   "haskey" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
-     , directory, exceptions, filepath, focus, haskey-btree, HUnit
-     , list-t, lz4, mtl, QuickCheck, random, semigroups, stm
+     , directory, exceptions, filepath, focus, hashable, haskey-btree
+     , HUnit, list-t, lz4, mtl, QuickCheck, random, semigroups, stm
      , stm-containers, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, transformers, unix, vector
      , xxhash-ffi
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.3.0.2";
-       sha256 = "1s24k6mwb1231j3ryd4iizday4l966vs9rcghr53k3jx2nl0h74h";
+       version = "0.3.1.0";
+       sha256 = "06q5gwjpgrgjq07iz7368yfghsfc2im1gbwqqixb1lqbiz7q6dbs";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
-         focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
-         transformers unix xxhash-ffi
+         focus hashable haskey-btree list-t lz4 mtl semigroups stm
+         stm-containers transformers unix xxhash-ffi
        ];
        testHaskellDepends = [
          async base binary bytestring containers directory exceptions
@@ -110565,8 +113031,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-bitcoind";
-       version = "0.3.0";
-       sha256 = "1b46mhjna32n41bj16ca58cijypls1n74aqhk785vla9v9ib9828";
+       version = "0.4.1";
+       sha256 = "1m5j03brslh0xgc7nm2b0cyk8l2zb140f71y5bcj28aaips3yyr0";
        libraryHaskellDepends = [
          base base16-bytestring bytestring cereal haskoin-core monad-control
          mtl network-bitcoin text transformers transformers-base
@@ -110586,13 +113052,14 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.9.0";
-       sha256 = "1kwk3ycb4hjybsj43fg5khg2i5rgfrlwcmp7hknyzgzyshmwj1bx";
+       version = "0.9.7";
+       sha256 = "04bh21sdkqzp7rlvs49wqq9lj8cyf2mm8cdjyg3zr4kqsfbw2z73";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bytestring cereal conduit
-         containers cryptonite entropy hashable memory mtl murmur3 network
-         QuickCheck scientific secp256k1-haskell split string-conversions
-         text time transformers unordered-containers vector
+         containers cryptonite entropy hashable hspec HUnit memory mtl
+         murmur3 network QuickCheck safe scientific secp256k1-haskell split
+         string-conversions text time transformers unordered-containers
+         vector
        ];
        testHaskellDepends = [
          aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
@@ -110601,6 +113068,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
@@ -110637,8 +113106,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.9.10";
-       sha256 = "05pnj7caia2ifr793pryfdc8q8p203rii4agrgy4i123mcfmxqjq";
+       version = "0.9.14";
+       sha256 = "17nd6spm2bskgnxp2v7jfb66ds2qgxzhzlvd4yhgbf63kqfhlkjl";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -110711,12 +113180,13 @@ self: {
      , haskoin-node, hspec, hspec-discover, http-types, monad-logger
      , mtl, network, nqe, optparse-applicative, random, resourcet
      , rocksdb-haskell, rocksdb-query, scotty, string-conversions, text
-     , time, transformers, unliftio, unordered-containers, wai
+     , time, transformers, unliftio, unordered-containers, vector, wai
+     , warp
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.17.1";
-       sha256 = "19vzwxy27xkkkx3lmq554kkyh6iclrxdhbp901vb0rh9v8l3cc74";
+       version = "0.19.2";
+       sha256 = "0jrjjxydmm9pncqihks2dl2k22lmryw8cxjdsg3hpkqkzdz8brvi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110724,21 +113194,21 @@ self: {
          hashable haskoin-core haskoin-node http-types monad-logger mtl
          network nqe random resourcet rocksdb-haskell rocksdb-query scotty
          string-conversions text time transformers unliftio
-         unordered-containers wai
+         unordered-containers vector wai warp
        ];
        executableHaskellDepends = [
          aeson base bytestring cereal conduit containers data-default
          filepath hashable haskoin-core haskoin-node http-types monad-logger
          mtl network nqe optparse-applicative random resourcet
          rocksdb-haskell rocksdb-query scotty string-conversions text time
-         transformers unliftio unordered-containers wai
+         transformers unliftio unordered-containers vector wai warp
        ];
        testHaskellDepends = [
          aeson base bytestring cereal conduit containers data-default
          hashable haskoin-core haskoin-node hspec http-types monad-logger
          mtl network nqe random resourcet rocksdb-haskell rocksdb-query
          scotty string-conversions text time transformers unliftio
-         unordered-containers wai
+         unordered-containers vector wai warp
        ];
        testToolDepends = [ hspec-discover ];
        description = "Storage and index for Bitcoin and Bitcoin Cash";
@@ -110975,8 +113445,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskseg";
-       version = "0.1.0.2";
-       sha256 = "0p9z71gbrgssjs1zgbjfqn2g4k4i6ahs9lj1x82mjqppvc4gr0n3";
+       version = "0.1.0.3";
+       sha256 = "1az5gj51wr3bfalbm6nq50cgzv02x48c68qrmd7y9dji4865vnya";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111303,6 +113773,8 @@ self: {
        pname = "haskus-binary";
        version = "1.4";
        sha256 = "0riqgfy9ai1vb7555l1w9rfcp10ylg7sbk46ph1f2y00pjbxsmv3";
+       revision = "1";
+       editedCabalFile = "1b1dxsrl6iq97dbjsw90jpy6s37dik245w4jgaj2pgqsw1w1vz5h";
        libraryHaskellDepends = [
          base bytestring cereal directory filepath ghc-prim haskus-utils
          haskus-utils-data haskus-utils-types megaparsec mtl primitive
@@ -111381,18 +113853,19 @@ self: {
      }) {};
 
   "haskus-utils-data" = callPackage
-    ({ mkDerivation, base, containers, extra, haskus-utils-types, mtl
-     , recursion-schemes, transformers
+    ({ mkDerivation, base, containers, doctest, extra, ghc-prim
+     , haskus-utils-types, mtl, recursion-schemes, transformers
      }:
      mkDerivation {
        pname = "haskus-utils-data";
-       version = "1.1.1";
-       sha256 = "1igwlprfknz3aydls849a3l7agm5zqn8c90aqw547bc0asjcsnll";
+       version = "1.2";
+       sha256 = "0dn07zj9v5yl0mpcnblk2y17x30wg8fag4hv9mfp3kn003217f89";
        libraryHaskellDepends = [
-         base containers extra haskus-utils-types mtl recursion-schemes
-         transformers
+         base containers extra ghc-prim haskus-utils-types mtl
+         recursion-schemes transformers
        ];
-       description = "Haskus utility modules";
+       testHaskellDepends = [ base doctest ];
+       description = "Haskus data utility modules";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -111400,8 +113873,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "haskus-utils-types";
-       version = "1.4.1";
-       sha256 = "0nypn55fj86llpgdlsbr5qk7jkix5qazz03f8c5a8kn787n2bkpz";
+       version = "1.5";
+       sha256 = "1mbgnx4i82g9bq1qpvjjs9yb683gfja5bws8y26mzjl4igk6izsy";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Haskus types utility modules";
@@ -111415,13 +113888,16 @@ self: {
      }:
      mkDerivation {
        pname = "haskus-utils-variant";
-       version = "2.6.1";
-       sha256 = "1zq76dsp29warrr0ym4lp9lrgar7yairwp91qklf3k6qb8h41qw8";
+       version = "3.0";
+       sha256 = "128i47aqp1h8j4yganj7l8svdb1ax5vx9h4j55k56wh5yxrg5aan";
        libraryHaskellDepends = [
          base deepseq exceptions haskus-utils-data haskus-utils-types
          template-haskell transformers
        ];
-       testHaskellDepends = [ base doctest tasty tasty-quickcheck ];
+       testHaskellDepends = [
+         base doctest haskus-utils-data haskus-utils-types tasty
+         tasty-quickcheck
+       ];
        benchmarkHaskellDepends = [ base criterion deepseq QuickCheck ];
        description = "Variant and EADT";
        license = stdenv.lib.licenses.bsd3;
@@ -111580,8 +114056,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.4";
-       sha256 = "0j2arb96i1dinpz1yxl2cjl4qhbljk9yph52cj9az50mvl8vx3w4";
+       version = "1.4.0.1";
+       sha256 = "04112217385hh7bqzs4sr0263yy3pzny10ym4j5vmy9kwrbygk2d";
        libraryHaskellDepends = [
          attoparsec base base-prelude bytestring bytestring-strict-builder
          contravariant contravariant-extras dlist hashable hashtables
@@ -111865,14 +114341,27 @@ self: {
      }) {};
 
   "hasql-th" = callPackage
-    ({ mkDerivation, base-prelude, bytestring, template-haskell, text
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , contravariant, fast-builder, foldl, hashable, hasql
+     , headed-megaparsec, hedgehog, megaparsec, parser-combinators
+     , selective, template-haskell, text, text-builder, tuple-th
+     , unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.2.1";
-       sha256 = "0lfnmlpxxzm06cr3p6b2x0wzf11913w6ps6hlv290mdd0l3wk1mg";
+       version = "0.4";
+       sha256 = "0c87l9lf2h6z33apmh13dy9imdv0klpk4p22zmw9i88gg5x91yvw";
        libraryHaskellDepends = [
-         base-prelude bytestring template-haskell text
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec megaparsec
+         parser-combinators selective template-haskell text text-builder
+         tuple-th unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec hedgehog
+         megaparsec parser-combinators selective template-haskell text
+         text-builder tuple-th unordered-containers uuid vector
        ];
        description = "Template Haskell utilities for Hasql";
        license = stdenv.lib.licenses.mit;
@@ -111896,21 +114385,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;
      }) {};
@@ -112463,10 +114952,8 @@ self: {
      }:
      mkDerivation {
        pname = "haxr";
-       version = "3000.11.3";
-       sha256 = "1ab422ngg63w91a71j17swzzdxk0y2053fijml0illarcrd77cnj";
-       revision = "2";
-       editedCabalFile = "1spv34kjfnpk0j8wap73qwkkqzshb2lvwrg7c3rfpy712ndbsl2h";
+       version = "3000.11.3.1";
+       sha256 = "1wyb848mb0b6idkbi5jarsf6qi1zzl3yh6xd05g228kykii8k9mg";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -113104,8 +115591,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
        ];
@@ -113360,8 +115847,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdiff";
-       version = "0.0.0";
-       sha256 = "0vs55wrcip9djhdwd5wz44d8w5hfafdck4abhc488b23chdxxxi9";
+       version = "0.0.1";
+       sha256 = "09a4vp80ik7fza2qzv9n3zddkk1phm0yd3f9v1r5zp3i8s38aa89";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113500,8 +115987,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdocs";
-       version = "0.5.3.2";
-       sha256 = "0x899pa5dw1jrc0vcw8aa1f3cx2xz8z0zqhplivji81lpjnajfgv";
+       version = "0.5.4.0";
+       sha256 = "1qj7kcpfwpsgzbmhiix22n66173kgxqgf3fb6mc2ybdc4zmkfa29";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113583,6 +116070,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
@@ -113644,8 +116146,8 @@ self: {
     ({ mkDerivation, async, base, io-streams, time }:
      mkDerivation {
        pname = "heartbeat-streams";
-       version = "0.1.0.1";
-       sha256 = "0arfwp0qkk5p6wh2lwh05r17mwkpn3dcmy382n1rgxr8k03fzv57";
+       version = "0.1.0.2";
+       sha256 = "059dx7paaniwmxgyzapv0542jf8yb4vzbg8501d2j779ixvzm80d";
        libraryHaskellDepends = [ async base io-streams time ];
        description = "Heartbeats for io-streams";
        license = stdenv.lib.licenses.bsd3;
@@ -113824,6 +116326,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
@@ -113845,35 +116359,6 @@ self: {
        broken = true;
      }) {};
 
-  "hedgehog_0_6_1" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, bytestring
-     , concurrent-output, containers, directory, exceptions
-     , lifted-async, mmorph, monad-control, mtl, pretty-show, primitive
-     , random, resourcet, semigroups, stm, template-haskell, text
-     , th-lift, time, transformers, transformers-base, unix
-     , wl-pprint-annotated
-     }:
-     mkDerivation {
-       pname = "hedgehog";
-       version = "0.6.1";
-       sha256 = "0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj";
-       revision = "5";
-       editedCabalFile = "0kwmxjb1y3gk85njacw5wcvmq3bzp1649dbjzgzpiba2w342f7il";
-       libraryHaskellDepends = [
-         ansi-terminal async base bytestring concurrent-output containers
-         directory exceptions lifted-async mmorph monad-control mtl
-         pretty-show primitive random resourcet semigroups stm
-         template-haskell text th-lift time transformers transformers-base
-         unix wl-pprint-annotated
-       ];
-       testHaskellDepends = [
-         base containers pretty-show semigroups text transformers
-       ];
-       description = "Hedgehog will eat all your bugs";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "hedgehog" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring
      , concurrent-output, containers, directory, exceptions, fail
@@ -113883,33 +116368,6 @@ self: {
      }:
      mkDerivation {
        pname = "hedgehog";
-       version = "1.0";
-       sha256 = "1np9xg58x20kalfci9dxbd4wsg0sl3ka56ragzy3i9p0nx29pmns";
-       revision = "2";
-       editedCabalFile = "0sbw4hwcza5pb02cndl5f30cyqjl44mn5y3i72n4x8s8mknsy3a4";
-       libraryHaskellDepends = [
-         ansi-terminal async base bytestring concurrent-output containers
-         directory exceptions fail lifted-async mmorph monad-control mtl
-         pretty-show primitive random resourcet semigroups stm
-         template-haskell text time transformers transformers-base
-         wl-pprint-annotated
-       ];
-       testHaskellDepends = [
-         base containers mmorph mtl pretty-show semigroups text transformers
-       ];
-       description = "Release with confidence";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedgehog_1_0_1" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, bytestring
-     , concurrent-output, containers, directory, exceptions, fail
-     , lifted-async, mmorph, monad-control, mtl, pretty-show, primitive
-     , random, resourcet, semigroups, stm, template-haskell, text, time
-     , transformers, transformers-base, wl-pprint-annotated
-     }:
-     mkDerivation {
-       pname = "hedgehog";
        version = "1.0.1";
        sha256 = "1qc7hkqbnsk3f5r26wc35r3qiy941nmcxhfqgcq9027kw4gs0bi0";
        revision = "1";
@@ -113926,7 +116384,6 @@ self: {
        ];
        description = "Release with confidence";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedgehog-checkers" = callPackage
@@ -114046,6 +116503,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 {
@@ -114057,6 +116533,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedgehog-servant" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , hedgehog, http-client, http-media, http-types, servant
+     , servant-client, servant-server, string-conversions, text
+     }:
+     mkDerivation {
+       pname = "hedgehog-servant";
+       version = "0.0.0.1";
+       sha256 = "04plk39ni5m9arcphb4464bpl12r6aw2zfnzlzhpa1i49qlpivc3";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive hedgehog http-client http-media
+         http-types servant servant-client servant-server string-conversions
+         text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive hedgehog http-client
+         http-media http-types servant servant-client servant-server
+         string-conversions text
+       ];
+       description = "Hedgehog property testing for Servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hedis" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
      , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
@@ -114065,8 +116564,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.12.8";
-       sha256 = "119j0g6b2ci04bax6xl2biwwf7cfk2vybypx3089fm69xgm8spcz";
+       version = "0.12.11";
+       sha256 = "1n83zwg011n9w2v1zz4mwpms9jh3c8mk700zya4as1jg83748xww";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq errors HTTP mtl
          network network-uri resource-pool scanner stm text time tls
@@ -114207,6 +116706,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedn_0_3_0_0" = callPackage
+    ({ mkDerivation, base, containers, deepseq, deriving-compat
+     , hedgehog, megaparsec, parser-combinators, prettyprinter
+     , scientific, template-haskell, text, time, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "hedn";
+       version = "0.3.0.0";
+       sha256 = "1gx8bw2l1qpb4jgh5d1zzgfm2rnwavg5shmp4wq2mqrih11r3f3y";
+       libraryHaskellDepends = [
+         base containers deepseq deriving-compat megaparsec
+         parser-combinators prettyprinter scientific template-haskell text
+         time uuid-types vector
+       ];
+       testHaskellDepends = [
+         base containers hedgehog megaparsec text time uuid-types vector
+       ];
+       description = "EDN parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hedn-functor" = callPackage
     ({ mkDerivation, base, containers, hedn, recursion-schemes, text
      , vector
@@ -114271,6 +116792,8 @@ self: {
        pname = "heist";
        version = "1.1.0.1";
        sha256 = "1j4h9fwny4hl2m5lgsd257lvm9057fb0hmnaqjw8a9k4hyx7hmqq";
+       revision = "1";
+       editedCabalFile = "08ihm07rqkhaxgnxr4ix08chxpqs0gps2b5xv79lzbl6cn6rj63c";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -115912,42 +118435,115 @@ self: {
      }) {};
 
   "hgeometry" = callPackage
-    ({ mkDerivation, aeson, approximate-equality, array, base
-     , bifunctors, bytestring, colour, containers, contravariant
-     , criterion, data-clist, deepseq, deepseq-generics, directory
-     , dlist, doctest, filepath, fingertree, fixed-vector, hexpat, hspec
-     , hspec-discover, lens, linear, mtl, optparse-applicative, parsec
-     , profunctors, QuickCheck, quickcheck-instances, random, reflection
-     , semigroupoids, semigroups, singletons, template-haskell, text
-     , vector, vinyl, yaml
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
+     , data-clist, deepseq, dlist, doctest, doctest-discover, fingertree
+     , fixed-vector, hgeometry-combinatorial, lens, linear, MonadRandom
+     , mtl, QuickCheck, quickcheck-instances, reflection, semigroupoids
+     , semigroups, singletons, template-haskell, text, vector
+     , vector-builder, vinyl, yaml
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.8.0.0";
-       sha256 = "0hypd5936kssw435lcvqj9d7whdzfdfbhvi5hhbi90k5x89xfx6f";
-       revision = "1";
-       editedCabalFile = "1hln65kfw2ji43pkwipyg12i0lq9ly6p3hv2xd7vzp4pzkcpy3zz";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.9.0.0";
+       sha256 = "1s9hmknrqdsrfda5l8qjs85qhq6lm8vfkd54dnkbg67xk42z0y1m";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring containers data-clist deepseq
+         dlist fingertree fixed-vector hgeometry-combinatorial lens linear
+         MonadRandom mtl QuickCheck quickcheck-instances reflection
+         semigroupoids semigroups singletons template-haskell text vector
+         vector-builder vinyl yaml
+       ];
+       testHaskellDepends = [ base doctest doctest-discover QuickCheck ];
+       description = "Geometric Algorithms, Data structures, and Data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hgeometry-combinatorial" = callPackage
+    ({ mkDerivation, aeson, approximate-equality, base, bifunctors
+     , bytestring, containers, contravariant, data-clist, deepseq
+     , directory, dlist, doctest, filepath, fingertree, hspec
+     , hspec-discover, lens, linear, MonadRandom, mtl, QuickCheck
+     , quickcheck-instances, random, reflection, semigroupoids
+     , semigroups, singletons, template-haskell, text, vector
+     , vector-builder, vinyl, yaml
+     }:
+     mkDerivation {
+       pname = "hgeometry-combinatorial";
+       version = "0.9.0.0";
+       sha256 = "0c9byfg6x1ch1812s6kf9w1vkrhzffqw6asllhln95f6cvsz58z0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bifunctors bytestring colour containers contravariant
-         data-clist deepseq dlist fingertree fixed-vector hexpat lens linear
-         mtl parsec profunctors QuickCheck quickcheck-instances random
-         reflection semigroupoids semigroups singletons template-haskell
-         text vector vinyl yaml
+         aeson base bifunctors bytestring containers contravariant
+         data-clist deepseq dlist fingertree lens MonadRandom mtl QuickCheck
+         quickcheck-instances reflection semigroupoids semigroups singletons
+         template-haskell text vector vector-builder vinyl yaml
        ];
        testHaskellDepends = [
-         approximate-equality array base bytestring colour containers
-         data-clist directory doctest filepath hspec lens linear QuickCheck
+         approximate-equality base bytestring containers data-clist
+         directory doctest filepath hspec lens linear MonadRandom QuickCheck
          quickcheck-instances random semigroups singletons vector vinyl yaml
        ];
        testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion deepseq deepseq-generics
-         fixed-vector lens linear optparse-applicative QuickCheck semigroups
+       description = "Data structures, and Data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hgeometry-ipe" = callPackage
+    ({ mkDerivation, aeson, approximate-equality, base, bifunctors
+     , bytestring, colour, containers, data-clist, deepseq, directory
+     , dlist, filepath, fingertree, fixed-vector, hexpat, hgeometry
+     , hgeometry-combinatorial, hspec, hspec-discover, lens, linear
+     , MonadRandom, mtl, parsec, QuickCheck, quickcheck-instances
+     , random, reflection, semigroupoids, semigroups, singletons
+     , template-haskell, text, vector, vinyl, yaml
+     }:
+     mkDerivation {
+       pname = "hgeometry-ipe";
+       version = "0.9.0.0";
+       sha256 = "1lj5yvxlgn8q1z2ad4ais7cksflsbyag9zdz6vii9r680swr0ib7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring colour containers data-clist
+         deepseq dlist fingertree fixed-vector hexpat hgeometry
+         hgeometry-combinatorial lens linear MonadRandom mtl parsec
+         QuickCheck quickcheck-instances random reflection semigroupoids
+         semigroups singletons template-haskell text vector vinyl yaml
        ];
-       description = "Geometric Algorithms, Data structures, and Data types";
+       testHaskellDepends = [
+         approximate-equality base bytestring colour containers data-clist
+         directory filepath hgeometry hgeometry-combinatorial hspec lens
+         linear MonadRandom QuickCheck quickcheck-instances random
+         semigroups singletons vector vinyl yaml
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Reading and Writing ipe7 files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hgeometry-svg" = callPackage
+    ({ mkDerivation, base, blaze-markup, blaze-svg, bytestring, deepseq
+     , doctest, hgeometry, hgeometry-combinatorial, hgeometry-ipe, lens
+     , QuickCheck, semigroupoids, semigroups, singletons
+     , template-haskell, text, vinyl
+     }:
+     mkDerivation {
+       pname = "hgeometry-svg";
+       version = "0.9.0.0";
+       sha256 = "1aa1qgmq1qvbj8c06nmlvdk3yy9iflas7mz7icfbn9m77zgj1qvs";
+       libraryHaskellDepends = [
+         base blaze-markup blaze-svg bytestring deepseq hgeometry
+         hgeometry-combinatorial hgeometry-ipe lens QuickCheck semigroupoids
+         semigroups singletons template-haskell text vinyl
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Writing geometric primitives from HGeometry as SVG Files";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -116136,8 +118732,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgrev";
-       version = "0.2.3";
-       sha256 = "0cf0pwl4218wvp6il8h82qnkjd1c9vh6bc8g7dxns0hw4vda3ly8";
+       version = "0.2.4";
+       sha256 = "1mmnz6vipl42p2raxn26hjlcrjhrk3xfbvzyxhjl5ciybgi6dc3w";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath process template-haskell
        ];
@@ -116187,8 +118783,8 @@ self: {
      }:
      mkDerivation {
        pname = "hhp";
-       version = "0.0.1";
-       sha256 = "0b3hliz1ags0c17kjwvsvl56ms4ga8wvaf5c7nmfiyzf0s6h0lp0";
+       version = "0.0.2";
+       sha256 = "0c9hcxvkrsz750r7hqviwn19r1slad4y5cj5m8ip84yiww44bfz4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -116388,23 +118984,28 @@ self: {
      }) {};
 
   "hie-bios" = callPackage
-    ({ mkDerivation, base, base16-bytestring, bytestring, containers
-     , cryptohash-sha1, deepseq, directory, extra, file-embed, filepath
-     , ghc, process, temporary, text, time, transformers, unix-compat
+    ({ mkDerivation, base, base16-bytestring, bytestring, conduit
+     , conduit-extra, containers, cryptohash-sha1, deepseq, directory
+     , extra, file-embed, filepath, ghc, hslogger, process, tasty
+     , tasty-hunit, temporary, text, time, transformers, unix-compat
      , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.2.1";
-       sha256 = "12gqchrqscf7qnmid3k8wizxax4157dggg6kr1dipbwn36dczhrv";
+       version = "0.3.2";
+       sha256 = "1609rvjgh1laqxl4c1bh0j3bq5yysbbaflx6hn8npr0ckq2ckvir";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base16-bytestring bytestring containers cryptohash-sha1
-         deepseq directory extra file-embed filepath ghc process temporary
-         text time transformers unix-compat unordered-containers vector yaml
+         base base16-bytestring bytestring conduit conduit-extra containers
+         cryptohash-sha1 deepseq directory extra file-embed filepath ghc
+         hslogger process temporary text time transformers unix-compat
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [ base directory filepath ghc ];
+       testHaskellDepends = [
+         base directory filepath ghc tasty tasty-hunit
+       ];
        description = "Set up a GHC API session";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -116481,8 +119082,8 @@ self: {
      }:
      mkDerivation {
        pname = "hierarchical-clustering-diagrams";
-       version = "0.3.2";
-       sha256 = "06ncyzhql74ni746a9hzma1v0grw99vas4xglmyvgd6yhdwl08sr";
+       version = "0.4";
+       sha256 = "0msb10qbqppwk3vspjz2w714srawbzgfsgml4ylhvyzrylpp6awr";
        libraryHaskellDepends = [
          base diagrams-lib hierarchical-clustering
        ];
@@ -116513,21 +119114,21 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
      , clustering, containers, directory, fgl, filepath
      , hierarchical-clustering, hmatrix, lens, managed, modularity, mtl
-     , optparse-generic, safe, sparse-linear-algebra
+     , mwc-random, optparse-generic, safe, sparse-linear-algebra
      , spectral-clustering, streaming, streaming-bytestring
      , streaming-cassava, streaming-with, text, text-show, tree-fun
      , vector
      }:
      mkDerivation {
        pname = "hierarchical-spectral-clustering";
-       version = "0.4.1.3";
-       sha256 = "1vhndwkny2sjh7c7m8qym6iasqacsaim0rkihdq3x58mdm2848n7";
+       version = "0.5.0.1";
+       sha256 = "08pz68vw8pbm70iqgrq6h9jhmq4zpg801byjlgkr2rvx6x8d1ghv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base cassava clustering containers fgl
-         hierarchical-clustering hmatrix managed modularity mtl safe
-         sparse-linear-algebra spectral-clustering streaming
+         hierarchical-clustering hmatrix managed modularity mtl mwc-random
+         safe sparse-linear-algebra spectral-clustering streaming
          streaming-bytestring streaming-cassava streaming-with text tree-fun
          vector
        ];
@@ -116604,16 +119205,19 @@ self: {
 
   "higgledy" = callPackage
     ({ mkDerivation, barbies, base, doctest, generic-lens, hspec, lens
-     , QuickCheck
+     , markdown-unlit, named, QuickCheck
      }:
      mkDerivation {
        pname = "higgledy";
-       version = "0.3.0.0";
-       sha256 = "11kcysplf8jzym5g6kd194p72i67scprxsd6hirhacvl8qypy8d6";
-       libraryHaskellDepends = [ barbies base generic-lens QuickCheck ];
+       version = "0.3.1.0";
+       sha256 = "0az05c14l7k9nsfkh4qwpqf1dwlnapgkf5s1v6yfr1rjba0r4bmw";
+       libraryHaskellDepends = [
+         barbies base generic-lens named QuickCheck
+       ];
        testHaskellDepends = [
-         barbies base doctest hspec lens QuickCheck
+         barbies base doctest hspec lens named QuickCheck
        ];
+       testToolDepends = [ markdown-unlit ];
        description = "Partial types as a type constructor";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -117167,8 +119771,8 @@ self: {
      }:
      mkDerivation {
        pname = "hint";
-       version = "0.9.0.1";
-       sha256 = "15cnam704p7ynk70lqz3nvy91src5bd9amfdknvkfzpi5yf2825b";
+       version = "0.9.0.2";
+       sha256 = "06xnlfpf9h7i4fvm3p69accm18h7hblh7173040vlk5qvjywblhf";
        libraryHaskellDepends = [
          base directory exceptions filepath ghc ghc-boot ghc-paths mtl
          random temporary unix
@@ -117228,8 +119832,8 @@ self: {
      }:
      mkDerivation {
        pname = "hinterface";
-       version = "0.10.0";
-       sha256 = "0a89h3vn8arms93fj3p3ip208wamljkdxikkg7dlrf143iymcs8n";
+       version = "1.0.0";
+       sha256 = "18vhpmhpfam1nbh5fgbcfjnmsnsbkzq9qmr64alldlvwf6brs0kp";
        libraryHaskellDepends = [
          array async base binary bytestring containers cryptonite deepseq
          exceptions lifted-async lifted-base memory monad-control
@@ -117276,20 +119880,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
        ];
@@ -117711,21 +120317,23 @@ self: {
      }) {};
 
   "hjsmin" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, containers
-     , language-javascript, optparse-applicative, text
+    ({ mkDerivation, base, bytestring, directory, extra, filepath
+     , language-javascript, optparse-applicative, process, text, unix
      }:
      mkDerivation {
        pname = "hjsmin";
-       version = "0.2.0.2";
-       sha256 = "112lj2jgbcfdnr0hxc2cfxpxzxy9qyid04pbk0wwcqk977957hdy";
+       version = "0.2.0.4";
+       sha256 = "1r2p5rjdjr25j3w4s57q5hxw2c3ymw12x7ms18yvglnq2ivr9fc1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-builder bytestring containers language-javascript text
+         base bytestring language-javascript text
        ];
        executableHaskellDepends = [
-         base blaze-builder bytestring containers language-javascript
-         optparse-applicative text
+         base bytestring language-javascript optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base directory extra filepath process unix
        ];
        description = "Haskell implementation of a javascript minifier";
        license = stdenv.lib.licenses.bsd3;
@@ -117839,8 +120447,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjugement-cli";
-       version = "0.0.0.20190815";
-       sha256 = "1ard95f5zs5bkj24qk3wwkgcz99xkwjqs35gfrslf3yd14davy2w";
+       version = "0.0.0.20191104";
+       sha256 = "17bz2cb9i7iv1s1s5g17797x07h80p3h682zkq9i4s5cbqjga44g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -117865,8 +120473,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjugement-protocol";
-       version = "0.0.7.20190815";
-       sha256 = "0b356pi6s3ih47d42ns50irgwsblwd9hvasav6sswzww3qlrnbrz";
+       version = "0.0.10.20191104";
+       sha256 = "1zra21x92bvgnqj4if2lhhzbf4kwj9xn1lp8glzngvby0914na7x";
        libraryHaskellDepends = [
          aeson base base64-bytestring binary bytestring containers
          cryptonite deepseq memory random reflection text transformers
@@ -117877,12 +120485,25 @@ self: {
          tasty-quickcheck text transformers
        ];
        benchmarkHaskellDepends = [
-         base containers criterion QuickCheck random text transformers
+         aeson base containers criterion deepseq QuickCheck random text
+         transformers
        ];
        description = "A cryptographic protocol for the Majority Judgment";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "hkd" = callPackage
+    ({ mkDerivation, base, some }:
+     mkDerivation {
+       pname = "hkd";
+       version = "0.1";
+       sha256 = "1xz0i8lkh0rp55b0s7npkzqgyz9pf1bwq9b66cwbg073r9sz41wa";
+       libraryHaskellDepends = [ base some ];
+       testHaskellDepends = [ base some ];
+       description = "\"higher-kinded data\"";
+       license = "(BSD-2-Clause OR Apache-2.0)";
+     }) {};
+
   "hkd-delta" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -117923,8 +120544,8 @@ self: {
      }:
      mkDerivation {
        pname = "hkgr";
-       version = "0.2.2";
-       sha256 = "1wz2yy3fiwy4601p0ir24dvv7yzfrqf99z07m8whc6gr2ypsnfjc";
+       version = "0.2.4";
+       sha256 = "09mvprpywxxfx2x0fm895k27qhsrhk8n00a5lgc4vglrvr0hyfdq";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -118037,55 +120658,44 @@ self: {
 
   "hledger" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat-batteries
-     , bytestring, cmdargs, containers, criterion, data-default, Decimal
-     , Diff, directory, easytest, extra, filepath, hashable, haskeline
-     , hledger-lib, html, lucid, math-functions, megaparsec, mtl
-     , mtl-compat, old-time, parsec, pretty-show, process, regex-tdfa
-     , safe, shakespeare, split, tabular, temporary, terminfo
-     , test-framework, test-framework-hunit, text, time, timeit
+     , bytestring, cmdargs, containers, data-default, Decimal, Diff
+     , directory, extra, filepath, hashable, haskeline, hledger-lib
+     , lucid, math-functions, megaparsec, mtl, old-time, parsec
+     , pretty-show, process, regex-tdfa, safe, shakespeare, split
+     , tabular, tasty, temporary, terminfo, text, time, timeit
      , transformers, unordered-containers, utf8-string, utility-ht
      , wizards
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.15.2";
-       sha256 = "16mpj58519p4ksd0iwwkd63xxcr21k99h015l4kgi6zd934v2qix";
+       version = "1.16.1";
+       sha256 = "1dw04sjgji6iprs0hqxr0nynkg5qsqh20l0d48vqjkgaral4sxma";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal Diff directory easytest extra
-         filepath hashable haskeline hledger-lib lucid math-functions
-         megaparsec mtl mtl-compat old-time parsec pretty-show process
-         regex-tdfa safe shakespeare split tabular temporary terminfo text
-         time timeit transformers unordered-containers utf8-string
-         utility-ht wizards
+         containers data-default Decimal Diff directory extra filepath
+         hashable haskeline hledger-lib lucid math-functions megaparsec mtl
+         old-time parsec pretty-show process regex-tdfa safe shakespeare
+         split tabular tasty temporary terminfo text time timeit
+         transformers unordered-containers utf8-string utility-ht wizards
        ];
        executableHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
        testHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo test-framework
-         test-framework-hunit text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
-       benchmarkHaskellDepends = [
-         ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers criterion data-default Decimal directory easytest extra
-         filepath haskeline hledger-lib html math-functions megaparsec mtl
-         mtl-compat old-time parsec pretty-show process regex-tdfa safe
-         shakespeare split tabular temporary terminfo text time timeit
-         transformers unordered-containers utf8-string utility-ht wizards
-       ];
        description = "Command-line interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
@@ -118156,8 +120766,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-flow";
-       version = "0.12.3.1";
-       sha256 = "1a7idnrqjn7pcvskm1yd9ynlvsza9ql3qfd8d8ycb6z8gpc30fq0";
+       version = "0.12.4.0";
+       sha256 = "1j5hhh06xrdzdpzvvk8gg2mzhsmyk9xvxbpvjy0sg3mmpa27vr6f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118186,8 +120796,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.9";
        sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq";
-       revision = "1";
-       editedCabalFile = "18qjkl79gwmdgk6vl8cg3m94wm0qw30kxn4lvlnj9n6gnv2p0b3k";
+       revision = "3";
+       editedCabalFile = "1c06v50lhhzsa4872j9khqvga7pvfrvns8sp3srn9vfwxbiw5x7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118230,17 +120840,18 @@ self: {
      }) {};
 
   "hledger-irr" = callPackage
-    ({ mkDerivation, base, Cabal, Decimal, hledger-lib, statistics
-     , text, time
+    ({ mkDerivation, base, Cabal, data-default-class, Decimal
+     , hledger-lib, math-functions, text, time
      }:
      mkDerivation {
        pname = "hledger-irr";
-       version = "0.1.1.15";
-       sha256 = "06fbahn3pp73an5xxn0qnh8h7hkjvvl5z4z52vgcpxh13frd65hx";
+       version = "0.1.1.16";
+       sha256 = "1zvr4yrl0s1hiz0k76dmkkx89656jlamdmdi7y2cmsw1m5cf97v4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base Cabal Decimal hledger-lib statistics text time
+         base Cabal data-default-class Decimal hledger-lib math-functions
+         text time
        ];
        description = "computes the internal rate of return of an investment";
        license = stdenv.lib.licenses.bsd3;
@@ -118252,33 +120863,33 @@ self: {
     ({ mkDerivation, ansi-terminal, array, base, base-compat-batteries
      , blaze-markup, bytestring, call-stack, cassava, cassava-megaparsec
      , cmdargs, containers, data-default, Decimal, deepseq, directory
-     , doctest, easytest, extra, fgl, file-embed, filepath, Glob
-     , hashtables, megaparsec, mtl, mtl-compat, old-time, parsec
-     , parser-combinators, pretty-show, regex-tdfa, safe, split, tabular
+     , extra, fgl, file-embed, filepath, Glob, hashtables, megaparsec
+     , mtl, old-time, parsec, parser-combinators, pretty-show
+     , regex-tdfa, safe, split, tabular, tasty, tasty-hunit
      , template-haskell, text, time, timeit, transformers, uglymemo
      , utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.15.2";
-       sha256 = "0q6ppizyadilxma3l8bwlswa6syyzkdri0yq0bqfmdzxvh9s3bcm";
+       version = "1.16.1";
+       sha256 = "14rwigcmal1dy286qnw93nnn4rl42hgcnz882wmjmhpyjrs4l5ig";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        testHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory doctest easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        description = "Core data types, parsers and functionality for the hledger accounting tools";
        license = stdenv.lib.licenses.gpl3;
@@ -118314,8 +120925,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.15";
-       sha256 = "047ssmix7pxq61hknd40z983aw8110zxzh6z2ick8xkhdsnw3s1q";
+       version = "1.16.1";
+       sha256 = "0cn1pwr87lvi65m619v845vj17v27hp3h6fcgy1cpb4gjsdvq861";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -118325,7 +120936,7 @@ self: {
          process safe split text text-zipper time transformers unix vector
          vty
        ];
-       description = "Curses-style user interface for the hledger accounting tool";
+       description = "Terminal user interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
@@ -118353,24 +120964,25 @@ self: {
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , case-insensitive, clientsession, cmdargs, conduit, conduit-extra
      , containers, data-default, Decimal, directory, filepath, hjsmin
-     , hledger, hledger-lib, http-client, http-conduit, http-types, json
+     , hledger, hledger-lib, http-client, http-conduit, http-types
      , megaparsec, mtl, semigroups, shakespeare, template-haskell, text
-     , time, transformers, wai, wai-extra, wai-handler-launch, warp
-     , yaml, yesod, yesod-core, yesod-form, yesod-static
+     , time, transformers, utf8-string, wai, wai-cors, wai-extra
+     , wai-handler-launch, warp, yaml, yesod, yesod-core, yesod-form
+     , yesod-static
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.15";
-       sha256 = "1m54m8v1fzlazrh9hhv4ff7jrg95d03i8wx360l1y731gry54zw3";
+       version = "1.16.1";
+       sha256 = "1mn3mk4v6akbzl2hc8k89q4njffxpj832h5pywy9rj2mc7fbw5s5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring case-insensitive
          clientsession cmdargs conduit conduit-extra containers data-default
          Decimal directory filepath hjsmin hledger hledger-lib http-client
-         http-conduit http-types json megaparsec mtl semigroups shakespeare
-         template-haskell text time transformers wai wai-extra
-         wai-handler-launch warp yaml yesod yesod-core yesod-form
+         http-conduit http-types megaparsec mtl semigroups shakespeare
+         template-haskell text time transformers utf8-string wai wai-cors
+         wai-extra wai-handler-launch warp yaml yesod yesod-core yesod-form
          yesod-static
        ];
        executableHaskellDepends = [ base ];
@@ -118443,7 +121055,7 @@ self: {
        pname = "hlibsass";
        version = "0.1.8.0";
        sha256 = "1ssgvr0jvl79k1vckp5nq2zw6mx8l4xasydymzjwmhg0fl99mpi6";
-       configureFlags = [ "-fexternalLibsass" ];
+       configureFlags = [ "-fexternallibsass" ];
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ libsass ];
@@ -118455,22 +121067,22 @@ self: {
   "hlint" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
      , containers, cpphs, data-default, directory, extra, filepath
-     , ghc-lib-parser, haskell-src-exts, haskell-src-exts-util, hscolour
-     , process, refact, text, transformers, uniplate
-     , unordered-containers, vector, yaml
+     , filepattern, ghc-lib-parser, haskell-src-exts
+     , haskell-src-exts-util, hscolour, mtl, process, refact, syb, text
+     , transformers, uniplate, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.2.2";
-       sha256 = "1v10xcz4vdzk1a3gjlvqbdckldax2643sg7s3xkm3dnlj5hg05yp";
+       version = "2.2.5";
+       sha256 = "1ygyk1rg07j5x1qa6af3a76ps1cqicz4cv9i986kcfpzhzlf7iqd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring cmdargs containers cpphs
-         data-default directory extra filepath ghc-lib-parser
-         haskell-src-exts haskell-src-exts-util hscolour process refact text
-         transformers uniplate unordered-containers vector yaml
+         data-default directory extra filepath filepattern ghc-lib-parser
+         haskell-src-exts haskell-src-exts-util hscolour mtl process refact
+         syb text transformers uniplate unordered-containers vector yaml
        ];
        executableHaskellDepends = [ base ];
        description = "Source code suggestions";
@@ -118563,6 +121175,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
@@ -118577,8 +121191,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.4.0";
-       sha256 = "1sn23347mm9r4j45ba2jz4vw7swh6jgn5fds9xnwgr8rch9b0ljc";
+       version = "0.1.5.0";
+       sha256 = "0aznzrwv021nppb5cxbpnr7hiajny4s40diz6kcmddsbml56xmk9";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -119210,6 +121824,26 @@ self: {
        broken = true;
      }) {inherit (pkgs) ncurses;};
 
+  "hmp3-ng" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, clock, containers
+     , directory, hscurses, monad-extras, mtl, ncurses, pcre-light
+     , process, random, unix, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "hmp3-ng";
+       version = "2.9.3";
+       sha256 = "0h1lg4faffqf86wk2hi68x3f0y2r2nypqcvb879wal24whh31v7v";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         array base binary bytestring clock containers directory hscurses
+         monad-extras mtl pcre-light process random unix utf8-string zlib
+       ];
+       executableSystemDepends = [ ncurses ];
+       description = "A 2019 fork of an ncurses mp3 player written in Haskell";
+       license = "GPL";
+     }) {inherit (pkgs) ncurses;};
+
   "hmpfr" = callPackage
     ({ mkDerivation, base, integer-gmp, mpfr }:
      mkDerivation {
@@ -119445,6 +122079,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hnock" = callPackage
+    ({ mkDerivation, base, parsec, text }:
+     mkDerivation {
+       pname = "hnock";
+       version = "0.4.0";
+       sha256 = "1d3w6lmvsanzwjs3r424fhalv19ia6k4w6m37jaqkq60lmzkfp5d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec text ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [ base ];
+       description = "A Nock interpreter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hnop" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -119556,6 +122205,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hoauth2_1_9_1" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, exceptions
+     , http-conduit, http-types, microlens, text, unordered-containers
+     , uri-bytestring, uri-bytestring-aeson
+     }:
+     mkDerivation {
+       pname = "hoauth2";
+       version = "1.9.1";
+       sha256 = "1pm8124x5zdy5zj6qriv16im067dyz9vx5z2ga8c3x6rx06bs15m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base binary bytestring exceptions http-conduit http-types
+         microlens text unordered-containers uri-bytestring
+         uri-bytestring-aeson
+       ];
+       description = "Haskell OAuth2 authentication client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hob" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , glib, gtk-largeTreeStore, gtk3, gtksourceview3, hspec, mtl, pango
@@ -120029,6 +122699,19 @@ self: {
        broken = true;
      }) {};
 
+  "homotuple" = callPackage
+    ({ mkDerivation, base, OneTuple, Only, single-tuple }:
+     mkDerivation {
+       pname = "homotuple";
+       version = "0.1.0.0";
+       sha256 = "0m72srmxqp8834ir08b5n9jk20yimmn5vwqyhpdxiyq4akbmb1w1";
+       revision = "2";
+       editedCabalFile = "0kn941gr9j6li1lnynx3fd652kvcbm1j4y8jd9qd6ynrcqd2hpia";
+       libraryHaskellDepends = [ base OneTuple Only single-tuple ];
+       description = "Homotuple, all whose elements are the same type";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "homplexity" = callPackage
     ({ mkDerivation, base, containers, cpphs, deepseq, directory
      , filepath, happy, haskell-src-exts, hflags, pqueue
@@ -120401,8 +123084,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.11";
-       sha256 = "1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1";
+       version = "5.0.17.13";
+       sha256 = "1lbn4ji8l20pvyn5r2cdys0cnxhhac1559q54c6kb4vz4fr0a82p";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -120523,8 +123206,8 @@ self: {
      }:
      mkDerivation {
        pname = "hopencc";
-       version = "0.1.0.0";
-       sha256 = "1ygldh3r09qzpws28mnmhm3ai7h162gsafdc7nwl2f10kjnpjhyw";
+       version = "0.2.0.0";
+       sha256 = "0bzx6l7j9qjc1dvcaicgayb05n4klb4dg64m1xlfi187jxcnz7jb";
        libraryHaskellDepends = [ base bytestring utf8-string ];
        libraryPkgconfigDepends = [ opencc ];
        libraryToolDepends = [ c2hs ];
@@ -120590,6 +123273,40 @@ self: {
        broken = true;
      }) {};
 
+  "hopenpgp-tools_0_23" = 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.23";
+       sha256 = "1sgqx8b1sq89hpjzbdmkjsmrfagh5v0jfxyqphzkh1bq2zydj0jl";
+       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 {
@@ -120680,8 +123397,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.5.0";
-       sha256 = "08i15jbn7k21qfmmi1f8151bakqivbk440gi44jjnndhkdj8lwwa";
+       version = "0.7.0";
+       sha256 = "1kj72jn0sfvf68lf9n2v7v2qqw1g3kjyr6s6zlyvs6p2k3fw4ync";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -120692,15 +123409,16 @@ self: {
      }) {};
 
   "hoppy-generator" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, haskell-src
-     , mtl
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskell-src, mtl, process, temporary, text
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.5.2";
-       sha256 = "0ifk7ja1nynbgcf7q8v2dl4sn5ivif9rbd2d7pjp9lx43di9axfc";
+       version = "0.7.0";
+       sha256 = "0v21a3nwk94ggrk8fyjmlb93rnrsh7s3xbqnk1p236h0gycsh1q3";
        libraryHaskellDepends = [
-         base containers directory filepath haskell-src mtl
+         base bytestring containers directory filepath haskell-src mtl
+         process temporary text
        ];
        description = "C++ FFI generator - Code generator";
        license = stdenv.lib.licenses.agpl3;
@@ -120712,8 +123430,8 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.5.1";
-       sha256 = "0gh6kjfy9wcdppbq9ml5i2iz7bi12pbvnzqhj25sg9dy77iwc7cp";
+       version = "0.7.0";
+       sha256 = "0rkyili7kbxj22rvs4056vhcgwpjzgigmwcrj6iph5pfzxnnl40q";
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
@@ -120727,8 +123445,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.5.0";
-       sha256 = "1x4a4z434nhkgd5nndwrj3y9zm3pf4mln1mccsclf8kkyaj4hyqd";
+       version = "0.7.0";
+       sha256 = "0yr73dalwljp23ls9za07cnabs65aypgbrjjv76zhxbsqqcc82a3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
@@ -121190,7 +123908,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hpack_0_32_0" = callPackage
+  "hpack_0_33_0" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
      , hspec-discover, http-client, http-client-tls, http-types, HUnit
@@ -121200,8 +123918,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.32.0";
-       sha256 = "11qfqyhcwihmx1z9pg5fhza1ww8wapr04wzyx8sknwpxs3hacm4z";
+       version = "0.33.0";
+       sha256 = "1w49rjcviy4vyj1b45ifpva4bgwc0xd305si148rkxa65378ranj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121677,24 +124395,24 @@ self: {
      , monad-control, mtl, postgresql, QuickCheck, random, resource-pool
      , scientific, semigroups, test-framework, test-framework-hunit
      , text, text-show, time, transformers, transformers-base
-     , unordered-containers, vector
+     , unordered-containers, uuid-types, vector
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.7.0.0";
-       sha256 = "0vk6yj7rw3cqdvyfmpjis10av1apj79v0b8d9hagc8v8zzfp0wki";
+       version = "1.8.0.0";
+       sha256 = "07n4w2ylmx1swdqvd1hbrh2bch6qx54vxdzw0px6n0b01nadn2gr";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          aeson async base bytestring containers exceptions lifted-base
          monad-control mtl resource-pool semigroups text text-show time
-         transformers transformers-base vector
+         transformers transformers-base uuid-types vector
        ];
        librarySystemDepends = [ postgresql ];
        testHaskellDepends = [
          aeson base bytestring exceptions HUnit lifted-base monad-control
          mtl QuickCheck random scientific test-framework
          test-framework-hunit text text-show time transformers-base
-         unordered-containers vector
+         unordered-containers uuid-types vector
        ];
        description = "Haskell bindings to libpqtypes";
        license = stdenv.lib.licenses.bsd3;
@@ -121706,12 +124424,12 @@ self: {
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
      , cryptohash, exceptions, fields-json, hpqtypes, lifted-base
      , log-base, monad-control, mtl, safe, semigroups, tasty
-     , tasty-hunit, text, text-show, transformers
+     , tasty-hunit, text, text-show, transformers, uuid-types
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.9.0.1";
-       sha256 = "04qlcs5vdzyxfdmamz65lhw1bjbm8rl9h5qf4xback6lcxr2h5q7";
+       version = "1.10.0.0";
+       sha256 = "0gh8gg3hl64i851q3zaigg8i5axrgxw169m1xzzgximhzhzbl7m8";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          fields-json hpqtypes lifted-base log-base monad-control mtl safe
@@ -121719,7 +124437,7 @@ self: {
        ];
        testHaskellDepends = [
          base exceptions hpqtypes lifted-base log-base monad-control tasty
-         tasty-hunit text transformers
+         tasty-hunit text transformers uuid-types
        ];
        description = "Extra utilities for hpqtypes library";
        license = stdenv.lib.licenses.bsd3;
@@ -121734,8 +124452,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprotoc";
-       version = "2.4.12";
-       sha256 = "0xj000ikh3y8dg5sbrl7ycb471qgra4khmk4kq079biasjvhf58a";
+       version = "2.4.13";
+       sha256 = "0z88kiirwpnzw6hxg99kg42j2hkf002vcsmbcm7nqdfqajrggiy0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121789,19 +124507,20 @@ self: {
   "hprox" = callPackage
     ({ mkDerivation, async, base, base64-bytestring, binary, bytestring
      , case-insensitive, conduit, conduit-extra, http-client
-     , http-reverse-proxy, http-types, optparse-applicative, tls, unix
-     , wai, wai-extra, warp, warp-tls
+     , http-client-tls, http-reverse-proxy, http-types
+     , optparse-applicative, tls, unix, wai, wai-extra, warp, warp-tls
      }:
      mkDerivation {
        pname = "hprox";
-       version = "0.1.0.2";
-       sha256 = "0ajyv9zmi6nr8add7admfxavd691g3rvyy8ll6gra6hhpn0lwp0m";
+       version = "0.1.1";
+       sha256 = "0r8sbi4g49r95pxmm81q291nlixj4wi4m6qrq5wkjp8yrrm2s9gb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          async base base64-bytestring binary bytestring case-insensitive
-         conduit conduit-extra http-client http-reverse-proxy http-types
-         optparse-applicative tls unix wai wai-extra warp warp-tls
+         conduit conduit-extra http-client http-client-tls
+         http-reverse-proxy http-types optparse-applicative tls unix wai
+         wai-extra warp warp-tls
        ];
        description = "a lightweight HTTP proxy server, and more";
        license = stdenv.lib.licenses.asl20;
@@ -122056,6 +124775,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 {
@@ -122155,6 +124952,18 @@ self: {
        license = "GPL";
      }) {};
 
+  "hs-bibutils_6_8_0_0" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "hs-bibutils";
+       version = "6.8.0.0";
+       sha256 = "0syhh413qmajv56gaqz7p3b2yb6f0x9cx8zgds6fa3yzcqw7zasc";
+       libraryHaskellDepends = [ base syb ];
+       description = "Haskell bindings to bibutils, the bibliography conversion utilities";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hs-blake2" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-arbitrary, criterion
      , cryptohash, libb2, QuickCheck, tasty, tasty-quickcheck
@@ -122810,6 +125619,22 @@ self: {
        broken = true;
      }) {};
 
+  "hs-speedscope" = callPackage
+    ({ mkDerivation, aeson, base, extra, ghc-events, text, vector }:
+     mkDerivation {
+       pname = "hs-speedscope";
+       version = "0.1.1.0";
+       sha256 = "0dldhndlags3ig991yvddfaw472cjwfy9dz3i12hq5ny6s9qz8qa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base extra ghc-events text vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Convert an eventlog into the speedscope json format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hs-twitter" = callPackage
     ({ mkDerivation, base, HTTP, json, mime, network, old-locale
      , old-time, random, utf8-string
@@ -122924,20 +125749,19 @@ self: {
      }) {};
 
   "hs2ats" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, casing, composition-prelude
-     , cpphs, criterion, deepseq, haskell-src-exts, hspec
-     , hspec-dirstream, language-ats, microlens, optparse-generic
-     , system-filepath
+    ({ mkDerivation, ansi-wl-pprint, base, casing, cpphs, criterion
+     , deepseq, haskell-src-exts, hspec, hspec-dirstream, language-ats
+     , microlens, optparse-generic, system-filepath
      }:
      mkDerivation {
        pname = "hs2ats";
-       version = "0.5.0.0";
-       sha256 = "0ga90mkz11iis5knd51dqpqd4qyj6fwl15nbdbwzlynpk0wsdsga";
+       version = "0.5.0.1";
+       sha256 = "01xjk00rijrhixpmpl3x6m3vsvm1zyizrp3iigz13w80ivj1hpdk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base casing composition-prelude cpphs deepseq
-         haskell-src-exts language-ats microlens
+         ansi-wl-pprint base casing cpphs deepseq haskell-src-exts
+         language-ats microlens
        ];
        executableHaskellDepends = [ base optparse-generic ];
        testHaskellDepends = [
@@ -123991,7 +126815,7 @@ self: {
        broken = true;
      }) {};
 
-  "hsdev_0_3_3_4" = callPackage
+  "hsdev_0_3_3_6" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, attoparsec
      , base, bytestring, Cabal, containers, cpphs, data-default, deepseq
      , direct-sqlite, directory, exceptions, filepath, fsnotify, ghc
@@ -124005,8 +126829,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.3.3.4";
-       sha256 = "1hj2krdq4ybs1vcy9gw6p56sznzi7wrhkaaya4560kjyijvvfdml";
+       version = "0.3.3.6";
+       sha256 = "0j2qi1gw7rpb23bkj4557kg2d47b8kgrd8vr2qnld90h9p8jnzqm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124441,16 +127265,19 @@ self: {
      }) {};
 
   "hsinspect" = callPackage
-    ({ mkDerivation, base, directory, ghc, ghc-boot, ghc-paths, time }:
+    ({ mkDerivation, base, containers, directory, ghc, ghc-boot, time
+     }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.3";
-       sha256 = "11jn8knnh859wvzfqljkhlsaqsrm20m4ryf3ncg7rhs6jcm3vknr";
+       version = "0.0.10";
+       sha256 = "0ydb0dqy3javffb8a4gfn840wlh2l3ixxxzj7sc53bqanadlg1in";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base directory ghc ghc-boot time ];
+       libraryHaskellDepends = [
+         base containers directory ghc ghc-boot time
+       ];
        executableHaskellDepends = [
-         base directory ghc ghc-boot ghc-paths time
+         base containers directory ghc ghc-boot time
        ];
        description = "Inspect Haskell source files";
        license = stdenv.lib.licenses.gpl3Plus;
@@ -124554,18 +127381,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hslogger_1_3_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, network
-     , network-bsd, old-locale, time, unix
+  "hslogger_1_3_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
+     , network, network-bsd, old-locale, time, unix
      }:
      mkDerivation {
        pname = "hslogger";
-       version = "1.3.0.0";
-       sha256 = "1gnnqyd5hr59agqjcbim3kys5zarwsj7b1kfdbhy5qmjjwnpyzs8";
-       revision = "1";
-       editedCabalFile = "0hvlixqc7vr66qq96flnh3l2p7a6pfmzxf9sn8f243yvsq867yah";
+       version = "1.3.1.0";
+       sha256 = "0nyar9xcblx5jwks85y8f4jfy9k1h4ss6rvj4mdbiidrq3v688vz";
        libraryHaskellDepends = [
-         base bytestring containers network network-bsd old-locale time unix
+         base bytestring containers deepseq network network-bsd old-locale
+         time unix
        ];
        testHaskellDepends = [ base HUnit ];
        description = "Versatile logging framework";
@@ -125106,6 +127932,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 {
@@ -125142,6 +127979,8 @@ self: {
        pname = "hspec-core";
        version = "2.7.1";
        sha256 = "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c";
+       revision = "1";
+       editedCabalFile = "0aw68sgz2p63y0vg07c1jx2pr8lmhp5c1ck60dlipyxsa00455i6";
        libraryHaskellDepends = [
          ansi-terminal array base call-stack clock deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -125276,8 +128115,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-expectations-pretty-diff";
-       version = "0.7.2.4";
-       sha256 = "02hvnlhvlhg4yv6pbr1f0ig01qs83z85cmcl4w5wpqqb6cjdbgqv";
+       version = "0.7.2.5";
+       sha256 = "0432mca3k7rpdyykw9cz402zax6h42d1vsgbi0dsy1qwhlg2aycl";
        libraryHaskellDepends = [
          ansi-terminal base Diff hscolour HUnit nicify-lib text
        ];
@@ -125422,6 +128261,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-megaparsec_2_1_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-expectations
+     , megaparsec
+     }:
+     mkDerivation {
+       pname = "hspec-megaparsec";
+       version = "2.1.0";
+       sha256 = "1x8qbih5ci9flc3b5c1g4cc8xgq504bw5q26cpkcnlaanrp01p5x";
+       libraryHaskellDepends = [
+         base containers hspec-expectations megaparsec
+       ];
+       testHaskellDepends = [ base hspec hspec-expectations megaparsec ];
+       description = "Utility functions for testing Megaparsec parsers with Hspec";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-meta" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
      , deepseq, directory, filepath, hspec-expectations, HUnit
@@ -126636,8 +129492,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.5";
-       sha256 = "0cw66j3firzgg5c7689y0kffgfq36yn4y17yprbbgv6kw4g7wid4";
+       version = "0.14.1.6";
+       sha256 = "09qynnmy5pq7yl8zic91wysrvjb1a1ibcjc9ry458wgbz236br4n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126948,8 +129804,8 @@ self: {
      }:
      mkDerivation {
        pname = "html-conduit";
-       version = "1.3.2";
-       sha256 = "0l5hc7bf57p5jiqh3wvnqapc27ibnlv00zm6szc0nqbvknzvvz85";
+       version = "1.3.2.1";
+       sha256 = "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n";
        libraryHaskellDepends = [
          attoparsec base bytestring conduit conduit-extra containers
          resourcet text transformers xml-conduit xml-types
@@ -127248,8 +130104,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
@@ -127385,27 +130241,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";
@@ -127560,8 +130412,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-overrides";
-       version = "0.1.0.0";
-       sha256 = "1s6qblbw4z9afzdy43hk8rfhgxj3k60x03p3y0dmp1l2i712x89g";
+       version = "0.1.1.0";
+       sha256 = "15asl6xksr7qmjbm64my3h1x3sx7558vdidx7zlkl8lf1k0w0kcl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127729,10 +130581,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit";
-       version = "2.3.7.1";
-       sha256 = "1xnjbwvil1an5crffcwapdqyinbvvss25rcdra05isqixcs26h39";
-       revision = "1";
-       editedCabalFile = "0mmlaxnpxpgm4kzxid3xlwwqd53djx8n9a07nhvk5awyql1h9yj5";
+       version = "2.3.7.3";
+       sha256 = "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra http-client
          http-client-tls http-types mtl resourcet transformers unliftio-core
@@ -127879,6 +130729,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-download_0_1_0_1" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , conduit-extra, cryptonite, cryptonite-conduit, directory
+     , exceptions, filepath, hspec, hspec-discover, http-client
+     , http-conduit, http-types, memory, path, path-io, retry, rio
+     , rio-prettyprint
+     }:
+     mkDerivation {
+       pname = "http-download";
+       version = "0.1.0.1";
+       sha256 = "1f1haybqflprm3gwnxsyi6pyz7k4b5qyiq4wqq81wb7nsrr4h943";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring conduit conduit-extra cryptonite
+         cryptonite-conduit directory exceptions filepath http-client
+         http-conduit http-types memory path path-io retry rio
+         rio-prettyprint
+       ];
+       testHaskellDepends = [
+         base cryptonite hspec hspec-discover http-client path path-io retry
+         rio rio-prettyprint
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Verified downloads with retries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-encodings" = callPackage
     ({ mkDerivation, base, bytestring, HTTP, iconv, mime, mtl, parsec
      , text, utf8-string, zlib
@@ -127937,23 +130814,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.2.0";
+       sha256 = "1xn3lbpxsbl79qgaq9qmhlr78g44h0qpx0jyyb3z8q28z5p39wcy";
        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
@@ -128061,6 +130939,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-mock" = callPackage
+    ({ mkDerivation, async, base, directory, filepath, http-client
+     , network, random, wai, warp
+     }:
+     mkDerivation {
+       pname = "http-mock";
+       version = "0.1.0.0";
+       sha256 = "1zba8dyn6ww6qy7l1qxq5vh53l9jx5w7xb258lj0bwwqc32bks2y";
+       libraryHaskellDepends = [
+         async base directory filepath http-client network random wai warp
+       ];
+       testHaskellDepends = [ base ];
+       description = "HTTP mocking and expectations library for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "http-monad" = callPackage
     ({ mkDerivation, base, bytestring, containers, explicit-exception
      , HTTP, lazyio, network, network-uri, parsec, semigroups
@@ -128386,37 +131280,6 @@ self: {
   "http2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base16-bytestring, bytestring, case-insensitive, containers
-     , criterion, directory, doctest, filepath, Glob, heaps, hspec
-     , mwc-random, network-byte-order, psqueues, stm, text
-     , unordered-containers, vector, word8
-     }:
-     mkDerivation {
-       pname = "http2";
-       version = "1.6.5";
-       sha256 = "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring case-insensitive containers
-         network-byte-order psqueues stm
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty array base base16-bytestring bytestring
-         case-insensitive containers directory doctest filepath Glob hspec
-         network-byte-order psqueues stm text unordered-containers vector
-         word8
-       ];
-       benchmarkHaskellDepends = [
-         array base bytestring case-insensitive containers criterion heaps
-         mwc-random network-byte-order psqueues stm
-       ];
-       description = "HTTP/2 library including frames, priority queues and HPACK";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "http2_2_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, array, base
-     , base16-bytestring, bytestring, case-insensitive, containers
      , directory, doctest, filepath, gauge, Glob, heaps, hspec
      , http-types, mwc-random, network, network-byte-order, psqueues
      , stm, text, time-manager, unordered-containers, vector
@@ -128443,7 +131306,6 @@ self: {
        ];
        description = "HTTP/2 library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http2-client" = callPackage
@@ -128487,17 +131349,17 @@ self: {
 
   "http2-client-grpc" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, case-insensitive
-     , data-default-class, http2, http2-client, http2-grpc-types, lens
-     , lifted-async, lifted-base, proto-lens, text, tls
+     , data-default-class, http2, http2-client, http2-grpc-types
+     , lifted-async, lifted-base, text, tls
      }:
      mkDerivation {
        pname = "http2-client-grpc";
-       version = "0.7.0.0";
-       sha256 = "1iy825wrn2ai2qpbkq4p9k2amc5rarr57b9sa2vm8vqdrclcvzn1";
+       version = "0.8.0.0";
+       sha256 = "1dprkdcylyvmvnhn94wzkxzgm6rx3bs4iv82xyg9y317d348pn12";
        libraryHaskellDepends = [
          async base binary bytestring case-insensitive data-default-class
-         http2 http2-client http2-grpc-types lens lifted-async lifted-base
-         proto-lens text tls
+         http2 http2-client http2-grpc-types lifted-async lifted-base text
+         tls
        ];
        testHaskellDepends = [ base ];
        description = "Implement gRPC-over-HTTP2 clients";
@@ -128506,16 +131368,49 @@ self: {
        broken = true;
      }) {};
 
-  "http2-grpc-types" = callPackage
+  "http2-grpc-proto-lens" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
-     , proto-lens, zlib
+     , http2-grpc-types, proto-lens, zlib
+     }:
+     mkDerivation {
+       pname = "http2-grpc-proto-lens";
+       version = "0.1.0.0";
+       sha256 = "0nhygkv1z7qrhnrgms3kzzay5h5qqrdi4081v896prwjl2xd2p4f";
+       libraryHaskellDepends = [
+         base binary bytestring case-insensitive http2-grpc-types proto-lens
+         zlib
+       ];
+       description = "Encoders based on `proto-lens` for gRPC over HTTP2";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http2-grpc-proto3-wire" = callPackage
+    ({ mkDerivation, base, binary, bytestring, case-insensitive
+     , http2-grpc-types, proto3-wire, zlib
+     }:
+     mkDerivation {
+       pname = "http2-grpc-proto3-wire";
+       version = "0.1.0.0";
+       sha256 = "00k7sm7z0q8k1zr3lcsyaciylk03c18cpdciqq33rfj6p7jwyphv";
+       libraryHaskellDepends = [
+         base binary bytestring case-insensitive http2-grpc-types
+         proto3-wire zlib
+       ];
+       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
+    ({ mkDerivation, base, binary, bytestring, case-insensitive, zlib
      }:
      mkDerivation {
        pname = "http2-grpc-types";
-       version = "0.4.0.0";
-       sha256 = "1h15smbncifn0c9n0dmwzpwr0fnb3jby9zch71rmsnsirclycsb5";
+       version = "0.5.0.0";
+       sha256 = "0p479rj60lpd9vc4hb0jybjb0f8gw42dpfc7h2nxapcihafr4knb";
        libraryHaskellDepends = [
-         base binary bytestring case-insensitive proto-lens zlib
+         base binary bytestring case-insensitive zlib
        ];
        description = "Types for gRPC over HTTP2 common for client and servers";
        license = stdenv.lib.licenses.bsd3;
@@ -129287,14 +132182,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hvega_0_4_1_0" = callPackage
+  "hvega_0_4_1_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , filepath, tasty, tasty-golden, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hvega";
-       version = "0.4.1.0";
-       sha256 = "1qjswpgn1ass1x4bk5zjv6vvw7vvsbzh00qc6jjfq3bnljrl4i75";
+       version = "0.4.1.2";
+       sha256 = "0vf7hwhq8s8w3zjgag80gm54bxk5bm9q0mmriqy1790vrxb51276";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129324,14 +132219,43 @@ self: {
     ({ mkDerivation, aeson, base, hedgehog, hspec, text }:
      mkDerivation {
        pname = "hw-aeson";
-       version = "0.1.0.1";
-       sha256 = "0ymjsadvwmbxc1lk913z31vcr50i88dx29i3g0x8zvm6vj6m96g0";
+       version = "0.1.0.2";
+       sha256 = "11i0w0w5mi9k94p14c4pi1lsgwbr2cnnyhl7fbmxc7lqwr2a7k3s";
        libraryHaskellDepends = [ aeson base text ];
        testHaskellDepends = [ aeson base hedgehog hspec ];
        description = "Convenience functions for Aeson";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-all" = callPackage
+    ({ mkDerivation, base, bits-extra, hw-aeson, hw-balancedparens
+     , hw-bits, hw-conduit, hw-diagnostics, hw-dsv, hw-dump
+     , hw-eliasfano, hw-excess, hw-fingertree, hw-fingertree-strict
+     , hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-ip, hw-json
+     , hw-json-lens, hw-json-simd, hw-json-simple-cursor
+     , hw-json-standard-cursor, hw-mquery, hw-packed-vector, hw-parser
+     , hw-prim, hw-rankselect, hw-rankselect-base, hw-simd, hw-streams
+     , hw-string-parse, hw-succinct, hw-uri, hw-xml
+     }:
+     mkDerivation {
+       pname = "hw-all";
+       version = "0.0.0.1";
+       sha256 = "09yp4aq5jd6jkabk9hqmvq7hjigabwa5s8wfjl6pswgpadvqpsmm";
+       libraryHaskellDepends = [
+         base bits-extra hw-aeson hw-balancedparens hw-bits hw-conduit
+         hw-diagnostics hw-dsv hw-dump hw-eliasfano hw-excess hw-fingertree
+         hw-fingertree-strict hw-hedgehog hw-hspec-hedgehog hw-int hw-ip
+         hw-json hw-json-lens hw-json-simd hw-json-simple-cursor
+         hw-json-standard-cursor hw-mquery hw-packed-vector hw-parser
+         hw-prim hw-rankselect hw-rankselect-base hw-simd hw-streams
+         hw-string-parse hw-succinct hw-uri hw-xml
+       ];
+       description = "Demo library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hspec, hspec-discover
      , hw-bits, hw-excess, hw-prim, hw-rankselect-base, QuickCheck
@@ -129357,27 +132281,25 @@ self: {
        broken = true;
      }) {};
 
-  "hw-balancedparens_0_3_0_0" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, hedgehog, hspec
-     , hspec-discover, hw-bits, hw-excess, hw-fingertree
-     , hw-hspec-hedgehog, hw-prim, hw-rankselect-base, transformers
-     , vector
+  "hw-balancedparens_0_3_0_3" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, doctest
+     , doctest-discover, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-excess, hw-fingertree, hw-hspec-hedgehog, hw-prim
+     , hw-rankselect-base, transformers, vector
      }:
      mkDerivation {
        pname = "hw-balancedparens";
-       version = "0.3.0.0";
-       sha256 = "1xb2pyhmcwl927v4hc7nfi31bf9lvlz9mnqdbb7mzpl6bdlg7xc7";
-       revision = "1";
-       editedCabalFile = "1a8zs7j05vxbamcc63fi1xf6vvz7bg1zf0a72930xh4y4bd2m0qk";
+       version = "0.3.0.3";
+       sha256 = "07jng6plapizb0kazqfd4x7y5yazhggwvagkwc273a92ynw57bsi";
        libraryHaskellDepends = [
          base deepseq hedgehog hspec hw-bits hw-excess hw-fingertree hw-prim
          hw-rankselect-base vector
        ];
        testHaskellDepends = [
-         base hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim
-         hw-rankselect-base transformers vector
+         base doctest doctest-discover hedgehog hspec hw-bits
+         hw-hspec-hedgehog hw-prim hw-rankselect-base transformers vector
        ];
-       testToolDepends = [ hspec-discover ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        benchmarkHaskellDepends = [
          base criterion hedgehog hw-bits hw-prim vector
        ];
@@ -129389,21 +132311,20 @@ self: {
      }) {};
 
   "hw-bits" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec
-     , hspec-discover, hw-hspec-hedgehog, hw-int, hw-prim
-     , hw-string-parse, QuickCheck, safe, vector
+    ({ mkDerivation, base, bitvec, 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.6";
-       sha256 = "0c3bfr4x52fvvp3yin54xbfxz7nq936v2ac89vcim1gscyw51hvm";
-       revision = "2";
-       editedCabalFile = "1lp2kbmdc5lq7xqi2ix7jccw1gmjxl1q01bflj8fzr2f713m9yrr";
+       version = "0.7.1.0";
+       sha256 = "0r4jinz2h5zkjap6f6qrjgfq6xhaz3j34fjwawv8qvgc4qgq7bil";
        libraryHaskellDepends = [
-         base bytestring hw-int hw-prim hw-string-parse safe vector
+         base bitvec bytestring deepseq hw-int hw-prim hw-string-parse
+         vector
        ];
        testHaskellDepends = [
-         base bytestring hedgehog hspec hw-hspec-hedgehog hw-prim QuickCheck
+         base bitvec bytestring hedgehog hspec hw-hspec-hedgehog hw-prim
          vector
        ];
        testToolDepends = [ hspec-discover ];
@@ -129439,18 +132360,19 @@ self: {
 
   "hw-conduit" = callPackage
     ({ mkDerivation, array, base, bytestring, conduit
-     , conduit-combinators, criterion, hspec, mmap, time, transformers
-     , unliftio-core, vector, word8
+     , conduit-combinators, criterion, hspec, hspec-discover, mmap, time
+     , transformers, unliftio-core, vector, word8
      }:
      mkDerivation {
        pname = "hw-conduit";
-       version = "0.2.0.5";
-       sha256 = "00fpinpafvrdkmk6gksqd9v6f3lzrqcg79yja0h55gw7qjz5lz84";
+       version = "0.2.0.6";
+       sha256 = "0z90nslvvd5lkzkivklln3kbpgpwn4l6b45bdn7nhn9qa50ii1rc";
        libraryHaskellDepends = [
          array base bytestring conduit conduit-combinators time transformers
          unliftio-core word8
        ];
        testHaskellDepends = [ base bytestring conduit hspec ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bytestring conduit criterion mmap vector
        ];
@@ -129528,28 +132450,69 @@ self: {
        broken = true;
      }) {};
 
+  "hw-dsv_0_3_7" = callPackage
+    ({ mkDerivation, base, bits-extra, bytestring, cassava, criterion
+     , deepseq, directory, generic-lens, ghc-prim, hedgehog, hspec
+     , hspec-discover, hw-bits, hw-hspec-hedgehog, hw-prim
+     , hw-rankselect, hw-rankselect-base, hw-simd, lens, mmap
+     , optparse-applicative, resourcet, text, vector, weigh
+     }:
+     mkDerivation {
+       pname = "hw-dsv";
+       version = "0.3.7";
+       sha256 = "0zwciw5phhz1lzpmgwjqibrlrhdzma4wqkqnv3ssv3ph0hlr9vdv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bits-extra bytestring deepseq ghc-prim hw-bits hw-prim
+         hw-rankselect hw-rankselect-base hw-simd vector
+       ];
+       executableHaskellDepends = [
+         base bits-extra bytestring deepseq generic-lens ghc-prim hedgehog
+         hw-bits hw-prim hw-rankselect hw-rankselect-base hw-simd lens
+         optparse-applicative resourcet vector
+       ];
+       testHaskellDepends = [
+         base bits-extra bytestring cassava deepseq directory ghc-prim
+         hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim hw-rankselect
+         hw-rankselect-base hw-simd text vector weigh
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bits-extra bytestring cassava criterion deepseq directory
+         ghc-prim hw-bits hw-prim hw-rankselect hw-rankselect-base hw-simd
+         mmap vector
+       ];
+       description = "Unbelievably fast streaming DSV file parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-dump" = callPackage
-    ({ mkDerivation, base, bits-extra, bytestring, criterion, hedgehog
-     , hspec, hw-bits, hw-hspec-hedgehog, hw-prim, lens
-     , optparse-applicative, QuickCheck, safe, vector
+    ({ mkDerivation, base, bits-extra, bytestring, criterion
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, hw-prim, lens, optparse-applicative
+     , QuickCheck, safe, vector
      }:
      mkDerivation {
        pname = "hw-dump";
-       version = "0.0.0.1";
-       sha256 = "0sxw0fgrq83ahil1sa2mqndwxw7bjxya42sxym6jjsky9jr0mygl";
+       version = "0.1.0.1";
+       sha256 = "0iswbvvviaj1j34zvm04nzpjicwyzs5imc4rc8vkwmx41nlypxdv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bits-extra bytestring hw-bits hw-prim safe vector
        ];
        executableHaskellDepends = [
-         base bits-extra bytestring hw-bits hw-prim lens
+         base bits-extra bytestring generic-lens hw-bits hw-prim lens
          optparse-applicative vector
        ];
        testHaskellDepends = [
          base bits-extra bytestring hedgehog hspec hw-bits hw-hspec-hedgehog
          hw-prim QuickCheck vector
        ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bits-extra bytestring criterion hw-bits hw-prim vector
        ];
@@ -129597,6 +132560,45 @@ self: {
        broken = true;
      }) {};
 
+  "hw-eliasfano_0_1_1_1" = callPackage
+    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-packed-vector, hw-prim
+     , hw-rankselect, hw-rankselect-base, lens, mmap
+     , optparse-applicative, resourcet, temporary-resourcet, vector
+     }:
+     mkDerivation {
+       pname = "hw-eliasfano";
+       version = "0.1.1.1";
+       sha256 = "0fmbcddw13m49xvw8gnpjh246mw4k9h3hr94k956bi1vdvywyqv7";
+       revision = "1";
+       editedCabalFile = "1i5in5h9jnx4p873qv80jmdd1ak6yyyf70002j3lhxyaxx9byy7k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base deepseq hw-bits hw-int hw-packed-vector hw-prim hw-rankselect
+         hw-rankselect-base temporary-resourcet vector
+       ];
+       executableHaskellDepends = [
+         base binary bytestring generic-lens hw-bits hw-packed-vector
+         hw-prim hw-rankselect hw-rankselect-base lens optparse-applicative
+         resourcet temporary-resourcet vector
+       ];
+       testHaskellDepends = [
+         base hedgehog hspec hw-bits hw-hedgehog hw-hspec-hedgehog hw-int
+         hw-packed-vector hw-prim hw-rankselect hw-rankselect-base vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion hedgehog hspec hw-bits hw-hedgehog
+         hw-hspec-hedgehog hw-int hw-packed-vector hw-prim mmap vector
+       ];
+       description = "Elias-Fano";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-excess" = callPackage
     ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec
      , hspec-discover, hw-bits, hw-hspec-hedgehog, hw-prim
@@ -129604,8 +132606,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-excess";
-       version = "0.2.2.0";
-       sha256 = "07d6q5m98z6r7p4hhzzm8ihn9sbd05hhf40a0hcq3ixxrdz7yyrb";
+       version = "0.2.2.1";
+       sha256 = "1n4qgnwf61gdwai163sqkc4lzhni65f94r5hcmq0im502596iy9b";
        libraryHaskellDepends = [
          base hw-bits hw-prim hw-rankselect-base safe vector
        ];
@@ -129629,8 +132631,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-fingertree";
-       version = "0.1.1.0";
-       sha256 = "096lj6bhyk3pyal3jnif8cm6yprir1kpr5cvjl576kbfhyxdnhmy";
+       version = "0.1.1.1";
+       sha256 = "01ghnnnbbrdy9s84rcw37v3yvlrw5awgdmcrzh0xd5dxpw557psf";
        libraryHaskellDepends = [ base deepseq hw-prim ];
        testHaskellDepends = [
          base deepseq hedgehog hspec hw-hspec-hedgehog
@@ -129641,19 +132643,20 @@ self: {
      }) {};
 
   "hw-fingertree-strict" = callPackage
-    ({ mkDerivation, base, deepseq, hedgehog, hspec, HUnit
-     , hw-hspec-hedgehog, QuickCheck, test-framework
+    ({ mkDerivation, base, deepseq, hedgehog, hspec, hspec-discover
+     , HUnit, hw-hspec-hedgehog, QuickCheck, test-framework
      , test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "hw-fingertree-strict";
-       version = "0.1.1.1";
-       sha256 = "0s0jz6lynxiaz2h8hr78j05vhswrl6vwhmvdra9a46c3yg7vf9qi";
+       version = "0.1.1.3";
+       sha256 = "1fy492nl10a7p9a0b0jrqj1yiar8wir2g3qms2mmd814brbfkm80";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
          test-framework test-framework-hunit test-framework-quickcheck2
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Generic strict finger-tree structure";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -129662,10 +132665,8 @@ self: {
     ({ mkDerivation, base, hedgehog, vector }:
      mkDerivation {
        pname = "hw-hedgehog";
-       version = "0.1.0.3";
-       sha256 = "0cck3kxxc7fxfqji9jv15vc9v1zpqz7rzacxfcjc0i6s1ll9vbv2";
-       revision = "1";
-       editedCabalFile = "1wvjv13pznqxzhix7ikjx2gpqc3ppn7z20yl7l6z80yslalh7pm2";
+       version = "0.1.0.5";
+       sha256 = "1wnfgmybccznrm2i6rrkg87mwxqng9y115wsbf4r40y6pica7kbi";
        libraryHaskellDepends = [ base hedgehog vector ];
        testHaskellDepends = [ base ];
        description = "Extra hedgehog functionality";
@@ -129678,8 +132679,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-hspec-hedgehog";
-       version = "0.1.0.8";
-       sha256 = "0c54mhzbmjfjvy5lyvr6xffrncqmbbr10lran2x9czbkhhbikrss";
+       version = "0.1.0.9";
+       sha256 = "1rfcz7fq7gp8xxlax8l1vfr88h9sh50ghs1iihy9jqv135d1dbky";
        libraryHaskellDepends = [
          base call-stack hedgehog hspec HUnit transformers
        ];
@@ -129690,13 +132691,19 @@ self: {
      }) {};
 
   "hw-int" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, hedgehog, hspec, hspec-discover, hw-hedgehog
+     , hw-hspec-hedgehog
+     }:
      mkDerivation {
        pname = "hw-int";
-       version = "0.0.0.3";
-       sha256 = "0gsaimfx7gg39yfj2n6mlszri5x06f14b8f9cs12klrq2q8sadl3";
+       version = "0.0.0.4";
+       sha256 = "0im0fk23v6gh6hwfr35swai5fnvkpw0rrssc3s0ac978c899a8iz";
        libraryHaskellDepends = [ base ];
-       description = "Integers";
+       testHaskellDepends = [
+         base hedgehog hspec hw-hedgehog hw-hspec-hedgehog
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Additional facilities for Integers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -129707,10 +132714,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-ip";
-       version = "2.3.4.1";
-       sha256 = "023wv7dvpyw2nnlrdqhp3nqrbbh9af074fz12y8510br2gfdyamd";
-       revision = "1";
-       editedCabalFile = "0djvl3qvy4km5qxg5pakgck8vr5hh0md8h9h4sgsvjafcqjrza3x";
+       version = "2.3.4.2";
+       sha256 = "020pwy89hx4jcmq5vwd0gs4vbb2llkvvzaqk72s06w51hqrfpxb9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129731,6 +132736,36 @@ self: {
        broken = true;
      }) {};
 
+  "hw-ip_2_4_0_1" = callPackage
+    ({ mkDerivation, appar, base, binary, bytestring, containers
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, iproute, lens, optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "hw-ip";
+       version = "2.4.0.1";
+       sha256 = "0ypz0m5vnwirxap17ws44a0q6vfbg48dk6n8gb9aii2hfcdapds0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         appar base containers generic-lens hedgehog hw-bits iproute text
+       ];
+       executableHaskellDepends = [
+         appar base binary bytestring generic-lens lens optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         appar base generic-lens hedgehog hspec hw-bits hw-hspec-hedgehog
+         text
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       description = "Library for manipulating IP addresses and CIDR blocks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-json" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
      , bits-extra, bytestring, criterion, directory, dlist, generic-lens
@@ -129772,7 +132807,7 @@ self: {
        broken = true;
      }) {};
 
-  "hw-json_1_3_1_0" = callPackage
+  "hw-json_1_3_1_1" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
      , bits-extra, bytestring, criterion, directory, dlist, generic-lens
      , hedgehog, hspec, hspec-discover, hw-balancedparens, hw-bits
@@ -129784,10 +132819,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json";
-       version = "1.3.1.0";
-       sha256 = "0y5gxr4db381lndjr666l6vl022z9pnp5ypsmrwxcx53hv7glzwn";
-       revision = "1";
-       editedCabalFile = "1aw2sg7vchf9jd01dkvcbw33n6l5hgi4kyhjk4syr6cnyxysf187";
+       version = "1.3.1.1";
+       sha256 = "0w0k8zkswpvawp3ni3av8ak18a8wj509dll0v3cq7i4lljv51b5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129819,16 +132852,24 @@ self: {
      }) {};
 
   "hw-json-lens" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, hw-json
-     , lens, scientific, word8
+    ({ mkDerivation, base, bytestring, containers, criterion, hedgehog
+     , hspec, hspec-discover, hw-balancedparens, hw-bits
+     , hw-hspec-hedgehog, hw-json, hw-json-standard-cursor, hw-prim
+     , lens, scientific, text, vector, word8
      }:
      mkDerivation {
        pname = "hw-json-lens";
-       version = "0.1.0.0";
-       sha256 = "1dbgxdbm8xp83hmdygi0y4h5lysacvdhms5g6i7p5i2w6prwqvid";
+       version = "0.2.0.0";
+       sha256 = "0byl0hqizqgpbajcgid0xca6jiqzm6syiz48jlywzg27niv3xdpd";
        libraryHaskellDepends = [
-         base bytestring containers hw-json lens scientific word8
+         base bytestring containers hw-json lens scientific text word8
        ];
+       testHaskellDepends = [
+         base bytestring hedgehog hspec hw-balancedparens hw-bits
+         hw-hspec-hedgehog hw-json hw-json-standard-cursor hw-prim lens
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bytestring criterion hw-json lens
        ];
@@ -129844,10 +132885,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-simd";
-       version = "0.1.0.2";
-       sha256 = "13i41ppi3ncisfyl3jvpgf4cbx86gyy0maq1xm0jipplkr78844w";
-       revision = "1";
-       editedCabalFile = "1vbq16ik20yvipvlpf9jrdsv33ynm152rr7c67lcdv8nf4gg4mhq";
+       version = "0.1.0.4";
+       sha256 = "1qpk7vzya28y56qlb2fmx3ic39n9x2z8dh932rn0fp2d8n4dw8sa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring hw-prim lens vector ];
@@ -129869,10 +132908,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-simple-cursor";
-       version = "0.1.0.1";
-       sha256 = "0asvkzz0dgcc5cjrn3wqhn3svxi13wfzxi0ggc8mzzmfci07jigy";
-       revision = "1";
-       editedCabalFile = "1cpmvmncn3w60lacx21yg9snrmaghn9icgb67g2lfviya6a5qgs8";
+       version = "0.1.0.2";
+       sha256 = "1yknymn8flni5bkfifaxmkv6b6r530ljvm6vx9m3kqwzikly9lpn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129907,10 +132944,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-standard-cursor";
-       version = "0.2.1.1";
-       sha256 = "0z0lxzciyw6b49w1s88yx9lcqgk0fjmh1zv7qs3jnn9sk0bqldh5";
-       revision = "1";
-       editedCabalFile = "15x23pa4im7ll4ipaykqavmh8frpnlmg8617g67c987f66lpyprr";
+       version = "0.2.1.2";
+       sha256 = "1lfbzfbpzn06gyv35s0sbc14n7ccwfqci7yikq78a7iwypkb9nff";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129965,12 +133000,13 @@ self: {
 
   "hw-kafka-client" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, c2hs, containers
-     , either, hspec, monad-loops, rdkafka, text, transformers, unix
+     , either, hspec, monad-loops, random, rdkafka, text, transformers
+     , unix
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "2.6.0";
-       sha256 = "1318gyl3jn3q2namzpzf0254hqpib2nn1kipf6gnfp4dvwv0wbgn";
+       version = "3.0.0";
+       sha256 = "1b2f9mxlnvd1jmnhpvsliy8b1xcygmgqdanggmdi44iikchmv62y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129979,8 +133015,8 @@ self: {
        librarySystemDepends = [ rdkafka ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
-         base bifunctors bytestring containers either hspec monad-loops text
-         transformers
+         base bifunctors bytestring containers either hspec monad-loops
+         random text transformers
        ];
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
@@ -130015,10 +133051,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-mquery";
-       version = "0.2.0.1";
-       sha256 = "04jkhnljyirbjg1b693bacfnaa3i854rg1dgy3mifr7sbmk0xgnn";
-       revision = "1";
-       editedCabalFile = "0n6zicz4cdr9z7lzlagj8gamj9gnv3nhvjz7srw4wg1cnagimi0s";
+       version = "0.2.0.2";
+       sha256 = "1vcxyin3cyc0pkhbfjyjm4r44yxk17gny5jhfg6hdlgivp150yij";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130059,7 +133093,7 @@ self: {
        broken = true;
      }) {};
 
-  "hw-packed-vector_0_2_0_0" = callPackage
+  "hw-packed-vector_0_2_0_1" = callPackage
     ({ mkDerivation, base, binary, bytestring, criterion, deepseq
      , directory, generic-lens, hedgehog, hspec, hspec-discover, hw-bits
      , hw-hedgehog, hw-hspec-hedgehog, hw-prim, lens
@@ -130067,10 +133101,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-packed-vector";
-       version = "0.2.0.0";
-       sha256 = "1nspd5hwn32fjgxmg08bq8hmyxzh61gc72zgd24mcpy94kzq58xd";
-       revision = "1";
-       editedCabalFile = "0ilqka4s82kwqrp876gfv6wp7gvlxkfzgxdz23l937vwx988cf1z";
+       version = "0.2.0.1";
+       sha256 = "12181b9fp11cdgf6xngjla9012j8rag3zcssz70x5a7xxgnwfmfc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130100,10 +133132,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-parser";
-       version = "0.1.0.1";
-       sha256 = "0df3238y4ld9j9w4p1x4lcv13lip9cf3fqn88z98xqjqmfzjdffn";
-       revision = "1";
-       editedCabalFile = "1nf0s726vr90dggcjxp1qz1msnvckjj908rsc4f991524gz4ygh7";
+       version = "0.1.0.2";
+       sha256 = "170dk943s2jbqqggxxfjxj23fbfk1532hgsrg63mr0v1ag9hlz1i";
        libraryHaskellDepends = [
          attoparsec base bytestring hw-prim text
        ];
@@ -130114,42 +133144,18 @@ self: {
      }) {};
 
   "hw-prim" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, directory, exceptions
-     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog
-     , mmap, QuickCheck, semigroups, transformers, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "hw-prim";
-       version = "0.6.2.31";
-       sha256 = "00xfakvwnj3zys2ilpc9w9z5qzw1ng3cc65jfa1860z6yr7xdp59";
-       libraryHaskellDepends = [
-         base bytestring ghc-prim mmap semigroups transformers unliftio-core
-         vector
-       ];
-       testHaskellDepends = [
-         base bytestring directory exceptions hedgehog hspec
-         hw-hspec-hedgehog mmap QuickCheck semigroups transformers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion mmap semigroups transformers vector
-       ];
-       description = "Primitive functions and data types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hw-prim_0_6_2_32" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, directory, exceptions
-     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog
-     , mmap, QuickCheck, semigroups, transformers, unliftio-core, vector
+    ({ mkDerivation, base, bytestring, criterion, deepseq, directory
+     , exceptions, ghc-prim, hedgehog, hspec, hspec-discover
+     , hw-hspec-hedgehog, mmap, QuickCheck, semigroups, transformers
+     , unliftio-core, vector
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.2.32";
-       sha256 = "0q65kivpxciqvknnradmpkaplrkfbckqv3xajk8h2dgas8r1m40l";
+       version = "0.6.2.39";
+       sha256 = "06f4ygwmfb3ambzw972cninj9v0i7pir97qq0832a1mb19h4222g";
        libraryHaskellDepends = [
-         base bytestring ghc-prim mmap semigroups transformers unliftio-core
-         vector
+         base bytestring deepseq ghc-prim mmap semigroups transformers
+         unliftio-core vector
        ];
        testHaskellDepends = [
          base bytestring directory exceptions hedgehog hspec
@@ -130161,7 +133167,6 @@ self: {
        ];
        description = "Primitive functions and data types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-prim-bits" = callPackage
@@ -130224,7 +133229,7 @@ self: {
        broken = true;
      }) {};
 
-  "hw-rankselect_0_13_2_0" = callPackage
+  "hw-rankselect_0_13_3_1" = callPackage
     ({ mkDerivation, base, bytestring, conduit, criterion, deepseq
      , directory, generic-lens, hedgehog, hspec, hspec-discover
      , hw-balancedparens, hw-bits, hw-fingertree, hw-hedgehog
@@ -130233,10 +133238,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-rankselect";
-       version = "0.13.2.0";
-       sha256 = "00k163jalapxdlcmcvi4ddk60bsj34f7ng05agvh1374kybqscb4";
-       revision = "1";
-       editedCabalFile = "0a0mlfbln3whziv2rp63qr1qjm4vxgrd8535irnlyy5ba0a0lad8";
+       version = "0.13.3.1";
+       sha256 = "05bhc8i6k59zv90r00c6vy4vx99dpc4dh85dinwklh8yqnfwf5ks";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130264,23 +133267,23 @@ self: {
      }) {};
 
   "hw-rankselect-base" = callPackage
-    ({ mkDerivation, base, bits-extra, criterion, hedgehog, hspec
-     , hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-prim
-     , hw-string-parse, QuickCheck, safe, vector
+    ({ mkDerivation, base, bits-extra, bitvec, criterion, hedgehog
+     , hspec, hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog
+     , hw-int, hw-prim, hw-string-parse, QuickCheck, vector
      }:
      mkDerivation {
        pname = "hw-rankselect-base";
-       version = "0.3.2.1";
-       sha256 = "0q4kywln4bls2dvazhqh2acw4yqnabnx0mdkhldgg70q8amnq2nj";
-       revision = "2";
-       editedCabalFile = "0djyix1fp00s8j0qjja4557wdflgixpz4fvrmwiw7x294zr9f9fw";
+       version = "0.3.3.0";
+       sha256 = "17h4kmi9zcgm4sdpbmqh6rzygz7w0v95lfc6rmhc9a8bmmg30i5b";
        libraryHaskellDepends = [
-         base bits-extra hw-bits hw-int hw-prim hw-string-parse safe vector
+         base bits-extra bitvec hw-bits hw-int hw-prim hw-string-parse
+         vector
        ];
        testHaskellDepends = [
-         base bits-extra hedgehog hspec hw-bits hw-hedgehog
+         base bits-extra bitvec hedgehog hspec hw-bits hw-hedgehog
          hw-hspec-hedgehog hw-prim QuickCheck vector
        ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bits-extra criterion hw-bits hw-prim vector
        ];
@@ -130298,10 +133301,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-simd";
-       version = "0.1.1.4";
-       sha256 = "1rc4zzp3h87zqrdsgwvc9vxydv200jk7q02vcqfk23wqg0sxvpw0";
-       revision = "1";
-       editedCabalFile = "00a1wr7sbz6hyapd26asx4zs3g1r8x2y61zdckfb2dxxhyhs2kjw";
+       version = "0.1.1.5";
+       sha256 = "0nhy3hi7gxbbjwh6rj4459nzbmlij2cjdg2zvdjgx3z3j5algqyb";
        libraryHaskellDepends = [
          base bits-extra bytestring deepseq hw-bits hw-prim hw-rankselect
          hw-rankselect-base vector
@@ -130332,10 +133333,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-streams";
-       version = "0.0.0.10";
-       sha256 = "08ghjvgyd13b1mby213j86p9b8fbk3j3jbj1n9czq4w9sbsbpxxw";
-       revision = "1";
-       editedCabalFile = "141vh52p5mwxv77gdnbs6n0k9kkapz4wnwdbm4jpirmhl45bxzph";
+       version = "0.0.0.12";
+       sha256 = "087sn4gxhf29vg9ydx8sfq33q16cz6cmda5r63k9xdki4ba761m4";
        libraryHaskellDepends = [
          base bytestring ghc-prim hw-bits hw-prim mmap primitive semigroups
          transformers vector
@@ -130390,19 +133389,27 @@ self: {
 
   "hw-uri" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
-     , antiope-core, antiope-s3, base, bytestring, directory, exceptions
-     , filepath, generic-lens, hedgehog, hspec, hspec-discover
-     , http-client, http-types, hw-hspec-hedgehog, lens, mtl, resourcet
-     , text
+     , antiope-core, antiope-optparse-applicative, antiope-s3, base
+     , bytestring, deepseq, directory, dlist, exceptions, filepath
+     , generic-lens, hedgehog, hspec, hspec-discover, http-client
+     , http-types, hw-hspec-hedgehog, hw-prim, lens, mtl
+     , optparse-applicative, resourcet, text, unliftio-core
      }:
      mkDerivation {
        pname = "hw-uri";
-       version = "0.1.1.4";
-       sha256 = "1y3rf1npqx3y3pkaipbwhabszvp0427h3sa9f6a5dfy14c6vm88b";
+       version = "0.2.0.1";
+       sha256 = "1i42l5jg06xlfbplibxx8104w1x61yixbv7w3l1fs0q06zzxaiqp";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 antiope-core antiope-s3
-         base bytestring directory exceptions filepath generic-lens
-         http-client http-types lens mtl resourcet text
+         base bytestring deepseq directory dlist exceptions filepath
+         generic-lens http-client http-types hw-prim lens mtl resourcet text
+         unliftio-core
+       ];
+       executableHaskellDepends = [
+         antiope-core antiope-optparse-applicative base bytestring
+         generic-lens lens mtl optparse-applicative resourcet text
        ];
        testHaskellDepends = [
          aeson antiope-core antiope-s3 base bytestring filepath hedgehog
@@ -130431,40 +133438,41 @@ self: {
 
   "hw-xml" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
-     , bytestring, cereal, conduit, containers, criterion, deepseq
-     , ghc-prim, hspec, hspec-discover, hw-balancedparens, hw-bits
-     , hw-conduit, hw-parser, hw-prim, hw-rankselect, hw-rankselect-base
-     , lens, mmap, mtl, QuickCheck, resourcet, transformers, vector
-     , word8
+     , bytestring, cereal, containers, criterion, deepseq, generic-lens
+     , ghc-prim, hedgehog, hspec, hspec-discover, hw-balancedparens
+     , hw-bits, hw-hspec-hedgehog, hw-parser, hw-prim, hw-rankselect
+     , hw-rankselect-base, lens, mmap, mtl, optparse-applicative
+     , resourcet, text, transformers, vector, word8
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.3.0.0";
-       sha256 = "1f7q4vqrj5iv2c2dcgc6cld6zaqqp8d575fnali1lg3fv5n1g69k";
+       version = "0.5.0.0";
+       sha256 = "0cqrs19bd9yh67yczhhb1yf5dhcx2v6xikybd88vqwxdh51pxyyn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint array attoparsec base bytestring cereal conduit
-         containers deepseq ghc-prim hw-balancedparens hw-bits hw-conduit
-         hw-parser hw-prim hw-rankselect hw-rankselect-base lens mtl
-         resourcet transformers vector word8
+         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 text
+         transformers vector word8
        ];
        executableHaskellDepends = [
-         base bytestring hw-balancedparens hw-bits hw-prim hw-rankselect
-         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 conduit hspec hw-balancedparens hw-bits
-         hw-conduit hw-prim hw-rankselect hw-rankselect-base QuickCheck
+         attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits
+         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base text
          vector
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
-         base bytestring conduit criterion hw-balancedparens hw-bits
-         hw-conduit hw-prim mmap resourcet vector
+         base bytestring criterion hw-balancedparens hw-bits hw-prim mmap
+         resourcet vector
        ];
-       description = "Conduits for tokenizing streams";
+       description = "XML parser based on succinct data structures";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -131675,6 +134683,23 @@ self: {
        license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
+  "hz3" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck, transformers
+     , z3
+     }:
+     mkDerivation {
+       pname = "hz3";
+       version = "96.0.0.0";
+       sha256 = "080bhbnhswic7m35rzbqi9i7lb57szag6khprrjccpa80vq7lj6n";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers transformers ];
+       librarySystemDepends = [ z3 ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "Bindings for the Z3 Theorem Prover";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) z3;};
+
   "hzaif" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, text }:
      mkDerivation {
@@ -131696,8 +134721,8 @@ self: {
     ({ mkDerivation, base, containers, QuickCheck, text }:
      mkDerivation {
        pname = "hzenhan";
-       version = "0.0.1";
-       sha256 = "1n7nrkngr395n6dhgdkqwbx2dmq6hmmfggyv62nr29kxf580hd8k";
+       version = "0.0.4";
+       sha256 = "1gbrzjjdihgzj63sp2h4762zybyhd5rxa8rpvsjra21qvvch12mx";
        libraryHaskellDepends = [ base containers text ];
        testHaskellDepends = [ base containers QuickCheck text ];
        description = "Zenhan library for Haskell";
@@ -131812,8 +134837,8 @@ self: {
      }:
      mkDerivation {
        pname = "i3ipc";
-       version = "0.1.0.0";
-       sha256 = "05bpp6gz4hdjifs2q3m5b5i45438b82mxf3yq4dp100ypg6pa705";
+       version = "0.1.0.1";
+       sha256 = "128dixb0nad1h2gf302r84kng2lw9g6vrnyjs61sqipbn6bn4ygd";
        libraryHaskellDepends = [
          aeson base binary bytestring containers network text typed-process
          vector
@@ -132141,8 +135166,8 @@ self: {
     ({ mkDerivation, base, containers, ideas, parsec, QuickCheck }:
      mkDerivation {
        pname = "ideas-math-types";
-       version = "1.0";
-       sha256 = "0r72ld0kvyqn21mndhv7gvaa43ydpyv5n6b4lhn9k0wzz2s5q8md";
+       version = "1.1";
+       sha256 = "1kv743lziag8l5g6lnfhyw624xw21c01dlifrszwbh360wvgd782";
        libraryHaskellDepends = [
          base containers ideas parsec QuickCheck
        ];
@@ -132606,14 +135631,15 @@ self: {
      , ghc-parser, ghc-paths, haskeline, haskell-src-exts, here, hlint
      , hspec, hspec-contrib, http-client, http-client-tls, HUnit
      , ipython-kernel, mtl, parsec, process, random, raw-strings-qq
-     , setenv, shelly, split, stm, strict, system-argv0, text, time
-     , transformers, unix, unordered-containers, utf8-string, uuid
-     , vector
+     , setenv, shelly, split, stm, strict, text, time, transformers
+     , unix, unordered-containers, utf8-string, vector
      }:
      mkDerivation {
        pname = "ihaskell";
-       version = "0.10.0.0";
-       sha256 = "0fmz0l2mpl6qwh4c00ppryxs2nfacmi1n3k21645v62vyhk0favp";
+       version = "0.10.0.2";
+       sha256 = "01jk48kj5z7n547z1lg78c0bphpjyv2nfzjrh4jv7xygkw5asqxb";
+       revision = "1";
+       editedCabalFile = "0jhgnw5wrpmbp3g6zllwlmmyzyja5ry8i7dss7q8gpbvk2inlfl3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -132621,8 +135647,8 @@ self: {
          aeson base base64-bytestring bytestring cereal cmdargs containers
          directory filepath ghc ghc-boot ghc-parser ghc-paths haskeline
          haskell-src-exts hlint http-client http-client-tls ipython-kernel
-         mtl parsec process random shelly split stm strict system-argv0 text
-         time transformers unix unordered-containers utf8-string uuid vector
+         mtl parsec process random shelly split stm strict text time
+         transformers unix unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson base bytestring containers directory ghc ipython-kernel
@@ -132773,8 +135799,8 @@ self: {
     ({ mkDerivation, aeson, base, hvega, ihaskell, text }:
      mkDerivation {
        pname = "ihaskell-hvega";
-       version = "0.2.0.2";
-       sha256 = "0xbv8801wxslcs9fsjssvdldz6nq8zmxm6l4pwkv8zpasqzq4k9q";
+       version = "0.2.1.0";
+       sha256 = "1zpr00zn3nap5w1baih975r8hvaqqyp7y4acy10p688imicg5wgy";
        libraryHaskellDepends = [ aeson base hvega ihaskell text ];
        description = "IHaskell display instance for hvega types";
        license = stdenv.lib.licenses.bsd3;
@@ -132953,6 +135979,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ilist_0_4_0_0" = callPackage
+    ({ mkDerivation, base, criterion, hspec, lens, loop, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "ilist";
+       version = "0.4.0.0";
+       sha256 = "105qz5x03fa713ghxvmivawsaq3l9zf5ab4n09j7i7ryj3dwp4nv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec transformers ];
+       benchmarkHaskellDepends = [
+         base criterion lens loop transformers vector
+       ];
+       description = "Optimised list functions for doing index-related things";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "illuminate" = callPackage
     ({ mkDerivation, alex, array, base, containers, filemanip, filepath
      , hscolour, html, utf8-string, xhtml
@@ -133280,6 +136324,8 @@ self: {
        pname = "imm";
        version = "1.7.0.0";
        sha256 = "0slgfg4ay8j1kcvskl60gd2xbwllxcip6104wg36hcmb1symgdf1";
+       revision = "1";
+       editedCabalFile = "0hy3lbpn839yjplmn8w4ihlgyyirzi4j8qzwih5k5h98bd4d5nzf";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -133755,8 +136801,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental-parser";
-       version = "0.3.2.2";
-       sha256 = "0mnqi0fnh5sl1fp74gcwvfm6mxhzrs1x7yl235yl0dhcyjp3vfx7";
+       version = "0.3.3";
+       sha256 = "1y5qzbn1627v893s6nlm5prc507pwybf2f9b7icpjgcj1q046p6i";
        libraryHaskellDepends = [ base monoid-subclasses ];
        testHaskellDepends = [
          base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
@@ -133888,14 +136934,12 @@ self: {
     ({ mkDerivation, base, mtl, parsec, tasty, tasty-hunit }:
      mkDerivation {
        pname = "indents";
-       version = "0.5.0.0";
-       sha256 = "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n";
+       version = "0.5.0.1";
+       sha256 = "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51";
        libraryHaskellDepends = [ base mtl parsec ];
        testHaskellDepends = [ base mtl parsec tasty tasty-hunit ];
        description = "indentation sensitive parser-combinators for parsec";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "index-core" = callPackage
@@ -133995,6 +137039,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "indexed-profunctors" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "indexed-profunctors";
+       version = "0.1";
+       sha256 = "0rdvj62rapkkj5zv5jyx2ynfwn2iszx1w2q08j9ik17zklqv9pri";
+       libraryHaskellDepends = [ base ];
+       description = "Utilities for indexed profunctors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "indextype" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
@@ -134185,8 +137240,8 @@ self: {
      }:
      mkDerivation {
        pname = "inflections";
-       version = "0.4.0.4";
-       sha256 = "0lspb0xpfj4q6wrzgss7pfjmr6xb5clj7y686vsairbkpcj3cfcl";
+       version = "0.4.0.5";
+       sha256 = "0fdq3iwa2vgb5k19ck6jxzh7f1xsf1kpwx4p3agpdpsrylrcanvb";
        libraryHaskellDepends = [
          base exceptions megaparsec text unordered-containers
        ];
@@ -134439,16 +137494,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 = [
@@ -134457,7 +137512,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.";
@@ -134484,8 +137539,8 @@ self: {
      }:
      mkDerivation {
        pname = "inline-c-cpp";
-       version = "0.3.0.2";
-       sha256 = "03dfikf43mmx4vzlp6nd6f1c3niklh2f9mq1s2fwsikh8x8x3qp6";
+       version = "0.3.0.3";
+       sha256 = "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln";
        libraryHaskellDepends = [
          base inline-c safe-exceptions template-haskell
        ];
@@ -134494,6 +137549,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-cpp_0_4_0_1" = callPackage
+    ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "inline-c-cpp";
+       version = "0.4.0.1";
+       sha256 = "1bsmm6sqxjzlk6mdq5a8vwsc1cy0ag0lvajdpsbqq7vradj54yqq";
+       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
@@ -134622,6 +137696,29 @@ self: {
        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
+     }:
+     mkDerivation {
+       pname = "insert-ordered-containers";
+       version = "0.2.3";
+       sha256 = "1307v5w8lzxc1pmi5dvw1d2vmfs6z253xbr0nfzcgxfjmqvj60ik";
+       libraryHaskellDepends = [
+         aeson base base-compat hashable lens optics-core optics-extra
+         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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inserts" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, dlist }:
      mkDerivation {
@@ -134933,6 +138030,17 @@ self: {
        broken = true;
      }) {};
 
+  "intcode" = callPackage
+    ({ mkDerivation, base, containers, primitive }:
+     mkDerivation {
+       pname = "intcode";
+       version = "0.1.0.0";
+       sha256 = "0lca33wd0dfrih0si6w5h6wi5rmv6sx3j5kam9q4j0kc1laj268r";
+       libraryHaskellDepends = [ base containers primitive ];
+       description = "Advent of Code 2019 intcode interpreter";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "integer-gmp_1_0_2_0" = callPackage
     ({ mkDerivation, ghc-prim }:
      mkDerivation {
@@ -135287,8 +138395,8 @@ self: {
      }:
      mkDerivation {
        pname = "interpolatedstring-perl6";
-       version = "1.0.1";
-       sha256 = "0n3j6qvzp6as5ji93rn0sy873w5hdsplik51lkrah42cl95vmbay";
+       version = "1.0.2";
+       sha256 = "1dvv9dsf5mr6y7aikd57c0qlh1lkbq3y37bvn3hy2g15cn5ix2ss";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [
@@ -135487,6 +138595,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "intmap-graph" = callPackage
+    ({ mkDerivation, base, containers, text, vector, word8 }:
+     mkDerivation {
+       pname = "intmap-graph";
+       version = "1.0.0.1";
+       sha256 = "0mrwimi4r1y60l674w8vavv4c5fzqm6v1f71hkcvxkwa3fpl56m6";
+       libraryHaskellDepends = [ base containers text vector word8 ];
+       description = "A graph library that allows to explore edges after their type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "intricacy" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , crypto-api, crypto-pubkey-types, cryptohash, directory, filepath
@@ -135549,6 +138668,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "intro_0_6_0_1" = 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.1";
+       sha256 = "1kka6dnlyqppjx9ykk3zixfyslr8cf4ja6sa2hgq6h69mmsicp67";
+       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 {
@@ -135652,6 +138794,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
@@ -135863,7 +139007,9 @@ self: {
        pname = "io-streams";
        version = "1.5.1.0";
        sha256 = "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la";
-       configureFlags = [ "-fNoInteractiveTests" ];
+       revision = "1";
+       editedCabalFile = "0n0qs5lgryh3zxy73j3qbpnxand43yd2bj6pclvyii8apqqp901a";
+       configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder network primitive
          process text time transformers vector zlib-bindings
@@ -135886,6 +139032,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
+       revision = "2";
+       editedCabalFile = "1pvw39f0vrzb5hdx6nqpdg4ccsxa59vwjspfjkh6vvw1zwmidgja";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -136055,6 +139203,39 @@ self: {
        broken = true;
      }) {};
 
+  "ip_1_7_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, byteslice, bytesmith
+     , bytestring, criterion, deepseq, doctest, hashable, hspec
+     , hspec-discover, HUnit, natural-arithmetic, primitive, QuickCheck
+     , quickcheck-classes, small-bytearray-builder, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-short, vector, wide-word
+     }:
+     mkDerivation {
+       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
+         text-short vector wide-word
+       ];
+       testHaskellDepends = [
+         attoparsec base byteslice bytestring doctest hspec HUnit QuickCheck
+         quickcheck-classes tasty tasty-hunit tasty-quickcheck text
+         text-short vector wide-word
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         attoparsec base byteslice bytestring criterion text
+       ];
+       description = "Library for IP and MAC addresses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ip-quoter" = callPackage
     ({ mkDerivation, base, cpu, network, tasty, tasty-hunit
      , template-haskell
@@ -136073,8 +139254,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;
@@ -136086,8 +139267,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;
@@ -136161,6 +139342,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ipfs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-has, directory
+     , directory-tree, doctest, envy, flow, Glob, http-client, ip, lens
+     , lens-aeson, monad-logger, QuickCheck, regex-compat, rio
+     , servant-client, servant-client-core, servant-multipart
+     , servant-server, swagger2, text, vector, yaml
+     }:
+     mkDerivation {
+       pname = "ipfs";
+       version = "1.0.0";
+       sha256 = "0grbmjl2dybqp3c8ljgj6ql0g3yivxb0nsbyw3bwk1a4g2c9bd0g";
+       libraryHaskellDepends = [
+         aeson base bytestring data-has envy flow Glob http-client ip lens
+         monad-logger regex-compat rio servant-client servant-client-core
+         servant-multipart servant-server swagger2 text vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring data-has directory directory-tree doctest
+         envy flow Glob http-client ip lens lens-aeson monad-logger
+         QuickCheck regex-compat rio servant-client servant-client-core
+         servant-multipart servant-server swagger2 text vector yaml
+       ];
+       description = "Access IPFS locally and remotely";
+       license = stdenv.lib.licenses.agpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ipfs-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-media, http-types
      , servant, text
@@ -136231,6 +139440,8 @@ self: {
        libraryHaskellDepends = [ base haskell-src sr-extra ];
        description = "Tiny helper for pretty-printing values in ghci console";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "iproute" = callPackage
@@ -136239,8 +139450,8 @@ self: {
      }:
      mkDerivation {
        pname = "iproute";
-       version = "1.7.7";
-       sha256 = "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6";
+       version = "1.7.8";
+       sha256 = "0k2qzdw36qp9qs2j0bxsn95ymk3wpjvw6s5c1535aw677gw19bad";
        libraryHaskellDepends = [
          appar base byteorder containers network
        ];
@@ -136329,8 +139540,8 @@ self: {
      }:
      mkDerivation {
        pname = "ipython-kernel";
-       version = "0.10.0.0";
-       sha256 = "1dqvii2h0vc32ladxmrzli5ch5m3is41bgalas34fh0gcc00p7qa";
+       version = "0.10.1.0";
+       sha256 = "03sygh5jvigfjg3il49wy41p6ac1wh2gx8wj3hg2rvsh91p9f4dw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -136379,8 +139590,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "1.1.1.0";
-       sha256 = "1f2lqg37ig3f23066c4179vcym6p3ylmxsywqhmb0n078kix6kfb";
+       version = "1.1.1.1";
+       sha256 = "08s1qb9dc6icz9fxfp5swcx817685vj833l8ijpf1gdgyzw6wfdq";
        libraryHaskellDepends = [
          base bytestring conduit connection containers contravariant
          exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
@@ -136409,8 +139620,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-conduit";
-       version = "0.3.0.3";
-       sha256 = "1wbgczkiwnbpcwwcpsv9zf8n7nisv0iv2kivpjrxnhin2j4c48y1";
+       version = "0.3.0.4";
+       sha256 = "0asaddcbdcnbp0bbhvzaq5514nw2l1cp1gac3jbn4mh7brgfwjc1";
        libraryHaskellDepends = [
          async base bytestring conduit conduit-extra connection irc irc-ctcp
          network-conduit-tls profunctors text time tls transformers
@@ -137218,6 +140429,8 @@ self: {
        pname = "iterm-show";
        version = "0.1.0.1";
        sha256 = "1wlrn6q3v5a4pqmk3a3syir7szq97g658s1bzrq5p65frs7i7daw";
+       revision = "1";
+       editedCabalFile = "1xyb5dj53vl4nf2a68zda95lz0fr987rghvh3610bmrgr8hg3y02";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base base64-bytestring bytestring ];
@@ -137266,6 +140479,8 @@ self: {
        ];
        description = "Intervals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ivar-simple" = callPackage
@@ -137599,8 +140814,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset";
-       version = "1.1.1";
-       sha256 = "1wjv6jfkv5z5j3af6dg7zlbir780mshq01x2wzlyav5dwr40di3m";
+       version = "1.1.1.1";
+       sha256 = "1d3h53sq8i8azzr71yi4h5zma2bb2f623gpfw25x2kd4slhpkrgf";
        libraryHaskellDepends = [
          base containers safecopy syb syb-with-class template-haskell
        ];
@@ -138108,6 +141323,8 @@ self: {
        testHaskellDepends = [ aeson base scotty stm text time wai-extra ];
        description = "Remote Monad for JavaScript on the browser";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "javascript-extras" = callPackage
@@ -138335,6 +141552,21 @@ self: {
        broken = true;
      }) {};
 
+  "jira-wiki-markup" = callPackage
+    ({ mkDerivation, base, mtl, parsec, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "jira-wiki-markup";
+       version = "1.0.0";
+       sha256 = "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl 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
@@ -138343,10 +141575,8 @@ self: {
      }:
      mkDerivation {
        pname = "jmacro";
-       version = "0.6.16";
-       sha256 = "1kyrvxg5fwwrwv72aby694ar071yl2xmnfkjyrwi5wbc7hsb8rda";
-       revision = "1";
-       editedCabalFile = "0g7fn738ljrhh6ydmvkigj9znhh2szdvp79kqxw62m4ryqan23qq";
+       version = "0.6.17";
+       sha256 = "14vmnaqr3lhcj7y5rj4jgm2w89kkznfksy53pinmc1xq1bd8b7px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138503,6 +141733,28 @@ self: {
        broken = true;
      }) {};
 
+  "jobs-ui" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq
+     , digestive-functors, digestive-functors-lucid, file-embed
+     , http-types, hvect, lucid, mtl, pretty-relative-time, Spock
+     , Spock-digestive, Spock-lucid, stm, text, time, transformers, warp
+     }:
+     mkDerivation {
+       pname = "jobs-ui";
+       version = "0.2.0.0";
+       sha256 = "0k5n1nqxlqlqnxcznmwqz9m4sdy8hhg3gv8m1bikc3d5im1rap7j";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq digestive-functors
+         digestive-functors-lucid file-embed http-types hvect lucid mtl
+         pretty-relative-time Spock Spock-digestive Spock-lucid stm text
+         time transformers warp
+       ];
+       description = "A library for creating a jobs management website running custom jobs";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "join" = callPackage
     ({ mkDerivation, base, haskell98, multisetrewrite, stm }:
      mkDerivation {
@@ -138611,8 +141863,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.8.1.0";
-       sha256 = "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl";
+       version = "0.8.2.0";
+       sha256 = "0kv2kmws9kwymx8pm6j8nnlk1d8pwv22hw2ka2kwlipjvmb7mld4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138752,36 +142004,36 @@ self: {
      }) {};
 
   "jsaddle" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bytestring, containers, deepseq, exceptions, filepath, ghc-prim
-     , http-types, lens, primitive, process, random, ref-tf, scientific
-     , stm, text, time, transformers, unliftio-core
+    ({ mkDerivation, aeson, attoparsec, base, base-compat
+     , base64-bytestring, bytestring, containers, deepseq, exceptions
+     , filepath, ghc-prim, http-types, lens, primitive, process, random
+     , ref-tf, scientific, stm, text, time, transformers, unliftio-core
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.9.6.0";
-       sha256 = "1ym0h00icxh4dwy3xwvxh985hr3ly7r147vm7spzb44xfn532pa8";
+       version = "0.9.7.0";
+       sha256 = "1hd1ybacng2qydf23dn4qggls2mmz21aay7q947ifdaxg83mv6aq";
        libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring containers
-         deepseq exceptions filepath ghc-prim http-types lens primitive
-         process random ref-tf scientific stm text time transformers
-         unliftio-core unordered-containers vector
+         aeson attoparsec base base-compat base64-bytestring bytestring
+         containers deepseq exceptions filepath ghc-prim http-types lens
+         primitive process random ref-tf scientific stm text time
+         transformers unliftio-core unordered-containers vector
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
      }) {};
 
   "jsaddle-clib" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, jsaddle
-     , text
+    ({ mkDerivation, aeson, base, base-compat, bytestring, data-default
+     , jsaddle, text
      }:
      mkDerivation {
        pname = "jsaddle-clib";
-       version = "0.9.6.0";
-       sha256 = "0nfdn5s11rzzma5s4rajs1477sy0xsa7wc19q00xfbpfkdq48193";
+       version = "0.9.7.0";
+       sha256 = "1n1mafr6gnfzmndjs4w7g813dx2khaq4knkhcaqbr2lsbr5yrmg1";
        libraryHaskellDepends = [
-         aeson base bytestring data-default jsaddle text
+         aeson base base-compat bytestring data-default jsaddle text
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -138793,10 +142045,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-dom";
-       version = "0.9.3.2";
-       sha256 = "1qc135w1y4f2mbky36dmb0ggcbwkv1vnmszw5lkhkxhkcag2sf07";
-       revision = "1";
-       editedCabalFile = "0vhqqbcpbrsnbmix0wkkm1d21qwrpicbzjwy42p48g7whg0lf0d5";
+       version = "0.9.4.0";
+       sha256 = "0k70x8dv67v585qm9ycb1m32cc47zvr2ka8nbqxazyw09i498h22";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base base-compat exceptions jsaddle lens text transformers
@@ -138829,8 +142079,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.9.6.0";
-       sha256 = "0j34cix4g5zfbbac6cggcp224s69ijirifg69js8lh3x8n5sgpg5";
+       version = "0.9.7.0";
+       sha256 = "09pqcnyy2pj48xm8qzs1jyav8a4si0bfw43w0qql74ak137ll60c";
        libraryHaskellDepends = [
          aeson base bytestring containers foreign-store http-types jsaddle
          stm text time transformers wai wai-websockets warp websockets
@@ -138856,8 +142106,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkit2gtk";
-       version = "0.9.6.0";
-       sha256 = "0daw67lxqbbw643mvna5dr9xqrqacqp2i3gqpkarb2xadq5da2lq";
+       version = "0.9.7.0";
+       sha256 = "1q4sz2s95pknsr6r8cdqrlmw0b64q4nzllrlhb80knpfxamzyjzp";
        libraryHaskellDepends = [
          aeson base bytestring directory gi-gio gi-glib gi-gtk
          gi-javascriptcore gi-webkit2 haskell-gi-base haskell-gi-overloading
@@ -138893,8 +142143,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.9.6.0";
-       sha256 = "1i5pmwj9ijd3rm1gvyp8n64q1gr1qnijj4ry6mk4h8lij4d9ic67";
+       version = "0.9.7.0";
+       sha256 = "04ni6q8x9c5zqmdm1kfp3yygcflpdf5hx4r568fm5b6rjxi3zhf6";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default directory jsaddle
          text
@@ -138993,6 +142243,8 @@ self: {
        pname = "json-api-lib";
        version = "0.1.1.1";
        sha256 = "096n08y80rkjn090w9pybwbfbwamfdig451nbgd48x0nrk6c091n";
+       revision = "1";
+       editedCabalFile = "1imz33mc4216qznvqdnh1j3wlifxnim4mhbl7d5zpinri4y0v2yd";
        libraryHaskellDepends = [
          aeson base containers data-default lens lens-aeson text
          unordered-containers uri-encode
@@ -139170,6 +142422,24 @@ self: {
        broken = true;
      }) {};
 
+  "json-directory" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "json-directory";
+       version = "0.1.0.0";
+       sha256 = "1pkna0f0al0p391s6i3rnylmh5ydf8jphd728cr14gqlvfq3hqy8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base directory filepath text unordered-containers
+       ];
+       executableHaskellDepends = [ aeson base bytestring ];
+       description = "Load JSON from files in a directory structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "json-encoder" = callPackage
     ({ mkDerivation, base, base-prelude, bytestring
      , bytestring-tree-builder, contravariant, contravariant-extras
@@ -139230,8 +142500,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.6";
-       sha256 = "1j5x5ibax81348m4m1fv8pz0044gbvlskgh9gpn5dn8d0cpd7vf7";
+       version = "1.0.7";
+       sha256 = "0rjszis4l0sb15v2gjiwnq6avl4bkqp186v449ms4qwbbqz11sc7";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -139352,6 +142622,30 @@ self: {
        broken = true;
      }) {};
 
+  "json-pointy" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , directory, doctest, filepath, hashable, http-types, microlens
+     , mtl, tasty, tasty-discover, tasty-hunit, template-haskell, text
+     , th-lift-instances, unordered-containers, uri-bytestring, vector
+     }:
+     mkDerivation {
+       pname = "json-pointy";
+       version = "0.1.0.1";
+       sha256 = "15vzpazhj4mbbw95mr6dcafij69nihnrw1c6zrw7d964jr269193";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring http-types microlens
+         template-haskell text th-lift-instances unordered-containers
+         uri-bytestring vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory doctest filepath hashable mtl
+         tasty tasty-discover tasty-hunit text unordered-containers vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "JSON Pointer (RFC 6901) parsing, access, and modification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "json-python" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
      , python, template-haskell
@@ -139474,8 +142768,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 = [
@@ -139586,19 +142880,49 @@ self: {
        broken = true;
      }) {};
 
+  "json-tokens" = callPackage
+    ({ mkDerivation, array-builder, array-chunks, base, byteslice
+     , bytesmith, bytestring, gauge, neat-interpolation, primitive
+     , QuickCheck, scientific-notation, small-bytearray-builder, tasty
+     , tasty-hunit, text, text-short, vector
+     }:
+     mkDerivation {
+       pname = "json-tokens";
+       version = "0.1.0.1";
+       sha256 = "031x1k0j86qnkq8xddxf6q8mhrbmd88aa40x8w6485zr1v16dnis";
+       libraryHaskellDepends = [
+         array-builder array-chunks base byteslice bytesmith bytestring
+         primitive scientific-notation text-short
+       ];
+       testHaskellDepends = [
+         base byteslice bytestring neat-interpolation primitive QuickCheck
+         scientific-notation small-bytearray-builder tasty tasty-hunit text
+         vector
+       ];
+       benchmarkHaskellDepends = [
+         base byteslice bytestring gauge neat-interpolation primitive
+         scientific-notation text
+       ];
+       description = "Tokenize JSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "json-tools" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , process, tar, text, unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, attoparsec-expr, base
+     , bytestring, containers, process, scientific, string-conversions
+     , tar, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "json-tools";
-       version = "0.5.0";
-       sha256 = "13iyhsq4010ypgmlsdkdk93w8dhg6v0cllsf0avfaxkdva9lrqkf";
+       version = "0.5.1";
+       sha256 = "0ylh7a3h2dwl55p5s4q7378k0f1jcsvwlngxqrr5v1kf1qp74jnm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson attoparsec base bytestring containers process tar text
-         unordered-containers vector
+         aeson attoparsec attoparsec-expr base bytestring containers process
+         scientific string-conversions tar text unordered-containers vector
        ];
        description = "A collection of JSON tools";
        license = stdenv.lib.licenses.bsd3;
@@ -139745,10 +143069,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonpath";
-       version = "0.1.0.1";
-       sha256 = "0wp5516g33spb9ilphjkzamr88xl64fb6y9zjfci1kac5vkl4qqk";
-       revision = "2";
-       editedCabalFile = "04jw3ayvcabsfcqazksnn0rg0i1326d0gjdx1zl8rk955g2qlwam";
+       version = "0.1.0.2";
+       sha256 = "1b889p98z2sq93n996p0r892dsvy4is2c10xwpag1vbr8dlr614c";
        libraryHaskellDepends = [
          aeson attoparsec base text unordered-containers vector
        ];
@@ -139841,6 +143163,8 @@ self: {
        pname = "jsonschema-gen";
        version = "0.4.1.0";
        sha256 = "1ssgci0nnpdj5sgw7wghnca8ndx20azb5z7svbxk6a1gmh9pfndj";
+       revision = "1";
+       editedCabalFile = "0fiwjdyp4fmw662x7bcdp1wglxxm39l6ivshkb65zmczc3szac5d";
        libraryHaskellDepends = [
          aeson base bytestring containers scientific tagged text time
          unordered-containers vector
@@ -140192,8 +143516,8 @@ self: {
      }:
      mkDerivation {
        pname = "jvm-binary";
-       version = "0.7.0";
-       sha256 = "1ism2fq66qdh72nm9cq4km9yn7v79j2qq6glpyf9yk10549kv7dv";
+       version = "0.8.0";
+       sha256 = "0mzzfdsxh6r8blx447c25bdzv3y8gqb984p48y5cfpvrn2dwhs41";
        libraryHaskellDepends = [
          attoparsec base binary bytestring containers data-binary-ieee754
          deepseq deriving-compat mtl template-haskell text vector
@@ -140269,8 +143593,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
@@ -140341,6 +143665,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
@@ -141644,21 +144984,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "key-vault" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers, key, util
+     }:
+     mkDerivation {
+       pname = "key-vault";
+       version = "0.1.0.0";
+       sha256 = "1cgsrfckph7zc5iwxjpcglz8vjk5ligmmp2rhp4nrc14njm06v8x";
+       libraryHaskellDepends = [
+         base base-unicode-symbols containers key util
+       ];
+       description = "Store of values of arbitrary types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "keycloak-hs" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, base64-bytestring
      , bytestring, containers, exceptions, hslogger, http-api-data
-     , http-client, http-types, jwt, lens, mtl, string-conversions, text
-     , word8, wreq
+     , http-client, http-types, jwt, lens, mtl, safe, string-conversions
+     , text, word8, wreq
      }:
      mkDerivation {
        pname = "keycloak-hs";
-       version = "0.1.1";
-       sha256 = "1ags7q66g37qr2l3cd5bzhvy4i2q1knwjaswx49v2r50klqxbzyd";
+       version = "1.1.1";
+       sha256 = "1ycr1q7sfr68zbx1jxnfv0c19w2nv2rxczi5aixd01ck8v1kx798";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-casing base base64-bytestring bytestring containers
          exceptions hslogger http-api-data http-client http-types jwt lens
-         mtl string-conversions text word8 wreq
+         mtl safe string-conversions text word8 wreq
        ];
+       executableHaskellDepends = [ base ];
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -141670,8 +145027,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
        ];
@@ -142135,15 +145492,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;
@@ -142195,8 +145554,6 @@ self: {
        ];
        description = "a minimal Rmarkdown sort-of-thing for haskell, by way of Pandoc";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "knob" = callPackage
@@ -142376,6 +145733,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "krank" = callPackage
+    ({ mkDerivation, aeson, base, hspec, megaparsec, mtl
+     , optparse-applicative, PyF, replace-megaparsec, req
+     , safe-exceptions, text, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "krank";
+       version = "0.1.0";
+       sha256 = "121010sm7a2ggi1s75cy4f68z4nr2dp1i9cxq6snzbkl3dv5mmys";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base megaparsec mtl PyF replace-megaparsec req
+         safe-exceptions text unordered-containers utf8-string
+       ];
+       executableHaskellDepends = [
+         base mtl optparse-applicative PyF safe-exceptions text
+       ];
+       testHaskellDepends = [ base hspec megaparsec PyF ];
+       description = "Krank checks your code source comments for important markers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "krapsh" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base16-bytestring
      , binary, bytestring, containers, cryptohash-sha256, deepseq
@@ -142785,8 +146165,8 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.9";
-       sha256 = "0prkaxa9f03m5a333zsl75jdv2hi48w9ghv1ff1r68gnqf4hbvlr";
+       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";
@@ -142956,12 +146336,12 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-options";
-       version = "1.0.0.0";
-       sha256 = "1cpd5s0m10d09mqbpy1qxnrpy8np21ci6fcd09d01xj7lx8p2yzx";
+       version = "1.1.0.0";
+       sha256 = "0ihbwml2l4jyd3h2kj5qz7fxzzkq47xk4fkybhp1rnfzxjlqfib3";
        libraryHaskellDepends = [
          base containers funspection mtl read-bounded
        ];
-       description = "Declarative command-line parser using type-driven pattern matching";
+       description = "Declarative command-line parser with type-driven pattern matching";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -143108,8 +146488,8 @@ self: {
        pname = "lambdabot-core";
        version = "5.2";
        sha256 = "1wh87wwb8hk3hn2lmdqi1hv77qbdmwqcwjslichygmvac8fjhjss";
-       revision = "1";
-       editedCabalFile = "1srdkvyw1b0cpv2gq497x11zmqkiqpxkhhdhkd0363wayqjpg21s";
+       revision = "2";
+       editedCabalFile = "1khn1j3z7mkzggp7s35p0dixsj81yljfrf5r9d289dvy1dip8akf";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance filepath haskeline
@@ -143754,8 +147134,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-ats";
-       version = "1.7.1.2";
-       sha256 = "057gskb5y57jvh6z71d35qq228kpvf0wk09wf175mgy9qc78vg9p";
+       version = "1.7.7.0";
+       sha256 = "17p0wv3zbs8jj9jdcc6cg0g5snfyj418mx4b5299wddr5s99jmfi";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array base composition-prelude containers deepseq
@@ -143771,18 +147151,18 @@ self: {
      }) {};
 
   "language-bash" = callPackage
-    ({ mkDerivation, base, parsec, pretty, process, QuickCheck, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , transformers
+    ({ mkDerivation, base, directory, filepath, parsec, prettyprinter
+     , process, QuickCheck, tasty, tasty-expected-failure, tasty-golden
+     , tasty-hunit, tasty-quickcheck, transformers
      }:
      mkDerivation {
        pname = "language-bash";
-       version = "0.8.0";
-       sha256 = "16lkqy1skc82cyxsh313184dbm31hrsi3w1729ci8lw8dybmz6ax";
-       libraryHaskellDepends = [ base parsec pretty transformers ];
+       version = "0.9.0";
+       sha256 = "1n4icdd478b1j0rr79qyxx2g4xm8yvsplfw3mkdsskb79zmq5gga";
+       libraryHaskellDepends = [ base parsec prettyprinter transformers ];
        testHaskellDepends = [
-         base parsec process QuickCheck tasty tasty-expected-failure
-         tasty-hunit tasty-quickcheck
+         base directory filepath parsec process QuickCheck tasty
+         tasty-expected-failure tasty-golden tasty-hunit tasty-quickcheck
        ];
        description = "Parsing and pretty-printing Bash shell scripts";
        license = stdenv.lib.licenses.bsd3;
@@ -143820,26 +147200,6 @@ self: {
      }:
      mkDerivation {
        pname = "language-c";
-       version = "0.8.2";
-       sha256 = "05ff3ywh2lpxgd00nv6y3jnqpdl6bg0f2yn3csd043rv4srd6adp";
-       revision = "2";
-       editedCabalFile = "074mypdymg7543waq68c72viw912w94v94y1287sp67lzwpyiixd";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq directory filepath pretty
-         process syb
-       ];
-       libraryToolDepends = [ alex happy ];
-       testHaskellDepends = [ base directory filepath process ];
-       description = "Analysis and generation of C code";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "language-c_0_8_3" = callPackage
-    ({ mkDerivation, alex, array, base, bytestring, containers, deepseq
-     , directory, filepath, happy, pretty, process, syb
-     }:
-     mkDerivation {
-       pname = "language-c";
        version = "0.8.3";
        sha256 = "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk";
        libraryHaskellDepends = [
@@ -143850,7 +147210,6 @@ self: {
        testHaskellDepends = [ base directory filepath process ];
        description = "Analysis and generation of C code";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "language-c-comments" = callPackage
@@ -143894,10 +147253,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-c-quote";
-       version = "0.12.2";
-       sha256 = "15c6rdj91768jf8lqzf4fkbi8k6kz9gch5w81x6qzy2l256rncgb";
-       revision = "1";
-       editedCabalFile = "099w1lln1vm000sf06wrmq6gya5sx2w4flrlwqz2c8wwvv8c9j9h";
+       version = "0.12.2.1";
+       sha256 = "0hwv4b40wj953f39gqn8ji4ycli67c90b8xbizskd4i1x3nqbi35";
        libraryHaskellDepends = [
          array base bytestring containers exception-mtl
          exception-transformers filepath haskell-src-meta mainland-pretty
@@ -143916,8 +147273,8 @@ self: {
     ({ mkDerivation, base, pretty }:
      mkDerivation {
        pname = "language-c99";
-       version = "0.1.1";
-       sha256 = "1a6n9n3jzplwgm6136rvhm6zmkvnhxz0nw1bfplikg8kkfgbp5al";
+       version = "0.1.2";
+       sha256 = "0k4a1chca328sa3w7aghhi446kqfrbp6h5jaj2rddd8f8qjz5pag";
        libraryHaskellDepends = [ base pretty ];
        description = "An implementation of the C99 AST that strictly follows the standard";
        license = stdenv.lib.licenses.mit;
@@ -144082,13 +147439,13 @@ self: {
     ({ mkDerivation, base, mtl, parsec, pretty }:
      mkDerivation {
        pname = "language-dot";
-       version = "0.1.0";
-       sha256 = "108m1dax4s286dr40dy9qxk6r6gpiwjx7646v4lx3vs51h08yh8m";
+       version = "0.1.1";
+       sha256 = "176fc2y7j1b5fqa75q38cqfdyjqpc6i40hncc6r2apcbxdriryfn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mtl parsec pretty ];
-       executableHaskellDepends = [ base mtl parsec pretty ];
-       testHaskellDepends = [ base mtl parsec pretty ];
+       executableHaskellDepends = [ base mtl ];
+       testHaskellDepends = [ base parsec ];
        description = "A library for the analysis and creation of Graphviz DOT files";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -144332,8 +147689,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-javascript";
-       version = "0.6.0.13";
-       sha256 = "0dzvbnzkrxg9v78x2g7mhhr76viyxcgjyqpksaw7l0p1x7brjsck";
+       version = "0.6.0.14";
+       sha256 = "1j4f9jg98kwr1jiwk9y7akdgpc63dpwzcp53888adayxn5h6mqf1";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers mtl text utf8-string
        ];
@@ -144346,6 +147703,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-javascript_0_7_0_0" = callPackage
+    ({ mkDerivation, alex, array, base, blaze-builder, bytestring
+     , Cabal, containers, happy, hspec, mtl, QuickCheck, text
+     , utf8-light, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-javascript";
+       version = "0.7.0.0";
+       sha256 = "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk";
+       libraryHaskellDepends = [
+         array base blaze-builder bytestring containers mtl text utf8-string
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [
+         array base blaze-builder bytestring Cabal containers hspec mtl
+         QuickCheck utf8-light utf8-string
+       ];
+       description = "Parser for JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-js" = callPackage
     ({ mkDerivation, base, hspec, parsec }:
      mkDerivation {
@@ -144643,6 +148022,17 @@ self: {
        broken = true;
      }) {};
 
+  "language-protobuf" = callPackage
+    ({ mkDerivation, base, megaparsec, text }:
+     mkDerivation {
+       pname = "language-protobuf";
+       version = "1.0";
+       sha256 = "1qg9c862srf7klcan53sa92ylnfx6xz8b1jqgw6rmpznfsw4h2c8";
+       libraryHaskellDepends = [ base megaparsec text ];
+       description = "Language definition and parser for Protocol Buffers";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "language-puppet" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, async, attoparsec, base
      , base16-bytestring, bytestring, case-insensitive, containers
@@ -144657,8 +148047,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-puppet";
-       version = "1.4.5";
-       sha256 = "1bn5gj89pxzxb8blj6v9pv8n03ksvxqrai0iin4syvyb10r7sxrq";
+       version = "1.4.6";
+       sha256 = "1gr7fkkdr66pd5fkxczjx8sjnciz09pcavcc8d1yspcc7wpv3y1q";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -144872,6 +148262,20 @@ self: {
        broken = true;
      }) {};
 
+  "language-sygus" = callPackage
+    ({ mkDerivation, array, base, deepseq, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "language-sygus";
+       version = "0.1.1.1";
+       sha256 = "18cfqqhm233irgs2m94j5gw87g55zdf4xx52mb7dmn4ijk5gzpl5";
+       libraryHaskellDepends = [ array base text ];
+       testHaskellDepends = [ base deepseq tasty tasty-hunit text ];
+       description = "A parser and printer for the SyGuS 2.0 language.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "language-thrift" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, containers, hspec
      , hspec-discover, megaparsec, QuickCheck, scientific, semigroups
@@ -144879,8 +148283,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-thrift";
-       version = "0.10.0.0";
-       sha256 = "0y6klcw036cjw72snwyhkz1mzg2cp6p7cfdc449ynzwsg5l9kz99";
+       version = "0.11.0.0";
+       sha256 = "0gxhpaspb8iyfhl8gxxn9an17blrh5vnkn3y9ywzslxkvj31nds5";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers megaparsec scientific semigroups
          text transformers
@@ -145146,6 +148550,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
@@ -145164,6 +148570,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
@@ -145545,14 +148953,16 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Lazy-Spined Monadic Priority Queues";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "lazy-search" = callPackage
     ({ mkDerivation, base, size-based }:
      mkDerivation {
        pname = "lazy-search";
-       version = "0.1.1.0";
-       sha256 = "1ifw35f5jpcbjn3jzfm78177aqdn8n7lr1554k92yvm0x526q66w";
+       version = "0.1.2.1";
+       sha256 = "1vicd1yzcz3kw3r0widfx04j4qbzz4912j5v8c2bhd0z9hvc22vp";
        libraryHaskellDepends = [ base size-based ];
        description = "Finds values satisfying a lazy predicate";
        license = stdenv.lib.licenses.bsd3;
@@ -145720,8 +149130,8 @@ self: {
      }:
      mkDerivation {
        pname = "ldap-client";
-       version = "0.3.0";
-       sha256 = "0fii1yi3mn1dqvzbsx63fqrb53v81a7d2gqn3xma8v9vsp9nxv7v";
+       version = "0.4.0";
+       sha256 = "1n15yab8mg12f80rq47ansdxmxj4n6symx11ihy2m4bjn7yq31mk";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring connection
          containers fail network semigroups stm text
@@ -146471,6 +149881,8 @@ self: {
        pname = "lens-family-th";
        version = "0.5.0.2";
        sha256 = "1rmhcnnlnll4mq7pqld5qg6crxh74gp0fqiwl6wn8l3ssgx5l9ww";
+       revision = "1";
+       editedCabalFile = "06sbynlrbqb51rn392w1q82qww1f6k8mmw1npgla2wc6s39k4977";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base hspec template-haskell transformers ];
        description = "Generate lens-family style lenses";
@@ -146566,10 +149978,8 @@ self: {
      }:
      mkDerivation {
        pname = "lens-process";
-       version = "0.3.0.0";
-       sha256 = "1bp2mw38qvlq98596pn1illb6c1l8prd6qrzrg0g6xin98sqigb0";
-       revision = "1";
-       editedCabalFile = "1wwj258gq4qg97dx7pn2sxj8znrlb5sm2xcidwkhyrs45r75500b";
+       version = "0.3.0.1";
+       sha256 = "05vznfn28a35k3qyjx28jva9d5acgzcdzn8s24mkb8mz1l8722d6";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base filepath lens process ];
        testHaskellDepends = [
@@ -146630,22 +150040,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens-regex-pcre_1_0_0_0" = 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.0";
-       sha256 = "02am0q60nhn93jlrxskcc33mcgn0la8y4074vv0rbxxshbxz6k4h";
+       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;
@@ -146812,8 +150225,8 @@ self: {
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.3.0.0";
-       sha256 = "15z32gk4ki0iz5mcakajyd70bcyn5impp0i322sc905j1wivvcz2";
+       version = "1.3.1.0";
+       sha256 = "0jvabc8p69wgf20q3mq0nn9kg6x20gym3xl251vnbyl7chkg9can";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -146845,14 +150258,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lenz_0_4_0_0" = callPackage
+  "lenz_0_4_1_0" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, hs-functors
      , transformers
      }:
      mkDerivation {
        pname = "lenz";
-       version = "0.4.0.0";
-       sha256 = "1bfhs61i7ach2d8bbrcsch57w7imrn22hilv63hif9dmqjnlwvy5";
+       version = "0.4.1.0";
+       sha256 = "110a41iig3s273j7z2cpdahnnkbq1f5rswra33ag3w2x9sqry5yj";
        libraryHaskellDepends = [
          base base-unicode-symbols hs-functors transformers
        ];
@@ -146861,6 +150274,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "lenz-mtl" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, lenz, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "lenz-mtl";
+       version = "0.1";
+       sha256 = "0ysl87ym7n5pgdrj5ff7840rgjv8yvybnir2xbmzb4vigqs2kp74";
+       libraryHaskellDepends = [
+         base base-unicode-symbols lenz mtl transformers
+       ];
+       description = "mtl operations with Van Laarhoven lenses";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lenz-template" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, containers, lenz
      , template-haskell
@@ -146869,8 +150298,8 @@ self: {
        pname = "lenz-template";
        version = "0.2.0.0";
        sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn";
-       revision = "3";
-       editedCabalFile = "1ydlnn3cppjr3c0ink0k0668dmxk057gild2k84j8f27hcyb0w2j";
+       revision = "5";
+       editedCabalFile = "0l75fkl778r9kgigyiijnkw2wn2kd4xkpjj7s3bkswg75dvnrbk0";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -146967,6 +150396,25 @@ self: {
        broken = true;
      }) {};
 
+  "lex-applicative" = callPackage
+    ({ mkDerivation, base, dlist, gauge, hs-functors
+     , parser-combinators, regex-applicative, text, ucd
+     , unicode-transforms, util
+     }:
+     mkDerivation {
+       pname = "lex-applicative";
+       version = "0.0.0.1";
+       sha256 = "0dc48xgvky480a1rl9zfyz3ychjlxnyssdmpbzkb795kdkmny2nz";
+       libraryHaskellDepends = [
+         base dlist hs-functors parser-combinators regex-applicative text
+         ucd unicode-transforms util
+       ];
+       testHaskellDepends = [ base util ];
+       benchmarkHaskellDepends = [ base gauge util ];
+       description = "See README for more info";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lexer-applicative" = callPackage
     ({ mkDerivation, base, deepseq, regex-applicative, srcloc, tasty
      , tasty-hunit
@@ -147178,22 +150626,33 @@ self: {
      }) {};
 
   "libarchive" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, composition-prelude, dlist
-     , filepath, libarchive
+    ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
+     , composition-prelude, criterion, deepseq, dir-traverse, directory
+     , dlist, filepath, hspec, libarchive, mtl, tar, tar-conduit
+     , temporary, unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "1.0.5.1";
-       sha256 = "1fchnvs03hg513v7a45a3qbfr3kbh3nmqjqljzr2y1mg2ghkr7cz";
-       revision = "5";
-       editedCabalFile = "1fmsrrg8q46fwv6zgg5afc5jyd9y1qz193ypyh2kb4zf9psl3bdc";
+       version = "2.1.3.2";
+       sha256 = "1z934rl8dm4ncp7qs6kqm2hiir41k5ysrpp44nb6rgzs8f8x46mr";
+       setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
-         base bytestring composition-prelude dlist filepath
+         base bytestring composition-prelude deepseq dlist filepath mtl
+         unix-compat
        ];
        libraryPkgconfigDepends = [ libarchive ];
        libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         base bytestring composition-prelude dir-traverse directory filepath
+         hspec mtl temporary
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion tar tar-conduit temporary
+       ];
        description = "Haskell interface to libarchive";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) libarchive;};
 
   "libarchive-conduit" = callPackage
@@ -147497,8 +150956,8 @@ self: {
     ({ mkDerivation, base, bytestring, data-default, modbus, vector }:
      mkDerivation {
        pname = "libmodbus";
-       version = "1.1.0";
-       sha256 = "0fhx0cda803sad7489dp09lrxhwwsbldssjq4jkaprnqjvhj32al";
+       version = "1.1.1";
+       sha256 = "192jgmih2fqv4kid8r9cy59914g94826rkcjr2a8339p0d3ddh8j";
        libraryHaskellDepends = [ base bytestring data-default vector ];
        librarySystemDepends = [ modbus ];
        description = "Haskell bindings to the C modbus library";
@@ -147544,21 +151003,20 @@ self: {
   "libmpd" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers
      , data-default-class, filepath, hspec, mtl, network, old-locale
-     , QuickCheck, text, time, unix, utf8-string
+     , QuickCheck, safe-exceptions, text, time, unix, utf8-string
      }:
      mkDerivation {
        pname = "libmpd";
-       version = "0.9.0.9";
-       sha256 = "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv";
-       revision = "1";
-       editedCabalFile = "16pzbmhyzlpxy2djmxrs0wrv8mad3ahb040lx5kmf57say3qxgdl";
+       version = "0.9.0.10";
+       sha256 = "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default-class filepath
-         mtl network old-locale text time utf8-string
+         mtl network old-locale safe-exceptions text time utf8-string
        ];
        testHaskellDepends = [
          attoparsec base bytestring containers data-default-class filepath
-         hspec mtl network old-locale QuickCheck text time unix utf8-string
+         hspec mtl network old-locale QuickCheck safe-exceptions text time
+         unix utf8-string
        ];
        description = "An MPD client library";
        license = stdenv.lib.licenses.mit;
@@ -148053,8 +151511,8 @@ self: {
     ({ mkDerivation, base, bytestring, conduit, resourcet }:
      mkDerivation {
        pname = "libyaml";
-       version = "0.1.1.0";
-       sha256 = "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va";
+       version = "0.1.1.1";
+       sha256 = "0qjq0w8gqzzg3lf53mg9avkdd6z609kaacyyzjz0rbjjks4gl1db";
        libraryHaskellDepends = [ base bytestring conduit resourcet ];
        description = "Low-level, streaming YAML interface";
        license = stdenv.lib.licenses.bsd3;
@@ -148159,20 +151617,19 @@ self: {
 
   "lift-generics" = callPackage
     ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
-     , hspec, template-haskell
+     , hspec, hspec-discover, template-haskell
      }:
      mkDerivation {
        pname = "lift-generics";
-       version = "0.1.2";
-       sha256 = "0kk05dp6n93jgxq4x1lrckjrca6lrwa7qklr3vpzc6iyrlbvv7qf";
-       revision = "3";
-       editedCabalFile = "0ackkmjfqxyxhy9w03zlqvmi68la9yv4jf0sc8qdhyr5y30ac68s";
+       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;
      }) {};
@@ -148384,6 +151841,31 @@ self: {
        broken = true;
      }) {};
 
+  "lightstep-haskell" = callPackage
+    ({ 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, safe-exceptions
+     , stm, text, transformers, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "lightstep-haskell";
+       version = "0.4.5";
+       sha256 = "19bzwx2vklagyddr3cnk33ydlwyjnq12chbmj3djg9a8ar9rsrph";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         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 safe-exceptions stm
+         text transformers unordered-containers wai
+       ];
+       description = "LightStep OpenTracing client library";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "lighttpd-conf" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, happy, packedstring
      , pretty, template-haskell
@@ -148614,13 +152096,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;
      }) {};
@@ -148861,19 +152343,17 @@ self: {
   "linearmap-category" = callPackage
     ({ mkDerivation, base, call-stack, constrained-categories
      , containers, free-vector-spaces, ieee754, lens, linear
-     , manifolds-core, semigroups, tagged, transformers, vector
-     , vector-space
+     , manifolds-core, QuickCheck, semigroups, tagged, transformers
+     , vector, vector-space
      }:
      mkDerivation {
        pname = "linearmap-category";
-       version = "0.3.5.0";
-       sha256 = "0qmd0nz343j3j3kprbhwfkglcswfcawfy0y6g4ai6nzdga42nfrf";
-       revision = "3";
-       editedCabalFile = "0b4m77csdsi5wgvbclza2arps5s0xgg0iibiy8kwax55ml04kkvp";
+       version = "0.4.0.0";
+       sha256 = "18fk6fj98w660mid7sadq8algmm5a5gz5150ac62kdp4rrk6igjk";
        libraryHaskellDepends = [
          base call-stack constrained-categories containers
-         free-vector-spaces ieee754 lens linear manifolds-core semigroups
-         tagged transformers vector vector-space
+         free-vector-spaces ieee754 lens linear manifolds-core QuickCheck
+         semigroups tagged transformers vector vector-space
        ];
        description = "Native, complete, matrix-free linear algebra";
        license = stdenv.lib.licenses.gpl3;
@@ -148948,8 +152428,8 @@ self: {
      }:
      mkDerivation {
        pname = "lingo";
-       version = "0.2.0.0";
-       sha256 = "0wgrliwxgwsylga3hkikpjyf7a835n7y62kihj6glymim2xv1vdw";
+       version = "0.3.0.0";
+       sha256 = "0cjxd9yflagps5760h62m948nmhbn0ad8kyldv9k28i59phm8gwx";
        setupHaskellDepends = [
          base bytestring Cabal containers directory filepath text yaml
        ];
@@ -149225,8 +152705,8 @@ self: {
        pname = "linux-evdev";
        version = "0.3.2";
        sha256 = "04ajbcvn8i2xa678f3sgbbrn00rxm1k86wrj9n6w2r8h2yda9s9r";
-       revision = "1";
-       editedCabalFile = "0s7yb9wwh5rp4v2phm5lih29f033rgffldhkm9i2mxsag2qbfg0k";
+       revision = "2";
+       editedCabalFile = "1gnjyc8q7xq60pm362hwibwh97jw8pv66xvqv88cm9nbh0ccf6q2";
        libraryHaskellDepends = [ base bytestring time unix ];
        description = "Bindings to Linux evdev input device interface";
        license = stdenv.lib.licenses.bsd3;
@@ -149486,33 +152966,32 @@ self: {
 
   "liquid-fixpoint" = callPackage
     ({ mkDerivation, ansi-terminal, array, ascii-progress, async
-     , attoparsec, base, bifunctors, binary, boxes, bytestring, cereal
-     , cmdargs, containers, deepseq, directory, dotgen, fgl
-     , fgl-visualize, filemanip, filepath, ghc-prim, git, hashable
-     , intern, located-base, mtl, nettools, ocaml, parallel, parallel-io
-     , parsec, pretty, process, stm, syb, tasty, tasty-ant-xml
-     , tasty-hunit, tasty-rerun, text, text-format, time, transformers
-     , unordered-containers, z3
+     , attoparsec, base, binary, boxes, cereal, cmdargs, containers
+     , deepseq, directory, fgl, filepath, ghc-prim, git, hashable
+     , intern, mtl, nettools, ocaml, parallel, parsec, pretty, process
+     , stm, syb, tasty, tasty-ant-xml, tasty-hunit, tasty-rerun, text
+     , text-format, transformers, unordered-containers, z3
      }:
      mkDerivation {
        pname = "liquid-fixpoint";
-       version = "0.7.0.7";
-       sha256 = "1b1pf6cgbgnd0lqn1r4lb8y6hm7qybyc45rr51kxnvqryvb9g9cz";
+       version = "0.8.0.2";
+       sha256 = "1x8xbcf2xc9hwfpsl1s15qkmgdhr30fff4gp09dvnwi3z4mgi2wf";
+       revision = "1";
+       editedCabalFile = "013q8xj4ib5llyq9wmnx98dprw2zn4rkc1jndavcjjg2cwwrw56w";
        configureFlags = [ "-fbuild-external" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-terminal array ascii-progress async attoparsec base bifunctors
-         binary boxes bytestring cereal cmdargs containers deepseq directory
-         dotgen fgl fgl-visualize filemanip filepath ghc-prim hashable
-         intern located-base mtl parallel parallel-io parsec pretty process
-         syb text text-format time transformers unordered-containers
+         ansi-terminal array ascii-progress async attoparsec base binary
+         boxes cereal cmdargs containers deepseq directory fgl filepath
+         ghc-prim hashable intern mtl parallel parsec pretty process syb
+         text text-format transformers unordered-containers
        ];
        executableHaskellDepends = [ base ];
        executableSystemDepends = [ ocaml ];
        testHaskellDepends = [
          base containers directory filepath mtl process stm tasty
-         tasty-ant-xml tasty-hunit tasty-rerun text transformers
+         tasty-ant-xml tasty-hunit tasty-rerun transformers
        ];
        testSystemDepends = [ git nettools z3 ];
        doCheck = false;
@@ -149523,40 +153002,36 @@ self: {
          inherit (pkgs) ocaml; inherit (pkgs) z3;};
 
   "liquidhaskell" = callPackage
-    ({ mkDerivation, aeson, array, base, bifunctors, binary, bytestring
-     , Cabal, cereal, cmdargs, containers, data-default, deepseq, Diff
-     , directory, exceptions, filepath, fingertree, ghc, ghc-boot
-     , ghc-paths, ghc-prim, gitrev, hashable, hpc, hscolour
-     , liquid-fixpoint, located-base, mtl, optparse-applicative
-     , optparse-simple, parsec, pretty, process, QuickCheck, stm, syb
-     , tagged, tasty, tasty-ant-xml, tasty-hunit, tasty-rerun
-     , template-haskell, temporary, text, text-format, th-lift, time
-     , transformers, unordered-containers, vector, z3
+    ({ mkDerivation, aeson, base, binary, bytestring, cereal, cmdargs
+     , containers, data-default, deepseq, Diff, directory, filepath
+     , fingertree, ghc, ghc-boot, ghc-paths, ghc-prim, githash, gitrev
+     , hashable, hscolour, liquid-fixpoint, mtl, optparse-applicative
+     , optparse-simple, parsec, pretty, process, stm, syb, tagged, tasty
+     , tasty-ant-xml, tasty-hunit, tasty-rerun, template-haskell
+     , temporary, text, time, transformers, unordered-containers, vector
+     , z3
      }:
      mkDerivation {
        pname = "liquidhaskell";
-       version = "0.8.2.4";
-       sha256 = "07cbw14301pa2h4faxrjb1kfp2r5zdwpv5slm491kldzm53y8ry3";
+       version = "0.8.6.2";
+       sha256 = "1hqs1zfcz4fprrrcwj3j731ksldviafivk0kv2hprslmz4m1kfb2";
+       revision = "1";
+       editedCabalFile = "14mvnjgd65n6j2zlzw0c679zvlik02cn6x8rhxm3rb1155zybjil";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson array base bifunctors binary bytestring Cabal cereal cmdargs
-         containers data-default deepseq Diff directory exceptions filepath
-         fingertree ghc ghc-boot ghc-paths ghc-prim gitrev hashable hpc
-         hscolour liquid-fixpoint located-base mtl optparse-simple parsec
-         pretty process QuickCheck syb template-haskell temporary text
-         text-format th-lift time transformers unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         base cmdargs deepseq ghc ghc-boot hpc liquid-fixpoint located-base
-         pretty process time
+         aeson base binary bytestring cereal cmdargs containers data-default
+         deepseq Diff directory filepath fingertree ghc ghc-boot ghc-paths
+         ghc-prim githash gitrev hashable hscolour liquid-fixpoint mtl
+         optparse-simple parsec pretty syb template-haskell temporary text
+         time transformers unordered-containers vector
        ];
+       executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         array base bytestring containers directory filepath ghc ghc-boot
-         hpc liquid-fixpoint mtl optparse-applicative parsec process stm syb
-         tagged tasty tasty-ant-xml tasty-hunit tasty-rerun template-haskell
-         text time transformers
+         base containers directory filepath liquid-fixpoint mtl
+         optparse-applicative parsec process stm syb tagged tasty
+         tasty-ant-xml tasty-hunit tasty-rerun text transformers
        ];
        testSystemDepends = [ z3 ];
        description = "Liquid Types for Haskell";
@@ -149715,15 +153190,15 @@ self: {
      }) {};
 
   "list-t" = callPackage
-    ({ mkDerivation, base, base-prelude, HTF, mmorph, monad-control
-     , mtl, mtl-prelude, transformers, transformers-base
+    ({ mkDerivation, base, base-prelude, foldl, HTF, mmorph
+     , monad-control, mtl, mtl-prelude, transformers, transformers-base
      }:
      mkDerivation {
        pname = "list-t";
-       version = "1.0.3.1";
-       sha256 = "0h6bwljy0cqm1fsq151glglnvczjcvbphxiw7c83ps2zy9whg4y9";
+       version = "1.0.4";
+       sha256 = "0xsmq4rhp91k4az1d0hnpiy2b3d3nqqdywjrrryrjiway55q8qrq";
        libraryHaskellDepends = [
-         base mmorph monad-control mtl transformers transformers-base
+         base foldl mmorph monad-control mtl transformers transformers-base
        ];
        testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
        description = "ListT done right";
@@ -149833,8 +153308,8 @@ self: {
     ({ mkDerivation, base, doctest, mtl }:
      mkDerivation {
        pname = "list-transformer";
-       version = "1.0.5";
-       sha256 = "192yx9y0sp729dk9xaym1b6kyw9gv7n3fp1dvxw7z2w04s92l1k4";
+       version = "1.0.6";
+       sha256 = "0gc36nhx3a8rks943fyrnqzp47cp8gg58yijpfqxig086gblmwpl";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base doctest ];
        description = "List monad transformer";
@@ -149859,6 +153334,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "list-tuple" = callPackage
+    ({ mkDerivation, base, Cabal, deepseq, directory, hspec, OneTuple
+     , Only, should-not-typecheck, single-tuple, text
+     }:
+     mkDerivation {
+       pname = "list-tuple";
+       version = "0.1.1.0";
+       sha256 = "11mmadb62rarsywn8nd642pxx91yavj7mv739wdwvr723p57i6i3";
+       revision = "1";
+       editedCabalFile = "1909sk4mzlagskjvccj8rlw5vnxrxcx211406bngyp9lmpnmhdyy";
+       setupHaskellDepends = [ base Cabal directory ];
+       libraryHaskellDepends = [ base OneTuple Only single-tuple ];
+       testHaskellDepends = [
+         base deepseq hspec Only should-not-typecheck single-tuple text
+       ];
+       description = "List-like operations for tuples";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "list-witnesses" = callPackage
     ({ mkDerivation, base, decidable, microlens, profunctors
      , singletons, vinyl
@@ -150271,18 +153765,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.3";
+       sha256 = "08d1ywx1m82qdyrcg607mbi7szg7mg4vszbnz4i3rgj9snlqj8hr";
        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;
@@ -150294,8 +153790,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 ];
@@ -150424,7 +153920,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {llvm-config = null;};
 
-  "llvm-hs_9_0_0" = callPackage
+  "llvm-hs_9_0_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
      , containers, exceptions, llvm-config, llvm-hs-pure, mtl
      , pretty-show, process, QuickCheck, tasty, tasty-hunit
@@ -150433,8 +153929,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-hs";
-       version = "9.0.0";
-       sha256 = "0sz1rhdf73v43jz8x7f5f7bjwrkvyyvf950gw9063aapbsdzm76h";
+       version = "9.0.1";
+       sha256 = "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00";
        setupHaskellDepends = [ base Cabal containers ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers exceptions llvm-hs-pure
@@ -150599,8 +154095,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.1.1.1";
-       sha256 = "1rqszg06r8md7cgw2zgf30yvri4isndj608r9l8grqfnyi4lfjay";
+       version = "3.9";
+       sha256 = "02x2pq4p9dgal6fri9w1r6dj37m0l8jh0gq6ry2xq0rmq2mz70w4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151100,6 +154596,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
@@ -151169,6 +154689,8 @@ self: {
        pname = "log-postgres";
        version = "0.7.1.1";
        sha256 = "1mx43qbv9rbzzkxz7qgwgp26aq00a97rwka7a823l5hm5hamx74k";
+       revision = "1";
+       editedCabalFile = "012vyqrw0ncwxdrlbcb97x9lcmaizxspfc9dd5jxq8dfmqw5xgq7";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          hpqtypes http-client lifted-base log-base mtl semigroups split text
@@ -151378,31 +154900,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.4";
-       sha256 = "10xgh61ghwri21j7jr6svkd24h2s9nmawc33xkzjc6d4nbg261jf";
-       libraryHaskellDepends = [
-         async base exceptions free monad-control mtl prettyprinter
-         semigroups stm stm-delay text time transformers transformers-base
-         unliftio-core
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion fast-logger lifted-async monad-logger
-         prettyprinter text time
-       ];
-       description = "A mtl-style monad transformer for general purpose & compositional logging";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "logging-effect_1_3_6" = callPackage
-    ({ mkDerivation, async, base, bytestring, criterion, exceptions
-     , fast-logger, free, lifted-async, monad-control, monad-logger, mtl
-     , prettyprinter, semigroups, stm, stm-delay, text, time
-     , transformers, transformers-base, unliftio-core
-     }:
-     mkDerivation {
-       pname = "logging-effect";
-       version = "1.3.6";
-       sha256 = "1bcc7m2r4hhl03s91qixfc5w26pbdb7hy9dp6lzdahw6q7pn0hkw";
+       version = "1.3.8";
+       sha256 = "0ksavyvcz0c9fadik9yksm4zskzh313srf3713migwrdza5ci5q3";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl prettyprinter
          semigroups stm stm-delay text time transformers transformers-base
@@ -151414,7 +154913,6 @@ self: {
        ];
        description = "A mtl-style monad transformer for general purpose & compositional logging";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "logging-effect-extra" = callPackage
@@ -152006,8 +155504,8 @@ self: {
      }:
      mkDerivation {
        pname = "loopbreaker";
-       version = "0.1.1.0";
-       sha256 = "1hyw750r0kwyj5hb424dcxh2m11p7k694dfhgd2vadnqn80g0w5s";
+       version = "0.1.1.1";
+       sha256 = "0ixy3l0vw4sn5vyqn05mc68sdfab51vxjwvas8ismmg9j6w1mn0q";
        libraryHaskellDepends = [ base containers ghc syb ];
        testHaskellDepends = [
          base containers ghc hspec inspection-testing syb
@@ -152240,8 +155738,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
@@ -152367,11 +155865,9 @@ self: {
        ];
        description = "Functional test framework for LSP servers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
-  "lsp-test_0_7_0_0" = callPackage
+  "lsp-test_0_9_0_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
@@ -152380,8 +155876,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.7.0.0";
-       sha256 = "1lm299gbahrnwfrprhhpzxrmjljj33pps1gzz2wzmp3m9gzl1dx5";
+       version = "0.9.0.0";
+       sha256 = "0igd27msf3ya4i3pby434d0pa51qpr27vxyfv0q4i38ajj4ndsx4";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -152395,7 +155891,6 @@ self: {
        description = "Functional test framework for LSP servers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "lss" = callPackage
@@ -152617,10 +156112,8 @@ self: {
      }:
      mkDerivation {
        pname = "lucid";
-       version = "2.9.11";
-       sha256 = "13xz21hf9ywbyqwm33z8pfrjq03rzffhqswi30xsi13rrawj99cc";
-       revision = "1";
-       editedCabalFile = "10k3x9cn4a23kqk909xiv8phkfgagf7p16qlfpr9swn1dn4xasgf";
+       version = "2.9.12";
+       sha256 = "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers hashable mmorph mtl text
          transformers unordered-containers
@@ -152773,6 +156266,23 @@ self: {
        broken = true;
      }) {objc = null;};
 
+  "lukko" = callPackage
+    ({ mkDerivation, async, base, bytestring, filepath, singleton-bool
+     , tasty, tasty-expected-failure, tasty-hunit, temporary
+     }:
+     mkDerivation {
+       pname = "lukko";
+       version = "0.1.1.1";
+       sha256 = "13wf2vgi3bq48h757qs0zi1sxa6ip9pk8fxfiq7qrrb9p5silcpj";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         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";
+     }) {};
+
   "luminance" = callPackage
     ({ mkDerivation, base, containers, contravariant, dlist, gl, linear
      , mtl, resourcet, semigroups, transformers, vector, void
@@ -153047,8 +156557,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.2.0.1";
-       sha256 = "0cp33l990na6wz9yb0kx2nzq3hqxpyc7s47xg0bvia8sajrkzdw6";
+       version = "0.3.0.5";
+       sha256 = "0mlwcchikmiaq6scs48g2snaiwcznwrcfksn4yij4hagjz734rpq";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -153550,6 +157060,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
@@ -153560,8 +157092,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 ];
@@ -153908,10 +157440,8 @@ self: {
     ({ mkDerivation, base, containers, srcloc, text, transformers }:
      mkDerivation {
        pname = "mainland-pretty";
-       version = "0.7";
-       sha256 = "1xzavchbp345a63i24hs8632l3xk0c1pxqd32b2i6615cp9pnxqi";
-       revision = "1";
-       editedCabalFile = "1apyqnbcsbjfkqc1d6mk74pxl12130r6ijwhj555gddls9g0qdf3";
+       version = "0.7.0.1";
+       sha256 = "0cifvdpqcb1cvjazgqwaxvl2ga7kap5a6f89yw1xn8y5yw7nz1c8";
        libraryHaskellDepends = [
          base containers srcloc text transformers
        ];
@@ -154498,8 +158028,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
@@ -154581,8 +158111,8 @@ self: {
      }:
      mkDerivation {
        pname = "manifold-random";
-       version = "0.5.0.3";
-       sha256 = "12k5h3r6wnqjy5vzia3hypwjrh953cc5n912k1rfdwm4m4pznq03";
+       version = "0.5.0.4";
+       sha256 = "0wf0ya7w73ikd0ivg7m8q4nnc3mv7426l5xlf04zs5gh982x33gl";
        libraryHaskellDepends = [
          base constrained-categories linearmap-category manifolds random-fu
          semigroups vector-space
@@ -154604,10 +158134,8 @@ self: {
      }:
      mkDerivation {
        pname = "manifolds";
-       version = "0.5.0.3";
-       sha256 = "16g0xfs99xcccyngknplgmargz4y4ncfw0wjm7sinjcrfd7js9fb";
-       revision = "2";
-       editedCabalFile = "0l76g7aqjfpp8s9wxdap4lhp3m06hfghz9lgdkr5nfjx60bgy69x";
+       version = "0.5.0.4";
+       sha256 = "0cng3sp2lg8bfi8g9w4p7ccmg5b177svljl5cki286kdjqsvl320";
        libraryHaskellDepends = [
          array base binary call-stack comonad constrained-categories
          containers deepseq free free-vector-spaces ieee754 lens linear
@@ -154630,8 +158158,8 @@ self: {
     ({ mkDerivation, base, call-stack, tagged, vector-space }:
      mkDerivation {
        pname = "manifolds-core";
-       version = "0.5.0.3";
-       sha256 = "1r459qjbdqygxplv06bnqrysfl0xvmx5i7jkwgah1blpmipr4nwz";
+       version = "0.5.0.4";
+       sha256 = "0b1acwmmjcgq6bb0qijh227wq49vl295gd0d4iz8lpk1g1pwb2v2";
        libraryHaskellDepends = [ base call-stack tagged vector-space ];
        description = "The basic classes for the manifolds hierarchy";
        license = stdenv.lib.licenses.gpl3;
@@ -154677,19 +158205,17 @@ self: {
      }:
      mkDerivation {
        pname = "map-reduce-folds";
-       version = "0.1.0.1";
-       sha256 = "0jvgg1wk8qaxd7w3d5y7hr62xswy7xqs7b12jdjwzxm7d6k47lvq";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.0.3";
+       sha256 = "0hkdsip3d9nvdalsra7bg7ynah3vv46lg07c7f01psv031gkhgik";
        libraryHaskellDepends = [
          base containers discrimination foldl hashable hashtables parallel
          profunctors split streaming streamly text unordered-containers
          vector
        ];
-       executableHaskellDepends = [
-         base containers foldl profunctors text unordered-containers
+       testHaskellDepends = [
+         base containers foldl hedgehog profunctors text
+         unordered-containers
        ];
-       testHaskellDepends = [ base containers foldl hedgehog ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq foldl profunctors random text
          unordered-containers
@@ -154708,8 +158234,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
@@ -154785,6 +158311,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "maquinitas-tidal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "maquinitas-tidal";
+       version = "0.1.0";
+       sha256 = "1gdbcjhcdgk1jx674rbh4lr1xbcks18xiygywsh3pv846wh3m0n6";
+       libraryHaskellDepends = [ base ];
+       description = "library for MIDI control of hardware";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "marihana" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -155141,6 +158678,8 @@ self: {
        ];
        description = "A ContT-based wrapper for Haskell-to-C marshalling functions";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "marvin" = callPackage
@@ -155204,8 +158743,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;
@@ -155246,6 +158785,23 @@ self: {
        broken = true;
      }) {};
 
+  "mason" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, integer-gmp, network
+     , text
+     }:
+     mkDerivation {
+       pname = "mason";
+       version = "0.1";
+       sha256 = "1h9ch2q84n9hbcr6nvb7vllxb05m81vjwlk1vkarp31qjbfcmh29";
+       libraryHaskellDepends = [
+         base bytestring ghc-prim integer-gmp network text
+       ];
+       description = "Fast and extensible bytestring builder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "massiv" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
      , data-default-class, deepseq, doctest, exceptions
@@ -155254,8 +158810,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.4.1.0";
-       sha256 = "0h6rr5fx3kj5qs30zyfzmmvqnwn43fl4smjfd7qx4fhp48bq89nw";
+       version = "0.4.4.0";
+       sha256 = "13hwf1z9iqybrjsn21gkglqq3knin6x84rflv3wk6wplk7dfhd2n";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq exceptions primitive
@@ -155267,6 +158823,8 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-io" = callPackage
@@ -155275,14 +158833,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
@@ -155312,8 +158872,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv-test";
-       version = "0.1.0";
-       sha256 = "08rs0j773c3jxnj6akh8gaywfz2g10w1ddmcqpkci5bqqjmqqf85";
+       version = "0.1.1";
+       sha256 = "0fz3bf0lmwhzbxwpfschwk4yn3dzr5p542dqkvkbdmlx97spm1vi";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq exceptions hspec massiv
          primitive QuickCheck scheduler unliftio vector
@@ -155324,6 +158884,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
@@ -155431,36 +158993,36 @@ self: {
      }) {inherit (pkgs) pcre;};
 
   "math-functions" = callPackage
-    ({ mkDerivation, base, data-default-class, deepseq, erf, HUnit
-     , primitive, QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, vector, vector-th-unbox
+    ({ mkDerivation, base, data-default-class, deepseq, erf, primitive
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, vector
+     , vector-th-unbox
      }:
      mkDerivation {
        pname = "math-functions";
-       version = "0.3.2.1";
-       sha256 = "1d1zgc9y3pgahpkn2vgzc2vh412z54i03gw98s95jpqclvl7fyck";
+       version = "0.3.3.0";
+       sha256 = "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3";
        libraryHaskellDepends = [
          base data-default-class deepseq primitive vector vector-th-unbox
        ];
        testHaskellDepends = [
-         base data-default-class deepseq erf HUnit primitive QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2
-         vector vector-th-unbox
+         base data-default-class deepseq erf primitive QuickCheck tasty
+         tasty-hunit tasty-quickcheck vector vector-th-unbox
        ];
        description = "Collection of tools for numeric computations";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "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";
@@ -155634,8 +159196,8 @@ self: {
      }:
      mkDerivation {
        pname = "matplotlib";
-       version = "0.7.4";
-       sha256 = "0vpvi0iigmajz3dn0kx5kk9i7ccpbxs1f9fg4qymy3v18zd3wiqg";
+       version = "0.7.5";
+       sha256 = "0iyjr6j5jp7lqrk9rqqvxz3rx8221hwz56p82zqkj3aarrvy21cs";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq filepath process split
          temporary
@@ -155743,20 +159305,19 @@ self: {
      }) {};
 
   "matrix-static" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, matrix, tasty, tasty-hunit, vector
+    ({ mkDerivation, base, deepseq, ghc-typelits-natnormalise, matrix
+     , tasty, tasty-hunit, vector
      }:
      mkDerivation {
        pname = "matrix-static";
-       version = "0.2";
-       sha256 = "0g4vkzc6jw4sx2an86d20fv9b23jzly8dxsan7ygih1mp8rn5r07";
+       version = "0.2.1";
+       sha256 = "1jq6f3as18q0z9z8nxf3jsa6fgci9nsp4m4qbr13429m6rl11x1n";
        libraryHaskellDepends = [
-         base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         vector
+         base deepseq ghc-typelits-natnormalise matrix vector
        ];
        testHaskellDepends = [
-         base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         tasty tasty-hunit vector
+         base deepseq ghc-typelits-natnormalise matrix tasty tasty-hunit
+         vector
        ];
        description = "Type-safe matrix operations";
        license = stdenv.lib.licenses.bsd3;
@@ -156658,6 +160219,27 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "megaparsec_8_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, mtl, parser-combinators, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "8.0.0";
+       sha256 = "0633rqzrxzhq43z6i7ancncd633fm2b8755683si4v818r3cdmxm";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers deepseq mtl
+         parser-combinators scientific text transformers
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion deepseq text weigh
+       ];
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "megaparsec-tests" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
@@ -156684,6 +160266,31 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "megaparsec-tests_8_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
+     , megaparsec, mtl, parser-combinators, QuickCheck, scientific, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "megaparsec-tests";
+       version = "8.0.0";
+       sha256 = "1l71s16fhl2054myj02fnnjr71pfypjvwxd0hxzf83zwmqnv558f";
+       libraryHaskellDepends = [
+         base bytestring containers hspec hspec-expectations
+         hspec-megaparsec megaparsec mtl QuickCheck text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers hspec
+         hspec-expectations hspec-megaparsec megaparsec mtl
+         parser-combinators QuickCheck scientific text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Test utilities and the test suite of Megaparsec";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "meldable-heap" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -157249,8 +160856,8 @@ self: {
      }:
      mkDerivation {
        pname = "mergeful";
-       version = "0.0.0.0";
-       sha256 = "1zvli3gqw5svr5k36yl420ih2x8drl1522khn8jmjp9n26hc080w";
+       version = "0.1.0.0";
+       sha256 = "1cw3mrbza5fqrh4qg4bjzw4dv23vwb0aglh0dcwzmzsl23hnvhad";
        libraryHaskellDepends = [
          aeson base containers mtl text time validity validity-containers
          validity-time
@@ -157486,6 +161093,19 @@ self: {
        broken = true;
      }) {};
 
+  "metaheuristics" = callPackage
+    ({ mkDerivation, arrows, base, random, Stream }:
+     mkDerivation {
+       pname = "metaheuristics";
+       version = "0.0.8";
+       sha256 = "0rdw0laqx9kypfwzqb4ir18r07sjxgm4pwfs82bjpwq0gf58nzas";
+       libraryHaskellDepends = [ arrows base random Stream ];
+       description = "Generalised local search within Haskell, for applications in combinatorial optimisation";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "metamorphic" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -158043,10 +161663,10 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-process";
-       version = "0.2.0.0";
-       sha256 = "05bkm3nhiv2mprds9xlmmnzll91hn76navb9h9kc9nl5rnq4nwrn";
-       revision = "4";
-       editedCabalFile = "00dhcr2czcx986a4lijmlbrxk2wm059mmbh63qs48wb6z4rrsg7y";
+       version = "0.2.0.1";
+       sha256 = "0grnqs0b76la48ql6amrjnqfkgcb0rcq3s2xqs2czjg2jgp3zw5r";
+       revision = "2";
+       editedCabalFile = "0jy50p09axr5gwkhc2qnlragpzvy3s6b947s7r3354ya2byli4dz";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base filepath microlens process ];
        testHaskellDepends = [ base doctest microlens process ];
@@ -158705,6 +162325,26 @@ self: {
        broken = true;
      }) {};
 
+  "mini-egison" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-meta, hspec, primes
+     , regex-compat, sort, split, template-haskell
+     }:
+     mkDerivation {
+       pname = "mini-egison";
+       version = "0.1.6";
+       sha256 = "08348nw7xnni81iwcah43x5hi0hyqz286g3zpmkhja8if99l59lj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers haskell-src-meta regex-compat split
+         template-haskell
+       ];
+       executableHaskellDepends = [ base sort ];
+       testHaskellDepends = [ base hspec primes ];
+       description = "Template Haskell Implementation of Egison Pattern Matching";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "miniball" = callPackage
     ({ mkDerivation, base, vector }:
      mkDerivation {
@@ -158766,8 +162406,8 @@ self: {
      }:
      mkDerivation {
        pname = "minilight";
-       version = "0.4.0";
-       sha256 = "1ishxvijigfjfvrqiibbds2l7bb5vp51lsy933q4nphapvqrhk2m";
+       version = "0.4.1";
+       sha256 = "0zx21dhnzc8p0x6v827178rl2s215gik705fggmg31hqhwkzfy4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -158790,14 +162430,12 @@ self: {
      }) {};
 
   "minimal-configuration" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, tconfig }:
+    ({ mkDerivation, base, containers, directory, filepath }:
      mkDerivation {
        pname = "minimal-configuration";
-       version = "0.1.3";
-       sha256 = "0i65n0r2p51sc46108hc69lpng0q9mmki60csgb5s56h7vj4qmvw";
-       libraryHaskellDepends = [
-         base containers directory filepath tconfig
-       ];
+       version = "0.1.4";
+       sha256 = "0bxz3vmy5b6jxb41h83xrwqihbaqvjj5lm4bfg9x2ykksfqdc3kw";
+       libraryHaskellDepends = [ base containers directory filepath ];
        description = "Minimal ini like configuration library with a few extras";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -158846,8 +162484,8 @@ self: {
      }:
      mkDerivation {
        pname = "minio-hs";
-       version = "1.5.0";
-       sha256 = "0qp8zl7f055lpchg8abcc27jq4s0nn14qp474qrj4wdmynfi8bc8";
+       version = "1.5.1";
+       sha256 = "11y8l1x5wp8pjcl3kxdlxyhfvkifpgxiywp82hwdr3r7rjc80wlw";
        libraryHaskellDepends = [
          aeson base base64-bytestring binary bytestring case-insensitive
          conduit conduit-extra connection cryptonite cryptonite-conduit
@@ -159249,6 +162887,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "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.4.0.0";
+       sha256 = "067z49ial3dwkbcza54aivdh8r4yx54zmpyxmd6mpyqlv96dv8gc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers http-api-data http-types lucid
+         network-uri servant servant-lucid text transformers vector
+       ];
+       description = "A tasty Haskell front-end framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "miso-action-logger" = callPackage
     ({ mkDerivation, aeson, base, ghcjs-base, miso }:
      mkDerivation {
@@ -159266,8 +162924,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "miso-examples";
-       version = "1.2.0.0";
-       sha256 = "1wg4nli3qzq0dw9il4hqw78mpvcsbj22i2vdv2n9gafv9qsb6r68";
+       version = "1.3.0.0";
+       sha256 = "1nwiznlhvnr7jcaqp1w0l2wwci9jbs56jrdiz79mpxrqq79h1icg";
        isLibrary = false;
        isExecutable = true;
        description = "A tasty Haskell front-end framework";
@@ -159546,6 +163204,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "The library that can be used for optimization of multiple (Ord a) => a -> b transformations";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "mmap" = callPackage
@@ -159588,6 +163248,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
@@ -159598,8 +163286,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 = [
@@ -159646,6 +163334,126 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmsyn2" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "mmsyn2";
+       version = "0.1.7.0";
+       sha256 = "1laskxwmylmg7mzm4h6z013s7rhfxf9y1mrvy4dp1cc80kq3scg0";
+       libraryHaskellDepends = [ base vector ];
+       description = "The library that can be used for multiple (Ord a) => a -> b transformations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mmsyn3" = callPackage
+    ({ mkDerivation, base, directory }:
+     mkDerivation {
+       pname = "mmsyn3";
+       version = "0.1.4.0";
+       sha256 = "1i93744jprkg94lwcas2hvb341m6j08ncn1lzlz6d8z2blpd5z4w";
+       libraryHaskellDepends = [ base directory ];
+       description = "A small library to deal with executable endings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mmsyn4" = callPackage
+    ({ mkDerivation, base, directory, mmsyn2, mmsyn3, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn4";
+       version = "0.1.5.0";
+       sha256 = "0bwdngcasppsfk7znijzimgrrbiilapz4cqg45j2xvd5niaqkfkm";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory mmsyn2 mmsyn3 process vector
+       ];
+       description = "The \"glue\" between electronic tables and GraphViz";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mmsyn5" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mmsyn5";
+       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, directory, mmsyn2, mmsyn3
+     , mmsyn5, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn6ukr";
+       version = "0.6.2.0";
+       sha256 = "1qmyak0srd3ksj8kk8a8dyy6cbg9kdacdlldnpw46778a5792k0m";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       description = "A musical instrument synthesizer or a tool for Ukrainian language listening";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mmsyn7h" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn6ukr, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn7h";
+       version = "0.2.1.0";
+       sha256 = "0ip5w42wrng87lyygawqdfwfi5ba9qam5ryc1mf7mzfcfajpfh3b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       description = "A program and a library that produces a sound recording specified by the Ukrainian text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mmsyn7ukr" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn6ukr, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn7ukr";
+       version = "0.3.0.1";
+       sha256 = "0pl8yhc1c888xxbn5y6yksdfdwakx46c9nr1mwv474ra266fkcmp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       description = "A simple basic interface to some SoX functionality or to produce a voice that can be used by mmsyn7h";
+       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
@@ -159763,6 +163571,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mod" = callPackage
+    ({ mkDerivation, base, deepseq, integer-gmp, quickcheck-classes
+     , quickcheck-classes-base, semirings, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "mod";
+       version = "0.1.0.0";
+       sha256 = "10cvd4275jzd8h1f227nivbvf52kbk0hn00zwrb1hmrgif6a31gd";
+       libraryHaskellDepends = [ base deepseq integer-gmp semirings ];
+       testHaskellDepends = [
+         base quickcheck-classes quickcheck-classes-base semirings tasty
+         tasty-quickcheck
+       ];
+       description = "Fast type-safe modular arithmetic";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "modbus-tcp" = callPackage
     ({ mkDerivation, base, bytestring, cereal, mtl, transformers }:
      mkDerivation {
@@ -159823,6 +163648,8 @@ self: {
        pname = "modern-uri";
        version = "0.3.1.0";
        sha256 = "1pi7la2rrpfa9qszz7zm4dd7dihakm4kjrhjzvxpbp4n34ihl8h5";
+       revision = "2";
+       editedCabalFile = "0slfswzl4khpn0z8g7frn63gx7hw9n7nc3yff659q18nq7c6vjxd";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -160125,19 +163952,26 @@ self: {
      }) {};
 
   "mollie-api-haskell" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, HsOpenSSL, http-client
-     , http-client-openssl, http-types, mtl, text, time
+    ({ mkDerivation, aeson, base, bytestring, currency-codes
+     , data-default, http-client, http-client-tls, http-media
+     , http-types, lens, mtl, servant, servant-client
+     , servant-client-core, tasty, tasty-hunit, text, time
+     , unordered-containers
      }:
      mkDerivation {
        pname = "mollie-api-haskell";
-       version = "0.2.0.1";
-       sha256 = "0hyxfa2diqjlcd0x5fxscn8lsmjkwzpvvj04w2n52q5dnm76qacm";
+       version = "2.0.0.0";
+       sha256 = "196xk0qca5aghmx509m2cgqcpgiw8xlg8qk35ca2irx8jdq6rwch";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring HsOpenSSL http-client http-client-openssl
-         http-types mtl text time
+         aeson base bytestring currency-codes data-default http-client
+         http-client-tls http-media http-types lens mtl servant
+         servant-client servant-client-core text time unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring currency-codes data-default lens tasty
+         tasty-hunit time
        ];
-       testHaskellDepends = [ base ];
        description = "Mollie API client for Haskell http://www.mollie.com";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -160278,12 +164112,14 @@ self: {
      }) {};
 
   "monad-codec" = callPackage
-    ({ mkDerivation, base, binary, containers, data-lens, mtl }:
+    ({ mkDerivation, base, binary, containers, data-lens-light, mtl }:
      mkDerivation {
        pname = "monad-codec";
-       version = "0.2.0";
-       sha256 = "0jim6hk891jby2gch6f1k4262jm8fl9jgl808dj204ylz8w1475l";
-       libraryHaskellDepends = [ base binary containers data-lens mtl ];
+       version = "0.2.1";
+       sha256 = "0n9mjzx6p75nm4f7ndlha9jmyvwdxaknhnds9cm8p4sj9mpsmgid";
+       libraryHaskellDepends = [
+         base binary containers data-lens-light mtl
+       ];
        description = "Monadic conversion between complex data structures and unique integers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -160592,8 +164428,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.30";
-       sha256 = "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7";
+       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
@@ -160643,8 +164479,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.4.0";
-       sha256 = "1jwwpjn35mvl7z05xcykpxdyhaa6mgiighgcr8qzprrmw89kwb05";
+       version = "0.1.6.0";
+       sha256 = "1n4r0fl043r18683ym3k03sdm3b9wlxfzjgmnxi804kwna639rj3";
        libraryHaskellDepends = [
          base bytestring fast-logger hsyslog monad-logger text transformers
        ];
@@ -160838,8 +164674,10 @@ self: {
      }:
      mkDerivation {
        pname = "monad-par";
-       version = "0.3.4.8";
-       sha256 = "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q";
+       version = "0.3.5";
+       sha256 = "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2";
+       revision = "1";
+       editedCabalFile = "17l7zjykf5iqjmw1pq4iwls7v9x9d3in94iikxabx43q5l2iccsm";
        libraryHaskellDepends = [
          abstract-deque abstract-par array base containers deepseq
          monad-par-extras mtl mwc-random parallel
@@ -161008,8 +164846,8 @@ self: {
     ({ mkDerivation, base, mmorph, mtl, transformers }:
      mkDerivation {
        pname = "monad-resumption";
-       version = "0.1.3.0";
-       sha256 = "0zi4p8v02shw0m471xsq1d3wbskz6jd2j92wpdi3qcd8fx4i283q";
+       version = "0.1.4.0";
+       sha256 = "0hc9dbqhd609lzn79c25zwhm55262i9yip16ag9rysxv6rxbshml";
        libraryHaskellDepends = [ base mmorph mtl transformers ];
        description = "Resumption and reactive resumption monads for Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -161306,6 +165144,8 @@ self: {
        pname = "monadLib";
        version = "3.10";
        sha256 = "18vvcq6s9aci314daqkniq9aj1wdqa7rd3v06vd506a98c7lwp31";
+       revision = "1";
+       editedCabalFile = "072k4hnqkrfq80yh4qz2zw72fn43zm8l5rbjnckjaqdx4l315p11";
        libraryHaskellDepends = [ base ];
        description = "A collection of monad transformers";
        license = stdenv.lib.licenses.bsd3;
@@ -161769,8 +165609,8 @@ self: {
      }:
      mkDerivation {
        pname = "mono-traversable";
-       version = "1.0.12.0";
-       sha256 = "1h586myaayxg73lc1fx18axlq2bw761fypyy7mii1h0h75d8fyry";
+       version = "1.0.13.0";
+       sha256 = "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma";
        libraryHaskellDepends = [
          base bytestring containers hashable split text transformers
          unordered-containers vector vector-algorithms
@@ -161784,6 +165624,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mono-traversable_1_0_15_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, foldl, gauge
+     , hashable, hspec, HUnit, mwc-random, QuickCheck, semigroups, split
+     , text, transformers, unordered-containers, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "mono-traversable";
+       version = "1.0.15.1";
+       sha256 = "1psxhfjmpv3y54wy8f8dwa43finlj7aw2mry67pg521gxmwmppy2";
+       libraryHaskellDepends = [
+         base bytestring containers hashable split text transformers
+         unordered-containers vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         base bytestring containers foldl hspec HUnit QuickCheck semigroups
+         text transformers unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [ base gauge mwc-random vector ];
+       description = "Type classes for mapping, folding, and traversing monomorphic containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mono-traversable-instances" = callPackage
     ({ mkDerivation, base, comonad, containers, dlist, dlist-instances
      , mono-traversable, semigroupoids, semigroups, transformers
@@ -161859,10 +165723,10 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-extras";
-       version = "0.5";
-       sha256 = "172d1mfns7agd619rlbb1i9kw2y26kjvivkva06k1r14bar1lmy6";
-       revision = "3";
-       editedCabalFile = "1f6yd2lzvcr983xh68wgvxibx2a8ldgkcvac48pqqcxl1ywx1iny";
+       version = "0.5.1";
+       sha256 = "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37";
+       revision = "1";
+       editedCabalFile = "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913";
        libraryHaskellDepends = [ base groups semigroupoids semigroups ];
        benchmarkHaskellDepends = [ base criterion semigroups ];
        description = "Various extra monoid-related definitions and utilities";
@@ -161935,6 +165799,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "monoid-subclasses_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, primes, QuickCheck
+     , quickcheck-instances, tasty, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "monoid-subclasses";
+       version = "1.0";
+       sha256 = "1n7hd6whfr4gspads1frml4mbjmshyf9h42f57icz4ps3h1dzd1r";
+       libraryHaskellDepends = [
+         base bytestring containers primes text vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers primes QuickCheck quickcheck-instances
+         tasty tasty-quickcheck text vector
+       ];
+       description = "Subclasses of Monoid";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monoid-transformer" = callPackage
     ({ mkDerivation, base, semigroups }:
      mkDerivation {
@@ -161964,16 +165848,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 = "1";
-       editedCabalFile = "1k4k8g5a7swaylcqnga7lyp0lly8j1fqzdwsnznmps8bwn1pn1kk";
+       version = "0.6.0.1";
+       sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -162111,6 +165993,28 @@ self: {
        broken = true;
      }) {};
 
+  "months" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, cassava
+     , deepseq, hashable, http-api-data, intervals, lens, lucid
+     , QuickCheck, swagger2, text, time-compat
+     }:
+     mkDerivation {
+       pname = "months";
+       version = "0.1";
+       sha256 = "000fqmd5j3pxmfa5bpyk5fd0hbn9iq3g5v1slk4hrjdjm8k19wa0";
+       revision = "2";
+       editedCabalFile = "030d693d4acc3zlha2rjzalrqn8i5pyqkw0zdp3i1hjr0694hwaf";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat cassava deepseq hashable
+         http-api-data intervals lens lucid QuickCheck swagger2 text
+         time-compat
+       ];
+       description = "Month, YearMonth, Quarter, YearQuarter types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "monus" = callPackage
     ({ mkDerivation, base, containers, smallcheck, tasty
      , tasty-quickcheck, tasty-smallcheck
@@ -162197,8 +166101,8 @@ self: {
     ({ mkDerivation, base, binary, containers, hspec }:
      mkDerivation {
        pname = "more-containers";
-       version = "0.2.1.2";
-       sha256 = "104ffslcjr8rfbsjy2g49v8l3nx9xrfqglmwcsfgar0n0xnh62ds";
+       version = "0.2.2.0";
+       sha256 = "1i4klvfwgw608sy81mqqvd107b187gkib2rwsz6aqc4rh0vm0a87";
        libraryHaskellDepends = [ base binary containers ];
        testHaskellDepends = [ base binary containers hspec ];
        description = "A few more collections";
@@ -162259,44 +166163,46 @@ self: {
 
   "morley" = callPackage
     ({ mkDerivation, aeson, aeson-options, aeson-pretty, base-noprelude
-     , base16-bytestring, base58-bytestring, binary, bytestring
+     , base16-bytestring, base58-bytestring, bimap, binary, bytestring
      , constraints, containers, cryptonite, data-default, directory
-     , filepath, fmt, formatting, generic-arbitrary, ghc-prim, hex-text
-     , hspec, hspec-expectations, HUnit, lens, megaparsec, memory
-     , morley-prelude, mtl, named, optparse-applicative
-     , parser-combinators, pretty-simple, qm-interpolated-string
-     , QuickCheck, quickcheck-arbitrary-adt, quickcheck-instances
-     , singletons, syb, tasty, tasty-ant-xml, tasty-discover
-     , tasty-hspec, tasty-quickcheck, template-haskell, text, time
-     , timerep, transformers-compat, vector, vinyl, wl-pprint-text
+     , filepath, first-class-families, fmt, formatting, ghc-prim, gitrev
+     , hex-text, hspec, hspec-expectations, HUnit, interpolate, lens
+     , megaparsec, memory, morley-prelude, mtl, named
+     , optparse-applicative, parser-combinators, pretty-simple
+     , pretty-terminal, QuickCheck, quickcheck-arbitrary-adt
+     , quickcheck-instances, show-type, singletons, spoon, syb, tasty
+     , tasty-ant-xml, tasty-discover, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, timerep
+     , transformers-compat, unordered-containers, vector, vinyl
+     , wl-pprint-text
      }:
      mkDerivation {
        pname = "morley";
-       version = "0.3.0.1";
-       sha256 = "042kzx6n7jc6chqjvm7l14gpyywvy2s193xsnsvax5cisppm752m";
+       version = "0.5.0";
+       sha256 = "0p84m66iklsqs8hhz33755lrqrjmp7xc9x62qbqj5bdg9mfi6kl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-options aeson-pretty base-noprelude base16-bytestring
-         base58-bytestring binary bytestring constraints containers
-         cryptonite data-default filepath fmt formatting ghc-prim hex-text
-         hspec lens megaparsec memory morley-prelude mtl named
-         parser-combinators QuickCheck quickcheck-arbitrary-adt
-         quickcheck-instances singletons syb tasty tasty-ant-xml
-         template-haskell text time timerep transformers-compat vector vinyl
-         wl-pprint-text
+         base58-bytestring bimap binary bytestring constraints containers
+         cryptonite data-default first-class-families fmt formatting
+         ghc-prim gitrev hex-text hspec interpolate lens megaparsec memory
+         morley-prelude mtl named parser-combinators pretty-terminal
+         QuickCheck quickcheck-arbitrary-adt quickcheck-instances show-type
+         singletons syb tasty tasty-ant-xml tasty-hunit template-haskell
+         text time timerep transformers-compat unordered-containers vector
+         vinyl wl-pprint-text
        ];
        executableHaskellDepends = [
-         base-noprelude data-default directory filepath fmt megaparsec
-         morley-prelude named optparse-applicative pretty-simple text
+         base-noprelude fmt morley-prelude named optparse-applicative
+         pretty-simple
        ];
        testHaskellDepends = [
-         aeson base-noprelude bytestring containers data-default directory
-         filepath fmt formatting generic-arbitrary hex-text hspec
-         hspec-expectations HUnit lens megaparsec morley-prelude mtl
-         qm-interpolated-string QuickCheck quickcheck-arbitrary-adt
-         quickcheck-instances singletons syb tasty tasty-hspec
-         tasty-quickcheck text
+         aeson base-noprelude bimap bytestring constraints containers
+         data-default directory filepath fmt formatting hex-text hspec
+         hspec-expectations HUnit lens megaparsec morley-prelude QuickCheck
+         quickcheck-arbitrary-adt quickcheck-instances singletons spoon syb
+         tasty tasty-hspec tasty-quickcheck text unordered-containers vinyl
        ];
        testToolDepends = [ tasty-discover ];
        description = "Developer tools for the Michelson Language";
@@ -162309,8 +166215,8 @@ self: {
     ({ mkDerivation, base-noprelude, universum }:
      mkDerivation {
        pname = "morley-prelude";
-       version = "0.2.0.1";
-       sha256 = "0dc0hi1gnw5ri7m0fl0pk3frgsnav1al4b6h4kwamhz4qh3av9b2";
+       version = "0.3.0";
+       sha256 = "1nrwrz54xg0v9v8f1caccpdav1d0nnjqy8r8wmj5cgf9y30jfzjf";
        libraryHaskellDepends = [ base-noprelude universum ];
        description = "A custom prelude used in Morley";
        license = stdenv.lib.licenses.agpl3Plus;
@@ -162340,38 +166246,50 @@ self: {
      }) {};
 
   "morpheus-graphql" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , filepath, lens, megaparsec, mtl, optparse-applicative, scientific
-     , scotty, tasty, tasty-hunit, template-haskell, text, transformers
-     , unordered-containers, utf8-string, uuid, vector, wai
-     , wai-websockets, warp, websockets
+    ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
+     , mtl, scientific, tasty, tasty-hunit, template-haskell, text
+     , th-lift-instances, transformers, unordered-containers, uuid
+     , vector, websockets
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.2.2";
-       sha256 = "1cgf6l6p97dfgj49gyygbd088smah3ichryrr8xvl1mr6pjclq5b";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.8.0";
+       sha256 = "1b2c39mgh66vkgzhz857m8mlb3kymxnfli0v3z9mrj39a75m6imz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers lens megaparsec mtl
-         scientific template-haskell text transformers unordered-containers
-         utf8-string uuid vector wai-websockets websockets
+         aeson base bytestring containers megaparsec mtl scientific
+         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 th-lift-instances transformers
+         unordered-containers uuid vector websockets
+       ];
+       description = "Morpheus GraphQL";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "morpheus-graphql-cli" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, morpheus-graphql
+     , optparse-applicative
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql-cli";
+       version = "0.1.0";
+       sha256 = "0xqk1mkgbh3y9wlb90hwvjzn31670pm8zanm3bijzm56q3lg4ni6";
+       isLibrary = false;
+       isExecutable = true;
        executableHaskellDepends = [
-         aeson attoparsec base bytestring containers filepath lens
-         megaparsec mtl optparse-applicative scientific scotty
-         template-haskell text transformers unordered-containers utf8-string
-         uuid vector wai wai-websockets warp websockets
+         base bytestring filepath morpheus-graphql optparse-applicative
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring containers lens megaparsec mtl
-         scientific tasty tasty-hunit template-haskell text transformers
-         unordered-containers utf8-string uuid vector wai-websockets
-         websockets
+         base bytestring filepath morpheus-graphql optparse-applicative
        ];
-       description = "Morpheus GraphQL";
+       description = "Morpheus GraphQL CLI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "morphisms" = callPackage
@@ -162433,8 +166351,8 @@ self: {
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.7.1";
-       sha256 = "1ff9h3zzcz59q07v0yx93v537z6swy65j88z9cn6mgfjrxjmqx2b";
+       version = "1.7.2";
+       sha256 = "0dpl0siabfyiw940ymy7ba3rx3p939x3ya6ias6l75saw1qw9lvn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -162528,6 +166446,8 @@ self: {
        ];
        description = "General purpose migrations library";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "moto-postgresql" = callPackage
@@ -162543,6 +166463,8 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "motor" = callPackage
@@ -162848,27 +166770,25 @@ self: {
      }) {};
 
   "mptcp-pm" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, bytestring-conversion
-     , c2hs, c2hsc, cereal, containers, fast-logger, HUnit, ip, netlink
-     , optparse-applicative, process
+    ({ mkDerivation, aeson, aeson-extra, aeson-pretty, base, bytestring
+     , bytestring-conversion, c2hs, c2hsc, cereal, containers
+     , fast-logger, filepath, hslogger, ip, netlink
+     , optparse-applicative, process, temporary, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "mptcp-pm";
-       version = "0.0.1";
-       sha256 = "0sknhb9i0hshyjc33g301l7lxy5cigilhzdmwc6bi0gxhnkgycki";
-       isLibrary = true;
+       version = "0.0.2";
+       sha256 = "0l55734pa31znn9k0pxvixhh6abcmfkhgx162krn622l4lij3h8m";
+       isLibrary = false;
        isExecutable = true;
-       libraryToolDepends = [ c2hs ];
        executableHaskellDepends = [
-         aeson base bytestring bytestring-conversion c2hsc cereal containers
-         fast-logger ip netlink optparse-applicative process
+         aeson aeson-extra aeson-pretty base bytestring
+         bytestring-conversion c2hsc cereal containers fast-logger filepath
+         hslogger ip netlink optparse-applicative process temporary text
+         unordered-containers
        ];
        executableToolDepends = [ c2hs ];
-       testHaskellDepends = [
-         aeson base bytestring cereal containers HUnit ip netlink
-       ];
-       testToolDepends = [ c2hs ];
-       doHaddock = false;
        description = "A work in progress Multipath TCP path manager";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -163000,8 +166920,8 @@ self: {
      }:
      mkDerivation {
        pname = "ms-tds";
-       version = "0.4.0.0";
-       sha256 = "0smdr7inwix9hbllj5r217pa17i6ha0wbciqnq9cjsjs9wjnybhh";
+       version = "0.4.0.1";
+       sha256 = "1yjvbn6a50wvcibvi5na6x1d7864zyspqhljvr0dpcfrz3s2yc31";
        libraryHaskellDepends = [
          array base binary bytestring crypto-random data-default-class mtl
          network template-haskell text time tls uuid-types x509-store
@@ -163853,11 +167773,25 @@ self: {
        pname = "multipart";
        version = "0.1.3";
        sha256 = "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z";
+       revision = "1";
+       editedCabalFile = "037ngpayaisc1jgcxyixy7lx42p2mz950k6wb0pl6dkc951hl88c";
        libraryHaskellDepends = [ base bytestring parsec stringsearch ];
        description = "HTTP multipart split out of the cgi package";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "multipart_0_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, parsec, stringsearch }:
+     mkDerivation {
+       pname = "multipart";
+       version = "0.2.0";
+       sha256 = "1rw668hxj04zpkfwhjqbd0ph0wy9k2khsrbsni9sxi2px49vnmym";
+       libraryHaskellDepends = [ base bytestring parsec stringsearch ];
+       description = "Parsers for the HTTP multipart format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "multipart-names" = callPackage
     ({ mkDerivation, base, case-insensitive, HUnit, lens, parsec
      , test-framework, test-framework-hunit
@@ -164087,15 +168021,17 @@ self: {
      }) {};
 
   "multiset" = callPackage
-    ({ mkDerivation, base, containers, deepseq, doctest, Glob }:
+    ({ mkDerivation, base, checkers, containers, deepseq, doctest
+     , QuickCheck, tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "multiset";
-       version = "0.3.4.1";
-       sha256 = "05iynv54mgfwil7l81ni8mrhhb5vz3fdls13vm2m3dnwqgp7vzxh";
-       revision = "1";
-       editedCabalFile = "1ddnvzpa9h21p013dwzf0iv2fvvf8mba6vaccf4anamvwa327kcl";
+       version = "0.3.4.3";
+       sha256 = "1i0mjjdv8ayfars014nch5p3jlbl1wlr1bbkp7q2iknkllasxz3r";
        libraryHaskellDepends = [ base containers deepseq ];
-       testHaskellDepends = [ base doctest Glob ];
+       testHaskellDepends = [
+         base checkers doctest QuickCheck tasty tasty-quickcheck
+       ];
        description = "The Data.MultiSet container type";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -164604,6 +168540,26 @@ self: {
        broken = true;
      }) {};
 
+  "musicw" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , file-embed, ghcjs-base, ghcjs-dom, ghcjs-prim, json, monad-loops
+     , mtl, safe, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "musicw";
+       version = "0.3.0";
+       sha256 = "143yxcj9c1wabg2nmm3ljpdi1r2ah9mf1c8hc2m74gwq08dl78zj";
+       libraryHaskellDepends = [
+         array base bytestring containers data-default file-embed ghcjs-base
+         ghcjs-dom ghcjs-prim json monad-loops mtl safe text time
+         transformers
+       ];
+       description = "Sound synthesis library, to be used with GHCJS and Web Audio API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {ghcjs-prim = null;};
+
   "musicxml" = callPackage
     ({ mkDerivation, base, containers, directory, HaXml, old-time
      , pretty
@@ -164649,8 +168605,8 @@ self: {
      }:
      mkDerivation {
        pname = "mustache";
-       version = "2.3.0";
-       sha256 = "1q3vadcvv2pxg6rpp92jq5zy784jxphdfpf6xn9y6wg9g3jn7201";
+       version = "2.3.1";
+       sha256 = "0j5kzlirirnj2lscxgc6r9j0if8s3pvxswjblma6yxpw6qyzk2xc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164906,6 +168862,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
@@ -165616,8 +169584,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "named";
-       version = "0.3.0.0";
-       sha256 = "03pg2xdx86c7ns8p04gn8l4nwpjx538545f0fjq0j3mlhn09qrh7";
+       version = "0.3.0.1";
+       sha256 = "0dnp4qbhn6ci2dlp230gpq8c5z26wb2liani1myc598g2b3c2qij";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Named parameters (keyword arguments) for Haskell";
@@ -166146,8 +170114,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;
@@ -166350,8 +170318,8 @@ self: {
      }:
      mkDerivation {
        pname = "neat-interpolation";
-       version = "0.3.2.4";
-       sha256 = "0lhpjckwhzlvx4cdhrwprwb85vc7hc44ybvk5nswgn7z73cp0wyy";
+       version = "0.3.2.5";
+       sha256 = "09nb0bypjpfxcm71012c2xxfrq5drvd1nhdmnmhk8wc0r8254g8c";
        libraryHaskellDepends = [
          base base-prelude megaparsec template-haskell text
        ];
@@ -166478,8 +170446,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 = [
@@ -166535,8 +170503,8 @@ self: {
      }:
      mkDerivation {
        pname = "nerf";
-       version = "0.5.3";
-       sha256 = "18rkjgk2r6784mjbdd2lydv9yac252xvj18m78bbaplnac1504ak";
+       version = "0.5.4.1";
+       sha256 = "1dwfm00r64vi6by92ggi184747v2mq94fbyl18r46icvgq0h1dl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -166544,8 +170512,12 @@ self: {
          dawg IntervalMap monad-ox mtl network polimorf polysoup sgd tagsoup
          text text-binary tokenize vector
        ];
-       executableHaskellDepends = [ directory filepath temporary ];
-       description = "Nerf, the named entity recognition tool based on linear-chain CRFs";
+       executableHaskellDepends = [
+         base binary bytestring cmdargs containers crf-chain1 data-named
+         dawg directory filepath IntervalMap monad-ox mtl network polimorf
+         polysoup sgd tagsoup temporary text text-binary tokenize vector
+       ];
+       description = "Nerf, a named entity recognition tool based on linear-chain CRFs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -166716,30 +170688,32 @@ self: {
 
   "net-mqtt" = callPackage
     ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
-     , bytestring, conduit, conduit-extra, containers, HUnit
-     , network-conduit-tls, network-uri, QuickCheck, stm, tasty
-     , tasty-hunit, tasty-quickcheck, text
+     , bytestring, conduit, conduit-extra, connection, containers
+     , deepseq, HUnit, network-conduit-tls, network-uri
+     , optparse-applicative, QuickCheck, stm, tasty, tasty-hunit
+     , tasty-quickcheck, text, websockets
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.5.1.0";
-       sha256 = "0wqrzp39d9c04j1lqsk8kn727bymcq8jk12v330l527lm5g76adj";
+       version = "0.6.2.2";
+       sha256 = "08svb0k43aqycbms2cabng49dgsiwsjw10lqmjsm18iasgr53gk0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra containers network-conduit-tls network-uri QuickCheck
-         stm text
+         conduit-extra connection containers deepseq network-conduit-tls
+         network-uri QuickCheck stm text websockets
        ];
        executableHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra containers network-conduit-tls network-uri QuickCheck
-         stm text
+         conduit-extra connection containers deepseq network-conduit-tls
+         network-uri optparse-applicative QuickCheck stm text websockets
        ];
        testHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra containers HUnit network-conduit-tls network-uri
-         QuickCheck stm tasty tasty-hunit tasty-quickcheck text
+         conduit-extra connection containers deepseq HUnit
+         network-conduit-tls network-uri QuickCheck stm tasty tasty-hunit
+         tasty-quickcheck text websockets
        ];
        description = "An MQTT Protocol Implementation";
        license = stdenv.lib.licenses.bsd3;
@@ -166747,6 +170721,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
@@ -166755,8 +170752,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider";
-       version = "0.3.2.0";
-       sha256 = "0b9k2gxb9nmjd59pcz7x8jrk2vycf8jk448ifpfc9spk6ylkh4gh";
+       version = "0.3.3.0";
+       sha256 = "0az14yg32psxkb5fm86g1gi7wd8cfq1lbn34852m6814qvk05m36";
        libraryHaskellDepends = [
          aeson base containers data-interval extended-reals greskell
          greskell-websocket hashable monad-logger safe-exceptions scientific
@@ -166778,8 +170775,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider-cli";
-       version = "0.1.0.1";
-       sha256 = "1qfzdfkiri3v344mk5zkc8mhxig3xmplcbw8382hkhsdmy4ny4ga";
+       version = "0.2.0.0";
+       sha256 = "0ls8j8l6nv74big5almkgmkzd9h5kdfiq4q06m86rfmbfq0cvhyk";
        libraryHaskellDepends = [
          aeson base greskell-core hashable net-spider optparse-applicative
          text
@@ -166799,8 +170796,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider-pangraph";
-       version = "0.1.1.0";
-       sha256 = "1j3s379ri05jg3bzhiz6d8fjvxlkz00l7mrphqmr46j4y8d9vrkv";
+       version = "0.1.1.1";
+       sha256 = "135apkmcdlasfvj7nrgghngh5kh7bb1dp30007fj0nihp06c8nhp";
        libraryHaskellDepends = [
          base bytestring greskell net-spider pangraph text time
        ];
@@ -166814,23 +170811,53 @@ self: {
      }) {};
 
   "net-spider-rpl" = callPackage
-    ({ mkDerivation, aeson, base, greskell, hashable, hspec, ip
-     , net-spider, text, time
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-parse
+     , fast-logger, greskell, hashable, hspec, ip, monad-logger, mtl
+     , net-spider, safe-exceptions, text, time
      }:
      mkDerivation {
        pname = "net-spider-rpl";
-       version = "0.2.1.0";
-       sha256 = "07f51ym5v1mpa1v6249sgkxqd8y52fdgs8l2r59mxil1ph6al7x1";
+       version = "0.3.1.0";
+       sha256 = "1nhvr3ybkms7l0m0qmmh7ib147hz2vgjwcsy00bhri054xryx7q2";
        libraryHaskellDepends = [
-         aeson base greskell hashable ip net-spider text time
+         aeson base conduit conduit-parse greskell hashable ip monad-logger
+         mtl net-spider safe-exceptions text time
+       ];
+       testHaskellDepends = [
+         base bytestring fast-logger hspec ip monad-logger net-spider text
        ];
-       testHaskellDepends = [ base hspec net-spider text ];
        description = "NetSpider data model and utility for RPL networks";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
 
+  "net-spider-rpl-cli" = callPackage
+    ({ mkDerivation, base, greskell, hspec, ip, monad-logger
+     , net-spider, net-spider-cli, net-spider-rpl, optparse-applicative
+     , text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "net-spider-rpl-cli";
+       version = "0.1.2.0";
+       sha256 = "11qbfvxwsba4dlwgrx81yncww2ic1iafp2zg5l5rvk8cnb2z5g2n";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base greskell monad-logger net-spider net-spider-cli net-spider-rpl
+         optparse-applicative text time unordered-containers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hspec ip net-spider net-spider-cli net-spider-rpl
+         optparse-applicative
+       ];
+       description = "CLI executable of NetSpider.RPL.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "netclock" = callPackage
     ({ mkDerivation, base, bytestring, hosc, network }:
      mkDerivation {
@@ -167314,14 +171341,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "network_3_1_0_1" = callPackage
+  "network_3_1_1_1" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit
      }:
      mkDerivation {
        pname = "network";
-       version = "3.1.0.1";
-       sha256 = "0r4x5ad7pl9fk7jknnv2wnizb83mi2ljambpavvarpj52b3mdwjs";
+       version = "3.1.1.1";
+       sha256 = "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp";
        libraryHaskellDepends = [ base bytestring deepseq ];
        testHaskellDepends = [ base bytestring directory hspec HUnit ];
        testToolDepends = [ hspec-discover ];
@@ -167431,8 +171458,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-arbitrary";
-       version = "0.4.0.7";
-       sha256 = "1bqdp7g40dxjin5530sb7mv9ga7qi86ppm4y41wfdyv26kl8lc7f";
+       version = "0.5.0.0";
+       sha256 = "1d3m0ycibbvnjbns4havp25x9i5ri6kirv579k1xnb82by4nkqap";
        libraryHaskellDepends = [
          base bytestring http-media http-types network-uri QuickCheck
        ];
@@ -167472,20 +171499,21 @@ self: {
 
   "network-bitcoin" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cookie, HTTP
-     , http-client, http-types, network, network-uri, QuickCheck, text
-     , time, unordered-containers, vector
+     , http-client, http-types, network, network-uri, QuickCheck, tasty
+     , tasty-quickcheck, text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "network-bitcoin";
-       version = "1.8.3";
-       sha256 = "1pllz4il53j9sf6xlxjl3ci3r1n348y6mg0vdy19xy19zy1rjz1q";
+       version = "1.9.1";
+       sha256 = "12ywzix3fpvlrd43v0q03lbm877pi2dz2x9w421sxvb6gvd2q7s0";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cookie HTTP http-client http-types
          network network-uri text time unordered-containers vector
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring cookie HTTP http-client http-types
-         network QuickCheck text time unordered-containers vector
+         network QuickCheck tasty tasty-quickcheck text time
+         unordered-containers vector
        ];
        description = "An interface to bitcoind";
        license = stdenv.lib.licenses.bsd3;
@@ -167509,8 +171537,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;
@@ -167544,8 +171572,8 @@ self: {
     ({ mkDerivation, base, bytestring, doctest }:
      mkDerivation {
        pname = "network-byte-order";
-       version = "0.1.1.1";
-       sha256 = "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c";
+       version = "0.1.2.0";
+       sha256 = "1y2azf5zbydzvi4b0hxmy7am4kgpkq8ajnsbrpfrqz87b5y87ccy";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ base bytestring doctest ];
        description = "Network byte order utilities";
@@ -167764,8 +171792,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-ip";
-       version = "0.3.0.2";
-       sha256 = "1zjy232pamkd3977cyaq5w5r6ksbpqpgzzlds15zrahjccirs9gf";
+       version = "0.3.0.3";
+       sha256 = "0p4mn7vz74kxmsc8xvg7gx5rs38knnv518bc0qv0b07ki51wq7g0";
        libraryHaskellDepends = [
          base data-default-class data-dword data-endian data-serializer
          data-textual hashable parsers text-printer type-hint
@@ -167808,8 +171836,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc";
-       version = "0.1.1.1";
-       sha256 = "1cmll84ida19f53cdvwi8nqym6bax8f0g40nq1a1gkh6mljby5a4";
+       version = "0.1.2.0";
+       sha256 = "118agkkbvfyynk6qg5yzazbs0s7w0bw9n0ndj8nm35yy6cil9lky";
        libraryHaskellDepends = [
          base bytestring data-msgpack safe-exceptions text
          unordered-containers
@@ -167825,8 +171853,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
        ];
@@ -167999,8 +172027,8 @@ self: {
     ({ mkDerivation, base, network }:
      mkDerivation {
        pname = "network-run";
-       version = "0.2.0";
-       sha256 = "1iabxk341yzsr28mpiam01wris20na4kbvbpxfzbcvlb1q2pjz5v";
+       version = "0.2.1";
+       sha256 = "0fviap6njppdw1dv9dy5027q37kz93w3vdzij0wgp4jp284qcc1f";
        libraryHaskellDepends = [ base network ];
        description = "Simple network runner library";
        license = stdenv.lib.licenses.bsd3;
@@ -168091,6 +172119,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
@@ -168712,6 +172759,8 @@ self: {
        pname = "newtype-generics";
        version = "0.5.4";
        sha256 = "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0";
+       revision = "1";
+       editedCabalFile = "1id9a6prj2bzdsyfsfr0pnfy9p8v9wlw59x12fny6y2szfcxcrv7";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -168739,15 +172788,16 @@ self: {
      }) {};
 
   "newtype-zoo" = callPackage
-    ({ mkDerivation, base, data-default, deepseq, pointed, profunctors
-     , QuickCheck, random
+    ({ mkDerivation, base, comonad, data-default, deepseq, pointed
+     , profunctors, QuickCheck, random
      }:
      mkDerivation {
        pname = "newtype-zoo";
-       version = "1.1.0.0";
-       sha256 = "0sw476mmczq6gfgbbbrybrna472p5bjrimsbblw9rlyzcg2szqrp";
+       version = "1.2.0.0";
+       sha256 = "12p2nyjpvbqjc7p6jd59ggl37jlg5rh9z8y1bxy4w98m47p8lj31";
        libraryHaskellDepends = [
-         base data-default deepseq pointed profunctors QuickCheck random
+         base comonad data-default deepseq pointed profunctors QuickCheck
+         random
        ];
        description = "Newtype Wrapper Zoo";
        license = stdenv.lib.licenses.bsd3;
@@ -168898,8 +172948,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.1.0.0";
-       sha256 = "0j3bfrmic9zrivsnaf4kzf5bf0inianmnn7v0c21s5ip775k5jy8";
+       version = "0.1.0.1";
+       sha256 = "0f55j4742rimq7jawgk0ca5kcxg9nz0lfpip5p3sw03w3g52xqxh";
        libraryHaskellDepends = [
          aeson base bytestring containers enclosed-exceptions http-client
          ngx-export-tools snap-core snap-server template-haskell text time
@@ -169121,31 +173171,33 @@ self: {
      }) {};
 
   "niv" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
-     , file-embed, filepath, github, hashable, mtl, optparse-applicative
-     , process, string-qq, tasty, tasty-hunit, text, unliftio
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
+     , bytestring, directory, file-embed, filepath, hashable
+     , http-conduit, mtl, optparse-applicative, process, profunctors
+     , pureMD5, string-qq, tasty, tasty-hunit, text, unliftio
      , unordered-containers
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.1.1";
-       sha256 = "1vrn5b753i949nf28g1wckqiax7pn4qx2xk5z7wdbx0w212nps8w";
+       version = "0.2.9";
+       sha256 = "1rmmipa33a8nip6fn616ihdiqdax15niblzspfk8ckrz5fpj2476";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring directory file-embed filepath
-         github hashable mtl optparse-applicative process string-qq tasty
-         tasty-hunit text unliftio unordered-containers
+         aeson aeson-pretty ansi-terminal base bytestring directory
+         file-embed filepath hashable http-conduit mtl optparse-applicative
+         process profunctors pureMD5 string-qq tasty tasty-hunit text
+         unliftio unordered-containers
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring directory file-embed filepath
-         github hashable mtl optparse-applicative process string-qq tasty
-         text unliftio unordered-containers
+         aeson aeson-pretty ansi-terminal base bytestring directory
+         file-embed filepath hashable http-conduit mtl optparse-applicative
+         process profunctors pureMD5 string-qq tasty text unliftio
+         unordered-containers
        ];
        description = "Easy dependency management for Nix projects";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "nix-delegate" = callPackage
@@ -169173,8 +173225,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-deploy";
-       version = "1.0.3";
-       sha256 = "0anhmc9g9k40nwj87f24hq4wnj6mkli36dzhzdpa0p3cpg7sh2kh";
+       version = "1.0.4";
+       sha256 = "1wmwrnm6wflkdaq0m84az1q6245iyvkzd2r47vdy9a2a1szqnvl3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -169254,6 +173306,36 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {inherit (pkgs) nix;};
 
+  "nix-tools" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Cabal
+     , containers, cryptohash-sha256, data-fix, deepseq, directory
+     , extra, filepath, hackage-db, hnix, hpack, http-client
+     , http-client-tls, http-types, microlens, microlens-aeson
+     , optparse-applicative, prettyprinter, process, tar, text, time
+     , transformers, unordered-containers, vector, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "nix-tools";
+       version = "0.1.0.0";
+       sha256 = "09cwqxqj8hqf72d0ix9qim9b5gbzgqjkq7lvwg3w59zik8j7r7qk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring Cabal cryptohash-sha256
+         data-fix deepseq directory filepath hnix hpack process text
+         transformers unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base base16-bytestring bytestring Cabal containers
+         cryptohash-sha256 data-fix directory extra filepath hackage-db hnix
+         hpack http-client http-client-tls http-types microlens
+         microlens-aeson optparse-applicative prettyprinter tar text time
+         transformers unordered-containers vector yaml zlib
+       ];
+       description = "cabal/stack to nix translation tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "nixfmt" = callPackage
     ({ mkDerivation, base, cmdargs, directory, filepath, megaparsec
      , parser-combinators, safe-exceptions, text, unix
@@ -169335,6 +173417,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
@@ -169770,8 +173854,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;
@@ -169874,6 +173958,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "nonempty-containers_0_3_3_0" = callPackage
+    ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
+     , hedgehog-fn, nonempty-vector, semigroupoids, tasty
+     , tasty-hedgehog, text, these, vector
+     }:
+     mkDerivation {
+       pname = "nonempty-containers";
+       version = "0.3.3.0";
+       sha256 = "11mrv2vzdqxjx3xn93zlwfxh7z2d5ca5cbsr25y4zv34brn114g2";
+       libraryHaskellDepends = [
+         base comonad containers deepseq nonempty-vector semigroupoids these
+         vector
+       ];
+       testHaskellDepends = [
+         base comonad containers hedgehog hedgehog-fn nonempty-vector
+         semigroupoids tasty tasty-hedgehog text these vector
+       ];
+       description = "Non-empty variants of containers data types, with full API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "nonempty-lift" = callPackage
     ({ mkDerivation, base, comonad, hedgehog, hedgehog-classes
      , semigroupoids
@@ -169890,6 +173996,23 @@ self: {
        broken = true;
      }) {};
 
+  "nonempty-vector" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest
+     , primitive, semigroups, vector
+     }:
+     mkDerivation {
+       pname = "nonempty-vector";
+       version = "0.2.0.1";
+       sha256 = "0qiwl58d5bvack33djhwqkblwk541w63a3hjqc7mik54y3j40s71";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base deepseq primitive semigroups vector
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Non-empty vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "nonemptymap" = callPackage
     ({ mkDerivation, base, containers, semigroupoids }:
      mkDerivation {
@@ -170112,6 +174235,8 @@ self: {
          transformers tuple
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "notmuch" = callPackage
@@ -170640,6 +174765,17 @@ self: {
        broken = true;
      }) {};
 
+  "numeric-domains" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numeric-domains";
+       version = "0.1.0.0";
+       sha256 = "0n5wcg2snpivbp6giqrcd1y97215y6n3hbgbnb6w2gi7qsmyyq10";
+       libraryHaskellDepends = [ base ];
+       description = "Numeric Domains";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "numeric-extras" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -170808,29 +174944,28 @@ 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;
      }) {};
 
   "numhask-array" = callPackage
-    ({ mkDerivation, adjunctions, base, deepseq, dimensions
-     , distributive, doctest, hedgehog, numhask-hedgehog
-     , numhask-prelude, protolude, singletons, vector
+    ({ mkDerivation, adjunctions, base, deepseq, distributive, doctest
+     , hedgehog, hmatrix, numhask, numhask-hedgehog, numhask-prelude
+     , protolude, vector
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.3.0.1";
-       sha256 = "02pcjnj1y3q053czra9697b4xgyq8dr9ynp7yz3lj9ksnn8dpx5n";
+       version = "0.5.0.0";
+       sha256 = "0gx2p7b7xb1x5nfp5szdvsbylqsci9bmmz5jmy86c4z13srxmkkq";
        libraryHaskellDepends = [
-         adjunctions base deepseq dimensions distributive numhask-prelude
-         protolude singletons vector
+         adjunctions base deepseq distributive hmatrix numhask
+         numhask-prelude protolude vector
        ];
        testHaskellDepends = [
-         adjunctions base dimensions doctest hedgehog numhask-hedgehog
-         numhask-prelude
+         base doctest hedgehog numhask-hedgehog numhask-prelude
        ];
        description = "n-dimensional arrays";
        license = stdenv.lib.licenses.bsd3;
@@ -170844,8 +174979,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
        ];
@@ -170857,17 +174992,17 @@ self: {
      }) {};
 
   "numhask-histogram" = callPackage
-    ({ mkDerivation, base, containers, doctest, foldl, numhask-prelude
-     , numhask-range, tdigest
+    ({ mkDerivation, base, containers, doctest, foldl, numhask-space
+     , tdigest
      }:
      mkDerivation {
        pname = "numhask-histogram";
-       version = "0.1.3.0";
-       sha256 = "1d4b1iv6czhc9747p5df3qlbj34nzlz608qp975cg31i63inz2ix";
+       version = "0.2.0";
+       sha256 = "0bkqn7h2cs5m318zira6idf2jmslgacci4mr2948dki1hbnj59xi";
        libraryHaskellDepends = [
-         base containers foldl numhask-prelude numhask-range tdigest
+         base containers foldl numhask-space tdigest
        ];
-       testHaskellDepends = [ base doctest numhask-prelude ];
+       testHaskellDepends = [ base doctest ];
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -170875,13 +175010,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;
@@ -170912,18 +175046,22 @@ self: {
      }) {};
 
   "numhask-space" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, numhask
-     , semigroupoids
+    ({ mkDerivation, adjunctions, base, containers, distributive
+     , doctest, foldl, lattices, semigroupoids, tdigest, text, time
      }:
      mkDerivation {
        pname = "numhask-space";
-       version = "0.1.1";
-       sha256 = "1rf86fbyrbs2a1dxrbr35a2dhfimclindlb4iimijs28is0zdz8s";
+       version = "0.3.0";
+       sha256 = "0j75qig7smx2lnl6drmsj2zs4zg6rw9vvcb1d0cjv47haw9xgz62";
        libraryHaskellDepends = [
-         adjunctions base distributive numhask semigroupoids
+         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
@@ -171186,8 +175324,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;
@@ -171206,14 +175344,13 @@ self: {
      }) {};
 
   "o-clock" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, gauge, ghc-prim, Glob
-     , hedgehog, markdown-unlit, tasty, tasty-hedgehog, tasty-hspec
-     , tiempo, time-units, type-spec
+    ({ mkDerivation, base, doctest, ghc-prim, Glob, hedgehog
+     , markdown-unlit, tasty, tasty-hedgehog, tasty-hspec, type-spec
      }:
      mkDerivation {
        pname = "o-clock";
-       version = "1.0.0.1";
-       sha256 = "0nmv0zvhd2wd327q268xd8x9swb5v6pm5fn9p5zyn0khja38s6fr";
+       version = "1.1.0";
+       sha256 = "15lad2rjnam0b1ny5zccd0ir3q4i559y28r93sqkws4j74mx8b4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ghc-prim ];
@@ -171223,7 +175360,6 @@ self: {
          tasty-hspec type-spec
        ];
        testToolDepends = [ doctest markdown-unlit ];
-       benchmarkHaskellDepends = [ base deepseq gauge tiempo time-units ];
        description = "Type-safe time library";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -171799,8 +175935,8 @@ self: {
     ({ mkDerivation, base, parsec, pretty, time }:
      mkDerivation {
        pname = "ofx";
-       version = "0.4.2.0";
-       sha256 = "1wcmrlf27s6iyyndzhyyrf9dzyjia0ii8s365y1h75h9kwkf48hf";
+       version = "0.4.4.0";
+       sha256 = "1wpcxzrbqw576pgx1jrpqs604ds0lpmg1282shd828lwg5myp33r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec pretty time ];
@@ -172259,18 +176395,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;
@@ -172327,6 +176462,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "op" = callPackage
+    ({ mkDerivation, base, containers, doctest }:
+     mkDerivation {
+       pname = "op";
+       version = "0.4.0.0";
+       sha256 = "17wng5pl4d92nkrmbzwi1c8l3cdh9ms50p6m7vvc4z1x4gnp9lf9";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base containers doctest ];
+       description = "Common operators encouraging large-scale easy reading";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "opaleye" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
@@ -172407,10 +176554,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.5.0";
-       sha256 = "18y9qcs771647g5xy7209rq32w7fqflcr313mdw1fv0m2ak65wb2";
-       revision = "2";
-       editedCabalFile = "1p51w0q74f8by2yw2hs1z9pfh6jxnlizf4jffjmj6j2kpm9hh3md";
+       version = "0.5.1";
+       sha256 = "11vfp8rb46fvrhryyw9k66cbfnd920n5r4mcasdcnxhn1n8hc7i4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -173037,6 +177182,8 @@ self: {
        pname = "openssl-streams";
        version = "1.2.2.0";
        sha256 = "0rplym6ayydkpr7x9mw3l13p0vzzfzzxw244d7sd3jcvaxpv0rmr";
+       revision = "1";
+       editedCabalFile = "125bxb2axgpcq7rrpamfq0yz017i0ks9zsykh6hn0ifw3lxj1k29";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL io-streams network
        ];
@@ -173457,23 +177604,21 @@ self: {
 
   "optics" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, criterion
-     , inspection-testing, lens, mtl, optics-core, optics-extra
-     , optics-th, random, tasty, tasty-hunit, template-haskell
-     , transformers, unordered-containers, vector
+     , indexed-profunctors, inspection-testing, lens, mtl, optics-core
+     , optics-extra, optics-th, random, tasty, tasty-hunit
+     , template-haskell, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "optics";
-       version = "0.1";
-       sha256 = "1xkccyshhzbf8c7v1vi7cw4k1a1gfgw9yl2wfma4q36bv96qq2lk";
-       revision = "1";
-       editedCabalFile = "01hbhb642f596a8dwx6rxq53cqhf40vgr6c3xrbvs025by890mpi";
+       version = "0.2";
+       sha256 = "0q80rambmw387dq23nsywzpwrvi8vjy9sg1fl2qwc2is6xki6pcl";
        libraryHaskellDepends = [
          array base containers mtl optics-core optics-extra optics-th
          transformers
        ];
        testHaskellDepends = [
-         base containers inspection-testing mtl optics-core random tasty
-         tasty-hunit template-haskell
+         base containers indexed-profunctors inspection-testing mtl
+         optics-core random tasty tasty-hunit template-haskell
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion lens transformers
@@ -173484,29 +177629,32 @@ self: {
      }) {};
 
   "optics-core" = callPackage
-    ({ mkDerivation, array, base, containers, transformers }:
+    ({ mkDerivation, array, base, containers, indexed-profunctors
+     , transformers
+     }:
      mkDerivation {
        pname = "optics-core";
-       version = "0.1";
-       sha256 = "0vyvvjlqps0sa03rxp0p2v9vjllff53adn3y6qfwrpc08kxwh7q1";
-       libraryHaskellDepends = [ array base containers transformers ];
+       version = "0.2";
+       sha256 = "19hsax8wxxgr28rjz6p9afb06f338xnyvws7salmm1dsik1ghzr8";
+       libraryHaskellDepends = [
+         array base containers indexed-profunctors transformers
+       ];
        description = "Optics as an abstract interface: core definitions";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "optics-extra" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, hashable, mtl
-     , optics-core, text, transformers, unordered-containers, vector
+    ({ mkDerivation, array, base, bytestring, containers, hashable
+     , indexed-profunctors, mtl, optics-core, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "optics-extra";
-       version = "0.1";
-       sha256 = "1z0blxm9gxbzqxxcm9bkj8jvf9apgn8abh0wdc4f220rs32c3v7g";
-       revision = "1";
-       editedCabalFile = "03n8pk423ckyk5rz8z8x9g0amxqpd75lsr90bjsjcp16qak4zjc7";
+       version = "0.2";
+       sha256 = "16n64dyii8b9w1prc73qwfjhinzixckd1xlmb4x8i1jlw2dbz5d1";
        libraryHaskellDepends = [
-         array base bytestring containers hashable mtl optics-core text
-         transformers unordered-containers vector
+         array base bytestring containers hashable indexed-profunctors mtl
+         optics-core text transformers unordered-containers vector
        ];
        description = "Extra utilities and instances for optics-core";
        license = stdenv.lib.licenses.bsd3;
@@ -173518,10 +177666,8 @@ self: {
      }:
      mkDerivation {
        pname = "optics-th";
-       version = "0.1";
-       sha256 = "1fqaxp7divk2wj7mvnsyzclly99l895dss1ssk6dzfgdijjjipk6";
-       revision = "2";
-       editedCabalFile = "1m5wcl6h83hhiyic7khw6lylmb4rvbaskvpssrd52b2a73gpzm69";
+       version = "0.2";
+       sha256 = "12hij9b5gqq1gdh7zbv09dsqbf9pr7wf2ywjnbf319sn20cn8fv8";
        libraryHaskellDepends = [
          base containers mtl optics-core template-haskell th-abstraction
          transformers
@@ -173532,14 +177678,16 @@ self: {
      }) {};
 
   "optics-vl" = callPackage
-    ({ mkDerivation, base, optics-core, profunctors }:
+    ({ mkDerivation, base, indexed-profunctors, optics-core
+     , profunctors
+     }:
      mkDerivation {
        pname = "optics-vl";
-       version = "0.1";
-       sha256 = "03khw0aqv7wdlym5maasm1l20gj4y1jzci89y592hx3y07mzvapl";
-       revision = "1";
-       editedCabalFile = "06x99059qi5qhsq7cql2l0pk0d1kh8is320xsnxw6qjp2c4hild2";
-       libraryHaskellDepends = [ base optics-core profunctors ];
+       version = "0.2";
+       sha256 = "0gd61ha93bws7fchjghc6bca9g8jgli0v6cl24g8ii2c22jgga6x";
+       libraryHaskellDepends = [
+         base indexed-profunctors optics-core profunctors
+       ];
        description = "Utilities for compatibility with van Laarhoven optics";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -173563,6 +177711,23 @@ self: {
        broken = true;
      }) {};
 
+  "optima-for-hasql" = callPackage
+    ({ mkDerivation, base, bytestring, hasql, hasql-pool, optima, text
+     , time
+     }:
+     mkDerivation {
+       pname = "optima-for-hasql";
+       version = "0.1.0.1";
+       sha256 = "1hqxhqj6cka7vjky9jp6bdk5gsach51bps6j2ii8h5bz01bln6df";
+       libraryHaskellDepends = [
+         base bytestring hasql hasql-pool optima text time
+       ];
+       description = "Command-line arguments parsing for Hasql";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "optimal-blocks" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-arbitrary, criterion
      , cryptohash, deepseq, hex, QuickCheck, vector
@@ -174114,8 +178279,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgmode-parse";
-       version = "0.2.2";
-       sha256 = "1f6wcxkln5ddaa2z7wbkp6wndgq38qv9h1wnn27gqcms02758v2r";
+       version = "0.2.3";
+       sha256 = "0vwmxgxvyr44qx2zvc796i7jid3c5nrfa82pf696vvjnxgb805sa";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable
          old-locale semigroups text thyme unordered-containers
@@ -174139,8 +178304,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgstat";
-       version = "0.1.6";
-       sha256 = "1w6nbgq29bdx0skqsy7h46x46g6rzpsgp2n5ldxv2nmbwbhq6bib";
+       version = "0.1.7";
+       sha256 = "1yvzs6sdkdgi5gfdgznnz1f03sf57icnn7bb5njcam7gxwvswbkp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174226,6 +178391,35 @@ self: {
        broken = true;
      }) {};
 
+  "ormolu" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dlist, exceptions
+     , filepath, ghc-lib-parser, gitrev, hspec, hspec-discover, mtl
+     , optparse-applicative, path, path-io, syb, text
+     }:
+     mkDerivation {
+       pname = "ormolu";
+       version = "0.0.2.0";
+       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring containers dlist exceptions ghc-lib-parser mtl syb
+         text
+       ];
+       executableHaskellDepends = [
+         base ghc-lib-parser gitrev optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base containers filepath hspec path path-io text
+       ];
+       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
     ({ mkDerivation, base, containers, hlint, hspec, parsec, process
      , regex-compat, temporary, transformers
@@ -174501,24 +178695,29 @@ self: {
      }) {};
 
   "overloaded" = callPackage
-    ({ mkDerivation, base, bytestring, containers, fin, generic-lens
-     , ghc, HUnit, lens, singleton-bool, sop-core, split, syb, symbols
-     , tasty, tasty-hunit, text, time, vec
+    ({ mkDerivation, base, bin, bytestring, containers, fin
+     , generic-lens, ghc, HUnit, lens, optics-core, ral, record-hasfield
+     , singleton-bool, sop-core, split, syb, symbols, tasty, tasty-hunit
+     , text, time, vec
      }:
      mkDerivation {
        pname = "overloaded";
-       version = "0.1.1";
-       sha256 = "0palmwxknrc5pqwhlij3rfbzfz9csi5h41iild89bxkb3qj0x2z4";
+       version = "0.2";
+       sha256 = "1kp3vbdfwp9caicmj2k1qznbsn844pm75sy8ywwm86334f08vshk";
        libraryHaskellDepends = [
-         base bytestring containers fin ghc sop-core split syb symbols text
-         time vec
+         base bin bytestring containers fin ghc optics-core ral
+         record-hasfield sop-core split syb symbols text time vec
        ];
        testHaskellDepends = [
-         base bytestring containers fin generic-lens HUnit lens
-         singleton-bool sop-core symbols tasty tasty-hunit text time vec
+         base bin bytestring containers fin generic-lens HUnit lens
+         optics-core ral record-hasfield singleton-bool sop-core symbols
+         tasty tasty-hunit text time vec
        ];
+       doHaddock = false;
        description = "Overloaded pragmas as a plugin";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "overloaded-records" = callPackage
@@ -174965,6 +179164,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pagure-cli" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , microlens, microlens-aeson, optparse-applicative, simple-cmd-args
+     , text
+     }:
+     mkDerivation {
+       pname = "pagure-cli";
+       version = "0.1";
+       sha256 = "092frs6240wf4nyqdkhny3jkd4v7gjmnd5gwxv9vlprimszns1vi";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring http-client http-client-tls microlens
+         microlens-aeson optparse-applicative simple-cmd-args text
+       ];
+       description = "Pagure client";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "pagure-hook-receiver" = callPackage
     ({ mkDerivation, base, containers, scotty, shelly, text
      , transformers, unix
@@ -175029,29 +179247,27 @@ self: {
        broken = true;
      }) {};
 
-  "pairing_0_5_0" = callPackage
+  "pairing_1_0_0" = callPackage
     ({ mkDerivation, base, bytestring, criterion, elliptic-curve
-     , errors, galois-field, MonadRandom, protolude, QuickCheck
+     , errors, galois-field, groups, MonadRandom, protolude, QuickCheck
      , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck
-     , wl-pprint-text
      }:
      mkDerivation {
        pname = "pairing";
-       version = "0.5.0";
-       sha256 = "0qnwkkfzd1jiqg4b989knvzzf05aljqjfqv1z35nl2ms46sqdv1b";
+       version = "1.0.0";
+       sha256 = "0mcjd463ffgq2ghvbi2h02dxy0p40ilhazznn2zqzqp7gksrhvfd";
        libraryHaskellDepends = [
-         base bytestring elliptic-curve errors galois-field MonadRandom
-         protolude QuickCheck wl-pprint-text
+         base bytestring elliptic-curve errors galois-field groups
+         MonadRandom protolude tasty-quickcheck
        ];
        testHaskellDepends = [
-         base bytestring elliptic-curve errors galois-field MonadRandom
-         protolude QuickCheck quickcheck-instances tasty tasty-hunit
-         tasty-quickcheck wl-pprint-text
+         base bytestring elliptic-curve errors galois-field groups
+         MonadRandom protolude QuickCheck quickcheck-instances tasty
+         tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [
-         base bytestring criterion elliptic-curve errors galois-field
-         MonadRandom protolude QuickCheck quickcheck-instances tasty
-         tasty-hunit tasty-quickcheck wl-pprint-text
+         base bytestring criterion elliptic-curve errors galois-field groups
+         MonadRandom protolude tasty-quickcheck
        ];
        description = "Bilinear pairings";
        license = stdenv.lib.licenses.mit;
@@ -175065,6 +179281,8 @@ self: {
        pname = "palette";
        version = "0.3.0.2";
        sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i";
+       revision = "1";
+       editedCabalFile = "0x536r15zzxlkf5p5a2x64qr5szdf9yh04vaiiwfhsm232qb6fjq";
        libraryHaskellDepends = [
          array base colour containers MonadRandom
        ];
@@ -175175,6 +179393,61 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_9_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, emojis
+     , exceptions, executable-path, filepath, Glob, haddock-library
+     , hslua, hslua-module-system, hslua-module-text, HsYAML, HTTP
+     , http-client, http-client-tls, http-types, ipynb, jira-wiki-markup
+     , 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.9.1";
+       sha256 = "1ywbsx8389vp4a85sxajdgj0vis4v8y6zkq87lla0s1lprk3am0a";
+       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
+         emojis exceptions filepath Glob haddock-library hslua
+         hslua-module-system hslua-module-text HsYAML HTTP http-client
+         http-client-tls http-types ipynb jira-wiki-markup 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
@@ -175211,20 +179484,59 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-citeproc_0_16_4_1" = 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
+     , pandoc-types, parsec, process, rfc5051, safe, setenv, split, syb
+     , tagsoup, temporary, text, time, unordered-containers, vector
+     , xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-citeproc";
+       version = "0.16.4.1";
+       sha256 = "1jbd6g82sn3546kimm0p6n7spfqr3b4dssjkr5v679jwb5w6hwmx";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hs-bibutils HsYAML HsYAML-aeson mtl network old-locale pandoc
+         pandoc-types parsec rfc5051 setenv split syb tagsoup text time
+         unordered-containers vector xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring filepath libyaml
+         pandoc pandoc-types safe syb text yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath mtl pandoc
+         pandoc-types process temporary text yaml
+       ];
+       doCheck = false;
+       description = "Supports using pandoc with citeproc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "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
@@ -175236,8 +179548,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.4.1";
-       sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny";
+       version = "0.3.6.1";
+       sha256 = "1fk06lg9hx5gdmjf4qsgl4p34y676v33l8yc0hyrdx81v8yicp5m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -175261,6 +179573,8 @@ self: {
        ];
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-csv2table" = callPackage
@@ -175301,8 +179615,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "A Pandoc filter for emphasizing code in fenced blocks";
        license = stdenv.lib.licenses.mpl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-filter-graphviz" = callPackage
@@ -175369,8 +179681,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-include-code";
-       version = "1.4.0.0";
-       sha256 = "0s3dayslfpnivr5h6napcrdh35bay7797z8nxjhr7c78ni7gdax9";
+       version = "1.5.0.0";
+       sha256 = "07ah6f28sb68wdp3514jmxgh2bdvwqdn60ym8j0qbk98i9gsj0ax";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -175380,7 +179692,7 @@ self: {
        executableHaskellDepends = [ base pandoc-types ];
        testHaskellDepends = [
          base hspec hspec-expectations pandoc-types tasty tasty-hspec
-         tasty-hunit
+         tasty-hunit text
        ];
        description = "A Pandoc filter for including code from source files";
        license = stdenv.lib.licenses.mpl20;
@@ -175451,24 +179763,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
@@ -175527,6 +179838,38 @@ self: {
        broken = true;
      }) {};
 
+  "pandoc-pyplot_2_3_0_1" = callPackage
+    ({ mkDerivation, base, containers, data-default-class, deepseq
+     , directory, filepath, hashable, hspec, hspec-expectations, mtl
+     , open-browser, optparse-applicative, pandoc, pandoc-types
+     , shakespeare, tasty, tasty-hspec, tasty-hunit, template-haskell
+     , temporary, text, typed-process, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-pyplot";
+       version = "2.3.0.1";
+       sha256 = "0jpf1fvn3qqaw7094sa79k12v7a7nbqcr6cambl6jr0mk307zm0a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-default-class directory filepath hashable mtl
+         pandoc pandoc-types shakespeare temporary text typed-process yaml
+       ];
+       executableHaskellDepends = [
+         base data-default-class deepseq directory filepath open-browser
+         optparse-applicative pandoc pandoc-types template-haskell temporary
+         text
+       ];
+       testHaskellDepends = [
+         base data-default-class directory filepath hspec hspec-expectations
+         mtl pandoc-types tasty tasty-hspec tasty-hunit temporary text
+       ];
+       description = "A Pandoc filter to include figures generated from Python code blocks";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "pandoc-sidenote" = callPackage
     ({ mkDerivation, base, monad-gen, pandoc, pandoc-types }:
      mkDerivation {
@@ -175542,17 +179885,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;
@@ -175566,8 +179909,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-types";
-       version = "1.17.6";
-       sha256 = "1c4yf284wd2zbskhrqk0lhqkdyry40db087cdy86b5ywr0yy1li7";
+       version = "1.17.6.1";
+       sha256 = "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          transformers
@@ -175581,6 +179924,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 {
@@ -175598,17 +179965,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;
@@ -175652,8 +180019,8 @@ self: {
      }:
      mkDerivation {
        pname = "pango";
-       version = "0.13.6.0";
-       sha256 = "14qcikd9r06ra7zp557c0bffd357yj4hk9bjigyhq2kdrc2l7igr";
+       version = "0.13.8.0";
+       sha256 = "1skyfj0phd5hzpk86lj7qx0g6n09b1cfijlf759p7v34f47g6w2s";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal filepath gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -175820,6 +180187,59 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pantry_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans
+     , base64-bytestring, bytestring, Cabal, conduit, conduit-extra
+     , containers, contravariant, cryptonite, cryptonite-conduit
+     , deepseq, digest, directory, exceptions, filelock, filepath
+     , generic-deriving, ghc-prim, hackage-security, hashable, hedgehog
+     , hpack, hspec, http-client, http-client-tls, http-conduit
+     , http-download, http-types, integer-gmp, memory, mono-traversable
+     , mtl, network, network-uri, path, path-io, persistent
+     , persistent-sqlite, persistent-template, primitive, QuickCheck
+     , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint
+     , safe, syb, tar-conduit, template-haskell, text, text-metrics
+     , th-lift, th-lift-instances, th-orphans, th-reify-many
+     , th-utilities, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, yaml, zip-archive
+     }:
+     mkDerivation {
+       pname = "pantry";
+       version = "0.2.0.0";
+       sha256 = "1qp236maks70ah72wmv36fh3xc3di9c6sc2jd1k3f7ha5hcv9n4c";
+       libraryHaskellDepends = [
+         aeson ansi-terminal array base base-orphans base64-bytestring
+         bytestring Cabal conduit conduit-extra containers contravariant
+         cryptonite cryptonite-conduit deepseq digest directory filelock
+         filepath generic-deriving ghc-prim hackage-security hashable hpack
+         http-client http-client-tls http-conduit http-download http-types
+         integer-gmp memory mono-traversable mtl network network-uri path
+         path-io persistent persistent-sqlite persistent-template primitive
+         resourcet rio rio-orphans rio-prettyprint safe syb tar-conduit
+         template-haskell text text-metrics th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers unix-compat
+         unliftio unordered-containers vector yaml zip-archive
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal array base base-orphans base64-bytestring
+         bytestring Cabal conduit conduit-extra containers contravariant
+         cryptonite cryptonite-conduit deepseq digest directory exceptions
+         filelock filepath generic-deriving ghc-prim hackage-security
+         hashable hedgehog hpack hspec http-client http-client-tls
+         http-conduit http-download http-types integer-gmp memory
+         mono-traversable mtl network network-uri path path-io persistent
+         persistent-sqlite persistent-template primitive QuickCheck
+         raw-strings-qq resourcet rio rio-orphans rio-prettyprint safe syb
+         tar-conduit template-haskell text text-metrics th-lift
+         th-lift-instances th-orphans th-reify-many th-utilities time
+         transformers unix-compat unliftio unordered-containers vector yaml
+         zip-archive
+       ];
+       description = "Content addressable Haskell package management";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pantry-tmp" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans
      , base64-bytestring, bytestring, Cabal, conduit, conduit-extra
@@ -176252,8 +180672,8 @@ self: {
      }:
      mkDerivation {
        pname = "papillon";
-       version = "0.1.0.6";
-       sha256 = "1j0sxac7pgwfbgb545ysjsw7haz6m41m6gz5z8v3xawjhx662nib";
+       version = "0.1.1.1";
+       sha256 = "1z0136v8hhzrljql8z17jvcb3y5n7nr9fc584kj4wyscpma38a46";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176455,21 +180875,21 @@ self: {
 
   "parameterized-utils" = callPackage
     ({ mkDerivation, base, constraints, containers, deepseq, ghc-prim
-     , hashable, hashtables, lens, mtl, QuickCheck, tasty, tasty-ant-xml
-     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , hashable, hashtables, hedgehog, lens, mtl, tasty, tasty-ant-xml
+     , tasty-hedgehog, tasty-hunit, template-haskell, text
      , th-abstraction, vector
      }:
      mkDerivation {
        pname = "parameterized-utils";
-       version = "2.0";
-       sha256 = "0wbgjpwmiqll5pjfcf3p2ds3jaqvwx4m2v12a4r658fv18s9c14n";
+       version = "2.0.1.0";
+       sha256 = "1r7bxlb82np6xg7wkqhvja7zkp0l6adwwg0b0h3ji2mcmi47xd2z";
        libraryHaskellDepends = [
          base constraints containers deepseq ghc-prim hashable hashtables
          lens mtl template-haskell text th-abstraction vector
        ];
        testHaskellDepends = [
-         base ghc-prim hashable hashtables lens mtl QuickCheck tasty
-         tasty-ant-xml tasty-hunit tasty-quickcheck
+         base ghc-prim hashable hashtables hedgehog lens mtl tasty
+         tasty-ant-xml tasty-hedgehog tasty-hunit
        ];
        description = "Classes and data structures for working with data-kind indexed types";
        license = stdenv.lib.licenses.bsd3;
@@ -176625,10 +181045,8 @@ self: {
      }:
      mkDerivation {
        pname = "paripari";
-       version = "0.6.0.0";
-       sha256 = "1604py5ms14xhmvsxdqx56xfbs3g4wkhjd8f5gsmhpqwz7acy511";
-       revision = "2";
-       editedCabalFile = "074z7wrb1p4c8wxwmqv3nxs6kp835r9pxmmnspqaajj0rag70ny3";
+       version = "0.6.0.1";
+       sha256 = "1i82rwd2ysplqazqnarnshdrg8gjsbgh9kzn0mc4avl2lfi3pk16";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176655,6 +181073,31 @@ self: {
        license = "GPL";
      }) {};
 
+  "parquet-hs" = callPackage
+    ({ mkDerivation, aeson, base, binary, binary-conduit, bytestring
+     , conduit, conduit-extra, containers, error-util, filepath
+     , generic-lens, hspec, http-client, http-conduit, http-types, lens
+     , lifted-async, monad-logger, mtl, pinch, process, QuickCheck, safe
+     , serialise, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "parquet-hs";
+       version = "0.1.0.0";
+       sha256 = "128fmwz2jnljrbj5zagw4wqqnv7zn0xs4cmaisp6qrxjsfjfiy2j";
+       libraryHaskellDepends = [
+         aeson base binary binary-conduit bytestring conduit conduit-extra
+         containers error-util generic-lens http-client http-conduit
+         http-types lens lifted-async monad-logger mtl pinch safe serialise
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base binary bytestring conduit filepath hspec monad-logger
+         mtl process QuickCheck text
+       ];
+       description = "Streaming Parquet reader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "parse-dimacs" = callPackage
     ({ mkDerivation, array, base, bytestring, parsec }:
      mkDerivation {
@@ -176967,12 +181410,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "parser-combinators_1_2_0" = callPackage
+  "parser-combinators_1_2_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "parser-combinators";
-       version = "1.2.0";
-       sha256 = "18kfg4sxighqzd64ad98xhc62sh7pd63pv7xhcj601pw922iappa";
+       version = "1.2.1";
+       sha256 = "0k95nvgnl5820y094yfh7b868l0xd1diclm4kx9560p5rm02w5h3";
        libraryHaskellDepends = [ base ];
        description = "Lightweight package providing commonly useful parser combinators";
        license = stdenv.lib.licenses.bsd3;
@@ -177003,15 +181446,15 @@ self: {
        broken = true;
      }) {};
 
-  "parser-combinators-tests_1_2_0" = callPackage
+  "parser-combinators-tests_1_2_1" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
      , hspec-megaparsec, megaparsec, megaparsec-tests
      , parser-combinators, QuickCheck
      }:
      mkDerivation {
        pname = "parser-combinators-tests";
-       version = "1.2.0";
-       sha256 = "0ainpyrxm03brn6z27jkqp65rc1z3lza00k6mg10506qk83fa52l";
+       version = "1.2.1";
+       sha256 = "0iy4iajpjka1diy660x3mvmh8kldwf3svwdmvlxh26dsqy2s8sx8";
        isLibrary = false;
        isExecutable = false;
        testHaskellDepends = [
@@ -177262,6 +181705,17 @@ self: {
        broken = true;
      }) {};
 
+  "partial-records" = callPackage
+    ({ mkDerivation, base, template-haskell, transformers }:
+     mkDerivation {
+       pname = "partial-records";
+       version = "0.2.2.1";
+       sha256 = "0vp5d0jdbk451a563a4hzkycyqh41w6plb39dfn0bv6li4a5qp8h";
+       libraryHaskellDepends = [ base template-haskell transformers ];
+       description = "Template haskell utilities for constructing records with default values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "partial-semigroup" = callPackage
     ({ mkDerivation, base, doctest, hedgehog }:
      mkDerivation {
@@ -177522,21 +181976,26 @@ self: {
     ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
      , base64-bytestring, bytestring, colour, containers, directory
      , filepath, mtl, network, network-uri, optparse-applicative, pandoc
-     , process, skylighting, terminal-size, text, time
-     , unordered-containers, yaml
+     , process, QuickCheck, skylighting, tasty, tasty-hunit
+     , tasty-quickcheck, terminal-size, text, time, unordered-containers
+     , yaml
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.8.3.0";
-       sha256 = "1dldaqa1qbwdia6rcf0sb6bnqldcpgrimd3yx00idyjy0msl0xh6";
-       isLibrary = false;
+       version = "0.8.4.0";
+       sha256 = "0yq3y5qbc4mr0vmy26v6rf7h6jc2hlgf7kgdp0i69ill0xlkdasx";
+       isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
+       libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base64-bytestring
          bytestring colour containers directory filepath mtl network
          network-uri optparse-applicative pandoc process skylighting
          terminal-size text time unordered-containers yaml
        ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base directory QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
        description = "Terminal-based presentations using Pandoc";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -177614,8 +182073,8 @@ self: {
        pname = "path";
        version = "0.6.1";
        sha256 = "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb";
-       revision = "1";
-       editedCabalFile = "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463";
+       revision = "2";
+       editedCabalFile = "05pgmg0w1mfwcmx9ad4p09xqxld8njhgwmgq38v7pr58czvmd6ks";
        libraryHaskellDepends = [
          aeson base deepseq exceptions filepath hashable template-haskell
        ];
@@ -177665,22 +182124,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "path-io_1_5_0" = callPackage
+  "path-io_1_6_0" = callPackage
     ({ mkDerivation, base, containers, directory, dlist, exceptions
      , filepath, hspec, path, temporary, time, transformers, unix-compat
      }:
      mkDerivation {
        pname = "path-io";
-       version = "1.5.0";
-       sha256 = "16zgi2a7g3mc9rslshjm86q4c3rr9vrd8qcjw753ndpar05j41bf";
-       revision = "1";
-       editedCabalFile = "127x8jhx2illj2r5x8f2g4yfl1idfngxmzphfr45abdf024n3pm8";
+       version = "1.6.0";
+       sha256 = "0hcdxxwkhdhm59p6x74k1fsgsrqfa100c83cslm1h9ln0anj1r3k";
        libraryHaskellDepends = [
          base containers directory dlist exceptions filepath path temporary
          time transformers unix-compat
        ];
        testHaskellDepends = [
-         base directory exceptions hspec path transformers unix-compat
+         base directory exceptions filepath hspec path transformers
+         unix-compat
        ];
        description = "Interface to ‘directory’ package for users of ‘path’";
        license = stdenv.lib.licenses.bsd3;
@@ -177754,8 +182212,8 @@ self: {
        pname = "paths";
        version = "0.2.0.0";
        sha256 = "18pzjlnmx7w79riig7qzyhw13jla92lals9lwayl23qr02ndna4v";
-       revision = "1";
-       editedCabalFile = "1k477vwhahdgkf3sm2yjl1638qwq6ddm2x10vdf3cq48js2pkrw5";
+       revision = "2";
+       editedCabalFile = "0r5nm9qqqa4nkz6aymhh62lfmmkjip25a4lk441a108i1ngkjl5m";
        libraryHaskellDepends = [
          base bytestring deepseq directory filepath template-haskell text
          time
@@ -178222,13 +182680,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;};
@@ -178665,8 +183124,8 @@ self: {
      }:
      mkDerivation {
        pname = "pell";
-       version = "0.1.1.0";
-       sha256 = "1m2avh9cn51k3m57q4yaqhikipfs7nx2xg3x0kixpgcp1j90482y";
+       version = "0.1.3.0";
+       sha256 = "07l623ja134s99qlhvjrsfcyaj9s504xfm9ml8afc78k9yarly9w";
        libraryHaskellDepends = [ arithmoi base containers ];
        testHaskellDepends = [
          arithmoi base Cabal cabal-test-quickcheck containers primes
@@ -178885,8 +183344,8 @@ self: {
      }:
      mkDerivation {
        pname = "perceptual-hash";
-       version = "0.1.3.0";
-       sha256 = "1g7hp5ijfqc2b3jacgabhq1mza9lqlxid309cvcm0jgppm4lvdpp";
+       version = "0.1.3.2";
+       sha256 = "0nmky6x40wcc9b3n9ijjw8ynbwmpqa4gb26mqzi6dxn298bgm12g";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178957,8 +183416,8 @@ self: {
      }:
      mkDerivation {
        pname = "perf";
-       version = "0.4.1.0";
-       sha256 = "1z0128fnqlraj8sj26fsfy9izfr1ld3k5c3sh0471fh36vf507c8";
+       version = "0.5.0.0";
+       sha256 = "1qbsk523xq27fww7bzd6zcj117630sji9szw3g3d75pbw4x5i5nl";
        libraryHaskellDepends = [
          base containers deepseq foldl rdtsc text time transformers
        ];
@@ -178971,22 +183430,21 @@ self: {
 
   "perf-analysis" = callPackage
     ({ mkDerivation, base, containers, deepseq, formatting
-     , optparse-generic, perf, protolude, scientific, tdigest, text
-     , vector
+     , optparse-generic, perf, protolude, readme-lhs, scientific
+     , tdigest, text, vector
      }:
      mkDerivation {
        pname = "perf-analysis";
-       version = "0.0.1.1";
-       sha256 = "1rjig10c7cy3lck2cvjs6drwrakb65mqhjgs6aakb07yjjl536pn";
+       version = "0.2.0.0";
+       sha256 = "1dnanink5j2dhqh91dmvrw42n7b1cfrbwglp7yikabwg9888nmax";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base deepseq formatting perf protolude scientific tdigest text
-         vector
+         base formatting perf protolude readme-lhs scientific tdigest text
        ];
        executableHaskellDepends = [
          base containers deepseq formatting optparse-generic perf protolude
-         scientific tdigest text vector
+         readme-lhs text vector
        ];
        description = "analysis example using perf";
        license = stdenv.lib.licenses.bsd3;
@@ -179029,11 +183487,18 @@ self: {
      }:
      mkDerivation {
        pname = "perfect-vector-shuffle";
-       version = "0.1.1";
-       sha256 = "1r9w8792r25fgyf7q7jdpnw4rmdvrjfg7g4dn2dk1d3gy4lbabig";
+       version = "0.1.1.1";
+       sha256 = "1z4iv4sv9ld0gvdfa46ll5bsbxi9lckh69paip1c5ijcg78vy5y0";
+       revision = "1";
+       editedCabalFile = "1pnxrzncwi5qmmyjimjdjhgh65n9kxs663b356rnpdf7brc5bxa0";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base MonadRandom primitive random vector
        ];
+       executableHaskellDepends = [
+         base MonadRandom primitive random vector
+       ];
        testHaskellDepends = [
          base QuickCheck quickcheck-instances random tasty tasty-quickcheck
          vector
@@ -179200,8 +183665,8 @@ self: {
      }:
      mkDerivation {
        pname = "persist";
-       version = "0.1.1.3";
-       sha256 = "0lcjk2q9x0qclc3znwv9xrqqwbczw2ryvamfqa6hvabr618lmi4p";
+       version = "0.1.1.4";
+       sha256 = "0g15l5fqzw30hsrc58hmgz5vbw8bfbgin7gi2dwahc98k8i0gxd4";
        libraryHaskellDepends = [ base bytestring containers text ];
        testHaskellDepends = [
          base bytestring QuickCheck test-framework
@@ -179335,24 +183800,23 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_10_1" = callPackage
+  "persistent_2_10_4" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, fast-logger, hspec
      , http-api-data, monad-logger, mtl, path-pieces, resource-pool
      , resourcet, scientific, silently, template-haskell, text, time
-     , transformers, unliftio-core, unordered-containers, vector
+     , transformers, unliftio, unliftio-core, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.10.1";
-       sha256 = "1wwka7pxyym12hcvf45qr15n3ig9zyz5y2wl30vgcvwnhawmrsbg";
-       revision = "1";
-       editedCabalFile = "0b2ahki4wqb071rb329mz92gv8xnk0n8m1c39apcdq0pfqfx0a2z";
+       version = "2.10.4";
+       sha256 = "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data monad-logger mtl
          path-pieces resource-pool resourcet scientific silently
-         template-haskell text time transformers unliftio-core
+         template-haskell text time transformers unliftio unliftio-core
          unordered-containers vector
        ];
        testHaskellDepends = [
@@ -179501,8 +183965,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-iproute";
-       version = "0.2.3";
-       sha256 = "1amzxmwispqi29ln50mfj43i1srl53n5iz7lsq8rxhd1x8fa35gm";
+       version = "0.2.4";
+       sha256 = "1lsprnlgcnj8v38cnbgf2vpj9ivgsvgi3yy3nh1gmvyj7maznkq5";
        libraryHaskellDepends = [
          aeson aeson-iproute base bytestring http-api-data iproute
          path-pieces persistent text
@@ -179604,7 +184068,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "persistent-mysql_2_10_1" = callPackage
+  "persistent-mysql_2_10_2" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, fast-logger, hspec, HUnit, monad-logger, mysql
      , mysql-simple, persistent, persistent-qq, persistent-template
@@ -179613,8 +184077,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.10.1";
-       sha256 = "0a75zqfhcd8xigcifi4ksdn5xwyq5qnif1r3yvnkhp5f3vjzm9vj";
+       version = "2.10.2";
+       sha256 = "1h5jz1w6ayinlpwbwaxvmrp4pcyqiirvi9gpv249gqabq95fmq57";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          mysql mysql-simple persistent resource-pool resourcet text
@@ -179657,20 +184121,19 @@ self: {
 
   "persistent-odbc" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
-     , convertible, HDBC, HDBC-odbc, monad-control, monad-logger
-     , persistent, persistent-template, resourcet, text, time
-     , transformers
+     , convertible, HDBC, HDBC-odbc, monad-logger, persistent
+     , persistent-template, resourcet, text, time, transformers
      }:
      mkDerivation {
        pname = "persistent-odbc";
-       version = "0.2.0.1";
-       sha256 = "0rvcjl9p7pj0hrf0ghhj96ib2knhxnfi9nhc7cppn7gnja1x8ldp";
+       version = "0.2.1.0";
+       sha256 = "058nmmqnl1pz7cyvfnbgid3kqbfl95g9xqgxs00z5fbkz5kwg5rl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring conduit containers convertible HDBC HDBC-odbc
-         monad-control monad-logger persistent persistent-template resourcet
-         text time transformers
+         monad-logger persistent persistent-template resourcet text time
+         transformers
        ];
        description = "Backend for the persistent library using ODBC";
        license = stdenv.lib.licenses.mit;
@@ -179733,7 +184196,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-postgresql_2_10_0" = callPackage
+  "persistent-postgresql_2_10_1" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, fast-logger, hspec, hspec-expectations, HUnit
      , monad-logger, persistent, persistent-qq, persistent-template
@@ -179743,8 +184206,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.10.0";
-       sha256 = "00kc14zf6ggblyps68qvg7d0s4wbsz0iv96sdvjv5rsqwblrav18";
+       version = "2.10.1";
+       sha256 = "1l6fwdql6b896f3dbjddpplrh45msm2hpwnbmlhpvam7kkivjjx2";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          persistent postgresql-libpq postgresql-simple resource-pool
@@ -180008,7 +184471,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-template_2_7_2" = callPackage
+  "persistent-template_2_7_3" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , deepseq, deepseq-generics, file-embed, hspec, http-api-data
      , monad-control, monad-logger, path-pieces, persistent, QuickCheck
@@ -180016,8 +184479,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-template";
-       version = "2.7.2";
-       sha256 = "04fpxsbj78gy51bl3jcfg70aaha92v0r48bjwq4pg7ln3cic95i8";
+       version = "2.7.3";
+       sha256 = "0msvjpn6bv1f4jxap09399imfq88s8ccqyh3bgh4kzgwshq8sgmd";
        libraryHaskellDepends = [
          aeson base bytestring containers http-api-data monad-control
          monad-logger path-pieces persistent template-haskell text
@@ -180433,25 +184896,24 @@ self: {
        broken = true;
      }) {};
 
-  "pg-transact_0_2_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, exceptions, hspec
-     , hspec-discover, hspec-expectations-lifted, monad-control
+  "pg-transact_0_3_1_1" = callPackage
+    ({ mkDerivation, async, base, bytestring, exceptions, hspec
+     , hspec-expectations-lifted, monad-control, postgresql-libpq
      , postgresql-simple, tmp-postgres, transformers
      }:
      mkDerivation {
        pname = "pg-transact";
-       version = "0.2.0.1";
-       sha256 = "1abv2h52x624wsrm8lhafsjdsmldghqjksww12b0g119msbsbdq9";
+       version = "0.3.1.1";
+       sha256 = "1z101hbfan8aidq7lcnzzni4b7ji8sbbqx1yar6ykf6wmzmn2pcd";
        libraryHaskellDepends = [
          base bytestring exceptions monad-control postgresql-simple
          transformers
        ];
        testHaskellDepends = [
-         base bytestring exceptions hspec hspec-discover
-         hspec-expectations-lifted postgresql-simple tmp-postgres
+         async base bytestring exceptions hspec hspec-expectations-lifted
+         postgresql-libpq postgresql-simple tmp-postgres
        ];
-       testToolDepends = [ hspec-discover ];
-       description = "Another postgresql-simple transaction monad";
+       description = "A postgresql-simple transaction monad";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -180700,8 +185162,8 @@ self: {
     ({ mkDerivation, base, bytestring, c2hs, phonenumber, protobuf }:
      mkDerivation {
        pname = "phone-numbers";
-       version = "0.1.1";
-       sha256 = "09b5qp7c059wah6wddn71hk6ciijj07qylxh3xcff0qyvjqd18ya";
+       version = "0.2.0";
+       sha256 = "130nl3qxhcldxy44pxznh02r3fqqnv9jb8w8si7vrn6cd4v5rpfi";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ phonenumber protobuf ];
        libraryToolDepends = [ c2hs ];
@@ -181000,12 +185462,14 @@ self: {
      }) {};
 
   "pickle" = callPackage
-    ({ mkDerivation, base, containers, network, text }:
+    ({ mkDerivation, base, containers, network, stm, text }:
      mkDerivation {
        pname = "pickle";
-       version = "0.1.0.0";
-       sha256 = "1jai9ys9mznc8v6z9jsh1yc4xdf12cr3gw7ci2nx9xzjspn4qy8z";
-       libraryHaskellDepends = [ base containers network text ];
+       version = "1.0.0.0";
+       sha256 = "066vla7x4ls59rhx9adr4lqx9yi5d047vcy90wgqh3lmnm7nj77m";
+       revision = "1";
+       editedCabalFile = "10fbbygp1w79h8spmcdwz56vl0gw761rfvb731fhmsvm35390jd9";
+       libraryHaskellDepends = [ base containers network stm text ];
        description = "Instant StatsD in Haskell";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -181265,8 +185729,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinch";
-       version = "0.3.4.1";
-       sha256 = "1yrw0g68j7jl9q19byq10nfg4rvn3wr49sganx8k4mr46j8pa0sk";
+       version = "0.3.5.0";
+       sha256 = "0bw7pfywa9qr6mrs340znqgzhg9yy8brh6v833wvk87sxjs8psdv";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-prim hashable
          semigroups text unordered-containers vector
@@ -181301,6 +185765,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
@@ -181471,8 +185956,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.12";
-       sha256 = "0ni5szs9jl4map05lcyl97dgb69g2xk1a1rdiw8p4024vfyskp8c";
+       version = "4.3.13";
+       sha256 = "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn";
        libraryHaskellDepends = [
          base exceptions mmorph mtl semigroups transformers void
        ];
@@ -182236,6 +186721,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 {
@@ -183086,6 +187589,8 @@ self: {
        pname = "playlists";
        version = "0.5.0.0";
        sha256 = "0653aifikinz69wq3d6sfkchcchhwlndh1lf40qrk96941qss0d6";
+       revision = "1";
+       editedCabalFile = "19vwlvva12p4r3ch1ik7m6h5r7cy0f35qn8smd41pv47v29dsxiq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -183217,8 +187722,8 @@ self: {
      }:
      mkDerivation {
        pname = "plot";
-       version = "0.2.3.9";
-       sha256 = "1cyg4znyn0w0rll5ghc68rjknyfncfykl15i1984dg0hf1j6q566";
+       version = "0.2.3.10";
+       sha256 = "0dva2kvf3193qc7zb9ydmzpffaj9lm6qy79n5zv66jnbccyp36lf";
        libraryHaskellDepends = [
          array base cairo colour hmatrix mtl pango transformers
        ];
@@ -183451,15 +187956,15 @@ self: {
      }) {};
 
   "plugins-multistage" = callPackage
-    ({ mkDerivation, base, directory, ghc, process, QuickCheck, tasty
-     , tasty-quickcheck, tasty-th, template-haskell, th-desugar
+    ({ mkDerivation, base, directory, ghc, ghci, process, QuickCheck
+     , tasty, tasty-quickcheck, tasty-th, template-haskell, th-desugar
      }:
      mkDerivation {
        pname = "plugins-multistage";
-       version = "0.6.1";
-       sha256 = "0kwibjp9r9gwkmi8i79cc217jhnqljcgdkvpsk7hclmaa7ir3caq";
+       version = "0.6.2";
+       sha256 = "1cjy71s9whjkc8lrb29v5hbkak1jf36ng3xhqszdag887f2mk22b";
        libraryHaskellDepends = [
-         base directory ghc process template-haskell th-desugar
+         base directory ghc ghci process template-haskell th-desugar
        ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck tasty-th template-haskell
@@ -183735,8 +188240,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 = [
@@ -183767,6 +188272,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Pointful refactoring tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pointless-fun" = callPackage
@@ -183936,15 +188443,13 @@ self: {
      }) {};
 
   "polimorf" = callPackage
-    ({ mkDerivation, base, binary, containers, text, text-binary }:
+    ({ mkDerivation, base, binary, containers, text }:
      mkDerivation {
        pname = "polimorf";
-       version = "0.7.3";
-       sha256 = "0vv7j1l0wnjwpd3hpxswq0k33izl0ck2njspcga885bkrd45lzdr";
-       libraryHaskellDepends = [
-         base binary containers text text-binary
-       ];
-       description = "Working with the PoliMorf dictionary";
+       version = "0.7.4";
+       sha256 = "0pdz9fwqdwhqm1l81jnji3nm8y51dmfg5i84ggp8gmqfsiczvbj3";
+       libraryHaskellDepends = [ base binary containers text ];
+       description = "Handling the PoliMorf dictionary";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -183970,6 +188475,8 @@ self: {
        pname = "poly";
        version = "0.3.1.0";
        sha256 = "1c8xnkqxwzbpx01clz9spz9zwa18qhsbvscrc381r0f46cjax2ph";
+       revision = "1";
+       editedCabalFile = "10lcg7x6vzrzgj5libfwnmxj2y3f1j5gpz9l8mgzivapknvhhpfx";
        libraryHaskellDepends = [
          base primitive semirings vector vector-algorithms
        ];
@@ -183980,6 +188487,33 @@ self: {
        benchmarkHaskellDepends = [ base gauge semirings vector ];
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "poly_0_3_3_0" = callPackage
+    ({ mkDerivation, base, deepseq, gauge, primitive, QuickCheck
+     , quickcheck-classes, semirings, tasty, tasty-quickcheck, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "poly";
+       version = "0.3.3.0";
+       sha256 = "1hj77nzyfipsycy77h8ccsx4iyy47ljjv0j8ckihxhaq36g0fpan";
+       revision = "1";
+       editedCabalFile = "0iv4363iq22hkwrkgsijgv8ykvj26q895rsbzrrzkydblf4psra9";
+       libraryHaskellDepends = [
+         base deepseq primitive semirings vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-classes semirings tasty tasty-quickcheck
+         vector
+       ];
+       benchmarkHaskellDepends = [ base deepseq gauge semirings vector ];
+       description = "Polynomials";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly-arity" = callPackage
@@ -184182,17 +188716,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "polysemy_1_2_1_0" = callPackage
-    ({ mkDerivation, async, base, containers, criterion, doctest
-     , first-class-families, free, freer-simple, hspec, hspec-discover
-     , inspection-testing, mtl, stm, syb, template-haskell
-     , th-abstraction, transformers, type-errors, type-errors-pretty
-     , unagi-chan
+  "polysemy_1_2_3_0" = callPackage
+    ({ mkDerivation, async, base, Cabal, cabal-doctest, containers
+     , criterion, doctest, first-class-families, free, freer-simple
+     , hspec, hspec-discover, inspection-testing, mtl, stm, syb
+     , template-haskell, th-abstraction, transformers, type-errors
+     , type-errors-pretty, unagi-chan
      }:
      mkDerivation {
        pname = "polysemy";
-       version = "1.2.1.0";
-       sha256 = "0apwnscl6falazh8w8vv7zm2rv60ls8syk06swjicm4vwxj7zdl4";
+       version = "1.2.3.0";
+       sha256 = "0vb0k3kmzsjw45p220nw780wlax1r7mv56j06vkzqclkf8s5jky3";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          async base containers first-class-families mtl stm syb
          template-haskell th-abstraction transformers type-errors
@@ -184233,19 +188768,19 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Experimental, RandomFu effect and interpreters for polysemy";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-plugin" = callPackage
-    ({ mkDerivation, base, containers, doctest, ghc
-     , ghc-tcplugins-extra, hspec, hspec-discover, inspection-testing
-     , polysemy, should-not-typecheck, syb, transformers
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
+     , ghc, ghc-tcplugins-extra, hspec, hspec-discover
+     , inspection-testing, polysemy, should-not-typecheck, syb
+     , transformers
      }:
      mkDerivation {
        pname = "polysemy-plugin";
-       version = "0.2.3.0";
-       sha256 = "1icaxdw2670svhns5g40d1kzxxx3yhcza660a0csdh83f3jzjy2w";
+       version = "0.2.4.0";
+       sha256 = "0ppnp3b6sa835jrr31la2b9z0mlil8hm60dqvz2pvyfkic88y9mg";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers ghc ghc-tcplugins-extra polysemy syb transformers
        ];
@@ -184256,8 +188791,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Disambiguate obvious uses of effects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-zoo" = callPackage
@@ -184280,8 +188813,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Experimental, user-contributed effects and interpreters for polysemy";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-zoo_0_6_0_1" = callPackage
@@ -184307,7 +188838,6 @@ self: {
        description = "Experimental, user-contributed effects and interpreters for polysemy";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "polyseq" = callPackage
@@ -184691,6 +189221,112 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "porcupine-core" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, binary
+     , binary-orphans, bytestring, cassava, clock, conduit, containers
+     , contravariant, data-default, deepseq, directory, docrecords
+     , filepath, foldl, formatting, funflow, hashable, katip, lens
+     , monad-control, mtl, optparse-applicative, path, profunctors
+     , reader-soup, resourcet, safe-exceptions, store, streaming
+     , streaming-bytestring, streaming-conduit, streaming-utils
+     , template-haskell, temporary, text, transformers
+     , transformers-base, unix, unliftio-core, unordered-containers, url
+     , vector, vinyl, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "porcupine-core";
+       version = "0.1.0.1";
+       sha256 = "1mf43vkisrjp8jx7w208v4wb9s7i1130x6c7dlxq5m1hfywl8d3m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base binary binary-orphans bytestring
+         cassava clock conduit containers contravariant data-default deepseq
+         directory docrecords filepath foldl formatting funflow hashable
+         katip lens monad-control mtl optparse-applicative path profunctors
+         reader-soup resourcet safe-exceptions store streaming
+         streaming-bytestring streaming-conduit streaming-utils
+         template-haskell temporary text transformers transformers-base unix
+         unliftio-core unordered-containers url vector vinyl yaml zlib
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec base binary binary-orphans bytestring
+         cassava clock conduit containers contravariant data-default deepseq
+         directory docrecords filepath foldl formatting funflow hashable
+         katip lens monad-control mtl optparse-applicative path profunctors
+         reader-soup resourcet safe-exceptions store streaming
+         streaming-bytestring streaming-conduit streaming-utils
+         template-haskell temporary text transformers transformers-base unix
+         unliftio-core unordered-containers url vector vinyl yaml zlib
+       ];
+       description = "Express portable, composable and reusable data tasks and pipelines";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "porcupine-http" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , docrecords, http-client, http-conduit, hvega, mime-types
+     , porcupine-core, reader-soup, resourcet, safe-exceptions
+     , streaming, streaming-bytestring, streaming-conduit, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "porcupine-http";
+       version = "0.1.0.0";
+       sha256 = "1vjz32pcjqxcwnfpq99v589l003q5cjn767mhfn5j2lb9lg52gms";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers http-client http-conduit
+         mime-types porcupine-core reader-soup resourcet safe-exceptions
+         streaming streaming-bytestring streaming-conduit text transformers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring conduit containers docrecords http-client
+         http-conduit hvega mime-types porcupine-core reader-soup resourcet
+         safe-exceptions streaming streaming-bytestring streaming-conduit
+         text transformers unordered-containers
+       ];
+       description = "A location accessor for porcupine to connect to HTTP sources/sinks";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "porcupine-s3" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3, base
+     , bytestring, conduit, conduit-extra, directory, docrecords
+     , filepath, katip, lens, monad-control, mtl, porcupine-core
+     , reader-soup, resourcet, retry, safe-exceptions, streaming
+     , streaming-bytestring, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "porcupine-s3";
+       version = "0.1.0.0";
+       sha256 = "1ydfkca4pys8h3il702ndc5kayh30r9bxbiz7hxsgjgcl4dlp5z9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         amazonka amazonka-core amazonka-s3 base bytestring conduit
+         conduit-extra directory filepath katip lens monad-control mtl
+         porcupine-core reader-soup resourcet retry safe-exceptions
+         streaming streaming-bytestring text
+       ];
+       executableHaskellDepends = [
+         aeson amazonka amazonka-core amazonka-s3 base bytestring conduit
+         conduit-extra directory docrecords filepath katip lens
+         monad-control mtl porcupine-core reader-soup resourcet retry
+         safe-exceptions streaming streaming-bytestring text
+         unordered-containers
+       ];
+       description = "A location accessor for porcupine to connect to AWS S3 sources/sinks";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "port-utils" = callPackage
     ({ mkDerivation, async, base, hspec, network, stm, transformers }:
      mkDerivation {
@@ -184814,6 +189450,52 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "poseidon" = callPackage
+    ({ mkDerivation, aeson, async, base, binary, binary-bits
+     , bytestring, generics-eot, hspec, postgresql-libpq, QuickCheck
+     , random, scientific, text, time, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "poseidon";
+       version = "0.1.1.0";
+       sha256 = "1y33xrbqlhavk8z9lnpy9wx0hiys1bqp8dnqdibrmfs3s5zq2w92";
+       libraryHaskellDepends = [
+         aeson async base binary binary-bits bytestring generics-eot
+         postgresql-libpq random scientific text time unordered-containers
+         uuid
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec postgresql-libpq QuickCheck scientific
+         text time unordered-containers uuid
+       ];
+       description = "Simple extensible library to run SQL file against PostgreSQL database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "poseidon-postgis" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, geojson, hspec
+     , poseidon, postgresql-libpq, QuickCheck, scientific, text, time
+     , unordered-containers, uuid, wkt-geom
+     }:
+     mkDerivation {
+       pname = "poseidon-postgis";
+       version = "0.1.1.0";
+       sha256 = "04j0pwrbmfa746la7ss5acns1miidyng48scska0qsf3xsxfqash";
+       libraryHaskellDepends = [
+         base binary bytestring geojson poseidon wkt-geom
+       ];
+       testHaskellDepends = [
+         aeson base binary bytestring hspec poseidon postgresql-libpq
+         QuickCheck scientific text time unordered-containers uuid
+       ];
+       description = "Extension of Poseidon library for Postgis (Spatial and Geographic objects for PostgreSQL)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "positive" = callPackage
     ({ mkDerivation, base, nats, semigroups }:
      mkDerivation {
@@ -184862,16 +189544,18 @@ self: {
      }) {inherit (pkgs) acl;};
 
   "posix-api" = callPackage
-    ({ mkDerivation, base, primitive, primitive-addr, primitive-offset
-     , primitive-unlifted, tasty, tasty-hunit
+    ({ mkDerivation, base, byteslice, primitive, primitive-addr
+     , primitive-offset, primitive-unlifted, systemd, tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "posix-api";
-       version = "0.3.2.0";
-       sha256 = "1ki45p31cc1zplzsi9kln85rm556rwk5yvwgsb75bcgqwg6xpcl8";
+       version = "0.3.3.0";
+       sha256 = "0a4npmhgnpq7ya21zijsxhyndr9swlknh6v7rn6y9qbva4q3gjx7";
        libraryHaskellDepends = [
-         base primitive primitive-addr primitive-offset primitive-unlifted
+         base byteslice primitive primitive-addr primitive-offset
+         primitive-unlifted
        ];
+       librarySystemDepends = [ systemd ];
        testHaskellDepends = [
          base primitive primitive-unlifted tasty tasty-hunit
        ];
@@ -184879,7 +189563,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {inherit (pkgs) systemd;};
 
   "posix-error-codes" = callPackage
     ({ mkDerivation, base }:
@@ -185088,12 +189772,17 @@ self: {
      }) {};
 
   "postgres-options" = callPackage
-    ({ mkDerivation, base, bytestring }:
+    ({ mkDerivation, base, bytestring, generic-monoid, hspec, split
+     , uri-bytestring
+     }:
      mkDerivation {
        pname = "postgres-options";
-       version = "0.1.0.1";
-       sha256 = "0pysvgg2p032j5a9qdysbndy0a0fzm41zgv070cwqk199w1lh3h7";
-       libraryHaskellDepends = [ base bytestring ];
+       version = "0.2.0.0";
+       sha256 = "1dfr15bg77117y27rr1kvbxcsyh36ha30c8rgiqd15y7pjd4apy4";
+       libraryHaskellDepends = [
+         base bytestring generic-monoid split uri-bytestring
+       ];
+       testHaskellDepends = [ base hspec ];
        description = "An Options type representing options for postgres connections";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -185158,8 +189847,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-binary";
-       version = "0.12.1.3";
-       sha256 = "0y2irx1fw0xqs77qpaa3lk06r2q7j7wzbzriyc274h6lmn85sjdw";
+       version = "0.12.2";
+       sha256 = "1zkhwl8g141p1zgnbxjhh0r6wgvzlpwdbvyl80z31fdxd5v29bv8";
        libraryHaskellDepends = [
          aeson base base-prelude binary-parser bytestring
          bytestring-strict-builder containers loch-th network-ip
@@ -185247,8 +189936,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;
@@ -185354,6 +190043,53 @@ self: {
        license = "GPL";
      }) {};
 
+  "postgresql-pure" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
+     , cassava, clock, containers, convertible, cryptohash-md5
+     , data-default-class, deepseq, doctest, double-conversion, HDBC
+     , HDBC-postgresql, HDBC-session, homotuple, hourglass, hspec
+     , hspec-core, HUnit, list-tuple, memory, mtl, network, old-time
+     , Only, optparse-applicative, persistable-record, postgres-wire
+     , postgresql-binary, postgresql-libpq, postgresql-simple
+     , postgresql-typed, pretty-hex, QuickCheck, random-shuffle
+     , relational-query, relational-query-HDBC, relational-record
+     , safe-exceptions, scientific, single-tuple, text, time
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-pure";
+       version = "0.1.2.0";
+       sha256 = "1dsjciaryxqizhg33axlcvj7i0h9xi4hz956kijqvmy0lb0bjscf";
+       libraryHaskellDepends = [
+         attoparsec base base16-bytestring bytestring containers convertible
+         cryptohash-md5 data-default-class double-conversion HDBC homotuple
+         list-tuple memory mtl network Only postgresql-binary pretty-hex
+         safe-exceptions scientific single-tuple text time utf8-string
+       ];
+       testHaskellDepends = [
+         attoparsec base base16-bytestring bytestring containers convertible
+         cryptohash-md5 data-default-class doctest double-conversion HDBC
+         HDBC-postgresql HDBC-session homotuple hspec hspec-core HUnit
+         list-tuple memory mtl network old-time Only persistable-record
+         postgresql-binary pretty-hex QuickCheck relational-query
+         relational-query-HDBC relational-record safe-exceptions scientific
+         single-tuple text time utf8-string
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base base16-bytestring bytestring cassava clock
+         containers convertible cryptohash-md5 data-default-class deepseq
+         double-conversion HDBC homotuple hourglass list-tuple memory mtl
+         network Only optparse-applicative postgres-wire postgresql-binary
+         postgresql-libpq postgresql-simple postgresql-typed pretty-hex
+         random-shuffle safe-exceptions scientific single-tuple text time
+         utf8-string vector
+       ];
+       description = "pure Haskell PostgreSQL driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {postgres-wire = null;};
+
   "postgresql-query" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , containers, data-default, exceptions, file-embed
@@ -185366,8 +190102,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-query";
-       version = "3.6.0";
-       sha256 = "1mf9441yb72jl1gm9zpfgwwjdiipcl0gghnazf1871dgvahbx3jz";
+       version = "3.7.0";
+       sha256 = "0raxd0vd6hf772g11x8p0c6h86sipwk74z5kfxb38mbi26yj0p24";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers
          data-default exceptions file-embed haskell-src-meta hreader hset
@@ -185520,24 +190256,25 @@ self: {
      }) {};
 
   "postgresql-simple-opts" = callPackage
-    ({ mkDerivation, base, bytestring, data-default, either
-     , generic-deriving, hspec, optparse-applicative, optparse-generic
-     , postgres-options, postgresql-simple, split, uri-bytestring
+    ({ mkDerivation, base, bytestring, containers, data-default, either
+     , envy, generic-deriving, hspec, optparse-applicative
+     , optparse-generic, postgres-options, postgresql-simple, split
+     , uri-bytestring
      }:
      mkDerivation {
        pname = "postgresql-simple-opts";
-       version = "0.4.0.0";
-       sha256 = "0zrmqd25xni2d51jna2a52l3bmdn6lpx9mbjzllnf6zn6ckw4ja8";
+       version = "0.5.0.1";
+       sha256 = "003pny8vhbpl9vdfrw2k5x2cg6q01pirhl95s1zbm6vx2p8vpx89";
        libraryHaskellDepends = [
-         base bytestring data-default either generic-deriving
+         base bytestring data-default either envy generic-deriving
          optparse-applicative optparse-generic postgres-options
          postgresql-simple split uri-bytestring
        ];
        testHaskellDepends = [
-         base bytestring data-default hspec optparse-applicative
+         base bytestring containers data-default hspec optparse-applicative
          postgres-options postgresql-simple
        ];
-       description = "An optparse-applicative parser for postgresql-simple's connection options";
+       description = "An optparse-applicative and envy parser for postgresql-simple's connection options";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -185619,8 +190356,6 @@ self: {
        ];
        description = "Parse postgres:// url into ConnectInfo";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgresql-syntax" = callPackage
@@ -185660,8 +190395,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-typed";
-       version = "0.6.0.1";
-       sha256 = "1kdapjx3mz7g6a35g21xql0wswrgnmp6x0hm2zpis3wp4ig503kk";
+       version = "0.6.1.0";
+       sha256 = "1p7bcwbjb0pi96d9zad8kmlb2w3g06g4xra33xmmskynmsdyc0r9";
        libraryHaskellDepends = [
          aeson array attoparsec base binary bytestring containers cryptonite
          data-default haskell-src-meta HDBC memory network old-locale
@@ -185715,8 +190450,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgrest";
-       version = "6.0.0";
-       sha256 = "0m0zplw8f1ncnbmrnsylq2z7pv8r86hsndsgbld52wfdc85b3r0z";
+       version = "6.0.2";
+       sha256 = "0c1yapjwsccqmj6jh8bkgv15p83dh7bd7ib68cd80pi3n9dplqvw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185861,7 +190596,8 @@ self: {
        ];
        description = "Postmaster ESMTP Server";
        license = "GPL";
-       maintainers = with stdenv.lib.maintainers; [ peti ];
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "potato-tool" = callPackage
@@ -186261,10 +190997,8 @@ self: {
      }:
      mkDerivation {
        pname = "pragmatic-show";
-       version = "0.1.2.0";
-       sha256 = "1nkwimmnk10p0pnv2hr3mxgfs1r2rjfhiaccmhd68a6279whp6p7";
-       revision = "1";
-       editedCabalFile = "17rs7ms62aisnk5wsdp67v3cgv5ph734iswv7137ibv339dlkl82";
+       version = "0.1.2.1";
+       sha256 = "1i3yj11vdnca6klnn698fdwpjw356r87zbp7jlc4f4v76qhllfrm";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base tasty tasty-hunit tasty-quickcheck vector-space
@@ -186387,6 +191121,46 @@ self: {
        broken = true;
      }) {};
 
+  "predicate-transformers" = callPackage
+    ({ mkDerivation, adjunctions, base, lens, mtl }:
+     mkDerivation {
+       pname = "predicate-transformers";
+       version = "0.6.0.0";
+       sha256 = "0m1dgkfbw4prhccllpdm7h99shp2554f1bvi0s950qa2k3mvz9l4";
+       libraryHaskellDepends = [ adjunctions base lens mtl ];
+       description = "A library for writing predicates and transformations over predicates in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "predicate-typed" = callPackage
+    ({ 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.6.0.1";
+       sha256 = "1izg98ql496qn8dvn3blz2654bhy8901x7hfh0dxqqzrm1gi5bf4";
+       libraryHaskellDepends = [
+         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 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
+       ];
+       description = "Predicates, Refinement types and Dsl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "predicates" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -186901,6 +191675,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-hex_1_1" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pretty-hex";
+       version = "1.1";
+       sha256 = "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7";
+       libraryHaskellDepends = [ base bytestring ];
+       description = "A library for hex dumps of ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-loc" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -186931,8 +191717,8 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-relative-time";
-       version = "0.0.0.0";
-       sha256 = "0k28jh5mw5qfw4d1hfdj2f53qwmn3apy1yxwyxjbr50m2924j8f2";
+       version = "0.1.0.0";
+       sha256 = "01ijsjilsx79xdkchmxplcm2g6qh81fgxd36r6kwgrk446s0bq9c";
        libraryHaskellDepends = [ base time validity validity-time ];
        testHaskellDepends = [
          base genvalidity-hspec genvalidity-time hspec QuickCheck time
@@ -186997,17 +191783,18 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "pretty printer for data types with a 'Show' instance";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_1_0_0" = callPackage
+  "pretty-simple_3_2_0_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
      , containers, criterion, doctest, Glob, mtl, QuickCheck
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.1.0.0";
-       sha256 = "0p3p5i2rjwv19hzgqyarv7x6g6hvam159y50irvs0dd5wwphd2pa";
+       version = "3.2.0.0";
+       sha256 = "0jbxyjiyshbc5q5avbmm5ms8n8m0zm540gl3x7vz8k22pcb65jv8";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -187021,6 +191808,7 @@ self: {
        description = "pretty printer for data types with a 'Show' instance";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
   "pretty-sop" = callPackage
@@ -187123,7 +191911,7 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "prettyprinter_1_3_0" = callPackage
+  "prettyprinter_1_5_1" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, base-compat, bytestring
      , containers, criterion, deepseq, doctest, mtl, pgp-wordlist
      , QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck, text
@@ -187131,15 +191919,13 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter";
-       version = "1.3.0";
-       sha256 = "1dc43z53s8pbrv6wf2mq6zvggd67lk415zqg8q9bcd1ld5m9h2x4";
-       revision = "2";
-       editedCabalFile = "044zsw0fykrf657s60wrn2798g6b3phis1d32f92zrrq7y2nscw3";
+       version = "1.5.1";
+       sha256 = "151p75gkbmjfjb4bw14xxpka6i44x14hpbxxdbrsfsnlrncb8rpv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [
-         base bytestring doctest pgp-wordlist tasty tasty-hunit
+         base bytestring doctest pgp-wordlist QuickCheck tasty tasty-hunit
          tasty-quickcheck text
        ];
        benchmarkHaskellDepends = [
@@ -187455,10 +192241,8 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-containers";
-       version = "0.4.0";
-       sha256 = "0ljb6np2yxnclqvz2sbpvjs027z701nsdhvmgy607am95sskxlrz";
-       revision = "1";
-       editedCabalFile = "18pxbfqjy2kfxgq1033bp3ci6xjj1ilnik2v5dzdcqlxr923zvkc";
+       version = "0.4.1";
+       sha256 = "1gi4fbxdhlzdyi9nnfmfyxl012hs5bam2kgvv8240mq5kxgimf06";
        libraryHaskellDepends = [
          base contiguous deepseq hashable primitive primitive-sort
          primitive-unlifted
@@ -187476,6 +192260,17 @@ self: {
        broken = true;
      }) {};
 
+  "primitive-convenience" = callPackage
+    ({ mkDerivation, primitive }:
+     mkDerivation {
+       pname = "primitive-convenience";
+       version = "0.1";
+       sha256 = "1xnyyw76kh42fy1b1wkc143bg3588gbp48990xdskcad1aj4fyan";
+       libraryHaskellDepends = [ primitive ];
+       description = "convenience class for PrimMonad m/PrimState m";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "primitive-extras" = callPackage
     ({ mkDerivation, base, bytestring, cereal, deferred-folds, focus
      , foldl, list-t, primitive, profunctors, QuickCheck
@@ -187527,8 +192322,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";
@@ -187601,8 +192396,8 @@ self: {
        pname = "primitive-sort";
        version = "0.1.0.0";
        sha256 = "147y4y8v00yggfgyf70kzd3pd9r6jvgxkzjsy3xpbp6mjdnzrbm3";
-       revision = "3";
-       editedCabalFile = "1ld4wm2p75nl0qvzmgz1isgl1w59gk9ydg6hq0mijq362vx4ih2w";
+       revision = "4";
+       editedCabalFile = "167p2a9bc64vfrmxnwr0zh7ddcm41rxchckygxkya46kcrgn07v3";
        libraryHaskellDepends = [ base contiguous ghc-prim primitive ];
        testHaskellDepends = [
          base containers doctest HUnit primitive QuickCheck smallcheck tasty
@@ -187899,8 +192694,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
@@ -187966,14 +192761,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_6_5_1" = callPackage
+  "process_1_6_7_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.5.1";
-       sha256 = "1x9vdcj4g19ibf34w96nzgv2blxx727z0xb7dq012ky04ssblx8j";
+       version = "1.6.7.0";
+       sha256 = "1qplrcdzdv8dhzh859f709facw7xc6kmfwhwmm26qks4arkih7j5";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -188275,6 +193070,8 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Product category";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "product-isomorphic" = callPackage
@@ -188396,6 +193193,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "profunctor-arrows" = callPackage
+    ({ mkDerivation, base, comonad, profunctors }:
+     mkDerivation {
+       pname = "profunctor-arrows";
+       version = "0.0.0.2";
+       sha256 = "01ia949b45izrq6p8qvizz05kvy45qydwj5crdac9spad2asr1s3";
+       libraryHaskellDepends = [ base comonad profunctors ];
+       description = "Profunctor arrows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "profunctor-extras" = callPackage
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
@@ -188408,6 +193216,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "profunctor-misc" = callPackage
+    ({ mkDerivation, base, comonad, contravariant, profunctors }:
+     mkDerivation {
+       pname = "profunctor-misc";
+       version = "0.0.0.1";
+       sha256 = "0akgx4gasd0p0skqrr29xdm0yp0dppzx21skk00is0lrwmldhqkg";
+       libraryHaskellDepends = [ base comonad contravariant profunctors ];
+       description = "Profunctor miscellany";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "profunctor-monad" = callPackage
     ({ mkDerivation, base, constraints, hashable, mtl, profunctors
      , transformers, unordered-containers
@@ -188424,6 +193243,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "profunctor-optics" = callPackage
+    ({ mkDerivation, adjunctions, base, comonad, connections
+     , containers, distributive, doctest, hedgehog, ilist, mtl
+     , newtype-generics, profunctor-arrows, profunctors, rings
+     , semigroupoids, tagged, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "profunctor-optics";
+       version = "0.0.0.4";
+       sha256 = "0r3ixf0j1iass289mkxkjrmljxhybqk7bqz3acinf5qh52318kk5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         adjunctions base comonad connections distributive mtl
+         newtype-generics profunctor-arrows profunctors rings semigroupoids
+         tagged transformers unliftio-core
+       ];
+       executableHaskellDepends = [
+         adjunctions base containers doctest ilist mtl
+       ];
+       testHaskellDepends = [ base connections hedgehog ];
+       description = "An optics library compatible with the typeclasses in 'profunctors'";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "profunctors" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, semigroups, tagged, transformers
@@ -188442,14 +193288,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
@@ -188782,21 +193628,19 @@ 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;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "prometheus-client" = callPackage
@@ -188981,8 +193825,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.9.1";
-       sha256 = "1v4cpj4kbmhl4xkxm7gxm2z9pqf6zmr4psawaxixvsav6xpxgphr";
+       version = "5.10.1";
+       sha256 = "1ymjlfp7gri82sa26s6a10lqqmzplvl68siai04wshx3jwr3b5y8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -189008,6 +193852,17 @@ self: {
        broken = true;
      }) {};
 
+  "property" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "property";
+       version = "0.0.1";
+       sha256 = "1amgzvg7xp7i5ppxmyhh1dhbv4zgwwvg9cdrc719flsndxp4xvar";
+       libraryHaskellDepends = [ base ];
+       description = "common properties";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "property-list" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, cereal
      , containers, free, oneOfN, recursion-schemes, syb
@@ -189188,14 +194043,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens_0_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
+     , lens-family, parsec, pretty, primitive, profunctors, QuickCheck
+     , tagged, tasty, tasty-quickcheck, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "proto-lens";
+       version = "0.6.0.0";
+       sha256 = "0k2j5b8dxvjx2gxjw5r7pc7r0qiihc2a5j2y3q0hmqljn423zcx6";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring containers deepseq ghc-prim lens-family parsec
+         pretty primitive profunctors tagged text transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck vector
+       ];
+       description = "A lens-based implementation of protocol buffers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-arbitrary" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens-family
      , proto-lens, QuickCheck, text
      }:
      mkDerivation {
        pname = "proto-lens-arbitrary";
-       version = "0.1.2.7";
-       sha256 = "092gdxw1jbhp0pxzgyg8jmcwiimyhzvhxh29h7c7vmvb6m956d0f";
+       version = "0.1.2.8";
+       sha256 = "0jms2wldjnv455gc3mf232500nidh9vh8g07fw7sdc4m2clch043";
        libraryHaskellDepends = [
          base bytestring containers lens-family proto-lens QuickCheck text
        ];
@@ -189244,12 +194121,30 @@ self: {
        broken = true;
      }) {};
 
+  "proto-lens-jsonpb" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, proto-lens-runtime, text, vector
+     }:
+     mkDerivation {
+       pname = "proto-lens-jsonpb";
+       version = "0.2.0.0";
+       sha256 = "01m88qfi5lak15n14zlxb5yjyi67h5m47czkzirhi0a615v8bwbr";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring
+         proto-lens-runtime text vector
+       ];
+       description = "JSON protobuf encoding for proto-lens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "proto-lens-optparse" = callPackage
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
        pname = "proto-lens-optparse";
-       version = "0.1.1.5";
-       sha256 = "0p8acjhvaca9bz7hmifi2p39dbzis8gm6f91fz1bn36s0xzb42f2";
+       version = "0.1.1.6";
+       sha256 = "105vrzx5qbcby3g1l7fd3alwlsaf0prjnhmy4i4cv9qrkg6qn34q";
        libraryHaskellDepends = [
          base optparse-applicative proto-lens text
        ];
@@ -189292,6 +194187,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) protobuf;};
 
+  "proto-lens-protobuf-types_0_6_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, lens-family, proto-lens
+     , proto-lens-protoc, proto-lens-runtime, proto-lens-setup, protobuf
+     , text
+     }:
+     mkDerivation {
+       pname = "proto-lens-protobuf-types";
+       version = "0.6.0.0";
+       sha256 = "1mnd8v9wryv59qrc44r5xkibndr5jpa8b7lb1k7hnk5261dffmc7";
+       setupHaskellDepends = [ base Cabal proto-lens-setup ];
+       libraryHaskellDepends = [
+         base lens-family proto-lens proto-lens-runtime text
+       ];
+       libraryToolDepends = [ proto-lens-protoc protobuf ];
+       description = "Basic protocol buffer message types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) protobuf;};
+
   "proto-lens-protoc_0_2_2_3" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers
      , data-default-class, directory, filepath, haskell-src-exts
@@ -189341,6 +194255,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) protobuf;};
 
+  "proto-lens-protoc_0_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, ghc
+     , ghc-paths, ghc-source-gen, lens-family, pretty, proto-lens
+     , proto-lens-runtime, protobuf, text
+     }:
+     mkDerivation {
+       pname = "proto-lens-protoc";
+       version = "0.6.0.0";
+       sha256 = "1gi7k48rpmzh3awgdki4b2cg2plh8n8fv397iv6h1ly8jh5p8imr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base filepath ];
+       libraryToolDepends = [ protobuf ];
+       executableHaskellDepends = [
+         base bytestring containers filepath ghc ghc-paths ghc-source-gen
+         lens-family pretty proto-lens proto-lens-runtime text
+       ];
+       description = "Protocol buffer compiler for the proto-lens library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) protobuf;};
+
   "proto-lens-runtime" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, filepath
      , lens-family, proto-lens, text, vector
@@ -189357,6 +194293,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens-runtime_0_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, filepath
+     , lens-family, proto-lens, text, vector
+     }:
+     mkDerivation {
+       pname = "proto-lens-runtime";
+       version = "0.6.0.0";
+       sha256 = "0wxfa4q88i1d4zqv9nybw6hrh5lw84vmkzy5iqw2hzwjym0p3wcn";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq filepath lens-family proto-lens
+         text vector
+       ];
+       doHaddock = false;
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-setup" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, deepseq
      , directory, filepath, process, proto-lens-protoc, temporary, text
@@ -189373,12 +194326,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens-setup_0_4_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, deepseq
+     , directory, filepath, process, proto-lens-protoc, temporary, text
+     }:
+     mkDerivation {
+       pname = "proto-lens-setup";
+       version = "0.4.0.3";
+       sha256 = "1di6nxx94d01rpclmcfc0gzf8x4qp61haw40mr2i9djxwczvrqbd";
+       libraryHaskellDepends = [
+         base bytestring Cabal containers deepseq directory filepath process
+         proto-lens-protoc temporary text
+       ];
+       description = "Cabal support for codegen with proto-lens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "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
@@ -189386,8 +194357,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;
@@ -189400,14 +194371,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;
@@ -189422,8 +194393,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
@@ -189514,8 +194487,8 @@ self: {
      }:
      mkDerivation {
        pname = "protocol-buffers";
-       version = "2.4.12";
-       sha256 = "0z1vkqdhj41bqnjhks4d82jby6l9j91k8ycna76bhv9p2w0gvp4g";
+       version = "2.4.13";
+       sha256 = "0xwfb2bkh4nd34s24q786ph4zyrnnl3bcry2kqx3sw20yk3zfdsc";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          directory filepath mtl parsec syb text utf8-string vector
@@ -189528,8 +194501,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
        pname = "protocol-buffers-descriptor";
-       version = "2.4.12";
-       sha256 = "0h4c1pgl51h7xrsm76mz6wd1l41ps93y3nvdl0p7mks9w7wlpccn";
+       version = "2.4.13";
+       sha256 = "1c3aiysjlk7r02l5902iq020iasiswk9c1mvf4f9h1yijba4x4fp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers protocol-buffers
@@ -189624,6 +194597,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "protolude_0_2_4" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , deepseq, ghc-prim, hashable, mtl, mtl-compat, stm, text
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "protolude";
+       version = "0.2.4";
+       sha256 = "0vkrj1fxbndkmsja9d80k4q5c48gwdbjlnzx3iag02dlj05j34hi";
+       libraryHaskellDepends = [
+         array async base bytestring containers deepseq ghc-prim hashable
+         mtl mtl-compat stm text transformers transformers-compat
+       ];
+       description = "A small prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protolude-lifted" = callPackage
     ({ mkDerivation, async, base, lifted-async, lifted-base, protolude
      }:
@@ -189782,8 +194773,8 @@ self: {
      }:
      mkDerivation {
        pname = "pseudo-boolean";
-       version = "0.1.8.0";
-       sha256 = "0na3kx4zxjmznfhw9121w8963vm2qppij5i93j4lvd3sflpwry9b";
+       version = "0.1.9.0";
+       sha256 = "00n5mf7abprhr9xvh3k1mw40jn4l94wwxpc2h0546h0n9v7srb1b";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder containers deepseq
          dlist hashable megaparsec parsec void
@@ -189856,6 +194847,8 @@ self: {
        pname = "psqueues";
        version = "0.2.7.2";
        sha256 = "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6";
+       revision = "1";
+       editedCabalFile = "0d0mm3c8x31dasfzp1884r2irkm3c9irvvbahjzfr1bzzxfb7vyv";
        libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
        testHaskellDepends = [
          array base deepseq ghc-prim hashable HUnit QuickCheck tagged tasty
@@ -189944,8 +194937,8 @@ self: {
      }:
      mkDerivation {
        pname = "publicsuffix";
-       version = "0.20190826";
-       sha256 = "1z6apxnp88jjpf5q7zg04r18lja7rafwlx1w2cy7d74qfrh1v2b7";
+       version = "0.20191003";
+       sha256 = "1birj2k23v93w89mcrn522mqyfipv3smrdhag6k6pgsi628gihx7";
        libraryHaskellDepends = [ base filepath template-haskell ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion random ];
@@ -189992,29 +194985,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;
      }) {};
@@ -190450,75 +195443,77 @@ self: {
        ];
        description = "types and parser for email messages (including MIME)";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "purescript" = callPackage
     ({ mkDerivation, aeson, aeson-better-errors, aeson-pretty
      , ansi-terminal, ansi-wl-pprint, array, base, base-compat
      , blaze-html, bower-json, boxes, bytestring, Cabal, cheapskate
-     , clock, containers, data-ordlist, deepseq, directory, dlist
-     , edit-distance, file-embed, filepath, fsnotify, gitrev, Glob
-     , happy, haskeline, hspec, hspec-discover, http-types, HUnit
-     , language-javascript, lifted-async, lifted-base
+     , clock, containers, cryptonite, data-ordlist, deepseq, directory
+     , dlist, edit-distance, file-embed, filepath, fsnotify, gitrev
+     , Glob, happy, haskeline, hspec, hspec-discover, http-types, HUnit
+     , language-javascript, lifted-async, lifted-base, memory
      , microlens-platform, monad-control, monad-logger, mtl, network
      , optparse-applicative, parallel, parsec, pattern-arrows, process
-     , protolude, regex-tdfa, safe, scientific, semigroups, sourcemap
-     , split, stm, stringsearch, syb, tasty, tasty-golden, tasty-hspec
-     , tasty-quickcheck, text, time, transformers, transformers-base
-     , transformers-compat, unordered-containers, utf8-string, vector
-     , wai, wai-websockets, warp, websockets
+     , protolude, regex-tdfa, safe, scientific, semialign, semigroups
+     , sourcemap, split, stm, stringsearch, syb, tasty, tasty-golden
+     , tasty-hspec, tasty-quickcheck, text, these, time, transformers
+     , transformers-base, transformers-compat, unordered-containers
+     , utf8-string, vector, wai, wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.13.3";
-       sha256 = "05cz0ilxawrcn4hm6mbd0qpkbfp0g8mcqvcscl4ghagjljgimaqv";
+       version = "0.13.5";
+       sha256 = "0plqzlcfaw2ik2im7aq8yy1b1y88cnc8qd7wwaayndbdz060s9j4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cheapskate
-         clock containers data-ordlist deepseq directory dlist edit-distance
-         file-embed filepath fsnotify Glob haskeline language-javascript
-         lifted-async lifted-base microlens-platform monad-control
-         monad-logger mtl parallel parsec pattern-arrows process protolude
-         regex-tdfa safe scientific semigroups sourcemap split stm
-         stringsearch syb text time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector
+         clock containers cryptonite data-ordlist deepseq directory dlist
+         edit-distance file-embed filepath fsnotify Glob haskeline
+         language-javascript lifted-async lifted-base memory
+         microlens-platform monad-control monad-logger mtl parallel parsec
+         pattern-arrows process protolude regex-tdfa safe scientific
+         semialign semigroups sourcemap split stm stringsearch syb text
+         these time transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        libraryToolDepends = [ happy ];
        executableHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal ansi-wl-pprint
          array base base-compat blaze-html bower-json boxes bytestring Cabal
-         cheapskate clock containers data-ordlist deepseq directory dlist
-         edit-distance file-embed filepath fsnotify gitrev Glob haskeline
-         http-types language-javascript lifted-async lifted-base
-         microlens-platform monad-control monad-logger mtl network
-         optparse-applicative parallel parsec pattern-arrows process
-         protolude regex-tdfa safe scientific semigroups sourcemap split stm
-         stringsearch syb text time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector wai
-         wai-websockets warp websockets
+         cheapskate clock containers cryptonite data-ordlist deepseq
+         directory dlist edit-distance file-embed filepath fsnotify gitrev
+         Glob haskeline http-types language-javascript lifted-async
+         lifted-base memory microlens-platform monad-control monad-logger
+         mtl network optparse-applicative parallel parsec pattern-arrows
+         process protolude regex-tdfa safe scientific semialign semigroups
+         sourcemap split stm stringsearch syb text these time transformers
+         transformers-base transformers-compat unordered-containers
+         utf8-string vector wai wai-websockets warp websockets
        ];
        executableToolDepends = [ happy ];
        testHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cheapskate
-         clock containers data-ordlist deepseq directory dlist edit-distance
-         file-embed filepath fsnotify Glob haskeline hspec hspec-discover
-         HUnit language-javascript lifted-async lifted-base
-         microlens-platform monad-control monad-logger mtl parallel parsec
-         pattern-arrows process protolude regex-tdfa safe scientific
-         semigroups sourcemap split stm stringsearch syb tasty tasty-golden
-         tasty-hspec tasty-quickcheck text time transformers
-         transformers-base transformers-compat unordered-containers
-         utf8-string vector
+         clock containers cryptonite data-ordlist deepseq directory dlist
+         edit-distance file-embed filepath fsnotify Glob haskeline hspec
+         hspec-discover HUnit language-javascript lifted-async lifted-base
+         memory microlens-platform monad-control monad-logger mtl parallel
+         parsec pattern-arrows process protolude regex-tdfa safe scientific
+         semialign semigroups sourcemap split stm stringsearch syb tasty
+         tasty-golden tasty-hspec tasty-quickcheck text these time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
        doCheck = false;
        description = "PureScript Programming Language Compiler";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
   "purescript-bridge" = callPackage
@@ -190799,8 +195794,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "1.5.1.10";
-       sha256 = "0nif5b7slyr7ppm1igm06k1zjf0sninyrf0n8qkaw2kwhxgdsam2";
+       version = "1.5.1.11";
+       sha256 = "02r6w64ll7gka1zgvv6yqalbzpjmw0rx2ji84fmbnk0f7c1793sq";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite hashable
          http-client http-types memory text time transformers
@@ -191378,8 +196373,8 @@ self: {
      }:
      mkDerivation {
        pname = "qrcode-core";
-       version = "0.9.1";
-       sha256 = "1mklz3r4z2ifzsl061rqjhrnis1a1fyvaxlp6dws4y95dy4slm92";
+       version = "0.9.2";
+       sha256 = "17a21a65n3hm739q7kgvpd4wvqz3i5y9bdkl6072ch87j0baqmpy";
        libraryHaskellDepends = [
          base binary bytestring case-insensitive containers dlist primitive
          text vector
@@ -191439,8 +196434,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.5.1";
-       sha256 = "1pwqc5i6viyk3ik8vh2zd9k25vj9y1r9mmikxwzjhv6jwc8sb5pb";
+       version = "0.6.0";
+       sha256 = "1v355mfs67rh2rcn71rkai0c16y3aqcb7q33ykhrghcl7238ym9h";
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
@@ -191456,8 +196451,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.5.0";
-       sha256 = "087sspnaw39zcymkm0xzyzdbc4g96zlpa45b2i6mfshxi4g38af5";
+       version = "0.6.0";
+       sha256 = "0zak709bgc9r8bydj834hkzix9zripnhi5z792ryr3k7anmyy6fv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -191470,21 +196465,21 @@ self: {
      }) {};
 
   "qtah-generator" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, filepath
-     , haskell-src, hoppy-generator, hoppy-std, mtl, process
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, haskell-src, hoppy-generator, hoppy-std, mtl, process
      , transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.5.0";
-       sha256 = "0kbc3dpmkxxi2ms6a7dga02g19vq9fm0hz53y9x6iyfpnlpk1sy7";
+       version = "0.6.0";
+       sha256 = "0w7fsn2j5g5miv12gm3d0x52xypbshdmxza6imjnpz01kljhqhpm";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
-         base containers directory filepath haskell-src hoppy-generator
-         hoppy-std mtl process transformers
+         base bytestring containers directory filepath haskell-src
+         hoppy-generator hoppy-std mtl process transformers
        ];
        doHaddock = false;
        description = "Generator for Qtah Qt bindings";
@@ -191500,8 +196495,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.5.1";
-       sha256 = "082mz3j3bk7hlagwdw0y399r8jid2wf6xzsdd2wnc4n6z6w6p8gx";
+       version = "0.6.0";
+       sha256 = "1irinnq1iryphnnqg05l3icirvzkh5xm4cdwhqvshbin7i6gv0bs";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
@@ -192326,8 +197321,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-string-random";
-       version = "0.1.2.0";
-       sha256 = "0n5h7nlicgm8xn23pvrsxrw4y2f4j1ammpbccl6z1c37yasf1xm7";
+       version = "0.1.3.0";
+       sha256 = "0pyh2xa68d6jhca1lr5ymmxqs19m17hjxdlrplyl0pww65mfrj8d";
        libraryHaskellDepends = [ base QuickCheck string-random text ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck text
@@ -192762,6 +197757,26 @@ self: {
        broken = true;
      }) {};
 
+  "quokka" = callPackage
+    ({ mkDerivation, base, hspec, pcre-utils, postgresql-simple
+     , raw-strings-qq, regex-pcre-builtin, text
+     }:
+     mkDerivation {
+       pname = "quokka";
+       version = "0.1.2";
+       sha256 = "1g6qphxbfrszsmypyd67dr0rl7vcid1wds2if0pp76yvwhpgdnl5";
+       libraryHaskellDepends = [
+         base pcre-utils postgresql-simple regex-pcre-builtin text
+       ];
+       testHaskellDepends = [
+         base hspec postgresql-simple raw-strings-qq text
+       ];
+       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
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
      , directory, dlist, exceptions, filepath, hex, HUnit, mtl, network
@@ -193128,6 +198143,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbow_0_34_2_2" = callPackage
+    ({ mkDerivation, base, bytestring, lens, QuickCheck, terminfo, text
+     }:
+     mkDerivation {
+       pname = "rainbow";
+       version = "0.34.2.2";
+       sha256 = "1rx5kci69m7fdi94x35a2wg88fprlix61mvzsqq3waqb7ahc2mlf";
+       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
@@ -193164,6 +198195,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbox_0_24_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, QuickCheck
+     , rainbow, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "rainbox";
+       version = "0.24.4.0";
+       sha256 = "13532qzpvlq976049bdfyqzhb4g843ij3b7w654xqb2ng9q4inwz";
+       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 {
@@ -193251,6 +198302,45 @@ self: {
        broken = true;
      }) {};
 
+  "ral" = callPackage
+    ({ mkDerivation, adjunctions, base, bin, criterion, deepseq
+     , distributive, fin, hashable, QuickCheck, semigroupoids, vector
+     }:
+     mkDerivation {
+       pname = "ral";
+       version = "0.1";
+       sha256 = "0h8jqaapagrp9faixq817lib8l4nq4ycjj6ppl1ra8llnfsz5304";
+       libraryHaskellDepends = [
+         adjunctions base bin deepseq distributive fin hashable QuickCheck
+         semigroupoids
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Random access lists";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-lens" = callPackage
+    ({ mkDerivation, base, bin, fin, lens, ral }:
+     mkDerivation {
+       pname = "ral-lens";
+       version = "0.1";
+       sha256 = "0hm8mzj51hdql8rp3v0yvmcvmgha4ys8zsgbbx93mlp2b4rfhzpv";
+       libraryHaskellDepends = [ base bin fin lens ral ];
+       description = "Length-indexed random access lists: lens utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-optics" = callPackage
+    ({ mkDerivation, base, bin, fin, optics-core, ral }:
+     mkDerivation {
+       pname = "ral-optics";
+       version = "0.1";
+       sha256 = "0sky2zbh6wn4xlfc6sbrx7lvvy01qv69j80k0n4w9fyrq9ammb3r";
+       libraryHaskellDepends = [ base bin fin optics-core ral ];
+       description = "Length-indexed random access lists: optics utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "ralist" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hspec }:
      mkDerivation {
@@ -193493,16 +198583,16 @@ self: {
      }) {};
 
   "random-fu" = callPackage
-    ({ mkDerivation, base, erf, log-domain, math-functions, monad-loops
-     , mtl, random-shuffle, random-source, rvar, syb, template-haskell
+    ({ mkDerivation, base, erf, math-functions, monad-loops, mtl
+     , random-shuffle, random-source, rvar, syb, template-haskell
      , transformers, vector
      }:
      mkDerivation {
        pname = "random-fu";
-       version = "0.2.7.0";
-       sha256 = "1i5hg74gv6885vnhmyknydhsyrps2h5zjiq4dv992jg3xnrs9cxn";
+       version = "0.2.7.3";
+       sha256 = "071b3gi88kmrfiy6kyz1x67mqljwqb4l45vzg1rc2zig3iwy66ih";
        libraryHaskellDepends = [
-         base erf log-domain math-functions monad-loops mtl random-shuffle
+         base erf math-functions monad-loops mtl random-shuffle
          random-source rvar syb template-haskell transformers vector
        ];
        description = "Random number generation";
@@ -193718,6 +198808,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "range_0_3_0_2" = callPackage
+    ({ mkDerivation, base, Cabal, free, parsec, QuickCheck, random
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "range";
+       version = "0.3.0.2";
+       sha256 = "0kvb5bl4k2gwm0hd71plwh7hmwbgk17g77iq39d7lqw4nmlg3j0k";
+       libraryHaskellDepends = [ base free parsec ];
+       testHaskellDepends = [
+         base Cabal free QuickCheck random test-framework
+         test-framework-quickcheck2
+       ];
+       description = "An efficient and versatile range library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "range-set-list" = callPackage
     ({ mkDerivation, base, containers, deepseq, hashable, tasty
      , tasty-quickcheck
@@ -193819,33 +198927,13 @@ self: {
      }) {};
 
   "rank2classes" = callPackage
-    ({ mkDerivation, base, distributive, doctest, tasty, tasty-hunit
-     , template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "rank2classes";
-       version = "1.3";
-       sha256 = "1mwwismxafz43qjqh74gjd8d1hiflkilkxkwfvwhq0gx4h4i0rq1";
-       libraryHaskellDepends = [
-         base distributive template-haskell transformers
-       ];
-       testHaskellDepends = [
-         base distributive doctest tasty tasty-hunit
-       ];
-       description = "standard type constructor class hierarchy, only with methods of rank 2 types";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "rank2classes_1_3_1" = callPackage
     ({ mkDerivation, base, distributive, doctest, markdown-unlit, tasty
      , tasty-hunit, template-haskell, transformers
      }:
      mkDerivation {
        pname = "rank2classes";
-       version = "1.3.1";
-       sha256 = "07ykacy93c1rgh9a5ndkkhaviyfr61xfhi430rpwamk4h6i6qiy3";
+       version = "1.3.1.2";
+       sha256 = "16fjvck4zw5ysj9bzqrblxv5n3p600rmlv7waxm13a5fmzr9vg2k";
        libraryHaskellDepends = [
          base distributive template-haskell transformers
        ];
@@ -193855,8 +198943,6 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "standard type constructor class hierarchy, only with methods of rank 2 types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "rapid" = callPackage
@@ -194177,8 +199263,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "1.0.8";
-       sha256 = "045hr0jilydb1xcvhh9q5iwazpf1k1d2q1y0h4gkgnbn6qmgwhnk";
+       version = "1.0.9";
+       sha256 = "1kwn7ahjbp8w83ph73w43mh0szywqd2f817b7mz2wqimzb153k5b";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -194197,8 +199283,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "1.1.0";
-       sha256 = "1wgmlcazfbz4y4q9k6367i76l8cal1qgqhqbh2p69ca365w9pf56";
+       version = "1.1.1";
+       sha256 = "1qpbhi1g7j5qbn15s0h8vdhc6zisz5j2hgr6qwg2kipi4kvvsgy9";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers http-client ratel wai
        ];
@@ -194256,6 +199342,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rational-list" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "rational-list";
+       version = "1.0.0.0";
+       sha256 = "18jcdjzsvhh7qh1m52rgkznsm0p1wp17rj2lfaq3mnfmmh86iz9f";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "finite or repeating lists";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "rattle" = callPackage
     ({ mkDerivation, base, bytestring, cryptohash-sha256, deepseq
      , directory, extra, filepath, filepattern, hashable, shake, time
@@ -194286,8 +199390,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "9.0.2";
-       sha256 = "14dnnaii24c9vh4jvdymnnhrhvgwzfr6al4qcm4bj9wk55jgj71r";
+       version = "9.0.7";
+       sha256 = "0kgg1qfhgjajzrw22yvcxmiim14pxr2gim1aak3ivnmhn4yff4fg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194318,8 +199422,8 @@ self: {
      }:
      mkDerivation {
        pname = "raven-haskell";
-       version = "0.1.2.0";
-       sha256 = "1g6102p6adn5jc2jvqjgyzpylvacv52yj754rki21l6d13cn07a4";
+       version = "0.1.2.1";
+       sha256 = "1mzz7z99a2agivwypcl62y68vpmihyh6rvy79w1jd29n1l2p621x";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit mtl network random resourcet
          text time unordered-containers uuid
@@ -194878,8 +199982,8 @@ self: {
      }:
      mkDerivation {
        pname = "reactive-banana-gi-gtk";
-       version = "0.4.0.1";
-       sha256 = "151vjqr2skdln4qh2swrkwwq1gafkldwnidkkpqh8j903kghrcqk";
+       version = "0.4.0.2";
+       sha256 = "136wzp6v9g6k5aa6w5wh0n96qcq9lm7h0lc87pk170ypymadp6ak";
        libraryHaskellDepends = [
          base gi-gtk haskell-gi-base reactive-banana text transformers
        ];
@@ -194944,7 +200048,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;
@@ -195118,6 +200222,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "read-ctags" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hspec
+     , optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "read-ctags";
+       version = "0.1.0.0";
+       sha256 = "1w6f8p6v3sry42pg8zizfyagknfmpn47vzk3a2c2n2bv1ib0v1hf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers directory text
+       ];
+       executableHaskellDepends = [
+         base bytestring containers directory optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory hspec text
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "read-editor" = callPackage
     ({ mkDerivation, base, directory, process }:
      mkDerivation {
@@ -195181,6 +200307,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "reader-soup" = callPackage
+    ({ mkDerivation, base, katip, lens, mmorph, monad-control, mtl
+     , resourcet, safe-exceptions, transformers, transformers-base
+     , unliftio-core, vinyl
+     }:
+     mkDerivation {
+       pname = "reader-soup";
+       version = "0.1.0.1";
+       sha256 = "0pqfgfv7ahmcclx29b2rs8n5da4qhbhp5fxmwqm2xycpw3hqpx9v";
+       libraryHaskellDepends = [
+         base katip lens mmorph monad-control mtl resourcet safe-exceptions
+         transformers transformers-base unliftio-core vinyl
+       ];
+       description = "Vinyl-based reader-like monad composition";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "readline" = callPackage
     ({ mkDerivation, base, ncurses, process, readline }:
      mkDerivation {
@@ -195207,24 +200352,24 @@ self: {
      }) {};
 
   "readme-lhs" = callPackage
-    ({ mkDerivation, base, containers, doctest, optparse-generic
-     , pandoc, pandoc-types, protolude, tasty, text
+    ({ mkDerivation, base, containers, doctest, pandoc, pandoc-types
+     , protolude, text, transformers
      }:
      mkDerivation {
        pname = "readme-lhs";
-       version = "0.2.0";
-       sha256 = "0xwc2gqf23g87mi16miyi0nxy4wh33rki324biv3wh7xbpj03kpx";
+       version = "0.3.0";
+       sha256 = "1w113jr7sjmq4wkilwjmcaic6sgxp3vzg67dfs0imbd730xhqda8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers pandoc pandoc-types protolude text
-       ];
-       executableHaskellDepends = [
-         base optparse-generic pandoc protolude
+         base containers pandoc pandoc-types protolude text transformers
        ];
-       testHaskellDepends = [ base doctest protolude tasty ];
+       executableHaskellDepends = [ base protolude ];
+       testHaskellDepends = [ base doctest protolude ];
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "readpyc" = callPackage
@@ -195291,53 +200436,62 @@ self: {
      }) {};
 
   "reanimate" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
-     , cubicbezier, diagrams, diagrams-contrib, diagrams-core
-     , diagrams-lib, diagrams-svg, directory, filepath, fsnotify
-     , hashable, JuicyPixels, lens, linear, matrices, matrix, mtl
-     , open-browser, palette, parallel, process, reanimate-svg
-     , svg-builder, text, time, websockets, xml
+    ({ mkDerivation, ansi-wl-pprint, attoparsec, base
+     , base64-bytestring, bytestring, cassava, chiphunk, colour
+     , containers, cubicbezier, diagrams, diagrams-contrib
+     , diagrams-core, diagrams-lib, diagrams-svg, directory, filepath
+     , fsnotify, hashable, here, JuicyPixels, lens, linear, matrix, mtl
+     , open-browser, optparse-applicative, palette, parallel, process
+     , QuickCheck, random-shuffle, reanimate-svg, svg-builder, tasty
+     , tasty-golden, tasty-hunit, temporary, text, time, vector
+     , websockets, xml
      }:
      mkDerivation {
        pname = "reanimate";
-       version = "0.1.5.0";
-       sha256 = "1jh9inlx92qn3klzi9385nfvphrwmmdbbs2gql019bdwmyhd815x";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.8.0";
+       sha256 = "1vr0cqn47gl7810clqvn1wgkz3glzd216jmyvxfp6q1i5jhbizvw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         attoparsec base bytestring containers cubicbezier diagrams
-         diagrams-contrib diagrams-core diagrams-lib diagrams-svg directory
-         filepath fsnotify hashable JuicyPixels lens linear matrices matrix
-         mtl open-browser palette parallel process reanimate-svg svg-builder
-         text time websockets xml
+         ansi-wl-pprint attoparsec base base64-bytestring bytestring cassava
+         chiphunk colour containers cubicbezier diagrams diagrams-contrib
+         diagrams-core diagrams-lib diagrams-svg directory filepath fsnotify
+         hashable here JuicyPixels lens linear matrix mtl open-browser
+         optparse-applicative palette parallel process random-shuffle
+         reanimate-svg svg-builder temporary text time vector websockets xml
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base bytestring directory filepath process
+         QuickCheck tasty tasty-golden tasty-hunit
        ];
        description = "Animation library based on SVGs";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "reanimate_0_1_6_0" = callPackage
+  "reanimate_0_1_9_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, attoparsec, base
-     , base64-bytestring, bytestring, cassava, colour, containers
-     , cubicbezier, diagrams, diagrams-contrib, diagrams-core
-     , diagrams-lib, diagrams-svg, directory, filepath, fsnotify
-     , hashable, here, JuicyPixels, lens, linear, matrices, matrix, mtl
-     , open-browser, palette, parallel, process, QuickCheck
-     , random-shuffle, reanimate-svg, svg-builder, tasty, tasty-golden
-     , tasty-hunit, temporary, text, time, vector, websockets, xml
+     , base64-bytestring, bytestring, cassava, chiphunk, colour
+     , containers, cubicbezier, diagrams, diagrams-contrib
+     , diagrams-core, diagrams-lib, diagrams-svg, directory, filepath
+     , fsnotify, hashable, here, JuicyPixels, lens, linear, matrix, mtl
+     , open-browser, optparse-applicative, palette, parallel, process
+     , QuickCheck, random-shuffle, reanimate-svg, svg-builder, tasty
+     , tasty-golden, tasty-hunit, temporary, text, time, vector
+     , websockets, xml
      }:
      mkDerivation {
        pname = "reanimate";
-       version = "0.1.6.0";
-       sha256 = "10nivxmj8lkvr7g8fjnq7m7kxy3jmy9vka0lva6ahr91c9qk1fcz";
+       version = "0.1.9.0";
+       sha256 = "0rmlyrk24n2267mm22mxiipcd7m5j9mgk5n69pscigqnyl1xm7y6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint attoparsec base base64-bytestring bytestring cassava
-         colour containers cubicbezier diagrams diagrams-contrib
+         chiphunk colour containers cubicbezier diagrams diagrams-contrib
          diagrams-core diagrams-lib diagrams-svg directory filepath fsnotify
-         hashable here JuicyPixels lens linear matrices matrix mtl
-         open-browser palette parallel process random-shuffle reanimate-svg
-         svg-builder temporary text time vector websockets xml
+         hashable here JuicyPixels lens linear matrix mtl open-browser
+         optparse-applicative palette parallel process random-shuffle
+         reanimate-svg svg-builder temporary text time vector websockets xml
        ];
        testHaskellDepends = [
          ansi-wl-pprint base bytestring directory filepath process
@@ -195346,6 +200500,7 @@ self: {
        description = "Animation library based on SVGs";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "reanimate-svg" = callPackage
@@ -195355,8 +200510,8 @@ self: {
      }:
      mkDerivation {
        pname = "reanimate-svg";
-       version = "0.9.1.1";
-       sha256 = "1y2q6nljgs4h05ga0v713z5bcjd8xrxvg6sf81di65rhdkksidx7";
+       version = "0.9.3.1";
+       sha256 = "1bxfhfdr7p98aj12krxrzcmvxbl8b20flbvqydja8pcwh6jgd744";
        libraryHaskellDepends = [
          attoparsec base bytestring containers JuicyPixels lens linear mtl
          scientific text transformers vector xml
@@ -195368,15 +200523,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "reanimate-svg_0_9_2_1" = callPackage
+  "reanimate-svg_0_9_4_0" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers, hspec
      , JuicyPixels, lens, linear, mtl, scientific, svg-tree, text
      , transformers, vector, xml
      }:
      mkDerivation {
        pname = "reanimate-svg";
-       version = "0.9.2.1";
-       sha256 = "018jkgiry2yaq7nl8sks4ahjdx5pjgdj99gc6k4l3rfmd1zxvsng";
+       version = "0.9.4.0";
+       sha256 = "0jmlcxnfh5119fxhhvga4ldmdgxmsw305k6fm6v4n3plmqp0j2c4";
        libraryHaskellDepends = [
          attoparsec base bytestring containers JuicyPixels lens linear mtl
          scientific text transformers vector xml
@@ -195457,6 +200612,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rebase_1_4_1" = callPackage
+    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
+     , comonad, containers, contravariant, contravariant-extras, deepseq
+     , dlist, either, fail, hashable, mtl, profunctors, scientific
+     , selective, semigroupoids, semigroups, stm, text, time
+     , transformers, unordered-containers, uuid, vector, void
+     }:
+     mkDerivation {
+       pname = "rebase";
+       version = "1.4.1";
+       sha256 = "13fvhsxkzrghl6d2isjsxjkfkbkpnfgbdb20lc1z7izqjkvjj8rc";
+       libraryHaskellDepends = [
+         base base-prelude bifunctors bytestring comonad containers
+         contravariant contravariant-extras deepseq dlist either fail
+         hashable mtl profunctors scientific selective semigroupoids
+         semigroups stm text time transformers unordered-containers uuid
+         vector void
+       ];
+       description = "A more progressive alternative to the \"base\" package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rebindable" = callPackage
     ({ mkDerivation, base, data-default-class, indexed }:
      mkDerivation {
@@ -195520,8 +200698,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2";
-       sha256 = "1k2bdinvygn00l12am5n8m2i3vqp6h555mcj6d8xshy320v85np8";
+       version = "0.2.2";
+       sha256 = "1rxa8dzh0ga9xrlwrwzf5lm9miql9lkmcyiy0nrc3s5lkxdsppww";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -195697,10 +200875,10 @@ self: {
     ({ mkDerivation, base, composition-prelude }:
      mkDerivation {
        pname = "recursion";
-       version = "2.2.4.0";
-       sha256 = "0n50nv1lzahy2mfvia5v41f8jx9w2yygzq584xbkirazhj73sjbx";
+       version = "2.2.4.1";
+       sha256 = "09r4a9h4rd48nqdn08v3mvibqvgb0ym05142jrk0qqq8f4la3dni";
        libraryHaskellDepends = [ base composition-prelude ];
-       description = "A recursion schemes library for GHC";
+       description = "A recursion schemes library for Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -195712,8 +200890,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
@@ -195779,8 +200957,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
@@ -196092,8 +201270,8 @@ self: {
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
        pname = "ref-fd";
-       version = "0.4.0.1";
-       sha256 = "0dv0bwm952ivs1xi44nq8310k5mqs20i60g1rgwkm7hlpapz25p4";
+       version = "0.4.0.2";
+       sha256 = "1camr7cv1fglicyp2ivv7qv1yidj36zxcglfvmw7giqdj7r7j5w8";
        libraryHaskellDepends = [ base stm transformers ];
        description = "A type class for monads with references using functional dependencies";
        license = stdenv.lib.licenses.bsd3;
@@ -196118,10 +201296,8 @@ self: {
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
        pname = "ref-tf";
-       version = "0.4.0.1";
-       sha256 = "03mywifasfvxlz7hy5bbq3i8zi3i99k5cb0kq38gndx4vk2j5dgw";
-       revision = "1";
-       editedCabalFile = "042nn6y3rbx9z88bkidy1ilp32grm6a1n0ny1wrzxdp46xi5r7in";
+       version = "0.4.0.2";
+       sha256 = "0pq9pm8jsx9w1q81pf5pvc361ad8dbyklw94jq47drr2i0dc7n20";
        libraryHaskellDepends = [ base stm transformers ];
        description = "A type class for monads with references using type families";
        license = stdenv.lib.licenses.bsd3;
@@ -196219,8 +201395,8 @@ self: {
      }:
      mkDerivation {
        pname = "refined";
-       version = "0.4.3";
-       sha256 = "1x6rz5hy6rnn46fjh20ppbkdaj3cn5bnlapbnvsw5h6s3bdic7p5";
+       version = "0.4.4";
+       sha256 = "1xld5fc3nzsr43agvdlv0hbdbnrrsgy0n2a7mfrcc0n3s6rjbdcw";
        libraryHaskellDepends = [
          aeson base deepseq exceptions mtl prettyprinter QuickCheck
          template-haskell transformers
@@ -196232,6 +201408,19 @@ self: {
        broken = true;
      }) {};
 
+  "refined-http-api-data" = callPackage
+    ({ mkDerivation, base, http-api-data, refined, text }:
+     mkDerivation {
+       pname = "refined-http-api-data";
+       version = "0.1.0.0";
+       sha256 = "0064cz00lp023kbn5vqpcsgjzsxd5a9s5fl1klsq6jlk1cmi5c0m";
+       libraryHaskellDepends = [ base http-api-data refined text ];
+       description = "http-api-data instances for refined types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "refinery" = callPackage
     ({ mkDerivation, base, containers, exceptions, mmorph, mtl, pipes
      , semigroupoids
@@ -196306,8 +201495,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex";
-       version = "0.6.2.4";
-       sha256 = "1gm8w2ri16apy3b13i2f17pk1nsrsi0vbcrkckd1abbm4r4i16cd";
+       version = "0.6.3";
+       sha256 = "0nrmc86dinkxvfyj1wh57g816hzqxs583ipaqiq9gipadsa2jgcs";
        libraryHaskellDepends = [
          base bifunctors comonad constraints-extras containers data-default
          dependent-map dependent-sum exception-transformers haskell-src-exts
@@ -196349,6 +201538,33 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-backend-socket" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, mtl, network
+     , reflex, reflex-basic-host, semialign, semigroupoids, stm, these
+     , witherable
+     }:
+     mkDerivation {
+       pname = "reflex-backend-socket";
+       version = "0.2.0.0";
+       sha256 = "111kmsvxb86aphw0ascjf7p7fd0bfxs3lmvqbnvxvj3rhh19bq6c";
+       revision = "1";
+       editedCabalFile = "11swzj7l0wmvdv72716rmlwcvcxkj44h3jbzwyhqn8q0f9ykfggx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring lens mtl network reflex semialign semigroupoids stm
+         these
+       ];
+       executableHaskellDepends = [
+         base bytestring containers lens network reflex reflex-basic-host
+         witherable
+       ];
+       description = "Reflex bindings for TCP sockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-backend-wai" = callPackage
     ({ mkDerivation, base, containers, http-types, mtl, reflex
      , reflex-basic-host, stm, wai, warp
@@ -196372,22 +201588,20 @@ self: {
      }) {};
 
   "reflex-basic-host" = callPackage
-    ({ mkDerivation, base, dependent-map, dependent-sum, mtl, primitive
-     , ref-tf, reflex, stm
+    ({ mkDerivation, base, dependent-sum, lens, mtl, primitive, ref-tf
+     , reflex, stm, witherable
      }:
      mkDerivation {
        pname = "reflex-basic-host";
-       version = "0.1";
-       sha256 = "0fxd46i6jp71dcdmgl1r5hbd9a85fkl5bxhi0dr1gzhy1b9aqc1g";
-       revision = "1";
-       editedCabalFile = "0pqp4fi1qxcivm61x9lsvwny5yv0vrnb1n2v9zx06rqw914yriam";
+       version = "0.2.0.1";
+       sha256 = "1bax3rcrwi3447wd7apramw0f248ddksl8lrdjgrph26bbh8vc1i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base dependent-map dependent-sum mtl primitive ref-tf reflex stm
+         base dependent-sum lens mtl primitive ref-tf reflex stm
        ];
-       executableHaskellDepends = [ base mtl reflex ];
-       description = "A basic `reflex` host for backend work";
+       executableHaskellDepends = [ base lens reflex witherable ];
+       description = "A basic Reflex host for backend work";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -196399,8 +201613,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom";
-       version = "0.5";
-       sha256 = "167yghrwf6fay03y46xf87p9bhr6s3rlxn0yk5vnx1s5i95ps1x5";
+       version = "0.5.3";
+       sha256 = "04xnalhrckz5idnx1d4d93nz8fnxnjsd03kciln36wwd895bcmrk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -196453,32 +201667,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.3";
+       sha256 = "0znymqld4d6fp8l14y0gn86nbffaw8b0ql0y7bj3vnx80crjc32j";
        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;
@@ -196522,6 +201737,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "reflex-dom-retractable" = callPackage
+    ({ mkDerivation, base, containers, jsaddle, mtl, reflex, reflex-dom
+     }:
+     mkDerivation {
+       pname = "reflex-dom-retractable";
+       version = "0.1.0.0";
+       sha256 = "0qdr3xrpg5dhfsbz6b2883jkhvc7nckmn05gyc844xn0fjlrlbda";
+       revision = "2";
+       editedCabalFile = "19l4apgi05q2hi145wfyp3f6nkmdj9njpqmjk5g6hjma3pgncpsc";
+       libraryHaskellDepends = [
+         base containers jsaddle mtl reflex reflex-dom
+       ];
+       description = "Routing and retractable back button for reflex-dom";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-dom-svg" = callPackage
     ({ mkDerivation, base, containers, lens, reflex, reflex-dom-core
      , safe, text
@@ -196602,6 +201835,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "reflex-libtelnet" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, dependent-map
+     , dependent-sum, dependent-sum-template, lens, libtelnet, reflex
+     }:
+     mkDerivation {
+       pname = "reflex-libtelnet";
+       version = "0.1.0.0";
+       sha256 = "0abqbbbzgsq2sz1yx9cjl7cjfjaygcv4vc8hp6g4gk7744xdshz3";
+       libraryHaskellDepends = [
+         base bytestring data-default dependent-map dependent-sum
+         dependent-sum-template lens libtelnet reflex
+       ];
+       description = "Reflex bindings for libtelnet";
+       license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-orphans" = callPackage
     ({ mkDerivation, base, deepseq, dependent-map, mtl, ref-tf, reflex
      , tasty, tasty-hunit, these
@@ -196727,8 +201978,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
        ];
@@ -196742,8 +201993,8 @@ self: {
     ({ mkDerivation, base, hsp, hsx2hs, reform, text }:
      mkDerivation {
        pname = "reform-hsp";
-       version = "0.2.7.1";
-       sha256 = "084d03inyplx3n2zykaz2g7gskzs9hcjq8klhlnzpb1b6ahx5va8";
+       version = "0.2.7.2";
+       sha256 = "1vjbj41yl158h59wcx190jb4s627bhrhcbp21ykn93n4j454kfns";
        libraryHaskellDepends = [ base hsp hsx2hs reform text ];
        description = "Add support for using HSP with Reform";
        license = stdenv.lib.licenses.bsd3;
@@ -196833,6 +202084,30 @@ self: {
        broken = true;
      }) {};
 
+  "reg-alloc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reg-alloc";
+       version = "0.1.0.0";
+       sha256 = "1lik9r2lp1r1zamk3f1ciyw5iwgpx018jhk43hmc4kjg4d5g8l0r";
+       libraryHaskellDepends = [ base ];
+       description = "Register allocation API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "reg-alloc-types" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reg-alloc-types";
+       version = "0.1.0.0";
+       sha256 = "18m8di3syz0r01bq9vpglk5x87sw6y38wqnl8zg3z80i67fzfd4m";
+       libraryHaskellDepends = [ base ];
+       description = "Types used in register allocation API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regex" = callPackage
     ({ mkDerivation, array, base, base-compat, bytestring, containers
      , hashable, regex-base, regex-pcre-builtin, regex-tdfa
@@ -196843,6 +202118,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
@@ -196890,24 +202167,52 @@ self: {
        pname = "regex-base";
        version = "0.93.2";
        sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10";
-       revision = "1";
-       editedCabalFile = "1ijzh7yz7i6hvn8xlgyrc75l7zzn0z3kd4ks2yjfih4iir63y4ns";
+       revision = "2";
+       editedCabalFile = "0dks3m5xwcjqqlyyg7abh12ci3ap5qn6wz3bz80kr6rcfgk0fhvd";
        libraryHaskellDepends = [ array base bytestring containers mtl ];
        description = "Replaces/Enhances Text.Regex";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-base_0_94_0_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl, text }:
+     mkDerivation {
+       pname = "regex-base";
+       version = "0.94.0.0";
+       sha256 = "055rlq67xnbqv43fgrlw6d7s8nhyavahrp6blihwjmqizksq47y4";
+       libraryHaskellDepends = [
+         array base bytestring containers mtl text
+       ];
+       description = "Common \"Text.Regex.*\" API for Regex matching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "regex-compat" = callPackage
     ({ mkDerivation, array, base, regex-base, regex-posix }:
      mkDerivation {
        pname = "regex-compat";
        version = "0.95.1";
        sha256 = "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m";
+       revision = "1";
+       editedCabalFile = "0yg34p0rkql07y6rs6l70zlk8x51lra9vabkin921l581k6br498";
        libraryHaskellDepends = [ array base regex-base regex-posix ];
        description = "Replaces/Enhances Text.Regex";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-compat_0_95_2_0" = callPackage
+    ({ mkDerivation, array, base, regex-base, regex-posix }:
+     mkDerivation {
+       pname = "regex-compat";
+       version = "0.95.2.0";
+       sha256 = "01l44zrfpqb4k1rrzd1j18hn6922xhrl9h7s0hjfs363dx3hxj8z";
+       libraryHaskellDepends = [ array base regex-base regex-posix ];
+       description = "Replaces/Enhances \"Text.Regex\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "regex-compat-tdfa" = callPackage
     ({ mkDerivation, array, base, regex-base, regex-tdfa }:
      mkDerivation {
@@ -197085,6 +202390,8 @@ self: {
        pname = "regex-pcre";
        version = "0.94.4";
        sha256 = "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf";
+       revision = "1";
+       editedCabalFile = "0jk29n0may65ghixlx1wwfmfcabsm730y8ppry1qy4naywhi1vs7";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -197093,12 +202400,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) pcre;};
 
+  "regex-pcre_0_95_0_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, pcre
+     , regex-base
+     }:
+     mkDerivation {
+       pname = "regex-pcre";
+       version = "0.95.0.0";
+       sha256 = "0nn76q4bsjnxim0j0d01jifmh36as9jdpcvm001a851vvq86zb8n";
+       libraryHaskellDepends = [
+         array base bytestring containers regex-base
+       ];
+       libraryPkgconfigDepends = [ pcre ];
+       description = "PCRE Backend for \"Text.Regex\" (regex-base)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) pcre;};
+
   "regex-pcre-builtin" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, regex-base }:
      mkDerivation {
        pname = "regex-pcre-builtin";
-       version = "0.94.4.8.8.35";
-       sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b";
+       version = "0.94.5.8.8.35";
+       sha256 = "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -197106,6 +202430,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-pcre-builtin_0_95_1_1_8_43" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, regex-base
+     , text
+     }:
+     mkDerivation {
+       pname = "regex-pcre-builtin";
+       version = "0.95.1.1.8.43";
+       sha256 = "1akis4b9jp4a0qbwnpwm0nzlg76kb54wn2vlicc6yb4qha210fsd";
+       libraryHaskellDepends = [
+         array base bytestring containers regex-base text
+       ];
+       description = "PCRE Backend for \"Text.Regex\" (regex-base)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "regex-pcre-text" = callPackage
     ({ mkDerivation, array, base, bytestring, regex-base
      , regex-pcre-builtin, regex-tdfa-text, text
@@ -197146,6 +202486,8 @@ self: {
        pname = "regex-posix";
        version = "0.95.2";
        sha256 = "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an";
+       revision = "2";
+       editedCabalFile = "1zrlwmmrb3x3r3af1r42xwhwspzfgnzh4dw1158523sndsg8qn08";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -197153,6 +202495,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-posix_0_96_0_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, regex-base }:
+     mkDerivation {
+       pname = "regex-posix";
+       version = "0.96.0.0";
+       sha256 = "08a584jabmmn5gmaqrcar5wsp3qzk0hklldzp2mr2bmvlvqh04r5";
+       libraryHaskellDepends = [
+         array base bytestring containers regex-base
+       ];
+       description = "POSIX Backend for \"Text.Regex\" (regex-base)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-posix-clib" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "regex-posix-clib";
+       version = "2.7";
+       sha256 = "1y4vmiq1xksxxd84yvyark6axsz51ywb6slswbddlxbdpcpfday7";
+       doHaddock = false;
+       description = "\"Regex for Windows\" C library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
   "regex-posix-unittest" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, mtl
      , regex-base, regex-posix
@@ -197179,6 +202546,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.2.3.2";
        sha256 = "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf";
+       revision = "1";
+       editedCabalFile = "03z5jmpkgyd6ydwmnxcmhysjfwb0m5ngfgvxzf4f1vx2qgifqm5i";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim mtl parsec regex-base
        ];
@@ -197186,6 +202555,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "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.1.0";
+       sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
+       libraryHaskellDepends = [
+         array base bytestring containers mtl parsec regex-base text
+       ];
+       testHaskellDepends = [
+         array base bytestring containers directory filepath mtl regex-base
+         text utf8-string
+       ];
+       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "regex-tdfa-pipes" = callPackage
     ({ mkDerivation, array, base, lens, monads-tf, pipes, regex-base
      , regex-tdfa
@@ -197239,6 +202628,8 @@ self: {
        pname = "regex-tdfa-text";
        version = "1.0.0.3";
        sha256 = "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq";
+       revision = "1";
+       editedCabalFile = "00swglzmdw30g4bn47z6j71all0djjb2hjm7bkfl7pza4wv14wpv";
        libraryHaskellDepends = [ array base regex-base regex-tdfa text ];
        description = "Text interface for regex-tdfa";
        license = stdenv.lib.licenses.bsd3;
@@ -197328,6 +202719,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 {
@@ -197600,6 +203007,17 @@ self: {
        broken = true;
      }) {};
 
+  "regression-simple" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "regression-simple";
+       version = "0.1";
+       sha256 = "0f74xwyrnz39cl24kazvk8rd3px2l2ycx6a5jaqlab6wiwi5xclq";
+       libraryHaskellDepends = [ base vector ];
+       description = "Simple linear and quadratic regression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regular" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -197949,8 +203367,8 @@ self: {
      }:
      mkDerivation {
        pname = "releaser";
-       version = "0.2.0.0";
-       sha256 = "1hh4z87rc11pgapbrz0sjcy21pvgnm201b85prn09kiwcqrawz8r";
+       version = "0.2.1.0";
+       sha256 = "1nmbqilik3zdcyi7b5hq7xrk1f62g6lw0i8014zxqz56lcwkaj4z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -198046,6 +203464,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "relude_0_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , gauge, ghc-prim, Glob, hashable, hedgehog, mtl, QuickCheck, stm
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "relude";
+       version = "0.6.0.0";
+       sha256 = "0idf1r6hv9aksvis08z5bmnzc03k713609zcpy33655qwyl28fic";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq ghc-prim hashable mtl stm text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base bytestring doctest Glob hedgehog QuickCheck text
+       ];
+       benchmarkHaskellDepends = [
+         base containers gauge unordered-containers
+       ];
+       description = "Custom prelude from Kowainik";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "remark" = callPackage
     ({ mkDerivation, base, GenericPretty, tasty, tasty-golden
      , tasty-hunit
@@ -198333,8 +203775,8 @@ self: {
        pname = "repa";
        version = "3.4.1.4";
        sha256 = "17m3wl4hvf04fxwm4fflhnv41yl9bm263hnbpxc8x6xqwifplq23";
-       revision = "2";
-       editedCabalFile = "16kyy7ck3yki0mlcap0bbiadcn18yn6x90m4s2prkasi9ip0pcs8";
+       revision = "3";
+       editedCabalFile = "17hxj42cm82sac42by78jgbjjn5r3qv7n4919llaq17a2k1np0sw";
        libraryHaskellDepends = [
          base bytestring ghc-prim QuickCheck template-haskell vector
        ];
@@ -198348,6 +203790,8 @@ self: {
        pname = "repa-algorithms";
        version = "3.4.1.3";
        sha256 = "1bhg1vr85j9mqm9lg1577dvlgzdbkh9f48h0ll6h03jfw7knyn6y";
+       revision = "1";
+       editedCabalFile = "0lvb1sn95qca9m1b8cy0a2j9gjzqm8g5v68ykglffjskv78d0jfm";
        libraryHaskellDepends = [ base repa vector ];
        description = "Algorithms using the Repa array library";
        license = stdenv.lib.licenses.bsd3;
@@ -198438,8 +203882,8 @@ self: {
        pname = "repa-examples";
        version = "3.4.1.2";
        sha256 = "1lqqnk3prvw1pr2wi4rhymb8ij6mjp9mcsvjcllnxv567mz9gr4d";
-       revision = "2";
-       editedCabalFile = "0aghk6pav63hx13dzmp9v9izq7zv4kdc0vbbv2wr14i234ghljh9";
+       revision = "3";
+       editedCabalFile = "149wg57xkbnqymcmbd7i20kj37zyz0a4qm9426nkrrhkvs1acx52";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -198498,8 +203942,8 @@ self: {
        pname = "repa-io";
        version = "3.4.1.1";
        sha256 = "1nm9kfin6fv016r02l74c9hf8pr1rz7s33i833cqpyw8m6bcmnxm";
-       revision = "3";
-       editedCabalFile = "027vn7an0hm3ysnzk19y0dbjpah0wpg96dgb55149x1310vwybxl";
+       revision = "4";
+       editedCabalFile = "1lswfxmfn31gm2ayqwns9q9kpbad69scxpq6ybyzxkb9jd0jx4bl";
        libraryHaskellDepends = [
          base binary bmp bytestring old-time repa vector
        ];
@@ -198546,6 +203990,8 @@ self: {
        pname = "repa-scalar";
        version = "4.2.3.3";
        sha256 = "1qjzrmz010gm50in0yja817r6wl0n2iybd00dsfpcspdaq91ahvb";
+       revision = "1";
+       editedCabalFile = "14p7m3fyl3h6asxcb3lh67f3ypw85109fxfag5aycdr39g5xa6rm";
        libraryHaskellDepends = [
          base bytestring double-conversion primitive time vector
        ];
@@ -198657,8 +204103,8 @@ self: {
      }:
      mkDerivation {
        pname = "replace-attoparsec";
-       version = "1.0.1.0";
-       sha256 = "12xwdaqi81ssc5536icl49bqdnc6hiss9xm4gx3m1m4nz70ivk6z";
+       version = "1.0.3.0";
+       sha256 = "0vksppf0x9wp9hs6h9i2jbaz5vmrv8r78dv3dr4g3d8bnkh2vmwz";
        libraryHaskellDepends = [ attoparsec base bytestring text ];
        testHaskellDepends = [
          attoparsec base bytestring Cabal parsers text
@@ -198666,61 +204112,47 @@ self: {
        benchmarkHaskellDepends = [
          attoparsec base bytestring criterion text
        ];
-       description = "Stream edit, find-and-replace with Attoparsec parsers";
+       description = "Find, replace, and edit text patterns with Attoparsec parsers";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "replace-attoparsec_1_0_2_0" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, Cabal, criterion
-     , parsers, text
+  "replace-attoparsec_1_2_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, Cabal, parsers, text
      }:
      mkDerivation {
        pname = "replace-attoparsec";
-       version = "1.0.2.0";
-       sha256 = "13fri1sqvr9ldzbr7wif4fn5phjmca3pql10qzx049gyip1vfy8a";
+       version = "1.2.0.0";
+       sha256 = "0b3f3i4vhnn4d71bsjjdrspca20nk52wn8a6dnanf53x408jfkay";
        libraryHaskellDepends = [ attoparsec base bytestring text ];
        testHaskellDepends = [
          attoparsec base bytestring Cabal parsers text
        ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring criterion text
-       ];
-       description = "Stream edit, find-and-replace with Attoparsec parsers";
+       description = "Find, replace, and edit text patterns with Attoparsec parsers";
        license = stdenv.lib.licenses.bsd2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "replace-megaparsec" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, criterion, megaparsec
-     , text
-     }:
+    ({ mkDerivation, base, bytestring, Cabal, megaparsec, text }:
      mkDerivation {
        pname = "replace-megaparsec";
-       version = "1.1.3.0";
-       sha256 = "0nh14fk3wwwli9hh2wfj02zrgcsf0hia14cx22g9qvlym53ljg50";
+       version = "1.1.5.0";
+       sha256 = "07y21p6a65gm3zgi3g9rfgr8ali548jcq8qcg5fyzl2bl1bj8pyd";
        libraryHaskellDepends = [ base megaparsec ];
        testHaskellDepends = [ base bytestring Cabal megaparsec text ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion megaparsec text
-       ];
-       description = "Stream edit, find-and-replace with Megaparsec parsers";
+       description = "Find, replace, and edit text patterns with Megaparsec parsers";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "replace-megaparsec_1_1_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, criterion, megaparsec
-     , text
-     }:
+  "replace-megaparsec_1_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, megaparsec, text }:
      mkDerivation {
        pname = "replace-megaparsec";
-       version = "1.1.4.0";
-       sha256 = "0mfxk03p6wwikyrra2r5zs06axl7v0da9ggv5ycd6mi4bc5hpj8r";
-       libraryHaskellDepends = [ base megaparsec ];
+       version = "1.2.0.0";
+       sha256 = "0s9iqx4skv4dgj126b1g8903hi2g967pka695jmhi35sdwjsqc7l";
+       libraryHaskellDepends = [ base bytestring megaparsec text ];
        testHaskellDepends = [ base bytestring Cabal megaparsec text ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion megaparsec text
-       ];
-       description = "Stream edit, find-and-replace with Megaparsec parsers";
+       description = "Find, replace, and edit text patterns with Megaparsec parsers";
        license = stdenv.lib.licenses.bsd2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -198940,6 +204372,8 @@ self: {
        pname = "req";
        version = "2.1.0";
        sha256 = "07sm483bkwqq7fvhwqysl4ac0nw1mvhkywawwpgq0c1gw2wnv56n";
+       revision = "1";
+       editedCabalFile = "0dgd4wgijd0k96khy56b6gnzmqzmz44a4qsj0v5mwslvnvkq598a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -198958,6 +204392,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "req_3_0_0" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
+     , bytestring, case-insensitive, connection, hspec, hspec-core
+     , hspec-discover, http-api-data, http-client, http-client-tls
+     , http-types, modern-uri, monad-control, mtl, QuickCheck, retry
+     , text, time, transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "req";
+       version = "3.0.0";
+       sha256 = "0zcali98wlw2r4rl405268n4fsia1gvvnq7ckkinb3adp4aksk18";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson authenticate-oauth base blaze-builder bytestring
+         case-insensitive connection http-api-data http-client
+         http-client-tls http-types modern-uri monad-control mtl retry text
+         time transformers transformers-base
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder bytestring case-insensitive hspec
+         hspec-core http-client http-types modern-uri monad-control mtl
+         QuickCheck retry text time unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       doCheck = false;
+       description = "Easy-to-use, type-safe, expandable, high-level HTTP client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "req-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra, hspec
      , http-client, req, resourcet, temporary, transformers, weigh
@@ -198966,8 +204430,8 @@ self: {
        pname = "req-conduit";
        version = "1.0.0";
        sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
-       revision = "5";
-       editedCabalFile = "1vbki857d5xj54s83r7kqirrg9a738xr55d40xqcaxxm7ki4s63i";
+       revision = "6";
+       editedCabalFile = "0wmzf62r5jawlccbndvsrr6cj4r0bdl4mqqwcnxz412cdq71w8hz";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -199031,8 +204495,8 @@ self: {
      }:
      mkDerivation {
        pname = "reqcatcher";
-       version = "0.1.2.0";
-       sha256 = "0vwk4cl3jcahwg9sggic1rac2l2ia3nv3f4ri8iv8qknwah8mf5n";
+       version = "0.2.1.0";
+       sha256 = "1fh9p7437czn7rw5jmpxlmg0zhrkkj5hwd0kzlr2jainxzvlw2b3";
        libraryHaskellDepends = [ base http-types network text wai warp ];
        testHaskellDepends = [
          base http-client http-types HUnit lens tasty tasty-hunit wai wreq
@@ -199062,38 +204526,6 @@ self: {
      }:
      mkDerivation {
        pname = "require";
-       version = "0.4.2";
-       sha256 = "03dhj1j9gp6mmgaxxkd1bf2i6hw78ql2qpi0qrdmx5dinclkidk7";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring directory inliterate megaparsec optparse-generic
-         text universum
-       ];
-       executableHaskellDepends = [
-         base bytestring directory inliterate megaparsec optparse-generic
-         text universum
-       ];
-       testHaskellDepends = [
-         base bytestring directory inliterate megaparsec optparse-generic
-         tasty tasty-hspec text universum
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion directory inliterate megaparsec
-         optparse-generic text universum
-       ];
-       description = "Scrap your qualified import clutter";
-       license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "require_0_4_3" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, directory, inliterate
-     , megaparsec, optparse-generic, tasty, tasty-hspec, text, universum
-     }:
-     mkDerivation {
-       pname = "require";
        version = "0.4.3";
        sha256 = "0j6dsyqx637b5p8jmk5h4b0qham0m8m74c8b8y1dywm0c5daayca";
        isLibrary = true;
@@ -199131,6 +204563,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rerebase_1_4_1" = callPackage
+    ({ mkDerivation, rebase }:
+     mkDerivation {
+       pname = "rerebase";
+       version = "1.4.1";
+       sha256 = "19a3pwi801kfaflnag9n7zzxapcjfpqpykr6rq8b6axhyqj3vxim";
+       libraryHaskellDepends = [ rebase ];
+       description = "Reexports from \"base\" with a bunch of other standard libraries";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "reroute" = callPackage
     ({ mkDerivation, base, criterion, deepseq, graph-core, hashable
      , hspec, http-api-data, hvect, mtl, random, regex-compat, text
@@ -199805,8 +205249,8 @@ self: {
        pname = "rethinkdb-client-driver";
        version = "0.0.25";
        sha256 = "15l9z7ki81cv97lajxcbddavbd254c5adcdi8yw6df31rmbc378g";
-       revision = "3";
-       editedCabalFile = "1g4shgl944fd3qbqkd68jv6vh65plaivci4vjzfs4py7a2p62db1";
+       revision = "4";
+       editedCabalFile = "1fjavc5gmz15za1yzj4b23gd50b2jj83l0d5pc2kmz8f6bs5nx9f";
        libraryHaskellDepends = [
          aeson base binary bytestring containers hashable mtl network
          old-locale scientific stm template-haskell text time
@@ -199870,8 +205314,8 @@ self: {
      }:
      mkDerivation {
        pname = "retry";
-       version = "0.8.0.1";
-       sha256 = "0x63grjv0r96gv8ksh6r6aja6fvnwr06bypigvkskzhjjbk3fhcx";
+       version = "0.8.1.0";
+       sha256 = "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj";
        libraryHaskellDepends = [
          base exceptions ghc-prim random transformers
        ];
@@ -200002,8 +205446,8 @@ self: {
      }:
      mkDerivation {
        pname = "rewrite-inspector";
-       version = "0.1.0.9";
-       sha256 = "1f7jn46b311hlyb6zghrmqcg323235njisk4j31lf4kvbl848sn6";
+       version = "0.1.0.11";
+       sha256 = "05k923qjf9w5lvwhi918nqscxzxvpcsw5lbw9sgrgbh0bijw6j3r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -200036,8 +205480,8 @@ self: {
      }:
      mkDerivation {
        pname = "rex";
-       version = "0.5.2";
-       sha256 = "0xliw2glqyfr9cvi50rvb0frhmp3ysri9glx3c8x96rkf0xg27kf";
+       version = "0.6";
+       sha256 = "024qxr75269l8j8bklxg7a98xvrymmnczcpflgqjiqn5kvdrn5yz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers haskell-src-exts haskell-src-meta
@@ -200449,21 +205893,21 @@ 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
+    ({ mkDerivation, aeson, async, base-noprelude, binary, clay
+     , cmdargs, containers, directory, exceptions, foldl, fsnotify
+     , lucid, megaparsec, mmark, mmark-ext, modern-uri, mtl, named
+     , pandoc, pandoc-include-code, pandoc-types, path, path-io, relude
+     , shake, text, wai, wai-app-static, warp
      }:
      mkDerivation {
        pname = "rib";
-       version = "0.3.0.0";
-       sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18";
+       version = "0.5.0.0";
+       sha256 = "1h9faqwicvgkw5lfj14mcmk0sn8fjzv1vl9887s4y4q4jpi2wfvb";
        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
+         aeson async base-noprelude binary clay cmdargs containers directory
+         exceptions foldl fsnotify lucid megaparsec mmark mmark-ext
+         modern-uri mtl named pandoc pandoc-include-code pandoc-types path
+         path-io relude shake text wai wai-app-static warp
        ];
        description = "Static site generator using Shake";
        license = stdenv.lib.licenses.bsd3;
@@ -200475,10 +205919,12 @@ self: {
     ({ mkDerivation, base, Only, postgresql-simple, text, time }:
      mkDerivation {
        pname = "ribbit";
-       version = "0.3.0.1";
-       sha256 = "0n2xgwwff1bgpqza2l0d5j7agynkz2ps3vc0y73rrpxwc0kn8z3n";
+       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;
      }) {};
 
@@ -200726,6 +206172,24 @@ self: {
        broken = true;
      }) {};
 
+  "rings" = callPackage
+    ({ mkDerivation, base, connections, containers, hedgehog, property
+     , semigroupoids
+     }:
+     mkDerivation {
+       pname = "rings";
+       version = "0.0.2.1";
+       sha256 = "00aks4frrnp5wk97zgbg9f1bsj3wm7hppfwa8mwr77lfgvbsd1hn";
+       libraryHaskellDepends = [
+         base connections containers property semigroupoids
+       ];
+       testHaskellDepends = [ base connections hedgehog property ];
+       description = "Rings, semirings, and dioids";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "rio" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, hashable, hspec, microlens, mtl, primitive
@@ -201351,6 +206815,25 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "rocksdb-query_0_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, data-default
+     , hspec, resourcet, rocksdb-haskell, unliftio
+     }:
+     mkDerivation {
+       pname = "rocksdb-query";
+       version = "0.3.0";
+       sha256 = "0fy7d9m9g0jwssjgkhyg2d170s7mp7g9kz73zgnnp0xgl6mpxrsi";
+       libraryHaskellDepends = [
+         base bytestring cereal conduit resourcet rocksdb-haskell unliftio
+       ];
+       testHaskellDepends = [
+         base cereal data-default hspec rocksdb-haskell unliftio
+       ];
+       description = "RocksDB database querying library for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "roguestar" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, old-time
      , process
@@ -201556,16 +207039,15 @@ self: {
   "ron" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
      , containers, criterion, deepseq, hashable, integer-gmp, mtl
-     , scientific, template-haskell, text, time, transformers
-     , unordered-containers
+     , scientific, template-haskell, text, time, unordered-containers
      }:
      mkDerivation {
        pname = "ron";
-       version = "0.9";
-       sha256 = "0brjqb6lrcs711g5aqw3d5nidikmvjyyps8hcifzwpjanq0l8cvg";
+       version = "0.10";
+       sha256 = "1qw1kyrd3z5fag4a9w2nibcc3m68cr75jplp2pvwvkcmbl23alar";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring containers hashable
-         integer-gmp mtl scientific template-haskell text time transformers
+         integer-gmp mtl scientific template-haskell text time
          unordered-containers
        ];
        benchmarkHaskellDepends = [ base criterion deepseq integer-gmp ];
@@ -201579,8 +207061,8 @@ self: {
      }:
      mkDerivation {
        pname = "ron-rdt";
-       version = "0.9.1";
-       sha256 = "1kx858d3pyj2dlpznd9n0aw6yhkq4ac9789kkan9yi8mf0vdbn3i";
+       version = "0.10";
+       sha256 = "1dsplv4g0nflkns1yyx6lqf83qnc5y1bycgfydwa9hn1kliqf73c";
        libraryHaskellDepends = [
          base containers Diff hashable integer-gmp mtl ron text time
          transformers unordered-containers
@@ -201608,16 +207090,16 @@ self: {
 
   "ron-storage" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , integer-gmp, mtl, network-info, ron, ron-rdt, stm, text
+     , fsnotify, integer-gmp, mtl, network-info, ron, ron-rdt, stm, text
      , tf-random, transformers
      }:
      mkDerivation {
        pname = "ron-storage";
-       version = "0.10.1";
-       sha256 = "1wck9d188kinfzmz7ff8vw39ff5garfy6nw0cwkr4k3qdvcajj1r";
+       version = "0.11";
+       sha256 = "1c8spi1bpjxkv8lj1rkqfs8ra4yg7x6shjyawpdz4wna11cdpydx";
        libraryHaskellDepends = [
-         base bytestring containers directory filepath integer-gmp mtl
-         network-info ron ron-rdt stm text tf-random transformers
+         base bytestring containers directory filepath fsnotify integer-gmp
+         mtl network-info ron ron-rdt stm text tf-random transformers
        ];
        description = "RON Storage";
        license = stdenv.lib.licenses.bsd3;
@@ -201668,17 +207150,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;
@@ -202203,6 +207686,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rpmbuild-order_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , fgl, filepath, optparse-applicative, process, simple-cmd-args
+     }:
+     mkDerivation {
+       pname = "rpmbuild-order";
+       version = "0.3";
+       sha256 = "1w5c1nd1w75bk39payczbh4kwn5rizpv9dzgdwssa8d9f0na10lr";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal containers directory fgl filepath
+         optparse-applicative process simple-cmd-args
+       ];
+       description = "Order RPM packages by dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rsagl" = callPackage
     ({ mkDerivation, array, arrows, base, containers
      , data-memocombinators, deepseq, mtl, old-time, OpenGL, OpenGLRaw
@@ -202291,6 +207793,8 @@ self: {
        pname = "rss";
        version = "3000.2.0.7";
        sha256 = "0z48xb610k1h29rg03q19y08fp78agxp2gr48innw5y3rz00s6ym";
+       revision = "1";
+       editedCabalFile = "0ql1ffjw0g1sdyz9icin4cq86i5b9ljzhvpivfbbyaipg2nc9z0s";
        libraryHaskellDepends = [ base HaXml network network-uri time ];
        description = "A library for generating RSS 2.0 feeds.";
        license = stdenv.lib.licenses.publicDomain;
@@ -202738,6 +208242,8 @@ self: {
        pname = "rvar";
        version = "0.2.0.3";
        sha256 = "1h3bii1pamkv7656280i6zx7fpdwgbn2ysfijpd2s65szlpsz2np";
+       revision = "1";
+       editedCabalFile = "1ifwwjlhc3l8ycjmmarw6v1nm7jxpgqw2ly0q35idlj0jc0nbxn6";
        libraryHaskellDepends = [
          base MonadPrompt mtl random-source transformers
        ];
@@ -202846,8 +208352,10 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "safe";
-       version = "0.3.17";
-       sha256 = "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr";
+       version = "0.3.18";
+       sha256 = "1v8gxjlq5wz5adyrd8i3dax5hcxrqq0i54m85zpfwfzqibi5nxyp";
+       revision = "1";
+       editedCabalFile = "0zr1di94nbvs6848g1ng6azl7nwm7454kjig2c7gcf9sp4q7z8ba";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base deepseq QuickCheck ];
        description = "Library of safe (exception free) functions";
@@ -203035,7 +208543,7 @@ self: {
        broken = true;
      }) {};
 
-  "safe-json_1_0_0" = callPackage
+  "safe-json_1_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, dlist
      , generic-arbitrary, hashable, quickcheck-instances, scientific
      , tasty, tasty-hunit, tasty-quickcheck, temporary, text, time
@@ -203043,8 +208551,8 @@ self: {
      }:
      mkDerivation {
        pname = "safe-json";
-       version = "1.0.0";
-       sha256 = "0i5wryhfiqdqxgzzk9ywnlh4y8hvanrm2mqa0niavf4jgvkkfalh";
+       version = "1.1.0";
+       sha256 = "18zsf2dccgf755a8g4ar3zc7ilmampsrvqa6f9p27zrayl7j87hw";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -203266,7 +208774,7 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "safecopy_0_10_0" = callPackage
+  "safecopy_0_10_2" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , generic-data, HUnit, lens, lens-action, old-time, QuickCheck
      , quickcheck-instances, tasty, tasty-quickcheck, template-haskell
@@ -203274,8 +208782,8 @@ self: {
      }:
      mkDerivation {
        pname = "safecopy";
-       version = "0.10.0";
-       sha256 = "0j5fa68symjqwphvin0nj524wnh3vmq34mlj6mfvl78by4pki0nv";
+       version = "0.10.2";
+       sha256 = "0x8j27qmvqk009q2jhs1a6rdi81xvgp76bwnbp0y8yvzynjcaagk";
        libraryHaskellDepends = [
          array base bytestring cereal containers generic-data old-time
          template-haskell text time transformers vector
@@ -203524,6 +209032,8 @@ self: {
        pname = "salak";
        version = "0.3.5.3";
        sha256 = "0k6z2vjxg6za6rfhx1xgjdck7ainnsbhrvzav2ngwpvy8li5g02b";
+       revision = "1";
+       editedCabalFile = "138c763crbfipcb9ss1lk3wx3482nm2v4zbm3k88h6jszxhmxvav";
        libraryHaskellDepends = [
          base bytestring containers data-default directory dlist exceptions
          filepath hashable heaps megaparsec mtl scientific text time
@@ -203628,8 +209138,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.6";
-       sha256 = "1vgpj0yg27n6hw1gb763hgxv99hpq7511n2ihys0qdi0ri8bpj1j";
+       version = "1.0.8";
+       sha256 = "1hgcyincccib0v671kd8qybgf8q9m0n8lcrpj37pgq9wzq6x34sm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Semantic version numbers and constraints";
@@ -204254,21 +209764,19 @@ self: {
        testSystemDepends = [ z3 ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
-  "sbv_8_4" = callPackage
+  "sbv_8_5" = callPackage
     ({ mkDerivation, array, async, base, bytestring, containers
-     , crackNum, deepseq, directory, doctest, filepath, generic-deriving
-     , ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random, syb
-     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , template-haskell, time, transformers, z3
+     , crackNum, criterion, deepseq, directory, doctest, filepath
+     , generic-deriving, ghc, Glob, hlint, mtl, pretty, process
+     , QuickCheck, random, syb, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, template-haskell, time, transformers, z3
      }:
      mkDerivation {
        pname = "sbv";
-       version = "8.4";
-       sha256 = "0fv1l99zw29vsfgzym0qvb8qcy1jb7gkd1yj48vy1w0ayg9w01i0";
+       version = "8.5";
+       sha256 = "108j9b10sf7cv838g07lip17qx49d9lh9ajd3q2r0848szg0kf1p";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum deepseq directory filepath
@@ -204281,10 +209789,13 @@ self: {
          tasty-quickcheck template-haskell
        ];
        testSystemDepends = [ z3 ];
+       benchmarkHaskellDepends = [
+         base containers crackNum criterion deepseq directory filepath mtl
+         process random syb
+       ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "sbvPlugin" = callPackage
@@ -204583,25 +210094,6 @@ self: {
 
   "scanner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cereal, criterion
-     , hspec, text
-     }:
-     mkDerivation {
-       pname = "scanner";
-       version = "0.3";
-       sha256 = "0yshznbp784d4gk2qz5jlw5ikc1s1h58h7vck2yksi4ynm3m3y57";
-       revision = "1";
-       editedCabalFile = "1v64k5jn70ipv2yi81b0s8lkpdd8hx08gdix0ixnpfqdpkj7pzx2";
-       libraryHaskellDepends = [ base bytestring ];
-       testHaskellDepends = [ base bytestring hspec ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring cereal criterion text
-       ];
-       description = "Fast non-backtracking incremental combinator parsing for bytestrings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "scanner_0_3_1" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, cereal, criterion
      , fail, hspec, text
      }:
      mkDerivation {
@@ -204615,7 +210107,6 @@ self: {
        ];
        description = "Fast non-backtracking incremental combinator parsing for bytestrings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scanner-attoparsec" = callPackage
@@ -204739,6 +210230,27 @@ self: {
        broken = true;
      }) {};
 
+  "schedule" = callPackage
+    ({ mkDerivation, async, base, checkers, containers, doctest, extra
+     , lens, primitive, safe, stm, system-time-monotonic, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "schedule";
+       version = "0.2.0.0";
+       sha256 = "02sfzvkz0r1lyqbsiba866jhcfb5f223z09zj437d31vayn6nzay";
+       libraryHaskellDepends = [
+         async base containers extra lens primitive safe stm
+         system-time-monotonic text time transformers
+       ];
+       testHaskellDepends = [
+         base checkers doctest primitive tasty tasty-hunit tasty-quickcheck
+         transformers
+       ];
+       description = "Pure deterministic scheduled computations";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "schedule-planner" = callPackage
     ({ mkDerivation, aeson, base, bytestring, composition, containers
      , HTTP, http-types, mtl, options, text, text-icu, transformers, wai
@@ -204762,14 +210274,14 @@ self: {
 
   "scheduler" = callPackage
     ({ mkDerivation, async, atomic-primops, base, Cabal, cabal-doctest
-     , criterion, deepseq, doctest, exceptions, fib, genvalidity-hspec
-     , hspec, monad-par, mwc-random, parallel, primitive, QuickCheck
-     , streamly, template-haskell, unliftio, unliftio-core, vector
+     , criterion, deepseq, doctest, exceptions, genvalidity-hspec, hspec
+     , monad-par, mwc-random, parallel, primitive, QuickCheck, streamly
+     , template-haskell, unliftio, unliftio-core, vector
      }:
      mkDerivation {
        pname = "scheduler";
-       version = "1.4.2";
-       sha256 = "0px7k4lq758s8303fx690pzzigqi26m45wxpapj9pgl4kar45jzc";
+       version = "1.4.2.1";
+       sha256 = "074m037ksjl7kgpgfldimaadhc4f6mmv40y6cq54m9shhg7rxw1c";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          atomic-primops base deepseq exceptions primitive unliftio-core
@@ -204779,11 +210291,12 @@ self: {
          template-haskell unliftio vector
        ];
        benchmarkHaskellDepends = [
-         async base criterion deepseq fib monad-par parallel streamly
-         unliftio
+         async base criterion deepseq monad-par parallel streamly unliftio
        ];
        description = "Work stealing scheduler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedyield" = callPackage
@@ -204811,6 +210324,32 @@ self: {
        license = stdenv.lib.licenses.agpl3;
      }) {};
 
+  "schemas" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bifunctors, bytestring
+     , free, generic-lens, generics-sop, hashable, hspec, lens
+     , lens-aeson, mtl, pretty-simple, profunctors, QuickCheck
+     , scientific, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "schemas";
+       version = "0.4.0.0";
+       sha256 = "1i8sapi31dwlhjvkhgcznd1mfw1h86hgg310x6zkz2m1wkazy5yr";
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring free generics-sop hashable lens
+         lens-aeson mtl profunctors scientific text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring generic-lens generics-sop hspec
+         lens mtl pretty-simple QuickCheck text transformers
+         unordered-containers
+       ];
+       description = "schema guided serialization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "schematic" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hjsonschema
      , hspec, hspec-core, hspec-discover, hspec-smallcheck, HUnit, lens
@@ -204987,31 +210526,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;
@@ -205069,6 +210610,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "scientific-notation" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, byteslice, bytesmith
+     , bytestring, gauge, primitive, QuickCheck, run-st, scientific
+     , tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "scientific-notation";
+       version = "0.1.1.0";
+       sha256 = "1s0iyj6dn0nbn8s31b5wwwlyfx5jcnwa3i9gp45idcwfsz5hmdvq";
+       libraryHaskellDepends = [ base bytesmith ];
+       testHaskellDepends = [
+         base byteslice bytesmith bytestring primitive QuickCheck tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         aeson attoparsec base byteslice bytesmith bytestring gauge
+         primitive run-st scientific
+       ];
+       description = "Scientific notation intended for tokenization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "scion" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , filepath, ghc, ghc-paths, ghc-syb, hslogger, json, multiset
@@ -205800,6 +211365,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.2";
+       sha256 = "0456j3c6a76ph01cz0cdhgfqyyamrwh0y7v5f336kvh5cmsdyw57";
+       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
@@ -206273,8 +211851,8 @@ self: {
      }:
      mkDerivation {
        pname = "secp256k1-haskell";
-       version = "0.1.4";
-       sha256 = "1vfbn0fvrbk4hmfhsm8gj3yxyijzfdqlywwir64zrafla4yry73l";
+       version = "0.1.5";
+       sha256 = "1s989dk7zncz68zl3k13dk8ap7dq5k4m2kwimpbicizxfnl7gzfg";
        libraryHaskellDepends = [
          base base16-bytestring bytestring cereal entropy hashable
          QuickCheck string-conversions
@@ -206289,20 +211867,20 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {inherit (pkgs) secp256k1;};
 
-  "secp256k1-haskell_0_1_5" = callPackage
+  "secp256k1-haskell_0_1_6" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, cereal
-     , entropy, hashable, hspec, hspec-discover, HUnit, mtl, QuickCheck
-     , secp256k1, string-conversions
+     , entropy, hashable, hspec, hspec-discover, HUnit, libsecp256k1
+     , mtl, QuickCheck, string-conversions
      }:
      mkDerivation {
        pname = "secp256k1-haskell";
-       version = "0.1.5";
-       sha256 = "1s989dk7zncz68zl3k13dk8ap7dq5k4m2kwimpbicizxfnl7gzfg";
+       version = "0.1.6";
+       sha256 = "1xasiii9g6ypn9y89q7ramkgz7vx87fr21qqbh1657my4aaipv03";
        libraryHaskellDepends = [
          base base16-bytestring bytestring cereal entropy hashable
          QuickCheck string-conversions
        ];
-       librarySystemDepends = [ secp256k1 ];
+       libraryPkgconfigDepends = [ libsecp256k1 ];
        testHaskellDepends = [
          base base16-bytestring bytestring cereal entropy hashable hspec
          HUnit mtl QuickCheck string-conversions
@@ -206311,7 +211889,7 @@ self: {
        description = "Bindings for secp256k1 library from Bitcoin Core";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) secp256k1;};
+     }) {libsecp256k1 = null;};
 
   "secp256k1-legacy" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, Cabal, cereal
@@ -206320,8 +211898,8 @@ self: {
      }:
      mkDerivation {
        pname = "secp256k1-legacy";
-       version = "0.5.5";
-       sha256 = "1wqzv26zcbd9lxl8ifwwwnp7ikfd7rs8w784gdap963yk0k3692d";
+       version = "0.5.6";
+       sha256 = "0p7kp7011hfc95rdchkniw3gj5i0pkwgsa5kkhwn6fjzs2clslbz";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base base16-bytestring bytestring cereal entropy mtl QuickCheck
@@ -206334,6 +211912,8 @@ self: {
        ];
        description = "fork of secp256k1";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "secret-santa" = callPackage
@@ -206488,25 +212068,11 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, selda, text }:
      mkDerivation {
        pname = "selda-json";
-       version = "0.1.0.0";
-       sha256 = "0m4qcnj7bplh1wpxnfx5mcpxyy2gpd00886lwmlxfdpch0qg2bd0";
-       revision = "1";
-       editedCabalFile = "1sgqscdibw80qsm02kxgx01rzh810rj3rwi1ksjq6d2j6yb1snaj";
-       libraryHaskellDepends = [ aeson base bytestring selda text ];
-       description = "JSON support for the Selda database library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "selda-json_0_1_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, selda, text }:
-     mkDerivation {
-       pname = "selda-json";
        version = "0.1.1.0";
        sha256 = "1ai24qmz5nkpqx0zd24ix0ci5aqiccfy57fkf8f87swrv28101l8";
        libraryHaskellDepends = [ aeson base bytestring selda text ];
        description = "JSON support for the Selda database library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "selda-postgresql" = callPackage
@@ -206517,6 +212083,8 @@ self: {
        pname = "selda-postgresql";
        version = "0.1.8.0";
        sha256 = "0x7ncc8593lialllgsjdy759cinvgwh4spq2aarfd0j3zv78yvdi";
+       revision = "1";
+       editedCabalFile = "0zbx50lw8d5x7lsx9gpy2ql1n2nryhyd6x7w98lbnb3nzn3szzqr";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-binary postgresql-libpq selda
          selda-json text time uuid-types
@@ -206533,6 +212101,8 @@ self: {
        pname = "selda-sqlite";
        version = "0.1.7.0";
        sha256 = "0qiagfsd45v3vk1npdm8g28mlbdbnrp3drvb6hdnxyp3b5cmyzik";
+       revision = "1";
+       editedCabalFile = "0m9zps90idp41h3fggd30xjqyjy2yyyb572231w5m2ygl4kv8hvh";
        libraryHaskellDepends = [
          base bytestring direct-sqlite directory exceptions selda text time
          uuid-types
@@ -206694,8 +212264,8 @@ self: {
      }:
      mkDerivation {
        pname = "semantic-source";
-       version = "0.0.0.0";
-       sha256 = "1zvqr8a5pm32hcwxxgnbyp773ld4c29m20v7hghcmkgfdayps5r1";
+       version = "0.0.0.1";
+       sha256 = "0w1iwd67dpvpc43g4x9q686sljrxv6xhx9rlgiw6kzcdil7fcm8z";
        libraryHaskellDepends = [
          aeson base bytestring deepseq generic-monoid hashable semilattices
          text
@@ -206779,22 +212349,78 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semialign_1_1" = callPackage
+    ({ mkDerivation, base, base-compat, containers, hashable
+     , semigroupoids, tagged, these, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "semialign";
+       version = "1.1";
+       sha256 = "1n47w9c6i6azb4w65rzhci00v6p9c0s1w1givd2q3smkgyziiqpk";
+       libraryHaskellDepends = [
+         base base-compat containers hashable semigroupoids tagged these
+         transformers unordered-containers vector
+       ];
+       description = "Align and Zip type-classes from the common Semialign ancestor";
+       license = stdenv.lib.licenses.bsd3;
+       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";
+       revision = "1";
+       editedCabalFile = "0cz85cbv6qiv1rvlhnxxlibfys2qj5bfsjwwhmnkq91wm69scwpy";
+       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
      }:
      mkDerivation {
        pname = "semialign-indexed";
-       version = "1";
-       sha256 = "0m37c4bfvph7w241cgr2adp3x13ffgnw2l66wyn7y9rdvm2983k2";
-       revision = "1";
-       editedCabalFile = "1m08sj2xd97ix5bkm5hpyyb7inqfqic9m5dmy5jyg0ws41077frg";
+       version = "1.1";
+       sha256 = "1b6amfhwk968ah56w8vala3hbpzf9mfza2ajhdnvzcdiyqyxvwb0";
        libraryHaskellDepends = [
          base containers hashable lens semialign these unordered-containers
          vector
        ];
        description = "SemialignWithIndex, i.e. izipWith and ialignWith";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "semialign-optics" = callPackage
+    ({ mkDerivation, base, containers, hashable, optics-extra
+     , semialign, these, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "semialign-optics";
+       version = "1.1";
+       sha256 = "1ffibnk1hsdnny5jm85j07f05k81pzzai4jljlj12nn687rbb59y";
+       libraryHaskellDepends = [
+         base containers hashable optics-extra semialign these
+         unordered-containers vector
+       ];
+       description = "SemialignWithIndex, i.e. izipWith and ialignWith";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "semibounded-lattices" = callPackage
@@ -206830,8 +212456,8 @@ self: {
      }:
      mkDerivation {
        pname = "semigroupoids";
-       version = "5.3.3";
-       sha256 = "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61";
+       version = "5.3.4";
+       sha256 = "0r49qpbi803jk3v4i09jr1a98l6hcgnjhrv1a9fhmay3ff4y9lh0";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
@@ -206909,8 +212535,8 @@ self: {
      }:
      mkDerivation {
        pname = "semilattices";
-       version = "0.0.0.3";
-       sha256 = "089vgwbcwa3hj53hh9djmilwfknsd9g9z9q1gbl0dad4lr39062f";
+       version = "0.0.0.4";
+       sha256 = "14b182gxg3frcr9572294ds0l1n5jx4cfr6bxc50ybpgl07a98pj";
        libraryHaskellDepends = [
          base containers hashable unordered-containers
        ];
@@ -206946,10 +212572,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
@@ -206995,14 +212619,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "semirings_0_5_1" = callPackage
+  "semirings_0_5_2" = callPackage
     ({ mkDerivation, base, containers, hashable, integer-gmp
      , unordered-containers
      }:
      mkDerivation {
        pname = "semirings";
-       version = "0.5.1";
-       sha256 = "1nrz80hsc3sx7nhd1hd17pdhdxhlvc2ngkg8jy14r2y2fblxczgd";
+       version = "0.5.2";
+       sha256 = "1r7zh3gif49rhy9kwq56r3lryjkkdnxzj1md1p9nh0ld3blagdsz";
        libraryHaskellDepends = [
          base containers hashable integer-gmp unordered-containers
        ];
@@ -207224,6 +212848,44 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "seonbi" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal, cases
+     , cassava, containers, data-default, directory, doctest
+     , doctest-discover, file-embed, filepath, hlint, hspec
+     , hspec-discover, html-charset, http-client, http-types
+     , optparse-applicative, QuickCheck, temporary, text, text-trie
+     , unicode-show, wai, warp, zip
+     }:
+     mkDerivation {
+       pname = "seonbi";
+       version = "0.1.1";
+       sha256 = "1jsikmlr647c51zmd471wnff6wzxybmp7bvidvyx5fkzb3nlhrqb";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [
+         base bytestring Cabal directory filepath http-client temporary text
+         zip
+       ];
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring cassava containers data-default
+         file-embed filepath text text-trie
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cases containers html-charset http-types
+         optparse-applicative text wai warp
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers doctest doctest-discover hlint
+         hspec hspec-discover QuickCheck text unicode-show
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "SmartyPants for Korean language";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "separated" = callPackage
     ({ mkDerivation, base, bifunctors, Cabal, cabal-doctest
      , deriving-compat, directory, doctest, filepath, lens, parsec
@@ -207300,8 +212962,8 @@ self: {
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
        pname = "seqid";
-       version = "0.6.0";
-       sha256 = "1zm1zmzp3i60wb17ghr4rp5ljlhvsblll69x2ibjk7kh5icvwfqc";
+       version = "0.6.1";
+       sha256 = "0gqmnckrrs85cwz2jvp2ip7a5c5qfbav4nb9d8bxax093jziz301";
        libraryHaskellDepends = [ base mtl transformers ];
        description = "Sequence ID production and consumption";
        license = stdenv.lib.licenses.bsd3;
@@ -207326,8 +212988,8 @@ self: {
     ({ mkDerivation, base, io-streams, seqid }:
      mkDerivation {
        pname = "seqid-streams";
-       version = "0.7.0";
-       sha256 = "0z80cclvzkr6dg81n96dpan9a7285rlq9nmchiy4raxsjw4cza58";
+       version = "0.7.1";
+       sha256 = "0yasm87kjhdq13zacpd4qa3kssalwvkipf3rz2cq1dgdgps5mxf7";
        libraryHaskellDepends = [ base io-streams seqid ];
        description = "Sequence ID IO-Streams";
        license = stdenv.lib.licenses.bsd3;
@@ -207437,8 +213099,8 @@ self: {
      }:
      mkDerivation {
        pname = "sequenceTools";
-       version = "1.4.0.4";
-       sha256 = "13q9ypr4zxbxj0allkahcc4syvvmmplv2d3qj3mcz1p7704klga0";
+       version = "1.4.0.5";
+       sha256 = "06wi43di0bja83iympx8pvka4zfwc4yyaw7chrddvxasnxqi369q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -207750,10 +213412,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-JuicyPixels";
-       version = "0.3.0.4";
-       sha256 = "10crrcrxap7751wifbc28kr1kv0rjvrx3wlnkajgv3xpr05g00kv";
-       revision = "1";
-       editedCabalFile = "185ym0ac6gx7f98pd92ykc1ib305lswzjzvykly4ij9vk85jn0ax";
+       version = "0.3.0.5";
+       sha256 = "1lhxb6z8xypx48k8hwzqpp92qww8wxbp3a1ggik4dfrcxkcklmlx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -207799,8 +213459,8 @@ self: {
        pname = "servant-auth";
        version = "0.3.2.0";
        sha256 = "12s1m7vqp0ka8nani4cnrb6fad2y5mxji95bba2b6b07ih8xbd3v";
-       revision = "1";
-       editedCabalFile = "10ss4v45lclf5n0k6rch22zzs59v7p5ppd04dbc97pqxiygpbnd9";
+       revision = "2";
+       editedCabalFile = "06jpxqz5444k19p1n4i4yf2pvql37w9ngssp1grxl42dxk2bcg94";
        libraryHaskellDepends = [ base ];
        description = "Authentication combinators for servant";
        license = stdenv.lib.licenses.bsd3;
@@ -207817,8 +213477,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.0.0";
        sha256 = "1kh4kq3cc9fn49vmh304zyzn7idb4k1j0803yp7a6qc733panf9g";
-       revision = "1";
-       editedCabalFile = "0cynalya2y5bfnhkc49vwf0ldxg4km6nklk77nlxjcrvwas21g7z";
+       revision = "2";
+       editedCabalFile = "0c67m1ckksnmwkya78nn9hy65xb7c4023fy7d3pp6zyq8izrp1v8";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -207873,8 +213533,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "3";
-       editedCabalFile = "0in6rhgwn5idc2rsl4zbh6kkhxq471iczjd3i6ap60xg46ciymga";
+       revision = "4";
+       editedCabalFile = "1dvwkaihrm7dc2zdrqqvc0j7zmij487klrmsggsdiid7y68nyrqh";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -207963,8 +213623,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.0";
        sha256 = "04ndbbhdmpgb8yshki6q2j46a5q8fzvlb4nn8x8gv0mqkriq79sh";
-       revision = "2";
-       editedCabalFile = "1vr0qss87gi6r9z876v9vnmfhr4m58n5x44fgzpmjkn7wlh1i6m7";
+       revision = "3";
+       editedCabalFile = "087faa5bg2hlxyhg7jzy2jj4fzs3dkp0znsbabrharcvdlkpqj1r";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -208027,8 +213687,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
@@ -208232,6 +213892,8 @@ self: {
        pname = "servant-cli";
        version = "0.1.0.1";
        sha256 = "12d18ca90b7mijaav3glx60b9c9qd1f2g4p5m4m7hzz2m22dyimn";
+       revision = "1";
+       editedCabalFile = "1h29x87kqyylwigz86bwrgjdykk1119alsy65a7jkkcrj7a3syqa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208250,39 +213912,36 @@ self: {
        broken = true;
      }) {};
 
-  "servant-client" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
-     , deepseq, entropy, exceptions, hspec, hspec-discover
-     , http-api-data, http-client, http-media, http-types, HUnit
-     , kan-extensions, markdown-unlit, monad-control, mtl, network
-     , QuickCheck, semigroupoids, servant, servant-client-core
-     , servant-server, stm, tdigest, text, time, transformers
-     , transformers-base, transformers-compat, wai, warp
+  "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-client";
-       version = "0.16";
-       sha256 = "0641fqlvqkm5075pcgcg5q81j7jil79sjpifg1snagfisrsxifxj";
-       revision = "4";
-       editedCabalFile = "0fa37fdas1dsgd6qkc5wzi9683l5xzzq1i705l3adiwkdfkcbjjf";
+       pname = "servant-cli";
+       version = "0.1.0.2";
+       sha256 = "11pl9z3l2f7py16drqq9zvl9z5358jv1q7pqslhkhrqg5vhp822k";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base base-compat bytestring containers deepseq exceptions
-         http-client http-media http-types kan-extensions monad-control mtl
-         semigroupoids servant servant-client-core stm text time
-         transformers transformers-base transformers-compat
+         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
        ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring entropy hspec http-api-data
-         http-client http-types HUnit kan-extensions markdown-unlit mtl
-         network QuickCheck servant servant-client-core servant-server stm
-         tdigest text transformers transformers-compat wai warp
+       executableHaskellDepends = [
+         aeson base bytestring containers http-client optparse-applicative
+         random servant servant-client servant-server text vinyl warp
        ];
-       testToolDepends = [ hspec-discover markdown-unlit ];
-       description = "Automatic derivation of querying functions for servant";
+       description = "Command line interface for Servant API clients";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "servant-client_0_16_0_1" = callPackage
+  "servant-client" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, containers
      , deepseq, entropy, exceptions, hspec, hspec-discover
      , http-api-data, http-client, http-media, http-types, HUnit
@@ -208310,7 +213969,6 @@ self: {
        testToolDepends = [ hspec-discover markdown-unlit ];
        description = "Automatic derivation of querying functions for servant";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-client-core" = callPackage
@@ -208469,37 +214127,6 @@ self: {
 
   "servant-docs" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
-     , case-insensitive, control-monad-omega, hashable, http-media
-     , http-types, lens, servant, string-conversions, tasty
-     , tasty-golden, tasty-hunit, text, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-docs";
-       version = "0.11.3";
-       sha256 = "0cys1h3m0aq77aw0szj7k6p7zqcr8074zrxzsjp58lss1daqisq7";
-       revision = "3";
-       editedCabalFile = "0hknxp6vxjmc6d4acwfs8ic9n915ldldz4ja8d86pzwv8vh5jzfv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat bytestring case-insensitive
-         control-monad-omega hashable http-media http-types lens servant
-         string-conversions text unordered-containers
-       ];
-       executableHaskellDepends = [
-         aeson base lens servant string-conversions text
-       ];
-       testHaskellDepends = [
-         aeson base base-compat lens servant string-conversions tasty
-         tasty-golden tasty-hunit transformers
-       ];
-       description = "generate API docs for your servant webservice";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-docs_0_11_4" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
      , case-insensitive, hashable, http-media, http-types, lens, servant
      , string-conversions, tasty, tasty-golden, tasty-hunit, text
      , transformers, universe-base, unordered-containers
@@ -208524,7 +214151,6 @@ self: {
        ];
        description = "generate API docs for your servant webservice";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-ede" = callPackage
@@ -208583,8 +214209,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-elm";
-       version = "0.6.0.2";
-       sha256 = "1ayj0gdl8z9ns6agm64i37w0j8r51ydw4zxn8kcwsn1akswrzz3z";
+       version = "0.6.1";
+       sha256 = "0ajgb2srx2wlxn388wcijn7pb6lk48r84qvbbri7b77rbiav3ih2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208598,15 +214224,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-elm_0_7_0" = callPackage
+  "servant-elm_0_7_1" = callPackage
     ({ mkDerivation, aeson, base, Diff, directory, elm-bridge, hspec
      , HUnit, lens, servant, servant-client, servant-foreign, text
      , wl-pprint-text
      }:
      mkDerivation {
        pname = "servant-elm";
-       version = "0.7.0";
-       sha256 = "1nnxz61hvrhjkkljpv445ib17ncpb0sp4hdaf7mqjrffr2yb155l";
+       version = "0.7.1";
+       sha256 = "1r24hqv4xs1k280a0c3lcmfjrywh0663hh8xi8fpzlmsgmn2s464";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208621,6 +214247,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-errors" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-api-data, http-media
+     , http-types, markdown-unlit, scientific, servant, servant-server
+     , string-conversions, text, unordered-containers, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-errors";
+       version = "0.1.3.1";
+       sha256 = "120rl4adz54c3psb6qv8l6im4xv2649kwazvfr7h0l11jjfb6hni";
+       libraryHaskellDepends = [
+         aeson base bytestring http-api-data http-media http-types
+         scientific servant string-conversions text unordered-containers wai
+       ];
+       testHaskellDepends = [ aeson base servant-server text wai warp ];
+       testToolDepends = [ markdown-unlit ];
+       description = "Servant Errors wai-middlware";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "servant-examples" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, either
      , http-types, js-jquery, lucid, random, servant, servant-client
@@ -208859,43 +214504,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-http-streams";
-       version = "0.16";
-       sha256 = "1gkgk13zxi8y071i9dx0i1kbs14rgp8cfnfcd7rpg86pffxkx6cp";
-       revision = "2";
-       editedCabalFile = "10bpkdwlbg66zi9hzh7vbfwrcilvkav8rc0300xfmpbpw43z4iy0";
-       libraryHaskellDepends = [
-         base base-compat bytestring case-insensitive containers deepseq
-         exceptions http-common http-media http-streams http-types
-         io-streams kan-extensions monad-control mtl semigroupoids servant
-         servant-client-core text time transformers transformers-base
-         transformers-compat
-       ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring deepseq entropy hspec
-         http-api-data http-streams http-types HUnit kan-extensions
-         markdown-unlit mtl network QuickCheck servant servant-client-core
-         servant-server stm tdigest text transformers transformers-compat
-         wai warp
-       ];
-       testToolDepends = [ hspec-discover markdown-unlit ];
-       description = "Automatic derivation of querying functions for servant";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "servant-http-streams_0_16_0_1" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring
-     , case-insensitive, containers, deepseq, entropy, exceptions, hspec
-     , hspec-discover, http-api-data, http-common, http-media
-     , http-streams, http-types, HUnit, io-streams, kan-extensions
-     , markdown-unlit, monad-control, mtl, network, QuickCheck
-     , semigroupoids, servant, servant-client-core, servant-server, stm
-     , tdigest, text, time, transformers, transformers-base
-     , transformers-compat, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-http-streams";
        version = "0.16.0.1";
        sha256 = "0nfwi8bnafv78lzxxi56i9pyk2rj0vkl5x193fixirw4fjvia3zg";
        libraryHaskellDepends = [
@@ -209008,6 +214616,47 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-jsonrpc" = callPackage
+    ({ mkDerivation, aeson, base, servant }:
+     mkDerivation {
+       pname = "servant-jsonrpc";
+       version = "1.0.0";
+       sha256 = "0kqs2bnkkhakg5401ylv3ys00p3s5w5r11spylkxgzi77l1q2vli";
+       libraryHaskellDepends = [ aeson base servant ];
+       description = "JSON-RPC messages and endpoints";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
+  "servant-jsonrpc-client" = callPackage
+    ({ mkDerivation, aeson, base, servant, servant-client-core
+     , servant-jsonrpc
+     }:
+     mkDerivation {
+       pname = "servant-jsonrpc-client";
+       version = "1.0.0";
+       sha256 = "0ir7lljaiczlfakzl95vpmzvx3z5n40agd0gwrscklqpdpc9n8lm";
+       libraryHaskellDepends = [
+         aeson base servant servant-client-core servant-jsonrpc
+       ];
+       description = "Generate JSON-RPC servant clients";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
+  "servant-jsonrpc-server" = callPackage
+    ({ mkDerivation, aeson, base, mtl, servant, servant-jsonrpc
+     , servant-server
+     }:
+     mkDerivation {
+       pname = "servant-jsonrpc-server";
+       version = "1.0.0";
+       sha256 = "13ryxq8y7mcmq70jnwd2gv3anq7k3p9vpi2vnp0kn4552332wpa4";
+       libraryHaskellDepends = [
+         aeson base mtl servant servant-jsonrpc servant-server
+       ];
+       description = "JSON-RPC servant servers";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "servant-kotlin" = callPackage
     ({ mkDerivation, aeson, base, containers, directory, formatting
      , hspec, http-api-data, lens, servant, servant-foreign, shelly
@@ -209276,29 +214925,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-pipes";
-       version = "0.15";
-       sha256 = "04ypy9vjrfggrk7dg3sxwj9nav50v85vpr5mnp5r2c9ka6xn4v90";
-       revision = "2";
-       editedCabalFile = "0c3nyj2iwmhd3kmyv4q0ilzcwxr2dsg5lxvysbhh8048q90bm1nw";
-       libraryHaskellDepends = [
-         base bytestring monad-control mtl pipes pipes-safe servant
-       ];
-       testHaskellDepends = [
-         base base-compat bytestring http-client http-media pipes
-         pipes-bytestring pipes-safe servant servant-client servant-server
-         wai warp
-       ];
-       description = "Servant Stream support for pipes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-pipes_0_15_1" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, http-client
-     , http-media, monad-control, mtl, pipes, pipes-bytestring
-     , pipes-safe, servant, servant-client, servant-server, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-pipes";
        version = "0.15.1";
        sha256 = "1r2n7f8x7adl117zlswf4ji5yxib2v80wh7wbhwklvd86dbzyrby";
        libraryHaskellDepends = [
@@ -209311,7 +214937,6 @@ self: {
        ];
        description = "Servant Stream support for pipes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-pool" = callPackage
@@ -209379,8 +215004,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-purescript";
-       version = "0.9.0.3";
-       sha256 = "16ygfj1h9wrxxv5wcxh8rqn9icgx7xxy0yrgfdv5k6pmpxmgmi84";
+       version = "0.9.0.4";
+       sha256 = "07h00hazz4hvhhslfa8hm2jqpxmj0kqz0yw7a4vk002r027daryi";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath http-types lens
          mainland-pretty purescript-bridge servant servant-foreign
@@ -209885,8 +215510,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-subscriber";
-       version = "0.6.0.2";
-       sha256 = "0gi6cs5vhr3fw9cxaagsy0nxcav8irrva7rq4zvzlj7mwz1ikpz6";
+       version = "0.6.0.3";
+       sha256 = "1h1nqjmnn129ir2k9dvc6izak3hh0bvz6rpqhdf55gvxl3dbbiqi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -209957,10 +215582,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.3.4.3.22.2";
-       sha256 = "0ig05xzh4iybnwzh7bx8i7a337j0xfmsxbmfi9iaiz4g6f9s5clm";
-       revision = "1";
-       editedCabalFile = "084cqli1d30vz6mrj6l9cxlwmigqqiydkxdq90xvz3ffhs5cyq8p";
+       version = "0.3.4.3.23.11";
+       sha256 = "0ryr6h74vz6q6q0c9aixb7kwhq1vn95m3m0799cvc0xkfvm0ljha";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -210013,10 +215636,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui-redoc";
-       version = "0.3.3.1.22.2";
-       sha256 = "0qkh4h5ijhizlnps79gg75jy533rpc1vcw7v7yxika585srndim1";
-       revision = "1";
-       editedCabalFile = "1qi389fjrlnqbsm7kw6rbyga19mw9286g5ibavi888jqyllpmi8f";
+       version = "0.3.3.1.22.3";
+       sha256 = "0bzkrh1hf29vfa1r1sgifb9j2zcg6i43fal4abbx4lcqvf155pzv";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -210025,6 +215646,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-to-elm" = callPackage
+    ({ mkDerivation, aeson, base, bound, elm-syntax, haskell-to-elm
+     , http-types, protolude, servant, text
+     }:
+     mkDerivation {
+       pname = "servant-to-elm";
+       version = "0.2.0.0";
+       sha256 = "0kj42y6jb5cqylkvj0iwm857vliagfgbh7rgyzbrgz834r7n5cri";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bound elm-syntax haskell-to-elm http-types protolude
+         servant text
+       ];
+       testHaskellDepends = [
+         aeson base bound elm-syntax haskell-to-elm http-types protolude
+         servant text
+       ];
+       description = "Automatically generate Elm clients for Servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-tracing" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, bytestring-lexing
      , containers, hashable, http-api-data, http-client, HUnit
@@ -210081,18 +215724,18 @@ self: {
 
   "servant-websockets" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, conduit
-     , exceptions, resourcet, servant-server, text, wai, wai-websockets
-     , warp, websockets
+     , exceptions, monad-control, resourcet, servant-server, text, wai
+     , wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "servant-websockets";
-       version = "1.1.0";
-       sha256 = "0l8a5zc6wiwdfxv2kirb7kxky4zwj71rcrrg1zh07gc3vf4lqf33";
+       version = "2.0.0";
+       sha256 = "1xs3psnmihxm37lgamn4i8lff75yb9rvsjnav7c959h1b9fjn9n4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base bytestring conduit exceptions resourcet
-         servant-server text wai wai-websockets warp websockets
+         aeson async base bytestring conduit exceptions monad-control
+         resourcet servant-server text wai wai-websockets warp websockets
        ];
        executableHaskellDepends = [
          aeson base conduit servant-server text wai warp websockets
@@ -210253,8 +215896,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.8.11";
-       sha256 = "1jvfjq7qlyqyprvhlk0licr8mrnc7xn5l4g3l95g3x4qii48j4s0";
+       version = "0.10.0";
+       sha256 = "0ja15985r9jywlkc85r3qchi6i9mbkyjh3b0fkn6vwc8gh644nrk";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -210311,6 +215954,8 @@ self: {
        ];
        description = "Storage backend for serversession using acid-state";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "serversession-backend-persistent" = callPackage
@@ -210669,17 +216314,17 @@ self: {
 
   "setdown" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, cmdargs, containers
-     , directory, filepath, happy, mtl, split, text, uuid
+     , directory, filepath, happy, mtl, split, table-layout, text, uuid
      }:
      mkDerivation {
        pname = "setdown";
-       version = "0.1.0.3";
-       sha256 = "1r4qpp35ksbjswy49knw8ahfh1ja1afg8x3620bvpl3b3q8fs7f4";
+       version = "0.1.1.0";
+       sha256 = "01kb0bw6f0rzs76r5mifmizx22az3w0kjkfsxmhcjfnxkhwiv5z7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          array base bytestring cmdargs containers directory filepath mtl
-         split text uuid
+         split table-layout text uuid
        ];
        executableToolDepends = [ alex happy ];
        description = "Treating files as sets to perform rapid set manipulation";
@@ -210723,17 +216368,6 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "setlocale";
-       version = "1.0.0.8";
-       sha256 = "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd";
-       libraryHaskellDepends = [ base ];
-       description = "Haskell bindings to setlocale";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "setlocale_1_0_0_9" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "setlocale";
        version = "1.0.0.9";
        sha256 = "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv";
        revision = "1";
@@ -210741,7 +216375,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Haskell bindings to setlocale";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "setoid" = callPackage
@@ -210805,8 +216438,8 @@ self: {
      }:
      mkDerivation {
        pname = "sets";
-       version = "0.0.6.1";
-       sha256 = "15msfpnifcavbi5dgsrpl2v9b7hyv0c8lqkkcl0mz0rdm69l2p4q";
+       version = "0.0.6.2";
+       sha256 = "0xgk04fvfrl8syyg2cf5s2jazmdasjqh3fdsgamxak2wvjpyvf9l";
        libraryHaskellDepends = [
          base bytestring commutative composition containers contravariant
          hashable keys mtl QuickCheck semigroupoids semigroups transformers
@@ -211004,6 +216637,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sexpresso" = callPackage
+    ({ mkDerivation, base, containers, megaparsec, smallcheck, tasty
+     , tasty-hunit, tasty-smallcheck, text
+     }:
+     mkDerivation {
+       pname = "sexpresso";
+       version = "1.0.0.2";
+       sha256 = "1pyhzxpnzc34dyhs4xh29dzqp8f5zqgdhb20g2gy2l63lh0fickn";
+       libraryHaskellDepends = [ base containers megaparsec text ];
+       testHaskellDepends = [
+         base containers megaparsec smallcheck tasty tasty-hunit
+         tasty-smallcheck text
+       ];
+       description = "A flexible library for parsing and printing S-expression";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sext" = callPackage
     ({ mkDerivation, base, bytestring, tasty, tasty-hunit
      , template-haskell, text, vector
@@ -211080,8 +216731,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
@@ -211281,14 +216932,15 @@ self: {
 
   "shake" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, directory
-     , extra, filepath, filepattern, hashable, heaps, js-dgtable
-     , js-flot, js-jquery, primitive, process, QuickCheck, random, time
-     , transformers, unix, unordered-containers, utf8-string
+     , extra, file-embed, filepath, filepattern, hashable, heaps
+     , js-dgtable, js-flot, js-jquery, primitive, process, QuickCheck
+     , random, template-haskell, time, transformers, unix
+     , unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "shake";
-       version = "0.18.3";
-       sha256 = "0ywcdzxly8zvz2p3v5b3lp5bnkwsqxvdas7ysrhgxbhi3bnjvzjf";
+       version = "0.18.4";
+       sha256 = "0vpgs6f365p1s09h30g2a6qy4y0rxi3pyxcg14kiag9k504af9i0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -211298,9 +216950,10 @@ self: {
          random time transformers unix unordered-containers utf8-string
        ];
        executableHaskellDepends = [
-         base binary bytestring deepseq directory extra filepath filepattern
-         hashable heaps js-dgtable js-flot js-jquery primitive process
-         random time transformers unix unordered-containers utf8-string
+         base binary bytestring deepseq directory extra file-embed filepath
+         filepattern hashable heaps js-dgtable js-flot js-jquery primitive
+         process random template-haskell time transformers unix
+         unordered-containers utf8-string
        ];
        testHaskellDepends = [
          base binary bytestring deepseq directory extra filepath filepattern
@@ -211313,17 +216966,17 @@ self: {
      }) {};
 
   "shake-ats" = callPackage
-    ({ mkDerivation, base, binary, dependency, directory, hs2ats
+    ({ mkDerivation, base, binary, cdeps, dependency, directory, hs2ats
      , language-ats, microlens, shake, shake-c, shake-cabal, shake-ext
      , text
      }:
      mkDerivation {
        pname = "shake-ats";
-       version = "1.10.2.2";
-       sha256 = "070vvzz0nmdal9ja43l8s4dll2iwxjzd3lmlynkdm1v9qzj0iw67";
+       version = "1.10.4.1";
+       sha256 = "14b1yiw0bhj81pj1dhax7pdf9c68iwlndqg5c3n3c2p6qlcbbd8f";
        libraryHaskellDepends = [
-         base binary dependency directory hs2ats language-ats microlens
-         shake shake-c shake-cabal shake-ext text
+         base binary cdeps dependency directory hs2ats language-ats
+         microlens shake shake-c shake-cabal shake-ext text
        ];
        description = "Utilities for building ATS projects with shake";
        license = stdenv.lib.licenses.bsd3;
@@ -211346,8 +216999,8 @@ self: {
      }:
      mkDerivation {
        pname = "shake-cabal";
-       version = "0.2.1.1";
-       sha256 = "0d3c1v7pj568fj65fz7dd4h72wpnzz75n1k974nmjbx12vphfd1i";
+       version = "0.2.2.1";
+       sha256 = "1vyz95qa5f6k0lqf24w60dmlszs1sv0sqv2p0sncn8ll7g785sx1";
        libraryHaskellDepends = [
          base binary Cabal composition-prelude deepseq directory filepath
          hashable shake
@@ -211399,8 +217052,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;
@@ -211588,8 +217241,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.21";
-       sha256 = "1assgcinf9i9rm7mphqfymzvn7z1m2jjkm98z7l2pb76z53mcvgh";
+       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
@@ -212068,17 +217721,18 @@ self: {
      }) {};
 
   "shellmet" = callPackage
-    ({ mkDerivation, base, markdown-unlit, process, text }:
+    ({ mkDerivation, base, doctest, Glob, markdown-unlit, process, text
+     }:
      mkDerivation {
        pname = "shellmet";
-       version = "0.0.2.0";
-       sha256 = "04ylwpwzd2g3604xyqr4g8zd9dp13hrb8kajajrymv6hafm85m3i";
+       version = "0.0.3.0";
+       sha256 = "1i39zl8khsriadi7k28rn0w2y8wf6jmnz5x3nlkdd9spkdy1qz49";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base process text ];
        executableHaskellDepends = [ base text ];
        executableToolDepends = [ markdown-unlit ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [ base doctest Glob ];
        description = "Out of the shell solution for scripting in Haskell";
        license = stdenv.lib.licenses.mpl20;
      }) {};
@@ -212232,8 +217886,8 @@ self: {
      }:
      mkDerivation {
        pname = "shh";
-       version = "0.7.0.6";
-       sha256 = "0whcynzjsm0agq456kv6dn6d4gk1k3vhvnbwvjar4sbn0yiz4if1";
+       version = "0.7.0.7";
+       sha256 = "07xj1l7pk6j072ry2mi6jp6r0ivs4m0fqvfvm62jvhm7vhlg3m8m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212250,6 +217904,8 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Simple shell scripting from Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "shh-extras" = callPackage
@@ -212262,6 +217918,8 @@ self: {
        testHaskellDepends = [ base tasty ];
        description = "Utility functions for using shh";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "shift" = callPackage
@@ -212443,6 +218101,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "shortcut-links_0_5_0_0" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "shortcut-links";
+       version = "0.5.0.0";
+       sha256 = "0y5q3m5sqwwhahq8fx1alc2531jfgr4nng8yfpib8sg57n0wggwf";
+       libraryHaskellDepends = [ base text ];
+       description = "Link shortcuts for use in text markup";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "shorten-strings" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -212563,8 +218233,8 @@ self: {
      }:
      mkDerivation {
        pname = "shower";
-       version = "0.2.0.1";
-       sha256 = "13qxddl6v3kcfgyr5q281hrr4xkflnc3nafbs3jq0w5k6njn7djb";
+       version = "0.2.0.2";
+       sha256 = "0flad49vvqww2pbf6j8557szffd7wb3z375avhvzwqyklimwipgn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base megaparsec pretty ];
@@ -212818,10 +218488,10 @@ self: {
      }:
      mkDerivation {
        pname = "sign";
-       version = "0.4.3";
-       sha256 = "0i3m3zylss4nxmf290wmc8ldck0pnx0m5z4y8nhxnz51adlmp1bp";
-       revision = "2";
-       editedCabalFile = "1j4kxvxd3cl9k2nhlgnx8zrh1ygd0m75q0m2wrqcqv0pf1z39lya";
+       version = "0.4.4";
+       sha256 = "1z9csfbl5h4cprvykszn81xncsry7fama2y3gbgnqr7mq15qziq7";
+       revision = "1";
+       editedCabalFile = "1zjwcfvdnwcz9qynalyryavh7x99k3g66zmrlzv8bccvhgihg08j";
        libraryHaskellDepends = [
          base containers deepseq hashable lattices universe-base
        ];
@@ -213066,8 +218736,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "simple-cabal";
-       version = "0.0.0.1";
-       sha256 = "17v22v9sb8z2jbr76vv577hxcvypfkpmji2k8yzwd2kxjssxpjrn";
+       version = "0.1.1";
+       sha256 = "116n9ks7d5qhz9lm38yq39dl2jw34lfgs3p8ncws8449v8v7q7kv";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        description = "Cabal file wrapper library";
        license = stdenv.lib.licenses.bsd3;
@@ -213077,8 +218747,8 @@ self: {
     ({ mkDerivation, base, directory, filepath, process, unix }:
      mkDerivation {
        pname = "simple-cmd";
-       version = "0.2.0.1";
-       sha256 = "0kd0kr27q72ay5jzrnyqnbbfl4q1lyrlq13s74iphxx4s2yzn03p";
+       version = "0.2.1";
+       sha256 = "1b35hsxr63n3nbpjdf7ailsmp4yk6k8nscx8xxv453v0r3v89hss";
        libraryHaskellDepends = [ base directory filepath process unix ];
        description = "Simple String-based process commands";
        license = stdenv.lib.licenses.bsd3;
@@ -213088,8 +218758,8 @@ self: {
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
        pname = "simple-cmd-args";
-       version = "0.1.3";
-       sha256 = "09cp664flacsq565pqva7vsqcq5ddndck4rh74y6n2j3xzl24a2k";
+       version = "0.1.4";
+       sha256 = "02vbdala0q9hnrsr5gpwqjzas69kql0fv3c95f7xwf4gqhd7ygwi";
        libraryHaskellDepends = [ base optparse-applicative ];
        description = "Simple command args parsing and execution";
        license = stdenv.lib.licenses.bsd3;
@@ -213559,10 +219229,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-sendfile";
-       version = "0.2.28";
-       sha256 = "0w4qn8dslcky7cq36jjjnlqwl2s46m8q1cwk3hc9cf0wsiwhp059";
-       revision = "2";
-       editedCabalFile = "16pyj7b4i1dzpzqbarzjamcjdyiy8j6lh5vf1ggchx69x44dqcr3";
+       version = "0.2.30";
+       sha256 = "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn";
        libraryHaskellDepends = [ base bytestring network unix ];
        testHaskellDepends = [
          base bytestring conduit conduit-extra directory hspec HUnit network
@@ -214069,6 +219737,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs.xorg) libXft;};
 
+  "single-tuple" = callPackage
+    ({ mkDerivation, base, hspec, OneTuple, Only }:
+     mkDerivation {
+       pname = "single-tuple";
+       version = "0.1.0.0";
+       sha256 = "1sxpbnn1846c3pyq3gm8vx82br8w8dqxvigfr6s160jjlqj7f03b";
+       revision = "2";
+       editedCabalFile = "06xpski7mxbgmdy2mc4xd6a1y0mfdyskwjhlih4nzxgj7n8v9hfi";
+       libraryHaskellDepends = [ base OneTuple Only ];
+       testHaskellDepends = [ base hspec OneTuple Only ];
+       description = "a class for single tuple implementations";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "singleton-bool" = callPackage
     ({ mkDerivation, base, dec }:
      mkDerivation {
@@ -214173,6 +219855,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 {
@@ -214297,8 +220001,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
@@ -214349,6 +220053,8 @@ self: {
        pname = "size-based";
        version = "0.1.2.0";
        sha256 = "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp";
+       revision = "1";
+       editedCabalFile = "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv";
        libraryHaskellDepends = [
          base dictionary-sharing template-haskell testing-type-modifiers
        ];
@@ -214706,29 +220412,73 @@ self: {
      }) {};
 
   "skylighting" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , skylighting-core
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.8.2.1";
+       sha256 = "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring containers skylighting-core
+       ];
+       description = "syntax highlighting library";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "skylighting_0_8_3" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , skylighting-core
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.8.3";
+       sha256 = "1gsmbzgfxwsfvnk3mbd29llv5wkvn5v7ybs46y6kvf51sdf4v6i6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring containers skylighting-core
+       ];
+       description = "syntax highlighting library";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "skylighting-core" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
-     , case-insensitive, colour, containers, directory, filepath, hxt
-     , mtl, regex-pcre-builtin, safe, skylighting-core, text
-     , utf8-string
+     , case-insensitive, colour, containers, criterion, Diff, directory
+     , filepath, HUnit, hxt, mtl, pretty-show, QuickCheck, random
+     , regex-base, regex-pcre-builtin, safe, tasty, tasty-golden
+     , tasty-hunit, tasty-quickcheck, text, transformers, utf8-string
      }:
      mkDerivation {
-       pname = "skylighting";
-       version = "0.8.2";
-       sha256 = "0a81hd4f0xlc8as5lh454gkbyxndaxyj7lblkfk92j173nyx69cz";
+       pname = "skylighting-core";
+       version = "0.8.2.1";
+       sha256 = "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-terminal attoparsec base base64-bytestring binary
          blaze-html bytestring case-insensitive colour containers directory
-         filepath hxt mtl regex-pcre-builtin safe skylighting-core text
-         utf8-string
+         filepath hxt mtl regex-base regex-pcre-builtin safe text
+         transformers utf8-string
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers Diff directory filepath HUnit
+         pretty-show QuickCheck random tasty tasty-golden tasty-hunit
+         tasty-quickcheck text
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion directory filepath text
        ];
        description = "syntax highlighting library";
-       license = stdenv.lib.licenses.gpl2;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "skylighting-core" = 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
@@ -214738,8 +220488,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.8.2";
-       sha256 = "1nd11170r7xwv0hy21bx9nz7173ijbqkh7r8504ixjkwckgr2zs0";
+       version = "0.8.3";
+       sha256 = "07l8n290wm533qp7h1kdn99b47f2lrq4mag2snfpllll8ss35773";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214758,6 +220508,7 @@ self: {
        ];
        description = "syntax highlighting library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "skylighting-extensions" = callPackage
@@ -214963,8 +220714,8 @@ self: {
      }:
      mkDerivation {
        pname = "slave-thread";
-       version = "1.0.3";
-       sha256 = "09yvcgd997lj8wbal443hafr1w72v45ks4fxrm05b45malb3vs98";
+       version = "1.1";
+       sha256 = "02b64s0m7k81s187wj81yzr7l73p79iyh7a59dqf7r72l4r7akbd";
        libraryHaskellDepends = [
          base deferred-folds focus foldl stm-containers
        ];
@@ -215040,8 +220791,8 @@ self: {
      }:
      mkDerivation {
        pname = "slick";
-       version = "1.0.0.0";
-       sha256 = "11wzfgxx5cjdkwgs23afidvjck8q8vs4p2qm7g9f2zxiq6706y89";
+       version = "1.0.1.1";
+       sha256 = "1n1a7jpn37dzfmk9z51d6yhg2iaraqw55qnlap0d6zk1lnc3drib";
        libraryHaskellDepends = [
          aeson base bytestring directory extra mustache pandoc shake text
          unordered-containers
@@ -215091,8 +220842,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "slist";
-       version = "0.0.0";
-       sha256 = "0w9rgy0afma2gk36jbk7r8kyvl4vfhd0pfbv6ank2pr6kd5a4a0z";
+       version = "0.1.0.0";
+       sha256 = "0yvcy8v9qpg517njy3sr5vqr4jgpynii7lw8gqh9pwjk40q628wf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Sized list";
@@ -215235,28 +220986,31 @@ self: {
        ];
        description = "Handle molecular sequences";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "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.2.1.0";
-       sha256 = "11r0nz8z16h75867xq4c62s69ic7vhwfwhl2c11441mkhbrk2nbw";
+       version = "0.3.1.0";
+       sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
-         primitive-offset run-st text-short vector
+         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 gauge natural-arithmetic primitive
+         base byteslice gauge natural-arithmetic primitive text-short
        ];
        description = "Serialize to a small byte arrays";
        license = stdenv.lib.licenses.bsd3;
@@ -215505,28 +221259,27 @@ self: {
      }) {};
 
   "smcdel" = callPackage
-    ({ mkDerivation, alex, ansi-terminal, array, base, containers
-     , criterion, cudd, directory, file-embed, filepath, graphviz, happy
-     , HasCacBDD, hspec, js-jquery, lens, process, QuickCheck, scotty
-     , tagged, template-haskell, temporary, text, time
+    ({ mkDerivation, ansi-terminal, array, base, containers, criterion
+     , cudd, directory, file-embed, filepath, graphviz, HasCacBDD, hspec
+     , js-jquery, process, QuickCheck, scotty, tagged, template-haskell
+     , temporary, text, time
      }:
      mkDerivation {
        pname = "smcdel";
-       version = "1.0.0";
-       sha256 = "1yi2qw76i9cch1flnqd7gsradkm2gr31i8595rwf11xgvj3r3s3f";
+       version = "1.1.0";
+       sha256 = "0dz1hbhf3y57cn4hh5s2fscnpw7zjnrl2hl644xl81vbpl1zbzyn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base containers cudd graphviz HasCacBDD lens process
-         QuickCheck tagged temporary text time
+         array base containers cudd graphviz HasCacBDD process QuickCheck
+         tagged temporary text time
        ];
        executableHaskellDepends = [
          ansi-terminal base directory file-embed filepath HasCacBDD
          js-jquery process scotty template-haskell text
        ];
-       executableToolDepends = [ alex happy ];
        testHaskellDepends = [ base containers hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base containers criterion time ];
+       benchmarkHaskellDepends = [ base criterion time ];
        description = "Symbolic Model Checking for Dynamic Epistemic Logic";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -215579,6 +221332,19 @@ self: {
        broken = true;
      }) {};
 
+  "smith" = callPackage
+    ({ mkDerivation, base, bytesmith, primitive }:
+     mkDerivation {
+       pname = "smith";
+       version = "0.1.0.0";
+       sha256 = "13h0v7fl8xi84n0nq9mjsb5hphv2b7l8yaz1hg9ky3bkmqki6vml";
+       libraryHaskellDepends = [ base bytesmith primitive ];
+       description = "Parse arrays of tokens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "smith-cli" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
      , cereal, crypto-pubkey-openssh, crypto-pubkey-types, directory
@@ -215659,6 +221425,21 @@ self: {
        broken = true;
      }) {};
 
+  "smt" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, criterion, smallcheck
+     , tasty, tasty-smallcheck, util
+     }:
+     mkDerivation {
+       pname = "smt";
+       version = "0.0.0.0";
+       sha256 = "18y09ps8a3xxnvddfmlzip7b13747rmn8xxj1422akwmv565ad4l";
+       libraryHaskellDepends = [ base base-unicode-symbols util ];
+       testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Interface to Satisfiability Modulo Theories solvers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "smt-lib" = callPackage
     ({ mkDerivation, array, base, directory, polyparse }:
      mkDerivation {
@@ -215909,8 +221690,8 @@ self: {
        pname = "snap";
        version = "1.1.2.0";
        sha256 = "05da0dg0p6djcsinycih50hjnircibmicarwg2vr14a7zbrhynps";
-       revision = "1";
-       editedCabalFile = "07k5sq44w09cq7w8y128ifkm7837nyklgp9i1ydnavnhf044ah2n";
+       revision = "2";
+       editedCabalFile = "13hx2wghxrranxxv5qp8a5maqd203q15k3qg4fafjzhyh3wf6a67";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal clientsession configurator
          containers directory directory-tree dlist fail filepath hashable
@@ -216035,8 +221816,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.4.0";
-       sha256 = "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr";
+       version = "1.0.4.1";
+       sha256 = "19dmfqbsfyk1rkjnnrnajpjfam2xjxgmpfmx10yr5qffgza7gcf0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -216239,8 +222020,8 @@ self: {
        pname = "snap-server";
        version = "1.1.1.1";
        sha256 = "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5";
-       revision = "1";
-       editedCabalFile = "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3";
+       revision = "3";
+       editedCabalFile = "1xma33r1by1q79qqbb70lwf4d846qlqs0f22rzrd3cdzkzcf9qf5";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -217813,10 +223594,8 @@ self: {
     ({ mkDerivation, base, basement, bytestring, cereal, network }:
      mkDerivation {
        pname = "socks";
-       version = "0.6.0";
-       sha256 = "10bkf2gw5l48j6g1i2slndcg4nzdqj8syrnbj21gjz6sms3zlqlp";
-       revision = "1";
-       editedCabalFile = "0a7p6gfcmxgrs3rx62qm7fi5hvn90r64px7wbqva4h6scrmywn50";
+       version = "0.6.1";
+       sha256 = "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k";
        libraryHaskellDepends = [
          base basement bytestring cereal network
        ];
@@ -217967,8 +223746,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";
@@ -218131,6 +223910,28 @@ self: {
        broken = true;
      }) {};
 
+  "souffle-haskell" = callPackage
+    ({ mkDerivation, base, hspec, mtl, souffle, template-haskell, text
+     , type-errors-pretty, vector
+     }:
+     mkDerivation {
+       pname = "souffle-haskell";
+       version = "0.1.0";
+       sha256 = "0m8p9fx4avv4kf4hbr248rk9k3vixzkx4gqmcslfra3d79akjyad";
+       libraryHaskellDepends = [
+         base mtl template-haskell text type-errors-pretty vector
+       ];
+       libraryToolDepends = [ souffle ];
+       testHaskellDepends = [
+         base hspec mtl template-haskell text type-errors-pretty vector
+       ];
+       testToolDepends = [ souffle ];
+       description = "Souffle Datalog bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) souffle;};
+
   "sound-collage" = callPackage
     ({ mkDerivation, array, base, Cabal, carray, containers, fft
      , filepath, numeric-prelude, optparse-applicative, pathtype
@@ -218332,12 +224133,12 @@ self: {
   "spacecookie" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , directory, fast-logger, filepath, hxt-unicode, mtl, socket
-     , transformers, unix
+     , systemd, transformers, unix
      }:
      mkDerivation {
        pname = "spacecookie";
-       version = "0.2.0.1";
-       sha256 = "04gghnfkbb26xykgksif8xx5s9pv9f1rjgznlx5mpniwk11ij940";
+       version = "0.2.1.1";
+       sha256 = "0l3knzsqab58yyk6kafpxxh465ncgqr2gi388k89gxwrlcqkl8wr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218346,9 +224147,9 @@ self: {
        ];
        executableHaskellDepends = [
          aeson attoparsec base bytestring containers directory filepath mtl
-         socket transformers unix
+         socket systemd transformers unix
        ];
-       description = "gopher server daemon";
+       description = "Gopher Library and Server Daemon";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
@@ -219943,25 +225744,36 @@ self: {
        ];
        description = "A file-packing application";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "sr-extra" = callPackage
-    ({ mkDerivation, base, bytestring, bzlib, containers, directory
-     , filepath, HUnit, mtl, network-uri, old-locale, old-time, pretty
-     , process, pureMD5, QuickCheck, random, regex-compat, time, unix
-     , Unixutils, zlib
+    ({ mkDerivation, base, bytestring, bzlib, Cabal, cereal, containers
+     , Diff, directory, exceptions, fgl, filemanip, filepath
+     , generic-data, hslogger, HUnit, lens, ListLike, mmorph, mtl
+     , network-uri, pretty, process, process-extras, pureMD5, QuickCheck
+     , random, safecopy, show-combinators, show-please, syb
+     , template-haskell, text, th-lift, th-lift-instances, th-orphans
+     , time, unix, Unixutils, userid, uuid, uuid-orphans, uuid-types
+     , zlib
      }:
      mkDerivation {
        pname = "sr-extra";
-       version = "1.46.3.2";
-       sha256 = "08v5q6p80anmpsim29jsn1nmya5fann0pmm22vyk34fgh2146z0p";
+       version = "1.64";
+       sha256 = "18yrl19dzjwfp56xam7m4d61wrxl224lz8jhi198j78pq6b4d1vl";
        libraryHaskellDepends = [
-         base bytestring bzlib containers directory filepath HUnit mtl
-         network-uri old-locale old-time pretty process pureMD5 QuickCheck
-         random regex-compat time unix Unixutils zlib
+         base bytestring bzlib Cabal cereal containers Diff directory
+         exceptions fgl filemanip filepath generic-data hslogger HUnit lens
+         ListLike mmorph mtl network-uri pretty process process-extras
+         pureMD5 QuickCheck random safecopy show-combinators show-please syb
+         template-haskell text th-lift th-lift-instances th-orphans time
+         unix Unixutils userid uuid uuid-orphans uuid-types zlib
        ];
-       description = "A grab bag of modules";
+       description = "Module limbo";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "srcinst" = callPackage
@@ -220241,6 +226053,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
@@ -220338,8 +226152,8 @@ self: {
        pname = "stache";
        version = "2.0.1";
        sha256 = "0awyh8zjvly18s4gnqy4970fj1hr4zpb38lisfy6px42m38g17vk";
-       revision = "2";
-       editedCabalFile = "17da7jih43nl3zqgpmlk3n2kpwjmb2np4w8ldpq2vyi9ab8p6vjm";
+       revision = "3";
+       editedCabalFile = "1y1wff5mdcin3wc9pbj3agsircrf1pxjjm8j90n8g40l7acnf63c";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
@@ -220367,6 +226181,8 @@ self: {
        pname = "stache";
        version = "2.1.0";
        sha256 = "1q34h46px7miy2kx1yzaj785ai70mkchmijpdq2iih1fffir8kvk";
+       revision = "2";
+       editedCabalFile = "0vzby2q8qp6z74ighqalw05b94821cl9w6dbwy4hkgd67pc38nph";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
@@ -220519,6 +226335,8 @@ self: {
        executableHaskellDepends = [ base options text turtle ];
        description = "Console program used to fix Stack build errors automatically";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "stack-hpc-coveralls" = callPackage
@@ -220713,6 +226531,24 @@ self: {
        broken = true;
      }) {};
 
+  "stack-wrapper" = callPackage
+    ({ mkDerivation, base, filepath, process }:
+     mkDerivation {
+       pname = "stack-wrapper";
+       version = "0.1.0";
+       sha256 = "002id9nd6lsg3hyy93ylj9x1jjdwrg2xhahsnp6m1igxq2yns0xr";
+       revision = "1";
+       editedCabalFile = "0biz4w2xrfj0bsb6xj0sjlrs567zvd207f1bkh7c265ip47gfhni";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base filepath process ];
+       executableHaskellDepends = [ base filepath process ];
+       description = "Call ghc within stack by calling ghc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "stack-yaml" = callPackage
     ({ mkDerivation, base, bytestring, directory, doctest, filepath
      , Glob, text, yaml
@@ -220730,23 +226566,28 @@ self: {
      }) {};
 
   "stack2cabal" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, extra
-     , filepath, hpack, stackage-to-hackage, text
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , extra, filepath, hpack, HsYAML, http-client, http-client-tls
+     , text
      }:
      mkDerivation {
        pname = "stack2cabal";
-       version = "1.0.3";
-       sha256 = "1bmghzb866p3225ai3w4xxy3s2qic3vr4srcx7xb113qjvmadran";
-       isLibrary = false;
+       version = "1.0.5";
+       sha256 = "15swq7rv997fh1qka7ga5hc90gc889xzkx61910jz3an6sy5zx0p";
+       revision = "1";
+       editedCabalFile = "15qc686alcfbxjpr7iyi2bxv801cmbkqvncpb6jd0879ll9lznrh";
+       isLibrary = true;
        isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
+       ];
        executableHaskellDepends = [
-         base bytestring Cabal directory extra filepath hpack
-         stackage-to-hackage text
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
        ];
        description = "Convert stack projects to cabal.project + cabal.project.freeze";
        license = stdenv.lib.licenses.gpl3Plus;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "stack2nix" = callPackage
@@ -221045,6 +226886,8 @@ self: {
        pname = "stackage-to-hackage";
        version = "1.1.1";
        sha256 = "10zd3wqla54mfnwv65gklvmglhcpzhanqfka0l0ilnbkqlgx4acm";
+       revision = "3";
+       editedCabalFile = "07iflizm4w02w8samh5bcydd3jiqxhcwx2w5zylga8g1107cpaa3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -221227,8 +227070,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 = [
@@ -221481,6 +227324,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 {
@@ -221636,33 +227493,6 @@ self: {
      }) {};
 
   "statistics" = callPackage
-    ({ mkDerivation, aeson, base, base-orphans, binary
-     , data-default-class, deepseq, dense-linear-algebra, erf, HUnit
-     , ieee754, math-functions, monad-par, mwc-random, primitive
-     , QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, vector, vector-algorithms
-     , vector-binary-instances, vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "statistics";
-       version = "0.15.0.0";
-       sha256 = "0wk4pv4fjpqq49vf8zanb9801lbgcbbfhhvlpp3ka6p8jmfc9scm";
-       libraryHaskellDepends = [
-         aeson base base-orphans binary data-default-class deepseq
-         dense-linear-algebra math-functions monad-par mwc-random primitive
-         vector vector-algorithms vector-binary-instances vector-th-unbox
-       ];
-       testHaskellDepends = [
-         aeson base binary dense-linear-algebra erf HUnit ieee754
-         math-functions mwc-random primitive QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 vector
-         vector-algorithms
-       ];
-       description = "A library of statistical types, data, and functions";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "statistics_0_15_1_1" = callPackage
     ({ mkDerivation, aeson, async, base, base-orphans, binary
      , data-default-class, deepseq, dense-linear-algebra, erf, HUnit
      , ieee754, math-functions, monad-par, mwc-random, primitive
@@ -221687,7 +227517,6 @@ self: {
        ];
        description = "A library of statistical types, data, and functions";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "statistics-dirichlet" = callPackage
@@ -221886,8 +227715,8 @@ self: {
      }:
      mkDerivation {
        pname = "staversion";
-       version = "0.2.3.1";
-       sha256 = "0y3x0bylpiad1l87gzdwbgbaizqas6r9l83cngg3anqsg1gpd7a6";
+       version = "0.2.3.2";
+       sha256 = "059xv38i6mkq7wfvx154m7f7z6byf27q5h68p19nm9mv80l52vv7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -221916,7 +227745,7 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "stb-image-redux" = callPackage
+  "stb-image-redux_0_2_1_2" = callPackage
     ({ mkDerivation, base, hspec, vector }:
      mkDerivation {
        pname = "stb-image-redux";
@@ -221930,6 +227759,20 @@ self: {
        broken = true;
      }) {};
 
+  "stb-image-redux" = callPackage
+    ({ mkDerivation, base, hspec, vector }:
+     mkDerivation {
+       pname = "stb-image-redux";
+       version = "0.2.1.3";
+       sha256 = "01xm1vlyfmnnvr5vy9ry7cjwv9ffip0s4zlxcyvfnsgja08l5ni4";
+       libraryHaskellDepends = [ base vector ];
+       testHaskellDepends = [ base hspec vector ];
+       description = "Image loading and writing microlibrary";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "stb-truetype" = callPackage
     ({ mkDerivation, array, base, bytestring, containers }:
      mkDerivation {
@@ -222418,15 +228261,13 @@ self: {
      }) {};
 
   "stm-io-hooks" = callPackage
-    ({ mkDerivation, array, base, containers, mtl, stm }:
+    ({ mkDerivation, array, base, mtl, stm }:
      mkDerivation {
        pname = "stm-io-hooks";
-       version = "1.1.0";
-       sha256 = "0dg2za2p7h9wb9lbs2yb07pdhq9sn4mdxxfmq179d9kinq94009m";
-       revision = "1";
-       editedCabalFile = "1acsyc0fq03smarbjgxv2g2l0cnvi26k2lhw1vdvqnrgzmjlsjmp";
-       libraryHaskellDepends = [ array base containers mtl stm ];
-       description = "STM with IO hooks";
+       version = "1.1.2";
+       sha256 = "021s1ck8b09z6khaky2g8ymxf37hznqrl9n4sakb8j57mhliayvc";
+       libraryHaskellDepends = [ array base mtl stm ];
+       description = "Launch your IO-actions from within the STM monad";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -222713,6 +228554,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "storable-enum" = callPackage
+    ({ mkDerivation, base, prelude-compat }:
+     mkDerivation {
+       pname = "storable-enum";
+       version = "0.0";
+       sha256 = "01nllxm3fx9f1cxay80bwvmpawrwipk7d2c6xb1q5fr3iwnqqaa2";
+       libraryHaskellDepends = [ base prelude-compat ];
+       description = "Wrapper that makes any Enum type Storable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "storable-record" = callPackage
     ({ mkDerivation, base, semigroups, transformers, utility-ht }:
      mkDerivation {
@@ -222856,16 +228708,68 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "store_0_7_1" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , clock, containers, contravariant, criterion, cryptohash, deepseq
+     , directory, fail, filepath, free, ghc-prim, hashable, hspec
+     , hspec-smallcheck, integer-gmp, lifted-base, monad-control
+     , mono-traversable, network, primitive, resourcet, safe, semigroups
+     , smallcheck, store-core, syb, template-haskell, text, th-lift
+     , th-lift-instances, th-orphans, th-reify-many, th-utilities, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.7.1";
+       sha256 = "0mxvyy7l0vg545f3v1y5kh7q58ajhwz02fhfk0km2198bhsdfrij";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         fail filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable network
+         primitive resourcet safe semigroups smallcheck store-core syb
+         template-haskell text th-lift th-lift-instances th-orphans
+         th-reify-many th-utilities time transformers unordered-containers
+         vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring clock containers contravariant cryptohash deepseq
+         directory fail filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable network primitive resourcet safe semigroups
+         smallcheck store-core syb template-haskell text th-lift
+         th-lift-instances th-orphans th-reify-many th-utilities time
+         transformers unordered-containers vector void
+       ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory fail filepath free ghc-prim hashable
+         hspec hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable network primitive resourcet safe semigroups
+         smallcheck store-core syb template-haskell text th-lift
+         th-lift-instances th-orphans th-reify-many th-utilities time
+         transformers unordered-containers vector vector-binary-instances
+         void weigh
+       ];
+       description = "Fast binary serialization";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
-    ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
+    ({ mkDerivation, base, bytestring, fail, ghc-prim, primitive, text
      , transformers
      }:
      mkDerivation {
        pname = "store-core";
-       version = "0.4.4";
-       sha256 = "1489ydwmq3vd9lz193m5w277wvb9g74ssc1ncfjdry2g0y6czbjv";
+       version = "0.4.4.2";
+       sha256 = "184f3whh7kzc2fkm1mgllg06f002z8shayz1b8cvhal3qg1qahf9";
        libraryHaskellDepends = [
-         base bytestring ghc-prim primitive text transformers
+         base bytestring fail ghc-prim primitive text transformers
        ];
        description = "Fast and lightweight binary serialization";
        license = stdenv.lib.licenses.mit;
@@ -222878,8 +228782,8 @@ self: {
      }:
      mkDerivation {
        pname = "store-streaming";
-       version = "0.1.0.0";
-       sha256 = "04vsglnxqgznnacgmb34z3dsb7pz1kmc2fis1ij5p7k740c9gn2g";
+       version = "0.2.0.0";
+       sha256 = "0fhcv0lvmhdc53fx9y2dvvykvap7dz4asnajy95kpwhaz6z1xc2k";
        libraryHaskellDepends = [
          async base bytestring conduit free resourcet store store-core
          streaming-commons text transformers
@@ -222951,15 +228855,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_42_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.42.0";
-       sha256 = "1520dhfad9j1aa9sjxq56v6hivbfnm2vi19hjn7y0m6a80q2wawp";
+       version = "0.46.0";
+       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -223139,12 +229043,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;
@@ -223173,17 +229077,14 @@ self: {
 
   "streaming" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, mmorph, mtl
-     , semigroups, transformers, transformers-base
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "streaming";
-       version = "0.2.2.0";
-       sha256 = "04fdw4f51yb16bv3b7z97vqxbns8rv2ag2aphglm29jsd527fsss";
-       revision = "2";
-       editedCabalFile = "0cfxibcf0lkzbbyxl96dpnmacxv39ljwrlr3935bxykihr83j9xf";
+       version = "0.2.3.0";
+       sha256 = "0qpxz9hkk31k64w98pdnz8qjgxvcznzfwc8d7pvakrnf3zp8w05l";
        libraryHaskellDepends = [
-         base containers ghc-prim mmorph mtl semigroups transformers
-         transformers-base
+         base containers ghc-prim mmorph mtl transformers transformers-base
        ];
        description = "an elementary streaming prelude and general stream type";
        license = stdenv.lib.licenses.bsd3;
@@ -223425,8 +229326,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-events";
-       version = "1.0.0";
-       sha256 = "12rbw1gvcfl2svlsm7x1v01j9bk0fdh6x7j1c0v6a9xjmwq2bgv6";
+       version = "1.0.1";
+       sha256 = "0cgd3lvxb91jd1nkw4vci5zjp6s6q545cqgd9fq6i4mxrgn7ky7h";
        libraryHaskellDepends = [
          attoparsec base binary bytestring http-client streaming
          streaming-attoparsec streaming-bytestring wai-extra
@@ -223580,8 +229481,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
@@ -223717,6 +229618,73 @@ 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
+     , streaming-bytestring, streaming-cassava, streaming-with, streamly
+     , text, vector, weigh
+     }:
+     mkDerivation {
+       pname = "streamly-cassava";
+       version = "0.1.1.0";
+       sha256 = "1mkqmaqzb252plx2cas2kqm82bddwqjk615n6paw035frgvbx9j9";
+       libraryHaskellDepends = [
+         base bytestring cassava exceptions mtl streamly
+       ];
+       testHaskellDepends = [
+         base bytestring cassava exceptions hspec mtl QuickCheck
+         quickcheck-instances streamly text vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring cassava criterion exceptions mtl streaming
+         streaming-bytestring streaming-cassava streaming-with streamly
+         vector weigh
+       ];
+       description = "CSV streaming support via cassava for the streamly ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "streamly-fsnotify" = callPackage
+    ({ mkDerivation, base, fsnotify, paths, semirings, streamly, text
+     , time
+     }:
+     mkDerivation {
+       pname = "streamly-fsnotify";
+       version = "1.0.0.1";
+       sha256 = "0w81r0szdf4q8v6n389qlzwslhfwvjf0m9nihxsm1y0jgxbzy5cb";
+       libraryHaskellDepends = [
+         base fsnotify paths semirings streamly text time
+       ];
+       description = "Folder watching as a Streamly stream";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "streamproc" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -223770,17 +229738,16 @@ self: {
      }) {};
 
   "strelka-core" = callPackage
-    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
-     , hashable, mtl, semigroups, text, transformers
-     , unordered-containers
+    ({ mkDerivation, base, bytestring, hashable, mmorph, mtl, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "strelka-core";
-       version = "0.3.0.1";
-       sha256 = "0hksf6p2pjvlvpgyndrcza16n0zyjaykqxzwy0igvylkwg1684qy";
+       version = "0.3.1";
+       sha256 = "1gy382layyir0cy96igf5kyfsjzvqpb4v8bca5vl911rwmp5095v";
        libraryHaskellDepends = [
-         base base-prelude bifunctors bytestring hashable mtl semigroups
-         text transformers unordered-containers
+         base bytestring hashable mmorph mtl text transformers
+         unordered-containers
        ];
        description = "Core components of \"strelka\"";
        license = stdenv.lib.licenses.mit;
@@ -223932,12 +229899,12 @@ self: {
      }) {};
 
   "strict-tuple" = callPackage
-    ({ mkDerivation, base, deepseq, hashable }:
+    ({ mkDerivation, base, bifunctors, deepseq, hashable }:
      mkDerivation {
        pname = "strict-tuple";
-       version = "0.1.2";
-       sha256 = "1897l4x7aqadwbvq26di2cd7bsj498dvm3lsshbc37p1f3qry3lj";
-       libraryHaskellDepends = [ base deepseq hashable ];
+       version = "0.1.3";
+       sha256 = "0dyiwgkbr1d97jbri7a2q4by7g0wiszpw3hgfgqv4rfp25lsv39j";
+       libraryHaskellDepends = [ base bifunctors deepseq hashable ];
        testHaskellDepends = [ base ];
        description = "Strict tuples";
        license = stdenv.lib.licenses.bsd3;
@@ -224076,6 +230043,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-fromto" = callPackage
+    ({ mkDerivation, base, bytestring, memory, text }:
+     mkDerivation {
+       pname = "string-fromto";
+       version = "1.0.0.0";
+       sha256 = "0vnf500vahgccbbg7zvxqjxllvyq3jxzf2difqwh46fp62jfqwmx";
+       libraryHaskellDepends = [ base bytestring memory text ];
+       description = "Conversions between common string types, as well as Base16/Base32/Base64";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "string-interpolate" = callPackage
     ({ mkDerivation, base, bytestring, criterion, formatting
      , haskell-src-meta, hspec, interpolate, interpolatedstring-perl6
@@ -224102,6 +230080,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-interpolate_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, formatting
+     , haskell-src-meta, hspec, interpolate, interpolatedstring-perl6
+     , neat-interpolation, QuickCheck, quickcheck-instances
+     , quickcheck-text, quickcheck-unicode, random-shuffle
+     , template-haskell, text, text-conversions, unordered-containers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "string-interpolate";
+       version = "0.2.0.0";
+       sha256 = "084mkh9xx9dcy7j92kca6rv580v8223n7xgm9csy51mn0h2lg6wq";
+       libraryHaskellDepends = [
+         base bytestring haskell-src-meta template-haskell text
+         text-conversions utf8-string
+       ];
+       testHaskellDepends = [
+         base bytestring hspec QuickCheck quickcheck-instances
+         quickcheck-text quickcheck-unicode random-shuffle text
+         unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion formatting interpolate
+         interpolatedstring-perl6 neat-interpolation QuickCheck text
+       ];
+       description = "Haskell string/text/bytestring interpolation that just works";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "string-isos" = callPackage
     ({ mkDerivation, base, bytestring, mono-traversable, safe, text
      , type-iso
@@ -224120,16 +230128,13 @@ self: {
      }) {};
 
   "string-qq" = callPackage
-    ({ mkDerivation, base, Cabal, process, template-haskell }:
+    ({ mkDerivation, base, HUnit, template-haskell, text }:
      mkDerivation {
        pname = "string-qq";
-       version = "0.0.2";
-       sha256 = "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp";
-       revision = "1";
-       editedCabalFile = "1flc6mr1nnv8mx69cy1ilwk5gxsidcns82vjdg8dcs8z5axg95kp";
-       enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal process ];
+       version = "0.0.4";
+       sha256 = "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8";
        libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base HUnit text ];
        description = "QuasiQuoter for non-interpolated strings, texts and bytestrings";
        license = stdenv.lib.licenses.publicDomain;
      }) {};
@@ -224364,8 +230369,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "stripe-concepts";
-       version = "1.0.1.0";
-       sha256 = "1bpxsi9dpazxjh3m5lbkvm7aszylmhvkpazw8hdgpdnkv3gryjv5";
+       version = "1.0.2.0";
+       sha256 = "0a8p4pm8v83kcgxm3jpmpl4811pdjjn2rmdl0mkq649rfnm3cg2k";
        libraryHaskellDepends = [ base bytestring text ];
        description = "Types for the Stripe API";
        license = stdenv.lib.licenses.mit;
@@ -224503,8 +230508,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-wreq";
-       version = "1.0.0.0";
-       sha256 = "1cm9fvkpanxydbbrk9s1yj3bkxd7wcschi40a4dhmh8h3wr89y8s";
+       version = "1.0.1.0";
+       sha256 = "0i5d0c9zha4v9361p92kq5bpma5dq5aqdkqdrghwpzx0pppfpx3y";
        libraryHaskellDepends = [
          aeson base bytestring lens stripe-concepts text
          unordered-containers wreq
@@ -224534,8 +230539,8 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.8";
-       sha256 = "0wfi3s8hv11xs0wpvbc9z4nsskdpg5q7ivcpci8cnhn20wffb0nn";
+       version = "5.0.9";
+       sha256 = "1022ir4m0r43717rdb1miynd61mfkfd3mp0dcv5ryb983znn3ag2";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
@@ -224601,8 +230606,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
@@ -224860,29 +230865,29 @@ self: {
      }) {};
 
   "stylish-haskell" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , file-embed, filepath, haskell-src-exts, HUnit, mtl
-     , optparse-applicative, semigroups, strict, syb, test-framework
-     , test-framework-hunit, yaml
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , directory, file-embed, filepath, haskell-src-exts, HUnit, mtl
+     , optparse-applicative, random, semigroups, strict, syb
+     , test-framework, test-framework-hunit, yaml
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.9.2.2";
-       sha256 = "1zs624xqp6j8vrl6pfv18dm8vz8hvz25grri65ximxhcizgwhnax";
+       version = "0.9.4.4";
+       sha256 = "1399q6chjhnyf2vifmwp3cw8253ra762wm5873ndjjd2z6da8gg2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers directory file-embed filepath
-         haskell-src-exts mtl semigroups syb yaml
+         aeson base bytestring Cabal containers directory file-embed
+         filepath haskell-src-exts mtl semigroups syb yaml
        ];
        executableHaskellDepends = [
-         aeson base bytestring containers directory file-embed filepath
-         haskell-src-exts mtl optparse-applicative strict syb yaml
+         aeson base bytestring Cabal containers directory file-embed
+         filepath haskell-src-exts mtl optparse-applicative strict syb yaml
        ];
        testHaskellDepends = [
-         aeson base bytestring containers directory file-embed filepath
-         haskell-src-exts HUnit mtl syb test-framework test-framework-hunit
-         yaml
+         aeson base bytestring Cabal containers directory file-embed
+         filepath haskell-src-exts HUnit mtl random syb test-framework
+         test-framework-hunit yaml
        ];
        description = "Haskell code prettifier";
        license = stdenv.lib.licenses.bsd3;
@@ -224890,18 +230895,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;
@@ -225300,23 +231305,49 @@ self: {
        broken = true;
      }) {};
 
+  "summoner_1_4_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
+     , directory, filepath, generic-deriving, gitrev, hedgehog, hspec
+     , neat-interpolation, optparse-applicative, process, relude
+     , shellmet, text, time, tomland, tree-diff
+     }:
+     mkDerivation {
+       pname = "summoner";
+       version = "1.4.0.0";
+       sha256 = "0niakfpnk86n69n7kazlv2z00g211b9lgp2b8qphlr4xyz3b7fn0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring containers directory filepath
+         generic-deriving gitrev neat-interpolation optparse-applicative
+         process relude shellmet text time tomland
+       ];
+       executableHaskellDepends = [ base relude ];
+       testHaskellDepends = [
+         base directory filepath hedgehog hspec neat-interpolation relude
+         text tomland tree-diff
+       ];
+       description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "summoner-tui" = callPackage
-    ({ mkDerivation, base, base-noprelude, brick, directory, filepath
-     , microlens, microlens-th, relude, summoner, text, vty
+    ({ mkDerivation, base, brick, directory, filepath, microlens
+     , microlens-th, relude, summoner, text, vty
      }:
      mkDerivation {
        pname = "summoner-tui";
-       version = "0.1.0";
-       sha256 = "0ic9faw55qjljwz8r0nz8jmdw2pcc40nqc0zp07hshqh8qbiswl9";
-       revision = "1";
-       editedCabalFile = "0rjnrhh62m2jy74dqdiywkk2gqs1dds97h55qxc50qysdiiwmmal";
+       version = "1.4.0.0";
+       sha256 = "0vz4nd5wwjdk8n9n1lwa5b8xs863fkkcq56rwy0fifp1xr4184si";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base-noprelude brick directory filepath microlens microlens-th
-         relude summoner text vty
+         base brick directory filepath microlens microlens-th relude
+         summoner text vty
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [ base relude ];
        description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI";
        license = stdenv.lib.licenses.mpl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -225781,8 +231812,8 @@ self: {
        pname = "sv";
        version = "1.4";
        sha256 = "02ymnnknfppx59b922y62grkmarwsyy77iv6bmyp2bzm8vbvnvd5";
-       revision = "1";
-       editedCabalFile = "0lzl0602dbq8nih9ylqk18vqg3xgj3bnf8c6hkxhbc2mryszrhyj";
+       revision = "2";
+       editedCabalFile = "0kacp654mmj9h038mrxnq69ln5ipbbp2ifvyzqixgjask2bf9f41";
        libraryHaskellDepends = [
          attoparsec base bifunctors bytestring contravariant hw-dsv
          semigroupoids sv-core transformers utf8-string validation
@@ -225861,8 +231892,8 @@ self: {
        pname = "sv-core";
        version = "0.5";
        sha256 = "1x5gmv2pbn3hx1dhpkigivjkbg6n6xy7lc36wmccsw2qqn9r5qxa";
-       revision = "1";
-       editedCabalFile = "1vsd3g5kh50c7vrx9y04crrw6pfs3g74z3sr9s1dbapa9411pif8";
+       revision = "2";
+       editedCabalFile = "066kpnyvpzl6bvc11ng6xq4mdd84lxjiif83i265mkjc8hq21xd4";
        libraryHaskellDepends = [
          attoparsec base bifunctors bytestring containers contravariant
          deepseq double-conversion lens mtl parsec profunctors readable
@@ -225932,8 +231963,8 @@ self: {
        pname = "svg-builder";
        version = "0.1.1";
        sha256 = "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g";
-       revision = "1";
-       editedCabalFile = "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1";
+       revision = "2";
+       editedCabalFile = "100nmkgcm1ncv4mkr1xcsa7bb3z6zx0lfayk8innd4hm62xsvhj3";
        libraryHaskellDepends = [
          base blaze-builder bytestring hashable text unordered-containers
        ];
@@ -226000,8 +232031,8 @@ self: {
      }:
      mkDerivation {
        pname = "svgcairo";
-       version = "0.13.2.0";
-       sha256 = "1h3phyq9g7lmw0mf75hlccvixgwffvkfnlyy1g34hwh9i5nj0aqw";
+       version = "0.13.2.1";
+       sha256 = "19jq5nf3v6774d0imbz5dkajriqx3fa93zvxjyqh1nm5birczaj8";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [ base cairo glib mtl text ];
@@ -226199,6 +232230,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
@@ -226276,8 +232340,8 @@ self: {
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.10.0.1";
-       sha256 = "1ikqqyra9r79vw2s969kyqh1vgijcr33y7irriylsp51n7pspagk";
+       version = "0.10.0.2";
+       sha256 = "1r6wfj8x5r3w2gvnhvdkjgn3rq4a4smna81gsxah2ibpwhinjjf1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -226295,23 +232359,26 @@ self: {
      }) {};
 
   "sws" = callPackage
-    ({ mkDerivation, base, bytestring, cryptonite, directory, filepath
-     , hourglass, http-types, network, resourcet, transformers, wai
-     , wai-extra, wai-middleware-static, warp, warp-tls
+    ({ mkDerivation, base, bytestring, containers, cryptonite
+     , directory, filepath, hourglass, http-types, network, network-bsd
+     , network-uri, resourcet, transformers, wai, wai-extra
+     , wai-middleware-static, warp, warp-tls
      }:
      mkDerivation {
        pname = "sws";
-       version = "0.4.3.0";
-       sha256 = "0zwh7az9pgsgvx9wbjnz8lzy2v8lrkkwv3h72jfy5sj50xylrzbr";
+       version = "0.4.6.0";
+       sha256 = "0bbk1sp90n4ix4zy45xm9xxrwnh50shwm9f1bk0kspdfnvxkpsa5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring cryptonite directory filepath hourglass http-types
-         network resourcet transformers wai wai-extra wai-middleware-static
-         warp warp-tls
+         base bytestring containers cryptonite directory filepath hourglass
+         http-types network network-bsd network-uri resourcet transformers
+         wai wai-extra wai-middleware-static warp warp-tls
        ];
        description = "A simple web server for serving directories";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "sxml" = callPackage
@@ -226360,8 +232427,8 @@ self: {
      }:
      mkDerivation {
        pname = "syb-with-class";
-       version = "0.6.1.11";
-       sha256 = "0fgmcxhrhcjcv5nmb5irp6mqcwknpk15azzd0qhajwx8mqpw6b8l";
+       version = "0.6.1.12";
+       sha256 = "1cxy0mph0kqdi3hzy5x3c754a3sjdn14x64ga4bkhvzi6iwbfcq0";
        libraryHaskellDepends = [
          array base bytestring containers template-haskell
        ];
@@ -226481,8 +232548,8 @@ self: {
      }:
      mkDerivation {
        pname = "symantic-cli";
-       version = "2.4.0.20190719";
-       sha256 = "0ca3c309wxby99sy3xa96i04q2r7wxcgk4amy8z86xaz1r78a60d";
+       version = "2.4.2.20190806";
+       sha256 = "0ms0g6zz6xck4xllakdwmnxj9gi7sfj9n2jqh9m2zdv0va41ncy3";
        libraryHaskellDepends = [
          base bytestring containers megaparsec symantic-document text
          transformers
@@ -226497,8 +232564,8 @@ self: {
      }:
      mkDerivation {
        pname = "symantic-document";
-       version = "1.5.0.20190711";
-       sha256 = "01vza9k4ic6xwgj4jqihcfm5a5q8n6svi1988v851pi40dg8m03s";
+       version = "1.5.1.20191028";
+       sha256 = "1c4vwjjh6r2m6y3waz1zgf5c1xq3xg9xy4742hgfsfjigw0ba4hj";
        libraryHaskellDepends = [ ansi-terminal base text transformers ];
        testHaskellDepends = [
          base containers tasty tasty-hunit text transformers
@@ -226699,24 +232766,36 @@ self: {
      }) {};
 
   "symbiote" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, cereal, containers
-     , monad-control, mtl, QuickCheck, quickcheck-instances, stm, tasty
-     , tasty-hunit, text
+    ({ mkDerivation, abides, aeson, async, base, bytestring, cereal
+     , containers, exceptions, extractable-singleton, http-types
+     , monad-control-aligned, mtl, QuickCheck, quickcheck-instances, stm
+     , tasty, tasty-hunit, tasty-quickcheck, text, wai, wai-extra
+     , wai-transformers, wai-websockets, warp, websockets
+     , websockets-simple, websockets-simple-extra, zeromq4-haskell
+     , zeromq4-simple
      }:
      mkDerivation {
        pname = "symbiote";
-       version = "0.0.0.1";
-       sha256 = "06341y9bfr6h9sf7llxm2zc36q0zabn2ildp0gyskspybibl1sdy";
+       version = "0.0.2";
+       sha256 = "09siz5xy6gvlqy1vd61j7rhhqi6dyg5fc4yl6h1nifchk6126939";
        libraryHaskellDepends = [
-         aeson async base bytestring cereal containers monad-control mtl
-         QuickCheck stm text
+         abides aeson async base bytestring cereal containers exceptions
+         extractable-singleton monad-control-aligned mtl QuickCheck
+         quickcheck-instances stm text wai-transformers websockets-simple
+         websockets-simple-extra zeromq4-haskell zeromq4-simple
        ];
        testHaskellDepends = [
-         aeson async base bytestring cereal containers monad-control mtl
-         QuickCheck quickcheck-instances stm tasty tasty-hunit text
+         abides aeson async base bytestring cereal containers exceptions
+         extractable-singleton http-types monad-control-aligned mtl
+         QuickCheck quickcheck-instances stm tasty tasty-hunit
+         tasty-quickcheck text wai wai-extra wai-transformers wai-websockets
+         warp websockets websockets-simple websockets-simple-extra
+         zeromq4-haskell zeromq4-simple
        ];
        description = "Data serialization, communication, and operation verification implementation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "symbol" = callPackage
@@ -227279,8 +233358,8 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-llvm";
-       version = "0.8.2";
-       sha256 = "0vf0p1ajs7k327cc1dwm6ja2qyby865g1bqc6mzrjn826dv2vric";
+       version = "0.8.2.1";
+       sha256 = "0bgla347pfdaai41rp9jny2k1hv0k1s8jdmqhd54v5c60cxl6p9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227703,12 +233782,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "systemd_2_1_0" = callPackage
+  "systemd_2_2_0" = callPackage
     ({ mkDerivation, base, bytestring, network, transformers, unix }:
      mkDerivation {
        pname = "systemd";
-       version = "2.1.0";
-       sha256 = "1m6z5f3zaxxn9jcbd02b16rzgbifzwlwvpbw8v16qh5q8sy074dc";
+       version = "2.2.0";
+       sha256 = "18z0wc71k3wwxfighwk4y03aprf5sd94vadzbyjysrac2np1qz20";
        libraryHaskellDepends = [
          base bytestring network transformers unix
        ];
@@ -228141,8 +234220,8 @@ self: {
        pname = "tagged";
        version = "0.8.6";
        sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md";
-       revision = "1";
-       editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh";
+       revision = "2";
+       editedCabalFile = "1y8z8hmm846z7h3wqncpi0d4zhsnkwf08q0wchivkjw8di7ahz0z";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -228436,8 +234515,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
@@ -228808,6 +234887,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
+       revision = "1";
+       editedCabalFile = "1ni8zym7k6f1hg6wfvnnf3xcs2ar3z8xaabkgjg8q329arjcm8wp";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -228995,8 +235076,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.5.0.0";
-       sha256 = "0v66297i3d36r0k2jpp1cl3g3wj83k3s2dq5n50cm7zrrg0mc7sq";
+       version = "1.7.0.0";
+       sha256 = "1k8dxxf6ahcqnsv3vnr39rbw758l5jzpbjfzljn7mgpy4vm9gq77";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229035,6 +235116,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "taskwarrior" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, hspec-discover
+     , process, QuickCheck, quickcheck-instances, random
+     , string-interpolate, text, time, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "taskwarrior";
+       version = "0.1.2.0";
+       sha256 = "1kmmlb3d9bfc47lvlv8v3zxp3cymv3v5i2m86m4iglhg0x6lyawp";
+       libraryHaskellDepends = [
+         aeson base bytestring process random string-interpolate text time
+         unordered-containers uuid
+       ];
+       testHaskellDepends = [
+         aeson base hspec QuickCheck quickcheck-instances text time
+         unordered-containers uuid
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Types and aeson instances for taskwarrior tasks";
+       license = stdenv.lib.licenses.agpl3Plus;
+     }) {};
+
   "tasty" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, clock, containers, mtl
      , optparse-applicative, stm, tagged, unbounded-delays, unix
@@ -229247,8 +235350,8 @@ self: {
        pname = "tasty-hspec";
        version = "1.1.5.1";
        sha256 = "0i9kdzjpk750sa078jj3iyhp72k0177zk7vxl131r6dkyz09x27y";
-       revision = "3";
-       editedCabalFile = "1wgz3z5bnq5qml8d0i18gvz30dmmax3686lmqz3vf4hxd3vqfkpj";
+       revision = "4";
+       editedCabalFile = "1yppwhs2r2rlwrzli9ccv5ldgl95h5p7pqhsr898r3das6daf6sk";
        libraryHaskellDepends = [
          base hspec hspec-core QuickCheck tasty tasty-quickcheck
          tasty-smallcheck
@@ -229481,18 +235584,18 @@ self: {
      }) {};
 
   "tasty-rerun" = callPackage
-    ({ mkDerivation, base, containers, mtl, optparse-applicative
-     , reducers, split, stm, tagged, tasty, transformers
+    ({ mkDerivation, base, containers, mtl, optparse-applicative, split
+     , stm, tagged, tasty, transformers
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.14";
-       sha256 = "0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr";
+       version = "1.1.16";
+       sha256 = "1xrm7z5dhg7zfpq7xr1pdwqsgrvxsb5r5ia063lcxlxk2dizrib2";
        libraryHaskellDepends = [
-         base containers mtl optparse-applicative reducers split stm tagged
-         tasty transformers
+         base containers mtl optparse-applicative split stm tagged tasty
+         transformers
        ];
-       description = "Run tests by filtering the test tree depending on the result of previous test runs";
+       description = "Rerun only tests which failed in a previous test run";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -229553,8 +235656,8 @@ 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
@@ -229598,8 +235701,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tmux";
-       version = "0.1.0.0";
-       sha256 = "1k7xc2fvfjrv48hml1jlhjrdrnb9sjaar7xrbwbj1275s09b51h8";
+       version = "0.1.0.2";
+       sha256 = "0lksanhb1nsk45vqg1h9jigllfg0lrqsynxkplh8lyx6g8k0naav";
        libraryHaskellDepends = [
          base bytestring mtl regex-posix tasty tasty-hunit text
          typed-process
@@ -229750,24 +235853,24 @@ self: {
      }) {};
 
   "tcod-haskell" = callPackage
-    ({ mkDerivation, base, bytestring, containers, inline-c, repa, sdl2
-     , tcod, vector
+    ({ mkDerivation, base, bytestring, containers, inline-c, libtcod
+     , repa, sdl2, vector
      }:
      mkDerivation {
        pname = "tcod-haskell";
-       version = "0.2.0.0";
-       sha256 = "131qdd7h2890as35lfb3kx37j3vrz33ajxp5n4cl65rdrdk5vfxc";
+       version = "0.3.0.0";
+       sha256 = "08pcjzc2kc6aaba7n2j3sbglqpcml47s0mpgfgkbngrnzzs7hrj7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring containers inline-c repa sdl2 vector
        ];
-       librarySystemDepends = [ tcod ];
+       libraryPkgconfigDepends = [ libtcod ];
        description = "Bindings to libtcod roguelike engine";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {tcod = null;};
+     }) {inherit (pkgs) libtcod;};
 
   "tconfig" = callPackage
     ({ mkDerivation, base, containers }:
@@ -229899,8 +236002,8 @@ self: {
        pname = "tdigest-Chart";
        version = "0.2";
        sha256 = "1ciq7d187as9sk1dpccm2s02b6jdhij1l477wff0a7labgw21l0l";
-       revision = "1";
-       editedCabalFile = "1095k2sgyjd5m38j1qxa1df9izzdpjl80lrsmwhjm1jw4lmk8cys";
+       revision = "2";
+       editedCabalFile = "07fg2pnj06vz2cwyxqyx40ghd0d7p9byazds7lhim4z397gngk0f";
        libraryHaskellDepends = [
          base base-compat Chart colour lens semigroupoids tdigest
        ];
@@ -230953,8 +237056,8 @@ self: {
      }:
      mkDerivation {
        pname = "terminal-punch";
-       version = "0.1.1";
-       sha256 = "11z6jb130300yjkrl511960anjac9ncc3g1yj6jqpah6j2imsa8s";
+       version = "0.1.3";
+       sha256 = "1hc8gl0bjrz8h9nfrvlkxbkgys62xr7mcdk22lm8dc1cl8y42nkv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -231040,30 +237143,31 @@ self: {
   "termonad" = callPackage
     ({ mkDerivation, adjunctions, base, Cabal, cabal-doctest
      , classy-prelude, colour, constraints, containers, data-default
-     , directory, distributive, doctest, dyre, filepath, focuslist
-     , genvalidity-containers, genvalidity-hspec, gi-gdk, gi-gio
-     , gi-glib, gi-gtk, gi-pango, gi-vte, gtk3, haskell-gi-base
-     , hedgehog, inline-c, lens, libpcre2, mono-traversable
-     , pretty-simple, QuickCheck, singletons, tasty, tasty-hedgehog
-     , tasty-hspec, template-haskell, text, vte_291, xml-conduit
-     , xml-html-qq
+     , directory, distributive, doctest, dyre, file-embed, filepath
+     , focuslist, genvalidity-containers, genvalidity-hspec, gi-gdk
+     , gi-gio, gi-glib, gi-gtk, gi-pango, gi-vte, gtk3, haskell-gi-base
+     , hedgehog, inline-c, lens, mono-traversable, pcre2, pretty-simple
+     , QuickCheck, singletons, tasty, tasty-hedgehog, tasty-hspec
+     , template-haskell, text, transformers, vte_291, xml-conduit
+     , xml-html-qq, yaml
      }:
      mkDerivation {
        pname = "termonad";
-       version = "2.0.0.0";
-       sha256 = "0rprqn5vcvhbqqg0grrmz0ijjpkrprza88la4mbdg6skb34fjsp0";
+       version = "3.0.0.0";
+       sha256 = "11c58k6iyqry5dfdbxsvmca19w10igb4yd1nk2ap6h7zsav2rjgn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base classy-prelude colour constraints containers
-         data-default directory distributive dyre filepath focuslist gi-gdk
-         gi-gio gi-glib gi-gtk gi-pango gi-vte haskell-gi-base inline-c lens
-         mono-traversable pretty-simple QuickCheck singletons text
-         xml-conduit xml-html-qq
+         data-default directory distributive dyre file-embed filepath
+         focuslist gi-gdk gi-gio gi-glib gi-gtk gi-pango gi-vte
+         haskell-gi-base inline-c lens mono-traversable pretty-simple
+         QuickCheck singletons text transformers xml-conduit xml-html-qq
+         yaml
        ];
-       libraryPkgconfigDepends = [ gtk3 libpcre2 vte_291 ];
+       libraryPkgconfigDepends = [ gtk3 pcre2 vte_291 ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest genvalidity-containers genvalidity-hspec hedgehog lens
@@ -231071,7 +237175,9 @@ self: {
        ];
        description = "Terminal emulator configurable in Haskell";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) gtk3; libpcre2 = null; vte_291 = pkgs.vte;};
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
+     }) {inherit (pkgs) gtk3; inherit (pkgs) pcre2; 
+         vte_291 = pkgs.vte;};
 
   "termplot" = callPackage
     ({ mkDerivation, base, brick, data-default, optparse-applicative
@@ -231148,6 +237254,29 @@ self: {
        broken = true;
      }) {};
 
+  "tesla" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, casing, containers
+     , generic-deriving, HUnit, lens, lens-aeson, mtl, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , vector, wreq
+     }:
+     mkDerivation {
+       pname = "tesla";
+       version = "0.1.0.1";
+       sha256 = "0rk1i9pl6x6f58hbij287aaab7ac3iy3ngs2bqb2990zqfh12ir4";
+       libraryHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving lens
+         lens-aeson mtl template-haskell text time vector wreq
+       ];
+       testHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving HUnit lens
+         lens-aeson mtl tasty tasty-hunit tasty-quickcheck template-haskell
+         text time vector wreq
+       ];
+       description = "Tesla API client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "test-fixture" = callPackage
     ({ mkDerivation, base, data-default-class, exceptions
      , haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
@@ -231180,8 +237309,8 @@ self: {
        pname = "test-framework";
        version = "0.8.2.0";
        sha256 = "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm";
-       revision = "4";
-       editedCabalFile = "1g1z9h55ii55b44gzgrjgi1lpk85yfi4yhrynvfy0199ywpckpd5";
+       revision = "5";
+       editedCabalFile = "18g92ajx3ghznd6k3ihj22ln29n676ailzwx3k0f1kj3bmpilnh6";
        libraryHaskellDepends = [
          ansi-terminal ansi-wl-pprint base containers hostname old-locale
          random regex-posix time xml
@@ -231809,8 +237938,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.11.2.2";
-       sha256 = "11qhp37ghz70bbpapzafd1ksvzqrd1p0fi7fjlyfs10i02pj8kpy";
+       version = "0.11.3";
+       sha256 = "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231824,6 +237953,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
@@ -231833,8 +237985,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
-       revision = "1";
-       editedCabalFile = "137bbyxrrg9yn1060aqkamdk1mb7x12nwndradwp57057ix79fp4";
+       revision = "2";
+       editedCabalFile = "0zv8xp8z2gx9zjqn1f81hri4hn0bws7cq39g5i2g2axrkm9nwj5q";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -231928,18 +238080,16 @@ self: {
      }) {};
 
   "text-builder" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, criterion
-     , deferred-folds, QuickCheck, quickcheck-instances, rerebase
-     , semigroups, tasty, tasty-hunit, tasty-quickcheck, text
-     , transformers
+    ({ mkDerivation, base, bytestring, criterion, deferred-folds
+     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers
      }:
      mkDerivation {
        pname = "text-builder";
-       version = "0.6.5.1";
-       sha256 = "0g40s5md7kfmhqsxxrfliwb3p4whg3m2wp31bai051nx1ddkkvay";
+       version = "0.6.6.1";
+       sha256 = "03fjmxnz2nbfr63ff8nms58vjd8czz6pqq4ng5rbmiivlfj55ymm";
        libraryHaskellDepends = [
-         base base-prelude bytestring deferred-folds semigroups text
-         transformers
+         base bytestring deferred-folds text transformers
        ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -232518,6 +238668,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-show_3_8_3" = callPackage
+    ({ mkDerivation, array, base, base-compat-batteries, base-orphans
+     , bifunctors, bytestring, bytestring-builder, containers, criterion
+     , deepseq, deriving-compat, generic-deriving, ghc-boot-th, ghc-prim
+     , hspec, hspec-discover, integer-gmp, QuickCheck
+     , quickcheck-instances, template-haskell, text, th-abstraction
+     , th-lift, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "text-show";
+       version = "3.8.3";
+       sha256 = "1l4mg4vgdixhpsncqyf9xq7nw0dskcd41hg4rb12s2623sjdxb2p";
+       libraryHaskellDepends = [
+         array base base-compat-batteries bifunctors bytestring
+         bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
+         integer-gmp template-haskell text th-abstraction th-lift
+         transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         array base base-compat-batteries base-orphans bytestring
+         bytestring-builder deriving-compat generic-deriving ghc-prim hspec
+         QuickCheck quickcheck-instances template-haskell text transformers
+         transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion deepseq ghc-prim text ];
+       description = "Efficient conversion of values into Text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-show-instances" = callPackage
     ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
@@ -232529,8 +238710,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.8.2";
-       sha256 = "075a2dzbdkh13q9a1w4v0dm40rqrv1wq8nsqh4g4872h29df5mka";
+       version = "3.8.3";
+       sha256 = "11v335p3wzf9ijqlkls5mk4m16dfak8fckn4gj7mahs8c7l9lm5d";
        libraryHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
@@ -232901,6 +239082,8 @@ self: {
        pname = "th-abstraction";
        version = "0.3.1.0";
        sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb";
+       revision = "1";
+       editedCabalFile = "1c0sy614vfcdvshn0z09nzfiq89v5if31yvvpxzrivrdy9gf912s";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -233137,8 +239320,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
        ];
@@ -233244,8 +239427,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-lift";
-       version = "0.8.0.1";
-       sha256 = "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0";
+       version = "0.8.1";
+       sha256 = "1msyisgn30l2sd7jagab38r8q9mbi4phmqk4g3fddn4l6wcz989z";
        libraryHaskellDepends = [
          base ghc-prim template-haskell th-abstraction
        ];
@@ -233292,8 +239475,10 @@ self: {
      }:
      mkDerivation {
        pname = "th-orphans";
-       version = "0.13.8";
-       sha256 = "0f5rf8jr9g5pgnqv7i60ygmnycjq1qbfvccjpagc1xy4gbgjng41";
+       version = "0.13.9";
+       sha256 = "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z";
+       revision = "1";
+       editedCabalFile = "100gpi0np50vxlapyl6d05w8ss9l2gqacn28i228hsvhvrxxwjdy";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
@@ -233408,14 +239593,29 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "th-tc" = callPackage
+    ({ mkDerivation, base, containers, lens, mtl, template-haskell
+     , th-orphans, transformers
+     }:
+     mkDerivation {
+       pname = "th-tc";
+       version = "0.2.1.0";
+       sha256 = "1wgvglb6k73mslrw1whxyqgxp90l042lm4865qdgvvbli5gk5dva";
+       libraryHaskellDepends = [
+         base containers lens mtl template-haskell th-orphans transformers
+       ];
+       description = "Typechecking in Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "th-test-utils" = callPackage
     ({ mkDerivation, base, tasty, tasty-hunit, template-haskell
      , transformers
      }:
      mkDerivation {
        pname = "th-test-utils";
-       version = "1.0.0";
-       sha256 = "1kpkf6h0vr06z7iphkcjva9x28mfjg967hrih4im527g9vw5mdq6";
+       version = "1.0.1";
+       sha256 = "1qbxj4zarw1nm0c2shrr4wrrkmqlxx2qdh9q3q9arkic4lwgsxcx";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [
          base tasty tasty-hunit template-haskell transformers
@@ -233486,8 +239686,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-utilities";
-       version = "0.2.3.0";
-       sha256 = "0bl4j81k7szn0lza8rnn1db6glc57dsn63ni0hwbwr3kxa3pb4x4";
+       version = "0.2.3.1";
+       sha256 = "1sy3bgwc85zw999cya92xsp9jllclwbzw9fmjmhqi4r5kj2gyk96";
        libraryHaskellDepends = [
          base bytestring containers directory filepath primitive syb
          template-haskell text th-orphans
@@ -233706,8 +239906,8 @@ self: {
        pname = "these-optics";
        version = "1";
        sha256 = "0gmsykzcjx5h6dbfny4dw3jrm33ykcw6rpngf5awwdpg3a4cfgi7";
-       revision = "1";
-       editedCabalFile = "1fvi4m04xy3mj22ajgi95bsbr7jhm5f8dnan6hihkplqbjgrjma3";
+       revision = "2";
+       editedCabalFile = "04iahn4y52qj3q99r20zp0cgj764m7k073jmkf66qf819133afl8";
        libraryHaskellDepends = [ base optics-core these ];
        description = "Optics for These";
        license = stdenv.lib.licenses.bsd3;
@@ -234001,6 +240201,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "threepenny-gui_0_8_3_1" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , data-default, deepseq, exceptions, file-embed, filepath, hashable
+     , safe, snap-core, snap-server, stm, template-haskell, text
+     , transformers, unordered-containers, vault, vector, websockets
+     , websockets-snap
+     }:
+     mkDerivation {
+       pname = "threepenny-gui";
+       version = "0.8.3.1";
+       sha256 = "08jmnyaskbfzwzyghs9ccmq6rdfxcgw0si7p6kc5ppi86gxdr5sl";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring containers data-default deepseq
+         exceptions file-embed filepath hashable safe snap-core snap-server
+         stm template-haskell text transformers unordered-containers vault
+         vector websockets websockets-snap
+       ];
+       description = "GUI framework that uses the web browser as a display";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "threepenny-gui-contextmenu" = callPackage
     ({ mkDerivation, base, threepenny-gui }:
      mkDerivation {
@@ -234041,8 +240266,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
@@ -234198,8 +240423,8 @@ self: {
      }:
      mkDerivation {
        pname = "thumbnail-polish";
-       version = "0.0.1.0";
-       sha256 = "09b5689anqbll8x7mwcwbcm5qwsxvayglfk3k3p55jwp142z75ir";
+       version = "0.0.1.1";
+       sha256 = "1bl45s6cb5pak3g5w3p98n7dipg1b8fapq7y5radzlwkgjchp600";
        libraryHaskellDepends = [
          base bytestring data-default directory filepath friday friday-devil
          nonce resourcet text
@@ -234284,10 +240509,8 @@ self: {
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.1.10";
-       sha256 = "11bzcan2vfhdz6lwfvfgiyycqf30p4kdkzn47pm4ydr6bbpz8aia";
-       revision = "1";
-       editedCabalFile = "0gm271p3m3y0x9lfi5yviznqfr65f0if553z6h977dqk3f3psyfd";
+       version = "0.1.2.0";
+       sha256 = "1bw10jahy0s9ai6ryfdx58jzjib146x7kzqkg65z71brvm0cliza";
        libraryHaskellDepends = [
          base composition-prelude megaparsec text
        ];
@@ -234368,21 +240591,44 @@ self: {
   "tidal" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, mwc-random
-     , network, parsec, primitive, text, transformers, vector, weigh
+     , network, parsec, primitive, random, text, transformers, vector
+     , weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.4.3";
-       sha256 = "1nj5pgzan7q070c8qhcq51mnrwpkxi51ixmmp7b4n4fxfc80v68g";
+       version = "1.4.5";
+       sha256 = "146nhi2y8c5acqmkhgh4f1bb3wrasba0i1w4v2vwnbznpdv6cxs1";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bifunctors bytestring clock colour containers deepseq hosc
+         mwc-random network parsec primitive random text transformers vector
+       ];
+       testHaskellDepends = [ base containers microspec parsec ];
+       benchmarkHaskellDepends = [ base criterion weigh ];
+       description = "Pattern language for improvised music";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tidal_1_4_6" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, clock, colour
+     , containers, criterion, deepseq, hosc, microspec, mwc-random
+     , network, parsec, primitive, random, text, transformers, vector
+     , weigh
+     }:
+     mkDerivation {
+       pname = "tidal";
+       version = "1.4.6";
+       sha256 = "1mgyss58kwvdp39qznqxkks8vvyq5w802g60rvmc26ipilhm1rd9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
-         mwc-random network parsec primitive text transformers vector
+         mwc-random network parsec primitive random text transformers vector
        ];
        testHaskellDepends = [ base containers microspec parsec ];
        benchmarkHaskellDepends = [ base criterion weigh ];
        description = "Pattern language for improvised music";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tidal-midi" = callPackage
@@ -235252,8 +241498,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";
@@ -235734,8 +241980,8 @@ self: {
      }:
      mkDerivation {
        pname = "tldr";
-       version = "0.4.0.1";
-       sha256 = "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3";
+       version = "0.4.0.2";
+       sha256 = "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -235750,6 +241996,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tldr_0_6_0" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmark, containers
+     , directory, filepath, optparse-applicative, semigroups, tasty
+     , tasty-golden, text, typed-process
+     }:
+     mkDerivation {
+       pname = "tldr";
+       version = "0.6.0";
+       sha256 = "0a8d7pv5rn6p2acvyrh7kld0mq0zfrybqfwnffb7pmpl0ghzdsxa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring cmark text
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath optparse-applicative semigroups
+         typed-process
+       ];
+       testHaskellDepends = [ base tasty tasty-golden ];
+       description = "Haskell tldr client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tls" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
      , cereal, criterion, cryptonite, data-default-class, hourglass
@@ -235780,7 +242050,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "tls_1_5_1" = callPackage
+  "tls_1_5_2" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
      , cereal, cryptonite, data-default-class, gauge, hourglass, memory
      , mtl, network, QuickCheck, tasty, tasty-quickcheck, transformers
@@ -235788,8 +242058,8 @@ self: {
      }:
      mkDerivation {
        pname = "tls";
-       version = "1.5.1";
-       sha256 = "1fs5q494ip8hi2jdp34wy93hmdd42lwkh1hi0jg3ngdnilpg33yi";
+       version = "1.5.2";
+       sha256 = "0c23k1aqsdi0kyyg3lcfj78z7bc9xkk0gwy53xmi7b5s6i8dp47b";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring cereal cryptonite
          data-default-class hourglass memory mtl network transformers x509
@@ -235827,15 +242097,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "tls-debug_0_4_7" = callPackage
+  "tls-debug_0_4_8" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite, data-default-class
      , network, pem, tls, tls-session-manager, x509, x509-store
      , x509-system, x509-validation
      }:
      mkDerivation {
        pname = "tls-debug";
-       version = "0.4.7";
-       sha256 = "1p3ihky5vznjv66f1mbpj33ahkg8g0xgfknldzmgllwsmh533dji";
+       version = "0.4.8";
+       sha256 = "1x6yjk0m1jrkcy1y6ggrmnhkdrf0kbgvdry6p5i7f4bvfj432qvl";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -235910,6 +242180,8 @@ self: {
        ];
        description = "Handle phylogenetic trees";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tmapchan" = callPackage
@@ -235971,25 +242243,38 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_0_3_0_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, directory, hspec
-     , hspec-discover, mtl, network, port-utils, postgres-options
-     , postgresql-libpq, postgresql-simple, process, temporary, unix
+  "tmp-postgres_1_34_0_0" = 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 = "0.3.0.1";
-       sha256 = "1h0n3kd5wz4lhg2m4zkyd0vhynrpdvvwlrngyj62d27i1qk2livy";
+       version = "1.34.0.0";
+       sha256 = "0845bjp1vgpkms865p311zv758z1i1y8874s1gmjn0c8jwgi48cs";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         async base bytestring directory network port-utils postgres-options
-         postgresql-simple process temporary unix
+         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 directory hspec hspec-discover mtl postgresql-libpq
-         postgresql-simple process temporary
+         async base containers directory generic-monoid hspec mtl network
+         port-utils postgres-options postgresql-simple process temporary
+         unix
        ];
-       testToolDepends = [ hspec-discover ];
-       description = "Start and stop a temporary postgres for testing";
+       benchmarkHaskellDepends = [
+         base criterion deepseq postgres-options postgresql-simple temporary
+       ];
+       description = "Start and stop a temporary postgres";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -236212,8 +242497,8 @@ self: {
        pname = "token-bucket";
        version = "0.1.0.1";
        sha256 = "1l3axqdkrjf28pxhrvdvlpf9wi79czsfvhi33w4v2wbj0g00j9ii";
-       revision = "4";
-       editedCabalFile = "19kxi77aqyra00m02751sdfm6qy6mx4mlh7bhqv4wyaggwga707g";
+       revision = "5";
+       editedCabalFile = "049d9bk5f8qa6d7gjgg4nqd56xz1mrxr1rxcwxsrk4vkqcpmzs6q";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base time ];
        description = "Rate limiter using lazy bucket algorithm";
@@ -236226,9 +242511,14 @@ self: {
      }:
      mkDerivation {
        pname = "token-limiter";
-       version = "0.1.0.0";
-       sha256 = "1ypvc44h68kshy4nsngxhqip6040cabrf6nf6p48ccav3s5497a2";
+       version = "0.2.0.3";
+       sha256 = "0gplyhx8wicha8j56khiw7992bm1qx7hbckicpfrd1qc94h3iyiy";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base clock ghc-prim ];
+       executableHaskellDepends = [
+         async base clock QuickCheck tasty tasty-hunit text
+       ];
        testHaskellDepends = [
          async base clock QuickCheck tasty tasty-hunit text
        ];
@@ -236236,6 +242526,31 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "token-search" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, hashable, hspec
+     , process, streaming-commons, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "token-search";
+       version = "0.1.0.0";
+       sha256 = "1df0yvmwskhw1pr9wxxlhp6p74y1nfxxadaqdjvgfd2sz2kb4v4l";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring conduit hashable process streaming-commons text
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring conduit hashable process streaming-commons
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit hashable hspec process streaming-commons
+         text unordered-containers
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tokenify" = callPackage
     ({ mkDerivation, base, containers, text }:
      mkDerivation {
@@ -236391,8 +242706,8 @@ self: {
        pname = "toml-parser";
        version = "0.1.0.0";
        sha256 = "0p1nl3009qlcqn4jjggbm1v719a6bswklkyjb3plm0cz3bsyr0fs";
-       revision = "1";
-       editedCabalFile = "0w5vpr6gh0671znv3k90gy9fzjvxzn3g7bir2c6z27ks6y39w0qf";
+       revision = "2";
+       editedCabalFile = "02vblwkja1in6fi3zbvxmw6k1c0zny9jljiis0krvn94h2rdflwd";
        libraryHaskellDepends = [ array base text time ];
        libraryToolDepends = [ alex happy ];
        description = "Parser for the TOML configuration language";
@@ -236435,6 +242750,40 @@ self: {
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
+  "tomland_1_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , hashable, hedgehog, hspec-megaparsec, markdown-unlit, megaparsec
+     , mtl, parser-combinators, tasty, tasty-discover, tasty-hedgehog
+     , tasty-hspec, tasty-silver, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "tomland";
+       version = "1.2.1.0";
+       sha256 = "0bzwmk3zw2lzhppgr73b5v3i4qz0hxn1zag665vpakq6knssj7qy";
+       revision = "1";
+       editedCabalFile = "00lb4ivrqrj5yqnfz5ji3vjaa284img9xhkjvrzc291bs83vl4kr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers deepseq hashable megaparsec mtl
+         parser-combinators text time transformers unordered-containers
+       ];
+       executableHaskellDepends = [
+         base containers hashable text time unordered-containers
+       ];
+       executableToolDepends = [ markdown-unlit ];
+       testHaskellDepends = [
+         base bytestring containers directory hashable hedgehog
+         hspec-megaparsec megaparsec tasty tasty-hedgehog tasty-hspec
+         tasty-silver text time unordered-containers
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Bidirectional TOML serialization";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tomlcheck" = callPackage
     ({ mkDerivation, base, htoml-megaparsec, megaparsec
      , optparse-applicative, text
@@ -236492,6 +242841,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tonatona_0_1_1_0" = callPackage
+    ({ mkDerivation, base, doctest, Glob, rio, tonaparser }:
+     mkDerivation {
+       pname = "tonatona";
+       version = "0.1.1.0";
+       sha256 = "17hd93m2i79pb39z00x0sdvhfds3b5fgyhld8pr64rlnr9wm039l";
+       libraryHaskellDepends = [ base rio tonaparser ];
+       testHaskellDepends = [ base doctest Glob rio tonaparser ];
+       description = "meta application framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tonatona-google-server-api" = callPackage
     ({ mkDerivation, base, doctest, Glob, google-server-api
      , monad-logger, persistent, persistent-sqlite, resource-pool
@@ -236604,8 +242966,8 @@ self: {
      }:
      mkDerivation {
        pname = "too-many-cells";
-       version = "0.1.12.4";
-       sha256 = "02qgin4x0vmj56y4yv3zb4fimd6zaqnx344gyj9lrq11fnr202yr";
+       version = "0.2.2.0";
+       sha256 = "02xf5xadicgvhws21901qsn5a5v3hb77wjfy9x0q16zxbif74hvm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -236827,10 +243189,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;
@@ -236934,50 +243296,53 @@ self: {
      }) {};
 
   "toysolver" = callPackage
-    ({ mkDerivation, array, base, bytestring, bytestring-builder, clock
+    ({ mkDerivation, ansi-wl-pprint, array, base, bytestring
+     , bytestring-builder, bytestring-encoding, case-insensitive, clock
      , containers, criterion, data-default, data-default-class
      , data-interval, deepseq, directory, extended-reals, filepath
      , finite-field, ghc-prim, hashable, hashtables, haskeline, heaps
      , intern, lattices, log-domain, loop, megaparsec, mtl, multiset
-     , mwc-random, OptDir, parsec, prettyclass, primes, primitive
-     , process, pseudo-boolean, queue, QuickCheck, scientific
+     , mwc-random, OptDir, optparse-applicative, parsec, pretty, primes
+     , primitive, process, pseudo-boolean, queue, QuickCheck, scientific
      , semigroups, sign, stm, tasty, tasty-hunit, tasty-quickcheck
      , tasty-th, template-haskell, temporary, text, time, transformers
      , transformers-compat, unbounded-delays, unordered-containers
-     , vector, vector-space, xml-conduit
+     , vector, vector-space, xml-conduit, zlib
      }:
      mkDerivation {
        pname = "toysolver";
-       version = "0.5.0";
-       sha256 = "0dr34aknbh8p500zj4lcll5mi1km16jxyvjx1gdrp63csdfi1ich";
+       version = "0.6.0";
+       sha256 = "0hd3rwbv8k62qnw9spwx6gl0j4syivvrigjcdgc53llbqzdjr0v1";
        revision = "1";
-       editedCabalFile = "19qbl75mn7kwyvygwc0ad73vj4vkaj5mnkmwpx9mavwl7px2kzps";
+       editedCabalFile = "0grqs68qr3jpy2hibl5vlnz981hk0hnd5wacglnxxswqikdbpn06";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base bytestring bytestring-builder clock containers
-         data-default-class data-interval deepseq extended-reals filepath
-         finite-field ghc-prim hashable hashtables heaps intern lattices
-         log-domain loop megaparsec mtl multiset mwc-random OptDir
-         prettyclass primes primitive process pseudo-boolean queue
-         scientific semigroups sign stm template-haskell temporary text time
-         transformers transformers-compat unordered-containers vector
-         vector-space xml-conduit
+         array base bytestring bytestring-builder bytestring-encoding
+         case-insensitive clock containers data-default-class data-interval
+         deepseq extended-reals filepath finite-field ghc-prim hashable
+         hashtables heaps intern lattices log-domain loop megaparsec mtl
+         multiset mwc-random OptDir pretty primes primitive process
+         pseudo-boolean queue scientific semigroups sign stm
+         template-haskell temporary text time transformers
+         transformers-compat unordered-containers vector vector-space
+         xml-conduit zlib
        ];
        executableHaskellDepends = [
-         array base bytestring bytestring-builder clock containers
-         data-default data-default-class directory filepath haskeline intern
-         megaparsec mtl mwc-random OptDir parsec process pseudo-boolean
-         scientific temporary text time transformers transformers-compat
+         ansi-wl-pprint array base bytestring bytestring-builder clock
+         containers data-default data-default-class directory filepath
+         haskeline intern megaparsec mtl mwc-random OptDir
+         optparse-applicative parsec process pseudo-boolean scientific
+         temporary text time transformers transformers-compat
          unbounded-delays vector
        ];
        testHaskellDepends = [
          array base bytestring bytestring-builder containers
          data-default-class data-interval deepseq finite-field hashable
-         intern lattices megaparsec mtl mwc-random OptDir parsec prettyclass
-         pseudo-boolean QuickCheck tasty tasty-hunit tasty-quickcheck
-         tasty-th text transformers transformers-compat unordered-containers
-         vector vector-space
+         intern lattices megaparsec mtl mwc-random OptDir parsec pretty
+         pseudo-boolean QuickCheck scientific tasty tasty-hunit
+         tasty-quickcheck tasty-th text transformers transformers-compat
+         unordered-containers vector vector-space
        ];
        benchmarkHaskellDepends = [
          array base criterion data-default-class vector
@@ -237075,19 +243440,19 @@ self: {
      }) {};
 
   "tptp" = callPackage
-    ({ mkDerivation, attoparsec, base, Cabal, directory, doctest, extra
+    ({ mkDerivation, attoparsec, base, Cabal, directory, extra
      , generic-random, prettyprinter, QuickCheck, scientific, text
      }:
      mkDerivation {
        pname = "tptp";
-       version = "0.1.0.3";
-       sha256 = "1h00g4263akyfgirvdw5ylbiskl3hhrx58jar59blj57k0i969wi";
+       version = "0.1.1.0";
+       sha256 = "0cwjl8531zzl9mmgp7hq9jr9i9m32yf2j016v2p6h3r93kysbhrf";
        libraryHaskellDepends = [
          attoparsec base prettyprinter scientific text
        ];
        testHaskellDepends = [
-         attoparsec base Cabal directory doctest extra generic-random
-         prettyprinter QuickCheck scientific text
+         attoparsec base Cabal directory extra generic-random prettyprinter
+         QuickCheck scientific text
        ];
        description = "A parser and a pretty printer for the TPTP language";
        license = stdenv.lib.licenses.gpl3;
@@ -237223,8 +243588,8 @@ self: {
      }:
      mkDerivation {
        pname = "trackit";
-       version = "0.6.2";
-       sha256 = "13xydhv9aaw0yk2wa0r2izwn98b0vgsx4vr2r8zpg0qxlhhriidv";
+       version = "0.6.3";
+       sha256 = "0bjsvz1kc6i2zpzdcjrrncqs3rpl7rfp961njhihymazffhsx3l2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -237242,8 +243607,8 @@ self: {
      }:
      mkDerivation {
        pname = "traction";
-       version = "0.3.0";
-       sha256 = "1y0l02hcbxmc3vidg477z7dlbikalmi448dv8dl5pl7zpflcp7di";
+       version = "0.4.0";
+       sha256 = "1prd4wq5jb4flzdg78861w1x8xwdbgd0b64xbksdprhlvlyrvmxk";
        libraryHaskellDepends = [
          base bytestring containers exceptions mmorph postgresql-simple
          resource-pool syb template-haskell text time transformers
@@ -237947,8 +244312,8 @@ self: {
      }:
      mkDerivation {
        pname = "traverse-with-class";
-       version = "1.0.0.0";
-       sha256 = "1fqz35kaffq79qs7kgdx2bml2a99x6k87hlczsfjcs1bcpqj18k5";
+       version = "1.0.1.0";
+       sha256 = "1yni197sxfpsjvjablhn8mjqpp1mz0v30r73f9ncs3pjcl93g6yn";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Generic applicative traversals";
@@ -238120,16 +244485,16 @@ self: {
 
   "tree-sitter" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, fused-effects, hedgehog, split, template-haskell, text
-     , unordered-containers
+     , filepath, fused-effects, hedgehog, semantic-source, split
+     , template-haskell, text, unordered-containers
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.3.0.0";
-       sha256 = "1ai587a8m67j0rjg1gbhxnv1kl4awpcr7jvh4qnlvx91g7s1gq2g";
+       version = "0.7.2.0";
+       sha256 = "1gq30qjywg6cgbzgxxfngkn5c4kbddnij7wdvz8x7k1yb13ra0hd";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
-         split template-haskell text unordered-containers
+         semantic-source split template-haskell text unordered-containers
        ];
        testHaskellDepends = [ base hedgehog ];
        description = "Unstable bindings for the tree-sitter parsing library";
@@ -238139,27 +244504,35 @@ self: {
      }) {};
 
   "tree-sitter-go" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.2.0.0";
-       sha256 = "1yrhn025rdllfcmlcaiz6idxhxqh02qjpw71dm3zynmnmgmpqcc0";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0i469134jc1i665nr5j3z3al8lgsv74mm5x7rk4gm159kpfm1z1r";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 Go";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-haskell" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-haskell";
-       version = "0.2.0.0";
-       sha256 = "0cds6xmps88vx3x7ifkpjbbbgvnbc22hxam6qdwy2m1njbff3wad";
-       revision = "1";
-       editedCabalFile = "07kgsp70bwggcnxh9229dvbfysc9s4ykzir4973pn02qs5l7kb6y";
+       version = "0.2.0.1";
+       sha256 = "0c02sv4hzlyfdpk7s8ykgm9cr6xwmjw8npy356v2vgbr0l238bgw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
@@ -238171,26 +244544,37 @@ 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.2.0.0";
-       sha256 = "1gayg7ln4iy56a4pl3dqrl2iq689b1a8z2n59dnrhmzhq87lzx7y";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.6.0.0";
+       sha256 = "1jz740pj2ihmkf06ixii93msfn40lh5mky3qc5bvwk5xqf4ai716";
+       enableSeparateDataOutput = true;
+       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, tree-sitter }:
+    ({ mkDerivation, base, template-haskell, text, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.2.0.0";
-       sha256 = "0x30pwmganjabzkgqgrkk249r8v4frag9ww64j4sfq6r2vbfc7l3";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.5.0.0";
+       sha256 = "1mq1v81d00l80pg6mji9w1g464hxvgv28djnxany5vy2g38ns7q9";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base template-haskell text tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for JSON";
        license = stdenv.lib.licenses.bsd3;
@@ -238202,8 +244586,10 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-php";
-       version = "0.2.0.0";
-       sha256 = "0wdyppjp879wb3m73kczsa78c0lyqvpnkvsh13bh22vw66jypj6x";
+       version = "0.2.0.1";
+       sha256 = "0dxszds10fr3zp1vjcj18b44mv6hmbzskmai14x03zgimxgwwaqm";
+       revision = "1";
+       editedCabalFile = "0k5qq7m0m3imgyhwyakrfjzxf5pjw6p7p3iwm01bj96ya8iy71ia";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for PHP";
@@ -238214,72 +244600,108 @@ self: {
 
   "tree-sitter-python" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, 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.4.0.0";
-       sha256 = "02i12ys845j4n0j7a1qpdlbx9ia51m7ab9lhk7d4028ysx82crn9";
+       version = "0.8.0.0";
+       sha256 = "08a698qqjck0nml11nrgyzvgrjbkanyvfv0x0bqng0w3mjk62yf0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base directory filepath template-haskell tree-sitter
+         aeson base directory filepath semantic-source template-haskell
+         tree-sitter
+       ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
        ];
-       testHaskellDepends = [ base bytestring hedgehog tree-sitter ];
        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 }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.2.0.0";
-       sha256 = "0n2ls3mkinqv0h2h05pmi8scmgr70bpg3pdg9wnid1gdpcwn07qx";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "1y26956bryax1n17yf49hqczcig1qd5fk5j39arj93464x142ba9";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 Ruby";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-tsx" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.2.1.0";
-       sha256 = "1lj2mmgqkswn8n5p4j4zdd0fw3syvg8v4d0ahnipvv1b05g1y1f4";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0q5v1fm9ia83074gkamz06hlcmdkd4vabjfrjqcra7mrvrj1pqa2";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 TSX";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-typescript" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.2.1.0";
-       sha256 = "1dgb5b1yhpwrr8qd18l4jlxx3g5c34zaxffh934pssyldckfbid6";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0sbvsfipwf2j809kkjcgbqq4k44h69x9dl07dvngjyfimkccv758";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 TypeScript";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-traversals" = callPackage
     ({ mkDerivation, base, containers, doctest, mtl }:
      mkDerivation {
        pname = "tree-traversals";
-       version = "0.1.0.0";
-       sha256 = "0wdy1p94096qdc00w8pmbz6qcawc0ivlhy0sg0b3jir0s2ksdccb";
+       version = "0.1.1.0";
+       sha256 = "0wsa4qxlxk6308smv957by8fmnsnsxnxxga8c66bvnhlr95rg9rk";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest mtl ];
        description = "Functions and newtype wrappers for traversing Trees";
@@ -238464,6 +244886,8 @@ self: {
        pname = "trie-simple";
        version = "0.4.1.1";
        sha256 = "0h3wfq4fjakkwvrv35l25709xv528h1c08cr754gvk4l8vqnk6k7";
+       revision = "1";
+       editedCabalFile = "09kzna10hdf2qjialdg6rql0w55si9db7sjd89l661sgidlbq7y0";
        libraryHaskellDepends = [ base containers deepseq mtl ];
        testHaskellDepends = [ base containers hspec QuickCheck vector ];
        benchmarkHaskellDepends = [
@@ -238796,10 +245220,8 @@ self: {
     ({ mkDerivation, array, base, containers, random, stm }:
      mkDerivation {
        pname = "tskiplist";
-       version = "1.0.0";
-       sha256 = "0bayh8fl3wb98mifdiss8crb17jfqxxj0f1va5c2h4l7qwizh85a";
-       revision = "1";
-       editedCabalFile = "162s24i0n1pcgp8m4lqhs9vm3m78by88axdvn358zxjpfrpln817";
+       version = "1.0.1";
+       sha256 = "0fn02g963id0yzsd16lhriy78mwndl8jl7ry5q0v6a4d5xg2hjzp";
        libraryHaskellDepends = [ array base containers random stm ];
        description = "A Skip List Implementation in Software Transactional Memory (STM)";
        license = "LGPL";
@@ -239016,6 +245438,22 @@ self: {
        broken = true;
      }) {};
 
+  "ttc" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "0.2.0.0";
+       sha256 = "1vl3fp0d9v674gg6zbmafvrb97zqxcjlpp5j77msjn1kl7ki6xs7";
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit template-haskell text
+       ];
+       description = "Textual Type Classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ttl-hashtables" = callPackage
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
@@ -239036,14 +245474,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ttl-hashtables_1_4_0_0" = callPackage
+  "ttl-hashtables_1_4_1_0" = callPackage
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
      }:
      mkDerivation {
        pname = "ttl-hashtables";
-       version = "1.4.0.0";
-       sha256 = "0s8ia8sd3j5k05gv57agbxar6bnpigwcy53ypz3j3pml90sdm820";
+       version = "1.4.1.0";
+       sha256 = "1y3wzb5fhdmyszr5902r01c6481nsaiw0y4imzppyqcap7ppl3fj";
        libraryHaskellDepends = [
          base clock containers data-default failable hashable hashtables mtl
          transformers
@@ -239460,31 +245898,6 @@ self: {
 
   "turtle" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
-     , containers, criterion, directory, doctest, exceptions, foldl
-     , hostname, managed, optional-args, optparse-applicative, process
-     , semigroups, stm, system-fileio, system-filepath, temporary, text
-     , time, transformers, unix, unix-compat
-     }:
-     mkDerivation {
-       pname = "turtle";
-       version = "1.5.14";
-       sha256 = "10sxbmis82z5r2ksfkik5kryz5i0xwihz9drc1dzz4fb76kkb67z";
-       revision = "3";
-       editedCabalFile = "0rmmfqsphhv7h72a8lbdbpqi3rc4k6k83x8p9mamh57108qrs3xy";
-       libraryHaskellDepends = [
-         ansi-wl-pprint async base bytestring clock containers directory
-         exceptions foldl hostname managed optional-args
-         optparse-applicative process semigroups stm system-fileio
-         system-filepath temporary text time transformers unix unix-compat
-       ];
-       testHaskellDepends = [ base doctest system-filepath temporary ];
-       benchmarkHaskellDepends = [ base criterion text ];
-       description = "Shell programming, Haskell-style";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "turtle_1_5_15" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
      , containers, criterion, directory, doctest, exceptions, fail
      , foldl, hostname, managed, optional-args, optparse-applicative
      , process, semigroups, stm, streaming-commons, system-fileio
@@ -239495,6 +245908,8 @@ self: {
        pname = "turtle";
        version = "1.5.15";
        sha256 = "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f";
+       revision = "1";
+       editedCabalFile = "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -239508,7 +245923,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Shell programming, Haskell-style";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "turtle-options" = callPackage
@@ -239940,6 +246354,29 @@ self: {
        broken = true;
      }) {};
 
+  "twirp" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-media, http-types
+     , proto-lens, proto-lens-jsonpb, proto-lens-runtime, servant, text
+     , wai
+     }:
+     mkDerivation {
+       pname = "twirp";
+       version = "0.2.0.0";
+       sha256 = "00dc6bil998fdvb5p0r2782cy3nknw6s8k5a0cv4yqmha4iyn32m";
+       libraryHaskellDepends = [
+         aeson base bytestring http-media http-types proto-lens
+         proto-lens-jsonpb proto-lens-runtime servant text wai
+       ];
+       testHaskellDepends = [
+         aeson base bytestring http-media http-types proto-lens
+         proto-lens-jsonpb proto-lens-runtime servant text wai
+       ];
+       description = "Haskell twirp foundations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "twisty" = callPackage
     ({ mkDerivation, array, base, containers, data-memocombinators
      , MonadRandom, parallel
@@ -240006,8 +246443,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-conduit";
-       version = "0.3.0";
-       sha256 = "1p3cas4yy8k0knf5mljmjjzzknwhcaw1x08z7q4jlc9y06323by1";
+       version = "0.4.0";
+       sha256 = "1i1ppwha497vhbj0z9gdspg9anqsikrix3j9vzpz0pcn9ij5rwrg";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec authenticate-oauth base bytestring conduit
@@ -240074,22 +246511,21 @@ self: {
      }) {};
 
   "twitter-types" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, derive
-     , directory, filepath, HUnit, QuickCheck, template-haskell
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, time, unordered-containers
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, directory
+     , filepath, generic-random, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th, text, time, unordered-containers
      }:
      mkDerivation {
        pname = "twitter-types";
-       version = "0.8.0";
-       sha256 = "1ijvmra797hnhhi5ag7yfqrzyyjkqk9if565054c8743jlhd3xzk";
+       version = "0.10.0";
+       sha256 = "0a2wgidg5dk3cxszb0q07cg0sywqgyxl5scswlr91yjvmjmlnkby";
        libraryHaskellDepends = [
          aeson base text time unordered-containers
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring derive directory filepath HUnit
-         QuickCheck template-haskell test-framework test-framework-hunit
-         test-framework-quickcheck2 text time unordered-containers
+         aeson attoparsec base bytestring directory filepath generic-random
+         tasty tasty-hunit tasty-quickcheck tasty-th text time
+         unordered-containers
        ];
        description = "Twitter JSON parser and types";
        license = stdenv.lib.licenses.bsd3;
@@ -240103,8 +246539,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types-lens";
-       version = "0.8.1";
-       sha256 = "0yxhvl54zd33wg0lhk6278jcgi521k8j94i293h61i9jg8ywkaiq";
+       version = "0.10.0";
+       sha256 = "1x9w68mr6r6354in9l4vmawk5symvfh2qlhjn2gd30m8b1mzbrjg";
        libraryHaskellDepends = [
          base lens template-haskell text time twitter-types
        ];
@@ -240429,8 +246865,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "type-errors-pretty";
-       version = "0.0.0.0";
-       sha256 = "0yj8c91maanihyl9506ihpxv3zyfvprr359dvd2b9ym3py50kncs";
+       version = "0.0.1.0";
+       sha256 = "1xp72vsmqamgg9k8w7pimy6q3dn73ammg7zda98a0hb4q9pdcrml";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Combinators for writing pretty type errors easily";
@@ -240983,6 +247419,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "typed-digits" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hspec, hspec-discover, nats
+     , QuickCheck, singletons
+     }:
+     mkDerivation {
+       pname = "typed-digits";
+       version = "0.1.0.0";
+       sha256 = "1x2kyvz0bdcy9iqh0222386r4kbj2in7dpll9jn461v4v0s9bgvc";
+       libraryHaskellDepends = [ base nats singletons ];
+       testHaskellDepends = [
+         base doctest Glob hspec hspec-discover QuickCheck
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Digits, indexed by their base at the type level";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "typed-duration" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control
      , transformers-base
@@ -241318,8 +247771,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.7.5.1";
-       sha256 = "0n2cnd15gwixk17jqcz4hxishikscwbcn2gnrkcz3a295ng68ins";
+       version = "0.7.6.2";
+       sha256 = "0nhb8v17ycjjldcvhyjc1qk7r4hqhqdw6gw9fp0mbvn5cbpi0xrm";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -241440,8 +247893,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
@@ -241641,6 +248094,24 @@ self: {
        license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
+  "ucd" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, gauge
+     , regex-applicative, util
+     }:
+     mkDerivation {
+       pname = "ucd";
+       version = "0.0.1.3";
+       sha256 = "1za494jgm3zml4ik203863kwni6pz5dsw6ssn06bjbyk7l7pbg33";
+       setupHaskellDepends = [
+         base Cabal containers directory regex-applicative util
+       ];
+       libraryHaskellDepends = [ base util ];
+       testHaskellDepends = [ base util ];
+       benchmarkHaskellDepends = [ base gauge util ];
+       description = "Unicode Character Database — Predicates on characters specified by Unicode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "uconv" = callPackage
     ({ mkDerivation, base, icu }:
      mkDerivation {
@@ -241942,10 +248413,8 @@ self: {
      }:
      mkDerivation {
        pname = "unagi-chan";
-       version = "0.4.1.2";
-       sha256 = "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn";
-       revision = "1";
-       editedCabalFile = "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6";
+       version = "0.4.1.3";
+       sha256 = "15fnk9x4fd2ryp31fjfrwm8k61m3a0qyb95m4065zc0yi0jyacp2";
        libraryHaskellDepends = [ atomic-primops base ghc-prim primitive ];
        testHaskellDepends = [
          atomic-primops base containers ghc-prim primitive
@@ -241959,8 +248428,8 @@ self: {
     ({ mkDerivation, base, io-streams, unagi-chan }:
      mkDerivation {
        pname = "unagi-streams";
-       version = "0.2.4";
-       sha256 = "126d900vyp0ybg9v80xhj3fv0c8jl9rbqjzq4yy6dazsw270q3lk";
+       version = "0.2.6";
+       sha256 = "1mw5h7dizrh4bg1avah201chfl96lapaj3141czfs9w8hyq4lp9h";
        libraryHaskellDepends = [ base io-streams unagi-chan ];
        description = "Unagi Chan IO-Streams";
        license = stdenv.lib.licenses.bsd3;
@@ -242016,6 +248485,8 @@ self: {
        doHaddock = false;
        description = "Opinionated Haskell Interoperability";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "unbound" = callPackage
@@ -242138,6 +248609,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unboxed-references" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "unboxed-references";
+       version = "0.1.0";
+       sha256 = "0qdaf0xxc3a44a7mrfiyz9df8hnaj7bsdvdglsqz8f5andfy4ix9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base vector ];
+       executableHaskellDepends = [ base vector ];
+       description = "A library for reference cells backed by unboxed-vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unboxing-vector" = callPackage
     ({ mkDerivation, base, deepseq, HUnit, mono-traversable, primitive
      , should-not-typecheck, vector
@@ -242222,12 +248707,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;
@@ -242237,8 +248726,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";
@@ -242495,6 +248984,20 @@ self: {
        broken = true;
      }) {};
 
+  "unicode-show_0_1_0_4" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "unicode-show";
+       version = "0.1.0.4";
+       sha256 = "158vnv6d7s1ahm3fr5s8ns585bcds8pf19rsglsyfk33qps3il9i";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "print and show in unicode";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "unicode-symbols" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -242728,6 +249231,22 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "uniq-deep_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, unordered-containers }:
+     mkDerivation {
+       pname = "uniq-deep";
+       version = "1.2.0";
+       sha256 = "1r0gq0mlnl9wdn3v0pdq3vnwn6r4pzc6j7ssha93lms9380kl4nx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring unordered-containers
+       ];
+       description = "uniq-deep";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unique" = callPackage
     ({ mkDerivation, base, ghc-prim, hashable }:
      mkDerivation {
@@ -242838,8 +249357,8 @@ self: {
      }:
      mkDerivation {
        pname = "units";
-       version = "2.4.1.1";
-       sha256 = "0359h9pjjsw3ivl40kv51rd0pp0j1phyqqjfiv2bxa37mm3fxmr2";
+       version = "2.4.1.2";
+       sha256 = "0ipjkwcawchgfbldm56y6xb31qs6ifj7lvw4xabl2jjb6j5f0sr6";
        libraryHaskellDepends = [
          base containers deepseq lens linear mtl multimap singletons syb
          template-haskell th-desugar units-parser vector-space
@@ -243207,11 +249726,9 @@ self: {
        ];
        description = "Custom prelude used in Serokell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
-  "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
@@ -243219,8 +249736,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
@@ -243236,7 +249753,6 @@ self: {
        description = "Custom prelude used in Serokell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "unix_2_7_2_2" = callPackage
@@ -243686,12 +250202,14 @@ self: {
      }) {};
 
   "unpacked-maybe-numeric" = callPackage
-    ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes }:
+    ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes
+     , wide-word
+     }:
      mkDerivation {
        pname = "unpacked-maybe-numeric";
-       version = "0.1.0.0";
-       sha256 = "19jz91jkbvnldy56kv9wb1nmbwvlxjh7nqlxc99nq6yi4whsh8gj";
-       libraryHaskellDepends = [ base primitive ];
+       version = "0.1.1.0";
+       sha256 = "1bhipjz20zajbkg6zjgw99w1bzdn6w6ixl34m6wnhvz8bms27lm1";
+       libraryHaskellDepends = [ base primitive wide-word ];
        testHaskellDepends = [ base QuickCheck quickcheck-classes ];
        description = "maybes of numeric values with fewer indirections";
        license = stdenv.lib.licenses.bsd3;
@@ -243699,6 +250217,17 @@ self: {
        broken = true;
      }) {};
 
+  "unpacked-maybe-text" = callPackage
+    ({ mkDerivation, base, bytestring, text-short }:
+     mkDerivation {
+       pname = "unpacked-maybe-text";
+       version = "0.1.0.0";
+       sha256 = "10mc9kjjqf82ddi586g5r6h065znhj9s0ih9w800yw4xl65ygayv";
+       libraryHaskellDepends = [ base bytestring text-short ];
+       description = "optional text that unpacks well";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unpacked-these" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck
      , quickcheck-classes, these, unpacked-maybe
@@ -243880,8 +250409,8 @@ self: {
      }:
      mkDerivation {
        pname = "unused";
-       version = "0.9.0.0";
-       sha256 = "1qxz70a9gry1d4a2bgixssq29hkdvck3s0yccbjgksiy98rk463y";
+       version = "0.10.0.0";
+       sha256 = "1dsiwpczgq6bg08h4zy9m1jgr6v5haj2jxkr680s5arcxn6l8c34";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -244139,23 +250668,22 @@ self: {
   "uri-bytestring" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat, blaze-builder
      , bytestring, containers, criterion, deepseq, deepseq-generics
-     , generics-sop, HUnit, network-uri, QuickCheck
-     , quickcheck-instances, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, th-lift-instances
+     , hedgehog, HUnit, network-uri, safe, semigroups, tasty
+     , tasty-hedgehog, tasty-hunit, template-haskell, th-lift-instances
      , transformers
      }:
      mkDerivation {
        pname = "uri-bytestring";
-       version = "0.3.2.1";
-       sha256 = "1z61l4l8sg8vyrf7cri0awj5pnpzly8gp7dw9j26v9pcs6z1dgb4";
+       version = "0.3.2.2";
+       sha256 = "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67";
        libraryHaskellDepends = [
          attoparsec base blaze-builder bytestring containers
          template-haskell th-lift-instances
        ];
        testHaskellDepends = [
          attoparsec base base-compat blaze-builder bytestring containers
-         generics-sop HUnit QuickCheck quickcheck-instances semigroups tasty
-         tasty-hunit tasty-quickcheck transformers
+         hedgehog HUnit safe semigroups tasty tasty-hedgehog tasty-hunit
+         transformers
        ];
        benchmarkHaskellDepends = [
          base blaze-builder bytestring criterion deepseq deepseq-generics
@@ -244628,15 +251156,13 @@ 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
        ];
        description = "The UserId type and useful instances for web development";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "users" = callPackage
@@ -244746,6 +251272,19 @@ self: {
        broken = true;
      }) {};
 
+  "utf" = callPackage
+    ({ mkDerivation, base, gauge, util }:
+     mkDerivation {
+       pname = "utf";
+       version = "0.0.0.0";
+       sha256 = "0j441d8k4299798d4w78vbxvs3qh9w124zwl0f91rmydw9q4hg37";
+       libraryHaskellDepends = [ base util ];
+       testHaskellDepends = [ base ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "UTF-8";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "utf8-env" = callPackage
     ({ mkDerivation, base, mtl, utf8-string }:
      mkDerivation {
@@ -244817,16 +251356,28 @@ self: {
      }) {};
 
   "util" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "util";
-       version = "0.1.13.0";
-       sha256 = "15b5m2v1v4ab65cfd6ppwinq2pnv5212g1qwnyw6rwyiaac8k3gd";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.15.0";
+       sha256 = "0ybjl0mibvdmqppknypljaajsjx7ls4js6yqh0viinrwq8ayf0wj";
+       libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "util_0_1_17_0" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "util";
+       version = "0.1.17.0";
+       sha256 = "1wyjxrnzianif6msk7qvib92lksy66hx4rkdb7sda0a4h704960c";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "util-exception" = callPackage
     ({ mkDerivation, base, basic, control, lifted-base-tf, util }:
      mkDerivation {
@@ -245185,8 +251736,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.3";
-       sha256 = "0bfjyc6dg0k7vrd0i1w7ijdld3ns46jdy3dhybh9r2k08kr7fkgy";
+       version = "1.4.4";
+       sha256 = "1qmlnzqdm9wrczlknw53y91yvdzfjbxs10szxvg9xaa4bj7gs5rw";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -245451,8 +252002,8 @@ self: {
      }:
      mkDerivation {
        pname = "vado";
-       version = "0.0.11";
-       sha256 = "1cx8qdzfg2wn6q6q3vhkh6lmwqfkyf8ypvbbv6kyjai1smb1qfac";
+       version = "0.0.12";
+       sha256 = "0qirhdzbcx5mqlbgh24ckcmivi38hqr53im9g6cydzslnk7ys41w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -245617,12 +252168,24 @@ self: {
        broken = true;
      }) {};
 
+  "validators" = callPackage
+    ({ mkDerivation, base, containers, doctest, Glob, hspec, text }:
+     mkDerivation {
+       pname = "validators";
+       version = "0.0.1";
+       sha256 = "0c5w5ri0q82bcqr7j9lnirv48ss6yjq8g1bmrsv66713i3frs9pi";
+       libraryHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base containers doctest Glob hspec text ];
+       description = "Composable validations for your Haskell data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "validity" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "validity";
-       version = "0.9.0.1";
-       sha256 = "112wchq5l39fi9bkfkljic7bh1rd5gvz4lwjjw9pajg0zj51pyib";
+       version = "0.9.0.2";
+       sha256 = "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Validity typeclass";
@@ -245667,6 +252230,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-containers_0_5_0_0" = callPackage
+    ({ mkDerivation, base, containers, validity }:
+     mkDerivation {
+       pname = "validity-containers";
+       version = "0.5.0.0";
+       sha256 = "0b1kwzgynq00mx563w9yfm6jmy268m5ylsdsibn3ymxf3h19px91";
+       libraryHaskellDepends = [ base containers validity ];
+       description = "Validity instances for containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-path" = callPackage
     ({ mkDerivation, base, filepath, genvalidity-hspec, hspec, path
      , validity
@@ -245683,6 +252258,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-path_0_4_0_0" = callPackage
+    ({ mkDerivation, base, filepath, genvalidity-hspec, hspec, path
+     , validity
+     }:
+     mkDerivation {
+       pname = "validity-path";
+       version = "0.4.0.0";
+       sha256 = "1clma6ll0n5biaci0bsi0zzf8xr2xnc1ff5vmbxyr98pz1wy6yn4";
+       libraryHaskellDepends = [ base filepath path validity ];
+       testHaskellDepends = [
+         base filepath genvalidity-hspec hspec path validity
+       ];
+       description = "Validity instances for Path";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-primitive" = callPackage
     ({ mkDerivation, base, primitive, validity }:
      mkDerivation {
@@ -245913,8 +252505,8 @@ self: {
      }:
      mkDerivation {
        pname = "varying";
-       version = "0.8.0.0";
-       sha256 = "1m71aqa34p1f95mn0mlcm4wq12x5axwhrqnyg4wbxhaz2cmxj4yh";
+       version = "0.8.1.0";
+       sha256 = "0gprc1awvyb2085sxm5wg3igq99riaga2hwx0ycwndms31nwqx3n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base contravariant transformers ];
@@ -246210,6 +252802,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vec_0_3" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
+     , distributive, fin, hashable, inspection-testing, QuickCheck
+     , semigroupoids, tagged, transformers, vector
+     }:
+     mkDerivation {
+       pname = "vec";
+       version = "0.3";
+       sha256 = "0r2jk3jqwn0r4wnpgc8k8i664g3rrs6dkyfsysysn4w10j22j5sr";
+       libraryHaskellDepends = [
+         adjunctions base deepseq distributive fin hashable QuickCheck
+         semigroupoids transformers
+       ];
+       testHaskellDepends = [
+         base base-compat fin inspection-testing tagged
+       ];
+       benchmarkHaskellDepends = [ base criterion fin vector ];
+       description = "Vec: length-indexed (sized) list";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vec-lens" = callPackage
+    ({ mkDerivation, base, fin, lens, vec }:
+     mkDerivation {
+       pname = "vec-lens";
+       version = "0.3";
+       sha256 = "0i08p7rfmivf03mir7hcbkr7rarji95icsyvi6diclav1jd6fa7q";
+       libraryHaskellDepends = [ base fin lens vec ];
+       description = "Vec: length-indexed (sized) list: lens support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vec-optics" = callPackage
+    ({ mkDerivation, base, fin, optics-core, vec }:
+     mkDerivation {
+       pname = "vec-optics";
+       version = "0.3";
+       sha256 = "13g0j9hn27jfjlrm7c6bdsb2lhwrg016cal7hdic8azdxgdp8n0a";
+       libraryHaskellDepends = [ base fin optics-core vec ];
+       description = "Vec: length-indexed (sized) list: optics support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vect" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -246301,10 +252937,8 @@ self: {
      }:
      mkDerivation {
        pname = "vector-algorithms";
-       version = "0.8.0.1";
-       sha256 = "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m";
-       revision = "2";
-       editedCabalFile = "0ms473xd1d81dbg47kjr9gxqs11ipg2j1kk99q37rhvrbr5xv5l4";
+       version = "0.8.0.3";
+       sha256 = "11vks2h9f5gk0irsx5j9xwlicbzkv3k80sx76j5k3zb38q0izi0s";
        libraryHaskellDepends = [ base bytestring primitive vector ];
        testHaskellDepends = [
          base bytestring containers QuickCheck vector
@@ -246362,8 +252996,8 @@ self: {
      }:
      mkDerivation {
        pname = "vector-builder";
-       version = "0.3.7.2";
-       sha256 = "04dri31fqcwlhprvw9vl6qsgj8f7q4ms0rc2bfqcaqj1a2kr3cdf";
+       version = "0.3.8";
+       sha256 = "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3";
        libraryHaskellDepends = [ base base-prelude semigroups vector ];
        testHaskellDepends = [
          attoparsec QuickCheck quickcheck-instances rerebase tasty
@@ -246593,6 +253227,18 @@ self: {
        broken = true;
      }) {};
 
+  "vector-rotcev" = callPackage
+    ({ mkDerivation, base, tasty, tasty-quickcheck, vector }:
+     mkDerivation {
+       pname = "vector-rotcev";
+       version = "0.1.0.0";
+       sha256 = "1sl5jwmpmzzvknalgqrbpy3yhqclgqxf75wnpb24rn416kdscy6j";
+       libraryHaskellDepends = [ base vector ];
+       testHaskellDepends = [ base tasty tasty-quickcheck vector ];
+       description = "Vectors with O(1) reverse";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vector-shuffling" = callPackage
     ({ mkDerivation, base, random, vector }:
      mkDerivation {
@@ -246755,10 +253401,8 @@ self: {
     ({ mkDerivation, base, data-default, template-haskell, vector }:
      mkDerivation {
        pname = "vector-th-unbox";
-       version = "0.2.1.6";
-       sha256 = "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy";
-       revision = "1";
-       editedCabalFile = "1bpxdliw7jmks1rkmb8hbr7hng3niz1pfc6n3s8ndj1acrksmfmv";
+       version = "0.2.1.7";
+       sha256 = "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi";
        libraryHaskellDepends = [ base template-haskell vector ];
        testHaskellDepends = [ base data-default vector ];
        description = "Deriver for Data.Vector.Unboxed using Template Haskell";
@@ -246817,6 +253461,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "venzone" = callPackage
+    ({ mkDerivation, ansi-terminal-game, base, containers, directory
+     , file-embed, filepath, fsnotify, hspec, line-drawing, megaparsec
+     , microlens, microlens-platform, mtl, QuickCheck, utf8-light
+     }:
+     mkDerivation {
+       pname = "venzone";
+       version = "1.0.0.5";
+       sha256 = "1f8v5xhw6ak6qckrb96rjfpn7h8lm3cq7p0w0k54mrg5ixm4paba";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         fsnotify line-drawing megaparsec microlens microlens-platform mtl
+         utf8-light
+       ];
+       testHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         hspec line-drawing megaparsec microlens microlens-platform mtl
+         QuickCheck utf8-light
+       ];
+       description = "ASCII platform-adventure game";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -246941,6 +253613,43 @@ self: {
        broken = true;
      }) {};
 
+  "verismith" = callPackage
+    ({ mkDerivation, alex, array, base, binary, blaze-html, bytestring
+     , Cabal, cabal-doctest, criterion, cryptonite, deepseq, DRBG
+     , exceptions, fgl, fgl-visualize, filepath, gitrev, hedgehog, lens
+     , lifted-base, memory, monad-control, mtl, optparse-applicative
+     , parsec, prettyprinter, random, recursion-schemes, shakespeare
+     , shelly, statistics, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, time, tomland, transformers
+     , transformers-base, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "verismith";
+       version = "0.6.0.2";
+       sha256 = "1rjcsdizzhc1lr2mfh0r6dhhabnbz1gjva7xkr3z3mqzsqp9jm5f";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         array base binary blaze-html bytestring cryptonite deepseq DRBG
+         exceptions fgl fgl-visualize filepath gitrev hedgehog lens
+         lifted-base memory monad-control mtl optparse-applicative parsec
+         prettyprinter random recursion-schemes shakespeare shelly
+         statistics template-haskell text time tomland transformers
+         transformers-base unordered-containers vector
+       ];
+       libraryToolDepends = [ alex ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base fgl hedgehog lens parsec shakespeare tasty tasty-hedgehog
+         tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ base criterion lens ];
+       description = "Random verilog generation and simulator testing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "versioning" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, semigroupoids }:
      mkDerivation {
@@ -247017,6 +253726,18 @@ self: {
        broken = true;
      }) {};
 
+  "vformat" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "vformat";
+       version = "0.9.1.0";
+       sha256 = "1bq7m1yjqkgqk1bxh28n67n04yfxvp2466xmrb83a93w22h98k7l";
+       libraryHaskellDepends = [ base containers time ];
+       testHaskellDepends = [ base containers hspec QuickCheck time ];
+       description = "A Python str.format() like formatter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vfr-waypoints" = callPackage
     ({ mkDerivation, base, containers, dimensional, fuzzy
      , geodetic-types, lens, monoid-subclasses, optparse-applicative
@@ -247134,8 +253855,8 @@ self: {
      }:
      mkDerivation {
        pname = "viewprof";
-       version = "0.0.0.30";
-       sha256 = "0l3hf7dj9y4zr6qzih3xl3yz56pjd4gy9jfk9aqypv2rcvwh1w17";
+       version = "0.0.0.32";
+       sha256 = "0kij1cscfjg6bvh0gm6avsrd2n225dwg2pn8wk3xydvxq1wpcg2b";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -247146,25 +253867,6 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "viewprof_0_0_0_31" = callPackage
-    ({ mkDerivation, base, brick, containers, directory, ghc-prof, lens
-     , scientific, text, vector, vector-algorithms, vty
-     }:
-     mkDerivation {
-       pname = "viewprof";
-       version = "0.0.0.31";
-       sha256 = "0qw2r89ghyxcyzl360i3h0iwfgp1cmsb5pn0kw9nprqpa2flwfdj";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base brick containers directory ghc-prof lens scientific text
-         vector vector-algorithms vty
-       ];
-       description = "Text-based interactive GHC .prof viewer";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "views" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -247231,6 +253933,8 @@ self: {
        pname = "vimeta";
        version = "0.2.5.1";
        sha256 = "1v46b0215mcyhxma3ascg3paz683j8xqsf4czs8syx4amyls36qg";
+       revision = "1";
+       editedCabalFile = "1na8qghd918ck1pg058anbh9iy3w4x7hf72ygfwfy23hw00wn5j4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247307,6 +254011,32 @@ self: {
        pname = "vinyl";
        version = "0.11.0";
        sha256 = "0sqa4x8cwg6hdx3lrnq9pbggsh5vv6rhng2az4grl60c4kw6zr08";
+       revision = "1";
+       editedCabalFile = "05i1sjkgn9vf488sa063fnp0p56ic39a5vyni9b2llm4vbpl4kwz";
+       libraryHaskellDepends = [ array base ghc-prim ];
+       testHaskellDepends = [
+         aeson base doctest hspec lens lens-aeson microlens mtl
+         should-not-typecheck singletons text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base criterion linear microlens mwc-random primitive tagged vector
+       ];
+       description = "Extensible Records";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "vinyl_0_12_0" = callPackage
+    ({ mkDerivation, aeson, array, base, criterion, doctest, ghc-prim
+     , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
+     , primitive, should-not-typecheck, singletons, tagged, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "vinyl";
+       version = "0.12.0";
+       sha256 = "04lzhlmm57yp1x0z4g0dl1q96wqsygsldxdksam0gisdidk133vi";
        libraryHaskellDepends = [ array base ghc-prim ];
        testHaskellDepends = [
          aeson base doctest hspec lens lens-aeson microlens mtl
@@ -247900,6 +254630,41 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vty_5_26" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
+     , deepseq, directory, filepath, hashable, HUnit, microlens
+     , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
+     , quickcheck-assertions, random, smallcheck, stm, string-qq
+     , terminfo, test-framework, test-framework-hunit
+     , test-framework-smallcheck, text, transformers, unix, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "vty";
+       version = "5.26";
+       sha256 = "03iznvkdm11blzx09il96262qpgc4mmi3qzarhl8grrijkgzxj4x";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-builder bytestring containers deepseq directory filepath
+         hashable microlens microlens-mtl microlens-th mtl parallel parsec
+         stm terminfo text transformers unix utf8-string vector
+       ];
+       executableHaskellDepends = [
+         base containers microlens microlens-mtl mtl
+       ];
+       testHaskellDepends = [
+         base blaze-builder bytestring Cabal containers deepseq HUnit
+         microlens microlens-mtl mtl QuickCheck quickcheck-assertions random
+         smallcheck stm string-qq terminfo test-framework
+         test-framework-hunit test-framework-smallcheck text unix
+         utf8-string vector
+       ];
+       description = "A simple terminal UI library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vty-examples" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal, containers
      , data-default, deepseq, lens, mtl, parallel, parsec, QuickCheck
@@ -248373,6 +255138,8 @@ self: {
        pname = "wai-extra";
        version = "3.0.28";
        sha256 = "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7";
+       revision = "1";
+       editedCabalFile = "0kb3fpiyq6kp7vm16cf8j4225q74ssfq9ilfdms7prn1c6brb19g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -248688,6 +255455,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-logger_2_3_6" = callPackage
+    ({ mkDerivation, base, byteorder, bytestring, Cabal, cabal-doctest
+     , doctest, fast-logger, http-types, network, wai
+     }:
+     mkDerivation {
+       pname = "wai-logger";
+       version = "2.3.6";
+       sha256 = "0hbm7if28p6qa36cgpyq6i569275si53z9gsl2g1z8x09z3xiyz2";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base byteorder bytestring fast-logger http-types network wai
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "A logging system for WAI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-logger-buffered" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default
      , http-types, time, wai, warp
@@ -248792,6 +255577,40 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-middleware-auth_0_2_1_0" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary
+     , blaze-builder, blaze-html, bytestring, case-insensitive, cereal
+     , clientsession, cookie, exceptions, hedgehog, hoauth2, http-client
+     , http-client-tls, http-conduit, http-reverse-proxy, http-types
+     , optparse-simple, regex-posix, safe-exceptions, shakespeare, text
+     , time, unix-compat, unordered-containers, uri-bytestring, vault
+     , wai, wai-app-static, wai-extra, warp, yaml
+     }:
+     mkDerivation {
+       pname = "wai-middleware-auth";
+       version = "0.2.1.0";
+       sha256 = "16gm0r4jlmzx5qd4s03whqlc8siy139fwrb6q26a053c85n5lw0f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring binary blaze-builder blaze-html
+         bytestring case-insensitive cereal clientsession cookie exceptions
+         hoauth2 http-client http-client-tls http-conduit http-reverse-proxy
+         http-types regex-posix safe-exceptions shakespeare text time
+         unix-compat unordered-containers uri-bytestring vault wai
+         wai-app-static wai-extra yaml
+       ];
+       executableHaskellDepends = [
+         base bytestring cereal clientsession optparse-simple warp
+       ];
+       testHaskellDepends = [
+         base binary bytestring hedgehog hoauth2 text
+       ];
+       description = "Authentication middleware that secures WAI application";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-brotli" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, filepath
      , hs-brotli, http-types, mtl, tasty, tasty-hspec, tasty-hunit, unix
@@ -249292,6 +256111,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-middleware-static_0_8_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, cryptonite
+     , directory, expiring-cache-map, filepath, http-types, memory
+     , mime-types, mtl, old-locale, semigroups, text, time, wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-static";
+       version = "0.8.3";
+       sha256 = "0l6az106r970v3jwx3z7fg7x8ja8x5hla0m5lwg7sjfs9vdh0bnl";
+       libraryHaskellDepends = [
+         base bytestring containers cryptonite directory expiring-cache-map
+         filepath http-types memory mime-types mtl old-locale semigroups
+         text time wai
+       ];
+       description = "WAI middleware that serves requests to static files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-static-caching" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
      , cryptohash, directory, expiring-cache-map, filepath, http-types
@@ -249964,40 +256802,6 @@ self: {
 
   "warp" = callPackage
     ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
-     , bytestring, case-insensitive, containers, directory, doctest
-     , gauge, ghc-prim, hashable, hspec, http-client, http-date
-     , http-types, http2, HUnit, iproute, lifted-base, network, process
-     , QuickCheck, simple-sendfile, stm, streaming-commons, text, time
-     , time-manager, transformers, unix, unix-compat, vault, wai, word8
-     }:
-     mkDerivation {
-       pname = "warp";
-       version = "3.2.28";
-       sha256 = "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7";
-       libraryHaskellDepends = [
-         array async auto-update base bsb-http-chunked bytestring
-         case-insensitive containers ghc-prim hashable http-date http-types
-         http2 iproute network simple-sendfile stm streaming-commons text
-         time-manager unix unix-compat vault wai word8
-       ];
-       testHaskellDepends = [
-         array async auto-update base bsb-http-chunked bytestring
-         case-insensitive containers directory doctest ghc-prim hashable
-         hspec http-client http-date http-types http2 HUnit iproute
-         lifted-base network process QuickCheck simple-sendfile stm
-         streaming-commons text time time-manager transformers unix
-         unix-compat vault wai word8
-       ];
-       benchmarkHaskellDepends = [
-         auto-update base bytestring containers gauge hashable http-date
-         http-types network time-manager unix unix-compat
-       ];
-       description = "A fast, light-weight web server for WAI applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "warp_3_3_2" = callPackage
-    ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, directory, gauge
      , ghc-prim, hashable, hspec, http-client, http-date, http-types
      , http2, HUnit, iproute, lifted-base, network, process, QuickCheck
@@ -250006,8 +256810,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.2";
-       sha256 = "1sh1jp27azf8zdzhaqg5ab8mky4wgdacwd5cd9zrk3dbbarkf94i";
+       version = "3.3.5";
+       sha256 = "09kd8p61xxwi3jnx7y6idjr03cblfzysssvzcvvv7mfcqr5sf165";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -250027,7 +256831,6 @@ self: {
        ];
        description = "A fast, light-weight web server for WAI applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "warp-dynamic" = callPackage
@@ -250050,17 +256853,15 @@ self: {
 
   "warp-grpc" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, case-insensitive
-     , http-types, http2-grpc-types, proto-lens, wai, warp, warp-tls
+     , http-types, http2, http2-grpc-types, wai, warp, warp-tls
      }:
      mkDerivation {
        pname = "warp-grpc";
-       version = "0.1.0.3";
-       sha256 = "1x40jskp4c2dj4w3pfrw4f3ys9c64nlas2068s7zl05qayw21srf";
-       revision = "1";
-       editedCabalFile = "18mnn9wdhx8kv3y8nagkn7z7qmcyxnrcvigjyy378sfipcgjmdwc";
+       version = "0.2.0.0";
+       sha256 = "180h609sc1ck3xxs4r2hk6bij0g22lxlllpmhqkkf1drvbgygssi";
        libraryHaskellDepends = [
-         async base binary bytestring case-insensitive http-types
-         http2-grpc-types proto-lens wai warp warp-tls
+         async base binary bytestring case-insensitive http-types http2
+         http2-grpc-types wai warp warp-tls
        ];
        description = "A minimal gRPC server on top of Warp";
        license = stdenv.lib.licenses.bsd3;
@@ -250107,8 +256908,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp-tls";
-       version = "3.2.8";
-       sha256 = "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y";
+       version = "3.2.9";
+       sha256 = "1bwd6fi0pfcszz7f7r41bjxmx1vq0594088l3hbj0s23m4lxzhs1";
        libraryHaskellDepends = [
          base bytestring cryptonite data-default-class network
          streaming-commons tls tls-session-manager wai warp
@@ -250576,6 +257377,38 @@ self: {
        broken = true;
      }) {};
 
+  "web-rep" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, box, clay
+     , foldl, generic-lens, interpolatedstring-perl6, javascript-bridge
+     , JuicyPixels, language-javascript, lens, lucid, lucid-svg, mmorph
+     , mtl, optparse-generic, scotty, streaming, tasty, tasty-hspec
+     , text, text-format, transformers, unordered-containers, wai
+     , wai-extra, wai-middleware-static
+     }:
+     mkDerivation {
+       pname = "web-rep";
+       version = "0.2.0";
+       sha256 = "0mxsqx9gigi70xj372qrwsfahy1ra17jhagvrv6y7pzzl3g0rfws";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bifunctors box clay foldl generic-lens
+         interpolatedstring-perl6 javascript-bridge JuicyPixels
+         language-javascript lens lucid lucid-svg mmorph mtl scotty
+         streaming text text-format transformers unordered-containers
+         wai-middleware-static
+       ];
+       executableHaskellDepends = [
+         attoparsec base box lens lucid optparse-generic scotty text wai
+         wai-extra wai-middleware-static
+       ];
+       testHaskellDepends = [ base lens lucid tasty tasty-hspec text ];
+       description = "representations of a web page";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "web-routes" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, exceptions
      , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
@@ -250583,8 +257416,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
@@ -250624,8 +257457,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
        ];
@@ -250691,16 +257524,14 @@ 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
        ];
        testHaskellDepends = [ base hspec HUnit QuickCheck web-routes ];
        description = "Support for deriving PathInfo using Template Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "web-routes-transformers" = callPackage
@@ -250840,24 +257671,23 @@ self: {
      }) {};
 
   "webby" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, fast-logger
-     , formatting, http-api-data, http-types, monad-logger, protolude
-     , resourcet, tasty, tasty-hunit, tasty-quickcheck, text, unliftio
+    ({ mkDerivation, aeson, base-noprelude, binary, bytestring
+     , formatting, http-api-data, http-types, relude, resourcet, tasty
+     , tasty-hunit, tasty-quickcheck, text, unliftio
      , unordered-containers, wai
      }:
      mkDerivation {
        pname = "webby";
-       version = "0.1.3";
-       sha256 = "1ry3cbi9awpxvj8f84b65ml9f73n5c1nw0ckc32hg55cq84yva9f";
+       version = "0.4.0";
+       sha256 = "0cicjk07cg1fnj07nhlsgg6g1zndr36sinhic3cqjllaxxsmnqia";
        libraryHaskellDepends = [
-         aeson base binary bytestring fast-logger formatting http-api-data
-         http-types monad-logger protolude resourcet text unliftio
-         unordered-containers wai
+         aeson base-noprelude binary bytestring formatting http-api-data
+         http-types relude resourcet text unliftio unordered-containers wai
        ];
        testHaskellDepends = [
-         aeson base binary bytestring fast-logger formatting http-api-data
-         http-types monad-logger protolude resourcet tasty tasty-hunit
-         tasty-quickcheck text unliftio unordered-containers wai
+         aeson base-noprelude binary bytestring formatting http-api-data
+         http-types relude resourcet tasty tasty-hunit tasty-quickcheck text
+         unliftio unordered-containers wai
        ];
        description = "A super-simple web server framework";
        license = stdenv.lib.licenses.asl20;
@@ -251239,8 +258069,8 @@ self: {
     ({ mkDerivation, base, Cabal, gtk2hs-buildtools, webkitgtk }:
      mkDerivation {
        pname = "webkit2gtk3-javascriptcore";
-       version = "0.14.3.0";
-       sha256 = "1gsa7lvv0xidy4i9d8bjqc0hpbzx1vvp9npzj2q8x1l68f9vjj5j";
+       version = "0.14.4.0";
+       sha256 = "0njp5m8m9qz7ra9z8ni103bnicfshiixxy44na8m3mzjqrchczww";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [ base ];
        libraryPkgconfigDepends = [ webkitgtk ];
@@ -251363,7 +258193,7 @@ self: {
      }) {};
 
   "websockets" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, binary
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring, binary
      , bytestring, bytestring-builder, case-insensitive, containers
      , criterion, entropy, HUnit, network, QuickCheck, random, SHA
      , streaming-commons, test-framework, test-framework-hunit
@@ -251371,23 +258201,23 @@ self: {
      }:
      mkDerivation {
        pname = "websockets";
-       version = "0.12.5.3";
-       sha256 = "0mkxl7iwl5pl2w0svji9248v4c0hi45k725jj5ybaknb73650ns4";
+       version = "0.12.6.1";
+       sha256 = "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
+         async attoparsec base base64-bytestring binary bytestring
          bytestring-builder case-insensitive containers entropy network
          random SHA streaming-commons text
        ];
        testHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
+         async attoparsec base base64-bytestring binary bytestring
          bytestring-builder case-insensitive containers entropy HUnit
          network QuickCheck random SHA streaming-commons test-framework
          test-framework-hunit test-framework-quickcheck2 text
        ];
        benchmarkHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
+         async attoparsec base base64-bytestring binary bytestring
          bytestring-builder case-insensitive containers criterion entropy
          network random SHA text
        ];
@@ -251426,24 +258256,24 @@ self: {
      }) {};
 
   "websockets-simple" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, exceptions
+    ({ mkDerivation, aeson, async, base, bytestring, chan, exceptions
      , extractable-singleton, hspec, monad-control-aligned, profunctors
-     , stm, tasty, tasty-hspec, transformers, vector, wai-transformers
+     , stm, tasty, tasty-hspec, text, transformers, wai-transformers
      , websockets
      }:
      mkDerivation {
        pname = "websockets-simple";
-       version = "0.1.3";
-       sha256 = "1nknnb7zmkcm377q9i9whcw4fd43q2nk5vla2yilr9lnp5g4gqr0";
+       version = "0.2.0";
+       sha256 = "1xcvrvv79vjhm3k026mszbqmgn65mnrm4aws213bx315pjavldg9";
        libraryHaskellDepends = [
-         aeson async base bytestring exceptions extractable-singleton
-         monad-control-aligned profunctors stm transformers vector
+         aeson async base bytestring chan exceptions extractable-singleton
+         monad-control-aligned profunctors stm text transformers
          wai-transformers websockets
        ];
        testHaskellDepends = [
-         aeson async base bytestring exceptions extractable-singleton hspec
-         monad-control-aligned profunctors stm tasty tasty-hspec
-         transformers vector wai-transformers websockets
+         aeson async base bytestring chan exceptions extractable-singleton
+         hspec monad-control-aligned profunctors stm tasty tasty-hspec text
+         transformers wai-transformers websockets
        ];
        description = "Composable websockets clients";
        license = stdenv.lib.licenses.bsd3;
@@ -251451,6 +258281,18 @@ self: {
        broken = true;
      }) {};
 
+  "websockets-simple-extra" = callPackage
+    ({ mkDerivation, base, mtl, websockets-simple }:
+     mkDerivation {
+       pname = "websockets-simple-extra";
+       version = "0.0.0";
+       sha256 = "1ckni1imxh4k1nxivvj9p1mffzvdmyjc20nas8b90dkkxblgnk1j";
+       libraryHaskellDepends = [ base mtl websockets-simple ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "websockets-snap" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-builder, io-streams
      , mtl, snap-core, snap-server, websockets
@@ -251568,16 +258410,19 @@ self: {
        ];
        description = "A school-timetable problem-solver";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "weigh" = callPackage
-    ({ mkDerivation, base, deepseq, mtl, process, split, temporary }:
+    ({ mkDerivation, base, deepseq, ghc, mtl, process, split, temporary
+     }:
      mkDerivation {
        pname = "weigh";
-       version = "0.0.14";
-       sha256 = "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g";
+       version = "0.0.16";
+       sha256 = "13pbjr7fzqy3s9c1nd2jhfwzbpccmpfwdn7y46z9k2bfkch1jam9";
        libraryHaskellDepends = [
-         base deepseq mtl process split temporary
+         base deepseq ghc mtl process split temporary
        ];
        testHaskellDepends = [ base deepseq ];
        description = "Measure allocations of a Haskell functions/values";
@@ -251876,27 +258721,6 @@ self: {
      }:
      mkDerivation {
        pname = "wide-word";
-       version = "0.1.0.8";
-       sha256 = "1n6g9kn7k8gi2qi8fbik5pi2yj5mbzzj62512as1gjysv3y3l2dj";
-       revision = "1";
-       editedCabalFile = "189p1g51xx0a1lhxlhr0i8qv7mvr4zsjfdpb4i8ja2hfi0ssszdx";
-       libraryHaskellDepends = [ base deepseq primitive ];
-       testHaskellDepends = [
-         base bytestring ghc-prim hedgehog QuickCheck quickcheck-classes
-         semirings
-       ];
-       description = "Data types for large but fixed width signed and unsigned integers";
-       license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "wide-word_0_1_0_9" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, ghc-prim, hedgehog
-     , primitive, QuickCheck, quickcheck-classes, semirings
-     }:
-     mkDerivation {
-       pname = "wide-word";
        version = "0.1.0.9";
        sha256 = "0k8v6iggsrbmmq82b4zziyg9arh6fvwqsfid15nnycdfgsaafph3";
        revision = "1";
@@ -252040,8 +258864,8 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.2.0.7";
-       sha256 = "00lpx5lqahd5wx3f2rp0glhi9m5k0miys39fpq7p57iwvdzjhgxa";
+       version = "0.2.0.8";
+       sha256 = "1qrh7rkmwfmwlkfn0nqvml2ljx7ai8c6rl1fkdi7vjchxvmb0139";
        libraryHaskellDepends = [
          base containers fold-debounce mtl semigroups stm text transformers
          wild-bind X11
@@ -252084,6 +258908,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";
@@ -252134,8 +258960,8 @@ self: {
      }:
      mkDerivation {
        pname = "winery";
-       version = "1.1.2";
-       sha256 = "1hxs3pyv0icqmnmnjadr86d55jdi689hgcjgx3lq7skxs3hp0qf1";
+       version = "1.1.3";
+       sha256 = "1qh2i6fwwgncmx15gp4h3cg04plff3h8252x66rzxnd22g1sk3d9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -252297,38 +259123,35 @@ self: {
   "witherable" = callPackage
     ({ mkDerivation, base, base-orphans, containers, hashable, lens
      , monoidal-containers, transformers, transformers-compat
-     , unordered-containers, vector
+     , unordered-containers, vector, witherable-class
      }:
      mkDerivation {
        pname = "witherable";
-       version = "0.3.3";
-       sha256 = "0pp2p2zhdjv3kq8dywcj9hcdaf0i37vihaxcxbs889iiw2cgy9hj";
-       revision = "1";
-       editedCabalFile = "1v10h2biv5k9amahw77755k60wgqp0d36d1rb2vy8qjh07gnnanr";
+       version = "0.3.5";
+       sha256 = "13r4g5fg3fgl3zall0daljivnk4gm1lm2s8qir1izwkmq25081wb";
        libraryHaskellDepends = [
          base base-orphans containers hashable lens monoidal-containers
          transformers transformers-compat unordered-containers vector
+         witherable-class
        ];
        description = "filterable traversable";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "witherable_0_3_4" = callPackage
-    ({ mkDerivation, base, base-orphans, containers, hashable, lens
-     , monoidal-containers, transformers, transformers-compat
-     , unordered-containers, vector
+  "witherable-class" = callPackage
+    ({ mkDerivation, base, base-orphans, containers, hashable
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
-       pname = "witherable";
-       version = "0.3.4";
-       sha256 = "19qkb8ww3vp446jr1yd4x4wxqm725lc6n2f3d1n3hb925x2djcd6";
+       pname = "witherable-class";
+       version = "0";
+       sha256 = "0jb8yq9i0rlbmcd5rbg95m2w26zbmi7iwph5v7wghiari751r2bp";
        libraryHaskellDepends = [
-         base base-orphans containers hashable lens monoidal-containers
-         transformers transformers-compat unordered-containers vector
+         base base-orphans containers hashable transformers
+         unordered-containers vector
        ];
-       description = "filterable traversable";
+       description = "Witherable = Traversable + Filterable";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "witness" = callPackage
@@ -252796,8 +259619,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.7";
-       sha256 = "06xz5xk14fiy1z4j6q7lbjwj13m4hy22pzrcdwk6c078w85rp4yd";
+       version = "0.1.2.8";
+       sha256 = "0ncs3g174db6508fic7x2xibvkccmz068g6hizp8fi20bwxb9js8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -253088,7 +259911,7 @@ self: {
          base containers exceptions free spiros split text transformers
        ];
        executableHaskellDepends = [ base ];
-       description = "Automate keyboard/mouse/clipboard/application interaction";
+       description = "Automate keyboard\\/mouse\\/clipboard\\/application interaction";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -253653,10 +260476,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 = [
@@ -253803,8 +260624,8 @@ self: {
      }:
      mkDerivation {
        pname = "wuss";
-       version = "1.1.14";
-       sha256 = "1r0ljrp7kfksvmm4029b633cypdg5lqk5nga31si22bi5yz7fkiq";
+       version = "1.1.15";
+       sha256 = "1i2q96mapld4mnhmy321qyzzizw3k3schhm473qrszdi1yxc837q";
        libraryHaskellDepends = [
          base bytestring connection network websockets
        ];
@@ -254223,8 +261044,8 @@ self: {
      }:
      mkDerivation {
        pname = "xcffib";
-       version = "0.8.1";
-       sha256 = "183f7rpckhr3cipwci6hfhrfilqq5jijkwp98r5wi0l43inj29jc";
+       version = "0.9.0";
+       sha256 = "0nxy4dfwz1wgj6dvg1jp3k4zblwpgiydmv7p20s5scyzgii8jsfk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -254378,12 +261199,10 @@ self: {
      }:
      mkDerivation {
        pname = "xeno";
-       version = "0.3.5.1";
-       sha256 = "1bdvj5ql0q9i8vb3429d8kl3hyk45r37s23rm76mhwhazhqxcm60";
-       revision = "1";
-       editedCabalFile = "0d9w9x6lwhvshy4dbvd80ckb9p0g4vcmzy6kvwai9rqmszf89cnh";
+       version = "0.3.5.2";
+       sha256 = "0xfhdi5d0y3rlsmzczdg8b896l9q31nify1vsq0vfqqhfn75pw8l";
        libraryHaskellDepends = [
-         array base bytestring deepseq hspec mtl mutable-containers vector
+         array base bytestring deepseq mtl mutable-containers vector
        ];
        testHaskellDepends = [ base bytestring hexml hspec ];
        benchmarkHaskellDepends = [
@@ -254765,6 +261584,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
@@ -255163,6 +262011,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xml-lens_0_2" = callPackage
+    ({ mkDerivation, base, case-insensitive, containers, lens, text
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-lens";
+       version = "0.2";
+       sha256 = "1jvi8xcsvwzvh44karnsp9br6bfn59s5vhizwycg4fi7ljhm8fm3";
+       revision = "1";
+       editedCabalFile = "0agp2gpzzgrpy831cj47r8fi91r0s68a7bl8fqvbb1ya7jfadfll";
+       libraryHaskellDepends = [
+         base case-insensitive containers lens text xml-conduit
+       ];
+       description = "Lenses, traversals, and prisms for xml-conduit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xml-monad" = callPackage
     ({ mkDerivation, base, mtl, transformers, transformers-compose, xml
      }:
@@ -255556,8 +262422,8 @@ self: {
        pname = "xmlhtml";
        version = "0.2.5.2";
        sha256 = "1p2v1cj9jjwbqyb0fyv2201zd7ljz5d46qg5kwy7rz2bchbqd0b4";
-       revision = "2";
-       editedCabalFile = "1d7q7acdv72zbbqq2n0swf3ia3lz1zplni6q5r97sp2w1a3xm6hf";
+       revision = "3";
+       editedCabalFile = "00a7ymnzf87p6dv6mphziycyx6p97xbbbvg8fzbqa6am4pvr029z";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers parsec text unordered-containers
@@ -255638,8 +262504,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.30";
-       sha256 = "1msyl3gy8cybdkx24k6ykcxjf95b5zid8b6vdwqmsamw1yrb3sgr";
+       version = "0.32";
+       sha256 = "0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -255731,6 +262597,8 @@ self: {
        pname = "xmonad-contrib";
        version = "0.15";
        sha256 = "0r9yzgy67j4mi3dyxx714f0ssk5qzca5kh4zw0fhiz1pf008cxms";
+       revision = "1";
+       editedCabalFile = "15r1mlqs1axh1dp4fqqb54xj3zns47nrvlf2xp5jg5jq51z03xpf";
        libraryHaskellDepends = [
          base bytestring containers directory extensible-exceptions filepath
          mtl old-locale old-time process random semigroups unix utf8-string
@@ -255835,8 +262703,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmonad-extras";
-       version = "0.15.1";
-       sha256 = "1x61s81rnmh26i8bwd7jlpsa5jn7fsas2fsibg46bsszs5ln225q";
+       version = "0.15.2";
+       sha256 = "1p20zc5k0s05ic2jjx01x0mx88y369dvq2ad43sfjbyf95msi7ls";
        configureFlags = [
          "-f-with_hlist" "-fwith_parsec" "-fwith_split"
        ];
@@ -256739,8 +263607,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.11.1.2";
-       sha256 = "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc";
+       version = "0.11.2.0";
+       sha256 = "035sqc2bnya3ghv5i0qk9jdg9q6jvqzgnc5gkg9mgf4drjrd5wni";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -256766,8 +263634,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-combinators";
-       version = "1.1.1.1";
-       sha256 = "1343q4wddqmszi21qx5a0jjawvqa1aqfzbkn8npi3sy2gmk42zi8";
+       version = "1.1.1.2";
+       sha256 = "13f5z4xq5k8ss3x0afw21cylhpmr1mzsnrj9ck5531p407rj3glw";
        libraryHaskellDepends = [
          aeson base bytestring generics-sop scientific text transformers
          unordered-containers vector yaml
@@ -256777,6 +263645,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
@@ -257050,18 +263920,18 @@ self: {
      }) {};
 
   "yampa-test" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-test-quickcheck
-     , normaldistribution, QuickCheck, random, Yampa
+    ({ mkDerivation, base, Cabal, normaldistribution, QuickCheck
+     , random, tasty, tasty-quickcheck, Yampa
      }:
      mkDerivation {
        pname = "yampa-test";
-       version = "0.1.1";
-       sha256 = "1qc1aic4apml5akq056i5c460x12hf613r1zkisshjm0na4gx5mb";
+       version = "0.2";
+       sha256 = "030dakxny9nh0spq04vbxs961y12i2xbr9g9g3q7lk78mhshwv5v";
        libraryHaskellDepends = [
          base normaldistribution QuickCheck Yampa
        ];
        testHaskellDepends = [
-         base Cabal cabal-test-quickcheck QuickCheck random Yampa
+         base Cabal QuickCheck random tasty tasty-quickcheck Yampa
        ];
        description = "Testing library for Yampa";
        license = stdenv.lib.licenses.bsd3;
@@ -257138,8 +264008,8 @@ self: {
      }:
      mkDerivation {
        pname = "yarn-lock";
-       version = "0.5.0";
-       sha256 = "1nwb0zc4qddvq2rkzb56c56iba7v0yms0hlam8y1nlcbvsqxrnc6";
+       version = "0.6.2";
+       sha256 = "06wha8cm7hw83d32fq5r8mpzh5pwmf67dxsw8qxqw26qy8pnby96";
        libraryHaskellDepends = [
          base containers either megaparsec protolude text
        ];
@@ -257155,36 +264025,37 @@ self: {
      }) {};
 
   "yarn2nix" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, async-pool, base
-     , bytestring, containers, data-fix, directory, filepath, hnix, mtl
-     , neat-interpolation, optparse-applicative, process, protolude
+    ({ mkDerivation, aeson, async-pool, base, bytestring, containers
+     , data-fix, directory, filepath, hnix, mtl, neat-interpolation
+     , optparse-applicative, prettyprinter, process, protolude
      , regex-tdfa, regex-tdfa-text, stm, tasty, tasty-hunit
      , tasty-quickcheck, tasty-th, text, transformers, unix
      , unordered-containers, yarn-lock
      }:
      mkDerivation {
        pname = "yarn2nix";
-       version = "0.7.0";
-       sha256 = "0rna9z1vm05f99a0dkvvv893als9x2zjifzc4gphwylgkih7d826";
+       version = "0.8.0";
+       sha256 = "05xwpjyi37qlwfj954zpn6f4iwyvy6hsgc8h5vpckbnnp8ak1ndw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl process protolude regex-tdfa
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl prettyprinter process protolude regex-tdfa
          regex-tdfa-text stm text transformers unordered-containers
          yarn-lock
        ];
        executableHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl optparse-applicative process protolude
-         regex-tdfa regex-tdfa-text stm text transformers unix
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl optparse-applicative prettyprinter process
+         protolude regex-tdfa regex-tdfa-text stm text transformers unix
          unordered-containers yarn-lock
        ];
        testHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl neat-interpolation process protolude
-         regex-tdfa regex-tdfa-text stm tasty tasty-hunit tasty-quickcheck
-         tasty-th text transformers unordered-containers yarn-lock
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl neat-interpolation prettyprinter process
+         protolude regex-tdfa regex-tdfa-text stm tasty tasty-hunit
+         tasty-quickcheck tasty-th text transformers unordered-containers
+         yarn-lock
        ];
        description = "Convert yarn.lock files to nix expressions";
        license = stdenv.lib.licenses.mit;
@@ -257266,22 +264137,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;
@@ -257292,8 +264159,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;
@@ -257302,17 +264169,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;
@@ -257335,6 +264201,43 @@ self: {
        broken = true;
      }) {};
 
+  "yeamer" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
+     , bytestring, containers, data-default-class, diagrams-cairo
+     , diagrams-lib, directory, dumb-cas, filepath, flat, HaTeX
+     , js-jquery, microlens, microlens-th, numbered-semigroups
+     , semigroups, shakespeare, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, temporary, TeX-my-math, texmath, text, these
+     , these-lens, time, transformers, unix, vector, xml, yesod
+     , yesod-form, yesod-static, zlib
+     }:
+     mkDerivation {
+       pname = "yeamer";
+       version = "0.1.0.3";
+       sha256 = "02v33ya0nc0qvsnc5dz33kargyprzxjhbrcdfi439psxh43rw9fp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring blaze-html bytestring containers
+         data-default-class directory dumb-cas filepath flat HaTeX js-jquery
+         microlens microlens-th numbered-semigroups semigroups shakespeare
+         template-haskell temporary TeX-my-math texmath text these
+         these-lens transformers unix vector xml yesod yesod-form
+         yesod-static zlib
+       ];
+       executableHaskellDepends = [
+         base diagrams-cairo diagrams-lib flat numbered-semigroups
+         semigroups shakespeare TeX-my-math time
+       ];
+       testHaskellDepends = [
+         aeson base numbered-semigroups tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Yesod-based server for interactive presentation slides";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "yeganesh" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, process
      , strict, time, unix, xdg-basedir
@@ -258001,33 +264904,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;
@@ -258183,20 +265080,20 @@ self: {
      , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
      , gauge, hspec, hspec-expectations, http-types, HUnit, memory
      , monad-logger, mtl, network, parsec, path-pieces, primitive
-     , random, resourcet, rio, shakespeare, streaming-commons
+     , random, resourcet, shakespeare, streaming-commons
      , template-haskell, text, time, transformers, unix-compat, unliftio
      , unordered-containers, vector, wai, wai-extra, wai-logger, warp
      , word8
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.16.1";
-       sha256 = "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2";
+       version = "1.6.17";
+       sha256 = "1i31xx9ili9r9il0mqpb04pgnq67rfsfr61pw9xmc163akgdfi4l";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
          containers cookie deepseq fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet rio
+         monad-logger mtl parsec path-pieces primitive random resourcet
          shakespeare template-haskell text time transformers unix-compat
          unliftio unordered-containers vector wai wai-extra wai-logger warp
          word8
@@ -258648,6 +265545,8 @@ self: {
        pname = "yesod-ip";
        version = "0.5.1";
        sha256 = "1gla2w9xi88y9d149n2r18xj5y1bmaykf258nl7x4hrkl0zgdq62";
+       revision = "2";
+       editedCabalFile = "0yvi3mmknky12dqgjpfwa9nd6sn0n02xal6qcmr37dvnwnl4w87x";
        libraryHaskellDepends = [
          base http-api-data ip path-pieces persistent text yesod-core
          yesod-form
@@ -258789,6 +265688,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-newsfeed_1_7_0_0" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, shakespeare, text, time, xml-conduit, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-newsfeed";
+       version = "1.7.0.0";
+       sha256 = "0g7n99zsrfinal2kcmrfyj3gcxrd390az93yz3c1kxzd5w1ffb4g";
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup bytestring containers shakespeare text
+         time xml-conduit yesod-core
+       ];
+       description = "Helper functions and data types for producing News feeds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-paginate" = callPackage
     ({ mkDerivation, base, template-haskell, yesod }:
      mkDerivation {
@@ -258889,8 +265805,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.6.0.2";
-       sha256 = "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd";
+       version = "1.6.0.3";
+       sha256 = "1pl8an3zpmsj3f5rrscb13sn8479vqxn2fpzvzn77lz8hbdi6n6l";
        libraryHaskellDepends = [
          base blaze-builder conduit persistent persistent-template
          resource-pool resourcet transformers yesod-core
@@ -259474,25 +266390,27 @@ self: {
      }) {};
 
   "yesod-test" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , bytestring, case-insensitive, conduit, containers, cookie, hspec
-     , hspec-core, html-conduit, http-types, HUnit, network, pretty-show
-     , semigroups, text, time, transformers, unliftio, wai, wai-extra
-     , xml-conduit, xml-types, yesod-core, yesod-form
+     , hspec-core, html-conduit, http-types, HUnit, memory, network
+     , pretty-show, semigroups, text, time, transformers, unliftio
+     , unliftio-core, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.6.2";
-       sha256 = "1c5q11f2wscapl6a16v1r5livjiy8i2iz5zvlcsx89ikrqgvfc58";
+       version = "1.6.9";
+       sha256 = "0v25lqq7hgd5lggnyfd9kamkzd4126rd7vlhc131n253n4by4yak";
        libraryHaskellDepends = [
-         attoparsec base blaze-builder blaze-html bytestring
+         aeson attoparsec base blaze-builder blaze-html bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
-         http-types HUnit network pretty-show semigroups text time
+         http-types HUnit memory network pretty-show semigroups text time
          transformers wai wai-extra xml-conduit xml-types yesod-core
        ];
        testHaskellDepends = [
          base bytestring containers cookie hspec html-conduit http-types
-         HUnit text unliftio wai wai-extra xml-conduit yesod-core yesod-form
+         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
+         yesod-core yesod-form
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
@@ -259710,6 +266628,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
@@ -260295,8 +267226,8 @@ self: {
        pname = "yoctoparsec";
        version = "0.1.0.0";
        sha256 = "0p9kw60glcgrjfx04x3innn3rqnh12yrv4wh0a0fivcx8b9kj1yp";
-       revision = "2";
-       editedCabalFile = "149a34hpbm6fkkmck70wgqg6792yl91kjirpwf6wdkkr4ga0v514";
+       revision = "3";
+       editedCabalFile = "1yvbslg8y6kvagdjnm0wbknlf1pigqlk8hiqpvmicmqgaiaaxlb7";
        libraryHaskellDepends = [ base free mtl ];
        description = "A truly tiny monadic parsing library";
        license = stdenv.lib.licenses.mit;
@@ -260412,8 +267343,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.7.0.1";
-       sha256 = "1cmdx2bghp508qm26xydnljswgldvvv5rapmzcivmnn8pzp9g9kl";
+       version = "0.7.1";
+       sha256 = "0clvfkdrmw7lmrcyn8cilgf0k7438c384vwvjx256pyl46y3ym5m";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -260553,15 +267484,13 @@ self: {
      }) {};
 
   "yx" = callPackage
-    ({ mkDerivation, array, base, bytestring, hspec }:
+    ({ mkDerivation, array, base, bytestring, hspec, lattices, mtl }:
      mkDerivation {
        pname = "yx";
-       version = "0.0.2.0";
-       sha256 = "05xh7x02ddh87kwslgckzh3g5i22r01vfrb160gns3zl6fv8sj2z";
-       revision = "1";
-       editedCabalFile = "19px5wf8ca7awam013ij62z04rsplgn7ks56j8jzhznarsg45ksq";
-       libraryHaskellDepends = [ array base bytestring ];
-       testHaskellDepends = [ array base bytestring hspec ];
+       version = "0.0.4.1";
+       sha256 = "0mkizcy996q7vm1d2izcxym8aw3dnzyz5nsrmbcchf0ywijw7xzi";
+       libraryHaskellDepends = [ array base bytestring lattices mtl ];
+       testHaskellDepends = [ array base bytestring hspec mtl ];
        description = "Row-major coordinates";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -260715,8 +267644,8 @@ self: {
     ({ mkDerivation, base, papillon }:
      mkDerivation {
        pname = "zasni-gerna";
-       version = "0.0.7";
-       sha256 = "1zl2kcd0hr021xl6pjvvxwxvmpb02cq04ck39qkwil56vannnksw";
+       version = "0.0.7.1";
+       sha256 = "131lfik05gkr7mqnxf2ibbv5nxjy2x76r5mpvwgzj06nq4v9n527";
        libraryHaskellDepends = [ base papillon ];
        description = "lojban parser (zasni gerna)";
        license = stdenv.lib.licenses.bsd3;
@@ -261037,8 +267966,8 @@ self: {
      }:
      mkDerivation {
        pname = "zeromq4-simple";
-       version = "0.0.0.1";
-       sha256 = "0h16chz3x0ipdbw935fvfhpdljbknczk1ivf87519dkrl3c1ypjv";
+       version = "0.0.0.2";
+       sha256 = "1xk131mia8k6zcl4995cdx15aj74jyrxziah0xmqd0yjnrh4kw8n";
        libraryHaskellDepends = [
          aeson base bytestring constraints hashable uuid zeromq4-haskell
        ];
@@ -261235,6 +268164,26 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "zinza" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parsec, QuickCheck
+     , quickcheck-instances, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "zinza";
+       version = "0.2";
+       sha256 = "1sy4chm8zan0ixgvvq4vm3fzvhqykn315l333al84768nly9rjv8";
+       libraryHaskellDepends = [
+         base containers parsec text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers QuickCheck quickcheck-instances tasty
+         tasty-golden tasty-hunit tasty-quickcheck
+       ];
+       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
@@ -261246,8 +268195,8 @@ self: {
        pname = "zip";
        version = "1.2.0";
        sha256 = "1jbxnbiizdklv0pw8f22h38xbmk6d4wggy27w8injdsfi18f27dn";
-       revision = "1";
-       editedCabalFile = "084dfylc1h45r4v2zyld1vvrxs6x1ljq8hzinqrkv2ii748cmzdb";
+       revision = "2";
+       editedCabalFile = "09ak8h11hm1jnpkvljradbj3a741s31k8cvyvwypr927khi5y9mp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -261265,6 +268214,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zip_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
+     , cereal, conduit, conduit-extra, containers, digest, directory
+     , dlist, exceptions, filepath, hspec, monad-control, mtl
+     , QuickCheck, resourcet, temporary, text, time, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "zip";
+       version = "1.3.0";
+       sha256 = "1wcx48fqvhj823sqgr61rv692hlld3ckp2vyahd8wk3h590sncni";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring bzlib-conduit case-insensitive cereal conduit
+         conduit-extra containers digest directory dlist exceptions filepath
+         monad-control mtl resourcet text time transformers
+         transformers-base
+       ];
+       executableHaskellDepends = [ base filepath ];
+       testHaskellDepends = [
+         base bytestring conduit containers directory dlist exceptions
+         filepath hspec QuickCheck temporary text time transformers
+       ];
+       description = "Operations on zip archives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zip-archive" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , digest, directory, filepath, HUnit, mtl, pretty, process
@@ -261937,6 +268915,8 @@ self: {
        pname = "zxcvbn-dvorak";
        version = "0.1.0.0";
        sha256 = "07sz5vwgh7vxlr0z2v7bml8j2gy0l2pl62frgl8r211dzjmd7q8m";
+       revision = "1";
+       editedCabalFile = "19m6h3cal4wc13hh382526bj0z8pdvs7nck0im2cawxh5wna7cq7";
        libraryHaskellDepends = [
          base base64-bytestring binary binary-instances containers lens text
          unordered-containers zlib zxcvbn-hs
@@ -261953,8 +268933,10 @@ self: {
      }:
      mkDerivation {
        pname = "zxcvbn-hs";
-       version = "0.2.0.0";
-       sha256 = "1524j8mgvp26cz4n4cd1vyslniw0xbw9ngrgkcyj3jmkh6p53ngh";
+       version = "0.2.1.0";
+       sha256 = "1gvarz005nlz9q5bkdwvplvsmwwchhx0arpq1grmh39r706lh4d8";
+       revision = "2";
+       editedCabalFile = "05l4pni4264rcivixzakjkph5qr4jr8qb4jbfj2nw106n1zhjaka";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/nixpkgs/pkgs/development/haskell-modules/hoogle.nix b/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
index 0bb930a8bb3a..0f620d46cccd 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
@@ -23,7 +23,8 @@
 # This will build mmorph and monadControl, and have the hoogle installation
 # refer to their documentation via symlink so they are not garbage collected.
 
-{ lib, stdenv, hoogle, writeText, ghc
+{ lib, stdenv, buildPackages
+, hoogle, writeText, ghc
 , packages
 }:
 
@@ -53,7 +54,7 @@ let
     (map (lib.getOutput "doc") packages);
 
 in
-stdenv.mkDerivation {
+buildPackages.stdenv.mkDerivation {
   name = "hoogle-local-0.1";
   buildInputs = [ghc hoogle];
 
diff --git a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
index a4c040673487..e2d01c5798f9 100644
--- a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
@@ -122,9 +122,9 @@ let
   haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
     let
       sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
-    in pkgs.buildPackages.stdenv.mkDerivation {
+    in buildPackages.stdenv.mkDerivation {
       name = "cabal2nix-${name}";
-      nativeBuildInputs = [ pkgs.buildPackages.cabal2nix ];
+      nativeBuildInputs = [ buildPackages.cabal2nix ];
       preferLocalBuild = true;
       allowSubstitutes = false;
       phases = ["installPhase"];
@@ -133,11 +133,11 @@ let
       installPhase = ''
         export HOME="$TMP"
         mkdir -p "$out"
-        cabal2nix --compiler=${self.ghc.haskellCompilerName} --system=${hostPlatform.system} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix"
+        cabal2nix --compiler=${self.ghc.haskellCompilerName} --system=${hostPlatform.config} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix"
       '';
   };
 
-  all-cabal-hashes-component = name: version: pkgs.runCommand "all-cabal-hashes-component-${name}-${version}" {} ''
+  all-cabal-hashes-component = name: version: buildPackages.runCommand "all-cabal-hashes-component-${name}-${version}" {} ''
     tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal}
     mkdir -p $out
     mv */${name}/${version}/${name}.{json,cabal} $out
@@ -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/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
index 8b667a1e6693..9a2ff6f4a2ad 100644
--- a/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -8,9 +8,12 @@
 self: super: {
 
   multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
-    + "to haskell-ci, which is now on hackage");
+    + " to haskell-ci, which is now on hackage");
 
   # 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/spago.nix { };
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/GLUT.patch b/nixpkgs/pkgs/development/haskell-modules/patches/GLUT.patch
index 3025812213bc..f2b63738611f 100644
--- a/nixpkgs/pkgs/development/haskell-modules/patches/GLUT.patch
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/GLUT.patch
@@ -6,7 +6,7 @@ index f370d6c..a404e1e 100644
    else
      cpp-options: "-DCALLCONV=ccall"
      cc-options: "-DUSE_DLSYM"
-+  pkgconfig-depends: freeglut
++  pkgconfig-depends: glut
  
  executable BOGLGP01-OnYourOwn1
    if !flag(BuildExamples)
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch b/nixpkgs/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
index 26ea0eaa5a8b..48cf6a035afb 100644
--- a/nixpkgs/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
@@ -43,13 +43,13 @@ index c87565d..88b3db4 100644
 +ghc     = fromMaybe GHC_PATHS_GHC     nixGhc
 +ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg
 diff --git a/Setup.hs b/Setup.hs
-index fad5026..1651650 100644
+index f2d1733..ca4792e 100644
 --- a/Setup.hs
 +++ b/Setup.hs
-@@ -27,13 +27,13 @@ main = defaultMainWithHooks simpleUserHooks {
-     defaultPostConf :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()
-     defaultPostConf args flags pkgdescr lbi = do
+@@ -39,13 +39,13 @@ main = defaultMainWithHooks simpleUserHooks {
+ #else
        libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags))
+ #endif
 -                     ghcProgram (withPrograms lbi) ["--print-libdir"]
 +                     ghcjsProgram (withPrograms lbi) ["--print-libdir"]
        let libdir = reverse $ dropWhile isSpace $ reverse libdir_
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch b/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch
new file mode 100644
index 000000000000..0f6a34f4f265
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch
@@ -0,0 +1,75 @@
+diff --git a/servant-client-core.cabal b/servant-client-core.cabal
+index 5789da601..3faf65bb4 100644
+--- a/servant-client-core.cabal
++++ b/servant-client-core.cabal
+@@ -96,6 +96,7 @@ test-suite spec
+   main-is:             Spec.hs
+   other-modules:
+       Servant.Client.Core.Internal.BaseUrlSpec
++      Servant.Client.Core.RequestSpec
+ 
+   -- Dependencies inherited from the library. No need to specify bounds.
+   build-depends:
+diff --git a/src/Servant/Client/Core/Request.hs b/src/Servant/Client/Core/Request.hs
+index 73756e702..0276d46f8 100644
+--- a/src/Servant/Client/Core/Request.hs
++++ b/src/Servant/Client/Core/Request.hs
+@@ -64,8 +64,32 @@ data RequestF body path = Request
+   , requestHeaders     :: Seq.Seq Header
+   , requestHttpVersion :: HttpVersion
+   , requestMethod      :: Method
+-  } deriving (Generic, Typeable, Eq, Show, Functor, Foldable, Traversable)
++  } deriving (Generic, Typeable, Eq, Functor, Foldable, Traversable)
+ 
++instance (Show a, Show b) =>
++           Show (Servant.Client.Core.Request.RequestF a b) where
++    showsPrec p req
++      = showParen
++        (p >= 11)
++        ( showString "Request {requestPath = "
++        . showsPrec 0 (requestPath req)
++        . showString ", requestQueryString = "
++        . showsPrec 0 (requestQueryString req)
++        . showString ", requestBody = "
++        . showsPrec 0 (requestBody req)
++        . showString ", requestAccept = "
++        . showsPrec 0 (requestAccept req)
++        . showString ", requestHeaders = "
++        . showsPrec 0 (redactSensitiveHeader <$> requestHeaders req))
++        . showString ", requestHttpVersion = "
++        . showsPrec 0 (requestHttpVersion req)
++        . showString ", requestMethod = "
++        . showsPrec 0 (requestMethod req)
++        . showString "}"
++       where
++        redactSensitiveHeader :: Header -> Header
++        redactSensitiveHeader ("Authorization", _) = ("Authorization", "<REDACTED>")
++        redactSensitiveHeader h = h
+ instance Bifunctor RequestF where bimap = bimapDefault
+ instance Bifoldable RequestF where bifoldMap = bifoldMapDefault
+ instance Bitraversable RequestF where
+diff --git a/test/Servant/Client/Core/RequestSpec.hs b/test/Servant/Client/Core/RequestSpec.hs
+new file mode 100644
+index 000000000..99a1db7d3
+--- /dev/null
++++ b/test/Servant/Client/Core/RequestSpec.hs
+@@ -0,0 +1,19 @@
++{-# OPTIONS_GHC -fno-warn-orphans #-}
++{-# LANGUAGE OverloadedStrings #-}
++module Servant.Client.Core.RequestSpec (spec) where
++
++
++import           Prelude ()
++import           Prelude.Compat
++import           Control.Monad
++import           Data.List (isInfixOf)
++import           Servant.Client.Core.Request
++import           Test.Hspec
++
++spec :: Spec
++spec = do
++  describe "Request" $ do
++    describe "show" $ do
++      it "redacts the authorization header" $ do
++        let request = void $ defaultRequest { requestHeaders = pure ("authorization", "secret") }
++        isInfixOf "secret" (show request) `shouldBe` False
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch b/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
deleted file mode 100644
index ebadd215cb76..000000000000
--- a/nixpkgs/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs
-index 712007006..6be92ec6d 100644
---- a/src/Servant/Client/Core/Internal/HasClient.hs
-+++ b/src/Servant/Client/Core/Internal/HasClient.hs
-@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where
- import           Prelude ()
- import           Prelude.Compat
- 
-+import           Control.Concurrent.MVar
-+                 (modifyMVar, newMVar)
- import qualified Data.ByteString                        as BS
- import qualified Data.ByteString.Lazy                   as BL
- import           Data.Foldable
-@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types                     as H
- import           Servant.API
-                  ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
-                  BuildHeadersTo (..), Capture', CaptureAll, Description,
--                 EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header',
--                 Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender),
-+                 EmptyAPI, FramingRender (..), FramingUnrender (..),
-+                 FromSourceIO (..), Header', Headers (..), HttpVersion,
-+                 IsSecure, MimeRender (mimeRender),
-                  MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
-                  QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
-                  ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
--                 Vault, Verb, WithNamedContext, contentType, getHeadersHList,
--                 getResponse, toQueryParam, toUrlPiece)
-+                 ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
-+                 getHeadersHList, getResponse, toQueryParam, toUrlPiece)
- import           Servant.API.ContentTypes
-                  (contentTypes)
- import           Servant.API.Modifiers
-@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api)
-     hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
- 
- instance
--    ( HasClient m api
-+    ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a
-     ) => HasClient m (StreamBody' mods framing ctype a :> api)
-   where
- 
-@@ -547,7 +550,39 @@ instance
-     hoistClientMonad pm _ f cl = \a ->
-       hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
- 
--    clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody"
-+    clientWithRoute pm Proxy req body
-+        = clientWithRoute pm (Proxy :: Proxy api)
-+        $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req
-+      where
-+        ctypeP   = Proxy :: Proxy ctype
-+        framingP = Proxy :: Proxy framing
-+
-+        sourceIO = framingRender
-+            framingP
-+            (mimeRender ctypeP :: chunk -> BL.ByteString)
-+            (toSourceIO body)
-+
-+        -- not pretty.
-+        givesPopper :: (IO BS.ByteString -> IO ()) -> IO ()
-+        givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do
-+            ref <- newMVar step0
-+
-+            -- Note sure we need locking, but it's feels safer.
-+            let popper :: IO BS.ByteString
-+                popper = modifyMVar ref nextBs
-+
-+            needsPopper popper
-+
-+        nextBs S.Stop          = return (S.Stop, BS.empty)
-+        nextBs (S.Error err)   = fail err
-+        nextBs (S.Skip s)      = nextBs s
-+        nextBs (S.Effect ms)   = ms >>= nextBs
-+        nextBs (S.Yield lbs s) = case BL.toChunks lbs of
-+            []     -> nextBs s
-+            (x:xs) | BS.null x -> nextBs step'
-+                   | otherwise -> return (step', x)
-+                where
-+                  step' = S.Yield (BL.fromChunks xs) s
-
-
-
diff --git a/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix b/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
index 49beed8549db..404fd0d94408 100644
--- a/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
+{ lib, stdenv, ghc, llvmPackages, packages, buildEnv, makeWrapper
 , withLLVM ? false
 , postBuild ? ""
 , ghcLibdir ? null # only used by ghcjs, when resolving plugins
@@ -51,15 +51,25 @@ let
                    ++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang);
 in
 if paths == [] && !withLLVM then ghc else
-symlinkJoin {
+buildEnv {
   # this makes computing paths from the name attribute impossible;
   # if such a feature is needed, the real compiler name should be saved
   # as a dedicated drv attribute, like `compiler-name`
   name = ghc.name + "-with-packages";
   paths = paths ++ [ghc];
+  extraOutputsToInstall = ["doc"];
   postBuild = ''
     . ${makeWrapper}/nix-support/setup-hook
 
+    # We make changes to ghc binaries in $out/bin. buildEnv gives a
+    # symlink if only one of the paths has the subdirectory. If so,
+    # we need to remove it for our new wrappers.
+
+    if [ -L "$out/bin" ]; then
+      rm -f "$out/bin"
+      mkdir -p "$out/bin"
+    fi
+
     # wrap compiler executables with correct env variables
 
     for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
diff --git a/nixpkgs/pkgs/development/idris-modules/default.nix b/nixpkgs/pkgs/development/idris-modules/default.nix
index 47c6998a587d..074a260b8169 100644
--- a/nixpkgs/pkgs/development/idris-modules/default.nix
+++ b/nixpkgs/pkgs/development/idris-modules/default.nix
@@ -103,8 +103,6 @@
 
     html = callPackage ./html.nix {};
 
-    heyting-algebra = callPackage ./heyting-algebra.nix {};
-
     hezarfen = callPackage ./hezarfen.nix {};
 
     hrtime = callPackage ./hrtime.nix {};
diff --git a/nixpkgs/pkgs/development/idris-modules/heyting-algebra.nix b/nixpkgs/pkgs/development/idris-modules/heyting-algebra.nix
deleted file mode 100644
index 3fa546466c8a..000000000000
--- a/nixpkgs/pkgs/development/idris-modules/heyting-algebra.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ build-idris-package
-, fetchFromGitHub
-, contrib
-, lib
-}:
-build-idris-package  {
-  name = "heyting-algebra";
-  version = "2017-08-18";
-
-  idrisDeps = [ contrib ];
-
-  src = fetchFromGitHub {
-    owner = "Risto-Stevcev";
-    repo = "idris-heyting-algebra";
-    rev = "2c814c48246a5e19bff66e64a753208c7d59d397";
-    sha256 = "199cvhxiimlhchvsc66zwn0dls78f9lamam256ad65mv4cjmxv40";
-  };
-
-  meta = {
-    description = "Interfaces for heyting algebras and verified bounded join and meet semilattices";
-    homepage = https://github.com/Risto-Stevcev/idris-heyting-algebra;
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.brainrape ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/idris-modules/tparsec.nix b/nixpkgs/pkgs/development/idris-modules/tparsec.nix
index 650d843be843..599ca72c615e 100644
--- a/nixpkgs/pkgs/development/idris-modules/tparsec.nix
+++ b/nixpkgs/pkgs/development/idris-modules/tparsec.nix
@@ -1,18 +1,21 @@
 { build-idris-package
 , fetchFromGitHub
+, contrib
 , lib
 }:
 build-idris-package  {
   name = "tparsec";
-  version = "2019-06-18";
+  version = "2019-09-19";
 
   ipkgName = "TParsec";
+  
+  idrisDeps = [ contrib ];
 
   src = fetchFromGitHub {
     owner = "gallais";
     repo = "idris-tparsec";
-    rev = "3809afd8735b0054e5db788f18a7fa8ed71d8278";
-    sha256 = "0wmgg1zg9p8gqlfvcsnww17jsifx9987cxqdq6kbdgasn26w2rqx";
+    rev = "cbaea6ec7e5b62536666329940f3ffb5b8b59036";
+    sha256 = "0bzdv90a83irn7ca268acl19mjg9vxjmc4saa4naj4hdmg7srb2v";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/interpreters/angelscript/default.nix b/nixpkgs/pkgs/development/interpreters/angelscript/default.nix
index adbfbaf48a43..0209bcaaafcd 100644
--- a/nixpkgs/pkgs/development/interpreters/angelscript/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/angelscript/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="angelscript";
-    version = "2.33.0";
+    version = "2.34.0";
     name="${baseName}-${version}";
     url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    sha256 = "18qywbi1k53xgnlr9v6ycin669j5v5qspq7lli4jhf6l4c5hk49n";
+    sha256 = "1xxxpwln4v2yasa35y7552fsfd8fbg50gnbp4vxy0ajj2wvh9akg";
   };
   buildInputs = [
     unzip
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
index b5a7c2b467ef..8187bf4af8e1 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
@@ -2,30 +2,30 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.469";
+  version = "1.10.1.492";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq";
+    sha256 = "09mhy5xw9kdr10a1xpbn5v97qyyhngw5s1n1alrs45a4m3l11iky";
   };
 
   buildInputs = [ makeWrapper ];
 
-  outputs = [ "out" "prefix" ];
-
   installPhase = let
     binPath = stdenv.lib.makeBinPath [ rlwrap jdk11 ];
-  in ''
-    mkdir -p $prefix/libexec
-    cp clojure-tools-${version}.jar $prefix/libexec
-    cp example-deps.edn $prefix
-
-    substituteInPlace clojure --replace PREFIX $prefix
-
-    install -Dt $out/bin clj clojure
-    wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
-    wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
-  '';
+  in
+    ''
+      mkdir -p $out/libexec
+      cp clojure-tools-${version}.jar $out/libexec
+      cp example-deps.edn $out
+      cp deps.edn $out
+
+      substituteInPlace clojure --replace PREFIX $out
+
+      install -Dt $out/bin clj clojure
+      wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
+      wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
+    '';
 
   meta = with stdenv.lib; {
     description = "A Lisp dialect for the JVM";
diff --git a/nixpkgs/pkgs/development/interpreters/duktape/default.nix b/nixpkgs/pkgs/development/interpreters/duktape/default.nix
index f968e04bbe99..369c3840b874 100644
--- a/nixpkgs/pkgs/development/interpreters/duktape/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/duktape/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "duktape";
-  version = "2.4.0";
+  version = "2.5.0";
   src = fetchurl {
     url = "http://duktape.org/duktape-${version}.tar.xz";
-    sha256 = "1z3i0ymnkk6q48bmbgh59g1ryrwjdv46vrf6nbnmqfv3s43r7a46";
+    sha256 = "05ln6b2a0s8ynz28armwqs2r5zjyi3cxi0dx6ahnxlqw19b13m43";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/development/interpreters/eff/default.nix b/nixpkgs/pkgs/development/interpreters/eff/default.nix
index 7c7cd9abb7e9..9da2b0d899d7 100644
--- a/nixpkgs/pkgs/development/interpreters/eff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/elixir/1.9.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.9.nix
index b9b2400b78b9..4eead35bae37 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/1.9.nix
+++ b/nixpkgs/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.1";
-  sha256 = "106s2a3dykc5iwfrd5icqd737yfzaz1dw4x5v1j5z2fvf46h96dx";
+  version = "1.9.4";
+  sha256 = "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b";
   minimumOTPVersion = "20";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
index b7e98af21097..a11865571018 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -10,7 +10,7 @@
 } @ args:
 
 let
-  inherit (stdenv.lib) getVersion versionAtLeast;
+  inherit (stdenv.lib) getVersion versionAtLeast optional;
 
 in
   assert versionAtLeast (getVersion erlang) minimumOTPVersion;
@@ -29,9 +29,7 @@ in
 
     inherit debugInfo;
 
-    buildFlags = if debugInfo
-      then "ERL_COMPILER_OPTIONS=debug_info"
-      else "";
+    buildFlags = optional debugInfo "ERL_COMPILER_OPTIONS=debug_info";
 
     preBuild = ''
       # The build process uses ./rebar. Link it to the nixpkgs rebar
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix b/nixpkgs/pkgs/development/interpreters/erlang/R22.nix
index 8b471f632471..88fe21453a82 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix
index 3f1c21cc8819..c0203e5915f7 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/nixpkgs/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,13 +18,13 @@
 , 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 ? ""
 , buildPhase ? "", preBuild ? "", postBuild ? ""
 , installPhase ? "", preInstall ? "", postInstall ? ""
-, installTargets ? "install install-docs"
+, installTargets ? [ "install" "install-docs" ]
 , checkPhase ? "", preCheck ? "", postCheck ? ""
 , fixupPhase ? "", preFixup ? "", postFixup ? ""
 , meta ? {}
@@ -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;
@@ -121,8 +121,7 @@ in stdenv.mkDerivation ({
       tolerance.
     '';
 
-    # aarch64 is supposed to work but started failing in https://hydra.nixos.org/build/83735973
-    platforms = subtractLists [ "aarch64-linux" ] platforms.unix;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ the-kenny sjmackenzie couchemar gleber ];
     license = licenses.asl20;
   } // meta);
@@ -142,7 +141,7 @@ in stdenv.mkDerivation ({
 // optionalAttrs (preCheck != "")       { inherit preCheck; }
 // optionalAttrs (postCheck != "")      { inherit postCheck; }
 // optionalAttrs (installPhase != "")   { inherit installPhase; }
-// optionalAttrs (installTargets != "") { inherit installTargets; }
+// optionalAttrs (installTargets != []) { inherit installTargets; }
 // optionalAttrs (preInstall != "")     { inherit preInstall; }
 // optionalAttrs (fixupPhase != "")     { inherit fixupPhase; }
 // optionalAttrs (preFixup != "")       { inherit preFixup; }
diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
index c4259091f7b1..1cc63788555f 100644
--- a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "evcxr";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "evcxr";
     rev = "v${version}";
-    sha256 = "13fs9fgvdf8bh6vc8xs8qhil0a1qhm4gvv0ici37xh8a94ngsn7h";
+    sha256 = "1yzvqf93zz3ncck4dyq2kayp408lm3h6fx0fb212j7h70mlzx984";
   };
 
   cargoSha256 = "0g17g12isah4nkqp9i299qr1sz19k4czcc43rm1wbs0y9szaqvwc";
diff --git a/nixpkgs/pkgs/development/interpreters/gauche/default.nix b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
index 71542046af91..9b38d1e4ad54 100644
--- a/nixpkgs/pkgs/development/interpreters/gauche/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gauche";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/gauche/Gauche-${version}.tgz";
-    sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry";
+    sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo ];
diff --git a/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix b/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix
index 94ec02443823..c2a3556cfea2 100644
--- a/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix
@@ -12,12 +12,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ readline gettext ncurses ];
 
   # Needed with GCC 8
-  NIX_CFLAGS_COMPILE = with stdenv.lib; (optionals stdenv.cc.isGNU [
+  NIX_CFLAGS_COMPILE = with stdenv.lib; toString ((optionals stdenv.cc.isGNU [
     "-Wno-error=int-in-bool-context"
     "-Wno-error=class-memaccess"
     "-Wno-error=restrict"
     "-Wno-error=format-truncation"
-   ]) ++ optional stdenv.cc.isClang "-Wno-error=null-dereference";
+   ]) ++ optional stdenv.cc.isClang "-Wno-error=null-dereference");
 
   patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
diff --git a/nixpkgs/pkgs/development/interpreters/gtk-server/default.nix b/nixpkgs/pkgs/development/interpreters/gtk-server/default.nix
index 6f5a5ec0f198..4a8330f2749c 100644
--- a/nixpkgs/pkgs/development/interpreters/gtk-server/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gtk-server/default.nix
@@ -1,28 +1,34 @@
-{ stdenv, fetchurl, libffcall, gtk2, pkgconfig }:
+{ stdenv, fetchurl
+, glib
+, gtk3
+, libffcall
+, pkgconfig
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
-  v = "2.3.1";
-  name = "gtk-server-${v}";
+  pname = "gtk-server";
+  version = "2.4.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtk-server/${name}-sr.tar.gz";
-    sha256 = "0z8ng5rhxc7fpsj3d50h25wkgcnxjfy030jm8r9w9m729w2c9hxb";
+    url = "https://www.gtk-server.org/stable/gtk-server-${version}.tar.gz";
+    sha256 = "0vlx5ibvc7hyc8yipjgvrx1azvmh42i9fv1khg3dvn09nrdkrc7f";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libffcall gtk2 ];
+  preConfigure = ''
+    cd src
+  '';
 
-  configureOptions = [ "--with-gtk2" ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ libffcall glib gtk3 ];
 
-  NIX_LDFLAGS = [
-    "-ldl"
-  ];
+  configureOptions = [ "--with-gtk3" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "gtk-server for interpreted GUI programming";
-    homepage = http://www.gtk-server.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [stdenv.lib.maintainers.tohl];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://www.gtk-server.org/";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.tohl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.0.sh b/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.0.sh
index c7fb4f70fc6a..6bb3910aaff4 100644
--- a/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.0.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.2.sh b/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.2.sh
index 73e700bde026..4b3541fcc7f0 100644
--- a/nixpkgs/pkgs/development/interpreters/guile/setup-hook-2.2.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/guile/setup-hook.sh b/nixpkgs/pkgs/development/interpreters/guile/setup-hook.sh
index bf04fee1e893..d006b50ce8ef 100644
--- a/nixpkgs/pkgs/development/interpreters/guile/setup-hook.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/hy/default.nix b/nixpkgs/pkgs/development/interpreters/hy/default.nix
index a6acd603c815..5816b3a175c6 100644
--- a/nixpkgs/pkgs/development/interpreters/hy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/hy/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "hy";
   version = "0.17.0";
 
-  src = pythonPackages.fetchPypi {
+  src = python2Packages.fetchPypi {
     inherit pname version;
     sha256 = "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python2Packages; [
     appdirs
     astor
     clint
diff --git a/nixpkgs/pkgs/development/interpreters/io/default.nix b/nixpkgs/pkgs/development/interpreters/io/default.nix
index 6c0568d68134..f763274c15d7 100644
--- a/nixpkgs/pkgs/development/interpreters/io/default.nix
+++ b/nixpkgs/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
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
 
     maintainers = with maintainers; [
       raskin
-      z77z
+      maggesi
       vrthra
     ];
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index d00e37733f2a..3138d1ba3d72 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.3.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "160wd3436cl50wkvqpaf6mbb69qlzzammcg5yb07wx9yw31g399p";
+    sha256 = "044pqwbpdyn7afij68wxks8drb84kmj31c8ziqsfm5msi2al0rw2";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix b/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix
index 91b4c0b9a9e6..d803fe43fd7a 100644
--- a/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix
+++ b/nixpkgs/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 = toString (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/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix
index 233900cadd03..669bbc951239 100644
--- a/nixpkgs/pkgs/development/interpreters/joker/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "0.12.7";
+  version = "0.12.9";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "0panmhrg1i158xbvqvq3s3217smbj7ynwlaiks18pmss36xx9dk4";
+    sha256 = "19n2pzs045mflyzgq3cpa4w2fbd0f77j5k6c4yc3gk0mcwgdxhs2";
   };
 
   modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j";
diff --git a/nixpkgs/pkgs/development/interpreters/jruby/default.nix b/nixpkgs/pkgs/development/interpreters/jruby/default.nix
index 6c4a9f20fa3e..4e3f92d7cdc2 100644
--- a/nixpkgs/pkgs/development/interpreters/jruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   pname = "jruby";
 
-  version = "9.2.8.0";
+  version = "9.2.9.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "1fy717xy8csc89dnz3a8j96arq1s1vs8nakkkpcaqm1z1648didp";
+    sha256 = "04grdf57c1dgragm17yyjk69ak8mwiwfc1vjzskzcaag3fwgplyf";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/interpreters/kona/default.nix b/nixpkgs/pkgs/development/interpreters/kona/default.nix
index a9922a387657..9b7f36f4c874 100644
--- a/nixpkgs/pkgs/development/interpreters/kona/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/kona/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0c1yf3idqkfq593xgqb25r2ykmfmp83zzh3q7kb8095a069gvri3";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''mkdir -p "$out/bin"'';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
index fb034a471e7c..6e74229e1e88 100644
--- a/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
+++ b/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
@@ -9,9 +9,9 @@
 }:
 
 let
-  inherit (stdenv.lib) getVersion versionAtLeast splitString head;
+  inherit (stdenv.lib) getVersion versionAtLeast versions;
 
-  mainVersion = head (splitString "." (getVersion erlang));
+  mainVersion = versions.major (getVersion erlang);
 
   proper = buildHex {
     name = "proper";
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.10.nix b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
index 7e90c6dfb287..e1ca3ded2083 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.10.nix
+++ b/nixpkgs/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
   ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     "--with-lua=luajit"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
+  NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
   meta = {
     homepage = http://love2d.org;
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.7.nix b/nixpkgs/pkgs/development/interpreters/love/0.7.nix
index 7f39259c298e..3bf8aee0d07b 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.7.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/love/0.8.nix b/nixpkgs/pkgs/development/interpreters/love/0.8.nix
index 792fe299e4dd..3a6c385ee5fc 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.8.nix
+++ b/nixpkgs/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
   ];
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     } || true
   '';
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-I${SDL.dev}/include/SDL"
     "-I${freetype.dev}include/freetype2"
     "-DGL_GLEXT_PROTOTYPES" # https://community.khronos.org/t/glgenbuffers-was-not-declared-in-this-scope/59283/2
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.9.nix b/nixpkgs/pkgs/development/interpreters/love/0.9.nix
index 425239af2242..a2182f454361 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.9.nix
+++ b/nixpkgs/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
   ];
 
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.raskin ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/love/11.1.nix b/nixpkgs/pkgs/development/interpreters/love/11.1.nix
index 478b147d1f3d..3629345baf6a 100644
--- a/nixpkgs/pkgs/development/interpreters/love/11.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/11.1.nix
@@ -1,11 +1,11 @@
-{ 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
 }:
 
 let
   pname = "love";
-  version = "11.2";
+  version = "11.3";
 in
 
 stdenv.mkDerivation {
@@ -14,12 +14,12 @@ stdenv.mkDerivation {
     owner = "rude";
     repo = "love";
     rev = version;
-    sha256 = "0q1lsgc1621czrg49nmabq6am9sgxa9syxrwzlksqqr4dyzw4nmf";
+    sha256 = "18gfp65ngb8k8g7hgbw2bhrwk2i7m56m21d39pk4484q9z8p4vm7";
   };
 
   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
   ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     "--with-lua=luajit"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
+  NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
   meta = {
     homepage = http://love2d.org;
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch b/nixpkgs/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
index 31d3b8bdee76..31d3b8bdee76 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch b/nixpkgs/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch
new file mode 100644
index 000000000000..89e81b7eb68b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix b/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 74ccb91030aa..be7aa5fc09d7 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/lua-5/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
index 08645dfb77f3..7e79ff8f117a 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
+++ b/nixpkgs/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
@@ -49,7 +52,7 @@ in rec {
     sourceVersion = { major = "5"; minor = "1"; patch = "5"; };
     hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
     patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch51 ])
-      ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ];
+      ++ [ ./CVE-2014-5461.patch ];
   };
 
   luajit_2_0 = import ../luajit/2.0.nix {
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/setup-hook.sh b/nixpkgs/pkgs/development/interpreters/lua-5/setup-hook.sh
index f7e56b62ac90..1c445b82afde 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/setup-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/setup-hook.sh
@@ -20,7 +20,7 @@ addToLuaSearchPathWithCustomDelimiter() {
   if [[ ! -d "$topDir" ]]; then return; fi
 
   # export only if we haven't already got this dir in the search path
-  if [[ ${!varName} == *"$absPattern"* ]]; then return; fi
+  if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
 
   export "${varName}=${!varName:+${!varName};}${absPattern}"
 }
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/wrapper.nix b/nixpkgs/pkgs/development/interpreters/lua-5/wrapper.nix
index 816744e61cff..53ec2baeb5e5 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
index 0889b7fefe68..7db3830447f7 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
@@ -4,7 +4,8 @@ callPackage ./default.nix {
   version = "2.0.5";
   isStable = true;
   sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7";
-  extraMeta = {
-    platforms = lib.filter (p: p != "aarch64-linux") lib.meta.platforms;
+  extraMeta = { # this isn't precise but it at least stops the useless Hydra build
+    platforms = with lib; filter (p: p != "aarch64-linux")
+      (platforms.linux ++ platforms.darwin);
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/default.nix b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
index 7db8feb98e71..5b7761164472 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
@@ -62,12 +62,12 @@ stdenv.mkDerivation rec {
     interpreter = "${self}/bin/lua";
   };
 
-  meta = with stdenv.lib; extraMeta // {
+  meta = with stdenv.lib; {
     description = "High-performance JIT compiler for Lua 5.1";
     homepage    = http://luajit.org;
     license     = licenses.mit;
     platforms   = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ thoughtpolice smironov vcunat andir ];
-  };
+  } // extraMeta;
 }
 
diff --git a/nixpkgs/pkgs/development/interpreters/lush/default.nix b/nixpkgs/pkgs/development/interpreters/lush/default.nix
index 5a241fbf83ee..a8db08e87a2c 100644
--- a/nixpkgs/pkgs/development/interpreters/lush/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/metamath/default.nix b/nixpkgs/pkgs/development/interpreters/metamath/default.nix
index 686cfee19a6d..2213ace8f572 100644
--- a/nixpkgs/pkgs/development/interpreters/metamath/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/metamath/default.nix
@@ -2,21 +2,23 @@
 
 stdenv.mkDerivation {
   pname = "metamath";
-  version = "0.172";
+  version = "0.178";
 
   buildInputs = [ autoreconfHook ];
 
-  # This points to my own repository because there is no official repository
-  # for metamath; there's a download location but it gets updated in place with
-  # no permanent link. See discussion at
-  # https://groups.google.com/forum/#!topic/metamath/N4WEWQQVUfY
   src = fetchFromGitHub {
-    owner = "Taneb";
-    repo = "metamath";
-    rev = "43141cd17638f8efb409dc5d46e7de6a6c39ec42";
-    sha256 = "07c7df0zl0wsb0pvdgkwikpr8kz7fi3mshxzk61vkamyp68djjb5";
+    owner = "metamath";
+    repo = "metamath-exe";
+    rev = "4f59d60aeb03f92aea3cc7ecf5a2c0fcf08900a5";
+    sha256 = "0nrl4nzp6rm2sn365xyjf3g5l5fl58kca7rq08lqyz5gla0wgfcf";
   };
 
+  # the files necessary to build the DATA target are not in this distribution
+  # luckily, they're not really needed so we don't build it.
+  makeFlags = [ "DATA=" ];
+
+  installTargets = [ "install-exec" ];
+
   meta = with stdenv.lib; {
     description = "Interpreter for the metamath proof language";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/interpreters/micropython/default.nix b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
new file mode 100644
index 000000000000..3293c4b9f58d
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, libffi, python3, readline }:
+
+stdenv.mkDerivation rec {
+  pname = "micropython";
+  version = "1.12";
+
+  src = fetchFromGitHub {
+    owner  = "micropython";
+    repo   = "micropython";
+    rev    = "v${version}";
+    sha256 = "1fsigdahnv5yn0mc7dr1y6h7g8ywg084pcgj6d64kb39w641n8j5";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig python3 ];
+
+  buildInputs = [ libffi readline ];
+
+  doCheck = true;
+
+  buildPhase = ''
+    make -C mpy-cross
+    make -C ports/unix
+  '';
+
+  checkPhase = ''
+    pushd tests
+    MICROPY_MICROPYTHON=../ports/unix/micropython ${python3.interpreter} ./run-tests
+    popd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -Dm755 ports/unix/micropython $out/bin/micropython
+  '';
+
+  meta = with lib; {
+    description = "A lean and efficient Python implementation for microcontrollers and constrained systems";
+    homepage = "https://micropython.org";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ sgo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/octave/default.nix b/nixpkgs/pkgs/development/interpreters/octave/default.nix
index cc9f6fcc3c90..eb9827969e12 100644
--- a/nixpkgs/pkgs/development/interpreters/octave/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/octave/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
-, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGLU_combined, fltk
-, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
+, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
+, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp, gl2ps
 , qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
 , suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull
     graphicsmagick pcre pkgconfig fltk zlib curl openblas libsndfile fftw
-    fftwSinglePrec portaudio qrupdate arpack libwebp ]
+    fftwSinglePrec portaudio qrupdate arpack libwebp gl2ps ]
     ++ (stdenv.lib.optional (qt != null) qt)
     ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     ++ (stdenv.lib.optional (jdk != null) jdk)
     ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
     ++ (stdenv.lib.optional (python != null) python)
-    ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGLU_combined libX11 ])
+    ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
     ;
 
   # makeinfo is required by Octave at runtime to display help
diff --git a/nixpkgs/pkgs/development/interpreters/perl/default.nix b/nixpkgs/pkgs/development/interpreters/perl/default.nix
index 2ecc5cbb2ef6..3231c17e8d9b 100644
--- a/nixpkgs/pkgs/development/interpreters/perl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/perl/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
-, enableThreading ? stdenv ? glibc, makeWrapper
+, enableThreading ? stdenv ? glibc, coreutils, makeWrapper
 }:
 
 with lib;
@@ -35,7 +35,7 @@ let
 
     # TODO: Add a "dev" output containing the header files.
     outputs = [ "out" "man" "devdoc" ] ++
-      stdenv.lib.optional crossCompiling "dev";
+      optional crossCompiling "dev";
     setOutputFlags = false;
 
     disallowedReferences = [ stdenv.cc ];
@@ -57,12 +57,20 @@ let
       ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
       ++ optional crossCompiling ./MakeMaker-cross.patch;
 
-    postPatch = ''
-      pwd="$(type -P pwd)"
+    # This is not done for native builds because pwd may need to come from
+    # bootstrap tools when building bootstrap perl.
+    postPatch = (if crossCompiling then ''
       substituteInPlace dist/PathTools/Cwd.pm \
-        --replace "/bin/pwd" "$pwd"
-    '' + stdenv.lib.optionalString crossCompiling ''
+        --replace "/bin/pwd" '${coreutils}/bin/pwd'
       substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
+    '' else ''
+      substituteInPlace dist/PathTools/Cwd.pm \
+        --replace "/bin/pwd" "$(type -P pwd)"
+    '') +
+    # Perl's build system uses the src variable, and its value may end up in
+    # the output in some cases (when cross-compiling)
+    ''
+      unset src
     '';
 
     # Build a thread-safe Perl with a dynamic libperls.o.  We need the
@@ -83,9 +91,15 @@ let
       ]
       ++ optionals ((builtins.match ''5\.[0-9]*[13579]\..+'' version) != null) [ "-Dusedevel" "-Uversiononly" ]
       ++ optional stdenv.isSunOS "-Dcc=gcc"
-      ++ optional enableThreading "-Dusethreads";
+      ++ optional enableThreading "-Dusethreads"
+      ++ optionals (!crossCompiling) [
+        "-Dprefix=${placeholder "out"}"
+        "-Dman1dir=${placeholder "out"}/share/man/man1"
+        "-Dman3dir=${placeholder "out"}/share/man/man3"
+      ]
+      ++ optional (stdenv.isAarch32 || stdenv.isMips) "-Dldflags=\"-lm -lrt\"";
 
-    configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
+    configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
 
     dontAddPrefix = !crossCompiling;
 
@@ -94,10 +108,6 @@ let
     preConfigure = ''
         substituteInPlace ./Configure --replace '`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`' 'Thu Jan  1 00:00:01 UTC 1970'
         substituteInPlace ./Configure --replace '$uname -a' '$uname --kernel-name --machine --operating-system'
-      '' + optionalString (!crossCompiling) ''
-        configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
-      '' + optionalString (stdenv.isAarch32 || stdenv.isMips) ''
-        configureFlagsArray=(-Dldflags="-lm -lrt")
       '' + optionalString stdenv.isDarwin ''
         substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
       '' + optionalString (!enableThreading) ''
@@ -136,11 +146,11 @@ let
         substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
           --replace "${libcInc}" /no-such-path \
           --replace "${
-              if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
+              if stdenv.hasCC then stdenv.cc.cc else "/no-such-path"
             }" /no-such-path \
           --replace "${stdenv.cc}" /no-such-path \
           --replace "$man" /no-such-path
-      '' + stdenv.lib.optionalString crossCompiling
+      '' + optionalString crossCompiling
       ''
         mkdir -p $dev/lib/perl5/cross_perl/${version}
         for dir in cnf/{stub,cpan}; do
@@ -172,12 +182,12 @@ let
       platforms = platforms.all;
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
-  } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
+  } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
+    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 ];
@@ -205,15 +215,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/nixpkgs/pkgs/development/interpreters/perl/sw_vers.patch b/nixpkgs/pkgs/development/interpreters/perl/sw_vers.patch
index 9d4cd75486e6..2e30dba92924 100644
--- a/nixpkgs/pkgs/development/interpreters/perl/sw_vers.patch
+++ b/nixpkgs/pkgs/development/interpreters/perl/sw_vers.patch
@@ -7,7 +7,7 @@ index afadf53..80b7533 100644
      # "ProductVersion:    10.10.5"   "10.10"
      # "ProductVersion:    10.11"     "10.11"
 -        prodvers=`sw_vers|awk '/^ProductVersion:/{print $2}'|awk -F. '{print $1"."$2}'`
-+        prodvers="10.10"
++        prodvers="${MACOSX_DEPLOYMENT_TARGET:-10.12}"
      case "$prodvers" in
      10.*)
        add_macosx_version_min ccflags $prodvers
diff --git a/nixpkgs/pkgs/development/interpreters/php/default.nix b/nixpkgs/pkgs/development/interpreters/php/default.nix
index 9a82868b7b3d..0fa605a4cac7 100644
--- a/nixpkgs/pkgs/development/interpreters/php/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/default.nix
@@ -1,10 +1,10 @@
 # pcre functionality is tested in nixos/tests/php-pcre.nix
 { lib, stdenv, fetchurl, autoconf, bison, libtool, pkgconfig, re2c
-, mysql, libxml2, readline, zlib, curl, postgresql, gettext
+, libmysqlclient, libxml2, readline, zlib, curl, postgresql, gettext
 , openssl, pcre, pcre2, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
 , uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
-, libzip, valgrind
+, libzip, valgrind, oniguruma
 }:
 
 with lib;
@@ -64,7 +64,7 @@ let
   }:
 
     let
-      mysqlBuildInputs = optional (!mysqlndSupport) mysql.connector-c;
+      mysqlBuildInputs = optional (!mysqlndSupport) libmysqlclient;
       libmcrypt' = libmcrypt.override { disablePosixThreads = true; };
     in stdenv.mkDerivation {
 
@@ -78,6 +78,7 @@ let
       buildInputs = [ ]
         ++ optional (versionOlder version "7.3") pcre
         ++ optional (versionAtLeast version "7.3") pcre2
+        ++ optional (versionAtLeast version "7.4") oniguruma
         ++ optional withSystemd systemd
         ++ optionals imapSupport [ uwimap openssl pam ]
         ++ optionals curlSupport [ curl openssl ]
@@ -94,8 +95,8 @@ let
         ++ optional postgresqlSupport postgresql
         ++ optional pdo_odbcSupport unixODBC
         ++ optional pdo_pgsqlSupport postgresql
-        ++ optional pdo_mysqlSupport mysqlBuildInputs
-        ++ optional mysqliSupport mysqlBuildInputs
+        ++ optionals pdo_mysqlSupport mysqlBuildInputs
+        ++ optionals mysqliSupport mysqlBuildInputs
         ++ optional gmpSupport gmp
         ++ optional gettextSupport gettext
         ++ optional intlSupport icu
@@ -108,13 +109,14 @@ let
         ++ optional libzipSupport libzip
         ++ optional valgrindSupport valgrind;
 
-      CXXFLAGS = optional stdenv.cc.isClang "-std=c++11";
+      CXXFLAGS = optionalString stdenv.cc.isClang "-std=c++11";
 
       configureFlags = [
         "--with-config-file-scan-dir=/etc/php.d"
       ]
-      ++ optional (versionOlder version "7.3") "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
-      ++ optional (versionAtLeast version "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
+      ++ optionals (versionOlder version "7.3") [ "--with-pcre-regex=${pcre.dev}" "PCRE_LIBDIR=${pcre}" ]
+      ++ optionals (versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ]
+      ++ optionals (versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ]
       ++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
       ++ optional withSystemd "--with-fpm-systemd"
       ++ optionals imapSupport [
@@ -127,16 +129,17 @@ let
         "LDAP_INCDIR=${openldap.dev}/include"
         "LDAP_LIBDIR=${openldap.out}/lib"
       ]
-      ++ optional (ldapSupport && stdenv.isLinux)   "--with-ldap-sasl=${cyrus_sasl.dev}"
+      ++ optional (ldapSupport && stdenv.isLinux) "--with-ldap-sasl=${cyrus_sasl.dev}"
       ++ optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
       ++ optional embedSupport "--enable-embed"
       ++ optional mhashSupport "--with-mhash"
       ++ optional curlSupport "--with-curl=${curl.dev}"
       ++ optional zlibSupport "--with-zlib=${zlib.dev}"
-      ++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
+      ++ optional (libxml2Support && (versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
       ++ optional (!libxml2Support) [
         "--disable-dom"
         "--disable-libxml"
+        (if (versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
         "--disable-simplexml"
         "--disable-xml"
         "--disable-xmlreader"
@@ -149,14 +152,19 @@ let
       ++ optional postgresqlSupport "--with-pgsql=${postgresql}"
       ++ optional pdo_odbcSupport "--with-pdo-odbc=unixODBC,${unixODBC}"
       ++ optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}"
-      ++ optional pdo_mysqlSupport "--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else mysql.connector-c}"
+      ++ optional pdo_mysqlSupport "--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else libmysqlclient}"
       ++ optionals mysqliSupport [
-        "--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"
+        "--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${libmysqlclient}/bin/mysql_config"}"
       ]
       ++ optional ( pdo_mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
       ++ optional bcmathSupport "--enable-bcmath"
       # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
-      ++ optionals gdSupport [
+      ++ optionals (gdSupport && versionAtLeast version "7.4") [
+        "--enable-gd"
+        "--with-jpeg=${libjpeg.dev}"
+        "--with-freetype=${freetype.dev}"
+        "--enable-gd-jis-conv"
+      ] ++ optionals (gdSupport && versionOlder version "7.4") [
         "--with-gd"
         "--with-freetype-dir=${freetype.dev}"
         "--with-png-dir=${libpng.dev}"
@@ -173,7 +181,8 @@ let
       ++ optional xslSupport "--with-xsl=${libxslt.dev}"
       ++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
       ++ optional bz2Support "--with-bz2=${bzip2.dev}"
-      ++ optional zipSupport "--enable-zip"
+      ++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
+      ++ optional (zipSupport && (versionAtLeast version "7.4")) "--with-zip"
       ++ optional ftpSupport "--enable-ftp"
       ++ optional fpmSupport "--enable-fpm"
       ++ optional ztsSupport "--enable-maintainer-zts"
@@ -181,7 +190,7 @@ let
       ++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
       ++ optional tidySupport "--with-tidy=${html-tidy}"
       ++ optional argon2Support "--with-password-argon2=${libargon2}"
-      ++ optional libzipSupport "--with-libzip=${libzip.dev}"
+      ++ optional (libzipSupport && (versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
       ++ optional phpdbgSupport "--enable-phpdbg"
       ++ optional (!phpdbgSupport) "--disable-phpdbg"
       ++ optional (!cgiSupport) "--disable-cgi"
@@ -254,18 +263,23 @@ let
 
 in {
   php72 = generic {
-    version = "7.2.22";
-    sha256 = "12phn0rrd5r1j6xlz83h7v6gszmj4lb5gwj927psbbc6nn1rh2n1";
+    version = "7.2.26";
+    sha256 = "0yw49v3rk3cd0fb4gsli74pgd4qrykhn9c37dyfr3zsprzp8cvgk";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
   };
 
   php73 = generic {
-    version = "7.3.9";
-    sha256 = "1i33v50rbqrfwjwch1d46mbpwbxrg1xfycs9mjl7xsy9m04rg753";
+    version = "7.3.13";
+    sha256 = "1g376b9caw21mw8738z354llbzb3shzgc60m7naw7wql5038jysw";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
   };
+
+  php74 = generic {
+    version = "7.4.1";
+    sha256 = "0klfwhm2935ariwzqdri1fwh4a0vbrk3jis53qzi18isp3qa073b";
+  };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
index dc3b08acbd96..1a0a781b9188 100644
--- a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
@@ -3,10 +3,10 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "picoLisp";
-  version = "19.6";
+  version = "19.12";
   src = fetchurl {
     url = "https://www.software-lab.de/${pname}-${version}.tgz";
-    sha256 = "1ixxl6m5glhwqa4q3fb90pciv7jhhvn9pkh316d4wcv0m13l04gq";
+    sha256 = "10np0mhihr47r3201617zccrvzpkhdl1jwvz7zimk8kxpriydq2j";
   };
   buildInputs = [makeWrapper openssl] ++ optional stdenv.is64bit jdk;
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/interpreters/proglodyte-wasm/default.nix b/nixpkgs/pkgs/development/interpreters/proglodyte-wasm/default.nix
index 5710f1066757..8ebbf6cf5012 100644
--- a/nixpkgs/pkgs/development/interpreters/proglodyte-wasm/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/proglodyte-wasm/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ proglodyte ];
     platforms = platforms.linux;
     license = licenses.asl20;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/pure/default.nix b/nixpkgs/pkgs/development/interpreters/pure/default.nix
index 188058a73b52..9c35fc354976 100644
--- a/nixpkgs/pkgs/development/interpreters/pure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/pure/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ bison flex makeWrapper ];
   propagatedBuildInputs = [ llvm gmp mpfr readline ];
-  NIX_LDFLAGS = [ "-lLLVMJIT" ];
+  NIX_LDFLAGS = "-lLLVMJIT";
 
   postPatch = ''
     for f in expr.cc matcher.cc printer.cc symtable.cc parserdefs.hh; do
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 4e323898afbf..e6b3dff433b3 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -79,12 +79,6 @@ let
         sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57";
       })
 
-      (fetchpatch {
-        url = "https://github.com/python/cpython/commit/979daae300916adb399ab5b51410b6ebd0888f13.patch";
-        name = "CVE-2018-20852.patch";
-        sha256 = "0p838ycssd6abxzby69rhngjqqm59cmlp07910mpjx7lmsz049pb";
-      })
-
       # Fix race-condition during pyc creation. Has a slight backwards
       # incompatible effect: pyc symlinks will now be overridden
       # (https://bugs.python.org/issue17222). Included in python >= 3.4,
@@ -240,9 +234,6 @@ in with passthru; stdenv.mkDerivation ({
         ln -s $out/lib/${libPrefix}/pdb.py $out/bin/pdb${sourceVersion.major}.${sourceVersion.minor}
         ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
 
-        # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-        echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
         rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev
 
         # Determinism: Windows installers were not deterministic.
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch
index 90c21d5e60ca..78d9272d098a 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch
@@ -93,8 +93,8 @@
                  _osx_support.customize_compiler(_config_vars)
                  _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
  
--        (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
--            get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+-        (cc, cxx, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+-            get_config_vars('CC', 'CXX', 'CFLAGS',
 -                            'CCSHARED', 'LDSHARED', 'SO', 'AR',
 -                            'ARFLAGS')
 +        (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
@@ -120,8 +120,7 @@
              ldshared = ldshared + ' ' + os.environ['LDFLAGS']
 +            ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
          if 'CFLAGS' in os.environ:
--            cflags = opt + ' ' + os.environ['CFLAGS']
-+            cflags = os.environ['CFLAGS']
+             cflags = cflags + ' ' + os.environ['CFLAGS']
              ldshared = ldshared + ' ' + os.environ['CFLAGS']
 +        if 'CXXFLAGS' in os.environ:
 +            cxxflags = os.environ['CXXFLAGS']
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch b/nixpkgs/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
new file mode 100644
index 000000000000..a1f9d68eb166
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index 32aa355d3aa2..e75bd0a09875 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/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"
@@ -100,7 +101,7 @@ in with passthru; stdenv.mkDerivation {
   ] ++ optionals isPy35 [
     # Backports support for LD_LIBRARY_PATH from 3.6
     ./3.5/ld_library_path.patch
-  ] ++ optionals isPy37 [
+  ] ++ optionals (isPy37 || isPy38) [
     # Fix darwin build https://bugs.python.org/issue34027
     (fetchpatch {
       url = https://bugs.python.org/file47666/darwin-libutil.patch;
@@ -114,7 +115,7 @@ in with passthru; stdenv.mkDerivation {
     (
       if isPy35 then
         ./3.5/python-3.x-distutils-C++.patch
-      else if isPy37 then
+      else if isPy37 || isPy38 then
         ./3.7/python-3.x-distutils-C++.patch
       else
         fetchpatch {
@@ -207,9 +208,6 @@ in with passthru; stdenv.mkDerivation {
 
     ln -s "$out/include/${executable}m" "$out/include/${executable}"
 
-    # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-    echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
     # Determinism: Windows installers were not deterministic.
     # We're also not interested in building Windows installers.
     find "$out" -name 'wininst*.exe' | xargs -r rm -f
diff --git a/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index bab7a047b15c..caf2e13bdf62 100644
--- a/nixpkgs/pkgs/development/interpreters/python/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/default.nix
@@ -28,6 +28,8 @@ with pkgs;
         isPy35 = pythonVersion == "3.5";
         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;
@@ -51,10 +53,10 @@ in {
     sourceVersion = {
       major = "2";
       minor = "7";
-      patch = "16";
+      patch = "17";
       suffix = "";
     };
-    sha256 = "1mqfcqp5y8r0bfyr7ppl74n0lig45p9mc4b8adlcpvj74rhfy8pj";
+    sha256 = "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
@@ -64,10 +66,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "5";
-      patch = "7";
+      patch = "9";
       suffix = "";
     };
-    sha256 = "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18";
+    sha256 = "0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
@@ -77,10 +79,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "6";
-      patch = "9";
+      patch = "10";
       suffix = "";
     };
-    sha256 = "1nkh70azbv866aw5a9bbxsxarsf40233vrzpjq17z3rz9ramybsy";
+    sha256 = "1pj0mz1xl27khi250p29c0y99vxg662js8zp71aprkf8i8wkr0qa";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
@@ -90,10 +92,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "7";
-      patch = "4";
+      patch = "6";
       suffix = "";
     };
-    sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
+    sha256 = "0gskry19ylw91p38pdq36qcgk6h3x5i4ia0ik977kw2943kwr8jm";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
@@ -103,27 +105,31 @@ in {
     sourceVersion = {
       major = "3";
       minor = "8";
-      patch = "0";
-      suffix = "b3";
+      patch = "1";
+      suffix = "";
     };
-    sha256 = "03wq85pkpr9j56k3zg6whahc5park1pzshbakl7y50lzrkpq2ynd";
+    sha256 = "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm";
     inherit (darwin) CF configd;
     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 = "a2";
     };
-    sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
+    sha256 = "02a301bdcldin05ksdg8xw8xr6gdkpf73p0cabvn9rdl6yhkr3q8";
     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;
@@ -199,4 +205,9 @@ in {
     ncurses = ncurses5;
   };
 
+  graalpython37 = callPackage ./graalpython/default.nix {
+    self = pythonInterpreters.graalpython37;
+    inherit passthruFun;
+  };
+
 })
diff --git a/nixpkgs/pkgs/development/interpreters/python/graalpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/graalpython/default.nix
new file mode 100644
index 000000000000..b5d7d130b5a7
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/graalpython/default.nix
@@ -0,0 +1,21 @@
+{ pkgs
+, lib
+, graalvm8
+, passthruFun
+, packageOverrides ? (self: super: {})
+, self
+}:
+
+let
+  passthru = passthruFun {
+    inherit self packageOverrides;
+    implementation = "graal";
+    sourceVersion = graalvm8.version;
+    pythonVersion = "3.7";
+    libPrefix = "graalvm";
+    sitePackages = "jre/languages/python/lib-python/3/site-packages";
+    executable = "graalpython";
+    hasDistutilsCxxPatch = false;
+    pythonForBuild = pkgs.buildPackages.pythonInterpreters.graalpython37;
+  };
+in lib.extendDerivation true passthru graalvm8
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
index 3a4b4a0ccadb..f05b3b1eec63 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
@@ -11,6 +11,27 @@ let
   setuppy = ../run_setup.py;
 in rec {
 
+  eggBuildHook = callPackage ({ }:
+    makeSetupHook {
+      name = "egg-build-hook.sh";
+      deps = [ ];
+    } ./egg-build-hook.sh) {};
+
+  eggInstallHook = callPackage ({ setuptools }:
+    makeSetupHook {
+      name = "egg-install-hook.sh";
+      deps = [ setuptools ];
+      substitutions = {
+        inherit pythonInterpreter pythonSitePackages;
+      };
+    } ./egg-install-hook.sh) {};
+
+  eggUnpackHook = callPackage ({ }:
+    makeSetupHook {
+      name = "egg-unpack-hook.sh";
+      deps = [ ];
+    } ./egg-unpack-hook.sh) {};
+
   flitBuildHook = callPackage ({ flit }:
     makeSetupHook {
       name = "flit-build-hook";
@@ -20,10 +41,10 @@ in rec {
       };
     } ./flit-build-hook.sh) {};
 
-  pipBuildHook = callPackage ({ pip }:
+  pipBuildHook = callPackage ({ pip, wheel }:
     makeSetupHook {
       name = "pip-build-hook.sh";
-      deps = [ pip ];
+      deps = [ pip wheel ];
       substitutions = {
         inherit pythonInterpreter pythonSitePackages;
       };
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/egg-build-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-build-hook.sh
new file mode 100644
index 000000000000..d5abc8d55e5a
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-build-hook.sh
@@ -0,0 +1,15 @@
+# Setup hook to use for eggs
+echo "Sourcing egg-build-hook"
+
+eggBuildPhase() {
+    echo "Executing eggBuildPhase"
+    runHook preBuild
+
+    runHook postBuild
+    echo "Finished executing eggBuildPhase"
+}
+
+if [ -z "${dontUseEggBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    echo "Using eggBuildPhase"
+    buildPhase=eggBuildPhase
+fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/egg-install-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-install-hook.sh
new file mode 100644
index 000000000000..ae894fb1bde4
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-install-hook.sh
@@ -0,0 +1,21 @@
+# Setup hook for eggs
+echo "Sourcing egg-install-hook"
+
+eggInstallPhase() {
+    echo "Executing eggInstallPhase"
+    runHook preInstall
+
+    mkdir -p "$out/@pythonSitePackages@"
+    export PYTHONPATH="$out/@pythonSitePackages@:$PYTHONPATH"
+
+    find
+    @pythonInterpreter@ -m easy_install --prefix="$out" *.egg
+
+    runHook postInstall
+    echo "Finished executing eggInstallPhase"
+}
+
+if [ -z "${dontUseEggInstall-}" ] && [ -z "${installPhase-}" ]; then
+    echo "Using eggInstallPhase"
+    installPhase=eggInstallPhase
+fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/egg-unpack-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-unpack-hook.sh
new file mode 100644
index 000000000000..c8ed3dee83ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/egg-unpack-hook.sh
@@ -0,0 +1,17 @@
+# Setup hook to use in case an egg is fetched
+echo "Sourcing egg setup hook"
+
+eggUnpackPhase(){
+    echo "Executing eggUnpackPhase"
+    runHook preUnpack
+
+    cp "$src" "$(stripHash "$src")"
+
+#     runHook postUnpack # Calls find...?
+    echo "Finished executing eggUnpackPhase"
+}
+
+if [ -z "${dontUseEggUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
+    echo "Using eggUnpackPhase"
+    unpackPhase=eggUnpackPhase
+fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/flit-build-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
index faa3f6e3075f..45893aae00f4 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
@@ -3,13 +3,13 @@ echo "Sourcing flit-build-hook"
 
 flitBuildPhase () {
     echo "Executing flitBuildPhase"
-    preBuild
+    runHook preBuild
     @pythonInterpreter@ -m flit build --format wheel
-    postBuild
+    runHook postBuild
     echo "Finished executing flitBuildPhase"
 }
 
-if [ -z "$dontUseFlitBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUseFlitBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using flitBuildPhase"
     buildPhase=flitBuildPhase
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/pip-build-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
index 6796d3efd0a1..292f13d30154 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
@@ -7,7 +7,7 @@ pipBuildPhase() {
 
     mkdir -p dist
     echo "Creating a wheel..."
-    @pythonInterpreter@ -m pip wheel --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist "$options" .
+    @pythonInterpreter@ -m pip wheel --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
     echo "Finished creating a wheel..."
 
     runHook postBuild
@@ -31,12 +31,12 @@ pipShellHook() {
     echo "Finished executing pipShellHook"
 }
 
-if [ -z "$dontUsePipBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using pipBuildPhase"
     buildPhase=pipBuildPhase
 fi
 
-if [ -z "$shellHook" ]; then
+if [ -z "${shellHook-}" ]; then
     echo "Using pipShellHook"
     shellHook=pipShellHook
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
index f528ec63cb8e..4eefe22d3f28 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
@@ -18,7 +18,7 @@ pipInstallPhase() {
     echo "Finished executing pipInstallPhase"
 }
 
-if [ -z "$dontUsePipInstall" ] && [ -z "$installPhase" ]; then
+if [ -z "${dontUsePipInstall-}" ] && [ -z "${installPhase-}" ]; then
     echo "Using pipInstallPhase"
     installPhase=pipInstallPhase
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
index 24510b9f9931..18f05b6d218c 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
@@ -43,7 +43,7 @@ function pytestCheckPhase() {
     echo "Finished executing pytestCheckPhase"
 }
 
-if [ -z "$dontUsePytestCheck" ] && [ -z "$installCheckPhase" ]; then
+if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
     echo "Using pytestCheckPhase"
     preDistPhases+=" pytestCheckPhase"
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
index e9065cf17934..374a2eddb407 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
@@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
     @pythonInterpreter@ @catchConflicts@
 }
 
-if [ -z "$dontUsePythonCatchConflicts" ]; then
+if [ -z "${dontUsePythonCatchConflicts-}" ]; then
     preDistPhases+=" pythonCatchConflictsPhase"
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
index 7e2b3f69d6dd..0fc55145a8eb 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
@@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
     fi
 }
 
-if [ -z "$dontUsePythonImportsCheck" ]; then
+if [ -z "${dontUsePythonImportsCheck-}" ]; then
     echo "Using pythonImportsCheckPhase"
     preDistPhases+=" pythonImportsCheckPhase"
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
index 960de767be79..2add23f23165 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
@@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
     fi
 }
 
-if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
+if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
     preDistPhases+=" pythonRemoveBinBytecodePhase"
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index db3e4225d293..2aec92793825 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -17,7 +17,7 @@ setuptoolsBuildPhase() {
     eval "@pythonInterpreter@ nix_run_setup $args bdist_wheel"
 
     runHook postBuild
-    echo "Finished executing setuptoolsInstallPhase"
+    echo "Finished executing setuptoolsBuildPhase"
 }
 
 setuptoolsShellHook() {
@@ -27,21 +27,21 @@ setuptoolsShellHook() {
     if test -e setup.py; then
         tmp_path=$(mktemp -d)
         export PATH="$tmp_path/bin:$PATH"
-        export PYTHONPATH="@pythonSitePackages@:$PYTHONPATH"
+        export PYTHONPATH="$tmp_path/@pythonSitePackages@:$PYTHONPATH"
         mkdir -p "$tmp_path/@pythonSitePackages@"
-        eval "@pythonInterpreter@ -m pip -e . --prefix $tmp_path >&2"
+        eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path >&2"
     fi
 
     runHook postShellHook
     echo "Finished executing setuptoolsShellHook"
 }
 
-if [ -z "$dontUseSetuptoolsBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using setuptoolsBuildPhase"
     buildPhase=setuptoolsBuildPhase
 fi
 
-if [ -z "$dontUseSetuptoolsShellHook" ] && [ -z "$shellHook" ]; then
+if [ -z "${dontUseSetuptoolsShellHook-}" ] && [ -z "${shellHook-}" ]; then
     echo "Using setuptoolsShellHook"
     shellHook=setuptoolsShellHook
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
index 71bb036a91ad..88b7b11931b0 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
@@ -12,7 +12,7 @@ setuptoolsCheckPhase() {
     echo "Finished executing setuptoolsCheckPhase"
 }
 
-if [ -z "$dontUseSetuptoolsCheck" ] && [ -z "$installCheckPhase" ]; then
+if [ -z "${dontUseSetuptoolsCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
     echo "Using setuptoolsCheckPhase"
     preDistPhases+=" setuptoolsCheckPhase"
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
index 6dd0c5be4cb2..fca808a933ba 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
@@ -12,7 +12,7 @@ wheelUnpackPhase(){
     echo "Finished executing wheelUnpackPhase"
 }
 
-if [ -z "$dontUseWheelUnpack" ] && [ -z "$unpackPhase" ]; then
+if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
     echo "Using wheelUnpackPhase"
     unpackPhase=wheelUnpackPhase
 fi
diff --git a/nixpkgs/pkgs/development/interpreters/python/manylinux/default.nix b/nixpkgs/pkgs/development/interpreters/python/manylinux/default.nix
new file mode 100644
index 000000000000..a44ead23752b
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/manylinux/default.nix
@@ -0,0 +1,86 @@
+{ lib, pkgs }:
+
+let
+  # Create a derivation that links all desired manylinux libraries
+  createManyLinuxPackage = name: libs: let
+    drvs = lib.unique (lib.attrValues libs);
+    names = lib.attrNames libs;
+  in pkgs.runCommand name {
+    buildInputs = drvs;
+  } ''
+    mkdir -p $out/lib
+    num_found=0
+
+    IFS=:
+    export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names}
+    export LIBRARY_PATH=${lib.makeLibraryPath drvs}
+    for desired in $DESIRED_LIBRARIES; do
+      for path in $LIBRARY_PATH; do
+        if [ -e $path/$desired ]; then
+          echo "FOUND $path/$desired"
+          ln -s $path/$desired $out/lib/$desired
+          num_found=$((num_found+1))
+          break
+        fi
+      done
+    done
+
+    num_desired=${toString (lib.length names)}
+    echo "Found $num_found of $num_desired libraries"
+    if [ "$num_found" -ne "$num_desired" ]; then
+      echo "Error: not all desired libraries were found"
+      exit 1
+    fi
+  '';
+
+  getLibOutputs = lib.mapAttrs (k: v: lib.getLib v);
+
+  # https://www.python.org/dev/peps/pep-0599/
+  manylinux2014Libs = getLibOutputs(with pkgs; {
+    "libgcc_s.so.1" = glibc;
+    "libstdc++.so.6" = stdenv.cc.cc;
+    "libm.so.6" = glibc;
+    "libdl.so.2" = glibc;
+    "librt.so.1" = glibc;
+    "libc.so.6" = glibc;
+    "libnsl.so.1" = glibc;
+    "libutil.so.1" = glibc;
+    "libpthread.so.0" = glibc;
+    "libresolv.so.2" = glibc;
+    "libX11.so.6" = xorg.libX11;
+    "libXext.so.6" = xorg.libXext;
+    "libXrender.so.1" = xorg.libXrender;
+    "libICE.so.6" = xorg.libICE;
+    "libSM.so.6" = xorg.libSM;
+    "libGL.so.1" = libGL;
+    "libgobject-2.0.so.0" = glib;
+    "libgthread-2.0.so.0" = glib;
+    "libglib-2.0.so.0" = glib;
+    });
+
+  # https://www.python.org/dev/peps/pep-0571/
+  manylinux2010Libs = manylinux2014Libs;
+
+  # https://www.python.org/dev/peps/pep-0513/
+  manylinux1Libs = getLibOutputs(manylinux2010Libs // (with pkgs; {
+    "libpanelw.so.5" = ncurses5;
+    "libncursesw.so.5" = ncurses5;
+    "libcrypt.so.1" = glibc;
+    }));
+
+in {
+  # List of libraries that are needed for manylinux compatibility.
+  # When using a wheel that is manylinux1 compatible, just extend
+  # the `buildInputs` with one of these `manylinux` lists.
+  # Additionally, add `autoPatchelfHook` to `nativeBuildInputs`.
+  manylinux1 = lib.unique (lib.attrValues manylinux1Libs);
+  manylinux2010 = lib.unique (lib.attrValues manylinux2010Libs);
+  manylinux2014 = lib.unique (lib.attrValues manylinux2014Libs);
+
+  # These are symlink trees to the relevant libs and are typically not needed
+  # These exist so as to quickly test whether all required libraries are provided
+  # by the mapped packages.
+  manylinux1Package = createManyLinuxPackage "manylinux1" manylinux1Libs;
+  manylinux2010Package = createManyLinuxPackage "manylinux2010" manylinux2010Libs;
+  manylinux2014Package = createManyLinuxPackage "manylinux2014" manylinux2014Libs;
+}
diff --git a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
index 700894eda6de..020298cc8e9f 100644
--- a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -20,6 +20,9 @@
 , setuptoolsBuildHook
 , setuptoolsCheckHook
 , wheelUnpackHook
+, eggUnpackHook
+, eggBuildHook
+, eggInstallHook
 }:
 
 { name ? "${attrs.pname}-${attrs.version}"
@@ -119,6 +122,8 @@ let
     pipBuildHook
   ] ++ lib.optionals (format == "wheel") [
     wheelUnpackHook
+  ] ++ lib.optionals (format == "egg") [
+    eggUnpackHook eggBuildHook eggInstallHook
   ] ++ lib.optionals (!(format == "other") || dontUsePipInstall) [
     pipInstallHook
   ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
index 8154a87f667d..b220bfa0f934 100644
--- a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
@@ -137,9 +137,6 @@ in with passthru; stdenv.mkDerivation rec {
     # verify cffi modules
     $out/bin/${executable} -c ${if isPy3k then "'import tkinter;import sqlite3;import curses;import lzma'" else "'import Tkinter;import sqlite3;import curses'"}
 
-    # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-    echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
     # Include a sitecustomize.py file
     cp ${../sitecustomize.py} $out/lib/${libPrefix}/${sitePackages}/sitecustomize.py
   '';
diff --git a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 2315e53220b9..7e0580ce063d 100755
--- a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -6,9 +6,9 @@ You can pass in multiple files or paths.
 
 You'll likely want to use
 ``
-  $ ./update-python-libraries ../../pkgs/development/python-modules/*
+  $ ./update-python-libraries ../../pkgs/development/python-modules/**/default.nix
 ``
-to update all libraries in that folder.
+to update all non-pinned libraries in that folder.
 """
 
 import argparse
@@ -116,11 +116,45 @@ SEMVER = {
 }
 
 
+def _determine_latest_version(current_version, target, versions):
+    """Determine latest version, given `target`.
+    """
+    current_version = Version(current_version)
+
+    def _parse_versions(versions):
+        for v in versions:
+            try:
+                yield Version(v)
+            except InvalidVersion:
+                pass
+
+    versions = _parse_versions(versions)
+
+    index = SEMVER[target]
+
+    ceiling = list(current_version[0:index])
+    if len(ceiling) == 0:
+        ceiling = None
+    else:
+        ceiling[-1]+=1
+        ceiling = Version(".".join(map(str, ceiling)))
+
+    # We do not want prereleases
+    versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
+
+    if ceiling is not None:
+        versions = SpecifierSet(f"<{ceiling}").filter(versions)
+
+    return (max(sorted(versions))).raw_version
+
+
 def _get_latest_version_pypi(package, extension, current_version, target):
     """Get latest version and hash from PyPI."""
     url = "{}/{}/json".format(INDEX, package)
     json = _fetch_page(url)
-    version = json['info']['version']
+
+    versions = json['releases'].keys()
+    version = _determine_latest_version(current_version, target, versions)
 
     try:
         releases = json['releases'][version]
@@ -132,7 +166,6 @@ def _get_latest_version_pypi(package, extension, current_version, target):
             sha256 = release['digests']['sha256']
             break
     else:
-        logging.error("Release not found for extension: {}".format(extension))
         sha256 = None
     return version, sha256
 
@@ -194,6 +227,10 @@ def _determine_extension(text, fetcher):
                 src_format = 'setuptools'
             elif src_format == 'flit':
                 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':
@@ -326,4 +363,4 @@ def main():
 
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
diff --git a/nixpkgs/pkgs/development/interpreters/python/wrap.sh b/nixpkgs/pkgs/development/interpreters/python/wrap.sh
index c7201c7a997b..f10ba003432b 100644
--- a/nixpkgs/pkgs/development/interpreters/python/wrap.sh
+++ b/nixpkgs/pkgs/development/interpreters/python/wrap.sh
@@ -81,7 +81,15 @@ wrapPythonProgramsIn() {
 
                     # Add any additional arguments provided by makeWrapperArgs
                     # argument to buildPythonPackage.
-                    local -a user_args="($makeWrapperArgs)"
+                    # We need to support both the case when makeWrapperArgs
+                    # is an array and a IFS-separated string.
+                    # TODO: remove the string branch when __structuredAttrs are used.
+                    if [[ "${makeWrapperArgs+defined}" == "defined" && "$(declare -p makeWrapperArgs)" =~ ^'declare -a makeWrapperArgs=' ]]; then
+                        local -a user_args=("${makeWrapperArgs[@]}")
+                    else
+                        local -a user_args="(${makeWrapperArgs:-})"
+                    fi
+
                     local -a wrapProgramArgs=("${wrap_args[@]}" "${user_args[@]}")
                     wrapProgram "${wrapProgramArgs[@]}"
                 fi
diff --git a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
new file mode 100644
index 000000000000..e7f01856ef59
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "quickjs";
+  version = "2019-12-21";
+
+  src = fetchurl {
+    url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "13hlx6qwrrxmlvvqcr3irxba6zmf05cf54l32vj50wc66s1qd41p";
+  };
+
+  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/nixpkgs/pkgs/development/interpreters/racket/default.nix b/nixpkgs/pkgs/development/interpreters/racket/default.nix
index f13adc21d9e6..3b3b91afd6f0 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/default.nix
@@ -46,7 +46,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "7.3"; # always change at once with ./minimal.nix
+  version = "7.5"; # always change at once with ./minimal.nix
 
   src = (stdenv.lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
       inherit sha256;
     }
   )) {
-    inherit ;name = "${pname}-${version}";
-    sha256 = "0h6072njhb87rkz4arijvahxgjzn8r14s4wns0ijvxm89bg136yl";
+    name = "${pname}-${version}";
+    sha256 = "0b74v0pqkx57x2gk0m4sp94jaf6bi1mci4ix9vx4sh2442sbds1j";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
       GUIs and charts.
     '';
     homepage = http://racket-lang.org/;
-    license = licenses.lgpl3;
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ kkallio henrytill vrthra ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
     broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
diff --git a/nixpkgs/pkgs/development/interpreters/racket/minimal.nix b/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
index a3d4a7a3c4fd..df7c72c4a681 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "1byvg1vy8hn1j64d5gjiwzfbghdp7lhja9xwz9x8iicwfldkjybj";
+    sha256 = "0478f0phkjch10ncsl8lm8a1m8qvgchrkgzpcaxyhmg2clyjgn8r";
   };
 
   meta = oldAttrs.meta // {
diff --git a/nixpkgs/pkgs/development/interpreters/renpy/default.nix b/nixpkgs/pkgs/development/interpreters/renpy/default.nix
index 30ac6d2bd5b4..759a44b5760f 100644
--- a/nixpkgs/pkgs/development/interpreters/renpy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/renpy/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL2
-, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib
+{ stdenv, fetchurl, python2Packages, pkgconfig, SDL2
+, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
 , glib
 }:
 
-with pythonPackages;
+with python2Packages;
 
 stdenv.mkDerivation rec {
   pname = "renpy";
-  version = "7.3.2";
+  version = "7.3.5";
 
   meta = with stdenv.lib; {
     description = "Ren'Py Visual Novel Engine";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
-    sha256 = "1i7s9s8invsm5bavw2jlk965pb5h5vgwyk1nhw0z1d22spmj4a4m";
+    sha256 = "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4";
   };
 
   patches = [
@@ -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/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
index dd450e8dd53c..efb898aa72b6 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
@@ -2,7 +2,7 @@
 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
 , zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, autoreconfHook, bison
 , autoconf, libiconv, libobjc, libunwind, Foundation
-, buildEnv, bundler, bundix, makeWrapper
+, buildEnv, bundler, bundix, makeWrapper, removeReferencesTo
 } @ args:
 
 let
@@ -28,6 +28,7 @@ let
     isRuby20 = ver.majMin == "2.0";
     isRuby21 = ver.majMin == "2.1";
     atLeast25 = lib.versionAtLeast ver.majMin "2.5";
+    atLeast27 = lib.versionAtLeast ver.majMin "2.7";
     baseruby = self.override {
       useRailsExpress = false;
       docSupport = false;
@@ -50,6 +51,11 @@ let
       , groff, docSupport ? true
       , libyaml, yamlSupport ? true
       , libffi, fiddleSupport ? true
+      # ruby -e "puts RbConfig::CONFIG['configure_args']"
+      # puts a reference to the C compiler in the binary.
+      # This might be required by some gems at runtime,
+      # but we allow to strip it out for smaller closure size.
+      , removeReferencesTo, removeReferenceToCC ? false
       , autoreconfHook, bison, autoconf
       , buildEnv, bundler, bundix
       , libiconv, libobjc, libunwind, Foundation
@@ -126,7 +132,13 @@ let
           cp ${config}/config.sub tool/
         '';
 
-        configureFlags = ["--enable-shared" "--enable-pthread"]
+        # Force the revision.h generation. Somehow `revision.tmp` is an empty
+        # file and because we don't add `git` to buildInputs, hence the check is
+        # always true.
+        # https://github.com/ruby/ruby/commit/97a5af62a318fcd93a4e5e4428d576c0280ddbae
+        buildFlags = lib.optionals atLeast27 [ "REVISION_LATEST=0" ];
+
+        configureFlags = ["--enable-shared" "--enable-pthread" "--with-soname=ruby_${tag}"]
           ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
           ++ op (!docSupport) "--disable-install-doc"
           ++ ops stdenv.isDarwin [
@@ -154,12 +166,19 @@ let
           export GEM_HOME="$out/${passthru.gemPath}"
         '';
 
-        installFlags = stdenv.lib.optionalString docSupport "install-doc";
+        installFlags = stdenv.lib.optional docSupport "install-doc";
         # Bundler tries to create this directory
         postInstall = ''
           # Remove unnecessary groff reference from runtime closure, since it's big
           sed -i '/NROFF/d' $out/lib/ruby/*/*/rbconfig.rb
-
+          ${
+            lib.optionalString removeReferenceToCC ''
+              # Get rid of the CC runtime dependency
+              ${removeReferencesTo}/bin/remove-references-to \
+                -t ${stdenv.cc} \
+                $out/lib/libruby*
+            ''
+          }
           # Bundler tries to create this directory
           mkdir -p $out/nix-support
           cat > $out/nix-support/setup-hook <<EOF
@@ -263,27 +282,34 @@ in {
   };
 
   ruby_2_4 = generic {
-    version = rubyVersion "2" "4" "7" "";
+    version = rubyVersion "2" "4" "9" "";
     sha256 = {
-      src = "12cbyf7zai8mi3mxffm5ynq3mmkcbvs7kb1bbrs259m61irgqvnd";
-      git = "1dgch9xz4wdcncb6pf2dvijm10yk6mbw2wfdrj7d3wazrjzh305z";
+      src = "1bn6n5b920qy3lsx99jr8495jkc3sg89swgb96d5fgd579g6p6zr";
+      git = "066kb1iki7mx7qkm10xhj5b6v8s47wg68v43l3nc36y2hyim1w2c";
     };
   };
 
   ruby_2_5 = generic {
-    version = rubyVersion "2" "5" "6" "";
+    version = rubyVersion "2" "5" "7" "";
     sha256 = {
-      src = "19xy6rf138ys4qycv0ibsycqwbjmf1j6iv9plw9cs81hcxnd0zhx";
-      git = "067gyy7149m6vk9dfyx22mghm2gbgy7snfa7df4ddrvr1pqffqmz";
+      src = "1m6nmnj9shifp8g3yh7aimac01vl035bzcc19x2spdji6ig0sb8b";
+      git = "0wppf82c9ccdbnvj30mppr5a3mc7sxm05diahjdw7hhk29n43knp";
     };
   };
 
   ruby_2_6 = generic {
-    version = rubyVersion "2" "6" "4" "";
+    version = rubyVersion "2" "6" "5" "";
     sha256 = {
-      src = "0dvrw4g2igvjclxk9bmb9pf6mzxwm22zqvqa0abkfnshfnxdihag";
-      git = "1h4z66amjykpzl6lxx6yad2yfpwnwix4sw19bd96jnwg248kviqf";
+      src = "0zgdrgylq6avbblf78kpaf0k2xnkpc3jng3wkd7x67ycdrqnp5v6";
+      git = "0pay6ic22ag3bnvxffhgwp7z6clkd0p93944a1l4lvc5hxc8v77j";
     };
   };
-}
 
+  ruby_2_7 = generic {
+    version = rubyVersion "2" "7" "0" "";
+    sha256 = {
+      src = "1glc3zpnih6h8mrgfcak0aa7cgmi4zyvxfyi6y2brwg2nn9sm6cc";
+      git = "11iz64k95czs273mb10195d1j75mmbcgddfdx1vay5876ffw81dq";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
index 56898e7886a0..9661508684e0 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
@@ -60,24 +60,21 @@
     "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.4.7" = ops useRailsExpress [
+  "2.4.9" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.4/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.5.6" = ops useRailsExpress [
+  "2.5.7" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
   ];
-  "2.6.4" = [
-    (fetchpatch {
-      url = "https://git.ruby-lang.org/ruby.git/patch/?id=ade1283ca276f7d589ffd3539fbc7b9817f682d5";
-      sha256 = "1vgrckmzz0ykyxgzyp8fcifa93xz2hvyfil79bw1gc3xx94wnnxd";
-    })
-  ] ++ ops useRailsExpress [
+  "2.6.5" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.6/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.6/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.6/head/railsexpress/03-more-detailed-stacktrace.patch"
   ];
+  "2.7.0" = ops useRailsExpress [ # no patches yet (2019-12-25)
+  ];
 }
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
index 7bc1a8f1fd91..3caac2447e2e 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -2,17 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "rubygems";
-  version = "3.0.6";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-    sha256 = "1ca1i4xmggizr59m6p28gprlvshczsbx30q8iyzxb2vj4jn8arzx";
+    sha256 = "0h7ij4jpj8rgnpkl63cwh2lnav73pw5wpfqra3va7077lsyadlgd";
   };
 
   patches = [
     ./0001-add-post-extract-hook.patch
     ./0002-binaries-with-env-shebang.patch
     ./0003-gem-install-default-to-user.patch
+
+    (fetchpatch {
+      url = "https://github.com/rubygems/rubygems/commit/0af4d2d369ff580ef54839ec15a8c7ec419978cb.patch";
+      sha256 = "13gyfxn4rmxq1dbxq5rzphnhagn8n8kpp8lb9h6h4s9d4zaklax9";
+    })
   ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix
index 97d2b67372af..fe77a27d449a 100644
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     ./1.8.5-arm-flags.patch
   ];
 
-  patchFlags = "-p3";
+  patchFlags = [ "-p3" ];
 
   # fixes build on gcc8
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/52.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/52.nix
deleted file mode 100644
index 238afd4bd040..000000000000
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/52.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
-
-let
-  version = "52.9.0";
-in stdenv.mkDerivation {
-  pname = "spidermonkey";
-  inherit version;
-
-  src = fetchurl {
-    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
-  };
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false; # Configure script only understands --includedir
-
-  buildInputs = [ readline icu zlib nspr ];
-  nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
-
-  # Apparently this package fails to build correctly with modern compilers, which at least
-  # on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
-  # These flags were stolen from:
-  # https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
-  NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
-
-  patches = [
-    # needed to build gnome3.gjs
-    (fetchpatch {
-      name = "mozjs52-disable-mozglue.patch";
-      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
-      sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
-    })
-  ];
-
-  configurePlatforms = [ ];
-
-  preConfigure = ''
-    export CXXFLAGS="-fpermissive"
-    export LIBXUL_DIST=$out
-    export PYTHON="${buildPackages.python2.interpreter}"
-    configureFlagsArray+=("--includedir=$dev/include")
-
-    cd js/src
-
-    autoconf
-  '';
-
-  configureFlags = [
-    "--with-nspr-prefix=${nspr}"
-    "--with-system-zlib"
-    "--with-system-icu"
-    "--with-intl-api"
-    "--enable-readline"
-    "--enable-shared-js"
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
-    ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "--host=${stdenv.buildPlatform.config}"
-    "--target=${stdenv.hostPlatform.config}"
-  ];
-
-  makeFlags = [
-    "HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
-  ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    moveToOutput bin/js52-config "$dev"
-    # Nuke a static lib.
-    rm $out/lib/libjs_static.ajs
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = https://developer.mozilla.org/en/SpiderMonkey;
-    license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
-    maintainers = [ maintainers.abbradar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix
index f62638dd8386..f6a4483edba7 100644
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix
@@ -4,23 +4,28 @@
 with stdenv.lib;
 
 let
-  version = "60.4.0";
+  version = "60.9.0";
 in stdenv.mkDerivation {
   pname = "spidermonkey";
   inherit version;
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "11gzxd82grc3kg1ha4yni6ag6b97n46qycvv6x15s91ziia5hli0";
+    sha256 = "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz";
   };
 
+  outputs = [ "out" "dev" ];
+  setOutputFlags = false; # Configure script only understands --includedir
+
   buildInputs = [ readline zlib icu ];
   nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
 
   patches = [
+    # Fixed in 62.0
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
     (fetchpatch {
-      url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363;
-      sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin";
+      url = "https://src.fedoraproject.org/rpms/mozjs60/raw/a1b605c73f382db25977cb2d4d70a3ba2ff85b92/f/Always-use-the-equivalent-year-to-determine-the-time-zone.patch";
+      sha256 = "12i225qbzlyfj2disms50zrr5jy8zgn2cc4rgsg58sfgf1bn7150";
     })
   ];
 
@@ -61,7 +66,9 @@ in stdenv.mkDerivation {
 
   # Remove unnecessary static lib
   preFixup = ''
+    moveToOutput bin/js60-config "$dev"
     rm $out/lib/libjs_static.ajs
+    ln -s $out/bin/js60 $out/bin/js
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
index 3c585c3f07fa..fd84d93ba756 100644
--- a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
+++ b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
@@ -31,10 +31,12 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  postInstall = ''
+  postInstall = let
+    dllExtension = stdenv.hostPlatform.extensions.sharedLibrary;
+  in ''
     make install-private-headers
     ln -s $out/bin/tclsh${release} $out/bin/tclsh
-    ln -s $out/lib/libtcl${release}.so $out/lib/libtcl.so
+    ln -s $out/lib/libtcl${release}${dllExtension} $out/lib/libtcl${dllExtension}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/interpreters/wasmtime/cargo-lock.patch b/nixpkgs/pkgs/development/interpreters/wasmtime/cargo-lock.patch
index 854798865704..3ce3f7659886 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmtime/cargo-lock.patch
+++ b/nixpkgs/pkgs/development/interpreters/wasmtime/cargo-lock.patch
@@ -1,17 +1,17 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..b961a31
+index 00000000..818de492
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,1608 @@
+@@ -0,0 +1,2276 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
 +name = "aho-corasick"
-+version = "0.7.3"
++version = "0.7.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -19,114 +19,191 @@ index 0000000..b961a31
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.26"
++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.10"
++version = "0.4.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "arrayvec"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "atty"
-+version = "0.2.11"
++version = "0.2.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.4"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.30"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.15 (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.66 (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.28"
++version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bincode"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bindgen"
-+version = "0.49.2"
++version = "0.51.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clang-sys 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cexpr 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (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)",
 + "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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)",
 + "shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.1.0"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "blake2b_simd"
++version = "0.5.10"
++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.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)",
++]
++
++[[package]]
++name = "block-buffer"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "block-padding"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "byte-tools"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "byteorder"
-+version = "1.3.1"
++version = "1.3.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "capstone"
-+version = "0.5.0"
++name = "c2-chacha"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "capstone-sys 0.9.1 (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 = "capstone-sys"
-+version = "0.9.1"
++name = "capstone"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "capstone-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "cast"
-+version = "0.2.2"
++name = "capstone-sys"
++version = "0.10.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.37"
++version = "1.0.49"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cexpr"
-+version = "0.3.5"
++version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -134,27 +211,27 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "chrono"
-+version = "0.4.6"
++version = "0.4.10"
 +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)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "clang-sys"
-+version = "0.28.0"
++version = "0.28.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -163,11 +240,11 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -176,182 +253,256 @@ index 0000000..b961a31
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cmake"
-+version = "0.1.40"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.4"
++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 = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen"
-+version = "0.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-bforest 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-meta 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (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.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-meta 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.1.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.9 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-meta"
-+version = "0.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "cranelift-codegen-shared"
++version = "0.50.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "cranelift-entity"
-+version = "0.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cranelift-frontend"
-+version = "0.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.1.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.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.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.30.0"
++version = "0.50.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.50.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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-deque"
-+version = "0.2.0"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.2.2 (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.3.1"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (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.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.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.2.1"
++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)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-utils"
-+version = "0.2.2"
++version = "0.6.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (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 = "docopt"
-+version = "1.1.0"
++name = "crossbeam-utils"
++version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.9.2 (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)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "dynasm"
-+version = "0.3.2"
++name = "ctor"
++version = "0.1.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "dynasmrt"
-+version = "0.3.1"
++name = "cvt"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "either"
-+version = "1.5.2"
++name = "digest"
++version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "env_logger"
-+version = "0.5.13"
++name = "directories"
++version = "2.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++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.66 (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)",
 +]
 +
 +[[package]]
++name = "docopt"
++version = "1.1.0"
++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)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dynasm"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dynasmrt"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "either"
++version = "1.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "env_logger"
-+version = "0.6.1"
++version = "0.6.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -361,8 +512,8 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -371,49 +522,52 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "faerie"
-+version = "0.9.1"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "string-interner 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "goblin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.3.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.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.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.9 (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.30 (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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "fake-simd"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "fallible-iterator"
-+version = "0.1.6"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -421,8 +575,19 @@ index 0000000..b961a31
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "filetime"
++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.66 (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]]
@@ -431,86 +596,149 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "fxhash"
-+version = "0.2.1"
++name = "gcc"
++version = "0.3.55"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "generic-array"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "gcc"
-+version = "0.3.55"
++name = "getrandom"
++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.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ghost"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "gimli"
-+version = "0.17.0"
++version = "0.19.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fallible-iterator 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "glob"
-+version = "0.2.11"
++version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "goblin"
-+version = "0.0.21"
++version = "0.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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]]
-+name = "hashbrown"
-+version = "0.1.8"
++name = "heck"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (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 = "hashmap_core"
-+version = "0.1.10"
++name = "hermit-abi"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "heck"
-+version = "0.3.1"
++name = "humantime"
++version = "1.3.0"
 +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)",
++ "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "humantime"
-+version = "1.2.0"
++name = "id-arena"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "indexmap"
++version = "1.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "indexmap"
-+version = "1.0.2"
++name = "indoc"
++version = "0.3.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "indoc-impl 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "indoc-impl"
++version = "0.3.4"
++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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "inventory"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inventory-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "inventory-impl"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "itertools"
-+version = "0.8.0"
++version = "0.8.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -519,52 +747,68 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "jobserver"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "lazy_static"
-+version = "1.3.0"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "leb128"
++version = "0.2.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.58"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "libloading"
-+version = "0.5.1"
++version = "0.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "lightbeam"
-+version = "0.0.0"
-+dependencies = [
-+ "capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dynasm 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dynasmrt 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++version = "0.8.0"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dynasm 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dynasmrt 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itertools 0.8.2 (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.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.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "log"
-+version = "0.4.6"
++version = "0.4.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -572,56 +816,56 @@ index 0000000..b961a31
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.0"
++version = "2.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "memmap"
-+version = "0.6.2"
++version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.3.0"
++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"
 +
 +[[package]]
 +name = "nix"
-+version = "0.13.0"
++version = "0.15.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (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.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "nodrop"
-+version = "0.1.13"
++version = "0.1.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -629,49 +873,120 @@ index 0000000..b961a31
 +version = "4.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[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.10 (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.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]]
 +name = "num-integer"
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (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]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.10 (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.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.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.4 (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.0"
++version = "1.11.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "numtoa"
-+version = "0.1.0"
++name = "opaque-debug"
++version = "0.2.3"
 +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.66 (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.3.3"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "paste"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "paste-impl"
++version = "0.1.6"
++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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "peeking_take_while"
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -682,131 +997,152 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "pretty_env_logger"
-+version = "0.3.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "proc-macro2"
-+version = "0.4.30"
++name = "proc-macro-hack"
++version = "0.5.11"
 +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)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "quick-error"
-+version = "1.2.2"
++name = "proc-macro2"
++version = "1.0.7"
 +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)",
++]
 +
 +[[package]]
-+name = "quickcheck"
-+version = "0.7.2"
++name = "pyo3"
++version = "0.8.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indoc 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inventory 0.1.5 (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.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3cls 0.8.5 (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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "quote"
-+version = "0.6.12"
++name = "pyo3-derive-backend"
++version = "0.8.5"
 +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)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand"
-+version = "0.5.6"
++name = "pyo3cls"
++version = "0.8.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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.58 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3-derive-backend 0.8.5 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand"
-+version = "0.6.5"
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "quickcheck"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (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.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
++name = "quote"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_core"
-+version = "0.2.2"
++name = "rand"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (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.66 (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)",
++ "rand_pcg 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_core"
-+version = "0.3.1"
++name = "rand_chacha"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.4.0 (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)",
 +]
 +
 +[[package]]
 +name = "rand_core"
-+version = "0.4.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "rand_hc"
-+version = "0.1.0"
++name = "rand_core"
++version = "0.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
-+name = "rand_isaac"
-+version = "0.1.1"
++name = "rand_core"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_jitter"
-+version = "0.1.4"
++name = "rand_hc"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -816,58 +1152,50 @@ index 0000000..b961a31
 +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.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_pcg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_xorshift"
-+version = "0.1.1"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[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.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon"
-+version = "1.0.3"
++version = "1.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.4.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.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.4.1"
++version = "1.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.0 (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.1 (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.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -880,54 +1208,79 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.54"
++version = "0.1.56"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "redox_termios"
-+version = "0.1.1"
++name = "redox_users"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "redox_syscall 0.1.54 (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)",
 +]
 +
 +[[package]]
 +name = "regex"
-+version = "1.1.6"
++version = "1.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.6"
++version = "0.6.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "region"
-+version = "2.0.0"
++version = "2.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-argon2"
++version = "0.5.1"
++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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rustc-demangle"
-+version = "0.1.15"
++version = "0.1.16"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "rustc-hash"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "rustc_version"
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -937,31 +1290,30 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "ryu"
-+version = "0.2.8"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "scopeguard"
-+version = "0.3.3"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -979,30 +1331,41 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.92"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.92"
++version = "1.0.104"
 +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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.39"
++version = "1.0.44"
 +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 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "sha2"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1012,7 +1375,12 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.9"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "spin"
++version = "0.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1022,10 +1390,10 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "string-interner"
-+version = "0.6.3"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1035,90 +1403,100 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "strsim"
-+version = "0.9.2"
++version = "0.9.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "structopt"
-+version = "0.2.17"
++name = "syn"
++version = "1.0.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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 = "structopt-derive"
-+version = "0.2.17"
++name = "synstructure"
++version = "0.12.3"
 +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 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (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 = "syn"
-+version = "0.15.34"
++name = "target-lexicon"
++version = "0.9.0"
 +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.12 (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 = "synstructure"
-+version = "0.10.2"
++name = "tempfile"
++version = "3.1.0"
 +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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (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.66 (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)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "take_mut"
-+version = "0.2.2"
++name = "termcolor"
++version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "target-lexicon"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
++name = "test-programs"
++version = "0.8.0"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.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)",
++ "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)",
++ "wasi-common 0.8.0",
++ "wasmtime 0.8.0",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wasmtime-wasi 0.8.0",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "termcolor"
-+version = "1.0.5"
++name = "textwrap"
++version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "termion"
-+version = "1.5.2"
++name = "thiserror"
++version = "1.0.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror-impl 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "textwrap"
-+version = "0.11.0"
++name = "thiserror-impl"
++version = "1.0.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1126,7 +1504,7 @@ index 0000000..b961a31
 +version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.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)",
 +]
 +
 +[[package]]
@@ -1134,9 +1512,17 @@ index 0000000..b961a31
 +version = "0.1.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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 = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1145,6 +1531,19 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "trybuild"
++version = "1.0.19"
++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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (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"
@@ -1153,23 +1552,28 @@ index 0000000..b961a31
 +]
 +
 +[[package]]
-+name = "ucd-util"
-+version = "0.1.3"
++name = "typenum"
++version = "1.11.2"
 +source = "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]]
 +name = "unicode-width"
-+version = "0.1.5"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unindent"
++version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1181,11 +1585,6 @@ index 0000000..b961a31
 +]
 +
 +[[package]]
-+name = "utf8-ranges"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
 +name = "vec_map"
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1196,235 +1595,407 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "version_check"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "void"
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "wabt"
-+version = "0.7.4"
++name = "walrus"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (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.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 = "wabt-sys"
-+version = "0.5.4"
++name = "walrus-macro"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "wasi"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "wasi-common"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common#9a66400cd8cb31badaf4e43d0e27afd76639b3ac"
++version = "0.8.0"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.8 (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.66 (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)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common-cbindgen 0.8.0",
++ "wig 0.8.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winx 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasi-common-cbindgen"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common#9a66400cd8cb31badaf4e43d0e27afd76639b3ac"
++version = "0.8.0"
 +dependencies = [
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trybuild 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "wasmparser"
-+version = "0.29.2"
++name = "wasm-webidl-bindings"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (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.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "wasmparser"
++version = "0.39.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "wasmtime"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (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.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pretty_env_logger 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-debug 0.1.0",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-obj 0.1.0",
-+ "wasmtime-runtime 0.1.0",
-+ "wasmtime-wasi 0.0.0",
-+ "wasmtime-wasi-c 0.0.0",
-+ "wasmtime-wast 0.1.0",
-+ "winapi 0.3.7 (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.3.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.104 (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.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.8.0",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wasmtime-wasi 0.8.0",
++ "wasmtime-wast 0.8.0",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasmtime-cli"
++version = "0.8.0"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.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.13.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)",
++ "libc 0.2.66 (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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "test-programs 0.8.0",
++ "wasi-common 0.8.0",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.8.0",
++ "wasmtime-debug 0.8.0",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-interface-types 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-obj 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wasmtime-wasi 0.8.0",
++ "wasmtime-wasi-c 0.8.0",
++ "wasmtime-wast 0.8.0",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-debug"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gimli 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "gimli 0.19.0 (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.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-environ"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lightbeam 0.0.0",
-+ "rayon 1.0.3 (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.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.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)",
++ "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.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)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lightbeam 0.8.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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "sha2 0.8.1 (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.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.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (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.8.0"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.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.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wasmtime-wasi 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-jit"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-debug 0.1.0",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (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.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-debug 0.8.0",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-obj"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.13.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.8.0",
++]
++
++[[package]]
++name = "wasmtime-py"
++version = "0.8.0"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3 0.8.5 (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.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.8.0",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-interface-types 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wasmtime-wasi 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-runtime"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (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.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.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)",
++ "libc 0.2.66 (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)",
++ "thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.8.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasmtime-rust"
++version = "0.8.0"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.8.0",
++ "wasmtime-interface-types 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-rust-macro 0.8.0",
++ "wasmtime-wasi 0.8.0",
++]
++
++[[package]]
++name = "wasmtime-rust-macro"
++version = "0.8.0"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-wasi"
-+version = "0.0.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.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.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.8.0",
++ "wasmtime 0.8.0",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-wasi-c"
-+version = "0.0.0"
++version = "0.8.0"
 +dependencies = [
-+ "bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "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.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-wast"
-+version = "0.1.0"
++version = "0.8.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.50.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.8.0",
++ "wasmtime-jit 0.8.0",
++ "wasmtime-runtime 0.8.0",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wast"
++version = "3.0.4"
++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 = "wast"
++version = "5.0.1"
++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.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "which"
-+version = "2.0.1"
++version = "3.1.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)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wig"
++version = "0.8.0"
++dependencies = [
++ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "witx 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "winapi"
-+version = "0.3.7"
++version = "0.3.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1441,7 +2012,7 @@ index 0000000..b961a31
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1451,164 +2022,261 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "wincolor"
-+version = "1.0.1"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
++[[package]]
++name = "winx"
++version = "0.8.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)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "witx"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zstd"
++version = "0.5.1+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zstd-safe"
++version = "2.0.3+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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.15+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
 +[metadata]
-+"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
++"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 arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
-+"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-+"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
-+"checksum backtrace 0.3.30 (registry+https://github.com/rust-lang/crates.io-index)" = "ada4c783bb7e7443c14e0480f429ae2cc99da95065aeab7ee1b81ada0419404f"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)" = "846a1fba6535362a01487ef6b10f0275faa12e5c5d835c5c1c627aabc46ccbd6"
-+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
-+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
-+"checksum capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "00be9d203fa0e078b93b24603633fb081851dfe0c1086364431f52587a47157e"
-+"checksum capstone-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc8d32bc5c1e6d0fcde10af411c98b07d93498d51654f678757f08fa2acd6a6"
-+"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
-+"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
-+"checksum cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af"
-+"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
-+"checksum clang-sys 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4227269cec09f5f83ff160be12a1e9b0262dd1aa305302d5ba296c2ebd291055"
++"checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
++"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 arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
++"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++"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.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
++"checksum bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5753e2a71534719bf3f4e57006c3a4f0d2c672a4b676eec84161f763eca87dbf"
++"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"
++"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
++"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
++"checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
++"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "031ba51c39151a1d6336ec859646153187204b0147c7b3f6fe2de636f1b8dbb3"
++"checksum capstone-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fae25eddcb80e24f98c35952c37a91ff7f8d0f60dbbdafb9763e8d5cc566b8d7"
++"checksum cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)" = "e450b8da92aa6f274e7c6437692f9f2ce6d701fb73bacfcf87897b3f89a4c20e"
++"checksum cexpr 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fce5b5fb86b0c57c20c834c1b412fd09c77c8a59b9473f86272709e78874cd1d"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
++"checksum clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81de550971c976f176130da4b2978d3b524eaa0fd9ac31f3ceb5ae1231fb4853"
 +"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+"checksum cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "2ca4386c8954b76a8415b63959337d940d724b336cabd3afe189c2b51a7e1ff0"
-+"checksum cranelift-bforest 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e5a357d20666bf4a8c2d626a19f1b59dbca66cd844fb1e66c5612254fd0f7505"
-+"checksum cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab00cb149a5bb0f7e6dd391357356a5d71c335a431e8eece94f32da2d5a043f7"
-+"checksum cranelift-codegen-meta 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3797a2f450ac71297e083dd440d0cdd0d3bceabe4a3ca6bcb9e4077e9c0327d"
-+"checksum cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b66e28877b75b3d2b31250f780bb5db8f68ae3df681cd56add803b2567ac4fd"
-+"checksum cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b72d55fd732b1f7a99d043a36c54a5679b6ec8bc777c8d954fb97c4fa0fce7eb"
-+"checksum cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0239f34836621a127c2132980b2f5c32a1be1c40e2d1a9a1a9bd5af33c12aee"
-+"checksum cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740ebfba28c8433f06750f84819f1eb663ea9f5e4b9a81c01f4e52262d868b56"
-+"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
-+"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
-+"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
++"checksum cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "81fb25b677f8bf1eb325017cb6bb8452f87969db0fedb4f757b297bee78a7c62"
++"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
++"checksum cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded"
++"checksum cranelift-bforest 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bd05aac8cefcde54ce26178df8f36cb1f518ac691db650e7d2440c2b6b41c4dc"
++"checksum cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63d9b6ff8a94f98deabab21880d7fd54996e0e16be687b6f80a3b6bdd9c188d"
++"checksum cranelift-codegen-meta 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7cb3df51c2c07d719d02869bfac6cabd8d82ee308d5b29ca62e6528723cc33a4"
++"checksum cranelift-codegen-shared 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "758f9426b2e22bf83fc1a6b231a9d53cd4830751883c7f0e196ebb3c210467b3"
++"checksum cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff064733df8b98f453060264a8790393d1e807aca6942706b42f79a4f7aae9ed"
++"checksum cranelift-frontend 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1eaafb5fa623dcbe19a28084a8226d7a1b17184a949c1a1f29a46b479867998d"
++"checksum cranelift-native 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "90033dbd7293f6fad4cf9dcd769cd621d60df22b1c5a11799e86359b7447a51d"
++"checksum cranelift-wasm 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54cb82a1071f88822763a583ec1a8688ffe5e2cda02c111d4483dd4376ed14d8"
++"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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
++"checksum ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8ce37ad4184ab2ce004c33bf6379185d3b1c95801cab51026bd271bf68eedc"
++"checksum cvt 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34ac344c7efccb80cd25bc61b2170aec26f2f693fd40e765a539a1243db48c71"
++"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
 +"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
-+"checksum dynasm 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f36d49ab6f8ecc642d2c6ee10fda04ba68003ef0277300866745cdde160e6b40"
-+"checksum dynasmrt 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c408a211e7f5762829f5e46bdff0c14bc3b1517a21a4bb781c716bf88b0c68"
-+"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
-+"checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
-+"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
++"checksum dynasm 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "42a814e1edeb85dd2a3c6fc0d6bf76d02ca5695d438c70ecee3d90774f3259c5"
++"checksum dynasmrt 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8a393aaeb4441a48bcf47b5b6155971f82cc1eb77e22855403ccc0415ac8328d"
++"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
++"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.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f48412f92b56015a240e249847295b38b0a731435806c21a199403b2c317272c"
-+"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 fallible-iterator 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eb7217124812dc5672b7476d0c2d20cfe9f7c0f1ba0904b674a9762a0212f72e"
++"checksum faerie 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f902f2af041f6c7177a2a04f805687cdc71e69c7cbef059a2755d8923f4cd7a8"
++"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"
++"checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
 +"checksum file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8505b75b31ef7285168dd237c4a7db3c1f3e0927e7d314e670bc98e854272fe9"
++"checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
 +"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-+"checksum gimli 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eb3243218ca3773e9aa00d27602f35bd1daca3be1b7112ea5fc23b2899f1a4f3"
-+"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
-+"checksum goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6a4013e9182f2345c6b7829b9ef6e670bce0dfca12c6f974457ed2160c2c7fe9"
-+"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da"
-+"checksum hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8e04cb7a5051270ef3fa79f8c7604d581ecfa73d520e74f554e45541c4b5881a"
++"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
++"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
++"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.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++"checksum goblin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3081214398d39e4bd7f2c1975f0488ed04614ffdd976c6fc7a0708278552c0da"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
-+"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
-+"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
-+"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
++"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
++"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"
++"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
++"checksum indoc 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9553c1e16c114b8b77ebeb329e5f2876eed62a8d51178c8bc6bff0d65f98f8"
++"checksum indoc-impl 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b714fc08d0961716390977cdff1536234415ac37b509e34e5a983def8340fb75"
++"checksum inventory 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2bf98296081bd2cb540acc09ef9c97f22b7e487841520350293605db1b2c7a27"
++"checksum inventory-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0a8e30575afe28eea36a9a39136b70b2fb6b0dd0a212a5bd1f30a498395c0274"
++"checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
 +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
-+"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
-+"checksum libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5692f82b51823e27c4118b3e5c0d98aee9be90633ebc71ad12afef380b50219"
-+"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
++"checksum jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160"
++"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.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
++"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
-+"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
-+"checksum memoffset 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7efacc914ca612fc1022f27b7dc51585e1a9f94c08fd5d322cfd741399260ce0"
++"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.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.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46f0f3210768d796e8fa79ec70ee6af172dacbe7147f5e69be5240a47778302b"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
++"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-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
-+"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
-+"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
++"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.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 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"
 +"checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 +"checksum plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
-+"checksum pretty_env_logger 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df8b3f4e0475def7d9c2e5de8e5a1306949849761e107b360d03e98eafaffd61"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
-+"checksum quickcheck 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4537d3e4edf73a15dd059b75bed1c292d17d3ea7517f583cebe716794fcf816"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
-+"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-+"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
++"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++"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 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
++"checksum pyo3 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1bfe257586436fbe1296d917f14a167d4253d0873bf43e2c9b9bdd58a3f9f35"
++"checksum pyo3-derive-backend 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4882d8237fd8c7373cc25cb802fe0dab9ff70830fd56f47ef6c7f3f287fcc057"
++"checksum pyo3cls 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fdf321cfab555f7411298733c86d21e5136f5ded13f5872fabf9de3337beecda"
++"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++"checksum quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5ca504a2fdaa08d3517f442fbbba91ac24d1ec4c51ea68688a038765e3b2662"
++"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"
 +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
-+"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-+"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++"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.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 raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "30a9d219c32c9132f7be513c18be77c9881c7107d2ab5569d205a6a0f0e6dc7d"
-+"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473"
-+"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356"
++"checksum rand_pcg 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
++"checksum raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf"
++"checksum rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
++"checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
-+"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
-+"checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58"
-+"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
-+"checksum region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ace21a7fc79cffefeb66f2cc3ef22c7687015023bf7f85bec8840f0d46cb51cc"
-+"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
++"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++"checksum region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "448e868c6e4cfddfa49b6a72c95906c04e8547465e9536575b95c70a4044f856"
++"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"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-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8"
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
-+"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
-+"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 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.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.92 (registry+https://github.com/rust-lang/crates.io-index)" = "32746bf0f26eab52f06af0d0aa1984f641341d06d8d673c693871da2d188c9be"
-+"checksum serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)" = "46a3223d0c9ba936b61c0d2e3e559e3217dbfb8d65d06d26e8b3c25de38bae3e"
-+"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
++"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0"
 +"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-+"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
++"checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
++"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.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abb38a0d8fe673c40b10b6b75abcb076a958cc10fb894f14993d9737c4c87000"
++"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 structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c767a8971f53d7324583085deee2e230903be09e52fb27df9af94c5cb2b43c31"
-+"checksum structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c57a30c87454ced2186f62f940e981746e8cbbe026d52090c8c4352b636f8235"
-+"checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
-+"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
-+"checksum target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d6923974ce4eb5bd28814756256d8ab71c28dd6e7483313fe7ab6614306bf633"
++"checksum strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
++"checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++"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 termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thiserror 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6f357d1814b33bc2dc221243f8424104bfe72dbe911d5b71b3816a2dff1c977e"
++"checksum thiserror-impl 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2e25d25307eb8436894f727aba8f65d07adf02e5b35a13cebed48bd282bfef"
 +"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.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.19 (registry+https://github.com/rust-lang/crates.io-index)" = "987d6fdc45ddd7f3be5aa7386c8c8a844d1655c95b9ed948a9cd9cded8f2b79f"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
-+"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
-+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
++"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++"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"
-+"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
 +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 +"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.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "74e463a508e390cc7447e70f640fbf44ad52e1bd095314ace1fdf99516d32add"
-+"checksum wabt-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a6265b25719e82598d104b3717375e37661d41753e2c84cde3f51050c7ed7e3c"
-+"checksum wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common)" = "<none>"
-+"checksum wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common)" = "<none>"
-+"checksum wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)" = "981a8797cf89762e0233ec45fae731cb79a4dfaee12d9f0fe6cee01e4ac58d00"
-+"checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"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.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 wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "233648f540f07fce9b972436f2fbcae8a750c1121b6d32d949e1a44b4d9fc7b1"
++"checksum wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8d1de68310854a9840d39487701a8c1acccb5c9f9f2650d5fce3cdfe6650c372"
++"checksum wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d916cc60b1b79ac1ca7683af8d6ec56b789167f7f696b3f1ab3d98961129f192"
++"checksum which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5475d47078209a02e60614f7ba5e645ef3ed60f771920ac1906d7c1cc65024c8"
++"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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
++"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++"checksum witx 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d075344afebe51633c0302fc11698c2d6414f9d366c749db1af57710f112561"
++"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/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
index b53b3ed9dbfb..c978f023936b 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
@@ -1,28 +1,28 @@
-{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang }:
+{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang, stdenv, darwin }:
 
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "20190521";
+  version = "v0.8.0";
 
   src = fetchFromGitHub {
-    owner = "CraneStation";
-    repo = "wasmtime";
-    rev = "e530a582afe6a2b5735fd7cdf5e2e88391e58669";
-    sha256 = "13lqf9dp1cnw7ms7hcgirmlfkr0v7nrn3p5g7yacfasrqgnwsyl8";
+    owner = "bytecodealliance";
+    repo = "${pname}";
+    rev = "${version}";
+    sha256 = "0az893srw49szvs5461bd165ffla4cc98gh42p3dwskwfkhpqjm4";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "1jbpq09czm295316gdv3y0pfapqs0ynj3qbarwlnrv7valq5ak13";
+  cargoSha256 = "08b3rbnl7qwyfbwaqcb7z84sh0h94v18v6557hrf0dlil414v54i";
 
   cargoPatches = [ ./cargo-lock.patch ];
 
   nativeBuildInputs = [ python cmake clang ];
-  buildInputs = [ llvmPackages.libclang ];
-
+  buildInputs = [ llvmPackages.libclang ] ++
+   lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   meta = with lib; {
-    description = "Standalone JIT-style runtime for WebAsssembly, using Cranelift";
+    description = "Standalone JIT-style runtime for WebAssembly, using Cranelift";
     homepage = https://github.com/CraneStation/wasmtime;
     license = licenses.asl20;
     maintainers = [ maintainers.matthewbauer ];
diff --git a/nixpkgs/pkgs/development/libraries/AntTweakBar/default.nix b/nixpkgs/pkgs/development/libraries/AntTweakBar/default.nix
index 94b36b855f25..1ae6346cbe58 100644
--- a/nixpkgs/pkgs/development/libraries/AntTweakBar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/CGAL/4.nix b/nixpkgs/pkgs/development/libraries/CGAL/4.nix
new file mode 100644
index 000000000000..60c244009ceb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/CGAL/4.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
+
+stdenv.mkDerivation rec {
+  version = "4.14.2";
+  name = "cgal-" + version;
+
+  src = fetchFromGitHub {
+    owner = "CGAL";
+    repo = "releases";
+    rev = "CGAL-${version}";
+    sha256 = "1p1xyws2s9h2c8hlkz1af4ix48qma160av24by6lcm8al1g44pca";
+  };
+
+  # note: optional component libCGAL_ImageIO would need zlib and opengl;
+  #   there are also libCGAL_Qt{3,4} omitted ATM
+  buildInputs = [ boost gmp mpfr ];
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Computational Geometry Algorithms Library";
+    homepage = http://cgal.org;
+    license = with licenses; [ gpl3Plus lgpl3Plus];
+    platforms = platforms.all;
+    maintainers = [ maintainers.raskin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/default.nix b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
index 95984c970018..d2d74769a1fc 100644
--- a/nixpkgs/pkgs/development/libraries/CGAL/default.nix
+++ b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.14";
+  version = "5.0";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "0p0s1dl5a261zwy0hxa7ylkypk45rwc6n84lx507dwdhfz4ihv12";
+    sha256 = "15r631kddphw3wsvrxrkdbq9y7m0q8kx0kwc9zq97x6ksg3v0gs3";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/nixpkgs/pkgs/development/libraries/SDL/default.nix b/nixpkgs/pkgs/development/libraries/SDL/default.nix
index 610f1b768f24..61609a90dd02 100644
--- a/nixpkgs/pkgs/development/libraries/SDL/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL/default.nix
@@ -13,6 +13,16 @@
 
 with stdenv.lib;
 
+let
+  extraPropagatedBuildInputs = [ ]
+    ++ optionals x11Support [ libXext libICE libXrandr ]
+    ++ optionals openglSupport [ libGL libGLU ]
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseaudioSupport libpulseaudio
+    ++ optional stdenv.isDarwin Cocoa;
+  rpath = makeLibraryPath extraPropagatedBuildInputs;
+in
+
 stdenv.mkDerivation rec {
   pname = "SDL";
   version = "1.2.15";
@@ -31,12 +41,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ]
     ++ optional stdenv.isLinux libcap;
 
-  propagatedBuildInputs = [ libiconv ]
-    ++ optionals x11Support [ libXext libICE libXrandr ]
-    ++ optionals openglSupport [ libGL libGLU ]
-    ++ optional alsaSupport alsaLib
-    ++ optional pulseaudioSupport libpulseaudio
-    ++ optional stdenv.isDarwin Cocoa;
+  propagatedBuildInputs = [ libiconv ] ++ extraPropagatedBuildInputs;
 
   buildInputs = [ ]
     ++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile
@@ -108,7 +113,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     for lib in $out/lib/*.so* ; do
       if [[ -L "$lib" ]]; then
-        patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib"
+        patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
       fi
     done
   '';
diff --git a/nixpkgs/pkgs/development/libraries/SDL/find-headers.patch b/nixpkgs/pkgs/development/libraries/SDL/find-headers.patch
index 5f75ae9e8301..fd498117fd64 100644
--- a/nixpkgs/pkgs/development/libraries/SDL/find-headers.patch
+++ b/nixpkgs/pkgs/development/libraries/SDL/find-headers.patch
@@ -1,7 +1,8 @@
-diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in
---- SDL-1.2.15/sdl-config.in	2012-01-19 10:30:06.000000000 +0400
-+++ SDL-1.2.15-new/sdl-config.in	2016-08-22 05:32:52.716397920 +0300
-@@ -42,7 +42,11 @@
+diff --git a/sdl-config.in b/sdl-config.in
+index e0fcc0c..bf7928a 100644
+--- a/sdl-config.in
++++ b/sdl-config.in
+@@ -42,14 +42,18 @@ while test $# -gt 0; do
        echo @SDL_VERSION@
        ;;
      --cflags)
@@ -13,4 +14,13 @@ diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in
 +      echo $SDL_CFLAGS @SDL_CFLAGS@
        ;;
  @ENABLE_SHARED_TRUE@    --libs)
- @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
+-@ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
++@ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ $SDL_LIB_PATH
+ @ENABLE_SHARED_TRUE@      ;;
+ @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@    --static-libs)
+ @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@    --libs|--static-libs)
+-@ENABLE_STATIC_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@
++@ENABLE_STATIC_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ $SDL_LIB_PATH
+ @ENABLE_STATIC_TRUE@      ;;
+     *)
+       echo "${usage}" 1>&2
diff --git a/nixpkgs/pkgs/development/libraries/SDL/setup-hook.sh b/nixpkgs/pkgs/development/libraries/SDL/setup-hook.sh
index 20382f18f529..553e8553a77f 100644
--- a/nixpkgs/pkgs/development/libraries/SDL/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/SDL/setup-hook.sh
@@ -1,6 +1,9 @@
 addSDLPath () {
   if [ -e "$1/include/SDL" ]; then
-    export SDL_PATH="$SDL_PATH $1/include/SDL"
+    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:+ }-L$1/lib"
   fi
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/default.nix b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
index 37e38e03b8cf..e02ea05a7262 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
@@ -36,6 +36,13 @@ stdenv.mkDerivation rec {
 
   patches = [ ./find-headers.patch ];
 
+  # Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
+  postPatch = ''
+    substituteInPlace include/SDL_opengl_glext.h \
+      --replace "typedef ptrdiff_t GLsizeiptr;" "typedef signed long int khronos_ssize_t; typedef khronos_ssize_t GLsizeiptr;" \
+      --replace "typedef ptrdiff_t GLintptr;" "typedef signed long int khronos_intptr_t; typedef khronos_intptr_t GLintptr;"
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = dlopenPropagatedBuildInputs;
@@ -68,9 +75,21 @@ stdenv.mkDerivation rec {
     ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
     ++ optional stdenv.isDarwin "--disable-sdltest";
 
+  # We remove libtool .la files when static libs are requested,
+  # because they make the builds of downstream libs like `SDL_tff`
+  # fail with `cannot find -lXext, `-lXcursor` etc. linker errors
+  # because the `.la` files are not pruned if static libs exist
+  # (see https://github.com/NixOS/nixpkgs/commit/fd97db43bcb05e37f6bb77f363f1e1e239d9de53)
+  # and they also don't carry the necessary `-L` paths of their
+  # X11 dependencies.
+  # For static linking, it is better to rely on `pkg-config` `.pc`
+  # files.
   postInstall = ''
-    moveToOutput lib/libSDL2main.a "$dev"
-    rm $out/lib/*.a
+    if [ "$dontDisableStatic" -eq "1" ]; then
+      rm $out/lib/*.la
+    else
+      rm $out/lib/*.a
+    fi
     moveToOutput bin/sdl2-config "$dev"
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/setup-hook.sh b/nixpkgs/pkgs/development/libraries/SDL2/setup-hook.sh
index 3acce9d473c5..0119926491af 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/SDL2/setup-hook.sh
@@ -1,6 +1,6 @@
 addSDL2Path () {
   if [ -e "$1/include/SDL2" ]; then
-    export SDL2_PATH="$SDL2_PATH $1/include/SDL2"
+    export SDL2_PATH="${SDL2_PATH-}${SDL2_PATH:+ }$1/include/SDL2"
   fi
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/SDL2_mixer/default.nix b/nixpkgs/pkgs/development/libraries/SDL2_mixer/default.nix
index 826cf793cd2e..58c76e3a3f53 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, autoreconfHook, pkgconfig, which
-, SDL2, libogg, libvorbis, smpeg2, flac, libmodplug
+, SDL2, libogg, libvorbis, smpeg2, flac, libmodplug, opusfile
 , CoreServices, AudioUnit, AudioToolbox
 , enableNativeMidi ? false, fluidsynth ? null }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
-  propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug ];
+  propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug opusfile ];
 
   configureFlags = [ "--disable-music-ogg-shared" ]
     ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl"
diff --git a/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix b/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix
new file mode 100644
index 000000000000..e330ccef6116
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchpatch, fetchurl, SDL, autoreconfHook, pango, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "SDL_Pango";
+  version = "0.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sdlpango/${pname}-${version}.tar.gz";
+    sha256 = "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz";
+  };
+
+  patches = [ 
+    (fetchpatch {
+      url = https://sources.debian.org/data/main/s/sdlpango/0.1.2-6/debian/patches/api_additions.patch;
+      sha256 = "00p5ry5gd3ixm257p9i2c4jg0qj8ipk8nf56l7c9fma8id3zxyld";
+    })
+    ./fixes.patch
+  ];
+
+  preConfigure = "autoreconf -i -f";
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ SDL pango ];
+
+  meta = with stdenv.lib; {
+    description = "Connects the Pango rendering engine to SDL";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.all;
+    homepage = http://sdlpango.sourceforge.net/;
+    maintainers = with maintainers; [ puckipedia ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/SDL_Pango/fixes.patch b/nixpkgs/pkgs/development/libraries/SDL_Pango/fixes.patch
new file mode 100644
index 000000000000..9703c0d4918f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/SDL_Pango/fixes.patch
@@ -0,0 +1,148 @@
+diff --git a/SDL_Pango.pc.in b/SDL_Pango.pc.in
+index 750d091..3af38ff 100644
+--- a/SDL_Pango.pc.in
++++ b/SDL_Pango.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: SDL_Pango

+ Description: SDL library for internationalized text rendering

+ Version: @VERSION@

+-Requires: pango

++Requires: pango pangoft2
+ Libs: -L${libdir} -lSDL_Pango

+ Cflags: -I${includedir}
+\ No newline at end of file
+diff --git a/src/SDL_Pango.c b/src/SDL_Pango.c
+index b969bc1..cc2c3f5 100644
+--- a/src/SDL_Pango.c
++++ b/src/SDL_Pango.c
+@@ -231,6 +231,41 @@
+ 

+ #include "SDL_Pango.h"

+ 

++const SDLPango_Matrix _MATRIX_WHITE_BACK
++    = {255, 0, 0, 0,
++       255, 0, 0, 0,
++       255, 0, 0, 0,
++       255, 255, 0, 0,};
++const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;
++
++const SDLPango_Matrix _MATRIX_BLACK_BACK
++    = {0, 255, 0, 0,
++       0, 255, 0, 0,
++       0, 255, 0, 0,
++       255, 255, 0, 0,};
++const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER
++    = {0, 0, 0, 0,
++       0, 0, 0, 0,
++       0, 0, 0, 0,
++       0, 255, 0, 0,};
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER
++    = {255, 255, 0, 0,
++       255, 255, 0, 0,
++       255, 255, 0, 0,
++       0, 255, 0, 0,};
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER
++    = {255, 255, 0, 0,
++       255, 255, 0, 0,
++       255, 255, 0, 0,
++       0, 0, 0, 0,};
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
++
+ //! non-zero if initialized

+ static int IS_INITIALIZED = 0;

+ 

+diff --git a/src/SDL_Pango.h b/src/SDL_Pango.h
+index 6ebdf78..b7e5e58 100644
+--- a/src/SDL_Pango.h
++++ b/src/SDL_Pango.h
+@@ -47,57 +47,32 @@ typedef struct _SDLPango_Matrix {
+     Uint8 m[4][4];  /*! Matrix variables */

+ } SDLPango_Matrix;

+ 

+-const SDLPango_Matrix _MATRIX_WHITE_BACK

+-    = {255, 0, 0, 0,

+-       255, 0, 0, 0,

+-       255, 0, 0, 0,

+-       255, 255, 0, 0,};

+ 

+ /*!

+     Specifies white back and black letter.

+ */

+-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;

++extern const SDLPango_Matrix *MATRIX_WHITE_BACK;
+ 

+-const SDLPango_Matrix _MATRIX_BLACK_BACK

+-    = {0, 255, 0, 0,

+-       0, 255, 0, 0,

+-       0, 255, 0, 0,

+-       255, 255, 0, 0,};

+ /*!

+     Specifies black back and white letter.

+ */

+-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;

++extern const SDLPango_Matrix *MATRIX_BLACK_BACK;
+ 

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER

+-    = {0, 0, 0, 0,

+-       0, 0, 0, 0,

+-       0, 0, 0, 0,

+-       0, 255, 0, 0,};

+ /*!

+     Specifies transparent back and black letter.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
+ 

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER

+-    = {255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       0, 255, 0, 0,};

+ /*!

+     Specifies transparent back and white letter.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
+ 

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER

+-    = {255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       0, 0, 0, 0,};

+ /*!

+     Specifies transparent back and transparent letter.

+     This is useful for KARAOKE like rendering.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
+ 

+ /*!

+     Specifies direction of text. See Pango reference for detail

+@@ -186,7 +161,8 @@ extern DECLSPEC void SDLCALL SDLPango_SetBaseDirection(
+     SDLPango_Direction direction);

+ 

+ 

+-#ifdef __FT2_BUILD_UNIX_H__

++

++#ifdef __PANGO_H__

+ 

+ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(

+     const FT_Bitmap *bitmap,

+@@ -194,11 +170,8 @@ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(
+     const SDLPango_Matrix *matrix,

+     SDL_Rect *rect);

+ 

+-#endif	/* __FT2_BUILD_UNIX_H__ */

+ 

+ 

+-#ifdef __PANGO_H__

+-

+ extern DECLSPEC PangoFontMap* SDLCALL SDLPango_GetPangoFontMap(

+     SDLPango_Context *context);

+ 

diff --git a/nixpkgs/pkgs/development/libraries/accounts-qt/default.nix b/nixpkgs/pkgs/development/libraries/accounts-qt/default.nix
index 0aace12569a5..bae7b56cb8ee 100644
--- a/nixpkgs/pkgs/development/libraries/accounts-qt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/accounts-qt/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "accounts-qt";
-  version = "1.15";
+  version = "1.16";
 
   src = fetchFromGitLab {
-    sha256 = "0cnra7g2mcgzh8ykrj1dpb4khkx676pzdr4ia1bvsp0cli48691w";
+    sha256 = "1vmpjvysm0ld8dqnx8msa15hlhrkny02cqycsh4k2azrnijg0xjz";
     rev = "VERSION_${version}";
     repo = "libaccounts-qt";
     owner = "accounts-sso";
diff --git a/nixpkgs/pkgs/development/libraries/accountsservice/default.nix b/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
index 860ac3fde41f..eb48aca80ee6 100644
--- a/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
@@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
     })
     ./no-create-dirs.patch
     ./Disable-methods-that-change-files-in-etc.patch
+    # Fixes https://github.com/NixOS/nixpkgs/issues/72396
+    ./drop-prefix-check-extensions.patch
     # Systemd unit improvements. Notably using StateDirectory eliminating the
     # need of an ad-hoc script.
     (fetchpatch {
@@ -70,6 +72,11 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/0e712e935abd26499ff5995ab363e5bfd9ee7c4c.patch";
       sha256 = "1y60a5fmgfqjzprwpizilrazqn3mggdlgc5sgcpsprsp62fv78rl";
     })
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/ced73d0fcbd2a54085a660d260482fc70d79bd5c.patch";
+      sha256 = "0s7fknfgxl8hnf6givmhfg4586fjb2n64i9arh1w7xnq7x9x8d4c";
+    })
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/accountsservice/drop-prefix-check-extensions.patch b/nixpkgs/pkgs/development/libraries/accountsservice/drop-prefix-check-extensions.patch
new file mode 100644
index 000000000000..4b5222c9552d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/accountsservice/drop-prefix-check-extensions.patch
@@ -0,0 +1,22 @@
+diff --git a/src/extensions.c b/src/extensions.c
+index 038dcb2..830465d 100644
+--- a/src/extensions.c
++++ b/src/extensions.c
+@@ -121,16 +121,7 @@ daemon_read_extension_directory (GHashTable  *ifaces,
+                         continue;
+                 }
+ 
+-                /* Ensure it looks like "../../dbus-1/interfaces/${name}" */
+-                const gchar * const prefix = "../../dbus-1/interfaces/";
+-                if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) {
+-                        daemon_read_extension_file (ifaces, filename);
+-                }
+-                else {
+-                        g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly "
+-                                   "equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.",
+-                                   filename, name);
+-                }
++                daemon_read_extension_file (ifaces, filename);
+         }
+ 
+         g_dir_close (dir);
diff --git a/nixpkgs/pkgs/development/libraries/ace/default.nix b/nixpkgs/pkgs/development/libraries/ace/default.nix
index 04ab13314755..ea352772b33a 100644
--- a/nixpkgs/pkgs/development/libraries/ace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/agda/Agda-Sheaves/default.nix b/nixpkgs/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
index 6ab7455915cc..62856157b4b6 100644
--- a/nixpkgs/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sheaves in Agda";
     license = stdenv.lib.licenses.cc-by-40;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # replaced by constructive-sheaf-semantics
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/nixpkgs/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
index ac9ce9dd84f4..344da00d04f2 100644
--- a/nixpkgs/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "A monadic parser combinator library which guarantees termination of parsing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true;
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-base/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-base/default.nix
index 146e44182ed2..1bc9d0cb882e 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-base/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-base/default.nix
@@ -17,7 +17,7 @@ agda.mkDerivation (self: rec {
     description = "Base library for HoTT in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # largely replaced by HoTT-Agda
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index e2d64841985c..30a03980e44d 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -22,6 +22,6 @@ agda.mkDerivation (self: rec {
     description = "Agda standard library developed at Iowa";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
index a57ee6e08bae..bcdad18bedec 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -18,6 +18,6 @@ agda.mkDerivation (self: rec {
     description = "Programming library for Agda";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu mudri ];
+    maintainers = with maintainers; [ mudri ];
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-stdlib/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-stdlib/default.nix
index 4d071251ee8e..033ba67f661b 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -23,7 +23,6 @@ agda.mkDerivation (self: rec {
     description = "A standard library for use with the Agda compiler";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    broken = stdenv.isDarwin;
-    maintainers = with maintainers; [ jwiegley fuuzetsu mudri ];
+    maintainers = with maintainers; [ jwiegley mudri ];
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/bitvector/default.nix b/nixpkgs/pkgs/development/libraries/agda/bitvector/default.nix
index 6306bb89b5c7..c09702c48d78 100644
--- a/nixpkgs/pkgs/development/libraries/agda/bitvector/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/bitvector/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sequences of bits and common operations on them";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/categories/default.nix b/nixpkgs/pkgs/development/libraries/agda/categories/default.nix
index ea232f2853d6..a58afd7e8667 100644
--- a/nixpkgs/pkgs/development/libraries/agda/categories/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/categories/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Categories parametrized by morphism equality, in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true; # doesn't work due to new agdastdlib, see #9471
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/agda/pretty/default.nix b/nixpkgs/pkgs/development/libraries/agda/pretty/default.nix
index 0e4f1da6e140..ffae1f6f900c 100644
--- a/nixpkgs/pkgs/development/libraries/agda/pretty/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/pretty/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "Correct-by-Construction Pretty-Printing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true; # 2018-04-11
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/alembic/default.nix b/nixpkgs/pkgs/development/libraries/alembic/default.nix
index 263acfed63a0..0c3ba0abaa9a 100644
--- a/nixpkgs/pkgs/development/libraries/alembic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "alembic";
-  version = "1.7.11";
+  version = "1.7.12";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = version;
-    sha256 = "1lalbqn4cwf0vp4hiq72gwpd7kq501j21rnjb380mv26pk7r2ivz";
+    sha256 = "0a9icrv6pwh2b73lywq1aj7i19pmzpg59iy3ngal8vq4zdciylqc";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/nixpkgs/pkgs/development/libraries/alkimia/default.nix b/nixpkgs/pkgs/development/libraries/alkimia/default.nix
index 407aa557ea2e..d7d8c268928f 100644
--- a/nixpkgs/pkgs/development/libraries/alkimia/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alkimia/default.nix
@@ -5,11 +5,11 @@
 
 mkDerivation rec {
   pname = "alkimia";
-  version = "8.0.1";
+  version = "8.0.2";
 
   src = fetchurl {
     url = "mirror://kde/stable/alkimia/${version}/${pname}-${version}.tar.xz";
-    sha256 = "059i6vn36sdq5zn2vqzh4asvvgdgs7n478nk9phvb5gdys01fq7m";
+    sha256 = "0al5k9irmg9gsjc234qxjsqfzgzsavl18pspqk78mkp8zlv7fvv1";
   };
 
   nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
diff --git a/nixpkgs/pkgs/development/libraries/allegro/5.nix b/nixpkgs/pkgs/development/libraries/allegro/5.nix
index b267c62d6c70..5f5368f2866d 100644
--- a/nixpkgs/pkgs/development/libraries/allegro/5.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/allegro/default.nix b/nixpkgs/pkgs/development/libraries/allegro/default.nix
index 6b44ec1b598a..64488b25b094 100644
--- a/nixpkgs/pkgs/development/libraries/allegro/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/amtk/default.nix b/nixpkgs/pkgs/development/libraries/amtk/default.nix
index e8ecd0c0f1ef..177bf324b7af 100644
--- a/nixpkgs/pkgs/development/libraries/amtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/amtk/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, gtk3
 , pkgconfig, gnome3, dbus, xvfb_run }:
 let
-  version = "5.0.0";
+  version = "5.0.1";
   pname = "amtk";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1zriix7bdwcg0868mfc7jy6zbwjwdmjwbh0ah6dbddrhiabrda8j";
+    sha256 = "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/apr/default.nix b/nixpkgs/pkgs/development/libraries/apr/default.nix
index ea84609868cf..2ce4b77927f1 100644
--- a/nixpkgs/pkgs/development/libraries/apr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/apr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "apr-1.6.5";
+  name = "apr-1.7.0";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    sha256 = "01d1n1ql66bxsjx0wyzazmkqdqdmr0is6a7lwyy5kzy4z7yajz56";
+    sha256 = "1spp6r2a3xcl5yajm9safhzyilsdzgagc2dadif8x6z9nbq4iqg2";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
@@ -23,10 +23,18 @@ stdenv.mkDerivation rec {
       configureFlagsArray+=("--with-installbuilddir=$dev/share/build")
     '';
 
-  configureFlags =
+  configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "ac_cv_file__dev_zero=yes"
+    "ac_cv_func_setpgrp_void=0"
+    "apr_cv_process_shared_works=1"
+    "apr_cv_tcp_nodelay_with_cork=1"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.system == "i686-cygwin") [
     # Including the Windows headers breaks unistd.h.
     # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2
-    stdenv.lib.optional (stdenv.hostPlatform.system == "i686-cygwin") "ac_cv_header_windows_h=no";
+    "ac_cv_header_windows_h=no"
+  ];
+
+  CPPFLAGS=stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-DAPR_IOVEC_DEFINED";
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/aqbanking/libchipcard.nix b/nixpkgs/pkgs/development/libraries/aqbanking/libchipcard.nix
index 23c300ab48a3..32ec4dd06fd6 100644
--- a/nixpkgs/pkgs/development/libraries/aqbanking/libchipcard.nix
+++ b/nixpkgs/pkgs/development/libraries/aqbanking/libchipcard.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library for access to chipcards";
-    homepage = http://www2.aquamaniac.de/sites/download/packages.php?package=02&showall=1;
+    homepage = "https://www.aquamaniac.de/rdm/projects/libchipcard";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ aszlig ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/aravis/default.nix b/nixpkgs/pkgs/development/libraries/aravis/default.nix
index 9d506b10e353..eaeddbcad368 100644
--- a/nixpkgs/pkgs/development/libraries/aravis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aravis/default.nix
@@ -33,13 +33,13 @@ in
   stdenv.mkDerivation rec {
 
     pname = "aravis";
-    version = "0.6.3";
+    version = "0.6.4";
 
     src = fetchFromGitHub {
       owner = "AravisProject";
       repo = pname;
       rev= "ARAVIS_${builtins.replaceStrings ["."] ["_"] version}";
-      sha256 = "0lmgx854z522dwcxsg37bxdyiai9fnycpx1nvgayksj38h39kfn2";
+      sha256 = "18fnliks661kzc3g8v08hcaj18hjid8b180d6s9gwn0zgv4g374w";
     };
 
     outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/nixpkgs/pkgs/development/libraries/arb/default.nix b/nixpkgs/pkgs/development/libraries/arb/default.nix
index 0e24d556b1a5..6393e25f561d 100644
--- a/nixpkgs/pkgs/development/libraries/arb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arb/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchFromGitHub, mpir, gmp, mpfr, flint}:
 stdenv.mkDerivation rec {
   pname = "arb";
-  version = "2.16.0";
+  version = "2.17.0";
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = pname;
     rev = version;
-    sha256 = "0478671wfwy3gl26sbxh1jq1ih36z4k72waa8y2y2lvn649gb7cd";
+    sha256 = "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1";
   };
   buildInputs = [mpir gmp mpfr flint];
   configureFlags = [
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     inherit version;
     description = ''A library for arbitrary-precision interval arithmetic'';
+    homepage = "http://arblib.org/";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = with maintainers; [ raskin timokau ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix b/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
index 17093deae00f..6544c4811875 100644
--- a/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
+++ b/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
        stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ patch-argp-fmtstream ]
     ++ stdenv.lib.optionals stdenv.hostPlatform.isLinux [ patch-throw-in-funcdef patch-shared ];
 
-  patchFlags = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "-p0";
+  patchFlags = stdenv.lib.optional stdenv.hostPlatform.isDarwin "-p0";
 
   preConfigure = stdenv.lib.optionalString stdenv.hostPlatform.isLinux "export CFLAGS='-fgnu89-inline'";
 
@@ -43,6 +43,8 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
+  makeFlags = [ "AR:=$(AR)" ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index 127c2f3ae311..8dec98271413 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "9.600.6";
+  version = "9.800.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "0wlk1yv9531vpvgja4cpy0sxykrn0p5w376kx86vl45b50yamx7g";
+    sha256 = "16bm1pa5a8wsk497y9s18dyi3hax03z6g2x2z19b6z0bi3ff30d4";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/arrayfire/default.nix b/nixpkgs/pkgs/development/libraries/arrayfire/default.nix
new file mode 100644
index 000000000000..21e93a8cd492
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/arrayfire/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
+, cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl
+, blas, openblas, boost, mesa, libGLU, libGL
+, freeimage, python, clfft, clblas
+, doxygen, buildDocs ? false
+}:
+
+let
+  strOnLinux = stdenv.lib.optionalString stdenv.isLinux;
+
+in stdenv.mkDerivation rec {
+  pname = "arrayfire";
+  version = "3.6.4";
+
+  src = fetchurl {
+    url = "http://arrayfire.com/arrayfire_source/arrayfire-full-${version}.tar.bz2";
+    sha256 = "1fin7a9rliyqic3z83agkpb8zlq663q6gdxsnm156cs8s7f7rc9h";
+  };
+
+  cmakeFlags = [
+    "-DAF_BUILD_OPENCL=OFF"
+    "-DAF_BUILD_EXAMPLES=OFF"
+    "-DBUILD_TESTING=OFF"
+    (strOnLinux "-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib/stubs")
+  ];
+
+  patches = [ ./no-download.patch ];
+
+  postPatch = ''
+    mkdir -p ./build/third_party/clFFT/src
+    cp -R --no-preserve=mode,ownership ${clfft.src}/ ./build/third_party/clFFT/src/clFFT-ext/
+    mkdir -p ./build/third_party/clBLAS/src
+    cp -R --no-preserve=mode,ownership ${clblas.src}/ ./build/third_party/clBLAS/src/clBLAS-ext/
+    mkdir -p ./build/include/CL
+    cp -R --no-preserve=mode,ownership ${opencl-clhpp}/include/CL/cl2.hpp ./build/include/CL/cl2.hpp
+  '';
+
+  preBuild = strOnLinux ''
+    export CUDA_PATH="${cudatoolkit}"
+  '';
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    python
+  ];
+
+  buildInputs = [
+    opencl-clhpp fftw fftwFloat
+    mkl
+    openblas
+    libGLU libGL
+    mesa freeimage
+    boost.out boost.dev
+  ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ])
+    ++ (stdenv.lib.optional buildDocs [ doxygen ]);
+
+  meta = with stdenv.lib; {
+    description = "A general-purpose library for parallel and massively-parallel computations";
+    longDescription = ''
+      A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.";
+    '';
+    license = licenses.bsd3;
+    homepage = "https://arrayfire.com/";
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chessai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/arrayfire/no-download.patch b/nixpkgs/pkgs/development/libraries/arrayfire/no-download.patch
new file mode 100644
index 000000000000..2b3ac492a54d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/arrayfire/no-download.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeModules/build_clBLAS.cmake b/CMakeModules/build_clBLAS.cmake
+index 8de529e8..6361b613 100644
+--- a/CMakeModules/build_clBLAS.cmake
++++ b/CMakeModules/build_clBLAS.cmake
+@@ -14,8 +14,7 @@ find_package(OpenCL)
+ 
+ ExternalProject_Add(
+     clBLAS-ext
+-    GIT_REPOSITORY https://github.com/arrayfire/clBLAS.git
+-    GIT_TAG arrayfire-release
++    DOWNLOAD_COMMAND true
+     BUILD_BYPRODUCTS ${clBLAS_location}
+     PREFIX "${prefix}"
+     INSTALL_DIR "${prefix}"
+diff --git a/CMakeModules/build_clFFT.cmake b/CMakeModules/build_clFFT.cmake
+index 28be38a3..85e3915e 100644
+--- a/CMakeModules/build_clFFT.cmake
++++ b/CMakeModules/build_clFFT.cmake
+@@ -20,8 +20,7 @@ ENDIF()
+ 
+ ExternalProject_Add(
+     clFFT-ext
+-    GIT_REPOSITORY https://github.com/arrayfire/clFFT.git
+-    GIT_TAG arrayfire-release
++    DOWNLOAD_COMMAND true
+     PREFIX "${prefix}"
+     INSTALL_DIR "${prefix}"
+     UPDATE_COMMAND ""
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
index f763f98799d0..87684a4bbe4a 100644
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, fetchFromGitHub, fixDarwinDylibNames, autoconf, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd }:
+{ stdenv, lib, fetchurl, fetchFromGitHub, fixDarwinDylibNames, autoconf, boost
+, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl
+, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd
+, enableShared ? true }:
 
 let
   parquet-testing = fetchFromGitHub {
@@ -7,15 +10,15 @@ let
     rev = "a277dc4e55ded3e3ea27dab1e4faf98c112442df";
     sha256 = "1yh5a8l4ship36hwmgmp2kl72s5ac9r8ly1qcs650xv2g9q7yhnq";
   };
-in
 
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "0.14.1";
+  version = "0.15.1";
 
   src = fetchurl {
-    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "0a0xrsbr7dd1yp34yw82jw7psfkfvm935jhd5mam32vrsjvdsj4r";
+    url =
+      "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    sha256 = "1jbghpppabsix2rkxbnh41inj9lcxfz4q94p96xzxshh4g3mhb4s";
   };
 
   sourceRoot = "apache-arrow-${version}/cpp";
@@ -24,57 +27,89 @@ stdenv.mkDerivation rec {
     # From
     # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
     # ./cpp/thirdparty/versions.txt
-    url = "https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2";
+    url =
+      "https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2";
     sha256 = "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl";
   };
 
   patches = [
     # patch to fix python-test
     ./darwin.patch
-    ];
+  ] ++ lib.optionals (!enableShared) [
+    # The shared jemalloc lib is unused and breaks in static mode due to missing -fpic.
+    ./jemalloc-disable-shared.patch
+  ];
 
-  nativeBuildInputs = [ cmake autoconf /* for vendored jemalloc */ ]
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [
+    cmake
+    autoconf # for vendored jemalloc
+    flatbuffers
+  ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
   buildInputs = [
-    boost brotli double-conversion flatbuffers gflags glog gtest lz4 rapidjson
-    snappy thrift uriparser zlib zstd python.pkgs.python python.pkgs.numpy
+    boost
+    brotli
+    double-conversion
+    flatbuffers
+    gflags
+    glog
+    gtest
+    lz4
+    rapidjson
+    snappy
+    thrift
+    uriparser
+    zlib
+    zstd
+    python.pkgs.python
+    python.pkgs.numpy
   ];
 
   preConfigure = ''
     substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
 
     patchShebangs build-support/
-
-    # Fix build for ARROW_USE_SIMD=OFF
-    # https://jira.apache.org/jira/browse/ARROW-5007
-    sed -i src/arrow/util/sse-util.h -e '1i#include "arrow/util/logging.h"'
-    sed -i src/arrow/util/neon-util.h -e '1i#include "arrow/util/logging.h"'
   '';
 
   cmakeFlags = [
     "-DARROW_BUILD_TESTS=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
     "-DARROW_PARQUET=ON"
-    "-DARROW_PYTHON=ON"
+    "-DARROW_PLASMA=ON"
+    # Disable Python for static mode because openblas is currently broken there.
+    "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
     "-Duriparser_SOURCE=SYSTEM"
-  ] ++ stdenv.lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
+  ] ++ lib.optionals (!enableShared) [
+    "-DARROW_BUILD_SHARED=OFF"
+    "-DARROW_TEST_LINKAGE=static"
+    "-DOPENSSL_USE_STATIC_LIBS=ON"
+  ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
 
   doInstallCheck = true;
-  PARQUET_TEST_DATA = if doInstallCheck then "${parquet-testing}/data" else null;
+  PARQUET_TEST_DATA =
+    if doInstallCheck then "${parquet-testing}/data" else null;
   installCheckInputs = [ perl which ];
-  installCheckPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
-    for f in release/*test; do
+  installCheckPhase = (lib.optionalString stdenv.isDarwin ''
+    for f in release/*test{,s}; do
       install_name_tool -add_rpath "$out"/lib  "$f"
     done
-  '') + ''
-    ctest -L unittest -V
-  '';
+  '')
+  + (let
+    excludedTests = lib.optionals stdenv.isDarwin [
+      # Some plasma tests need to be patched to use a shorter AF_UNIX socket
+      # path on Darwin. See https://github.com/NixOS/nix/pull/1085
+      "plasma-external-store-tests"
+      "plasma-client-tests"
+    ];
+  in ''
+    ctest -L unittest -V \
+      --exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$'
+  '');
 
   meta = {
     description = "A  cross-language development platform for in-memory data";
-    homepage = https://arrow.apache.org/;
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+    homepage = "https://arrow.apache.org/";
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ tobim veprbl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch b/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
new file mode 100644
index 000000000000..0f7955724e16
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
@@ -0,0 +1,11 @@
+diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
+--- a/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cmake_modules/ThirdpartyToolchain.cmake
+@@ -1428,6 +1428,7 @@ if(ARROW_JEMALLOC)
+                       "--with-jemalloc-prefix=je_arrow_"
+                       "--with-private-namespace=je_arrow_private_"
+                       "--without-export"
++                      "--disable-shared"
+                       # Don't override operator new()
+                       "--disable-cxx" "--disable-libdl"
+                       # See https://github.com/jemalloc/jemalloc/issues/1237
diff --git a/nixpkgs/pkgs/development/libraries/aspell/default.nix b/nixpkgs/pkgs/development/libraries/aspell/default.nix
index 5c3c6272f83d..ad0f910dcbf6 100644
--- a/nixpkgs/pkgs/development/libraries/aspell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
index fa9a45f1ed3c..05a1c95c81f0 100644
--- a/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
@@ -298,10 +298,10 @@ in rec {
 
   en = buildOfficialDict {
     language = "en";
-    version = "2018.04.16-0";
+    version = "2019.10.06-0";
     fullName = "English";
     filename = "aspell6";
-    sha256 = "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i";
+    sha256 = "1zai9wrqwgb9z9vfgb22qhrvxvg73jg0ix44j1khm2f6m96lncr4";
   };
 
   eo = buildOfficialDict {
@@ -919,12 +919,12 @@ in rec {
 
     src1 = fetchurl {
       url = http://jpetrie.net/wp-content/uploads/custom_scientific_US.txt;
-      sha256 = "1psqm094zl4prk2f8h18jv0d471hxykzd1zdnrlx7gzrzy6pz5r3";
+      sha256 = "1nf4py2mg0mlv9s5a7had2wn29z2v6bcca0fs6rbpdn4nqc4s7dm";
     };
 
     src2 = fetchurl {
       url = http://jpetrie.net/wp-content/uploads/custom_scientific_UK.txt;
-      sha256 = "17ss1sdr3k70zbyx2z9xf74345slrp41gbkpih8axrmg4x92fgm1";
+      sha256 = "0f88il1ds6qazy1ghxviqcwsywrbf6pzl2lmzf4f3qvhdfb6f1y0";
     };
 
     langInputs = [ en ];
diff --git a/nixpkgs/pkgs/development/libraries/assimp/default.nix b/nixpkgs/pkgs/development/libraries/assimp/default.nix
index d5a98b0ce92e..b9207e517069 100644
--- a/nixpkgs/pkgs/development/libraries/assimp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/assimp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "assimp";
-  version = "4.1.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub{
     owner = "assimp";
     repo = "assimp";
     rev = "v${version}";
-    sha256 = "00g61g3ixmfszzjncpvm8x7gp2livaj4lmhbycjmrw4x3gfqlc4r";
+    sha256 = "17y5q5hbygmb0cgf96gd3v8sal5g69cp8hmh1cs3yz7v00kjysmz";
   };
 
   buildInputs = [ cmake boost zlib ];
diff --git a/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix b/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
index a805949bf119..f63a341e26ea 100644
--- a/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -10,23 +10,20 @@
 , dbus
 , glib
 , libxml2
-, fixDarwinDylibNames
 
 , gnome3 # To pass updateScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-atk";
-  version = "2.32.0";
+  version = "2.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0p54wx6f6q7s8w0b1j0sgw87pikllp79q5g3lfiwqazs779ycl8b";
+    sha256 = "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig ]
-    # Fixup rpaths because of meson, remove with meson-0.47
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [ meson ninja pkgconfig ];
   buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
 
   doCheck = false; # fails with "No test data file provided"
@@ -40,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "D-Bus bridge for Assistive Technology Service Provider Interface (AT-SPI) and Accessibility Toolkit (ATK)";
     homepage = https://gitlab.gnome.org/GNOME/at-spi2-atk;
-    license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-atk/issues/2
+    license = licenses.lgpl21Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
index e7cea235ceb4..84a8a6b90265 100644
--- a/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
@@ -10,28 +10,26 @@
 
 , 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
-, fixDarwinDylibNames
 
 , gnome3 # To pass updateScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-core";
-  version = "2.32.1";
+  version = "2.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0lqd7gsl471v6538iighkvb21gjglcb9pklvas32rjpsxcvsjaiw";
+    sha256 = "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection makeWrapper ]
-    # Fixup rpaths because of meson, remove with meson-0.47
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection makeWrapper ];
   buildInputs = [ dbus glib libX11 libXtst libXi ];
 
   doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
@@ -51,14 +49,14 @@ 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}
   '';
 
   meta = with stdenv.lib; {
     description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
     homepage = https://gitlab.gnome.org/GNOME/at-spi2-core;
-    license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/2
+    license = licenses.lgpl21Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/atk/default.nix b/nixpkgs/pkgs/development/libraries/atk/default.nix
index 0a076442b42c..9e80d4fc6ca6 100644
--- a/nixpkgs/pkgs/development/libraries/atk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/atk/default.nix
@@ -4,7 +4,7 @@
 
 let
   pname = "atk";
-  version = "2.32.0";
+  version = "2.34.1";
 in
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1k4i817bd2w5b9z394f2yyx95591l2746wa40am0vvz4gzdgwhfb";
+    sha256 = "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l";
   };
 
   outputs = [ "out" "dev" ];
@@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
     glib
   ];
 
+  patches = [
+    # meson builds an incorrect .pc file
+    # glib should be Requires not Requires.private
+    ./fix_pc.patch
+  ];
+
   doCheck = true;
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/atk/fix_pc.patch b/nixpkgs/pkgs/development/libraries/atk/fix_pc.patch
new file mode 100644
index 000000000000..3d19d9862cbd
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/atk/fix_pc.patch
@@ -0,0 +1,9 @@
+--- a/atk/meson.build
++++ b/atk/meson.build
+@@ -162,5 +162,6 @@ pkgconfig.generate(libatk,
+   name: 'Atk',
+   description: 'Accessibility Toolkit',
+   subdirs: atk_api_name,
++  requires: glib_dep,
+   filebase: 'atk',
+ )
diff --git a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
index 0e0f0c5d425d..c541159a96eb 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysofa";
-  version = "0.7";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "hoene";
     repo = "libmysofa";
     rev = "v${version}";
-    sha256 = "0si0z7cfw6xcs3dkrb4zini55xpxwfp27yl8lbx39gx2pf8v2jls";
+    sha256 = "14k8c31xh0v4r34h89ld440j9zri4plblmlhj5ddhdmzqmh4lr9f";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix b/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
index 04752fd29519..8d429987ad8d 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom, wafHook }:
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, sratom, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lilv";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ lv2 python serd sord sratom ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
+  buildInputs = [ lv2 serd sord sratom ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/lilv;
diff --git a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
index 50593cab6476..ad450b53d12f 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python, wafHook }:
+{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python3, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lv2";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ gtk2 libsndfile python ];
+  buildInputs = [ gtk2 libsndfile python3 ];
 
   meta = with stdenv.lib; {
     homepage = http://lv2plug.in;
diff --git a/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
index 21d6cdfb5d4d..d7353af0d3d3 100644
--- a/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, wafHook }:
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "sratom";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ lv2 python serd sord ];
+  nativeBuildInputs = [ pkgconfig wafHook python3 ];
+  buildInputs = [ lv2 serd sord ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sratom;
diff --git a/nixpkgs/pkgs/development/libraries/audiofile/default.nix b/nixpkgs/pkgs/development/libraries/audiofile/default.nix
index 1ed457aa5fe1..680b585643b7 100644
--- a/nixpkgs/pkgs/development/libraries/audiofile/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audiofile/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, alsaLib, AudioUnit, CoreServices }:
+{ stdenv, lib, fetchurl, fetchpatch, alsaLib, AudioUnit, CoreServices }:
 
 let
 
@@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
     sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind";
   };
 
+  # fix build with gcc9
+  NIX_CFLAGS_LINK = lib.optional (stdenv.system == "i686-linux") "-lgcc";
+
   patches = [
     ./gcc-6.patch
     ./CVE-2015-7747.patch
diff --git a/nixpkgs/pkgs/development/libraries/avahi/default.nix b/nixpkgs/pkgs/development/libraries/avahi/default.nix
index ee451818831c..babfd6849a84 100644
--- a/nixpkgs/pkgs/development/libraries/avahi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/avahi/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--disable-qt3" "--disable-gdbm" "--disable-mono"
-      "--disable-gtk"
+      "--disable-gtk" "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
       (stdenv.lib.enableFeature gtk3Support "gtk3")
       "--${if qt4Support then "enable" else "disable"}-qt4"
       (stdenv.lib.enableFeature withPython "python")
diff --git a/nixpkgs/pkgs/development/libraries/avro-c/default.nix b/nixpkgs/pkgs/development/libraries/avro-c/default.nix
index f66d9369c20a..5d7dedd0e071 100644
--- a/nixpkgs/pkgs/development/libraries/avro-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/avro-c/default.nix
@@ -1,14 +1,14 @@
 { stdenv, cmake, fetchurl, pkgconfig, jansson, zlib }:
 
 let
-  version = "1.9.0";
+  version = "1.9.1";
 in stdenv.mkDerivation {
   pname = "avro-c";
   inherit version;
 
   src = fetchurl {
     url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
-    sha256 = "1ch8z9jpkjxjx2zh28z0946gz3vwj1jnkrzg4vwvfa287128cml0";
+    sha256 = "0hj6w1w5mqkhnhkvjc0zz5njnnrbcjv5ml4f8gq80wff2cgbrxvx";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
index 4286eedc87b2..b10797d3d56f 100644
--- a/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
@@ -13,10 +13,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
-    "-Wno-nullability-extension"
-    "-Wno-typedef-redefinition"
-  ];
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
+    "-Wno-nullability-extension -Wno-typedef-redefinition";
 
   meta = with lib; {
     description = "AWS SDK for C common core";
diff --git a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 6bfb80d3a174..8024f3109513 100644
--- a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -21,7 +21,6 @@ stdenv.mkDerivation rec {
   # FIXME: might be nice to put different APIs in different outputs
   # (e.g. libaws-cpp-sdk-s3.so in output "s3").
   outputs = [ "out" "dev" ];
-  separateDebugInfo = stdenv.isLinux;
 
   nativeBuildInputs = [ cmake curl ];
 
@@ -43,6 +42,9 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional (apis != ["*"])
     "-DBUILD_ONLY=${lib.concatStringsSep ";" apis}";
 
+  # fix build with gcc9, can be removed after bumping to current version
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+
   preConfigure =
     ''
       rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
diff --git a/nixpkgs/pkgs/development/libraries/bamf/default.nix b/nixpkgs/pkgs/development/libraries/bamf/default.nix
index b1fb17b08fa9..60322f530166 100644
--- a/nixpkgs/pkgs/development/libraries/bamf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bamf/default.nix
@@ -1,6 +1,25 @@
-{ stdenv, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
-, libstartup_notification, gobject-introspection, gtk-doc, docbook_xsl
-, xorgserver, dbus, python2, wrapGAppsHook }:
+{ stdenv
+, pantheon
+, autoconf
+, automake
+, libtool
+, gnome3
+, which
+, fetchgit
+, libgtop
+, libwnck3
+, glib
+, vala
+, pkgconfig
+, libstartup_notification
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, xorgserver
+, dbus
+, python3
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "bamf";
@@ -9,14 +28,16 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchgit {
-    url = https://git.launchpad.net/~unity-team/bamf;
+    url = "https://git.launchpad.net/~unity-team/bamf";
     rev = version;
     sha256 = "1klvij1wyhdj5d8sr3b16pfixc1yk8ihglpjykg7zrr1f50jfgsz";
   };
 
   nativeBuildInputs = [
+    (python3.withPackages (ps: with ps; [ lxml ])) # Tests
     autoconf
     automake
+    dbus
     docbook_xsl
     gnome3.gnome-common
     gobject-introspection
@@ -25,13 +46,8 @@ stdenv.mkDerivation rec {
     pkgconfig
     vala
     which
-    # Tests
-    python2
-    python2.pkgs.libxslt
-    python2.pkgs.libxml2
-    dbus
-    xorgserver
     wrapGAppsHook
+    xorgserver
   ];
 
   buildInputs = [
@@ -41,6 +57,11 @@ stdenv.mkDerivation rec {
     libwnck3
   ];
 
+  patches = [
+    # Port tests and checks to python3 lxml.
+    ./gtester2xunit-python3.patch
+  ];
+
   # Fix hard-coded path
   # https://bugs.launchpad.net/bamf/+bug/1780557
   postPatch = ''
@@ -49,8 +70,8 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--enable-headless-tests"
     "--enable-gtk-doc"
+    "--enable-headless-tests"
   ];
 
   # fix paths
@@ -66,8 +87,8 @@ stdenv.mkDerivation rec {
   # TODO: Requires /etc/machine-id
   doCheck = false;
 
-  # ignore deprecation errors
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   meta = with stdenv.lib; {
     description = "Application matching framework";
@@ -78,6 +99,6 @@ stdenv.mkDerivation rec {
     homepage = https://launchpad.net/bamf;
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ davidak ];
+    maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/bamf/gtester2xunit-python3.patch b/nixpkgs/pkgs/development/libraries/bamf/gtester2xunit-python3.patch
new file mode 100644
index 000000000000..8dc478541943
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/bamf/gtester2xunit-python3.patch
@@ -0,0 +1,53 @@
+diff --git a/configure.ac b/configure.ac
+index 41cb7db..93ef0ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,9 +115,9 @@ GTK_DOC_CHECK(1.0)
+ 
+ AC_PATH_PROG([PYTHON],[python])
+ AC_MSG_CHECKING(for gtester2xunit dependencies)
+-if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then
++if !($PYTHON -c "import lxml" 2> /dev/null); then
+   AC_MSG_RESULT([no])
+-  AC_MSG_ERROR([You need to install python-libxslt1 and python-libxml2]);
++  AC_MSG_ERROR([You need to install python-lxml]);
+ fi
+ AC_MSG_RESULT([yes])
+ 
+@@ -189,6 +189,6 @@ ${PACKAGE}-${VERSION}
+     Introspection:        ${enable_introspection}
+     Headless tests:       ${enable_headless_tests}
+     Coverage Reporting:   ${use_gcov}
+-    Export actions menus: ${enable_export_actions_menu} 
++    Export actions menus: ${enable_export_actions_menu}
+ 
+ EOF
+diff --git a/tests/gtester2xunit.py b/tests/gtester2xunit.py
+index fbe3c66..861d541 100755
+--- a/tests/gtester2xunit.py
++++ b/tests/gtester2xunit.py
+@@ -1,18 +1,17 @@
+ #! /usr/bin/python
+ from argparse import ArgumentParser
+-import libxslt
+-import libxml2
+ import sys
+ import os
++from lxml import etree
+ 
+ XSL_TRANSFORM='/usr/share/gtester2xunit/gtester.xsl'
+ 
+ def transform_file(input_filename, output_filename, xsl_file):
+-    gtester = libxml2.parseFile(xsl_file)
+-    style = libxslt.parseStylesheetDoc(gtester)
+-    doc = libxml2.parseFile(input_filename)
+-    result = style.applyStylesheet(doc, None)
+-    result.saveFormatFile(filename=output_filename, format=True)
++    gtester = etree.parse(xsl_file)
++    style = etree.XSLT(gtester)
++    doc = etree.parse(input_filename)
++    result = style(doc)
++    result.write(filename=output_filename, format=True)
+ 
+ 
+ def get_output_filename(input_filename):
diff --git a/nixpkgs/pkgs/development/libraries/bcg729/default.nix b/nixpkgs/pkgs/development/libraries/bcg729/default.nix
new file mode 100644
index 000000000000..4363948e830d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
index 2730696344e0..1c81dd608cbf 100644
--- a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
@@ -1,19 +1,25 @@
-{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";
   };
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+
   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/nixpkgs/pkgs/development/libraries/belle-sip/default.nix b/nixpkgs/pkgs/development/libraries/belle-sip/default.nix
index d4420e40ab69..0d3df37d8e09 100644
--- a/nixpkgs/pkgs/development/libraries/belle-sip/default.nix
+++ b/nixpkgs/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";
   };
@@ -18,24 +17,20 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=deprecated-declarations"
     "-Wno-error=format-truncation"
     "-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/nixpkgs/pkgs/development/libraries/blitz/default.nix b/nixpkgs/pkgs/development/libraries/blitz/default.nix
index fd0da496fa40..f370e45b5fdd 100644
--- a/nixpkgs/pkgs/development/libraries/blitz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/blitz/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildFlags = "lib info pdf html";
+  buildFlags = [ "lib" "info" "pdf" "html" ];
   installTargets = [ "install" "install-info" "install-pdf" "install-html" ];
 
   inherit doCheck;
diff --git a/nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix b/nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix
index 0e828a6f6dad..9fb9e4f4df17 100644
--- a/nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix
+++ b/nixpkgs/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";
@@ -60,10 +60,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/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix b/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
index cf76d9e7d24c..f061626a897d 100644
--- a/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl
+, autoreconfHook
 , enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
 }:
 
@@ -9,26 +10,29 @@ 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";
   };
 
   outputs = [ "out" "dev" "doc" ];
-  separateDebugInfo = stdenv.isLinux;
+  separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
   preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
     export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
   '';
 
-  patches =
-    # https://github.com/ivmai/bdwgc/pull/208
-    lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
+  patches = # https://github.com/ivmai/bdwgc/pull/208
+    lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch
+    # boehm-gc whitelists GCC threading models
+    ++ lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
 
   configureFlags =
     [ "--enable-cplusplus" "--with-libatomic-ops=none" ]
-    ++ lib.optional enableLargeConfig "--enable-large-config"
-    ++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static";
+    ++ lib.optional enableLargeConfig "--enable-large-config";
+
+  nativeBuildInputs =
+    lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
 
   doCheck = true; # not cross;
 
@@ -54,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/nixpkgs/pkgs/development/libraries/boehm-gc/mcfgthread.patch b/nixpkgs/pkgs/development/libraries/boehm-gc/mcfgthread.patch
new file mode 100644
index 000000000000..c4aa996aebd7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/boehm-gc/mcfgthread.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -277,7 +277,7 @@ case "$THREADS" in
+         ;;
+     esac
+     ;;
+- win32)
++ win32 | mcf)
+     AC_DEFINE(GC_THREADS)
+     use_parallel_mark=$enable_parallel_mark
+     if test "${enable_parallel_mark}" != no \
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.71.nix b/nixpkgs/pkgs/development/libraries/boost/1.71.nix
new file mode 100644
index 000000000000..f66bd4cd6fb1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/boost/generic.nix b/nixpkgs/pkgs/development/libraries/boost/generic.nix
index f7bd189022f8..82bcd49592d4 100644
--- a/nixpkgs/pkgs/development/libraries/boost/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/boost/generic.nix
@@ -14,6 +14,7 @@
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 , patches ? []
 , mpi ? null
+, extraB2Args ? []
 
 # Attributes inherit from specific versions
 , version, src
@@ -92,7 +93,8 @@ let
     ++ optional (mpi != null || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
     ++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
     "threadapi=win32"
-  ]);
+  ] ++ extraB2Args
+  );
 
 in
 
@@ -101,7 +103,7 @@ stdenv.mkDerivation {
 
   inherit src version;
 
-  patchFlags = "";
+  patchFlags = [];
 
   patches = patches
   ++ optional stdenv.isDarwin (
diff --git a/nixpkgs/pkgs/development/libraries/box2d/default.nix b/nixpkgs/pkgs/development/libraries/box2d/default.nix
index 328ac434d85a..d4b4c33f35b5 100644
--- a/nixpkgs/pkgs/development/libraries/box2d/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/boxfort/default.nix b/nixpkgs/pkgs/development/libraries/boxfort/default.nix
new file mode 100644
index 000000000000..95c1afd090f4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/boxfort/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, gettext, libcsptr, dyncall
+, nanomsg, python37Packages }:
+
+stdenv.mkDerivation rec {
+  version = "unstable-2019-09-19";
+  pname = "boxfort";
+
+  src = fetchFromGitHub {
+    owner = "Snaipe";
+    repo = "BoxFort";
+    rev = "926bd4ce968592dbbba97ec1bb9aeca3edf29b0d";
+    sha256 = "0mzy4f8qij6ckn5578y3l4rni2470pdkjy5xww7ak99l1kh3p3v6";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    dyncall
+    gettext
+    libcsptr
+    nanomsg
+  ];
+
+  checkInputs = with python37Packages; [ cram ];
+
+  cmakeFlags = [ "-DBXF_FORK_RESILIENCE=OFF" ];
+
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
+  '';
+
+  outputs = [ "dev" "out" ];
+
+  meta = with stdenv.lib; {
+    description = "Convenient & cross-platform sandboxing C library";
+    homepage = "https://github.com/Snaipe/BoxFort";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      thesola10
+      Yumasi
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/buddy/default.nix b/nixpkgs/pkgs/development/libraries/buddy/default.nix
index fb25b0a58108..9b722602a65c 100644
--- a/nixpkgs/pkgs/development/libraries/buddy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/buddy/default.nix
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ bison ];
   patches = [ ./gcc-4.3.3-fixes.patch ];
   configureFlags = [ "CFLAGS=-O3" "CXXFLAGS=-O3" ];
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
   doCheck = true;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/bullet/default.nix b/nixpkgs/pkgs/development/libraries/bullet/default.nix
index f6041802a9c5..5b4e37eff9f6 100644
--- a/nixpkgs/pkgs/development/libraries/bullet/default.nix
+++ b/nixpkgs/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 ];
@@ -40,7 +40,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=argument-outside-range";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang
+    "-Wno-error=argument-outside-range -Wno-error=c++11-narrowing";
 
   meta = with stdenv.lib; {
     description = "A professional free 3D Game Multiphysics Library";
diff --git a/nixpkgs/pkgs/development/libraries/bullet/roboschool-fork.nix b/nixpkgs/pkgs/development/libraries/bullet/roboschool-fork.nix
index 8b0901832d11..34a9ee3b6ee8 100644
--- a/nixpkgs/pkgs/development/libraries/bullet/roboschool-fork.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/c-blosc/default.nix b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
index 396e419406ae..4a9e627e5442 100644
--- a/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "c-blosc";
-  version = "1.16.3";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "1c58wkf34rp5wh9qp09zdk7zcfn037sk56p4xq1g0vapbnglv603";
+    sha256 = "0c4vh7kyxm57jclk8jlcnc11w7nd2m81qk454gav58aji85w16hg";
   };
 
   buildInputs = [ cmake ];
@@ -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/nixpkgs/pkgs/development/libraries/caf/default.nix b/nixpkgs/pkgs/development/libraries/caf/default.nix
index 3ebc0b36679c..ecf991cb59ce 100644
--- a/nixpkgs/pkgs/development/libraries/caf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/caf/default.nix
@@ -1,23 +1,36 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "actor-framework";
-  version = "0.17.0";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = version;
-    sha256 = "10dcpmdsfq6r7hpvg413pqi1q3rjvgn7f87c17ghyz30x6rjhaic";
+    sha256 = "187r7vc4kpd0v6bb1y51zwqm9y1lh0m84vkwmrxn8rrp4bwdxlpj";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = [ openssl ];
+
+  cmakeFlags = [
+    "-DCAF_NO_EXAMPLES:BOOL=TRUE"
+  ];
+
+  doCheck = true;
+  checkTarget = "test";
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$PWD/lib
+  '';
+
   meta = with stdenv.lib; {
     description = "An open source implementation of the actor model in C++";
     homepage = http://actor-framework.org/;
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ bobakker ];
+    maintainers = with maintainers; [ bobakker tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/cairo/default.nix b/nixpkgs/pkgs/development/libraries/cairo/default.nix
index e5152b8a6461..0d7a3465214d 100644
--- a/nixpkgs/pkgs/development/libraries/cairo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cairo/default.nix
@@ -9,8 +9,8 @@
 , x11XrenderSupport ? x11Support, libXrender
 , xcbSupport ? !stdenv.isDarwin, libxcb # 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
+, glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux)
+, libGL ? null # libGLU libGL is no longer a big dependency
 , darwin
 }:
 
diff --git a/nixpkgs/pkgs/development/libraries/catch2/default.nix b/nixpkgs/pkgs/development/libraries/catch2/default.nix
index d7876affe2f9..cc338e35d832 100644
--- a/nixpkgs/pkgs/development/libraries/catch2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.8.0";
+  version = "2.11.1";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="1i7nz29gcsy9cnljb0sb1fw8fg9p1gdh2pdhrgj3kcrsnxgbyhrq";
+    sha256="1jijj72cas6k5hckkxqppbv1inlwbca37p0ixzs3vzm2jhnd7z31";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)";
-    homepage = http://catch-lib.net;
+    homepage = "http://catch-lib.net";
     license = licenses.boost;
     maintainers = with maintainers; [ edwtjo knedlsepp ];
     platforms = with platforms; unix;
diff --git a/nixpkgs/pkgs/development/libraries/ccrtp/1.8.nix b/nixpkgs/pkgs/development/libraries/ccrtp/1.8.nix
deleted file mode 100644
index db2d177b710c..000000000000
--- a/nixpkgs/pkgs/development/libraries/ccrtp/1.8.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, openssl, pkgconfig, libgcrypt, commoncpp2 }:
-
-stdenv.mkDerivation {
-  name = "ccrtp-1.8.0";
-
-  src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-1.8.0.tar.gz;
-    sha256 = "0wr4dandlfajhmg90nqyvwv61ikn9vdycji001310y3c4zfysprn";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libgcrypt commoncpp2 ];
-
-  patches = [ ./gcc-4.6-fix.patch ];
-
-  meta = {
-    description = "GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF";
-    homepage = https://www.gnu.org/software/ccrtp/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
-    broken = true; # fails to compile with libgcrypt >= 1.6
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch b/nixpkgs/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch
deleted file mode 100644
index 49d07a89e52a..000000000000
--- a/nixpkgs/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -ubr ccrtp-1.8.0-orig/src/ccrtp/sources.h ccrtp-1.8.0/src/ccrtp/sources.h
---- ccrtp-1.8.0-orig/src/ccrtp/sources.h	2010-04-18 20:51:49.000000000 +0200
-+++ ccrtp-1.8.0/src/ccrtp/sources.h	2012-07-07 11:42:50.961179016 +0200
-@@ -45,6 +45,7 @@
- #define CCXX_RTP_SOURCES_H_
- 
- #include <string>
-+#include <cstddef>
- #include <ccrtp/rtcppkt.h>
- 
- #ifdef	CCXX_NAMESPACES
-@@ -406,7 +407,7 @@
- 	public:
- 		typedef std::forward_iterator_tag iterator_category;
- 		typedef Participant value_type;
--		typedef ptrdiff_t difference_type;
-+		typedef std::ptrdiff_t difference_type;
- 		typedef const Participant* pointer;
- 		typedef const Participant& reference;
- 
diff --git a/nixpkgs/pkgs/development/libraries/cereal/default.nix b/nixpkgs/pkgs/development/libraries/cereal/default.nix
new file mode 100644
index 000000000000..03a1f9b31799
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/cereal/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+stdenv.mkDerivation rec {
+  pname = "cereal";
+  version = "1.3.0";
+
+  nativeBuildInputs = [ cmake ];
+
+  src = fetchFromGitHub {
+    owner = "USCiLab";
+    repo = "cereal";
+    rev = "v${version}";
+    sha256 = "0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p";
+  };
+
+  cmakeFlagsArray = [ "-DJUST_INSTALL_CEREAL=yes" ];
+
+  meta = with stdenv.lib; {
+    description = "A header-only C++11 serialization library";
+    homepage    = https://uscilab.github.io/cereal/;
+    platforms   = platforms.all;
+    license     = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/cfitsio/default.nix b/nixpkgs/pkgs/development/libraries/cfitsio/default.nix
index 7576c24024a4..4b84f73a2585 100644
--- a/nixpkgs/pkgs/development/libraries/cfitsio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cfitsio/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   # Shared-only build
-  buildFlags = "shared";
+  buildFlags = [ "shared" ];
   postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
    '';
 
diff --git a/nixpkgs/pkgs/development/libraries/check/default.nix b/nixpkgs/pkgs/development/libraries/check/default.nix
index 08610d1e9aff..6a94d9a71ce3 100644
--- a/nixpkgs/pkgs/development/libraries/check/default.nix
+++ b/nixpkgs/pkgs/development/libraries/check/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "check";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchurl {
     url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz";
-    sha256 = "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6";
+    sha256 = "02crar51gniijrrl9p8f9maibnwc33n76kw5cqr7xk3s8hqnncy4";
   };
 
   # Test can randomly fail: http://hydra.nixos.org/build/7243912
diff --git a/nixpkgs/pkgs/development/libraries/chipmunk/default.nix b/nixpkgs/pkgs/development/libraries/chipmunk/default.nix
index 76f722f31aa7..5dd9917bc52b 100644
--- a/nixpkgs/pkgs/development/libraries/chipmunk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/chromaprint/default.nix b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
index fd868884f986..6ad6a09ec14b 100644
--- a/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "chromaprint";
-  version = "1.3.2";
+  version = "1.4.3";
 
   src = fetchurl {
-    url = "https://bitbucket.org/acoustid/chromaprint/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3";
+    url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a";
   };
 
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ boost ffmpeg ];
 
-  cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ];
+  cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
 
   meta = with stdenv.lib; {
     homepage = https://acoustid.org/chromaprint;
diff --git a/nixpkgs/pkgs/development/libraries/cimg/default.nix b/nixpkgs/pkgs/development/libraries/cimg/default.nix
index 6181122aa7f1..22ad25a8bbe2 100644
--- a/nixpkgs/pkgs/development/libraries/cimg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cimg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.7.1";
+  version = "2.8.0";
 
   src = fetchurl {
     url = "http://cimg.eu/files/CImg_${version}.zip";
-    sha256 = "1lw1hjk65zyd5x9w113yrqyy8db45jdzzkqslkipaiskl9f81y9z";
+    sha256 = "1nm9zpx9k3pb1p726ihw13y0d3y3xqafml7mhnx6wrkg9sfgs17n";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/cl/default.nix b/nixpkgs/pkgs/development/libraries/cl/default.nix
index a7d7a0ea982b..2c8ac5113b12 100644
--- a/nixpkgs/pkgs/development/libraries/cl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cl/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ erlang rebar opencl-headers ocl-icd ];
-  
+
   buildPhase = ''
     rebar compile
   '';
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/tonyrog/cl;
     description = "OpenCL binding for Erlang";
     license = licenses.mit;
+    # https://github.com/tonyrog/cl/issues/39
+    broken = stdenv.isAarch64;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/clfft/default.nix b/nixpkgs/pkgs/development/libraries/clfft/default.nix
new file mode 100644
index 000000000000..5eb5b842ecfa
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/clfft/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, fftw, fftwFloat, boost166, opencl-clhpp, ocl-icd }:
+
+let
+  version = "2.12.2";
+in stdenv.mkDerivation {
+  pname = "clfft";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "clMathLibraries";
+    repo = "clFFT";
+    rev = "refs/tags/v${version}";
+    sha256 = "134vb6214hn00qy84m4djg4hqs6hw19gkp8d0wlq8gb9m3mfx7na";
+  };
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ fftw fftwFloat boost166 opencl-clhpp ocl-icd ];
+
+  meta = with stdenv.lib; {
+    description = "Library containing FFT functions written in OpenCL";
+    longDescription = ''
+      clFFT is a software library containing FFT functions written in OpenCL.
+      In addition to GPU devices, the library also supports running on CPU devices to facilitate debugging and heterogeneous programming.
+    '';
+    license = licenses.asl20;
+    homepage = "http://clmathlibraries.github.io/clFFT/";
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = with maintainers; [ chessai ];
+    inherit version;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/clipper/default.nix b/nixpkgs/pkgs/development/libraries/clipper/default.nix
index 117524239061..ebb41fde4238 100644
--- a/nixpkgs/pkgs/development/libraries/clipper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/cln/default.nix b/nixpkgs/pkgs/development/libraries/cln/default.nix
index 7adc2a365c5b..dc36414fc28d 100644
--- a/nixpkgs/pkgs/development/libraries/cln/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/clutter/default.nix b/nixpkgs/pkgs/development/libraries/clutter/default.nix
index 7095a808540f..32e723671e8c 100644
--- a/nixpkgs/pkgs/development/libraries/clutter/default.nix
+++ b/nixpkgs/pkgs/development/libraries/clutter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
+{ stdenv, fetchurl, pkgconfig, libGLU, libGL, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
 , gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk3 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
-    [ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
+    [ libX11 libGL libGLU libXext libXfixes libXdamage libXcomposite libXi cogl pango
       atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
     ];
 
diff --git a/nixpkgs/pkgs/development/libraries/codec2/default.nix b/nixpkgs/pkgs/development/libraries/codec2/default.nix
index 7c42a7479b1a..9c31b50c0285 100644
--- a/nixpkgs/pkgs/development/libraries/codec2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/cogl/default.nix b/nixpkgs/pkgs/development/libraries/cogl/default.nix
index 4700d9e2418e..e122c1e7b120 100644
--- a/nixpkgs/pkgs/development/libraries/cogl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cogl/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
 , pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
-, mesa
+, mesa, automake, autoconf
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
@@ -29,11 +29,17 @@ in stdenv.mkDerivation rec {
       url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
       sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
     })
+
+    # Fix build with libglvnd headers (these headers used to be provided by mesa)
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/cogl/commit/9c4764224aded552fb855b1c2b85b26d2b894adf.patch";
+      sha256 = "1v9drpzgcd5pq2shhdcw5px7mdiggk6ga13qjbklq8xpd92ac0i1";
+    })
   ];
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig libintl ];
+  nativeBuildInputs = [ pkgconfig libintl automake autoconf ];
 
   configureFlags = [
     "--enable-introspection"
@@ -41,7 +47,7 @@ in stdenv.mkDerivation rec {
     "--enable-wayland-egl-platform"
     "--enable-wayland-egl-server"
   ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
+  ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
 
   propagatedBuildInputs = with xorg; [
       glib gdk-pixbuf gobject-introspection wayland mesa
diff --git a/nixpkgs/pkgs/development/libraries/coin3d/default.nix b/nixpkgs/pkgs/development/libraries/coin3d/default.nix
index 74fd12ffea26..634ac27058bb 100644
--- a/nixpkgs/pkgs/development/libraries/coin3d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/coin3d/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromBitbucket, stdenv, boost, cmake, libGLU_combined }:
+{ fetchFromBitbucket, stdenv, boost, cmake, libGL, libGLU }:
 
 stdenv.mkDerivation {
   pname = "coin";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost libGLU_combined ];
+  buildInputs = [ boost libGL libGLU ];
 
   meta = {
     homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
diff --git a/nixpkgs/pkgs/development/libraries/commoncpp2/default.nix b/nixpkgs/pkgs/development/libraries/commoncpp2/default.nix
deleted file mode 100644
index 0c5ab7585833..000000000000
--- a/nixpkgs/pkgs/development/libraries/commoncpp2/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ fetchurl, stdenv }:
-
-stdenv.mkDerivation rec {
-  name = "commoncpp2-1.8.1";
-
-  src = fetchurl {
-    url = "mirror://gnu/commoncpp/${name}.tar.gz";
-    sha256 = "0kmgr5w3b1qwzxnsnw94q6rqs0hr8nbv9clf07ca2a2fyypx9kjk";
-  };
-
-  doCheck = true;
-
-  preBuild = ''
-    echo '#include <sys/stat.h>' >> inc/cc++/config.h
-  '';
-
-  meta = {
-    description = "GNU Common C++, a portable, highly optimized C++ class framework";
-
-    longDescription =
-      '' GNU Common C++ and GNU uCommon are very portable and highly
-         optimized class framework for writing C++ applications that need to
-         use threads and support concurrent sychronization, and that use
-         sockets, XML parsing, object serialization, thread-optimized String
-         and data structure classes, etc.  This framework offers a class
-         foundation that hides platform differences from your C++ application
-         so that you need not write platform specific code.  GNU Common C++
-         has been ported to compile nativily on most platforms which support
-         either posix threads, or on maybe be used with Debian hosted mingw32
-         to build native threading applications for Microsoft Windows.
-      '';
-
-    homepage = https://www.gnu.org/software/commoncpp/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/coprthr/default.nix b/nixpkgs/pkgs/development/libraries/coprthr/default.nix
deleted file mode 100644
index 86f4485a900d..000000000000
--- a/nixpkgs/pkgs/development/libraries/coprthr/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, libelf, libconfig, libevent, which, unzip, perl, python
-, bison, flex }:
-
-stdenv.mkDerivation rec {
-  pname = "coprthr";
-  version = "1.6";
-
-  src = fetchurl {
-    url    = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip";
-    sha256 = "0ilx4v1ydppjnq1i0z5j0x4lmi29z39sappar7c0wqady0b5dpz9";
-  };
-
-  buildInputs =
-    [ libelf libconfig libevent which unzip perl python bison flex ];
-
-  patchPhase = ''
-    for x in src/libocl/gen_oclcall_hook.pl tools/cltrace/gen_interceptor.pl src/libocl/gen_oclcall.pl src/scripts/gen_ocl_call_vector.pl src/libstdcl/gen_clarg_setn.pl; do
-      substituteInPlace $x --replace "/usr/bin/perl" ${perl}/bin/perl
-    done
-  '';
-
-  configureFlags =
-    [ "--with-libelf=${libelf}"
-      "--with-libevent=${libevent.dev}"
-      "--with-libconfig=${libconfig}"
-      "--with-opencl-icd-path=$out/etc/OpenCL/vendors"
-      "--enable-user-install"
-    ];
-
-  meta = {
-    description = "The CO-PRocessing THReads SDK for OpenCL/STDCL";
-    homepage    = "http://www.browndeertechnology.com/coprthr.htm";
-    license     = stdenv.lib.licenses.lgpl3;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/coredumper/default.nix b/nixpkgs/pkgs/development/libraries/coredumper/default.nix
deleted file mode 100644
index ddd0d87a5511..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix b/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
index d172ab55fa3c..dc742a5c051a 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=catch-value" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
index c7f949455700..82e09c33a55f 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "031kiawmrp40sqgd9g5qd82ljglcm9xvynicsn4n8n4ngfgbnc0m";
+    sha256 = "11wm7z4ldsja2x2m2dkj3xhiammkwfqgbgkwq9gssnv14803fhnv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cppdb/default.nix b/nixpkgs/pkgs/development/libraries/cppdb/default.nix
index 737122c57bfe..bb521ba3ec0c 100644
--- a/nixpkgs/pkgs/development/libraries/cppdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cppdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, sqlite, mysql, postgresql, unixODBC }:
+{ stdenv, fetchurl, cmake, sqlite, libmysqlclient, postgresql, unixODBC }:
 
 stdenv.mkDerivation rec {
   pname = "cppdb";
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ cmake sqlite mysql.connector-c postgresql unixODBC ];
+  buildInputs = [ cmake sqlite libmysqlclient postgresql unixODBC ];
 
   cmakeFlags = [ "--no-warn-unused-cli" ];
-  NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
+  NIX_CFLAGS_COMPILE = "-I${libmysqlclient}/include/mysql -L${libmysqlclient}/lib/mysql";
 
   meta = with stdenv.lib; {
     homepage = http://cppcms.com/sql/cppdb/;
diff --git a/nixpkgs/pkgs/development/libraries/cppzmq/default.nix b/nixpkgs/pkgs/development/libraries/cppzmq/default.nix
index 2328bd533629..ccf38fa09fbb 100644
--- a/nixpkgs/pkgs/development/libraries/cppzmq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cppzmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cppzmq";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
     rev = "v${version}";
-    sha256 = "15dgkv51csfkafplf0n0vqbjdr4pxqxq44dln0dcizhsn1p0a57q";
+    sha256 = "1n34sj322ay8839q6cxivckkrhz9avy31615i5jdxfal06mgya43";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/crc32c/default.nix b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
index 916ec5b703bb..a7313c205536 100644
--- a/nixpkgs/pkgs/development/libraries/crc32c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ gflags ];
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isAarch64 "-march=armv8-a+crc";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isAarch64 "-march=armv8-a+crc";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/google/crc32c;
diff --git a/nixpkgs/pkgs/development/libraries/criterion/default.nix b/nixpkgs/pkgs/development/libraries/criterion/default.nix
new file mode 100644
index 000000000000..c2721d3839a1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/criterion/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
+, dyncall , nanomsg, python37Packages }:
+
+stdenv.mkDerivation rec {
+  version = "2.3.3";
+  pname = "criterion";
+
+  src = fetchFromGitHub {
+    owner = "Snaipe";
+    repo = "Criterion";
+    rev = "v${version}";
+    sha256 = "0y1ay8is54k3y82vagdy0jsa3nfkczpvnqfcjm5n9iarayaxaq8p";
+    fetchSubmodules = true;
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    boxfort.dev
+    dyncall
+    gettext
+    libcsptr
+    nanomsg
+  ];
+
+  checkInputs = with python37Packages; [ cram ];
+
+  cmakeFlags = [ "-DCTESTS=ON" ];
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
+  '';
+  checkTarget = "criterion_tests test";
+
+  outputs = [ "dev" "out" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform C and C++ unit testing framework for the 21th century";
+    homepage = "https://github.com/Snaipe/Criterion";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      thesola10
+      Yumasi
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/crypto++/GNUmakefile-darwin.patch b/nixpkgs/pkgs/development/libraries/crypto++/GNUmakefile-darwin.patch
deleted file mode 100644
index 5a6cb3bcafb4..000000000000
--- a/nixpkgs/pkgs/development/libraries/crypto++/GNUmakefile-darwin.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/GNUmakefile b/GNUmakefile
-index 4de9d10..ff4789a 100755
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -271,8 +271,8 @@ endif # OpenMP
- endif # IS_LINUX
- 
- ifneq ($(IS_DARWIN),0)
--AR = libtool
--ARFLAGS = -static -o
-+AR = ar
-+ARFLAGS = cru
- CXX ?= c++
- ifeq ($(IS_GCC_29),1)
- CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
diff --git a/nixpkgs/pkgs/development/libraries/crypto++/default.nix b/nixpkgs/pkgs/development/libraries/crypto++/default.nix
index cb481fc7084e..3fe277481553 100644
--- a/nixpkgs/pkgs/development/libraries/crypto++/default.nix
+++ b/nixpkgs/pkgs/development/libraries/crypto++/default.nix
@@ -1,49 +1,47 @@
-{ fetchFromGitHub, stdenv }:
+{ stdenv, fetchFromGitHub, nasm, which }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "crypto++";
-  majorVersion = "5.6";
-  version = "${majorVersion}.5";
+  version = "8.2.0";
+  underscoredVersion = strings.replaceStrings ["."] ["_"] version;
 
   src = fetchFromGitHub {
     owner = "weidai11";
     repo = "cryptopp";
-    rev = "CRYPTOPP_5_6_5";
-    sha256 = "1yk7jyf4va9425cg05llskpls2jm7n3jwy2hj5jm74zkr4mwpvl7";
+    rev = "CRYPTOPP_${underscoredVersion}";
+    sha256 = "01zrrzjn14yhkb9fzzl57vmh7ig9a6n6fka45f8za0gf7jpcq3mj";
   };
 
-  patches = stdenv.lib.concatLists [
-    (stdenv.lib.optional (stdenv.hostPlatform.system != "i686-cygwin") ./dll.patch)
-    (stdenv.lib.optional stdenv.hostPlatform.isDarwin ./GNUmakefile-darwin.patch)
-  ];
-
-
-  configurePhase = ''
-      sed -i GNUmakefile \
-        -e 's|-march=native|-fPIC|g' \
-        -e '/^CXXFLAGS =/s|-g ||'
+  postPatch = ''
+    substituteInPlace GNUmakefile \
+        --replace "AR = libtool" "AR = ar" \
+        --replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
   '';
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = optionals stdenv.hostPlatform.isx86 [ nasm which ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
-  buildFlags = [ "libcryptopp.so" ];
-  installFlags = [ "LDCONF=true" ];
+  preBuild = optionalString stdenv.hostPlatform.isx86 "${stdenv.shell} rdrand-nasm.sh";
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  buildFlags = [ "shared" "libcryptopp.pc" ];
+  enableParallelBuilding = true;
 
   doCheck = true;
-  checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
 
-  # prefer -fPIC and .so to .a; cryptotest.exe seems superfluous
-  postInstall = ''
-    rm "$out"/lib/*.a -r "$out/bin"
-    ln -sf "$out"/lib/libcryptopp.so.${version} "$out"/lib/libcryptopp.so.${majorVersion}
+  preInstall = "rm libcryptopp.a"; # built for checks but we don't install static lib into the nix store
+  installTargets = [ "install-lib" ];
+  installFlags = [ "LDCONF=true" ];
+  postInstall = optionalString (!stdenv.hostPlatform.isDarwin) ''
+    ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.majorMinor version}
+    ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.major version}
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Crypto++, a free C++ class library of cryptographic schemes";
-    homepage = http://cryptopp.com/;
-    license = licenses.boost;
+    homepage = "https://cryptopp.com/";
+    changelog = "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt";
+    license = with licenses; [ boost publicDomain ];
     platforms = platforms.all;
-    maintainers = [ ];
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/crypto++/dll.patch b/nixpkgs/pkgs/development/libraries/crypto++/dll.patch
deleted file mode 100644
index 12df1fb9e9e9..000000000000
--- a/nixpkgs/pkgs/development/libraries/crypto++/dll.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Get rid of Windows-specific stuff.
-
-diff --git a/GNUmakefile b/GNUmakefile
-index 4de9d10..ff4789a 100755
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -656,7 +656,7 @@ nolib: $(OBJS)
- dll: cryptest.import.exe dlltest.exe
- 
- cryptopp.dll: $(DLLOBJS)
--	$(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
-+	$(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS)
- 
- libcryptopp.import.a: $(LIBIMPORTOBJS)
- 	$(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
-diff --git a/dll.cpp b/dll.cpp
-index 72dade9..b5097ab 100644
---- a/dll.cpp
-+++ b/dll.cpp
-@@ -48,7 +48,7 @@ NAMESPACE_END
- 

- #endif

- 

--#ifdef CRYPTOPP_EXPORTS

-+#if defined CRYPTOPP_EXPORTS && defined _MSC_VER

- 

- USING_NAMESPACE(CryptoPP)

- 

diff --git a/nixpkgs/pkgs/development/libraries/csfml/default.nix b/nixpkgs/pkgs/development/libraries/csfml/default.nix
index 506aa5f475d6..9bfff5c4aa81 100644
--- a/nixpkgs/pkgs/development/libraries/csfml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/csfml/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, sfml }:
 
 let
-  version = "2.4";
+  version = "2.5";
 in
 
 stdenv.mkDerivation {
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "SFML";
     repo  = "CSFML";
-    rev   = "b5facb85d13bff451a5fd2d088a97472a685576c";
-    sha256 = "1q716gd7c7jlxzwpq5z4rjj5lsrn71ql2djphccdf9jannllqizn";
+    rev   = version;
+    sha256 = "071magxif5nrdddzk2z34czqmz1dfws4d7dqynb2zpn7cwhwxcpm";
   };
   buildInputs = [ cmake sfml ];
   cmakeFlags = [ "-DCMAKE_MODULE_PATH=${sfml}/share/SFML/cmake/Modules/" ];
diff --git a/nixpkgs/pkgs/development/libraries/cutee/default.nix b/nixpkgs/pkgs/development/libraries/cutee/default.nix
index 1658f8a6fa7a..1c14454af5c4 100644
--- a/nixpkgs/pkgs/development/libraries/cutee/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cutee/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "18bzvhzx8k24mpcim5669n3wg9hd0sfsxj8zjpbr24hywrlppgc2";
   };
 
-  buildFlags = "cutee";
+  buildFlags = [ "cutee" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/development/libraries/cutelyst/default.nix b/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
index e84fbe89aa95..6cd464e55390 100644
--- a/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cutelyst";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "cutelyst";
     repo = "cutelyst";
     rev = "v${version}";
-    sha256 = "02jys32qkyksa2dmanyg4x0y5lh4ra0xbn2mfr2k84slrxbgjs1g";
+    sha256 = "13h2sj131s31qdzdwa3hx7ildmvlk8mv9s0j99kvx1ijaq49z79f";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/development/libraries/cwiid/default.nix b/nixpkgs/pkgs/development/libraries/cwiid/default.nix
index 246dd009820c..d9a17aff9418 100644
--- a/nixpkgs/pkgs/development/libraries/cwiid/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cwiid/default.nix
@@ -23,9 +23,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  NIX_LDFLAGS = [
-    "-lbluetooth"
-  ];
+  NIX_LDFLAGS = "-lbluetooth";
 
   postInstall = ''
     # Some programs (for example, cabal-install) have problems with the double 0
diff --git a/nixpkgs/pkgs/development/libraries/cyrus-sasl/default.nix b/nixpkgs/pkgs/development/libraries/cyrus-sasl/default.nix
index a050dd8d9cac..68f6a7c5d8b8 100644
--- a/nixpkgs/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, openssl, openldap, kerberos, db, gettext
 , pam, fixDarwinDylibNames, autoreconfHook, enableLdap ? false
-, buildPackages, pruneLibtoolFiles }:
+, buildPackages, pruneLibtoolFiles, fetchpatch }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
     ./cyrus-sasl-ac-try-run-fix.patch
+    (fetchpatch {
+      name = "CVE-2019-19906.patch";
+      url = "https://sources.debian.org/data/main/c/cyrus-sasl2/2.1.27+dfsg-1+deb10u1/debian/patches/0021-CVE-2019-19906.patch";
+      sha256 = "1n4c5wg7l9j8rlbvx8i605j5d39xmj5wm618k8acxl4fmglcmfls";
+    })
   ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/czmq/3.x.nix b/nixpkgs/pkgs/development/libraries/czmq/3.x.nix
deleted file mode 100644
index 73a51cd27310..000000000000
--- a/nixpkgs/pkgs/development/libraries/czmq/3.x.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, zeromq }:
-
-stdenv.mkDerivation rec {
-  version = "3.0.2";
-  pname = "czmq";
-
-  src = fetchurl {
-    url = "http://download.zeromq.org/${pname}-${version}.tar.gz";
-    sha256 = "16k9awrhdsymx7dnmvqcnkaq8lz8x8zppy6sh7ls8prpd6mkkjlb";
-  };
-
-  patches = [ ./czmq3-gcc7.patch ];
-
-  # Fix build on Glibc 2.24.
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
-  # Needs to be propagated for the .pc file to work
-  propagatedBuildInputs = [ zeromq ];
-
-  meta = with stdenv.lib; {
-    homepage = http://czmq.zeromq.org/;
-    description = "High-level C Binding for ZeroMQ";
-    license = licenses.mpl20;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/czmq/czmq3-gcc7.patch b/nixpkgs/pkgs/development/libraries/czmq/czmq3-gcc7.patch
deleted file mode 100644
index 4ab14685a6c1..000000000000
--- a/nixpkgs/pkgs/development/libraries/czmq/czmq3-gcc7.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/zgossip_engine.inc b/src/zgossip_engine.inc
-index 37dbb4eb..727aaa9b 100644
---- a/src/zgossip_engine.inc
-+++ b/src/zgossip_engine.inc
-@@ -258,7 +258,7 @@ engine_set_log_prefix (client_t *client, const char *string)
- {
-     if (client) {
-         s_client_t *self = (s_client_t *) client;
--        snprintf (self->log_prefix, sizeof (self->log_prefix) - 1,
-+        snprintf (self->log_prefix, sizeof (self->log_prefix),
-             "%6d:%-33s", self->unique_id, string);
-     }
- }
-diff --git a/src/zsys.c b/src/zsys.c
-index 4d0bb8a1..f07db9c8 100644
---- a/src/zsys.c
-+++ b/src/zsys.c
-@@ -1071,7 +1071,7 @@ zsys_run_as (const char *lockfile, const char *group, const char *user)
-             }
-         }
-         //   We record the current process id in the lock file
--        char pid_buffer [10];
-+        char pid_buffer [32];
-         snprintf (pid_buffer, sizeof (pid_buffer), "%6d\n", getpid ());
-         if (write (handle, pid_buffer, strlen (pid_buffer)) != strlen (pid_buffer)) {
-             zsys_error ("cannot write to lockfile: %s", strerror (errno));
diff --git a/nixpkgs/pkgs/development/libraries/czmq/4.x.nix b/nixpkgs/pkgs/development/libraries/czmq/default.nix
index 05e499c73d0c..05e499c73d0c 100644
--- a/nixpkgs/pkgs/development/libraries/czmq/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/czmq/default.nix
diff --git a/nixpkgs/pkgs/development/libraries/czmqpp/default.nix b/nixpkgs/pkgs/development/libraries/czmqpp/default.nix
deleted file mode 100644
index 079eb0806d2c..000000000000
--- a/nixpkgs/pkgs/development/libraries/czmqpp/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, czmq }:
-
-stdenv.mkDerivation rec {
-  pname = "czmqpp";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "zeromq";
-    repo = "czmqpp";
-    rev = "v${version}";
-    sha256 = "0z8lwq53yk4h7pgibicx3q9idz15qb95r0pjpz0j5vql6qh46rja";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  propagatedBuildInputs = [ czmq ];
-
-  # https://github.com/zeromq/czmqpp/issues/42
-  patches = [ ./socket.patch ];
-
-  meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
-    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
-    license = licenses.lgpl3;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ chris-martin ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/czmqpp/socket.patch b/nixpkgs/pkgs/development/libraries/czmqpp/socket.patch
deleted file mode 100644
index 0464bcf77971..000000000000
--- a/nixpkgs/pkgs/development/libraries/czmqpp/socket.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- /src/socket.cpp
-+++ /src/socket.cpp
-@@ -60,12 +60,12 @@
- int socket::bind(const std::string& address)
- {
-     // format-security: format not a string literal and no format arguments.
--    return zsocket_bind(self_, address.c_str());
-+    return zsocket_bind(self_, "%s", address.c_str());
- }
- int socket::connect(const std::string& address)
- {
-     // format-security: format not a string literal and no format arguments.
--    return zsocket_connect(self_, address.c_str());
-+    return zsocket_connect(self_, "%s", address.c_str());
- }
-
- bool operator==(const socket& sock_a, const socket& sock_b)
diff --git a/nixpkgs/pkgs/development/libraries/dav1d/default.nix b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
index d065554d7c9d..5542a37661ac 100644
--- a/nixpkgs/pkgs/development/libraries/dav1d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
@@ -1,30 +1,32 @@
 { stdenv, fetchFromGitLab
 , meson, ninja, nasm, pkgconfig
-, withTools ? false, SDL2
+, withTools ? false # "dav1d" binary
+, withExamples ? false, SDL2 # "dav1dplay" binary
 , useVulkan ? false, libplacebo, vulkan-loader, vulkan-headers
 }:
 
-assert useVulkan -> withTools;
+assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.4.0";
+  version = "0.5.2";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "1fbalfzw8j00vwbrh9h8kjdx6h99dr10vmvbpg3rhsspmxq9h66h";
+    sha256 = "0acxlgyz6c8ckw8vfgn60y2zg2n00l5xsq5jlxvwbh5w5pkc3ahf";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkgconfig ];
   # TODO: doxygen (currently only HTML and not build by default).
-  buildInputs = stdenv.lib.optional withTools SDL2
+  buildInputs = stdenv.lib.optional withExamples SDL2
     ++ stdenv.lib.optionals useVulkan [ libplacebo vulkan-loader vulkan-headers ];
 
   mesonFlags= [
     "-Denable_tools=${stdenv.lib.boolToString withTools}"
+    "-Denable_examples=${stdenv.lib.boolToString withExamples}"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/dbus/default.nix b/nixpkgs/pkgs/development/libraries/dbus/default.nix
index 616ad869d57c..5024ea3ef249 100644
--- a/nixpkgs/pkgs/development/libraries/dbus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dbus/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , pkgconfig
 , expat
+, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
 , systemd
 , libX11 ? null
 , libICE ? null
@@ -15,6 +16,8 @@ assert
   x11Support ->
     libX11 != null && libICE != null && libSM != null;
 
+assert enableSystemd -> systemd != null;
+
 stdenv.mkDerivation rec {
   pname = "dbus";
   version = "1.12.16";
@@ -50,16 +53,18 @@ stdenv.mkDerivation rec {
     expat
   ];
 
-  buildInputs = lib.optionals x11Support [
-    libX11
-    libICE
-    libSM
-  ] ++ lib.optional stdenv.isLinux systemd;
+  buildInputs =
+    lib.optionals x11Support [
+      libX11
+      libICE
+      libSM
+    ] ++ lib.optional enableSystemd systemd;
   # ToDo: optional selinux?
 
   configureFlags = [
     "--enable-user-session"
     "--libexecdir=${placeholder ''out''}/libexec"
+    "--datadir=/etc"
     "--localstatedir=/var"
     "--runstatedir=/run"
     "--sysconfdir=/etc"
@@ -100,6 +105,7 @@ stdenv.mkDerivation rec {
     description = "Simple interprocess messaging system";
     homepage = http://www.freedesktop.org/wiki/Software/dbus/;
     license = licenses.gpl2Plus; # most is also under AFL-2.1
+    maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix b/nixpkgs/pkgs/development/libraries/dconf/default.nix
index 43f8dd08dbff..5b37088cd95f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dconf/default.nix
@@ -6,19 +6,18 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "0.32.0";
+  version = "0.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38";
+    sha256 = "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll";
   };
 
   patches = [
-    # Fix the build on Darwin
-    # Issue: https://gitlab.gnome.org/GNOME/dconf/issues/47
+    # Fix build with Meson 0.52
     (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/dconf/commit/49f4d916e1151af3975df52c522c69de98ed2fbb.patch";
-      sha256 = "00klkr1jzli9ap0aj6399m1bj2bxxz48pmcj4r16dsy6dfdl6325";
+      url = "https://gitlab.gnome.org/GNOME/dconf/commit/cc32667c5d7d9ff95e65cc21f59905d8f9218394.patch";
+      sha256 = "02gfadn34bg818a7vb3crhsiahskiflcvx9l6iqwf1v269q93mr8";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/dee/default.nix b/nixpkgs/pkgs/development/libraries/dee/default.nix
index 093cc2bdf058..dd26e5eb8baa 100644
--- a/nixpkgs/pkgs/development/libraries/dee/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dee/default.nix
@@ -1,11 +1,12 @@
 { stdenv
 , fetchgit
+, fetchpatch
 , pkgconfig
 , glib
 , icu
 , gobject-introspection
 , dbus-glib
-, vala_0_40
+, vala
 , python3
 , autoreconfHook
 }:
@@ -18,20 +19,26 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://git.launchpad.net/ubuntu/+source/dee";
-    rev = "import/1.2.7+17.10.20170616-4ubuntu1";
-    sha256 = "0q3d9d6ahcyibp6x23g1wvjfcppjh9v614s328yjmx47216z7394";
+    rev = "import/1.2.7+17.10.20170616-4ubuntu3";
+    sha256 = "09blrdj7229vscp4mkg0fabmcvc6jdpamvblrq86rbky7j2nnwlk";
   };
 
   patches = [
     "${src}/debian/patches/gtkdocize.patch"
     "${src}/debian/patches/strict-prototype.patch"
-    "${src}/debian/patches/icu-pkg-config.patch"
+    "${src}/debian/patches/vapi-skip-properties.patch"
+
+    # Fixes glib 2.62 deprecations
+    (fetchpatch {
+      name = "dee-1.2.7-deprecated-g_type_class_add_private.patch";
+      url = "https://src.fedoraproject.org/rpms/dee/raw/1a9a4ce3377074fabfca653ffe0287cd73aef82f/f/dee-1.2.7-deprecated-g_type_class_add_private.patch";
+      sha256 = "13nyprq7bb7lnzkcb7frcpzidbl836ycn5bvmwa2k0nhmj6ycbx5";
+    })
   ];
 
   nativeBuildInputs = [
     pkgconfig
-    # https://gitlab.gnome.org/GNOME/vala/issues/803
-    vala_0_40
+    vala
     autoreconfHook
     gobject-introspection
     python3
diff --git a/nixpkgs/pkgs/development/libraries/dirac/default.nix b/nixpkgs/pkgs/development/libraries/dirac/default.nix
deleted file mode 100644
index 93e5da5b792d..000000000000
--- a/nixpkgs/pkgs/development/libraries/dirac/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, doxygen }:
-
-stdenv.mkDerivation rec {
-  version = "1.0.2";
-  pname = "dirac";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/dirac/${pname}-${version}.tar.gz";
-    sha256 = "1z803yzp17cj69wn11iyb13swqdd9xdzr58dsk6ghpr3ipqicsw1";
-  };
-
-  buildInputs = [ doxygen ];
-  enableParallelBuilding = true;
-
-  patches = [ ./dirac-1.0.2.patch ];
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
-  postInstall = ''
-    # keep only necessary binaries
-    find $out/bin \( -name '*RGB*' -or -name '*YUV*' -or -name create_dirac_testfile.pl \) -delete
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://sourceforge.net/projects/dirac;
-    description = "A general-purpose video codec based on wavelets";
-    platforms = platforms.linux;
-    license = with licenses; [ mpl11 gpl2 lgpl21 ];
-    maintainers = [ maintainers.igsha ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/dirac/dirac-1.0.2.patch b/nixpkgs/pkgs/development/libraries/dirac/dirac-1.0.2.patch
deleted file mode 100644
index 3d253b8f6d67..000000000000
--- a/nixpkgs/pkgs/development/libraries/dirac/dirac-1.0.2.patch
+++ /dev/null
@@ -1,362 +0,0 @@
-diff -aur dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp dirac-1.0.2-modif/libdirac_byteio/parseunit_byteio.cpp
---- dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp	2008-05-02 09:57:19.000000000 +0400
-+++ dirac-1.0.2-modif/libdirac_byteio/parseunit_byteio.cpp	2016-02-10 19:39:09.838443767 +0300
-@@ -124,12 +124,9 @@
- 
-     if(prefix==PU_PREFIX)
-     {
--        unsigned char next_parse_code;
--
--        next_parse_code = InputUnByte();
-+        (void)InputUnByte();
-         // input next unit parse-offsets
--        int next_unit_next_parse_offset;
--        next_unit_next_parse_offset = ReadUintLit(PU_NEXT_PARSE_OFFSET_SIZE);
-+        (void)ReadUintLit(PU_NEXT_PARSE_OFFSET_SIZE);
- 
-         int next_unit_previous_parse_offset;
-         next_unit_previous_parse_offset = ReadUintLit(PU_PREVIOUS_PARSE_OFFSET_SIZE);
-diff -aur dirac-1.0.2/libdirac_common/mot_comp.cpp dirac-1.0.2-modif/libdirac_common/mot_comp.cpp
---- dirac-1.0.2/libdirac_common/mot_comp.cpp	2008-10-01 05:26:47.000000000 +0400
-+++ dirac-1.0.2-modif/libdirac_common/mot_comp.cpp	2016-02-10 19:50:18.453051800 +0300
-@@ -1064,10 +1064,10 @@
-         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
- 
-         //weights for doing linear interpolation, calculated from the remainder values
--        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
--                                           rmdr.x * (2 - rmdr.y),          //tr
--                                           (2 - rmdr.x) * rmdr.y,          //bl
--                                           rmdr.x * rmdr.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
-+                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
-+                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
-+                                           ValueType(rmdr.x * rmdr.y) };              //br
- 
- 
-        for(int c = 0, uY = ref_start.y,BuY=BChk(uY,trueRefYlen),BuY1=BChk(uY+1,trueRefYlen);
-@@ -1116,10 +1116,10 @@
-     const ImageCoords ref_start( ( start_pos.x<<1 ) + roundvec.x ,( start_pos.y<<1 ) + roundvec.y );
- 
-     //weights for doing linear interpolation, calculated from the remainder values
--    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
--                                    rmdr.x * (4 - rmdr.y),          //tr
--                                    (4 - rmdr.x) * rmdr.y,          //bl
--                                    rmdr.x * rmdr.y };              //br
-+    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
-+                                    ValueType(rmdr.x * (4 - rmdr.y)),          //tr
-+                                    ValueType((4 - rmdr.x) * rmdr.y),          //bl
-+                                    ValueType(rmdr.x * rmdr.y) };              //br
- 
-     //An additional stage to make sure the block to be copied does not fall outside
-     //the reference image.
-diff -aur dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp dirac-1.0.2-modif/libdirac_common/mot_comp_mmx.cpp
---- dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp	2008-01-09 13:50:23.000000000 +0300
-+++ dirac-1.0.2-modif/libdirac_common/mot_comp_mmx.cpp	2016-02-10 19:59:51.792793538 +0300
-@@ -244,10 +244,10 @@
-         // We're 2doing bounds checking because we'll fall off the edge of the reference otherwise.
- 
-         //weights for doing linear interpolation, calculated from the remainder values
--        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
--                                           rmdr.x * (2 - rmdr.y),          //tr
--                                           (2 - rmdr.x) * rmdr.y,          //bl
--                                           rmdr.x * rmdr.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
-+                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
-+                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
-+                                           ValueType(rmdr.x * rmdr.y) };              //br
- 
-         ValueType act_cols1[4], act_cols2[4];
-         int uX, uY, c, l;
-diff -aur dirac-1.0.2/libdirac_common/mv_codec.cpp dirac-1.0.2-modif/libdirac_common/mv_codec.cpp
---- dirac-1.0.2/libdirac_common/mv_codec.cpp	2008-10-01 05:26:47.000000000 +0400
-+++ dirac-1.0.2-modif/libdirac_common/mv_codec.cpp	2016-02-10 19:51:57.634838245 +0300
-@@ -159,7 +159,7 @@
- // Main code function
- void PredModeCodec::DoWorkCode( MvData& in_data )
- {
--    int step,max; 
-+    int step; 
-     int split_depth;  
- 
-     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
-@@ -169,7 +169,7 @@
-             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; 
- 
-             step = 4  >>  (split_depth); 
--            max = (1 << split_depth); 
-+            //max = (1 << split_depth); 
-                         
-             //now do all the block modes and mvs in the mb            
-             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
-@@ -334,7 +334,7 @@
- // Main code function
- void VectorElementCodec::DoWorkCode( MvData& in_data )
- {
--    int step,max;
-+    int step;
-     int split_depth;
- 
-     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
-@@ -344,7 +344,7 @@
-             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp];
- 
-             step = 4  >>  (split_depth);
--            max = (1 << split_depth);
-+            //max = (1 << split_depth);
-                         
-             //now do all the block modes and mvs in the mb            
-             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
-@@ -500,7 +500,7 @@
- // Main code function
- void DCCodec::DoWorkCode( MvData& in_data )
- {
--    int step,max; 
-+    int step; 
-     int split_depth;  
-     
-     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
-@@ -510,7 +510,7 @@
-             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; 
- 
-             step = 4  >>  (split_depth); 
--            max = (1 << split_depth); 
-+            //max = (1 << split_depth); 
-                         
-             //now do all the block modes and mvs in the mb            
-             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
-diff -aur dirac-1.0.2/libdirac_common/wavelet_utils.cpp dirac-1.0.2-modif/libdirac_common/wavelet_utils.cpp
---- dirac-1.0.2/libdirac_common/wavelet_utils.cpp	2008-10-20 08:21:02.000000000 +0400
-+++ dirac-1.0.2-modif/libdirac_common/wavelet_utils.cpp	2016-02-10 19:58:16.205006445 +0300
-@@ -198,7 +198,6 @@
-     const bool field_coding = encparams.FieldCoding();
-     const ChromaFormat cformat = pparams.CFormat();
-     const float cpd = encparams.CPD()*cpd_scale_factor;
--    const PictureSort psort = pparams.PicSort();
- 
-     int xlen, ylen, xl, yl, xp, yp;
-     float xfreq, yfreq;
-diff -aur dirac-1.0.2/libdirac_encoder/picture_compress.cpp dirac-1.0.2-modif/libdirac_encoder/picture_compress.cpp
---- dirac-1.0.2/libdirac_encoder/picture_compress.cpp	2009-01-21 08:20:57.000000000 +0300
-+++ dirac-1.0.2-modif/libdirac_encoder/picture_compress.cpp	2016-02-10 20:08:17.935731263 +0300
-@@ -413,14 +413,12 @@
- 
-         const int depth=m_encparams.TransformDepth();
- 
--        PicArray* comp_data[3];
-         CoeffArray* coeff_data[3];
-         OneDArray<unsigned int>* est_bits[3];
-         float lambda[3];
- 
-         // Construction and definition of objects
-         for (int c=0;c<3;++c){
--            comp_data[c] = &my_picture.Data((CompSort) c );
- 	    coeff_data[c] = &my_picture.WltData((CompSort) c );
-             est_bits[c] =  new OneDArray<unsigned int>( Range( 1, 3*depth+1 ) );
-         }// c
-diff -aur dirac-1.0.2/libdirac_encoder/quant_chooser.cpp dirac-1.0.2-modif/libdirac_encoder/quant_chooser.cpp
---- dirac-1.0.2/libdirac_encoder/quant_chooser.cpp	2009-01-21 08:22:05.000000000 +0300
-+++ dirac-1.0.2-modif/libdirac_encoder/quant_chooser.cpp	2016-02-10 20:15:43.792954708 +0300
-@@ -340,7 +340,7 @@
-     {
-         for (int i=cblock.Xstart(); i<cblock.Xend(); ++i )
-         {
--            if ( (std::abs(m_coeff_data[j][i])<<2) >= u_threshold )
-+            if ( (int(std::abs(m_coeff_data[j][i]))<<2) >= u_threshold )
-                 can_skip = false;
-         }   
-     }
-@@ -349,13 +349,13 @@
- 
- CoeffType QuantChooser::BlockAbsMax( const Subband& node )
- {
--    int val( 0 );
-+    CoeffType val( 0 );
- 
-     for (int j=node.Yp() ; j<node.Yp()+node.Yl(); ++j)
-     {
-         for (int i=node.Xp() ; i<node.Xp()+node.Xl(); ++i)
-         {    
--            val = std::max( val , std::abs(m_coeff_data[j][i]) );
-+            val = std::max( val , CoeffType(std::abs(m_coeff_data[j][i])) );
-         }// i
-     }// j
- 
-diff -aur dirac-1.0.2/libdirac_encoder/seq_compress.cpp dirac-1.0.2-modif/libdirac_encoder/seq_compress.cpp
---- dirac-1.0.2/libdirac_encoder/seq_compress.cpp	2008-10-29 05:42:06.000000000 +0300
-+++ dirac-1.0.2-modif/libdirac_encoder/seq_compress.cpp	2016-02-10 20:16:24.108885403 +0300
-@@ -663,7 +663,6 @@
- 
- int FrameSequenceCompressor::CodedToDisplay( const int cnum )
- {
--    int div;
- 
-     if (m_L1_sep>0)
-     {
-@@ -672,7 +671,6 @@
-             return 0;
-         else if ((cnum-1)% m_L1_sep==0)
-         {//we have L1 or subsequent I pictures
--            div=(cnum-1)/m_L1_sep;
-             return cnum+m_L1_sep-1;
-         }
-         else//we have L2 pictures
-diff -aur dirac-1.0.2/libdirac_motionest/me_utils.cpp dirac-1.0.2-modif/libdirac_motionest/me_utils.cpp
---- dirac-1.0.2/libdirac_motionest/me_utils.cpp	2008-10-21 08:55:46.000000000 +0400
-+++ dirac-1.0.2-modif/libdirac_motionest/me_utils.cpp	2016-02-10 20:04:40.068175649 +0300
-@@ -684,10 +684,10 @@
-         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
- 
-        // weights for doing linear interpolation, calculated from the remainder values
--        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
--                                           rmdr.x * (2 - rmdr.y),          //tr
--                                           (2 - rmdr.x) * rmdr.y,          //bl
--                                           rmdr.x * rmdr.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
-+                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
-+                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
-+                                           ValueType(rmdr.x * rmdr.y) };              //br
- 
-         const int refXlen( m_ref_data.LengthX() );
-         const int refYlen( m_ref_data.LengthY() );
-@@ -848,10 +848,10 @@
-         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
- 
-        // weights for doing linear interpolation, calculated from the remainder values
--        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
--                                           rmdr.x * (2 - rmdr.y),          //tr
--                                           (2 - rmdr.x) * rmdr.y,          //bl
--                                           rmdr.x * rmdr.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
-+                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
-+                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
-+                                           ValueType(rmdr.x * rmdr.y) };              //br
- 
-         const int refXlen( m_ref_data.LengthX() );
-         const int refYlen( m_ref_data.LengthY() );
-@@ -908,10 +908,10 @@
-     const int pic_next( m_pic_data.LengthX() - dparams.Xl() );// go down a row and back up
- 
-     //weights for doing linear interpolation, calculated from the remainder values
--    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
--                                       rmdr.x * (4 - rmdr.y),          //tr
--                                       (4 - rmdr.x) * rmdr.y,          //bl
--                                       rmdr.x * rmdr.y };              //br
-+    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
-+                                       ValueType(rmdr.x * (4 - rmdr.y)),          //tr
-+                                       ValueType((4 - rmdr.x) * rmdr.y),          //bl
-+                                       ValueType(rmdr.x * rmdr.y) };              //br
- 
-     bool bounds_check( false );
- 
-@@ -1039,10 +1039,10 @@
-     const int pic_next( m_pic_data.LengthX() - dparams.Xl() );// go down a row and back up
- 
-     //weights for doing linear interpolation, calculated from the remainder values
--    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
--                                       rmdr.x * (4 - rmdr.y),          //tr
--                                       (4 - rmdr.x) * rmdr.y,          //bl
--                                       rmdr.x * rmdr.y };              //br
-+    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
-+                                       ValueType(rmdr.x * (4 - rmdr.y)),          //tr
-+                                       ValueType((4 - rmdr.x) * rmdr.y),          //bl
-+                                       ValueType(rmdr.x * rmdr.y) };              //br
- 
-     bool bounds_check( false );
- 
-@@ -1403,10 +1403,10 @@
-     }
-     else
-     {
--        const ValueType linear_wts[4] = {  (2 - rmdr1.x) * (2 - rmdr1.y),    //tl
--                                           rmdr1.x * (2 - rmdr1.y),          //tr
--                                           (2 - rmdr1.x) * rmdr1.y,          //bl
--                                           rmdr1.x * rmdr1.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr1.x) * (2 - rmdr1.y)),    //tl
-+                                           ValueType(rmdr1.x * (2 - rmdr1.y)),          //tr
-+                                           ValueType((2 - rmdr1.x) * rmdr1.y),          //bl
-+                                           ValueType(rmdr1.x * rmdr1.y) };              //br
- 
-         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
-         for( int y=dparams.Yl(), ry=ref_start1.y, by=BChk(ry,m_ref_data1.LengthY()), by1=BChk(ry+1,m_ref_data1.LengthY()); 
-@@ -1513,10 +1513,10 @@
-     }
-     else
-     {
--        const ValueType linear_wts[4] = {  (2 - rmdr2.x) * (2 - rmdr2.y),    //tl
--                                           rmdr2.x * (2 - rmdr2.y),          //tr
--                                           (2 - rmdr2.x) * rmdr2.y,          //bl
--                                           rmdr2.x * rmdr2.y };              //br
-+        const ValueType linear_wts[4] = {  ValueType((2 - rmdr2.x) * (2 - rmdr2.y)),    //tl
-+                                           ValueType(rmdr2.x * (2 - rmdr2.y)),          //tr
-+                                           ValueType((2 - rmdr2.x) * rmdr2.y),          //bl
-+                                           ValueType(rmdr2.x * rmdr2.y) };              //br
- 
-         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
-         for( int y=dparams.Yl(), ry=ref_start2.y, by=BChk(ry,m_ref_data2.LengthY()),by1=BChk(ry+1,m_ref_data2.LengthY()); 
-@@ -1564,14 +1564,14 @@
-     const MVector rmdr2( mv2.x & 3 , mv2.y & 3 );
- 
-     //weights for doing linear interpolation, calculated from the remainder values
--    const ValueType linear_wts1[4] = {  (4 - rmdr1.x) * (4 - rmdr1.y),    //tl
--                                       rmdr1.x * (4 - rmdr1.y),          //tr
--                                       (4 - rmdr1.x) * rmdr1.y,          //bl
--                                       rmdr1.x * rmdr1.y };              //br
--    const ValueType linear_wts2[4] = {  (4 - rmdr2.x) * (4 - rmdr2.y),    //tl
--                                       rmdr2.x * (4 - rmdr2.y),          //tr
--                                       (4 - rmdr2.x) * rmdr2.y,          //bl
--                                       rmdr2.x * rmdr2.y };              //br
-+    const ValueType linear_wts1[4] = {  ValueType((4 - rmdr1.x) * (4 - rmdr1.y)),    //tl
-+                                        ValueType(rmdr1.x * (4 - rmdr1.y)),          //tr
-+                                        ValueType((4 - rmdr1.x) * rmdr1.y),          //bl
-+                                        ValueType(rmdr1.x * rmdr1.y) };              //br
-+    const ValueType linear_wts2[4] = {  ValueType((4 - rmdr2.x) * (4 - rmdr2.y)),    //tl
-+                                        ValueType(rmdr2.x * (4 - rmdr2.y)),          //tr
-+                                        ValueType((4 - rmdr2.x) * rmdr2.y),          //bl
-+                                        ValueType(rmdr2.x * rmdr2.y) };              //br
- 
-     //Where to start in the upconverted images
-     const ImageCoords ref_start1( ( dparams.Xp()<<1 ) + roundvec1.x ,( dparams.Yp()<<1 ) + roundvec1.y );
-diff -aur dirac-1.0.2/util/conversion/common/bitmap.cpp dirac-1.0.2-modif/util/conversion/common/bitmap.cpp
---- dirac-1.0.2/util/conversion/common/bitmap.cpp	2004-06-30 20:44:52.000000000 +0400
-+++ dirac-1.0.2-modif/util/conversion/common/bitmap.cpp	2016-02-10 20:19:58.355494888 +0300
-@@ -142,14 +142,9 @@
-         char signature[2];
-         int fileSize;
-         int dataOffset;
--        int size;
-         int planes;
-         int bitCount;
-         int compression;
--        int imageSize;
--        int xPixelsPerM, yPixelsPerM;
--        int coloursUsed;
--        int coloursImportant;
-         //Define buffer to read bytes into.
-         const int bufferSize = 54;
-         char buffer[bufferSize];
-@@ -175,7 +170,7 @@
-         //Reposition input buffer to skip over extra header data if necessary
-         //Should check success of operation (see The C++ Stand Lib, Josuttis, p665)
-         if (dataOffset>54) inbuf.pubseekoff(dataOffset-54, std::ios_base::cur, std::ios_base::in);
--        size = read4bytes(buffer+14);
-+        (void)read4bytes(buffer+14); // size
-         w = read4bytes(buffer+18);
-         h = read4bytes(buffer+22);
-         if ( fileSize != (dataOffset + height()*lineBufferSize()) ) input.setstate(std::ios::failbit);
-@@ -185,11 +180,11 @@
-         if ( bitCount != 24 ) input.setstate(std::ios::failbit);
-         compression = read4bytes(buffer+30);
-         if ( compression != 0 ) input.setstate(std::ios::failbit);
--        imageSize = read4bytes(buffer+34);
--        xPixelsPerM = read4bytes(buffer+38);
--        yPixelsPerM = read4bytes(buffer+42);
--        coloursUsed = read4bytes(buffer+46);
--        coloursImportant = read4bytes(buffer+50);
-+        (void)read4bytes(buffer+34); // imageSize
-+        (void)read4bytes(buffer+38); // xPixelsPerM
-+        (void)read4bytes(buffer+42); // yPixelsPerM
-+        (void)read4bytes(buffer+46); // coloursUsed
-+        (void)read4bytes(buffer+50); // coloursImportant
-         return input; }
- 
- }  // end namespace dirac_vu
diff --git a/nixpkgs/pkgs/development/libraries/dleyna-core/setup-hook.sh b/nixpkgs/pkgs/development/libraries/dleyna-core/setup-hook.sh
index 87b5c67dff58..287ad4dc1897 100644
--- a/nixpkgs/pkgs/development/libraries/dleyna-core/setup-hook.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/dlib/default.nix b/nixpkgs/pkgs/development/libraries/dlib/default.nix
index dfa5509fb98e..6d6bef21f39e 100644
--- a/nixpkgs/pkgs/development/libraries/dlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dlib/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.17";
+  version = "19.19";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "0g11ilma6cll3bd2ahm66j1sjb9v4rxz3xjbfkcg5pjsvb49n029";
+    sha256 = "0574p46zf85nx33cam4yqcg20g94kkmrvi5689r1xshprr0szghp";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/double-conversion/default.nix b/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
index bc4bc8b23524..4d8f623b36a4 100644
--- a/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
+++ b/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake }:
+{ stdenv, lib, fetchFromGitHub, cmake, static ? false }:
 
 stdenv.mkDerivation rec {
   pname = "double-conversion";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" ];
 
   # Case sensitivity issue
   preConfigure = lib.optionalString stdenv.isDarwin ''
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Binary-decimal and decimal-binary routines for IEEE doubles";
-    homepage = https://github.com/google/double-conversion;
+    homepage = "https://github.com/google/double-conversion";
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/nixpkgs/pkgs/development/libraries/dqlite/default.nix b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
index 093abe085f0a..84b4b1bab77f 100644
--- a/nixpkgs/pkgs/development/libraries/dqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
@@ -1,24 +1,36 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libuv, sqlite-replication }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file, libco-canonical
+, libuv, raft-canonical, sqlite-replication }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "dqlite";
-  version = "0.2.6";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    owner = "CanonicalLtd";
+    owner = "canonical";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13l7na5858v2ah1vim6lafmzajgkymfi5rd6bk14cm4vcnxc40wb";
+    sha256 = "0670c1c84lcf5vl3h6mlff00fz2fnm766bzlk526sjjzysx3zjya";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook file pkgconfig ];
+  buildInputs = [ libco-canonical.dev libuv raft-canonical.dev 
+                  sqlite-replication ];
 
-  buildInputs = [ libuv sqlite-replication ];
+  preConfigure= ''
+    substituteInPlace configure --replace /usr/bin/ " "
+  '';
+
+  doCheck = true;
+
+  outputs = [ "dev" "out" ];
 
   meta = {
-    description = "Expose a SQLite database over the network and replicate it across a cluster of peers";
+    description = ''
+      Expose a SQLite database over the network and replicate it across a
+      cluster of peers
+    '';
     homepage = https://github.com/CanonicalLtd/dqlite/;
     license = licenses.asl20;
     maintainers = with maintainers; [ joko ];
diff --git a/nixpkgs/pkgs/development/libraries/drumstick/default.nix b/nixpkgs/pkgs/development/libraries/drumstick/default.nix
index 756a03503b35..92c97436d7a8 100644
--- a/nixpkgs/pkgs/development/libraries/drumstick/default.nix
+++ b/nixpkgs/pkgs/development/libraries/drumstick/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drumstick";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0kljqyqj7s1i2z52i24x7ail1bywn6dcxxfbad5c59drm8wv94bp";
+    sha256 = "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/eclib/default.nix b/nixpkgs/pkgs/development/libraries/eclib/default.nix
index 6aaefd8a2cc6..765e13fffb91 100644
--- a/nixpkgs/pkgs/development/libraries/eclib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/eclib/default.nix
@@ -14,7 +14,7 @@ assert withFlint -> flint != null;
 
 stdenv.mkDerivation rec {
   pname = "eclib";
-  version = "20190226"; # upgrade might break the sage interface
+  version = "20190909"; # upgrade might break the sage interface
   # sage tests to run:
   # src/sage/interfaces/mwrank.py
   # src/sage/libs/eclib
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "JohnCremona";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1910np1xzyjzszay24xn4b81qhpsvhp5aix9vdpknplni2mq8kwb";
+    sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da";
   };
   buildInputs = [
     pari
diff --git a/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix b/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix
new file mode 100644
index 000000000000..fa2c3687ba77
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/egl-wayland/eglmesaext.patch b/nixpkgs/pkgs/development/libraries/egl-wayland/eglmesaext.patch
new file mode 100644
index 000000000000..9384ecff9b0f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/enet/default.nix b/nixpkgs/pkgs/development/libraries/enet/default.nix
index c0df404e60eb..bf6260ca7664 100644
--- a/nixpkgs/pkgs/development/libraries/enet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/enet/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     homepage = http://enet.bespin.org/;
     description = "Simple and robust network communication layer on top of UDP";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/epoxy/default.nix b/nixpkgs/pkgs/development/libraries/epoxy/default.nix
index aa7b2ee9a059..362607eed181 100644
--- a/nixpkgs/pkgs/development/libraries/epoxy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/epoxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python3
 , libGL, libX11
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python3 ];
   buildInputs = [ libGL libX11 ];
 
   preConfigure = optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/libraries/exempi/default.nix b/nixpkgs/pkgs/development/libraries/exempi/default.nix
index 22c812ba4c21..5638db712451 100644
--- a/nixpkgs/pkgs/development/libraries/exempi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/expat/default.nix b/nixpkgs/pkgs/development/libraries/expat/default.nix
index ef2574019459..bb86ac57832a 100644
--- a/nixpkgs/pkgs/development/libraries/expat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/expat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "expat-2.2.7";
+  name = "expat-2.2.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/expat/${name}.tar.bz2";
-    sha256 = "067cfhqwiswm4zynw7xaxl59mrrimaiyjhnn8byxma1i98pi1jfb";
+    url = "https://github.com/libexpat/libexpat/releases/download/R_2_2_8/${name}.tar.xz";
+    sha256 = "16vpj5mk3lps3x7fr8cs03rffx3ir4jilyqw0frayn6q94daijk1";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/nixpkgs/pkgs/development/libraries/farbfeld/default.nix b/nixpkgs/pkgs/development/libraries/farbfeld/default.nix
index a29cbb9bbd11..a528ad6f7f61 100644
--- a/nixpkgs/pkgs/development/libraries/farbfeld/default.nix
+++ b/nixpkgs/pkgs/development/libraries/farbfeld/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpng libjpeg ];
   nativeBuildInputs = [ makeWrapper ];
 
-  installFlags = "PREFIX=/ DESTDIR=$(out)";
+  installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ];
   postInstall = ''
     wrapProgram "$out/bin/2ff" --prefix PATH : "${file}/bin"
   '';
diff --git a/nixpkgs/pkgs/development/libraries/farstream/default.nix b/nixpkgs/pkgs/development/libraries/farstream/default.nix
index e884bb41e20e..763caa811e34 100644
--- a/nixpkgs/pkgs/development/libraries/farstream/default.nix
+++ b/nixpkgs/pkgs/development/libraries/farstream/default.nix
@@ -1,11 +1,19 @@
-{ stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst-plugins-base
-, gst-python, gupnp-igd, gobject-introspection
-, gst-plugins-good, gst-plugins-bad, gst-libav
+{ stdenv
+, fetchurl
+, fetchpatch
+, libnice
+, pkgconfig
+, autoreconfHook
+, gstreamer
+, gst-plugins-base
+, gupnp-igd
+, gobject-introspection
+, gst-plugins-good
+, gst-plugins-bad
+, gst-libav
 }:
 
-let
-  inherit (pythonPackages) python pygobject2;
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "farstream-0.2.8";
 
   outputs = [ "out" "dev" ];
@@ -15,17 +23,36 @@ in stdenv.mkDerivation rec {
     sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
   };
 
-  buildInputs = [ libnice python pygobject2 gupnp-igd libnice ];
+  patches = [
+    # Python has not been used for ages
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/farstream/farstream/commit/73891c28fa27d5e65a71762e826f13747d743588.patch";
+      sha256 = "19pw1m8xhxyf5yhl6k898w240ra2k0m28gfv858x70c4wl786lrn";
+    })
+  ];
+
+  buildInputs = [
+    libnice
+    gupnp-igd
+    libnice
+  ];
 
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    gobject-introspection
+  ];
 
   propagatedBuildInputs = [
-    gstreamer gst-plugins-base gst-python
-    gst-plugins-good gst-plugins-bad gst-libav
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-libav
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://www.freedesktop.org/wiki/Software/Farstream;
+    homepage = "https://www.freedesktop.org/wiki/Software/Farstream";
     description = "Audio/Video Communications Framework formely known as farsight";
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/development/libraries/faudio/default.nix b/nixpkgs/pkgs/development/libraries/faudio/default.nix
new file mode 100644
index 000000000000..1658d69d7a1b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/faudio/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2}:
+
+#TODO: tests
+
+stdenv.mkDerivation rec {
+	pname = "faudio";
+  version = "19.12";
+
+  src = fetchFromGitHub {
+    owner = "FNA-XNA";
+    repo = "FAudio";
+    rev = version;
+    sha256 = "0y8dc7lnhh69wcwqma9spyxcahfhbfyg92h35sqkin6qfh5mngxr";
+  };
+
+	nativeBuildInputs = [cmake];
+
+  buildInputs = [ SDL2 ];
+
+  meta = with stdenv.lib; {
+    description = "XAudio reimplementation focusing to develop a fully accurate DirectX audio library";
+    homepage = "https://github.com/FNA-XNA/FAudio";
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix b/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
index 70269002e2fe..16560f19c861 100644
--- a/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "fdk-aac";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencore-amr/fdk-aac/${pname}-${version}.tar.gz";
-    sha256 = "0v6rbyw9f9lpfvcg3v1qyapga5hqfnb3wp3x5yaxpwcgjw7ydmpp";
+    sha256 = "0wgjjc0dfkm2w966lc9c8ir8f671vl1ppch3mya3h58jjjm360c4";
   };
 
   configureFlags = [ ]
diff --git a/nixpkgs/pkgs/development/libraries/fflas-ffpack/1.nix b/nixpkgs/pkgs/development/libraries/fflas-ffpack/1.nix
deleted file mode 100644
index 4a276db12c02..000000000000
--- a/nixpkgs/pkgs/development/libraries/fflas-ffpack/1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, autoreconfHook, givaro_3_7, pkgconfig, openblas, gmpxx}:
-stdenv.mkDerivation rec {
-  pname = "fflas-ffpack";
-  version = "1.6.0";
-  src = fetchurl {
-    url = "http://linalg.org/fflas-ffpack-${version}.tar.gz";
-    sha256 = "02fr675278c65hfiy1chb903j4ix9i8yni1xc2g5nmsjcaf9vra9";
-  };
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ givaro_3_7 openblas gmpxx];
-  configureFlags = [
-    "--with-blas=-lopenblas"
-    "--with-gmp=${gmpxx.dev}"
-    "--with-givaro=${givaro_3_7}"
-  ];
-  meta = {
-    inherit version;
-    description = ''Finite Field Linear Algebra Subroutines'';
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    homepage = https://linbox-team.github.io/fflas-ffpack/;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix b/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
index d46d997f6447..b7d5d79544e1 100644
--- a/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -30,24 +30,25 @@ stdenv.mkDerivation rec {
     "--with-lapack-libs=-l${blas.linkName}"
   ] ++ stdenv.lib.optionals stdenv.isx86_64 {
     # disable SIMD instructions (which are enabled *when available* by default)
-    default        = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
-    westmere       = [                                                                        "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
-    sandybridge    = [                                                                                        "--disable-avx2" "--disable-fma" "--disable-fma4" ];
-    ivybridge      = [                                                                                        "--disable-avx2" "--disable-fma" "--disable-fma4" ];
-    haswell        = [                                                                                                                         "--disable-fma4" ];
-    broadwell      = [                                                                                                                         "--disable-fma4" ];
-    skylake        = [                                                                                                                         "--disable-fma4" ];
-    skylake-avx512 = [                                                                                                                         "--disable-fma4" ];
+    # for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284)
+    default        = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
+    westmere       = [                                                                        "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
+    sandybridge    = [                                                                                        "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
+    ivybridge      = [                                                                                        "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
+    haswell        = [                                                                                                                                                                       "--disable-fma4" ];
+    broadwell      = [                                                                                                                                                                       "--disable-fma4" ];
+    skylake        = [                                                                                                                                                                       "--disable-fma4" ];
+    skylake-avx512 = [                                                                                                                                                                       "--disable-fma4" ];
   }.${stdenv.hostPlatform.platform.gcc.arch or "default"};
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     inherit version;
     description = ''Finite Field Linear Algebra Subroutines'';
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ raskin timokau ];
+    platforms = platforms.unix;
     homepage = https://linbox-team.github.io/fflas-ffpack/;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
index 78d291e86fac..214da206f562 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -3,7 +3,7 @@
  *  Licensing options (yes some are listed twice, filters and such are not listed)
  */
 , gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
-, version3Licensing ? true # (L)GPL3: opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
+, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
 , nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video
 /*
  *  Build options
@@ -87,6 +87,7 @@
 , libv4l ? null # Video 4 Linux support
 , libva ? null # Vaapi hardware acceleration
 , libvdpau ? null # Vdpau hardware acceleration
+, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion)
 , libvorbis ? null # Vorbis de/encoding, native encoder exists
 , libvpx ? null # VP8 & VP9 de/encoding
 , libwebp ? null # WebP encoder
@@ -103,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
@@ -233,16 +234,16 @@ 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 {
   pname = "ffmpeg-full";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "1m5nkc61ihgcf0b2wabm0zyqa8sj3c0w8fi6kr879lb0kdzciiyf";
+    sha256 = "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb";
   };
 
   patches = [ ./prefer-libdav1d-over-libaom.patch ];
@@ -352,6 +353,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
     (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
     (enableFeature (libiconv != null) "iconv")
+    (enableFeature (libjack2 != null) "libjack")
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
     (enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx")
     (enableFeature (libmodplug != null) "libmodplug")
@@ -364,6 +366,7 @@ stdenv.mkDerivation rec {
     (enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
     (enableFeature (libvdpau != null) "vdpau")
     (enableFeature (libvorbis != null) "libvorbis")
+    (enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf")
     (enableFeature (libvpx != null) "libvpx")
     (enableFeature (libwebp != null) "libwebp")
     (enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
@@ -422,9 +425,10 @@ 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
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
     ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
     ++ optional nvenc nv-codec-headers
@@ -463,6 +467,6 @@ stdenv.mkDerivation rec {
         licenses.lgpl21Plus
     );
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
index 5ffbc215d8b3..3b3fc900edea 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
-callPackage ./generic.nix (args // rec {
-  version = "${branch}.14";
+callPackage ./generic.nix (rec {
+  version = "${branch}.15";
   branch = "2.8";
-  sha256 = "1g6x3lyjl1zlfksizj1ys61kj97yg0xf4dlr6sr5acpbja3a26yn";
-})
+  sha256 = "08gf493a1ici1rn6gda6bxkcsk3fqbs6pdr0phcifjkd3xn7yr1m";
+} // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix
index bea367b2554e..6c16b55dfe8d 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/nixpkgs/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";
+  branch = "3.4.7";
+  sha256 = "0hj91gjps92f4w3yyqss89yrs6s75574hbj5gz9g5affd6294yhc";
   darwinFrameworks = [ Cocoa CoreMedia ];
-})
+} // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
index a0b95cecaaba..31cb0477c21a 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
@@ -4,9 +4,9 @@
 , ...
 }@args:
 
-callPackage ./generic.nix (args // rec {
-  version = "4.2.1";
+callPackage ./generic.nix (rec {
+  version = "4.2.2";
   branch = "4.2";
-  sha256 = "090naa6rj46pzkgh03bf51hbqdz356qqckr2pw6pykc6ysiryak8";
+  sha256 = "0p0f024rxrpk8pgmrprhfywq10rvdhrs0422wwcwlxkgqa3x285n";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
-})
+} // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
index 4c0ca0210cc8..956d2d7223f6 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
+{ stdenv, fetchurl, pkgconfig, addOpenGLRunpath, perl, texinfo, yasm
 , 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
 , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
 , multithreadBuild ? true # Multithreading via pthreads/win32 threads
@@ -42,7 +44,7 @@
 
 let
   inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32;
-  inherit (stdenv.lib) optional optionals enableFeature;
+  inherit (stdenv.lib) optional optionals optionalString enableFeature filter;
 
   cmpVer = builtins.compareVersions;
   reqMin = requiredVersion: (cmpVer requiredVersion branch != 1);
@@ -61,7 +63,9 @@ 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;
 
 stdenv.mkDerivation rec {
 
@@ -81,7 +85,7 @@ stdenv.mkDerivation rec {
   setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
 
   configurePlatforms = [];
-  configureFlags = [
+  configureFlags = filter (v: v != null) ([
       "--arch=${stdenv.hostPlatform.parsed.cpu.name}"
       "--target_os=${stdenv.hostPlatform.parsed.kernel.name}"
     # License
@@ -92,13 +96,15 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" "--enable-pic")
       (enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
       "--enable-hardcoded-tables"
+    ] ++
       (if multithreadBuild then (
          if stdenv.isCygwin then
-           "--disable-pthreads --enable-w32threads"
+           ["--disable-pthreads" "--enable-w32threads"]
          else # Use POSIX threads by default
-           "--enable-pthreads --disable-w32threads")
+           ["--enable-pthreads" "--disable-w32threads"])
        else
-         "--disable-pthreads --disable-w32threads")
+         ["--disable-pthreads" "--disable-w32threads"])
+    ++ [
       (ifMinVer "0.9" "--disable-os2threads") # We don't support OS/2
       "--enable-network"
       (ifMinVer "2.4" "--enable-pixelutils")
@@ -135,6 +141,8 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
       (ifMinVer "2.4" "--enable-lzma")
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
+      (ifMinVer "4.2" (enableFeature libmfxSupport "libmfx"))
+      (ifMinVer "4.2" (enableFeature libaomSupport "libaom"))
       (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
       (ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2
       (ifMinVer "1.2" "--enable-libsoxr")
@@ -155,14 +163,16 @@ stdenv.mkDerivation rec {
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
       "--cross-prefix=${stdenv.cc.targetPrefix}"
       "--enable-cross-compile"
-  ] ++ optional stdenv.cc.isClang "--cc=clang";
+  ] ++ optional stdenv.cc.isClang "--cc=clang");
 
-  nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
+  nativeBuildInputs = [ addOpenGLRunpath perl pkgconfig texinfo yasm ];
 
   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
     ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
     ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
@@ -186,6 +196,10 @@ stdenv.mkDerivation rec {
       substituteInPlace $pc \
         --replace "includedir=$out" "includedir=''${!outputInclude}"
     done
+  '' + optionalString stdenv.isLinux ''
+    # Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found.
+    # See the explanation in addOpenGLRunpath.
+    addOpenGLRunpath $out/lib/libavcodec.so*
   '';
 
   installFlags = [ "install-man" ];
@@ -206,7 +220,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
     inherit branch;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index 45238690fe03..6f5b1840c249 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ffmpegthumbnailer";
-  version = "2.2.0";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "dirkvdb";
     repo = "ffmpegthumbnailer";
     rev = version;
-    sha256 = "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp";
+    sha256 = "1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/ffms/default.nix b/nixpkgs/pkgs/development/libraries/ffms/default.nix
index c404a12f3dfd..30fb94aa2483 100644
--- a/nixpkgs/pkgs/development/libraries/ffms/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffms/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/FFMS/ffms2/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
     license = licenses.mit;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/filter-audio/default.nix b/nixpkgs/pkgs/development/libraries/filter-audio/default.nix
index 07f1c7ec917a..3438bfee07b4 100644
--- a/nixpkgs/pkgs/development/libraries/filter-audio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/filter-audio/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Lightweight audio filtering library made from webrtc code";
diff --git a/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix b/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
index d96ceb5d26b8..11e86703616c 100644
--- a/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   pname = "flatbuffers";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    sha256 = "1b32kc5jp83l43w2gs1dkw2vqm2j0wi7xfxqa86m18n3l41ca734";
+    sha256 = "1gl8pnykzifh7pnnvl80f5prmj5ga60dp44inpv9az2k9zaqx3qr";
   };
 
   preConfigure = stdenv.lib.optional stdenv.buildPlatform.isDarwin ''
@@ -34,4 +34,12 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.unix;
     homepage = https://google.github.io/flatbuffers/;
   };
-}
+} // stdenv.lib.optionalAttrs stdenv.hostPlatform.isMusl {
+  # Remove when updating to the next version.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/google/flatbuffers/commit/2b52494047fb6e97af03e1801b42adc7ed3fd78a.diff";
+      sha256 = "01k07ws0f4w7nnl8nli795wgjm4p94lxd3kva4yf7nf3pg4p8arx";
+    })
+  ];
+})
diff --git a/nixpkgs/pkgs/development/libraries/flatcc/default.nix b/nixpkgs/pkgs/development/libraries/flatcc/default.nix
index 8518545665c9..d49f6d110de6 100644
--- a/nixpkgs/pkgs/development/libraries/flatcc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flatcc/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flatcc";
-  version = "0.5.3";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "dvidelabs";
     repo = "flatcc";
     rev = "v${version}";
-    sha256 = "06wnwvnkhw1rk0y3nncjmcyjy3bgpw8i9xqd5gpbhbrm38718cjk";
+    sha256 = "0cy79swgdbaf3zmsaqa6gz3b0fad2yqawwcnsipnpl9d8hn1linm";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/flatpak/default.nix b/nixpkgs/pkgs/development/libraries/flatpak/default.nix
index d29be4cb9304..c0a3d3718f34 100644
--- a/nixpkgs/pkgs/development/libraries/flatpak/default.nix
+++ b/nixpkgs/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
-, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3, gsettings-desktop-schemas, librsvg }:
+, 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, 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
@@ -52,15 +52,14 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # TODO: some issues with temporary files
 
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   enableParallelBuilding = true;
 
   configureFlags = [
     "--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
     "--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
+    "--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
     "--localstatedir=/var"
     "--enable-installed-tests"
   ];
@@ -75,6 +74,12 @@ stdenv.mkDerivation rec {
     patchShebangs tests
   '';
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.flatpak;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Linux application sandboxing and distribution framework";
     homepage = https://flatpak.org/;
diff --git a/nixpkgs/pkgs/development/libraries/flint/default.nix b/nixpkgs/pkgs/development/libraries/flint/default.nix
index 20a80119b136..462d186c72df 100644
--- a/nixpkgs/pkgs/development/libraries/flint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flint/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   ];
 
   # issues with ntl -- https://github.com/wbhart/flint2/issues/487
-  NIX_CXXSTDLIB_COMPILE = [ "-std=c++11" ];
+  NIX_CXXSTDLIB_COMPILE = "-std=c++11";
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/libraries/fltk/1.4.nix b/nixpkgs/pkgs/development/libraries/fltk/1.4.nix
index eebe119d142f..1fe50b402cb6 100644
--- a/nixpkgs/pkgs/development/libraries/fltk/1.4.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/fltk/default.nix b/nixpkgs/pkgs/development/libraries/fltk/default.nix
index a22b5eef8d2e..fe7de504b4f3 100644
--- a/nixpkgs/pkgs/development/libraries/fltk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fltk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, freeglut, libGL, libGLU, 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/${version}/fltk-${version}-source.tar.gz";
+    url = "https://www.fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
     sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7";
   };
 
   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 ]
@@ -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/nixpkgs/pkgs/development/libraries/folks/default.nix b/nixpkgs/pkgs/development/libraries/folks/default.nix
index 84ab5fedebcd..38e4d2c6884a 100644
--- a/nixpkgs/pkgs/development/libraries/folks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/folks/default.nix
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folks";
-  version = "0.12.1";
+  version = "0.13.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xfl6rnzhdbmw1q26xiq34cdiy7a9karpi2r7wyplnnz1zaz5a9w";
+    sha256 = "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/folly/default.nix b/nixpkgs/pkgs/development/libraries/folly/default.nix
index b072df506a99..15f29ce77f59 100644
--- a/nixpkgs/pkgs/development/libraries/folly/default.nix
+++ b/nixpkgs/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2019.08.05.00";
+  version = "2019.11.11.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "03arl9hg06rzbyaf3fzyk7q8d5mfbzfwmhqnfnvqcgzlqdj0gaa5";
+    sha256 = "1sgv7sdalbs7zhz3zcc95gn2h8j2xjf7hkw2c618zc3pdn6aa58w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig-ultimate/default.nix b/nixpkgs/pkgs/development/libraries/fontconfig-ultimate/default.nix
deleted file mode 100644
index b95d6dd559d4..000000000000
--- a/nixpkgs/pkgs/development/libraries/fontconfig-ultimate/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-let version = "2016-04-23"; in
-stdenv.mkDerivation {
-  pname = "fontconfig-ultimate";
-  inherit version;
-
-  src = fetchFromGitHub {
-    sha256 = "1rd2n60l8bamx84q3l91pd9a0wz9h7p6ajvx1dw22qn8rah4h498";
-    rev = version;
-    repo = "fontconfig-ultimate";
-    owner = "bohoomil";
-  };
-
-  installPhase = ''
-    mkdir -p $out/etc/fonts/conf.d
-    cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
-
-    # Base rendering settings will be determined by NixOS module
-    rm $out/etc/fonts/conf.d/10-base-rendering.conf
-
-    # Options controlled by NixOS module
-    rm $out/etc/fonts/conf.d/35-repl-custom.conf
-    rm $out/etc/fonts/conf.d/38-repl-*.conf
-    rm $out/etc/fonts/conf.d/82-*.conf
-    rm $out/etc/fonts/conf.d/83-*.conf
-
-    # Inclusion of local and user configs handled by global configuration
-    rm $out/etc/fonts/conf.d/29-local.conf
-    rm $out/etc/fonts/conf.d/28-user.conf
-
-    cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
-
-    # fix font priority issue https://github.com/bohoomil/fontconfig-ultimate/issues/173
-    mv $out/etc/fonts/conf.d/{43,60}-wqy-zenhei-sharp.conf
-
-    mkdir -p $out/etc/fonts/presets/{combi,free,ms}
-    cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
-    cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
-    cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Font configuration files, patches, scripts and source packages (Infinality & friends)";
-    homepage = https://github.com/bohoomil/fontconfig-ultimate;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix b/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix
index 1d66735569d5..635baff796b7 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   # Don't try to write to /var/cache/fontconfig at install time.
-  installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
+  installFlags = [ "sysconfdir=$(out)/etc" "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ];
 
   passthru = {
     # Empty for backward compatibility, there was no versioning before 2.11
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
index 5c9a0ecc71b7..617e058bd8fc 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   # Don't try to write to /var/cache/fontconfig at install time.
-  installFlags = "fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
+  installFlags = [ "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ];
 
   postInstall = ''
     cd "$out/etc/fonts"
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
index 5b98d6523b9a..f1a2e865bb73 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
@@ -2,7 +2,7 @@
 
 runCommand "fc-cache"
   {
-    buildInputs = [ fontconfig.bin ];
+    nativeBuildInputs = [ fontconfig.bin ];
     preferLocalBuild = true;
     allowSubstitutes = false;
     passAsFile = [ "fontDirs" ];
diff --git a/nixpkgs/pkgs/development/libraries/forge/default.nix b/nixpkgs/pkgs/development/libraries/forge/default.nix
new file mode 100644
index 000000000000..83630aef9aa8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/forge/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, arrayfire, expat, fontconfig, freeimage, freetype, boost
+, mesa, libGLU, libGL, glfw3, SDL2, cudatoolkit
+}:
+
+stdenv.mkDerivation rec {
+  pname = "forge";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "arrayfire";
+    repo = "forge";
+    rev = "v${version}";
+    sha256 = "00pmky6kccd7pwi8sma79qpmzr2f9pbn6gym3gyqm64yckw6m484";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+  ];
+
+  buildInputs = [
+    expat
+    fontconfig
+    freetype
+    boost.out
+    boost.dev
+    freeimage
+    mesa
+    libGLU libGL
+    glfw3
+    SDL2
+    cudatoolkit
+    arrayfire
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend";
+    longDescription = ''
+      An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend.
+      The goal of Forge is to provide high performance OpenGL visualizations for C/C++ applications that use CUDA/OpenCL.
+      Forge uses OpenGL >=3.3 forward compatible contexts, so please make sure you have capable hardware before trying it out.
+    '';
+    license = licenses.bsd3;
+    homepage = "https://arrayfire.com/";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ chessai ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/fox/fox-1.6.nix b/nixpkgs/pkgs/development/libraries/fox/fox-1.6.nix
index af387b7232f4..bb59a34b1cc7 100644
--- a/nixpkgs/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/fplll/default.nix b/nixpkgs/pkgs/development/libraries/fplll/default.nix
index c2952cb47f1c..f53d55c2ca94 100644
--- a/nixpkgs/pkgs/development/libraries/fplll/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fplll/default.nix
@@ -1,22 +1,46 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
-, gmp, mpfr
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, gettext
+, autoreconfHook
+, gmp
+, mpfr
 }:
+
 stdenv.mkDerivation rec {
   pname = "fplll";
-  version = "5.2.1";
+  version = "5.3.1";
+
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "fplll";
+    repo = "fplll";
     rev = version;
-    sha256 = "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg";
+    sha256 = "1bzlqavbch5smra75znh4ljr490wyx5v6hax8r9rjbgk605i33ns";
   };
-  nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
-  buildInputs = [gmp mpfr];
-  meta = {
-    inherit version;
+
+  nativeBuildInputs = [
+    gettext
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    gmp
+    mpfr
+  ];
+
+  meta = with stdenv.lib; {
     description = ''Lattice algorithms using floating-point arithmetic'';
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
+    changelog = [
+      # Some release notes are added to the github tags, though they are not
+      # always complete.
+      "https://github.com/fplll/fplll/releases/tag/${version}"
+      # Releases are announced on this mailing list. Unfortunately it is not
+      # possible to generate a direct link to the most recent announcement, but
+      # this search should find it.
+      "https://groups.google.com/forum/#!searchin/fplll-devel/FPLLL$20${version}"
+    ];
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [raskin timokau];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/freeglut/default.nix b/nixpkgs/pkgs/development/libraries/freeglut/default.nix
index 8412248b6170..16c35347bc5d 100644
--- a/nixpkgs/pkgs/development/libraries/freeglut/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freeglut/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libXi, libXrandr, libXxf86vm, libGL, libGLU, xlibsWrapper, cmake }:
 
-let version = "3.0.0";
+let version = "3.2.1";
 in stdenv.mkDerivation {
   pname = "freeglut";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz";
-    sha256 = "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra";
+    sha256 = "0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/freenect/default.nix b/nixpkgs/pkgs/development/libraries/freenect/default.nix
index 41480789a08a..9520542481c8 100644
--- a/nixpkgs/pkgs/development/libraries/freenect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/freetds/default.nix b/nixpkgs/pkgs/development/libraries/freetds/default.nix
index 0ff9cea3d27c..855ca0385dfd 100644
--- a/nixpkgs/pkgs/development/libraries/freetds/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/fribidi/default.nix b/nixpkgs/pkgs/development/libraries/fribidi/default.nix
index 9798347eaddf..3b0b30f573b5 100644
--- a/nixpkgs/pkgs/development/libraries/fribidi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fribidi/default.nix
@@ -10,20 +10,21 @@
 
 stdenv.mkDerivation rec {
   pname = "fribidi";
-  version = "1.0.5";
+  version = "1.0.7";
 
   outputs = [ "out" "devdoc" ];
 
-  # NOTE: 2018-06-06 v1.0.5: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
+  # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
   src = fetchurl {
     url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
+    sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
   };
 
   patches = [
     (fetchpatch {
-      url = "https://github.com/fribidi/fribidi/pull/88.patch";
-      sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
+      name = "CVE-2019-18397.patch";
+      url = "https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch";
+      sha256 = "102xrbf1l5gvavkxd6csx8pj3rlgcw10c0y4h4d40yhn84b1p0y8";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/fstrm/default.nix b/nixpkgs/pkgs/development/libraries/fstrm/default.nix
index 380f64cf523f..40ffe6918a4f 100644
--- a/nixpkgs/pkgs/development/libraries/fstrm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fstrm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fstrm";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "farsightsec";
     repo = "fstrm";
     rev = "v${version}";
-    sha256 = "1vm880h6vpnxqh7v0x17yfim6f2fbxwkm03ms58s2h9akmph9xm5";
+    sha256 = "0b6x9wgyn92vykkmd3ynhnpbdl77zb4wf4rm7p0h8p9pwq953hdm";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/ftgl/default.nix b/nixpkgs/pkgs/development/libraries/ftgl/default.nix
index 289a57399854..a99228efcf4d 100644
--- a/nixpkgs/pkgs/development/libraries/ftgl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ftgl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, freetype, libGLU_combined, OpenGL }:
+{ stdenv, fetchurl, freetype, libGL, libGLU, OpenGL }:
 
 let
   name = "ftgl-2.1.3-rc5";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     ++ (if stdenv.isDarwin then
       [ OpenGL ]
     else
-      [ libGLU_combined ])
+      [ libGL libGLU ])
     ;
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/gaia/default.nix b/nixpkgs/pkgs/development/libraries/gaia/default.nix
new file mode 100644
index 000000000000..b154f80c1dd2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gaia/default.nix
@@ -0,0 +1,87 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, libyaml
+, swig
+, eigen
+, pkgconfig
+, wafHook
+, makeWrapper
+, qt4
+, pythonPackages
+, pythonSupport ? false
+# Default to false since it breaks the build, see https://github.com/MTG/gaia/issues/11
+, stlfacadeSupport ? false
+, assertsSupport ? true
+, cyclopsSupport ? true
+}:
+
+assert pythonSupport -> pythonPackages != null;
+
+stdenv.mkDerivation rec {
+  pname = "gaia";
+  version = "2.4.6";
+
+  src = fetchFromGitHub {
+    owner = "MTG";
+    repo = "gaia";
+    rev = "v${version}";
+    sha256 = "03vmdq7ca4f7zp2f4sxyqa8sdpdma3mn9fz4z7d93qryl0bhi7z3";
+  };
+
+  # Fix installation error when waf tries to put files in /etc/
+  prePatch = ''
+  '' + lib.optionalString cyclopsSupport ''
+    substituteInPlace src/wscript \
+      --replace "/etc/cyclops" "$out/etc/cyclops" \
+      --replace "/etc/init.d" "$out/etc/init.d"
+  '';
+
+  nativeBuildInputs = [
+    wafHook
+    pkgconfig
+    swig
+  ]
+    # The gaiafusion binary inside $out/bin needs a shebangs patch, and
+    # wrapping with the appropriate $PYTHONPATH
+    ++ lib.optionals (pythonSupport) [
+      pythonPackages.wrapPython
+    ]
+  ;
+
+  buildInputs = [
+    libyaml
+    eigen
+    qt4
+  ];
+
+  propagatedBuildInputs = []
+    ++ lib.optionals (pythonSupport) [
+      # This is not exactly specified in upstream's README but it's needed by the
+      # resulting $out/bin/gaiafusion script
+      pythonPackages.pyyaml
+    ]
+  ;
+
+  wafConfigureFlags = []
+    ++ lib.optionals (pythonSupport) [ "--with-python-bindings" ]
+    ++ lib.optionals (stlfacadeSupport) [ "--with-stlfacade" ]
+    ++ lib.optionals (assertsSupport) [ "--with-asserts" ]
+    ++ lib.optionals (cyclopsSupport) [ "--with-cyclops" ]
+  ;
+
+  postFixup = ''
+  ''
+    + lib.optionalString pythonSupport ''
+      wrapPythonPrograms
+    ''
+  ;
+
+  meta = with lib; {
+    homepage = "https://github.com/MTG/gaia";
+    description = "General library to work with points in a semimetric space";
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = platforms.x86; # upstream assume SSE2 / fails on ARM
+    license = licenses.agpl3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gamin/default.nix b/nixpkgs/pkgs/development/libraries/gamin/default.nix
index 4cff22457403..611c9faa851f 100644
--- a/nixpkgs/pkgs/development/libraries/gamin/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gamin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, python, pkgconfig, glib }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib }:
 
 stdenv.mkDerivation (rec {
   name = "gamin-0.1.10";
@@ -10,13 +10,13 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ python glib ];
+  buildInputs = [ glib ];
 
   # `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from
   # <sys/socket.h> with Glibc 2.9.
   configureFlags = [
     "--disable-debug"
-    "--with-python=${python}"
+    "--without-python" # python3 not supported
     "CPPFLAGS=-D_GNU_SOURCE"
   ];
 
@@ -44,4 +44,3 @@ stdenv.mkDerivation (rec {
     sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
   '';
 })
-
diff --git a/nixpkgs/pkgs/development/libraries/garmintools/default.nix b/nixpkgs/pkgs/development/libraries/garmintools/default.nix
index c1f9c6ad0137..a086648c9124 100644
--- a/nixpkgs/pkgs/development/libraries/garmintools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gcab/default.nix b/nixpkgs/pkgs/development/libraries/gcab/default.nix
index ee5988b30f57..c05bb95913e6 100644
--- a/nixpkgs/pkgs/development/libraries/gcab/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gcab/default.nix
@@ -1,38 +1,83 @@
-{ stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
-, meson, ninja, glibcLocales, git, vala, glib, zlib, gnome3
+{ stdenv
+, fetchurl
+, gettext
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, pkgconfig
+, meson
+, ninja
+, git
+, vala
+, glib
+, zlib
+, gnome3
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "gcab";
-  version = "1.2";
+  version = "1.3";
 
-  LC_ALL = "en_US.UTF-8";
+  outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas";
+    sha256 = "1rv81b37d5ya7xpfdxrfk173jjcwabxyng7vafgwyl5myv44qc0h";
   };
 
-  nativeBuildInputs = [ meson ninja glibcLocales git pkgconfig vala gettext gobject-introspection ];
+  patches = [
+    # allow installing installed tests to a separate output
+    ./installed-tests-path.patch
+  ];
 
-  buildInputs = [ glib zlib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    git
+    pkgconfig
+    vala
+    gettext
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
+
+  buildInputs = [
+    glib
+    zlib
+  ];
+
+  # required by libgcab-1.0.pc
+  propagatedBuildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    "-Ddocs=false"
-    "-Dtests=false"
+    "-Dinstalled_tests=true"
+    "-Dinstalled_test_prefix=${placeholder ''installedTests''}"
   ];
 
+  doCheck = true;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
       versionPolicy = "none";
     };
+
+    tests = {
+      installedTests = nixosTests.installed-tests.gcab;
+    };
   };
 
   meta = with stdenv.lib; {
+    description = "GObject library to create cabinet files";
+    homepage = "https://gitlab.gnome.org/GNOME/gcab";
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
     platforms = platforms.linux;
-    license = licenses.lgpl21;
-    homepage = "https://wiki.gnome.org/msitools";
-    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gcab/installed-tests-path.patch b/nixpkgs/pkgs/development/libraries/gcab/installed-tests-path.patch
new file mode 100644
index 000000000000..ab3b6b3fae3f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gcab/installed-tests-path.patch
@@ -0,0 +1,21 @@
+diff --git a/meson_options.txt b/meson_options.txt
+index c1b1da1..9b76022 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -4,3 +4,4 @@
+ option('vapi', type : 'boolean', value : true, description: 'generate Vala bindings (requires introspection)')
+ option('tests', type : 'boolean', value : true, description : 'enable tests')
+ option('installed_tests', type : 'boolean', value : false, description : 'install tests for "as-installed" testing')
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
+diff --git a/tests/meson.build b/tests/meson.build
+index 1e46e2a..aa780d0 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,5 +1,5 @@
+-installed_tests_metadir = join_paths(get_option('datadir'), 'installed-tests', 'libgcab-1.0')
+-installed_tests_execdir = join_paths(get_option('libexecdir'), 'installed-tests', 'libgcab-1.0')
++installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'libgcab-1.0')
++installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', 'libgcab-1.0')
+ installed_tests_enabled = get_option('installed_tests')
+ installed_tests_template_tap = files('template-tap.test.in')
+ abs_installed_tests_execdir = join_paths(get_option('prefix'), installed_tests_execdir)
diff --git a/nixpkgs/pkgs/development/libraries/gcr/default.nix b/nixpkgs/pkgs/development/libraries/gcr/default.nix
index dcb4df1419ec..cf0f22fdd408 100644
--- a/nixpkgs/pkgs/development/libraries/gcr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gcr/default.nix
@@ -1,53 +1,84 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11-kit, glib
-, libgcrypt, libtasn1, dbus-glib, gtk3, pango, gdk-pixbuf, atk
-, gobject-introspection, makeWrapper, libxslt, vala, gnome3
-, python2 }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, gettext
+, gnupg
+, p11-kit
+, glib
+, libgcrypt
+, libtasn1
+, gtk3
+, pango
+, gobject-introspection
+, makeWrapper
+, libxslt
+, vala
+, gnome3
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcr";
-  version = "3.28.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = pname; };
+    sha256 = "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9";
   };
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs build/ gcr/fixtures/
   '';
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gobject-introspection libxslt makeWrapper vala ];
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    gobject-introspection
+    libxslt
+    makeWrapper
+    vala
+  ];
+
+  buildInputs = [
+    gnupg
+    libgcrypt
+    libtasn1
+    pango
+  ];
 
-  buildInputs = let
-    gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
-  in [
-    gpg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk
+  propagatedBuildInputs = [
+    glib
+    gtk3
+    p11-kit
   ];
 
-  propagatedBuildInputs = [ glib gtk3 p11-kit ];
+  checkInputs = [
+    python3
+  ];
 
-  checkInputs = [ python2 ];
   doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
 
-  #enableParallelBuilding = true; issues on hydra
+  enableParallelBuilding = true;
 
   preFixup = ''
     wrapProgram "$out/bin/gcr-viewer" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
     description = "GNOME crypto services (daemon and tools)";
-    homepage    = https://gitlab.gnome.org/GNOME/gcr;
-    license     = licenses.gpl2;
+    homepage = "https://gitlab.gnome.org/GNOME/gcr";
+    license = licenses.lgpl2Plus;
 
     longDescription = ''
       GCR is a library for displaying certificates, and crypto UI, accessing
diff --git a/nixpkgs/pkgs/development/libraries/gdal/2.4.0.nix b/nixpkgs/pkgs/development/libraries/gdal/2.4.0.nix
index baf847d4e0a2..f914a112e106 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/2.4.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/2.4.0.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
-, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
+, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv, libxml2
 , netcdfSupport ? true, netcdf, hdf5, curl
@@ -16,6 +16,15 @@ stdenv.mkDerivation rec {
     sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-17545.patch";
+      url = "https://github.com/OSGeo/gdal/commit/8cd2d2eb6327cf782a74dae263ffa6f89f46c93d.patch";
+      stripLen = 1;
+      sha256 = "06h88a659jcqf6ps1m91qy78s6s9krbkwnz28f5qh7032vlp6qpw";
+    })
+  ];
+
   buildInputs = [ unzip libjpeg libtiff libgeotiff libpng proj openssl sqlite
     libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
   ++ (with pythonPackages; [ python numpy wrapPython ])
@@ -30,7 +39,7 @@ stdenv.mkDerivation rec {
     "--with-poppler=${poppler.dev}" # optional
     "--with-libz=${zlib.dev}"       # optional
     "--with-pg=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config"
+    "--with-mysql=${libmysqlclient}/bin/mysql_config"
     "--with-geotiff=${libgeotiff.dev}"
     "--with-sqlite3=${sqlite.dev}"
     "--with-spatialite=${libspatialite}"
diff --git a/nixpkgs/pkgs/development/libraries/gdal/default.nix b/nixpkgs/pkgs/development/libraries/gdal/default.nix
index 413d4e19dde7..922877f6f461 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib
-, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
+, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv, libxml2, autoreconfHook
 , netcdfSupport ? true, netcdf, hdf5, curl
@@ -20,7 +20,15 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "source/gdal";
 
-  patches = [ ./001.3_0_1.darwin.patch ];
+  patches = [
+    ./001.3_0_1.darwin.patch
+    (fetchpatch {
+      name = "CVE-2019-17545.patch";
+      url = "https://github.com/OSGeo/gdal/commit/148115fcc40f1651a5d15fa34c9a8c528e7147bb.patch";
+      stripLen = 1;
+      sha256 = "0hai59hhvrci9xwjw4lp3wc1brn00imngmqrbbs8v9yr3b0fzbgs";
+    })
+  ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
@@ -38,7 +46,7 @@ stdenv.mkDerivation rec {
     "--with-poppler=${poppler.dev}" # optional
     "--with-libz=${zlib.dev}"       # optional
     "--with-pg=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config"
+    "--with-mysql=${libmysqlclient}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
     "--with-sqlite3=${sqlite.dev}"
     "--with-spatialite=${libspatialite}"
diff --git a/nixpkgs/pkgs/development/libraries/gdal/gdal-1_11.nix b/nixpkgs/pkgs/development/libraries/gdal/gdal-1_11.nix
index a65740534146..6a086d9c998d 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/gdal-1_11.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/gdal-1_11.nix
@@ -40,9 +40,7 @@ stdenv.mkDerivation rec {
   ];
 
   # Allow use of old proj_api.h
-  NIX_CFLAGS_COMPILE = [
-    "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1"
-  ];
+  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1";
 
   # Prevent this:
   #
diff --git a/nixpkgs/pkgs/development/libraries/gdata-sharp/default.nix b/nixpkgs/pkgs/development/libraries/gdata-sharp/default.nix
index 1a3447f6674f..58036351a09f 100644
--- a/nixpkgs/pkgs/development/libraries/gdata-sharp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdata-sharp/default.nix
@@ -37,5 +37,6 @@ in stdenv.mkDerivation {
 
     license = licenses.asl20;
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gdbm/default.nix b/nixpkgs/pkgs/development/libraries/gdbm/default.nix
index 972e9022235a..830a311db706 100644
--- a/nixpkgs/pkgs/development/libraries/gdbm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdbm/default.nix
@@ -4,9 +4,6 @@ stdenv.mkDerivation rec {
   pname = "gdbm";
   version = "1.18.1";
 
-  # FIXME: remove on update to > 1.18.1
-  NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null;
-
   src = fetchurl {
     url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz";
     sha256 = "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6";
diff --git a/nixpkgs/pkgs/development/libraries/gdcm/default.nix b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
index 29a30a1b157d..0b5e0af84ba2 100644
--- a/nixpkgs/pkgs/development/libraries/gdcm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, vtk, darwin }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.1";
+  version = "3.0.4";
   pname = "gdcm";
 
   src = fetchurl {
     url = "mirror://sourceforge/gdcm/${pname}-${version}.tar.bz2";
-    sha256 = "1n206rr28f9ysd5yns6hc6vxwhwj1ck59p2j1wqyclm60zr84isq";
+    sha256 = "0g46l7fjvn37sg29m0nb7wlnnpnxmlm9ryp7vam26ni02l73paid";
   };
 
   dontUseCmakeBuildDir = true;
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
     cd ../build
   '';
 
-  cmakeFlags = ''
-    -DGDCM_BUILD_APPLICATIONS=ON
-    -DGDCM_BUILD_SHARED_LIBS=ON
-    -DGDCM_USE_VTK=ON
-  '';
+  cmakeFlags = [
+    "-DGDCM_BUILD_APPLICATIONS=ON"
+    "-DGDCM_BUILD_SHARED_LIBS=ON"
+    "-DGDCM_USE_VTK=ON"
+  ];
 
   enableParallelBuilding = true;
   buildInputs = [ cmake vtk ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices darwin.apple_sdk.frameworks.Cocoa ];
diff --git a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix
index 59e7808057f4..9c2da3c5b695 100644
--- a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
+{ 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";
-  version = "2.38.1";
+  version = "2.40.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0fmbjgjcyym3qg46f64qgl7icdm4ii77flyc1mhk244rp8vgi7zi";
+    sha256 = "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm";
   };
 
   patches = [
@@ -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"
@@ -85,6 +84,10 @@ in stdenv.mkDerivation rec {
       packageName = pname;
     };
 
+    tests = {
+      installedTests = nixosTests.installed-tests.gdk-pixbuf;
+    };
+
     # gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
     moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
   };
diff --git a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
index 5a7dcd792996..06958be32131 100644
--- a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
@@ -2,9 +2,9 @@ findGdkPixbufLoaders() {
 
 	# choose the longest loaders.cache
 	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) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
+	if [[ -f "$loadersCache" ]]; then
+		if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; 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/nixpkgs/pkgs/development/libraries/gdl/default.nix b/nixpkgs/pkgs/development/libraries/gdl/default.nix
index 45a29e15ede8..c4baaa3fae98 100644
--- a/nixpkgs/pkgs/development/libraries/gdl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gdl";
-  version = "3.28.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1dipnzqpxl0yfwzl2lqdf6vb3174gb9f1d5jndkq8505q7n9ik2j";
+    sha256 = "00ldva6wg6s4wlxmisiqzyz8ihsprra7sninx2rlqk6frpq312w5";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix b/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
index 0e3f79b1814c..b3e8ec2e1780 100644
--- a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
@@ -1,31 +1,135 @@
-{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, json-glib, gettext, autoreconfHook, libraw
-, gexiv2, libwebp, libintl }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, vala
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, glib
+, babl
+, libpng
+, cairo
+, libjpeg
+, librsvg
+, lensfun
+, libspiro
+, netsurf
+, pango
+, poly2tri-c
+, bzip2
+, json-glib
+, gettext
+, meson
+, ninja
+, libraw
+, gexiv2
+, libwebp
+, luajit
+, openexr
+, OpenCL
+}:
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.4.16";
+  version = "0.4.18";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
-    url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1";
+    url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9";
   };
 
-  enableParallelBuilding = true;
+  patches = [
+    # Fix arch detection.
+    # https://gitlab.gnome.org/GNOME/gegl/merge_requests/53
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gegl/commit/6bcf95fd0f32cf5e8b1ddbe17b14d9ad049bded8.patch";
+      sha256 = "0aqdr3y5mr47wq44jnhp97188bvpjlf56zrlmn8aazdf07r2apma";
+    })
 
-  doCheck = true;
+    # Fix Darwin build.
+    # https://gitlab.gnome.org/GNOME/gegl/merge_requests/54
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gegl/commit/2bc06bfedee4fb25f6a966c8235b75292e24e55f.patch";
+      sha256 = "1psls61wsrdq5pzpvj22mrm46lpzrw3wkx6li7dv6fyb65wz2n4d";
+    })
+
+    # Fix test timeout. Downstream debian patch.
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gegl/raw/9b7520b38d87cd8ad4b39bf0b8c62d011da25169/debian/patches/increase_test_timeout.patch";
+      sha256 = "1prc1h1aipjd9db0i1j7nzga4zvk3vl8qsjpz1jzv1wwvz02isly";
+    })
+
+    # Remove gegl:simple / backend-file test that times out frequently
+    ./patches/no-simple-backend-file-test.patch
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    meson
+    ninja
+    vala
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
 
   buildInputs = [
-    libpng cairo libjpeg librsvg pango gtk bzip2
-    libraw libwebp gexiv2
+    libpng
+    cairo
+    libjpeg
+    librsvg
+    lensfun
+    libspiro
+    netsurf.libnsgif
+    pango
+    poly2tri-c
+    bzip2
+    libraw
+    libwebp
+    gexiv2
+    luajit
+    openexr
+  ] ++ stdenv.lib.optional stdenv.isDarwin OpenCL;
+
+  # for gegl-4.0.pc
+  propagatedBuildInputs = [
+    glib
+    json-glib
+    babl
+  ];
+
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Dmrg=disabled" # not sure what that is
+    "-Dsdl2=disabled"
+    "-Dpygobject=disabled"
+    "-Dlibav=disabled"
+    "-Dlibv4l=disabled"
+    "-Dlibv4l2=disabled"
+    "-Dumfpack=disabled"
+    # Disabled due to multiple vulnerabilities, see
+    # https://github.com/NixOS/nixpkgs/pull/73586
+    "-Djasper=disabled"
   ];
 
-  propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc
+  # TODO: Fix missing math symbols in gegl seamless clone.
+  # It only appears when we use packaged poly2tri-c instead of vendored one.
+  NIX_CFLAGS_COMPILE = "-lm";
+
+  postPatch = ''
+    chmod +x tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh
+    patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh tools/xml_insert.sh
+  '';
 
-  nativeBuildInputs = [ pkgconfig gettext which autoreconfHook libintl ];
+  # tests fail to connect to the com.apple.fonts daemon in sandboxed mode
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "Graph-based image processing framework";
diff --git a/nixpkgs/pkgs/development/libraries/gegl/patches/no-simple-backend-file-test.patch b/nixpkgs/pkgs/development/libraries/gegl/patches/no-simple-backend-file-test.patch
new file mode 100644
index 000000000000..bf07572182b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gegl/patches/no-simple-backend-file-test.patch
@@ -0,0 +1,10 @@
+diff --git a/tests/simple/meson.build b/tests/simple/meson.build
+index 2c735d80a..ae4d50f2a 100644
+--- a/tests/simple/meson.build
++++ b/tests/simple/meson.build
+@@ -1,5 +1,4 @@
+ testnames = [
+-  'backend-file',
+   'buffer-cast',
+   'buffer-changes',
+   'buffer-extract',
diff --git a/nixpkgs/pkgs/development/libraries/geis/default.nix b/nixpkgs/pkgs/development/libraries/geis/default.nix
index 97b9ba087e28..1b3d5ba4b7c0 100644
--- a/nixpkgs/pkgs/development/libraries/geis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/geis/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     sha256 = "1svhbjibm448ybq6gnjjzj0ak42srhihssafj0w402aj71lgaq4a";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=misleading-indentation" "-Wno-error=pointer-compare" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=misleading-indentation -Wno-error=pointer-compare";
 
   hardeningDisable = [ "format" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/geoclue/default.nix b/nixpkgs/pkgs/development/libraries/geoclue/default.nix
index cc2037791e01..8d94dacbb61b 100644
--- a/nixpkgs/pkgs/development/libraries/geoclue/default.nix
+++ b/nixpkgs/pkgs/development/libraries/geoclue/default.nix
@@ -7,14 +7,14 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "geoclue";
-  version = "2.5.3";
+  version = "2.5.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1wbpi74dw3p7izxwd57irz2i1g55r7wzl5h2yf0ns0hgq2njdfsg";
+    sha256 = "0a8wmf5v3x4035ixz9jypj7c6qknvs6gjv2zawa3msq1j75rf2r5";
   };
 
   patches = [
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "-Dsysconfdir_install=${placeholder "out"}/etc"
     "-Ddbus-srv-user=geoclue"
+    "-Ddbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
   ] ++ optionals stdenv.isDarwin [
     "-D3g-source=false"
     "-Dcdma-source=false"
diff --git a/nixpkgs/pkgs/development/libraries/geoip/default.nix b/nixpkgs/pkgs/development/libraries/geoip/default.nix
index 1b1f7373709f..d55983952b8c 100644
--- a/nixpkgs/pkgs/development/libraries/geoip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/geoip/default.nix
@@ -1,37 +1,45 @@
-# in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP
-# e.g. geolite-legacy
 { stdenv, fetchFromGitHub, autoreconfHook
-, drvName ? "geoip", geoipDatabase ? "/var/lib/geoip-databases" }:
+, drvName ? "geoip"
 
-let version = "1.6.12";
-    dataDir = if (stdenv.lib.isDerivation geoipDatabase) then "${toString geoipDatabase}/share/GeoIP" else geoipDatabase;
-in stdenv.mkDerivation {
-  name = "${drvName}-${version}";
+# in geoipDatabase, you can insert a package defining
+# "${geoipDatabase}/share/GeoIP" e.g. geolite-legacy
+, geoipDatabase ? "/var/lib/geoip-databases"
+}:
+
+let
+  dataDir = if stdenv.lib.isDerivation geoipDatabase
+    then "${toString geoipDatabase}/share/GeoIP"
+    else geoipDatabase;
+in
+stdenv.mkDerivation rec {
+  pname = drvName;
+  version = "1.6.12";
 
   src = fetchFromGitHub {
-    owner = "maxmind";
-    repo = "geoip-api-c";
-    rev = "v${version}";
+    owner  = "maxmind";
+    repo   = "geoip-api-c";
+    rev    = "v${version}";
     sha256 = "0ixyp3h51alnncr17hqp1p0rlqz9w69nlhm60rbzjjz3vjx52ajv";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  # Cross compilation shenanigans
   configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_func_malloc_0_nonnull=yes"
     "ac_cv_func_realloc_0_nonnull=yes"
   ];
 
+  # Fix up the default data directory
   postConfigure = ''
     find . -name Makefile.in -exec sed -i -r 's#^pkgdatadir\s*=.+$#pkgdatadir = ${dataDir}#' {} \;
   '';
 
-  meta = {
-    description = "Geolocation API";
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    license = stdenv.lib.licenses.lgpl21;
-    platforms = stdenv.lib.platforms.unix;
-    homepage = http://geolite.maxmind.com/;
-    downloadPage = "http://geolite.maxmind.com/download/";
+  meta = with stdenv.lib; {
+    description = "An API for GeoIP/Geolocation databases";
+    maintainers = with maintainers; [ thoughtpolice raskin ];
+    license     = licenses.lgpl21;
+    platforms   = platforms.unix;
+    homepage    = "https://www.maxmind.com";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/geos/default.nix b/nixpkgs/pkgs/development/libraries/geos/default.nix
index 3bed670cc307..e7fce696894f 100644
--- a/nixpkgs/pkgs/development/libraries/geos/default.nix
+++ b/nixpkgs/pkgs/development/libraries/geos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "geos-3.7.2";
+  name = "geos-3.7.3";
 
   src = fetchurl {
     url = "https://download.osgeo.org/geos/${name}.tar.bz2";
-    sha256 = "01vpkncvq1i1191agq03yg1h7d0igj10gv5z2mqk24nnwrdycri1";
+    sha256 = "0znaby3fs3fy7af5njrnmjnfsa80ac97fvamlnjiywddw3j5l0q2";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch b/nixpkgs/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch
deleted file mode 100644
index b734c1c8b027..000000000000
--- a/nixpkgs/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-This patch was generated by re-running Bison 3.0.4 on pro-gram-gen.y after
-applying CVE-2018-18751.patch. This patch removes the need to add bison to
-nativeBuildInputs.
-
---- a/gettext-tools/src/po-gram-gen.c
-+++ b/gettext-tools/src/po-gram-gen.c
-@@ -568,9 +568,9 @@ static const yytype_uint8 yytranslate[] =
- static const yytype_uint16 yyrline[] =
- {
-        0,   169,   169,   171,   172,   173,   174,   179,   187,   195,
--     216,   240,   249,   258,   269,   278,   292,   301,   315,   321,
--     332,   338,   350,   361,   372,   376,   391,   414,   422,   434,
--     442
-+     216,   237,   246,   255,   266,   275,   289,   298,   312,   318,
-+     329,   335,   347,   358,   369,   373,   388,   411,   419,   431,
-+     439
- };
- #endif
-
-@@ -1419,14 +1419,11 @@ yyreduce:
-                   check_obsolete ((yyvsp[-3].message_intro), (yyvsp[-1].string));
-                   check_obsolete ((yyvsp[-3].message_intro), (yyvsp[0].rhs));
-                   if (!(yyvsp[-3].message_intro).obsolete || pass_obsolete_entries)
--                    {
--                      do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
--                                           (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
--                                           (yyvsp[-3].message_intro).prev_ctxt,
--                                           (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
--                                           (yyvsp[-3].message_intro).obsolete);
--                      free ((yyvsp[-1].string).string);
--                    }
-+                    do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
-+                                         (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
-+                                         (yyvsp[-3].message_intro).prev_ctxt,
-+                                         (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
-+                                         (yyvsp[-3].message_intro).obsolete);
-                   else
-                     {
-                       free_message_intro ((yyvsp[-3].message_intro));
-@@ -1435,11 +1432,11 @@ yyreduce:
-                       free ((yyvsp[0].rhs).rhs.msgstr);
-                     }
-                 }
--#line 1439 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1436 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 11:
--#line 241 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 238 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].string));
-@@ -1448,11 +1445,11 @@ yyreduce:
-                   string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
-                   free ((yyvsp[0].string).string);
-                 }
--#line 1452 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1449 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 12:
--#line 250 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 247 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].rhs));
-@@ -1461,22 +1458,22 @@ yyreduce:
-                   string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
-                   free ((yyvsp[0].rhs).rhs.msgstr);
-                 }
--#line 1465 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1462 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 13:
--#line 259 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 256 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].message_intro), (yyvsp[0].stringlist));
-                   po_gram_error_at_line (&(yyvsp[-1].message_intro).pos, _("missing 'msgstr' section"));
-                   free_message_intro ((yyvsp[-1].message_intro));
-                   string_list_destroy (&(yyvsp[0].stringlist).stringlist);
-                 }
--#line 1476 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1473 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 14:
--#line 270 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 267 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.message_intro).prev_ctxt = NULL;
-                   (yyval.message_intro).prev_id = NULL;
-@@ -1485,11 +1482,11 @@ yyreduce:
-                   (yyval.message_intro).pos = (yyvsp[0].string).pos;
-                   (yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1489 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1486 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 15:
--#line 279 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 276 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].prev), (yyvsp[0].string));
-                   (yyval.message_intro).prev_ctxt = (yyvsp[-1].prev).ctxt;
-@@ -1499,11 +1496,11 @@ yyreduce:
-                   (yyval.message_intro).pos = (yyvsp[0].string).pos;
-                   (yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1503 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1500 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 16:
--#line 293 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 290 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].string), (yyvsp[0].stringlist));
-                   (yyval.prev).ctxt = (yyvsp[-1].string).string;
-@@ -1512,11 +1509,11 @@ yyreduce:
-                   (yyval.prev).pos = (yyvsp[-1].string).pos;
-                   (yyval.prev).obsolete = (yyvsp[-1].string).obsolete;
-                 }
--#line 1516 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1513 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 17:
--#line 302 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 299 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].string), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].string), (yyvsp[0].string));
-@@ -1526,21 +1523,21 @@ yyreduce:
-                   (yyval.prev).pos = (yyvsp[-2].string).pos;
-                   (yyval.prev).obsolete = (yyvsp[-2].string).obsolete;
-                 }
--#line 1530 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1527 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 18:
--#line 316 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 313 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.string).string = NULL;
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1540 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1537 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 19:
--#line 322 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 319 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
-@@ -1548,21 +1545,21 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1552 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1549 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 20:
--#line 333 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 330 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.string).string = NULL;
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1562 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1559 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 21:
--#line 339 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 336 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
-@@ -1570,11 +1567,11 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1574 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1571 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 22:
--#line 351 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 348 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
-                   plural_counter = 0;
-@@ -1582,30 +1579,30 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[-1].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
-                 }
--#line 1586 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1583 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 23:
--#line 362 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 359 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
-                   (yyval.string).string = string_list_concat_destroy (&(yyvsp[0].stringlist).stringlist);
-                   (yyval.string).pos = (yyvsp[-1].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
-                 }
--#line 1597 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1594 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 24:
--#line 373 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 370 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.rhs) = (yyvsp[0].rhs);
-                 }
--#line 1605 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1602 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 25:
--#line 377 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 374 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].rhs), (yyvsp[0].rhs));
-                   (yyval.rhs).rhs.msgstr = XNMALLOC ((yyvsp[-1].rhs).rhs.msgstr_len + (yyvsp[0].rhs).rhs.msgstr_len, char);
-@@ -1617,11 +1614,11 @@ yyreduce:
-                   (yyval.rhs).pos = (yyvsp[-1].rhs).pos;
-                   (yyval.rhs).obsolete = (yyvsp[-1].rhs).obsolete;
-                 }
--#line 1621 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1618 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 26:
--#line 392 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 389 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-4].pos), (yyvsp[-3].pos));
-                   check_obsolete ((yyvsp[-4].pos), (yyvsp[-2].number));
-@@ -1640,11 +1637,11 @@ yyreduce:
-                   (yyval.rhs).pos = (yyvsp[-4].pos).pos;
-                   (yyval.rhs).obsolete = (yyvsp[-4].pos).obsolete;
-                 }
--#line 1644 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1641 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 27:
--#line 415 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 412 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   string_list_init (&(yyval.stringlist).stringlist);
-                   string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
-@@ -1652,11 +1649,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[0].string).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1656 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1653 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 28:
--#line 423 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 420 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
-                   (yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
-@@ -1665,11 +1662,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
-                 }
--#line 1669 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1666 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 29:
--#line 435 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 432 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   string_list_init (&(yyval.stringlist).stringlist);
-                   string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
-@@ -1677,11 +1674,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[0].string).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1681 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1678 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 30:
--#line 443 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 440 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
-                   (yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
-@@ -1690,11 +1687,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
-                 }
--#line 1694 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1691 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-
--#line 1698 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1695 "po-gram-gen.c" /* yacc.c:1646  */
-       default: break;
-     }
-   /* User semantic actions sometimes alter yychar, and that requires
diff --git a/nixpkgs/pkgs/development/libraries/gettext/default.nix b/nixpkgs/pkgs/development/libraries/gettext/default.nix
index 9547c6c31ada..c2165a9d9c7a 100644
--- a/nixpkgs/pkgs/development/libraries/gettext/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gettext/default.nix
@@ -1,24 +1,16 @@
-{ stdenv, lib, fetchurl, libiconv, xz, bison, automake115x, autoconf }:
+{ stdenv, lib, fetchurl, libiconv, xz }:
 
-let allowBisonDependency = !stdenv.isDarwin; in
 stdenv.mkDerivation rec {
   pname = "gettext";
-  version = "0.19.8.1";
+  version = "0.20.1";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
-    sha256 = "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z";
+    sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6";
   };
   patches = [
     ./absolute-paths.diff
-    (fetchurl {
-      name = "CVE-2018-18751.patch";
-      url = "https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=patch;h=dce3a16e5e9368245735e29bf498dcd5e3e474a4";
-      sha256 = "1lpjwwcjr1sb879faj0xyzw02kma0ivab6xwn3qciy13qy6fq5xn";
-    })
-  ] ++ lib.optionals (!allowBisonDependency) [
-    # Only necessary for CVE-2018-18751.patch:
-    ./CVE-2018-18751-bison.patch
+    ./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
   ];
 
   outputs = [ "out" "man" "doc" "info" ];
@@ -29,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
@@ -54,14 +42,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     xz
     xz.bin
-  ]
-  # Only necessary for CVE-2018-18751.patch (unless CVE-2018-18751-bison.patch
-  # is also applied):
-  ++ lib.optional allowBisonDependency bison
-  ++ [
-    # Only necessary for CVE-2018-18751.patch:
-    automake115x
-    autoconf
   ];
   # HACK, see #10874 (and 14664)
   buildInputs = stdenv.lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv;
@@ -106,5 +86,5 @@ stdenv.mkDerivation rec {
 }
 
 // stdenv.lib.optionalAttrs stdenv.isDarwin {
-  makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0";
+  makeFlags = [ "CFLAGS=-D_FORTIFY_SOURCE=0" ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/nixpkgs/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index ad3763c29b64..69020146f84d 100644
--- a/nixpkgs/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -10,7 +10,7 @@ addEnvHooks "$hostOffset" gettextDataDirsHook
 
 # libintl must be listed in load flags on non-Glibc
 # it doesn't hurt to have it in Glibc either though
-if [ -n "@gettextNeedsLdflags@" -a -z "$dontAddExtraLibs" ]; then
+if [ -n "@gettextNeedsLdflags@" -a -z "${dontAddExtraLibs-}" ]; then
     # See pkgs/build-support/setup-hooks/role.bash
     getHostRole
     export NIX_${role_pre}LDFLAGS+=" -lintl"
diff --git a/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch b/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
new file mode 100644
index 000000000000..4a19b11507ac
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
@@ -0,0 +1,82 @@
+From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 19 May 2019 13:10:06 +0200
+Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no
+ translations.
+
+Reported by Don Lawrence <dlawrence@iecok.com>
+in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
+via Daiki Ueno
+in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
+
+* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
+is true.
+* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
+---
+ gettext-tools/src/msgmerge.c    |  4 ++--
+ gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++---
+ 2 files changed, 35 insertions(+), 5 deletions(-)
+
+diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
+index cd762c0..92c9b7a 100644
+--- a/gettext-tools/src/msgmerge.c
++++ b/gettext-tools/src/msgmerge.c
+@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\
+   else
+     {
+       /* Write the merged message list out.  */
+-      msgdomain_list_print (result, output_file, output_syntax, force_po,
+-                            false);
++      msgdomain_list_print (result, output_file, output_syntax,
++                            for_msgfmt || force_po, false);
+     }
+ 
+   exit (EXIT_SUCCESS);
+diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26
+index cd3862e..b86f7a0 100755
+--- a/gettext-tools/tests/msgmerge-26
++++ b/gettext-tools/tests/msgmerge-26
+@@ -73,7 +73,37 @@ msgstr "Papaya"
+ EOF
+ 
+ : ${DIFF=diff}
+-${DIFF} mm-test26.ok mm-test26.out
+-result=$?
++${DIFF} mm-test26.ok mm-test26.out || Exit 1
+ 
+-exit $result
++# Test with a PO file that has no translated messages.
++
++cat <<\EOF > mm-test26a.in1
++msgid ""
++msgstr ""
++"Content-Type: text/plain; charset=UTF-8\n"
++
++msgid "Hello world"
++msgstr "Hallo Welt"
++EOF
++
++cat <<\EOF > mm-test26a.in2
++msgid ""
++msgstr ""
++"Content-Type: text/plain; charset=ASCII\n"
++
++msgid "Hello, world!"
++msgstr ""
++EOF
++
++: ${MSGMERGE=msgmerge}
++${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \
++    || Exit 1
++LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1
++
++cat <<\EOF > mm-test26a.ok
++msgid ""
++msgstr "Content-Type: text/plain; charset=UTF-8\n"
++EOF
++
++: ${DIFF=diff}
++${DIFF} mm-test26a.ok mm-test26a.out || Exit 1
+-- 
+1.9.1
+
diff --git a/nixpkgs/pkgs/development/libraries/gf2x/default.nix b/nixpkgs/pkgs/development/libraries/gf2x/default.nix
index b1a2524065a5..4697f28bb9fb 100644
--- a/nixpkgs/pkgs/development/libraries/gf2x/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gf2x/default.nix
@@ -1,20 +1,25 @@
 { stdenv
 , lib
-, fetchurl
+, fetchgit
+, autoreconfHook
 , optimize ? false # impure hardware optimizations
 }:
 stdenv.mkDerivation rec {
   pname = "gf2x";
-  version = "1.2"; # remember to also update the url
+  version = "1.3.0";
 
-  src = fetchurl {
-    # find link to latest version (with file id) here: https://gforge.inria.fr/projects/gf2x/
-    # Requested a predictable link:
-    # https://gforge.inria.fr/tracker/index.php?func=detail&aid=21704&group_id=1874&atid=6982
-    url = "https://gforge.inria.fr/frs/download.php/file/36934/gf2x-${version}.tar.gz";
-    sha256 = "0d6vh1mxskvv3bxl6byp7gxxw3zzpkldrxnyajhnl05m0gx7yhk1";
+  # upstream has plans to move to gitlab:
+  # https://github.com/NixOS/nixpkgs/pull/45299#issuecomment-564477936
+  src = fetchgit {
+    url = "https://scm.gforge.inria.fr/anonscm/git/gf2x/gf2x.git";
+    rev = "gf2x-${version}";
+    sha256 = "04g5jg0i4vz46b4w2dvbmahwzi3k6b8g515mfw7im1inc78s14id";
   };
 
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
   # no actual checks present yet (as of 1.2), but can't hurt trying
   # for an indirect test, run ntl's test suite
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/gflags/default.nix b/nixpkgs/pkgs/development/libraries/gflags/default.nix
index 2e818ea94ea5..b09936f29240 100644
--- a/nixpkgs/pkgs/development/libraries/gflags/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gflags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, enableShared ? true}:
 
 stdenv.mkDerivation rec {
   pname = "gflags";
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   preConfigure = "rm BUILD";
 
   cmakeFlags = [
-    "-DBUILD_SHARED_LIBS=ON"
-    "-DBUILD_STATIC_LIBS=ON"
+    "-DGFLAGS_BUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}"
+    "-DGFLAGS_BUILD_STATIC_LIBS=ON"
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/libraries/giflib/5.1.nix b/nixpkgs/pkgs/development/libraries/giflib/5.1.nix
deleted file mode 100644
index fee760b3ea26..000000000000
--- a/nixpkgs/pkgs/development/libraries/giflib/5.1.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
-
-stdenv.mkDerivation {
-  name = "giflib-5.1.4";
-  src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-5.1.4.tar.bz2;
-    sha256 = "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz";
-  };
-
-  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
-  meta = {
-    description = "A library for reading and writing gif images";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    branch = "5.1";
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/giflib/default.nix b/nixpkgs/pkgs/development/libraries/giflib/default.nix
new file mode 100644
index 000000000000..e2ff96d366a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/giflib/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2, fixDarwinDylibNames }:
+
+stdenv.mkDerivation rec {
+  name = "giflib-5.2.1";
+  src = fetchurl {
+    url = "mirror://sourceforge/giflib/${name}.tar.gz";
+    sha256 = "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii";
+  };
+
+  patches = stdenv.lib.optional stdenv.hostPlatform.isDarwin
+    (fetchpatch {
+      # https://sourceforge.net/p/giflib/bugs/133/
+      name = "darwin-soname.patch";
+      url = "https://sourceforge.net/p/giflib/bugs/_discuss/thread/4e811ad29b/c323/attachment/Makefile.patch";
+      sha256 = "12afkqnlkl3n1hywwgx8sqnhp3bz0c5qrwcv8j9hifw1lmfhv67r";
+      extraPrefix = "./";
+    });
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'PREFIX = /usr/local' 'PREFIX = ${builtins.placeholder "out"}'
+  '';
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
+
+  meta = {
+    description = "A library for reading and writing gif images";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ ];
+    branch = "5.2";
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/git2/default.nix b/nixpkgs/pkgs/development/libraries/git2/default.nix
index 514d21def1e0..2d89355cffe0 100644
--- a/nixpkgs/pkgs/development/libraries/git2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/git2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, python
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, python3
 , zlib, libssh2, openssl, http-parser, curl
 , libiconv, Security
 }:
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
 
-  nativeBuildInputs = [ cmake python pkgconfig ];
+  nativeBuildInputs = [ cmake python3 pkgconfig ];
 
   buildInputs = [ zlib libssh2 openssl http-parser curl ]
     ++ stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix b/nixpkgs/pkgs/development/libraries/gjs/default.nix
index 303377b8631a..7facdc1426fe 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gjs/default.nix
@@ -1,26 +1,50 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection
-, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk-pixbuf
-, makeWrapper }:
+{ fetchurl
+, stdenv
+, pkgconfig
+, gnome3
+, gtk3
+, atk
+, gobject-introspection
+, spidermonkey_60
+, pango
+, cairo
+, readline
+, glib
+, libxml2
+, dbus
+, gdk-pixbuf
+, makeWrapper
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.56.2";
+  version = "1.58.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac";
+    sha256 = "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gjs"; attrPath = "gnome3.gjs"; };
-  };
+  outputs = [ "out" "dev" "installedTests" ];
 
-  outputs = [ "out" "installedTests" ];
+  nativeBuildInputs = [
+    pkgconfig
+    makeWrapper
+    libxml2 # for xml-stripblanks
+  ];
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ libxml2 gobject-introspection gtk3 glib pango readline dbus ];
+  buildInputs = [
+    gobject-introspection
+    cairo
+    readline
+    spidermonkey_60
+    dbus # for dbus-run-session
+  ];
 
-  propagatedBuildInputs = [ spidermonkey_60 ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   configureFlags = [
     "--enable-installed-tests"
@@ -33,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"
 
@@ -42,10 +64,23 @@ stdenv.mkDerivation rec {
       --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests"
   '';
 
+  separateDebugInfo = stdenv.isLinux;
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.gjs;
+    };
+
+    updateScript = gnome3.updateScript {
+      packageName = "gjs";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "JavaScript bindings for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md";
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
-    license = licenses.lgpl2Plus;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gle/default.nix b/nixpkgs/pkgs/development/libraries/gle/default.nix
index dd72637f2eb0..d656473ba807 100644
--- a/nixpkgs/pkgs/development/libraries/gle/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gle/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, libGLU_combined, freeglut, libX11, libXt, libXmu, libXi, libXext}:
+{stdenv, fetchurl, freeglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}:
 stdenv.mkDerivation {
   name = "gle-3.1.0";
-  buildInputs = [libGLU_combined freeglut libX11 libXt libXmu libXi libXext];
+  buildInputs = [libGLU libGL freeglut libX11 libXt libXmu libXi libXext];
   src = fetchurl {
     urls = [
       "mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
diff --git a/nixpkgs/pkgs/development/libraries/glfw/3.x.nix b/nixpkgs/pkgs/development/libraries/glfw/3.x.nix
index 6532d6f81b54..cf988d323994 100644
--- a/nixpkgs/pkgs/development/libraries/glfw/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/glfw/3.x.nix
@@ -1,16 +1,17 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libGL, libXrandr, libXinerama, libXcursor, libX11
+{ stdenv, lib, fetchFromGitHub, cmake
+, libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext
 , Cocoa, Kernel, fixDarwinDylibNames
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.3";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "0gq6ad38b3azk0w2yy298yz2vmg2jmf9g0ydidqbmiswpk25ills";
+    sha256 = "1f1hqpqffzg46z33ybs2c3akmkly7b3qmgp5byk50nvad6g2pm4p";
   };
 
   enableParallelBuilding = true;
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libX11 libXrandr libXinerama libXcursor ]
+  buildInputs = [ libX11 libXrandr libXinerama libXcursor libXi libXext ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel fixDarwinDylibNames ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
     homepage = https://www.glfw.org/;
     license = licenses.zlib;
-    maintainers = with maintainers; [ marcweber ];
+    maintainers = with maintainers; [ marcweber twey ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
index ae386f46bffc..63a773522a0d 100644
--- a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.60.3";
+  version = "2.62.2";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm";
+    sha256 = "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06";
   };
 
   patches = [
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     };
 
     tests = {
-      installedTests = nixosTests.glib-networking;
+      installedTests = nixosTests.installed-tests.glib-networking;
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/glib/default.nix b/nixpkgs/pkgs/development/libraries/glib/default.nix
index de7505e6cde1..4a7d6cce90b0 100644
--- a/nixpkgs/pkgs/development/libraries/glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib/default.nix
@@ -1,4 +1,4 @@
-{ config, stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3, glibcLocales
+{ config, stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3
 , libiconv, zlib, libffi, pcre, libelf, gnome3, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45
 # use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib)
 , utillinuxMinimal ? null
@@ -8,7 +8,7 @@
 , doCheck ? config.doCheckByDefault or false
 , coreutils, dbus, libxml2, tzdata
 , desktop-file-utils, shared-mime-info
-, darwin
+, darwin, fetchpatch
 }:
 
 with stdenv.lib;
@@ -44,32 +44,53 @@ let
     done
     ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
   '';
-
-  binPrograms = optional (!stdenv.isDarwin) "gapplication" ++ [ "gdbus" "gio" "gsettings" ];
 in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.60.7";
+  version = "2.62.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0433m0na8nc4cf0gidf4gfzz8k5d3dsssmh541qkpzcsaspw04lb";
+    sha256 = "1g2vj9lyh032kcwij7avx5d6a99rcsnkd07sbl9i55zsfw6h712c";
   };
 
-  patches = optional stdenv.isDarwin ./darwin-compilation.patch
-    ++ optional doCheck ./skip-timer-test.patch
-    ++ optionals stdenv.hostPlatform.isMusl [
-      ./quark_init_on_demand.patch
-      ./gobject_init_on_demand.patch
-    ] ++ [
-      ./schema-override-variable.patch
-      # Require substituteInPlace in postPatch
-      ./fix-gio-launch-desktop-path.patch
-    ];
+  patches = optionals stdenv.isDarwin [
+    ./darwin-compilation.patch
+  ] ++ optionals stdenv.hostPlatform.isMusl [
+    ./quark_init_on_demand.patch
+    ./gobject_init_on_demand.patch
+  ] ++ [
+    ./schema-override-variable.patch
+    # Require substituteInPlace in postPatch
+    ./fix-gio-launch-desktop-path.patch
+
+    # GLib contains many binaries used for different purposes;
+    # we will install them to different outputs:
+    # 1. Tools for desktop environment ($bin)
+    #    * gapplication (non-darwin)
+    #    * gdbus
+    #    * gio
+    #    * gio-launch-desktop (symlink to $out)
+    #    * gsettings
+    # 2. Development/build tools ($dev)
+    #    * gdbus-codegen
+    #    * gio-querymodules
+    #    * glib-compile-resources
+    #    * glib-compile-schemas
+    #    * glib-genmarshal
+    #    * glib-gettextize
+    #    * glib-mkenums
+    #    * gobject-query
+    #    * gresource
+    #    * gtester
+    #    * gtester-report
+    # 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out)
+    #    * gio-launch-desktop
+    ./split-dev-programs.patch
+  ] ++ optional doCheck ./skip-timer-test.patch;
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
-  outputBin = "dev";
 
   setupHook = ./setup-hook.sh;
 
@@ -84,7 +105,7 @@ stdenv.mkDerivation rec {
   ]);
 
   nativeBuildInputs = [
-    meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 glibcLocales
+    meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45
   ];
 
   propagatedBuildInputs = [ zlib libffi gettext libiconv ];
@@ -94,11 +115,10 @@ stdenv.mkDerivation rec {
     # Instead we just copy them over from the native output.
     "-Dgtk_doc=${if stdenv.hostPlatform == stdenv.buildPlatform then "true" else "false"}"
     "-Dnls=enabled"
+    "-Ddevbindir=${placeholder ''dev''}/bin"
   ];
 
-  LC_ALL = "en_US.UTF-8";
-
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=nonnull"
     # Default for release buildtype but passed manually because
     # we're using plain
@@ -111,29 +131,16 @@ stdenv.mkDerivation rec {
 
     chmod +x gio/tests/gengiotypefuncs.py
     patchShebangs gio/tests/gengiotypefuncs.py
+    chmod +x docs/reference/gio/concat-files-helper.py
+    patchShebangs docs/reference/gio/concat-files-helper.py
     patchShebangs glib/gen-unicode-tables.pl
     patchShebangs tests/gen-casefold-txt.py
     patchShebangs tests/gen-casemap-txt.py
   '';
 
-  LIBELF_CFLAGS = optional stdenv.isFreeBSD "-I${libelf}";
-  LIBELF_LIBS = optional stdenv.isFreeBSD "-L${libelf} -lelf";
-
   DETERMINISTIC_BUILD = 1;
 
   postInstall = ''
-    mkdir -p $bin/bin
-    for app in ${concatStringsSep " " binPrograms}; do
-      mv "$dev/bin/$app" "$bin/bin"
-    done
-
-  '' + optionalString (!stdenv.isDarwin) ''
-    # Add gio-launch-desktop to $out so we can refer to it from $dev
-    mkdir $out/bin
-    mv "$dev/bin/gio-launch-desktop" "$out/bin/"
-    ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
-
-  '' + ''
     moveToOutput "share/glib-2.0" "$dev"
     substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
     sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
@@ -141,6 +148,11 @@ stdenv.mkDerivation rec {
     # This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
     sed '1i#line 1 "${pname}-${version}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \
       -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
+  '' + optionalString (!stdenv.isDarwin) ''
+    # Add gio-launch-desktop to $out so we can refer to it from $lib
+    mkdir $out/bin
+    mv "$bin/bin/gio-launch-desktop" "$out/bin/"
+    ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
   '' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     cp -r ${buildPackages.glib.devdoc} $devdoc
   '';
@@ -173,6 +185,8 @@ stdenv.mkDerivation rec {
 
   inherit doCheck;
 
+  separateDebugInfo = stdenv.isLinux;
+
   passthru = rec {
     gioModuleDir = "lib/gio/modules";
     makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas";
@@ -185,7 +199,7 @@ stdenv.mkDerivation rec {
     description = "C library of programming buildings blocks";
     homepage    = https://www.gtk.org/;
     license     = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ lovek323 raskin ];
+    maintainers = with maintainers; [ lovek323 raskin worldofpeace ];
     platforms   = platforms.unix;
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/glib/setup-hook.sh b/nixpkgs/pkgs/development/libraries/glib/setup-hook.sh
index a1cb1f40c58a..37c750b8db66 100644
--- a/nixpkgs/pkgs/development/libraries/glib/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/glib/setup-hook.sh
@@ -1,9 +1,11 @@
 
 make_glib_find_gsettings_schemas() {
     # For packages that need gschemas of other packages (e.g. empathy)
-    if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
-        addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
-    fi
+    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
 }
 addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
 
diff --git a/nixpkgs/pkgs/development/libraries/glib/split-dev-programs.patch b/nixpkgs/pkgs/development/libraries/glib/split-dev-programs.patch
new file mode 100644
index 000000000000..9d3989a30a54
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/glib/split-dev-programs.patch
@@ -0,0 +1,154 @@
+diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
+index 121e9e6bb..b76fa0188 100644
+--- a/gio/gdbus-2.0/codegen/meson.build
++++ b/gio/gdbus-2.0/codegen/meson.build
+@@ -16,7 +16,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir)
+ # Install gdbus-codegen executable
+ gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
+   output : 'gdbus-codegen',
+-  install_dir : get_option('bindir'),
++  install_dir : get_option('devbindir'),
+   configuration : gdbus_codegen_conf
+ )
+   # Provide tools for others when we're a subproject and they use the Meson GNOME module
+diff --git a/gio/meson.build b/gio/meson.build
+index 9a9e621b3..12e1d146a 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -830,14 +830,15 @@ pkg.generate(libgio,
+   variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')),
+                'schemasdir=' + join_paths('${datadir}', schemas_subdir),
+                'bindir=' + join_paths('${prefix}', get_option('bindir')),
++               'devbindir=' + get_option('devbindir'),
+                'giomoduledir=' + giomodulesdir,
+                'gio=' + join_paths('${bindir}', 'gio'),
+-               'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'),
+-               'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+-               'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
++               'gio_querymodules=' + join_paths('${devbindir}', 'gio-querymodules'),
++               'glib_compile_schemas=' + join_paths('${devbindir}', 'glib-compile-schemas'),
++               'glib_compile_resources=' + join_paths('${devbindir}', 'glib-compile-resources'),
+                'gdbus=' + join_paths('${bindir}', 'gdbus'),
+-               'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
+-               'gresource=' + join_paths('${bindir}', 'gresource'),
++               'gdbus_codegen=' + join_paths('${devbindir}', 'gdbus-codegen'),
++               'gresource=' + join_paths('${devbindir}', 'gresource'),
+                'gsettings=' + join_paths('${bindir}', 'gsettings')],
+   version : glib_version,
+   install_dir : glib_pkgconfigreldir,
+@@ -938,12 +939,14 @@ executable('gio', gio_tool_sources,
+ 
+ executable('gresource', 'gresource-tool.c',
+   install : true,
++  install_dir : get_option('devbindir'),
+   # intl.lib is not compatible with SAFESEH
+   link_args : noseh_link_args,
+   dependencies : [libelf, libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+ 
+ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
+   install : true,
++  install_dir : get_option('devbindir'),
+   c_args : gio_c_args,
+   # intl.lib is not compatible with SAFESEH
+   link_args : noseh_link_args,
+@@ -952,6 +955,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+ glib_compile_schemas = executable('glib-compile-schemas',
+   [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-schemas.c'],
+   install : true,
++  install_dir : get_option('devbindir'),
+   # intl.lib is not compatible with SAFESEH
+   link_args : noseh_link_args,
+   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+@@ -959,6 +963,7 @@ glib_compile_schemas = executable('glib-compile-schemas',
+ glib_compile_resources = executable('glib-compile-resources',
+   [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-resources.c'],
+   install : true,
++  install_dir : get_option('devbindir'),
+   c_args : gio_c_args,
+   # intl.lib is not compatible with SAFESEH
+   link_args : noseh_link_args,
+diff --git a/glib/meson.build b/glib/meson.build
+index 91a48f194..80472a06b 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -375,9 +375,10 @@ pkg.generate(libglib,
+   subdirs : ['glib-2.0'],
+   extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
+   variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
+-               'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
+-               'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
+-               'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
++               'devbindir=' + get_option('devbindir'),
++               'glib_genmarshal=' + join_paths('${devbindir}', 'glib-genmarshal'),
++               'gobject_query=' + join_paths('${devbindir}', 'gobject-query'),
++               'glib_mkenums=' + join_paths('${devbindir}', 'glib-mkenums')],
+   version : glib_version,
+   install_dir : glib_pkgconfigreldir,
+   filebase : 'glib-2.0',
+@@ -413,6 +414,7 @@ if host_system == 'windows'
+ else
+   gtester = executable('gtester', 'gtester.c',
+     install : true,
++    install_dir : get_option('devbindir'),
+     c_args : ['-UG_DISABLE_ASSERT'],
+     include_directories : configinc,
+     dependencies : [libglib_dep])
+@@ -424,7 +426,7 @@ report_conf.set('PYTHON', python_name)
+ configure_file(
+   input: 'gtester-report.in',
+   output: 'gtester-report',
+-  install_dir: get_option('bindir'),
++  install_dir: get_option('devbindir'),
+   configuration: report_conf,
+   install_mode: 'rwxr-xr-x'
+ )
+diff --git a/gobject/meson.build b/gobject/meson.build
+index c7805c556..22ec629a4 100644
+--- a/gobject/meson.build
++++ b/gobject/meson.build
+@@ -75,7 +75,7 @@ foreach tool: python_tools
+     input : tool + '.in',
+     output : tool,
+     configuration : python_tools_conf,
+-    install_dir : glib_bindir,
++    install_dir : get_option('devbindir'),
+   )
+ 
+   # Set variables for later use
+@@ -145,6 +145,7 @@ libgobject_dep = declare_dependency(link_with : libgobject,
+ 
+ executable('gobject-query', 'gobject-query.c',
+   install : true,
++  install_dir : get_option('devbindir'),
+   dependencies : [libglib_dep, libgobject_dep])
+ 
+ install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
+diff --git a/meson.build b/meson.build
+index 717d1bccb..fb0bee8a1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2118,7 +2118,7 @@ if have_sh
+   gettextize_conf.set('datarootdir', glib_datadir)
+   gettextize_conf.set('datadir', glib_datadir)
+   configure_file(input : 'glib-gettextize.in',
+-    install_dir : glib_bindir,
++    install_dir : get_option('devbindir'),
+     output : 'glib-gettextize',
+     configuration : gettextize_conf)
+ endif
+diff --git a/meson_options.txt b/meson_options.txt
+index 2c831e37e..5d8928577 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,11 @@ option('runtime_libdir',
+        value : '',
+        description : 'install runtime libraries relative to libdir')
+ 
++option('devbindir',
++       type : 'string',
++       value : '',
++       description : 'bindir for development tools')
++
+ option('iconv',
+        type : 'combo',
+        choices : ['auto', 'libc', 'external'],
diff --git a/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch b/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
new file mode 100644
index 000000000000..2c558f53b735
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
@@ -0,0 +1,18 @@
+Adapted from https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=4d5cfeb510125345cb41431afc9022492994cffa, omitting changes to NEWS
+diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+index 1943691..ac694c0 100644
+--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
++++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+@@ -31,7 +31,8 @@
+    environment variable, LD_PREFER_MAP_32BIT_EXEC.  */
+ #define EXTRA_LD_ENVVARS \
+   case 21:								  \
+-    if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
++    if (!__libc_enable_secure						  \
++	&& memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
+       GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
+ 	|= bit_arch_Prefer_MAP_32BIT_EXEC;				  \
+     break;
+-- 
+2.9.3
+
diff --git a/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11236.patch b/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11236.patch
new file mode 100644
index 000000000000..db86e7146f28
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11236.patch
@@ -0,0 +1,146 @@
+From 5460617d1567657621107d895ee2dd83bc1f88f2 Mon Sep 17 00:00:00 2001
+From: Paul Pluzhnikov <ppluzhnikov@google.com>
+Date: Tue, 8 May 2018 18:12:41 -0700
+Subject: [PATCH] Fix BZ 22786: integer addition overflow may cause stack
+ buffer overflow when realpath() input length is close to SSIZE_MAX.
+
+2018-05-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	[BZ #22786]
+	* stdlib/canonicalize.c (__realpath): Fix overflow in path length
+	computation.
+	* stdlib/Makefile (test-bz22786): New test.
+	* stdlib/test-bz22786.c: New test.
+---
+ ChangeLog             |  8 +++++
+ stdlib/Makefile       |  2 +-
+ stdlib/canonicalize.c |  2 +-
+ stdlib/test-bz22786.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 100 insertions(+), 2 deletions(-)
+ create mode 100644 stdlib/test-bz22786.c
+
+diff --git a/stdlib/Makefile b/stdlib/Makefile
+index af1643c..1ddb1f9 100644
+--- a/stdlib/Makefile
++++ b/stdlib/Makefile
+@@ -84,7 +84,7 @@ tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv   \
+ 		   tst-cxa_atexit tst-on_exit test-atexit-race 		    \
+ 		   test-at_quick_exit-race test-cxa_atexit-race             \
+ 		   test-on_exit-race test-dlclose-exit-race 		    \
+-		   tst-makecontext-align
++		   tst-makecontext-align test-bz22786
+ 
+ tests-internal	:= tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
+ 		   tst-tls-atexit tst-tls-atexit-nodelete
+diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
+index 4135f3f..390fb43 100644
+--- a/stdlib/canonicalize.c
++++ b/stdlib/canonicalize.c
+@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved)
+ 		extra_buf = __alloca (path_max);
+ 
+ 	      len = strlen (end);
+-	      if ((long int) (n + len) >= path_max)
++	      if (path_max - n <= len)
+ 		{
+ 		  __set_errno (ENAMETOOLONG);
+ 		  goto error;
+diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
+new file mode 100644
+index 0000000..e7837f9
+--- /dev/null
++++ b/stdlib/test-bz22786.c
+@@ -0,0 +1,90 @@
++/* Bug 22786: test for buffer overflow in realpath.
++   Copyright (C) 2018 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++/* This file must be run from within a directory called "stdlib".  */
++
++#include <errno.h>
++#include <limits.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <sys/stat.h>
++#include <sys/types.h>
++#include <support/test-driver.h>
++#include <libc-diag.h>
++
++static int
++do_test (void)
++{
++  const char dir[] = "bz22786";
++  const char lnk[] = "bz22786/symlink";
++
++  rmdir (dir);
++  if (mkdir (dir, 0755) != 0 && errno != EEXIST)
++    {
++      printf ("mkdir %s: %m\n", dir);
++      return EXIT_FAILURE;
++    }
++  if (symlink (".", lnk) != 0 && errno != EEXIST)
++    {
++      printf ("symlink (%s, %s): %m\n", dir, lnk);
++      return EXIT_FAILURE;
++    }
++
++  const size_t path_len = (size_t) INT_MAX + 1;
++
++  DIAG_PUSH_NEEDS_COMMENT;
++#if __GNUC_PREREQ (7, 0)
++  /* GCC 7 warns about too-large allocations; here we need such
++     allocation to succeed for the test to work.  */
++  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
++#endif
++  char *path = malloc (path_len);
++  DIAG_POP_NEEDS_COMMENT;
++
++  if (path == NULL)
++    {
++      printf ("malloc (%zu): %m\n", path_len);
++      return EXIT_UNSUPPORTED;
++    }
++
++  /* Construct very long path = "bz22786/symlink/aaaa....."  */
++  char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
++  *(p++) = '/';
++  memset (p, 'a', path_len - (path - p) - 2);
++  p[path_len - (path - p) - 1] = '\0';
++
++  /* This call crashes before the fix for bz22786 on 32-bit platforms.  */
++  p = realpath (path, NULL);
++
++  if (p != NULL || errno != ENAMETOOLONG)
++    {
++      printf ("realpath: %s (%m)", p);
++      return EXIT_FAILURE;
++    }
++
++  /* Cleanup.  */
++  unlink (lnk);
++  rmdir (dir);
++
++  return 0;
++}
++
++#define TEST_FUNCTION do_test
++#include <support/test-driver.c>
+-- 
+2.9.3
+
diff --git a/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11237.patch b/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11237.patch
new file mode 100644
index 000000000000..ffc2cec1d577
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/glibc/CVE-2018-11237.patch
@@ -0,0 +1,55 @@
+From f51c8367685dc888a02f7304c729ed5277904aff Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Thu, 24 May 2018 14:39:18 +0200
+Subject: [PATCH] Don't write beyond destination in
+ __mempcpy_avx512_no_vzeroupper (bug 23196)
+
+When compiled as mempcpy, the return value is the end of the destination
+buffer, thus it cannot be used to refer to the start of it.
+
+(cherry picked from commit 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e)
+---
+ ChangeLog                                               | 9 +++++++++
+ NEWS                                                    | 7 +++++++
+ string/test-mempcpy.c                                   | 1 +
+ sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S | 5 +++--
+ 4 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
+index c08fba8..d98ecdd 100644
+--- a/string/test-mempcpy.c
++++ b/string/test-mempcpy.c
+@@ -18,6 +18,7 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #define MEMCPY_RESULT(dst, len) (dst) + (len)
++#define MIN_PAGE_SIZE 131072
+ #define TEST_MAIN
+ #define TEST_NAME "mempcpy"
+ #include "test-string.h"
+diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
+index 23c0f7a..effc3ac 100644
+--- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
++++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
+@@ -336,6 +336,7 @@ L(preloop_large):
+ 	vmovups	(%rsi), %zmm4
+ 	vmovups	0x40(%rsi), %zmm5
+ 
++	mov	%rdi, %r11
+ /* Align destination for access with non-temporal stores in the loop.  */
+ 	mov	%rdi, %r8
+ 	and	$-0x80, %rdi
+@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
+ 	cmp	$256, %rdx
+ 	ja	L(gobble_256bytes_nt_loop)
+ 	sfence
+-	vmovups	%zmm4, (%rax)
+-	vmovups	%zmm5, 0x40(%rax)
++	vmovups	%zmm4, (%r11)
++	vmovups	%zmm5, 0x40(%r11)
+ 	jmp	L(check)
+ 
+ L(preloop_large_bkw):
+-- 
+2.9.3
+
diff --git a/nixpkgs/pkgs/development/libraries/glibc/common.nix b/nixpkgs/pkgs/development/libraries/glibc/common.nix
index 8e8e445f0173..32be2205bcc1 100644
--- a/nixpkgs/pkgs/development/libraries/glibc/common.nix
+++ b/nixpkgs/pkgs/development/libraries/glibc/common.nix
@@ -92,13 +92,21 @@ stdenv.mkDerivation ({
         url = "https://salsa.debian.org/glibc-team/glibc/raw/49767c9f7de4828220b691b29de0baf60d8a54ec/debian/patches/localedata/locale-C.diff";
         sha256 = "0irj60hs2i91ilwg5w7sqrxb695c93xg0ik7yhhq9irprd7fidn4";
       })
+
+      # https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5460617d1567657621107d895ee2dd83bc1f88f2
+      ./CVE-2018-11236.patch
+      # https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f51c8367685dc888a02f7304c729ed5277904aff
+      ./CVE-2018-11237.patch
+    ]
+    ++ lib.optionals stdenv.isx86_64 [
+      ./fix-x64-abi.patch
+      ./2.27-CVE-2019-19126.patch
     ]
-    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
     ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
     ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
 
     # Remove after upgrading to glibc 2.28+
-    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) (fetchpatch {
+    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform || stdenv.hostPlatform.isMusl) (fetchpatch {
       url = "https://sourceware.org/git/?p=glibc.git;a=patch;h=780684eb04298977bc411ebca1eadeeba4877833";
       name = "correct-pwent-parsing-issue-and-resulting-build.patch";
       sha256 = "08fja894vzaj8phwfhsfik6jj2pbji7kypy3q8pgxvsd508zdv1q";
diff --git a/nixpkgs/pkgs/development/libraries/glibc/default.nix b/nixpkgs/pkgs/development/libraries/glibc/default.nix
index eda71af59783..1a17595a1a32 100644
--- a/nixpkgs/pkgs/development/libraries/glibc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glibc/default.nix
@@ -5,6 +5,14 @@
 , buildPackages
 }:
 
+let
+  gdCflags = [
+    "-Wno-error=stringop-truncation"
+    "-Wno-error=missing-attributes"
+    "-Wno-error=array-bounds"
+  ];
+in
+
 callPackage ./common.nix { inherit stdenv; } {
     name = "glibc" + stdenv.lib.optionalString withGd "-gd";
 
@@ -40,7 +48,21 @@ callPackage ./common.nix { inherit stdenv; } {
     #      limit rebuilds by only disabling pie w/musl
       ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
 
-    NIX_CFLAGS_COMPILE = if withGd then "-Wno-error=stringop-truncation" else null;
+    NIX_CFLAGS_COMPILE = stdenv.lib.concatStringsSep " "
+      (if !stdenv.hostPlatform.isMusl
+        # TODO: This (returning a string or `null`, instead of a list) is to
+        #       not trigger a mass rebuild due to the introduction of the
+        #       musl-specific flags below.
+        #       At next change to non-musl glibc builds, remove this `then`
+        #       and the above condition, instead keeping only the `else` below.
+        then (stdenv.lib.optionals withGd gdCflags)
+        else
+          (builtins.concatLists [
+            (stdenv.lib.optionals withGd gdCflags)
+            # Fix -Werror build failure when building glibc with musl with GCC >= 8, see:
+            # https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798
+            (stdenv.lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias")
+          ]));
 
     # When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
     # any program we run, because the gcc will have been placed at a new
diff --git a/nixpkgs/pkgs/development/libraries/glibmm/default.nix b/nixpkgs/pkgs/development/libraries/glibmm/default.nix
index 829dca04c18c..18963e31b6e2 100644
--- a/nixpkgs/pkgs/development/libraries/glibmm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.60.0";
+  version = "2.62.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3";
+    sha256 = "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/glm/default.nix b/nixpkgs/pkgs/development/libraries/glm/default.nix
index e7d4c934db81..d39d6f0d7a36 100644
--- a/nixpkgs/pkgs/development/libraries/glm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glm/default.nix
@@ -27,9 +27,7 @@ stdenv.mkDerivation rec {
     cp ${gcc7PlatformPatch} glm/simd/platform.h
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
-    "-DGLM_COMPILER=0"
-  ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-DGLM_COMPILER=0";
 
   postInstall = ''
     mkdir -p $doc/share/doc/glm
@@ -46,7 +44,7 @@ stdenv.mkDerivation rec {
     homepage = http://glm.g-truc.net/;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/glog/default.nix b/nixpkgs/pkgs/development/libraries/glog/default.nix
index 6aa300e2b627..7809dc088427 100644
--- a/nixpkgs/pkgs/development/libraries/glog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glog/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, perl }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, perl, static ? false }:
 
 stdenv.mkDerivation rec {
   pname = "glog";
@@ -11,13 +11,24 @@ stdenv.mkDerivation rec {
     sha256 = "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  patches = lib.optionals stdenv.hostPlatform.isMusl [
+    # TODO: Remove at next release that includes this commit.
+    (fetchpatch {
+      name = "glog-Fix-symbolize_unittest-for-musl-builds.patch";
+      url = "https://github.com/google/glog/commit/834dd780bf1fe0704b8ed0350ca355a55f711a9f.patch";
+      sha256 = "0k4lanxg85anyvjsj3mh93bcgds8gizpiamcy2zvs3yyfjl40awn";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" ];
 
   checkInputs = [ perl ];
   doCheck = false; # fails with "Mangled symbols (28 out of 380) found in demangle.dm"
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/google/glog;
+    homepage = "https://github.com/google/glog";
     license = licenses.bsd3;
     description = "Library for application-level logging";
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/gloox/default.nix b/nixpkgs/pkgs/development/libraries/gloox/default.nix
index 51e981a2a338..3343c78bea1c 100644
--- a/nixpkgs/pkgs/development/libraries/gloox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gloox/default.nix
@@ -11,7 +11,7 @@ assert idnSupport -> libidn != null;
 with stdenv.lib;
 
 let
-  version = "1.0.22";
+  version = "1.0.23";
 in
 stdenv.mkDerivation {
   pname = "gloox";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "0r69gq8if9yy1amjzl7qrq9lzhhna7qgz905ln4wvkwchha1ppja";
+    sha256 = "12jz8glg9zmyk0iyv1ywf5i0hq93dfq8lvn6lyjgy8730w66mjwp";
   };
 
   buildInputs = [ ]
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     description = "A portable high-level Jabber/XMPP library for C++";
     homepage = http://camaya.net/gloox;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/glui/default.nix b/nixpkgs/pkgs/development/libraries/glui/default.nix
index 59357bf6fb1b..d84a9227c3b8 100644
--- a/nixpkgs/pkgs/development/libraries/glui/default.nix
+++ b/nixpkgs/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];
-  preConfigure = ''cd src'';
+{ stdenv
+, fetchFromGitHub
+, freeglut
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXi
+, libXmu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "glui";
+  version = "2.37";
+
+  src = fetchFromGitHub {
+    owner = "libglui";
+    repo = "glui";
+    rev = version;
+    sha256 = "0qg2y8w95s03zay1qsqs8pqxxlg6l9kwm7rrs1qmx0h22sxb360i";
+  };
+
+  buildInputs = [ freeglut libGLU libGL libXmu libXext libX11 libXi ];
+
   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/nixpkgs/pkgs/development/libraries/gmime/3.nix b/nixpkgs/pkgs/development/libraries/gmime/3.nix
index 81546e5c1272..754d5aa74114 100644
--- a/nixpkgs/pkgs/development/libraries/gmime/3.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gmp/6.x.nix b/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
index d9ea5a71dd30..4b35f7828fe0 100644
--- a/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
@@ -37,7 +37,9 @@ let self = stdenv.mkDerivation rec {
     "--build=${stdenv.buildPlatform.config}"
   ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
     ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64"
-    ++ optional (with stdenv.hostPlatform; (useAndroidPrebuilt || useiOSPrebuilt) && !isx86) "--disable-assembly"
+    # to build a .dll on windows, we need --disable-static + --enable-shared
+    # see https://gmplib.org/manual/Notes-for-Particular-Systems.html
+    ++ optional (!withStatic && stdenv.hostPlatform.isWindows) "--disable-static --enable-shared"
     ;
 
   doCheck = true; # not cross;
diff --git a/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix b/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix
index 9ae4a572d93b..adbb714c7b29 100644
--- a/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix
@@ -1,43 +1,94 @@
-{ stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk3, wrapGAppsHook
-, webkitgtk, json-glib, librest, libsecret, gtk-doc, gobject-introspection
-, gettext, icu, glib-networking, hicolor-icon-theme
-, libsoup, docbook_xsl, docbook_xml_dtd_412, gnome3, gcr, kerberos
+{ stdenv
+, fetchFromGitLab
+, pkgconfig
+, vala
+, glib
+, meson
+, ninja
+, python3
+, libxslt
+, gtk3
+, webkitgtk
+, json-glib
+, librest
+, libsecret
+, gtk-doc
+, gobject-introspection
+, gettext
+, icu
+, glib-networking
+, libsoup
+, docbook_xsl
+, docbook_xml_dtd_412
+, gnome3
+, gcr
+, kerberos
+, gvfs
+, dbus
+, wrapGAppsHook
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "gnome-online-accounts";
-  version = "3.32.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "3.34.1";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1anlx0rb2hafg9929pgfms25mdz23sd0vdva06h6zlf8f5byc68w";
+  # https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/87
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "gnome-online-accounts";
+    rev = version;
+    sha256 = "0ry06qw068rqn4y42953kwl6fkxpgfya58y87cd3zink6gj7q0fm";
   };
 
   outputs = [ "out" "man" "dev" "devdoc" ];
 
-  configureFlags = [
-    "--enable-media-server"
-    "--enable-kerberos"
-    "--enable-lastfm"
-    "--enable-todoist"
-    "--enable-gtk-doc"
-    "--enable-documentation"
+  mesonFlags = [
+    "-Dfedora=false" # not useful in NixOS or for NixOS users.
+    "-Dgtk_doc=true"
+    "-Dlastfm=true"
+    "-Dman=true"
+    "-Dmedia_server=true"
   ];
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [
-    pkgconfig gobject-introspection vala gettext wrapGAppsHook
-    libxslt docbook_xsl docbook_xml_dtd_412 gtk-doc
-    hicolor-icon-theme # for setup-hook
+    dbus # used for checks and pkgconfig to install dbus service/s
+    docbook_xml_dtd_412
+    docbook_xsl
+    gettext
+    gobject-introspection
+    gtk-doc
+    libxslt
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gtk3 webkitgtk json-glib librest libsecret glib-networking icu libsoup
-    gcr kerberos
+    gcr
+    glib
+    glib-networking
+    gtk3
+    gvfs # OwnCloud, Google Drive
+    icu
+    json-glib
+    kerberos
+    librest
+    libsecret
+    libsoup
+    webkitgtk
   ];
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -46,7 +97,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    homepage = "https://wiki.gnome.org/Projects/GnomeOnlineAccounts";
+    description = "Single sign-on framework for GNOME";
     platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gnu-efi/default.nix b/nixpkgs/pkgs/development/libraries/gnu-efi/default.nix
index af225cc50f24..b5b8add2db52 100644
--- a/nixpkgs/pkgs/development/libraries/gnu-efi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnu-efi/default.nix
@@ -1,28 +1,33 @@
-{ stdenv, fetchurl, pciutils }: with stdenv.lib;
+{ stdenv, buildPackages, fetchurl, fetchpatch, pciutils }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gnu-efi";
-  version = "3.0.9";
+  version = "3.0.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${pname}-${version}.tar.bz2";
-    sha256 = "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7";
+    sha256 = "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj";
   };
 
+  patches = [
+    # Fix build on armv6l
+    (fetchpatch {
+      url = "https://sourceforge.net/p/gnu-efi/patches/_discuss/thread/25bb273a18/9c4d/attachment/0001-Fix-ARCH-on-armv6-and-other-32-bit-ARM-platforms.patch";
+      sha256 = "0pj03h20g2bbz6fr753bj1scry6919h57l1h86z3b6q7hqfj0b4r";
+    })
+  ];
+
   buildInputs = [ pciutils ];
 
   hardeningDisable = [ "stackprotector" ];
 
   makeFlags = [
     "PREFIX=\${out}"
-    "CC=${stdenv.cc.targetPrefix}gcc"
-    "AS=${stdenv.cc.targetPrefix}as"
-    "LD=${stdenv.cc.targetPrefix}ld"
-    "AR=${stdenv.cc.targetPrefix}ar"
-    "RANLIB=${stdenv.cc.targetPrefix}ranlib"
-    "OBJCOPY=${stdenv.cc.targetPrefix}objcopy"
-  ] ++ stdenv.lib.optional stdenv.isAarch32 "ARCH=arm"
-    ++ stdenv.lib.optional stdenv.isAarch64 "ARCH=aarch64";
+    "HOSTCC=${buildPackages.stdenv.cc.targetPrefix}cc"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+  ];
 
   meta = with stdenv.lib; {
     description = "GNU EFI development toolchain";
diff --git a/nixpkgs/pkgs/development/libraries/gnutls-kdh/generic.nix b/nixpkgs/pkgs/development/libraries/gnutls-kdh/generic.nix
index cb81b52b7301..6079387fc720 100644
--- a/nixpkgs/pkgs/development/libraries/gnutls-kdh/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/gnutls-kdh/generic.nix
@@ -90,5 +90,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ leenaars ];
     platforms = platforms.all;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gnutls/default.nix b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
index 1b17f4c800f5..deef141c5dfe 100644
--- a/nixpkgs/pkgs/development/libraries/gnutls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
@@ -1,6 +1,6 @@
 { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
 , perl, gmp, autoconf, autogen, automake, libidn, p11-kit, libiconv
-, unbound, dns-root-data, gettext, cacert
+, unbound, dns-root-data, gettext, cacert, utillinux
 , guileBindings ? config.gnutls.guile or false, guile
 , tpmSupport ? false, trousers, which, nettools, libunistring
 , withSecurity ? false, Security  # darwin Security.framework
@@ -8,7 +8,7 @@
 
 assert guileBindings -> guile != null;
 let
-  version = "3.6.9";
+  version = "3.6.11.1";
 
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
-    sha256 = "1jqz5s3lv8sa53348cfi9nr5pw5l55n8m40b8msdvv0pb2jzqca3";
+    sha256 = "1y1wadpsrj5ai603xv5bgssl9v0pb1si2hg14zqdnmcsvgri5fpv";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ perl pkgconfig ]
     ++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ]
-    ++ lib.optionals doCheck [ which nettools ];
+    ++ lib.optionals doCheck [ which nettools utillinux ];
 
   propagatedBuildInputs = [ nettle ];
 
diff --git a/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix b/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix
index 43695d8db585..81df734a2ce3 100644
--- a/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix
@@ -9,7 +9,7 @@
 
 let
   pname = "gobject-introspection";
-  version = "1.60.2";
+  version = "1.62.0";
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "172ymc1vbg2rclq1rszx4y32vm900nn1mc4qg1a4mqxjiwvf5pzz";
+    sha256 = "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/goffice/default.nix b/nixpkgs/pkgs/development/libraries/goffice/default.nix
index a18bdb177449..f41fa73a6ef4 100644
--- a/nixpkgs/pkgs/development/libraries/goffice/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gom/default.nix b/nixpkgs/pkgs/development/libraries/gom/default.nix
index 9a947c3ff828..e006f8cd6f8e 100644
--- a/nixpkgs/pkgs/development/libraries/gom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gom/default.nix
@@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
     "-Dpygobject-override-dir=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
   ];
 
-  doCheck = true;
+  # Success is more likely on x86_64
+  doCheck = stdenv.isx86_64;
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/nixpkgs/pkgs/development/libraries/google-cloud-cpp/default.nix b/nixpkgs/pkgs/development/libraries/google-cloud-cpp/default.nix
index 7dd075e440e5..be7132dc845b 100644
--- a/nixpkgs/pkgs/development/libraries/google-cloud-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/google-cloud-cpp/default.nix
@@ -1,65 +1,62 @@
-{ stdenv, grpc, curl, cmake, pkgconfig, fetchFromGitHub, doxygen, protobuf, crc32c, c-ares, nlohmann_json, fetchurl }:
+{ stdenv, clang-tools, grpc, curl, cmake, pkgconfig, fetchFromGitHub, doxygen, protobuf, crc32c, c-ares, fetchurl, openssl, zlib }:
 let
-  googleapis_rev = "a8ee1416f4c588f2ab92da72e7c1f588c784d3e6";
-  googleapis = fetchurl {
-    name = "${googleapis_rev}.tar.gz";
-    url = "https://github.com/googleapis/googleapis/archive/${googleapis_rev}.tar.gz";
-    sha256 = "1kxi27r034p7jfldhvgpbn6rqqqddycnja47m6jyjxj4rcmrp2kb";
+  googleapis = fetchFromGitHub {
+    owner = "googleapis";
+    repo = "googleapis";
+    rev = "9c9f778aedde02f9826d2ae5d0f9c96409ba0f25";
+    sha256 = "1gd3nwv8qf503wy6km0ad6akdvss9w5b1k3jqizy5gah1fkirkpi";
+  };
+  googleapis-cpp-cmakefiles = stdenv.mkDerivation rec {
+    pname = "googleapis-cpp-cmakefiles";
+    version = "0.1.5";
+    src = fetchFromGitHub {
+      owner = "googleapis";
+      repo = "cpp-cmakefiles";
+      rev = "v${version}";
+      sha256 = "02zkcq2wl831ayd9qy009xvfx7q80pgycx7mzz9vknwd0nn6dd0n";
+    };
+
+    nativeBuildInputs = [ cmake pkgconfig ];
+    buildInputs = [ c-ares c-ares.cmake-config grpc openssl protobuf zlib ];
+
+    postPatch = ''
+      sed -e 's,https://github.com/googleapis/googleapis/archive/9c9f778aedde02f9826d2ae5d0f9c96409ba0f25.tar.gz,file://${googleapis},' \
+      -i CMakeLists.txt
+    '';
+  };
+  _nlohmann_json = fetchurl {
+    url = "https://github.com/nlohmann/json/releases/download/v3.4.0/json.hpp";
+    sha256 = "0pw3jpi572irbp2dqclmyhgic6k9rxav5mpp9ygbp9xj48gnvnk3";
   };
 in stdenv.mkDerivation rec {
   pname = "google-cloud-cpp";
-  version = "0.11.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "google-cloud-cpp";
     rev = "v${version}";
-    sha256 = "1w942gzyv01ym1cv2a417x92zxra9s2v3xz5crcv84j919f616f8";
+    sha256 = "15wci4m8h6py7fqfziq8mp5m6pxp2h1cbh5rp2k90mk5js4jb9pa";
   };
 
-  buildInputs = [ curl grpc protobuf nlohmann_json crc32c c-ares c-ares.cmake-config ];
-  nativeBuildInputs = [ cmake pkgconfig doxygen ];
+  buildInputs = [ curl crc32c c-ares c-ares.cmake-config googleapis-cpp-cmakefiles grpc protobuf ];
+  nativeBuildInputs = [ clang-tools cmake pkgconfig doxygen ];
 
   outputs = [ "out" "dev" ];
 
   postPatch = ''
-    NLOHMANN_SHA256=$(sha256sum ${nlohmann_json}/include/nlohmann/json.hpp | cut -f1 -d' ')
-    sed -e 's,https://github.com/nlohmann/json/releases/download/.*,file://${nlohmann_json}/include/nlohmann/json.hpp"),' \
-        -e "s,JSON_SHA256 .*,JSON_SHA256 ''${NLOHMANN_SHA256}," \
-        -i cmake/DownloadNlohmannJson.cmake
-
-    sed -e 's,https://github.com/googleapis/googleapis/archive/${googleapis_rev}.tar.gz,file://${googleapis},' \
-        -i cmake/external/googleapis.cmake
-
-    # Fixup the library path. It would build a path like /build/external//nix/store/…-foo/lib/foo.so for each library instead of /build/external/lib64/foo.so
-    sed -e 's,''${CMAKE_INSTALL_LIBDIR},lib64,g' \
-        -e 's,;lib64,lib,g' \
-        -i cmake/ExternalProjectHelper.cmake
-  '';
-
-  preFixup = ''
-    mv --no-clobber $out/lib64/cmake/* $out/lib/cmake
-    mv --no-clobber $out/lib64/pkgconfig/* $out/lib/pkgconfig
-    rmdir $out/lib64/cmake $out/lib64/pkgconfig
-    find $out/lib64
-
-    for file in $out/lib/pkgconfig/*; do
-      sed -e 's,\''${prefix}//,/,g' -i $file
-    done
+    sed -e 's,https://github.com/nlohmann/json/releases/download/v3.4.0/json.hpp,file://${_nlohmann_json},' \
+    -i cmake/DownloadNlohmannJson.cmake
   '';
 
   cmakeFlags = [
-    "-DGOOGLE_CLOUD_CPP_BIGTABLE_ENABLE_INSTALL=no"
-    "-DGOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER=package"
-    "-DGOOGLE_CLOUD_CPP_GOOGLEAPIS_PROVIDER=external"
     "-DBUILD_SHARED_LIBS:BOOL=ON"
-    "-DGOOGLE_CLOUD_CPP_INSTALL_RPATH=$(out)/lib"
   ];
 
   meta = with stdenv.lib; {
     license = with licenses; [ asl20 ];
     homepage = https://github.com/googleapis/google-cloud-cpp;
     description = "C++ Idiomatic Clients for Google Cloud Platform services";
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ andir flokli ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gperftools/default.nix b/nixpkgs/pkgs/development/libraries/gperftools/default.nix
index bc10c9f9bdd6..0e9857549850 100644
--- a/nixpkgs/pkgs/development/libraries/gperftools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gperftools/default.nix
@@ -16,9 +16,8 @@ stdenv.mkDerivation rec {
     substituteInPlace libtool --replace stdc++ c++
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
-    "-D_XOPEN_SOURCE" "-Wno-aligned-allocation-unavailable"
-  ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
+    "-D_XOPEN_SOURCE -Wno-aligned-allocation-unavailable";
 
   # some packages want to link to the static tcmalloc_minimal
   # to drop the runtime dependency on gperftools
diff --git a/nixpkgs/pkgs/development/libraries/gpgme/default.nix b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
index 26d5e9c88c75..ed2b5563bd37 100644
--- a/nixpkgs/pkgs/development/libraries/gpgme/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
@@ -47,12 +47,12 @@ stdenv.mkDerivation rec {
   # fit in the limit. https://github.com/NixOS/nix/pull/1085
     ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ];
 
-  NIX_CFLAGS_COMPILE =
+  NIX_CFLAGS_COMPILE = toString (
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
     # debugging is disabled
     lib.optional (qtbase != null) "-DQT_NO_DEBUG"
     # https://www.gnupg.org/documentation/manuals/gpgme/Largefile-Support-_0028LFS_0029.html
-    ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64";
+    ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64");
 
   checkInputs = [ which ];
 
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ lgpl21Plus gpl3Plus ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu primeos ];
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 66c5d8eb061a..be32a74ea45a 100644
--- a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ ris ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/graphene/default.nix b/nixpkgs/pkgs/development/libraries/graphene/default.nix
index f1a9dacd4e2b..e540604c9cb9 100644
--- a/nixpkgs/pkgs/development/libraries/graphene/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests = {
-      installedTests = nixosTests.graphene;
+      installedTests = nixosTests.installed-tests.graphene;
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/grib-api/default.nix b/nixpkgs/pkgs/development/libraries/grib-api/default.nix
index 38243ce5a6d8..0c9e4bf31563 100644
--- a/nixpkgs/pkgs/development/libraries/grib-api/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch b/nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch
new file mode 100644
index 000000000000..cb6a1a354945
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch
@@ -0,0 +1,13 @@
+diff --git a/src/chromaprint/grl-chromaprint.c b/src/chromaprint/grl-chromaprint.c
+index 5a3598b..8979291 100644
+--- a/src/chromaprint/grl-chromaprint.c
++++ b/src/chromaprint/grl-chromaprint.c
+@@ -111,6 +111,8 @@
+ 
+   gst_init (NULL, NULL);
+ 
++  @load_plugins@
++
+   source = grl_chromaprint_source_new ();
+   grl_registry_register_source (registry,
+                                 plugin,
diff --git a/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
index 118a910a1683..ddf29c2dcd8c 100644
--- a/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, substituteAll
 , meson
 , ninja
 , pkgconfig
@@ -16,8 +17,10 @@
 , libgdata
 , libmediaart
 , grilo
+, gst_all_1
 , gnome-online-accounts
 , gmime
+, gom
 , json-glib
 , avahi
 , tracker
@@ -28,13 +31,28 @@
 
 stdenv.mkDerivation rec {
   pname = "grilo-plugins";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1hv84b56qjic8vz8iz46ikhrxx31l29ilbr8dm5qcghbd8ikw8j1";
+    sha256 = "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0";
   };
 
+  patches = [
+    # grl-chromaprint requires the following GStreamer elements:
+    # * fakesink (gstreamer)
+    # * playbin (gst-plugins-base)
+    # * chromaprint (gst-plugins-bad)
+    (substituteAll {
+      src = ./chromaprint-gst-plugins.patch;
+      load_plugins = stdenv.lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
+        gstreamer
+        gst-plugins-base
+        gst-plugins-bad
+      ]);
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -57,11 +75,13 @@ stdenv.mkDerivation rec {
     libarchive
     libsoup
     gmime
+    gom
     json-glib
     avahi
     libmediaart
     tracker
     dleyna-server
+    gst_all_1.gstreamer
   ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/grilo/default.nix b/nixpkgs/pkgs/development/libraries/grilo/default.nix
index b2a7f0bd5aef..79ccc9319720 100644
--- a/nixpkgs/pkgs/development/libraries/grilo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grilo/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, vala, glib, liboauth, gtk3
-, gtk-doc, docbook_xsl, docbook_xml_dtd_43, fetchpatch
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43
 , libxml2, gnome3, gobject-introspection, libsoup, totem-pl-parser }:
 
 let
   pname = "grilo";
-  version = "0.3.9"; # if you change minor, also change ./setup-hook.sh
+  version = "0.3.10"; # if you change minor, also change ./setup-hook.sh
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -13,30 +13,13 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1wnabc69730jsv8dljj5ik8g7p581nw60mw1mkgamkzjcb6821bk";
+    sha256 = "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y";
   };
 
   setupHook = ./setup-hook.sh;
 
   mesonFlags = [
-    "-Dgtk_doc=true"
-  ];
-
-  patches = [
-    # https://gitlab.gnome.org/GNOME/grilo/merge_requests/45
-    # commits are from a separate branch so they shouldn't 404
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/worldofpeace/grilo/commit/f6993c2a8a6c1a6246372569f9f7a9179955c95e.patch";
-      sha256 = "1x4s0ahs60dqyphgv2dy3x2sjnxv5ydd55kdlcjsys5870ijwbi8";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/worldofpeace/grilo/commit/61bca28b141162a33eb2fb575ef1daf0f21c7741.patch";
-      sha256 = "1147xbmaq61myfwxz0pagdv056krfmh1s78qjbiy5k7k203qrjz0";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/worldofpeace/grilo/commit/363b198a062eeb8aaa5489ea9720e69d428e885c.patch";
-      sha256 = "01w1bfzdbnxy5l37b2z7a9h2mrxziqkzdw02dybjphy85nb0hz5w";
-    })
+    "-Denable-gtk-doc=true"
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/grpc/default.nix b/nixpkgs/pkgs/development/libraries/grpc/default.nix
index d45aba1cb378..abcd3abaf309 100644
--- a/nixpkgs/pkgs/development/libraries/grpc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grpc/default.nix
@@ -1,14 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.23.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
+  version = "1.26.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "14svfy7lvz8lf6b7zg1fbypj2n46n9gq0ldgnv85jm0ikv72cgv6";
+    sha256 = "1fxydarl00vbhd9q153qn4ax1yc6xrd8wij6bfy9j8chipw1bgir";
+    fetchSubmodules = true;
   };
+  patches = [
+    # Fix build on armv6l (https://github.com/grpc/grpc/pull/21341)
+    (fetchpatch {
+      url = "https://github.com/grpc/grpc/commit/198d221e775cf73455eeb863672e7a6274d217f1.patch";
+      sha256 = "11k35w6ffvl192rgzzj2hzyzjhizdgk7i56zdkx6v60zxnyfn7yq";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
 
diff --git a/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
index ffb8be85d3ac..ea6e08811afa 100644
--- a/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsettings-desktop-schemas";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gsettings-desktop-schemas/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d";
+    sha256 = "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/gsl/default.nix b/nixpkgs/pkgs/development/libraries/gsl/default.nix
index 1fd086ca23c7..966d6a8ffd5d 100644
--- a/nixpkgs/pkgs/development/libraries/gsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsl/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isx86_64 "-mno-fma";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isx86_64 "-mno-fma";
 
   # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html
   doCheck = stdenv.hostPlatform.system != "i686-linux" && stdenv.hostPlatform.system != "aarch64-linux";
diff --git a/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix b/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
index e5772c8772ec..ae102ac60307 100644
--- a/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
+++ b/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isx86_64 "-mno-fma";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isx86_64 "-mno-fma";
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/libraries/gsmlib/default.nix b/nixpkgs/pkgs/development/libraries/gsmlib/default.nix
new file mode 100644
index 000000000000..88bec83e624f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gsmlib/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+stdenv.mkDerivation rec {
+  pname = "gsmlib";
+  version = "unstable-2017-10-06";
+  src = fetchFromGitHub {
+    owner = "x-logLT";
+    repo = "gsmlib";
+    rev = "4f794b14450132f81673f7d3570c5a859aecf7ae";
+    sha256 = "16v8aj914ac1ipf14a867ljib3gy7fhzd9ypxnsg9l0zi8mm3ml5";
+  };
+  nativeBuildInputs = [ autoreconfHook ];
+  meta = with stdenv.lib; {
+    description = "Library to access GSM mobile phones through GSM modems";
+    homepage = "https://github.com/x-logLT/gsmlib";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gsound/default.nix b/nixpkgs/pkgs/development/libraries/gsound/default.nix
index 337a2472babd..b1869193a093 100644
--- a/nixpkgs/pkgs/development/libraries/gsound/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsound/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libcanberra, gobject-introspection, libtool, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, vala, libcanberra, gobject-introspection, libtool, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gsound";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53";
   };
 
-  nativeBuildInputs = [ pkgconfig gobject-introspection libtool gnome3.vala ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection libtool vala ];
   buildInputs = [ glib libcanberra ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/gspell/default.nix b/nixpkgs/pkgs/development/libraries/gspell/default.nix
index fd6b12ccaac1..8adb6264e375 100644
--- a/nixpkgs/pkgs/development/libraries/gspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gspell/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "gspell";
-  version = "1.8.1";
+  version = "1.8.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1";
+    sha256 = "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv";
   };
 
   propagatedBuildInputs = [ enchant2 ]; # required for pkgconfig
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
index 735ab4e6e18e..9b2d3d0e2470 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,16 +1,40 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
 , config
-, pkgconfig, python3, gst-plugins-base, orc
+, pkgconfig
+, python3
+, gst-plugins-base
+, orc
 , gobject-introspection
 , enableZbar ? true
-, faacSupport ? false, faac ? null
-, faad2, libass, libkate, libmms, librdf, ladspaH
-, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
-, libbs2b, libmodplug, mpeg2dec
-, openjpeg, libopus, librsvg
+, faacSupport ? false
+, faac ? null
+, faad2
+, libass
+, libkate
+, libmms
+, librdf
+, ladspaH
+, libnice
+, webrtc-audio-processing
+, lilv
+, lv2
+, serd
+, sord
+, sratom
+, libbs2b
+, libmodplug
+, mpeg2dec
+, openjpeg
+, libopus
+, librsvg
 , bluez
 , chromaprint
 , curl
+, darwin
 , directfb
 , fdk_aac
 , flite
@@ -27,7 +51,7 @@
 , libusb1
 , neon
 , openal
-, opencv3
+, opencv4
 , openexr
 , openh264
 , pango
@@ -38,10 +62,21 @@
 , srtp
 , zbar
 , wayland-protocols
-, wildmidi, fluidsynth, libvdpau, wayland
-, libwebp, xvidcore, gnutls, mjpegtools
-, libGLU_combined, libintl, libgme
-, openssl, x265, libxml2
+, wildmidi
+, fluidsynth
+, libvdpau
+, wayland
+, libwebp
+, xvidcore
+, gnutls
+, mjpegtools
+, libGLU
+, libGL
+, libintl
+, libgme
+, openssl
+, x265
+, libxml2
 , srt
 }:
 
@@ -49,113 +84,128 @@ assert faacSupport -> faac != null;
 
 let
   inherit (stdenv.lib) optional optionals;
-in
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Bad Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that aren't up to par compared to the
-      rest.  They might be close to being good quality, but they're missing
-      something - be it a good code review, some documentation, a set of tests,
-      a real live maintainer, or some actual wide use.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
-  preConfigure = ''
-    patchShebangs .
-  '';
+  src = fetchurl {
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi";
+  };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/99790eaad9083cce5ab2b1646489e1a1c0faad1e.patch";
-      sha256 = "11bqy4sl05qq5mj4bx5s09rq106s3j0vnpjl4np058im32j69lr3";
-    })
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/1872da81c48d3a719bd39955fd97deac7d037d74.patch";
-      sha256 = "11zwrr5ggflmvr0qfssj7dmhgd3ybiadmy79b4zh24022zgw3xpz";
-    })
   ];
 
-  src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-bad/${pname}-${version}.tar.xz";
-    sha256 = "019b0yqjrcg6jmfd4cc336h1bz5p4wxl58yz1c4sdb96avirs4r2";
-  };
-
-  outputs = [ "out" "dev" ];
-
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gettext gobject-introspection
-  ]
-  ++ optionals stdenv.isLinux [
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+  ] ++ optionals stdenv.isLinux [
     wayland-protocols
   ];
 
   buildInputs = [
-    gst-plugins-base orc
-    faad2 libass libkate libmms
-    libnice webrtc-audio-processing # webrtc
+    gst-plugins-base
+    orc
+    faad2
+    libass
+    libkate
+    libmms
+    webrtc-audio-processing # webrtc
     libbs2b
-    ladspaH librdf # ladspa plug-in
-    lilv lv2 serd sord sratom # lv2 plug-in
-    libmodplug mpeg2dec
-    openjpeg libopus librsvg
-    bluez
-    chromaprint
+    libmodplug
+    mpeg2dec
+    openjpeg
+    libopus
+    librsvg
     curl.dev
-    directfb
     fdk_aac
-    flite
     gsm
     libaom
     libdc1394
     libde265
-    libdrm
     libdvdnav
     libdvdread
-    libgudev
-    libofa
     libsndfile
     libusb1
+    mjpegtools
     neon
     openal
-    opencv3
+    opencv4
     openexr
     openh264
     rtmpdump
     pango
-    sbc
     soundtouch
-    spandsp
     srtp
-    fluidsynth libvdpau
-    libwebp xvidcore gnutls libGLU_combined
-    libgme openssl x265 libxml2
+    fluidsynth
+    libvdpau
+    libwebp
+    xvidcore
+    gnutls
+    libGL
+    libGLU
+    libgme
+    openssl
+    x265
+    libxml2
     libintl
     srt
-  ]
-    ++ optional enableZbar zbar
-    ++ optional faacSupport faac
-    ++ optional stdenv.isLinux wayland
+  ] ++ optionals enableZbar [
+    zbar
+  ] ++ optionals faacSupport [
+    faac
+  ] ++ optionals stdenv.isLinux [
+    bluez
+    wayland
+  ] ++ optionals (!stdenv.isDarwin) [
     # wildmidi requires apple's OpenAL
     # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
-    ++ optional (!stdenv.isDarwin) wildmidi
+    wildmidi
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
-    ++ optional (!stdenv.isDarwin) mjpegtools;
+    mjpegtools
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+    chromaprint
+    directfb
+    flite
+    libdrm
+    libgudev
+    libnice
+    libofa
+    librdf
+    sbc
+    spandsp
+
+    # ladspa plug-in
+    ladspaH
+    librdf # TODO: make build on Darwin
 
+    # lv2 plug-in
+    lilv
+    lv2
+    serd
+    sord
+    sratom
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    # For unknown reasons the order is important, e.g. if
+    # VideoToolbox is last, we get:
+    #     fatal error: 'VideoToolbox/VideoToolbox.h' file not found
+    VideoToolbox
+    AudioToolbox
+    AVFoundation
+    CoreMedia
+    CoreVideo
+    Foundation
+    MediaToolbox
+  ]);
+
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
 
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
@@ -191,10 +241,50 @@ stdenv.mkDerivation rec {
     # see https://github.com/NixOS/nixpkgs/issues/54395
     "-Dnvdec=disabled"
     "-Dnvenc=disabled"
+  ]
+  ++ optionals stdenv.isDarwin [
+    "-Dbluez=disabled"
+    "-Dchromaprint=disabled"
+    "-Ddirectfb=disabled"
+    "-Dflite=disabled"
+    "-Dkms=disabled" # renders to libdrm output
+    "-Dofa=disabled"
+    "-Dlv2=disabled"
+    "-Dsbc=disabled"
+    "-Dspandsp=disabled"
+    "-Ddvb=disabled"
+    "-Dfbdev=disabled"
+    "-Duvch264=disabled" # requires gudev
+    "-Dladspa=disabled" # requires lrdf
+    "-Dwebrtc=disabled" # requires libnice, which as of writing doesn't work on Darwin in nixpkgs
+    "-Dwildmidi=disabled" # see dependencies above
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    "-Dgl=disabled"]
+  ++ optionals (!gst-plugins-base.waylandEnabled) [
+    "-Dwayland=disabled"
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    # `applemedia/videotexturecache.h` requires `gst/gl/gl.h`,
+    # but its meson build system does not declare the dependency.
+    "-Dapplemedia=disabled"
   ];
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails 20 out of 58 tests, expensive
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Bad Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that aren't up to par compared to the
+      rest.  They might be close to being good quality, but they're missing
+      something - be it a good code review, some documentation, a set of tests,
+      a real live maintainer, or some actual wide use.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
index 81d914581321..178f6a1fe893 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,100 +1,158 @@
-{ stdenv, fetchurl, fetchpatch, lib
-, pkgconfig, meson, ninja, gettext, gobject-introspection
-, python3, gstreamer, orc, pango, libtheora
-, libintl, libopus
+{ stdenv
+, fetchurl
+, lib
+, pkgconfig
+, meson
+, ninja
+, gettext
+, gobject-introspection
+, python3
+, gstreamer
+, orc
+, pango
+, libtheora
+, libintl
+, libopus
 , isocodes
 , libjpeg
+, libpng
 , libvisual
 , tremor # provides 'virbisidec'
 , libGL
-, gtk-doc, docbook_xsl, docbook_xml_dtd_412
-, enableX11 ? stdenv.isLinux, libXv
-, enableWayland ? stdenv.isLinux, wayland
-, enableAlsa ? stdenv.isLinux, alsaLib
-, enableCocoa ? false, darwin
-, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, enableX11 ? stdenv.isLinux
+, libXv
+, enableWayland ? stdenv.isLinux
+, wayland
+, wayland-protocols
+, enableAlsa ? stdenv.isLinux
+, alsaLib
+# Enabling Cocoa seems to currently not work, giving compile
+# errors. Suspected is that a newer version than clang
+# is needed than 5.0 but it is not clear.
+, enableCocoa ? false
+, darwin
+, enableGl ? (enableX11 || enableWayland || enableCocoa)
+, enableCdparanoia ? (!stdenv.isDarwin)
+, cdparanoia
+}:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib; {
-    description = "Base plugins and helper libraries";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-base/${pname}-${version}.tar.xz";
-    sha256 = "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
 
   nativeBuildInputs = [
-    pkgconfig python3 gettext gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+
+    # docs
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
-  ]
-  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
-  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
-  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
 
-  # On Darwin, we currently use autoconf, on all other systems Meson
-  # TODO Switch to Meson on Darwin as well
+  buildInputs = [
+    orc
+    libtheora
+    libintl
+    libopus
+    isocodes
+    libpng
+    libjpeg
+    tremor
+    libGL
+  ] ++ lib.optional (!stdenv.isDarwin) [
+    libvisual
+  ] ++ lib.optionals stdenv.isDarwin [
+    pango
+    darwin.apple_sdk.frameworks.OpenGL
+  ] ++ lib.optionals enableAlsa [
+    alsaLib
+  ] ++ lib.optionals enableX11 [
+    libXv
+    pango
+  ] ++ lib.optionals enableWayland [
+    wayland
+    wayland-protocols
+  ] ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
 
-  # TODO How to pass these to Meson?
-  configureFlags = lib.optionals stdenv.isDarwin [
-    "--enable-x11=${if enableX11 then "yes" else "no"}"
-    "--enable-wayland=${if enableWayland then "yes" else "no"}"
-    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
-  ]
-  # Introspection fails on my MacBook currently
-  ++ lib.optional stdenv.isDarwin "--disable-introspection";
+  propagatedBuildInputs = [
+    gstreamer
+  ];
 
-  mesonFlags = lib.optionals (!stdenv.isDarwin) [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
     # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
-    "-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]"
+    "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
     # We must currently disable gtk_doc API docs generation,
     # because it is not compatible with some features being disabled.
     # See for example
-    #     https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/38
+    #     https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/564
     # for it failing because some Wayland symbols are missing.
     # This problem appeared between 1.15.1 and 1.16.0.
+    # In 1.18 they should switch to hotdoc, which should make this issue irrelevant.
     "-Dgtk_doc=disabled"
   ]
   ++ lib.optional (!enableX11) "-Dx11=disabled"
   # TODO How to disable Wayland?
+  ++ lib.optional (!enableGl) "-Dgl=disabled"
   ++ lib.optional (!enableAlsa) "-Dalsa=disabled"
   ++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
-  ;
-
-  buildInputs = [ orc libtheora libintl libopus isocodes libjpeg tremor libGL ]
-    ++ lib.optional (!stdenv.isDarwin) libvisual
-    ++ lib.optional enableAlsa alsaLib
-    ++ lib.optionals enableX11 [ libXv pango ]
-    ++ lib.optional enableWayland wayland
-    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
-    ++ lib.optional enableCdparanoia cdparanoia;
-
-  propagatedBuildInputs = [ gstreamer ];
+  ++ lib.optionals stdenv.isDarwin [
+    "-Dlibvisual=disabled"
+  ];
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs common/scangobj-merge.py
   '';
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails, wants DRI access for OpenGL
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
+  passthru = {
+    # Downstream `gst-*` packages depending on `gst-plugins-base`
+    # have meson build options like 'gl' etc. that depend
+    # on these features being built in `-base`.
+    # If they are not built here, then the downstream builds
+    # will fail, as they, too, use `-Dauto_features=enabled`
+    # which would enable these options unconditionally.
+    # That means we must communicate to these downstream packages
+    # if the `-base` enabled these options or not, so that
+    # the can enable/disable those features accordingly.
+    # The naming `*Enabled` vs `enable*` is intentional to
+    # distinguish inputs from outputs (what is to be built
+    # vs what was built) and to make them easier to search for.
+    glEnabled = enableGl;
+    waylandEnabled = enableWayland;
+  };
+
+  meta = with lib; {
+    description = "Base GStreamer plug-ins and helper libraries";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
index f0f01a977fd1..3dd7a547de96 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,10 +1,23 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, gettext, gobject-introspection
-, bison, flex, python3, glib, makeWrapper
-, libcap,libunwind, darwin
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, bison
+, flex
+, python3
+, glib
+, makeWrapper
+, libcap
+, libunwind
+, darwin
 , elfutils # for libdw
 , bash-completion
-, docbook_xsl, docbook_xml_dtd_412
+, docbook_xsl
+, docbook_xml_dtd_43
 , gtk-doc
 , lib
 , CoreServices
@@ -12,50 +25,66 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib ;{
-    description = "Open source multimedia framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ttuegel matthewbauer ];
-  };
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
-    sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73";
   };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
   ];
 
-  outputs = [ "out" "dev" ];
-  outputBin = "dev";
-
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    gettext
+    bison
+    flex
+    python3
+    makeWrapper
+    gobject-introspection
     bash-completion
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_43
   ];
 
-  buildInputs =
-       lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
-    ++ lib.optional stdenv.isDarwin CoreServices;
+  buildInputs = lib.optionals stdenv.isLinux [
+    libcap
+    libunwind
+    elfutils
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
+  ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
-  ]
+  ] ++ lib.optionals stdenv.isDarwin [
     # darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it.
-    ++ stdenv.lib.optionals stdenv.isDarwin [ "-Dlibunwind=disabled" "-Dlibdw=disabled" ];
+    "-Dlibunwind=disabled"
+    "-Dlibdw=disabled"
+  ];
+
+  postPatch = ''
+    patchShebangs \
+      gst/parse/get_flex_version.py \
+      gst/parse/gen_grammar.py.in \
+      gst/parse/gen_lex.py.in \
+      libs/gst/helpers/ptp_helper_post_install.sh
+  '';
 
   postInstall = ''
     for prog in "$dev/bin/"*; do
@@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preConfigure=
-    # These files are not executable upstream, so we need to
-    # make them executable for `patchShebangs` to pick them up.
-    # Can be removed when this is merged and available:
-    #     https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/141
-    ''
-      chmod +x gst/parse/get_flex_version.py
-    '' +
-    ''
-      patchShebangs .
-    '';
-
   preFixup = ''
     moveToOutput "share/bash-completion" "$dev"
   '';
 
   setupHook = ./setup-hook.sh;
+
+  meta = with lib ;{
+    description = "Open source multimedia framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh
index b8c741af578f..026a4e5f55a0 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh
@@ -1,7 +1,7 @@
 addGstreamer1LibPath () {
     if test -d "$1/lib/gstreamer-1.0"
     then
-        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
+        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0-}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
     fi
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
index 810cee650ca8..6e9a604f7946 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,39 +1,66 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, python, gst-plugins-base, libxml2
-, flex, perl, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, libxml2
+, flex
+, perl
+, gettext
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-editing-services";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Library for creation of audio/video non-linear editors";
-    homepage    = "https://gstreamer.freedesktop.org";
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-editing-services/${pname}-${version}.tar.xz";
-    sha256 = "1las94jkx83sxmzi5w6b0xm89dqqwzpdsb6h9w9ixndhnbpzm8w2";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    gobject-introspection
+    python
+    flex
+    perl
+  ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
+  buildInputs = [
+    libxml2
+  ];
 
-  propagatedBuildInputs = [ gst-plugins-base libxml2 ];
+  propagatedBuildInputs = [
+    gst-plugins-base
+  ];
 
   mesonFlags = [
     "-Dgtk_doc=disabled"
   ];
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   postPatch = ''
+    # for some reason, gst-plugins-bad cannot be found
+    # fortunately, they are only used by tests, which we do not run
     sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build
   '';
+
+  meta = with stdenv.lib; {
+    description = "Library for creation of audio/video non-linear editors";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
index c801684b0659..a7c2bcf838e7 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
@@ -1,14 +1,37 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, bzip2, gettext
-, libv4l, libdv, libavc1394, libiec61883
-, libvpx, speex, flac, taglib, libshout
-, cairo, gdk-pixbuf, aalib, libcaca
-, libsoup, libpulseaudio, libintl
-, darwin, lame, mpg123, twolame
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python3
+, gst-plugins-base
+, orc
+, bzip2
+, gettext
+, libv4l
+, libdv
+, libavc1394
+, libiec61883
+, libvpx
+, speex
+, flac
+, taglib
+, libshout
+, cairo
+, gdk-pixbuf
+, aalib
+, libcaca
+, libsoup
+, libpulseaudio
+, libintl
+, darwin
+, lame
+, mpg123
+, twolame
 , gtkSupport ? false, gtk3 ? null
-# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
-# In the fuure we should probably split `ffado`.
-, enableJack ? false
+  # As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
+  # In the future we should probably split `ffado`.
+, enableJack ? false, jack2
 , libXdamage
 , libXext
 , libXfixes
@@ -16,49 +39,53 @@
 , xorg
 , libgudev
 , wavpack
-, jack2
 }:
 
 assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optional optionals;
+  inherit (stdenv.lib) optionals;
 in
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Good Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that we consider to have good quality code,
-      correct functionality, our preferred license (LGPL for the plug-in
-      code, LGPL or LGPL-compatible for the supporting library).
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz";
-    sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0";
   };
 
-  outputs = [ "out" "dev" ];
-
   patches = [ ./fix_pkgconfig_includedir.patch ];
 
-  nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
-
-  NIX_LDFLAGS = "-lncurses";
+  nativeBuildInputs = [
+    pkgconfig
+    python3
+    meson
+    ninja
+    gettext
+  ];
 
   buildInputs = [
-    gst-plugins-base orc bzip2
-    libdv libvpx speex flac taglib
-    cairo gdk-pixbuf aalib libcaca
-    libsoup libshout lame mpg123 twolame libintl
+    gst-plugins-base
+    orc
+    bzip2
+    libdv
+    libvpx
+    speex
+    flac
+    taglib
+    cairo
+    gdk-pixbuf
+    aalib
+    libcaca
+    libsoup
+    libshout
+    lame
+    mpg123
+    twolame
+    libintl
     libXdamage
     libXext
     libXfixes
@@ -66,29 +93,59 @@ stdenv.mkDerivation rec {
     xorg.libXfixes
     xorg.libXdamage
     wavpack
-  ]
-  ++ optional gtkSupport gtk3 # for gtksink
-  ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
-  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 libgudev ]
-  ++ optionals (stdenv.isLinux && enableJack) [
+  ] ++ optionals gtkSupport [
+    # for gtksink
+    gtk3
+  ] ++ optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+  ] ++ optionals stdenv.isLinux [
+    libv4l
+    libpulseaudio
+    libavc1394
+    libiec61883
+    libgudev
+  ] ++ optionals (stdenv.isLinux && enableJack) [
     jack2
   ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
-  ]
-  ++ optional (!gtkSupport) "-Dgtk3=disabled"
-  ++ optionals (!stdenv.isLinux || !enableJack) [
+  ] ++ optionals (!gtkSupport) [
+    "-Dgtk3=disabled"
+  ] ++ optionals (!stdenv.isLinux || !enableJack) [
     "-Djack=disabled" # unclear whether Jack works on Darwin
-  ]
-  ++ optionals (!stdenv.isLinux) [
-    "-Dv4l2-gudev=disabled"
+  ] ++ optionals (!stdenv.isLinux) [
+    "-Ddv1394=disabled" # Linux only
+    "-Doss4=disabled" # Linux only
+    "-Doss=disabled" # Linux only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+    "-Dv4l2-gudev=disabled" # Linux-only
+    "-Dv4l2=disabled" # Linux-only
+    "-Dximagesrc=disabled" # Linux-only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+  ];
+
+
+  NIX_LDFLAGS = [
+    # linking error on Darwin
+    # https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896
+    "-lncurses"
   ];
 
   # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
   doCheck = false;
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Good Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that we consider to have good quality code,
+      correct functionality, our preferred license (LGPL for the plug-in
+      code, LGPL or LGPL-compatible for the supporting library).
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index db75705c825a..eed9d423fdb9 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
+{ fetchurl, fetchpatch, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
 , libintl
 , ApplicationServices
@@ -18,11 +18,18 @@ stdenv.mkDerivation rec {
     sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
   };
 
-  patchPhase = ''
+  patches = [
+    ./gcc-4.9.patch
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
+      name = "CVE-2019-9928.patch";
+      sha256 = "1dlamsmyr7chrb6vqqmwikqvvqcx5l7k72p98448qm6k59ndnimc";
+    })
+  ];
+
+  postPatch = ''
     sed -i 's@/bin/echo@echo@g' configure
     sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
-
-    patch -p1 < ${./gcc-4.9.patch}
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
index 65ce26112519..636e20b732b4 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
@@ -1,7 +1,7 @@
 addGstreamerLibPath () {
     if test -d "$1/lib/gstreamer-0.10"
     then
-        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
+        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH-}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
     fi
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
index 1847b8d0c12b..e36eba370071 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,43 +1,46 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, python, yasm, gst-plugins-base, orc, bzip2
-, gettext, withSystemLibav ? true, libav ? null
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python3
+, gst-plugins-base
+, gettext
+, libav
 }:
 
 # Note that since gst-libav-1.6, libav is actually ffmpeg. See
 # https://gstreamer.freedesktop.org/releases/1.6/ for more info.
 
-assert withSystemLibav -> libav != null;
-
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.16.0";
-
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
-    sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = with stdenv.lib;
-    [ meson ninja gettext pkgconfig python ]
-    ++ optional (!withSystemLibav) yasm
-    ;
-
-  buildInputs = with stdenv.lib;
-    [ gst-plugins-base orc bzip2 ]
-    ++ optional withSystemLibav libav
-    ;
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python3
+  ];
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  buildInputs = [
+    gst-plugins-base
+    libav
   ];
 
+  meta = with lib; {
+    description = "FFmpeg/libav plugin for GStreamer";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 5c571fa4a1e7..dfb18754c839 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,38 +1,50 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
 , gst-plugins-base
 , gst-plugins-bad
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.16.0";
-
-  meta = with stdenv.lib; {
-    description = "Gstreamer RTSP server";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a library on top of GStreamer for building an RTSP server.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ bkchr ];
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
-    sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0vn23nxwvs96g7gcxw5zbnw23hkhky8a8r42wq68411vgf1s41yy";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    pkgconfig
+  ];
 
-  buildInputs = [ gst-plugins-base gst-plugins-bad ];
+  buildInputs = [
+    gst-plugins-base
+    gst-plugins-bad
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
+
+  meta = with stdenv.lib; {
+    description = "GStreamer RTSP server";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      A library on top of GStreamer for building an RTSP server.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bkchr ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
index 552ab1ec2921..870b4468860f 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -1,53 +1,76 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, gettext
-, a52dec, libcdio, libdvdread
-, libmad, libmpeg2, x264, libintl, lib
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, orc
+, gettext
+, a52dec
+, libcdio
+, libdvdread
+, libmad
+, libmpeg2
+, x264
+, libintl
+, lib
 , opencore-amr
 , darwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib; {
-    description = "Gstreamer Ugly Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that have good quality and correct functionality,
-      but distributing them might pose problems.  The license on either
-      the plug-ins or the supporting libraries might not be how we'd
-      like. The code might be widely known to present patent problems.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-ugly/${pname}-${version}.tar.xz";
-    sha256 = "1hm46c1fy9vl1wfwipsj41zp79cm7in1fpmjw24j5hriy32n82g3";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m";
   };
 
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python
+  ];
 
   buildInputs = [
-    gst-plugins-base orc
-    a52dec libcdio libdvdread
-    libmad libmpeg2 x264
+    gst-plugins-base
+    orc
+    a52dec
+    libcdio
+    libdvdread
+    libmad
+    libmpeg2
+    x264
     libintl
     opencore-amr
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
-    [ IOKit CoreFoundation DiskArbitration ]);
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    IOKit
+    CoreFoundation
+    DiskArbitration
+  ]);
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
   ];
 
-  NIX_LDFLAGS = [ "-lm" ];
+  meta = with lib; {
+    description = "Gstreamer Ugly Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that have good quality and correct functionality,
+      but distributing them might pose problems.  The license on either
+      the plug-ins or the supporting libraries might not be how we'd
+      like. The code might be widely known to present patent problems.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
index adb495689e33..cac56f64cc91 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,49 +1,72 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
-, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
-, libvpx, python, fetchpatch
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gst-plugins-base
+, bzip2
+, libva
+, wayland
+, libdrm
+, udev
+, xorg
+, libGLU
+, libGL
+, gstreamer
+, gst-plugins-bad
+, nasm
+, libvpx
+, python
 }:
 
 stdenv.mkDerivation rec {
-  pname = "gst-vaapi";
-  version = "1.16.0";
+  pname = "gstreamer-vaapi";
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "00f6sx700qm1ximi1ag2c27m35dywwhhg6awhz85va34mfqff78r";
   };
 
-  patches = [
-    # See: https://mail.gnome.org/archives/distributor-list/2019-September/msg00000.html
-    # Note that the patch has now been actually accepted upstream.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/commit/a90daabb84f983d2fa05ff3159f7ad59aa648b55.patch";
-      sha256 = "0p2qygq6b5h6nxjdfnlzbsyih43hjq5c94ag8sbyyb8pmnids9rb";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    bzip2
+  ];
 
   buildInputs = [
-    gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
-    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
-    xorg.libICE libGLU_combined nasm libvpx python
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    libva
+    wayland
+    libdrm
+    udev
+    xorg.libX11
+    xorg.libXext
+    xorg.libXv
+    xorg.libXrandr
+    xorg.libSM
+    xorg.libICE
+    libGL
+    libGLU
+    nasm
+    libvpx
+    python
   ];
 
-  preConfigure = ''
-    export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
-    mkdir -p $GST_PLUGIN_PATH_1_0
-  '';
-
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  meta = with stdenv.lib; {
+    description = "Set of VAAPI GStreamer Plug-ins";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix
index ad013d1570e1..9439ddd94e8f 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -1,39 +1,43 @@
-{ stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
-, python, gobject-introspection, json-glib
+{ stdenv
+, fetchurl
+, pkgconfig
+, gstreamer
+, gst-plugins-base
+, python
+, gobject-introspection
+, json-glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-validate";
-  version = "1.16.0";
-
-  meta = {
-    description = "Integration testing infrastructure for the GStreamer framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-validate/${pname}-${version}.tar.xz";
-    sha256 = "1jfnd0g9hmdbqfxsx96yc9vpf1w6m33hqwrr6lj4i83kl54awcck";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1jpfrzg3yc6kp66bgq3jy14xsj3x71mk2zh0k16yf0326awwqqa8";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    pkgconfig gobject-introspection
+    pkgconfig
+    gobject-introspection
   ];
 
   buildInputs = [
-    python json-glib
+    python
+    json-glib
   ];
 
-  propagatedBuildInputs = [ gstreamer gst-plugins-base ];
-
-  enableParallelBuilding = true;
-
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  propagatedBuildInputs = [
+    gstreamer
+    gst-plugins-base
   ];
+
+  meta = with stdenv.lib; {
+    description = "Integration testing infrastructure for the GStreamer framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gtest/default.nix b/nixpkgs/pkgs/development/libraries/gtest/default.nix
index 5fecd45b7da1..4326be597246 100644
--- a/nixpkgs/pkgs/development/libraries/gtest/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtest/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gtest";
-  version = "1.8.1";
+  version = "1.10.0";
 
   outputs = [ "out" "dev" ];
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "google";
     repo = "googletest";
     rev = "release-${version}";
-    sha256 = "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk";
+    sha256 = "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix b/nixpkgs/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
index 99ca221f5ba2..99ca221f5ba2 100644
--- a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix b/nixpkgs/pkgs/development/libraries/gtk-engine-murrine/default.nix
index 9acb7b25a0dd..9acb7b25a0dd 100644
--- a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-engine-murrine/default.nix
diff --git a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engines/default.nix b/nixpkgs/pkgs/development/libraries/gtk-engines/default.nix
index 2f56f6eb4c5c..2f56f6eb4c5c 100644
--- a/nixpkgs/pkgs/misc/themes/gtk2/gtk-engines/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-engines/default.nix
diff --git a/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix b/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix
new file mode 100644
index 000000000000..c00e8035f18b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkgconfig
+, wayland
+, gtk3
+, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gtk-layer-shell";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "wmww";
+    repo = "gtk-layer-shell";
+    rev = "v${version}";
+    sha256 = "1fwvlbwp5w1zly6mksvlzbx18ikq4bh7pdj9q0k94qlj6x2zdwg8";
+  };
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig
+  ];
+
+  buildInputs = [
+    wayland gtk3 gobject-introspection
+  ];
+
+  mesonFlags = [
+    "-Dout=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library to create panels and other desktop components for Wayland using the Layer Shell protocol";
+    license = licenses.mit;
+    maintainers = with maintainers; [ eonpatapon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gtk/2.x.nix b/nixpkgs/pkgs/development/libraries/gtk/2.x.nix
index f1a53390467a..932527eed092 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/2.x.nix
@@ -25,19 +25,22 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks =  [
+    ./hooks/gtk2-clean-immodules-cache.sh
+    ./hooks/drop-icon-theme-cache.sh
+  ];
 
-  nativeBuildInputs = [ setupHook perl pkgconfig gettext gobject-introspection ];
+  nativeBuildInputs = setupHooks ++ [ perl pkgconfig gettext gobject-introspection ];
 
   patches = [
-    ./2.0-immodules.cache.patch
-    ./gtk2-theme-paths.patch
+    ./patches/2.0-immodules.cache.patch
+    ./patches/gtk2-theme-paths.patch
   ] ++ optionals stdenv.isDarwin [
     (fetchpatch {
       url = https://bug557780.bugzilla-attachments.gnome.org/attachment.cgi?id=306776;
       sha256 = "0sp8f1r5c4j2nlnbqgv7s7nxa4cfwigvm033hvhb1ld652pjag4r";
     })
-    ./2.0-darwin-x11.patch
+    ./patches/2.0-darwin-x11.patch
   ];
 
   propagatedBuildInputs = with xorg;
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
index aee97d9bad00..60432614433b 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
@@ -3,6 +3,9 @@
 , fetchpatch
 , pkgconfig
 , gettext
+, docbook_xsl
+, docbook_xml_dtd_43
+, gtk-doc
 , meson
 , ninja
 , python3
@@ -24,7 +27,6 @@
 , libxkbcommon
 , gmp
 , gnome3
-, hicolor-icon-theme
 , gsettings-desktop-schemas
 , sassc
 , x11Support ? stdenv.isLinux
@@ -34,6 +36,7 @@
 , wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux
+, withGtkDoc ? stdenv.isLinux
 , cups ? null
 , AppKit
 , Cocoa
@@ -45,44 +48,47 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.10";
+  version = "3.24.12";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" ] ++ optional withGtkDoc "devdoc";
   outputBin = "dev";
 
-  setupHook = ./gtk3-setup-hook.sh;
+  setupHooks = [
+    ./hooks/gtk3-clean-immodules-cache.sh
+    ./hooks/drop-icon-theme-cache.sh
+  ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "00qvq1r96ikdalv7xzgng1kad9i0rcahqk01gwhxl3xrw83z3a1m";
+    sha256 = "10xyyhlfb0yk4hglngxh2zsv9xrxkqv343df8h01dvagc6jyp10k";
   };
 
   patches = [
-    ./3.0-immodules.cache.patch
+    ./patches/3.0-immodules.cache.patch
     (fetchpatch {
       name = "Xft-setting-fallback-compute-DPI-properly.patch";
       url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
       sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
     })
     # https://gitlab.gnome.org/GNOME/gtk/merge_requests/1002
-    ./01-build-Fix-path-handling-in-pkgconfig.patch
+    ./patches/01-build-Fix-path-handling-in-pkgconfig.patch
   ] ++ optionals stdenv.isDarwin [
     # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
     # let’s drop that dependency in similar way to how other parts of the library do it
     # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
-    ./3.0-darwin-x11.patch
+    ./patches/3.0-darwin-x11.patch
   ];
 
+  separateDebugInfo = stdenv.isLinux;
+
   mesonFlags = [
+    "-Dgtk_doc=${boolToString withGtkDoc}"
     "-Dtests=false"
   ];
 
   # These are the defines that'd you'd get with --enable-debug=minimum (default).
   # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options
-  NIX_CFLAGS_COMPILE = [
-    "-DG_ENABLE_DEBUG"
-    "-DG_DISABLE_CAST_CHECKS"
-  ];
+  NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS";
 
   postPatch = ''
     files=(
@@ -103,14 +109,16 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     gettext
     gobject-introspection
-    hicolor-icon-theme # setup-hook
     makeWrapper
     meson
     ninja
     pkgconfig
     python3
     sassc
-    setupHook
+  ] ++ setupHooks ++ optionals withGtkDoc [
+    docbook_xml_dtd_43
+    docbook_xsl
+    gtk-doc
   ];
 
   buildInputs = [
@@ -192,7 +200,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.gtk.org/;
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ raskin vcunat lethalman ];
+    maintainers = with maintainers; [ raskin vcunat lethalman worldofpeace ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh b/nixpkgs/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh
new file mode 100644
index 000000000000..f28a856c4f50
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh
@@ -0,0 +1,19 @@
+# shellcheck shell=bash
+
+# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache.
+# However, since each package is installed to its own prefix, the files will only collide.
+dropIconThemeCache() {
+    if [[ -z "${dontDropIconThemeCache:-}" ]]; then
+        local icondir="${out:?}/share/icons"
+        if [[ -d "${icondir}" ]]; then
+            # App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes.
+            find "${icondir}" -name 'icon-theme.cache' -print0 \
+              | while IFS= read -r -d '' file; do
+                echo "Removing ${file}"
+                rm -f "${file}"
+            done
+        fi
+    fi
+}
+
+preFixupPhases="${preFixupPhases-} dropIconThemeCache"
diff --git a/nixpkgs/pkgs/development/libraries/gtk/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gtk/hooks/gtk2-clean-immodules-cache.sh
index c2b0ab502db7..dde991fd27cd 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gtk/hooks/gtk2-clean-immodules-cache.sh
@@ -1,8 +1,10 @@
+# shellcheck shell=bash
+
 fixupOutputHooks+=(_gtk2CleanComments)
 
 # Clean comments that link to generator of the file
 _gtk2CleanComments() {
-    local f="$prefix/lib/gtk-2.0/2.10.0/immodules.cache"
+    local f="${prefix:?}/lib/gtk-2.0/2.10.0/immodules.cache"
     if [ -f "$f" ]; then
         sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
     fi
diff --git a/nixpkgs/pkgs/development/libraries/gtk/gtk3-setup-hook.sh b/nixpkgs/pkgs/development/libraries/gtk/hooks/gtk3-clean-immodules-cache.sh
index bddeb2d25d50..d2d5287831a0 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/gtk3-setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/gtk/hooks/gtk3-clean-immodules-cache.sh
@@ -1,10 +1,11 @@
+# shellcheck shell=bash
+
 fixupOutputHooks+=(_gtk3CleanComments)
 
 # Clean comments that link to generator of the file
 _gtk3CleanComments() {
-    local f="$prefix/lib/gtk-3.0/3.0.0/immodules.cache"
+    local f="${prefix:?}/lib/gtk-3.0/3.0.0/immodules.cache"
     if [ -f "$f" ]; then
         sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
     fi
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/gtk/01-build-Fix-path-handling-in-pkgconfig.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/01-build-Fix-path-handling-in-pkgconfig.patch
index ec69a12514fe..ec69a12514fe 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/01-build-Fix-path-handling-in-pkgconfig.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/01-build-Fix-path-handling-in-pkgconfig.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtk/2.0-darwin-x11.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/2.0-darwin-x11.patch
index 9725cfb84260..9725cfb84260 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/2.0-darwin-x11.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/2.0-darwin-x11.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtk/2.0-immodules.cache.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/2.0-immodules.cache.patch
index 1b8231756e71..1b8231756e71 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/2.0-immodules.cache.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/2.0-immodules.cache.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.0-darwin-x11.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/3.0-darwin-x11.patch
index 86631634b5bd..86631634b5bd 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.0-darwin-x11.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/3.0-darwin-x11.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.0-immodules.cache.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/3.0-immodules.cache.patch
index bbe5f28dbd3e..bbe5f28dbd3e 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.0-immodules.cache.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/3.0-immodules.cache.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtk/gtk2-theme-paths.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/gtk2-theme-paths.patch
index edd69b078076..edd69b078076 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/gtk2-theme-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/gtk/patches/gtk2-theme-paths.patch
diff --git a/nixpkgs/pkgs/development/libraries/gtkd/default.nix b/nixpkgs/pkgs/development/libraries/gtkd/default.nix
index 31a3242cdef5..0b2df597be57 100644
--- a/nixpkgs/pkgs/development/libraries/gtkd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkd/default.nix
@@ -1,69 +1,75 @@
-{ stdenv, fetchzip, atk, cairo, dmd, gdk-pixbuf, gnome3, gst_all_1, librsvg
-, glib, gtk3, gtksourceview, libgda, libpeas, pango, pkgconfig, which, vte }:
+{ stdenv, fetchzip, fetchpatch, atk, cairo, dmd, gdk-pixbuf, gnome3, gst_all_1, librsvg
+, glib, gtk3, gtksourceview4, libgda, libpeas, pango, pkgconfig, which, vte }:
 
 let
-  inherit (gst_all_1) gstreamer gst-plugins-base;
+  inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
 in stdenv.mkDerivation rec {
   pname = "gtkd";
-  version = "3.8.5";
+  version = "3.9.0";
 
   src = fetchzip {
     url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
-    sha256 = "12n2njsaplra7x15nqwrj2hrf8a27pfjj2mck4mkzxv03qk6mqky";
+    sha256 = "12kc4s5gp6gn456d8pzhww1ggi9qbxldmcpp6855297g2x8xxy5p";
     stripRoot = false;
   };
 
   nativeBuildInputs = [ dmd pkgconfig which ];
   propagatedBuildInputs = [
-    atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview
+    atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview4
     libgda libpeas librsvg pango vte
   ];
 
+  patches = [
+    # Fix makefile not installing .pc's
+    (fetchpatch {
+      url = "https://github.com/gtkd-developers/GtkD/commit/a9db09117ab27127ca4c3b8d2f308fae483a9199.patch";
+      sha256 = "0ngyqifw1kandc1vk01kms3z65pcisfd75q7z09rml96glhfzjd6";
+    })
+  ];
+
   prePatch = ''
     substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
-    substituteInPlace src/cairo/c/functions-compiletime.d \
-      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
-      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace src/cairo/c/functions-runtime.d \
-      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
-      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace generated/gtkd/gdkpixbuf/c/functions.d \
-      --replace libgdk_pixbuf-2.0.so.0 ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
-      --replace libgdk_pixbuf-2.0.0.dylib ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/app/c/functions.d \
+      --replace libgstapp-1.0.so.0 ${gst-plugins-base}/lib/libgstapp-1.0.so.0 \
+      --replace libgstapp-1.0.0.dylib ${gst-plugins-base}/lib/libgstapp-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/base/c/functions.d \
+      --replace libgstbase-1.0.so.0 ${gstreamer.out}/lib/libgstbase-1.0.so.0 \
+      --replace libgstbase-1.0.0.dylib ${gstreamer.out}/lib/libgstbase-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/mpegts/c/functions.d \
+      --replace libgstmpegts-1.0.so.0 ${gst-plugins-bad.out}/lib/libgstmpegts-1.0.so.0 \
+      --replace libgstmpegts-1.0.0.dylib ${gst-plugins-bad.out}/lib/libgstmpegts-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gstinterfaces/c/functions.d \
+      --replace libgstvideo-1.0.so.0 ${gst-plugins-base}/lib/libgstvideo-1.0.so.0 \
+      --replace libgstvideo-1.0.0.dylib ${gst-plugins-base}/lib/libgstvideo-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gstreamer/c/functions.d \
+      --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
+      --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
+
     substituteInPlace generated/gtkd/atk/c/functions.d \
       --replace libatk-1.0.so.0 ${atk}/lib/libatk-1.0.so.0 \
       --replace libatk-1.0.0.dylib ${atk}/lib/libatk-1.0.0.dylib
-    substituteInPlace generated/gtkd/pango/c/functions.d \
-      --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
-      --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
-      --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
-      --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
-    substituteInPlace generated/gtkd/gobject/c/functions.d \
-      --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
-      --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/rsvg/c/functions.d \
-      --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
-      --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
+
     substituteInPlace generated/gtkd/cairo/c/functions.d \
       --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
       --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
+
     substituteInPlace generated/gtkd/gdk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib
-    substituteInPlace generated/peas/peas/c/functions.d \
-      --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
-      --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
-      --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
-      --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
-    substituteInPlace generated/vte/vte/c/functions.d \
-      --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
-      --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
-    substituteInPlace generated/gstreamer/gstinterfaces/c/functions.d \
-      --replace libgstvideo-1.0.so.0 ${gst-plugins-base}/lib/libgstvideo-1.0.so.0 \
-      --replace libgstvideo-1.0.0.dylib ${gst-plugins-base}/lib/libgstvideo-1.0.0.dylib
-    substituteInPlace generated/sourceview/gsv/c/functions.d \
-      --replace libgtksourceview-3.0.so.1 ${gtksourceview}/lib/libgtksourceview-3.0.so.1 \
-      --replace libgtksourceview-3.0.1.dylib ${gtksourceview}/lib/libgtksourceview-3.0.1.dylib
+
+    substituteInPlace generated/gtkd/gdkpixbuf/c/functions.d \
+      --replace libgdk_pixbuf-2.0.so.0 ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
+      --replace libgdk_pixbuf-2.0.0.dylib ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
+
+    substituteInPlace generated/gtkd/gio/c/functions.d \
+      --replace libgio-2.0.so.0 ${glib.out}/lib/libgio-2.0.so.0 \
+      --replace libgio-2.0.0.dylib ${glib.out}/lib/libgio-2.0.0.dylib
+
     substituteInPlace generated/gtkd/glib/c/functions.d \
       --replace libglib-2.0.so.0 ${glib.out}/lib/libglib-2.0.so.0 \
       --replace libgmodule-2.0.so.0 ${glib.out}/lib/libgmodule-2.0.so.0 \
@@ -71,20 +77,46 @@ in stdenv.mkDerivation rec {
       --replace libglib-2.0.0.dylib ${glib.out}/lib/libglib-2.0.0.dylib \
       --replace libgmodule-2.0.0.dylib ${glib.out}/lib/libgmodule-2.0.0.dylib \
       --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/gio/c/functions.d \
-      --replace libgio-2.0.so.0 ${glib.out}/lib/libgio-2.0.so.0 \
-      --replace libgio-2.0.0.dylib ${glib.out}/lib/libgio-2.0.0.dylib
-    substituteInPlace generated/gstreamer/gstreamer/c/functions.d \
-      --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
-      --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
+
+    substituteInPlace generated/gtkd/gobject/c/functions.d \
+      --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
+      --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
+
     substituteInPlace generated/gtkd/gtk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgtk-3.so.0 ${gtk3}/lib/libgtk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib \
       --replace libgtk-3.0.dylib ${gtk3}/lib/libgtk-3.0.dylib
+
+    substituteInPlace generated/gtkd/pango/c/functions.d \
+      --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
+      --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
+      --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
+      --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
+
+    substituteInPlace generated/gtkd/rsvg/c/functions.d \
+      --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
+      --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
+
+    substituteInPlace generated/peas/peas/c/functions.d \
+      --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
+      --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
+      --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
+      --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
+
+    substituteInPlace generated/sourceview/gsv/c/functions.d \
+      --replace libgtksourceview-4.so.0 ${gtksourceview4}/lib/libgtksourceview-4.so.0 \
+      --replace libgtksourceview-4.0.dylib ${gtksourceview4}/lib/libgtksourceview-4.0.dylib
+
+    substituteInPlace generated/vte/vte/c/functions.d \
+      --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
+      --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
   '';
 
-  installFlags = "prefix=$(out)";
+  makeFlags  = [
+    "prefix=${placeholder "out"}"
+    "PKG_CONFIG=${pkgconfig}/bin/pkg-config"
+  ];
 
   meta = with stdenv.lib; {
     description = "D binding and OO wrapper for GTK";
diff --git a/nixpkgs/pkgs/development/libraries/gtkd/paths.d b/nixpkgs/pkgs/development/libraries/gtkd/paths.d
index 0f857136499f..8793da440690 100644
--- a/nixpkgs/pkgs/development/libraries/gtkd/paths.d
+++ b/nixpkgs/pkgs/development/libraries/gtkd/paths.d
@@ -103,8 +103,8 @@ else version(darwin)
 		LIBRARY.GLGDK:         "libgdkglext-3.0.dylib",
 		LIBRARY.GLGTK:         "libgtkglext-3.0.dylib",
 		LIBRARY.GDA:           "@libgda@/lib/libgda-2.dylib",
-		LIBRARY.GSV:           "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
-		LIBRARY.GSV1:          "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
+		LIBRARY.GSV:           "@gtksourceview4@/lib/libgtksourceview-4.0.dylib",
+		LIBRARY.GSV1:          "@gtksourceview4@/lib/libgtksourceview-4.0.dylib",
 		LIBRARY.GSTREAMER:     "@gstreamer@/lib/libgstreamer-1.0.dylib",
 		LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.dylib",
 		LIBRARY.VTE:           "@vte@/lib/libvte-2.91.dylib",
@@ -131,8 +131,8 @@ else
 		LIBRARY.GLGDK:         "libgdkglext-3.0.so.0",
 		LIBRARY.GLGTK:         "libgtkglext-3.0.so.0",
 		LIBRARY.GDA:           "@libgda@/lib/libgda-4.0.so.4",
-		LIBRARY.GSV:           "@gtksourceview@/lib/libgtksourceview-3.0.so.0",
-		LIBRARY.GSV1:          "@gtksourceview@/lib/libgtksourceview-3.0.so.1",
+		LIBRARY.GSV:           "@gtksourceview4@/lib/libgtksourceview-4.so.0",
+		LIBRARY.GSV1:          "@gtksourceview4@/lib/libgtksourceview-4.so.0",
 		LIBRARY.GSTREAMER:     "@gstreamer@/lib/libgstreamer-1.0.so.0",
 		LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.so.0",
 		LIBRARY.VTE:           "@vte@/lib/libvte-2.91.so.0",
diff --git a/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix b/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
index f977af046ca2..d79e739f80c6 100644
--- a/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "3.24.1";
+  version = "3.24.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1zfj89spr8ianib5y10wcw63ybdmyjy58a15vqs0m8jq4knl5znx";
+    sha256 = "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix b/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
index fde94e79f056..d3a7d849062e 100644
--- a/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala
-, libxml2, perl, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info }:
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, fribidi, vala
+, libxml2, perl, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info
+, meson, ninja }:
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xgnjj7jd56wbl99s76sa1vjq9bkz4mdsxwgwlcphg689liyncf4";
+    sha256 = "16k8kqw9w775f1ijsk898hp210an5mv4yfyrmik9m8khxx593nwx";
   };
 
   propagatedBuildInputs = [
@@ -19,11 +20,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gettext perl gobject-introspection vala ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext perl gobject-introspection vala ];
 
   checkInputs = [ xvfb_run dbus ];
 
-  buildInputs = [ atk cairo glib pango libxml2 ];
+  buildInputs = [ atk cairo glib pango fribidi libxml2 ];
 
   patches = [ ./4.x-nix_share_path.patch ];
 
@@ -31,11 +32,10 @@ stdenv.mkDerivation rec {
 
   doCheck = stdenv.isLinux;
   checkPhase = ''
-    NO_AT_BRIDGE=1 \
     XDG_DATA_DIRS="$XDG_DATA_DIRS:${shared-mime-info}/share" \
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      make check
+      meson test --no-rebuild --print-errorlogs
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/gtkspell/3.nix b/nixpkgs/pkgs/development/libraries/gtkspell/3.nix
index 54b4b001d817..b68c814ad543 100644
--- a/nixpkgs/pkgs/development/libraries/gtkspell/3.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkspell/3.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Word-processor-style highlighting GtkTextView widget";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gts/default.nix b/nixpkgs/pkgs/development/libraries/gts/default.nix
index 9cc079d61030..18640e923e8b 100644
--- a/nixpkgs/pkgs/development/libraries/gts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gts/default.nix
@@ -1,17 +1,20 @@
-{ fetchurl, stdenv, glib, pkgconfig, gettext }:
+{ fetchurl, stdenv, pkgconfig, autoreconfHook, gettext, glib }:
 
 
 stdenv.mkDerivation rec {
   pname = "gts";
   version = "0.7.6";
 
+  outputs = [ "bin" "dev" "out" ];
+
   src = fetchurl {
     url = "mirror://sourceforge/gts/${pname}-${version}.tar.gz";
     sha256 = "07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gettext ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ gettext ];
+  propagatedBuildInputs = [ glib ];
 
   doCheck = false; # fails with "permission denied"
 
diff --git a/nixpkgs/pkgs/development/libraries/gvfs/default.nix b/nixpkgs/pkgs/development/libraries/gvfs/default.nix
index 8b3bc30a6616..f8db6f573d93 100644
--- a/nixpkgs/pkgs/development/libraries/gvfs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gvfs/default.nix
@@ -14,7 +14,7 @@
 , libgphoto2
 , avahi
 , libarchive
-, fuse
+, fuse3
 , libcdio
 , libxml2
 , libxslt
@@ -36,15 +36,16 @@
 , libsecret
 , libgdata
 , python3
+, gsettings-desktop-schemas
 }:
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.40.2";
+  version = "1.42.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07lpcfric3h0302n9b1pwa38mjb76r9s98kg2867y2d1qvzfivxx";
+    sha256 = "0jgrbid8a61hgh05wl8c4f4638x7dffd5vip02jmladxfdszjymm";
   };
 
   postPatch = ''
@@ -76,7 +77,7 @@ stdenv.mkDerivation rec {
     libgphoto2
     avahi
     libarchive
-    fuse
+    fuse3
     libcdio
     samba
     libmtp
@@ -87,6 +88,7 @@ stdenv.mkDerivation rec {
     libcdio-paranoia
     libnfs
     openssh
+    gsettings-desktop-schemas
     # TODO: a ligther version of libsoup to have FTP/HTTP support?
   ] ++ stdenv.lib.optionals gnomeSupport [
     gnome3.libsoup
diff --git a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
index 3f7d1a2c3526..42f68eea83f2 100644
--- a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "2.6.1";
+  version = "2.6.4";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz";
-    sha256 = "0kw4c04jd8c8ili3j1glgv0wsr207313fs3jh2rawf53m8zznlf6";
+    sha256 = "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/hspell/dicts.nix b/nixpkgs/pkgs/development/libraries/hspell/dicts.nix
index ec6b304dc3ce..83942c2c1dde 100644
--- a/nixpkgs/pkgs/development/libraries/hspell/dicts.nix
+++ b/nixpkgs/pkgs/development/libraries/hspell/dicts.nix
@@ -1,42 +1,38 @@
 { stdenv, hspell }:
 
 let
-  dict = a: stdenv.mkDerivation ({
+  dict = variant: a: stdenv.mkDerivation ({
     inherit (hspell) src patchPhase nativeBuildInputs;
+    buildFlags = [ variant ];
+
     meta = hspell.meta // {
       broken = true;
-      description = "${a.buildFlags} Hebrew dictionary";
+      description = "${variant} Hebrew dictionary";
     } // (if a ? meta then a.meta else {});
   } // (removeAttrs a ["meta"]));
 in
 {
   recurseForDerivations = true;
 
-  aspell = dict {
+  aspell = dict "aspell" {
     name = "aspell-dict-he-${hspell.version}";
 
-    buildFlags = "aspell";
-
     installPhase = ''
       mkdir -p $out/lib/aspell
       cp -v he_affix.dat he.wl $out/lib/aspell'';
   };
 
-  myspell = dict {
+  myspell = dict "myspell" {
     name = "myspell-dict-he-${hspell.version}";
 
-    buildFlags = "myspell";
-
     installPhase = ''
       mkdir -p $out/lib/myspell
       cp -v he.dic he.aff $out/lib/myspell'';
   };
 
-  hunspell = dict {
+  hunspell = dict "hunspell" {
     name = "hunspell-dict-he-${hspell.version}";
 
-    buildFlags = "hunspell";
-
     installPhase = ''
       mkdir -p $out/lib
       cp -rv hunspell $out/lib'';
diff --git a/nixpkgs/pkgs/development/libraries/http-parser/default.nix b/nixpkgs/pkgs/development/libraries/http-parser/default.nix
index 76173bc5b998..4b1a695ca551 100644
--- a/nixpkgs/pkgs/development/libraries/http-parser/default.nix
+++ b/nixpkgs/pkgs/development/libraries/http-parser/default.nix
@@ -16,7 +16,7 @@ in stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = "-Wno-error";
   patches = [ ./build-shared.patch ];
   makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
-  buildFlags = "library";
+  buildFlags = [ "library" ];
   doCheck = true;
   checkTarget = "test";
 
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/default.nix b/nixpkgs/pkgs/development/libraries/hunspell/default.nix
index a8dcea0059a2..f2f8cdcab205 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/default.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     license = with licenses; [ gpl2 lgpl21 mpl11 ];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
index 3e1799d82cde..fb64aa81d1a0 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -722,4 +722,14 @@ in rec {
       platforms = platforms.all;
     };
   };
+
+  /* RUSSIAN */
+
+  ru_RU = ru-ru;
+  ru-ru = mkDictFromLibreOffice {
+    shortName = "ru-ru";
+    dictFileName = "ru_RU";
+    shortDescription = "Russian (Russian)";
+    license = with stdenv.lib.licenses; [ mpl20 lgpl3 ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/hwloc/default.nix b/nixpkgs/pkgs/development/libraries/hwloc/default.nix
index 0f4ce4e6b97c..ffa64858b758 100644
--- a/nixpkgs/pkgs/development/libraries/hwloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hwloc/default.nix
@@ -7,7 +7,7 @@ assert x11Support -> libX11 != null && cairo != null;
 with stdenv.lib;
 
 let
-  version = "2.0.4";
+  version = "2.1.0";
   versmm = versions.major version + "." + versions.minor version;
   name = "hwloc-${version}";
 
@@ -16,7 +16,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
-    sha256 = "1aa7s208gdijk19vvzzahyl8pglk1va3yd6kdbpfa5pz5ms0ag35";
+    sha256 = "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/hyperscan/default.nix b/nixpkgs/pkgs/development/libraries/hyperscan/default.nix
index bc0ce15a083d..d389b69087ba 100644
--- a/nixpkgs/pkgs/development/libraries/hyperscan/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hyperscan/default.nix
@@ -11,12 +11,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hyperscan";
-  version = "5.1.1";
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = pname;
-    sha256 = "11adkz5ln2d2jywwlmixfnwqp5wxskq1104hmmcpws590lhkjv6j";
+    sha256 = "09dgvmjhdbrfgrsmjljl4wn06a8zlv9sd4d4l6h6bfbz57d35f95";
     rev = "v${version}";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/hyphen/default.nix b/nixpkgs/pkgs/development/libraries/hyphen/default.nix
new file mode 100644
index 000000000000..9f30ff54823f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/icu/58.nix b/nixpkgs/pkgs/development/libraries/icu/58.nix
index f7763ba49da1..e53e4e3737ed 100644
--- a/nixpkgs/pkgs/development/libraries/icu/58.nix
+++ b/nixpkgs/pkgs/development/libraries/icu/58.nix
@@ -10,5 +10,5 @@ import ./base.nix {
   version = "58.2";
   sha256 = "036shcb3f8bm1lynhlsb4kpjm9s9c2vdiir01vg216rs2l8482ib";
   patches = [ keywordFix ];
-  patchFlags = "-p4";
+  patchFlags = [ "-p4" ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/icu/base.nix b/nixpkgs/pkgs/development/libraries/icu/base.nix
index 0a8cb7d46843..e51224433e8b 100644
--- a/nixpkgs/pkgs/development/libraries/icu/base.nix
+++ b/nixpkgs/pkgs/development/libraries/icu/base.nix
@@ -1,4 +1,4 @@
-{ version, sha256, patches ? [], patchFlags ? "" }:
+{ version, sha256, patches ? [], patchFlags ? [] }:
 { stdenv, lib, fetchurl, fixDarwinDylibNames
   # Cross-compiled icu4c requires a build-root of a native compile
 , buildRootOnly ? false, nativeBuildRoot
@@ -63,10 +63,16 @@ let
     # remove dependency on bootstrap-tools in early stdenv build
     postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
       sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
-    '' + ''
+    '' + (let
+      replacements = [
+        { from = "\${prefix}/include"; to = "${placeholder "dev"}/include"; } # --cppflags-searchpath
+        { from = "\${pkglibdir}/Makefile.inc"; to = "${placeholder "dev"}/lib/icu/Makefile.inc"; } # --incfile
+        { from = "\${pkglibdir}/pkgdata.inc"; to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; } # --incpkgdatafile
+      ];
+    in ''
       substituteInPlace "$dev/bin/icu-config" \
-        --replace \''${pkglibdir}/Makefile.inc "$dev/lib/icu/Makefile.inc"
-    '';
+        ${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements}
+    '');
 
     postFixup = ''moveToOutput lib/icu "$dev" '';
   };
diff --git a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
index 5cc0f7c1f46d..00cdda1e5708 100644
--- a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which }:
+{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which,
+  fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "ilmbase";
@@ -19,9 +20,19 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ automake autoconf libtool which ];
 
-  NIX_CFLAGS_LINK = [ "-pthread" ];
+  NIX_CFLAGS_LINK = "-pthread";
 
-  patches = [ ./bootstrap.patch ./cross.patch ];
+  patches = [
+    ./bootstrap.patch
+    ./cross.patch
+    (fetchpatch {
+      name = "CVE-2018-18443.patch";
+      url = "https://github.com/kdt3rd/openexr/commit/5fa930b82cff2db386c64ca512af19e60c14d32a.patch";
+      sha256 = "1j6xd0qkx99acc1szycxaj0wwp01yac67jz48hwc4fwwpz8blx4s";
+      stripLen = 1;
+      excludes = [ "CHANGES.md" ];
+    })
+  ];
 
   # fails 1 out of 1 tests with
   # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
@@ -29,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/nixpkgs/pkgs/development/libraries/incrtcl/default.nix b/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
index f74477eab384..e7f575b04be7 100644
--- a/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "incrtcl";
-  version = "4.0.4";
+  version = "4.2.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz;
-    sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3";
+    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.2.0.tar.gz;
+    sha256 = "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw";
   };
 
   buildInputs = [ tcl ];
diff --git a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
index 53b89f17ea5c..6c872272e379 100644
--- a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "19.2.3";
+  version = "19.3.4";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "0hki53czv1na7h5b06fcwkd8bhn690ywg6dwjfs3x9fa4g48kqjb";
+    sha256 = "1vgh14vdmwr34l6rfzmbpsdwp4xi7qp8lg527p16pm7nv0bwx2zk";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
index e3dbfa52db22..176f28093048 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "19.2";
+  version = "19.3.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "118cg1grzm62lppaygvh7mgxn23bicjkwjwpxhbyqs9g6yhdj3p8";
+    sha256 = "1vzh11qr7dwmi3d10nq46k754h3q1yya71nk2jgicaj2mm0ylzx6";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index 67bee86bfa93..0ca31f551e89 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "19.1.0";
+  version = "19.4.0";
 
   src = fetchurl {
     url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz";
-    sha256 = "1gligrg6khzmwcy6miikljj75hhxqy0a95qzc8m61ipx5c8igdpv";
+    sha256 = "1l8wjb933wdl3vyq6r36a9pgf8n6pm9g9vcp3m393hixwzzl16i8";
   };
 
   # patchelf is needed for binaries in $out/share/samples
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Intel Media SDK.";
     license = licenses.mit;
     maintainers = with maintainers; [ midchildan ];
-    platforms = with platforms; linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/irrlicht/default.nix b/nixpkgs/pkgs/development/libraries/irrlicht/default.nix
index 35ef14cbc135..788772888c6d 100644
--- a/nixpkgs/pkgs/development/libraries/irrlicht/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/iso-codes/default.nix b/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
index 37d6c0643c73..1766abb2aac9 100644
--- a/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iso-codes";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchurl {
     url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2";
-    sha256 = "11n3sccwapfr7npxad8m3xmc7w8i11kk70ffbz25gj82bn8rylvb";
+    sha256 = "02x0wcz783ammkdrmrh31wsmww481xbkbz70vf766ivbnn5sfxn6";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/itk/4.x.nix b/nixpkgs/pkgs/development/libraries/itk/4.x.nix
index df016d9fcac0..7e24ba901e59 100644
--- a/nixpkgs/pkgs/development/libraries/itk/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/itk/4.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk }:
 
 stdenv.mkDerivation rec {
-  name = "itk-4.13.1";
+  name = "itk-4.13.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/itk/InsightToolkit-4.13.1.tar.xz;
-    sha256 = "0p4cspgbnjsnkjz8nfg092yaxz8qkqi2nkxjdv421d0zrmi0i2al";
+    url = mirror://sourceforge/itk/InsightToolkit-4.13.2.tar.xz;
+    sha256 = "19cgfpd63gqrvc3m27m394gy2d7w79g5y6lvznb5qqr49lihbgns";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/jasper/default.nix b/nixpkgs/pkgs/development/libraries/jasper/default.nix
index 1bad3394b6ac..093fd0c5f28a 100644
--- a/nixpkgs/pkgs/development/libraries/jasper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh b/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh
deleted file mode 100755
index d7de23ab95eb..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-unzip $src
-cd hsqldb*
-mkdir -p $out
-cp -R * $out/
diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
index a478ab0fc502..d9139ec1d823 100644
--- a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
@@ -1,19 +1,37 @@
-{ stdenv, fetchurl, unzip
-}:
+{ stdenv, fetchurl, unzip, makeWrapper, jre }:
 
-stdenv.mkDerivation {
-  name = "hsqldb-2.4.0";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "hsqldb";
+  version = "2.5.0";
+  underscoreMajMin = stdenv.lib.strings.replaceChars ["."] ["_"] (stdenv.lib.versions.majorMinor version);
 
   src = fetchurl {
-    url = mirror://sourceforge/hsqldb/hsqldb_1_8_0_9.zip;
-    sha256 = "1v5dslwsqb7csjmi5g78pghsay2pszidvlzhyi79y18mra5iv3g9";
+    url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip";
+    sha256 = "0s64w7qq5vayrzcmdhrdfmd6iqqv6x6fpiq9lpy2gva3dckv3q6j";
   };
 
-  buildInputs = [ unzip
-  ];
+  nativeBuildInputs = [ unzip makeWrapper ];
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib $out/bin
+    cp -R hsqldb/lib/*.jar $out/lib
+
+    makeWrapper ${jre}/bin/java $out/bin/hsqldb --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server"
+    makeWrapper ${jre}/bin/java $out/bin/runServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server"
+    makeWrapper ${jre}/bin/java $out/bin/runManagerSwing --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing"
+    makeWrapper ${jre}/bin/java $out/bin/runWebServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.WebServer"
+    makeWrapper ${jre}/bin/java $out/bin/runManager --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManager"
+    makeWrapper ${jre}/bin/java $out/bin/sqltool --add-flags "-jar $out/lib/sqltool.jar"
+
+   runHook postInstall
+  '';
 
   meta = with stdenv.lib; {
+    homepage = "http://hsqldb.org";
+    description = "A relational, embedable database management system written in Java and a set of related tools";
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
index be3ddfff4c84..09cec4631416 100644
--- a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.8";
+  name = "lombok-1.18.10";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "1z14rc3fh03qvn2xkjrb7ha0hddv3f3vsp781xm336sp4cl9b5h3";
+    sha256 = "1ymjwxg01dq8qq89hx23yvk5h46hwfb8ihbqbvabmz1vh9afjdi8";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/development/libraries/java/smack/default.nix b/nixpkgs/pkgs/development/libraries/java/smack/default.nix
index e28925c65bb2..d5f8ac217f3d 100644
--- a/nixpkgs/pkgs/development/libraries/java/smack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/java/swt/default.nix b/nixpkgs/pkgs/development/libraries/java/swt/default.nix
index a93d77742915..b0fdca112186 100644
--- a/nixpkgs/pkgs/development/libraries/java/swt/default.nix
+++ b/nixpkgs/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,10 +36,10 @@ 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" ];
+  NIX_LFLAGS = toString (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) +
+    " -lX11 -lpango-1.0 -lgdk_pixbuf-2.0 -lglib-2.0";
 
   buildPhase = ''
     unzip src.zip -d src
diff --git a/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix b/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
index 04a165866faf..2dff3bafdd30 100644
--- a/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python3, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "jbig2dec-0.14";
+  name = "jbig2dec-0.17";
 
   src = fetchurl {
-    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/${name}.tar.gz";
-    sha256 = "0k01hp0q4275fj4rbr1gy64svfraw5w7wvwl08yjhvsnpb1rid11";
+    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs950/${name}.tar.gz";
+    sha256 = "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp";
   };
 
   postPatch = ''
     patchShebangs test_jbig2dec.py
   '';
 
-  checkInputs = [ python ];
-  doCheck = false; # fails 1 of 4 tests
+  buildInputs = [ autoconf ];
+
+  checkInputs = [ python3 ];
+  doCheck = true;
 
   meta = {
     homepage = https://www.jbig2dec.com/;
diff --git a/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix b/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
index 726e00b58bba..6492077eee41 100644
--- a/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
@@ -1,19 +1,26 @@
 { stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "jitterentropy";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "smuellerDD";
     repo = "jitterentropy-library";
     rev = "v${version}";
-    sha256 = "10yl1hi0hysr53wzy2i8brs0qqnxh46mz3dcjh5mk0ad03wvbfsl";
+    sha256 = "0n2l1fxr7bynnarpwdjifb2fvlsq8w5wmfh31yk5nrc756cjlgyw";
   };
+  patches = [
+    # Can be removed when upgrading beyond 2.2.0
+    ./reproducible-manpages.patch
+  ];
 
   enableParallelBuilding = true;
 
   preInstall = ''
     mkdir -p $out/include
+    substituteInPlace Makefile \
+      --replace "install -m 0755 -s" \
+                'install -m 0755 -s --strip-program $(STRIP)'
   '';
 
   installFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch b/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
new file mode 100644
index 000000000000..68de5a8ae781
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 4ff069b..3b8714a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -58,7 +58,7 @@ cppcheck:
+ install:
+ 	install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3
+ 	install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/
+-	gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
++	gzip -n -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
+ 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR)
+ 	install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/
+ 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR)
diff --git a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
index c62f1e2de3f3..72158e186ac2 100644
--- a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,14 +1,14 @@
-{ stdenv , fetchFromGitHub , cmake , python }:
+{ stdenv, fetchFromGitHub, cmake, python, fetchpatch }:
 
 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
@@ -30,6 +30,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake python ];
 
+  # fix inverted sense in isAnyCharRequiredQuoting on aarch64. See: https://github.com/open-source-parsers/jsoncpp/pull/1120
+  patches = stdenv.lib.optionals stdenv.isAarch64 [
+    (fetchpatch {
+      url = "https://github.com/open-source-parsers/jsoncpp/commit/9093358efae9e5981aa60013487fc7215f040a59.patch";
+      sha256 = "1wiqp70sck2md14sfc0zdkblqk9750cl55ykf9d6b9vs1ifzzzq5";
+     })
+  ];
+
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DBUILD_STATIC_LIBS=OFF"
diff --git a/nixpkgs/pkgs/development/libraries/jsonrpc-glib/default.nix b/nixpkgs/pkgs/development/libraries/jsonrpc-glib/default.nix
index 8012c6b3b149..b12495467212 100644
--- a/nixpkgs/pkgs/development/libraries/jsonrpc-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jsonrpc-glib/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, meson, ninja, glib, json-glib, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome3 }:
 stdenv.mkDerivation rec {
   pname = "jsonrpc-glib";
-  version = "3.32.0";
+  version = "3.34.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1sx6xvzzdm9k0vfmpgg07abz7a9kar20h1a9ml0wgjdxr0valq5w";
+    sha256 = "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/kdb/default.nix b/nixpkgs/pkgs/development/libraries/kdb/default.nix
index 4a403a19964e..03eabc6447b4 100644
--- a/nixpkgs/pkgs/development/libraries/kdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kdb/default.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, mysql
+  qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, libmysqlclient
 }:
 
 mkDerivation rec {
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql mysql.connector-c ];
+  buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysqlclient ];
 
   propagatedBuildInputs = [ qtbase ];
 
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
index c8382ed3408b..d9192b940364 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
@@ -1,10 +1,14 @@
-{ mkDerivation, lib, extra-cmake-modules, gtk3, qtsvg }:
+{ mkDerivation, lib, extra-cmake-modules, gtk3, qtsvg, hicolor-icon-theme }:
 
 mkDerivation {
   name = "breeze-icons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules gtk3 ];
   buildInputs = [ qtsvg ];
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+  dontDropIconThemeCache = true;
   outputs = [ "out" ]; # only runtime outputs
   postInstall = ''
     gtk-update-icon-cache "''${out:?}/share/icons/breeze"
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
index ef1171b17601..d18dea1c3817 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/nixpkgs/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
               '';
@@ -97,6 +97,7 @@ let
       breeze-icons = callPackage ./breeze-icons.nix {};
       kapidox = callPackage ./kapidox.nix {};
       karchive = callPackage ./karchive.nix {};
+      kcalendarcore = callPackage ./kcalendarcore.nix {};
       kcodecs = callPackage ./kcodecs.nix {};
       kconfig = callPackage ./kconfig.nix {};
       kcoreaddons = callPackage ./kcoreaddons.nix {};
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
index bd105d2b4a9c..f019e67d3f08 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
@@ -1,8 +1,8 @@
 diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
-index 275fd65..a04596c 100644
+index 0acd33f..c04b0a5 100644
 --- a/kde-modules/KDEInstallDirs.cmake
 +++ b/kde-modules/KDEInstallDirs.cmake
-@@ -232,34 +232,6 @@
+@@ -236,35 +236,6 @@
  # GNUInstallDirs code deals with re-configuring, but that is dealt with
  # by the _define_* macros in this module).
  set(_LIBDIR_DEFAULT "lib")
@@ -17,6 +17,7 @@ index 275fd65..a04596c 100644
 -# See https://wiki.debian.org/Multiarch
 -if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
 -   AND NOT CMAKE_CROSSCOMPILING
+-   AND NOT EXISTS "/etc/arch-release"
 -   AND NOT DEFINED ENV{FLATPAK_ID})
 -  if (EXISTS "/etc/debian_version") # is this a debian system ?
 -    if(CMAKE_LIBRARY_ARCHITECTURE)
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 4df086ddbf21..4135f6bfd7aa 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -42,24 +42,23 @@ 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
 }
 postHooks+=(ecmPostHook)
 
-xdgDataSubdirs=(
-    "doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \
+xdgDataSubdirs=( \
+    "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \
     "kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \
     "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \
 )
 
-
 ecmHostPathSeen=( )
 
 ecmUnseenHostPath() {
@@ -104,5 +103,10 @@ ecmHostPathHook() {
     then
         qtWrapperArgs+=(--prefix INFOPATH : "$infoDir")
     fi
+
+    if [ -d "$1/dbus-1" ]
+    then
+        propagatedUserEnvPkgs+=" $1"
+    fi
 }
-addEnvHooks "$hostOffset" ecmHostPathHook
+addEnvHooks "$targetOffset" ecmHostPathHook
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
index 096376ca6712..c76ff9fb2c81 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.61/ )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.64/ )
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
new file mode 100644
index 000000000000..e0b6c5313bb9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
@@ -0,0 +1,16 @@
+{
+  mkDerivation,
+  lib,
+  extra-cmake-modules,
+  libical
+}:
+
+mkDerivation {
+  name = "kcalendarcore";
+  meta = {
+    maintainers = [ lib.maintainers.nyanloutre ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ libical ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
index e06d9547de07..3d7c7cdedefa 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
@@ -1,13 +1,13 @@
 {
   mkDerivation, lib, extra-cmake-modules,
-  kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons, qtbase,
+  kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons, qttools, qtbase,
 }:
 
 mkDerivation {
   name = "kconfigwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ kguiaddons ki18n qtbase ];
+  buildInputs = [ kguiaddons ki18n qtbase qttools ];
   propagatedBuildInputs = [ kauth kcodecs kconfig kwidgetsaddons ];
   patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/ki18n.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/ki18n.nix
index 3b9ca74bbd07..69ad2fbc737e 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/ki18n.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/ki18n.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules, gettext, python,
+  extra-cmake-modules, gettext, python3,
   qtbase, qtdeclarative, qtscript,
 }:
 
@@ -11,6 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedNativeBuildInputs = [ gettext python ];
+  propagatedNativeBuildInputs = [ gettext python3 ];
   buildInputs = [ qtdeclarative qtscript ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index 4b8e0059377d..8faac005f2ac 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, copyPathsToStore,
   extra-cmake-modules,
   breeze-icons, karchive, kcoreaddons, kconfigwidgets, ki18n, kitemviews,
-  qtbase, qtsvg,
+  qtbase, qtsvg, qttools,
 }:
 
 mkDerivation {
@@ -13,5 +13,5 @@ mkDerivation {
   buildInputs = [
     breeze-icons karchive kcoreaddons kconfigwidgets ki18n kitemviews
   ];
-  propagatedBuildInputs = [ qtbase qtsvg ];
+  propagatedBuildInputs = [ qtbase qtsvg qttools ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 281778d9d07f..fee21a6a9235 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib, copyPathsToStore,
-  extra-cmake-modules, kdoctools,
+  extra-cmake-modules, kdoctools, qttools,
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
   kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
@@ -18,7 +18,8 @@ mkDerivation {
   ];
   propagatedBuildInputs = [
     kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
-    kxmlgui qtbase solid
+    kxmlgui qtbase qttools solid
   ];
+  outputs = [ "out" "dev" ];
   patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
index 70f3cbb3c37e..df384648e6a3 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
@@ -1,9 +1,9 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules,
   attica, karchive, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes,
   kio, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase,
-  qtdeclarative,
+  qtdeclarative, kirigami2,
 }:
 
 mkDerivation {
@@ -12,7 +12,13 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio kitemviews
-    ktextwidgets kwidgetsaddons qtbase qtdeclarative
+    ktextwidgets kwidgetsaddons qtbase qtdeclarative kirigami2
   ];
   propagatedBuildInputs = [ attica kservice kxmlgui ];
+
+  patches = [ (fetchpatch {
+    url = "https://github.com/KDE/knewstuff/commit/dbf788c10130eaa3f5ea37a7f22eb4569471aa04.patch";
+    sha256 = "1225rgqg1j120nvhgsahvsq2xlkg91lr37zp14x19krixxgx521j";
+    revert = true;
+  }) ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kplotting.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kplotting.nix
index 380fd8fc5e34..1774b044b165 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kplotting.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kplotting.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib
-, extra-cmake-modules, qtbase
+, extra-cmake-modules, qttools, qtbase
 }:
 
 mkDerivation {
@@ -9,6 +9,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ qtbase ];
+  propagatedBuildInputs = [ qtbase qttools ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
index 8b082f7f3655..604066b96394 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules,
+  extra-cmake-modules, qttools,
   kcompletion, kconfig, kconfigwidgets, ki18n, kiconthemes, kservice,
   kwindowsystem, qtbase, sonnet,
 }:
@@ -12,5 +12,5 @@ mkDerivation {
   buildInputs = [
     kcompletion kconfig kconfigwidgets kiconthemes kservice kwindowsystem
   ];
-  propagatedBuildInputs = [ ki18n qtbase sonnet ];
+  propagatedBuildInputs = [ ki18n qtbase qttools sonnet ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
index ae0da37922e9..27501732210f 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
@@ -1,21 +1,24 @@
-Index: kwindowsystem-5.32.0/src/pluginwrapper.cpp
+Index: kwindowsystem-5.64.0/src/pluginwrapper.cpp
 ===================================================================
---- kwindowsystem-5.32.0.orig/src/pluginwrapper.cpp
-+++ kwindowsystem-5.32.0/src/pluginwrapper.cpp
-@@ -37,14 +37,9 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp
+--- kwindowsystem-5.64.0.orig/src/pluginwrapper.cpp
++++ kwindowsystem-5.64.0/src/pluginwrapper.cpp
+@@ -37,16 +37,10 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp
  static QStringList pluginCandidates()
  {
      QStringList ret;
--    foreach (const QString &path, QCoreApplication::libraryPaths()) {
--        QDir pluginDir(path + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
+-    const auto paths = QCoreApplication::libraryPaths();
+-    for (const QString &path : paths) {
+-        QDir pluginDir(path + QLatin1String("/kf5/org.kde.kwindowsystem.platforms"));
 -        if (!pluginDir.exists()) {
 -            continue;
 -        }
--        foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) {
+-        const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
+-        for (const QString &entry : entries) {
 -            ret << pluginDir.absoluteFilePath(entry);
 -        }
 +    QDir pluginDir(QLatin1String(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
-+    foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) {
++    const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
++    for (const QString &entry : entries) {
 +        ret << pluginDir.absoluteFilePath(entry);
      }
      return ret;
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
index b9aede81f9a9..5adcf281e622 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules,
+  extra-cmake-modules, qttools,
   attica, kconfig, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews,
   ktextwidgets, kwindowsystem, qtbase, sonnet,
 }:
@@ -13,5 +13,5 @@ mkDerivation {
     attica kglobalaccel ki18n kiconthemes kitemviews ktextwidgets kwindowsystem
     sonnet
   ];
-  propagatedBuildInputs = [ kconfig kconfigwidgets qtbase ];
+  propagatedBuildInputs = [ kconfig kconfigwidgets qtbase qttools ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
index 549f99a55886..32edca387102 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,651 @@
 
 {
   attica = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/attica-5.61.0.tar.xz";
-      sha256 = "9d3ad34c17223333b5a77144cc5a9d941cbb7baa01ab4a2ffe34ae9398c90dde";
-      name = "attica-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/attica-5.64.0.tar.xz";
+      sha256 = "c9b060693656a458f92905091e12d800be020abbf47bb68b9f769a191aa368d9";
+      name = "attica-5.64.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/baloo-5.61.0.tar.xz";
-      sha256 = "dd559e06237843f51d68eb5001b835037d4b2f6d62b7dc4d040961f9863632f1";
-      name = "baloo-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/baloo-5.64.0.tar.xz";
+      sha256 = "adaaef1aeec07ccc210210a2e67f4d12c0275226bb05d0220da0281f1a3984c2";
+      name = "baloo-5.64.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/bluez-qt-5.61.0.tar.xz";
-      sha256 = "0ea647de61fcc18a85c660fa8e05fe93072a713a8d00a018ba8e99ea790e5d27";
-      name = "bluez-qt-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/bluez-qt-5.64.0.tar.xz";
+      sha256 = "7d6c7ba913cea6059327726325b8af4cf2baa7594b8be3143e0649eaa36f8384";
+      name = "bluez-qt-5.64.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/breeze-icons-5.61.0.tar.xz";
-      sha256 = "1d260a01a2617f5f755d2eb38423af19bf4a1a2ccfa9339b441b4f6be6381c30";
-      name = "breeze-icons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/breeze-icons-5.64.0.tar.xz";
+      sha256 = "08c2f7efc5f1550668dd2e0cff1641b1b6ec8a91f01614ee14c6abc4d975672f";
+      name = "breeze-icons-5.64.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/extra-cmake-modules-5.61.0.tar.xz";
-      sha256 = "a86a3b12c8a540af822131a8d65586d985267b1d642c29b4815b6c7870bc126c";
-      name = "extra-cmake-modules-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/extra-cmake-modules-5.64.0.tar.xz";
+      sha256 = "1865efc6254bed44e0a6918c5af3da62be4008ba7a197a47f35251f298041a69";
+      name = "extra-cmake-modules-5.64.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/frameworkintegration-5.61.0.tar.xz";
-      sha256 = "a1a2bbb15d287b67643750cb5414ceb10c6583861dd5c00118010d409f106efb";
-      name = "frameworkintegration-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/frameworkintegration-5.64.0.tar.xz";
+      sha256 = "6c1880f8300a014bb835ce29fd68651bfd38400de8044fe5914cb4392df48a26";
+      name = "frameworkintegration-5.64.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kactivities-5.61.0.tar.xz";
-      sha256 = "0d7d7e5bd68541ad1dcf1f96c7205330cb7b075c6ff0d8b46774e781eff84af5";
-      name = "kactivities-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kactivities-5.64.0.tar.xz";
+      sha256 = "5afbd0785c04127c91f1ad7402c95ce3f994fb94b216baf56cd802a3a230a3f9";
+      name = "kactivities-5.64.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kactivities-stats-5.61.0.tar.xz";
-      sha256 = "9062eb0f189f1b50674e65a7db9a4b821c628acd1ac650000cebbf1f7bdf0068";
-      name = "kactivities-stats-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kactivities-stats-5.64.0.tar.xz";
+      sha256 = "ca1c07b1250735372a4f6aa6b493536d420a902de0d7a8c9777b437fb6ab0bf9";
+      name = "kactivities-stats-5.64.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kapidox-5.61.0.tar.xz";
-      sha256 = "3c948c87c7f7b16a3835f7df8387c110efe5fefecf8a7d6ffa1cae647be0669f";
-      name = "kapidox-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kapidox-5.64.0.tar.xz";
+      sha256 = "f75eedfa1af51f5224b14d8bc4c229c2c2d27f607e00172d24bdcede1c899fb4";
+      name = "kapidox-5.64.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/karchive-5.61.0.tar.xz";
-      sha256 = "457ed420449630625cb161fcc9bedc7c6a16527f48d6db4008aea76cdb948387";
-      name = "karchive-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/karchive-5.64.0.tar.xz";
+      sha256 = "135fbfb2dfe107e4487723a5f887d1d074e13258a4583d592639366094aafe1a";
+      name = "karchive-5.64.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kauth-5.61.0.tar.xz";
-      sha256 = "b04458f32046b2dd61b48118646180df63d2c843cb2d53560aaa15168df087f1";
-      name = "kauth-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kauth-5.64.0.tar.xz";
+      sha256 = "ac95525bf1430868c8f54dbdc986478cf7b21192ad3b486381485b429eadddcc";
+      name = "kauth-5.64.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kbookmarks-5.61.0.tar.xz";
-      sha256 = "24f87ff1acc5f0c257518f67af277b454566e607f82eb09e75b4a6ed02403377";
-      name = "kbookmarks-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kbookmarks-5.64.0.tar.xz";
+      sha256 = "51343a57b50032d60ffae123f426cdd67cd290ce306ae494c1956d0b899d4ff2";
+      name = "kbookmarks-5.64.0.tar.xz";
+    };
+  };
+  kcalendarcore = {
+    version = "5.64.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.64/kcalendarcore-5.64.0.tar.xz";
+      sha256 = "983f240a7478a780dc403d577827f027856f9f67e8c3bfe8b69d56093e5bb80e";
+      name = "kcalendarcore-5.64.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kcmutils-5.61.0.tar.xz";
-      sha256 = "b8b79ef2f4513fbe5e4c61cf4726ed33b95efffabdd512fcc2dcff23c23cdfa7";
-      name = "kcmutils-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcmutils-5.64.0.tar.xz";
+      sha256 = "f55938c566669e9fcdd786ebfd89edfc11b0c283532aed04cfe4162b58a8b649";
+      name = "kcmutils-5.64.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kcodecs-5.61.0.tar.xz";
-      sha256 = "4604323e44c1be7547f25b43b71bd541048c3d036a7fc5ca74e5ece9792ff5ee";
-      name = "kcodecs-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcodecs-5.64.0.tar.xz";
+      sha256 = "24cbffb123179cf4386500ae7bc7c99f65c4422cd7b91f314152f11cd596402a";
+      name = "kcodecs-5.64.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kcompletion-5.61.0.tar.xz";
-      sha256 = "68697be65d6c9e0053fc3e504170d23c3162c05a0a9027249c575bc6dc8bd3ec";
-      name = "kcompletion-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcompletion-5.64.0.tar.xz";
+      sha256 = "4fe5b9254e038e654d55167163b2812582f31fe550c977979d692b69424c2508";
+      name = "kcompletion-5.64.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kconfig-5.61.0.tar.xz";
-      sha256 = "94c0e292a5d57e014aa745be6b59a989118ead1252d56c768f2719b5c6471372";
-      name = "kconfig-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kconfig-5.64.0.tar.xz";
+      sha256 = "112c1db9f038dbacf357d08645c83ca103d8c3e7fb0c880ac16f665fdf7d9157";
+      name = "kconfig-5.64.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.61.0";
+    version = "5.64.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.64/kconfigwidgets-5.64.0.tar.xz";
+      sha256 = "e84d590c064f2a86d5b9d2fb5d8aa7abc8ac8752125f5d3197cca6dc7e115c56";
+      name = "kconfigwidgets-5.64.0.tar.xz";
+    };
+  };
+  kcontacts = {
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kconfigwidgets-5.61.0.tar.xz";
-      sha256 = "4cc1e55c5f994abbec03b32bef73bdf54c2613199a446ad63f4ced6e3a0e2165";
-      name = "kconfigwidgets-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcontacts-5.64.0.tar.xz";
+      sha256 = "0bf0a1ba6ebedd400bed7a490093962cde6a2b26c49627d6770a71524db63058";
+      name = "kcontacts-5.64.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kcoreaddons-5.61.0.tar.xz";
-      sha256 = "6a4ea2eca77944c24fe63d2f7111913db721533d5971497cb5bdd2cac896e813";
-      name = "kcoreaddons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcoreaddons-5.64.0.tar.xz";
+      sha256 = "3f0cb3273debf9791dda3f1ad135b6b1a20d88fed1e21890c4b70bac64fdb188";
+      name = "kcoreaddons-5.64.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kcrash-5.61.0.tar.xz";
-      sha256 = "83e6333ea0cd7d1ded3fa84f126e3c86a010d7bdb7fd183e7c5d42a8b8e74db8";
-      name = "kcrash-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcrash-5.64.0.tar.xz";
+      sha256 = "9e9ad5e7a6a3e9a128128a7863204f8c4a555bd8659d8ed4ef4cc6bb2fc48290";
+      name = "kcrash-5.64.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdbusaddons-5.61.0.tar.xz";
-      sha256 = "f24fadc71670591bb679cde68147e53819f6c3d56126ecbafe59688fc47b347d";
-      name = "kdbusaddons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdbusaddons-5.64.0.tar.xz";
+      sha256 = "74a6eb443a74eb74a859238b555a3b16be1d6367c4db2a7af5b16da528d57f62";
+      name = "kdbusaddons-5.64.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdeclarative-5.61.0.tar.xz";
-      sha256 = "464a77f88cce72c1616654c371068c11d51e484e0de5c0c5e032126d71afedaa";
-      name = "kdeclarative-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdeclarative-5.64.0.tar.xz";
+      sha256 = "1bf199aebabe63880babc364572de44f6b0a94ffbbffd955bc85916c2be7701d";
+      name = "kdeclarative-5.64.0.tar.xz";
     };
   };
   kded = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kded-5.61.0.tar.xz";
-      sha256 = "ca970111cb2d0073305a226cc005e2085952c2a02703168a775f954d27d723bc";
-      name = "kded-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kded-5.64.0.tar.xz";
+      sha256 = "2e8bda93918ac174254c8f70a71c9d6966a4721e14a631760e1b912d108001be";
+      name = "kded-5.64.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kdelibs4support-5.61.0.tar.xz";
-      sha256 = "ae6f7c10e1fe67ded687f38a8ab3c8d483ae06ae69344bd1e683af752cf40b5c";
-      name = "kdelibs4support-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdelibs4support-5.64.0.tar.xz";
+      sha256 = "8c9e23e0e22ccec8b46b4c4b160adb8c8765c1dc308bf297f6f72ccc97c7b682";
+      name = "kdelibs4support-5.64.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdesignerplugin-5.61.0.tar.xz";
-      sha256 = "6b204dffbb4897f51143650d75383b5a3ddf4254455e5827d316c7b4ee7b3f33";
-      name = "kdesignerplugin-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdesignerplugin-5.64.0.tar.xz";
+      sha256 = "1ca638ec822d9882f4a865d599ce8ad94785fa890ce73bccd5e78210c4a3d95b";
+      name = "kdesignerplugin-5.64.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdesu-5.61.0.tar.xz";
-      sha256 = "398e74bdfe695ec2d7b57ce78f9fce3e19bb447a8eb5924441718a8f7384f888";
-      name = "kdesu-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdesu-5.64.0.tar.xz";
+      sha256 = "f4644b0ee91c55473589909c20a7fa1cfbd3d466f1c72b330d53871a2346d4f0";
+      name = "kdesu-5.64.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kdewebkit-5.61.0.tar.xz";
-      sha256 = "1ee2a00ee3d95df9270e8c3d434568cda8f42151e361bc07fe374bf0f7afe211";
-      name = "kdewebkit-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdewebkit-5.64.0.tar.xz";
+      sha256 = "882801a1fd944b08918cb7d9341985e4330e7adac00ae4e6dddcea5343393ac1";
+      name = "kdewebkit-5.64.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdnssd-5.61.0.tar.xz";
-      sha256 = "02d70e5ee18697867c1a12373c1dbe31e1efba1fcb1e26bba3c75472cd3b271d";
-      name = "kdnssd-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdnssd-5.64.0.tar.xz";
+      sha256 = "92d9a4947c45e56ea15e417eaf87121b4b3a4f1f81dfd154d2ee968a9797f46b";
+      name = "kdnssd-5.64.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kdoctools-5.61.0.tar.xz";
-      sha256 = "e48d8f8f075171c6b83189999a10552c772c6a7e9a115a2643414f9ecec77c6f";
-      name = "kdoctools-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdoctools-5.64.0.tar.xz";
+      sha256 = "3e669c9bdf8822c262d834a9fbe9250ffdc91ea49c916b2c16ac8483b62f8fce";
+      name = "kdoctools-5.64.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kemoticons-5.61.0.tar.xz";
-      sha256 = "cfc17de43320fbb353be30ae8d5b448b88da6f83bd23e29d678cd95a4bd7a380";
-      name = "kemoticons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kemoticons-5.64.0.tar.xz";
+      sha256 = "0b586957bfe26ce0fe44eca305992f99e3c31fbeb19a9d369c4abfdf9cc0400f";
+      name = "kemoticons-5.64.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kfilemetadata-5.61.0.tar.xz";
-      sha256 = "15f20af053c71c1e5ba6c6ade90b7cce27645b27ee30f1e6e73038e81a2c958e";
-      name = "kfilemetadata-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kfilemetadata-5.64.0.tar.xz";
+      sha256 = "4b581e4d659defe4db595a984ed4c037bc80e0bf7b298ec79e6aa5061fa56e23";
+      name = "kfilemetadata-5.64.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kglobalaccel-5.61.0.tar.xz";
-      sha256 = "ad6bd2648e39854369555dd8a0823b08d9631f3638472627eb80e01d9902150e";
-      name = "kglobalaccel-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kglobalaccel-5.64.0.tar.xz";
+      sha256 = "6863515428988c129acfcceaa3518f90d72c590aff2c295a958a68d0c4cd02ab";
+      name = "kglobalaccel-5.64.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kguiaddons-5.61.0.tar.xz";
-      sha256 = "40cefa421b5ad5cf211875a35408ba526a5fb34e5ba19ebbda718dbf6b742520";
-      name = "kguiaddons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kguiaddons-5.64.0.tar.xz";
+      sha256 = "4caac79b7341c7796f3ca5e1d88cef57ecab2eefcac9ab654fd977706c89bae4";
+      name = "kguiaddons-5.64.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kholidays-5.61.0.tar.xz";
-      sha256 = "ce3d879824a3e429b468008c1ccec5de44c07299d412ea32f9a2a814c27c08c1";
-      name = "kholidays-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kholidays-5.64.0.tar.xz";
+      sha256 = "65b847ba7a00e1a42c0048fe05a400f584e1d9e746edb5d935331ffcb1f5d4ab";
+      name = "kholidays-5.64.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/khtml-5.61.0.tar.xz";
-      sha256 = "5d8612b584eecf96959d56bb75b1470b3b34ff7176cef7a0a15bc2531b21720b";
-      name = "khtml-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/khtml-5.64.0.tar.xz";
+      sha256 = "00d3a3e8c8b8072f4894d74f91d963cfefbd681e47da0b8e80e1297224c5af85";
+      name = "khtml-5.64.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/ki18n-5.61.0.tar.xz";
-      sha256 = "d8c0594268b386ee42823360aa937c664cf04eedac8232bc18a653a9c52491d9";
-      name = "ki18n-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ki18n-5.64.0.tar.xz";
+      sha256 = "ccd2c2f8b14251701f902c9e7d046da1582e544d31edae743911f3554022d024";
+      name = "ki18n-5.64.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kiconthemes-5.61.0.tar.xz";
-      sha256 = "341741abd0b8aeeec8a2a87fe781b4ec1ab593563b1c063cdfdccead3706cdd7";
-      name = "kiconthemes-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kiconthemes-5.64.0.tar.xz";
+      sha256 = "f89a97e9501d841d4543249776783ebd1fc4d7f69e114f8a56027f59ad32000a";
+      name = "kiconthemes-5.64.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kidletime-5.61.0.tar.xz";
-      sha256 = "8fb302dcc5b891ac2f06b5278bd6e08043772f3325bc209175c945280621fca2";
-      name = "kidletime-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kidletime-5.64.0.tar.xz";
+      sha256 = "8287e958a8a2a9538bec1038f5e31ebba338ff522de9c51265ca1d63030581d0";
+      name = "kidletime-5.64.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kimageformats-5.61.0.tar.xz";
-      sha256 = "5a81359a043e201b29e205dd93559de077e0317d26712cb1c07e624d76aeb207";
-      name = "kimageformats-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kimageformats-5.64.0.tar.xz";
+      sha256 = "48c6a7026854127fc83698ab11e6639a525d387cf384f2558db6c7478bceae4c";
+      name = "kimageformats-5.64.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kinit-5.61.0.tar.xz";
-      sha256 = "1806bba9cc3f4d9c5ed23f49eca30707e8f74a99d35f5022130a46a395f2858f";
-      name = "kinit-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kinit-5.64.0.tar.xz";
+      sha256 = "5298b783499cedb681c334b20234a511cb3377e66d140e7df6b7c1899186263d";
+      name = "kinit-5.64.0.tar.xz";
     };
   };
   kio = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kio-5.61.0.tar.xz";
-      sha256 = "1fa35126f8167bdbe029e515d01c8d4b91a07556ce6d5c9418e0ea10d7c2e44e";
-      name = "kio-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kio-5.64.0.tar.xz";
+      sha256 = "e38c8dcf634989f0f7ec95b68bdd936b9e05f7d242e4050b01f79b7021108f59";
+      name = "kio-5.64.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kirigami2-5.61.0.tar.xz";
-      sha256 = "afdbe922f0627330319f22834d6631af13edb0081c687422d36acb8697a88c30";
-      name = "kirigami2-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kirigami2-5.64.0.tar.xz";
+      sha256 = "c394360e2323c55cf654d09ec762a03c47db0027e6a992646ea32d27ce8b228e";
+      name = "kirigami2-5.64.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kitemmodels-5.61.0.tar.xz";
-      sha256 = "47db271ba24904933629ed00f7a4f916a19969967dcfbfd59ae5e98f08f89d68";
-      name = "kitemmodels-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kitemmodels-5.64.0.tar.xz";
+      sha256 = "1bae70e4c6a033eea649efc17f0a060aba89144f4c469f235fbf5023dba5abc4";
+      name = "kitemmodels-5.64.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kitemviews-5.61.0.tar.xz";
-      sha256 = "0447b361444a853409f65e2fb5650cc95eb799ca54a5d7e15cd6d8ca527002da";
-      name = "kitemviews-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kitemviews-5.64.0.tar.xz";
+      sha256 = "0b3f8a0116c042ae187b67f35ffd40872352b91f5f236d19dd26ffad8db83fee";
+      name = "kitemviews-5.64.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kjobwidgets-5.61.0.tar.xz";
-      sha256 = "5246c2a230e3b4e9d7ba87c5a6b13b5f96fef6af0d1262f27f91fa0c619cf378";
-      name = "kjobwidgets-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kjobwidgets-5.64.0.tar.xz";
+      sha256 = "3b39fc5dfc0f1a9cc9bffed3d05b90ba46c52c63cbbeffa0666f5f09e7093ce0";
+      name = "kjobwidgets-5.64.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kjs-5.61.0.tar.xz";
-      sha256 = "968e1592c98ee260d80644bf4631bf09479512e48fa878887ee3b9d6d57d3d17";
-      name = "kjs-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kjs-5.64.0.tar.xz";
+      sha256 = "93855cde810feb7208443a93f81c952bdb42f9886154959bc7a6509c9863e503";
+      name = "kjs-5.64.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kjsembed-5.61.0.tar.xz";
-      sha256 = "d8e0afad638574c31c89d716d78456ce51ffe6dd03eae6787bc9b4f8b52d5b44";
-      name = "kjsembed-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kjsembed-5.64.0.tar.xz";
+      sha256 = "939226116cb47fd66dc45a41baa3c0f45b7ab904ec7674088ced3df5c7bae62e";
+      name = "kjsembed-5.64.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kmediaplayer-5.61.0.tar.xz";
-      sha256 = "ae15a4a39e6530b505d699fb1b1ab3fd5f0e64d87dd758db17702463e44ce181";
-      name = "kmediaplayer-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kmediaplayer-5.64.0.tar.xz";
+      sha256 = "ce4816a14134c4968559ff5030895ab69b63b66e9b541b74595ce05e4fe68d1d";
+      name = "kmediaplayer-5.64.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/knewstuff-5.61.0.tar.xz";
-      sha256 = "87f8ec030223f5f0e4e39de8407fc0d28542e48e057c1752adb2466c55fe365b";
-      name = "knewstuff-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knewstuff-5.64.0.tar.xz";
+      sha256 = "91334c95a1082ae402ee869da399e5bdbac986c8b30a85d0a899b30de1f3be72";
+      name = "knewstuff-5.64.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/knotifications-5.61.0.tar.xz";
-      sha256 = "f72ce6394465316a5324e38afb07f4f71d5f8e281d09b5cf340246c9905568ac";
-      name = "knotifications-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knotifications-5.64.0.tar.xz";
+      sha256 = "5f0c3b158ba253e8df81016c8921d689836ecac063a39766c0290352c9f71bc1";
+      name = "knotifications-5.64.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/knotifyconfig-5.61.0.tar.xz";
-      sha256 = "bbd2260a98f70779415369ca1d99807bc3e57f618024b9663d2a462a74169bee";
-      name = "knotifyconfig-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knotifyconfig-5.64.0.tar.xz";
+      sha256 = "f496ed0728e688347da360f7aad7f2666cb0310ab669c6006ce9661233218b27";
+      name = "knotifyconfig-5.64.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kpackage-5.61.0.tar.xz";
-      sha256 = "8ff82d14fe0dd92ac774d5cd9cd6334b01574f0f5c584266f97359dde5db9a5f";
-      name = "kpackage-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpackage-5.64.0.tar.xz";
+      sha256 = "c39c80317c75206ec347edf6d301cb66c2117489f37725374fcfe3b1459aaed6";
+      name = "kpackage-5.64.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kparts-5.61.0.tar.xz";
-      sha256 = "f223b38f34f009bb25511ce7d97c607102cbb0a1bd0253ec1b7d1fe1b7c81436";
-      name = "kparts-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kparts-5.64.0.tar.xz";
+      sha256 = "61338a37015c2df787b8e0fe49f0ef320474a82831b4f110fb5aefd1635b1d9f";
+      name = "kparts-5.64.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kpeople-5.61.0.tar.xz";
-      sha256 = "549edacd7b63d704dd165bc803ae03f8d9e8c1ba31f8dbaea3f7e12c466b4298";
-      name = "kpeople-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpeople-5.64.0.tar.xz";
+      sha256 = "b5bc8d037dab124ea65be1c480b25943e789a403176f8b31599383dcdec20a0e";
+      name = "kpeople-5.64.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kplotting-5.61.0.tar.xz";
-      sha256 = "95781b50bef0e081e48b472b4fcbbcd3301ec45245498261e4a3ec8e42b892ba";
-      name = "kplotting-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kplotting-5.64.0.tar.xz";
+      sha256 = "f38f65c97d199077c88213bce84c6162ba254c443f06ccfaf62088ff0e217f7b";
+      name = "kplotting-5.64.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kpty-5.61.0.tar.xz";
-      sha256 = "b91a88c00d3387927d1f6886a04e6e5bcc615ee1d0e72f647d51320ebf73471c";
-      name = "kpty-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpty-5.64.0.tar.xz";
+      sha256 = "c2ece8c6b336ee85973e005969f1228bbfac87cbace6853e9d01a7b5c5fe319e";
+      name = "kpty-5.64.0.tar.xz";
     };
   };
   kross = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/portingAids/kross-5.61.0.tar.xz";
-      sha256 = "103837799febbd62365a6445db046a2ee4add13d7d250abf925872cac642986e";
-      name = "kross-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kross-5.64.0.tar.xz";
+      sha256 = "d8a7e9fbeba4d16d6288d13d72a5f7581aa8be5894b06f83dbc6068b04551ebd";
+      name = "kross-5.64.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/krunner-5.61.0.tar.xz";
-      sha256 = "f32ea603a9bcb9c2e39231f99bfc6079d118eebbf2c72e0818e2a9cd060543be";
-      name = "krunner-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/krunner-5.64.0.tar.xz";
+      sha256 = "e056635f347eb4d8b2a1545de993b28ead1af4e8e4acc43f1dd1637b528fe0b2";
+      name = "krunner-5.64.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kservice-5.61.0.tar.xz";
-      sha256 = "4489ac4553522bb76604e284338ab37a7a2369eea45dadd96a955fedf8ca99f9";
-      name = "kservice-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kservice-5.64.0.tar.xz";
+      sha256 = "60e0c111485158f89211a62403697714dfe141e3539c1c7e1bf04550db74f02f";
+      name = "kservice-5.64.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/ktexteditor-5.61.0.tar.xz";
-      sha256 = "ae99eacb445f8bc27af379d1ec54e8df4d25f601fc12053bc2928a8c639ad0cb";
-      name = "ktexteditor-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ktexteditor-5.64.0.tar.xz";
+      sha256 = "0fe12c57a7428d78c46d3367bdae47a0b9fbbd762be4f57f0c52dcd76e309ed5";
+      name = "ktexteditor-5.64.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/ktextwidgets-5.61.0.tar.xz";
-      sha256 = "a2fddad3dda750ea6bdb104c460e50586946ded3e1f46a8729dbd304016a0b5a";
-      name = "ktextwidgets-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ktextwidgets-5.64.0.tar.xz";
+      sha256 = "0e94c36c7d836450d4c52bd933c492235ea0071b15702c302aed003e8400bbfd";
+      name = "ktextwidgets-5.64.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kunitconversion-5.61.0.tar.xz";
-      sha256 = "e5ffa3ff954c46b2416823467fcecd37c6ddb8304529703bc9cc3a24b74b6c24";
-      name = "kunitconversion-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kunitconversion-5.64.0.tar.xz";
+      sha256 = "6783d6180b132a80dce2a4cc6c793dae0f5859b0709207c5fc6f4501ef53a822";
+      name = "kunitconversion-5.64.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kwallet-5.61.0.tar.xz";
-      sha256 = "628ded35a8f44750a770bf10bba9a763994660923a689eee05f8dfb7e92baec8";
-      name = "kwallet-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwallet-5.64.0.tar.xz";
+      sha256 = "16ff5bb5724105c3d59404f292232c03c6003f6229b483509e395e1171ccabde";
+      name = "kwallet-5.64.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kwayland-5.61.0.tar.xz";
-      sha256 = "42d3bc629710e09074006af288986b00683853660648c9364fb09d49db3f0e07";
-      name = "kwayland-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwayland-5.64.0.tar.xz";
+      sha256 = "1540d4ff62afd0bff234e08618fc77d2c54b5cd69bf9c478c45a08a6e69349d3";
+      name = "kwayland-5.64.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kwidgetsaddons-5.61.0.tar.xz";
-      sha256 = "5abc169f431fba18418f23ff1749414d8318baff868a7b821916cc44508c6891";
-      name = "kwidgetsaddons-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwidgetsaddons-5.64.0.tar.xz";
+      sha256 = "a2d4a47489621d095c4979ea25d5d8304cf4004b10a892a2b314d74cd30cb5da";
+      name = "kwidgetsaddons-5.64.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kwindowsystem-5.61.0.tar.xz";
-      sha256 = "17958b612e751e838aa7a0d4f8c7a8a8d83d3f4ace5498fe1f2b8650a2d8f984";
-      name = "kwindowsystem-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwindowsystem-5.64.0.tar.xz";
+      sha256 = "77c2e6b0032a79547f80bcd36682aa72c0e901e3b5acc83a58f69d644ce03dab";
+      name = "kwindowsystem-5.64.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kxmlgui-5.61.0.tar.xz";
-      sha256 = "867ff1c3ad464bb6268d00ca290569ef1da7659d3fd2f6349015bc3e2562836b";
-      name = "kxmlgui-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kxmlgui-5.64.0.tar.xz";
+      sha256 = "faa95b92b3b03130022841a6797d5beb3efb6a0d757afaefe038889af76a1dd1";
+      name = "kxmlgui-5.64.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/kxmlrpcclient-5.61.0.tar.xz";
-      sha256 = "382b4730e4b32c1d300f8fdb6269e40995ec282ebe1cbb044ab1a2b2b68c3a1a";
-      name = "kxmlrpcclient-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kxmlrpcclient-5.64.0.tar.xz";
+      sha256 = "8c36472cb69a2d5eeb88c437907f7b0b46703ef34d04df7b45a8c90eb95fd6b0";
+      name = "kxmlrpcclient-5.64.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/modemmanager-qt-5.61.0.tar.xz";
-      sha256 = "c9883a3aac7415045a03f0bda435a2a5ff7523538868b72dffa8e4b40e88502a";
-      name = "modemmanager-qt-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/modemmanager-qt-5.64.0.tar.xz";
+      sha256 = "a9d8554b3720cf46aaaa70da87c79688afc5baa155ffd19ea00e4cae2a1caa21";
+      name = "modemmanager-qt-5.64.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/networkmanager-qt-5.61.0.tar.xz";
-      sha256 = "1ded63af93957a04292e965ecce06388f183d3adc555b4f3d33337ee15d858c3";
-      name = "networkmanager-qt-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/networkmanager-qt-5.64.0.tar.xz";
+      sha256 = "369d0391e199d059dd2faa554324cbd45334f7864ccfc462699b06c89af04bbf";
+      name = "networkmanager-qt-5.64.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/oxygen-icons5-5.61.0.tar.xz";
-      sha256 = "1ca8f6e42186d069cb4f0581914b147cabc3be3e720c382e77048be134bb1b26";
-      name = "oxygen-icons5-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/oxygen-icons5-5.64.0.tar.xz";
+      sha256 = "41d415b4bd9cca0d9abc43b187059d833ce92b3fff3da66eb8ff4004215e91ef";
+      name = "oxygen-icons5-5.64.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/plasma-framework-5.61.0.tar.xz";
-      sha256 = "873d604aadbe21ba38cdb12b778d3baf121a54e6155596f0ebee1840138060fe";
-      name = "plasma-framework-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/plasma-framework-5.64.0.tar.xz";
+      sha256 = "3f1311a48826ab0a76f47d05b02f9a9486f821cc1ad757b895b570e371acfd09";
+      name = "plasma-framework-5.64.0.tar.xz";
     };
   };
   prison = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/prison-5.61.0.tar.xz";
-      sha256 = "9ebab1755e9d7cb01b2aa6e8b63640eb112d8557073423abdb94faecb42d87ab";
-      name = "prison-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/prison-5.64.0.tar.xz";
+      sha256 = "31e136dd33940f32fdb87699b113c57aab566112bb9649f20a057c4eee20db2e";
+      name = "prison-5.64.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/purpose-5.61.0.tar.xz";
-      sha256 = "810a660d0a4d6de41e1b4d00fcb039d3b099ceae65ec96261ca8dd1fba458d08";
-      name = "purpose-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/purpose-5.64.0.tar.xz";
+      sha256 = "004794dfa2d0bcef316d582f37e5691e3980c99240ef570313a98a8d44235b0d";
+      name = "purpose-5.64.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/qqc2-desktop-style-5.61.0.tar.xz";
-      sha256 = "26042c4f939b94caa559cba3ef171ef7bb1490f57c9907f5e4b30a701659abb4";
-      name = "qqc2-desktop-style-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/qqc2-desktop-style-5.64.0.tar.xz";
+      sha256 = "b0e6ad1ccbd01b6974c3222c6098b6c1ae1fe594c26fe0e2817c35dd90b6013a";
+      name = "qqc2-desktop-style-5.64.0.tar.xz";
     };
   };
   solid = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/solid-5.61.0.tar.xz";
-      sha256 = "c3a032086eacbb836fc102bd77236285ad5a808c0537ff55dbacda539ba3eacf";
-      name = "solid-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/solid-5.64.0.tar.xz";
+      sha256 = "fcbbfd124759854bde2da74e1768da818361f61f2839877b4efbcd38b825da6b";
+      name = "solid-5.64.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/sonnet-5.61.0.tar.xz";
-      sha256 = "4c8818897ea5dac25e0120acfd4e15c44adf2ee76749870b8f70178f1a3d8b29";
-      name = "sonnet-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/sonnet-5.64.0.tar.xz";
+      sha256 = "3af364858f76c0206136ae8f3c03da5442ea5e42d2560877f5e00f33850c84dc";
+      name = "sonnet-5.64.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/syndication-5.61.0.tar.xz";
-      sha256 = "2803b2960dd23492ad002e0f23563c9f06500ddc144dd0be2e3e0ef2f6c1f576";
-      name = "syndication-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/syndication-5.64.0.tar.xz";
+      sha256 = "bffcd673a70646c8cb683ed7b26f6ef251a2ffe439fc78123ccee4332b567b57";
+      name = "syndication-5.64.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/syntax-highlighting-5.61.0.tar.xz";
-      sha256 = "475392c03534d7b5301ff2e02461444e463ad4def985da81ad4b315660416721";
-      name = "syntax-highlighting-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/syntax-highlighting-5.64.0.tar.xz";
+      sha256 = "9655fa79d99fb7d585ae1a11c03d204c83263fe19391e7610575fb0436052b5f";
+      name = "syntax-highlighting-5.64.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.61.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.61/threadweaver-5.61.0.tar.xz";
-      sha256 = "e7a0cecfaa60c7a8e4bdd4dfe842fb54a344d331a6c62316c147d8dc2a5e5843";
-      name = "threadweaver-5.61.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/threadweaver-5.64.0.tar.xz";
+      sha256 = "4a3ec0b2b45a5997b24d60059d95006fca5fd86f5d619d8fb1fd30d7510f5a02";
+      name = "threadweaver-5.64.0.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kf5gpgmepp/default.nix b/nixpkgs/pkgs/development/libraries/kf5gpgmepp/default.nix
new file mode 100644
index 000000000000..32aa17e687eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kf5gpgmepp/default.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, lib, fetchgit, cmake, extra-cmake-modules, qtbase, boost, gpgme }:
+
+mkDerivation {
+  pname = "kf5gpgmepp";
+  version = "16.08.3";
+
+  src = fetchgit {
+    url = "https://anongit.kde.org/gpgmepp.git";
+    rev = "9826f6674e496ce575f606d17c318566381b3b15";
+    sha256 = "02ck2l3s8s7xh44blqaqnc5k49ccicdnzvhiwa67a3zgicz5i0vh";
+  };
+
+  buildInputs = [ extra-cmake-modules qtbase boost ];
+  propagatedBuildInputs = [ gpgme ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    license = [ licenses.lgpl2 ];
+    maintainers = [ maintainers.ehmry ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
new file mode 100644
index 000000000000..a57b103b0d91
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, opencl-clhpp, cmake, withTracing ? false }:
+
+stdenv.mkDerivation rec {
+  name = "khronos-ocl-icd-loader-${version}";
+  version = "6c03f8b";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenCL-ICD-Loader";
+    rev = "6c03f8b58fafd9dd693eaac826749a5cfad515f8";
+    sha256 = "00icrlc00dpc87prbd2j1350igi9pbgkz27hc3rf73s5994yn86a";
+  };
+
+  patches = stdenv.lib.lists.optional withTracing ./tracing.patch;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ opencl-clhpp ];
+
+  meta = with stdenv.lib; {
+    description = "Offical Khronos OpenCL ICD Loader";
+    homepage = https://github.com/KhronosGroup/OpenCL-ICD-Loader;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidtwco ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
new file mode 100644
index 000000000000..415a1b1dfe49
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
@@ -0,0 +1,13 @@
+diff --git a/loader/icd.h b/loader/icd.h
+index a1b6969..cf4e272 100644
+--- a/loader/icd.h
++++ b/loader/icd.h
+@@ -122,7 +122,7 @@ void khrIcdContextPropertiesGetPlatform(
+     cl_platform_id *outPlatform);
+
+ // internal tracing macros
+-#if 0
++#if 1
+     #include <stdio.h>
+     #define KHR_ICD_TRACE(...) \
+     do \
diff --git a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
index 71e88559dee6..70058db4c0a2 100644
--- a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm, python }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm
+, withPython ? false, python }:
 
 stdenv.mkDerivation {
   pname = "kmsxx";
-  version = "2018-10-23";
+  version = "2019-10-28";
 
   src = fetchFromGitHub {
     owner = "tomba";
     repo = "kmsxx";
     fetchSubmodules = true;
-    rev = "c0093c91f0fa2fd6a5b9d1b206a6f44dcd55bfb5";
-    sha256 = "03rv92r938nxb4k4gwcvxy76jnhxdx6x60b58jws83285hd9rgkf";
+    rev = "d29da28c7f2a0212d834136fe64fb8ca96a0a235";
+    sha256 = "0r94qjyy3s36s32s1xkzij0g2pfwigmyrshw8ni2xli7mg87g1zm";
   };
 
   enableParallelBuilding = true;
 
+  cmakeFlags = stdenv.lib.optional (!withPython) "-DKMSXX_ENABLE_PYTHON=OFF";
+
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libdrm python ];
 
-  pythonPath = [ ];
-  passthru.python = python;
-
   meta = with stdenv.lib; {
     description = "C++11 library, utilities and python bindings for Linux kernel mode setting";
     homepage = https://github.com/tomba/kmsxx;
diff --git a/nixpkgs/pkgs/development/libraries/ldns/default.nix b/nixpkgs/pkgs/development/libraries/ldns/default.nix
index 1aa208c2044f..74ac59fef283 100644
--- a/nixpkgs/pkgs/development/libraries/ldns/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
index a84e6b5c08df..b7b9b019b639 100644
--- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
@@ -2,16 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.7.1";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
-    sha256 = "0m2dm1gzwj0kwyl031bif89h3n4znml3m5n97hywlbra58ni8km1";
+    sha256 = "1aij0prpf7rvxx25qjf1krf0szb922hq9m6q58p90f5bjgymfzwh";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=ignored-qualifiers" "-Wno-error=class-memaccess" "-Wno-error=catch-value" ];
+  NIX_CFLAGS_COMPILE = builtins.toString [
+    "-Wno-error=ignored-qualifiers"
+    "-Wno-error=class-memaccess"
+    "-Wno-error=catch-value"
+    "-Wno-error=deprecated-copy"
+  ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost curl ruby ];
@@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/puppetlabs/leatherman/;  
+    homepage = https://github.com/puppetlabs/leatherman/;
     description = "A collection of C++ and CMake utility libraries";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
diff --git a/nixpkgs/pkgs/development/libraries/leptonica/default.nix b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
index 62c01e4f3560..e26f4f6022aa 100644
--- a/nixpkgs/pkgs/development/libraries/leptonica/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   checkInputs = [ which gnuplot ];
-  doCheck = !stdenv.isDarwin;
+
+  # Fails on pngio_reg for unknown reason
+  doCheck = false; # !stdenv.isDarwin;
 
   meta = {
     description = "Image processing and analysis library";
diff --git a/nixpkgs/pkgs/development/libraries/libaal/default.nix b/nixpkgs/pkgs/development/libraries/libaal/default.nix
index 11b31d62b5d6..87eeac4b4f5f 100644
--- a/nixpkgs/pkgs/development/libraries/libaal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaal/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.namesys.com/;
     description = "Support library for Reiser4";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libabigail/default.nix b/nixpkgs/pkgs/development/libraries/libabigail/default.nix
new file mode 100644
index 000000000000..dc19adfb6a66
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libabigail/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, fetchurl
+, autoreconfHook
+, elfutils
+, libxml2
+, pkgconfig
+, strace
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libabigail";
+  version = "1.6";
+
+  outputs = [ "bin" "out" "dev" ];
+
+  src = fetchurl {
+    url = "https://mirrors.kernel.org/sourceware/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+    strace
+  ];
+
+  buildInputs = [
+    elfutils
+    libxml2
+  ];
+
+  checkInputs = [
+    python3
+  ];
+
+  configureFlags = [
+    "--enable-bash-completion=yes"
+    "--enable-cxx11=yes"
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  preCheck = ''
+    # runtestdiffpkg needs cache directory
+    export XDG_CACHE_HOME="$TEMPDIR"
+    patchShebangs tests/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "ABI Generic Analysis and Instrumentation Library";
+    homepage = "https://sourceware.org/libabigail/";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libabw/default.nix b/nixpkgs/pkgs/development/libraries/libabw/default.nix
index f953c170ab50..a37d4756cbd8 100644
--- a/nixpkgs/pkgs/development/libraries/libabw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libabw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libabw";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchurl {
     url = "https://dev-www.libreoffice.org/src/libabw/${pname}-${version}.tar.xz";
-    sha256 = "11949iscdb99f2jplxjd39282jxcrf2fw0sqbh5dl7gqb96r8whb";
+    sha256 = "1vbfrmnvib3cym0yyyabnd8xpx4f7wp20vnn09s6dln347fajqz7";
   };
 
   # Boost 1.59 compatability fix
diff --git a/nixpkgs/pkgs/development/libraries/libagar/default.nix b/nixpkgs/pkgs/development/libraries/libagar/default.nix
index 48fb0f1153e7..c0a43efc27ea 100644
--- a/nixpkgs/pkgs/development/libraries/libagar/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libagar/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libtool, perl, bsdbuild, gettext, mandoc
-, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU_combined
-, libsndfile, portaudio, mysql, fontconfig
+, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL
+, libsndfile, portaudio, libmysqlclient, fontconfig
 }:
 
 let srcs = import ./srcs.nix { inherit fetchurl; }; in
@@ -19,8 +19,8 @@ stdenv.mkDerivation {
     "--enable-nls=yes"
     "--with-gettext=${gettext}"
     "--with-jpeg=${libjpeg.dev}"
-    "--with-gl=${libGLU_combined}"
-    "--with-mysql=${mysql.connector-c}"
+    "--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 mysql.connector-c mandoc
+    bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc
     freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libao/default.nix b/nixpkgs/pkgs/development/libraries/libao/default.nix
index f67b3cee607b..2d7edee4041c 100644
--- a/nixpkgs/pkgs/development/libraries/libao/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libao/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://xiph.org/ao/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libappindicator/default.nix b/nixpkgs/pkgs/development/libraries/libappindicator/default.nix
index 46cc30a8944f..e9fccaf28abf 100644
--- a/nixpkgs/pkgs/development/libraries/libappindicator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libav/default.nix b/nixpkgs/pkgs/development/libraries/libav/default.nix
index feeb4de15e1b..43cfe2ef251c 100644
--- a/nixpkgs/pkgs/development/libraries/libav/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libav/default.nix
@@ -103,7 +103,7 @@ let
     setOutputFlags = false;
 
     # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc.
-    buildFlags = "all alltools install-man";
+    buildFlags = [ "all" "alltools" "install-man" ];
 
 
     postInstall = ''
diff --git a/nixpkgs/pkgs/development/libraries/libbfd/default.nix b/nixpkgs/pkgs/development/libraries/libbfd/default.nix
index 89ca984767b3..15561677ad5a 100644
--- a/nixpkgs/pkgs/development/libraries/libbfd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbfd/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   dontUpdateAutotoolsGnuConfigScripts = true;
 
   nativeBuildInputs = [ autoreconfHook bison ];
-  buildInputs = [ libiberty zlib ];
+  buildInputs = [ libiberty zlib.dev ];
 
   configurePlatforms = [ "build" "host" ];
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/libbladeRF/default.nix b/nixpkgs/pkgs/development/libraries/libbladeRF/default.nix
index c8c58315b648..043f3500b0c3 100644
--- a/nixpkgs/pkgs/development/libraries/libbladeRF/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbladeRF/default.nix
@@ -10,7 +10,7 @@ let
     sha256 = "0is79dhsyp9xmlnfdr1i5s1c22ipjafk9d35jpn5dynpvj86m99c";
   };
 
-  version = "2.2.0";
+  version = "2.2.1";
 
 in stdenv.mkDerivation {
   pname = "libbladeRF";
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
     owner = "Nuand";
     repo = "bladeRF";
     rev = "libbladeRF_v${version}";
-    sha256 = "0mdj5dkqg69gp0xw6gkhp86nxnm9g7az5rplnncxkp4p1kr35rnl";
+    sha256 = "0g89al4kwfbx1l3zjddgb9ay4mhr7zk0ndchca3sm1vq2j47nf4l";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libblockdev/default.nix b/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
index 6deb89a80ea2..4982157c3ba0 100644
--- a/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libblockdev";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchFromGitHub {
     owner = "storaged-project";
     repo = "libblockdev";
     rev = "${version}-1";
-    sha256 = "03y4ps37wbi9p1136q0xzgshfnrjg4lgy8pgm1a3ihfcjnbwrbnq";
+    sha256 = "09gp9h05vy3llhnrg98gny8g57kgwnbi8522qyzjwyv7nmhs4zhz";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libbluray/default.nix b/nixpkgs/pkgs/development/libraries/libbluray/default.nix
index 517251e137ef..daa349ca6309 100644
--- a/nixpkgs/pkgs/development/libraries/libbluray/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbluray/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = optional withAACS libaacs;
 
-  NIX_LDFLAGS = [
+  NIX_LDFLAGS = toString [
     (optionalString withAACS   "-L${libaacs}/lib -laacs")
     (optionalString withBDplus "-L${libbdplus}/lib -lbdplus")
   ];
diff --git a/nixpkgs/pkgs/development/libraries/libbsd/darwin.patch b/nixpkgs/pkgs/development/libraries/libbsd/darwin.patch
index 0f9cc9aaf964..340eb47a6301 100644
--- a/nixpkgs/pkgs/development/libraries/libbsd/darwin.patch
+++ b/nixpkgs/pkgs/development/libraries/libbsd/darwin.patch
@@ -1,30 +1,26 @@
 diff --git a/configure.ac b/configure.ac
-index 55fcfe6..1e26c93 100644
+index 6e9496d..60b6e4c 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -51,15 +51,19 @@ AS_CASE([$host_os],
-     AC_SEARCH_LIBS([clock_gettime], [rt], [CLOCK_GETTIME_LIBS="-lrt"])
-     AC_SUBST([CLOCK_GETTIME_LIBS])
-     LIBS="$saved_LIBS"
-+    AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
-   ],
-   [*-musl*], [
-     # Upstream refuses to define this, we will do it ourselves then.
-     AC_DEFINE([__MUSL__], [1], [Define to 1 if we are building for musl])
-+    AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
-   ],
--)
-+  [
-+  AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
-+  ])
+@@ -44,6 +44,8 @@ AC_SUBST([TESTU01_LIBS])
+ AM_CONDITIONAL([HAVE_LIBTESTU01],
+                [test "x$ac_cv_lib_testu01_unif01_CreateExternGenBits" = "xyes"])
+ 
++AX_CHECK_VSCRIPT
++
+ is_windows=no
+ AS_CASE([$host_os],
+   [*-gnu*], [
+@@ -68,7 +70,7 @@ AS_CASE([$host_os],
+ AM_CONDITIONAL([OS_WINDOWS], [test "x$is_windows" = "xyes"])
  
  # Checks for header files.
--AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h])
-+AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h nlist.h])
+-AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h grp.h])
++AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h grp.h nlist.h])
  
  # Checks for typedefs, structures, and compiler characteristics.
  AC_C_INLINE
-@@ -143,7 +147,8 @@ AC_LINK_IFELSE(
+@@ -169,7 +171,8 @@ AC_LINK_IFELSE(
  
  AC_CHECK_FUNCS([clearenv dirfd fopencookie __fpurge \
                  getauxval getentropy getexecname getline \
@@ -60,19 +56,168 @@ index f987fee..a1e17ed 100644
  
  #if !defined(__GLIBC__) || \
      (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE)))
+diff --git a/m4/ax_check_vscript.m4 b/m4/ax_check_vscript.m4
+new file mode 100644
+index 0000000..9851f32
+--- /dev/null
++++ b/m4/ax_check_vscript.m4
+@@ -0,0 +1,142 @@
++# ===========================================================================
++#     https://www.gnu.org/software/autoconf-archive/ax_check_vscript.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CHECK_VSCRIPT
++#
++# DESCRIPTION
++#
++#   Check whether the linker supports version scripts.  Version scripts are
++#   used when building shared libraries to bind symbols to version nodes
++#   (helping to detect incompatibilities) or to limit the visibility of
++#   non-public symbols.
++#
++#   Output:
++#
++#   If version scripts are supported, VSCRIPT_LDFLAGS will contain the
++#   appropriate flag to pass to the linker.  On GNU systems this would
++#   typically be "-Wl,--version-script", and on Solaris it would typically
++#   be "-Wl,-M".
++#
++#   Two Automake conditionals are also set:
++#
++#    HAVE_VSCRIPT is true if the linker supports version scripts with
++#    entries that use simple wildcards, like "local: *".
++#
++#    HAVE_VSCRIPT_COMPLEX is true if the linker supports version scripts with
++#    pattern matching wildcards, like "global: Java_*".
++#
++#   On systems that do not support symbol versioning, such as Mac OS X, both
++#   conditionals will be false.  They will also be false if the user passes
++#   "--disable-symvers" on the configure command line.
++#
++#   Example:
++#
++#    configure.ac:
++#
++#     AX_CHECK_VSCRIPT
++#
++#    Makefile.am:
++#
++#     if HAVE_VSCRIPT
++#     libfoo_la_LDFLAGS += $(VSCRIPT_LDFLAGS),@srcdir@/libfoo.map
++#     endif
++#
++#     if HAVE_VSCRIPT_COMPLEX
++#     libbar_la_LDFLAGS += $(VSCRIPT_LDFLAGS),@srcdir@/libbar.map
++#     endif
++#
++# LICENSE
++#
++#   Copyright (c) 2014 Kevin Cernekee <cernekee@gmail.com>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 2
++
++# _AX_CHECK_VSCRIPT(flag, global-sym, action-if-link-succeeds, [junk-file=no])
++AC_DEFUN([_AX_CHECK_VSCRIPT], [
++  AC_LANG_PUSH([C])
++  ax_check_vscript_save_flags="$LDFLAGS"
++  echo "V1 { global: $2; local: *; };" > conftest.map
++  AS_IF([test x$4 = xyes], [
++    echo "{" >> conftest.map
++  ])
++  LDFLAGS="$LDFLAGS -Wl,$1,conftest.map"
++  AC_LINK_IFELSE([AC_LANG_PROGRAM([[int show, hide;]], [])], [$3])
++  LDFLAGS="$ax_check_vscript_save_flags"
++  rm -f conftest.map
++  AC_LANG_POP([C])
++]) dnl _AX_CHECK_VSCRIPT
++
++AC_DEFUN([AX_CHECK_VSCRIPT], [
++
++  AC_ARG_ENABLE([symvers],
++    AS_HELP_STRING([--disable-symvers],
++                   [disable library symbol versioning [default=auto]]),
++    [want_symvers=$enableval],
++    [want_symvers=yes]
++  )
++
++  AS_IF([test x$want_symvers = xyes], [
++
++    dnl First test --version-script and -M with a simple wildcard.
++
++    AC_CACHE_CHECK([linker version script flag], ax_cv_check_vscript_flag, [
++      ax_cv_check_vscript_flag=unsupported
++      _AX_CHECK_VSCRIPT([--version-script], [show], [
++        ax_cv_check_vscript_flag=--version-script
++      ])
++      AS_IF([test x$ax_cv_check_vscript_flag = xunsupported], [
++        _AX_CHECK_VSCRIPT([-M], [show], [ax_cv_check_vscript_flag=-M])
++      ])
++
++      dnl The linker may interpret -M (no argument) as "produce a load map."
++      dnl If "-M conftest.map" doesn't fail when conftest.map contains
++      dnl obvious syntax errors, assume this is the case.
++
++      AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [
++        _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [show],
++	                  [ax_cv_check_vscript_flag=unsupported], [yes])
++      ])
++    ])
++
++    dnl If the simple wildcard worked, retest with a complex wildcard.
++
++    AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [
++      ax_check_vscript_flag=$ax_cv_check_vscript_flag
++      AC_CACHE_CHECK([if version scripts can use complex wildcards],
++                     ax_cv_check_vscript_complex_wildcards, [
++        ax_cv_check_vscript_complex_wildcards=no
++        _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [sh*], [
++        ax_cv_check_vscript_complex_wildcards=yes])
++      ])
++      ax_check_vscript_complex_wildcards="$ax_cv_check_vscript_complex_wildcards"
++    ], [
++      ax_check_vscript_flag=
++      ax_check_vscript_complex_wildcards=no
++    ])
++  ], [
++    AC_MSG_CHECKING([linker version script flag])
++    AC_MSG_RESULT([disabled])
++
++    ax_check_vscript_flag=
++    ax_check_vscript_complex_wildcards=no
++  ])
++
++  AS_IF([test x$ax_check_vscript_flag != x], [
++    VSCRIPT_LDFLAGS="-Wl,$ax_check_vscript_flag"
++    AC_SUBST([VSCRIPT_LDFLAGS])
++  ])
++
++  AM_CONDITIONAL([HAVE_VSCRIPT],
++    [test x$ax_check_vscript_flag != x])
++  AM_CONDITIONAL([HAVE_VSCRIPT_COMPLEX],
++    [test x$ax_check_vscript_complex_wildcards = xyes])
++
++]) dnl AX_CHECK_VSCRIPT
 diff --git a/src/Makefile.am b/src/Makefile.am
-index f3cc0fa..3aaecd4 100644
+index 8384b92..e2c8e15 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -56,8 +56,10 @@ libbsd_la_DEPENDENCIES = \
- libbsd_la_LIBADD = \
- 	$(CLOCK_GETTIME_LIBS)
+@@ -65,8 +65,11 @@ libbsd_la_LIBADD = \
+ 	$(ARC4RANDOM_ATFORK_LIBS) \
+ 	$(nil)
  libbsd_la_LDFLAGS = \
 -	-Wl,--version-script=$(srcdir)/libbsd.map \
  	-version-number $(LIBBSD_ABI)
-+if BUILD_LINK_VERSION_SCRIPT
-+libbsd_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libbsd.map
++if HAVE_VSCRIPT
++libbsd_la_LDFLAGS += $(VSCRIPT_LDFLAGS),@srcdir@/libbsd.map
 +endif
++
  libbsd_la_SOURCES = \
  	arc4random.c \
  	arc4random.h \
@@ -175,23 +320,28 @@ index b3c8d5e..602f54e 100644
  
  #include <string.h>
 diff --git a/src/local-link.h b/src/local-link.h
-index d518dcf..84694a2 100644
+index 0d4351a..fc520af 100644
 --- a/src/local-link.h
 +++ b/src/local-link.h
-@@ -27,7 +27,11 @@
+@@ -27,6 +27,11 @@
  #ifndef LIBBSD_LOCAL_LINK_H
  #define LIBBSD_LOCAL_LINK_H
  
 +#ifdef __MACH__
 +#define libbsd_link_warning(symbol, msg)
++#define libbsd_symver_default(alias, symbol, version)
++#define libbsd_symver_variant(alias, symbol, version)
 +#else
  #define libbsd_link_warning(symbol, msg) \
  	static const char libbsd_emit_link_warning_##symbol[] \
- 		__attribute__((used,section(".gnu.warning." #symbol))) = msg;
+ 		__attribute__((__used__,__section__(".gnu.warning." #symbol))) = msg;
+@@ -45,3 +50,4 @@
+ #endif
+ 
  #endif
 +#endif
 diff --git a/src/nlist.c b/src/nlist.c
-index 0932f59..4502048 100644
+index 228c220..46c2d77 100644
 --- a/src/nlist.c
 +++ b/src/nlist.c
 @@ -41,6 +41,7 @@
@@ -202,7 +352,7 @@ index 0932f59..4502048 100644
  #include "local-elf.h"
  
  #define SIZE_T_MAX 0xffffffffU
-@@ -265,3 +266,4 @@ nlist(const char *name, struct nlist *list)
+@@ -280,3 +281,4 @@ nlist(const char *name, struct nlist *list)
  	(void)close(fd);
  	return (n);
  }
@@ -227,12 +377,12 @@ index f9f6195..2bc5fb4 100644
  
  static void handler(int);
 diff --git a/src/setproctitle.c b/src/setproctitle.c
-index 038ac7d..e9ee09c 100644
+index ff32aa3..51ed833 100644
 --- a/src/setproctitle.c
 +++ b/src/setproctitle.c
-@@ -32,6 +32,10 @@
- #include <unistd.h>
+@@ -33,6 +33,10 @@
  #include <string.h>
+ #include "local-link.h"
  
 +#ifdef __MACH__
 +extern char **environ;
@@ -241,30 +391,16 @@ index 038ac7d..e9ee09c 100644
  static struct {
  	/* Original value. */
  	const char *arg0;
-@@ -280,16 +284,22 @@ setproctitle_impl(const char *fmt, ...)
- 		*++nul = '\0';
- 	}
- }
-+#ifndef __MACH__
- __asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5");
-+#endif
- 
- /* The original function introduced in 0.2 was a stub, it only got implemented
+@@ -287,7 +291,8 @@ libbsd_symver_default(setproctitle, setproctitle_impl, LIBBSD_0.5);
   * in 0.5, make the implementation available in the old version as an alias
   * for code linking against that version, and change the default to use the
   * new version, so that new code depends on the implemented version. */
 -#ifdef HAVE_TYPEOF
 +#ifdef __MACH__
-+void setproctitle_stub(const char *fmt, ...);
-+#elif HAVE_TYPEOF
- extern typeof(setproctitle_impl) setproctitle_stub __attribute__((alias("setproctitle_impl")));
- #else
- void setproctitle_stub(const char *fmt, ...)
- 	__attribute__((alias("setproctitle_impl")));
- #endif
-+#ifndef __MACH__
- __asm__(".symver setproctitle_stub,setproctitle@LIBBSD_0.2");
-+#endif
++#elif defined(HAVE_TYPEOF)
+ extern __typeof__(setproctitle_impl)
+ setproctitle_stub
+ 	__attribute__((__alias__("setproctitle_impl")));
 diff --git a/src/strlcat.c b/src/strlcat.c
 index 14c53a1..5961c17 100644
 --- a/src/strlcat.c
@@ -316,46 +452,3 @@ index e6afde5..da680c9 100644
  	*p = '\0';
  }
 +#endif
-diff --git a/src/unvis.c b/src/unvis.c
-index 94e3e7a..fba4c66 100644
---- a/src/unvis.c
-+++ b/src/unvis.c
-@@ -565,11 +565,15 @@ strnunvis_openbsd(char *dst, const char *src, size_t dlen)
- {
- 	return strnunvisx(dst, dlen, src, 0);
- }
-+#ifndef __MACH__
- __asm__(".symver strnunvis_openbsd,strnunvis@@LIBBSD_0.2");
-+#endif
- 
- int
- strnunvis_netbsd(char *dst, size_t dlen, const char *src)
- {
- 	return strnunvisx(dst, dlen, src, 0);
- }
-+#ifndef __MACH__
- __asm__(".symver strnunvis_netbsd,strnunvis@LIBBSD_0.9.1");
-+#endif
-diff --git a/src/vis.c b/src/vis.c
-index c2cd2d8..2d84330 100644
---- a/src/vis.c
-+++ b/src/vis.c
-@@ -723,14 +723,18 @@ strnvis_openbsd(char *mbdst, const char *mbsrc, size_t dlen, int flags)
- {
- 	return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL);
- }
-+#ifndef __MACH__
- __asm__(".symver strnvis_openbsd,strnvis@@LIBBSD_0.2");
-+#endif
- 
- int
- strnvis_netbsd(char *mbdst, size_t dlen, const char *mbsrc, int flags)
- {
- 	return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL);
- }
-+#ifndef __MACH__
- __asm__(".symver strnvis_netbsd,strnvis@LIBBSD_0.9.1");
-+#endif
- 
- int
- stravis(char **mbdstp, const char *mbsrc, int flags)
diff --git a/nixpkgs/pkgs/development/libraries/libbsd/default.nix b/nixpkgs/pkgs/development/libraries/libbsd/default.nix
index fe4af163a542..e251295a4c79 100644
--- a/nixpkgs/pkgs/development/libraries/libbsd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbsd/default.nix
@@ -2,20 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "libbsd";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n";
+    sha256 = "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l";
   };
 
   # darwin changes configure.ac which means we need to regenerate
   # the configure scripts
   nativeBuildInputs = [ autoreconfHook ];
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch
-    # Suitable for all but limited to musl to avoid rebuild
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./musl.patch;
+  patches = [ ./darwin.patch ];
 
   meta = with stdenv.lib; {
     description = "Common functions found on BSD systems";
diff --git a/nixpkgs/pkgs/development/libraries/libbsd/musl.patch b/nixpkgs/pkgs/development/libraries/libbsd/musl.patch
deleted file mode 100644
index fc07cfb6e855..000000000000
--- a/nixpkgs/pkgs/development/libraries/libbsd/musl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: maxice8
-Upstream: no
-Reason: fixes compilation
-
---- a/src/flopen.c
-+++ b/src/flopen.c
-@@ -34,6 +34,7 @@
- #include <errno.h>
- #include <stdarg.h>
- #include <unistd.h>
-+#include <fcntl.h>
- 
- #include <libutil.h>
- 
diff --git a/nixpkgs/pkgs/development/libraries/libburn/default.nix b/nixpkgs/pkgs/development/libraries/libburn/default.nix
index 01588187936c..b6cadf9df189 100644
--- a/nixpkgs/pkgs/development/libraries/libburn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libburn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libburn";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1gg2kgnqvaa2fwghai62prxz6slpak1f6bvgjh8m4dn16v114asq";
+    sha256 = "09sjrvq8xsj1gnl2wwyv4lbmicyzzl6x1ac2rrn53xnp34bxnckv";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libcaca/default.nix b/nixpkgs/pkgs/development/libraries/libcaca/default.nix
index 8949ea8e390e..7773fe46c0ce 100644
--- a/nixpkgs/pkgs/development/libraries/libcaca/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcaca/default.nix
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
     (if x11Support then "--enable-x11" else "--disable-x11")
     ];
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional (!x11Support) "-DX_DISPLAY_MISSING";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!x11Support) "-DX_DISPLAY_MISSING";
 
   enableParallelBuilding = true;
 
   propagatedBuildInputs = [ ncurses zlib pkgconfig (imlib2.override { inherit x11Support; }) ]
-    ++ stdenv.lib.optionals x11Support [ libX11 libXext];
+    ++ stdenv.lib.optionals x11Support [ libX11 libXext ];
 
   postInstall = ''
     mkdir -p $dev/bin
diff --git a/nixpkgs/pkgs/development/libraries/libcbor/default.nix b/nixpkgs/pkgs/development/libraries/libcbor/default.nix
index 4d56c0f1403b..4949d657669b 100644
--- a/nixpkgs/pkgs/development/libraries/libcbor/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcbor/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # needs "-DWITH_TESTS=ON", but fails w/compilation error
 
-  NIX_CFLAGS_COMPILE = [ "-fno-lto" ];
+  NIX_CFLAGS_COMPILE = "-fno-lto";
 
   meta = with stdenv.lib; {
     description = "CBOR protocol implementation for C and others";
diff --git a/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix b/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix
index c48818972b58..df7e93de063c 100644
--- a/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libcec/default.nix b/nixpkgs/pkgs/development/libraries/libcec/default.nix
index 2688881e66d3..070cb58149c4 100644
--- a/nixpkgs/pkgs/development/libraries/libcec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform }:
+{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform, libraspberrypi ? null }:
 
 let version = "4.0.4"; in
 
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake udev libcec_platform ];
+  buildInputs = [ cmake udev libcec_platform ] ++
+    stdenv.lib.optional (libraspberrypi != null) libraspberrypi;
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index e161948db404..03cc3b2beb45 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, cmake, alsaLib, atk, cairo, cups, dbus, expat, fontconfig
 , GConf, gdk-pixbuf, glib, gtk2, libX11, libxcb, libXcomposite, libXcursor
 , libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXScrnSaver
-, libXtst, nspr, nss, pango, libpulseaudio, systemd }:
+, libXtst, nspr, nss, pango, libpulseaudio, systemd, at-spi2-atk, at-spi2-core
+}:
 
 let
   libPath =
@@ -9,20 +10,24 @@ let
       alsaLib atk cairo cups dbus expat fontconfig GConf gdk-pixbuf glib gtk2
       libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi
       libXrandr libXrender libXScrnSaver libXtst nspr nss pango libpulseaudio
-      systemd
+      systemd at-spi2-core at-spi2-atk
     ];
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "3.3497.1833.g13f506f";
+  version = "74.1.14-g50c3c5c";
+
   src = fetchurl {
-    url = "http://opensource.spotify.com/cefbuilds/cef_binary_${version}_linux64.tar.bz2";
-    sha256 = "02v22yx1ga2yxagjblzkfw0ax7zkrdpc959l1a15m8nah3y7xf9p";
+    name = "cef_binary_74.1.14+g50c3c5c+chromium-74.0.3729.131_linux64_minimal.tar.bz2";
+    url = "http://opensource.spotify.com/cefbuilds/cef_binary_74.1.19%2Bgb62bacf%2Bchromium-74.0.3729.157_linux64_minimal.tar.bz2";
+    sha256 = "0v3540kq4y68gq7mb4d8a9issm363lm5ngrd6d96pcc7vckkw4wn";
   };
+
   nativeBuildInputs = [ cmake ];
-  makeFlags = "libcef_dll_wrapper";
+  makeFlags = [ "libcef_dll_wrapper" ];
   dontStrip = true;
   dontPatchELF = true;
+
   installPhase = ''
     mkdir -p $out/lib/ $out/share/cef/
     cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
diff --git a/nixpkgs/pkgs/development/libraries/libcerf/default.nix b/nixpkgs/pkgs/development/libraries/libcerf/default.nix
index fd5ee8dcaaf9..0ffb20859677 100644
--- a/nixpkgs/pkgs/development/libraries/libcerf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libchamplain/default.nix b/nixpkgs/pkgs/development/libraries/libchamplain/default.nix
index 519c94dd9956..48446d87b8d8 100644
--- a/nixpkgs/pkgs/development/libraries/libchamplain/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libchamplain/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libchamplain";
-  version = "0.12.19";
+  version = "0.12.20";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "191aid1qsfkab5whbzj2r3g63dpdgrwp5141mfywvqyvdhr2x11n";
+    sha256 = "0rihpb0npqpihqcdz4w03rq6xl7jdckfqskvv9diq2hkrnzv8ch2";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libck/default.nix b/nixpkgs/pkgs/development/libraries/libck/default.nix
new file mode 100644
index 000000000000..934a250ac7cb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libck/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ck";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "concurrencykit";
+    repo = pname;
+    rev = version;
+    sha256 = "1w7g0y1n7jslca693fb8sanlfi1biq956dw6avdx6pf3c2s7l9jd";
+  };
+
+  dontDisableStatic = true;
+
+  meta = with stdenv.lib; {
+    description = "High-performance concurrency research library";
+    longDescription = ''
+      Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems.
+    '';
+    license = with licenses; [ asl20 bsd2 ];
+    homepage = "http://concurrencykit.org/";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ chessai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libclc/default.nix b/nixpkgs/pkgs/development/libraries/libclc/default.nix
index 78f5e9d233ca..119adcb4ef2b 100644
--- a/nixpkgs/pkgs/development/libraries/libclc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libclc/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     description = "Implementation of the library requirements of the OpenCL C programming language";
     license = licenses.mit;
     platforms = platforms.all;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libco-canonical/default.nix b/nixpkgs/pkgs/development/libraries/libco-canonical/default.nix
new file mode 100644
index 000000000000..56974fcca7b6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libco-canonical/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, pkgconfig }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  pname = "libco-canonical";
+  version = "20";
+
+  src = fetchFromGitHub {
+    owner = "canonical";
+    repo = "libco";
+    rev = "v${version}";
+    sha256 = "0r5b1r0sxngx349s5a3zkkvfw5by9y492kr34b25gjspzvjchlxq";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  outputs = [ "dev" "out" ];
+
+  patchPhase = ''
+    # upstream project assumes all build products will go into single directory
+    # `$prefix` but we need `includedir` to point to "dev", not "out"
+    #
+    # pkgs/build-support/setup-hooks/multiple-outputs.sh would normally patch
+    # this automatically, but it fails here due to use of absolute paths
+
+    substituteInPlace Makefile \
+      --replace "@includedir@|\$(PREFIX)" "@includedir@|${placeholder "dev"}"
+  '';
+
+  meta = {
+    description = "A cooperative multithreading library written in C89";
+    homepage = "https://github.com/canonical/libco";
+    license = licenses.isc;
+    maintainers = with maintainers; [ wucke13 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch b/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch
new file mode 100644
index 000000000000..1c57757f855c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch
@@ -0,0 +1,36 @@
+From 58237e64fa77ec5cdec658b3295f71ec899175fa Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Sat, 5 Oct 2019 13:47:59 +0200
+Subject: [PATCH] Fix timeouts in libcouchbase testsuite
+
+Nix-specific patch. Basically
+https://github.com/couchbase/libcouchbase/commit/b272f6ab88be523bbcf9d5c4252d07fccb023fe5, but
+rebased onto 2.10.4.
+---
+ src/ssl/ssl_e.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/ssl/ssl_e.c b/src/ssl/ssl_e.c
+index f4506cf..734a3e6 100644
+--- a/src/ssl/ssl_e.c
++++ b/src/ssl/ssl_e.c
+@@ -210,10 +210,16 @@ flush_ssl_data(lcbio_ESSL *es)
+      * calls. While we could have done this inline with the send() call this
+      * would make future optimization more difficult. */
+     GT_WRITE_DONE:
++#if !LCB_CAN_OPTIMIZE_SSL_BIO
++    BIO_get_mem_ptr(es->wbio, &wmb);
++#endif
+     while (wmb->length > (size_t)tmp_len) {
+         char dummy[4096];
+         unsigned to_read = MINIMUM(wmb->length-tmp_len, sizeof dummy);
+         BIO_read(es->wbio, dummy, to_read);
++#if !LCB_CAN_OPTIMIZE_SSL_BIO
++        BIO_get_mem_ptr(es->wbio, &wmb);
++#endif
+     }
+     BIO_clear_retry_flags(es->wbio);
+     return 0;
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
index 23b39bca1f3a..53ec231dec96 100644
--- a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yfmcx65aqd5l87scha6kmm2s38n85ci3gg0h6qfs16s3jfi6bw7";
   };
 
-  cmakeFlags = "-DLCB_NO_MOCK=ON";
+  cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libevent openssl ];
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
   # Running tests in parallel does not work
   enableParallelChecking = false;
 
+  patches = [ ./0001-Fix-timeouts-in-libcouchbase-testsuite.patch ];
+
   doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libctb/default.nix b/nixpkgs/pkgs/development/libraries/libctb/default.nix
new file mode 100644
index 000000000000..161c7c98c63f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libctb/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  pname = "libctb";
+  version = "0.16";
+  src = fetchurl {
+    url = "https://iftools.com/download/files/legacy/${pname}-${version}.tar.gz";
+    sha256 = "027wh89d0qyly3d9m6rg4x7x1gqz3y3cnxlgk0k8xgygcrm05c0w";
+  };
+  patches = [
+    ./include-kbhit.patch
+  ];
+  sourceRoot = "${pname}-${version}/build";
+  makeFlags = [
+    "prefix=$(out)"
+  ];
+  meta = with stdenv.lib; {
+    description = "Communications toolbox";
+    homepage = "https://iftools.com";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libctb/include-kbhit.patch b/nixpkgs/pkgs/development/libraries/libctb/include-kbhit.patch
new file mode 100644
index 000000000000..76b4e38fadb9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libctb/include-kbhit.patch
@@ -0,0 +1,13 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index e39a687..026f9c4 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -140,7 +140,7 @@ all: ../lib/libctb$(LIBFLAG)$(GPIBFLAG)-0.16.a ../lib/libctb$(LIBFLAG)$(GPIBFLAG
+
+ install: install_ctb_lib install_ctb_dll
+ 	$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16
+-	for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
++	for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h kbhit.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
+ 	if test ! -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f` ; then \
+ 	$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f`; \
+ 	fi; \
diff --git a/nixpkgs/pkgs/development/libraries/libcutl/default.nix b/nixpkgs/pkgs/development/libraries/libcutl/default.nix
index 81122a6eb520..b13805aa37aa 100644
--- a/nixpkgs/pkgs/development/libraries/libcutl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcutl/default.nix
@@ -1,23 +1,29 @@
 { stdenv, fetchurl, xercesc }:
-let
-    major = "1.9";
-    minor = "0";
-in
-with stdenv; with lib;
-mkDerivation rec {
-  name = "libcutl-${major}.${minor}";
 
-  meta = {
-    description = "A collection of generic and independent components such as meta-programming tests, smart pointers, containers, compiler building blocks" ;
+stdenv.mkDerivation rec {
+  pname = "libcutl";
+  version = "1.10.0";
+
+  meta = with stdenv.lib; {
+    description = "C++ utility library from Code Synthesis";
+    longDescription = ''
+        libcutl is a C++ utility library.
+        It contains a collection of generic and independent components such as 
+        meta-programming tests, smart pointers, containers, compiler building blocks, etc.
+    '';
+    homepage = "https://codesynthesis.com/projects/libcutl/";
+    changelog = "https://git.codesynthesis.com/cgit/libcutl/libcutl/plain/NEWS?h=${version}";
     platforms = platforms.all;
     maintainers = with maintainers; [ ];
     license = licenses.mit;
   };
 
+  majmin = builtins.head ( builtins.match "([[:digit:]]\.[[:digit:]]+)\.*" "${version}" );
   src = fetchurl {
-    url = "https://codesynthesis.com/download/libcutl/1.9/${name}.tar.bz2";
-    sha1 = "0e8d255145afbc339a3284ef85a43f4baf3fec43";
+    url = "https://codesynthesis.com/download/${pname}/${majmin}/${pname}-${version}.tar.bz2";
+    sha256 = "070j2x02m4gm1fn7gnymrkbdxflgzxwl7m96aryv8wp3f3366l8j";
   };
 
   buildInputs = [ xercesc ];
+  enableParallelBuilding = true;
 }
diff --git a/nixpkgs/pkgs/development/libraries/libdazzle/default.nix b/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
index 5b6d92d629dc..173ad6d2e853 100644
--- a/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
@@ -1,35 +1,28 @@
 { stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobject-introspection, libxml2
-, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glibcLocales, dbus, xvfb_run, glib, gtk3, gnome3 }:
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
-let
-  version = "3.32.3";
+stdenv.mkDerivation rec {
   pname = "libdazzle";
-in
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  version = "3.34.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1s37hv12ikfzhvh86qzgmfcjm3wvp12l2vsr0whl5xmm2harp3bc";
+    sha256 = "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x";
   };
 
-  nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 glibcLocales dbus xvfb_run ];
+  nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 dbus xvfb_run ];
   buildInputs = [ glib gtk3 ];
 
   mesonFlags = [
     "-Denable_gtk_doc=true"
   ];
 
-  LC_ALL = "en_US.UTF-8";
-
-  # https://gitlab.gnome.org/GNOME/libdazzle/issues/25
-  doCheck = false;
+  doCheck = true;
 
   checkPhase = ''
-    export NO_AT_BRIDGE=1
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
       meson test --print-errorlogs
diff --git a/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix b/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
index 99cd636b03b8..52b8a32fab4a 100644
--- a/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libdbi
-, mysql ? null
+, libmysqlclient ? null
 , sqlite ? null
 , postgresql ? null
 }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
   };
 
-  buildInputs = [ libdbi sqlite postgresql ] ++ optional (mysql != null) mysql.connector-c;
+  buildInputs = [ libdbi sqlite postgresql ] ++ optional (libmysqlclient != null) libmysqlclient;
 
   postPatch = ''
     sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure;
@@ -26,10 +26,10 @@ stdenv.mkDerivation rec {
     "--enable-libdbi"
     "--with-dbi-incdir=${libdbi}/include"
     "--with-dbi-libdir=${libdbi}/lib"
-  ] ++ optionals (mysql != null) [
+  ] ++ optionals (libmysqlclient != null) [
     "--with-mysql"
-    "--with-mysql-incdir=${mysql.connector-c}/include/mysql"
-    "--with-mysql-libdir=${mysql.connector-c}/lib/mysql"
+    "--with-mysql-incdir=${libmysqlclient}/include/mysql"
+    "--with-mysql-libdir=${libmysqlclient}/lib/mysql"
   ] ++ optionals (sqlite != null) [
     "--with-sqlite3"
     "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite"
diff --git a/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/default.nix b/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 72c3ca0e2b05..6b4be0db4144 100644
--- a/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   buildInputs = [ qt4 ];
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DWITH_DOC=OFF";
+  cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
diff --git a/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 2ae4eec99ecc..279dcb6bc834 100644
--- a/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/nixpkgs/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase ];
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DWITH_DOC=OFF";
+  cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
   meta = with stdenv.lib; {
     homepage = https://launchpad.net/libdbusmenu-qt;
diff --git a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix b/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix
index a7bfe7f17a24..770e95472ea5 100644
--- a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig, intltool
 , glib, dbus-glib, json-glib
-, gobject-introspection, vala, gnome-doc-utils
+, gobject-introspection, vala
 , gtkVersion ? null, gtk2 ? null, gtk3 ? null }:
 
 with lib;
@@ -18,11 +18,10 @@ stdenv.mkDerivation rec {
     sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
   };
 
-  nativeBuildInputs = [ vala pkgconfig intltool ];
+  nativeBuildInputs = [ vala pkgconfig intltool gobject-introspection ];
 
   buildInputs = [
     glib dbus-glib json-glib
-    gobject-introspection gnome-doc-utils
   ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/libde265/default.nix b/nixpkgs/pkgs/development/libraries/libde265/default.nix
index 3c31ba805d89..918f76753891 100644
--- a/nixpkgs/pkgs/development/libraries/libde265/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libde265/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.3";
+  version = "1.0.4";
   pname = "libde265";
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libde265";
     rev = "v${version}";
-    sha256 = "049g77f6c5sbk1h534zi9akj3y5h8zwnca5c9kqqjkn7f17irk10";
+    sha256 = "0svxrhh1pv7xpj75svz0iw1sq5i6z2grj7sc3q11hl63666hzh7d";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix b/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
index 4aec6fdef917..c4a351739b61 100644
--- a/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
@@ -2,12 +2,12 @@
 , xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-  version = "3.13.7";
+  version = "3.14.1";
   pname = "libdigidocpp";
 
   src = fetchurl {
      url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
-     sha256 = "1d8yx8avijp55p53fz4pd4ihjz6nyap0g8dq23bwg33411mdiqff";
+     sha256 = "0yrcfw5i1jddz7x3j9zzlcwjlzdbi10wns7kbblbp03nx7vk2vqy";
   };
 
   nativeBuildInputs = [ cmake pkgconfig xxd ];
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/default.nix b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
index d5cbbccba015..61ca98e2256c 100644
--- a/nixpkgs/pkgs/development/libraries/libdrm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdrm";
-  version = "2.4.99";
+  version = "2.4.100";
 
   src = fetchurl {
     url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0pnsw4bmajzdbz8pk4wswdmw93shhympf2q9alhbnpfjgsf57gsd";
+    sha256 = "0p8a1l3a3s40i81mawm8nhrbk7p97ss05qkawp1yx73c30lchz67";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/nixpkgs/pkgs/development/libraries/libdvbpsi/default.nix b/nixpkgs/pkgs/development/libraries/libdvbpsi/default.nix
index aed6f05fec4f..3a83d01353fd 100644
--- a/nixpkgs/pkgs/development/libraries/libdvbpsi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvbpsi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdvbpsi";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvbpsi/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1zn5hfv4qbahmydbwh59a3b480s3m5ss27r6ml35gqdip7r3jkmc";
+    sha256 = "04h1l3vrkrdsrvkgzcr51adk10g6hxcxvgjphyyxz718ry5rkd82";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/libdynd/default.nix b/nixpkgs/pkgs/development/libraries/libdynd/default.nix
index 249f3f4f21a4..c02a6f9a5025 100644
--- a/nixpkgs/pkgs/development/libraries/libdynd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdynd/default.nix
@@ -16,13 +16,14 @@ stdenv.mkDerivation {
     "-DDYND_BUILD_BENCHMARKS=OFF"
   ];
 
-  # added to fix build with gcc7
-  NIX_CFLAGS_COMPILE = [
+  # added to fix build with gcc7+
+  NIX_CFLAGS_COMPILE = builtins.toString [
     "-Wno-error=implicit-fallthrough"
     "-Wno-error=nonnull"
     "-Wno-error=tautological-compare"
     "-Wno-error=class-memaccess"
     "-Wno-error=parentheses"
+    "-Wno-error=deprecated-copy"
   ];
 
   buildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libebml/default.nix b/nixpkgs/pkgs/development/libraries/libebml/default.nix
index 2d15e419a764..591ad72e4ecc 100644
--- a/nixpkgs/pkgs/development/libraries/libebml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libebml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libebml";
-  version = "1.3.9";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner  = "Matroska-Org";
     repo   = "libebml";
     rev    = "release-${version}";
-    sha256 = "0q2xfabaymrf0xkhwc9akx6m04lgra2b53wcn9mnh5dqiiazizi7";
+    sha256 = "1vn0g4hsygrm29qvnzhrblpwjcy2x6swf799ibxv3bzpi1j0gris";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libechonest/default.nix b/nixpkgs/pkgs/development/libraries/libechonest/default.nix
index 855386114c1c..cde046bf1327 100644
--- a/nixpkgs/pkgs/development/libraries/libechonest/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libechonest/default.nix
@@ -1,20 +1,36 @@
-{ stdenv, fetchurl, cmake, qt4, qjson, doxygen, boost }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, doxygen, qt4, qjson }:
 
 stdenv.mkDerivation rec {
   pname = "libechonest";
-  version = "2.3.0";
+  version = "2.3.1";
 
-  src = fetchurl {
-    url = "http://files.lfranchi.com/${pname}-${version}.tar.bz2";
-    sha1 = "cf1b279c96f15c87c36fdeb23b569a60cdfb01db";
+  src = fetchFromGitHub {
+    owner = "lfranchi";
+    repo = pname;
+    rev = version;
+    sha256 = "0xbavf9f355dl1d3qv59x4ryypqrdanh9xdvw2d0q66l008crdkq";
   };
 
-  buildInputs = [ cmake qt4 qjson doxygen boost ];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/lfranchi/libechonest/commit/009514f65044823ef29045397d4b58dd04d09977.patch";
+      sha256 = "0dmmpi7hixdngwiv045ilqrzyzkf56xpfyihcsx5i3xya2m0mynx";
+    })
+    (fetchpatch {
+      url = "https://github.com/lfranchi/libechonest/commit/3ce779536d56a163656e8098913f923e6cda2b5c.patch";
+      sha256 = "1vasd3sgqah562vxk71jibyws5cbihjjfnffd50qvdm2xqgvbx94";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake doxygen ];
+  buildInputs = [ qt4 qjson ];
+
   enableParallelBuilding = true;
+  doCheck = false; # requires network access
 
   meta = {
     description = "A C++/Qt wrapper around the Echo Nest API";
-    homepage = http://projects.kde.org/projects/playground/libs/libechonest;
+    homepage = "https://projects.kde.org/projects/playground/libs/libechonest";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libedit/default.nix b/nixpkgs/pkgs/development/libraries/libedit/default.nix
index e46a7ec33c4d..97532d616189 100644
--- a/nixpkgs/pkgs/development/libraries/libedit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libedit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libedit";
-  version = "20190324-3.1";
+  version = "20191025-3.1";
 
   src = fetchurl {
     url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz";
-    sha256 = "1bhvp8xkkgrg89k4ci1k8vjl3nhb6szd4ghy9lp4jrfgq58hz3xc";
+    sha256 = "0fdznw6fklis39xqk30ihw8dl8kdw9fzq1z42jmbyy6lc1k07zvd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libev/default.nix b/nixpkgs/pkgs/development/libraries/libev/default.nix
index 56710945ecb1..42d3b9435697 100644
--- a/nixpkgs/pkgs/development/libraries/libev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libev/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libev";
-  version="4.27";
+  version="4.31";
 
   src = fetchurl {
     url = "http://dist.schmorp.de/libev/Attic/${pname}-${version}.tar.gz";
-    sha256 = "0kil23cgsp0r5shvnwwbsy7fzxb62sxqzqbkbkfp5w54ipy2cm9d";
+    sha256 = "0nkfqv69wfyy2bpga4d53iqydycpik8jp8x6q70353hia8mmv1gd";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/libevdev/default.nix b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
index b0383b7f7428..7a61437b5eee 100644
--- a/nixpkgs/pkgs/development/libraries/libevdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.7.0";
+  pname = "libevdev";
+  version = "1.8.0";
 
   src = fetchurl {
-    url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "0sg3lbjn68qaq3yz2k735h29kaf3fmx7b5m1x7rm2fnhn7rf3nqi";
+    url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0";
   };
 
-  buildInputs = [ python ];
+  buildInputs = [ python3 ];
 
   meta = with stdenv.lib; {
     description = "Wrapper library for evdev devices";
diff --git a/nixpkgs/pkgs/development/libraries/libevdevplus/default.nix b/nixpkgs/pkgs/development/libraries/libevdevplus/default.nix
new file mode 100644
index 000000000000..f538aab64adf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libevdevplus/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "libevdevplus";
+  version = "2019-10-01";
+
+  src  = fetchFromGitHub {
+    owner  = "YukiWorkshop";
+    repo   = "libevdevPlus";
+    rev    = "e863df2ade43e2c7d7748cc33ca27fb3eed325ca";
+    sha256 = "18z6pn4j7fhmwwh0q22ip5nn7sc1hfgwvkdzqhkja60i8cw2cvvj";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Easy-to-use event device library in C++";
+    license = licenses.mit;
+    maintainers = with maintainers; [ willibutz ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libexecinfo/default.nix b/nixpkgs/pkgs/development/libraries/libexecinfo/default.nix
index 2eee9bafe44b..4519cc7dd744 100644
--- a/nixpkgs/pkgs/development/libraries/libexecinfo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libexecinfo/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   installPhase = ''
     install -Dm644 execinfo.h stacktraverse.h -t $out/include
diff --git a/nixpkgs/pkgs/development/libraries/libexif/default.nix b/nixpkgs/pkgs/development/libraries/libexif/default.nix
index 5a8f5126680e..833ccf5dca5d 100644
--- a/nixpkgs/pkgs/development/libraries/libexif/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libextractor/default.nix b/nixpkgs/pkgs/development/libraries/libextractor/default.nix
index 8fd01dbd506a..ea155440c8d1 100644
--- a/nixpkgs/pkgs/development/libraries/libextractor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libf2c/default.nix b/nixpkgs/pkgs/development/libraries/libf2c/default.nix
index 2de407e8f639..10a0d179d3e9 100644
--- a/nixpkgs/pkgs/development/libraries/libf2c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libf2c/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     unzip ${src}
   '';
 
-  makeFlags = "-f makefile.u";
+  makeFlags = [ "-f" "makefile.u" ];
 
   installPhase = ''
     mkdir -p $out/include $out/lib
diff --git a/nixpkgs/pkgs/development/libraries/libfakekey/default.nix b/nixpkgs/pkgs/development/libraries/libfakekey/default.nix
index 196f0e50bef8..3c2431915433 100644
--- a/nixpkgs/pkgs/development/libraries/libfakekey/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfakekey/default.nix
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libX11 libXi libXtst xorgproto ];
-  NIX_LDFLAGS = [
-    "-lX11"
-  ];
+  NIX_LDFLAGS = "-lX11";
 
   meta = with stdenv.lib; {
     description = "X virtual keyboard library";
diff --git a/nixpkgs/pkgs/development/libraries/libfaketime/default.nix b/nixpkgs/pkgs/development/libraries/libfaketime/default.nix
index 10e9efed26ab..10cc5cace7b5 100644
--- a/nixpkgs/pkgs/development/libraries/libfaketime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfaketime/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfaketime";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "https://github.com/wolfcw/libfaketime/archive/v${version}.tar.gz";
-    sha256 = "07l189881q0hybzmlpjyp7r5fwz23iafkm957bwy4gnmn9lg6rad";
+    sha256 = "18s2hjm4sbrlg6sby944z87yslnq9s85p7j892hyr42qrlvq4a06";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/libffi/3.2.1-cygwin.patch b/nixpkgs/pkgs/development/libraries/libffi/3.2.1-cygwin.patch
deleted file mode 100644
index f3b38dbd1c16..000000000000
--- a/nixpkgs/pkgs/development/libraries/libffi/3.2.1-cygwin.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libffi-3.2.1/src/closures.c	2014-11-08 13:47:24.000000000 +0100
-+++ libffi-3.2.1/src/closures.c	2015-05-19 10:15:50.059325900 +0200
-@@ -212,6 +212,7 @@
- #include <sys/mman.h>
- 
- /* Cygwin is Linux-like, but not quite that Linux-like.  */
-+#define is_emutramp_enabled() 0
- #define is_selinux_enabled() 0
- 
- #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
diff --git a/nixpkgs/pkgs/development/libraries/libffi/default.nix b/nixpkgs/pkgs/development/libraries/libffi/default.nix
index 2918276ef211..cc080e7c6388 100644
--- a/nixpkgs/pkgs/development/libraries/libffi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libffi/default.nix
@@ -7,45 +7,17 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libffi-3.2.1";
+  name = "libffi-3.3";
 
   src = fetchurl {
     url = "https://sourceware.org/pub/libffi/${name}.tar.gz";
-    sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
+    sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj";
   };
 
-  patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch
-    ++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
-      url = https://src.fedoraproject.org/rpms/libffi/raw/ccffc1700abfadb0969495a6e51b964117fc03f6/f/libffi-aarch64-rhbz1174037.patch;
-      sha256 = "1vpirrgny43hp0885rswgv3xski8hg7791vskpbg3wdjdpb20wbc";
-    })
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      name = "gnu-linux-define.patch";
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/libffi/gnu-linux-define.patch?id=bb024fd8ec6f27a76d88396c9f7c5c4b5800d580";
-      sha256 = "11pvy3xkhyvnjfyy293v51f1xjy3x0azrahv1nw9y9mw8bifa2j2";
-    })
-    ++ stdenv.lib.optional stdenv.hostPlatform.isRiscV (fetchpatch {
-      name = "riscv-support.patch";
-      url = https://github.com/sorear/libffi-riscv/commit/e46492e8bb1695a19bc1053ed869e6c2bab02ff2.patch;
-      sha256 = "1vl1vbvdkigs617kckxvj8j4m2cwg62kxm1clav1w5rnw9afxg0y";
-    })
-    ++ stdenv.lib.optionals stdenv.isMips [
-      (fetchpatch {
-        name = "0001-mips-Use-compiler-internal-define-for-linux.patch";
-        url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
-        sha256 = "1gc53lw90p6hc0cmhj3csrwincfz7va5ss995ksw5gm0yrr9mrvb";
-      })
-      (fetchpatch {
-        name = "0001-mips-fix-MIPS-softfloat-build-issue.patch";
-        url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
-        sha256 = "0l8xgdciqalg4z9rcwyk87h8fdxpfv4hfqxwsy2agpnpszl5jjdq";
-      })
-    ];
+  patches = [];
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  nativeBuildInputs = stdenv.lib.optional stdenv.hostPlatform.isRiscV autoreconfHook;
-
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
     "--enable-pax_emutramp"
@@ -62,15 +34,6 @@ stdenv.mkDerivation rec {
 
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
 
-  # Install headers and libs in the right places.
-  postFixup = ''
-    mkdir -p "$dev/"
-    mv "$out/lib/${name}/include" "$dev/include"
-    rmdir "$out/lib/${name}"
-    substituteInPlace "$dev/lib/pkgconfig/libffi.pc" \
-      --replace 'includedir=''${libdir}/libffi-3.2.1' "includedir=$dev"
-  '';
-
   meta = with stdenv.lib; {
     description = "A foreign function call interface library";
     longDescription = ''
@@ -88,9 +51,8 @@ stdenv.mkDerivation rec {
       conversions for values passed between the two languages.
     '';
     homepage = http://sourceware.org/libffi/;
-    # See https://github.com/atgreen/libffi/blob/master/LICENSE .
-    license = licenses.free;
-    maintainers = [ ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libfido2/default.nix b/nixpkgs/pkgs/development/libraries/libfido2/default.nix
index 5fefdad08e76..a0f44a332205 100644
--- a/nixpkgs/pkgs/development/libraries/libfido2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfido2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.2.0";
+  version = "1.3.0";
   src = fetchurl {
-    url = "https://developers.yubico.com/libfido2/Releases/libfido2-${version}.tar.gz";
-    sha256 = "1pbllhzcrzkgxad00bai7lna8dpkwiv8khx8p20miy661abv956v";
+    url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
+    sha256 = "1izyl3as9rn7zcxpsvgngjwr55gli5gy822ac3ajzm65qiqkcbhb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
index 9b6c1d505c1e..0fa5c3a7db0e 100644
--- a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.18.1";
+  version = "0.19.3";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "15vzi95ibp6a9n4jjfs78z4b1iym8x1yv849gjipxzx64y5awyyb";
+    sha256 = "0fml6whdbfcwc8nfjhvrnidkscv6q2x988zf3alfjl2mdpw4jgd4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libfprint/default.nix b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
index 410496a7bb77..6819ffba21c3 100644
--- a/nixpkgs/pkgs/development/libraries/libfprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
@@ -1,34 +1,51 @@
-{ thinkpad ? false, stdenv, fetchFromGitHub, fetchurl, pkgconfig, meson, ninja, libusb, pixman, glib, nss, gtk3
-, coreutils, gtk-doc, docbook_xsl, docbook_xml_dtd_43, openssl ? null }:
-
-assert thinkpad -> openssl != null;
+{ stdenv
+, fetchurl
+, pkgconfig
+, meson
+, ninja
+, gusb
+, pixman
+, glib
+, nss
+, gobject-introspection
+, coreutils
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+}:
 
 stdenv.mkDerivation rec {
-  pname = "libfprint" + stdenv.lib.optionalString thinkpad "-thinkpad";
-  version = "0.99.0";
-
-  src = {
-    libfprint-thinkpad =
-      fetchFromGitHub {
-        owner = "3v1n0";
-        repo = "libfprint";
-        rev = "2e2e3821717e9042e93a995bdbd3d00f2df0be9c";
-        sha256 = "1vps1wrp7hskf13f7jrv0dwry2fcid76x2w463wplngp63cj7b3b";
-      };
-    libfprint = fetchurl {
-      url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/82ba3cef5bdf72997df711eacdb13c0f/libfprint-${version}.tar.xz";
-      sha256 = "16r4nl40y0jri57jiqmdz4s87byblx22lbhyvqpljd6mqm5rg187";
-    };
-  }.${pname};
-
-  buildInputs = [ libusb pixman glib nss gtk3 ]
-    ++ stdenv.lib.optional thinkpad openssl;
+  pname = "libfprint";
+  version = "1.90";
 
-  nativeBuildInputs = [ pkgconfig meson ninja gtk-doc docbook_xsl docbook_xml_dtd_43 ];
-
-  mesonFlags = [ "-Dudev_rules_dir=lib/udev/rules.d" "-Dx11-examples=false" ];
+  src = fetchurl {
+    url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/1bba17b5daa130aa548bc7ea96dc58c4/libfprint-1.90.0.tar.xz";
+    sha256 = "930f530df369ff874d7971f0b7c7bdb7c81597e91af4668694b98fe30b4b3371";
+  };
 
-  preConfigure = ''
+  nativeBuildInputs = [
+    pkgconfig
+    meson
+    ninja
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gusb
+    pixman
+    glib
+    nss
+  ];
+
+  mesonFlags = [
+    "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
+    "-Dx11-examples=false"
+  ];
+
+  postPatch = ''
     substituteInPlace libfprint/meson.build \
       --replace /bin/echo ${coreutils}/bin/echo
   '';
diff --git a/nixpkgs/pkgs/development/libraries/libfpx/default.nix b/nixpkgs/pkgs/development/libraries/libfpx/default.nix
index f4863eb33f26..97df5107409a 100644
--- a/nixpkgs/pkgs/development/libraries/libfpx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfpx/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   # Darwin gets misdetected as Windows without this
-  NIX_CFLAGS_COMPILE = if stdenv.isDarwin then "-D__unix" else null;
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-D__unix";
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/libraries/libfsm/default.nix b/nixpkgs/pkgs/development/libraries/libfsm/default.nix
index ce7d615f4d31..78f1f66623a4 100644
--- a/nixpkgs/pkgs/development/libraries/libfsm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfsm/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libfsm";
-  version = "0.1pre1869_${builtins.substring 0 7 src.rev}";
+  version = "0.1pre1905_${builtins.substring 0 8 src.rev}";
 
   src = fetchFromGitHub {
     owner  = "katef";
-    repo   = "libfsm";
-    rev    = "f70c3c5778a79eeecb52f9fd35c7cbc241db0ed6";
-    sha256 = "1hgv272jdv6dwnsdjajyky537z84q0cwzspw9br46qj51h8gkwvx";
+    repo   = pname;
+    rev    = "bd5937fad42b26a86bac1fe3ec49eff73581bd1d";
+    sha256 = "1q3grbmvjnnvc2sshswbd40cc2j2hnwibmljcqx9jqgda0wd6pgv";
     fetchSubmodules = true;
   };
 
@@ -22,12 +22,16 @@ stdenv.mkDerivation rec {
   # if we use stdenv vs clangStdenv, we don't know which, and CC=cc in all
   # cases.) it's unclear exactly what should be done if we want those flags,
   # but the defaults work fine.
-  buildPhase = "PREFIX=$out bmake -r install";
+  buildPhase = "PREFIX=$out bmake -r -j$NIX_BUILD_CORES";
+  installPhase = ''
+    PREFIX=$out bmake -r install
+    runHook postInstall
+  '';
 
   # fix up multi-output install. we also have to fix the pkgconfig libdir
   # file; it uses prefix=$out; libdir=${prefix}/lib, which is wrong in
   # our case; libdir should really be set to the $lib output.
-  installPhase = ''
+  postInstall = ''
     mkdir -p $lib $dev/lib
 
     mv $out/lib             $lib/lib
diff --git a/nixpkgs/pkgs/development/libraries/libftdi/1.x.nix b/nixpkgs/pkgs/development/libraries/libftdi/1.x.nix
index 1b00ff4c0fbb..26002725d91b 100644
--- a/nixpkgs/pkgs/development/libraries/libftdi/1.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libftdi/default.nix b/nixpkgs/pkgs/development/libraries/libftdi/default.nix
index 08ec1d84a3f0..3dffbd075e93 100644
--- a/nixpkgs/pkgs/development/libraries/libftdi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libftdi/default.nix
@@ -14,7 +14,7 @@ with stdenv; mkDerivation rec {
 
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" '';
-  configureFlags = lib.optional (!isDarwin) [ "--with-async-mode" ];
+  configureFlags = lib.optional (!isDarwin) "--with-async-mode";
 
   # allow async mode. from ubuntu. see:
   #   https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/libftdi/trusty/view/head:/debian/patches/04_async_mode.diff
diff --git a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
index 75d8e6710e09..e7a9ec60a6d2 100644
--- a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
-  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ];
+  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]
+   ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-asm";
 
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
diff --git a/nixpkgs/pkgs/development/libraries/libgda/default.nix b/nixpkgs/pkgs/development/libraries/libgda/default.nix
index bb6402dc4287..a1871f6b2e65 100644
--- a/nixpkgs/pkgs/development/libraries/libgda/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgda/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl, gnome3, gobject-introspection, vala, libgee
 , overrideCC, gcc6
-, mysqlSupport ? false, mysql ? null
+, mysqlSupport ? false, libmysqlclient ? null
 , postgresSupport ? false, postgresql ? null
 }:
 
-assert mysqlSupport -> mysql != null;
+assert mysqlSupport -> libmysqlclient != null;
 assert postgresSupport -> postgresql != null;
 
 (if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
@@ -15,9 +15,18 @@ assert postgresSupport -> postgresql != null;
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "16vxv2qvysh22s8h9h6irx96sacagxkz0i4qgi1wc6ibly6fvjjr";
   };
-  configureFlags = with stdenv.lib; [ "--enable-gi-system-install=no" ]
-    ++ (optional (mysqlSupport) "--with-mysql=yes")
-    ++ (optional (postgresSupport) "--with-postgres=yes");
+  configureFlags = with stdenv.lib; [
+    "--enable-gi-system-install=no"
+    "--with-mysql=${if mysqlSupport then "yes" else "no"}"
+    "--with-postgres=${if postgresSupport then "yes" else "no"}"
+
+    # macOS builds use the sqlite source code that comes with libgda,
+    # as opposed to using the system or brewed sqlite3, which is not supported on macOS,
+    # as mentioned in https://github.com/GNOME/libgda/blob/95eeca4b0470f347c645a27f714c62aa6e59f820/libgda/sqlite/README#L31,
+    # which references the paper https://web.archive.org/web/20100610151539/http://lattice.umiacs.umd.edu/files/functions_tr.pdf
+    # See also https://github.com/Homebrew/homebrew-core/blob/104f9ecd02854a82372b64d63d41356555378a52/Formula/libgda.rb
+    "--enable-system-sqlite=${if stdenv.isDarwin then "no" else "yes"}"
+  ];
 
   enableParallelBuilding = true;
 
@@ -25,7 +34,7 @@ assert postgresSupport -> postgresql != null;
 
   nativeBuildInputs = [ pkgconfig intltool itstool libxml2 gobject-introspection vala ];
   buildInputs = with stdenv.lib; [ gtk3 openssl libgee ]
-    ++ optional (mysqlSupport) mysql.connector-c
+    ++ optional (mysqlSupport) libmysqlclient
     ++ optional (postgresSupport) postgresql;
 
   passthru = {
@@ -39,6 +48,6 @@ assert postgresSupport -> postgresql != null;
     homepage = https://www.gnome-db.org/;
     license = [ licenses.lgpl2 licenses.gpl2 ];
     maintainers = gnome3.maintainers;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libgdata/default.nix b/nixpkgs/pkgs/development/libraries/libgdata/default.nix
index c7ff6d10da39..6830d47df74b 100644
--- a/nixpkgs/pkgs/development/libraries/libgdata/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgdata/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     };
 
     tests = {
-      installedTests = nixosTests.libgdata;
+      installedTests = nixosTests.installed-tests.libgdata;
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
index 558da91fcbf1..54bf091e5ea9 100644
--- a/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
@@ -2,39 +2,27 @@
 , libtiff, giflib, libjpeg, libpng
 , libXrender, libexif, autoreconfHook, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "libgdiplus-5.6.1";
+stdenv.mkDerivation rec {
+  pname = "libgdiplus";
+  version = "6.0.4";
 
   src = fetchFromGitHub {
     owner = "mono";
     repo = "libgdiplus";
-    rev = "5.6.1";
-    sha256 = "023xf3l2s0mxcdbl2viglzrkhx3lwcrpm66fiq7cfdqz80d4vsj2";
+    rev = version;
+    sha256 = "1pf3yhwq9qk0w3yv9bb8qlwwqkffg7xb4sgc8yqdnn6pa56i3vmn";
   };
 
   NIX_LDFLAGS = "-lgif";
 
-  patches = [ # Series of patches cherry-picked from master, all fixes various sigsegv (or required by other patch)
-    (fetchpatch {
-          url = "https://github.com/mono/libgdiplus/commit/d33a2580a94701ff33abe28c22881d6173be57d0.patch";
-          sha256 = "0rr54jylscn4icqjprqhwrncyr92r0d7kmfrrq3myskplpqv1c11";
-    })
-    (fetchpatch {
-          url ="https://github.com/mono/libgdiplus/commit/aa6aa53906935572f52f519fe4ab9ebedc051d08.patch";
-          sha256 = "1wg0avm8qv5cb4vk80baflfzszm6q7ydhn89c3h6kq68hg6zsf1f";
-    })
-    (fetchpatch {
-          url = "https://github.com/mono/libgdiplus/commit/81e45a1d5a3ac3cf035bcc3fabb2859818b6cc04.patch";
-          sha256 = "07wmc88cd1lqifs5x6npryni65jyy9gi8lgr2i1lb7v0fhvlyswg";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
+  configureFlags = stdenv.lib.optional stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}";
+
   buildInputs =
     [ glib cairo fontconfig libtiff giflib
       libjpeg libpng libXrender libexif
diff --git a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
index b976c9c36b83..55b801b0b0d5 100644
--- a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
@@ -1,48 +1,55 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python2, pkgconfig, libX11, libXext, xorgproto, addOpenGLRunpath }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python3, pkgconfig, libX11, libXext, xorgproto, addOpenGLRunpath }:
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
-  version = "1.0.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "libglvnd";
     rev = "v${version}";
-    sha256 = "1a126lzhd2f04zr3rvdl6814lfl0j077spi5dsf2alghgykn5iif";
+    sha256 = "1hyywwjsmvsd7di603f7iznjlccqlc7yvz0j59gax7bljm9wb6ni";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig python3 addOpenGLRunpath ];
   buildInputs = [ libX11 libXext xorgproto ];
 
+  # The following 3 patches should be removed once libglvnd >1.2.0 is released
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/6f52473dac08c44b081b792874b4ce73122096da.patch";
+      sha256 = "0rd9ihl8n33cm0rya5a7ki0hn31fh52r0gaj5d4w80jrsah2ayij";
+    })
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch";
+      sha256 = "1qx3nw8vq5xcrixmi7xw1vpy4gbf7kmx38rx8wg8x046g4mv8ijj";
+    })
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/5dfdc5a6dc60a3bdc63cd4510dabacba388da13a.patch";
+      sha256 = "0gmb3619yz3z7n22afjh8p2y13bmsky4r0z0csm14is3wvdi64ya";
+    })
+  ];
+
   postPatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/GLX/Makefile.am \
       --replace "-Wl,-Bsymbolic " ""
     substituteInPlace src/EGL/Makefile.am \
       --replace "-Wl,-Bsymbolic " ""
+    substituteInPlace src/GLdispatch/Makefile.am \
+      --replace "-Xlinker --version-script=$(VERSION_SCRIPT)" "-Xlinker"
   '';
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString ([
     "-UDEFAULT_EGL_VENDOR_CONFIG_DIRS"
     # FHS paths are added so that non-NixOS applications can find vendor files.
     "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${addOpenGLRunpath.driverLink}/share/glvnd/egl_vendor.d:/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d\""
 
     "-Wno-error=array-bounds"
-  ] ++ lib.optional stdenv.cc.isClang "-Wno-error";
+  ] ++ lib.optional stdenv.cc.isClang "-Wno-error");
 
   # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
   configureFlags  = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-tls";
 
-  # Upstream patch fixing use of libdl, should be in next release.
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/NVIDIA/libglvnd/commit/0177ade40262e31a80608a8e8e52d3da7163dccf.patch";
-      sha256 = "1rnz5jw2gvx4i1lcp0k85jz9xgr3dgzsd583m2dlxkaf2a09j89d";
-    })
-  ] ++ stdenv.lib.optional stdenv.isDarwin
-    (fetchpatch {
-      url = "https://github.com/NVIDIA/libglvnd/commit/294ccb2f49107432567e116e13efac586580a4cc.patch";
-      sha256 = "01339wg27cypv93221rhk3885vxbsg8kvbfyia77jmjdcnwrdwm2";
-    });
   outputs = [ "out" "dev" ];
 
   # Set RUNPATH so that libGLX can find driver libraries in /run/opengl-driver(-32)/lib.
diff --git a/nixpkgs/pkgs/development/libraries/libgnomekbd/default.nix b/nixpkgs/pkgs/development/libraries/libgnomekbd/default.nix
index 0951ab1fe0c0..21523bf2e1a5 100644
--- a/nixpkgs/pkgs/development/libraries/libgnomekbd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgnomekbd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "libgnomekbd";
@@ -13,13 +13,19 @@ stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript { packageName = pname; };
   };
 
-  nativeBuildInputs = [ pkgconfig file intltool makeWrapper ];
-  buildInputs = [ glib gtk3 libxklavier ];
+  nativeBuildInputs = [
+    file
+    intltool
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  preFixup = ''
-    wrapProgram $out/bin/gkbd-keyboard-display \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
+  # Requires in libgnomekbd.pc
+  propagatedBuildInputs = [
+    gtk3
+    libxklavier
+    glib
+  ];
 
   meta = with stdenv.lib; {
     description = "Keyboard management library";
diff --git a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
index 0bb3af37eee1..a1e8ef76394a 100644
--- a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgnurl";
-  version = "7.65.3";
+  version = "7.67.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
-    sha256 = "19l7jw3x83qk7yay5968pc39vzvxl55mhn1nmjh51miyda405qa9";
+    sha256 = "0ima9hz5d54iyvvih51s8xn6dsfxd3qyzgnj9l7w9f1smia295rb";
   };
 
   nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A fork of libcurl used by GNUnet";
-    homepage    = https://gnunet.org/gnurl;
+    homepage    = "https://gnunet.org/en/gnurl.html";
     maintainers = with maintainers; [ falsifian vrthra ];
     platforms = platforms.linux;
     license = licenses.curl;
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
index d7fb35897dc4..c02bc7f0ed3e 100644
--- a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
@@ -39,6 +39,7 @@ in stdenv.mkDerivation (rec {
     sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
     ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
+    ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
   '' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
     ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
@@ -78,6 +79,6 @@ in stdenv.mkDerivation (rec {
 
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.fuuzetsu maintainers.vrthra ];
+    maintainers = [ maintainers.vrthra ];
   };
 } // genPosixLockObjOnlyAttrs)
diff --git a/nixpkgs/pkgs/development/libraries/libgpod/default.nix b/nixpkgs/pkgs/development/libraries/libgpod/default.nix
index d561ebcd7afb..063588e9f1e5 100644
--- a/nixpkgs/pkgs/development/libraries/libgpod/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpod/default.nix
@@ -1,18 +1,20 @@
-{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
+{ stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
   libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib,
-  libimobiledevice, pythonPackages, mutagen,
+  libimobiledevice, mutagen,
   monoSupport ? false, mono, gtk-sharp-2_0
 }:
 
-let
-  inherit (pythonPackages) python pygobject2;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
   name = "libgpod-0.8.3";
+
   src = fetchurl {
     url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
     sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
+  outputs = [ "out" "dev" ];
+
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
 
   configureFlags = [
@@ -23,7 +25,7 @@ in stdenv.mkDerivation rec {
   dontStrip = true;
 
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
-    gdk-pixbuf taglib libimobiledevice python pygobject2 mutagen ];
+    gdk-pixbuf taglib libimobiledevice  mutagen ];
 
   nativeBuildInputs = [ gettext intltool pkgconfig ]
     ++ (with perlPackages; [ perl XMLParser ])
diff --git a/nixpkgs/pkgs/development/libraries/libgroove/default.nix b/nixpkgs/pkgs/development/libraries/libgroove/default.nix
index 511af0b613b8..bea3c85260c9 100644
--- a/nixpkgs/pkgs/development/libraries/libgroove/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgroove/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/andrewrk/libgroove;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrewrk ma27 ];
+    maintainers = with maintainers; [ andrewrk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libgsf/default.nix b/nixpkgs/pkgs/development/libraries/libgsf/default.nix
index 89a72bba8724..a60d3a165334 100644
--- a/nixpkgs/pkgs/development/libraries/libgsf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgsf/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
-, python, perl, gdk-pixbuf, libiconv, libintl, gnome3 }:
+, perl, gdk-pixbuf, libiconv, libintl, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool libintl ];
 
-  buildInputs = [ gettext bzip2 zlib python ];
+  buildInputs = [ gettext bzip2 zlib ];
   checkInputs = [ perl ];
 
   propagatedBuildInputs = [ libxml2 glib gdk-pixbuf libiconv ];
diff --git a/nixpkgs/pkgs/development/libraries/libgudev/default.nix b/nixpkgs/pkgs/development/libraries/libgudev/default.nix
index b52a2b1e0fa9..8023acb75d28 100644
--- a/nixpkgs/pkgs/development/libraries/libgudev/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libguestfs/appliance.nix b/nixpkgs/pkgs/development/libraries/libguestfs/appliance.nix
index 9c2b317ab086..ad4a93517e92 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/appliance.nix
+++ b/nixpkgs/pkgs/development/libraries/libguestfs/appliance.nix
@@ -1,9 +1,9 @@
 { fetchzip }:
 
 fetchzip {
-  name = "libguestfs-appliance-1.38.0";
-  url = "http://libguestfs.org/download/binaries/appliance/appliance-1.38.0.tar.xz";
-  sha256 = "15rxwj5qjflizxk7slpbrj9lcwkd2lgm52f5yv101qba4yyn3g76";
+  name = "libguestfs-appliance-1.40.1";
+  url = "http://download.libguestfs.org/binaries/appliance/appliance-1.40.1.tar.xz";
+  sha256 = "00863mm08p55cv6w8awp7y0lv894rcrm70mjwqfc8nc4yyb70xlm";
 
   meta = {
     hydraPlatforms = []; # Hydra fails with "Output limit exceeded"
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
index 9b50ddd4b7f4..8d480c2d8829 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, makeWrapper
 , ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
 , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
-, gmp, readline, file, numactl, xen, libapparmor
+, gmp, readline, file, numactl, xen, libapparmor, jansson
 , getopt, perlPackages, ocamlPackages
 , appliance ? null
 , javaSupport ? false, jdk ? null }:
@@ -11,16 +11,16 @@ assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   pname = "libguestfs";
-  version = "1.38.6";
+  version = "1.40.2";
 
   src = fetchurl {
-    url = "http://libguestfs.org/download/1.38-stable/libguestfs-${version}.tar.gz";
-    sha256 = "1v2mggx2jlaq4m3p5shc46gzf7vmaayha6r0nwdnyzd7x6q0is7p";
+    url = "http://libguestfs.org/download/1.40-stable/${pname}-${version}.tar.gz";
+    sha256 = "ad6562c48c38e922a314cb45a90996843d81045595c4917f66b02a6c2dfe8058";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
   buildInputs = [
-    makeWrapper autoreconfHook ncurses cpio gperf
+    ncurses cpio gperf jansson
     cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
     systemd fuse yajl libvirt gmp readline file hivex
     numactl xen libapparmor getopt perlPackages.ModuleBuild
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (!javaSupport) [ "--disable-java" "--without-java" ];
   patches = [ ./libguestfs-syms.patch ];
   NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/";
-  installFlags = "REALLY_INSTALL=yes";
+  installFlags = [ "REALLY_INSTALL=yes" ];
   enableParallelBuilding = true;
 
   postInstall = ''
@@ -65,6 +65,8 @@ stdenv.mkDerivation rec {
 
   doInstallCheck = appliance != null;
   installCheckPhase = ''
+    runHook preInstallCheck
+
     export HOME=$(mktemp -d) # avoid access to /homeless-shelter/.guestfish
 
     ${qemu}/bin/qemu-img create -f qcow2 disk1.img 10G
@@ -77,12 +79,14 @@ stdenv.mkDerivation rec {
     mkfs ext2 /dev/sda1
     list-filesystems
     EOF
+
+    runHook postInstallCheck
   '';
 
   meta = with stdenv.lib; {
     description = "Tools for accessing and modifying virtual machine disk images";
-    license = licenses.gpl2;
-    homepage = http://libguestfs.org/;
+    license = with licenses; [ gpl2 lgpl21 ];
+    homepage = "http://libguestfs.org/";
     maintainers = with maintainers; [offline];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libgweather/default.nix b/nixpkgs/pkgs/development/libraries/libgweather/default.nix
index 5e35a43fb9d4..e51a10cfe8a3 100644
--- a/nixpkgs/pkgs/development/libraries/libgweather/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgweather/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgweather";
-  version = "3.32.2";
+  version = "3.34.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "00iwbllh8dmnqch0ysng9xhkzzs3ir9jl9f4hp41vbvg1pq5zv98";
+    sha256 = "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl docbook_xml_dtd_43 gobject-introspection python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/libhandy/default.nix b/nixpkgs/pkgs/development/libraries/libhandy/default.nix
index c4f353fb6d51..88736113ee53 100644
--- a/nixpkgs/pkgs/development/libraries/libhandy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libhandy/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "0.0.11";
+  version = "0.0.12";
 
   outputs = [ "out" "dev" "devdoc" "glade" ];
   outputBin = "dev";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0622zp5wrvn5bvgardijxd11y76g1i54fs32y03dw9nrar7i6vb0";
+    sha256 = "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libheif/default.nix b/nixpkgs/pkgs/development/libraries/libheif/default.nix
index 02c4dd334813..a6e072ef76f7 100644
--- a/nixpkgs/pkgs/development/libraries/libheif/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libheif/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.5.0";
+  version = "1.6.1";
+
+  outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "1nvfjmnha06689imm8v24nlc011814gc9xq3x54cnmqvh5gn98ah";
+    sha256 = "0l3mj11lp4974kaym3aidm4wriqzls13gz22s67l6341yhsc42n6";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libical/default.nix b/nixpkgs/pkgs/development/libraries/libical/default.nix
index 050cba5460d9..69c4b3aeb74e 100644
--- a/nixpkgs/pkgs/development/libraries/libical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libical/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.5";
+  version = "3.0.7";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "03kjc4s1svmzkmzkr0irgczq37aslhj4bxnvjqav0jwa2zrynhra";
+    sha256 = "1ppf8jlpiclq3jprhx889y5lgf6lc2q4d8wy2zavzsxgnsqf67il";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libicns/default.nix b/nixpkgs/pkgs/development/libraries/libicns/default.nix
index 298d6124505c..27ec8b17c0d2 100644
--- a/nixpkgs/pkgs/development/libraries/libicns/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libiconv/setup-hook.sh b/nixpkgs/pkgs/development/libraries/libiconv/setup-hook.sh
index f89361a62998..120cf06c61b5 100644
--- a/nixpkgs/pkgs/development/libraries/libiconv/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/libiconv/setup-hook.sh
@@ -2,7 +2,7 @@
 # it doesn't hurt to have it in Glibc either though
 
 # See pkgs/build-support/setup-hooks/role.bash
-if [ -z "$dontAddExtraLibs" ]; then
+if [ -z "${dontAddExtraLibs-}" ]; then
     getHostRole
     export NIX_${role_pre}LDFLAGS+=" -liconv"
 fi
diff --git a/nixpkgs/pkgs/development/libraries/libid3tag/default.nix b/nixpkgs/pkgs/development/libraries/libid3tag/default.nix
index 674862d694c7..c6d430e10fc0 100644
--- a/nixpkgs/pkgs/development/libraries/libid3tag/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libid3tag/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "ID3 tag manipulation library";
     homepage = http://mad.sourceforge.net/;
     license = licenses.gpl2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libidn2/default.nix b/nixpkgs/pkgs/development/libraries/libidn2/default.nix
index 7e7b691e3c19..c1363d7a9284 100644
--- a/nixpkgs/pkgs/development/libraries/libidn2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libimagequant/default.nix b/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
index 9c2dd920c9f3..44fa395204bb 100644
--- a/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libimagequant";
-  version = "2.12.5";
+  version = "2.12.6";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = pname;
     rev = version;
-    sha256 = "0cp68w04ja5pv77ssfafsn958w9hh9zb8crrlb5j3gsrcmdc032k";
+    sha256 = "00w7fny3xf14cfyhbdnmqyh9ddqdh1irvgzxd35a2z65kp7vnvj0";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/libindicate/default.nix b/nixpkgs/pkgs/development/libraries/libindicate/default.nix
deleted file mode 100644
index f6dc85b629dd..000000000000
--- a/nixpkgs/pkgs/development/libraries/libindicate/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# TODO: Resolve the issues with the Mono bindings.
-
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
-, glib, dbus-glib, libdbusmenu
-, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
-, pythonPackages, gobject-introspection, vala, gnome-doc-utils
-, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
- }:
-
-with lib;
-
-let
-  inherit (pythonPackages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
-          in "libindicate-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
-
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicate-${version}.tar.gz";
-    sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoconf gobject-introspection vala gnome-doc-utils ];
-
-  buildInputs = [
-    glib dbus-glib libdbusmenu
-    python pygobject2 pygtk
-  ] ++ (if gtkVersion == "2"
-    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
-    else [ gtk3 ]);
-
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' \
-      --replace 'pyglib-2.0-python$PYTHON_VERSION' 'pyglib-2.0-python'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
-
-  configureFlags = [
-    "CFLAGS=-Wno-error"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-gtk=${gtkVersion}"
-  ];
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
-  ];
-
-  meta = {
-    description = "Library for raising indicators via DBus";
-    homepage = https://launchpad.net/libindicate;
-    license = with licenses; [ lgpl21 lgpl3 ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.msteen ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libinjection/default.nix b/nixpkgs/pkgs/development/libraries/libinjection/default.nix
new file mode 100644
index 000000000000..b3bdbb41588a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libinjection/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub
+, python
+}:
+
+stdenv.mkDerivation rec {
+  pname   = "libinjection";
+  version = "3.10.0";
+
+  src = fetchFromGitHub {
+    owner  = "client9";
+    repo   = pname;
+    rev    = "refs/tags/v${version}";
+    sha256 = "0chsgam5dqr9vjfhdcp8cgk7la6nf3lq44zs6z6si98cq743550g";
+  };
+
+  nativeBuildInputs = [ python ];
+
+  patchPhase = ''
+    patchShebangs src
+    substituteInPlace src/Makefile \
+      --replace /usr/local $out
+  '';
+
+  configurePhase = "cd src";
+  buildPhase = "make all";
+
+  # no binaries, so out = library, dev = headers
+  outputs = [ "out" "dev" ];
+
+  meta = with stdenv.lib; {
+    description = "SQL / SQLI tokenizer parser analyzer";
+    homepage    = "https://github.com/client9/libinjection";
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libinput/default.nix b/nixpkgs/pkgs/development/libraries/libinput/default.nix
index 044ef2dd6a79..8d48082e1d9c 100644
--- a/nixpkgs/pkgs/development/libraries/libinput/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.14.1";
+  version = "1.14.3";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz";
-    sha256 = "0w7fas37mp2k06f12i3lnj717lw73asziknj6z51kh1m50ja6cz3";
+    sha256 = "1dy58j8dvr7ri34bx0lppmh5638m956azgwk501w373hi42kmsqg";
   };
 
   outputs = [ "bin" "out" "dev" ];
@@ -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/nixpkgs/pkgs/development/libraries/libisds/default.nix b/nixpkgs/pkgs/development/libraries/libisds/default.nix
new file mode 100644
index 000000000000..4ed5a8309644
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libisds/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchurl
+, expat
+, gpgme
+, libgcrypt
+, libxml2
+, libxslt
+, curl
+, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libisds";
+  version = "0.11";
+
+  src = fetchurl {
+    url = "http://xpisar.wz.cz/${pname}/dist/${pname}-${version}.tar.xz";
+    sha256 = "1cy161l7rl25xji2xpb9vjpvg02bc7mwd4fpp2sx9zhpifn5dfbr";
+  };
+
+  configureFlags = [
+    "--with-docbook-xsl-stylesheets=${docbook_xsl}/xml/xsl/docbook"
+  ];
+
+  buildInputs = [ expat gpgme libgcrypt libxml2 libxslt curl docbook_xsl ];
+
+  meta = with stdenv.lib; {
+    description = "Client library for accessing SOAP services of Czech government-provided Databox infomation system";
+    homepage = "http://xpisar.wz.cz/libisds/";
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libisoburn/default.nix b/nixpkgs/pkgs/development/libraries/libisoburn/default.nix
index cefce19d4659..633f19cef798 100644
--- a/nixpkgs/pkgs/development/libraries/libisoburn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libisofs/default.nix b/nixpkgs/pkgs/development/libraries/libisofs/default.nix
index 59726094c4ae..2c1bb3b3b8e3 100644
--- a/nixpkgs/pkgs/development/libraries/libisofs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libisofs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libisofs";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys";
+    sha256 = "002mcyqwg625a8hqvsrmgm26mhhfwj0j7rahfhsqirmk02b16npg";
   };
 
   buildInputs = [ attr zlib ];
diff --git a/nixpkgs/pkgs/development/libraries/libite/default.nix b/nixpkgs/pkgs/development/libraries/libite/default.nix
index 73801102ba38..34ca7406d697 100644
--- a/nixpkgs/pkgs/development/libraries/libite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libite";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "0qk7231c1xwvjhkc9w7hasvafvgns10cx9kdhfdbc4r1hsh6d1ca";
+    sha256 = "0fi3j3y37id24cgy3868pyvxkd6mvbbraalvpm99f5dhrxdlv961";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libivykis/default.nix b/nixpkgs/pkgs/development/libraries/libivykis/default.nix
index bd1432b8a21b..17cca74c7d29 100644
--- a/nixpkgs/pkgs/development/libraries/libivykis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libivykis/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "libivykis";
 
-  version = "0.42.3";
+  version = "0.42.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/libivykis/${version}/ivykis-${version}.tar.gz";
-    sha256 = "1v0ajkm531v4zxzn2x90yb5ab81ssqv2y0fib24wbsggbkajbc69";
+    sha256 = "0abi0rc3wnncvr68hy6rmzp96x6napd7fs1mff20dr8lb0jyvy3f";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-drop/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-drop/default.nix
index 4e9c165e71fb..8ed1c9bf92fe 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg-drop/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg-drop/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = []
-    ++ optional static [ "--enable-static" "--disable-shared" ];
+    ++ optionals static [ "--enable-static" "--disable-shared" ];
 
   outputs = [ "bin" "dev" "out" "man" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
index cb32b22f45e4..f05ac6d521bf 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, nasm }:
+{ stdenv, fetchurl, cmake, nasm, enableStatic ? false }:
 
 stdenv.mkDerivation rec {
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake nasm ];
 
   cmakeFlags = [
-    "-DENABLE_STATIC=0"
+    "-DENABLE_STATIC=${if enableStatic then "1" else "0"}"
   ];
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/libksi/default.nix b/nixpkgs/pkgs/development/libraries/libksi/default.nix
index b4e9f2bdf885..f155c0d85065 100644
--- a/nixpkgs/pkgs/development/libraries/libksi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libksi/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, openssl, curl }:
 
-stdenv.mkDerivation {
-  name = "libksi-2015-07-03";
+stdenv.mkDerivation rec {
+  pname = "libksi";
+  version = "3.20.3025";
 
   src = fetchFromGitHub {
     owner = "Guardtime";
-    repo = "libksi";
-    rev = "b82dd65bd693722db92397cbe0920170e0d2ae1c";
-    sha256 = "1sqd31l55kx6knl0sg26ail1k5rgmamq8760p6aj7bpb4jwb8r1n";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0cagysr8j92r6g7f0mwrlkpn9xz9ncz2v3jymh47j3ljxmfbagpz";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/liblockfile/default.nix b/nixpkgs/pkgs/development/libraries/liblockfile/default.nix
index aba751bae5ce..bfc9036abe32 100644
--- a/nixpkgs/pkgs/development/libraries/liblockfile/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblockfile/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   _name   = "liblockfile";
-  version = "1.15";
+  version = "1.16";
   name    = "${_name}-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/libl/${_name}/${_name}_${version}.orig.tar.gz";
-    sha256 = "04ml9isvdl72fbr1825x7jb680xp8aprdq4pag32ahyjqk909cmh";
+    sha256 = "0s8wj3y6mf1g47nvinkkm5avmqz0z6yxmdrnxpjwgz6krql3hvng";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/liblouis/default.nix b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
index 0f73be7ebcea..932edd20e9a6 100644
--- a/nixpkgs/pkgs/development/libraries/liblouis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "1y0pypgxchxczdnjkblibbvvy4gdk2pf8dzpqmbf824c7zpy8z5r";
+    sha256 = "0sw7iwb9158z7jslxj9jwh2vqbg0q8wq6fbmk9iz7sfkjqhi80hv";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch b/nixpkgs/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch
deleted file mode 100644
index 1d8b385e0c57..000000000000
--- a/nixpkgs/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Taken from openwrt:
-https://dev.openwrt.org/browser/packages/libs/libmad/patches/001-mips_removal_h_constraint.patch?rev=18548
-
-diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h
---- libmad-0.15.1b-orig/fixed.h	2004-02-17 12:32:03.000000000 +1030
-+++ libmad-0.15.1b/fixed.h	2009-08-05 10:46:30.000000000 +0930
-@@ -299,6 +299,23 @@
- 
- # elif defined(FPM_MIPS)
- 
-+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
-+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-+#define __GNUC_PREREQ(maj, min) \
-+	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-+#else
-+#define __GNUC_PREREQ(maj, min)  0
-+#endif
-+
-+#if __GNUC_PREREQ(4,4)
-+  typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
-+# define MAD_F_MLX(hi, lo, x, y) \
-+   do { \
-+      u64_di_t __ll = (u64_di_t) (x) * (y); \
-+      hi = __ll >> 32; \
-+      lo = __ll; \
-+   } while (0) 
-+#else
- /*
-  * This MIPS version is fast and accurate; the disposition of the least
-  * significant bit depends on OPT_ACCURACY via mad_f_scale64().
-@@ -328,6 +345,7 @@
- 	 : "%r" ((x) >> 12), "r" ((y) >> 16))
- #  define MAD_F_MLZ(hi, lo)  ((mad_fixed_t) (lo))
- # endif
-+#endif /* __GNU_PREREQ(4,4) */
- 
- # if defined(OPT_SPEED)
- #  define mad_f_scale64(hi, lo)  \
-diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h
---- libmad-0.15.1b-orig/mad.h	2004-02-17 13:25:44.000000000 +1030
-+++ libmad-0.15.1b/mad.h	2009-08-05 10:42:40.000000000 +0930
-@@ -344,6 +344,23 @@
- 
- # elif defined(FPM_MIPS)
- 
-+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
-+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-+#define __GNUC_PREREQ(maj, min) \
-+	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-+#else
-+#define __GNUC_PREREQ(maj, min)  0
-+#endif
-+
-+#if __GNUC_PREREQ(4,4)
-+  typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
-+# define MAD_F_MLX(hi, lo, x, y) \
-+   do { \
-+      u64_di_t __ll = (u64_di_t) (x) * (y); \
-+      hi = __ll >> 32; \
-+      lo = __ll; \
-+   } while (0) 
-+#else
- /*
-  * This MIPS version is fast and accurate; the disposition of the least
-  * significant bit depends on OPT_ACCURACY via mad_f_scale64().
-@@ -373,6 +390,7 @@
- 	 : "%r" ((x) >> 12), "r" ((y) >> 16))
- #  define MAD_F_MLZ(hi, lo)  ((mad_fixed_t) (lo))
- # endif
-+#endif /* __GNU_PREREQ(4,4) */
- 
- # if defined(OPT_SPEED)
- #  define mad_f_scale64(hi, lo)  \
diff --git a/nixpkgs/pkgs/development/libraries/libmad/default.nix b/nixpkgs/pkgs/development/libraries/libmad/default.nix
index f6df090e8b5d..24de4aa2e4a0 100644
--- a/nixpkgs/pkgs/development/libraries/libmad/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmad/default.nix
@@ -1,28 +1,58 @@
-{stdenv, fetchurl, autoconf}:
+{ stdenv, fetchurl, fetchpatch, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "libmad-0.15.1b";
-  
+  pname = "libmad";
+  version = "0.15.1b";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mad/${name}.tar.gz";
-    sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
+    url = "mirror://sourceforge/mad/${pname}-${version}.tar.gz";
+    sha256 = "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv";
   };
 
-  patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ]
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/001-mips_removal_h_constraint.patch";
+      sha256 = "0layswr6qg6axf4vyz6xrv73jwga34mkma3ifk9w9vrk41454hr5";
+    })
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/libmad.patch";
+      sha256 = "0rysq0sn3dfdz6pa6bfqkmk4ymc4rzk5ym7p16dyk37sldg1pbzs";
+    })
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/amd64-64bit.diff";
+      sha256 = "0mx56dmkbvw3zxnqd2hjng48q0d7q7473pns4n0ksdam29b0c5ar";
+    })
+    (fetchpatch {
+      name = "CVE-2017-8372-CVE-2017-8373.patch";
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/102-CVE-2017-8373-CVE-2017-8372-md-size.patch";
+      sha256 = "0p6mkpn66h1ds8jvww28q4vlr58jwm58m9vb7pkvvyvy764agqnk";
+    })
+    (fetchpatch {
+      name = "CVE-2017-8374.patch";
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/101-CVE-2017-8374-length-check.patch";
+      sha256 = "1j1ssxwmx9nfahzl62frbzck93xrjc2v3w30c12vmk29iflf1890";
+    })
+  ]
   # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad
   # It is included here in order to fix a build failure in Clang
   # But it may be useful to fix other, currently unknown problems as well
-  ++ stdenv.lib.optional stdenv.cc.isClang [ ./optimize.diff ];
-
-  nativeBuildInputs = [ autoconf ];
+  ++ stdenv.lib.optionals stdenv.cc.isClang [
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff";
+      sha256 = "0hcxzz9ql1fizyqbsgdchdwi7bvchfr72172j43hpyj53p0yabc6";
+    })
+  ];
 
   # The -fforce-mem flag has been removed in GCC 4.3.
-  preConfigure = ''
-    autoconf
-    substituteInPlace configure --replace "-fforce-mem" ""
-    substituteInPlace configure --replace "arch=\"-march=i486\"" ""
+  postPatch = ''
+    substituteInPlace configure.ac --replace "-fforce-mem" ""
+    substituteInPlace configure.ac --replace "arch=\"-march=i486\"" ""
   '';
 
+  nativeBuildInputs = [ autoconf ];
+
+  preConfigure = "autoconf";
+
   meta = with stdenv.lib; {
     homepage    = https://sourceforge.net/projects/mad/;
     description = "A high-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2";
diff --git a/nixpkgs/pkgs/development/libraries/libmad/optimize.diff b/nixpkgs/pkgs/development/libraries/libmad/optimize.diff
deleted file mode 100644
index 1418dc927073..000000000000
--- a/nixpkgs/pkgs/development/libraries/libmad/optimize.diff
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: libmad-0.15.1b/configure.ac
-===================================================================
---- libmad-0.15.1b.orig/configure.ac	2008-03-07 20:31:23.000000000 +0000
-+++ libmad-0.15.1b/configure.ac	2008-03-07 20:34:26.000000000 +0000
-@@ -124,71 +124,7 @@
- 
- if test "$GCC" = yes
- then
--    if test -z "$arch"
--    then
--	case "$host" in
--	    i386-*)           ;;
--	    i?86-*)           arch="-march=i486" ;;
--	    arm*-empeg-*)     arch="-march=armv4 -mtune=strongarm1100" ;;
--	    armv4*-*)         arch="-march=armv4 -mtune=strongarm" ;;
--	    powerpc-*)        ;;
--	    mips*-agenda-*)   arch="-mcpu=vr4100" ;;
--	    mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
--	esac
--    fi
--
--    case "$optimize" in
--	-O|"-O "*)
--	    optimize="-O"
--	    optimize="$optimize -fforce-mem"
--	    optimize="$optimize -fforce-addr"
--	    : #x optimize="$optimize -finline-functions"
--	    : #- optimize="$optimize -fstrength-reduce"
--	    optimize="$optimize -fthread-jumps"
--	    optimize="$optimize -fcse-follow-jumps"
--	    optimize="$optimize -fcse-skip-blocks"
--	    : #x optimize="$optimize -frerun-cse-after-loop"
--	    : #x optimize="$optimize -frerun-loop-opt"
--	    : #x optimize="$optimize -fgcse"
--	    optimize="$optimize -fexpensive-optimizations"
--	    optimize="$optimize -fregmove"
--	    : #* optimize="$optimize -fdelayed-branch"
--	    : #x optimize="$optimize -fschedule-insns"
--	    optimize="$optimize -fschedule-insns2"
--	    : #? optimize="$optimize -ffunction-sections"
--	    : #? optimize="$optimize -fcaller-saves"
--	    : #> optimize="$optimize -funroll-loops"
--	    : #> optimize="$optimize -funroll-all-loops"
--	    : #x optimize="$optimize -fmove-all-movables"
--	    : #x optimize="$optimize -freduce-all-givs"
--	    : #? optimize="$optimize -fstrict-aliasing"
--	    : #* optimize="$optimize -fstructure-noalias"
--
--	    case "$host" in
--		arm*-*)
--		    optimize="$optimize -fstrength-reduce"
--		    ;;
--		mips*-*)
--		    optimize="$optimize -fstrength-reduce"
--		    optimize="$optimize -finline-functions"
--		    ;;
--		i?86-*)
--		    optimize="$optimize -fstrength-reduce"
--		    ;;
--		powerpc-apple-*)
--		    # this triggers an internal compiler error with gcc2
--		    : #optimize="$optimize -fstrength-reduce"
--
--		    # this is really only beneficial with gcc3
--		    : #optimize="$optimize -finline-functions"
--		    ;;
--		*)
--		    # this sometimes provokes bugs in gcc 2.95.2
--		    : #optimize="$optimize -fstrength-reduce"
--		    ;;
--	    esac
--	    ;;
--    esac
-+    optimize="-O2"
- fi
- 
- case "$host" in
diff --git a/nixpkgs/pkgs/development/libraries/libmad/pkgconfig.patch b/nixpkgs/pkgs/development/libraries/libmad/pkgconfig.patch
deleted file mode 100644
index 0ac88acb8415..000000000000
--- a/nixpkgs/pkgs/development/libraries/libmad/pkgconfig.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff -ruN libmad-0.15.1b.orig/Makefile.am libmad-0.15.1b/Makefile.am
---- libmad-0.15.1b.orig/Makefile.am	2004-02-17 02:02:03.000000000 +0000
-+++ libmad-0.15.1b/Makefile.am	2005-08-25 12:08:04.000000000 +0000
-@@ -33,9 +33,12 @@
- minimad_INCLUDES =	
- minimad_LDADD =		libmad.la
- 
--EXTRA_DIST =		mad.h.sed  \
-+EXTRA_DIST =		mad.h.sed mad.pc.in \
- 			CHANGES COPYRIGHT CREDITS README TODO VERSION
- 
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA= mad.pc
-+
- exported_headers =	version.h fixed.h bit.h timer.h stream.h frame.h  \
- 			synth.h decoder.h
- 
-diff -ruN libmad-0.15.1b.orig/Makefile.in libmad-0.15.1b/Makefile.in
---- libmad-0.15.1b.orig/Makefile.in	2004-02-17 02:33:23.000000000 +0000
-+++ libmad-0.15.1b/Makefile.in	2005-08-25 12:09:34.000000000 +0000
-@@ -14,6 +14,8 @@
- 
- @SET_MAKE@
- 
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = mad.pc
- 
- SOURCES = $(libmad_la_SOURCES) $(EXTRA_libmad_la_SOURCES) $(minimad_SOURCES)
- 
-@@ -43,7 +45,7 @@
- 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(srcdir)/config.h.in $(srcdir)/libmad.list.in \
- 	$(top_srcdir)/configure COPYING INSTALL TODO config.guess \
--	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
-+	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs mad.pc.in
- subdir = .
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-@@ -53,7 +55,7 @@
-  configure.lineno configure.status.lineno
- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
- CONFIG_HEADER = config.h
--CONFIG_CLEAN_FILES = libmad.list
-+CONFIG_CLEAN_FILES = libmad.list mad.pc
- am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
- libLTLIBRARIES_INSTALL = $(INSTALL)
- LTLIBRARIES = $(lib_LTLIBRARIES)
-@@ -218,7 +220,7 @@
- minimad_SOURCES = minimad.c
- minimad_INCLUDES = 
- minimad_LDADD = libmad.la
--EXTRA_DIST = mad.h.sed  \
-+EXTRA_DIST = mad.h.sed  mad.pc.in \
- 			CHANGES COPYRIGHT CREDITS README TODO VERSION
- 
- exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h  \
-@@ -298,6 +300,28 @@
- 	rm -f stamp-h1
- 	touch $@
- 
-+mad.pc: $(top_builddir)/config.status mad.pc.in
-+	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-+
-+install-pkgconfigDATA: $(pkgconfig_DATA)
-+	@$(NORMAL_INSTALL)
-+	$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
-+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
-+	  if test -f $(srcdir)/$$p; then \
-+	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-+	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	  else if test -f $$p; then \
-+	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-+	    $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	  fi; fi; \
-+	done
-+
-+uninstall-pkgconfigDATA:
-+	@$(NORMAL_UNINSTALL)
-+	list='$(pkgconfig_DATA)'; for p in $$list; do \
-+	  rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	done
-+
- distclean-hdr:
- 	-rm -f config.h stamp-h1
- libmad.list: $(top_builddir)/config.status $(srcdir)/libmad.list.in
-@@ -726,7 +750,7 @@
- 
- info-am:
- 
--install-data-am: install-includeHEADERS
-+install-data-am: install-includeHEADERS install-pkgconfigDATA
- 
- install-exec-am: install-libLTLIBRARIES
- 
-@@ -757,7 +781,7 @@
- ps-am:
- 
- uninstall-am: uninstall-includeHEADERS uninstall-info-am \
--	uninstall-libLTLIBRARIES
-+	uninstall-libLTLIBRARIES install-pkgconfigDATA
- 
- uninstall-info: uninstall-info-recursive
- 
-diff -ruN libmad-0.15.1b.orig/mad.pc.in libmad-0.15.1b/mad.pc.in
---- libmad-0.15.1b.orig/mad.pc.in	1970-01-01 00:00:00.000000000 +0000
-+++ libmad-0.15.1b/mad.pc.in	2005-08-25 12:08:04.000000000 +0000
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: MAD
-+Description: libmad - MPEG audio decoder library
-+Version: @VERSION@
-+Libs: -L${libdir} -lmad
-+Cflags:
diff --git a/nixpkgs/pkgs/development/libraries/libmanette/default.nix b/nixpkgs/pkgs/development/libraries/libmanette/default.nix
index 701238750512..2f7f46974b0b 100644
--- a/nixpkgs/pkgs/development/libraries/libmanette/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmanette/default.nix
@@ -1,22 +1,40 @@
-{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobject-introspection
-, glib, libgudev, libevdev, gnome3 }:
+{ stdenv
+, fetchurl
+, ninja
+, meson
+, pkgconfig
+, vala
+, gobject-introspection
+, glib
+, libgudev
+, libevdev
+, gnome3
+}:
 
-let
-  version = "0.2.2";
+stdenv.mkDerivation rec {
   pname = "libmanette";
-in
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  version = "0.2.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1lpprk2qz1lsqf9xj6kj2ciyc1zmjhj5lwd584qkh7jgz2x9y6wb";
+    sha256 = "1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig vala gobject-introspection ];
-  buildInputs = [ glib libgudev libevdev ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    vala
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    libgudev
+    libevdev
+  ];
 
   doCheck = true;
 
@@ -28,7 +46,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A simple GObject game controller library";
-    homepage = https://wiki.gnome.org/Apps/Builder;
+    homepage = "https://gitlab.gnome.org/aplazas/libmanette";
     license = licenses.lgpl21Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/libmatchbox/default.nix b/nixpkgs/pkgs/development/libraries/libmatchbox/default.nix
index 3786c5e77d3a..98875e48f57f 100644
--- a/nixpkgs/pkgs/development/libraries/libmatchbox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmatchbox/default.nix
@@ -6,9 +6,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libXft libICE pango libjpeg ];
   propagatedBuildInputs = [ libX11 libXext libpng ];
-  NIX_LDFLAGS = [
-    "-lX11"
-  ];
+  NIX_LDFLAGS = "-lX11";
 
   src = fetchurl {
     url = "https://downloads.yoctoproject.org/releases/matchbox/libmatchbox/${version}/libmatchbox-${version}.tar.bz2";
diff --git a/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix b/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
index 46ed250b7b19..5cf12ea46ba0 100644
--- a/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "libmaxminddb";
-  version = "1.3.2";
+  version = "1.4.2";
 
   src = fetchurl {
     url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1w60yq26x3yr3abxk7fwqqaggw8dc98595jdliaa3kyqdfm83y76";
+    sha256 = "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x";
   };
 
   meta = with stdenv.lib; {
     description = "C library for working with MaxMind geolocation DB files";
     homepage = https://github.com/maxmind/libmaxminddb;
-    license = licenses.apsl20;
+    license = licenses.asl20;
     platforms = platforms.all;
     maintainers = [ maintainers.vcunat ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/libmbim/default.nix b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
index 7a7bd1153280..a49e0eaaac67 100644
--- a/nixpkgs/pkgs/development/libraries/libmbim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.18.2";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "0s4jsfsydp2vykv7lnimalp9i680aas1qcx7zdpjiic64b5g48vp";
+    sha256 = "1s6k6vm4hyma7nafm1gjssl9lq9nkkiska462xpiz7xh16j0h9xc";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/libmediaart/default.nix b/nixpkgs/pkgs/development/libraries/libmediaart/default.nix
index 569c567e9282..20a63fd6eb03 100644
--- a/nixpkgs/pkgs/development/libraries/libmediaart/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmediaart/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gdk-pixbuf, gobject-introspection, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gdk-pixbuf, gobject-introspection, gnome3, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libmediaart";
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkgconfig vala gtk-doc docbook_xsl docbook_xml_dtd_412 gobject-introspection ];
   buildInputs = [ glib gdk-pixbuf ];
 
+  patches = [
+    # https://bugzilla.gnome.org/show_bug.cgi?id=792272
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libmediaart/commit/a704d0b6cfea091274bd79aca6d15f19b4f6e5b5.patch";
+      sha256 = "0606qfmdqxcxrydv1fgwq11hmas34ba4a5kzbbqdhfh0h9ldgwkv";
+    })
+  ];
+
   # FIXME: Turn on again when https://github.com/NixOS/nixpkgs/issues/53701
   # is fixed on master.
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/libraries/libmemcached/default.nix b/nixpkgs/pkgs/development/libraries/libmemcached/default.nix
index 57053103417a..5655bfe968b9 100644
--- a/nixpkgs/pkgs/development/libraries/libmemcached/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmemcached/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   buildInputs = [ libevent ];
   propagatedBuildInputs = [ cyrus_sasl ];
 
-  NIX_CFLAGS_COMPILE = [ "-fpermissive"/*gcc7*/ ];
+  NIX_CFLAGS_COMPILE = "-fpermissive";
 
   meta = with stdenv.lib; {
     homepage = https://libmemcached.org;
diff --git a/nixpkgs/pkgs/development/libraries/libmesode/default.nix b/nixpkgs/pkgs/development/libraries/libmesode/default.nix
index 7ec06b51e8cb..de09d142d481 100644
--- a/nixpkgs/pkgs/development/libraries/libmesode/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmesode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmesode";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "boothj5";
     repo = "libmesode";
     rev = version;
-    sha256 = "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak";
+    sha256 = "0xzfg1xx88cn36352nnjlb1p7xyw32yqkhjzq10px88iaaqz1vv0";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix b/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
index f8f4439a3dfe..ba4d74e4d484 100644
--- a/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmicrohttpd";
-  version = "0.9.66";
+  version = "0.9.69";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${pname}-${version}.tar.gz";
-    sha256 = "06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf";
+    sha256 = "0zp34zgcahym5kp2r83gfb5wnr8yf643a26k6zk96x3qica6p6zv";
   };
 
   outputs = [ "out" "dev" "devdoc" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/libminc/default.nix b/nixpkgs/pkgs/development/libraries/libminc/default.nix
index aea7a5959fac..53b6af40b512 100644
--- a/nixpkgs/pkgs/development/libraries/libminc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libminc/default.nix
@@ -1,17 +1,16 @@
 { stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }:
 
 stdenv.mkDerivation rec {
-  pname = "libminc";
-  name  = "${pname}-2018-01-17";
+  pname   = "libminc";
+  version = "2.4.03";
 
   owner = "BIC-MNI";
 
-  # current master is significantly ahead of most recent release, so use Git version:
   src = fetchFromGitHub {
     inherit owner;
     repo   = pname;
-    rev    = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b";
-    sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa";
+    rev    = "release-${version}";
+    sha256 = "0kpmqs9df836ywsqj749qbsfavf5bnldblxrmnmxqq9pywc8yfrm";
   };
 
   postPatch = ''
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
     "-DLIBMINC_USE_SYSTEM_NIFTI=ON"
   ];
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
   checkPhase = ''
     export LD_LIBRARY_PATH="$(pwd)"  # see #22060
     ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure
diff --git a/nixpkgs/pkgs/development/libraries/libmodule/default.nix b/nixpkgs/pkgs/development/libraries/libmodule/default.nix
index bcd20c3b4076..26b81d4d4129 100644
--- a/nixpkgs/pkgs/development/libraries/libmodule/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libmpeg2/default.nix b/nixpkgs/pkgs/development/libraries/libmpeg2/default.nix
index 4c886078aa8b..2351ce2b5549 100644
--- a/nixpkgs/pkgs/development/libraries/libmpeg2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmpeg2/default.nix
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   # Otherwise clang fails with 'duplicate symbol ___sputc'
-  buildFlags = stdenv.lib.optionalString stdenv.isDarwin "CFLAGS=-std=gnu89";
+  buildFlags = stdenv.lib.optional stdenv.isDarwin "CFLAGS=-std=gnu89";
 
   meta = {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libmypaint/default.nix b/nixpkgs/pkgs/development/libraries/libmypaint/default.nix
index 91e0b5ef0722..c36633edfff3 100644
--- a/nixpkgs/pkgs/development/libraries/libmypaint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libnabo/default.nix b/nixpkgs/pkgs/development/libraries/libnabo/default.nix
index 9414ebdcc2a0..4c3ceee1e561 100644
--- a/nixpkgs/pkgs/development/libraries/libnabo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnabo/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "
-    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
-  ";
+  cmakeFlags = [
+    "-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3"
+  ];
 
   doCheck = true;
   checkTarget = "test";
diff --git a/nixpkgs/pkgs/development/libraries/libnats-c/default.nix b/nixpkgs/pkgs/development/libraries/libnats-c/default.nix
new file mode 100644
index 000000000000..3916ff35f696
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libnats-c/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub
+, cmake, protobuf, protobufc
+, libsodium, openssl
+}:
+
+stdenv.mkDerivation rec {
+  pname   = "libnats";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner  = "nats-io";
+    repo   = "nats.c";
+    rev    = "refs/tags/v${version}";
+    sha256 = "16a0f0gvrmyrqvmh6vinqny3qhm6wyzw5ijnn3r82b1gqlpws0fz";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libsodium openssl protobuf protobufc ];
+
+  separateDebugInfo = true;
+  enableParallelBuilding = true;
+  outputs = [ "out" "dev" ];
+
+  meta = with stdenv.lib; {
+    description = "C API for the NATS messaging system";
+    homepage    = "https://github.com/nats-io/nats.c";
+    license     = licenses.asl20;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libndctl/default.nix b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
index bfff0c845225..613103db69f2 100644
--- a/nixpkgs/pkgs/development/libraries/libndctl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libndctl";
-  version = "66";
+  version = "67";
 
   src = fetchFromGitHub {
     owner  = "pmem";
     repo   = "ndctl";
     rev    = "v${version}";
-    sha256 = "1pq1ss6b1lnyfnvdfhpi0x70jjrnm567fcyvkgvhmp2ndzsn393f";
+    sha256 = "076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libnftnl/default.nix b/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
index 815ed3a6bd40..a4f98eed4177 100644
--- a/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.4";
+  version = "1.1.5";
   pname = "libnftnl";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "087dfc2n4saf2k68hyi4byvgz5grwpw5kfjvmkpn3wmd8y1riiy8";
+    sha256 = "1wqlxf76bkqf3qhka9sw32qhb2ni20q1k6rn3iril2kw482lvpk6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libngspice/default.nix b/nixpkgs/pkgs/development/libraries/libngspice/default.nix
index d9b2df6148aa..ffecfcb61d09 100644
--- a/nixpkgs/pkgs/development/libraries/libngspice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libngspice/default.nix
@@ -4,11 +4,11 @@
 # the ngspice derivation.
 stdenv.mkDerivation rec {
   pname = "libngspice";
-  version = "30";
+  version = "31";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "15v0jdfy2a2zxp8dmy04fdp7w7a4vwvffcwa688r81b86wphxzh8";
+    sha256 = "10n2lnfrpsv4vyrirkphr4jwjjhy7i617g6za78dwirfjq63npw4";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/nixpkgs/pkgs/development/libraries/libnice/default.nix b/nixpkgs/pkgs/development/libraries/libnice/default.nix
index f4ce1f6eea03..90bdb06bb7f6 100644
--- a/nixpkgs/pkgs/development/libraries/libnice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnice/default.nix
@@ -1,4 +1,19 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, python3, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp-igd, gst_all_1, gnutls }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python3
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, glib
+, gupnp-igd
+, gst_all_1
+, gnutls
+}:
 
 stdenv.mkDerivation rec {
   name = "libnice-0.1.16";
@@ -21,27 +36,40 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gobject-introspection
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
+
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gnutls
+    gupnp-igd
+  ];
+
+  propagatedBuildInputs = [
+    glib
   ];
-  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
-  propagatedBuildInputs = [ glib gupnp-igd ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  # TODO; see #53293 etc.
-  #doCheck = true;
+  # Tests are flaky
+  # see https://github.com/NixOS/nixpkgs/pull/53293#issuecomment-453739295
+  doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://nice.freedesktop.org/wiki/;
-    description = "The GLib ICE implementation";
+    description = "GLib ICE implementation";
     longDescription = ''
       Libnice is an implementation of the IETF's Interactice Connectivity
       Establishment (ICE) standard (RFC 5245) and the Session Traversal
@@ -49,6 +77,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
+    homepage = "https://nice.freedesktop.org/wiki/";
     platforms = platforms.linux;
     license = with licenses; [ lgpl21 mpl11 ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/libnotify/default.nix b/nixpkgs/pkgs/development/libraries/libnotify/default.nix
index d4ac3ae8dc9e..59039aadb895 100644
--- a/nixpkgs/pkgs/development/libraries/libnotify/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnotify/default.nix
@@ -1,5 +1,14 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, fetchpatch
-, glib, gdk-pixbuf, gobject-introspection, gnome3 }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, fetchpatch
+, glib
+, gdk-pixbuf
+, gobject-introspection
+, gnome3
+}:
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
@@ -26,8 +35,17 @@ stdenv.mkDerivation rec {
     "-Dgtk_doc=false"
   ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
-  buildInputs = [ glib gdk-pixbuf ];
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  propagatedBuildInputs = [
+    gdk-pixbuf
+    glib
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -40,6 +58,7 @@ stdenv.mkDerivation rec {
     homepage = https://developer.gnome.org/notification-spec/;
     description = "A library that sends desktop notifications to a notification daemon";
     platforms = platforms.unix;
+    maintainers = gnome3.maintainers;
     license = licenses.lgpl21;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libofx/default.nix b/nixpkgs/pkgs/development/libraries/libofx/default.nix
index 6723c08f0822..76276f0ce0fc 100644
--- a/nixpkgs/pkgs/development/libraries/libofx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libofx/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
-        
+{ stdenv, fetchFromGitHub, opensp, pkgconfig, libxml2, curl
+, autoconf, automake, libtool, gengetopt, libiconv }:
+
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.14";
+  pname = "libofx";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "02i9zxkp66yxjpjay5dscfh53bz5vxy03zcxncpw09svl6zmf9xq";
+  src = fetchFromGitHub {
+    owner = "LibOFX";
+    repo = pname;
+    rev = version;
+    sha256 = "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy";
   };
 
+  preConfigure = "./autogen.sh";
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ opensp libxml2 curl ];
+  nativeBuildInputs = [ pkgconfig libtool autoconf automake gengetopt ];
+  buildInputs = [ opensp libxml2 curl ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   meta = { 
     description = "Opensource implementation of the Open Financial eXchange specification";
     homepage = http://libofx.sourceforge.net/;
     license = "LGPL";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/libogg/default.nix b/nixpkgs/pkgs/development/libraries/libogg/default.nix
index 71a8e528771b..4f7c5f38123d 100644
--- a/nixpkgs/pkgs/development/libraries/libogg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libogg/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "libogg-1.3.3";
+  name = "libogg-1.3.4";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
-    sha256 = "022wjlzn8fx7mfby4pcgyjwx8zir7jr7cizichh3jgaki8bwcgsg";
+    sha256 = "1zlk33vxvxr0l9lhkbhkdwvylw96d2n0fnd3d8dl031hph9bqqy1";
   };
 
   outputs = [ "out" "dev" "doc" ];
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    # Fix unsigned typedefs on darwin. Remove with the next release https://github.com/xiph/ogg/pull/64
+    (fetchpatch {
+      url = "https://github.com/xiph/ogg/commit/c8fca6b4a02d695b1ceea39b330d4406001c03ed.patch";
+      sha256 = "1s72g37y87x0a74zjji9vx2hyk86kr4f2l3m4y2fipvlf9348b3f";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "Media container library to manipulate Ogg files";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/liboping/default.nix b/nixpkgs/pkgs/development/libraries/liboping/default.nix
index ff8f200a3bba..b2594d7c1d70 100644
--- a/nixpkgs/pkgs/development/libraries/liboping/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liboping/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1n2wkmvw6n80ybdwkjq8ka43z2x8mvxq49byv61b52iyz69slf7b";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
 
   buildInputs = [ ncurses perl ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libosmium/default.nix b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
index eeb8fec5f930..e6abe620aaf0 100644
--- a/nixpkgs/pkgs/development/libraries/libosmium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.15.2";
+  version = "2.15.4";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "1fh8wl4grs1c0g9whx90kd4jva3k9b6zbb1cl3isay489gwndgss";
+    sha256 = "0mlcvqrhp40bzj5r5j9nfc5vbis8hmzcq9xi8jylkciyydaynhz4";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libosmpbf/default.nix b/nixpkgs/pkgs/development/libraries/libosmpbf/default.nix
index 4be744e7ba93..416101cad0aa 100644
--- a/nixpkgs/pkgs/development/libraries/libosmpbf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmpbf/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   sourceRoot = "OSM-binary-1.3.3/src";
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = {
     homepage = https://github.com/scrosby/OSM-binary;
diff --git a/nixpkgs/pkgs/development/libraries/libowfat/default.nix b/nixpkgs/pkgs/development/libraries/libowfat/default.nix
index 8c0094a3152b..73029c76818b 100644
--- a/nixpkgs/pkgs/development/libraries/libowfat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libowfat/default.nix
@@ -19,10 +19,11 @@ stdenv.mkDerivation rec {
       'install -m 644 $(INCLUDES) $(DESTDIR)$(INCLUDEDIR)'
   '';
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
   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/nixpkgs/pkgs/development/libraries/libpcap/default.nix b/nixpkgs/pkgs/development/libraries/libpcap/default.nix
index f7cbfeab4709..b704878b1644 100644
--- a/nixpkgs/pkgs/development/libraries/libpcap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpcap/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, flex, bison }:
+{ stdenv, fetchurl, flex, bison }:
 
 stdenv.mkDerivation rec {
-  name = "libpcap-1.9.0";
+  pname = "libpcap";
+  version = "1.9.1";
 
   src = fetchurl {
-    url = "https://www.tcpdump.org/release/${name}.tar.gz";
-    sha256 = "06bhydl4vr4z9c3vahl76f2j96z1fbrcl7wwismgs4sris08inrf";
+    url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz";
+    sha256 = "153h1378diqyc27jjgz6gg5nxmb4ddk006d9xg69nqavgiikflk3";
   };
 
   nativeBuildInputs = [ flex bison ];
@@ -27,15 +28,6 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace " -arch i386" ""
   '';
 
-  patches = [
-    # https://github.com/the-tcpdump-group/libpcap/pull/735
-    (fetchpatch {
-      name = "add-missing-limits-h-include-pr735.patch";
-      url = https://github.com/the-tcpdump-group/libpcap/commit/aafa3512b7b742f5e66a5543e41974cc5e7eebfa.patch;
-      sha256 = "05zb4hx9g24gx07bi02rprk2rn7fdc1ss3249dv5x36qkasnfhvf";
-    })
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://www.tcpdump.org;
     description = "Packet Capture Library";
diff --git a/nixpkgs/pkgs/development/libraries/libpeas/default.nix b/nixpkgs/pkgs/development/libraries/libpeas/default.nix
index 314d5884501f..cdb1b95935f4 100644
--- a/nixpkgs/pkgs/development/libraries/libpeas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpeas/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3
 , glib, gtk3, gobject-introspection, python3, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "libpeas";
-  version = "1.22.0";
+  version = "1.24.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv";
+    sha256 = "1yg6r0srz3knhgvplprl3pikrq5c02dmdxgfwcynd6hjih9h16hb";
   };
 
-  configureFlags = [ "--enable-python3" ];
-
-  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
+  nativeBuildInputs = [ pkgconfig meson ninja gettext gobject-introspection ];
   buildInputs =  [ glib gtk3 ncurses python3 python3.pkgs.pygobject3 ];
   propagatedBuildInputs = [
     # Required by libpeas-1.0.pc
     gobject-introspection
   ];
 
+  patches = [
+    ./fix-libpeas-gtk-pc.patch
+  ];
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/nixpkgs/pkgs/development/libraries/libpeas/fix-libpeas-gtk-pc.patch b/nixpkgs/pkgs/development/libraries/libpeas/fix-libpeas-gtk-pc.patch
new file mode 100644
index 000000000000..8016939716d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libpeas/fix-libpeas-gtk-pc.patch
@@ -0,0 +1,22 @@
+diff --git a/libpeas-gtk/meson.build b/libpeas-gtk/meson.build
+index bf590de..00def42 100644
+--- a/libpeas-gtk/meson.build
++++ b/libpeas-gtk/meson.build
+@@ -111,10 +111,17 @@ libpeas_gtk_test_dep = declare_dependency(
+   sources: libpeas_gtk_dep_sources,
+ )
+ 
++libpeas_gtk_pc_reqs = [
++  glib_dep,
++  gtk_dep,
++  package_string + ' >= @0@'.format(version)
++]
++
+ libpeas_gtk_pc = pkg.generate(
+   libpeas_gtk_sha,
+   name: package_gtk_string,
+   description: 'GObject plugins library widgetery',
++  requires: libpeas_gtk_pc_reqs,
+   subdirs: package_string,
+   install_dir: pkgconfigdir,
+ )
diff --git a/nixpkgs/pkgs/development/libraries/libpfm/default.nix b/nixpkgs/pkgs/development/libraries/libpfm/default.nix
index d0572de537eb..3398d3feb94f 100644
--- a/nixpkgs/pkgs/development/libraries/libpfm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpfm/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, enableShared ? true }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   version = "4.10.1";
   pname = "libpfm";
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     "SYS=${stdenv.hostPlatform.uname.system}"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   meta = with stdenv.lib; {
     description = "Helper library to program the performance monitoring events";
@@ -30,4 +30,8 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.pierron ];
     platforms = platforms.linux;
   };
+} // stdenv.lib.optionalAttrs ( ! enableShared )
+{
+  CONFIG_PFMLIB_SHARED = "n";
 }
+)
diff --git a/nixpkgs/pkgs/development/libraries/libphonenumber/default.nix b/nixpkgs/pkgs/development/libraries/libphonenumber/default.nix
index 4cb327ff527b..c864ccc70acd 100644
--- a/nixpkgs/pkgs/development/libraries/libphonenumber/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libphonenumber/default.nix
@@ -1,17 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, gmock, boost, pkgconfig, protobuf, icu }:
 
-let
-  version = "8.9.9";
-in
-stdenv.mkDerivation {
-  name = "phonenumber-${version}";
-  inherit version;
+stdenv.mkDerivation rec {
+  pname = "phonenumber";
+  version = "8.10.20";
 
   src = fetchFromGitHub {
     owner = "googlei18n";
     repo = "libphonenumber";
     rev = "v${version}";
-    sha256 = "005visnfnr84blgdi0yp4hrzskwbsnawrzv6lqfi9f073l6w5j6w";
+    sha256 = "12xszrd4mrjabhzsp0xvy2qx2rxl36y5a00xfsh0w7bc299rq13v";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
index 3fd8f86612c7..cee6d3f1845b 100644
--- a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
@@ -12,16 +12,18 @@
 
 stdenv.mkDerivation rec {
   pname = "libplacebo";
-  version = "1.18.0";
+  version = "1.29.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ib12i2491piwiz0g5n5izr5jmn5fhwzicq97vfki3r7wrdb54mz";
+    sha256 = "1ly5bwy0pwgvqigpaak8hnig5hksjwf0pzvj3mdv3j2f6f7ya2zz";
   };
 
+  postPatch = "substituteInPlace meson.build --replace 1.29.0 1.29.1";
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/nixpkgs/pkgs/development/libraries/libpng/12.nix b/nixpkgs/pkgs/development/libraries/libpng/12.nix
index 2cd8c1debaf2..14ae1156087b 100644
--- a/nixpkgs/pkgs/development/libraries/libpng/12.nix
+++ b/nixpkgs/pkgs/development/libraries/libpng/12.nix
@@ -3,11 +3,11 @@
 assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.57";
+  name = "libpng-1.2.59";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg";
+    sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     branch = "1.2";
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libpng/default.nix b/nixpkgs/pkgs/development/libraries/libpng/default.nix
index 849f7d29ef6d..95ef62013464 100644
--- a/nixpkgs/pkgs/development/libraries/libpng/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpng/default.nix
@@ -34,6 +34,6 @@ in stdenv.mkDerivation rec {
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng2;
     platforms = platforms.all;
-    maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libpointmatcher/default.nix b/nixpkgs/pkgs/development/libraries/libpointmatcher/default.nix
index cd841a9d8f84..20b2988417cc 100644
--- a/nixpkgs/pkgs/development/libraries/libpointmatcher/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpointmatcher/default.nix
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "
-    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
-  ";
+  cmakeFlags = [
+    "-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3"
+  ];
 
   doCheck = true;
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/libproxy/default.nix b/nixpkgs/pkgs/development/libraries/libproxy/default.nix
index 773acd035355..8d4febcde288 100644
--- a/nixpkgs/pkgs/development/libraries/libproxy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libproxy/default.nix
@@ -6,12 +6,11 @@
 , fetchpatch
 , dbus
 , networkmanager
-, spidermonkey_38
+, spidermonkey_60
 , pcre
 , gsettings-desktop-schemas
 , glib
 , makeWrapper
-, python2
 , python3
 , SystemConfiguration
 , CoreFoundation
@@ -29,7 +28,7 @@ stdenv.mkDerivation rec {
     sha256 = "10swd3x576pinx33iwsbd4h15fbh2snmfxzcmab4c56nb08qlbrs";
   };
 
-  outputs = [ "out" "dev" "py2" "py3" ];
+  outputs = [ "out" "dev" "py3" ];
 
   nativeBuildInputs = [
     pkgconfig
@@ -39,7 +38,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pcre
-    python2
     python3
     zlib
   ] ++ (if stdenv.hostPlatform.isDarwin then [
@@ -48,18 +46,32 @@ stdenv.mkDerivation rec {
     JavaScriptCore
   ] else [
     glib
-    spidermonkey_38
+    spidermonkey_60
     dbus
     networkmanager
   ]);
 
   cmakeFlags = [
     "-DWITH_MOZJS=ON"
-    "-DPYTHON2_SITEPKG_DIR=${placeholder "py2"}/${python2.sitePackages}"
+    "-DWITH_PYTHON2=OFF"
     "-DPYTHON3_SITEPKG_DIR=${placeholder "py3"}/${python3.sitePackages}"
   ];
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [
+  patches = [
+    # Make build with spidermonkey_60
+    (fetchpatch {
+      url = "https://github.com/libproxy/libproxy/pull/86.patch";
+      sha256 = "17c06ilinrnzr7xnnmw9pc6zrncyaxcdd6r6k1ah5p156skbykfs";
+    })
+    (fetchpatch {
+      url = "https://github.com/libproxy/libproxy/pull/87.patch";
+      sha256 = "0sagzfwm16f33inbkwsp88w9wmrd034rjmw0y8d122f7k1qfx6zc";
+    })
+    (fetchpatch {
+      url = "https://github.com/libproxy/libproxy/pull/95.patch";
+      sha256 = "18vyr6wlis9zfwml86606jpgb9mss01l9aj31iiciml8p857aixi";
+    })
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
     (fetchpatch {
       url = "https://github.com/libproxy/libproxy/commit/44158f03f8522116758d335688ed840dfcb50ac8.patch";
       sha256 = "0axfvb6j7gcys6fkwi9dkn006imhvm3kqr83gpwban8419n0q5v1";
diff --git a/nixpkgs/pkgs/development/libraries/libpsl/default.nix b/nixpkgs/pkgs/development/libraries/libpsl/default.nix
index 15aa7c9e22d1..d2012760dcf6 100644
--- a/nixpkgs/pkgs/development/libraries/libpsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpsl/default.nix
@@ -1,5 +1,16 @@
-{ stdenv, fetchurl, autoreconfHook, docbook_xsl, docbook_xml_dtd_43, gtk-doc, lzip
-, libidn2, libunistring, libxslt, pkgconfig, python3, valgrind
+{ stdenv
+, fetchurl
+, autoreconfHook
+, docbook_xsl
+, docbook_xml_dtd_43
+, gtk-doc
+, lzip
+, libidn2
+, libunistring
+, libxslt
+, pkgconfig
+, python3
+, valgrind
 , publicsuffix-list
 }:
 
@@ -12,9 +23,26 @@ stdenv.mkDerivation rec {
     sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
   };
 
-  nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_43 gtk-doc lzip pkgconfig python3 valgrind ];
-  buildInputs = [ libidn2 libunistring libxslt ];
-  propagatedBuildInputs = [ publicsuffix-list ];
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xsl
+    docbook_xml_dtd_43
+    gtk-doc
+    lzip
+    pkgconfig
+    python3
+    valgrind
+  ];
+
+  buildInputs = [
+    libidn2
+    libunistring
+    libxslt
+  ];
+
+  propagatedBuildInputs = [
+    publicsuffix-list
+  ];
 
   postPatch = ''
     patchShebangs src/psl-make-dafsa
@@ -25,7 +53,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-#    "--enable-gtk-doc"
+    # "--enable-gtk-doc"
     "--enable-man"
     "--enable-valgrind-tests"
     "--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
@@ -35,7 +63,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "C library for the Publix Suffix List";
diff --git a/nixpkgs/pkgs/development/libraries/libpwquality/default.nix b/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
index 60c01565e63e..b0d5513ca0ff 100644
--- a/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpwquality";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "libpwquality";
     repo = "libpwquality";
     rev = "${pname}-${version}";
-    sha256 = "0k564hj2q13z5ag8cj6rnkzm1na7001k4chz4f736p6aqvspv0bd";
+    sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h";
   };
 
   nativeBuildInputs = [ autoreconfHook perl ];
diff --git a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
index 894907c23fc8..d369eebd88fd 100644
--- a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.4.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "046fi8cqfqh0ila3kc4sg75yvg24wmghlja2fmhkj96fjjfkzsss";
+    sha256 = "0qfdgxb46c18cp43z67n986xhj6x0sa95hryq42spf1p5ymbylqy";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libqmi/default.nix b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
index 930eafc96759..6c78eb977c9c 100644
--- a/nixpkgs/pkgs/development/libraries/libqmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.22.4";
+  version = "1.24.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "1wgrrb9vb3myl8xgck8ik86876ycbg8crylybs3ssi21vrxqwnsc";
+    sha256 = "0yccw97pqn8afy96k5ssk7qi6r3wjshcnxk14k77qikkqa89zdmf";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libqtav/default.nix b/nixpkgs/pkgs/development/libraries/libqtav/default.nix
index 22245f5fa2ab..dd6318444e78 100644
--- a/nixpkgs/pkgs/development/libraries/libqtav/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqtav/default.nix
@@ -30,7 +30,7 @@ mkDerivation rec {
   # Make sure libqtav finds its libGL dependency at both link and run time
   # by adding libGL to rpath. Not sure why it wasn't done automatically like
   # the other libraries as `libGL` is part of our `buildInputs`.
-  NIX_CFLAGS_LINK = [ "-Wl,-rpath,${libGL}/lib"];
+  NIX_CFLAGS_LINK = "-Wl,-rpath,${libGL}/lib";
 
   preFixup = ''
     mkdir -p "$out/bin"
diff --git a/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix b/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix
new file mode 100644
index 000000000000..ec31a29d0538
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, cmake, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "libraspberrypi";
+  version = "2019-10-22";
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "userland";
+    rev = "5070cb7fc150fc98f1ed64a7739c3356970d9f76";
+    sha256 = "08yfzwn9s7lhrblcsxyag9p5lj5vk3n66b1pv3f7r3hah7qcggyq";
+  };
+
+  cmakeFlags = if (stdenv.targetPlatform.system == "aarch64-linux")
+    then "-DARM64=ON"
+    else "-DARM64=OFF";
+  preConfigure = ''cmakeFlags="$cmakeFlags -DVMCS_INSTALL_PREFIX=$out"'';
+  nativeBuildInputs = [ cmake ];
+  meta = with stdenv.lib; {
+    description = "Userland libraries for interfacing with Raspberry Pi hardware";
+    homepage = https://github.com/raspberrypi/userland;
+    license = licenses.bsd3;
+    platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ tkerber ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libraw/default.nix b/nixpkgs/pkgs/development/libraries/libraw/default.nix
index 360b2c15a632..00288e359dfb 100644
--- a/nixpkgs/pkgs/development/libraries/libraw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libraw/default.nix
@@ -1,17 +1,20 @@
-{ 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";
-  version = "0.19.3";
+  version = "0.19.5";
 
   src = fetchurl {
     url = "https://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "0xs1qb6pcvc4c43fy5xi3nkqxcif77gakkw99irf0fc5iccdd5px";
+    sha256 = "1x827sh6vl8j3ll2ihkcr234y07f31hi1v7sl08jfw3irkbn58j0";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
-  buildInputs = [ jasper ];
+  buildInputs = stdenv.lib.optionals withJpeg2k [ jasper ];
 
   propagatedBuildInputs = [ lcms2 ];
 
diff --git a/nixpkgs/pkgs/development/libraries/librdf/redland.nix b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
index 30d8d8a94e9d..8835490187d1 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/redland.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, openssl, libxslt, perl
 , curl, pcre, libxml2, librdf_rasqal, gmp
-, mysql, withMysql ? false
+, libmysqlclient, withMysql ? false
 , postgresql, withPostgresql ? false
 , sqlite, withSqlite ? true
 , db, withBdb ? false
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl pkgconfig ];
 
   buildInputs = [ openssl libxslt curl pcre libxml2 gmp ]
-    ++ stdenv.lib.optional withMysql mysql.connector-c
+    ++ stdenv.lib.optional withMysql libmysqlclient
     ++ stdenv.lib.optional withSqlite sqlite
     ++ stdenv.lib.optional withPostgresql postgresql
     ++ stdenv.lib.optional withBdb db;
diff --git a/nixpkgs/pkgs/development/libraries/libre/default.nix b/nixpkgs/pkgs/development/libraries/libre/default.nix
index e365ec7a01ac..433597cde6f5 100644
--- a/nixpkgs/pkgs/development/libraries/libre/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/librealsense/default.nix b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
index 468bcfb0a18f..91c093c991ac 100644
--- a/nixpkgs/pkgs/development/libraries/librealsense/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/librem/default.nix b/nixpkgs/pkgs/development/libraries/librem/default.nix
index aeda663342e4..012ac2a46a74 100644
--- a/nixpkgs/pkgs/development/libraries/librem/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libressl/default.nix b/nixpkgs/pkgs/development/libraries/libressl/default.nix
index 4bfa6cd0b8e4..285d7b607e7b 100644
--- a/nixpkgs/pkgs/development/libraries/libressl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libressl/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, lib, cmake, cacert }:
+{ stdenv, fetchurl, lib, cmake, cacert, fetchpatch, buildShared ? true }:
 
 let
 
-  generic = { version, sha256 }: stdenv.mkDerivation rec {
+  generic = { version, sha256, patches ? [] }: stdenv.mkDerivation rec {
     pname = "libressl";
     inherit version;
 
@@ -15,13 +15,14 @@ let
 
     cmakeFlags = [
       "-DENABLE_NC=ON"
-      "-DBUILD_SHARED_LIBS=ON"
       # Ensure that the output libraries do not require an executable stack.
       # Without this define, assembly files in libcrypto do not include a
       # .note.GNU-stack section, and if that section is missing from any object,
       # the linker will make the stack executable.
       "-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK"
-    ];
+      # libressl will append this to the regular prefix for libdir
+      "-DCMAKE_INSTALL_LIBDIR=lib"
+    ] ++ lib.optional buildShared "-DBUILD_SHARED_LIBS=ON";
 
     # The autoconf build is broken as of 2.9.1, resulting in the following error:
     # libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.
@@ -31,6 +32,8 @@ let
       rm configure
     '';
 
+    inherit patches;
+
     # Since 2.9.x the default location can't be configured from the build using
     # DEFAULT_CA_FILE anymore, instead we have to patch the default value.
     postPatch = lib.optionalString (lib.versionAtLeast version "2.9.2") ''
@@ -61,18 +64,19 @@ let
 
 in {
 
-  libressl_2_8 = generic {
-    version = "2.8.3";
-    sha256 = "0xw4z4z6m7lyf1r4m2w2w1k7as791c04ygnfk4d7d0ki0h9hnr4v";
-  };
-
   libressl_2_9 = generic {
     version = "2.9.2";
     sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
+    patches = stdenv.lib.optional stdenv.hostPlatform.isMusl [
+      (fetchpatch {
+        url = "https://github.com/libressl-portable/portable/pull/529/commits/a747aacc23607c993cc481378782b2c7dd5bc53b.patch";
+        sha256 = "0wbrcscdkjpk4mhh7f3saghi4smia4lhf7fl6la3ahhgx1krn5zm";
+      })
+    ];
   };
 
   libressl_3_0 = generic {
-    version = "3.0.0";
-    sha256 = "0xiwri6xcnl3wb5nbc4aw8pv32s3hp13r9v465yr8wykaw211n81";
+    version = "3.0.2";
+    sha256 = "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/librseq/default.nix b/nixpkgs/pkgs/development/libraries/librseq/default.nix
new file mode 100644
index 000000000000..d4619ba4320e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/librseq/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub
+, autoreconfHook, linuxHeaders
+}:
+
+stdenv.mkDerivation rec {
+  pname = "librseq";
+  version = "0.1.0pre54_${builtins.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner  = "compudj";
+    repo   = "librseq";
+    rev    = "152600188dd214a0b2c6a8c66380e50c6ad27154";
+    sha256 = "0mivjmgdkgrr6z2gz3k6q6wgnvyvw9xzy65f6ipvqva68sxhk0mx";
+  };
+
+  outputs = [ "out" "dev" ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ linuxHeaders ];
+
+  separateDebugInfo = true;
+  enableParallelBuilding = true;
+
+  # The share/ subdir only contains a doc/ with a README.md that just describes
+  # how to compile the library, which clearly isn't very useful! So just get
+  # rid of it anyway.
+  postInstall = ''
+    rm -rf $out/share
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Userspace library for the Linux Restartable Sequence API";
+    homepage    = "https://github.com/compudj/librseq";
+    license     = licenses.lgpl21;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/librsvg/default.nix b/nixpkgs/pkgs/development/libraries/librsvg/default.nix
index 4653b8b86a26..11c7f3fed84e 100644
--- a/nixpkgs/pkgs/development/libraries/librsvg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librsvg/default.nix
@@ -1,25 +1,24 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk-pixbuf, pango, cairo, libxml2, libgsf
 , bzip2, libcroco, libintl, darwin, rustc, cargo, gnome3
-, withGTK ? false, gtk3 ? null
 , vala, gobject-introspection }:
 
 let
   pname = "librsvg";
-  version = "2.44.15";
+  version = "2.46.4";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1p4cifnxppz2qwsk2wvn2a6c7dpvgfrsf5vlhdkmsd373czm9396";
+    sha256 = "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
 
   buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintl ];
 
-  propagatedBuildInputs = [ glib gdk-pixbuf cairo ] ++ lib.optional withGTK gtk3;
+  propagatedBuildInputs = [ glib gdk-pixbuf cairo ];
 
   nativeBuildInputs = [ pkgconfig rustc cargo vala gobject-introspection ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
diff --git a/nixpkgs/pkgs/development/libraries/librsync/default.nix b/nixpkgs/pkgs/development/libraries/librsync/default.nix
index 79b05619ac59..02a8abb7c856 100644
--- a/nixpkgs/pkgs/development/libraries/librsync/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librsync/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsync";
-  version = "2.0.2";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "librsync";
     repo = "librsync";
     rev = "v${version}";
-    sha256 = "1qnr4rk93mhggqjh2025clmlhhgnjhq983p1vbh8i1g8aiqdnapi";
+    sha256 = "08wdlxsa9zg2pyasz1lwg70d5psi4amv81v4yxwffx67ndzb9yp5";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libscrypt/default.nix b/nixpkgs/pkgs/development/libraries/libscrypt/default.nix
index b9ae1f829a1b..3083136526bf 100644
--- a/nixpkgs/pkgs/development/libraries/libscrypt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libscrypt/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS= CFLAGS_EXTRA=";
 
   installFlags = [ "PREFIX=$(out)" ];
-  installTargets = if stdenv.isDarwin then "install-osx" else "install";
+  installTargets = stdenv.lib.optional stdenv.isDarwin "install-osx";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/libsearpc/default.nix b/nixpkgs/pkgs/development/libraries/libsearpc/default.nix
index b2a799674771..9bf246f556d3 100644
--- a/nixpkgs/pkgs/development/libraries/libsearpc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libseccomp/default.nix b/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
index 8c9c6ac107ce..08c276c4d558 100644
--- a/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libsecret/default.nix b/nixpkgs/pkgs/development/libraries/libsecret/default.nix
index 6c2723bbd907..ca2449adefd5 100644
--- a/nixpkgs/pkgs/development/libraries/libsecret/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsecret/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, glib, pkgconfig, gettext, libxslt, python3, docbook_xsl, docbook_xml_dtd_42
-, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, libintl, dbus, xvfb_run }:
+, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, gjs, libintl, dbus, xvfb_run }:
 
 stdenv.mkDerivation rec {
   pname = "libsecret";
-  version = "0.18.8";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "058x64689k55wxfkdp4svhnwvv8jmqm7z5mrynybl38f4sfqiyiv";
+    sha256 = "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5";
   };
 
   postPatch = ''
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gnome3.gjs ];
+  installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gjs ];
 
   # needs to run after install because typelibs point to absolute paths
   doInstallCheck = false; # Failed to load shared library '/force/shared/libmock_service.so.0' referenced by the typelib
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
+      # Does not seem to use the odd-unstable policy: https://gitlab.gnome.org/GNOME/libsecret/issues/30
+      versionPolicy = "none";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libsexy/default.nix b/nixpkgs/pkgs/development/libraries/libsexy/default.nix
deleted file mode 100644
index cb22d9f97bc7..000000000000
--- a/nixpkgs/pkgs/development/libraries/libsexy/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, glib, gtk2, libxml2, pango
-}:
-
-stdenv.mkDerivation {
-  name = "libsexy-0.1.11";
-
-  src = fetchurl {
-    url = http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.11.tar.gz;
-    sha256 = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ glib gtk2 libxml2 pango ];
-
-  meta = with stdenv.lib; {
-    description = "A collection of GTK widgets";
-    homepage = https://blog.chipx86.com/tag/libsexy/;
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libsodium/default.nix b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
index 8c88abd2c441..a2b6ba6224e2 100644
--- a/nixpkgs/pkgs/development/libraries/libsodium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   outputs = [ "out" "dev" ];
-  separateDebugInfo = stdenv.isLinux;
+  separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/libsolv/default.nix b/nixpkgs/pkgs/development/libraries/libsolv/default.nix
index 263623c3d37c..c3fe1ad619af 100644
--- a/nixpkgs/pkgs/development/libraries/libsolv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.5";
+  version  = "0.7.9";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "0khks19i01s9h297c7af4bpq448abs2pqw55scf56xfdvxpv23aw";
+    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/nixpkgs/pkgs/development/libraries/libsoup/default.nix b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
index 5f88ba80cd6a..2d2f2da6a399 100644
--- a/nixpkgs/pkgs/development/libraries/libsoup/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, glib, libxml2, meson, ninja, pkgconfig, gnome3
 , gnomeSupport ? true, sqlite, glib-networking, gobject-introspection, vala
-, libpsl, python3 }:
+, libpsl, python3, brotli }:
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "2.66.2";
+  version = "2.68.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0amfw1yvy1kjrg41rfh2vvrw5gkwnyckqbw1fab50hm6xc1acbmx";
+    sha256 = "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk";
   };
 
   postPatch = ''
@@ -17,15 +17,16 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ python3 sqlite libpsl ];
+  buildInputs = [ python3 sqlite libpsl brotli ];
   nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala ];
   propagatedBuildInputs = [ glib libxml2 ];
 
   mesonFlags = [
     "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency
-    "-Dgssapi=false"
-    "-Dvapi=true"
+    "-Dgssapi=disabled"
+    "-Dvapi=enabled"
     "-Dgnome=${if gnomeSupport then "true" else "false"}"
+    "-Dntlm=disabled"
   ];
 
   doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200)
diff --git a/nixpkgs/pkgs/development/libraries/libspectrum/default.nix b/nixpkgs/pkgs/development/libraries/libspectrum/default.nix
new file mode 100644
index 000000000000..c09a45abf594
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libspectrum/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchurl, perl, pkgconfig, audiofile, bzip2, glib, libgcrypt, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "libspectrum-1.4.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/fuse-emulator/${name}.tar.gz";
+    sha256 = "1cc0jx617sym6qj1f9fm115q44cq5azsxplqq2cgrg0pmlmjpyzx";
+  };
+
+  nativeBuildInputs = [ perl pkgconfig ];
+
+  buildInputs = [ audiofile bzip2 glib libgcrypt zlib ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = http://fuse-emulator.sourceforge.net/libspectrum.php;
+    description = "ZX Spectrum input and output support library";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libspotify/default.nix b/nixpkgs/pkgs/development/libraries/libspotify/default.nix
index 9ef3d6654138..1b0953df4e65 100644
--- a/nixpkgs/pkgs/development/libraries/libspotify/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libspotify/default.nix
@@ -50,11 +50,11 @@ else stdenv.mkDerivation {
   buildInputs = stdenv.lib.optional (stdenv.hostPlatform.system == "x86_64-darwin") unzip;
 
   # linux-specific
-  installFlags = stdenv.lib.optionalString (isLinux)
+  installFlags = stdenv.lib.optional isLinux
     "prefix=$(out)";
-  patchPhase = stdenv.lib.optionalString (isLinux)
+  patchPhase = stdenv.lib.optionalString isLinux
     "${gnused}/bin/sed -i 's/ldconfig//' Makefile";
-  postInstall = stdenv.lib.optionalString (isLinux)
+  postInstall = stdenv.lib.optionalString isLinux
     "mv -v share $out";
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/libstrophe/default.nix b/nixpkgs/pkgs/development/libraries/libstrophe/default.nix
index 0ef96f675055..b48bd15909de 100644
--- a/nixpkgs/pkgs/development/libraries/libstrophe/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libstrophe/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "libstrophe";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "strophe";
-    repo = "libstrophe";
+    repo = pname;
     rev = version;
-    sha256 = "1milna92h8wzxax8ll362zvb70091nmfks5lmd105vk0478zraca";
+    sha256 = "1g1l0w9z9hdy5ncdvd9097gi7k7783did6py5h9camlpb2fnk5mk";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf openssl expat libtool check ];
+  nativeBuildInputs = [ automake autoconf pkgconfig libtool check ];
+  buildInputs = [ openssl expat ];
 
   dontDisableStatic = true;
 
@@ -27,9 +27,9 @@ stdenv.mkDerivation rec {
       minimal dependencies and is configurable for various environments. It
       runs well on both Linux, Unix, and Windows based platforms.
     '';
-    homepage = http://strophe.im/libstrophe/;
-    license = with stdenv.lib.licenses; [gpl3 mit];
+    homepage = "http://strophe.im/libstrophe/";
+    license = with stdenv.lib.licenses; [ gpl3 mit ];
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [devhell flosse];
+    maintainers = with stdenv.lib.maintainers; [ devhell flosse ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libsvm/default.nix b/nixpkgs/pkgs/development/libraries/libsvm/default.nix
index fcd010b46cc3..99eccc3436fd 100644
--- a/nixpkgs/pkgs/development/libraries/libsvm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsvm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libsvm";
-  version = "3.23";
+  version = "3.24";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz";
-    sha256 = "0jpaq0rr92x38p4nk3gjan79ip67m6p80anb28z1d8601miysyi5";
+    sha256 = "15l69y23fxslrap415dvqb383x5fxvbffp9giszjfqjf38h1m26m";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/libtcod/default.nix b/nixpkgs/pkgs/development/libraries/libtcod/default.nix
index 6d95d81e5d9c..d81f3f820015 100644
--- a/nixpkgs/pkgs/development/libraries/libtcod/default.nix
+++ b/nixpkgs/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 {
 
@@ -19,9 +19,9 @@ stdenv.mkDerivation {
     echo 'INSTALL(DIRECTORY include DESTINATION .)' >> CMakeLists.txt
   '';
 
-  cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
+  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/nixpkgs/pkgs/development/libraries/libtermkey/default.nix b/nixpkgs/pkgs/development/libraries/libtermkey/default.nix
index 38a09218dd1d..989d26b64e1b 100644
--- a/nixpkgs/pkgs/development/libraries/libtermkey/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtermkey/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses }:
+{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses, unibilium }:
 
 stdenv.mkDerivation rec {
   pname = "libtermkey";
 
-  version = "0.20";
+  version = "0.22";
 
   src = fetchzip {
     url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-${version}.tar.gz";
-    sha256 = "1i5a2zangq61ba1vdkag34ig5g4gzccldccdbcmqmk93saa6lkbx";
+    sha256 = "02dks6bj7n23lj005yq41azf95wh3hapmgc2lzyh12vigkjh67rg";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
     ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libtool ncurses ];
+  nativeBuildInputs = [ libtool pkgconfig ];
+  buildInputs = [ ncurses unibilium ];
 
   meta = with lib; {
     description = "Terminal keypress reading library";
+    homepage = http://www.leonerd.org.uk/code/libtermkey;
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libtiff/default.nix b/nixpkgs/pkgs/development/libraries/libtiff/default.nix
index 093d6a185443..795ed439093b 100644
--- a/nixpkgs/pkgs/development/libraries/libtiff/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtiff/default.nix
@@ -9,12 +9,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.10";
+  version = "4.1.0";
   pname = "libtiff";
 
   src = fetchurl {
     url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
-    sha256 = "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic";
+    sha256 = "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libtommath/default.nix b/nixpkgs/pkgs/development/libraries/libtommath/default.nix
index 8ce82bcf07c7..0fde422b9aab 100644
--- a/nixpkgs/pkgs/development/libraries/libtommath/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtommath/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libtommath";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz";
-    sha256 = "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh";
+    sha256 = "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp";
   };
 
   nativeBuildInputs = [ libtool ];
diff --git a/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix b/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix
index e9267df5047b..76362f8f8835 100644
--- a/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix
@@ -33,6 +33,12 @@ let
     doCheck = false; # hangs, tries to access the net?
     checkInputs = [ check ];
 
+    postFixup =''
+      sed -i $out/lib/pkgconfig/*.pc \
+        -e "s|^libdir=.*|libdir=$out/lib|" \
+        -e "s|^includedir=.*|includedir=$out/include|"
+    '';
+
     meta = with stdenv.lib; {
       description = "P2P FOSS instant messaging application aimed to replace Skype";
       homepage = https://tox.chat;
diff --git a/nixpkgs/pkgs/development/libraries/libtxc_dxtn/default.nix b/nixpkgs/pkgs/development/libraries/libtxc_dxtn/default.nix
index 5ac456a60f61..600b1fb510ad 100644
--- a/nixpkgs/pkgs/development/libraries/libtxc_dxtn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtxc_dxtn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
+{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
 
 let version = "1.0.1"; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libGLU_combined ];
+  buildInputs = [ libGL libGLU ];
 
   meta = with stdenv.lib; {
     homepage = http://dri.freedesktop.org/wiki/S3TC;
diff --git a/nixpkgs/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix b/nixpkgs/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
index 4959674f0ad2..f9f44f5a6531 100644
--- a/nixpkgs/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
+{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
 
 let version = "1.0"; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libGLU_combined ];
+  buildInputs = [ libGL libGLU ];
 
   meta = {
     description = "A patent-free S3TC compatible implementation";
diff --git a/nixpkgs/pkgs/development/libraries/libui/default.nix b/nixpkgs/pkgs/development/libraries/libui/default.nix
index e333e73de3ff..57385d1b4101 100644
--- a/nixpkgs/pkgs/development/libraries/libui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libui/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchgit, cmake, pkgconfig, gtk3, Cocoa }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, gtk3, Cocoa }:
 
 let
   shortName = "libui";
-  version   = "3.1a";
+  version   = "4.1a";
   backend   = if stdenv.isDarwin then "darwin" else "unix";
 in
 
 stdenv.mkDerivation {
   name = "${shortName}-${version}";
-  src  = fetchgit {
-    url    = "https://github.com/andlabs/libui.git";
-    rev    = "6ebdc96b93273c3cedf81159e7843025caa83058";
-    sha256 = "1lpbfa298c61aarlzgp7vghrmxg1274pzxh1j9isv8x758gk6mfn";
+  src  = fetchFromGitHub {
+    owner  = "andlabs";
+    repo   = "libui";
+    rev    = "alpha4.1";
+    sha256 = "0bm6xvqk4drg2kw6d304x6mlfal7gh8mbl5a9f0509smmdzgdkwm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = stdenv.lib.optional stdenv.isLinux gtk3
+  propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux gtk3
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
 
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/libraries/libuinputplus/default.nix b/nixpkgs/pkgs/development/libraries/libuinputplus/default.nix
new file mode 100644
index 000000000000..700a4701fc87
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libuinputplus/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "libuinputplus";
+  version = "2019-10-01";
+
+  src  = fetchFromGitHub {
+    owner  = "YukiWorkshop";
+    repo   = "libuInputPlus";
+    rev    = "962f180b4cc670e1f5cc73c2e4d5d196ae52d630";
+    sha256 = "0jy5i7bmjad7hw1qcyjl4swqribp2027s9g3609zwj7lj8z5x0bg";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Easy-to-use uinput library in C++";
+    license = licenses.mit;
+    maintainers = with maintainers; [ willibutz ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libunique/default.nix b/nixpkgs/pkgs/development/libraries/libunique/default.nix
index b96fdf5eeddc..d6566978a6bb 100644
--- a/nixpkgs/pkgs/development/libraries/libunique/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libunique/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   # Patches from Gentoo portage
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/libunity/default.nix b/nixpkgs/pkgs/development/libraries/libunity/default.nix
index 2baaa14b88ea..daaf3de6bcc7 100644
--- a/nixpkgs/pkgs/development/libraries/libunity/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libunity/default.nix
@@ -43,6 +43,11 @@ stdenv.mkDerivation {
     libdbusmenu
   ];
 
+  patches = [
+    # See: https://gitlab.gnome.org/GNOME/vala/issues/766
+    ./fix-vala.patch
+  ];
+
   preConfigure = ''
     intltoolize
   '';
diff --git a/nixpkgs/pkgs/development/libraries/libunity/fix-vala.patch b/nixpkgs/pkgs/development/libraries/libunity/fix-vala.patch
new file mode 100644
index 000000000000..ec34229b4443
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libunity/fix-vala.patch
@@ -0,0 +1,36 @@
+diff -ru old/libunity/src/unity-aggregator-scope.vala libunity/src/unity-aggregator-scope.vala
+--- old/libunity/src/unity-aggregator-scope.vala	1969-12-31 19:00:01.000000000 -0500
++++ libunity/src/unity-aggregator-scope.vala	2019-09-21 17:06:12.663864891 -0400
+@@ -51,7 +51,7 @@
+    */
+   public abstract int category_index_for_scope_id (string scope_id);
+ 
+-  public AggregatorScope (string dbus_path_, string id_, MergeMode merge_mode = AggregatorScope.MergeMode.OWNER_SCOPE, bool proxy_filter_hints = false)
++  protected AggregatorScope (string dbus_path_, string id_, MergeMode merge_mode = AggregatorScope.MergeMode.OWNER_SCOPE, bool proxy_filter_hints = false)
+   {
+     Object (dbus_path: dbus_path_, id: id_, is_master: true,
+             merge_mode: merge_mode, proxy_filter_hints: proxy_filter_hints);
+diff -ru old/libunity/src/unity-deprecated-scope.vala libunity/src/unity-deprecated-scope.vala
+--- old/libunity/src/unity-deprecated-scope.vala	1969-12-31 19:00:01.000000000 -0500
++++ libunity/src/unity-deprecated-scope.vala	2019-09-21 17:06:39.721627805 -0400
+@@ -61,7 +61,7 @@
+   internal CategorySet _categories;
+   internal FilterSet _filters;
+    
+-  public DeprecatedScopeBase (string dbus_path_, string id_)
++  protected DeprecatedScopeBase (string dbus_path_, string id_)
+   {
+     Object (dbus_path: dbus_path_, id: id_);
+   }
+diff -ru old/libunity/tools/preview-renderer.vala libunity/tools/preview-renderer.vala
+--- old/libunity/tools/preview-renderer.vala	1969-12-31 19:00:01.000000000 -0500
++++ libunity/tools/preview-renderer.vala	2019-09-21 17:09:16.201522110 -0400
+@@ -63,7 +63,7 @@
+      */
+     public abstract class GridRenderer: PreviewRenderer
+     {
+-        public GridRenderer()
++        protected GridRenderer()
+         {
+             Object();
+         }
diff --git a/nixpkgs/pkgs/development/libraries/liburing/default.nix b/nixpkgs/pkgs/development/libraries/liburing/default.nix
index 855c6ce280ec..386354b48e4d 100644
--- a/nixpkgs/pkgs/development/libraries/liburing/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liburing/default.nix
@@ -4,54 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchgit {
-    url    = "http://git.kernel.dk/liburing";
-    rev    = "refs/tags/liburing-${version}";
-    sha256 = "038iqsbm9bdmlwvmb899bc6g1rw5dalr990azynbvgn8qs5adysh";
+    url    = "http://git.kernel.dk/${pname}";
+    rev    = "refs/tags/${pname}-${version}";
+    sha256 = "0dxq7qjrwndgavrrc6y2wg54ia3y5wkmcyhpdk4l5pvh7hw6kpdz";
   };
 
-  patches = [
-
-    # This patch re-introduces support for aarch64-linux, by adding the
-    # necessary memory barrier primitives for it to work.
-    #
-    # Already upstream: remove when moving to the next version
-    (fetchpatch {
-      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=0520db454c29f1d96cda6cf6cedeb93df65301e8";
-      sha256 = "1i8133sb1imzxpplmhlhnaxkffgplhj40vanivc6clbibvhgwpq6";
-    })
-
-    # This patch shuffles the name of the io_uring memory barrier primitives.
-    # They were using extremely common names by accident, which caused
-    # namespace conflicts with many other projects using the same names. Note:
-    # this does not change the user-visible API of liburing (liburing is
-    # designed exactly to hide the necessary memory barriers when using the
-    # io_uring syscall directly). It only changes the names of some internals.
-    # The only reason this caused problems at all is because memory barrier
-    # primitives are written as preprocessor defines, in a common header file,
-    # which get included unilaterally.
-    #
-    # Already upstream: remove when moving to the next version
-    (fetchpatch {
-      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=552c6a08d04c74d20eeaa86f535bfd553b352370";
-      sha256 = "123d6jdqfy7b8aq9f6ax767n48hhbx6pln3nlrp623595i8zz3wf";
-    })
-
-    # Finally, this patch fixes the aarch64-linux support introduced by the
-    # first patch, but which was _broken_ by the second patch, in a horrid
-    # twist of fate: it neglected to change the names of the aarch64 barriers
-    # appropriately.
-    #
-    # Already upstream: remove when moving to the next version
-    (fetchpatch {
-      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=6e9dd0c8c50b5988a0c77532c9c2bd6afd4790d2";
-      sha256 = "11mqa1bp2pdfqh08gpcd98kg7lh3rrng41b4l1wvhxdbvg5rfw9c";
-    })
-
-  ];
-
   separateDebugInfo = true;
   enableParallelBuilding = true;
 
@@ -70,11 +30,12 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp ./examples/io_uring-cp examples/io_uring-test $out/bin
     cp ./examples/link-cp $out/bin/io_uring-link-cp
+    cp ./examples/ucontext-cp $out/bin/io_uring-ucontext-cp
   '';
 
   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/nixpkgs/pkgs/development/libraries/libusb1/default.nix b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
index 19a8025359a0..9d90304042c8 100644
--- a/nixpkgs/pkgs/development/libraries/libusb1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit, withStatic ? false }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
+, systemd ? null
+, libobjc
+, IOKit
+, withStatic ? false
+}:
+
+assert enableSystemd -> systemd != null;
 
 stdenv.mkDerivation (rec {
   pname = "libusb";
@@ -13,13 +23,13 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
-    stdenv.lib.optional stdenv.isLinux systemd ++
+    stdenv.lib.optional enableSystemd systemd ++
     stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
+    sed 's,-ludev,-L${stdenv.lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libuv/default.nix b/nixpkgs/pkgs/development/libraries/libuv/default.nix
index 07f99a058d8b..524896b8bfd2 100644
--- a/nixpkgs/pkgs/development/libraries/libuv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.30.1";
+  version = "1.34.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "16l207g9qwckxn0vnbnwiybhw6083imdwyfd6ipfsl44b1m8jmf7";
+    sha256 = "0vcrrqf0zqgsfmgbyl45qhajyab98kxqq66l0w4lkj5say86aln8";
   };
 
   postPatch = let
diff --git a/nixpkgs/pkgs/development/libraries/libvdpau/default.nix b/nixpkgs/pkgs/development/libraries/libvdpau/default.nix
index 792a31bcf9f9..e6a57f1e38c4 100644
--- a/nixpkgs/pkgs/development/libraries/libvdpau/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvdpau/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   configureFlags = stdenv.lib.optional stdenv.isLinux
     "--with-module-dir=${mesa.drivers.driverLink}/lib/vdpau";
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lX11" else null;
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lX11";
 
   installFlags = [ "moduledir=$(out)/lib/vdpau" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix b/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix
index 1803ce1dc20a..7dd874ebc836 100644
--- a/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libvirt-glib-2.0.0";
+  name = "libvirt-glib-3.0.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://libvirt.org/sources/glib/${name}.tar.gz";
-    sha256 = "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l";
+    sha256 = "1zpbv4ninc57c9rw4zmmkvvqn7154iv1qfr20kyxn8xplalqrzvz";
   };
 
   nativeBuildInputs = [ pkgconfig intltool vala gobject-introspection ];
diff --git a/nixpkgs/pkgs/development/libraries/libvmaf/default.nix b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
new file mode 100644
index 000000000000..82c76f7ea372
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, intltool, libtool, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "libvmaf";
+  version = "1.3.15";
+
+  src = fetchFromGitHub {
+    owner = "netflix";
+    repo = "vmaf";
+    rev = "v${version}";
+    sha256="10kgcdf06hzhbl5r7zsllq88bxbyn282hfqx5i3hkp66fpq896d2";
+  };
+
+  nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ];
+  outputs = [ "out" "dev" ];
+  doCheck = true;
+
+  postFixup = ''
+    substituteInPlace "$dev/lib/pkgconfig/libvmaf.pc" \
+      --replace "includedir=/usr/local/include" "includedir=$dev"
+  '';
+
+  makeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Netflix/vmaf";
+    description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = [ maintainers.cfsmp3 ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/libvncserver/default.nix b/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
index 0a7819743e03..c9adad6f6454 100644
--- a/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libvorbis/default.nix b/nixpkgs/pkgs/development/libraries/libvorbis/default.nix
index 5457b1075a3e..263fa0a5216d 100644
--- a/nixpkgs/pkgs/development/libraries/libvorbis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libvterm-neovim/default.nix b/nixpkgs/pkgs/development/libraries/libvterm-neovim/default.nix
index 231b426e6a7d..50ee7e4d3873 100644
--- a/nixpkgs/pkgs/development/libraries/libvterm-neovim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
index a4f0a44e60bf..7d7dd94eff49 100644
--- a/nixpkgs/pkgs/development/libraries/libwacom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, glib, pkgconfig, udev, libgudev }:
+{ stdenv, fetchFromGitHub, meson, ninja, glib, pkgconfig, udev, libgudev }:
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "0.33";
+  version = "1.1";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "0np0a7rpnlm9iqw1i8ycz5mprin6bb99p4h522v9vjk4lhzsp34m";
+    sha256 = "037vnyfg7nim6h3f4m04w6a9pr6hi04df14qpys580kf5xnf87nz";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig meson ninja ];
+
+  mesonFlags = [ "-Dtests=false" ];
+
   buildInputs = [ glib udev libgudev ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libwebp/default.nix b/nixpkgs/pkgs/development/libraries/libwebp/default.nix
index fc9932567cfa..56c3f638d52d 100644
--- a/nixpkgs/pkgs/development/libraries/libwebp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libwhereami/default.nix b/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
index cafd25ede0ae..8e190f998d56 100644
--- a/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "libwhereami";
-  version = "0.2.2";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
-    sha256 = "084n153jaq8fmhjififk0xlx1d1i3lclnw2j3ly8bixvc392vzly";
+    sha256 = "16xjb6zp60ma76aa3kq3q8i8zn0n61gf39fny12cny8nggwjpbww";
     rev = version;
     repo = "libwhereami";
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=catch-value" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
 
   nativeBuildInputs = [ cmake ];
 
@@ -24,8 +24,7 @@ stdenv.mkDerivation rec {
     description = "Library to report hypervisor information from inside a VM";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
-    platforms = platforms.linux;
-    badPlatforms = platforms.arm;
+    platforms = with platforms; [ "i686-linux" "x86_64-linux" ]; # fails on aarch64
   };
 
 }
diff --git a/nixpkgs/pkgs/development/libraries/libwmf/default.nix b/nixpkgs/pkgs/development/libraries/libwmf/default.nix
index e7aa5f7ecc9f..5c684c7fd778 100644
--- a/nixpkgs/pkgs/development/libraries/libwmf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libwps/default.nix b/nixpkgs/pkgs/development/libraries/libwps/default.nix
index e8f397548853..61b777a52433 100644
--- a/nixpkgs/pkgs/development/libraries/libwps/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwps/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ boost librevenge zlib ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; # newly detected by gcc-7
+  NIX_CFLAGS_COMPILE = "-Wno-error=implicit-fallthrough";
 
   meta = with stdenv.lib; {
     homepage = http://libwps.sourceforge.net/;
diff --git a/nixpkgs/pkgs/development/libraries/libx86emu/default.nix b/nixpkgs/pkgs/development/libraries/libx86emu/default.nix
index f361b3e1b1f7..cef2c6aeb1bb 100644
--- a/nixpkgs/pkgs/development/libraries/libx86emu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libx86emu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libx86emu";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "wfeldt";
     repo = "libx86emu";
     rev = version;
-    sha256 = "158mrg9xb0sb4l3s60084j6i7nr90smpsks9f02gbssk495h2k8l";
+    sha256 = "0r55ij8f5mab2kg6kvy5n2bw6avzp75nsxigbzy7dgik9zwsxvr4";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/libraries/libxklavier/default.nix b/nixpkgs/pkgs/development/libraries/libxklavier/default.nix
index 9408b0c45877..b088ba198b22 100644
--- a/nixpkgs/pkgs/development/libraries/libxklavier/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxklavier/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a";
   };
 
+  patches = [ ./honor-XKB_CONFIG_ROOT.patch ];
+
   outputs = [ "out" "dev" "devdoc" ];
 
   # TODO: enable xmodmap support, needs xmodmap DB
diff --git a/nixpkgs/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch b/nixpkgs/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch
new file mode 100644
index 000000000000..93b768eeb202
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch
@@ -0,0 +1,89 @@
+From 999a419f4b36764a7269650a7f965d48bd4b73f7 Mon Sep 17 00:00:00 2001
+From: Louis Bettens <louis@bettens.info>
+Date: Sat, 28 Dec 2019 14:30:58 +0100
+Subject: [PATCH] honor $XKB_CONFIG_ROOT
+
+---
+ libxklavier/xklavier_config_xkb.c | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c
+index baec569..00e8de5 100644
+--- a/libxklavier/xklavier_config_xkb.c
++++ b/libxklavier/xklavier_config_xkb.c
+@@ -45,6 +45,18 @@
+ #define XK_XKB_KEYS
+ #include <X11/keysymdef.h>
+ 
++static const gchar *
++xkl_xkb_get_base_path(void)
++{
++	const gchar *base_path;
++
++	base_path = g_getenv ("XKB_CONFIG_ROOT");
++	if (!base_path)
++		base_path = XKB_BASE;
++
++	return base_path;
++}
++
+ #ifdef LIBXKBFILE_PRESENT
+ static XkbRF_RulesPtr xkl_rules;
+ 
+@@ -65,7 +77,8 @@ xkl_rules_set_load(XklEngine * engine)
+ 
+ 	locale = setlocale(LC_ALL, NULL);
+ 
+-	g_snprintf(file_name, sizeof file_name, XKB_BASE "/rules/%s", rf);
++	g_snprintf(file_name, sizeof file_name, "%s/rules/%s",
++		   xkl_xkb_get_base_path(), rf);
+ 	xkl_debug(160, "Loading rules from [%s]\n", file_name);
+ 
+ 	rules_set = XkbRF_Load(file_name, locale, True, True);
+@@ -98,10 +111,14 @@ gboolean
+ xkl_xkb_load_config_registry(XklConfigRegistry * config,
+ 			     gboolean if_extras_needed)
+ {
+-	return xkl_config_registry_load_helper(config,
++	const gchar *rules_path = g_strdup_printf("%s/rules",
++					  xkl_xkb_get_base_path());
++	gboolean ok = xkl_config_registry_load_helper(config,
+ 					       XKB_DEFAULT_RULESET,
+-					       XKB_BASE "/rules",
++					       rules_path,
+ 					       if_extras_needed);
++	g_free(rules_path);
++	return ok;
+ }
+ 
+ #ifdef LIBXKBFILE_PRESENT
+@@ -249,6 +266,7 @@ xkl_config_get_keyboard(XklEngine * engine,
+ 		pid_t cpid, pid;
+ 		int status = 0;
+ 		FILE *tmpxkb;
++		const gchar *opt_I;
+ 
+ 		xkl_debug(150, "tmp XKB/XKM file names: [%s]/[%s]\n",
+ 			  xkb_fn, xkm_fn);
+@@ -296,14 +314,16 @@ xkl_config_get_keyboard(XklEngine * engine,
+ 				break;
+ 			case 0:
+ 				/* child */
++				opt_I = g_strdup_printf("-I%s", xkl_xkb_get_base_path());
+ 				xkl_debug(160, "Executing %s\n", XKBCOMP);
+ 				xkl_debug(160, "%s %s %s %s %s %s %s %s\n",
+ 					  XKBCOMP, XKBCOMP, "-w0", "-I",
+-					  "-I" XKB_BASE, "-xkm", xkb_fn,
++					  opt_I, "-xkm", xkb_fn,
+ 					  xkm_fn);
+ 				execl(XKBCOMP, XKBCOMP, "-w0", "-I",
+-				      "-I" XKB_BASE, "-xkm", xkb_fn,
++				      opt_I, "-xkm", xkb_fn,
+ 				      xkm_fn, NULL);
++				g_free(opt_I);
+ 				xkl_debug(0, "Could not exec %s: %d\n",
+ 					  XKBCOMP, errno);
+ 				exit(1);
+-- 
+2.24.1
+
diff --git a/nixpkgs/pkgs/development/libraries/libxl/default.nix b/nixpkgs/pkgs/development/libraries/libxl/default.nix
index 44949cf2deb4..8618fc80a525 100644
--- a/nixpkgs/pkgs/development/libraries/libxl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxl/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libxl";
-  version = "3.8.4";
+  version = "3.8.7";
 
   src = fetchurl {
     url = "http://www.libxl.com/download/${pname}-lin-${version}.tar.gz";
-    sha256 = "0jnvc9ilir3lvs81l6ldnyf6jbfsy7bcs5pkc75qfnvz01y7p6as";
+    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/nixpkgs/pkgs/development/libraries/libxls/default.nix b/nixpkgs/pkgs/development/libraries/libxls/default.nix
index 126589966464..c111a13d2984 100644
--- a/nixpkgs/pkgs/development/libraries/libxls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxls/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libxls";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
-    sha256 = "0dam8qgbc5ykzaxmrjhpmfm8lnlcdk6cbpzyaya91qwwa80qbj1v";
+    sha256 = "1akadsyl10rp101ccjmrxr7933c3v641k377bn74jv6cdkcm4zld";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/libxml2/default.nix b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
index 04954f3e1f5f..57a7294c887d 100644
--- a/nixpkgs/pkgs/development/libraries/libxml2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
@@ -1,27 +1,38 @@
 { stdenv, lib, fetchurl
-, zlib, xz, python2, ncurses, findXMLCatalogs
+, zlib, xz, python, ncurses, findXMLCatalogs
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt"
 , enableStatic ? !enableShared,
 }:
 
-let
-  python = python2;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.9";
+  version = "2.9.10";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl";
+    sha256 = "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma";
   };
+  patches = [
+    # Upstream bugs:
+    #   https://bugzilla.gnome.org/show_bug.cgi?id=789714
+    #   https://gitlab.gnome.org/GNOME/libxml2/issues/64
+    # Patch from https://bugzilla.opensuse.org/show_bug.cgi?id=1065270 ,
+    # but only the UTF-8 part.
+    # Can also be mitigated by fixing malformed XML inputs, such as in
+    # https://gitlab.gnome.org/GNOME/gnumeric/merge_requests/3 .
+    # Other discussion:
+    #   https://github.com/itstool/itstool/issues/22
+    #   https://github.com/NixOS/nixpkgs/pull/63174
+    #   https://github.com/NixOS/nixpkgs/pull/72342
+    ./utf8-xmlErrorFuncHandler.patch
+  ];
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
     ++ lib.optional pythonSupport "py"
     ++ lib.optional (enableStatic && enableShared) "static";
-  propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
+  propagatedBuildOutputs = [ "out" "bin" ] ++ lib.optional pythonSupport "py";
 
   buildInputs = lib.optional pythonSupport python
     ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
@@ -42,13 +53,19 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable test that's problematic with newer pythons: see
+  # https://mail.gnome.org/archives/xml/2017-August/msg00014.html
+  preCheck = lib.optionalString (pythonSupport && !(python?pythonOlder && python.pythonOlder "3.5")) ''
+    echo "" > python/tests/tstLastError.py
+  '';
+
   doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
     stdenv.hostPlatform.libc != "musl";
 
   preInstall = lib.optionalString pythonSupport
     ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
-  installFlags = lib.optionalString pythonSupport
-    ''pythondir="$(py)/lib/${python.libPrefix}/site-packages"'';
+  installFlags = lib.optional pythonSupport
+    "pythondir=\"${placeholder ''py''}/lib/${python.libPrefix}/site-packages\"";
 
   postFixup = ''
     moveToOutput bin/xml2-config "$dev"
diff --git a/nixpkgs/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch b/nixpkgs/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
new file mode 100644
index 000000000000..9f4c99b09341
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
@@ -0,0 +1,30 @@
+Index: libxml2-2.9.5/python/libxml.c
+===================================================================
+--- libxml2-2.9.5.orig/python/libxml.c
++++ libxml2-2.9.5/python/libxml.c
+@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+     PyObject *message;
+     PyObject *result;
+     char str[1000];
++    unsigned char *ptr = (unsigned char *)str;
+ 
+ #ifdef DEBUG_ERROR
+     printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
+@@ -1636,10 +1637,16 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+ 	    str[999] = 0;
+         va_end(ap);
+ 
++#if PY_MAJOR_VERSION >= 3
++        /* Ensure the error string doesn't start at UTF8 continuation. */
++        while (*ptr && (*ptr & 0xc0) == 0x80)
++            ptr++;
++#endif
++
+         list = PyTuple_New(2);
+         PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt);
+         Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
+-        message = libxml_charPtrConstWrap(str);
++        message = libxml_charPtrConstWrap(ptr);
+         PyTuple_SetItem(list, 1, message);
+         result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
+         Py_XDECREF(list);
diff --git a/nixpkgs/pkgs/development/libraries/libxmlb/default.nix b/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
index 4800a6c405c3..75fffa83d24b 100644
--- a/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , fetchFromGitHub
-, fetchpatch
 , docbook_xml_dtd_43
 , docbook_xsl
 , glib
@@ -17,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.1.11";
+  version = "0.1.13";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -25,17 +24,10 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "1503v76w7543snqyjxykiqa5va62zb0ccn3jlw0gpdx8973v80mr";
+    sha256 = "14bk7bk08mjbildak1l7jq7idcyask7384vigpq9zmwai1gax4s7";
   };
 
   patches = [
-    # Fix installed tests
-    # https://github.com/hughsie/libxmlb/pull/2
-    (fetchpatch {
-      url = "https://github.com/hughsie/libxmlb/commit/78850c8b0f644f729fa21e2bf9ebed0d9d6010f3.diff";
-      sha256 = "0zw7c6vy8hscln7za7ijqd9svirach3zdskvbzyxxcsm3xcwxpjm";
-    })
-
     ./installed-tests-path.patch
   ];
 
@@ -70,7 +62,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests = {
-      installed-tests = nixosTests.libxmlb;
+      installed-tests = nixosTests.installed-tests.libxmlb;
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libxslt/default.nix b/nixpkgs/pkgs/development/libraries/libxslt/default.nix
index 1a3efee176a0..6d12329a7f51 100644
--- a/nixpkgs/pkgs/development/libraries/libxslt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxslt/default.nix
@@ -1,44 +1,26 @@
-{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, python2, libgcrypt
+{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, python, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
 
-assert pythonSupport -> python2 != null;
+assert pythonSupport -> python != null;
 assert pythonSupport -> libxml2.pythonSupport;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.33";
+  version = "1.1.34";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf";
+    sha256 = "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-11068.patch";
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
-      sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/c5eb6cf3aba0af048596106ed839b4ae17ecbcb1.patch";
-      name = "CVE-2019-13117.patch";
-      sha256 = "0ynfq8y5h623cypj1426iiz7796n3mqbjqa24ndvh2am6rl5lw15";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/6ce8de69330783977dd14f6569419489875fb71b.patch";
-      name = "CVE-2019-13118.patch";
-      sha256 = "0bglz9m9sh2vi50qxcm06iqrazw3h45ycgxnp15iankq95z283iq";
-    })
-  ];
-
   outputs = [ "bin" "dev" "out" "man" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
 
   buildInputs = [ libxml2.dev ]
-    ++ stdenv.lib.optionals pythonSupport [ libxml2.py python2 ]
+    ++ stdenv.lib.optionals pythonSupport [ libxml2.py python ]
     ++ stdenv.lib.optionals cryptoSupport [ libgcrypt ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
@@ -48,7 +30,7 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ optional pythonSupport "--with-python=${python2}"
+  ] ++ optional pythonSupport "--with-python=${python}"
     ++ optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
@@ -58,7 +40,7 @@ stdenv.mkDerivation rec {
   '' + optionalString pythonSupport ''
     mkdir -p $py/nix-support
     echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
-    moveToOutput lib/python2.7 "$py"
+    moveToOutput ${python.libPrefix} "$py"
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
index fbc4b4bcec57..0dec9daee6ac 100644
--- a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "libyaml-cpp";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "jbeder";
     repo = "yaml-cpp";
     rev = "yaml-cpp-${version}";
-    sha256 = "16lclpa487yghf9019wymj419wkyx4795wv9q7539hhimajw9kpb";
+    sha256 = "0ykkxzxcwwiv8l8r697gyqh1nl582krpvi7m7l6b40ijnk4pw30s";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DBUILD_SHARED_LIBS=ON -DYAML_CPP_BUILD_TESTS=OFF";
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DYAML_CPP_BUILD_TESTS=OFF" ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/development/libraries/libzip/default.nix b/nixpkgs/pkgs/development/libraries/libzip/default.nix
index 43a5f7dc8413..9f9331b90dd4 100644
--- a/nixpkgs/pkgs/development/libraries/libzip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libzip/default.nix
@@ -1,37 +1,31 @@
-{ stdenv, fetchurl, perl, zlib }:
+{ stdenv, fetchurl, cmake, perl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "libzip";
-  version = "1.3.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://www.nih.at/libzip/${pname}-${version}.tar.gz";
-    sha256 = "1633dvjc08zwwhzqhnv62rjf1abx8y5njmm8y16ik9iwd07ka6d9";
+    sha256 = "05ay8cbm882br0ir2cmzrvdq8q5mr1bnf53l4305xzigpd54lsdy";
   };
 
+  # Fix pkgconfig file paths
   postPatch = ''
-    patchShebangs test-driver
-    patchShebangs man/handle_links
+    sed -i CMakeLists.txt \
+      -e 's#\\''${exec_prefix}/''${CMAKE_INSTALL_LIBDIR}#''${CMAKE_INSTALL_FULL_LIBDIR}#' \
+      -e 's#\\''${prefix}/''${CMAKE_INSTALL_INCLUDEDIR}#''${CMAKE_INSTALL_FULL_INCLUDEDIR}#'
   '';
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ perl ];
+  nativeBuildInputs = [ cmake perl ];
   propagatedBuildInputs = [ zlib ];
 
   preCheck = ''
-    # regress/runtests is a generated file
+    # regress/runtest is a generated file
     patchShebangs regress
   '';
 
-  # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
-  # had this same problem.  This links it somewhere that mysqlworkbench looks.
-  postInstall = ''
-    mkdir -p $dev/lib
-    mv $out/lib/libzip $dev/lib/libzip
-    ( cd $dev/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://www.nih.at/libzip;
     description = "A C library for reading, creating and modifying zip archives";
diff --git a/nixpkgs/pkgs/development/libraries/lightning/default.nix b/nixpkgs/pkgs/development/libraries/lightning/default.nix
index 8a5026e307f6..24d99e691a28 100644
--- a/nixpkgs/pkgs/development/libraries/lightning/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lightning/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "lightning";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "mirror://gnu/lightning/${pname}-${version}.tar.gz";
-    sha256 = "0sbs2lm8b9in2m8d52zf0x9gpp40x6r7sl6sha92yq3pr78rwa4v";
+    sha256 = "1jgxbq2cm51dzi3zhz38mmgwdcgs328mfl8iviw8dxn6dn36p1gd";
   };
 
   checkInputs = [ libopcodes ];
diff --git a/nixpkgs/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/nixpkgs/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
index 7f82d49462c5..7fba3f3baa66 100644
--- a/nixpkgs/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
@@ -1,44 +1,35 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, protobuf, cmake, zlib
-, opentracing-cpp, enableGrpc ? false
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake
+, opentracing-cpp, protobuf, zlib
+, enableGrpc ? false, grpc ? null, openssl ? null, c-ares ? null
 }:
 
-let
-  # be sure to use the right revision based on the submodule!
-  common =
-    fetchFromGitHub {
-      owner = "lightstep";
-      repo = "lightstep-tracer-common";
-      rev = "5fe3bf885bcece14c3c65df06c86c826ba45ad69";
-      sha256 = "1q39a0zaqbnqyhl2hza2xzc44235p65bbkfkzs2981niscmggq8w";
-    };
-
-in
+assert enableGrpc -> grpc != null;
+assert enableGrpc -> openssl != null;
+assert enableGrpc -> c-ares != null;
 
 stdenv.mkDerivation rec {
   pname = "lightstep-tracer-cpp";
-  version = "0.8.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "lightstep";
-    repo = "lightstep-tracer-cpp";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1m4kl70lhvy1bsmkdh6bf2fddz5v1ikb27vgi99i2akpq40g4fvf";
+    sha256 = "1x7n3b5i9a0481azy3ymfybjfvr5z0i8wm17d964hsv7ryvnapj0";
   };
 
-  postUnpack = ''
-    cp -r ${common}/* $sourceRoot/lightstep-tracer-common
-  '';
-
-  cmakeFlags = ["-DOPENTRACING_INCLUDE_DIR=${opentracing-cpp}/include" "-DOPENTRACING_LIBRARY=${opentracing-cpp}/lib/libopentracing.so"] ++ lib.optional (!enableGrpc) [ "-DWITH_GRPC=OFF" ];
-
   nativeBuildInputs = [
-    pkgconfig cmake
+    cmake pkgconfig
   ];
 
   buildInputs = [
-    protobuf zlib
+    opentracing-cpp protobuf zlib
+  ] ++ lib.optionals enableGrpc [
+    grpc openssl c-ares c-ares.cmake-config
   ];
 
+  cmakeFlags = lib.optionals (!enableGrpc) [ "-DWITH_GRPC=OFF" ];
+
   meta = with lib; {
     description = "Distributed tracing system built on top of the OpenTracing standard";
     homepage = "https://lightstep.com/";
diff --git a/nixpkgs/pkgs/development/libraries/linbox/default.nix b/nixpkgs/pkgs/development/libraries/linbox/default.nix
index 70320ead5d11..709a237aed9b 100644
--- a/nixpkgs/pkgs/development/libraries/linbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/liquidfun/default.nix b/nixpkgs/pkgs/development/libraries/liquidfun/default.nix
index 2df7ef94cf36..74952456e642 100644
--- a/nixpkgs/pkgs/development/libraries/liquidfun/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/live555/default.nix b/nixpkgs/pkgs/development/libraries/live555/default.nix
index 57dcb3ee6a6a..84907a428605 100644
--- a/nixpkgs/pkgs/development/libraries/live555/default.nix
+++ b/nixpkgs/pkgs/development/libraries/live555/default.nix
@@ -3,14 +3,14 @@
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.08.16";
+  version = "2019.11.22";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     urls = [
       "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
     ];
-    sha256 = "1y77dc5qxd731w96x707iibavmkfayy5s557d7lasg742h36lcqv";
+    sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d";
   };
 
   postPatch = ''
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
-    homepage = http://www.live555.com/liveMedia/;
+    homepage = "http://www.live555.com/liveMedia/";
+    changelog = "http://www.live555.com/liveMedia/public/changelog.txt";
     license = licenses.lgpl21Plus;
     platforms = platforms.unix;
     broken = stdenv.hostPlatform.isAarch64;
diff --git a/nixpkgs/pkgs/development/libraries/lmdb/default.nix b/nixpkgs/pkgs/development/libraries/lmdb/default.nix
index 830ec7bdaee2..25bac68faf6a 100644
--- a/nixpkgs/pkgs/development/libraries/lmdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lmdb/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
 
   patches = [ ./hardcoded-compiler.patch ];
-  patchFlags = "-p3";
+  patchFlags = [ "-p3" ];
 
   outputs = [ "bin" "out" "dev" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/log4cplus/default.nix b/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
index cc86ab19379d..3a4b182dd94b 100644
--- a/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 let
-  name = "log4cplus-2.0.4";
+  name = "log4cplus-2.0.5";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
-    sha256 = "0lh2i22znx573jchcfy4n5lrr9yjg2hd3iphhlih61zzmd67p2hc";
+    sha256 = "05gb0crf440da3vcaxavglzvsldw8hsvxq3xvvj73mzniv3bz3dk";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/mapnik/default.nix b/nixpkgs/pkgs/development/libraries/mapnik/default.nix
index 1feea915c025..53c4594f535b 100644
--- a/nixpkgs/pkgs/development/libraries/mapnik/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mbedtls/1.3.nix b/nixpkgs/pkgs/development/libraries/mbedtls/1.3.nix
deleted file mode 100644
index 8b8d8cd0be80..000000000000
--- a/nixpkgs/pkgs/development/libraries/mbedtls/1.3.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, perl }:
-
-stdenv.mkDerivation rec {
-  name = "mbedtls-1.3.22";
-
-  src = fetchurl {
-    url = "https://tls.mbed.org/download/${name}-gpl.tgz";
-    sha256 = "0ms4s41z88mz7b6gsnp7jslms4v0115k7gw51i6kx6ng9am43l6y";
-  };
-
-  nativeBuildInputs = [ perl ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  makeFlags = [
-    "SHARED=1"
-  ];
-
-  installFlags = [
-    "DESTDIR=\${out}"
-  ];
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://tls.mbed.org/;
-    description = "Portable cryptographic and SSL/TLS library, aka polarssl";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ fpletz ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
index a06d082b2269..603b9be610a1 100644
--- a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
@@ -11,13 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mbedtls";
-  version = "2.17.0";
+  name = "mbedtls-${version}";
+  version = "2.16.3"; # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = "${pname}-${version}";
-    sha256 = "1mk3xv61wvqqrzd6jnrz8csyfnwwwwpjzywj3fsfy99p51d7wqgw";
+    sha256 = "1mzh92yyz93099a1gb2wvwc76jv12d1k1wg9k3dimbgczxgrkirc";
   };
 
   nativeBuildInputs = [ cmake ninja perl python ];
diff --git a/nixpkgs/pkgs/development/libraries/mediastreamer/default.nix b/nixpkgs/pkgs/development/libraries/mediastreamer/default.nix
index 93e73a44bc9c..0204223d127c 100644
--- a/nixpkgs/pkgs/development/libraries/mediastreamer/default.nix
+++ b/nixpkgs/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,22 @@ 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\""
+  NIX_CFLAGS_COMPILE = toString [
+    "-DGIT_VERSION=\"v${version}\""
     "-Wno-error=deprecated-declarations"
     "-Wno-error=cast-function-type"
+    "-Wno-error=stringop-truncation"
+    "-Wno-error=stringop-overflow"
   ];
-  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/nixpkgs/pkgs/development/libraries/mediastreamer/msopenh264.nix b/nixpkgs/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 38261bd1e53a..f1e9fc301510 100644
--- a/nixpkgs/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index cf1bdaf64323..761d6594bd01 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -27,22 +27,22 @@
 with stdenv.lib;
 
 let
-  version = "19.1.5";
-  branch  = head (splitString "." version);
+  version = "19.3.1";
+  branch  = versions.major version;
 in
 
 stdenv.mkDerivation {
   pname = "mesa";
   inherit version;
 
-  src =  fetchurl {
+  src = fetchurl {
     urls = [
       "ftp://ftp.freedesktop.org/pub/mesa/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "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 = "1d3frncljickn5yi2ch1w2phwxhxpi6diyac3cbin9f76m7f2m3v";
+    sha256 = "0ndfpqry08s74yw4x3ydyhim6v4ywg0b4yhaazq7zaankjv1v5fd";
   };
 
   prePatch = "patchShebangs .";
@@ -167,7 +167,7 @@ stdenv.mkDerivation {
     substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}"
 
     # remove pkgconfig files for GL/EGL; they are provided by libGL.
-    rm $dev/lib/pkgconfig/{gl,egl}.pc
+    rm -f $dev/lib/pkgconfig/{gl,egl}.pc
 
     # Update search path used by pkg-config
     for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do
diff --git a/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch b/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch
index 1e280b64ee5f..8ce3473dd32f 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch
+++ b/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch
@@ -1,4 +1,4 @@
-From 2a1e32b4105fe95413a615a44d40938920ea1a19 Mon Sep 17 00:00:00 2001
+From 6d22383149e4cdc646c68e29238f41d895a4705b Mon Sep 17 00:00:00 2001
 From: David McFarland <corngood@gmail.com>
 Date: Mon, 6 Aug 2018 15:52:11 -0300
 Subject: [PATCH] disk_cache: include dri driver path in cache key
@@ -12,10 +12,10 @@ timestamps in /nix/store are zero.
  3 files changed, 15 insertions(+), 1 deletion(-)
 
 diff --git a/meson_options.txt b/meson_options.txt
-index a723b5406cf..65a8954291f 100644
+index 626baf3..579c15b 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -330,3 +330,9 @@ option(
+@@ -341,6 +341,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
@@ -25,11 +25,14 @@ index a723b5406cf..65a8954291f 100644
 +  value : '',
 +  description : 'Mesa cache key.'
 +)
+ option(
+   'I-love-half-baked-turnips',
+   type : 'boolean',
 diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
-index 0aa2646a9bb..bd784d38e21 100644
+index 0cd92ca..fc1c173 100644
 --- a/src/util/disk_cache.c
 +++ b/src/util/disk_cache.c
-@@ -389,8 +389,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
+@@ -395,8 +395,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
  
     /* Create driver id keys */
     size_t id_size = strlen(driver_id) + 1;
@@ -40,7 +43,7 @@ index 0aa2646a9bb..bd784d38e21 100644
     cache->driver_keys_blob_size += gpu_name_size;
  
     /* We sometimes store entire structs that contains a pointers in the cache,
-@@ -411,6 +413,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
+@@ -417,6 +419,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
     uint8_t *drv_key_blob = cache->driver_keys_blob;
     DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size)
     DRV_KEY_CPY(drv_key_blob, driver_id, id_size)
@@ -49,13 +52,13 @@ index 0aa2646a9bb..bd784d38e21 100644
     DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size)
     DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size)
 diff --git a/src/util/meson.build b/src/util/meson.build
-index 397c2228129..77013563e5d 100644
+index f69ebe9..e2bd8e2 100644
 --- a/src/util/meson.build
 +++ b/src/util/meson.build
-@@ -120,7 +120,12 @@ libmesa_util = static_library(
+@@ -158,7 +158,12 @@ _libmesa_util = static_library(
    [files_mesa_util, format_srgb],
    include_directories : inc_common,
-   dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m],
+   dependencies : deps_for_libmesa_util,
 -  c_args : [c_msvc_compat_args, c_vis_args],
 +  c_args : [
 +    c_msvc_compat_args, c_vis_args,
@@ -67,5 +70,5 @@ index 397c2228129..77013563e5d 100644
  )
  
 -- 
-2.19.2
+2.24.1
 
diff --git a/nixpkgs/pkgs/development/libraries/mesa/stubs.nix b/nixpkgs/pkgs/development/libraries/mesa/stubs.nix
index 5cb6ac3d4d13..a53f2dc28e77 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/stubs.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/stubs.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     ln -s ${libglvnd.out}/lib $out/lib
 
     mkdir -p $dev/{,lib/pkgconfig,nix-support}
-    echo "$out" > $dev/nix-support/propagated-build-inputs
+    echo "$out ${libglvnd} ${libglvnd.dev}" > $dev/nix-support/propagated-build-inputs
     ln -s ${mesa.dev}/include $dev/include
 
     genPkgConfig() {
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
     Description: $lib library
     Version: ${mesa.version}
     Libs: -L${libglvnd.out}/lib -l$lib
-    Cflags: -I${mesa.dev}/include
+    Cflags: -I${mesa.dev}/include -I${libglvnd.dev}/include
     EOF
     }
 
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
index 728b41176766..b3f63ec7e9b9 100644
--- a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
@@ -1,37 +1,45 @@
-{ stdenv, fetchFromGitHub, cmake
-, secureBuild ? true
+{ stdenv, fetchFromGitHub, cmake, ninja
+, secureBuild ? false
 }:
 
 let
   soext = stdenv.hostPlatform.extensions.sharedLibrary;
 in
 stdenv.mkDerivation rec {
-  name    = "mimalloc-${version}";
-  version = "1.0.8";
+  pname   = "mimalloc";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
-    repo   = "mimalloc";
+    repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "04k2d3x84q2jfqdjxngy98hlw6czmigsqlf7gi3mhs6682n127r5";
+    sha256 = "1i8pwzpcmbf7dxncb984xrnczn1737xqhf1jaizlyw0k1hpiam4v";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   enableParallelBuilding = true;
-
   cmakeFlags = stdenv.lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = ''
+    # first, install headers, that's easy
     mkdir -p $dev
     mv $out/lib/*/include $dev/include
 
-    rm -f $out/lib/libmimalloc*${soext} # weird duplicate
-
-    mv $out/lib/*/libmimalloc*${soext} $out/lib/libmimalloc${soext}
-    mv $out/lib/*/libmimalloc*.a       $out/lib/libmimalloc.a
-    mv $out/lib/*/mimalloc*.o          $out/lib/mimalloc.o
-
-    rm -rf $out/lib/mimalloc-*
+    # move .a and .o files into place
+    mv $out/lib/mimalloc-1.0/libmimalloc*.a           $out/lib/libmimalloc.a
+    mv $out/lib/mimalloc-1.0/mimalloc*.o              $out/lib/mimalloc.o
+
+  '' + (if secureBuild then ''
+    mv $out/lib/mimalloc-1.0/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}.1.0
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc${soext}
+  '' else ''
+    mv $out/lib/mimalloc-1.0/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}.1.0
+    ln -sfv $out/lib/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}
+  '') + ''
+    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
+    # so we can re-use it for dependencies...
+    rm -rf $out/lib/mimalloc-1.0
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/minixml/default.nix b/nixpkgs/pkgs/development/libraries/minixml/default.nix
index 5bdacbba11d3..73b045aa9647 100644
--- a/nixpkgs/pkgs/development/libraries/minixml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/minixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mxml";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "michaelrsweet";
     repo = "mxml";
     rev = "v${version}";
-    sha256 = "0madp2v2md3xq96aham91byns6qy4byd5pbg28q827fdahfhpmq7";
+    sha256 = "1kv36fxxh7bwfydhb90zjgsrvpyzvx1p5d0ayfvd3j8gip2rjhnp";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/minizip/default.nix b/nixpkgs/pkgs/development/libraries/minizip/default.nix
index c88a978574a7..5ee1f38ca8b5 100644
--- a/nixpkgs/pkgs/development/libraries/minizip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mlt/default.nix b/nixpkgs/pkgs/development/libraries/mlt/default.nix
index 5099991c117f..b56e33e40241 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.16.0";
+  version = "6.18.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "1362fv63p34kza9v4b71b6wakgvsa2vdx9y0g28x3yh4cp4k97kx";
+    sha256 = "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx";
   };
 
   buildInputs = [
@@ -24,8 +24,7 @@ stdenv.mkDerivation rec {
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
   configureFlags = [
-    "--avformat-swscale" "--enable-gpl" "--enable-gpl" "--enable-gpl3"
-    "--enable-opengl"
+    "--avformat-swscale" "--enable-gpl" "--enable-gpl3" "--enable-opengl"
   ];
 
   enableParallelBuilding = true;
@@ -43,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "Open source multimedia framework, designed for television broadcasting";
     homepage = https://www.mltframework.org;
     license = licenses.gpl3;
-    maintainers = [ maintainers.tohl ];
+    maintainers = with maintainers; [ tohl peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
index f017e4452a64..4d7ecd92e618 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
@@ -7,13 +7,13 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.16.0";
+  version = "6.18.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "1362fv63p34kza9v4b71b6wakgvsa2vdx9y0g28x3yh4cp4k97kx";
+    sha256 = "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx";
   };
 
   buildInputs = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   # mlt is unable to cope with our multi-prefix Qt build
   # because it does not use CMake or qmake.
-  NIX_CFLAGS_COMPILE = [ "-I${getDev qtsvg}/include/QtSvg" ];
+  NIX_CFLAGS_COMPILE = "-I${getDev qtsvg}/include/QtSvg";
 
   CXXFLAGS = "-std=c++11";
 
diff --git a/nixpkgs/pkgs/development/libraries/mm-common/default.nix b/nixpkgs/pkgs/development/libraries/mm-common/default.nix
index f590653df6ba..9a789a58ccac 100644
--- a/nixpkgs/pkgs/development/libraries/mm-common/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mm-common/default.nix
@@ -1,14 +1,26 @@
-{ stdenv, fetchurl, gnome3 }:
+{ stdenv
+, fetchurl
+, gnome3
+, meson
+, python3
+, ninja
+}:
 
 stdenv.mkDerivation rec {
   pname = "mm-common";
-  version = "0.9.12";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02vwgv404b56wxy0gnm9xq9fvzgn9dhfqcy2hhl78ljv3v7drzyf";
+    sha256 = "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr";
   };
 
+  nativeBuildInputs = [
+    meson
+    python3
+    ninja
+  ];
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -25,7 +37,7 @@ stdenv.mkDerivation rec {
       control repository. An installation of mm-common is not required for
       building tarball releases, unless configured to use maintainer-mode.
     '';
-    homepage = https://www.gtkmm.org;
+    homepage = "https://www.gtkmm.org";
     license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/mpich/default.nix b/nixpkgs/pkgs/development/libraries/mpich/default.nix
index 2232bfb9a38b..21803de5e062 100644
--- a/nixpkgs/pkgs/development/libraries/mpich/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mps/default.nix b/nixpkgs/pkgs/development/libraries/mps/default.nix
index ec3b4e201477..8c1f3aea4667 100644
--- a/nixpkgs/pkgs/development/libraries/mps/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mps/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ sqlite ];
 
   # needed for 1.116.0 to build with gcc7
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-Wno-implicit-fallthrough"
     "-Wno-error=clobbered"
     "-Wno-error=cast-function-type"
diff --git a/nixpkgs/pkgs/development/libraries/muparser/default.nix b/nixpkgs/pkgs/development/libraries/muparser/default.nix
index d058322660cf..4d3fe41dff82 100644
--- a/nixpkgs/pkgs/development/libraries/muparser/default.nix
+++ b/nixpkgs/pkgs/development/libraries/muparser/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip}:
+{stdenv, fetchurl, unzip, setfile}:
 
 stdenv.mkDerivation rec {
   pname = "muparser";
@@ -10,12 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
   };
 
-  buildInputs = [ unzip ];
+  buildInputs = [
+    unzip
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [setfile];
 
   meta = {
     homepage = http://muparser.sourceforge.net;
     description = "An extensible high performance math expression parser library written in C++";
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/mygui/default.nix b/nixpkgs/pkgs/development/libraries/mygui/default.nix
index 0907f0174c99..c277b7934b9b 100644
--- a/nixpkgs/pkgs/development/libraries/mygui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/nanoflann/default.nix b/nixpkgs/pkgs/development/libraries/nanoflann/default.nix
index 5c0238fe41ea..8480cc868c1f 100644
--- a/nixpkgs/pkgs/development/libraries/nanoflann/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/nco/default.nix b/nixpkgs/pkgs/development/libraries/nco/default.nix
index c842eac4311e..7b03c32ada58 100644
--- a/nixpkgs/pkgs/development/libraries/nco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nco/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchurl, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex }:
+{ stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex }:
 
 stdenv.mkDerivation rec {
-  version = "4.8.1";
+  version = "4.9.1";
   pname = "nco";
 
-  buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr which curl flex ];
+  nativeBuildInputs = [ flex which ];
+  buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr curl ];
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/nco/nco/archive/${version}.tar.gz";
-    sha256 = "0s1ww78p4cb2d9qkr4zs439x4xk3ndq6lv8ps677jrn28vnkzbnx";
+    sha256 = "14r44wi9ina8h8gh5cmkcddxl5ziwv42mv60sp4l5wfmjz5xwa4x";
   };
 
   meta = {
     description = "NetCDF Operator toolkit";
     longDescription = "The NCO (netCDF Operator) toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5";
-    homepage = http://nco.sourceforge.net/;
+    homepage = "http://nco.sourceforge.net/";
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.bzizou ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/ncurses/default.nix b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
index 708ba46b42eb..540ea71abfb8 100644
--- a/nixpkgs/pkgs/development/libraries/ncurses/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
@@ -141,6 +141,7 @@ stdenv.mkDerivation rec {
     moveToOutput "bin/tset" "$out"
     moveToOutput "bin/captoinfo" "$out"
     moveToOutput "bin/infotocap" "$out"
+    moveToOutput "bin/infocmp" "$out"
   '';
 
   preFixup = lib.optionalString (!stdenv.hostPlatform.isCygwin && !enableStatic) ''
diff --git a/nixpkgs/pkgs/development/libraries/ndi/default.nix b/nixpkgs/pkgs/development/libraries/ndi/default.nix
new file mode 100644
index 000000000000..fcf9457c691c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/netcdf/default.nix b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
index 0c597fc4b335..1436fb021271 100644
--- a/nixpkgs/pkgs/development/libraries/netcdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
@@ -9,11 +9,12 @@ let
   mpiSupport = hdf5.mpiSupport;
   mpi = hdf5.mpi;
 in stdenv.mkDerivation rec {
-  name = "netcdf-4.6.1";
+  pname = "netcdf";
+  version = "4.7.3";
 
   src = fetchurl {
-    url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
-    sha256 = "0hi61cdihwwvz5jz1l7yq712j7ca1cj4bhr8x0x7c2vlb1s9biw9";
+    url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${pname}-c-${version}.tar.gz";
+    sha256 = "12s4w2s96p51hlsa81lw92w56rdx8i3mk21pz2ydwcamw579z34f";
   };
 
   postPatch = ''
@@ -37,10 +38,14 @@ in stdenv.mkDerivation rec {
       "--enable-netcdf-4"
       "--enable-dap"
       "--enable-shared"
+      "--disable-dap-remote-tests"
   ]
   ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
 
+  doCheck = !mpiSupport;
+
   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/nixpkgs/pkgs/development/libraries/nettle/default.nix b/nixpkgs/pkgs/development/libraries/nettle/default.nix
index 900451351c82..36c9f0e6ac75 100644
--- a/nixpkgs/pkgs/development/libraries/nettle/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nettle/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.4.1";
+  version = "3.5.1";
 
   src = fetchurl {
     url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-    sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr";
+    sha256 = "06clvkdfxhlbagn4afssylmn5vrak59dlmnvy8b2xc31hycs3k3m";
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/nghttp2/default.nix b/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
index d02247196b1a..57ed58912751 100644
--- a/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, pkgconfig
 
 # Optional Dependencies
-, openssl ? null, libev ? null, zlib ? null, c-ares ? null
+, openssl ? null, zlib ? null
+, enableLibEv ? !stdenv.hostPlatform.isWindows, libev ? null
+, enableCAres ? !stdenv.hostPlatform.isWindows, c-ares ? null
 , enableHpack ? false, jansson ? null
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
@@ -18,17 +20,20 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   pname = "nghttp2";
-  version = "1.39.2";
+  version = "1.40.0";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1l51q8xqg7d7y9413z8l0scxgbbl1qkwgq4f09jqb31j492kx8lj";
+    sha256 = "0kyrgd4s2pq51ps5z385kw1hn62m8qp7c4h6im0g4ibrf89qwxc2";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libev zlib c-ares ]
+  buildInputs = [ openssl ]
+    ++ optional enableLibEv libev
+    ++ [ zlib ]
+    ++ optional enableCAres c-ares
     ++ optional enableHpack jansson
     ++ optional enableAsioLib boost
     ++ optional enableGetAssets libxml2
diff --git a/nixpkgs/pkgs/development/libraries/nlohmann_json/default.nix b/nixpkgs/pkgs/development/libraries/nlohmann_json/default.nix
index 129cc7ed84c3..43a7cf15c15b 100644
--- a/nixpkgs/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nlohmann_json";
-  version = "3.6.1";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "1dgx3j9pb0f52dh73z8dpwdy79bra1qi5vpl66b9inq4gamf813z";
+    sha256 = "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -18,9 +18,14 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBuildTests=${if doCheck then "ON" else "OFF"}"
+    "-DJSON_MultipleHeaders=ON"
   ];
 
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  # A test cause the build to timeout https://github.com/nlohmann/json/issues/1816
+  #doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  doCheck = false;
+
+  postInstall = "rm -rf $out/lib64";
 
   meta = with stdenv.lib; {
     description = "Header only C++ library for the JSON file format";
diff --git a/nixpkgs/pkgs/development/libraries/nspr/default.nix b/nixpkgs/pkgs/development/libraries/nspr/default.nix
index b62fa1cb704f..44195ce325ba 100644
--- a/nixpkgs/pkgs/development/libraries/nspr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nspr/default.nix
@@ -2,7 +2,7 @@
 , CoreServices ? null
 , buildPackages }:
 
-let version = "4.21"; in
+let version = "4.24"; in
 
 stdenv.mkDerivation {
   pname = "nspr";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm";
+    sha256 = "1l0ksiny032jijgk0g76wf0kiq673i01izj7jrs2h5d1yq6rm9ch";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/nss/default.nix b/nixpkgs/pkgs/development/libraries/nss/default.nix
index b6b1d406eacd..2e611c8975d7 100644
--- a/nixpkgs/pkgs/development/libraries/nss/default.nix
+++ b/nixpkgs/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";
+  version = "3.48";
   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 = "1vqcl6wxn2nsm2fmlwzmxyagrsj1p1y9bc54b2i2nq45s94rcsbb";
+    sha256 = "1b7qs1q7jqhw9dvkdznanzhc5dyq4bwx0biywszy3qx4hqm8571z";
   };
 
   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 =
@@ -37,7 +38,7 @@ in stdenv.mkDerivation rec {
       ./ckpem.patch
     ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
diff --git a/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix b/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix
index 79eb4d1e10e4..40ee4f890d49 100644
--- a/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/nsss/default.nix b/nixpkgs/pkgs/development/libraries/nsss/default.nix
index cd1205e2c7d4..5c8bf8dedc1e 100644
--- a/nixpkgs/pkgs/development/libraries/nsss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nsss/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "nsss";
-  version = "0.0.1.1";
-  sha256 = "14y1vl7n8vd5fh9bwiwwxxslisli8pz3a2f1sfv12l0p8ngpgm57";
+  version = "0.0.2.1";
+  sha256 = "1arzl4492wv42rvv6xs8h5d3qpy9nwxv5l84inzabs6s9f9nlxax";
 
   description = "An implementation of a subset of the pwd.h, group.h and shadow.h family of functions.";
 
diff --git a/nixpkgs/pkgs/development/libraries/ntl/default.nix b/nixpkgs/pkgs/development/libraries/ntl/default.nix
index e83fe2e7e7b6..a4d1e275a0a8 100644
--- a/nixpkgs/pkgs/development/libraries/ntl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ntl/default.nix
@@ -14,11 +14,11 @@ assert withGf2x -> gf2x != null;
 
 stdenv.mkDerivation rec {
   pname = "ntl";
-  version = "11.3.2";
+  version = "11.4.3";
 
   src = fetchurl {
     url = "http://www.shoup.net/ntl/ntl-${version}.tar.gz";
-    sha256 = "17bfsvn72zjqfibnxscyf4hbk3inndh4r89jd2zg7mgqmd2k3fl4";
+    sha256 = "1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp";
   };
 
   buildInputs = [
@@ -67,6 +67,8 @@ stdenv.mkDerivation rec {
     # Upstream contact: maintainer is victorshoup on GitHub. Alternatively the
     # email listed on the homepage.
     homepage = http://www.shoup.net/ntl/;
+    # also locally at "${src}/doc/tour-changes.html";
+    changelog = "https://www.shoup.net/ntl/doc/tour-changes.html";
     maintainers = with maintainers; [ timokau ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/ntrack/default.nix b/nixpkgs/pkgs/development/libraries/ntrack/default.nix
index b79f940affa3..803906b13437 100644
--- a/nixpkgs/pkgs/development/libraries/ntrack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ntrack/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig python ];
 
   # error: ISO C does not support '__FUNCTION__' predefined identifier [-Werror=pedantic]
-  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   configureFlags = [ "--without-gobject" "CFLAGS=--std=gnu99" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/nuspell/default.nix b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
index db542ec93a92..c1f354a1ac98 100644
--- a/nixpkgs/pkgs/development/libraries/nuspell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix b/nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix
index 73b5e3fe772e..70c48631981f 100644
--- a/nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvidia-texture-tools";
-  version = "2.1.0";
+  version = "unstable-2019-10-27";
 
   src = fetchFromGitHub {
     owner = "castano";
     repo = "nvidia-texture-tools";
-    rev = version;
-    sha256 = "0p8ja0k323nkgm07z0qlslg6743vimy9rf3wad2968az0vwzjjyx";
+    rev = "a131e4c6b0b7c9c73ccc3c9e6f1c7e165be86bcc";
+    sha256 = "1qzyr3ib5dpxyq1y33lq02qv4cww075sm9bm4f651d34q5x38sk3";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/castano/nvidia-texture-tools;
     license = licenses.mit;
     platforms = platforms.unix;
+    broken = stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix b/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
index d847f447048d..b66759524faf 100644
--- a/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix b/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix
index 2855d1139c3d..ced015801859 100644
--- a/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ogre/default.nix b/nixpkgs/pkgs/development/libraries/ogre/default.nix
index dc3bf8cf0097..235da872392d 100644
--- a/nixpkgs/pkgs/development/libraries/ogre/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ois/default.nix b/nixpkgs/pkgs/development/libraries/ois/default.nix
index 15e83cf9d769..c1b065dbf2b4 100644
--- a/nixpkgs/pkgs/development/libraries/ois/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ois/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   buildInputs = [
     autoconf automake libtool libX11 xorgproto libXi libXaw
diff --git a/nixpkgs/pkgs/development/libraries/olm/default.nix b/nixpkgs/pkgs/development/libraries/olm/default.nix
index dd3f83a0130d..8fbdf28965bf 100644
--- a/nixpkgs/pkgs/development/libraries/olm/default.nix
+++ b/nixpkgs/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;
@@ -22,7 +15,16 @@ stdenv.mkDerivation rec {
   # requires optimisation but memory operations are compiled with -O0
   hardeningDisable = ["fortify"];
 
-  makeFlags = if stdenv.cc.isClang then [ "CC=cc" ] else null;
+  makeFlags = stdenv.lib.optional stdenv.cc.isClang "CC=cc";
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [
+    "PREFIX=${placeholder ''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/nixpkgs/pkgs/development/libraries/oniguruma/default.nix b/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
index 8a1e1d37c1d5..e4cbfc7f0b4f 100644
--- a/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onig";
-  version = "6.9.3";
+  version = "6.9.4";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "0wzmqpjmxpryk83acbyhl9gwgm43ixbwraga2g5li9kx88mv4k0n";
+    sha256 = "11imbhj4p5w8lvrmcczccm1zq014h9j85r51z2ibb8jhf5p3lslh";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/kkos/oniguruma;
     description = "Regular expressions library";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
new file mode 100644
index 000000000000..33bc4c6e82c2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchFromGitHub, glibcLocales
+, cmake, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "onnxruntime";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "onnxruntime";
+    rev = "v${version}";
+    sha256 = "1d28lzrjnq69yl8j9ncxlsxl0bniacn3hnsr9van10zgp527436v";
+    # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc.
+    # submodules increase src size and compile times significantly
+    # not currently feasible due to how integrated cmake build is with git
+    fetchSubmodules = true;
+  };
+
+  # TODO: build server, and move .so's to lib output
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    cmake
+    python3 # for shared-lib or server
+  ];
+
+  cmakeDir = "../cmake";
+
+  cmakeFlags = [
+    "-Donnxruntime_USE_OPENMP=ON"
+    "-Donnxruntime_BUILD_SHARED_LIB=ON"
+    "-Donnxruntime_ENABLE_LTO=ON"
+  ];
+
+  # ContribOpTest.StringNormalizerTest sets locale to en_US.UTF-8"
+  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
+    export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
+  '';
+  doCheck = true;
+
+  postInstall = ''
+    rm -r $out/bin   # ctest runner
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform, high performance scoring engine for ML models";
+    longDescription = ''
+      ONNX Runtime is a performance-focused complete scoring engine
+      for Open Neural Network Exchange (ONNX) models, with an open
+      extensible architecture to continually address the latest developments
+      in AI and Deep Learning. ONNX Runtime stays up to date with the ONNX
+      standard with complete implementation of all ONNX operators, and
+      supports all ONNX releases (1.2+) with both future and backwards
+      compatibility.
+    '';
+    homepage = "https://github.com/microsoft/onnxruntime";
+    changelog = "https://github.com/microsoft/onnxruntime/releases";
+    # https://github.com/microsoft/onnxruntime/blob/master/BUILD.md#architectures
+    platforms = platforms.unix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/opae/default.nix b/nixpkgs/pkgs/development/libraries/opae/default.nix
index 32b131159572..46b03720d16c 100644
--- a/nixpkgs/pkgs/development/libraries/opae/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opae/default.nix
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=format-truncation"
+    "-Wno-error=address-of-packed-member"
+  ];
+
   nativeBuildInputs = [ cmake doxygen perl python2Packages.sphinx ];
   buildInputs = [ libuuid json_c python2 ];
 
diff --git a/nixpkgs/pkgs/development/libraries/opal/default.nix b/nixpkgs/pkgs/development/libraries/opal/default.nix
deleted file mode 100644
index dd19fccd822a..000000000000
--- a/nixpkgs/pkgs/development/libraries/opal/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex, gnome3
-, ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC }:
-
-stdenv.mkDerivation rec {
-  pname = "opal";
-  version = "3.10.10";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ptlib srtp libtheora speex
-                  ffmpeg x264 cyrus_sasl openldap openssl expat unixODBC ];
-  propagatedBuildInputs = [ speex ];
-
-  configureFlags = [ "--enable-h323" ];
-
-  enableParallelBuilding = true;
-
-  NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1 -std=gnu++98";
-
-  patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ];
-
-  meta = with stdenv.lib; {
-    description = "VoIP library";
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
-    homepage = "http://www.opalvoip.org/";
-    license = with licenses; [ bsdOriginal mpl10 gpl2Plus lgpl21 ];
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/opal";
-    };
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-    };
-  };
-}
-
diff --git a/nixpkgs/pkgs/development/libraries/opal/disable-samples-ftbfs.diff b/nixpkgs/pkgs/development/libraries/opal/disable-samples-ftbfs.diff
deleted file mode 100644
index 1b0738216079..000000000000
--- a/nixpkgs/pkgs/development/libraries/opal/disable-samples-ftbfs.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: opal-3.10.4~dfsg/Makefile.in
-===================================================================
---- opal-3.10.4~dfsg.orig/Makefile.in	2012-02-22 10:08:36.000000000 +1100
-+++ opal-3.10.4~dfsg/Makefile.in	2012-03-08 08:32:44.000000000 +1100
-@@ -45,8 +45,7 @@
-            samples/codectest \
-            samples/callgen \
-            samples/opalecho \
--           samples/faxopal \
--           samples/c_api
-+           samples/faxopal 
- ifeq ($(OPAL_IVR),yes)
- SUBDIRS += samples/opalmcu \
-            samples/ivropal \
diff --git a/nixpkgs/pkgs/development/libraries/opal/libav10.patch b/nixpkgs/pkgs/development/libraries/opal/libav10.patch
deleted file mode 100644
index 3e02704f8998..000000000000
--- a/nixpkgs/pkgs/development/libraries/opal/libav10.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-Description: Fix compilation against libav10 
-Author: Reinhard Tartler <siretart@tauware.de>
-Bug-Debian: http://bugs.debian.org/739439
-
---- a/plugins/video/H.263-1998/h263-1998.cxx
-+++ b/plugins/video/H.263-1998/h263-1998.cxx
-@@ -94,7 +94,7 @@ static struct StdSizes {
-   { CIF16_WIDTH, CIF16_HEIGHT, PLUGINCODEC_CIF16_MPI },
- };
- 
--static FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H263P);
-+static FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H263P);
- 
- 
- /////////////////////////////////////////////////////////////////////////////
-@@ -203,7 +203,7 @@ H263_Base_EncoderContext::~H263_Base_Enc
-   PTRACE(4, m_prefix, "Encoder closed");
- }
- 
--bool H263_Base_EncoderContext::Init(CodecID codecId)
-+bool H263_Base_EncoderContext::Init(AVCodecID codecId)
- {
-   PTRACE(5, m_prefix, "Opening encoder");
- 
-@@ -589,7 +589,7 @@ void H263_RFC2190_EncoderContext::RTPCal
- 
- bool H263_RFC2190_EncoderContext::Init()
- {
--  if (!H263_Base_EncoderContext::Init(CODEC_ID_H263))
-+  if (!H263_Base_EncoderContext::Init(AV_CODEC_ID_H263))
-     return false;
- 
- #if LIBAVCODEC_RTP_MODE
-@@ -632,7 +632,7 @@ H263_RFC2429_EncoderContext::~H263_RFC24
- 
- bool H263_RFC2429_EncoderContext::Init()
- {
--  return H263_Base_EncoderContext::Init(CODEC_ID_H263P);
-+  return H263_Base_EncoderContext::Init(AV_CODEC_ID_H263P);
- }
- 
- 
-@@ -656,7 +656,7 @@ H263_Base_DecoderContext::H263_Base_Deco
-   if (!FFMPEGLibraryInstance.Load())
-     return;
- 
--  if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H263)) == NULL) {
-+  if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_H263)) == NULL) {
-     PTRACE(1, m_prefix, "Codec not found for decoder");
-     return;
-   }
---- a/plugins/video/H.264/h264-x264.cxx
-+++ b/plugins/video/H.264/h264-x264.cxx
-@@ -105,7 +105,7 @@ static struct PluginCodec_information Li
- 
- ///////////////////////////////////////////////////////////////////////////////
- 
--FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H264);
-+FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H264);
- 
- PLUGINCODEC_CONTROL_LOG_FUNCTION_DEF
- 
-@@ -1065,17 +1065,17 @@ class MyDecoder : public PluginCodec<MY_
-          allows you to fail the create operation (return false), which cannot
-          be done in the normal C++ constructor. */
- 
--      if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H264)) == NULL)
-+      if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_H264)) == NULL)
-         return false;
- 
-       if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec)) == NULL)
-         return false;
- 
-       m_context->workaround_bugs = FF_BUG_AUTODETECT;
--      m_context->idct_algo = FF_IDCT_H264;
-+      m_context->idct_algo = FF_IDCT_AUTO;
-       m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
-       m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
--      m_context->flags2 = CODEC_FLAG2_SKIP_RD |
-+      m_context->flags2 = 
- #ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE
-                           CODEC_FLAG2_DROP_FRAME_TIMECODE |
- #endif
---- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
-+++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
-@@ -205,7 +205,7 @@ const static struct mpeg4_resolution {
-     { 0 }
- };
- 
--FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_MPEG4);
-+FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_MPEG4);
- 
- 
- static bool mpeg4IsIframe (BYTE * frameBuffer, unsigned int frameLen )
-@@ -688,7 +688,7 @@ void MPEG4EncoderContext::ResizeEncoding
- 
- bool MPEG4EncoderContext::OpenCodec()
- {
--  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
-+  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(AV_CODEC_ID_MPEG4)) == NULL){
-     PTRACE(1, "MPEG4", "Encoder not found");
-     return false;
-   }
-@@ -1390,7 +1390,7 @@ void MPEG4DecoderContext::ResizeDecoding
- 
- bool MPEG4DecoderContext::OpenCodec()
- {
--    if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_MPEG4)) == NULL) {
-+    if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_MPEG4)) == NULL) {
-         PTRACE(1, "MPEG4", "Decoder not found for encoder");
-         return false;
-     }
---- a/plugins/video/H.263-1998/h263-1998.h
-+++ b/plugins/video/H.263-1998/h263-1998.h
-@@ -115,7 +115,7 @@ class H263_Base_EncoderContext
-     virtual ~H263_Base_EncoderContext();
- 
-     virtual bool Init() = 0;
--    virtual bool Init(CodecID codecId);
-+    virtual bool Init(AVCodecID codecId);
- 
-     virtual bool SetOptions(const char * const * options);
-     virtual void SetOption(const char * option, const char * value);
---- a/plugins/video/common/dyna.cxx
-+++ b/plugins/video/common/dyna.cxx
-@@ -217,14 +217,14 @@ static void logCallbackFFMPEG(void * avc
- #endif
- 
- 
--FFMPEGLibrary::FFMPEGLibrary(CodecID codec)
-+FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec)
- {
-   m_codec = codec;
--  if (m_codec==CODEC_ID_H264)
-+  if (m_codec==AV_CODEC_ID_H264)
-       snprintf( m_codecString, sizeof(m_codecString), "H264");
--  if (m_codec==CODEC_ID_H263P)
-+  if (m_codec==AV_CODEC_ID_H263P)
-       snprintf( m_codecString, sizeof(m_codecString), "H263+");
--  if (m_codec==CODEC_ID_MPEG4)
-+  if (m_codec==AV_CODEC_ID_MPEG4)
-       snprintf( m_codecString, sizeof(m_codecString), "MPEG4");
-   m_isLoadedOK = false;
- }
-@@ -268,12 +268,12 @@ bool FFMPEGLibrary::Load()
-   return true;
- }
- 
--AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id)
-+AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id)
- {
-   return avcodec_find_encoder(id);
- }
- 
--AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id)
-+AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id)
- {
-   WaitAndSignal m(processLock);
- 
-@@ -308,13 +308,18 @@ int FFMPEGLibrary::AvcodecClose(AVCodecC
-   return avcodec_close(ctx);
- }
- 
-+#undef  FFMAX
-+#define FFMAX(a,b) ((a) > (b) ? (a) : (b)) 
- int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict)
- {
-+  AVPacket pkt = { 0 };
-+  int ret, got_output;
-   int res;
- 
--  res = avcodec_encode_video(ctx, buf, buf_size, pict);
-+  ret = avcodec_encode_video2(ctx, &pkt, pict, &got_output);
- 
--  PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size);
-+  PTRACE(6, m_codecString, "DYNA\tEncoded into " << ret << " bytes, max " << buf_size);
-+  memcpy(buf, pkt.data, FFMAX(pkt.size, buf_size));
-   return res;
- }
- 
---- a/plugins/video/common/dyna.h
-+++ b/plugins/video/common/dyna.h
-@@ -88,13 +88,13 @@ class DynaLink
- class FFMPEGLibrary 
- {
-   public:
--    FFMPEGLibrary(CodecID codec);
-+    FFMPEGLibrary(AVCodecID codec);
-     ~FFMPEGLibrary();
- 
-     bool Load();
- 
--    AVCodec *AvcodecFindEncoder(enum CodecID id);
--    AVCodec *AvcodecFindDecoder(enum CodecID id);
-+    AVCodec *AvcodecFindEncoder(enum AVCodecID id);
-+    AVCodec *AvcodecFindDecoder(enum AVCodecID id);
-     AVCodecContext *AvcodecAllocContext(AVCodec*);
-     AVFrame *AvcodecAllocFrame(void);
-     int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec);
-@@ -117,7 +117,7 @@ class FFMPEGLibrary
-     DynaLink m_libAvcodec;
-     DynaLink m_libAvutil;
- 
--    CodecID m_codec;
-+    AVCodecID m_codec;
-     char m_codecString[32];
- 
-     bool m_isLoadedOK;
diff --git a/nixpkgs/pkgs/development/libraries/opal/libav9.patch b/nixpkgs/pkgs/development/libraries/opal/libav9.patch
deleted file mode 100644
index f91a8c033fe3..000000000000
--- a/nixpkgs/pkgs/development/libraries/opal/libav9.patch
+++ /dev/null
@@ -1,543 +0,0 @@
-Description: Backport changes for the libav 9 API
- Also replace loading of libavcodec and libavutil via dlopen by linking against
- it.
-Author: Sebastian Ramacher <sramacher@debian.org>
-Bug-Debian: http://bugs.debian.org/720824
-Last-Update: 2013-09-12
-
---- a/plugins/video/H.263-1998/h263-1998.cxx
-+++ b/plugins/video/H.263-1998/h263-1998.cxx
-@@ -216,7 +216,7 @@
-     return false;
-   }
- 
--  m_context = FFMPEGLibraryInstance.AvcodecAllocContext();
-+  m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec);
-   if (m_context == NULL) {
-     PTRACE(1, m_prefix, "Failed to allocate context for encoder");
-     return false;
-@@ -312,6 +312,7 @@
-     return;
-   }
- 
-+#ifdef CODEC_FLAG_H263P_UMV
-   if (STRCMPI(option, H263_ANNEX_D) == 0) {
-     // Annex D: Unrestructed Motion Vectors
-     // Level 2+ 
-@@ -322,6 +323,7 @@
-       m_context->flags &= ~CODEC_FLAG_H263P_UMV; 
-     return;
-   }
-+#endif
- 
- #if 0 // DO NOT ENABLE THIS FLAG. FFMPEG IS NOT THREAD_SAFE WHEN THIS FLAG IS SET
-   if (STRCMPI(option, H263_ANNEX_F) == 0) {
-@@ -356,6 +358,7 @@
-     return;
-   }
- 
-+#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
-   if (STRCMPI(option, H263_ANNEX_K) == 0) {
-     // Annex K: Slice Structure
-     // does not work with eyeBeam
-@@ -365,7 +368,9 @@
-       m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; 
-     return;
-   }
-+#endif
- 
-+#ifdef CODEC_FLAG_H263P_AIV
-   if (STRCMPI(option, H263_ANNEX_S) == 0) {
-     // Annex S: Alternative INTER VLC mode
-     // does not work with eyeBeam
-@@ -375,6 +380,7 @@
-       m_context->flags &= ~CODEC_FLAG_H263P_AIV; 
-     return;
-   }
-+#endif
- 
-   if (STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATION) == 0 ||
-       STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATIONS) == 0) {
-@@ -450,15 +456,6 @@
-   PTRACE(5, m_prefix, "qmax set to " << m_context->qmax);
-   PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size);
- 
--  #define CODEC_TRACER_FLAG(tracer, flag) \
--    PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled"));
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV);
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC);
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED);
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT)
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER);
--  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV);
--
-   return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0;
- }
- 
-@@ -521,7 +518,7 @@
- 
-     // Need to copy to local buffer to guarantee 16 byte alignment
-     memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2);
--    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE;
-+    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE;
- 
-     /*
-     m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE;
-@@ -603,13 +600,19 @@
-   m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack;
-   m_context->opaque = this; // used to separate out packets from different encode threads
- 
-+#ifdef CODEC_FLAG_H263P_UMV
-   m_context->flags &= ~CODEC_FLAG_H263P_UMV;
-+#endif
-   m_context->flags &= ~CODEC_FLAG_4MV;
- #if LIBAVCODEC_RTP_MODE
-   m_context->flags &= ~CODEC_FLAG_H263P_AIC;
- #endif
-+#ifdef CODEC_FLAG_H263P_AIV
-   m_context->flags &= ~CODEC_FLAG_H263P_AIV;
-+#endif
-+#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
-   m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT;
-+#endif
- 
-   return true;
- }
-@@ -658,7 +661,7 @@
-     return;
-   }
- 
--  m_context = FFMPEGLibraryInstance.AvcodecAllocContext();
-+  m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec);
-   if (m_context == NULL) {
-     PTRACE(1, m_prefix, "Failed to allocate context for decoder");
-     return;
---- a/plugins/video/H.264/h264-x264.cxx
-+++ b/plugins/video/H.264/h264-x264.cxx
-@@ -48,6 +48,7 @@
- #include "shared/h264frame.h"
- #include "shared/x264wrap.h"
- 
-+#include <cstdio>
- 
- #define MY_CODEC      x264                                  // Name of codec (use C variable characters)
- #define MY_CODEC_LOG "x264"
-@@ -1067,18 +1068,17 @@
-       if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H264)) == NULL)
-         return false;
- 
--      if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext()) == NULL)
-+      if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec)) == NULL)
-         return false;
- 
-       m_context->workaround_bugs = FF_BUG_AUTODETECT;
--      m_context->error_recognition = FF_ER_AGGRESSIVE;
-       m_context->idct_algo = FF_IDCT_H264;
-       m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
-       m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
--      m_context->flags2 = CODEC_FLAG2_BRDO |
--                          CODEC_FLAG2_MEMC_ONLY |
-+      m_context->flags2 = CODEC_FLAG2_SKIP_RD |
-+#ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE
-                           CODEC_FLAG2_DROP_FRAME_TIMECODE |
--                          CODEC_FLAG2_SKIP_RD |
-+#endif
-                           CODEC_FLAG2_CHUNKS;
- 
-       if ((m_picture = FFMPEGLibraryInstance.AvcodecAllocFrame()) == NULL)
---- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
-+++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
-@@ -589,17 +589,14 @@
-     m_avpicture->quality = m_videoQMin;
- 
- #ifdef USE_ORIG
--    m_avcontext->flags |= CODEC_FLAG_PART;   // data partitioning
-     m_avcontext->flags |= CODEC_FLAG_4MV;    // 4 motion vectors
- #else
-     m_avcontext->max_b_frames=0; /*don't use b frames*/
-     m_avcontext->flags|=CODEC_FLAG_AC_PRED;
--    m_avcontext->flags|=CODEC_FLAG_H263P_UMV;
-     /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */
-     m_avcontext->flags|=CODEC_FLAG_4MV;
-     m_avcontext->flags|=CODEC_FLAG_GMC;
-     m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER;
--    m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT;
- #endif
-     m_avcontext->opaque = this;              // for use in RTP callback
- }
-@@ -691,7 +688,12 @@
- 
- bool MPEG4EncoderContext::OpenCodec()
- {
--  m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext();
-+  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
-+    PTRACE(1, "MPEG4", "Encoder not found");
-+    return false;
-+  }
-+
-+  m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec);
-   if (m_avcontext == NULL) {
-     PTRACE(1, "MPEG4", "Encoder failed to allocate context for encoder");
-     return false;
-@@ -703,11 +705,6 @@
-     return false;
-   }
- 
--  if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){
--    PTRACE(1, "MPEG4", "Encoder not found");
--    return false;
--  }
--
- #if PLUGINCODEC_TRACING
-   // debugging flags
-   if (PTRACE_CHECK(4)) {
-@@ -804,7 +801,7 @@
-         // Should the next frame be an I-Frame?
-         if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0))
-         {
--            m_avpicture->pict_type = FF_I_TYPE;
-+            m_avpicture->pict_type = AV_PICTURE_TYPE_I;
-         }
-         else // No IFrame requested, let avcodec decide what to do
-         {
-@@ -1325,7 +1322,6 @@
- 
- void MPEG4DecoderContext::SetStaticDecodingParams() {
-     m_avcontext->flags |= CODEC_FLAG_4MV; 
--    m_avcontext->flags |= CODEC_FLAG_PART;
-     m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations
- }
- 
-@@ -1399,7 +1395,7 @@
-         return false;
-     }
-         
--    m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext();
-+    m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec);
-     if (m_avcontext == NULL) {
-         PTRACE(1, "MPEG4", "Decoder failed to allocate context");
-         return false;
---- a/plugins/video/common/dyna.cxx
-+++ b/plugins/video/common/dyna.cxx
-@@ -38,6 +38,13 @@
-  *                 Matthias Schneider (ma30002000@yahoo.de)
-  */
- #include "dyna.h"
-+#include <cstdio>
-+#include <cstdarg>
-+
-+extern "C" {
-+#include <libavcodec/avcodec.h>
-+#include <libavutil/mem.h>
-+}
- 
- bool DynaLink::Open(const char *name)
- {
-@@ -228,101 +235,15 @@
-   m_libAvutil.Close();
- }
- 
--#define CHECK_AVUTIL(name, func) \
--      (seperateLibAvutil ? \
--        m_libAvutil.GetFunction(name,  (DynaLink::Function &)func) : \
--        m_libAvcodec.GetFunction(name, (DynaLink::Function &)func) \
--       ) \
--
--
- bool FFMPEGLibrary::Load()
- {
-   WaitAndSignal m(processLock);
-   if (IsLoaded())
-     return true;
- 
--  bool seperateLibAvutil = false;
--
--#ifdef LIBAVCODEC_LIB_NAME
--  if (m_libAvcodec.Open(LIBAVCODEC_LIB_NAME))
--    seperateLibAvutil = true;
--  else
--#endif
--  if (m_libAvcodec.Open("libavcodec"))
--    seperateLibAvutil = false;
--  else if (m_libAvcodec.Open("avcodec-" AV_STRINGIFY(LIBAVCODEC_VERSION_MAJOR)))
--    seperateLibAvutil = true;
--  else {
--    PTRACE(1, m_codecString, "Failed to load FFMPEG libavcodec library");
--    return false;
--  }
--
--  if (seperateLibAvutil &&
--        !(
--#ifdef LIBAVUTIL_LIB_NAME
--          m_libAvutil.Open(LIBAVUTIL_LIB_NAME) ||
--#endif
--          m_libAvutil.Open("libavutil") ||
--          m_libAvutil.Open("avutil-" AV_STRINGIFY(LIBAVUTIL_VERSION_MAJOR))
--        ) ) {
--    PTRACE(1, m_codecString, "Failed to load FFMPEG libavutil library");
--    return false;
--  }
--
--  strcpy(m_libAvcodec.m_codecString, m_codecString);
--  strcpy(m_libAvutil.m_codecString,  m_codecString);
--
--  if (!m_libAvcodec.GetFunction("avcodec_init", (DynaLink::Function &)Favcodec_init))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("av_init_packet", (DynaLink::Function &)Fav_init_packet))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_register_all", (DynaLink::Function &)Favcodec_register_all))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_find_encoder", (DynaLink::Function &)Favcodec_find_encoder))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_find_decoder", (DynaLink::Function &)Favcodec_find_decoder))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_alloc_context", (DynaLink::Function &)Favcodec_alloc_context))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_alloc_frame", (DynaLink::Function &)Favcodec_alloc_frame))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_open", (DynaLink::Function &)Favcodec_open))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_close", (DynaLink::Function &)Favcodec_close))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_encode_video", (DynaLink::Function &)Favcodec_encode_video))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_decode_video2", (DynaLink::Function &)Favcodec_decode_video))
--    return false;
--
--  if (!m_libAvcodec.GetFunction("avcodec_set_dimensions", (DynaLink::Function &)Favcodec_set_dimensions))
--    return false;
--
--  if (!CHECK_AVUTIL("av_free", Favcodec_free))
--    return false;
--
--  if(!m_libAvcodec.GetFunction("avcodec_version", (DynaLink::Function &)Favcodec_version))
--    return false;
--
--  if (!CHECK_AVUTIL("av_log_set_level", FAv_log_set_level))
--    return false;
--
--  if (!CHECK_AVUTIL("av_log_set_callback", FAv_log_set_callback))
--    return false;
--
-   // must be called before using avcodec lib
- 
--  unsigned libVer = Favcodec_version();
-+  unsigned libVer = avcodec_version();
-   if (libVer != LIBAVCODEC_VERSION_INT) {
-     PTRACE(2, m_codecString, "Warning: compiled against libavcodec headers from version "
-            << LIBAVCODEC_VERSION_MAJOR << '.' << LIBAVCODEC_VERSION_MINOR << '.' << LIBAVCODEC_VERSION_MICRO
-@@ -334,8 +255,7 @@
-            << (libVer >> 16) << ((libVer>>8) & 0xff) << (libVer & 0xff));
-   }
- 
--  Favcodec_init();
--  Favcodec_register_all ();
-+  avcodec_register_all();
- 
- #if PLUGINCODEC_TRACING
-   AvLogSetLevel(AV_LOG_DEBUG);
-@@ -350,49 +270,49 @@
- 
- AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id)
- {
--  return Favcodec_find_encoder(id);
-+  return avcodec_find_encoder(id);
- }
- 
- AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id)
- {
-   WaitAndSignal m(processLock);
- 
--  return Favcodec_find_decoder(id);
-+  return avcodec_find_decoder(id);
- }
- 
--AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(void)
-+AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(AVCodec *codec)
- {
-   WaitAndSignal m(processLock);
- 
--  return Favcodec_alloc_context();
-+  return avcodec_alloc_context3(codec);
- }
- 
- AVFrame *FFMPEGLibrary::AvcodecAllocFrame(void)
- {
-   WaitAndSignal m(processLock);
- 
--  return Favcodec_alloc_frame();
-+  return avcodec_alloc_frame();
- }
- 
- int FFMPEGLibrary::AvcodecOpen(AVCodecContext *ctx, AVCodec *codec)
- {
-   WaitAndSignal m(processLock);
- 
--  return Favcodec_open(ctx, codec);
-+  return avcodec_open2(ctx, codec, NULL);
- }
- 
- int FFMPEGLibrary::AvcodecClose(AVCodecContext *ctx)
- {
-   WaitAndSignal m(processLock);
- 
--  return Favcodec_close(ctx);
-+  return avcodec_close(ctx);
- }
- 
- int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict)
- {
-   int res;
- 
--  res = Favcodec_encode_video(ctx, buf, buf_size, pict);
-+  res = avcodec_encode_video(ctx, buf, buf_size, pict);
- 
-   PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size);
-   return res;
-@@ -401,35 +321,35 @@
- int FFMPEGLibrary::AvcodecDecodeVideo(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, BYTE *buf, int buf_size)
- {
-   AVPacket avpkt;
--  Fav_init_packet(&avpkt);
-+  av_init_packet(&avpkt);
-   avpkt.data = buf;
-   avpkt.size = buf_size;
- 
--  return Favcodec_decode_video(ctx, pict, got_picture_ptr, &avpkt);
-+  return avcodec_decode_video2(ctx, pict, got_picture_ptr, &avpkt);
- }
- 
- void FFMPEGLibrary::AvcodecFree(void * ptr)
- {
-   WaitAndSignal m(processLock);
- 
--  Favcodec_free(ptr);
-+  av_free(ptr);
- }
- 
- void FFMPEGLibrary::AvSetDimensions(AVCodecContext *s, int width, int height)
- {
-   WaitAndSignal m(processLock);
- 
--  Favcodec_set_dimensions(s, width, height);
-+  avcodec_set_dimensions(s, width, height);
- }
- 
- void FFMPEGLibrary::AvLogSetLevel(int level)
- {
--  FAv_log_set_level(level);
-+  av_log_set_level(level);
- }
- 
- void FFMPEGLibrary::AvLogSetCallback(void (*callback)(void*, int, const char*, va_list))
- {
--  FAv_log_set_callback(callback);
-+  av_log_set_callback(callback);
- }
- 
- bool FFMPEGLibrary::IsLoaded()
---- a/plugins/video/common/dyna.h
-+++ b/plugins/video/common/dyna.h
-@@ -95,7 +95,7 @@
- 
-     AVCodec *AvcodecFindEncoder(enum CodecID id);
-     AVCodec *AvcodecFindDecoder(enum CodecID id);
--    AVCodecContext *AvcodecAllocContext(void);
-+    AVCodecContext *AvcodecAllocContext(AVCodec*);
-     AVFrame *AvcodecAllocFrame(void);
-     int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec);
-     int AvcodecClose(AVCodecContext *ctx);
-@@ -120,26 +120,6 @@
-     CodecID m_codec;
-     char m_codecString[32];
- 
--    void (*Favcodec_init)(void);
--    void (*Fav_init_packet)(AVPacket *pkt);
--
--    void (*Favcodec_register_all)(void);
--    AVCodec *(*Favcodec_find_encoder)(enum CodecID id);
--    AVCodec *(*Favcodec_find_decoder)(enum CodecID id);
--    AVCodecContext *(*Favcodec_alloc_context)(void);
--    AVFrame *(*Favcodec_alloc_frame)(void);
--    int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec);
--    int (*Favcodec_close)(AVCodecContext *ctx);
--    int (*Favcodec_encode_video)(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict);
--    int (*Favcodec_decode_video)(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, AVPacket *avpkt);
--    unsigned (*Favcodec_version)(void);
--    void (*Favcodec_set_dimensions)(AVCodecContext *ctx, int width, int height);
--
--    void (*Favcodec_free)(void *);
--
--    void (*FAv_log_set_level)(int level);
--    void (*FAv_log_set_callback)(void (*callback)(void*, int, const char*, va_list));
--
-     bool m_isLoadedOK;
- };
- 
---- a/plugins/video/common/ffmpeg.h
-+++ b/plugins/video/common/ffmpeg.h
-@@ -45,11 +45,13 @@
- 
- #include "platform.h"
- 
--#include "libavcodec/avcodec.h"
-+extern "C" {
-+#include <libavcodec/avcodec.h>
- // AVPacket was declared in avformat.h before April 2009
- #if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(52, 25, 0)
--#include "libavformat/avformat.h"
-+#include <libavformat/avformat.h>
- #endif
-+}
- 
- #ifndef LIBAVCODEC_VERSION_INT
- #error Libavcodec include is not correct
---- a/plugins/video/H.263-1998/Makefile.in
-+++ b/plugins/video/H.263-1998/Makefile.in
-@@ -34,8 +34,8 @@
-              $(COMMONDIR)/mpi.cxx \
-              $(COMMONDIR)/dyna.cxx
- 
--CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR)
--LIBS   += @DL_LIBS@
-+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR)
-+LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
- 
- HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@
- ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes)
---- a/plugins/video/H.264/Makefile.in
-+++ b/plugins/video/H.264/Makefile.in
-@@ -34,8 +34,8 @@
-            $(SHAREDDIR)/x264wrap.cxx \
-            $(COMMONDIR)/dyna.cxx \
- 
--CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"'
--LIBS   += @DL_LIBS@
-+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"'
-+LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
- 
- IS_H264_LICENSED:=@IS_H264_LICENSED@
- ifeq ($(IS_H264_LICENSED),yes)
---- a/plugins/video/MPEG4-ffmpeg/Makefile.in
-+++ b/plugins/video/MPEG4-ffmpeg/Makefile.in
-@@ -30,8 +30,8 @@
- SRCDIR    := .
- SRCS      := mpeg4.cxx $(COMMONDIR)/dyna.cxx
- 
--CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR)
--LIBS   += @DL_LIBS@
-+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR)
-+LIBS   += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@
- 
- # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include <libavcodec/...h>
- # Also add libavutil, so ffmpeg headers can #include "log.h".
diff --git a/nixpkgs/pkgs/development/libraries/openal-soft/default.nix b/nixpkgs/pkgs/development/libraries/openal-soft/default.nix
index 89ac85b752b7..20528ac9284f 100644
--- a/nixpkgs/pkgs/development/libraries/openal-soft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openal-soft/default.nix
@@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
     sha256 = "0b0g0q1c36nfb289xcaaj3cmyfpiswvvgky3qyalsf9n4dj7vnzi";
   };
 
+  # this will make it find its own data files (e.g. HRTF profiles)
+  # without any other configuration
+  patches = [ ./search-out.patch ];
+  postPatch = ''
+    substituteInPlace Alc/helpers.c \
+      --replace "@OUT@" $out
+  '';
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = []
@@ -27,9 +35,9 @@ stdenv.mkDerivation rec {
     ++ optional pulseSupport libpulseaudio
     ++ optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
-  NIX_LDFLAGS = []
+  NIX_LDFLAGS = toString ([]
     ++ optional alsaSupport "-lasound"
-    ++ optional pulseSupport "-lpulse";
+    ++ optional pulseSupport "-lpulse");
 
   meta = {
     description = "OpenAL alternative";
diff --git a/nixpkgs/pkgs/development/libraries/openal-soft/search-out.patch b/nixpkgs/pkgs/development/libraries/openal-soft/search-out.patch
new file mode 100644
index 000000000000..0f9c2abad3c3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openal-soft/search-out.patch
@@ -0,0 +1,12 @@
+diff -Nuar a/Alc/helpers.c b/Alc/helpers.c
+--- a/Alc/helpers.c	1970-01-01 00:00:01.000000000 +0000
++++ b/Alc/helpers.c	1970-01-01 00:00:02.000000000 +0000
+@@ -951,6 +951,8 @@
+             }
+         }
+ 
++        DirectorySearch("@OUT@/share", ext, &results);
++
+         alstr_reset(&path);
+     }
+ 
diff --git a/nixpkgs/pkgs/development/libraries/openbabel/default.nix b/nixpkgs/pkgs/development/libraries/openbabel/default.nix
index 26bcf3d20ff6..3838e1103ba3 100644
--- a/nixpkgs/pkgs/development/libraries/openbabel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/openbsm/default.nix b/nixpkgs/pkgs/development/libraries/openbsm/default.nix
index 25e7267b3c9f..269b0138091b 100644
--- a/nixpkgs/pkgs/development/libraries/openbsm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/opencl-clang/default.nix b/nixpkgs/pkgs/development/libraries/opencl-clang/default.nix
new file mode 100644
index 000000000000..50794863defb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opencl-clang/default.nix
@@ -0,0 +1,97 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, git
+
+, llvmPackages_8
+, spirv-llvm-translator
+
+, buildWithPatches ? true
+}:
+
+let
+  llvmPkgs = llvmPackages_8 // {
+    inherit spirv-llvm-translator;
+  };
+
+  inherit (stdenv.lib) getVersion;
+
+  addPatches = component: pkg:
+    with builtins; with stdenv.lib;
+    let path = "${passthru.patchesOut}/${component}";
+    in pkg.overrideAttrs (super: {
+      postPatch = (if super ? postPatch then super.postPatch + "\n" else "") + ''
+        for p in ${path}/*
+        do
+          patch -p1 -i "$p"
+        done
+      '';
+    });
+
+  passthru = rec {
+
+    clang-unwrapped = addPatches "clang" llvmPkgs.clang-unwrapped;
+
+    clang = llvmPkgs.clang.override {
+      cc = clang-unwrapped;
+    };
+
+    patchesOut = stdenv.mkDerivation rec {
+      pname = "opencl-clang-patches";
+      inherit (lib) version src patches;
+      installPhase = ''
+        [ -d patches ] && cp -r patches/ $out || mkdir $out
+        mkdir -p $out/clang $out/spirv
+      '';
+    };
+
+    spirv-llvm-translator = addPatches "spirv" llvmPkgs.spirv-llvm-translator;
+
+  };
+
+  lib = let
+    inherit (llvmPkgs) llvm;
+    inherit (if buildWithPatches then passthru else llvmPkgs) clang-unwrapped spirv-llvm-translator;
+  in
+    stdenv.mkDerivation rec {
+      pname = "opencl-clang";
+      version = "unstable-2019-08-16";
+
+      inherit passthru;
+
+      src = fetchFromGitHub {
+        owner = "intel";
+        repo = "opencl-clang";
+        rev = "94af090661d7c953c516c97a25ed053c744a0737";
+        sha256 = "05cg89m62nqjqm705h7gpdz4jd4hiczg8944dcjsvaybrqv3hcm5";
+      };
+
+      patches = [
+      # Build script tries to find Clang OpenCL headers under ${llvm}
+      # Work around it by specifying that directory manually.
+        ./opencl-headers-dir.patch
+      ];
+
+      nativeBuildInputs = [ cmake git ];
+
+      buildInputs = [ clang-unwrapped llvm spirv-llvm-translator ];
+
+      cmakeFlags = [
+        "-DPREFERRED_LLVM_VERSION=${getVersion llvm}"
+        "-DOPENCL_HEADERS_DIR=${clang-unwrapped}/lib/clang/${getVersion clang-unwrapped}/include/"
+
+        "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF"
+        "-DSPIRV_TRANSLATOR_DIR=${spirv-llvm-translator}"
+      ];
+
+      meta = with stdenv.lib; {
+        homepage    = https://github.com/intel/opencl-clang/;
+        description = "A clang wrapper library with an OpenCL-oriented API and the ability to compile OpenCL C kernels to SPIR-V modules";
+        license     = licenses.ncsa;
+        platforms   = platforms.all;
+        maintainers = with maintainers; [ gloaming ];
+      };
+    };
+in
+  lib
diff --git a/nixpkgs/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch b/nixpkgs/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch
new file mode 100644
index 000000000000..70343b8ee197
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch
@@ -0,0 +1,25 @@
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 3dd2ea4..aeae6e9 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -11,12 +11,14 @@ add_custom_command(
+ )
+ endfunction(copy_file)
+ 
+-if(USE_PREBUILT_LLVM)
+-    set(OPENCL_HEADERS_DIR
+-      "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
+-else(USE_PREBUILT_LLVM)
+-    set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
+-endif(USE_PREBUILT_LLVM)
++if(NOT DEFINED OPENCL_HEADERS_DIR)
++  if(USE_PREBUILT_LLVM)
++      set(OPENCL_HEADERS_DIR
++        "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++  else(USE_PREBUILT_LLVM)
++      set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
++  endif(USE_PREBUILT_LLVM)
++endif()
+ copy_file(${OPENCL_HEADERS_DIR}/opencl-c.h opencl-c.h)
+ 
+ add_custom_target (
diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix
index cbd05848173a..06eff9d17f36 100644
--- a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/opencsg/default.nix b/nixpkgs/pkgs/development/libraries/opencsg/default.nix
index 1fdddf930cfd..cf46077a56cd 100644
--- a/nixpkgs/pkgs/development/libraries/opencsg/default.nix
+++ b/nixpkgs/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;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     rm example/Makefile src/Makefile
-    qmakeFlags="$qmakeFlags INSTALLDIR=$out"
+    qmakeFlags=("''${qmakeFlags[@]}" "INSTALLDIR=$out")
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix b/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
index d8946dae095b..642facf166a6 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
+++ b/nixpkgs/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
@@ -36,20 +36,20 @@
 }:
 
 let
-  version = "3.4.7";
+  version = "3.4.8";
 
   src = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv";
     rev    = version;
-    sha256 = "0r5rrcnqx2lsnr1ja5ij2chb7yk9kkamr4p0ik52sqxydwkv3z50";
+    sha256 = "1dnz3gfj70lm1gbrk8pz28apinlqi2x6nvd6xcy5hs08505nqnjp";
   };
 
   contribSrc = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv_contrib";
     rev    = version;
-    sha256 = "1ik6acsmgrx66awf19r2y3ijqvv9xg43gaphwszbiyi0jq3r43yw";
+    sha256 = "0psaa1yx36n34l09zd1y8jxgf8q4jzxd3vn06fqmzwzy85hcqn8i";
   };
 
   # Contrib must be built in order to enable Tesseract support:
@@ -208,7 +208,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake pkgconfig unzip ];
 
-  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   # Configure can't find the library without this.
   OpenBLAS_HOME = lib.optionalString enableOpenblas openblas;
diff --git a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
index aa4c7afa4dbe..9fffd3d94770 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
+++ b/nixpkgs/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
@@ -36,20 +36,20 @@
 }:
 
 let
-  version = "4.1.0";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv";
     rev    = version;
-    sha256 = "0m1f51m11iz4vxfrmnhawksd669ld247rlfdq5fhkvfk3r7aidw6";
+    sha256 = "0c98ziwvfrzdzwn52a36d37n5rac8zmxq2jn479bzfaii1bib8xx";
   };
 
   contribSrc = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv_contrib";
     rev    = version;
-    sha256 = "1phmmba96m5znjf3wxwhxavgzgp3bs5qqsjk9ay1i63rdacz4vlf";
+    sha256 = "10ryyxhggin5dk5glf4ycyrfryqf50f4bs10biv6nxlrrinm2di4";
   };
 
   # Contrib must be built in order to enable Tesseract support:
@@ -130,10 +130,10 @@ let
   ade = rec {
     src = fetchurl {
       url = "https://github.com/opencv/ade/archive/${name}";
-      sha256 = "1r85vdkvcka7bcxk69pd0ai4hld4iakpj4xl0xbinx3p9pv5a4l8";
+      sha256 = "04n9na2bph706bdxnnqfcbga4cyj8kd9s9ni7qyvnpj5v98jwvlm";
     };
-    name = "v0.1.1d.zip";
-    md5 = "37479d90e3a5d47f132f512b22cbe206";
+    name = "v0.1.1f.zip";
+    md5 = "b624b995ec9c439cbc2e9e6ee940d3a2";
     dst = ".cache/ade";
   };
 
@@ -161,14 +161,6 @@ stdenv.mkDerivation {
     cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib"
   '';
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/opencv/opencv/commit/5691d998ead1d9b0542bcfced36c2dceb3a59023.patch";
-      name = "CVE-2019-14493.patch";
-      sha256 = "14qva9f5z10apz5q0skdyiclr9sgkhab4fzksy1w3b6j6hg4wm7m";
-    })
-  ];
-
   # This prevents cmake from using libraries in impure paths (which
   # causes build failure on non NixOS)
   # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with
@@ -229,7 +221,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake pkgconfig unzip ];
 
-  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   # Configure can't find the library without this.
   OpenBLAS_HOME = lib.optionalString enableOpenblas openblas;
diff --git a/nixpkgs/pkgs/development/libraries/opencv/default.nix b/nixpkgs/pkgs/development/libraries/opencv/default.nix
index b91a1489eb69..ad27742d0b4c 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/default.nix
+++ b/nixpkgs/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
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig unzip ];
 
-  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   cmakeFlags = [
     (opencvFlag "TIFF" enableTIFF)
diff --git a/nixpkgs/pkgs/development/libraries/opendbx/default.nix b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
index f954aaf72457..16ec6a5c1103 100644
--- a/nixpkgs/pkgs/development/libraries/opendbx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, readline, mysql, postgresql, sqlite }:
+{ stdenv, fetchurl, readline, libmysqlclient, postgresql, sqlite }:
 
 stdenv.mkDerivation rec {
   name = "opendbx-1.4.6";
@@ -9,12 +9,12 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    export CPPFLAGS="-I${mysql.connector-c}/include/mysql"
-    export LDFLAGS="-L${mysql.connector-c}/lib/mysql -L${postgresql}/lib"
+    export CPPFLAGS="-I${libmysqlclient}/include/mysql"
+    export LDFLAGS="-L${libmysqlclient}/lib/mysql -L${postgresql}/lib"
     configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
   '';
 
-  buildInputs = [ readline mysql.connector-c postgresql sqlite ];
+  buildInputs = [ readline libmysqlclient postgresql sqlite ];
 
   meta = with stdenv.lib; {
     description = "Extremely lightweight but extensible database access library written in C";
diff --git a/nixpkgs/pkgs/development/libraries/openexr/default.nix b/nixpkgs/pkgs/development/libraries/openexr/default.nix
index 9eef138c532e..328bce35357f 100644
--- a/nixpkgs/pkgs/development/libraries/openexr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openexr/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, buildPackages, fetchurl, autoconf, automake, libtool, pkgconfig, zlib, ilmbase, }:
+{ lib, stdenv, buildPackages, fetchurl, autoconf, automake, libtool, pkgconfig,
+  zlib, ilmbase, fetchpatch }:
 
 let
   # Doesn't really do anything when not crosscompiling
@@ -16,6 +17,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./bootstrap.patch
+    (fetchpatch {
+      name = "CVE-2018-18444.patch";
+      url = "https://github.com/openexr/openexr/commit/1b0f1e5d7dcf2e9d6cbb4e005e803808b010b1e0.patch";
+      sha256 = "0f5m4wdwqqg8wfg7azzsz5yfpdrvws314rd4sqfc74j1g6wrcnqj";
+      stripLen = 1;
+    })
   ];
 
   outputs = [ "bin" "dev" "out" "doc" ];
@@ -48,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/nixpkgs/pkgs/development/libraries/openexrid-unstable/default.nix b/nixpkgs/pkgs/development/libraries/openexrid-unstable/default.nix
index b8a3c4a81e00..92cd343cf6a1 100644
--- a/nixpkgs/pkgs/development/libraries/openexrid-unstable/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/openfst/default.nix b/nixpkgs/pkgs/development/libraries/openfst/default.nix
index 6554d025311b..51ed495a9959 100644
--- a/nixpkgs/pkgs/development/libraries/openfst/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openfst/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openfst";
-  version = "1.7.2";
+  version = "1.7.4";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz";
-    sha256 = "0fqgk8195kz21is09gwzwnrg7fr9526bi9mh4apyskapz27pbhr1";
+    sha256 = "0drhq5348vbaccpa0z3jvd5hyv5bm2i9xrak1wb4yvl2mx77dbmh";
   };
   meta = {
     description = "Library for working with finite-state transducers";
diff --git a/nixpkgs/pkgs/development/libraries/openh264/default.nix b/nixpkgs/pkgs/development/libraries/openh264/default.nix
index cd91a1325978..fe46d25421a1 100644
--- a/nixpkgs/pkgs/development/libraries/openh264/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openh264/default.nix
@@ -2,25 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "openh264";
-  version = "1.8.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "cisco";
-    repo = "openh264";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1pl7hpk25nh7lcx1lbbv984gvnim0d6hxf4qfmrjjfjf6w37sjw4";
+    sha256 = "0sa4n4xshmiiv6h767jjq9qxapxxjwwwm3bpcignkxv5xn5sls5r";
   };
 
-  buildInputs = [ nasm ];
+  nativeBuildInputs = [ nasm ];
 
-  installPhase = ''
-    make PREFIX=$out install
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "A codec library which supports H.264 encoding and decoding";
-    homepage = http://www.openh264.org;
-    license = stdenv.lib.licenses.bsd2;
+    homepage = "https://www.openh264.org";
+    license = licenses.bsd2;
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/openmpi/default.nix b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
index 4ab2dd418558..5996dda1e74e 100644
--- a/nixpkgs/pkgs/development/libraries/openmpi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
@@ -1,5 +1,8 @@
 { stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
-, rdma-core, zlib, numactl, libevent, hwloc, pkgsTargetTarget
+, rdma-core, zlib, numactl, libevent, hwloc, pkgsTargetTarget, symlinkJoin
+
+# Enable CUDA support
+, cudaSupport ? false, cudatoolkit ? null
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -8,26 +11,24 @@
 , enablePrefix ? false
 }:
 
+assert !cudaSupport || cudatoolkit != null;
+
 let
-  version = "4.0.1";
+  version = "4.0.2";
 
+  cudatoolkit_joined = symlinkJoin {
+    name = "${cudatoolkit.name}-unsplit";
+    paths = [ cudatoolkit.out cudatoolkit.lib ];
+  };
 in stdenv.mkDerivation rec {
   pname = "openmpi";
   inherit version;
 
   src = with stdenv.lib.versions; fetchurl {
     url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "02cpzcp113gj5hb0j2xc0cqma2fn04i2i0bzf80r71120p9bdryc";
+    sha256 = "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "openmpi-mca_btl_vader_component_close-segfault.patch";
-      url = "https://github.com/open-mpi/ompi/pull/6526.patch";
-      sha256 = "0s7ac9rkcj3fi6ampkvy76njlj478yyr4zvypjc7licy6dgr595x";
-    })
-  ];
-
   postPatch = ''
     patchShebangs ./
 
@@ -41,15 +42,20 @@ in stdenv.mkDerivation rec {
 
   buildInputs = with stdenv; [ gfortran zlib ]
     ++ lib.optionals isLinux [ libnl numactl ]
+    ++ lib.optionals cudaSupport [ cudatoolkit ]
     ++ [ libevent hwloc ]
     ++ lib.optional (isLinux || isFreeBSD) rdma-core;
 
   nativeBuildInputs = [ perl ];
 
-  configureFlags = with stdenv; [ "--disable-mca-dso" ]
+  configureFlags = with stdenv; lib.optional (!cudaSupport) "--disable-mca-dso"
     ++ lib.optional isLinux  "--with-libnl=${libnl.dev}"
     ++ lib.optional enableSGE "--with-sge"
     ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default"
+    # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
+    # https://github.com/openucx/ucx
+    # https://www.open-mpi.org/faq/?category=buildcuda
+    ++ lib.optionals cudaSupport [ "--with-cuda=${cudatoolkit_joined}" "--enable-dlopen" ]
     ;
 
   enableParallelBuilding = true;
@@ -77,6 +83,10 @@ in stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru = {
+    inherit cudaSupport cudatoolkit;
+  };
+
   meta = with stdenv.lib; {
     homepage = https://www.open-mpi.org/;
     description = "Open source MPI-3 implementation";
diff --git a/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix b/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
index 1398e829dd5c..b12ca67655b9 100644
--- a/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkgconfig, doxygen,
-  libX11, libXinerama, libXrandr, libGLU_combined,
+  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,
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig cmake doxygen ];
 
   buildInputs = [
-    libX11 libXinerama libXrandr libGLU_combined
+    libX11 libXinerama libXrandr libGLU libGL
     glib ilmbase libxml2 pcre zlib
   ] ++ lib.optional jpegSupport libjpeg
     ++ lib.optional jasperSupport jasper
diff --git a/nixpkgs/pkgs/development/libraries/openssl/default.nix b/nixpkgs/pkgs/development/libraries/openssl/default.nix
index 03082eab0917..3a5a37cc4779 100644
--- a/nixpkgs/pkgs/development/libraries/openssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openssl/default.nix
@@ -44,10 +44,11 @@ let
     # TODO(@Ericson2314): Improve with mass rebuild
     configurePlatforms = [];
     configureScript = {
-        x86_64-darwin  = "./Configure darwin64-x86_64-cc";
-        x86_64-solaris = "./Configure solaris64-x86_64-gcc";
         armv6l-linux = "./Configure linux-armv4 -march=armv6";
         armv7l-linux = "./Configure linux-armv4 -march=armv7-a";
+        x86_64-darwin  = "./Configure darwin64-x86_64-cc";
+        x86_64-linux = "./Configure linux-x86_64";
+        x86_64-solaris = "./Configure solaris64-x86_64-gcc";
       }.${stdenv.hostPlatform.system} or (
         if stdenv.hostPlatform == stdenv.buildPlatform
           then "./config"
@@ -95,7 +96,11 @@ let
     '' +
     ''
       mkdir -p $bin
+    '' + stdenv.lib.optionalString (!stdenv.hostPlatform.isWindows)
+    ''
       substituteInPlace $out/bin/c_rehash --replace ${buildPackages.perl} ${perl}
+    '' +
+    ''
       mv $out/bin $bin/
 
       mkdir $dev
@@ -107,7 +112,7 @@ let
       rmdir $out/etc/ssl/{certs,private}
     '';
 
-    postFixup = ''
+    postFixup = stdenv.lib.optionalString (!stdenv.hostPlatform.isWindows) ''
       # Check to make sure the main output doesn't depend on perl
       if grep -r '${buildPackages.perl}' $out; then
         echo "Found an erroneous dependency on perl ^^^" >&2
@@ -127,8 +132,8 @@ let
 in {
 
   openssl_1_0_2 = common {
-    version = "1.0.2s";
-    sha256 = "15mbmg8hf7s12vr3v2bdc0pi9y4pdbnsxhzk4fyyap42jaa5rgfa";
+    version = "1.0.2t";
+    sha256 = "1g67ra0ph7gpz6fgvv1i96d792jmd6ymci5kk53vbikszr74djql";
     patches = [
       ./1.0.2/nix-ssl-cert-file.patch
 
@@ -139,8 +144,8 @@ in {
   };
 
   openssl_1_1 = common {
-    version = "1.1.1c";
-    sha256 = "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn";
+    version = "1.1.1d";
+    sha256 = "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
diff --git a/nixpkgs/pkgs/development/libraries/openvdb/default.nix b/nixpkgs/pkgs/development/libraries/openvdb/default.nix
index 800acebac34c..840da0461706 100644
--- a/nixpkgs/pkgs/development/libraries/openvdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openvdb/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "openvdb";
-  version = "6.1.0";
+  version = "6.2.1";
 
   src = fetchFromGitHub {
     owner = "dreamworksanimation";
     repo = "openvdb";
     rev = "v${version}";
-    sha256 = "0rs50741c4m0jgc7k2fdyinvm7hhjrbg0wls6whqaghbbaf1lhpk";
+    sha256 = "1ypkzdkgsbcczfvrqblnxfzm13w0mdkskgqmgvmbfi66vpaazdrf";
   };
 
   outputs = [ "out" ];
@@ -20,21 +20,22 @@ stdenv.mkDerivation rec
     sourceRoot=$(echo */openvdb)
   '';
 
-  installTargets = "install_lib";
+  installTargets = [ "install_lib" ];
 
   enableParallelBuilding = true;
 
-  buildFlags = ''lib
-    DESTDIR=$(out)
-    HALF_LIB=-lHalf
-    TBB_LIB=-ltbb
-    BLOSC_LIB=-lblosc
-    LOG4CPLUS_LIB=
-    BLOSC_INCLUDE_DIR=${c-blosc}/include/
-    BLOSC_LIB_DIR=${c-blosc}/lib/
-  '';
-
-  installFlags = ''DESTDIR=$(out)'';
+  buildFlags = [
+    "lib"
+    "DESTDIR=$(out)"
+    "HALF_LIB=-lHalf"
+    "TBB_LIB=-ltbb"
+    "BLOSC_LIB=-lblosc"
+    "LOG4CPLUS_LIB="
+    "BLOSC_INCLUDE_DIR=${c-blosc}/include/"
+    "BLOSC_LIB_DIR=${c-blosc}/lib/"
+  ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
 
   NIX_CFLAGS_COMPILE="-I${openexr.dev}/include/OpenEXR -I${ilmbase.dev}/include/OpenEXR/";
   NIX_LDFLAGS="-lboost_iostreams";
diff --git a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
index 8013d6865855..6cf03bc990c4 100644
--- a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, python3, libX11, libXxf86vm, libXrandr }:
+{ stdenv, fetchFromGitHub, cmake, python3, libX11, libXxf86vm, libXrandr, vulkan-headers, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "11lkihykwkq0sbmijqxmn52lg6mcn6gkcpj1c7fhzm0hm1b9p9dn";
+    sha256 = "0hqf0z38gk4id8d6vcms66mh3gllh2xib5mr11069sh9ak6b3mmp";
   };
 
   nativeBuildInputs = [ cmake python3 ];
-  buildInputs = [ libX11 libXxf86vm libXrandr ];
+  buildInputs = [ libX11 libXxf86vm libXrandr vulkan-headers libGL ];
   enableParallelBuilding = true;
 
   cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
diff --git a/nixpkgs/pkgs/development/libraries/openzwave/default.nix b/nixpkgs/pkgs/development/libraries/openzwave/default.nix
index 3d5988f8114e..a9dbcf9ffb27 100644
--- a/nixpkgs/pkgs/development/libraries/openzwave/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openzwave/default.nix
@@ -3,7 +3,7 @@
 , systemd }:
 
 let
-  version = "2018-11-13";
+  version = "2019-12-08";
 
 in stdenv.mkDerivation {
   pname = "openzwave";
@@ -14,8 +14,8 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "home-assistant";
     repo = "open-zwave";
-    rev = "0679daef6aa5a39e2441a68f7b45cfe022c4d961";
-    sha256 = "1d13maj93i6h792cbvqpx43ffss44dxmvbwj2777vzvvjib8m4n8";
+    rev = "2cd2137025c529835e4893a7b87c3d56605b2681";
+    sha256 = "04g8fb4f4ihakvvsmzcnncgfdd2ikmki7s22i9c6layzdwavbwf1";
   };
 
   nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkgconfig which ];
diff --git a/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix b/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix
index a7865fc7f4be..aba9c75ad465 100644
--- a/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix
@@ -53,7 +53,7 @@ let
 
   shortArch = {
     x86_64-linux = "linux";
-    x86_64-darwin = "macos";
+    x86_64-darwin = "mac";
   }.${stdenv.hostPlatform.system} or throwSystem;
 
   # calculate the filename of a single zip file
diff --git a/nixpkgs/pkgs/development/libraries/orcania/default.nix b/nixpkgs/pkgs/development/libraries/orcania/default.nix
index 6a7fd78d514f..bc27011c5887 100644
--- a/nixpkgs/pkgs/development/libraries/orcania/default.nix
+++ b/nixpkgs/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kq1cpayflh4xy442q6prrkalm8lcz2cxydrp1fv8ppq1cnq4zr7";
+    sha256 = "1zp2rk267dfmfap6qsyn7maivrpid8s3rkicwk1q5v6j20cgh1f8";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/ortp/default.nix b/nixpkgs/pkgs/development/libraries/ortp/default.nix
index 58f355b27fe1..68e890e33682 100644
--- a/nixpkgs/pkgs/development/libraries/ortp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ortp/default.nix
@@ -1,24 +1,25 @@
 { 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";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=stringop-truncation";
+
   buildInputs = [ bctoolbox ];
   nativeBuildInputs = [ cmake ];
 
   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/nixpkgs/pkgs/development/libraries/p11-kit/default.nix b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
index 9ca329c67613..f13ae141a816 100644
--- a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.23.16.1";
+  version = "0.23.18.1";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "0jr62qkbqxp3iawgksk1qc3gp8p6x09sg5v7xac80ghyfxil15wy";
+    sha256 = "0l4ndipcbikblfjz729zkscvni5lzdzvbvsar2538pylw556rx73";
   };
 
   outputs = [ "out" "dev"];
diff --git a/nixpkgs/pkgs/development/libraries/packr/default.nix b/nixpkgs/pkgs/development/libraries/packr/default.nix
index e2be8ded31cb..4482a9cd312d 100644
--- a/nixpkgs/pkgs/development/libraries/packr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/packr/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "packr";
-  version = "2.6.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "gobuffalo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11bd0s3hyzvhcg1q0iahv2w9f0w1k57jfxgswhz7dyndxvvr2b8i";
+    sha256 = "0m5kl2fq8gf1v4vllgag2xl8fd382sdgqrcdb8f5alsnrdn08kb9";
   };
 
   subPackages = [ "packr" "v2/packr2" ];
diff --git a/nixpkgs/pkgs/development/libraries/pango/default.nix b/nixpkgs/pkgs/development/libraries/pango/default.nix
index 0f84b382f4de..ecb0f16c72c5 100644
--- a/nixpkgs/pkgs/development/libraries/pango/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pango/default.nix
@@ -9,13 +9,13 @@ with stdenv.lib;
 
 let
   pname = "pango";
-  version = "1.43.0";
+  version = "1.44.7";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1lnxldmv1a12dq5h0dlq5jyzl4w75k76dp8cn360x2ijlm9w5h6j";
+    sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6";
   };
 
   # FIXME: docs fail on darwin
@@ -26,26 +26,18 @@ in stdenv.mkDerivation rec {
     pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43
   ];
   buildInputs = [
-    harfbuzz fribidi
+    fribidi
   ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     ApplicationServices
     Carbon
     CoreGraphics
     CoreText
   ]);
-  propagatedBuildInputs = [ cairo glib libintl ] ++
+  propagatedBuildInputs = [ cairo glib libintl harfbuzz ] ++
     optional x11Support libXft;
 
-  patches = [
-    (fetchpatch {
-      # Add gobject-2 to .pc file
-      url = "https://gitlab.gnome.org/GNOME/pango/commit/546f4c242d6f4fe312de3b7c918a848e5172e18d.patch";
-      sha256 = "1cqhy4xbwx3ad7z5d1ks7smf038b9as8c6qy84rml44h0fgiq4m2";
-    })
-  ];
-
   mesonFlags = [
-    "-Denable_docs=${if stdenv.isDarwin then "false" else "true"}"
+    "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}"
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/pangox-compat/default.nix b/nixpkgs/pkgs/development/libraries/pangox-compat/default.nix
deleted file mode 100644
index 1ae2f1b81321..000000000000
--- a/nixpkgs/pkgs/development/libraries/pangox-compat/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, pango, libX11 }:
-
-stdenv.mkDerivation rec {
-  pname = "pangox-compat";
-  version = "0.0.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib pango libX11 ];
-
-  meta = {
-    description = "A compatibility library for pango>1.30.*";
-    homepage = "https://gitlab.gnome.org/Archive/pangox-compat";
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/partio/default.nix b/nixpkgs/pkgs/development/libraries/partio/default.nix
index b08936dd34de..ba042562320b 100644
--- a/nixpkgs/pkgs/development/libraries/partio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/pcaudiolib/default.nix b/nixpkgs/pkgs/development/libraries/pcaudiolib/default.nix
index 5a02229cb0e2..1831d9692493 100644
--- a/nixpkgs/pkgs/development/libraries/pcaudiolib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcaudiolib/default.nix
@@ -3,15 +3,15 @@
 , portaudio, alsaLib
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "pcaudiolib";
-  version = "2016-07-19";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "rhdunn";
     repo = "pcaudiolib";
-    rev = "4f836ea909bdaa8a6e0e89c587efc745b546b459";
-    sha256 = "0z99nh4ibb9md2cd21762n1dmv6jk988785s1cxd8lsy4hp4pwfa";
+    rev = "${version}";
+    sha256 = "0c55hlqqh0m7bcb3nlgv1s4a22s5bgczr1cakjh3767rjb10khi0";
   };
 
   nativeBuildInputs = [ autoconf automake which libtool pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/pcre/default.nix b/nixpkgs/pkgs/development/libraries/pcre/default.nix
index 2e111240758d..cf08f9893697 100644
--- a/nixpkgs/pkgs/development/libraries/pcre/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcre/default.nix
@@ -29,8 +29,6 @@ in stdenv.mkDerivation {
   ]
     ++ optional (variant != null) "--enable-${variant}";
 
-  buildInputs = optional (stdenv.hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads;
-
   # https://bugs.exim.org/show_bug.cgi?id=2173
   patches = [ ./stacksize-detection.patch ];
 
diff --git a/nixpkgs/pkgs/development/libraries/pcre2/default.nix b/nixpkgs/pkgs/development/libraries/pcre2/default.nix
index e27c71314d97..b988c4ea02cc 100644
--- a/nixpkgs/pkgs/development/libraries/pcre2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/phonon/backends/gstreamer.nix b/nixpkgs/pkgs/development/libraries/phonon/backends/gstreamer.nix
index ef7633dadaf3..d79078c28369 100644
--- a/nixpkgs/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/nixpkgs/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
@@ -45,24 +37,29 @@ stdenv.mkDerivation {
             gst-plugins-bad
             gst-libav
           ]);
-    in [
+    in toString [
       # This flag should be picked up through pkgconfig, but it isn't.
       "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
 
       ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"''
     ];
 
-  buildInputs = with gst_all_1;
-    [ gstreamer gst-plugins-base phonon ]
-    ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
-
-  # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
-  # if DESTDIR is unset
-  DESTDIR="/";
+  buildInputs = with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    phonon
+    qtbase
+    qtx11extras
+  ];
 
-  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/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix b/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
index 98c6be85672c..9ed137e4f450 100644
--- a/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/phonon/default.nix b/nixpkgs/pkgs/development/libraries/phonon/default.nix
index dc32c4ebfb05..86e3caaa1486 100644
--- a/nixpkgs/pkgs/development/libraries/phonon/default.nix
+++ b/nixpkgs/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.10.3";
-
-  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";
-    sha256 = "15f2vndpqfcivifzl1s07r0wkavpfrjln1p46cwfk85gd5b192rf";
+    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/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix b/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix
index 5302ad21258a..4ebfd6fbfa37 100644
--- a/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/physics/applgrid/default.nix b/nixpkgs/pkgs/development/libraries/physics/applgrid/default.nix
index edda5148068a..3e2a53d81dd8 100644
--- a/nixpkgs/pkgs/development/libraries/physics/applgrid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/physics/fastjet-contrib/default.nix b/nixpkgs/pkgs/development/libraries/physics/fastjet-contrib/default.nix
new file mode 100644
index 000000000000..2bc5b12dfb77
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix b/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
index 826362cc586b..96eb13d11cdc 100644
--- a/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fastjet";
-  version = "3.3.2";
+  version = "3.3.3";
 
   src = fetchurl {
     url = "http://fastjet.fr/repo/fastjet-${version}.tar.gz";
-    sha256 = "1hk3k7dyik640dzg21filpywc2dl862nl2hbpg384hf5pw9syn9z";
+    sha256 = "0avkgn19plq593p872hirr0yj2vgjvsi88w68ngarbp55hla1c1h";
   };
 
   buildInputs = [ python2 ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/datasets-hook.sh b/nixpkgs/pkgs/development/libraries/physics/geant4/datasets-hook.sh
index 14e3b8f2fc38..8aed8b8832b3 100644
--- a/nixpkgs/pkgs/development/libraries/physics/geant4/datasets-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/physics/geant4/datasets-hook.sh
@@ -1,5 +1,5 @@
 @name@ () {
-    export G4@envvar@DATA="@out@/data"
+    export G4@envvar@DATA="@datadir@"
 }
 
 postHooks+=(@name@)
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/datasets.nix b/nixpkgs/pkgs/development/libraries/physics/geant4/datasets.nix
index 88f2dc2cd6d4..22fda0cf9800 100644
--- a/nixpkgs/pkgs/development/libraries/physics/geant4/datasets.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/geant4/datasets.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchurl, }:
+{ stdenv, fetchurl, geant_version }:
 
 let
-  mkDataset = { name, version, sha256, envvar}:
+  mkDataset = { name, version, sha256, envvar }:
     stdenv.mkDerivation {
       inherit name version;
+      inherit geant_version;
 
       src = fetchurl {
-        url = "https://geant4-data.web.cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
+        url = "https://cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
         inherit sha256;
       };
 
@@ -14,9 +15,10 @@ let
       dontBuild = true;
       dontConfigure = true;
 
+      datadir = "${placeholder "out"}/share/Geant4-${geant_version}/data/${name}${version}";
       installPhase = ''
-        mkdir -p $out/data
-        mv ./* $out/data
+        mkdir -p $datadir
+        mv ./* $datadir
       '';
 
       inherit envvar;
@@ -40,37 +42,37 @@ in
 
     {
       name = "G4EMLOW";
-      version = "7.3";
-      sha256 = "583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e";
+      version = "7.7";
+      sha256 = "16dec6adda6477a97424d749688d73e9bd7d0b84d0137a67cf341f1960984663";
       envvar = "LE";
     }
 
     {
       name = "G4PhotonEvaporation";
-      version = "5.2";
-      sha256 = "83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f";
+      version = "5.3";
+      sha256 = "d47ababc8cbe548065ef644e9bd88266869e75e2f9e577ebc36bc55bf7a92ec8";
       envvar = "LEVELGAMMA";
     }
 
     {
       name = "G4RadioactiveDecay";
-      version = "5.2";
-      sha256 = "99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d";
+      version = "5.3";
+      sha256 = "5c8992ac57ae56e66b064d3f5cdfe7c2fee76567520ad34a625bfb187119f8c1";
       envvar = "RADIOACTIVE";
     }
 
     {
       name = "G4SAIDDATA";
-      version = "1.1";
-      sha256 = "a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f";
+      version = "2.0";
+      sha256 = "1d26a8e79baa71e44d5759b9f55a67e8b7ede31751316a9e9037d80090c72e91";
       envvar = "SAIDXS";
     }
 
     {
-      name = "G4NEUTRONXS";
-      version = "1.4";
-      sha256 = "57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd";
-      envvar = "NEUTRONXS";
+      name = "G4PARTICLEXS";
+      version = "1.1";
+      sha256 = "100a11c9ed961152acfadcc9b583a9f649dda4e48ab314fcd4f333412ade9d62";
+      envvar = "PARTICLEXS";
     }
 
     {
@@ -81,6 +83,13 @@ in
     }
 
     {
+      name = "G4INCL";
+      version = "1.0";
+      sha256 = "716161821ae9f3d0565fbf3c2cf34f4e02e3e519eb419a82236eef22c2c4367d";
+      envvar = "INCL";
+    }
+
+    {
       name = "G4PII";
       version = "1.3";
       sha256 = "6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926";
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
index 4ec117777857..007e4ad0c32f 100644
--- a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
@@ -30,18 +30,18 @@
 , libXpm
 
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined
+, libGLU, libGL
 , xlibsWrapper
 , libXmu
 }:
 
-stdenv.mkDerivation {
-  version = "10.4.1";
+stdenv.mkDerivation rec {
+  version = "10.5.1";
   pname = "geant4";
 
   src = fetchurl{
-    url = "http://cern.ch/geant4-data/releases/geant4.10.04.p01.tar.gz";
-    sha256 = "a3eb13e4f1217737b842d3869dc5b1fb978f761113e74bd4eaf6017307d234dd";
+    url = "http://cern.ch/geant4-data/releases/geant4.10.05.p01.tar.gz";
+    sha256 = "f4a292220500fad17e0167ce3153e96e3410ecbe96284e572dc707f63523bdff";
   };
 
   cmakeFlags = [
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
 
   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 ]
@@ -78,7 +78,10 @@ stdenv.mkDerivation {
   setupHook = ./geant4-hook.sh;
 
   passthru = {
-    data = import ./datasets.nix { inherit stdenv fetchurl; };
+    data = import ./datasets.nix {
+          inherit stdenv fetchurl;
+          geant_version = version;
+      };
   };
 
   # Set the myriad of envars required by Geant4 if we use a nix-shell.
@@ -95,7 +98,7 @@ stdenv.mkDerivation {
     '';
     homepage = http://www.geant4.org;
     license = licenses.g4sl;
-    maintainers = with maintainers; [ tmplt ];
+    maintainers = with maintainers; [ tmplt omnipotententity ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/g4py/default.nix b/nixpkgs/pkgs/development/libraries/physics/geant4/g4py/default.nix
index 3d6891c48e2b..dddd7078b86e 100644
--- a/nixpkgs/pkgs/development/libraries/physics/geant4/g4py/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/geant4/g4py/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   inherit (geant4_nomt) version src;
   pname = "g4py";
 
-  sourceRoot = "geant4.10.04.p01/environments/g4py";
+  sourceRoot = "geant4.10.05.p01/environments/g4py";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ geant4_nomt xercesc boost_python python ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix b/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
index 3116c4d36bba..d8aff555e556 100644
--- a/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hepmc3";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "http://hepmc.web.cern.ch/hepmc/releases/HepMC3-${version}.tar.gz";
-    sha256 = "1fs8ha5issls886g03azpwamry1k633zjrcx51v7g7vg9nbckjrg";
+    sha256 = "1izcldnjbyn6myr7nv7b4jivf2vmdi64ng9gk1vjh998755hfcs1";
   };
 
   buildInputs = [ cmake root ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/herwig/default.nix b/nixpkgs/pkgs/development/libraries/physics/herwig/default.nix
index d252e62286b0..d52f92d96394 100644
--- a/nixpkgs/pkgs/development/libraries/physics/herwig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/herwig/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "herwig";
-  version = "7.1.5";
+  version = "7.2.0";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
-    sha256 = "0jnrv59zfa41gc37pqr3vaiz5jkh7w0k0alcax37b3mlbsnacr9r";
+    sha256 = "0r5iyai2j99pk9p36g4rp98bxm55zd1ik9kgm2zf5zgpvxfm8csr";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
 
   buildInputs = [ boost fastjet gfortran gsl thepeg zlib ]
-    # There is a bug that requires for MMHT PDF's to be presend during the build
-    ++ (with lhapdf.pdf_sets; [ MMHT2014lo68cl MMHT2014nlo68cl ]);
+    # There is a bug that requires for default PDF's to be present during the build
+    ++ (with lhapdf.pdf_sets; [ CT14lo CT14nlo ]);
 
   postPatch = ''
     patchShebangs ./
@@ -25,12 +25,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A multi-purpose particle physics event generator";
-    license     = stdenv.lib.licenses.gpl2;
-    homepage    = https://herwig.hepforge.org/;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
-    broken      = stdenv.isAarch64; # doesn't compile: ignoring return value of 'FILE* freopen...
+    homepage = https://herwig.hepforge.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
+    broken = stdenv.isAarch64; # doesn't compile: ignoring return value of 'FILE* freopen...
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/physics/pythia/default.nix b/nixpkgs/pkgs/development/libraries/physics/pythia/default.nix
index 0398175a9a28..c37d4b9d2f1a 100644
--- a/nixpkgs/pkgs/development/libraries/physics/pythia/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pythia";
-  version = "8.243";
+  version = "8.244";
 
   src = fetchurl {
     url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "0y8w5gdaczg8vdw63rkgjr1dcvqs2clqkdia34p30xcwgm1jgv7q";
+    sha256 = "1jlj9hgmk2gcm5p0zqsiz0dpv9vvj8ip261si7frrwfsk7wq0j73";
   };
 
   buildInputs = [ boost fastjet hepmc2 zlib rsync lhapdf ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/qcdnum/default.nix b/nixpkgs/pkgs/development/libraries/physics/qcdnum/default.nix
index ad5f994620ff..e962303f5f06 100644
--- a/nixpkgs/pkgs/development/libraries/physics/qcdnum/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/qcdnum/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, fetchurl, gfortran }:
+{ stdenv, fetchurl, gfortran, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "QCDNUM";
-  version = "17-01-13";
+  version = "17-01-15";
 
   src = fetchurl {
     url = "http://www.nikhef.nl/user/h24/qcdnum-files/download/qcdnum${builtins.replaceStrings ["-"] [""] version}.tar.gz";
-    sha256 = "0568rjviwvjkfihq2ka7g91vmialr31ryn7c69iqf13rcv5vzcw7";
+    sha256 = "0ibk1sppss45qh0g8i2c99alkx82xdbss3p55f5367bxjx4iqvvg";
   };
 
   nativeBuildInputs = [ gfortran ];
+  buildInputs = [ zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix b/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
index 914eee5c286b..95e44f2364cb 100644
--- a/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
+{ stdenv, fetchurl, fetchpatch, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "rivet";
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
+    (fetchpatch {
+      url = "https://phab-files.hepforge.org/file/data/j3ja4jirrdyrovrmnbuh/PHID-FILE-6vnor4aoz3s2ejruisrg/file";
+      sha256 = "0flxv08wcd0m5di75s2zvm015k2k70nqgpcgcbq7m604z26pd6ab";
+    })
   ];
 
   latex = texlive.combine { inherit (texlive)
diff --git a/nixpkgs/pkgs/development/libraries/physics/thepeg/default.nix b/nixpkgs/pkgs/development/libraries/physics/thepeg/default.nix
index fa293eab3500..15c94668581d 100644
--- a/nixpkgs/pkgs/development/libraries/physics/thepeg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/thepeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thepeg";
-  version = "2.1.5";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
-    sha256 = "1rmmwhk9abn9mc9j3127axjwpvymv21ld4wcivwz01pldkxh06n6";
+    sha256 = "1y7vwsc4zk629np4rpjh7a8qzvyqc2fixnwq98dgdndp2544gqfk";
   };
 
   buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Toolkit for High Energy Physics Event Generation";
-    license     = stdenv.lib.licenses.gpl2;
-    homepage    = https://herwig.hepforge.org/;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+    homepage = https://herwig.hepforge.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index cc12cd02a693..3efbea97c5e9 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -9,13 +9,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "pipewire";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "PipeWire";
     repo = "pipewire";
     rev = version;
-    sha256 = "1rv1cprga0zy696pjk6gbb29p7nrbkvyla9iviii0pigflgnz6yl";
+    sha256 = "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/plib/default.nix b/nixpkgs/pkgs/development/libraries/plib/default.nix
index c9e8c632c7f1..bbc5eb21c276 100644
--- a/nixpkgs/pkgs/development/libraries/plib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/plplot/default.nix b/nixpkgs/pkgs/development/libraries/plplot/default.nix
new file mode 100644
index 000000000000..e99ddc3dd085
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/plplot/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  pname   = "plplot";
+  version = "5.15.0";
+
+  src = fetchurl {
+    url = "https://downloads.sourceforge.net/project/${pname}/${pname}/${version}%20Source/${pname}-${version}.tar.gz";
+    sha256 = "0ywccb6bs1389zjfmc9zwdvdsvlpm7vg957whh6b5a96yvcf8bdr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" "-DBUILD_TEST=ON" ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform scientific graphics plotting library";
+    homepage    = "https://plplot.org";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms   = platforms.unix;
+    license     = licenses.lgpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pmdk/default.nix b/nixpkgs/pkgs/development/libraries/pmdk/default.nix
index e945154c0034..27351522789c 100644
--- a/nixpkgs/pkgs/development/libraries/pmdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pmdk/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pmdk";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner  = "pmem";
     repo   = "pmdk";
     rev    = "refs/tags/${version}";
-    sha256 = "11h9h5ifgaa5f6v9y77s5lmsj7k61qg52992s1361cmvl0ndgl9k";
+    sha256 = "1833sq0f1msaqwn31dn1fp37a6d5zp995i9gkazanydmppi2qy0i";
   };
 
   nativeBuildInputs = [ autoconf pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/poco/default.nix b/nixpkgs/pkgs/development/libraries/poco/default.nix
index c19e343f19ae..ecd20d545d58 100644
--- a/nixpkgs/pkgs/development/libraries/poco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poco/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, cmake, pkgconfig, zlib, pcre, expat, sqlite, openssl, unixODBC, mysql }:
+{ stdenv, fetchurl, cmake, pkgconfig, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysqlclient }:
 
 stdenv.mkDerivation rec {
   pname = "poco";
 
-  version = "1.9.2";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "https://pocoproject.org/releases/${pname}-${version}/${pname}-${version}-all.tar.gz";
-    sha256 = "0jkbxw6z8l7zpr7bh2xcyzk8a5apzyz4ranhl66gxna1ay0gpzvd";
+    sha256 = "0xzxi3r4v2076kcxhj7b1achma2lqy01spshxq8sfh0jn5bz4d7b";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ zlib pcre expat sqlite openssl unixODBC mysql.connector-c ];
+  buildInputs = [ zlib pcre expat sqlite openssl unixODBC libmysqlclient ];
 
-  MYSQL_DIR = mysql.connector-c;
+  MYSQL_DIR = libmysqlclient;
   MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql";
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/polkit/default.nix b/nixpkgs/pkgs/development/libraries/polkit/default.nix
index b5b9f1f7fa4d..17163c2206cd 100644
--- a/nixpkgs/pkgs/development/libraries/polkit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/polkit/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, perl
+{ stdenv, fetchurl, pkgconfig, glib, expat, pam, perl, fetchpatch
 , intltool, spidermonkey_60 , gobject-introspection, libxslt, docbook_xsl, dbus
 , docbook_xml_dtd_412, gtk-doc, coreutils
-, useSystemd ? stdenv.isLinux, systemd
-, withGnome ? true
-, doCheck ? stdenv.isLinux
+, useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
+, 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,
+# or being unrelated to that.
+, doCheck ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl)
 }:
 
 let
 
   system = "/run/current-system/sw";
-  setuid = "/run/wrappers/bin"; #TODO: from <nixos> config.security.wrapperDir;
+  setuid = "/run/wrappers/bin";
 
 in
 
@@ -22,6 +26,24 @@ stdenv.mkDerivation rec {
     sha256 = "1c9lbpndh5zis22f154vjrhnqw65z8s85nrgl42v738yf6g0q5w8";
   };
 
+  patches = [
+    # Don't use etc/dbus-1/system.d
+    # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/11
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/polkit/polkit/commit/5dd4e22efd05d55833c4634b56e473812b5acbf2.patch";
+      sha256 = "17lv7xj5ksa27iv4zpm4zwd4iy8zbwjj4ximslfq3sasiz9kxhlp";
+    })
+  ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    # Make netgroup support optional (musl does not have it)
+    # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10
+    # We use the version of the patch that Alpine uses successfully.
+    (fetchpatch {
+      name = "make-innetgr-optional.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/polkit/make-innetgr-optional.patch?id=391e7de6ced1a96c2dac812e0b12f1d7e0ea705e";
+      sha256 = "1p9qqqhnrfyjvvd50qh6vpl256kyfblm1qnhz5pm09klrl1bh1n4";
+    })
+  ];
+
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i -e "s/-Wl,--as-needed//" configure.ac
   '';
@@ -32,11 +54,14 @@ stdenv.mkDerivation rec {
     [ glib gtk-doc pkgconfig intltool perl ]
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
-    [ glib expat pam spidermonkey_60 ]
-    ++ stdenv.lib.optional useSystemd systemd
-    ++ stdenv.lib.optional withGnome gobject-introspection;
+    [ expat pam spidermonkey_60 ]
+    # 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;
 
-  NIX_CFLAGS_COMPILE = " -Wno-deprecated-declarations "; # for polkit 0.114 and glib 2.56
+  propagatedBuildInputs = [
+    glib # in .pc Requires
+  ];
 
   preConfigure = ''
     chmod +x test/mocklibc/bin/mocklibc{,-test}.in
@@ -61,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 = [
@@ -75,7 +100,7 @@ stdenv.mkDerivation rec {
   ];
 
   inherit doCheck;
-  checkInputs = [dbus];
+  checkInputs = [ dbus ];
   checkPhase = ''
     # tests need access to the system bus
     dbus-run-session --config-file=${./system_bus.conf} -- sh -c 'DBUS_SYSTEM_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS make check'
@@ -86,6 +111,6 @@ stdenv.mkDerivation rec {
     description = "A toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = [ ];
+    maintainers = with maintainers; [ worldofpeace ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/poly2tri-c/default.nix b/nixpkgs/pkgs/development/libraries/poly2tri-c/default.nix
new file mode 100644
index 000000000000..a3e42b3ae4b2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/poly2tri-c/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, glib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "poly2tri-c";
+  version = "0.1.0";
+
+  outputs = [ "bin" "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "Paul-Browne";
+    repo = "poly2tri-c";
+    rev = "p2tc-${version}";
+    sha256 = "158vm3wqfxs22b74kqc4prlvjny38qqm3kz5wrgasmx0qciwh0g8";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    glib
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    "--std=gnu99"
+    "-Wno-error"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Library for generating, refining and rendering 2-Dimensional Constrained Delaunay Triangulations";
+    homepage = "https://code.google.com/archive/p/poly2tri-c/";
+    license = licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch b/nixpkgs/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
new file mode 100644
index 000000000000..5c2af7a2adc2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
@@ -0,0 +1,20 @@
+diff --git a/poppler/JPEG2000Stream.cc b/poppler/JPEG2000Stream.cc
+--- a/poppler/JPEG2000Stream.cc
++++ b/poppler/JPEG2000Stream.cc
+@@ -201,7 +201,7 @@ void JPXStream::init()
+   if (getDict()) smaskInData = getDict()->lookup("SMaskInData");
+ 
+   int bufSize = BUFFER_INITIAL_SIZE;
+-  if (oLen.isInt()) bufSize = oLen.getInt();
++  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
+ 
+   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
+
+@@ -365,7 +365,7 @@ void JPXStream::init()
+   }
+ 
+   int bufSize = BUFFER_INITIAL_SIZE;
+-  if (oLen.isInt()) bufSize = oLen.getInt();
++  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
+ 
+   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
diff --git a/nixpkgs/pkgs/development/libraries/poppler/0.61.nix b/nixpkgs/pkgs/development/libraries/poppler/0.61.nix
index 633c3d69618b..cb9cf16531c5 100644
--- a/nixpkgs/pkgs/development/libraries/poppler/0.61.nix
+++ b/nixpkgs/pkgs/development/libraries/poppler/0.61.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "0.61.0";
+  version = "0.61.1";
   mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
 in
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "0zrbb1b77k6bm2qdnra08jnbyllv6vj29790igmp6fzs59xf3kak";
+    sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj";
   };
 
   outputs = [ "out" "dev" ];
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
       url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee";
       sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2";
     })
+    ./0.61-CVE-2019-9959.patch
   ];
 
   buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
diff --git a/nixpkgs/pkgs/development/libraries/poppler/default.nix b/nixpkgs/pkgs/development/libraries/poppler/default.nix
index 28408cb91f88..eb1e9ec732ff 100644
--- a/nixpkgs/pkgs/development/libraries/poppler/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poppler/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintl
+{ stdenv, lib, fetchurl, fetchpatch, cmake, ninja, pkgconfig, libiconv, libintl
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
@@ -7,16 +7,16 @@
 , minimal ? false, suffix ? "glib"
 }:
 
-let # beware: updates often break cups-filters build
-  version = "0.74.0";
+let
   mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
+  version = "0.83.0"; # beware: updates often break cups-filters build
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "0bvb0yq9zsl2b811j4l4x0vf8g5lgmqbndkb2hvgsrr5639rzq4j";
+    sha256 = "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/portaudio/default.nix b/nixpkgs/pkgs/development/libraries/portaudio/default.nix
index 92b56467aee9..68daece490fa 100644
--- a/nixpkgs/pkgs/development/libraries/portaudio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/portaudio/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   buildInputs = [ libjack2 ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
-  configureFlags = [ "--disable-mac-universal --enable-cxx" ];
+  configureFlags = [ "--disable-mac-universal" "--enable-cxx" ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=nullability-inferred-on-nested-type -Wno-error=nullability-completeness-on-arrays";
 
diff --git a/nixpkgs/pkgs/development/libraries/precice/default.nix b/nixpkgs/pkgs/development/libraries/precice/default.nix
new file mode 100644
index 000000000000..cdce346fe792
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/precice/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, openmpi, python2, python2Packages }:
+
+stdenv.mkDerivation rec {
+  pname = "precice";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "precice";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00631zw6cpm67j35cwad04nwgfcvlxa8p660fwz30pgj2hzdx3d2";
+  };
+
+  preConfigure = ''
+    cmakeFlags="-DBUILD_SHARED_LIBS=ON -DPETSC=off"
+  '';
+
+  nativeBuildInputs = [ cmake gcc ];
+  buildInputs = [ boost eigen libxml2 openmpi python2 python2Packages.numpy ];
+  installPhase = ''
+    mkdir -p $out/lib
+    cp libprecice.so libprecice.so.1.6.1 $out/lib/
+  '';
+
+  meta = {
+    description = "preCICE stands for Precise Code Interaction Coupling Environment";
+    license = with lib.licenses; [ gpl3 ];
+    homepage = "https://www.precice.org/";
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ Scriptkiddi ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/prometheus-cpp/default.nix b/nixpkgs/pkgs/development/libraries/prometheus-cpp/default.nix
index 6f49db4d206f..624b23f4d600 100644
--- a/nixpkgs/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/nixpkgs/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 ];
@@ -28,9 +28,10 @@ stdenv.mkDerivation rec {
     "-DUSE_THIRDPARTY_LIBRARIES=OFF"
     "-DCIVETWEB_INCLUDE_DIR=${civetweb.dev}/include"
     "-DCIVETWEB_CXX_LIBRARY=${civetweb}/lib/libcivetweb${stdenv.targetPlatform.extensions.sharedLibrary}"
+    "-DBUILD_SHARED_LIBS=ON"
   ];
 
-  NIX_LDFLAGS = [ "-ldl" ];
+  NIX_LDFLAGS = "-ldl";
 
   meta = {
     description = "Prometheus Client Library for Modern C++";
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.10.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.10.nix
new file mode 100644
index 000000000000..5ecb8e67f841
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.10.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.10.1";
+  sha256 = "1kbi2i1m5c7ss02ip8h0bdzvns4dgxx30a5c0iiph8g2ns02lr33";
+}
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.11.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.11.nix
new file mode 100644
index 000000000000..7e89463aad6c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.11.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.11.1";
+  sha256 = "1mq8dp94mlp72ri27bgvc2i370r8kfig87wfai7vxjdnh3vng0y1";
+}
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
index a2f3e0e01646..e74d5c527b1d 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.9.1";
-  sha256 = "0vv85xb65dx6fa76fsnyps13kaamvwfzd8hr6ii1payr73x4zy2h";
+  version = "3.9.2";
+  sha256 = "080zxa9w1pxp5y05aiwc0c8mlqkkh98wmid4l7m99cliphsd4qnn";
 }
diff --git a/nixpkgs/pkgs/development/libraries/protolock/default.nix b/nixpkgs/pkgs/development/libraries/protolock/default.nix
new file mode 100644
index 000000000000..f1eb3ae51f32
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/protolock/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "protolock";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "nilslice";
+    repo = "protolock";
+    rev = "v${version}";
+    sha256 = "0qg26vcqdhgy91p6wiv16dq73ay0fymran3d8ylca9264zwi2vxw";
+  };
+
+  modSha256 = "1q755ipqsfpr41s5fxzmx50lwcdqc5a7akwx6mzn789w2z07x8lg";
+
+  postInstall = ''
+    rm $out/bin/plugin*
+  '';
+
+  meta = with lib; {
+    description = "Protocol Buffer companion tool. Track your .proto files and prevent changes to messages and services which impact API compatibility. https://protolock.dev";
+    homepage = "https://github.com/nilslice/protolock";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ groodt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pstreams/default.nix b/nixpkgs/pkgs/development/libraries/pstreams/default.nix
new file mode 100644
index 000000000000..a734ac1e9fdf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pstreams/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchgit
+}:
+
+stdenv.mkDerivation rec {
+  pname = "PStreams";
+  version = "1.0.1";
+
+  src = fetchgit {
+    url = https://git.code.sf.net/p/pstreams/code;
+    rev = let dot2Underscore = stdenv.lib.strings.stringAsChars (c: if c == "." then "_" else c);
+          in "RELEASE_${dot2Underscore version}";
+    sha256 = "0r8aj0nh5mkf8cvnzl8bdy4nm7i74vs83axxfimcd74kjfn0irys";
+  };
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+  dontBuild = true;
+  doCheck = true;
+
+  preInstall = "rm INSTALL";
+    # `make install` fails on case-insensitive file systems (e.g. APFS by
+    # default) because this target exists
+
+  meta = with stdenv.lib; {
+    description = "POSIX Process Control in C++";
+    longDescription = ''
+      PStreams allows you to run another program from your C++ application and
+      to transfer data between the two programs similar to shell pipelines.
+
+      In the simplest case, a PStreams class is like a C++ wrapper for the
+      POSIX.2 functions popen(3) and pclose(3), using C++ iostreams instead of
+      C's stdio library.
+    '';
+    homepage = http://pstreams.sourceforge.net/;
+    downloadPage = http://pstreams.sourceforge.net/download/;
+    maintainers = with maintainers; [ arthur ];
+    license = licenses.boost;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ptlib/default.nix b/nixpkgs/pkgs/development/libraries/ptlib/default.nix
deleted file mode 100644
index e7abedf31214..000000000000
--- a/nixpkgs/pkgs/development/libraries/ptlib/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC, gnome3
-, openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
-
-stdenv.mkDerivation rec {
-  pname = "ptlib";
-  version = "2.10.11";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs";
-  };
-
-  NIX_CFLAGS_COMPILE = "-std=gnu++98";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bison flex unixODBC openssl openldap
-                  cyrus_sasl kerberos expat SDL libdv libv4l alsaLib ];
-
-  enableParallelBuilding = true;
-
-  patches = [
-    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/bison-fix;
-      sha256 = "0vzv9kyn9s628z8wy2gva380gi1rmhxilwlg5pikl5a0wn8p46nw";
-    })
-    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3;
-      sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0";
-    })
-    (fetchpatch {
-      name = "openssl-1.1.patch";
-      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/openssl-1.1.0.patch?h=packages/ptlib&id=1dfa9f55e7e030d261228fca27dda82979ca7f30";
-      sha256 = "11hdgyyibycg0wf5ls0wk9hksa4jd434i86xqiccbyg17n4l6lc1";
-    })
-    ./ptlib-2.10.11-glibc-2.26.patch
-  ];
-
-  # fix typedef clashes with unixODBC>=2.3.5
-  postPatch = ''
-    substituteInPlace include/ptlib/unix/ptlib/contain.h \
-      --replace "typedef uintptr_t    UINT" "typedef unsigned int    UINT" \
-      --replace "typedef wchar_t                 WCHAR" "typedef unsigned short          WCHAR"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Portable Tools from OPAL VoIP";
-    maintainers = [ maintainers.raskin ];
-    homepage = "http://www.opalvoip.org/";
-    platforms = platforms.linux;
-    license = with licenses; [ beerware bsdOriginal mpl10 ];
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://ftp.gnome.org/sources/ptlib/";
-    };
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-    };
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch b/nixpkgs/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch
deleted file mode 100644
index 300c3736abf7..000000000000
--- a/nixpkgs/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/ptlib/unix/channel.cxx b/src/ptlib/unix/channel.cxx
-index 3b17dda..2dcaa18 100644
---- a/src/ptlib/unix/channel.cxx
-+++ b/src/ptlib/unix/channel.cxx
-@@ -36,7 +36,7 @@
- 
- #include <ptlib.h>
- #include <sys/ioctl.h>
--
-+#include <sys/uio.h>
- 
- #include "../common/pchannel.cxx"
- 
diff --git a/nixpkgs/pkgs/development/libraries/pybind11/default.nix b/nixpkgs/pkgs/development/libraries/pybind11/default.nix
deleted file mode 100644
index 7dfbdc4d64a0..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/pybind11/no_test_cmake_build.patch b/nixpkgs/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
deleted file mode 100644
index c5d6ecc4481e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qca2/default.nix b/nixpkgs/pkgs/development/libraries/qca2/default.nix
index 19b11a60e7b6..4894bee96092 100644
--- a/nixpkgs/pkgs/development/libraries/qca2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qca2/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, openssl_1_0_2, cmake, pkgconfig, qt, darwin }:
+{ stdenv, fetchurl, openssl, cmake, pkgconfig, qt, darwin }:
 
 stdenv.mkDerivation rec {
   pname = "qca";
-  version = "2.1.3";
+  version = "2.2.1";
 
   src = fetchurl {
-    url = "http://download.kde.org/stable/qca/${version}/src/qca-${version}.tar.xz";
-    sha256 = "0lz3n652z208daxypdcxiybl0a9fnn6ida0q7fh5f42269mdhgq0";
+    url = "http://download.kde.org/stable/qca/${version}/qca-${version}.tar.xz";
+    sha256 = "00kv1vsrc8fp556hm8s6yw3240vx3l4067q6vfxrb3gdwgcd45np";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ openssl_1_0_2 qt ]
+  buildInputs = [ openssl qt ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
index 94c69a4a14b3..3626e15cfc75 100644
--- a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/nixpkgs/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, pantheon }:
 
 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,14 +19,23 @@ 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"
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "QPlatformTheme for a better Qt application inclusion in GNOME";
     homepage = https://github.com/FedoraQt/QGnomePlatform;
diff --git a/nixpkgs/pkgs/development/libraries/qoauth/default.nix b/nixpkgs/pkgs/development/libraries/qoauth/default.nix
index 0d9ae21e87e3..83e904e53eb2 100644
--- a/nixpkgs/pkgs/development/libraries/qoauth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qoauth/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation {
   buildInputs = [ qt5.qtbase qca2-qt5 ];
   nativeBuildInputs = [ qt5.qmake ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${qca2-qt5}/include/Qca-qt5/QtCrypto" ];
-  NIX_LDFLAGS = [ "-lqca-qt5" ];
+  NIX_CFLAGS_COMPILE = "-I${qca2-qt5}/include/Qca-qt5/QtCrypto";
+  NIX_LDFLAGS = "-lqca-qt5";
 
   meta = with stdenv.lib; {
     description = "Qt library for OAuth authentication";
diff --git a/nixpkgs/pkgs/development/libraries/qpdf/default.nix b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
index 789a63bef74d..68362be596b6 100644
--- a/nixpkgs/pkgs/development/libraries/qpdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libjpeg, zlib, perl }:
 
-let version = "8.4.2";
+let version = "9.1.0";
 in
 stdenv.mkDerivation rec {
   pname = "qpdf";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1hrys6zmia8fw6f6ih3ckgsc1jr12fizdwaiy7dyd64kxxjhm8v9";
+    sha256 = "0ygd80wxcmh613n04x2kmf8wlsl0drxyd5wwdcrm1rzj0xwvpfrs";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/libraries/qrupdate/default.nix b/nixpkgs/pkgs/development/libraries/qrupdate/default.nix
index 85e45d3fad03..3e0dc99f81fc 100644
--- a/nixpkgs/pkgs/development/libraries/qrupdate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qrupdate/default.nix
@@ -28,9 +28,7 @@ stdenv.mkDerivation {
 
   buildFlags = [ "lib" "solib" ];
 
-  installTargets = if stdenv.isDarwin
-                   then ["install-staticlib" "install-shlib"]
-                   else "install";
+  installTargets = stdenv.lib.optionals stdenv.isDarwin [ "install-staticlib" "install-shlib" ];
 
   buildInputs = [ gfortran openblas ];
 
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
index 43f0e431bb15..a8be20b73b12 100644
--- a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
@@ -4,22 +4,26 @@
 , fixDarwinDylibNames
 }:
 
-# Fix Xcode 8 compilation problem
-let xcodePatch =
-  fetchurl { url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
-             sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9"; };
-in
-stdenv.mkDerivation rec {
-  pname = "qscintilla";
-  version = "2.9.4";
+let
+  # Fix Xcode 8 compilation problem
+  xcodePatch = fetchurl {
+    url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
+    sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9";
+  };
+
+  pname = "qscintilla-qt${if withQt5 then "5" else "4"}";
+  version = "2.11.2";
 
-  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${version}";
+in stdenv.mkDerivation rec {
+  inherit pname version;
 
   src = fetchurl {
-    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla_gpl-${version}.zip";
-    sha256 = "04678skipydx68zf52vznsfmll2v9aahr66g50lcqbr6xsmgr1yi";
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_gpl-${version}.tar.gz";
+    sha256 = "18glb2v07mwfz6p8qmwhzcaaczyc36x3gn9wx8ndm7q6d93xr6q2";
   };
 
+  sourceRoot = "QScintilla_gpl-${version}/Qt4Qt5";
+
   buildInputs = [ (if withQt5 then qtbase else qt4) ];
 
   propagatedBuildInputs = lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
@@ -28,24 +32,25 @@ stdenv.mkDerivation rec {
     ++ (if withQt5 then [ qmake ] else [ qmake4Hook ])
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
+  patches = (lib.optional (stdenv.isDarwin && withQt5) xcodePatch) ++
+            (lib.optional (!withQt5) ./fix-qt4-build.patch );
 
-  patches = lib.optional (stdenv.isDarwin && withQt5) [ xcodePatch ];
+  # Make sure that libqscintilla2.so is available in $out/lib since it is expected
+  # by some packages such as sqlitebrowser
+  postFixup = ''
+    ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
+  '';
 
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    cd Qt4Qt5
-    sed -i qscintilla.pro \
-      -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
-      -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
-      -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/translations," \
-    ${if withQt5 then ''
-      -e "s,\$\$\\[QT_HOST_DATA\\]/mkspecs,$out/mkspecs," \
-      -e "s,\$\$\\[QT_INSTALL_DATA\\]/mkspecs,$out/mkspecs," \
-      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share,"
-    '' else ''
-      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt,"
-    ''}
+  postPatch = ''
+    substituteInPlace qscintilla.pro \
+      --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
+      --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
+      --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
+      --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]'         $out/share${lib.optionalString (! withQt5) "/qt"}
   '';
 
   meta = with stdenv.lib; {
@@ -64,9 +69,9 @@ stdenv.mkDerivation rec {
       proportional fonts, bold and italics, multiple foreground and
       background colours and multiple fonts.
     '';
-    homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
+    homepage = https://www.riverbankcomputing.com/software/qscintilla/intro;
     license = with licenses; [ gpl2 gpl3 ]; # and commercial
-    platforms = platforms.unix;
     maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch b/nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch
new file mode 100644
index 000000000000..520a55b1ea21
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch
@@ -0,0 +1,11 @@
+diff -ur QScintilla_gpl-2.11.2/Qt4Qt5/Qsci/qsciscintillabase.h QScintilla_gpl-2.11.2-fix/Qt4Qt5/Qsci/qsciscintillabase.h
+--- Qt4Qt5/Qsci/qsciscintillabase.h	2019-06-25 14:49:27.000000000 +0200
++++ Qt4Qt5-fix/Qsci/qsciscintillabase.h	2019-10-04 10:22:26.337474261 +0200
+@@ -27,6 +27,7 @@
+ #include <QByteArray>
+ #include <QPoint>
+ #include <QTimer>
++#include <QUrl>
+ 
+ #include <Qsci/qsciglobal.h>
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qt-3/default.nix b/nixpkgs/pkgs/development/libraries/qt-3/default.nix
index 3b3f406485c7..98519ae294a4 100644
--- a/nixpkgs/pkgs/development/libraries/qt-3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-3/default.nix
@@ -5,10 +5,10 @@
 , xineramaSupport ? true, libXinerama ? null
 , cursorSupport ? true, libXcursor ? null
 , threadSupport ? true
-, mysqlSupport ? false, mysql ? null
+, 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
 }:
 
@@ -16,8 +16,8 @@ assert xftSupport -> libXft != null;
 assert xrenderSupport -> xftSupport && libXrender != null;
 assert xrandrSupport -> libXrandr != null;
 assert cursorSupport -> libXcursor != null;
-assert mysqlSupport -> mysql != null;
-assert openglSupport -> libGLU_combined != null && libXmu != null;
+assert mysqlSupport -> libmysqlclient != 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"
@@ -62,7 +62,7 @@ stdenv.mkDerivation {
   ] ++ stdenv.lib.optionals cursorSupport [
     "-L${libXcursor.out}/lib -I${libXcursor.dev}/include"
   ] ++ stdenv.lib.optionals mysqlSupport [
-    "-qt-sql-mysql" "-L${mysql.connector-c}/lib/mysql" "-I${mysql.connector-c}/include/mysql"
+    "-qt-sql-mysql" "-L${libmysqlclient}/lib/mysql" "-I${libmysqlclient}/include/mysql"
   ] ++ stdenv.lib.optionals xftSupport [
     "-L${libXft.out}/lib" "-I${libXft.dev}/include"
     "-L${libXft.freetype.out}/lib" "-I${libXft.freetype.dev}/include"
diff --git a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
index b5a10e8f11a7..25953949eb76 100644
--- a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -2,7 +2,7 @@
 , libXrender, libXinerama, libXcursor, libXv, libXext
 , libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
 , libmng, which, libGLU, openssl, dbus, cups, pkgconfig
-, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
+, libtiff, glib, icu, libmysqlclient, postgresql, sqlite, perl, coreutils, libXi
 , buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst-plugins-base
 , buildWebkit ? (stdenv.isLinux || stdenv.isDarwin)
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
@@ -93,6 +93,12 @@ stdenv.mkDerivation rec {
       #})
       ./qt4-gcc6.patch
       ./qt4-openssl-1.1.patch
+      (fetchpatch {
+        name = "gcc9-foreach.patch";
+        url = "https://salsa.debian.org/qt-kde-team/qt/qt4-x11/raw/"
+          + "0d4a3dd61ccb156dee556c214dbe91c04d44a717/debian/patches/gcc9-qforeach.patch";
+        sha256 = "0dzn6qxrgxb75rvck9kmy5gspawdn970wsjw56026dhkih8cp3pg";
+      })
     ]
     ++ lib.optional gtkStyle (substituteAll ({
         src = ./dlopen-gtkstyle.diff;
@@ -166,7 +172,7 @@ stdenv.mkDerivation rec {
     (mk (!stdenv.isFreeBSD) "opengl") "-xrender" "-xrandr" "-xinerama" "-xcursor" "-xinput" "-xfixes" "-fontconfig"
     "-qdbus" (mk (cups != null) "cups") "-glib" "-dbus-linked" "-openssl-linked"
 
-    "-${if mysql != null then "plugin" else "no"}-sql-mysql" "-system-sqlite"
+    "-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql" "-system-sqlite"
 
     "-exceptions" "-xmlpatterns"
 
@@ -192,7 +198,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ cups # Qt dlopen's libcups instead of linking to it
       postgresql sqlite libjpeg libmng libtiff icu ]
-    ++ lib.optionals (mysql != null) [ mysql.connector-c ]
+    ++ lib.optionals (libmysqlclient != null) [ libmysqlclient ]
     ++ lib.optionals gtkStyle [ gtk2 gdk-pixbuf ]
     ++ lib.optionals stdenv.isDarwin [ ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
 
@@ -200,13 +206,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE =
+  NIX_CFLAGS_COMPILE = toString (
     # with gcc7 the warnings blow the log over Hydra's limit
     [ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
     ++ lib.optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
     ++ lib.optionals (stdenv.isFreeBSD || stdenv.isDarwin)
       [ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
-    ++ lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
+    ++ lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1");
 
   NIX_LDFLAGS = lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
 
diff --git a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch
index 000e345cf132..dfd1d8b893b0 100644
--- a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch
+++ b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch
@@ -5,7 +5,7 @@
  	# Check gcc's version
  	case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
 -	    5*|4*|3.4*)
-+	    8*|7*|6*|5*|4*|3.4*)
++	    9*|8*|7*|6*|5*|4*|3.4*)
  		;;
              3.3*)
                  canBuildWebKit="no"
@@ -14,7 +14,7 @@
          COMPILER_VERSION="3.*"
          ;;
 -    5*|4.*)
-+    8*|7*|6*|5*|4.*)
++    9*|8*|7*|6*|5*|4.*)
          COMPILER_VERSION="4"
          ;;
      *)
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.11/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.11/default.nix
index 296db2eab2db..a10c50c9946b 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.11/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.11/default.nix
@@ -53,6 +53,10 @@ let
     qtbase = [
       ./qtbase.patch
       ./qtbase-fixguicmake.patch
+      (fetchpatch {
+        url = "https://code.qt.io/cgit/qt/qtbase.git/patch/?id=a52d7861edfb5956";
+        sha256 = "0as047qybh6w9xz2wd569kixwsibj3qid5nkd3l5w5v3lk80af3v";
+      })
     ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [
@@ -69,6 +73,13 @@ let
     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 ];
   };
@@ -152,9 +163,7 @@ let
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = {
-          inherit (stdenv) isDarwin;
-          qtbase_dev = self.qtbase.dev;
-          fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
+          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
         };
       } ../hooks/qmake-hook.sh;
 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.11/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.11/fetch.sh
deleted file mode 100644
index 2ab3dd71c24f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtbase.patch
deleted file mode 100644
index 7d8407f6daf8..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
deleted file mode 100644
index cfa68eb8102c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtscript.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtscript.patch
deleted file mode 100644
index 5508dec1280e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtserialport.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
deleted file mode 100644
index f25524e80bcf..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qttools.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qttools.patch
deleted file mode 100644
index 622efc35b6b6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 3e1a8762b361..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
deleted file mode 100644
index b94a4b76cbab..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.11/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.11/srcs.nix
deleted file mode 100644
index cff49b180337..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
index 7b4addd91617..8d27f3a0d4ba 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -16,7 +16,7 @@ top-level attribute to `top-level/all-packages.nix`.
 
 {
   newScope,
-  stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper,
+  stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
   bison, cups ? null, harfbuzz, libGL, perl,
   gstreamer, gst-plugins-base, gtk3, dconf,
   llvmPackages_5,
@@ -50,15 +50,36 @@ let
   };
 
   patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-    ];
+    qtbase =
+      optionals stdenv.isDarwin [
+        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+        ./qtbase.patch.d/0002-qtbase-mac.patch
+        ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
+      ]
+      ++ [
+        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+        ./qtbase.patch.d/0005-qtbase-cmake.patch
+        ./qtbase.patch.d/0006-qtbase-gtk3.patch
+        ./qtbase.patch.d/0007-qtbase-xcursor.patch
+        ./qtbase.patch.d/0008-qtbase-xcompose.patch
+        ./qtbase.patch.d/0009-qtbase-tzdir.patch
+        ./qtbase.patch.d/0010-qtbase-qtpluginpath.patch
+        ./qtbase.patch.d/0011-qtbase-assert.patch
+        ./qtbase.patch.d/0012-fix-header_module.patch
+      ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.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.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [ ./qtwebkit.patch ]
@@ -148,9 +169,7 @@ let
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = {
-          inherit (stdenv) isDarwin;
-          qtbase_dev = self.qtbase.dev;
-          fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
+          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
         };
       } ../hooks/qmake-hook.sh;
 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.12/fetch.sh
index a4d2fc82ff2d..9f99879511e6 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.3/submodules/ )
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.6/submodules/ )
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/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/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch
deleted file mode 100644
index 87ed0ddc4d4c..000000000000
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch
+++ /dev/null
@@ -1,1146 +0,0 @@
-diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/common/mac.conf qtbase-everywhere-src-5.12.3-b/mkspecs/common/mac.conf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/common/mac.conf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/common/mac.conf	2019-07-10 09:35:08.917628566 -0500
-@@ -24,7 +24,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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/create_cmake.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/create_cmake.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/create_cmake.prf	2019-07-10 09:35:08.917628566 -0500
-@@ -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()
-@@ -318,7 +293,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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.12.3-b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2019-07-10 09:35:08.917628566 -0500
-@@ -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
-@@ -272,25 +228,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()
-@@ -309,25 +253,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()
-@@ -346,11 +278,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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_post.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_post.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_post.prf	2019-07-10 09:35:08.917628566 -0500
-@@ -64,202 +64,6 @@
-     }
- }
- 
--# 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
--
- !macx-xcode {
-     generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_)
-     generate_xcode_project.target = xcodeproj
-diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_pre.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_pre.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_pre.prf	2019-07-10 09:35:08.917628566 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/sdk.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/sdk.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/sdk.prf	2019-07-10 09:35:08.917628566 -0500
-@@ -1,54 +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)
--
--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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_module.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_module.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_module.prf	2019-07-10 09:35:08.917628566 -0500
-@@ -54,7 +54,7 @@
- 
- qmldir.files = $$qmldir_file
- install_qml_files: qmldir.files += $$fq_qml_files
--qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- INSTALLS += qmldir
- 
- qmlfiles.base = $$_PRO_FILE_PWD_
-diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_plugin.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_plugin.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_plugin.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -50,7 +50,7 @@
- 
- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
- 
--target.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+target.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- INSTALLS += target
- 
- # Some final setup
-diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_app.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_app.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_app.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -30,7 +30,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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_build_paths.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_build_paths.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_build_paths.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -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
- }
-diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_common.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_common.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_common.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -34,8 +34,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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_docs.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_docs.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_docs.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_example_installs.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_example_installs.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_example_installs.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_functions.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_functions.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_functions.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_installs.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_installs.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_installs.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -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,35 +23,35 @@
- #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
-     generated_privates: \
-         private_headers.CONFIG += no_check_exist
-     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 -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_plugin.prf
---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_plugin.prf	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_plugin.prf	2019-07-10 09:35:08.918628595 -0500
-@@ -88,7 +88,7 @@
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcoreapplication.cpp
---- qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcoreapplication.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcoreapplication.cpp	2019-07-10 09:35:08.919628625 -0500
-@@ -2668,6 +2668,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));
-+            }
-+        }
-+
-         QString libPathEnv = qEnvironmentVariable("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts);
-diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcore_mac_p.h qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcore_mac_p.h
---- qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcore_mac_p.h	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcore_mac_p.h	2019-07-10 09:35:08.920628655 -0500
-@@ -212,7 +212,7 @@
- 
- // --------------------------------------------------------------------------
- 
--#if !defined(QT_BOOTSTRAPPED)
-+#if 0
- 
- QT_END_NAMESPACE
- #include <os/activity.h>
-@@ -290,7 +290,19 @@
- 
- #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
- 
--#endif // !defined(QT_BOOTSTRAPPED)
-+#else // !defined(QT_BOOTSTRAPPED)
-+
-+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
-+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
-+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
-+
-+#define QT_APPLE_LOG_ACTIVITY2(...)
-+#define QT_APPLE_LOG_ACTIVITY1(...)
-+#define QT_APPLE_LOG_ACTIVITY(...)
-+
-+#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
-+
-+#endif
- 
- // -------------------------------------------------------------------------
- 
-Only in qtbase-everywhere-src-5.12.3-b/src/corelib/kernel: qcore_mac_p.h.orig
-diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtras.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtras.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtras.cmake.in	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2019-07-10 09:35:08.918628595 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.12.3-b/src/corelib/tools/qtimezoneprivate_tz.cpp
---- qtbase-everywhere-src-5.12.3-a/src/corelib/tools/qtimezoneprivate_tz.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/corelib/tools/qtimezoneprivate_tz.cpp	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/dbus/Qt5DBusConfigExtras.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/dbus/Qt5DBusConfigExtras.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/dbus/Qt5DBusConfigExtras.cmake.in	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/gui/Qt5GuiConfigExtras.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/gui/Qt5GuiConfigExtras.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/gui/Qt5GuiConfigExtras.cmake.in	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
---- qtbase-everywhere-src-5.12.3-a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb/qxcbcursor.cpp
---- qtbase-everywhere-src-5.12.3-a/src/plugins/platforms/xcb/qxcbcursor.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb/qxcbcursor.cpp	2019-07-10 09:35:08.919628625 -0500
-@@ -317,10 +317,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) {
-Only in qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb: qxcbcursor.cpp.orig
-diff -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platformthemes/gtk3/main.cpp
---- qtbase-everywhere-src-5.12.3-a/src/plugins/platformthemes/gtk3/main.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platformthemes/gtk3/main.cpp	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/testlib/qappletestlogger.cpp qtbase-everywhere-src-5.12.3-b/src/testlib/qappletestlogger.cpp
---- qtbase-everywhere-src-5.12.3-a/src/testlib/qappletestlogger.cpp	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/testlib/qappletestlogger.cpp	2019-07-10 09:35:08.920628655 -0500
-@@ -43,7 +43,7 @@
- 
- QT_BEGIN_NAMESPACE
- 
--#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
-+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
- 
- using namespace QTestPrivate;
- 
-diff -aur qtbase-everywhere-src-5.12.3-a/src/testlib/qtestassert.h qtbase-everywhere-src-5.12.3-b/src/testlib/qtestassert.h
---- qtbase-everywhere-src-5.12.3-a/src/testlib/qtestassert.h	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/testlib/qtestassert.h	2019-07-10 09:35:08.919628625 -0500
-@@ -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 -aur qtbase-everywhere-src-5.12.3-a/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
---- qtbase-everywhere-src-5.12.3-a/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2019-04-09 04:51:26.000000000 -0500
-+++ qtbase-everywhere-src-5.12.3-b/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2019-07-10 09:35:08.919628625 -0500
-@@ -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/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
-index c40f58c987..e69de29bb2 100644
---- a/mkspecs/features/mac/sdk.mk
-+++ b/mkspecs/features/mac/sdk.mk
-@@ -1,25 +0,0 @@
--
--ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
--    CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
--    CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
--    ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
--        # We don't want to complain about out of date SDK unless the target needs to be remade.
--        # This covers use-cases such as running 'make check' after moving the build to a
--        # computer without Xcode or with a different Xcode version.
--        TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
--        ifeq ($(TARGET_UP_TO_DATE),0)
--            ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
--                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
--            else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
--                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
--            else ifneq ($(CURRENT_MAC_SDK_VERSION),)
--                $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
--            else
--                $(info Unknown error resolving current platform SDK version.)
--            endif
--            $(info This requires a fresh build. Please wipe the build directory completely,)
--            $(info including any .qmake.stash and .qmake.cache files generated by qmake.)
--            $(error ^)
--        endif
--    endif
--endif
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
new file mode 100644
index 000000000000..bb535b8a0c0e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
@@ -0,0 +1,403 @@
+From 361a9395704ca1ee170a8bb3823ba860293eecee Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:34:00 -0500
+Subject: [PATCH 01/12] qtbase-mkspecs-mac
+
+---
+ mkspecs/common/mac.conf               |   2 +-
+ mkspecs/features/mac/default_post.prf | 202 ----------------------------------
+ mkspecs/features/mac/default_pre.prf  |  58 ----------
+ mkspecs/features/mac/sdk.mk           |  25 -----
+ mkspecs/features/mac/sdk.prf          |  61 ----------
+ 5 files changed, 1 insertion(+), 347 deletions(-)
+
+diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
+index b77494ec9b..470c38e772 100644
+--- a/mkspecs/common/mac.conf
++++ b/mkspecs/common/mac.conf
+@@ -24,7 +24,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/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
+index 993f4d56a9..b80ec1e801 100644
+--- a/mkspecs/features/mac/default_post.prf
++++ b/mkspecs/features/mac/default_post.prf
+@@ -68,208 +68,6 @@ 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 {
+-    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
+-
+-    bundle_version = $$VERSION
+-    isEmpty(bundle_version): bundle_version = 1.0.0
+-
+-    l = $$split(bundle_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}
+-}
+-
+-!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
+-    # Explicit SDK version has been set, respect that
+-    QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
+-}
+-
+-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
+-
+ !macx-xcode {
+     generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS
+     generate_xcode_project.target = xcodeproj
+diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
+index e3534561a5..3b01424e67 100644
+--- a/mkspecs/features/mac/default_pre.prf
++++ b/mkspecs/features/mac/default_pre.prf
+@@ -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 --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
+index c40f58c987..e69de29bb2 100644
+--- a/mkspecs/features/mac/sdk.mk
++++ b/mkspecs/features/mac/sdk.mk
+@@ -1,25 +0,0 @@
+-
+-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
+-    CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
+-    CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
+-    ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
+-        # We don't want to complain about out of date SDK unless the target needs to be remade.
+-        # This covers use-cases such as running 'make check' after moving the build to a
+-        # computer without Xcode or with a different Xcode version.
+-        TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
+-        ifeq ($(TARGET_UP_TO_DATE),0)
+-            ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
+-            else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
+-            else ifneq ($(CURRENT_MAC_SDK_VERSION),)
+-                $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
+-            else
+-                $(info Unknown error resolving current platform SDK version.)
+-            endif
+-            $(info This requires a fresh build. Please wipe the build directory completely,)
+-            $(info including any .qmake.stash and .qmake.cache files generated by qmake.)
+-            $(error ^)
+-        endif
+-    endif
+-endif
+diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
+index 3a9c2778bb..e69de29bb2 100644
+--- a/mkspecs/features/mac/sdk.prf
++++ b/mkspecs/features/mac/sdk.prf
+@@ -1,61 +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"): \
+-        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)
+-
+-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) {
+-    QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL
+-    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)
+-}
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch
new file mode 100644
index 000000000000..9f0c66651844
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch
@@ -0,0 +1,116 @@
+From 203c9338dc92c2c36007cfe6633387348976637e Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:37:15 -0500
+Subject: [PATCH 02/12] qtbase-mac
+
+---
+ src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++--
+ src/testlib/qappletestlogger.cpp |  2 +-
+ src/testlib/qappletestlogger_p.h |  2 +-
+ src/testlib/qtestcase.cpp        |  2 +-
+ src/testlib/qtestlog.cpp         |  2 +-
+ src/testlib/qtestlog_p.h         |  2 +-
+ 6 files changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
+index f96e7358..650946b7 100644
+--- a/src/corelib/kernel/qcore_mac_p.h
++++ b/src/corelib/kernel/qcore_mac_p.h
+@@ -212,7 +212,7 @@ private:
+ 
+ // --------------------------------------------------------------------------
+ 
+-#if !defined(QT_BOOTSTRAPPED)
++#if 0
+ 
+ QT_END_NAMESPACE
+ #include <os/activity.h>
+@@ -290,7 +290,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);
+ 
+ #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
+ 
+-#endif // !defined(QT_BOOTSTRAPPED)
++#else // !defined(QT_BOOTSTRAPPED)
++
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
++
++#define QT_APPLE_LOG_ACTIVITY2(...)
++#define QT_APPLE_LOG_ACTIVITY1(...)
++#define QT_APPLE_LOG_ACTIVITY(...)
++
++#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
++
++#endif
+ 
+ // -------------------------------------------------------------------------
+ 
+diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
+index dfeadebd..2a74330c 100644
+--- a/src/testlib/qappletestlogger.cpp
++++ b/src/testlib/qappletestlogger.cpp
+@@ -43,7 +43,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ 
+ using namespace QTestPrivate;
+ 
+diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h
+index 62c6d95c..f8e0a3b7 100644
+--- a/src/testlib/qappletestlogger_p.h
++++ b/src/testlib/qappletestlogger_p.h
+@@ -57,7 +57,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ class QAppleTestLogger : public QAbstractTestLogger
+ {
+ public:
+diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
+index 0c935a1f..22f2d75d 100644
+--- a/src/testlib/qtestcase.cpp
++++ b/src/testlib/qtestcase.cpp
+@@ -850,7 +850,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml)
+ 
+     bool addFallbackLogger = !explicitLoggerRequested;
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     // Any explicitly requested loggers will be added by now, so we can check if they use stdout
+     const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout();
+     if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) {
+diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
+index 57bb7d95..33fb8162 100644
+--- a/src/testlib/qtestlog.cpp
++++ b/src/testlib/qtestlog.cpp
+@@ -460,7 +460,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
+     case QTestLog::TAP:
+         logger = new QTapTestLogger(filename);
+         break;
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     case QTestLog::Apple:
+         logger = new QAppleTestLogger;
+         break;
+diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h
+index e63e89a7..213b6945 100644
+--- a/src/testlib/qtestlog_p.h
++++ b/src/testlib/qtestlog_p.h
+@@ -68,7 +68,7 @@ class Q_TESTLIB_EXPORT QTestLog
+ public:
+     enum LogMode {
+         Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+         , Apple
+ #endif
+ #if defined(HAVE_XCTEST)
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch
new file mode 100644
index 000000000000..d5d8e70b788f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch
@@ -0,0 +1,465 @@
+From 8bdbddc2e5fef1553b1ba0297d3c03b38e9b947b Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Wed, 18 Sep 2019 05:39:39 -0500
+Subject: [PATCH 03/12] qtbase-mkspecs
+
+---
+ mkspecs/features/create_cmake.prf             | 53 ++++--------
+ .../data/cmake/Qt5BasicConfig.cmake.in        | 80 +------------------
+ mkspecs/features/qml_module.prf               |  2 +-
+ mkspecs/features/qml_plugin.prf               |  2 +-
+ mkspecs/features/qt_app.prf                   |  2 +-
+ mkspecs/features/qt_build_paths.prf           |  4 +-
+ mkspecs/features/qt_docs.prf                  | 10 +--
+ mkspecs/features/qt_example_installs.prf      |  2 +-
+ mkspecs/features/qt_functions.prf             |  2 +-
+ mkspecs/features/qt_installs.prf              | 22 ++---
+ mkspecs/features/qt_plugin.prf                |  2 +-
+ 11 files changed, 39 insertions(+), 142 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 00da9bd33f..bd166fbfea 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
+@@ -70,45 +70,20 @@ 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
+ 
+-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
+ 
+@@ -188,7 +163,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()
+@@ -333,7 +308,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 c729892889..c60ef16e64 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -3,30 +3,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+     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 @@ 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}\"
+@@ -69,11 +41,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
+@@ -89,24 +57,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}$${CMAKE_QT_STEM}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.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}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.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}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
++        \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -122,7 +79,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
+@@ -272,25 +228,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()
+@@ -309,25 +253,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()
+@@ -346,11 +278,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/qml_module.prf b/mkspecs/features/qml_module.prf
+index 57cfec78b3..5cbd7c52ef 100644
+--- a/mkspecs/features/qml_module.prf
++++ b/mkspecs/features/qml_module.prf
+@@ -51,7 +51,7 @@ builtin_resources {
+ # Install rules
+ qmldir.base = $$qmldir_path
+ qmldir.files = $$qmldir_file
+-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ INSTALLS += qmldir
+ 
+ qmlfiles.base = $$_PRO_FILE_PWD_
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index ad8ecdf5f1..804634b22e 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -50,7 +50,7 @@ load(qt_build_paths)
+ 
+ DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+ 
+-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++target.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ INSTALLS += target
+ 
+ # Some final setup
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index 8354f30eea..62028fef8e 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -30,7 +30,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 3bb3823a8e..655b7b7db8 100644
+--- a/mkspecs/features/qt_build_paths.prf
++++ b/mkspecs/features/qt_build_paths.prf
+@@ -24,6 +24,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_docs.prf b/mkspecs/features/qt_docs.prf
+index 3b74cd4dd5..6bfbbe6e2d 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 43b58817fe..e635b8f67a 100644
+--- a/mkspecs/features/qt_example_installs.prf
++++ b/mkspecs/features/qt_example_installs.prf
+@@ -88,7 +88,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 1ebca17366..b784441da0 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,35 +23,35 @@
+ #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
+     generated_privates: \
+         private_headers.CONFIG += no_check_exist
+     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 40528a65e2..903f795284 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)
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch
new file mode 100644
index 000000000000..f2cf54880d4a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch
@@ -0,0 +1,68 @@
+From 492f6555bb09f207c83387441f0f23ba4602dfff Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Wed, 18 Sep 2019 05:39:50 -0500
+Subject: [PATCH 04/12] qtbase-replace-libdir
+
+---
+ mkspecs/features/qt_common.prf | 20 ++------------------
+ mkspecs/features/qt_module.prf |  5 +----
+ 2 files changed, 3 insertions(+), 22 deletions(-)
+
+diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
+index caecb68a84..d3aa3ba570 100644
+--- a/mkspecs/features/qt_common.prf
++++ b/mkspecs/features/qt_common.prf
+@@ -30,32 +30,16 @@ contains(TEMPLATE, .*lib) {
+         rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
+     else: \
+         rplbase = $$MODULE_BASE_OUTDIR
+-    host_build {
+-        qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
+-        qt_libdir = $$[QT_HOST_LIBS]
+-    } else {
+-        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
+-        qt_libdir = $$[QT_INSTALL_LIBS]
+-    }
++    qt_libdir = $$NIX_OUTPUT_OUT/lib
+     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
+-        lib_replace0.match = $$rplbase/lib/
+-        lib_replace0.replace = $$qqt_libdir/
+-        lib_replace0.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += lib_replace0
+         lib_replace.match = "[^ ']*$$rplbase/lib"
+         lib_replace.replace =
+     } else {
+         lib_replace.match = $$rplbase/lib
+-        lib_replace.replace = $$qqt_libdir
++        lib_replace.replace = $$qt_libdir
+     }
+     lib_replace.CONFIG = path
+     QMAKE_PRL_INSTALL_REPLACE += lib_replace
+-    !equals(qt_libdir, $$rplbase/lib) {
+-        qtlibdir_replace.match = $$qt_libdir
+-        qtlibdir_replace.replace = $$qqt_libdir
+-        qtlibdir_replace.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace
+-    }
+ }
+ 
+ # The remainder of this file must not apply to host tools/libraries,
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index ee7de22059..9015b30d73 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -303,10 +303,7 @@ load(qt_targets)
+ }
+ !lib_bundle:unix {
+     CONFIG += create_libtool
+-    host_build: \
+-        QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
+-    else: \
+-        QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
++    QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib
+     !isEmpty(lib_replace0.match) {
+         ltlib_replace0.match = $$lib_replace0.match
+         ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch
new file mode 100644
index 000000000000..64a88f300d84
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch
@@ -0,0 +1,194 @@
+From 6f53835deae80b28ec5c1c9a5c0294bbcc87f91b Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:34:28 -0500
+Subject: [PATCH 05/12] qtbase-cmake
+
+---
+ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  |  2 +-
+ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in |  4 ++--
+ src/corelib/Qt5CoreConfigExtras.cmake.in             | 10 +++++-----
+ src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in    |  2 +-
+ .../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in  |  2 +-
+ src/dbus/Qt5DBusConfigExtras.cmake.in                | 12 ++----------
+ src/gui/Qt5GuiConfigExtras.cmake.in                  |  6 +++---
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in          |  2 +-
+ 8 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index c60ef16e64..e354ab9156 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -278,7 +278,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 5baf0fdb10..3583745aea 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/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index e0652fdcf9..450b2a2d28 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
+@@ -116,7 +116,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
+@@ -130,7 +130,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/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 84dbbfebd4..8ad0720c5c 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/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
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch
new file mode 100644
index 000000000000..ed1c61e76787
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch
@@ -0,0 +1,48 @@
+From 5bf1785809baf6be7fb5904ce6cefdb761f2c278 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:33 -0500
+Subject: [PATCH 06/12] qtbase-gtk3
+
+---
+ src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
+index fb1c425d8e..bb8bab9795 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;
+ }
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch
new file mode 100644
index 000000000000..2fd9e9509d63
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch
@@ -0,0 +1,29 @@
+From 35e80f303ae6a6c4c53ba8eb3d84574cc03d68d8 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:58 -0500
+Subject: [PATCH 07/12] qtbase-xcursor
+
+---
+ src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index fbadab4d50..c83ce0af5b 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -317,10 +317,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) {
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch
new file mode 100644
index 000000000000..af45be94fecb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch
@@ -0,0 +1,30 @@
+From b7c1c103ba04e76ae498f87ca9ef2c4e09e36d7e Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:36:10 -0500
+Subject: [PATCH 08/12] qtbase-xcompose
+
+---
+ .../compose/generator/qtablegenerator.cpp                    | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+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()
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch
new file mode 100644
index 000000000000..03466b69afbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch
@@ -0,0 +1,51 @@
+From db9686362ae34e02538e449e0edfe3d61065b2e9 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:36:25 -0500
+Subject: [PATCH 09/12] qtbase-tzdir
+
+---
+ src/corelib/tools/qtimezoneprivate_tz.cpp | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
+index 57bc000af5..d7d8119682 100644
+--- a/src/corelib/tools/qtimezoneprivate_tz.cpp
++++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
+@@ -77,7 +77,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");
+ 
+@@ -656,12 +660,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;
++            }
+         }
+     }
+ 
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch
new file mode 100644
index 000000000000..2c03521286a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch
@@ -0,0 +1,32 @@
+From a3aaebda6d4b302cd202c21e306c55d3715e9b0d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:36:41 -0500
+Subject: [PATCH 10/12] qtbase-qtpluginpath
+
+---
+ src/corelib/kernel/qcoreapplication.cpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
+index db6546028a..cc97c46004 100644
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2694,6 +2694,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));
++            }
++        }
++
+         QString libPathEnv = qEnvironmentVariable("QT_PLUGIN_PATH");
+         if (!libPathEnv.isEmpty()) {
+             QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts);
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch
new file mode 100644
index 000000000000..b4e0ab762298
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch
@@ -0,0 +1,32 @@
+From 4f93027de0e9b825c4b7853d583e9b02a0443c6b Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:37:04 -0500
+Subject: [PATCH 11/12] qtbase-assert
+
+---
+ src/testlib/qtestassert.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+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
+ 
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0012-fix-header_module.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0012-fix-header_module.patch
new file mode 100644
index 000000000000..1e2c68688b04
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0012-fix-header_module.patch
@@ -0,0 +1,25 @@
+From 821db0c3056a813e2d0d36fbb2c7361df5559b05 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 30 Sep 2019 20:15:40 -0500
+Subject: [PATCH 12/12] fix header_module
+
+---
+ mkspecs/features/qt_module.prf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index 9015b30d73..7347c791b4 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -84,7 +84,7 @@ header_module {
+         CONFIG  += qt_no_install_library
+ 
+     # Allow creation of .prl, .la and .pc files.
+-    target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     target.CONFIG += dummy_install
+     INSTALLS    += target
+ } else {
+-- 
+2.23.GIT
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch
new file mode 100644
index 000000000000..a43a46d8a69b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch
@@ -0,0 +1,16 @@
+diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
+index a367487e..c3aeca1d 100644
+--- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
++++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
+@@ -49,6 +49,11 @@
+ // but was only added in the 10.14 SDK, so declare it just in case.
+ extern "C" CFPropertyListRef CGColorSpaceCopyPropertyList(CGColorSpaceRef space);
+ 
++// Introduced in 10.13: http://codeworkshop.net/objc-diff/sdkdiffs/macos/10.13/IOSurface.html
++#if !defined(kIOSurfaceSuccess)
++#define kIOSurfaceSuccess KERN_SUCCESS
++#endif
++
+ QT_BEGIN_NAMESPACE
+ 
+ Q_LOGGING_CATEGORY(lcQpaIOSurface, "qt.qpa.backingstore.iosurface");
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.12/srcs.nix
index ce567c3a2bcd..b4494593fd0b 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/srcs.nix
@@ -3,323 +3,323 @@
 
 {
   qt3d = {
-    version = "5.12.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qt3d-everywhere-src-5.12.3.tar.xz";
-      sha256 = "8997f07c816bbc6dd43fc2171801178bc65e704d35039998530cfa49837eaa7d";
-      name = "qt3d-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtactiveqt-everywhere-src-5.12.3.tar.xz";
-      sha256 = "15a5fde0a069f402bea9f422d8d2c46af440d202122c6307c2a6be642d20dc0f";
-      name = "qtactiveqt-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtandroidextras-everywhere-src-5.12.3.tar.xz";
-      sha256 = "866b3fbcfc2cbebdb83b5adec4e5d0bd29b0e0b0762d66fb3fef0b400e37254f";
-      name = "qtandroidextras-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtbase-everywhere-src-5.12.3.tar.xz";
-      sha256 = "fddfd8852ef7503febeed67b876d1425160869ae2b1ae8e10b3fb0fedc5fe701";
-      name = "qtbase-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtcanvas3d-everywhere-src-5.12.3.tar.xz";
-      sha256 = "c0821f1232c6bcd00648af9a5d1eade8e0397c6bfff60621e0fcdfc75561baea";
-      name = "qtcanvas3d-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtcharts-everywhere-src-5.12.3.tar.xz";
-      sha256 = "820c94b2bf5d73e921fe99be1e3a03a6f012d96574a08e504d68db237522b3a9";
-      name = "qtcharts-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtconnectivity-everywhere-src-5.12.3.tar.xz";
-      sha256 = "01518cee71a8d53b9c2387f8c7facbcc2c4d63ab3b79462edfa06ba3bfeae661";
-      name = "qtconnectivity-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdatavis3d-everywhere-src-5.12.3.tar.xz";
-      sha256 = "f6d073c4575542f8ff6de3ac3b6e8dde6ae2d87e98119de7a13bc984aa967313";
-      name = "qtdatavis3d-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdeclarative-everywhere-src-5.12.3.tar.xz";
-      sha256 = "839881cd6996e35c351bc7d560372ebb91e61f3688957c33248c4f31ea007fa7";
-      name = "qtdeclarative-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdoc-everywhere-src-5.12.3.tar.xz";
-      sha256 = "ce5e9d0f48d108c48d742ab2127ead735270d7b525103c6cf409683d7fc8334f";
-      name = "qtdoc-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtgamepad-everywhere-src-5.12.3.tar.xz";
-      sha256 = "5d046869e9646912936e3622efa755d85ccc8eddba91f5b12880cfb5e6489642";
-      name = "qtgamepad-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtgraphicaleffects-everywhere-src-5.12.3.tar.xz";
-      sha256 = "772c98a009cc82ac290f868906c5aa719e4608ef3c5905d69ef7402b15924a73";
-      name = "qtgraphicaleffects-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtimageformats-everywhere-src-5.12.3.tar.xz";
-      sha256 = "db5a9e784f9c327c1e6830b1550311024cc91202d3b8dde82cd0944164298be2";
-      name = "qtimageformats-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtlocation-everywhere-src-5.12.3.tar.xz";
-      sha256 = "52d589be2852ada0c000b06cc411b61e521cd0797470be567fd1625bcc9d75c6";
-      name = "qtlocation-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtmacextras-everywhere-src-5.12.3.tar.xz";
-      sha256 = "38dedd29d07ea9e4e92a7ef28f9e03c06cf9a1525aee4f8084310c519f5b47ed";
-      name = "qtmacextras-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtmultimedia-everywhere-src-5.12.3.tar.xz";
-      sha256 = "a30beeb37fb284d93522e29c01fb8d12726f40e9248e80b70b1f8ab60197a301";
-      name = "qtmultimedia-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtnetworkauth-everywhere-src-5.12.3.tar.xz";
-      sha256 = "dd6bf334be29fb82adaeecb184779328b4ad33a069528b9954d9c07f2d889332";
-      name = "qtnetworkauth-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtpurchasing-everywhere-src-5.12.3.tar.xz";
-      sha256 = "a848f1e1022af38571f5ab0c4ec4b904c12fa6ef19154d44abbcaeb35156753e";
-      name = "qtpurchasing-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtquickcontrols-everywhere-src-5.12.3.tar.xz";
-      sha256 = "68ae03b35eaa44a24c3f663b842252053c9f2b00b18841fd39ff7d2150986f46";
-      name = "qtquickcontrols-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtquickcontrols2-everywhere-src-5.12.3.tar.xz";
-      sha256 = "e855e8369c3cb5a2ebcd2028a2a195ba73945fd9d5bc26134706c2fa14e99b3a";
-      name = "qtquickcontrols2-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtremoteobjects-everywhere-src-5.12.3.tar.xz";
-      sha256 = "3475a409127739930e0bf833cea5f7f605adc66ab25fac39b72ce4bf3039cc42";
-      name = "qtremoteobjects-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtscript-everywhere-src-5.12.3.tar.xz";
-      sha256 = "0f37bf032a2370bd08667aad053f5a57717ea49596c16bf6cfb32b0d6e5c1f9e";
-      name = "qtscript-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtscxml-everywhere-src-5.12.3.tar.xz";
-      sha256 = "70c4b1f8e23560cf54e69aeb3ded4078434e6f78e1b9573fbad1ddace5fc4b19";
-      name = "qtscxml-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtsensors-everywhere-src-5.12.3.tar.xz";
-      sha256 = "7f63fedf60fdf110a3fc529568c7226d7acd59cc5eaee908f4d5a969e34005fc";
-      name = "qtsensors-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtserialbus-everywhere-src-5.12.3.tar.xz";
-      sha256 = "792cd2d411d2ebd737f5d09580f8db479cd35f2f7e7cedb4412075ef20fcfe4d";
-      name = "qtserialbus-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtserialport-everywhere-src-5.12.3.tar.xz";
-      sha256 = "1faf7df4a1f9028bef1ce79330badb4e5cbbba9f717c53cafc5aea41eed1de51";
-      name = "qtserialport-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtspeech-everywhere-src-5.12.3.tar.xz";
-      sha256 = "ed211822765744553fb5abeb97058420668b18a50d985061d949a0e068ee64f5";
-      name = "qtspeech-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtsvg-everywhere-src-5.12.3.tar.xz";
-      sha256 = "f666438dbf6816b7534e539b95e3fa4405f11d7e2e2bbcde34f2db5ae0f27dc2";
-      name = "qtsvg-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qttools-everywhere-src-5.12.3.tar.xz";
-      sha256 = "c9e92d2f0d369e44bb1a60e9fa6d970f8d9893d653212305e04be5e6daec2cd8";
-      name = "qttools-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qttranslations-everywhere-src-5.12.3.tar.xz";
-      sha256 = "eefcec0a91c302548f9d948a138b8ec77d78570ce818931bd8475b1bff1205ca";
-      name = "qttranslations-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtvirtualkeyboard-everywhere-src-5.12.3.tar.xz";
-      sha256 = "7b83af4527310de4ab81146622f3a46677daabf05556d0e33a2e25ca2aa13b22";
-      name = "qtvirtualkeyboard-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwayland-everywhere-src-5.12.3.tar.xz";
-      sha256 = "f0b45ad84180730e2d5a1249eb20c6357869b4b78f45eb266c2f2b17f77d86ff";
-      name = "qtwayland-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebchannel-everywhere-src-5.12.3.tar.xz";
-      sha256 = "72d1620bcc94e14caa91ddf344c84cd1288aa9479e00b1bb3b5e51f92efe088a";
-      name = "qtwebchannel-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebengine-everywhere-src-5.12.3.tar.xz";
-      sha256 = "3ff3bac12d75aa0f3fd993bb7077fe411f7b0e6a3993af6f8b039d48e3dc4317";
-      name = "qtwebengine-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebglplugin-everywhere-src-5.12.3.tar.xz";
-      sha256 = "23da63013101e97c4e663bb4f6dbb1c7b4386679c634680d3b8d79bcc59d26b3";
-      name = "qtwebglplugin-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebsockets-everywhere-src-5.12.3.tar.xz";
-      sha256 = "258883225c5e089015c4036f31019aa8f5bb013ecd8eecd193342e606319a577";
-      name = "qtwebsockets-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebview-everywhere-src-5.12.3.tar.xz";
-      sha256 = "f904e7fd7e755527e5bc4633c6f7c144065a3ffea473bf01fffb730385a983c5";
-      name = "qtwebview-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwinextras-everywhere-src-5.12.3.tar.xz";
-      sha256 = "2b6319f7dd19fc19b028685c163a69f0a10e610d7554411d4660c1b5e42ada3b";
-      name = "qtwinextras-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtx11extras-everywhere-src-5.12.3.tar.xz";
-      sha256 = "85e3ae5177970c2d8656226d7535d0dff5764c100e55a79a59161d80754ba613";
-      name = "qtx11extras-everywhere-src-5.12.3.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.3";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtxmlpatterns-everywhere-src-5.12.3.tar.xz";
-      sha256 = "e0b98e7c92cd791a9b354d090788347db78f14c47579384fe22d0b650c1d8a61";
-      name = "qtxmlpatterns-everywhere-src-5.12.3.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/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix
deleted file mode 100644
index a872f212ff71..000000000000
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix
+++ /dev/null
@@ -1,172 +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 ]
-      ++ 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 = {
-          inherit (stdenv) isDarwin;
-          qtbase_dev = self.qtbase.dev;
-          fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.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/nixpkgs/pkgs/development/libraries/qt-5/5.9/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.9/fetch.sh
deleted file mode 100644
index 17ebe1e532df..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
deleted file mode 100644
index d5f4d7527cb4..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch
deleted file mode 100644
index f87c508a3800..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
deleted file mode 100644
index bb1bbbeb05e0..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtscript.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtscript.patch
deleted file mode 100644
index 5508dec1280e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtserialport.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
deleted file mode 100644
index f25524e80bcf..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qttools.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qttools.patch
deleted file mode 100644
index fbba439ef7a5..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
deleted file mode 100644
index cf082cddd11a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 7156c41c5ec1..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
deleted file mode 100644
index 718bda361943..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.9/srcs.nix
deleted file mode 100644
index 09b6293daebc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh b/nixpkgs/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh
new file mode 100644
index 000000000000..5acaeb824466
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh
@@ -0,0 +1,14 @@
+# Fix libtool libraries generated by qmake.
+# qmake started inserting filenames of shared objects instead of the appropriate
+# linker flags. fixQmakeLibtool searches for broken libtool libraries and
+# replaces the filenames with the linker flags that should have been there.
+fixQmakeLibtool() {
+    if [ -d "$1" ]; then
+        find "$1" -name '*.la' | while read la; do
+            sed -i "$la" \
+                -e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g'
+        done
+    fi
+}
+
+fixupOutputHooks+=('fixQmakeLibtool $prefix')
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
index eef2c7d24dfc..7f6ddb76ad57 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
@@ -1,14 +1,27 @@
+. @fix_qmake_libtool@
+
+qmakeFlags=( ${qmakeFlags-} )
+
+qmakePrePhase() {
+    qmakeFlags=( \
+        "PREFIX=$out" \
+        "NIX_OUTPUT_OUT=$out" \
+        "NIX_OUTPUT_DEV=${!outputDev}" \
+        "NIX_OUTPUT_BIN=${!outputBin}" \
+        "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \
+        "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" \
+        "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" \
+        "${qmakeFlags[@]}" \
+    )
+}
+prePhases+=" qmakePrePhase"
+
 qmakeConfigurePhase() {
     runHook preConfigure
 
-    qmake PREFIX=$out \
-          NIX_OUTPUT_OUT=$out \
-          NIX_OUTPUT_DEV=${!outputDev} \
-          NIX_OUTPUT_BIN=${!outputBin} \
-          NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?} \
-          NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?} \
-          NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \
-          $qmakeFlags
+    echo "QMAKEPATH=$QMAKEPATH"
+    echo qmake "${qmakeFlags[@]}"
+    qmake "${qmakeFlags[@]}"
 
     if ! [[ -v enableParallelBuilding ]]; then
         enableParallelBuilding=1
@@ -18,6 +31,6 @@ qmakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseQmakeConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=qmakeConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
index 436c2e1d032a..9f2a9f06f1ab 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
@@ -61,6 +61,6 @@ postPatchMkspecs() {
         fixQtBuiltinPaths "$dev/mkspecs" '*.pr?'
     fi
 }
-if [ -z "$dontPatchMkspecs" ]; then
-    postPhases="${postPhases}${postPhases:+ }postPatchMkspecs"
+if [ -z "${dontPatchMkspecs-}" ]; then
+    postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs"
 fi
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
index b09cf5f46c9c..c320a7974471 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
@@ -1 +1 @@
-qmakeFlags="$qmakeFlags${qmakeFlags:+ }QMAKE_LRELEASE=@dev@/bin/lrelease"
+qmakeFlags+=( "QMAKE_LRELEASE=@dev@/bin/lrelease" )
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/nixpkgs/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
index d2aadbd956a8..7356c8ee3560 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
+++ b/nixpkgs/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=()
 
@@ -64,16 +64,16 @@ qtOwnPathsHook() {
 
 preFixupPhases+=" qtOwnPathsHook"
 
-# Note: $qtWrapperArgs still gets defined even if $dontWrapQtApps is set.
+# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set.
 wrapQtAppsHook() {
     # skip this hook when requested
-    [ -z "$dontWrapQtApps" ] || return 0
+    [ -z "${dontWrapQtApps-}" ] || return 0
 
     # guard against running multiple times (e.g. due to propagation)
     [ -z "$wrapQtAppsHookHasRun" ] || return 0
     wrapQtAppsHookHasRun=1
 
-    local targetDirs=( "$prefix/bin" "$prefix/libexec"  )
+    local targetDirs=( "$prefix/bin" "$prefix/sbin" "$prefix/libexec"  )
     echo "wrapping Qt applications in ${targetDirs[@]}"
 
     for targetDir in "${targetDirs[@]}"
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/mkDerivation.nix b/nixpkgs/pkgs/development/libraries/qt-5/mkDerivation.nix
index 95357c096dfd..2c6333cb0204 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -12,9 +12,9 @@ let
     qmakeFlags = [ ("CONFIG+=" + (if debug then "debug" else "release")) ]
               ++ (args.qmakeFlags or []);
 
-    NIX_CFLAGS_COMPILE =
+    NIX_CFLAGS_COMPILE = toString (
       optional (!debug) "-DQT_NO_DEBUG"
-      ++ lib.toList (args.NIX_CFLAGS_COMPILE or []);
+      ++ lib.toList (args.NIX_CFLAGS_COMPILE or []));
 
     cmakeFlags =
       (args.cmakeFlags or [])
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
index e2c71a77062e..bc23d0f9cafe 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -2,7 +2,7 @@
   stdenv, lib,
   src, patches, version, qtCompatVersion,
 
-  coreutils, bison, flex, gdb, gperf, lndir, perl, pkgconfig, python2,
+  coreutils, bison, flex, gdb, gperf, lndir, perl, pkgconfig, python3,
   which,
   # darwin support
   darwin, libiconv,
@@ -14,7 +14,7 @@
   zlib,
 
   # optional dependencies
-  cups ? null, mysql ? null, postgresql ? null,
+  cups ? null, libmysqlclient ? null, postgresql ? null,
   withGtk3 ? false, dconf ? null, gtk3 ? null,
 
   # options
@@ -31,6 +31,8 @@ assert withGtk3 -> gtk3 != null;
 
 let
   compareVersion = v: builtins.compareVersions version v;
+  qmakeCacheName =
+    if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash";
 in
 
 stdenv.mkDerivation {
@@ -47,7 +49,7 @@ stdenv.mkDerivation {
 
       # Image formats
       libjpeg libpng libtiff
-      (if compareVersion "5.9.0" >= 0 then pcre2 else pcre16)
+      (if compareVersion "5.9.0" < 0 then pcre16 else pcre2)
     ]
     ++ (
       if stdenv.isDarwin
@@ -56,7 +58,7 @@ stdenv.mkDerivation {
           # TODO: move to buildInputs, this should not be propagated.
           AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL
-          darwin.libobjc libiconv MetalKit
+          darwin.libobjc libiconv MetalKit IOKit
         ]
       else
         [
@@ -73,18 +75,19 @@ stdenv.mkDerivation {
     );
 
   buildInputs =
-    lib.optionals (!stdenv.isDarwin)
+    [ python3 ]
+    ++ lib.optionals (!stdenv.isDarwin)
     (
       [ libinput ]
       ++ lib.optional withGtk3 gtk3
     )
     ++ lib.optional developerBuild gdb
     ++ lib.optional (cups != null) cups
-    ++ lib.optional (mysql != null) mysql.connector-c
+    ++ lib.optional (libmysqlclient != null) libmysqlclient
     ++ lib.optional (postgresql != null) postgresql;
 
   nativeBuildInputs =
-    [ bison flex gperf lndir perl pkgconfig python2 which ];
+    [ bison flex gperf lndir perl pkgconfig which ];
 
   propagatedNativeBuildInputs = [ lndir ];
 
@@ -98,6 +101,7 @@ stdenv.mkDerivation {
     . "$fix_qt_builtin_paths"
     . "$fix_qt_module_paths"
     . ${../hooks/move-qt-dev-tools.sh}
+    . ${../hooks/fix-qmake-libtool.sh}
   '';
 
   postPatch =
@@ -166,13 +170,17 @@ stdenv.mkDerivation {
     export LD=$CXX
     ''}
 
-    configureFlags+="\
-        -plugindir $out/$qtPluginPrefix \
-        -qmldir $out/$qtQmlPrefix \
-        -docdir $out/$qtDocPrefix"
+    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
+  '';
 
-    createQmakeCache() {
-        cat >>"$1" <<EOF
+  postConfigure = ''
+    qmakeCacheInjectNixOutputs() {
+        local cache="$1/${qmakeCacheName}"
+        echo "qmakeCacheInjectNixOutputs: $cache"
+        if ! [ -f "$cache" ]; then
+            echo >&2 "qmakeCacheInjectNixOutputs: WARNING: $cache does not exist"
+        fi
+        cat >>"$cache" <<EOF
     NIX_OUTPUT_BIN = $bin
     NIX_OUTPUT_DEV = $dev
     NIX_OUTPUT_OUT = $out
@@ -183,29 +191,21 @@ stdenv.mkDerivation {
     }
 
     find . -name '.qmake.conf' | while read conf; do
-        cache=$(dirname $conf)/.qmake.cache
-        echo "Creating \`$cache'"
-        createQmakeCache "$cache"
+        qmakeCacheInjectNixOutputs "$(dirname $conf)"
     done
-
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
   '';
 
-
-  NIX_CFLAGS_COMPILE =
-    [
-      "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
-      ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
-      ''-D${if compareVersion "5.11.0" >= 0 then "LIBRESOLV_SO" else "NIXPKGS_LIBRESOLV"}="${stdenv.cc.libc.out}/lib/libresolv"''
-      ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
-    ]
-
-    ++ lib.optional libGLSupported ''-DNIXPKGS_MESA_GL="${libGL.out}/lib/libGL"''
+  NIX_CFLAGS_COMPILE = toString ([
+    "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
+    ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
+    ''-D${if compareVersion "5.11.0" >= 0 then "LIBRESOLV_SO" else "NIXPKGS_LIBRESOLV"}="${stdenv.cc.libc.out}/lib/libresolv"''
+    ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
+  ] ++ lib.optional libGLSupported ''-DNIXPKGS_MESA_GL="${libGL.out}/lib/libGL"''
     ++ lib.optionals withGtk3 [
          ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
          ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
        ]
-    ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC";
+    ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC");
 
   prefixKey = "-prefix ";
 
@@ -214,10 +214,13 @@ stdenv.mkDerivation {
   # To prevent these failures, we need to override PostgreSQL detection.
   PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
 
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
   # TODO Remove obsolete and useless flags once the build will be totally mastered
   configureFlags =
     [
+      "-plugindir $(out)/$(qtPluginPrefix)"
+      "-qmldir $(out)/$(qtQmlPrefix)"
+      "-docdir $(out)/$(qtDocPrefix)"
+
       "-verbose"
       "-confirm-license"
       "-opensource"
@@ -285,7 +288,7 @@ stdenv.mkDerivation {
       "-L" "${openssl.out}/lib"
       "-I" "${openssl.dev}/include"
       "-system-sqlite"
-      ''-${if mysql != null then "plugin" else "no"}-sql-mysql''
+      ''-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql''
       ''-${if postgresql != null then "plugin" else "no"}-sql-psql''
 
       "-make libs"
@@ -321,11 +324,6 @@ stdenv.mkDerivation {
 
           "-libinput"
 
-          "-no-eglfs"
-          "-no-gbm"
-          "-no-kms"
-          "-no-linuxfb"
-
           ''-${lib.optionalString (cups == null) "no-"}cups''
           "-dbus-linked"
           "-glib"
@@ -349,9 +347,9 @@ stdenv.mkDerivation {
           "-L" "${cups.lib}/lib"
           "-I" "${cups.dev}/include"
         ]
-        ++ lib.optionals (mysql != null) [
-          "-L" "${mysql.out}/lib"
-          "-I" "${mysql.out}/include"
+        ++ lib.optionals (libmysqlclient != null) [
+          "-L" "${libmysqlclient}/lib"
+          "-I" "${libmysqlclient}/include"
         ]
     );
 
@@ -392,13 +390,11 @@ stdenv.mkDerivation {
       moveToOutput bin "$dev"
     ''
 
-    + (
-        # fixup .pc file (where to find 'moc' etc.)
-        ''
-          sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-              -e "/^host_bins=/ c host_bins=$dev/bin"
-        ''
-    );
+    # fixup .pc file (where to find 'moc' etc.)
+    + ''
+      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
+          -e "/^host_bins=/ c host_bins=$dev/bin"
+    '';
 
   setupHook = ../hooks/qtbase-setup-hook.sh;
 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index c96aef3f4da5..df444eee2eb5 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -103,7 +103,7 @@ EOF
       --replace 'libs = [ "sandbox" ]' 'libs = [ "/usr/lib/libsandbox.1.dylib" ]'
     '');
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
     # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit
     "-Wno-class-memaccess"
   ] ++ lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 78404ddffa87..542afdd55da0 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -50,13 +50,12 @@ qtModule {
     export qmakeFlags="$qmakeFlags CONFIG+=silent"
   '';
 
-  NIX_CFLAGS_COMPILE =
-    [
+  NIX_CFLAGS_COMPILE = [
       # with gcc7 this warning blows the log over Hydra's limit
       "-Wno-expansion-to-defined"
-      # with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
-      "-Wno-class-memaccess"
     ]
+    # with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
+    ++ optional stdenv.cc.isGNU "-Wno-class-memaccess"
     # with clang this warning blows the log over Hydra's limit
     ++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
     ++ optionals flashplayerFix
diff --git a/nixpkgs/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch b/nixpkgs/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch
new file mode 100644
index 000000000000..30d93cd7bf8b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -215,7 +215,6 @@
+     VERSION ${QTKEYCHAIN_VERSION}
+     SOVERSION ${QTKEYCHAIN_SOVERSION}
+     MACOSX_RPATH 1
+-    INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
+     INSTALL_RPATH_USE_LINK_PATH TRUE
+ )
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix b/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
index 3de84d859111..5b963255b65f 100644
--- a/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
@@ -19,17 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
   };
 
-  patches = if withQt5 then null else [ ./0001-Fixes-build-with-Qt4.patch ];
+  patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []);
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
 
   nativeBuildInputs = [ cmake ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin) [ pkgconfig ] # for finding libsecret
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ pkgconfig ] # for finding libsecret
   ;
 
-  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) [ libsecret ]
+  buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ libsecret ]
     ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ])
-    ++ stdenv.lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       CoreFoundation Security
     ])
   ;
diff --git a/nixpkgs/pkgs/development/libraries/qtpbfimageplugin/default.nix b/nixpkgs/pkgs/development/libraries/qtpbfimageplugin/default.nix
index 8ad908013bdc..5f3f8c4a66af 100644
--- a/nixpkgs/pkgs/development/libraries/qtpbfimageplugin/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtpbfimageplugin/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtpbfimageplugin";
-  version = "1.4";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "QtPBFImagePlugin";
     rev = version;
-    sha256 = "0d39i7rmhrmm2df49gd47zm37gnz3fmyr6hfc6hhzvk08jb6956r";
+    sha256 = "16qsax1p09gldbg83df77ixaz7bkxl8wm806lc55y19pwnid9m7p";
   };
 
   nativeBuildInputs = [ qmake ];
@@ -31,9 +31,9 @@ stdenv.mkDerivation rec {
       displaying raster MBTiles maps or raster XYZ online maps to also display PBF
       vector tiles without (almost) any application modifications.
     '';
-    homepage = https://github.com/tumic0/QtPBFImagePlugin;
+    homepage = "https://github.com/tumic0/QtPBFImagePlugin";
     license = licenses.lgpl3;
-    maintainers = [ maintainers.sikmir ];
+    maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
index 88330712dcd4..7c2a99804c4d 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum-qt4";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0aqlv7mj7r9vjm6pvb8pv3cyx35lgz8rjjas3k8wfdr3sqyyy25g";
+    sha256 = "1jcfv96ws6sm3kc2q8zriwqhry24qbq3zbp8gkqw75wssbv82rmc";
   };
 
   nativeBuildInputs = [ qmake4Hook ];
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index dc11cb560910..71ca8e720a41 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, qtx11extras, kwindowsystem, libX11, libXext, qttools }:
+{ stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, qtx11extras, kwindowsystem
+, libX11, libXext, qttools, wrapQtAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0aqlv7mj7r9vjm6pvb8pv3cyx35lgz8rjjas3k8wfdr3sqyyy25g";
+    sha256 = "1jcfv96ws6sm3kc2q8zriwqhry24qbq3zbp8gkqw75wssbv82rmc";
   };
 
-  nativeBuildInputs = [ qmake qttools ];
-  buildInputs = [ qtbase qtsvg qtx11extras kwindowsystem libX11 libXext  ];
+  nativeBuildInputs = [
+    qmake qttools wrapQtAppsHook
+  ];
+  buildInputs = [
+    qtbase qtsvg qtx11extras kwindowsystem libX11 libXext
+  ];
 
   sourceRoot = "source/Kvantum";
 
diff --git a/nixpkgs/pkgs/development/libraries/qtutilities/default.nix b/nixpkgs/pkgs/development/libraries/qtutilities/default.nix
index 9eb43991bd6d..b6f424ee35c9 100644
--- a/nixpkgs/pkgs/development/libraries/qtutilities/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtutilities/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtutilities";
-  version = "6.0.0";
+  version = "6.0.2";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d2x4djr8lqb4vad8g8vxvd1sgki4issxhyy5r32snh2i8pxpbp9";
+    sha256 = "1hsi6c1466m5lgh8ayhf3hj4ddy6ambraagzgvvy7g370z4mx2yw";
   };
 
   buildInputs = [ qtbase cpp-utilities ];
diff --git a/nixpkgs/pkgs/development/libraries/quesoglc/default.nix b/nixpkgs/pkgs/development/libraries/quesoglc/default.nix
index 2e47a2135657..fe24d0fcddfd 100644
--- a/nixpkgs/pkgs/development/libraries/quesoglc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/quickder/default.nix b/nixpkgs/pkgs/development/libraries/quickder/default.nix
index 14bfd40a5932..529d361f206f 100644
--- a/nixpkgs/pkgs/development/libraries/quickder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/quickder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, python2Packages, hexio
-, which, cmake, bash, arpa2cm, git, asn2quickder, pkgconfig }:
+, cmake, bash, arpa2cm, git, asn2quickder }:
 
 stdenv.mkDerivation rec {
   pname = "quickder";
@@ -12,20 +12,17 @@ stdenv.mkDerivation rec {
     repo = "quick-der";
   };
 
+  nativeBuildInputs = [ cmake ];
+
   buildInputs = with python2Packages; [
     arpa2cm
     asn1ate
-    bash
-    cmake
-    git
     hexio
     pyparsing
     python
     six
-    which
     asn1ate
     asn2quickder
-    pkgconfig
   ];
 
   postPatch = ''
@@ -39,9 +36,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DNO_TESTING=ON"
     "-DARPA2CM_TOOLCHAIN_DIR=$out/share/ARPA2CM/toolchain/"
-    "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
-    "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
-    "-DPACKAGE_NO_PACKAGE_REGISTRY=ON"
   ];
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/rabbitmq-c/default.nix b/nixpkgs/pkgs/development/libraries/rabbitmq-c/default.nix
index fe48d99b383c..487de0976bd4 100644
--- a/nixpkgs/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-c";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "alanxz";
     repo = "rabbitmq-c";
     rev = "v${version}";
-    sha256 = "1mhzxyh9pmpxjjbyy8hd34gm39sxf73r1ldk8zjfsfbs26ggrppz";
+    sha256 = "1iv7aww4pam8497s524xjxbbxypyqd01qgrb0b429y3q9x06m4sw";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
diff --git a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
new file mode 100644
index 000000000000..515fbc602d90
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file, libuv }:
+
+stdenv.mkDerivation rec {
+  pname = "raft-canonical";
+  version = "0.9.6";
+
+  src = fetchFromGitHub {
+    owner = "canonical";
+    repo = "raft";
+    rev = "v${version}";
+    sha256 = "083il7b5kw3pc7m5p9xjpb9dlvfarc51sni92mkgm9ckc32x9vpp";
+  };
+
+  nativeBuildInputs = [ autoreconfHook file pkgconfig ];
+  buildInputs = [ libuv ];
+
+  preConfigure = ''
+    substituteInPlace configure --replace /usr/bin/ " "
+  '';
+
+  doCheck = false;
+  # Due to
+  #io_uv_recv/success/first                                    [ ERROR ]
+  #Error: test/lib/dir.c:97: No such file or directory
+  #Error: child killed by signal 6 (Aborted)
+
+  outputs = [ "dev" "out" ];
+
+  meta = with stdenv.lib; {
+    description = ''
+      Fully asynchronous C implementation of the Raft consensus protocol
+    '';
+    longDescription = ''
+      The library has modular design: its core part implements only the core
+      Raft algorithm logic, in a fully platform independent way. On top of
+      that, a pluggable interface defines the I/O implementation for networking
+      (send/receive RPC messages) and disk persistence (store log entries and
+      snapshots).
+    '';
+    homepage = "https://github.com/canonical/raft";
+    license = licenses.asl20;
+    maintainers = [ maintainers.wucke13 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/randomx/default.nix b/nixpkgs/pkgs/development/libraries/randomx/default.nix
new file mode 100644
index 000000000000..9e6cdfecb954
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/randomx/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "randomX";
+  version = "1.1.7";
+
+  nativeBuildInputs = [ cmake ];
+
+  src = fetchFromGitHub {
+    owner = "tevador";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Proof of work algorithm based on random code execution";
+    homepage = https://github.com/tevador/RandomX;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/range-v3/default.nix b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
index e02b22af7565..56c5754831ef 100644
--- a/nixpkgs/pkgs/development/libraries/range-v3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "range-v3";
-  version = "0.5.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "0fzbpaa4vwlivi417zxm1d6v4lkp5c9f5bd706nn2fmw3zxjj815";
+    sha256 = "1h9h5j7pdi0afpip9ncq76h1xjhvb8bnm585q17afz2l4fydy8qj";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/ericniebler/range-v3;
     license = licenses.boost;
     platforms = platforms.all;
-    maintainers = with maintainers; [ xwvvvvwx ];
+    maintainers = with maintainers; [ primeos xwvvvvwx ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
index 165e9716a977..cb1b176ce353 100644
--- a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
@@ -2,16 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "1.0.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "1jxwsizqwckjzirh9gsvlca46z4y3i47vcifs1fh8gxb2lvdfgwb";
+    sha256 = "1arwpvva2b1m3yd618s59v38gwsi0nnm07g6yc9dapcgxrkg5n0h";
   };
 
   nativeBuildInputs = [ pkgconfig ];
+
   buildInputs = [ zlib perl python openssl ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow";
@@ -20,6 +21,8 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "librdkafka - Apache Kafka C/C++ client library";
     homepage = https://github.com/edenhill/librdkafka;
diff --git a/nixpkgs/pkgs/development/libraries/readline/6.2.nix b/nixpkgs/pkgs/development/libraries/readline/6.2.nix
index 54aa42439d97..af59e50ec5e2 100644
--- a/nixpkgs/pkgs/development/libraries/readline/6.2.nix
+++ b/nixpkgs/pkgs/development/libraries/readline/6.2.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation (rec {
 
   propagatedBuildInputs = [ncurses];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   patches =
     [ ./link-against-ncurses.patch
       ./no-arch_only.patch
diff --git a/nixpkgs/pkgs/development/libraries/readline/6.3.nix b/nixpkgs/pkgs/development/libraries/readline/6.3.nix
index 73ed823d2be5..1e5d9a0a664b 100644
--- a/nixpkgs/pkgs/development/libraries/readline/6.3.nix
+++ b/nixpkgs/pkgs/development/libraries/readline/6.3.nix
@@ -12,13 +12,11 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = [ncurses];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
-  configureFlags =
-    stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-    [ # This test requires running host code
-      "bash_cv_wcwidth_broken=no"
-    ];
+  configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+    # This test requires running host code
+    "bash_cv_wcwidth_broken=no";
 
   patches =
     [ ./link-against-ncurses.patch
diff --git a/nixpkgs/pkgs/development/libraries/readline/7.0.nix b/nixpkgs/pkgs/development/libraries/readline/7.0.nix
index 11d5c3780154..065d65449867 100644
--- a/nixpkgs/pkgs/development/libraries/readline/7.0.nix
+++ b/nixpkgs/pkgs/development/libraries/readline/7.0.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ncurses];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   upstreamPatches =
     (let
diff --git a/nixpkgs/pkgs/development/libraries/readline/8.0.nix b/nixpkgs/pkgs/development/libraries/readline/8.0.nix
index cdc36617c52d..7fbef9a986ab 100644
--- a/nixpkgs/pkgs/development/libraries/readline/8.0.nix
+++ b/nixpkgs/pkgs/development/libraries/readline/8.0.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ncurses];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   upstreamPatches =
     (let
diff --git a/nixpkgs/pkgs/development/libraries/rnnoise/default.nix b/nixpkgs/pkgs/development/libraries/rnnoise/default.nix
new file mode 100644
index 000000000000..fe6b75446b21
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rnnoise/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation (rec {
+  name = "rnnoise-${version}";
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner = "xiph";
+    repo = "rnnoise";
+    rev = "91ef401f4c3536c6de999ac609262691ec888c4c";
+    sha256 = "1h2ibg67gfcwnpvkq1rx0sngf9lk9j8pqsmsmmk5hclvrr2lp3yb";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    homepage = https://people.xiph.org/~jm/demo/rnnoise/;
+    description = "Recurrent neural network for audio noise reduction.";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.nh2 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/nixpkgs/pkgs/development/libraries/robin-map/default.nix b/nixpkgs/pkgs/development/libraries/robin-map/default.nix
index 87c855251e0f..4aba29c58305 100644
--- a/nixpkgs/pkgs/development/libraries/robin-map/default.nix
+++ b/nixpkgs/pkgs/development/libraries/robin-map/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "robin-map";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "Tessil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0blvvbr14f0drbd6dp0cs8x4ng3ppb5i72dmhk43ylg6yjgh4fhq";
+    sha256 = "0y532zg0aaqz3fpv785n2drwpnryaclr53drpqimnbf3cs0jw997";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
index 1b6b5b1b57bf..2d3d1e8d722d 100644
--- a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
@@ -1,23 +1,37 @@
-{ 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";
-  version = "6.2.2";
+  version = "6.4.6";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wz9rfj8gk6gyabh9anl67fqm5dw2z866y1a0k0j2lmcaag537r2";
+    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 "
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=deprecated-copy -Wno-error=pessimizing-move";
+
   cmakeFlags = [
     "-DPORTABLE=1"
     "-DWITH_JEMALLOC=0"
@@ -30,13 +44,18 @@ stdenv.mkDerivation rec {
     "-DWITH_ZLIB=1"
     "-DWITH_ZSTD=1"
     "-DWITH_GFLAGS=0"
-    (lib.optional
-        (stdenv.hostPlatform.system == "i686-linux"
-         || stdenv.hostPlatform.system == "x86_64-linux")
+    "-DUSE_RTTI=1"
+    "-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/nixpkgs/pkgs/development/libraries/safefile/default.nix b/nixpkgs/pkgs/development/libraries/safefile/default.nix
index b69cd56d35d0..5136bac2de05 100644
--- a/nixpkgs/pkgs/development/libraries/safefile/default.nix
+++ b/nixpkgs/pkgs/development/libraries/safefile/default.nix
@@ -8,8 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "1y0gikds2nr8jk8smhrl617njk23ymmpxyjb2j1xbj0k82xspv78";
   };
 
-  buildInputs = [];
-
   passthru = {
     updateScript = ''
       #!${runtimeShell}
diff --git a/nixpkgs/pkgs/development/libraries/schroedinger/default.nix b/nixpkgs/pkgs/development/libraries/schroedinger/default.nix
index 25126edbc0f4..1831161979d3 100644
--- a/nixpkgs/pkgs/development/libraries/schroedinger/default.nix
+++ b/nixpkgs/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";
   };
 
@@ -18,7 +15,7 @@ stdenv.mkDerivation {
 
   doCheck = (!stdenv.isDarwin);
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   patches = [
     (fetchpatch {
       url = "https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/schroedinger/files/patch-testsuite-Makefile.am.diff";
@@ -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/nixpkgs/pkgs/development/libraries/science/benchmark/papi/default.nix b/nixpkgs/pkgs/development/libraries/science/benchmark/papi/default.nix
index 35d0914e3f76..53ae70f5bf8a 100644
--- a/nixpkgs/pkgs/development/libraries/science/benchmark/papi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/benchmark/papi/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "13mngf9kl0y2wfxqvkad0smdaag7k8fvw82b4312gx62nwhc1i6r";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
 
   preConfigure = ''
     cd src
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/elastix/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/elastix/default.nix
index 5f4cbbaa5670..4cfc07c1cbaa 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/nixpkgs/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 ];
 
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
index 0b13696ad5f8..7d771414fb01 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-libcurl" ]; # optional but strongly recommended
 
-  installFlags = "prefix=$(out)";
+  installFlags = [ "prefix=$(out)" ];
 
   preCheck = ''
     patchShebangs test/
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
index e6c58b96e5c7..4291e11ed33f 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python, vtk, zlib }:
+{ stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python, vtk, zlib, tbb }:
 
 stdenv.mkDerivation rec {
   version = "2.0.0";
@@ -12,7 +12,11 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  cmakeFlags = "-DWITH_VTK=ON -DBUILD_ALL_MODULES=ON";
+  cmakeFlags = [
+    "-DWITH_VTK=ON"
+    "-DBUILD_ALL_MODULES=ON"
+    "-DWITH_TBB=ON"
+  ];
 
   doCheck = true;
 
@@ -30,7 +34,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake gtest ];
-  buildInputs = [ boost eigen python vtk zlib ];
+  buildInputs = [ boost eigen python vtk zlib tbb ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/BioMedIA/MIRTK";
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix
index 51eed36312dd..8c7da7968f5c 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/QuadProgpp/default.nix b/nixpkgs/pkgs/development/libraries/science/math/QuadProgpp/default.nix
index d43331464067..69ccbfc26b40 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/QuadProgpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/QuadProgpp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       A C++ library for Quadratic Programming which implements the
       Goldfarb-Idnani active-set dual method.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix b/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
index f08f6425655f..56a78b00cd64 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "brial";
 
   src = fetchFromGitHub {
     owner = "BRiAl";
     repo = "BRiAl";
     rev = version;
-    sha256 = "1nv56fp3brpzanxj7vwvxqdafqfsfhdgq5imr3m94psw5gdfqwja";
+    sha256 = "1mc1zjr3mxcx6bg0js5k9jx65japg7644b0aj1al75m4nwh2ygab";
   };
 
   # FIXME package boost-test and enable checks
diff --git a/nixpkgs/pkgs/development/libraries/science/math/caffe2/default.nix b/nixpkgs/pkgs/development/libraries/science/math/caffe2/default.nix
index 26ec1237601f..a5c373ecde97 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/clmagma/default.nix b/nixpkgs/pkgs/development/libraries/science/math/clmagma/default.nix
new file mode 100644
index 000000000000..b5c59a83277d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/clmagma/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, gfortran, opencl-headers, clblas, ocl-icd, mkl, intel-ocl }:
+
+with stdenv.lib;
+
+let 
+  version = "1.3.0";
+  incfile = builtins.toFile "make.inc.custom" ''
+    CC        = g++
+    FORT      = gfortran
+    
+    ARCH      = ar
+    ARCHFLAGS = cr
+    RANLIB    = ranlib
+
+    OPTS      = -fPIC -O3 -DADD_ -Wall
+    FOPTS     = -fPIC -O3 -DADD_ -Wall -x f95-cpp-input
+    F77OPTS   = -fPIC -O3 -DADD_ -Wall
+    LDOPTS    = -fPIC
+   
+    -include make.check-mkl
+    -include make.check-clblas
+    
+    # Gnu mkl is not available I guess?
+    #LIB       = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lpthread -lm -fopenmp
+    LIB        = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lm -fopenmp
+    LIB       += -lclBLAS -lOpenCL
+    
+    LIBDIR    = -L$(MKLROOT)/lib/intel64 \
+                -L$(MKLROOT)/../compiler/lib/intel64 \
+                -L$(clBLAS)/lib64
+    
+    INC       = -I$(clBLAS)/include 
+               #-I$(AMDAPP)/include
+  '';  
+in stdenv.mkDerivation {
+  name = "clmagma-${version}";
+  src = fetchurl {
+    url = "http://icl.cs.utk.edu/projectsfiles/magma/cl/clmagma-${version}.tar.gz";
+    sha256 = "1n27ny0xhwirw2ydn46pfcwy53gzia9zbam4irx44fd4d7f9ydv7";
+    name = "clmagma-${version}.tar.gz";
+  };
+
+  buildInputs = [ 
+    gfortran 
+    clblas 
+    opencl-headers 
+    ocl-icd  
+    mkl
+    intel-ocl
+  ];
+
+  enableParallelBuilding=true;
+
+  MKLROOT   = "${mkl}";
+  clBLAS    = "${clblas}";
+
+  # Otherwise build looks for it in /run/opengl-driver/etc/OpenCL/vendors, 
+  # which is not available.
+  OPENCL_VENDOR_PATH="${intel-ocl}/etc/OpenCL/vendors";
+
+  preBuild = ''  
+    # By default it tries to use GPU, and thus fails for CPUs
+    sed -i "s/CL_DEVICE_TYPE_GPU/CL_DEVICE_TYPE_DEFAULT/" interface_opencl/clmagma_runtime.cpp   
+    sed -i "s%/usr/local/clmagma%/$out%" Makefile.internal
+    cp ${incfile} make.inc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Matrix Algebra on GPU and Multicore Architectures, OpenCL port";
+    license = licenses.bsd3;
+    homepage = http://icl.cs.utk.edu/magma/index.html;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ volhovm ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
index a33e3ec20096..8cd74939959d 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -65,5 +65,12 @@ in rec {
     sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
   };
 
-  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_0;
+  cudnn_cudatoolkit_10_1 = generic rec {
+    version = "7.6.3";
+    cudatoolkit = cudatoolkit_10_1;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.3.30.tgz";
+    sha256 = "0qc9f1xpyfibwqrpqxxq2v9h6w90j0dbx564akwy44c1dls5f99m";
+  };
+
+  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_1;
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
index f0f5829ce465..5a17e807bd43 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   passthru = {
     inherit cudatoolkit;
-    majorVersion = lib.head (lib.splitString "." version);
+    majorVersion = lib.versions.major version;
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
index a93ede63a263..2bb284477e6d 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
@@ -142,26 +142,27 @@ stdenv.mkDerivation {
     numpy pkgconfig six sphinx suitesparse sympy ufl vtk zlib
     ] ++ stdenv.lib.optionals pythonBindings [ ply python numpy swig ];
   patches = [ ./unicode.patch ];
-  cmakeFlags = "-DDOLFIN_CXX_FLAGS=-std=c++11"
-    + " -DDOLFIN_AUTO_DETECT_MPI=OFF"
-    + " -DDOLFIN_ENABLE_CHOLMOD=" + (if suitesparse != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_DOCS=" + (if docs then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_GTEST=" + (if gtest != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_HDF5=" + (if hdf5 != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_MPI=" + (if mpi != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_PARMETIS=OFF"
-    + " -DDOLFIN_ENABLE_PETSC4PY=OFF"
-    + " -DDOLFIN_ENABLE_PETSC=OFF"
-    + " -DDOLFIN_ENABLE_PYTHON=" + (if pythonBindings then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_SCOTCH=OFF"
-    + " -DDOLFIN_ENABLE_SLEPC4PY=OFF"
-    + " -DDOLFIN_ENABLE_SLEPC=OFF"
-    + " -DDOLFIN_ENABLE_SPHINX=" + (if sphinx != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_TESTING=" + (if doCheck then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_TRILINOS=OFF"
-    + " -DDOLFIN_ENABLE_UMFPACK=" + (if suitesparse != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_VTK=" + (if vtk != null then "ON" else "OFF")
-    + " -DDOLFIN_ENABLE_ZLIB=" + (if zlib != null then "ON" else "OFF");
+  cmakeFlags = [ "-DDOLFIN_CXX_FLAGS=-std=c++11"
+    "-DDOLFIN_AUTO_DETECT_MPI=OFF"
+    ("-DDOLFIN_ENABLE_CHOLMOD=" + (if suitesparse != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_DOCS=" + (if docs then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_GTEST=" + (if gtest != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_HDF5=" + (if hdf5 != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_MPI=" + (if mpi != null then "ON" else "OFF"))
+    "-DDOLFIN_ENABLE_PARMETIS=OFF"
+    "-DDOLFIN_ENABLE_PETSC4PY=OFF"
+    "-DDOLFIN_ENABLE_PETSC=OFF"
+    ("-DDOLFIN_ENABLE_PYTHON=" + (if pythonBindings then "ON" else "OFF"))
+    "-DDOLFIN_ENABLE_SCOTCH=OFF"
+    "-DDOLFIN_ENABLE_SLEPC4PY=OFF"
+    "-DDOLFIN_ENABLE_SLEPC=OFF"
+    ("-DDOLFIN_ENABLE_SPHINX=" + (if sphinx != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_TESTING=" + (if doCheck then "ON" else "OFF"))
+    "-DDOLFIN_ENABLE_TRILINOS=OFF"
+    ("-DDOLFIN_ENABLE_UMFPACK=" + (if suitesparse != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_VTK=" + (if vtk != null then "ON" else "OFF"))
+    ("-DDOLFIN_ENABLE_ZLIB=" + (if zlib != null then "ON" else "OFF"))
+  ];
   checkPhase = ''
     make runtests
   '';
diff --git a/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch b/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch
index f55bbe3f24fa..5c22cf0b84e8 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch
+++ b/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch
@@ -104,10 +104,10 @@ index 84e4e88..56ca676 100644
 -	cp -rf ../include $(INSTALL_DIR)/include/Lfunction
 +	install -d $(INSTALL_DIR)/bin
 +	install -d $(INSTALL_DIR)/$(LIB_DIR)
-+	install -d $(INSTALL_DIR)/include/libLfunction
++	install -d $(INSTALL_DIR)/include/Lfunction
 +	install lcalc $(INSTALL_DIR)/bin
 +	install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
-+	install -m 644 -t $(INSTALL_DIR)/include/libLfunction ../include/*.h
++	install -m 644 -t $(INSTALL_DIR)/include/Lfunction ../include/*.h
  
  
  SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
diff --git a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
index 076376dc3c15..a7d01e22d962 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix b/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
index ef4e89aecb84..6a07ebdb862f 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
@@ -24,6 +24,10 @@ in stdenv.mkDerivation {
 
   MKLROOT = optionalString mklSupport mkl;
 
+  preConfigure = ''
+    export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
+  '';
+
   enableParallelBuilding=true;
   buildFlags = [ "magma" "magma_sparse" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix b/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
index 2dcac58bf6ca..604413c96d8a 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
@@ -1,13 +1,27 @@
-{ stdenvNoCC, fetchurl, rpmextract, undmg, darwin }:
+{ stdenvNoCC, fetchurl, rpmextract, undmg, darwin, enableStatic ? false }:
 /*
   For details on using mkl as a blas provider for python packages such as numpy,
   numexpr, scipy, etc., see the Python section of the NixPkgs manual.
 */
-stdenvNoCC.mkDerivation (rec {
-  name = "mkl-${version}";
-  version = "${date}.${rel}";
-  date = "2019.3";
-  rel = "199";
+let
+  # Release notes and download URLs are here:
+  # https://registrationcenter.intel.com/en/products/
+  version = "${year}.${spot}.${rel}";
+  year = "2019";
+
+  # Darwin is pinned to 2019.3 because the DMG does not unpack; see here for details:
+  # https://github.com/matthewbauer/undmg/issues/4
+  spot = if stdenvNoCC.isDarwin then "3" else "5";
+  rel = if stdenvNoCC.isDarwin then "199" else "281";
+
+  rpm-ver = "${year}.${spot}-${rel}-${year}.${spot}-${rel}";
+
+  # Intel openmp uses its own versioning, but shares the spot release patch.
+  openmp-ver = "19.0.${spot}-${rel}-19.0.${spot}-${rel}";
+
+in stdenvNoCC.mkDerivation {
+  pname = "mkl";
+  inherit version;
 
   src = if stdenvNoCC.isDarwin
     then
@@ -17,29 +31,58 @@ stdenvNoCC.mkDerivation (rec {
       })
     else
       (fetchurl {
-        url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15275/l_mkl_${version}.tgz";
-        sha256 = "13rb2v2872jmvzcqm4fqsvhry0j2r5cn4lqql4wpqbl1yia2pph6";
+        url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/l_mkl_${version}.tgz";
+        sha256 = "0zkk4rrq7g44acxaxhpd2053r66w169mww6917an0lxhd52fm5cr";
       });
 
   nativeBuildInputs = if stdenvNoCC.isDarwin
     then
-      [ undmg
-        darwin.cctools
-      ]
+      [ undmg darwin.cctools ]
     else
       [ rpmextract ];
 
   buildPhase = if stdenvNoCC.isDarwin then ''
-      for f in Contents/Resources/pkg/*.tgz; do
-          tar xzvf $f
-      done
+    for f in Contents/Resources/pkg/*.tgz; do
+      tar xzvf $f
+    done
   '' else ''
-    rpmextract rpm/intel-mkl-common-c-${date}-${rel}-${date}-${rel}.noarch.rpm
-    rpmextract rpm/intel-mkl-core-rt-${date}-${rel}-${date}-${rel}.x86_64.rpm
-    rpmextract rpm/intel-openmp-19.0.3-${rel}-19.0.3-${rel}.x86_64.rpm
-  '';
+    # Common stuff
+    rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm
+    rpmextract rpm/intel-mkl-common-f-${rpm-ver}.noarch.rpm
+
+    # Dynamic libraries
+    rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-gnu-f-rt-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-gnu-rt-${rpm-ver}.x86_64.rpm
 
-  installPhase = if stdenvNoCC.isDarwin then ''
+    # Intel OpenMP runtime
+    rpmextract rpm/intel-openmp-${openmp-ver}.x86_64.rpm
+  '' + (if enableStatic then ''
+    # Static libraries
+    rpmextract rpm/intel-mkl-cluster-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-gnu-${rpm-ver}.x86_64.rpm
+    rpmextract rpm/intel-mkl-gnu-f-${rpm-ver}.x86_64.rpm
+  '' else ''
+    # Take care of installing dynamic-only PkgConfig files during the installPhase
+  ''
+  );
+
+  installPhase = ''
+    for f in $(find . -name 'mkl*.pc') ; do
+      bn=$(basename $f)
+      substituteInPlace $f \
+        --replace "prefix=<INSTALLDIR>/mkl" "prefix=$out" \
+        --replace "lib/intel64_lin" "lib"
+    done
+
+    for f in $(find opt/intel -name 'mkl*iomp.pc') ; do
+      substituteInPlace $f \
+        --replace "../compiler/lib" "lib"
+    done
+  '' +
+    (if stdenvNoCC.isDarwin then ''
       mkdir -p $out/lib
 
       cp -r compilers_and_libraries_${version}/mac/mkl/include $out/
@@ -48,26 +91,37 @@ stdenvNoCC.mkDerivation (rec {
       cp -r compilers_and_libraries_${version}/mac/compiler/lib/* $out/lib/
       cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/
       cp -r compilers_and_libraries_${version}/mac/tbb/lib/* $out/lib/
+
+      mkdir -p $out/lib/pkgconfig
+      cp -r compilers_and_libraries_${version}/mac/mkl/bin/pkgconfig/* $out/lib/pkgconfig
   '' else ''
       mkdir -p $out/lib
+      cp license.txt $out/lib/
 
       cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/
 
+      mkdir -p $out/lib/pkgconfig
+  '') +
+    (if enableStatic then ''
       cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/* $out/lib/
       cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/
-      cp license.txt $out/lib/
-  '';
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/* $out/lib/pkgconfig
+    '' else ''
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/*.so* $out/lib/
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/*.so* $out/lib/
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/*dynamic*.pc $out/lib/pkgconfig
+    '');
 
   # fixDarwinDylibName fails for libmkl_cdft_core.dylib because the
   # larger updated load commands do not fit. Use install_name_tool
   # explicitly and ignore the error.
   postFixup = stdenvNoCC.lib.optionalString stdenvNoCC.isDarwin ''
-      for f in $out/lib/*.dylib; do
-          install_name_tool -id $out/lib/$(basename $f) $f || true
-      done
-      install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libmkl_intel_thread.dylib
-      install_name_tool -change @rpath/libtbb.dylib $out/lib/libtbb.dylib $out/lib/libmkl_tbb_thread.dylib
-      install_name_tool -change @rpath/libtbbmalloc.dylib $out/lib/libtbbmalloc.dylib $out/lib/libtbbmalloc_proxy.dylib
+    for f in $out/lib/*.dylib; do
+      install_name_tool -id $out/lib/$(basename $f) $f || true
+    done
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libmkl_intel_thread.dylib
+    install_name_tool -change @rpath/libtbb.dylib $out/lib/libtbb.dylib $out/lib/libmkl_tbb_thread.dylib
+    install_name_tool -change @rpath/libtbbmalloc.dylib $out/lib/libtbbmalloc.dylib $out/lib/libtbbmalloc_proxy.dylib
   '';
 
   # Per license agreement, do not modify the binary
@@ -85,12 +139,6 @@ stdenvNoCC.mkDerivation (rec {
     homepage = https://software.intel.com/en-us/mkl;
     license = licenses.issl;
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    maintainers = [ maintainers.bhipple ];
+    maintainers = with maintainers; [ bhipple ];
   };
- } // stdenvNoCC.lib.optionalAttrs stdenvNoCC.isLinux {
-  # Since on Linux binaries are unmodified, we can make them
-  # fixed-output derivations.
-	outputHashAlgo = "sha256";
-	outputHashMode = "recursive";
-	outputHash = "101krzh2mjbfx8kvxim2zphdvgg7iijhbf9xdz3ad3ncgybxbdvw";
- })
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
index f8d392691ab2..a26cf38a9d09 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
@@ -8,6 +8,7 @@
 # See https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
 , target ? null
 , enableStatic ? false
+, enableShared ? true
 }:
 
 with stdenv.lib;
@@ -60,7 +61,7 @@ let
       TARGET = setTarget "ATHLON";
       DYNAMIC_ARCH = true;
       NO_AVX512 = true;
-      USE_OPENMP = true;
+      USE_OPENMP = !stdenv.hostPlatform.isMusl;
     };
   };
 in
@@ -115,6 +116,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     perl
     which
+  ];
+
+  depsBuildBuild = [
     buildPackages.gfortran
     buildPackages.stdenv.cc
   ];
@@ -126,6 +130,7 @@ stdenv.mkDerivation rec {
     NUM_THREADS = 64;
     INTERFACE64 = blas64;
     NO_STATIC = !enableStatic;
+    NO_SHARED = !enableShared;
     CROSS = stdenv.hostPlatform != stdenv.buildPlatform;
     HOSTCC = "cc";
     # Makefile.system only checks defined status
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
index 6fc96623a33c..e4a3241c1f38 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "openlibm";
-  version = "0.6.0";
+  version = "0.7.0";
   src = fetchurl {
     url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
-    sha256 = "0a5fpm8nra5ldhjk0cqd2rx1qh32wiarkxmcqcm5xl8z7l4kjm6l";
+    sha256 = "18q6mrq4agvlpvhix2k13qcyvqqzh30vj7b329dva64035rzg68n";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch b/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch
new file mode 100644
index 000000000000..a67e137ff4af
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch
@@ -0,0 +1,5 @@
+--- a/makefiles/Makefile.python.mk
++++ b/makefiles/Makefile.python.mk
+@@ -1070 +1070 @@ $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/data: $(PYDATA_LIBS) | $(PYPI_ARCHIVE_T
+-$(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/util: $(PYUTIL_LIBS) | $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
++$(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/util: $(PYSORTED_INTERVAL_LIST_LIBS) | $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
index c6e065320a26..15aea5803bf1 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -5,15 +5,20 @@
 
 stdenv.mkDerivation rec {
   pname = "or-tools";
-  version = "v7.0";
+  version = "7.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "or-tools";
-    rev = version;
-    sha256 = "09rs2j3w4ljw9qhhnsjlvfii297njjszwvkbgj1i6kns3wnlr7cp";
+    rev = "v${version}";
+    sha256 = "0q06vxmds6nm3dpjw4y5jzr8j98qgfb9i8pbm9pfhmqigv791hwc";
   };
 
+  patches = [
+    ./build.patch # https://github.com/google/or-tools/pull/1619
+    ./protobuf.patch # Otherwise it tries to install protobuf from pypi.
+  ];
+
   # The original build system uses cmake which does things like pull
   # in dependencies through git and Makefile creation time. We
   # obviously don't want to do this so instead we provide the
@@ -64,7 +69,7 @@ stdenv.mkDerivation rec {
     description = ''
       Google's software suite for combinatorial optimization.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch b/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch
new file mode 100644
index 000000000000..b0cce40434c6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch
@@ -0,0 +1,10 @@
+--- a/makefiles/Makefile.third_party.unix.mk
++++ b/makefiles/Makefile.third_party.unix.mk
+@@ -24,1 +24,1 @@ GLOG_TAG = 0.4.0
+-PROTOBUF_TAG = 3.9.0
++PROTOBUF_TAG = 3.7.0
+--- a/makefiles/Makefile.third_party.win.mk
++++ b/makefiles/Makefile.third_party.win.mk
+@@ -40 +40 @@ GLOG_TAG = 0.4.0
+-PROTOBUF_TAG = 3.9.0
++PROTOBUF_TAG = 3.7.0
diff --git a/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix b/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
index 1cc80e78a100..6dc7e746fd35 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
@@ -22,10 +22,10 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withCplex [ "--with-cplex-incdir=${cplex}/cplex/include/ilcplex" "--with-cplex-lib=-lcplex${cplex.libSuffix}" ];
 
   NIX_LDFLAGS =
-    lib.optional withCplex "-L${cplex}/cplex/bin/${cplex.libArch}";
+    lib.optionalString withCplex "-L${cplex}/cplex/bin/${cplex.libArch}";
 
-  # Compile errors 
-  NIX_CFLAGS_COMPILE = [ "-Wno-cast-qual" ];
+  # Compile errors
+  NIX_CFLAGS_COMPILE = "-Wno-cast-qual";
   hardeningDisable = [ "format" ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix b/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix
index faa219044bd3..46709ff218a0 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "primesieve";
-  version = "7.4";
+  version = "7.5";
 
   nativeBuildInputs = [cmake];
 
   src = fetchurl {
     url = "https://github.com/kimwalisch/primesieve/archive/v${version}.tar.gz";
-    sha256 = "16930d021ai8cl3gsnn2v6l30n6mklwwqd53z51cddd3dj69x6zz";
+    sha256 = "0g60br3p8di92jx3pr2bb51xh15gg57l7qvwzwn7xf7l585hgi7v";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
index 14277c8c6318..bff0d9a85fa2 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/scalapack/openmpi4.patch b/nixpkgs/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
deleted file mode 100644
index 5d0afb58c027..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/tensorflow/bin.nix b/nixpkgs/pkgs/development/libraries/science/math/tensorflow/bin.nix
index 3db7a6f1d1e2..f9f300883a16 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/tensorflow/bin.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/tensorflow/bin.nix
@@ -1,6 +1,6 @@
 { stdenv
 , fetchurl
-, patchelf
+, addOpenGLRunpath
 , cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11
 }:
 
@@ -35,6 +35,9 @@ let
     else ''
       patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so
       patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so
+      ${optionalString cudaSupport ''
+        addOpenGLRunpath $out/lib/libtensorflow.so $out/lib/libtensorflow_framework.so
+      ''}
     '';
 
 in stdenv.mkDerivation rec {
@@ -43,6 +46,8 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl url;
 
+  nativeBuildInputs = optional cudaSupport addOpenGLRunpath;
+
   # Patch library to use our libc, libstdc++ and others
   buildCommand = ''
     mkdir -pv $out
diff --git a/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix b/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix
new file mode 100644
index 000000000000..556f77ef8b51
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix
@@ -0,0 +1,31 @@
+{ config
+, fetchFromGitHub
+, stdenv
+, lib
+, cmake
+, gperftools
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sentencepiece";
+  version = "0.1.84";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "144y25nj4rwxmgvzqbr7al9fjwh3539ssjswvzrx4gsgfk62lsm0";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake gperftools ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/google/sentencepiece;
+    description = "Unsupervised text tokenizer for Neural Network-based text generation";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/serd/default.nix b/nixpkgs/pkgs/development/libraries/serd/default.nix
index 63b6ae94a385..c390603c51da 100644
--- a/nixpkgs/pkgs/development/libraries/serd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/serd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, python, wafHook }:
+{ stdenv, fetchurl, pkgconfig, python3, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "serd";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf";
   };
 
-  nativeBuildInputs = [ pkgconfig python wafHook ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/serd;
diff --git a/nixpkgs/pkgs/development/libraries/serialdv/default.nix b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
index 11f9d3013471..178cee5e69ac 100644
--- a/nixpkgs/pkgs/development/libraries/serialdv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "serialdv";
-  version ="1.1.1";
+  version ="1.1.4";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "serialdv";
     rev = "v${version}";
-    sha256 = "0swalyp8cbs7if6gxbcl7wf83ml8ch3k7ww4hws89rzpjvf070fr";
+    sha256 = "0d88h2wjhf79nisiv96bq522hkbknzm88wsv0q9k33mzmrwnrx93";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/shhmsg/default.nix b/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
index 5f14a7bb5ee5..596ea1cfaf88 100644
--- a/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
   };
 
-  installFlags = "INSTBASEDIR=$(out)";
+  installFlags = [ "INSTBASEDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A library for displaying messages";
diff --git a/nixpkgs/pkgs/development/libraries/shhopt/default.nix b/nixpkgs/pkgs/development/libraries/shhopt/default.nix
index dbac4c859619..985ee59348b1 100644
--- a/nixpkgs/pkgs/development/libraries/shhopt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shhopt/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0yd6bl6qw675sxa81nxw6plhpjf9d2ywlm8a5z66zyjf28sl7sds";
   };
 
-  installFlags = "INSTBASEDIR=$(out)";
+  installFlags = [ "INSTBASEDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A library for parsing command line options";
diff --git a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix b/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
index 14af55c2afc1..6b1c4ca97ba6 100644
--- a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/simgear/default.nix b/nixpkgs/pkgs/development/libraries/simgear/default.nix
index 471bcb222347..bdd8dd9d9998 100644
--- a/nixpkgs/pkgs/development/libraries/simgear/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/simpleitk/default.nix b/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
index 1cf40c92db66..cbb6a4b64f17 100644
--- a/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "v${version}";
-    sha256 = "1cgq9cxxplv6bkm2zfvcc0lgyh5zw1hbry30k1429n9737wnadaw";
+    sha256 = "0dvf2407z9n6lczm0l5vzcvpw6r6z1wzrs2gk3dqjrgynq6952qr";
   };
 
   nativeBuildInputs = [ cmake git swig ];
diff --git a/nixpkgs/pkgs/development/libraries/skalibs/default.nix b/nixpkgs/pkgs/development/libraries/skalibs/default.nix
index c885f00a33c5..e5443c5d53a0 100644
--- a/nixpkgs/pkgs/development/libraries/skalibs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/skalibs/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "skalibs";
-  version = "2.8.1.0";
-  sha256 = "1fk6n402ywn4kpy6ng7sfnnqcg0mp6wq2hrv8sv3kxd0nh3na723";
+  version = "2.9.1.0";
+  sha256 = "19c6s3f7vxi96l2yqzjk9x9i4xkfg4fdzxhn1jg6bfb2qjph9cnk";
 
   description = "A set of general-purpose C programming libraries";
 
@@ -18,6 +18,9 @@ buildPackage {
     "--dynlibdir=\${lib}/lib"
     "--includedir=\${dev}/include"
     "--sysdepdir=\${lib}/lib/skalibs/sysdeps"
+    # Empty the default path, which would be "/usr/bin:bin".
+    # It would be set when PATH is empty. This hurts hermeticity.
+    "--with-default-path="
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/libraries/slang/default.nix b/nixpkgs/pkgs/development/libraries/slang/default.nix
index f868f6bd4947..d1cafbce1174 100644
--- a/nixpkgs/pkgs/development/libraries/slang/default.nix
+++ b/nixpkgs/pkgs/development/libraries/slang/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "A multi-platform programmer's library designed to allow a developer to create robust software";
     homepage = http://www.jedsoft.org/slang/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/smarty3/default.nix b/nixpkgs/pkgs/development/libraries/smarty3/default.nix
index 4876c39ce83c..b3214cc01dfc 100644
--- a/nixpkgs/pkgs/development/libraries/smarty3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/smpeg/default.nix b/nixpkgs/pkgs/development/libraries/smpeg/default.nix
index e28667883020..4d74ee7ca063 100644
--- a/nixpkgs/pkgs/development/libraries/smpeg/default.nix
+++ b/nixpkgs/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 ];
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       --prefix PKG_CONFIG_PATH ":" "${SDL.dev}/lib/pkgconfig"
   '';
 
-  NIX_LDFLAGS = [ "-lX11" ];
+  NIX_LDFLAGS = "-lX11";
 
   meta = {
     homepage = http://icculus.org/smpeg/;
diff --git a/nixpkgs/pkgs/development/libraries/snappy/default.nix b/nixpkgs/pkgs/development/libraries/snappy/default.nix
index 80c3630af29e..0ad1a4b28987 100644
--- a/nixpkgs/pkgs/development/libraries/snappy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/snappy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, static ? false }:
 
 stdenv.mkDerivation rec {
   pname = "snappy";
@@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+  ];
 
   postInstall = ''
     substituteInPlace "$out"/lib/cmake/Snappy/SnappyTargets.cmake \
@@ -29,9 +32,9 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    homepage = https://google.github.io/snappy/;
+    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/nixpkgs/pkgs/development/libraries/sonic/default.nix b/nixpkgs/pkgs/development/libraries/sonic/default.nix
index 4a744c08ae33..3e93302f3d7d 100644
--- a/nixpkgs/pkgs/development/libraries/sonic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sonic/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, fftw }:
 
 stdenv.mkDerivation {
   pname = "sonic";
-  version = "2016-03-01";
+  version = "2018-07-06";
 
   src = fetchFromGitHub {
     owner = "waywardgeek";
     repo = "sonic";
-    rev = "71bdf26c55716a45af50c667c0335a9519e952dd";
-    sha256 = "1kcl8fdf92kafmfhvyjal5gvkn99brkjyzbi9gw3rd5b30m3xz2b";
+    rev = "71c51195de71627d7443d05378c680ba756545e8";
+    sha256 = "1z9qdk3pk507hdg39v2z1hanlw2wv7mhn8br4cb8qry9z9qwi87i";
   };
 
   postPatch = ''
     sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile
   '';
 
+  buildInputs = [ fftw ];
+
   meta = with stdenv.lib; {
     description = "Simple library to speed up or slow down speech";
     homepage = https://github.com/waywardgeek/sonic;
diff --git a/nixpkgs/pkgs/development/libraries/sord/default.nix b/nixpkgs/pkgs/development/libraries/sord/default.nix
index c1c22cb910d7..2113d7bd49b4 100644
--- a/nixpkgs/pkgs/development/libraries/sord/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sord/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, python, serd, pcre, wafHook }:
+{ stdenv, fetchurl, pkgconfig, python3, serd, pcre, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "sord";
-  version = "0.16.2";
+  version = "0.16.4";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89";
+    sha256 = "1mwh4qvp9q4vgrgg5bz9sgjhxscncrylf2b06h0q55ddwzs9hndi";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ python serd pcre ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
+  buildInputs = [ serd pcre ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sord;
diff --git a/nixpkgs/pkgs/development/libraries/soxt/default.nix b/nixpkgs/pkgs/development/libraries/soxt/default.nix
index 11ba48c59716..4afb310d49ac 100644
--- a/nixpkgs/pkgs/development/libraries/soxt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/spandsp/default.nix b/nixpkgs/pkgs/development/libraries/spandsp/default.nix
index c2dc20cc3927..95827ba364ab 100644
--- a/nixpkgs/pkgs/development/libraries/spandsp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spandsp/default.nix
@@ -6,9 +6,12 @@ stdenv.mkDerivation rec {
     url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
     sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
-  buildInputs = [];
+
+  outputs = [ "out" "dev" ];
+
   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];
@@ -18,4 +21,3 @@ stdenv.mkDerivation rec {
     updateWalker = true;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/spatialite-tools/default.nix b/nixpkgs/pkgs/development/libraries/spatialite-tools/default.nix
index 2708e49eb2b6..83eef355f2db 100644
--- a/nixpkgs/pkgs/development/libraries/spatialite-tools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spatialite-tools/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_LDFLAGS = [ "-lsqlite3" ];
+  NIX_LDFLAGS = "-lsqlite3";
 
   meta = {
     description = "A complete sqlite3-compatible CLI front-end for libspatialite";
diff --git a/nixpkgs/pkgs/development/libraries/spdk/default.nix b/nixpkgs/pkgs/development/libraries/spdk/default.nix
index a18edc0a6dff..51583fdbbcd6 100644
--- a/nixpkgs/pkgs/development/libraries/spdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spdk/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libuuid, numactl, openssl }:
+{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libbsd, libuuid, numactl, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "spdk";
-  version = "19.04";
+  version = "19.10";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "10mzal1hspnh26ws5d7sc54gyjfzkf6amr0gkd7b368ng2a9z8s6";
+    sha256 = "16v2vswn3rnnj7ak5w5rsak6r8f9b85gyhyll4ac1k4xpyj488hj";
   };
 
+  patches = [ ./spdk-dpdk-meson.patch ];
+
   nativeBuildInputs = [ python ];
 
-  buildInputs = [ cunit dpdk libaio libuuid numactl openssl ];
+  buildInputs = [ cunit dpdk libaio libbsd libuuid numactl openssl ];
 
   postPatch = ''
     patchShebangs .
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-dpdk=${dpdk}" ];
 
-  NIX_CFLAGS_COMPILE = [ "-mssse3" ]; # Necessary to compile.
+  NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch b/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
new file mode 100644
index 000000000000..9cc6d89ce50e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
@@ -0,0 +1,17 @@
+1. dpdk built with meson generates rte_build_config.h rather than rte_config.h.
+2. dpdk configured with libbsd requires that dependents link with libbsd.
+
+--- a/lib/env_dpdk/env.mk
++++ b/lib/env_dpdk/env.mk
+@@ -140,6 +140,9 @@ endif
+ 
+-ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_config.h))
+-ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_config.h))
++ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_build_config.h))
++ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_build_config.h))
+ ENV_LINKER_ARGS += -lnuma
+ endif
++ifneq (,$(shell grep -e "define RTE_USE_LIBBSD 1" $(DPDK_INC_DIR)/rte_build_config.h))
++ENV_LINKER_ARGS += -lbsd
++endif
+ endif
diff --git a/nixpkgs/pkgs/development/libraries/spdlog/default.nix b/nixpkgs/pkgs/development/libraries/spdlog/default.nix
index c746925150bb..1839bb7bff16 100644
--- a/nixpkgs/pkgs/development/libraries/spdlog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spdlog/default.nix
@@ -3,7 +3,7 @@
 let
   generic = { version, sha256 }:
     stdenv.mkDerivation {
-      name = "spdlog-${version}";
+      pname = "spdlog";
       inherit version;
 
       src = fetchFromGitHub {
@@ -15,7 +15,7 @@ let
 
       nativeBuildInputs = [ cmake ];
 
-      cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLES=OFF" "-DSPDLOG_BUILD_BENCH=OFF" ];
+      cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLE=OFF" "-DSPDLOG_BUILD_BENCH=OFF" ];
 
       outputs = [ "out" "doc" ];
 
@@ -25,8 +25,8 @@ let
       '';
 
       meta = with stdenv.lib; {
-        description    = "Very fast, header only, C++ logging library.";
-        homepage       = https://github.com/gabime/spdlog;
+        description    = "Very fast, header only, C++ logging library";
+        homepage       = "https://github.com/gabime/spdlog";
         license        = licenses.mit;
         maintainers    = with maintainers; [ obadz ];
         platforms      = platforms.all;
@@ -35,8 +35,8 @@ let
 in
 {
   spdlog_1 = generic {
-    version = "1.3.1";
-    sha256 = "1rd4zmrlkcdjx0m0wpmjm1g9srj7jak6ai08qkhbn2lsn0niifzd";
+    version = "1.4.2";
+    sha256 = "1qc3rphvik44136ms0gjq2wmkl6qglri4fqxlhr2l5jwm8zhr8fc";
   };
 
   spdlog_0 = generic {
diff --git a/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix b/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
index 57c3ae40fd97..3e4d64c47ada 100644
--- a/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (rec {
     homepage = http://cmusphinx.sourceforge.net;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 } // (stdenv.lib.optionalAttrs multipleOutputs {
diff --git a/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix b/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
index 9b2c0032d4e9..86a7ab048fab 100644
--- a/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-headers";
-  version = "1.4.1";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
     rev = version;
-    sha256 = "1zfmvg3x0q9w652s8g5m5rcckzm6jiiw8rif2qck4vlsryl55akp";
+    sha256 = "1fnd8qwss6pxcch5j9qi1pdz70828zxsg4m8apgrhyj0p9lm0rbg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
index 9365ee006d14..d187187246b2 100644
--- a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
@@ -4,13 +4,13 @@ assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation rec {
   pname = "sqlcipher";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "sqlcipher";
     repo = "sqlcipher";
     rev = "v${version}";
-    sha256 = "1wpymql2ps4k2qkfa5mdifihb1n815xlz7imcd8ri1gn2qla8q8i";
+    sha256 = "0s1aiwl61nl3b4ym4v050wlbbx0iypknqsj3ar12dw5hljlzx6f8";
   };
 
   buildInputs = [ readline ncurses openssl tcl ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix b/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
index 3c5761b767ec..6de71d066ade 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
@@ -6,11 +6,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite-analyzer";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = assert version == sqlite.version; fetchurl {
     url = "https://sqlite.org/2019/sqlite-src-${archiveVersion version}.zip";
-    sha256 = "15v57b113bpgcshfsx5jw93szar3da94rr03i053xhl15la7jllh";
+    sha256 = "0d4i87q0f618pmrgax0mr5x7m8bywikrwjvixag3biyhgl5rx7fd";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/archive-version.nix b/nixpkgs/pkgs/development/libraries/sqlite/archive-version.nix
index 1f312ecef23a..75d70680fbf9 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/archive-version.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/archive-version.nix
@@ -1,9 +1,9 @@
 lib: version:
 
 with lib;
-  
+
 let
-  fragments = splitString "." version;
+  fragments = splitVersion version;
   major = head fragments;
   minor = concatMapStrings (fixedWidthNumber 2) (tail fragments);
 in
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/default.nix b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
index 9ba5da0c910c..d904637fcd38 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
@@ -10,12 +10,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite";
-  version = "3.28.0";
+  version = "3.30.1";
 
   # NB! Make sure to update analyzer.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2019/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "1hxpi45crbqp6lacl7z611lna02k956m9bsy2bjzrbb2y23546yn";
+    sha256 = "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc";
   };
 
   outputs = [ "bin" "dev" "out" ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-threadsafe" ] ++ optional interactive "--enable-readline";
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-DSQLITE_ENABLE_COLUMN_METADATA"
     "-DSQLITE_ENABLE_DBSTAT_VTAB"
     "-DSQLITE_ENABLE_JSON1"
diff --git a/nixpkgs/pkgs/development/libraries/srt/default.nix b/nixpkgs/pkgs/development/libraries/srt/default.nix
index 5edb2d92b551..953ba9484fad 100644
--- a/nixpkgs/pkgs/development/libraries/srt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/srt/default.nix
@@ -4,13 +4,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "srt";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "Haivision";
     repo = "srt";
     rev = "v${version}";
-    sha256 = "1dwz7qrkdrbmsbh66rbdx36b60r8whkz0wvf47jfckzsj37d2w22";
+    sha256 = "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl ];
 
   cmakeFlags = [
+    # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
+    # (setting it to an absolute path causes include files to go to $out/$out/include,
+    #  because the absolute path is interpreted with root at $out).
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
     # TODO Remove this when https://github.com/Haivision/srt/issues/538 is fixed and available to nixpkgs
     # Workaround for the fact that srt incorrectly disables GNUInstallDirs when LIBDIR is specified,
     # see https://github.com/NixOS/nixpkgs/pull/54463#discussion_r249878330
diff --git a/nixpkgs/pkgs/development/libraries/srtp/default.nix b/nixpkgs/pkgs/development/libraries/srtp/default.nix
index 3940faf1d6d1..129d57904d1e 100644
--- a/nixpkgs/pkgs/development/libraries/srtp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/srtp/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ pkgconfig ];
 
   # libsrtp.pc references -lcrypto -lpcap without -L
diff --git a/nixpkgs/pkgs/development/libraries/sundials/default.nix b/nixpkgs/pkgs/development/libraries/sundials/default.nix
index 4bc066df32e2..d19ecf34ab95 100644
--- a/nixpkgs/pkgs/development/libraries/sundials/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sundials/default.nix
@@ -2,24 +2,22 @@
 , cmake
 , fetchurl
 , python
-, liblapack
+, openblas
 , gfortran
 , lapackSupport ? true }:
 
-let liblapackShared = liblapack.override {
-  shared = true;
-};
+let openblas32 = openblas.override { blas64 = false; };
 
 in stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "4.1.0";
+  version = "5.0.0";
 
-  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
+  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran openblas32 ];
   nativeBuildInputs = [ cmake ];
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398";
+    sha256 = "1lvx5pddjxgyr8kqlira36kxckz7nxwc8xilzfyx0hf607n42l9l";
   };
 
   patches = [
@@ -33,8 +31,6 @@ in stdenv.mkDerivation rec {
       url = "https://github.com/LLNL/sundials/pull/20/commits/2d951bbe1ff7842fcd0dafa28c61b0aa94015f66.patch";
       sha256 = "0lcr6m4lk14yqrxah4rdscpczny5l7m1zpfsjh8bgspadfsgk512";
     })
-    # https://github.com/LLNL/sundials/pull/21
-    ./tests-parallel.patch
   ];
 
   cmakeFlags = [
@@ -42,7 +38,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optionals (lapackSupport) [
     "-DSUNDIALS_INDEX_TYPE=int32_t"
     "-DLAPACK_ENABLE=ON"
-    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
+    "-DLAPACK_LIBRARIES=${openblas32}/lib/libopenblas${stdenv.hostPlatform.extensions.sharedLibrary}"
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/sundials/tests-parallel.patch b/nixpkgs/pkgs/development/libraries/sundials/tests-parallel.patch
deleted file mode 100644
index a785a1dade9b..000000000000
--- a/nixpkgs/pkgs/development/libraries/sundials/tests-parallel.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/config/SundialsAddTest.cmake b/config/SundialsAddTest.cmake
-index e965fed..a7fb1d2 100644
---- a/config/SundialsAddTest.cmake
-+++ b/config/SundialsAddTest.cmake
-@@ -70,7 +70,7 @@ MACRO(SUNDIALS_ADD_TEST NAME EXECUTABLE)
-         "--verbose"
-         "--testname=${NAME}"
-         "--executablename=$<TARGET_FILE:${EXECUTABLE}>"
--        "--outputdir=${CMAKE_BINARY_DIR}/Testing/output"
-+        "--outputdir=${TEST_OUTPUT_DIR}"
-         )
- 
-       # do not diff the output and answer files
-diff --git a/config/SundialsTesting.cmake b/config/SundialsTesting.cmake
-index 815576a..d91801a 100644
---- a/config/SundialsTesting.cmake
-+++ b/config/SundialsTesting.cmake
-@@ -29,6 +29,13 @@ IF(SUNDIALS_DEVTESTS)
-     ENDIF()
-   ENDIF()
- 
-+  # Directory for test output
-+  SET(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Testing/output)
-+
-+  IF(NOT EXISTS ${TEST_OUTPUT_DIR})
-+    FILE(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
-+  ENDIF()
-+
-   # look for the testRunner script in the test directory
-   FIND_PROGRAM(TESTRUNNER testRunner PATHS test)
-   HIDE_VARIABLE(TESTRUNNER)
-diff --git a/test/testRunner b/test/testRunner
-index f450ec2..f1c8deb 100755
---- a/test/testRunner
-+++ b/test/testRunner
-@@ -106,7 +106,8 @@ def main():
- 
-     # create output directory if necessary
-     if not os.path.exists(outDir):
--        os.makedirs(outDir)
-+        error("Output directory does not exist, it must be created.", outDir)
-+        sys.exit(1)
-     elif not os.path.isdir(outDir):
-         error("Output directory exists but is not a directory, it must be deleted.", outDir)
-         sys.exit(1)
diff --git a/nixpkgs/pkgs/development/libraries/symengine/default.nix b/nixpkgs/pkgs/development/libraries/symengine/default.nix
index 47b93ab373a6..a41b086016b7 100644
--- a/nixpkgs/pkgs/development/libraries/symengine/default.nix
+++ b/nixpkgs/pkgs/development/libraries/symengine/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "symengine";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine";
     rev = "v${version}";
-    sha256 = "0qqxr7l5lr81k6fs2h5isr43x0dw07rwg3ivl6vd8zmmcgsp9ygd";
+    sha256 = "1zgfhqv43qcfkfdyf1p82bcfv05n6iix6yw6qx1y5bnb7dv74irw";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/t1lib/default.nix b/nixpkgs/pkgs/development/libraries/t1lib/default.nix
index b8e7518cd332..010838efab5d 100644
--- a/nixpkgs/pkgs/development/libraries/t1lib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/t1lib/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   inherit patches;
 
   buildInputs = [ libX11 libXaw ];
-  buildFlags = "without_doc";
+  buildFlags = [ "without_doc" ];
 
   postInstall = stdenv.lib.optional (!stdenv.isDarwin) "chmod +x $out/lib/*.so.*"; # ??
 
diff --git a/nixpkgs/pkgs/development/libraries/tachyon/default.nix b/nixpkgs/pkgs/development/libraries/tachyon/default.nix
index 5e0f37bbb526..d1d4ee806b80 100644
--- a/nixpkgs/pkgs/development/libraries/tachyon/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tachyon/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
          if stdenv.hostPlatform.system == "x86_64-freebsd" then "bsd"           else
          if stdenv.hostPlatform.system == "x686-freebsd"   then "bsd"           else
          throw "Don't know what arch to select for tachyon build";
-  makeFlags = arch;
+  makeFlags = [ arch ];
   patches = [
     # Remove absolute paths in Make-config (and unset variables so they can be set in preBuild)
     ./no-absolute-paths.patch
diff --git a/nixpkgs/pkgs/development/libraries/taglib/1.9.nix b/nixpkgs/pkgs/development/libraries/taglib/1.9.nix
deleted file mode 100644
index 401c2562167f..000000000000
--- a/nixpkgs/pkgs/development/libraries/taglib/1.9.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{stdenv, fetchurl, zlib, cmake}:
-
-stdenv.mkDerivation {
-  name = "taglib-1.9.1";
-
-  src = fetchurl {
-    url = https://taglib.github.io/releases/taglib-1.9.1.tar.gz;
-    sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [ zlib ];
-
-  meta = {
-    homepage = https://taglib.org/;
-    repositories.git = git://github.com/taglib/taglib.git;
-    description = "A library for reading and editing the meta-data of several popular audio formats";
-    inherit (cmake.meta) platforms;
-    license = with stdenv.lib.licenses; [ lgpl21 mpl11 ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/taglib/default.nix b/nixpkgs/pkgs/development/libraries/taglib/default.nix
index 6dcfa3068c11..c553405878f2 100644
--- a/nixpkgs/pkgs/development/libraries/taglib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/taglib/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   meta = with stdenv.lib; {
-    homepage = "http://taglib.org/";
+    homepage = "https://taglib.org/";
     repositories.git = "git://github.com/taglib/taglib.git";
     description = "A library for reading and editing audio file metadata.";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/tbb/default.nix b/nixpkgs/pkgs/development/libraries/tbb/default.nix
index 6fe4e45521ed..18f9e541acd4 100644
--- a/nixpkgs/pkgs/development/libraries/tbb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tbb/default.nix
@@ -2,19 +2,17 @@
 
 with stdenv.lib; stdenv.mkDerivation rec {
   pname = "tbb";
-  version = "2019_U8";
+  version = "2019_U9";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "tbb";
     rev = version;
-    sha256 = "0z0kh1a5g28gckcxlv3x7qqskh5fsl8knf2ypbbvk7z9ln9k3wfq";
+    sha256 = "1a39nflw7b2n51jfp3fdprnkpgzaspzww1dckfvaigflfli9s8rj";
   };
 
-  makeFlags = concatStringsSep " " (
-    optional (compiler != null) "compiler=${compiler}" ++
-    optional (stdver != null) "stdver=${stdver}"
-  );
+  makeFlags = optional (compiler != null) "compiler=${compiler}"
+    ++ optional (stdver != null) "stdver=${stdver}";
 
   patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./glibc-struct-mallinfo.patch;
 
diff --git a/nixpkgs/pkgs/development/libraries/tcllib/default.nix b/nixpkgs/pkgs/development/libraries/tcllib/default.nix
index 40e137204e26..b1add708902f 100644
--- a/nixpkgs/pkgs/development/libraries/tcllib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tcllib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcllib";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "173abxaazdmf210v651708ab6h7xhskvd52krxk6ifam337qgzh1";
+    sha256 = "0wax281h6ksz974a5qpfgf9y34lmlpd8i87lkm1w94ybbd3rgc73";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/tdb/default.nix b/nixpkgs/pkgs/development/libraries/tdb/default.nix
index 4df80140aa5d..9e90e3d3be43 100644
--- a/nixpkgs/pkgs/development/libraries/tdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tdb/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tdb-1.3.16";
+  name = "tdb-1.3.18";
 
   src = fetchurl {
     url = "mirror://samba/tdb/${name}.tar.gz";
-    sha256 = "1ibcz466xwk1x6xvzlgzd5va4lyrjzm3rnjak29kkwk7cmhw4gva";
+    sha256 = "1drnsdh1w0px35r0y7l7g59yvyr67mvcsdrli4wab0mwi07b8mn1";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/nixpkgs/pkgs/development/libraries/tdlib/default.nix b/nixpkgs/pkgs/development/libraries/tdlib/default.nix
index 716f3d313b42..96ae5c1ec9ad 100644
--- a/nixpkgs/pkgs/development/libraries/tdlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tdlib/default.nix
@@ -1,14 +1,14 @@
 { fetchFromGitHub, gperf, openssl, readline, zlib, cmake, stdenv }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.0";
+  version = "1.5.0";
   pname = "tdlib";
 
   src = fetchFromGitHub {
     owner = "tdlib";
     repo = "td";
     rev = "v${version}";
-    sha256 = "1ijyn14rjb87rqm39hg7md8ab33yiy8cgzw3p0m37scn58gabpp7";
+    sha256 = "1rqxdvzlryqln5jzj35cwz1fjwy4s8xq97p0wdnpzbfjpcalvrm5";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/nixpkgs/pkgs/development/libraries/template-glib/default.nix b/nixpkgs/pkgs/development/libraries/template-glib/default.nix
index 4314abd2548a..070953d0bbcf 100644
--- a/nixpkgs/pkgs/development/libraries/template-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/template-glib/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobject-introspection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
 let
-  version = "3.32.0";
+  version = "3.34.0";
   pname = "template-glib";
 in
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr";
+    sha256 = "1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1";
   };
 
   buildInputs = [ meson ninja pkgconfig gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 ];
diff --git a/nixpkgs/pkgs/development/libraries/tepl/default.nix b/nixpkgs/pkgs/development/libraries/tepl/default.nix
index 0ca382baeca3..997b874ac5b8 100644
--- a/nixpkgs/pkgs/development/libraries/tepl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tepl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , amtk, gnome3, gtk3, gtksourceview4, libuchardet, libxml2, pkgconfig }:
 let
-  version = "4.2.0";
+  version = "4.3.1";
   pname = "tepl";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1kcwcr72dv3xwi2ni579c9raa0cnbazfnmy6mgapzn6dir1d8fc8";
+    sha256 = "08y6vss29b65pqzv708cyqmbszgxsqqgw7g0vh6f1389ayi2lvs0";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/thrift/default.nix b/nixpkgs/pkgs/development/libraries/thrift/default.nix
index 0fce957df229..b1b66ed052fb 100644
--- a/nixpkgs/pkgs/development/libraries/thrift/default.nix
+++ b/nixpkgs/pkgs/development/libraries/thrift/default.nix
@@ -1,37 +1,45 @@
-{ stdenv, fetchurl, boost, zlib, libevent, openssl, python, pkgconfig, bison
-, flex, twisted
-}:
+{ stdenv, fetchurl, boost, zlib, libevent, openssl, python, cmake, pkgconfig
+, bison, flex, twisted, static ? false }:
 
 stdenv.mkDerivation rec {
   pname = "thrift";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchurl {
     url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0a04v7dgm1qzgii7v0sisnljhxc9xpq2vxkka60scrdp6aahjdn3";
+    sha256 = "0yai9c3bdsrkkjshgim7zk0i7malwfprg00l9774dbrkh2w4ilvs";
   };
 
-  #enableParallelBuilding = true; problems on hydra
-
   # Workaround to make the python wrapper not drop this package:
   # pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
   pythonPath = [];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    boost zlib libevent openssl python bison flex twisted
-  ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ boost zlib libevent openssl python bison flex ]
+    ++ stdenv.lib.optional (!static) twisted;
 
   preConfigure = "export PY_PREFIX=$out";
 
-  # TODO: package boost-test, so we can run the test suite. (Currently it fails
-  # to find libboost_unit_test_framework.a.)
-  configureFlags = [ "--enable-tests=no" ];
-  doCheck = false;
+  cmakeFlags = [
+    # FIXME: Fails to link in static mode with undefined reference to
+    # `boost::unit_test::unit_test_main(bool (*)(), int, char**)'
+    "-DBUILD_TESTING:BOOL=${if static then "OFF" else "ON"}"
+  ] ++ stdenv.lib.optionals static [
+    "-DWITH_STATIC_LIB:BOOL=ON"
+    "-DOPENSSL_USE_STATIC_LIBS=ON"
+  ];
+
+  doCheck = !static;
+  checkPhase = ''
+    runHook preCheck
+    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib ctest -E PythonTestSSLSocket
+    runHook postCheck
+  '';
+  enableParallelChecking = false;
 
   meta = with stdenv.lib; {
     description = "Library for scalable cross-language services";
-    homepage = http://thrift.apache.org/;
+    homepage = "http://thrift.apache.org/";
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/development/libraries/tiledb/default.nix b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
new file mode 100644
index 000000000000..395dd6952f69
--- /dev/null
+++ b/nixpkgs/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.2";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB";
+    rev = version;
+    sha256 = "00ykfc7p6n0nc97lvjnqjar95xyv8b2b77cjqczy03wh5i4gmifj";
+  };
+
+  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/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix b/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
index cc7c996f7c3a..0cc4038b64e7 100644
--- a/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
+++ b/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation {
   hardeningDisable = [ "format" ];
 
   NIX_CFLAGS_COMPILE =
-    stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9";
+    stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9";
 
   buildInputs = [ unzip ];
   buildPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/tntdb/default.nix b/nixpkgs/pkgs/development/libraries/tntdb/default.nix
index 13b4e6b97a9a..2d6ae3f18cad 100644
--- a/nixpkgs/pkgs/development/libraries/tntdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tntdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cxxtools, postgresql, mysql, sqlite, zlib, openssl }:
+{ stdenv, fetchurl, cxxtools, postgresql, libmysqlclient, sqlite, zlib, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "tntdb";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0js79dbvkic30bzw1pf26m64vs2ssw2sbj55w1dc0sy69dlv4fh9";
   };
 
-  buildInputs = [ cxxtools postgresql mysql.connector-c sqlite zlib openssl ];
+  buildInputs = [ cxxtools postgresql libmysqlclient sqlite zlib openssl ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/torch/default.nix b/nixpkgs/pkgs/development/libraries/torch/default.nix
index ff8c26062d3c..b5cb0f76e9ff 100644
--- a/nixpkgs/pkgs/development/libraries/torch/default.nix
+++ b/nixpkgs/pkgs/development/libraries/torch/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec{
     license = stdenv.lib.licenses.bsd3 ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/tpm2-tss/default.nix b/nixpkgs/pkgs/development/libraries/tpm2-tss/default.nix
index cb1052356786..6195c80e24bf 100644
--- a/nixpkgs/pkgs/development/libraries/tpm2-tss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tpm2-tss/default.nix
@@ -1,16 +1,25 @@
-{ stdenv, lib, fetchurl
+{ stdenv, lib, fetchurl, fetchpatch
 , cmocka, doxygen, ibm-sw-tpm2, iproute, openssl, perl, pkgconfig, procps
-, uthash, which }:
+, uthash, which
+}:
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tss";
-  version = "2.2.3";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1hwrka0g817a4d1177vv0z13gp66bxzxhflfxswjhcdk93kaws8k";
+    sha256 = "19jg09sxy3aj4dc1yv32jjv0m62cnmhjlw02jbh4d4pk2439m4l2";
   };
 
+  patches = [
+    # Fix test failure. see https://github.com/tpm2-software/tpm2-tss/pull/1585
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/tpm2-software/tpm2-tss/pull/1585.patch";
+      sha256 = "0ak3l588ahzv3yx1gfa4sa6p74lsffxzkr23ppznm34wvlcci86n";
+    })
+  ];
+
   nativeBuildInputs = [
     doxygen perl pkgconfig
     # For unit tests and integration tests.
diff --git a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
index 9f31e70ad531..3f171f47e79c 100644
--- a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
@@ -45,11 +45,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker-miners";
-  version = "2.2.2";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw";
+    sha256 = "1q4hlpl3nkr0y13rzkwryyajnpy5s661z8n82dw1rskrg9mf07bv";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch b/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch
index 724c51cb56f8..ce44416055c4 100644
--- a/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch
@@ -9,12 +9,3 @@
  		                         DEFAULT_RULE, NULL);
  
  		if (!g_file_test (path, G_FILE_TEST_IS_REGULAR)) {
-@@ -388,7 +388,7 @@
- 	if (!priv->ontology_location) {
- 		gchar *ontology_path;
- 
--		ontology_path = g_build_filename (SHAREDIR, "tracker", "ontologies",
-+		ontology_path = g_build_filename ("@tracker@", "share", "tracker", "ontologies",
- 		                                  priv->ontology_name, NULL);
- 
- 		if (!g_file_test (ontology_path, G_FILE_TEST_IS_DIR)) {
diff --git a/nixpkgs/pkgs/development/libraries/tracker/default.nix b/nixpkgs/pkgs/development/libraries/tracker/default.nix
index db4f620a740f..79b0b2e92031 100644
--- a/nixpkgs/pkgs/development/libraries/tracker/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker/default.nix
@@ -1,37 +1,33 @@
-{ stdenv, fetchurl, intltool, meson, ninja, pkgconfig, gobject-introspection, python3
+{ stdenv, fetchurl, gettext, meson, ninja, pkgconfig, gobject-introspection, python3
 , gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_43, glibcLocales
 , libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt, libstemmer
-, gnome3, icu, libuuid, networkmanager, libsoup, json-glib
-, substituteAll}:
+, gnome3, icu, libuuid, networkmanager, libsoup, json-glib, systemd, dbus
+, substituteAll }:
 
-let
+stdenv.mkDerivation rec {
   pname = "tracker";
-  version = "2.2.2";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "2.3.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1888vyz2l5n46ywb70fryd0qipyh3x5n6q0mk56jzbb5whk8fx5n";
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig intltool libxslt wrapGAppsHook gobject-introspection
+    meson ninja vala pkgconfig gettext libxslt wrapGAppsHook gobject-introspection
     gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_43 glibcLocales
     python3 # for data-generators
+    systemd # used for checks to install systemd user service
+    dbus # used for checks and pkgconfig to install dbus service/s
   ];
 
   buildInputs = [
     glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib libstemmer
   ];
 
-  LC_ALL = "en_US.UTF-8";
-
   mesonFlags = [
-    "-Ddbus_services=${placeholder "out"}/share/dbus-1/services"
-    "-Dsystemd_user_services=${placeholder "out"}/lib/systemd/user"
     # TODO: figure out wrapping unit tests, some of them fail on missing gsettings-desktop-schemas
     "-Dfunctional_tests=false"
     "-Ddocs=true"
diff --git a/nixpkgs/pkgs/development/libraries/tre/default.nix b/nixpkgs/pkgs/development/libraries/tre/default.nix
index 901b6aa097fd..d5ed35694c58 100644
--- a/nixpkgs/pkgs/development/libraries/tre/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/tremor/default.nix b/nixpkgs/pkgs/development/libraries/tremor/default.nix
index 291336076892..91b6d2cb1674 100644
--- a/nixpkgs/pkgs/development/libraries/tremor/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tremor/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation {
     sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   propagatedBuildInputs = [ libogg ];
 
diff --git a/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix b/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
index af2fc6c879a7..0ab115daeefb 100644
--- a/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
+++ b/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "trompeloeil";
-  version = "34";
+  version = "35";
 
   src = fetchFromGitHub {
     owner = "rollbear";
     repo = "trompeloeil";
     rev = "v${version}";
-    sha256 = "0mj3zni18kfm04jrqjaa1p6ii5q0dz6qdm3hi57z9lzygaxbdc97";
+    sha256 = "07jxvssasgmi2dk4wl6qzspx88g9cnz597flsapdzp0qd5j7xixd";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
index e257088c41fb..1c0b70f6896a 100644
--- a/nixpkgs/pkgs/development/libraries/umockdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/unibilium/default.nix b/nixpkgs/pkgs/development/libraries/unibilium/default.nix
index 73ca55cffd08..dca24c7f9ea5 100644
--- a/nixpkgs/pkgs/development/libraries/unibilium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unibilium/default.nix
@@ -1,15 +1,15 @@
 { stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl, ncurses }:
 
 stdenv.mkDerivation rec {
-  pname = "unibilium";
+  pname = "unibilium-unstable";
 
-  version = "2.0.0";
+  version = "20190811";
 
   src = fetchFromGitHub {
-    owner = "mauke";
+    owner = "neovim";
     repo = "unibilium";
-    rev = "v${version}";
-    sha256 = "1wa9a32wzqnxqh1jh554afj13dzjr6mw2wzqzw8d08nza9pg2ra2";
+    rev = "92d929fabaf94ea4feb48149bbc3bbea77c4fab0";
+    sha256 = "1l8p3fpdymba62x1f5d990v72z3m5f5g2yf505g0rlf2ysc5r1di";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
diff --git a/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix b/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
index 96f318ff0ef5..7917b6954064 100644
--- a/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   configurePhase = '' patchShebangs make.sh '';
-  buildPhase = '' ./make.sh '';
+  buildPhase = '' ./make.sh '' + stdenv.lib.optionalString stdenv.isDarwin "macos-universal-no";
   installPhase = '' env PREFIX=$out ./make.sh install '';
 
   nativeBuildInputs = [ pkgconfig python ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "Lightweight multi-platform CPU emulator library";
     homepage    = "http://www.unicorn-engine.org";
     license     = stdenv.lib.licenses.bsd3;
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
index b9aa1696d487..6cfaef5ef993 100644
--- a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, mariadb, sqlite, zlib, libxml2, dpkg, lib, kerberos, curl, libuuid, autoPatchelfHook }:
+{ 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,30 +29,42 @@
 
   mariadb = stdenv.mkDerivation rec {
     pname = "mariadb-connector-odbc";
-    version = "2.0.10";
-
-    src = fetchurl {
-      url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/src/${pname}-${version}-ga-src.tar.gz";
-      sha256 = "0b6ximy0dg0xhqbrm1l7pn8hjapgpmddi67kh54h6i9cq9hqfdvz";
+    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 mariadb.connector-c ];
+    buildInputs = [ unixODBC openssl libiconv ];
+
+    preConfigure = ''
+      # we don't want to build a .pkg
+      sed -i 's/ADD_SUBDIRECTORY(osxinstall)//g' CMakeLists.txt
+    '';
 
     cmakeFlags = [
-      "-DMARIADB_INCLUDE_DIR=${mariadb.connector-c}/include/mariadb"
+      "-DWITH_OPENSSL=ON"
+      # 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;
     };
   };
 
@@ -88,16 +100,16 @@
   sqlite = stdenv.mkDerivation rec {
     pname = "sqlite-connector-odbc";
     version = "0.9993";
- 
+
     src = fetchurl {
       url = "http://www.ch-werner.de/sqliteodbc/sqliteodbc-${version}.tar.gz";
       sha256 = "0dgsj28sc7f7aprmdd0n5a1rmcx6pv7170c8dfjl0x1qsjxim6hs";
     };
- 
+
     buildInputs = [ unixODBC sqlite zlib libxml2 ];
- 
+
     configureFlags = [ "--with-odbc=${unixODBC}" ];
- 
+
     installTargets = [ "install-3" ];
 
     # move libraries to $out/lib where they're expected to be
@@ -105,7 +117,7 @@
       mkdir -p "$out/lib"
       mv "$out"/*.* "$out/lib"
     '';
- 
+
     passthru = {
       fancyName = "SQLite";
       driver = "lib/libsqlite3odbc.so";
@@ -133,8 +145,7 @@
       sha256 = "0jb16irr7qlgd2zshg0vyia7zqipd0pcvwfcr6z807pss1mnzj8w";
     };
 
-    nativeBuildInputs = [ autoPatchelfHook ];
-    buildInputs = [ unixODBC dpkg kerberos libuuid stdenv.cc.cc ];
+    nativeBuildInputs = [ dpkg patchelf ];
 
     unpackPhase = "dpkg -x $src ./";
     buildPhase = "";
@@ -145,6 +156,11 @@
       cp -r opt/microsoft/msodbcsql${versionMajor}/lib64 opt/microsoft/msodbcsql${versionMajor}/share $out/
     '';
 
+    postFixup = ''
+      patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl.out kerberos libuuid stdenv.cc.cc ]} \
+        $out/lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional}
+    '';
+
     passthru = {
       fancyName = "ODBC Driver 17 for SQL Server";
       driver = "lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional}";
diff --git a/nixpkgs/pkgs/development/libraries/uri/default.nix b/nixpkgs/pkgs/development/libraries/uri/default.nix
index 61246748ac73..5e5f4c9e8ca6 100644
--- a/nixpkgs/pkgs/development/libraries/uri/default.nix
+++ b/nixpkgs/pkgs/development/libraries/uri/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "148361pixrm94q6v04k13s1msa04bx9yc3djb0lxpa7dlw19vhcd";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=parentheses" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=parentheses";
 
   nativeBuildInputs = [ cmake doxygen ];
 
diff --git a/nixpkgs/pkgs/development/libraries/usbredir/default.nix b/nixpkgs/pkgs/development/libraries/usbredir/default.nix
index 2eee80a76969..8e43135196c9 100644
--- a/nixpkgs/pkgs/development/libraries/usbredir/default.nix
+++ b/nixpkgs/pkgs/development/libraries/usbredir/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libusb ];
diff --git a/nixpkgs/pkgs/development/libraries/utmps/default.nix b/nixpkgs/pkgs/development/libraries/utmps/default.nix
index 16d4a8fa40b5..073674f8571f 100644
--- a/nixpkgs/pkgs/development/libraries/utmps/default.nix
+++ b/nixpkgs/pkgs/development/libraries/utmps/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "utmps";
-  version = "0.0.2.1";
-  sha256 = "1q90mcn50irhhrzl3h9bvhsn7hac0zgg67b6hfhmc5yvh4c8wnr4";
+  version = "0.0.3.1";
+  sha256 = "1h4hgjdrai51qkalgcx2ff60drpnw0ich66z90p8wk74am0vgc0h";
 
   description = "A secure utmpx and wtmp implementation";
 
diff --git a/nixpkgs/pkgs/development/libraries/v8/3.14.nix b/nixpkgs/pkgs/development/libraries/v8/3.14.nix
index 3d36245631be..febadc2d6ac8 100644
--- a/nixpkgs/pkgs/development/libraries/v8/3.14.nix
+++ b/nixpkgs/pkgs/development/libraries/v8/3.14.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Google's open source JavaScript engine";
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/v8/3.16.14.nix b/nixpkgs/pkgs/development/libraries/v8/3.16.14.nix
deleted file mode 100644
index e134c9ea60f5..000000000000
--- a/nixpkgs/pkgs/development/libraries/v8/3.16.14.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ stdenv, lib, fetchurl, gyp, readline, python, which, icu, utillinux, cctools }:
-
-assert readline != null;
-
-let
-  arch = if stdenv.isAarch32
-    then (if stdenv.is64bit then "arm64" else "arm")
-    else (if stdenv.is64bit then "x64" else "ia32");
-  armHardFloat = stdenv.isAarch32 && (stdenv.hostPlatform.platform.gcc.float or null) == "hard";
-in
-
-stdenv.mkDerivation rec {
-  pname = "v8";
-  version = "3.16.14.11";
-
-  src = fetchurl {
-    url = "https://commondatastorage.googleapis.com/chromium-browser-official/"
-        + "${pname}-${version}.tar.bz2";
-    sha256 = "1gpf2xvhxfs5ll3m2jlslsx9jfjbmrbz55iq362plflrvf8mbxhj";
-  };
-
-  postPatch = ''
-    sed -i 's/-Werror//' build/standalone.gypi build/common.gypi
-  '';
-
-  configurePhase = stdenv.lib.optionalString stdenv.isDarwin ''
-    export GYP_DEFINES="mac_deployment_target=$MACOSX_DEPLOYMENT_TARGET"
-  '' + ''
-    PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
-      ${gyp}/bin/gyp \
-        -f make \
-        --generator-output="out" \
-        -Dflock_index=0 \
-        -Dv8_enable_i18n_support=1 \
-        -Duse_system_icu=1 \
-        -Dconsole=readline \
-        -Dcomponent=shared_library \
-        -Dv8_target_arch=${arch} \
-        ${lib.optionalString armHardFloat "-Dv8_use_arm_eabi_hardfloat=true"} \
-        --depth=. -Ibuild/standalone.gypi \
-        build/all.gyp
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's@/usr/bin/env python@${python}/bin/python@g' out/gyp-mac-tool
-  '';
-
-  nativeBuildInputs = [ which ];
-  buildInputs = [ readline python icu ]
-                  ++ lib.optional stdenv.isLinux utillinux
-                  ++ lib.optional stdenv.isDarwin cctools;
-
-  NIX_CFLAGS_COMPILE = "-Wno-error -w";
-
-  buildFlags = [
-    "-C out"
-    "builddir=$(CURDIR)/Release"
-    "BUILDTYPE=Release"
-  ];
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    install -vD out/Release/d8 "$out/bin/d8"
-    ${if stdenv.isDarwin then ''
-    install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib"
-    '' else ''
-    install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
-    ''}
-    cp -vr include "$out/"
-  '';
-
-  postFixup = if stdenv.isDarwin then ''
-    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib $out/bin/d8
-    install_name_tool -id $out/lib/libv8.dylib $out/lib/libv8.dylib
-  '' else null;
-
-  meta = with stdenv.lib; {
-    description = "V8 is Google's open source JavaScript engine";
-    platforms = platforms.linux ++ platforms.darwin;
-    license = licenses.bsd3;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/v8/default.nix b/nixpkgs/pkgs/development/libraries/v8/default.nix
index fa2a0f4f5946..a02e540173d8 100644
--- a/nixpkgs/pkgs/development/libraries/v8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/v8/default.nix
@@ -97,6 +97,10 @@ stdenv.mkDerivation rec {
     ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
   ] ++ stdenv.lib.optional stdenv.cc.isClang ''clang_base_path="${stdenv.cc}"'';
 
+  # with gcc8, -Wclass-memaccess became part of -Wall and causes logging limit
+  # to be exceeded
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-class-memaccess";
+
   nativeBuildInputs = [ gn ninja pkgconfig python ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ xcbuild darwin.DarwinTools ];
   buildInputs = [ glib icu ];
diff --git a/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix b/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
index 722079ff3478..1775d5fffc59 100644
--- a/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
@@ -5,16 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-vaapi-driver";
-  # TODO: go back to stable releases with the next stable release after 2.3.0.
-  #       see: https://github.com/NixOS/nixpkgs/issues/55975 (and the libva comment v)
-  rev = "329975c63123610fc750241654a3bd18add75beb"; # generally try to match libva version, but not required
-  version = "git-20190211";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "intel-vaapi-driver";
-    rev    = rev;
-    sha256 = "10333wh2d0hvz5lxl3gjvqs71s7v9ajb0269b3bj5kbflj03v3n5";
+    rev    = version;
+    sha256 = "019w0hvjc9l85yqhy01z2bvvljq208nkb43ai2v377l02krgcrbl";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/vaapi-vdpau/default.nix b/nixpkgs/pkgs/development/libraries/vaapi-vdpau/default.nix
index e3fd7ad57e02..94f96b867d55 100644
--- a/nixpkgs/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix b/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
index 0d96829b6baf..0cdbe396a109 100644
--- a/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "vapoursynth";
-  version = "R47.2";
+  version = "R48";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "004h0vvih7dlhkcz6l2786pf7s04qhiv0bii4gjx23cxyklglh9i";
+    sha256 = "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook nasm makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/vapoursynth/editor.nix b/nixpkgs/pkgs/development/libraries/vapoursynth/editor.nix
index 3853718c1541..196c700af17a 100644
--- a/nixpkgs/pkgs/development/libraries/vapoursynth/editor.nix
+++ b/nixpkgs/pkgs/development/libraries/vapoursynth/editor.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchFromBitbucket, makeWrapper
+{ stdenv, mkDerivation, fetchFromBitbucket
 , python3, vapoursynth
 , qmake, qtbase, qtwebsockets
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "vapoursynth-editor";
   version = "R19";
 
@@ -14,18 +14,20 @@ stdenv.mkDerivation rec {
     sha256 = "1zlaynkkvizf128ln50yvzz3b764f5a0yryp6993s9fkwa7djb6n";
   };
 
-  nativeBuildInputs = [ qmake makeWrapper ];
+  nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase vapoursynth qtwebsockets ];
 
+  dontWrapQtApps = true;
+
   preConfigure = "cd pro";
 
-  installPhase = ''
+  preFixup = ''
     cd ../build/release*
     mkdir -p $out/bin
     for bin in vsedit{,-job-server{,-watcher}}; do
         mv $bin $out/bin
 
-        wrapProgram $out/bin/$bin \
+        wrapQtApp $out/bin/$bin \
             --prefix PYTHONPATH : ${vapoursynth}/${python3.sitePackages} \
             --prefix LD_LIBRARY_PATH : ${vapoursynth}/lib
     done
diff --git a/nixpkgs/pkgs/development/libraries/vrpn/default.nix b/nixpkgs/pkgs/development/libraries/vrpn/default.nix
index 0ae5ba147cb7..688dc8d451ee 100644
--- a/nixpkgs/pkgs/development/libraries/vrpn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/vte/default.nix b/nixpkgs/pkgs/development/libraries/vte/default.nix
index 35bc881d3d1c..8b19e1ee9ae0 100644
--- a/nixpkgs/pkgs/development/libraries/vte/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vte/default.nix
@@ -1,36 +1,80 @@
-{ stdenv, fetchurl, intltool, pkgconfig
-, gnome3, glib, gtk3, ncurses, gobject-introspection, vala, libxml2, gnutls
-, gperf, pcre2
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, gettext
+, pkgconfig
+, meson
+, ninja
+, gnome3
+, glib
+, gtk3
+, gobject-introspection
+, vala
+, libxml2
+, gnutls
+, gperf
+, pango
+, pcre2
+, fribidi
+, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "vte";
-  version = "0.56.3";
+  version = "0.58.2";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p";
+    sha256 = "1h1bljr090cgnzim00q4pnsmjqblzn1sig3d87wv1hzjn796dj9k";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = pname; };
   };
 
-  nativeBuildInputs = [ gobject-introspection intltool pkgconfig vala gperf libxml2 ];
-  buildInputs = [ glib gtk3 ncurses ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    gperf
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    vala
+  ];
 
-  propagatedBuildInputs = [
-    # Required by vte-2.91.pc.
-    gtk3
+  buildInputs = [
+    fribidi
     gnutls
     pcre2
+    zlib
   ];
 
-  preConfigure = "patchShebangs .";
+  propagatedBuildInputs = [
+    # Required by vte-2.91.pc.
+    gtk3
+    glib
+    pango
+  ];
 
-  configureFlags = [ "--enable-introspection" "--disable-Bsymbolic" ];
+  patches =
+    # VTE needs a small patch to work with musl:
+    # https://gitlab.gnome.org/GNOME/vte/issues/72
+    lib.optional
+      stdenv.hostPlatform.isMusl
+      (fetchpatch {
+            name = "0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch";
+            url = "https://gitlab.gnome.org/GNOME/vte/uploads/c334f767f5d605e0f30ecaa2a0e4d226/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch";
+            sha256 = "1ii9db9i5l3fy2alxz7bjfsgjs3lappnlx339dvxbi2141zknf5r";
+      });
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    patchShebangs perf/*
+    patchShebangs src/box_drawing_generate.sh
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://www.gnome.org/;
@@ -44,8 +88,7 @@ stdenv.mkDerivation rec {
       the system's terminfo database.
     '';
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ astsmtl antono lethalman ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ astsmtl antono lethalman ] ++ gnome3.maintainers;
+    platforms = platforms.unix;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/vte/ng.nix b/nixpkgs/pkgs/development/libraries/vte/ng.nix
deleted file mode 100644
index c00be4c008f7..000000000000
--- a/nixpkgs/pkgs/development/libraries/vte/ng.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ vte, fetchFromGitHub, fetchpatch, autoconf, automake, gtk-doc, gettext, libtool, gperf }:
-
-vte.overrideAttrs (oldAttrs: rec {
-  name = "vte-ng-${version}";
-  version = "0.54.2.a";
-
-  src = fetchFromGitHub {
-    owner = "thestinger";
-    repo = "vte-ng";
-    rev = version;
-    sha256 = "1r7d9m07cpdr4f7rw3yx33hmp4jmsk0dn5byq5wgksb2qjbc4ags";
-  };
-
-  patches = [
-    # Fix build with vala 0.44
-    # See: https://github.com/thestinger/vte-ng/issues/32
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/vte/commit/53690d5cee51bdb7c3f7680d3c22b316b1086f2c.patch";
-      sha256 = "1jrpqsx5hqa01g7cfqrsns6vz51mwyqwdp43ifcpkhz3wlp5dy66";
-    })
-  ];
-
-  preConfigure = oldAttrs.preConfigure + "; NOCONFIGURE=1 ./autogen.sh";
-
-  nativeBuildInputs = oldAttrs.nativeBuildInputs or []
-    ++ [ gtk-doc autoconf automake gettext libtool gperf ];
-})
diff --git a/nixpkgs/pkgs/development/libraries/vtk/default.nix b/nixpkgs/pkgs/development/libraries/vtk/default.nix
index 3cb8998485a9..482d691fc7c6 100644
--- a/nixpkgs/pkgs/development/libraries/vtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, libGLU_combined, libX11, xorgproto, libXt, libtiff
+{ stdenv, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libtiff
 , qtLib ? null
 # Darwin support
 , Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libtiff ]
     ++ optional (qtLib != null) qtLib
-    ++ optionals stdenv.isLinux [ libGLU_combined libX11 xorgproto libXt ]
+    ++ optionals stdenv.isLinux [ libGLU libGL libX11 xorgproto libXt ]
     ++ optionals stdenv.isDarwin [ xpc Cocoa CoreServices DiskArbitration IOKit
                                    CFNetwork Security ApplicationServices CoreText
                                    IOSurface ImageIO OpenGL GLUT ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   # built and requiring one of the shared objects.
   # At least, we use -fPIC for other packages to be able to use this in shared
   # objects.
-  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" ]
+  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" "-DOPENGL_INCLUDE_DIR=${libGL}/include" ]
     ++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ]
     ++ optional stdenv.isDarwin "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks";
 
diff --git a/nixpkgs/pkgs/development/libraries/vxl/default.nix b/nixpkgs/pkgs/development/libraries/vxl/default.nix
index 9651e9a5f80c..17d11d4fb749 100644
--- a/nixpkgs/pkgs/development/libraries/vxl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vxl/default.nix
@@ -11,14 +11,17 @@ stdenv.mkDerivation {
 
   buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ];
 
-  # BUILD_OUL wants old linux headers for videodev.h, not available
-  # in stdenv linux headers
-  # BUILD_BRL fails to find open()
-  cmakeFlags = "-DBUILD_OUL=OFF -DBUILD_BRL=OFF -DBUILD_CONTRIB=OFF "
-    + (if stdenv.hostPlatform.system == "x86_64-linux" then
-      "-DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC"
-    else
-      "");
+  cmakeFlags = [
+    # BUILD_OUL wants old linux headers for videodev.h, not available
+    # in stdenv linux headers
+    "-DBUILD_OUL=OFF"
+    # BUILD_BRL fails to find open()
+    "-DBUILD_BRL=OFF"
+    "-DBUILD_CONTRIB=OFF"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [
+    "-DCMAKE_CXX_FLAGS=-fPIC"
+    "-DCMAKE_C_FLAGS=-fPIC"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/wayland/1.9.nix b/nixpkgs/pkgs/development/libraries/wayland/1.9.nix
deleted file mode 100644
index 7572051b1de0..000000000000
--- a/nixpkgs/pkgs/development/libraries/wayland/1.9.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, pkgconfig
-, libffi, libxml2
-, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
-}:
-
-# Require the optional to be enabled until upstream fixes or removes the configure flag
-assert expat != null;
-
-stdenv.mkDerivation rec {
-  pname = "wayland";
-  version = "1.9.0";
-
-  src = fetchurl {
-    url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1yhy62vkbq8j8c9zaa6yzvn75cd99kfa8n2zfdwl80x019r711ww";
-  };
-
-  configureFlags = [ "--with-scanner" "--disable-documentation" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ libffi /* docbook_xsl doxygen graphviz libxslt xmlto */ expat libxml2 ];
-
-  meta = {
-    description = "Reference implementation of the wayland protocol";
-    homepage    = https://wayland.freedesktop.org/;
-    license     = lib.licenses.mit;
-    platforms   = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ codyopel ];
-  };
-
-  passthru.version = version;
-}
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/2.4.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/2.4.nix
deleted file mode 100644
index 060109072b49..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/2.4.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobject-introspection
-, gtk2, gtk3, wayland, libwebp, enchant, sqlite
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg
-, gst-plugins-base, libobjc
-, withGtk2 ? false
-, enableIntrospection ? !stdenv.isDarwin
-, enableCredentialStorage ? !stdenv.isDarwin
-, readline, libedit
-}:
-
-assert stdenv.isDarwin -> !enableIntrospection;
-assert stdenv.isDarwin -> !enableCredentialStorage;
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  pname = "webkitgtk";
-  version = "2.4.11";
-
-  meta = with stdenv.lib; {
-    description = "Web content rendering engine, GTK port";
-    homepage = http://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = [];
-    knownVulnerabilities = [
-      "WSA-2016-0004"
-      "WSA-2016-0005"
-      "WSA-2016-0006"
-      "WSA-2017-0001"
-      "WSA-2017-0002"
-    ];
-  };
-
-  src = fetchurl {
-    url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1xsvnvyvlywwyf6m9ainpsg87jkxjmd37q6zgz9cxb7v3c2ym2jq";
-  };
-
-  CC = "cc";
-
-  prePatch = ''
-    patchShebangs Tools/gtk
-  '';
-  patches = [
-    ./webcore-svg-libxml-cflags.patch
-    (fetchpatch {
-      url = https://raw.githubusercontent.com/gentoo/gentoo/7c5457e265bd40c156a8fe6b2ff94a4e34bcea8e/net-libs/webkit-gtk/files/webkit-gtk-2.4.9-gcc-6.patch;
-      sha256 = "0ll93dr5vxd40wvly1jaw41lvw86krac0jc6k6cacrps4i5ql5j0";
-    })
-  ] ++ optionals stdenv.isDarwin [
-    ./configure.patch
-    ./quartz-webcore.patch
-    ./libc++.patch
-    ./plugin-none.patch
-  ] ++ optionals stdenv.hostPlatform.isMusl [
-    ./fix-execinfo.patch
-  ];
-
-  configureFlags = with stdenv.lib; [
-    "--disable-geolocation"
-    "--disable-jit"
-    # needed for parallel building
-    "--enable-dependency-tracking"
-    (optionalString enableIntrospection "--enable-introspection")
-  ] ++ optional withGtk2 [
-    "--with-gtk=2.0"
-  ] ++ optionals (withGtk2 || stdenv.isDarwin) [
-    "--disable-webkit2"
-  ] ++ optionals stdenv.isDarwin [
-    "--disable-x11-target"
-    "--enable-quartz-target"
-    "--disable-web-audio"
-    "CFLAGS=-DJSC_OBJC_API_ENABLED=0"
-    "CXXFLAGS=-DJSC_OBJC_API_ENABLED=0"
-  ] ++ optionals (!enableCredentialStorage) [
-    "--disable-credential-storage"
-  ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-DU_NOEXCEPT="
-    "-Wno-expansion-to-defined"
-  ];
-
-  dontAddDisableDepTrack = true;
-
-  nativeBuildInputs = [
-    perl python ruby bison gperf flex
-    pkgconfig which gettext gobject-introspection
-  ];
-
-  buildInputs = [
-    gtk2 libwebp enchant
-    libxml2 libxslt
-    gst-plugins-base sqlite xorg.libXt xorg.libXdamage
-  ] ++ optionals enableCredentialStorage [
-    libsecret
-  ] ++ (if stdenv.isDarwin then [
-    readline libedit libobjc
-  ] else [
-    wayland
-  ]);
-
-  propagatedBuildInputs = [
-    libsoup harfbuzz/*icu in *.la*/
-    (if withGtk2 then gtk2 else gtk3)
-  ];
-
-  enableParallelBuilding = true;
-
-}
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/configure.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/configure.patch
deleted file mode 100644
index 2f4c1e7ad314..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/configure.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.11-orig/configure	2016-04-10 17:00:06.000000000 +0800
-+++ webkitgtk-2.4.11/configure	2016-07-21 23:04:10.000000000 +0800
-@@ -17738,7 +17738,7 @@
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_WEBP_DECODE_H 1
- _ACEOF
-- WEBP_LIBS='-lwebp'
-+ WEBP_LIBS=`$PKG_CONFIG --libs libwebp`
- else
-   as_fn_error $? "WebP library (libwebp) not found" "$LINENO" 5
- fi
-@@ -18388,7 +18388,7 @@
- case "$host" in
-     *-*-darwin*)
-         UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu"
--        UNICODE_LIBS="-licucore"
-+        UNICODE_LIBS="/usr/lib/libicucore.dylib"
-         ;;
-     *-*-mingw*)
- 
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
index c0fae2f71765..d1e171566eea 100644
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,11 +1,56 @@
-{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja
-, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt
-, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGLU_combined, libintl, openjpeg
-, enableGeoLocation ? true, geoclue2, sqlite
-, enableGtk2Plugins ? false, gtk2 ? null
-, gst-plugins-base, gst-plugins-bad, woff2
+{ stdenv
+, fetchurl
+, perl
+, python3
+, ruby
+, bison
+, gperf
+, cmake
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, libnotify
+, gnutls
+, libgcrypt
+, gtk3
+, wayland
+, libwebp
+, enchant2
+, xorg
+, libxkbcommon
+, epoxy
+, at-spi2-core
+, libxml2
+, libsoup
+, libsecret
+, libxslt
+, harfbuzz
+, libpthreadstubs
+, pcre
+, nettle
+, libtasn1
+, p11-kit
+, libidn
+, libedit
+, readline
+, libGL
+, libGLU
+, libintl
+, openjpeg
+, enableGeoLocation ? true
+, geoclue2
+, sqlite
+, enableGtk2Plugins ? false
+, gtk2 ? null
+, gst-plugins-base
+, gst-plugins-bad
+, woff2
+, bubblewrap
+, libseccomp
+, xdg-dbus-proxy
+, substituteAll
+, gnome3
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
@@ -13,71 +58,117 @@ assert enableGtk2Plugins -> gtk2 != null;
 assert stdenv.isDarwin -> !enableGtk2Plugins;
 
 with stdenv.lib;
+
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.24.4";
+  version = "2.26.2";
 
-  meta = {
-    description = "Web content rendering engine, GTK port";
-    homepage = https://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = platforms.linux;
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1n3x5g1z6rg9n1ssna7wi0z6zlprjm4wzk544v14wqi6q0lv2s46";
+    sha256 = "04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b";
   };
 
-  patches = optionals stdenv.isDarwin [
-    ## TODO add necessary patches for Darwin
-  ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  cmakeFlags = [
-  "-DPORT=GTK"
-  "-DUSE_LIBHYPHEN=0"
-  "-DENABLE_INTROSPECTION=ON"
-  ]
-  ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-  ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
-  ++ optionals stdenv.isDarwin [
-  "-DUSE_SYSTEM_MALLOC=ON"
-  "-DUSE_ACCELERATE=0"
-  "-DENABLE_MINIBROWSER=OFF"
-  "-DENABLE_VIDEO=ON"
-  "-DENABLE_QUARTZ_TARGET=ON"
-  "-DENABLE_X11_TARGET=OFF"
-  "-DENABLE_OPENGL=OFF"
-  "-DENABLE_WEB_AUDIO=OFF"
-  "-DENABLE_WEBGL=OFF"
-  "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
-  "-DENABLE_GTKDOC=OFF"
+  patches = optionals stdenv.isLinux [
+    (substituteAll {
+      src = ./fix-bubblewrap-paths.patch;
+      inherit (builtins) storeDir;
+    })
+    ./libglvnd-headers.patch
   ];
 
   nativeBuildInputs = [
-    cmake ninja perl python2 ruby bison gperf
-    pkgconfig gettext gobject-introspection
+    bison
+    cmake
+    gettext
+    gobject-introspection
+    gperf
+    ninja
+    perl
+    pkgconfig
+    python3
+    ruby
   ];
 
   buildInputs = [
-    libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit openjpeg
-    sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
+    at-spi2-core
+    enchant2
+    epoxy
+    gnutls
+    gst-plugins-bad
+    gst-plugins-base
+    harfbuzz
+    libGL
+    libGLU
+    libgcrypt
+    libidn
+    libintl
+    libnotify
+    libpthreadstubs
+    libsecret
+    libtasn1
+    libwebp
+    libxkbcommon
+    libxml2
+    libxslt
+    nettle
+    openjpeg
+    p11-kit
+    pcre
+    sqlite
+    woff2
+  ] ++ (with xorg; [
+    libXdamage
+    libXdmcp
+    libXt
+    libXtst
+  ]) ++ optionals stdenv.isDarwin [
+    libedit
+    readline
+  ] ++ optionals stdenv.isLinux [
+    bubblewrap
+    libseccomp
+    wayland
+    xdg-dbus-proxy
   ] ++ optional enableGeoLocation geoclue2
-    ++ optional enableGtk2Plugins gtk2
-    ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
-    ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
-    ++ optional stdenv.isLinux wayland;
+    ++ optional enableGtk2Plugins gtk2;
 
   propagatedBuildInputs = [
-    libsoup gtk3
+    gtk3
+    libsoup
   ];
 
-  outputs = [ "out" "dev" ];
+  cmakeFlags = [
+    "-DENABLE_INTROSPECTION=ON"
+    "-DPORT=GTK"
+    "-DUSE_LIBHYPHEN=OFF"
+    "-DUSE_WPE_RENDERER=OFF"
+  ] ++ optionals stdenv.isDarwin [
+    "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
+    "-DENABLE_GTKDOC=OFF"
+    "-DENABLE_MINIBROWSER=OFF"
+    "-DENABLE_OPENGL=OFF"
+    "-DENABLE_QUARTZ_TARGET=ON"
+    "-DENABLE_VIDEO=ON"
+    "-DENABLE_WEBGL=OFF"
+    "-DENABLE_WEB_AUDIO=OFF"
+    "-DENABLE_X11_TARGET=OFF"
+    "-DUSE_ACCELERATE=0"
+    "-DUSE_SYSTEM_MALLOC=ON"
+  ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
+    ++ optional stdenv.isLinux "-DENABLE_GLES2=ON";
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  meta = {
+    description = "Web content rendering engine, GTK port";
+    homepage = https://webkitgtk.org/;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    hydraPlatforms = [];
+    maintainers = gnome3.maintainers;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch
new file mode 100644
index 000000000000..6485ba0f261f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch
@@ -0,0 +1,23 @@
+diff -ru old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
+--- old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp	2019-09-09 04:47:07.000000000 -0400
++++ webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp	2019-09-20 21:14:10.537921173 -0400
+@@ -585,7 +585,7 @@
+         { SCMP_SYS(keyctl), nullptr },
+         { SCMP_SYS(request_key), nullptr },
+ 
+-        // Scary VM/NUMA ops 
++        // Scary VM/NUMA ops
+         { SCMP_SYS(move_pages), nullptr },
+         { SCMP_SYS(mbind), nullptr },
+         { SCMP_SYS(get_mempolicy), nullptr },
+@@ -724,6 +724,10 @@
+         "--ro-bind-try", "/usr/local/lib64", "/usr/local/lib64",
+ 
+         "--ro-bind-try", PKGLIBEXECDIR, PKGLIBEXECDIR,
++
++        // Nix Directories
++        "--ro-bind", "@storeDir@", "@storeDir@",
++        "--ro-bind", "/run/current-system", "/run/current-system",
+     };
+     // We would have to parse ld config files for more info.
+     bindPathVar(sandboxArgs, "LD_LIBRARY_PATH");
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/fix-execinfo.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
deleted file mode 100644
index eb825312f3be..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.2.0.orig/Source/WTF/wtf/Assertions.cpp
-+++ webkitgtk-2.2.0/Source/WTF/wtf/Assertions.cpp
-@@ -64,7 +64,7 @@
- #include <windows.h>
- #endif
- 
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -242,7 +242,7 @@
- 
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
-     *size = backtrace(stack, *size);
- #elif OS(WINDOWS) && !OS(WINCE)
-     // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/libc++.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/libc++.patch
deleted file mode 100644
index 5a9df0ddae98..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/libc++.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-02 22:10:23.000000000 -0500
-@@ -23321,7 +23321,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_minidom_LDFLAGS = \
- 	-no-install
-@@ -23344,7 +23344,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_LLIntOffsetsExtractor_LDFLAGS = \
- 	-no-install
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
new file mode 100644
index 000000000000..17264f3b5886
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
@@ -0,0 +1,586 @@
+diff --git a/Source/ThirdParty/ANGLE/scripts/generate_loader.py b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
+index a408dac4..92ddca90 100644
+--- a/Source/ThirdParty/ANGLE/scripts/generate_loader.py
++++ b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
+@@ -201,6 +201,8 @@ def main():
+ 
+ libegl_preamble = """#include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++#include <EGL/eglmesaext.h>
+ """
+ 
+ util_gles_preamble = """#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES
+@@ -215,6 +217,8 @@ util_egl_preamble = """#include "util/util_export.h"
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++#include <EGL/eglmesaext.h>
+ """
+ 
+ util_wgl_preamble = """
+diff --git a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
+index 68c65d8b..0dc9c8e3 100644
+--- a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <angle_gl.h>
+ 
+ #include <cstdint>
+diff --git a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
+index cd651150..17719bc2 100644
+--- a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <angle_gl.h>
+ 
+ #include <cstdint>
+diff --git a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
+index 2f77e725..5ea54f1f 100644
+--- a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
++++ b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
+@@ -71,6 +71,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT.
+ #include <angle_gl.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <cstdint>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/common/utilities.h b/Source/ThirdParty/ANGLE/src/common/utilities.h
+index 7a1429a4..dd20bcca 100644
+--- a/Source/ThirdParty/ANGLE/src/common/utilities.h
++++ b/Source/ThirdParty/ANGLE/src/common/utilities.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <math.h>
+ #include <string>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
+index 4134226d..5dd1065f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
+@@ -15,6 +15,7 @@
+ #include <vector>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include "angle_gl.h"
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
+index 13ae4e61..b964b755 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
+@@ -12,6 +12,7 @@
+ #include <iterator>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
+index 21064073..a46628bd 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
+@@ -17,6 +17,7 @@
+ #include <vector>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
+index 37df5b0c..b2e3885b 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include "angle_gl.h"
+ #include "common/angleutils.h"
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
+index b7bc84c8..538cb3e0 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
+@@ -10,6 +10,7 @@
+ #include "libANGLE/Stream.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
+index 9157aa51..d8e58f2d 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/angleutils.h"
+ #include "libANGLE/AttributeMap.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
+index 6daec4f6..941f34ca 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
+@@ -11,6 +11,7 @@
+ #include "libANGLE/Surface.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/Config.h"
+ #include "libANGLE/Context.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
+index ea1a0510..db7cf0c8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/angleutils.h"
+ #include "libANGLE/Error.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
+index ba5cf532..43304da5 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
+@@ -13,6 +13,7 @@
+ #include "libANGLE/Display.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+index de60dfff..93b5bdf8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/DisplayD3D.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/Config.h"
+ #include "libANGLE/Context.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
+index a7255d0d..a7e37777 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
+@@ -20,6 +20,7 @@
+ #include "libANGLE/renderer/d3d/TextureStorage.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+index 61dc8ffa..87276514 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+@@ -19,6 +19,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <tchar.h>
+ #include <algorithm>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
+index 443cadd6..e64bdfc4 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
+@@ -12,6 +12,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <GLES2/gl2.h>
+ 
+ #include "common/angleutils.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+index 33dfa6b0..eb3393d2 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <versionhelpers.h>
+ #include <sstream>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+index fe4def6e..2550b52c 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/features.h"
+ #include "libANGLE/renderer/d3d/DisplayD3D.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+index f4a4ce43..0cad5540 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <sstream>
+ 
+ #include "common/utilities.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
+index a89e1365..0fe4fa98 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
+@@ -18,6 +18,7 @@
+ #include "libANGLE/renderer/gl/SurfaceGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
+index 10b15594..7ae1ac6b 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/gl/RendererGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/debug.h"
+ #include "libANGLE/AttributeMap.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
+index 115a7afb..abb200e6 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <string>
+ #include <vector>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+index 47ed6ce0..9d11560c 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <drm_fourcc.h>
+ #include <gbm.h>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+index 23b4a5c5..daeb5789 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/gl/glx/DisplayGLX.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <algorithm>
+ #include <cstring>
+ #include <fstream>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
+index 698b51e2..32e6126f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
+@@ -27,6 +27,7 @@
+ #include "libANGLE/renderer/gl/formatutilsgl.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <algorithm>
+ #include <sstream>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
+index 5b686321..16ae890f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
+@@ -18,6 +18,7 @@
+ #include "libANGLE/renderer/gl/wgl/FunctionsWGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+index 12679ba7..93503812 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+@@ -28,6 +28,7 @@
+ #include "platform/Platform.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <sstream>
+ #include <string>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
+index df900f4d..4385be88 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
+@@ -13,6 +13,7 @@
+ #include "libANGLE/renderer/vulkan/vk_utils.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/debug.h"
+ #include "common/platform.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
+index 1c0b25f4..64e96f73 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
+@@ -22,6 +22,7 @@
+ #include "libANGLE/formatutils.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace egl
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
+index a671bb0d..248f0ae8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace gl
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
+index ae4a427c..a802b65d 100644
+--- a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
+@@ -13,6 +13,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ extern PFNEGLCHOOSECONFIGPROC EGL_ChooseConfig;
+ extern PFNEGLCOPYBUFFERSPROC EGL_CopyBuffers;
+diff --git a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
+index 3c64b290..96201b31 100644
+--- a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
++++ b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <export.h>
+ 
+ extern "C" {
+diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+index 777b09e1..dbb0bd2f 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "deClock.h"
+ #include "deMemory.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
+index 6b4a25bf..1c4ac864 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
+@@ -22,6 +22,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "egluGLContextFactory.hpp"
+ #include "tcuANGLENativeDisplayFactory.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
+index 90abb931..aea4e153 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
+@@ -10,6 +10,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <X11/Xlib.h>
+ 
+ #include "test_utils/ANGLETest.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
+index e888a239..71606b8c 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <string>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
+index 7fdddcc6..e40b8905 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
+@@ -10,6 +10,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <map>
+ #include <string>
+diff --git a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
+index 7bc7a027..ebb2827b 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
++++ b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
+@@ -16,6 +16,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "GLSLANG/ShaderLang.h"
+ #include "angle_test_instantiate.h"
+diff --git a/Source/ThirdParty/ANGLE/util/OSPixmap.h b/Source/ThirdParty/ANGLE/util/OSPixmap.h
+index ba6ccf4a..563d2578 100644
+--- a/Source/ThirdParty/ANGLE/util/OSPixmap.h
++++ b/Source/ThirdParty/ANGLE/util/OSPixmap.h
+@@ -13,6 +13,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "util/Event.h"
+ #include "util/util_export.h"
+diff --git a/Source/ThirdParty/ANGLE/util/OSWindow.h b/Source/ThirdParty/ANGLE/util/OSWindow.h
+index 3cdb458c..3178fa44 100644
+--- a/Source/ThirdParty/ANGLE/util/OSWindow.h
++++ b/Source/ThirdParty/ANGLE/util/OSWindow.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "util/Event.h"
+ #include "util/util_export.h"
+diff --git a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
+index 5fbec82f..77a30330 100644
+--- a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
++++ b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC eglChooseConfig;
+ ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
+diff --git a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
+index a8a82d70..050893a9 100644
+--- a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
++++ b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
+@@ -29,6 +29,7 @@
+ #else
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #endif
+ 
+ #if USE(CAIRO)
+diff --git a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
+index 05f92c22..636df34a 100644
+--- a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
++++ b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
+@@ -35,6 +35,7 @@
+ #include <wayland-egl.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <wtf/Assertions.h>
+ 
+ namespace WebCore {
+diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+index 8c81119b..bf9ed4bd 100644
+--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
++++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+@@ -38,6 +38,7 @@
+ #if USE(EGL)
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #endif
+ 
+ namespace WebCore {
+diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
+index 973b3168..5586236a 100644
+--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
++++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
+@@ -35,6 +35,7 @@
+ #include <gdk/gdkwayland.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <WebCore/CairoUtilities.h>
+ #include <WebCore/GLContext.h>
+ 
+diff --git a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
+index 8d848ce4..46d42c11 100644
+--- a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
++++ b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
+@@ -31,6 +31,7 @@
+ #include "WebKitWaylandServerProtocol.h"
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <WebCore/GLContext.h>
+ #include <WebCore/PlatformDisplayWayland.h>
+ #include <WebCore/Region.h>
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/plugin-none.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/plugin-none.patch
deleted file mode 100644
index 5e2b36bf62dd..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/plugin-none.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-08 00:27:10.000000000 -0500
-@@ -4799,6 +4799,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
-@@ -6375,6 +6377,8 @@
- 	Source/WebCore/plugins/libWebCore_la-PluginPackage.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginStream.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginView.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginViewNone.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginPackageNone.lo \
- 	Source/WebCore/rendering/libWebCore_la-AutoTableLayout.lo \
- 	Source/WebCore/rendering/libWebCore_la-BidiRun.lo \
- 	Source/WebCore/rendering/libWebCore_la-break_lines.lo \
-@@ -10796,6 +10800,8 @@
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProcessConnectionManager.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProxy.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginView.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginViewNone.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginPackageNone.lo \
- 	Source/WebKit2/WebProcess/ResourceCache/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-WebResourceCacheManager.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaImpl.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaMap.lo \
-@@ -19503,6 +19509,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/quartz-webcore.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
deleted file mode 100644
index a7bf859d6c62..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.cpp	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.cpp	2016-02-02 18:28:07.000000000 -0500
-@@ -839,7 +839,7 @@
- #if defined(XP_MACOSX)
-     , m_contextRef(0)
- #endif
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if defined(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-     , m_hasPendingGeometryChange(true)
-     , m_drawable(0)
-     , m_visual(0)
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.h	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.h	2016-02-02 18:26:37.000000000 -0500
-@@ -378,7 +378,7 @@
-         void setNPWindowIfNeeded();
- #endif
- 
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-         bool m_hasPendingGeometryChange;
-         Pixmap m_drawable;
-         Visual* m_visual;
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
deleted file mode 100644
index 03fc3f3f97de..000000000000
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- webkitgtk-2.2.3-orig/GNUmakefile.in	2013-12-04 17:56:28.000000000 +0800
-+++ webkitgtk-2.2.3/GNUmakefile.in	2013-12-05 17:32:37.976689248 +0800
-@@ -21911,6 +21911,7 @@
- @ENABLE_SVG_TRUE@	$(CAIRO_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(FREETYPE_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(LIBSOUP_CFLAGS) \
-+@ENABLE_SVG_TRUE@	$(LIBXML_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(UNICODE_CFLAGS)
diff --git a/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix b/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
index 2ebad693de50..9025abcb3fe9 100644
--- a/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wiredtiger";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     repo = "wiredtiger";
     owner = "wiredtiger";
     rev = version;
-    sha256 = "1s27l51p2p3kbdjmccvlg43i7zx84hhchs3779w9giab4nvd0y19";
+    sha256 = "04j2zw8b9jym43r682rh4kpdippxx7iw3ry16nxlbybzar9kgk83";
   };
 
   nativeBuildInputs = [ automake autoconf libtool ];
diff --git a/nixpkgs/pkgs/development/libraries/wlroots/default.nix b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
index 4d820bd95198..a567e66285cc 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/default.nix
+++ b/nixpkgs/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
@@ -6,15 +6,24 @@
 
 stdenv.mkDerivation rec {
   pname = "wlroots";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "wlroots";
     rev = version;
-    sha256 = "0jzxa6psbc7ddxli7rbfqxmv1svxnis51l1vch4hb9fdixqm284a";
+    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/nixpkgs/pkgs/development/libraries/wolfssl/default.nix b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
index 780d7df47cb0..438b40d91404 100644
--- a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "4.1.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "16d1dzbdx6x7czbxf6i1rlb5mv59yzzpnha7qgwab3yq62rlsgw3";
+    sha256 = "1gd613k4qh9yhl0d8yh0flqn2cvm9qb5pp2p0khk31b1fh1p4vin";
   };
 
   configureFlags = [ "--enable-all" ];
diff --git a/nixpkgs/pkgs/development/libraries/wt/default.nix b/nixpkgs/pkgs/development/libraries/wt/default.nix
index 319b0effc578..7c819487a334 100644
--- a/nixpkgs/pkgs/development/libraries/wt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu
-, pango, fcgi, firebird, mysql, postgresql, graphicsmagick, glew, openssl
+, pango, fcgi, firebird, libmysqlclient, postgresql, graphicsmagick, glew, openssl
 , pcre, harfbuzz
 }:
 
@@ -22,18 +22,22 @@ let
       nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
         cmake boost doxygen qt48Full libharu
-        pango fcgi firebird mysql.connector-c postgresql graphicsmagick glew
+        pango fcgi firebird libmysqlclient postgresql graphicsmagick glew
         openssl pcre
       ];
 
       cmakeFlags = [
-        "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
         "-DWT_CPP_11_MODE=-std=c++11"
+        "--no-warn-unused-cli"
+      ]
+      ++ stdenv.lib.optionals (graphicsmagick != null) [
+        "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
         "-DGM_PREFIX=${graphicsmagick}"
-        "-DMYSQL_PREFIX=${mysql.connector-c}"
+      ]
+      ++ stdenv.lib.optional (harfbuzz != null)
         "-DHARFBUZZ_INCLUDE_DIR=${harfbuzz.dev}/include"
-        "--no-warn-unused-cli"
-      ];
+      ++ stdenv.lib.optional (libmysqlclient != null)
+        "-DMYSQL_PREFIX=${libmysqlclient}";
 
       meta = with stdenv.lib; {
         homepage = "https://www.webtoolkit.eu/wt";
@@ -45,12 +49,12 @@ let
     };
 in {
   wt3 = generic {
-    version = "3.4.1";
-    sha256 = "1bsx7hmy6g2x9p3vl5xw9lv1xk891pnvs93a87s15g257gznkjmj";
+    version = "3.5.0";
+    sha256 = "1xcwzldbval5zrf7f3n2gkpscagg51cw2jp6p3q1yh6bi59haida";
   };
 
   wt4 = generic {
-    version = "4.1.1";
-    sha256 = "1f1imx5kbpqlysrqx5h75hf2f8pkq972rz42x0pl6cxbnsyzngid";
+    version = "4.2.0";
+    sha256 = "0zrrdjz0sa8hrmybjp4aap1lcqcqvsicd7dj49zj1m5k8gnfpm4v";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wxSVG/default.nix b/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
index bdc8f8c3435c..e2e227a6327a 100644
--- a/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
 
   pname = "wxSVG";
   srcName = "wxsvg-${version}";
-  version = "1.5.20";
+  version = "1.5.21";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/${srcName}.tar.bz2";
-    sha256 = "17j5j61l5mv7x0ncsm1kv3k5mmjqyxfpddjn7j84wdgrj62xldhm";
+    sha256 = "0v368qgqad49saklwcbq76f1xkg126g0ll1jw9x2bdds02kvg1fw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
index 38ee4376ac2d..73dac47307a9 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     + optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
 
   # Work around a bug in configure.
-  NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" "-Wno-narrowing" ];
+  NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1 -lX11 -lcairo -Wno-narrowing";
 
   preConfigure = "
     substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
index a12447562b81..3bbfb1392794 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -6,15 +6,16 @@
 , libGLU ? null, libGL ? null
 , compat24 ? false, compat26 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
index 8fe75153de6d..0984472e860b 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -5,15 +5,16 @@
 , withMesa ? libGLSupported, libGLU ? null, libGL ? null
 , compat28 ? false, compat30 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.1.2";
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/x265/default.nix b/nixpkgs/pkgs/development/libraries/x265/default.nix
index 634847941d00..dbf1a098f1f7 100644
--- a/nixpkgs/pkgs/development/libraries/x265/default.nix
+++ b/nixpkgs/pkgs/development/libraries/x265/default.nix
@@ -17,14 +17,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "x265";
-  version = "3.1.1";
+  version = "3.2";
 
   src = fetchurl {
     urls = [
       "https://get.videolan.org/x265/x265_${version}.tar.gz"
       "ftp://ftp.videolan.org/pub/videolan/x265/x265_${version}.tar.gz"
     ];
-    sha256 = "1l68lgdbsi4wjz5vad98ggx7mf92rnvzlq34m6w0a08ark3h0yc2";
+    sha256 = "0fqkhfhr22gzavxn60cpnj3agwdf5afivszxf3haj5k1sny7jk9n";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/xapian/default.nix b/nixpkgs/pkgs/development/libraries/xapian/default.nix
index bb14f3437ba5..971ab485221d 100644
--- a/nixpkgs/pkgs/development/libraries/xapian/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xapian/default.nix
@@ -37,5 +37,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.12" "0z5c1y9vp519h2x2igjq39v6j615nppry0wasd0xn4hphgd3d2jg";
+  xapian_1_4 = generic "1.4.14" "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp";
 }
diff --git a/nixpkgs/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch b/nixpkgs/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch
index 72a7c3e721f4..cce96a2762bf 100644
--- a/nixpkgs/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch
+++ b/nixpkgs/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch
@@ -1,14 +1,14 @@
 diff -Naur xapian-core.old/tests/api_db.cc xapian-core.new/tests/api_db.cc
 --- xapian-core.old/tests/api_db.cc
 +++ xapian-core.new/tests/api_db.cc
-@@ -998,6 +998,7 @@
+@@ -1020,6 +1020,7 @@
  
  // test for keepalives
  DEFINE_TESTCASE(keepalive1, remote) {
 +    SKIP_TEST("Fails in darwin nix build environment");
-     Xapian::Database db(get_remote_database("apitest_simpledata", 5000));
+     XFAIL_FOR_BACKEND("multi_glass_remoteprog_glass",
+ 		      "Multi remote databases are currently buggy");
  
-     /* Test that keep-alives work */
 diff -Naur xapian-core.old/tests/api_scalability.cc xapian-core.new/tests/api_scalability.cc
 --- xapian-core.old/tests/api_scalability.cc
 +++ xapian-core.new/tests/api_scalability.cc
diff --git a/nixpkgs/pkgs/development/libraries/xdg-dbus-proxy/default.nix b/nixpkgs/pkgs/development/libraries/xdg-dbus-proxy/default.nix
index d1605aac3342..d00b5398a19a 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-dbus-proxy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-dbus-proxy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-dbus-proxy";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchurl {
     url = "https://github.com/flatpak/xdg-dbus-proxy/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1w8yg5j51zsr9d97d4jjp9dvd7iq893p2xk54i6lf3lx01ribdqh";
+    sha256 = "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p";
   };
 
   nativeBuildInputs = [ pkgconfig libxslt docbook_xsl docbook_xml_dtd_43 ];
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 4be7bd1474cf..d16c5d670e5e 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, substituteAll, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fontconfig, flatpak, gsettings-desktop-schemas, acl, dbus, fuse, geoclue2, json-glib, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, nixosTests, substituteAll, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fontconfig, flatpak, gsettings-desktop-schemas, acl, dbus, fuse, geoclue2, json-glib, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=$(installedTests)/share/installed-tests/xdg-desktop-portal"
   ];
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.xdg-desktop-portal;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Desktop integration portals for sandboxed apps";
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/development/libraries/xine-lib/default.nix b/nixpkgs/pkgs/development/libraries/xine-lib/default.nix
index fd772a1ff9d2..adcb2e74b0bb 100644
--- a/nixpkgs/pkgs/development/libraries/xine-lib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/xmlsec/default.nix b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
index 25c5bf458887..a8c751330b7c 100644
--- a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--enable-soap" ];
 
   # otherwise libxmlsec1-gnutls.so won't find libgcrypt.so, after #909
-  NIX_LDFLAGS = [ "-lgcrypt" ];
+  NIX_LDFLAGS = "-lgcrypt";
 
   postInstall = ''
     moveToOutput "bin/xmlsec1-config" "$dev"
diff --git a/nixpkgs/pkgs/development/libraries/xxHash/default.nix b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
index 51165f47a219..1ea25fb7209d 100644
--- a/nixpkgs/pkgs/development/libraries/xxHash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xxHash";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "Cyan4973";
     repo = "xxHash";
     rev = "v${version}";
-    sha256 = "0hh1ypwk86m3b0x4433k95f94b48kvl7s79dml0f3g0cv8jdvkgw";
+    sha256 = "1f9gl0cymmi92ihsfan0p4zmyf2hxwx4arjimpbmbp719nbcvdsx";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/yajl/default.nix b/nixpkgs/pkgs/development/libraries/yajl/default.nix
index f9ce555cf27d..947b08e7bc58 100644
--- a/nixpkgs/pkgs/development/libraries/yajl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/yajl/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://lloyd.github.com/yajl/;
     license = stdenv.lib.licenses.isc;
     platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = with stdenv.lib.maintainers; [ z77z ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/yder/default.nix b/nixpkgs/pkgs/development/libraries/yder/default.nix
index 82d2d20cb3ee..7025fd2eb1cc 100644
--- a/nixpkgs/pkgs/development/libraries/yder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/yder/default.nix
@@ -4,13 +4,13 @@
 assert withSystemd -> systemd != null;
 stdenv.mkDerivation rec {
   pname = "yder";
-  version = "1.4.7";
+  version = "1.4.8";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19ghiwpi972wjqvlgg576nk2nkf1ii5l1kvzb056496xfmlysrwa";
+    sha256 = "0r3rhcsp182cg0vmx8wwibb415mg2qkx8zrfpb0b97nz30h9hbvd";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix b/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix
index 9e3b06453bfa..98c94cfeccaa 100644
--- a/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
index e4d0c0fde174..3a5b1690f2d0 100644
--- a/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [ zeroc_mcpp bzip2 expat openssl lmdb ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=class-memaccess" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy";
 
   prePatch = lib.optional stdenv.isDarwin ''
     substituteInPlace Make.rules.Darwin \
diff --git a/nixpkgs/pkgs/development/libraries/zeromq/4.x.nix b/nixpkgs/pkgs/development/libraries/zeromq/4.x.nix
index db5d90e2f021..1a8f07a3ae0e 100644
--- a/nixpkgs/pkgs/development/libraries/zeromq/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/zeromq/4.x.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails all the tests (ctest)
 
-  cmakeFlags = if enableDrafts then [ "-DENABLE_DRAFTS=ON" ] else null;
+  cmakeFlags = stdenv.lib.optional enableDrafts "-DENABLE_DRAFTS=ON";
 
   meta = with stdenv.lib; {
     branch = "4";
diff --git a/nixpkgs/pkgs/development/libraries/zlib/default.nix b/nixpkgs/pkgs/development/libraries/zlib/default.nix
index b0f8ae503ea4..71da686ce48f 100644
--- a/nixpkgs/pkgs/development/libraries/zlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zlib/default.nix
@@ -5,7 +5,7 @@
 , shared ? true
 , static ? true
 # If true, a separate .static ouput is created and the .a is moved there.
-# In this case `pkg-config` will auto detection will currently not work if the
+# In this case `pkg-config` auto detection does not currently work if the
 # .static output is given as `buildInputs` to another package (#66461), because
 # the `.pc` file lists only the main output's lib dir.
 # If false, and if `{ static = true; }`, the .a stays in the main output.
diff --git a/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix b/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix
index 4f69c1c80790..127ea4f7162b 100644
--- a/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c";
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-overflow" ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-Wno-error=format-overflow -Wno-error=stringop-truncation";
 
   buildInputs = [ zookeeper bash ];
 
diff --git a/nixpkgs/pkgs/development/libraries/zziplib/default.nix b/nixpkgs/pkgs/development/libraries/zziplib/default.nix
index 8b199d3e89a2..74bfeb09c0d3 100644
--- a/nixpkgs/pkgs/development/libraries/zziplib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zziplib/default.nix
@@ -15,6 +15,22 @@ stdenv.mkDerivation rec {
       url = "https://github.com/gdraheim/zziplib/commit/f609ae8971f3c0ce6.diff";
       sha256 = "0jhiz4fgr93wzh6q03avn95b2nsf6402jaki6hxirxyhs5v9ahry";
     })
+
+    (fetchpatch {
+      name = "CVE-2018-16548-part1.patch";
+      url = "https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch";
+      sha256 = "0cy8i182zbvcqzs5z2j13d5sl7hbh59pkgw4xkyg5yz739q4fp9b";
+    })
+    (fetchpatch {
+      name = "CVE-2018-16548-part2.patch";
+      url = "https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch";
+      sha256 = "153wd4vab8xqj9avcpx8g2zw9qsp9nkaqi7yc65pz3r7xfcxwdla";
+    })
+    (fetchpatch {
+      name = "CVE-2018-16548-part3.patch";
+      url = "https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch";
+      sha256 = "0fs6dns8l7dz5a900397g8b7x62z72b0pbpdmwk1hnx6vb7z5rz5";
+    })
   ];
   postPatch = ''
     sed -i -e s,--export-dynamic,, configure
diff --git a/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix b/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix
index 019a44482b9a..3cb8219e6874 100644
--- a/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/nixpkgs/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
index 8975ada53206..abbbdc3e77a6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
+++ b/nixpkgs/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,14 +20,14 @@ setLisp () {
           esac
       done
     fi
-    if [ -z "$NIX_LISP" ]; then 
+    if [ -n "${NIX_LISP_COMMAND:-}" ] && [ -z "${NIX_LISP:-}" ]; then 
         NIX_LISP="${NIX_LISP_COMMAND##*/}"
     fi
 }
 
 collectNixLispLDLP () {
      if echo "$1/lib"/lib*.so* | grep . > /dev/null; then
-	 export NIX_LISP_LD_LIBRARY_PATH="$NIX_LISP_LD_LIBRARY_PATH${NIX_LISP_LD_LIBRARY_PATH:+:}$1/lib"
+	 export NIX_LISP_LD_LIBRARY_PATH="${NIX_LISP_LD_LIBRARY_PATH-}${NIX_LISP_LD_LIBRARY_PATH:+:}$1/lib"
      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/nixpkgs/pkgs/development/lisp-modules/define-package.nix b/nixpkgs/pkgs/development/lisp-modules/define-package.nix
index 49eb9c403447..67a688342b2d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/define-package.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/lisp-modules/openssl-lib-marked.nix b/nixpkgs/pkgs/development/lisp-modules/openssl-lib-marked.nix
index e2c632b8ebad..186ef14b4068 100644
--- a/nixpkgs/pkgs/development/lisp-modules/openssl-lib-marked.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
index 729f5937117e..a5fddd417fa1 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''_3bmd'';
   version = ''20171019-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
index 15b907e341e9..3ed0c3eca784 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''alexandria'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
index 5921b5f49b12..61a07c61ca07 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''anaphora'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
index 988b247482b6..efa5dc6e7698 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''array-utils'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
index 1d1ef41f2d16..65df45d95a50 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''asdf-system-connections'';
   version = ''20170124-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
index d8a12f6edbe3..4cba3e86e068 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''babel'';
   version = ''20171227-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
index d7cebabb0adf..a660882f36b1 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''blackbird'';
   version = ''20160531-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
index 530a3b76d301..c5305587a029 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''bordeaux-threads'';
   version = ''v0.8.6'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode-xhtml.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode-xhtml.nix
index 71a7a1894a25..5d7f3f2dd10b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode-xhtml.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode-xhtml.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''buildnode-xhtml'';
   version = ''buildnode-20170403-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode.nix
index 26d907c2524c..0a2e56a9c9b8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/buildnode.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''buildnode'';
   version = ''20170403-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
index d159ce49581e..6cf810707343 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''caveman'';
   version = ''20181210-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
index c4e3b9b57340..a7d22ac129b9 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cffi-grovel'';
   version = ''cffi_0.20.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
index db85c50a5c1e..3d2463806073 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cffi-toolchain'';
   version = ''cffi_0.20.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
index 08115ea3a3ab..b83b14611978 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cffi'';
   version = ''cffi_0.20.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
index c9700a9d0091..c30c68e53c8d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''chipz'';
   version = ''20190202-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
index 365ae1d6ef65..41520bf41fb2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''chunga'';
   version = ''20180131-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
index ea812b38c954..2e387d29833f 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''circular-streams'';
   version = ''20161204-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
index 9ffc4c0d39ef..531d429df244 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-aa'';
   version = ''cl-vectors-20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
index 5dab19a55319..5f93167a1141 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-annot'';
   version = ''20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
index 8459e32fd045..a413743eb8d5 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-anonfun'';
   version = ''20111203-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
index 1e61d4e48e75..9b053c920e32 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-ansi-text'';
   version = ''20150804-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
index e366dc551d60..d84233c43424 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-async-repl'';
   version = ''cl-async-20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
index d18c95153ff5..c13b8b70647d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-async-ssl'';
   version = ''cl-async-20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
index 876a24055c21..363227534a8b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-async'';
   version = ''20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
index 8aa43a81f190..a4a9a9261fd6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-base64'';
   version = ''20150923-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
index aed744e04338..36641b73b750 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-cli'';
   version = ''20151218-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
index 9b69bf886c0e..0d0337a65cec 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-colors'';
   version = ''20180328-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
index 62f895b20279..a3aacd0aa8bd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-cookie'';
   version = ''20150804-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
index 82b63ca088dd..1f20b17672d7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
@@ -1,9 +1,9 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-csv'';
   version = ''20180831-git'';
 
-  parasites = [ "cl-csv/speed-test" "cl-csv/test" ];
+  parasites = [ "cl-csv/test" ];
 
   description = ''Facilities for reading and writing CSV format files'';
 
@@ -34,4 +34,4 @@ args @ { fetchurl, ... }:
     (alexandria cl-interpol cl-ppcre cl-unicode flexi-streams iterate
      lisp-unit2 named-readtables)
     VERSION 20180831-git SIBLINGS (cl-csv-clsql cl-csv-data-table) PARASITES
-    (cl-csv/speed-test cl-csv/test)) */
+    (cl-csv/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
index f495d7b4c82a..9c2580210085 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-dbi'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
index d6fb845aa386..1510495a4cbc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-emb'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
index f92d9c464cf4..d032b4768dd6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-fad'';
   version = ''20180430-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
index 399abebe6e70..6a40d0fa8c92 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-fuse-meta-fs'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
index b0e6159e6262..de71e2e299ad 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-fuse'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-hooks.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-hooks.nix
new file mode 100644
index 000000000000..72eafacb1902
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-hooks.nix
@@ -0,0 +1,34 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cl-hooks'';
+  version = ''architecture.hooks-20181210-git'';
+
+  parasites = [ "cl-hooks/test" ];
+
+  description = ''This system provides the hooks extension point
+mechanism (as known, e.g., from GNU Emacs).'';
+
+  deps = [ args."alexandria" args."anaphora" args."closer-mop" args."fiveam" args."let-plus" args."trivial-garbage" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz'';
+    sha256 = ''04l8rjmgsd7i580rpm1wndz1jcvfqrmwllnkh3h7als3azi3q2ns'';
+  };
+
+  packageName = "cl-hooks";
+
+  asdFilesToKeep = ["cl-hooks.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cl-hooks DESCRIPTION This system provides the hooks extension point
+mechanism (as known, e.g., from GNU Emacs).
+    SHA256 04l8rjmgsd7i580rpm1wndz1jcvfqrmwllnkh3h7als3azi3q2ns URL
+    http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz
+    MD5 698bdb1309cae19fb8f0e1e425ba4cd9 NAME cl-hooks FILENAME cl-hooks DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME closer-mop FILENAME closer-mop) (NAME fiveam FILENAME fiveam)
+     (NAME let-plus FILENAME let-plus)
+     (NAME trivial-garbage FILENAME trivial-garbage))
+    DEPENDENCIES
+    (alexandria anaphora closer-mop fiveam let-plus trivial-garbage) VERSION
+    architecture.hooks-20181210-git SIBLINGS NIL PARASITES (cl-hooks/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html-parse.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html-parse.nix
index 365360ba896b..61a35f2b58c6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html-parse.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html-parse.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-html-parse'';
   version = ''20161031-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
index 7f20a171734a..dde2cc31dd05 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-html5-parser'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
index feefecf75bbb..b0be8c775a37 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-interpol'';
   version = ''20180711-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-jpeg.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-jpeg.nix
index 66fb98ee0dec..713aff0ea405 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-jpeg.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-jpeg.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-jpeg'';
   version = ''20170630-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
index 9faf2b1b3888..d8bc535f3559 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-json'';
   version = ''20141217-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
index 0c276740f90a..dfabda0428f0 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-l10n-cldr'';
   version = ''20120909-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
index 1a13df679283..f37e653bc564 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-l10n'';
   version = ''20161204-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
index cbbc8ccb0b21..36d15673427c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-libuv'';
   version = ''20190107-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
index 7b5b7fb3e1ab..b1916c27bfdd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-markup'';
   version = ''20131003-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
index c8460177a244..1590f2536e34 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-mysql'';
   version = ''20171019-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
index c096c4d2728b..cfca59e3b503 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-paths-ttf'';
   version = ''cl-vectors-20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix
index 0f0a22c97e0e..e8034b11c237 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-paths'';
   version = ''cl-vectors-20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
index d54c37c2de1c..babdf04e3ec2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-pdf'';
   version = ''20170830-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
index 952a4394ae79..efd8197bbfb9 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
@@ -1,13 +1,13 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-postgres'';
   version = ''postmodern-20190521-git'';
 
-  parasites = [ "cl-postgres/simple-date-tests" "cl-postgres/tests" ];
+  parasites = [ "cl-postgres/tests" ];
 
   description = ''Low-level client library for PostgreSQL'';
 
-  deps = [ args."fiveam" args."md5" args."simple-date_slash_postgres-glue" args."split-sequence" args."usocket" ];
+  deps = [ args."fiveam" args."md5" args."split-sequence" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/postmodern/2019-05-21/postmodern-20190521-git.tgz'';
@@ -25,9 +25,8 @@ args @ { fetchurl, ... }:
     MD5 102567f386757cd52aca500c0c348d90 NAME cl-postgres FILENAME cl-postgres
     DEPS
     ((NAME fiveam FILENAME fiveam) (NAME md5 FILENAME md5)
-     (NAME simple-date/postgres-glue FILENAME simple-date_slash_postgres-glue)
      (NAME split-sequence FILENAME split-sequence)
      (NAME usocket FILENAME usocket))
-    DEPENDENCIES (fiveam md5 simple-date/postgres-glue split-sequence usocket)
-    VERSION postmodern-20190521-git SIBLINGS (postmodern s-sql simple-date)
-    PARASITES (cl-postgres/simple-date-tests cl-postgres/tests)) */
+    DEPENDENCIES (fiveam md5 split-sequence usocket) VERSION
+    postmodern-20190521-git SIBLINGS (postmodern s-sql simple-date) PARASITES
+    (cl-postgres/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
index c10a1500563b..4c97f03870fa 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-ppcre-template'';
   version = ''cl-unification-20190107-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
index 20433b51f877..27887f12497e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-ppcre-unicode'';
   version = ''cl-ppcre-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
index cfea494fc4bd..8bb8fb2478d8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-ppcre'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-prevalence.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-prevalence.nix
new file mode 100644
index 000000000000..46805421fa7c
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-prevalence.nix
@@ -0,0 +1,27 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cl-prevalence'';
+  version = ''20190521-git'';
+
+  description = ''Common Lisp Prevalence Package'';
+
+  deps = [ args."s-sysdeps" args."s-xml" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cl-prevalence/2019-05-21/cl-prevalence-20190521-git.tgz'';
+    sha256 = ''16j7ccpjdidz1p6mgib06viy966ckxzgkd6xcvg96xmr4hkksljf'';
+  };
+
+  packageName = "cl-prevalence";
+
+  asdFilesToKeep = ["cl-prevalence.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cl-prevalence DESCRIPTION Common Lisp Prevalence Package SHA256
+    16j7ccpjdidz1p6mgib06viy966ckxzgkd6xcvg96xmr4hkksljf URL
+    http://beta.quicklisp.org/archive/cl-prevalence/2019-05-21/cl-prevalence-20190521-git.tgz
+    MD5 6c81a4fe41bd63eef9ff8f4cc41aa6b9 NAME cl-prevalence FILENAME
+    cl-prevalence DEPS
+    ((NAME s-sysdeps FILENAME s-sysdeps) (NAME s-xml FILENAME s-xml))
+    DEPENDENCIES (s-sysdeps s-xml) VERSION 20190521-git SIBLINGS
+    (cl-prevalence-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
index 1e13378b38c4..496a0bd4e567 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-project'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-protobufs.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-protobufs.nix
index 81f1455714d9..046f910a8660 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-protobufs.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-protobufs.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-protobufs'';
   version = ''20180328-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
index c16486754db3..916af5b29727 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-reexport'';
   version = ''20150709-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
index 16cc2309e645..0d58e11b4d26 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-smtp'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
index b639681fd306..2aff988dfd24 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-store'';
   version = ''20180328-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
index 4639a66da78f..add200b09a1d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-syntax-annot'';
   version = ''cl-syntax-20150407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
index cea65514d4b1..c19a47df6c23 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-syntax-anonfun'';
   version = ''cl-syntax-20150407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
index fa08d3b114ce..cded8dc2d06d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-syntax-markup'';
   version = ''cl-syntax-20150407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
index 2715cfdf8dac..353c8210885e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-syntax'';
   version = ''20150407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
index 81b9153fff03..56d9b3632688 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-test-more'';
   version = ''prove-20171130-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-typesetting.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-typesetting.nix
index 38237f6f3b7b..358666877a6d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-typesetting.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-typesetting.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-typesetting'';
   version = ''20170830-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
index 77e2ba0036ce..7849acb57c0a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-unicode'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
index bb8a05b0d6d1..dbdd53a93469 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-unification'';
   version = ''20190107-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
index 4ccd82f2ccc7..ba8be7927f04 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-utilities'';
   version = ''1.2.4'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
index dbdd6d6b617c..f44bd0f22e0c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-vectors'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
index 19af99826fce..3be45384d418 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl-who'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
index 5294613b9789..f344dbfa2fe8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cl_plus_ssl'';
   version = ''cl+ssl-20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
index 4b0a4cd176d8..6cfd7842409c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clack-handler-hunchentoot'';
   version = ''clack-20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
index 4dcda09baeac..da7f15e03c17 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clack-socket'';
   version = ''clack-20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
index d8c8acf83aa6..1792d79f1d89 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clack-test'';
   version = ''clack-20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
index 8f2a19519ac1..6162f8ffe10c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clack-v1-compat'';
   version = ''clack-20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
index ab615e5dc83f..1813844e85fd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clack'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
index abbefea70b48..ca03207fabd8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''closer-mop'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
index 3448f70f5adb..c1b36b6b653c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''closure-common'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-html.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-html.nix
index 7df1e251ece9..7d9d8730f293 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-html.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-html.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''closure-html'';
   version = ''20180711-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql-socket.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql-socket.nix
index 8f6760b96247..9f4abb8e4756 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql-socket.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql-socket.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clsql-postgresql-socket'';
   version = ''clsql-20160208-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql.nix
index e90cda0f6d93..add3a15d27c7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-postgresql.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clsql-postgresql'';
   version = ''clsql-20160208-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-sqlite3.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-sqlite3.nix
index 254a22fbafa5..653adb3d12b3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-sqlite3.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-sqlite3.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clsql-sqlite3'';
   version = ''clsql-20160208-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-uffi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-uffi.nix
index c664c23dd1c5..8243a3375853 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-uffi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql-uffi.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clsql-uffi'';
   version = ''clsql-20160208-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
index e37eecabbca9..74b8442c0c90 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clsql'';
   version = ''20160208-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
index 458cb51e6adf..2f07706a9129 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clss'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
index ba45b3530573..303d43a964ee 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clx-truetype'';
   version = ''20160825-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
index 0fe6e115f3f2..6b99f99b7ab8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''clx'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/collectors.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/collectors.nix
index 0a4a40b06841..7375b8dd7094 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/collectors.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/collectors.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''collectors'';
   version = ''20161204-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
index 25eaf1fa6fa9..1d81acba2dc6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''command-line-arguments'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
index c1c209093d0a..38ea5aa106ce 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''css-lite'';
   version = ''20120407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-simple-tree.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-simple-tree.nix
index a0a6d2d7c2ec..98c565648dcb 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-simple-tree.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-simple-tree.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''css-selectors-simple-tree'';
   version = ''css-selectors-20160628-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-stp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-stp.nix
index 1aff3a5826cb..fcdb69f3c351 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-stp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors-stp.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''css-selectors-stp'';
   version = ''css-selectors-20160628-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors.nix
index 268eea723ddf..aa523d6f838b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-selectors.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''css-selectors'';
   version = ''20160628-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
index 9bef7fb990c5..ebae32962f10 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cxml-stp'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
index 667cf93d44f9..68a019fa027d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''cxml'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
index 9d0f2549f50b..173a31e9f31d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''dbd-mysql'';
   version = ''cl-dbi-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
index 9f3046eb51ff..6668cd4f762b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''dbd-postgres'';
   version = ''cl-dbi-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
index 7bc556eaff20..9b6fde0ea94b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''dbd-sqlite3'';
   version = ''cl-dbi-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
index 2e4006dbf3f4..26c5306c06a3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''dbi'';
   version = ''cl-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
index 5a84a62ee835..4d5bc0a22175 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''dexador'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
index 2896ec154ecd..3dbacdf0f81a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''do-urlencode'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
index a4196b2d394f..7c25ed9a0377 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''documentation-utils'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
index a3d063ec9bd9..aa97f8f7cbe3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''drakma'';
   version = ''v2.0.5'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix
index e94ed40f9e1c..d68fd839bd16 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''esrap-peg'';
   version = ''20170403-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
index 3ab6e03ab659..a024ad3907a3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''esrap'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
index adecbd142d37..4fd752342530 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''external-program'';
   version = ''20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
index 8d43fa3362cc..82c8603d4a45 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''fast-http'';
   version = ''20180831-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
index ea006556876e..89bed83acd54 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''fast-io'';
   version = ''20171023-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
index 8b5fe1f7de6c..39f2af5430fc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''fiasco'';
   version = ''20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
index 8ebd9f603816..be9648a0da4a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''fiveam'';
   version = ''v1.4.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
index 4d5524d9d18d..d9b25bebddc3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''flexi-streams'';
   version = ''20190107-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
index a5fe52ec0277..90ce8b83dde6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''form-fiddle'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
index 893cec1c72ad..d901df215a68 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''fset'';
   version = ''20171019-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
index 775e30e711a9..3754829ac37b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''http-body'';
   version = ''20181210-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
index 6fc92c088822..1f2700608e37 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''hu_dot_dwim_dot_asdf'';
   version = ''20190521-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix
index 98a77dad63cd..51f4a2d06980 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''hu_dot_dwim_dot_stefil'';
   version = ''20170403-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
index 11d0831c96fc..e822fb487150 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
@@ -1,16 +1,16 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''hunchentoot'';
   version = ''v1.2.38'';
 
-  parasites = [ "hunchentoot-dev" "hunchentoot-test" ];
+  parasites = [ "hunchentoot-test" ];
 
   description = ''Hunchentoot is a HTTP server based on USOCKET and
   BORDEAUX-THREADS.  It supports HTTP 1.1, serves static files, has a
   simple framework for user-defined handlers and can be extended
   through subclassing.'';
 
-  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chunga" args."cl_plus_ssl" args."cl-base64" args."cl-fad" args."cl-ppcre" args."cl-who" args."cxml-stp" args."drakma" args."flexi-streams" args."md5" args."rfc2388" args."split-sequence" args."swank" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" args."xpath" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chunga" args."cl_plus_ssl" args."cl-base64" args."cl-fad" args."cl-ppcre" args."cl-who" args."drakma" args."flexi-streams" args."md5" args."rfc2388" args."split-sequence" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/hunchentoot/2017-12-27/hunchentoot-v1.2.38.tgz'';
@@ -36,18 +36,18 @@ args @ { fetchurl, ... }:
      (NAME cffi FILENAME cffi) (NAME chunga FILENAME chunga)
      (NAME cl+ssl FILENAME cl_plus_ssl) (NAME cl-base64 FILENAME cl-base64)
      (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME cl-who FILENAME cl-who) (NAME cxml-stp FILENAME cxml-stp)
-     (NAME drakma FILENAME drakma) (NAME flexi-streams FILENAME flexi-streams)
-     (NAME md5 FILENAME md5) (NAME rfc2388 FILENAME rfc2388)
-     (NAME split-sequence FILENAME split-sequence) (NAME swank FILENAME swank)
+     (NAME cl-who FILENAME cl-who) (NAME drakma FILENAME drakma)
+     (NAME flexi-streams FILENAME flexi-streams) (NAME md5 FILENAME md5)
+     (NAME rfc2388 FILENAME rfc2388)
+     (NAME split-sequence FILENAME split-sequence)
      (NAME trivial-backtrace FILENAME trivial-backtrace)
      (NAME trivial-features FILENAME trivial-features)
      (NAME trivial-garbage FILENAME trivial-garbage)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams)
-     (NAME usocket FILENAME usocket) (NAME xpath FILENAME xpath))
+     (NAME usocket FILENAME usocket))
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi chunga cl+ssl cl-base64 cl-fad
-     cl-ppcre cl-who cxml-stp drakma flexi-streams md5 rfc2388 split-sequence
-     swank trivial-backtrace trivial-features trivial-garbage
-     trivial-gray-streams usocket xpath)
-    VERSION v1.2.38 SIBLINGS NIL PARASITES (hunchentoot-dev hunchentoot-test)) */
+     cl-ppcre cl-who drakma flexi-streams md5 rfc2388 split-sequence
+     trivial-backtrace trivial-features trivial-garbage trivial-gray-streams
+     usocket)
+    VERSION v1.2.38 SIBLINGS NIL PARASITES (hunchentoot-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
index 9dfeb3f12062..1b948bcf325e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''idna'';
   version = ''20120107-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
index 675521dcde94..4211dfbc9194 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''ieee-floats'';
   version = ''20170830-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
index bd0e896e1434..c4ae44cd6761 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib'';
   version = ''v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix
index d5e072e5f6a8..195b52c08c45 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib_dot_asdf'';
   version = ''iolib-v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix
index 445da3b1b179..aa650edde020 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib_dot_base'';
   version = ''iolib-v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix
index 415e7a598202..c0ec72d48695 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib_dot_common-lisp'';
   version = ''iolib-v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix
index 58fd95012e82..4ba0cfa1ce2e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib_dot_conf'';
   version = ''iolib-v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix
index 009e0e278660..7a1a12243fe2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iolib_dot_grovel'';
   version = ''iolib-v0.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
index 727be89bf446..2c56b5964f97 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''ironclad'';
   version = ''v0.46'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
index 9a91033bb8be..f276ec72736d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''iterate'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
index 790638f5954c..702eb2d05b55 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''jonathan'';
   version = ''20190202-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
index 88ededf0e73b..e44004a9cf7e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''kmrcl'';
   version = ''20150923-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
index c94277bb2114..e4b89c382dc3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lack-component'';
   version = ''lack-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
index 3fc76c73576a..0d50e58ff55d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lack-middleware-backtrace'';
   version = ''lack-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
index 221ac216cf83..cadf617bbdf0 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lack-util'';
   version = ''lack-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
index 7740e73c0e5b..08095979989b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lack'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
index 91e28f402b23..1f6a0709b0f4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''let-plus'';
   version = ''20171130-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
index 8d52d518e113..9dd6baad1bdc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lev'';
   version = ''20150505-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-client.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-client.nix
index 6ff0fdb4c829..10977c16f838 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-client.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-client.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lfarm-client'';
   version = ''lfarm-20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-common.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-common.nix
index 4be971bef065..4a5fe87982ae 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-common.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-common.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lfarm-common'';
   version = ''lfarm-20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-server.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-server.nix
index 44c8cc01c95f..354d6c315076 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-server.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-server.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lfarm-server'';
   version = ''lfarm-20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-ssl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-ssl.nix
index 3d917ff2817f..348c71fe9663 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-ssl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lfarm-ssl.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lfarm-ssl'';
   version = ''lfarm-20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
index 84f0ca863ec1..1edb65596a6c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lift'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
index 802b9eb2b7a9..7f88beb974b0 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lisp-namespace'';
   version = ''20171130-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix
index c623d368a043..8d21f88cbf82 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lisp-unit2'';
   version = ''20180131-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
index 4695c3dfe0e7..5ffa27fcca53 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''local-time'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
index a4011b78d4f4..1a6f217a2f96 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lparallel'';
   version = ''20160825-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
index 5dbd186e62e7..f64e9ee6a330 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''lquery'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
index c6445010f544..8187c99f94a4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''map-set'';
   version = ''20190307-hg'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
index 531cc1adc1af..4f6842606b45 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''marshal'';
   version = ''cl-20180328-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
index b34fdd83ca38..953dd0a58a4a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''md5'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
index cf2c3a1c777b..d72e0839d1e8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''metabang-bind'';
   version = ''20171130-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
index 13d0b971d44b..16609db5c22c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''misc-extensions'';
   version = ''20150608-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
index f1fe0e3c2791..a8cfc070bf99 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''mt19937'';
   version = ''1.1.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
index 16b1f22ceebb..068d0eba69dd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''myway'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
index c5f1379f421f..82d06b1c93b2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''named-readtables'';
   version = ''20180131-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
index dcc49aa79937..4e7c84566a0a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''net_dot_didierverna_dot_asdf-flv'';
   version = ''asdf-flv-version-2.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
index 0a3dba6b8243..ea6adac9e9f8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''nibbles'';
   version = ''20180831-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
index b5b6ace2ae94..07b86f58fe7c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''optima'';
   version = ''20150709-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
index 2bf306507858..bf6216dcaddc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''parenscript'';
   version = ''Parenscript-2.7.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
index 72bef6f60bf2..e636df0805e7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''parse-number'';
   version = ''v1.7'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
index 0c34654b1ae3..fe9ccae2886a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''pcall-queue'';
   version = ''pcall-0.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
index c041d1778fac..99e9517e50e4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''pcall'';
   version = ''0.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
index 53af356f05ac..8757c704c8f4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''plump'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
index 3afcbf98d505..8ffcbc784ff7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''proc-parse'';
   version = ''20160318-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
index 92ac9e33d499..065c81e11a68 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''prove'';
   version = ''20171130-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix
index b4957d68e883..ffa2e595c26a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''ptester'';
   version = ''20160929-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
index 84b252f93a51..4f6946783939 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''puri'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
index dbeb5f1d08e0..3666dda9bf87 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''query-fs'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
index fed624578912..f6022cb2a1f2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''quri'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
index e6c1477298d4..25d535176a6a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''rfc2388'';
   version = ''20180831-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix
index 14b327a97364..d5be4be7daf4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''rt'';
   version = ''20101006-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sysdeps.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sysdeps.nix
new file mode 100644
index 000000000000..1c28ec6e2afd
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sysdeps.nix
@@ -0,0 +1,25 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''s-sysdeps'';
+  version = ''20130128-git'';
+
+  description = ''An abstraction layer over platform dependent functionality'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz'';
+    sha256 = ''048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00'';
+  };
+
+  packageName = "s-sysdeps";
+
+  asdFilesToKeep = ["s-sysdeps.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM s-sysdeps DESCRIPTION
+    An abstraction layer over platform dependent functionality SHA256
+    048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00 URL
+    http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz
+    MD5 2fe61fadafd62ef9597e17b4783889ef NAME s-sysdeps FILENAME s-sysdeps DEPS
+    NIL DEPENDENCIES NIL VERSION 20130128-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-xml.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-xml.nix
new file mode 100644
index 000000000000..ec12dde52231
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-xml.nix
@@ -0,0 +1,27 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''s-xml'';
+  version = ''20150608-git'';
+
+  parasites = [ "s-xml.examples" "s-xml.test" ];
+
+  description = ''Simple Common Lisp XML Parser'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz'';
+    sha256 = ''0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq'';
+  };
+
+  packageName = "s-xml";
+
+  asdFilesToKeep = ["s-xml.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM s-xml DESCRIPTION Simple Common Lisp XML Parser SHA256
+    0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq URL
+    http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz
+    MD5 9c31c80f0661777c493fab683f776716 NAME s-xml FILENAME s-xml DEPS NIL
+    DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL PARASITES
+    (s-xml.examples s-xml.test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
index 26c616ec3922..9056cfbdcca8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''salza2'';
   version = ''2.0.9'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
index 7b5f33e7bc22..9f125cfd52a3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''simple-date'';
   version = ''postmodern-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
index a6fc781c3698..63adab55741b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''smart-buffer'';
   version = ''20160628-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
index be9f59986428..a22076facd39 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''split-sequence'';
   version = ''v2.0.0'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
index cd018a4b9975..57dec7c93cac 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''sqlite'';
   version = ''cl-20130615-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
index 0386a674916b..1cd4e4c44027 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''static-vectors'';
   version = ''v1.8.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stefil.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stefil.nix
index 7c769e614c14..df63a5c9836a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stefil.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stefil.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''stefil'';
   version = ''20181210-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/string-case.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/string-case.nix
index 2b38115aabdd..17a56c09b7e8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/string-case.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/string-case.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''string-case'';
   version = ''20180711-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
index fa0a2ab7944d..e89eb1971d60 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''stumpwm'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
index ec14ffffcba1..50b815425dc6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''swank'';
   version = ''slime-v2.24'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
index 89003686df38..f0df3b84f153 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''swap-bytes'';
   version = ''v1.1'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix
index 9ec472fa08a1..4bae3cc1ceed 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''symbol-munger'';
   version = ''20150407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
index d10b68b2d2ed..683f87357f56 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-backtrace'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
index 8db7c603ec88..82d0e4513ab1 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-features'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
index 4d26aa435193..c629bb3548d4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-garbage'';
   version = ''20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
index 7826a9379924..2aee236ac0ca 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-gray-streams'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
index 002c75e10212..33eedbaa8184 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-indent'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
index 960778dc17c1..f02d9e0dc2c7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-mimes'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
index 6bfaac06f2dd..8cc04c2c64ac 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-types'';
   version = ''20120407-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
index b4282ec33ce1..00a484f11bfd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''trivial-utf-8'';
   version = ''20111001-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
index f5e8677f508f..1986f7c88f7a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''uffi'';
   version = ''20180228-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
index ae9c1c6d5ac7..18f1b74edbd3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''uiop'';
   version = ''3.3.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix
index 6a877e5a9646..6c4564967320 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''unit-test'';
   version = ''20120520-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
index fccce79eb84d..c3928cf0e4cc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''usocket'';
   version = ''0.8.2'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
index 2fb1cdacfac2..6a4751f799ea 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''vom'';
   version = ''20160825-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
index 7825678c77c5..59a41a7cf9ae 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''woo'';
   version = ''20190710-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
index 93bcb2072a7b..f717441068b6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''wookie'';
   version = ''20181018-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
index db03e57a663b..9854567fd5bf 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''xembed'';
   version = ''clx-20190307-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix
index 71cd9cfbde6b..4bfc0678f0f1 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''xkeyboard'';
   version = ''clx-20120811-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
index a9a1cfc7ec02..c02e6e248186 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
@@ -1,13 +1,13 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''xmls'';
   version = ''3.0.2'';
 
-  parasites = [ "xmls/octets" "xmls/test" "xmls/unit-test" ];
+  parasites = [ "xmls/test" "xmls/unit-test" ];
 
   description = ''System lacks description'';
 
-  deps = [ args."cl-ppcre" args."fiveam" args."flexi-streams" ];
+  deps = [ args."fiveam" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz'';
@@ -23,7 +23,5 @@ args @ { fetchurl, ... }:
     1r7mvw62zjcg45j3hm8jlbiisad2b415pghn6qcmhl03dmgp7kgi URL
     http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz MD5
     2462bab4a5d74e87ef7bdef41cd06dc8 NAME xmls FILENAME xmls DEPS
-    ((NAME cl-ppcre FILENAME cl-ppcre) (NAME fiveam FILENAME fiveam)
-     (NAME flexi-streams FILENAME flexi-streams))
-    DEPENDENCIES (cl-ppcre fiveam flexi-streams) VERSION 3.0.2 SIBLINGS NIL
-    PARASITES (xmls/octets xmls/test xmls/unit-test)) */
+    ((NAME fiveam FILENAME fiveam)) DEPENDENCIES (fiveam) VERSION 3.0.2
+    SIBLINGS NIL PARASITES (xmls/test xmls/unit-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
index e2a5494c5b4b..3e14a5ba9f06 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''xpath'';
   version = ''plexippus-20190521-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
index 92f661f85310..b9ab71744c3a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''xsubseq'';
   version = ''20170830-git'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix
index cf8f3a8ac0fd..c7031f4aa3fc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''yacc'';
   version = ''cl-20101006-darcs'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
index ca74dd0e5007..e14a540a1783 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''yason'';
   version = ''v0.7.6'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
index 3aa695caed6f..74e5d7e97e95 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
@@ -1,5 +1,5 @@
 args @ { fetchurl, ... }:
-{
+rec {
   baseName = ''zpb-ttf'';
   version = ''1.0.3'';
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 1ff76e3ec4cf..5cdeef36840c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -66,11 +66,11 @@ in
   cl-async-ssl = addNativeLibs [pkgs.openssl (import ./openssl-lib-marked.nix)];
   cl-async-test = addNativeLibs [pkgs.openssl];
   clsql = x: {
-    propagatedBuildInputs = with pkgs; [mysql.connector-c postgresql sqlite zlib];
+    propagatedBuildInputs = with pkgs; [libmysqlclient postgresql sqlite zlib];
     overrides = y: (x.overrides y) // {
       preConfigure = ((x.overrides y).preConfigure or "") + ''
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.mysql.connector-c}/include/mysql"
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.mysql.connector-c}/lib/mysql"
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.libmysqlclient}/include/mysql"
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.libmysqlclient}/lib/mysql"
       '';
     };
   };
@@ -90,7 +90,14 @@ $out/lib/common-lisp/query-fs"
     };
   };
   cffi = addNativeLibs [pkgs.libffi];
-  cl-mysql = addNativeLibs [pkgs.mysql];
+  cl-mysql = x: {
+    propagatedBuildInputs = [pkgs.libmysqlclient];
+    overrides = y: (x.overrides y) // {
+      prePatch = ((x.overrides y).prePatch or "") + ''
+        sed -i 's,libmysqlclient_r,${pkgs.libmysqlclient}/lib/mysql/libmysqlclient_r,' system.lisp
+      '';
+    };
+  };
   cl-ppcre-template = x: {
     overrides = y: (x.overrides y) // {
       postPatch = ''
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
index a4dee0bce573..ce73d3baec46 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
@@ -1,3 +1,4 @@
+cl-prevalence
 3bmd
 alexandria
 array-utils
@@ -26,6 +27,7 @@ cl-dbi
 cl-emb
 cl-fuse
 cl-fuse-meta-fs
+cl-hooks
 cl-html-parse
 cl-html5-parser
 cl-jpeg
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index d430f72353a1..db725d415c51 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -6,9 +6,6 @@ let quicklisp-to-nix-packages = rec {
   buildLispPackage = callPackage ./define-package.nix;
   qlOverrides = callPackage ./quicklisp-to-nix-overrides.nix {};
 
-  "simple-date_slash_postgres-glue" = quicklisp-to-nix-packages."simple-date";
-
-
   "xpath_slash_test" = quicklisp-to-nix-packages."xpath";
 
 
@@ -255,7 +252,6 @@ let quicklisp-to-nix-packages = rec {
          inherit fetchurl;
            "fiveam" = quicklisp-to-nix-packages."fiveam";
            "md5" = quicklisp-to-nix-packages."md5";
-           "simple-date_slash_postgres-glue" = quicklisp-to-nix-packages."simple-date_slash_postgres-glue";
            "split-sequence" = quicklisp-to-nix-packages."split-sequence";
            "usocket" = quicklisp-to-nix-packages."usocket";
        }));
@@ -949,6 +945,22 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "s-xml" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."s-xml" or (x: {}))
+       (import ./quicklisp-to-nix-output/s-xml.nix {
+         inherit fetchurl;
+       }));
+
+
+  "s-sysdeps" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."s-sysdeps" or (x: {}))
+       (import ./quicklisp-to-nix-output/s-sysdeps.nix {
+         inherit fetchurl;
+       }));
+
+
   "yason" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."yason" or (x: {}))
@@ -972,9 +984,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."xmls" or (x: {}))
        (import ./quicklisp-to-nix-output/xmls.nix {
          inherit fetchurl;
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "fiveam" = quicklisp-to-nix-packages."fiveam";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
        }));
 
 
@@ -1643,19 +1653,16 @@ let quicklisp-to-nix-packages = rec {
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "cl-who" = quicklisp-to-nix-packages."cl-who";
-           "cxml-stp" = quicklisp-to-nix-packages."cxml-stp";
            "drakma" = quicklisp-to-nix-packages."drakma";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
            "md5" = quicklisp-to-nix-packages."md5";
            "rfc2388" = quicklisp-to-nix-packages."rfc2388";
            "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-           "swank" = quicklisp-to-nix-packages."swank";
            "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
            "trivial-features" = quicklisp-to-nix-packages."trivial-features";
            "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
            "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
            "usocket" = quicklisp-to-nix-packages."usocket";
-           "xpath" = quicklisp-to-nix-packages."xpath";
        }));
 
 
@@ -2558,6 +2565,20 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "cl-hooks" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-hooks" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-hooks.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "let-plus" = quicklisp-to-nix-packages."let-plus";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
+       }));
+
+
   "cl-fuse-meta-fs" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-fuse-meta-fs" or (x: {}))
@@ -2991,6 +3012,16 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "cl-prevalence" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-prevalence" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-prevalence.nix {
+         inherit fetchurl;
+           "s-sysdeps" = quicklisp-to-nix-packages."s-sysdeps";
+           "s-xml" = quicklisp-to-nix-packages."s-xml";
+       }));
+
+
 };
 in
    quicklisp-to-nix-packages
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
index 6a4c2b4ad1a2..0f7941a01157 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
@@ -265,7 +265,9 @@ parasitic systems will be tracked."
     (cond
       (source-file
        (loop :for system-name :being :the :hash-keys :of asdf/find-system::*registered-systems* :do
-          (when (and (parasitic-relationship-p system system-name)
+             ; for an unclear reason, a literal 0 which is not a key in the hash table gets observed
+          (when (and (gethash system-name asdf/find-system::*registered-systems*)
+                     (parasitic-relationship-p system system-name)
                      (not (blacklisted-parasite-p system-name)))
             (found-new-parasite system-name)
             (let ((*track-dependencies* t))
diff --git a/nixpkgs/pkgs/development/lisp-modules/shell.nix b/nixpkgs/pkgs/development/lisp-modules/shell.nix
index b3d50b2fb075..4a1f9ded56c8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/shell.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/shell.nix
@@ -6,11 +6,11 @@ self = rec {
   env = buildEnv { name = name; paths = buildInputs; };
   buildInputs = [
     gcc stdenv
-    openssl fuse libuv mysql.connector-c libfixposix libev sqlite
+    openssl fuse libuv libmysqlclient libfixposix libev sqlite
     freetds
     lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
   ];
   CPATH = "${libfixposix}/include";
-  LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${mysql.connector-c}/lib:${mysql.connector-c}/lib/mysql:${postgresql.lib}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib:${openssl_lib_marked}/lib";
+  LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${libmysqlclient}/lib:${libmysqlclient}/lib/mysql:${postgresql.lib}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib:${openssl_lib_marked}/lib";
 };
 in stdenv.mkDerivation self
diff --git a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
index 5adc23979393..4cff22a8d41c 100644
--- a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
+++ b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
@@ -810,6 +810,25 @@ luacheck = buildLuarocksPackage {
     };
   };
 };
+luacov = buildLuarocksPackage {
+  pname = "luacov";
+  version = "0.13.0-1";
+
+  src = fetchurl {
+    url    = mirror://luarocks/luacov-0.13.0-1.src.rock;
+    sha256 = "16am0adzr4y64n94f64d4yrz65in8rwa8mmjz1p0k8afm5p5759i";
+  };
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  propagatedBuildInputs = [ lua ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://keplerproject.github.io/luacov/";
+    description = "Coverage analysis tool for Lua scripts";
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 luadbi = buildLuarocksPackage {
   pname = "luadbi";
   version = "0.7.2-1";
@@ -886,6 +905,24 @@ luadbi-sqlite3 = buildLuarocksPackage {
     };
   };
 };
+luadoc = buildLuarocksPackage {
+  pname = "luadoc";
+  version = "3.0.1-1";
+
+  src = fetchurl {
+    url    = mirror://luarocks/luadoc-3.0.1-1.src.rock;
+    sha256 = "112zqjbzkrhx3nvavrxx3vhpv2ix85pznzzbpa8fq4piyv5r781i";
+  };
+  propagatedBuildInputs = [ lualogging luafilesystem ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://luadoc.luaforge.net/";
+    description = "LuaDoc is a documentation tool for Lua source code";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 luaevent = buildLuarocksPackage {
   pname = "luaevent";
   version = "0.4.6-1";
@@ -964,6 +1001,24 @@ luafilesystem = buildLuarocksPackage {
     };
   };
 };
+lualogging = buildLuarocksPackage {
+  pname = "lualogging";
+  version = "1.3.0-1";
+
+  src = fetchurl {
+    url    = mirror://luarocks/lualogging-1.3.0-1.src.rock;
+    sha256 = "13fm1vlig3zmbfkmlq1vk3xfqhlvv5xf24b0p4k4d08395y858vc";
+  };
+  propagatedBuildInputs = [ luasocket ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Neopallium/lualogging";
+    description = "A simple API to use logging features";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 luaossl = buildLuarocksPackage {
   pname = "luaossl";
   version = "20190731-0";
diff --git a/nixpkgs/pkgs/development/lua-modules/overrides.nix b/nixpkgs/pkgs/development/lua-modules/overrides.nix
index 9f57fbb5fa9e..fd99a70de3a6 100644
--- a/nixpkgs/pkgs/development/lua-modules/overrides.nix
+++ b/nixpkgs/pkgs/development/lua-modules/overrides.nix
@@ -29,7 +29,7 @@ with super;
     # Parse out a version number without the Lua version inserted
     version = with pkgs.lib; let
       version' = super.cqueues.version;
-      rel = splitString "." version';
+      rel = splitVersion version';
       date = head rel;
       rev = last (splitString "-" (last rel));
     in "${date}-${rev}";
@@ -42,7 +42,8 @@ with super;
     ];
 
     # https://github.com/wahern/cqueues/issues/227
-    NIX_CFLAGS_COMPILE = if pkgs.stdenv.hostPlatform.isDarwin then [ "-DCLOCK_MONOTONIC" "-DCLOCK_REALTIME" ] else null;
+    NIX_CFLAGS_COMPILE = with pkgs.stdenv; lib.optionalString hostPlatform.isDarwin
+      "-DCLOCK_MONOTONIC -DCLOCK_REALTIME";
 
     disabled = luaOlder "5.1" || luaAtLeast "5.4";
     # Upstream rockspec is pointlessly broken into separate rockspecs, per Lua
@@ -105,7 +106,7 @@ with super;
     ];
     buildInputs = [
       pkgs.glib
-      pkgs.gobjectIntrospection
+      pkgs.gobject-introspection
     ];
     patches = [
       (pkgs.fetchpatch {
@@ -154,12 +155,12 @@ with super;
   luadbi-mysql = super.luadbi-mysql.override({
     extraVariables = ''
       -- Can't just be /include and /lib, unfortunately needs the trailing 'mysql'
-      MYSQL_INCDIR='${pkgs.mysql.connector-c}/include/mysql';
-      MYSQL_LIBDIR='${pkgs.mysql.connector-c}/lib/mysql';
+      MYSQL_INCDIR='${pkgs.libmysqlclient}/include/mysql';
+      MYSQL_LIBDIR='${pkgs.libmysqlclient}/lib/mysql';
     '';
     buildInputs = [
       pkgs.mysql.client
-      pkgs.mysql.connector-c
+      pkgs.libmysqlclient
     ];
   });
 
@@ -224,7 +225,7 @@ with super;
   });
 
   luasystem = super.luasystem.override({
-    buildInputs = [
+    buildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [
       pkgs.glibc
     ];
   });
@@ -253,7 +254,7 @@ with super;
     # Upstreams:
     # 5.1: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/luuid.tar.gz
     # 5.2: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/luuid.tar.gz
-    patchFlags = "-p2";
+    patchFlags = [ "-p2" ];
     patches = [
       ./luuid.patch
     ];
@@ -273,17 +274,22 @@ with super;
      sed -i 's,\(option(WITH_SHARED_LIBUV.*\)OFF,\1ON,' CMakeLists.txt
      rm -rf deps/libuv
     '';
-    propagatedBuildInputs = [
-      pkgs.libuv
-    ];
+
+    buildInputs = [ pkgs.libuv ];
 
     passthru = {
-      libluv = self.luv.override({
+      libluv = self.luv.override ({
         preBuild = self.luv.preBuild + ''
-         sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt
-         sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt
-         sed -i 's,${"\${INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt
+          sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt
+          sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt
+          sed -i 's,${"\${INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt
         '';
+
+        nativeBuildInputs = [ pkgs.fixDarwinDylibNames ];
+
+        # Fixup linking libluv.dylib, for some reason it's not linked against lua correctly.
+        NIX_LDFLAGS = pkgs.lib.optionalString pkgs.stdenv.isDarwin
+          (if isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua");
       });
     };
   });
diff --git a/nixpkgs/pkgs/development/misc/amdapp-sdk/default.nix b/nixpkgs/pkgs/development/misc/amdapp-sdk/default.nix
index 4169b9e4d35d..a3a4573c0aed 100644
--- a/nixpkgs/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/nixpkgs/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
 }:
@@ -46,8 +46,8 @@ 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 ];
+  patchFlags = [ "-p0" ];
+  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/nixpkgs/pkgs/development/misc/h3/default.nix b/nixpkgs/pkgs/development/misc/h3/default.nix
new file mode 100644
index 000000000000..00e35b64f5fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/h3/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, cmake
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "h3";
+  version = "3.6.2";
+
+  src = fetchFromGitHub {
+    owner = "uber";
+    repo = "h3";
+    rev = "v${version}";
+    sha256 = "0mlv3jk0j340l0bhr3brxm3hbdcfmyp86h7d85537c81cl64y7kg";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DENABLE_LINTING=OFF"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/uber/h3";
+    description = "Hexagonal hierarchical geospatial indexing system";
+    license = licenses.asl20;
+    maintainers = [ maintainers.kalbasit ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/misc/qmk_firmware/default.nix b/nixpkgs/pkgs/development/misc/qmk_firmware/default.nix
index 8abe4b2550e0..38b1df3ca3b5 100644
--- a/nixpkgs/pkgs/development/misc/qmk_firmware/default.nix
+++ b/nixpkgs/pkgs/development/misc/qmk_firmware/default.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
       --replace arm-none-eabi arm-none-eabihf
     rm keyboards/handwired/frenchdev/rules.mk keyboards/dk60/rules.mk
   '';
-  buildFlags = "all:default";
+  buildFlags = [ "all:default" ];
   doCheck = true;
   checkTarget = "test:all";
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix b/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix
index bc806410b1ea..ee424d18f159 100644
--- a/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix
+++ b/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix
@@ -62,6 +62,7 @@ in stdenv.mkDerivation rec {
     homepage = https://github.com/betaflight/betaflight;
     license = licenses.gpl3;
     maintainers = with maintainers; [ elitak ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/misc/stm32/inav/default.nix b/nixpkgs/pkgs/development/misc/stm32/inav/default.nix
index 5014cdce8f37..27e96b067b4f 100644
--- a/nixpkgs/pkgs/development/misc/stm32/inav/default.nix
+++ b/nixpkgs/pkgs/development/misc/stm32/inav/default.nix
@@ -54,6 +54,7 @@ in stdenv.mkDerivation rec {
     homepage = https://inavflight.github.io;
     license = licenses.gpl3;
     maintainers = with maintainers; [ elitak ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/misc/vc4/newlib.nix b/nixpkgs/pkgs/development/misc/vc4/newlib.nix
new file mode 100644
index 000000000000..e1a8b2eeaa6a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/nixpkgs/pkgs/development/misc/yelp-tools/default.nix
index 43863bf7f856..75754bec7a11 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix b/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix
index 976ef1416275..9e273468cd3f 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix
@@ -3,7 +3,7 @@
 deployAndroidPackage {
   inherit package os;
   buildInputs = [ autoPatchelfHook makeWrapper ] ++
-    lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 pkgs_i686.glibc pkgs_i686.zlib pkgs_i686.ncurses5 ];
+    lib.optionals (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 pkgs_i686.glibc pkgs_i686.zlib pkgs_i686.ncurses5 ];
   patchInstructions = ''
     ${lib.optionalString (os == "linux") ''
       addAutoPatchelfSearchPath $packageBaseDir/lib
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/deploy-androidpackage.nix b/nixpkgs/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
index 97fd197cb7d0..839a14f7033c 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/lldb.nix b/nixpkgs/pkgs/development/mobile/androidenv/lldb.nix
index d812a679c021..e8a158c01ec7 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/lldb.nix
+++ b/nixpkgs/pkgs/development/mobile/androidenv/lldb.nix
@@ -3,7 +3,7 @@
 deployAndroidPackage {
   inherit package os;
   buildInputs = [ autoPatchelfHook ]
-    ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.zlib pkgs.openssl.out pkgs.ncurses5 ];
+    ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.zlib pkgs.openssl_1_0_2.out pkgs.ncurses5 ];
   patchInstructions = lib.optionalString (os == "linux") ''
     addAutoPatchelfSearchPath $packageBaseDir/lib
     autoPatchelf $packageBaseDir/lib
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/platform-tools.nix b/nixpkgs/pkgs/development/mobile/androidenv/platform-tools.nix
index 9d2f6eb6075e..c39d966959a3 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/nixpkgs/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -3,12 +3,12 @@
 deployAndroidPackage {
   inherit package os;
   buildInputs = [ autoPatchelfHook ]
-    ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ];
+    ++ lib.optionals (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ];
   patchInstructions = lib.optionalString (os == "linux") ''
     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/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
index c75dc334ebc9..c077132a9f3d 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
@@ -1,21 +1,21 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.1)
+    CFPropertyList (3.0.2)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
-    algoliasearch (1.26.1)
+    algoliasearch (1.27.1)
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.8.0.beta.2)
+    cocoapods (1.9.0.beta.1)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.8.0.beta.2)
+      cocoapods-core (= 1.9.0.beta.1)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -30,43 +30,50 @@ GEM
       molinillo (~> 0.6.6)
       nap (~> 1.0)
       ruby-macho (~> 1.4)
-      xcodeproj (>= 1.11.1, < 2.0)
-    cocoapods-core (1.8.0.beta.2)
+      xcodeproj (>= 1.14.0, < 2.0)
+    cocoapods-core (1.9.0.beta.1)
       activesupport (>= 4.0.2, < 6)
       algoliasearch (~> 1.0)
-      concurrent-ruby (~> 1.0)
+      concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
+      netrc (~> 0.11)
+      typhoeus (~> 1.0)
     cocoapods-deintegrate (1.0.4)
-    cocoapods-downloader (1.2.2)
+    cocoapods-downloader (1.3.0)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
     cocoapods-stats (1.1.0)
-    cocoapods-trunk (1.4.0)
+    cocoapods-trunk (1.4.1)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.1.0)
     colored2 (3.1.2)
     concurrent-ruby (1.1.5)
     escape (0.0.4)
+    ethon (0.12.0)
+      ffi (>= 1.3.0)
+    ffi (1.11.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    json (2.2.0)
-    minitest (5.11.3)
+    json (2.3.0)
+    minitest (5.13.0)
     molinillo (0.6.6)
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
     ruby-macho (1.4.0)
     thread_safe (0.3.6)
+    typhoeus (1.3.1)
+      ethon (>= 0.9.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    xcodeproj (1.12.0)
+    xcodeproj (1.14.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -80,4 +87,4 @@ DEPENDENCIES
   cocoapods (>= 1.7.0.beta.1)!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
index b8ce7131b9fa..958f36192f99 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
@@ -1,24 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.0)
+    CFPropertyList (3.0.1)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
+    algoliasearch (1.27.1)
+      httpclient (~> 2.8, >= 2.8.3)
+      json (>= 1.5.1)
     atomos (0.1.3)
-    claide (1.0.2)
-    cocoapods (1.7.5)
+    claide (1.0.3)
+    cocoapods (1.8.4)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.7.5)
+      cocoapods-core (= 1.8.4)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
       cocoapods-search (>= 1.0.0, < 2.0)
       cocoapods-stats (>= 1.0.0, < 2.0)
-      cocoapods-trunk (>= 1.3.1, < 2.0)
+      cocoapods-trunk (>= 1.4.0, < 2.0)
       cocoapods-try (>= 1.1.0, < 2.0)
       colored2 (~> 3.1)
       escape (~> 0.0.4)
@@ -27,9 +30,11 @@ GEM
       molinillo (~> 0.6.6)
       nap (~> 1.0)
       ruby-macho (~> 1.4)
-      xcodeproj (>= 1.10.0, < 2.0)
-    cocoapods-core (1.7.5)
+      xcodeproj (>= 1.11.1, < 2.0)
+    cocoapods-core (1.8.4)
       activesupport (>= 4.0.2, < 6)
+      algoliasearch (~> 1.0)
+      concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
     cocoapods-deintegrate (1.0.4)
@@ -38,7 +43,7 @@ GEM
       nap
     cocoapods-search (1.0.0)
     cocoapods-stats (1.1.0)
-    cocoapods-trunk (1.3.1)
+    cocoapods-trunk (1.4.1)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.1.0)
@@ -48,9 +53,11 @@ GEM
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
+    httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    minitest (5.11.3)
+    json (2.2.0)
+    minitest (5.12.2)
     molinillo (0.6.6)
     nanaimo (0.2.6)
     nap (1.1.0)
@@ -59,7 +66,7 @@ GEM
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    xcodeproj (1.11.0)
+    xcodeproj (1.13.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix b/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
index e2d4127ae44d..120680f658dd 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vlasxdgz49y75p8vjkbdpb4kmc73xv71d7vpn9x9xjgvsar03kp";
+      sha256 = "1ayg8j3819ay2d8618jv32ca16fh8qsgjsiq9j32yd016c170nkj";
       type = "gem";
     };
-    version = "1.26.1";
+    version = "1.27.1";
   };
   atomos = {
     groups = ["default"];
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+      sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   claide = {
     groups = ["default"];
@@ -57,21 +57,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qsj34czqsy93w2bnwhdhr0cyzjwl7vy3sknmak4syyni6m0rlli";
+      sha256 = "14447zrbg90gvjhfpwmjsfh4n7i9f0p1zd0jj3m2cx4y8102djiy";
       type = "gem";
     };
-    version = "1.8.0.beta.2";
+    version = "1.9.0.beta.1";
   };
   cocoapods-core = {
-    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
+    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "166pr9m3da9hsra9rviaxz3i4spm7kl003mkn7sn25r9smcvfdj4";
+      sha256 = "0nhrqwrvblpgf4k3cy0nyxfphyzw46zql1pdv1x7y42h4cn5z8qp";
       type = "gem";
     };
-    version = "1.8.0.beta.2";
+    version = "1.9.0.beta.1";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -88,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+      sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -130,10 +130,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m0p27aij7d0n0b8h7nvyv3q3prcpwisbj7sla0fp2hvn4lqarl5";
+      sha256 = "0vrwsgaq3nf7v3pwksgqy0mhswrp3ipczrc96vl3ii2pcc9ilwkw";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   cocoapods-try = {
     groups = ["default"];
@@ -175,6 +175,27 @@
     };
     version = "0.0.4";
   };
+  ethon = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+      type = "gem";
+    };
+    version = "0.12.0";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
+      type = "gem";
+    };
+    version = "1.11.3";
+  };
   fourflusher = {
     groups = ["default"];
     platforms = [];
@@ -231,20 +252,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   molinillo = {
     groups = ["default"];
@@ -306,6 +327,17 @@
     };
     version = "0.3.6";
   };
+  typhoeus = {
+    dependencies = ["ethon"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
   tzinfo = {
     dependencies = ["thread_safe"];
     groups = ["default"];
@@ -323,9 +355,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162gwhrl7ppj6hlmnpp1scvy1ylcv5xqk51826v075sckdqjp8c8";
+      sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.0";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix b/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
index 003c3a1bc13e..2f268a60c94c 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
@@ -10,6 +10,17 @@
     };
     version = "4.2.11.1";
   };
+  algoliasearch = {
+    dependencies = ["httpclient" "json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ayg8j3819ay2d8618jv32ca16fh8qsgjsiq9j32yd016c170nkj";
+      type = "gem";
+    };
+    version = "1.27.1";
+  };
   atomos = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -19,20 +30,24 @@
     version = "0.1.3";
   };
   CFPropertyList = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ykjag3k5msz3sf1j91rb55da2xh596y06m3a4yl79fiy2id0w9z";
+      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.0.1";
   };
   claide = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0az54rp691hc42yl1xyix2cxv58byhaaf4gxbpghvvq29l476rzc";
+      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.3";
   };
   cocoapods = {
     dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
@@ -40,21 +55,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02gnm6l7f3pxmy7bqns0dhxmanlqp01hkpvng5cxryww17zrq2qz";
+      sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "1.8.4";
   };
   cocoapods-core = {
-    dependencies = ["activesupport" "fuzzy_match" "nap"];
+    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i53x5lhlvyirls2ch45x9wsrfqk7s3zp85lbnwps9abimxj4nh4";
+      sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "1.8.4";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -105,12 +120,14 @@
   };
   cocoapods-trunk = {
     dependencies = ["nap" "netrc"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1plssgabdv6hcaq1c3gf43kf1d2prx883q8lzdr6chi5byzzs3yl";
+      sha256 = "0vrwsgaq3nf7v3pwksgqy0mhswrp3ipczrc96vl3ii2pcc9ilwkw";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.1";
   };
   cocoapods-try = {
     source = {
@@ -172,6 +189,16 @@
     };
     version = "1.1.3";
   };
+  httpclient = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
+      type = "gem";
+    };
+    version = "2.8.3";
+  };
   i18n = {
     dependencies = ["concurrent-ruby"];
     source = {
@@ -181,13 +208,25 @@
     };
     version = "0.9.5";
   };
+  json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
   minitest = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.12.2";
   };
   molinillo = {
     source = {
@@ -254,9 +293,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h73ilwyjwyyhj761an3pmicllw50514gxb6b1r4z4klc9rzxw4j";
+      sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/mobile/titaniumenv/default.nix b/nixpkgs/pkgs/development/mobile/titaniumenv/default.nix
index 6821474c4d01..c85eab108ffc 100644
--- a/nixpkgs/pkgs/development/mobile/titaniumenv/default.nix
+++ b/nixpkgs/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,8 +1,8 @@
-{pkgs, androidenv, xcodeenv, tiVersion ? "7.1.0.GA"}:
+{pkgs, androidenv, xcodeenv, tiVersion ? "8.2.1.GA"}:
 
 rec {
   titaniumsdk = let
-    titaniumSdkFile = if tiVersion == "7.1.0.GA" then ./titaniumsdk-7.1.nix
+    titaniumSdkFile = if tiVersion == "8.2.1.GA" then ./titaniumsdk-8.2.nix
       else if tiVersion == "7.5.1.GA" then ./titaniumsdk-7.5.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
diff --git a/nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix b/nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
index 13abc18f76ec..45523fad9082 100644
--- a/nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix
+++ b/nixpkgs/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
@@ -53,14 +53,14 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "mobilesdk-7.1.0.GA";
+  name = "mobilesdk-8.2.1.GA";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
-    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-linux.zip;
-    sha256 = "18b3jnr65sdn5wj191bcl48gvhyklxmighxakv4vrz1fb59kyvqn";
+    url = https://builds.appcelerator.com/mobile/8_2_X/mobilesdk-8.2.1.v20191025070136-linux.zip;
+    sha256 = "1nvcmm6cby6bmwdiacq46n5y4zjpz9qlipakvglw27j3p4rbmkwl";
   }
   else if stdenv.system == "x86_64-darwin" then fetchurl {
-    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-osx.zip;
-    sha256 = "1f62616biwsw1fqxz2sq7lpa6bsfjazffliplyf5dpnh298cnc1m";
+    url = https://builds.appcelerator.com/mobile/8_2_X/mobilesdk-8.2.1.v20191025070136-osx.zip;
+    sha256 = "1nxwmyw3vqc5wghj38kpksisy0i808x0x3pa8w3p290w709g311l";
   }
   else throw "Platform: ${stdenv.system} not supported!";
 
@@ -73,7 +73,7 @@ stdenv.mkDerivation {
 
     # Rename ugly version number
     cd mobilesdk/*
-    mv * 7.1.0.GA
+    mv * 8.2.1.GA
     cd *
 
     # Patch bundled gradle build infrastructure to make shebangs work
@@ -87,6 +87,13 @@ stdenv.mkDerivation {
     # Patch maven central repository with our own local directory. This prevents the builder from downloading Maven artifacts
     sed -i -e 's|mavenCentral()|maven { url "${fakeMavenRepo}" }|' android/templates/build/proguard.gradle
 
+    ${stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+      # Patch the strip frameworks script in the iPhone build template to not let
+      # it skip the strip phase. This is caused by an assumption on the file
+      # permissions in which Nix deviates from the standard.
+      sed -i -e "s|-perm +111|-perm /111|" iphone/templates/build/strip-frameworks.sh
+    ''}
+
     # Patch some executables
 
     ${if stdenv.system == "i686-linux" then
diff --git a/nixpkgs/pkgs/development/mobile/xcodeenv/build-app.nix b/nixpkgs/pkgs/development/mobile/xcodeenv/build-app.nix
index 05ddf5366c72..fa108c8e4706 100644
--- a/nixpkgs/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/nixpkgs/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -1,7 +1,7 @@
 {stdenv, composeXcodeWrapper}:
 { name
 , src
-, sdkVersion ? "12.1"
+, sdkVersion ? "13.1"
 , target ? null
 , configuration ? null
 , scheme ? null
diff --git a/nixpkgs/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix b/nixpkgs/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
index f1941e051bc2..0a469da418a1 100644
--- a/nixpkgs/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
+++ b/nixpkgs/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
@@ -1,5 +1,5 @@
 {stdenv}:
-{version ? "10.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
+{version ? "11.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
 
 assert stdenv.isDarwin;
 
diff --git a/nixpkgs/pkgs/development/node-packages/composition-v13.nix b/nixpkgs/pkgs/development/node-packages/composition-v13.nix
new file mode 100644
index 000000000000..c79053e020ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/composition-v13.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-13_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;
+  };
+in
+import ./node-packages-v13.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/node-packages/default-v10.nix b/nixpkgs/pkgs/development/node-packages/default-v10.nix
index 8a479924d465..f79696207d3d 100644
--- a/nixpkgs/pkgs/development/node-packages/default-v10.nix
+++ b/nixpkgs/pkgs/development/node-packages/default-v10.nix
@@ -21,7 +21,7 @@ nodePackages // {
   };
 
   dat = nodePackages.dat.override {
-    buildInputs = [ nodePackages.node-gyp-build ];
+    buildInputs = [ nodePackages.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
   };
 
   dnschain = nodePackages.dnschain.override {
@@ -31,6 +31,10 @@ nodePackages // {
     '';
   };
 
+  bitwarden-cli = pkgs.lib.overrideDerivation nodePackages."@bitwarden/cli" (drv: {
+    name = "bitwarden-cli-${drv.version}";
+  });
+
   ios-deploy = nodePackages.ios-deploy.override (drv: {
     nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ];
     preRebuild = ''
diff --git a/nixpkgs/pkgs/development/node-packages/default-v13.nix b/nixpkgs/pkgs/development/node-packages/default-v13.nix
new file mode 100644
index 000000000000..242aaa70d664
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/default-v13.nix
@@ -0,0 +1,16 @@
+{ pkgs, nodejs, stdenv }:
+
+let
+  nodePackages = import ./composition-v13.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+in
+nodePackages // {
+  node2nix = nodePackages.node2nix.override {
+    buildInputs = [ pkgs.makeWrapper ];
+    postInstall = ''
+      wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]}
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/development/node-packages/generate.sh b/nixpkgs/pkgs/development/node-packages/generate.sh
index dafbcb17f7e8..ca6e06286422 100755
--- a/nixpkgs/pkgs/development/node-packages/generate.sh
+++ b/nixpkgs/pkgs/development/node-packages/generate.sh
@@ -1,8 +1,10 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
+#! nix-shell -I nixpkgs=../../.. -i bash -p nodePackages.node2nix
+# NOTE: Script must be run from the node-packages directory
 
 set -eu -o pipefail
 
 rm -f node-env.nix
 node2nix --nodejs-10 -i node-packages-v10.json -o node-packages-v10.nix -c composition-v10.nix
 node2nix --nodejs-12 -i node-packages-v12.json -o node-packages-v12.nix -c composition-v12.nix
+node2nix --nodejs-13 -i node-packages-v13.json -o node-packages-v13.nix -c composition-v13.nix
diff --git a/nixpkgs/pkgs/development/node-packages/node-env.nix b/nixpkgs/pkgs/development/node-packages/node-env.nix
index 670556bf271a..7cc212c41bd6 100644
--- a/nixpkgs/pkgs/development/node-packages/node-env.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-env.nix
@@ -363,7 +363,7 @@ let
 
         npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
 
-        if [ "$dontNpmInstall" != "1" ]
+        if [ "''${dontNpmInstall-}" != "1" ]
         then
             # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
             rm -f npm-shrinkwrap.json
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v10.json b/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
index defeb3e1682e..d5f7b95ab978 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
@@ -1,7 +1,8 @@
 [
   "@angular/cli"
 , "@antora/cli"
-, "@antora/site-generator-default" 
+, "@antora/site-generator-default"
+, "@bitwarden/cli"
 , "@vue/cli"
 , "@webassemblyjs/cli"
 , "@webassemblyjs/repl"
@@ -10,8 +11,6 @@
 , "@webassemblyjs/wast-refmt"
 , "alloy"
 , "asar"
-, "azure-cli"
-, "azure-functions-core-tools"
 , "bash-language-server"
 , "bower"
 , "bower2nix"
@@ -32,7 +31,6 @@
 , "dnschain"
 , "dockerfile-language-server-nodejs"
 , "elasticdump"
-, "elm-live"
 , "elm-oracle"
 , "emoj"
 , "emojione"
@@ -44,6 +42,7 @@
 , "git-run"
 , "git-ssb"
 , "git-standup"
+, "gitmoji-cli"
 , "graphql-cli"
 , "grunt-cli"
 , "gtop"
@@ -104,7 +103,9 @@
 , "peerflix-server"
 , "pnpm"
 , "prettier"
+, "pscid"
 , "pulp"
+, "purescript-psa"
 , "react-native-cli"
 , "react-tools"
 , "reveal.js"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix b/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
index 636ba8173178..d5bc3f18c435 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "2-thenable-1.0.0" = {
+      name = "2-thenable";
+      packageName = "2-thenable";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz";
+        sha512 = "HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==";
+      };
+    };
     "@akryum/winattr-3.0.0" = {
       name = "_at_akryum_slash_winattr";
       packageName = "@akryum/winattr";
@@ -13,67 +22,67 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@angular-devkit/architect-0.803.5" = {
+    "@angular-devkit/architect-0.803.21" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.803.5";
+      version = "0.803.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.5.tgz";
-        sha512 = "hOcYF5fG3oieTc/C1QZqXsON8m8cpdtfdWhY7F7tmqqZ4JBR7igH4SSFQOoQwTj77rsqtkOLI9isVLpoSGX0DQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.21.tgz";
+        sha512 = "E2K/YexIWVyKM/xmyxvDjkJf+wX9u4c8YYpNaK4htsRzA06juc7N1MhlL/jURZiRl5b/K9sapYeq3tMX76saxA==";
       };
     };
-    "@angular-devkit/core-8.3.5" = {
+    "@angular-devkit/core-8.3.21" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "8.3.5";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.5.tgz";
-        sha512 = "ag7Nr94wQUqCFtZjw+rMET+djGBmLk989Id5lLWViW99g4XFeS+e45mJv3JYRzF218+6EdicZz0DGQRYHekVeg==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.21.tgz";
+        sha512 = "BYyVbrbys535FplX0+GVOlYBg/cyk1U5SRhSxRRFZYi9epVlEBBPk8/6wV4cQPGb6EwXkVj7YtPWXjXcGfzWmA==";
       };
     };
-    "@angular-devkit/schematics-8.3.5" = {
+    "@angular-devkit/schematics-8.3.21" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "8.3.5";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.5.tgz";
-        sha512 = "RMtM10kS+Docg90jzFMa4HQ+UzX95Gi5rCT/kSydEkBhp+Jeu/B0K2y67Fm2/qTdVNRCujrCpEmtiRcp1qsOQg==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.21.tgz";
+        sha512 = "+wH0362CRr/SijVX4w2baY2ANZ4scQ1k2xO8lT+NMeZQkw3IJQPOfwk1IaqiAs2xuBJZcSDH1Gn80+Jh4Dit7w==";
       };
     };
-    "@antora/asciidoc-loader-2.1.1" = {
+    "@antora/asciidoc-loader-2.2.0" = {
       name = "_at_antora_slash_asciidoc-loader";
       packageName = "@antora/asciidoc-loader";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-2.1.1.tgz";
-        sha512 = "5j4wKrLgoiIoghqMYv9FkEstISozG753L5YMuQ5sbiQToKhZp4frKx8hZfrwlUCyGQ9BKqIVlkhkPValkpp26g==";
+        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-2.2.0.tgz";
+        sha512 = "dwKXao6eqbAh8O7OS1ZUgVHmbfl38z7RzBCM6DbTb1VODk1HGIgp6gxauGmy5rBvjrJTtz7M1Dxs+BzBApeyMw==";
       };
     };
-    "@antora/content-aggregator-2.1.1" = {
+    "@antora/content-aggregator-2.2.0" = {
       name = "_at_antora_slash_content-aggregator";
       packageName = "@antora/content-aggregator";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-2.1.1.tgz";
-        sha512 = "uORcwPt2js5i6m492zOyszU0+GA748+Zvcrwf6jeOWsBePyYIVxI2L6TmJ8Ulw65scEQOKTrvsITb8lFCVLkWQ==";
+        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-2.2.0.tgz";
+        sha512 = "Dd3jvjIty75G5X04lf6XFK8wKwKo1bfJfafsvwwJuApILASt0Nrv+Z3O+rfc4MhaswgZNqVBrEcSJW9BJxXPtw==";
       };
     };
-    "@antora/content-classifier-2.1.1" = {
+    "@antora/content-classifier-2.2.0" = {
       name = "_at_antora_slash_content-classifier";
       packageName = "@antora/content-classifier";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-2.1.1.tgz";
-        sha512 = "HQlDCoycTxk8IDMx4IaaNkqlHcik5Q22L2/nHQTevYfiErS4wfCmern1O42DvPj72VT72JnnDg87WBvTgZTRTA==";
+        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-2.2.0.tgz";
+        sha512 = "cVoL7aR619FNFN3bKiiFhLinaFktQ06OmMG+QMJW0tNRaeI1ATYtrpUvwG5KVuciwDZFKp+GboRUoud0OGLfJQ==";
       };
     };
-    "@antora/document-converter-2.1.1" = {
+    "@antora/document-converter-2.2.0" = {
       name = "_at_antora_slash_document-converter";
       packageName = "@antora/document-converter";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-2.1.1.tgz";
-        sha512 = "WnMHE5JCkdOYFQ7ytqq2d6Wj0zmy2ifXzU1M2Eo7ZwbSxjkrLVGRFlPbTIybdgnqhIss6ef01qZ+F/+8ZBTFvw==";
+        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-2.2.0.tgz";
+        sha512 = "Ka3moJL5HRoaHUz6U1s9M36WGJg8vUmlQziUpKsC96GbgWyiNXIvNwvQN9kdAW0AXR1CNpIcZ8sl7ygIaa7pLA==";
       };
     };
     "@antora/expand-path-helper-1.0.0" = {
@@ -85,76 +94,130 @@ let
         sha512 = "hg3y6M3OvRTb7jtLAnwwloYDxafbyKYttcf16kGCXvP7Wqosh7c+Ag+ltaZ7VSebpzpphO/umb/BXdpU7rxapw==";
       };
     };
-    "@antora/navigation-builder-2.1.1" = {
+    "@antora/navigation-builder-2.2.0" = {
       name = "_at_antora_slash_navigation-builder";
       packageName = "@antora/navigation-builder";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-2.1.1.tgz";
-        sha512 = "H3VmqIfvuCTAae7Xd1rWYXhQKXhvCLhr0lxWeuSvVp6xzTo3Zf/VnhCGlllLoB+69PSCfcSEm2J5oCy6ySa6WA==";
+        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-2.2.0.tgz";
+        sha512 = "r78NVNN/PbbSbXI5+NJ4d5G0RM1cklv++djPI0xIjFPK8R7GsuQagAaEpZS9o8UKcRlIyyGTeaT8dWKnFxZh2w==";
       };
     };
-    "@antora/page-composer-2.1.1" = {
+    "@antora/page-composer-2.2.0" = {
       name = "_at_antora_slash_page-composer";
       packageName = "@antora/page-composer";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-2.1.1.tgz";
-        sha512 = "PqxMt+s4aTCW2woC/MjjfTG1Hy20A3olsW7ZqpanAao+CGdcqeGbu9LFh65lKGL3MOM0NBIDJG0qqX1RNBX1Nw==";
+        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-2.2.0.tgz";
+        sha512 = "JBRqWjJE8pUJG7AU6GMYWo2avBHLzxBisyfFq9FGH7Uf+Shv+0RYImFH0fDX0Et+83sfg2i3y39SfTYXKLsc3g==";
       };
     };
-    "@antora/playbook-builder-2.1.1" = {
+    "@antora/playbook-builder-2.2.0" = {
       name = "_at_antora_slash_playbook-builder";
       packageName = "@antora/playbook-builder";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-2.1.1.tgz";
-        sha512 = "mdsV8OJq9gbw8IUOhNI5+gCfPJl5UyS7H/TbE4oVimebHpmHSld3/GKc7DjuR0Ge4jxNxwlRyDEtfQiNvnBmug==";
+        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-2.2.0.tgz";
+        sha512 = "GIbkyCnwdTJVHYwSEG4d6Px2Uh/zBiwLXK7zGsaMY4/DmbYBKzNK4xpt7fHXvIw2IyH9GA1XRQ7+vpBSg8VP8w==";
       };
     };
-    "@antora/redirect-producer-2.1.1" = {
+    "@antora/redirect-producer-2.2.0" = {
       name = "_at_antora_slash_redirect-producer";
       packageName = "@antora/redirect-producer";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-2.1.1.tgz";
-        sha512 = "jdnx19b5qlbjUZCwSGrUTUozRPj39OxTr8PeF3jp+qD+TMZuA6XV/6Qp6d1TN2d6a5PQ+d5852g+B2wZmPMIoQ==";
+        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-2.2.0.tgz";
+        sha512 = "ZkUe95Wj3TiFrbXA0sRDCv+0yD1HxI84/2pQj6cnMV01vrfj9HKeMdbBG1Sgf5bmaDDJ1nImlT0l2g6t+pBIJg==";
       };
     };
-    "@antora/site-mapper-2.1.1" = {
+    "@antora/site-mapper-2.2.0" = {
       name = "_at_antora_slash_site-mapper";
       packageName = "@antora/site-mapper";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-2.1.1.tgz";
-        sha512 = "nJvzzu/S4B+qm5SLfNToaC576spPx/FGZqvS99QbRQ11KK10y7rqERlq/wR/nu1IL+zISgw5zJW3qNlTq9YSIg==";
+        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-2.2.0.tgz";
+        sha512 = "318hg4n6SjisAA5e3uq02IdSeW6hQwCo+2TfQQQlCY/+DlFV0V2ML2bicwSrdfweJ42o5TxgSQAtTuOc1YPjgA==";
       };
     };
-    "@antora/site-publisher-2.1.1" = {
+    "@antora/site-publisher-2.2.0" = {
       name = "_at_antora_slash_site-publisher";
       packageName = "@antora/site-publisher";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-2.1.1.tgz";
-        sha512 = "sGuUeIV5bo4VgbnVN6lJNLnVrJWJyyM1rfu5eInOvPru0dQ5zzH8ij93q+5Lxc30zwj+TDI371AFluzz+TWK3A==";
+        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-2.2.0.tgz";
+        sha512 = "3pcGacS72sOKnm7Hnx328AUWGMEDsNHHQla6lwHL7gtWGtn/9tpt0M+MtgkxZnOLmoif8pt/JWPmlnv6td2xSw==";
       };
     };
-    "@antora/ui-loader-2.1.1" = {
+    "@antora/ui-loader-2.2.0" = {
       name = "_at_antora_slash_ui-loader";
       packageName = "@antora/ui-loader";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-2.1.1.tgz";
-        sha512 = "/fPYFRtJsUp4LwOu1MrstAcd+BQFdr5afb5l0iaAi3GuXLLLMasdCIH0jByi4GSiNsYlJ6P+/Jbv+BiUiMY/cg==";
+        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-2.2.0.tgz";
+        sha512 = "3d6SqtknM3PiLRw2wLtcMVVfmyHtfNuWo8+ZBRmUrZs8HfhGteV8/s4vpiOJZmLYhW4KLFgIgG09lFdD5t78Ow==";
       };
     };
-    "@apollographql/apollo-tools-0.4.0" = {
+    "@apollo/federation-0.11.2" = {
+      name = "_at_apollo_slash_federation";
+      packageName = "@apollo/federation";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/federation/-/federation-0.11.2.tgz";
+        sha512 = "MSMBGOS9lAE0K4VmV/3mkd2qfLQTGt2OcsryRNbGMXr9gUVZDtM9quD5JUQoENkz9YFwcOY9jI+i/X5J+Fcw6A==";
+      };
+    };
+    "@apollo/protobufjs-1.0.3" = {
+      name = "_at_apollo_slash_protobufjs";
+      packageName = "@apollo/protobufjs";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.0.3.tgz";
+        sha512 = "gqeT810Ect9WIqsrgfUvr+ljSB5m1PyBae9HGdrRyQ3HjHjTcjVvxpsMYXlUk4rUHnrfUqyoGvLSy2yLlRGEOw==";
+      };
+    };
+    "@apollographql/apollo-tools-0.4.2" = {
       name = "_at_apollographql_slash_apollo-tools";
       packageName = "@apollographql/apollo-tools";
-      version = "0.4.0";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.2.tgz";
+        sha512 = "/kTaguTNSowXR/zWU4hjeL41yAdEbQO05f882c6cRIrVE7xIgJcBNEcYz2kzi94eaUbE2YY3SSxDJ6vPeV07OQ==";
+      };
+    };
+    "@apollographql/graphql-language-service-interface-2.0.2" = {
+      name = "_at_apollographql_slash_graphql-language-service-interface";
+      packageName = "@apollographql/graphql-language-service-interface";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/graphql-language-service-interface/-/graphql-language-service-interface-2.0.2.tgz";
+        sha512 = "28wePK0hlIVjgmvMXMAUq8qRSjz9O+6lqFp4PzOTHtfJfSsjVe9EfjF98zTpHsTgT3HcOxmbqDZZy8jlXtOqEA==";
+      };
+    };
+    "@apollographql/graphql-language-service-parser-2.0.2" = {
+      name = "_at_apollographql_slash_graphql-language-service-parser";
+      packageName = "@apollographql/graphql-language-service-parser";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/graphql-language-service-parser/-/graphql-language-service-parser-2.0.2.tgz";
+        sha512 = "rpTPrEJu1PMaRQxz5P8BZWsixNNhYloS0H0dwTxNBuE3qctbARvR7o8UCKLsmKgTbo+cz3T3a6IAsWlkHgMWGg==";
+      };
+    };
+    "@apollographql/graphql-language-service-types-2.0.2" = {
+      name = "_at_apollographql_slash_graphql-language-service-types";
+      packageName = "@apollographql/graphql-language-service-types";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/graphql-language-service-types/-/graphql-language-service-types-2.0.2.tgz";
+        sha512 = "vE+Dz8pG+Xa1Z2nMl82LoO66lQ6JqBUjaXqLDvS3eMjvA3N4hf+YUDOWfPdNZ0zjhHhHXzUIIZCkax6bXfFbzQ==";
+      };
+    };
+    "@apollographql/graphql-language-service-utils-2.0.2" = {
+      name = "_at_apollographql_slash_graphql-language-service-utils";
+      packageName = "@apollographql/graphql-language-service-utils";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.0.tgz";
-        sha512 = "7wEO+S+zgz/wVe3ilFQqICufRBYYDSNUkd1V03JWvXuSydbYq2SM5EgvWmFF+04iadt+aQ0XCCsRzCzRPQODfQ==";
+        url = "https://registry.npmjs.org/@apollographql/graphql-language-service-utils/-/graphql-language-service-utils-2.0.2.tgz";
+        sha512 = "fDj5rWlTi/czvUS5t7V7I45Ai6bOO3Z7JARYj21Y2xxfbRGtJi6h8FvLX0N/EbzQgo/fiZc/HAhtfwn+OCjD7A==";
       };
     };
     "@apollographql/graphql-playground-html-1.6.24" = {
@@ -184,15 +247,6 @@ let
         sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
       };
     };
-    "@babel/code-frame-7.0.0" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz";
-        sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
-      };
-    };
     "@babel/code-frame-7.5.5" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -202,22 +256,13 @@ let
         sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
       };
     };
-    "@babel/core-7.3.4" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz";
-        sha512 = "jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==";
-      };
-    };
-    "@babel/core-7.6.0" = {
+    "@babel/core-7.7.7" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.6.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz";
-        sha512 = "FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz";
+        sha512 = "jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==";
       };
     };
     "@babel/generator-7.0.0-beta.38" = {
@@ -229,148 +274,157 @@ let
         sha512 = "aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==";
       };
     };
-    "@babel/generator-7.3.4" = {
+    "@babel/generator-7.7.4" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.3.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz";
-        sha512 = "8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz";
+        sha512 = "m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==";
       };
     };
-    "@babel/generator-7.6.0" = {
+    "@babel/generator-7.7.7" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.6.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz";
-        sha512 = "Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz";
+        sha512 = "/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.0.0" = {
+    "@babel/helper-annotate-as-pure-7.7.4" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
-        sha512 = "3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz";
+        sha512 = "2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.1.0" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.7.4" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
-        sha512 = "qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz";
+        sha512 = "Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==";
       };
     };
-    "@babel/helper-builder-react-jsx-7.3.0" = {
+    "@babel/helper-builder-react-jsx-7.7.4" = {
       name = "_at_babel_slash_helper-builder-react-jsx";
       packageName = "@babel/helper-builder-react-jsx";
-      version = "7.3.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
-        sha512 = "MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz";
+        sha512 = "kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA==";
       };
     };
-    "@babel/helper-call-delegate-7.4.4" = {
+    "@babel/helper-call-delegate-7.7.4" = {
       name = "_at_babel_slash_helper-call-delegate";
       packageName = "@babel/helper-call-delegate";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
-        sha512 = "l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==";
+        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz";
+        sha512 = "8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.6.0" = {
+    "@babel/helper-create-class-features-plugin-7.7.4" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
-        sha512 = "O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz";
+        sha512 = "l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==";
       };
     };
-    "@babel/helper-define-map-7.5.5" = {
+    "@babel/helper-create-regexp-features-plugin-7.7.4" = {
+      name = "_at_babel_slash_helper-create-regexp-features-plugin";
+      packageName = "@babel/helper-create-regexp-features-plugin";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz";
+        sha512 = "Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==";
+      };
+    };
+    "@babel/helper-define-map-7.7.4" = {
       name = "_at_babel_slash_helper-define-map";
       packageName = "@babel/helper-define-map";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
-        sha512 = "fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==";
+        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz";
+        sha512 = "v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.1.0" = {
+    "@babel/helper-explode-assignable-expression-7.7.4" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
-        sha512 = "NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz";
+        sha512 = "2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==";
       };
     };
-    "@babel/helper-function-name-7.1.0" = {
+    "@babel/helper-function-name-7.7.4" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
-        sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz";
+        sha512 = "AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==";
       };
     };
-    "@babel/helper-get-function-arity-7.0.0" = {
+    "@babel/helper-get-function-arity-7.7.4" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
-        sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz";
+        sha512 = "QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==";
       };
     };
-    "@babel/helper-hoist-variables-7.4.4" = {
+    "@babel/helper-hoist-variables-7.7.4" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
-        sha512 = "VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz";
+        sha512 = "wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.5.5" = {
+    "@babel/helper-member-expression-to-functions-7.7.4" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
-        sha512 = "5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz";
+        sha512 = "9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==";
       };
     };
-    "@babel/helper-module-imports-7.0.0" = {
+    "@babel/helper-module-imports-7.7.4" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
-        sha512 = "aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz";
+        sha512 = "dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==";
       };
     };
-    "@babel/helper-module-transforms-7.5.5" = {
+    "@babel/helper-module-transforms-7.7.5" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.5.5";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
-        sha512 = "jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz";
+        sha512 = "A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.0.0" = {
+    "@babel/helper-optimise-call-expression-7.7.4" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
-        sha512 = "u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz";
+        sha512 = "VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==";
       };
     };
     "@babel/helper-plugin-utils-7.0.0" = {
@@ -391,58 +445,58 @@ let
         sha512 = "CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.1.0" = {
+    "@babel/helper-remap-async-to-generator-7.7.4" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
-        sha512 = "3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz";
+        sha512 = "Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==";
       };
     };
-    "@babel/helper-replace-supers-7.5.5" = {
+    "@babel/helper-replace-supers-7.7.4" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
-        sha512 = "XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz";
+        sha512 = "pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==";
       };
     };
-    "@babel/helper-simple-access-7.1.0" = {
+    "@babel/helper-simple-access-7.7.4" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
-        sha512 = "Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz";
+        sha512 = "zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==";
       };
     };
-    "@babel/helper-split-export-declaration-7.4.4" = {
+    "@babel/helper-split-export-declaration-7.7.4" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
-        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz";
+        sha512 = "guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==";
       };
     };
-    "@babel/helper-wrap-function-7.2.0" = {
+    "@babel/helper-wrap-function-7.7.4" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
-        sha512 = "o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz";
+        sha512 = "VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==";
       };
     };
-    "@babel/helpers-7.6.0" = {
+    "@babel/helpers-7.7.4" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz";
-        sha512 = "W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz";
+        sha512 = "ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==";
       };
     };
     "@babel/highlight-7.5.0" = {
@@ -454,22 +508,13 @@ let
         sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
       };
     };
-    "@babel/parser-7.3.4" = {
+    "@babel/parser-7.7.7" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.3.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz";
-        sha512 = "tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==";
-      };
-    };
-    "@babel/parser-7.6.0" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz";
-        sha512 = "+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz";
+        sha512 = "WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==";
       };
     };
     "@babel/plugin-external-helpers-7.0.0" = {
@@ -481,508 +526,490 @@ let
         sha512 = "tZKTMdhZvTy0KCEX5EGQQm1RHr7jUa36q/yax1baEA0yZapVYmu10yW7LTqijITgSq416gPVjrcexiA6y4pJlA==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.2.0" = {
+    "@babel/plugin-proposal-async-generator-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
-        sha512 = "+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz";
+        sha512 = "1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.5.5" = {
+    "@babel/plugin-proposal-class-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
-        sha512 = "AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz";
+        sha512 = "EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.5.0" = {
+    "@babel/plugin-proposal-dynamic-import-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
-        sha512 = "x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz";
+        sha512 = "StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.2.0" = {
+    "@babel/plugin-proposal-json-strings-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
-        sha512 = "MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz";
+        sha512 = "wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.5.5" = {
+    "@babel/plugin-proposal-object-rest-spread-7.7.7" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.5.5";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz";
-        sha512 = "F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz";
+        sha512 = "3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.2.0" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
-        sha512 = "mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz";
+        sha512 = "DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.4.4" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.7.7" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.4.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz";
-        sha512 = "j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz";
+        sha512 = "80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==";
       };
     };
-    "@babel/plugin-syntax-async-generators-7.2.0" = {
+    "@babel/plugin-syntax-async-generators-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-async-generators";
       packageName = "@babel/plugin-syntax-async-generators";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
-        sha512 = "1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz";
+        sha512 = "Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==";
       };
     };
-    "@babel/plugin-syntax-dynamic-import-7.2.0" = {
+    "@babel/plugin-syntax-dynamic-import-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-dynamic-import";
       packageName = "@babel/plugin-syntax-dynamic-import";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
-        sha512 = "mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz";
+        sha512 = "jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==";
       };
     };
-    "@babel/plugin-syntax-flow-7.2.0" = {
+    "@babel/plugin-syntax-flow-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-flow";
       packageName = "@babel/plugin-syntax-flow";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
-        sha512 = "r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz";
+        sha512 = "2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw==";
       };
     };
-    "@babel/plugin-syntax-json-strings-7.2.0" = {
+    "@babel/plugin-syntax-json-strings-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-json-strings";
       packageName = "@babel/plugin-syntax-json-strings";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
-        sha512 = "5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz";
+        sha512 = "QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==";
       };
     };
-    "@babel/plugin-syntax-jsx-7.2.0" = {
+    "@babel/plugin-syntax-jsx-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-jsx";
       packageName = "@babel/plugin-syntax-jsx";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
-        sha512 = "VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz";
+        sha512 = "wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==";
       };
     };
-    "@babel/plugin-syntax-object-rest-spread-7.2.0" = {
+    "@babel/plugin-syntax-object-rest-spread-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-object-rest-spread";
       packageName = "@babel/plugin-syntax-object-rest-spread";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
-        sha512 = "t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz";
+        sha512 = "mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==";
       };
     };
-    "@babel/plugin-syntax-optional-catch-binding-7.2.0" = {
+    "@babel/plugin-syntax-optional-catch-binding-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
       packageName = "@babel/plugin-syntax-optional-catch-binding";
-      version = "7.2.0";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz";
+        sha512 = "4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==";
+      };
+    };
+    "@babel/plugin-syntax-top-level-await-7.7.4" = {
+      name = "_at_babel_slash_plugin-syntax-top-level-await";
+      packageName = "@babel/plugin-syntax-top-level-await";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
-        sha512 = "bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz";
+        sha512 = "wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.3.3" = {
+    "@babel/plugin-syntax-typescript-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.3.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
-        sha512 = "dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.7.4.tgz";
+        sha512 = "77blgY18Hud4NM1ggTA8xVT/dBENQf17OpiToSa2jSmEY3fWXD2jwrdVlO4kq5yzUTeF15WSQ6b4fByNvJcjpQ==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.2.0" = {
+    "@babel/plugin-transform-arrow-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
-        sha512 = "ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz";
+        sha512 = "zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.5.0" = {
+    "@babel/plugin-transform-async-to-generator-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
-        sha512 = "mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz";
+        sha512 = "zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.2.0" = {
+    "@babel/plugin-transform-block-scoped-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
-        sha512 = "ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz";
+        sha512 = "kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.6.0" = {
+    "@babel/plugin-transform-block-scoping-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz";
-        sha512 = "tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz";
+        sha512 = "2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==";
       };
     };
-    "@babel/plugin-transform-classes-7.5.5" = {
+    "@babel/plugin-transform-classes-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
-        sha512 = "U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz";
+        sha512 = "sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.2.0" = {
+    "@babel/plugin-transform-computed-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
-        sha512 = "kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz";
+        sha512 = "bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.6.0" = {
+    "@babel/plugin-transform-destructuring-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
-        sha512 = "2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz";
+        sha512 = "4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.4.4" = {
+    "@babel/plugin-transform-dotall-regex-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.4.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz";
-        sha512 = "P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz";
+        sha512 = "b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.5.0" = {
+    "@babel/plugin-transform-duplicate-keys-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
-        sha512 = "igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz";
+        sha512 = "g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.2.0" = {
+    "@babel/plugin-transform-exponentiation-operator-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
-        sha512 = "umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz";
+        sha512 = "MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.3.4" = {
+    "@babel/plugin-transform-flow-strip-types-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-flow-strip-types";
       packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.3.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz";
-        sha512 = "PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.7.4.tgz";
+        sha512 = "w9dRNlHY5ElNimyMYy0oQowvQpwt/PRHI0QS98ZJCTZU2bvSnKXo5zEiD5u76FBPigTm8TkqzmnUTg16T7qbkA==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.4.4" = {
-      name = "_at_babel_slash_plugin-transform-flow-strip-types";
-      packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz";
-        sha512 = "WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==";
-      };
-    };
-    "@babel/plugin-transform-for-of-7.4.4" = {
+    "@babel/plugin-transform-for-of-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
-        sha512 = "9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz";
+        sha512 = "zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==";
       };
     };
-    "@babel/plugin-transform-function-name-7.4.4" = {
+    "@babel/plugin-transform-function-name-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
-        sha512 = "iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz";
+        sha512 = "E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==";
       };
     };
-    "@babel/plugin-transform-literals-7.2.0" = {
+    "@babel/plugin-transform-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
-        sha512 = "2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz";
+        sha512 = "X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.2.0" = {
+    "@babel/plugin-transform-member-expression-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
-        sha512 = "HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz";
+        sha512 = "9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.5.0" = {
+    "@babel/plugin-transform-modules-amd-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
-        sha512 = "n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.2.0" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.2.0";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz";
-        sha512 = "V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz";
+        sha512 = "CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.6.0" = {
+    "@babel/plugin-transform-modules-commonjs-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.6.0";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
-        sha512 = "Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz";
+        sha512 = "9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.5.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
-        sha512 = "Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz";
+        sha512 = "y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.2.0" = {
+    "@babel/plugin-transform-modules-umd-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
-        sha512 = "BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz";
+        sha512 = "u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.6.0" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz";
-        sha512 = "jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz";
+        sha512 = "jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==";
       };
     };
-    "@babel/plugin-transform-new-target-7.4.4" = {
+    "@babel/plugin-transform-new-target-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
-        sha512 = "r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz";
+        sha512 = "CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==";
       };
     };
-    "@babel/plugin-transform-object-super-7.5.5" = {
+    "@babel/plugin-transform-object-super-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
-        sha512 = "un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz";
+        sha512 = "ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==";
       };
     };
-    "@babel/plugin-transform-parameters-7.4.4" = {
+    "@babel/plugin-transform-parameters-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.4.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
-        sha512 = "oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz";
+        sha512 = "OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.2.0" = {
+    "@babel/plugin-transform-property-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
-        sha512 = "9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz";
+        sha512 = "MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.3.0" = {
+    "@babel/plugin-transform-react-jsx-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.3.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
-        sha512 = "a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.7.tgz";
+        sha512 = "SlPjWPbva2+7/ZJbGcoqjl4LsQaLpKEzxW9hcxU7675s24JmdotJOSJ4cgAbV82W3FcZpHIGmRZIlUL8ayMvjw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.4.5" = {
+    "@babel/plugin-transform-regenerator-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.4.5";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
-        sha512 = "gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz";
+        sha512 = "/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.2.0" = {
+    "@babel/plugin-transform-reserved-words-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
-        sha512 = "fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz";
+        sha512 = "OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==";
       };
     };
-    "@babel/plugin-transform-runtime-7.6.0" = {
+    "@babel/plugin-transform-runtime-7.7.6" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.6.0";
+      version = "7.7.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz";
-        sha512 = "Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz";
+        sha512 = "tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.2.0" = {
+    "@babel/plugin-transform-shorthand-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
-        sha512 = "QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz";
+        sha512 = "q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==";
       };
     };
-    "@babel/plugin-transform-spread-7.2.2" = {
+    "@babel/plugin-transform-spread-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.2.2";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz";
-        sha512 = "KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz";
+        sha512 = "8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.2.0" = {
+    "@babel/plugin-transform-sticky-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
-        sha512 = "KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz";
+        sha512 = "Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.4.4" = {
+    "@babel/plugin-transform-template-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
-        sha512 = "mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz";
+        sha512 = "sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.2.0" = {
+    "@babel/plugin-transform-typeof-symbol-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
-        sha512 = "2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz";
+        sha512 = "KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==";
       };
     };
-    "@babel/plugin-transform-typescript-7.6.0" = {
+    "@babel/plugin-transform-typescript-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz";
-        sha512 = "yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.4.tgz";
+        sha512 = "X8e3tcPEKnwwPVG+vP/vSqEShkwODOEeyQGod82qrIuidwIrfnsGn11qPM1jBLF4MqguTXXYzm58d0dY+/wdpg==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.4.4" = {
+    "@babel/plugin-transform-unicode-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz";
-        sha512 = "il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz";
+        sha512 = "N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==";
       };
     };
-    "@babel/polyfill-7.4.4" = {
+    "@babel/polyfill-7.7.0" = {
       name = "_at_babel_slash_polyfill";
       packageName = "@babel/polyfill";
-      version = "7.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz";
-        sha512 = "WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==";
-      };
-    };
-    "@babel/preset-env-7.3.4" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.3.4";
+      version = "7.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz";
-        sha512 = "2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==";
+        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.7.0.tgz";
+        sha512 = "/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ==";
       };
     };
-    "@babel/preset-env-7.6.0" = {
+    "@babel/preset-env-7.7.7" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.6.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz";
-        sha512 = "1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz";
+        sha512 = "pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==";
       };
     };
-    "@babel/preset-flow-7.0.0" = {
+    "@babel/preset-flow-7.7.4" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz";
-        sha512 = "bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==";
+        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.7.4.tgz";
+        sha512 = "6LbUqcHD8BcRtXMOp5bc5nJeU8RlKh6q5U8TgZeCrf9ebBdW8Wyy5ujAUnbJfmzQ56Kkq5XtwErC/5+5RHyFYA==";
       };
     };
     "@babel/preset-stage-2-7.0.0" = {
@@ -994,94 +1021,58 @@ let
         sha512 = "A8ia2Wus0OAP6hh28ZgPSCBJEX3Jnql3kg9di/I+Lmg1gbJXgDZBrHr/UGZXl20Vi1lXgMuUq8c8J899KFr5gA==";
       };
     };
-    "@babel/preset-typescript-7.6.0" = {
+    "@babel/preset-typescript-7.7.7" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.6.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz";
-        sha512 = "4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.7.7.tgz";
+        sha512 = "Apg0sCTovsSA+pEaI8efnA44b9x4X/7z4P8vsWMiN8rSUaM4y4+Shl5NMWnMl6njvt96+CEb6jwpXAKYAVCSQA==";
       };
     };
-    "@babel/register-7.6.0" = {
+    "@babel/register-7.7.7" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.6.0.tgz";
-        sha512 = "78BomdN8el+x/nkup9KwtjJXuptW5oXMFmP11WoM2VJBjxrKv4grC3qjpLL8RGGUYUGsm57xnjYFM2uom+jWUQ==";
-      };
-    };
-    "@babel/runtime-7.3.4" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.3.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz";
-        sha512 = "IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.7.7.tgz";
+        sha512 = "S2mv9a5dc2pcpg/ConlKZx/6wXaEwHeqfo7x/QbXsdCAZm+WJC1ekVvL1TVxNsedTs5y/gG63MhJTEsmwmjtiA==";
       };
     };
-    "@babel/runtime-7.4.5" = {
+    "@babel/runtime-7.7.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.4.5";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz";
-        sha512 = "TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz";
+        sha512 = "uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==";
       };
     };
-    "@babel/runtime-7.6.0" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz";
-        sha512 = "89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==";
-      };
-    };
-    "@babel/runtime-corejs2-7.6.0" = {
+    "@babel/runtime-corejs2-7.7.7" = {
       name = "_at_babel_slash_runtime-corejs2";
       packageName = "@babel/runtime-corejs2";
-      version = "7.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.6.0.tgz";
-        sha512 = "zbPQzlbyJab2xCYb6VaESn8Tk/XiVpQJU7WvIKiQCwlFyc2NSCzKjqtBXCvpZBbiTOHCx10s2656REVnySwb+A==";
-      };
-    };
-    "@babel/template-7.2.2" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.2.2";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz";
-        sha512 = "zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.7.7.tgz";
+        sha512 = "P91T3dFYQL7aj44PxOMIAbo66Ag3NbmXG9fseSYaXxapp3K9XTct5HU9IpTOm2D0AoktKusgqzN5YcSxZXEKBQ==";
       };
     };
-    "@babel/template-7.6.0" = {
+    "@babel/template-7.7.4" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz";
-        sha512 = "5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==";
-      };
-    };
-    "@babel/traverse-7.3.4" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.3.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz";
-        sha512 = "TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz";
+        sha512 = "qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==";
       };
     };
-    "@babel/traverse-7.6.0" = {
+    "@babel/traverse-7.7.4" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz";
-        sha512 = "93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz";
+        sha512 = "P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==";
       };
     };
     "@babel/types-7.0.0-beta.38" = {
@@ -1093,22 +1084,13 @@ let
         sha512 = "SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==";
       };
     };
-    "@babel/types-7.3.4" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz";
-        sha512 = "WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==";
-      };
-    };
-    "@babel/types-7.6.1" = {
+    "@babel/types-7.7.4" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.6.1";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz";
-        sha512 = "X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz";
+        sha512 = "cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==";
       };
     };
     "@calebboyd/semaphore-1.3.1" = {
@@ -1120,6 +1102,51 @@ let
         sha512 = "17z9me12RgAEcMhIgR7f+BiXKbzwF9p1VraI69OxrUUSWGuSMOyOTEHQNVtMKuVrkEDVD0/Av5uiGZPBMYZljw==";
       };
     };
+    "@citation-js/core-0.4.9" = {
+      name = "_at_citation-js_slash_core";
+      packageName = "@citation-js/core";
+      version = "0.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/core/-/core-0.4.9.tgz";
+        sha512 = "nVfoZQqJjTsEMIAzUFkJMFqoZuUA03vadiTGBsq0jrbmonTGDVtk50D0/bzwAZVjjoxSWjs5w/DqXXrpcFqFkQ==";
+      };
+    };
+    "@citation-js/date-0.4.4" = {
+      name = "_at_citation-js_slash_date";
+      packageName = "@citation-js/date";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/date/-/date-0.4.4.tgz";
+        sha512 = "wD195pZPwCCN8idhxz4HYZbf5mMnPZMRhOipcU8v1orZWqZp6YDRjOplNKo6yX7tf6fB4ZO8QLuNaNjuic5AWQ==";
+      };
+    };
+    "@citation-js/name-0.4.2" = {
+      name = "_at_citation-js_slash_name";
+      packageName = "@citation-js/name";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/name/-/name-0.4.2.tgz";
+        sha512 = "brSPsjs2fOVzSnARLKu0qncn6suWjHVQtrqSUrnqyaRH95r/Ad4wPF5EsoWr+Dx8HzkCGb/ogmoAzfCsqlTwTQ==";
+      };
+    };
+    "@citation-js/plugin-bibtex-0.4.9" = {
+      name = "_at_citation-js_slash_plugin-bibtex";
+      packageName = "@citation-js/plugin-bibtex";
+      version = "0.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/plugin-bibtex/-/plugin-bibtex-0.4.9.tgz";
+        sha512 = "PGfyn8GeJMvhcpr1PiWkJR25N2rH7+t6JQYoN35ngT3KzIIVcpC81dG2jQOy+t10D55tu7H61KfJZGFAnhgpWg==";
+      };
+    };
+    "@citation-js/plugin-csl-0.4.10" = {
+      name = "_at_citation-js_slash_plugin-csl";
+      packageName = "@citation-js/plugin-csl";
+      version = "0.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/plugin-csl/-/plugin-csl-0.4.10.tgz";
+        sha512 = "8AnlLKZ9sAK/p2L3vi9IBDxB9D0vXukFC7hjS16WNW5HkHNfb2FN91APEXQfvHbJ0RePy5xvHe5Ou8T1muFeoQ==";
+      };
+    };
     "@cliqz-oss/firefox-client-0.3.1" = {
       name = "_at_cliqz-oss_slash_firefox-client";
       packageName = "@cliqz-oss/firefox-client";
@@ -1219,6 +1246,15 @@ let
         sha512 = "Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==";
       };
     };
+    "@endemolshinegroup/cosmiconfig-typescript-loader-1.0.1" = {
+      name = "_at_endemolshinegroup_slash_cosmiconfig-typescript-loader";
+      packageName = "@endemolshinegroup/cosmiconfig-typescript-loader";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.1.tgz";
+        sha512 = "bhUR9035PbgL6A/nfLayjoqKo4W7hCtzxqVxq2cgDB+Ndpsa3dGIr71/ymgY3vCTCQaufkFxAcEeoECyJ498CA==";
+      };
+    };
     "@evocateur/libnpmaccess-3.1.2" = {
       name = "_at_evocateur_slash_libnpmaccess";
       packageName = "@evocateur/libnpmaccess";
@@ -1273,13 +1309,13 @@ let
         sha1 = "890ae7c5d8c877f6d384860215ace9d7ec945bda";
       };
     };
-    "@hapi/address-2.1.2" = {
+    "@hapi/address-2.1.4" = {
       name = "_at_hapi_slash_address";
       packageName = "@hapi/address";
-      version = "2.1.2";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz";
-        sha512 = "O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==";
+        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz";
+        sha512 = "QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==";
       };
     };
     "@hapi/bourne-1.3.2" = {
@@ -1291,13 +1327,13 @@ let
         sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
       };
     };
-    "@hapi/hoek-8.2.4" = {
+    "@hapi/hoek-8.5.0" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
-      version = "8.2.4";
+      version = "8.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.4.tgz";
-        sha512 = "Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==";
+        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz";
+        sha512 = "7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==";
       };
     };
     "@hapi/joi-15.1.1" = {
@@ -1309,13 +1345,13 @@ let
         sha512 = "entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==";
       };
     };
-    "@hapi/topo-3.1.4" = {
+    "@hapi/topo-3.1.6" = {
       name = "_at_hapi_slash_topo";
       packageName = "@hapi/topo";
-      version = "3.1.4";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.4.tgz";
-        sha512 = "aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA==";
+        url = "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz";
+        sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
     "@iarna/toml-2.2.3" = {
@@ -1327,94 +1363,103 @@ let
         sha512 = "FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==";
       };
     };
-    "@ionic/cli-framework-2.1.7" = {
+    "@ionic/cli-framework-3.0.5" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "2.1.7";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-2.1.7.tgz";
-        sha512 = "osuKbmCIzT0H+g39lDy+EmsP5RHc+aYOv+BN+IngsaxKb7ya0V/JlLO1vLkd7RYT+lmiQWiCi7RpHPeEgQJFtw==";
+        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-3.0.5.tgz";
+        sha512 = "pskdkbWlEM+QO4qN5Oj+SQMEPx1oyFtbqKUsUE3v7StWK1E4ovl6YsG+y4CBnYF2qDj3Vs+Yh52osarN8jM8jg==";
       };
     };
-    "@ionic/discover-2.0.6" = {
+    "@ionic/cli-framework-prompts-1.0.4" = {
+      name = "_at_ionic_slash_cli-framework-prompts";
+      packageName = "@ionic/cli-framework-prompts";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-1.0.4.tgz";
+        sha512 = "mII1sPCWDsQYxOSBFjQBPzis2UJuM59T6O1/6EelCQGilHEMZ39bFNb8O2f3Irnx6y6sX/4VVTy2BQwDHMK1yA==";
+      };
+    };
+    "@ionic/discover-2.0.7" = {
       name = "_at_ionic_slash_discover";
       packageName = "@ionic/discover";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/discover/-/discover-2.0.6.tgz";
-        sha512 = "OEjUcVDliTqCWlFGFbD+msTLwQCXNHXUTdg6PQIjDn5RipVSWtpVB+DjLO+D1zYkY6TgD9mxBcIwiYJBRuw5dg==";
+        url = "https://registry.npmjs.org/@ionic/discover/-/discover-2.0.7.tgz";
+        sha512 = "2pPhSqzD6tSi2BvQehnXxhlFZ1eTgHlRyS7A5yjZ85c5LMj1GsMxrD69EhhurINCKSmtrr/Bl2erW6mpwsKuUQ==";
       };
     };
-    "@ionic/utils-array-1.2.1" = {
+    "@ionic/utils-array-1.2.2" = {
       name = "_at_ionic_slash_utils-array";
       packageName = "@ionic/utils-array";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-1.2.1.tgz";
-        sha512 = "t0/gXFf70oDPpviGUHpaDD9++zIx8nFXpPm8c3We8iH5dRwEJLSun+AJTqxO/XPzEhM24KBuj3rLY9bSYBadEg==";
+        url = "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-1.2.2.tgz";
+        sha512 = "t9FkPHw1OfWkbGobvr2z5bMfpQT3WE/LEFGLraNFiygtOrS3JQnjmqgUHQXk+WVf9RAt5pMUKcmNRCd+AUCvwQ==";
       };
     };
-    "@ionic/utils-fs-2.0.7" = {
+    "@ionic/utils-fs-2.0.9" = {
       name = "_at_ionic_slash_utils-fs";
       packageName = "@ionic/utils-fs";
-      version = "2.0.7";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-2.0.7.tgz";
-        sha512 = "rXTKJD66qocDs8w72+z7yw6P8H095yexIMsUbNiJFjMm3Cx542i+Tw9gbGwYN356WrA/0EATXD/zVZDzvDsSKQ==";
+        url = "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-2.0.9.tgz";
+        sha512 = "koOcdQlMHLIncPVZYQ+GkBHFhu7CJd0PdzDf9EfQBpOZwY66muS7UAlzVtoeY6tURYYniJlQsmg3auTIgVy9bQ==";
       };
     };
-    "@ionic/utils-network-1.0.5" = {
+    "@ionic/utils-network-1.0.6" = {
       name = "_at_ionic_slash_utils-network";
       packageName = "@ionic/utils-network";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-1.0.5.tgz";
-        sha512 = "seOoxQUKTugpNjQWYVAmylh6mfddPyE2EsWWyn6ojkp7HurMadvRZa9OQ/PrhMjkphHupPMyuIukaD7F2zMW9Q==";
+        url = "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-1.0.6.tgz";
+        sha512 = "a7W44S+1ACuRAle9o6YuyTtt6MgxcKhK65Qf1M6rVpzfhW/rJ9gpyACbICHXst5jh2k7ngp5CT9Jyw5fByHNlQ==";
       };
     };
-    "@ionic/utils-object-1.0.5" = {
+    "@ionic/utils-object-1.0.6" = {
       name = "_at_ionic_slash_utils-object";
       packageName = "@ionic/utils-object";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-1.0.5.tgz";
-        sha512 = "nyNH8EJcE/xl5G7Zyz5Thy5f1Otj+fhsXca3C5WsCG6y7yb2biDaaw3lgq/KtEYfXyH1znHsbs9hdJNLgCefGQ==";
+        url = "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-1.0.6.tgz";
+        sha512 = "3defzcaHsdZQgQMKIDMki4Klp9hDKVbRfDCet6f6Xpmd8ycgIgW4wBbtcJRkasps2KJYJLs810mvI/1szOYrSA==";
       };
     };
-    "@ionic/utils-process-1.0.5" = {
+    "@ionic/utils-process-1.0.8" = {
       name = "_at_ionic_slash_utils-process";
       packageName = "@ionic/utils-process";
-      version = "1.0.5";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-1.0.5.tgz";
-        sha512 = "zzDeLiz2lnpI9hKoMHbQiKfbnfFor9LXcW1ZWIKy9YkGOXv80UWbQq43CstMtnDtghcXLS02DaOVtcJPh47psw==";
+        url = "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-1.0.8.tgz";
+        sha512 = "N6T6fwZczPW0+BAxiE6UgrlSXpb2di02D91aRkTM5aX2mQJ3kHI/O7nJ6uasksyipcwr3ou0HWtRMjcu+demYg==";
       };
     };
-    "@ionic/utils-stream-2.0.4" = {
+    "@ionic/utils-stream-2.0.5" = {
       name = "_at_ionic_slash_utils-stream";
       packageName = "@ionic/utils-stream";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-2.0.4.tgz";
-        sha512 = "qha4Msonb44++xvf8YppBR27dNBRuMLSty4/THH9uD6UEdjU2+23LWACKuqnQUSsZjQdvALVDMcRRWEIYEL2VQ==";
+        url = "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-2.0.5.tgz";
+        sha512 = "GOjEsgEyFTpX5Y6MpDDograU7PgPcclKvrhe1Lhft7VSg6RzeEzmZykzkDK89visw2Qb45G0gfyOuxLlq+WetA==";
       };
     };
-    "@ionic/utils-subprocess-1.0.8" = {
+    "@ionic/utils-subprocess-1.0.12" = {
       name = "_at_ionic_slash_utils-subprocess";
       packageName = "@ionic/utils-subprocess";
-      version = "1.0.8";
+      version = "1.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-1.0.8.tgz";
-        sha512 = "gfVCzccOQ3PVfY6d1hDZq1Qv7hOXAn3ZlepAEbUBOeFauIhXmwmwVdIRa9cfi3cESpDidNQ3dpmXyC+nKxv0Og==";
+        url = "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-1.0.12.tgz";
+        sha512 = "up+C4u96xJ4Bnr2R8BehnteUZdROxVVOOxcaghbRd2A4xvPe6pEHK9cAmIIO1qMdDWfz2ET28/AgdqRgpA5wOw==";
       };
     };
-    "@ionic/utils-terminal-1.0.5" = {
+    "@ionic/utils-terminal-1.1.2" = {
       name = "_at_ionic_slash_utils-terminal";
       packageName = "@ionic/utils-terminal";
-      version = "1.0.5";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-1.0.5.tgz";
-        sha512 = "kaE/sKG3p6y9n73IfR0hU218YORS9P1sg4+GYCie+iGxSTixcKIX7yUBOCY1s2Oav0xS9mjGcpa6ppzANC70bw==";
+        url = "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-1.1.2.tgz";
+        sha512 = "ODXbta2kvFNkMIEGwl7KX5gJTcZZHkzSLoBh3wND2H+EsG0KpIqOZKWMtkj+suuPut85wyLZ7fGfARnrNf7dtA==";
       };
     };
     "@kbrandwijk/swagger-to-graphql-2.4.3" = {
@@ -1426,121 +1471,112 @@ let
         sha512 = "CNVsCrMge/jq6DCT5buNZ8PACY9RTvPJbCNoIcndfkJOCsNxOx9dnc5qw4pHZdHi8GS6l3qlgkuFKp33iD8J2Q==";
       };
     };
-    "@lerna/add-3.16.2" = {
+    "@lerna/add-3.19.0" = {
       name = "_at_lerna_slash_add";
       packageName = "@lerna/add";
-      version = "3.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/add/-/add-3.16.2.tgz";
-        sha512 = "RAAaF8aODPogj2Ge9Wj3uxPFIBGpog9M+HwSuq03ZnkkO831AmasCTJDqV+GEpl1U2DvnhZQEwHpWmTT0uUeEw==";
-      };
-    };
-    "@lerna/batch-packages-3.16.0" = {
-      name = "_at_lerna_slash_batch-packages";
-      packageName = "@lerna/batch-packages";
-      version = "3.16.0";
+      version = "3.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.16.0.tgz";
-        sha512 = "7AdMkANpubY/FKFI01im01tlx6ygOBJ/0JcixMUWoWP/7Ds3SWQF22ID6fbBr38jUWptYLDs2fagtTDL7YUPuA==";
+        url = "https://registry.npmjs.org/@lerna/add/-/add-3.19.0.tgz";
+        sha512 = "qzhxPyoczvvT1W0wwCK9I0iJ4B9WR+HzYsusmRuzM3mEhWjowhbuvKEl5BjGYuXc9AvEErM/S0Fm5K0RcuS39Q==";
       };
     };
-    "@lerna/bootstrap-3.16.2" = {
+    "@lerna/bootstrap-3.18.5" = {
       name = "_at_lerna_slash_bootstrap";
       packageName = "@lerna/bootstrap";
-      version = "3.16.2";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.16.2.tgz";
-        sha512 = "I+gs7eh6rv9Vyd+CwqL7sftRfOOsSzCle8cv/CGlMN7/p7EAVhxEdAw8SYoHIKHzipXszuqqy1Y3opyleD0qdA==";
+        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.18.5.tgz";
+        sha512 = "9vD/BfCz8YSF2Dx7sHaMVo6Cy33WjLEmoN1yrHgNkHjm7ykWbLHG5wru0f4Y4pvwa0s5Hf76rvT8aJWzGHk9IQ==";
       };
     };
-    "@lerna/changed-3.16.4" = {
+    "@lerna/changed-3.18.5" = {
       name = "_at_lerna_slash_changed";
       packageName = "@lerna/changed";
-      version = "3.16.4";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.16.4.tgz";
-        sha512 = "NCD7XkK744T23iW0wqKEgF4R9MYmReUbyHCZKopFnsNpQdqumc3SOIvQUAkKCP6hQJmYvxvOieoVgy/CVDpZ5g==";
+        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.18.5.tgz";
+        sha512 = "IXS7VZ5VDQUfCsgK56WYxd42luMBxL456cNUf1yBgQ1cy1U2FPVMitIdLN4AcP7bJizdPWeG8yDptf47jN/xVw==";
       };
     };
-    "@lerna/check-working-tree-3.14.2" = {
+    "@lerna/check-working-tree-3.16.5" = {
       name = "_at_lerna_slash_check-working-tree";
       packageName = "@lerna/check-working-tree";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.14.2.tgz";
-        sha512 = "7safqxM/MYoAoxZxulUDtIJIbnBIgo0PB/FHytueG+9VaX7GMnDte2Bt1EKa0dz2sAyQdmQ3Q8ZXpf/6JDjaeg==";
+        url = "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz";
+        sha512 = "xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==";
       };
     };
-    "@lerna/child-process-3.14.2" = {
+    "@lerna/child-process-3.16.5" = {
       name = "_at_lerna_slash_child-process";
       packageName = "@lerna/child-process";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.14.2.tgz";
-        sha512 = "xnq+W5yQb6RkwI0p16ZQnrn6HkloH/MWTw4lGE1nKsBLAUbmSU5oTE93W1nrG0X3IMF/xWc9UYvNdUGMWvZZ4w==";
+        url = "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz";
+        sha512 = "vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==";
       };
     };
-    "@lerna/clean-3.16.0" = {
+    "@lerna/clean-3.18.5" = {
       name = "_at_lerna_slash_clean";
       packageName = "@lerna/clean";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.16.0.tgz";
-        sha512 = "5P9U5Y19WmYZr7UAMGXBpY7xCRdlR7zhHy8MAPDKVx70rFIBS6nWXn5n7Kntv74g7Lm1gJ2rsiH5tj1OPcRJgg==";
+        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.18.5.tgz";
+        sha512 = "tHxOj9frTIhB/H2gtgMU3xpIc4IJEhXcUlReko6RJt8TTiDZGPDudCcgjg6i7n15v9jXMOc1y4F+y5/1089bfA==";
       };
     };
-    "@lerna/cli-3.13.0" = {
+    "@lerna/cli-3.18.5" = {
       name = "_at_lerna_slash_cli";
       packageName = "@lerna/cli";
-      version = "3.13.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.13.0.tgz";
-        sha512 = "HgFGlyCZbYaYrjOr3w/EsY18PdvtsTmDfpUQe8HwDjXlPeCCUgliZjXLOVBxSjiOvPeOSwvopwIHKWQmYbwywg==";
+        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz";
+        sha512 = "erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==";
       };
     };
-    "@lerna/collect-uncommitted-3.14.2" = {
+    "@lerna/collect-uncommitted-3.16.5" = {
       name = "_at_lerna_slash_collect-uncommitted";
       packageName = "@lerna/collect-uncommitted";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.14.2.tgz";
-        sha512 = "4EkQu4jIOdNL2BMzy/N0ydHB8+Z6syu6xiiKXOoFl0WoWU9H1jEJCX4TH7CmVxXL1+jcs8FIS2pfQz4oew99Eg==";
+        url = "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz";
+        sha512 = "ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==";
       };
     };
-    "@lerna/collect-updates-3.16.0" = {
+    "@lerna/collect-updates-3.18.0" = {
       name = "_at_lerna_slash_collect-updates";
       packageName = "@lerna/collect-updates";
-      version = "3.16.0";
+      version = "3.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.16.0.tgz";
-        sha512 = "HwAIl815X2TNlmcp28zCrSdXfoZWNP7GJPEqNWYk7xDJTYLqQ+SrmKUePjb3AMGBwYAraZSEJLbHdBpJ5+cHmQ==";
+        url = "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.18.0.tgz";
+        sha512 = "LJMKgWsE/var1RSvpKDIxS8eJ7POADEc0HM3FQiTpEczhP6aZfv9x3wlDjaHpZm9MxJyQilqxZcasRANmRcNgw==";
       };
     };
-    "@lerna/command-3.16.0" = {
+    "@lerna/command-3.18.5" = {
       name = "_at_lerna_slash_command";
       packageName = "@lerna/command";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/command/-/command-3.16.0.tgz";
-        sha512 = "u7tE4GC4/gfbPA9eQg+0ulnoJ+PMoMqomx033r/IxqZrHtmJR9+pF/37S0fsxJ2hX/RMFPC7c9Q/i8NEufSpdQ==";
+        url = "https://registry.npmjs.org/@lerna/command/-/command-3.18.5.tgz";
+        sha512 = "36EnqR59yaTU4HrR1C9XDFti2jRx0BgpIUBeWn129LZZB8kAB3ov1/dJNa1KcNRKp91DncoKHLY99FZ6zTNpMQ==";
       };
     };
-    "@lerna/conventional-commits-3.16.4" = {
+    "@lerna/conventional-commits-3.18.5" = {
       name = "_at_lerna_slash_conventional-commits";
       packageName = "@lerna/conventional-commits";
-      version = "3.16.4";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.16.4.tgz";
-        sha512 = "QSZJ0bC9n6FVaf+7KDIq5zMv8WnHXnwhyL5jG1Nyh3SgOg9q2uflqh7YsYB+G6FwaRfnPaKosh6obijpYg0llA==";
+        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.18.5.tgz";
+        sha512 = "qcvXIEJ3qSgalxXnQ7Yxp5H9Ta5TVyai6vEor6AAEHc20WiO7UIdbLDCxBtiiHMdGdpH85dTYlsoYUwsCJu3HQ==";
       };
     };
-    "@lerna/create-3.16.0" = {
+    "@lerna/create-3.18.5" = {
       name = "_at_lerna_slash_create";
       packageName = "@lerna/create";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/create/-/create-3.16.0.tgz";
-        sha512 = "OZApR1Iz7awutbmj4sAArwhqCyKgcrnw9rH0aWAUrkYWrD1w4TwkvAcYAsfx5GpQGbLQwoXhoyyPwPfZRRWz3Q==";
+        url = "https://registry.npmjs.org/@lerna/create/-/create-3.18.5.tgz";
+        sha512 = "cHpjocbpKmLopCuZFI7cKEM3E/QY8y+yC7VtZ4FQRSaLU8D8i2xXtXmYaP1GOlVNavji0iwoXjuNpnRMInIr2g==";
       };
     };
     "@lerna/create-symlink-3.16.2" = {
@@ -1552,49 +1588,49 @@ let
         sha512 = "pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==";
       };
     };
-    "@lerna/describe-ref-3.14.2" = {
+    "@lerna/describe-ref-3.16.5" = {
       name = "_at_lerna_slash_describe-ref";
       packageName = "@lerna/describe-ref";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.14.2.tgz";
-        sha512 = "qa5pzDRK2oBQXNjyRmRnN7E8a78NMYfQjjlRFB0KNHMsT6mCiL9+8kIS39sSE2NqT8p7xVNo2r2KAS8R/m3CoQ==";
+        url = "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz";
+        sha512 = "c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==";
       };
     };
-    "@lerna/diff-3.16.0" = {
+    "@lerna/diff-3.18.5" = {
       name = "_at_lerna_slash_diff";
       packageName = "@lerna/diff";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.16.0.tgz";
-        sha512 = "QUpVs5TPl8vBIne10/vyjUxanQBQQp7Lk3iaB8MnCysKr0O+oy7trWeFVDPEkBTCD177By7yPGyW5Yey1nCBbA==";
+        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.18.5.tgz";
+        sha512 = "u90lGs+B8DRA9Z/2xX4YaS3h9X6GbypmGV6ITzx9+1Ga12UWGTVlKaCXBgONMBjzJDzAQOK8qPTwLA57SeBLgA==";
       };
     };
-    "@lerna/exec-3.16.0" = {
+    "@lerna/exec-3.18.5" = {
       name = "_at_lerna_slash_exec";
       packageName = "@lerna/exec";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.16.0.tgz";
-        sha512 = "mH3O5NXf/O88jBaBBTUf+d56CUkxpg782s3Jxy7HWbVuSUULt3iMRPTh+zEXO5/555etsIVVDDyUR76meklrJA==";
+        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.18.5.tgz";
+        sha512 = "Q1nz95MeAxctS9bF+aG8FkjixzqEjRpg6ujtnDW84J42GgxedkPtNcJ2o/MBqLd/mxAlr+fW3UZ6CPC/zgoyCg==";
       };
     };
-    "@lerna/filter-options-3.16.0" = {
+    "@lerna/filter-options-3.18.4" = {
       name = "_at_lerna_slash_filter-options";
       packageName = "@lerna/filter-options";
-      version = "3.16.0";
+      version = "3.18.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.16.0.tgz";
-        sha512 = "InIi1fF8+PxpCwir9bIy+pGxrdE6hvN0enIs1eNGCVS1TTE8osNgiZXa838bMQ1yaEccdcnVX6Z03BNKd56kNg==";
+        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.18.4.tgz";
+        sha512 = "4giVQD6tauRwweO/322LP2gfVDOVrt/xN4khkXyfkJDfcsZziFXq+668otD9KSLL8Ps+To4Fah3XbK0MoNuEvA==";
       };
     };
-    "@lerna/filter-packages-3.16.0" = {
+    "@lerna/filter-packages-3.18.0" = {
       name = "_at_lerna_slash_filter-packages";
       packageName = "@lerna/filter-packages";
-      version = "3.16.0";
+      version = "3.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.16.0.tgz";
-        sha512 = "eGFzQTx0ogkGDCnbTuXqssryR6ilp8+dcXt6B+aq1MaqL/vOJRZyqMm4TY3CUOUnzZCi9S2WWyMw3PnAJOF+kg==";
+        url = "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz";
+        sha512 = "6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==";
       };
     };
     "@lerna/get-npm-exec-opts-3.13.0" = {
@@ -1615,13 +1651,13 @@ let
         sha512 = "AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==";
       };
     };
-    "@lerna/github-client-3.16.0" = {
+    "@lerna/github-client-3.16.5" = {
       name = "_at_lerna_slash_github-client";
       packageName = "@lerna/github-client";
-      version = "3.16.0";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.16.0.tgz";
-        sha512 = "IVJjcKjkYaUEPJsDyAblHGEFFNKCRyMagbIDm14L7Ab94ccN6i4TKOqAFEJn2SJHYvKKBdp3Zj2zNlASOMe3DA==";
+        url = "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.16.5.tgz";
+        sha512 = "rHQdn8Dv/CJrO3VouOP66zAcJzrHsm+wFuZ4uGAai2At2NkgKH+tpNhQy2H1PSC0Ezj9LxvdaHYrUzULqVK5Hw==";
       };
     };
     "@lerna/gitlab-client-3.15.0" = {
@@ -1642,58 +1678,58 @@ let
         sha512 = "SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==";
       };
     };
-    "@lerna/has-npm-version-3.16.0" = {
+    "@lerna/has-npm-version-3.16.5" = {
       name = "_at_lerna_slash_has-npm-version";
       packageName = "@lerna/has-npm-version";
-      version = "3.16.0";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.0.tgz";
-        sha512 = "TIY036dA9J8OyTrZq9J+it2DVKifL65k7hK8HhkUPpitJkw6jwbMObA/8D40LOGgWNPweJWqmlrTbRSwsR7DrQ==";
+        url = "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz";
+        sha512 = "WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==";
       };
     };
-    "@lerna/import-3.16.0" = {
+    "@lerna/import-3.18.5" = {
       name = "_at_lerna_slash_import";
       packageName = "@lerna/import";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/import/-/import-3.16.0.tgz";
-        sha512 = "trsOmGHzw0rL/f8BLNvd+9PjoTkXq2Dt4/V2UCha254hMQaYutbxcYu8iKPxz9x86jSPlH7FpbTkkHXDsoY7Yg==";
+        url = "https://registry.npmjs.org/@lerna/import/-/import-3.18.5.tgz";
+        sha512 = "PH0WVLEgp+ORyNKbGGwUcrueW89K3Iuk/DDCz8mFyG2IG09l/jOF0vzckEyGyz6PO5CMcz4TI1al/qnp3FrahQ==";
       };
     };
-    "@lerna/init-3.16.0" = {
+    "@lerna/init-3.18.5" = {
       name = "_at_lerna_slash_init";
       packageName = "@lerna/init";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/init/-/init-3.16.0.tgz";
-        sha512 = "Ybol/x5xMtBgokx4j7/Y3u0ZmNh0NiSWzBFVaOs2NOJKvuqrWimF67DKVz7yYtTYEjtaMdug64ohFF4jcT/iag==";
+        url = "https://registry.npmjs.org/@lerna/init/-/init-3.18.5.tgz";
+        sha512 = "oCwipWrha98EcJAHm8AGd2YFFLNI7AW9AWi0/LbClj1+XY9ah+uifXIgYGfTk63LbgophDd8936ZEpHMxBsbAg==";
       };
     };
-    "@lerna/link-3.16.2" = {
+    "@lerna/link-3.18.5" = {
       name = "_at_lerna_slash_link";
       packageName = "@lerna/link";
-      version = "3.16.2";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/link/-/link-3.16.2.tgz";
-        sha512 = "eCPg5Lo8HT525fIivNoYF3vWghO3UgEVFdbsiPmhzwI7IQyZro5HWYzLtywSAdEog5XZpd2Bbn0CsoHWBB3gww==";
+        url = "https://registry.npmjs.org/@lerna/link/-/link-3.18.5.tgz";
+        sha512 = "xTN3vktJpkT7Nqc3QkZRtHO4bT5NvuLMtKNIBDkks0HpGxC9PRyyqwOoCoh1yOGbrWIuDezhfMg3Qow+6I69IQ==";
       };
     };
-    "@lerna/list-3.16.0" = {
+    "@lerna/list-3.18.5" = {
       name = "_at_lerna_slash_list";
       packageName = "@lerna/list";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/list/-/list-3.16.0.tgz";
-        sha512 = "TkvstoPsgKqqQ0KfRumpsdMXfRSEhdXqOLq519XyI5IRWYxhoqXqfi8gG37UoBPhBNoe64japn5OjphF3rOmQA==";
+        url = "https://registry.npmjs.org/@lerna/list/-/list-3.18.5.tgz";
+        sha512 = "qIeomm28C2OCM8TMjEe/chTnQf6XLN54wPVQ6kZy+axMYxANFNt/uhs6GZEmhem7GEVawzkyHSz5ZJPsfH3IFg==";
       };
     };
-    "@lerna/listable-3.16.0" = {
+    "@lerna/listable-3.18.5" = {
       name = "_at_lerna_slash_listable";
       packageName = "@lerna/listable";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.16.0.tgz";
-        sha512 = "mtdAT2EEECqrJSDm/aXlOUFr1MRE4p6hppzY//Klp05CogQy6uGaKk+iKG5yyCLaOXFFZvG4HfO11CmoGSDWzw==";
+        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz";
+        sha512 = "Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==";
       };
     };
     "@lerna/log-packed-3.16.0" = {
@@ -1714,49 +1750,49 @@ let
         sha512 = "HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==";
       };
     };
-    "@lerna/npm-dist-tag-3.16.0" = {
+    "@lerna/npm-dist-tag-3.18.5" = {
       name = "_at_lerna_slash_npm-dist-tag";
       packageName = "@lerna/npm-dist-tag";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.16.0.tgz";
-        sha512 = "MQrBkqJJB9+eNphuj9w90QPMOs4NQXMuSRk9NqzeFunOmdDopPCV0Q7IThSxEuWnhJ2n3B7G0vWUP7tNMPdqIQ==";
+        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz";
+        sha512 = "xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==";
       };
     };
-    "@lerna/npm-install-3.16.0" = {
+    "@lerna/npm-install-3.16.5" = {
       name = "_at_lerna_slash_npm-install";
       packageName = "@lerna/npm-install";
-      version = "3.16.0";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.0.tgz";
-        sha512 = "APUOIilZCzDzce92uLEwzt1r7AEMKT/hWA1ThGJL+PO9Rn8A95Km3o2XZAYG4W0hR+P4O2nSVuKbsjQtz8CjFQ==";
+        url = "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz";
+        sha512 = "hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==";
       };
     };
-    "@lerna/npm-publish-3.16.2" = {
+    "@lerna/npm-publish-3.18.5" = {
       name = "_at_lerna_slash_npm-publish";
       packageName = "@lerna/npm-publish";
-      version = "3.16.2";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.16.2.tgz";
-        sha512 = "tGMb9vfTxP57vUV5svkBQxd5Tzc+imZbu9ZYf8Mtwe0+HYfDjNiiHLIQw7G95w4YRdc5KsCE8sQ0uSj+f2soIg==";
+        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz";
+        sha512 = "3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==";
       };
     };
-    "@lerna/npm-run-script-3.14.2" = {
+    "@lerna/npm-run-script-3.16.5" = {
       name = "_at_lerna_slash_npm-run-script";
       packageName = "@lerna/npm-run-script";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.14.2.tgz";
-        sha512 = "LbVFv+nvAoRTYLMrJlJ8RiakHXrLslL7Jp/m1R18vYrB8LYWA3ey+nz5Tel2OELzmjUiemAKZsD9h6i+Re5egg==";
+        url = "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz";
+        sha512 = "1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==";
       };
     };
-    "@lerna/otplease-3.16.0" = {
+    "@lerna/otplease-3.18.5" = {
       name = "_at_lerna_slash_otplease";
       packageName = "@lerna/otplease";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.16.0.tgz";
-        sha512 = "uqZ15wYOHC+/V0WnD2iTLXARjvx3vNrpiIeyIvVlDB7rWse9mL4egex/QSgZ+lDx1OID7l2kgvcUD9cFpbqB7Q==";
+        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz";
+        sha512 = "S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==";
       };
     };
     "@lerna/output-3.13.0" = {
@@ -1786,13 +1822,13 @@ let
         sha512 = "2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==";
       };
     };
-    "@lerna/package-graph-3.16.0" = {
+    "@lerna/package-graph-3.18.5" = {
       name = "_at_lerna_slash_package-graph";
       packageName = "@lerna/package-graph";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.16.0.tgz";
-        sha512 = "A2mum/gNbv7zCtAwJqoxzqv89As73OQNK2MgSX1SHWya46qoxO9a9Z2c5lOFQ8UFN5ZxqWMfFYXRCz7qzwmFXw==";
+        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz";
+        sha512 = "8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==";
       };
     };
     "@lerna/prerelease-id-from-version-3.16.0" = {
@@ -1804,31 +1840,31 @@ let
         sha512 = "qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==";
       };
     };
-    "@lerna/project-3.16.0" = {
+    "@lerna/project-3.18.0" = {
       name = "_at_lerna_slash_project";
       packageName = "@lerna/project";
-      version = "3.16.0";
+      version = "3.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/project/-/project-3.16.0.tgz";
-        sha512 = "NrKcKK1EqXqhrGvslz6Q36+ZHuK3zlDhGdghRqnxDcHxMPT01NgLcmsnymmQ+gjMljuLRmvKYYCuHrknzX8VrA==";
+        url = "https://registry.npmjs.org/@lerna/project/-/project-3.18.0.tgz";
+        sha512 = "+LDwvdAp0BurOAWmeHE3uuticsq9hNxBI0+FMHiIai8jrygpJGahaQrBYWpwbshbQyVLeQgx3+YJdW2TbEdFWA==";
       };
     };
-    "@lerna/prompt-3.13.0" = {
+    "@lerna/prompt-3.18.5" = {
       name = "_at_lerna_slash_prompt";
       packageName = "@lerna/prompt";
-      version = "3.13.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.13.0.tgz";
-        sha512 = "P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==";
+        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz";
+        sha512 = "rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==";
       };
     };
-    "@lerna/publish-3.16.4" = {
+    "@lerna/publish-3.18.5" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "3.16.4";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.16.4.tgz";
-        sha512 = "XZY+gRuF7/v6PDQwl7lvZaGWs8CnX6WIPIu+OCcyFPSL/rdWegdN7HieKBHskgX798qRQc2GrveaY7bNoTKXAw==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.18.5.tgz";
+        sha512 = "ifYqLX6mvw95T8vYRlhT68UC7Al0flQvnf5uF9lDgdrgR5Bs+BTwzk3D+0ctdqMtfooekrV6pqfW0R3gtwRffQ==";
       };
     };
     "@lerna/pulse-till-done-3.13.0" = {
@@ -1840,13 +1876,13 @@ let
         sha512 = "1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==";
       };
     };
-    "@lerna/query-graph-3.16.0" = {
+    "@lerna/query-graph-3.18.5" = {
       name = "_at_lerna_slash_query-graph";
       packageName = "@lerna/query-graph";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.16.0.tgz";
-        sha512 = "p0RO+xmHDO95ChJdWkcy9TNLysLkoDARXeRHzY5U54VCwl3Ot/2q8fMCVlA5UeGXDutEyyByl3URqEpcQCWI7Q==";
+        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz";
+        sha512 = "50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==";
       };
     };
     "@lerna/resolve-symlink-3.16.0" = {
@@ -1858,22 +1894,22 @@ let
         sha512 = "Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==";
       };
     };
-    "@lerna/rimraf-dir-3.14.2" = {
+    "@lerna/rimraf-dir-3.16.5" = {
       name = "_at_lerna_slash_rimraf-dir";
       packageName = "@lerna/rimraf-dir";
-      version = "3.14.2";
+      version = "3.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.14.2.tgz";
-        sha512 = "eFNkZsy44Bu9v1Hrj5Zk6omzg8O9h/7W6QYK1TTUHeyrjTEwytaNQlqF0lrTLmEvq55sviV42NC/8P3M2cvq8Q==";
+        url = "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz";
+        sha512 = "bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==";
       };
     };
-    "@lerna/run-3.16.0" = {
+    "@lerna/run-3.18.5" = {
       name = "_at_lerna_slash_run";
       packageName = "@lerna/run";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run/-/run-3.16.0.tgz";
-        sha512 = "woTeLlB1OAAz4zzjdI6RyIxSGuxiUPHJZm89E1pDEPoWwtQV6HMdMgrsQd9ATsJ5Ez280HH4bF/LStAlqW8Ufg==";
+        url = "https://registry.npmjs.org/@lerna/run/-/run-3.18.5.tgz";
+        sha512 = "1S0dZccNJO8+gT5ztYE4rHTEnbXVwThHOfDnlVt2KDxl9cbnBALk3xprGLW7lSzJsxegS849hxrAPUh0UorMgw==";
       };
     };
     "@lerna/run-lifecycle-3.16.2" = {
@@ -1885,40 +1921,31 @@ let
         sha512 = "RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==";
       };
     };
-    "@lerna/run-parallel-batches-3.16.0" = {
-      name = "_at_lerna_slash_run-parallel-batches";
-      packageName = "@lerna/run-parallel-batches";
-      version = "3.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run-parallel-batches/-/run-parallel-batches-3.16.0.tgz";
-        sha512 = "2J/Nyv+MvogmQEfC7VcS21ifk7w0HVvzo2yOZRPvkCzGRu/rducxtB4RTcr58XCZ8h/Bt1aqQYKExu3c/3GXwg==";
-      };
-    };
-    "@lerna/run-topologically-3.16.0" = {
+    "@lerna/run-topologically-3.18.5" = {
       name = "_at_lerna_slash_run-topologically";
       packageName = "@lerna/run-topologically";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.16.0.tgz";
-        sha512 = "4Hlpv4zDtKWa5Z0tPkeu0sK+bxZEKgkNESMGmWrUCNfj7xwvAJurcraK8+a2Y0TFYwf0qjSLY/MzX+ZbJA3Cgw==";
+        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz";
+        sha512 = "6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==";
       };
     };
-    "@lerna/symlink-binary-3.16.2" = {
+    "@lerna/symlink-binary-3.17.0" = {
       name = "_at_lerna_slash_symlink-binary";
       packageName = "@lerna/symlink-binary";
-      version = "3.16.2";
+      version = "3.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.16.2.tgz";
-        sha512 = "kz9XVoFOGSF83gg4gBqH+mG6uxfJfTp8Uy+Cam40CvMiuzfODrGkjuBEFoM/uO2QOAwZvbQDYOBpKUa9ZxHS1Q==";
+        url = "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz";
+        sha512 = "RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==";
       };
     };
-    "@lerna/symlink-dependencies-3.16.2" = {
+    "@lerna/symlink-dependencies-3.17.0" = {
       name = "_at_lerna_slash_symlink-dependencies";
       packageName = "@lerna/symlink-dependencies";
-      version = "3.16.2";
+      version = "3.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.16.2.tgz";
-        sha512 = "wnZqGJQ+Jvr1I3inxrkffrFZfmQI7Ta8gySw/UWCy95QtZWF/f5yk8zVIocCAsjzD0wgb3jJE3CFJ9W5iwWk1A==";
+        url = "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz";
+        sha512 = "KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==";
       };
     };
     "@lerna/timer-3.13.0" = {
@@ -1939,13 +1966,13 @@ let
         sha512 = "SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==";
       };
     };
-    "@lerna/version-3.16.4" = {
+    "@lerna/version-3.18.5" = {
       name = "_at_lerna_slash_version";
       packageName = "@lerna/version";
-      version = "3.16.4";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/version/-/version-3.16.4.tgz";
-        sha512 = "ikhbMeIn5ljCtWTlHDzO4YvTmpGTX1lWFFIZ79Vd1TNyOr+OUuKLo/+p06mCl2WEdZu0W2s5E9oxfAAQbyDxEg==";
+        url = "https://registry.npmjs.org/@lerna/version/-/version-3.18.5.tgz";
+        sha512 = "eSMxLIDuVxZIq0JZKNih50x1IZuMmViwF59uwOGMx0hHB84N3waE8HXOF9CJXDSjeP6sHB8tS+Y+X5fFpBop2Q==";
       };
     };
     "@lerna/write-log-file-3.13.0" = {
@@ -1966,58 +1993,58 @@ let
         sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
       };
     };
-    "@node-red/editor-api-0.20.8" = {
+    "@node-red/editor-api-1.0.3" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-0.20.8.tgz";
-        sha512 = "VaetYYU/gu4CgUs80ymiBg9BVw4Ge4kYF4NPgs4S8t/c1BRz2ZZd5idCDw7MaN602eDiYnspx3QMH8X3sqYsTQ==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.0.3.tgz";
+        sha512 = "q/AFIIo7oORS5D3Tf94FniTNxRlPtdy4W/bp58UDzPpKamsgNbqdTFU0XG8vm87zDrYZeW3ZSuHQaYR6qMpxKQ==";
       };
     };
-    "@node-red/editor-client-0.20.8" = {
+    "@node-red/editor-client-1.0.3" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-0.20.8.tgz";
-        sha512 = "TyZ+ma0jRU/T0BChpl17hHa0cMOnPX9DYFbpyT8p5ghRHIHYYL/3rFFflwB+5bAwbK1Y8Z2LKB7dngzL7jzpTQ==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.0.3.tgz";
+        sha512 = "qCMDsyL5rKzw7vjwUUw53zBEnfzk0mOFufLVb3eEICuXRzFfQ9nNGr4r3W/ed29eLNZSAXOqOF4NZXeGdh3cbA==";
       };
     };
-    "@node-red/nodes-0.20.8" = {
+    "@node-red/nodes-1.0.3" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-0.20.8.tgz";
-        sha512 = "yR+kNSkUQowQLHpk7buY36Pz5utA3q3n/49LvgvyxxRwgOPUBv4KNaFLDipUjqgD2spaznh+VTAMT8UUO0xeig==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.0.3.tgz";
+        sha512 = "vSyeQCKKeX1lmlsseF3KmQVW/vP+kvWJa1l07F/26dCAKmfD85P06Bw+H8coBtmEjh/oMoecW1SSO9pfan6AWg==";
       };
     };
-    "@node-red/registry-0.20.8" = {
+    "@node-red/registry-1.0.3" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-0.20.8.tgz";
-        sha512 = "3B5wYJOAWNLa3qhzdFZYqHa8X2+U4mdno6f0GQ2vzaNMdcxM9VvkpXLvmnThcQJsYqbxAiwuaUZUL1mX0KePsA==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-1.0.3.tgz";
+        sha512 = "zSlW8lnS6Bgez8Sbr+1XPVI4NG0LuQj+IQ2Ra0WU805nDNjwzcfLPOx2fjSXeKIgGjT3pU/K63oeNuzkcMfnEg==";
       };
     };
-    "@node-red/runtime-0.20.8" = {
+    "@node-red/runtime-1.0.3" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-0.20.8.tgz";
-        sha512 = "R7X3E8VXGlzXbYd0hTqhgU8rzyc2uNXDb3u37C3rduCViotcKWrQho4n/UdQS4H+T1Bu0H6Zoo+1EGAsQ92nGA==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.0.3.tgz";
+        sha512 = "wpFbylDo6ekIY48CptoYq5q55Ota4CjbvIaE7XNX/jF0D3YakzxLsAe0z7RGXI6NiFVfhmnhzWK6fIEFlm6ZRA==";
       };
     };
-    "@node-red/util-0.20.8" = {
+    "@node-red/util-1.0.3" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "0.20.8";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-0.20.8.tgz";
-        sha512 = "tid1o8fy94b6XU6/8cVDm5Kn9tNWm1AoaLPrhfDxJaObtrcHC6KtEhJJxPq61nhzZxJOuT/DHqBUGwTXTKg7Zg==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-1.0.3.tgz";
+        sha512 = "55NKHIU6l1Rl6GtZus/rtcgdLJmXN40cXqNuj6JV1JyMz6t/K0FEQwHRhjIpoxFVznctAL+vt3UmgeU+MpnYWg==";
       };
     };
     "@nodelib/fs.stat-1.1.3" = {
@@ -2029,13 +2056,121 @@ let
         sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
       };
     };
-    "@octokit/endpoint-5.3.5" = {
+    "@oclif/color-0.0.0" = {
+      name = "_at_oclif_slash_color";
+      packageName = "@oclif/color";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/color/-/color-0.0.0.tgz";
+        sha512 = "KKd3W7eNwfNF061tr663oUNdt8EMnfuyf5Xv55SGWA1a0rjhWqS/32P7OeB7CbXcJUBdfVrPyR//1afaW12AWw==";
+      };
+    };
+    "@oclif/command-1.5.19" = {
+      name = "_at_oclif_slash_command";
+      packageName = "@oclif/command";
+      version = "1.5.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.5.19.tgz";
+        sha512 = "6+iaCMh/JXJaB2QWikqvGE9//wLEVYYwZd5sud8aLoLKog1Q75naZh2vlGVtg5Mq/NqpqGQvdIjJb3Bm+64AUQ==";
+      };
+    };
+    "@oclif/config-1.13.3" = {
+      name = "_at_oclif_slash_config";
+      packageName = "@oclif/config";
+      version = "1.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.13.3.tgz";
+        sha512 = "qs5XvGRw+1M41abOKCjd0uoeHCgsMxa2MurD2g2K8CtQlzlMXl0rW5idVeimIg5208LLuxkfzQo8TKAhhRCWLg==";
+      };
+    };
+    "@oclif/errors-1.2.2" = {
+      name = "_at_oclif_slash_errors";
+      packageName = "@oclif/errors";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/errors/-/errors-1.2.2.tgz";
+        sha512 = "Eq8BFuJUQcbAPVofDxwdE0bL14inIiwt5EaKRVY9ZDIG11jwdXZqiQEECJx0VfnLyUZdYfRd/znDI/MytdJoKg==";
+      };
+    };
+    "@oclif/linewrap-1.0.0" = {
+      name = "_at_oclif_slash_linewrap";
+      packageName = "@oclif/linewrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz";
+        sha512 = "Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==";
+      };
+    };
+    "@oclif/parser-3.8.4" = {
+      name = "_at_oclif_slash_parser";
+      packageName = "@oclif/parser";
+      version = "3.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.4.tgz";
+        sha512 = "cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA==";
+      };
+    };
+    "@oclif/plugin-autocomplete-0.1.5" = {
+      name = "_at_oclif_slash_plugin-autocomplete";
+      packageName = "@oclif/plugin-autocomplete";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-0.1.5.tgz";
+        sha512 = "Afchpdd8FNfx9GaU/1D9IzyfiXvjfGybgzQ6G4GTFvPO0/hLdkXX3YyYq+SnxE6/bCrhg4pleiB+GuJACmmkEA==";
+      };
+    };
+    "@oclif/plugin-help-2.2.2" = {
+      name = "_at_oclif_slash_plugin-help";
+      packageName = "@oclif/plugin-help";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.2.tgz";
+        sha512 = "Xh4o3TKEg5CsIpQx1XzzV0RYCShfksFuFF0CBodv5Eh1boAw06cBGv225LYdAX8lcSo9qklw/tuz2RsAsH0o9A==";
+      };
+    };
+    "@oclif/plugin-not-found-1.2.3" = {
+      name = "_at_oclif_slash_plugin-not-found";
+      packageName = "@oclif/plugin-not-found";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-1.2.3.tgz";
+        sha512 = "Igbw2T4gLrb/f28Llr730FeMXBSI2PXdky2YvQfsZeQGDsyBZmC4gprJJtmrMWQcjz0B51IInRBnZYERvwfIpw==";
+      };
+    };
+    "@oclif/plugin-plugins-1.7.8" = {
+      name = "_at_oclif_slash_plugin-plugins";
+      packageName = "@oclif/plugin-plugins";
+      version = "1.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.7.8.tgz";
+        sha512 = "GxLxaf8Lk1RqHVAIBZyA7hmhU7u5oV97i/OsWgFPdjPaT+BmWlWXR8IpmtA8giNo6atR+JpfgDmYndMU75zYUQ==";
+      };
+    };
+    "@oclif/plugin-warn-if-update-available-1.7.0" = {
+      name = "_at_oclif_slash_plugin-warn-if-update-available";
+      packageName = "@oclif/plugin-warn-if-update-available";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-1.7.0.tgz";
+        sha512 = "Nwyz3BJ8RhsfQ+OmFSsJSPIfn5YJqMrCzPh72Zgo2jqIjKIBWD8N9vTTe4kZlpeUUn77SyXFfwlBQbNCL5OEuQ==";
+      };
+    };
+    "@oclif/screen-1.0.4" = {
+      name = "_at_oclif_slash_screen";
+      packageName = "@oclif/screen";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz";
+        sha512 = "60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==";
+      };
+    };
+    "@octokit/endpoint-5.5.1" = {
       name = "_at_octokit_slash_endpoint";
       packageName = "@octokit/endpoint";
-      version = "5.3.5";
+      version = "5.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz";
-        sha512 = "f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==";
+        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz";
+        sha512 = "nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==";
       };
     };
     "@octokit/plugin-enterprise-rest-3.6.2" = {
@@ -2047,31 +2182,40 @@ let
         sha512 = "3wF5eueS5OHQYuAEudkpN+xVeUsg8vYEMMenEzLphUZ7PRZ8OJtDcsreL3ad9zxXmBbaFWzLmFcdob5CLyZftA==";
       };
     };
-    "@octokit/request-5.1.0" = {
+    "@octokit/request-5.3.1" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "5.1.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz";
-        sha512 = "I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz";
+        sha512 = "5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==";
       };
     };
-    "@octokit/request-error-1.0.4" = {
+    "@octokit/request-error-1.2.0" = {
       name = "_at_octokit_slash_request-error";
       packageName = "@octokit/request-error";
-      version = "1.0.4";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz";
-        sha512 = "L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==";
+        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz";
+        sha512 = "DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==";
       };
     };
-    "@octokit/rest-16.30.0" = {
+    "@octokit/rest-16.36.0" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "16.30.0";
+      version = "16.36.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.36.0.tgz";
+        sha512 = "zoZj7Ya4vWBK4fjTwK2Cnmu7XBB1p9ygSvTk2TthN6DVJXM4hQZQoAiknWFLJWSTix4dnA3vuHtjPZbExYoCZA==";
+      };
+    };
+    "@octokit/types-2.0.2" = {
+      name = "_at_octokit_slash_types";
+      packageName = "@octokit/types";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.30.0.tgz";
-        sha512 = "TN5MbqVuqxT/s87D6tGe3zsMvyHUQSkGFMBHuwBToPQGV3eG2a67rJW2rag2vJr7JusWyERDhQ4g/4HvFo9B1g==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-2.0.2.tgz";
+        sha512 = "StASIL2lgT3TRjxv17z9pAqbnI7HGu9DrJlg3sEBFfCLaMEqp+O3IQPUF6EZtQ4xkAu2ml6kMBBCtGxjvmtmuQ==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -2083,13 +2227,13 @@ let
         sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==";
       };
     };
-    "@parcel/logger-1.11.0" = {
+    "@parcel/logger-1.11.1" = {
       name = "_at_parcel_slash_logger";
       packageName = "@parcel/logger";
-      version = "1.11.0";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.0.tgz";
-        sha512 = "lIRfDg+junbFUUeU0QtHX00gKCgEsYHZydFKwrJ8dc0D+WE2SYT1FcVCgpPAfKYgtg0QQMns8E9vzT9UjH92PQ==";
+        url = "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz";
+        sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==";
       };
     };
     "@parcel/utils-1.11.0" = {
@@ -2101,13 +2245,13 @@ let
         sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==";
       };
     };
-    "@parcel/watcher-1.12.0" = {
+    "@parcel/watcher-1.12.1" = {
       name = "_at_parcel_slash_watcher";
       packageName = "@parcel/watcher";
-      version = "1.12.0";
+      version = "1.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.0.tgz";
-        sha512 = "yijGiAqG7Tjf5WnFwOkiNWwerfZQDNABldiiqRDtr7vDWLO+F/DIncyB7tTcaD5Loevrr5mzzGo8Ntf3d2GIPg==";
+        url = "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz";
+        sha512 = "od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==";
       };
     };
     "@parcel/workers-1.11.0" = {
@@ -2119,6 +2263,15 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
+    "@primer/octicons-9.3.1" = {
+      name = "_at_primer_slash_octicons";
+      packageName = "@primer/octicons";
+      version = "9.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-9.3.1.tgz";
+        sha512 = "E0Knv/hUfwpfJOVh7cPXXJf6gfNiIMBtMbhnqjkWHnpT/+bPJk4Q3l/YG6sCWELZ05KYpHBunpHNOlTyw3mbwg==";
+      };
+    };
     "@protobufjs/aspromise-1.1.2" = {
       name = "_at_protobufjs_slash_aspromise";
       packageName = "@protobufjs/aspromise";
@@ -2218,31 +2371,40 @@ let
         sha512 = "YXJqp9gdHcZKAmBY/WnwFpPtNQp2huD/ME2YMurH2YHJvxrVzYsmpKw/pb7yINArRpp8E++fwbQd3ajYXGA45Q==";
       };
     };
-    "@schematics/angular-8.3.5" = {
+    "@samverschueren/stream-to-observable-0.3.0" = {
+      name = "_at_samverschueren_slash_stream-to-observable";
+      packageName = "@samverschueren/stream-to-observable";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz";
+        sha512 = "MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==";
+      };
+    };
+    "@schematics/angular-8.3.21" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "8.3.5";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.5.tgz";
-        sha512 = "3YKurSNqUfjVrbENVlnTBNGYBWjdyjrWzJRlwWbCq+owQLhkZ/N5qVirt/SDw5T9hK2AEMOKjLkQYtpE+aOCgg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.21.tgz";
+        sha512 = "KahQ+dHvTsGOZwY6IdzqJZLDEn0G89rrK3OY+7okZujoaLM+LXhxlPoznW1udnZJVTa3VNxYGx11fkgLtRJRqA==";
       };
     };
-    "@schematics/update-0.803.5" = {
+    "@schematics/update-0.803.21" = {
       name = "_at_schematics_slash_update";
       packageName = "@schematics/update";
-      version = "0.803.5";
+      version = "0.803.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/update/-/update-0.803.5.tgz";
-        sha512 = "v2qU0ATb1jND8GIGQFnI1QLWoquUjJ2fJ37HoDSO3rmttZ/NvoV4sNDGhk/pPUcmeXa+prURfJCCCSeHZ/yKkw==";
+        url = "https://registry.npmjs.org/@schematics/update/-/update-0.803.21.tgz";
+        sha512 = "D3BRvEBF2cJEgogvFaNOfqtTFHHv/ctSRfOeAYWjUxILtb+2DpuZ9h5QYDFhN9MPgz/vRaOqFORa3sEZCRkX4g==";
       };
     };
-    "@serverless/cli-1.2.3" = {
+    "@serverless/cli-1.4.0" = {
       name = "_at_serverless_slash_cli";
       packageName = "@serverless/cli";
-      version = "1.2.3";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/cli/-/cli-1.2.3.tgz";
-        sha512 = "N/hsPZrE/zK8Iv98bdEG7J6ZhotWXwywjc/bKWcbhZeXENqbS7UD2qtyL/pfGuNodFVG587l8Cf+UvK8OcA6Qg==";
+        url = "https://registry.npmjs.org/@serverless/cli/-/cli-1.4.0.tgz";
+        sha512 = "YqlCiYmRFeGksw6XJaXbigIDlktc7OfRuVpyPB7IZgkCJ9mUlBmvyWdwqJEQdkUz0xPTGsd4Jd/XSrwyiw1Brg==";
       };
     };
     "@serverless/component-metrics-1.0.8" = {
@@ -2254,22 +2416,22 @@ let
         sha512 = "lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==";
       };
     };
-    "@serverless/core-1.0.0" = {
+    "@serverless/core-1.1.2" = {
       name = "_at_serverless_slash_core";
       packageName = "@serverless/core";
-      version = "1.0.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/core/-/core-1.0.0.tgz";
-        sha512 = "XP5KXvEGlrNIOV/KJ0KKwzeov9MqZQ+Ck3z7JW/gtd8ryoKK+5+ah2WL77DXETeHeEwxZhJdrNatqc0FXauEiw==";
+        url = "https://registry.npmjs.org/@serverless/core/-/core-1.1.2.tgz";
+        sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
       };
     };
-    "@serverless/enterprise-plugin-3.0.0" = {
+    "@serverless/enterprise-plugin-3.2.6" = {
       name = "_at_serverless_slash_enterprise-plugin";
       packageName = "@serverless/enterprise-plugin";
-      version = "3.0.0";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-3.0.0.tgz";
-        sha512 = "+L+SeQV0MKQN9TBXC6Xmgcw7BVfW8Q3F/lMjB1MPsBd0RZPzYnVlWcVg4cA6tgvkpfdw8NVlh/QXFs+603zHrg==";
+        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-3.2.6.tgz";
+        sha512 = "4KDHMhGx5qdoEBGlWqOr/IMAQoz1HdMLbS7VamdZ8AEFsczuIiGKVMoBsN0Wd87CYH3K7SFeEF2ozg+bJvrMaQ==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -2281,22 +2443,22 @@ let
         sha512 = "YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==";
       };
     };
-    "@serverless/platform-sdk-2.1.1" = {
+    "@serverless/platform-sdk-2.2.1" = {
       name = "_at_serverless_slash_platform-sdk";
       packageName = "@serverless/platform-sdk";
-      version = "2.1.1";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-2.1.1.tgz";
-        sha512 = "bWmXwhUmnDxY4A5zFKinbBQaPcMbxd5i07i8nyJUDjvr8F8gB9fo2n5A20c1ahOIEiFntBRC9y4/6fxNjIsXqQ==";
+        url = "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-2.2.1.tgz";
+        sha512 = "XOpYzV9AKrWuW1IJqLxhwZZbspUTCe+f/bmkdMCzWZX7HpHtasYWCcAwZN/DsYq/3af/tBp8gkEsYh0GnaAaYg==";
       };
     };
-    "@serverless/template-1.1.0" = {
+    "@serverless/template-1.1.3" = {
       name = "_at_serverless_slash_template";
       packageName = "@serverless/template";
-      version = "1.1.0";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/template/-/template-1.1.0.tgz";
-        sha512 = "ezrtGAf1pKXKfsd+o381L2HAtVxhmXlm59rq7iBPosqChrrE8NI081IIMNTi93JLpTULZaSCRLMDMwVrCJ0ZMw==";
+        url = "https://registry.npmjs.org/@serverless/template/-/template-1.1.3.tgz";
+        sha512 = "hcMiX523rkp6kHeKnM1x6/dXEY+d1UFSr901yVKeeCgpFy4u33UI9vlKaPweAZCF6Ahzqywf01IsFTuBVadCrQ==";
       };
     };
     "@sindresorhus/is-0.14.0" = {
@@ -2326,31 +2488,58 @@ let
         sha512 = "CWr7a3rTVrN5Vs8GYReRAvTourbXHOqB1zglcskj05ICH4GZL5BOAza2ARai+qc3Nz0nY08Bozi1x0014KOqlg==";
       };
     };
-    "@snyk/cli-interface-2.1.0" = {
+    "@snyk/cli-interface-1.5.0" = {
       name = "_at_snyk_slash_cli-interface";
       packageName = "@snyk/cli-interface";
-      version = "2.1.0";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-1.5.0.tgz";
+        sha512 = "+Qo+IO3YOXWgazlo+CKxOuWFLQQdaNCJ9cSfhFQd687/FuesaIxWdInaAdfpsLScq0c6M1ieZslXgiZELSzxbg==";
+      };
+    };
+    "@snyk/cli-interface-2.2.0" = {
+      name = "_at_snyk_slash_cli-interface";
+      packageName = "@snyk/cli-interface";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.2.0.tgz";
+        sha512 = "sA7V2JhgqJB9z5uYotgQc5iNDv//y+Mdm39rANxmFjtZMSYJZHkP80arzPjw1mB5ni/sWec7ieYUUFeySZBfVg==";
+      };
+    };
+    "@snyk/cli-interface-2.3.0" = {
+      name = "_at_snyk_slash_cli-interface";
+      packageName = "@snyk/cli-interface";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.1.0.tgz";
-        sha512 = "b/magC8iNQP9QhSDeV9RQDSaY3sNy57k0UH1Y/sMOSvVLHLsA7dOi/HrPWTiLouyGqcuYzwjkz7bNbu8cwmVDQ==";
+        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.3.0.tgz";
+        sha512 = "ecbylK5Ol2ySb/WbfPj0s0GuLQR+KWKFzUgVaoNHaSoN6371qRWwf2uVr+hPUP4gXqCai21Ug/RDArfOhlPwrQ==";
       };
     };
-    "@snyk/composer-lockfile-parser-1.0.3" = {
+    "@snyk/cocoapods-lockfile-parser-3.0.0" = {
+      name = "_at_snyk_slash_cocoapods-lockfile-parser";
+      packageName = "@snyk/cocoapods-lockfile-parser";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.0.0.tgz";
+        sha512 = "AebCc+v9vtOL9tFkU4/tommgVsXxqdx6t45kCkBW+FC4PaYvfYEg9Eg/9GqlY9+nFrLFo/uTr+E/aR0AF/KqYA==";
+      };
+    };
+    "@snyk/composer-lockfile-parser-1.2.0" = {
       name = "_at_snyk_slash_composer-lockfile-parser";
       packageName = "@snyk/composer-lockfile-parser";
-      version = "1.0.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.0.3.tgz";
-        sha512 = "hb+6E7kMzWlcwfe//ILDoktBPKL2a3+RnJT/CXnzRXaiLQpsdkf5li4q2v0fmvd+4v7L3tTN8KM+//lJyviEkg==";
+        url = "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.2.0.tgz";
+        sha512 = "kZT+HTqgNcQMeoE5NM9M3jj463M8zI7ZxqZXLw9WoyVs5JTt9g0qFWxIG1cNwZdGVI+y7tzZbNWw9BlMD1vCCQ==";
       };
     };
-    "@snyk/dep-graph-1.12.0" = {
+    "@snyk/dep-graph-1.13.1" = {
       name = "_at_snyk_slash_dep-graph";
       packageName = "@snyk/dep-graph";
-      version = "1.12.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.12.0.tgz";
-        sha512 = "n7+PlHn3SqznHgsCpeBRfEvU1oiQydoGkXQlnSB2+tfImiKXvY7YZbrg4wlbvYgylYiTbpCi5CpPNkJG14S+UQ==";
+        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.13.1.tgz";
+        sha512 = "Ww2xvm5UQgrq9eV0SdTBCh+w/4oI2rCx5vn1IOSeypaR0CO4p+do1vm3IDZ2ugg4jLSfHP8+LiD6ORESZMkQ2w==";
       };
     };
     "@snyk/gemfile-1.2.0" = {
@@ -2362,6 +2551,24 @@ let
         sha512 = "nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==";
       };
     };
+    "@snyk/ruby-semver-2.0.4" = {
+      name = "_at_snyk_slash_ruby-semver";
+      packageName = "@snyk/ruby-semver";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/ruby-semver/-/ruby-semver-2.0.4.tgz";
+        sha512 = "ceMD4CBS3qtAg+O0BUvkKdsheUNCqi+/+Rju243Ul8PsUgZnXmGiqfk/2z7DCprRQnxUTra4+IyeDQT7wAheCQ==";
+      };
+    };
+    "@snyk/snyk-cocoapods-plugin-2.0.1" = {
+      name = "_at_snyk_slash_snyk-cocoapods-plugin";
+      packageName = "@snyk/snyk-cocoapods-plugin";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.0.1.tgz";
+        sha512 = "XVkvaMvMzQ3miJi/YZmsRJSAUfDloYhfg6pXPgzAeAugB4p+cNi01Z68pT62ypB8U/Ugh1Xx2pb9aoOFqBbSjA==";
+      };
+    };
     "@starptech/expression-parser-0.9.0" = {
       name = "_at_starptech_slash_expression-parser";
       packageName = "@starptech/expression-parser";
@@ -2461,121 +2668,121 @@ let
         sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     };
-    "@textlint/ast-node-types-4.2.4" = {
+    "@textlint/ast-node-types-4.2.5" = {
       name = "_at_textlint_slash_ast-node-types";
       packageName = "@textlint/ast-node-types";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.4.tgz";
-        sha512 = "ggiixpScxgdMY42b6UafD1iUboSvl9k3vGA9kynP+kd6mEhTDzxtb1aHPDAnV+DpAEw4qpHMz72GBFkX/iOSFw==";
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.5.tgz";
+        sha512 = "+rEx4jLOeZpUcdvll7jEg/7hNbwYvHWFy4IGW/tk2JdbyB3SJVyIP6arAwzTH/sp/pO9jftfyZnRj4//sLbLvQ==";
       };
     };
-    "@textlint/ast-traverse-2.1.5" = {
+    "@textlint/ast-traverse-2.1.6" = {
       name = "_at_textlint_slash_ast-traverse";
       packageName = "@textlint/ast-traverse";
-      version = "2.1.5";
+      version = "2.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.1.5.tgz";
-        sha512 = "Xt1x8eBmXS+4nOQ+0VjIoyXgcz9VFxK3ug8EiG7tGkhezIU90HRW2O8jPOPXhOcrrRzBGQNG9tsL7+IUDzF5FQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.1.6.tgz";
+        sha512 = "qSPTUptR/C4YwoeVXRLUij6TpxbXT7U0P9S0No+p9Q+EYJeNvl1NUTrcpQmzrRydo6vCR0RzVkHmj+gEckH2Ug==";
       };
     };
-    "@textlint/feature-flag-3.1.3" = {
+    "@textlint/feature-flag-3.1.5" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "3.1.3";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.3.tgz";
-        sha512 = "59RaAmdsMB3e32PD04N0YOJI2L3ljWR8fEk9FDLbOJAZeu7c+TqgETHDiVnkrh8gM+m8RL0h4wWq1jbB1kj0Xw==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.5.tgz";
+        sha512 = "KHQ/hYO4O2dNRcdSJQo/alLqMyVwsYIncMlCQdgmRDnr65vxTcKtMKEKFQ+CkelyCH1tKSIyp776xpXop6SWFQ==";
       };
     };
-    "@textlint/fixer-formatter-3.1.8" = {
+    "@textlint/fixer-formatter-3.1.10" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "3.1.8";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.8.tgz";
-        sha512 = "PKpUA2EOinFSE9kEhr6C2kpdEJj4U7nHuB4dCRHV9so3hIJyqXJBx4YwTpyggIUgNv6OkY2qo8D0g3YOu99zSw==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.10.tgz";
+        sha512 = "rYGL3KKSSx+9un9EbONYnZVxj3yFMSGC1B/TQXC52C7Hpt6vpx5aRoovKpr4qTzzX1IhvxaMmlCyEKI6UZz1qw==";
       };
     };
-    "@textlint/kernel-3.1.8" = {
+    "@textlint/kernel-3.1.10" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "3.1.8";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.8.tgz";
-        sha512 = "ViCHoy2QMpCD8Vu+2vXHXc+Jt9D5lIKUH7+j1TzP5JPiPmV1IbEMrztk4ubjacYQTSRHXE9BCLGOffOKSxt+ag==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.10.tgz";
+        sha512 = "umCapHNApEYPzvUVBvPLwuF874+37Tw5Poa5Vhx8B8Y7MPfWg+q3bMvjnZvf9eBOKxxJdhxz8LtK7JrLuJIoFg==";
       };
     };
-    "@textlint/linter-formatter-3.1.7" = {
+    "@textlint/linter-formatter-3.1.9" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "3.1.7";
+      version = "3.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.7.tgz";
-        sha512 = "myFj1Vj22LdzDecAvfIWojobi0AIGCEuEhLlrGcn478Wv6vQgP+51o0zTu1e2Duth1Z7YYjdTIcn2yZWxWSalg==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.9.tgz";
+        sha512 = "jahCeq+g8aLJcQZaTXURYeyY2fw5hVbNilPxnYqvaXGSbrw0vrTPa2dJhfAEJ+H/Gw0ZSM9abNSoZI4GqAtWlA==";
       };
     };
-    "@textlint/markdown-to-ast-6.1.5" = {
+    "@textlint/markdown-to-ast-6.1.6" = {
       name = "_at_textlint_slash_markdown-to-ast";
       packageName = "@textlint/markdown-to-ast";
-      version = "6.1.5";
+      version = "6.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.5.tgz";
-        sha512 = "WM2z0/wXpEREXAkSoKyPLG4qp5e5XGI5ctuQ5sUG1BE4aaAxJ3ogomaocQc82MPobiQjYp5791A+cXXYx5ML5w==";
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.6.tgz";
+        sha512 = "xIaMn6gW1Ig+M+2Xcdbxt4cgOqWJSuB0pIO98KppQyqPzQ5k5deea7SBABqLZiKeNIxLl+2C1vfIfnBFFjxlmg==";
       };
     };
-    "@textlint/module-interop-1.0.1" = {
+    "@textlint/module-interop-1.0.2" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.0.1.tgz";
-        sha512 = "gqx1Te+lMnXX6xyGTUdzGhm8RT7IfiSRMtWoH1FeTMg2InArRT+lTksCFc/x5dtaPN4vwOFZUvU8oTzYQzXbyg==";
+        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.0.2.tgz";
+        sha512 = "qQ6dqlg4SYywCywimIbkveQZu1MG6ugf6fcJuWDi3D51FbdkSRsMrPusJ1YoW6Y3XBp0ww9fJjXWtlUStGeQsw==";
       };
     };
-    "@textlint/text-to-ast-3.1.5" = {
+    "@textlint/text-to-ast-3.1.6" = {
       name = "_at_textlint_slash_text-to-ast";
       packageName = "@textlint/text-to-ast";
-      version = "3.1.5";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.1.5.tgz";
-        sha512 = "LGDlK+Jk5hpVPYcBxFU1Go9bG3AYAkHwNkAy573gLBKuGjb69FY6Wpmt4XBcKCKaa1j7S9cq7OxiSu69dVyQlQ==";
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.1.6.tgz";
+        sha512 = "w0oBF3OeTT8syF+Y3BT1/pFYhBT2ZbzBDGqFELZVeBQNtGUKCpvJtu4Q1fCftElTbOIY01aSecj3GJTS6tmlBg==";
       };
     };
-    "@textlint/textlint-plugin-markdown-5.1.8" = {
+    "@textlint/textlint-plugin-markdown-5.1.10" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "5.1.8";
+      version = "5.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.8.tgz";
-        sha512 = "x38FOJzbgz1DLc5inRz0qyjd879CMvWkeUJc0tcuYvZWEoQ7RS5YwjQK3Q9C3LGGM2JGy4Wnkr6jBIBFCBBbdA==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.10.tgz";
+        sha512 = "G7xoAugkwGY6pt262Coeab5TKq+dTBl1E6Uv83EW1iK6DZoHC0xxUrdRHGFeKbtGa0iM6BmKgEqjZfWOjus0LQ==";
       };
     };
-    "@textlint/textlint-plugin-text-4.1.8" = {
+    "@textlint/textlint-plugin-text-4.1.10" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "4.1.8";
+      version = "4.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.8.tgz";
-        sha512 = "QMc1xQKyQL+oLMNaij6v4Gt02m51lwM4lN5FCjUrhVA+0LfX/2whBLBcXbnw5+GVkkQmVcF98aQovEJ8YPLTtA==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.10.tgz";
+        sha512 = "w20Mt5RnWnZq4ai/H9yYEMSudPOSUBJ9+rNO8Ld2s1O2FiPnq++A/QQLuhhIJOjC9+slUemMYnlvVpa5PH775g==";
       };
     };
-    "@textlint/types-1.2.1" = {
+    "@textlint/types-1.2.3" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "1.2.1";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-1.2.1.tgz";
-        sha512 = "HNbVS+F9hNy4E/Hnv2mV/6rjlPB7Mdc5KCiT+uFjMK7vqiVuW/DeKjkYScRirQ0jf8gWUXBVTxZgwBBlJZmV1Q==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-1.2.3.tgz";
+        sha512 = "48wXioiKIKAWPkgTWf/KyvZpjGH5L2ohmrSVgtx/u8q+KcY+q+/dslKy7QN0H+Yeu5Vj4GZRHOzCYWtzHMQleQ==";
       };
     };
-    "@textlint/utils-1.0.2" = {
+    "@textlint/utils-1.0.3" = {
       name = "_at_textlint_slash_utils";
       packageName = "@textlint/utils";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/utils/-/utils-1.0.2.tgz";
-        sha512 = "T8med69p37s1TE/G56kxWSYz8PqWYCnqyVZp2K0WoQbkNDrckmqkJ6xTmw4uZg4kypn3+EXVuktWLOpaSUcktA==";
+        url = "https://registry.npmjs.org/@textlint/utils/-/utils-1.0.3.tgz";
+        sha512 = "6oGaBKXYpg5Ooph5p32OFdp1dXDUC1z5mpHg2gmQbx6QZjmP4QX+ygBQdNoCq15d1w88+We6koJl0n0WXjItYw==";
       };
     };
     "@types/accepts-1.3.5" = {
@@ -2596,6 +2803,15 @@ let
         sha512 = "8mrhPstU+ZX0Ugya8tl5DsDZ1I5ZwQzbL/8PA0z8Gj0k9nql7nkaMzmPVLj+l/nixWaliXi+EBiLA8bptw3z7Q==";
       };
     };
+    "@types/anymatch-1.3.1" = {
+      name = "_at_types_slash_anymatch";
+      packageName = "@types/anymatch";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz";
+        sha512 = "/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==";
+      };
+    };
     "@types/babel-types-7.0.7" = {
       name = "_at_types_slash_babel-types";
       packageName = "@types/babel-types";
@@ -2614,13 +2830,13 @@ let
         sha512 = "xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==";
       };
     };
-    "@types/bluebird-3.5.27" = {
+    "@types/bluebird-3.5.29" = {
       name = "_at_types_slash_bluebird";
       packageName = "@types/bluebird";
-      version = "3.5.27";
+      version = "3.5.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.27.tgz";
-        sha512 = "6BmYWSBea18+tSjjSC3QIyV93ZKAeNWGM7R6aYt1ryTZXrlHF+QLV0G2yV0viEGVyRkyQsWfMoJ0k/YghBX5sQ==";
+        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.29.tgz";
+        sha512 = "kmVtnxTuUuhCET669irqQmPAez4KFnFVKvpleVRyfC3g+SHD1hIkFZcWLim9BVcwUBLO59o8VZE4yGCmTif8Yw==";
       };
     };
     "@types/body-parser-1.17.1" = {
@@ -2641,13 +2857,31 @@ let
         sha512 = "YiozPOOsS6bIuz31ilYqR5SlLif4TBWsousN2aCWLi5233nZSX19tFbcQUPdR7xJ8ypPyxkCGNxg0CIV5n9qxQ==";
       };
     };
-    "@types/connect-3.4.32" = {
+    "@types/color-name-1.1.1" = {
+      name = "_at_types_slash_color-name";
+      packageName = "@types/color-name";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz";
+        sha512 = "rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==";
+      };
+    };
+    "@types/concat-stream-1.6.0" = {
+      name = "_at_types_slash_concat-stream";
+      packageName = "@types/concat-stream";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz";
+        sha1 = "394dbe0bb5fee46b38d896735e8b68ef2390d00d";
+      };
+    };
+    "@types/connect-3.4.33" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.32";
+      version = "3.4.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
-        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz";
+        sha512 = "2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==";
       };
     };
     "@types/cookiejar-2.1.1" = {
@@ -2659,13 +2893,13 @@ let
         sha512 = "aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==";
       };
     };
-    "@types/cookies-0.7.3" = {
+    "@types/cookies-0.7.4" = {
       name = "_at_types_slash_cookies";
       packageName = "@types/cookies";
-      version = "0.7.3";
+      version = "0.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.3.tgz";
-        sha512 = "NEkYn8pNsYZIxf3ZrjdPoeyueiPc0RbQClUpTwmdHkpmQQ8iDAlQYKpabuegHy7BJcqTteSTkhURMEs9ZxyEWg==";
+        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz";
+        sha512 = "oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==";
       };
     };
     "@types/cors-2.8.6" = {
@@ -2713,13 +2947,22 @@ let
         sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
       };
     };
-    "@types/express-serve-static-core-4.16.9" = {
+    "@types/express-serve-static-core-4.17.1" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.16.9";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.1.tgz";
+        sha512 = "9e7jj549ZI+RxY21Cl0t8uBnWyb22HzILupyHZjYEVK//5TT/1bZodU+yUbLnPdoYViBBnNWbxp4zYjGV0zUGw==";
+      };
+    };
+    "@types/form-data-0.0.33" = {
+      name = "_at_types_slash_form-data";
+      packageName = "@types/form-data";
+      version = "0.0.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
-        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+        url = "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz";
+        sha1 = "c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8";
       };
     };
     "@types/fs-capacitor-2.0.0" = {
@@ -2758,6 +3001,15 @@ let
         sha512 = "PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==";
       };
     };
+    "@types/js-yaml-3.12.1" = {
+      name = "_at_types_slash_js-yaml";
+      packageName = "@types/js-yaml";
+      version = "3.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz";
+        sha512 = "SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==";
+      };
+    };
     "@types/keygrip-1.0.1" = {
       name = "_at_types_slash_keygrip";
       packageName = "@types/keygrip";
@@ -2767,31 +3019,31 @@ let
         sha1 = "ff540462d2fb4d0a88441ceaf27d287b01c3d878";
       };
     };
-    "@types/koa-2.0.49" = {
+    "@types/koa-2.11.0" = {
       name = "_at_types_slash_koa";
       packageName = "@types/koa";
-      version = "2.0.49";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa/-/koa-2.0.49.tgz";
-        sha512 = "WQWpCH8O4Dslk8IcXfazff40aM1jXX7BQRbADIj/fKozVPu76P/wQE4sRe2SCWMn8yNkOcare2MkDrnZqLMkPQ==";
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.11.0.tgz";
+        sha512 = "Hgx/1/rVlJvqYBrdeCsS7PDiR2qbxlMt1RnmNWD4Uxi5FF9nwkYqIldo7urjc+dfNpk+2NRGcnAYd4L5xEhCcQ==";
       };
     };
-    "@types/koa-compose-3.2.4" = {
+    "@types/koa-compose-3.2.5" = {
       name = "_at_types_slash_koa-compose";
       packageName = "@types/koa-compose";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.4.tgz";
-        sha512 = "ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==";
+        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz";
+        sha512 = "B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==";
       };
     };
-    "@types/lodash-4.14.138" = {
+    "@types/lodash-4.14.149" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.138";
+      version = "4.14.149";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.138.tgz";
-        sha512 = "A4uJgHz4hakwNBdHNPdxOTkYmXNgmUAKLbXZ7PKGslgeV0Mb8P3BlbYfPovExek1qnod4pDfRbxuzcVs3dlFLg==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz";
+        sha512 = "ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==";
       };
     };
     "@types/long-4.0.0" = {
@@ -2821,40 +3073,85 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-10.14.18" = {
+    "@types/minimist-1.2.0" = {
+      name = "_at_types_slash_minimist";
+      packageName = "@types/minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "69a23a3ad29caf0097f06eda59b361ee2f0639f6";
+      };
+    };
+    "@types/node-10.17.12" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.17.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.17.12.tgz";
+        sha512 = "SSB4O9/0NVv5mbQ5/MabnAyFfcpVFRVIJj1TZkG21HHgwXQGjosiQB3SBWC9pMCMUTNpWL9gUe//9mFFPQAdKw==";
+      };
+    };
+    "@types/node-11.15.3" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "11.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-11.15.3.tgz";
+        sha512 = "5RzvXVietaB8S4dwDjxjltAOHtTO87fiksjqjWGZih97j6KSrdCDaRfmYMNrgrLM87odGBrsTHAl6N3fLraQaw==";
+      };
+    };
+    "@types/node-12.12.22" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.14.18";
+      version = "12.12.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.14.18.tgz";
-        sha512 = "ryO3Q3++yZC/+b8j8BdKd/dn9JlzlHBPdm80656xwYUdmPkpTGTjkAdt6BByiNupGPE8w0FhBgvYy/fX9hRNGQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.22.tgz";
+        sha512 = "r5i93jqbPWGXYXxianGATOxTelkp6ih/U0WVnvaqAvTqM+0U6J3kw6Xk6uq/dWNRkEVw/0SLcO5ORXbVNz4FMQ==";
       };
     };
-    "@types/node-12.7.5" = {
+    "@types/node-13.1.0" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.7.5";
+      version = "13.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz";
-        sha512 = "9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==";
+        url = "https://registry.npmjs.org/@types/node/-/node-13.1.0.tgz";
+        sha512 = "zwrxviZS08kRX40nqBrmERElF2vpw4IUTd5khkhBTfFH8AOaeoLVx48EC4+ZzS2/Iga7NevncqnsUSYjM4OWYA==";
       };
     };
-    "@types/node-6.14.7" = {
+    "@types/node-6.14.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "6.14.7";
+      version = "6.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-6.14.7.tgz";
-        sha512 = "YbPXbaynBTe0pVExPhL76TsWnxSPeFAvImIsmylpBWn/yfw+lHy+Q68aawvZHsgskT44ZAoeE67GM5f+Brekew==";
+        url = "https://registry.npmjs.org/@types/node/-/node-6.14.9.tgz";
+        sha512 = "leP/gxHunuazPdZaCvsCefPQxinqUDsCxCR5xaDUrY2MkYxQRFZZwU5e7GojyYsGB7QVtCi7iVEl/hoFXQYc+w==";
       };
     };
-    "@types/node-8.10.54" = {
+    "@types/node-7.10.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.10.54";
+      version = "7.10.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.10.9.tgz";
+        sha512 = "usSpgoUsRtO5xNV5YEPU8PPnHisFx8u0rokj1BPVn/hDF7zwUDzVLiuKZM38B7z8V2111Fj6kd4rGtQFUZpNOw==";
+      };
+    };
+    "@types/node-8.10.59" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "8.10.59";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.59.tgz";
+        sha512 = "8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ==";
+      };
+    };
+    "@types/normalize-package-data-2.4.0" = {
+      name = "_at_types_slash_normalize-package-data";
+      packageName = "@types/normalize-package-data";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.10.54.tgz";
-        sha512 = "kaYyLYf6ICn6/isAyD4K1MyWWd5Q3JgH6bnMN089LUx88+s4W8GvK9Q6JMBVu5vsFFp7pMdSxdKmlBXwH/VFRg==";
+        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha512 = "f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==";
       };
     };
     "@types/q-1.5.2" = {
@@ -2866,6 +3163,15 @@ let
         sha512 = "ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==";
       };
     };
+    "@types/qs-6.9.0" = {
+      name = "_at_types_slash_qs";
+      packageName = "@types/qs";
+      version = "6.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.0.tgz";
+        sha512 = "c4zji5CjWv1tJxIZkz1oUtGcdOlsH3aza28Nqmm+uNDWBRHoMsjooBEN4czZp1V3iXPihE/VRUOBqg+4Xq0W4g==";
+      };
+    };
     "@types/range-parser-1.2.3" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
@@ -2902,6 +3208,15 @@ let
         sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
+    "@types/source-list-map-0.1.2" = {
+      name = "_at_types_slash_source-list-map";
+      packageName = "@types/source-list-map";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz";
+        sha512 = "K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==";
+      };
+    };
     "@types/superagent-3.8.2" = {
       name = "_at_types_slash_superagent";
       packageName = "@types/superagent";
@@ -2911,6 +3226,24 @@ let
         sha512 = "kdU8ydio1weSvhIIh9rptZ6MdMiR2NQGFnlnZ5qQ7OiQS1ej79zK4GaJ9qX3naSTpOA7iWqwUnZCQpd7SpD1NA==";
       };
     };
+    "@types/tapable-1.0.4" = {
+      name = "_at_types_slash_tapable";
+      packageName = "@types/tapable";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz";
+        sha512 = "78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==";
+      };
+    };
+    "@types/uglify-js-3.0.4" = {
+      name = "_at_types_slash_uglify-js";
+      packageName = "@types/uglify-js";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz";
+        sha512 = "SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==";
+      };
+    };
     "@types/unist-2.0.3" = {
       name = "_at_types_slash_unist";
       packageName = "@types/unist";
@@ -2929,22 +3262,40 @@ let
         sha512 = "b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==";
       };
     };
-    "@types/vfile-message-1.0.1" = {
+    "@types/vfile-message-2.0.0" = {
       name = "_at_types_slash_vfile-message";
       packageName = "@types/vfile-message";
-      version = "1.0.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz";
-        sha512 = "mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==";
+        url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz";
+        sha512 = "GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==";
       };
     };
-    "@types/ws-6.0.3" = {
+    "@types/webpack-4.41.0" = {
+      name = "_at_types_slash_webpack";
+      packageName = "@types/webpack";
+      version = "4.41.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.0.tgz";
+        sha512 = "tWkdf9nO0zFgAY/EumUKwrDUhraHKDqCPhwfFR/R8l0qnPdgb9le0Gzhvb7uzVpouuDGBgiE//ZdY+5jcZy2TA==";
+      };
+    };
+    "@types/webpack-sources-0.1.5" = {
+      name = "_at_types_slash_webpack-sources";
+      packageName = "@types/webpack-sources";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz";
+        sha512 = "zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==";
+      };
+    };
+    "@types/ws-6.0.4" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "6.0.3";
+      version = "6.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.3.tgz";
-        sha512 = "yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz";
+        sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
       };
     };
     "@types/xml2js-0.4.3" = {
@@ -2965,40 +3316,40 @@ let
         sha512 = "te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==";
       };
     };
-    "@vue/cli-shared-utils-3.11.0" = {
+    "@vue/cli-shared-utils-4.1.1" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "3.11.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.11.0.tgz";
-        sha512 = "D7pst/4v9H1DD66fLxlZOwRR09R03MV0ROdKxBHmh3FmnApCA/RiaolFA/8w+B3CnevYMlV3SJ5fOAgedbswbA==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.1.1.tgz";
+        sha512 = "nsxNW8Sy9y2yx/r9DqgZoYg/DoygvASIQl0XXG+imQUDWEXKmD6UZA6y5ANfStCljzZ/wd7WgWP+txmjy6exOw==";
       };
     };
-    "@vue/cli-ui-3.11.0" = {
+    "@vue/cli-ui-4.1.1" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "3.11.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.11.0.tgz";
-        sha512 = "mbCUUOJSPGLQ+wxPTX+NE6HsiCpt3wpv56AuUlCv14mUEkm98p+4xzkgPQ1neYxG7fg5Vn8fExiFvge73Lvzdg==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-4.1.1.tgz";
+        sha512 = "uXrIX4IJeXBDEchY+AeoeKf9FiYlHILFR4JjJvI6p6nq7tHhCN3UFt7/XScWzEfYyGRuHVtY3MCejMIR9LaKvA==";
       };
     };
-    "@vue/cli-ui-addon-webpack-3.11.0" = {
+    "@vue/cli-ui-addon-webpack-4.1.1" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "3.11.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.11.0.tgz";
-        sha512 = "q0kELq8c6nPAM74J2NELxn9NdaQ0bqYS9l8EsvLbqfTd/GM7leWytkdO6GYClu1VJ3Ohm3xQsKjpDHCcKSW7tw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-4.1.1.tgz";
+        sha512 = "AKWt4ahv19gB3oV12lTb1G7AlimpTudCuWuMOL3BlaWZNNbspseFegq1I7mSJQHK45z3iy6GysIAsn9fHCAKvg==";
       };
     };
-    "@vue/cli-ui-addon-widgets-3.11.0" = {
+    "@vue/cli-ui-addon-widgets-4.1.1" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "3.11.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-3.11.0.tgz";
-        sha512 = "iEKaaWyGafYmHJKDd2rISSqMw61L3XX9E9Vo/sVWK0uVITTsSyBmNwZeTcaaEB6YVbZeCHRJtq2Q/JRjvD9SPA==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-4.1.1.tgz";
+        sha512 = "M98L2PcC6LStUV9IftXS6jjwjM0BXIan/7T+FBN1U69WyTRRSNbbGmhicn9HzcfmAiHbS9Ac5Pk3nz3KXafNTQ==";
       };
     };
     "@webassemblyjs/ast-1.8.1" = {
@@ -3478,13 +3829,13 @@ let
         sha1 = "5faad9c2c07f60dd76770f71cf025b62a63cfd4e";
       };
     };
-    "abab-2.0.1" = {
+    "abab-2.0.3" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz";
-        sha512 = "1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw==";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz";
+        sha512 = "tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==";
       };
     };
     "abbrev-1.1.1" = {
@@ -3523,13 +3874,13 @@ let
         sha512 = "jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==";
       };
     };
-    "abstract-leveldown-6.1.1" = {
+    "abstract-leveldown-6.2.2" = {
       name = "abstract-leveldown";
       packageName = "abstract-leveldown";
-      version = "6.1.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.1.1.tgz";
-        sha512 = "7fK/KySVqzKIomdhkSWzX4YBQhzkzEMbWSiaB6mSN9e+ZdV3KEeKxia/8xQzCkATA5xnnukdP88cFR0D2FsFXw==";
+        url = "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz";
+        sha512 = "/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==";
       };
     };
     "abstract-logging-1.0.0" = {
@@ -3622,22 +3973,22 @@ let
         sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
       };
     };
-    "acorn-6.3.0" = {
+    "acorn-6.4.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "6.3.0";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz";
-        sha512 = "/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz";
+        sha512 = "gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==";
       };
     };
-    "acorn-7.0.0" = {
+    "acorn-7.1.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "7.0.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz";
-        sha512 = "PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz";
+        sha512 = "kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==";
       };
     };
     "acorn-globals-1.0.9" = {
@@ -3676,13 +4027,13 @@ let
         sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
       };
     };
-    "acorn-jsx-5.0.2" = {
+    "acorn-jsx-5.1.0" = {
       name = "acorn-jsx";
       packageName = "acorn-jsx";
-      version = "5.0.2";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz";
-        sha512 = "tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==";
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
+        sha512 = "tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==";
       };
     };
     "acorn-loose-6.1.0" = {
@@ -3721,15 +4072,6 @@ let
         sha512 = "7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==";
       };
     };
-    "adal-node-0.1.28" = {
-      name = "adal-node";
-      packageName = "adal-node";
-      version = "0.1.28";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz";
-        sha1 = "468c4bb3ebbd96b1270669f4b9cba4e0065ea485";
-      };
-    };
     "adbkit-2.11.1" = {
       name = "adbkit";
       packageName = "adbkit";
@@ -3766,13 +4108,13 @@ let
         sha1 = "f291be701a2efc567a63fc7aa6afcded31430be1";
       };
     };
-    "addons-linter-1.10.0" = {
+    "addons-linter-1.19.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "1.10.0";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-1.10.0.tgz";
-        sha512 = "2i2qSayVPx4h1Aa2ZTdQlpgmjcCNIHZ4AJQS8V/QsBXIdmXl+Djmeyr096bjaC3Usq0rZfYhGgFdwR1dgHVItw==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-1.19.0.tgz";
+        sha512 = "pnfrdQqatZeEnBcRcMq9KWZJRmS9YiPyWu3gZbJl12Ee3dUlvke+2C0DcYhNfm4hciRB4wrr4OiQTYAXh1CyzA==";
       };
     };
     "addr-to-ip-port-1.5.1" = {
@@ -3784,15 +4126,6 @@ let
         sha512 = "bA+dyydTNuQtrEDJ0g9eR7XabNhvrM5yZY0hvTbNK3yvoeC73ZqMES6E1cEqH9WPxs4uMtMsOjfwS4FmluhsAA==";
       };
     };
-    "addressparser-1.0.1" = {
-      name = "addressparser";
-      packageName = "addressparser";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz";
-        sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746";
-      };
-    };
     "adm-zip-0.4.13" = {
       name = "adm-zip";
       packageName = "adm-zip";
@@ -3883,13 +4216,13 @@ let
         sha1 = "888344dad0220a72e3af50906117f48771925fac";
       };
     };
-    "aggregate-error-3.0.0" = {
+    "aggregate-error-3.0.1" = {
       name = "aggregate-error";
       packageName = "aggregate-error";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz";
-        sha512 = "yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==";
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz";
+        sha512 = "quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==";
       };
     };
     "airplay-js-0.2.16" = {
@@ -3946,15 +4279,6 @@ let
         sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
       };
     };
-    "ajv-6.10.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz";
-        sha512 = "nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==";
-      };
-    };
     "ajv-6.10.2" = {
       name = "ajv";
       packageName = "ajv";
@@ -4180,13 +4504,13 @@ let
         sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
       };
     };
-    "ansi-escapes-4.2.1" = {
+    "ansi-escapes-4.3.0" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
-      version = "4.2.1";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
-        sha512 = "Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==";
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz";
+        sha512 = "EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==";
       };
     };
     "ansi-gray-0.1.1" = {
@@ -4252,6 +4576,15 @@ let
         sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     };
+    "ansi-regex-5.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz";
+        sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
+      };
+    };
     "ansi-split-1.0.1" = {
       name = "ansi-split";
       packageName = "ansi-split";
@@ -4297,13 +4630,13 @@ let
         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
-    "ansi-styles-4.1.0" = {
+    "ansi-styles-4.2.0" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.1.0.tgz";
-        sha512 = "Qts4KCLKG+waHc9C4m07weIY8qyeixoS0h6RnbsNVD6Fw+pEZGW3vTyObL3WXpE09Mq4Oi7/lBEyLmOiLtlYWQ==";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz";
+        sha512 = "7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==";
       };
     };
     "ansi-term-0.0.2" = {
@@ -4315,13 +4648,13 @@ let
         sha1 = "fd753efa4beada0eac99981bc52a3f6ff019deb7";
       };
     };
-    "ansi-to-html-0.6.11" = {
+    "ansi-to-html-0.6.13" = {
       name = "ansi-to-html";
       packageName = "ansi-to-html";
-      version = "0.6.11";
+      version = "0.6.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.11.tgz";
-        sha512 = "88XZtrcwrfkyn6fGstHnkaF1kl7hGtNCYh4vSmItgEV+6JnQHryDBf7udF4f2RhTRQmYvJvPcTtqgaqrxzc9oA==";
+        url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.13.tgz";
+        sha512 = "Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw==";
       };
     };
     "ansi-wrap-0.1.0" = {
@@ -4351,6 +4684,15 @@ let
         sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
       };
     };
+    "any-observable-0.3.0" = {
+      name = "any-observable";
+      packageName = "any-observable";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz";
+        sha512 = "/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==";
+      };
+    };
     "any-promise-1.3.0" = {
       name = "any-promise";
       packageName = "any-promise";
@@ -4378,13 +4720,13 @@ let
         sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
       };
     };
-    "anymatch-3.1.0" = {
+    "anymatch-3.1.1" = {
       name = "anymatch";
       packageName = "anymatch";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz";
-        sha512 = "Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==";
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz";
+        sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
       };
     };
     "ap-0.1.0" = {
@@ -4414,40 +4756,49 @@ let
         sha1 = "ee49736b639b4f108b6e9e626c6da99306b41692";
       };
     };
-    "apollo-cache-1.3.2" = {
+    "apollo-2.21.2" = {
+      name = "apollo";
+      packageName = "apollo";
+      version = "2.21.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo/-/apollo-2.21.2.tgz";
+        sha512 = "RhiH3ffaIvobyDf3jXUmeIWvFCfxXwCYTU84hfRClRaL4bTaTd8T2/J5eVbcsd3AhPRbi4HJPxJBge4ewMepVw==";
+      };
+    };
+    "apollo-cache-1.3.4" = {
       name = "apollo-cache";
       packageName = "apollo-cache";
-      version = "1.3.2";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.2.tgz";
-        sha512 = "+KA685AV5ETEJfjZuviRTEImGA11uNBp/MJGnaCvkgr+BYRrGLruVKBv6WvyFod27WEB2sp7SsG8cNBKANhGLg==";
+        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.4.tgz";
+        sha512 = "7X5aGbqaOWYG+SSkCzJNHTz2ZKDcyRwtmvW4mGVLRqdQs+HxfXS4dUS2CcwrAj449se6tZ6NLUMnjko4KMt3KA==";
       };
     };
-    "apollo-cache-control-0.8.4" = {
+    "apollo-cache-control-0.8.9" = {
       name = "apollo-cache-control";
       packageName = "apollo-cache-control";
-      version = "0.8.4";
+      version = "0.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.8.4.tgz";
-        sha512 = "IZ1d3AXZtkZhLYo0kWqTbZ6nqLFaeUvLdMESs+9orMadBZ7mvzcAfBwrhKyCWPGeAAZ/jKv8FtYHybpchHgFAg==";
+        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.8.9.tgz";
+        sha512 = "EFRAEL13QkMbXhl0NSABVS0wfiKYIVV4sDR+XNtRy3EWf2rWw7xulYFDMPiujjtElF2qjTswzcpLtYOXgOZN9A==";
       };
     };
-    "apollo-cache-inmemory-1.6.3" = {
+    "apollo-cache-inmemory-1.6.5" = {
       name = "apollo-cache-inmemory";
       packageName = "apollo-cache-inmemory";
-      version = "1.6.3";
+      version = "1.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
-        sha512 = "S4B/zQNSuYc0M/1Wq8dJDTIO9yRgU0ZwDGnmlqxGGmFombOZb9mLjylewSfQKmjNpciZ7iUIBbJ0mHlPJTzdXg==";
+        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.5.tgz";
+        sha512 = "koB76JUDJaycfejHmrXBbWIN9pRKM0Z9CJGQcBzIOtmte1JhEBSuzsOUu7NQgiXKYI4iGoMREcnaWffsosZynA==";
       };
     };
-    "apollo-client-2.6.4" = {
+    "apollo-client-2.6.8" = {
       name = "apollo-client";
       packageName = "apollo-client";
-      version = "2.6.4";
+      version = "2.6.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.4.tgz";
-        sha512 = "oWOwEOxQ9neHHVZrQhHDbI6bIibp9SHgxaLRVPoGvOFy7OH5XUykZE7hBQAVxq99tQjBzgytaZffQkeWo1B4VQ==";
+        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.8.tgz";
+        sha512 = "0zvJtAcONiozpa5z5zgou83iEKkBaXhhSSXJebFHRXs100SecDojyUWKjwTtBPn9HbM6o5xrvC5mo9VQ5fgAjw==";
       };
     };
     "apollo-codegen-0.20.2" = {
@@ -4468,6 +4819,15 @@ let
         sha512 = "sanUIqXWyyDpxY3fYOVU+Hsxwxdj5fmn3Zcy6CcMGnWmh9o7tautQAuod2a63wrDs1jcNQcFq3EKIpeB+2xECw==";
       };
     };
+    "apollo-codegen-core-0.35.9" = {
+      name = "apollo-codegen-core";
+      packageName = "apollo-codegen-core";
+      version = "0.35.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.35.9.tgz";
+        sha512 = "HBBv15ILH8Yiy65jtoZRmupT2pLY8dAGLbF4sZixmbPwI9D0wFq3Kt8zEaS2EHU9FBlPtR2fsx0/beUeftHqzA==";
+      };
+    };
     "apollo-codegen-flow-0.20.0" = {
       name = "apollo-codegen-flow";
       packageName = "apollo-codegen-flow";
@@ -4477,6 +4837,15 @@ let
         sha512 = "XgKE19B0Q74PBLVqHP/77NcCFrcvrN9wi3CcotH+FV8BeHTjvpHlilTsQMmd2STPt19cCvY2Qtz0EOeLXTUQ2Q==";
       };
     };
+    "apollo-codegen-flow-0.33.34" = {
+      name = "apollo-codegen-flow";
+      packageName = "apollo-codegen-flow";
+      version = "0.33.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.33.34.tgz";
+        sha512 = "UseAJlQfjTvLEpmRRP2JOVsuZQL/wyXSOXmK06iiZwednwWC54VbARS+fO2tfublB5q0i2d6GWXYBy9sIe6MQw==";
+      };
+    };
     "apollo-codegen-flow-legacy-0.20.0" = {
       name = "apollo-codegen-flow-legacy";
       packageName = "apollo-codegen-flow-legacy";
@@ -4495,6 +4864,15 @@ let
         sha512 = "NbnMOfUXXovlTGRj4mIZGXB9HvidQhwKfAmdYHox5peHPkjjsqEzxGCIuWCSnubWiCF2uHZnQoIkg4sXWf0KLw==";
       };
     };
+    "apollo-codegen-scala-0.34.34" = {
+      name = "apollo-codegen-scala";
+      packageName = "apollo-codegen-scala";
+      version = "0.34.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.34.34.tgz";
+        sha512 = "uYgGNmzZklynvB+d+grbsyGsXBMnfgM5EXlRjKJZN/Ss3Nz5l/bBtK7v+Ob3r/85P0rS0jreWL8Ddc6TLazRRQ==";
+      };
+    };
     "apollo-codegen-swift-0.20.0" = {
       name = "apollo-codegen-swift";
       packageName = "apollo-codegen-swift";
@@ -4504,6 +4882,15 @@ let
         sha512 = "L9Y4StbXw0t/nuF+miz0ybSt/io6tsLc063Yeh1A8GCvhFFQyXE/yK0Rf3nO1Bl5Z9UZ5o8Aae9kK4GSWYIGNQ==";
       };
     };
+    "apollo-codegen-swift-0.35.14" = {
+      name = "apollo-codegen-swift";
+      packageName = "apollo-codegen-swift";
+      version = "0.35.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.35.14.tgz";
+        sha512 = "dt6F4DAzq7Icy0BNg5QaRZLVBSJ8GXEW5cKbofKJjMNzIScXUS9Bp1u6+iWFajtsJCJjmTuTu863cn5SvrFSag==";
+      };
+    };
     "apollo-codegen-typescript-0.20.0" = {
       name = "apollo-codegen-typescript";
       packageName = "apollo-codegen-typescript";
@@ -4513,6 +4900,15 @@ let
         sha512 = "mzlIJXz+5WPwzeALqRHHR9aPPEf6IlhSrjCawpUHmFU1NK9hgwbguYCEYZv9mKkYBUUgDY+9cGFK1cafJX70AQ==";
       };
     };
+    "apollo-codegen-typescript-0.35.9" = {
+      name = "apollo-codegen-typescript";
+      packageName = "apollo-codegen-typescript";
+      version = "0.35.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.35.9.tgz";
+        sha512 = "C2Q0U/htb4iIrGgkzGoepJGDcVf/FZ34b9IGtqPCWmrdQADMzgccI0h4rwXrjZGTQBr9+vHvlV/YFs+lriOR2g==";
+      };
+    };
     "apollo-codegen-typescript-legacy-0.20.0" = {
       name = "apollo-codegen-typescript-legacy";
       packageName = "apollo-codegen-typescript-legacy";
@@ -4531,40 +4927,49 @@ let
         sha512 = "gRYyFVpJgHE2hhS+VxMeOerxXQ/QYxWG7T6QddfugJWYAG9DRCl65e2b7txcGq2NP3r+O1iCm4GNwhRBDJbd8A==";
       };
     };
-    "apollo-engine-reporting-1.4.6" = {
+    "apollo-engine-reporting-1.4.12" = {
       name = "apollo-engine-reporting";
       packageName = "apollo-engine-reporting";
-      version = "1.4.6";
+      version = "1.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.4.6.tgz";
-        sha512 = "acfb7oFnru/8YQdY4x6+7WJbZfzdVETI8Cl+9ImgUrvUnE8P+f2SsGTKXTC1RuUvve4c56PAvaPgE+z8X1a1Mw==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.4.12.tgz";
+        sha512 = "W1PpXaXSrqZu4Ae9NrjWXtTL9HFbQPynQLiGDAsDmCsL/wRAVyl6qRhVteSj7drwgXgAH5TwtUCnjJgSI+ixlg==";
       };
     };
-    "apollo-engine-reporting-protobuf-0.4.0" = {
+    "apollo-engine-reporting-protobuf-0.4.4" = {
       name = "apollo-engine-reporting-protobuf";
       packageName = "apollo-engine-reporting-protobuf";
-      version = "0.4.0";
+      version = "0.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.0.tgz";
-        sha512 = "cXHZSienkis8v4RhqB3YG3DkaksqLpcxApRLTpRMs7IXNozgV7CUPYGFyFBEra1ZFgUyHXx4G9MpelV+n2cCfA==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.4.tgz";
+        sha512 = "SGrIkUR7Q/VjU8YG98xcvo340C4DaNUhg/TXOtGsMlfiJDzHwVau/Bv6zifAzBafp2lj0XND6Daj5kyT/eSI/w==";
       };
     };
-    "apollo-env-0.5.1" = {
+    "apollo-env-0.6.0" = {
       name = "apollo-env";
       packageName = "apollo-env";
-      version = "0.5.1";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.5.1.tgz";
-        sha512 = "fndST2xojgSdH02k5hxk1cbqA9Ti8RX4YzzBoAB4oIe1Puhq7+YlhXGXfXB5Y4XN0al8dLg+5nAkyjNAR2qZTw==";
+        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.0.tgz";
+        sha512 = "DttHOpLISRej8STjbXjQCXq3YeE2pATaC4UEd2YE7TjjYhQmp9yxohlkHfSR78BvPzczhyDs6WQQEzasHv0M0A==";
       };
     };
-    "apollo-graphql-0.3.3" = {
+    "apollo-graphql-0.3.6" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
-      version = "0.3.3";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.3.6.tgz";
+        sha512 = "PUBfW6t20U4CgPODTZB+3Z1Z+qhca8SNEHMPreiw+qEjXwEJF7SZItOIAs93HO0mA2K7eiZjCtZQZknaaQRZNA==";
+      };
+    };
+    "apollo-language-server-1.17.2" = {
+      name = "apollo-language-server";
+      packageName = "apollo-language-server";
+      version = "1.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.3.3.tgz";
-        sha512 = "t3CO/xIDVsCG2qOvx2MEbuu4b/6LzQjcBBwiVnxclmmFyAxYCIe7rpPlnLHSq7HyOMlCWDMozjoeWfdqYSaLqQ==";
+        url = "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.17.2.tgz";
+        sha512 = "ml865Z9jzI5Y+48c5jsoSJCKz6ofOy45gCa+8SrJ/FyhOaIEEaXTfV4IgMIm/O4nz18zg4xPFu8dn4UCEr7O4w==";
       };
     };
     "apollo-link-1.2.13" = {
@@ -4585,6 +4990,24 @@ let
         sha512 = "TUi5TyufU84hEiGkpt+5gdH5HkB3Gx46npNfoxR4of3DKBCMuItGERt36RCaryGcU/C3u2zsICU3tJ+Z9LjFoQ==";
       };
     };
+    "apollo-link-error-1.1.12" = {
+      name = "apollo-link-error";
+      packageName = "apollo-link-error";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.12.tgz";
+        sha512 = "psNmHyuy3valGikt/XHJfe0pKJnRX19tLLs6P6EHRxg+6q6JMXNVLYPaQBkL0FkwdTCB0cbFJAGRYCBviG8TDA==";
+      };
+    };
+    "apollo-link-http-1.5.16" = {
+      name = "apollo-link-http";
+      packageName = "apollo-link-http";
+      version = "1.5.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.16.tgz";
+        sha512 = "IA3xA/OcrOzINRZEECI6IdhRp/Twom5X5L9jMehfzEo2AXdeRwAMlH5LuvTZHgKD8V1MBnXdM6YXawXkTDSmJw==";
+      };
+    };
     "apollo-link-http-common-0.2.15" = {
       name = "apollo-link-http-common";
       packageName = "apollo-link-http-common";
@@ -4630,13 +5053,13 @@ let
         sha512 = "l7ieNCGxUaUAVAAp600HjbUJxVaxjJygtPV0tPTe1Q3HkPy6LEWoY6mNHV7T268g1hxtPTxcdRu7WLsJrg7ufw==";
       };
     };
-    "apollo-server-core-2.9.3" = {
+    "apollo-server-core-2.9.14" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "2.9.3";
+      version = "2.9.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.9.3.tgz";
-        sha512 = "KQpOM3nAXdMqKVE0HHcOkH/EVhyDqFEKLNFlsyGHGOn9ujpI6RsltX+YpXRyAdbfQHpTk11v/IAo6XksWN+g1Q==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.9.14.tgz";
+        sha512 = "Vc8TicXFFZGuEgo5AY1Ey0XuvHn7NQS1y7WxOQnr85KJ2zeRa6uIT8tU+73ZObzan3nlm9ysYtfSXh2QL21oyg==";
       };
     };
     "apollo-server-env-2.4.3" = {
@@ -4648,67 +5071,67 @@ let
         sha512 = "23R5Xo9OMYX0iyTu2/qT0EUb+AULCBriA9w8HDfMoChB8M+lFClqUkYtaTTHDfp6eoARLW8kDBhPOBavsvKAjA==";
       };
     };
-    "apollo-server-errors-2.3.3" = {
+    "apollo-server-errors-2.3.4" = {
       name = "apollo-server-errors";
       packageName = "apollo-server-errors";
-      version = "2.3.3";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.3.3.tgz";
-        sha512 = "MO4oJ129vuCcbqwr5ZwgxqGGiLz3hCyowz0bstUF7MR+vNGe4oe3DWajC9lv4CxrhcqUHQOeOPViOdIo1IxE3g==";
+        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.3.4.tgz";
+        sha512 = "Y0PKQvkrb2Kd18d1NPlHdSqmlr8TgqJ7JQcNIfhNDgdb45CnqZlxL1abuIRhr8tiw8OhVOcFxz2KyglBi8TKdA==";
       };
     };
-    "apollo-server-express-2.9.3" = {
+    "apollo-server-express-2.9.14" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "2.9.3";
+      version = "2.9.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.9.3.tgz";
-        sha512 = "Hkfs+ce6GqaoSzDOJs8Pj7W3YUjH0BzGglo5HMsOXOnjPZ0pJE9v8fmK76rlkITLw7GjvIq5GKlafymC31FMBw==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.9.14.tgz";
+        sha512 = "ai+VKPlOUzJsbSQcazjATNtWwdgcvZBWBCbTF7ZUC9Uo6FfSlKOmP3raQAq+gKqsnFwv34p4k17c/Asw5ZjSMQ==";
       };
     };
-    "apollo-server-plugin-base-0.6.4" = {
+    "apollo-server-plugin-base-0.6.9" = {
       name = "apollo-server-plugin-base";
       packageName = "apollo-server-plugin-base";
-      version = "0.6.4";
+      version = "0.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.4.tgz";
-        sha512 = "4rY+cBAIpQomGWYBtk8hHkLQWHrh5hgIBPQqmhXh00YFdcY+Ob1/cU2/2iqTcIzhtcaezsc8OZ63au6ahSBQqg==";
+        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.9.tgz";
+        sha512 = "75rorl0y07PK7A/U1Oe9unLIGgbmy1T6uaCQ5zl8zy+mtmFFcH1nYERfXZha1eTDWLCx0F/xNI6YJmWxSisc5w==";
       };
     };
-    "apollo-server-types-0.2.4" = {
+    "apollo-server-types-0.2.9" = {
       name = "apollo-server-types";
       packageName = "apollo-server-types";
-      version = "0.2.4";
+      version = "0.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.2.4.tgz";
-        sha512 = "G4FvBVgGQcTW6ZBS2+hvcDQkSfdOIKV+cHADduXA275v+5zl42g+bCaGd/hCCKTDRjmQvObLiMxH/BJ6pDMQgA==";
+        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.2.9.tgz";
+        sha512 = "Iu9twx3lycH41F8shmrb33b4y0mNBz1chBdTIaSgIMmNwPDR4xs4eB6iyTK5swnaYC1eW+c+t5lHRUk7yexs/g==";
       };
     };
-    "apollo-tracing-0.8.4" = {
+    "apollo-tracing-0.8.9" = {
       name = "apollo-tracing";
       packageName = "apollo-tracing";
-      version = "0.8.4";
+      version = "0.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.8.4.tgz";
-        sha512 = "DjbFW0IvHicSlTVG+vK+1WINfBMRCdPPHJSW/j65JMir9Oe56WGeqL8qz8hptdUUmLYEb+azvcyyGsJsiR3zpQ==";
+        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.8.9.tgz";
+        sha512 = "DYHPUW0rFcxxtI8+qU3leNU+fKfq9NPTjgPMr/AJmxKfsdOI6QgfVzVP/khiik0kU0+BMl5zBplwEDDdgbkUlg==";
       };
     };
-    "apollo-upload-client-10.0.1" = {
+    "apollo-upload-client-11.0.0" = {
       name = "apollo-upload-client";
       packageName = "apollo-upload-client";
-      version = "10.0.1";
+      version = "11.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-10.0.1.tgz";
-        sha512 = "K6WnuYQi0RRTNO+aSPVjoUWXp4QSr+eoKU4fE0OKQp25XRF2oXl2cTLs+Q4Nk0wOIHM76YGdo/IHtzuNR7jO+A==";
+        url = "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-11.0.0.tgz";
+        sha512 = "JChTrBi1VSF8u6OPrkWUApJlyUvzwhw98kqRB3fSi7/CU6z0OUD42Mee9s5h8mfjKEfOanK6GNZhF4t2tIPXSw==";
       };
     };
-    "apollo-utilities-1.3.2" = {
+    "apollo-utilities-1.3.3" = {
       name = "apollo-utilities";
       packageName = "apollo-utilities";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
-        sha512 = "JWNHj8XChz7S4OZghV6yc9FNnzEXj285QYp/nLNh943iObycI5GTDO3NGR9Dth12LRrSFMeDOConPfPln+WGfg==";
+        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.3.tgz";
+        sha512 = "F14aX2R/fKNYMvhuP2t9GD9fggID7zp5I96MF5QeKYWDWTrkRdHRp4+SVfXUVN+cXOaB/IebfvRtzPf25CM0zw==";
       };
     };
     "app-builder-5.2.0" = {
@@ -4783,15 +5206,6 @@ let
         sha1 = "dcfca9e509300e4c3b2d467965fe50c56fc75e66";
       };
     };
-    "applicationinsights-0.16.0" = {
-      name = "applicationinsights";
-      packageName = "applicationinsights";
-      version = "0.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/applicationinsights/-/applicationinsights-0.16.0.tgz";
-        sha1 = "e02dafb10cf573c19b429793c87797d6404f0ee3";
-      };
-    };
     "aproba-1.2.0" = {
       name = "aproba";
       packageName = "aproba";
@@ -4900,13 +5314,13 @@ let
         sha512 = "XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==";
       };
     };
-    "arg-4.1.1" = {
+    "arg-4.1.2" = {
       name = "arg";
       packageName = "arg";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz";
-        sha512 = "SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==";
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz";
+        sha512 = "+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==";
       };
     };
     "argparse-0.1.15" = {
@@ -5116,15 +5530,6 @@ let
         sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
       };
     };
-    "array-from-2.1.1" = {
-      name = "array-from";
-      packageName = "array-from";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz";
-        sha1 = "cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195";
-      };
-    };
     "array-ify-1.0.0" = {
       name = "array-ify";
       packageName = "array-ify";
@@ -5134,22 +5539,13 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "array-includes-3.0.3" = {
+    "array-includes-3.1.1" = {
       name = "array-includes";
       packageName = "array-includes";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz";
-        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
-      };
-    };
-    "array-indexofobject-0.0.1" = {
-      name = "array-indexofobject";
-      packageName = "array-indexofobject";
-      version = "0.0.1";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz";
-        sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a";
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz";
+        sha512 = "c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==";
       };
     };
     "array-initial-1.1.0" = {
@@ -5503,15 +5899,6 @@ let
         sha512 = "2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==";
       };
     };
-    "ast-types-0.12.4" = {
-      name = "ast-types";
-      packageName = "ast-types";
-      version = "0.12.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.12.4.tgz";
-        sha512 = "ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw==";
-      };
-    };
     "ast-types-0.13.2" = {
       name = "ast-types";
       packageName = "ast-types";
@@ -5539,6 +5926,15 @@ let
         sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
       };
     };
+    "astral-regex-2.0.0" = {
+      name = "astral-regex";
+      packageName = "astral-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
+      };
+    };
     "async-0.1.22" = {
       name = "async";
       packageName = "async";
@@ -5557,15 +5953,6 @@ let
         sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
       };
     };
-    "async-0.2.7" = {
-      name = "async";
-      packageName = "async";
-      version = "0.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-0.2.7.tgz";
-        sha1 = "44c5ee151aece6c4bf5364cfc7c28fe4e58f18df";
-      };
-    };
     "async-0.2.9" = {
       name = "async";
       packageName = "async";
@@ -5593,15 +5980,6 @@ let
         sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
       };
     };
-    "async-1.4.2" = {
-      name = "async";
-      packageName = "async";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-1.4.2.tgz";
-        sha1 = "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab";
-      };
-    };
     "async-1.5.2" = {
       name = "async";
       packageName = "async";
@@ -5656,13 +6034,13 @@ let
         sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
       };
     };
-    "async-3.0.1" = {
+    "async-3.1.0" = {
       name = "async";
       packageName = "async";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.0.1.tgz";
-        sha512 = "ZswD8vwPtmBZzbn9xyi8XBQWXH3AvOQ43Za1KWYq7JeycrZuUYzx01KvHcVbXltjqH4y0MWrQ33008uLTqXuDw==";
+        url = "https://registry.npmjs.org/async/-/async-3.1.0.tgz";
+        sha512 = "4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==";
       };
     };
     "async-done-1.3.2" = {
@@ -5701,13 +6079,13 @@ let
         sha512 = "uczz62z2fMWOFbyo6rG4NlV2SdxugJT6sZA2QcfB1XaSjEiOh8CuOb/TttyMnYQCda6nkWecJe465tGQDPJiKw==";
       };
     };
-    "async-mutex-0.1.3" = {
+    "async-mutex-0.1.4" = {
       name = "async-mutex";
       packageName = "async-mutex";
-      version = "0.1.3";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-mutex/-/async-mutex-0.1.3.tgz";
-        sha1 = "0aad2112369795ab3f17e33744556d2ecf547566";
+        url = "https://registry.npmjs.org/async-mutex/-/async-mutex-0.1.4.tgz";
+        sha512 = "zVWTmAnxxHaeB2B1te84oecI8zTDJ/8G49aVBblRX6be0oq6pAybNcUSxwfgVOmOjSCvN4aYZAqwtyNI8e1YGw==";
       };
     };
     "async-retry-1.2.3" = {
@@ -5836,6 +6214,15 @@ let
         sha1 = "ece7d92527ca37ea502f99e8f41fe44daf00dbce";
       };
     };
+    "await-to-js-2.1.1" = {
+      name = "await-to-js";
+      packageName = "await-to-js";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/await-to-js/-/await-to-js-2.1.1.tgz";
+        sha512 = "CHBC6gQGCIzjZ09tJ+XmpQoZOn4GdWePB4qUweCaKNJ0D3f115YdhmYVTZ4rMVpiJ3cFzZcTYK1VMYEICV4YXw==";
+      };
+    };
     "aws-sdk-1.18.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
@@ -5845,13 +6232,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.533.0" = {
+    "aws-sdk-2.596.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.533.0";
+      version = "2.596.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.533.0.tgz";
-        sha512 = "OSe7C0jnBdgfzedOtK+TgBEwtJaaZovm+Q2fbqIlfhUWg3rhhkt3oLyQ9bRD30/CFaunLhLr/8HAAN+/x+DWAA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.596.0.tgz";
+        sha512 = "Bp+gyqhLw8tK4sgM1v1PDSw26H1mSXs6yhQInmGzDKqXJor6UyUb9JskFv0zC/bA84XizlshN1BBIgINqk6pNg==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -5872,13 +6259,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "axios-0.17.1" = {
@@ -5890,366 +6277,6 @@ let
         sha1 = "2d8e3e5d0bdbd7327f91bc814f5c57660f81824d";
       };
     };
-    "azure-arm-authorization-2.0.0" = {
-      name = "azure-arm-authorization";
-      packageName = "azure-arm-authorization";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-authorization/-/azure-arm-authorization-2.0.0.tgz";
-        sha1 = "56b558ba43b9cb5657662251dabe3cb34c16c56f";
-      };
-    };
-    "azure-arm-batch-3.2.0" = {
-      name = "azure-arm-batch";
-      packageName = "azure-arm-batch";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-batch/-/azure-arm-batch-3.2.0.tgz";
-        sha512 = "DDfgAiRruGAiL8Yot5nufG3O8GLA0r5lf1CGYhuF8pEzQ+vYfhLpgJzme7LPh3ASPb8UBSVYHm1IK4W4StvVnw==";
-      };
-    };
-    "azure-arm-cdn-4.2.0" = {
-      name = "azure-arm-cdn";
-      packageName = "azure-arm-cdn";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-cdn/-/azure-arm-cdn-4.2.0.tgz";
-        sha512 = "DkpLntvqHtCLbf7p/qqLS0eJluZtsb8gU65deJYiMz4OFQco+InP9giCVnY8gElW3QbMaqKyHOJCDK7NllKMoA==";
-      };
-    };
-    "azure-arm-commerce-2.1.0" = {
-      name = "azure-arm-commerce";
-      packageName = "azure-arm-commerce";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-commerce/-/azure-arm-commerce-2.1.0.tgz";
-        sha512 = "zhZ9b1Comp1Owa8/Pn7ORTL0l+uX9elz5A5yOoL/XdYXC8S6bN2QaiRLPmue9ZB55qGE1Tn7Cf+KRlpskL17hQ==";
-      };
-    };
-    "azure-arm-compute-3.0.0-preview" = {
-      name = "azure-arm-compute";
-      packageName = "azure-arm-compute";
-      version = "3.0.0-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-compute/-/azure-arm-compute-3.0.0-preview.tgz";
-        sha1 = "f5f07792afcdff29ce0b7e16705342b6986f571b";
-      };
-    };
-    "azure-arm-datalake-analytics-1.0.2-preview" = {
-      name = "azure-arm-datalake-analytics";
-      packageName = "azure-arm-datalake-analytics";
-      version = "1.0.2-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-datalake-analytics/-/azure-arm-datalake-analytics-1.0.2-preview.tgz";
-        sha1 = "b34f868e98a972ec80e4408d209dc06c000dfb63";
-      };
-    };
-    "azure-arm-datalake-store-1.0.2-preview" = {
-      name = "azure-arm-datalake-store";
-      packageName = "azure-arm-datalake-store";
-      version = "1.0.2-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-datalake-store/-/azure-arm-datalake-store-1.0.2-preview.tgz";
-        sha1 = "c8b7c113016c92703a84dc28d29ba518e8c64763";
-      };
-    };
-    "azure-arm-devtestlabs-2.1.1" = {
-      name = "azure-arm-devtestlabs";
-      packageName = "azure-arm-devtestlabs";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-devtestlabs/-/azure-arm-devtestlabs-2.1.1.tgz";
-        sha512 = "S5dCYTMrqL+BJc699fIQtXwLFuv5m8jTDqPdXTFpn/CSkyBcOyJwuZH2zPExQjGNZTyjIR6GWi8oeg/IpYLBWw==";
-      };
-    };
-    "azure-arm-dns-2.1.0" = {
-      name = "azure-arm-dns";
-      packageName = "azure-arm-dns";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-dns/-/azure-arm-dns-2.1.0.tgz";
-        sha512 = "/y0tOM9qNijPYqB381JFYiEyfF+L5B8z+F8JS1OMV1JXIb45vZKXeoe82ZNMZ5g38Vme3uAblxpvp5OtIcvW6Q==";
-      };
-    };
-    "azure-arm-hdinsight-0.2.2" = {
-      name = "azure-arm-hdinsight";
-      packageName = "azure-arm-hdinsight";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-hdinsight/-/azure-arm-hdinsight-0.2.2.tgz";
-        sha1 = "3daeade6d26f6b115d8598320541ad2dcaa9516d";
-      };
-    };
-    "azure-arm-hdinsight-jobs-0.1.0" = {
-      name = "azure-arm-hdinsight-jobs";
-      packageName = "azure-arm-hdinsight-jobs";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-hdinsight-jobs/-/azure-arm-hdinsight-jobs-0.1.0.tgz";
-        sha1 = "252938f18d4341adf9942261656e791490c3c220";
-      };
-    };
-    "azure-arm-insights-0.11.3" = {
-      name = "azure-arm-insights";
-      packageName = "azure-arm-insights";
-      version = "0.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-insights/-/azure-arm-insights-0.11.3.tgz";
-        sha1 = "4e38f8d72cd532e8ad3982d26f43f73f8fb2149f";
-      };
-    };
-    "azure-arm-iothub-1.0.1-preview" = {
-      name = "azure-arm-iothub";
-      packageName = "azure-arm-iothub";
-      version = "1.0.1-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-iothub/-/azure-arm-iothub-1.0.1-preview.tgz";
-        sha1 = "f63a6dad0355633d9347fb403f417fb195fe3b91";
-      };
-    };
-    "azure-arm-network-5.3.0" = {
-      name = "azure-arm-network";
-      packageName = "azure-arm-network";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-5.3.0.tgz";
-        sha512 = "juitxBWofPBZ+kcmLB8OjW5qPD6+/Ncdq86WjDTIUcH+cyb/GWktdDymv6adbOyz4xZ9/wbThFL7AHgq8cHBig==";
-      };
-    };
-    "azure-arm-powerbiembedded-0.1.1" = {
-      name = "azure-arm-powerbiembedded";
-      packageName = "azure-arm-powerbiembedded";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-powerbiembedded/-/azure-arm-powerbiembedded-0.1.1.tgz";
-        sha1 = "7103c94e06b3ddf628293f60e02fd0ba8f9c3ca9";
-      };
-    };
-    "azure-arm-rediscache-0.2.3" = {
-      name = "azure-arm-rediscache";
-      packageName = "azure-arm-rediscache";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-rediscache/-/azure-arm-rediscache-0.2.3.tgz";
-        sha1 = "b6898abe8b4c3e1b2ec5be82689ef212bc2b1a06";
-      };
-    };
-    "azure-arm-resource-1.6.1-preview" = {
-      name = "azure-arm-resource";
-      packageName = "azure-arm-resource";
-      version = "1.6.1-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-1.6.1-preview.tgz";
-        sha1 = "aa9a49fb9081a210f2f4cc6596ca4653b68306e6";
-      };
-    };
-    "azure-arm-resource-7.3.0" = {
-      name = "azure-arm-resource";
-      packageName = "azure-arm-resource";
-      version = "7.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-7.3.0.tgz";
-        sha512 = "2K+ps1Iwa4PBQFwdCn1X8kAVIRLH5M7nlNZtfOWaYd7DXJ131qJpwW8ul6gKZgG7DAI3PBodrGsHFvPdgA+AzQ==";
-      };
-    };
-    "azure-arm-servermanagement-1.1.0" = {
-      name = "azure-arm-servermanagement";
-      packageName = "azure-arm-servermanagement";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-servermanagement/-/azure-arm-servermanagement-1.1.0.tgz";
-        sha512 = "GlPXPD5Up2U6Qxv40ScC/+7WRcVVYQf7EHUSomD385o/MuyJAjM6CxBS8fPKwkZR5MRSd60p6kBo5AQ+bwfpeA==";
-      };
-    };
-    "azure-arm-storage-5.2.0" = {
-      name = "azure-arm-storage";
-      packageName = "azure-arm-storage";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-storage/-/azure-arm-storage-5.2.0.tgz";
-        sha512 = "BVFUPi48eJNJFP4ryQ3BwNRlKRNuAA7cZeSxCvr6dGEP+wrd1Ixmb2MlvoMRjgjcEOVnhP4t2YQyHcHNqQsH9A==";
-      };
-    };
-    "azure-arm-trafficmanager-1.1.0-preview" = {
-      name = "azure-arm-trafficmanager";
-      packageName = "azure-arm-trafficmanager";
-      version = "1.1.0-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-trafficmanager/-/azure-arm-trafficmanager-1.1.0-preview.tgz";
-        sha1 = "b46cfcf7f1690e4739864dcdb5c8de322e82ec50";
-      };
-    };
-    "azure-arm-website-5.7.0" = {
-      name = "azure-arm-website";
-      packageName = "azure-arm-website";
-      version = "5.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-website/-/azure-arm-website-5.7.0.tgz";
-        sha512 = "GnwqaelTIhv40YI3Ch8+Q272X6XXWTq99Y1aYWZb1cejSP4gjrWWeppwor4HtjlVU9i9YIvYO91TRjQt8FrHVA==";
-      };
-    };
-    "azure-asm-compute-0.18.0" = {
-      name = "azure-asm-compute";
-      packageName = "azure-asm-compute";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-compute/-/azure-asm-compute-0.18.0.tgz";
-        sha1 = "109c31e17c697f4a00a01533fb230bf3ae448685";
-      };
-    };
-    "azure-asm-hdinsight-0.10.2" = {
-      name = "azure-asm-hdinsight";
-      packageName = "azure-asm-hdinsight";
-      version = "0.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-hdinsight/-/azure-asm-hdinsight-0.10.2.tgz";
-        sha1 = "2d11cdaaa073fc38f31c718991d5923fb7259fa0";
-      };
-    };
-    "azure-asm-mgmt-0.10.1" = {
-      name = "azure-asm-mgmt";
-      packageName = "azure-asm-mgmt";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-mgmt/-/azure-asm-mgmt-0.10.1.tgz";
-        sha1 = "d0a44b47ccabf338b19d53271675733cfa2d1751";
-      };
-    };
-    "azure-asm-network-0.13.0" = {
-      name = "azure-asm-network";
-      packageName = "azure-asm-network";
-      version = "0.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-network/-/azure-asm-network-0.13.0.tgz";
-        sha1 = "8d5d46b66b16c36dfc067f7c7c87bd2f42049c54";
-      };
-    };
-    "azure-asm-sb-0.10.1" = {
-      name = "azure-asm-sb";
-      packageName = "azure-asm-sb";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-sb/-/azure-asm-sb-0.10.1.tgz";
-        sha1 = "92487b24166041119714f66760ec1f36e8dc7222";
-      };
-    };
-    "azure-asm-sql-0.10.1" = {
-      name = "azure-asm-sql";
-      packageName = "azure-asm-sql";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-sql/-/azure-asm-sql-0.10.1.tgz";
-        sha1 = "47728df19a6d4f1cc935235c69fa9cf048cc8f42";
-      };
-    };
-    "azure-asm-storage-0.12.0" = {
-      name = "azure-asm-storage";
-      packageName = "azure-asm-storage";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-storage/-/azure-asm-storage-0.12.0.tgz";
-        sha1 = "f5edf48d41d18a80eb14af6a72c1d6924214fdd3";
-      };
-    };
-    "azure-asm-subscription-0.10.1" = {
-      name = "azure-asm-subscription";
-      packageName = "azure-asm-subscription";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-subscription/-/azure-asm-subscription-0.10.1.tgz";
-        sha1 = "917a5e87a04b69c0f5c29339fe910bb5e5e7a04c";
-      };
-    };
-    "azure-asm-trafficmanager-0.10.3" = {
-      name = "azure-asm-trafficmanager";
-      packageName = "azure-asm-trafficmanager";
-      version = "0.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-trafficmanager/-/azure-asm-trafficmanager-0.10.3.tgz";
-        sha1 = "91e2e63d73869090613cd42ee38a3823e55f4447";
-      };
-    };
-    "azure-asm-website-0.10.7" = {
-      name = "azure-asm-website";
-      packageName = "azure-asm-website";
-      version = "0.10.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-asm-website/-/azure-asm-website-0.10.7.tgz";
-        sha512 = "h3OmXKKOLd4sbf4khrxqGTjspjqpKduKN9EWgEoIeNhMY+PVKrVEIMr3ZyKzmmy/8123MD+ip67wMqUKSTLtUA==";
-      };
-    };
-    "azure-batch-3.2.2" = {
-      name = "azure-batch";
-      packageName = "azure-batch";
-      version = "3.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-batch/-/azure-batch-3.2.2.tgz";
-        sha512 = "IM5nUITXMgTFTF4avRxsz/oLcMXLSZEzpukulRRpO1emXBI4EgSIr0++hUo+AZ94MINE2C4DXgCDiQ9P0suYXw==";
-      };
-    };
-    "azure-common-0.9.22" = {
-      name = "azure-common";
-      packageName = "azure-common";
-      version = "0.9.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-common/-/azure-common-0.9.22.tgz";
-        sha512 = "0r9tK9D+1xl2/VPVtfmGmtkMqfooiBLS87fX+Ab0hOCPVVe/6CgVC4in0wSf2Ta8r65DbvxV5P4/t8fp8Q3EsQ==";
-      };
-    };
-    "azure-gallery-2.0.0-pre.18" = {
-      name = "azure-gallery";
-      packageName = "azure-gallery";
-      version = "2.0.0-pre.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-gallery/-/azure-gallery-2.0.0-pre.18.tgz";
-        sha1 = "3cd4c5e4e0091551d6a5ee757af2354c8a36b3e6";
-      };
-    };
-    "azure-graph-2.2.0" = {
-      name = "azure-graph";
-      packageName = "azure-graph";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-graph/-/azure-graph-2.2.0.tgz";
-        sha512 = "ab0LlM5Q3pcKm+V6F6yx2ShzGOTYMcmJvLdL3PQsC9hF+hrYsBdkTCdNZdlPBgrSB8jp5vzhmK83qHGRs14hHw==";
-      };
-    };
-    "azure-keyvault-3.0.5" = {
-      name = "azure-keyvault";
-      packageName = "azure-keyvault";
-      version = "3.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-keyvault/-/azure-keyvault-3.0.5.tgz";
-        sha512 = "59fzKRq9dnzv03lEuImvgXc3QjRJoSJtK0gv1WXoqCivBuPdFNK+x6hAjoEDS2WEOXG+7m3uiJWqpMh/8NW3ow==";
-      };
-    };
-    "azure-monitoring-0.10.6" = {
-      name = "azure-monitoring";
-      packageName = "azure-monitoring";
-      version = "0.10.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-monitoring/-/azure-monitoring-0.10.6.tgz";
-        sha512 = "6HNA8VuC5qYvQMjcQt2/zlB7oyAJ7n6KGIYGstS6KS9Orux0peqxlrGPDeQRa4jDNq6ili83KiGc7RhWcgsE4Q==";
-      };
-    };
-    "azure-servicefabric-2.2.0" = {
-      name = "azure-servicefabric";
-      packageName = "azure-servicefabric";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-servicefabric/-/azure-servicefabric-2.2.0.tgz";
-        sha512 = "b+rxF8esa1Cm+bnJLs6a+hO/7U9QwvQzg0bSR1rKP9NTKjZji3GxdndcPVkHqFv28QiLo9ifyR/FaJMA0cDcTw==";
-      };
-    };
-    "azure-storage-2.10.3" = {
-      name = "azure-storage";
-      packageName = "azure-storage";
-      version = "2.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.3.tgz";
-        sha512 = "IGLs5Xj6kO8Ii90KerQrrwuJKexLgSwYC4oLWmc11mzKe7Jt2E5IVg+ZQ8K53YWZACtVTMBNO3iGuA+4ipjJxQ==";
-      };
-    };
     "babel-code-frame-6.26.0" = {
       name = "babel-code-frame";
       packageName = "babel-code-frame";
@@ -6691,13 +6718,13 @@ let
         sha1 = "be241ca81404030678b748717322b89d0c8fe280";
       };
     };
-    "babel-polyfill-6.16.0" = {
+    "babel-polyfill-6.26.0" = {
       name = "babel-polyfill";
       packageName = "babel-polyfill";
-      version = "6.16.0";
+      version = "6.26.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.16.0.tgz";
-        sha1 = "2d45021df87e26a374b6d4d1a9c65964d17f2422";
+        url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz";
+        sha1 = "379937abc67d7895970adc621f284cd966cf2153";
       };
     };
     "babel-preset-jest-23.2.0" = {
@@ -7051,15 +7078,6 @@ let
         sha512 = "IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==";
       };
     };
-    "benchmark-1.0.0" = {
-      name = "benchmark";
-      packageName = "benchmark";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz";
-        sha1 = "2f1e2fa4c359f11122aa183082218e957e390c73";
-      };
-    };
     "bencode-0.7.0" = {
       name = "bencode";
       packageName = "bencode";
@@ -7114,13 +7132,13 @@ let
         sha1 = "38f716b24c8cee07a262abc41c22c314e20e3869";
       };
     };
-    "bezier-js-2.4.3" = {
+    "bezier-js-2.4.4" = {
       name = "bezier-js";
       packageName = "bezier-js";
-      version = "2.4.3";
+      version = "2.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bezier-js/-/bezier-js-2.4.3.tgz";
-        sha512 = "qAz1iAGoSE+kk5guAMyvoUgfHq+e5JwK5jRHh2/tuk4XDRUuECrrHLouN27jAzjhlJD2vAsBHofCi5sOn1jcbQ==";
+        url = "https://registry.npmjs.org/bezier-js/-/bezier-js-2.4.4.tgz";
+        sha512 = "qYC9FBubdTK4VZe0m+lS7lEpf87w1fnm6g2m1FKsnlz+wfNnJy3gjQt4Y5nnI1NrjJrnQqnZt3S6Z5qjhloDNA==";
       };
     };
     "biased-opener-0.2.8" = {
@@ -7132,13 +7150,22 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
-    "big-integer-1.6.45" = {
+    "big-integer-1.6.36" = {
+      name = "big-integer";
+      packageName = "big-integer";
+      version = "1.6.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz";
+        sha512 = "t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==";
+      };
+    };
+    "big-integer-1.6.48" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.45";
+      version = "1.6.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.45.tgz";
-        sha512 = "nmb9E7oEtVJ7SmSCH/DeJobXyuRmaofkpoQSimMFu3HKJ5MADtM825SPLhDuWhZ6TElLAQtgJbQmBZuHIRlZoA==";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz";
+        sha512 = "j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==";
       };
     };
     "big.js-5.2.2" = {
@@ -7177,15 +7204,6 @@ let
         sha1 = "e24ebfa6b63cb0387c5fc174f86e5cc812ca7cc9";
       };
     };
-    "binary-0.3.0" = {
-      name = "binary";
-      packageName = "binary";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz";
-        sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
-      };
-    };
     "binary-extensions-1.13.1" = {
       name = "binary-extensions";
       packageName = "binary-extensions";
@@ -7339,15 +7357,6 @@ let
         sha1 = "c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e";
       };
     };
-    "bl-1.1.2" = {
-      name = "bl";
-      packageName = "bl";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz";
-        sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398";
-      };
-    };
     "bl-1.2.2" = {
       name = "bl";
       packageName = "bl";
@@ -7366,6 +7375,15 @@ let
         sha512 = "EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==";
       };
     };
+    "bl-4.0.0" = {
+      name = "bl";
+      packageName = "bl";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-4.0.0.tgz";
+        sha512 = "QwQvAZZA1Bw1FWnhNj2X5lu+sPxxB2ITH3mqEqYyahN6JZR13ONjk+XiTnBaGEzMPUrAgOkaD68pBH1rvPRPsw==";
+      };
+    };
     "blake2b-2.1.3" = {
       name = "blake2b";
       packageName = "blake2b";
@@ -7402,13 +7420,13 @@ let
         sha1 = "f962d687ec2c369570ae71af843256e6d0ca1129";
       };
     };
-    "blessed-contrib-4.8.17" = {
+    "blessed-contrib-4.8.18" = {
       name = "blessed-contrib";
       packageName = "blessed-contrib";
-      version = "4.8.17";
+      version = "4.8.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.8.17.tgz";
-        sha512 = "uhywRrzJQxtpkowgDHdejIE911Pgt0raYOQUoFC/qREyQvXsz5DMj2J2JVjwcx2bpzbDdHRoP/lcWLE1Ol3vCQ==";
+        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.8.18.tgz";
+        sha512 = "l0XXpwbxp1NIYMkhTplbi6siZZvVH3JRHy+NPNznPvlD6uBUWVd/wQx4pmo1NCZQMN4MYRjICjedDGp34p/MUQ==";
       };
     };
     "blob-0.0.2" = {
@@ -7510,6 +7528,15 @@ let
         sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
       };
     };
+    "bluebird-3.7.2" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
+      };
+    };
     "blueimp-md5-2.10.0" = {
       name = "blueimp-md5";
       packageName = "blueimp-md5";
@@ -7528,13 +7555,13 @@ let
         sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
       };
     };
-    "bn.js-5.0.0" = {
+    "bn.js-5.1.1" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "5.0.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.0.0.tgz";
-        sha512 = "bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A==";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz";
+        sha512 = "IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==";
       };
     };
     "bncode-0.2.3" = {
@@ -7609,13 +7636,13 @@ let
         sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
       };
     };
-    "boolean-1.0.0" = {
+    "boolean-3.0.0" = {
       name = "boolean";
       packageName = "boolean";
-      version = "1.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-1.0.0.tgz";
-        sha512 = "IB1lgIywn37N9Aff8CciCblVpMUflgL42vyxPUH0IvaDdIi/QwBHKv1lq/HOkATHCfa7c4MbMYJ7Bo7hGuoI+w==";
+        url = "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz";
+        sha512 = "OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==";
       };
     };
     "boom-2.10.1" = {
@@ -7717,6 +7744,15 @@ let
         sha512 = "cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==";
       };
     };
+    "boxen-4.2.0" = {
+      name = "boxen";
+      packageName = "boxen";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz";
+        sha512 = "eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==";
+      };
+    };
     "bplist-creator-0.0.6" = {
       name = "bplist-creator";
       packageName = "bplist-creator";
@@ -7915,15 +7951,6 @@ let
         sha1 = "0713cb7587247a632a9f08cf1bd169b878b62a8a";
       };
     };
-    "browserify-mime-1.2.9" = {
-      name = "browserify-mime";
-      packageName = "browserify-mime";
-      version = "1.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz";
-        sha1 = "aeb1af28de6c0d7a6a2ce40adb68ff18422af31f";
-      };
-    };
     "browserify-package-json-1.0.1" = {
       name = "browserify-package-json";
       packageName = "browserify-package-json";
@@ -7960,13 +7987,13 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-4.7.0" = {
+    "browserslist-4.8.2" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.7.0";
+      version = "4.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz";
-        sha512 = "9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.8.2.tgz";
+        sha512 = "+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==";
       };
     };
     "btoa-lite-1.0.0" = {
@@ -8014,6 +8041,15 @@ let
         sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
       };
     };
+    "buffer-4.9.2" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
+        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
+      };
+    };
     "buffer-5.4.3" = {
       name = "buffer";
       packageName = "buffer";
@@ -8131,15 +8167,6 @@ let
         sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
       };
     };
-    "buffer-indexof-polyfill-1.0.1" = {
-      name = "buffer-indexof-polyfill";
-      packageName = "buffer-indexof-polyfill";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz";
-        sha1 = "a9fb806ce8145d5428510ce72f278bb363a638bf";
-      };
-    };
     "buffer-queue-1.0.0" = {
       name = "buffer-queue";
       packageName = "buffer-queue";
@@ -8419,6 +8446,15 @@ let
         sha512 = "kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==";
       };
     };
+    "cacache-13.0.1" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "13.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz";
+        sha512 = "5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==";
+      };
+    };
     "cache-base-1.0.1" = {
       name = "cache-base";
       packageName = "cache-base";
@@ -8464,13 +8500,13 @@ let
         sha512 = "5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==";
       };
     };
-    "cachedir-2.2.0" = {
+    "cachedir-2.3.0" = {
       name = "cachedir";
       packageName = "cachedir";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz";
-        sha512 = "VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==";
+        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz";
+        sha512 = "A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==";
       };
     };
     "call-me-maybe-1.0.1" = {
@@ -8509,15 +8545,6 @@ let
         sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
       };
     };
-    "caller-id-0.1.0" = {
-      name = "caller-id";
-      packageName = "caller-id";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz";
-        sha1 = "59bdac0893d12c3871408279231f97458364f07b";
-      };
-    };
     "caller-path-0.1.0" = {
       name = "caller-path";
       packageName = "caller-path";
@@ -8644,13 +8671,13 @@ let
         sha1 = "a2aa5fb1af688758259c32c141426d78923b9b77";
       };
     };
-    "camelcase-keys-6.0.1" = {
+    "camelcase-keys-6.1.1" = {
       name = "camelcase-keys";
       packageName = "camelcase-keys";
-      version = "6.0.1";
+      version = "6.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.0.1.tgz";
-        sha512 = "Pet+fVo99HMVy183qJuyTiQECQlb0dCXg89qhixcud88j4BSns+gzhSrjRT0ustEYSWJqKMO42arm1cS1VG5FA==";
+        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.1.1.tgz";
+        sha512 = "kEPCddRFChEzO0d6w61yh0WbBiSv9gBnfZWGfXRYPlGqIdIGef6HMR6pgqVSEWCYkrp8B0AtEpEXNY+Jx0xk1A==";
       };
     };
     "caniuse-api-3.0.0" = {
@@ -8662,13 +8689,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30000989" = {
+    "caniuse-lite-1.0.30001016" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30000989";
+      version = "1.0.30001016";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz";
-        sha512 = "vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz";
+        sha512 = "yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA==";
       };
     };
     "capture-stack-trace-1.0.1" = {
@@ -8689,6 +8716,15 @@ let
         sha1 = "50e21c1b0aa37729f9377def196b5a9cec932ee9";
       };
     };
+    "cardinal-2.1.1" = {
+      name = "cardinal";
+      packageName = "cardinal";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz";
+        sha1 = "7cc1055d822d212954d07b085dea251cc7bc5505";
+      };
+    };
     "caryll-shapeops-0.3.1" = {
       name = "caryll-shapeops";
       packageName = "caryll-shapeops";
@@ -8788,15 +8824,6 @@ let
         sha512 = "azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==";
       };
     };
-    "chainsaw-0.1.0" = {
-      name = "chainsaw";
-      packageName = "chainsaw";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz";
-        sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
-      };
-    };
     "chalk-0.4.0" = {
       name = "chalk";
       packageName = "chalk";
@@ -8860,6 +8887,15 @@ let
         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
+    "chalk-3.0.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz";
+        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
+      };
+    };
     "chance-1.0.18" = {
       name = "chance";
       packageName = "chance";
@@ -9103,22 +9139,13 @@ let
         sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
       };
     };
-    "chokidar-3.0.2" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz";
-        sha512 = "c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==";
-      };
-    };
-    "chokidar-3.1.1" = {
+    "chokidar-3.3.1" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.1.1";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.1.1.tgz";
-        sha512 = "df4o16uZmMHzVQwECZRHwfguOt5ixpuQVaZHjYMvYisgKhE+JXwcj/Tcr3+3bu/XeOJQ9ycYmzu7Mv8XrGxJDQ==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz";
+        sha512 = "4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==";
       };
     };
     "chownr-0.0.2" = {
@@ -9130,31 +9157,31 @@ let
         sha1 = "2f9aebf746f90808ce00607b72ba73b41604c485";
       };
     };
-    "chownr-1.1.2" = {
+    "chownr-1.1.3" = {
       name = "chownr";
       packageName = "chownr";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz";
-        sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==";
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
       };
     };
-    "chroma-js-2.0.6" = {
+    "chroma-js-2.1.0" = {
       name = "chroma-js";
       packageName = "chroma-js";
-      version = "2.0.6";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.0.6.tgz";
-        sha512 = "IiiClbBRkRwuXNl6impq5ssEhUGpmWvc5zzImZbDUWLWcFbj6ZbtsdZEx6sIXMKes7azgYaUpnmsY1T8BL6PqQ==";
+        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.0.tgz";
+        sha512 = "uiRdh4ZZy+UTPSrAdp8hqEdVb1EllLtTHOt5TMaOjJUvi+O54/83Fc5K2ld1P+TJX+dw5B+8/sCgzI6eaur/lg==";
       };
     };
-    "chrome-dgram-3.0.3" = {
+    "chrome-dgram-3.0.4" = {
       name = "chrome-dgram";
       packageName = "chrome-dgram";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.3.tgz";
-        sha512 = "rktbTuXuzriInBm9qESjTqRhnscp26gAdsQnUSWIY4a3miF9gnFOBGib+DO0zcJ0ZF2wj6wwQrPgyWfT4+as3g==";
+        url = "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.4.tgz";
+        sha512 = "G8rOANSvSRC4hGny/K/ec1gXtNuZGzryFeoev49u0J4g/qws7H25vMKQlbD9izuedFVHwXFTdKQG62Tf/7Cmwg==";
       };
     };
     "chrome-dns-1.0.1" = {
@@ -9166,6 +9193,15 @@ let
         sha512 = "HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==";
       };
     };
+    "chrome-launcher-0.12.0" = {
+      name = "chrome-launcher";
+      packageName = "chrome-launcher";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.12.0.tgz";
+        sha512 = "rBUP4tvWToiileDi3UR0SbWKoUoDCYTRmVND2sdoBL1xANBgVz8V9h1yQluj3MEQaBJg0fRw7hW82uOPrJus7A==";
+      };
+    };
     "chrome-net-3.3.3" = {
       name = "chrome-net";
       packageName = "chrome-net";
@@ -9175,13 +9211,13 @@ let
         sha512 = "11jL8+Ogna8M5TEdyalE8IG6cpaFEU3YcaxAj3YjZKjRM/PeT70pZbrUY+xoGwqiEJZwJE4Td2CvGxUvS9ytKQ==";
       };
     };
-    "chrome-remote-interface-0.26.1" = {
+    "chrome-remote-interface-0.27.2" = {
       name = "chrome-remote-interface";
       packageName = "chrome-remote-interface";
-      version = "0.26.1";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.26.1.tgz";
-        sha512 = "ela482aJK0riFu05sl+zdbnb3ezMiqzwsqf/f/27HngWds+Fat3vcZWpIoDoeQuWMid/+LfKAteAYWaWPqsweg==";
+        url = "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.27.2.tgz";
+        sha512 = "pVLljQ29SAx8KIv5tSa9sIf8GrEsAZdPJoeWOmY3/nrIzFmE+EryNNHvDkddGod0cmAFTv+GmPG0uvzxi2NWsA==";
       };
     };
     "chrome-trace-event-1.0.2" = {
@@ -9292,6 +9328,15 @@ let
         sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==";
       };
     };
+    "citeproc-2.2.30" = {
+      name = "citeproc";
+      packageName = "citeproc";
+      version = "2.2.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/citeproc/-/citeproc-2.2.30.tgz";
+        sha512 = "8EFCQiKCh4MC5mKgNiME/8tco4sehq2iZDvkX7NlI3tAS8fhUGlnbQZopeHVdHnj/LD69OEsj/yjiNZYPjHHCw==";
+      };
+    };
     "class-utils-0.3.6" = {
       name = "class-utils";
       packageName = "class-utils";
@@ -9319,13 +9364,22 @@ let
         sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==";
       };
     };
-    "clean-git-ref-1.0.3" = {
+    "clean-git-ref-2.0.1" = {
       name = "clean-git-ref";
       packageName = "clean-git-ref";
-      version = "1.0.3";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz";
+        sha512 = "bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==";
+      };
+    };
+    "clean-html-1.5.0" = {
+      name = "clean-html";
+      packageName = "clean-html";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-1.0.3.tgz";
-        sha1 = "5325dc839eab01c974ae0e97f5734782750f88ec";
+        url = "https://registry.npmjs.org/clean-html/-/clean-html-1.5.0.tgz";
+        sha512 = "eDu0vN44ZBvoEU0oRIKwWPIccGWXtdnUNmKJuTukZ1de00Uoqavb5pfIMKiC7/r+knQ5RbvAjGuVZiN3JwJL4Q==";
       };
     };
     "clean-stack-1.3.0" = {
@@ -9418,6 +9472,24 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
+    "cli-progress-3.4.0" = {
+      name = "cli-progress";
+      packageName = "cli-progress";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.4.0.tgz";
+        sha512 = "35zcc1FsbPfN2dVonxUQwEnqMnI5kDFx2G4qGFGWgIDYqZ6+3t4/GjX/Vk0tq6bNgI9dEFcWLJ6AaLN17NLBDA==";
+      };
+    };
+    "cli-spinner-0.2.10" = {
+      name = "cli-spinner";
+      packageName = "cli-spinner";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz";
+        sha512 = "U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==";
+      };
+    };
     "cli-spinners-1.3.1" = {
       name = "cli-spinners";
       packageName = "cli-spinners";
@@ -9454,6 +9526,15 @@ let
         sha1 = "2d1ef7f218a0e786e214540562d4bd177fe32d97";
       };
     };
+    "cli-truncate-0.2.1" = {
+      name = "cli-truncate";
+      packageName = "cli-truncate";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz";
+        sha1 = "9f15cfbb0705005369216c626ac7d05ab90dd574";
+      };
+    };
     "cli-truncate-1.1.0" = {
       name = "cli-truncate";
       packageName = "cli-truncate";
@@ -9463,6 +9544,24 @@ let
         sha512 = "bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==";
       };
     };
+    "cli-ux-4.9.3" = {
+      name = "cli-ux";
+      packageName = "cli-ux";
+      version = "4.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-ux/-/cli-ux-4.9.3.tgz";
+        sha512 = "/1owvF0SZ5Gn54cgrikJ0QskgTzeg30HGjkmjFoaHDJzAqFpuX1DBpFR8aLvsE1J5s9MgeYRENQK4BFwOag5VA==";
+      };
+    };
+    "cli-ux-5.4.1" = {
+      name = "cli-ux";
+      packageName = "cli-ux";
+      version = "5.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-ux/-/cli-ux-5.4.1.tgz";
+        sha512 = "x5CJXJPKBrEo6o8Uy/Upajb9OWYMhTzOpRvKZyZ68kkHysiGd9phGP71WyHZfLUkhwdvpNUFkY2tsDr0ogyocg==";
+      };
+    };
     "cli-width-1.1.1" = {
       name = "cli-width";
       packageName = "cli-width";
@@ -9580,6 +9679,15 @@ let
         sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     };
+    "cliui-6.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz";
+        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
+      };
+    };
     "clivas-0.1.4" = {
       name = "clivas";
       packageName = "clivas";
@@ -9634,15 +9742,6 @@ let
         sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
       };
     };
-    "clone-2.0.0" = {
-      name = "clone";
-      packageName = "clone";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-2.0.0.tgz";
-        sha1 = "df65d3ca142e4a4a47db33da3468d088a16fc76e";
-      };
-    };
     "clone-2.1.2" = {
       name = "clone";
       packageName = "clone";
@@ -9670,6 +9769,15 @@ let
         sha1 = "348c61ae9cdbe0edfe053d91ff4cc521d790ede8";
       };
     };
+    "clone-deep-4.0.1" = {
+      name = "clone-deep";
+      packageName = "clone-deep";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==";
+      };
+    };
     "clone-regexp-1.0.1" = {
       name = "clone-regexp";
       packageName = "clone-regexp";
@@ -9715,15 +9823,6 @@ let
         sha512 = "2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==";
       };
     };
-    "clones-1.2.0" = {
-      name = "clones";
-      packageName = "clones";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clones/-/clones-1.2.0.tgz";
-        sha512 = "FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ==";
-      };
-    };
     "cmd-shim-2.1.0" = {
       name = "cmd-shim";
       packageName = "cmd-shim";
@@ -10003,15 +10102,6 @@ let
         sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
       };
     };
-    "colors-1.1.2" = {
-      name = "colors";
-      packageName = "colors";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
-        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
-      };
-    };
     "colors-1.3.2" = {
       name = "colors";
       packageName = "colors";
@@ -10093,6 +10183,15 @@ let
         sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
       };
     };
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
+      };
+    };
     "combined-stream-1.0.8" = {
       name = "combined-stream";
       packageName = "combined-stream";
@@ -10156,24 +10255,6 @@ let
         sha1 = "5e6a88e7070ff5908836ead19169548c30f90bcd";
       };
     };
-    "commander-1.0.4" = {
-      name = "commander";
-      packageName = "commander";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-1.0.4.tgz";
-        sha1 = "5edeb1aee23c4fb541a6b70d692abef19669a2d3";
-      };
-    };
-    "commander-1.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-1.1.1.tgz";
-        sha1 = "50d1651868ae60eccff0a2d9f34595376bc6b041";
-      };
-    };
     "commander-1.3.2" = {
       name = "commander";
       packageName = "commander";
@@ -10210,6 +10291,15 @@ let
         sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
       };
     };
+    "commander-2.18.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz";
+        sha512 = "6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==";
+      };
+    };
     "commander-2.19.0" = {
       name = "commander";
       packageName = "commander";
@@ -10228,6 +10318,15 @@ let
         sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==";
       };
     };
+    "commander-2.20.3" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
+      };
+    };
     "commander-2.3.0" = {
       name = "commander";
       packageName = "commander";
@@ -10255,22 +10354,22 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
-    "commander-3.0.0" = {
+    "commander-3.0.2" = {
       name = "commander";
       packageName = "commander";
-      version = "3.0.0";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-3.0.0.tgz";
-        sha512 = "pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow==";
+        url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
+        sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
       };
     };
-    "commander-3.0.1" = {
+    "commander-4.0.1" = {
       name = "commander";
       packageName = "commander";
-      version = "3.0.1";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz";
-        sha512 = "UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ==";
+        url = "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz";
+        sha512 = "IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==";
       };
     };
     "commist-1.1.0" = {
@@ -10480,6 +10579,15 @@ let
         sha512 = "bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==";
       };
     };
+    "conf-6.2.0" = {
+      name = "conf";
+      packageName = "conf";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conf/-/conf-6.2.0.tgz";
+        sha512 = "fvl40R6YemHrFsNiyP7TD0tzOe3pQD2dfT2s20WvCaq57A1oV+RImbhn2Y4sQGDz1lB0wNSb7dPcPIvQB69YNA==";
+      };
+    };
     "config-1.31.0" = {
       name = "config";
       packageName = "config";
@@ -10516,6 +10624,15 @@ let
         sha512 = "CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==";
       };
     };
+    "configstore-5.0.0" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz";
+        sha512 = "eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==";
+      };
+    };
     "connect-1.9.2" = {
       name = "connect";
       packageName = "connect";
@@ -10588,6 +10705,15 @@ let
         sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
       };
     };
+    "console-browserify-1.2.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
+        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
+      };
+    };
     "console-control-strings-1.1.0" = {
       name = "console-control-strings";
       packageName = "console-control-strings";
@@ -10759,13 +10885,13 @@ let
         sha1 = "3243397ae93a71d655b3026834a51590b958b9e8";
       };
     };
-    "conventional-changelog-angular-5.0.3" = {
+    "conventional-changelog-angular-5.0.6" = {
       name = "conventional-changelog-angular";
       packageName = "conventional-changelog-angular";
-      version = "5.0.3";
+      version = "5.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz";
-        sha512 = "YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA==";
+        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz";
+        sha512 = "QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==";
       };
     };
     "conventional-changelog-core-3.2.3" = {
@@ -10777,22 +10903,22 @@ let
         sha512 = "LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==";
       };
     };
-    "conventional-changelog-preset-loader-2.2.0" = {
+    "conventional-changelog-preset-loader-2.3.0" = {
       name = "conventional-changelog-preset-loader";
       packageName = "conventional-changelog-preset-loader";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.2.0.tgz";
-        sha512 = "zXB+5vF7D5Y3Cb/rJfSyCCvFphCVmF8mFqOdncX3BmjZwAtGAPfYrBcT225udilCKvBbHgyzgxqz2GWDB5xShQ==";
+        url = "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz";
+        sha512 = "/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==";
       };
     };
-    "conventional-changelog-writer-4.0.7" = {
+    "conventional-changelog-writer-4.0.11" = {
       name = "conventional-changelog-writer";
       packageName = "conventional-changelog-writer";
-      version = "4.0.7";
+      version = "4.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.7.tgz";
-        sha512 = "p/wzs9eYaxhFbrmX/mCJNwJuvvHR+j4Fd0SQa2xyAhYed6KBiZ780LvoqUUvsayP4R1DtC27czalGUhKV2oabw==";
+        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz";
+        sha512 = "g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==";
       };
     };
     "conventional-commits-filter-2.0.2" = {
@@ -10804,13 +10930,13 @@ let
         sha512 = "WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==";
       };
     };
-    "conventional-commits-parser-3.0.3" = {
+    "conventional-commits-parser-3.0.8" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "3.0.3";
+      version = "3.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz";
-        sha512 = "KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz";
+        sha512 = "YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==";
       };
     };
     "conventional-recommended-bump-5.0.1" = {
@@ -10831,13 +10957,13 @@ let
         sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
       };
     };
-    "convert-source-map-1.6.0" = {
+    "convert-source-map-1.7.0" = {
       name = "convert-source-map";
       packageName = "convert-source-map";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
-        sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz";
+        sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==";
       };
     };
     "convert-to-ecmascript-compatible-varname-0.1.5" = {
@@ -10849,13 +10975,13 @@ let
         sha1 = "f67a4938c5233443564250479c67014bac878499";
       };
     };
-    "convict-5.1.0" = {
+    "convict-5.2.0" = {
       name = "convict";
       packageName = "convict";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-5.1.0.tgz";
-        sha512 = "0+Rf3wUfEpz+UuwksNgjREf+81eRDsiQ64ZAs3Gh2rZeXIjiI5m0pxwybRZUebpSKEfOFxN5oUthIUpnqIMh6w==";
+        url = "https://registry.npmjs.org/convict/-/convict-5.2.0.tgz";
+        sha512 = "C3cdUwo47cCikZNzu5Vv8AL0MuXVVeg9t/Gyr9qyK5ZpCjOkMPmJ85KUF3CowNeSfj4UtztHxS+hoO9wGRh6kg==";
       };
     };
     "cookie-0.0.4" = {
@@ -11020,13 +11146,13 @@ let
         sha512 = "hTNYHUJT5YyMa1cQQE1naGyU6Eh5D5Jl33sMnCh3+q15ZwWTL/TOy3k8+mUvjTp8bwhO5eECGKULYoVO+fp9ZA==";
       };
     };
-    "cordova-common-3.2.0" = {
+    "cordova-common-3.2.1" = {
       name = "cordova-common";
       packageName = "cordova-common";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.0.tgz";
-        sha512 = "EvlQ6PirfR65hGDoQvsluW00uSS2MTVIRKQ3c1Xvsddx7D5T5JgF3fHWkGik/Y/8yNcpI0zI2NcJyie2z/ak2A==";
+        url = "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz";
+        sha512 = "xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==";
       };
     };
     "cordova-create-2.0.0" = {
@@ -11065,31 +11191,40 @@ let
         sha512 = "h479g/5a0PXn//yiFuMrD5MDEbB+mtihNkWcE6uD/aCh/6z0FRZ9sWH3NfZbHDB+Bp1yGLYsjbH8LZBL8KOQ0w==";
       };
     };
-    "core-js-2.6.9" = {
+    "core-js-2.6.11" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.9";
+      version = "2.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
-        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz";
+        sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==";
       };
     };
-    "core-js-3.2.1" = {
+    "core-js-3.6.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.2.1";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.0.tgz";
+        sha512 = "AHPTNKzyB+YwgDWoSOCaid9PUSEF6781vsfiK8qUz62zRR448/XgK2NtCbpiUGizbep8Lrpt0Du19PpGGZvw3Q==";
+      };
+    };
+    "core-js-3.6.1" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz";
-        sha512 = "Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.1.tgz";
+        sha512 = "186WjSik2iTGfDjfdCZAxv2ormxtKgemjC3SI6PL31qOA0j5LhTDVjHChccoc7brwLvpvLPiMyRlcO88C4l1QQ==";
       };
     };
-    "core-js-compat-3.2.1" = {
+    "core-js-compat-3.6.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.2.1";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz";
-        sha512 = "MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.1.tgz";
+        sha512 = "2Tl1EuxZo94QS2VeH28Ebf5g3xbPZG/hj/N5HDDy4XMP/ImR0JIer/nggQRiMN91Q54JVkGbytf42wO29oXVHg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -11164,22 +11299,22 @@ let
         sha1 = "aba6c5833be410d45b1eca3e6d583844ce682c77";
       };
     };
-    "cp-file-6.2.0" = {
+    "cp-file-7.0.0" = {
       name = "cp-file";
       packageName = "cp-file";
-      version = "6.2.0";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz";
-        sha512 = "fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==";
+        url = "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz";
+        sha512 = "0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==";
       };
     };
-    "cpy-7.3.0" = {
+    "cpy-8.0.0" = {
       name = "cpy";
       packageName = "cpy";
-      version = "7.3.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cpy/-/cpy-7.3.0.tgz";
-        sha512 = "auvDu6h/J+cO1uqV40ymL/VoPM0+qPpNGaNttTzkYVXO/+GeynuyAK/MwFcWgU/P82ezcZw7RaN34CIIWajKLA==";
+        url = "https://registry.npmjs.org/cpy/-/cpy-8.0.0.tgz";
+        sha512 = "iTjLUqtVr45e17GFAyxA0lqFinbGMblMCTtAqrPzT/IETNtDuyyhDDk8weEZ08MiCc6EcuyNq2KtGH5J2BIAoQ==";
       };
     };
     "crc-0.2.0" = {
@@ -11281,31 +11416,22 @@ let
         sha512 = "LuoXnCRMKEo3KR3jEbCRpP3Nu2TUhLTlb/axP9+rl+ouhBpxTaHaTTN1bdUS2x2VK3wWyCBl1OZHyHhlRBntWg==";
       };
     };
-    "creato-1.0.5" = {
+    "creato-1.1.0" = {
       name = "creato";
       packageName = "creato";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/creato/-/creato-1.0.5.tgz";
-        sha512 = "bneB5jF+I0XNe4d3E6PYszPRb+5S8B3UQ3hDlY6ZSkfEU34RKqCfbUodxwwJn8DhmPYiuefEqEGxvstXEwXuUA==";
-      };
-    };
-    "crocks-0.12.1" = {
-      name = "crocks";
-      packageName = "crocks";
-      version = "0.12.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crocks/-/crocks-0.12.1.tgz";
-        sha512 = "2qCRJwBmPlRQXzd50k9gt9PaItultOP8lj/cKSH2Eai9aeBuNqAnDuyolAm9TGn6Pw/4BgbxtPJLU1S+tQ4WMQ==";
+        url = "https://registry.npmjs.org/creato/-/creato-1.1.0.tgz";
+        sha512 = "fxVZGER1+o5HTBtGYuQEtaYe4uTvplCoPm28uu/7nMzMdBdPvZJlA5qyONJUEevJQGssWJxcmrGMOOCbv25CeA==";
       };
     };
-    "cron-1.7.1" = {
+    "cron-1.7.2" = {
       name = "cron";
       packageName = "cron";
-      version = "1.7.1";
+      version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cron/-/cron-1.7.1.tgz";
-        sha512 = "gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A==";
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.2.tgz";
+        sha512 = "+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==";
       };
     };
     "cross-env-5.2.0" = {
@@ -11317,6 +11443,15 @@ let
         sha512 = "jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==";
       };
     };
+    "cross-env-6.0.3" = {
+      name = "cross-env";
+      packageName = "cross-env";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz";
+        sha512 = "+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==";
+      };
+    };
     "cross-fetch-2.2.2" = {
       name = "cross-fetch";
       packageName = "cross-fetch";
@@ -11335,15 +11470,6 @@ let
         sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
       };
     };
-    "cross-spawn-5.0.1" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz";
-        sha1 = "a3bbb302db2297cbea3c04edf36941f4613aa399";
-      };
-    };
     "cross-spawn-5.1.0" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -11362,13 +11488,13 @@ let
         sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     };
-    "cross-spawn-7.0.0" = {
+    "cross-spawn-7.0.1" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.0.tgz";
-        sha512 = "6U/8SMK2FBNnB21oQ4+6Nsodxanw1gTkntYA2zBdkFYFu3ZDx65P2ONEXGSvob/QS6REjVHQ9zxzdOafwFdstw==";
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz";
+        sha512 = "u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==";
       };
     };
     "cross-spawn-async-2.2.5" = {
@@ -11389,15 +11515,6 @@ let
         sha1 = "b1d5f9c1d98af3bdd61f1bda6a86dd1aee4ff8f2";
       };
     };
-    "crx-parser-0.1.2" = {
-      name = "crx-parser";
-      packageName = "crx-parser";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crx-parser/-/crx-parser-0.1.2.tgz";
-        sha1 = "7eeeed9eddc95e22c189382e34624044a89a5a6d";
-      };
-    };
     "crypt-0.0.2" = {
       name = "crypt";
       packageName = "crypt";
@@ -11443,6 +11560,15 @@ let
         sha1 = "a230f64f568310e1498009940790ec99545bca7e";
       };
     };
+    "crypto-random-string-2.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
+        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
+      };
+    };
     "csrf-3.1.0" = {
       name = "csrf";
       packageName = "csrf";
@@ -11515,13 +11641,13 @@ let
         sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
       };
     };
-    "css-select-2.0.2" = {
+    "css-select-2.1.0" = {
       name = "css-select";
       packageName = "css-select";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz";
-        sha512 = "dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==";
+        url = "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz";
+        sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
     "css-select-base-adapter-0.1.1" = {
@@ -11542,22 +11668,13 @@ let
         sha512 = "xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==";
       };
     };
-    "css-tree-1.0.0-alpha.29" = {
-      name = "css-tree";
-      packageName = "css-tree";
-      version = "1.0.0-alpha.29";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
-        sha512 = "sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==";
-      };
-    };
-    "css-tree-1.0.0-alpha.33" = {
+    "css-tree-1.0.0-alpha.37" = {
       name = "css-tree";
       packageName = "css-tree";
-      version = "1.0.0-alpha.33";
+      version = "1.0.0-alpha.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
-        sha512 = "SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==";
+        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
+        sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==";
       };
     };
     "css-unit-converter-1.1.1" = {
@@ -11578,6 +11695,15 @@ let
         sha512 = "a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==";
       };
     };
+    "css-what-3.2.1" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz";
+        sha512 = "WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==";
+      };
+    };
     "cssauron-1.4.0" = {
       name = "cssauron";
       packageName = "cssauron";
@@ -11677,13 +11803,13 @@ let
         sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
       };
     };
-    "csso-3.5.1" = {
+    "csso-4.0.2" = {
       name = "csso";
       packageName = "csso";
-      version = "3.5.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz";
-        sha512 = "vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==";
+        url = "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz";
+        sha512 = "kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==";
       };
     };
     "cssom-0.3.8" = {
@@ -11767,15 +11893,6 @@ let
         sha1 = "52cc3b3dfc197758c55ad325a95be85071f9e51b";
       };
     };
-    "ctype-0.5.2" = {
-      name = "ctype";
-      packageName = "ctype";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
-        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
-      };
-    };
     "ctype-0.5.3" = {
       name = "ctype";
       packageName = "ctype";
@@ -11821,13 +11938,13 @@ let
         sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
       };
     };
-    "cuss-1.16.0" = {
+    "cuss-1.17.0" = {
       name = "cuss";
       packageName = "cuss";
-      version = "1.16.0";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cuss/-/cuss-1.16.0.tgz";
-        sha512 = "VtYrZxNqRWLd/z3a57ezUv9WLR0l0n0qmYA5O9QBepliUWlEvRgBUnfZO6bZK29KocssaZ6ks7EistDLYPFWhA==";
+        url = "https://registry.npmjs.org/cuss/-/cuss-1.17.0.tgz";
+        sha512 = "3ZCx/QsMbJczIwh7A0mFzg4fmugBVf+LS3G310RD5fX6Td2imd9WV+zO1shsN9OkMOjeS3Mk5V28mUrsR6Y6Qg==";
       };
     };
     "custom-error-instance-2.1.1" = {
@@ -12064,13 +12181,13 @@ let
         sha512 = "gz9RuhUxq3coYBrelzuFXCNyC579aO3Bm1Wlwa12/9tJr1NP0AAGxpHJYA1HZvt8X7ZdrtMzpFyNvs2Y9PFG6w==";
       };
     };
-    "data-uri-to-buffer-2.0.1" = {
+    "data-uri-to-buffer-1.2.0" = {
       name = "data-uri-to-buffer";
       packageName = "data-uri-to-buffer";
-      version = "2.0.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz";
-        sha512 = "OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A==";
+        url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz";
+        sha512 = "vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==";
       };
     };
     "data-urls-1.1.0" = {
@@ -12082,6 +12199,15 @@ let
         sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
       };
     };
+    "date-fns-1.30.1" = {
+      name = "date-fns";
+      packageName = "date-fns";
+      version = "1.30.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz";
+        sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==";
+      };
+    };
     "date-format-2.1.0" = {
       name = "date-format";
       packageName = "date-format";
@@ -12100,24 +12226,6 @@ let
         sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
       };
     };
-    "date-utils-1.2.21" = {
-      name = "date-utils";
-      packageName = "date-utils";
-      version = "1.2.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz";
-        sha1 = "61fb16cdc1274b3c9acaaffe9fc69df8720a2b64";
-      };
-    };
-    "dateformat-1.0.2-1.2.3" = {
-      name = "dateformat";
-      packageName = "dateformat";
-      version = "1.0.2-1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
-        sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
-      };
-    };
     "dateformat-2.2.0" = {
       name = "dateformat";
       packageName = "dateformat";
@@ -12136,6 +12244,15 @@ let
         sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==";
       };
     };
+    "dayjs-1.8.18" = {
+      name = "dayjs";
+      packageName = "dayjs";
+      version = "1.8.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.8.18.tgz";
+        sha512 = "JBMJZghNK8TtuoPnKNIzW9xavVVigld/zmZNpZSyQbkb2Opp55YIfZUpE4OEqPF/iyUVQTKcn1bC2HtC8B7s3g==";
+      };
+    };
     "de-indent-1.0.2" = {
       name = "de-indent";
       packageName = "de-indent";
@@ -12145,13 +12262,13 @@ let
         sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
       };
     };
-    "deasync-0.1.15" = {
+    "deasync-0.1.19" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.15";
+      version = "0.1.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.15.tgz";
-        sha512 = "pxMaCYu8cQIbGkA4Y1R0PLSooPIpH1WgFBLeJ+zLxQgHfkZG86ViJSmZmONSjZJ/R3NjwkMcIWZAzpLB2G9/CA==";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.19.tgz";
+        sha512 = "oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg==";
       };
     };
     "death-1.1.0" = {
@@ -12172,6 +12289,15 @@ let
         sha512 = "mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==";
       };
     };
+    "debounce-fn-3.0.1" = {
+      name = "debounce-fn";
+      packageName = "debounce-fn";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debounce-fn/-/debounce-fn-3.0.1.tgz";
+        sha512 = "aBoJh5AhpqlRoHZjHmOzZlRx+wz2xVwGL9rjs+Kj0EWUrL4/h4K7OD176thl2Tdoqui/AaA4xhHrNArGLAaI3Q==";
+      };
+    };
     "debounced-seeker-1.0.0" = {
       name = "debounced-seeker";
       packageName = "debounced-seeker";
@@ -12208,15 +12334,6 @@ let
         sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       };
     };
-    "debug-0.8.1" = {
-      name = "debug";
-      packageName = "debug";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
-        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
-      };
-    };
     "debug-1.0.5" = {
       name = "debug";
       packageName = "debug";
@@ -12442,22 +12559,22 @@ let
         sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
       };
     };
-    "deep-equal-1.0.1" = {
+    "deep-equal-1.1.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
-      version = "1.0.1";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
-        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
+        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
       };
     };
-    "deep-equal-1.1.0" = {
+    "deep-equal-2.0.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
-      version = "1.1.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz";
-        sha512 = "ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==";
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz";
+        sha512 = "7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==";
       };
     };
     "deep-extend-0.2.11" = {
@@ -12514,13 +12631,13 @@ let
         sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
       };
     };
-    "deepcopy-0.6.3" = {
+    "deepcopy-2.0.0" = {
       name = "deepcopy";
       packageName = "deepcopy";
-      version = "0.6.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepcopy/-/deepcopy-0.6.3.tgz";
-        sha1 = "634780f2f8656ab771af8fa8431ed1ccee55c7b0";
+        url = "https://registry.npmjs.org/deepcopy/-/deepcopy-2.0.0.tgz";
+        sha512 = "d5ZK7pJw7F3k6M5vqDjGiiUS9xliIyWkdzBjnPhnSeRGjkYOGZMCFkdKVwV/WiHOe0NwzB8q+iDo7afvSf0arA==";
       };
     };
     "deepmerge-2.1.0" = {
@@ -12541,22 +12658,22 @@ let
         sha512 = "R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==";
       };
     };
-    "deepmerge-3.2.0" = {
+    "deepmerge-3.3.0" = {
       name = "deepmerge";
       packageName = "deepmerge";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz";
-        sha512 = "6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow==";
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz";
+        sha512 = "GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==";
       };
     };
-    "deepmerge-3.3.0" = {
+    "deepmerge-4.2.2" = {
       name = "deepmerge";
       packageName = "deepmerge";
-      version = "3.3.0";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz";
-        sha512 = "GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==";
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     };
     "default-browser-id-1.0.4" = {
@@ -12577,15 +12694,6 @@ let
         sha512 = "QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==";
       };
     };
-    "default-gateway-4.2.0" = {
-      name = "default-gateway";
-      packageName = "default-gateway";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz";
-        sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
-      };
-    };
     "default-resolution-2.0.0" = {
       name = "default-resolution";
       packageName = "default-resolution";
@@ -12613,13 +12721,13 @@ let
         sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
       };
     };
-    "defer-to-connect-1.0.2" = {
+    "defer-to-connect-1.1.1" = {
       name = "defer-to-connect";
       packageName = "defer-to-connect";
-      version = "1.0.2";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz";
-        sha512 = "k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==";
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz";
+        sha512 = "J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==";
       };
     };
     "deferred-0.7.11" = {
@@ -12640,13 +12748,13 @@ let
         sha1 = "2cef1f111e1c57870d8bbb8af2650e587cd2f5b4";
       };
     };
-    "deferred-leveldown-5.2.1" = {
+    "deferred-leveldown-5.3.0" = {
       name = "deferred-leveldown";
       packageName = "deferred-leveldown";
-      version = "5.2.1";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.2.1.tgz";
-        sha512 = "PwXZRn5EmW+IKYVAYVc7G9FsRkShr0myPubPuq+mtLhDq9xSUqfvTlNZKoeQGeXACHXkeCFurKrz5oo6TZ3qwg==";
+        url = "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz";
+        sha512 = "a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==";
       };
     };
     "define-properties-1.1.3" = {
@@ -12829,13 +12937,13 @@ let
         sha512 = "xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==";
       };
     };
-    "deps-sort-2.0.0" = {
+    "deps-sort-2.0.1" = {
       name = "deps-sort";
       packageName = "deps-sort";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz";
-        sha1 = "091724902e84658260eb910748cccd1af6e21fb5";
+        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";
+        sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
       };
     };
     "deref-0.6.4" = {
@@ -12847,13 +12955,13 @@ let
         sha1 = "bd5a96d45dbed3011bb81bdf68ddf54be8e1bd4e";
       };
     };
-    "des.js-1.0.0" = {
+    "des.js-1.0.1" = {
       name = "des.js";
       packageName = "des.js";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
-        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
+        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
       };
     };
     "destroy-1.0.3" = {
@@ -13063,15 +13171,6 @@ let
         sha512 = "s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==";
       };
     };
-    "diff-lines-1.1.1" = {
-      name = "diff-lines";
-      packageName = "diff-lines";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-lines/-/diff-lines-1.1.1.tgz";
-        sha512 = "Oo5JzEEriF/+T0usOeRP5yOzr6SWvni2rrxvIgijMZSxPcEvf8JOvCO5GpnWwkte7fcOgnue/f5ECg1H9lMPCw==";
-      };
-    };
     "diff-match-patch-1.0.4" = {
       name = "diff-match-patch";
       packageName = "diff-match-patch";
@@ -13090,6 +13189,15 @@ let
         sha512 = "YDadfvH7ge833dKRGNr1gWZLa00tihMhwACUuQwrIQcPu/tnZ9t/Dq5W6fTQaKnLZ7iY7snGoyikTmF9mqBx+Q==";
       };
     };
+    "diff3-0.0.3" = {
+      name = "diff3";
+      packageName = "diff3";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz";
+        sha1 = "d4e5c3a4cdf4e5fe1211ab42e693fcb4321580fc";
+      };
+    };
     "diffie-hellman-5.0.3" = {
       name = "diffie-hellman";
       packageName = "diffie-hellman";
@@ -13198,13 +13306,13 @@ let
         sha1 = "57ddacb47324ae5f58d2cc0da886db4ce9eeb718";
       };
     };
-    "dispensary-0.37.0" = {
+    "dispensary-0.48.1" = {
       name = "dispensary";
       packageName = "dispensary";
-      version = "0.37.0";
+      version = "0.48.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.37.0.tgz";
-        sha512 = "Baqbt8MDkRYQZHB7XEd8iBUP8wRkRLjNWbm16nSDTOIoGvgF4Z8Q9wV1yD72TYjFC0kj1/o3nfPXPiAvWqjC8g==";
+        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.48.1.tgz";
+        sha512 = "oC9ItJ7YtO/DKsp24T90k7z0NxfkZQkvJ3USTxUoVjBKrfMRz1/kMd+NcFgDG+KrJg14GChiv1sbdFdxeKRUUw==";
       };
     };
     "diveSync-0.3.0" = {
@@ -13405,13 +13513,13 @@ let
         sha512 = "l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==";
       };
     };
-    "dom-serializer-0.2.1" = {
+    "dom-serializer-0.2.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "0.2.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz";
-        sha512 = "sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
+        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
     "dom-walk-0.1.1" = {
@@ -13549,6 +13657,15 @@ let
         sha512 = "tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==";
       };
     };
+    "dot-prop-5.2.0" = {
+      name = "dot-prop";
+      packageName = "dot-prop";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz";
+        sha512 = "uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==";
+      };
+    };
     "dotenv-4.0.0" = {
       name = "dotenv";
       packageName = "dotenv";
@@ -13576,31 +13693,31 @@ let
         sha512 = "HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==";
       };
     };
-    "dotenv-8.1.0" = {
+    "dotenv-8.2.0" = {
       name = "dotenv";
       packageName = "dotenv";
-      version = "8.1.0";
+      version = "8.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.1.0.tgz";
-        sha512 = "GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA==";
+        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz";
+        sha512 = "8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==";
       };
     };
-    "dotenv-expand-4.2.0" = {
+    "dotenv-expand-5.1.0" = {
       name = "dotenv-expand";
       packageName = "dotenv-expand";
-      version = "4.2.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz";
-        sha1 = "def1f1ca5d6059d24a766e587942c21106ce1275";
+        url = "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
       };
     };
-    "dotnet-deps-parser-4.5.0" = {
+    "dotnet-deps-parser-4.9.0" = {
       name = "dotnet-deps-parser";
       packageName = "dotnet-deps-parser";
-      version = "4.5.0";
+      version = "4.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-4.5.0.tgz";
-        sha512 = "t6rBxcWVZSDNhhWdsbq9ozaCzfPXV79FiyES1JLNEoA7nYF+zDC2VZvFZSnH8ilU3bghJXxZPH+EcKYvfw8g/g==";
+        url = "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-4.9.0.tgz";
+        sha512 = "V0O+7pI7Ei+iL5Kgy6nYq1UTwzrpqci5K/zf8cXyP5RWBSQBUl/JOE9I67zLUkKiwOdfPhbMQgcRj/yGA+NL1A==";
       };
     };
     "downgrade-root-1.2.2" = {
@@ -13774,13 +13891,13 @@ let
         sha512 = "vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==";
       };
     };
-    "eachr-3.2.0" = {
+    "eachr-3.3.0" = {
       name = "eachr";
       packageName = "eachr";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz";
-        sha1 = "2c35e43ea086516f7997cf80b7aa64d55a4a4484";
+        url = "https://registry.npmjs.org/eachr/-/eachr-3.3.0.tgz";
+        sha512 = "yKWuGwOE283CTgbEuvqXXusLH4VBXnY2nZbDkeWev+cpAXY6zCIADSPLdvfkAROc0t8S4l07U1fateCdEDuuvg==";
       };
     };
     "easy-stack-1.0.0" = {
@@ -13792,15 +13909,6 @@ let
         sha1 = "12c91b3085a37f0baa336e9486eac4bf94e3e788";
       };
     };
-    "easy-table-1.1.0" = {
-      name = "easy-table";
-      packageName = "easy-table";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz";
-        sha1 = "86f9ab4c102f0371b7297b92a651d5824bc8cb73";
-      };
-    };
     "ecc-jsbn-0.1.2" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -13810,15 +13918,6 @@ let
         sha1 = "3a83a904e54353287874c564b7549386849a98c9";
       };
     };
-    "ecc-jsbn-0.2.0" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.2.0.tgz";
-        sha1 = "7c98afab245f6df32290473c0abee2f2d39334c7";
-      };
-    };
     "ecdsa-sig-formatter-1.0.11" = {
       name = "ecdsa-sig-formatter";
       packageName = "ecdsa-sig-formatter";
@@ -13855,22 +13954,13 @@ let
         sha1 = "94a44248bb87da35db0eff7af0aa576168117f59";
       };
     };
-    "editions-1.3.4" = {
-      name = "editions";
-      packageName = "editions";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz";
-        sha512 = "gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==";
-      };
-    };
-    "editions-2.2.0" = {
+    "editions-2.3.0" = {
       name = "editions";
       packageName = "editions";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/editions/-/editions-2.2.0.tgz";
-        sha512 = "RYg3iEA2BDLCNVe8PUkD+ox5vAKxB9XS/mAhx1bdxGCF0CpX077C0pyTA9t5D6idCYA3avl5/XDHKPsHFrygfw==";
+        url = "https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";
+        sha512 = "jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==";
       };
     };
     "editor-1.0.0" = {
@@ -13927,22 +14017,22 @@ let
         sha1 = "cc872c168880ae3c7189762fd5ffc00896c9518a";
       };
     };
-    "ejs-2.7.1" = {
+    "ejs-2.7.4" = {
       name = "ejs";
       packageName = "ejs";
-      version = "2.7.1";
+      version = "2.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz";
-        sha512 = "kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==";
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz";
+        sha512 = "7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==";
       };
     };
-    "electron-to-chromium-1.3.264" = {
+    "electron-to-chromium-1.3.322" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.264";
+      version = "1.3.322";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz";
-        sha512 = "z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz";
+        sha512 = "Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==";
       };
     };
     "elegant-spinner-1.0.1" = {
@@ -13972,22 +14062,13 @@ let
         sha1 = "9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0";
       };
     };
-    "elliptic-6.5.1" = {
+    "elliptic-6.5.2" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz";
-        sha512 = "xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==";
-      };
-    };
-    "elm-hot-1.1.1" = {
-      name = "elm-hot";
-      packageName = "elm-hot";
-      version = "1.1.1";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.1.tgz";
-        sha512 = "ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA==";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz";
+        sha512 = "f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==";
       };
     };
     "email-validator-2.0.4" = {
@@ -14117,13 +14198,13 @@ let
         sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
       };
     };
-    "encoding-down-6.2.0" = {
+    "encoding-down-6.3.0" = {
       name = "encoding-down";
       packageName = "encoding-down";
-      version = "6.2.0";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/encoding-down/-/encoding-down-6.2.0.tgz";
-        sha512 = "XlIoQMBMbU4aE01uSKpAix0sXBJWK8YPhuOdvKa1CroThZyUpj0zWzt+bbe7g1KWsdhNFFzHkQHSdDymVtpJ1w==";
+        url = "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz";
+        sha512 = "QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==";
       };
     };
     "end-of-stream-0.1.5" = {
@@ -14153,13 +14234,13 @@ let
         sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
       };
     };
-    "end-of-stream-1.4.1" = {
+    "end-of-stream-1.4.4" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
-      version = "1.4.1";
+      version = "1.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
-        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
     "end-with-1.0.2" = {
@@ -14306,6 +14387,15 @@ let
         sha512 = "F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==";
       };
     };
+    "enhanced-resolve-4.1.1" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
+        sha512 = "98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==";
+      };
+    };
     "ensure-posix-path-1.1.1" = {
       name = "ensure-posix-path";
       packageName = "ensure-posix-path";
@@ -14351,6 +14441,15 @@ let
         sha512 = "D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==";
       };
     };
+    "env-ci-3.2.2" = {
+      name = "env-ci";
+      packageName = "env-ci";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-ci/-/env-ci-3.2.2.tgz";
+        sha512 = "AOiNZ3lmxrtva3r/roqaYDF+1PX2V+ouUzuGqJf7KNxyyYkuU+CsfFbbUeibQPdixxjI/lP6eDtvtkX1/wymJw==";
+      };
+    };
     "env-paths-1.0.0" = {
       name = "env-paths";
       packageName = "env-paths";
@@ -14360,6 +14459,15 @@ let
         sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
       };
     };
+    "env-paths-2.2.0" = {
+      name = "env-paths";
+      packageName = "env-paths";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz";
+        sha512 = "6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==";
+      };
+    };
     "env-variable-0.0.5" = {
       name = "env-variable";
       packageName = "env-variable";
@@ -14369,22 +14477,13 @@ let
         sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
       };
     };
-    "envconf-0.0.4" = {
-      name = "envconf";
-      packageName = "envconf";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/envconf/-/envconf-0.0.4.tgz";
-        sha1 = "85675afba237c43f98de2d46adc0e532a4dcf48b";
-      };
-    };
-    "envinfo-7.3.1" = {
+    "envinfo-7.5.0" = {
       name = "envinfo";
       packageName = "envinfo";
-      version = "7.3.1";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.3.1.tgz";
-        sha512 = "GvXiDTqLYrORVSCuJCsWHPXF5BFvoWMQA9xX4YVjPT1jyS3aZEHUBwjzxU/6LTPF9ReHgVEbX7IEN5UvSXHw/A==";
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz";
+        sha512 = "jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==";
       };
     };
     "epidemic-broadcast-trees-7.0.0" = {
@@ -14405,13 +14504,13 @@ let
         sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
       };
     };
-    "errlop-1.1.2" = {
+    "errlop-2.0.0" = {
       name = "errlop";
       packageName = "errlop";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errlop/-/errlop-1.1.2.tgz";
-        sha512 = "djkRp+urJ+SmqDBd7F6LUgm4Be1TTYBxia2bhjNdFBuBDQtJDHExD2VbxR6eyst3h1TZy3qPRCdqb6FBoFttTA==";
+        url = "https://registry.npmjs.org/errlop/-/errlop-2.0.0.tgz";
+        sha512 = "z00WIrQhtOMUnjdTG0O4f6hMG64EVccVDBy2WwgjcF8S4UB1exGYuc2OFwmdQmsJwLQVEIHWHPCz/omXXgAZHw==";
       };
     };
     "errno-0.1.7" = {
@@ -14450,31 +14549,40 @@ let
         sha512 = "rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==";
       };
     };
-    "es-abstract-1.14.2" = {
+    "es-abstract-1.17.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.14.2";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz";
+        sha512 = "yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==";
+      };
+    };
+    "es-get-iterator-1.0.2" = {
+      name = "es-get-iterator";
+      packageName = "es-get-iterator";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz";
-        sha512 = "DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==";
+        url = "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.0.2.tgz";
+        sha512 = "ZHb4fuNK3HKHEOvDGyHPKf5cSWh/OvAMskeM/+21NMnTuvqFvz8uHatolu+7Kf6b6oK9C+3Uo1T37pSGPWv0MA==";
       };
     };
-    "es-to-primitive-1.2.0" = {
+    "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
-        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
-    "es5-ext-0.10.51" = {
+    "es5-ext-0.10.53" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.51";
+      version = "0.10.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz";
-        sha512 = "oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
       };
     };
     "es5-ext-0.8.2" = {
@@ -14495,15 +14603,6 @@ let
         sha1 = "42c5c18a9016bcb0db28a4d340ebb831f55d1b66";
       };
     };
-    "es6-error-4.0.0" = {
-      name = "es6-error";
-      packageName = "es6-error";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-error/-/es6-error-4.0.0.tgz";
-        sha1 = "f094c7041f662599bb12720da059d6b9c7ff0f40";
-      };
-    };
     "es6-error-4.1.1" = {
       name = "es6-error";
       packageName = "es6-error";
@@ -14576,15 +14675,6 @@ let
         sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
       };
     };
-    "es6-promisify-6.0.1" = {
-      name = "es6-promisify";
-      packageName = "es6-promisify";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.1.tgz";
-        sha512 = "J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw==";
-      };
-    };
     "es6-promisify-6.0.2" = {
       name = "es6-promisify";
       packageName = "es6-promisify";
@@ -14612,13 +14702,13 @@ let
         sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
       };
     };
-    "es6-symbol-3.1.2" = {
+    "es6-symbol-3.1.3" = {
       name = "es6-symbol";
       packageName = "es6-symbol";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz";
-        sha512 = "/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==";
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz";
+        sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
       };
     };
     "es6-weak-map-2.0.3" = {
@@ -14774,13 +14864,13 @@ let
         sha512 = "S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==";
       };
     };
-    "eslint-6.4.0" = {
+    "eslint-6.8.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "6.4.0";
+      version = "6.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz";
-        sha512 = "WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
       };
     };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
@@ -14837,22 +14927,13 @@ let
         sha512 = "oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==";
       };
     };
-    "eslint-utils-1.4.2" = {
+    "eslint-utils-1.4.3" = {
       name = "eslint-utils";
       packageName = "eslint-utils";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz";
-        sha512 = "eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==";
-      };
-    };
-    "eslint-visitor-keys-1.0.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "1.0.0";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
-        sha512 = "qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==";
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz";
+        sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==";
       };
     };
     "eslint-visitor-keys-1.1.0" = {
@@ -14918,13 +14999,13 @@ let
         sha512 = "qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==";
       };
     };
-    "espree-6.1.1" = {
+    "espree-6.1.2" = {
       name = "espree";
       packageName = "espree";
-      version = "6.1.1";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz";
-        sha512 = "EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==";
+        url = "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz";
+        sha512 = "2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==";
       };
     };
     "esprima-1.1.1" = {
@@ -14999,6 +15080,15 @@ let
         sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
       };
     };
+    "essentials-1.1.1" = {
+      name = "essentials";
+      packageName = "essentials";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/essentials/-/essentials-1.1.1.tgz";
+        sha512 = "SmaxoAdVu86XkZQM/u6TYSu96ZlFGwhvSk1l9zAkznFuQkMb9mRDS2iq/XWDow7R8OwBwdYH8nLyDKznMD+GWw==";
+      };
+    };
     "esshorten-1.1.1" = {
       name = "esshorten";
       packageName = "esshorten";
@@ -15152,15 +15242,6 @@ let
         sha1 = "5da9cf3c7900975989db5a68c28e5b3c98ebe03a";
       };
     };
-    "event-stream-3.1.5" = {
-      name = "event-stream";
-      packageName = "event-stream";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-3.1.5.tgz";
-        sha1 = "6cba5a3ae02a7e4967d65ad04ef12502a2fff66c";
-      };
-    };
     "event-stream-3.1.7" = {
       name = "event-stream";
       packageName = "event-stream";
@@ -15341,24 +15422,6 @@ let
         sha512 = "7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==";
       };
     };
-    "execa-0.4.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.4.0.tgz";
-        sha1 = "4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3";
-      };
-    };
-    "execa-0.6.3" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz";
-        sha1 = "57b69a594f081759c69e5370f0d17b9cb11658fe";
-      };
-    };
     "execa-0.7.0" = {
       name = "execa";
       packageName = "execa";
@@ -15395,6 +15458,15 @@ let
         sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
+    "execa-3.4.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz";
+        sha512 = "r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==";
+      };
+    };
     "execall-1.0.0" = {
       name = "execall";
       packageName = "execall";
@@ -15566,6 +15638,15 @@ let
         sha512 = "oy0sRsdw6n93E9wpCNWKRnSsxYnSDX9Dnr9mhZgqUEEorzcq5nshGYSZ4ZReHFhKQ80WI5iVUUSPW7u3GaKauw==";
       };
     };
+    "express-session-1.17.0" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz";
+        sha512 = "t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==";
+      };
+    };
     "express-urlrewrite-1.2.0" = {
       name = "express-urlrewrite";
       packageName = "express-urlrewrite";
@@ -15584,6 +15665,15 @@ let
         sha1 = "f5fc2f9fa9e9a8578634f10e86ba5a4346b96f4f";
       };
     };
+    "ext-1.4.0" = {
+      name = "ext";
+      packageName = "ext";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
+        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
+      };
+    };
     "ext-list-2.2.2" = {
       name = "ext-list";
       packageName = "ext-list";
@@ -15728,13 +15818,22 @@ let
         sha512 = "qRW6y9eKF0VbCyOoOEtFhzJ3uykAw8GKwQVXyAIqwocyEWW4m+v+evec34RwtUkkxxHh7NKBLJ6AnXM8W4dH5w==";
       };
     };
-    "extract-opts-3.3.1" = {
+    "extract-opts-3.4.0" = {
       name = "extract-opts";
       packageName = "extract-opts";
-      version = "3.3.1";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extract-opts/-/extract-opts-3.4.0.tgz";
+        sha512 = "M7Y+1cJDkzOWqvGH5F/V2qgkD6+uitW3NV9rQGl+pLSVuXZ4IDDQgxxMeLPKcWUyfypBWczIILiroSuhXG7Ytg==";
+      };
+    };
+    "extract-stack-1.0.0" = {
+      name = "extract-stack";
+      packageName = "extract-stack";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz";
-        sha1 = "5abbedc98c0d5202e3278727f9192d7e086c6be1";
+        url = "https://registry.npmjs.org/extract-stack/-/extract-stack-1.0.0.tgz";
+        sha1 = "b97acaf9441eea2332529624b732fc5a1c8165fa";
       };
     };
     "extract-zip-1.6.7" = {
@@ -15881,15 +15980,6 @@ let
         sha512 = "FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==";
       };
     };
-    "fast-json-patch-0.5.6" = {
-      name = "fast-json-patch";
-      packageName = "fast-json-patch";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-0.5.6.tgz";
-        sha1 = "66e4028e381eaa002edeb280d10238f3a46c3402";
-      };
-    };
     "fast-json-patch-2.2.1" = {
       name = "fast-json-patch";
       packageName = "fast-json-patch";
@@ -15908,6 +15998,15 @@ let
         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
+    "fast-json-stable-stringify-2.1.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
+      };
+    };
     "fast-levenshtein-1.0.7" = {
       name = "fast-levenshtein";
       packageName = "fast-levenshtein";
@@ -15926,13 +16025,13 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "fast-redact-1.5.0" = {
+    "fast-redact-2.0.0" = {
       name = "fast-redact";
       packageName = "fast-redact";
-      version = "1.5.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-1.5.0.tgz";
-        sha512 = "Afo61CgUjkzdvOKDHn08qnZ0kwck38AOGcMlvSGzvJbIab6soAP5rdoQayecGCDsD69AiF9vJBXyq31eoEO2tQ==";
+        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-2.0.0.tgz";
+        sha512 = "zxpkULI9W9MNTK2sJ3BpPQrTEXFNESd2X6O1tXMFpK/XM0G5c5Rll2EVYZH2TqI3xRGK/VaJ+eEOt7pnENJpeA==";
       };
     };
     "fast-safe-stringify-1.2.3" = {
@@ -16043,24 +16142,6 @@ let
         sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==";
       };
     };
-    "feedparser-2.2.9" = {
-      name = "feedparser";
-      packageName = "feedparser";
-      version = "2.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/feedparser/-/feedparser-2.2.9.tgz";
-        sha1 = "9138197dafdae05fcadde0036beeaf6066c2c5e9";
-      };
-    };
-    "fibers-1.0.15" = {
-      name = "fibers";
-      packageName = "fibers";
-      version = "1.0.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz";
-        sha1 = "22f039c8f18b856190fbbe4decf056154c1eae9c";
-      };
-    };
     "fields-0.1.24" = {
       name = "fields";
       packageName = "fields";
@@ -16106,13 +16187,13 @@ let
         sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
       };
     };
-    "figures-3.0.0" = {
+    "figures-3.1.0" = {
       name = "figures";
       packageName = "figures";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz";
-        sha512 = "HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==";
+        url = "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz";
+        sha512 = "ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==";
       };
     };
     "file-entry-cache-2.0.0" = {
@@ -16142,13 +16223,13 @@ let
         sha512 = "uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==";
       };
     };
-    "file-type-12.1.0" = {
+    "file-type-12.3.1" = {
       name = "file-type";
       packageName = "file-type";
-      version = "12.1.0";
+      version = "12.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-type/-/file-type-12.1.0.tgz";
-        sha512 = "aZkf42yWGiH+vSOpbVgvbnoRuX4JiitMX9pHYqTHemNQ3lrx64iHi33YGAP7TSJSno56kxQY1lHmw8S6ujlFUg==";
+        url = "https://registry.npmjs.org/file-type/-/file-type-12.3.1.tgz";
+        sha512 = "FXxY5h6vSYMjrRal4YqbtfuoKD/oE0AMjJ7E5Hm+BdaQECcFVD03B41RAWYJ7wyuLr/wRnCtFo7y37l+nh+TAA==";
       };
     };
     "file-type-3.9.0" = {
@@ -16295,13 +16376,13 @@ let
         sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
-    "filter-obj-1.1.0" = {
+    "filter-obj-2.0.1" = {
       name = "filter-obj";
       packageName = "filter-obj";
-      version = "1.1.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz";
-        sha1 = "9b311112bc6c6127a16e016c6c5d7f19e0805c5b";
+        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.1.tgz";
+        sha512 = "yDEp513p7+iLdFHWBVdZFnRiOYwg8ZqmpaAiZCMjzqsbo7tCS4Qm4ulXOht337NGzkukKa9u3W4wqQ9tQPm3Ug==";
       };
     };
     "finalhandler-0.3.3" = {
@@ -16457,13 +16538,13 @@ let
         sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
       };
     };
-    "firefox-profile-1.2.0" = {
+    "firefox-profile-1.3.0" = {
       name = "firefox-profile";
       packageName = "firefox-profile";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.2.0.tgz";
-        sha512 = "TTEFfPOkyaz4EWx/5ZDQC1mJAe3a+JgVcchpIfD4Tvx1UspwlTJRJxOYA35x/z2iJcxaF6aW2rdh6oj6qwgd2g==";
+        url = "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.3.0.tgz";
+        sha512 = "3d7JPnFC3GrwGW8wonAqy2E4YCI7A8MO7yVDkqS09uQ3tLvMLCY3Ytt4ntvVXvyzjVMRmrLW9W/CubnnzrdLCA==";
       };
     };
     "first-chunk-stream-1.0.0" = {
@@ -16610,13 +16691,13 @@ let
         sha512 = "ougBA2q6Rn9sZrjZQ9r5pTFxCotlGouySpD2yRIuq5AYwwfIT8HHhVMeSwrN5qJayjHINLJyrnsSkkPCZyfMrQ==";
       };
     };
-    "flow-parser-0.108.0" = {
+    "flow-parser-0.114.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.108.0";
+      version = "0.114.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.108.0.tgz";
-        sha512 = "Ug8VuwlyDIZq5Xgrf+T7XLpKydhqYyNd8lmFtf7PZbu90T5LL+FeHjWzxyrBn35RCCZMw7pXrjCrHOSs+2zXyg==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.114.0.tgz";
+        sha512 = "Qt9HT3v507bCerJfp4FX4N5E7ysinBzxjpK1rL7bJ/Bw12puF6lva2MAIXYS1d83bV7BT/F7EDk+faJQY5MpRA==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -16682,13 +16763,13 @@ let
         sha512 = "73LAN0qF4zVMHMExYhK0z1swDo6FEh/bt1HF5/UnWkgI5JsECXOK2bTokWVU1levtr9bd+IxYChnJKJNnEzD0A==";
       };
     };
-    "flumeview-level-3.0.13" = {
+    "flumeview-level-3.0.14" = {
       name = "flumeview-level";
       packageName = "flumeview-level";
-      version = "3.0.13";
+      version = "3.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.13.tgz";
-        sha512 = "K8sM6AoWVGWps5H/MiqEHxWd0Ts3NtcWEsBjGmC3LD2EPOhrTcDQFn4dVpGAdiZma3RGFRVHE7OTperHrfJnkA==";
+        url = "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.14.tgz";
+        sha512 = "Nl0gJOgrDGpJGZDkP6gvo6s1Q9WmRynbHUvI/JY3eQ81YgzUUa2FKLlfu6OHV5ho5NeXP+00F+0K1yBVaEgJOQ==";
       };
     };
     "flumeview-query-6.3.0" = {
@@ -16862,22 +16943,22 @@ let
         sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
       };
     };
-    "form-data-1.0.1" = {
+    "form-data-2.1.4" = {
       name = "form-data";
       packageName = "form-data";
-      version = "1.0.1";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz";
-        sha1 = "ae315db9a4907fa065502304a66d7733475ee37c";
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
+        sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
       };
     };
-    "form-data-2.1.4" = {
+    "form-data-2.3.2" = {
       name = "form-data";
       packageName = "form-data";
-      version = "2.1.4";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
-        sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
       };
     };
     "form-data-2.3.3" = {
@@ -17078,15 +17159,6 @@ let
         sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
       };
     };
-    "fs-copy-file-sync-1.1.1" = {
-      name = "fs-copy-file-sync";
-      packageName = "fs-copy-file-sync";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz";
-        sha512 = "2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==";
-      };
-    };
     "fs-exists-sync-0.1.0" = {
       name = "fs-exists-sync";
       packageName = "fs-exists-sync";
@@ -17204,6 +17276,15 @@ let
         sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
+    "fs-minipass-2.0.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz";
+        sha512 = "40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==";
+      };
+    };
     "fs-mkdirp-stream-1.0.0" = {
       name = "fs-mkdirp-stream";
       packageName = "fs-mkdirp-stream";
@@ -17249,31 +17330,31 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fs2-0.3.5" = {
+    "fs2-0.3.7" = {
       name = "fs2";
       packageName = "fs2";
-      version = "0.3.5";
+      version = "0.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs2/-/fs2-0.3.5.tgz";
-        sha512 = "EL6G81ucjbmmycRwgekYMjjbKGFSop+eHgYLvBiQydp0H0Qugwbs5qOhifSzbCLZPy25rgXxsxsSrFqpTkitwA==";
+        url = "https://registry.npmjs.org/fs2/-/fs2-0.3.7.tgz";
+        sha512 = "fwfd9MBI/fnXtR/ClVTyeuPXJ+oI5WNyXvBQPmc4btgqLYTKOuBRTRUVjmVpDUri0C88HLwMlc5ESg48fEAGjw==";
       };
     };
-    "fsevents-1.2.9" = {
+    "fsevents-1.2.11" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.9";
+      version = "1.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
-        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz";
+        sha512 = "+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==";
       };
     };
-    "fsevents-2.0.7" = {
+    "fsevents-2.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.0.7";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz";
-        sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz";
+        sha512 = "R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==";
       };
     };
     "fstream-0.1.31" = {
@@ -17321,13 +17402,13 @@ let
         sha1 = "9197d861ad8142f3e63d5a83bfe4c59f7330885d";
       };
     };
-    "fullname-3.3.0" = {
+    "fullname-4.0.1" = {
       name = "fullname";
       packageName = "fullname";
-      version = "3.3.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fullname/-/fullname-3.3.0.tgz";
-        sha1 = "a08747d6921229610b8178b7614fce10cb185f5a";
+        url = "https://registry.npmjs.org/fullname/-/fullname-4.0.1.tgz";
+        sha512 = "jVT8q9Ah9JwqfIGKwKzTdbRRthdPpIjEe9kgvxM104Tv+q6SgOAQqJMVP90R0DBRAqejGMHDRWJtl3Ats6BjfQ==";
       };
     };
     "function-bind-1.1.1" = {
@@ -17366,15 +17447,6 @@ let
         sha512 = "igHogHf5wTqqaPPTOav18MMTVq/eoeTJiw/PvPUuwnzU8vbyZInFPgR66G9ZBwvwxC7e611nbtB4xSMcYVhlvg==";
       };
     };
-    "galaxy-0.1.12" = {
-      name = "galaxy";
-      packageName = "galaxy";
-      version = "0.1.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/galaxy/-/galaxy-0.1.12.tgz";
-        sha1 = "0c989774f2870c69378aa665648cdc60f343aa53";
-      };
-    };
     "gauge-1.2.7" = {
       name = "gauge";
       packageName = "gauge";
@@ -17609,13 +17681,13 @@ let
         sha512 = "EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==";
       };
     };
-    "get-uri-2.0.3" = {
+    "get-uri-2.0.4" = {
       name = "get-uri";
       packageName = "get-uri";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-uri/-/get-uri-2.0.3.tgz";
-        sha512 = "x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw==";
+        url = "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz";
+        sha512 = "v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==";
       };
     };
     "get-value-2.0.6" = {
@@ -17654,15 +17726,6 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "gettext-parser-1.1.0" = {
-      name = "gettext-parser";
-      packageName = "gettext-parser";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz";
-        sha1 = "2c5a6638d893934b9b55037d0ad82cb7004b2679";
-      };
-    };
     "git-apply-delta-0.0.7" = {
       name = "git-apply-delta";
       packageName = "git-apply-delta";
@@ -17690,13 +17753,13 @@ let
         sha1 = "6d33f7ed63db0d0e118131503bab3aca47d54664";
       };
     };
-    "git-diff-tree-1.0.0" = {
+    "git-diff-tree-1.1.0" = {
       name = "git-diff-tree";
       packageName = "git-diff-tree";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-diff-tree/-/git-diff-tree-1.0.0.tgz";
-        sha1 = "141e5641769d065997a6b94c3a2c60e062b54da8";
+        url = "https://registry.npmjs.org/git-diff-tree/-/git-diff-tree-1.1.0.tgz";
+        sha512 = "PdNkH2snpXsKIzho6OWMZKEl+KZG6Zm+1ghQIDi0tEq1sz/S1tDjvNuYrX2ZpomalHAB89OUQim8O6vN+jesNQ==";
       };
     };
     "git-packidx-parser-1.0.0" = {
@@ -17708,6 +17771,15 @@ let
         sha1 = "c57d1145eec16465ab9bfbdf575262b1691624d6";
       };
     };
+    "git-parse-1.0.3" = {
+      name = "git-parse";
+      packageName = "git-parse";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-parse/-/git-parse-1.0.3.tgz";
+        sha512 = "LlGDePBQ9Lr/jsL3ULrnV8SQL8sk3cdScyc+vAk6jVLkHBOxdIj3JosNWemH2o9pNnGtcqukl+ym1Nl6k5jw0Q==";
+      };
+    };
     "git-raw-commits-2.0.0" = {
       name = "git-raw-commits";
       packageName = "git-raw-commits";
@@ -17744,6 +17816,15 @@ let
         sha1 = "4468406c7e6c3ba4cf4587999e1adb28d9d1af55";
       };
     };
+    "git-rev-sync-2.0.0" = {
+      name = "git-rev-sync";
+      packageName = "git-rev-sync";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-2.0.0.tgz";
+        sha512 = "vnHFv2eocTmt/wHqZm3ksxtVshK4vptT0cEoumk6hAYRFx3do6Qo7xHBTBCv29+r3ZZCQOQ1i328MUCsYF7AUw==";
+      };
+    };
     "git-semver-tags-2.0.3" = {
       name = "git-semver-tags";
       packageName = "git-semver-tags";
@@ -17753,13 +17834,13 @@ let
         sha512 = "tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==";
       };
     };
-    "git-spawned-stream-0.1.1" = {
+    "git-spawned-stream-1.0.1" = {
       name = "git-spawned-stream";
       packageName = "git-spawned-stream";
-      version = "0.1.1";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-0.1.1.tgz";
-        sha1 = "38927da02e52d862396861bf996557452643802b";
+        url = "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-1.0.1.tgz";
+        sha512 = "W2Zo3sCiq5Hqv1/FLsNmGomkXdyimmkHncGzqjBHh7nWx+CbH5dkWGb6CiFdknooL7wfeZJ3gz14KrXl/gotCw==";
       };
     };
     "git-ssb-web-2.8.0" = {
@@ -17798,15 +17879,6 @@ let
         sha1 = "41d045f3851a5ea88f03f24ca1c6178114464b9b";
       };
     };
-    "github-0.1.6" = {
-      name = "github";
-      packageName = "github";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/github/-/github-0.1.6.tgz";
-        sha1 = "1344e694f8d20ef9b29bcbfd1ca5eb4f7a287922";
-      };
-    };
     "github-from-package-0.0.0" = {
       name = "github-from-package";
       packageName = "github-from-package";
@@ -17906,13 +17978,22 @@ let
         sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
       };
     };
-    "glob-7.1.4" = {
+    "glob-7.1.5" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz";
+        sha512 = "J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==";
+      };
+    };
+    "glob-7.1.6" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.4";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
-        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
     "glob-base-0.3.0" = {
@@ -18014,13 +18095,13 @@ let
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     };
-    "global-agent-2.1.1" = {
+    "global-agent-2.1.7" = {
       name = "global-agent";
       packageName = "global-agent";
-      version = "2.1.1";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/global-agent/-/global-agent-2.1.1.tgz";
-        sha512 = "MjLP2o331SpSxBMBFSWxs5PaWDhjXxysHepQ/hmBCjhjw74cbO9R/IBCbaSJ4GLPKm01dRcgXBtRr7p7XZEnfg==";
+        url = "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz";
+        sha512 = "ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==";
       };
     };
     "global-dirs-0.1.1" = {
@@ -18032,6 +18113,15 @@ let
         sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
       };
     };
+    "global-dirs-2.0.1" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz";
+        sha512 = "5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==";
+      };
+    };
     "global-https://github.com/component/global/archive/v2.0.1.tar.gz" = {
       name = "global";
       packageName = "global";
@@ -18123,6 +18213,15 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
+    "globals-12.3.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "12.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz";
+        sha512 = "wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==";
+      };
+    };
     "globals-9.18.0" = {
       name = "globals";
       packageName = "globals";
@@ -18132,13 +18231,13 @@ let
         sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     };
-    "globalthis-1.0.0" = {
+    "globalthis-1.0.1" = {
       name = "globalthis";
       packageName = "globalthis";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.0.tgz";
-        sha512 = "vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==";
+        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz";
+        sha512 = "mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==";
       };
     };
     "globalyzer-0.1.4" = {
@@ -18204,13 +18303,13 @@ let
         sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
       };
     };
-    "globule-1.2.1" = {
+    "globule-1.3.0" = {
       name = "globule";
       packageName = "globule";
-      version = "1.2.1";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz";
-        sha512 = "g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==";
+        url = "https://registry.npmjs.org/globule/-/globule-1.3.0.tgz";
+        sha512 = "YlD4kdMqRCQHrhVdonet4TdRtv1/sZKepvoxNT4Nrhrp5HI8XFfc8kFlGlBn2myBo80aGp8Eft259mbcUJhgSg==";
       };
     };
     "glogg-1.0.2" = {
@@ -18339,6 +18438,15 @@ let
         sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
+    "graceful-fs-4.1.15" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";
+        sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
+      };
+    };
     "graceful-fs-4.2.1" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -18348,13 +18456,13 @@ let
         sha512 = "b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==";
       };
     };
-    "graceful-fs-4.2.2" = {
+    "graceful-fs-4.2.3" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.2";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
-        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
       };
     };
     "graceful-readlink-1.0.1" = {
@@ -18402,13 +18510,13 @@ let
         sha512 = "bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==";
       };
     };
-    "graphlib-2.1.7" = {
+    "graphlib-2.1.8" = {
       name = "graphlib";
       packageName = "graphlib";
-      version = "2.1.7";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz";
-        sha512 = "TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==";
+        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz";
+        sha512 = "jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==";
       };
     };
     "graphql-0.13.2" = {
@@ -18420,22 +18528,22 @@ let
         sha512 = "QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==";
       };
     };
-    "graphql-14.5.7" = {
+    "graphql-14.5.8" = {
       name = "graphql";
       packageName = "graphql";
-      version = "14.5.7";
+      version = "14.5.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql/-/graphql-14.5.7.tgz";
-        sha512 = "as410RMJSUFqF8RcH2QWxZ5ioqHzsH9VWnWbaU+UnDXJ/6azMDIYPrtXCBPXd8rlunEVb7W8z6fuUnNHMbFu9A==";
+        url = "https://registry.npmjs.org/graphql/-/graphql-14.5.8.tgz";
+        sha512 = "MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==";
       };
     };
-    "graphql-anywhere-4.2.4" = {
+    "graphql-anywhere-4.2.6" = {
       name = "graphql-anywhere";
       packageName = "graphql-anywhere";
-      version = "4.2.4";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.2.4.tgz";
-        sha512 = "rN6Op5vle0Ucqo8uOVPuFzRz1L/MB+ZVa+XezhFcQ6iP13vy95HOXRysrRtWcu2kQQTLyukSGmfU08D8LXWSIw==";
+        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.2.6.tgz";
+        sha512 = "re4fqaii3l0fCsC3qFKQrmwffephI9rinrwXAy+4EnWip2YkGlV8wC4en42eW8KI2nlWBh9lkJPfR/5TZf/l1w==";
       };
     };
     "graphql-cli-prepare-1.4.19" = {
@@ -18474,13 +18582,13 @@ let
         sha512 = "bOufkkog0cSfHJ9gVD3Wy+KHmkSTHWcFfPaV/NVpIvfJx15gU0/CzuC6lcTjioWmn+UGzYdoqmP7OrJAWT57sw==";
       };
     };
-    "graphql-extensions-0.10.3" = {
+    "graphql-extensions-0.10.8" = {
       name = "graphql-extensions";
       packageName = "graphql-extensions";
-      version = "0.10.3";
+      version = "0.10.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.10.3.tgz";
-        sha512 = "kwU0gUe+Qdfr8iZYT91qrPSwQNgPhB/ClF1m1LEPdxlptk5FhFmjpxAcbMZ8q7j0kjfnbp2IeV1OhRDCEPqz2w==";
+        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.10.8.tgz";
+        sha512 = "cUcc014vz+pfwcER8pc4ts/WWhDCrC9jhNFIiWYYntd2TshS+tZFsZ362i4P2VYLbpYCgFiO+xRY1f2mylyz5A==";
       };
     };
     "graphql-import-0.4.5" = {
@@ -18564,31 +18672,31 @@ let
         sha512 = "jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg==";
       };
     };
-    "graphql-tools-4.0.5" = {
+    "graphql-tools-4.0.6" = {
       name = "graphql-tools";
       packageName = "graphql-tools";
-      version = "4.0.5";
+      version = "4.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.5.tgz";
-        sha512 = "kQCh3IZsMqquDx7zfIGWBau42xe46gmqabwYkpPlCLIjcEY1XK+auP7iGRD9/205BPyoQdY8hT96MPpgERdC9Q==";
+        url = "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.6.tgz";
+        sha512 = "jHLQw8x3xmSNRBCsaZqelXXsFfUSUSktSCUP8KYHiX1Z9qEuwcMpAf+FkdBzk8aTAFqOlPdNZ3OI4DKKqGKUqg==";
       };
     };
-    "graphql-type-json-0.2.4" = {
+    "graphql-type-json-0.3.1" = {
       name = "graphql-type-json";
       packageName = "graphql-type-json";
-      version = "0.2.4";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.2.4.tgz";
-        sha512 = "/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==";
+        url = "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.1.tgz";
+        sha512 = "1lPkUXQ2L8o+ERLzVAuc3rzc/E6pGF+6HnjihCVTK0VzR0jCuUd92FqNxoHdfILXqOn2L6b4y47TBxiPyieUVA==";
       };
     };
-    "graphql-upload-8.0.7" = {
+    "graphql-upload-8.1.0" = {
       name = "graphql-upload";
       packageName = "graphql-upload";
-      version = "8.0.7";
+      version = "8.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.0.7.tgz";
-        sha512 = "gi2yygbDPXbHPC7H0PNPqP++VKSoNoJO4UrXWq4T0Bi4IhyUd3Ycop/FSxhx2svWIK3jdXR/i0vi91yR1aAF0g==";
+        url = "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.1.0.tgz";
+        sha512 = "U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==";
       };
     };
     "gray-matter-2.1.1" = {
@@ -18690,13 +18798,13 @@ let
         sha512 = "FQLY7unaHdTOXG0jlwxeBQcWoPPrTMQZRA7HfYwSNi9IPVx5l7GJEN72mG4ri2yigp/f/VNGUAJnFMJHBmH3iw==";
       };
     };
-    "gulp-sourcemaps-2.6.4" = {
+    "gulp-sourcemaps-2.6.5" = {
       name = "gulp-sourcemaps";
       packageName = "gulp-sourcemaps";
-      version = "2.6.4";
+      version = "2.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz";
-        sha1 = "cbb2008450b1bcce6cd23bf98337be751bf6e30a";
+        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz";
+        sha512 = "SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==";
       };
     };
     "gulp-typescript-4.0.2" = {
@@ -18708,13 +18816,13 @@ let
         sha512 = "Hhbn5Aa2l3T+tnn0KqsG6RRJmcYEsr3byTL2nBpNBeAK8pqug9Od4AwddU4JEI+hRw7mzZyjRbB8DDWR6paGVA==";
       };
     };
-    "gulp-uglify-3.0.1" = {
+    "gulp-uglify-3.0.2" = {
       name = "gulp-uglify";
       packageName = "gulp-uglify";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.1.tgz";
-        sha512 = "KVffbGY9d4Wv90bW/B1KZJyunLMyfHTBbilpDvmcrj5Go0/a1G3uVpt+1gRBWSw/11dqR3coJ1oWNTt1AiXuWQ==";
+        url = "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz";
+        sha512 = "gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==";
       };
     };
     "gulp-util-3.0.8" = {
@@ -18726,13 +18834,13 @@ let
         sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f";
       };
     };
-    "gulp-vinyl-zip-2.1.2" = {
+    "gulp-vinyl-zip-2.1.3" = {
       name = "gulp-vinyl-zip";
       packageName = "gulp-vinyl-zip";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.2.tgz";
-        sha512 = "wJn09jsb8PyvUeyFF7y7ImEJqJwYy40BqL9GKfJs6UGpaGW9A+N68Q+ajsIpb9AeR6lAdjMbIdDPclIGo1/b7Q==";
+        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.3.tgz";
+        sha512 = "wOHNPddyZ45il4wNz3Bk9ChpEq5FK/P76SSkqAMCLVZSOVtLBiDIVXDbYWDlfZpoYEjZQl+28I+Uzmmr6pSnBQ==";
       };
     };
     "gulplog-1.0.0" = {
@@ -18744,13 +18852,13 @@ let
         sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
       };
     };
-    "handlebars-4.2.1" = {
+    "handlebars-4.5.3" = {
       name = "handlebars";
       packageName = "handlebars";
-      version = "4.2.1";
+      version = "4.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.2.1.tgz";
-        sha512 = "bqPIlDk06UWbVEIFoYj+LVo42WhK96J+b25l7hbFDpxrOXMphFM3fNIm+cluwg4Pk2jiLjWU5nHQY7igGE75NQ==";
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz";
+        sha512 = "3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==";
       };
     };
     "har-schema-1.0.5" = {
@@ -18789,15 +18897,6 @@ let
         sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
-    "har-validator-5.0.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
-        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
-      };
-    };
     "har-validator-5.1.3" = {
       name = "har-validator";
       packageName = "har-validator";
@@ -18807,6 +18906,15 @@ let
         sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
       };
     };
+    "hard-rejection-2.1.0" = {
+      name = "hard-rejection";
+      packageName = "hard-rejection";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz";
+        sha512 = "VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==";
+      };
+    };
     "has-1.0.3" = {
       name = "has";
       packageName = "has";
@@ -18924,6 +19032,15 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
+    "has-flag-4.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
+      };
+    };
     "has-generators-1.0.1" = {
       name = "has-generators";
       packageName = "has-generators";
@@ -18960,13 +19077,13 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
-    "has-symbols-1.0.0" = {
+    "has-symbols-1.0.1" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
-        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "has-to-string-tag-x-1.4.1" = {
@@ -19122,13 +19239,13 @@ let
         sha512 = "C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==";
       };
     };
-    "hast-util-parse-selector-2.2.2" = {
+    "hast-util-parse-selector-2.2.3" = {
       name = "hast-util-parse-selector";
       packageName = "hast-util-parse-selector";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz";
-        sha512 = "jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==";
+        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz";
+        sha512 = "nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==";
       };
     };
     "hast-util-to-string-1.0.2" = {
@@ -19266,13 +19383,13 @@ let
         sha1 = "e6d9dbe57cbefe60751f02af336195870c90c01e";
       };
     };
-    "highlight.js-9.15.10" = {
+    "highlight.js-9.17.1" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "9.15.10";
+      version = "9.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz";
-        sha512 = "RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.17.1.tgz";
+        sha512 = "TA2/doAur5Ol8+iM3Ov7qy3jYcr/QiJ2eDTdRF4dfbjG7AaaB99J5G+zSl11ljbl6cIcahgPY6SKb3sC3EJ0fw==";
       };
     };
     "hipchatter-0.3.2" = {
@@ -19347,13 +19464,22 @@ let
         sha1 = "08a74d9272a9cc83ae8e6bbe0303f0ee76432094";
       };
     };
-    "hosted-git-info-2.8.4" = {
+    "hosted-git-info-2.8.5" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.8.4";
+      version = "2.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==";
+      };
+    };
+    "hosted-git-info-3.0.2" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
-        sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.2.tgz";
+        sha512 = "ezZMWtHXm7Eb7Rq4Mwnx2vs79WUx2QmRg3+ZqeGroKzfDO+EprOcgRPYghsOP9JuYBfK18VojmRTGCg8Ma+ktw==";
       };
     };
     "hsl-regex-1.0.0" = {
@@ -19419,15 +19545,6 @@ let
         sha1 = "c78de65b5663aa597989dd2b7ab49200d7e4db98";
       };
     };
-    "html-to-text-5.1.1" = {
-      name = "html-to-text";
-      packageName = "html-to-text";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-5.1.1.tgz";
-        sha512 = "Bci6bD/JIfZSvG4s0gW/9mMKwBRoe/1RWLxUME/d6WUSZCdY7T60bssf/jFf7EYXRyqU4P5xdClVqiYU0/ypdA==";
-      };
-    };
     "html-void-elements-1.0.4" = {
       name = "html-void-elements";
       packageName = "html-void-elements";
@@ -19455,13 +19572,13 @@ let
         sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351";
       };
     };
-    "htmlnano-0.2.4" = {
+    "htmlnano-0.2.5" = {
       name = "htmlnano";
       packageName = "htmlnano";
-      version = "0.2.4";
+      version = "0.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.4.tgz";
-        sha512 = "wsg7+Hjyi1gHpMUixkeOjeRUNhBBTnEDB//kzvVHR+LUK4p+/31DAyE+pEACT0SQk3W0KE7Xdylk9+uNxdHXLg==";
+        url = "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz";
+        sha512 = "X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA==";
       };
     };
     "htmlparser2-3.10.1" = {
@@ -19509,13 +19626,13 @@ let
         sha1 = "945cfadd66521eaf8f7c84913d377d7b15f24e31";
       };
     };
-    "http-basic-2.5.1" = {
+    "http-basic-6.0.0" = {
       name = "http-basic";
       packageName = "http-basic";
-      version = "2.5.1";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz";
-        sha1 = "8ce447bdb5b6c577f8a63e3fa78056ec4bb4dbfb";
+        url = "https://registry.npmjs.org/http-basic/-/http-basic-6.0.0.tgz";
+        sha512 = "7ScbVjuiReYe8S+OZOpNjoKGXrbhJHIrQQe7eq1TpLTJkxH8MPKvnTUzq/TNLjww1hdFQy8yUIC42wuLhCjYcQ==";
       };
     };
     "http-cache-semantics-3.8.1" = {
@@ -19536,6 +19653,15 @@ let
         sha512 = "TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==";
       };
     };
+    "http-call-5.3.0" = {
+      name = "http-call";
+      packageName = "http-call";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz";
+        sha512 = "ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==";
+      };
+    };
     "http-errors-1.6.3" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -19609,15 +19735,6 @@ let
         sha1 = "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137";
       };
     };
-    "http-proxy-1.17.0" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz";
-        sha512 = "Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==";
-      };
-    };
     "http-proxy-1.18.0" = {
       name = "http-proxy";
       packageName = "http-proxy";
@@ -19636,13 +19753,13 @@ let
         sha512 = "qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==";
       };
     };
-    "http-response-object-1.1.0" = {
+    "http-response-object-3.0.2" = {
       name = "http-response-object";
       packageName = "http-response-object";
-      version = "1.1.0";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-response-object/-/http-response-object-1.1.0.tgz";
-        sha1 = "a7c4e75aae82f3bb4904e4f43f615673b4d518c3";
+        url = "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz";
+        sha512 = "bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==";
       };
     };
     "http-signature-0.11.0" = {
@@ -19672,6 +19789,15 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
+    "http-signature-1.3.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.3.1.tgz";
+        sha512 = "Y29YKEc8MQsjch/VzkUVJ+2MXd9WcR42fK5u36CZf4G8bXw2DXMTWuESiB0R6m59JAWxlPPw5/Fri/t/AyyueA==";
+      };
+    };
     "http_ece-1.1.0" = {
       name = "http_ece";
       packageName = "http_ece";
@@ -19708,13 +19834,22 @@ let
         sha512 = "HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==";
       };
     };
-    "https-proxy-agent-2.2.2" = {
+    "https-proxy-agent-2.2.4" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
-      version = "2.2.2";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz";
-        sha512 = "c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==";
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz";
+        sha512 = "OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==";
+      };
+    };
+    "https-proxy-agent-3.0.1" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz";
+        sha512 = "+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==";
       };
     };
     "hue-sdk-0.1.0" = {
@@ -19726,6 +19861,15 @@ let
         sha512 = "Rz+tFQZs4n+7atl2mukSgXzi0EPGYwlN0Z4clFMQM9ktOyX+sIZ3fC8y9+8LMXMYQpUvdsweFQM6MGGoolOtLw==";
       };
     };
+    "human-signals-1.1.1" = {
+      name = "human-signals";
+      packageName = "human-signals";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz";
+        sha512 = "SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==";
+      };
+    };
     "humanize-0.0.9" = {
       name = "humanize";
       packageName = "humanize";
@@ -19816,6 +19960,15 @@ let
         sha512 = "JolPS374h6oS1rmz1iebFfeDDvA2nAtiHbx9VJJGMgSDSx4Q77eeY09hDgZwY7KatSKUGWnnSyydSgVUb3+8Lw==";
       };
     };
+    "hyperlinker-1.0.0" = {
+      name = "hyperlinker";
+      packageName = "hyperlinker";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz";
+        sha512 = "Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==";
+      };
+    };
     "hyperquest-2.1.3" = {
       name = "hyperquest";
       packageName = "hyperquest";
@@ -19834,13 +19987,13 @@ let
         sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
       };
     };
-    "i18next-15.1.0" = {
+    "i18next-15.1.2" = {
       name = "i18next";
       packageName = "i18next";
-      version = "15.1.0";
+      version = "15.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/i18next/-/i18next-15.1.0.tgz";
-        sha512 = "7cCrVn/BcoSOGJwTilAjGgWWzUDg4scTLX1sIBMWq6QjYYBrT+ChSAvmgVyQxkHinaIcswC04XK6l15RxM4Dkg==";
+        url = "https://registry.npmjs.org/i18next/-/i18next-15.1.2.tgz";
+        sha512 = "98ELn/dqep00DQ/v1E1gpM21HNN6nqU3mS85mYKd9P7lXrhfUcuysPaa3HviKSFb3WPdjf7avuAST3P0dhNp/A==";
       };
     };
     "iconv-lite-0.4.23" = {
@@ -19951,13 +20104,13 @@ let
         sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
       };
     };
-    "ignore-walk-3.0.2" = {
+    "ignore-walk-3.0.3" = {
       name = "ignore-walk";
       packageName = "ignore-walk";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.2.tgz";
-        sha512 = "EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw==";
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
       };
     };
     "image-data-uri-2.0.1" = {
@@ -20041,13 +20194,13 @@ let
         sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
       };
     };
-    "import-fresh-3.1.0" = {
+    "import-fresh-3.2.1" = {
       name = "import-fresh";
       packageName = "import-fresh";
-      version = "3.1.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz";
-        sha512 = "PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==";
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz";
+        sha512 = "6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==";
       };
     };
     "import-global-0.1.0" = {
@@ -20383,13 +20536,13 @@ let
         sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==";
       };
     };
-    "inquirer-7.0.0" = {
+    "inquirer-7.0.1" = {
       name = "inquirer";
       packageName = "inquirer";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz";
-        sha512 = "rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz";
+        sha512 = "V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==";
       };
     };
     "inquirer-autocomplete-prompt-1.0.1" = {
@@ -20419,13 +20572,13 @@ let
         sha512 = "YOncxSN6Omh+1Oqxt+OJAvJVMDKw7l6IEG0wT2cTMGxjsTcroOGW4IR926QDzxg/uZHcFZ2cZbckDWdZhc2pZw==";
       };
     };
-    "inspect-custom-symbol-1.1.0" = {
+    "inspect-custom-symbol-1.1.1" = {
       name = "inspect-custom-symbol";
       packageName = "inspect-custom-symbol";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.0.tgz";
-        sha512 = "vtI2YXBRZBkU6DlfHfd0GtZENfiEiTacAXUd0ZY6HA+X7aPznpFfPmzSC+tHKXAkz9KDSdI4AYfwAMXR5t+isg==";
+        url = "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz";
+        sha512 = "GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==";
       };
     };
     "inspect-function-0.2.2" = {
@@ -20509,15 +20662,6 @@ let
         sha1 = "ae9fbf93b984878785d50a8de1b356956058cf5c";
       };
     };
-    "internal-ip-4.3.0" = {
-      name = "internal-ip";
-      packageName = "internal-ip";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz";
-        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
-      };
-    };
     "interpret-1.1.0" = {
       name = "interpret";
       packageName = "interpret";
@@ -20590,6 +20734,15 @@ let
         sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
       };
     };
+    "invert-kv-3.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.0.tgz";
+        sha512 = "JzF8q2BeZA1ZkE3XROwRpoMQ9ObMgTtp0JH8EXewlbkikuOj2GPLIpUipdO+VL8QsTr2teAJD02EFGGL5cO7uw==";
+      };
+    };
     "iota-array-1.0.0" = {
       name = "iota-array";
       packageName = "iota-array";
@@ -20761,13 +20914,13 @@ let
         sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
       };
     };
-    "is-absolute-url-3.0.2" = {
+    "is-absolute-url-3.0.3" = {
       name = "is-absolute-url";
       packageName = "is-absolute-url";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.2.tgz";
-        sha512 = "+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA==";
+        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
+        sha512 = "opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==";
       };
     };
     "is-accessor-descriptor-0.1.6" = {
@@ -20842,6 +20995,15 @@ let
         sha1 = "f02ad0259a0921cd199ff21ce1b09e0f6b4e3929";
       };
     };
+    "is-bigint-1.0.0" = {
+      name = "is-bigint";
+      packageName = "is-bigint";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz";
+        sha512 = "t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==";
+      };
+    };
     "is-binary-path-1.0.1" = {
       name = "is-binary-path";
       packageName = "is-binary-path";
@@ -20860,6 +21022,15 @@ let
         sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
+    "is-boolean-object-1.0.1" = {
+      name = "is-boolean-object";
+      packageName = "is-boolean-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz";
+        sha512 = "TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==";
+      };
+    };
     "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
@@ -20869,22 +21040,22 @@ let
         sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     };
-    "is-buffer-2.0.3" = {
+    "is-buffer-2.0.4" = {
       name = "is-buffer";
       packageName = "is-buffer";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz";
-        sha512 = "U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==";
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz";
+        sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
       };
     };
-    "is-callable-1.1.4" = {
+    "is-callable-1.1.5" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
-        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
       };
     };
     "is-canonical-base64-1.1.1" = {
@@ -20950,13 +21121,13 @@ let
         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
-    "is-date-object-1.0.1" = {
+    "is-date-object-1.0.2" = {
       name = "is-date-object";
       packageName = "is-date-object";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
-        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     };
     "is-decimal-1.0.3" = {
@@ -21202,6 +21373,24 @@ let
         sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
       };
     };
+    "is-installed-globally-0.3.1" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz";
+        sha512 = "oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==";
+      };
+    };
+    "is-interactive-1.0.0" = {
+      name = "is-interactive";
+      packageName = "is-interactive";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz";
+        sha512 = "2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==";
+      };
+    };
     "is-invalid-path-0.1.0" = {
       name = "is-invalid-path";
       packageName = "is-invalid-path";
@@ -21220,13 +21409,22 @@ let
         sha1 = "7e147be4768dc466db3bfb21cc60b31e6ad69393";
       };
     };
-    "is-mergeable-object-1.1.0" = {
+    "is-map-2.0.1" = {
+      name = "is-map";
+      packageName = "is-map";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz";
+        sha512 = "T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==";
+      };
+    };
+    "is-mergeable-object-1.1.1" = {
       name = "is-mergeable-object";
       packageName = "is-mergeable-object";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.0.tgz";
-        sha512 = "JfyDDwUdtS4yHCgUpxOyKB9dnfZ0gecufxB0eytX6BmSXSE+8dbxDGt+V7CNRIRJ9sYFV/WQt2KJG6hNob2sBw==";
+        url = "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz";
+        sha512 = "CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==";
       };
     };
     "is-module-1.0.0" = {
@@ -21292,6 +21490,15 @@ let
         sha512 = "wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==";
       };
     };
+    "is-npm-4.0.0" = {
+      name = "is-npm";
+      packageName = "is-npm";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz";
+        sha512 = "96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==";
+      };
+    };
     "is-number-2.1.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -21328,6 +21535,15 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
+    "is-number-object-1.0.4" = {
+      name = "is-number-object";
+      packageName = "is-number-object";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz";
+        sha512 = "zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==";
+      };
+    };
     "is-obj-1.0.1" = {
       name = "is-obj";
       packageName = "is-obj";
@@ -21337,6 +21553,15 @@ let
         sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
       };
     };
+    "is-obj-2.0.0" = {
+      name = "is-obj";
+      packageName = "is-obj";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz";
+        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
+      };
+    };
     "is-object-1.0.1" = {
       name = "is-object";
       packageName = "is-object";
@@ -21346,6 +21571,15 @@ let
         sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
       };
     };
+    "is-observable-1.1.0" = {
+      name = "is-observable";
+      packageName = "is-observable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz";
+        sha512 = "NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==";
+      };
+    };
     "is-options-1.0.1" = {
       name = "is-options";
       packageName = "is-options";
@@ -21364,6 +21598,15 @@ let
         sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
       };
     };
+    "is-path-inside-3.0.2" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz";
+        sha512 = "/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==";
+      };
+    };
     "is-plain-obj-1.1.0" = {
       name = "is-plain-obj";
       packageName = "is-plain-obj";
@@ -21436,13 +21679,13 @@ let
         sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
       };
     };
-    "is-regex-1.0.4" = {
+    "is-regex-1.0.5" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
-        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
+        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
       };
     };
     "is-regexp-1.0.0" = {
@@ -21481,13 +21724,13 @@ let
         sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
       };
     };
-    "is-relative-url-2.0.0" = {
+    "is-relative-url-3.0.0" = {
       name = "is-relative-url";
       packageName = "is-relative-url";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-relative-url/-/is-relative-url-2.0.0.tgz";
-        sha1 = "72902d7fe04b3d4792e7db15f9db84b7204c9cef";
+        url = "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz";
+        sha512 = "U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==";
       };
     };
     "is-resolvable-1.1.0" = {
@@ -21526,6 +21769,15 @@ let
         sha1 = "449ca98299e713038256289ecb2b540dc437cb30";
       };
     };
+    "is-set-2.0.1" = {
+      name = "is-set";
+      packageName = "is-set";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz";
+        sha512 = "eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==";
+      };
+    };
     "is-ssh-1.3.1" = {
       name = "is-ssh";
       packageName = "is-ssh";
@@ -21544,13 +21796,22 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-string-1.0.4" = {
+    "is-stream-2.0.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
+        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+      };
+    };
+    "is-string-1.0.5" = {
       name = "is-string";
       packageName = "is-string";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz";
-        sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
+        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz";
+        sha512 = "buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==";
       };
     };
     "is-supported-regexp-flag-1.0.1" = {
@@ -21571,22 +21832,22 @@ let
         sha512 = "gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==";
       };
     };
-    "is-symbol-1.0.2" = {
+    "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
-        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
-    "is-text-path-2.0.0" = {
+    "is-text-path-1.0.1" = {
       name = "is-text-path";
       packageName = "is-text-path";
-      version = "2.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz";
-        sha512 = "+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==";
+        url = "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz";
+        sha1 = "4e1aa0fb51bfbcb3e92688001397202c1775b66e";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -21679,6 +21940,24 @@ let
         sha1 = "110f9ff74c37f663e1ec7915eb451f2db93ac9df";
       };
     };
+    "is-weakmap-2.0.1" = {
+      name = "is-weakmap";
+      packageName = "is-weakmap";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz";
+        sha512 = "NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==";
+      };
+    };
+    "is-weakset-2.0.1" = {
+      name = "is-weakset";
+      packageName = "is-weakset";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz";
+        sha512 = "pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==";
+      };
+    };
     "is-whitespace-character-1.0.3" = {
       name = "is-whitespace-character";
       packageName = "is-whitespace-character";
@@ -21778,6 +22057,15 @@ let
         sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
       };
     };
+    "isarray-2.0.5" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz";
+        sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==";
+      };
+    };
     "isbinaryfile-3.0.3" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
@@ -21868,13 +22156,13 @@ let
         sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
       };
     };
-    "isomorphic-git-0.47.0" = {
+    "isomorphic-git-0.70.4" = {
       name = "isomorphic-git";
       packageName = "isomorphic-git";
-      version = "0.47.0";
+      version = "0.70.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.47.0.tgz";
-        sha512 = "oea4It03KvuJrEbwYGMrRmlY+Wh7a/J/jBYKezkiUW/s6GrcAePOCnpfLR8TXkHiASZlEHCgckMd7uMAfJ9w/w==";
+        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.70.4.tgz";
+        sha512 = "Nk/iD4iEL35zY1B4l2PgPOJpVgTQzVH9W0oRkKc3vDbMjcfvs7nle4Y8NRghXIG27Z6KQVSTi/om6lTbzpfl+A==";
       };
     };
     "isomorphic-textencoder-1.0.1" = {
@@ -21967,13 +22255,22 @@ let
         sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
       };
     };
-    "jaeger-client-3.16.0" = {
+    "jaeger-client-3.17.1" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.16.0";
+      version = "3.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.16.0.tgz";
-        sha512 = "F4y4rQ7RTYFDu6QGsFXOnrZb2Pk6BvhnecOZQZvM+BmNahgE+5y9mfToMe4SsELuJ7NQM5JF+Oau1u/xwefr9A==";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.17.1.tgz";
+        sha512 = "S3fS3vk7dcWTWUWGqMWD9fGa/diLhPIP9h0S8L+OQdz24+7hR7cdALk+AOZD1VzbvqUIQbj6uUELp31J4Frgcw==";
+      };
+    };
+    "java-properties-1.0.2" = {
+      name = "java-properties";
+      packageName = "java-properties";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz";
+        sha512 = "qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==";
       };
     };
     "javascript-natural-sort-0.7.1" = {
@@ -22039,22 +22336,22 @@ let
         sha1 = "06d4912255093419477d425633606e0e90782967";
       };
     };
-    "joplin-turndown-4.0.17" = {
+    "joplin-turndown-4.0.19" = {
       name = "joplin-turndown";
       packageName = "joplin-turndown";
-      version = "4.0.17";
+      version = "4.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.17.tgz";
-        sha512 = "57mw92ZOKoR77YBLUkauN1xNq1xlxOm2KaPty/jlYrkEyGotUBBvq46a6wXh6d3aM4CccGuwymSge18/9IoB3A==";
+        url = "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.19.tgz";
+        sha512 = "B9XeR7bjsPWhwevnCk+EN8VQmaesDqGP3sjkk+ROMuNoQAj0p0RMkZB3actv6Ej6Q9EnRJm3JokfM3Ua4TVYvA==";
       };
     };
-    "joplin-turndown-plugin-gfm-1.0.9" = {
+    "joplin-turndown-plugin-gfm-1.0.11" = {
       name = "joplin-turndown-plugin-gfm";
       packageName = "joplin-turndown-plugin-gfm";
-      version = "1.0.9";
+      version = "1.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/joplin-turndown-plugin-gfm/-/joplin-turndown-plugin-gfm-1.0.9.tgz";
-        sha512 = "SOa/Uiy3nyoBGtHqFe+TBg10UTIOzzcUUzNhx2MyR4Z0vbKL3enGggGypig1t7G5uHwv5j+NhooRuM619Zk0bw==";
+        url = "https://registry.npmjs.org/joplin-turndown-plugin-gfm/-/joplin-turndown-plugin-gfm-1.0.11.tgz";
+        sha512 = "S2I+VCTqIhpWKKkPHsyJ5rdll9H/JjMXoBVClRX1TnphcmrSxufevdoXWWVgLncdXpSSiuoifCXgFZy3ueVElg==";
       };
     };
     "jpeg-js-0.1.2" = {
@@ -22201,15 +22498,6 @@ let
         sha1 = "102790f265d986fe95a4d0f2a792e7a7bd886eec";
       };
     };
-    "js2xmlparser-1.0.0" = {
-      name = "js2xmlparser";
-      packageName = "js2xmlparser";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-1.0.0.tgz";
-        sha1 = "5a170f2e8d6476ce45405e04823242513782fe30";
-      };
-    };
     "js2xmlparser-4.0.0" = {
       name = "js2xmlparser";
       packageName = "js2xmlparser";
@@ -22255,6 +22543,15 @@ let
         sha512 = "y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==";
       };
     };
+    "jsdom-13.2.0" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "13.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-13.2.0.tgz";
+        sha512 = "cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==";
+      };
+    };
     "jsdom-14.1.0" = {
       name = "jsdom";
       packageName = "jsdom";
@@ -22300,13 +22597,13 @@ let
         sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     };
-    "jshint-2.10.2" = {
+    "jshint-2.10.3" = {
       name = "jshint";
       packageName = "jshint";
-      version = "2.10.2";
+      version = "2.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz";
-        sha512 = "e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==";
+        url = "https://registry.npmjs.org/jshint/-/jshint-2.10.3.tgz";
+        sha512 = "d8AoXcNNYzmm7cdmulQ3dQApbrPYArtVBO6n4xOICe4QsXGNHCAKDcFORzqP52LhK61KX0VhY39yYzCsNq+bxQ==";
       };
     };
     "json-buffer-2.0.11" = {
@@ -22336,15 +22633,6 @@ let
         sha512 = "FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw==";
       };
     };
-    "json-edm-parser-0.1.2" = {
-      name = "json-edm-parser";
-      packageName = "json-edm-parser";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-edm-parser/-/json-edm-parser-0.1.2.tgz";
-        sha1 = "1e60b0fef1bc0af67bc0d146dfdde5486cd615b4";
-      };
-    };
     "json-merge-patch-0.2.3" = {
       name = "json-merge-patch";
       packageName = "json-merge-patch";
@@ -22363,6 +22651,15 @@ let
         sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
       };
     };
+    "json-parse-even-better-errors-2.0.1" = {
+      name = "json-parse-even-better-errors";
+      packageName = "json-parse-even-better-errors";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.0.1.tgz";
+        sha512 = "XFY2Mbnmg+8r7MRsxfArVkZcfjxGlF/NjM3LsPXVeCX/GBF/1FTCv+idHBYC4qLPtK7q8HC8bapLoWqnhP/bXw==";
+      };
+    };
     "json-parse-helpfulerror-1.0.3" = {
       name = "json-parse-helpfulerror";
       packageName = "json-parse-helpfulerror";
@@ -22417,13 +22714,13 @@ let
         sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
       };
     };
-    "json-schema-deref-sync-0.3.4" = {
+    "json-schema-deref-sync-0.6.0" = {
       name = "json-schema-deref-sync";
       packageName = "json-schema-deref-sync";
-      version = "0.3.4";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.3.4.tgz";
-        sha512 = "4Ssj+1UGDJAzPIdTL1QW/rvHwWeuwC28gjbA0EjStLxVsalc+UPciKXxs3rhtr4gaGdIBojW/VmvC8B8bCQwcA==";
+        url = "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.6.0.tgz";
+        sha512 = "0efemmp3LWItb3Nux9gsoDA0xpzWaCDwoUuECEBOZQaTjAGqTrGkrJQwaIHAOD+X0SJnY+1dpsd2yE4EO+ZzRg==";
       };
     };
     "json-schema-faker-0.2.16" = {
@@ -22462,6 +22759,15 @@ let
         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
+    "json-schema-typed-7.0.3" = {
+      name = "json-schema-typed";
+      packageName = "json-schema-typed";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz";
+        sha512 = "7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==";
+      };
+    };
     "json-stable-stringify-0.0.1" = {
       name = "json-stable-stringify";
       packageName = "json-stable-stringify";
@@ -22534,13 +22840,22 @@ let
         sha512 = "8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==";
       };
     };
-    "jsonata-1.6.5" = {
+    "json5-2.1.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz";
+        sha512 = "l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==";
+      };
+    };
+    "jsonata-1.7.0" = {
       name = "jsonata";
       packageName = "jsonata";
-      version = "1.6.5";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonata/-/jsonata-1.6.5.tgz";
-        sha512 = "iRx9U6AkvsjrRdFf9MMbQmGVAL3bXVANR12vbVxjgXouMPU9VJQEcFnLWUCaW8IDmOzdxsaxK4Xe7SGlBYr5Bg==";
+        url = "https://registry.npmjs.org/jsonata/-/jsonata-1.7.0.tgz";
+        sha512 = "W1qxnGXtbaboFFA8DMLL2GZgiWoeFuMo0Yf3J23o03omzIuW9a9hgowgfUChQq8bfMfh/zmQJpwn/gQirn46ew==";
       };
     };
     "jsonc-parser-1.0.3" = {
@@ -22606,15 +22921,6 @@ let
         sha1 = "5737045085f55eb455c68b1ff4ebc01bd50e8830";
       };
     };
-    "jsonminify-0.4.1" = {
-      name = "jsonminify";
-      packageName = "jsonminify";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonminify/-/jsonminify-0.4.1.tgz";
-        sha1 = "805dafbb39395188cee9ab582c81ef959d7e710c";
-      };
-    };
     "jsonparse-0.0.5" = {
       name = "jsonparse";
       packageName = "jsonparse";
@@ -22633,15 +22939,6 @@ let
         sha1 = "ab599f19324d4ae178fa21a930192ab11ab61a4e";
       };
     };
-    "jsonparse-1.2.0" = {
-      name = "jsonparse";
-      packageName = "jsonparse";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz";
-        sha1 = "5c0c5685107160e72fe7489bddea0b44c2bc67bd";
-      };
-    };
     "jsonparse-1.3.1" = {
       name = "jsonparse";
       packageName = "jsonparse";
@@ -22660,15 +22957,6 @@ let
         sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
       };
     };
-    "jsonwebtoken-8.2.1" = {
-      name = "jsonwebtoken";
-      packageName = "jsonwebtoken";
-      version = "8.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.1.tgz";
-        sha512 = "l8rUBr0fqYYwPc8/ZGrue7GiW7vWdZtZqelxo4Sd5lMvuEeCK8/wS54sEo6tJhdZ6hqfutsj6COgC0d1XdbHGw==";
-      };
-    };
     "jsonwebtoken-8.5.1" = {
       name = "jsonwebtoken";
       packageName = "jsonwebtoken";
@@ -22714,15 +23002,6 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "jsrsasign-4.8.2" = {
-      name = "jsrsasign";
-      packageName = "jsrsasign";
-      version = "4.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsrsasign/-/jsrsasign-4.8.2.tgz";
-        sha1 = "bd0a7040d426d7598d6c742ec8f875d0e88644a9";
-      };
-    };
     "jssha-2.3.1" = {
       name = "jssha";
       packageName = "jssha";
@@ -23057,22 +23336,13 @@ let
         sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     };
-    "knockout-3.5.0" = {
+    "knockout-3.5.1" = {
       name = "knockout";
       packageName = "knockout";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.0.tgz";
-        sha512 = "vBUF/IsBDzaejHkNpiquKdc5uPrImXuQ4Mb9lEfNNJ5cyHGI8ThDupR+h3eMFZhfmPE/brfwcIAn/fm0yOvJUg==";
-      };
-    };
-    "kuduscript-1.0.16" = {
-      name = "kuduscript";
-      packageName = "kuduscript";
-      version = "1.0.16";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kuduscript/-/kuduscript-1.0.16.tgz";
-        sha512 = "++ulra2RtdutmJhZZFohhF+kbccz2XdFTf23857x8X1M9Jfm54ZKY4kXPJKgPdMz6eTH1MBXWXh17RvGWxLNrw==";
+        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.1.tgz";
+        sha512 = "wRJ9I4az0QcsH7A4v4l0enUpkS++MBx0BnL/68KaLzJg7x1qmbjSlwEoCNol7KTYZ+pmtI7Eh2J0Nu6/2Z5J/Q==";
       };
     };
     "kuler-1.0.1" = {
@@ -23237,6 +23507,15 @@ let
         sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
       };
     };
+    "lcid-3.1.1" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz";
+        sha512 = "M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==";
+      };
+    };
     "ldap-filter-0.2.2" = {
       name = "ldap-filter";
       packageName = "ldap-filter";
@@ -23246,6 +23525,15 @@ let
         sha1 = "f2b842be0b86da3352798505b31ebcae590d77d0";
       };
     };
+    "ldap-filter-0.3.3" = {
+      name = "ldap-filter";
+      packageName = "ldap-filter";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.3.3.tgz";
+        sha1 = "2b14c68a2a9d4104dbdbc910a1ca85fd189e9797";
+      };
+    };
     "ldapjs-1.0.2" = {
       name = "ldapjs";
       packageName = "ldapjs";
@@ -23255,6 +23543,15 @@ let
         sha1 = "544ff7032b7b83c68f0701328d9297aa694340f9";
       };
     };
+    "ldapjs-2.0.0-pre.2" = {
+      name = "ldapjs";
+      packageName = "ldapjs";
+      version = "2.0.0-pre.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapjs/-/ldapjs-2.0.0-pre.2.tgz";
+        sha512 = "KZnKiFXu5eEU4jKWoz29yUWh6fS8pIBuxFq9njji8LfHu3T4i05j6lsnGyDLayhJDw+rtKpEgmS3/As7CXg7WQ==";
+      };
+    };
     "lead-1.0.0" = {
       name = "lead";
       packageName = "lead";
@@ -23345,31 +23642,31 @@ let
         sha512 = "UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==";
       };
     };
-    "level-iterator-stream-4.0.1" = {
+    "level-iterator-stream-4.0.2" = {
       name = "level-iterator-stream";
       packageName = "level-iterator-stream";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.1.tgz";
-        sha512 = "pSZWqXK6/yHQkZKCHrR59nKpU5iqorKM22C/BOHTb/cwNQ2EOZG+bovmFFGcOgaBoF3KxqJEI27YwewhJQTzsw==";
+        url = "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz";
+        sha512 = "ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==";
       };
     };
-    "level-js-4.0.1" = {
+    "level-js-4.0.2" = {
       name = "level-js";
       packageName = "level-js";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/level-js/-/level-js-4.0.1.tgz";
-        sha512 = "m5JRIyHZn5VnCCFeRegJkn5bQd3MJK5qZX12zg3Oivc8+BUIS2yFS6ANMMeHX2ieGxucNvEn6/ZnyjmZQLLUWw==";
+        url = "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz";
+        sha512 = "PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==";
       };
     };
-    "level-packager-5.0.3" = {
+    "level-packager-5.1.1" = {
       name = "level-packager";
       packageName = "level-packager";
-      version = "5.0.3";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/level-packager/-/level-packager-5.0.3.tgz";
-        sha512 = "Ut62o3nvUNCxYldM5+13+0sYow6ifKj2C26/0ToB7zKgdypF5wRKcVkcztQVwsQi+ZnrmDzhimp7FKP5Ynv6Rg==";
+        url = "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz";
+        sha512 = "HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==";
       };
     };
     "level-post-1.0.7" = {
@@ -23390,13 +23687,22 @@ let
         sha512 = "SBSR60x+dghhwGUxPKS+BvV1xNqnwsEUBKmnFepPaHJ6VkBXyPK9SImGc3K2BkwBfpxlt7GKkBNlCnrdufsejA==";
       };
     };
-    "leveldown-5.2.1" = {
+    "level-supports-1.0.1" = {
+      name = "level-supports";
+      packageName = "level-supports";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz";
+        sha512 = "rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==";
+      };
+    };
+    "leveldown-5.4.1" = {
       name = "leveldown";
       packageName = "leveldown";
-      version = "5.2.1";
+      version = "5.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/leveldown/-/leveldown-5.2.1.tgz";
-        sha512 = "369I1rGibXV7CIoLhsSpp/ExwQucI3xUe0RXQrMu4ji6OG9PFMVAQuzsEXKwAi3BWsjFzcFtodAP8MW5fmfung==";
+        url = "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz";
+        sha512 = "3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==";
       };
     };
     "levelup-0.19.1" = {
@@ -23408,13 +23714,13 @@ let
         sha1 = "f3a6a7205272c4b5f35e412ff004a03a0aedf50b";
       };
     };
-    "levelup-4.2.0" = {
+    "levelup-4.3.2" = {
       name = "levelup";
       packageName = "levelup";
-      version = "4.2.0";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/levelup/-/levelup-4.2.0.tgz";
-        sha512 = "TiHUSYrSUQhG7a5MZIKq6ClDcARSvMvSy5GTM8I62tHV5XiWqf+aInF+CAenQKzVRG2s6fufg62Lv8614Extyg==";
+        url = "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz";
+        sha512 = "cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==";
       };
     };
     "leven-2.1.0" = {
@@ -23453,24 +23759,6 @@ let
         sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
       };
     };
-    "libbase64-1.0.3" = {
-      name = "libbase64";
-      packageName = "libbase64";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libbase64/-/libbase64-1.0.3.tgz";
-        sha512 = "ULQZAATVGTAgVNwP61R+MbbSGNBy1tVzWupB9kbE6p+VccWd+J+ICXgOwQic5Yqagzpu+oPZ8sI7yXdWJnPPkA==";
-      };
-    };
-    "libmime-4.1.1" = {
-      name = "libmime";
-      packageName = "libmime";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libmime/-/libmime-4.1.1.tgz";
-        sha512 = "HkOfBSj+l7pBOOucEgiI6PdbgHa8ljv+1rARzW743HQ51UP8gabMlcA2wAF3Dg1aeuMjHZ+LzAPYxM52IZsyGA==";
-      };
-    };
     "libnested-1.4.1" = {
       name = "libnested";
       packageName = "libnested";
@@ -23489,31 +23777,22 @@ let
         sha512 = "9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==";
       };
     };
-    "libqp-1.1.0" = {
-      name = "libqp";
-      packageName = "libqp";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz";
-        sha1 = "f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8";
-      };
-    };
-    "libsodium-0.7.5" = {
+    "libsodium-0.7.6" = {
       name = "libsodium";
       packageName = "libsodium";
-      version = "0.7.5";
+      version = "0.7.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.5.tgz";
-        sha512 = "0YVU2QJc5sDR5HHkGCaliYImS7pGeXi11fiOfm4DirBd96PJVZIn3LJa06ZOFjLNsWkL3UbNjYhLRUOABPL9vw==";
+        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.6.tgz";
+        sha512 = "hPb/04sEuLcTRdWDtd+xH3RXBihpmbPCsKW/Jtf4PsvdyKh+D6z2D2gvp/5BfoxseP+0FCOg66kE+0oGUE/loQ==";
       };
     };
-    "libsodium-wrappers-0.7.5" = {
+    "libsodium-wrappers-0.7.6" = {
       name = "libsodium-wrappers";
       packageName = "libsodium-wrappers";
-      version = "0.7.5";
+      version = "0.7.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.5.tgz";
-        sha512 = "QE9Q+FxLLGdJRiJTuC2GB3LEHZeHX/VcbMQeNPdAixEKo86JPy6bOWND1XmMLu0tjWUu0xIY0YpJYQApxIZwbQ==";
+        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.6.tgz";
+        sha512 = "OUO2CWW5bHdLr6hkKLHIKI4raEkZrf3QHkhXsJ1yCh6MZ3JDA7jFD3kCATNquuGSG6MjjPHQIQms0y0gBDzjQg==";
       };
     };
     "libspiro-js-0.3.1" = {
@@ -23552,6 +23831,15 @@ let
         sha512 = "DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==";
       };
     };
+    "lighthouse-logger-1.2.0" = {
+      name = "lighthouse-logger";
+      packageName = "lighthouse-logger";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz";
+        sha512 = "wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==";
+      };
+    };
     "limit-spawn-0.0.3" = {
       name = "limit-spawn";
       packageName = "limit-spawn";
@@ -23561,6 +23849,15 @@ let
         sha1 = "cc09c24467a0f0a1ed10a5196dba597cad3f65dc";
       };
     };
+    "lines-and-columns-1.1.6" = {
+      name = "lines-and-columns";
+      packageName = "lines-and-columns";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
+        sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00";
+      };
+    };
     "linewise-0.0.3" = {
       name = "linewise";
       packageName = "linewise";
@@ -23570,22 +23867,13 @@ let
         sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
       };
     };
-    "link-check-4.4.5" = {
+    "link-check-4.4.7" = {
       name = "link-check";
       packageName = "link-check";
-      version = "4.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/link-check/-/link-check-4.4.5.tgz";
-        sha512 = "csF0k7MAQjyDLkrZfsAJNkTav/vvATMYkm9dAstzmu60vzNGlgvWd3SgBTFH9KLWOO1hUuVxgSEPuWv+fdyuaQ==";
-      };
-    };
-    "linkify-it-2.1.0" = {
-      name = "linkify-it";
-      packageName = "linkify-it";
-      version = "2.1.0";
+      version = "4.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz";
-        sha512 = "4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==";
+        url = "https://registry.npmjs.org/link-check/-/link-check-4.4.7.tgz";
+        sha512 = "E5MJf3+4OiHJzqDw9CQpOeJT3yOoKUxLHVaPPzNPXvaYPJ20C5MRzk1lPoojWnf5xwoRZjK+ydzfq2kPTwJr/g==";
       };
     };
     "linkify-it-2.2.0" = {
@@ -23597,13 +23885,40 @@ let
         sha512 = "GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==";
       };
     };
-    "listenercount-1.0.1" = {
-      name = "listenercount";
-      packageName = "listenercount";
-      version = "1.0.1";
+    "listr-0.14.3" = {
+      name = "listr";
+      packageName = "listr";
+      version = "0.14.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz";
-        sha1 = "84c8a72ab59c4725321480c975e6508342e70937";
+        url = "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz";
+        sha512 = "RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==";
+      };
+    };
+    "listr-silent-renderer-1.1.1" = {
+      name = "listr-silent-renderer";
+      packageName = "listr-silent-renderer";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz";
+        sha1 = "924b5a3757153770bf1a8e3fbf74b8bbf3f9242e";
+      };
+    };
+    "listr-update-renderer-0.5.0" = {
+      name = "listr-update-renderer";
+      packageName = "listr-update-renderer";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz";
+        sha512 = "tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==";
+      };
+    };
+    "listr-verbose-renderer-0.5.0" = {
+      name = "listr-verbose-renderer";
+      packageName = "listr-verbose-renderer";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz";
+        sha512 = "04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==";
       };
     };
     "load-ip-set-2.1.0" = {
@@ -24326,15 +24641,6 @@ let
         sha1 = "0b08a1dcf68397c397855c3239783832df7403d1";
       };
     };
-    "lodash.has-4.5.2" = {
-      name = "lodash.has";
-      packageName = "lodash.has";
-      version = "4.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
-        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
-      };
-    };
     "lodash.identity-2.4.1" = {
       name = "lodash.identity";
       packageName = "lodash.identity";
@@ -24344,6 +24650,15 @@ let
         sha1 = "6694cffa65fef931f7c31ce86c74597cf560f4f1";
       };
     };
+    "lodash.identity-3.0.0" = {
+      name = "lodash.identity";
+      packageName = "lodash.identity";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz";
+        sha1 = "ad7bc6a4e647d79c972e1b80feef7af156267876";
+      };
+    };
     "lodash.includes-4.3.0" = {
       name = "lodash.includes";
       packageName = "lodash.includes";
@@ -24542,6 +24857,15 @@ let
         sha1 = "4fb54f816652e5ae10e8f72f717a388c7326538a";
       };
     };
+    "lodash.omit-4.5.0" = {
+      name = "lodash.omit";
+      packageName = "lodash.omit";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz";
+        sha1 = "6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60";
+      };
+    };
     "lodash.once-4.1.1" = {
       name = "lodash.once";
       packageName = "lodash.once";
@@ -24596,6 +24920,15 @@ let
         sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
       };
     };
+    "lodash.pickby-4.6.0" = {
+      name = "lodash.pickby";
+      packageName = "lodash.pickby";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz";
+        sha1 = "7dea21d8c18d7703a27c704c15d3b84a67e33aff";
+      };
+    };
     "lodash.reduce-4.6.0" = {
       name = "lodash.reduce";
       packageName = "lodash.reduce";
@@ -24758,6 +25091,15 @@ let
         sha1 = "a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21";
       };
     };
+    "lodash.xorby-4.7.0" = {
+      name = "lodash.xorby";
+      packageName = "lodash.xorby";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.xorby/-/lodash.xorby-4.7.0.tgz";
+        sha1 = "9c19a6f9f063a6eb53dd03c1b6871799801463d7";
+      };
+    };
     "log-symbols-1.0.2" = {
       name = "log-symbols";
       packageName = "log-symbols";
@@ -24776,6 +25118,15 @@ let
         sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
       };
     };
+    "log-symbols-3.0.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz";
+        sha512 = "dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==";
+      };
+    };
     "log-update-1.0.2" = {
       name = "log-update";
       packageName = "log-update";
@@ -24821,13 +25172,13 @@ let
         sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
-    "loglevel-1.6.4" = {
+    "loglevel-1.6.6" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.6.4";
+      version = "1.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz";
-        sha512 = "p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz";
+        sha512 = "Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==";
       };
     };
     "loglevel-colored-level-prefix-1.0.0" = {
@@ -24893,15 +25244,6 @@ let
         sha1 = "d06597c4d4c31b52ccb1f5d8f8fe7148eafd6965";
       };
     };
-    "longjohn-0.2.12" = {
-      name = "longjohn";
-      packageName = "longjohn";
-      version = "0.2.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/longjohn/-/longjohn-0.2.12.tgz";
-        sha1 = "7ca7446b083655c377e7512213dc754d52a64a7e";
-      };
-    };
     "looper-2.0.0" = {
       name = "looper";
       packageName = "looper";
@@ -24965,13 +25307,13 @@ let
         sha1 = "5b46f80147edee578870f086d04821cf998e551f";
       };
     };
-    "loud-rejection-2.1.0" = {
+    "loud-rejection-2.2.0" = {
       name = "loud-rejection";
       packageName = "loud-rejection";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.1.0.tgz";
-        sha512 = "g/6MQxUXYHeVqZ4PGpPL1fS1fOvlXoi7bay0pizmjAd/3JhyXwxzwrnr74yzdmhuerlslbRJ3x7IOXzFz0cE5w==";
+        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz";
+        sha512 = "S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==";
       };
     };
     "lowdb-1.0.0" = {
@@ -25145,6 +25487,15 @@ let
         sha1 = "f35ca91c493f7b73da0e07495304f17b31f87ee5";
       };
     };
+    "lunr-2.3.3" = {
+      name = "lunr";
+      packageName = "lunr";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.3.tgz";
+        sha512 = "rlAEsgU9Bnavca2w1WJ6+6cdeHMXNyadcersyk3ZpuhgWb5HBNj8l4WwJz9PjksAhYDlpQffCVXPctOn+wCIVA==";
+      };
+    };
     "lynx-0.2.0" = {
       name = "lynx";
       packageName = "lynx";
@@ -25217,6 +25568,15 @@ let
         sha512 = "6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==";
       };
     };
+    "magic-string-0.25.4" = {
+      name = "magic-string";
+      packageName = "magic-string";
+      version = "0.25.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz";
+        sha512 = "oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==";
+      };
+    };
     "magicli-0.0.5" = {
       name = "magicli";
       packageName = "magicli";
@@ -25262,24 +25622,6 @@ let
         sha512 = "VYaJMxhr8B9BrCiNINUsuhaEe40YnG+AQBwcqUKO66lSVaI9I3A1iH/6EmEwRI8OYUg5Gt+4lLE7achg676lrg==";
       };
     };
-    "mailparser-2.7.1" = {
-      name = "mailparser";
-      packageName = "mailparser";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mailparser/-/mailparser-2.7.1.tgz";
-        sha512 = "qAyDPuyd0ygTM3V9yzxVilYyRt0mpjLmp6OSzBPjwMZYX1PVDOoGEyUgDtyCDoEgC5fqslpXpWCI6t7RN3i3fw==";
-      };
-    };
-    "mailsplit-4.4.1" = {
-      name = "mailsplit";
-      packageName = "mailsplit";
-      version = "4.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-4.4.1.tgz";
-        sha512 = "AmWLEHQAg/zbNb1MdrPQS9VOzysHaU9IuoQV9kGU5fgjM5RCbgqVkZzp0+DhPep8sj8iHfbWkl16Nb1PbNlTYg==";
-      };
-    };
     "make-dir-1.3.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -25298,6 +25640,15 @@ let
         sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     };
+    "make-dir-3.0.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz";
+        sha512 = "grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==";
+      };
+    };
     "make-error-1.3.5" = {
       name = "make-error";
       packageName = "make-error";
@@ -25316,13 +25667,22 @@ let
         sha1 = "df0388fcd0b37816dff0a5fb8108939777dcbc9d";
       };
     };
-    "make-fetch-happen-5.0.0" = {
+    "make-fetch-happen-5.0.2" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "5.0.0";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz";
-        sha512 = "nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz";
+        sha512 = "07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==";
+      };
+    };
+    "make-fetch-happen-6.1.0" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-6.1.0.tgz";
+        sha512 = "Q/RHcHofC+BnleSGDiO3SQQX2mCvXz639s+kJ7+loR4RPT487itVJ8RWIyBEfnqpnkaUFaWgNyV6CxT7eyDdEA==";
       };
     };
     "make-iterator-1.0.1" = {
@@ -25478,13 +25838,13 @@ let
         sha512 = "GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==";
       };
     };
-    "markdown-it-anchor-5.2.4" = {
+    "markdown-it-anchor-5.2.5" = {
       name = "markdown-it-anchor";
       packageName = "markdown-it-anchor";
-      version = "5.2.4";
+      version = "5.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz";
-        sha512 = "n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==";
+        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz";
+        sha512 = "xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==";
       };
     };
     "markdown-it-emoji-1.4.0" = {
@@ -25496,13 +25856,13 @@ let
         sha1 = "9bee0e9a990a963ba96df6980c4fddb05dfb4dcc";
       };
     };
-    "markdown-it-github-headings-1.1.1" = {
+    "markdown-it-github-headings-1.1.2" = {
       name = "markdown-it-github-headings";
       packageName = "markdown-it-github-headings";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-github-headings/-/markdown-it-github-headings-1.1.1.tgz";
-        sha512 = "jEthmVitZXhYJ0Fkvh6RfBcxdIKKec/p3LidX9a+Hs5/AnUjtxi1nxDVhu1muyacXoTiA+ChVilASQyTdfWk2Q==";
+        url = "https://registry.npmjs.org/markdown-it-github-headings/-/markdown-it-github-headings-1.1.2.tgz";
+        sha512 = "8haIwpAx87DQHcEtzkfsWv2hxg4jOvow6/nJKAMQ2wYRMZQTIfJm9VzrDkqw72Bb4YXBmI0u3GA/3MdXVL/x5g==";
       };
     };
     "markdown-it-task-checkbox-1.0.6" = {
@@ -25514,13 +25874,13 @@ let
         sha512 = "7pxkHuvqTOu3iwVGmDPeYjQg+AIS9VQxzyLP9JCg9lBjgPAJXGEkChK6A2iFuj3tS0GV3HG2u5AMNhcQqwxpJw==";
       };
     };
-    "markdown-link-extractor-1.2.1" = {
+    "markdown-link-extractor-1.2.2" = {
       name = "markdown-link-extractor";
       packageName = "markdown-link-extractor";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-1.2.1.tgz";
-        sha512 = "eo4hXLZC6/NrVimHqEu0X029ymIreg0VQjlWudGtOg1FiiZYPwU+Sh1CP3CQqP16woyCsDplVfqPD2Oi8JRpdw==";
+        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-1.2.2.tgz";
+        sha512 = "VYDUhlC70hKl0coCY6dXyJ4OCRAX5dTh0/oSTdidhYS7dYIJ9kYAez6KR0vc3HWySMuo564J1rN0NOAPBDI0iA==";
       };
     };
     "markdown-serve-0.3.3" = {
@@ -25550,15 +25910,6 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "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==";
-      };
-    };
     "marked-0.7.0" = {
       name = "marked";
       packageName = "marked";
@@ -25622,6 +25973,15 @@ let
         sha512 = "nlmfSlgHBFx36j/Pl/KQPbIaqE8Zf0TqmSMjsuddHDg6PMSVgmyW9HpkLs0o0M1n2GIZ/S2BZBLIww/xjhiGng==";
       };
     };
+    "matcher-2.1.0" = {
+      name = "matcher";
+      packageName = "matcher";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz";
+        sha512 = "o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==";
+      };
+    };
     "matcher-collection-1.1.2" = {
       name = "matcher-collection";
       packageName = "matcher-collection";
@@ -25640,16 +26000,6 @@ let
         sha512 = "rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==";
       };
     };
-    "mathjax-full-git://github.com/mathjax/MathJax-src.git" = {
-      name = "mathjax-full";
-      packageName = "mathjax-full";
-      version = "3.0.0";
-      src = fetchgit {
-        url = "git://github.com/mathjax/MathJax-src.git";
-        rev = "0d74266e1820220d33cb6b29d4ca3575b352ac0d";
-        sha256 = "a4d1a272ec79367f3e4515d1cbd9bbe3f77687aa17443398288e91a6f23b1241";
-      };
-    };
     "mathjs-5.10.3" = {
       name = "mathjs";
       packageName = "mathjs";
@@ -25677,15 +26027,6 @@ let
         sha512 = "UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==";
       };
     };
-    "md5.js-1.3.4" = {
-      name = "md5.js";
-      packageName = "md5.js";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz";
-        sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
-      };
-    };
     "md5.js-1.3.5" = {
       name = "md5.js";
       packageName = "md5.js";
@@ -25722,22 +26063,13 @@ let
         sha1 = "c04891883c28c83602e1d06b05a11037e359b4c8";
       };
     };
-    "mdn-browser-compat-data-0.0.82" = {
+    "mdn-browser-compat-data-1.0.1" = {
       name = "mdn-browser-compat-data";
       packageName = "mdn-browser-compat-data";
-      version = "0.0.82";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-0.0.82.tgz";
-        sha512 = "RmC87C45AgXLuNlkrGLCK2wh0zRwpFnnro5jsNxmS90xLCxfKmTLPtqM9cocKFD7Ro9pWmtvkIkRiesGakd1Ig==";
-      };
-    };
-    "mdn-data-1.1.4" = {
-      name = "mdn-data";
-      packageName = "mdn-data";
-      version = "1.1.4";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz";
-        sha512 = "FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==";
+        url = "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-1.0.1.tgz";
+        sha512 = "FxRIu4UYu4rRdFs5JFf6del6J+OpbOq2tYfIEK7N/PtEtz6yGVcWcytmh5L5hZxe58kuxUzjgR8+/0TRyRzRqA==";
       };
     };
     "mdn-data-2.0.4" = {
@@ -25848,6 +26180,15 @@ let
         sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
       };
     };
+    "mem-5.1.1" = {
+      name = "mem";
+      packageName = "mem";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz";
+        sha512 = "qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==";
+      };
+    };
     "mem-fs-1.1.3" = {
       name = "mem-fs";
       packageName = "mem-fs";
@@ -25866,13 +26207,13 @@ let
         sha512 = "/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==";
       };
     };
-    "memory-cache-0.1.6" = {
+    "memory-cache-0.2.0" = {
       name = "memory-cache";
       packageName = "memory-cache";
-      version = "0.1.6";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/memory-cache/-/memory-cache-0.1.6.tgz";
-        sha1 = "2ed9933ed7a8c718249be7366f7ca8749acf8a24";
+        url = "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz";
+        sha1 = "7890b01d52c00c8ebc9d533e1f8eb17e3034871a";
       };
     };
     "memory-chunk-store-1.3.0" = {
@@ -25902,6 +26243,15 @@ let
         sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
       };
     };
+    "memory-fs-0.5.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha512 = "jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==";
+      };
+    };
     "memory-pager-1.5.0" = {
       name = "memory-pager";
       packageName = "memory-pager";
@@ -25974,6 +26324,15 @@ let
         sha512 = "CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==";
       };
     };
+    "meow-6.0.0" = {
+      name = "meow";
+      packageName = "meow";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/meow/-/meow-6.0.0.tgz";
+        sha512 = "x4rYsjigPBDAxY+BGuK83YLhUIqui5wYyZoqb6QJCUOs+0fiYq+i/NV4Jt8OgIfObZFxG9iTyvLDu4UTohGTFw==";
+      };
+    };
     "merge-1.2.1" = {
       name = "merge";
       packageName = "merge";
@@ -26010,6 +26369,15 @@ let
         sha1 = "a5de46538dae84d4114cc5ea02b4772a6346701f";
       };
     };
+    "merge-stream-2.0.0" = {
+      name = "merge-stream";
+      packageName = "merge-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
+      };
+    };
     "merge2-1.3.0" = {
       name = "merge2";
       packageName = "merge2";
@@ -26199,15 +26567,6 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-2.4.3" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz";
-        sha512 = "QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==";
-      };
-    };
     "mime-2.4.4" = {
       name = "mime";
       packageName = "mime";
@@ -26244,13 +26603,13 @@ let
         sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
       };
     };
-    "mime-db-1.41.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.41.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.41.0.tgz";
-        sha512 = "B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
     "mime-types-2.0.14" = {
@@ -26280,6 +26639,15 @@ let
         sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
+    "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==";
+      };
+    };
     "mimic-fn-1.2.0" = {
       name = "mimic-fn";
       packageName = "mimic-fn";
@@ -26325,6 +26693,15 @@ let
         sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
       };
     };
+    "min-indent-1.0.0" = {
+      name = "min-indent";
+      packageName = "min-indent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz";
+        sha1 = "cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256";
+      };
+    };
     "minicap-prebuilt-2.3.0" = {
       name = "minicap-prebuilt";
       packageName = "minicap-prebuilt";
@@ -26442,6 +26819,15 @@ let
         sha512 = "FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==";
       };
     };
+    "minimist-options-4.0.2" = {
+      name = "minimist-options";
+      packageName = "minimist-options";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz";
+        sha512 = "seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==";
+      };
+    };
     "minimisted-2.0.0" = {
       name = "minimisted";
       packageName = "minimisted";
@@ -26451,13 +26837,76 @@ let
         sha512 = "oP88Dw3LK/pdrKyMdlbmg3W50969UNr4ctISzJfPl+YPYHTAOrS+dihXnsgRNKSRIzDsrnV3eE2CCVlZbpOKdQ==";
       };
     };
-    "minipass-2.8.1" = {
+    "minipass-2.9.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "2.8.1";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
+      };
+    };
+    "minipass-3.1.1" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz";
+        sha512 = "UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==";
+      };
+    };
+    "minipass-collect-1.0.2" = {
+      name = "minipass-collect";
+      packageName = "minipass-collect";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.8.1.tgz";
-        sha512 = "QCG523ParRcE2+9A6wYh9UI3uy2FFLw4DQaVYQrY5HPfszc5M6VDD+j0QCwHm19LI2imes4RB+NBD8cOJccyCg==";
+        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
+        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
+      };
+    };
+    "minipass-fetch-1.2.1" = {
+      name = "minipass-fetch";
+      packageName = "minipass-fetch";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.2.1.tgz";
+        sha512 = "ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==";
+      };
+    };
+    "minipass-flush-1.0.5" = {
+      name = "minipass-flush";
+      packageName = "minipass-flush";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz";
+        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
+      };
+    };
+    "minipass-json-stream-1.0.1" = {
+      name = "minipass-json-stream";
+      packageName = "minipass-json-stream";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz";
+        sha512 = "ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==";
+      };
+    };
+    "minipass-pipeline-1.2.2" = {
+      name = "minipass-pipeline";
+      packageName = "minipass-pipeline";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz";
+        sha512 = "3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==";
+      };
+    };
+    "minipass-sized-1.0.3" = {
+      name = "minipass-sized";
+      packageName = "minipass-sized";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz";
+        sha512 = "MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==";
       };
     };
     "minitouch-prebuilt-1.2.0" = {
@@ -26469,13 +26918,22 @@ let
         sha512 = "YBTCTK0kPQIry0dJUqnj+OKw7qk1BDk4JnOH55ujaL4vtf9f3fRsHtD+zz899SKwT2t319HrrfBNwMLx6h2Vtg==";
       };
     };
-    "minizlib-1.2.2" = {
+    "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.2.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz";
-        sha512 = "hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
+      };
+    };
+    "minizlib-2.1.0" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz";
+        sha512 = "EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==";
       };
     };
     "mired-0.0.0" = {
@@ -26532,15 +26990,6 @@ let
         sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
       };
     };
-    "mj-context-menu-0.2.0" = {
-      name = "mj-context-menu";
-      packageName = "mj-context-menu";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.2.0.tgz";
-        sha512 = "yJxrWBHCjFZEHsZgfs7m5g9OSCNzsVYadW6f6lX3pgZL67vmodtSW/4zhsYmuDKweXfHs0M1kJge1uQIasWA+g==";
-      };
-    };
     "mkdirp-0.3.0" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -26604,13 +27053,22 @@ let
         sha512 = "xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==";
       };
     };
-    "module-deps-6.2.1" = {
+    "module-alias-2.2.2" = {
+      name = "module-alias";
+      packageName = "module-alias";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz";
+        sha512 = "A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==";
+      };
+    };
+    "module-deps-6.2.2" = {
       name = "module-deps";
       packageName = "module-deps";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz";
-        sha512 = "UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==";
+        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";
+        sha512 = "a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==";
       };
     };
     "mold-source-map-0.4.0" = {
@@ -26631,15 +27089,6 @@ let
         sha512 = "Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==";
       };
     };
-    "moment-2.22.2" = {
-      name = "moment";
-      packageName = "moment";
-      version = "2.22.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz";
-        sha1 = "3c257f9839fc0e93ff53149632239eb90783ff66";
-      };
-    };
     "moment-2.24.0" = {
       name = "moment";
       packageName = "moment";
@@ -26658,13 +27107,13 @@ let
         sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
       };
     };
-    "moment-timezone-0.5.26" = {
+    "moment-timezone-0.5.27" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
-      version = "0.5.26";
+      version = "0.5.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz";
-        sha512 = "sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==";
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.27.tgz";
+        sha512 = "EIKQs7h5sAsjhPCqN6ggx6cEbs94GK050254TIJySD1bzoM5JTYDwAU1IoVOeTOL6Gm27kYJ51/uuvq1kIlrbw==";
       };
     };
     "monotonic-timestamp-0.0.9" = {
@@ -26739,13 +27188,13 @@ let
         sha512 = "ZQQjf0VEiqPucwRvmT3e0pfZfMSE3nc5ngGUiN1+2VMxCtrInrlAjZ2K6jpNmxSZ/roiQne/ovYJYTeOvZDXPw==";
       };
     };
-    "mpath-0.2.1" = {
+    "mpath-0.5.2" = {
       name = "mpath";
       packageName = "mpath";
-      version = "0.2.1";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mpath/-/mpath-0.2.1.tgz";
-        sha1 = "3a4e829359801de96309c27a6b2e102e89f9e96e";
+        url = "https://registry.npmjs.org/mpath/-/mpath-0.5.2.tgz";
+        sha512 = "NOeCoW6AYc3hLi30npe7uzbD9b4FQZKH40YKABUCCvaKKL5agj6YzvHoNx8jQpDMNPgIa5bvSZQbQpWBAVD0Kw==";
       };
     };
     "mqtt-2.18.8" = {
@@ -26766,15 +27215,6 @@ let
         sha512 = "eaF9rO2uFrIYEHomJxziuKTDkbWW5psLBaIGCazQSKqYsTaB3n4SpvJ1PexKaDBiPnMLPIFWBIiTYT3IfEJfww==";
       };
     };
-    "mri-1.1.4" = {
-      name = "mri";
-      packageName = "mri";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz";
-        sha512 = "6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==";
-      };
-    };
     "ms-0.7.0" = {
       name = "ms";
       packageName = "ms";
@@ -26820,42 +27260,6 @@ let
         sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
-    "ms-rest-1.15.7" = {
-      name = "ms-rest";
-      packageName = "ms-rest";
-      version = "1.15.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-1.15.7.tgz";
-        sha1 = "400515e05b1924889cb61a1ec6054290a68e1207";
-      };
-    };
-    "ms-rest-2.5.3" = {
-      name = "ms-rest";
-      packageName = "ms-rest";
-      version = "2.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.5.3.tgz";
-        sha512 = "p0CnzrTzEkS8UTEwgCqT2O5YVK9E8KGBBlJVm3hFtMZvf0dmncKYXWFPyUa4PAsfBL7h4jfu39tOIFTu6exntg==";
-      };
-    };
-    "ms-rest-azure-1.15.7" = {
-      name = "ms-rest-azure";
-      packageName = "ms-rest-azure";
-      version = "1.15.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.15.7.tgz";
-        sha1 = "8bce09f053b1565dbaa8bd022ca40155c35b0fde";
-      };
-    };
-    "ms-rest-azure-2.6.0" = {
-      name = "ms-rest-azure";
-      packageName = "ms-rest-azure";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.6.0.tgz";
-        sha512 = "J6386a9krZ4VtU7CRt+Ypgo9RGf8+d3gjMBkH7zbkM4zzkhbbMOYiPRaZ+bHZcfihkKLlktTgA6rjshTjF329A==";
-      };
-    };
     "msgpack-lite-0.1.26" = {
       name = "msgpack-lite";
       packageName = "msgpack-lite";
@@ -26865,15 +27269,6 @@ let
         sha1 = "dd3c50b26f059f25e7edee3644418358e2a9ad89";
       };
     };
-    "multer-1.4.1" = {
-      name = "multer";
-      packageName = "multer";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz";
-        sha512 = "zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==";
-      };
-    };
     "multer-1.4.2" = {
       name = "multer";
       packageName = "multer";
@@ -26901,13 +27296,13 @@ let
         sha1 = "6462f1b204109ccc644601650110a828443d66e2";
       };
     };
-    "multiblob-1.13.4" = {
+    "multiblob-1.13.6" = {
       name = "multiblob";
       packageName = "multiblob";
-      version = "1.13.4";
+      version = "1.13.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiblob/-/multiblob-1.13.4.tgz";
-        sha512 = "2uv89W7I5brTx6ETpE7kXv0dGC3iA+xrAxNtwjwb3lwBTXIYrJ4jhhVX5UyNaRWHdmfLe0dJeEvJm9uoekkmag==";
+        url = "https://registry.npmjs.org/multiblob/-/multiblob-1.13.6.tgz";
+        sha512 = "1yKhCPwLXitdw3b3OF+SE0+vD06NGcL/7yumKWCrPkJaMdNv2gaO0lCukZaFKYyu05GimwXEynxGWPNBv5qbBA==";
       };
     };
     "multiblob-http-1.0.0" = {
@@ -27018,13 +27413,13 @@ let
         sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
       };
     };
-    "multiserver-3.4.0" = {
+    "multiserver-3.6.0" = {
       name = "multiserver";
       packageName = "multiserver";
-      version = "3.4.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.4.0.tgz";
-        sha512 = "HSGnZBXDM9e8gi3YyhObwiDYP3BFeL+TV22H1dAReigHHMc52IDBsz9N1OR72OKxCd7SMD+gKBpVJbJohhb3og==";
+        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.6.0.tgz";
+        sha512 = "MeANpx7//lJTwYKLYfsucdRvDafbyxaijUm9BhmF+QfLBMGRebNoKRYLhZItbHYAcsI0HBTtpBVHNw+bmRRnFQ==";
       };
     };
     "multiserver-address-1.0.1" = {
@@ -27072,13 +27467,13 @@ let
         sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
       };
     };
-    "mustache-3.0.1" = {
+    "mustache-3.0.2" = {
       name = "mustache";
       packageName = "mustache";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz";
-        sha512 = "jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==";
+        url = "https://registry.npmjs.org/mustache/-/mustache-3.0.2.tgz";
+        sha512 = "64neoEgmozb8e/ecGBOSE+RfnevLSFzCI0UKPcrWmjv953/8fXhYO9+EQFtfbi6hwoFxcTA+Fp5mRiOiI9eTuA==";
       };
     };
     "mutate.js-0.2.0" = {
@@ -27153,13 +27548,13 @@ let
         sha512 = "oprzxd2zhfrJqEuB98qc1dRMMonClBQ57UPDjnbcrah4orEMTq1jq3+AcdFe5ePzdbJXI7zmdhfftIdMnhYFoQ==";
       };
     };
-    "muxrpc-6.4.2" = {
+    "muxrpc-6.4.8" = {
       name = "muxrpc";
       packageName = "muxrpc";
-      version = "6.4.2";
+      version = "6.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.2.tgz";
-        sha512 = "1wRnouHgHO3JYN3xbyzQGTFsd/wo12/zaikmQusP8ma+lmL+ewNvuvuwKSEJasKQTRnbTwbzh/OPdt9N76CA4g==";
+        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.8.tgz";
+        sha512 = "9oLoLbiAWZAhgxQzquApj0eSfiTYPWLq4AV5mvCBjsicJKWOJlxAAxypHdlnmHeUbOxrPRweneHI7l+nzY/+aQ==";
       };
     };
     "muxrpc-usage-2.1.0" = {
@@ -27207,15 +27602,6 @@ let
         sha1 = "37585555a4ff1985309edac7c2a045a466be6c32";
       };
     };
-    "mz-2.5.0" = {
-      name = "mz";
-      packageName = "mz";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mz/-/mz-2.5.0.tgz";
-        sha1 = "2859025df03d46b57bb317174b196477ce64cec1";
-      };
-    };
     "mz-2.7.0" = {
       name = "mz";
       packageName = "mz";
@@ -27288,22 +27674,22 @@ let
         sha512 = "Hv9USGyH8EsPy0o8pPWE7x3YRIfuZDgMBirzjU6XLebhiSK2g53JlfqgolD0c39ne6wXAfaBNcIAvYe22Bav+Q==";
       };
     };
-    "nanoguard-1.2.1" = {
+    "nanoguard-1.2.2" = {
       name = "nanoguard";
       packageName = "nanoguard";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.1.tgz";
-        sha512 = "XowCxURA68arCQEypYKAxyIvBUP2EkqA8mZCXqJ2yzLpFblxSjiP06PUUpVK2no3cgGhsbRlBrsEuYIflxu79w==";
+        url = "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.2.tgz";
+        sha512 = "IMVIZkHP7Ep01foXurcJR59Hj/0yyApNK3JWpVHq2QVdLgo8wGU/ZsodlpL7jJ/m24+lxT0eyavrLCEuYQK2fg==";
       };
     };
-    "nanoid-2.1.1" = {
+    "nanoid-2.1.8" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "2.1.1";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-2.1.1.tgz";
-        sha512 = "0YbJdaL4JFoejIOoawgLcYValFGJ2iyUuVDIWL3g8Es87SSOWFbWdRUMV3VMSiyPs3SQ3QxCIxFX00q5DLkMCw==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-2.1.8.tgz";
+        sha512 = "g1z+n5s26w0TGKh7gjn7HCqurNKMZWzH08elXzh/gM/csQHd/UqDV6uxMghQYg9IvqRPm1QpeMk50YMofHvEjQ==";
       };
     };
     "nanolru-1.0.0" = {
@@ -27454,13 +27840,22 @@ let
         sha1 = "17b09581988979fddafe0201e931ba933c96cbb4";
       };
     };
-    "ncjsm-3.0.0" = {
+    "natural-orderby-2.0.3" = {
+      name = "natural-orderby";
+      packageName = "natural-orderby";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz";
+        sha512 = "p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==";
+      };
+    };
+    "ncjsm-4.0.1" = {
       name = "ncjsm";
       packageName = "ncjsm";
-      version = "3.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-3.0.0.tgz";
-        sha512 = "UEEzv/yccTNNyS7ZLmOUquT/k9ttrJCgGrswRrfuj4riplQquZoxAhCaoxSATj59gdpLaGWqXDXRxrRS2zOarw==";
+        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-4.0.1.tgz";
+        sha512 = "gxh5Sgait8HyclaulfhgetHQGyhFm00ZQqISIfqtwFVnyWJ20rk+55SUamo9n3KhM6Vk63gemKPxIDYiSV/xZw==";
       };
     };
     "nconf-0.10.0" = {
@@ -27769,15 +28164,6 @@ let
         sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     };
-    "nick-0.1.3" = {
-      name = "nick";
-      packageName = "nick";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nick/-/nick-0.1.3.tgz";
-        sha1 = "d8a30b7da789d417e0baa5437f33c487be9b6020";
-      };
-    };
     "nijs-0.0.25" = {
       name = "nijs";
       packageName = "nijs";
@@ -27850,13 +28236,13 @@ let
         sha512 = "iEOqDAOFl6uN5jZGRj39Jdo8qALzf2HPXtpFso8+BMaDylDrUMYMwhFbfYGgxdnMlsRnxYTwv68kaXEpsHIapg==";
       };
     };
-    "node-abi-2.11.0" = {
+    "node-abi-2.13.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "2.11.0";
+      version = "2.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.11.0.tgz";
-        sha512 = "kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.13.0.tgz";
+        sha512 = "9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA==";
       };
     };
     "node-addon-api-1.7.1" = {
@@ -27968,6 +28354,15 @@ let
         sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
       };
     };
+    "node-fetch-2.2.0" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz";
+        sha512 = "OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==";
+      };
+    };
     "node-fetch-2.6.0" = {
       name = "node-fetch";
       packageName = "node-fetch";
@@ -27995,15 +28390,6 @@ let
         sha1 = "fa6f846f42fa93f63a0a30c9fbff7b4e130e0858";
       };
     };
-    "node-forge-0.6.23" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.6.23";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.6.23.tgz";
-        sha1 = "f03cf65ebd5d4d9dd2f7becb57ceaf78ed94a2bf";
-      };
-    };
     "node-forge-0.7.6" = {
       name = "node-forge";
       packageName = "node-forge";
@@ -28022,13 +28408,13 @@ let
         sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
       };
     };
-    "node-gyp-5.0.3" = {
+    "node-gyp-5.0.7" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "5.0.3";
+      version = "5.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.3.tgz";
-        sha512 = "z/JdtkFGUm0QaQUusvloyYuGDub3nUbOo5de1Fz57cM++osBTvQatBUSTlF1k/w8vFHPxxXW6zxGvkxXSpaBkQ==";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.7.tgz";
+        sha512 = "K8aByl8OJD51V0VbUURTKsmdswkQQusIvlvmTyhHlIT1hBvaSxzdxpSle857XuXa7uc02UEZx9OR5aDxSWS5Qw==";
       };
     };
     "node-gyp-build-3.7.0" = {
@@ -28058,6 +28444,15 @@ let
         sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
       };
     };
+    "node-gyp-build-4.2.0" = {
+      name = "node-gyp-build";
+      packageName = "node-gyp-build";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz";
+        sha512 = "4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==";
+      };
+    };
     "node-int64-0.4.0" = {
       name = "node-int64";
       packageName = "node-int64";
@@ -28094,22 +28489,22 @@ let
         sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
       };
     };
-    "node-notifier-5.4.0" = {
+    "node-notifier-5.4.3" = {
       name = "node-notifier";
       packageName = "node-notifier";
-      version = "5.4.0";
+      version = "5.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz";
-        sha512 = "SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==";
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha512 = "M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==";
       };
     };
-    "node-notifier-5.4.3" = {
+    "node-notifier-6.0.0" = {
       name = "node-notifier";
       packageName = "node-notifier";
-      version = "5.4.3";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz";
-        sha512 = "M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==";
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz";
+        sha512 = "SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==";
       };
     };
     "node-persist-2.1.0" = {
@@ -28166,67 +28561,31 @@ let
         sha512 = "OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==";
       };
     };
-    "node-red-node-email-1.6.3" = {
-      name = "node-red-node-email";
-      packageName = "node-red-node-email";
-      version = "1.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-1.6.3.tgz";
-        sha512 = "78O7CASdGAP2wmMJvqsMYdNrCHI54lSE97hWpbNQPG2QC2d15TEUQU+E8KgNzquPtJn0Pjh/cvzt+kQwKjkaUg==";
-      };
-    };
-    "node-red-node-feedparser-0.1.14" = {
-      name = "node-red-node-feedparser";
-      packageName = "node-red-node-feedparser";
-      version = "0.1.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.14.tgz";
-        sha512 = "Bb9M5bFrOqoFxBVxfstBM/g+VPaV4EPQptXQBMrlsCd3P40CXcGL0mDylXU+3cekWNd5hLHfqTHvXJdkowHGDw==";
-      };
-    };
-    "node-red-node-rbe-0.2.5" = {
+    "node-red-node-rbe-0.2.6" = {
       name = "node-red-node-rbe";
       packageName = "node-red-node-rbe";
-      version = "0.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.5.tgz";
-        sha512 = "WPwIOZIdDprgfqOe8bEun47wkFFc+5Uw/1w3O/kZn/kS2IpI1q+wijUDK+Hw8q4d8KgA58B30wh+10UvXzsPDA==";
-      };
-    };
-    "node-red-node-sentiment-0.1.4" = {
-      name = "node-red-node-sentiment";
-      packageName = "node-red-node-sentiment";
-      version = "0.1.4";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-sentiment/-/node-red-node-sentiment-0.1.4.tgz";
-        sha512 = "lZxov4OdGKoqvXcUK7oyVeW5a2qJsBr5+T8cq9kP5N0bnI9AQoywiIiVQ2HcFCHXy70U4ZIAhetGroNfAb68Zg==";
+        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.6.tgz";
+        sha512 = "3shW4Q6sHbqNQZPbfKx7HdcUuytgfJQGXwR4wdNH03q8JwAwPeuA0Z+FLOy/PcZeLDawIrV4IoqwbLsSfGAqmQ==";
       };
     };
-    "node-red-node-tail-0.0.2" = {
+    "node-red-node-tail-0.0.3" = {
       name = "node-red-node-tail";
       packageName = "node-red-node-tail";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-tail/-/node-red-node-tail-0.0.2.tgz";
-        sha512 = "+92kgY+SOW6Oq7GfH3x9HC/9YBAg5UmdZBl426nFg0K4x9oegLqCqW2S0/fBAgyDBQQF8eHmn/GjHeO32R0aRg==";
-      };
-    };
-    "node-red-node-twitter-1.1.5" = {
-      name = "node-red-node-twitter";
-      packageName = "node-red-node-twitter";
-      version = "1.1.5";
+      version = "0.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-1.1.5.tgz";
-        sha512 = "8V4tLL0nM1DOUgEtTOBSTZcLbtZ4Gg4CPFVHiPmLCo2QYTMQ0JdBIYj4pg95LbJbYkV721fqsw1RDsitBfYuCQ==";
+        url = "https://registry.npmjs.org/node-red-node-tail/-/node-red-node-tail-0.0.3.tgz";
+        sha512 = "wEiT7bSeU9oVHPK7S+mHb3cR6cIf9l205wTiHzhnUAuoDJS+IdwQkkpFgKTYmkL4Py2LvqCU90h85YpQul7QFQ==";
       };
     };
-    "node-releases-1.1.32" = {
+    "node-releases-1.1.44" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.32";
+      version = "1.1.44";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.32.tgz";
-        sha512 = "VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.44.tgz";
+        sha512 = "NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==";
       };
     };
     "node-request-by-swagger-1.1.4" = {
@@ -28310,13 +28669,13 @@ let
         sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
       };
     };
-    "node.extend-2.0.0" = {
+    "node.extend-2.0.2" = {
       name = "node.extend";
       packageName = "node.extend";
-      version = "2.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node.extend/-/node.extend-2.0.0.tgz";
-        sha1 = "7525a2875677ea534784a5e10ac78956139614df";
+        url = "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz";
+        sha512 = "pDT4Dchl94/+kkgdwyS2PauDFjZG0Hk0IcHIB+LkW27HLDtdoeMxHTxZh39DYbPP8UflWXWj9JcdDozF+YDOpQ==";
       };
     };
     "nodebmc-0.0.7" = {
@@ -28328,31 +28687,13 @@ let
         sha1 = "fae179165265509302cefbebeabd29bd4035184d";
       };
     };
-    "nodemailer-6.1.1" = {
-      name = "nodemailer";
-      packageName = "nodemailer";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.1.1.tgz";
-        sha512 = "/x5MRIh56VyuuhLfcz+DL2SlBARpZpgQIf2A4Ao4hMb69MHSgDIMPwYmFwesGT1lkRDZ0eBSoym5+JoIZ3N+cQ==";
-      };
-    };
-    "nodemailer-6.3.0" = {
-      name = "nodemailer";
-      packageName = "nodemailer";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.3.0.tgz";
-        sha512 = "TEHBNBPHv7Ie/0o3HXnb7xrPSSQmH1dXwQKRaMKDBGt/ZN54lvDVujP6hKkO/vjkIYL9rK8kHSG11+G42Nhxuw==";
-      };
-    };
-    "nodemon-1.19.2" = {
+    "nodemon-1.19.4" = {
       name = "nodemon";
       packageName = "nodemon";
-      version = "1.19.2";
+      version = "1.19.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.2.tgz";
-        sha512 = "hRLYaw5Ihyw9zK7NF+9EUzVyS6Cvgc14yh8CAYr38tPxJa6UrOxwAQ351GwrgoanHCF0FalQFn6w5eoX/LGdJw==";
+        url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz";
+        sha512 = "VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==";
       };
     };
     "nomnom-1.8.1" = {
@@ -28499,13 +28840,13 @@ let
         sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==";
       };
     };
-    "normalize-url-4.4.1" = {
+    "normalize-url-4.5.0" = {
       name = "normalize-url";
       packageName = "normalize-url";
-      version = "4.4.1";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.4.1.tgz";
-        sha512 = "rjH3yRt0Ssx19mUwS0hrDUOdG9VI+oRLpLHJ7tXRdjcuQ7v7wo6qPvOZppHRrqfslTKr0L2yBhjj4UXd7c3cQg==";
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
+        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
       };
     };
     "now-and-later-2.0.1" = {
@@ -28526,22 +28867,22 @@ let
         sha1 = "df7c3ed5a277c3f9d4b5d819b05311d10a200ae6";
       };
     };
-    "npm-6.9.2" = {
+    "npm-6.12.1" = {
       name = "npm";
       packageName = "npm";
-      version = "6.9.2";
+      version = "6.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm/-/npm-6.9.2.tgz";
-        sha512 = "b0sEGRYrVdcV/DedLrqV4VMpdMHJbvpt9bopivh4K9RisHFMbj+G6RNbB6lRdr9rpYIoqHG9YP9CYmxdI9k81g==";
+        url = "https://registry.npmjs.org/npm/-/npm-6.12.1.tgz";
+        sha512 = "+pMvUpgSXVBythrv//64j4i6DaLLJ1O0y8kwjNgjAE7atBNGzX4rcOEWvmsuiei6J+mA38O0nUZ/P35GuCD/jg==";
       };
     };
-    "npm-bundled-1.0.6" = {
+    "npm-bundled-1.1.1" = {
       name = "npm-bundled";
       packageName = "npm-bundled";
-      version = "1.0.6";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz";
-        sha512 = "8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==";
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
+        sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
       };
     };
     "npm-conf-1.1.3" = {
@@ -28571,6 +28912,15 @@ let
         sha512 = "tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A==";
       };
     };
+    "npm-normalize-package-bin-1.0.1" = {
+      name = "npm-normalize-package-bin";
+      packageName = "npm-normalize-package-bin";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
+        sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
+      };
+    };
     "npm-package-arg-6.1.0" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
@@ -28589,13 +28939,22 @@ let
         sha512 = "qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==";
       };
     };
-    "npm-packlist-1.4.4" = {
+    "npm-package-arg-7.0.0" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz";
+        sha512 = "xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==";
+      };
+    };
+    "npm-packlist-1.4.7" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "1.4.4";
+      version = "1.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.4.tgz";
-        sha512 = "zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz";
+        sha512 = "vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==";
       };
     };
     "npm-path-2.0.4" = {
@@ -28634,6 +28993,15 @@ let
         sha512 = "wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==";
       };
     };
+    "npm-pick-manifest-4.0.0" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-4.0.0.tgz";
+        sha512 = "SsYReLe/16UgSL6GKX6GO4o3RVBthVy1uuHq6kZ9mkPeQXpOHbrLZoV13i8fr3LQtET+pLPSfD13e4RIYfkX5Q==";
+      };
+    };
     "npm-prefix-1.2.0" = {
       name = "npm-prefix";
       packageName = "npm-prefix";
@@ -28661,13 +29029,22 @@ let
         sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
       };
     };
-    "npm-registry-fetch-4.0.1" = {
+    "npm-registry-fetch-4.0.2" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.1.tgz";
-        sha512 = "1ZQ+yjnxc698R5h9Yje9CASapzAZr7aYDkJDdERg9xg2hOEY0vRJwskOaJAXq8N/eLavzvW4g564YAfq6zMn/A==";
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz";
+        sha512 = "Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A==";
+      };
+    };
+    "npm-registry-fetch-5.0.1" = {
+      name = "npm-registry-fetch";
+      packageName = "npm-registry-fetch";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-5.0.1.tgz";
+        sha512 = "GK7SUx188KSkPvbceOGO59L3FGHLBYoP0YEhUAKYjAypL15v5xmoempZ9rIJS2R/1eOS0KS1Y9AQe79YfgNxaw==";
       };
     };
     "npm-run-4.1.2" = {
@@ -28679,22 +29056,31 @@ let
         sha1 = "1030e1ec56908c89fcc3fa366d03a2c2ba98eb99";
       };
     };
-    "npm-run-path-1.0.0" = {
+    "npm-run-path-2.0.2" = {
       name = "npm-run-path";
       packageName = "npm-run-path";
-      version = "1.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz";
-        sha1 = "f5c32bf595fe81ae927daec52e82f8b000ac3c8f";
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
       };
     };
-    "npm-run-path-2.0.2" = {
+    "npm-run-path-3.1.0" = {
       name = "npm-run-path";
       packageName = "npm-run-path";
-      version = "2.0.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
-        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz";
+        sha512 = "Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==";
+      };
+    };
+    "npm-run-path-4.0.1" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     };
     "npm-which-3.0.1" = {
@@ -28769,6 +29155,15 @@ let
         sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
       };
     };
+    "null-loader-0.1.1" = {
+      name = "null-loader";
+      packageName = "null-loader";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz";
+        sha1 = "17be9abfcd3ff0e1512f6fc4afcb1f5039378fae";
+      };
+    };
     "num-sort-1.0.0" = {
       name = "num-sort";
       packageName = "num-sort";
@@ -28823,13 +29218,13 @@ let
         sha512 = "3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==";
       };
     };
-    "nwsapi-2.1.4" = {
+    "nwsapi-2.2.0" = {
       name = "nwsapi";
       packageName = "nwsapi";
-      version = "2.1.4";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
-        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     };
     "oauth-0.9.15" = {
@@ -28950,22 +29345,22 @@ let
         sha512 = "wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==";
       };
     };
-    "object-inspect-1.6.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
-        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
-    "object-is-1.0.1" = {
+    "object-is-1.0.2" = {
       name = "object-is";
       packageName = "object-is";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz";
-        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+        url = "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz";
+        sha512 = "Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==";
       };
     };
     "object-keys-0.4.0" = {
@@ -29031,13 +29426,13 @@ let
         sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
       };
     };
-    "object.getownpropertydescriptors-2.0.3" = {
+    "object.getownpropertydescriptors-2.1.0" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
-        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
+        sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==";
       };
     };
     "object.map-1.0.1" = {
@@ -29076,13 +29471,13 @@ let
         sha1 = "6fe348f2ac7fa0f95ca621226599096825bb03ad";
       };
     };
-    "object.values-1.1.0" = {
+    "object.values-1.1.1" = {
       name = "object.values";
       packageName = "object.values";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz";
-        sha512 = "8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==";
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz";
+        sha512 = "WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==";
       };
     };
     "objectorarray-1.0.3" = {
@@ -29121,15 +29516,6 @@ let
         sha1 = "cb236106341536f0dac4815e06708221cad7fb5e";
       };
     };
-    "octicons-3.5.0" = {
-      name = "octicons";
-      packageName = "octicons";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/octicons/-/octicons-3.5.0.tgz";
-        sha1 = "f7ff5935674d8b114f6d80c454bfaa01797a4e30";
-      };
-    };
     "octokit-pagination-methods-1.1.0" = {
       name = "octokit-pagination-methods";
       packageName = "octokit-pagination-methods";
@@ -29139,15 +29525,6 @@ let
         sha512 = "fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==";
       };
     };
-    "omelette-0.3.2" = {
-      name = "omelette";
-      packageName = "omelette";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/omelette/-/omelette-0.3.2.tgz";
-        sha1 = "68c1b3c57ced778b4e67d8637d2559b2c1b3ec26";
-      };
-    };
     "omggif-1.0.10" = {
       name = "omggif";
       packageName = "omggif";
@@ -29346,6 +29723,15 @@ let
         sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
       };
     };
+    "open-7.0.0" = {
+      name = "open";
+      packageName = "open";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-7.0.0.tgz";
+        sha512 = "K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==";
+      };
+    };
     "opencollective-postinstall-2.0.2" = {
       name = "opencollective-postinstall";
       packageName = "opencollective-postinstall";
@@ -29355,13 +29741,13 @@ let
         sha512 = "pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==";
       };
     };
-    "opener-1.4.3" = {
+    "opener-1.5.1" = {
       name = "opener";
       packageName = "opener";
-      version = "1.4.3";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz";
-        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
+        url = "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz";
+        sha512 = "goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==";
       };
     };
     "openid-2.0.6" = {
@@ -29373,15 +29759,6 @@ let
         sha1 = "707375e59ab9f73025899727679b20328171c9aa";
       };
     };
-    "openssl-wrapper-0.3.4" = {
-      name = "openssl-wrapper";
-      packageName = "openssl-wrapper";
-      version = "0.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/openssl-wrapper/-/openssl-wrapper-0.3.4.tgz";
-        sha1 = "c01ec98e4dcd2b5dfe0b693f31827200e3b81b07";
-      };
-    };
     "opentracing-0.13.0" = {
       name = "opentracing";
       packageName = "opentracing";
@@ -29472,13 +29849,13 @@ let
         sha1 = "9715a8b5f5e7586cff06c8249e039cd7364d3f54";
       };
     };
-    "optionator-0.8.2" = {
+    "optionator-0.8.3" = {
       name = "optionator";
       packageName = "optionator";
-      version = "0.8.2";
+      version = "0.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
-        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
       };
     };
     "options-0.0.6" = {
@@ -29544,6 +29921,15 @@ let
         sha512 = "eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==";
       };
     };
+    "ora-4.0.3" = {
+      name = "ora";
+      packageName = "ora";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz";
+        sha512 = "fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==";
+      };
+    };
     "orchestrator-0.3.8" = {
       name = "orchestrator";
       packageName = "orchestrator";
@@ -29616,6 +30002,15 @@ let
         sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
       };
     };
+    "os-locale-4.0.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-4.0.0.tgz";
+        sha512 = "HsSR1+2l6as4Wp2SGZxqLnuFHxVvh1Ir9pvZxyujsC13egZVe7P0YeBLN0ijQzM/twrO5To3ia3jzBXAvpMTEA==";
+      };
+    };
     "os-name-3.1.0" = {
       name = "os-name";
       packageName = "os-name";
@@ -29670,13 +30065,22 @@ let
         sha512 = "0RFgy9TDsgTF/1UJ8bSQ4heTYRatDz3HOXXh8d3WyXReqeOU+edgkbG4ERMFPdzFnA+SgqKTnPRg+2pduZsmSQ==";
       };
     };
-    "p-any-1.1.0" = {
+    "p-all-2.1.0" = {
+      name = "p-all";
+      packageName = "p-all";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz";
+        sha512 = "HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==";
+      };
+    };
+    "p-any-2.1.0" = {
       name = "p-any";
       packageName = "p-any";
-      version = "1.1.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
-        sha512 = "Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==";
+        url = "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz";
+        sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
       };
     };
     "p-cancelable-0.3.0" = {
@@ -29706,6 +30110,15 @@ let
         sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     };
+    "p-cancelable-2.0.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
+        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
+      };
+    };
     "p-debounce-1.0.0" = {
       name = "p-debounce";
       packageName = "p-debounce";
@@ -29733,6 +30146,15 @@ let
         sha512 = "NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==";
       };
     };
+    "p-event-4.1.0" = {
+      name = "p-event";
+      packageName = "p-event";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-event/-/p-event-4.1.0.tgz";
+        sha512 = "4vAd06GCsgflX4wHN1JqrMzBh/8QZ4j+rzp0cd2scXRwuBEv+QR3wrVA5aLhWDLw4y2WgDKvzWF3CCLmVM1UgA==";
+      };
+    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -29742,6 +30164,15 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
+    "p-finally-2.0.1" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz";
+        sha512 = "vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==";
+      };
+    };
     "p-is-promise-1.1.0" = {
       name = "p-is-promise";
       packageName = "p-is-promise";
@@ -29814,6 +30245,15 @@ let
         sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
       };
     };
+    "p-map-3.0.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
+        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
+      };
+    };
     "p-map-series-1.0.0" = {
       name = "p-map-series";
       packageName = "p-map-series";
@@ -29841,13 +30281,13 @@ let
         sha512 = "3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==";
       };
     };
-    "p-queue-6.1.1" = {
+    "p-queue-6.2.1" = {
       name = "p-queue";
       packageName = "p-queue";
-      version = "6.1.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.1.1.tgz";
-        sha512 = "R9gq36Th88xZ+rWAptN5IXLwqkwA1gagCQhT6ZXQ6RxEfmjb9ZW+UBzRVqv9sm5TQmbbI/TsKgGLbOaA61xR5w==";
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz";
+        sha512 = "wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==";
       };
     };
     "p-reduce-1.0.0" = {
@@ -29859,13 +30299,13 @@ let
         sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
       };
     };
-    "p-some-2.0.1" = {
+    "p-some-4.1.0" = {
       name = "p-some";
       packageName = "p-some";
-      version = "2.0.1";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz";
-        sha1 = "65d87c8b154edbcf5221d167778b6d2e150f6f06";
+        url = "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz";
+        sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
       };
     };
     "p-timeout-1.2.1" = {
@@ -29922,13 +30362,13 @@ let
         sha1 = "7ed94b3ceb3332782353af6aae11aa9fc235bb00";
       };
     };
-    "pac-proxy-agent-3.0.0" = {
+    "pac-proxy-agent-3.0.1" = {
       name = "pac-proxy-agent";
       packageName = "pac-proxy-agent";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz";
-        sha512 = "AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==";
+        url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz";
+        sha512 = "44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==";
       };
     };
     "pac-resolver-3.0.0" = {
@@ -29994,22 +30434,22 @@ let
         sha1 = "79b302fc144cdfbb4ab6feba7040e6a5d99c79c7";
       };
     };
-    "pacote-9.5.5" = {
+    "pacote-10.2.1" = {
       name = "pacote";
       packageName = "pacote";
-      version = "9.5.5";
+      version = "10.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.5.tgz";
-        sha512 = "jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-10.2.1.tgz";
+        sha512 = "sPHVOF7uKY8yDivKYimb5l3D8BvNNjR+9FmzkThOTtftkddGY/C6uENVkgc3HQtOpCX8R2qztkSAOI369bgLEA==";
       };
     };
-    "pacote-9.5.8" = {
+    "pacote-9.5.5" = {
       name = "pacote";
       packageName = "pacote";
-      version = "9.5.8";
+      version = "9.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz";
-        sha512 = "0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.5.tgz";
+        sha512 = "jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA==";
       };
     };
     "pad-0.0.5" = {
@@ -30048,6 +30488,15 @@ let
         sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
       };
     };
+    "papaparse-4.6.0" = {
+      name = "papaparse";
+      packageName = "papaparse";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/papaparse/-/papaparse-4.6.0.tgz";
+        sha512 = "ylm8pmgyz9rkS3Ng/ru5tHUF3JxWwKYP0aZZWZ8eCGdSxoqgYiDUXLNQei73mUJOjHw8QNu5ZNCsLoDpkMA6sg==";
+      };
+    };
     "parallel-transform-1.2.0" = {
       name = "parallel-transform";
       packageName = "parallel-transform";
@@ -30102,6 +30551,15 @@ let
         sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==";
       };
     };
+    "parse-cache-control-1.0.1" = {
+      name = "parse-cache-control";
+      packageName = "parse-cache-control";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz";
+        sha1 = "8eeab3e54fa56920fe16ba38f77fa21aacc2d74e";
+      };
+    };
     "parse-english-4.1.2" = {
       name = "parse-english";
       packageName = "parse-english";
@@ -30174,13 +30632,13 @@ let
         sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
       };
     };
-    "parse-headers-2.0.2" = {
+    "parse-headers-2.0.3" = {
       name = "parse-headers";
       packageName = "parse-headers";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz";
-        sha512 = "/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==";
+        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz";
+        sha512 = "QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==";
       };
     };
     "parse-help-1.0.0" = {
@@ -30210,6 +30668,15 @@ let
         sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
       };
     };
+    "parse-json-5.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz";
+        sha512 = "OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==";
+      };
+    };
     "parse-latin-4.2.0" = {
       name = "parse-latin";
       packageName = "parse-latin";
@@ -30444,6 +30911,15 @@ let
         sha1 = "c5095691347bd5ad3b5e180238c3914d16f05811";
       };
     };
+    "passport-0.4.1" = {
+      name = "passport";
+      packageName = "passport";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz";
+        sha512 = "IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==";
+      };
+    };
     "passport-http-bearer-1.0.1" = {
       name = "passport-http-bearer";
       packageName = "passport-http-bearer";
@@ -30498,13 +30974,22 @@ let
         sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
       };
     };
-    "passwd-user-2.1.0" = {
+    "passwd-user-3.0.0" = {
       name = "passwd-user";
       packageName = "passwd-user";
-      version = "2.1.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passwd-user/-/passwd-user-2.1.0.tgz";
-        sha1 = "fad9db6ae252f8b088e0c5decd20a7da0c5d9f1e";
+        url = "https://registry.npmjs.org/passwd-user/-/passwd-user-3.0.0.tgz";
+        sha512 = "Iu90rROks+uDK00ppSewoZyqeCwjGR6W8PcY0Phl8YFWju/lRmIogQb98+vSb5RUeYkONL3IC4ZLBFg4FiE0Hg==";
+      };
+    };
+    "password-prompt-1.1.2" = {
+      name = "password-prompt";
+      packageName = "password-prompt";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz";
+        sha512 = "bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==";
       };
     };
     "patel-0.33.1" = {
@@ -30597,15 +31082,6 @@ let
         sha1 = "365417dede44430d1c11af61027facf074bdfc53";
       };
     };
-    "path-key-1.0.0" = {
-      name = "path-key";
-      packageName = "path-key";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz";
-        sha1 = "5d53d578019646c0d68800db4e146e6bdc2ac7af";
-      };
-    };
     "path-key-2.0.1" = {
       name = "path-key";
       packageName = "path-key";
@@ -30615,13 +31091,13 @@ let
         sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
       };
     };
-    "path-key-3.1.0" = {
+    "path-key-3.1.1" = {
       name = "path-key";
       packageName = "path-key";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz";
-        sha512 = "8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==";
+        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
       };
     };
     "path-loader-1.0.10" = {
@@ -30696,13 +31172,13 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "path-to-regexp-1.7.0" = {
+    "path-to-regexp-1.8.0" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
-        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz";
+        sha512 = "n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==";
       };
     };
     "path-to-regexp-2.2.1" = {
@@ -30831,15 +31307,6 @@ let
         sha1 = "cf8bafae6eddff4b5a7efb185269eaaf4610ddbd";
       };
     };
-    "pem-1.14.2" = {
-      name = "pem";
-      packageName = "pem";
-      version = "1.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pem/-/pem-1.14.2.tgz";
-        sha512 = "TOnPtq3ZFnCniOZ+rka4pk8UIze9xG1qI+wNE7EmkiR/cg+53uVvk5QbkWZ7M6RsuOxzz62FW1hlAobJr/lTOA==";
-      };
-    };
     "pend-1.2.0" = {
       name = "pend";
       packageName = "pend";
@@ -30885,13 +31352,13 @@ let
         sha1 = "18de2f97e4bf7a9551ad7511942b5496f7aba660";
       };
     };
-    "picomatch-2.0.7" = {
+    "picomatch-2.1.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.0.7";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz";
-        sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz";
+        sha512 = "OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==";
       };
     };
     "picture-tuber-1.0.2" = {
@@ -30984,13 +31451,13 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pino-5.12.6" = {
+    "pino-5.14.0" = {
       name = "pino";
       packageName = "pino";
-      version = "5.12.6";
+      version = "5.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-5.12.6.tgz";
-        sha512 = "LM5ug2b27uymIIkaBw54ncF+9DSf8S4z1uzw+Y5I94dRu3Z+lFuB13j0kg1InAeyxy+CsLGnWHKy9+zgTreFOg==";
+        url = "https://registry.npmjs.org/pino/-/pino-5.14.0.tgz";
+        sha512 = "Vj1f2wAojTGesogT0hsA/ua8ALltCOBCcA1nkEoDfnTsVWpgBu5UVSY7OdjiGmrMOKHBm24nd3nKXzyPUYJ3ig==";
       };
     };
     "pino-std-serializers-2.4.2" = {
@@ -31056,6 +31523,15 @@ let
         sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
       };
     };
+    "pkg-up-3.1.0" = {
+      name = "pkg-up";
+      packageName = "pkg-up";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz";
+        sha512 = "nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==";
+      };
+    };
     "pkginfo-0.2.3" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -31227,31 +31703,13 @@ let
         sha1 = "11d1e12b9cb64d63e30c143a330f4c1f567da85f";
       };
     };
-    "po2json-0.4.5" = {
-      name = "po2json";
-      packageName = "po2json";
-      version = "0.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz";
-        sha1 = "47bb2952da32d58a1be2f256a598eebc0b745118";
-      };
-    };
-    "poplib-0.1.7" = {
-      name = "poplib";
-      packageName = "poplib";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/poplib/-/poplib-0.1.7.tgz";
-        sha1 = "2f4b58b5592972350cd97f482aba68f8e05574bc";
-      };
-    };
-    "portfinder-1.0.24" = {
+    "portfinder-1.0.25" = {
       name = "portfinder";
       packageName = "portfinder";
-      version = "1.0.24";
+      version = "1.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz";
-        sha512 = "ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==";
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz";
+        sha512 = "6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==";
       };
     };
     "posix-character-classes-0.1.1" = {
@@ -31291,22 +31749,22 @@ let
         sha512 = "soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==";
       };
     };
-    "postcss-7.0.16" = {
+    "postcss-7.0.24" = {
       name = "postcss";
       packageName = "postcss";
-      version = "7.0.16";
+      version = "7.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.16.tgz";
-        sha512 = "MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.24.tgz";
+        sha512 = "Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA==";
       };
     };
-    "postcss-7.0.18" = {
+    "postcss-7.0.25" = {
       name = "postcss";
       packageName = "postcss";
-      version = "7.0.18";
+      version = "7.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz";
-        sha512 = "/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz";
+        sha512 = "NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==";
       };
     };
     "postcss-calc-7.0.1" = {
@@ -31633,13 +32091,22 @@ let
         sha512 = "C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==";
       };
     };
-    "posthtml-parser-0.4.1" = {
+    "posthtml-0.12.0" = {
+      name = "posthtml";
+      packageName = "posthtml";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posthtml/-/posthtml-0.12.0.tgz";
+        sha512 = "aNUEP/SfKUXAt+ghG51LC5MmafChBZeslVe/SSdfKIgLGUVRE68mrMF4V8XbH07ZifM91tCSuxY3eHIFLlecQw==";
+      };
+    };
+    "posthtml-parser-0.4.2" = {
       name = "posthtml-parser";
       packageName = "posthtml-parser";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.1.tgz";
-        sha512 = "h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==";
+        url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz";
+        sha512 = "BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==";
       };
     };
     "posthtml-render-1.1.5" = {
@@ -31651,13 +32118,13 @@ let
         sha512 = "yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==";
       };
     };
-    "prebuild-install-5.3.2" = {
+    "prebuild-install-5.3.3" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "5.3.2";
+      version = "5.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.2.tgz";
-        sha512 = "INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz";
+        sha512 = "GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==";
       };
     };
     "precond-0.2.3" = {
@@ -31714,13 +32181,13 @@ let
         sha512 = "4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA==";
       };
     };
-    "prettier-1.18.2" = {
+    "prettier-1.19.1" = {
       name = "prettier";
       packageName = "prettier";
-      version = "1.18.2";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
-        sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+        sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
       };
     };
     "prettier-bytes-1.0.4" = {
@@ -31867,22 +32334,22 @@ let
         sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
       };
     };
-    "private-box-0.3.0" = {
+    "private-box-0.3.1" = {
       name = "private-box";
       packageName = "private-box";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/private-box/-/private-box-0.3.0.tgz";
-        sha512 = "zsK6DDEC+cnNiunYamcVbx4ZCLbKnzTOZa09K4Pj3/tH3nQFPUO9K2QoYy4kfxLqmoyw6RPDtACN9OYviMQZ2Q==";
+        url = "https://registry.npmjs.org/private-box/-/private-box-0.3.1.tgz";
+        sha512 = "abAuk3ZDyQvPLY6MygtwaDTUBIZ0C5wMMuX1jXa0svazV+keTwn7cPobRv4WYA9ctsDUztm/9CYu4y2TPL08xw==";
       };
     };
-    "probe-image-size-4.0.0" = {
+    "probe-image-size-5.0.0" = {
       name = "probe-image-size";
       packageName = "probe-image-size";
-      version = "4.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.0.0.tgz";
-        sha512 = "nm7RvWUxps+2+jZKNLkd04mNapXNariS6G5WIEVzvAqjx7EUuKcY1Dp3e6oUK7GLwzJ+3gbSbPLFAASHFQrPcQ==";
+        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-5.0.0.tgz";
+        sha512 = "V6uBYw5eBc5UVIE7MUZD6Nxg0RYuGDWLDenEn0B1WC6PcTvn1xdQ6HLDDuznefsiExC6rNrCz7mFRBo0f3Xekg==";
       };
     };
     "process-0.10.1" = {
@@ -31984,6 +32451,15 @@ let
         sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
       };
     };
+    "promise-8.0.3" = {
+      name = "promise";
+      packageName = "promise";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-8.0.3.tgz";
+        sha512 = "HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw==";
+      };
+    };
     "promise-inflight-1.0.1" = {
       name = "promise-inflight";
       packageName = "promise-inflight";
@@ -32065,13 +32541,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompts-2.2.1" = {
+    "prompts-2.3.0" = {
       name = "prompts";
       packageName = "prompts";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
-        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz";
+        sha512 = "NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==";
       };
     };
     "promzard-0.3.0" = {
@@ -32119,13 +32595,13 @@ let
         sha1 = "0ee97a7fc020b1a2a55b8659eda4aa8d869094bd";
       };
     };
-    "property-information-5.2.2" = {
+    "property-information-5.3.0" = {
       name = "property-information";
       packageName = "property-information";
-      version = "5.2.2";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/property-information/-/property-information-5.2.2.tgz";
-        sha512 = "N2moasZmjn2mjVGIWpaqz5qnz6QyeQSGgGvMtl81gA9cPTWa6wpesRSe/quNnOjUHpvSH1oZx0pdz0EEckLFnA==";
+        url = "https://registry.npmjs.org/property-information/-/property-information-5.3.0.tgz";
+        sha512 = "IslotQn1hBCZDY7SaJ3zmCjVea219VTwmOk6Pu3z9haU9m4+T8GwaDubur+6NMHEU+Fjs/6/p66z6QULPkcL1w==";
       };
     };
     "proto-list-1.2.4" = {
@@ -32218,13 +32694,13 @@ let
         sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
-    "proxy-agent-3.1.0" = {
+    "proxy-agent-3.1.1" = {
       name = "proxy-agent";
       packageName = "proxy-agent";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.0.tgz";
-        sha512 = "IkbZL4ClW3wwBL/ABFD2zJ8iP84CY0uKMvBPk/OceQe/cEjrxzN1pMHsLwhbzUoRhG9QbSxYC+Z7LBkTiBNvrA==";
+        url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz";
+        sha512 = "WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==";
       };
     };
     "proxy-from-env-1.0.0" = {
@@ -32299,13 +32775,13 @@ let
         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "pstree.remy-1.1.7" = {
@@ -33010,6 +33486,15 @@ let
         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
+    "purgecss-1.4.2" = {
+      name = "purgecss";
+      packageName = "purgecss";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz";
+        sha512 = "hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw==";
+      };
+    };
     "push-stream-10.1.2" = {
       name = "push-stream";
       packageName = "push-stream";
@@ -33136,15 +33621,6 @@ let
         sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
       };
     };
-    "qs-6.2.3" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz";
-        sha1 = "1cfcb25c10a9b2b483053ff39f5dfc9233908cfe";
-      };
-    };
     "qs-6.3.2" = {
       name = "qs";
       packageName = "qs";
@@ -33181,13 +33657,13 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "qs-6.9.0" = {
+    "qs-6.9.1" = {
       name = "qs";
       packageName = "qs";
-      version = "6.9.0";
+      version = "6.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz";
-        sha512 = "27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";
+        sha512 = "Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==";
       };
     };
     "query-string-1.0.1" = {
@@ -33262,13 +33738,13 @@ let
         sha512 = "F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ==";
       };
     };
-    "quick-format-unescaped-3.0.2" = {
+    "quick-format-unescaped-3.0.3" = {
       name = "quick-format-unescaped";
       packageName = "quick-format-unescaped";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.2.tgz";
-        sha512 = "FXTaCkwvpIlkdKeGDNgcq07SXWS383noQUuZjvdE1QcTt+eLuqof6/BDiEPqB59FWLie/l91+HtlJSw7iCViSA==";
+        url = "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz";
+        sha512 = "dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==";
       };
     };
     "quick-lru-1.1.0" = {
@@ -33568,13 +34044,13 @@ let
         sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
-    "rc-config-loader-2.0.4" = {
+    "rc-config-loader-3.0.0" = {
       name = "rc-config-loader";
       packageName = "rc-config-loader";
-      version = "2.0.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-2.0.4.tgz";
-        sha512 = "k06UzRbYDWgF4Mc/YrsZsmzSpDLuHoThJxep+vq5H09hiX8rbA5Ue/Ra0dwWm5MQvWYW4YBXgA186inNxuxidQ==";
+        url = "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-3.0.0.tgz";
+        sha512 = "bwfUSB37TWkHfP+PPjb/x8BUjChFmmBK44JMfVnU7paisWqZl/o5k7ttCH+EQLnrbn2Aq8Fo1LAsyUiz+WF4CQ==";
       };
     };
     "re-emitter-1.1.4" = {
@@ -33586,13 +34062,13 @@ let
         sha512 = "C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==";
       };
     };
-    "react-is-16.9.0" = {
+    "react-is-16.12.0" = {
       name = "react-is";
       packageName = "react-is";
-      version = "16.9.0";
+      version = "16.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz";
-        sha512 = "tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==";
+        url = "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz";
+        sha512 = "rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==";
       };
     };
     "read-1.0.7" = {
@@ -33622,13 +34098,13 @@ let
         sha512 = "CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==";
       };
     };
-    "read-cmd-shim-1.0.4" = {
+    "read-cmd-shim-1.0.5" = {
       name = "read-cmd-shim";
       packageName = "read-cmd-shim";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz";
-        sha512 = "Pqpl3qJ/QdOIjRYA0q5DND/gLvGOfpIz/fYVDGYpOXfW/lFrIttmLsBnd6IkyK10+JHU9zhsaudfvrQTBB9YFQ==";
+        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz";
+        sha512 = "v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==";
       };
     };
     "read-metadata-1.0.0" = {
@@ -33649,13 +34125,22 @@ let
         sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
       };
     };
-    "read-package-json-2.1.0" = {
+    "read-package-json-2.1.1" = {
       name = "read-package-json";
       packageName = "read-package-json";
-      version = "2.1.0";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz";
+        sha512 = "dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==";
+      };
+    };
+    "read-package-json-fast-1.1.1" = {
+      name = "read-package-json-fast";
+      packageName = "read-package-json-fast";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz";
-        sha512 = "KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==";
+        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.1.1.tgz";
+        sha512 = "vDw3wiWLwUXhYBCVvjAQJGCI5+DcgwGSYlFETCV9m/b107/yNBnYfCkoVrwHj7338j1z24/dxUXvtrXVjVjL1Q==";
       };
     };
     "read-package-tree-5.3.1" = {
@@ -33703,6 +34188,15 @@ let
         sha1 = "963625378f3e1c4d48c85872b5a6ec7d5d093237";
       };
     };
+    "read-pkg-5.2.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";
+        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
+      };
+    };
     "read-pkg-up-1.0.1" = {
       name = "read-pkg-up";
       packageName = "read-pkg-up";
@@ -33739,6 +34233,15 @@ let
         sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
       };
     };
+    "read-pkg-up-7.0.1" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
+        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
+      };
+    };
     "read-torrent-1.3.1" = {
       name = "read-torrent";
       packageName = "read-torrent";
@@ -33820,13 +34323,13 @@ let
         sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     };
-    "readdirp-3.1.2" = {
+    "readdirp-3.3.0" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "3.1.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz";
-        sha512 = "8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz";
+        sha512 = "zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==";
       };
     };
     "readline2-0.1.1" = {
@@ -33865,13 +34368,13 @@ let
         sha512 = "O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==";
       };
     };
-    "recast-0.17.6" = {
+    "recast-0.18.5" = {
       name = "recast";
       packageName = "recast";
-      version = "0.17.6";
+      version = "0.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/recast/-/recast-0.17.6.tgz";
-        sha512 = "yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ==";
+        url = "https://registry.npmjs.org/recast/-/recast-0.18.5.tgz";
+        sha512 = "sD1WJrpLQAkXGyQZyGzTM75WJvyAd98II5CHdK3IYbt/cZlU0UzCRVU11nUFNXX9fBVEt4E9ajkMjBlUlG+Oog==";
       };
     };
     "rechoir-0.6.2" = {
@@ -33928,6 +34431,15 @@ let
         sha1 = "c1b2007b42d57eb1389079b3c8333639d5e1ccaa";
       };
     };
+    "redent-3.0.0" = {
+      name = "redent";
+      packageName = "redent";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";
+        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
+      };
+    };
     "redeyed-1.0.1" = {
       name = "redeyed";
       packageName = "redeyed";
@@ -33937,6 +34449,15 @@ let
         sha1 = "e96c193b40c0816b00aec842698e61185e55498a";
       };
     };
+    "redeyed-2.1.1" = {
+      name = "redeyed";
+      packageName = "redeyed";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz";
+        sha1 = "8984b5815d99cb220469c99eeeffe38913e6cc0b";
+      };
+    };
     "redis-0.12.1" = {
       name = "redis";
       packageName = "redis";
@@ -33991,31 +34512,22 @@ let
         sha512 = "LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==";
       };
     };
-    "regenerator-runtime-0.11.1" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
-        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
-      };
-    };
-    "regenerator-runtime-0.12.1" = {
+    "regenerator-runtime-0.10.5" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
-      version = "0.12.1";
+      version = "0.10.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz";
-        sha512 = "odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
       };
     };
-    "regenerator-runtime-0.13.2" = {
+    "regenerator-runtime-0.11.1" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
-      version = "0.13.2";
+      version = "0.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz";
-        sha512 = "S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     };
     "regenerator-runtime-0.13.3" = {
@@ -34027,15 +34539,6 @@ let
         sha512 = "naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==";
       };
     };
-    "regenerator-runtime-0.9.6" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.9.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz";
-        sha1 = "d33eb95d0d2001a4be39659707c51b0cb71ce029";
-      };
-    };
     "regenerator-transform-0.14.1" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
@@ -34063,22 +34566,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp-tree-0.1.13" = {
-      name = "regexp-tree";
-      packageName = "regexp-tree";
-      version = "0.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz";
-        sha512 = "hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==";
-      };
-    };
-    "regexp.prototype.flags-1.2.0" = {
+    "regexp.prototype.flags-1.3.0" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
-        sha512 = "ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
+        sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==";
       };
     };
     "regexpp-1.1.0" = {
@@ -34171,13 +34665,13 @@ let
         sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
       };
     };
-    "regjsgen-0.5.0" = {
+    "regjsgen-0.5.1" = {
       name = "regjsgen";
       packageName = "regjsgen";
-      version = "0.5.0";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz";
-        sha512 = "RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==";
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz";
+        sha512 = "5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==";
       };
     };
     "regjsparser-0.1.5" = {
@@ -34189,13 +34683,13 @@ let
         sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
       };
     };
-    "regjsparser-0.6.0" = {
+    "regjsparser-0.6.2" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.6.0";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz";
-        sha512 = "RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz";
+        sha512 = "E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==";
       };
     };
     "rehype-sort-attribute-values-2.0.1" = {
@@ -34450,15 +34944,6 @@ let
         sha1 = "81d81ac7aeb72d7f5c4942adf2697a3220688d8e";
       };
     };
-    "request-2.74.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.74.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.74.0.tgz";
-        sha1 = "7693ca768bbb0ea5c8ce08c084a45efa05b892ab";
-      };
-    };
     "request-2.76.0" = {
       name = "request";
       packageName = "request";
@@ -34477,15 +34962,6 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
-    "request-2.87.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.87.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.87.0.tgz";
-        sha512 = "fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==";
-      };
-    };
     "request-2.88.0" = {
       name = "request";
       packageName = "request";
@@ -34513,40 +34989,40 @@ let
         sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
       };
     };
-    "request-promise-4.2.4" = {
+    "request-promise-4.2.5" = {
       name = "request-promise";
       packageName = "request-promise";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz";
-        sha512 = "8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==";
+        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz";
+        sha512 = "ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==";
       };
     };
-    "request-promise-core-1.1.2" = {
+    "request-promise-core-1.1.3" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
       };
     };
-    "request-promise-native-1.0.7" = {
+    "request-promise-native-1.0.8" = {
       name = "request-promise-native";
       packageName = "request-promise-native";
-      version = "1.0.7";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
+        sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==";
       };
     };
-    "requestretry-4.0.0" = {
+    "requestretry-4.0.2" = {
       name = "requestretry";
       packageName = "requestretry";
-      version = "4.0.0";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requestretry/-/requestretry-4.0.0.tgz";
-        sha512 = "ST8m0+5FQH2FA+gbzUQyOQjUwHf22kbPQnd6TexveR0p+2UV1YYBg+Roe7BnKQ1Bb/+LtJwwm0QzxK2NA20Cug==";
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-4.0.2.tgz";
+        sha512 = "ZGdO1ZXUQAeCB9xOS2keSN501y7T1t0zPOD58jTAOwamt6qkcBMaGdRBHEOMQRnDtT5fn7S99F0dwADUqCmYqg==";
       };
     };
     "require-directory-2.1.1" = {
@@ -34612,15 +35088,6 @@ let
         sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
       };
     };
-    "require-uncached-2.0.0" = {
-      name = "require-uncached";
-      packageName = "require-uncached";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-uncached/-/require-uncached-2.0.0.tgz";
-        sha512 = "rPv1//BQwg4gzIbpJcKXWIfjDJEtgS8jzbsNoLcdVSE5FpBzKEKKuoG6MfCbLC28ZTv+qlQWC9/K7J5GBGPSMg==";
-      };
-    };
     "requireg-0.2.2" = {
       name = "requireg";
       packageName = "requireg";
@@ -34666,22 +35133,13 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.11.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz";
-        sha512 = "vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==";
-      };
-    };
-    "resolve-1.12.0" = {
+    "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
       };
     };
     "resolve-1.7.1" = {
@@ -34882,13 +35340,13 @@ let
         sha512 = "M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==";
       };
     };
-    "retext-english-3.0.3" = {
+    "retext-english-3.0.4" = {
       name = "retext-english";
       packageName = "retext-english";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/retext-english/-/retext-english-3.0.3.tgz";
-        sha512 = "qltUsSjHMvCvpAm90qRvzK1DEBOnhSK3tUQk5aHFCBtiMHccp6FhlCH0mQ9vFcBf5BsG7GEBdPysTlY3g9Lchg==";
+        url = "https://registry.npmjs.org/retext-english/-/retext-english-3.0.4.tgz";
+        sha512 = "yr1PgaBDde+25aJXrnt3p1jvT8FVLVat2Bx8XeAWX13KXo8OT+3nWGU3HWxM4YFJvmfqvJYJZG2d7xxaO774gw==";
       };
     };
     "retext-equality-3.2.0" = {
@@ -34909,13 +35367,13 @@ let
         sha512 = "Gesb0Act9oeJ5N0KztREitP2E0zo7euzgTu2X4HLP6IJmcrRbRnqNwV11tzNy5JFJzKB1JTJFc7KseojTeGwOA==";
       };
     };
-    "rethinkdb-2.3.3" = {
+    "rethinkdb-2.4.2" = {
       name = "rethinkdb";
       packageName = "rethinkdb";
-      version = "2.3.3";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rethinkdb/-/rethinkdb-2.3.3.tgz";
-        sha1 = "3dc6586e22fa1dabee0d254e64bd0e379fad2f72";
+        url = "https://registry.npmjs.org/rethinkdb/-/rethinkdb-2.4.2.tgz";
+        sha512 = "6DzwqEpFc8cqesAdo07a845oBRxLiHvWzopTKBo/uY2ypGWIsJQFJk3wjRDtSEhczxJqLS0jnf37rwgzYAw8NQ==";
       };
     };
     "retry-0.10.1" = {
@@ -35116,13 +35574,13 @@ let
         sha1 = "df43e80d9bc82ad4430bcfef03f49c717e8b2e8c";
       };
     };
-    "roarr-2.14.1" = {
+    "roarr-2.14.6" = {
       name = "roarr";
       packageName = "roarr";
-      version = "2.14.1";
+      version = "2.14.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/roarr/-/roarr-2.14.1.tgz";
-        sha512 = "Fhm9shQ8JhpjFnOT7bgxKR7Xcg1Tq+0/Tdy+bloB4sUxxAib4MZDMJ6AjUBRE+798l2MnhhF2JTqbqx1+/kRyQ==";
+        url = "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz";
+        sha512 = "qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==";
       };
     };
     "rollup-0.67.0" = {
@@ -35215,13 +35673,13 @@ let
         sha1 = "6f04063a2d04eba3303a1bbc6765eef63037cf3d";
       };
     };
-    "rss-parser-3.7.2" = {
+    "rss-parser-3.7.3" = {
       name = "rss-parser";
       packageName = "rss-parser";
-      version = "3.7.2";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.7.2.tgz";
-        sha512 = "kx0VIFelgwBk5qA4n32U6cx40anAU7TwlRXjyxLDFgMlg8/UcJ64x+Hj5oRX1Kjos+OeFGOmnd5YXH5ES+bmzg==";
+        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.7.3.tgz";
+        sha512 = "Ys+fC5wHqWkfR+jNEL7QvC0crUCAcygxHel3ab9QQzHjmH7fNz379lrp984CuCPUf3WzxHEa73lL86W7yc9qjQ==";
       };
     };
     "rsvp-3.6.2" = {
@@ -35485,15 +35943,6 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "safer-eval-1.3.5" = {
-      name = "safer-eval";
-      packageName = "safer-eval";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-eval/-/safer-eval-1.3.5.tgz";
-        sha512 = "BJ//K2Y+EgCbOHEsDGS5YahYBcYy7JcFpKDo2ba5t4MnOGHYtk7HvQkcxTDFvjQvJ0CRcdas/PyF+gTTCay+3w==";
-      };
-    };
     "sander-0.5.1" = {
       name = "sander";
       packageName = "sander";
@@ -35611,13 +36060,22 @@ let
         sha512 = "sDtmZDpibGH2ixj3FOmsC3Z/b08eaB2/KAvy2oSp4qvcGdhatBSfb1RdVpwjQl5c3J83WbBo1HSZ7DBtMu43lA==";
       };
     };
-    "secret-stack-6.3.0" = {
+    "secret-stack-6.3.1" = {
       name = "secret-stack";
       packageName = "secret-stack";
-      version = "6.3.0";
+      version = "6.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.0.tgz";
-        sha512 = "abIfcP1tlJ3gbfgAkp6mgqEc7M70GvXVTyE//iHDXMQz21zQxOD5WcWAiMg1Lgw5FgLfHM1WF+c8PqFNNE3WOg==";
+        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.1.tgz";
+        sha512 = "SyYRGgjxq8lbQyqdIbaNfteZ77B3Bd2TH+k5WpI6gHjTCOKZZmD8aiat+bUfhjsiqf0LMQauRH3KD6vIMdDPLg==";
+      };
+    };
+    "secure-compare-3.0.1" = {
+      name = "secure-compare";
+      packageName = "secure-compare";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz";
+        sha1 = "f1a0329b308b221fae37b9974f3d578d0ca999e3";
       };
     };
     "secure-keys-1.0.0" = {
@@ -35755,15 +36213,6 @@ let
         sha512 = "PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==";
       };
     };
-    "semver-5.6.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
-        sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
-      };
-    };
     "semver-5.7.1" = {
       name = "semver";
       packageName = "semver";
@@ -35782,40 +36231,40 @@ let
         sha512 = "0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==";
       };
     };
-    "semver-6.1.1" = {
+    "semver-6.1.3" = {
       name = "semver";
       packageName = "semver";
-      version = "6.1.1";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz";
-        sha512 = "rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-6.1.3.tgz";
+        sha512 = "aymF+56WJJMyXQHcd4hlK4N75rwj5RQpfW8ePlQnJsTYOBLlLbcIErR/G1s9SkIvKBqOudR3KAx4wEqP+F1hNQ==";
       };
     };
-    "semver-6.1.3" = {
+    "semver-6.3.0" = {
       name = "semver";
       packageName = "semver";
-      version = "6.1.3";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.1.3.tgz";
-        sha512 = "aymF+56WJJMyXQHcd4hlK4N75rwj5RQpfW8ePlQnJsTYOBLlLbcIErR/G1s9SkIvKBqOudR3KAx4wEqP+F1hNQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     };
-    "semver-6.2.0" = {
+    "semver-7.0.0" = {
       name = "semver";
       packageName = "semver";
-      version = "6.2.0";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz";
-        sha512 = "jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz";
+        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-6.3.0" = {
+    "semver-7.1.1" = {
       name = "semver";
       packageName = "semver";
-      version = "6.3.0";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz";
+        sha512 = "WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==";
       };
     };
     "semver-compare-1.0.0" = {
@@ -35836,6 +36285,15 @@ let
         sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
       };
     };
+    "semver-diff-3.1.1" = {
+      name = "semver-diff";
+      packageName = "semver-diff";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz";
+        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
+      };
+    };
     "semver-greatest-satisfied-range-1.1.0" = {
       name = "semver-greatest-satisfied-range";
       packageName = "semver-greatest-satisfied-range";
@@ -35944,22 +36402,13 @@ let
         sha512 = "QnpHNykm4nI4T6mT+NoVayh9Ixl5DohYCSVqMgPJsO2WejOcqaYTh4HQOkmzaDzXH3NO5pif4z/hpo2NGtgNlg==";
       };
     };
-    "sentence-splitter-3.0.11" = {
+    "sentence-splitter-3.2.0" = {
       name = "sentence-splitter";
       packageName = "sentence-splitter";
-      version = "3.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.0.11.tgz";
-        sha512 = "8k/74ErjpdvgBVLQ7kI7jbbaqNdgMXVqMF8gWlJan25xfm1mg8cYmHQgMb+zx8xyocm1Dq46af4TpmnKWHr/yA==";
-      };
-    };
-    "sentiment-2.1.0" = {
-      name = "sentiment";
-      packageName = "sentiment";
-      version = "2.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sentiment/-/sentiment-2.1.0.tgz";
-        sha1 = "33279100c35c38519ca5e435245186c512fe0fdc";
+        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.2.0.tgz";
+        sha512 = "lKX2tZ1rsA9Tu0gW8vRmMDmIEJoZ1d7cKpzcbFZdUrSpCR6gy/7OPPh7jjT/6Oc6Z79ToUmC2l8tyTEGanVmiA==";
       };
     };
     "separator-escape-0.0.0" = {
@@ -35980,31 +36429,31 @@ let
         sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
       };
     };
-    "serialize-error-4.1.0" = {
+    "serialize-error-5.0.0" = {
       name = "serialize-error";
       packageName = "serialize-error";
-      version = "4.1.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-4.1.0.tgz";
-        sha512 = "5j9GgyGsP9vV9Uj1S0lDCvlsd+gc2LEPVK7HHHte7IyPwOD4lVQFeaX143gx3U5AnoCi+wbcb3mvaxVysjpxEw==";
+        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz";
+        sha512 = "/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==";
       };
     };
-    "serialize-javascript-1.9.1" = {
+    "serialize-javascript-2.1.2" = {
       name = "serialize-javascript";
       packageName = "serialize-javascript";
-      version = "1.9.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
-        sha512 = "0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==";
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
+        sha512 = "rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==";
       };
     };
-    "serialize-to-js-1.2.2" = {
+    "serialize-to-js-3.0.2" = {
       name = "serialize-to-js";
       packageName = "serialize-to-js";
-      version = "1.2.2";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-1.2.2.tgz";
-        sha512 = "mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q==";
+        url = "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.0.2.tgz";
+        sha512 = "o5FqeMyxGx1wkp8p14q9QqGXh1JjXtIDYTr15N/B4ThM5ULqlpXdtOO84m950jFGvBkeRD1utW+WyNKvao2ybQ==";
       };
     };
     "serializerr-1.0.3" = {
@@ -36025,13 +36474,13 @@ let
         sha1 = "935d240cdfe0f5805307fdfe967d88942a2cbcf0";
       };
     };
-    "serve-handler-6.1.0" = {
+    "serve-handler-6.1.2" = {
       name = "serve-handler";
       packageName = "serve-handler";
-      version = "6.1.0";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.0.tgz";
-        sha512 = "63N075Tn3PsFYcu0NVV7tb367UbiW3gnC+/50ohL4oqOhAG6bmbaWqiRcXQgbzqc0ALBjSAzg7VTfa0Qw4E3hA==";
+        url = "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.2.tgz";
+        sha512 = "RFh49wX7zJmmOVDcIjiDSJnMH+ItQEvyuYLYuDBVoA/xmQSCuj+uRmk1cmBB5QQlI3qOiWKp6p4DUGY+Z5AB2A==";
       };
     };
     "serve-index-1.9.1" = {
@@ -36142,13 +36591,13 @@ let
         sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     };
-    "seventh-0.7.28" = {
+    "seventh-0.7.30" = {
       name = "seventh";
       packageName = "seventh";
-      version = "0.7.28";
+      version = "0.7.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/seventh/-/seventh-0.7.28.tgz";
-        sha512 = "WitJqSwsjLWbCP9cciaozByx4csddLQyNoaPBqOpYFMNE6iD6FK/pM8J2yqtpauSxJUUo7Wfv5KF5w1jbVov7A==";
+        url = "https://registry.npmjs.org/seventh/-/seventh-0.7.30.tgz";
+        sha512 = "GDX4eZEZXQFqURkUA802R3GkawzGA8zm2QS9AfFqPcJKakoytxhI0soTRfhEqNhqh0RrRFO/EraffrAULaxiQQ==";
       };
     };
     "sha.js-2.4.11" = {
@@ -36178,6 +36627,15 @@ let
         sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
       };
     };
+    "shallow-clone-3.0.1" = {
+      name = "shallow-clone";
+      packageName = "shallow-clone";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==";
+      };
+    };
     "shallow-copy-0.0.1" = {
       name = "shallow-copy";
       packageName = "shallow-copy";
@@ -36187,13 +36645,13 @@ let
         sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
       };
     };
-    "sharp-0.22.1" = {
+    "sharp-0.23.4" = {
       name = "sharp";
       packageName = "sharp";
-      version = "0.22.1";
+      version = "0.23.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz";
-        sha512 = "lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==";
+        url = "https://registry.npmjs.org/sharp/-/sharp-0.23.4.tgz";
+        sha512 = "fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q==";
       };
     };
     "shasum-1.0.2" = {
@@ -36205,6 +36663,15 @@ let
         sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
       };
     };
+    "shasum-object-1.0.0" = {
+      name = "shasum-object";
+      packageName = "shasum-object";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";
+        sha512 = "Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==";
+      };
+    };
     "shebang-command-1.2.0" = {
       name = "shebang-command";
       packageName = "shebang-command";
@@ -36214,6 +36681,15 @@ let
         sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
       };
     };
+    "shebang-command-2.0.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
+      };
+    };
     "shebang-regex-1.0.0" = {
       name = "shebang-regex";
       packageName = "shebang-regex";
@@ -36223,6 +36699,15 @@ let
         sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
       };
     };
+    "shebang-regex-3.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
+      };
+    };
     "shell-quote-1.6.1" = {
       name = "shell-quote";
       packageName = "shell-quote";
@@ -36304,6 +36789,15 @@ let
         sha1 = "c27415a9e458f2fed39b27cf8eb37c003782b431";
       };
     };
+    "side-channel-1.0.2" = {
+      name = "side-channel";
+      packageName = "side-channel";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz";
+        sha512 = "7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==";
+      };
+    };
     "sigmund-1.0.1" = {
       name = "sigmund";
       packageName = "sigmund";
@@ -36313,13 +36807,13 @@ let
         sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
       };
     };
-    "sign-addon-0.3.1" = {
+    "sign-addon-2.0.4" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "0.3.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-0.3.1.tgz";
-        sha512 = "feaoG7+8IXr9SymOEd8VTZCSlVZArWcBDZ33IIdfXlU5NWWzXdCxCjPDqAkLQplFa7RRZr1S4lSmgMPn80Ze1A==";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-2.0.4.tgz";
+        sha512 = "QKfE558nIQ2o9VACAIMQBI4I+IhlL+k9bxhVsQUb4B6Bu+tC8IDSlnHrydcYPf3AB6K+g+BVzbDD1JlSw4bRDg==";
       };
     };
     "signal-exit-3.0.2" = {
@@ -36385,13 +36879,13 @@ let
         sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
       };
     };
-    "simple-git-1.126.0" = {
+    "simple-git-1.129.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.126.0";
+      version = "1.129.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.126.0.tgz";
-        sha512 = "47mqHxgZnN8XRa9HbpWprzUv3Ooqz9RY/LSZgvA7jCkW8jcwLahMz7LKugY91KZehfG0sCVPtgXiU72hd6b1Bw==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.129.0.tgz";
+        sha512 = "XbzNmugMTeV2crZnPl+b1ZJn+nqXCUNyrZxDXpLM0kHL3B85sbPlpd8q9I4qtAHI9D2FxTB6w4BuiAGKYtyzKw==";
       };
     };
     "simple-markdown-0.4.4" = {
@@ -36412,13 +36906,13 @@ let
         sha1 = "4e421f485ac7b13b08077a4476934d52c5ba3bb3";
       };
     };
-    "simple-peer-9.6.0" = {
+    "simple-peer-9.6.2" = {
       name = "simple-peer";
       packageName = "simple-peer";
-      version = "9.6.0";
+      version = "9.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.6.0.tgz";
-        sha512 = "NYqSKPu75xhkZYKGJhCbLCG5kfBtDHf8U9ddk4EKFfYNU7XgIisov+V8wMbVVgyMCfn8pm8uOqQQmE50FPDFWA==";
+        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.6.2.tgz";
+        sha512 = "EOKoImCaqtNvXIntxT1CBBK/3pVi7tMAoJ3shdyd9qk3zLm3QPiRLb/sPC1G2xvKJkJc5fkQjCXqRZ0AknwTig==";
       };
     };
     "simple-sha1-2.1.2" = {
@@ -36457,13 +36951,13 @@ let
         sha1 = "5d3d5751bb39aeba2f710d8eec78768df821f38d";
       };
     };
-    "simple-websocket-8.0.1" = {
+    "simple-websocket-8.1.1" = {
       name = "simple-websocket";
       packageName = "simple-websocket";
-      version = "8.0.1";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.0.1.tgz";
-        sha512 = "2QKSRjf+tqFXLVmOQjf95gHeKhuyx2k1ouDjtnE0uKCYw84HfN85HsXo+GmPH+2PIh5BQql++g2AIbHgGAZU4w==";
+        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.1.1.tgz";
+        sha512 = "06I3cwOD5Q3LdVd6qfyDGp1U9eau9x9qniSL3b/aDgM5bsJX4nZfCuii2UCFcTfrDq0jCXF4NQ/38qeC8CJZTg==";
       };
     };
     "single-line-log-0.4.1" = {
@@ -36493,13 +36987,13 @@ let
         sha512 = "dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==";
       };
     };
-    "sisteransi-1.0.3" = {
+    "sisteransi-1.0.4" = {
       name = "sisteransi";
       packageName = "sisteransi";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
-        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz";
+        sha512 = "/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==";
       };
     };
     "skin-tone-1.0.0" = {
@@ -36529,6 +37023,15 @@ let
         sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
       };
     };
+    "slash-3.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
+        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
+      };
+    };
     "slasp-0.0.4" = {
       name = "slasp";
       packageName = "slasp";
@@ -36583,6 +37086,15 @@ let
         sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
       };
     };
+    "slice-ansi-3.0.0" = {
+      name = "slice-ansi";
+      packageName = "slice-ansi";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz";
+        sha512 = "pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==";
+      };
+    };
     "sliced-1.0.1" = {
       name = "sliced";
       packageName = "sliced";
@@ -36601,13 +37113,13 @@ let
         sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
       };
     };
-    "smart-buffer-4.0.2" = {
+    "smart-buffer-4.1.0" = {
       name = "smart-buffer";
       packageName = "smart-buffer";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz";
-        sha512 = "JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==";
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz";
+        sha512 = "iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==";
       };
     };
     "smartdc-auth-2.3.1" = {
@@ -36709,15 +37221,6 @@ let
         sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
       };
     };
-    "snyk-1.228.3" = {
-      name = "snyk";
-      packageName = "snyk";
-      version = "1.228.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.228.3.tgz";
-        sha512 = "TwyJcMXBvic1xJ+rVLdIYS1xDYuzcogIXdmyvGvXBZgwIQdjOVMnZBVxUo5igkOIntBL2sCynZiydQtGbe08JA==";
-      };
-    };
     "snyk-config-2.2.3" = {
       name = "snyk-config";
       packageName = "snyk-config";
@@ -36727,13 +37230,13 @@ let
         sha512 = "9NjxHVMd1U1LFw66Lya4LXgrsFUiuRiL4opxfTFo0LmMNzUoU5Bk/p0zDdg3FE5Wg61r4fP2D8w+QTl6M8CGiw==";
       };
     };
-    "snyk-docker-plugin-1.29.1" = {
+    "snyk-docker-plugin-1.33.1" = {
       name = "snyk-docker-plugin";
       packageName = "snyk-docker-plugin";
-      version = "1.29.1";
+      version = "1.33.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.29.1.tgz";
-        sha512 = "Mucc1rZ7l0U8Dykr5m6HPjau8b2H8JVtVaXGbKSZD6e/47JDJhudkgrWjsS5Yt/Zdp1weE3+4SguftFiVR971A==";
+        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.33.1.tgz";
+        sha512 = "xfs3DN1tPMTh6J8x2341wGK4HRr+pI5+i/YRuRmsslnBnwk/DkKYcbt8zOIWk6kzMoW8vo+9LqqXBQO/24szKg==";
       };
     };
     "snyk-go-parser-1.3.1" = {
@@ -36745,22 +37248,22 @@ let
         sha512 = "jrFRfIk6yGHFeipGD66WV9ei/A/w/lIiGqI80w1ndMbg6D6M5pVNbK7ngDTmo4GdHrZDYqx/VBGBsUm2bol3Rg==";
       };
     };
-    "snyk-go-plugin-1.11.0" = {
+    "snyk-go-plugin-1.11.1" = {
       name = "snyk-go-plugin";
       packageName = "snyk-go-plugin";
-      version = "1.11.0";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.11.0.tgz";
-        sha512 = "9hsGgloioGuey5hbZfv+MkFEslxXHyzUlaAazcR0NsY7VLyG/b2g3f88f/ZwCwlWaKL9LMv/ERIiey3oWAB/qg==";
+        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.11.1.tgz";
+        sha512 = "IsNi7TmpHoRHzONOWJTT8+VYozQJnaJpKgnYNQjzNm2JlV8bDGbdGQ1a8LcEoChxnJ8v8aMZy7GTiQyGGABtEQ==";
       };
     };
-    "snyk-gradle-plugin-3.1.0" = {
+    "snyk-gradle-plugin-3.2.2" = {
       name = "snyk-gradle-plugin";
       packageName = "snyk-gradle-plugin";
-      version = "3.1.0";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.1.0.tgz";
-        sha512 = "789Rqyhv1+WYbfy1Qilgsw0FMccedSaCO5n+54CXXGVUZWMsVvqJj3T8k7+vis+9Eq+Sgbdzti8vDtApz6rWWQ==";
+        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.2.2.tgz";
+        sha512 = "ijIWsypbtpdTuRcYTFsnEWbaBnhCc7q0iIg0A4OcOW/xLyInPwyfBMnip4ubNfHAS/PrvzgfwwwJhttcQD0ZaQ==";
       };
     };
     "snyk-module-1.9.1" = {
@@ -36772,31 +37275,31 @@ let
         sha512 = "A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==";
       };
     };
-    "snyk-mvn-plugin-2.4.0" = {
+    "snyk-mvn-plugin-2.7.0" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "2.4.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.4.0.tgz";
-        sha512 = "Fmt6Mjx6zZz+4q6PnBkhuNGhEX++q/pKMI26ls4p3JPkx4KxBz89oncpkmf7P8YCkoaka8oHhtDEv/R4Z9LleQ==";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.7.0.tgz";
+        sha512 = "DLBt+6ZvtoleXE7Si3wAa6gdPSWsXdIQEY6m2zW2InN9WiaRwIEKMCY822eFmRPZVNNmZNRUIeQsoHZwv/slqQ==";
       };
     };
-    "snyk-nodejs-lockfile-parser-1.16.0" = {
+    "snyk-nodejs-lockfile-parser-1.17.0" = {
       name = "snyk-nodejs-lockfile-parser";
       packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.16.0";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.16.0.tgz";
-        sha512 = "cf3uozRXEG88nsjOQlo+SfOJPpcLs45qpnuk2vhBBZ577IMnV+fTOJQsP2YRiikLUbdgkVlduviwUO6OVn1PhA==";
+        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.17.0.tgz";
+        sha512 = "i4GAYFj9TJLOQ8F+FbIJuJWdGymi8w/XcrEX0FzXk7DpYUCY3mWibyKhw8RasfYBx5vLwUzEvRMaQuc2EwlyfA==";
       };
     };
-    "snyk-nuget-plugin-1.12.1" = {
+    "snyk-nuget-plugin-1.16.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.12.1";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.12.1.tgz";
-        sha512 = "QuANQxBjTGj3hEf2YpEQ0WuI4Yq/93boqWUs4eoSTfDyBRFgIkUP6fLkzNldrkL8fQbcagqQ2Xz8M9IEKRQtMg==";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.16.0.tgz";
+        sha512 = "OEusK3JKKpR4Yto5KwuqjQGgb9wAhmDqBWSQomWdtKQVFrzn5B6BMzOFikUzmeMTnUGGON7gurQBLXeZZLhRqg==";
       };
     };
     "snyk-paket-parser-1.5.0" = {
@@ -36808,13 +37311,13 @@ let
         sha512 = "1CYMPChJ9D9LBy3NLqHyv8TY7pR/LMISSr08LhfFw/FpfRZ+gTH8W6bbxCmybAYrOFNCqZkRprqOYDqZQFHipA==";
       };
     };
-    "snyk-php-plugin-1.6.4" = {
+    "snyk-php-plugin-1.7.0" = {
       name = "snyk-php-plugin";
       packageName = "snyk-php-plugin";
-      version = "1.6.4";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.6.4.tgz";
-        sha512 = "FFQeimtbwq17nDUS0o0zuKgyjXSX7SpoC9iYTeKvxTXrmKf2QlxTtPvmMM4/hQxehEu1i40ow1Ozw0Ahxm8Dpw==";
+        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.7.0.tgz";
+        sha512 = "mDe90xkqSEVrpx1ZC7ItqCOc6fZCySbE+pHVI+dAPUmf1C1LSWZrZVmAVeo/Dw9sJzJfzmcdAFQl+jZP8/uV0A==";
       };
     };
     "snyk-policy-1.13.5" = {
@@ -36826,13 +37329,13 @@ let
         sha512 = "KI6GHt+Oj4fYKiCp7duhseUj5YhyL/zJOrrJg0u6r59Ux9w8gmkUYT92FHW27ihwuT6IPzdGNEuy06Yv2C9WaQ==";
       };
     };
-    "snyk-python-plugin-1.13.2" = {
+    "snyk-python-plugin-1.16.0" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.13.2";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.13.2.tgz";
-        sha512 = "G9R1cYHw0E/VSx9tFa5nZp+653FIMXheteidrF3hjUe71jRdJELEUV/z5jxqYEWEFemcwGhMfW87De91GChVIQ==";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.16.0.tgz";
+        sha512 = "IA53xOcy1s881tbIrIXNqIuCNozd4PAVWN8oF0xgRn2NQbq0e7EWt7kFPJbmZodpLCDpXaKKqV2MHbXruFIsrw==";
       };
     };
     "snyk-resolve-1.0.1" = {
@@ -36853,13 +37356,13 @@ let
         sha512 = "aFPtN8WLqIk4E1ulMyzvV5reY1Iksz+3oPnUVib1jKdyTHymmOIYF7z8QZ4UUr52UsgmrD9EA/dq7jpytwFoOQ==";
       };
     };
-    "snyk-sbt-plugin-2.8.0" = {
+    "snyk-sbt-plugin-2.9.2" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "2.8.0";
+      version = "2.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.8.0.tgz";
-        sha512 = "ZzyBdND5CsaO0xkv05geZXu8Dd6Llvr/5oTj811U7h7UmrvljrAiABW4RGjRJPrPVuuJaDej2p633sgGtK9UsA==";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.9.2.tgz";
+        sha512 = "Mikl/ga3kJkvDs9KURmEa9YydmRguMW1CdJ4f7kA3iULSIsP7xqi8C4jYkJ/v3xfNrkfr8jACu2q9IDQRYJ+rg==";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -36925,13 +37428,13 @@ let
         sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
       };
     };
-    "socket.io-adapter-1.1.1" = {
+    "socket.io-adapter-1.1.2" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz";
-        sha1 = "2a805e8a14d6372124dd9159ad4502f8cb07f06b";
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz";
+        sha512 = "WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==";
       };
     };
     "socket.io-client-1.0.6" = {
@@ -37015,13 +37518,13 @@ let
         sha512 = "/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==";
       };
     };
-    "socks-2.3.2" = {
+    "socks-2.3.3" = {
       name = "socks";
       packageName = "socks";
-      version = "2.3.2";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz";
-        sha512 = "pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==";
+        url = "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz";
+        sha512 = "o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==";
       };
     };
     "socks-proxy-agent-4.0.2" = {
@@ -37294,31 +37797,13 @@ let
         sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
       };
     };
-    "source-map-support-0.4.6" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz";
-        sha1 = "32552aa64b458392a85eab3b0b5ee61527167aeb";
-      };
-    };
-    "source-map-support-0.5.12" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz";
-        sha512 = "4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==";
-      };
-    };
-    "source-map-support-0.5.13" = {
+    "source-map-support-0.5.16" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.13";
+      version = "0.5.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
-        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
       };
     };
     "source-map-url-0.4.0" = {
@@ -37456,15 +37941,6 @@ let
         sha1 = "70eff23cde4e97d52a445f65afddcc5695eb5edb";
       };
     };
-    "speech-rule-engine-3.0.0-beta.6" = {
-      name = "speech-rule-engine";
-      packageName = "speech-rule-engine";
-      version = "3.0.0-beta.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-3.0.0-beta.6.tgz";
-        sha512 = "B7gcT53jAsKpx7WvFYQcyUlFmgS3Wa9KlDy0FY8SOTa+Wz5EqmI0MpCD5/fYm8/2qiCPp8HwZg+H3cBgM+sNVw==";
-      };
-    };
     "speedometer-0.1.4" = {
       name = "speedometer";
       packageName = "speedometer";
@@ -37483,13 +37959,13 @@ let
         sha512 = "z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==";
       };
     };
-    "speedtest-net-1.5.1" = {
+    "speedtest-net-1.6.0" = {
       name = "speedtest-net";
       packageName = "speedtest-net";
-      version = "1.5.1";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/speedtest-net/-/speedtest-net-1.5.1.tgz";
-        sha512 = "az10ue3vkUUt49p5ommRO5eKXB5GfzyLehWCNRUnO686GjtdXJcSJFPnluc93UdoWTtWbr4fCVeH9Kka1OpHIA==";
+        url = "https://registry.npmjs.org/speedtest-net/-/speedtest-net-1.6.0.tgz";
+        sha512 = "uxeA4BGApj3Ghb6VQtcsem0ZoeyQGwLDzL6WP3hJiegS9GBIvpPKDeTzY5/K2/CMoZcihrVYIW3yIABQb2LMOg==";
       };
     };
     "split-0.2.10" = {
@@ -37618,22 +38094,22 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-4.0.9" = {
+    "sqlite3-4.1.0" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.0.9";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.9.tgz";
-        sha512 = "IkvzjmsWQl9BuBiM4xKpl5X8WCR4w0AeJHRdobCdXZ8dT/lNc1XS6WqvY35N6+YzIIgzSBeY5prdFObID9F9tA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
       };
     };
-    "sqlite3-4.1.0" = {
+    "sqlite3-4.1.1" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
-        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.1.tgz";
+        sha512 = "CvT5XY+MWnn0HkbwVKJAyWEMfzpAPwnTiB3TobA5Mri44SrTovmmh499NPQP+gatkeOipqPlBLel7rn4E/PCQg==";
       };
     };
     "srt2vtt-1.3.1" = {
@@ -37654,13 +38130,13 @@ let
         sha1 = "06cd70795ee58d1462d100a45c660df3179d3b39";
       };
     };
-    "ssb-blobs-1.2.1" = {
+    "ssb-blobs-1.2.2" = {
       name = "ssb-blobs";
       packageName = "ssb-blobs";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.2.1.tgz";
-        sha512 = "3x21LBIo/TDdUVw3IPnMYyh3T31+i6Xw2v0WftiuY0djPkq3dfwQV11+t3AY6LBtKsN1jS1bpxaDZcM/npF9dA==";
+        url = "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.2.2.tgz";
+        sha512 = "N+X46lE/KaIH9y1w3LQ9pPnt2tQr5VCSj1dAo/pJGYnSwnHz8GhIiboq7UGzrCZwCWgVUs22/2YiytCXSC9ASg==";
       };
     };
     "ssb-caps-1.1.0" = {
@@ -37672,13 +38148,13 @@ let
         sha512 = "qe3qpvchJ+gnH8M/ge4rpL+7eRbSmsEAzNwHkDdrW06OBcziQ6/KuAdmcR6joxCbNeoAXAZF+inkefgE16okXA==";
       };
     };
-    "ssb-client-4.7.8" = {
+    "ssb-client-4.7.9" = {
       name = "ssb-client";
       packageName = "ssb-client";
-      version = "4.7.8";
+      version = "4.7.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.8.tgz";
-        sha512 = "0oQhsa8EZtXbq2tdb/Pvf9h22tW4q7BZ4gbuaxVqIyYqw79Hq6Sr3xFa6+Mj6DX0Gb00TbI/Ft/jts2NyDfbmQ==";
+        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.9.tgz";
+        sha512 = "koVuazgGa+Pz7KHnPTsOFvaKSrE0T38wSO7n6P7ZQp+1BpaoBCI4z8Kq2SvMw521Sz9dK9Rwh2bTakEDRgx84A==";
       };
     };
     "ssb-config-2.3.9" = {
@@ -37690,13 +38166,13 @@ let
         sha512 = "UF+4+khFXILLBqtu9HfrpUwYnDXIdAyJe3u9X4GrApuoakxuSKwaUGakUxLPyo6COyV2brMqufUgf+fDOI8Ftw==";
       };
     };
-    "ssb-config-3.3.2" = {
+    "ssb-config-3.4.3" = {
       name = "ssb-config";
       packageName = "ssb-config";
-      version = "3.3.2";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-3.3.2.tgz";
-        sha512 = "EUOp8QbFgCqy6RzNgLqoTqI+jtpBi3AHUwAymR3jHGbgc3DqCMnvGCHt7My8m15LA88oyeDjrzNNJsLfbVyTZQ==";
+        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-3.4.3.tgz";
+        sha512 = "qvutXHzW+KPhopVGAc8QYJ0jKorGVVYrZBbuyTGU1sCVdtXKGqOIQGJzpiwQUdLe2UM4Sc9WWWCAYTWlSSqhkA==";
       };
     };
     "ssb-db-19.2.0" = {
@@ -37744,22 +38220,22 @@ let
         sha512 = "7GVq5Ael/get+3Ot5exLdRWU8psSQNv/SkyO0KUhjoc4VfTdz8XuN1K195LKiyL/7u31A50KmkG9U9twb+1rGQ==";
       };
     };
-    "ssb-gossip-1.1.0" = {
+    "ssb-gossip-1.1.1" = {
       name = "ssb-gossip";
       packageName = "ssb-gossip";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-gossip/-/ssb-gossip-1.1.0.tgz";
-        sha512 = "z4DBUtGJ+/k6z67EjavmPYAKz9BLF7zWcSDwUwLKZZT3AJp/5J6iPxHkilz2UfJ9LdGT4gF5CUe2xyIt1QFguA==";
+        url = "https://registry.npmjs.org/ssb-gossip/-/ssb-gossip-1.1.1.tgz";
+        sha512 = "lbizlDBCtOOnbnz7zS81NOtnAyHnXu9E3gxrAJHZe7oyxINRI7IpQ8J79to9aXzkb8+2M32R8K4whmsAHGvJAg==";
       };
     };
-    "ssb-invite-2.1.3" = {
+    "ssb-invite-2.1.4" = {
       name = "ssb-invite";
       packageName = "ssb-invite";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-invite/-/ssb-invite-2.1.3.tgz";
-        sha512 = "hHLsmlTqk6ecxpWlHiwpFNwXDfMY8gO6OdXrU2lkoqLStPrriPgzlCJnfZA06Gdi2ZL5Az4+M2fyWvnza9x/kg==";
+        url = "https://registry.npmjs.org/ssb-invite/-/ssb-invite-2.1.4.tgz";
+        sha512 = "bq4Iow4DOfsfWKE6otgD2+sWd59PcLW/WUbwZdJlukaT2m0nazPu2s8k9xX/95p+pJS7xkLyywHxMzytiKRqTg==";
       };
     };
     "ssb-issues-1.0.0" = {
@@ -37879,13 +38355,13 @@ let
         sha512 = "iRXjeI0sbRbgMwaKg+poqhHSH7GvUVgJ+8ysi8q7Hjj4wHkczLGAOyVjnyhjF+ErPDFn9kXN+46joneKqSgEDg==";
       };
     };
-    "ssb-ooo-1.3.1" = {
+    "ssb-ooo-1.3.2" = {
       name = "ssb-ooo";
       packageName = "ssb-ooo";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.3.1.tgz";
-        sha512 = "Ztx1qSHCIS4lcLwynSG8XKhzCZ1ejsUi5UAHBG+Hzkf91sqA38q5pnkLW/VVrtBz6yM5xv1AqYcr3KB8WWBXnQ==";
+        url = "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.3.2.tgz";
+        sha512 = "JBH0cDaqQ/WRZMfoyn/fNLDrbrs5w2xnSno/VUDWGhc+SX+3/h6zFK7VvCjdzEATlZ/D7VRkXMYrOedSIVIKwA==";
       };
     };
     "ssb-plugins-1.0.0" = {
@@ -37924,13 +38400,13 @@ let
         sha512 = "TfatNqLvoP+eW/pMIbCmNcaoDq4R2k8jCtWkwDKx4AtluN/LwtyP931d5Mh+2gmzA04W7kxkr6f5ENGgdadMYg==";
       };
     };
-    "ssb-replicate-1.3.0" = {
+    "ssb-replicate-1.3.2" = {
       name = "ssb-replicate";
       packageName = "ssb-replicate";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-replicate/-/ssb-replicate-1.3.0.tgz";
-        sha512 = "FLizJ+eHtGrySb61v3asIKpZkje77a6Cl7ZotUjD3YjNUOC7y+HN0AWaupbiiFiQXDGrIZ0ti0Mr8bHkMOJurQ==";
+        url = "https://registry.npmjs.org/ssb-replicate/-/ssb-replicate-1.3.2.tgz";
+        sha512 = "r/34OHn5wDkVUu0UNdKdPjmd3cPDmgknA5nK+gXBZj9ugSDwmdDsfEUavGtA7hlO+He1pC4EXtBa14dqgTqJCg==";
       };
     };
     "ssb-unix-socket-1.0.0" = {
@@ -37942,13 +38418,13 @@ let
         sha512 = "Z4jBj917W+dKAiDglwxCpWm8vINOMtkpHQIgk50NQTb5jHqHI5Rcyiy7EO0uRcWwRWqXi1ZwOTEFVyLyyuittA==";
       };
     };
-    "ssb-validate-4.0.4" = {
+    "ssb-validate-4.0.5" = {
       name = "ssb-validate";
       packageName = "ssb-validate";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-validate/-/ssb-validate-4.0.4.tgz";
-        sha512 = "MojZCR1qgZHdO4pnh4Loiqxj7fxP3w+MrA/4smXoKD46ReEnOjt/8Vm2sq3qpqPmUBU2GbEoDlgw7OKy0mWJBw==";
+        url = "https://registry.npmjs.org/ssb-validate/-/ssb-validate-4.0.5.tgz";
+        sha512 = "uniDFHD9eOMAK5D5ykpxlwyqTn0HxXTbO1icTkAmRcDR/qbghbtQ0muCgJj5hGHRZH7jYjPFjTbW2l4kzH/oag==";
       };
     };
     "ssb-ws-6.2.3" = {
@@ -37969,22 +38445,13 @@ let
         sha512 = "ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==";
       };
     };
-    "ssh-key-to-pem-0.11.0" = {
-      name = "ssh-key-to-pem";
-      packageName = "ssh-key-to-pem";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssh-key-to-pem/-/ssh-key-to-pem-0.11.0.tgz";
-        sha1 = "512675a28f08f1e581779e1989ab1e13effb49e4";
-      };
-    };
-    "sshpk-1.14.1" = {
+    "sshpk-1.14.2" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.14.1";
+      version = "1.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
-        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
+        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
       };
     };
     "sshpk-1.16.1" = {
@@ -38041,6 +38508,15 @@ let
         sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
       };
     };
+    "ssri-7.1.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz";
+        sha512 = "77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==";
+      };
+    };
     "stable-0.1.8" = {
       name = "stable";
       packageName = "stable";
@@ -38104,13 +38580,13 @@ let
         sha512 = "8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==";
       };
     };
-    "static-eval-2.0.2" = {
+    "static-eval-2.0.3" = {
       name = "static-eval";
       packageName = "static-eval";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz";
-        sha512 = "N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==";
+        url = "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz";
+        sha512 = "zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==";
       };
     };
     "static-extend-0.1.2" = {
@@ -38347,22 +38823,22 @@ let
         sha1 = "1618548694420021a1182ff0af1911c129761773";
       };
     };
-    "stream-shift-1.0.0" = {
-      name = "stream-shift";
-      packageName = "stream-shift";
-      version = "1.0.0";
+    "stream-promise-3.2.0" = {
+      name = "stream-promise";
+      packageName = "stream-promise";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
-        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+        url = "https://registry.npmjs.org/stream-promise/-/stream-promise-3.2.0.tgz";
+        sha512 = "P+7muTGs2C8yRcgJw/PPt61q7O517tDHiwYEzMWo1GSBCcZedUMT/clz7vUNsSxFphIlJ6QUL4GexQKlfJoVtA==";
       };
     };
-    "stream-source-0.3.5" = {
-      name = "stream-source";
-      packageName = "stream-source";
-      version = "0.3.5";
+    "stream-shift-1.0.1" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz";
-        sha512 = "ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==";
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
+        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     };
     "stream-splicer-2.0.1" = {
@@ -38446,33 +38922,6 @@ let
         sha512 = "4Wi2v47HMkNdRWrlFJNlIsrhV6z6nCyVKVAIiq14MAnc7wILEAINmn96IiPWTcXzT8y2S6yfBoX++MUxqiovag==";
       };
     };
-    "streamline-0.10.17" = {
-      name = "streamline";
-      packageName = "streamline";
-      version = "0.10.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/streamline/-/streamline-0.10.17.tgz";
-        sha1 = "fa2170da74194dbd0b54f756523f0d0d370426af";
-      };
-    };
-    "streamline-0.4.11" = {
-      name = "streamline";
-      packageName = "streamline";
-      version = "0.4.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/streamline/-/streamline-0.4.11.tgz";
-        sha1 = "0e3c4f24a3f052b231b12d5049085a0a099be782";
-      };
-    };
-    "streamline-streams-0.1.5" = {
-      name = "streamline-streams";
-      packageName = "streamline-streams";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/streamline-streams/-/streamline-streams-0.1.5.tgz";
-        sha1 = "5b0ff80cf543f603cc3438ed178ca2aec7899b54";
-      };
-    };
     "streamroller-1.0.6" = {
       name = "streamroller";
       packageName = "streamroller";
@@ -38536,13 +38985,13 @@ let
         sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
       };
     };
-    "string-kit-0.9.12" = {
+    "string-kit-0.11.3" = {
       name = "string-kit";
       packageName = "string-kit";
-      version = "0.9.12";
+      version = "0.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.9.12.tgz";
-        sha512 = "l6BRL9uO4uV1o6/r/mJthahp8qatqGv4l6Z2o2mX+y2VYc7gFb2YD0k3zThvw3BATj/nDvLTB1s167vc2JdeDg==";
+        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.11.3.tgz";
+        sha512 = "ZkCMF5wd4u6JK5CszLUePuEHCerk/xVkqO6Y7ocz4qo+Y36lYUxw8kG5PFLo8Q6V0DcPCad1Ro3SpOCxiJC+FA==";
       };
     };
     "string-length-2.0.0" = {
@@ -38617,58 +39066,49 @@ let
         sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string-width-4.1.0" = {
+    "string-width-4.2.0" = {
       name = "string-width";
       packageName = "string-width";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz";
-        sha512 = "NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz";
+        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
       };
     };
-    "string.prototype.padstart-3.0.0" = {
+    "string.prototype.padstart-3.1.0" = {
       name = "string.prototype.padstart";
       packageName = "string.prototype.padstart";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz";
-        sha1 = "5bcfad39f4649bb2d031292e19bcf0b510d4b242";
-      };
-    };
-    "string.prototype.trim-1.1.2" = {
-      name = "string.prototype.trim";
-      packageName = "string.prototype.trim";
-      version = "1.1.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz";
-        sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea";
+        url = "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.0.tgz";
+        sha512 = "envqZvUp2JItI+OeQ5UAh1ihbAV5G/2bixTojvlIa090GGqF+NQRxbWb2nv9fTGrZABv6+pE6jXoAZhhS2k4Hw==";
       };
     };
-    "string.prototype.trim-1.2.0" = {
+    "string.prototype.trim-1.2.1" = {
       name = "string.prototype.trim";
       packageName = "string.prototype.trim";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz";
-        sha512 = "9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==";
+        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz";
+        sha512 = "MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==";
       };
     };
-    "string.prototype.trimleft-2.1.0" = {
+    "string.prototype.trimleft-2.1.1" = {
       name = "string.prototype.trimleft";
       packageName = "string.prototype.trimleft";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
-        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
+        sha512 = "iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==";
       };
     };
-    "string.prototype.trimright-2.1.0" = {
+    "string.prototype.trimright-2.1.1" = {
       name = "string.prototype.trimright";
       packageName = "string.prototype.trimright";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
-        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
+        sha512 = "qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==";
       };
     };
     "string2compact-1.3.0" = {
@@ -38797,6 +39237,15 @@ let
         sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
+    "strip-ansi-6.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
+        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
+      };
+    };
     "strip-bom-1.0.0" = {
       name = "strip-bom";
       packageName = "strip-bom";
@@ -38824,6 +39273,15 @@ let
         sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
       };
     };
+    "strip-bom-4.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
+      };
+    };
     "strip-bom-buf-1.0.0" = {
       name = "strip-bom-buf";
       packageName = "strip-bom-buf";
@@ -38896,6 +39354,15 @@ let
         sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
       };
     };
+    "strip-final-newline-2.0.0" = {
+      name = "strip-final-newline";
+      packageName = "strip-final-newline";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
+        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
+      };
+    };
     "strip-indent-1.0.1" = {
       name = "strip-indent";
       packageName = "strip-indent";
@@ -38914,6 +39381,15 @@ let
         sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68";
       };
     };
+    "strip-indent-3.0.0" = {
+      name = "strip-indent";
+      packageName = "strip-indent";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";
+        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
+      };
+    };
     "strip-json-comments-0.1.3" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -39022,13 +39498,13 @@ let
         sha512 = "Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==";
       };
     };
-    "stylus-supremacy-2.12.7" = {
+    "stylus-supremacy-2.14.0" = {
       name = "stylus-supremacy";
       packageName = "stylus-supremacy";
-      version = "2.12.7";
+      version = "2.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stylus-supremacy/-/stylus-supremacy-2.12.7.tgz";
-        sha512 = "Z5P0XttU45C+s1F360Bn9pd/5rZrct28NTfhKnrXC33Y7KDWwJCYHvT8Ypwie6Huxnt9W1ffCjBbkZYlk9yXYw==";
+        url = "https://registry.npmjs.org/stylus-supremacy/-/stylus-supremacy-2.14.0.tgz";
+        sha512 = "XeoMvDSTxgJnRPvnyVnIyTDLawLoKcZw1zoWc88p9oFZXxZbEDx8PGLjR4pSkLXVn/VqU5p5YILa7FqYaFakUA==";
       };
     };
     "subarg-1.0.0" = {
@@ -39202,6 +39678,24 @@ let
         sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
       };
     };
+    "supports-color-7.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz";
+        sha512 = "oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==";
+      };
+    };
+    "supports-hyperlinks-1.0.1" = {
+      name = "supports-hyperlinks";
+      packageName = "supports-hyperlinks";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz";
+        sha512 = "HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==";
+      };
+    };
     "sver-compat-1.5.0" = {
       name = "sver-compat";
       packageName = "sver-compat";
@@ -39211,13 +39705,13 @@ let
         sha1 = "3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8";
       };
     };
-    "svgo-1.3.0" = {
+    "svgo-1.3.2" = {
       name = "svgo";
       packageName = "svgo";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz";
-        sha512 = "MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==";
+        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
+        sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
       };
     };
     "swagger-converter-0.1.7" = {
@@ -39283,13 +39777,13 @@ let
         sha1 = "70070468d6d2977ca5237b2e519ca7d06a2ea3fd";
       };
     };
-    "swagger-test-templates-1.5.1" = {
+    "swagger-test-templates-1.6.0" = {
       name = "swagger-test-templates";
       packageName = "swagger-test-templates";
-      version = "1.5.1";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-test-templates/-/swagger-test-templates-1.5.1.tgz";
-        sha512 = "p5EotTsyVunfNGvIr07r33Tij5p4r1aUv7QFvYYW3iO6pEUo2OXxINufkx8jBjD4/4hvP2ZlCjgLDexT2ClnGw==";
+        url = "https://registry.npmjs.org/swagger-test-templates/-/swagger-test-templates-1.6.0.tgz";
+        sha512 = "yWlUYlxT6FjVSvWJbHCMnAAAShSYdGvk1V1hd78Huey08Ra1Vzl8kIhhdExQ5+oLVzMrQE/FIm8fOtNjRXQqjA==";
       };
     };
     "swagger-tools-0.9.16" = {
@@ -39382,13 +39876,22 @@ let
         sha1 = "717d22cc53f0ce1def5594362f3a89a2ebb91105";
       };
     };
-    "sync-request-3.0.0" = {
+    "sync-request-5.0.0" = {
       name = "sync-request";
       packageName = "sync-request";
-      version = "3.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sync-request/-/sync-request-3.0.0.tgz";
-        sha1 = "8030046939b00096e625c0dd6b3905bc7b85709c";
+        url = "https://registry.npmjs.org/sync-request/-/sync-request-5.0.0.tgz";
+        sha512 = "NKhEA4WacR3mRBIFz1niXrIUTrUVFtP2spzrLMINangebvJ/EFyVv+LMJKvVl6UIrJM4Fburnnj91lRnqb4WkA==";
+      };
+    };
+    "sync-rpc-1.3.4" = {
+      name = "sync-rpc";
+      packageName = "sync-rpc";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.4.tgz";
+        sha512 = "Iug+t1ICVFenUcTnDu8WXFnT+k8IVoLKGh8VA3eXUtl2Rt9SjKX3YEv33OenABqpTPL9QEaHv1+CNn2LK8vMow==";
       };
     };
     "syntax-error-1.4.0" = {
@@ -39400,13 +39903,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-4.14.8" = {
+    "systeminformation-4.16.0" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "4.14.8";
+      version = "4.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.14.8.tgz";
-        sha512 = "05wW1YaMBI6LlVtvw2wXQGr0thpX8E0IImYcpbqUiNanfmq8e+V89pDW2L5V/mN8kU37W0VtVySftQ0PwMIXKw==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.16.0.tgz";
+        sha512 = "1FjxPJSw7ad0zug+1YIQATj6Cn+wM5OBASEpjohEeOD2EGPIf0Cnhthd1L2O1YX+wKgOMuPldGfxYdo8yNHEIg==";
       };
     };
     "syswide-cas-5.3.0" = {
@@ -39463,13 +39966,13 @@ let
         sha1 = "bb9c2ca6324f659fde7634c2caf3c096e1187ca7";
       };
     };
-    "tabtab-2.2.2" = {
+    "tabtab-3.0.2" = {
       name = "tabtab";
       packageName = "tabtab";
-      version = "2.2.2";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz";
-        sha1 = "7a047f143b010b4cbd31f857e82961512cbf4e14";
+        url = "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz";
+        sha512 = "jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==";
       };
     };
     "tabtab-git+https://github.com/mixu/node-tabtab.git" = {
@@ -39545,13 +40048,13 @@ let
         sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
       };
     };
-    "tape-4.11.0" = {
+    "tape-4.12.1" = {
       name = "tape";
       packageName = "tape";
-      version = "4.11.0";
+      version = "4.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz";
-        sha512 = "yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==";
+        url = "https://registry.npmjs.org/tape/-/tape-4.12.1.tgz";
+        sha512 = "xoK2ariLmdGxqyXhhxfIZlr0czNB8hNJeVQmHN4D7ZyBn30GUoa4q2oM4cX8jNhnj1mtILXn1ugbfxc0tTDKtA==";
       };
     };
     "tar-0.1.17" = {
@@ -39572,13 +40075,22 @@ let
         sha512 = "FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==";
       };
     };
-    "tar-4.4.11" = {
+    "tar-4.4.13" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.11";
+      version = "4.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.11.tgz";
-        sha512 = "iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA==";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+      };
+    };
+    "tar-5.0.5" = {
+      name = "tar";
+      packageName = "tar";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-5.0.5.tgz";
+        sha512 = "MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==";
       };
     };
     "tar-fs-2.0.0" = {
@@ -39626,13 +40138,13 @@ let
         sha1 = "a354305702a964357033027aa949eaed5331b784";
       };
     };
-    "taskkill-3.0.0" = {
+    "taskkill-3.1.0" = {
       name = "taskkill";
       packageName = "taskkill";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/taskkill/-/taskkill-3.0.0.tgz";
-        sha512 = "lKzlrlm9FVkxSwxl3h/9q/FQdjLke6AKPat5mfPN1+y9gH16F1/+pz3oQdQPJosBAEArW3vHuCMEoOf4d5l+NA==";
+        url = "https://registry.npmjs.org/taskkill/-/taskkill-3.1.0.tgz";
+        sha512 = "5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==";
       };
     };
     "tasklist-3.1.1" = {
@@ -39653,13 +40165,13 @@ let
         sha1 = "9450e8768c83b416fd4d1a6a9449eeccbf496c29";
       };
     };
-    "telegraf-3.32.0" = {
+    "telegraf-3.34.1" = {
       name = "telegraf";
       packageName = "telegraf";
-      version = "3.32.0";
+      version = "3.34.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.32.0.tgz";
-        sha512 = "5ZHiovyuG1rVLygJjaqf57wDt8e1nijAinKXCxN1tyUZ4BcrkZW/z5rVTEXA+KegpFbWxKKv3KnJwUJrKDqD0Q==";
+        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.34.1.tgz";
+        sha512 = "XKempUafzdi3TrPIA/jo2e7sRoLjE7oexgYTzQ7BeWHPnEi+Wh5EvOroOElSD9V4SCt9bub3HM352VK7dJS8Zw==";
       };
     };
     "telegram-typings-3.6.1" = {
@@ -39689,6 +40201,15 @@ let
         sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59";
       };
     };
+    "temp-0.8.4" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz";
+        sha512 = "s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==";
+      };
+    };
     "temp-0.9.0" = {
       name = "temp";
       packageName = "temp";
@@ -39698,6 +40219,15 @@ let
         sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
       };
     };
+    "temp-0.9.1" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
+      };
+    };
     "temp-dir-1.0.0" = {
       name = "temp-dir";
       packageName = "temp-dir";
@@ -39752,13 +40282,22 @@ let
         sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
       };
     };
-    "terminal-kit-1.31.3" = {
+    "term-size-2.1.1" = {
+      name = "term-size";
+      packageName = "term-size";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz";
+        sha512 = "UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A==";
+      };
+    };
+    "terminal-kit-1.32.2" = {
       name = "terminal-kit";
       packageName = "terminal-kit";
-      version = "1.31.3";
+      version = "1.32.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.31.3.tgz";
-        sha512 = "nFNMB70bnvvlCazD2GLhJNmL8uaYxtCd5NarsNFI98oDtn7VJr2TCkfKGX2NxIK42wFWE9ieCUEA93kDvPcBWw==";
+        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.32.2.tgz";
+        sha512 = "OjN7FQ1n3rhJblI1LNUt9sP+t8kkJVQi96sJoFcnRECE59nKK5B1mfS6OCvOeDzH89mUABZYcoPE9rj4LTmhGQ==";
       };
     };
     "terser-3.17.0" = {
@@ -39770,22 +40309,22 @@ let
         sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
       };
     };
-    "terser-4.3.1" = {
+    "terser-4.4.3" = {
       name = "terser";
       packageName = "terser";
-      version = "4.3.1";
+      version = "4.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.3.1.tgz";
-        sha512 = "pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg==";
+        url = "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz";
+        sha512 = "0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==";
       };
     };
-    "terser-webpack-plugin-1.4.1" = {
+    "terser-webpack-plugin-1.4.3" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "1.4.1";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
-        sha512 = "ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
+        sha512 = "QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==";
       };
     };
     "test-exclude-4.2.3" = {
@@ -39797,13 +40336,13 @@ let
         sha512 = "SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==";
       };
     };
-    "text-extensions-2.0.0" = {
+    "text-extensions-1.9.0" = {
       name = "text-extensions";
       packageName = "text-extensions";
-      version = "2.0.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz";
-        sha512 = "F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==";
+        url = "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz";
+        sha512 = "wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==";
       };
     };
     "text-hex-1.0.0" = {
@@ -39851,15 +40390,6 @@ let
         sha512 = "PW6rXqLNGL3xZ6d5/INrX+pt8qbffmeDPLcvkBOlfNpDRFhVvNNjFmZXH86ZQjrOz9t/nNZDBXqnzqJuioJbSQ==";
       };
     };
-    "thelounge-ldapjs-non-maintained-fork-1.0.4" = {
-      name = "thelounge-ldapjs-non-maintained-fork";
-      packageName = "thelounge-ldapjs-non-maintained-fork";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/thelounge-ldapjs-non-maintained-fork/-/thelounge-ldapjs-non-maintained-fork-1.0.4.tgz";
-        sha512 = "uf6H6UMv6EKmU81V1Q5lECwiGz4noSua+C+nGiC/Vgtayu3VRjtSSIJzUJDUjJT3YS8HJgkvBe2SsgGrPlT/7g==";
-      };
-    };
     "then-fs-2.0.0" = {
       name = "then-fs";
       packageName = "then-fs";
@@ -39869,13 +40399,13 @@ let
         sha1 = "72f792dd9d31705a91ae19ebfcf8b3f968c81da2";
       };
     };
-    "then-request-2.2.0" = {
+    "then-request-5.0.0" = {
       name = "then-request";
       packageName = "then-request";
-      version = "2.2.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz";
-        sha1 = "6678b32fa0ca218fe569981bbd8871b594060d81";
+        url = "https://registry.npmjs.org/then-request/-/then-request-5.0.0.tgz";
+        sha512 = "A3uIVLD33SAvB10PfsxLuQBMV8GVC/6xKBMPOvkJchi6251e5AMJ+Yy+RVKsVsnj0iYNhN2E5SkNSi58H19wsw==";
       };
     };
     "thenify-3.3.0" = {
@@ -39950,15 +40480,6 @@ let
         sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd";
       };
     };
-    "through-2.3.4" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.4.tgz";
-        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
-      };
-    };
     "through-2.3.8" = {
       name = "through";
       packageName = "through";
@@ -39986,6 +40507,15 @@ let
         sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
       };
     };
+    "through2-2.0.0" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.0.tgz";
+        sha1 = "f41a1c31df5e129e4314446f66eca05cd6a30480";
+      };
+    };
     "through2-2.0.3" = {
       name = "through2";
       packageName = "through2";
@@ -40049,13 +40579,13 @@ let
         sha1 = "bf30146824e2b6e67b0f2d7a4ac8beb26908684e";
       };
     };
-    "thunky-1.0.3" = {
+    "thunky-1.1.0" = {
       name = "thunky";
       packageName = "thunky";
-      version = "1.0.3";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz";
-        sha512 = "YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==";
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
+        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
       };
     };
     "tildify-1.2.0" = {
@@ -40148,13 +40678,13 @@ let
         sha512 = "NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==";
       };
     };
-    "tiny-inflate-1.0.2" = {
+    "tiny-inflate-1.0.3" = {
       name = "tiny-inflate";
       packageName = "tiny-inflate";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz";
-        sha1 = "93d9decffc8805bd57eae4310f0b745e9b6fb3a7";
+        url = "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz";
+        sha512 = "pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==";
       };
     };
     "tinycolor-0.0.1" = {
@@ -40193,6 +40723,15 @@ let
         sha512 = "zxhwsBpxD5fglnqHYZ9ZjunC8Hc67u/7QXzxHmhAIzzSr4a/Cq5PbzCeHsBZ7WL99uBUa6xgVLfjmGxnFU8XMg==";
       };
     };
+    "tldjs-2.3.1" = {
+      name = "tldjs";
+      packageName = "tldjs";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tldjs/-/tldjs-2.3.1.tgz";
+        sha512 = "W/YVH/QczLUxVjnQhFC61Iq232NWu3TqDdO0S/MtXVz4xybejBov4ud+CIwN9aYqjOecEqIy0PscGkwpG9ZyTw==";
+      };
+    };
     "tlds-1.203.1" = {
       name = "tlds";
       packageName = "tlds";
@@ -40562,13 +41101,13 @@ let
         sha512 = "H/Z/yCuvZJj1vl1IQHI8dvF2QrUuXRJoptT5DW5967/dsLpXlCg+uyhFR5lfNj5mNaYePUbKtnL+qKWZGXv4Nw==";
       };
     };
-    "torrent-stream-1.1.0" = {
+    "torrent-stream-1.2.0" = {
       name = "torrent-stream";
       packageName = "torrent-stream";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.1.0.tgz";
-        sha512 = "yjKU8l985+/D2CdnAR2+pEpyMX13rlQ1kNYik34EHxcul7BjifW5sMizT+u47suOeBTji3lHBA7eZGhBjpnM6g==";
+        url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.2.0.tgz";
+        sha512 = "piQP9/wrXRYvEUAsmdu+fy2D2WPwU7BcsflTnKLsZsrUDBT/Y1INhuYU7Fw9PqEm+RF7QAa2gD8nMmvfb7QomA==";
       };
     };
     "tosource-1.0.0" = {
@@ -40661,15 +41200,6 @@ let
         sha1 = "8a7e8ab3044ad19f233f50c15894cbf69e5d205e";
       };
     };
-    "traverse-0.3.9" = {
-      name = "traverse";
-      packageName = "traverse";
-      version = "0.3.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz";
-        sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
-      };
-    };
     "traverse-0.4.6" = {
       name = "traverse";
       packageName = "traverse";
@@ -40706,31 +41236,31 @@ let
         sha512 = "4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==";
       };
     };
-    "tree-kit-0.6.1" = {
-      name = "tree-kit";
-      packageName = "tree-kit";
-      version = "0.6.1";
+    "tree-kill-1.2.2" = {
+      name = "tree-kill";
+      packageName = "tree-kill";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.6.1.tgz";
-        sha512 = "7mV4KbsLMuA6ths3J1wpVUj2PLmLdoNEGnP9fm3kxef4UXYC/A0rL5gKsqtkUaCMuRYUMORyioy8IpBWUBQ1Ig==";
+        url = "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz";
+        sha512 = "L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==";
       };
     };
-    "tree-sitter-0.13.23" = {
-      name = "tree-sitter";
-      packageName = "tree-sitter";
-      version = "0.13.23";
+    "tree-kit-0.6.2" = {
+      name = "tree-kit";
+      packageName = "tree-kit";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.13.23.tgz";
-        sha512 = "75AiPbMEstv+YK8h4FkAHnmAJ6nNIUj/NFzRvKCHovmwSEKMi8Wc/E/crB4lJnHBOfV/f/DMQjN+e1Y36kagug==";
+        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.6.2.tgz";
+        sha512 = "95UzJA0EMbFfu5sGUUOoXixQMUGkwu82nGM4lmqLyQl+R4H3FK+lS0nT8TZJ5x7JhSHy+saVn7/AOqh6d+tmOg==";
       };
     };
-    "tree-sitter-bash-0.13.9" = {
-      name = "tree-sitter-bash";
-      packageName = "tree-sitter-bash";
-      version = "0.13.9";
+    "treeify-1.1.0" = {
+      name = "treeify";
+      packageName = "treeify";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-sitter-bash/-/tree-sitter-bash-0.13.9.tgz";
-        sha512 = "b0L+QLS2eeIVrHnnbkFlvO1nElhPwqTxLIwyTeJytPYT0TS50Pe7bP+uPi3gkHT1YajxcauCxX1aDWDiZK1h5Q==";
+        url = "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz";
+        sha512 = "1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==";
       };
     };
     "trim-0.0.1" = {
@@ -40769,6 +41299,15 @@ let
         sha1 = "b403d0b91be50c331dfc4b82eeceb22c3de16d20";
       };
     };
+    "trim-newlines-3.0.0" = {
+      name = "trim-newlines";
+      packageName = "trim-newlines";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz";
+        sha512 = "C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==";
+      };
+    };
     "trim-off-newlines-1.0.1" = {
       name = "trim-off-newlines";
       packageName = "trim-off-newlines";
@@ -40868,13 +41407,22 @@ let
         sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
       };
     };
-    "ts-node-8.4.1" = {
+    "ts-loader-5.4.5" = {
+      name = "ts-loader";
+      packageName = "ts-loader";
+      version = "5.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-5.4.5.tgz";
+        sha512 = "XYsjfnRQCBum9AMRZpk2rTYSVpdZBpZK+kDh0TeT3kxmQNBDVIeUjdPjY5RZry4eIAb8XHc4gYSUiUWPYvzSRw==";
+      };
+    };
+    "ts-node-8.5.4" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "8.4.1";
+      version = "8.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.4.1.tgz";
-        sha512 = "5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.5.4.tgz";
+        sha512 = "izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==";
       };
     };
     "ts-process-promises-1.0.2" = {
@@ -40904,13 +41452,22 @@ let
         sha512 = "4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==";
       };
     };
-    "tslint-5.20.0" = {
+    "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
-      version = "5.20.0";
+      version = "5.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
+      };
+    };
+    "tslint-config-prettier-1.18.0" = {
+      name = "tslint-config-prettier";
+      packageName = "tslint-config-prettier";
+      version = "1.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz";
-        sha512 = "2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==";
+        url = "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz";
+        sha512 = "xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -40958,6 +41515,15 @@ let
         sha512 = "+bGy9iDAqg3WSfc2ZrprToSPJhZjqy7vUv9wupQzsiv+BVPVx1T2a6G4T0290SpQj+56Toaw9BiLO5j5Bd7QzA==";
       };
     };
+    "tty-1.0.1" = {
+      name = "tty";
+      packageName = "tty";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tty/-/tty-1.0.1.tgz";
+        sha1 = "e4409ac98b0dd1c50b59ff38e86eac3f0764ee45";
+      };
+    };
     "tty-browserify-0.0.0" = {
       name = "tty-browserify";
       packageName = "tty-browserify";
@@ -40976,24 +41542,6 @@ let
         sha512 = "C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==";
       };
     };
-    "tunnel-0.0.2" = {
-      name = "tunnel";
-      packageName = "tunnel";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.2.tgz";
-        sha1 = "f23bcd8b7a7b8a864261b2084f66f93193396334";
-      };
-    };
-    "tunnel-0.0.5" = {
-      name = "tunnel";
-      packageName = "tunnel";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.5.tgz";
-        sha512 = "gj5sdqherx4VZKMcBA4vewER7zdK25Td+z1npBqpbDys4eJrLx+SlYjJvq1bDXs2irkuJM5pf8ktaEQVipkrbA==";
-      };
-    };
     "tunnel-0.0.6" = {
       name = "tunnel";
       packageName = "tunnel";
@@ -41057,22 +41605,13 @@ let
         sha1 = "b75bc2df15649bb84e8b9aa3c0669c6c4bce0d25";
       };
     };
-    "twig-1.13.3" = {
+    "twig-1.14.0" = {
       name = "twig";
       packageName = "twig";
-      version = "1.13.3";
+      version = "1.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/twig/-/twig-1.13.3.tgz";
-        sha512 = "Kjart2102Kf0IdsEmLonSJKcByU7o9uiJhBde3GhrNHrX4XenT5WSKu4Hpkx+rF6Kyppeyd48BKsCREIOPXd/g==";
-      };
-    };
-    "twitter-ng-0.6.2" = {
-      name = "twitter-ng";
-      packageName = "twitter-ng";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/twitter-ng/-/twitter-ng-0.6.2.tgz";
-        sha1 = "13707115dd04c9bd1f2c646da976589be4d64bc4";
+        url = "https://registry.npmjs.org/twig/-/twig-1.14.0.tgz";
+        sha512 = "ut1LslUKAeF56TYQglabJaATUqbNuGO3EcXDhUspAdNbxez5VwTk2n8H00V0VfNy9Scet+VGQP8oPxt4v6mykQ==";
       };
     };
     "txt-to-ast-3.0.3" = {
@@ -41093,6 +41632,15 @@ let
         sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     };
+    "type-2.0.0" = {
+      name = "type";
+      packageName = "type";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type/-/type-2.0.0.tgz";
+        sha512 = "KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==";
+      };
+    };
     "type-check-0.3.2" = {
       name = "type-check";
       packageName = "type-check";
@@ -41120,13 +41668,22 @@ let
         sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
       };
     };
-    "type-fest-0.5.2" = {
+    "type-fest-0.6.0" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "0.5.2";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";
+        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
+      };
+    };
+    "type-fest-0.8.1" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz";
-        sha512 = "DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==";
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
+        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
       };
     };
     "type-is-1.5.7" = {
@@ -41147,13 +41704,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typechecker-4.7.0" = {
+    "typechecker-4.11.0" = {
       name = "typechecker";
       packageName = "typechecker";
-      version = "4.7.0";
+      version = "4.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typechecker/-/typechecker-4.7.0.tgz";
-        sha512 = "4LHc1KMNJ6NDGO+dSM/yNfZQRtp8NN7psYrPHUblD62Dvkwsp3VShsbM78kOgpcmMkRTgvwdKOTjctS+uMllgQ==";
+        url = "https://registry.npmjs.org/typechecker/-/typechecker-4.11.0.tgz";
+        sha512 = "lz39Mc/d1UBcF/uQFL5P8L+oWdIn/stvkUgHf0tPRW4aEwGGErewNXo2Nb6We2WslWifn00rhcHbbRWRcTGhuw==";
       };
     };
     "typed-function-1.1.0" = {
@@ -41201,22 +41758,13 @@ let
         sha512 = "kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg==";
       };
     };
-    "typescript-3.5.3" = {
+    "typescript-3.7.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.5.3";
+      version = "3.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz";
-        sha512 = "ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==";
-      };
-    };
-    "typescript-3.6.3" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "3.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
-        sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz";
+        sha512 = "A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -41309,22 +41857,22 @@ let
         sha512 = "Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==";
       };
     };
-    "uglify-js-3.4.9" = {
+    "uglify-js-3.6.9" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.4.9";
+      version = "3.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz";
-        sha512 = "8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz";
+        sha512 = "pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==";
       };
     };
-    "uglify-js-3.6.0" = {
+    "uglify-js-3.7.2" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.6.0";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
-        sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz";
+        sha512 = "uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -41507,15 +42055,6 @@ let
         sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
       };
     };
-    "underscore-1.8.3" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
-      };
-    };
     "underscore-1.9.1" = {
       name = "underscore";
       packageName = "underscore";
@@ -41687,13 +42226,13 @@ let
         sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
       };
     };
-    "union-0.4.6" = {
+    "union-0.5.0" = {
       name = "union";
       packageName = "union";
-      version = "0.4.6";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/union/-/union-0.4.6.tgz";
-        sha1 = "198fbdaeba254e788b0efcb630bc11f24a2959e0";
+        url = "https://registry.npmjs.org/union/-/union-0.5.0.tgz";
+        sha512 = "N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==";
       };
     };
     "union-value-1.0.1" = {
@@ -41777,6 +42316,15 @@ let
         sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
       };
     };
+    "unique-string-2.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
+        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
+      };
+    };
     "unist-util-filter-0.2.1" = {
       name = "unist-util-filter";
       packageName = "unist-util-filter";
@@ -41840,31 +42388,31 @@ let
         sha512 = "dFil/AN6vqhnQWNCZk0GF/G3+Q5YwsB+PqjnzvpO2wzdRtUJ1E8PN+XRE/PRr/G3FzKjRTJU0haqE0Ekl+O3Ag==";
       };
     };
-    "unist-util-modify-children-1.1.4" = {
+    "unist-util-modify-children-1.1.5" = {
       name = "unist-util-modify-children";
       packageName = "unist-util-modify-children";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.4.tgz";
-        sha512 = "8iey9wkoB62C7Vi/8zcRUmi4b1f5AYKTwMkyEgLduo2D8+OY65RoSvbn6k9tVNri6qumXxAwXDVlXWQi0sENTw==";
+        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.5.tgz";
+        sha512 = "XeL5qqyoS3TEueCKEzHusWXE9JBDJPE4rl6LmcLOwlzv0RIZrcMNqKx02GSK3Ms4v45ldu+ltPxG42FBMVdPZw==";
       };
     };
-    "unist-util-position-3.0.3" = {
+    "unist-util-position-3.0.4" = {
       name = "unist-util-position";
       packageName = "unist-util-position";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz";
-        sha512 = "28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==";
+        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.4.tgz";
+        sha512 = "tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==";
       };
     };
-    "unist-util-remove-position-1.1.3" = {
+    "unist-util-remove-position-1.1.4" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz";
-        sha512 = "CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==";
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz";
+        sha512 = "tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==";
       };
     };
     "unist-util-stringify-position-1.1.2" = {
@@ -41876,13 +42424,13 @@ let
         sha512 = "pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==";
       };
     };
-    "unist-util-stringify-position-2.0.1" = {
+    "unist-util-stringify-position-2.0.2" = {
       name = "unist-util-stringify-position";
       packageName = "unist-util-stringify-position";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz";
-        sha512 = "Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==";
+        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz";
+        sha512 = "nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==";
       };
     };
     "unist-util-visit-1.4.1" = {
@@ -41939,13 +42487,13 @@ let
         sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     };
-    "unix-crypt-td-js-1.0.0" = {
+    "unix-crypt-td-js-1.1.4" = {
       name = "unix-crypt-td-js";
       packageName = "unix-crypt-td-js";
-      version = "1.0.0";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz";
-        sha1 = "1c0824150481bc7a01d49e98f1ec668d82412f3b";
+        url = "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz";
+        sha512 = "8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==";
       };
     };
     "unixify-1.0.0" = {
@@ -42074,24 +42622,6 @@ let
         sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
       };
     };
-    "unzipper-0.9.7" = {
-      name = "unzipper";
-      packageName = "unzipper";
-      version = "0.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unzipper/-/unzipper-0.9.7.tgz";
-        sha512 = "icFtME1RD648v+cjfcUWoky4bHbMTi8nk06nGxH77EPYyEeKaTgT3nRHM/dQ3znGXLi3+OlhYo86zQzNBRdNhw==";
-      };
-    };
-    "upath-1.1.2" = {
-      name = "upath";
-      packageName = "upath";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz";
-        sha512 = "kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==";
-      };
-    };
     "upath-1.2.0" = {
       name = "upath";
       packageName = "upath";
@@ -42128,6 +42658,15 @@ let
         sha512 = "grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==";
       };
     };
+    "update-notifier-4.0.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-4.0.0.tgz";
+        sha512 = "p9zf71hWt5GVXM4iEBujpUgx8mK9AWiCCapEJm/O1z5ntCim83Z1ATqzZFBHFYqx03laMqv8LiDgs/7ikXjf/g==";
+      };
+    };
     "upnp-device-client-1.0.2" = {
       name = "upnp-device-client";
       packageName = "upnp-device-client";
@@ -42182,13 +42721,13 @@ let
         sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
       };
     };
-    "urijs-1.19.1" = {
+    "urijs-1.19.2" = {
       name = "urijs";
       packageName = "urijs";
-      version = "1.19.1";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz";
-        sha512 = "xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==";
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz";
+        sha512 = "s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==";
       };
     };
     "urix-0.1.0" = {
@@ -42560,13 +43099,13 @@ let
         sha512 = "vRAKaS8WcYNgzbxyH2LdheqgL4sQLis8LXl7r/mN+O4mpWlUpoCsTtietxepLrft2q0TFA2gaIvSWN1iRkzW/w==";
       };
     };
-    "utp-native-2.1.4" = {
+    "utp-native-2.1.5" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.1.4.tgz";
-        sha512 = "FYjr3bHBnJpw8yD0CmFCh5USyDgr6VtuncEIun100GqCUdgqnkAx9irSY3tA4UrzRH56qmiocP2fs1QjQ7ZDZA==";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.1.5.tgz";
+        sha512 = "vQ193WXyOOo+LikYgXlhFLVU7w9zdLOuXr1mgmS/kRMtq/B7DgVbPPSWzKzfcUnBeS1vRApVzR8+o4xYItObcw==";
       };
     };
     "uuid-2.0.3" = {
@@ -42704,13 +43243,13 @@ let
         sha512 = "X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==";
       };
     };
-    "validator-5.2.0" = {
+    "validator-11.1.0" = {
       name = "validator";
       packageName = "validator";
-      version = "5.2.0";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/validator/-/validator-5.2.0.tgz";
-        sha1 = "e66fb3ec352348c1f7232512328738d8d66a9689";
+        url = "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz";
+        sha512 = "qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==";
       };
     };
     "validator-5.7.0" = {
@@ -42722,15 +43261,6 @@ let
         sha1 = "7a87a58146b695ac486071141c0c49d67da05e5c";
       };
     };
-    "validator-9.4.1" = {
-      name = "validator";
-      packageName = "validator";
-      version = "9.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz";
-        sha512 = "YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==";
-      };
-    };
     "value-or-function-3.0.0" = {
       name = "value-or-function";
       packageName = "value-or-function";
@@ -42839,6 +43369,15 @@ let
         sha1 = "dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f";
       };
     };
+    "vasync-2.2.0" = {
+      name = "vasync";
+      packageName = "vasync";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vasync/-/vasync-2.2.0.tgz";
+        sha1 = "cfde751860a15822db3b132bc59b116a4adaf01b";
+      };
+    };
     "vendors-1.0.3" = {
       name = "vendors";
       packageName = "vendors";
@@ -42848,13 +43387,13 @@ let
         sha512 = "fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==";
       };
     };
-    "verda-1.0.0-4" = {
+    "verda-1.0.0-12" = {
       name = "verda";
       packageName = "verda";
-      version = "1.0.0-4";
+      version = "1.0.0-12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verda/-/verda-1.0.0-4.tgz";
-        sha512 = "DKr2WdWlPwJvmqCcjs6LPaBOacFQUdk6+u7tqwkxYKbHa0Touff7Y6x+YAWbnT1dace5Qlv/CRr6YBEaB08r3A==";
+        url = "https://registry.npmjs.org/verda/-/verda-1.0.0-12.tgz";
+        sha512 = "pNfCbq1WlBTE0SsyajJFzkQtp+E/opy5/+8405XHE4VMQ+3Xr/h2s9OijnbHPwPDJvybV4+JCktJhc6Ru6yg7w==";
       };
     };
     "verror-1.1.0" = {
@@ -42929,13 +43468,13 @@ let
         sha512 = "y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==";
       };
     };
-    "vfile-4.0.1" = {
+    "vfile-4.0.2" = {
       name = "vfile";
       packageName = "vfile";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz";
-        sha512 = "lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==";
+        url = "https://registry.npmjs.org/vfile/-/vfile-4.0.2.tgz";
+        sha512 = "yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==";
       };
     };
     "vfile-find-down-1.0.0" = {
@@ -42965,13 +43504,13 @@ let
         sha512 = "kYGgsSNpYjPxcEoud1aHNFfchsV0Z6Pyc8M5LfD1wX/tV0/bn32MKHDfv4fqV9DBLVuw2YSGOs31nRY/42DfUA==";
       };
     };
-    "vfile-location-2.0.5" = {
+    "vfile-location-2.0.6" = {
       name = "vfile-location";
       packageName = "vfile-location";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz";
-        sha512 = "Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==";
+        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz";
+        sha512 = "sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==";
       };
     };
     "vfile-message-1.1.1" = {
@@ -42983,13 +43522,13 @@ let
         sha512 = "1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==";
       };
     };
-    "vfile-message-2.0.1" = {
+    "vfile-message-2.0.2" = {
       name = "vfile-message";
       packageName = "vfile-message";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz";
-        sha512 = "KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==";
+        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz";
+        sha512 = "gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==";
       };
     };
     "vfile-reporter-1.5.0" = {
@@ -43154,13 +43693,13 @@ let
         sha512 = "DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==";
       };
     };
-    "vm-browserify-1.1.0" = {
+    "vm-browserify-1.1.2" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
-      version = "1.1.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz";
-        sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==";
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
+        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
     "voc-1.1.0" = {
@@ -43199,13 +43738,13 @@ let
         sha512 = "pTnfXbsME3pl+yDfhUp/mtvPyIJk0Le4zqJxDn56s9GY9LqY0RmkSEh0oHH6D0HXR3Ni6wKosIaqu8a2G0+jdw==";
       };
     };
-    "vscode-emmet-helper-1.2.15" = {
+    "vscode-emmet-helper-1.2.16" = {
       name = "vscode-emmet-helper";
       packageName = "vscode-emmet-helper";
-      version = "1.2.15";
+      version = "1.2.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.15.tgz";
-        sha512 = "JplvmMMWSvm/6/dZezix2ADPM49u6YahPYjs/QToohUpomW/2Eb27ecCrkCyOGBPfKLKGiOPHCssss8TSDA9ag==";
+        url = "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.16.tgz";
+        sha512 = "BuQK6fTV2w65Yd0/CJGj1EOvcJ9NHWfrMJ9nA8pjnu9jzAAnXLhnbviuGT9medMiPU0mp0tJqc/8Z0qlXcqdGw==";
       };
     };
     "vscode-html-languageservice-2.1.12" = {
@@ -43235,13 +43774,13 @@ let
         sha512 = "perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==";
       };
     };
-    "vscode-jsonrpc-4.1.0-next.3" = {
+    "vscode-jsonrpc-5.0.0-next.5" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "4.1.0-next.3";
+      version = "5.0.0-next.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.1.0-next.3.tgz";
-        sha512 = "Z6oxBiMks2+UADV1QHXVooSakjyhI+eHTnXzDyVvVMmegvSfkXk2w6mPEdSkaNHFBdtWW7n20H1yw2nA3A17mg==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.0-next.5.tgz";
+        sha512 = "k9akfglxWgr0dtLNscq2uBq48XJwnhf4EaDxn05KQowRwR0DkNML0zeYqFRLtXZe6x5vpL5ppyu4o6GqL+23YQ==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -43298,13 +43837,13 @@ let
         sha512 = "IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==";
       };
     };
-    "vscode-languageserver-protocol-3.15.0-next.8" = {
+    "vscode-languageserver-protocol-3.15.0-next.14" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.15.0-next.8";
+      version = "3.15.0-next.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.8.tgz";
-        sha512 = "9FigDhuYTUqX73IGKgJeyLmfXQJv9p3t22RF3peT+HM33uFiTZE3MUgHj4I9m/dKCDvuJt0yvbI27ut4hDoGRQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.14.tgz";
+        sha512 = "xUwwno6Q6RFd2Z2EWV9D3dQlsKPnHyiZMNWq+EC7JJdp2WH1gRlD+KPX4UGRCnJK0WI5omqHV313IESPwRY5xA==";
       };
     };
     "vscode-languageserver-protocol-3.6.0" = {
@@ -43334,13 +43873,13 @@ let
         sha512 = "lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==";
       };
     };
-    "vscode-languageserver-types-3.15.0-next.4" = {
+    "vscode-languageserver-types-3.15.0-next.9" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.15.0-next.4";
+      version = "3.15.0-next.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.4.tgz";
-        sha512 = "IKIWTdUPBnOtwznIrhxKnjVZ7hYxEzwZ3M2xmDi7OjjexuOM6LnGtoo1Dv4wYSik4epK4STEib6e8da2GxUsJA==";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.9.tgz";
+        sha512 = "Rl/8qJ6932nrHCdPn+9y0x08uLVQaSLRG+U4JzhyKpWU4eJbVaDRoAcz1Llj7CErJGbPr6kdBvShPy5fRfR+Uw==";
       };
     };
     "vscode-languageserver-types-3.6.0" = {
@@ -43388,6 +43927,15 @@ let
         sha1 = "631bdbf716dccab0e65291a8dc25c23232085a52";
       };
     };
+    "vscode-uri-1.0.6" = {
+      name = "vscode-uri";
+      packageName = "vscode-uri";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz";
+        sha512 = "sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww==";
+      };
+    };
     "vscode-uri-1.0.8" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
@@ -43406,13 +43954,13 @@ let
         sha1 = "13587190f34e72ba7a07ebbaa7e70ac147b1fb7d";
       };
     };
-    "vue-cli-plugin-apollo-0.20.0" = {
+    "vue-cli-plugin-apollo-0.21.3" = {
       name = "vue-cli-plugin-apollo";
       packageName = "vue-cli-plugin-apollo";
-      version = "0.20.0";
+      version = "0.21.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-cli-plugin-apollo/-/vue-cli-plugin-apollo-0.20.0.tgz";
-        sha512 = "Ey/luK5HtP4ZQhua5RKETR672pE7BPymaso//Ccl/wxQI1BqVTxg9o/wYeXuURBIw2Et9JaVLXmh0e9uKgk8Jw==";
+        url = "https://registry.npmjs.org/vue-cli-plugin-apollo/-/vue-cli-plugin-apollo-0.21.3.tgz";
+        sha512 = "8CzRVrAsFkB9lpl600cRCNR9OUnrSYYAIVF9/qW4pP0TMXbhrd1F1wEAAN6E0CPimjTLB+qSt6zWS4vb2wC8Wg==";
       };
     };
     "vue-eslint-parser-2.0.3" = {
@@ -43433,22 +43981,22 @@ let
         sha512 = "JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==";
       };
     };
-    "vue-eslint-parser-6.0.4" = {
+    "vue-eslint-parser-6.0.5" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "6.0.4";
+      version = "6.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-6.0.4.tgz";
-        sha512 = "GYsDsDWwKaGtnkW4nGUxr01wqIO2FB9/QHQTW1Gl5SUr5OyQvpnR90/D+Gq2cIxURX7aJ7+VyD+37Yx9eFwTgw==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-6.0.5.tgz";
+        sha512 = "Bvjlx7rH1Ulvus56KHeLXOjEi3JMOYTa1GAqZr9lBQhd8weK8mV7U7V2l85yokBZEWHJQjLn6X3nosY8TzkOKg==";
       };
     };
-    "vue-jscodeshift-adapter-2.0.2" = {
+    "vue-jscodeshift-adapter-2.0.3" = {
       name = "vue-jscodeshift-adapter";
       packageName = "vue-jscodeshift-adapter";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-jscodeshift-adapter/-/vue-jscodeshift-adapter-2.0.2.tgz";
-        sha512 = "EnRKDgQXGHnNbHpHdTEqBfDMxRPFSUc/hlDNLd9ucgdfpJ3S6o/V6og+CfNYgGPO2GKD6AQOsd+lltRuoM/SVA==";
+        url = "https://registry.npmjs.org/vue-jscodeshift-adapter/-/vue-jscodeshift-adapter-2.0.3.tgz";
+        sha512 = "RXv0lrDG2CAx3yAQCoD9beU8nAoT3rhh/fgb+xlYM0Qlm+cpkWSLTdfOt1x2j2wHI08uEsi0q7x6rjhn54EbNA==";
       };
     };
     "vue-onsenui-helper-json-1.0.2" = {
@@ -43469,13 +44017,13 @@ let
         sha512 = "VYNMsrIPZQZau5Gk8IVtgonN1quOznP9/pLIF5m2c4R30KCDDe3NwthrsM7lSUY2K4lezcb8j3Wu8cQhBuZEMQ==";
       };
     };
-    "vue-template-compiler-2.6.10" = {
+    "vue-template-compiler-2.6.11" = {
       name = "vue-template-compiler";
       packageName = "vue-template-compiler";
-      version = "2.6.10";
+      version = "2.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz";
-        sha512 = "jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==";
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz";
+        sha512 = "KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==";
       };
     };
     "w3c-hr-time-1.0.1" = {
@@ -43568,13 +44116,22 @@ let
         sha1 = "7137946585c73fe44882013853bd000c5d687a4e";
       };
     };
-    "web-push-3.3.5" = {
+    "web-push-3.4.1" = {
       name = "web-push";
       packageName = "web-push";
-      version = "3.3.5";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-push/-/web-push-3.3.5.tgz";
-        sha512 = "sukVBk0chRCL4n+Xwurl2TlD4/JmezNv4L2nwlTZx4KwMeUPfmD9TdGl6A6taayNgjObYzp0k0gubAcQCp7TMg==";
+        url = "https://registry.npmjs.org/web-push/-/web-push-3.4.1.tgz";
+        sha512 = "wtx18llPtWWW+x8hv+Gxvz+2VjO+vZuyihInsjySNpNGNVswH1Bb2KkbbCtE96yi52VUmbFMdidxM8kJAPaSWQ==";
+      };
+    };
+    "web-tree-sitter-0.15.11" = {
+      name = "web-tree-sitter";
+      packageName = "web-tree-sitter";
+      version = "0.15.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.11.tgz";
+        sha512 = "7Sr26MV8bPPvKU+4VMpOoLYwaAFBsCsxRGtxYPSxClWIaR2KIciqg6zUeG14W9QrdlpBt7VHHzhd1CBb0e6i8w==";
       };
     };
     "webassemblyjs-1.8.5" = {
@@ -43604,22 +44161,22 @@ let
         sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
       };
     };
-    "webpack-4.40.2" = {
+    "webpack-4.41.4" = {
       name = "webpack";
       packageName = "webpack";
-      version = "4.40.2";
+      version = "4.41.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.40.2.tgz";
-        sha512 = "5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz";
+        sha512 = "Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==";
       };
     };
-    "webpack-cli-3.3.9" = {
+    "webpack-cli-3.3.10" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "3.3.9";
+      version = "3.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
-        sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz";
+        sha512 = "u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==";
       };
     };
     "webpack-core-0.6.9" = {
@@ -43667,13 +44224,13 @@ let
         sha512 = "EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==";
       };
     };
-    "webtorrent-0.107.16" = {
+    "webtorrent-0.107.17" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "0.107.16";
+      version = "0.107.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.16.tgz";
-        sha512 = "5fdPZFiZPxwbigAHtMVQ7ZCXbZSQlxgB6JPD77itpc9DdKYPpliFwCLsNiQpj1jmpo91HlHUJk+Xp3ks1fLUQg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.17.tgz";
+        sha512 = "Oe7d3+jpmPRDAc645PccIJPYa2w3n3BEiMU7J/Q76QSPF3SDUK8jO7keUCC2qk4ckcbdkb98bYK6/uK7M8vsRA==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -43721,13 +44278,13 @@ let
         sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
       };
     };
-    "whatwg-url-7.0.0" = {
+    "whatwg-url-7.1.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
-      version = "7.0.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
-        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz";
+        sha512 = "WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==";
       };
     };
     "whatwg-url-compat-0.6.5" = {
@@ -43775,6 +44332,33 @@ let
         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
+    "which-2.0.2" = {
+      name = "which";
+      packageName = "which";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
+    "which-boxed-primitive-1.0.1" = {
+      name = "which-boxed-primitive";
+      packageName = "which-boxed-primitive";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz";
+        sha512 = "7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==";
+      };
+    };
+    "which-collection-1.0.0" = {
+      name = "which-collection";
+      packageName = "which-collection";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-collection/-/which-collection-1.0.0.tgz";
+        sha512 = "mG4RtFHE+17N2AxRNvBQ488oBjrhaOaI/G+soUaRJwdyDbu5zmqoAKPYBlY7Zd+QTwpfvInRLKo40feo2si1yA==";
+      };
+    };
     "which-module-1.0.0" = {
       name = "which-module";
       packageName = "which-module";
@@ -43811,15 +44395,6 @@ let
         sha1 = "20b721df05b35b706176ffa10b0909aba4603035";
       };
     };
-    "wicked-good-xpath-1.3.0" = {
-      name = "wicked-good-xpath";
-      packageName = "wicked-good-xpath";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz";
-        sha1 = "81b0e95e8650e49c94b22298fff8686b5553cf6c";
-      };
-    };
     "wide-align-1.1.3" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -43838,6 +44413,15 @@ let
         sha512 = "Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==";
       };
     };
+    "widest-line-3.1.0" = {
+      name = "widest-line";
+      packageName = "widest-line";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz";
+        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
+      };
+    };
     "win-detect-browsers-1.0.2" = {
       name = "win-detect-browsers";
       packageName = "win-detect-browsers";
@@ -44009,13 +44593,13 @@ let
         sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
       };
     };
-    "with-open-file-0.1.6" = {
+    "with-open-file-0.1.7" = {
       name = "with-open-file";
       packageName = "with-open-file";
-      version = "0.1.6";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz";
-        sha512 = "SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==";
+        url = "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz";
+        sha512 = "ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==";
       };
     };
     "word-wrap-1.2.3" = {
@@ -44090,6 +44674,15 @@ let
         sha1 = "288a04d87eda5c286e060dfe8f135ce8d007f8ba";
       };
     };
+    "wrap-ansi-4.0.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz";
+        sha512 = "uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==";
+      };
+    };
     "wrap-ansi-5.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -44099,13 +44692,13 @@ let
         sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     };
-    "wrap-ansi-6.0.0" = {
+    "wrap-ansi-6.2.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "6.0.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.0.0.tgz";
-        sha512 = "8YwLklVkHe4QNpGFrK6Mxm+BaMY7da6C9GlDED3xs3XwThyJHSbVwg9qC4s1N8tBFcnM1S0s8I390RC6SgGe+g==";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     };
     "wrap-fn-0.1.5" = {
@@ -44153,13 +44746,13 @@ let
         sha512 = "GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==";
       };
     };
-    "write-file-atomic-3.0.0" = {
+    "write-file-atomic-3.0.1" = {
       name = "write-file-atomic";
       packageName = "write-file-atomic";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz";
-        sha512 = "EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==";
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz";
+        sha512 = "JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==";
       };
     };
     "write-good-0.11.3" = {
@@ -44261,22 +44854,13 @@ let
         sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
       };
     };
-    "ws-7.1.1" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.1.1.tgz";
-        sha512 = "o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==";
-      };
-    };
-    "ws-7.1.2" = {
+    "ws-7.2.1" = {
       name = "ws";
       packageName = "ws";
-      version = "7.1.2";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz";
-        sha512 = "gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz";
+        sha512 = "sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==";
       };
     };
     "x-default-browser-0.3.1" = {
@@ -44333,6 +44917,15 @@ let
         sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
       };
     };
+    "xdg-basedir-4.0.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
+        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
+      };
+    };
     "xenvar-0.5.1" = {
       name = "xenvar";
       packageName = "xenvar";
@@ -44405,15 +44998,6 @@ let
         sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
       };
     };
-    "xml2js-0.1.14" = {
-      name = "xml2js";
-      packageName = "xml2js";
-      version = "0.1.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz";
-        sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
-      };
-    };
     "xml2js-0.2.4" = {
       name = "xml2js";
       packageName = "xml2js";
@@ -44450,6 +45034,15 @@ let
         sha512 = "MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==";
       };
     };
+    "xml2js-0.4.23" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.4.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz";
+        sha512 = "ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==";
+      };
+    };
     "xml2tss-0.0.5" = {
       name = "xml2tss";
       packageName = "xml2tss";
@@ -44540,22 +45133,13 @@ let
         sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
       };
     };
-    "xmldom-0.1.27" = {
+    "xmldom-0.1.31" = {
       name = "xmldom";
       packageName = "xmldom";
-      version = "0.1.27";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz";
-        sha1 = "d501f97b3bdb403af8ef9ecc20573187aadac0e9";
-      };
-    };
-    "xmldom-sre-0.1.31" = {
-      name = "xmldom-sre";
-      packageName = "xmldom-sre";
       version = "0.1.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz";
-        sha512 = "f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==";
+        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz";
+        sha512 = "yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==";
       };
     };
     "xmlhttprequest-1.8.0" = {
@@ -44631,13 +45215,13 @@ let
         sha512 = "sO0bYdYeJAJBcJA8g7MJJX7UrOZIfJPd8U2SC7B2Dd/J24U0aQNoGp33shCaBSWeb0rD5rh6VBUIXOkGal1TZA==";
       };
     };
-    "xsalsa20-1.0.2" = {
+    "xsalsa20-1.1.0" = {
       name = "xsalsa20";
       packageName = "xsalsa20";
-      version = "1.0.2";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.0.2.tgz";
-        sha512 = "g1DFmZ5JJ9Qzvt4dMw6m9IydqoCSP381ucU5zm46Owbk3bwmqAr8eEJirOPc7PrXRn45drzOpAyDp8jsnoyXyw==";
+        url = "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz";
+        sha512 = "zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==";
       };
     };
     "xspfr-0.3.1" = {
@@ -44712,13 +45296,22 @@ let
         sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
       };
     };
-    "yallist-3.0.3" = {
+    "yallist-3.1.1" = {
       name = "yallist";
       packageName = "yallist";
-      version = "3.0.3";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+      };
+    };
+    "yallist-4.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
-        sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
       };
     };
     "yaml-ast-parser-0.0.40" = {
@@ -44784,13 +45377,13 @@ let
         sha512 = "ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==";
       };
     };
-    "yargs-11.1.0" = {
+    "yargs-11.1.1" = {
       name = "yargs";
       packageName = "yargs";
-      version = "11.1.0";
+      version = "11.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz";
-        sha512 = "NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz";
+        sha512 = "PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==";
       };
     };
     "yargs-12.0.4" = {
@@ -44811,15 +45404,6 @@ let
         sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==";
       };
     };
-    "yargs-13.2.2" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "13.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz";
-        sha512 = "WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==";
-      };
-    };
     "yargs-13.2.4" = {
       name = "yargs";
       packageName = "yargs";
@@ -44838,13 +45422,31 @@ let
         sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
       };
     };
-    "yargs-14.1.0" = {
+    "yargs-14.0.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "14.1.0";
+      version = "14.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-14.1.0.tgz";
-        sha512 = "IdkQq1NiiV1fPwN5I2o4B0PKVjKh1EP71egpWO8dlovT8LG8JrXRmbH23v6I3CtjeEMnNC/IF3lq6XepPoELdg==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-14.0.0.tgz";
+        sha512 = "ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==";
+      };
+    };
+    "yargs-14.2.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "14.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz";
+        sha512 = "/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==";
+      };
+    };
+    "yargs-15.0.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "15.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz";
+        sha512 = "GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==";
       };
     };
     "yargs-3.10.0" = {
@@ -44937,13 +45539,22 @@ let
         sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
       };
     };
-    "yargs-parser-14.0.0" = {
+    "yargs-parser-15.0.0" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "14.0.0";
+      version = "15.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz";
+        sha512 = "xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==";
+      };
+    };
+    "yargs-parser-16.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "16.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-14.0.0.tgz";
-        sha512 = "zn/Mnx+tbFjkCFUodEpjXckNS65NfpB5oyqOkDDEG/8uxlfLZJu2IoBLQFjukUkn9rBbGkVYNzrDh6qy4NUd3g==";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz";
+        sha512 = "H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==";
       };
     };
     "yargs-parser-2.4.1" = {
@@ -45000,22 +45611,31 @@ let
         sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077";
       };
     };
-    "yargs-unparser-1.5.0" = {
+    "yargs-unparser-1.6.0" = {
       name = "yargs-unparser";
       packageName = "yargs-unparser";
-      version = "1.5.0";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz";
+        sha512 = "W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==";
+      };
+    };
+    "yarn-1.19.1" = {
+      name = "yarn";
+      packageName = "yarn";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz";
-        sha512 = "HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.19.1.tgz";
+        sha512 = "gBnfbL9rYY05Gt0cjJhs/siqQXHYlZalTjK3nXn2QO20xbkIFPob+LlH44ML47GcR4VU9/2dYck1BWFM0Javxw==";
       };
     };
-    "yarn-1.17.3" = {
+    "yarn-1.21.1" = {
       name = "yarn";
       packageName = "yarn";
-      version = "1.17.3";
+      version = "1.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yarn/-/yarn-1.17.3.tgz";
-        sha512 = "CgA8o7nRZaQvmeF/WBx2FC7f9W/0X59T2IaLYqgMo6637wfp5mMEsM3YXoJtKUspnpmDJKl/gGFhnqS+sON7hA==";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.21.1.tgz";
+        sha512 = "dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ==";
       };
     };
     "yauzl-2.10.0" = {
@@ -45072,13 +45692,13 @@ let
         sha512 = "CP0fwGk5Y+jel+A0AQbyqnIFZRRpkKOeYUibiTSmlgV9PcgNFFVwn86VcUIpDLOqVjF+9v+O9FWQMo+IUcV2mA==";
       };
     };
-    "yeoman-environment-2.4.0" = {
+    "yeoman-environment-2.7.0" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "2.4.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.4.0.tgz";
-        sha512 = "SsvoL0RNAFIX69eFxkUhwKUN2hG1UwUjxrcP+T2ytwdhqC/kHdnFOH2SXdtSN1Ju4aO4xuimmzfRoheYY88RuA==";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.7.0.tgz";
+        sha512 = "YNzSUWgJVSgnm0qgLON4Gb2nTm+kywBiWjK4MbvosjUP2YJJ30lNhEx7ukyzKRPUlsavd5IsuALtF6QaVrq81A==";
       };
     };
     "yn-3.1.1" = {
@@ -45117,13 +45737,13 @@ let
         sha512 = "Dhp/R0pqSHj3vPs5O1gVd9kZx5Iew2lqVcfJQOBHx3llM/dLea8vl9wSa9FK8wLdSBQJ6mmgKi9+Rk2DRH3i9Q==";
       };
     };
-    "zen-observable-0.8.14" = {
+    "zen-observable-0.8.15" = {
       name = "zen-observable";
       packageName = "zen-observable";
-      version = "0.8.14";
+      version = "0.8.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.14.tgz";
-        sha512 = "kQz39uonEjEESwh+qCi83kcC3rZJGh4mrZW7xjkSQYXkq//JZHTtKo+6yuVloTgMtzsIWOJrjIrKvk/dqm0L5g==";
+        url = "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz";
+        sha512 = "PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==";
       };
     };
     "zen-observable-ts-0.8.20" = {
@@ -45180,31 +45800,40 @@ let
         sha1 = "66c6de82cc36b09734b820703776490a6fbbe624";
       };
     };
+    "zxcvbn-4.4.2" = {
+      name = "zxcvbn";
+      packageName = "zxcvbn";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz";
+        sha1 = "28ec17cf09743edcab056ddd8b1b06262cc73c30";
+      };
+    };
   };
 in
 {
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "8.3.5";
+    version = "8.3.21";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-8.3.5.tgz";
-      sha512 = "gKzYV5YhypXKpt4vH/YJ/T7a72EqxTJynJ8dtoVsZw5YTdCzqa6APvObNs4lZaZ3pYxUOQr36W4Rz8Lv8CSBWA==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-8.3.21.tgz";
+      sha512 = "ZZpA7mMfIobFT06rBNxm8vucAh8W2s0huJZ4iL0BPujnhIr71PL+gDwssySWDEz2q6i4CkH9QRH76DHhtL6VSQ==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.803.5"
-      sources."@angular-devkit/core-8.3.5"
-      sources."@angular-devkit/schematics-8.3.5"
-      sources."@schematics/angular-8.3.5"
-      sources."@schematics/update-0.803.5"
+      sources."@angular-devkit/architect-0.803.21"
+      sources."@angular-devkit/core-8.3.21"
+      sources."@angular-devkit/schematics-8.3.21"
+      sources."@schematics/angular-8.3.21"
+      sources."@schematics/update-0.803.21"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."JSONStream-1.3.5"
       sources."agent-base-4.3.0"
       sources."agentkeepalive-3.5.2"
       sources."ajv-6.10.2"
       sources."ansi-colors-4.1.1"
-      sources."ansi-escapes-4.2.1"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."aproba-1.2.0"
       sources."asap-2.0.6"
@@ -45212,18 +45841,22 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
-      sources."cacache-12.0.3"
+      (sources."cacache-12.0.3" // {
+        dependencies = [
+          sources."rimraf-2.7.1"
+        ];
+      })
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."cli-cursor-3.1.0"
       sources."cli-width-2.2.0"
       sources."color-convert-1.9.3"
@@ -45231,7 +45864,11 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."copy-concurrently-1.0.5"
+      (sources."copy-concurrently-1.0.5" // {
+        dependencies = [
+          sources."rimraf-2.7.1"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."cyclist-1.0.1"
       sources."dashdash-1.14.1"
@@ -45244,10 +45881,10 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."err-code-1.1.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -45257,7 +45894,7 @@ in
       sources."fast-deep-equal-2.0.1"
       sources."fast-json-stable-stringify-2.0.0"
       sources."figgy-pudding-3.5.1"
-      sources."figures-3.0.0"
+      sources."figures-3.1.0"
       sources."flush-write-stream-1.1.1"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -45269,14 +45906,14 @@ in
       sources."genfun-5.0.0"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."has-symbols-1.0.1"
+      sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-3.8.1"
       (sources."http-proxy-agent-2.1.0" // {
         dependencies = [
@@ -45285,7 +45922,7 @@ in
         ];
       })
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
           sources."debug-3.2.6"
         ];
@@ -45293,7 +45930,7 @@ in
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."iferr-0.1.5"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       sources."imurmurhash-0.1.4"
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
@@ -45301,12 +45938,12 @@ in
       sources."ini-1.3.5"
       sources."inquirer-6.5.1"
       sources."ip-1.1.5"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
@@ -45322,17 +45959,21 @@ in
       sources."lodash-4.17.15"
       sources."lru-cache-5.1.1"
       sources."magic-string-0.25.3"
-      sources."make-fetch-happen-5.0.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."make-fetch-happen-5.0.2"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       sources."mississippi-3.0.0"
       sources."mkdirp-0.5.1"
-      sources."move-concurrently-1.0.1"
+      (sources."move-concurrently-1.0.1" // {
+        dependencies = [
+          sources."rimraf-2.7.1"
+        ];
+      })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."node-fetch-npm-2.0.2"
@@ -45341,23 +45982,25 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-bundled-1.0.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-6.1.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.4"
-      (sources."npm-pick-manifest-2.2.3" // {
+      sources."npm-packlist-1.4.7"
+      (sources."npm-pick-manifest-3.0.2" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-registry-fetch-4.0.1"
+      sources."npm-registry-fetch-4.0.2"
       sources."oauth-sign-0.9.0"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."once-1.4.0"
       sources."onetime-5.1.0"
       sources."open-6.4.0"
@@ -45366,6 +46009,8 @@ in
       sources."osenv-0.1.5"
       (sources."pacote-9.5.5" // {
         dependencies = [
+          sources."npm-pick-manifest-2.2.3"
+          sources."rimraf-2.7.1"
           sources."semver-5.7.1"
         ];
       })
@@ -45377,7 +46022,7 @@ in
       sources."promise-inflight-1.0.1"
       sources."promise-retry-1.1.1"
       sources."protoduck-5.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -45386,7 +46031,7 @@ in
       })
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."read-package-json-2.1.0"
+      sources."read-package-json-2.1.1"
       sources."read-package-tree-5.3.1"
       (sources."readable-stream-2.3.6" // {
         dependencies = [
@@ -45395,10 +46040,10 @@ in
       })
       sources."readdir-scoped-modules-1.1.0"
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-3.1.0"
       sources."retry-0.10.1"
-      sources."rimraf-2.7.1"
+      sources."rimraf-3.0.0"
       sources."run-async-2.3.0"
       sources."run-queue-1.0.3"
       sources."rxjs-6.4.0"
@@ -45411,9 +46056,8 @@ in
         ];
       })
       sources."signal-exit-3.0.2"
-      sources."slash-1.0.0"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -45428,19 +46072,27 @@ in
       sources."sshpk-1.16.1"
       sources."ssri-6.0.1"
       sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
-      sources."string-width-4.1.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."stream-shift-1.0.1"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
       sources."supports-color-5.5.0"
       sources."symbol-observable-1.2.0"
-      sources."tar-4.4.11"
+      sources."tar-4.4.13"
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."tmp-0.0.33"
@@ -45452,7 +46104,7 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."typedarray-0.0.6"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
@@ -45472,7 +46124,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -45487,31 +46139,35 @@ in
   "@antora/cli" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_cli";
     packageName = "@antora/cli";
-    version = "2.1.1";
+    version = "2.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/cli/-/cli-2.1.1.tgz";
-      sha512 = "U0xrC4/k2ci04u9Y1Qme6DcZNo1vcJfX8GC8JueMbe+58V6mxewE6yoIuYYCsuy+SI1D0Kbod+M8DrDnxubMSA==";
+      url = "https://registry.npmjs.org/@antora/cli/-/cli-2.2.0.tgz";
+      sha512 = "/fQDYEMypZbC8LxpZak/3nsP8Rr3voXXvxSan/718uDJUHFwq1rHl9Y/pOoE/tRs0Qv1jtDvk2eZgFDlsMMmlQ==";
     };
     dependencies = [
-      sources."@antora/playbook-builder-2.1.1"
+      sources."@antora/playbook-builder-2.2.0"
       sources."@iarna/toml-2.2.3"
       sources."argparse-1.0.10"
       sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.0.1"
-      sources."commander-3.0.1"
-      sources."convict-5.1.0"
+      sources."camelcase-keys-6.1.1"
+      sources."commander-3.0.2"
+      (sources."convict-5.2.0" // {
+        dependencies = [
+          sources."json5-2.1.0"
+        ];
+      })
       sources."decamelize-1.2.0"
       sources."deep-freeze-node-1.1.3"
       sources."esprima-4.0.1"
       sources."js-yaml-3.13.1"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."lodash.clonedeep-4.5.0"
       sources."map-obj-4.1.0"
       sources."minimist-1.2.0"
       sources."moment-2.24.0"
       sources."quick-lru-4.0.1"
       sources."sprintf-js-1.0.3"
-      sources."validator-10.11.0"
+      sources."validator-11.1.0"
       sources."yargs-parser-13.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -45527,25 +46183,24 @@ in
   "@antora/site-generator-default" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_site-generator-default";
     packageName = "@antora/site-generator-default";
-    version = "2.1.1";
+    version = "2.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-2.1.1.tgz";
-      sha512 = "lXE4+gW29OM20t8z1aYyr51KQuEow7kxu4sN8TDCr+2yU0Oqx/6Nxm9zUN33hT6XkNH0oMccdcWr0Aay22Lg2w==";
+      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-2.2.0.tgz";
+      sha512 = "fy2tG1I3/FK1s/y/GhGMkFICtXkkSOpxVy5OjBXXfkBNHQIHYSLDv460Gz8NvSiVe99LWWa+FOpr5G13Bb0bvw==";
     };
     dependencies = [
-      sources."@antora/asciidoc-loader-2.1.1"
-      sources."@antora/content-aggregator-2.1.1"
-      sources."@antora/content-classifier-2.1.1"
-      sources."@antora/document-converter-2.1.1"
+      sources."@antora/asciidoc-loader-2.2.0"
+      sources."@antora/content-aggregator-2.2.0"
+      sources."@antora/content-classifier-2.2.0"
+      sources."@antora/document-converter-2.2.0"
       sources."@antora/expand-path-helper-1.0.0"
-      sources."@antora/navigation-builder-2.1.1"
-      sources."@antora/page-composer-2.1.1"
-      sources."@antora/playbook-builder-2.1.1"
-      sources."@antora/redirect-producer-2.1.1"
-      sources."@antora/site-mapper-2.1.1"
-      sources."@antora/site-publisher-2.1.1"
-      sources."@antora/ui-loader-2.1.1"
-      sources."@babel/runtime-7.6.0"
+      sources."@antora/navigation-builder-2.2.0"
+      sources."@antora/page-composer-2.2.0"
+      sources."@antora/playbook-builder-2.2.0"
+      sources."@antora/redirect-producer-2.2.0"
+      sources."@antora/site-mapper-2.2.0"
+      sources."@antora/site-publisher-2.2.0"
+      sources."@antora/ui-loader-2.2.0"
       sources."@iarna/toml-2.2.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
@@ -45555,8 +46210,7 @@ in
       sources."async-lock-1.2.2"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.2"
-      sources."benchmark-1.0.0"
-      sources."bl-3.0.0"
+      sources."bl-4.0.0"
       sources."bops-0.0.7"
       sources."brace-expansion-1.1.11"
       sources."buffer-crc32-0.2.13"
@@ -45570,8 +46224,8 @@ in
         ];
       })
       sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.0.1"
-      sources."clean-git-ref-1.0.3"
+      sources."camelcase-keys-6.1.1"
+      sources."clean-git-ref-2.0.1"
       sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
       (sources."clone-response-1.0.2" // {
@@ -45587,23 +46241,26 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
-      (sources."convert-source-map-1.6.0" // {
+      (sources."convert-source-map-1.7.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."convict-5.1.0"
+      (sources."convict-5.2.0" // {
+        dependencies = [
+          sources."json5-2.1.0"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
       sources."decamelize-1.2.0"
       sources."decompress-response-4.2.1"
       sources."deep-freeze-node-1.1.3"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
-      sources."diff-3.5.0"
-      sources."diff-lines-1.1.1"
+      sources."diff3-0.0.3"
       sources."duplexer-0.1.1"
       sources."duplexer3-0.1.4"
       (sources."duplexify-3.7.1" // {
@@ -45613,7 +46270,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-2.0.0"
       sources."esprima-4.0.1"
       sources."event-stream-3.3.4"
@@ -45649,7 +46306,7 @@ in
       sources."glob-parent-3.1.0"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -45663,8 +46320,8 @@ in
           sources."mimic-response-1.0.1"
         ];
       })
-      sources."graceful-fs-4.2.2"
-      (sources."gulp-vinyl-zip-2.1.2" // {
+      sources."graceful-fs-4.2.3"
+      (sources."gulp-vinyl-zip-2.1.3" // {
         dependencies = [
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
@@ -45672,8 +46329,8 @@ in
           sources."through2-2.0.5"
         ];
       })
-      sources."handlebars-4.2.1"
-      sources."has-symbols-1.0.0"
+      sources."handlebars-4.5.3"
+      sources."has-symbols-1.0.1"
       sources."http-cache-semantics-4.0.3"
       sources."ignore-5.1.4"
       sources."inflight-1.0.6"
@@ -45689,11 +46346,11 @@ in
       sources."is-valid-glob-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
-      sources."isomorphic-git-0.47.0"
+      sources."isomorphic-git-0.70.4"
       sources."js-yaml-3.13.1"
       sources."json-buffer-3.0.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."jsonfile-4.0.0"
       sources."keyv-3.1.0"
       (sources."lazystream-1.0.0" // {
@@ -45711,8 +46368,8 @@ in
       sources."map-stream-0.1.0"
       sources."marky-1.2.1"
       sources."matcher-2.0.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."minimatch-3.0.4"
       sources."minimatch-all-1.1.0"
@@ -45721,9 +46378,8 @@ in
       sources."moment-2.24.0"
       sources."multi-progress-2.0.0"
       sources."neo-async-2.6.1"
-      sources."nick-0.1.3"
       sources."normalize-path-2.1.1"
-      sources."normalize-url-4.4.1"
+      sources."normalize-url-4.5.0"
       sources."now-and-later-2.0.1"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
@@ -45757,7 +46413,6 @@ in
       sources."queue-4.5.1"
       sources."quick-lru-4.0.1"
       sources."readable-stream-3.4.0"
-      sources."regenerator-runtime-0.13.3"
       sources."remove-bom-buffer-3.0.0"
       (sources."remove-bom-stream-1.2.0" // {
         dependencies = [
@@ -45785,11 +46440,9 @@ in
       sources."simple-get-3.1.0"
       sources."source-map-0.6.1"
       sources."split-0.3.3"
-      sources."split2-3.1.1"
       sources."sprintf-js-1.0.3"
       sources."stream-combiner-0.0.4"
-      sources."stream-shift-1.0.0"
-      sources."stream-source-0.3.5"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.3.0"
       sources."through-2.3.8"
       sources."through2-3.0.1"
@@ -45812,13 +46465,13 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.6.0"
+      sources."uglify-js-3.7.2"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."validator-10.11.0"
+      sources."validator-11.1.0"
       sources."value-or-function-3.0.0"
       sources."varint-0.0.3"
       sources."vinyl-2.2.0"
@@ -45850,113 +46503,354 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@bitwarden/cli" = nodeEnv.buildNodePackage {
+    name = "_at_bitwarden_slash_cli";
+    packageName = "@bitwarden/cli";
+    version = "1.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.8.0.tgz";
+      sha512 = "w0galFGHK7Ea9nVQs3+ct+qTiPqR9PXQEL2kxIEwjDIyKjGY104+twWpLiSOMih2NAS2kuf3egekdEKs8xR8wQ==";
+    };
+    dependencies = [
+      sources."abab-2.0.3"
+      sources."acorn-6.4.0"
+      sources."acorn-globals-4.3.4"
+      sources."acorn-walk-6.2.0"
+      sources."agent-base-4.3.0"
+      sources."ajv-6.10.2"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-equal-1.0.0"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."big-integer-1.6.36"
+      sources."browser-process-hrtime-0.1.3"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.1"
+      sources."chardet-0.7.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.18.0"
+      sources."core-util-is-1.0.2"
+      sources."cssom-0.3.8"
+      sources."cssstyle-1.4.0"
+      sources."dashdash-1.14.1"
+      sources."data-urls-1.1.0"
+      sources."debug-3.2.6"
+      sources."deep-is-0.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."domexception-1.0.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."escodegen-1.12.0"
+      sources."esprima-3.1.3"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."extend-3.0.2"
+      sources."external-editor-3.1.0"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."figures-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.2.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-flag-3.0.0"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."http-signature-1.2.0"
+      sources."https-proxy-agent-2.2.1"
+      sources."iconv-lite-0.4.24"
+      sources."inquirer-6.2.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-promise-2.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."jsdom-13.2.0"
+      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."levn-0.3.0"
+      sources."lodash-4.17.15"
+      sources."lodash.sortby-4.7.0"
+      sources."lowdb-1.0.0"
+      sources."lunr-2.3.3"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-1.2.0"
+      sources."ms-2.1.2"
+      sources."mute-stream-0.0.7"
+      sources."node-fetch-2.2.0"
+      sources."node-forge-0.7.6"
+      sources."nwsapi-2.2.0"
+      sources."oauth-sign-0.9.0"
+      sources."onetime-2.0.1"
+      sources."optionator-0.8.3"
+      sources."os-tmpdir-1.0.2"
+      sources."papaparse-4.6.0"
+      sources."parse5-5.1.0"
+      sources."performance-now-2.1.0"
+      sources."pify-3.0.0"
+      sources."pn-1.1.0"
+      sources."prelude-ls-1.1.2"
+      sources."psl-1.6.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+          sources."tough-cookie-2.4.3"
+        ];
+      })
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."restore-cursor-2.0.0"
+      sources."run-async-2.3.0"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."saxes-3.1.11"
+      sources."signal-exit-3.0.2"
+      sources."source-map-0.6.1"
+      sources."sshpk-1.16.1"
+      sources."stealthy-require-1.1.1"
+      sources."steno-0.4.4"
+      sources."string-width-2.1.1"
+      sources."strip-ansi-4.0.0"
+      sources."supports-color-5.5.0"
+      sources."symbol-tree-3.2.4"
+      sources."through-2.3.8"
+      (sources."tldjs-2.3.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tmp-0.0.33"
+      sources."tough-cookie-2.5.0"
+      sources."tr46-1.0.1"
+      sources."tslib-1.10.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.3.2"
+      sources."uri-js-4.2.2"
+      sources."uuid-3.3.3"
+      sources."verror-1.10.0"
+      sources."w3c-hr-time-1.0.1"
+      sources."w3c-xmlserializer-1.1.2"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-encoding-1.0.5"
+      sources."whatwg-mimetype-2.3.0"
+      sources."whatwg-url-7.1.0"
+      sources."word-wrap-1.2.3"
+      sources."ws-6.2.1"
+      sources."xml-name-validator-3.0.0"
+      sources."xmlchars-2.2.0"
+      sources."zxcvbn-4.4.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A secure and free password manager for all of your devices.";
+      homepage = https://bitwarden.com/;
+      license = "GPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "3.11.0";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.11.0.tgz";
-      sha512 = "dhnkqsg1TRyaauKl7j8b0n5N8vB1Vm6cBqU4n2Re0LeYzO4UUE6KlOAt1zTVn+5Nx45V1NAoPWff1iefPDTT8g==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-4.1.1.tgz";
+      sha512 = "Qdxn3rL4E34y22geQdPOkQtGKbewa+hiyD0rEXMBOjqIqxWnYm68p/dTJjHeou3egGu5P9ol7BujJfPJBhfgTw==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
-      sources."@apollographql/apollo-tools-0.4.0"
+      sources."@apollo/federation-0.11.2"
+      (sources."@apollo/protobufjs-1.0.3" // {
+        dependencies = [
+          sources."@types/node-10.17.12"
+        ];
+      })
+      sources."@apollographql/apollo-tools-0.4.2"
+      sources."@apollographql/graphql-language-service-interface-2.0.2"
+      sources."@apollographql/graphql-language-service-parser-2.0.2"
+      sources."@apollographql/graphql-language-service-types-2.0.2"
+      sources."@apollographql/graphql-language-service-utils-2.0.2"
       sources."@apollographql/graphql-playground-html-1.6.24"
       sources."@babel/code-frame-7.5.5"
-      (sources."@babel/core-7.6.0" // {
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
+          sources."@babel/generator-7.7.7"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.6.0"
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-call-delegate-7.4.4"
-      sources."@babel/helper-create-class-features-plugin-7.6.0"
-      sources."@babel/helper-define-map-7.5.5"
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.4"
-      sources."@babel/helper-member-expression-to-functions-7.5.5"
-      sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.5.5"
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/generator-7.7.4"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-class-features-plugin-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.5.5"
-      sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.6.0"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-class-properties-7.5.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.5.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.5.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.4.4"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-dynamic-import-7.2.0"
-      sources."@babel/plugin-syntax-flow-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-syntax-typescript-7.3.3"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.0"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.4.4"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-flow-strip-types-7.4.4"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.6.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.0"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.2.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-typescript-7.6.0"
-      sources."@babel/plugin-transform-unicode-regex-7.4.4"
-      (sources."@babel/preset-env-7.6.0" // {
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-class-properties-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-flow-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-syntax-typescript-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-flow-strip-types-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-typescript-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      (sources."@babel/preset-env-7.7.7" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/preset-flow-7.0.0"
-      sources."@babel/preset-typescript-7.6.0"
-      sources."@babel/register-7.6.0"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.0"
-      sources."@babel/types-7.6.1"
-      sources."@hapi/address-2.1.2"
+      sources."@babel/preset-flow-7.7.4"
+      sources."@babel/preset-typescript-7.7.7"
+      (sources."@babel/register-7.7.7" // {
+        dependencies = [
+          sources."make-dir-2.1.0"
+          sources."pify-4.0.1"
+          sources."semver-5.7.1"
+        ];
+      })
+      (sources."@babel/runtime-7.7.7" // {
+        dependencies = [
+          sources."regenerator-runtime-0.13.3"
+        ];
+      })
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
+      sources."@endemolshinegroup/cosmiconfig-typescript-loader-1.0.1"
+      sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
-      sources."@hapi/hoek-8.2.4"
+      sources."@hapi/hoek-8.5.0"
       sources."@hapi/joi-15.1.1"
-      sources."@hapi/topo-3.1.4"
+      sources."@hapi/topo-3.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
+      sources."@oclif/color-0.0.0"
+      (sources."@oclif/command-1.5.19" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."@oclif/config-1.13.3"
+      (sources."@oclif/errors-1.2.2" // {
+        dependencies = [
+          sources."clean-stack-1.3.0"
+          sources."indent-string-3.2.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."@oclif/linewrap-1.0.0"
+      sources."@oclif/parser-3.8.4"
+      (sources."@oclif/plugin-autocomplete-0.1.5" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."fs-extra-6.0.1"
+        ];
+      })
+      (sources."@oclif/plugin-help-2.2.2" // {
+        dependencies = [
+          sources."indent-string-3.2.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."@oclif/plugin-not-found-1.2.3"
+      (sources."@oclif/plugin-plugins-1.7.8" // {
+        dependencies = [
+          sources."cli-ux-5.4.1"
+          sources."npm-run-path-3.1.0"
+          sources."path-key-3.1.1"
+          sources."semver-5.7.1"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      (sources."@oclif/plugin-warn-if-update-available-1.7.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."@oclif/screen-1.0.4"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -45967,78 +46861,95 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
+      sources."@samverschueren/stream-to-observable-0.3.0"
       sources."@types/accepts-1.3.5"
       sources."@types/body-parser-1.17.1"
-      sources."@types/connect-3.4.32"
-      sources."@types/cookies-0.7.3"
+      sources."@types/color-name-1.1.1"
+      sources."@types/connect-3.4.33"
+      sources."@types/cookies-0.7.4"
       sources."@types/cors-2.8.6"
       sources."@types/events-3.0.0"
       sources."@types/express-4.17.1"
-      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/express-serve-static-core-4.17.1"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/graphql-upload-8.0.3"
       sources."@types/http-assert-1.5.1"
       sources."@types/keygrip-1.0.1"
-      sources."@types/koa-2.0.49"
-      sources."@types/koa-compose-3.2.4"
+      sources."@types/koa-2.11.0"
+      sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.0"
       sources."@types/mime-2.0.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."@types/range-parser-1.2.3"
       sources."@types/serve-static-1.13.3"
-      sources."@types/ws-6.0.3"
+      sources."@types/ws-6.0.4"
       sources."@types/zen-observable-0.8.0"
-      sources."@vue/cli-shared-utils-3.11.0"
-      (sources."@vue/cli-ui-3.11.0" // {
+      sources."@vue/cli-shared-utils-4.1.1"
+      (sources."@vue/cli-ui-4.1.1" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-3.11.0"
-      sources."@vue/cli-ui-addon-widgets-3.11.0"
+      sources."@vue/cli-ui-addon-webpack-4.1.1"
+      sources."@vue/cli-ui-addon-widgets-4.1.1"
       sources."@wry/context-0.4.4"
       sources."@wry/equality-0.1.9"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
-      sources."aggregate-error-3.0.0"
+      sources."aggregate-error-3.0.1"
       sources."ajv-6.10.2"
       sources."ansi-align-2.0.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
+      sources."ansicolors-0.3.2"
+      sources."any-observable-0.3.0"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."apollo-cache-1.3.2"
-      sources."apollo-cache-control-0.8.4"
-      sources."apollo-cache-inmemory-1.6.3"
-      sources."apollo-client-2.6.4"
+      (sources."apollo-2.21.2" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."apollo-cache-1.3.4"
+      sources."apollo-cache-control-0.8.9"
+      sources."apollo-cache-inmemory-1.6.5"
+      sources."apollo-client-2.6.8"
+      sources."apollo-codegen-core-0.35.9"
+      sources."apollo-codegen-flow-0.33.34"
+      sources."apollo-codegen-scala-0.34.34"
+      sources."apollo-codegen-swift-0.35.14"
+      sources."apollo-codegen-typescript-0.35.9"
       sources."apollo-datasource-0.6.3"
-      sources."apollo-engine-reporting-1.4.6"
-      sources."apollo-engine-reporting-protobuf-0.4.0"
-      sources."apollo-env-0.5.1"
-      sources."apollo-graphql-0.3.3"
+      sources."apollo-engine-reporting-1.4.12"
+      sources."apollo-engine-reporting-protobuf-0.4.4"
+      sources."apollo-env-0.6.0"
+      sources."apollo-graphql-0.3.6"
+      sources."apollo-language-server-1.17.2"
       sources."apollo-link-1.2.13"
       sources."apollo-link-context-1.0.19"
+      sources."apollo-link-error-1.1.12"
+      sources."apollo-link-http-1.5.16"
       sources."apollo-link-http-common-0.2.15"
       sources."apollo-link-persisted-queries-0.2.2"
       sources."apollo-link-state-0.4.2"
       sources."apollo-link-ws-1.0.19"
       sources."apollo-server-caching-0.5.0"
-      sources."apollo-server-core-2.9.3"
+      sources."apollo-server-core-2.9.14"
       sources."apollo-server-env-2.4.3"
-      sources."apollo-server-errors-2.3.3"
-      sources."apollo-server-express-2.9.3"
-      sources."apollo-server-plugin-base-0.6.4"
-      sources."apollo-server-types-0.2.4"
-      sources."apollo-tracing-0.8.4"
-      sources."apollo-upload-client-10.0.1"
-      sources."apollo-utilities-1.3.2"
-      sources."arg-4.1.1"
+      sources."apollo-server-errors-2.3.4"
+      sources."apollo-server-express-2.9.14"
+      sources."apollo-server-plugin-base-0.6.9"
+      sources."apollo-server-types-0.2.9"
+      sources."apollo-tracing-0.8.9"
+      sources."apollo-upload-client-11.0.0"
+      sources."apollo-utilities-1.3.3"
+      sources."arg-4.1.2"
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -46051,17 +46962,30 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."ast-types-0.11.7"
-      sources."async-1.5.2"
+      sources."ast-types-0.13.2"
+      sources."astral-regex-1.0.0"
+      sources."async-2.6.3"
       sources."async-each-1.0.3"
       sources."async-limiter-1.0.1"
       sources."async-retry-1.2.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
+      sources."await-to-js-2.1.1"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.0"
+      (sources."babel-polyfill-6.26.0" // {
+        dependencies = [
+          sources."core-js-2.6.11"
+        ];
+      })
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."core-js-2.6.11"
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
@@ -46072,19 +46996,49 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bl-1.2.2"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."http-errors-1.7.2"
           sources."inherits-2.0.3"
+          sources."ms-2.0.0"
         ];
       })
       sources."boolbase-1.0.0"
-      sources."boxen-1.3.0"
+      (sources."boxen-4.2.0" // {
+        dependencies = [
+          (sources."ansi-align-3.0.0" // {
+            dependencies = [
+              sources."string-width-3.1.0"
+            ];
+          })
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."camelcase-5.3.1"
+          sources."chalk-3.0.0"
+          sources."cli-boxes-2.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."emoji-regex-8.0.0"
+          sources."has-flag-4.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          (sources."string-width-4.2.0" // {
+            dependencies = [
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          sources."strip-ansi-5.2.0"
+          sources."supports-color-7.1.0"
+          sources."term-size-2.1.1"
+          sources."type-fest-0.8.1"
+          sources."widest-line-3.1.0"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
-      sources."browserslist-4.7.0"
+      sources."browserslist-4.8.2"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -46093,15 +47047,22 @@ in
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
       sources."busboy-0.3.1"
+      sources."byline-5.0.0"
       sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
+      sources."caller-callsite-2.0.0"
+      sources."caller-path-2.0.0"
+      sources."callsites-2.0.0"
+      sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
-      sources."caniuse-lite-1.0.30000989"
+      sources."caniuse-lite-1.0.30001016"
       sources."capture-stack-trace-1.0.1"
+      sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
+      sources."change-case-3.1.0"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.3"
       sources."chokidar-2.1.8"
@@ -46126,37 +47087,60 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
+      sources."cli-progress-3.4.0"
       sources."cli-spinners-2.2.0"
+      (sources."cli-truncate-0.2.1" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      (sources."cli-ux-4.9.3" // {
+        dependencies = [
+          sources."indent-string-3.2.0"
+          sources."semver-5.7.1"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."cli-width-2.2.0"
       sources."clipboard-2.0.4"
       sources."clone-1.0.4"
       sources."cmd-shim-2.1.0"
+      sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
+      sources."common-tags-1.8.0"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
+      sources."constant-case-2.0.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.2.1"
-      sources."core-js-compat-3.2.1"
+      sources."core-js-3.6.1"
+      (sources."core-js-compat-3.6.1" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
+      sources."cosmiconfig-5.2.1"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-5.1.0" // {
         dependencies = [
           sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
         ];
       })
       sources."crypto-random-string-1.0.0"
@@ -46164,12 +47148,9 @@ in
       sources."css-what-2.1.3"
       sources."csv-parser-1.12.1"
       sources."dashdash-1.14.1"
+      sources."date-fns-1.30.1"
       sources."de-indent-1.0.2"
-      (sources."debug-4.1.1" // {
-        dependencies = [
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
       (sources."decompress-4.2.0" // {
         dependencies = [
@@ -46209,7 +47190,9 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
+      sources."dot-case-2.1.1"
       sources."dot-prop-4.2.0"
+      sources."dotenv-8.2.0"
       (sources."download-5.0.3" // {
         dependencies = [
           sources."pify-2.3.0"
@@ -46220,14 +47203,18 @@ in
       sources."easy-stack-1.0.0"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."ejs-2.7.1"
-      sources."electron-to-chromium-1.3.264"
+      sources."ejs-2.7.4"
+      sources."electron-to-chromium-1.3.322"
+      sources."elegant-spinner-1.0.1"
+      sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
-      sources."envinfo-7.3.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."env-ci-3.2.2"
+      sources."envinfo-7.5.0"
+      sources."error-ex-1.3.2"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esm-3.2.25"
@@ -46260,12 +47247,14 @@ in
           })
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
         ];
       })
       sources."expand-tilde-2.0.2"
       (sources."express-4.17.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       sources."express-history-api-fallback-2.2.1"
@@ -46278,19 +47267,23 @@ in
         ];
       })
       sources."extract-files-5.0.1"
+      sources."extract-stack-1.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-levenshtein-2.0.6"
       sources."fd-slicer-1.1.0"
-      sources."figures-2.0.0"
+      sources."figures-1.7.0"
       sources."file-type-5.2.0"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
       sources."fill-range-4.0.0"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       (sources."find-cache-dir-2.1.0" // {
@@ -46302,7 +47295,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.108.0"
+      sources."flow-parser-0.114.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -46315,9 +47308,10 @@ in
       sources."fs-exists-sync-0.1.0"
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
+      sources."gaze-1.1.3"
       sources."generate-function-1.1.0"
       sources."generate-object-property-1.2.0"
       sources."get-proxy-2.1.0"
@@ -46326,7 +47320,13 @@ in
       sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
       sources."git-config-path-1.0.1"
-      sources."glob-7.1.4"
+      sources."git-parse-1.0.3"
+      (sources."git-rev-sync-1.12.0" // {
+        dependencies = [
+          sources."graceful-fs-4.1.11"
+        ];
+      })
+      sources."glob-7.1.5"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -46338,31 +47338,38 @@ in
       (sources."globby-9.2.0" // {
         dependencies = [
           sources."pify-4.0.1"
+          sources."slash-2.0.0"
         ];
       })
+      sources."globule-1.3.0"
       sources."good-listener-1.2.2"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
-      sources."graphql-14.5.7"
-      (sources."graphql-anywhere-4.2.4" // {
+      sources."graphql-14.5.8"
+      (sources."graphql-anywhere-4.2.6" // {
         dependencies = [
           sources."ts-invariant-0.3.3"
         ];
       })
-      sources."graphql-extensions-0.10.3"
+      sources."graphql-extensions-0.10.8"
       sources."graphql-subscriptions-1.1.0"
       sources."graphql-tag-2.10.1"
-      sources."graphql-tools-4.0.5"
-      sources."graphql-type-json-0.2.4"
-      sources."graphql-upload-8.0.7"
+      sources."graphql-tools-4.0.6"
+      sources."graphql-type-json-0.3.1"
+      sources."graphql-upload-8.1.0"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
+      (sources."has-ansi-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+        ];
+      })
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -46372,42 +47379,61 @@ in
       })
       sources."hash.js-1.1.7"
       sources."he-1.2.0"
+      sources."header-case-1.0.1"
       sources."homedir-polyfill-1.0.3"
       (sources."htmlparser2-3.10.1" // {
         dependencies = [
           sources."readable-stream-3.4.0"
         ];
       })
+      (sources."http-call-5.3.0" // {
+        dependencies = [
+          sources."is-stream-2.0.0"
+        ];
+      })
       sources."http-errors-1.7.3"
       sources."http-signature-1.2.0"
+      sources."human-signals-1.1.1"
+      sources."hyperlinker-1.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.1.13"
       sources."ignore-4.0.6"
       sources."ignore-by-default-1.0.1"
+      sources."import-fresh-2.0.0"
       sources."import-global-0.1.0"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."indent-string-3.2.0"
+      sources."indent-string-4.0.0"
+      sources."inflected-2.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."inquirer-6.5.2"
+      (sources."inquirer-6.5.2" // {
+        dependencies = [
+          sources."figures-2.0.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."interpret-1.2.0"
       sources."into-stream-2.0.1"
       sources."invariant-2.2.4"
       sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
+      sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
+      sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-installed-globally-0.1.0"
+      sources."is-lower-case-1.1.3"
       sources."is-natural-number-4.0.1"
       sources."is-npm-1.0.0"
       (sources."is-number-3.0.0" // {
@@ -46417,16 +47443,18 @@ in
       })
       sources."is-obj-1.0.1"
       sources."is-object-1.0.1"
+      sources."is-observable-1.1.0"
       sources."is-path-inside-1.0.1"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
+      sources."is-upper-case-1.1.2"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
@@ -46436,6 +47464,7 @@ in
       sources."isstream-0.1.2"
       sources."isurl-1.0.0"
       sources."iterall-1.2.2"
+      sources."java-properties-1.0.2"
       sources."javascript-stringify-1.6.0"
       sources."js-levenshtein-1.1.6"
       sources."js-message-1.0.5"
@@ -46445,31 +47474,77 @@ in
       sources."jsbn-0.1.1"
       (sources."jscodeshift-0.6.4" // {
         dependencies = [
+          sources."ast-types-0.11.7"
           sources."recast-0.16.2"
           sources."source-map-0.6.1"
         ];
       })
       sources."jsesc-2.5.2"
+      sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
       sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
       sources."launch-editor-2.2.1"
+      sources."listr-0.14.3"
+      sources."listr-silent-renderer-1.1.1"
+      (sources."listr-update-renderer-0.5.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."indent-string-3.2.0"
+          sources."log-symbols-1.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."listr-verbose-renderer-0.5.0" // {
+        dependencies = [
+          sources."figures-2.0.0"
+        ];
+      })
+      (sources."load-json-file-5.3.0" // {
+        dependencies = [
+          sources."pify-4.0.1"
+        ];
+      })
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
+      sources."lodash._reinterpolate-3.0.0"
       sources."lodash.clonedeep-4.5.0"
+      sources."lodash.debounce-4.0.8"
+      sources."lodash.get-4.4.2"
+      sources."lodash.identity-3.0.0"
       sources."lodash.merge-4.6.2"
+      sources."lodash.pickby-4.6.0"
       sources."lodash.sortby-4.7.0"
+      sources."lodash.template-4.5.0"
+      sources."lodash.templatesettings-4.2.0"
+      sources."lodash.xorby-4.7.0"
       sources."log-symbols-2.2.0"
+      (sources."log-update-2.3.0" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+          sources."wrap-ansi-3.0.1"
+        ];
+      })
       sources."long-4.0.0"
       sources."loose-envify-1.4.0"
       sources."lowdb-1.0.0"
+      sources."lower-case-1.1.4"
+      sources."lower-case-first-1.0.2"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-5.1.1"
+      (sources."lru-cache-5.1.1" // {
+        dependencies = [
+          sources."yallist-3.1.1"
+        ];
+      })
       sources."make-dir-1.3.0"
       sources."make-error-1.3.5"
       sources."map-cache-0.2.2"
@@ -46477,6 +47552,7 @@ in
       sources."media-typer-0.3.0"
       sources."merge-1.2.1"
       sources."merge-descriptors-1.0.1"
+      sources."merge-stream-2.0.0"
       sources."merge2-1.3.0"
       sources."methods-1.1.2"
       (sources."micromatch-3.1.10" // {
@@ -46486,8 +47562,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
@@ -46502,16 +47578,18 @@ in
           sources."minimist-0.0.8"
         ];
       })
-      sources."ms-2.0.0"
+      sources."moment-2.24.0"
+      sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
       sources."nan-2.14.0"
-      sources."nanoid-2.1.1"
+      sources."nanoid-2.1.8"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."extend-shallow-3.0.2"
           sources."is-extendable-1.0.1"
         ];
       })
+      sources."natural-orderby-2.0.3"
       sources."ndjson-1.5.0"
       (sources."neat-csv-2.1.0" // {
         dependencies = [
@@ -46521,6 +47599,7 @@ in
       sources."negotiator-0.6.2"
       sources."neo-async-2.6.1"
       sources."nice-try-1.0.5"
+      sources."no-case-2.3.2"
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.0"
       sources."node-ipc-9.1.1"
@@ -46530,15 +47609,10 @@ in
           sources."semver-5.7.1"
         ];
       })
-      (sources."node-releases-1.1.32" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."nodemon-1.19.2" // {
+      sources."node-releases-1.1.44"
+      (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.6"
-          sources."ms-2.1.2"
           sources."semver-5.7.1"
         ];
       })
@@ -46547,6 +47621,7 @@ in
       sources."npm-conf-1.1.3"
       sources."npm-run-path-2.0.2"
       sources."nth-check-1.0.2"
+      sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
@@ -46562,34 +47637,49 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object-path-0.11.4"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-6.4.0"
       sources."optimism-0.10.3"
-      sources."ora-3.4.0"
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
+      sources."p-map-2.1.0"
       sources."p-try-2.2.0"
       (sources."package-json-4.0.1" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
+      sources."param-case-2.1.1"
       sources."parse-git-config-2.0.3"
+      sources."parse-json-4.0.0"
       sources."parse-passwd-1.0.0"
       sources."parse5-3.0.3"
       sources."parseurl-1.3.3"
+      sources."pascal-case-2.0.1"
       sources."pascalcase-0.1.1"
+      (sources."password-prompt-1.1.2" // {
+        dependencies = [
+          sources."cross-spawn-6.0.5"
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."path-case-2.1.1"
       sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
@@ -46610,9 +47700,9 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pirates-4.0.1"
       sources."pkg-dir-3.0.0"
-      (sources."portfinder-1.0.24" // {
+      (sources."portfinder-1.0.25" // {
         dependencies = [
-          sources."debug-2.6.9"
+          sources."debug-3.2.6"
         ];
       })
       sources."posix-character-classes-0.1.1"
@@ -46622,15 +47712,10 @@ in
       sources."process-exists-3.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      (sources."protobufjs-6.8.8" // {
-        dependencies = [
-          sources."@types/node-10.14.18"
-        ];
-      })
       sources."proxy-addr-2.0.5"
       sources."ps-list-4.1.0"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pstree.remy-1.1.7"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -46645,14 +47730,16 @@ in
       sources."rc-1.2.8"
       sources."readable-stream-2.3.6"
       sources."readdirp-2.2.1"
-      (sources."recast-0.17.6" // {
+      (sources."recast-0.18.5" // {
         dependencies = [
-          sources."ast-types-0.12.4"
           sources."source-map-0.6.1"
         ];
       })
+      sources."rechoir-0.6.2"
+      sources."redeyed-2.1.1"
       sources."regenerate-1.4.0"
       sources."regenerate-unicode-properties-8.1.0"
+      sources."regenerator-runtime-0.10.5"
       sources."regenerator-transform-0.14.1"
       (sources."regex-not-1.0.2" // {
         dependencies = [
@@ -46660,12 +47747,11 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."regexp-tree-0.1.13"
       sources."regexpu-core-4.6.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."regjsgen-0.5.0"
-      (sources."regjsparser-0.6.0" // {
+      sources."regjsgen-0.5.1"
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -46678,15 +47764,16 @@ in
           sources."qs-6.5.2"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."resolve-1.12.0"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."resolve-1.14.1"
+      sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
       sources."retry-0.12.0"
       sources."rimraf-2.7.1"
-      sources."rss-parser-3.7.2"
+      sources."rss-parser-3.7.3"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
       sources."safe-buffer-5.1.2"
@@ -46716,6 +47803,7 @@ in
           sources."ms-2.1.1"
         ];
       })
+      sources."sentence-case-2.1.1"
       sources."serve-static-1.14.1"
       sources."set-value-2.0.1"
       sources."setprototypeof-1.1.1"
@@ -46723,10 +47811,13 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.2"
+      sources."shelljs-0.7.7"
       sources."shellwords-0.1.1"
       sources."shortid-2.2.15"
       sources."signal-exit-3.0.2"
-      sources."slash-2.0.0"
+      sources."slash-3.0.0"
+      sources."slice-ansi-0.0.4"
+      sources."snake-case-2.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -46743,6 +47834,7 @@ in
           })
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -46757,7 +47849,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -46799,13 +47891,19 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.padstart-3.0.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.padstart-3.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-6.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+        ];
+      })
+      sources."strip-bom-3.0.0"
       sources."strip-dirs-2.1.0"
       sources."strip-eof-1.0.0"
+      sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
       (sources."subscriptions-transport-ws-0.9.16" // {
@@ -46814,17 +47912,45 @@ in
         ];
       })
       sources."supports-color-5.5.0"
+      (sources."supports-hyperlinks-1.0.1" // {
+        dependencies = [
+          sources."has-flag-2.0.0"
+        ];
+      })
+      sources."swap-case-1.1.2"
       sources."symbol-observable-1.2.0"
+      (sources."table-5.4.6" // {
+        dependencies = [
+          sources."slice-ansi-2.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."tar-stream-1.6.2"
-      sources."taskkill-3.0.0"
+      (sources."taskkill-3.1.0" // {
+        dependencies = [
+          sources."cross-spawn-7.0.1"
+          sources."execa-3.4.0"
+          sources."get-stream-5.1.0"
+          sources."is-stream-2.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."npm-run-path-4.0.1"
+          sources."onetime-5.1.0"
+          sources."p-finally-2.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
       (sources."tasklist-3.1.1" // {
         dependencies = [
           sources."pify-2.3.0"
         ];
       })
-      (sources."temp-0.8.3" // {
+      (sources."temp-0.8.4" // {
         dependencies = [
-          sources."rimraf-2.2.8"
+          sources."rimraf-2.6.3"
         ];
       })
       (sources."term-size-1.2.0" // {
@@ -46836,6 +47962,7 @@ in
       sources."through2-2.0.5"
       sources."timed-out-4.0.1"
       sources."tiny-emitter-2.1.0"
+      sources."title-case-2.1.1"
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
       sources."to-fast-properties-2.0.0"
@@ -46858,19 +47985,22 @@ in
           sources."punycode-1.4.1"
         ];
       })
+      sources."treeify-1.1.0"
       sources."trim-repeated-1.0.0"
-      sources."trim-right-1.0.1"
       sources."ts-invariant-0.4.4"
-      sources."ts-node-8.4.1"
+      sources."ts-node-8.5.4"
       sources."tslib-1.10.0"
+      sources."tty-1.0.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
+      sources."type-fest-0.3.1"
       sources."type-is-1.6.18"
-      sources."typescript-3.6.3"
+      sources."typescript-3.7.4"
       sources."unbzip2-stream-1.3.3"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
@@ -46893,7 +48023,13 @@ in
       })
       sources."unzip-response-2.0.1"
       sources."upath-1.2.0"
-      sources."update-notifier-2.5.0"
+      (sources."update-notifier-2.5.0" // {
+        dependencies = [
+          sources."boxen-1.3.0"
+        ];
+      })
+      sources."upper-case-1.1.3"
+      sources."upper-case-first-1.1.2"
       sources."uri-js-4.2.2"
       sources."urix-0.1.0"
       sources."url-parse-lax-1.0.0"
@@ -46906,34 +48042,63 @@ in
       sources."validate-npm-package-name-3.0.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."vue-cli-plugin-apollo-0.20.0"
-      (sources."vue-jscodeshift-adapter-2.0.2" // {
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-5.2.1"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-1.0.6"
+      (sources."vue-cli-plugin-apollo-0.21.3" // {
         dependencies = [
-          sources."indent-string-4.0.0"
+          sources."cross-spawn-7.0.1"
+          sources."deepmerge-4.2.2"
+          sources."execa-3.4.0"
+          sources."fs-extra-8.1.0"
+          sources."get-stream-5.1.0"
+          sources."is-stream-2.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."npm-run-path-4.0.1"
+          sources."onetime-5.1.0"
+          sources."p-finally-2.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
+      sources."vue-jscodeshift-adapter-2.0.3"
+      (sources."vue-sfc-descriptor-to-string-1.0.0" // {
+        dependencies = [
+          sources."indent-string-3.2.0"
         ];
       })
-      sources."vue-sfc-descriptor-to-string-1.0.0"
-      sources."vue-template-compiler-2.6.10"
+      sources."vue-template-compiler-2.6.11"
       sources."watch-1.0.2"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
+      (sources."wrap-ansi-4.0.0" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."ws-6.2.1"
       sources."xdg-basedir-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xtend-4.0.2"
-      sources."yallist-3.0.3"
+      sources."yallist-2.1.2"
       (sources."yaml-front-matter-3.4.1" // {
         dependencies = [
           sources."commander-1.0.0"
         ];
       })
+      sources."yarn-1.21.1"
       sources."yauzl-2.10.0"
       sources."yn-3.1.1"
-      sources."zen-observable-0.8.14"
+      sources."zen-observable-0.8.15"
       sources."zen-observable-ts-0.8.20"
     ];
     buildInputs = globalBuildInputs;
@@ -47071,11 +48236,11 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      sources."@babel/generator-7.6.0"
+      sources."@babel/generator-7.7.7"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.0"
-      sources."@babel/template-7.6.0"
-      sources."@babel/types-7.6.1"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -47095,7 +48260,7 @@ in
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."escape-string-regexp-1.0.5"
       sources."esutils-2.0.3"
       sources."has-flag-3.0.0"
@@ -47106,7 +48271,6 @@ in
       sources."source-map-0.5.7"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
-      sources."trim-right-1.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -47150,32 +48314,32 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.14.1";
+    version = "1.14.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.14.1.tgz";
-      sha512 = "AbKwsUIrmy4jj6QbQr9QZcDRtmEw1vp+cx9BoX+0KHi+pDu9ZoFFYN1hIkojlnGWzd1R2xZshB/p8LsMyZ1ndw==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.14.5.tgz";
+      sha512 = "zMCw1CCc2sR70pwLMCrSReTBWOHUClV28s7gD83eewkF7VM7e+fsPKtlKMRRzrxnVdzvRWXipZKWU3GjYZi95w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      (sources."@babel/core-7.6.0" // {
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.6.0" // {
+      (sources."@babel/generator-7.7.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helpers-7.6.0"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.0"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.0"
-      sources."@babel/types-7.6.1"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
@@ -47187,15 +48351,16 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."debug-4.1.1"
       sources."ejs-2.5.7"
       sources."ensure-posix-path-1.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."esutils-2.0.3"
       sources."fs-extra-5.0.0"
+      sources."function-bind-1.1.1"
       (sources."global-modules-0.2.3" // {
         dependencies = [
           sources."is-windows-0.2.0"
@@ -47208,7 +48373,8 @@ in
         ];
       })
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
+      sources."has-1.0.3"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."homedir-polyfill-1.0.3"
@@ -47218,7 +48384,7 @@ in
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."jsonfile-4.0.0"
       sources."jsonlint-1.6.2"
       sources."lodash-4.17.15"
@@ -47227,7 +48393,7 @@ in
       sources."minimist-1.2.0"
       sources."moment-2.20.1"
       sources."ms-2.1.2"
-      sources."node.extend-2.0.0"
+      sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
           sources."ansi-styles-1.0.0"
@@ -47237,7 +48403,7 @@ in
       sources."parse-passwd-1.0.0"
       sources."path-parse-1.0.6"
       sources."pkginfo-0.4.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."safe-buffer-5.1.2"
       sources."sax-0.5.8"
       sources."semver-5.7.1"
@@ -47245,14 +48411,13 @@ in
       sources."strip-ansi-0.1.1"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
-      sources."trim-right-1.0.1"
       sources."underscore-1.6.0"
       sources."universalify-0.1.2"
       sources."walk-sync-0.3.4"
       sources."which-1.3.1"
       sources."xml2js-0.2.8"
       sources."xml2tss-0.0.5"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -47267,21 +48432,21 @@ in
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
-    version = "2.0.1";
+    version = "2.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/asar/-/asar-2.0.1.tgz";
-      sha512 = "Vo9yTuUtyFahkVMFaI6uMuX6N7k5DWa6a/8+7ov0/f8Lq9TVR0tUjzSzxQSxT1Y+RJIZgnP7BVb6Uhi+9cjxqA==";
+      url = "https://registry.npmjs.org/asar/-/asar-2.0.3.tgz";
+      sha512 = "QdHKO+HOYVtE4B/M3up3i4LSJeJgsa2CTVBrjBf9GgLUPGGUFZowcdJ5yE4gOJuRAHNdqB9JFeRfFfaOu5x8Rw==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."cuint-0.2.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."minimatch-3.0.4"
@@ -47304,597 +48469,73 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  azure-cli = nodeEnv.buildNodePackage {
-    name = "azure-cli";
-    packageName = "azure-cli";
-    version = "0.10.20";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.20.tgz";
-      sha512 = "MMiK5sFfIocNMWCc5PshUCAe6aY4P13/GCmSwudOziA/pFdQMHU8jhu+jU2SSWFug4K1ugeuCwtMXe43oL0PhQ==";
-    };
-    dependencies = [
-      sources."@types/node-8.10.54"
-      sources."JSV-4.0.2"
-      sources."adal-node-0.1.28"
-      sources."ajv-6.10.2"
-      sources."amdefine-1.0.1"
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
-      sources."applicationinsights-0.16.0"
-      sources."asap-2.0.6"
-      sources."asn1-0.2.4"
-      sources."assert-plus-0.2.0"
-      sources."async-1.4.2"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
-      sources."azure-arm-authorization-2.0.0"
-      sources."azure-arm-batch-3.2.0"
-      sources."azure-arm-cdn-4.2.0"
-      sources."azure-arm-commerce-2.1.0"
-      sources."azure-arm-compute-3.0.0-preview"
-      (sources."azure-arm-datalake-analytics-1.0.2-preview" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."azure-arm-resource-1.6.1-preview"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
-      (sources."azure-arm-datalake-store-1.0.2-preview" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."azure-arm-resource-1.6.1-preview"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
-      sources."azure-arm-devtestlabs-2.1.1"
-      sources."azure-arm-dns-2.1.0"
-      sources."azure-arm-hdinsight-0.2.2"
-      sources."azure-arm-hdinsight-jobs-0.1.0"
-      sources."azure-arm-insights-0.11.3"
-      sources."azure-arm-iothub-1.0.1-preview"
-      sources."azure-arm-network-5.3.0"
-      (sources."azure-arm-powerbiembedded-0.1.1" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."azure-arm-resource-1.6.1-preview"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
-      (sources."azure-arm-rediscache-0.2.3" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."azure-arm-resource-1.6.1-preview"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
-      sources."azure-arm-resource-7.3.0"
-      sources."azure-arm-servermanagement-1.1.0"
-      sources."azure-arm-storage-5.2.0"
-      sources."azure-arm-trafficmanager-1.1.0-preview"
-      sources."azure-arm-website-5.7.0"
-      sources."azure-asm-compute-0.18.0"
-      sources."azure-asm-hdinsight-0.10.2"
-      sources."azure-asm-mgmt-0.10.1"
-      sources."azure-asm-network-0.13.0"
-      sources."azure-asm-sb-0.10.1"
-      sources."azure-asm-sql-0.10.1"
-      sources."azure-asm-storage-0.12.0"
-      sources."azure-asm-subscription-0.10.1"
-      sources."azure-asm-trafficmanager-0.10.3"
-      (sources."azure-asm-website-0.10.7" // {
-        dependencies = [
-          sources."underscore-1.9.1"
-        ];
-      })
-      (sources."azure-batch-3.2.2" // {
-        dependencies = [
-          sources."underscore-1.9.1"
-        ];
-      })
-      (sources."azure-common-0.9.22" // {
-        dependencies = [
-          sources."validator-9.4.1"
-          (sources."xml2js-0.4.22" // {
-            dependencies = [
-              sources."xmlbuilder-11.0.1"
-            ];
-          })
-        ];
-      })
-      sources."azure-gallery-2.0.0-pre.18"
-      sources."azure-graph-2.2.0"
-      sources."azure-keyvault-3.0.5"
-      (sources."azure-monitoring-0.10.6" // {
-        dependencies = [
-          sources."underscore-1.9.1"
-        ];
-      })
-      sources."azure-servicefabric-2.2.0"
-      (sources."azure-storage-2.10.3" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-          sources."sax-0.5.8"
-          sources."underscore-1.8.3"
-          sources."validator-9.4.1"
-          sources."xml2js-0.2.8"
-          sources."xmlbuilder-9.0.7"
-        ];
-      })
-      sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      (sources."bl-1.1.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-        ];
-      })
-      sources."boom-2.10.1"
-      sources."brace-expansion-1.1.11"
-      sources."browserify-mime-1.2.9"
-      sources."buffer-equal-constant-time-1.0.1"
-      sources."buffer-from-1.1.1"
-      sources."caller-id-0.1.0"
-      sources."caseless-0.11.0"
-      sources."chalk-1.1.3"
-      sources."clone-1.0.4"
-      sources."colors-1.1.2"
-      sources."combined-stream-1.0.8"
-      sources."commander-1.0.4"
-      sources."concat-map-0.0.1"
-      (sources."concat-stream-1.6.2" // {
-        dependencies = [
-          sources."process-nextick-args-2.0.1"
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."core-util-is-1.0.2"
-      sources."cryptiles-2.0.5"
-      sources."ctype-0.5.2"
-      sources."cycle-1.0.3"
-      (sources."dashdash-1.14.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."date-utils-1.2.21"
-      sources."dateformat-1.0.2-1.2.3"
-      sources."deep-equal-1.1.0"
-      sources."defaults-1.0.3"
-      sources."define-properties-1.1.3"
-      sources."delayed-stream-1.0.0"
-      sources."duplexer-0.1.1"
-      sources."easy-table-1.1.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."ecdsa-sig-formatter-1.0.11"
-      sources."envconf-0.0.4"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."event-stream-3.1.5"
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."eyes-0.1.8"
-      sources."fast-deep-equal-2.0.1"
-      sources."fast-json-patch-0.5.6"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."fibers-1.0.15"
-      sources."forever-agent-0.6.1"
-      (sources."form-data-1.0.1" // {
-        dependencies = [
-          sources."async-2.6.3"
-        ];
-      })
-      sources."from-0.1.7"
-      sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."galaxy-0.1.12"
-      sources."generate-function-2.3.1"
-      sources."generate-object-property-1.2.0"
-      (sources."getpass-0.1.7" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."github-0.1.6"
-      sources."glob-7.1.4"
-      sources."har-schema-2.0.0"
-      (sources."har-validator-2.0.6" // {
-        dependencies = [
-          sources."commander-2.20.0"
-        ];
-      })
-      sources."has-1.0.3"
-      sources."has-ansi-2.0.0"
-      sources."has-color-0.1.7"
-      sources."has-symbols-1.0.0"
-      sources."hash-base-3.0.4"
-      sources."hawk-3.1.3"
-      sources."hoek-2.16.3"
-      sources."http-basic-2.5.1"
-      sources."http-response-object-1.1.0"
-      sources."http-signature-1.1.1"
-      sources."i-0.3.6"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."is-arguments-1.0.4"
-      sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.20.0"
-      sources."is-property-1.0.2"
-      sources."is-regex-1.0.4"
-      sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
-      sources."is-typedarray-1.0.0"
-      sources."isarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."js2xmlparser-1.0.0"
-      sources."jsbn-0.1.1"
-      sources."json-edm-parser-0.1.2"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonlint-1.6.2"
-      sources."jsonminify-0.4.1"
-      sources."jsonparse-1.2.0"
-      sources."jsonpointer-4.0.1"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."jsrsasign-4.8.2"
-      sources."jwa-1.4.1"
-      sources."jws-3.2.2"
-      sources."jwt-decode-2.2.0"
-      sources."keypress-0.1.0"
-      (sources."kuduscript-1.0.16" // {
-        dependencies = [
-          sources."commander-1.1.1"
-          sources."streamline-0.4.11"
-        ];
-      })
-      sources."lodash-4.17.15"
-      sources."map-stream-0.1.0"
-      sources."md5.js-1.3.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
-      sources."moment-2.24.0"
-      (sources."ms-rest-2.5.3" // {
-        dependencies = [
-          sources."through-2.3.8"
-          sources."tunnel-0.0.5"
-        ];
-      })
-      (sources."ms-rest-azure-2.6.0" // {
-        dependencies = [
-          sources."async-2.6.0"
-        ];
-      })
-      sources."mute-stream-0.0.8"
-      sources."ncp-0.4.2"
-      sources."node-forge-0.6.23"
-      sources."node-uuid-1.4.8"
-      (sources."nomnom-1.8.1" // {
-        dependencies = [
-          sources."ansi-styles-1.0.0"
-          sources."chalk-0.4.0"
-          sources."strip-ansi-0.1.1"
-          sources."underscore-1.6.0"
-        ];
-      })
-      sources."oauth-sign-0.8.2"
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
-      sources."omelette-0.3.2"
-      sources."once-1.4.0"
-      sources."openssl-wrapper-0.3.4"
-      sources."os-homedir-1.0.2"
-      sources."path-is-absolute-1.0.1"
-      sources."pause-stream-0.0.11"
-      sources."performance-now-2.1.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pkginfo-0.4.1"
-      sources."process-nextick-args-1.0.7"
-      sources."progress-1.1.8"
-      sources."promise-7.3.1"
-      (sources."prompt-0.2.14" // {
-        dependencies = [
-          sources."async-0.2.10"
-          sources."colors-0.6.2"
-          (sources."winston-0.8.3" // {
-            dependencies = [
-              sources."pkginfo-0.3.1"
-            ];
-          })
-        ];
-      })
-      sources."psl-1.4.0"
-      sources."punycode-1.4.1"
-      sources."qs-6.2.3"
-      sources."read-1.0.7"
-      (sources."readable-stream-1.0.34" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
-      sources."regexp.prototype.flags-1.2.0"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-          sources."aws-sign2-0.7.0"
-          sources."caseless-0.12.0"
-          sources."form-data-2.3.3"
-          sources."har-validator-5.1.3"
-          sources."http-signature-1.2.0"
-          sources."oauth-sign-0.9.0"
-          sources."qs-6.5.2"
-          sources."tough-cookie-2.4.3"
-          sources."tunnel-agent-0.6.0"
-        ];
-      })
-      sources."revalidator-0.1.8"
-      sources."rimraf-2.7.1"
-      sources."safe-buffer-5.2.0"
-      sources."safer-buffer-2.1.2"
-      sources."sax-1.2.4"
-      sources."sntp-1.0.9"
-      sources."source-map-0.1.43"
-      sources."split-0.2.10"
-      (sources."ssh-key-to-pem-0.11.0" // {
-        dependencies = [
-          sources."asn1-0.1.11"
-        ];
-      })
-      (sources."sshpk-1.16.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."stack-trace-0.0.10"
-      sources."stream-combiner-0.0.4"
-      sources."streamline-0.10.17"
-      sources."streamline-streams-0.1.5"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
-      sources."string_decoder-0.10.31"
-      sources."stringstream-0.0.6"
-      sources."strip-ansi-3.0.1"
-      sources."supports-color-2.0.0"
-      sources."sync-request-3.0.0"
-      sources."then-request-2.2.0"
-      sources."through-2.3.4"
-      sources."tough-cookie-2.3.4"
-      sources."tunnel-0.0.2"
-      sources."tunnel-agent-0.4.3"
-      sources."tweetnacl-0.14.5"
-      sources."typedarray-0.0.6"
-      sources."underscore-1.4.4"
-      (sources."uri-js-4.2.2" // {
-        dependencies = [
-          sources."punycode-2.1.1"
-        ];
-      })
-      sources."user-home-2.0.0"
-      sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
-      (sources."utile-0.2.1" // {
-        dependencies = [
-          sources."async-0.2.10"
-        ];
-      })
-      sources."uuid-3.3.3"
-      sources."validator-5.2.0"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."wcwidth-1.0.1"
-      (sources."winston-2.1.1" // {
-        dependencies = [
-          sources."async-1.0.0"
-          sources."colors-1.0.3"
-          sources."pkginfo-0.3.1"
-        ];
-      })
-      sources."wordwrap-0.0.2"
-      sources."wrappy-1.0.2"
-      sources."xml2js-0.1.14"
-      sources."xmlbuilder-0.4.3"
-      sources."xmldom-0.1.27"
-      sources."xpath.js-1.1.0"
-      sources."xtend-4.0.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Microsoft Azure Cross Platform Command Line tool";
-      homepage = https://github.com/Azure/azure-xplat-cli;
-      license = "Apache-2.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-  azure-functions-core-tools = nodeEnv.buildNodePackage {
-    name = "azure-functions-core-tools";
-    packageName = "azure-functions-core-tools";
-    version = "2.7.1585";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-2.7.1585.tgz";
-      sha512 = "jxtiDsa1M5eMmXyjrkX8b2jl+7QKsjWifF8ralXI9DJYh1jJATUKGAPw56n5SJFbsxZlxxdxDoboOkgFP4aeog==";
-    };
-    dependencies = [
-      sources."agent-base-4.3.0"
-      sources."ansi-styles-3.2.1"
-      sources."balanced-match-1.0.0"
-      sources."big-integer-1.6.45"
-      sources."binary-0.3.0"
-      sources."bluebird-3.4.7"
-      sources."brace-expansion-1.1.11"
-      sources."buffer-indexof-polyfill-1.0.1"
-      sources."buffers-0.1.1"
-      sources."chainsaw-0.1.0"
-      sources."chalk-2.4.2"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."command-exists-1.2.8"
-      sources."concat-map-0.0.1"
-      sources."core-util-is-1.0.2"
-      sources."debug-3.2.6"
-      sources."duplexer2-0.1.4"
-      sources."es6-promise-4.2.8"
-      sources."es6-promisify-5.0.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.12"
-      sources."glob-7.1.3"
-      sources."graceful-fs-4.2.2"
-      sources."has-flag-3.0.0"
-      sources."https-proxy-agent-2.2.1"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."isarray-1.0.0"
-      sources."listenercount-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
-      sources."ms-2.1.2"
-      sources."once-1.4.0"
-      sources."os-tmpdir-1.0.2"
-      sources."path-is-absolute-1.0.1"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."readable-stream-2.3.6"
-      sources."rimraf-2.6.3"
-      sources."safe-buffer-5.1.2"
-      sources."setimmediate-1.0.5"
-      sources."string_decoder-1.1.1"
-      sources."supports-color-5.5.0"
-      sources."tmp-0.0.33"
-      sources."traverse-0.3.9"
-      sources."unzipper-0.9.7"
-      sources."util-deprecate-1.0.2"
-      sources."wrappy-1.0.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Azure Functions Core Tools";
-      homepage = "https://github.com/Azure/azure-functions-core-tools#readme";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "1.5.6";
+    version = "1.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.5.6.tgz";
-      sha512 = "GqW24myNihrUroXdL40AemizC3lBvr2wOiF0GzxYWqsBsJvi6CQor0Y9t10jOGn11evMhncmR2f2LoQdjsNpqw==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.7.0.tgz";
+      sha512 = "7LoZPq2jYPov87LDnoYY5/3KdwTjjUQbQAim9zvRvjV2DI6sku5CKLGmoqaivOyx0Ah8mUWwnvHg/1R+H5N9qg==";
     };
     dependencies = [
-      sources."abab-2.0.1"
+      sources."abab-2.0.3"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
       sources."ajv-6.10.2"
-      sources."ansi-regex-2.1.1"
-      sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.5"
       sources."array-equal-1.0.0"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      (sources."bl-3.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.4.0"
-        ];
-      })
       sources."brace-expansion-1.1.11"
       sources."browser-process-hrtime-0.1.3"
       sources."caseless-0.12.0"
-      sources."chownr-1.1.2"
-      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."cssom-0.3.8"
       sources."cssstyle-1.4.0"
       sources."dashdash-1.14.1"
       (sources."data-urls-1.1.0" // {
         dependencies = [
-          sources."whatwg-url-7.0.0"
+          sources."whatwg-url-7.1.0"
         ];
       })
-      sources."decompress-response-4.2.1"
-      sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
       sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."detect-libc-1.0.3"
       sources."domexception-1.0.1"
       sources."ecc-jsbn-0.1.2"
-      sources."end-of-stream-1.4.1"
       sources."escodegen-1.12.0"
       sources."esprima-3.1.3"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
-      sources."expand-template-2.0.3"
       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."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
-      sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."github-from-package-0.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-unicode-2.0.1"
       sources."html-encoding-sniffer-1.0.2"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       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-typedarray-1.0.0"
-      sources."isarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."jsdom-11.12.0"
@@ -47906,103 +48547,57 @@ in
       sources."levn-0.3.0"
       sources."lodash-4.17.15"
       sources."lodash.sortby-4.7.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-response-2.0.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.0"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      sources."nan-2.14.0"
-      sources."napi-build-utils-1.0.1"
-      sources."node-abi-2.11.0"
-      sources."noop-logger-0.1.1"
-      sources."npmlog-4.1.2"
-      sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
-      sources."object-assign-4.1.1"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."parse5-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."pn-1.1.0"
-      sources."prebuild-install-5.3.2"
       sources."prelude-ls-1.1.2"
-      sources."process-nextick-args-2.0.1"
-      sources."psl-1.4.0"
-      sources."pump-3.0.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."rc-1.2.8"
-      (sources."readable-stream-2.3.6" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
       sources."request-2.88.0"
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       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."simple-concat-1.0.0"
-      sources."simple-get-3.1.0"
       sources."source-map-0.6.1"
       sources."sshpk-1.16.1"
       sources."stealthy-require-1.1.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."symbol-tree-3.2.4"
-      sources."tar-fs-2.0.0"
-      (sources."tar-stream-2.1.0" // {
-        dependencies = [
-          sources."readable-stream-3.4.0"
-        ];
-      })
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
         ];
       })
       sources."tr46-1.0.1"
-      sources."tree-sitter-0.13.23"
-      sources."tree-sitter-bash-0.13.9"
       sources."tunnel-agent-0.6.0"
       sources."turndown-4.0.2"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uri-js-4.2.2"
-      sources."urijs-1.19.1"
-      sources."util-deprecate-1.0.2"
+      sources."urijs-1.19.2"
       sources."uuid-3.3.3"
       sources."verror-1.10.0"
       sources."vscode-jsonrpc-4.0.0"
-      sources."vscode-languageserver-4.4.2"
+      sources."vscode-languageserver-5.2.1"
       sources."vscode-languageserver-protocol-3.14.1"
       sources."vscode-languageserver-types-3.14.0"
       sources."vscode-uri-1.0.8"
       sources."w3c-hr-time-1.0.1"
+      sources."web-tree-sitter-0.15.11"
       sources."webidl-conversions-4.0.2"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-6.5.0"
-      sources."which-pm-runs-1.0.0"
-      sources."wide-align-1.1.3"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
@@ -48066,14 +48661,14 @@ in
       sources."find-up-1.1.2"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       sources."fs.realpath-1.0.0"
       sources."get-stdin-4.0.1"
       sources."glob-6.0.4"
       sources."graceful-fs-3.0.12"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -48084,24 +48679,24 @@ in
       sources."is-utf8-0.2.1"
       (sources."jsonfile-2.4.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       (sources."klaw-1.3.1" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       (sources."load-json-file-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       sources."lodash-4.2.1"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.41.0"
+      sources."mime-db-1.42.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -48122,7 +48717,7 @@ in
       sources."path-parse-1.0.6"
       (sources."path-type-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       sources."pify-2.3.0"
@@ -48134,10 +48729,10 @@ in
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       (sources."rimraf-2.7.1" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
         ];
       })
       sources."semver-5.7.1"
@@ -48180,7 +48775,7 @@ in
     };
     dependencies = [
       sources."JSONStream-1.3.5"
-      sources."acorn-7.0.0"
+      sources."acorn-7.1.0"
       sources."acorn-node-1.8.2"
       sources."acorn-walk-7.0.0"
       sources."asn1.js-4.10.1"
@@ -48216,7 +48811,7 @@ in
       sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
@@ -48225,10 +48820,9 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."dash-ast-1.0.0"
-      sources."date-now-0.1.4"
       sources."defined-1.0.0"
-      sources."deps-sort-2.0.0"
-      sources."des.js-1.0.0"
+      sources."deps-sort-2.0.1"
+      sources."des.js-1.0.1"
       (sources."detective-5.2.0" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -48237,13 +48831,14 @@ in
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."events-2.1.0"
       sources."evp_bytestokey-1.0.3"
+      sources."fast-safe-stringify-2.0.7"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.7"
@@ -48269,7 +48864,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."module-deps-6.2.1"
+      sources."module-deps-6.2.2"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
@@ -48296,11 +48891,12 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.0"
       sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
+      sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
       sources."simple-concat-1.0.0"
       sources."source-map-0.5.7"
@@ -48337,7 +48933,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
     ];
@@ -48371,7 +48967,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.14.18"
+      sources."@types/node-10.17.12"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.10.2"
@@ -48386,7 +48982,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -48422,7 +49018,7 @@ in
       })
       sources."castv2-client-1.2.0"
       sources."chalk-1.0.0"
-      sources."chrome-dgram-3.0.3"
+      sources."chrome-dgram-3.0.4"
       sources."chrome-dns-1.0.1"
       sources."chrome-net-3.3.3"
       sources."chromecast-player-0.2.3"
@@ -48432,7 +49028,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-3.0.1"
+      sources."commander-4.0.1"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -48454,7 +49050,6 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.2.11"
-      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."diveSync-0.3.0"
       sources."dns-js-0.2.1"
@@ -48465,14 +49060,12 @@ in
         ];
       })
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."exit-on-epipe-1.0.1"
       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."fast-json-stable-stringify-2.1.0"
       sources."fifo-0.1.4"
       (sources."figures-1.7.0" // {
         dependencies = [
@@ -48487,24 +49080,21 @@ in
         dependencies = [
           sources."minimist-0.0.8"
           sources."mkdirp-0.5.1"
-          sources."thunky-1.0.3"
+          sources."thunky-1.1.0"
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."got-1.2.2"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-1.0.3"
       sources."has-ansi-1.0.3"
-      sources."has-symbols-1.0.0"
       sources."hat-0.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
       sources."immediate-chunk-store-1.0.8"
       sources."indent-string-2.1.0"
@@ -48517,11 +49107,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-finite-1.0.2"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-0.0.1"
@@ -48559,8 +49145,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -48575,9 +49161,6 @@ in
       sources."numeral-1.5.6"
       sources."oauth-sign-0.9.0"
       sources."object-assign-1.0.0"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."once-1.4.0"
       sources."open-0.0.5"
       (sources."optimist-0.6.1" // {
@@ -48627,7 +49210,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promiscuous-0.6.0"
       sources."protobufjs-6.8.8"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       (sources."pump-0.3.5" // {
         dependencies = [
           sources."once-1.2.0"
@@ -48671,7 +49254,7 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.7.1"
       sources."router-0.6.2"
       sources."run-parallel-1.1.9"
@@ -48716,8 +49299,6 @@ in
       sources."srt2vtt-1.3.1"
       sources."sshpk-1.16.1"
       sources."stream-transcoder-0.0.5"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string2compact-1.3.0"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-2.0.1"
@@ -48731,7 +49312,7 @@ in
       sources."time-line-1.0.1"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.2"
-      (sources."torrent-stream-1.1.0" // {
+      (sources."torrent-stream-1.2.0" // {
         dependencies = [
           sources."end-of-stream-0.1.5"
           sources."magnet-uri-4.2.3"
@@ -48755,7 +49336,6 @@ in
       sources."uri-js-4.2.2"
       sources."utfx-1.0.1"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."utp-0.0.7"
       sources."uuid-3.3.3"
       sources."validate-npm-package-license-3.0.4"
@@ -48771,13 +49351,13 @@ in
           sources."ultron-1.0.2"
         ];
       })
-      (sources."xml2js-0.4.22" // {
+      (sources."xml2js-0.4.23" // {
         dependencies = [
           sources."xmlbuilder-11.0.1"
         ];
       })
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.2"
     ];
@@ -48791,6 +49371,773 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "texlab-citeproc-build-deps-../tools/misc/texlab/citeproc" = nodeEnv.buildNodePackage {
+    name = "citeproc";
+    packageName = "citeproc";
+    version = "0.1.0";
+    src = ../tools/misc/texlab/citeproc;
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      sources."@babel/core-7.7.7"
+      sources."@babel/generator-7.7.7"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
+      sources."@babel/helper-plugin-utils-7.0.0"
+      sources."@babel/helper-regex-7.5.5"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
+      sources."@babel/highlight-7.5.0"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
+      sources."@citation-js/core-0.4.9"
+      sources."@citation-js/date-0.4.4"
+      sources."@citation-js/name-0.4.2"
+      sources."@citation-js/plugin-bibtex-0.4.9"
+      sources."@citation-js/plugin-csl-0.4.10"
+      sources."@types/anymatch-1.3.1"
+      sources."@types/concat-stream-1.6.0"
+      sources."@types/form-data-0.0.33"
+      sources."@types/node-11.15.3"
+      sources."@types/qs-6.9.0"
+      sources."@types/source-list-map-0.1.2"
+      sources."@types/tapable-1.0.4"
+      (sources."@types/uglify-js-3.0.4" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."@types/webpack-4.41.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."@types/webpack-sources-0.1.5" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."@webassemblyjs/ast-1.8.5"
+      sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
+      sources."@webassemblyjs/helper-api-error-1.8.5"
+      sources."@webassemblyjs/helper-buffer-1.8.5"
+      sources."@webassemblyjs/helper-code-frame-1.8.5"
+      sources."@webassemblyjs/helper-fsm-1.8.5"
+      sources."@webassemblyjs/helper-module-context-1.8.5"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.8.5"
+      sources."@webassemblyjs/helper-wasm-section-1.8.5"
+      sources."@webassemblyjs/ieee754-1.8.5"
+      sources."@webassemblyjs/leb128-1.8.5"
+      sources."@webassemblyjs/utf8-1.8.5"
+      sources."@webassemblyjs/wasm-edit-1.8.5"
+      sources."@webassemblyjs/wasm-gen-1.8.5"
+      sources."@webassemblyjs/wasm-opt-1.8.5"
+      sources."@webassemblyjs/wasm-parser-1.8.5"
+      sources."@webassemblyjs/wast-parser-1.8.5"
+      sources."@webassemblyjs/wast-printer-1.8.5"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."acorn-6.4.0"
+      sources."ajv-6.10.2"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.4.1"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          sources."normalize-path-2.1.1"
+        ];
+      })
+      sources."aproba-1.2.0"
+      sources."arg-4.1.2"
+      sources."argparse-1.0.10"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-unique-0.3.2"
+      sources."asap-2.0.6"
+      sources."asn1.js-4.10.1"
+      (sources."assert-1.5.0" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."assign-symbols-1.0.0"
+      sources."async-each-1.0.3"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."babel-loader-8.0.6"
+      sources."babel-plugin-dynamic-import-node-2.3.0"
+      sources."babel-polyfill-6.26.0"
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."base64-js-1.3.1"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
+      sources."bluebird-3.7.2"
+      sources."bn.js-4.11.8"
+      sources."brace-expansion-1.1.11"
+      (sources."braces-2.3.2" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."brorand-1.1.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.2"
+      sources."browserify-rsa-4.0.1"
+      sources."browserify-sign-4.0.4"
+      sources."browserify-zlib-0.2.0"
+      sources."browserslist-4.8.2"
+      sources."buffer-4.9.2"
+      sources."buffer-from-1.1.1"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-modules-1.1.1"
+      sources."builtin-status-codes-3.0.0"
+      sources."cacache-12.0.3"
+      sources."cache-base-1.0.1"
+      sources."camelcase-5.3.1"
+      sources."caniuse-lite-1.0.30001016"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."chokidar-2.1.8"
+      sources."chownr-1.1.3"
+      sources."chrome-trace-event-1.0.2"
+      sources."cipher-base-1.0.4"
+      sources."citeproc-2.2.30"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."cliui-5.0.0"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."console-browserify-1.2.0"
+      sources."constants-browserify-1.0.0"
+      sources."convert-source-map-1.7.0"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.1" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      sources."create-ecdh-4.0.3"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."cross-spawn-6.0.5"
+      sources."crypto-browserify-3.12.0"
+      sources."cyclist-1.0.1"
+      sources."debug-4.1.1"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      sources."delayed-stream-1.0.0"
+      sources."des.js-1.0.1"
+      sources."detect-file-1.0.0"
+      sources."diff-4.0.1"
+      sources."diffie-hellman-5.0.3"
+      sources."domain-browser-1.2.0"
+      sources."duplexify-3.7.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
+      sources."emoji-regex-7.0.3"
+      sources."emojis-list-2.1.0"
+      sources."encoding-0.1.12"
+      sources."end-of-stream-1.4.4"
+      sources."enhanced-resolve-4.1.1"
+      sources."errno-0.1.7"
+      sources."escape-string-regexp-1.0.5"
+      sources."eslint-scope-4.0.3"
+      sources."esprima-4.0.1"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."events-3.0.0"
+      sources."evp_bytestokey-1.0.3"
+      sources."execa-1.0.0"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."expand-tilde-2.0.2"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."figgy-pudding-3.5.1"
+      sources."file-uri-to-path-1.0.0"
+      (sources."fill-range-4.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."find-cache-dir-2.1.0"
+      sources."find-up-3.0.0"
+      sources."findup-sync-3.0.0"
+      sources."flush-write-stream-1.1.1"
+      sources."for-in-1.0.2"
+      sources."form-data-2.5.1"
+      sources."fragment-cache-0.2.1"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.11"
+      sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
+      sources."get-port-3.2.0"
+      sources."get-stream-4.1.0"
+      sources."get-value-2.0.6"
+      sources."glob-7.1.6"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      (sources."global-modules-2.0.0" // {
+        dependencies = [
+          sources."global-prefix-3.0.0"
+        ];
+      })
+      sources."global-prefix-1.0.2"
+      sources."globals-11.12.0"
+      sources."graceful-fs-4.2.3"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.1"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."hash-base-3.0.4"
+      sources."hash.js-1.1.7"
+      sources."hmac-drbg-1.0.1"
+      sources."homedir-polyfill-1.0.3"
+      (sources."http-basic-6.0.0" // {
+        dependencies = [
+          sources."@types/node-7.10.9"
+        ];
+      })
+      (sources."http-response-object-3.0.2" // {
+        dependencies = [
+          sources."@types/node-10.17.12"
+        ];
+      })
+      sources."https-browserify-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.1.13"
+      sources."iferr-0.1.5"
+      sources."import-local-2.0.0"
+      sources."imurmurhash-0.1.4"
+      sources."infer-owner-1.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."interpret-1.2.0"
+      sources."invariant-2.2.4"
+      sources."invert-kv-2.0.0"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-glob-4.0.1"
+      (sources."is-number-3.0.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-plain-object-2.0.4"
+      sources."is-stream-1.1.0"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      sources."isomorphic-fetch-2.2.1"
+      sources."js-levenshtein-1.1.6"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.13.1"
+      sources."jsesc-2.5.2"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-0.4.1"
+      sources."json5-2.1.1"
+      sources."kind-of-6.0.2"
+      sources."lcid-2.0.0"
+      sources."loader-runner-2.4.0"
+      (sources."loader-utils-1.2.3" // {
+        dependencies = [
+          sources."json5-1.0.1"
+        ];
+      })
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."loose-envify-1.4.0"
+      sources."lru-cache-5.1.1"
+      sources."make-dir-2.1.0"
+      sources."make-error-1.3.5"
+      sources."mamacro-0.0.3"
+      sources."map-age-cleaner-0.1.3"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."md5.js-1.3.5"
+      sources."mem-4.3.0"
+      sources."memory-fs-0.5.0"
+      sources."micromatch-3.1.10"
+      sources."miller-rabin-4.0.1"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-2.1.0"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."mississippi-3.0.0"
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."move-concurrently-1.0.1"
+      sources."ms-2.1.2"
+      sources."nan-2.14.0"
+      sources."nanomatch-1.2.13"
+      sources."neo-async-2.6.1"
+      sources."nice-try-1.0.5"
+      sources."node-fetch-1.7.3"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      (sources."node-releases-1.1.44" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."normalize-path-3.0.0"
+      sources."npm-run-path-2.0.2"
+      sources."null-loader-0.1.1"
+      sources."object-assign-4.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
+      sources."object.pick-1.3.0"
+      sources."once-1.4.0"
+      sources."os-browserify-0.3.0"
+      sources."os-locale-3.1.0"
+      sources."p-defer-1.0.0"
+      sources."p-finally-1.0.0"
+      sources."p-is-promise-2.1.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.10"
+      sources."parallel-transform-1.2.0"
+      sources."parse-asn1-5.1.5"
+      sources."parse-cache-control-1.0.1"
+      sources."parse-passwd-1.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-0.0.1"
+      sources."path-dirname-1.0.2"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      sources."pbkdf2-3.0.17"
+      sources."pify-4.0.1"
+      sources."pkg-dir-3.0.0"
+      sources."posix-character-classes-0.1.1"
+      sources."prettier-1.19.1"
+      sources."private-0.1.8"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."promise-8.0.3"
+      sources."promise-inflight-1.0.1"
+      sources."prr-1.0.1"
+      sources."public-encrypt-4.0.3"
+      sources."pump-3.0.0"
+      (sources."pumpify-1.5.1" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-2.1.1"
+      sources."qs-6.9.1"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      sources."randombytes-2.1.0"
+      sources."randomfill-1.0.4"
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.2.1"
+      sources."regenerate-1.4.0"
+      sources."regenerate-unicode-properties-8.1.0"
+      sources."regenerator-runtime-0.10.5"
+      sources."regenerator-transform-0.14.1"
+      sources."regex-not-1.0.2"
+      sources."regexpu-core-4.6.0"
+      sources."regjsgen-0.5.1"
+      (sources."regjsparser-0.6.2" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.14.1"
+      sources."resolve-cwd-2.0.0"
+      (sources."resolve-dir-1.0.1" // {
+        dependencies = [
+          sources."global-modules-1.0.0"
+        ];
+      })
+      sources."resolve-from-3.0.0"
+      sources."resolve-url-0.2.1"
+      sources."ret-0.1.15"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."run-queue-1.0.3"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."schema-utils-1.0.0"
+      sources."semver-5.7.1"
+      sources."serialize-javascript-2.1.2"
+      sources."set-blocking-2.0.0"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."setimmediate-1.0.5"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.2"
+      (sources."source-map-support-0.5.16" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."source-map-url-0.4.0"
+      sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
+      sources."ssri-6.0.1"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."stream-browserify-2.0.2"
+      sources."stream-each-1.2.3"
+      sources."stream-http-2.8.3"
+      sources."stream-shift-1.0.1"
+      sources."string-width-3.1.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-5.2.0"
+      sources."strip-eof-1.0.0"
+      sources."supports-color-5.5.0"
+      sources."sync-request-5.0.0"
+      sources."sync-rpc-1.3.4"
+      sources."tapable-1.1.3"
+      (sources."terser-4.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."terser-webpack-plugin-1.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."then-request-5.0.0" // {
+        dependencies = [
+          sources."@types/node-8.10.59"
+        ];
+      })
+      sources."through2-2.0.5"
+      sources."timers-browserify-2.0.11"
+      sources."to-arraybuffer-1.0.1"
+      sources."to-fast-properties-2.0.0"
+      (sources."to-object-path-0.3.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
+      sources."ts-loader-5.4.5"
+      sources."ts-node-8.5.4"
+      sources."tslib-1.10.0"
+      sources."tslint-5.20.1"
+      sources."tslint-config-prettier-1.18.0"
+      sources."tsutils-2.29.0"
+      sources."tty-browserify-0.0.0"
+      sources."typedarray-0.0.6"
+      sources."unicode-canonical-property-names-ecmascript-1.0.4"
+      sources."unicode-match-property-ecmascript-1.0.4"
+      sources."unicode-match-property-value-ecmascript-1.1.0"
+      sources."unicode-property-aliases-ecmascript-1.0.5"
+      sources."union-value-1.0.1"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+        ];
+      })
+      sources."upath-1.2.0"
+      sources."uri-js-4.2.2"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."use-3.1.1"
+      (sources."util-0.11.1" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."v8-compile-cache-2.0.3"
+      sources."vm-browserify-1.1.2"
+      sources."watchpack-1.6.0"
+      (sources."webpack-4.41.4" // {
+        dependencies = [
+          sources."memory-fs-0.4.1"
+        ];
+      })
+      (sources."webpack-cli-3.3.10" // {
+        dependencies = [
+          sources."enhanced-resolve-4.1.0"
+          sources."memory-fs-0.4.1"
+          sources."supports-color-6.1.0"
+        ];
+      })
+      (sources."webpack-sources-1.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."whatwg-fetch-3.0.0"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      sources."worker-farm-1.7.0"
+      sources."wrap-ansi-5.1.0"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yallist-3.1.1"
+      sources."yargs-13.2.4"
+      sources."yargs-parser-13.1.1"
+      sources."yn-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Render BibTeX citations";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   clean-css = nodeEnv.buildNodePackage {
     name = "clean-css";
     packageName = "clean-css";
@@ -48850,7 +50197,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."debug-3.2.6"
       sources."escape-string-regexp-1.0.5"
       sources."follow-redirects-1.9.0"
@@ -48884,10 +50231,10 @@ in
   configurable-http-proxy = nodeEnv.buildNodePackage {
     name = "configurable-http-proxy";
     packageName = "configurable-http-proxy";
-    version = "4.1.0";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.1.0.tgz";
-      sha512 = "HwWCWql35j7EIp29mO4yRAxPH+Z2t2gwsLk3RLr6wktYjRacy0S83sG4RBDNfbfyLqJeZxFgMoKaCC/bTNxoWA==";
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.2.0.tgz";
+      sha512 = "6rlW+nPl22mxAvQB67DkatkSfUNr5qEAmKyn0TJtSEy49kJ3W7v4oiHH9Y0Au6F7ACjAB2nOCZpP885MYwfuoQ==";
     };
     dependencies = [
       sources."async-2.6.3"
@@ -48898,17 +50245,17 @@ in
       sources."colornames-1.1.1"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
-      sources."commander-2.19.0"
+      sources."commander-4.0.1"
       sources."core-util-is-1.0.2"
       sources."debug-3.2.6"
       sources."diagnostics-1.1.1"
       sources."enabled-1.0.2"
       sources."env-variable-0.0.5"
-      sources."eventemitter3-3.1.2"
+      sources."eventemitter3-4.0.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fecha-2.3.3"
       sources."follow-redirects-1.9.0"
-      sources."http-proxy-1.17.0"
+      sources."http-proxy-1.18.0"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
       sources."is-stream-1.1.0"
@@ -48965,7 +50312,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ajv-6.10.2"
@@ -48989,7 +50336,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -48998,7 +50345,7 @@ in
       })
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."big-integer-1.6.45"
+      sources."big-integer-1.6.48"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."bytes-3.1.0"
@@ -49059,7 +50406,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."cordova-app-hello-world-4.0.0"
-      sources."cordova-common-3.2.0"
+      sources."cordova-common-3.2.1"
       (sources."cordova-create-2.0.0" // {
         dependencies = [
           sources."fs-extra-7.0.1"
@@ -49086,7 +50433,7 @@ in
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."dedent-0.7.0"
-      sources."deep-equal-1.0.1"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
@@ -49108,11 +50455,11 @@ in
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."endent-1.3.0"
       sources."env-paths-1.0.0"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
@@ -49153,7 +50500,7 @@ in
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
       sources."fast-json-parse-1.0.3"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -49175,7 +50522,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -49193,19 +50540,19 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -49214,7 +50561,7 @@ in
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
@@ -49231,11 +50578,12 @@ in
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
+      sources."is-arguments-1.0.4"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
@@ -49253,10 +50601,10 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
       sources."is-windows-1.0.2"
@@ -49277,7 +50625,7 @@ in
       sources."locate-path-2.0.0"
       sources."lodash-4.17.15"
       sources."lodash.debounce-4.0.8"
-      sources."loud-rejection-2.1.0"
+      sources."loud-rejection-2.2.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."macos-release-2.3.0"
@@ -49291,8 +50639,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -49308,6 +50656,7 @@ in
       sources."nice-try-1.0.5"
       sources."nopt-4.0.1"
       sources."normalize-package-data-2.5.0"
+      sources."npm-normalize-package-bin-1.0.1"
       sources."npm-package-arg-6.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -49324,9 +50673,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
       sources."object.pick-1.3.0"
       sources."objectorarray-1.0.3"
       sources."on-finished-2.3.0"
@@ -49367,7 +50718,7 @@ in
       sources."promzard-0.3.0"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
@@ -49385,12 +50736,9 @@ in
           sources."pify-4.0.1"
         ];
       })
-      (sources."read-package-json-2.1.0" // {
-        dependencies = [
-          sources."slash-1.0.0"
-        ];
-      })
+      sources."read-package-json-2.1.1"
       sources."regex-not-1.0.2"
+      sources."regexp.prototype.flags-1.3.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."repeat-element-1.1.3"
@@ -49402,7 +50750,7 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.11.1"
+      sources."resolve-1.14.1"
       sources."resolve-from-4.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -49492,9 +50840,9 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trim-1.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trim-1.2.1"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -49504,7 +50852,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."tape-4.11.0"
+      sources."tape-4.12.1"
       (sources."term-size-1.2.0" // {
         dependencies = [
           sources."cross-spawn-5.1.0"
@@ -49563,7 +50911,7 @@ in
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."windows-release-3.2.0"
-      (sources."with-open-file-0.1.6" // {
+      (sources."with-open-file-0.1.7" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
@@ -49572,7 +50920,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -49588,10 +50936,10 @@ in
   cpy-cli = nodeEnv.buildNodePackage {
     name = "cpy-cli";
     packageName = "cpy-cli";
-    version = "2.0.0";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-2.0.0.tgz";
-      sha512 = "LzrtY3lBWvFZcw4lXgkEbbDUd7y78juC3C5l7gj3UyezMEZF0Be9fjCVLN1HoZAzdMDeC3KHehWpHBJvgVAPkw==";
+      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-3.0.0.tgz";
+      sha512 = "fxNNpGrnuVMbaDBpHdgwReMy48BelhAoS6OUUX6Zv5nMwSPZOMxL/kB5VxM9xQoB1vvw38zG9drLRS8gvavxeg==";
     };
     dependencies = [
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -49599,7 +50947,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -49607,7 +50955,7 @@ in
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
-      sources."arrify-1.0.1"
+      sources."arrify-2.0.1"
       sources."assign-symbols-1.0.0"
       sources."atob-2.1.2"
       sources."balanced-match-1.0.0"
@@ -49647,8 +50995,8 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."copy-descriptor-0.1.1"
-      sources."cp-file-6.2.0"
-      sources."cpy-7.3.0"
+      sources."cp-file-7.0.0"
+      sources."cpy-8.0.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
@@ -49701,7 +51049,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -49709,14 +51057,14 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globby-9.2.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."ignore-4.0.6"
       sources."indent-string-3.2.0"
       sources."inflight-1.0.6"
@@ -49740,6 +51088,7 @@ in
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."json-parse-better-errors-1.0.2"
+      sources."junk-3.1.0"
       sources."kind-of-6.0.2"
       (sources."load-json-file-4.0.0" // {
         dependencies = [
@@ -49748,7 +51097,7 @@ in
       })
       sources."locate-path-2.0.0"
       sources."loud-rejection-1.6.0"
-      sources."make-dir-2.1.0"
+      sources."make-dir-3.0.0"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
       sources."map-visit-1.0.0"
@@ -49756,7 +51105,11 @@ in
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
       sources."minimatch-3.0.4"
-      sources."minimist-options-3.0.2"
+      (sources."minimist-options-3.0.2" // {
+        dependencies = [
+          sources."arrify-1.0.1"
+        ];
+      })
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
@@ -49765,7 +51118,11 @@ in
       sources."ms-2.0.0"
       sources."nanomatch-1.2.13"
       sources."nested-error-stacks-2.1.0"
-      sources."normalize-package-data-2.5.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -49782,8 +51139,13 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
+      sources."p-all-2.1.0"
+      sources."p-event-4.1.0"
+      sources."p-finally-1.0.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
+      sources."p-map-2.1.0"
+      sources."p-timeout-2.0.1"
       sources."p-try-1.0.0"
       sources."parse-json-4.0.0"
       sources."pascalcase-0.1.1"
@@ -49805,12 +51167,11 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      sources."safe-buffer-5.2.0"
       sources."safe-regex-1.1.0"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -49927,7 +51288,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.1"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -49956,7 +51317,7 @@ in
       sources."d-1.0.1"
       sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -49964,9 +51325,14 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-1.0.5"
       sources."event-emitter-0.3.5"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       sources."external-editor-2.2.0"
       sources."figures-2.0.0"
@@ -49997,8 +51363,8 @@ in
       sources."lru-cache-4.1.5"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.0"
       sources."ms-2.1.2"
@@ -50010,7 +51376,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."quicktask-1.1.0"
       sources."raf-3.3.2"
       sources."readable-stream-2.3.6"
@@ -50064,10 +51430,10 @@ in
   create-react-app = nodeEnv.buildNodePackage {
     name = "create-react-app";
     packageName = "create-react-app";
-    version = "3.1.2";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.1.2.tgz";
-      sha512 = "y5wgEQwt6IpUP1N64uorVavhp8NPUAamVqA/paZmpvPSrW3l2c5UhXRi5m61plBBzDde2WyDr+3vCwDsfaS03w==";
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.3.0.tgz";
+      sha512 = "yheXb68YkLCHD+INCHB4f8/3hyet4psVpSyieiPHemIbGbbYl085n22vECIRcjoF043qyP70Cg4WWBiSIx1mWw==";
     };
     dependencies = [
       sources."ansi-escapes-3.2.0"
@@ -50094,7 +51460,7 @@ in
       })
       sources."debug-2.6.9"
       sources."duplexer2-0.0.2"
-      sources."envinfo-7.3.1"
+      sources."envinfo-7.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."external-editor-3.1.0"
       sources."figures-2.0.0"
@@ -50102,8 +51468,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."hyperquest-2.1.3"
       sources."iconv-lite-0.4.24"
@@ -50200,11 +51566,11 @@ in
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."cross-spawn-5.1.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs-extra-4.0.3"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
@@ -50292,7 +51658,7 @@ in
       sources."atob-2.1.2"
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -50334,7 +51700,7 @@ in
       sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
-      sources."chrome-dgram-3.0.3"
+      sources."chrome-dgram-3.0.4"
       sources."chrome-dns-1.0.1"
       sources."chrome-net-3.3.3"
       sources."ci-info-1.6.0"
@@ -50402,7 +51768,6 @@ in
       sources."decompress-response-4.2.1"
       sources."deep-equal-0.2.2"
       sources."deep-extend-0.6.0"
-      sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."diffy-2.1.0"
@@ -50433,9 +51798,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."end-of-stream-1.4.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       (sources."expand-brackets-2.1.4" // {
@@ -50474,8 +51837,12 @@ in
       sources."eyes-0.1.8"
       sources."fast-bitfield-1.2.2"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."fd-lock-1.0.2"
+      sources."fast-json-stable-stringify-2.1.0"
+      (sources."fd-lock-1.0.2" // {
+        dependencies = [
+          sources."napi-macros-1.8.2"
+        ];
+      })
       sources."fd-read-stream-1.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
@@ -50484,27 +51851,23 @@ in
         ];
       })
       sources."flat-tree-1.6.0"
-      sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."global-4.3.2"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -50538,14 +51901,12 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."inspect-custom-symbol-1.1.0"
+      sources."inspect-custom-symbol-1.1.1"
       sources."ip-1.1.5"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-2.0.0"
@@ -50562,11 +51923,9 @@ in
       sources."is-path-inside-1.0.1"
       sources."is-plain-object-2.0.4"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-string-1.0.5"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
@@ -50607,8 +51966,8 @@ in
       sources."merkle-tree-stream-3.0.3"
       sources."micromatch-3.1.10"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
@@ -50633,11 +51992,11 @@ in
       sources."nan-2.14.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-4.4.0"
-      sources."nanoguard-1.2.1"
+      sources."nanoguard-1.2.2"
       sources."nanomatch-1.2.13"
       sources."nanoscheduler-1.0.3"
       sources."nanotiming-7.3.1"
-      sources."napi-macros-1.8.2"
+      sources."napi-macros-2.0.0"
       sources."ncp-1.0.1"
       sources."neat-input-1.10.0"
       sources."neat-log-3.1.0"
@@ -50662,15 +52021,13 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."parse-headers-2.0.2"
+      sources."parse-headers-2.0.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -50692,7 +52049,7 @@ in
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -50779,7 +52136,7 @@ in
       sources."sodium-javascript-0.5.5"
       (sources."sodium-native-2.4.6" // {
         dependencies = [
-          sources."node-gyp-build-4.1.1"
+          sources."node-gyp-build-4.2.0"
         ];
       })
       sources."sodium-universal-2.0.0"
@@ -50818,11 +52175,8 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string-width-2.1.1"
-      sources."string.prototype.trim-1.2.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -50835,7 +52189,7 @@ in
       sources."supports-color-5.5.0"
       sources."term-size-1.2.0"
       sources."throttle-1.0.3"
-      sources."thunky-1.0.3"
+      sources."thunky-1.1.0"
       sources."timed-out-4.0.1"
       sources."timeout-refresh-1.0.1"
       sources."to-buffer-1.1.1"
@@ -50892,8 +52246,9 @@ in
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      (sources."utp-native-2.1.4" // {
+      (sources."utp-native-2.1.5" // {
         dependencies = [
+          sources."node-gyp-build-4.2.0"
           sources."readable-stream-3.4.0"
           sources."unordered-set-2.0.1"
         ];
@@ -50914,7 +52269,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
       sources."xhr-2.5.0"
-      sources."xsalsa20-1.0.2"
+      sources."xsalsa20-1.1.0"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
     ];
@@ -51020,8 +52375,8 @@ in
       sources."merge-descriptors-0.0.2"
       sources."methods-1.1.2"
       sources."mime-1.2.11"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.10"
       sources."ms-0.7.0"
       sources."nan-2.14.0"
@@ -51138,10 +52493,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.10.6";
+    version = "6.16.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.10.6.tgz";
-      sha512 = "Zjrmui3KS2Fem8OyVNoN1pWOCvULJP88rl1RdnBA/lkBx7u15G0B7FIlzOwX7sjBuJcqb9G5K9FuJXPU3MEqZg==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.16.2.tgz";
+      sha512 = "TCZHo+lRPCyhM16WIxn8hiavYj0784kFHhsZTCyCUD8BghjEKMqE/trKaUK6VTkB+1uOpgqdWQPrR5jHkHeUxw==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -51150,9 +52505,9 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.533.0"
+      sources."aws-sdk-2.596.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-4.9.1"
@@ -51166,12 +52521,13 @@ in
       sources."delay-4.3.0"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
+      sources."end-of-stream-1.4.4"
       sources."eventemitter3-4.0.0"
       sources."events-1.1.1"
       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."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
@@ -51198,17 +52554,19 @@ in
       sources."jsprim-1.4.1"
       sources."lodash-4.17.15"
       sources."lossless-json-1.0.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.10"
       sources."oauth-sign-0.9.0"
+      sources."once-1.4.0"
       sources."optimist-0.6.1"
       sources."p-finally-1.0.0"
-      sources."p-queue-6.1.1"
+      sources."p-queue-6.2.1"
       sources."p-timeout-3.2.0"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
+      sources."pump-3.0.0"
       sources."punycode-1.3.2"
       sources."qs-6.5.2"
       sources."querystring-0.2.0"
@@ -51218,7 +52576,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."requestretry-4.0.0"
+      sources."requestretry-4.0.2"
       sources."s3-stream-upload-2.0.2"
       sources."s3signed-0.1.0"
       (sources."s3urls-1.5.2" // {
@@ -51258,6 +52616,7 @@ in
       sources."verror-1.10.0"
       sources."when-3.7.8"
       sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
     ];
@@ -51271,128 +52630,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  elm-live = nodeEnv.buildNodePackage {
-    name = "elm-live";
-    packageName = "elm-live";
-    version = "4.0.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/elm-live/-/elm-live-4.0.0.tgz";
-      sha512 = "Yf6afXvBnghRZkefxgXCf/KjCm3DlwT6lfTrjLSc5v0I0VXE2Rc5T9iqXihjg3alh9t8NwDVLL+/py8PkkdC9Q==";
-    };
-    dependencies = [
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
-      sources."anymatch-3.1.0"
-      sources."async-limiter-1.0.1"
-      sources."binary-extensions-2.0.0"
-      sources."braces-3.0.2"
-      sources."chalk-1.1.3"
-      sources."charenc-0.0.2"
-      sources."chokidar-3.0.2"
-      sources."commander-2.17.1"
-      sources."crocks-0.12.1"
-      sources."cross-spawn-5.0.1"
-      sources."crypt-0.0.2"
-      sources."debug-2.6.9"
-      sources."default-gateway-4.2.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
-      sources."ee-first-1.1.1"
-      sources."elm-hot-1.1.1"
-      sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
-      sources."es6-promisify-6.0.2"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      sources."etag-1.8.1"
-      sources."eventemitter3-3.1.2"
-      (sources."execa-1.0.0" // {
-        dependencies = [
-          sources."cross-spawn-6.0.5"
-        ];
-      })
-      sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
-      (sources."follow-redirects-1.9.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."fresh-0.5.2"
-      sources."fsevents-2.0.7"
-      sources."get-stream-4.1.0"
-      sources."glob-parent-5.1.0"
-      sources."has-ansi-2.0.0"
-      sources."http-errors-1.7.3"
-      sources."http-proxy-1.17.0"
-      sources."inherits-2.0.4"
-      sources."internal-ip-4.3.0"
-      sources."ip-regex-2.1.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-binary-path-2.1.0"
-      sources."is-buffer-1.1.6"
-      sources."is-extglob-2.1.1"
-      sources."is-glob-4.0.1"
-      sources."is-number-7.0.0"
-      sources."is-stream-1.1.0"
-      sources."is-wsl-1.1.0"
-      sources."isexe-2.0.0"
-      sources."lru-cache-4.1.5"
-      sources."md5-2.2.1"
-      sources."mime-2.4.3"
-      sources."ms-2.0.0"
-      sources."nice-try-1.0.5"
-      sources."normalize-path-3.0.0"
-      sources."npm-run-path-2.0.2"
-      sources."on-finished-2.3.0"
-      sources."once-1.4.0"
-      sources."open-6.4.0"
-      sources."os-tmpdir-1.0.2"
-      sources."p-finally-1.0.0"
-      sources."parseurl-1.3.3"
-      sources."path-key-2.0.1"
-      sources."pem-1.14.2"
-      sources."picomatch-2.0.7"
-      sources."pseudomap-1.0.2"
-      sources."pump-3.0.0"
-      sources."range-parser-1.2.1"
-      sources."readdirp-3.1.2"
-      sources."requires-port-1.0.0"
-      sources."semver-5.7.1"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."mime-1.6.0"
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.2"
-      sources."statuses-1.5.0"
-      sources."strip-ansi-3.0.1"
-      sources."strip-eof-1.0.0"
-      sources."supports-color-2.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
-      sources."unpipe-1.0.0"
-      sources."which-1.3.1"
-      sources."wrappy-1.0.2"
-      sources."ws-7.1.1"
-      sources."yallist-2.1.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "A flexible dev server for Elm. Live reload included!";
-      homepage = "https://github.com/wking-io/elm-live#readme";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   elm-oracle = nodeEnv.buildNodePackage {
     name = "elm-oracle";
     packageName = "elm-oracle";
@@ -51463,12 +52700,12 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."conf-1.4.0"
-      (sources."convert-source-map-1.6.0" // {
+      (sources."convert-source-map-1.7.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."cross-spawn-5.1.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-2.6.9"
@@ -51487,13 +52724,13 @@ in
       sources."get-stream-3.0.0"
       sources."globals-9.18.0"
       sources."got-7.1.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-ansi-3.0.0"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."home-or-tmp-2.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."import-jsx-1.3.2"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
@@ -51580,7 +52817,7 @@ in
       sources."private-0.1.8"
       sources."prop-types-15.7.2"
       sources."pseudomap-1.0.2"
-      sources."react-is-16.9.0"
+      sources."react-is-16.12.0"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-1.0.1" // {
         dependencies = [
@@ -51596,7 +52833,7 @@ in
       sources."regenerator-runtime-0.11.1"
       sources."repeating-2.0.1"
       sources."require-from-string-1.2.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
       sources."safe-buffer-5.2.0"
@@ -51673,19 +52910,19 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "6.4.0";
+    version = "6.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz";
-      sha512 = "WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+      sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."acorn-7.0.0"
-      sources."acorn-jsx-5.0.2"
+      sources."acorn-7.1.0"
+      sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."astral-regex-1.0.0"
@@ -51694,7 +52931,7 @@ in
       sources."callsites-3.1.0"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."cli-cursor-2.1.0"
+      sources."cli-cursor-3.1.0"
       sources."cli-width-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -51707,12 +52944,12 @@ in
       sources."debug-4.1.1"
       sources."deep-is-0.1.3"
       sources."doctrine-3.0.0"
-      sources."emoji-regex-7.0.3"
+      sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."eslint-scope-5.0.0"
-      sources."eslint-utils-1.4.2"
+      sources."eslint-utils-1.4.3"
       sources."eslint-visitor-keys-1.1.0"
-      sources."espree-6.1.1"
+      sources."espree-6.1.2"
       sources."esprima-4.0.1"
       sources."esquery-1.0.1"
       sources."esrecurse-4.2.1"
@@ -51720,27 +52957,27 @@ in
       sources."esutils-2.0.3"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."figures-2.0.0"
+      sources."figures-3.1.0"
       sources."file-entry-cache-5.0.1"
       sources."flat-cache-2.0.1"
       sources."flatted-2.0.1"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
-      sources."globals-11.12.0"
+      sources."globals-12.3.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-6.5.2"
+      sources."inquirer-7.0.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
       sources."is-promise-2.1.0"
       sources."isexe-2.0.0"
@@ -51750,17 +52987,17 @@ in
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
       sources."lodash-4.17.15"
-      sources."mimic-fn-1.2.0"
+      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."ms-2.1.2"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.8"
       sources."natural-compare-1.4.0"
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."onetime-5.1.0"
+      sources."optionator-0.8.3"
       sources."os-tmpdir-1.0.2"
       sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
@@ -51770,7 +53007,7 @@ in
       sources."punycode-2.1.1"
       sources."regexpp-2.0.1"
       sources."resolve-from-4.0.0"
-      sources."restore-cursor-2.0.0"
+      sources."restore-cursor-3.1.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
@@ -51779,11 +53016,15 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."slice-ansi-2.1.0"
+      (sources."slice-ansi-2.1.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-2.0.0"
+        ];
+      })
       sources."sprintf-js-1.0.3"
-      (sources."string-width-2.1.1" // {
+      (sources."string-width-4.2.0" // {
         dependencies = [
-          sources."strip-ansi-4.0.0"
+          sources."strip-ansi-6.0.0"
         ];
       })
       (sources."strip-ansi-5.2.0" // {
@@ -51795,6 +53036,8 @@ in
       sources."supports-color-5.5.0"
       (sources."table-5.4.6" // {
         dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
         ];
       })
@@ -51803,10 +53046,11 @@ in
       sources."tmp-0.0.33"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
+      sources."type-fest-0.8.1"
       sources."uri-js-4.2.2"
       sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
     ];
@@ -51831,11 +53075,11 @@ in
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."acorn-7.0.0"
-      sources."acorn-jsx-5.0.2"
+      sources."acorn-7.1.0"
+      sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."astral-regex-1.0.0"
@@ -51844,7 +53088,7 @@ in
       sources."callsites-3.1.0"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."cli-cursor-2.1.0"
+      sources."cli-cursor-3.1.0"
       sources."cli-width-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -51858,13 +53102,13 @@ in
       sources."debug-4.1.1"
       sources."deep-is-0.1.3"
       sources."doctrine-3.0.0"
-      sources."emoji-regex-7.0.3"
+      sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-6.4.0"
+      sources."eslint-6.8.0"
       sources."eslint-scope-5.0.0"
-      sources."eslint-utils-1.4.2"
+      sources."eslint-utils-1.4.3"
       sources."eslint-visitor-keys-1.1.0"
-      sources."espree-6.1.1"
+      sources."espree-6.1.2"
       sources."esprima-4.0.1"
       sources."esquery-1.0.1"
       sources."esrecurse-4.2.1"
@@ -51872,27 +53116,27 @@ in
       sources."esutils-2.0.3"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."figures-2.0.0"
+      sources."figures-3.1.0"
       sources."file-entry-cache-5.0.1"
       sources."flat-cache-2.0.1"
       sources."flatted-2.0.1"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
-      sources."globals-11.12.0"
+      sources."globals-12.3.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-6.5.2"
+      sources."inquirer-7.0.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
       sources."is-promise-2.1.0"
       sources."isexe-2.0.0"
@@ -51902,18 +53146,18 @@ in
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
       sources."lodash-4.17.15"
-      sources."mimic-fn-1.2.0"
+      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."ms-2.1.2"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.8"
       sources."nanolru-1.0.0"
       sources."natural-compare-1.4.0"
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."onetime-5.1.0"
+      sources."optionator-0.8.3"
       sources."os-tmpdir-1.0.2"
       sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
@@ -51923,9 +53167,9 @@ in
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-4.0.0"
-      sources."restore-cursor-2.0.0"
+      sources."restore-cursor-3.1.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
@@ -51934,11 +53178,15 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."slice-ansi-2.1.0"
+      (sources."slice-ansi-2.1.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-2.0.0"
+        ];
+      })
       sources."sprintf-js-1.0.3"
-      (sources."string-width-2.1.1" // {
+      (sources."string-width-4.2.0" // {
         dependencies = [
-          sources."strip-ansi-4.0.0"
+          sources."strip-ansi-6.0.0"
         ];
       })
       (sources."strip-ansi-5.2.0" // {
@@ -51950,6 +53198,8 @@ in
       sources."supports-color-5.5.0"
       (sources."table-5.4.6" // {
         dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
         ];
       })
@@ -51958,10 +53208,11 @@ in
       sources."tmp-0.0.33"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
+      sources."type-fest-0.8.1"
       sources."uri-js-4.2.2"
       sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
     ];
@@ -51993,7 +53244,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-from-1.1.1"
       sources."camelcase-2.1.1"
@@ -52022,7 +53273,7 @@ in
       sources."extract-zip-1.6.7"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.0.1"
       sources."find-up-1.1.2"
       sources."forever-agent-0.6.1"
@@ -52030,13 +53281,13 @@ in
       sources."fs-extra-1.0.0"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."hasha-2.2.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
       sources."indent-string-2.1.0"
       sources."inherits-2.0.4"
@@ -52068,8 +53319,8 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -52109,7 +53360,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-1.1.8"
       sources."promise-phantom-3.1.6"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."read-pkg-1.1.0"
@@ -52119,7 +53370,7 @@ in
       sources."repeating-2.0.1"
       sources."request-2.88.0"
       sources."request-progress-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -52217,9 +53468,9 @@ in
       sources."generate-function-1.1.0"
       sources."generate-object-property-1.2.0"
       sources."get-stream-3.0.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."iconv-lite-0.4.24"
       sources."indent-string-3.2.0"
       sources."inherits-2.0.4"
@@ -52297,7 +53548,7 @@ in
       sources."read-pkg-up-3.0.0"
       sources."readable-stream-2.3.6"
       sources."redent-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
@@ -52379,6 +53630,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
       (sources."broadway-0.3.6" // {
@@ -52428,7 +53680,7 @@ in
       sources."cycle-1.0.3"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-2.0.1"
       sources."define-properties-1.1.3"
       (sources."define-property-2.0.2" // {
         dependencies = [
@@ -52437,6 +53689,9 @@ in
       })
       sources."defined-0.0.0"
       sources."director-1.2.7"
+      sources."es-abstract-1.17.0"
+      sources."es-get-iterator-1.0.2"
+      sources."es-to-primitive-1.2.1"
       (sources."event-stream-0.5.3" // {
         dependencies = [
           sources."optimist-0.2.8"
@@ -52452,6 +53707,7 @@ in
       })
       sources."extglob-0.3.2"
       sources."eyes-0.1.8"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       (sources."flatiron-0.4.3" // {
@@ -52468,14 +53724,15 @@ in
       })
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -52501,14 +53758,17 @@ in
         ];
       })
       sources."is-arguments-1.0.4"
+      sources."is-bigint-1.0.0"
       sources."is-binary-path-1.0.1"
+      sources."is-boolean-object-1.0.1"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.1.5"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -52519,7 +53779,9 @@ in
       sources."is-extendable-0.1.1"
       sources."is-extglob-1.0.0"
       sources."is-glob-2.0.1"
+      sources."is-map-2.0.1"
       sources."is-number-2.1.0"
+      sources."is-number-object-1.0.4"
       (sources."is-plain-object-2.0.4" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -52527,10 +53789,19 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-set-2.0.1"
+      sources."is-string-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."is-weakmap-2.0.1"
+      sources."is-weakset-2.0.1"
       sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
-      sources."isobject-2.1.0"
+      sources."isarray-2.0.5"
+      (sources."isobject-2.1.0" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+        ];
+      })
       sources."isstream-0.1.2"
       sources."jsonify-0.0.0"
       sources."kind-of-3.2.2"
@@ -52583,13 +53854,15 @@ in
           })
         ];
       })
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
+      sources."object.assign-4.1.0"
       sources."object.omit-2.0.1"
       (sources."object.pick-1.3.0" // {
         dependencies = [
@@ -52624,7 +53897,11 @@ in
         ];
       })
       sources."read-1.0.7"
-      sources."readable-stream-2.3.6"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+        ];
+      })
       (sources."readdirp-2.2.1" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -52678,7 +53955,7 @@ in
       })
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
@@ -52695,6 +53972,7 @@ in
         ];
       })
       sources."shush-1.0.0"
+      sources."side-channel-1.0.2"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -52742,6 +54020,8 @@ in
           sources."kind-of-5.1.0"
         ];
       })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-json-comments-0.1.3"
       (sources."tape-2.3.3" // {
@@ -52766,6 +54046,7 @@ in
             ];
           })
           sources."has-values-0.1.4"
+          sources."isarray-1.0.0"
           sources."isobject-3.0.1"
         ];
       })
@@ -52779,6 +54060,8 @@ in
           sources."ncp-1.0.1"
         ];
       })
+      sources."which-boxed-primitive-1.0.1"
+      sources."which-collection-1.0.0"
       sources."winston-0.8.3"
       sources."wordwrap-0.0.3"
       sources."wrappy-1.0.2"
@@ -52809,7 +54092,7 @@ in
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.1.2"
-      sources."simple-git-1.126.0"
+      sources."simple-git-1.129.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -52834,7 +54117,7 @@ in
       sources."asyncmemo-1.0.0"
       sources."chloride-2.2.14"
       sources."chloride-test-1.2.4"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."debug-4.1.1"
       sources."deep-extend-0.6.0"
       sources."diff-3.5.0"
@@ -52847,8 +54130,9 @@ in
       sources."git-packidx-parser-1.0.0"
       sources."git-remote-ssb-2.0.4"
       sources."git-ssb-web-2.8.0"
+      sources."handlebars-4.5.3"
       sources."hashlru-2.3.0"
-      sources."highlight.js-9.15.10"
+      sources."highlight.js-9.17.1"
       sources."increment-buffer-1.0.1"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -52863,14 +54147,14 @@ in
       sources."jsonpointer-4.0.1"
       sources."kvgraph-0.1.0"
       sources."kvset-1.0.0"
-      sources."libsodium-0.7.5"
-      sources."libsodium-wrappers-0.7.5"
+      sources."libsodium-0.7.6"
+      sources."libsodium-wrappers-0.7.6"
       sources."lodash.get-4.4.2"
       sources."looper-4.0.0"
       sources."lrucache-1.0.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."minimist-1.2.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimist-0.0.10"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -52880,21 +54164,23 @@ in
       sources."moo-0.4.3"
       sources."ms-2.1.2"
       sources."multicb-1.2.2"
-      sources."multiserver-3.4.0"
+      sources."multiserver-3.6.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.4.2"
+      sources."muxrpc-6.4.8"
       sources."nan-2.14.0"
       sources."nearley-2.19.0"
-      sources."node-gyp-build-4.1.1"
+      sources."neo-async-2.6.1"
+      sources."node-gyp-build-4.2.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-1.4.4"
+      sources."optimist-0.6.1"
       sources."options-0.0.6"
       sources."os-homedir-1.0.2"
       sources."packet-stream-2.0.4"
       sources."packet-stream-codec-1.1.2"
       sources."pako-1.0.10"
-      sources."private-box-0.3.0"
+      sources."private-box-0.3.1"
       sources."progress-1.1.8"
       sources."pull-block-filter-1.0.0"
       sources."pull-box-stream-1.0.13"
@@ -52942,7 +54228,11 @@ in
       sources."pull-ws-3.3.2"
       sources."railroad-diagrams-1.0.0"
       sources."randexp-0.4.6"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."relative-url-1.0.2"
       sources."remove-markdown-0.1.0"
       sources."ret-0.1.15"
@@ -52951,8 +54241,8 @@ in
       sources."semver-5.7.1"
       sources."separator-escape-0.0.0"
       sources."sha.js-2.4.5"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -52962,12 +54252,13 @@ in
       })
       sources."sodium-chloride-1.1.2"
       sources."sodium-native-2.4.6"
+      sources."source-map-0.6.1"
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
       sources."ssb-caps-1.1.0"
-      (sources."ssb-client-4.7.8" // {
+      (sources."ssb-client-4.7.9" // {
         dependencies = [
-          sources."ssb-config-3.3.2"
+          sources."ssb-config-3.4.3"
         ];
       })
       sources."ssb-config-2.3.9"
@@ -52998,7 +54289,9 @@ in
       sources."through-2.2.7"
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
+      sources."uglify-js-3.7.2"
       sources."ultron-1.0.2"
+      sources."wordwrap-0.0.3"
       sources."ws-1.1.5"
       sources."xtend-4.0.2"
     ];
@@ -53030,6 +54323,286 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  gitmoji-cli = nodeEnv.buildNodePackage {
+    name = "gitmoji-cli";
+    packageName = "gitmoji-cli";
+    version = "3.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.0.1.tgz";
+      sha512 = "gNHhP0cOL38zx4zn05SYJTLdnQB0mGu09zI3mIYN+wuFybSw1I7GpUvr9zYeMOwFHiMacpeJ8llBvNywLZnM7Q==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/highlight-7.5.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/color-name-1.1.1"
+      sources."@types/minimist-1.2.0"
+      sources."@types/normalize-package-data-2.4.0"
+      sources."ajv-6.10.2"
+      (sources."ansi-align-3.0.0" // {
+        dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-3.1.0"
+        ];
+      })
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.2.0"
+      sources."arrify-1.0.1"
+      sources."boxen-4.2.0"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."camelcase-5.3.1"
+      sources."camelcase-keys-6.1.1"
+      sources."chalk-3.0.0"
+      sources."chardet-0.7.0"
+      sources."ci-info-2.0.0"
+      sources."cli-boxes-2.2.0"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.2.0"
+      sources."cli-width-2.2.0"
+      sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."conf-6.2.0"
+      sources."configstore-5.0.0"
+      sources."cross-spawn-7.0.1"
+      sources."crypto-random-string-2.0.0"
+      sources."debounce-fn-3.0.1"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."defaults-1.0.3"
+      sources."defer-to-connect-1.1.1"
+      sources."dot-prop-5.2.0"
+      sources."duplexer3-0.1.4"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."env-paths-2.2.0"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.3"
+      sources."execa-3.4.0"
+      sources."external-editor-3.1.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."figures-3.1.0"
+      sources."find-up-3.0.0"
+      sources."get-stream-5.1.0"
+      sources."global-dirs-2.0.1"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."graceful-fs-4.2.3"
+      sources."hard-rejection-2.1.0"
+      sources."has-flag-4.0.0"
+      sources."has-yarn-2.1.0"
+      sources."hosted-git-info-2.8.5"
+      sources."http-cache-semantics-4.0.3"
+      sources."human-signals-1.1.1"
+      sources."iconv-lite-0.4.24"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
+      sources."ini-1.3.5"
+      (sources."inquirer-7.0.1" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      (sources."inquirer-autocomplete-prompt-1.0.1" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."figures-2.0.0"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-ci-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-installed-globally-0.3.1"
+      sources."is-interactive-1.0.0"
+      sources."is-npm-4.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-3.0.2"
+      sources."is-plain-obj-1.1.0"
+      sources."is-promise-2.1.0"
+      sources."is-stream-2.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-yarn-global-0.3.0"
+      sources."isexe-2.0.0"
+      sources."js-tokens-4.0.0"
+      sources."json-buffer-3.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-typed-7.0.3"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
+      sources."lines-and-columns-1.1.6"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      (sources."log-symbols-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."lowercase-keys-1.0.1"
+      sources."make-dir-3.0.0"
+      sources."map-obj-4.1.0"
+      sources."meow-6.0.0"
+      sources."merge-stream-2.0.0"
+      sources."mimic-fn-2.1.0"
+      sources."mimic-response-1.0.1"
+      sources."min-indent-1.0.0"
+      sources."minimist-1.2.0"
+      sources."minimist-options-4.0.2"
+      sources."mute-stream-0.0.8"
+      sources."node-fetch-2.6.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."normalize-url-4.5.0"
+      sources."npm-run-path-4.0.1"
+      sources."once-1.4.0"
+      sources."onetime-5.1.0"
+      (sources."ora-4.0.3" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      sources."os-tmpdir-1.0.2"
+      sources."p-cancelable-1.1.0"
+      sources."p-finally-2.0.1"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
+      sources."package-json-6.5.0"
+      sources."parse-json-5.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-key-3.1.1"
+      sources."path-parse-1.0.6"
+      sources."pkg-up-3.1.0"
+      sources."prepend-http-2.0.0"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."quick-lru-4.0.1"
+      sources."rc-1.2.8"
+      (sources."read-pkg-5.2.0" // {
+        dependencies = [
+          sources."type-fest-0.6.0"
+        ];
+      })
+      (sources."read-pkg-up-7.0.1" // {
+        dependencies = [
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+        ];
+      })
+      sources."redent-3.0.0"
+      sources."registry-auth-token-4.0.0"
+      sources."registry-url-5.1.0"
+      sources."resolve-1.14.1"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-3.1.0"
+      sources."run-async-2.3.0"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."semver-6.3.0"
+      sources."semver-diff-3.1.1"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      sources."signal-exit-3.0.2"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.5"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
+      sources."strip-final-newline-2.0.0"
+      sources."strip-indent-3.0.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-7.1.0"
+      sources."term-size-2.1.1"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."to-readable-stream-1.0.0"
+      sources."trim-newlines-3.0.0"
+      sources."tslib-1.10.0"
+      sources."type-fest-0.8.1"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."unique-string-2.0.0"
+      sources."update-notifier-4.0.0"
+      sources."uri-js-4.2.2"
+      sources."url-parse-lax-3.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."wcwidth-1.0.1"
+      sources."which-2.0.2"
+      sources."widest-line-3.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-3.0.1"
+      sources."xdg-basedir-4.0.0"
+      sources."yargs-parser-16.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A gitmoji client for using emojis on commit messages.";
+      homepage = "https://github.com/carloscuesta/gitmoji-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   graphql-cli = nodeEnv.buildNodePackage {
     name = "graphql-cli";
     packageName = "graphql-cli";
@@ -53051,11 +54624,22 @@ in
           sources."yargs-parser-7.0.0"
         ];
       })
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/color-name-1.1.1"
       sources."accepts-1.3.7"
       sources."agent-base-4.3.0"
       sources."ajv-6.10.2"
-      sources."ansi-align-2.0.0"
-      sources."ansi-escapes-3.2.0"
+      (sources."ansi-align-3.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."ansi-escapes-4.3.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
       (sources."apollo-codegen-0.20.2" // {
@@ -53079,21 +54663,37 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.26.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."qs-6.7.0"
         ];
       })
-      sources."boxen-1.3.0"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."camelcase-5.3.1"
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."type-fest-0.3.1"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       sources."buffer-equal-constant-time-1.0.1"
       sources."buffer-from-1.1.1"
       sources."bytes-3.1.0"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.1.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       sources."call-me-maybe-1.0.1"
       sources."caller-callsite-2.0.0"
       sources."caller-path-2.0.0"
@@ -53105,14 +54705,15 @@ in
       sources."chalk-2.4.2"
       sources."change-case-3.1.0"
       sources."chardet-0.7.0"
-      sources."chownr-1.1.2"
-      sources."ci-info-1.6.0"
-      sources."cli-boxes-1.0.0"
-      sources."cli-cursor-2.1.0"
+      sources."chownr-1.1.3"
+      sources."ci-info-2.0.0"
+      sources."cli-boxes-2.2.0"
+      sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.2.0"
       sources."cli-width-2.2.0"
       sources."cliui-4.1.0"
       sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
@@ -53125,10 +54726,10 @@ in
       })
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."common-tags-1.8.0"
       sources."concat-map-0.0.1"
-      sources."configstore-3.1.2"
+      sources."configstore-4.0.0"
       sources."constant-case-2.0.0"
       (sources."content-disposition-0.5.3" // {
         dependencies = [
@@ -53138,17 +54739,49 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."cosmiconfig-5.2.1"
       sources."create-error-class-3.0.2"
-      sources."creato-1.0.5"
+      (sources."creato-1.1.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."inquirer-7.0.1"
+          sources."is-fullwidth-code-point-3.0.0"
+          (sources."ora-4.0.3" // {
+            dependencies = [
+              sources."chalk-3.0.0"
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          (sources."string-width-4.2.0" // {
+            dependencies = [
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          (sources."strip-ansi-5.2.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+            ];
+          })
+          sources."supports-color-7.1.0"
+          sources."update-notifier-3.0.1"
+        ];
+      })
       (sources."cross-fetch-2.2.2" // {
         dependencies = [
           sources."node-fetch-2.1.2"
         ];
       })
-      sources."cross-spawn-6.0.5"
+      (sources."cross-spawn-6.0.5" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       sources."crypto-random-string-1.0.0"
       (sources."cucumber-html-reporter-3.0.4" // {
         dependencies = [
@@ -53159,8 +54792,10 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
+      sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -53177,9 +54812,10 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
+      sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."errno-0.1.7"
       sources."error-ex-1.3.2"
       sources."es6-promise-4.2.8"
@@ -53205,7 +54841,7 @@ in
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       sources."extend-3.0.2"
@@ -53216,8 +54852,8 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."figures-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."figures-3.1.0"
       sources."finalhandler-1.1.2"
       sources."find-0.2.9"
       sources."find-up-2.1.0"
@@ -53227,17 +54863,21 @@ in
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs-extra-5.0.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."graceful-fs-4.2.3"
       sources."graphcool-json-schema-1.2.1"
       (sources."graphcool-yml-0.4.15" // {
         dependencies = [
@@ -53250,7 +54890,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."graphql-14.5.7"
+      sources."graphql-14.5.8"
       (sources."graphql-cli-prepare-1.4.19" // {
         dependencies = [
           sources."chalk-2.3.1"
@@ -53273,9 +54913,11 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
+      sources."has-yarn-2.1.0"
       sources."header-case-1.0.1"
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
+      sources."http-cache-semantics-4.0.3"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -53287,7 +54929,7 @@ in
         ];
       })
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -53305,17 +54947,27 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."inquirer-6.2.0"
+      (sources."inquirer-6.2.0" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+          sources."cli-cursor-2.1.0"
+          sources."figures-2.0.0"
+          sources."mute-stream-0.0.7"
+          sources."onetime-2.0.1"
+          sources."restore-cursor-2.0.0"
+        ];
+      })
       sources."invert-kv-1.0.0"
       sources."ip-regex-1.0.3"
       sources."ipaddr.js-1.9.0"
       sources."is-arrayish-0.2.1"
-      sources."is-ci-1.2.1"
+      sources."is-ci-2.0.0"
       sources."is-directory-0.3.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-installed-globally-0.1.0"
+      sources."is-interactive-1.0.0"
       sources."is-lower-case-1.1.3"
-      sources."is-npm-1.0.0"
+      sources."is-npm-3.0.0"
       sources."is-obj-1.0.1"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
@@ -53327,6 +54979,7 @@ in
       sources."is-url-superb-2.0.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
+      sources."is-yarn-global-0.3.0"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       (sources."isomorphic-fetch-2.2.1" // {
@@ -53340,6 +54993,7 @@ in
       sources."js-yaml-3.13.1"
       sources."jsbn-0.1.1"
       sources."jsesc-2.5.2"
+      sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       (sources."json-schema-ref-parser-3.3.1" // {
@@ -53356,16 +55010,19 @@ in
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."ms-2.1.2"
+          sources."semver-5.7.1"
         ];
       })
       sources."jsprim-1.4.1"
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
-      sources."latest-version-3.1.0"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
       sources."lcid-1.0.0"
       (sources."load-json-file-2.0.0" // {
         dependencies = [
           sources."parse-json-2.2.0"
+          sources."pify-2.3.0"
         ];
       })
       sources."locate-path-2.0.0"
@@ -53379,48 +55036,57 @@ in
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.isstring-4.0.1"
       sources."lodash.once-4.1.1"
-      sources."log-symbols-2.2.0"
+      sources."log-symbols-3.0.0"
       sources."lower-case-1.1.4"
       sources."lower-case-first-1.0.2"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
-      (sources."make-dir-1.3.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."make-dir-1.3.0"
       sources."map-age-cleaner-0.1.3"
       sources."media-typer-0.3.0"
       sources."mem-1.1.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
+      sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      (sources."minipass-2.8.1" // {
+      sources."minimist-1.2.0"
+      (sources."minipass-3.1.1" // {
         dependencies = [
-          sources."yallist-3.0.3"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minizlib-2.1.0" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
         ];
       })
-      sources."minizlib-1.2.2"
-      sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.8"
       sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."no-case-2.3.2"
       sources."node-fetch-2.6.0"
       sources."node-request-by-swagger-1.1.4"
-      sources."normalize-package-data-2.5.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."normalize-url-4.5.0"
       sources."npm-path-2.0.4"
       sources."npm-paths-1.0.0"
       (sources."npm-run-4.1.2" // {
         dependencies = [
           sources."cross-spawn-5.1.0"
-          sources."minimist-1.2.0"
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -53429,25 +55095,34 @@ in
       sources."oauth-sign-0.9.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
+      (sources."onetime-5.1.0" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+        ];
+      })
       sources."ono-4.0.11"
       sources."open-0.0.5"
       sources."opn-5.5.0"
       (sources."ora-3.4.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
+          sources."cli-cursor-2.1.0"
+          sources."log-symbols-2.2.0"
+          sources."onetime-2.0.1"
+          sources."restore-cursor-2.0.0"
           sources."strip-ansi-5.2.0"
         ];
       })
       sources."os-locale-2.1.0"
       sources."os-tmpdir-1.0.2"
+      sources."p-cancelable-1.1.0"
       sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
       sources."p-is-promise-2.1.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
-      sources."package-json-4.0.1"
+      sources."package-json-6.5.0"
       sources."param-case-2.1.1"
       sources."parse-github-url-1.0.2"
       sources."parse-json-4.0.0"
@@ -53461,10 +55136,14 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
       sources."path-to-regexp-0.1.7"
-      sources."path-type-2.0.0"
+      (sources."path-type-2.0.0" // {
+        dependencies = [
+          sources."pify-2.3.0"
+        ];
+      })
       sources."performance-now-2.1.0"
-      sources."pify-2.3.0"
-      sources."prepend-http-1.0.4"
+      sources."pify-3.0.0"
+      sources."prepend-http-2.0.0"
       sources."prisma-json-schema-0.1.3"
       (sources."prisma-yml-1.26.6" // {
         dependencies = [
@@ -53482,17 +55161,13 @@ in
       sources."proxy-addr-2.0.5"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.8"
       sources."read-pkg-2.0.0"
       sources."read-pkg-up-2.0.0"
       (sources."readable-stream-2.3.6" // {
@@ -53502,26 +55177,31 @@ in
         ];
       })
       sources."regenerator-runtime-0.11.1"
-      sources."registry-auth-token-3.4.0"
-      sources."registry-url-3.1.0"
+      sources."registry-auth-token-4.0.0"
+      sources."registry-url-5.1.0"
       sources."replaceall-0.1.6"
       sources."request-2.88.0"
-      sources."request-promise-4.2.4"
-      sources."request-promise-core-1.1.2"
+      sources."request-promise-4.2.5"
+      sources."request-promise-core-1.1.3"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-from-4.0.0"
-      sources."restore-cursor-2.0.0"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-3.1.0"
       sources."rimraf-2.7.1"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."scuid-1.1.0"
-      sources."semver-5.7.1"
-      sources."semver-diff-2.1.0"
+      sources."semver-6.3.0"
+      (sources."semver-diff-2.1.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       (sources."send-0.17.1" // {
         dependencies = [
           sources."ms-2.1.1"
@@ -53538,7 +55218,7 @@ in
       sources."simple-errors-1.0.1"
       sources."snake-case-2.1.0"
       sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -53568,9 +55248,9 @@ in
       sources."supports-color-5.5.0"
       sources."swap-case-1.1.2"
       sources."sync-exec-0.6.2"
-      (sources."tar-4.4.11" // {
+      (sources."tar-5.0.5" // {
         dependencies = [
-          sources."yallist-3.0.3"
+          sources."yallist-4.0.0"
         ];
       })
       sources."term-size-1.2.0"
@@ -53581,6 +55261,7 @@ in
       sources."tmp-0.1.0"
       sources."tmp-graphql-config-extension-openapi-1.0.7"
       sources."to-fast-properties-2.0.0"
+      sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -53592,17 +55273,36 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
+      sources."type-fest-0.8.1"
       sources."type-is-1.6.18"
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."unzip-response-2.0.1"
-      sources."update-notifier-2.5.0"
+      (sources."update-notifier-2.5.0" // {
+        dependencies = [
+          sources."ansi-align-2.0.0"
+          sources."boxen-1.3.0"
+          sources."ci-info-1.6.0"
+          sources."cli-boxes-1.0.0"
+          sources."configstore-3.1.2"
+          sources."got-6.7.1"
+          sources."is-ci-1.2.1"
+          sources."is-npm-1.0.0"
+          sources."latest-version-3.1.0"
+          sources."package-json-4.0.1"
+          sources."prepend-http-1.0.4"
+          sources."registry-auth-token-3.4.0"
+          sources."registry-url-3.1.0"
+          sources."semver-5.7.1"
+          sources."url-parse-lax-1.0.0"
+        ];
+      })
       sources."upper-case-1.1.3"
       sources."upper-case-first-1.1.2"
       sources."uri-js-4.2.2"
       sources."url-join-4.0.0"
-      sources."url-parse-lax-1.0.0"
+      sources."url-parse-lax-3.0.0"
       sources."url-regex-3.2.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
@@ -53834,7 +55534,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -53942,7 +55642,7 @@ in
       sources."ansi-term-0.0.2"
       sources."ansicolors-0.2.1"
       sources."blessed-0.1.81"
-      sources."blessed-contrib-4.8.17"
+      sources."blessed-contrib-4.8.18"
       sources."bresenham-0.0.3"
       sources."buffers-0.1.1"
       sources."cardinal-1.0.0"
@@ -53951,11 +55651,8 @@ in
       sources."cli-table-0.3.1"
       sources."colors-1.0.3"
       sources."core-util-is-1.0.2"
-      sources."define-properties-1.1.3"
       sources."drawille-blessed-contrib-1.0.0"
       sources."drawille-canvas-blessed-contrib-0.1.3"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-3.0.0"
       (sources."event-stream-0.9.8" // {
@@ -53963,17 +55660,10 @@ in
           sources."optimist-0.2.8"
         ];
       })
-      sources."function-bind-1.1.1"
       sources."gl-matrix-2.8.1"
-      sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.0"
       sources."here-0.0.2"
       sources."inherits-2.0.4"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."isarray-0.0.1"
       sources."lodash-4.17.15"
       sources."lodash.assign-4.2.0"
@@ -53985,9 +55675,6 @@ in
       sources."memorystream-0.3.1"
       sources."node-emoji-1.10.0"
       sources."nopt-2.1.2"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."optimist-0.3.7"
       sources."picture-tuber-1.0.2"
       sources."png-js-0.1.1"
@@ -53995,17 +55682,14 @@ in
       sources."redeyed-1.0.1"
       sources."sax-1.2.4"
       sources."sparkline-0.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
-      sources."systeminformation-4.14.8"
+      sources."systeminformation-4.16.0"
       sources."term-canvas-0.0.5"
-      sources."util.promisify-1.0.0"
       sources."wordwrap-0.0.3"
       sources."x256-0.0.2"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -54070,6 +55754,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -54114,7 +55799,7 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."copy-props-2.0.4"
       sources."core-util-is-1.0.2"
@@ -54133,11 +55818,11 @@ in
       sources."detect-file-1.0.0"
       sources."duplexify-3.7.1"
       sources."each-props-1.3.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -54158,6 +55843,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -54171,6 +55861,7 @@ in
         ];
       })
       sources."fancy-log-1.3.3"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -54186,11 +55877,11 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -54201,10 +55892,10 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."gulp-cli-2.2.0"
       sources."gulplog-1.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -54212,7 +55903,7 @@ in
         ];
       })
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -54336,7 +56027,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -54407,7 +56098,7 @@ in
         ];
       })
       sources."stream-exhaust-1.0.2"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -54534,9 +56225,9 @@ in
       sources."detect-file-1.0.0"
       sources."each-props-1.3.2"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -54548,6 +56239,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -54578,7 +56274,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."gulplog-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -54587,7 +56283,7 @@ in
         ];
       })
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
       sources."interpret-1.2.0"
@@ -54709,7 +56405,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -54822,14 +56518,14 @@ in
     dependencies = [
       sources."camel-case-3.0.0"
       sources."clean-css-4.2.1"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."he-1.2.0"
       sources."lower-case-1.1.4"
       sources."no-case-2.3.2"
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.6.0"
+      sources."uglify-js-3.7.2"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -54857,7 +56553,7 @@ in
       sources."async-2.6.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -54874,7 +56570,7 @@ in
       sources."dashdash-1.14.1"
       sources."date-now-0.1.4"
       sources."delayed-stream-1.0.0"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -54889,7 +56585,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs.realpath-1.0.0"
@@ -54910,7 +56606,7 @@ in
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      (sources."jshint-2.10.2" // {
+      (sources."jshint-2.10.3" // {
         dependencies = [
           sources."strip-json-comments-1.0.4"
         ];
@@ -54920,8 +56616,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."lodash-4.17.15"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -54930,7 +56626,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."performance-now-2.1.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-1.1.14"
@@ -54967,14 +56663,15 @@ in
   http-server = nodeEnv.buildNodePackage {
     name = "http-server";
     packageName = "http-server";
-    version = "0.11.1";
+    version = "0.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/http-server/-/http-server-0.11.1.tgz";
-      sha512 = "6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==";
+      url = "https://registry.npmjs.org/http-server/-/http-server-0.12.0.tgz";
+      sha512 = "imGLDSTT1BZ0QG1rBFnaZ6weK5jeisUnCxZQI1cpYTdz0luPUM5e3s+WU5zRWEkiI6DQxL2p54oeKrDlzO6bRw==";
     };
     dependencies = [
-      sources."async-1.5.2"
-      sources."colors-1.0.3"
+      sources."async-2.6.3"
+      sources."basic-auth-1.1.0"
+      sources."colors-1.4.0"
       sources."corser-2.0.1"
       sources."debug-3.2.6"
       sources."ecstatic-3.3.2"
@@ -54982,6 +56679,7 @@ in
       sources."follow-redirects-1.9.0"
       sources."he-1.2.0"
       sources."http-proxy-1.18.0"
+      sources."lodash-4.17.15"
       sources."mime-1.6.0"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -54990,28 +56688,24 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."opener-1.4.3"
+      sources."opener-1.5.1"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."minimist-0.0.10"
         ];
       })
-      (sources."portfinder-1.0.24" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."qs-2.3.3"
+      sources."portfinder-1.0.25"
+      sources."qs-6.9.1"
       sources."requires-port-1.0.0"
-      sources."union-0.4.6"
+      sources."secure-compare-3.0.1"
+      sources."union-0.5.0"
       sources."url-join-2.0.5"
       sources."wordwrap-0.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A simple zero-configuration command-line http server";
-      homepage = "https://github.com/indexzero/http-server#readme";
+      homepage = "https://github.com/http-party/http-server#readme";
       license = "MIT";
     };
     production = true;
@@ -55043,7 +56737,7 @@ in
       sources."extsprintf-1.4.0"
       sources."fs.realpath-1.0.0"
       sources."fuzzyset.js-0.0.1"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."hue-sdk-0.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -55140,21 +56834,19 @@ in
   indium = nodeEnv.buildNodePackage {
     name = "indium";
     packageName = "indium";
-    version = "3.4.1";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/indium/-/indium-3.4.1.tgz";
-      sha512 = "RJ8nHsE4diosqkSpKot3unMn05ExCisUDy/URw/3M9t8MetvthBBQpcfaRPGftXRGebaMF1HnH6dLG994TpNVQ==";
+      url = "https://registry.npmjs.org/indium/-/indium-5.0.0.tgz";
+      sha512 = "NGgQYdtKoh6zXoo1Sp3cvBur7SMud1JU6ghMQTBUxmPGlRmoB0esc3qVlLbK8f0d8j7OZgUUYkfGd0+xTYGvOw==";
     };
     dependencies = [
       sources."async-limiter-1.0.1"
-      sources."chrome-remote-interface-0.26.1"
+      sources."chrome-remote-interface-0.27.2"
       sources."commander-2.11.0"
       sources."node-fetch-2.6.0"
-      sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
       sources."source-map-0.7.3"
-      sources."ultron-1.1.1"
-      sources."ws-3.3.3"
+      sources."ws-6.2.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -55169,38 +56861,46 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "5.4.1";
+    version = "5.4.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-5.4.1.tgz";
-      sha512 = "z4Zdb1lEZoqx6HsURVgdqGw0INtDeNrbahTZacrqm3cNmjq6X4SOP+dILIeZoURq/V0KcyVcVQnssWRFbVd8TQ==";
+      url = "https://registry.npmjs.org/ionic/-/ionic-5.4.13.tgz";
+      sha512 = "PtE2juZMaa/ycwwlcEt62UonpPPB0bMJaqRvYOIrVVWL1/yAcHtdDvTVvyumz3RS8cIi2f5NX4GIIvwgYIvVsA==";
     };
     dependencies = [
-      sources."@ionic/cli-framework-2.1.7"
-      sources."@ionic/discover-2.0.6"
-      sources."@ionic/utils-array-1.2.1"
-      sources."@ionic/utils-fs-2.0.7"
-      sources."@ionic/utils-network-1.0.5"
-      sources."@ionic/utils-object-1.0.5"
-      sources."@ionic/utils-process-1.0.5"
-      sources."@ionic/utils-stream-2.0.4"
-      sources."@ionic/utils-subprocess-1.0.8"
-      sources."@ionic/utils-terminal-1.0.5"
-      sources."@types/node-8.10.54"
+      sources."@ionic/cli-framework-3.0.5"
+      sources."@ionic/cli-framework-prompts-1.0.4"
+      sources."@ionic/discover-2.0.7"
+      sources."@ionic/utils-array-1.2.2"
+      sources."@ionic/utils-fs-2.0.9"
+      sources."@ionic/utils-network-1.0.6"
+      sources."@ionic/utils-object-1.0.6"
+      sources."@ionic/utils-process-1.0.8"
+      sources."@ionic/utils-stream-2.0.5"
+      sources."@ionic/utils-subprocess-1.0.12"
+      sources."@ionic/utils-terminal-1.1.2"
+      sources."@types/color-name-1.1.1"
       sources."agent-base-4.3.0"
-      sources."ansi-escapes-4.2.1"
+      sources."ansi-escapes-3.2.0"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
       sources."ast-types-0.13.2"
-      sources."astral-regex-1.0.0"
-      sources."async-limiter-1.0.1"
+      sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."bytes-3.1.0"
-      sources."chalk-2.4.2"
+      (sources."chalk-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
       sources."chardet-0.7.0"
-      sources."chownr-1.1.2"
-      sources."cli-cursor-3.1.0"
+      sources."chownr-1.1.3"
+      sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
       sources."co-4.6.0"
       sources."color-convert-1.9.3"
@@ -55210,8 +56910,8 @@ in
       sources."concat-map-0.0.1"
       sources."cookiejar-2.1.2"
       sources."core-util-is-1.0.2"
-      sources."cross-spawn-7.0.0"
-      sources."data-uri-to-buffer-2.0.1"
+      sources."cross-spawn-7.0.1"
+      sources."data-uri-to-buffer-1.2.0"
       sources."debug-4.1.1"
       sources."deep-is-0.1.3"
       sources."degenerator-1.0.4"
@@ -55227,7 +56927,7 @@ in
       })
       sources."elementtree-0.1.7"
       sources."emoji-regex-7.0.3"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -55240,12 +56940,15 @@ in
           sources."cross-spawn-6.0.5"
           sources."path-key-2.0.1"
           sources."semver-5.7.1"
+          sources."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."which-1.3.1"
         ];
       })
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."figures-3.0.0"
+      sources."figures-3.1.0"
       sources."file-uri-to-path-1.0.0"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
@@ -55260,9 +56963,17 @@ in
         ];
       })
       sources."get-stream-4.1.0"
-      sources."get-uri-2.0.3"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      (sources."get-uri-2.0.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."http-errors-1.7.3"
       (sources."http-proxy-agent-2.1.0" // {
@@ -55271,7 +56982,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.6"
         ];
@@ -55280,13 +56991,23 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-7.0.0"
+      (sources."inquirer-7.0.1" // {
+        dependencies = [
+          sources."ansi-escapes-4.3.0"
+          sources."chalk-2.4.2"
+          sources."cli-cursor-3.1.0"
+          sources."mimic-fn-2.1.0"
+          sources."onetime-5.1.0"
+          sources."restore-cursor-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-promise-2.1.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.1.1"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
@@ -55311,30 +57032,22 @@ in
       sources."lodash.restparam-3.6.1"
       (sources."log-update-3.3.0" // {
         dependencies = [
-          sources."ansi-escapes-3.2.0"
-          sources."cli-cursor-2.1.0"
-          sources."mimic-fn-1.2.0"
-          sources."onetime-2.0.1"
-          sources."restore-cursor-2.0.0"
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
           sources."wrap-ansi-5.1.0"
         ];
       })
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       sources."macos-release-2.3.0"
       sources."methods-1.1.2"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-fn-2.1.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.8.1" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -55350,34 +57063,25 @@ in
         ];
       })
       sources."once-1.4.0"
-      sources."onetime-5.1.0"
-      sources."open-6.4.0"
-      sources."optionator-0.8.2"
+      sources."onetime-2.0.1"
+      sources."open-7.0.0"
+      sources."optionator-0.8.3"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
-      (sources."pac-proxy-agent-3.0.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-        ];
-      })
+      sources."pac-proxy-agent-3.0.1"
       sources."pac-resolver-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.0"
+      sources."path-key-3.1.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
-      (sources."proxy-agent-3.1.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-        ];
-      })
+      sources."proxy-agent-3.1.1"
       sources."proxy-from-env-1.0.0"
-      sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."raw-body-2.4.1"
       sources."readable-stream-3.4.0"
-      sources."restore-cursor-3.1.0"
+      sources."restore-cursor-2.0.0"
       sources."rimraf-3.0.0"
       sources."rsvp-3.6.2"
       sources."run-async-2.3.0"
@@ -55387,12 +57091,19 @@ in
       sources."sax-1.1.4"
       sources."semver-6.3.0"
       sources."setprototypeof-1.1.1"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
-      sources."slice-ansi-2.1.0"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      (sources."slice-ansi-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."is-fullwidth-code-point-3.0.0"
+        ];
+      })
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -55409,14 +57120,18 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."string-width-4.1.0" // {
+      (sources."string-width-4.2.0" // {
         dependencies = [
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
         ];
       })
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-6.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+        ];
+      })
       sources."strip-eof-1.0.0"
       sources."superagent-4.1.0"
       (sources."superagent-proxy-2.0.0" // {
@@ -55425,11 +57140,7 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      (sources."tar-4.4.11" // {
-        dependencies = [
-          sources."yallist-3.0.3"
-        ];
-      })
+      sources."tar-4.4.13"
       sources."through-2.3.8"
       sources."through2-3.0.1"
       sources."thunkify-2.1.2"
@@ -55438,28 +57149,28 @@ in
       sources."tree-kill-1.2.1"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."untildify-4.0.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."windows-release-3.2.0"
-      sources."wordwrap-1.0.0"
-      (sources."wrap-ansi-6.0.0" // {
+      sources."word-wrap-1.2.3"
+      (sources."wrap-ansi-6.2.0" // {
         dependencies = [
-          sources."ansi-styles-4.1.0"
+          sources."ansi-styles-4.2.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.0"
-      sources."ws-7.1.2"
+      sources."write-file-atomic-3.0.1"
+      sources."ws-7.2.1"
       sources."xregexp-2.0.0"
-      sources."yallist-2.1.2"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -55474,10 +57185,10 @@ in
   ios-deploy = nodeEnv.buildNodePackage {
     name = "ios-deploy";
     packageName = "ios-deploy";
-    version = "1.9.4";
+    version = "1.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.9.4.tgz";
-      sha512 = "pgyc19zgtwGrfx3GL8yV0c0dAPucTpJ0VZkuS3DcqxIZYC48+UW+tBTxI43u1ZDk17mop0ABLs1SkAy5SUQ6pQ==";
+      url = "https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.10.0.tgz";
+      sha512 = "sklB6PkJkWrHDublkZJeY4z9i7hl0nS2aRVse+/idGnb4eZddMQRfPVB4YzkEoyJ4FyW1I3sdLP6/cg/Imu/sw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -55492,7 +57203,7 @@ in
   "iosevka-build-deps-../../data/fonts/iosevka" = nodeEnv.buildNodePackage {
     name = "iosevka-build-deps";
     packageName = "iosevka-build-deps";
-    version = "2.3.0";
+    version = "2.3.2";
     src = ../../data/fonts/iosevka;
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -55509,13 +57220,13 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bezier-js-2.4.3"
+      sources."bezier-js-2.4.4"
       sources."bindings-1.5.0"
       sources."block-stream-0.0.9"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."bufferstreams-1.1.3"
       sources."camelcase-4.1.0"
@@ -55553,7 +57264,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
       sources."escape-latex-1.2.0"
       sources."escape-string-regexp-1.0.5"
@@ -55573,7 +57284,6 @@ in
           sources."levn-0.2.5"
           sources."optionator-0.3.0"
           sources."source-map-0.1.43"
-          sources."wordwrap-0.0.3"
         ];
       })
       sources."esprima-3.1.3"
@@ -55592,7 +57302,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."file-uri-to-path-1.0.0"
       sources."find-up-2.1.0"
@@ -55611,13 +57321,13 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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-flag-3.0.0"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -55649,8 +57359,8 @@ in
       sources."megaminx-0.9.0"
       sources."mem-1.1.0"
       sources."microbuffer-1.0.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -55673,7 +57383,7 @@ in
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-locale-2.1.0"
       sources."os-tmpdir-1.0.2"
@@ -55733,7 +57443,7 @@ in
       sources."promise-polyfill-6.1.0"
       sources."proper-lockfile-3.2.0"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -55743,12 +57453,12 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."resumer-0.0.0"
       sources."retry-0.12.0"
-      sources."rimraf-2.2.8"
+      sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -55791,7 +57501,7 @@ in
       })
       sources."supports-color-5.5.0"
       sources."tar-2.2.2"
-      sources."temp-0.8.3"
+      sources."temp-0.8.4"
       sources."through-2.3.8"
       sources."tiny-emitter-2.1.0"
       sources."toml-2.3.6"
@@ -55817,7 +57527,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
       sources."validate-npm-package-license-3.0.4"
-      (sources."verda-1.0.0-4" // {
+      (sources."verda-1.0.0-12" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."fs-extra-6.0.1"
@@ -55829,7 +57539,8 @@ in
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
+      sources."wordwrap-0.0.3"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."string-width-1.0.2"
@@ -55872,26 +57583,29 @@ in
   jake = nodeEnv.buildNodePackage {
     name = "jake";
     packageName = "jake";
-    version = "8.1.1";
+    version = "10.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jake/-/jake-8.1.1.tgz";
-      sha512 = "RJUWDas5xu4rP6CbCPqkVP9+vglMPThhZIj08EtjSiUBpwRtVjhShPKIpETyEhy/Z1hEk97qITxbZK+WXtSyzw==";
+      url = "https://registry.npmjs.org/jake/-/jake-10.4.3.tgz";
+      sha512 = "rraIRf0uRWQUE0rtjfTQaGA1Ow1l9O/2b2cNleTqQVihyM/3W2+V5S5ZbXUIkHpiBnZaeNtsCZkq2070BdlrPQ==";
     };
     dependencies = [
-      sources."ansi-styles-1.0.0"
+      sources."ansi-styles-3.2.1"
       sources."async-0.9.2"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."chalk-0.4.0"
+      sources."chalk-2.4.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
+      sources."escape-string-regexp-1.0.5"
       (sources."filelist-0.0.6" // {
         dependencies = [
           sources."utilities-0.0.37"
         ];
       })
-      sources."has-color-0.1.7"
+      sources."has-flag-3.0.0"
       sources."minimatch-3.0.4"
-      sources."strip-ansi-0.1.1"
+      sources."supports-color-5.5.0"
       sources."utilities-1.0.5"
     ];
     buildInputs = globalBuildInputs;
@@ -55926,7 +57640,7 @@ in
       sources."check-error-1.0.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."deep-eql-3.0.1"
       sources."error-7.0.2"
@@ -55935,13 +57649,13 @@ in
       sources."fast-json-patch-2.2.1"
       sources."fs.realpath-1.0.0"
       sources."get-func-name-2.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."has-flag-3.0.0"
       sources."hexer-1.5.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."iterare-1.2.0"
-      (sources."jaeger-client-3.16.0" // {
+      (sources."jaeger-client-3.17.1" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -55993,19 +57707,19 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "1.0.146";
+    version = "1.0.150";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.146.tgz";
-      sha512 = "Qy7lEfrvRfCL2c+NQWXjSVrwVTsflwxSozvntF8yMtPDhGvy912PjQQFjRplqusdmUEOOacupcRovcvC+T5Bbw==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.150.tgz";
+      sha512 = "CVQp6OFc3pJOnjjQHcRwQZ5HMh25xtVZTgLvzW+UyamtlkRVCqvw1tp7yitSxIC9AjhTIS4kBPzsC32XWm7lew==";
     };
     dependencies = [
       sources."@cronvel/get-pixels-3.3.1"
-      sources."abab-2.0.1"
+      sources."abab-2.0.3"
       sources."abbrev-1.1.1"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
@@ -56019,7 +57733,13 @@ in
       sources."ansi-styles-3.2.1"
       sources."app-module-path-2.2.0"
       sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.5"
+      (sources."are-we-there-yet-1.1.5" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       (sources."argparse-1.0.10" // {
         dependencies = [
           sources."sprintf-js-1.0.3"
@@ -56031,19 +57751,15 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-limiter-1.0.1"
-      sources."async-mutex-0.1.3"
+      sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base-64-0.1.0"
       sources."bcrypt-pbkdf-1.0.2"
-      (sources."bl-3.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.4.0"
-        ];
-      })
+      sources."bl-3.0.0"
       sources."brace-expansion-1.1.11"
       sources."browser-process-hrtime-0.1.3"
       sources."camel-case-3.0.0"
@@ -56051,9 +57767,10 @@ in
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."charenc-0.0.2"
-      sources."chownr-1.1.2"
-      sources."chroma-js-2.0.6"
+      sources."chownr-1.1.3"
+      sources."chroma-js-2.1.0"
       sources."clean-css-4.2.1"
+      sources."clean-html-1.5.0"
       sources."cliss-0.0.2"
       sources."code-point-at-1.1.0"
       sources."color-3.1.2"
@@ -56067,6 +57784,8 @@ in
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
+      sources."cross-env-6.0.3"
+      sources."cross-spawn-7.0.1"
       sources."crypt-0.0.2"
       sources."css-2.2.4"
       sources."cssom-0.3.8"
@@ -56075,7 +57794,7 @@ in
       sources."dashdash-1.14.1"
       (sources."data-urls-1.1.0" // {
         dependencies = [
-          sources."whatwg-url-7.0.0"
+          sources."whatwg-url-7.1.0"
         ];
       })
       sources."debug-3.2.6"
@@ -56084,14 +57803,22 @@ in
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
       sources."deepmerge-2.2.1"
-      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."detect-libc-1.0.3"
       sources."diacritics-1.3.0"
       sources."diff-match-patch-1.0.4"
+      (sources."dom-serializer-0.2.2" // {
+        dependencies = [
+          sources."domelementtype-2.0.1"
+          sources."entities-2.0.0"
+        ];
+      })
+      sources."domelementtype-1.3.1"
       sources."domexception-1.0.1"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.7.0"
       sources."ecc-jsbn-0.1.2"
       (sources."emphasize-1.5.0" // {
         dependencies = [
@@ -56102,10 +57829,8 @@ in
         ];
       })
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
       sources."es6-promise-pool-2.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.12.0"
@@ -56116,7 +57841,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.3"
       sources."fd-slicer-1.1.0"
@@ -56130,11 +57855,9 @@ in
       sources."form-data-2.5.1"
       sources."format-0.2.2"
       sources."fs-constants-1.0.0"
-      sources."fs-copy-file-sync-1.1.1"
       sources."fs-extra-5.0.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
@@ -56144,24 +57867,23 @@ in
       sources."get-stdin-5.0.1"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
       sources."highlight.js-9.12.0"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.2.1"
       sources."html-minifier-3.5.21"
+      sources."htmlparser2-3.10.1"
       sources."http-errors-1.7.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       (sources."image-data-uri-2.0.1" // {
         dependencies = [
           sources."fs-extra-0.26.7"
@@ -56202,13 +57924,9 @@ in
       sources."is-absolute-0.2.6"
       sources."is-arrayish-0.3.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-relative-0.2.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-0.1.2"
       sources."is-windows-0.2.0"
@@ -56218,9 +57936,10 @@ in
         ];
       })
       sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."joplin-turndown-4.0.17"
-      sources."joplin-turndown-plugin-gfm-1.0.9"
+      sources."joplin-turndown-4.0.19"
+      sources."joplin-turndown-plugin-gfm-1.0.11"
       sources."jpeg-js-0.1.2"
       sources."js-tokens-4.0.0"
       sources."jsbn-0.1.1"
@@ -56251,17 +57970,25 @@ in
       sources."md5-2.2.1"
       sources."mdurl-1.0.1"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
-      sources."mkdirp-0.5.1"
+      sources."minimist-1.2.0"
+      sources."minipass-3.1.1"
+      sources."minizlib-2.1.0"
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
       sources."moment-2.24.0"
       sources."ms-2.1.2"
-      sources."multiparty-4.2.1"
+      (sources."multiparty-4.2.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."nan-2.14.0"
       sources."napi-build-utils-1.0.1"
       sources."ndarray-1.0.18"
@@ -56269,7 +57996,7 @@ in
       sources."needle-2.4.0"
       sources."nextgen-events-1.3.0"
       sources."no-case-2.3.2"
-      (sources."node-abi-2.11.0" // {
+      (sources."node-abi-2.13.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
@@ -56285,25 +58012,23 @@ in
       })
       sources."noop-logger-0.1.1"
       sources."nopt-4.0.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.4"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
       (sources."object-to-arguments-0.0.8" // {
         dependencies = [
           sources."inspect-parameters-declaration-0.0.10"
           sources."magicli-0.0.5"
         ];
       })
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."omggif-1.0.10"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
@@ -56314,22 +58039,19 @@ in
       sources."parse5-4.0.0"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."pify-3.0.0"
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-2.3.1"
-      (sources."prebuild-install-5.3.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."prebuild-install-5.3.3"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
       sources."proper-lockfile-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.1.2"
@@ -56337,13 +58059,9 @@ in
       sources."query-string-4.3.4"
       sources."querystringify-2.1.1"
       sources."random-bytes-1.0.0"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.8"
       sources."read-chunk-2.1.0"
-      sources."readable-stream-2.3.6"
+      sources."readable-stream-3.4.0"
       sources."reduce-flatten-1.0.1"
       sources."redux-3.7.2"
       sources."relateurl-0.2.7"
@@ -56354,13 +58072,13 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       sources."requires-port-1.0.0"
       sources."resolve-url-0.2.1"
       sources."retry-0.10.1"
       sources."rimraf-2.7.1"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semver-6.3.0"
@@ -56368,8 +58086,14 @@ in
       sources."set-blocking-2.0.0"
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
-      sources."seventh-0.7.28"
-      sources."sharp-0.22.1"
+      sources."seventh-0.7.30"
+      (sources."sharp-0.23.4" // {
+        dependencies = [
+          sources."tar-5.0.5"
+        ];
+      })
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
       sources."simple-get-3.1.0"
@@ -56384,22 +58108,26 @@ in
       sources."source-map-url-0.4.0"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-4.1.0"
+      sources."sqlite3-4.1.1"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."strict-uri-encode-1.1.0"
-      sources."string-kit-0.9.12"
+      sources."string-kit-0.11.3"
       sources."string-padding-1.0.2"
-      sources."string-to-stream-1.1.1"
+      (sources."string-to-stream-1.1.1" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       (sources."string-width-1.0.2" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
-      sources."string_decoder-1.1.1"
+      sources."string_decoder-1.3.0"
       (sources."stringify-parameters-0.0.4" // {
         dependencies = [
           sources."magicli-0.0.5"
@@ -56416,20 +58144,23 @@ in
       sources."symbol-tree-3.2.4"
       sources."syswide-cas-5.3.0"
       sources."table-layout-0.4.5"
-      sources."tar-4.4.11"
-      sources."tar-fs-2.0.0"
-      (sources."tar-stream-2.1.0" // {
+      (sources."tar-4.4.13" // {
         dependencies = [
-          sources."readable-stream-3.4.0"
+          sources."fs-minipass-1.2.7"
+          sources."minipass-2.9.0"
+          sources."minizlib-1.3.3"
+          sources."yallist-3.1.1"
         ];
       })
+      sources."tar-fs-2.0.0"
+      sources."tar-stream-2.1.0"
       (sources."tcp-port-used-0.1.2" // {
         dependencies = [
           sources."debug-0.7.4"
           sources."q-0.9.7"
         ];
       })
-      sources."terminal-kit-1.31.3"
+      sources."terminal-kit-1.32.2"
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."is-fullwidth-code-point-2.0.0"
@@ -56440,7 +58171,7 @@ in
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
-      sources."tree-kit-0.6.1"
+      sources."tree-kit-0.6.2"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -56461,7 +58192,6 @@ in
       sources."urix-0.1.0"
       sources."url-parse-1.4.7"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."valid-url-1.0.9"
       sources."verror-1.10.0"
@@ -56470,10 +58200,10 @@ in
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-6.5.0"
+      sources."which-2.0.2"
       sources."which-pm-runs-1.0.0"
       sources."wide-align-1.1.3"
       sources."word-wrap-1.2.3"
-      sources."wordwrap-1.0.0"
       sources."wordwrapjs-3.0.0"
       (sources."wrap-ansi-3.0.1" // {
         dependencies = [
@@ -56484,9 +58214,9 @@ in
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."yallist-3.0.3"
+      sources."yallist-4.0.0"
       sources."yargs-parser-7.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -56511,12 +58241,12 @@ in
       sources."abbrev-1.1.1"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.12"
       sources."editorconfig-0.15.3"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -56579,19 +58309,19 @@ in
       sha512 = "Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==";
     };
     dependencies = [
-      sources."@babel/parser-7.6.0"
+      sources."@babel/parser-7.7.7"
       sources."argparse-1.0.10"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."catharsis-0.8.11"
       sources."entities-1.1.2"
       sources."escape-string-regexp-2.0.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."js2xmlparser-4.0.0"
       sources."klaw-3.0.0"
       sources."linkify-it-2.2.0"
       sources."lodash-4.17.15"
       sources."markdown-it-8.4.2"
-      sources."markdown-it-anchor-5.2.4"
+      sources."markdown-it-anchor-5.2.5"
       sources."marked-0.7.0"
       sources."mdurl-1.0.1"
       sources."minimist-0.0.8"
@@ -56617,10 +58347,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.10.2";
+    version = "2.11.0-rc1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz";
-      sha512 = "e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.11.0-rc1.tgz";
+      sha512 = "jWEHO8ad7pVMW5ek4yv300dPY8t9iyStVXE3hbelDmv99giOy8HkgSTsYvLTfC2F0FpQ1LoCS2p6StWe6AgRGQ==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -56630,7 +58360,7 @@ in
       sources."console-browserify-1.1.0"
       sources."core-util-is-1.0.2"
       sources."date-now-0.1.4"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -56642,7 +58372,7 @@ in
       sources."entities-1.0.0"
       sources."exit-0.1.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."htmlparser2-3.8.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -56731,21 +58461,21 @@ in
       sources."extend-3.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."js-yaml-3.13.1"
       sources."lodash-4.17.15"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."readable-stream-2.3.6"
       sources."safe-buffer-5.1.2"
       sources."slash-2.0.0"
@@ -56786,7 +58516,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."body-parser-1.19.0"
@@ -56829,7 +58559,7 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -56839,7 +58569,7 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."errorhandler-1.5.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -56848,13 +58578,13 @@ in
       sources."express-4.17.1"
       (sources."express-urlrewrite-1.2.0" // {
         dependencies = [
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       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."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
@@ -56870,7 +58600,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -56923,15 +58653,15 @@ in
       })
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.0"
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
-      sources."nanoid-2.1.1"
+      sources."nanoid-2.1.8"
       sources."negotiator-0.6.2"
-      sources."normalize-url-4.4.1"
+      sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
@@ -56956,7 +58686,7 @@ in
       sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -57038,8 +58768,8 @@ in
       sources."xdg-basedir-3.0.0"
       sources."y18n-4.0.0"
       sources."yallist-2.1.2"
-      sources."yargs-14.1.0"
-      sources."yargs-parser-14.0.0"
+      sources."yargs-14.2.2"
+      sources."yargs-parser-15.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -57080,15 +58810,15 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "4.3.0";
+    version = "4.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-4.3.0.tgz";
-      sha512 = "NSPViHOt+RW38oJklvYxQC4BSQsv737oQlr/r06pCM+slDOr4myuI1ivkRmp+3dVpJDfZt2DmaPJ2wkx+ZZuMQ==";
+      url = "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz";
+      sha512 = "L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==";
     };
     dependencies = [
       sources."accepts-1.3.7"
       sources."after-0.8.2"
-      sources."anymatch-3.1.0"
+      sources."anymatch-3.1.1"
       sources."arraybuffer.slice-0.0.7"
       sources."async-2.6.3"
       sources."async-limiter-1.0.1"
@@ -57099,7 +58829,7 @@ in
       sources."better-assert-1.0.2"
       sources."binary-extensions-2.0.0"
       sources."blob-0.0.5"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -57108,7 +58838,7 @@ in
       sources."buffer-fill-1.0.0"
       sources."bytes-3.1.0"
       sources."callsite-1.0.0"
-      sources."chokidar-3.1.1"
+      sources."chokidar-3.3.1"
       sources."colors-1.4.0"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
@@ -57117,7 +58847,6 @@ in
       sources."connect-3.7.0"
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
-      sources."core-js-3.2.1"
       sources."custom-event-1.0.1"
       sources."date-format-2.1.0"
       sources."debug-2.6.9"
@@ -57152,10 +58881,10 @@ in
       })
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.0.7"
-      sources."glob-7.1.4"
+      sources."fsevents-2.1.2"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-binary2-1.0.3"
       sources."has-cors-1.1.0"
       sources."http-errors-1.7.2"
@@ -57181,8 +58910,8 @@ in
       sources."lru-cache-4.1.5"
       sources."media-typer-0.3.0"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."ms-2.0.0"
@@ -57197,13 +58926,13 @@ in
       sources."parseuri-0.0.5"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
       sources."pseudomap-1.0.2"
       sources."qjobs-1.2.0"
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      sources."readdirp-3.1.2"
+      sources."readdirp-3.3.0"
       sources."requires-port-1.0.0"
       sources."rfdc-1.1.4"
       sources."rimraf-2.7.1"
@@ -57215,7 +58944,7 @@ in
           sources."debug-3.1.0"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.1.1" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -57284,21 +59013,21 @@ in
       sources."clone-stats-1.0.0"
       sources."cloneable-readable-1.1.3"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."core-util-is-1.0.2"
       sources."define-properties-1.1.3"
       sources."duplexify-3.7.1"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."extend-3.0.2"
       sources."flush-write-stream-1.1.1"
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
-      sources."graceful-fs-4.2.2"
-      sources."has-symbols-1.0.0"
+      sources."graceful-fs-4.2.3"
+      sources."has-symbols-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-absolute-1.0.0"
@@ -57334,7 +59063,7 @@ in
       sources."replace-ext-1.0.0"
       sources."resolve-options-1.1.0"
       sources."safe-buffer-5.1.2"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.1.1"
       sources."through2-2.0.5"
       sources."through2-filter-3.0.0"
@@ -57363,10 +59092,10 @@ in
   leetcode-cli = nodeEnv.buildNodePackage {
     name = "leetcode-cli";
     packageName = "leetcode-cli";
-    version = "2.6.1";
+    version = "2.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/leetcode-cli/-/leetcode-cli-2.6.1.tgz";
-      sha512 = "B3OXkxcsHUBnXoO2X5JOt2tDAEjMO+Mf3PxVJwgLhjdbK5XeR2GKDa6YcMuBv5fhJRzGUfQ+l6KEMQE6lRl8eg==";
+      url = "https://registry.npmjs.org/leetcode-cli/-/leetcode-cli-2.6.2.tgz";
+      sha512 = "wP2yB6yGq+dlXgi8PMNgXS24Sb7rtYRs/WYQ4+zrJ9Oa/7Qp47PbVxuS4Dl62yeEo3OSlT1hovp1SWY6jE7ToQ==";
     };
     dependencies = [
       sources."abab-1.0.4"
@@ -57380,7 +59109,7 @@ in
       sources."async-1.5.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."boolbase-1.0.0"
@@ -57417,7 +59146,7 @@ in
       sources."domhandler-2.3.0"
       sources."domutils-1.5.1"
       sources."ecc-jsbn-0.1.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.12.0"
@@ -57429,7 +59158,7 @@ in
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
@@ -57438,7 +59167,7 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -57477,8 +59206,8 @@ in
           sources."mimic-fn-2.1.0"
         ];
       })
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -57499,7 +59228,7 @@ in
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       (sources."ora-3.0.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -57521,7 +59250,7 @@ in
       sources."pkginfo-0.4.1"
       sources."prelude-ls-1.1.2"
       sources."prompt-1.0.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -57583,6 +59312,7 @@ in
           sources."pkginfo-0.3.1"
         ];
       })
+      sources."word-wrap-1.2.3"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
@@ -57619,10 +59349,10 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "3.16.4";
+    version = "3.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-3.16.4.tgz";
-      sha512 = "0HfwXIkqe72lBLZcNO9NMRfylh5Ng1l8tETgYQ260ZdHRbPuaLKE3Wqnd2YYRRkWfwPyEyZO8mZweBR+slVe1A==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-3.19.0.tgz";
+      sha512 = "YtMmwEqzWHQCh7Ynk7BvjrZri3EkSeVqTAcwZIqWlv9V/dCfvFPyRqp+2NIjPB5nj1FWXLRH6F05VT/qvzuuOA==";
     };
     dependencies = [
       (sources."@evocateur/libnpmaccess-3.1.2" // {
@@ -57642,102 +59372,101 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@lerna/add-3.16.2"
-      sources."@lerna/batch-packages-3.16.0"
-      sources."@lerna/bootstrap-3.16.2"
-      sources."@lerna/changed-3.16.4"
-      sources."@lerna/check-working-tree-3.14.2"
-      sources."@lerna/child-process-3.14.2"
-      sources."@lerna/clean-3.16.0"
-      sources."@lerna/cli-3.13.0"
-      sources."@lerna/collect-uncommitted-3.14.2"
-      sources."@lerna/collect-updates-3.16.0"
-      sources."@lerna/command-3.16.0"
-      (sources."@lerna/conventional-commits-3.16.4" // {
+      sources."@lerna/add-3.19.0"
+      sources."@lerna/bootstrap-3.18.5"
+      sources."@lerna/changed-3.18.5"
+      sources."@lerna/check-working-tree-3.16.5"
+      sources."@lerna/child-process-3.16.5"
+      sources."@lerna/clean-3.18.5"
+      sources."@lerna/cli-3.18.5"
+      sources."@lerna/collect-uncommitted-3.16.5"
+      sources."@lerna/collect-updates-3.18.0"
+      sources."@lerna/command-3.18.5"
+      (sources."@lerna/conventional-commits-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
-      (sources."@lerna/create-3.16.0" // {
+      (sources."@lerna/create-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
       sources."@lerna/create-symlink-3.16.2"
-      sources."@lerna/describe-ref-3.14.2"
-      sources."@lerna/diff-3.16.0"
-      sources."@lerna/exec-3.16.0"
-      sources."@lerna/filter-options-3.16.0"
-      sources."@lerna/filter-packages-3.16.0"
+      sources."@lerna/describe-ref-3.16.5"
+      sources."@lerna/diff-3.18.5"
+      sources."@lerna/exec-3.18.5"
+      sources."@lerna/filter-options-3.18.4"
+      sources."@lerna/filter-packages-3.18.0"
       sources."@lerna/get-npm-exec-opts-3.13.0"
       sources."@lerna/get-packed-3.16.0"
-      sources."@lerna/github-client-3.16.0"
+      sources."@lerna/github-client-3.16.5"
       sources."@lerna/gitlab-client-3.15.0"
       sources."@lerna/global-options-3.13.0"
-      sources."@lerna/has-npm-version-3.16.0"
-      sources."@lerna/import-3.16.0"
-      sources."@lerna/init-3.16.0"
-      sources."@lerna/link-3.16.2"
-      sources."@lerna/list-3.16.0"
-      sources."@lerna/listable-3.16.0"
+      sources."@lerna/has-npm-version-3.16.5"
+      sources."@lerna/import-3.18.5"
+      sources."@lerna/init-3.18.5"
+      sources."@lerna/link-3.18.5"
+      sources."@lerna/list-3.18.5"
+      sources."@lerna/listable-3.18.5"
       sources."@lerna/log-packed-3.16.0"
       (sources."@lerna/npm-conf-3.16.0" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
-      sources."@lerna/npm-dist-tag-3.16.0"
-      sources."@lerna/npm-install-3.16.0"
-      (sources."@lerna/npm-publish-3.16.2" // {
+      sources."@lerna/npm-dist-tag-3.18.5"
+      sources."@lerna/npm-install-3.16.5"
+      (sources."@lerna/npm-publish-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
-      sources."@lerna/npm-run-script-3.14.2"
-      sources."@lerna/otplease-3.16.0"
+      sources."@lerna/npm-run-script-3.16.5"
+      sources."@lerna/otplease-3.18.5"
       sources."@lerna/output-3.13.0"
       sources."@lerna/pack-directory-3.16.4"
       sources."@lerna/package-3.16.0"
-      sources."@lerna/package-graph-3.16.0"
+      sources."@lerna/package-graph-3.18.5"
       sources."@lerna/prerelease-id-from-version-3.16.0"
-      sources."@lerna/project-3.16.0"
-      sources."@lerna/prompt-3.13.0"
-      sources."@lerna/publish-3.16.4"
+      sources."@lerna/project-3.18.0"
+      sources."@lerna/prompt-3.18.5"
+      sources."@lerna/publish-3.18.5"
       sources."@lerna/pulse-till-done-3.13.0"
-      sources."@lerna/query-graph-3.16.0"
+      sources."@lerna/query-graph-3.18.5"
       sources."@lerna/resolve-symlink-3.16.0"
-      sources."@lerna/rimraf-dir-3.14.2"
-      sources."@lerna/run-3.16.0"
+      sources."@lerna/rimraf-dir-3.16.5"
+      sources."@lerna/run-3.18.5"
       sources."@lerna/run-lifecycle-3.16.2"
-      sources."@lerna/run-parallel-batches-3.16.0"
-      sources."@lerna/run-topologically-3.16.0"
-      sources."@lerna/symlink-binary-3.16.2"
-      sources."@lerna/symlink-dependencies-3.16.2"
+      sources."@lerna/run-topologically-3.18.5"
+      sources."@lerna/symlink-binary-3.17.0"
+      sources."@lerna/symlink-dependencies-3.17.0"
       sources."@lerna/timer-3.13.0"
       sources."@lerna/validation-error-3.13.0"
-      sources."@lerna/version-3.16.4"
+      sources."@lerna/version-3.18.5"
       sources."@lerna/write-log-file-3.13.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
-      (sources."@octokit/endpoint-5.3.5" // {
+      (sources."@octokit/endpoint-5.5.1" // {
         dependencies = [
           sources."is-plain-object-3.0.0"
           sources."isobject-4.0.0"
         ];
       })
       sources."@octokit/plugin-enterprise-rest-3.6.2"
-      (sources."@octokit/request-5.1.0" // {
+      (sources."@octokit/request-5.3.1" // {
         dependencies = [
           sources."is-plain-object-3.0.0"
           sources."isobject-4.0.0"
         ];
       })
-      sources."@octokit/request-error-1.0.4"
-      sources."@octokit/rest-16.30.0"
+      sources."@octokit/request-error-1.2.0"
+      sources."@octokit/rest-16.36.0"
+      sources."@octokit/types-2.0.2"
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."@zkochan/cmd-shim-3.1.0"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
@@ -57769,7 +59498,7 @@ in
       sources."atob-2.1.2"
       sources."atob-lite-2.0.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -57778,7 +59507,7 @@ in
       })
       sources."bcrypt-pbkdf-1.0.2"
       sources."before-after-hook-2.1.0"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -57805,7 +59534,7 @@ in
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."ci-info-2.0.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -57826,20 +59555,22 @@ in
       })
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      (sources."cliui-4.1.0" // {
+      (sources."cliui-5.0.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."clone-1.0.4"
+      sources."clone-deep-4.0.1"
       sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       (sources."compare-func-1.3.2" // {
         dependencies = [
           sources."dot-prop-3.0.0"
@@ -57850,20 +59581,20 @@ in
       sources."concat-stream-1.6.2"
       sources."config-chain-1.1.12"
       sources."console-control-strings-1.1.0"
-      sources."conventional-changelog-angular-5.0.3"
+      sources."conventional-changelog-angular-5.0.6"
       (sources."conventional-changelog-core-3.2.3" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
       })
-      sources."conventional-changelog-preset-loader-2.2.0"
-      (sources."conventional-changelog-writer-4.0.7" // {
+      sources."conventional-changelog-preset-loader-2.3.0"
+      (sources."conventional-changelog-writer-4.0.11" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
       })
       sources."conventional-commits-filter-2.0.2"
-      (sources."conventional-commits-parser-3.0.3" // {
+      (sources."conventional-commits-parser-3.0.8" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
@@ -57871,6 +59602,8 @@ in
       (sources."conventional-recommended-bump-5.0.1" // {
         dependencies = [
           sources."concat-stream-2.0.0"
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
           sources."readable-stream-3.4.0"
         ];
       })
@@ -57915,13 +59648,14 @@ in
       sources."duplexer-0.1.1"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
+      sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
-      sources."env-paths-1.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."env-paths-2.2.0"
       sources."err-code-1.1.2"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -57972,7 +59706,7 @@ in
           })
         ];
       })
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figgy-pudding-3.5.1"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
@@ -57999,7 +59733,7 @@ in
         ];
       })
       sources."genfun-5.0.0"
-      sources."get-caller-file-1.0.3"
+      sources."get-caller-file-2.0.5"
       (sources."get-pkg-repo-1.4.0" // {
         dependencies = [
           sources."camelcase-2.1.1"
@@ -58027,17 +59761,27 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."git-raw-commits-2.0.0"
+      (sources."git-raw-commits-2.0.0" // {
+        dependencies = [
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
+        ];
+      })
       (sources."git-remote-origin-url-2.0.0" // {
         dependencies = [
           sources."pify-2.3.0"
         ];
       })
-      sources."git-semver-tags-2.0.3"
+      (sources."git-semver-tags-2.0.3" // {
+        dependencies = [
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."git-up-4.0.1"
       sources."git-url-parse-11.1.2"
       sources."gitconfiglocal-1.0.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
       sources."glob-to-regexp-0.3.0"
       (sources."globby-9.2.0" // {
@@ -58045,8 +59789,8 @@ in
           sources."pify-4.0.1"
         ];
       })
-      sources."graceful-fs-4.2.2"
-      (sources."handlebars-4.2.1" // {
+      sources."graceful-fs-4.2.3"
+      (sources."handlebars-4.5.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -58055,7 +59799,7 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -58063,16 +59807,16 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-3.8.1"
       sources."http-proxy-agent-2.1.0"
       sources."http-signature-1.2.0"
-      sources."https-proxy-agent-2.2.2"
+      sources."https-proxy-agent-2.2.4"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."iferr-0.1.5"
       sources."ignore-4.0.6"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       (sources."import-fresh-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -58096,15 +59840,14 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."invert-kv-2.0.0"
       sources."ip-1.1.5"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
@@ -58121,11 +59864,11 @@ in
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
-      sources."is-text-path-2.0.0"
+      sources."is-symbol-1.0.3"
+      sources."is-text-path-1.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-windows-1.0.2"
@@ -58143,7 +59886,6 @@ in
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
       sources."kind-of-6.0.2"
-      sources."lcid-2.0.0"
       (sources."load-json-file-5.3.0" // {
         dependencies = [
           sources."pify-4.0.1"
@@ -58164,31 +59906,26 @@ in
       sources."lru-cache-5.1.1"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
-      sources."make-fetch-happen-5.0.0"
-      sources."map-age-cleaner-0.1.3"
+      sources."make-fetch-happen-5.0.2"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
       sources."map-visit-1.0.0"
-      (sources."mem-4.3.0" // {
-        dependencies = [
-          sources."mimic-fn-2.1.0"
-        ];
-      })
-      (sources."meow-4.0.1" // {
+      (sources."meow-5.0.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."camelcase-4.1.0"
+          sources."yargs-parser-10.1.0"
         ];
       })
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minimist-options-3.0.2"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -58208,26 +59945,27 @@ in
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.0"
       sources."node-fetch-npm-2.0.2"
-      (sources."node-gyp-5.0.3" // {
+      (sources."node-gyp-5.0.7" // {
         dependencies = [
-          sources."semver-5.3.0"
+          sources."semver-5.7.1"
         ];
       })
-      sources."nopt-3.0.6"
+      sources."nopt-4.0.1"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
       sources."normalize-url-3.3.0"
-      sources."npm-bundled-1.0.6"
+      sources."npm-bundled-1.1.1"
       sources."npm-lifecycle-3.1.4"
+      sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-6.1.1" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.4"
+      sources."npm-packlist-1.4.7"
       (sources."npm-pick-manifest-3.0.2" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -58251,23 +59989,21 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
       sources."octokit-pagination-methods-1.1.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."optimist-0.6.1"
       sources."os-homedir-1.0.2"
-      sources."os-locale-3.1.0"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
-      sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
-      sources."p-is-promise-2.1.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
       sources."p-map-2.1.0"
@@ -58302,7 +60038,7 @@ in
       sources."proto-list-1.2.4"
       sources."protocols-1.4.7"
       sources."protoduck-5.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -58314,12 +60050,8 @@ in
       sources."qs-6.5.2"
       sources."quick-lru-1.1.0"
       sources."read-1.0.7"
-      sources."read-cmd-shim-1.0.4"
-      (sources."read-package-json-2.1.0" // {
-        dependencies = [
-          sources."slash-1.0.0"
-        ];
-      })
+      sources."read-cmd-shim-1.0.5"
+      sources."read-package-json-2.1.1"
       sources."read-package-tree-5.3.1"
       (sources."read-pkg-3.0.0" // {
         dependencies = [
@@ -58348,8 +60080,8 @@ in
       sources."repeating-2.0.1"
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
-      sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.14.1"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -58374,12 +60106,13 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
+      sources."shallow-clone-3.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."slash-2.0.0"
       sources."slide-1.1.6"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -58410,7 +60143,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."socks-2.3.2"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -58448,15 +60181,15 @@ in
         ];
       })
       sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -58472,10 +60205,10 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      sources."tar-4.4.11"
+      sources."tar-4.4.13"
       sources."temp-dir-1.0.0"
       sources."temp-write-3.4.0"
-      sources."text-extensions-2.0.0"
+      sources."text-extensions-1.9.0"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."through-2.3.8"
@@ -58501,7 +60234,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.6.0" // {
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -58534,16 +60267,17 @@ in
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      sources."whatwg-url-7.0.0"
+      sources."whatwg-url-7.1.0"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
       sources."windows-release-3.2.0"
       sources."wordwrap-0.0.3"
-      (sources."wrap-ansi-2.1.0" // {
+      (sources."wrap-ansi-5.1.0" // {
         dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."wrappy-1.0.2"
@@ -58562,9 +60296,15 @@ in
       })
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-3.0.3"
-      sources."yargs-12.0.5"
-      sources."yargs-parser-11.1.1"
+      sources."yallist-3.1.1"
+      (sources."yargs-14.2.2" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."yargs-parser-15.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -58591,7 +60331,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."clone-2.1.2"
@@ -58604,11 +60344,11 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-signature-1.2.0"
@@ -58621,15 +60361,15 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
       sources."promise-7.3.1"
       sources."prr-1.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
@@ -58715,6 +60455,7 @@ in
       sources."batch-0.6.1"
       sources."bcryptjs-2.4.3"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."braces-2.3.2" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -58786,6 +60527,7 @@ in
         ];
       })
       sources."faye-websocket-0.11.3"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -58797,14 +60539,14 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -58839,8 +60581,8 @@ in
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mixin-deep-1.3.2"
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
@@ -58973,7 +60715,7 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."unix-crypt-td-js-1.0.0"
+      sources."unix-crypt-td-js-1.1.4"
       sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -59033,7 +60775,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -59046,6 +60788,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-assert-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."blob-0.0.5"
       sources."body-parser-1.19.0"
       sources."braces-1.8.5"
@@ -59133,7 +60876,8 @@ in
       sources."extglob-0.3.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       sources."finalhandler-1.1.2"
@@ -59144,13 +60888,13 @@ in
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."github-slugger-1.2.1"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-binary2-1.0.3" // {
@@ -59229,7 +60973,7 @@ in
       sources."map-visit-1.0.0"
       sources."markdown-it-8.4.2"
       sources."markdown-it-emoji-1.4.0"
-      sources."markdown-it-github-headings-1.1.1"
+      sources."markdown-it-github-headings-1.1.2"
       sources."markdown-it-task-checkbox-1.0.6"
       sources."math-random-1.0.4"
       sources."mdurl-1.0.1"
@@ -59238,8 +60982,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-2.3.11"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-1.2.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -59296,7 +61040,7 @@ in
       sources."preserve-0.2.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       (sources."randomatic-3.1.1" // {
@@ -59417,7 +61161,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."component-emitter-1.2.1"
@@ -59504,7 +61248,7 @@ in
       sources."uuid-3.3.3"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."ws-7.1.2"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
@@ -59525,82 +61269,84 @@ in
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      sources."@babel/core-7.6.0"
-      sources."@babel/generator-7.6.0"
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-call-delegate-7.4.4"
-      sources."@babel/helper-create-class-features-plugin-7.6.0"
-      sources."@babel/helper-define-map-7.5.5"
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.4"
-      sources."@babel/helper-member-expression-to-functions-7.5.5"
-      sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.5.5"
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/core-7.7.7"
+      sources."@babel/generator-7.7.7"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-class-features-plugin-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.5.5"
-      sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.6.0"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.0"
+      sources."@babel/parser-7.7.7"
       sources."@babel/plugin-external-helpers-7.0.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-class-properties-7.5.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.5.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.5.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.4.4"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-dynamic-import-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.0"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.4.4"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.6.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.0"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-runtime-7.6.0"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.2.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.4.4"
-      sources."@babel/preset-env-7.6.0"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-class-properties-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-runtime-7.7.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
       sources."@babel/preset-stage-2-7.0.0"
-      sources."@babel/runtime-7.6.0"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.0"
-      sources."@babel/types-7.6.1"
+      sources."@babel/runtime-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@calebboyd/semaphore-1.3.1"
       sources."@comandeer/babel-plugin-banner-4.1.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -59611,7 +61357,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -59633,7 +61379,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."ace.improved-0.2.1"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."ajv-6.10.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.4.1"
@@ -59792,8 +61538,9 @@ in
       sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bl-1.2.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
@@ -59804,7 +61551,7 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.7.0"
+      sources."browserslist-4.8.2"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -59827,7 +61574,7 @@ in
       })
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30000989"
+      sources."caniuse-lite-1.0.30001016"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
         dependencies = [
@@ -59854,7 +61601,7 @@ in
           sources."normalize-path-3.0.0"
         ];
       })
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."chrome-trace-event-1.0.2"
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
@@ -59897,16 +61644,16 @@ in
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
       sources."config-chain-1.1.12"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."content-disposition-0.5.3"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.9"
-      (sources."core-js-compat-3.2.1" // {
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.1" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-7.0.0"
         ];
       })
       sources."core-util-is-1.0.2"
@@ -59917,7 +61664,6 @@ in
       sources."cross-spawn-6.0.5"
       sources."crypto-browserify-3.12.0"
       sources."cyclist-1.0.1"
-      sources."date-now-0.1.4"
       sources."death-1.1.0"
       sources."debug-4.1.1"
       sources."decamelize-1.2.0"
@@ -59958,14 +61704,14 @@ in
           sources."clone-1.0.4"
         ];
       })
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
       (sources."define-property-2.0.2" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."detect-file-1.0.0"
       sources."detect-indent-4.0.0"
       sources."diffie-hellman-5.0.3"
@@ -59985,12 +61731,12 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
-      sources."electron-to-chromium-1.3.264"
-      sources."elliptic-6.5.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
       sources."emoji-regex-7.0.3"
       sources."emojis-list-2.1.0"
-      sources."end-of-stream-1.4.1"
-      sources."enhanced-resolve-4.1.0"
+      sources."end-of-stream-1.4.4"
+      sources."enhanced-resolve-4.1.1"
       sources."errno-0.1.7"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
@@ -60079,10 +61825,11 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."figgy-pudding-3.5.1"
       sources."file-type-8.1.0"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
@@ -60141,13 +61888,13 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-proxy-2.1.0"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."glob-to-regexp-0.3.0"
@@ -60176,16 +61923,16 @@ in
           })
           sources."get-stream-4.1.0"
           sources."http-cache-semantics-4.0.3"
-          sources."normalize-url-4.4.1"
+          sources."normalize-url-4.5.0"
           sources."p-cancelable-1.1.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-to-string-tag-x-1.4.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
@@ -60206,7 +61953,7 @@ in
       sources."hash.js-1.1.7"
       sources."hmac-drbg-1.0.1"
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-3.8.1"
       sources."https-browserify-1.0.0"
       sources."ieee754-1.1.13"
@@ -60276,7 +62023,7 @@ in
       sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."jszip-git://github.com/anmonteiro/jszip#patch-1"
       sources."keyv-3.0.0"
       sources."kind-of-3.2.2"
@@ -60294,7 +62041,7 @@ in
       sources."loose-envify-1.4.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-5.1.1"
-      sources."magic-string-0.25.3"
+      sources."magic-string-0.25.4"
       (sources."make-dir-2.1.0" // {
         dependencies = [
           sources."pify-4.0.1"
@@ -60312,11 +62059,11 @@ in
           sources."p-is-promise-2.1.0"
         ];
       })
-      sources."memory-fs-0.4.1"
+      sources."memory-fs-0.5.0"
       sources."merge2-1.3.0"
       sources."micromatch-2.3.11"
       sources."miller-rabin-4.0.1"
-      sources."mime-db-1.41.0"
+      sources."mime-db-1.42.0"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -60355,11 +62102,15 @@ in
       sources."node-fetch-2.6.0"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
-          sources."buffer-4.9.1"
+          sources."buffer-4.9.2"
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.32"
+      (sources."node-releases-1.1.44" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-2.1.1"
       (sources."normalize-url-2.0.1" // {
@@ -60540,10 +62291,9 @@ in
       sources."regenerator-transform-0.14.1"
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp-tree-0.1.13"
       sources."regexpu-core-4.6.0"
-      sources."regjsgen-0.5.0"
-      (sources."regjsparser-0.6.0" // {
+      sources."regjsgen-0.5.1"
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -60555,7 +62305,7 @@ in
       sources."replace-ext-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-cwd-2.0.0"
       (sources."resolve-dependencies-2.2.3" // {
         dependencies = [
@@ -60601,7 +62351,7 @@ in
       sources."schema-utils-1.0.0"
       sources."seek-bzip-1.0.5"
       sources."semver-5.7.1"
-      sources."serialize-javascript-1.9.1"
+      sources."serialize-javascript-2.1.2"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -60646,7 +62396,7 @@ in
       sources."source-list-map-0.1.8"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -60679,7 +62429,7 @@ in
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."strict-uri-encode-1.1.0"
       (sources."string-width-3.1.0" // {
         dependencies = [
@@ -60696,13 +62446,13 @@ in
       sources."supports-color-2.0.0"
       sources."tapable-1.1.3"
       sources."tar-stream-1.6.2"
-      (sources."terser-4.3.1" // {
+      (sources."terser-4.4.3" // {
         dependencies = [
-          sources."commander-2.20.0"
+          sources."commander-2.20.3"
           sources."source-map-0.6.1"
         ];
       })
-      (sources."terser-webpack-plugin-1.4.1" // {
+      (sources."terser-webpack-plugin-1.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -60768,10 +62518,10 @@ in
       sources."v8-compile-cache-2.0.3"
       sources."validate-npm-package-license-3.0.4"
       sources."vinyl-2.2.0"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
-      (sources."webpack-4.40.2" // {
+      (sources."webpack-4.41.4" // {
         dependencies = [
           sources."arr-diff-4.0.0"
           sources."array-unique-0.3.2"
@@ -60809,12 +62559,15 @@ in
           })
           sources."isobject-3.0.1"
           sources."kind-of-6.0.2"
+          sources."memory-fs-0.4.1"
           sources."micromatch-3.1.10"
           sources."ms-2.0.0"
         ];
       })
-      (sources."webpack-cli-3.3.9" // {
+      (sources."webpack-cli-3.3.10" // {
         dependencies = [
+          sources."enhanced-resolve-4.1.0"
+          sources."memory-fs-0.4.1"
           sources."supports-color-6.1.0"
         ];
       })
@@ -60848,7 +62601,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
       (sources."yargs-13.2.4" // {
         dependencies = [
           sources."find-up-3.0.0"
@@ -60895,27 +62648,27 @@ in
   markdown-link-check = nodeEnv.buildNodePackage {
     name = "markdown-link-check";
     packageName = "markdown-link-check";
-    version = "3.7.3";
+    version = "3.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.7.3.tgz";
-      sha512 = "X/HWomzeox5HtkKLupin4affBXHq22r7RNqiSKsxlgZQMSU9n+zpGY0sbzJr1IycB6FXpKUZet1VH3Rs1/8WQg==";
+      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.8.0.tgz";
+      sha512 = "tpBlUsnJfJ5xMHAjBC/10s8Un/WT/FmF+xXaZjeaegESmjcPlEcxZ+UuCtxArETovLS5gZ8lZXzdhgslHziLsg==";
     };
     dependencies = [
       sources."ajv-6.10.2"
       sources."ansi-styles-3.2.1"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-2.6.3"
+      sources."async-3.1.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-3.0.2"
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
       sources."delayed-stream-1.0.0"
@@ -60924,7 +62677,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
@@ -60932,8 +62685,8 @@ in
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
       sources."http-signature-1.2.0"
-      sources."is-absolute-url-2.1.0"
-      sources."is-relative-url-2.0.0"
+      sources."is-absolute-url-3.0.3"
+      sources."is-relative-url-3.0.0"
       sources."is-typedarray-1.0.0"
       sources."isemail-3.2.0"
       sources."isstream-0.1.2"
@@ -60942,17 +62695,17 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."link-check-4.4.5"
+      sources."link-check-4.4.7"
       sources."lodash-4.17.15"
-      sources."markdown-link-extractor-1.2.1"
-      sources."marked-0.6.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."markdown-link-extractor-1.2.2"
+      sources."marked-0.7.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
       sources."progress-2.0.3"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
@@ -60984,23 +62737,14 @@ in
   mathjax = nodeEnv.buildNodePackage {
     name = "mathjax";
     packageName = "mathjax";
-    version = "3.0.0";
+    version = "2.7.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mathjax/-/mathjax-3.0.0.tgz";
-      sha512 = "z4uLbDHNbs/aRuR6zCcnzwFQuMixkHCcWqgVaommfK/3cA1Ahq7OXemn+m8JwTYcBApSHgcrSbPr9sm3sZFL+A==";
+      url = "https://registry.npmjs.org/mathjax/-/mathjax-2.7.7.tgz";
+      sha512 = "OOl0B2/0tSJAtAZarXnQuLDBLgTNRqiI9VqHTQzPsxf4okT2iIpDrvaklK9x2QEMD1sDj4yRn11Ygci41DxMAQ==";
     };
-    dependencies = [
-      sources."commander-3.0.1"
-      sources."esm-3.2.25"
-      sources."mathjax-full-git://github.com/mathjax/MathJax-src.git"
-      sources."mj-context-menu-0.2.0"
-      sources."speech-rule-engine-3.0.0-beta.6"
-      sources."wicked-good-xpath-1.3.0"
-      sources."xmldom-sre-0.1.31"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers. This package includes the packaged components (install mathjax-full to get the source code).";
+      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers.";
       homepage = "https://github.com/mathjax/MathJax#readme";
       license = "Apache-2.0";
     };
@@ -61048,10 +62792,10 @@ in
   meguca = nodeEnv.buildNodePackage {
     name = "meguca";
     packageName = "meguca";
-    version = "1.1.6";
+    version = "1.1.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/meguca/-/meguca-1.1.6.tgz";
-      sha512 = "kqg6t8mUUpb4WwD+4WqgS41AejdSkIEmPCB7v2D7ioxtLFiCaQUlu+K8rT6qOe3PmMacZ2sZsmdIs5jtYtxPig==";
+      url = "https://registry.npmjs.org/meguca/-/meguca-1.1.8.tgz";
+      sha512 = "BrbjYMq6FeZYMKx9mw7aHGUtLCyGPX4kSoCqZiRBFw5ESTgJcmmr+DbLCC29k8hRpBVRqdq3OapSEbAGXZ6z/g==";
     };
     dependencies = [
       (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
@@ -61071,7 +62815,7 @@ in
       })
       (sources."accord-0.28.0" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
           sources."minimatch-3.0.4"
           sources."semver-5.7.1"
           sources."uglify-js-2.8.29"
@@ -61109,7 +62853,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -61167,10 +62911,10 @@ in
       sources."collection-visit-1.0.0"
       sources."color-support-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-2.17.1"
+      sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
       sources."cryptiles-2.0.5"
@@ -61210,7 +62954,7 @@ in
       })
       (sources."duplexify-3.7.1" // {
         dependencies = [
-          sources."end-of-stream-1.4.1"
+          sources."end-of-stream-1.4.4"
           sources."once-1.4.0"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
@@ -61219,9 +62963,9 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-0.1.5"
       sources."errno-0.1.7"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."event-emitter-0.3.5"
@@ -61244,6 +62988,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -61281,7 +63030,7 @@ in
       sources."fragment-cache-0.2.1"
       (sources."fs-mkdirp-stream-1.0.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
           sources."through2-2.0.5"
@@ -61334,9 +63083,9 @@ in
           sources."through2-2.0.5"
         ];
       })
-      (sources."gulp-sourcemaps-2.6.4" // {
+      (sources."gulp-sourcemaps-2.6.5" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
           sources."readable-stream-2.3.6"
           sources."source-map-0.6.1"
           sources."string_decoder-1.1.1"
@@ -61351,9 +63100,9 @@ in
           sources."clone-2.1.2"
           sources."clone-stats-1.0.0"
           sources."extend-shallow-1.1.4"
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
           sources."glob-stream-6.1.0"
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
           sources."kind-of-1.1.0"
           sources."minimatch-3.0.4"
           sources."ordered-read-streams-1.0.1"
@@ -61367,9 +63116,8 @@ in
           sources."vinyl-fs-3.0.3"
         ];
       })
-      (sources."gulp-uglify-3.0.1" // {
+      (sources."gulp-uglify-3.0.2" // {
         dependencies = [
-          sources."lodash-4.17.15"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
           sources."through2-2.0.5"
@@ -61390,7 +63138,7 @@ in
       sources."har-validator-4.2.1"
       sources."has-ansi-2.0.0"
       sources."has-gulplog-0.1.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -61455,7 +63203,7 @@ in
       sources."lead-1.0.0"
       (sources."less-2.7.3" // {
         dependencies = [
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
         ];
       })
       sources."liftoff-2.5.0"
@@ -61494,8 +63242,8 @@ in
       sources."memoizee-0.4.14"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-2.0.10"
       sources."minimist-1.2.0"
       (sources."mixin-deep-1.3.2" // {
@@ -61558,7 +63306,7 @@ in
       sources."prr-1.0.1"
       (sources."pump-2.0.1" // {
         dependencies = [
-          (sources."end-of-stream-1.4.1" // {
+          (sources."end-of-stream-1.4.4" // {
             dependencies = [
               sources."once-1.4.0"
             ];
@@ -61588,7 +63336,7 @@ in
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."request-2.81.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -61662,7 +63410,7 @@ in
         ];
       })
       sources."stream-consume-0.1.1"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.6"
       sources."strip-ansi-3.0.1"
@@ -61699,8 +63447,8 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-1.2.0"
-      sources."typescript-3.5.3"
-      (sources."uglify-js-3.4.9" // {
+      sources."typescript-3.7.4"
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -61741,7 +63489,7 @@ in
         dependencies = [
           sources."clone-2.1.2"
           sources."clone-stats-1.0.0"
-          sources."graceful-fs-4.2.2"
+          sources."graceful-fs-4.2.3"
           sources."vinyl-2.2.0"
         ];
       })
@@ -61767,10 +63515,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "6.2.0";
+    version = "6.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-6.2.0.tgz";
-      sha512 = "qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz";
+      sha512 = "FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==";
     };
     dependencies = [
       sources."ansi-colors-3.2.3"
@@ -61786,122 +63534,96 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."cliui-4.1.0"
-      sources."code-point-at-1.1.0"
+      (sources."cliui-5.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
-      sources."cross-spawn-6.0.5"
       sources."debug-3.2.6"
       sources."decamelize-1.2.0"
       sources."define-properties-1.1.3"
       sources."diff-3.5.0"
       sources."emoji-regex-7.0.3"
-      sources."end-of-stream-1.4.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
-      sources."execa-1.0.0"
       sources."find-up-3.0.0"
       sources."flat-4.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-stream-4.1.0"
       sources."glob-7.1.3"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."he-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."invert-kv-2.0.0"
-      sources."is-buffer-2.0.3"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-buffer-2.0.4"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."isexe-2.0.0"
       sources."js-yaml-3.13.1"
-      sources."lcid-2.0.0"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
       sources."log-symbols-2.2.0"
-      sources."map-age-cleaner-0.1.3"
-      sources."mem-4.3.0"
-      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."ms-2.1.1"
-      sources."nice-try-1.0.5"
       sources."node-environment-flags-1.0.5"
-      sources."npm-run-path-2.0.2"
-      sources."number-is-nan-1.0.1"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."once-1.4.0"
-      sources."os-locale-3.1.0"
-      sources."p-defer-1.0.0"
-      sources."p-finally-1.0.0"
-      sources."p-is-promise-2.1.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-2.0.1"
-      sources."pump-3.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
       sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.2"
       sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."strip-ansi-4.0.0"
-      sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-6.0.0"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
-      (sources."wrap-ansi-2.1.0" // {
+      (sources."wrap-ansi-5.1.0" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."wrappy-1.0.2"
       sources."y18n-4.0.0"
-      (sources."yargs-13.2.2" // {
+      (sources."yargs-13.3.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."yargs-parser-13.0.0"
-      (sources."yargs-unparser-1.5.0" // {
-        dependencies = [
-          sources."get-caller-file-1.0.3"
-          sources."require-main-filename-1.0.1"
-          sources."yargs-12.0.5"
-          sources."yargs-parser-11.1.1"
-        ];
-      })
+      sources."yargs-parser-13.1.1"
+      sources."yargs-unparser-1.6.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -61925,7 +63647,7 @@ in
       sources."argparse-1.0.10"
       sources."asynckit-0.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
       sources."cookiejar-2.1.2"
       sources."core-util-is-1.0.2"
@@ -61935,7 +63657,7 @@ in
       sources."extend-3.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."js-yaml-3.13.1"
@@ -61947,14 +63669,14 @@ in
       sources."lodash-4.17.15"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."readable-stream-2.3.6"
       sources."safe-buffer-5.1.2"
       sources."slash-2.0.0"
@@ -61976,29 +63698,59 @@ in
   neovim = nodeEnv.buildNodePackage {
     name = "neovim";
     packageName = "neovim";
-    version = "4.5.0";
+    version = "4.6.0-alpha.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/neovim/-/neovim-4.5.0.tgz";
-      sha512 = "+Q5EEIYIZG14NYAAQmvHHdYZ8hg0TbcsFo9vDf2rHhwidqdJv7jrDk0vQz+kUrNvhNQO/pqkBrZ08yEWZbD/0A==";
+      url = "https://registry.npmjs.org/neovim/-/neovim-4.6.0-alpha.0.tgz";
+      sha512 = "hlnWPmp2dx0byH2TlUmkEkaMhEg2bedZx1NOtL4SY6XcGdW76nYZrPJUkgVi/4f+kRRHbB3BuSF1qV70WFDP+w==";
     };
     dependencies = [
-      sources."async-1.0.0"
-      sources."colors-1.0.3"
-      sources."cycle-1.0.3"
+      sources."async-2.6.3"
+      sources."color-3.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.5.3"
+      sources."colornames-1.1.1"
+      sources."colors-1.4.0"
+      sources."colorspace-1.1.2"
+      sources."core-util-is-1.0.2"
+      sources."diagnostics-1.1.1"
+      sources."enabled-1.0.2"
+      sources."env-variable-0.0.5"
       sources."event-lite-0.1.2"
-      sources."eyes-0.1.8"
+      sources."fast-safe-stringify-2.0.7"
+      sources."fecha-2.3.3"
       sources."ieee754-1.1.13"
+      sources."inherits-2.0.4"
       sources."int64-buffer-0.1.10"
+      sources."is-arrayish-0.3.2"
+      sources."is-stream-1.1.0"
       sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
+      sources."kuler-1.0.1"
       sources."lodash-4.17.15"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.omit-4.5.0"
+      sources."logform-2.1.2"
+      sources."ms-2.1.2"
       sources."msgpack-lite-0.1.26"
-      sources."semver-5.7.1"
+      sources."one-time-0.0.4"
+      sources."process-nextick-args-2.0.1"
+      sources."readable-stream-3.4.0"
+      sources."safe-buffer-5.2.0"
+      sources."semver-7.1.1"
+      sources."simple-swizzle-0.2.2"
       sources."stack-trace-0.0.10"
-      sources."traverse-0.6.6"
-      sources."which-1.3.1"
-      sources."winston-2.4.4"
+      sources."string_decoder-1.3.0"
+      sources."text-hex-1.0.0"
+      sources."triple-beam-1.3.0"
+      sources."util-deprecate-1.0.2"
+      sources."winston-3.2.1"
+      (sources."winston-transport-4.3.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -62035,10 +63787,10 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "5.0.3";
+    version = "5.0.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.3.tgz";
-      sha512 = "z/JdtkFGUm0QaQUusvloyYuGDub3nUbOo5de1Fz57cM++osBTvQatBUSTlF1k/w8vFHPxxXW6zxGvkxXSpaBkQ==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.7.tgz";
+      sha512 = "K8aByl8OJD51V0VbUURTKsmdswkQQusIvlvmTyhHlIT1hBvaSxzdxpSle857XuXa7uc02UEZx9OR5aDxSWS5Qw==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -62050,12 +63802,12 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.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."caseless-0.12.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
@@ -62065,19 +63817,19 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      sources."env-paths-1.0.0"
+      sources."env-paths-2.2.0"
       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."fast-json-stable-stringify-2.1.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.4"
-      sources."graceful-fs-4.2.2"
+      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"
@@ -62094,23 +63846,26 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      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.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       sources."mkdirp-0.5.1"
-      sources."nopt-3.0.6"
+      sources."nopt-4.0.1"
       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."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."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
@@ -62118,14 +63873,14 @@ in
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.3.0"
+      sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sshpk-1.16.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-4.4.11"
+      sources."tar-4.4.13"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -62140,7 +63895,7 @@ in
       sources."which-1.3.1"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -62155,10 +63910,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "4.1.1";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz";
-      sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz";
+      sha512 = "4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -62193,12 +63948,12 @@ in
       sources."async-0.9.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bcrypt-pbkdf-1.0.2"
       sources."biased-opener-0.2.8"
-      sources."big-integer-1.6.45"
+      sources."big-integer-1.6.48"
       sources."block-stream-0.0.9"
       sources."body-parser-1.19.0"
       sources."boom-2.10.1"
@@ -62262,14 +64017,14 @@ in
         ];
       })
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-unicode-2.0.1"
       sources."hawk-3.1.3"
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-errors-1.7.2"
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.24"
@@ -62307,8 +64062,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -62321,7 +64076,7 @@ in
       sources."negotiator-0.6.2"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
           sources."rimraf-2.7.1"
           sources."semver-5.7.1"
         ];
@@ -62368,7 +64123,7 @@ in
           sources."qs-6.4.0"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -62410,7 +64165,7 @@ in
       sources."tar-2.2.2"
       (sources."tar-pack-3.4.1" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
           sources."rimraf-2.7.1"
         ];
       })
@@ -62455,7 +64210,7 @@ in
           sources."lodash-3.10.1"
         ];
       })
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
       sources."yargs-3.32.0"
@@ -62472,10 +64227,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.13.0";
+    version = "0.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz";
-      sha512 = "Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==";
+      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"
@@ -62484,7 +64239,7 @@ in
       sources."are-we-there-yet-1.1.5"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."chownr-1.1.2"
+      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"
@@ -62496,10 +64251,10 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."has-unicode-2.0.1"
       sources."iconv-lite-0.4.24"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -62507,14 +64262,15 @@ in
       sources."isarray-1.0.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
+      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.4"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -62541,11 +64297,11 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."tar-4.4.11"
+      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.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -62560,18 +64316,17 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "0.20.8";
+    version = "1.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-0.20.8.tgz";
-      sha512 = "+i2SHPo8AQED0lyf7xoGcWAs142Nc5zvCTzmuncslgxVt/fl6XADEEY4yT/eDVNOwRrf9TZMjhSxBM9ScJJu7Q==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-1.0.3.tgz";
+      sha512 = "UoTPT7jTApgoVm9lah7Ri10S5w1boQeLIKWFxUq1yfLJ7AYhKmVT46z5HRQt4vAUBLze7cl+aFjEt67LDujXmg==";
     };
     dependencies = [
-      sources."@babel/runtime-7.6.0"
-      sources."@node-red/editor-api-0.20.8"
-      sources."@node-red/editor-client-0.20.8"
-      (sources."@node-red/nodes-0.20.8" // {
+      sources."@babel/runtime-7.7.7"
+      sources."@node-red/editor-api-1.0.3"
+      sources."@node-red/editor-client-1.0.3"
+      (sources."@node-red/nodes-1.0.3" // {
         dependencies = [
-          sources."cookie-0.4.0"
           sources."http-errors-1.7.3"
           sources."iconv-lite-0.5.0"
           sources."inherits-2.0.4"
@@ -62583,42 +64338,53 @@ in
           })
         ];
       })
-      sources."@node-red/registry-0.20.8"
-      sources."@node-red/runtime-0.20.8"
-      sources."@node-red/util-0.20.8"
+      sources."@node-red/registry-1.0.3"
+      sources."@node-red/runtime-1.0.3"
+      sources."@node-red/util-1.0.3"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
-      sources."addressparser-1.0.1"
       sources."agent-base-4.3.0"
-      sources."ajv-6.10.0"
+      sources."ajv-6.10.2"
       sources."ansi-regex-2.1.1"
       sources."append-field-1.0.0"
       sources."aproba-1.2.0"
       (sources."are-we-there-yet-1.1.5" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."argparse-1.0.10"
       sources."array-flatten-1.1.1"
-      sources."array-indexofobject-0.0.1"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-0.1.22"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
-      sources."basic-auth-2.0.1"
+      (sources."basic-auth-2.0.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."bcrypt-3.0.6"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
       (sources."bl-1.2.2" // {
         dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
+          (sources."readable-stream-2.3.6" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."string_decoder-1.1.1" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
         ];
       })
       sources."body-parser-1.19.0"
@@ -62636,39 +64402,50 @@ in
       (sources."callback-stream-1.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."caseless-0.12.0"
       sources."cheerio-0.22.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."clone-2.1.2"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."commist-1.1.0"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."console-control-strings-1.1.0"
-      sources."content-disposition-0.5.3"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."content-type-1.0.4"
-      sources."cookie-0.3.1"
-      sources."cookie-parser-1.4.4"
+      sources."cookie-0.4.0"
+      (sources."cookie-parser-1.4.4" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+        ];
+      })
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
-      sources."cron-1.7.1"
+      sources."cron-1.7.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."deep-extend-0.6.0"
+      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."denque-1.4.1"
@@ -62689,15 +64466,18 @@ in
       (sources."duplexify-3.7.1" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.51"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-promise-4.2.8"
@@ -62707,31 +64487,30 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       sources."event-emitter-0.3.5"
       (sources."express-4.17.1" // {
         dependencies = [
-          sources."cookie-0.4.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."express-session-1.16.2" // {
+      (sources."express-session-1.17.0" // {
         dependencies = [
           sources."depd-2.0.0"
         ];
       })
-      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."feedparser-2.2.9" // {
+      (sources."ext-1.4.0" // {
         dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
+          sources."type-2.0.0"
         ];
       })
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -62741,53 +64520,52 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs.notify-0.0.4"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
-      sources."he-1.2.0"
       sources."help-me-1.1.0"
-      sources."html-to-text-5.1.1"
       sources."htmlparser2-3.10.1"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-2.2.1" // {
+      (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
         ];
       })
-      sources."i18next-15.1.0"
+      sources."i18next-15.1.2"
       sources."iconv-lite-0.4.24"
-      sources."ignore-walk-3.0.2"
-      (sources."imap-0.8.19" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."ignore-walk-3.0.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."ipaddr.js-1.9.0"
       sources."is-absolute-1.0.0"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-3.1.0"
       sources."is-negated-glob-1.0.0"
+      sources."is-regex-1.0.5"
       sources."is-relative-1.0.0"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
       sources."is-utf8-0.2.1"
@@ -62800,38 +64578,23 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonata-1.6.5"
+      sources."jsonata-1.7.0"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
       sources."leven-2.1.0"
-      sources."libbase64-1.0.3"
-      sources."libmime-4.1.1"
-      sources."libqp-1.1.0"
-      sources."linkify-it-2.1.0"
-      sources."lodash-4.17.15"
-      sources."lodash.assign-4.2.0"
       sources."lodash.assignin-4.2.0"
       sources."lodash.bind-4.2.1"
       sources."lodash.defaults-4.2.0"
       sources."lodash.filter-4.6.0"
       sources."lodash.flatten-4.4.0"
       sources."lodash.foreach-4.5.0"
-      sources."lodash.get-4.4.2"
-      sources."lodash.has-4.5.2"
       sources."lodash.map-4.6.0"
       sources."lodash.merge-4.6.2"
       sources."lodash.pick-4.4.0"
       sources."lodash.reduce-4.6.0"
       sources."lodash.reject-4.6.0"
       sources."lodash.some-4.6.0"
-      sources."lodash.uniq-4.5.0"
       sources."lru-cache-4.1.5"
-      (sources."mailparser-2.7.1" // {
-        dependencies = [
-          sources."nodemailer-6.1.1"
-        ];
-      })
-      sources."mailsplit-4.4.1"
       sources."media-typer-0.3.0"
       (sources."memorystore-1.6.1" // {
         dependencies = [
@@ -62841,34 +64604,34 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.8.1" // {
+      (sources."minipass-2.9.0" // {
         dependencies = [
-          sources."yallist-3.0.3"
+          sources."yallist-3.1.1"
         ];
       })
-      sources."minizlib-1.2.2"
+      sources."minizlib-1.3.3"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
       sources."moment-2.24.0"
-      sources."moment-timezone-0.5.26"
+      sources."moment-timezone-0.5.27"
       (sources."mqtt-2.18.8" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."mqtt-packet-5.6.1"
-      sources."mri-1.1.4"
       sources."ms-2.0.0"
-      sources."multer-1.4.1"
-      sources."mustache-3.0.1"
+      sources."multer-1.4.2"
+      sources."mustache-3.0.2"
       sources."nan-2.13.2"
       (sources."needle-2.4.0" // {
         dependencies = [
@@ -62883,34 +64646,29 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-red-node-email-1.6.3"
-      sources."node-red-node-feedparser-0.1.14"
-      sources."node-red-node-rbe-0.2.5"
-      sources."node-red-node-sentiment-0.1.4"
-      sources."node-red-node-tail-0.0.2"
-      sources."node-red-node-twitter-1.1.5"
-      sources."nodemailer-6.3.0"
+      sources."node-red-node-rbe-0.2.6"
+      sources."node-red-node-tail-0.0.3"
       sources."nopt-4.0.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.4"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
-      sources."oauth-0.9.15"
       sources."oauth-sign-0.9.0"
       sources."oauth2orize-1.11.0"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.7.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      (sources."optimist-0.6.1" // {
-        dependencies = [
-          sources."minimist-0.0.10"
-        ];
-      })
       (sources."ordered-read-streams-1.0.1" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -62927,11 +64685,10 @@ in
       sources."path-to-regexp-0.1.7"
       sources."pause-0.0.1"
       sources."performance-now-2.1.0"
-      sources."poplib-0.1.7"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -62955,17 +64712,16 @@ in
       })
       sources."retry-0.6.1"
       sources."rimraf-2.7.1"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."semver-6.2.0"
+      sources."semver-6.3.0"
       (sources."send-0.17.1" // {
         dependencies = [
           sources."mime-1.6.0"
           sources."ms-2.1.1"
         ];
       })
-      sources."sentiment-2.1.0"
       sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
@@ -62975,30 +64731,28 @@ in
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."streamsearch-0.1.2"
       sources."string-width-1.0.2"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.0"
-        ];
-      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      sources."string_decoder-1.3.0"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."tail-2.0.3"
-      (sources."tar-4.4.11" // {
+      (sources."tar-4.4.13" // {
         dependencies = [
-          sources."yallist-3.0.3"
+          sources."yallist-3.1.1"
         ];
       })
       (sources."through2-2.0.5" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."through2-filter-3.0.0"
-      sources."tlds-1.203.1"
       sources."to-absolute-glob-2.0.2"
       sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
@@ -63008,12 +64762,10 @@ in
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."twitter-ng-0.6.2"
       sources."type-1.2.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uc.micro-1.0.6"
-      sources."uglify-js-3.6.0"
+      sources."uglify-js-3.6.9"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.3"
       sources."ultron-1.1.1"
@@ -63022,36 +64774,43 @@ in
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
-      (sources."utf7-1.0.2" // {
-        dependencies = [
-          sources."semver-5.3.0"
-        ];
-      })
       sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.0.0"
       sources."utils-merge-1.0.1"
       sources."uuid-3.3.3"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       (sources."websocket-stream-5.5.0" // {
         dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
-          sources."ws-3.3.3"
+          (sources."readable-stream-2.3.6" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."string_decoder-1.1.1" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."ws-3.3.3" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
         ];
       })
       sources."when-3.7.8"
       sources."wide-align-1.1.3"
-      sources."wordwrap-0.0.3"
       sources."wrappy-1.0.2"
       sources."ws-6.2.1"
-      sources."xml2js-0.4.19"
-      sources."xmlbuilder-9.0.7"
+      sources."xml2js-0.4.22"
+      sources."xmlbuilder-11.0.1"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "A visual tool for wiring the Internet of Things";
+      description = "Low-code programming for event-driven applications";
       homepage = http://nodered.org/;
       license = "Apache-2.0";
     };
@@ -63077,7 +64836,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -63085,7 +64844,7 @@ in
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
       sources."caseless-0.12.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
@@ -63100,7 +64859,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."findit-2.0.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -63120,12 +64879,12 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -63140,12 +64899,12 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      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.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       sources."mkdirp-0.5.1"
       sources."ncp-0.4.2"
       sources."nijs-0.0.25"
@@ -63185,7 +64944,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -63194,7 +64953,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
@@ -63217,8 +64976,8 @@ in
         ];
       })
       sources."strip-ansi-3.0.1"
-      sources."tar-4.4.11"
-      sources."temp-0.9.0"
+      sources."tar-4.4.13"
+      sources."temp-0.9.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -63237,7 +64996,7 @@ in
       sources."walk-2.3.14"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -63252,340 +65011,115 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "1.19.2";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.2.tgz";
-      sha512 = "hRLYaw5Ihyw9zK7NF+9EUzVyS6Cvgc14yh8CAYr38tPxJa6UrOxwAQ351GwrgoanHCF0FalQFn6w5eoX/LGdJw==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz";
+      sha512 = "GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      (sources."anymatch-2.0.0" // {
-        dependencies = [
-          sources."normalize-path-2.1.1"
-        ];
-      })
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-unique-0.3.2"
-      sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
-      sources."atob-2.1.2"
+      sources."anymatch-3.1.1"
       sources."balanced-match-1.0.0"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      sources."binary-extensions-1.13.1"
+      sources."binary-extensions-2.0.0"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.2" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."cache-base-1.0.1"
+      sources."braces-3.0.2"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.1"
       sources."chalk-2.4.2"
-      sources."chokidar-2.1.8"
+      sources."chokidar-3.3.1"
       sources."ci-info-1.6.0"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."cli-boxes-1.0.0"
-      sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.2"
-      sources."copy-descriptor-0.1.1"
-      sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      (sources."debug-3.2.6" // {
-        dependencies = [
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."decode-uri-component-0.2.0"
+      sources."debug-3.2.6"
       sources."deep-extend-0.6.0"
-      sources."define-property-2.0.2"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."for-in-1.0.2"
-      sources."fragment-cache-0.2.1"
-      sources."fsevents-1.2.9"
+      sources."fill-range-7.0.1"
+      sources."fsevents-2.1.2"
       sources."get-stream-3.0.0"
-      sources."get-value-2.0.6"
-      (sources."glob-parent-3.1.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
+      sources."glob-parent-5.1.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."kind-of-4.0.0"
-        ];
-      })
       sources."ignore-by-default-1.0.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-binary-path-1.0.1"
-      sources."is-buffer-1.1.6"
+      sources."is-binary-path-2.1.0"
       sources."is-ci-1.2.1"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-descriptor-1.0.2"
-      sources."is-extendable-1.0.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."is-number-7.0.0"
       sources."is-obj-1.0.1"
       sources."is-path-inside-1.0.1"
-      sources."is-plain-object-2.0.4"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."make-dir-1.3.0"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."micromatch-3.1.10"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."mixin-deep-1.3.2"
-      sources."ms-2.0.0"
-      sources."nan-2.14.0"
-      sources."nanomatch-1.2.13"
+      sources."ms-2.1.2"
       sources."nopt-1.0.10"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-2.0.2"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."object-visit-1.0.1"
-      sources."object.pick-1.3.0"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
-      sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
+      sources."picomatch-2.1.1"
       sources."pify-3.0.0"
-      sources."posix-character-classes-0.1.1"
       sources."prepend-http-1.0.4"
-      sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
       sources."pstree.remy-1.1.7"
       sources."rc-1.2.8"
-      sources."readable-stream-2.3.6"
-      sources."readdirp-2.2.1"
-      sources."regex-not-1.0.2"
+      sources."readdirp-3.3.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.3"
-      sources."repeat-string-1.6.1"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
+      sources."safe-buffer-5.2.0"
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.2"
-      sources."source-map-url-0.4.0"
-      sources."split-string-3.1.0"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."string-width-2.1.1"
-      sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
       sources."term-size-1.2.0"
       sources."timed-out-4.0.1"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-2.1.1"
+      sources."to-regex-range-5.0.1"
       sources."touch-3.1.0"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
-        ];
-      })
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
+          sources."ms-2.0.0"
         ];
       })
       sources."unique-string-1.0.0"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
       sources."unzip-response-2.0.1"
-      sources."upath-1.2.0"
       sources."update-notifier-2.5.0"
-      sources."urix-0.1.0"
       sources."url-parse-lax-1.0.0"
-      sources."use-3.1.1"
-      sources."util-deprecate-1.0.2"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."write-file-atomic-2.4.3"
@@ -63605,10 +65139,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "6.11.3";
+    version = "6.13.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-6.11.3.tgz";
-      sha512 = "K2h+MPzZiY39Xf6eHEdECe/LKoJXam4UCflz5kIxoskN3LQFeYs5fqBGT5i4TtM/aBk+86Mcf+jgXs/WuWAutQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-6.13.4.tgz";
+      sha512 = "vTcUL4SCg3AzwInWTbqg1OIaOXlzKSS8Mb8kc5avwrJpcvevDA5J9BhYSuei+fNs3pwOp4lzA5x2FVDXACvoXA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -63623,29 +65157,38 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "3.1.23";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.23.tgz";
-      sha512 = "Z2dkMdNgue6OPkQDPcAK62Qrwv+G1PaEmKrDrrSAiSP7pRD3u30xOVy1nLukS1XrJ2/zF8XTVxFe9/ubcvlcPQ==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-4.0.1.tgz";
+      sha512 = "rDrKAqhQuTYq2EkndroPMZGA9N6tpTotOVOIJoxRa3ZKnb/mOcq2TZv4A4LLSM8+9kZlP+sBwE+XAGh8wWZw/w==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."JSONStream-1.3.5"
+      sources."@types/color-name-1.1.1"
       sources."agent-base-4.3.0"
       sources."agentkeepalive-3.5.2"
+      sources."aggregate-error-3.0.1"
       sources."ansi-align-3.0.0"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.2.0"
       sources."aproba-1.2.0"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.5.5"
-      sources."boxen-3.2.0"
+      sources."bluebird-3.7.2"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."brace-expansion-1.1.11"
-      sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
-      sources."cacache-12.0.3"
+      sources."cacache-13.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.1.0"
@@ -63654,30 +65197,30 @@ in
         ];
       })
       sources."camelcase-5.3.1"
-      sources."chalk-2.4.2"
-      sources."chownr-1.1.2"
+      sources."chalk-3.0.0"
+      sources."chownr-1.1.3"
       sources."ci-info-2.0.0"
       sources."cint-8.2.1"
+      sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.0"
       sources."cli-table-0.3.1"
       sources."clone-response-1.0.2"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."colors-1.0.3"
-      sources."commander-3.0.1"
+      sources."commander-4.0.1"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
       sources."configstore-4.0.0"
       sources."copy-concurrently-1.0.5"
       sources."core-util-is-1.0.2"
       (sources."cross-spawn-5.1.0" // {
         dependencies = [
           sources."lru-cache-4.1.5"
+          sources."which-1.3.1"
           sources."yallist-2.1.2"
         ];
       })
       sources."crypto-random-string-1.0.0"
-      sources."cyclist-1.0.1"
       (sources."debug-3.1.0" // {
         dependencies = [
           sources."ms-2.0.0"
@@ -63685,51 +65228,48 @@ in
       })
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
-      sources."duplexify-3.7.1"
       sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."err-code-1.1.2"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
-      (sources."execa-0.7.0" // {
-        dependencies = [
-          sources."get-stream-3.0.0"
-        ];
-      })
+      sources."execa-0.7.0"
       sources."fast-diff-1.2.0"
       sources."figgy-pudding-3.5.1"
       sources."find-up-4.1.0"
-      sources."flush-write-stream-1.1.1"
-      sources."from2-2.3.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."genfun-5.0.0"
       sources."get-stdin-7.0.0"
-      sources."get-stream-4.1.0"
-      sources."glob-7.1.4"
+      sources."get-stream-3.0.0"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.2"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."graceful-fs-4.2.3"
       sources."has-ansi-2.0.0"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-3.0.2"
       sources."http-cache-semantics-3.8.1"
       sources."http-proxy-agent-2.1.0"
-      sources."https-proxy-agent-2.2.2"
+      sources."https-proxy-agent-3.0.1"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."iferr-0.1.5"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -63748,9 +65288,9 @@ in
       sources."jju-1.4.0"
       sources."js-yaml-3.13.1"
       sources."json-buffer-3.0.0"
-      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.0.1"
       sources."json-parse-helpfulerror-1.0.3"
-      (sources."json5-2.1.0" // {
+      (sources."json5-2.1.1" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -63772,13 +65312,26 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-5.1.1"
       sources."make-dir-1.3.0"
-      sources."make-fetch-happen-5.0.0"
+      sources."make-fetch-happen-6.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
-      sources."mississippi-3.0.0"
+      (sources."minipass-3.1.1" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      sources."minipass-collect-1.0.2"
+      sources."minipass-fetch-1.2.1"
+      sources."minipass-flush-1.0.5"
+      sources."minipass-json-stream-1.0.1"
+      sources."minipass-pipeline-1.2.2"
+      sources."minipass-sized-1.0.3"
+      (sources."minizlib-2.1.0" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."mkdirp-0.5.1"
       sources."move-concurrently-1.0.1"
       sources."ms-2.1.2"
@@ -63790,29 +65343,26 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."node-fetch-npm-2.0.2"
-      (sources."normalize-package-data-2.5.0" // {
+      sources."normalize-url-4.5.0"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      (sources."npm-package-arg-7.0.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."normalize-url-4.4.1"
-      sources."npm-bundled-1.0.6"
-      (sources."npm-package-arg-6.1.1" // {
+      sources."npm-packlist-1.4.7"
+      (sources."npm-pick-manifest-4.0.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.4"
-      (sources."npm-pick-manifest-3.0.2" // {
+      (sources."npm-registry-fetch-5.0.1" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."safe-buffer-5.2.0"
         ];
       })
-      sources."npm-registry-fetch-4.0.1"
       sources."npm-run-path-2.0.2"
-      sources."object-assign-4.1.1"
-      sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
@@ -63821,14 +65371,10 @@ in
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
       sources."p-locate-4.1.0"
+      sources."p-map-3.0.0"
       sources."p-try-2.2.0"
       sources."package-json-6.5.0"
-      (sources."pacote-9.5.8" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."parallel-transform-1.2.0"
+      sources."pacote-10.2.1"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -63840,45 +65386,31 @@ in
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-1.1.1"
-      sources."prompts-2.2.1"
-      sources."protoduck-5.0.1"
+      sources."prompts-2.3.0"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      (sources."rc-config-loader-2.0.4" // {
+      (sources."rc-config-loader-3.0.0" // {
         dependencies = [
           sources."debug-4.1.1"
-          sources."path-exists-3.0.0"
-        ];
-      })
-      (sources."readable-stream-2.3.6" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
         ];
       })
+      sources."read-package-json-fast-1.1.1"
+      sources."readable-stream-2.3.6"
       sources."registry-auth-token-4.0.0"
       sources."registry-url-5.1.0"
       sources."require-from-string-2.0.2"
-      (sources."requireg-0.2.2" // {
-        dependencies = [
-          sources."resolve-1.7.1"
-        ];
-      })
-      sources."resolve-1.12.0"
+      sources."requireg-0.2.2"
+      sources."resolve-1.7.1"
       sources."responselike-1.0.2"
       sources."retry-0.10.1"
       sources."rimraf-2.7.1"
       sources."run-queue-1.0.3"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
       (sources."semver-diff-2.1.0" // {
@@ -63890,54 +65422,53 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."sisteransi-1.0.3"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."sisteransi-1.0.4"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
         ];
       })
       sources."spawn-please-0.3.0"
-      sources."spdx-correct-3.1.0"
-      sources."spdx-exceptions-2.2.0"
-      sources."spdx-expression-parse-3.0.0"
-      sources."spdx-license-ids-3.0.5"
       sources."sprintf-js-1.0.3"
-      sources."ssri-6.0.1"
-      sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
+      sources."ssri-7.1.0"
       (sources."string-width-3.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
-      (sources."string_decoder-1.1.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.5.0"
-      sources."tar-4.4.11"
+      sources."supports-color-7.1.0"
+      (sources."tar-5.0.5" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."term-size-1.2.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.5"
       sources."to-readable-stream-1.0.0"
       sources."type-fest-0.3.1"
-      sources."typedarray-0.0.6"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-1.0.0"
-      sources."update-notifier-3.0.1"
+      (sources."update-notifier-3.0.1" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       (sources."widest-line-2.0.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -63948,9 +65479,7 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.0"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -63982,7 +65511,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."block-stream-0.0.9"
@@ -64008,7 +65537,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."findit-1.2.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -64028,7 +65557,7 @@ in
       })
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."graceful-fs-2.0.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -64047,8 +65576,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.3.5"
@@ -64077,7 +65606,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -64184,158 +65713,114 @@ in
   parcel-bundler = nodeEnv.buildNodePackage {
     name = "parcel-bundler";
     packageName = "parcel-bundler";
-    version = "1.12.3";
+    version = "1.12.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.3.tgz";
-      sha512 = "8bq6lj0hhQeGxD9f9xEkFMXQ3d8TIlf2+isKxoi9bciB0KVEILRGllaPkUgp++5t0anToBh9+tG6ZyInXOC1/A==";
+      url = "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz";
+      sha512 = "G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.0.0"
-      (sources."@babel/core-7.3.4" // {
-        dependencies = [
-          sources."json5-2.1.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/generator-7.3.4" // {
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
+          sources."json5-2.1.1"
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-builder-react-jsx-7.3.0"
-      (sources."@babel/helper-call-delegate-7.4.4" // {
+      (sources."@babel/generator-7.7.7" // {
         dependencies = [
-          sources."@babel/code-frame-7.5.5"
-          sources."@babel/generator-7.6.0"
-          sources."@babel/parser-7.6.0"
-          sources."@babel/traverse-7.6.0"
-          sources."@babel/types-7.6.1"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/helper-define-map-7.5.5" // {
-        dependencies = [
-          sources."@babel/types-7.6.1"
-        ];
-      })
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      (sources."@babel/helper-hoist-variables-7.4.4" // {
-        dependencies = [
-          sources."@babel/types-7.6.1"
-        ];
-      })
-      (sources."@babel/helper-member-expression-to-functions-7.5.5" // {
-        dependencies = [
-          sources."@babel/types-7.6.1"
-        ];
-      })
-      sources."@babel/helper-module-imports-7.0.0"
-      (sources."@babel/helper-module-transforms-7.5.5" // {
-        dependencies = [
-          sources."@babel/parser-7.6.0"
-          sources."@babel/template-7.6.0"
-          sources."@babel/types-7.6.1"
-        ];
-      })
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-builder-react-jsx-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      (sources."@babel/helper-replace-supers-7.5.5" // {
-        dependencies = [
-          sources."@babel/code-frame-7.5.5"
-          sources."@babel/generator-7.6.0"
-          sources."@babel/parser-7.6.0"
-          sources."@babel/traverse-7.6.0"
-          sources."@babel/types-7.6.1"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@babel/helper-simple-access-7.1.0"
-      (sources."@babel/helper-split-export-declaration-7.4.4" // {
-        dependencies = [
-          sources."@babel/types-7.6.1"
-        ];
-      })
-      sources."@babel/helper-wrap-function-7.2.0"
-      (sources."@babel/helpers-7.6.0" // {
-        dependencies = [
-          sources."@babel/code-frame-7.5.5"
-          sources."@babel/generator-7.6.0"
-          sources."@babel/parser-7.6.0"
-          sources."@babel/template-7.6.0"
-          sources."@babel/traverse-7.6.0"
-          sources."@babel/types-7.6.1"
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.3.4"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.5.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.4.4"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-flow-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-jsx-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.0"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.4.4"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-flow-strip-types-7.3.4"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.2.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.0"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-react-jsx-7.3.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.2.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.4.4"
-      sources."@babel/preset-env-7.3.4"
-      sources."@babel/runtime-7.3.4"
-      sources."@babel/template-7.2.2"
-      sources."@babel/traverse-7.3.4"
-      sources."@babel/types-7.3.4"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-flow-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-jsx-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-flow-strip-types-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-react-jsx-7.7.7"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
+      sources."@babel/runtime-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@iarna/toml-2.2.3"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
-      sources."@parcel/logger-1.11.0"
+      sources."@parcel/logger-1.11.1"
       sources."@parcel/utils-1.11.0"
-      sources."@parcel/watcher-1.12.0"
+      sources."@parcel/watcher-1.12.1"
       sources."@parcel/workers-1.11.0"
       sources."@types/q-1.5.2"
-      sources."abab-2.0.1"
-      sources."abbrev-1.1.1"
+      sources."abab-2.0.3"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
@@ -64343,7 +65828,7 @@ in
       sources."alphanum-sort-1.0.2"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."ansi-to-html-0.6.11"
+      sources."ansi-to-html-0.6.13"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -64370,7 +65855,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-plugin-dynamic-import-node-2.3.0"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
@@ -64392,7 +65877,7 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
-      sources."bindings-1.2.1"
+      sources."bindings-1.5.0"
       sources."bn.js-4.11.8"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
@@ -64410,8 +65895,8 @@ in
           sources."pako-1.0.10"
         ];
       })
-      sources."browserslist-4.7.0"
-      (sources."buffer-4.9.1" // {
+      sources."browserslist-4.8.2"
+      (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
         ];
@@ -64425,8 +65910,9 @@ in
       sources."caller-callsite-2.0.0"
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
+      sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30000989"
+      sources."caniuse-lite-1.0.30001016"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -64434,8 +65920,13 @@ in
       sources."class-utils-0.3.6"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.3.1"
+      (sources."cliui-5.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."clone-2.1.2"
-      sources."clones-1.2.0"
       sources."coa-2.0.2"
       sources."collection-visit-1.0.0"
       sources."color-3.1.2"
@@ -64444,16 +65935,20 @@ in
       sources."color-string-1.5.3"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."config-chain-1.1.12"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.1" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."cosmiconfig-5.2.1"
       sources."create-ecdh-4.0.3"
@@ -64479,7 +65974,7 @@ in
           sources."supports-color-3.2.3"
         ];
       })
-      sources."css-select-2.0.2"
+      sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
       (sources."css-selector-tokenizer-0.7.1" // {
         dependencies = [
@@ -64489,13 +65984,9 @@ in
           sources."regjsparser-0.1.5"
         ];
       })
-      (sources."css-tree-1.0.0-alpha.33" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."css-tree-1.0.0-alpha.37"
       sources."css-unit-converter-1.1.1"
-      sources."css-what-2.1.3"
+      sources."css-what-3.2.1"
       sources."cssesc-0.1.0"
       sources."cssnano-4.1.10"
       sources."cssnano-preset-default-4.0.7"
@@ -64503,20 +65994,14 @@ in
       sources."cssnano-util-get-match-4.0.0"
       sources."cssnano-util-raw-cache-4.0.1"
       sources."cssnano-util-same-parent-4.0.1"
-      (sources."csso-3.5.1" // {
-        dependencies = [
-          sources."css-tree-1.0.0-alpha.29"
-          sources."mdn-data-1.1.4"
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."csso-4.0.2"
       sources."cssom-0.3.8"
       sources."cssstyle-1.4.0"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."date-now-0.1.4"
-      sources."deasync-0.1.15"
+      sources."deasync-0.1.19"
       sources."debug-4.1.1"
+      sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.3"
       (sources."defaults-1.0.3" // {
@@ -64543,10 +66028,10 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."destroy-1.0.4"
       sources."diffie-hellman-5.0.3"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -64559,22 +66044,23 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-4.2.0"
       sources."dotenv-5.0.1"
-      sources."dotenv-expand-4.2.0"
+      sources."dotenv-expand-5.1.0"
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      sources."editorconfig-0.15.3"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.264"
-      sources."elliptic-6.5.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
+      sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
+      sources."envinfo-7.5.0"
       sources."error-ex-1.3.2"
-      (sources."es-abstract-1.14.2" // {
+      (sources."es-abstract-1.17.0" // {
         dependencies = [
-          sources."object-inspect-1.6.0"
+          sources."object-inspect-1.7.0"
         ];
       })
-      sources."es-to-primitive-1.2.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.9.1"
@@ -64601,11 +66087,13 @@ in
       sources."falafel-2.1.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastparse-1.1.2"
+      sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-4.0.0"
+      sources."find-up-3.0.0"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
@@ -64613,12 +66101,13 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
       sources."get-port-3.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -64626,7 +66115,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -64637,7 +66126,7 @@ in
         ];
       })
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -64653,9 +66142,10 @@ in
       sources."html-comment-regex-1.1.2"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-tags-1.2.0"
-      (sources."htmlnano-0.2.4" // {
+      (sources."htmlnano-0.2.5" // {
         dependencies = [
-          sources."terser-4.3.1"
+          sources."posthtml-0.12.0"
+          sources."terser-4.4.3"
         ];
       })
       (sources."htmlparser2-3.10.1" // {
@@ -64673,7 +66163,6 @@ in
       sources."indexes-of-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.5"
       sources."invariant-2.2.4"
       sources."is-absolute-url-2.1.0"
       (sources."is-accessor-descriptor-1.0.0" // {
@@ -64684,14 +66173,14 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-color-stop-1.1.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -64700,15 +66189,16 @@ in
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-html-1.1.0"
       sources."is-number-3.0.0"
       sources."is-obj-1.0.1"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-resolvable-1.1.0"
       sources."is-svg-3.0.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
       sources."is-windows-1.0.2"
@@ -64717,7 +66207,6 @@ in
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
-      sources."js-beautify-1.10.2"
       sources."js-levenshtein-1.1.6"
       sources."js-tokens-4.0.0"
       (sources."js-yaml-3.13.1" // {
@@ -64728,7 +66217,7 @@ in
       sources."jsbn-0.1.1"
       (sources."jsdom-14.1.0" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
           sources."escodegen-1.12.0"
           sources."ws-6.2.1"
         ];
@@ -64742,6 +66231,7 @@ in
       sources."jsprim-1.4.1"
       sources."kind-of-3.2.2"
       sources."levn-0.3.0"
+      sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
       sources."lodash.clone-4.5.0"
       sources."lodash.memoize-4.1.2"
@@ -64749,7 +66239,6 @@ in
       sources."lodash.uniq-4.5.0"
       sources."log-symbols-2.2.0"
       sources."loose-envify-1.4.0"
-      sources."lru-cache-4.1.5"
       sources."magic-string-0.22.5"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
@@ -64771,8 +66260,8 @@ in
       })
       sources."miller-rabin-4.0.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
@@ -64806,13 +66295,16 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.32"
-      sources."nopt-4.0.1"
+      (sources."node-releases-1.1.44" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       sources."normalize-html-whitespace-1.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-copy-0.1.0"
@@ -64820,19 +66312,19 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
-      sources."object.values-1.1.0"
+      sources."object.values-1.1.1"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.5.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."ora-2.1.0"
       sources."os-browserify-0.3.0"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.5"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
       sources."pako-0.2.9"
       sources."parse-asn1-5.1.5"
       sources."parse-json-4.0.0"
@@ -64841,6 +66333,7 @@ in
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
+      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
@@ -64849,7 +66342,7 @@ in
       sources."physical-cpu-count-2.0.0"
       sources."pn-1.1.0"
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.18" // {
+      (sources."postcss-7.0.25" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
@@ -64916,17 +66409,21 @@ in
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-3.3.1"
       sources."posthtml-0.11.6"
-      sources."posthtml-parser-0.4.1"
+      sources."posthtml-parser-0.4.2"
       sources."posthtml-render-1.1.5"
       sources."prelude-ls-1.1.2"
       sources."private-0.1.8"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."proto-list-1.2.4"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."public-encrypt-4.0.3"
       sources."punycode-2.1.1"
+      (sources."purgecss-1.4.2" // {
+        dependencies = [
+          sources."cssesc-3.0.0"
+          sources."postcss-selector-parser-6.0.2"
+        ];
+      })
       sources."q-1.5.1"
       sources."qs-6.5.2"
       sources."querystring-0.2.0"
@@ -64943,7 +66440,7 @@ in
       sources."readdirp-2.2.1"
       sources."regenerate-1.4.0"
       sources."regenerate-unicode-properties-8.1.0"
-      sources."regenerator-runtime-0.12.1"
+      sources."regenerator-runtime-0.13.3"
       sources."regenerator-transform-0.14.1"
       (sources."regex-not-1.0.2" // {
         dependencies = [
@@ -64951,10 +66448,9 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."regexp-tree-0.1.13"
       sources."regexpu-core-4.6.0"
-      sources."regjsgen-0.5.0"
-      (sources."regjsparser-0.6.0" // {
+      sources."regjsgen-0.5.1"
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -64968,9 +66464,11 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."resolve-1.12.0"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -64982,7 +66480,6 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      sources."safer-eval-1.3.5"
       sources."sax-1.2.4"
       sources."saxes-3.1.11"
       sources."semver-5.7.1"
@@ -64996,8 +66493,9 @@ in
           sources."ms-2.1.1"
         ];
       })
-      sources."serialize-to-js-1.2.2"
+      sources."serialize-to-js-3.0.2"
       sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
       sources."set-value-2.0.1"
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
@@ -65005,7 +66503,6 @@ in
       sources."shallow-copy-0.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."sigmund-1.0.1"
       sources."signal-exit-3.0.2"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
@@ -65027,7 +66524,7 @@ in
       sources."snapdragon-util-3.0.1"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
       (sources."split-string-3.1.0" // {
         dependencies = [
@@ -65038,15 +66535,25 @@ in
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."stable-0.1.8"
-      sources."static-eval-2.0.2"
+      (sources."static-eval-2.0.3" // {
+        dependencies = [
+          sources."escodegen-1.12.0"
+        ];
+      })
       sources."static-extend-0.1.2"
       sources."static-module-2.2.5"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      (sources."string-width-3.1.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       (sources."stylehacks-4.0.3" // {
@@ -65055,13 +66562,13 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      sources."svgo-1.3.0"
+      sources."svgo-1.3.2"
       sources."symbol-tree-3.2.4"
       sources."terser-3.17.0"
       sources."through2-2.0.5"
       sources."timers-browserify-2.0.11"
       sources."timsort-0.3.0"
-      sources."tiny-inflate-1.0.2"
+      sources."tiny-inflate-1.0.3"
       sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
       sources."to-object-path-0.3.0"
@@ -65076,7 +66583,6 @@ in
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
-      sources."trim-right-1.0.1"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -65085,7 +66591,7 @@ in
       (sources."uncss-0.17.2" // {
         dependencies = [
           sources."cssesc-3.0.0"
-          sources."is-absolute-url-3.0.2"
+          sources."is-absolute-url-3.0.3"
           sources."postcss-selector-parser-6.0.2"
         ];
       })
@@ -65130,22 +66636,31 @@ in
       sources."vendors-1.0.3"
       sources."verror-1.10.0"
       sources."vlq-0.2.3"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."w3c-hr-time-1.0.1"
       sources."w3c-xmlserializer-1.1.2"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-7.0.0"
+      sources."whatwg-url-7.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."which-module-2.0.0"
+      sources."word-wrap-1.2.3"
+      (sources."wrap-ansi-5.1.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."xtend-4.0.2"
-      sources."yallist-2.1.2"
+      sources."y18n-4.0.0"
+      sources."yargs-14.2.2"
+      sources."yargs-parser-15.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -65182,7 +66697,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bencode-2.0.1"
-      sources."big-integer-1.6.45"
+      sources."big-integer-1.6.48"
       sources."bitfield-0.1.0"
       (sources."bittorrent-dht-6.4.2" // {
         dependencies = [
@@ -65212,7 +66727,7 @@ in
       sources."camelcase-keys-2.1.0"
       sources."chalk-1.1.3"
       sources."chardet-0.4.2"
-      sources."chrome-dgram-3.0.3"
+      sources."chrome-dgram-3.0.4"
       sources."chrome-dns-1.0.1"
       sources."chrome-net-3.3.3"
       sources."cli-cursor-2.1.0"
@@ -65232,14 +66747,16 @@ in
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."define-properties-1.1.3"
       sources."dns-equal-1.0.0"
       sources."dns-packet-1.3.1"
       sources."dns-txt-2.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."external-editor-2.2.0"
       sources."fifo-0.1.4"
@@ -65256,13 +66773,14 @@ in
       sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.1"
       sources."hat-0.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-headers-3.0.2"
       sources."iconv-lite-0.4.24"
       sources."immediate-chunk-store-1.0.8"
@@ -65288,11 +66806,13 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arguments-1.0.4"
       sources."is-arrayish-0.2.1"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-finite-1.0.2"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."k-bucket-0.6.0"
@@ -65326,8 +66846,10 @@ in
       sources."number-is-nan-1.0.1"
       sources."numeral-2.0.6"
       sources."object-assign-4.1.1"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-0.0.5"
@@ -65384,9 +66906,9 @@ in
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.7.1"
@@ -65418,6 +66940,8 @@ in
       sources."speedometer-0.1.4"
       sources."stream-buffers-2.2.0"
       sources."string-width-1.0.2"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string2compact-1.3.0"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -65428,11 +66952,11 @@ in
       sources."symbol-observable-1.0.1"
       sources."thirty-two-1.0.2"
       sources."through-2.3.8"
-      sources."thunky-1.0.3"
+      sources."thunky-1.1.0"
       sources."tmp-0.0.33"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.2"
-      (sources."torrent-stream-1.1.0" // {
+      (sources."torrent-stream-1.2.0" // {
         dependencies = [
           sources."end-of-stream-0.1.5"
           sources."magnet-uri-4.2.3"
@@ -65457,7 +66981,7 @@ in
         ];
       })
       sources."xmlbuilder-4.0.0"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -65473,10 +66997,10 @@ in
   peerflix-server = nodeEnv.buildNodePackage {
     name = "peerflix-server";
     packageName = "peerflix-server";
-    version = "0.5.0";
+    version = "0.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.5.0.tgz";
-      sha512 = "TmtYwbayKLfzTj4rMIQ5nfGcXqkp8VwsCXkfZz95JdJcfk0+HYhflLDwviq+qOUxgKMYpoggqb129c3KST7zmQ==";
+      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.5.1.tgz";
+      sha512 = "sXl2KCt8LCUrL6ezEPD4W5D5b+I0/VVOYlfI0K3GfdVUXkNHcb0q7cogPNjAXmoSMhvb57x2nhZN1xwxgGjzuw==";
     };
     dependencies = [
       sources."accepts-1.3.7"
@@ -65497,7 +67021,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -65534,7 +67058,7 @@ in
       sources."bytes-3.1.0"
       sources."callsite-1.0.0"
       sources."caseless-0.12.0"
-      sources."chrome-dgram-3.0.3"
+      sources."chrome-dgram-3.0.4"
       sources."chrome-dns-1.0.1"
       sources."chrome-net-3.3.3"
       sources."combined-stream-1.0.8"
@@ -65570,7 +67094,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       (sources."engine.io-3.4.0" // {
         dependencies = [
           sources."cookie-0.3.1"
@@ -65592,7 +67116,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."fifo-0.1.4"
       sources."finalhandler-1.1.2"
@@ -65607,8 +67131,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-browser-rtc-1.0.2"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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-binary2-1.0.3" // {
@@ -65670,8 +67194,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -65711,7 +67235,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -65764,7 +67288,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -65792,12 +67316,12 @@ in
       sources."string_decoder-1.1.1"
       sources."tar-stream-2.1.0"
       sources."thirty-two-0.0.2"
-      sources."thunky-1.0.3"
+      sources."thunky-1.1.0"
       sources."to-array-0.1.4"
       sources."toidentifier-1.0.0"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.2"
-      (sources."torrent-stream-1.1.0" // {
+      (sources."torrent-stream-1.2.0" // {
         dependencies = [
           sources."end-of-stream-0.1.5"
           sources."mkdirp-0.3.5"
@@ -65825,7 +67349,7 @@ in
       sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."ws-7.1.2"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."yeast-0.1.2"
@@ -65844,10 +67368,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "3.8.1";
+    version = "4.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.8.1.tgz";
-      sha512 = "uINy/U+TNvUHInG1l0/NrgDosUtafn9BrHjP5+v+ojpw+zb/lgXjkQmMHB4461LKezlNoBb7+0JOrNnm5JhZFg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-4.6.0.tgz";
+      sha512 = "KTRmtPFUrRfSp3pC7nvg6+MD7KmLZFsnUVNmRgO/zOO/AUsTDIZsbwOqdxZULld7RUfZZmHbSHCGvudIX8Ix8w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -65862,10 +67386,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.18.2";
+    version = "1.19.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
-      sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+      sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -65877,6 +67401,43 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  pscid = nodeEnv.buildNodePackage {
+    name = "pscid";
+    packageName = "pscid";
+    version = "2.8.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pscid/-/pscid-2.8.5.tgz";
+      sha512 = "I+Obl5HqXpXeGEn7BMhzZN57h48laWh0HX3D84UsABiKqYuhuc+kn8S65idvjcWKiHz1MomXz+ovE+wzV4QMxw==";
+    };
+    dependencies = [
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."concat-map-0.0.1"
+      sources."fs.realpath-1.0.0"
+      sources."gaze-1.1.3"
+      sources."glob-7.1.6"
+      sources."globule-1.3.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."isexe-2.0.0"
+      sources."keypress-0.2.1"
+      sources."lodash-4.17.15"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A lightweight editor experience for PureScript development";
+      homepage = "https://github.com/kritzcreek/pscid#readme";
+      license = "LGPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
@@ -65887,7 +67448,7 @@ in
     };
     dependencies = [
       sources."JSONStream-1.3.5"
-      sources."acorn-7.0.0"
+      sources."acorn-7.1.0"
       sources."acorn-node-1.8.2"
       sources."acorn-walk-7.0.0"
       sources."asn1.js-4.10.1"
@@ -65942,7 +67503,7 @@ in
           sources."readable-stream-3.4.0"
         ];
       })
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
@@ -65951,10 +67512,9 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."dash-ast-1.0.0"
-      sources."date-now-0.1.4"
       sources."defined-1.0.0"
-      sources."deps-sort-2.0.0"
-      sources."des.js-1.0.0"
+      sources."deps-sort-2.0.1"
+      sources."des.js-1.0.1"
       (sources."detective-5.2.0" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -65963,17 +67523,18 @@ in
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."es6-promise-3.3.1"
       sources."events-2.1.0"
       sources."evp_bytestokey-1.0.3"
+      sources."fast-safe-stringify-2.0.7"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gaze-1.1.3"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.4"
-      sources."globule-1.2.1"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."globule-1.3.0"
+      sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.7"
@@ -66006,7 +67567,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      (sources."module-deps-6.2.1" // {
+      (sources."module-deps-6.2.2" // {
         dependencies = [
           sources."concat-stream-1.6.2"
         ];
@@ -66050,13 +67611,14 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.0"
       sources."sander-0.5.1"
       sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
+      sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
       sources."simple-concat-1.0.0"
       (sources."sorcery-0.10.0" // {
@@ -66081,7 +67643,7 @@ in
         ];
       })
       sources."syntax-error-1.4.0"
-      (sources."temp-0.9.0" // {
+      (sources."temp-0.9.1" // {
         dependencies = [
           sources."rimraf-2.6.3"
         ];
@@ -66089,7 +67651,7 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."timers-browserify-1.4.2"
-      sources."tree-kill-1.2.1"
+      sources."tree-kill-1.2.2"
       sources."tty-browserify-0.0.1"
       sources."typedarray-0.0.6"
       sources."umd-3.0.3"
@@ -66105,7 +67667,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."which-1.3.1"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
@@ -66121,6 +67683,24 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  purescript-psa = nodeEnv.buildNodePackage {
+    name = "purescript-psa";
+    packageName = "purescript-psa";
+    version = "0.7.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/purescript-psa/-/purescript-psa-0.7.3.tgz";
+      sha512 = "qcnhruybTHVunhJqAuurOEWnz1BOOc/7mpcnyH5yxm5caYCejxq8GOE4ZNWbiPMeTlcG79qUPIOz7gx5OVmk2Q==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Error/Warning reporting frontend for psc";
+      homepage = "https://github.com/natefaubion/purescript-psa#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   react-native-cli = nodeEnv.buildNodePackage {
     name = "react-native-cli";
     packageName = "react-native-cli";
@@ -66139,21 +67719,36 @@ in
       sources."colors-0.6.2"
       sources."concat-map-0.0.1"
       sources."cycle-1.0.3"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-2.0.1"
       sources."define-properties-1.1.3"
+      sources."es-abstract-1.17.0"
+      sources."es-get-iterator-1.0.2"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
+      sources."has-symbols-1.0.1"
       sources."i-0.3.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-arguments-1.0.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
+      sources."is-bigint-1.0.0"
+      sources."is-boolean-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-map-2.0.1"
+      sources."is-number-object-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-set-2.0.1"
+      sources."is-string-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."is-weakmap-2.0.1"
+      sources."is-weakset-2.0.1"
+      sources."isarray-2.0.5"
       sources."isstream-0.1.2"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -66164,21 +67759,28 @@ in
       })
       sources."mute-stream-0.0.8"
       sources."ncp-0.4.2"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."pkginfo-0.4.1"
       sources."prompt-0.2.14"
       sources."read-1.0.7"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.7.1"
       sources."semver-5.7.1"
+      sources."side-channel-1.0.2"
       sources."stack-trace-0.0.10"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."utile-0.2.1"
+      sources."which-boxed-primitive-1.0.1"
+      sources."which-collection-1.0.0"
       (sources."winston-0.8.3" // {
         dependencies = [
           sources."pkginfo-0.3.1"
@@ -66211,7 +67813,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base62-0.1.1"
       sources."brace-expansion-1.1.11"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."commoner-0.10.8"
       sources."concat-map-0.0.1"
       sources."defined-1.0.0"
@@ -66219,7 +67821,7 @@ in
       sources."esprima-3.1.3"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -66283,7 +67885,7 @@ in
       sources."asynckit-0.4.0"
       sources."aws-sdk-1.18.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-crc32-0.2.1"
       sources."bytes-0.2.1"
@@ -66326,7 +67928,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."formidable-1.0.11"
@@ -66348,8 +67950,8 @@ in
       sources."keypress-0.1.0"
       sources."methods-0.1.0"
       sources."mime-1.2.11"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mkdirp-0.3.5"
       sources."ms-2.1.2"
       sources."multiparty-2.2.0"
@@ -66367,7 +67969,7 @@ in
       })
       sources."pause-0.0.1"
       sources."performance-now-2.1.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-0.6.5"
       sources."range-parser-0.0.4"
@@ -66407,10 +68009,10 @@ in
   semver = nodeEnv.buildNodePackage {
     name = "semver";
     packageName = "semver";
-    version = "6.3.0";
+    version = "7.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-      sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      url = "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz";
+      sha512 = "WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -66425,10 +68027,10 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "11.1.0";
+    version = "11.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-11.1.0.tgz";
-      sha512 = "+4wpDtOSS+4ZLyDWMxThutA3iOTawX2+yDovOI8cjOUOmemyvNlHyFAsezBlSgbZKTYChI3tzA1Mh0z6XZ62qA==";
+      url = "https://registry.npmjs.org/serve/-/serve-11.2.0.tgz";
+      sha512 = "THZcLzDGk3vJqjhAbLkLag43tiE3V0B7wVe98Xtl+1KyAsr+4iShg+9hke4pLZmrCJu0pUg0TrbhJmdqn/MKoA==";
     };
     dependencies = [
       sources."@zeit/schemas-2.6.0"
@@ -66463,7 +68065,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       (sources."fast-url-parser-1.1.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -66477,8 +68079,8 @@ in
       sources."isexe-2.0.0"
       sources."json-schema-traverse-0.4.1"
       sources."lru-cache-4.1.5"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
@@ -66496,7 +68098,7 @@ in
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."safe-buffer-5.1.2"
-      (sources."serve-handler-6.1.0" // {
+      (sources."serve-handler-6.1.2" // {
         dependencies = [
           sources."mime-db-1.33.0"
           sources."mime-types-2.1.18"
@@ -66531,25 +68133,26 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "1.52.2";
+    version = "1.60.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-1.52.2.tgz";
-      sha512 = "JLRh52heei1kiTg/mdXdVeJXlB26nXI6uK3/jQvG2a16WwrXD+h033azkD9qqk7WgISLgDKPJbvlnsCAXLcX5Q==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-1.60.4.tgz";
+      sha512 = "9KXWxm956hSpWJSA7ILqRhMNCHyR6q/o4ug6euXGO4zSbev3JlFxHG9EAr6/m7KVJQpw5yODmNOXlbEK4mkeRg==";
     };
     dependencies = [
-      sources."@serverless/cli-1.2.3"
+      sources."2-thenable-1.0.0"
+      sources."@serverless/cli-1.4.0"
       (sources."@serverless/component-metrics-1.0.8" // {
         dependencies = [
           sources."node-fetch-2.6.0"
         ];
       })
-      (sources."@serverless/core-1.0.0" // {
+      (sources."@serverless/core-1.1.2" // {
         dependencies = [
           sources."fs-extra-7.0.1"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@serverless/enterprise-plugin-3.0.0" // {
+      (sources."@serverless/enterprise-plugin-3.2.6" // {
         dependencies = [
           sources."fs-extra-7.0.1"
           sources."node-fetch-2.6.0"
@@ -66557,24 +68160,22 @@ in
         ];
       })
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-sdk-2.1.1" // {
+      (sources."@serverless/platform-sdk-2.2.1" // {
         dependencies = [
           sources."ramda-0.25.0"
           sources."uuid-3.3.3"
         ];
       })
-      sources."@serverless/template-1.1.0"
+      sources."@serverless/template-1.1.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/lodash-4.14.138"
-      sources."accepts-1.3.7"
+      sources."@types/lodash-4.14.149"
       sources."agent-base-4.3.0"
-      sources."ansi-0.3.1"
-      sources."ansi-align-2.0.0"
-      sources."ansi-escapes-4.2.1"
+      sources."ansi-align-3.0.0"
+      sources."ansi-escapes-4.3.0"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.0"
+      sources."anymatch-3.1.1"
       (sources."archiver-1.3.0" // {
         dependencies = [
           sources."async-2.6.3"
@@ -66585,19 +68186,18 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."are-we-there-yet-1.1.5"
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-union-3.1.0"
-      sources."array-flatten-1.1.1"
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
       sources."async-1.5.2"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.533.0" // {
+      (sources."aws-sdk-2.596.0" // {
         dependencies = [
           sources."buffer-4.9.1"
           sources."uuid-3.3.2"
@@ -66612,9 +68212,12 @@ in
       sources."base64-js-1.3.1"
       sources."binary-extensions-2.0.0"
       sources."bl-1.2.2"
-      sources."bluebird-3.5.5"
-      sources."body-parser-1.19.0"
-      sources."boxen-1.3.0"
+      sources."bluebird-3.7.2"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."type-fest-0.3.1"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-5.4.3"
@@ -66624,7 +68227,6 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       sources."builtin-modules-3.1.0"
-      sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -66632,13 +68234,13 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."cachedir-2.2.0"
-      sources."camelcase-4.1.0"
+      sources."cachedir-2.3.0"
+      sources."camelcase-5.3.1"
       sources."capture-stack-trace-1.0.1"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."chokidar-3.1.1"
+      sources."chokidar-3.3.1"
       sources."ci-info-1.6.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -66658,11 +68260,10 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."cli-boxes-1.0.0"
+      sources."cli-boxes-2.2.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
       sources."clone-response-1.0.2"
-      sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -66676,17 +68277,9 @@ in
         ];
       })
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
+      sources."cookie-0.3.1"
       sources."cookiejar-2.1.2"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
@@ -66695,8 +68288,13 @@ in
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      sources."d-1.0.1"
-      sources."debug-2.6.9"
+      (sources."d-1.0.1" // {
+        dependencies = [
+          sources."type-1.2.0"
+        ];
+      })
+      sources."dayjs-1.8.18"
+      sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
       sources."decompress-4.2.0"
       sources."decompress-response-3.3.0"
@@ -66714,15 +68312,12 @@ in
         ];
       })
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."deferred-0.7.11"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
       sources."dot-prop-4.2.0"
-      sources."dotenv-8.1.0"
+      sources."dotenv-8.2.0"
       (sources."download-5.0.3" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -66732,11 +68327,10 @@ in
         ];
       })
       sources."duplexer3-0.1.4"
-      sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.2"
+      sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
-      sources."es5-ext-0.10.51"
+      sources."end-of-stream-1.4.4"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
@@ -66745,13 +68339,12 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
-      sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esniff-1.1.0"
       sources."esprima-4.0.1"
-      sources."etag-1.8.1"
+      sources."essentials-1.1.1"
       sources."event-emitter-0.3.5"
       sources."events-1.1.1"
       (sources."execa-0.7.0" // {
@@ -66759,32 +68352,24 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."exit-hook-1.1.1"
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."ext-1.4.0"
       sources."extend-3.0.2"
       sources."extend-shallow-3.0.2"
       sources."external-editor-3.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fd-slicer-1.1.0"
-      sources."figures-3.0.0"
+      sources."figures-3.1.0"
       sources."file-type-5.2.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
       sources."find-requires-1.0.0"
       sources."flat-4.1.0"
       sources."for-in-1.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
-      sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
       (sources."fs-extra-0.30.0" // {
         dependencies = [
@@ -66792,30 +68377,27 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."fs2-0.3.5"
-      sources."fsevents-2.0.7"
-      sources."gauge-1.2.7"
+      (sources."fs2-0.3.7" // {
+        dependencies = [
+          sources."type-1.2.0"
+        ];
+      })
+      sources."fsevents-2.1.2"
       sources."get-proxy-2.1.0"
       sources."get-stdin-5.0.1"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
       sources."global-dirs-0.1.1"
       sources."globby-6.1.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
-      sources."graphlib-2.1.7"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
+      sources."graphlib-2.1.8"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
-      sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -66829,11 +68411,9 @@ in
         ];
       })
       sources."http-cache-semantics-4.0.3"
-      sources."http-errors-1.7.2"
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.6"
-          sources."ms-2.1.2"
         ];
       })
       sources."iconv-lite-0.4.24"
@@ -66843,18 +68423,23 @@ in
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ini-1.3.5"
       (sources."inquirer-6.5.2" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
+          sources."ansi-regex-3.0.0"
           sources."figures-2.0.0"
+          (sources."string-width-2.1.1" // {
+            dependencies = [
+              sources."strip-ansi-4.0.0"
+            ];
+          })
         ];
       })
-      sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-2.1.0"
-      sources."is-buffer-2.0.3"
+      sources."is-buffer-2.0.4"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
@@ -66889,7 +68474,7 @@ in
       sources."json-cycle-1.3.0"
       sources."json-refs-2.1.7"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonata-1.6.5"
+      sources."jsonata-1.7.0"
       sources."jsonfile-4.0.0"
       sources."jszip-3.2.2"
       sources."jwt-decode-2.2.0"
@@ -66910,11 +68495,6 @@ in
       sources."lazystream-1.0.0"
       sources."lie-3.3.0"
       sources."lodash-4.17.15"
-      sources."lodash.difference-4.5.0"
-      sources."lodash.pad-4.5.1"
-      sources."lodash.padend-4.6.1"
-      sources."lodash.padstart-4.6.1"
-      sources."lodash.uniq-4.5.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."lru-queue-0.1.0"
@@ -66926,13 +68506,11 @@ in
       })
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."media-typer-0.3.0"
       sources."memoizee-0.4.14"
-      sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -66944,26 +68522,23 @@ in
         ];
       })
       sources."moment-2.24.0"
-      sources."ms-2.0.0"
+      sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
-      sources."nanoid-2.1.1"
+      sources."nanoid-2.1.8"
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
-      sources."ncjsm-3.0.0"
-      sources."negotiator-0.6.2"
+      sources."ncjsm-4.0.1"
       sources."next-tick-1.0.0"
       sources."node-dir-0.1.17"
       sources."node-fetch-1.7.3"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-4.4.1"
+      sources."normalize-url-4.5.0"
       (sources."npm-conf-1.1.3" // {
         dependencies = [
           sources."pify-3.0.0"
         ];
       })
       sources."npm-run-path-2.0.2"
-      sources."npmlog-2.0.4"
-      sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -66982,7 +68557,6 @@ in
       sources."object-hash-1.3.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
-      sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       (sources."opn-5.5.0" // {
@@ -66990,25 +68564,24 @@ in
           sources."is-wsl-1.1.0"
         ];
       })
-      sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
       sources."p-finally-1.0.0"
+      sources."p-limit-2.2.1"
+      sources."p-try-2.2.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."pako-1.0.10"
-      sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."path-loader-1.0.10"
-      sources."path-to-regexp-0.1.7"
       sources."pend-1.2.0"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -67017,28 +68590,24 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-queue-2.2.5"
       sources."proto-list-1.2.4"
-      sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      sources."qs-6.7.0"
+      sources."qs-6.9.1"
       sources."querystring-0.2.0"
       sources."ramda-0.26.1"
-      sources."range-parser-1.2.1"
       (sources."raven-1.2.1" // {
         dependencies = [
-          sources."cookie-0.3.1"
           sources."uuid-3.0.0"
         ];
       })
-      sources."raw-body-2.4.0"
       sources."rc-1.2.8"
       (sources."readable-stream-2.3.6" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."readdirp-3.1.2"
+      sources."readdirp-3.3.0"
       sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-4.0.0"
@@ -67051,7 +68620,6 @@ in
       sources."ret-0.1.15"
       sources."rimraf-2.7.1"
       sources."run-async-2.3.0"
-      sources."rx-4.1.0"
       sources."rxjs-6.5.3"
       sources."safe-buffer-5.2.0"
       sources."safe-regex-1.1.0"
@@ -67065,12 +68633,6 @@ in
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serve-static-1.14.1"
       sources."set-immediate-shim-1.0.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -67078,20 +68640,15 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."setprototypeof-1.1.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shortid-2.2.15"
       sources."signal-exit-3.0.2"
-      (sources."simple-git-1.126.0" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."simple-git-1.129.0"
       sources."slash-1.0.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
+          sources."debug-2.6.9"
           sources."define-property-0.2.5"
           sources."extend-shallow-2.0.1"
           (sources."is-accessor-descriptor-0.1.6" // {
@@ -67108,14 +68665,14 @@ in
           sources."is-descriptor-0.1.6"
           sources."is-extendable-0.1.1"
           sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
           sources."source-map-0.5.7"
         ];
       })
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
-      sources."spawn-sync-1.0.15"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."stack-trace-0.0.9"
@@ -67137,13 +68694,8 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."stream-promise-3.2.0"
+      sources."string-width-3.1.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -67157,28 +68709,12 @@ in
       (sources."superagent-3.8.3" // {
         dependencies = [
           sources."debug-3.2.6"
-          sources."ms-2.1.2"
         ];
       })
       sources."supports-color-5.5.0"
-      (sources."tabtab-2.2.2" // {
+      (sources."tabtab-3.0.2" // {
         dependencies = [
-          sources."ansi-escapes-1.4.0"
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."cli-cursor-1.0.2"
-          sources."external-editor-1.1.1"
-          sources."figures-1.7.0"
-          sources."inquirer-1.2.3"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."mute-stream-0.0.6"
-          sources."onetime-1.1.0"
-          sources."restore-cursor-1.0.1"
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-          sources."tmp-0.0.29"
+          sources."es6-promisify-6.0.2"
         ];
       })
       sources."tar-stream-1.6.2"
@@ -67197,15 +68733,12 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
-      sources."type-1.2.0"
-      sources."type-fest-0.5.2"
-      sources."type-is-1.6.18"
-      sources."typedarray-0.0.6"
+      sources."type-2.0.0"
+      sources."type-fest-0.8.1"
       sources."unbzip2-stream-1.3.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -67214,7 +68747,6 @@ in
       })
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
-      sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
           (sources."has-value-0.3.1" // {
@@ -67227,7 +68759,17 @@ in
       })
       sources."untildify-3.0.3"
       sources."unzip-response-2.0.1"
-      sources."update-notifier-2.5.0"
+      (sources."update-notifier-2.5.0" // {
+        dependencies = [
+          sources."ansi-align-2.0.0"
+          sources."ansi-regex-3.0.0"
+          sources."boxen-1.3.0"
+          sources."camelcase-4.1.0"
+          sources."cli-boxes-1.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       (sources."uri-js-3.0.2" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -67239,15 +68781,20 @@ in
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."utils-merge-1.0.1"
       sources."uuid-2.0.3"
-      sources."vary-1.1.2"
       sources."walkdir-0.0.11"
       sources."whatwg-fetch-3.0.0"
       sources."which-1.3.1"
-      sources."widest-line-2.0.1"
+      (sources."widest-line-2.0.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
+      sources."ws-6.2.1"
       sources."xdg-basedir-3.0.0"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
@@ -67261,7 +68808,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more";
-      homepage = "https://github.com/serverless/serverless#readme";
+      homepage = https://serverless.com/framework/docs/;
       license = "MIT";
     };
     production = true;
@@ -67288,7 +68835,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."base64-arraybuffer-0.1.2"
       sources."base64id-0.1.0"
       sources."bcrypt-nodejs-0.0.3"
@@ -67301,7 +68848,7 @@ in
       sources."caseless-0.12.0"
       sources."cheerio-0.17.0"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
       sources."component-inherit-0.0.3"
@@ -67347,7 +68894,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -67393,8 +68940,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."moment-2.7.0"
@@ -67414,7 +68961,7 @@ in
       sources."pause-stream-0.0.11"
       sources."performance-now-2.1.0"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
@@ -67595,7 +69142,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."get-value-2.0.6"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -67758,6 +69305,7 @@ in
       sources."assert-plus-0.1.5"
       sources."backoff-2.5.0"
       sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."bunyan-1.5.1"
       sources."clone-0.1.6"
@@ -67771,10 +69319,15 @@ in
       sources."ctype-0.5.3"
       sources."dashdash-1.7.3"
       sources."dtrace-provider-0.6.0"
-      sources."ecc-jsbn-0.2.0"
+      sources."ecc-jsbn-0.1.2"
       sources."escape-regexp-component-1.0.2"
       sources."extsprintf-1.2.0"
       sources."formidable-1.2.1"
+      (sources."getpass-0.1.7" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
       sources."glob-6.0.4"
       sources."http-signature-0.11.0"
       sources."inflight-1.0.6"
@@ -67824,13 +69377,16 @@ in
       sources."semver-4.3.6"
       (sources."smartdc-auth-2.3.1" // {
         dependencies = [
+          sources."asn1-0.2.4"
           sources."assert-plus-0.1.2"
           sources."clone-0.1.5"
           sources."dashdash-1.10.1"
           sources."extsprintf-1.0.0"
-          (sources."http-signature-1.2.0" // {
+          (sources."http-signature-1.3.1" // {
             dependencies = [
               sources."assert-plus-1.0.0"
+              sources."dashdash-1.14.1"
+              sources."sshpk-1.16.1"
             ];
           })
           sources."json-schema-0.2.2"
@@ -67890,21 +69446,29 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.228.3";
+    version = "1.266.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.228.3.tgz";
-      sha512 = "TwyJcMXBvic1xJ+rVLdIYS1xDYuzcogIXdmyvGvXBZgwIQdjOVMnZBVxUo5igkOIntBL2sCynZiydQtGbe08JA==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.266.0.tgz";
+      sha512 = "JWrbaeC1/omAfE1/kYXKGb5Xzc7hOiKAt7wla+PlTDMs+nAMPvqNd8Bx2GVcCUl2KfoimzCmf2MsoChvvHXV3g==";
     };
     dependencies = [
-      sources."@snyk/cli-interface-2.1.0"
-      sources."@snyk/composer-lockfile-parser-1.0.3"
-      sources."@snyk/dep-graph-1.12.0"
+      sources."@snyk/cli-interface-2.3.0"
+      sources."@snyk/cocoapods-lockfile-parser-3.0.0"
+      sources."@snyk/composer-lockfile-parser-1.2.0"
+      sources."@snyk/dep-graph-1.13.1"
       sources."@snyk/gemfile-1.2.0"
+      sources."@snyk/ruby-semver-2.0.4"
+      (sources."@snyk/snyk-cocoapods-plugin-2.0.1" // {
+        dependencies = [
+          sources."@snyk/cli-interface-1.5.0"
+        ];
+      })
       sources."@types/agent-base-4.2.0"
       sources."@types/bunyan-1.8.6"
       sources."@types/debug-4.1.5"
       sources."@types/events-3.0.0"
-      sources."@types/node-12.7.5"
+      sources."@types/js-yaml-3.12.1"
+      sources."@types/node-13.1.0"
       sources."@types/restify-4.3.6"
       sources."@types/semver-5.5.0"
       sources."@types/xml2js-0.4.3"
@@ -67922,6 +69486,13 @@ in
       sources."ast-types-0.13.2"
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
+      (sources."bl-3.0.0" // {
+        dependencies = [
+          sources."readable-stream-3.4.0"
+          sources."safe-buffer-5.2.0"
+          sources."string_decoder-1.3.0"
+        ];
+      })
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."camelcase-4.1.0"
@@ -67937,6 +69508,7 @@ in
       sources."ci-info-1.6.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
+      sources."cli-spinner-0.2.10"
       sources."cli-width-2.2.0"
       (sources."cliui-3.2.0" // {
         dependencies = [
@@ -67954,6 +69526,7 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.2"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
@@ -67962,22 +69535,21 @@ in
         ];
       })
       sources."crypto-random-string-1.0.0"
-      (sources."data-uri-to-buffer-2.0.1" // {
-        dependencies = [
-          sources."@types/node-8.10.54"
-        ];
-      })
+      sources."data-uri-to-buffer-1.2.0"
       sources."debug-3.2.6"
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
-      sources."define-properties-1.1.3"
-      sources."degenerator-1.0.4"
+      (sources."degenerator-1.0.4" // {
+        dependencies = [
+          sources."esprima-3.1.3"
+        ];
+      })
       sources."depd-1.1.2"
       sources."diff-4.0.1"
       sources."dockerfile-ast-0.0.16"
       sources."dot-prop-4.2.0"
-      (sources."dotnet-deps-parser-4.5.0" // {
+      (sources."dotnet-deps-parser-4.9.0" // {
         dependencies = [
           sources."xml2js-0.4.19"
         ];
@@ -67985,14 +69557,16 @@ in
       sources."duplexer3-0.1.4"
       sources."email-validator-2.0.4"
       sources."emoji-regex-7.0.3"
-      sources."end-of-stream-1.4.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."end-of-stream-1.4.4"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.12.0"
-      sources."esprima-3.1.3"
+      (sources."escodegen-1.12.0" // {
+        dependencies = [
+          sources."esprima-3.1.3"
+        ];
+      })
+      sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."execa-1.0.0"
@@ -68003,34 +69577,33 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."for-in-1.0.2"
       sources."for-own-1.0.0"
+      sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
       (sources."ftp-0.3.10" // {
         dependencies = [
           sources."readable-stream-1.1.14"
         ];
       })
-      sources."function-bind-1.1.1"
       sources."get-stream-4.1.0"
-      (sources."get-uri-2.0.3" // {
+      (sources."get-uri-2.0.4" // {
         dependencies = [
-          sources."debug-4.1.1"
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       sources."git-up-4.0.1"
       sources."git-url-parse-11.1.2"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       (sources."got-6.7.1" // {
         dependencies = [
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
-      sources."graphlib-2.1.7"
-      sources."has-1.0.3"
+      sources."graceful-fs-4.2.3"
+      sources."graphlib-2.1.8"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-errors-1.7.3"
       (sources."http-proxy-agent-2.1.0" // {
         dependencies = [
@@ -68038,7 +69611,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."https-proxy-agent-2.2.2"
+      sources."https-proxy-agent-3.0.1"
       sources."iconv-lite-0.4.24"
       sources."immediate-3.0.6"
       sources."import-lazy-2.1.0"
@@ -68050,9 +69623,7 @@ in
       sources."invert-kv-1.0.0"
       sources."ip-1.1.5"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
-      sources."is-date-object-1.0.1"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
@@ -68062,28 +69633,15 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."is-wsl-1.1.0"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      (sources."js-yaml-3.13.1" // {
-        dependencies = [
-          sources."esprima-4.0.1"
-        ];
-      })
-      (sources."jszip-3.2.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."js-yaml-3.13.1"
+      sources."jszip-3.2.2"
       sources."kind-of-3.2.2"
       sources."latest-version-3.1.0"
       sources."lazy-cache-0.2.7"
@@ -68099,7 +69657,7 @@ in
       sources."lodash.get-4.4.2"
       sources."lodash.set-4.3.2"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
       sources."mimic-fn-1.2.0"
@@ -68120,18 +69678,20 @@ in
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."object-hash-1.3.1"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.5.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-locale-1.4.0"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
-      sources."pac-proxy-agent-3.0.0"
+      sources."p-map-2.1.0"
+      (sources."pac-proxy-agent-3.0.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+        ];
+      })
       sources."pac-resolver-3.0.0"
       (sources."package-json-4.0.1" // {
         dependencies = [
@@ -68150,15 +69710,20 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
       sources."protocols-1.4.7"
-      sources."proxy-agent-3.1.0"
+      (sources."proxy-agent-3.1.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+        ];
+      })
       sources."proxy-from-env-1.0.0"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."raw-body-2.4.1"
       sources."rc-1.2.8"
-      (sources."readable-stream-3.4.0" // {
+      (sources."readable-stream-2.3.6" // {
         dependencies = [
-          sources."string_decoder-1.3.0"
+          sources."isarray-1.0.0"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."registry-auth-token-3.4.0"
@@ -68167,7 +69732,7 @@ in
       sources."rimraf-2.7.1"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."secure-keys-1.0.0"
@@ -68187,62 +69752,75 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       sources."snyk-config-2.2.3"
-      (sources."snyk-docker-plugin-1.29.1" // {
+      (sources."snyk-docker-plugin-1.33.1" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."snyk-go-parser-1.3.1"
-      (sources."snyk-go-plugin-1.11.0" // {
+      (sources."snyk-go-plugin-1.11.1" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
-      (sources."snyk-gradle-plugin-3.1.0" // {
+      (sources."snyk-gradle-plugin-3.2.2" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
           sources."debug-4.1.1"
         ];
       })
       sources."snyk-module-1.9.1"
-      (sources."snyk-mvn-plugin-2.4.0" // {
+      (sources."snyk-mvn-plugin-2.7.0" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
+          sources."debug-4.1.1"
+          sources."tmp-0.1.0"
           sources."tslib-1.9.3"
         ];
       })
-      sources."snyk-nodejs-lockfile-parser-1.16.0"
-      sources."snyk-nuget-plugin-1.12.1"
+      sources."snyk-nodejs-lockfile-parser-1.17.0"
+      sources."snyk-nuget-plugin-1.16.0"
       sources."snyk-paket-parser-1.5.0"
-      (sources."snyk-php-plugin-1.6.4" // {
+      (sources."snyk-php-plugin-1.7.0" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
           sources."tslib-1.9.3"
         ];
       })
       sources."snyk-policy-1.13.5"
-      sources."snyk-python-plugin-1.13.2"
+      sources."snyk-python-plugin-1.16.0"
       sources."snyk-resolve-1.0.1"
       (sources."snyk-resolve-deps-4.4.0" // {
         dependencies = [
-          sources."@types/node-6.14.7"
+          sources."@types/node-6.14.9"
+          sources."lru-cache-4.1.5"
           sources."semver-5.7.1"
+          sources."yallist-2.1.2"
         ];
       })
-      (sources."snyk-sbt-plugin-2.8.0" // {
+      (sources."snyk-sbt-plugin-2.9.2" // {
         dependencies = [
+          sources."debug-4.1.1"
           sources."tmp-0.1.0"
         ];
       })
       sources."snyk-tree-1.0.0"
-      sources."snyk-try-require-1.3.1"
-      sources."socks-2.3.2"
+      (sources."snyk-try-require-1.3.1" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
         ];
       })
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."sprintf-js-1.0.3"
       sources."statuses-1.5.0"
       (sources."string-width-2.1.1" // {
@@ -68250,8 +69828,6 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string_decoder-0.10.31"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
@@ -68261,6 +69837,13 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
+      (sources."tar-stream-2.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.4.0"
+          sources."safe-buffer-5.2.0"
+          sources."string_decoder-1.3.0"
+        ];
+      })
       sources."temp-dir-1.0.0"
       sources."tempfile-2.0.0"
       (sources."term-size-1.2.0" // {
@@ -68268,6 +69851,8 @@ in
           sources."cross-spawn-5.1.0"
           sources."execa-0.7.0"
           sources."get-stream-3.0.0"
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
         ];
       })
       sources."then-fs-2.0.0"
@@ -68277,7 +69862,7 @@ in
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.0"
       sources."toml-3.0.0"
-      sources."tree-kill-1.2.1"
+      sources."tree-kill-1.2.2"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
       sources."unique-string-1.0.0"
@@ -68286,14 +69871,13 @@ in
       sources."update-notifier-2.5.0"
       sources."url-parse-lax-1.0.0"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."vscode-languageserver-types-3.14.0"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."window-size-0.1.4"
       sources."windows-release-3.2.0"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."string-width-3.1.0"
@@ -68302,7 +69886,7 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      (sources."xml2js-0.4.22" // {
+      (sources."xml2js-0.4.23" // {
         dependencies = [
           sources."xmlbuilder-11.0.1"
         ];
@@ -68310,7 +69894,7 @@ in
       sources."xmlbuilder-9.0.7"
       sources."xregexp-2.0.0"
       sources."y18n-3.2.1"
-      sources."yallist-2.1.2"
+      sources."yallist-3.1.1"
       (sources."yargs-3.32.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -68365,14 +69949,14 @@ in
       sources."has-cors-1.1.0"
       sources."indexof-0.0.1"
       sources."isarray-2.0.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."negotiator-0.6.2"
       sources."object-component-0.0.3"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."ms-2.0.0"
@@ -68385,7 +69969,7 @@ in
       })
       sources."socket.io-parser-3.4.0"
       sources."to-array-0.1.4"
-      sources."ws-7.1.2"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
@@ -68441,37 +70025,29 @@ in
       })
       sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
-      sources."define-properties-1.1.3"
       sources."dot-prop-4.2.0"
       sources."draftlog-1.0.12"
       sources."duplexer3-0.1.4"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       sources."find-up-2.1.0"
-      sources."function-bind-1.1.1"
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
-      sources."has-1.0.3"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-proxy-agent-2.1.0"
-      sources."https-proxy-agent-2.2.2"
+      sources."https-proxy-agent-3.0.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
       sources."ini-1.3.5"
       sources."is-arrayish-0.2.1"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
-      sources."is-date-object-1.0.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -68479,10 +70055,8 @@ in
       sources."is-path-inside-1.0.1"
       sources."is-plain-obj-1.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."isexe-2.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."latest-version-3.1.0"
@@ -68502,9 +70076,6 @@ in
       sources."ms-2.0.0"
       sources."normalize-package-data-2.5.0"
       sources."npm-run-path-2.0.2"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."onetime-2.0.1"
       (sources."ora-3.4.0" // {
         dependencies = [
@@ -68533,7 +70104,7 @@ in
       sources."redent-2.0.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."round-to-3.0.0"
       sources."safe-buffer-5.2.0"
@@ -68547,10 +70118,8 @@ in
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.5"
-      sources."speedtest-net-1.5.1"
+      sources."speedtest-net-1.6.0"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."strip-ansi-4.0.0"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
@@ -68564,7 +70133,6 @@ in
       sources."unzip-response-2.0.1"
       sources."update-notifier-2.5.0"
       sources."url-parse-lax-1.0.0"
-      sources."util.promisify-1.0.0"
       sources."validate-npm-package-license-3.0.4"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
@@ -68572,7 +70140,7 @@ in
       sources."wrap-ansi-3.0.1"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."yallist-2.1.2"
       sources."yargs-parser-10.1.0"
@@ -68590,10 +70158,10 @@ in
   ssb-server = nodeEnv.buildNodePackage {
     name = "ssb-server";
     packageName = "ssb-server";
-    version = "15.1.1";
+    version = "15.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ssb-server/-/ssb-server-15.1.1.tgz";
-      sha512 = "MaQl721UDrU/YM1U2bu6bdLqSg8qPYjkGg/6TevWoohqSLLOfo3CXyE8OARCqX37y9fhKOKXAhhmqj8nPgQ2yw==";
+      url = "https://registry.npmjs.org/ssb-server/-/ssb-server-15.2.0.tgz";
+      sha512 = "iOzvg1HSRuT7k56AdKbeVnqeyc8iTZNMqIcbOv+zc4GBZODc37vtxtv688EnyNVCWuLnBsQBH3HlAYrcolQE7g==";
     };
     dependencies = [
       sources."abstract-leveldown-6.0.3"
@@ -68629,6 +70197,7 @@ in
       sources."bash-color-0.0.4"
       sources."binary-extensions-1.13.1"
       sources."binary-search-1.3.6"
+      sources."bindings-1.5.0"
       (sources."bl-0.8.2" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -68682,7 +70251,7 @@ in
       sources."code-point-at-1.1.0"
       sources."collapse-white-space-1.0.5"
       sources."collection-visit-1.0.0"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."compare-at-paths-1.0.0"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -68706,11 +70275,11 @@ in
       sources."cross-spawn-6.0.5"
       sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
-      (sources."deferred-leveldown-5.2.1" // {
+      (sources."deferred-leveldown-5.3.0" // {
         dependencies = [
-          sources."abstract-leveldown-6.1.1"
+          sources."abstract-leveldown-6.2.2"
         ];
       })
       sources."define-properties-1.1.3"
@@ -68727,15 +70296,15 @@ in
       sources."elegant-spinner-1.0.1"
       sources."emoji-named-characters-1.0.2"
       sources."emoji-server-1.0.0"
-      (sources."encoding-down-6.2.0" // {
+      (sources."encoding-down-6.3.0" // {
         dependencies = [
-          sources."abstract-leveldown-6.1.1"
+          sources."abstract-leveldown-6.2.2"
         ];
       })
       sources."epidemic-broadcast-trees-7.0.0"
       sources."errno-0.1.7"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."exit-hook-1.1.1"
       sources."expand-brackets-0.1.5"
@@ -68749,6 +70318,7 @@ in
       })
       sources."extend.js-0.0.2"
       sources."extglob-0.3.2"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       (sources."flumecodec-0.0.0" // {
@@ -68759,7 +70329,7 @@ in
       sources."flumedb-1.1.0"
       sources."flumelog-offset-3.4.3"
       sources."flumeview-hashtable-1.1.1"
-      sources."flumeview-level-3.0.13"
+      sources."flumeview-level-3.0.14"
       (sources."flumeview-query-6.3.0" // {
         dependencies = [
           sources."map-filter-reduce-3.2.2"
@@ -68780,7 +70350,7 @@ in
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-value-2.0.6"
       sources."glob-6.0.4"
@@ -68788,11 +70358,11 @@ in
       sources."glob-parent-2.0.0"
       sources."globby-4.1.0"
       sources."gossip-query-2.0.2"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-network-0.0.1"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -68831,14 +70401,14 @@ in
       sources."is-arguments-1.0.4"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-canonical-base64-1.1.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-decimal-1.0.3"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
@@ -68861,8 +70431,8 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-valid-domain-0.0.11"
       sources."is-windows-1.0.2"
@@ -68876,13 +70446,13 @@ in
       sources."level-codec-9.0.1"
       sources."level-concat-iterator-2.0.1"
       sources."level-errors-2.0.1"
-      (sources."level-iterator-stream-4.0.1" // {
+      (sources."level-iterator-stream-4.0.2" // {
         dependencies = [
           sources."readable-stream-3.4.0"
         ];
       })
-      sources."level-js-4.0.1"
-      sources."level-packager-5.0.3"
+      sources."level-js-4.0.2"
+      sources."level-packager-5.1.1"
       sources."level-post-1.0.7"
       (sources."level-sublevel-6.6.5" // {
         dependencies = [
@@ -68905,15 +70475,17 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      (sources."leveldown-5.2.1" // {
+      sources."level-supports-1.0.1"
+      (sources."leveldown-5.4.1" // {
         dependencies = [
-          sources."abstract-leveldown-6.1.1"
+          sources."abstract-leveldown-6.2.2"
+          sources."node-gyp-build-4.1.1"
         ];
       })
-      sources."levelup-4.2.0"
+      sources."levelup-4.3.2"
       sources."libnested-1.4.1"
-      sources."libsodium-0.7.5"
-      sources."libsodium-wrappers-0.7.5"
+      sources."libsodium-0.7.6"
+      sources."libsodium-wrappers-0.7.6"
       sources."lodash.get-4.4.2"
       sources."log-symbols-1.0.2"
       sources."log-update-1.0.2"
@@ -68944,13 +70516,13 @@ in
       sources."monotonic-timestamp-0.0.9"
       sources."moo-0.4.3"
       sources."ms-2.1.2"
-      sources."multiblob-1.13.4"
+      sources."multiblob-1.13.6"
       sources."multiblob-http-1.0.0"
       sources."multicb-1.2.2"
-      sources."multiserver-3.4.0"
+      sources."multiserver-3.6.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.4.2"
+      sources."muxrpc-6.4.8"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
       sources."muxrpcli-3.1.2"
@@ -68971,7 +70543,7 @@ in
       sources."ncp-2.0.0"
       sources."nearley-2.19.0"
       sources."nice-try-1.0.5"
-      sources."node-gyp-build-4.1.1"
+      sources."node-gyp-build-4.2.0"
       sources."non-private-ip-1.4.4"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.2"
@@ -68990,14 +70562,15 @@ in
           })
         ];
       })
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
+      sources."object.assign-4.1.0"
       sources."object.omit-2.0.1"
       (sources."object.pick-1.3.0" // {
         dependencies = [
@@ -69030,7 +70603,7 @@ in
       sources."plur-2.1.2"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
-      sources."private-box-0.3.0"
+      sources."private-box-0.3.1"
       sources."process-nextick-args-2.0.1"
       sources."promisize-1.1.2"
       sources."prr-1.0.1"
@@ -69155,7 +70728,7 @@ in
       })
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."relative-url-1.0.2"
       (sources."remark-3.2.3" // {
         dependencies = [
@@ -69167,7 +70740,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.11.1"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
@@ -69175,7 +70748,7 @@ in
       sources."right-pad-1.0.1"
       (sources."rimraf-2.7.1" // {
         dependencies = [
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
         ];
       })
       sources."rng-0.2.2"
@@ -69183,7 +70756,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."secret-handshake-1.1.20"
-      sources."secret-stack-6.3.0"
+      sources."secret-stack-6.3.1"
       sources."semver-5.7.1"
       sources."separator-escape-0.0.0"
       (sources."set-value-2.0.1" // {
@@ -69195,7 +70768,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shellsubstitute-1.2.0"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -69223,7 +70796,7 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      sources."socks-2.3.2"
+      sources."socks-2.3.3"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -69238,15 +70811,15 @@ in
       sources."source-map-url-0.4.0"
       sources."split-buffer-1.0.0"
       sources."split-string-3.1.0"
-      sources."ssb-blobs-1.2.1"
+      sources."ssb-blobs-1.2.2"
       sources."ssb-caps-1.1.0"
-      sources."ssb-client-4.7.8"
-      sources."ssb-config-3.3.2"
+      sources."ssb-client-4.7.9"
+      sources."ssb-config-3.4.3"
       sources."ssb-db-19.2.0"
       sources."ssb-ebt-5.6.7"
       sources."ssb-friends-4.1.4"
-      sources."ssb-gossip-1.1.0"
-      sources."ssb-invite-2.1.3"
+      sources."ssb-gossip-1.1.1"
+      sources."ssb-invite-2.1.4"
       sources."ssb-keys-7.2.0"
       sources."ssb-links-3.0.8"
       sources."ssb-local-1.0.0"
@@ -69255,7 +70828,7 @@ in
       sources."ssb-msgs-5.2.0"
       sources."ssb-no-auth-1.0.0"
       sources."ssb-onion-1.0.0"
-      (sources."ssb-ooo-1.3.1" // {
+      (sources."ssb-ooo-1.3.2" // {
         dependencies = [
           sources."flumecodec-0.0.1"
           sources."level-codec-6.2.0"
@@ -69269,9 +70842,9 @@ in
         ];
       })
       sources."ssb-ref-2.13.9"
-      sources."ssb-replicate-1.3.0"
+      sources."ssb-replicate-1.3.2"
       sources."ssb-unix-socket-1.0.0"
-      sources."ssb-validate-4.0.4"
+      sources."ssb-validate-4.0.5"
       sources."ssb-ws-6.2.3"
       sources."stack-0.1.0"
       (sources."static-extend-0.1.2" // {
@@ -69298,18 +70871,17 @@ in
         ];
       })
       sources."string-width-1.0.2"
-      sources."string.prototype.trim-1.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trim-1.2.1"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."stringify-entities-1.3.2"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tape-4.11.0" // {
+      (sources."tape-4.12.1" // {
         dependencies = [
-          sources."deep-equal-1.0.1"
-          sources."glob-7.1.4"
+          sources."glob-7.1.6"
         ];
       })
       sources."text-table-0.2.0"
@@ -69413,7 +70985,7 @@ in
       sources."@sailshq/lodash-3.10.4"
       (sources."@slack/client-3.16.0" // {
         dependencies = [
-          sources."bluebird-3.5.5"
+          sources."bluebird-3.7.2"
           sources."request-2.76.0"
           sources."url-join-0.0.1"
           sources."ws-1.1.5"
@@ -69436,7 +71008,7 @@ in
       })
       (sources."adbkit-apkreader-3.1.2" // {
         dependencies = [
-          sources."bluebird-3.5.5"
+          sources."bluebird-3.7.2"
           sources."debug-0.7.4"
         ];
       })
@@ -69469,13 +71041,13 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.533.0" // {
+      (sources."aws-sdk-2.596.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
       })
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
@@ -69527,7 +71099,7 @@ in
       sources."colors-1.0.3"
       sources."colour-0.7.1"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
@@ -69559,7 +71131,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."cookiejar-2.1.2"
       sources."cookies-0.7.1"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."cross-spawn-4.0.2"
@@ -69592,12 +71164,12 @@ in
       sources."ee-first-1.1.1"
       sources."ejs-0.8.8"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       (sources."engine.io-3.4.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
-          sources."ws-7.1.2"
+          sources."ws-7.2.1"
         ];
       })
       (sources."engine.io-client-3.4.0" // {
@@ -69639,7 +71211,7 @@ in
       sources."eyes-0.1.8"
       sources."faker-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
@@ -69654,6 +71226,7 @@ in
       sources."formidable-1.2.1"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
@@ -69671,8 +71244,8 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."graceful-fs-4.2.2"
-      sources."graphlib-2.1.7"
+      sources."graceful-fs-4.2.3"
+      sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
       sources."has-1.0.3"
@@ -69691,7 +71264,7 @@ in
         ];
       })
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -69724,7 +71297,7 @@ in
       sources."is-my-json-valid-2.20.0"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -69821,8 +71394,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
       sources."minimatch-3.0.4"
@@ -69858,7 +71431,6 @@ in
       sources."options-0.0.6"
       sources."optjs-3.2.2"
       sources."os-locale-3.1.0"
-      sources."os-tmpdir-1.0.2"
       sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
       sources."p-is-promise-2.1.0"
@@ -69904,7 +71476,7 @@ in
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
       sources."pug-code-gen-2.0.2"
@@ -69958,9 +71530,9 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."ret-0.2.2"
-      sources."rethinkdb-2.3.3"
+      sources."rethinkdb-2.4.2"
       sources."retry-0.9.0"
       sources."right-align-0.1.3"
       sources."rimraf-2.4.5"
@@ -70000,7 +71572,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -70063,7 +71635,7 @@ in
           sources."debug-3.2.6"
           sources."form-data-2.5.1"
           sources."ms-2.1.2"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
         ];
@@ -70076,7 +71648,7 @@ in
           sources."esprima-4.0.1"
           sources."js-yaml-3.13.1"
           sources."lodash-3.10.1"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
         ];
       })
       sources."swagger-schema-official-2.0.0-bab6bed"
@@ -70085,13 +71657,14 @@ in
           sources."esprima-4.0.1"
           sources."isarray-0.0.1"
           sources."js-yaml-3.13.1"
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       sources."switchback-2.0.5"
-      (sources."temp-0.8.3" // {
+      (sources."temp-0.8.4" // {
         dependencies = [
-          sources."rimraf-2.2.8"
+          sources."glob-7.1.6"
+          sources."rimraf-2.6.3"
         ];
       })
       sources."throttleit-1.0.0"
@@ -70189,7 +71762,7 @@ in
       })
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xpath-0.0.5"
       sources."xpath.js-1.1.0"
@@ -70240,10 +71813,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "1.3.0";
+    version = "1.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz";
-      sha512 = "MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==";
+      url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
+      sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
     };
     dependencies = [
       sources."@types/q-1.5.2"
@@ -70254,18 +71827,13 @@ in
       sources."coa-2.0.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."css-select-2.0.2"
+      sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
-      sources."css-tree-1.0.0-alpha.33"
-      sources."css-what-2.1.3"
-      (sources."csso-3.5.1" // {
-        dependencies = [
-          sources."css-tree-1.0.0-alpha.29"
-          sources."mdn-data-1.1.4"
-        ];
-      })
+      sources."css-tree-1.0.0-alpha.37"
+      sources."css-what-3.2.1"
+      sources."csso-4.0.2"
       sources."define-properties-1.1.3"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
         ];
@@ -70273,34 +71841,35 @@ in
       sources."domelementtype-1.3.1"
       sources."domutils-1.7.0"
       sources."entities-2.0.0"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."js-yaml-3.13.1"
       sources."mdn-data-2.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."nth-check-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
-      sources."object.values-1.1.0"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
+      sources."object.values-1.1.1"
       sources."q-1.5.1"
       sources."sax-1.2.4"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
       sources."stable-0.1.8"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."supports-color-5.5.0"
       sources."unquote-1.1.1"
       sources."util.promisify-1.0.0"
@@ -70353,6 +71922,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."body-parser-1.12.4" // {
         dependencies = [
           sources."debug-2.2.0"
@@ -70413,13 +71983,13 @@ in
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-1.0.2"
       sources."cli-width-1.1.1"
-      sources."clone-2.0.0"
+      sources."clone-2.1.2"
       sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
@@ -70428,7 +71998,7 @@ in
       sources."content-type-1.0.4"
       sources."cookiejar-2.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-5.1.0" // {
@@ -70493,6 +72063,7 @@ in
         ];
       })
       sources."figures-1.7.0"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -70507,10 +72078,10 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -70518,14 +72089,14 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
-      (sources."graphlib-2.1.7" // {
+      sources."graceful-fs-4.2.3"
+      (sources."graphlib-2.1.8" // {
         dependencies = [
           sources."lodash-4.17.15"
         ];
       })
       sources."growl-1.9.2"
-      (sources."handlebars-4.2.1" // {
+      (sources."handlebars-4.5.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -70590,7 +72161,7 @@ in
       sources."js-string-escape-1.0.1"
       sources."js-yaml-3.13.1"
       sources."json-refs-2.1.7"
-      (sources."json-schema-deref-sync-0.3.4" // {
+      (sources."json-schema-deref-sync-0.6.0" // {
         dependencies = [
           sources."lodash-4.17.15"
         ];
@@ -70636,12 +72207,12 @@ in
       sources."map-visit-1.0.0"
       sources."md5-2.2.1"
       sources."media-typer-0.3.0"
-      sources."memory-cache-0.1.6"
+      sources."memory-cache-0.2.0"
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mixin-deep-1.3.2"
@@ -70657,7 +72228,7 @@ in
           sources."supports-color-1.2.0"
         ];
       })
-      sources."mpath-0.2.1"
+      sources."mpath-0.5.2"
       sources."ms-2.0.0"
       sources."multer-1.4.2"
       sources."mute-stream-0.0.5"
@@ -70665,7 +72236,7 @@ in
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       sources."neo-async-2.6.1"
-      (sources."nodemon-1.19.2" // {
+      (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -70708,11 +72279,11 @@ in
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
           sources."superagent-3.8.3"
         ];
       })
-      (sources."path-to-regexp-1.7.0" // {
+      (sources."path-to-regexp-1.8.0" // {
         dependencies = [
           sources."isarray-0.0.1"
         ];
@@ -70858,7 +72429,11 @@ in
       sources."supports-color-2.0.0"
       sources."swagger-converter-0.2.0"
       sources."swagger-editor-2.10.5"
-      sources."swagger-test-templates-1.5.1"
+      (sources."swagger-test-templates-1.6.0" // {
+        dependencies = [
+          sources."lodash-4.17.15"
+        ];
+      })
       (sources."swagger-tools-0.9.16" // {
         dependencies = [
           sources."swagger-converter-0.1.7"
@@ -70881,7 +72456,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.6.0" // {
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -70952,7 +72527,7 @@ in
       sha256 = "886069ecc5eedf0371b948e8ff66e7f2943c85fe7cfdaa7183e1a3572d55852b";
     };
     dependencies = [
-      sources."@types/node-12.7.5"
+      sources."@types/node-12.12.22"
       sources."ajv-6.10.2"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
@@ -70962,7 +72537,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       (sources."bcrypt-pbkdf-1.0.2" // {
         dependencies = [
           sources."tweetnacl-0.14.5"
@@ -70986,7 +72561,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -71007,8 +72582,10 @@ in
       sources."locate-path-3.0.0"
       sources."long-4.0.0"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimist-1.2.0"
+      sources."module-alias-2.2.2"
       sources."moment-2.24.0"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.0"
@@ -71019,7 +72596,7 @@ in
       sources."path-exists-3.0.0"
       sources."performance-now-2.1.0"
       sources."prism-media-0.0.3"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."ramda-0.25.0"
@@ -71040,7 +72617,7 @@ in
       })
       sources."string-width-3.1.0"
       sources."strip-ansi-5.2.0"
-      sources."telegraf-3.32.0"
+      sources."telegraf-3.34.1"
       sources."telegram-typings-3.6.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -71071,13 +72648,13 @@ in
   tern = nodeEnv.buildNodePackage {
     name = "tern";
     packageName = "tern";
-    version = "0.24.1";
+    version = "0.24.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tern/-/tern-0.24.1.tgz";
-      sha512 = "6jK0DcgziZ0NAitZNncg+do/fKGh8hQJShcVU7dHoAljdckr7qr2oozd4l4kTIA7M+0FoKXy6gvRBLO8oWpTEw==";
+      url = "https://registry.npmjs.org/tern/-/tern-0.24.2.tgz";
+      sha512 = "pVJhZp1vvv2ewgPv6YwNsyCU+ComJdHBtTajDo/EdfGHY2CLCQ53ucgCzvWfFx+KXls0H6sRwnDMY8Qo+aQviw==";
     };
     dependencies = [
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."acorn-loose-6.1.0"
       sources."acorn-walk-6.2.0"
       sources."balanced-match-1.0.0"
@@ -71087,8 +72664,8 @@ in
       sources."enhanced-resolve-2.3.0"
       sources."errno-0.1.7"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
@@ -71120,28 +72697,28 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "11.3.1";
+    version = "11.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-11.3.1.tgz";
-      sha512 = "svbO/fhj7dLTJcdKgrW5fJtNRHoFFVL+sutsKBmNUcSJgvgWteLOUZAKT/dp/4S0QfkwkpNOts7Bzn9T+0h0Cw==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-11.5.0.tgz";
+      sha512 = "RUTUj/OS7UdV1Z7/KA4oQfoUkpt1vaoaFizuMlwRZ9MJMhLHBnnXBMlRKUJd1H0Nj32087xIqi1e2pSwsUBK8Q==";
     };
     dependencies = [
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/ast-traverse-2.1.5"
-      sources."@textlint/feature-flag-3.1.3"
-      sources."@textlint/fixer-formatter-3.1.8"
-      sources."@textlint/kernel-3.1.8"
-      sources."@textlint/linter-formatter-3.1.7"
-      sources."@textlint/markdown-to-ast-6.1.5"
-      sources."@textlint/module-interop-1.0.1"
-      sources."@textlint/text-to-ast-3.1.5"
-      sources."@textlint/textlint-plugin-markdown-5.1.8"
-      sources."@textlint/textlint-plugin-text-4.1.8"
-      sources."@textlint/types-1.2.1"
-      sources."@textlint/utils-1.0.2"
-      sources."@types/bluebird-3.5.27"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/ast-traverse-2.1.6"
+      sources."@textlint/feature-flag-3.1.5"
+      sources."@textlint/fixer-formatter-3.1.10"
+      sources."@textlint/kernel-3.1.10"
+      sources."@textlint/linter-formatter-3.1.9"
+      sources."@textlint/markdown-to-ast-6.1.6"
+      sources."@textlint/module-interop-1.0.2"
+      sources."@textlint/text-to-ast-3.1.6"
+      sources."@textlint/textlint-plugin-markdown-5.1.10"
+      sources."@textlint/textlint-plugin-text-4.1.10"
+      sources."@textlint/types-1.2.3"
+      sources."@textlint/utils-1.0.3"
+      sources."@types/bluebird-3.5.29"
       sources."ajv-4.11.8"
       sources."ajv-keywords-1.5.1"
       sources."ansi-regex-2.1.1"
@@ -71149,7 +72726,7 @@ in
       sources."argparse-1.0.10"
       sources."bail-1.0.4"
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."boundary-1.0.1"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
@@ -71166,13 +72743,13 @@ in
       sources."core-util-is-1.0.2"
       sources."crypt-0.0.2"
       sources."debug-4.1.1"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-is-0.1.3"
       sources."define-properties-1.1.3"
       sources."diff-4.0.1"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
@@ -71186,12 +72763,12 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-5.0.1"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."has-symbols-1.0.1"
+      sources."hosted-git-info-2.8.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-alphabetical-1.0.3"
@@ -71199,15 +72776,15 @@ in
       sources."is-arguments-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-decimal-1.0.3"
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-hexadecimal-1.0.3"
       sources."is-plain-obj-1.1.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-utf8-0.2.1"
       sources."is-whitespace-character-1.0.3"
       sources."is-word-character-1.0.3"
@@ -71215,7 +72792,7 @@ in
       sources."js-yaml-3.13.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-stable-stringify-1.0.1"
-      (sources."json5-2.1.0" // {
+      (sources."json5-2.1.1" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -71235,12 +72812,12 @@ in
       sources."ms-2.1.2"
       sources."normalize-package-data-2.5.0"
       sources."number-is-nan-1.0.1"
-      sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
@@ -71257,7 +72834,7 @@ in
       sources."pluralize-2.0.0"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
-      sources."rc-config-loader-2.0.4"
+      sources."rc-config-loader-3.0.0"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-3.0.0" // {
         dependencies = [
@@ -71270,13 +72847,13 @@ in
         ];
       })
       sources."readable-stream-2.3.6"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."remark-frontmatter-1.3.2"
       sources."remark-parse-5.0.0"
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
@@ -71288,9 +72865,9 @@ in
       sources."sprintf-js-1.0.3"
       sources."state-toggle-1.0.2"
       sources."string-width-1.0.2"
-      sources."string.prototype.padstart-3.0.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.padstart-3.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -71316,16 +72893,16 @@ in
       sources."unified-6.2.0"
       sources."unique-concat-0.2.2"
       sources."unist-util-is-3.0.0"
-      sources."unist-util-remove-position-1.1.3"
+      sources."unist-util-remove-position-1.1.4"
       sources."unist-util-stringify-position-1.1.2"
       sources."unist-util-visit-1.4.1"
       sources."unist-util-visit-parents-2.1.2"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."vfile-2.3.0"
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
       sources."x-is-string-0.1.0"
@@ -71351,7 +72928,7 @@ in
       sha1 = "9139c65b8da891c983b368a50a286338cd76777a";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
+      sources."@textlint/ast-node-types-4.2.5"
       sources."txt-to-ast-3.0.3"
     ];
     buildInputs = globalBuildInputs;
@@ -71374,9 +72951,22 @@ in
     };
     dependencies = [
       sources."define-properties-1.1.3"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."match-index-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."object.assign-4.1.0"
+      sources."regexp.prototype.flags-1.3.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71397,8 +72987,8 @@ in
       sha512 = "TP+dtJcCe0+ZR7Gp1E3iJdf3XtOImrEIcUdaQnok4QJJEutZ1dTiP4rCfnyOxz70NZ+2RdBJgZeZZWGhuJzSwA==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/types-1.2.1"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/types-1.2.3"
       sources."alex-5.1.0"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
@@ -71434,6 +73024,7 @@ in
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."isarray-1.0.0"
+          sources."process-nextick-args-2.0.1"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
         ];
@@ -71444,14 +73035,14 @@ in
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
       sources."currently-unhandled-0.4.1"
-      sources."cuss-1.16.0"
-      sources."debug-0.8.1"
+      sources."cuss-1.17.0"
+      sources."debug-4.1.1"
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."dot-prop-4.2.0"
       sources."duplexer-0.1.1"
       sources."duplexer3-0.1.4"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
@@ -71466,14 +73057,14 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-stdin-4.0.1"
       sources."get-stream-3.0.0"
-      sources."git-diff-tree-1.0.0"
-      sources."git-spawned-stream-0.1.1"
-      sources."glob-7.1.4"
+      sources."git-diff-tree-1.1.0"
+      sources."git-spawned-stream-1.0.1"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."ignore-3.3.10"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -71529,7 +73120,7 @@ in
       sources."meow-3.7.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."ms-2.0.0"
+      sources."ms-2.1.2"
       sources."nlcst-is-literal-1.2.0"
       sources."nlcst-normalize-2.1.3"
       sources."nlcst-search-1.5.1"
@@ -71560,7 +73151,7 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pluralize-7.0.0"
       sources."prepend-http-1.0.4"
-      sources."process-nextick-args-2.0.1"
+      sources."process-nextick-args-1.0.7"
       sources."pseudomap-1.0.2"
       sources."pump-1.0.3"
       sources."pump-chain-1.0.0"
@@ -71579,9 +73170,9 @@ in
       sources."repeat-string-1.6.1"
       sources."repeating-2.0.1"
       sources."replace-ext-1.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-5.0.0"
-      sources."retext-english-3.0.3"
+      sources."retext-english-3.0.4"
       sources."retext-equality-3.2.0"
       sources."retext-profanities-4.4.0"
       sources."safe-buffer-5.1.2"
@@ -71627,11 +73218,10 @@ in
       sources."term-size-1.2.0"
       sources."textlint-rule-helper-2.1.1"
       sources."through-2.3.8"
-      (sources."through2-2.0.5" // {
+      (sources."through2-2.0.0" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-2.0.6"
         ];
       })
       sources."timed-out-4.0.1"
@@ -71647,14 +73237,15 @@ in
       (sources."unified-engine-4.0.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       sources."unified-message-control-1.0.4"
       sources."unique-string-1.0.0"
       sources."unist-util-is-3.0.0"
-      sources."unist-util-modify-children-1.1.4"
-      sources."unist-util-position-3.0.3"
-      sources."unist-util-remove-position-1.1.3"
+      sources."unist-util-modify-children-1.1.5"
+      sources."unist-util-position-3.0.4"
+      sources."unist-util-remove-position-1.1.4"
       sources."unist-util-stringify-position-1.1.2"
       sources."unist-util-visit-1.4.1"
       sources."unist-util-visit-children-1.1.3"
@@ -71667,7 +73258,7 @@ in
       sources."validate-npm-package-license-3.0.4"
       sources."vfile-2.3.0"
       sources."vfile-find-up-2.0.2"
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
       (sources."vfile-reporter-4.0.0" // {
         dependencies = [
@@ -71831,35 +73422,33 @@ in
       sha512 = "HydBbkWjnMn4KrnlpnusY1BGjIG+64UySxRCvRphUAIiuJL2nbkdrIIiOjwfQhllKUa7Sf33bs6RAcbEWjZVfg==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/types-1.2.1"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."buffer-from-1.1.1"
-      sources."concat-stream-1.6.2"
-      sources."core-util-is-1.0.2"
+      sources."concat-stream-2.0.0"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."inherits-2.0.4"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."isarray-1.0.0"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.values-1.1.0"
-      sources."process-nextick-args-2.0.1"
-      sources."readable-stream-2.3.6"
-      sources."safe-buffer-5.1.2"
-      sources."sentence-splitter-3.0.11"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
-      sources."string_decoder-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."object.values-1.1.1"
+      sources."readable-stream-3.4.0"
+      sources."safe-buffer-5.2.0"
+      sources."sentence-splitter-3.2.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      sources."string_decoder-1.3.0"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
       sources."typedarray-0.0.6"
@@ -71892,19 +73481,20 @@ in
       sources."define-properties-1.1.3"
       sources."emoji-regex-6.5.1"
       sources."end-with-1.0.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."object.assign-4.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71919,14 +73509,14 @@ in
   textlint-rule-stop-words = nodeEnv.buildNodePackage {
     name = "textlint-rule-stop-words";
     packageName = "textlint-rule-stop-words";
-    version = "1.0.17";
+    version = "1.0.18";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.17.tgz";
-      sha512 = "7m1k3xMwsOw7WyGNINJQ5EX2+mnqAeg6VBfXY7BVUr/y6NOYhPbEj3A3MBJ9Jt9dfC1twL0aI6mKPo+5xLUsVA==";
+      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.18.tgz";
+      sha512 = "/Cg20pLZgEl8vi6gUu44DGRG+iOtXa4rcvfiOURrwP5lbaQHpuo/0bQSKJnnFzih/hRHw/qnEXqd7PsfpnuEYw==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/types-1.2.1"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."lodash-4.17.15"
       sources."split-lines-2.0.0"
@@ -71949,17 +73539,17 @@ in
   textlint-rule-terminology = nodeEnv.buildNodePackage {
     name = "textlint-rule-terminology";
     packageName = "textlint-rule-terminology";
-    version = "1.1.30";
+    version = "2.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-1.1.30.tgz";
-      sha512 = "PsLiridAdaLyho236adWnTEAbAcxxUsxVqaXWaJce+aRsjCOeyYPBLNRisFGz90KZ0S1NDYT/v5CvzBrgsiuzQ==";
+      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-2.0.1.tgz";
+      sha512 = "UhZjs/I+y93lOeZflPu+yfWB+z3U6LdSBV9K4AEHQb3IkDMEZLk1QW/q+Ct3vQuiMZl2HfoqdQGakPhHmc/YkQ==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/types-1.2.1"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."lodash-4.17.15"
-      sources."strip-json-comments-2.0.1"
+      sources."strip-json-comments-3.0.1"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
       sources."unist-util-is-3.0.0"
@@ -71985,22 +73575,24 @@ in
       sha512 = "kkbsbUlI3Gw4VTr79E825+2wuxPG8dM8T4VjEH25zlNhh3j8vpsVDjpbXRkVFl+EvDBCtDZEDaFPwhXy85toVQ==";
     };
     dependencies = [
-      sources."array-includes-3.0.3"
+      sources."array-includes-3.1.1"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
       sources."is-capitalized-1.0.0"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-string-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."object.assign-4.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -72021,14 +73613,14 @@ in
       sha1 = "3c79b04091319d4e8be5fb442c596bf500e8493e";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.2.4"
-      sources."@textlint/types-1.2.1"
+      sources."@textlint/ast-node-types-4.2.5"
+      sources."@textlint/types-1.2.3"
       sources."adverb-where-0.0.9"
       sources."boundary-1.0.1"
       sources."define-properties-1.1.3"
       sources."e-prime-0.10.2"
       sources."function-bind-1.1.1"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."no-cliches-0.1.1"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
@@ -72055,10 +73647,10 @@ in
   thelounge = nodeEnv.buildNodePackage {
     name = "thelounge";
     packageName = "thelounge";
-    version = "3.2.0";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge/-/thelounge-3.2.0.tgz";
-      sha512 = "yOS19bt2O0l6DGAiJRad6DFMmDHmDVylfInLthNl9YfMfgSoC7aZcT7fofTe9htAE4SRfac9YsgKEtmywQ+MkA==";
+      url = "https://registry.npmjs.org/thelounge/-/thelounge-3.3.0.tgz";
+      sha512 = "F7qYCmAkb/HPFxZfyKi/gEm24ZzjgUzJb+zI5I5u8b5PNJrfi9RwFb3cmE4pvF2Ft0QejR5O4khuX6DEFFxYDw==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -72082,18 +73674,18 @@ in
       })
       sources."array-flatten-1.1.1"
       sources."arraybuffer.slice-0.0.7"
-      sources."asn1-0.2.3"
+      sources."asn1-0.2.4"
       sources."asn1.js-5.2.0"
       sources."assert-plus-1.0.0"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."backoff-2.5.0"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
-      sources."base64id-1.0.0"
+      sources."base64id-2.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
       sources."better-assert-1.0.2"
@@ -72115,13 +73707,13 @@ in
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."cheerio-0.22.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-3.0.0"
+      sources."commander-3.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
@@ -72135,7 +73727,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.2.1"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -72143,7 +73735,7 @@ in
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -72159,19 +73751,22 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
-      (sources."engine.io-3.3.2" // {
+      sources."end-of-stream-1.4.4"
+      (sources."engine.io-3.4.0" // {
         dependencies = [
           sources."cookie-0.3.1"
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
         ];
       })
-      (sources."engine.io-client-3.3.2" // {
+      (sources."engine.io-client-3.4.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          sources."ws-6.1.4"
         ];
       })
-      sources."engine.io-parser-2.1.3"
+      sources."engine.io-parser-2.2.0"
       sources."entities-1.1.2"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
@@ -72185,11 +73780,11 @@ in
         ];
       })
       sources."extend-3.0.2"
-      sources."extsprintf-1.2.0"
+      sources."extsprintf-1.4.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-text-encoding-1.0.0"
-      sources."file-type-12.1.0"
+      sources."file-type-12.3.1"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.1.0"
       sources."finalhandler-1.1.2"
@@ -72203,9 +73798,9 @@ in
       sources."gauge-2.7.4"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."grapheme-splitter-1.0.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -72222,14 +73817,14 @@ in
       })
       sources."http-signature-1.2.0"
       sources."http_ece-1.1.0"
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
         ];
       })
       sources."iconv-lite-0.4.24"
-      sources."ignore-walk-3.0.2"
+      sources."ignore-walk-3.0.3"
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -72256,11 +73851,8 @@ in
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
       sources."keyv-3.1.0"
-      (sources."ldap-filter-0.2.2" // {
-        dependencies = [
-          sources."assert-plus-0.1.5"
-        ];
-      })
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.0.0-pre.2"
       sources."linkify-it-2.2.0"
       sources."lodash-4.17.15"
       sources."lodash.assignin-4.2.0"
@@ -72287,8 +73879,8 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."minipass-2.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -72310,9 +73902,10 @@ in
         ];
       })
       sources."nopt-4.0.1"
-      sources."normalize-url-4.4.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.4"
+      sources."normalize-url-4.5.0"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
@@ -72339,7 +73932,7 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -72372,21 +73965,29 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."signal-exit-3.0.2"
-      (sources."socket.io-2.2.0" // {
+      (sources."socket.io-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
-      (sources."socket.io-client-2.2.0" // {
+      sources."socket.io-adapter-1.1.2"
+      (sources."socket.io-client-2.3.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          (sources."socket.io-parser-3.3.0" // {
+            dependencies = [
+              sources."debug-3.1.0"
+              sources."ms-2.0.0"
+            ];
+          })
         ];
       })
-      (sources."socket.io-parser-3.3.0" // {
+      (sources."socket.io-parser-3.4.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
         ];
       })
       (sources."socksjs-0.5.0" // {
@@ -72394,7 +73995,7 @@ in
           sources."ipaddr.js-0.1.3"
         ];
       })
-      sources."sqlite3-4.0.9"
+      sources."sqlite3-4.1.0"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
       sources."streamsearch-0.1.2"
@@ -72404,8 +74005,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
       sources."supports-color-5.5.0"
-      sources."tar-4.4.11"
-      sources."thelounge-ldapjs-non-maintained-fork-1.0.4"
+      sources."tar-4.4.13"
       sources."tlds-1.203.1"
       sources."to-array-0.1.4"
       sources."to-readable-stream-1.0.0"
@@ -72428,22 +74028,18 @@ in
       sources."urlsafe-base64-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.3.2"
+      sources."uuid-3.3.3"
       sources."vary-1.1.2"
-      (sources."vasync-1.6.4" // {
-        dependencies = [
-          sources."verror-1.6.0"
-        ];
-      })
+      sources."vasync-2.2.0"
       sources."verror-1.10.0"
-      sources."web-push-3.3.5"
+      sources."web-push-3.4.1"
       sources."wide-align-1.1.3"
-      sources."with-open-file-0.1.6"
+      sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-6.1.4"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
-      sources."yallist-3.0.3"
-      sources."yarn-1.17.3"
+      sources."yallist-3.1.1"
+      sources."yarn-1.19.1"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -72459,10 +74055,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.108.0";
+    version = "0.111.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.108.0.tgz";
-      sha512 = "d1ysIXwi8qTlbmMwrTxi5pYiiYIflEr0e48krP0LAY8ndS8c6fkLHn6NvRT+o76/Fs9PBLxFViuI62iGVWwwlg==";
+      url = "https://registry.npmjs.org/three/-/three-0.111.0.tgz";
+      sha512 = "AcTqyGJ3H75AIusOuADy0LsP958QKQwm/YhABHFMzd6RFXPNVay1rlSbbG6WYv7KM72G2THMMwqbjQd4dVHMkQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72495,24 +74091,23 @@ in
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
-    version = "5.2.1";
+    version = "5.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-5.2.1.tgz";
-      sha512 = "tltnQ41NBjItM+ELsGL2jpaEnsMMeziZe0sGKtUxhwM1tndh7GFMfu2lpDqAFdMLwj+ZplRmlK0kKP4++68rrA==";
+      url = "https://registry.npmjs.org/titanium/-/titanium-5.2.2.tgz";
+      sha512 = "PvlmqvMRwgPReA3tPfExeS1mweQY/KpCIY5+zLP/lp0UEi93wLvSMzqp/5vV5pjK7cwkzhPtc68TszBNM+zv9Q==";
     };
     dependencies = [
       sources."adm-zip-0.4.13"
       sources."ajv-6.10.2"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-2.6.1"
+      sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.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."buffer-from-1.1.1"
       sources."caseless-0.12.0"
       sources."colors-1.3.3"
       sources."combined-stream-1.0.8"
@@ -72528,7 +74123,7 @@ in
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       (sources."fields-0.1.24" // {
         dependencies = [
           sources."colors-0.6.2"
@@ -72539,8 +74134,8 @@ in
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-signature-1.2.0"
@@ -72557,43 +74152,35 @@ in
       sources."jsprim-1.4.1"
       sources."keypress-0.2.1"
       sources."lodash-4.17.15"
-      sources."longjohn-0.2.12"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
-      sources."moment-2.22.2"
+      sources."moment-2.24.0"
       (sources."node-appc-0.2.49" // {
         dependencies = [
-          sources."semver-5.5.1"
-          sources."temp-0.8.3"
+          sources."temp-0.8.4"
         ];
       })
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."optimist-0.6.1"
-      sources."os-tmpdir-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."pkginfo-0.3.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
-      sources."rimraf-2.2.8"
+      sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.6.0"
+      sources."semver-5.5.1"
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.13"
       sources."sprintf-0.1.5"
       sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
-      (sources."temp-0.9.0" // {
-        dependencies = [
-          sources."rimraf-2.6.3"
-        ];
-      })
+      sources."temp-0.9.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -72614,7 +74201,7 @@ in
       })
       sources."wordwrap-0.0.3"
       sources."wrappy-1.0.2"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -72629,10 +74216,10 @@ in
   triton = nodeEnv.buildNodePackage {
     name = "triton";
     packageName = "triton";
-    version = "7.5.0";
+    version = "7.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/triton/-/triton-7.5.0.tgz";
-      sha512 = "t1b1B2H0y9jOUqDm2rr9gQsnI0mm0ws47h+pz8sBWw+Ylw+J664bM/usKPevh38J17zlKo3FisAZvSjcOVfIZQ==";
+      url = "https://registry.npmjs.org/triton/-/triton-7.5.1.tgz";
+      sha512 = "UR/eNGvp3YY/TgrKOV+7QRHFAQVBX5sbnrFIKTMRdX9juzt7t+rlUgNQYMycMB1afBRQXs+r02rfvSKiPJ7xZA==";
     };
     dependencies = [
       sources."asn1-0.2.4"
@@ -72668,7 +74255,7 @@ in
         ];
       })
       sources."glob-5.0.15"
-      (sources."http-signature-1.2.0" // {
+      (sources."http-signature-1.3.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -72760,7 +74347,7 @@ in
           sources."verror-1.1.0"
         ];
       })
-      (sources."sshpk-1.14.1" // {
+      (sources."sshpk-1.16.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -72768,6 +74355,7 @@ in
       (sources."sshpk-agent-1.7.0" // {
         dependencies = [
           sources."assert-plus-1.0.0"
+          sources."sshpk-1.14.2"
         ];
       })
       (sources."string_decoder-1.1.1" // {
@@ -72827,25 +74415,35 @@ in
       sha512 = "N8E1X543CWEjg0/A70ZnA/kfAfAY/uogILsIuWBhHGxzv9kaJaj7/JCSwDiBH86CPEy37chSgW86KxVeYKsswQ==";
     };
     dependencies = [
-      sources."@types/node-6.14.7"
+      sources."@types/node-6.14.9"
       sources."ansi-0.3.1"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
       sources."chalk-1.1.3"
       sources."colors-1.4.0"
+      sources."concat-map-0.0.1"
       sources."diff-2.2.3"
       sources."escape-string-regexp-1.0.5"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.6"
       sources."has-ansi-2.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."node-color-readline-1.0.1"
+      sources."once-1.4.0"
       sources."optimist-0.6.1"
-      sources."os-tmpdir-1.0.2"
-      sources."rimraf-2.2.8"
+      sources."path-is-absolute-1.0.1"
+      sources."rimraf-2.6.3"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
-      sources."temp-0.8.3"
+      sources."temp-0.8.4"
       sources."tslib-1.10.0"
       sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -72883,10 +74481,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "3.6.3";
+    version = "3.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
-      sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz";
+      sha512 = "A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72908,20 +74506,20 @@ in
     };
     dependencies = [
       sources."command-exists-1.2.6"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."crypto-random-string-1.0.0"
       sources."fs-extra-7.0.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."jsonfile-4.0.0"
       sources."p-debounce-1.0.0"
       sources."temp-dir-1.0.0"
       sources."tempy-0.2.1"
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
-      sources."vscode-jsonrpc-4.1.0-next.3"
+      sources."vscode-jsonrpc-5.0.0-next.5"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.15.0-next.8"
-      sources."vscode-languageserver-types-3.15.0-next.4"
+      sources."vscode-languageserver-protocol-3.15.0-next.14"
+      sources."vscode-languageserver-types-3.15.0-next.9"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
     ];
@@ -72937,13 +74535,13 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.6.0";
+    version = "3.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
-      sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz";
+      sha512 = "uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==";
     };
     dependencies = [
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."source-map-0.6.1"
     ];
     buildInputs = globalBuildInputs;
@@ -72959,12 +74557,13 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.4.47";
+    version = "1.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.47.tgz";
-      sha512 = "aTkH2jg6vCcobdSeElJ2xqRI6zHL8Y+TPLEgE+86BmdSLPyRgvYbqTzvieTXF+4U9y693NtfyALcvKxqHhcmJA==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.1.tgz";
+      sha512 = "ePcMZXXUjAt3Gevn/iBzXjlitmrgOQsNTn2w0d1/+jGhDcr8MxDFRCI5tuYWKsBBXX4/ccSsiBI0aaHd2SzQbQ==";
     };
     dependencies = [
+      sources."@primer/octicons-9.3.1"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."after-0.8.2"
@@ -72981,7 +74580,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -73047,13 +74646,9 @@ in
       sources."diff-4.0.1"
       sources."diff2html-2.8.0"
       sources."dnd-page-scroll-0.0.4"
-      (sources."eachr-3.2.0" // {
-        dependencies = [
-          sources."editions-1.3.4"
-        ];
-      })
+      sources."eachr-3.3.0"
       sources."ecc-jsbn-0.1.2"
-      (sources."editions-2.2.0" // {
+      (sources."editions-2.3.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -73061,7 +74656,7 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       (sources."engine.io-3.3.2" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -73073,7 +74668,7 @@ in
         ];
       })
       sources."engine.io-parser-2.1.3"
-      sources."errlop-1.1.2"
+      sources."errlop-2.0.0"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eve-0.5.4"
@@ -73096,15 +74691,11 @@ in
         ];
       })
       sources."extend-3.0.2"
-      (sources."extract-opts-3.3.1" // {
-        dependencies = [
-          sources."editions-1.3.4"
-        ];
-      })
+      sources."extract-opts-3.4.0"
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       (sources."finalhandler-1.1.1" // {
         dependencies = [
@@ -73123,8 +74714,8 @@ in
       sources."get-stream-4.1.0"
       sources."getmac-1.4.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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-binary2-1.0.3" // {
@@ -73140,7 +74731,7 @@ in
           sources."mkdirp-0.3.0"
         ];
       })
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
@@ -73167,7 +74758,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."just-detect-adblock-1.0.0"
-      sources."knockout-3.5.0"
+      sources."knockout-3.5.1"
       sources."lcid-2.0.0"
       sources."locate-path-3.0.0"
       sources."locks-0.2.2"
@@ -73185,8 +74776,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -73202,7 +74793,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-6.9.2"
+      sources."npm-6.12.1"
       (sources."npm-package-arg-6.1.1" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -73220,7 +74811,6 @@ in
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-component-0.0.3"
-      sources."octicons-3.5.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -73238,7 +74828,7 @@ in
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
       sources."parseurl-1.3.3"
-      sources."passport-0.4.0"
+      sources."passport-0.4.1"
       sources."passport-local-1.0.0"
       sources."passport-strategy-1.0.0"
       sources."path-exists-3.0.0"
@@ -73251,7 +74841,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -73272,7 +74862,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
@@ -73301,7 +74891,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.2.0" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -73336,7 +74926,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."temp-0.9.0"
+      sources."temp-0.9.1"
       sources."to-array-0.1.4"
       sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
@@ -73347,7 +74937,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."typechecker-4.7.0"
+      sources."typechecker-4.11.0"
       sources."typedarray-0.0.6"
       sources."uid-safe-2.1.5"
       sources."unpipe-1.0.0"
@@ -73490,12 +75080,12 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bl-1.2.2"
-      sources."bluebird-3.5.5"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
@@ -73520,7 +75110,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.12"
       sources."consolidate-0.14.5"
@@ -73547,7 +75137,7 @@ in
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."enable-1.3.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
@@ -73555,7 +75145,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."figures-2.0.0"
       sources."file-type-5.2.0"
@@ -73570,12 +75160,12 @@ in
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
       sources."gray-matter-2.1.1"
-      sources."handlebars-4.2.1"
+      sources."handlebars-4.5.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-ansi-2.0.0" // {
@@ -73633,8 +75223,8 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -73664,7 +75254,7 @@ in
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."read-metadata-1.0.0"
@@ -73728,7 +75318,7 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.6.0"
+      sources."uglify-js-3.7.2"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.3.3"
       sources."unyield-0.0.1"
@@ -73763,10 +75353,10 @@ in
   vue-language-server = nodeEnv.buildNodePackage {
     name = "vue-language-server";
     packageName = "vue-language-server";
-    version = "0.0.61";
+    version = "0.0.65";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vue-language-server/-/vue-language-server-0.0.61.tgz";
-      sha512 = "/fBg8FrW2H4CRO/dsr3VuGVYs5RS6zQIT+eG9SEQdo3VRDF8bNmJro1QpszJ0KVC7UxW9+fwf98i+xDBtne2Xw==";
+      url = "https://registry.npmjs.org/vue-language-server/-/vue-language-server-0.0.65.tgz";
+      sha512 = "2yHZGU+KMv7xdEFhh88ZZBlj0i9wAByDxcd1orfNfrRLUDaabjyHNnkhvw4tdne9fOeAj6w43OKxo/YqMXQXiw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
@@ -73784,13 +75374,13 @@ in
       sources."@starptech/rehype-minify-whitespace-0.9.0"
       sources."@starptech/rehype-webparser-0.9.0"
       sources."@starptech/webparser-0.9.0"
-      sources."@types/node-12.7.5"
+      sources."@types/node-13.1.0"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
-      sources."@types/vfile-message-1.0.1"
+      sources."@types/vfile-message-2.0.0"
       sources."abbrev-1.1.1"
-      sources."acorn-6.3.0"
-      sources."acorn-jsx-5.0.2"
+      sources."acorn-6.4.0"
+      sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
       sources."ajv-keywords-2.1.1"
       sources."ansi-align-2.0.0"
@@ -73845,6 +75435,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bootstrap-vue-helper-json-1.1.1"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
@@ -73919,7 +75510,7 @@ in
         ];
       })
       sources."comma-separated-tokens-1.0.7"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."common-tags-1.8.0"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -73927,7 +75518,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
@@ -73960,6 +75551,7 @@ in
       sources."editorconfig-0.15.3"
       sources."element-helper-json-2.0.6"
       sources."emoji-regex-7.0.3"
+      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       (sources."eslint-5.16.0" // {
@@ -73977,7 +75569,7 @@ in
         ];
       })
       sources."eslint-scope-4.0.3"
-      sources."eslint-utils-1.4.2"
+      sources."eslint-utils-1.4.3"
       sources."eslint-visitor-keys-1.1.0"
       sources."espree-5.0.1"
       sources."esprima-4.0.1"
@@ -74031,11 +75623,12 @@ in
       })
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.3"
       sources."figures-2.0.0"
       sources."file-entry-cache-5.0.1"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -74051,13 +75644,13 @@ in
       sources."format-0.2.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-base-0.3.0" // {
         dependencies = [
           sources."glob-parent-2.0.0"
@@ -74075,7 +75668,7 @@ in
       sources."globals-11.12.0"
       sources."globby-8.0.2"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."gridsome-helper-json-1.0.3"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -74095,15 +75688,15 @@ in
       sources."hast-util-has-property-1.0.3"
       sources."hast-util-is-body-ok-link-1.0.2"
       sources."hast-util-is-element-1.0.3"
-      sources."hast-util-parse-selector-2.2.2"
+      sources."hast-util-parse-selector-2.2.3"
       sources."hast-util-to-string-1.0.2"
       sources."hast-util-whitespace-1.0.3"
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."html-void-elements-1.0.4"
       sources."html-whitespace-sensitive-tag-names-1.0.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-3.3.10"
-      (sources."import-fresh-3.1.0" // {
+      (sources."import-fresh-3.2.1" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
@@ -74120,13 +75713,13 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."invert-kv-1.0.0"
+      sources."invert-kv-2.0.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-alphabetical-1.0.3"
       sources."is-alphanumerical-1.0.3"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
-      sources."is-buffer-2.0.3"
+      sources."is-buffer-2.0.4"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-decimal-1.0.3"
@@ -74171,11 +75764,11 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.1.0"
+      sources."json5-2.1.1"
       sources."jsonc-parser-1.0.3"
       sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
-      sources."lcid-1.0.0"
+      sources."lcid-2.0.0"
       sources."levn-0.3.0"
       sources."load-json-file-4.0.0"
       sources."load-plugin-2.3.1"
@@ -74188,7 +75781,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.rest-4.0.5"
       sources."lodash.unescape-4.0.1"
-      sources."loglevel-1.6.4"
+      sources."loglevel-1.6.6"
       (sources."loglevel-colored-level-prefix-1.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -74203,12 +75796,17 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."make-dir-1.3.0"
+      sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
       sources."map-visit-1.0.0"
       sources."markdown-table-0.4.0"
       sources."math-random-1.0.4"
-      sources."mem-1.1.0"
+      (sources."mem-4.3.0" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+        ];
+      })
       (sources."meow-5.0.0" // {
         dependencies = [
           sources."read-pkg-up-3.0.0"
@@ -74264,12 +75862,20 @@ in
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
-      sources."os-locale-2.1.0"
+      (sources."os-locale-3.1.0" // {
+        dependencies = [
+          sources."cross-spawn-6.0.5"
+          sources."execa-1.0.0"
+          sources."get-stream-4.1.0"
+        ];
+      })
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
+      sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
+      sources."p-is-promise-2.1.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
@@ -74310,7 +75916,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."prepend-http-1.0.4"
       sources."preserve-0.2.0"
-      sources."prettier-1.18.2"
+      sources."prettier-1.19.1"
       (sources."prettier-eslint-8.8.2" // {
         dependencies = [
           sources."acorn-5.7.3"
@@ -74343,9 +75949,10 @@ in
       sources."pretty-format-23.6.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
-      sources."property-information-5.2.2"
+      sources."property-information-5.3.0"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
+      sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."quick-lru-1.1.0"
       (sources."randomatic-3.1.1" // {
@@ -74398,7 +76005,7 @@ in
           sources."resolve-from-1.0.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -74505,7 +76112,9 @@ in
           sources."cliui-3.2.0"
           sources."find-up-1.1.2"
           sources."glob-7.0.4"
+          sources."invert-kv-1.0.0"
           sources."is-fullwidth-code-point-1.0.0"
+          sources."lcid-1.0.0"
           sources."load-json-file-1.1.0"
           sources."os-locale-1.4.0"
           sources."parse-json-2.2.0"
@@ -74532,7 +76141,7 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      sources."stylus-supremacy-2.12.7"
+      sources."stylus-supremacy-2.14.0"
       sources."supports-color-5.5.0"
       sources."symbol-0.2.3"
       (sources."table-5.4.6" // {
@@ -74565,11 +76174,11 @@ in
       sources."trim-trailing-lines-1.1.2"
       sources."trough-1.0.4"
       sources."tslib-1.10.0"
-      sources."tslint-5.20.0"
+      sources."tslint-5.20.1"
       sources."tsutils-2.29.0"
       sources."type-check-0.3.2"
       sources."typedarray-0.0.6"
-      sources."typescript-3.6.3"
+      sources."typescript-3.7.4"
       (sources."typescript-eslint-parser-16.0.1" // {
         dependencies = [
           sources."semver-5.5.0"
@@ -74592,8 +76201,8 @@ in
       sources."unist-util-find-1.0.1"
       sources."unist-util-inspect-4.1.4"
       sources."unist-util-is-2.1.3"
-      sources."unist-util-modify-children-1.1.4"
-      sources."unist-util-remove-position-1.1.3"
+      sources."unist-util-modify-children-1.1.5"
+      sources."unist-util-remove-position-1.1.4"
       sources."unist-util-stringify-position-1.1.2"
       sources."unist-util-visit-1.4.1"
       (sources."unist-util-visit-parents-2.1.2" // {
@@ -74621,35 +76230,35 @@ in
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
-      (sources."vfile-4.0.1" // {
+      (sources."vfile-4.0.2" // {
         dependencies = [
-          sources."unist-util-stringify-position-2.0.1"
-          sources."vfile-message-2.0.1"
+          sources."unist-util-stringify-position-2.0.2"
+          sources."vfile-message-2.0.2"
         ];
       })
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
       (sources."vfile-reporter-5.1.2" // {
         dependencies = [
-          sources."unist-util-stringify-position-2.0.1"
+          sources."unist-util-stringify-position-2.0.2"
         ];
       })
       sources."vfile-sort-2.2.1"
       sources."vfile-statistics-1.1.3"
       sources."vscode-css-languageservice-4.0.2"
-      (sources."vscode-emmet-helper-1.2.15" // {
+      (sources."vscode-emmet-helper-1.2.16" // {
         dependencies = [
           sources."vscode-languageserver-types-3.14.0"
         ];
       })
-      sources."vscode-jsonrpc-4.1.0-next.3"
+      sources."vscode-jsonrpc-5.0.0-next.5"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.15.0-next.8"
-      sources."vscode-languageserver-types-3.15.0-next.4"
+      sources."vscode-languageserver-protocol-3.15.0-next.14"
+      sources."vscode-languageserver-types-3.15.0-next.9"
       sources."vscode-nls-4.1.1"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
-      (sources."vue-eslint-parser-6.0.4" // {
+      (sources."vue-eslint-parser-6.0.5" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
@@ -74660,7 +76269,7 @@ in
       sources."which-module-2.0.0"
       sources."widest-line-2.0.1"
       sources."window-size-0.2.0"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -74678,7 +76287,7 @@ in
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
-      (sources."yargs-11.1.0" // {
+      (sources."yargs-11.1.1" // {
         dependencies = [
           sources."yargs-parser-9.0.2"
         ];
@@ -74698,72 +76307,58 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "3.1.1";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-3.1.1.tgz";
-      sha512 = "snTfhuxoplm8QAlv+CwOaF0XSaycDUmxsrLfi4NtZRvZ6J79+ijOu9HyTXP0rd1zT3uagWYOBc3ol/ZOsf1LQQ==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-4.0.0.tgz";
+      sha512 = "778HKIoWpIrZzOq7rPA7Fu7YQ/fnZ6w9XCKUqGJRjo2NgOtgtkLmkd7lCw3gU7KJYe7hurI5XYossJMgjmyNaQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/polyfill-7.4.4"
-      sources."@babel/runtime-7.4.5"
-      sources."@babel/runtime-corejs2-7.6.0"
+      sources."@babel/polyfill-7.7.0"
+      sources."@babel/runtime-7.7.7"
+      sources."@babel/runtime-corejs2-7.7.7"
       sources."@cliqz-oss/firefox-client-0.3.1"
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
       sources."@sindresorhus/is-0.14.0"
-      sources."@snyk/cli-interface-2.1.0"
-      sources."@snyk/composer-lockfile-parser-1.0.3"
-      sources."@snyk/dep-graph-1.12.0"
-      sources."@snyk/gemfile-1.2.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/agent-base-4.2.0"
-      sources."@types/bunyan-1.8.6"
-      sources."@types/debug-4.1.5"
-      sources."@types/events-3.0.0"
+      sources."@types/color-name-1.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.7.5"
-      sources."@types/restify-4.3.6"
-      sources."@types/semver-5.5.0"
-      sources."@types/xml2js-0.4.3"
-      sources."@yarnpkg/lockfile-1.1.0"
+      sources."@types/node-13.1.0"
       sources."JSONSelect-0.2.1"
-      sources."abbrev-1.1.1"
-      sources."acorn-5.7.3"
-      (sources."acorn-jsx-3.0.1" // {
-        dependencies = [
-          sources."acorn-3.3.0"
-        ];
-      })
+      sources."acorn-6.4.0"
+      sources."acorn-jsx-5.1.0"
       sources."adbkit-2.11.1"
       sources."adbkit-logcat-1.1.0"
       sources."adbkit-monkey-1.0.1"
-      (sources."addons-linter-1.10.0" // {
+      (sources."addons-linter-1.19.0" // {
         dependencies = [
-          sources."regenerator-runtime-0.13.2"
+          sources."ansi-regex-4.1.0"
+          sources."decamelize-1.2.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."yargs-14.0.0"
         ];
       })
       sources."adm-zip-0.4.13"
-      (sources."agent-base-4.3.0" // {
+      sources."ajv-6.10.2"
+      sources."ajv-keywords-1.5.1"
+      sources."ajv-merge-patch-4.1.0"
+      (sources."ansi-align-3.0.0" // {
         dependencies = [
-          sources."es6-promise-4.2.8"
-          sources."es6-promisify-5.0.0"
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
-      sources."ajv-6.10.0"
-      sources."ajv-keywords-1.5.1"
-      sources."ajv-merge-patch-4.1.0"
-      sources."ansi-align-2.0.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.1"
-      sources."ansicolors-0.3.2"
       sources."any-promise-1.3.0"
       sources."anymatch-2.0.0"
       (sources."archiver-2.1.1" // {
         dependencies = [
           sources."async-2.6.3"
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -74771,37 +76366,32 @@ in
       })
       (sources."archiver-utils-1.3.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."archy-1.0.0"
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
       sources."array-differ-3.0.0"
       sources."array-filter-0.0.1"
-      sources."array-from-2.1.1"
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
       sources."array-union-2.1.0"
       sources."array-unique-0.3.2"
       sources."arrify-2.0.1"
-      sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."ast-types-0.13.2"
       sources."astral-regex-1.0.0"
       sources."async-0.2.10"
       sources."async-each-1.0.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       (sources."babel-code-frame-6.26.0" // {
         dependencies = [
           sources."ansi-styles-2.2.1"
@@ -74810,16 +76400,6 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."babel-polyfill-6.16.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.9.6"
-        ];
-      })
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -74829,9 +76409,9 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."bl-1.2.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
           (sources."readable-stream-2.3.6" // {
             dependencies = [
               sources."safe-buffer-5.1.2"
@@ -74846,15 +76426,26 @@ in
       })
       sources."bluebird-2.9.34"
       sources."boolbase-1.0.0"
-      (sources."boxen-1.3.0" // {
+      (sources."boxen-4.2.0" // {
         dependencies = [
-          sources."camelcase-4.1.0"
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."chalk-3.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."emoji-regex-8.0.0"
+          sources."has-flag-4.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
+          sources."supports-color-7.1.0"
         ];
       })
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
       sources."buffer-5.4.3"
@@ -74865,34 +76456,28 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       sources."bunyan-1.8.12"
-      sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.1.0"
           sources."lowercase-keys-2.0.0"
-          sources."normalize-url-4.4.1"
         ];
       })
-      (sources."caller-path-0.1.0" // {
-        dependencies = [
-          sources."callsites-0.2.0"
-        ];
-      })
-      sources."callsites-3.1.0"
+      sources."caller-path-0.1.0"
+      sources."callsites-0.2.0"
       sources."camelcase-5.3.1"
-      sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.3"
       (sources."chokidar-2.1.8" // {
         dependencies = [
-          sources."fsevents-1.2.9"
+          sources."fsevents-1.2.11"
           sources."normalize-path-3.0.0"
         ];
       })
-      sources."ci-info-1.6.0"
+      sources."chrome-launcher-0.12.0"
+      sources."ci-info-2.0.0"
       sources."circular-json-0.3.3"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -74911,18 +76496,17 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."cli-boxes-1.0.0"
+      sources."cli-boxes-2.2.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      (sources."cliui-3.2.0" // {
+      (sources."cliui-5.0.0" // {
         dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
-          sources."wrap-ansi-2.1.0"
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."clone-1.0.4"
-      sources."clone-deep-0.3.0"
       sources."clone-response-1.0.2"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
@@ -74932,12 +76516,11 @@ in
       sources."colors-0.5.1"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."common-tags-1.8.0"
       sources."component-emitter-1.3.0"
       (sources."compress-commons-1.2.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -74946,121 +76529,89 @@ in
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."configstore-3.1.2"
+      sources."configstore-5.0.0"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."crc-3.8.0"
       (sources."crc32-stream-2.0.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."crx-parser-0.1.2"
-      sources."crypto-random-string-1.0.0"
+      sources."crypto-random-string-2.0.0"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
-      (sources."data-uri-to-buffer-2.0.1" // {
-        dependencies = [
-          sources."@types/node-8.10.54"
-        ];
-      })
       sources."debounce-1.2.0"
       sources."debug-2.6.9"
-      (sources."decamelize-3.2.0" // {
-        dependencies = [
-          sources."xregexp-4.2.4"
-        ];
-      })
+      sources."decamelize-3.2.0"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
-      sources."deepcopy-0.6.3"
-      sources."deepmerge-3.2.0"
+      sources."deepcopy-2.0.0"
+      sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
-      (sources."degenerator-1.0.4" // {
-        dependencies = [
-          sources."esprima-3.1.3"
-        ];
-      })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."diff-4.0.1"
-      (sources."dispensary-0.37.0" // {
+      (sources."dispensary-0.48.1" // {
         dependencies = [
-          sources."async-3.0.1"
+          sources."async-3.1.0"
         ];
       })
-      sources."dockerfile-ast-0.0.16"
       sources."doctrine-3.0.0"
       sources."dom-serializer-0.1.1"
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."dot-prop-4.2.0"
-      (sources."dotnet-deps-parser-4.5.0" // {
-        dependencies = [
-          sources."xml2js-0.4.19"
-        ];
-      })
+      sources."dot-prop-5.2.0"
       sources."dtrace-provider-0.8.8"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
-      sources."email-validator-2.0.4"
       sources."emoji-regex-7.0.3"
-      sources."encoding-0.1.12"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
-      sources."es5-ext-0.10.51"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.10.53"
       sources."es6-error-4.1.1"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-promise-2.3.0"
-      sources."es6-promisify-6.0.1"
+      sources."es6-promisify-6.0.2"
       (sources."es6-set-0.1.5" // {
         dependencies = [
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."escodegen-1.12.0" // {
-        dependencies = [
-          sources."esprima-3.1.3"
-        ];
-      })
       sources."escope-3.6.0"
       (sources."eslint-5.16.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."debug-4.1.1"
+          sources."espree-5.0.1"
           sources."ms-2.1.2"
           sources."semver-5.7.1"
           sources."strip-ansi-4.0.0"
@@ -75069,6 +76620,12 @@ in
       })
       (sources."eslint-plugin-no-unsafe-innerhtml-1.0.16" // {
         dependencies = [
+          sources."acorn-5.7.3"
+          (sources."acorn-jsx-3.0.1" // {
+            dependencies = [
+              sources."acorn-3.3.0"
+            ];
+          })
           sources."ajv-4.11.8"
           sources."ansi-escapes-1.4.0"
           sources."ansi-regex-3.0.0"
@@ -75087,13 +76644,12 @@ in
           sources."is-fullwidth-code-point-1.0.0"
           sources."onetime-1.1.0"
           sources."progress-1.1.8"
-          sources."require-uncached-1.0.3"
-          sources."resolve-from-1.0.1"
           sources."restore-cursor-1.0.1"
           sources."run-async-0.1.0"
           sources."slice-ansi-0.0.4"
           sources."string-width-1.0.2"
           sources."strip-ansi-4.0.0"
+          sources."strip-bom-3.0.0"
           sources."strip-json-comments-2.0.1"
           sources."supports-color-2.0.0"
           (sources."table-3.8.3" // {
@@ -75106,12 +76662,11 @@ in
         ];
       })
       sources."eslint-scope-4.0.3"
-      sources."eslint-utils-1.4.2"
-      sources."eslint-visitor-keys-1.0.0"
-      (sources."espree-5.0.1" // {
+      sources."eslint-utils-1.4.3"
+      sources."eslint-visitor-keys-1.1.0"
+      (sources."espree-6.1.2" // {
         dependencies = [
-          sources."acorn-6.3.0"
-          sources."acorn-jsx-5.0.2"
+          sources."acorn-7.1.0"
         ];
       })
       sources."esprima-4.0.1"
@@ -75138,15 +76693,17 @@ in
             ];
           })
           sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
           sources."kind-of-5.1.0"
         ];
       })
-      sources."extend-3.0.2"
-      (sources."extend-shallow-3.0.2" // {
+      (sources."ext-1.4.0" // {
         dependencies = [
-          sources."is-extendable-1.0.1"
+          sources."type-2.0.0"
         ];
       })
+      sources."extend-3.0.2"
+      sources."extend-shallow-3.0.2"
       (sources."external-editor-3.1.0" // {
         dependencies = [
           sources."tmp-0.0.33"
@@ -75156,14 +76713,15 @@ in
         dependencies = [
           sources."define-property-1.0.0"
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-json-patch-2.2.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-redact-1.5.0"
+      sources."fast-redact-2.0.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fd-slicer-1.1.0"
       sources."figures-2.0.0"
@@ -75172,10 +76730,11 @@ in
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
       sources."find-up-3.0.0"
-      (sources."firefox-profile-1.2.0" // {
+      (sources."firefox-profile-1.3.0" // {
         dependencies = [
           sources."async-2.5.0"
         ];
@@ -75186,20 +76745,13 @@ in
       sources."flatted-2.0.1"
       sources."fluent-syntax-0.13.0"
       sources."for-in-1.0.2"
-      sources."for-own-1.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
       sources."fs-constants-1.0.0"
       sources."fs-extra-4.0.3"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.0.7"
-      (sources."ftp-0.3.10" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."fsevents-2.1.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       (sources."fx-runner-1.0.11" // {
@@ -75213,47 +76765,32 @@ in
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
-      (sources."get-uri-2.0.3" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-        ];
-      })
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."gettext-parser-1.1.0"
-      (sources."git-rev-sync-1.12.0" // {
+      (sources."git-rev-sync-2.0.0" // {
         dependencies = [
-          sources."graceful-fs-4.1.11"
+          sources."graceful-fs-4.1.15"
           sources."shelljs-0.7.7"
         ];
       })
-      sources."git-up-4.0.1"
-      sources."git-url-parse-11.1.2"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
-      sources."global-dirs-0.1.1"
+      sources."global-dirs-2.0.1"
       sources."globals-11.12.0"
-      (sources."got-6.7.1" // {
-        dependencies = [
-          sources."get-stream-3.0.0"
-        ];
-      })
-      sources."graceful-fs-4.2.2"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
-      sources."graphlib-2.1.7"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -75261,27 +76798,17 @@ in
         ];
       })
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-2.8.4"
       sources."htmlparser2-3.10.1"
       sources."http-cache-semantics-4.0.3"
-      sources."http-errors-1.7.3"
-      (sources."http-proxy-agent-2.1.0" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-2.2.2" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.1.13"
       sources."ignore-4.0.6"
-      sources."immediate-3.0.6"
-      sources."import-fresh-3.1.0"
+      (sources."import-fresh-3.2.1" // {
+        dependencies = [
+          sources."resolve-from-4.0.0"
+        ];
+      })
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
@@ -75294,60 +76821,48 @@ in
         ];
       })
       sources."interpret-1.2.0"
-      sources."invert-kv-1.0.0"
-      sources."ip-1.1.5"
+      sources."invert-kv-3.0.0"
       sources."is-absolute-0.1.7"
-      (sources."is-accessor-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
+      sources."is-accessor-descriptor-1.0.0"
       sources."is-arguments-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-ci-1.2.1"
-      (sources."is-data-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
-      sources."is-date-object-1.0.1"
-      (sources."is-descriptor-1.0.2" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
-      sources."is-extendable-0.1.1"
+      sources."is-callable-1.1.5"
+      sources."is-ci-2.0.0"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-date-object-1.0.2"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-1.0.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
-      sources."is-installed-globally-0.1.0"
-      sources."is-mergeable-object-1.1.0"
+      sources."is-installed-globally-0.3.1"
+      sources."is-mergeable-object-1.1.1"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.20.0"
-      sources."is-npm-1.0.0"
-      sources."is-number-3.0.0"
-      sources."is-obj-1.0.1"
-      sources."is-path-inside-1.0.1"
+      sources."is-npm-4.0.0"
+      (sources."is-number-3.0.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-3.0.2"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
-      sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-relative-0.1.3"
       sources."is-resolvable-1.1.0"
-      sources."is-retry-allowed-1.2.0"
-      sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.1.1"
       sources."is-yarn-global-0.3.0"
-      sources."isarray-0.0.1"
+      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
@@ -75368,45 +76883,32 @@ in
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
       sources."jsonpointer-4.0.1"
-      (sources."jsonwebtoken-8.2.1" // {
+      (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."ms-2.1.2"
+          sources."semver-5.7.1"
         ];
       })
       sources."jsprim-1.4.1"
-      (sources."jszip-3.2.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."jszip-2.6.1"
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
       sources."keyv-3.1.0"
-      sources."kind-of-3.2.2"
-      sources."latest-version-3.1.0"
-      sources."lazy-cache-0.2.7"
+      sources."kind-of-6.0.2"
+      sources."latest-version-5.1.0"
       (sources."lazystream-1.0.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."lcid-1.0.0"
+      sources."lcid-3.1.1"
       sources."levn-0.3.0"
-      sources."lie-3.3.0"
+      sources."lighthouse-logger-1.2.0"
+      sources."lines-and-columns-1.1.6"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
-      sources."lodash.assign-4.2.0"
-      sources."lodash.assignin-4.2.0"
-      sources."lodash.clone-4.5.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.flatten-4.4.0"
-      sources."lodash.get-4.4.2"
       sources."lodash.includes-4.3.0"
       sources."lodash.isboolean-3.0.3"
       sources."lodash.isinteger-4.0.4"
@@ -75414,42 +76916,27 @@ in
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.isstring-4.0.1"
       sources."lodash.once-4.1.1"
-      sources."lodash.set-4.3.2"
       sources."lodash.sortby-4.7.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
-      sources."macos-release-2.3.0"
-      sources."make-dir-1.3.0"
+      sources."make-dir-3.0.0"
       sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."mdn-browser-compat-data-0.0.82"
-      (sources."mem-4.3.0" // {
+      sources."marky-1.2.1"
+      sources."mdn-browser-compat-data-1.0.1"
+      (sources."mem-5.1.1" // {
         dependencies = [
           sources."mimic-fn-2.1.0"
         ];
       })
-      (sources."micromatch-3.1.10" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."micromatch-3.1.10"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."mixin-deep-1.3.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      (sources."mixin-object-2.0.1" // {
-        dependencies = [
-          sources."for-in-0.1.8"
-        ];
-      })
+      sources."mixin-deep-1.3.2"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -75467,50 +76954,17 @@ in
       })
       sources."mz-2.7.0"
       sources."nan-2.14.0"
-      (sources."nanomatch-1.2.13" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
+      sources."nanomatch-1.2.13"
       sources."natural-compare-1.4.0"
       sources."natural-compare-lite-1.4.0"
-      (sources."nconf-0.10.0" // {
-        dependencies = [
-          sources."async-1.5.2"
-          sources."camelcase-2.1.1"
-          sources."decamelize-1.2.0"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."os-locale-1.4.0"
-          sources."string-width-1.0.2"
-          sources."yargs-3.32.0"
-        ];
-      })
       sources."ncp-2.0.0"
-      (sources."needle-2.4.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
       sources."neo-async-2.6.1"
-      sources."netmask-1.0.6"
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
       sources."node-forge-0.7.6"
-      (sources."node-notifier-5.4.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."nomnom-1.8.1" // {
-        dependencies = [
-          sources."ansi-styles-1.0.0"
-          sources."chalk-0.4.0"
-          sources."strip-ansi-0.1.1"
-        ];
-      })
+      sources."node-notifier-6.0.0"
       sources."normalize-path-2.1.1"
-      sources."normalize-url-3.3.0"
+      sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
@@ -75526,27 +76980,21 @@ in
               sources."kind-of-5.1.0"
             ];
           })
+          sources."kind-of-3.2.2"
         ];
       })
-      sources."object-hash-1.3.1"
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."opn-5.5.0"
-      sources."optionator-0.8.2"
+      sources."open-7.0.0"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
-      (sources."os-locale-3.1.0" // {
-        dependencies = [
-          sources."invert-kv-2.0.0"
-          sources."lcid-2.0.0"
-        ];
-      })
-      sources."os-name-3.1.0"
+      sources."os-locale-4.0.0"
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
@@ -75556,23 +77004,14 @@ in
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      (sources."pac-proxy-agent-3.0.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."pac-resolver-3.0.0"
-      (sources."package-json-4.0.1" // {
+      sources."package-json-6.5.0"
+      sources."pako-1.0.10"
+      (sources."parent-module-1.0.1" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."callsites-3.1.0"
         ];
       })
-      sources."pako-1.0.10"
-      sources."parent-module-1.0.1"
-      sources."parse-json-4.0.0"
-      sources."parse-path-4.0.1"
-      sources."parse-url-5.0.1"
+      sources."parse-json-5.0.0"
       sources."parse5-3.0.3"
       sources."pascalcase-0.1.1"
       sources."path-dirname-1.0.2"
@@ -75583,42 +77022,25 @@ in
       sources."path-parse-1.0.6"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
-      sources."pify-3.0.0"
-      sources."pino-5.12.6"
+      sources."pino-5.14.0"
       sources."pino-std-serializers-2.4.2"
       sources."pluralize-1.2.1"
-      sources."po2json-0.4.5"
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.16" // {
+      (sources."postcss-7.0.24" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
       })
       sources."prelude-ls-1.1.2"
-      sources."prepend-http-1.0.4"
-      (sources."probe-image-size-4.0.0" // {
-        dependencies = [
-          sources."deepmerge-2.2.1"
-        ];
-      })
+      sources."prepend-http-2.0.0"
+      sources."probe-image-size-5.0.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
-      sources."promise-7.3.1"
-      sources."protocols-1.4.7"
-      (sources."proxy-agent-3.1.0" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."proxy-from-env-1.0.0"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."quick-format-unescaped-3.0.2"
-      sources."raw-body-2.4.1"
+      sources."quick-format-unescaped-3.0.3"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."strip-json-comments-2.0.1"
@@ -75627,7 +77049,6 @@ in
       sources."readable-stream-3.4.0"
       (sources."readdirp-2.2.1" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -75642,10 +77063,10 @@ in
       sources."rechoir-0.6.2"
       sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."regexpp-2.0.1"
-      sources."registry-auth-token-3.4.0"
-      sources."registry-url-3.1.0"
+      sources."registry-auth-token-4.0.0"
+      sources."registry-url-5.1.0"
       sources."relaxed-json-1.0.3"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
@@ -75653,13 +77074,9 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      (sources."require-uncached-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-1.0.1"
-        ];
-      })
-      sources."resolve-1.12.0"
-      sources."resolve-from-4.0.0"
+      sources."require-uncached-1.0.3"
+      sources."resolve-1.14.1"
+      sources."resolve-from-1.0.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
@@ -75673,53 +77090,28 @@ in
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."secure-keys-1.0.0"
-      sources."semver-6.1.1"
-      (sources."semver-diff-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."semver-6.3.0"
+      sources."semver-diff-3.1.1"
       sources."set-blocking-2.0.0"
-      sources."set-immediate-shim-1.0.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
-      sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
-      (sources."shallow-clone-0.1.2" // {
-        dependencies = [
-          sources."kind-of-2.0.1"
-        ];
-      })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.6.1"
       sources."shelljs-0.7.8"
       sources."shellwords-0.1.1"
-      (sources."sign-addon-0.3.1" // {
+      (sources."sign-addon-2.0.4" // {
         dependencies = [
-          sources."ajv-5.5.2"
-          sources."es6-error-4.0.0"
-          sources."es6-promise-4.2.8"
-          sources."es6-promisify-5.0.0"
-          sources."fast-deep-equal-1.1.0"
-          sources."har-validator-5.0.3"
-          sources."json-schema-traverse-0.3.1"
-          sources."mz-2.5.0"
-          sources."oauth-sign-0.8.2"
-          sources."punycode-1.4.1"
-          sources."request-2.87.0"
-          sources."source-map-0.5.7"
-          sources."source-map-support-0.4.6"
-          sources."tough-cookie-2.3.4"
+          sources."core-js-3.6.0"
         ];
       })
       sources."signal-exit-3.0.2"
       sources."slice-ansi-2.1.0"
-      sources."smart-buffer-4.0.2"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -75735,6 +77127,7 @@ in
             ];
           })
           sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
           sources."kind-of-5.1.0"
           sources."source-map-0.5.7"
         ];
@@ -75744,116 +77137,15 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."snapdragon-util-3.0.1"
-      (sources."snyk-1.228.3" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-          sources."strip-ansi-5.2.0"
-          sources."update-notifier-2.5.0"
-        ];
-      })
-      (sources."snyk-config-2.2.3" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."snyk-docker-plugin-1.29.1" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."snyk-go-parser-1.3.1"
-      (sources."snyk-go-plugin-1.11.0" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-          sources."tmp-0.0.33"
-        ];
-      })
-      (sources."snyk-gradle-plugin-3.1.0" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-          sources."tmp-0.0.33"
-        ];
-      })
-      (sources."snyk-module-1.9.1" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."snyk-mvn-plugin-2.4.0" // {
-        dependencies = [
-          sources."tslib-1.9.3"
-        ];
-      })
-      sources."snyk-nodejs-lockfile-parser-1.16.0"
-      (sources."snyk-nuget-plugin-1.12.1" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."snyk-paket-parser-1.5.0"
-      (sources."snyk-php-plugin-1.6.4" // {
-        dependencies = [
-          sources."tslib-1.9.3"
-        ];
-      })
-      (sources."snyk-policy-1.13.5" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."snyk-python-plugin-1.13.2" // {
-        dependencies = [
-          sources."tmp-0.0.33"
-        ];
-      })
-      (sources."snyk-resolve-1.0.1" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."snyk-resolve-deps-4.4.0" // {
-        dependencies = [
-          sources."@types/node-6.14.7"
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."snyk-sbt-plugin-2.8.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."snyk-tree-1.0.0"
-      (sources."snyk-try-require-1.3.1" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."socks-2.3.2"
-      (sources."socks-proxy-agent-4.0.2" // {
+      (sources."snapdragon-util-3.0.1" // {
         dependencies = [
-          sources."agent-base-4.2.1"
-          sources."es6-promise-4.2.8"
-          sources."es6-promisify-5.0.0"
+          sources."kind-of-3.2.2"
         ];
       })
       sources."sonic-boom-0.7.6"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.12"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
       sources."spawn-sync-1.0.15"
       sources."split-0.3.3"
@@ -75877,7 +77169,6 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
       sources."stream-parser-0.3.1"
       sources."stream-to-array-2.3.0"
       (sources."stream-to-promise-2.2.0" // {
@@ -75892,11 +77183,11 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-3.0.1"
-      sources."strip-bom-3.0.0"
+      sources."strip-bom-4.0.0"
       sources."strip-bom-buf-2.0.0"
       sources."strip-bom-stream-4.0.0"
       sources."strip-eof-1.0.0"
@@ -75904,7 +77195,6 @@ in
       sources."supports-color-5.5.0"
       (sources."table-5.4.6" // {
         dependencies = [
-          sources."ajv-6.10.2"
           sources."ansi-regex-4.1.0"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
@@ -75912,36 +77202,26 @@ in
       })
       (sources."tar-stream-1.6.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."temp-dir-1.0.0"
-      sources."tempfile-2.0.0"
-      (sources."term-size-1.2.0" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."execa-0.7.0"
-          sources."get-stream-3.0.0"
-        ];
-      })
+      sources."term-size-2.1.1"
       sources."text-table-0.2.0"
-      sources."then-fs-2.0.0"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."through-2.3.8"
-      sources."thunkify-2.1.2"
-      sources."timed-out-4.0.1"
       sources."tmp-0.1.0"
       sources."to-buffer-1.1.1"
-      sources."to-object-path-0.3.0"
+      (sources."to-object-path-0.3.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
       sources."to-readable-stream-1.0.0"
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
-      sources."toidentifier-1.0.0"
-      sources."toml-3.0.0"
       sources."tosource-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -75950,19 +77230,22 @@ in
       })
       sources."tr46-1.0.1"
       sources."traverse-0.4.6"
-      sources."tree-kill-1.2.1"
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-1.2.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.3.1"
+      sources."type-detect-4.0.8"
+      sources."type-fest-0.8.1"
       sources."typedarray-0.0.6"
-      sources."underscore-1.6.0"
-      sources."union-value-1.0.1"
-      sources."unique-string-1.0.0"
+      sources."typedarray-to-buffer-3.1.5"
+      (sources."union-value-1.0.1" // {
+        dependencies = [
+          sources."is-extendable-0.1.1"
+        ];
+      })
+      sources."unique-string-2.0.0"
       sources."universalify-0.1.2"
-      sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
           (sources."has-value-0.3.1" // {
@@ -75971,55 +77254,45 @@ in
             ];
           })
           sources."has-values-0.1.4"
-          sources."isarray-1.0.0"
         ];
       })
-      sources."unzip-response-2.0.1"
-      sources."upath-1.1.2"
-      (sources."update-notifier-3.0.1" // {
+      sources."upath-1.2.0"
+      (sources."update-notifier-4.0.0" // {
         dependencies = [
-          sources."ansi-align-3.0.0"
-          sources."ansi-regex-4.1.0"
-          sources."boxen-3.2.0"
-          sources."ci-info-2.0.0"
-          sources."cli-boxes-2.2.0"
-          sources."configstore-4.0.0"
-          sources."got-9.6.0"
-          sources."is-ci-2.0.0"
-          sources."is-npm-3.0.0"
-          sources."latest-version-5.1.0"
-          sources."package-json-6.5.0"
-          sources."prepend-http-2.0.0"
-          sources."registry-auth-token-4.0.0"
-          sources."registry-url-5.1.0"
-          sources."semver-6.3.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."url-parse-lax-3.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."chalk-3.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
         ];
       })
       sources."uri-js-4.2.2"
       sources."urix-0.1.0"
-      sources."url-parse-lax-1.0.0"
+      sources."url-parse-lax-3.0.0"
       sources."use-3.1.1"
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."verror-1.10.0"
-      sources."vscode-languageserver-types-3.14.0"
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      sources."whatwg-url-7.0.0"
+      sources."whatwg-url-7.1.0"
       sources."when-3.7.7"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
-      sources."widest-line-2.0.1"
-      sources."window-size-0.1.4"
-      sources."windows-release-3.2.0"
+      (sources."widest-line-3.1.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
+        ];
+      })
       sources."winreg-0.0.12"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -76029,25 +77302,32 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
-      sources."write-file-atomic-2.4.3"
-      sources."xdg-basedir-3.0.0"
-      (sources."xml2js-0.4.22" // {
-        dependencies = [
-          sources."xmlbuilder-11.0.1"
-        ];
-      })
-      sources."xmlbuilder-9.0.7"
-      sources."xregexp-2.0.0"
+      sources."write-file-atomic-3.0.1"
+      sources."ws-7.2.1"
+      sources."xdg-basedir-4.0.0"
+      sources."xml2js-0.4.23"
+      sources."xmlbuilder-11.0.1"
+      sources."xregexp-4.2.4"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
-      sources."yallist-2.1.2"
-      (sources."yargs-13.2.4" // {
+      sources."y18n-4.0.0"
+      (sources."yargs-15.0.2" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."cliui-5.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."y18n-4.0.0"
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."cliui-6.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."decamelize-1.2.0"
+          sources."emoji-regex-8.0.0"
+          sources."find-up-4.1.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
+          sources."wrap-ansi-6.2.0"
+          sources."yargs-parser-16.1.0"
         ];
       })
       (sources."yargs-parser-13.1.1" // {
@@ -76059,12 +77339,10 @@ in
       (sources."zip-dir-1.0.2" // {
         dependencies = [
           sources."async-1.5.2"
-          sources."jszip-2.6.1"
         ];
       })
       (sources."zip-stream-1.2.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -76084,10 +77362,10 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "4.40.2";
+    version = "4.41.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-4.40.2.tgz";
-      sha512 = "5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz";
+      sha512 = "Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==";
     };
     dependencies = [
       sources."@webassemblyjs/ast-1.8.5"
@@ -76110,7 +77388,7 @@ in
       sources."@webassemblyjs/wast-printer-1.8.5"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."ajv-6.10.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.4.1"
@@ -76143,7 +77421,8 @@ in
       sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
-      sources."bluebird-3.5.5"
+      sources."bindings-1.5.0"
+      sources."bluebird-3.7.2"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -76158,14 +77437,14 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."buffer-4.9.1"
+      sources."buffer-4.9.2"
       sources."buffer-from-1.1.1"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cacache-12.0.3"
       sources."cache-base-1.0.1"
       sources."chokidar-2.1.8"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."chrome-trace-event-1.0.2"
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
@@ -76186,12 +77465,12 @@ in
         ];
       })
       sources."collection-visit-1.0.0"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -76201,18 +77480,21 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."cyclist-1.0.1"
-      sources."date-now-0.1.4"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."define-property-2.0.2"
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexify-3.7.1"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."emojis-list-2.1.0"
-      sources."end-of-stream-1.4.1"
-      sources."enhanced-resolve-4.1.0"
+      sources."end-of-stream-1.4.4"
+      (sources."enhanced-resolve-4.1.1" // {
+        dependencies = [
+          sources."memory-fs-0.5.0"
+        ];
+      })
       sources."errno-0.1.7"
       sources."eslint-scope-4.0.3"
       sources."esrecurse-4.2.1"
@@ -76249,8 +77531,9 @@ in
         ];
       })
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figgy-pudding-3.5.1"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -76264,15 +77547,15 @@ in
       sources."from2-2.3.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -76413,7 +77696,7 @@ in
       sources."safe-regex-1.1.0"
       sources."schema-utils-1.0.0"
       sources."semver-5.7.1"
-      sources."serialize-javascript-1.9.1"
+      sources."serialize-javascript-2.1.2"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -76452,7 +77735,7 @@ in
       sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -76480,15 +77763,15 @@ in
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.1.1"
       sources."tapable-1.1.3"
-      (sources."terser-4.3.1" // {
+      (sources."terser-4.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."terser-webpack-plugin-1.4.1" // {
+      (sources."terser-webpack-plugin-1.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -76534,7 +77817,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."watchpack-1.6.0"
       (sources."webpack-sources-1.4.3" // {
         dependencies = [
@@ -76545,7 +77828,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76560,10 +77843,10 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "3.3.9";
+    version = "3.3.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
-      sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz";
+      sha512 = "u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==";
     };
     dependencies = [
       sources."ansi-regex-4.1.0"
@@ -76624,7 +77907,7 @@ in
       sources."detect-file-1.0.0"
       sources."emoji-regex-7.0.3"
       sources."emojis-list-2.1.0"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-4.1.0"
       sources."errno-0.1.7"
       sources."escape-string-regexp-1.0.5"
@@ -76677,7 +77960,7 @@ in
         ];
       })
       sources."global-prefix-1.0.2"
-      sources."graceful-fs-4.2.2"
+      sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -76889,10 +78172,10 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "3.0.4";
+    version = "3.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-3.0.4.tgz";
-      sha512 = "aIxXrSAtLmENSEfQlg5xs+wV/nRp+wtckilxxpFp22k428L0DHn6jGRBWEDJ99D1lzmm9UD5NvGe2MpbsDOLOg==";
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-3.0.5.tgz";
+      sha512 = "+CZvxl0xfjAtWXvJhhcX0W/do/j97KnJCbUwvKPJHQDqfHYAsJE6PZGGLqOlumFvSes+Q7ptVOoA1205lVJfTw==";
     };
     dependencies = [
       sources."@protobufjs/aspromise-1.1.2"
@@ -76906,10 +78189,9 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.14.18"
+      sources."@types/node-10.17.12"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
-      sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.0"
       sources."bencode-2.0.1"
       sources."binary-search-1.3.6"
@@ -76938,7 +78220,7 @@ in
       })
       sources."blob-to-buffer-1.2.8"
       sources."block-stream2-2.0.0"
-      sources."bn.js-5.0.0"
+      sources."bn.js-5.1.1"
       sources."brace-expansion-1.1.11"
       sources."browserify-package-json-1.0.1"
       sources."buffer-alloc-1.2.0"
@@ -76955,7 +78237,7 @@ in
       })
       sources."castv2-client-1.2.0"
       sources."charset-1.0.1"
-      sources."chrome-dgram-3.0.3"
+      sources."chrome-dgram-3.0.4"
       sources."chrome-dns-1.0.1"
       sources."chrome-net-3.3.3"
       (sources."chromecasts-1.9.1" // {
@@ -76979,7 +78261,6 @@ in
       sources."create-torrent-4.4.1"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
-      sources."define-properties-1.1.3"
       (sources."dlnacasts-0.1.0" // {
         dependencies = [
           sources."mime-1.6.0"
@@ -76990,25 +78271,20 @@ in
       sources."ecstatic-4.1.2"
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
-      sources."end-of-stream-1.4.1"
-      sources."es-abstract-1.14.2"
-      sources."es-to-primitive-1.2.0"
+      sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."executable-4.1.1"
       sources."filestream-5.0.0"
       sources."freelist-1.0.3"
       (sources."fs-chunk-store-2.0.1" // {
         dependencies = [
-          sources."thunky-1.0.3"
+          sources."thunky-1.1.0"
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-7.0.0"
-      sources."glob-7.1.4"
-      sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
+      sources."glob-7.1.6"
       sources."he-1.2.0"
       sources."http-node-git://github.com/feross/http-node#webtorrent"
       sources."http-parser-js-0.4.13"
@@ -77019,13 +78295,9 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.1"
       sources."is-ascii-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-file-1.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.1.1"
       sources."isarray-1.0.0"
       sources."junk-3.1.0"
       sources."k-bucket-5.0.0"
@@ -77061,7 +78333,7 @@ in
       sources."ms-2.0.0"
       (sources."multicast-dns-6.2.3" // {
         dependencies = [
-          sources."thunky-1.0.3"
+          sources."thunky-1.1.0"
         ];
       })
       sources."multistream-4.0.0"
@@ -77071,12 +78343,9 @@ in
       sources."node-gyp-build-3.7.0"
       sources."node-ssdp-2.9.1"
       sources."nodebmc-0.0.7"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."open-6.4.0"
+      sources."open-7.0.0"
       sources."package-json-versionify-1.0.4"
       sources."parse-numeric-range-0.0.2"
       (sources."parse-torrent-7.0.1" // {
@@ -77124,14 +78393,14 @@ in
       sources."semver-5.1.1"
       sources."simple-concat-1.0.0"
       sources."simple-get-2.8.1"
-      (sources."simple-peer-9.6.0" // {
+      (sources."simple-peer-9.6.2" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
       })
       sources."simple-sha1-3.0.1"
-      (sources."simple-websocket-8.0.1" // {
+      (sources."simple-websocket-8.1.1" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
@@ -77142,8 +78411,6 @@ in
       sources."stream-to-blob-2.0.0"
       sources."stream-to-blob-url-3.0.0"
       sources."stream-with-known-length-to-buffer-1.0.3"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string2compact-1.3.0"
       sources."string_decoder-1.3.0"
       sources."thirty-two-1.0.2"
@@ -77174,10 +78441,9 @@ in
       sources."ut_pex-2.0.0"
       sources."utf-8-validate-5.0.2"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."videostream-3.2.1"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-0.107.16" // {
+      (sources."webtorrent-0.107.17" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."decompress-response-4.2.1"
@@ -77188,10 +78454,10 @@ in
       })
       sources."winreg-1.2.4"
       sources."wrappy-1.0.2"
-      sources."ws-7.1.2"
-      sources."xml2js-0.4.22"
+      sources."ws-7.2.1"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -77231,7 +78497,7 @@ in
     };
     dependencies = [
       sources."adverb-where-0.2.1"
-      sources."commander-2.20.0"
+      sources."commander-2.20.3"
       sources."e-prime-0.10.2"
       sources."no-cliches-0.2.2"
       sources."passive-voice-0.1.0"
@@ -77251,10 +78517,10 @@ in
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.17.3";
+    version = "1.21.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.17.3.tgz";
-      sha512 = "CgA8o7nRZaQvmeF/WBx2FC7f9W/0X59T2IaLYqgMo6637wfp5mMEsM3YXoJtKUspnpmDJKl/gGFhnqS+sON7hA==";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.21.1.tgz";
+      sha512 = "dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -77269,16 +78535,17 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "3.1.0";
+    version = "3.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-3.1.0.tgz";
-      sha512 = "boSESRRyvfyns3DfzxF2F0LVV97wSEFbKUi1oC7RwnZTA66KZ7Bo3JjOLe7mM6IjjeI0vEZcr4BbFjrSHh8d0Q==";
+      url = "https://registry.npmjs.org/yo/-/yo-3.1.1.tgz";
+      sha512 = "GFg4QC1xi3gkbHGGUFme8/8XPg3kDISu/qJfx56X207yuv1FSevGY/eKuym7kh0bniCB4n3rseWW+QZXPH8LIw==";
     };
     dependencies = [
+      sources."@babel/runtime-7.7.7"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@sindresorhus/is-0.7.0"
-      sources."aggregate-error-1.0.0"
+      sources."aggregate-error-3.0.1"
       sources."ajv-6.10.2"
       sources."ansi-0.3.1"
       sources."ansi-align-2.0.0"
@@ -77302,7 +78569,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -77316,7 +78583,7 @@ in
         ];
       })
       sources."bin-version-check-3.0.0"
-      sources."boolean-1.0.0"
+      sources."boolean-3.0.0"
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."camelcase-4.1.0"
@@ -77332,6 +78599,7 @@ in
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."lowercase-keys-1.0.0"
         ];
       })
@@ -77360,7 +78628,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."clean-stack-1.3.0"
+      sources."clean-stack-2.2.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-list-0.2.0"
@@ -77381,7 +78649,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.2.1"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -77411,17 +78679,13 @@ in
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."env-paths-1.0.0"
       sources."error-ex-1.3.2"
       sources."es6-error-4.1.1"
       sources."es6-promise-4.2.8"
       sources."escape-string-regexp-1.0.5"
-      (sources."execa-0.6.3" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-        ];
-      })
+      sources."execa-1.0.0"
       sources."execall-1.0.0"
       sources."exit-hook-1.1.1"
       (sources."expand-brackets-2.1.4" // {
@@ -77458,14 +78722,14 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."filter-obj-1.1.0"
+      sources."filter-obj-2.0.1"
       sources."find-up-2.1.0"
       sources."find-versions-2.0.0"
       sources."first-chunk-stream-2.0.0"
@@ -77476,31 +78740,35 @@ in
       sources."fragment-cache-0.2.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."fullname-3.3.0"
-      sources."function-bind-1.1.1"
+      sources."fullname-4.0.1"
       sources."gauge-1.2.7"
       sources."get-stdin-4.0.1"
-      sources."get-stream-3.0.0"
+      sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
       sources."glob-to-regexp-0.3.0"
-      (sources."global-agent-2.1.1" // {
+      (sources."global-agent-2.1.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."global-dirs-0.1.1"
       sources."global-tunnel-ng-2.7.1"
-      sources."globalthis-1.0.0"
+      sources."globalthis-1.0.1"
       sources."globby-8.0.2"
-      sources."got-8.3.2"
-      sources."graceful-fs-4.2.2"
+      (sources."got-8.3.2" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+          sources."p-cancelable-0.4.1"
+        ];
+      })
+      sources."graceful-fs-4.2.3"
       sources."grouped-queue-0.3.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -77519,7 +78787,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-3.8.1"
       sources."http-signature-1.2.0"
       sources."humanize-string-1.0.2"
@@ -77527,13 +78795,17 @@ in
       sources."ignore-3.3.10"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."indent-string-3.2.0"
+      sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
       sources."inquirer-6.5.2"
       sources."insight-0.10.3"
-      sources."into-stream-3.1.0"
+      (sources."into-stream-3.1.0" // {
+        dependencies = [
+          sources."p-is-promise-1.1.0"
+        ];
+      })
       sources."ip-regex-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
@@ -77587,6 +78859,7 @@ in
       sources."kind-of-6.0.2"
       (sources."latest-version-3.1.0" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."got-6.7.1"
           sources."package-json-4.0.1"
           sources."prepend-http-1.0.4"
@@ -77611,15 +78884,16 @@ in
       sources."lru-cache-4.1.5"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
+      sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-obj-1.0.1"
       sources."map-visit-1.0.0"
-      (sources."matcher-2.0.0" // {
+      (sources."matcher-2.1.0" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
         ];
       })
-      sources."mem-1.1.0"
+      sources."mem-5.1.1"
       sources."mem-fs-1.1.3"
       (sources."meow-3.7.0" // {
         dependencies = [
@@ -77630,9 +78904,9 @@ in
       })
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-fn-1.2.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -77655,6 +78929,7 @@ in
       sources."npm-conf-1.1.3"
       (sources."npm-keyword-5.0.0" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."got-7.1.0"
           sources."p-cancelable-0.3.0"
           sources."p-timeout-1.2.1"
@@ -77684,19 +78959,24 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
+      (sources."onetime-2.0.1" // {
+        dependencies = [
+          sources."mimic-fn-1.2.0"
+        ];
+      })
       sources."open-6.4.0"
       sources."os-homedir-1.0.2"
       sources."os-name-3.1.0"
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
-      sources."p-any-1.1.0"
-      sources."p-cancelable-0.4.1"
+      sources."p-any-2.1.0"
+      sources."p-cancelable-2.0.0"
+      sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
-      sources."p-is-promise-1.1.0"
+      sources."p-is-promise-2.1.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
-      sources."p-some-2.0.1"
+      sources."p-some-4.1.0"
       sources."p-timeout-2.0.1"
       sources."p-try-1.0.0"
       sources."package-json-5.0.0"
@@ -77704,14 +78984,7 @@ in
       sources."parse-help-1.0.0"
       sources."parse-json-2.2.0"
       sources."pascalcase-0.1.1"
-      (sources."passwd-user-2.1.0" // {
-        dependencies = [
-          sources."execa-0.4.0"
-          sources."npm-run-path-1.0.0"
-          sources."path-key-1.0.0"
-          sources."pify-2.3.0"
-        ];
-      })
+      sources."passwd-user-3.0.0"
       sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
@@ -77733,7 +79006,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -77764,6 +79037,7 @@ in
           sources."indent-string-2.1.0"
         ];
       })
+      sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
@@ -77777,12 +79051,12 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
-      sources."roarr-2.14.1"
+      sources."roarr-2.14.6"
       sources."root-check-1.0.0"
       sources."run-async-2.3.0"
       sources."rx-4.1.0"
@@ -77796,7 +79070,11 @@ in
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
       sources."semver-truncate-1.1.2"
-      sources."serialize-error-4.1.0"
+      (sources."serialize-error-5.0.0" // {
+        dependencies = [
+          sources."type-fest-0.8.1"
+        ];
+      })
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -77925,6 +79203,7 @@ in
         dependencies = [
           sources."cross-spawn-5.1.0"
           sources."execa-0.7.0"
+          sources."get-stream-3.0.0"
         ];
       })
       sources."text-table-0.2.0"
@@ -77946,7 +79225,7 @@ in
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."twig-1.13.3"
+      sources."twig-1.14.0"
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
       sources."union-value-1.0.1"
@@ -77983,12 +79262,7 @@ in
       sources."walk-2.3.14"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
-      (sources."windows-release-3.2.0" // {
-        dependencies = [
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-        ];
-      })
+      sources."windows-release-3.2.0"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -78009,7 +79283,7 @@ in
         ];
       })
       sources."yeoman-doctor-4.0.0"
-      (sources."yeoman-environment-2.4.0" // {
+      (sources."yeoman-environment-2.7.0" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix b/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
index dcc1c73c0fcd..f4cba080a614 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
@@ -157,13 +157,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -256,13 +256,13 @@ let
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
-    "chownr-1.1.2" = {
+    "chownr-1.1.3" = {
       name = "chownr";
       packageName = "chownr";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz";
-        sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==";
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
       };
     };
     "class-utils-0.3.6" = {
@@ -526,13 +526,13 @@ let
         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
+    "fast-json-stable-stringify-2.1.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "fill-range-4.0.0" = {
@@ -697,13 +697,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.4" = {
+    "glob-7.1.6" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.4";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
-        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
     "global-modules-1.0.0" = {
@@ -724,13 +724,13 @@ let
         sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
       };
     };
-    "graceful-fs-4.2.2" = {
+    "graceful-fs-4.2.3" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.2";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
-        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
       };
     };
     "grunt-known-options-1.1.1" = {
@@ -814,13 +814,13 @@ let
         sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
-    "hosted-git-info-2.8.4" = {
+    "hosted-git-info-2.8.5" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.8.4";
+      version = "2.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
-        sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==";
       };
     };
     "http-signature-1.2.0" = {
@@ -1219,22 +1219,22 @@ let
         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -1255,22 +1255,22 @@ let
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "minipass-2.8.1" = {
+    "minipass-2.9.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.8.1.tgz";
-        sha512 = "QCG523ParRcE2+9A6wYh9UI3uy2FFLw4DQaVYQrY5HPfszc5M6VDD+j0QCwHm19LI2imes4RB+NBD8cOJccyCg==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
-    "minizlib-1.2.2" = {
+    "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.2.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz";
-        sha512 = "hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
     "mixin-deep-1.3.2" = {
@@ -1624,13 +1624,13 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "punycode-1.4.1" = {
@@ -1714,13 +1714,13 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
       };
     };
     "resolve-dir-1.0.1" = {
@@ -2038,22 +2038,22 @@ let
         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
-    "tar-4.4.11" = {
+    "tar-4.4.13" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.11";
+      version = "4.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.11.tgz";
-        sha512 = "iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA==";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
-    "temp-0.9.0" = {
+    "temp-0.9.1" = {
       name = "temp";
       packageName = "temp";
-      version = "0.9.0";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz";
-        sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
       };
     };
     "to-object-path-0.3.0" = {
@@ -2272,13 +2272,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "yallist-3.0.3" = {
+    "yallist-3.1.1" = {
       name = "yallist";
       packageName = "yallist";
-      version = "3.0.3";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
-        sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
   };
@@ -2497,7 +2497,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -2608,7 +2608,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -2616,7 +2616,7 @@ in
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
       sources."caseless-0.12.0"
-      sources."chownr-1.1.2"
+      sources."chownr-1.1.3"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
@@ -2631,7 +2631,7 @@ in
       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."fast-json-stable-stringify-2.1.0"
       sources."findit-2.0.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -2651,12 +2651,12 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-4.2.2"
+      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."hosted-git-info-2.8.4"
+      sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -2671,12 +2671,12 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      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.8.1"
-      sources."minizlib-1.2.2"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
       sources."mkdirp-0.5.1"
       sources."ncp-0.4.2"
       sources."nijs-0.0.25"
@@ -2716,7 +2716,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -2725,7 +2725,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
@@ -2748,8 +2748,8 @@ in
         ];
       })
       sources."strip-ansi-3.0.1"
-      sources."tar-4.4.11"
-      sources."temp-0.9.0"
+      sources."tar-4.4.13"
+      sources."temp-0.9.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -2768,7 +2768,7 @@ in
       sources."walk-2.3.14"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
-      sources."yallist-3.0.3"
+      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v13.json b/nixpkgs/pkgs/development/node-packages/node-packages-v13.json
new file mode 100644
index 000000000000..1c7b22c3c7e5
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v13.json
@@ -0,0 +1,3 @@
+[
+  "node2nix"
+]
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v13.nix b/nixpkgs/pkgs/development/node-packages/node-packages-v13.nix
new file mode 100644
index 000000000000..71b359578325
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v13.nix
@@ -0,0 +1,1451 @@
+# 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==";
+      };
+    };
+    "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";
+      };
+    };
+    "base64-js-1.3.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "builtins-1.0.3" = {
+      name = "builtins";
+      packageName = "builtins";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz";
+        sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
+      };
+    };
+    "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";
+      };
+    };
+    "concat-stream-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
+      };
+    };
+    "config-chain-1.1.12" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz";
+        sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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.1.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
+      };
+    };
+    "findit-2.0.0" = {
+      name = "findit";
+      packageName = "findit";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz";
+        sha1 = "6509f0126af4c178551cfa99394e032e13a4d56e";
+      };
+    };
+    "foreachasync-3.0.0" = {
+      name = "foreachasync";
+      packageName = "foreachasync";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
+        sha1 = "5502987dc8714be3392097f32e0071c9dee07cf6";
+      };
+    };
+    "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-extra-0.6.4" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "0.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
+        sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
+      };
+    };
+    "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.extra-1.3.2" = {
+      name = "fs.extra";
+      packageName = "fs.extra";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz";
+        sha1 = "dd023f93013bee24531f1b33514c37b20fd93349";
+      };
+    };
+    "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";
+      };
+    };
+    "hosted-git-info-2.8.5" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-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";
+      };
+    };
+    "jsonfile-1.0.1" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
+        sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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.3.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      };
+    };
+    "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";
+      };
+    };
+    "ncp-0.4.2" = {
+      name = "ncp";
+      packageName = "ncp";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
+        sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
+      };
+    };
+    "nijs-0.0.25" = {
+      name = "nijs";
+      packageName = "nijs";
+      version = "0.0.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nijs/-/nijs-0.0.25.tgz";
+        sha1 = "04b035cb530d46859d1018839a518c029133f676";
+      };
+    };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
+    "normalize-package-data-2.5.0" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
+      };
+    };
+    "npm-package-arg-6.1.1" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "6.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz";
+        sha512 = "qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==";
+      };
+    };
+    "npm-registry-client-8.6.0" = {
+      name = "npm-registry-client";
+      packageName = "npm-registry-client";
+      version = "8.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz";
+        sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
+      };
+    };
+    "npmconf-2.1.3" = {
+      name = "npmconf";
+      packageName = "npmconf";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmconf/-/npmconf-2.1.3.tgz";
+        sha512 = "iTK+HI68GceCoGOHAQiJ/ik1iDfI7S+cgyG8A+PP18IU3X83kRhQIRhAUNj4Bp2JMx6Zrt5kCiozYa9uGWTjhA==";
+      };
+    };
+    "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";
+      };
+    };
+    "once-1.3.3" = {
+      name = "once";
+      packageName = "once";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
+        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+      };
+    };
+    "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";
+      };
+    };
+    "optparse-1.0.5" = {
+      name = "optparse";
+      packageName = "optparse";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
+        sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
+      };
+    };
+    "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";
+      };
+    };
+    "path-parse-1.0.6" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
+    "psl-1.6.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "resolve-1.14.1" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
+      };
+    };
+    "retry-0.10.1" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz";
+        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
+      };
+    };
+    "rimraf-2.2.8" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+        sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+      };
+    };
+    "rimraf-2.6.3" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "semver-4.3.6" = {
+      name = "semver";
+      packageName = "semver";
+      version = "4.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
+        sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+      };
+    };
+    "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==";
+      };
+    };
+    "semver-6.1.3" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.1.3.tgz";
+        sha512 = "aymF+56WJJMyXQHcd4hlK4N75rwj5RQpfW8ePlQnJsTYOBLlLbcIErR/G1s9SkIvKBqOudR3KAx4wEqP+F1hNQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "slasp-0.0.4" = {
+      name = "slasp";
+      packageName = "slasp";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slasp/-/slasp-0.0.4.tgz";
+        sha1 = "9adc26ee729a0f95095851a5489f87a5258d57a9";
+      };
+    };
+    "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";
+      };
+    };
+    "spdx-correct-3.1.0" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
+      };
+    };
+    "spdx-exceptions-2.2.0" = {
+      name = "spdx-exceptions";
+      packageName = "spdx-exceptions";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
+      };
+    };
+    "spdx-expression-parse-3.0.0" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+      };
+    };
+    "spdx-license-ids-3.0.5" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "ssri-5.3.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
+        sha512 = "XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "temp-0.9.1" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
+      };
+    };
+    "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";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "uid-number-0.0.5" = {
+      name = "uid-number";
+      packageName = "uid-number";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
+        sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
+      };
+    };
+    "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==";
+      };
+    };
+    "validate-npm-package-license-3.0.4" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
+      };
+    };
+    "validate-npm-package-name-3.0.0" = {
+      name = "validate-npm-package-name";
+      packageName = "validate-npm-package-name";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz";
+        sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
+      };
+    };
+    "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";
+      };
+    };
+    "walk-2.3.14" = {
+      name = "walk";
+      packageName = "walk";
+      version = "2.3.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz";
+        sha512 = "5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+  };
+in
+{
+  node2nix = nodeEnv.buildNodePackage {
+    name = "node2nix";
+    packageName = "node2nix";
+    version = "1.7.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.7.0.tgz";
+      sha512 = "p9lcFtr02Ryoo0FqNNGJ7lklDzVCT1vHHQ0Qg81SdbSQ+Ib4DwzAItJSy8EMwUvDdim1o9K3wMQljURxApvItg==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ajv-6.10.2"
+      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."base64-js-1.3.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."builtins-1.0.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."concat-stream-1.6.2"
+      sources."config-chain-1.1.12"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."findit-2.0.0"
+      sources."foreachasync-3.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      (sources."fs-extra-0.6.4" // {
+        dependencies = [
+          sources."mkdirp-0.3.5"
+          sources."rimraf-2.2.8"
+        ];
+      })
+      sources."fs-minipass-1.2.7"
+      (sources."fs.extra-1.3.2" // {
+        dependencies = [
+          sources."mkdirp-0.3.5"
+        ];
+      })
+      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."hosted-git-info-2.8.5"
+      sources."http-signature-1.2.0"
+      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-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."jsonfile-1.0.1"
+      sources."jsprim-1.4.1"
+      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."ncp-0.4.2"
+      sources."nijs-0.0.25"
+      sources."nopt-3.0.6"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      (sources."npm-package-arg-6.1.1" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      (sources."npm-registry-client-8.6.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      (sources."npmconf-2.1.3" // {
+        dependencies = [
+          sources."once-1.3.3"
+          sources."semver-4.3.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."once-1.4.0"
+      sources."optparse-1.0.5"
+      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."path-parse-1.0.6"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.1"
+      sources."proto-list-1.2.4"
+      sources."psl-1.6.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."request-2.88.0"
+      sources."resolve-1.14.1"
+      sources."retry-0.10.1"
+      sources."rimraf-2.6.3"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."semver-6.1.3"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."slasp-0.0.4"
+      sources."slide-1.1.6"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.5"
+      sources."sshpk-1.16.1"
+      sources."ssri-5.3.0"
+      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."tar-4.4.13"
+      sources."temp-0.9.1"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."uid-number-0.0.5"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.3"
+      sources."validate-npm-package-license-3.0.4"
+      sources."validate-npm-package-name-3.0.0"
+      sources."verror-1.10.0"
+      sources."walk-2.3.14"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Generate Nix expressions to build NPM packages";
+      homepage = https://github.com/svanderburg/node2nix;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix b/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
index c43ad10d7d82..8415dc751d56 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -6,14 +6,15 @@ let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
     version = "0.8.5";
     sha256 = "1mhckvdcxkikbzgvy24kjz4265l15b86a6swz7m3ynbgvqdcfzqn";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     propagatedBuildInputs = [ uuidm ];
     buildPhase = "dune build -p alcotest";
     inherit (dune) installPhase;
   } else {
     version = "0.7.2";
     sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
-    buildInputs = [ ocamlbuild topkg ];
+    buildInputs = [ topkg ];
+    nativeBuildInputs = [ ocamlbuild ];
     inherit (topkg) buildPhase installPhase;
   };
 in
@@ -27,7 +28,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ param.buildInputs;
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  buildInputs = [ findlib ] ++ (param.buildInputs or []);
 
   propagatedBuildInputs = [ cmdliner astring fmt result ]
   ++ (param.propagatedBuildInputs or []);
diff --git a/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix b/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix
new file mode 100644
index 000000000000..f005421a6fc8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix
@@ -0,0 +1,16 @@
+{ lib, buildDunePackage, alcotest, logs, ocaml_lwt }:
+
+buildDunePackage {
+  pname = "alcotest-lwt";
+
+  inherit (alcotest) version src;
+
+  propagatedBuildInputs = [ alcotest logs ocaml_lwt ];
+
+  doCheck = true;
+
+  meta = alcotest.meta // {
+    description = "Lwt-based helpers for Alcotest";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/angstrom-async/default.nix b/nixpkgs/pkgs/development/ocaml-modules/angstrom-async/default.nix
new file mode 100644
index 000000000000..ac900a8dd186
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/angstrom-async/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, angstrom, async }:
+
+buildDunePackage rec {
+  pname = "angstrom-async";
+
+  inherit (angstrom) version src;
+
+  minimumOCamlVersion = "4.04.1";
+
+  propagatedBuildInputs = [ angstrom async ];
+
+  doCheck = true;
+
+  meta = {
+    inherit (angstrom.meta) homepage license;
+    description = "Async support for Angstrom";
+    maintainers = with stdenv.lib.maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix b/nixpkgs/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix
new file mode 100644
index 000000000000..d249c4512914
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, angstrom, ocaml_lwt }:
+
+buildDunePackage rec {
+  pname = "angstrom-lwt-unix";
+
+  inherit (angstrom) version src;
+
+  minimumOCamlVersion = "4.03";
+
+  propagatedBuildInputs = [ angstrom ocaml_lwt ];
+
+  doCheck = true;
+
+  meta = {
+    inherit (angstrom.meta) homepage license;
+    description = "Lwt_unix support for Angstrom";
+    maintainers = with stdenv.lib.maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/angstrom-unix/default.nix b/nixpkgs/pkgs/development/ocaml-modules/angstrom-unix/default.nix
new file mode 100644
index 000000000000..0d4ab400dd3e
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/angstrom-unix/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, angstrom }:
+
+buildDunePackage rec {
+  pname = "angstrom-unix";
+
+  inherit (angstrom) version src;
+
+  minimumOCamlVersion = "4.03";
+
+  propagatedBuildInputs = [ angstrom ];
+
+  doCheck = true;
+
+  meta = {
+    inherit (angstrom.meta) homepage license;
+    description = "Unix support for Angstrom";
+    maintainers = with stdenv.lib.maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/angstrom/default.nix b/nixpkgs/pkgs/development/ocaml-modules/angstrom/default.nix
index 2bb717168ad7..af12ea544cc8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/angstrom/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/angstrom/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "angstrom";
-  version = "0.10.0";
+  version = "0.12.1";
 
   minimumOCamlVersion = "4.03";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner  = "inhabitedtype";
     repo   = pname;
     rev    = version;
-    sha256 = "0lh6024yf9ds0nh9i93r9m6p5psi8nvrqxl5x7jwl13zb0r9xfpw";
+    sha256 = "0w0wavqzdy2hrh7cjyl9w72ad4vndhwhknwvyacvkwkja5wys5b2";
   };
 
   buildInputs = [ alcotest ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/nixpkgs/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index c6d99fa33e71..49fcdbd261a3 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit topkg ];
+  buildInputs = [ findlib ounit topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs;
 
   buildPhase = "${topkg.run} build --tests true";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix
index 0766e6e8a8c5..a988582ce6ce 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}-llvm-plugins/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}-llvm-plugins/"
   '';
 
   nativeBuildInputs = [ which makeWrapper ];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR;
     export PATH=$PATH:$out/bin
-    export CAML_LD_LIBRARY_PATH=$CAML_LD_LIBRARY_PATH:$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
+    export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
     mkdir -p $out/lib/bap
     make install
     rm $out/bin/baptop
diff --git a/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix b/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
index 3b511c7f1cc8..b0ad12dad677 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bigstringaf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bigstringaf/default.nix
index 762e675d51ce..0544ebbe6856 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bigstringaf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bigstringaf/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, alcotest }:
+{ lib, fetchFromGitHub, buildDunePackage, alcotest, bigarray-compat }:
 
 buildDunePackage rec {
   pname = "bigstringaf";
-  version = "0.3.0";
+  version = "0.6.0";
 
   minimumOCamlVersion = "4.03";
 
@@ -10,16 +10,17 @@ buildDunePackage rec {
     owner = "inhabitedtype";
     repo = pname;
     rev = version;
-    sha256 = "1yx6hv8rk0ldz1h6kk00rwg8abpfc376z00aifl9f5rn7xavpscs";
+    sha256 = "04b088vrqzmxsyan9f9nr8721bxip4b930cgvb5zkbbmrw3ylmwc";
   };
 
   buildInputs = [ alcotest ];
+  propagatedBuildInputs = [ bigarray-compat ];
   doCheck = true;
 
   meta = {
     description = "Bigstring intrinsics and fast blits based on memcpy/memmove";
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/biniou/1.0.nix b/nixpkgs/pkgs/development/ocaml-modules/biniou/1.0.nix
index 2584c5ad8b3f..ed216d8236aa 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/biniou/1.0.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/biniou/1.0.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   preBuild = ''
     mkdir $out/bin
diff --git a/nixpkgs/pkgs/development/ocaml-modules/biniou/default.nix b/nixpkgs/pkgs/development/ocaml-modules/biniou/default.nix
index 8f1917d68738..b97c78a399bf 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/biniou/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/biniou/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "biniou";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
-    owner = "mjambon";
+    owner = "ocaml-community";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb";
+    rev = version;
+    sha256 = "0x2kiy809n1j0yf32l7hj102y628jp5jdrkbi3z7ld8jq04h1790";
   };
 
   propagatedBuildInputs = [ easy-format ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/biocaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/biocaml/default.nix
new file mode 100644
index 000000000000..4f97594fb7c0
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/biocaml/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub
+, ounit, async, base64, camlzip, cfstream
+, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
+
+buildDunePackage rec {
+  pname = "biocaml";
+  version = "0.10.0";
+
+  owner = "biocaml";
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0dghqx6jbzihmga8jjwwavs0wqksgcns4z1nmwj0ds9ik3mcra30";
+  };
+
+  buildInputs = [ ppx_jane ppx_sexp_conv ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
+
+  meta = with stdenv.lib; {
+    description = "Bioinformatics library for Ocaml";
+    homepage = "http://${owner}.github.io/${pname}";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bolt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bolt/default.nix
index b5a4f179b17a..7b8103efac85 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bolt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bolt/default.nix
@@ -45,7 +45,7 @@ EOF
 
   createFindlibDestdir = true;
 
-  buildFlags = "all";
+  buildFlags = [ "all" ];
 
   doCheck = true;
   checkTarget = "tests";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix
index 0f168daac8c1..6b37cf1aed3a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 		sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
 	};
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
+	nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+	buildInputs = [ findlib topkg ];
 	propagatedBuildInputs = [ astring fmt fpath logs rresult ];
 
 	inherit (topkg) buildPhase installPhase;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
index a0a00472a4de..e1e213eca788 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -1,15 +1,20 @@
-{ stdenv, fetchgit, ocaml, findlib, ncurses }:
+{ stdenv, fetchFromGitHub, ocaml, findlib }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "camlpdf is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
-  version = "2.2.1";
+  version = "2.3";
   name = "ocaml${ocaml.version}-camlpdf-${version}";
-  src = fetchgit {
-    url = https://github.com/johnwhitington/camlpdf.git;
-    rev = "refs/tags/v${version}";
-    sha256 = "0wa4rw8ccpb8xprslg88hbk352bi8bia4iffc22y55gkjr60f8gj";
+  src = fetchFromGitHub {
+    owner = "johnwhitington";
+    repo = "camlpdf";
+    rev = "v${version}";
+    sha256 = "1z8h6bjzmlscr6h6kdvzj8kspifb4n9dg7zi54z1cv2qi03kr8dk";
   };
 
-  buildInputs = [ ocaml findlib ncurses ];
+  buildInputs = [ ocaml findlib ];
 
   # Version number in META file is wrong
   patchPhase = ''
@@ -21,12 +26,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  makeFlags = with stdenv.lib;
-  optionals (versionAtLeast ocaml.version "4.06") [
-    "OCAMLBCFLAGS+=-unsafe-string"
-    "OCAMLNCFLAGS+=-unsafe-string"
-  ];
-
   createFindlibDestdir = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix b/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix
index c1490c3bf196..7de8968e0610 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camlzip/default.nix
@@ -8,14 +8,14 @@ let
       url = "https://github.com/xavierleroy/camlzip/archive/rel107.tar.gz";
       sha256 = "1pdz3zyiczm6c46zfgag2frwq3ljlq044p3a2y4wm2wb4pgz8k9g";
       patches = [];
-      installTargets = "install-findlib";
+      installTargets = [ "install-findlib" ];
     } else {
       version = "1.05";
       download_id = "1037";
       url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz";
       sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b";
       patches = [./makefile_1_05.patch];
-      installTargets = "install";
+      installTargets = [ "install" ];
     };
 in
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       --subst-var-by ZLIB_INCLUDE "${zlib.dev}/include"
   '';
 
-  buildFlags = "all allopt";
+  buildFlags = [ "all" "allopt" ];
 
   inherit (param) installTargets;
 
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     license = "LGPL+linking exceptions";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.2.nix
index 21897e3bf10f..d206cbf94210 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.2.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.2.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     branch = "0.8.2";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.5.nix b/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.5.nix
index eb9cdb78562e..dc2049769f3a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.5.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camomile/0.8.5.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cfstream/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cfstream/default.nix
new file mode 100644
index 000000000000..db6d2b1d4401
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/cfstream/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, m4, core_kernel, ounit }:
+
+buildDunePackage rec {
+  pname = "cfstream";
+  version = "1.3.0";
+
+  minimumOCamlVersion = "4.04.1";
+
+  src = fetchFromGitHub {
+    owner = "biocaml";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1bpzpci0cx6r3sdk183mm603wgzvvj46nlx0lpx44108anxcxbak";
+  };
+
+  patches = [ ./git_commit.patch ];
+
+  buildInputs = [ m4 ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ core_kernel ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Simple Core-inspired wrapper for standard library Stream module";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cfstream/git_commit.patch b/nixpkgs/pkgs/development/ocaml-modules/cfstream/git_commit.patch
new file mode 100644
index 000000000000..5f8d8f5ce31d
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/cfstream/git_commit.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/jbuild b/lib/jbuild
+index fcc5a39..d72d50c 100644
+--- a/lib/jbuild
++++ b/lib/jbuild
+@@ -10,7 +10,7 @@
+ (rule (
+   (targets (GIT_COMMIT))
+   (deps (../bin/git_commit.sh))
+-  (action (with-stdout-to ${@} (run ${<})))
++  (action (with-stdout-to ${@} (run echo "None")))
+ ))
+ 
+ (rule (
diff --git a/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix b/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
index 0e348dd65c38..731dd476c5d7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -1,39 +1,28 @@
-{ stdenv, fetchurl, ocaml, findlib, dune, alcotest, cmdliner, fmt, optint, rresult }:
+{ lib, fetchurl, buildDunePackage
+, bigarray-compat, optint
+, cmdliner, fmt, rresult
+, alcotest
+}:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "checkseum is not available for OCaml ${ocaml.version}"
-else
+buildDunePackage rec {
+  version = "0.1.1";
+  pname = "checkseum";
 
-# The C implementation is not portable: x86 only
-let hasC = stdenv.isi686 || stdenv.isx86_64; in
-
-stdenv.mkDerivation rec {
-  version = "0.0.3";
-  name = "ocaml${ocaml.version}-checkseum-${version}";
   src = fetchurl {
-    url = "https://github.com/mirage/checkseum/releases/download/v0.0.3/checkseum-v0.0.3.tbz";
-    sha256 = "12j45zsvil1ynwx1x8fbddhqacc8r1zf7f6h576y3f3yvbg7l1fm";
+    url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
+    sha256 = "0aa2r1l65a5hcgciw6n8r5ij4gpgg0cf9k24isybxiaiz63k94d3";
   };
 
-  postPatch = stdenv.lib.optionalString (!hasC) ''
-    rm -r bin src-c
-  '';
-
-  buildInputs = [ ocaml findlib dune alcotest cmdliner fmt rresult ];
-  propagatedBuildInputs = [ optint ];
-
-  buildPhase = "dune build";
-
-  doCheck = hasC;
-  checkPhase = "dune runtest";
+  buildInputs = [ cmdliner fmt rresult ];
+  propagatedBuildInputs = [ bigarray-compat optint ];
+  checkInputs = lib.optionals doCheck [ alcotest ];
 
-  inherit (dune) installPhase;
+  doCheck = true;
 
   meta = {
     homepage = "https://github.com/mirage/checkseum";
     description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cmdliner/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cmdliner/default.nix
index 271ec1f2af91..34d57b403b01 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  nativeBuildInputs = [ ocamlbuild topkg ];
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ topkg ];
   propagatedBuildInputs = [ result ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/0.19.3.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/0.19.3.nix
index 99f101010f3e..24547a03a086 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/0.19.3.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/0.19.3.nix
@@ -19,7 +19,7 @@ buildOcaml rec {
   ++ stdenv.lib.optionals asyncSupport [ async_p4 async_ssl_p4 ];
   propagatedBuildInputs = [ re stringext uri_p4 fieldslib_p4 sexplib_p4 base64 ];
 
-  buildFlags = "PREFIX=$(out)";
+  buildFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/mirage/ocaml-cohttp;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/conduit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/conduit/default.nix
index 39234e86ef1c..22538b87f6af 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/conduit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/conduit/default.nix
@@ -1,26 +1,26 @@
 { stdenv, fetchFromGitHub, buildDunePackage
-, ppx_sexp_conv
-, astring, ipaddr, uri
+, ppx_sexp_conv, sexplib
+, astring, ipaddr, macaddr, uri,
 }:
 
 buildDunePackage rec {
   pname = "conduit";
-	version = "1.0.0";
+  version = "1.4.0";
 
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "ocaml-conduit";
-		rev = "v${version}";
-		sha256 = "1ryigzh7sfif1mly624fpm87aw5h60n5wzdlrvqsf71qcpxc6iiz";
-	};
+  src = fetchFromGitHub {
+    owner = "mirage";
+    repo = "ocaml-conduit";
+    rev = "v${version}";
+    sha256 = "1qzamqcmf9ywz04bkwrv17mz9j6zq2w9h1xmnjvp11pnwrs2xq8l";
+  };
 
-	buildInputs = [ ppx_sexp_conv ];
-	propagatedBuildInputs = [ astring ipaddr uri ];
+  buildInputs = [ ppx_sexp_conv ];
+  propagatedBuildInputs = [ astring ipaddr macaddr sexplib uri ];
 
-	meta = {
-		description = "Network connection library for TCP and SSL";
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
-	};
+  meta = {
+    description = "Network connection library for TCP and SSL";
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ alexfmpe vbgl ];
+    inherit (src.meta) homepage;
+  };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/containers/default.nix b/nixpkgs/pkgs/development/ocaml-modules/containers/default.nix
index 1b465c2984ec..b12b6e8c2657 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/containers/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/containers/default.nix
@@ -4,23 +4,23 @@
 }:
 
 buildDunePackage rec {
-  version = "2.6.1";
+  version = "2.7";
   pname = "containers";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = "ocaml-containers";
-    rev = version;
-    sha256 = "02iq01pq6047hab5s8zpprwr21cygvzfcfj2lpsyj823f28crhmv";
+    rev = "v${version}";
+    sha256 = "1nsxfgn1g1vpqihb9gd6gsab0bcm70nf9z84cp441c8wsc57hi6a";
   };
 
   buildInputs = [ iter ];
 
-  checkInputs = lib.optionals doCheck [ gen mdx ounit qcheck uutf ];
+  checkInputs = lib.optionals doCheck [ gen mdx.bin ounit qcheck uutf ];
 
   propagatedBuildInputs = [ result uchar ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   meta = {
     homepage = https://github.com/c-cube/ocaml-containers;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
index b64731261585..5df15316e320 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -1,25 +1,20 @@
-{ stdenv, fetchgit, ocaml, findlib, camlpdf, ncurses }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }:
 
-let version = "2.2.1"; in
+let version = "2.3"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-cpdf-${version}";
 
-  src = fetchgit {
-    url = https://github.com/johnwhitington/cpdf-source.git;
-    rev = "refs/tags/v${version}";
-    sha256 = "1i2z417agnzzdavjfwb20r6716jl3sk5yi43ssy4jqzy6ah8x1ff";
+  src = fetchFromGitHub {
+    owner = "johnwhitington";
+    repo = "cpdf-source";
+    rev = "v${version}";
+    sha256 = "0i976y1v0l7x7k2n8k6v0h4bw9zlxsv04y4fdxss6dzpsfz49w23";
   };
 
   buildInputs = [ ocaml findlib ncurses ];
   propagatedBuildInputs = [ camlpdf ];
 
-  makeFlags = with stdenv.lib;
-  optionals (versionAtLeast ocaml.version "4.06") [
-    "OCAMLBCFLAGS+=-unsafe-string"
-    "OCAMLNCFLAGS+=-unsafe-string"
-  ];
-
   createFindlibDestdir = true;
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cpu/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cpu/default.nix
new file mode 100644
index 000000000000..716e40e16e9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/cpu/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, autoconf }:
+
+buildDunePackage rec {
+  pname = "cpu";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "UnixJunkie";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "1vir6gh1bhvxgj2fcn69c38yhw3jgk7dyikmw789m5ld2csnyjiv";
+  };
+
+  preConfigure = ''
+    autoconf
+    autoheader
+  '';
+
+  buildInputs = [ autoconf ];
+
+  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Core pinning library";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cpuid/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cpuid/default.nix
index 10938cf81c20..6c7ecaa4b7a6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cpuid/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cpuid/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
+{ lib, fetchurl, buildDunePackage }:
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cpuid-0.1.0";
+buildDunePackage rec {
+  pname = "cpuid";
+  version = "0.1.2";
+
+  minimumOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = https://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz;
-    sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p";
+    url = "https://github.com/pqwy/cpuid/releases/download/v${version}/cpuid-v${version}.tbz";
+    sha256 = "08ng4mva6qblb5ipkrxbr0my7ndkc4qwcbswkqgbgir864s74m93";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
-
-  inherit (topkg) buildPhase installPhase;
-
   meta = {
     homepage = https://github.com/pqwy/cpuid;
     description = "Detect CPU features from OCaml";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cryptgps/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cryptgps/default.nix
index 8d395798979c..f6d22100873b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cryptgps/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cryptgps/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
index 8181433e1ee7..1c7a0ccb0faa 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -5,9 +5,9 @@ assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02"
   then {
-    version = "1.13";
-    url = https://github.com/xavierleroy/cryptokit/archive/release113.tar.gz;
-    sha256 = "1f4jjnp2a911nqw0hbijyv9vygkk6kw5zx75qs49hfm3by6ij8rq";
+    version = "1.14";
+    url = https://github.com/xavierleroy/cryptokit/archive/release114.tar.gz;
+    sha256 = "0wkh72idkb7dahiwyl94hhbq27cc7x9fnmxkpnbqli6wi8wd7d05";
     inherit zarith;
   } else {
     version = "1.10";
@@ -25,10 +25,10 @@ stdenv.mkDerivation {
     inherit (param) url sha256;
   };
 
-  buildInputs = [ zlib ocaml findlib ocamlbuild ncurses ];
-  propagatedBuildInputs = [ param.zarith ];
+  buildInputs = [ ocaml findlib ocamlbuild ncurses ];
+  propagatedBuildInputs = [ param.zarith zlib ];
 
-  buildFlags = "setup.data build";
+  buildFlags = [ "setup.data" "build" ];
 
   preBuild = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs";
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
     description = "A library of cryptographic primitives for OCaml";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/csv/default.nix b/nixpkgs/pkgs/development/ocaml-modules/csv/default.nix
index bfddc8d1c662..05a186128040 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/csv/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/csv/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "csv";
-	version = "2.2";
+	version = "2.4";
 
 	src = fetchurl {
 		url = "https://github.com/Chris00/ocaml-${pname}/releases/download/${version}/csv-${version}.tbz";
-		sha256 = "1llwjdi14vvfy4966crapibq0djii71x47b0yxhjcl5jw4xnsaha";
+		sha256 = "13m9n8mdss6jfbiw7d5bybxn4n85vmg4zw7dc968qrgjfy0w9zhk";
 	};
 
 	meta = {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ctypes/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ctypes/default.nix
index 567defea7d2f..bc76cfcd64cf 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ctypes/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ctypes/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, buildOcaml, fetchzip, libffi, pkgconfig, ncurses, integers }:
+{ stdenv, fetchzip, ocaml, findlib, libffi, pkgconfig, ncurses, integers }:
 
-buildOcaml {
-  name = "ctypes";
-  version = "0.13.1";
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "ctypes is not available for OCaml ${ocaml.version}"
+else
 
-  minimumSupportedOcamlVersion = "4";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-ctypes-${version}";
+  version = "0.15.1";
 
   src = fetchzip {
-    url = "https://github.com/ocamllabs/ocaml-ctypes/archive/67e711ec891e087fbe1e0b4665aa525af4eaa409.tar.gz";
-    sha256 = "1z84s5znr3lj84rzv6m37xxj9h7fwx4qiiykx3djf52qgk1rb2xb";
+    url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz";
+    sha256 = "0adas974bwinn8jidb6chljkpd70s041h2a969dicsj0xsg6wys6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses ];
+  buildInputs = [ ocaml findlib ncurses ];
   propagatedBuildInputs = [ integers libffi ];
 
-  hasSharedObjects = true;
-
   buildPhase =  ''
      make XEN=false libffi.config ctypes-base ctypes-stubs
      make XEN=false ctypes-foreign
   '';
 
   installPhase =  ''
+    mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
     make install XEN=false
   '';
 
@@ -31,5 +32,6 @@ buildOcaml {
     description = "Library for binding to C libraries using pure OCaml";
     license = licenses.mit;
     maintainers = [ maintainers.ericbmerritt ];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/curses/default.nix b/nixpkgs/pkgs/development/ocaml-modules/curses/default.nix
index dc6b17512837..9bcf4fc411ff 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/curses/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/curses/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ocaml findlib ];
 
   # Fix build for recent ncurses versions
-  NIX_CFLAGS_COMPILE = [ "-DNCURSES_INTERNALS=1" ];
+  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix b/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
index 70ec7fd34ae1..753f894e0850 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
@@ -1,30 +1,26 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
+{ lib, fetchurl, buildDunePackage
+, checkseum, cmdliner
+, alcotest, bos, camlzip, mmap, re
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "decompress is not available for OCaml ${ocaml.version}"
-else
+buildDunePackage rec {
+	version = "0.9.0";
+	pname = "decompress";
 
-stdenv.mkDerivation rec {
-	version = "0.6";
-	name = "ocaml${ocaml.version}-decompress-${version}";
-
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "decompress";
-		rev = "v${version}";
-		sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08";
+	src = fetchurl {
+		url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-v${version}.tbz";
+		sha256 = "0fryhcvv96vfca51c7kqdn3n3canqsbbvfbi75ya6lca4lmpipbh";
 	};
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
-
-	inherit (topkg) buildPhase installPhase;
+	buildInputs = [ cmdliner ];
+	propagatedBuildInputs = [ checkseum ];
+	checkInputs = lib.optionals doCheck [ alcotest bos camlzip mmap re ];
+	doCheck = true;
 
 	meta = {
 		description = "Pure OCaml implementation of Zlib";
-		license = stdenv.lib.licenses.mit;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
-		inherit (ocaml.meta) platforms;
+		license = lib.licenses.mit;
+		maintainers = [ lib.maintainers.vbgl ];
+		homepage = "https://github.com/mirage/decompress";
 	};
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix b/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
index d8089bb533f0..f0a98249d6da 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
@@ -1,27 +1,26 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
+{ lib, fetchurl, buildDunePackage
+, bigarray-compat, eqaf, stdlib-shims
+, alcotest
+}:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.3"
-then throw "digestif is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-digestif-${version}";
-  version = "0.5";
+buildDunePackage rec {
+  pname = "digestif";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-${version}.tbz";
-    sha256 = "0fsyfi5ps17j3wjav5176gf6z3a5xcw9aqhcr1gml9n9ayfbkhrd";
+    url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-v${version}.tbz";
+    sha256 = "09g4zngqiw97cljv8ds4m063wcxz3y7c7vzaprsbpjzi0ja5jdcy";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
+  buildInputs = lib.optional doCheck alcotest;
+  propagatedBuildInputs = [ bigarray-compat eqaf stdlib-shims ];
 
-  inherit (topkg) buildPhase installPhase;
+  doCheck = true;
 
   meta = {
     description = "Simple hash algorithms in OCaml";
     homepage = "https://github.com/mirage/digestif";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dispatch/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dispatch/default.nix
new file mode 100644
index 000000000000..5de61169c365
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dispatch/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildDunePackage, fetchFromGitHub, alcotest, result }:
+
+buildDunePackage rec {
+  pname = "dispatch";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "inhabitedtype";
+    repo = "ocaml-dispatch";
+    rev = "${version}";
+    sha256 = "05kb9zcihk50r2haqz8vrlr7kmaka6vrs4j1z500lmnl877as6qr";
+  };
+
+  propagatedBuildInputs = [ result ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    inherit (src.meta) homepage;
+    license = lib.licenses.bsd3;
+    description = "Path-based dispatching for client- and server-side applications";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/doc-ock-html/default.nix b/nixpkgs/pkgs/development/ocaml-modules/doc-ock-html/default.nix
deleted file mode 100644
index cd2e2761b503..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/doc-ock-html/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, doc-ock, tyxml, xmlm }:
-
-buildDunePackage rec {
-  pname = "doc-ock-html";
-  version = "1.2.1";
-
-  src = fetchFromGitHub {
-    owner = "ocaml-doc";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1y620h48qrplmcm78g7c78zibpkai4j3icwmnx95zb3r8xq8554y";
-  };
-
-  propagatedBuildInputs = [ doc-ock tyxml xmlm ];
-
-  meta = {
-    description = "From doc-ock to HTML";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (src.meta) homepage;
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/doc-ock-xml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/doc-ock-xml/default.nix
deleted file mode 100644
index cebf7707788d..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/doc-ock-xml/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, doc-ock, menhir, xmlm }:
-
-buildDunePackage rec {
-  pname = "doc-ock-xml";
-  version = "1.2.1";
-
-  src = fetchFromGitHub {
-    owner = "ocaml-doc";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1s27ri7vj9ixi5p5ixg6g6invk96807bvxbqjrr1dm8sxgl1nd20";
-  };
-
-  propagatedBuildInputs = [ doc-ock menhir xmlm ];
-
-  meta = {
-    description = "XML printer and parser for Doc-Ock";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (src.meta) homepage;
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/doc-ock/default.nix b/nixpkgs/pkgs/development/ocaml-modules/doc-ock/default.nix
deleted file mode 100644
index ff42c93e5c1c..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/doc-ock/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, octavius, cppo }:
-
-buildDunePackage rec {
-  pname = "doc-ock";
-  version = "1.2.1";
-
-  src = fetchFromGitHub {
-    owner = "ocaml-doc";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "090vprm12jrl55yllk1hdzbsqyr107yjs2qnc49yahdhvnr4h5b7";
-  };
-
-  buildInputs = [ cppo ];
-
-  propagatedBuildInputs = [ octavius ];
-
-  meta = {
-    description = "Extract documentation from OCaml files";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (src.meta) homepage;
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
index 26876cad8c83..824da3030685 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 	buildInputs = [ ocaml findlib ocamlbuild ];
 	propagatedBuildInputs = [ menhir ];
 
-	makeFlags = "-C src";
+	makeFlags = [ "-C" "src" ];
 
 	createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dtoa/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dtoa/default.nix
index 87d9ac7a324d..16a9f96798cd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dtoa/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dtoa/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "dtoa";
-  version = "0.3.1";
+  version = "0.3.2";
 
   minimumOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "0rzysj07z2q6gk0yhjxnjnba01vmdb9x32wwna10qk3rrb8r2pnn";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "0zkhn0rdq82g6gamsv6nkx6i44s8104nh6jg5xydazl9jl1704xn";
   };
 
   hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/duff/default.nix b/nixpkgs/pkgs/development/ocaml-modules/duff/default.nix
new file mode 100644
index 000000000000..1c6b59961ef2
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/duff/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildDunePackage
+, cstruct, fmt
+, bos, cmdliner, fpath, logs
+, alcotest
+}:
+
+buildDunePackage rec {
+  pname = "duff";
+  version = "0.2";
+  src = fetchurl {
+    url = "https://github.com/mirage/duff/releases/download/v${version}/duff-v${version}.tbz";
+    sha256 = "0bi081w4349cqc1n9jsjh1lrcqlnv3nycmvh9fniscv8lz1c0gjq";
+  };
+
+  buildInputs = [ bos cmdliner fpath logs ] ++ lib.optional doCheck alcotest;
+  propagatedBuildInputs = [ cstruct fmt ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Pure OCaml implementation of libXdiff (Rabin’s fingerprint)";
+    homepage = "https://github.com/mirage/duff";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dune-configurator/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dune-configurator/default.nix
new file mode 100644
index 000000000000..d84c21565db8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dune-configurator/default.nix
@@ -0,0 +1,17 @@
+{ lib, buildDunePackage, dune_2, dune-private-libs }:
+
+buildDunePackage rec {
+  pname = "dune-configurator";
+
+  inherit (dune_2) src version;
+
+  dontAddPrefix = true;
+
+  propagatedBuildInputs = [ dune-private-libs ];
+
+  meta = with lib; {
+    description = "Helper library for gathering system configuration";
+    maintainers = [ maintainers.marsam ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dune-private-libs/default.nix
new file mode 100644
index 000000000000..1c3503f11a15
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dune-private-libs/default.nix
@@ -0,0 +1,15 @@
+{ lib, buildDunePackage, dune_2 }:
+
+buildDunePackage rec {
+  pname = "dune-private-libs";
+
+  inherit (dune_2) src version;
+
+  dontAddPrefix = true;
+
+  meta = with lib; {
+    description = "Private libraries of Dune";
+    maintainers = [ maintainers.marsam ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dypgen/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dypgen/default.nix
index 1abf387bdd3f..62e635925664 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dypgen/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dypgen/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     make
   '';
 
-  makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib";
+  makeFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/usr/share/man/man1" "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
 
   meta = {
     homepage = http://dypgen.free.fr;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/earlybird/default.nix b/nixpkgs/pkgs/development/ocaml-modules/earlybird/default.nix
new file mode 100644
index 000000000000..1a98c748e456
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/earlybird/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchurl, buildDunePackage, angstrom, angstrom-lwt-unix,
+  batteries, cmdliner, lwt_ppx, ocaml_lwt, ppx_deriving_yojson,
+  ppx_tools_versioned, yojson }:
+
+buildDunePackage rec {
+  pname = "earlybird";
+  version = "0.1.5";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/hackwaly/ocamlearlybird/releases/download/${version}/${pname}-${version}.tbz";
+    sha256 = "10yflmsicw4sdmm075zjpbmxpwm9fvibnl3sl18zjpwnm6l9sv7d";
+  };
+
+  buildInputs = [ angstrom angstrom-lwt-unix batteries cmdliner lwt_ppx ocaml_lwt ppx_deriving_yojson ppx_tools_versioned yojson ];
+
+  meta = {
+    homepage = "https://github.com/hackwaly/ocamlearlybird";
+    description = "OCaml debug adapter";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/easy-format/default.nix b/nixpkgs/pkgs/development/ocaml-modules/easy-format/default.nix
index bbf4d82b5196..5c1155a723bd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/eigen/default.nix b/nixpkgs/pkgs/development/ocaml-modules/eigen/default.nix
new file mode 100644
index 000000000000..7c1ec79f7da3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/eliom/camlp4.patch b/nixpkgs/pkgs/development/ocaml-modules/eliom/camlp4.patch
deleted file mode 100644
index 06d5ba1b7ed4..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/eliom/camlp4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/_tags	2014-10-01 16:19:35.000000000 +0100
-+++ b/src/_tags	2014-11-09 16:55:34.470663377 +0000
-@@ -40,7 +40,7 @@
- <lib/server/monitor/*.ml{,i}>:I(src/lib/server)
- 
- <syntax/pa_*.*>: syntax(camlp4o),package(camlp4.quotations.o,camlp4.extend,bytes)
--<syntax/pa_*.ml{,i}>: I(+camlp4/Camlp4Parsers)
-+<syntax/pa_*.ml{,i}>: use_camlp4_full
- 
- <ppx/**/*>: package(ppx_tools, compiler-libs.common, ppx_tools.metaquot)
- 
-
diff --git a/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix b/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
index 25e75ceeba36..9a9ea28da539 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,33 +1,35 @@
-{ stdenv, fetchzip, which, ocsigen_server, ocsigen_deriving, ocaml, lwt_camlp4,
+{ stdenv, fetchzip, which, ocsigen_server, ocaml,
   lwt_react,
   opaline, ppx_tools, ppx_deriving, findlib
+, ppx_tools_versioned
 , js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
 , js_of_ocaml-lwt
 , js_of_ocaml-tyxml
 , lwt_ppx
 }:
 
+if !stdenv.lib.versionAtLeast ocaml.version "4.07"
+then throw "eliom is not available for OCaml ${ocaml.version}"
+else
+
 stdenv.mkDerivation rec
 {
   pname = "eliom";
-  version = "6.7.0";
+  version = "6.8.0";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
-    sha256 = "0mrlpvjaihpsf2xr6p1gs0sz4cwzkknf5b1s32bhmqq5qzsh4j8k";
+    sha256 = "0di4q0wzbnk9sxlaj97ivghzh8qvjb8n17h80y4nmqhys97pldif";
   };
 
-  patches = [ ./camlp4.patch ];
-
   buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opaline ppx_tools
-    ocsigen_deriving
+    ppx_tools_versioned
   ];
 
   propagatedBuildInputs = [
     js_of_ocaml-lwt
     js_of_ocaml-ppx
     js_of_ocaml-tyxml
-    lwt_camlp4
     lwt_ppx
     lwt_react
     ocsigen_server
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec
 
   meta = {
     homepage = http://ocsigen.org/eliom/;
-    description = "Ocaml Framework for programming Web sites and client/server Web applications";
+    description = "OCaml Framework for programming Web sites and client/server Web applications";
 
     longDescription =''Eliom is a framework for programming Web sites
     and client/server Web applications. It introduces new concepts to
diff --git a/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix b/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
index 2542b5dd9138..b69a4900f6f1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
@@ -4,13 +4,13 @@
 
 buildDunePackage rec {
   pname = "elpi";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "LPCIC";
     repo = "elpi";
     rev = "v${version}";
-    sha256 = "0740a9bg33g7r3injpalmn2jd0h586481vrrkdw46nsaspwcjhza";
+    sha256 = "1q6s3x4gba0hdymlgj4rf1bny4v7ac4jj7q134cwd3sxiwqcyhww";
   };
 
   minimumOCamlVersion = "4.04";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/encore/default.nix b/nixpkgs/pkgs/development/ocaml-modules/encore/default.nix
new file mode 100644
index 000000000000..ab91117ac082
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/encore/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, fetchurl, ocaml, alcotest, angstrom, ke }:
+
+buildDunePackage rec {
+  pname = "encore";
+  version = "0.3";
+  src = fetchurl {
+    url = "https://github.com/mirage/encore/releases/download/v${version}/encore-v${version}.tbz";
+    sha256 = "05nv6yms5axsmq9cspr7884rz5kirj50izx3vdm89q4yl186qykl";
+  };
+  propagatedBuildInputs = [ angstrom ke ];
+  checkInputs = lib.optional doCheck alcotest;
+  doCheck = lib.versions.majorMinor ocaml.version != "4.07";
+
+  meta = {
+    homepage = "https://github.com/mirage/encore";
+    description = "Library to generate encoder/decoder which ensure isomorphism";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/eqaf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/eqaf/default.nix
new file mode 100644
index 000000000000..966fe30197d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/eqaf/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchurl, buildDunePackage }:
+
+buildDunePackage rec {
+  minimumOCamlVersion = "4.03";
+  pname = "eqaf";
+  version = "0.5";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/eqaf/releases/download/v${version}/eqaf-v${version}.tbz";
+    sha256 = "1wkkmw8q2ml7ifpg0g06y0sclq0zvjf6dpsi36dnci7f230q3vsq";
+  };
+
+  meta = {
+    description = "Constant time equal function to avoid timing attacks in OCaml";
+    homepage = "https://github.com/mirage/eqaf";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/facile/default.nix b/nixpkgs/pkgs/development/ocaml-modules/facile/default.nix
index e8553ebf812e..8834de53a8fa 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/facile/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/faraday/default.nix b/nixpkgs/pkgs/development/ocaml-modules/faraday/default.nix
index d739b33c8fab..0c3eb5459cb2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/faraday/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/faraday/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildDunePackage, alcotest, bigstringaf }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigstringaf }:
 
 buildDunePackage rec {
   pname = "faraday";
@@ -13,9 +13,9 @@ buildDunePackage rec {
     sha256 = "0z6ikwlqad91iac0q5z88p3wzq5k15y86ckzmhdq1aqwrcm14bq2";
   };
 
-  buildInputs = [ alcotest ];
+  checkInputs = lib.optional doCheck alcotest;
   propagatedBuildInputs = [ bigstringaf ];
-  doCheck = true;
+  doCheck = lib.versions.majorMinor ocaml.version != "4.07";
 
   meta = {
     description = "Serialization library built for speed and memory efficiency";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/fmt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/fmt/default.nix
index c7fff722399c..d136ec092c2b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/fmt/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ result uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/fontconfig/default.nix b/nixpkgs/pkgs/development/ocaml-modules/fontconfig/default.nix
index 4f586f2f99e0..ce17cc60ebf8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/fontconfig/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ocaml fontconfig ];
-  makeFlags = "OCAML_STDLIB_DIR=$(out)/lib/ocaml/${stdenv.lib.getVersion ocaml}/site-lib/ OCAML_HAVE_OCAMLOPT=yes";
+  makeFlags = [
+    "OCAML_STDLIB_DIR=$(out)/lib/ocaml/${stdenv.lib.getVersion ocaml}/site-lib/"
+    "OCAML_HAVE_OCAMLOPT=yes"
+  ];
 
   meta = {
     description = "Fontconfig bindings for OCaml";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix b/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix
index 39ec4c011f85..979c364e496b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  makeFlags = "PREFIX=$(out) OCAML_SITE=$(OCAMLFIND_DESTDIR)";
+  makeFlags = [ "PREFIX=$(out)" "OCAML_SITE=$(OCAMLFIND_DESTDIR)" ];
 
   postInstall = "cp ${meta_file} $OCAMLFIND_DESTDIR/FrontC/META";
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/functoria/default.nix b/nixpkgs/pkgs/development/ocaml-modules/functoria/default.nix
index a174bd6a8b1a..cc99b726e6e0 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/functoria/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/functoria/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
-, bos, cmdliner, ocamlgraph
+{ stdenv, fetchurl, buildDunePackage, alcotest, cmdliner
+, rresult, astring, fmt, ocamlgraph, logs, bos, fpath, ptime
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "functoria is not available for OCaml ${ocaml.version}" else
+buildDunePackage rec {
+  pname   = "functoria";
+  version = "3.0.3";
 
-stdenv.mkDerivation rec {
-	name = "ocaml${ocaml.version}-functoria-${version}";
-	version = "2.0.2";
-	src = fetchurl {
-		url = "https://github.com/mirage/functoria/releases/download/${version}/functoria-${version}.tbz";
-		sha256 = "019rl4rir4lwgjyqj2wq3ylw4daih1kxxgbc6ld6kzcq66mwr747";
-	};
+  minimumOCamlVersion = "4.04";
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
-	propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
+  src = fetchurl {
+    url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "08wv2890gz7ci1fa2b3z4cvqf98nqb09f89y08kcmnsirlbbzlfh";
+  };
 
-	inherit (topkg) buildPhase installPhase;
+  propagatedBuildInputs = [ cmdliner rresult astring fmt ocamlgraph logs bos fpath ptime ];
+  checkInputs = [ alcotest ];
 
-	meta = {
-		description = "A DSL to organize functor applications";
-		homepage = https://github.com/mirage/functoria;
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (ocaml.meta) platforms;
-	};
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "A DSL to organize functor applications";
+    homepage    = https://github.com/mirage/functoria;
+    license     = licenses.isc;
+    maintainers = [ maintainers.vbgl ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix b/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix
index c8b29759b97c..18b5fb39776b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ ocaml findlib ];
 
-  installTargets = "ocamlfind-install";
+  installTargets = [ "ocamlfind-install" ];
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/git/default.nix b/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
index 35f8f5d52e94..741e004979cf 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
@@ -1,27 +1,26 @@
-{ stdenv, fetchFromGitHub, buildDunePackage
-, astring, decompress, fmt, hex, logs, mstruct, ocaml_lwt, ocamlgraph, ocplib-endian, uri
-, alcotest, mtime, nocrypto
+{ lib, fetchurl, buildDunePackage
+, alcotest, git, mtime, nocrypto
+, angstrom, astring, cstruct, decompress, digestif, encore, duff, fmt
+, fpath, hex, ke, logs, lru, ocaml_lwt, ocamlgraph, ocplib-endian, uri, rresult
 }:
 
 buildDunePackage rec {
   pname = "git";
-	version = "1.11.5";
+	version = "2.1.2";
 
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "ocaml-git";
-		rev = version;
-		sha256 = "0r1bxpxjjnl9hh8xbabsxl7svzvd19hfy73a2y1m4kljmw64dpfh";
+	src = fetchurl {
+		url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
+		sha256 = "0yyclsh255k7pvc2fcsdi8k2fcrr0by2nz6g3sqnwlimjyp7mz5j";
 	};
 
-	buildInputs = [ alcotest mtime nocrypto ];
-	propagatedBuildInputs = [ astring decompress fmt hex logs mstruct ocaml_lwt ocamlgraph ocplib-endian uri ];
+	propagatedBuildInputs = [ angstrom astring cstruct decompress digestif encore duff fmt fpath hex ke logs lru ocaml_lwt ocamlgraph ocplib-endian uri rresult ];
+	checkInputs = lib.optionals doCheck [ alcotest git mtime nocrypto ];
 	doCheck = true;
 
 	meta = {
 		description = "Git format and protocol in pure OCaml";
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
+		license = lib.licenses.isc;
+		maintainers = [ lib.maintainers.vbgl ];
+		homepage = "https://github.com/mirage/ocaml-git";
 	};
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/gnuplot/default.nix b/nixpkgs/pkgs/development/ocaml-modules/gnuplot/default.nix
new file mode 100644
index 000000000000..e473273b8da7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/gnuplot/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildDunePackage, fetchFromBitbucket, gnuplot, core }:
+
+buildDunePackage rec {
+  pname = "gnuplot";
+  version = "0.5.3";
+
+  src = fetchFromBitbucket {
+    owner  = "ogu";
+    repo   = "${pname}-ocaml";
+    rev    = "release-${version}";
+    sha256 = "00sn9g46pj8pfh7faiyxg3pfhq7w9knafyabjr464bh6qz5kiin3";
+  };
+
+  propagatedBuildInputs = [ core gnuplot ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Ocaml bindings to Gnuplot";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/graphql/cohttp.nix b/nixpkgs/pkgs/development/ocaml-modules/graphql/cohttp.nix
new file mode 100644
index 000000000000..c6e85da77f36
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/graphql/cohttp.nix
@@ -0,0 +1,24 @@
+{ lib, buildDunePackage, ocaml-crunch
+, astring, cohttp, digestif, graphql, ocplib-endian
+, alcotest, cohttp-lwt-unix, graphql-lwt
+}:
+
+buildDunePackage rec {
+  pname = "graphql-cohttp";
+
+  inherit (graphql) version src;
+
+  nativeBuildInputs = [ ocaml-crunch ];
+  propagatedBuildInputs = [ astring cohttp digestif graphql ocplib-endian ];
+
+  checkInputs = lib.optionals doCheck [ alcotest cohttp-lwt-unix graphql-lwt ];
+
+  doCheck = true;
+
+  meta = graphql.meta // {
+    description = "Run GraphQL servers with “cohttp”";
+  };
+
+}
+
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/graphql/default.nix b/nixpkgs/pkgs/development/ocaml-modules/graphql/default.nix
new file mode 100644
index 000000000000..22b7bf35f8e1
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/graphql/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildDunePackage, alcotest, graphql_parser, rresult, yojson }:
+
+buildDunePackage rec {
+  pname = "graphql";
+
+  inherit (graphql_parser) version src;
+
+  propagatedBuildInputs = [ graphql_parser rresult yojson ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = graphql_parser.meta // {
+    description = "Build GraphQL schemas and execute queries against them";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/graphql/lwt.nix b/nixpkgs/pkgs/development/ocaml-modules/graphql/lwt.nix
new file mode 100644
index 000000000000..37d75f9e22ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/graphql/lwt.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, alcotest, graphql, ocaml_lwt }:
+
+buildDunePackage rec {
+  pname = "graphql-lwt";
+
+  inherit (graphql) version src;
+
+  propagatedBuildInputs = [ graphql ocaml_lwt ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = graphql.meta // {
+    description = "Build GraphQL schemas with Lwt support";
+  };
+
+}
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/graphql/parser.nix b/nixpkgs/pkgs/development/ocaml-modules/graphql/parser.nix
new file mode 100644
index 000000000000..4172ccd8d043
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/graphql/parser.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl, alcotest, fmt, menhir, re }:
+
+buildDunePackage rec {
+  pname = "graphql_parser";
+  version = "0.13.0";
+
+  minimumOCamlVersion = "4.03";
+
+  src = fetchurl {
+    url = "https://github.com/andreas/ocaml-graphql-server/releases/download/${version}/graphql-${version}.tbz";
+    sha256 = "0gb5y99ph0nz5y3pc1gxq1py4wji2hyf2ydbp0hv23v00n50hpsm";
+  };
+
+  nativeBuildInputs = [ menhir ];
+  propagatedBuildInputs = [ fmt re ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://github.com/andreas/ocaml-graphql-server";
+    description = "Library for parsing GraphQL queries";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
index bec4f947ce30..42e7c1eac1b6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, angstrom, faraday, alcotest }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, angstrom, faraday, alcotest }:
 
 buildDunePackage rec {
   pname = "httpaf";
@@ -11,14 +11,14 @@ buildDunePackage rec {
     sha256 = "0i2r004ihj00hd97475y8nhjqjln58xx087zcjl0dfp0n7q80517";
   };
 
-  buildInputs = [ alcotest ];
+  checkInputs = lib.optional doCheck alcotest;
   propagatedBuildInputs = [ angstrom faraday ];
-  doCheck = true;
+  doCheck = lib.versions.majorMinor ocaml.version != "4.07";
 
   meta = {
     description = "A high-performance, memory-efficient, and scalable web server for OCaml";
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
index 77b18f0ce3a9..12b8a757e16f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -1,26 +1,27 @@
-{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, decompress }:
+{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, decompress }:
 
-stdenv.mkDerivation rec {
-  version = "20171028";
-  name = "ocaml${ocaml.version}-imagelib-${version}";
+buildDunePackage rec {
+  minimumOCamlVersion = "4.07";
+  version = "20191011";
+  pname = "imagelib";
   src = fetchFromGitHub {
     owner = "rlepigre";
     repo = "ocaml-imagelib";
-    rev = "ocaml-imagelib_${version}";
-    sha256 = "1frkrgcrv4ybdmqcfxpfsywx0hm1arxgxp32n8kzky6qip1g0zxf";
+    rev = "03fed7733825cef7e0465163f398f6af810e2e75";
+    sha256 = "0h7vgyss42nhlfqpbdnb54nxq86rskqi2ilx8b87r0hi19hqx463";
   };
 
-  buildInputs = [ which ocaml findlib ocamlbuild ];
+  patches = [ (fetchpatch {
+    url = "https://github.com/rlepigre/ocaml-imagelib/pull/24/commits/4704fd44adcda62e0d96ea5b1927071326aa6111.patch";
+    sha256 = "0ipjab1hfa2v2pnd8g1k3q2ia0plgiw7crm3fa4w2aqpzdyabkb9";
+  }) ];
 
   propagatedBuildInputs = [ decompress ];
 
-  createFindlibDestdir = true;
-
   meta = {
     description = "Image formats such as PNG and PPM in OCaml";
-    license = stdenv.lib.licenses.lgpl3;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.lgpl3;
+    maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/imagelib/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/imagelib/unix.nix
new file mode 100644
index 000000000000..48986b15a8f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/imagelib/unix.nix
@@ -0,0 +1,8 @@
+{ buildDunePackage, imagelib }:
+
+buildDunePackage {
+  pname = "imagelib-unix";
+  inherit (imagelib) version src meta;
+
+  propagatedBuildInputs = [ imagelib ];
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/index/default.nix b/nixpkgs/pkgs/development/ocaml-modules/index/default.nix
new file mode 100644
index 000000000000..b1141f814a89
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/index/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchurl, buildDunePackage, fmt, logs }:
+
+buildDunePackage rec {
+  pname = "index";
+  version = "1.0.1";
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/index/releases/download/${version}/index-${version}.tbz";
+    sha256 = "1006wr3g21s4j2vsd73gphhkrh1fy4swh6gqvlsa9c6q7vz9wbvz";
+  };
+
+  propagatedBuildInputs = [ fmt logs ];
+
+  meta = {
+    homepage = "https://github.com/mirage/index";
+    description = "A platform-agnostic multi-level index";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix b/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
index bf2d2dd1e8b1..14d6506ad13f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
+{ lib, fetchzip, buildDunePackage }:
 
-stdenv.mkDerivation {
-	name = "ocaml${ocaml.version}-integers-0.2.2";
+buildDunePackage rec {
+	pname = "integers";
+	version = "0.3.0";
 
-	src = fetchurl {
-		url = https://github.com/ocamllabs/ocaml-integers/releases/download/v0.2.2/integers-0.2.2.tbz;
-		sha256 = "08b1ljw88ny3l0mdq6xmffjk8anfc77igryva5jz1p6f4f746ywk";
+	src = fetchzip {
+		url = "https://github.com/ocamllabs/ocaml-integers/archive/${version}.tar.gz";
+		sha256 = "1yhif5zh4srh63mhimfx3p5ljpb3lixjdd3i9pjnbj2qgpzlqj8p";
 	};
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
-
-	inherit (topkg) buildPhase installPhase;
-
 	meta = {
 		description = "Various signed and unsigned integer types for OCaml";
-		license = stdenv.lib.licenses.mit;
+		license = lib.licenses.mit;
 		homepage = https://github.com/ocamllabs/ocaml-integers;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (ocaml.meta) platforms;
+		maintainers = [ lib.maintainers.vbgl ];
 	};
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ipaddr/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ipaddr/default.nix
index 3d5959fe64e2..be76e413c36a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ipaddr/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ipaddr/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, buildDunePackage, sexplib, ppx_sexp_conv }:
+{ lib, buildDunePackage
+, macaddr, ounit
+}:
 
 buildDunePackage rec {
   pname = "ipaddr";
-  version = "2.8.0";
 
-  src = fetchurl {
-    url = "https://github.com/mirage/ocaml-${pname}/archive/${version}.tar.gz";
-    sha256 = "1amb1pbm9ybpxy6190qygpj6nmbzzs2r6vx4xh5r6v89szx9rfxw";
-  };
+  inherit (macaddr) version src;
+
+  buildInputs = [ ounit ];
+
+  propagatedBuildInputs = [ macaddr ];
 
-  propagatedBuildInputs = [ ppx_sexp_conv sexplib ];
+  doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/mirage/ocaml-ipaddr;
     description = "A library for manipulation of IP (and MAC) address representations ";
     license = licenses.isc;
-    maintainers = [ maintainers.ericbmerritt ];
+    maintainers = with maintainers; [ alexfmpe ericbmerritt ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin-watcher/default.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin-watcher/default.nix
new file mode 100644
index 000000000000..55dc9ca866be
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin-watcher/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchurl, buildDunePackage
+, astring, fmt, logs, ocaml_lwt
+}:
+
+buildDunePackage rec {
+  pname = "irmin-watcher";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/irmin-watcher/releases/download/${version}/irmin-watcher-${version}.tbz";
+    sha256 = "00d4ph4jbsw6adp3zqdrwi099hfcf7p1xzi0685qr7bgcmandjfv";
+  };
+
+  propagatedBuildInputs = [ astring fmt logs ocaml_lwt ];
+
+  meta = {
+    homepage = "https://github.com/mirage/irmin-watcher";
+    description = "Portable Irmin watch backends using FSevents or Inotify";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/1.4.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/1.4.nix
new file mode 100644
index 000000000000..878160f4b0aa
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/1.4.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildDunePackage, ocaml
+, astring, cstruct, fmt, hex, jsonm, logs, ocaml_lwt, ocamlgraph, uri
+}:
+
+buildDunePackage rec {
+  pname = "irmin";
+  version = "1.4.0";
+
+  minimumOCamlVersion = "4.03";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/${pname}/releases/download/${version}/${pname}-${version}.tbz";
+    sha256 = "019di4cz0z65knl232rnwj26npnc1mqh8j71xbf0mav6x350g1w5";
+  };
+
+  propagatedBuildInputs = [ astring cstruct fmt hex jsonm logs ocaml_lwt ocamlgraph uri ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = https://github.com/mirage/irmin;
+    description = "Irmin, a distributed database that follows the same design principles as Git";
+    license = licenses.isc;
+    maintainers = [ maintainers.alexfmpe ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix
new file mode 100644
index 000000000000..2db57671177f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchurl, buildDunePackage
+, astring, base64, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
+, alcotest, hex
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin";
+  version = "2.0.0";
+
+  minimumOCamlVersion = "4.06";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
+    sha256 = "09qffvgi5yrm3ghiywlbdhjly8xb5x5njnan213q8j033fzmf2dr";
+  };
+
+  propagatedBuildInputs = [ astring base64 digestif fmt jsonm logs ocaml_lwt ocamlgraph uri ];
+
+  checkInputs = lib.optionals doCheck [ alcotest hex ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://irmin.org/";
+    description = "A distributed database built on the same principles as Git";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/fs.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/fs.nix
new file mode 100644
index 000000000000..b1987aa7cbc6
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/fs.nix
@@ -0,0 +1,21 @@
+{ lib, buildDunePackage, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-fs";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ irmin ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Generic file-system backend for Irmin";
+  };
+
+}
+
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/git.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/git.nix
new file mode 100644
index 000000000000..bb28042a1f66
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/git.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, git, irmin, irmin-mem, irmin-test, git-unix }:
+
+buildDunePackage rec {
+
+  pname = "irmin-git";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ git irmin ];
+
+  checkInputs = lib.optionals doCheck [ git-unix irmin-mem irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Git backend for Irmin";
+  };
+
+}
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/graphql.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/graphql.nix
new file mode 100644
index 000000000000..abcdc3d58dd2
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/graphql.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, cohttp-lwt, graphql-cohttp, graphql-lwt, irmin }:
+
+buildDunePackage rec {
+
+  pname = "irmin-graphql";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ cohttp-lwt graphql-cohttp graphql-lwt irmin ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "GraphQL server for Irmin";
+  };
+
+}
+
+
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/http.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/http.nix
new file mode 100644
index 000000000000..c8db6d563c9d
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/http.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, cohttp-lwt, irmin, webmachine
+, checkseum, git-unix, irmin-git, irmin-mem, irmin-test
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin-http";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ cohttp-lwt irmin webmachine ];
+
+  checkInputs = lib.optionals doCheck [ checkseum git-unix irmin-git irmin-mem irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "HTTP client and server for Irmin";
+  };
+
+}
+
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/mem.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/mem.nix
new file mode 100644
index 000000000000..b7040b9db0d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/mem.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-mem";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ irmin ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Generic in-memory Irmin stores";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/pack.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/pack.nix
new file mode 100644
index 000000000000..4eacc719cec0
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, alcotest-lwt, index, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-pack";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ index irmin ];
+
+  checkInputs = lib.optionals doCheck [ alcotest-lwt irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Irmin backend which stores values in a pack file";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/test.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/test.nix
new file mode 100644
index 000000000000..57e33e2db8a5
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/test.nix
@@ -0,0 +1,15 @@
+{ buildDunePackage, alcotest, cmdliner, irmin, metrics-unix, mtime }:
+
+buildDunePackage {
+
+  pname = "irmin-test";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ alcotest cmdliner irmin metrics-unix mtime ];
+
+  meta = irmin.meta // {
+    description = "Irmin test suite";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/unix.nix
new file mode 100644
index 000000000000..5793678bfcfd
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/unix.nix
@@ -0,0 +1,26 @@
+{ lib, buildDunePackage
+, checkseum, cmdliner, git-unix, yaml
+, irmin, irmin-fs, irmin-git, irmin-graphql, irmin-http, irmin-mem, irmin-pack, irmin-watcher
+, irmin-test
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin-unix";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ checkseum cmdliner git-unix yaml
+    irmin irmin-fs irmin-git irmin-graphql irmin-http irmin-mem irmin-pack irmin-watcher
+  ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Unix backends for Irmin";
+  };
+
+}
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/iso8601/default.nix b/nixpkgs/pkgs/development/ocaml-modules/iso8601/default.nix
index 40db8246f4aa..96f0205aa792 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/iso8601/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/iter/default.nix b/nixpkgs/pkgs/development/ocaml-modules/iter/default.nix
index eb2ca1409ab8..964a7c6f5a32 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/iter/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/iter/default.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
     sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh";
   };
 
-  buildInputs = lib.optionals doCheck [ mdx qtest ];
+  buildInputs = lib.optionals doCheck [ mdx.bin qtest ];
   propagatedBuildInputs = [ result ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.04";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.12.nix b/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.12.nix
index 4089b24ca228..f912bdaa21f1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.12.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.12.nix
@@ -429,6 +429,42 @@ rec {
     propagatedBuildInputs = [ core ];
   };
 
+  sexp_pretty = janePackage {
+    pname = "sexp_pretty";
+    hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4";
+    meta.description = "S-expression pretty-printer";
+    propagatedBuildInputs = [ ppx_base re sexplib ];
+  };
+
+  expect_test_helpers_kernel = janePackage {
+    pname = "expect_test_helpers_kernel";
+    hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq";
+    meta.description = "Helpers for writing expectation tests";
+    buildInputs = [ ppx_jane ];
+    propagatedBuildInputs = [ core_kernel sexp_pretty ];
+  };
+
+  expect_test_helpers = janePackage {
+    pname = "expect_test_helpers";
+    hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb";
+    meta.description = "Async helpers for writing expectation tests";
+    propagatedBuildInputs = [ async expect_test_helpers_kernel ];
+  };
+
+  patience_diff = janePackage {
+    pname = "patience_diff";
+    hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f";
+    meta.description = "Diff library using Bram Cohen's patience diff algorithm";
+    propagatedBuildInputs = [ core_kernel ];
+  };
+
+  ecaml = janePackage {
+    pname = "ecaml";
+    hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7";
+    meta.description = "Library for writing Emacs plugin in OCaml";
+    propagatedBuildInputs = [ async expect_test_helpers_kernel ];
+  };
+
   ### Packages at version 0.11, with dependencies at version 0.12
 
   configurator = janePackage {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix
index c4a7fa0f7a76..d1f5cabb32d2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
+  buildInputs = [ findlib topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ uutf ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/kafka/default.nix b/nixpkgs/pkgs/development/ocaml-modules/kafka/default.nix
new file mode 100644
index 000000000000..4eeb8d975fd8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ke/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ke/default.nix
new file mode 100644
index 000000000000..e1b68a1d2da4
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/ke/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl
+, bigarray-compat, fmt
+, alcotest, bigstringaf
+}:
+
+buildDunePackage rec {
+  pname = "ke";
+  version = "0.4";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ke/releases/download/v${version}/ke-v${version}.tbz";
+    sha256 = "13c9xy60vmq29mnwpg3h3zgl6gjbjfwbx1s0crfc6xwvark0zxnx";
+  };
+
+  propagatedBuildInputs = [ bigarray-compat fmt ];
+
+  checkInputs = lib.optionals doCheck [ alcotest bigstringaf ];
+  doCheck = true;
+
+  minimumOCamlVersion = "4.03";
+
+  meta = {
+    description = "Fast implementation of queue in OCaml";
+    homepage = "https://github.com/mirage/ke";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgl/default.nix
index 427d0d5a0e14..847322b1a109 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/nixpkgs/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 ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  buildFlags = "lib libopt glut glutopt";
+  buildFlags = [ "lib" "libopt" "glut" "glutopt" ];
 
   postInstall = ''
     cp ./META $out/lib/ocaml/${ocaml.version}/site-lib/lablgl
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
index 581319a0edfe..e2ebb76397c8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation (rec {
   buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview camlp4 ];
 
   configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
-  buildFlags = "world";
+  buildFlags = [ "world" ];
 
   preInstall = ''
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib
@@ -31,7 +31,7 @@ stdenv.mkDerivation (rec {
     branch = "2.14";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.roconnor
     ];
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
index 1b1869f991ea..46b76abd268f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview ];
 
   configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
-  buildFlags = "world";
+  buildFlags = [ "world" ];
 
   preInstall = ''
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z roconnor vbgl
+      maggesi roconnor vbgl
     ];
     homepage = http://lablgtk.forge.ocamlcore.org/;
     description = "An OCaml interface to GTK";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix b/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix
index d92cf543f803..0677202fab98 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix
@@ -1,26 +1,43 @@
-{ stdenv, fetchurl, ocaml, findlib, tcl, tk }:
+{ stdenv, fetchurl, fetchzip, ocaml, findlib, tcl, tk }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.04"
+let OCamlVersionAtLeast = stdenv.lib.versionAtLeast ocaml.version; in
+
+if !OCamlVersionAtLeast "4.04"
 then throw "labltk is not available for OCaml ${ocaml.version}"
 else
 
-let param = {
-  "4.04" = {
+let param =
+if OCamlVersionAtLeast "4.08" then rec {
+  version = "8.06.7";
+  src = fetchzip {
+    url = "https://github.com/garrigue/labltk/archive/${version}.tar.gz";
+    sha256 = "1cqnxjv2dvw9csiz4iqqyx6rck04jgylpglk8f69kgybf7k7xk2h";
+  };
+} else
+  let mkOldParam = { version, key, sha256 }: {
+    src = fetchurl {
+      url = "https://forge.ocamlcore.org/frs/download.php/${key}/labltk-${version}.tar.gz";
+      inherit sha256;
+    };
+    inherit version;
+  }; in
+ {
+  "4.04" = mkOldParam {
     version = "8.06.2";
     key = "1628";
     sha256 = "1p97j9s33axkb4yyl0byhmhlyczqarb886ajpyggizy2br3a0bmk";
   };
-  "4.05" = {
+  "4.05" = mkOldParam {
     version = "8.06.3";
     key = "1701";
     sha256 = "1rka9jpg3kxqn7dmgfsa7pmsdwm16x7cn4sh15ijyyrad9phgdxn";
   };
-  "4.06" = {
+  "4.06" = mkOldParam {
     version = "8.06.4";
     key = "1727";
     sha256 = "0j3rz0zz4r993wa3ssnk5s416b1jhj58l6z2jk8238a86y7xqcii";
   };
-  "4.07" = {
+  "4.07" = mkOldParam {
     version = "8.06.5";
     key = "1764";
     sha256 = "0wgx65y1wkgf22ihpqmspqfp95fqbj3pldhp1p3b1mi8rmc37zwj";
@@ -29,14 +46,9 @@ let param = {
 in
 
 stdenv.mkDerivation rec {
-  inherit (param) version;
+  inherit (param) version src;
   name = "ocaml${ocaml.version}-labltk-${version}";
 
-  src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/${param.key}/labltk-${param.version}.tar.gz";
-    inherit (param) sha256;
-  };
-
   buildInputs = [ ocaml findlib tcl tk ];
 
   configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lacaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lacaml/default.nix
index 4556fb1eb416..4b35ce25fde4 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lacaml/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lacaml/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1aflg07cc9ak9mg1cr0qr368c9s141glwlarl5nhalf6hhq7ibcb";
   };
 
-  buildInputs =
-    [ ocaml findlib dune base stdio liblapack blas ] ++
+  buildInputs = [ ocaml findlib dune base stdio ];
+  propagatedBuildInputs = [ liblapack blas ] ++
     stdenv.lib.optionals stdenv.isDarwin
       [ darwin.apple_sdk.frameworks.Accelerate ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
index 3cebefb33edf..b74501fdd680 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
 
   inherit (llvm) src;
 
-  buildInputs = [ python cmake llvm ocaml findlib ctypes ];
+  buildInputs = [ python cmake ocaml findlib ctypes ];
+  propagatedBuildInputs = [ llvm ];
 
   patches = [ (fetchpatch {
     url = https://raw.githubusercontent.com/ocaml/opam-repository/2bdc193f5a9305ea93bf0f0dfc1fbc327c8b9306/packages/llvm/llvm.7.0.0/files/fix-shared.patch;
@@ -18,11 +19,12 @@ stdenv.mkDerivation {
   cmakeFlags = [
     "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
     "-DLLVM_OCAML_INSTALL_PATH=${placeholder "out"}/ocaml"
+    "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR=${stdenv.lib.getLib llvm}/lib"
   ];
 
-  buildFlags = "ocaml_all";
+  buildFlags = [ "ocaml_all" ];
 
-  installFlags = "-C bindings/ocaml";
+  installFlags = [ "-C" "bindings/ocaml" ];
 
   postInstall = ''
     mkdir -p $OCAMLFIND_DESTDIR/
@@ -30,6 +32,10 @@ stdenv.mkDerivation {
     mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
   '';
 
+  passthru = {
+    inherit llvm;
+  };
+
   meta = {
     inherit (llvm.meta) license homepage;
     platforms = ocaml.meta.platforms or [];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
index 15d2bde0ec6f..50d68520fab0 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
@@ -10,15 +10,16 @@ then throw "logs is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${pname}-${version}";
-  version = "0.6.3";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "1lkhr7i44xw4kpfbhgj3rbqy3dv5bfm4kyrbl8a9rfafddcxlwss";
+    sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg fmt cmdliner lwt ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${topkg.run} build --with-js_of_ocaml false";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lru/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lru/default.nix
index d6ff17211994..e5c7937b27a4 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lru/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lru/default.nix
@@ -1,25 +1,20 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, psq }:
+{ lib, fetchurl, buildDunePackage, psq }:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-lru-${version}";
-  version = "0.2.0";
+buildDunePackage rec {
+  pname = "lru";
+  version = "0.3.0";
 
   src = fetchurl {
-    url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-${version}.tbz";
-    sha256 = "0bd7js9rrma1fjjjjc3fgr9l5fjbhgihx2nsaf96g2b35iiaimd0";
+    url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-v${version}.tbz";
+    sha256 = "1ab9rd7cq15ml8x0wjl44wy99h5z7x4g9vkkz4i2d7n84ghy7vw4";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
-
   propagatedBuildInputs = [ psq ];
 
-  inherit (topkg) buildPhase installPhase;
-
   meta = {
     homepage = "https://github.com/pqwy/lru";
     description = "Scalable LRU caches for OCaml";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    license = stdenv.lib.licenses.isc;
-    inherit (ocaml.meta) platforms;
+    maintainers = [ lib.maintainers.vbgl ];
+    license = lib.licenses.isc;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lua-ml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lua-ml/default.nix
new file mode 100644
index 000000000000..a0db995827a0
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/lua-ml/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, dune }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.07"
+then throw "lua-ml is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  pname = "lua-ml";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "lindig";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "09lj6qykg15fdf65in7xdry0jcifcr8vqbvz85v12gwfckmmxjir";
+  };
+
+  buildInputs = [ ocaml findlib ocamlbuild ];
+
+  buildFlags = [ "lib" ];
+
+  inherit (dune) installPhase;
+
+  meta = {
+    description = "An embeddable Lua 2.5 interpreter implemented in OCaml";
+    inherit (src.meta) homepage;
+    inherit (ocaml.meta) platforms;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt/3.x.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/3.x.nix
deleted file mode 100644
index c8371feb9052..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/3.x.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchzip, pkgconfig, ncurses, libev, dune
-, ocaml, findlib, cppo
-, ocaml-migrate-parsetree, ppx_tools_versioned, result
-, withP4 ? true
-, camlp4 ? null
-}:
-
-stdenv.mkDerivation rec {
-  version = "3.3.0";
-  name = "ocaml${ocaml.version}-lwt-${version}";
-
-  src = fetchzip {
-    url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
-    sha256 = "0n87hcyl4svy0risj439wyfq6bl77qxq3nraqgdr1qbz5lskbq2j";
-  };
-
-  preConfigure = ''
-    ocaml src/util/configure.ml -use-libev true -use-camlp4 ${if withP4 then "true" else "false"}
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses ocaml findlib dune cppo
-    ocaml-migrate-parsetree ppx_tools_versioned ]
-  ++ stdenv.lib.optional withP4 camlp4;
-  propagatedBuildInputs = [ libev result ];
-
-  installPhase = ''
-    ocaml src/util/install_filter.ml
-    ${dune.installPhase}
-  '';
-
-  meta = {
-    homepage = "https://ocsigen.org/lwt/";
-    description = "A cooperative threads library for OCaml";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    license = stdenv.lib.licenses.lgpl21;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt/4.x.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/4.x.nix
index 4850a853ea04..3ec3574ea096 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/4.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/lwt/legacy.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/legacy.nix
index e6ef82a90088..c540124d1049 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/legacy.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt/legacy.nix
@@ -52,7 +52,7 @@ buildOcaml {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl gal_bolle
+      maggesi vbgl gal_bolle
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
index fbd061a6566b..3cf4541aa016 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -1,12 +1,23 @@
-{ buildDunePackage, lwt, ppx_tools_versioned }:
+{ fetchzip, buildDunePackage, lwt, ppx_tools_versioned }:
 
 buildDunePackage {
   pname = "lwt_ppx";
+  version = "1.2.4";
+
+  src = fetchzip {
+    # `lwt_ppx` has a different release cycle than Lwt, but it's included in
+    # one of its release bundles.
+    # Because there could exist an Lwt release _without_ a `lwt_ppx` release,
+    # this `src` field doesn't inherit from the Lwt derivation.
+    #
+    # This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
+    # as new Lwt releases may contain broken `lwt_ppx` code.
+    url = "https://github.com/ocsigen/lwt/archive/4.4.0.tar.gz";
+    sha256 = "1l97zdcql7y13fhaq0m9n9xvxf712jg0w70r72fvv6j49xm4nlhi";
+  };
 
-  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/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix b/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix
new file mode 100644
index 000000000000..7061fdf5d5b8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildDunePackage
+, ppx_sexp_conv
+}:
+
+buildDunePackage rec {
+  pname = "macaddr";
+  version = "3.1.0";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-ipaddr/archive/v${version}.tar.gz";
+    sha256 = "1hi3v5dzg6h4qb268ch3h6v61gsc8bv21ajhb35z37v5nsdmyzbh";
+  };
+
+  propagatedBuildInputs = [ ppx_sexp_conv ];
+
+  doCheck = false; # ipaddr and macaddr tests are together, which requires mutual dependency
+
+  meta = with lib; {
+    homepage = https://github.com/mirage/ocaml-ipaddr;
+    description = "A library for manipulation of MAC address representations";
+    license = licenses.isc;
+    maintainers = [ maintainers.alexfmpe ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/magic-mime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/magic-mime/default.nix
index 65acbd6cc428..16e37addd45f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/magic-mime/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/magic-mime/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation {
     sha256 = "058d83hmxd5mjccxdm3ydchmhk2lca5jdg82jg0klsigmf4ida6v";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
index 0b43cf461e01..43c6c8e41fa7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
@@ -1,24 +1,30 @@
-{ lib, fetchFromGitHub, buildDunePackage, ocaml, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml_lwt, pandoc, re }:
+{ lib, fetchurl, buildDunePackage, opaline, ocaml
+, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml-version, ocaml_lwt, pandoc, re }:
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.4.0";
+  version = "1.5.0";
 
-  src = fetchFromGitHub {
-    owner = "realworldocaml";
-    repo = pname;
-    rev = version;
-    sha256 = "0ljd00d261s2wf7cab086asqi39icf9zs4nylni6dldaqb027d4w";
+  src = fetchurl {
+    url = "https://github.com/realworldocaml/mdx/releases/download/1.5.0/mdx-1.5.0.tbz";
+    sha256 = "0g45plf4z7d178gp0bx7842fwbd3m19679yfph3s95da6mrfm3xn";
   };
 
   nativeBuildInputs = [ cppo ];
-  buildInputs = [ astring cmdliner fmt logs ocaml-migrate-parsetree re ];
+  buildInputs = [ cmdliner ];
+  propagatedBuildInputs = [ astring fmt logs ocaml-migrate-parsetree ocaml-version re ];
   checkInputs = lib.optionals doCheck [ ocaml_lwt pandoc ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   dontStrip = lib.versions.majorMinor ocaml.version == "4.04";
 
+  outputs = [ "bin" "lib" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib
+  '';
+
   meta = {
     homepage = https://github.com/realworldocaml/mdx;
     description = "Executable OCaml code blocks inside markdown files";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/menhir/default.nix b/nixpkgs/pkgs/development/ocaml-modules/menhir/default.nix
index 1a2a31277af4..23e31e75779d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/menhir/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild
-, version ? if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02" then "20181113" else "20140422"
+, version ? if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02" then "20190626" else "20140422"
 }@args:
 
 let
@@ -7,6 +7,7 @@ let
   if version == "20140422" then { url = "http://cristal.inria.fr/~fpottier/menhir/menhir-20140422.tar.gz"; sha256 = "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d"; }
   else if version == "20170712" then { url = "http://gallium.inria.fr/~fpottier/menhir/menhir-20170712.tar.gz"; sha256 = "006hq3bwj81j67f2k9cgzj5wr4hai8j36925p5n3sd2j01ljsj6a"; }
   else if version == "20181113" then { url = "https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz"; sha256 = "0hl611l0gyl7b2bm7m0sk7vjz14m0i7znrnjq3gw58pylj934dx4"; }
+  else if version == "20190626" then { url = "https://gitlab.inria.fr/fpottier/menhir/repository/20190626/archive.tar.gz"; sha256 = "0nigjnskg89knyi2zj1w211mb1pvkrwfqpz9a0qbw80k3hm8gg0h"; }
   else throw ("menhir: unknown version " ++ version)
   );
 in
diff --git a/nixpkgs/pkgs/development/ocaml-modules/menhir/generic.nix b/nixpkgs/pkgs/development/ocaml-modules/menhir/generic.nix
index d767c20f6385..fad11ccedaaa 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/menhir/generic.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/menhir/generic.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation {
       lgpl2 /* library */
     ];
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z ];
+    maintainers = with maintainers; [ maggesi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/metrics/default.nix b/nixpkgs/pkgs/development/ocaml-modules/metrics/default.nix
new file mode 100644
index 000000000000..893b667f8364
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/metrics/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchurl, buildDunePackage, alcotest, fmt }:
+
+buildDunePackage rec {
+  pname = "metrics";
+  version = "0.1.0";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/metrics/releases/download/${version}/metrics-${version}.tbz";
+    sha256 = "0jy88anrx3rh19046rrbrjmx922zvz3wlqkk8asilqv9pbvpnp1a";
+  };
+
+  propagatedBuildInputs = [ fmt ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    description = "Metrics infrastructure for OCaml";
+    homepage = "https://github.com/mirage/metrics";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/metrics/lwt.nix b/nixpkgs/pkgs/development/ocaml-modules/metrics/lwt.nix
new file mode 100644
index 000000000000..47b91e430c65
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/metrics/lwt.nix
@@ -0,0 +1,14 @@
+{ buildDunePackage, ocaml_lwt, metrics }:
+
+buildDunePackage {
+  pname = "metrics-lwt";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ ocaml_lwt metrics ];
+
+  meta = metrics.meta // {
+    description = "Lwt backend for the Metrics library";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/metrics/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/metrics/unix.nix
new file mode 100644
index 000000000000..45a92f108038
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/metrics/unix.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, gnuplot, ocaml_lwt, metrics, metrics-lwt, mtime, uuidm }:
+
+buildDunePackage rec {
+
+  pname = "metrics-unix";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ gnuplot ocaml_lwt metrics mtime uuidm ];
+
+  checkInputs = lib.optional doCheck metrics-lwt;
+
+  doCheck = true;
+
+  meta = metrics.meta // {
+    description = "Unix backend for the Metrics library";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index d25a5f4ce06c..2733ad2b0fba 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-mlgmpidl-${version}";
-  version = "1.2.10";
+  version = "1.2.11";
   src = fetchFromGitHub {
     owner = "nberth";
     repo = "mlgmpidl";
     rev = version;
-    sha256 = "181vpqx8zdairq645b8qpkzj4fnkb508iavk7sqzskag1s8613qn";
+    sha256 = "1rycl84sdvgb5avdsya9iz8brx92y2zcb6cn4w1j0164j6q2ril9";
   };
 
   buildInputs = [ perl gmp mpfr ocaml findlib camlidl ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
index f86909cc10b5..02d6380715b3 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ]
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg ]
   ++ stdenv.lib.optional jsooSupport js_of_ocaml;
 
   buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mysql/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mysql/default.nix
index 1986f7e48f69..9be5ebf8a7bc 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mysql/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mysql/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, ocaml, findlib, mysql }:
+{ stdenv, fetchurl, fetchpatch, ocaml, findlib, libmysqlclient }:
 
 # TODO: la versione stabile da' un errore di compilazione dovuto a
 # qualche cambiamento negli header .h
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  propagatedBuildInputs = [ mysql.connector-c ];
+  propagatedBuildInputs = [ libmysqlclient ];
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix b/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix
index 06a87c072b4a..833da3bb67c2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -1,11 +1,19 @@
 { stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg
 , cpuid, ocb-stubblr, sexplib
-, cstruct, zarith, ppx_sexp_conv, ppx_deriving
+, cstruct, zarith, ppx_sexp_conv, ppx_deriving, writeScriptBin
 , cstruct-lwt ? null
 }:
 
 with stdenv.lib;
-let withLwt = cstruct-lwt != null; in
+let
+  withLwt = cstruct-lwt != null;
+  # the build system will call 'cc' with no way to override
+  # this is wrong when we're cross-compiling, so insert a wrapper
+  cc-wrapper = writeScriptBin "cc" ''
+    set -e
+    $CC "$@"
+  '';
+in
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-nocrypto-${version}";
@@ -43,7 +51,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild cc-wrapper ];
+  buildInputs = [ ocamlbuild findlib topkg cpuid ocb-stubblr ];
   propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
 
   buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/num/default.nix b/nixpkgs/pkgs/development/ocaml-modules/num/default.nix
index d46bff5b3d59..022b7af9629d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/num/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/num/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }:
 
 stdenv.mkDerivation rec {
 	version = "1.1";
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
 			url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch";
 			sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b";
 		})
-	];
+	] ++ lib.optional withStatic ./enable-static.patch;
 
-	buildInputs = [ ocaml findlib ];
+	nativeBuildInputs = [ ocaml findlib ];
+  buildInputs = [ ocaml findlib ];
 
 	createFindlibDestdir = true;
 
+
 	meta = {
 		description = "Legacy Num library for arbitrary-precision integer and rational arithmetic";
 		license = stdenv.lib.licenses.lgpl21;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/num/enable-static.patch b/nixpkgs/pkgs/development/ocaml-modules/num/enable-static.patch
new file mode 100644
index 000000000000..be3ca197f4ec
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/num/enable-static.patch
@@ -0,0 +1,12 @@
+diff -u a/src/Makefile b/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -45,7 +45,7 @@
+ endif
+ 
+ libnums.$(A): $(COBJS)
+-	$(OCAMLMKLIB) -oc nums $(COBJS)
++	$(OCAMLMKLIB) -custom -oc nums $(COBJS)
+ 
+ nums.cma: $(CMOS)
+	 $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS)
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index cd9d9f2d150e..da68c811df18 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/
   '';
 
-  makeFlags = "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo";
+  makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ];
 
   meta = {
     homepage = http://cairographics.org/cairo-ocaml;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-monadic/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-monadic/default.nix
new file mode 100644
index 000000000000..0420e95b12b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-monadic/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, buildDunePackage
+, ocaml-migrate-parsetree, ppx_tools_versioned
+}:
+
+buildDunePackage rec {
+  pname = "ocaml-monadic";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "zepalmer";
+    repo = pname;
+    rev = version;
+    sha256 = "1zcwydypk5vwfn1g7srnl5076scwwq5a5y8xwcjl70pc4cpzszll";
+  };
+
+  buildInputs = [ ppx_tools_versioned ];
+  propagatedBuildInputs = [ ocaml-migrate-parsetree ];
+
+  meta = {
+    inherit (src.meta) homepage;
+    description = "A PPX extension to provide an OCaml-friendly monadic syntax";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-version/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-version/default.nix
new file mode 100644
index 000000000000..45761e980498
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchurl, buildDunePackage, result }:
+
+buildDunePackage rec {
+
+  pname = "ocaml-version";
+  version = "2.3.0";
+
+  src = fetchurl {
+    url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-v${version}.tbz";
+    sha256 = "0c711lifl35xila9k0rvhijy9zm3shd37q3jgw7xf01hn1swg0hn";
+  };
+
+  propagatedBuildInputs = [ result ];
+
+  meta = {
+    description = "Manipulate, parse and generate OCaml compiler version strings";
+    homepage = "https://github.com/ocurrent/ocaml-version";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 887dce586897..a39e72d3880f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, lablgtk}:
+{stdenv, fetchurl, ocaml, findlib, lablgtk ? null}:
 
 stdenv.mkDerivation rec {
   pname = "ocamlgraph";
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml.version}/site-lib/ocamlgraph@' Makefile.in
     sed -i 's@OCAMLFINDDEST := -destdir $(DESTDIR)@@' Makefile.in
-    sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
+    ${stdenv.lib.optionalString (lablgtk != null)
+      "sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile"}
   '';
 
   createFindlibDestdir = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocamlnat/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocamlnat/default.nix
index 468e387f8f11..d6281e00fdec 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 33f328792110..fe276ac6e94f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL.";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocplib-simplex/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocplib-simplex/default.nix
index 1c09edf3a7ea..50c63ef718ad 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocplib-simplex/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocplib-simplex/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ ocaml findlib ];
 
-  installFlags = "LIBDIR=$(OCAMLFIND_DESTDIR)";
+  installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index df484b230c29..9b0b8c433c2c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -13,14 +13,14 @@ let mkpath = p: n:
 in
 
 stdenv.mkDerivation rec {
-  version = "2.11.0";
+  version = "2.15.0";
   pname = "ocsigenserver";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "ocsigenserver";
     rev = version;
-    sha256 = "0y1ngki7w9s10ip7nj9qb7254bd5sp01xxz16sxyj7l7qz603hy2";
+    sha256 = "15qdkxcbl9c1bbn0fh9awjw0hjn7r6awcn288a9vyxln7icdbifw";
   };
 
   buildInputs = [ which makeWrapper ocaml findlib
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   ''
   rm -rf $out/var/run
   wrapProgram $out/bin/ocsigenserver \
-    --prefix CAML_LD_LIBRARY_PATH : "$CAML_LD_LIBRARY_PATH:${mkpath ssl "ssl"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath ocaml_sqlite3 "sqlite3"}"
+    --suffix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath ocaml_sqlite3 "sqlite3"}"
   '';
 
   dontPatchShebangs = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index 1287c9b80b57..a8eea5b0c072 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocsigen-toolkit, eliom, ocaml_pcre, pgocaml, macaque, safepass, yojson, ocsigen_deriving, ocsigen_server
-, js_of_ocaml-camlp4
+, js_of_ocaml-camlp4, lwt_camlp4
 , resource-pooling
 }:
 
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ocsigen-start-${version}";
   version = "1.8.0";
 
-  buildInputs = [ ocaml findlib eliom js_of_ocaml-camlp4 ];
+  buildInputs = [ ocaml findlib eliom js_of_ocaml-camlp4 lwt_camlp4 ];
   propagatedBuildInputs = [ pgocaml macaque safepass ocaml_pcre ocsigen-toolkit yojson ocsigen_deriving ocsigen_server resource-pooling ];
 
   patches = [ ./templates-dir.patch ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
index 8c8d45192494..a1e524a86424 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
@@ -5,10 +5,10 @@ then throw "ocurl is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocurl-0.8.2";
+  name = "ocurl-0.9.0";
   src = fetchurl {
     url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
-    sha256 = "1ax3xdlzgb1zg7d0wr9nwgmh6a45a764m0wk8p6mx07ad94hz0q9";
+    sha256 = "0v5qzfazaynjv1xy3ds2z5iz0np5mz8g831l91l1mrqz6fr1ah0f";
   };
 
   buildInputs = [ pkgconfig ocaml findlib ncurses ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/odn/default.nix b/nixpkgs/pkgs/development/ocaml-modules/odn/default.nix
index a56a6140f8ea..62644c1e9715 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/odn/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/odn/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      vbgl z77z
+      vbgl maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/default.nix b/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/default.nix
index 4d308dc78b5f..0ca332a2a06e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
+  patches = [ ./optional-static.patch ];
+
   meta = {
     description = "Parser and printer for the opam file syntax";
     license = stdenv.lib.licenses.lgpl21;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch b/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
new file mode 100644
index 000000000000..5501fdd0c6c3
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
@@ -0,0 +1,13 @@
+diff -u a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -1,1 +1,5 @@
+-TARGETS = opam-file-format.cma opam-file-format.cmxa opam-file-format.cmxs
++TARGETS = opam-file-format.cma opam-file-format.cmxa
++
++ifeq "$(NATDYNLINK)" "true"
++TARGETS = $(TARGETS) opam-file-format.cmxs
++endif
+
+all: $(TARGETS)
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
index 533a41cc435d..6f4536f2e8bd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation {
     sha256 = "0hbd2sqdz75lv5ax82yhsfdk1dlcvq12xpys6n85ysmrl0c3d3lk";
   });
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   dontAddPrefix = true;
 
@@ -30,7 +32,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/owl-base/default.nix b/nixpkgs/pkgs/development/ocaml-modules/owl-base/default.nix
new file mode 100644
index 000000000000..12cd54363085
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/owl-base/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, stdlib-shims }:
+
+buildDunePackage rec {
+  pname = "owl-base";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner  = "owlbarn";
+    repo   = "owl";
+    rev    = version;
+    sha256 = "1a2lbhywrb3bmm4k48wwbp6iszpd3aj1f23v10i78cbqm5slk6dj";
+  };
+
+  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/nixpkgs/pkgs/development/ocaml-modules/owl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/owl/default.nix
new file mode 100644
index 000000000000..0cc1c1db42a4
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/owl/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, alcotest
+, eigen, stdio, stdlib-shims, openblasCompat, owl-base
+}:
+
+buildDunePackage rec {
+  pname = "owl";
+
+  inherit (owl-base) version src meta;
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ eigen stdio stdlib-shims openblasCompat owl-base ];
+
+  doCheck = !stdenv.isDarwin;  # https://github.com/owlbarn/owl/issues/462
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix b/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix
new file mode 100644
index 000000000000..0a4fc9ecea45
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ocamlnet, cpu }:
+
+buildDunePackage rec {
+  pname = "parany";
+  version = "8.0.0";
+
+  src = fetchFromGitHub {
+    owner = "UnixJunkie";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "19yz1yqyqx6gawy93jlh3x6vji2p9qsy6nsbj65q5pii8p1fjlsm";
+  };
+
+  propagatedBuildInputs = [ ocamlnet cpu ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Generalized map/reduce for multicore computing";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pcre/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pcre/default.nix
index 6428670ebb2f..7559fc35d8e2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/pcre/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml";
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z vbmithr ];
+    maintainers = with maintainers; [ maggesi vbmithr ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix
index cf3cd3272a8e..8896675f63c8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -1,34 +1,27 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, camlp4
-, ppx_tools_versioned, result, rresult
+{ lib, fetchFromGitHub, buildDunePackage
 , calendar, csv, hex, re
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.05"
-then throw "pgocaml is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-pgocaml-${version}";
-  version = "3.2";
+buildDunePackage rec {
+  pname = "pgocaml";
+  version = "4.0";
   src = fetchFromGitHub {
     owner = "darioteixeira";
     repo = "pgocaml";
     rev = "v${version}";
-    sha256 = "0jxzr5niv8kdh90pr57b1qb500zkkasxb8b8l7w9cydcfprnlk24";
+    sha256 = "1s8c5prr7jb9k76bz990m836czm6k8rv5bvp6s2zg9ra0w19w90j";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild camlp4 ppx_tools_versioned result rresult ];
-  propagatedBuildInputs = [ calendar csv hex re ];
+  minimumOCamlVersion = "4.05";
 
-  configureFlags = [ "--enable-p4" "--enable-ppx" ];
+  preConfigure = "patchShebangs src/genconfig.sh";
 
-  createFindlibDestdir = true;
+  propagatedBuildInputs = [ calendar csv hex re ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An interface to PostgreSQL databases for OCaml applications";
-    homepage = http://pgocaml.forge.ocamlcore.org/;
+    inherit (src.meta) homepage;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ vbgl ];
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix b/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
new file mode 100644
index 000000000000..e665a3235788
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ppx_deriving
+, alcotest, biocaml, gnuplot, lacaml, menhir, owl }:
+
+buildDunePackage rec {
+  pname = "phylogenetics";
+  version = "unstable-2019-11-15";
+
+  src = fetchFromGitHub {
+    owner  = "biocaml";
+    repo   = pname;
+    rev    = "91c03834db065cf4a86f33affbb9cfd216defc9f";
+    sha256 = "0i9m0633a6a724as35ix8z3p1gj267cl0hmqrpw4qfq39zxmgnxb";
+  };
+
+  minimumOCamlVersion = "4.08";  # e.g., uses Float.min
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ biocaml gnuplot lacaml menhir owl ppx_deriving ];
+
+  doCheck = false;  # many tests require bppsuite
+
+  meta = with stdenv.lib; {
+    inherit (std.meta) homepage;
+    description = "Bioinformatics library for Ocaml";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.cecill-b;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix
index 899806c4dae2..d618f90e5415 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   dontBuild = true;
-  installFlags = "-C src";
+  installFlags = [ "-C" "src" ];
 
   meta = with stdenv.lib; {
     homepage = http://gallium.inria.fr/~fpottier/pprint/;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
index 7746200d4ff4..92d73e540f48 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildDunePackage, rpclib, ppxfind, ppx_deriving, cppo }:
+{ lib, buildDunePackage, rpclib, ppxlib, ppx_deriving }:
 
 buildDunePackage rec {
   pname = "ppx_deriving_rpc";
 
   inherit (rpclib) version src;
 
-  buildInputs = [ ppxfind cppo ];
+  buildInputs = [ ppxlib ];
 
   propagatedBuildInputs = [ rpclib ppx_deriving ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
index 5d45ee90c2e9..b09ff9c7f223 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "ppx_gen_rec";
-  version = "1.0.0";
+  version = "1.1.0";
 
   minimumOCamlVersion = "4.01";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "0qy0wa3rd5yh1612jijadi1yddfslpsmmmf69phi2dhr3vmkhza7";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "0fwi4bknq8h9zgpsarjvnzdm9bm8qlyyw0lz30pihg02aiiljqbh";
   };
 
   buildInputs = [ ocaml-migrate-parsetree ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 60b730e06403..984906342bc5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -23,6 +23,9 @@ let param = {
   "4.08" = {
     version = "5.3+4.08.0";
     sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
+  "4.09" = {
+    version = "5.3+4.08.0";
+    sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
 }.${ocaml.meta.branch};
 in
   stdenv.mkDerivation {
@@ -34,6 +37,7 @@ in
       inherit (param) sha256;
     };
 
+    nativeBuildInputs = [ ocaml findlib ];
     buildInputs = [ ocaml findlib ];
 
     createFindlibDestdir = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
index 3b61a6512635..75d1e57765e9 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, fetchurl, ocaml, ocaml-migrate-parsetree }:
+{ stdenv, lib, buildDunePackage, fetchurl, ocaml, ocaml-migrate-parsetree }:
 
 buildDunePackage (rec {
 	pname = "ppxfind";
@@ -12,6 +12,9 @@ buildDunePackage (rec {
 
 	buildInputs = [ ocaml-migrate-parsetree ];
 
+  # Don't run the native `strip' when cross-compiling.
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
+
 	meta = {
 		homepage = "https://github.com/diml/ppxfind";
 		description = "ocamlfind ppx tool";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix b/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
index 50866e1d9691..555ccef34951 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "16nwwpp13hzlcm9xqfxc558afm3i5s802dkj69l9s2vp04lgms5n";
   };
 
-  checkInputs = lib.optional doCheck mdx;
+  checkInputs = lib.optional doCheck mdx.bin;
 
   doCheck = !lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/nixpkgs/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
index 57f1a832f562..485620514e45 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  installFlags = "LIBDIR=$(OCAMLFIND_DESTDIR)";
+  installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
   meta = {
     description = "A simple parser and type-checker for polomorphic extension of the SMT-LIB 2 language";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/psq/default.nix b/nixpkgs/pkgs/development/ocaml-modules/psq/default.nix
index 08b9c10d9821..ff9c52c50a76 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/psq/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/psq/default.nix
@@ -1,27 +1,21 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
+{ lib, buildDunePackage, fetchurl, seq }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.02"
-then throw "psq is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-psq-${version}";
-  version = "0.1.0";
+buildDunePackage rec {
+  minimumOCamlVersion = "4.03";
+  pname = "psq";
+  version = "0.2.0";
 
   src = fetchurl {
-    url = "https://github.com/pqwy/psq/releases/download/v${version}/psq-${version}.tbz";
-    sha256 = "08ghgdivbjrxnaqc3hsb69mr9s2ql5ds0fb97b7z6zimzqibz6lp";
+    url = "https://github.com/pqwy/psq/releases/download/v${version}/psq-v${version}.tbz";
+    sha256 = "1j4lqkq17rskhgcrpgr4n1m1a2b1x35mlxj6f9g05rhpmgvgvknk";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
-
-  inherit (topkg) buildPhase installPhase;
+  propagatedBuildInputs = [ seq ];
 
   meta = {
     description = "Functional Priority Search Queues for OCaml";
     homepage = "https://github.com/pqwy/psq";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    license = stdenv.lib.licenses.isc;
-    inherit (ocaml.meta) platforms;
+    maintainers = [ lib.maintainers.vbgl ];
+    license = lib.licenses.isc;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix
index f21f05eeae5f..de3d940b3bb9 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg js_of_ocaml ];
 
   propagatedBuildInputs = [ result ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ptmap/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ptmap/default.nix
index 91b0d22a8528..d6637d23052c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ptmap/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ptmap/default.nix
@@ -1,13 +1,22 @@
 { stdenv, fetchzip, ocaml, findlib, obuild }:
 
-let version = "2.0.3"; in
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.07"
+  then {
+    version = "2.0.4";
+    sha256 = "05a391m1l04zigi6ghywj7f5kxy2w6186221k7711wmg56m94yjw";
+  } else {
+    version = "2.0.3";
+    sha256 = "19xykhqk7q25r1pj8rpfj53j2r9ls8mxi1w5m2wqshrf20gf078h";
+  }
+; in
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ptmap-${version}";
+  name = "ocaml${ocaml.version}-ptmap-${param.version}";
 
   src = fetchzip {
-    url = "https://github.com/backtracking/ptmap/archive/v${version}.tar.gz";
-    sha256 = "19xykhqk7q25r1pj8rpfj53j2r9ls8mxi1w5m2wqshrf20gf078h";
+    url = "https://github.com/backtracking/ptmap/archive/v${param.version}.tar.gz";
+    inherit (param) sha256;
   };
 
   buildInputs = [ ocaml findlib obuild ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/react/default.nix b/nixpkgs/pkgs/development/ocaml-modules/react/default.nix
index 74789636896f..7baf8b743be2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/react/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/react/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
     description = "Applicative events and signals for OCaml";
     license = licenses.bsd3;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z vbmithr gal_bolle];
+    maintainers = with maintainers; [ maggesi vbmithr gal_bolle];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix
index b797af0a702a..0223d4f59ff1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix
@@ -2,10 +2,10 @@
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.03"
-  then {
-    version = "0.6.1";
-    url = " https://github.com/Chris00/ocaml-rope/releases/download/0.6.1/rope-0.6.1.tbz";
-    sha256 = "1zqh28jz1zjb0l354wi1046qpkwmk582ssz0gsqh6d44wpspdxk2";
+  then rec {
+    version = "0.6.2";
+    url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz";
+    sha256 = "15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i";
     buildInputs = [ dune ];
     extra = {
       buildPhase = "dune build -p rope";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/rpclib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rpclib/default.nix
index 2b4ab1818590..a4134f592b36 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/rpclib/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/rpclib/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
+{ lib, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
 
 buildDunePackage rec {
   pname = "rpclib";
-  version = "5.9.0";
+  version = "6.0.0";
 
   minimumOCamlVersion = "4.04";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "mirage";
     repo = "ocaml-rpc";
     rev = "v${version}";
-    sha256 = "1swnnmmnkn53mxqpckdnd1j8bz0wksqznjbv0zamspxyqybmancq";
+    sha256 = "0bmr20sj7kybjjlwd42irj0f5zlnxcw7mxa1mdgxkki9bmhsqr51";
   };
 
   buildInputs = [ alcotest cmdliner yojson ];
@@ -18,7 +18,7 @@ buildDunePackage rec {
 
   doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://github.com/mirage/ocaml-rpc";
     description = "Light library to deal with RPCs in OCaml";
     license = licenses.isc;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix
index d40ce19a8fd8..579d3da81e36 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-rresult-${version}";
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
 	buildInputs = [ ocaml findlib ocamlbuild topkg ];
 
+  propagatedBuildInputs = [ result ];
+  
 	inherit (topkg) buildPhase installPhase;
 
 	meta = {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/sawja/default.nix b/nixpkgs/pkgs/development/ocaml-modules/sawja/default.nix
index 01bc71928469..d0dba6c2ceec 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/sawja/default.nix
@@ -1,10 +1,10 @@
-{stdenv, fetchurl, which, perl, ocaml, findlib, javalib, camlp4 }:
+{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }:
 
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
 
 let
   pname = "sawja";
-  version = "1.5.6";
+  version = "1.5.7";
   webpage = "http://sawja.inria.fr/";
 in
 stdenv.mkDerivation {
@@ -12,11 +12,11 @@ stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
   src = fetchurl {
-    url = https://gforge.inria.fr/frs/download.php/file/37819/sawja-1.5.6.tar.bz2;
-    sha256 = "0dkfdc8h94r7kj4p8q57fz7fssypgmjrix8xff0va7x1nya5sdp3";
+    url = https://gforge.inria.fr/frs/download.php/file/38117/sawja-1.5.7.tar.bz2;
+    sha256 = "08xv1bq4pragc1g93w4dnbn0mighcjwfp3ixj9jzmhka2vzqm4cc";
   };
 
-  buildInputs = [ which perl ocaml findlib camlp4 ];
+  buildInputs = [ which perl ocaml findlib ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/sodium/default.nix b/nixpkgs/pkgs/development/ocaml-modules/sodium/default.nix
new file mode 100644
index 000000000000..8c8895d45207
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/spelll/default.nix b/nixpkgs/pkgs/development/ocaml-modules/spelll/default.nix
new file mode 100644
index 000000000000..5901dcb896ac
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/spelll/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, buildDunePackage
+, seq
+}:
+
+buildDunePackage rec {
+  pname = "spelll";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "c-cube";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03adqisgsazsxdkrypp05k3g91hydfgcif2014il63gdbd9nhzlh";
+  };
+
+  propagatedBuildInputs = [ seq ];
+
+  meta = {
+    inherit (src.meta) homepage;
+    description = "Fuzzy string searching, using Levenshtein automaton";
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/sqlite3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/sqlite3/default.nix
index 0b3f13bc54f2..53b11f285a67 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl
+      maggesi vbgl
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ssl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ssl/default.nix
index b24d799cf28e..3086558e3eb6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ssl/default.nix
@@ -1,29 +1,25 @@
-{ stdenv, fetchzip, which, openssl, ocaml, findlib }:
+{ lib, buildDunePackage, fetchFromGitHub, pkg-config, openssl }:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-ssl-${version}";
-  version = "0.5.5";
+buildDunePackage rec {
+  pname = "ssl";
+  version = "0.5.9";
 
-  src = fetchzip {
-    url = "https://github.com/savonet/ocaml-ssl/releases/download/${version}/ocaml-ssl-${version}.tar.gz";
-    sha256 = "0j5zvsx51dg5r7sli7bakv7gfd29z890h0xzi876pg9vywwz9w7l";
+  src = fetchFromGitHub {
+    owner = "savonet";
+    repo = "ocaml-ssl";
+    rev = version;
+    sha256 = "04h02rvzrwp886n5hsx84rnc9b150iggy38g5v1x1rwz3pkdnmf0";
   };
 
-  buildInputs = [which ocaml findlib];
-
+  nativeBuildInputs = [ pkg-config ];
   propagatedBuildInputs = [openssl];
 
-  dontAddPrefix = true;
-
-  createFindlibDestdir = true;
-
   meta = {
     homepage = http://savonet.rastageeks.org/;
     description = "OCaml bindings for libssl ";
     license = "LGPL+link exception";
-    platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      lib.maintainers.maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/stdint/default.nix b/nixpkgs/pkgs/development/ocaml-modules/stdint/default.nix
index 0b8f83a1ea3e..a36d84ffa3a7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/stdint/default.nix
@@ -1,26 +1,20 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, dune }:
+{ stdenv, fetchFromGitHub, buildDunePackage }:
 
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "stdint";
-  name = "ocaml${ocaml.version}-${pname}-${version}";
-  version = "0.5.1";
+  version = "0.6.0";
+
   src = fetchFromGitHub {
     owner = "andrenth";
     repo = "ocaml-stdint";
     rev = version;
-    sha256 = "0z2z77m3clna9m9k0f8fd1400cdlglvy1kr893qs3907b3v0c057";
+    sha256 = "19ccxs0vij81vyc9nqc9kbr154ralb9dgc2y2nr71a5xkx6xfn0y";
   };
 
-  buildInputs = [ ocaml findlib dune ];
-
-  buildPhase = "dune build -p ${pname}";
-  inherit (dune) installPhase;
-
   meta = {
     description = "Various signed and unsigned integers for OCaml";
+    homepage = "https://github.com/andrenth/ocaml-stdint";
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.gebner ];
-    inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tls/default.nix b/nixpkgs/pkgs/development/ocaml-modules/tls/default.nix
index b1a178128adb..80d9933f8b68 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tls/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tls/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     sha256 = "02wv4lia583imn3sfci4nqv6ac5nzig5j3yfdnlqa0q8bp9rfc6g";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_cstruct ]
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg ppx_sexp_conv ppx_cstruct ]
   ++ optionals doCheck [ ounit cstruct-unix ];
   propagatedBuildInputs = [ cstruct-sexp nocrypto result x509 ] ++
                           optional withLwt lwt;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix b/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix
index a3e718d53296..edbbec3dcb3a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${run} build";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/twt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/twt/default.nix
index 207a7b183e6e..940f6cf5107d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/twt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/twt/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   dontBuild = true;
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   dontStrip = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/type_conv/108.08.00.nix b/nixpkgs/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
index f17e5a7b89ef..f2e272ed3956 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     license = licenses.asl20;
     branch = "108";
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z ];
+    maintainers = with maintainers; [ maggesi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
index c54642afb41d..706554bc0277 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
     description = "Support library for OCaml preprocessor type conversions";
     license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with stdenv.lib.maintainers; [ z77z ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
index c50d08dd1448..f6c1ec9ad063 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
@@ -15,6 +15,6 @@ buildOcaml rec {
     homepage = https://github.com/janestreet/type_conv/;
     description = "Support library for preprocessor type conversions";
     license = stdenv.lib.licenses.asl20;
-    maintainers = with stdenv.lib.maintainers; [ z77z ericbmerritt ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ericbmerritt ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/uchar/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uchar/default.nix
index c943d3ce35a8..2140871021da 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline, withShared ? true }:
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-uchar-0.0.2";
@@ -8,9 +8,11 @@ stdenv.mkDerivation {
     sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib opaline ];
-  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+  nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ];
+  buildInputs = [ findlib ocaml ocamlbuild opaline ];
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}";
   installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
+  configurePlatforms = [];
 
   meta = {
     description = "Compatibility library for OCaml’s Uchar module";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ulex/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ulex/default.nix
index ed868c30a442..d32fcf07b6cc 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ulex/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ camlp4 ];
 
-  buildFlags = "all all.opt";
+  buildFlags = [ "all" "all.opt" ];
 
   meta = {
     inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix
index 079e810bfdc6..497b2df88b19 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  configurePlatforms = [];
+  buildInputs = [ topkg cmdliner ];
 
   inherit (topkg) buildPhase installPhase;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/uutf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uutf/default.nix
index 863a4cbb8409..f289781b422c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/uutf/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/webmachine/default.nix b/nixpkgs/pkgs/development/ocaml-modules/webmachine/default.nix
new file mode 100644
index 000000000000..79e36b66d117
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/webmachine/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildDunePackage, fetchFromGitHub
+, cohttp, dispatch, ptime
+, ounit
+}:
+
+buildDunePackage rec {
+  pname = "webmachine";
+  version = "0.6.1";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchFromGitHub {
+    owner = "inhabitedtype";
+    repo = "ocaml-webmachine";
+    rev = "${version}";
+    sha256 = "0kpbxsvjzylbxmxag77k1c8m8mwn4f4xscqk2i7fc591llgq9fp3";
+  };
+
+  propagatedBuildInputs = [ cohttp dispatch ptime ];
+
+  checkInputs = lib.optional doCheck ounit;
+
+  doCheck = true;
+
+  meta = {
+    inherit (src.meta) homepage;
+    license = lib.licenses.bsd3;
+    description = "A REST toolkit for OCaml";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/wtf8/default.nix b/nixpkgs/pkgs/development/ocaml-modules/wtf8/default.nix
index 4c820d13808d..420cb30bb946 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/wtf8/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/wtf8/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "wtf8";
-  version = "1.0.1";
+  version = "1.0.2";
 
   minimumOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "1msg3vycd3k8qqj61sc23qks541cxpb97vrnrvrhjnqxsqnh6ygq";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "09ygcxxd5warkdzz17rgpidrd0pg14cy2svvnvy1hna080lzg7vp";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/yaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/yaml/default.nix
new file mode 100644
index 000000000000..317907553571
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/yaml/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchurl, buildDunePackage
+, ppx_sexp_conv
+, bos, ctypes, fmt, logs, rresult, sexplib
+}:
+
+buildDunePackage rec {
+  pname = "yaml";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/avsm/ocaml-yaml/releases/download/v${version}/yaml-v${version}.tbz";
+    sha256 = "1r8jj572h416g2zliwmxj2j9hkv73nxnpfb9gmbj9gixg24lskx0";
+  };
+
+  propagatedBuildInputs = [ bos ctypes fmt logs ppx_sexp_conv rresult sexplib ];
+
+  meta = {
+    description = "Parse and generate YAML 1.1 files";
+    homepage = "https://github.com/avsm/ocaml-yaml";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix b/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
index c660ca648566..dca97a53cbfb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
@@ -6,7 +6,7 @@ let
     version = "1.7.0";
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
     sha256 = "08llz96if8bcgnaishf18si76cv11zbkni0aldb54k3cn7ipiqvd";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     extra = { inherit (dune) installPhase; };
   } else rec {
     version = "1.2.3";
@@ -15,7 +15,7 @@ let
     extra = {
       createFindlibDestdir = true;
 
-      makeFlags = "PREFIX=$(out)";
+      makeFlags = [ "PREFIX=$(out)" ];
 
       preBuild = "mkdir $out/bin";
     };
@@ -29,13 +29,14 @@ stdenv.mkDerivation ({
     inherit (param) url sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ (param.buildInputs or []);
-
-  propagatedBuildInputs = [ cppo easy-format biniou ];
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  propagatedNativeBuildInputs = [ cppo ];
+  propagatedBuildInputs = [ easy-format biniou ];
+  configurePlatforms = [];
 
   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/nixpkgs/pkgs/development/ocaml-modules/zarith/default.nix b/nixpkgs/pkgs/development/ocaml-modules/zarith/default.nix
index cb90c2005473..f0cb5a594858 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/zarith/default.nix
@@ -6,9 +6,9 @@
 let source =
   if stdenv.lib.versionAtLeast ocaml.version "4.02"
   then {
-    version = "1.8";
-    url = https://github.com/ocaml/Zarith/archive/release-1.8.tar.gz;
-    sha256 = "1cn63c97aij19nrw5hc1zh1jpnbsdkzq99zyyk649c4s3xi3iqq7";
+    version = "1.9";
+    url = https://github.com/ocaml/Zarith/archive/release-1.9.tar.gz;
+    sha256 = "1xrqcaj5gp52xp4ybpnblw8ciwlgrr0zi7rg7hnk8x83isjkpmwx";
   } else {
     version = "1.3";
     url = http://forge.ocamlcore.org/frs/download.php/1471/zarith-1.3.tgz;
@@ -26,9 +26,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gmp ];
 
   patchPhase = "patchShebangs ./z_pp.pl";
-  configurePhase = ''
-    ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib
-  '';
+  dontAddPrefix = true;
+  configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ];
 
   preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs";
 
diff --git a/nixpkgs/pkgs/development/perl-modules/BerkeleyDB/default.nix b/nixpkgs/pkgs/development/perl-modules/BerkeleyDB/default.nix
deleted file mode 100644
index b23db8e1edfe..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/BerkeleyDB/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{buildPerlPackage, fetchurl, db}:
-
-buildPerlPackage {
-  pname = "BerkeleyDB";
-  version = "0.61";
-
-  src = fetchurl {
-    url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.61.tar.gz";
-    sha256 = "0l65v301cz6a9dxcw6a4ps2mnr5zq358yn81favap6i092krggiz";
-  };
-
-  preConfigure = ''
-    echo "LIB = ${db.out}/lib" > config.in
-    echo "INCLUDE = ${db.dev}/include" >> config.in
-  '';
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/nixpkgs/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
deleted file mode 100644
index 1163b6cb15b3..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ fetchurl, buildPerlPackage, zlib, stdenv }:
-
-buildPerlPackage {
-  pname = "Compress-Raw-Zlib";
-  version = "2.086";
-
-  src = fetchurl {
-    url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.086.tar.gz;
-    sha256 = "0va93wc968p4l2ql0k349bz189l2vbs09bpn865cvc36amqxwv9z";
-  };
-
-  preConfigure = ''
-    cat > config.in <<EOF
-      BUILD_ZLIB   = False
-      INCLUDE      = ${zlib.dev}/include
-      LIB          = ${zlib.out}/lib
-      OLD_ZLIB     = False
-      GZIP_OS_CODE = AUTO_DETECT
-    EOF
-  '';
-
-  doCheck = !stdenv.isDarwin;
-
-  meta = {
-    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix
deleted file mode 100644
index 0658dd4248dd..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }:
-
-buildPerlPackage {
-  pname = "DBD-Oracle";
-  version = "1.80";
-
-  src = fetchurl {
-    url = mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.76.tar.gz;
-    sha256 = "1wym2kc8b31qa1zb0dgyy3w4iqlk1faw36gy9hkpj895qr1pznxn";
-  };
-
-  ORACLE_HOME = "${oracle-instantclient.lib}/lib";
-
-  buildInputs = [ TestNoWarnings oracle-instantclient ] ;
-  propagatedBuildInputs = [ DBI ];
-
-  postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
-    install_name_tool -add_rpath "${oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
-  '';
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-Pg/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-Pg/default.nix
deleted file mode 100644
index 339791215385..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DBD-Pg/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
-
-buildPerlPackage {
-  pname = "DBD-Pg";
-  version = "3.7.4";
-
-  src = fetchurl {
-    url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.7.4.tar.gz";
-    sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz";
-  };
-
-  buildInputs = [ postgresql ];
-  propagatedBuildInputs = [ DBI ];
-
-  makeMakerFlags = "POSTGRES_HOME=${postgresql}";
-
-  # tests freeze in a sandbox
-  doCheck = false;
-
-  meta = {
-    description = "DBI PostgreSQL interface";
-    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-SQLite/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-SQLite/default.nix
deleted file mode 100644
index 5a24687c2b01..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, buildPerlPackage, perl, DBI, sqlite }:
-
-buildPerlPackage {
-  pname = "DBD-SQLite";
-  version = "1.62";
-
-  src = fetchurl {
-    url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.62.tar.gz;
-    sha256 = "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx";
-  };
-
-  propagatedBuildInputs = [ DBI ];
-  buildInputs = [ sqlite ];
-
-  patches = [
-    # Support building against our own sqlite.
-    ./external-sqlite.patch
-  ];
-
-  makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
-
-  postInstall = ''
-    # Get rid of a pointless copy of the SQLite sources.
-    rm -rf $out/${perl.libPrefix}/*/*/auto/share
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Self Contained SQLite RDBMS in a DBI Driver";
-    license = with licenses; [ artistic1 gpl1Plus ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-mysql/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-mysql/default.nix
deleted file mode 100644
index 6eed57c4e7c6..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DBD-mysql/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ fetchurl, buildPerlPackage, DBI, DevelChecklib, mysql }:
-
-buildPerlPackage {
-  pname = "DBD-mysql";
-  version = "4.050";
-
-  src = fetchurl {
-    url = mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz;
-    sha256 = "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g";
-  };
-
-  buildInputs = [ mysql.connector-c DevelChecklib ] ;
-  propagatedBuildInputs = [ DBI ];
-
-  doCheck = false;
-
-#  makeMakerFlags = "MYSQL_HOME=${mysql}";
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-sybase/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-sybase/default.nix
deleted file mode 100644
index e863663fc947..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DBD-sybase/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ fetchurl, buildPerlPackage, DBI, freetds }:
-
-buildPerlPackage {
-  pname = "DBD-Sybase";
-  version = "1.16";
-
-  src = fetchurl {
-    url = mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz;
-    sha256 = "1k6n261nrrcll9wxn5xwi4ibpavqv1il96687k62mbpznzl2gx37";
-  };
-
-  SYBASE = freetds;
-
-  buildInputs = [ freetds ] ;
-  propagatedBuildInputs = [ DBI ];
-
-  doCheck = false;
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/DB_File/default.nix b/nixpkgs/pkgs/development/perl-modules/DB_File/default.nix
deleted file mode 100644
index f29abaddb733..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/DB_File/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{fetchurl, buildPerlPackage, db}:
-
-buildPerlPackage rec {
-  pname = "DB_File";
-  version = "1.852";
-
-  src = fetchurl {
-    url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-${version}.tar.gz";
-    sha256 = "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs";
-  };
-
-  preConfigure = ''
-    cat > config.in <<EOF
-    PREFIX = size_t
-    HASH = u_int32_t
-    LIB = ${db.out}/lib
-    INCLUDE = ${db.dev}/include
-    EOF
-  '';
-}
diff --git a/nixpkgs/pkgs/development/perl-modules/Device-OUI-1.04-hash.patch b/nixpkgs/pkgs/development/perl-modules/Device-OUI-1.04-hash.patch
new file mode 100644
index 000000000000..6133ab674756
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/Device-OUI-1.04-hash.patch
@@ -0,0 +1,11 @@
+--- Device-OUI-1.04/lib/Device/OUI.pm.orig	2009-03-07 02:23:17.000000000 +0000
++++ Device-OUI-1.04/lib/Device/OUI.pm	2016-08-09 08:19:00.642799675 +0100
+@@ -54,7 +54,7 @@
+         for my $x ( keys %hash ) {
+             if ( not defined $hash{ $x } ) { $hash{ $x } = '' }
+         }
+-        return $handle->{ $oui } = join( "\0", %hash );
++        return $handle->{ $oui } = join( "\0", map {$_,$hash{$_}} sort keys %hash );
+     } elsif ( my $x = $handle->{ $oui } ) {
+         return { split( "\0", $x ) };
+     }
diff --git a/nixpkgs/pkgs/development/perl-modules/MNI/default.nix b/nixpkgs/pkgs/development/perl-modules/MNI/default.nix
index def32abf881c..7057883e6373 100644
--- a/nixpkgs/pkgs/development/perl-modules/MNI/default.nix
+++ b/nixpkgs/pkgs/development/perl-modules/MNI/default.nix
@@ -16,6 +16,7 @@ buildPerlPackage {
   doCheck = false;  # TODO: almost all tests fail ... is this a real problem?
 
   meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/mni-perllib";
     license = with licenses; [ artistic1 gpl1Plus ];
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/perl-modules/Mozilla-LDAP/default.nix b/nixpkgs/pkgs/development/perl-modules/Mozilla-LDAP/default.nix
new file mode 100644
index 000000000000..6c3d01a34629
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/Mozilla-LDAP/default.nix
@@ -0,0 +1,18 @@
+{ lib, fetchurl, openldap, buildPerlPackage }:
+
+buildPerlPackage rec {
+  pname = "Mozilla-Ldap";
+  version = "1.5.3";
+  USE_OPENLDAP = 1;
+  LDAPSDKDIR = openldap.dev;
+  LDAPSDKLIBDIR = "${openldap.out}/lib";
+  src = fetchurl {
+    url = "https://ftp.mozilla.org/pub/directory/perldap/releases/${version}/src/perl-mozldap-${version}.tar.gz";
+    sha256 = "0s0albdw0zvg3w37s7is7gddr4mqwicjxxsy400n1p96l7ipnw4x";
+  };
+  meta = {
+    description = "Mozilla's ldap client library";
+    homepage = "https://metacpan.org/release/perldap";
+    license = with lib.licenses; [ mpl20 lgpl21Plus gpl2Plus ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/Percona-Toolkit/default.nix b/nixpkgs/pkgs/development/perl-modules/Percona-Toolkit/default.nix
new file mode 100644
index 000000000000..3b19b64367d6
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/Percona-Toolkit/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchFromGitHub, buildPerlPackage, DBDmysql, DBI, IOSocketSSL, TermReadKey }:
+
+buildPerlPackage {
+  pname = "Percona-Toolkit";
+  version = "3.0.12";
+  src = fetchFromGitHub {
+    owner = "percona";
+    repo = "percona-toolkit";
+    rev = "3.0.12";
+    sha256 = "0xk4h4dzl80kf97lbx0nznx9ajrb6kkg7k3iwca3rj6f3rqggv9y";
+  };
+  outputs = [ "out" ];
+  buildInputs = [ DBDmysql DBI IOSocketSSL TermReadKey ];
+  meta = {
+    description = ''Collection of advanced command-line tools to perform a variety of MySQL and system tasks.'';
+    homepage = http://www.percona.com/software/percona-toolkit;
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ izorkin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/Po4a/default.nix b/nixpkgs/pkgs/development/perl-modules/Po4a/default.nix
new file mode 100644
index 000000000000..94d83845e292
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/Po4a/default.nix
@@ -0,0 +1,37 @@
+{ lib, fetchurl, docbook_xsl, docbook_xsl_ns, gettext, libxslt, glibcLocales, docbook_xml_dtd_412, docbook_sgml_dtd_41, texlive, opensp
+, perl, buildPerlPackage, ModuleBuild, TextWrapI18N, LocaleGettext, TermReadKey, SGMLSpm, UnicodeLineBreak, PodParser, YAMLTiny }:
+
+buildPerlPackage rec {
+  pname = "po4a";
+  version = "0.55";
+  src = fetchurl {
+    url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
+    sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
+  };
+  nativeBuildInputs = [ docbook_xsl docbook_xsl_ns ModuleBuild ];
+  propagatedBuildInputs = [ TextWrapI18N LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
+  # TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build
+  buildInputs = [ gettext libxslt glibcLocales docbook_xml_dtd_412 docbook_sgml_dtd_41 texlive.combined.scheme-basic opensp ];
+  LC_ALL = "en_US.UTF-8";
+  SGML_CATALOG_FILES = "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
+  preConfigure = ''
+    touch Makefile.PL
+    export PERL_MB_OPT="--install_base=$out --prefix=$out"
+  '';
+  buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
+  checkPhase = ''
+    export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
+    ./Build test
+  '';
+  installPhase = ''
+    ./Build install
+    for f in $out/bin/*; do
+      substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
+    done
+  '';
+  meta = {
+    homepage = "https://po4a.org/";
+    description = "Tools for helping translation of documentation";
+    license = lib.licenses.gpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/WWW-YoutubeViewer/default.nix b/nixpkgs/pkgs/development/perl-modules/WWW-YoutubeViewer/default.nix
new file mode 100644
index 000000000000..6a3ed466e8f7
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/WWW-YoutubeViewer/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, buildPerlPackage, shortenPerlShebang, LWP, LWPProtocolHttps, DataDump, JSON }:
+
+buildPerlPackage rec {
+  pname = "WWW-YoutubeViewer";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner  = "trizen";
+    repo   = "youtube-viewer";
+    rev    = version;
+    sha256 = "15xyrwv08fw8jmpydwzks26ipxnzliwddgyjcfqiaj0p7lwlhmx1";
+  };
+
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+  propagatedBuildInputs = [
+    LWP
+    LWPProtocolHttps
+    DataDump
+    JSON
+  ];
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/youtube-viewer
+  '';
+
+  meta = {
+    description = "A lightweight application for searching and streaming videos from YouTube";
+    homepage = https://github.com/trizen/youtube-viewer;
+    maintainers = with stdenv.lib.maintainers; [ woffs ];
+    license = with stdenv.lib.licenses; [ artistic2 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/alien-sdl.patch b/nixpkgs/pkgs/development/perl-modules/alien-sdl.patch
new file mode 100644
index 000000000000..b00f7dcce819
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/alien-sdl.patch
@@ -0,0 +1,30 @@
+diff --git a/inc/My/Builder/Unix.pm b/inc/My/Builder/Unix.pm
+index 15291d5..5c5ab24 100644
+--- a/inc/My/Builder/Unix.pm
++++ b/inc/My/Builder/Unix.pm
+@@ -48,7 +48,7 @@ sub get_additional_libs {
+ 
+ sub can_build_binaries_from_sources {
+   my $self = shift;
+-  return 1; # yes we can
++  return 0; # no we can't
+ }
+ 
+ sub build_binaries {
+diff --git a/t/004_get_header_version.t b/t/004_get_header_version.t
+index d4146ff..27f53ea 100644
+--- a/t/004_get_header_version.t
++++ b/t/004_get_header_version.t
+@@ -1,8 +1,11 @@
+ # t/004_config.t
+ 
+-use Test::More tests => 1;
++use Test::More;
+ use Alien::SDL;
+ 
++Test::More::plan( skip_all => 'NixOS doesn\'t have SDL headers in this location' );
++
++
+ like( Alien::SDL->get_header_version('SDL_version.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_version.h" );
+ #like( Alien::SDL->get_header_version('SDL_net.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_net.h" );
+ #like( Alien::SDL->get_header_version('SDL_image.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_image.h" );
diff --git a/nixpkgs/pkgs/development/perl-modules/generic/builder.sh b/nixpkgs/pkgs/development/perl-modules/generic/builder.sh
index 253e7e0bdc74..9b42401fc4dc 100644
--- a/nixpkgs/pkgs/development/perl-modules/generic/builder.sh
+++ b/nixpkgs/pkgs/development/perl-modules/generic/builder.sh
@@ -25,17 +25,6 @@ preConfigure() {
     perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$fullperl/bin/perl\"
 }
 
-
-postFixup() {
-    # If a user installs a Perl package, she probably also wants its
-    # dependencies in the user environment (since Perl modules don't
-    # have something like an RPATH, so the only way to find the
-    # dependencies is to have them in the PERL5LIB variable).
-    if test -e $out/nix-support/propagated-build-inputs; then
-        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
-    fi
-}
-
 if test -n "$perlPreHook"; then
     eval "$perlPreHook"
 fi
diff --git a/nixpkgs/pkgs/development/perl-modules/generic/default.nix b/nixpkgs/pkgs/development/perl-modules/generic/default.nix
index 073b0f1c5ad3..79c7919a3541 100644
--- a/nixpkgs/pkgs/development/perl-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/perl-modules/generic/default.nix
@@ -22,9 +22,6 @@ toPerlModule(stdenv.mkDerivation (
     # Prevent CPAN downloads.
     PERL_AUTOINSTALL = "--skipdeps";
 
-    # Avoid creating perllocal.pod, which contains a timestamp
-    installTargets = "pure_install";
-
     # From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows
     # authors to skip certain tests (or include certain tests) when
     # the results are not being monitored by a human being."
@@ -34,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/nixpkgs/pkgs/development/perl-modules/ham/default.nix b/nixpkgs/pkgs/development/perl-modules/ham/default.nix
new file mode 100644
index 000000000000..637e6ac22dd8
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/ham/default.nix
@@ -0,0 +1,42 @@
+{ lib, buildPerlPackage, fetchFromGitHub, makeWrapper, openssh, GitRepository, URI, XMLMini }:
+
+buildPerlPackage {
+  pname = "ham-unstable";
+  version = "2019-01-22";
+
+  src = fetchFromGitHub {
+    owner = "kernkonzept";
+    repo = "ham";
+    rev = "37c2e4e8b8bd779ba0f8c48a3c6ba34bad860b92";
+    sha256 = "0h5r5256niskypl4g1j2573wqi0nn0mai5p04zsa06xrgyjqcy2j";
+  };
+
+  outputs = [ "out" ];
+
+  buildInputs = [ makeWrapper ];
+  propagatedBuildInputs = [ openssh GitRepository URI XMLMini ];
+
+  preConfigure = ''
+    patchShebangs .
+    touch Makefile.PL
+    rm -f Makefile
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib $out/bin
+    cp -r . $out/lib/ham
+
+    makeWrapper $out/lib/ham/ham $out/bin/ham --argv0 ham \
+      --prefix PATH : ${openssh}/bin
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "A tool to manage big projects consisting of multiple loosely-coupled git repositories";
+    homepage = https://github.com/kernkonzept/ham;
+    license = "unknown"; # should be gpl2, but not quite sure
+    maintainers = with lib.maintainers; [ aw ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch b/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch
deleted file mode 100644
index 0568aeb56bf7..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm
---- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm	2011-06-13 19:45:30.000000000 -0400
-+++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm	2011-10-27 17:25:29.000000000 -0400
-@@ -25,6 +25,10 @@
- This element remains empty until the instance enters a 
- running state.
- 
-+=item dns_name_v6 (optional)
-+
-+The public IPv6 address of the instance.
-+
- =item image_id (required)
- 
- The image id of the AMI currently running in this instance.
-@@ -134,6 +138,7 @@
- 
- has 'ami_launch_index'  	=> ( is => 'ro', isa => 'Str', required => 0 );
- has 'dns_name'          	=> ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
-+has 'dns_name_v6'          	=> ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
- has 'image_id'          	=> ( is => 'ro', isa => 'Str', required => 1 );
- has 'kernel_id'         	=> ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
- has 'ramdisk_id'        	=> ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm
---- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm	2011-06-13 19:45:30.000000000 -0400
-+++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm	2011-10-27 17:25:29.000000000 -0400
-@@ -1691,6 +1691,7 @@
- 	my $self = shift;
- 	my %args = validate( @_, {
- 		InstanceId => { type => SCALAR | ARRAYREF, optional => 1 },
-+		Action => { default => "DescribeInstances" },
- 	});
- 	
- 	# If we have a array ref of instances lets split them out into their InstanceId.n format
-@@ -1703,7 +1704,8 @@
- 		}
- 	}
- 	
--	my $xml = $self->_sign(Action  => 'DescribeInstances', %args);
-+	my $xml = $self->_sign(Action => $args{Action}, %args);
-+	delete $args{Action};
- 	my $reservations;
- 	
- 	if ( grep { defined && length } $xml->{Errors} ) {
-@@ -1791,6 +1793,7 @@
- 				my $running_instance = Net::Amazon::EC2::RunningInstances->new(
- 					ami_launch_index		=> $instance_elem->{amiLaunchIndex},
- 					dns_name				=> $instance_elem->{dnsName},
-+					dns_name_v6			=> $instance_elem->{dnsNameV6},
- 					image_id				=> $instance_elem->{imageId},
- 					kernel_id				=> $instance_elem->{kernelId},
- 					ramdisk_id				=> $instance_elem->{ramdiskId},
diff --git a/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-nova-compat.patch b/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-nova-compat.patch
deleted file mode 100644
index 5d9aef7f70d4..000000000000
--- a/nixpkgs/pkgs/development/perl-modules/net-amazon-ec2-nova-compat.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru -x '*~' Net-Amazon-EC2-0.14-orig/lib/Net/Amazon/EC2.pm Net-Amazon-EC2-0.14/lib/Net/Amazon/EC2.pm
---- Net-Amazon-EC2-0.14-orig/lib/Net/Amazon/EC2.pm	2010-02-02 02:26:58.000000000 +0100
-+++ Net-Amazon-EC2-0.14/lib/Net/Amazon/EC2.pm	2011-06-16 16:11:53.861341300 +0200
-@@ -1552,6 +1552,8 @@
- 			$args{"InstanceId." . $count} = $instance_id;
- 			$count++;
- 		}
-+	} else {
-+		$args{"InstanceId.1"} = delete $args{InstanceId};
- 	}
- 	
- 	my $xml = $self->_sign(Action  => 'DescribeInstances', %args);
-@@ -3739,6 +3741,8 @@
- 			$args{"InstanceId." . $count} = $instance_id;
- 			$count++;
- 		}
-+	} else {
-+		$args{"InstanceId.1"} = delete $args{InstanceId};
- 	}
- 	
- 	my $xml = $self->_sign(Action  => 'TerminateInstances', %args);	
diff --git a/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix
new file mode 100644
index 000000000000..7ac0b82ed101
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix
@@ -0,0 +1,34 @@
+{ lib, file, fetchFromGitLab, buildPerlPackage, ArchiveZip, ArchiveCpio }:
+
+buildPerlPackage rec {
+  pname = "strip-nondeterminism";
+  version = "1.0.0";
+
+  outputs = [ "out" "dev" ]; # no "devdoc"
+
+  src = fetchFromGitLab {
+    owner = "reproducible-builds";
+    repo = "strip-nondeterminism";
+    domain = "salsa.debian.org";
+    rev = version;
+    sha256 = "1pwar1fyadqxmvb7x4zyw2iawbi5lsfjcg0ps9n9rdjb6an7vv64";
+  };
+
+  # stray test failure
+  doCheck = false;
+
+  buildInputs = [ ArchiveZip ArchiveCpio file ];
+
+  perlPostHook = ''
+    # we don’t need the debhelper script
+    rm $out/bin/dh_strip_nondeterminism
+    rm $out/share/man/man1/dh_strip_nondeterminism.1.gz
+  '';
+
+  meta = with lib; {
+    description = "A Perl module for stripping bits of non-deterministic information";
+    homepage = "https://reproducible-builds.org/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/perl-modules/timedate-2020.patch b/nixpkgs/pkgs/development/perl-modules/timedate-2020.patch
new file mode 100644
index 000000000000..ea4d8307f03a
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/timedate-2020.patch
@@ -0,0 +1,12 @@
+Index: TimeDate-2.30/t/getdate.t
+===================================================================
+--- TimeDate-2.30.orig/t/getdate.t
++++ TimeDate-2.30/t/getdate.t
+@@ -156,7 +156,7 @@ Jul 22 10:00:00 UTC 2002         ;102733200
+ !;
+ 
+ require Time::Local;
+-my $offset = Time::Local::timegm(0,0,0,1,0,70);
++my $offset = Time::Local::timegm(0,0,0,1,0,1970);
+ 
+ @data = split(/\n/, $data);
diff --git a/nixpkgs/pkgs/development/pharo/vm/build-vm-legacy.nix b/nixpkgs/pkgs/development/pharo/vm/build-vm-legacy.nix
index bd84dd06e7f4..e76b1802c23f 100644
--- a/nixpkgs/pkgs/development/pharo/vm/build-vm-legacy.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/pharo/vm/build-vm.nix b/nixpkgs/pkgs/development/pharo/vm/build-vm.nix
index 47773c209545..5fc747cbc8c2 100644
--- a/nixpkgs/pkgs/development/pharo/vm/build-vm.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/pharo/vm/vms.nix b/nixpkgs/pkgs/development/pharo/vm/vms.nix
index 91cf01847090..080da830af69 100644
--- a/nixpkgs/pkgs/development/pharo/vm/vms.nix
+++ b/nixpkgs/pkgs/development/pharo/vm/vms.nix
@@ -7,7 +7,7 @@
 , openssl
 , gcc
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
diff --git a/nixpkgs/pkgs/development/pure-modules/audio/default.nix b/nixpkgs/pkgs/development/pure-modules/audio/default.nix
index 2cdab404c5fe..cd1435d65996 100644
--- a/nixpkgs/pkgs/development/pure-modules/audio/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/audio/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure portaudio fftw libsndfile libsamplerate ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/avahi/default.nix b/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
index f94ee8d7637f..8ce33e67efe8 100644
--- a/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure avahi ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/csv/default.nix b/nixpkgs/pkgs/development/pure-modules/csv/default.nix
index 846fb7e37306..7524823a5dcc 100644
--- a/nixpkgs/pkgs/development/pure-modules/csv/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/csv/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/doc/default.nix b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
index 54f99bf8afc9..1a006c9eb8f9 100644
--- a/nixpkgs/pkgs/development/pure-modules/doc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
 
   meta = {
     description = "A simple utility for literate programming and documenting source code written in the Pure programming language";
diff --git a/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix b/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
index ebd13743442d..e41110386d79 100644
--- a/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure fcgi ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/faust/default.nix b/nixpkgs/pkgs/development/pure-modules/faust/default.nix
index 74ec8e49343b..e1c1b4d2d4b0 100644
--- a/nixpkgs/pkgs/development/pure-modules/faust/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/faust/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure faust libtool ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/ffi/default.nix b/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
index efea0b4182c2..4d019b5b6999 100644
--- a/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure libffi ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/gen/default.nix b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
index 22bbb4d3be41..54ac78fd6c4d 100644
--- a/nixpkgs/pkgs/development/pure-modules/gen/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   hsEnv = haskellPackages.ghcWithPackages (hsPkgs : [hsPkgs.language-c]);
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ hsEnv pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
 
   meta = {
     description = "Pure interface generator";
diff --git a/nixpkgs/pkgs/development/pure-modules/gl/default.nix b/nixpkgs/pkgs/development/pure-modules/gl/default.nix
index 51c57bb5c519..34c13f99f92f 100644
--- a/nixpkgs/pkgs/development/pure-modules/gl/default.nix
+++ b/nixpkgs/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,8 +11,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ];
+  makeFlags = [
+    "libdir=${placeholder ''out''}/lib"
+    "prefix=${placeholder ''out''}/"
+  ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/glpk/default.nix b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
index 7b615928da9a..838e81b20ba1 100644
--- a/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl,
-  pkgconfig, pure, glpk, gmp, libtool, mysql, libiodbc }:
+  pkgconfig, pure, glpk, gmp, libtool, libmysqlclient, libiodbc }:
 
 stdenv.mkDerivation rec {
   baseName = "glpk";
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   glpkWithExtras = lib.overrideDerivation glpk (attrs: {
-    propagatedBuildInputs = [ gmp libtool mysql.connector-c libiodbc ];
+    propagatedBuildInputs = [ gmp libtool libmysqlclient libiodbc ];
 
     CPPFLAGS = "-I${gmp.dev}/include";
 
     preConfigure = ''
       substituteInPlace configure \
-        --replace /usr/include/mysql ${mysql.connector-c}/include/mysql
+        --replace /usr/include/mysql ${libmysqlclient}/include/mysql
     '';
     configureFlags = [ "--enable-dl"
                        "--enable-odbc"
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure glpkWithExtras ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/gplot/default.nix b/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
index d1657cdd445d..c45f51509b71 100644
--- a/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure gnuplot ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/gsl/default.nix b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
index 08aa674eb6bb..847fe7538e90 100644
--- a/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure gsl ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/gtk/default.nix b/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
index a6a93f9ec95b..1e7957ae3820 100644
--- a/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure pure-ffi gtk2 ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/liblo/default.nix b/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
index 2dd0865f6ea1..94ceef78908c 100644
--- a/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure liblo ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/lilv/default.nix b/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
index 7f3638fe5c9c..c0f508129461 100644
--- a/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure lilv lv2 serd sord sratom ];
-  makeFlags = "CFLAGS=-I${lilv}/include/lilv-0 libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "CFLAGS=-I${lilv}/include/lilv-0" "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/lv2/default.nix b/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
index 98556acbf281..b4a63eb7020f 100644
--- a/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure lv2 ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/midi/default.nix b/nixpkgs/pkgs/development/pure-modules/midi/default.nix
index 950c536e7606..e55d49944555 100644
--- a/nixpkgs/pkgs/development/pure-modules/midi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/midi/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure portmidi ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix b/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
index 63196fadf468..59617beb461e 100644
--- a/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/octave/default.nix b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
index 8fbb1dac320d..e117d04a4cce 100644
--- a/nixpkgs/pkgs/development/pure-modules/octave/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure octave ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/odbc/default.nix b/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
index 4ae1e58a7bca..69808d1aaf01 100644
--- a/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure libiodbc ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
index d5b0a7dbde59..17a16229b573 100644
--- a/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pure ];
   propagatedBuildInputs = [ pandoc gawk getopt ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   preInstall = ''
     mkdir -p $out/bin
     mkdir -p $out/share/man/man1
diff --git a/nixpkgs/pkgs/development/pure-modules/rational/default.nix b/nixpkgs/pkgs/development/pure-modules/rational/default.nix
index 20d61e5c3626..547610fdf016 100644
--- a/nixpkgs/pkgs/development/pure-modules/rational/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/rational/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/readline/default.nix b/nixpkgs/pkgs/development/pure-modules/readline/default.nix
index a6bb2ed61672..d145788c552b 100644
--- a/nixpkgs/pkgs/development/pure-modules/readline/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/readline/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure readline ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/sockets/default.nix b/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
index 235478a1776a..aa8245bb12dd 100644
--- a/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/sql3/default.nix b/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
index 91ff3a446c2b..aa3b2544af07 100644
--- a/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure sqlite ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/stldict/default.nix b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
index 8c39b9791e02..b248a0084ff1 100644
--- a/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/stllib/default.nix b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
index dd7a945182ba..d29719891d2a 100644
--- a/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/tk/default.nix b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
index 03e322d74c0c..d939a3b3ad48 100644
--- a/nixpkgs/pkgs/development/pure-modules/tk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure tcl tk xlibsWrapper ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/pure-modules/xml/default.nix b/nixpkgs/pkgs/development/pure-modules/xml/default.nix
index 8e2686110356..73753a5d34f5 100644
--- a/nixpkgs/pkgs/development/pure-modules/xml/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/xml/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure libxml2 libxslt ];
-  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
   setupHook = ../generic-setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix b/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix
index 4032b527e88b..1f2a89c5e0c6 100644
--- a/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/Babel/default.nix b/nixpkgs/pkgs/development/python-modules/Babel/default.nix
index 34ee532c1fee..ef86aedc527b 100644
--- a/nixpkgs/pkgs/development/python-modules/Babel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Babel/default.nix
@@ -1,21 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
 
 buildPythonPackage rec {
   pname = "Babel";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23";
+    sha256 = "e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28";
   };
 
   propagatedBuildInputs = [ pytz ];
 
-  checkInputs = [ pytest freezegun glibcLocales ];
+  checkInputs = [ pytest freezegun ];
 
-  preCheck = ''
-    export LC_ALL="en_US.UTF-8"
-  '';
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     homepage = http://babel.edgewall.org;
diff --git a/nixpkgs/pkgs/development/python-modules/Cython/default.nix b/nixpkgs/pkgs/development/python-modules/Cython/default.nix
index b88c3c69b5d9..aff4e0b62b3c 100644
--- a/nixpkgs/pkgs/development/python-modules/Cython/default.nix
+++ b/nixpkgs/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.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e";
+    sha256 = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414";
   };
 
   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/nixpkgs/pkgs/development/python-modules/GitPython/default.nix b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
index 24fe4a2458d6..be2526ffcd43 100644
--- a/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
@@ -1,12 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }:
 
 buildPythonPackage rec {
-  version = "2.1.11";
+  version = "3.0.5";
   pname = "GitPython";
+  disabled = isPy27; # no longer supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8237dc5bfd6f1366abeee5624111b9d6879393d84745a507de0fda86043b65a8";
+    sha256 = "9c2398ffc3dcb3c40b27324b316f08a4f93ad646d5a6328cafbb871aa79f5e42";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/HTSeq/default.nix b/nixpkgs/pkgs/development/python-modules/HTSeq/default.nix
new file mode 100644
index 000000000000..7cbe523ba1ec
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/HTSeq/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, cython, numpy, pysam, matplotlib
+}:
+buildPythonPackage rec {
+  version = "0.11.2";
+  pname = "HTSeq";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "65c4c13968506c7df92e97124df96fdd041c4476c12a548d67350ba8b436bcfc";
+  };
+
+  buildInputs = [ cython numpy pysam ];
+  propagatedBuildInputs = [ numpy pysam matplotlib ];
+
+  meta = with stdenv.lib; {
+    description = "A framework to work with high-throughput sequencing data";
+    maintainers = with maintainers; [ unode ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/JPype1/default.nix b/nixpkgs/pkgs/development/python-modules/JPype1/default.nix
index 44ec253fbf78..22093f0258a9 100644
--- a/nixpkgs/pkgs/development/python-modules/JPype1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/JPype1/default.nix
@@ -1,24 +1,29 @@
-{ buildPythonPackage, fetchPypi, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "JPype1";
-  version = "0.6.3";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6841523631874a731e1f94e1b1f130686ad3772030eaa3b6946256eeb1d10dd1";
+    sha256 = "c16d01cde9c2c955d76d45675e64b06c3255784d49cea4147024e99a01fbbb18";
   };
 
-  patches = [ ./set-compiler-language.patch ];
+  checkInputs = [
+    pytest
+  ];
 
-  checkInputs = [ pytest ];
-
-  # ImportError: Failed to import test module: test.testlucene
+  # required openjdk (easy) but then there were some class path issues
+  # when running the tests
   doCheck = false;
 
-  meta = {
-    homepage = "https://github.com/originell/jpype/";
-    license = "License :: OSI Approved :: Apache Software License";
-    description = "A Python to Java bridge.";
+  meta = with lib; {
+    homepage = https://github.com/originell/jpype/;
+    license = licenses.asl20;
+    description = "A Python to Java bridge";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/JPype1/set-compiler-language.patch b/nixpkgs/pkgs/development/python-modules/JPype1/set-compiler-language.patch
deleted file mode 100644
index 1d5921a6ffab..000000000000
--- a/nixpkgs/pkgs/development/python-modules/JPype1/set-compiler-language.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a/setup.py b/setup.py
---- a/setup.py	2017-01-12 19:08:44.000000000 -0500
-+++ b/setup.py	2018-02-15 12:28:16.000000000 -0500
-@@ -123,7 +123,7 @@
- 
-     # extra compile args
-     copt = {'msvc': ['/EHsc'],
--            'unix' : ['-ggdb'],
-+            'unix' : ['-ggdb', '-x', 'c++'],
-             'mingw32' : [],
-            }
-     # extra link args
diff --git a/nixpkgs/pkgs/development/python-modules/JayDeBeApi/default.nix b/nixpkgs/pkgs/development/python-modules/JayDeBeApi/default.nix
index a423945b0ce8..dd1cc819ad66 100644
--- a/nixpkgs/pkgs/development/python-modules/JayDeBeApi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/JayDeBeApi/default.nix
@@ -1,16 +1,25 @@
-{ lib, buildPythonPackage, fetchPypi, JPype1 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, JPype1
+}:
 
 buildPythonPackage rec {
   pname = "JayDeBeApi";
   version = "1.1.1";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "0a189xs9zw81jvwwglvf2qyqnk6ra0biljssx9n4ffayqn9glbds";
   };
-  propagatedBuildInputs = [ JPype1 ];
-  meta = {
-    homepage = "https://github.com/baztian/jaydebeapi";
-    license = lib.licenses.lgpl2;
-    description = "Use JDBC database drivers from Python 2/3 or Jython with a DB-API.";
+
+  propagatedBuildInputs = [
+    JPype1
+  ];
+
+  meta = with lib; {
+    homepage = https://github.com/baztian/jaydebeapi;
+    license = licenses.lgpl2;
+    description = "Use JDBC database drivers from Python 2/3 or Jython with a DB-API";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/Logbook/default.nix b/nixpkgs/pkgs/development/python-modules/Logbook/default.nix
index 503fefc0013c..97befe7190ac 100644
--- a/nixpkgs/pkgs/development/python-modules/Logbook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Logbook/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Logbook";
-  version = "1.4.3";
+  version = "1.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5a96792abd8172c80d61b7530e134524f20e2841981038031e602ed5920fef5";
+    sha256 = "1s1gyfw621vid7qqvhddq6c3z2895ci4lq3g0r1swvpml2nm9x36";
   };
 
   checkInputs = [ pytest ] ++ lib.optionals (!isPy3k) [ mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/Mako/default.nix b/nixpkgs/pkgs/development/python-modules/Mako/default.nix
index 85493f2760a3..2e7cb74a06ce 100644
--- a/nixpkgs/pkgs/development/python-modules/Mako/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Mako/default.nix
@@ -1,26 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
 , markupsafe
 , nose
 , mock
-, pytest
 , isPyPy
 }:
 
 buildPythonPackage rec {
   pname = "Mako";
-  version = "1.0.12";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162";
+    sha256 = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b";
   };
 
-  checkInputs = [ markupsafe nose mock pytest ];
+  checkInputs = [ markupsafe nose mock ];
   propagatedBuildInputs = [ markupsafe ];
 
   doCheck = !isPyPy;  # https://bitbucket.org/zzzeek/mako/issue/238/2-tests-failed-on-pypy-24-25
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
 
   meta = {
     description = "Super-fast templating language";
diff --git a/nixpkgs/pkgs/development/python-modules/MechanicalSoup/default.nix b/nixpkgs/pkgs/development/python-modules/MechanicalSoup/default.nix
index 6c4a2d310da7..7882685df4c0 100644
--- a/nixpkgs/pkgs/development/python-modules/MechanicalSoup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/MechanicalSoup/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "MechanicalSoup";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k59wwk75q7nz6i6gynvzhagy02ql0bv7py3qqcwgjw7607yq4i7";
+    sha256 = "1g976rk79apz6rc338zq3ml2yps8hb88nyw3a698d0brm4khd9ir";
   };
 
   checkInputs = [ pytest pytestrunner requests-mock pytestcov ];
diff --git a/nixpkgs/pkgs/development/python-modules/Nikola/default.nix b/nixpkgs/pkgs/development/python-modules/Nikola/default.nix
index 52cf7598da8d..d36a47c331cd 100644
--- a/nixpkgs/pkgs/development/python-modules/Nikola/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/PyLD/default.nix b/nixpkgs/pkgs/development/python-modules/PyLD/default.nix
index 0862fa63072d..df8738ce2470 100644
--- a/nixpkgs/pkgs/development/python-modules/PyLD/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/PyLD/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, python, gnugrep }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, requests, gnugrep }:
 
 let
 
@@ -18,17 +18,19 @@ let
 
 in
 
-buildPythonPackage {
-  pname = "PyLD";
-  version = "0.7.2";
+buildPythonPackage rec {
+  pname = "pyld";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "digitalbazaar";
-    repo = "pyld";
-    rev = "652473f828e9a396d4c1db9addbd294fb7db1797";
-    sha256 = "1bmpz4s6j7by6l45wwxy7dn7hmrhxc26kbx2hbfy41x29vbjg6j9";
+    repo = pname;
+    rev = version;
+    sha256 = "0z2vkllw8bvzxripwb6l757r7av5qwhzsiy4061gmlhq8z8gq961";
   };
 
+  propagatedBuildInputs = [ requests ];
+
   # Unfortunately PyLD does not pass all testcases in the JSON-LD corpus. We
   # check for at least a minimum amount of successful tests so we know it's not
   # getting worse, at least.
diff --git a/nixpkgs/pkgs/development/python-modules/Pygments/default.nix b/nixpkgs/pkgs/development/python-modules/Pygments/default.nix
index cb0986e1d7f0..38636c9e31d5 100644
--- a/nixpkgs/pkgs/development/python-modules/Pygments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Pygments/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Pygments";
-  version = "2.4.2";
+  version = "2.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748";
+    sha256 = "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe";
   };
 
   propagatedBuildInputs = [ docutils ];
diff --git a/nixpkgs/pkgs/development/python-modules/ROPGadget/default.nix b/nixpkgs/pkgs/development/python-modules/ROPGadget/default.nix
index c9398d96fce9..4daf76219adf 100644
--- a/nixpkgs/pkgs/development/python-modules/ROPGadget/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ROPGadget/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "ROPGadget";
-  version = "5.8";
+  version = "5.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "184qncm2ss474prphw0xnf7ifkpgj955dzlb2vqq94z6xvf3xyd9";
+    sha256 = "0lggiqws4dzq6k6c20l515pmjajl19gymsxfggkv771dv5kr1gbs";
   };
 
   propagatedBuildInputs = [ capstone ];
diff --git a/nixpkgs/pkgs/development/python-modules/Rtree/default.nix b/nixpkgs/pkgs/development/python-modules/Rtree/default.nix
index 7953829465b9..867c771350c1 100644
--- a/nixpkgs/pkgs/development/python-modules/Rtree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Rtree/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Rtree";
-  version = "0.8.3";
+  version = "0.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jc62jbcqqpjcwcly7l9zk25bg72mrxmjykpvfiscgln00qczfbc";
+    sha256 = "55c046a98e8d84235792de1f18635f680d7b4085264fbced6b073f28fcbe353a";
   };
 
   propagatedBuildInputs = [ libspatialindex ];
diff --git a/nixpkgs/pkgs/development/python-modules/Theano/default.nix b/nixpkgs/pkgs/development/python-modules/Theano/default.nix
index 554eaf977911..67600a6e5fd8 100644
--- a/nixpkgs/pkgs/development/python-modules/Theano/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Theano/default.nix
@@ -35,7 +35,11 @@ let
     '';
 
   # Theano spews warnings and disabled flags if the compiler isn't named g++
-  cxx_compiler = wrapped "g++" "\\$HOME/.theano"
+  cxx_compiler_name =
+    if stdenv.cc.isGNU then "g++" else
+    if stdenv.cc.isClang then "clang++" else
+    throw "Unknown C++ compiler";
+  cxx_compiler = wrapped cxx_compiler_name "\\$HOME/.theano"
     (    stdenv.lib.optional cudaSupport libgpuarray_
       ++ stdenv.lib.optional cudnnSupport cudnn );
 
diff --git a/nixpkgs/pkgs/development/python-modules/Wand/default.nix b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
index b1b71b395724..a7fe193c62f5 100644
--- a/nixpkgs/pkgs/development/python-modules/Wand/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.5.6";
+  version = "0.5.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "126gpx6zj7fpx87v1qgicpfdahmmkqqmd2a8abllq0jlckrmjsyh";
+    sha256 = "0sjdlfhw1wdjqpmr72mckf2njy9xigx51shl510jhvl418cja2bd";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/WazeRouteCalculator/default.nix b/nixpkgs/pkgs/development/python-modules/WazeRouteCalculator/default.nix
index 6a44dc9a75f2..34757f0e29cb 100644
--- a/nixpkgs/pkgs/development/python-modules/WazeRouteCalculator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/WazeRouteCalculator/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "WazeRouteCalculator";
-  version = "0.9";
+  version = "0.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kwr7r1cn9xxvf9asxqhsy4swx4v6hsgw5cr5wmn71qg11k1i5cx";
+    sha256 = "889fe753a530b258bd23def65616666d32c48d93ad8ed211dadf2ed9afcec65b";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix b/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix
index 679725db307a..f9730eb61ae0 100644
--- a/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/absl-py/default.nix b/nixpkgs/pkgs/development/python-modules/absl-py/default.nix
index 29cb06310432..e7a2f120c1b3 100644
--- a/nixpkgs/pkgs/development/python-modules/absl-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/absl-py/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.7.1";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b943d1c567743ed0455878fcd60bc28ac9fae38d129d1ccfad58079da00b8951";
+    sha256 = "75e737d6ce7723d9ff9b7aa1ba3233c34be62ef18d5859e706b8fdc828989830";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/accupy/default.nix b/nixpkgs/pkgs/development/python-modules/accupy/default.nix
index 9cc3403370f0..07c2bcfeb5e8 100644
--- a/nixpkgs/pkgs/development/python-modules/accupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/accupy/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "accupy";
-  version = "0.1.4";
+  version = "0.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2a67f2a778b824fb24eb338fed8e0b61c1af93369d57ff8132f5d602d60f0543";
+    sha256 = "e27ca7eed8a1bde2e6e040f8f3ee94a5d7522f42c4360756c9ec8931cf13ca98";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/acoustics/default.nix b/nixpkgs/pkgs/development/python-modules/acoustics/default.nix
index eb56cfc1fa0a..85ce02be1c3d 100644
--- a/nixpkgs/pkgs/development/python-modules/acoustics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/acoustics/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "acoustics";
-  version = "0.2.1";
+  version = "0.2.3";
 
   checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d7cec62d3e7a7eb26026f2aacc726fb1dd0b044574cbdee83da654b847543c20";
+    sha256 = "ca663059d61fbd2899aed4e3cedbc3f983aa67afd3ae1617db3c59b724206fb3";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/adal/default.nix b/nixpkgs/pkgs/development/python-modules/adal/default.nix
index 9f764df3376c..a2e4d015b2a0 100644
--- a/nixpkgs/pkgs/development/python-modules/adal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adal/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "adal";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b6edd095be66561382bdaa59d40b04490e93149fb3b7fa44c1fa5504eed5b8b9";
+    sha256 = "5a7f1e037c6290c6d7609cab33a9e5e988c2fbec5c51d1c4c649ee3faff37eaf";
   };
 
   propagatedBuildInputs =  [ requests pyjwt dateutil ];
diff --git a/nixpkgs/pkgs/development/python-modules/addic7ed-cli/default.nix b/nixpkgs/pkgs/development/python-modules/addic7ed-cli/default.nix
index a9720f45ef6f..b87a084fd8c2 100644
--- a/nixpkgs/pkgs/development/python-modules/addic7ed-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/addic7ed-cli/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "addic7ed-cli";
-  version = "1.4.5";
+  version = "1.4.6";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "16nmyw7j2igx5dxflwiwblf421g69rxb879n1553wv6hxi4x27in";
+    sha256 = "182cpwxpdybsgl1nps850ysvvjbqlnx149kri4hxhgm58nqq0qf5";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/development/python-modules/aenum/default.nix b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
index 5962b309ee5c..d64bd672ca06 100644
--- a/nixpkgs/pkgs/development/python-modules/aenum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
@@ -2,17 +2,19 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.1.2";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687";
+    sha256 = "a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
   # tests to pass
   checkInputs = if isPy3k then [ glibcLocales ] else [];
 
+  # py2 likes to reorder tests
+  doCheck = isPy3k;
   checkPhase = ''
   runHook preCheck
   ${if isPy3k then "export LC_ALL=en_US.UTF-8" else ""}
diff --git a/nixpkgs/pkgs/development/python-modules/affine/default.nix b/nixpkgs/pkgs/development/python-modules/affine/default.nix
index e2fd802cf80e..ba137ed5178b 100644
--- a/nixpkgs/pkgs/development/python-modules/affine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/affine/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "affine";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "146slzpj2b220dmbmrxib030wymvplawxzn7gcgnbahgm500y3gz";
+    sha256 = "00jil4q3b17qml6azim7s7zar6qb1vhsf0g888y637m23bpms11f";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioamqp/default.nix b/nixpkgs/pkgs/development/python-modules/aioamqp/default.nix
index 8488278c934b..8db472205434 100644
--- a/nixpkgs/pkgs/development/python-modules/aioamqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioamqp/default.nix
@@ -1,20 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pamqp
+, pytest
+, asynctest
+, pyrabbit2
+, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "aioamqp";
-  version = "0.12.0";
+  version = "0.14.0";
+  disabled = isPy27;
 
-  meta = {
-    homepage = https://github.com/polyconseil/aioamqp;
-    description = "AMQP implementation using asyncio";
-    license = lib.licenses.bsd3;
+  src = fetchFromGitHub {
+    owner = "Polyconseil";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1gpfsrc2vi6w33c9zsycd2qn589pr7a222rb41r85m915283zy48";
   };
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "17vrl6jajr81bql7kjgq0zkxy225px97z4g9wmbhbbnvzn1p92c0";
-  };
+  propagatedBuildInputs = [
+    pamqp
+  ];
+
+  checkInputs = [
+    pytest
+    asynctest
+    pyrabbit2
+  ];
 
-  disabled = pythonOlder "3.3";
+  # tests assume rabbitmq server running
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/polyconseil/aioamqp;
+    description = "AMQP implementation using asyncio";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
index aa8ed3929347..36a1c1b76e4f 100644
--- a/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
@@ -10,11 +10,11 @@
 # wrapped to be able to find aioconsole and any other packages.
 buildPythonPackage rec {
   pname = "aioconsole";
-  version = "0.1.14";
+  version = "0.1.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f1ddd04050d9be5e93e223a4e9367433436d245f8fe70905f4124bfde2cd3cdd";
+    sha256 = "0gbl08p89959g8dqy2vainppg3kyf948xlh18p7iwk5p0mw5d3j9";
   };
 
   # hardcodes a test dependency on an old version of pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/aiocontextvars/default.nix b/nixpkgs/pkgs/development/python-modules/aiocontextvars/default.nix
new file mode 100644
index 000000000000..38fdf14164eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiocontextvars/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestrunner
+, pytest
+, pytest-asyncio
+, contextvars
+, sqlalchemy
+, isPy27
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiocontextvars";
+  version = "0.2.2";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "fantix";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0a2gmrm9csiknc8n3si67sgzffkydplh9d7ga1k87ygk2aj22mmk";
+  };
+
+  buildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytest-asyncio
+  ];
+
+  propagatedBuildInputs = [
+    sqlalchemy
+  ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Asyncio support for PEP-567 contextvars backport";
+    homepage = https://github.com/fantix/aiocontextvars;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index 8d8467207ce1..dee851174065 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "2.2.0";
+  version = "2.6.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0znal1hi964acc8bl3z0ikscax7zziks838ld099rjsbffjwmwn5";
+    sha256 = "139d1d348fcfe2f34926a210a32dff069935d17167c4e1cb66e8b039cbb4d6c1";
   };
 
   propagatedBuildInputs = [ attrs protobuf zeroconf ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioeventlet/default.nix b/nixpkgs/pkgs/development/python-modules/aioeventlet/default.nix
index 5df19e92e8d7..0582a59eae87 100644
--- a/nixpkgs/pkgs/development/python-modules/aioeventlet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioeventlet/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "aioeventlet implements the asyncio API (PEP 3156) on top of eventlet. It makes";
-    homepage = https://aioeventlet.readthedocs.org/;
+    homepage = "https://pypi.org/project/aioeventlet/";
     license = licenses.asl20;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
index d8e4c9f29437..58f62b9b0f3f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-jinja2";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g4pqdm2kp2abam0nx0pgs5lk19f8lsfpcgwxpigdwmy1lvblsa5";
+    sha256 = "2dfe29cfd278d07cd0a851afb98471bc8ce2a830968443e40d67636f3c035d79";
   };
 
   propagatedBuildInputs = [ aiohttp jinja2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
index f898c9313e1f..d6487c8157b1 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
@@ -1,16 +1,16 @@
-{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp }:
+{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp, attrs }:
 
 buildPythonPackage rec {
   pname = "aiohttp-socks";
-  version = "0.2.2";
+  version = "0.3.3";
 
   src = fetchPypi {
     inherit version;
     pname = "aiohttp_socks";
-    sha256 = "0473702jk66xrgpm28wbdgpnak4v0dh2qmdjw7ky7hf3lwwqkggf";
+    sha256 = "21974ce5d782c426ddbf7bdfc5e602a38783b1ee839a4a0ed0990240e2e123b5";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [ aiohttp attrs ];
 
   # Checks needs internet access
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
index 049ceb124ea0..40dec3e1c1ee 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
@@ -19,29 +19,42 @@
 , pytest-mock
 , trustme
 , brotlipy
+, freezegun
 }:
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "3.5.4";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf";
+    sha256 = "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5";
   };
 
   disabled = pythonOlder "3.5";
 
   checkInputs = [
     pytestrunner pytest gunicorn pytest-timeout async_generator pytest_xdist
-    pytest-mock pytestcov trustme brotlipy
+    pytest-mock pytestcov trustme brotlipy freezegun
   ];
 
   propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
     ++ lib.optionals (pythonOlder "3.7") [ idna-ssl typing-extensions ];
 
+  # disable tests which attempt to do loopback connections
   checkPhase = ''
-    pytest -k "not test__get_valid_log_format_exc and not test_access_logger_atoms"
+    cd tests
+    pytest -k "not get_valid_log_format_exc \
+               and not test_access_logger_atoms \
+               and not aiohttp_request_coroutine \
+               and not server_close_keepalive_connection \
+               and not connector \
+               and not client_disconnect \
+               and not handle_keepalive_on_closed_connection \
+               and not proxy_https_bad_response \
+               and not partially_applied_handler \
+               and not middleware" \
+      --ignore=test_connector.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
index 2b719ddf063d..ede51da9ef1b 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "1.9.1";
+  version = "1.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c23aed8e82f398b732279f5f7ee7ed00949ff2db7009f7a2dc705f7c2d16783";
+    sha256 = "d95e51f15c442d769004774e7b4220155e32dc6c8ae834b035a2f0d8ff783ff0";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix b/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix
new file mode 100644
index 000000000000..b31f83dc136d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, kafka-python
+, cython
+, zlib
+}:
+
+buildPythonPackage rec {
+  pname = "aiokafka";
+  version = "0.5.2";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = "aiokafka";
+    rev = "v${version}";
+    sha256 = "062kqsq75fi5pbpqf2a8nxm43pxpr6bwplg6bp4nv2a68r850pki";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  buildInputs = [
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    kafka-python
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+       --replace "kafka-python==1.4.6" "kafka-python"
+  '';
+
+  # checks require running kafka server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Kafka integration with asyncio";
+    homepage = https://aiokafka.readthedocs.org;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix b/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix
new file mode 100644
index 000000000000..891e9f216ce8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pymysql
+, pytest
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "aiomysql";
+  version = "0.0.20";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1mxih81zc2k64briirpp5wz4f72l8v05avfyfibaq9fr6lcbih9b";
+  };
+
+  propagatedBuildInputs = [
+    pymysql
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "PyMySQL>=0.9,<=0.9.2" "PyMySQL"
+  '';
+
+  checkPhase = ''
+    pytest
+  '';
+
+  # tests require mysql database
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MySQL driver for asyncio";
+    homepage = https://github.com/aio-libs/aiomysql;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioredis/default.nix b/nixpkgs/pkgs/development/python-modules/aioredis/default.nix
new file mode 100644
index 000000000000..7769f5437549
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioredis/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pkgs, async-timeout, hiredis, isPyPy, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "aioredis";
+  version = "1.3.1";
+
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m";
+  };
+
+  propagatedBuildInputs = [
+    async-timeout
+  ] ++ stdenv.lib.optional (!isPyPy) hiredis;
+
+  # Wants to run redis-server, hardcoded FHS paths, too much trouble.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Asyncio (PEP 3156) Redis client library";
+    homepage = https://github.com/aio-libs/aioredis;
+    license = licenses.mit;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix b/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
index 55120ad58038..13a9e4b546be 100644
--- a/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "aioresponses";
-  version = "0.6.0";
+  version = "0.6.1";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ii1jiwb8qa2y8cqa1zqn7mjax9l8bpf16k4clv616mxw1l0bvs6";
+    sha256 = "fab9607d11a2e05050ef766006b8fdd9424e7122c2bd6f34a5376be4c728e242";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix b/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
index 6350e3f0441a..eba64f465591 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiorun/default.nix b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
new file mode 100644
index 000000000000..7e38bb76873a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytest
+, pytestcov
+, uvloop
+}:
+
+buildPythonPackage rec {
+  pname = "aiorun";
+  version = "2019.11.1";
+  format = "flit";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "cjrh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04p3sci6af6qqfkcqamsqhmqqrigcwvl4bmx8yv5ppvkyq39pxi7";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    uvloop
+  ];
+
+  # allow for writable directory for darwin
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  checkPhase = ''
+     pytest
+  '';
+
+  meta = with lib; {
+    description = "Boilerplate for asyncio applications";
+    homepage = https://github.com/cjrh/aiorun;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix b/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix
new file mode 100644
index 000000000000..1032485e9801
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, aiounittest
+, isPy27
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "aiosqlite";
+  version = "0.11.0";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "jreese";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0pmkp4iy738yv2sl08kvhd0ma6wjqbmfnwid72gvg4zqsr1hnn0z";
+  };
+
+  buildInputs = [
+    setuptools
+  ];
+
+  checkInputs = [
+    aiounittest
+  ];
+
+  meta = with lib; {
+    description = "Asyncio bridge to the standard sqlite3 module";
+    homepage = https://github.com/jreese/aiosqlite;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index cee5c2606e08..e86fc222eea4 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "4";
+  version = "11";
 
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0594nb8mpfhnnk9jadbdnbn9v7p4sh3430kcgfyhsh7ayw2mpb9m";
+    sha256 = "e751cfd002f54dda76dfd498dcc53cb6fab6bff79773ca7d18c9c7b392046b12";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix b/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix
new file mode 100644
index 000000000000..743600a0d3b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+, coverage
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "aiounittest";
+  version = "1.3.1";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "kwarunek";
+    repo = pname;
+    rev = version;
+    sha256 = "0mlic2q49cb0vv62mixy4i4x8c91qb6jlji7khiamcxcg676nasl";
+  };
+
+  checkInputs = [
+    nose
+    coverage
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    description = "Test asyncio code more easily";
+    homepage = https://github.com/kwarunek/aiounittest;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/alembic/default.nix b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
index ddc3779749b8..72e7ae6417aa 100644
--- a/nixpkgs/pkgs/development/python-modules/alembic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
@@ -5,16 +5,19 @@
 
 buildPythonPackage rec {
   pname = "alembic";
-  version = "1.0.10";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "828dcaa922155a2b7166c4f36ec45268944e4055c86499bd14319b4c8c0094b7";
+    sha256 = "3b0cb1948833e062f4048992fbc97ecfaaaac24aaa0d83a1202a99fb58af8c6d";
   };
 
   buildInputs = [ pytest pytestcov mock coverage ];
   propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil setuptools ];
 
+  # no traditional test suite
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = https://bitbucket.org/zzzeek/alembic;
     description = "A database migration tool for SQLAlchemy";
diff --git a/nixpkgs/pkgs/development/python-modules/alerta-server/default.nix b/nixpkgs/pkgs/development/python-modules/alerta-server/default.nix
index 9313a255fd05..55674b660c04 100644
--- a/nixpkgs/pkgs/development/python-modules/alerta-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alerta-server/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "alerta-server";
-  version = "6.7.5";
+  version = "7.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e8dc3428248a5b20c4fe8da76c2d353b715d515bd4879928c499671d4360a90f";
+    sha256 = "a6f7740c97f2ae552a4b50bfb709596eabb01bf73715685c9b93ea9fec1821f3";
   };
 
   propagatedBuildInputs = [ python-dateutil requests pymongo raven bcrypt flask pyjwt flask-cors psycopg2 pytz flask-compress jinja2 pyyaml];
diff --git a/nixpkgs/pkgs/development/python-modules/alerta/default.nix b/nixpkgs/pkgs/development/python-modules/alerta/default.nix
index 257e89790fa9..fe44b88bc8a1 100644
--- a/nixpkgs/pkgs/development/python-modules/alerta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alerta/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "alerta";
-  version = "6.5.0";
+  version = "7.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9f0f8f800798fae83c05dd52dc2f06bd77fb318c784c4b44e3acfba81338881";
+    sha256 = "2c8d9cf174d7f66401a5deb104b96375f3877b6c768568705f700faf3adbf448";
   };
 
   propagatedBuildInputs = [ six click requests pytz tabulate ];
diff --git a/nixpkgs/pkgs/development/python-modules/allpairspy/default.nix b/nixpkgs/pkgs/development/python-modules/allpairspy/default.nix
index e64a6004b789..0ab69aef71e7 100644
--- a/nixpkgs/pkgs/development/python-modules/allpairspy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allpairspy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "allpairspy";
-  version = "2.4.3";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8ce160db245375a5ccf0831be77cd98394f514c1b3501ddff5f8edb780ee1748";
+    sha256 = "9358484c91abe74ba18daf9d6d6904c5be7cc8818397d05248c9d336023c28b1";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/alot/default.nix b/nixpkgs/pkgs/development/python-modules/alot/default.nix
index bda0e677f4a7..fa21b66e3ab9 100644
--- a/nixpkgs/pkgs/development/python-modules/alot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy3k
+{ stdenv, lib, buildPythonPackage, python, fetchFromGitHub, isPy3k
 , notmuch, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme
 , service-identity
 , gnupg ? null, sphinx, awk ? null, procps ? null, future ? null
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "alot";
-  version = "0.8";
+  version = "0.8.1";
   outputs = [ "out" ] ++ lib.optional withManpage "man";
 
   disabled = !isPy3k;
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "pazz";
     repo = "alot";
     rev = version;
-    sha256 = "1isn0p0i2a7dlbrdk5ib01xa1wgi6bi9ka4xl4vj8iw1q4i5fqv9";
+    sha256 = "1gzis6w45d860mr2qbmjhnbrhy6d9xwhw27wpmvs56vndafvv9d3";
   };
 
   nativeBuildInputs = lib.optional withManpage sphinx;
@@ -39,7 +39,9 @@ buildPythonPackage rec {
 
   checkInputs =  [ awk future mock gnupg procps ];
 
-  postInstall = lib.optionalString withManpage ''
+  postInstall = let
+    completionPython = python.withPackages (ps: [ ps.configobj ]);
+  in lib.optionalString withManpage ''
     mkdir -p $out/man
     cp -r docs/build/man $out/man
   ''
@@ -47,6 +49,8 @@ buildPythonPackage rec {
     mkdir -p $out/share/{applications,alot}
     cp -r extra/themes $out/share/alot
 
+    substituteInPlace extra/completion/alot-completion.zsh \
+      --replace "python3" "${completionPython.interpreter}"
     install -D extra/completion/alot-completion.zsh $out/share/zsh/site-functions/_alot
 
     sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
@@ -57,6 +61,6 @@ buildPythonPackage rec {
     description = "Terminal MUA using notmuch mail";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ geistesk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index 344a724756ed..9cb362a7bd16 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altair/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi
+{ stdenv, buildPythonPackage, fetchPypi, isPy27
 , entrypoints
 , glibcLocales
 , ipython
@@ -18,11 +18,12 @@
 
 buildPythonPackage rec {
   pname = "altair";
-  version = "3.2.0";
+  version = "4.0.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "098macm0sw54xqijdy1c8cppcgw79wn52qdc71qqb51nibc17gls";
+    sha256 = "92dcd7b84c715f8e02bbdf37e36193a4af8138b5b064c05f237e6ed41573880a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/amqp/default.nix b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
index bf008df3832f..8dad26bbb2ba 100644
--- a/nixpkgs/pkgs/development/python-modules/amqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "amqp";
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1j1046gcriidsfha0hvrw6hwcm0wrhbvg0prjjji5inaadyzidnb";
+    sha256 = "77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d";
   };
 
   checkInputs = [ pytest case pytest-sugar ];
diff --git a/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix b/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
index 1d5bf641f7cf..e5222b64e9bc 100644
--- a/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "aniso8601";
-  version = "7.0.0";
+  version = "8.0.0";
 
   meta = with stdenv.lib; {
     description = "Parses ISO 8601 strings.";
@@ -17,6 +17,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07jgf55yq2j2q76gaj3hakflnxg8yfkarzvrmq33i1dp6xk2ngai";
+    sha256 = "529dcb1f5f26ee0df6c0a1ee84b7b27197c3c50fc3a6321d66c544689237d072";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/annoy/default.nix b/nixpkgs/pkgs/development/python-modules/annoy/default.nix
index ce7d9940bf2f..5041ee54e4f9 100644
--- a/nixpkgs/pkgs/development/python-modules/annoy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/annoy/default.nix
@@ -1,18 +1,21 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, h5py
 , nose
 }:
 
 buildPythonPackage rec {
-  version = "1.15.2";
+  version = "1.16.3";
   pname = "annoy";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1i5bkf8mwd1pyrbhfwncir2r8yq8s9qz5j13vv2qz92n9g57sr3m";
+    sha256 = "fe2779664bd8846f2d67191a7e6010b8df890ac4586336748fd0697f31654379";
   };
 
+  nativeBuildInputs = [ h5py ];
+
   checkInputs = [
     nose
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix b/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix
new file mode 100644
index 000000000000..18a2b0dde7f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, six, mock, nose, setuptools }:
+
+buildPythonPackage rec {
+  pname = "ansi2html";
+  version = "1.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1a9vihsvd03hb0a4dbiklyy686adp9q2ipl79mkxmdr6gfp8bbln";
+  };
+
+  propagatedBuildInputs = [ six setuptools ];
+
+  checkInputs = [ mock nose ];
+
+  meta = with lib; {
+    description = "Convert text with ANSI color codes to HTML";
+    homepage = https://github.com/ralphbean/ansi2html;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ davidtwco ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
index ed5b35e8344d..62c9b33d5e30 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
@@ -11,13 +11,15 @@
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9430ea6e654ba4bf5b9c6921efc040f46cda9c4fd2896a99ff71d21037bcb123";
+    sha256 = "eb925d8682d70563ccb80e2aca7b3edf84fb0b768cea3edc6846aac7abdc414a";
   };
 
+  format = "pyproject";
+
   nativeBuildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ pyyaml six ansible ruamel_yaml ];
   checkInputs = [ nose ];
@@ -31,10 +33,11 @@ buildPythonPackage rec {
   # give a hint to setuptools_scm on package version
   preBuild = ''
     export SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"
+    export HOME=$(mktemp -d)
   '';
 
   checkPhase = ''
-    PATH=$out/bin:$PATH HOME=$(mktemp -d) nosetests test
+    PATH=$out/bin:$PATH nosetests test
   '';
 
   meta = with lib; {
@@ -42,5 +45,6 @@ buildPythonPackage rec {
     description = "Best practices checker for Ansible";
     license = licenses.mit;
     maintainers = [ maintainers.sengaya ];
+    broken = true; # requires new flit to build
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
index 56850dcf86e6..62f95c3cefce 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.3.4";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "087jk00kv0qsqqspyn015nicvbl627wck3fgx2qhqawvrgqk3xb0";
+    sha256 = "e6ccb7ccf9bab9c49a391db37e0d399ba0e73f969801ae35ff74020bfd4fc346";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index fab3c0df58c5..96be51e82f0c 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -6,29 +6,31 @@
 , jinja2
 , pyyaml
 , httplib2
-, boto
 , six
 , netaddr
 , dnspython
 , jmespath
 , dopy
+, ncclient
 , windowsSupport ? false
 , pywinrm
 }:
 
 buildPythonPackage rec {
   pname = "ansible";
-  version = "2.8.4";
+  version = "2.8.7";
 
   src = fetchFromGitHub {
     owner = "ansible";
     repo = "ansible";
     rev = "v${version}";
-    sha256 = "1fp7zz8awfv70nn8i6x0ggx4472377hm7787x16qv2kz4nb069ki";
+    sha256 = "08vqjk85j0g1x0iad03d7ysws433dikii8j2lr3a1mlx6d186vv8";
   };
 
   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 = ''
@@ -38,8 +40,8 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    pycrypto paramiko jinja2 pyyaml httplib2 boto
-    six netaddr dnspython jmespath dopy
+    pycrypto paramiko jinja2 pyyaml httplib2
+    six netaddr dnspython jmespath dopy ncclient
   ] ++ lib.optional windowsSupport pywinrm;
 
   # dificult to test
diff --git a/nixpkgs/pkgs/development/python-modules/ansiwrap/default.nix b/nixpkgs/pkgs/development/python-modules/ansiwrap/default.nix
new file mode 100644
index 000000000000..517083a06210
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/antlr4-python2-runtime/default.nix b/nixpkgs/pkgs/development/python-modules/antlr4-python2-runtime/default.nix
index b343be1d7bbf..aa18a0fe2907 100644
--- a/nixpkgs/pkgs/development/python-modules/antlr4-python2-runtime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/antlr4-python2-runtime/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchPypi, buildPythonPackage, isPy3k }:
+{ lib, buildPythonPackage, isPy3k, python
+, antlr4
+}:
 
 buildPythonPackage rec {
   pname = "antlr4-python2-runtime";
-  version = "4.7.2";
+  inherit (antlr4.runtime.cpp) version src;
   disabled = isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "04ljic5wnqpizln8q3c78pqrckz6q5nb433if00j1mlyv2yja22q";
-  };
+  sourceRoot = "source/runtime/Python2";
+
+  checkPhase = ''
+    ${python.interpreter} tests/TestTokenStreamRewriter.py
+  '';
 
-  meta = {
+  meta = with lib; {
     description = "Runtime for ANTLR";
     homepage = "https://www.antlr.org/";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/antlr4-python3-runtime/default.nix b/nixpkgs/pkgs/development/python-modules/antlr4-python3-runtime/default.nix
index 3ebba9f9d385..0fade1362c9c 100644
--- a/nixpkgs/pkgs/development/python-modules/antlr4-python3-runtime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/antlr4-python3-runtime/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchPypi, buildPythonPackage, isPy3k }:
+{ lib, buildPythonPackage, isPy3k, python
+, antlr4
+}:
 
 buildPythonPackage rec {
   pname = "antlr4-python3-runtime";
-  version = "4.7.2";
+  inherit (antlr4.runtime.cpp) version src;
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "02xm7ccsf51vh4xsnhlg6pvchm1x3ckgv9kwm222w5drizndr30n";
-  };
+  sourceRoot = "source/runtime/Python3";
+
+  checkPhase = ''
+    cd test
+    ${python.interpreter} ctest.py
+  '';
 
-  meta = {
+  meta = with lib; {
     description = "Runtime for ANTLR";
     homepage = "https://www.antlr.org/";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/anytree/default.nix b/nixpkgs/pkgs/development/python-modules/anytree/default.nix
index 3821fea2446c..712944568f20 100644
--- a/nixpkgs/pkgs/development/python-modules/anytree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anytree/default.nix
@@ -1,36 +1,29 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , substituteAll
 , fetchpatch
 , nose
 , six
+, withGraphviz ? true
 , graphviz
 , fontconfig
 }:
 
 buildPythonPackage rec {
   pname = "anytree";
-  version = "2.6.0";
+  version = "2.7.3";
 
-  src = fetchFromGitHub {
-    owner = "c0fec0de";
-    repo = pname;
-    rev = version;
-    sha256 = "1k3yj9h3ssjlz57r4g1qzxvprxjp7n92vms9fv0d46pigylxm5i3";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05736hamjv4f38jw6z9y4wckc7mz18ivbizm1s3pb0n6fp1sy4zk";
   };
 
-  patches = [
+  patches = lib.optionals withGraphviz [
     (substituteAll {
       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 = [
@@ -41,11 +34,14 @@ buildPythonPackage rec {
     six
   ];
 
-  # Fontconfig error: Cannot load default config file
-  preCheck = ''
+  # tests print “Fontconfig error: Cannot load default config file”
+  preCheck = lib.optionalString withGraphviz ''
     export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
   '';
 
+  # circular dependency anytree → graphviz → pango → glib → gtk-doc → anytree
+  doCheck = withGraphviz;
+
   checkPhase = ''
     runHook preCheck
 
diff --git a/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix b/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
new file mode 100644
index 000000000000..c15aac61b5c0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/apispec/default.nix b/nixpkgs/pkgs/development/python-modules/apispec/default.nix
new file mode 100644
index 000000000000..1ed984fc7182
--- /dev/null
+++ b/nixpkgs/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.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "24b8490c22310b0779a058ccb24ec2fef33d571bb5aba1f525ab5963b0eabcdd";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/apprise/default.nix b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
index 7b8885de1697..6ac9acfac323 100644
--- a/nixpkgs/pkgs/development/python-modules/apprise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
@@ -1,21 +1,21 @@
 { lib, buildPythonPackage, fetchPypi
-, Babel, decorator, requests, requests_oauthlib, six, click, markdown, pyyaml
+, Babel, requests, requests_oauthlib, six, click, markdown, pyyaml
 , pytestrunner, coverage, flake8, mock, pytest, pytestcov, tox
 }:
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.7.9";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zqnk255d311ibird08sv0c21fw1r1xhldhyx5lnl3ji1xkv9173";
+    sha256 = "0m0pddqrpfm526f0fyzzjpcp7hi3d6pj0bgk2vl004lkas4li1hw";
   };
 
   nativeBuildInputs = [ Babel ];
 
   propagatedBuildInputs = [
-    decorator requests requests_oauthlib six click markdown pyyaml
+    requests requests_oauthlib six click markdown pyyaml
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
index de64f86d7282..2cf9bf1f1777 100644
--- a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, isPy37, pyperclip }:
 
 buildPythonPackage rec {
-  version = "0.2.4";
+  version = "0.2.6";
   pname = "approvaltests";
 
   # no tests included in PyPI tarball
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = version;
-    sha256 = "05lj5i13zpkgw1wdc1v81wj4zqj8bpzqiwycdnwlg08azcy7k7j1";
+    sha256 = "1k1bj8q1qm89a8xm4az6qk4qswwmgxw5jpdjcxmf93zh5hrcy9h9";
   };
 
   propagatedBuildInputs = [ pyperclip ];
@@ -19,16 +19,6 @@ buildPythonPackage rec {
       --replace "pyperclip==1.5.27" "pyperclip>=1.5.27"
   '';
 
-  # Tests fail on Python 3.7
-  # https://github.com/approvals/ApprovalTests.Python/issues/36
-  doCheck = !isPy37;
-
-  # Disable Linux failing test, because tries to use darwin/windows specific reporters
-  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
-    substituteInPlace tests/test_genericdiffreporter.py \
-      --replace "test_find_working_reporter" "_find_working_reporter"
-  '';
-
   meta = with stdenv.lib; {
     description = "Assertion/verification library to aid testing";
     homepage = https://github.com/approvals/ApprovalTests.Python;
diff --git a/nixpkgs/pkgs/development/python-modules/apsw/default.nix b/nixpkgs/pkgs/development/python-modules/apsw/default.nix
index fb22128b9288..48e3b20c7c1c 100644
--- a/nixpkgs/pkgs/development/python-modules/apsw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apsw/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub
+{ stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch
 , sqlite, isPyPy }:
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.22.0-r1";
+  version = "3.30.1-r1";
 
   disabled = isPyPy;
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "02ldvshcgr4c7c8anp4flfnw8g8ys5bflkb8b51rb618qxhhwyak";
+    sha256 = "1zp38gj44bmzfxxpvgd7nixkp8vs2fpl839ag8vrh9z70dax22f0";
   };
 
   buildInputs = [ sqlite ];
diff --git a/nixpkgs/pkgs/development/python-modules/area/default.nix b/nixpkgs/pkgs/development/python-modules/area/default.nix
new file mode 100644
index 000000000000..37d7369dbeee
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/area/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "area";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18k5hwmlxhajlq306zxndsglb11vv8vd4vpmwx8dpvfxd1kbksya";
+  };
+
+  # tests not working on the package from pypi
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox’s geojson-area for Python.";
+    homepage = "https://github.com/scisco/area";
+    license = licenses.bsd2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aresponses/default.nix b/nixpkgs/pkgs/development/python-modules/aresponses/default.nix
new file mode 100644
index 000000000000..472911340ad8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aresponses/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+# propagatedBuildInputs
+, aiohttp
+# buildInputs
+, pytest
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "aresponses";
+  version = "1.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "20a63536d86af6f31f9b0720c561bdc595b6bfe071940e347ab58b11caff9e1b";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  buildInputs = [
+    pytest
+    pytest-asyncio
+  ];
+
+  # tests only distributed via git repository, not pypi
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Asyncio testing server";
+    homepage = "https://github.com/circleup/aresponses";
+    license = licenses.mit;
+    maintainers = [ maintainers.makefu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix b/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix
index efc4c824a395..6f978778f7da 100644
--- a/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "argcomplete";
-  version = "1.10.0";
+  version = "1.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hdysr9z28sgwv47mivf4iyr1sg19hgfz349dghgdlk3rkl6v0s5";
+    sha256 = "a37f522cf3b6a34abddfedb61c4546f60023b3799b22d1cd971eacdc0861530a";
   };
 
   doCheck = false; # bash-completion test fails with "compgen: command not found".
diff --git a/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix b/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix
index 187e795416cd..130a2c189170 100644
--- a/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix
@@ -12,11 +12,12 @@
 
 buildPythonPackage rec {
   pname = "argon2_cffi";
-  version = "19.1.0";
+  version = "19.2.0";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "81548a27b919861040cb928a350733f4f9455dd67c7d1ba92eb5960a1d7f8b26";
+    pname = "argon2-cffi";
+    inherit version;
+    sha256 = "ffaa623eea77b497ffbdd1a51e941b33d3bf552c60f14dbee274c4070677bda3";
   };
 
   propagatedBuildInputs = [ cffi six ] ++ lib.optional (!isPy3k) enum34;
diff --git a/nixpkgs/pkgs/development/python-modules/arpeggio/default.nix b/nixpkgs/pkgs/development/python-modules/arpeggio/default.nix
index 045707aee4dc..42d1ce0a219a 100644
--- a/nixpkgs/pkgs/development/python-modules/arpeggio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arpeggio/default.nix
@@ -2,21 +2,31 @@
 , buildPythonPackage
 , fetchPypi
 , glibcLocales
+, pytestrunner
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "Arpeggio";
-  version = "1.9.0";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5258b84f76661d558492fa87e42db634df143685a0e51802d59cae7daad8732";
+    sha256 = "948ce06163a48a72c97f4fe79ad3d1c1330b6fec4f22ece182fb60ef60bd022b";
   };
 
   # Shall not be needed for next release
   LC_ALL = "en_US.UTF-8";
   buildInputs = [ glibcLocales ];
 
+  nativeBuildInputs = [ pytestrunner ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [ "test_examples" "test_issue_22" ];
+
+  dontUseSetuptoolsCheck = true;
+
   meta = {
     description = "Packrat parser interpreter";
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix b/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix
new file mode 100644
index 000000000000..82c8fc93267f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix
@@ -0,0 +1,25 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "arrayqueues";
+  version = "1.2.0b0";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gvrxb2rw0dk469wq5azylar7hhanfp07gl5mc6ajdbgz9gsd6ln";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/arrayqueues";
+    description = "Multiprocessing queues for numpy arrays using shared memory";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/arrow/default.nix b/nixpkgs/pkgs/development/python-modules/arrow/default.nix
index e357bef0dfdf..af3e4547628a 100644
--- a/nixpkgs/pkgs/development/python-modules/arrow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arrow/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPythonPackage, fetchPypi
 , nose, chai, simplejson, backports_functools_lru_cache
-, dateutil, pytz
+, dateutil, pytz, mock, dateparser
 }:
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "0.13.2";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82dd5e13b733787d4eb0fef42d1ee1a99136dc1d65178f70373b3678b3181bfc";
+    sha256 = "e1a318a4c0b787833ae46302c02488b6eeef413c6a13324b3261ad320f21ec1e";
   };
 
   checkPhase = ''
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   '';
 
   checkInputs = [ nose chai simplejson pytz ];
-  propagatedBuildInputs = [ dateutil backports_functools_lru_cache ];
+  propagatedBuildInputs = [ dateutil backports_functools_lru_cache mock dateparser];
 
   postPatch = ''
     substituteInPlace setup.py --replace "==1.2.1" ""
diff --git a/nixpkgs/pkgs/development/python-modules/arviz/default.nix b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
new file mode 100644
index 000000000000..ba941503548c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, emcee
+, matplotlib
+, netcdf4
+, numba
+, numpy
+, pandas
+, pytest
+, scipy
+, setuptools
+, tensorflow-probability
+, xarray
+#, h5py (used by disabled tests)
+#, pymc3 (broken)
+#, pyro-ppl (broken)
+#, pystan (not packaged)
+#, numpyro (not packaged)
+}:
+
+buildPythonPackage rec {
+  pname = "arviz";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "arviz-devs";
+    repo = "arviz";
+    rev = version;
+    sha256 = "0p600cakix24wz2ridnzy6sp3l1p2kr5s60qc7s82wpv7fw0i9ry";
+  };
+
+  propagatedBuildInputs = [
+    # needed to install
+    matplotlib
+    netcdf4
+    pandas
+    xarray
+    # needed to import
+    setuptools
+    # not needed to import, but used by many functions
+    # and is listed as a dependency in the documentation
+    numpy
+    scipy
+  ];
+
+  checkInputs = [
+    emcee
+    numba
+    pytest
+    tensorflow-probability
+    #h5py (used by disabled tests)
+    #pymc3 (broken)
+    #pyro-ppl (broken)
+    #pystan (not packaged)
+    #numpyro (not packaged)
+  ];
+
+  # check requires pymc3 and pyro-ppl, which are currently broken, and pystan
+  # and numpyro, which are not yet packaged, some checks also need to make
+  # directories and do not have permission to do so. So we can only check part
+  # of the package
+  # Additionally, there are some failures with the plots test, which revolve
+  # around attempting to output .mp4 files through an interface that only wants
+  # to output .html files.
+  # The following test have been disabled as a result: data_cmdstanpy,
+  # data_numpyro, data_pyro, data_pystan, and plots.
+  checkPhase = ''
+    cd arviz/tests/
+    HOME=$TMPDIR pytest test_{data_cmdstan,data_emcee,data,data_tfp,\
+    diagnostics,plot_utils,rcparams,stats,stats_utils,utils}.py
+  '';
+
+  meta = with lib; {
+    description = "ArviZ is a Python package for exploratory analysis of Bayesian models";
+    homepage = "https://arviz-devs.github.io/arviz/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.omnipotententity ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/asdf/default.nix b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
index 8efc251140a8..6d685429e50b 100644
--- a/nixpkgs/pkgs/development/python-modules/asdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
@@ -9,18 +9,26 @@
 , numpy
 , isPy27
 , astropy
+, setuptools_scm
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "asdf";
-  version = "2.3.3";
+  version = "2.4.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d02e936a83abd206e7bc65050d94e8848da648344dbec9e49dddc2bdc3bd6870";
+    sha256 = "1wlgx8469wwsczc2gjka9k1a03yzird67zg3va0kg8y6j1qmbwvg";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "semantic_version>=2.3.1,<=2.6.0" "semantic_version>=2.3.1" \
+      --replace "doctest_plus = enabled" ""
+  '';
+
   checkInputs = [
     pytest-astropy
     astropy
@@ -32,6 +40,8 @@ buildPythonPackage rec {
     jsonschema
     six
     numpy
+    setuptools_scm
+    setuptools
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ase/default.nix b/nixpkgs/pkgs/development/python-modules/ase/default.nix
index 643bafe617a3..3aa5a432c4b0 100644
--- a/nixpkgs/pkgs/development/python-modules/ase/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ase/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ase";
-  version = "3.18.0";
+  version = "3.19.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ycp1yksysiiz902gn762030sfmirxm950pwpw2rcrpjvq95zm1r";
+    sha256 = "a8378ab57e91cfe1ba09b3639d8409bb7fc1a40b59479c7822d206e673ad93f9";
   };
 
   propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/asgiref/default.nix b/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
index 295bc750f822..e75be31c85f9 100644
--- a/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }:
 buildPythonPackage rec {
-  version = "3.2.1";
+  version = "3.2.2";
   pname = "asgiref";
 
   disabled = pythonOlder "3.5";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "16wb137dvnjmbmshy4r9vgsfjc4g8d6l527aj9d5vszyk5x5fm7d";
+    sha256 = "11lnynspgdi5zp3hd8piy8h9fq0s3ck6lzyl7h0fn2mxxyx83yh2";
   };
 
   propagatedBuildInputs = [ async-timeout ];
diff --git a/nixpkgs/pkgs/development/python-modules/asn1crypto/default.nix b/nixpkgs/pkgs/development/python-modules/asn1crypto/default.nix
index 2b627fe80ff1..dc6df10803f4 100644
--- a/nixpkgs/pkgs/development/python-modules/asn1crypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asn1crypto/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "asn1crypto";
-  version = "0.24.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49";
+    sha256 = "0bf4xxaig0b9dv6njynaqk2j7vlpagh3y49s9qj95y0jvjw5q8as";
   };
 
   # No tests included
diff --git a/nixpkgs/pkgs/development/python-modules/astor/default.nix b/nixpkgs/pkgs/development/python-modules/astor/default.nix
index 903b892f3222..e8ea8c37cd97 100644
--- a/nixpkgs/pkgs/development/python-modules/astor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astor/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, fetchpatch }:
 
 buildPythonPackage rec {
   pname = "astor";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qkq5bf13fqcwablg0nk7rx83izxdizysd42n26j5wbingcfx9ip";
+    sha256 = "0ppscdzzvxpznclkmhhj53iz314x3pfv4yc7c6gwxqgljgdgyvka";
   };
 
   # disable tests broken with python3.6: https://github.com/berkerpeksag/astor/issues/89
   checkInputs = [ pytest ];
   checkPhase = ''
-    py.test -k 'not check_expressions and not check_astunparse and not test_convert_stdlib and not test_codegen_as_submodule and not test_codegen_from_root'
+    py.test -k 'not check_expressions \
+                and not check_astunparse \
+                and not test_convert_stdlib \
+                and not test_codegen_as_submodule \
+                and not test_positional_only_arguments \
+                and not test_codegen_from_root'
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Library for reading, writing and rewriting python AST";
     homepage = https://github.com/berkerpeksag/astor;
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/astroid/default.nix b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
index 591726ea1ace..5d24a05aa54d 100644
--- a/nixpkgs/pkgs/development/python-modules/astroid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.2.5";
+  version = "2.3.3";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1x5c8fiqa18frwwfdsw41lpqsyff3w4lxvjx9d5ccs4zfkhy2q35";
+    sha256 = "71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a";
   };
 
   # From astroid/__pkginfo__.py
diff --git a/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix b/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
index 2027f694c77d..4300165470cd 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "astropy-healpix";
-  version = "0.4";
+  version = "0.5";
 
   doCheck = false; # tests require pytest-astropy
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c9709ac923759c92eca6d2e623e734d0f417eed40ba835b77d99dec09e51aa2";
+    sha256 = "1bfdq33mj6mwk5fkc6n23f9bc9z8j7kmvql3zchz4h58jskmvqas";
   };
 
   propagatedBuildInputs = [ numpy astropy astropy-helpers ];
diff --git a/nixpkgs/pkgs/development/python-modules/astropy-helpers/default.nix b/nixpkgs/pkgs/development/python-modules/astropy-helpers/default.nix
index b5a7f014eec3..93b2784902f1 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-helpers/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "astropy-helpers";
-  version = "3.2.1";
+  version = "4.0.1";
 
   disabled = !isPy3k;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1klxyfvl9hbhy37n1z3mb0vm5pmd7hbsnzhjkvigz3647hmfzva6";
+    sha256 = "f1096414d108778218d6bea06d4d9c7b2ff7c83856a451331ac194e74de9f413";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/astropy/default.nix b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
index 35bb7b1aa59a..c23c15e1d4d4 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "astropy";
-  version = "3.2.1";
+  version = "4.0";
 
   disabled = !isPy3k; # according to setup.py
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28";
+    sha256 = "404200e0baa84de09ac563ad9ccab3817e9b9669d0025cee74a8752f4bc2771b";
   };
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/nixpkgs/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch b/nixpkgs/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
deleted file mode 100644
index 0b1c7973b59b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/astroquery/default.nix b/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
index 7245b5662080..461d8801e608 100644
--- a/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
@@ -13,17 +13,13 @@
 
 buildPythonPackage rec {
   pname = "astroquery";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zw3xp2rfc6h2v569iqsyvzhfnzp7bfjb7jrj61is1hrqw1cqjrb";
+    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/nixpkgs/pkgs/development/python-modules/astunparse/default.nix b/nixpkgs/pkgs/development/python-modules/astunparse/default.nix
index 8dbb4da70603..56570295dee7 100644
--- a/nixpkgs/pkgs/development/python-modules/astunparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astunparse/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "astunparse";
-  version =  "1.6.2";
+  version =  "1.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dab3e426715373fd76cd08bb1abe64b550f5aa494cf1e32384f26fd60961eb67";
+    sha256 = "5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872";
   };
 
   propagatedBuildInputs = [ six wheel ];
diff --git a/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
index a71ffd853675..2a47f13fe4b8 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,21 +3,14 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.18.3";
+  version = "0.20.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rrch478ww6ipmh3617sb2jzwsq4w7pjcck869p35zb0mk5fr9aq";
+    sha256 = "0yjszgg1zbbsfxj1gv17ymc2hcfvymkvg69dvpvwy0dqspjxq0ma";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/MagicStack/asyncpg/commit/aaeb7076e5acb045880b46155014c0640624797e.patch";
-      sha256 = "0r6g6pvb39vzci8g67mv9rlrvavqvfz6vlv8988wv53bpz1mss3p";
-    })
-  ];
-
   checkInputs = [
     uvloop
     postgresql
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index ba94e395f673..3d2250794410 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "1.17.1";
+  version = "2.1.0";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gyqms4zs9j9k7dgy24va4w42vf20x75yx9jvsds0sg42mqlkd5v";
+    sha256 = "19d0b4c65115d09b42ed21c748884157babfb3055a6e130ea349dfdcbcef3380";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/atomman/default.nix b/nixpkgs/pkgs/development/python-modules/atomman/default.nix
index a2f6cd721b72..d873700f32a6 100644
--- a/nixpkgs/pkgs/development/python-modules/atomman/default.nix
+++ b/nixpkgs/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.6";
+  version = "1.3.0";
   pname = "atomman";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "19501bfdf7e66090764a0ccbecf85a128b46333ea232c2137fa4345512b8b502";
+  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/nixpkgs/pkgs/development/python-modules/attrs/default.nix b/nixpkgs/pkgs/development/python-modules/attrs/default.nix
index 0fe8241c2159..e3691a5dc328 100644
--- a/nixpkgs/pkgs/development/python-modules/attrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/attrs/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "attrs";
-  version = "18.2.0";
+  version = "19.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69";
+    sha256 = "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72";
   };
 
   # macOS needs clang for testing
diff --git a/nixpkgs/pkgs/development/python-modules/audio-metadata/default.nix b/nixpkgs/pkgs/development/python-modules/audio-metadata/default.nix
index 9a6952c88f08..d1ccef1ece4e 100644
--- a/nixpkgs/pkgs/development/python-modules/audio-metadata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/audio-metadata/default.nix
@@ -4,21 +4,22 @@
 , bitstruct
 , more-itertools
 , pprintpp
+, tbm-utils
 }:
 
 buildPythonPackage rec {
   pname = "audio-metadata";
-  version = "0.4.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a881f0f3b82752d306ac0a7850ed0e31bad275a399f63097733b4890986084b2";
+    sha256 = "7a0c060d05ac59a4ce841a485808fe8a6993fec554f96bee90e57e971c73a2a6";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
       --replace "bidict>=0.17,<0.18" "bidict" \
-      --replace "more-itertools>=4.0,<5.0" "more-itertools"
+      --replace "more-itertools>=4.0,<8.0" "more-itertools"
   '';
 
   propagatedBuildInputs = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
     bitstruct
     more-itertools
     pprintpp
+    tbm-utils
   ];
 
   # No tests
diff --git a/nixpkgs/pkgs/development/python-modules/authlib/default.nix b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
new file mode 100644
index 000000000000..579652c3f95e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, mock
+, cryptography
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "0.13";
+  pname = "authlib";
+
+  src = fetchFromGitHub {
+    owner = "lepture";
+    repo = "authlib";
+    rev = "v${version}";
+    sha256 = "1nv0jbsaqr9qjn7nnl55s42iyx655k7fsj8hs69652lqnfn5y3d5";
+  };
+
+  propagatedBuildInputs = [ cryptography requests ];
+
+  checkInputs = [ mock pytest ];
+
+  checkPhase = ''
+    PYTHONPATH=$PWD:$PYTHONPATH pytest tests/{core,files}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lepture/authlib;
+    description = "The ultimate Python library in building OAuth and OpenID Connect servers. JWS,JWE,JWK,JWA,JWT included.";
+    maintainers = with maintainers; [ flokli ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/autobahn/default.nix b/nixpkgs/pkgs/development/python-modules/autobahn/default.nix
index 7d1e365b243c..c3d95f8915c7 100644
--- a/nixpkgs/pkgs/development/python-modules/autobahn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autobahn/default.nix
@@ -4,11 +4,11 @@
 }:
 buildPythonPackage rec {
   pname = "autobahn";
-  version = "19.8.1";
+  version = "19.11.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "294e7381dd54e73834354832604ae85567caf391c39363fed0ea2bfa86aa4304";
+    sha256 = "201b9879b49c6e259d4126dbafe9e3c73807de0c242d50065fbebc62c6ccb181";
   };
 
   propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ] ++
diff --git a/nixpkgs/pkgs/development/python-modules/autograd/default.nix b/nixpkgs/pkgs/development/python-modules/autograd/default.nix
index bf7c35fa6989..68dc9339ce4c 100644
--- a/nixpkgs/pkgs/development/python-modules/autograd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autograd/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "autograd";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zd4lhz9dpll4i63jjijbzkzbgmg8h88il7lr7kmcylvadnzm2x0";
+    sha256 = "1i1ylf03b7220n8znk63zg6sgdd3py9wlh1pvqvy03g1fxsi8pd1";
   };
 
   propagatedBuildInputs = [ numpy future ];
diff --git a/nixpkgs/pkgs/development/python-modules/autologging/default.nix b/nixpkgs/pkgs/development/python-modules/autologging/default.nix
index 090eb68675bc..1d028eeb1870 100644
--- a/nixpkgs/pkgs/development/python-modules/autologging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autologging/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Autologging";
-  version = "1.2.1";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16v2k16m433fxlvl7f0081n67rpxhs2hyn1ivkx1xs5qjxpv5n3k";
+    sha256 = "117659584d8aab8cf62046f682f8e57b54d958b8571c737fa8bf15c32937fbb6";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/automat/default.nix b/nixpkgs/pkgs/development/python-modules/automat/default.nix
index 808eba12bb6f..fb6ac1daa1fa 100644
--- a/nixpkgs/pkgs/development/python-modules/automat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/automat/default.nix
@@ -2,12 +2,12 @@
   m2r, setuptools_scm, six, attrs }:
 
 buildPythonPackage rec {
-  version = "0.7.0";
+  version = "0.8.0";
   pname = "Automat";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e";
+    sha256 = "269a09dfb063a3b078983f4976d83f0a0d3e6e7aaf8e27d8df1095e09dc4a484";
   };
 
   buildInputs = [ m2r setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/avro/default.nix b/nixpkgs/pkgs/development/python-modules/avro/default.nix
index 97ecb5a1127f..839c7fa45beb 100644
--- a/nixpkgs/pkgs/development/python-modules/avro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/avro/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "avro";
-  version = "1.9.0";
+  version = "1.9.1";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0af72fcql34v30cvjqm9nmz68rl35znn5qbd4k3b9ks02xzy3b2y";
+    sha256 = "16pvgdv5pqx4zgjj0a4v5fz4brfjcrfx72mcmyvb2xqqp7q6ph4z";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/awkward/default.nix b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
index a2d19e9ee3c5..1d2ebdf2655a 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "0.12.6";
+  version = "0.12.19";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xvphwpa1n5q7kim4dw6fmsg9h5kkk7nd51bv9b36i3n4hilmq32";
+    sha256 = "1s729a8205jzg7pfw8xgmi850x03p9nw8c6a602f5bnmhha96h45";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/awkward1/default.nix b/nixpkgs/pkgs/development/python-modules/awkward1/default.nix
new file mode 100644
index 000000000000..a35a97c5e024
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/awkward1/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cmake
+, numba
+, numpy
+, pytest
+, rapidjson
+}:
+
+buildPythonPackage rec {
+  pname = "awkward1";
+  version = "0.1.38";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c87defa8c1661ffe36f8a785fa9a60ae3b70484984a935e710cd8cb1f763fd7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ rapidjson ];
+  propagatedBuildInputs = [ numpy ];
+
+  dontUseCmakeConfigure = true;
+
+  checkInputs = [ pytest numba ];
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Development of awkward 1.0, to replace scikit-hep/awkward-array in 2020";
+    homepage = "https://github.com/scikit-hep/awkward-1.0";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix b/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
index 4912e8f99943..1f03ef8cb3b6 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
@@ -1,13 +1,15 @@
 { lib, buildPythonPackage, fetchPypi
-, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3, requests, click, configparser }:
+, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3
+, requests, requests-kerberos, click, configparser, fido2, isPy27 }:
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.17.0";
+  version = "1.21.2";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wnsmwjpfhxilmvrqvwilcf3h9p5m5ixi5gn9bgkr3gwd2laxf54";
+    sha256 = "ba96e71404474350b2c3ae4d5cb2dd25e9267b6d0680933c5711a51ea364e3bc";
   };
 
   # Relax version constraint
@@ -22,7 +24,7 @@ buildPythonPackage rec {
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = [ glibcLocales pytest pytestrunner pytestcov mock ];
-  propagatedBuildInputs = [ lxml boto3 requests click configparser ];
+  propagatedBuildInputs = [ lxml boto3 requests requests-kerberos click configparser fido2 ];
 
   meta = with lib; {
     description = "Command line tool to ease aws cli authentication against ADFS";
diff --git a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 4554fe98c1b7..d9c90cfa0499 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "0.3.0";
+  version = "0.6.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "1c3r3iz29s68mlmdsxbl65x5zqx25b89d40rir6729ck4gll4dyd";
+    sha256 = "0bvph58wrw9in5irdbv103knvw2dhqs3kapqv5lpaac9dn7lsk6q";
   };
 
   # Package is not compatible with Python 3.5
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   checkPhase = ''
     export PATH=$out/bin:$PATH
-    pytest tests/functional
+    pytest tests/functional -k 'not can_invoke_pip'
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index a9734745f21c..732d5fba528e 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.11.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db872c43bdfbbae9fc8c9201e6a7aeb9a661cda116a94708ab0577b46a38b962";
+    sha256 = "a62f31ac81a9f36a89ba61b147c5df5819e73af3562859711191354d86836326";
   };
 
   # Tests are not included in the PyPI package
diff --git a/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
index 1a17d2650b5c..c0ca69085862 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.3.0";
+  version = "2.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb74e1cc2388bd29c45e2e3eb31d0416d0f53d83baafca7b72ca9c945a2e249a";
+    sha256 = "263a38f3920d9dc625e3acb92e6f6d300f4250b70f538bd009ce6e485676ab74";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix b/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix
index 74f7cf61b13a..f0e70b8d86c0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Application Insights Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-applicotioninsights;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
index 8297c67b90d0..f772d16942f2 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-batch";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1q8mdjdbz408z2j0y1zxqg9zg8j1v84p0dnh621vq73a2x1g298j";
+    sha256 = "1j8nibnics9vakhqiwnjv7bwril7mfyz1svcvvsrb9a4wbdd12wi";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Batch Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/batch?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix
deleted file mode 100644
index f535a2431785..000000000000
--- a/nixpkgs/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.71";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "01pqdh16l2c9a6b1az9galmm1szvhg7fyf9shq872wanw1xx88dj";
-  };
-
-  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/nixpkgs/pkgs/development/python-modules/azure-cli-telemetry/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cli-telemetry/default.nix
deleted file mode 100644
index 73873076bda5..000000000000
--- a/nixpkgs/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.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "14wmxdsrrlnixaj52q37rrvp9wg5b54gf5wn2z1vq68kxpg1s560";
-  };
-
-  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.11.8" "applicationinsights" \
-      --replace "portalocker==1.2.1" "portalocker"
-    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
-  '';
-
-  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/nixpkgs/pkgs/development/python-modules/azure-common/default.nix b/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
index b3c6f3fa1cc9..b842a66cd278 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
@@ -9,14 +9,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.1.21";
+  version = "1.1.24";
   pname = "azure-common";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "25d696d2affbf5fe9b13aebe66271fce545e673e7e1eeaaec2d73599ba639d63";
+    sha256 = "184ad6a05a3089dfdc1ce07c1cbfa489bbc45b5f6f56e848cac0851e6443da21";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure common code";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-common;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
new file mode 100644
index 000000000000..ee1347621492
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
@@ -0,0 +1,48 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, aiodns
+, aiohttp
+, msrest
+, pytest
+, pytestCheckHook
+, requests
+, six
+, trio
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  version = "1.1.1";
+  pname = "azure-core";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "00jm43gw89n446zdm18qziwd85lsx1gandxpmw62dc1bdnsfakxl";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    six
+  ];
+
+  checkInputs = [
+    aiodns
+    aiohttp
+    msrest
+    pytest
+    pytestCheckHook
+    trio
+    typing-extensions
+  ];
+
+  pytestFlagsArray = [ "tests/" ];
+  disabledTests = [ "response" "request" "timeout" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Core Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
index 2b7c7ded276c..5716b1254af6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
@@ -1,27 +1,32 @@
 { buildPythonPackage
 , lib
+, python
 , fetchPypi
 , six
 , requests
 }:
 
 buildPythonPackage rec {
-  version = "3.1.0";
+  version = "3.1.2";
   pname = "azure-cosmos";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1955kpn2y16k5mil90bnnyscnh1hyh4d5l5v5b90ms969p61i9zl";
+    sha256 = "7f8ac99e4e40c398089fc383bfadcdc83376f72b88532b0cac0b420357cd08c7";
   };
 
   propagatedBuildInputs = [ six requests ];
 
+  postInstall = ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # requires an active Azure Cosmos service
   doCheck = false;
 
   meta = with lib; {
     description = "Azure Cosmos DB API";
-    homepage = https://github.com/Azure/azure-cosmos-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
index fef2614e1aed..7a7c0e7215d5 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure CosmosDB namespace package";
-    homepage = https://github.com/Azure/azure-cosmos-table-python/tree/master/azure-cosmosdb-nspkg;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-table/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
index 6a5d54b82989..c11ffae1e3dd 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
+++ b/nixpkgs/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 = [
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Log Analytics Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/cosmosdb?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-datalake-store/default.nix b/nixpkgs/pkgs/development/python-modules/azure-datalake-store/default.nix
index 508fa8bf87ec..5c45b843c765 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-datalake-store/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-datalake-store/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-datalake-store";
-  version = "0.0.45";
+  version = "0.0.48";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k2wkpdv30wjmi53zdcsa5xfqw8gyak39na73ja6rb7wy8196wbd";
+    sha256 = "d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This project is the Python filesystem library for Azure Data Lake Store";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/data-lake-store?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
index 79449c328b0d..19a0210cc5eb 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7ebbe1c4266ba176aa4969d9755c08f10b89848ad50fb0bfd16fa82e29234f95";
+    sha256 = "c82c4bf6ea59aeec69ce8f95f1b6a4edc6d733874aeb056669c9d2806168c86e";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A fully-managed intelligent event routing service that allows for uniform event consumption using a publish-subscribe model";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/event-grid?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-functions-devops-build/default.nix b/nixpkgs/pkgs/development/python-modules/azure-functions-devops-build/default.nix
new file mode 100644
index 000000000000..03007ae3c236
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-graphrbac/default.nix b/nixpkgs/pkgs/development/python-modules/azure-graphrbac/default.nix
index f5c1131f6608..57fec6ff5251 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-graphrbac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-graphrbac/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Graph RBAC Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-graphrbac;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
new file mode 100644
index 000000000000..e4b894eca64b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
@@ -0,0 +1,53 @@
+{ buildPythonPackage
+, fetchPypi
+, isPy38
+, lib
+
+# pythonPackages
+, azure-common
+, azure-core
+, azure-nspkg
+, cryptography
+, mock
+, msal
+, msal-extensions
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  pname = "azure-identity";
+  version = "1.1.0";
+  disabled = isPy38;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "1xn4nwi4vly8n3mmphv0wbdg9k55gsgmk3fdwma8rm3m3c7593hc";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-core
+    azure-nspkg
+    cryptography
+    mock
+    msal
+    msal-extensions
+    msrest
+    msrestazure
+  ];
+
+  # Requires checkout from mono-repo and a mock account:
+  #   https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/identity/tests.yml
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Microsoft Azure Identity Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix
new file mode 100644
index 000000000000..34629e6eb48d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix
@@ -0,0 +1,47 @@
+{ lib, buildPythonPackage, isPy27, fetchPypi
+, aiohttp
+, azure-common
+, azure-core
+, azure-nspkg
+, cryptography
+, msrest
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "azure-keyvault-keys";
+  version = "4.0.0";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "1l1fwm8plzr5zbv02nlvs0i8ssmd88cxm5lb19i54b3scci77hiq";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-core
+    msrest
+    cryptography
+  ];
+
+  # requires relative paths to utilities in the mono-repo
+  doCheck = false;
+  checkInputs = [ aiohttp pytestCheckHook ];
+
+  pythonImportsCheck = [
+    "azure"
+    "azure.core"
+    "azure.common"
+    "azure.keyvault"
+    "azure.keyvault.keys"
+  ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Key Vault Keys Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix
new file mode 100644
index 000000000000..fd3f3c0284f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix
@@ -0,0 +1,35 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, azure-nspkg
+}:
+
+buildPythonPackage rec {
+  pname = "azure-keyvault-nspkg";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0hdnd6124hx7s16z1pssmq5m5mqqqz8s38ixl9aayv4wmf5bhs5c";
+  };
+
+  propagatedBuildInputs = [
+    azure-nspkg
+  ];
+
+  # Just a namespace package, no tests exist:
+  #   https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/tests.yml
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Microsoft Azure Key Vault Namespace Package [Internal]";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
new file mode 100644
index 000000000000..e2b40c29d850
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, azure-core
+, msrest
+}:
+
+buildPythonPackage rec {
+  pname = "azure-keyvault-secrets";
+  version = "4.0.0";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "066p4x2ixasz6qbxss2ilchl73w1kh2nc32lgh8qygl3d90059lp";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-core
+    msrest
+  ];
+
+  # requires checkout from mono-repo
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Microsoft Azure Key Vault Secrets Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault/default.nix
index ed0fe138769e..b6f7f1d70d49 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-keyvault/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault/default.nix
@@ -1,38 +1,36 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, azure-common
-, azure-nspkg
-, msrest
-, msrestazure
-, cryptography
+{ lib, buildPythonPackage, isPy27, fetchPypi
+, azure-keyvault-keys
+, azure-keyvault-secrets
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault";
-  version = "1.1.0";
+  version = "4.0.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "37a8e5f376eb5a304fcd066d414b5d93b987e68f9212b0c41efa37d429aadd49";
+    sha256 = "e85f5bd6cb4f10b3248b99bbf02e3acc6371d366846897027d4153f18025a2d7";
   };
 
   propagatedBuildInputs = [
-    azure-common
-    azure-nspkg
-    msrest
-    msrestazure
-    cryptography
+    azure-keyvault-keys
+    azure-keyvault-secrets
   ];
 
-  # has no tests
+  # this is just a meta package, which contains keys and secrets
   doCheck = false;
 
+  pythonImportsCheck = [
+    "azure.keyvault.keys"
+    "azure.keyvault.secrets"
+  ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Key Vault Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-loganalytics/default.nix b/nixpkgs/pkgs/development/python-modules/azure-loganalytics/default.nix
index 6a2b57052cce..4bfda9a9342d 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-loganalytics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , azure-common
 }:
@@ -20,13 +22,17 @@ buildPythonPackage rec {
     azure-common
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Log Analytics Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/loganalytics/client?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ mwilsoninsight jonringer ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-advisor/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
index c24230952801..83ca8809fc2a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-advisor";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1929d6d5ba49d055fdc806e981b93cf75ea42ba35f78222aaf42d8dcf29d4ef3";
+    sha256 = "c52a4cf91d736c0ecdcb4d555e3b7713ff892343f610e7d65c63549edb98c221";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Advisor Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-advisor;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 000000000000..9f5c04adb265
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
new file mode 100644
index 000000000000..1cacd9881572
--- /dev/null
+++ b/nixpkgs/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.3.0";
+  pname = "azure-mgmt-appconfiguration";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1igl3ikdwcz7d2zcja5nm2qjysjh53vgwzcc96lylypmq6z4aq1s";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index d7e27eabf645..0a485f05f910 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, python
 , fetchPypi
 , msrest
 , msrestazure
@@ -26,12 +27,17 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Application Insights Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-applicationinsights;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-authorization/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
index 7953234f6e2f..994886afc707 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-authorization";
-  version = "0.52.0";
+  version = "0.60.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn";
+    sha256 = "19yn2ar2y8j4idzf8mxrxplxnawbk83sid3pzvzddif29aipbs1i";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Authorization Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-authorization;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
index 67fe9c568eac..91936af014f5 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-batch";
-  version = "6.0.0";
+  version = "7.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "dc929d2a0a65804c28a75dc00bb84ba581f805582a09238f4e7faacb15f8a2a3";
+    sha256 = "18dwgbwk1kc0pdqa85hbsm9312l50rf8ymb60fia1c9rni9bdi8n";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Batch Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-batch;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batchai/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
index faa4d5bc39aa..6da0cf2210c3 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
@@ -24,12 +24,17 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Batch AI Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-batchai;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-billing/default.nix
index 73ce99eb7525..8c658145d7eb 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-billing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-billing/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -8,33 +8,39 @@
 , 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Billing Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-billing;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
new file mode 100644
index 000000000000..d9375942b4d3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-cdn/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cdn/default.nix
index 7ad279380824..da6d1639a136 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cdn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cdn/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cdn";
-  version = "3.1.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0cdbe0914aec544884ef681e31950efa548d9bec6d6dc354e00c3dbdab9e76e3";
+    sha256 = "a53e9e09e2711ce9109329538fe9a8a1a5d0809efb231d7df481e55d09c4f02a";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure CDN Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-cdn;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
index d0ebe0470ae2..c535971c7bf5 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cognitiveservices";
-  version = "4.0.0";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "05zbgy1d6mschqv6y14byr4nwdnv48x9skx4rbsbz1fcqqx3j2sd";
+    sha256 = "1m7v3rfkvmdgghrpz15fm8pvmmhi40lcwfxdm2kxh7mx01r5l906";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Cognitive Services Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-cognitiveservices;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-commerce/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
index ed0cb18aff33..2be5d27f82a1 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Commerce Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-commerce;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-common/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-common/default.nix
index 482c0d190bc5..da8dc95dad00 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-common/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   meta = with pkgs.lib; {
     description = "This is the Microsoft Azure Resource Management common code";
-    homepage = https://pypi.org/project/azure-mgmt-common;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index 3df307242cf4..afe57ee6204d 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.0.0";
+  version = "10.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1zdypc8f825n60341ai2482rwgsc7l8dpr691j8hqz571l80y85w";
+    sha256 = "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
   };
 
   postInstall = if isPy3k then "" else ''
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Compute Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-compute;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
index d074f45cce55..de4a1338611d 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
+++ b/nixpkgs/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,12 +24,18 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # still needed when overriding to previous versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Consumption Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-consumption;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
index fd74008c1bfb..5bf67fc6787c 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Container Instance Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-containerinstance;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
new file mode 100644
index 000000000000..821c7db0d324
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index 5e68ef2d3837..5d1e3e6e3a97 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "5.3.0";
+  version = "8.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1dhni22n85x76709mvjmby8i8hvginzniq1dna6f5cidfcalc0vs";
+    sha256 = "21fabdd393ba2ff1162a490cfa0d2b72a715da8462b1645bd986241137fc771f";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Container Service Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-containerservice;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 72be0b3dbb9c..45542c8e9d57 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "0.7.0";
+  version = "0.11.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1d9xzf9ydlhwlsk7ij64ji1r2j0l7bwaykwngcy5lh8sdxax305r";
+    sha256 = "3f6c1369903856864c7e4a05c2c261563153597172b182382d6332f3acd04016";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Cosmos DB Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-cosmosdb;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
index 7d028a61a550..0d610eebe9c1 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datafactory";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7a50da8415e316bd3be0c90ff7e2bffee2afb959aefea23b5923f22dd7094a37";
+    sha256 = "0rv3443h4f9n88ky0fkfrp6jhf7ck9w3v96q040g3c2vkkywsnwa";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Data Factory Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-datafactory;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
index 31cfdf0e6d57..ad77a75fe838 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
+++ b/nixpkgs/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,12 +24,18 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Data Lake Analytics Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-datalake-analytics;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
index 0df7d65374a8..ce4f623657eb 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Data Lake Management namespace package";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-datalake-nspkg;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
index ce28d0a77490..5d2db3c21125 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
+++ b/nixpkgs/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,13 +24,19 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Data Lake Store Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-datalake-store;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
index 9d1bdb7a0130..93c294e4be95 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
@@ -1,21 +1,22 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datamigration";
-  version = "2.2.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0bixyya9afas0sv2wji7ivfi64z4dvv8p1gjnppibi5zas1mb4zw";
+    sha256 = "1efda568d67af911156591eb308432b5f9a56075b57ac0a5dd9f7aee17d79217";
   };
 
   propagatedBuildInputs = [
@@ -26,13 +27,19 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # still needed when overriding to previous versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Data Migration Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-datamigration;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
new file mode 100644
index 000000000000..276cc86ad8f5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
index f5830f01ac9b..08cdcd721827 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-devspaces";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "4710dd59fc219ebfa4272dbbad58bf62093b52ce22bfd32a5c0279d2149471b5";
+    sha256 = "0dvjsr9i87j1ggbj3dcmgifpk64xr5f5ziwf7z1fwkcx0szcid7k";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Dev Spaces Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-devspaces;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
index f5d60a74b60e..756af164a719 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
@@ -1,21 +1,22 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-devtestlabs";
-  version = "3.0.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b3d5b2919021bf45f0acdd34ab23dc9b0435d9d0a6b472e5008128fb8521e700";
+    sha256 = "1397ksrd61jv7400mgn8sqngp6ahir55fyq9n5k69wk88169qm2r";
   };
 
   propagatedBuildInputs = [
@@ -26,13 +27,19 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # still needed when overriding to previous versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure DevTestLabs Management Client Library";
-    homepage = https://github.com/Azure/sdk-for-python/tree/master/azure-mgmt-devtestlabs;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-dns/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-dns/default.nix
index 55b5633cfe93..0f1527f688b8 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-dns/default.nix
+++ b/nixpkgs/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,13 +26,19 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # this is still needed for when the version is overrided
+  # to previous versions. E.g azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure DNS Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/dns?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
index 93f3006966ce..f5ddbf0fcc7c 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure EventGrid Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/event-grid?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
index 188789e171c4..c780d07c7ce1 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure EventHub Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/event-hub?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
index 26247a7eb396..789784babfb4 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-hanaonazure";
-  version = "0.6.0";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1spsy6g5z4nb1y1gfz0p1ykybi76qbig8j22zvmws59329b3br5h";
+    sha256 = "cc844a152079e0d18fb5f47663a24cb204982925425c1fb51bac53894885000b";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure SAP Hana on Azure Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/hanaonazure?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
new file mode 100644
index 000000000000..6cda959448cf
--- /dev/null
+++ b/nixpkgs/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.3.0";
+  pname = "azure-mgmt-hdinsight";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "55e129da3c3750cd5a26b91035990590a3f97aef4971de62d84de00f4fd6f1e4";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
new file mode 100644
index 000000000000..f5b04c36b0d6
--- /dev/null
+++ b/nixpkgs/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.3.0";
+  pname = "azure-mgmt-imagebuilder";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r4sxr3pbcci5qif1ip1lrix3cryj0b3asqch3zds4q705jiakc4";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
index 9509911709be..29069d71b88a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iotcentral";
-  version = "1.0.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "9aac88ed1f993965015f4e9986931fc08798e09d7b864928681a7cebff053de8";
+    sha256 = "1fql0j28d2r6slgabb7b438gdga513iskqh4al6c7dsmj1yzdzwa";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure IoTCentral Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/iot?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
index aac5ef06e914..cdb20167b9c8 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iothub";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq";
+    sha256 = "19gcvmcd0r9xi2i3m800h3ak0mkf9yj64d55z7nrk25v3ksx0wrl";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure IoTHub Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/iot?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 502ddccd6670..c72ca47cff9b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,13 +26,18 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure IoTHub Provisioning Services Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/iot?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
index b640f7eef0c1..26918fbd7db6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,13 +26,19 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # this is still need when overriding to prevoius versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Key Vault Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 000000000000..9f5c04adb265
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
new file mode 100644
index 000000000000..53aeff46c585
--- /dev/null
+++ b/nixpkgs/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.5.0";
+  pname = "azure-mgmt-kusto";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r6j3yp7ys0zgszqdjm6y90nigsapni4xhfpfgyk5c5qbgdpl93w";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 3473b6e86b4b..a5e2829a930a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,12 +26,17 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Log Analytics Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-loganalytics;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-logic/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-logic/default.nix
index 2050e2904676..345f11f86269 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-logic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-logic/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Logic Apps Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/logic-apps?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
index a68f7e438586..47e91ecf49f3 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Machine Learning Compute Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-machinelearningcompute;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
new file mode 100644
index 000000000000..4d059480c442
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
index 03faf442cbdd..080647bae96b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Management Groups Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-managementgroups;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
index be1ddc49a491..c546a7eeba38 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure ManagementPartner Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-managementpartner;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
index b1e373173d25..b18c02672361 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,12 +26,17 @@ 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;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Maps Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-maps;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
index 8995f43a08b6..db30d30d7554 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Market Place Ordering Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-marketplaceordering;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
index 5061fa90ae81..90b45d0e3f05 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-media";
-  version = "1.1.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "5d0c6b3a0f882dde8ae3d42467f03ea6c4e3f62613936087d54c67e6f504939b";
+    sha256 = "b144e66cb8b947b871354edbcee15b78e107fb8f3a337d46d04cd8b73300741b";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Media Services Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/media-services?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index 3233e9bc00ee..252760950e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/nixpkgs/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,12 +27,17 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+    rm -rf $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Monitor Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/monitoring?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 63ebbb298f2c..328e81c8fe79 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,12 +26,18 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # still needed when overriding to previous versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure MSI Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-msi;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
new file mode 100644
index 000000000000..8e18986bfcbb
--- /dev/null
+++ b/nixpkgs/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.7.0";
+  pname = "azure-mgmt-netapp";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 6384df020e04..4663b9fa0356 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.0.0";
+  version = "8.0.0";
   pname = "azure-mgmt-network";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0h2lnigmh2arq0ppwjk8h9rqxplj6s7h7qxwyv7wirk0ydx6cfd9";
+    sha256 = "1prg4b1agda9bsn6zmvffkj22rr6jy784rdfp6154yifjr6z5jiv";
   };
 
   postInstall = if isPy3k then "" else ''
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure SDK for Python";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/network?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
index 0629eb07b661..a8ebba576485 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Notification Hubs Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/notification-hubs?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
index 8adb60e99aae..fd2664b0ec0e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with pkgs.lib; {
     description = "Microsoft Azure SDK for Python";
-    homepage = https://github.com/Azure/azure-sdk-for-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
index b57146afe3e9..4df00abc806b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Policy Insights Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/policy?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
index c946bb7ab36c..537e576b2b5a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Power BI Embedded Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/power-bi?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix
new file mode 100644
index 000000000000..98855730ba34
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
index 2c5e2d1f2ea8..ae4a5fee2c94 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure RDBMS Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-rdbms;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
index 5e4a500ce3be..5747881fd4ee 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/recoveryservices?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 0b91309cac3a..1f3056b90985 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0zssvzdip23yzaxlac9rlzg9mlyjl97fwr0gj8y27z8j58pwj72i";
+    sha256 = "0jhq8fi3dn2cncyv2rrgr4kldd254f30zgwf6p85rdgvg2p9k4hl";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/recovery-services-backup?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
index 21cdfbafc922..9274bd53cf69 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Redis Cache Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/redis?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-relay/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-relay/default.nix
index a3491356c9aa..b60a82a7b1ad 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-relay/default.nix
+++ b/nixpkgs/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,12 +24,18 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # still needed when overriding to previous versions
+  # E.g. azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Relay Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/relay?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index be00d4aa418c..5d13acb6ec83 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "0.3.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0nksxjh5kh09dr0zw667fg8mzik4ymvfq3dipwag6pynbqr9ls4l";
+    sha256 = "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Reservations Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-reservations;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index c8574680c172..8f9128a62a03 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,13 +8,13 @@
 
 
 buildPythonPackage rec {
-  version = "2.2.0";
+  version = "7.0.0";
   pname = "azure-mgmt-resource";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "173pxgly95dwblp4nj4l70zb0gasibgcjmcynxwa5282plynhgdw";
+    sha256 = "eaea8b5d05495d1b74220052275d46b6bed93b59245bcaa747279a52e41c3bdf";
   };
 
   postInstall = if isPy3k then "" else ''
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with pkgs.lib; {
     description = "Microsoft Azure SDK for Python";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/resources?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
index a25b81aa5fab..366e8df9a751 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Scheduler Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/scheduler?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-search/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-search/default.nix
index cc287589809f..936a1b4269c4 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-search/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-search/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Search Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/search?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-security/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-security/default.nix
new file mode 100644
index 000000000000..5a9d8849f8d2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
index e5b35e538eef..72c363b3e669 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Service Bus Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/servicebus?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
index 3dad2bccdc2c..03084e11cf3f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -9,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicefabric";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0cirsp8wnsswba6gbmw4s2ljsjwi3855my063gvi2mqr55spvx2n";
+    sha256 = "1x18grkjf2p2r1ihlwv607sna9yjvsr2jwnkjc55askrgrwx5jx2";
   };
 
   propagatedBuildInputs = [
@@ -24,12 +26,18 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  # this is still needed for overriding to previous versions
+  # E.g azure-cli
+  postInstall = lib.optionalString isPy3k ''
+    rm -f $out/${python.sitePackages}/azure/{,mgmt/}__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Service Fabric Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/servicefabric?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-signalr/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
index 5751bfb042c3..2ccb773c105a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-signalr";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0k39hf6r2rfy2wyxd9czha2mwmcqf6sc1v69jyh6ml3slbliivlz";
+    sha256 = "08b2i6wz9n13h77ahay1hvmg8abk2vvs7kn4y7xip9gi6ij8fv0a";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure SignalR Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-signalr;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 913eb150224f..0929ca3ff5c2 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "0.12.0";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "8399702e9d1836f3b040ce0c93d8dc089767d66edb9224a3b8a6c9ab7e8ff01f";
+    sha256 = "ddbdc29c1dca437275b0cb5a6fe2d86fa6886ccefb2270287357f07afe80a4ac";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure SQL Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/sql?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
new file mode 100644
index 000000000000..a34ebae2b812
--- /dev/null
+++ b/nixpkgs/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.5.0";
+  pname = "azure-mgmt-sqlvirtualmachine";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm";
+    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/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index b8b39292e5f6..552b1c88792a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.0.0";
+  version = "7.0.0";
   pname = "azure-mgmt-storage";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1kxd30s2axn3g4qx3v7q3d5l744a29xlfk3q06ra0rqm1p6prvgv";
+    sha256 = "7f5e6b18dee267c99f08f6a716a93173bbae433c8665f5c59153fb1a963bc105";
   };
 
   postInstall = if isPy3k then "" else ''
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Storage Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/storage?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
index d19aba5fbc2d..92dcc7cd952a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-subscription";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7a095fe46e598210b178e1059bba82eb02f3b8a7f44f3791442ff7d9ff323d2b";
+    sha256 = "1w91zqi2icld76mcrz0kwq0adb1nr83yqdq6qp1p1445p914qjsh";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Subscription Management Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-subscription;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
index 87b0603877b7..946be6f34cad 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Traffic Manager Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/traffic-manager?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 019d5bdc1e03..ea6c1502123f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "0.42.0";
+  version = "0.44.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0vp40i9aaw5ycz7s7qqir6jq7327f7zg9j9i8g31qkfl1h1c7pdn";
+    sha256 = "05dqakhfi301k2jnvccxdkigqvwnf9xz858pqg9vsri3dq69f1rw";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Web Apps Management Client Library";
-    homepage = https://docs.microsoft.com/en-us/python/api/overview/azure/webapps?view=azure-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-multiapi-storage/default.nix
new file mode 100644
index 000000000000..dc4a011e0789
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-nspkg/default.nix
index bb1cb41f3418..5be901941947 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-nspkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-nspkg/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure SDK for Python";
-    homepage = https://github.com/Azure/azure-sdk-for-python;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
index 84ebf617bae9..02460b27952e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "0.50.1";
+  version = "0.50.2";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0i8ls5h2ny12h9gnqwyq13ysvxgdq7b1kxirj4n58dfy94a182gv";
+    sha256 = "836649d510aa2b7467bc87d8dab18f2db917b63aa2fe8f3e5d0bb44011e465f5";
   };
 
   buildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Service Bus Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/free/master/azure-servicebus;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
index 6b9ac45ad979..19420b0526d9 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "azure-servicefabric";
-  version = "6.4.0.0";
+  version = "7.0.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "f049e8c4a179f1277f2ec60158f88caf14a50f7df491fc6841e360cd61746da1";
+    sha256 = "27712658fed7f5db6965d1035bbc0f3b16964fc88d6f3ad3e86cf4fae2b01bb9";
   };
 
   propagatedBuildInputs = [
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This project provides a client library in Python that makes it easy to consume Microsoft Azure Storage services";
-    homepage = https://pypi.org/project/azure-servicefabric;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
index 51e1c08e63dc..dbd4c1c040fa 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Service Management Legacy Client Library";
-    homepage = https://github.com/Azure/azure-sdk-for-python/tree/master/azure-servicemanagement-legacy;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ olcai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
index 2c00d78a7188..5ec0dc9f6eb1 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-blob";
-  version = "1.5.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f187a878e7a191f4e098159904f72b4146cf70e1aabaf6484ab4ba72fc6f252c";
+    sha256 = "b90323aad60f207f9f90a0c4cf94c10acc313c20b39403398dfba51f25f7b454";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Client library for Microsoft Azure Storage services containing the blob service APIs";
-    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-blob;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai mwilsoninsight ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-common/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-common/default.nix
index dc7a0c3107c0..50fb3450d84f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-common/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-common";
-  version = "1.4.2";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ec87c7537d457ec95252e0e46477e2c1ccf33774ffefd05d8544682cb0ae401";
+    sha256 = "ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Client library for Microsoft Azure Storage services containing common code shared by blob, file and queue";
-    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-common;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-file/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-file/default.nix
index ffdb2f656c1d..088b5260e65b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-file/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-file/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file";
-  version = "1.4.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5217b0441b671246a8d5f506a459fa3af084eeb9297c5be3bbe95d75d23bac2f";
+    sha256 = "3559b9c7ab13450c66ea833eb82c28233bee24f1bd8ca19aa7d27f8c23d5bc53";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Client library for Microsoft Azure Storage services containing the file service APIs";
-    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-file;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-nspkg/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-nspkg/default.nix
index 5efef893a756..b8e243c9b6aa 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-nspkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-nspkg/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Client library for Microsoft Azure Storage services owning the azure.storage namespace, user should not use this directly";
-    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-nspkg;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
index 1ca1288e9b44..515b3f398dfd 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-queue";
-  version = "1.4.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bafe9e61c0ce7b3f3ecadea21e931dab3248bd4989dc327a8666c5deae7f7ed";
+    sha256 = "14e82d3691f1bbd23f2aff143a6c17af3c297164f6e597d223b65a67051ba278";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Client library for Microsoft Azure Storage services containing the queue service APIs";
-    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-queue;
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
index 6693a7464d43..c199fbbeb367 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with pkgs.lib; {
     description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.asl20;
     maintainers = with maintainers; [ olcai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure/default.nix b/nixpkgs/pkgs/development/python-modules/azure/default.nix
index 87a39255561e..0a2e733ea1ad 100644
--- a/nixpkgs/pkgs/development/python-modules/azure/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure/default.nix
@@ -34,5 +34,6 @@ buildPythonPackage rec {
     homepage = "https://azure.microsoft.com/en-us/develop/python/";
     license = licenses.asl20;
     maintainers = with maintainers; [ olcai ];
+    broken = true; # this should propagate over 70 azure packages, many of which are not added yet
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/babelfish/default.nix b/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
index 003f996d29a2..c8245a15c7f0 100644
--- a/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, setuptools }:
 
 buildPythonPackage rec {
   pname = "babelfish";
@@ -9,6 +9,8 @@ buildPythonPackage rec {
     sha256 = "8380879fa51164ac54a3e393f83c4551a275f03617f54a99d70151358e444104";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   meta = with stdenv.lib; {
     homepage = https://pypi.python.org/pypi/babelfish;
     description = "A module to work with countries and languages";
diff --git a/nixpkgs/pkgs/development/python-modules/babelgladeextractor/default.nix b/nixpkgs/pkgs/development/python-modules/babelgladeextractor/default.nix
new file mode 100644
index 000000000000..4ed52d333d63
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, isPy3k
+, buildPythonPackage
+, fetchPypi
+, Babel
+}:
+
+buildPythonPackage rec {
+  pname = "babelgladeextractor";
+  version = "0.6.3";
+
+  src = fetchPypi {
+    pname = "BabelGladeExtractor";
+    inherit version;
+    extension = "tar.bz2";
+    sha256 = "12i2i97wai5vv5h522rj6pfcdsfyrkgmjqc699m5v4af0yy3rqsq";
+  };
+
+  propagatedBuildInputs = [
+    Babel
+  ];
+
+  # SyntaxError: Non-ASCII character '\xc3' in file /build/BabelGladeExtractor-0.6.3/babelglade/tests/test_translate.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
+  doCheck = isPy3k;
+
+  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/nixpkgs/pkgs/development/python-modules/backports_functools_lru_cache/default.nix b/nixpkgs/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
index 2a8b5e7960d4..8cb84c02b379 100644
--- a/nixpkgs/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
@@ -4,23 +4,27 @@
 , setuptools_scm
 , isPy3k
 , pytest
+, pytest-black
+, pytest-flake8
+, pytestcov
 }:
 
 buildPythonPackage rec {
   pname = "backports.functools_lru_cache";
-  version = "1.5";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a";
+    sha256 = "8fde5f188da2d593bd5bc0be98d9abc46c95bb8a9dde93429570192ee6cc2d4a";
   };
 
-  buildInputs = [ setuptools_scm ];
-
-  checkInputs = [ pytest ];
+  nativeBuildInputs = [ setuptools_scm ];
 
+  checkInputs = [ pytest pytest-flake8 pytest-black pytestcov ];
+  # ironically, they fail a linting test, and pytest.ini forces that test suite
   checkPhase = ''
-    pytest
+    rm backports/functools_lru_cache.py
+    pytest -k 'not format'
   '';
 
   # Test fail on Python 2
@@ -31,4 +35,4 @@ buildPythonPackage rec {
     homepage = https://github.com/jaraco/backports.functools_lru_cache;
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/backports_lzma/default.nix b/nixpkgs/pkgs/development/python-modules/backports_lzma/default.nix
index 82025df8b9e9..997e4930ac7c 100644
--- a/nixpkgs/pkgs/development/python-modules/backports_lzma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backports_lzma/default.nix
@@ -9,13 +9,13 @@
 
 if !(pythonOlder "3.3") then null else buildPythonPackage rec {
   pname = "backports.lzma";
-  version = "0.0.13";
+  version = "0.0.14";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "50829db66f0445442f6c796bba0ca62d1f87f54760c4682b6d1489e729a43744";
+    sha256 = "16d8b68e4d3cd4e6c9ddb059850452946da3914c8a8e197a7f2b0954559f2df4";
   };
 
   buildInputs = [ lzma ];
diff --git a/nixpkgs/pkgs/development/python-modules/backports_unittest-mock/default.nix b/nixpkgs/pkgs/development/python-modules/backports_unittest-mock/default.nix
index 3baaa871adf5..57d2cad281ec 100644
--- a/nixpkgs/pkgs/development/python-modules/backports_unittest-mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backports_unittest-mock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "backports.unittest_mock";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73df9093bc7a2cc8e7018d08d6983dc5bcb2a47d7e7e107b9e8d0711f1702ef8";
+    sha256 = "eff58e53de8fdeb27a1c87a9d57e7b91d15d1bc3854e85344b1a2e69f31ecda7";
   };
 
   propagatedBuildInputs = [ mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/bandit/default.nix b/nixpkgs/pkgs/development/python-modules/bandit/default.nix
new file mode 100644
index 000000000000..64ef8ec53fa5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bandit/default.nix
@@ -0,0 +1,44 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, isPy3k
+
+# pythonPackages
+, GitPython
+, pbr
+, pyyaml
+, six
+, stevedore
+}:
+
+buildPythonPackage rec {
+  pname = "bandit";
+  version = "1.6.2";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rb034c99pyhb4a60z7f2kz40cjydhm8m9v2blaal1rmhlam7rs1";
+  };
+
+  propagatedBuildInputs = [
+    GitPython
+    pbr
+    pyyaml
+    six
+    stevedore
+  ];
+
+  # Framework is Tox, tox performs 'pip install' inside the virtual-env
+  #   and this requires Network Connectivity
+  doCheck = false;
+
+  meta = {
+    description = "Security oriented static analyser for python code";
+    homepage = "https://bandit.readthedocs.io/en/latest/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/basemap/default.nix b/nixpkgs/pkgs/development/python-modules/basemap/default.nix
index 25b19a2b7314..a06bcebc8e6c 100644
--- a/nixpkgs/pkgs/development/python-modules/basemap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/basemap/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "basemap";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "matplotlib";
     repo = "basemap";
     rev = "v${version}rel";
-    sha256 = "1p3app8n65rlppkdbp1pb7fa4250kh7hi7lzdsryi2iv88np7193";
+    sha256 = "13lw1iwa8hadpvqdgb06nh881l8c17awzvvwbfwblvb9q9s0lnzp";
   };
 
   propagatedBuildInputs = [ numpy matplotlib pillow pyproj pyshp six ];
diff --git a/nixpkgs/pkgs/development/python-modules/bashlex/default.nix b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
new file mode 100644
index 000000000000..c575dc516ffe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
@@ -0,0 +1,38 @@
+{ enum-compat
+, lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "bashlex";
+  version = "0.14";
+
+  src = fetchFromGitHub {
+    owner = "idank";
+    repo = pname;
+    rev = version;
+    sha256 = "070spmbf53y18miky5chgky4x5h8kp9czkp7dm173klv9pi2cn0k";
+  };
+
+  checkInputs = [ nose ];
+  propagatedBuildInputs = [ enum-compat ];
+
+  # workaround https://github.com/idank/bashlex/issues/51
+  preBuild = ''
+    ${python.interpreter} -c 'import bashlex'
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} -m nose --with-doctest
+  '';
+
+  meta = with lib; {
+    description = "Python parser for bash";
+    license = licenses.gpl3;
+    homepage = https://github.com/idank/bashlex;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bayespy/default.nix b/nixpkgs/pkgs/development/python-modules/bayespy/default.nix
index 430e7c3da8aa..210fbbe2176e 100644
--- a/nixpkgs/pkgs/development/python-modules/bayespy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bayespy/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "bayespy";
-  version = "0.5.18";
+  version = "0.5.19";
 
   # Python 2 not supported and not some old Python 3 because MPL doesn't support
   # them properly.
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86c453d827b8d6c3574ec306f6fadfc5028614e1cd46676841336e6787a7496a";
+    sha256 = "24e1327ce241a0113abf217fbaf41ac25e04f5a01f9ed606610f2f1f2d82d34f";
   };
 
   checkInputs = [ pytest glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/bcdoc/default.nix b/nixpkgs/pkgs/development/python-modules/bcdoc/default.nix
index b4db16476d12..b8cbf8537dc6 100644
--- a/nixpkgs/pkgs/development/python-modules/bcdoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bcdoc/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/botocore/bcdoc;
+    homepage = "https://github.com/boto/bcdoc";
     license = licenses.asl20;
     description = "ReST document generation tools for botocore";
   };
diff --git a/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix b/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
index 1b9ba31f0353..1720738b169b 100644
--- a/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "beautifulsoup4";
-  version = "4.7.1";
+  version = "4.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "945065979fb8529dd2f37dbb58f00b661bdbcbebf954f93b32fdf5263ef35348";
+    sha256 = "05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/behave/default.nix b/nixpkgs/pkgs/development/python-modules/behave/default.nix
index 7ad3489553c2..6d0364676f9a 100644
--- a/nixpkgs/pkgs/development/python-modules/behave/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/bidict/default.nix b/nixpkgs/pkgs/development/python-modules/bidict/default.nix
index 61dc1db1a486..e96e59dd7cf9 100644
--- a/nixpkgs/pkgs/development/python-modules/bidict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bidict/default.nix
@@ -7,15 +7,17 @@
 , pytest-benchmark
 , sortedcollections
 , sortedcontainers
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "bidict";
-  version = "0.18.0";
+  version = "0.18.3";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d10630fd5d86b7c165387473c5180e7fca7635f12e24b1f426aac259c72c81a";
+    sha256 = "1742a25a9ef1b1ac4000683406879a3e1a6577faa02f31e482e6c84e2e3bf628";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix b/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
index ec66124e3c78..6b7bad58bc4c 100644
--- a/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.2.4";
+  version = "1.3.12";
   pname = "bids-validator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mvp1mi1k6yqgyj7rxij8mlwclqlyfzq08s67v0qaycw44l68ifg";
+    sha256 = "7a244b09adfd083292ed1f7ff335676a1e2effbbffe62b02a4abaf377d33ef86";
   };
 
   propagatedBuildInputs = [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/billiard/default.nix b/nixpkgs/pkgs/development/python-modules/billiard/default.nix
index dd4b548563cc..e53aa40446eb 100644
--- a/nixpkgs/pkgs/development/python-modules/billiard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/billiard/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPyPy, pytest, case, psutil }:
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy, pytest_4, case, psutil }:
 
 buildPythonPackage rec {
   pname = "billiard";
-  version = "3.6.0.0";
+  version = "3.6.1.0";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "756bf323f250db8bf88462cd042c992ba60d8f5e07fc5636c24ba7d6f4261d84";
+    sha256 = "b8809c74f648dfe69b973c8e660bcec00603758c9db8ba89d7719f88d5f01f26";
   };
 
-  checkInputs = [ pytest case psutil ];
+  checkInputs = [ pytest_4 case psutil ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/celery/billiard;
diff --git a/nixpkgs/pkgs/development/python-modules/binwalk/default.nix b/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
index 88ef71cabdf1..ec613527e92b 100644
--- a/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage {
     ++ stdenv.lib.optional visualizationSupport pyqtgraph;
 
   meta = with stdenv.lib; {
-    homepage = "http://binwalk.org";
+    homepage = "https://github.com/ReFirmLabs/binwalk";
     description = "A tool for searching a given binary image for embedded files";
     maintainers = [ maintainers.koral ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/biopython/default.nix b/nixpkgs/pkgs/development/python-modules/biopython/default.nix
index e60d4c60aeab..727687c5e709 100644
--- a/nixpkgs/pkgs/development/python-modules/biopython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.74";
+  version = "1.76";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h4hcpx1vqrcddpcznyxy14zzvy2yanlkz0117w5n869w8djq595";
+    sha256 = "0wlch9xpa0fpgjzyxi6jsfca6iakaq9a05927xg8vqnmvaccnwrq";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/0001-Buffer-Protocol-Py3.patch b/nixpkgs/pkgs/development/python-modules/bitarray/0001-Buffer-Protocol-Py3.patch
deleted file mode 100644
index e1019115ac74..000000000000
--- a/nixpkgs/pkgs/development/python-modules/bitarray/0001-Buffer-Protocol-Py3.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From c636f0cc386c9ded9f31947bbd74affccc93c21a Mon Sep 17 00:00:00 2001
-From: yoch <yoch.melka@gmail.com>
-Date: Mon, 14 May 2018 21:55:00 +0300
-Subject: [PATCH] Adding buffer protocol support for Python 3
-
----
- bitarray/_bitarray.c      | 12 ++++++++++--
- bitarray/test_bitarray.py | 14 +++++++-------
- 2 files changed, 17 insertions(+), 9 deletions(-)
-
-diff --git a/bitarray/_bitarray.c b/bitarray/_bitarray.c
-index d2c19cb..be6b379 100644
---- a/bitarray/_bitarray.c
-+++ b/bitarray/_bitarray.c
-@@ -48,7 +48,7 @@ int PyIndex_Check(PyObject *o)
- #define Py_SIZE(ob)   (((PyVarObject *) (ob))->ob_size)
- #endif
- 
--#if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 7
-+#if PY_MAJOR_VERSION == 3 || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 7)
- /* (new) buffer protocol */
- #define WITH_BUFFER
- #endif
-@@ -2787,6 +2787,8 @@ static PyTypeObject BitarrayIter_Type = {
- 
- /********************* Bitarray Buffer Interface ************************/
- #ifdef WITH_BUFFER
-+
-+#if PY_MAJOR_VERSION == 2
- static Py_ssize_t
- bitarray_buffer_getreadbuf(bitarrayobject *self,
-                            Py_ssize_t index, const void **ptr)
-@@ -2831,6 +2833,8 @@ bitarray_buffer_getcharbuf(bitarrayobject *self,
-     return Py_SIZE(self);
- }
- 
-+#endif
-+
- static int
- bitarray_getbuffer(bitarrayobject *self, Py_buffer *view, int flags)
- {
-@@ -2857,14 +2861,18 @@ bitarray_releasebuffer(bitarrayobject *self, Py_buffer *view)
- }
- 
- static PyBufferProcs bitarray_as_buffer = {
-+#if PY_MAJOR_VERSION == 2   // old buffer protocol
-     (readbufferproc) bitarray_buffer_getreadbuf,
-     (writebufferproc) bitarray_buffer_getwritebuf,
-     (segcountproc) bitarray_buffer_getsegcount,
-     (charbufferproc) bitarray_buffer_getcharbuf,
-+#endif
-     (getbufferproc) bitarray_getbuffer,
-     (releasebufferproc) bitarray_releasebuffer,
- };
-+
- #endif  /* WITH_BUFFER */
-+
- /************************** Bitarray Type *******************************/
- 
- static PyTypeObject Bitarraytype = {
-@@ -2898,7 +2906,7 @@ static PyTypeObject Bitarraytype = {
-     0,                                        /* tp_as_buffer */
- #endif
-     Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_WEAKREFS
--#ifdef WITH_BUFFER
-+#if defined(WITH_BUFFER) && PY_MAJOR_VERSION == 2
-     | Py_TPFLAGS_HAVE_NEWBUFFER
- #endif
-     ,                                         /* tp_flags */
-diff --git a/bitarray/test_bitarray.py b/bitarray/test_bitarray.py
-index 44de2f0..b72b554 100644
---- a/bitarray/test_bitarray.py
-+++ b/bitarray/test_bitarray.py
-@@ -2113,10 +2113,10 @@ def test_read1(self):
-         a = bitarray('01000001' '01000010' '01000011', endian='big')
-         v = memoryview(a)
-         self.assertEqual(len(v), 3)
--        self.assertEqual(v[0], 'A')
--        self.assertEqual(v[:].tobytes(), 'ABC')
-+        #self.assertEqual(v[0], 'A')
-+        self.assertEqual(v[:].tobytes(), b'ABC')
-         a[13] = 1
--        self.assertEqual(v[:].tobytes(), 'AFC')
-+        self.assertEqual(v[:].tobytes(), b'AFC')
- 
-     def test_read2(self):
-         a = bitarray([randint(0, 1) for d in range(8000)])
-@@ -2131,14 +2131,14 @@ def test_write(self):
-         a.setall(0)
-         v = memoryview(a)
-         self.assertFalse(v.readonly)
--        v[50000] = '\xff'
-+        v[50000] = 255 if is_py3k else '\xff'
-         self.assertEqual(a[399999:400009], bitarray('0111111110'))
-         a[400003] = 0
-         self.assertEqual(a[399999:400009], bitarray('0111011110'))
--        v[30001:30004] = 'ABC'
--        self.assertEqual(a[240000:240040].tobytes(), '\x00ABC\x00')
-+        v[30001:30004] = b'ABC'
-+        self.assertEqual(a[240000:240040].tobytes(), b'\x00ABC\x00')
- 
--if sys.version_info[:2] == (2, 7):
-+if sys.version_info[:2] >= (2, 7):
-     tests.append(BufferInterfaceTests)
- 
- # ---------------------------------------------------------------------------
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index c413303dd21d..f119aedc4b82 100644
--- a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
@@ -1,17 +1,14 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "0.8.3";
+  version = "1.2.0";
   pname = "bitarray";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pl9p4j3dhlyffsqra6h28q7jph6v3hgppg786lkmnqdh45x6305";
+    sha256 = "4f8706b651243c9faa981f075bcbdef2fab83e9b9bc9211ed2cb5849f9a68342";
   };
 
-  # Delete once https://github.com/ilanschnell/bitarray/pull/55 is merged
-  patches = [ ./0001-Buffer-Protocol-Py3.patch ];
-
   meta = with lib; {
     description = "Efficient arrays of booleans";
     homepage = https://github.com/ilanschnell/bitarray;
diff --git a/nixpkgs/pkgs/development/python-modules/bitstruct/default.nix b/nixpkgs/pkgs/development/python-modules/bitstruct/default.nix
index 2bc4a5bbb616..3e546d386978 100644
--- a/nixpkgs/pkgs/development/python-modules/bitstruct/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitstruct/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bitstruct";
-  version = "6.0.0";
+  version = "8.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1znqgy2ikdqn6n6mv1ccfbl0q7x65bh3i9ph0yjl4rihwvxyg9fg";
+    sha256 = "84893f90eb78f8179af24a87622ef964ede5c7e785562022917033987d6ce198";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/bjoern/default.nix b/nixpkgs/pkgs/development/python-modules/bjoern/default.nix
index ddbb2f0d27e8..08caabef3bdf 100644
--- a/nixpkgs/pkgs/development/python-modules/bjoern/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bjoern/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bjoern";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ajmmfzr6fm8h8s7m69f2ffx0wk6snjvdx527hhj00bzn7zybnmn";
+    sha256 = "01f3b601cf0ab0a9c7cb9c8f944ab7c738baaa6043ca82db20e9bd7a9be5767b";
   };
 
   buildInputs = [ libev ];
diff --git a/nixpkgs/pkgs/development/python-modules/black/default.nix b/nixpkgs/pkgs/development/python-modules/black/default.nix
index f17f94387f3e..315e891030ed 100644
--- a/nixpkgs/pkgs/development/python-modules/black/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/black/default.nix
@@ -1,18 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, pythonOlder
 , attrs, click, toml, appdirs, aiohttp, aiohttp-cors
-, glibcLocales, pytest }:
+, glibcLocales, typed-ast, pathspec, regex
+, setuptools_scm, pytest }:
 
 buildPythonPackage rec {
   pname = "black";
-  version = "19.3b0";
+  version = "19.10b0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "073kd5rs02lisp6n3h7yai9lix520xnaa6c7rdmp2sci9pyhz5b8";
+    sha256 = "0f8mr0yzj78q1dx7v6ggbgfir2wv0n5z2shfbbvfdq7910xbgvf2";
   };
 
+  nativeBuildInputs = [ setuptools_scm ];
   checkInputs =  [ pytest glibcLocales ];
 
   # Necessary for the tests to pass on Darwin with sandbox enabled.
@@ -20,6 +22,7 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   # Don't know why these tests fails
+  # Disable test_expression_diff, because it fails on darwin
   checkPhase = ''
     LC_ALL="en_US.UTF-8" pytest \
       --deselect tests/test_black.py::BlackTestCase::test_expression_diff \
@@ -27,7 +30,7 @@ buildPythonPackage rec {
       --deselect tests/test_black.py::BlackTestCase::test_failed_formatting_does_not_get_cached
   '';
 
-  propagatedBuildInputs = [ attrs appdirs click toml aiohttp aiohttp-cors ];
+  propagatedBuildInputs = [ attrs appdirs click toml aiohttp aiohttp-cors pathspec regex typed-ast ];
 
   meta = with stdenv.lib; {
     description = "The uncompromising Python code formatter";
diff --git a/nixpkgs/pkgs/development/python-modules/bleach/default.nix b/nixpkgs/pkgs/development/python-modules/bleach/default.nix
index 7de124267f0e..1033f9def76c 100644
--- a/nixpkgs/pkgs/development/python-modules/bleach/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bleach/default.nix
@@ -5,6 +5,7 @@
 , pytestrunner
 , six
 , html5lib
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -17,16 +18,15 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest pytestrunner ];
-  propagatedBuildInputs = [ six html5lib ];
+  propagatedBuildInputs = [ six html5lib setuptools ];
 
   postPatch = ''
     substituteInPlace setup.py --replace ",<3dev" ""
   '';
 
-  # Disable a test
-  # https://github.com/mozilla/bleach/issues/467
+  # Disable network tests
   checkPhase = ''
-    pytest -k "not test_only_text_is_cleaned"
+    pytest -k "not protocols"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/blis/default.nix b/nixpkgs/pkgs/development/python-modules/blis/default.nix
index e038e07507a0..ca6d5d62442f 100644
--- a/nixpkgs/pkgs/development/python-modules/blis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blis/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "blis";
-  version = "0.2.4";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c5hd0bim9134sk8wb31cqzvi9c380rbl5zwjiwrq8nnix8a2k1d";
+    sha256 = "d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "BLAS-like linear algebra library";
     homepage = https://github.com/explosion/cython-blis;
-    license = licenses.mit;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ danieldk ];
-    };
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/blist/default.nix b/nixpkgs/pkgs/development/python-modules/blist/default.nix
index d6d55accaca7..90a4b99cda33 100644
--- a/nixpkgs/pkgs/development/python-modules/blist/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/blivet/default.nix b/nixpkgs/pkgs/development/python-modules/blivet/default.nix
index 1c86c02f7a88..9bf93fe8c380 100644
--- a/nixpkgs/pkgs/development/python-modules/blivet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blivet/default.nix
@@ -4,7 +4,6 @@
 
 let
   pyenable = { enablePython = true; };
-  selinuxWithPython = libselinux.override pyenable;
   cryptsetupWithPython = cryptsetup.override pyenable;
 in buildPythonPackage rec {
   pname = "blivet";
@@ -31,7 +30,7 @@ in buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock pyudev selinuxWithPython.py cryptsetupWithPython
+    pykickstart pyparted pyblock pyudev libselinux cryptsetupWithPython
     six
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/block-io/default.nix b/nixpkgs/pkgs/development/python-modules/block-io/default.nix
index f90f3f9af75a..f6bd3178bba5 100644
--- a/nixpkgs/pkgs/development/python-modules/block-io/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/block-io/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchPypi, buildPythonPackage, base58, ecdsa, pycryptodome, requests, six }:
+{ stdenv, fetchPypi, buildPythonPackage, base58, ecdsa, pycryptodome, requests, six, setuptools }:
 
 buildPythonPackage rec {
   pname = "block-io";
@@ -15,6 +15,7 @@ buildPythonPackage rec {
     pycryptodome
     requests
     six
+    setuptools
   ];
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bokeh/default.nix b/nixpkgs/pkgs/development/python-modules/bokeh/default.nix
index d53371221202..18f59b052887 100644
--- a/nixpkgs/pkgs/development/python-modules/bokeh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bokeh/default.nix
@@ -1,13 +1,14 @@
 { buildPythonPackage
 , fetchPypi
 , futures
-, isPy3k
+, isPy27
 , isPyPy
 , jinja2
 , lib
 , mock
 , numpy
 , nodejs
+, packaging
 , pillow
 , pytest
 , python
@@ -21,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "bokeh";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m27j29jpi977y95k272xc24qkl5bkniy046cil116hrbgnppng2";
+    sha256 = "1rywd6c6hi0c6yg18j5zxssjd07a5hafcd21xr3q2yvp3aj3h3f6";
   };
 
   patches = [
@@ -38,7 +39,12 @@ buildPythonPackage rec {
 
   disabled = isPyPy;
 
-  checkInputs = [ mock pytest pillow selenium ];
+  checkInputs = [
+    mock
+    pytest
+    pillow
+    selenium
+  ];
 
   propagatedBuildInputs = [
     pillow
@@ -48,8 +54,11 @@ buildPythonPackage rec {
     pyyaml
     tornado
     numpy
+    packaging
   ]
-  ++ lib.optionals ( !isPy3k ) [ futures ];
+  ++ lib.optionals ( isPy27 ) [
+    futures
+  ];
 
   checkPhase = ''
     ${python.interpreter} -m unittest discover -s bokeh/tests
diff --git a/nixpkgs/pkgs/development/python-modules/boltons/default.nix b/nixpkgs/pkgs/development/python-modules/boltons/default.nix
index b5aa9e6cf033..8b7139f5a627 100644
--- a/nixpkgs/pkgs/development/python-modules/boltons/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix b/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix
index 50f2023418ee..d89cf3c615d9 100644
--- a/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix
@@ -14,13 +14,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "19.7.3";
+  version = "19.11.1";
   pname = "BoltzTraP2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hambr925ml2v2zcxnmnpi39395gl2928yac4p2kghk9xicymraw";
+    sha256 = "3927ae782b7329dede2bf85ff5ff328c88f0514ecb592267e28912340f395d3e";
   };
 
   dontUseCmakeConfigure = true;
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://www.boltztrap.org/;
+    homepage = "http://www.boltztrap.org/";
     description = "Band-structure interpolator and transport coefficient calculator";
     license = licenses.gpl3;
     maintainers = [ maintainers.costrouc ];
diff --git a/nixpkgs/pkgs/development/python-modules/boolean-py/default.nix b/nixpkgs/pkgs/development/python-modules/boolean-py/default.nix
index cf35243f2b08..8f5ef73c7e23 100644
--- a/nixpkgs/pkgs/development/python-modules/boolean-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boolean-py/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "boolean.py";
-  version = "3.6";
+  version = "3.7";
 
   src = fetchFromGitHub {
     owner = "bastikr";
     repo = "boolean.py";
     rev = "v${version}";
-    sha256 = "1wc89y73va58cj7dsx6c199zpxsy9q53dsffsdj6zmc90inqz6qs";
+    sha256 = "1q9ji2jq07qr6vgp9yv6y8lx6h0zyi07fqjga3yi3vpfk46h2jn1";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
index d2f64a5e5a8b..8bb713b76416 100644
--- a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -1,35 +1,19 @@
 { stdenv, python, fetchPypi, makeWrapper, unzip, makeSetupHook
 , pipInstallHook
 , setuptoolsBuildHook
-
+, wheel, pip, setuptools
 }:
 
-let
-  wheel_source = fetchPypi {
-    pname = "wheel";
-    version = "0.33.6";
-    format = "wheel";
-    sha256 = "f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28";
-  };
-  setuptools_source = fetchPypi {
-    pname = "setuptools";
-    version = "41.2.0";
-    format = "wheel";
-    sha256 = "4380abcf2a4ffd1a5ba22d687c6d690dce83b2b51c70e9c6d09f7e8c7e8040dc";
-  };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "pip";
-  version = "19.2.3";
+  inherit (pip) version;
   name = "${python.libPrefix}-bootstrapped-${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    format = "wheel";
-    sha256 = "340a0ba40fdeb16413914c0fcd8e0b4ebb0bf39a900ec80e11c05d836c05103f";
-  };
+  srcs = [ wheel.src pip.src setuptools.src ];
+  sourceRoot = ".";
 
   dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
 
   # Should be propagatedNativeBuildInputs
   propagatedBuildInputs = [
@@ -38,13 +22,6 @@ in stdenv.mkDerivation rec {
     (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
   ];
 
-  unpackPhase = ''
-    mkdir -p $out/${python.sitePackages}
-    unzip -d $out/${python.sitePackages} $src
-    unzip -d $out/${python.sitePackages} ${setuptools_source}
-    unzip -d $out/${python.sitePackages} ${wheel_source}
-  '';
-
   postPatch = ''
     mkdir -p $out/bin
   '';
@@ -52,18 +29,38 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ python ];
 
-  installPhase = ''
+  buildPhase = ":";
+
+  installPhase = stdenv.lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+    export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
+  '' + ''
+    # Give folders a known name
+    mv pip* pip
+    mv setuptools* setuptools
+    mv wheel* wheel
+    # Set up PYTHONPATH. The above folders need to be on PYTHONPATH
+    # $out is where we are installing to and takes precedence
+    export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$(pwd)/wheel"
 
-    # install pip binary
-    echo '#!${python.interpreter}' > $out/bin/pip
-    echo 'import sys;from pip._internal import main' >> $out/bin/pip
-    echo 'sys.exit(main())' >> $out/bin/pip
-    chmod +x $out/bin/pip
+    echo "Building setuptools wheel..."
+    pushd setuptools
+    ${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out  --ignore-installed --no-dependencies --no-cache --build tmpbuild .
+    popd
 
-    # wrap binaries with PYTHONPATH
-    for f in $out/bin/*; do
-      wrapProgram $f --prefix PYTHONPATH ":" $out/${python.sitePackages}/
-    done
+    echo "Building wheel wheel..."
+    pushd wheel
+    ${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out  --ignore-installed --no-dependencies --no-cache --build tmpbuild .
+    popd
+
+    echo "Building pip wheel..."
+    pushd pip
+    ${python.pythonForBuild.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out  --ignore-installed --no-dependencies --no-cache --build tmpbuild .
+    popd
   '';
 
+  meta = {
+    description = "Version of pip used for bootstrapping";
+    license = stdenv.lib.unique (pip.meta.license ++ setuptools.meta.license ++ wheel.meta.license);
+    homepage = pip.meta.homepage;
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/boto/default.nix b/nixpkgs/pkgs/development/python-modules/boto/default.nix
index e58f071589a6..8452e05beccf 100644
--- a/nixpkgs/pkgs/development/python-modules/boto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto/default.nix
@@ -1,6 +1,7 @@
 { pkgs
 , buildPythonPackage
 , fetchPypi
+, isPy38
 , python
 , nose
 , mock
@@ -21,6 +22,7 @@ buildPythonPackage rec {
     ${python.interpreter} tests/test.py default
   '';
 
+  doCheck = (!isPy38); # hmac functionality has changed
   checkInputs = [ nose mock ];
   propagatedBuildInputs = [ requests httpretty ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/boto3/default.nix b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
index 34178befebe4..724fc80f141f 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname =  "boto3";
-  version = "1.9.205"; # N.B: if you change this, change botocore too
+  version = "1.10.1"; # N.B: if you change this, change botocore too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zxz1d6w3f4ip04bm26xplpxjhblc2vfmqcs5n63a9y1h43mk171";
+    sha256 = "2904bfb928116fea3a83247de6c3687eb9bf942d764e361f5574d5ac11be2ad3";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/default.nix b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
index 5c8b00fc6c15..50504257c64e 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
@@ -12,13 +12,15 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.12.205"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.13.2"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19ls7hdmcaqrrq8przqy05s8chsy8315ic2zg185k6m64pvr0qhd";
+    sha256 = "8223485841ef4731a5d4943a733295ba69d0005c4ae64c468308cc07f6960d39";
   };
 
+  outputs = [ "out" "dev" ];
+
   propagatedBuildInputs = [
     dateutil
     jmespath
diff --git a/nixpkgs/pkgs/development/python-modules/bottle/default.nix b/nixpkgs/pkgs/development/python-modules/bottle/default.nix
index 6e1eb5ced000..c0de6eecae9f 100644
--- a/nixpkgs/pkgs/development/python-modules/bottle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bottle/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bottle";
-  version = "0.12.16";
+  version = "0.12.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c310da61e7df2b6ac257d8a90811899ccb3a9743e77e947101072a2e3186726";
+    sha256 = "0819b74b145a7def225c0e83b16a4d5711fde751cd92bae467a69efce720f69e";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/bottleneck/default.nix b/nixpkgs/pkgs/development/python-modules/bottleneck/default.nix
index 21492dc152cb..f45eea2c5df3 100644
--- a/nixpkgs/pkgs/development/python-modules/bottleneck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bottleneck/default.nix
@@ -1,26 +1,34 @@
-{ buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi
 , nose
-, pytest
 , numpy
+, pytest
 , python
 }:
 
 buildPythonPackage rec {
   pname = "Bottleneck";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36";
+    sha256 = "0a2a94zahl3kqld2n9dm58fvazz9s52sa16nd8yn5jv20hvqc5a5";
   };
 
-  checkInputs = [ pytest nose ];
   propagatedBuildInputs = [ numpy ];
-  checkPhase = ''
-    py.test -p no:warnings $out/${python.sitePackages}
-  '';
+
   postPatch = ''
     substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" ""
   '';
+
+  checkInputs = [ pytest nose ];
+  checkPhase = ''
+    py.test -p no:warnings $out/${python.sitePackages}
+  '';
+
+  meta = with lib; {
+    description = "Fast NumPy array functions written in C";
+    homepage = "https://github.com/pydata/bottleneck";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bpython/default.nix b/nixpkgs/pkgs/development/python-modules/bpython/default.nix
index c1d9a1a8f82f..a91be0e13ddb 100644
--- a/nixpkgs/pkgs/development/python-modules/bpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bpython/default.nix
@@ -2,17 +2,17 @@
 
 buildPythonPackage rec {
   pname = "bpython";
-  version = "0.17.1";
+  version = "0.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8907c510bca3c4d9bc0a157279bdc5e3b739cc68c0f247167279b6fe4becb02f";
+    sha256 = "56cc20dbe568c98c81de4990fddf5862c0d8d3ab0ad1cf7057988abc5f7686c2";
   };
 
   propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ];
 
   postInstall = ''
-    substituteInPlace "$out/share/applications/bpython.desktop" \
+    substituteInPlace "$out/share/applications/org.bpython-interpreter.bpython.desktop" \
       --replace "Exec=/usr/bin/bpython" "Exec=$out/bin/bpython"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/braintree/default.nix b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
index 5b5655553144..6f51dcf858f4 100644
--- a/nixpkgs/pkgs/development/python-modules/braintree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "braintree";
-  version = "3.56.0";
+  version = "3.57.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d1xv7b4s68yfa3snnvcjldj0q7v1izpyvqkv2c1k0w73hl657b5";
+    sha256 = "1g5w733dim3rc6hwklvknnxqkradjwip728i77pbsw5ihgdxahhi";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/branca/default.nix b/nixpkgs/pkgs/development/python-modules/branca/default.nix
index c81233045c05..447a5230c7f3 100644
--- a/nixpkgs/pkgs/development/python-modules/branca/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/branca/default.nix
@@ -5,6 +5,7 @@
 , jinja2
 , selenium
 , six
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest selenium ];
-  propagatedBuildInputs = [ jinja2 six ];
+  propagatedBuildInputs = [ jinja2 six setuptools ];
 
   # Seems to require a browser
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/breathe/default.nix b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
index 9a4a26e18b03..d2b19ae8650f 100644
--- a/nixpkgs/pkgs/development/python-modules/breathe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
@@ -1,12 +1,13 @@
-{ lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k }:
+{ lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k, isPy27 }:
 
 buildPythonPackage rec {
-  version = "4.13.0";
+  version = "4.14.0";
   pname = "breathe";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08xs1cqpvcv7735j19c35br34gbwzfn89rkg12n2yfz4af0x3xfp";
+    sha256 = "178848e4088faf8c2c60f000379fcabfb3411b260e0fbddc08fb57e0e5caea08";
   };
 
   propagatedBuildInputs = [ docutils six sphinx ];
diff --git a/nixpkgs/pkgs/development/python-modules/broadlink/default.nix b/nixpkgs/pkgs/development/python-modules/broadlink/default.nix
index 4633cb1ecfbf..99d7641c07eb 100644
--- a/nixpkgs/pkgs/development/python-modules/broadlink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/broadlink/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchPypi, buildPythonPackage
-, pyaes, pycrc }:
+, cryptography, pyaes, pycrc }:
 
 buildPythonPackage rec {
   pname = "broadlink";
-  version = "0.9";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10dnd859yjh1h6qrxhvkslbsj5fh5g654xsq2yqblkkv3xd711rs";
+    sha256 = "6448327f8f1cd0c103971a724a3e60629ccb5e8c302e7fdcbde6464e8edef2d8";
   };
 
   postPatch = ''
@@ -15,7 +15,7 @@ buildPythonPackage rec {
       --replace pyaes==1.6.0 pyaes
     '';
 
-  propagatedBuildInputs = [ pyaes pycrc ];
+  propagatedBuildInputs = [ cryptography pyaes pycrc ];
 
   # no tests available
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
index 807dafab4369..13eea3e21fd4 100644
--- a/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchPypi, buildPythonPackage, isPy3k, keyring, pbkdf2, pyaes}:
 buildPythonPackage rec {
   pname = "browser-cookie3";
-  version = "0.7.6";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f24hsclg1wz2i8aiam91l06qqy0plxhwl615l4qkg35mbw4ry7h";
+    sha256 = "42e73e0276083ff162080860cd039138760921a56a0f316775cecee37d444c3f";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/btrees/default.nix b/nixpkgs/pkgs/development/python-modules/btrees/default.nix
index 828e243af9c2..4b17b5046aa4 100644
--- a/nixpkgs/pkgs/development/python-modules/btrees/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix b/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
index 74df8a6b628f..190598942c72 100644
--- a/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
@@ -1,31 +1,31 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, mock, unittest2, nose
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, setuptools
 , twiggy, requests, offtrac, bugzilla, taskw, dateutil, pytz, keyring, six
-, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future }:
+, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future, jira }:
 
 buildPythonPackage rec {
   pname = "bugwarrior";
   version = "1.7.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "1pmznka5dxcdjfak0p1yh7lhfbfazmx8g9ysv57lsrkqy4n61qks";
   };
 
-  buildInputs = [ mock unittest2 nose /* jira megaplan */ ];
   propagatedBuildInputs = [
+    setuptools
     twiggy requests offtrac bugzilla taskw dateutil pytz keyring six
-    jinja2 pycurl dogpile_cache lockfile click pyxdg future
+    jinja2 pycurl dogpile_cache lockfile click pyxdg future jira
   ];
 
-  # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite.
+  # for the moment oauth2client <4.0.0 and megaplan>=1.4 are missing for running the test suite.
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage =  https://github.com/ralphbean/bugwarrior;
+    homepage = https://github.com/ralphbean/bugwarrior;
     description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pierron ];
+    maintainers = with maintainers; [ pierron yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bugz/default.nix b/nixpkgs/pkgs/development/python-modules/bugz/default.nix
index 57ec37285744..abfde52ef5f7 100644
--- a/nixpkgs/pkgs/development/python-modules/bugz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugz/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.liquidx.net/pybugz/;
+    homepage = "https://github.com/williamh/pybugz";
     description = "Command line interface for Bugzilla";
     license = licenses.gpl2;
     maintainers = [ maintainers.costrouc ];
diff --git a/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix b/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
index 52d42b7a263d..a342ac999433 100644
--- a/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "bugzilla";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     pname = "python-${pname}";
     inherit version;
-    sha256 = "0x3jjb1g5bgjdj0jf0jmcg80hn5x2isf49frwvf2ykdl3fxd5gxc";
+    sha256 = "0q8c3k0kdnd11g2s56cp8va9365x0xfr2m2zn9fgxjijdyhwdic5";
   };
 
   buildInputs = [ pep8 coverage logilab_common ];
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
index c19fc280c7f6..e627667f3ec2 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
+{ stdenv, lib, buildPythonPackage, fetchPypi, fetchpatch, makeWrapper, isPy3k,
   python, twisted, jinja2, zope_interface, future, sqlalchemy,
   sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
   txrequests, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial,
-  isort, pylint, flake8, buildbot-worker, buildbot-pkg, parameterized,
-  git, glibcLocales }:
+  isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
+  parameterized, git, openssh, glibcLocales }:
 
 let
   withPlugins = plugins: buildPythonPackage {
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.4.0";
+    version = "2.5.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "141ad2g1j5y0n5cdnd18m55ss0gqjlz5ky85rb6qfn73dgw42vmz";
+      sha256 = "13ddpcbndb22zlg9gjsf2pbgad45g1w5cg4a3z83085fkgnib7sr";
     };
 
     propagatedBuildInputs = [
@@ -44,10 +44,9 @@ let
       autobahn
       pyjwt
       pyyaml
-
+    ]
       # tls
-      twisted.extras.tls
-    ];
+      ++ twisted.extras.tls;
 
     checkInputs = [
       treq
@@ -63,8 +62,10 @@ let
       flake8
       buildbot-worker
       buildbot-pkg
+      buildbot-plugins.www
       parameterized
       git
+      openssh
       glibcLocales
     ];
 
@@ -93,7 +94,7 @@ let
     };
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix b/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
index dababe48e996..ff2be45bf32a 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
@@ -1,12 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0na336jwibgbix8fr4jki1gqys44kkm0a8q32llcr2z08igs4mvy";
+    sha256 = "1g87pddsyas1r0f6z29047cwnz7ds4925f6n9g7b0pkj3k73ci06";
   };
 
   postPatch = ''
@@ -15,8 +15,10 @@ buildPythonPackage rec {
     substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
   '';
 
+  disabled = !isPy3k;
+
   meta = with lib; {
-    homepage = http://buildbot.net/;
+    homepage = "https://buildbot.net/";
     description = "Buildbot Packaging Helper";
     maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix b/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
index e31085a24988..8722a6629e49 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg, mock }:
+{ lib, buildPythonPackage, fetchPypi, buildbot-pkg, mock }:
 
 {
   www = buildPythonPackage rec {
@@ -7,13 +7,23 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0g3m5z8yska245r1x9n85b4br8b63i4zca2qn3qspf62b1wzmxmd";
+      sha256 = "00k5dbcwzqlyk4lcp5qh1q8xbrxmg9gzqs7vl2r6f3wxi4ydb5nw";
     };
 
-    buildInputs = [ buildbot buildbot-pkg mock ];
+    # Remove unneccessary circular dependency on buildbot
+    postPatch = ''
+      sed -i setup.py \
+        -e "/import buildbot/d" \
+        -e "s/'buildbot',//"
+    '';
+
+    buildInputs = [ buildbot-pkg mock ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot UI";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -26,14 +36,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0p7az9mb09c4bl0j37w28wflzygq9vy8rjbbnhlfbs6py6mjdagr";
+      sha256 = "0ai334y779jwqabrn2yjma41pw0a9k1qy7v68qbjd22n4my227ma";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Console View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -46,14 +58,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0ba0a7q7ii7sipvifxs9ldkcs4b975skndarmirbphc797993hj1";
+      sha256 = "1j450hwvg729mivzijbrx8ngalx56qvrx8mwwgy8arfwpnyfkr9l";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Waterfall View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -66,14 +80,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0dvchhjzmfbbrxqm8dlmwck22z99pgnflxk3cyn0wbb1qskhd9cv";
+      sha256 = "19w8is5s7d7l60mlchh1zd9nidpkswi8fivfa36b97plibn0jgw1";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Grid View Plugin";
       maintainers = with maintainers; [ nand0p lopsided98 ];
       license = licenses.gpl2;
@@ -86,14 +102,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0w9p3y89rqsmqiacwj2avir42r0xjr2yri14v3ay6yar5391r8wa";
+      sha256 = "1zl7y08rkw7bya6cli44msvcdgirsyfg3kxpf2z82vwgc6bwi785";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot WSGI dashboards Plugin";
       maintainers = with maintainers; [ lopsided98 ];
       license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix b/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
index 8cfc56678c02..048fb44a93bc 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04dk1jg0yq0rcm7j7pn7l1pqqjhiyvwppnhc1b7106sx2cdj2yb2";
+    sha256 = "1kpj85x8xflrccvy840v9bl3q1j63rk9kahj1qirbai1fxwvzbik";
   };
 
   propagatedBuildInputs = [ twisted future ];
@@ -20,7 +20,7 @@ buildPythonPackage (rec {
   '';
 
   meta = with lib; {
-    homepage = http://buildbot.net/;
+    homepage = "https://buildbot.net/";
     description = "Buildbot Worker Daemon";
     maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/buildout-nix/default.nix b/nixpkgs/pkgs/development/python-modules/buildout-nix/default.nix
index 70dd13cf3b40..c33006377df0 100644
--- a/nixpkgs/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildout-nix/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.13.1";
+  version = "2.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484";
+    sha256 = "5dd4de86dda684c46ef8ee9cc84e335ca7f6275d4363a684de82225270d1e328";
   };
 
   patches = [ ./nix.patch ];
diff --git a/nixpkgs/pkgs/development/python-modules/bumps/default.nix b/nixpkgs/pkgs/development/python-modules/bumps/default.nix
index d8fc3d992352..05506a12db00 100644
--- a/nixpkgs/pkgs/development/python-modules/bumps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bumps/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "bumps";
-  version = "0.7.11";
+  version = "0.7.13";
 
   propagatedBuildInputs = [six];
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16d24a7f965592d9b02f96e68e6aa70d6fb59abe4db37bb14c4b60c509a3c2ef";
+    sha256 = "fdcf335b800d892edfdbc87fdd539cb45166d8667edbec3dfbb1a3b5c3a35547";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/bx-python/default.nix b/nixpkgs/pkgs/development/python-modules/bx-python/default.nix
new file mode 100644
index 000000000000..57a3609bad0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bx-python/default.nix
@@ -0,0 +1,39 @@
+{ lib, fetchFromGitHub, buildPythonPackage, isPy27, numpy, cython, zlib, six
+, python-lzo, nose }:
+
+buildPythonPackage rec {
+  pname = "bx-python";
+  version = "0.8.6";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "bxlab";
+    repo = "bx-python";
+    rev = "v${version}";
+    sha256 = "1i40vmn8n83vqcpqj843riv9vp16s753jc4wc90p0cmrnhmzcv13";
+  };
+
+  nativeBuildInputs = [ cython ];
+  buildInputs = [ zlib ];
+  propagatedBuildInputs = [ numpy six python-lzo ];
+  checkInputs = [ nose ];
+
+  postInstall = ''
+    cp -r scripts/* $out/bin
+
+    # This is a small hack; the test suit uses the scripts which need to
+    # be patched. Linking the patched scripts in $out back to the
+    # working directory allows the tests to run
+    rm -rf scripts
+    ln -s $out/bin scripts
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/bxlab/bx-python";
+    description =
+      "Tools for manipulating biological data, particularly multiple sequence alignments";
+    license = licenses.mit;
+    maintainers = [ maintainers.jbedo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cachecontrol/default.nix b/nixpkgs/pkgs/development/python-modules/cachecontrol/default.nix
index 7fedf8c5461b..693646c80a4d 100644
--- a/nixpkgs/pkgs/development/python-modules/cachecontrol/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cachecontrol/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.12.5";
+  version = "0.12.6";
   pname = "CacheControl";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cef77effdf51b43178f6a2d3b787e3734f98ade253fa3187f3bb7315aaa42ff7";
+    sha256 = "be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/cachetools/default.nix b/nixpkgs/pkgs/development/python-modules/cachetools/default.nix
index 51bf0e753a91..30f0d9132bb1 100644
--- a/nixpkgs/pkgs/development/python-modules/cachetools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cachetools/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27 }:
 
 buildPythonPackage rec {
   pname = "cachetools";
-  version = "3.1.1";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a";
+    sha256 = "9a52dd97a85f257f4e4127f15818e71a0c7899f121b34591fcc1173ea79a0198";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cachy/default.nix b/nixpkgs/pkgs/development/python-modules/cachy/default.nix
index 029a18644846..e66bef51d03c 100644
--- a/nixpkgs/pkgs/development/python-modules/cachy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cachy/default.nix
@@ -1,22 +1,22 @@
 { lib, buildPythonPackage, fetchPypi
 , redis
 , memcached
-, msgpack-python
+, msgpack
 }:
 
 buildPythonPackage rec {
   pname = "cachy";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v6mjyhgx6j7ya20bk69cr3gdzdkdf6psay0h090rscclgji65dp";
+    sha256 = "186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1";
   };
 
   propagatedBuildInputs = [
     redis
     memcached
-    msgpack-python
+    msgpack
   ];
 
   # The Pypi tarball doesn't include tests, and the GitHub source isn't
diff --git a/nixpkgs/pkgs/development/python-modules/cadquery/default.nix b/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
new file mode 100644
index 000000000000..6f3632f743be
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cairosvg/default.nix b/nixpkgs/pkgs/development/python-modules/cairosvg/default.nix
index beee82950496..77c5c21befee 100644
--- a/nixpkgs/pkgs/development/python-modules/cairosvg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cairosvg/default.nix
@@ -4,24 +4,15 @@
 
 buildPythonPackage rec {
   pname = "CairoSVG";
-  version = "2.3.0";
+  version = "2.4.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "66f333ef5dc79fdfbd3bbe98adc791b1f854e0461067d202fa7b15de66d517ec";
+    sha256 = "1bb7irxbaxxb9ahm3z5wsx1q96mm5gzskc7b6q07h9ikcnb8yrjf";
   };
 
-  patches = [
-    # fix isort-check
-    (fetchpatch {
-      url = https://github.com/Kozea/CairoSVG/commit/b2534b0fc80b9f24a2bff2c938ac5da73ff1e478.patch;
-      excludes = [ "test_non_regression/__init__.py" ];
-      sha256 = "1bms75dd0fd978yhlr0k565zq45lzxf0vkihryb7gcwnd42bl6yf";
-    })
-  ];
-
   propagatedBuildInputs = [ cairocffi cssselect2 defusedxml pillow tinycss2 ];
 
   checkInputs = [ pytest pytestrunner pytestcov pytest-flake8 pytest-isort ];
diff --git a/nixpkgs/pkgs/development/python-modules/caldav/default.nix b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
index 653296a927e8..895775eb87f5 100644
--- a/nixpkgs/pkgs/development/python-modules/caldav/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "0.6.1";
+  version = "0.6.2";
 
   propagatedBuildInputs = [ tzlocal requests vobject lxml nose ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eddb7f4e6a3eb5f02eaa2227817a53ac4372d4c4d51876536f4c6f00282f569e";
+    sha256 = "80c33b143539da3a471148ac89512f67d9df3a5286fae5a023e2ad3923246c0d";
   };
 
   meta = with lib; {
@@ -17,5 +17,6 @@ buildPythonPackage rec {
     homepage = "https://pythonhosted.org/caldav/";
     license = licenses.asl20;
     maintainers = with maintainers; [ marenz ];
+    broken = true; # missing xandikos package
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/can/default.nix b/nixpkgs/pkgs/development/python-modules/can/default.nix
index b87e526dc452..b9d2b4b7751a 100644
--- a/nixpkgs/pkgs/development/python-modules/can/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/can/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "python-can";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1giv9s6w90lalxsijgnxzynygkckcfyaxnxsldbwv0784vwy1jcd";
+    sha256 = "5fefb5c1e7e7f07faefc02c6eac79f9b58376f007048a04d8e7f325d48ec6b2e";
   };
 
   propagatedBuildInputs = [ wrapt pyserial aenum ] ++ lib.optional (pythonOlder "3.5") typing;
diff --git a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
index a6c3f485d74b..004669d605b5 100644
--- a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "canmatrix";
-  version = "0.7";
+  version = "0.8";
 
   # uses fetchFromGitHub as PyPi release misses test/ dir
   src = fetchFromGitHub {
     owner = "ebroecker";
     repo = pname;
     rev = version;
-    sha256 = "0q8qb282nfgirl8r2i9c8whm3hvr14ig2r42ssgnv2hya971cwjq";
+    sha256 = "1wzflapyj2j4xsi7d7gfmznmxbgr658n092xyq9nac46rbhpcphg";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/capstone/default.nix b/nixpkgs/pkgs/development/python-modules/capstone/default.nix
index 2bd22ebf0d9b..035632f9cf25 100644
--- a/nixpkgs/pkgs/development/python-modules/capstone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/capstone/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -17,6 +18,8 @@ buildPythonPackage rec {
     sha256 = "3c0f73db9f8392f7048c8a244809f154d7c39f354e2167f6c477630aa517ed04";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   patches = [
     (fetchpatch {
       stripLen = 2;
diff --git a/nixpkgs/pkgs/development/python-modules/carbon/default.nix b/nixpkgs/pkgs/development/python-modules/carbon/default.nix
index 3b49289c2e48..c471240c87ad 100644
--- a/nixpkgs/pkgs/development/python-modules/carbon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cartopy/default.nix b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
index 117b6fed5971..a3f90b3282ae 100644
--- a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
@@ -1,5 +1,5 @@
 { buildPythonPackage, lib, fetchPypi
-, pytest, filelock, mock, pep8
+, pytest_4, filelock, mock, pep8
 , cython, isPy27
 , six, pyshp, shapely, geos, numpy
 , gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "0q9ckfi37cxj7jwnqnzij62vwcf4krccx576vv5lhvpgvplxjjs2";
   };
 
-  checkInputs = [ filelock mock pytest pep8 ];
+  checkInputs = [ filelock mock pytest_4 pep8 ];
 
   # several tests require network connectivity: we disable them.
   # also py2.7's tk is over-eager in trying to open an x display,
diff --git a/nixpkgs/pkgs/development/python-modules/casbin/default.nix b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
new file mode 100644
index 000000000000..114625c397ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, simpleeval
+, isPy27
+, coveralls
+}:
+
+buildPythonPackage rec {
+  pname = "casbin";
+  version = "0.8.3";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = "pycasbin";
+    rev = "v${version}";
+    sha256 = "1s89m62933m4wprsknwhabgg7irykrcimv80hh2zkyyslz5vbq71";
+  };
+
+  propagatedBuildInputs = [
+    simpleeval
+  ];
+
+  checkInputs = [
+    coveralls
+  ];
+
+  checkPhase = ''
+    coverage run -m unittest discover -s tests -t tests
+  '';
+
+  meta = with lib; {
+    description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python";
+    homepage = https://github.com/casbin/pycasbin;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
index b5ee3b3b7805..6fe80e16e129 100644
--- a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -1,70 +1,46 @@
-{ stdenv
-, libev
-, buildPythonPackage
-, fetchPypi
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder
 , cython
-, futures
-, six
-, python
-, scales
 , eventlet
-, twisted
+, futures
+, libev
 , mock
-, gevent
 , nose
+, pytest
 , pytz
 , pyyaml
+, scales
+, six
 , sure
-, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.18.0";
+  version = "3.20.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w9a7fdl626m977cjj9zclh4a0mr3s4q9jpwm1fsmpi7v3gbribi";
+    sha256 = "03nycyn5nd1pnrg6fffq3wcjqnw13lgja137zq5zszx68mc15wnl";
   };
 
-  buildInputs = [
-    libev
-  ];
-
-  nativeBuildInputs = [
-    # NOTE: next version will work with cython 0.29
-    # Requires 'Cython!=0.25,<0.29,>=0.20'
-    (cython.overridePythonAttrs(old: rec {
-      pname = "Cython";
-      version = "0.28.3";
-      src = fetchPypi {
-        inherit pname version;
-        sha256 = "1aae6d6e9858888144cea147eb5e677830f45faaff3d305d77378c3cba55f526";
-      };
-    }))
-  ];
-
+  nativeBuildInputs = [ cython ];
+  buildInputs = [ libev ];
   propagatedBuildInputs = [ six ]
-    ++ stdenv.lib.optionals (pythonOlder "3.4") [ futures ];
+    ++ lib.optionals (pythonOlder "3.4") [ futures ];
 
-  postPatch = ''
-    sed -i "s/<=1.0.1//" setup.py
-  '';
+  checkInputs = [ eventlet mock nose pytest pytz pyyaml sure ];
 
+  # ignore test files which try to do socket.getprotocolname('tcp')
+  # as it fails in sandbox mode due to lack of a /etc/protocols file
   checkPhase = ''
-    ${python.interpreter} setup.py gevent_nosetests
-    ${python.interpreter} setup.py eventlet_nosetests
+    pytest tests/unit \
+      --ignore=tests/unit/io/test_libevreactor.py \
+      --ignore=tests/unit/io/test_eventletreactor.py \
+      --ignore=tests/unit/io/test_asyncorereactor.py
   '';
 
-  checkInputs = [ scales eventlet twisted mock gevent nose pytz pyyaml sure ];
-
-  # Could not get tests running
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    homepage = http://datastax.github.io/python-driver/;
+  meta = with lib; {
     description = "A Python client driver for Apache Cassandra";
+    homepage = "http://datastax.github.io/python-driver";
     license = licenses.asl20;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
new file mode 100644
index 000000000000..ad6958e644b5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, importlib-metadata
+}:
+
+buildPythonPackage rec {
+  pname = "catalogue";
+  version = "0.0.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c407a51c22f51b0f938104b6396c489145bae234386e68eb1d56326c3b3e128e";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/cchardet/default.nix b/nixpkgs/pkgs/development/python-modules/cchardet/default.nix
index 5596b3e37e59..1fb506682baf 100644
--- a/nixpkgs/pkgs/development/python-modules/cchardet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/celery/default.nix b/nixpkgs/pkgs/development/python-modules/celery/default.nix
index 19eaeaf8d827..4522379fa64a 100644
--- a/nixpkgs/pkgs/development/python-modules/celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c4532aa683f170f40bd76f928b70bc06ff171a959e06e71bf35f2f9d6031ef9";
+    sha256 = "d3363bb5df72d74420986a435449f3c3979285941dff57d5d97ecba352a0e3e2";
   };
 
   postPatch = ''
@@ -19,9 +19,11 @@ buildPythonPackage rec {
 
   # ignore test that's incompatible with pytest5
   # test_eventlet touches network
+  # test_mongodb requires pymongo
   checkPhase = ''
-    pytest -k 'not restore_current_app_fallback' \
-      --ignore=t/unit/concurrency/test_eventlet.py
+    pytest -k 'not restore_current_app_fallback and not msgpack' \
+      --ignore=t/unit/concurrency/test_eventlet.py \
+      --ignore=t/unit/backends/test_mongodb.py
   '';
 
   checkInputs = [ case pytest boto3 moto ];
diff --git a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
index 81f6ef1e8371..5218a55078db 100644
--- a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
@@ -2,15 +2,19 @@
 
 buildPythonPackage rec {
   pname = "Cerberus";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875";
+    sha256 = "12cm547hpypqd7bwcl4wr4w6varibc1dagzicg5qbp86yaa6cbih";
   };
 
   checkInputs = [ pytestrunner pytest ];
 
+  checkPhase = ''
+    pytest -k 'not nested_oneofs'
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://python-cerberus.org/;
     description = "Lightweight, extensible schema and data validation tool for Python dictionaries";
diff --git a/nixpkgs/pkgs/development/python-modules/certifi/default.nix b/nixpkgs/pkgs/development/python-modules/certifi/default.nix
index 935c0d600613..7ffc50ea5206 100644
--- a/nixpkgs/pkgs/development/python-modules/certifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certifi/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "certifi";
-  version = "2019.6.16";
+  version = "2019.11.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695";
+    sha256 = "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/certipy/default.nix b/nixpkgs/pkgs/development/python-modules/certipy/default.nix
new file mode 100644
index 000000000000..ce96bce5bc7e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/certipy/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  pname = "certipy";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n980gqpzh0fm58h3i4mi2i10wgj606lscm1r5sk60vbf6vh8mv9";
+  };
+
+  propagatedBuildInputs = [ pyopenssl ];
+  
+  doCheck = false; #no tests were included
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/LLNL/certipy;
+    description = "wrapper for pyOpenSSL";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ isgy ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cffi/default.nix b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
index cfabeb16b593..b05aeebf9d4d 100644
--- a/nixpkgs/pkgs/development/python-modules/cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.12.3";
+  version = "1.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774";
+    sha256 = "599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346";
   };
 
   outputs = [ "out" "dev" ];
@@ -29,7 +29,8 @@ if isPyPy then null else buildPythonPackage rec {
   '';
 
   # The tests use -Werror but with python3.6 clang detects some unreachable code.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isClang [ "-Wno-unused-command-line-argument" "-Wno-unreachable-code" ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang
+    "-Wno-unused-command-line-argument -Wno-unreachable-code";
 
   doCheck = !stdenv.hostPlatform.isMusl && !stdenv.isDarwin; # TODO: Investigate
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
index d6205b27687d..7b1ef63767d9 100644
--- a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
@@ -1,22 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , pyyaml
 , six
 , requests
 , aws-sam-translator
+, importlib-metadata
+, importlib-resources
 , jsonpatch
 , jsonschema
 , pathlib2
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.19.1";
+  version = "0.26.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a723ff791fc23aced78e9cde28f18f9eeae9a24f91db2b7a20f7aa837a613b3";
+    sha256 = "5449313b5f176024bd5fd6ebe69ce986a2d9b8a9d6a147b2d442c8d9fa99a6c5";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +31,8 @@ buildPythonPackage rec {
     jsonpatch
     jsonschema
     pathlib2
-  ];
+    setuptools
+  ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata importlib-resources ];
 
   # No tests included in archive
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/cftime/default.nix b/nixpkgs/pkgs/development/python-modules/cftime/default.nix
index d4f59d417714..5046017a94d3 100644
--- a/nixpkgs/pkgs/development/python-modules/cftime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cftime/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cftime";
-  version = "1.0.3.4";
+  version = "1.0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x";
+    sha256 = "1ac64f8f9066ea756ea27d67cedaf064e7c866275218fa7c84684066a5890f70";
   };
 
   checkInputs = [ pytest coveralls pytestcov ];
diff --git a/nixpkgs/pkgs/development/python-modules/cgen/default.nix b/nixpkgs/pkgs/development/python-modules/cgen/default.nix
index e0317249fe9f..f6cf985349b9 100644
--- a/nixpkgs/pkgs/development/python-modules/cgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cgen/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "cgen";
-  version = "2017.1";
+  version = "2019.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a04525d51ee975d37d590d6d82bf80a46e77f75187cccfd2248a89616a778795";
+    sha256 = "04gxzfjy2f9qsg3scg1sx4q4rhw5p036dyqngxyfsai0wvj5ya6m";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/chainer/default.nix b/nixpkgs/pkgs/development/python-modules/chainer/default.nix
index 42e24dedba29..9585004a89a9 100644
--- a/nixpkgs/pkgs/development/python-modules/chainer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chainer/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, lib
-, buildPythonPackage, fetchPypi, isPy3k
-, filelock, protobuf, numpy, pytest, mock
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, filelock, protobuf, numpy, pytest, mock, typing-extensions
 , cupy, cudaSupport ? false
 }:
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "5.2.0";
+  version = "6.5.0";
+  disabled = !isPy3k; # python2.7 abandoned upstream
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cc8390a7f445a14a1bc71d54de348be247158fe2813a5ef11c5046265001c8c4";
+  # no tests in Pypi tarball
+  src = fetchFromGitHub {
+    owner = "chainer";
+    repo = "chainer";
+    rev = "v${version}";
+    sha256 = "0ha9fbl6sa3fbnsz3y1pg335iiskdbxw838m5j06zgzy156zna1x";
   };
 
+  # remove on 7.0 or 6.6 release
+  postPatch = ''
+    sed -i '/typing/d' setup.py
+  '';
+
   checkInputs = [
     pytest
     mock
@@ -22,12 +30,15 @@ buildPythonPackage rec {
     filelock
     protobuf
     numpy
+    typing-extensions
   ] ++ lib.optionals cudaSupport [ cupy ];
 
-  # In python3, test was failed...
-  doCheck = !isPy3k;
+  # avoid gpu tests
+  checkPhase = ''
+    pytest tests/chainer_tests/utils_tests -k 'not gpu and not cupy'
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A flexible framework of neural networks for deep learning";
     homepage = https://chainer.org/;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/chalice/default.nix b/nixpkgs/pkgs/development/python-modules/chalice/default.nix
index 19aaf3368e5d..d354c5239496 100644
--- a/nixpkgs/pkgs/development/python-modules/chalice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chalice/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonPackage rec {
   pname = "chalice";
-  version = "1.7.0";
+  version = "1.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "98a1237bf77f18761d8f964cb3c3b794e2d377a261b5e1640268608ec94336fa";
+    sha256 = "f8f929f26df77285a202fb93174400230f8912c5b9c1fb061c7836a78413e325";
   };
 
   checkInputs = [ watchdog pytest hypothesis mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/channels-redis/default.nix b/nixpkgs/pkgs/development/python-modules/channels-redis/default.nix
new file mode 100644
index 000000000000..8812e4097ab8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/channels-redis/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, redis, channels, msgpack, aioredis, hiredis, asgiref
+# , fetchFromGitHub, async_generator, async-timeout, cryptography, pytest, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "channels-redis";
+  version = "2.4.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "channels_redis";
+    sha256 = "1g4izdf8237pwxn85bv5igc2bajrvck1p2a7q448qmjfznrbrk5p";
+  };
+
+  buildInputs = [ redis hiredis ];
+
+  propagatedBuildInputs = [ channels msgpack aioredis asgiref ];
+
+  # Fetch from github (no tests files on pypi)
+  # src = fetchFromGitHub {
+  #   rev = version;
+  #   owner = "django";
+  #   repo = "channels_redis";
+  #   sha256 = "05niaqjv790mnrvca26kbnvb50fgnk2zh0k4np60cn6ilp4nl0kc";
+  # };
+  #
+  # checkInputs = [
+  #   async_generator
+  #   async-timeout
+  #   cryptography
+  #   pytest
+  #   pytest-asyncio
+  # ];
+  # 
+  # # Fails with : ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 6379)
+  # # (even with a local redis instance running)
+  # checkPhase = ''
+  #   pytest -p no:django tests/
+  # '';
+
+  postPatch = ''
+    sed -i "s/msgpack~=0.6.0/msgpack/" setup.py
+    sed -i "s/aioredis~=1.0/aioredis/" setup.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/django/channels_redis/;
+    description = "Redis-backed ASGI channel layer implementation";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/channels/default.nix b/nixpkgs/pkgs/development/python-modules/channels/default.nix
index a3b7e54c57a5..b7c83b3b3ffe 100644
--- a/nixpkgs/pkgs/development/python-modules/channels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/channels/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "channels";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "af7cdba9efb3f55b939917d1b15defb5d40259936013e60660e5e9aff98db4c5";
+    sha256 = "08e756406d7165cb32f6fc3090c0643f41ca9f7e0f7fada0b31194662f20f414";
   };
 
   # Files are missing in the distribution
diff --git a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
new file mode 100644
index 000000000000..0eed42dc286e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
@@ -0,0 +1,44 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, mock
+, nose
+, plotly
+, pytest
+, requests
+, retrying
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "chart-studio";
+  version = "1.0.0";
+
+  # chart-studio was split from plotly
+  src = fetchFromGitHub {
+    owner = "plotly";
+    repo = "plotly.py";
+    rev = "${pname}-v${version}";
+    sha256 = "14lyqbjdffnlnkzlfnn60k7yxjd99vx3hfcs23apsiyinzipjlbf";
+  };
+
+  sourceRoot = "source/packages/python/chart-studio";
+
+  propagatedBuildInputs = [
+    plotly
+    requests
+    retrying
+    six
+  ];
+
+  checkInputs = [ mock nose pytest ];
+  # most tests talk to a service
+  checkPhase = ''
+    HOME=$TMPDIR pytest chart_studio/tests/test_core chart_studio/tests/test_plot_ly/test_api
+  '';
+
+  meta = with lib; {
+    description = "Utilities for interfacing with Plotly's Chart Studio service";
+    homepage = "https://github.com/plotly/plotly.py/tree/master/packages/python/chart-studio";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/check-manifest/default.nix b/nixpkgs/pkgs/development/python-modules/check-manifest/default.nix
index 1feec7ed828d..eaae8f3d0998 100644
--- a/nixpkgs/pkgs/development/python-modules/check-manifest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/check-manifest/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, toml }:
 
 buildPythonPackage rec {
   pname = "check-manifest";
-  version = "0.37";
+  version = "0.40";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44e3cf4b0833a55460046bf7a3600eaadbcae5e9d13baf0c9d9789dd5c2c6452";
+    sha256 = "42de6eaab4ed149e60c9b367ada54f01a3b1e4d6846784f9b9710e770ff5572c";
   };
 
+  propagatedBuildInputs = [ toml ];
+
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
index 9b3050942a88..971d8848b37f 100644
--- a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast
+{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast, isPy3k
 , more-itertools, six, setuptools_scm, setuptools-scm-git-archive
 , pytest, pytestcov, portend, pytest-testmon, pytest-mock
 , backports_unittest-mock, pyopenssl, requests, trustme, requests-unixsocket
@@ -8,15 +8,15 @@ let inherit (stdenv) lib; in
 
 buildPythonPackage rec {
   pname = "cheroot";
-  version = "6.5.6";
+  version = "8.2.1";
+
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b824f9961eb447809badeb051820a05770354e2f9ae5c355eecc21f22633c217";
+    sha256 = "5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff";
   };
 
-  patches = [ ./tests.patch ];
-
   nativeBuildInputs = [ setuptools_scm setuptools-scm-git-archive ];
 
   propagatedBuildInputs = [ more-itertools six backports_functools_lru_cache ];
diff --git a/nixpkgs/pkgs/development/python-modules/cheroot/tests.patch b/nixpkgs/pkgs/development/python-modules/cheroot/tests.patch
deleted file mode 100644
index 3de48a5a4684..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cheroot/tests.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/cheroot/test/test_ssl.py b/cheroot/test/test_ssl.py
-index fe8a0a0..92a77c1 100644
---- a/cheroot/test/test_ssl.py
-+++ b/cheroot/test/test_ssl.py
-@@ -316,11 +316,9 @@ def test_tls_client_auth(
-         expected_ssl_errors = (
-             requests.exceptions.SSLError,
-             OpenSSL.SSL.Error,
--        ) if PY34 else (
--            requests.exceptions.SSLError,
-+            requests.exceptions.ConnectionError,
-         )
--        if IS_WINDOWS:
--            expected_ssl_errors += requests.exceptions.ConnectionError,
-+
-         with pytest.raises(expected_ssl_errors) as ssl_err:
-             make_https_request()
- 
-@@ -335,7 +333,7 @@ def test_tls_client_auth(
-         except AttributeError:
-             if PY34:
-                 pytest.xfail('OpenSSL behaves wierdly under Python 3.4')
--            elif six.PY3 and IS_WINDOWS:
-+            elif six.PY3:
-                 err_text = str(ssl_err.value)
-             else:
-                 raise
-@@ -348,8 +346,7 @@ def test_tls_client_auth(
-             if IS_MACOS and IS_PYPY and adapter_type == 'pyopenssl':
-                 expected_substrings = ('tlsv1 alert unknown ca', )
-             if (
--                    IS_WINDOWS
--                    and tls_verify_mode in (
-+                    tls_verify_mode in (
-                         ssl.CERT_REQUIRED,
-                         ssl.CERT_OPTIONAL,
-                     )
-@@ -361,6 +358,7 @@ def test_tls_client_auth(
-                     "SysCallError(10054, 'WSAECONNRESET')",
-                     "('Connection aborted.', "
-                     'OSError("(10054, \'WSAECONNRESET\')"))',
-+                    'OSError("(104, \'ECONNRESET\')"))',
-                 )
-         assert any(e in err_text for e in expected_substrings)
- 
diff --git a/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
index 6941e1117bdc..17531f1406d1 100644
--- a/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
@@ -7,29 +7,24 @@
 
 buildPythonPackage rec {
   pname = "cherrypy";
-  version = "18.1.2";
+  version = "18.3.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     pname = "CherryPy";
     inherit version;
-    sha256 = "1w3hpsg7q8shdmscmbqk00w90lcw3brary7wl1a56k5h7nx33pj8";
+    sha256 = "0q6cs4vrv0rwim4byxfizrlp4h6hmwg3n4baz0ga66vvgiz6hgk8";
   };
 
-  # Remove patches once 96b34df and 14c12d2
+  # Remove patches once 88d2163 and 713f672
   # become part of a release - they're currently only present in master.
-  # ref: https://github.com/cherrypy/cherrypy/pull/1791
+  # ref: https://github.com/cherrypy/cherrypy/pull/1820
   patches = [
     (fetchpatch {
-      name = "pytest5-1.patch";
-      url = "https://github.com/cherrypy/cherrypy/commit/96b34dfea7853b0189bc0a3878b6ddff0d4e505c.patch";
-      sha256 = "0zy53mahffgkpd844118b42lsk5lkjmig70d60x1i46w6gnr61mi";
-    })
-    (fetchpatch {
-      name = "pytest5-2.patch";
-      url = "https://github.com/cherrypy/cherrypy/commit/14c12d2420a4b3765bb241250bd186e93b2f25eb.patch";
-      sha256 = "0ihcz7b5myn923rq5665b98pz52hnf6fcys2y2inf23r3i07scyz";
+      name = "test_HTTP11_Timeout.patch";
+      url = "https://github.com/cherrypy/cherrypy/commit/88d21630f68090c56d07000cabb6df4f1b612a71.patch";
+      sha256 = "1i6a3qs3ijyd9rgsxb8axigkzdlmr5sl3ljif9rvn0d90211bzwh";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix b/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix
new file mode 100644
index 000000000000..599f91f2d070
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, click
+, ecdsa
+, hidapi
+, lib
+, fetchPypi
+, pytest
+, pyaes
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "ckcc-protocol";
+  version = "0.8.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mbs9l8qycy50j5lq6az7l5d8i40nb0vmlyhcyax298qp6c1r1gh";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [ click ecdsa hidapi pyaes ];
+
+  meta = with stdenv.lib; {
+    description = "Communicate with your Coldcard using Python";
+    homepage = https://github.com/Coldcard/ckcc-protocol;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.hkjn ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cld2-cffi/default.nix b/nixpkgs/pkgs/development/python-modules/cld2-cffi/default.nix
index a38d4c0866e0..7775fee5ba0d 100644
--- a/nixpkgs/pkgs/development/python-modules/cld2-cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cld2-cffi/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   checkInputs = [ nose ];
 
   # gcc doesn't approve of this code, so disable -Werror
-  NIX_CFLAGS_COMPILE = [ "-w" ] ++ stdenv.lib.optional stdenv.cc.isClang "-Wno-error=c++11-narrowing";
+  NIX_CFLAGS_COMPILE = "-w" + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=c++11-narrowing";
 
   checkPhase = "nosetests -v";
 
diff --git a/nixpkgs/pkgs/development/python-modules/cleo/default.nix b/nixpkgs/pkgs/development/python-modules/cleo/default.nix
index 146779082e4a..13a91837a6c7 100644
--- a/nixpkgs/pkgs/development/python-modules/cleo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix b/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
index 1c209353f0e3..2ebc6f44b44d 100644
--- a/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
@@ -1,14 +1,11 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, backports_csv
 , configobj
-, terminaltables
+, mock
+, pytest
 , tabulate
-, backports_csv
+, terminaltables
 , wcwidth
-, pytest
-, mock
-, isPy27
 }:
 
 buildPythonPackage rec {
@@ -27,6 +24,9 @@ buildPythonPackage rec {
     wcwidth
   ] ++ (lib.optionals isPy27 [ backports_csv ]);
 
+  # namespace collision between backport.csv and backports.configparser
+  doCheck = !isPy27;
+
   checkInputs = [ pytest mock ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/click-completion/default.nix b/nixpkgs/pkgs/development/python-modules/click-completion/default.nix
index 2921970ff28a..79d85a81c379 100644
--- a/nixpkgs/pkgs/development/python-modules/click-completion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-completion/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "click-completion";
-  version = "0.5.1";
+  version = "0.5.2";
   disabled = (!isPy3k);
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ysn6kzv3fgakn0y06i3cxynd8iaybarrygabk9a0pp2spn2w1vq";
+    sha256 = "5bf816b81367e638a190b6e91b50779007d14301b3f9f3145d68e3cade7bce86";
   };
 
   propagatedBuildInputs = [ click jinja2 shellingham six ];
diff --git a/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix b/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix
index eeee7370b7e3..6bc092dcd4e0 100644
--- a/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/click-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/click-plugins/default.nix
index a5124ac86134..8039d0cb4c7b 100644
--- a/nixpkgs/pkgs/development/python-modules/click-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-plugins/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "click-plugins";
-  version = "1.0.4";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dfed74b5063546a137de99baaaf742b4de4337ad2b3e1df5ec7c8a256adc0847";
+    sha256 = "46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cliff/default.nix b/nixpkgs/pkgs/development/python-modules/cliff/default.nix
index 3ba442d0d869..46ac5be03cee 100644
--- a/nixpkgs/pkgs/development/python-modules/cliff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cliff/default.nix
@@ -9,15 +9,19 @@
 , pyyaml
 , unicodecsv
 , cmd2
+, pytest
+, mock
+, testtools
+, fixtures
 }:
 
 buildPythonPackage rec {
   pname = "cliff";
-  version = "2.15.0";
+  version = "2.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe044273539250a99a5b9915843902e40e4e9b32ac5698c1fae89e31200d649f";
+    sha256 = "f5a1c6b32047aa0d272398d311fd711d41dd5e1cd5195ebe36ebb47f464416fa";
   };
 
   propagatedBuildInputs = [
@@ -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/nixpkgs/pkgs/development/python-modules/clifford/default.nix b/nixpkgs/pkgs/development/python-modules/clifford/default.nix
index ca95ebbf1f3b..961f6b5bc1de 100644
--- a/nixpkgs/pkgs/development/python-modules/clifford/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clifford/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "clifford";
-  version = "1.0.4";
+  version = "1.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7fc5aa76b4f73c697c0ebd2f86c5233e7ca0a5109b80147f4e711bc3de4b3f2c";
+    sha256 = "b27fdec70574ac928c91fe333a70ece153d75cd0499cce09acea5980ae349bee";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clikit/default.nix b/nixpkgs/pkgs/development/python-modules/clikit/default.nix
index 1ac684e6d699..94f3fa08b138 100644
--- a/nixpkgs/pkgs/development/python-modules/clikit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clikit/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "clikit";
-  version = "0.3.1";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f8ba0kbka208faxdlny8byqb2w2cdyspq73zalymq8vr91796lp";
+    sha256 = "8ae4766b974d7b1983e39d501da9a0aadf118a907a0c9b50714d027c8b59ea81";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clize/default.nix b/nixpkgs/pkgs/development/python-modules/clize/default.nix
index ef7047afe7dd..72b6a2fa30ae 100644
--- a/nixpkgs/pkgs/development/python-modules/clize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clize/default.nix
@@ -8,27 +8,29 @@
 , od
 , docutils
 , repeated_test
-, unittest2
 , pygments
+, unittest2
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "clize";
-  version = "4.0.3";
+  version = "4.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbcfba5571dc30aaf90dc98fc279e2aab69d0f8f3665fc0394fbc10a87a2be60";
+    sha256 = "f54dedcf6fea90a3e75c30cb65e0ab1e832760121f393b8d68edd711dbaf7187";
   };
 
-  checkInputs = [ 
+  checkInputs = [
     dateutil
     pygments
     repeated_test
     unittest2
+    pytest
   ];
-  
-  propagatedBuildInputs = [ 
+
+  propagatedBuildInputs = [
     attrs
     docutils
     od
@@ -36,6 +38,10 @@ buildPythonPackage rec {
     six
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with stdenv.lib; {
     description = "Command-line argument parsing for Python";
     homepage = "https://github.com/epsy/clize";
diff --git a/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix b/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix
index 33d036ad8d42..a24fc0744089 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cloudpickle";
-  version = "0.8.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ea6fd33b7521855a97819b3d645f92d51c8763d3ab5df35197cd8e96c19ba6f";
+    sha256 = "922401d7140e133253ff5fab4faa4a1166416066453a783b00b507dca93f8859";
   };
 
   buildInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/clustershell/default.nix b/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
index 4120dda54607..75a77d4c63cb 100644
--- a/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "ClusterShell";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e913efb4fe017eed9731d5ad8be397509e7f1966e6cb6441ee2bce074b16b310";
+    sha256 = "0ebc1925c1aed94f99d74cbc0230215127ade80a25240133204094faa74bc41b";
   };
 
   propagatedBuildInputs = [ pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/cma/default.nix b/nixpkgs/pkgs/development/python-modules/cma/default.nix
new file mode 100644
index 000000000000..1743e23942fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cma/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "cma";
+  version = "2.7.0";
+
+  src = fetchFromGitHub {
+    owner = "CMA-ES";
+    repo = "pycma";
+    rev = "r${version}";
+    sha256 = "0c26969pcqj047axksfffd9pj77n16k4r9h6pyid9q3ah5zk0xg3";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkPhase = ''
+    ${python.executable} -m cma.test
+  '';
+
+  meta = with lib; {
+    description = "CMA-ES, Covariance Matrix Adaptation Evolution Strategy for non-linear numerical optimization in Python";
+    homepage = https://github.com/CMA-ES/pycma;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
index 7d78abd075de..2dba7e433913 100644
--- a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "0.9.16";
+  version = "0.9.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ggvh38mc1kkrlqdicjz5a16j5v6f6z0nwmcvv8i3y5gaffkfy2b";
+    sha256 = "ba244b07c0b465ff54a6838dc61919599141dc92de1bf00bb0a70875189155e6";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/cnvkit/default.nix b/nixpkgs/pkgs/development/python-modules/cnvkit/default.nix
index 905b274a0552..054e302dfe76 100644
--- a/nixpkgs/pkgs/development/python-modules/cnvkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cnvkit/default.nix
@@ -39,6 +39,11 @@ buildPythonPackage rec {
     pomegranate
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pandas >= 0.20.1, < 0.25.0" "pandas"
+  '';
+
   meta = with lib; {
     homepage = "https://cnvkit.readthedocs.io";
     description = "A Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data";
diff --git a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
new file mode 100644
index 000000000000..e10ecd8e840a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, setuptools, swig, verilog }:
+
+buildPythonPackage rec {
+  pname = "cocotb";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "091q63jcm87xggqgqi44lw2vjxhl1v4yl0mv2c76hgavb29w4w5y";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  postPatch = ''
+    patchShebangs bin/*.py
+
+    # POSIX portability (TODO: upstream this)
+    for f in \
+      cocotb/share/makefiles/Makefile.* \
+      cocotb/share/makefiles/simulators/Makefile.*
+    do
+      substituteInPlace $f --replace 'shell which' 'shell command -v'
+      # replace hardcoded gcc. Remove once https://github.com/cocotb/cocotb/pull/1137 gets merged
+      substituteInPlace $f --replace 'gcc' '$(CC)'
+      substituteInPlace $f --replace 'g++' '$(CXX)'
+    done
+  '';
+
+  checkInputs = [ swig verilog ];
+
+  checkPhase = ''
+    export PATH=$out/bin:$PATH
+    make test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python";
+    homepage = https://github.com/cocotb/cocotb;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ matthuszagh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/codespell/default.nix b/nixpkgs/pkgs/development/python-modules/codespell/default.nix
index dfd0be09fab4..dc531c77fb5d 100644
--- a/nixpkgs/pkgs/development/python-modules/codespell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/codespell/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonApplication, fetchPypi, pytest, chardet }:
 buildPythonApplication rec {
   pname = "codespell";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c211rzfgmwls8ab8fj21xp9bhxk6ys3xw8w7chp4arjlifc26wg";
+    sha256 = "1s9dl07ib77gq0iq26mrdpl1c46nkfm7nlhqwxpx5vvs6a1pqfxz";
   };
 
   checkInputs = [ pytest chardet ];
diff --git a/nixpkgs/pkgs/development/python-modules/cogapp/default.nix b/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
index b660ed022577..f894380fa49d 100644
--- a/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cogapp";
-  version = "2.5.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f8cf2288fb5a2087eb4a00d8b347ddc86e9058d4ab26b8c868433eb401adfe1c";
+    sha256 = "5e5da2bcfc4e4750c66cecb80ea4eaed1ef4fddd3787c989d4f5bfffb1152d6a";
   };
 
   # there are no tests
diff --git a/nixpkgs/pkgs/development/python-modules/coilmq/default.nix b/nixpkgs/pkgs/development/python-modules/coilmq/default.nix
index 90eb1edc2cda..8b103b55171d 100644
--- a/nixpkgs/pkgs/development/python-modules/coilmq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coilmq/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Simple, lightweight, and easily extensible STOMP message broker";
-    homepage = http://code.google.com/p/coilmq/;
+    homepage = "https://github.com/hozn/coilmq/";
     license = licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/colorama/default.nix b/nixpkgs/pkgs/development/python-modules/colorama/default.nix
index e85c95b85bda..d6f84ca87481 100644
--- a/nixpkgs/pkgs/development/python-modules/colorama/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/colorama/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "colorama";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d";
+    sha256 = "e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/colorcet/default.nix b/nixpkgs/pkgs/development/python-modules/colorcet/default.nix
index b877c4cabd5f..e4288745d960 100644
--- a/nixpkgs/pkgs/development/python-modules/colorcet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/colorcet/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "colorcet";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab1d16aba97f54af190631c7777c356b04b53de549672ff6b01c66d716eddff3";
+    sha256 = "1vkx00im4s6zhr2m1j9r0a5vmhkl488b4xpzxb1pidbl19wi6j2i";
   };
 
   propagatedBuildInputs = [
@@ -36,7 +36,8 @@ buildPythonPackage rec {
     echo "backend: ps" > $HOME/.config/matplotlib/matplotlibrc
     ln -s $HOME/.config/matplotlib $HOME/.matplotlib
 
-    pytest colorcet
+    # requires other backends to be available
+    pytest colorcet -k 'not matplotlib_default_colormap_plot'
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/colored/default.nix b/nixpkgs/pkgs/development/python-modules/colored/default.nix
index 42443c873d7d..b62d80600c7d 100644
--- a/nixpkgs/pkgs/development/python-modules/colored/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/colored/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "colored";
-  version = "1.3.93";
+  version = "1.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xbhq9nd9xz3b6w0c4q33jfgnv8jid023v2fyhi7hsrz1scym5l2";
+    sha256 = "056fac09d9e39b34296e7618897ed1b8c274f98423770c2980d829fd670955ed";
   };
 
   # No proper test suite
diff --git a/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix b/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
index 48eb4520b169..f27cf5abe751 100644
--- a/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
@@ -19,7 +19,8 @@ buildPythonPackage rec {
   });
 
   checkPhase = ''
-    PATH=$PATH:$out/bin pytest . -k "not test_plain_text_output_format"
+    PATH=$PATH:$out/bin pytest . -k "not test_plain_text_output_format \
+                                     and not test_auto_install"
   '';
   checkInputs = [ pytest mock utillinux ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/colormath/default.nix b/nixpkgs/pkgs/development/python-modules/colormath/default.nix
new file mode 100644
index 000000000000..80f58250be4d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/colormath/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, networkx
+, nose
+, numpy
+, lib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "colormath";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "gtaylor";
+    rev = "3.0.0";
+    repo = "python-colormath";
+    sha256 = "1nqf5wy8ikx2g684khzvjc4iagkslmbsxxwilbv4jpaznr9lahdl";
+  };
+
+  propagatedBuildInputs = [ networkx numpy ];
+
+  checkInputs = [ nose ];
+  checkPhase = "nosetests";
+
+  meta = with lib; {
+    description = "Color math and conversion library";
+    homepage = "https://github.com/gtaylor/python-colormath";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ jonathanreeve ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/colorspacious/default.nix b/nixpkgs/pkgs/development/python-modules/colorspacious/default.nix
new file mode 100644
index 000000000000..3ce0bddf1def
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/colorspacious/default.nix
@@ -0,0 +1,24 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "colorspacious";
+  version = "1.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "065n24zbm9ymy2gvf03vx5cggk1258vcjdaw8jn9v26arpl7542y";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/njsmith/colorspacious";
+    description = "A powerful, accurate, and easy-to-use Python library for doing colorspace conversions ";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/commonmark/default.nix b/nixpkgs/pkgs/development/python-modules/commonmark/default.nix
index 93eb03272863..0f381d502610 100644
--- a/nixpkgs/pkgs/development/python-modules/commonmark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/commonmark/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "commonmark";
-  version = "0.8.1";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "abcbc854e0eae5deaf52ae5e328501b78b4a0758bf98ac8bb792fce993006084";
+    sha256 = "452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60";
   };
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/compiledb/default.nix b/nixpkgs/pkgs/development/python-modules/compiledb/default.nix
new file mode 100644
index 000000000000..f2741c615b8f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/compiledb/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, bashlex
+, click
+, shutilwhich
+, gcc
+, coreutils
+}:
+
+buildPythonPackage rec {
+  pname = "compiledb";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "nickdiego";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qricdgqzry7j3rmgwyd43av3c2kxpzkh6f9zcqbzrjkn78qbpd4";
+  };
+
+  # fix the tests
+  patchPhase = ''
+    substituteInPlace tests/data/multiple_commands_oneline.txt \
+                      --replace /bin/echo ${coreutils}/bin/echo
+  '';
+
+  checkInputs = [ pytest gcc coreutils ];
+  propagatedBuildInputs = [ click bashlex shutilwhich ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Tool for generating Clang's JSON Compilation Database files";
+    license = licenses.gpl3;
+    homepage = https://github.com/nickdiego/compiledb;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/configargparse/default.nix b/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
index 7d53f56a5a0a..82a3aac6e1d3 100644
--- a/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ConfigArgParse";
-  version = "0.14.0";
+  version = "0.15.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "149fy4zya0rsnlkvxbbq43cyr8lscb5k4pj1m6n7f1grwcmzwbif";
+    sha256 = "558738aff623d6667aa5b85df6093ad3828867de8a82b66a6d458fb42567beb3";
   };
 
   # no tests in tarball
diff --git a/nixpkgs/pkgs/development/python-modules/configparser/default.nix b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
index 7fce23f89c11..4c05ec29359a 100644
--- a/nixpkgs/pkgs/development/python-modules/configparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, setuptools_scm }:
 
 buildPythonPackage rec {
   pname = "configparser";
-  version = "3.7.4";
+  version = "4.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da60d0014fd8c55eb48c1c5354352e363e2d30bbf7057e5e171a468390184c75";
+    sha256 = "c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df";
   };
 
   # No tests available
   doCheck = false;
 
+  nativeBuildInputs = [ setuptools_scm ];
+
   preConfigure = ''
     export LC_ALL=${if stdenv.isDarwin then "en_US" else "C"}.UTF-8
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/configshell/default.nix b/nixpkgs/pkgs/development/python-modules/configshell/default.nix
index 9b54f4398477..fed5a71fd178 100644
--- a/nixpkgs/pkgs/development/python-modules/configshell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
index 9e4f4072bf6a..f32a6bfd1acd 100644
--- a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures, enum34 }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.3.0";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04bsnyhldcvscdj0dg3hm5k27vmhfi9k6bwz963sd3q2h7g9k6kg";
+    sha256 = "4025ccddbc79443a4e2342de0d770f669558eb737fca2e7851558cd45f78ef78";
   };
 
   buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
diff --git a/nixpkgs/pkgs/development/python-modules/connexion/default.nix b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
index bc1356a72742..4f2af55f2084 100644
--- a/nixpkgs/pkgs/development/python-modules/connexion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "2.3.0";
+  version = "2.4.0";
 
   # we're fetching from GitHub because tests weren't distributed on PyPi
   src = fetchFromGitHub {
     owner = "zalando";
     repo = pname;
     rev = version;
-    sha256 = "1xdm3misxwgrl87ms0vvn0h4rjwzlmmi7kcra2ahs40iaraf33ln";
+    sha256 = "1b9q027wrks0afl7l3a1wxymz3aick26b9fq2m07pc5wb9np0vvg";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/consonance/default.nix b/nixpkgs/pkgs/development/python-modules/consonance/default.nix
new file mode 100644
index 000000000000..3940686f18c7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/consonance/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub, pytest, dissononce, python-axolotl-curve25519
+, transitions, protobuf, nose
+}:
+
+buildPythonPackage rec {
+  pname = "consonance";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "consonance";
+    rev = version;
+    sha256 = "1ifs0fq6i41rdna1kszv5sf87qbqx1mn98ffyx4xhw4i9r2grrjv";
+  };
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    # skipping online test as it requires network with uplink
+    nosetests tests/test_handshakes_offline.py
+  '';
+
+  propagatedBuildInputs = [ dissononce python-axolotl-curve25519 transitions protobuf ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/consonance/";
+    license = licenses.gpl3;
+    description = "WhatsApp's handshake implementation using Noise Protocol";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix b/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
index 46fcc378be9d..e23964f1a2b0 100644
--- a/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "contextlib2";
-  version = "0.5.5";
+  version = "0.6.0.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48";
+    sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e";
   };
 
   checkInputs = [ unittest2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix b/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
index abccd1e136d8..4010eb5ec5aa 100644
--- a/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "cookiecutter";
-  version = "1.6.0";
+  version = "1.7.0";
 
   # not sure why this is broken
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1316a52e1c1f08db0c9efbf7d876dbc01463a74b155a0d83e722be88beda9a3e";
+    sha256 = "1bh4vf45q9nanmgwnw7m0gxirndih9yyz5s0y2xbnlbcqbhrg6a7";
   };
 
   checkInputs = [ pytest pytestcov pytest-mock freezegun ];
diff --git a/nixpkgs/pkgs/development/python-modules/coordinates/default.nix b/nixpkgs/pkgs/development/python-modules/coordinates/default.nix
new file mode 100644
index 000000000000..8c08021a823d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/coordinates/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "coordinates";
+  version = "0.4.0";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "clbarnes";
+    repo = "coordinates";
+    rev = "v${version}";
+    sha256 = "1zha594rshjg3qjq9mrai2hfldya282ihasp2i3km7b2j4gjdw2b";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    runHook preCheck
+    pytest tests/
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Convenience class for doing maths with explicit coordinates";
+    homepage = https://github.com/clbarnes/coordinates;
+    license = licenses.mit;
+    maintainers = [ maintainers.mildlyincompetent ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cornice/default.nix b/nixpkgs/pkgs/development/python-modules/cornice/default.nix
index 2b0c0665fa3f..598c3bd1c089 100644
--- a/nixpkgs/pkgs/development/python-modules/cornice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cornice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cornice";
-  version = "3.5.1";
+  version = "4.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e95dceaee9ce16a09564c1226977a0fe62f1399701581b59c4188f5c91a86687";
+    sha256 = "d083832e9db65da4784436deabd7d37959de88c3b8ba51d539fa1e1f8313439d";
   };
 
   propagatedBuildInputs = [ pyramid simplejson six venusian ];
diff --git a/nixpkgs/pkgs/development/python-modules/coverage/default.nix b/nixpkgs/pkgs/development/python-modules/coverage/default.nix
index b6eb73a80386..dfe86b360651 100644
--- a/nixpkgs/pkgs/development/python-modules/coverage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coverage/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "4.5.3";
+  version = "4.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609";
+    sha256 = "e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/coveralls/default.nix b/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
index cda30943b0e4..dbf6616c22d3 100644
--- a/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
@@ -16,12 +16,12 @@
 buildPythonPackage rec {
   pname = "coveralls";
   name = "${pname}-python-${version}";
-  version = "1.5.1";
+  version = "1.9.2";
 
   # wanted by tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab638e88d38916a6cedbf80a9cd8992d5fa55c77ab755e262e00b36792b7cd6d";
+    sha256 = "8e3315e8620bb6b3c6f3179a75f498e7179c93b3ddc440352404f941b1f70524";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/crayons/default.nix b/nixpkgs/pkgs/development/python-modules/crayons/default.nix
index 16b3998eb856..97c33821547e 100644
--- a/nixpkgs/pkgs/development/python-modules/crayons/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crayons/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "crayons";
-  version = "0.1.2";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17c0v0dkk8sn8kyyy2w7myxq9981glrbczh6h8sdcr750lb6j5sy";
+    sha256 = "50e5fa729d313e2c607ae8bf7b53bb487652e10bd8e7a1e08c4bc8bf62755ffc";
   };
 
   propagatedBuildInputs = [ colorama ];
diff --git a/nixpkgs/pkgs/development/python-modules/crc32c/default.nix b/nixpkgs/pkgs/development/python-modules/crc32c/default.nix
new file mode 100644
index 000000000000..6fd31d007f6c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/crc32c/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  version = "2.0";
+  pname = "crc32c";
+
+  src = fetchFromGitHub {
+    owner = "ICRAR";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15x1sj23n50qdjmi8mjq5wgf5jfn1yv78vjc59wplvl0s50w2dnk";
+  };
+
+  meta = {
+    description = "Python software implementation and hardware API of CRC32C checksum algorithm";
+    homepage = "https://github.com/ICRAR/crc32c";
+    license = lib.licenses.lgpl21;
+    maintainers = with lib.maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/crccheck/default.nix b/nixpkgs/pkgs/development/python-modules/crccheck/default.nix
new file mode 100644
index 000000000000..92a4cc8a8415
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/crccheck/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, nose }:
+
+buildPythonPackage rec {
+  pname = "crccheck";
+  version = "0.6";
+
+  buildInputs = [ nose ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ckymm6s5kw08i1j35fy2cfha1hyq94pq1kc66brb552qgjs91jn";
+    extension = "zip";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python library for CRCs and checksums";
+    homepage = "https://bitbucket.org/martin_scharrer/crccheck";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/credstash/default.nix b/nixpkgs/pkgs/development/python-modules/credstash/default.nix
index e761792bb999..495311c09724 100644
--- a/nixpkgs/pkgs/development/python-modules/credstash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/credstash/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "credstash";
-  version = "1.15.0";
+  version = "1.16.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "814560f99ae2409e2c6d906d878f9dadada5d1d0a950aafb6b2c0d535291bdfb";
+    sha256 = "019wviz3hx0pkh3mgqr3prg55njyhzvhjqcpndgrfmkykjkcj435";
   };
 
   # The install phase puts an executable and a copy of the library it imports in
diff --git a/nixpkgs/pkgs/development/python-modules/croniter/default.nix b/nixpkgs/pkgs/development/python-modules/croniter/default.nix
new file mode 100644
index 000000000000..a538721c9b98
--- /dev/null
+++ b/nixpkgs/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.31";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15riw8sl8jzzkvvjlz3i3p7jcx423zipxhff5ddvki6zgnrb9149";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/cryptacular/default.nix b/nixpkgs/pkgs/development/python-modules/cryptacular/default.nix
index 02c1c420bfda..5ec1ccacae99 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptacular/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptacular/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "cryptacular";
-  version = "1.4.1";
+  version = "1.5.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18fl7phl6r9xiwz8f1jpkahkv21wimmiq72gmrqncccv7z806gr7";
+    sha256 = "fb4d48716e88e4d050255ff0f065f6d437caa358ceef16ba5840c95cece224f9";
   };
 
   buildInputs = [ coverage nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
index 6b20b4b570a3..82d0b43bc350 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
@@ -1,10 +1,10 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , openssl
 , cryptography_vectors
 , darwin
-, asn1crypto
 , packaging
 , six
 , pythonOlder
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "2.7"; # Also update the hash in vectors.nix
+  version = "2.8"; # Also update the hash in vectors.nix
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76";
+    sha256 = "0l8nhw14npknncxdnp7n4hpmjyscly6g7fbivyxkjwvlv071zniw";
   };
 
   outputs = [ "out" "dev" ];
@@ -33,7 +33,6 @@ buildPythonPackage rec {
   buildInputs = [ openssl ]
              ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
   propagatedBuildInputs = [
-    asn1crypto
     packaging
     six
   ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34
@@ -49,8 +48,9 @@ buildPythonPackage rec {
     pytz
   ];
 
+  # remove when https://github.com/pyca/cryptography/issues/4998 is fixed
   checkPhase = ''
-    py.test --disable-pytest-warnings tests
+    py.test --disable-pytest-warnings tests -k 'not load_ecdsa_no_named_curve'
   '';
 
   # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
index ea24ed908016..86cc195b05b3 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi";
+    sha256 = "05pi3shqz0fgvy0d5yazza67bbnam8fkrx2ayrrclgkaqms23lvc";
   };
 
   # No tests included
diff --git a/nixpkgs/pkgs/development/python-modules/cssmin/default.nix b/nixpkgs/pkgs/development/python-modules/cssmin/default.nix
index 7cb01001fac2..2d1ffaccd6f8 100644
--- a/nixpkgs/pkgs/development/python-modules/cssmin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cssselect/default.nix b/nixpkgs/pkgs/development/python-modules/cssselect/default.nix
index d086360b7d7c..00e6c0f7a627 100644
--- a/nixpkgs/pkgs/development/python-modules/cssselect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssselect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cssselect";
-  version = "1.0.3";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "066d8bc5229af09617e24b3ca4d52f1f9092d9e061931f4184cd572885c23204";
+    sha256 = "f95f8dedd925fd8f54edb3d2dfb44c190d9d18512377d3c1e2388d16126879bc";
   };
 
   # AttributeError: 'module' object has no attribute 'tests'
diff --git a/nixpkgs/pkgs/development/python-modules/cssselect2/default.nix b/nixpkgs/pkgs/development/python-modules/cssselect2/default.nix
index 45a9920dbe2e..ff56e2a2f472 100644
--- a/nixpkgs/pkgs/development/python-modules/cssselect2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssselect2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cssselect2";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "505d2ce3d3a1d390ddb52f7d0864b7efeb115a5b852a91861b498b92424503ab";
+    sha256 = "0skymzb4ncrm2zdsy80f53vi0arf776lvbp51hzh4ayp1il5lj3h";
   };
 
   # We're not interested in code quality tests
diff --git a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
index 6dd680fe11f1..1db154ac1b8c 100644
--- a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python package to parse and build CSS";
-    homepage = http://code.google.com/p/cssutils/;
+    homepage = "http://cthedot.de/cssutils/";
     license = licenses.lgpl3Plus;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix b/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
index 18693a204c53..ed25c2c73717 100644
--- a/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
@@ -1,40 +1,59 @@
-{ buildPythonPackage, stdenv, fetchPypi, fetchpatch
-, numpy, pandas, plotly, six, colorlover
-, ipython, ipywidgets, nose
+{ lib, buildPythonPackage, fetchPypi, fetchpatch
+, chart-studio
+, colorlover
+, ipython
+, ipywidgets
+, nose
+, numpy
+, pandas
+, six
+, statsmodels
 }:
 
 buildPythonPackage rec {
   pname = "cufflinks";
-  version = "0.15";
+  version = "0.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "014098a4568199957198c0a7fe3dbeb3b4010b6de8d692a41fe3b3ac107b660e";
+    sha256 = "163lag5g4micpqm3m4qy9b5r06a7pw45nq80x4skxc7dcrly2ygd";
   };
 
   propagatedBuildInputs = [
-    numpy pandas plotly six colorlover
-    ipython ipywidgets
+    chart-studio
+    colorlover
+    ipython
+    ipywidgets
+    numpy
+    pandas
+    six
+    statsmodels
   ];
 
   patches = [
-    # Plotly 3.8 compatibility. Remove with the next release. See https://github.com/santosjorge/cufflinks/pull/178
+    # Plotly 4 compatibility. Remove with next release, assuming it gets merged.
     (fetchpatch {
-      url = "https://github.com/santosjorge/cufflinks/commit/cc4c23c2b45b870f6801d1cb0312948e1f73f424.patch";
-      sha256 = "1psl2h7vscpzvb4idr6s175v8znl2mfhkcyhb1926p4saswmghw1";
+      url = "https://github.com/santosjorge/cufflinks/pull/202/commits/e291dce14181858cb457404adfdaf2624b6d0594.patch";
+      sha256 = "1l0dahwqn3cxg49v3i3amwi80dmx2bi5zrazmgzpwsfargmk2kd1";
     })
   ];
 
+  # in plotly4+, the plotly.plotly module was moved to chart-studio.plotly
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "plotly>=3.0.0,<4.0.0a0" "chart-studio"
+  '';
+
   checkInputs = [ nose ];
 
   checkPhase = ''
     nosetests -xv tests.py
   '';
 
-  meta = {
-    homepage = https://github.com/santosjorge/cufflinks;
+  meta = with lib; {
     description = "Productivity Tools for Plotly + Pandas";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ globin ];
+    homepage = "https://github.com/santosjorge/cufflinks";
+    license = licenses.mit;
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cupy/default.nix b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
index d0f3a7dc7623..5426a609449d 100644
--- a/nixpkgs/pkgs/development/python-modules/cupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "6.2.0";
+  version = "7.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d6liaavgqks772rqam53qha3yk6dfw24i0pj3izxvvawzhlp10z";
+    sha256 = "7230b25052b2b9074cc338b44338b4bd43575a48ad7b9c2ce7f36d7e0d117012";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/curio/default.nix b/nixpkgs/pkgs/development/python-modules/curio/default.nix
index b60025a91b03..31dc8327fc41 100644
--- a/nixpkgs/pkgs/development/python-modules/curio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/curio/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest sphinx ];
 
+  __darwinAllowLocalNetworking = true;
+
   # test_aside_basic times out,
   # test_aside_cancel fails because modifies PYTHONPATH and cant find pytest
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix b/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
index 234bb46f97bc..dae3e032a39a 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cx_Freeze";
-  version = "5.1.1";
+  version = "6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2eadddde670f5c5f6cf88638a0ac4e5d5fe181292a31063275fa56c7bf22426b";
+    sha256 = "067bgkgx7i3kw31vaviwysbb1lk91cjw9q90vklsr7nsygjxi0fa";
   };
 
   propagatedBuildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix b/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
index 77814ec1191c..6ba8f3386387 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "cx_Oracle";
-  version = "7.2.2";
+  version = "7.3.0";
 
   buildInputs = [ odpic ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kp6fgyln0jkdbjm20h6rhybsmvqjj847frhsndyfvkf38m32ss0";
+    sha256 = "2e0da54e948b55e5c75fab14b391d58aa8b9be1eddfd9ec9a8a0e500bc8bfc7e";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cymem/default.nix b/nixpkgs/pkgs/development/python-modules/cymem/default.nix
index b3d4a40bf66f..1ca86f3d9d05 100644
--- a/nixpkgs/pkgs/development/python-modules/cymem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cymem/default.nix
@@ -4,15 +4,16 @@
 , cython
 , python
 }:
+
 buildPythonPackage rec {
   pname = "cymem";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "explosion";
     repo = "cymem";
     rev = "v${version}";
-    sha256 = "109i67vwgql9za8mfvgbrd6rgraz4djkvpzb4gqvzl13214s6ava";
+    sha256 = "0cqz6whq4zginxjnh4cfqlsh535p4qz295ymvjchp71fv8mz11f6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
index f95da9b75b22..1a142cae0f0f 100644
--- a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed9f6a07c2bac70d6c597df360d0666d11d2adc90141d54c5c2db08b380a4fac";
+    sha256 = "0p4a9nadsy1337gy2cnb5yanbn03j3zm6d9adyqad9bk3nlbpxc2";
   };
 
   # Extension types
diff --git a/nixpkgs/pkgs/development/python-modules/dask-jobqueue/default.nix b/nixpkgs/pkgs/development/python-modules/dask-jobqueue/default.nix
index 94ecd10f45f2..f9af247bc802 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-jobqueue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-jobqueue/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.1";
+  version = "0.7.0";
   pname = "dask-jobqueue";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e559077fd27b68c325f06e3666e7072913f5282ad62347a233ca95ae00a4ced7";
+    sha256 = "660cd4cd052ada872fd6413f224a2d9221026dd55a8a29a9a7d52b262bec67e7";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix b/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
index 48a545789db8..06c5f1753d47 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , dask
 , numpy, toolz # dask[array]
 , numba
@@ -19,21 +20,41 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.11.0";
+  version = "1.1.1";
   pname = "dask-ml";
+  disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9e8e69494560dc23534adb236e88b3b21dc30a156648453c9c6e4b27ff2df96";
+    sha256 = "1yad9b9hd02rbdf6m1gfj74cjgcbyp7lxdj22d5h5rhv7xa3127x";
   };
 
-  checkInputs = [ pytest xgboost tensorflow joblib distributed ];
-  propagatedBuildInputs = [ dask numpy toolz numba pandas scikitlearn scipy dask-glm six multipledispatch packaging ];
+  propagatedBuildInputs = [
+    dask
+    dask-glm
+    distributed
+    multipledispatch
+    numba
+    numpy
+    packaging
+    pandas
+    scikitlearn
+    scipy
+    six
+    toolz
+  ];
 
-  # dask-ml has some heavy test requirements
-  # and requires some very new packages
+  # has non-standard build from source, and pypi doesn't include tests
   doCheck = false;
 
+  # in lieu of proper tests
+  pythonImportsCheck = [
+    "dask_ml"
+    "dask_ml.naive_bayes"
+    "dask_ml.wrappers"
+    "dask_ml.utils"
+  ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/dask/dask-ml;
     description = "Scalable Machine Learn with Dask";
diff --git a/nixpkgs/pkgs/development/python-modules/dask-mpi/default.nix b/nixpkgs/pkgs/development/python-modules/dask-mpi/default.nix
index 1bba260e2a03..cd538afa15a2 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-mpi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-mpi/default.nix
@@ -9,12 +9,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.2";
+  version = "2.0.0";
   pname = "dask-mpi";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1apzzh90gl9jx43z0gjmgpniplhvqziafi2l8688a0g01vw7ibjv";
+    sha256 = "774cd2d69e5f7154e1fa133c22498062edd31507ffa2ea19f4ab4d8975c27bc3";
   };
 
   checkInputs = [ pytest requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/dask-xgboost/default.nix b/nixpkgs/pkgs/development/python-modules/dask-xgboost/default.nix
index 5dfcd2f415b9..d5f4de4efaa1 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-xgboost/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-xgboost/default.nix
@@ -9,12 +9,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.5";
+  version = "0.1.9";
   pname = "dask-xgboost";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1860d06965fe68def1c83b9195130a92050fd4bc28bf2be689898a3a74ee1316";
+    sha256 = "6faeeed044112151e28770b69fb1ad06b026597726ce8dc185fd3ae45363d0c0";
   };
 
   checkInputs = [ pytest scikitlearn ];
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index ba8c06f73f2e..beef26ec5beb 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -1,7 +1,7 @@
 { lib
 , bokeh
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , fsspec
 , pytest
 , pythonOlder
@@ -15,25 +15,44 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2.2.0";
+  version = "2.9.1";
 
   disabled = pythonOlder "3.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0wkiqkckwy7fv6m86cs3m3g6jdikkkw84ki9hiwp60xpk5xngnf0";
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = pname;
+    rev = version;
+    sha256 = "1xayr4gkp4slvmh2ksdr0d196giz3yhknqjjg1vw2j0la9gwfwxs";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytest
+  ];
+
   propagatedBuildInputs = [
-    bokeh cloudpickle dill fsspec numpy pandas partd toolz ];
+    bokeh
+    cloudpickle
+    dill
+    fsspec
+    numpy
+    pandas
+    partd
+    toolz
+  ];
 
-  checkPhase = ''
-    py.test dask
+  postPatch = ''
+    # versioneer hack to set version of github package
+    echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
+
+    substituteInPlace setup.py \
+      --replace "version=versioneer.get_version()," "version='${version}'," \
+      --replace "cmdclass=versioneer.get_cmdclass()," ""
   '';
 
-  # URLError
-  doCheck = false;
+  checkPhase = ''
+    pytest
+  '';
 
   meta = {
     description = "Minimal task scheduling abstraction";
diff --git a/nixpkgs/pkgs/development/python-modules/databases/default.nix b/nixpkgs/pkgs/development/python-modules/databases/default.nix
new file mode 100644
index 000000000000..e4129ed9bbf3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/databases/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sqlalchemy
+, aiocontextvars
+, isPy27
+, pytest
+, asyncpg
+, aiomysql
+, aiosqlite
+}:
+
+buildPythonPackage rec {
+  pname = "databases";
+  version = "0.2.6";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "0cdb4vln4zdmqbbcj7711b81b2l64jg1miihqcg8gpi35v404h2q";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy
+    aiocontextvars
+  ];
+
+  checkInputs = [
+    pytest
+    asyncpg
+    aiomysql
+    aiosqlite
+  ];
+
+  # big chunk to tests depend on existing posgresql and mysql databases
+  # some tests are better than no tests
+  checkPhase = ''
+    pytest --ignore=tests/test_integration.py --ignore=tests/test_databases.py
+  '';
+
+  meta = with lib; {
+    description = "Async database support for Python";
+    homepage = https://github.com/encode/databases;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dataclasses/default.nix b/nixpkgs/pkgs/development/python-modules/dataclasses/default.nix
index 44d4d3b57694..a1159d49b812 100644
--- a/nixpkgs/pkgs/development/python-modules/dataclasses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dataclasses/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "dataclasses";
-  version = "0.6";
+  version = "0.7";
 
   # backport only works on Python 3.6, and is in the standard library in Python 3.7
   disabled = !isPy36;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84";
+    sha256 = "494a6dcae3b8bcf80848eea2ef64c0cc5cd307ffc263e17cdf42f3e5420808e6";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/datadog/default.nix b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
index fa0ac9dd7b45..6dc19a17462d 100644
--- a/nixpkgs/pkgs/development/python-modules/datadog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
@@ -1,23 +1,26 @@
 { lib, buildPythonPackage, fetchPypi
-, decorator, requests, simplejson
-, nose, mock }:
+, decorator, requests, simplejson, pillow
+, nose, mock, pytest, freezegun }:
 
 buildPythonPackage rec {
   pname = "datadog";
-  version = "0.29.3";
+  version = "0.33.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p47hy1p2hf233blalyz0yr6nf13iwk9ndkqdk428dmf8b8m2plr";
+    sha256 = "bce73f33a4496b004402baa502251150e3b48a48f610ff89d4cd110b366ee0ab";
   };
 
   postPatch = ''
     find . -name '*.pyc' -exec rm {} \;
   '';
 
-  propagatedBuildInputs = [ decorator requests simplejson ];
+  propagatedBuildInputs = [ decorator requests simplejson pillow ];
 
-  checkInputs = [ nose mock ];
+  checkInputs = [ nose mock pytest freezegun ];
+  checkPhase = ''
+    pytest tests/unit
+  '';
 
   meta = with lib; {
     description = "The Datadog Python library";
diff --git a/nixpkgs/pkgs/development/python-modules/datamodeldict/default.nix b/nixpkgs/pkgs/development/python-modules/datamodeldict/default.nix
index cd7d6eb8cccd..d23ecec169af 100644
--- a/nixpkgs/pkgs/development/python-modules/datamodeldict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datamodeldict/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.9.5";
+  version = "0.9.6";
   pname = "DataModelDict";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afa15c137c09e7d937e31c8956fd8092be0251c9869a6b7c1d0f81c0901bc47d";
+    sha256 = "857d4bf33f0b26ca718bd821fda7502dd6fb15aa09201b1fbdfaf4dfc85b8f6c";
   };
 
   propagatedBuildInputs = [ xmltodict ];
diff --git a/nixpkgs/pkgs/development/python-modules/datasette/default.nix b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
index 48de7e86b92e..7210aa6b1e31 100644
--- a/nixpkgs/pkgs/development/python-modules/datasette/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , click
 , click-default-group
-, sanic
 , jinja2
 , hupper
 , pint
@@ -14,29 +13,33 @@
 , black
 , aiohttp
 , beautifulsoup4
+, uvicorn
+, asgiref
+, aiofiles
 }:
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.28";
+  version = "0.30.2";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "datasette";
     rev = version;
-    sha256 = "1m2s03gyq0ghjc3s0b5snpinisddywpgii2f0zqa3v4ljmzanx7h";
+    sha256 = "07swnpz4c7vzlc69vavs1xvbhr5fa8g63kyfj1hf3zafskgjnzwy";
   };
 
-  buildInputs = [ pytestrunner ];
+  nativeBuildInputs = [ pytestrunner ];
 
   propagatedBuildInputs = [
     click
     click-default-group
-    sanic
     jinja2
     hupper
     pint
     pluggy
+    uvicorn
+    aiofiles
   ];
 
   checkInputs = [
@@ -45,6 +48,7 @@ buildPythonPackage rec {
     aiohttp
     beautifulsoup4
     black
+    asgiref
   ];
 
   postConfigure = ''
@@ -52,15 +56,20 @@ buildPythonPackage rec {
       --replace "click-default-group==1.2" "click-default-group" \
       --replace "Sanic==0.7.0" "Sanic" \
       --replace "hupper==1.0" "hupper" \
-      --replace "pint==0.8.1" "pint" \
-      --replace "Jinja2==2.10.1" "Jinja2"
+      --replace "pint~=0.8.1" "pint" \
+      --replace "pluggy~=0.12.0" "pint" \
+      --replace "Jinja2==2.10.1" "Jinja2" \
+      --replace "uvicorn~=0.8.4" "uvicorn"
   '';
 
   # many tests require network access
+  # test_black fails on darwin
   checkPhase = ''
     pytest --ignore tests/test_api.py \
            --ignore tests/test_csv.py \
-           --ignore tests/test_html.py
+           --ignore tests/test_html.py \
+           --ignore tests/test_black.py \
+           -k 'not facet'
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/datashader/default.nix b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
index 8ce3012513c4..789e488e4615 100644
--- a/nixpkgs/pkgs/development/python-modules/datashader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
@@ -29,11 +29,11 @@
 
 buildPythonPackage rec {
   pname = "datashader";
-  version = "0.7.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5baf218713dc1ad4791f7bcf606ef8f618273945e788c59f9573aebd7cb851f8";
+    sha256 = "3a423d61014ae8d2668848edab6c12a6244be6f249570bd7811dd5698d5ff633";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datatable/default.nix b/nixpkgs/pkgs/development/python-modules/datatable/default.nix
index 200ebef1faaa..81a53ac15f47 100644
--- a/nixpkgs/pkgs/development/python-modules/datatable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datatable/default.nix
@@ -1,32 +1,25 @@
-{ blessed
-, buildPythonPackage
-, fetchPypi
-, lib
+{ stdenv, lib, buildPythonPackage, fetchPypi, substituteAll, pythonOlder
+, blessed
+, docutils
 , libcxx
 , libcxxabi
 , llvm
 , openmp
 , pytest
-, pythonOlder
-, stdenv
-, substituteAll
 , typesentry
 }:
 
 buildPythonPackage rec {
   pname = "datatable";
-  version = "0.8.0";
+  version = "0.9.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s8z81zffrckvdwrrl0pkjc7gsdvjxw59xgg6ck81dl7gkh5grjk";
+    sha256 = "1shwjkm9nyaj6asn57vwdd74pn13pggh14r6dzv729lzxm7nm65f";
   };
 
-  patches = [
-    # Disable the compiler monkey patching, and remove the task that's copying
-    # the native dependencies to the build directory.
-    ./remove-compiler-monkeypatch_disable-native-relocation.patch
-  ] ++ lib.optionals stdenv.isDarwin [
+  patches = lib.optionals stdenv.isDarwin [
     # Replace the library auto-detection with hardcoded paths.
     (substituteAll {
       src = ./hardcode-library-paths.patch;
@@ -37,16 +30,13 @@ buildPythonPackage rec {
     })
   ];
 
-  disabled = pythonOlder "3.5";
-
   propagatedBuildInputs = [ typesentry blessed ];
   buildInputs = [ llvm ] ++ lib.optionals stdenv.isDarwin [ openmp ];
-  checkInputs = [ pytest ];
+  checkInputs = [ docutils pytest ];
 
   LLVM = llvm;
 
   checkPhase = ''
-    # py.test adds local datatable to path, which doesn't contain built native library.
     mv datatable datatable.hidden
     pytest
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/datatable/remove-compiler-monkeypatch_disable-native-relocation.patch b/nixpkgs/pkgs/development/python-modules/datatable/remove-compiler-monkeypatch_disable-native-relocation.patch
deleted file mode 100644
index 7cdbfa907241..000000000000
--- a/nixpkgs/pkgs/development/python-modules/datatable/remove-compiler-monkeypatch_disable-native-relocation.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 58fc875..8032561 100644
---- a/setup.py
-+++ b/setup.py
-@@ -141,23 +141,6 @@ if cmd in ("build", "bdist_wheel", "build_ext", "install"):
-     extra_link_args = get_extra_link_args()
-     cpp_files = get_c_sources("c")
- 
--    with TaskContext("Copy dynamic libraries") as log:
--        # Copy system libraries into the datatable/lib folder, so that they can
--        # be packaged with the wheel
--        libs = find_linked_dynamic_libraries()
--        for libpath in libs:
--            trgfile = os.path.join("datatable", "lib",
--                                   os.path.basename(libpath))
--            if os.path.exists(trgfile):
--                log.info("File %s already exists, skipped" % trgfile)
--            else:
--                log.info("Copying %s to %s" % (libpath, trgfile))
--                shutil.copy(libpath, trgfile)
--
--    if ismacos():
--        monkey_patch_compiler()
--
--
- # Create the git version file
- if cmd in ("build", "sdist", "bdist_wheel", "install"):
-     make_git_version_file(True)
diff --git a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
index 22787df8bb64..9c406671f780 100644
--- a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "dateparser";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42d51be54e74a8e80a4d76d1fa6e4edd997098fce24ad2d94a2eab5ef247193e";
+    sha256 = "e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b";
   };
 
   checkInputs = [ nose mock parameterized six glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/dateutil/default.nix b/nixpkgs/pkgs/development/python-modules/dateutil/default.nix
index 63366d93056c..9c5f6145d8fd 100644
--- a/nixpkgs/pkgs/development/python-modules/dateutil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dbf/default.nix b/nixpkgs/pkgs/development/python-modules/dbf/default.nix
index c3d5224dd4d4..a2f7b603b844 100644
--- a/nixpkgs/pkgs/development/python-modules/dbf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbf/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
     pname = "dbf";
-    version = "0.98.2";
+    version = "0.98.3";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0d8m3zhhxy1f35r1s8k0s218iz86bs6v89vy65lslrxbdg5pjia0";
+      sha256 = "01d71vya2x87f3kl9x0s8xp0n7wixn6ksrd054y7idq3n1mjaxzh";
     };
 
-    propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") [ enum34 ];
+    propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
 
     doCheck = !isPy3k;
     # tests are not yet ported.
diff --git a/nixpkgs/pkgs/development/python-modules/dbus/default.nix b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
index 262c93878d3f..855ee930b772 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
@@ -1,22 +1,24 @@
-{ lib, fetchurl, buildPythonPackage, python, pkgconfig, dbus, dbus-glib, isPyPy
+{ lib, fetchPypi, buildPythonPackage, python, pkgconfig, dbus, dbus-glib, isPyPy
 , ncurses, pygobject3 }:
 
-if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "dbus-python";
-  version = "1.2.4";
+  version = "1.2.12";
   format = "other";
 
-  outputs = [ "out" "dev" "doc" ];
+  outputs = [ "out" "dev" ];
 
-  src = fetchurl {
-    url = "https://dbus.freedesktop.org/releases/dbus-python/${pname}-${version}.tar.gz";
-    sha256 = "1k7rnaqrk7mdkg0k6n2jn3d1mxsl7s3i07g5a8va5yvl3y3xdwg2";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0q7jmldv0bxxqnbj63cd7i81vs6y85xys4r0n63z4n2y9wndxm6d";
   };
 
   patches = [
     ./fix-includedir.patch
   ];
 
+  disabled = isPyPy;
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus dbus-glib ]
     # My guess why it's sometimes trying to -lncurses.
diff --git a/nixpkgs/pkgs/development/python-modules/ddt/default.nix b/nixpkgs/pkgs/development/python-modules/ddt/default.nix
index 46a229a99aea..dac72fb72b78 100644
--- a/nixpkgs/pkgs/development/python-modules/ddt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ddt/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "ddt";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d13e6af8f36238e89d00f4ebccf2bda4f6d1878be560a6600689e42077e164e3";
+    sha256 = "9f79cf234064cf9b43492b72da35c473de3f03163d37bd13cec5bd8d200dda6b";
   };
 
   checkInputs = [ nose six pyyaml mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/debian/default.nix b/nixpkgs/pkgs/development/python-modules/debian/default.nix
index fc9b9017cc99..4399e6bc83ef 100644
--- a/nixpkgs/pkgs/development/python-modules/debian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debian/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "python-debian";
-  version = "0.1.34";
+  version = "0.1.36";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a02e073214e9f3a371f7ec0ff8b34dd82bd4941194dd69c49ad80b321b9d887e";
+    sha256 = "c953bb0c54e96887badd2324cc66e1887bf2734f301882cd4fe847a844b518a6";
   };
 
   propagatedBuildInputs = [ chardet six ];
diff --git a/nixpkgs/pkgs/development/python-modules/decorator/default.nix b/nixpkgs/pkgs/development/python-modules/decorator/default.nix
index b8c784023c23..f23d59291925 100644
--- a/nixpkgs/pkgs/development/python-modules/decorator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/deeptoolsintervals/default.nix b/nixpkgs/pkgs/development/python-modules/deeptoolsintervals/default.nix
new file mode 100644
index 000000000000..eef8d51ae911
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/deeptoolsintervals/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, zlib
+, lzma
+}:
+
+buildPythonPackage rec {
+  pname = "deeptoolsintervals";
+  version = "0.1.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1xnl80nblysj6dylj4683wgrfa425rkx4dp5k65hvwdns9pw753x";
+  };
+
+  buildInputs = [ zlib lzma ];
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = "https://deeptools.readthedocs.io/en/develop";
+    description = "Helper library for deeptools";
+    license = licenses.mit;
+    maintainers = with maintainers; [ scalavision ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/deform/default.nix b/nixpkgs/pkgs/development/python-modules/deform/default.nix
index e1c37fe6eadd..8ebd3ef47bde 100644
--- a/nixpkgs/pkgs/development/python-modules/deform/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deform/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "deform";
-  version = "2.0.7";
+  version = "2.0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ff29c32ebe544c0f0a77087e268b2cd9cb4b11fa35af3635d5b42913f88d74a";
+    sha256 = "8936b70c622406eb8c8259c88841f19eb2996dffcf2bac123126ada851da7271";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/defusedxml/default.nix b/nixpkgs/pkgs/development/python-modules/defusedxml/default.nix
index 328195365006..581a6cce9b2a 100644
--- a/nixpkgs/pkgs/development/python-modules/defusedxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/defusedxml/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "defusedxml";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1x54n0h8hl92vvwyymx883fbqpqjwn2mc8fb383bcg3z9zwz5mr4";
+    sha256 = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix b/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
index 6f82adc94ca1..a2a986828b5c 100644
--- a/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deluge-client";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ragmpihjr9p6n27hw7gy83qyc68csqpn18m9kvwsby1vi7mgdy8";
+    sha256 = "4eac169b4b08008cacf4e5e26e82302a7ccd43c07846d1a1228f3e271a128de2";
   };
 
   # it will try to connect to a running instance
diff --git a/nixpkgs/pkgs/development/python-modules/demjson/default.nix b/nixpkgs/pkgs/development/python-modules/demjson/default.nix
index 265a4cb5712b..58f2012aea71 100644
--- a/nixpkgs/pkgs/development/python-modules/demjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/demjson/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";
-    homepage = http://deron.meranda.us/python/demjson/;
+    homepage = "https://github.com/dmeranda/demjson";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
index e135d8c7bc6a..b5a3a869b697 100644
--- a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
@@ -9,11 +9,11 @@ in
 
 buildPythonPackage rec {
   pname = "dependency-injector";
-  version = "3.14.10";
+  version = "3.14.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c475axh40f8s4n5dqm52qczx9g2g8b8wsy0qvghirk84ikpca5y";
+    sha256 = "c0b593d30a9dcafd71459075fac14ccf52fcefa2094d5062dfc2e174c469dc03";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/deprecated/default.nix b/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
index ee7c89d8167d..2af9d020c955 100644
--- a/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
@@ -3,18 +3,13 @@
 
 buildPythonPackage rec {
   pname = "Deprecated";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hcw9y7dvhwg5flk6wy8aa4kkgpvcqq3q4jd53h54586fp7w85d5";
+    sha256 = "408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308";
   };
 
-  postPatch = ''
-    # odd broken tests, don't appear in GitHub repo
-    rm tests/demo_classic_usage*.py
-  '';
-
   propagatedBuildInputs = [ wrapt ];
   checkInputs = [ pytest ];
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
index 6bdda6ac5ea7..72db5d1b0ec8 100644
--- a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
@@ -1,16 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, requests, py, pytest, pytest-flakes }:
+{ lib, buildPythonPackage, fetchPypi
+, requests
+, py
+, pytest
+, pytest-flake8
+}:
 
 buildPythonPackage rec {
   pname = "devpi-common";
-  version = "3.3.2";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c7a6471c0f5b07ac9257adec3b3c3a89193ee672fdeb0a6f29487dc9d675e0c";
+    sha256 = "1pfl29pnfn120rqv3zwxc22i1hyywwg60rcck9hzxsllbhmfbjqh";
   };
 
   propagatedBuildInputs = [ requests py ];
-  checkInputs = [ pytest pytest-flakes ];
+  checkInputs = [ pytest pytest-flake8 ];
 
   checkPhase = ''
     py.test
diff --git a/nixpkgs/pkgs/development/python-modules/dftfit/default.nix b/nixpkgs/pkgs/development/python-modules/dftfit/default.nix
index 016a3a919f15..9095eb962fec 100644
--- a/nixpkgs/pkgs/development/python-modules/dftfit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dftfit/default.nix
@@ -21,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "dftfit";
-  version = "0.5.0";
+  version = "0.5.1";
   disabled = (!isPy3k);
 
   src = fetchPypi {
      inherit pname version;
-     sha256 = "fd9e777157669d004e7c25adce3e7c697234283384c99aa0c23454173a14a7a8";
+     sha256 = "4dcbde48948835dcf2d49d6628c9df5747a8ec505d517e374b8d6c7fe95892df";
   };
 
   buildInputs = [ pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix b/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix
new file mode 100644
index 000000000000..88cbee2649da
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchPypi, buildPythonPackage, six }:
+
+buildPythonPackage rec {
+  pname = "dict2xml";
+  version = "1.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17wsybqq0916i1yh7bpf2cmicldn7d0y2b9mzlgs503fkcpxda5w";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with lib; {
+    description = "Super simple library to convert a Python dictionary into an xml string";
+    homepage = "https://github.com/delfick/python-dict2xml";
+    license = licenses.mit;
+    maintainers = with maintainers; [ johnazoidberg ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix b/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
index cf1bebad1443..ba33eeda386e 100644
--- a/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, python }:
 
 buildPythonPackage rec {
   pname = "diff-match-patch";
   version = "20181111";
 
   meta = {
-    homepage = https://code.google.com/p/google-diff-match-patch/;
+    homepage = "https://github.com/diff-match-patch-python/diff-match-patch";
     description = "Diff, Match and Patch libraries for Plain Text";
     license = lib.licenses.asl20;
   };
@@ -14,4 +14,8 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "a809a996d0f09b9bbd59e9bbd0b71eed8c807922512910e05cbd3f9480712ddb";
   };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest -v diff_match_patch.tests
+  '';
 }
diff --git a/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix b/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix
index 57f0a1ef2381..ed16f7f95e52 100644
--- a/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix
@@ -1,10 +1,23 @@
-{ stdenv, buildPythonPackage, fetchPypi, jinja2, jinja2_pluralize, pygments,
-  six, inflect, mock, nose, coverage, pycodestyle, flake8, pyflakes, git,
-  pylint, pydocstyle, fetchpatch, glibcLocales }:
+{ stdenv, buildPythonPackage, fetchPypi
+, inflect
+, jinja2
+, jinja2_pluralize
+, pygments
+, six
+# test dependencies
+, coverage
+, flake8
+, mock
+, nose
+, pycodestyle
+, pyflakes
+, pylint
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "diff_cover";
-  version = "1.0.2";
+  version = "2.5.0";
 
   preCheck = ''
     export LC_ALL=en_US.UTF-8;
@@ -12,20 +25,17 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wbp0kfv2mjxwnq2jlqmwvb71fywwc4x4azxi7ll5dll6nhjyd61";
+    sha256 = "2ba4e8dcd5439a245287fac056db02a9261432b1a44a5cffbe593032de86f1c7";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "tests-fix.patch";
-      url = "https://github.com/Bachmann1234/diff-cover/commit/85c30959c8ed2aa3848f400095a2418f15bb7777.patch";
-      sha256 = "0xni4syrxww9kdv8495f416vqgfdys4w2hgf5rdi35hy3ybfslh0";
-    })
-  ];
-
   propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
 
-  checkInputs = [ mock nose coverage pycodestyle flake8 pyflakes pylint pydocstyle git glibcLocales ];
+  checkInputs = [ mock coverage pytest nose pylint pyflakes pycodestyle ];
+
+  # ignore tests which try to write files
+  checkPhase = ''
+    pytest -k 'not added_file_pylint_console and not file_does_not_exist'
+  '';
 
   meta = with stdenv.lib; {
     description = "Automatically find diff lines that need test coverage";
diff --git a/nixpkgs/pkgs/development/python-modules/dill/default.nix b/nixpkgs/pkgs/development/python-modules/dill/default.nix
index af24ad8ed04c..88ffbd32e9d5 100644
--- a/nixpkgs/pkgs/development/python-modules/dill/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dill/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "dill";
-  version = "0.2.9";
+  version = "0.3.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6d6046f9f9195206063dd0415dff185ad593d6ee8b0e67f12597c0f4df4986f";
+    sha256 = "42d8ef819367516592a825746a18073ced42ca169ab1f5f4044134703e7a049c";
   };
 
   # Messy test suite. Even when running the tests like tox does, it fails
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Serialize all of python (almost)";
-    homepage = http://www.cacr.caltech.edu/~mmckerns/dill.htm;
+    homepage = "https://github.com/uqfoundation/dill/";
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/discordpy/default.nix b/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
index 41188a0de6e5..b25f0b121567 100644
--- a/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "discord.py";
-  version = "0.16.12";
+  version = "1.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17fb8814100fbaf7a79468baa432184db6cef3bbea4ad194fe297c7407d50108";
+    sha256 = "3e044d84f0bb275d173e2d958cb4a579e525707f90e3e8a15c59901f79e80663";
   };
 
   propagatedBuildInputs = [ aiohttp websockets pynacl ];
diff --git a/nixpkgs/pkgs/development/python-modules/diskcache/default.nix b/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
index a62393b7bafc..a420fc037bbe 100644
--- a/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
@@ -1,25 +1,39 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, tox
+, fetchFromGitHub
+, pytest
+, pytestcov
+, pytest_xdist
+, pytest-django
+, mock
 }:
 
 buildPythonPackage rec {
   pname = "diskcache";
-  version = "4.0.0";
+  version = "4.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7c20b58ed07d03bbfba793f823d1fc27a61e590371fe6011fa1319a25c028cd1";
+  src = fetchFromGitHub {
+    owner = "grantjenks";
+    repo = "python-diskcache";
+    rev = "v${version}";
+    sha256 = "0xy2vpk4hixb4gg871d9sx9wxdz8pi0pmnfdwg4bf8jqfjg022w8";
   };
 
   checkInputs = [
-    tox
+    pytest
+    pytestcov
+    pytest_xdist
+    pytest-django
+    mock
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with lib; {
     description = "Disk and file backed persistent cache";
-    homepage = https://www.grantjenks.com/docs/diskcache/;
+    homepage = "http://www.grantjenks.com/docs/diskcache/";
     license = licenses.asl20;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/dissononce/default.nix b/nixpkgs/pkgs/development/python-modules/dissononce/default.nix
new file mode 100644
index 000000000000..80655e6aa084
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dissononce/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, fetchFromGitHub, lib, pytest, cryptography, transitions }:
+
+buildPythonPackage rec {
+  pname = "dissononce";
+  version = "0.34.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "dissononce";
+    rev = version;
+    sha256 = "0hn64qfr0d5npmza6rjyxwwp12k2z2y1ma40zpl104ghac6g3mbs";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    HOME=$(mktemp -d) py.test tests/
+  '';
+
+  propagatedBuildInputs = [ cryptography transitions ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/dissononce/";
+    license = licenses.mit;
+    description = "A python implementation for Noise Protocol Framework";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/distlib/default.nix b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
index aea6bcd9504b..81575058b157 100644
--- a/nixpkgs/pkgs/development/python-modules/distlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index 4a892ddb7058..951593bac972 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
@@ -28,12 +28,12 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2.3.0";
+  version = "2.9.1";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15lb6fz3739nkyxi1igzm5p2lk40digkc9fkzjqx1jpymfac9dwl";
+    sha256 = "d37a5c5be992f3b16db24b54d2801cbe370990fbc63089c6e7ef40d6f03cf5dd";
   };
 
   checkInputs = [ pytest pytest-repeat pytest-faulthandler pytest-timeout mock joblib ];
diff --git a/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix b/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
index c9e56017447e..de052b67ecf1 100644
--- a/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.0";
+  version = "0.2.0";
   pname = "dj-email-url";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84f32673156f58d740a14cab09f04ca92a65b2c8881b60e31e09e67d7853e544";
+    sha256 = "0362e390c17cc377f03bcbf6daf3f671797c929c1bf78a9f439d78f215ebe3fd";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
index 50922ccded20..10fe8cde8267 100644
--- a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.39.1";
+  version = "0.40.0";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    sha256 = "1kplkanhj26z3i6p0l1r5lczha4pavcx96vj3kpcp1rvyk1v0f7r";
+    sha256 = "10id4k01p1hg5agb8cmllg8mv4kc7ryl75br10idwxabqqp4vla1";
   };
 
   propagatedBuildInputs = [ requests requests_oauthlib django python3-openid ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
new file mode 100644
index 000000000000..3e95e7ff16ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi, isPy27
+, ldap , django_2_2 
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "django-auth-ldap";
+  version = "2.1.0";
+  disabled = isPy27;
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5f48232c85ddfa33e3573153e6080526ac2eef5e7ec9cf42b5c4ba3c62afb96d";
+  };
+
+  propagatedBuildInputs = [ ldap django_2_2 ]; 
+  checkInputs = [ mock ]; 
+
+  # django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Django authentication backend that authenticates against an LDAP service";
+    homepage = https://github.com/django-auth-ldap/django-auth-ldap;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ mmai ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix b/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix
new file mode 100644
index 000000000000..6484fb8c5551
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, django
+, redis, async-timeout, hiredis
+}:
+
+buildPythonPackage rec {
+  pname = "django-cleanup";
+  version = "4.0.0";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "195hkany3iwg4wb4cbdrdmanxcahjl87n8v03dbamanx2ya3yb21";
+  };
+
+  checkInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "Automatically deletes old file for FileField and ImageField. It also deletes files on models instance deletion";
+    homepage = https://github.com/un1t/django-cleanup;
+    license = licenses.mit;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix b/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
index 0ca6c400df28..c31036c18148 100644
--- a/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
@@ -12,12 +12,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1";
+  version = "2.2";
   pname = "django-configurations";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71d9acdff33aa034f0157b0b3d23629fe0cd499bf4d0b6d699b9ca0701d952e8";
+    sha256 = "9e3bcea1355ac50a4c9f854f751d214cb17e5f8adf18405a4488d0a1e8945915";
   };
 
   checkInputs = [ django-discover-runner mock dj-database-url dj-email-url dj-search-url django-cache-url six ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-cors-headers/default.nix b/nixpkgs/pkgs/development/python-modules/django-cors-headers/default.nix
index 24146306af71..005dc65a4993 100644
--- a/nixpkgs/pkgs/development/python-modules/django-cors-headers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-cors-headers/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-cors-headers";
-  version = "3.0.2";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b11nkcviwv5dqnlmv63bgzciczb51wairm8b6wr6sda4p7y5wzb";
+    sha256 = "84933651fbbde8f2bc084bef2f077b79db1ec1389432f21dd661eaae6b3d6a95";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/nixpkgs/pkgs/development/python-modules/django-dynamic-preferences/default.nix
new file mode 100644
index 000000000000..cea5a7976bb4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-dynamic-preferences/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, django, persisting-theory, six
+}:
+
+buildPythonPackage rec {
+  pname = "django-dynamic-preferences";
+  version = "1.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1v7mf48gb2qmmks3ifnhkh0vfd7hpvx5v81ypc9cqy35n3ir0q4a";
+  };
+
+  propagatedBuildInputs = [ six django persisting-theory ]; 
+
+  # django.core.exceptions.ImproperlyConfigured: Requested setting DYNAMIC_PREFERENCES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/EliotBerriot/django-dynamic-preferences;
+    description = "Dynamic global and instance settings for your django project";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
index 1e9a6ac764d3..7f755010b730 100644
--- a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "django-extensions";
-  version = "2.1.9";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "08vggm6wrn5cbf8brfprif0rjrkqz06wddsw0ir1skkk8q2sp1b2";
+    sha256 = "0053yqq4vq3mwy7zkfs5vfm3g8j9sfy3vrc6xby83qlj9wz43ipi";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/django-filter/default.nix b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
new file mode 100644
index 000000000000..496ccd268f95
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, djangorestframework, python, mock
+}:
+
+buildPythonPackage rec {
+  pname = "django-filter";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "057xiijig8r2nxrd9gj1nki168422rsh8ap5vkbr9zyp1mzvbpn3";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  # Tests fail (needs the 'crispy_forms' module not packaged on nixos)
+  doCheck = false;
+  checkInputs = [ djangorestframework django mock ];
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} runtests.py tests
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Reusable Django application for allowing users to filter querysets dynamically";
+    homepage = "https://pypi.org/project/django-filter/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
index a66d29085eb9..ca56cddff07b 100644
--- a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "django-mailman3";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wppv1q3jkkg2d66qsygc4dfpvhfcj5i2as2xpqnzf3l3w7dgja1";
+    sha256 = "b05cf04b2c36916d15b78e24610002206529f1441e2632253a26b2db6bfd3b27";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-multiselectfield/default.nix b/nixpkgs/pkgs/development/python-modules/django-multiselectfield/default.nix
index e2db26fe26bb..a4dcb57fe43e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-multiselectfield";
-  version = "0.1.8";
+  version = "0.1.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52483d23aecbf6b502f9e6806e97da9288d5d7f2a3f99f736390763de68c8fd7";
+    sha256 = "043fa1aaddceb9b170c64c0745dc3a059165dcbc74946a434340778f63efa3c2";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
new file mode 100644
index 000000000000..1927e4e9954c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, django_2_2, requests, oauthlib
+}:
+
+buildPythonPackage rec {
+  pname = "django-oauth-toolkit";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = pname;
+    rev = version;
+    sha256 = "1zbksxrcxlqnapmlvx4rgvpqc4plgnq0xnf45cjwzwi1626zs8g6";
+  };
+
+  propagatedBuildInputs = [ django_2_2 requests oauthlib ];
+
+  # django.core.exceptions.ImproperlyConfigured: Requested setting OAUTH2_PROVIDER, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "OAuth2 goodies for the Djangonauts";
+    homepage = https://github.com/jazzband/django-oauth-toolkit;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-pglocks/default.nix b/nixpkgs/pkgs/development/python-modules/django-pglocks/default.nix
index b2ee7b6f6442..da1dfe21df27 100644
--- a/nixpkgs/pkgs/development/python-modules/django-pglocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-pglocks/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "django-pglocks";
-  version = "1.0.2";
+  version = "1.0.4";
 
   meta = {
     description = "PostgreSQL locking context managers and functions for Django.";
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ks4k0bk4457wfl3xgzr4v7xb0lxmnkhxwhlp0bbnmzipdafw1cl";
+    sha256 = "3c47c66fbfbd268ef46269673a0516a039539b0972b8ed2ec9cfee44c4b65523";
   };
 
   buildInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-pipeline/default.nix b/nixpkgs/pkgs/development/python-modules/django-pipeline/default.nix
index 58e9d746b97f..acb5587186db 100644
--- a/nixpkgs/pkgs/development/python-modules/django-pipeline/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-pipeline/default.nix
@@ -32,5 +32,6 @@ buildPythonPackage rec {
     description = "Pipeline is an asset packaging library for Django";
     homepage = https://github.com/cyberdelia/django-pipeline;
     license = licenses.mit;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix b/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix
new file mode 100644
index 000000000000..35be6f76147c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, buildPythonPackage
+, django
+, netaddr
+, six
+, fetchFromGitHub
+# required for tests
+#, djangorestframework
+#, psycopg2
+#, unittest2
+}:
+
+buildPythonPackage rec {
+  version = "1.2.2";
+  pname = "django-postgresql-netfields";
+
+  src = fetchFromGitHub {
+    owner = "jimfunk";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "1rrh38f3zl3jk5ijs6g75dxxvxygf4lczbgc7ahrgzf58g4a48lm";
+  };
+
+  # tests need a postgres database
+  doCheck = false;
+
+  # keeping the dependencies below as comment for reference
+  # checkPhase = ''
+    # python manage.py test
+  # '';
+
+  # buildInputs = [
+    # djangorestframework
+    # psycopg2
+    # unittest2
+  # ];
+
+  propagatedBuildInputs = [
+    django
+    netaddr
+    six
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Django PostgreSQL netfields implementation";
+    homepage = https://github.com/jimfunk/django-postgresql-netfields;
+    license = licenses.bsd2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-q/default.nix b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
index f671674ffe2e..7ceee27e6f4e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-q/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "django-q";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17mqxiacsp2yszak6j48fm7vx0w44pcg86flc63r9y5yhx490n5r";
+    sha256 = "70081f58c6d78748d8664acbf028fb641687c36df38d3d31e9f1b6fcfac1079f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-ranged-response/default.nix b/nixpkgs/pkgs/development/python-modules/django-ranged-response/default.nix
new file mode 100644
index 000000000000..29b2baf89cdc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-ranged-response/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, fetchPypi, buildPythonPackage, django }:
+
+buildPythonPackage rec {
+  pname = "django-ranged-response";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11gr3jpmb5rvg3scv026kjwwkmnxwivgq5ypxadnnc9p58szy7zp";
+  };
+
+  # tests not included in PyPi package, github source is not up to date with 0.2.0
+  doCheck = false;
+
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "A modified FileResponse that returns `Content-Range` headers with the HTTP response, so browsers (read Safari 9+) that request the file, can stream the response properly";
+    homepage = "https://github.com/wearespindle/django-ranged-fileresponse";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mrmebelman ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-raster/default.nix b/nixpkgs/pkgs/development/python-modules/django-raster/default.nix
index b5cb017956c4..dca1942f9d21 100644
--- a/nixpkgs/pkgs/development/python-modules/django-raster/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-raster/default.nix
@@ -6,14 +6,14 @@ if stdenv.lib.versionOlder django.version "2.0"
 then throw "django-raster requires Django >= 2.0. Consider overiding the python package set to use django_2."
 else
 buildPythonPackage rec {
-  version = "0.6";
+  version = "0.7";
   pname = "django-raster";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a0f8e71ebeeeb5380c6ca68e027e9de335f43bc15e89dd22e7a470c4eb7aeb8";
+    sha256 = "d23089d56f5f435c01a001af6f8ff7905636f87085b13035b4c5b3ace203d98a";
   };
 
   # Tests require a postgresql + postgis server
diff --git a/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix b/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
index 68fa0dce6159..e7de9c824a1f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "django-sesame";
-  version = "1.4";
+  version = "1.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "081q3vd9waiajiipg99flw0vlzk920sz07067v3n5774gx0qhbaa";
+    sha256 = "e68bad4a6ef44322380f1f01d009f9d3cb55d1ffef0b669574b511db5ab0c6c0";
   };
 
   checkInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix b/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix
new file mode 100644
index 000000000000..67977caf9ec3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+, six
+, testfixtures
+, django
+, django-ranged-response
+, pillow
+, withTTS ? true
+, flite
+}:
+
+buildPythonPackage rec {
+  pname = "django-simple-captcha";
+  version = "0.5.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256:1g92sdgcb81r3il34pg0z210cz6wm14k00b558nshai8br1g09gw";
+    extension = "zip";
+  };
+
+  checkInputs = [ testfixtures ];
+  checkPhase = ''
+    cd testproject
+    ${python.interpreter} manage.py test captcha
+  '';
+
+  propagatedBuildInputs = [ django django-ranged-response six pillow ]
+  ++ lib.optional withTTS flite;
+
+  meta = with lib; {
+    description = "An extremely simple, yet highly customizable Django application to add captcha images to any Django form";
+    homepage = "https://github.com/mbi/django-simple-captcha";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mrmebelman schmittlauch ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-storages/default.nix b/nixpkgs/pkgs/development/python-modules/django-storages/default.nix
new file mode 100644
index 000000000000..5756d0ab5e61
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-storages/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-storages";
+  version = "1.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "000abaayhymh4rxmk19hwhlyibc62rs0qdfczkhf4wb3p9san8lk";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  # django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Collection of custom storage backends for Django";
+    homepage = https://django-storages.readthedocs.io;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix b/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix
new file mode 100644
index 000000000000..90993db4c5bf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, python
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "django-versatileimagefield";
+  version = "1.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8322ee9d7bf5ffa5360990320d2cc2efc7017feff35422636d49f625721edf82";
+  };
+  propagatedBuildInputs = [ pillow ];
+
+  checkInputs = [ django ];
+
+  # tests not included with pypi release
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Replaces django's ImageField with a more flexible interface";
+    homepage = "https://github.com/respondcreate/django-versatileimagefield/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/django/1_11.nix b/nixpkgs/pkgs/development/python-modules/django/1_11.nix
index cb82fdc204ca..cbfeb4288cf0 100644
--- a/nixpkgs/pkgs/development/python-modules/django/1_11.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/1_11.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "1.11.24";
+  version = "1.11.27";
 
   src = fetchurl {
     url = "https://www.djangoproject.com/m/releases/1.11/${pname}-${version}.tar.gz";
-    sha256 = "1qw97zcsnbnn9dqad1kps48vfaifdkvqb8c3vld6nnvp7x2jfp11";
+    sha256 = "1f39c5af0lkls6mqw1fd2r9rf4mbshchqjy900ab3lcshs1i6490";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/nixpkgs/pkgs/development/python-modules/django/2_1.nix b/nixpkgs/pkgs/development/python-modules/django/2_1.nix
index 78d595082a46..19e8b0c1a751 100644
--- a/nixpkgs/pkgs/development/python-modules/django/2_1.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/2_1.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.1.11";
+  version = "2.1.15";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1m9bs78sh91slsjxkhxgkg715gbsgph9ky7d74czs0z2mhg86h8s";
+    sha256 = "a794f7a2f4b7c928eecfbc4ebad03712ff27fb545abe269bf01aa8500781eb1c";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/nixpkgs/pkgs/development/python-modules/django/2_2.nix b/nixpkgs/pkgs/development/python-modules/django/2_2.nix
index 95fd8a769289..bc8ae39433d4 100644
--- a/nixpkgs/pkgs/development/python-modules/django/2_2.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/2_2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.5";
+  version = "2.2.9";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mpxmckd1mah0yrp6n8vjk6mq7hxf6d5xcbk6rcmi6z572h0mdyy";
+    sha256 = "199mwqs6apdxjm4afqjbvqs98j2927rv2wbgy5vzvqwjhzviyak6";
   };
 
   patches = stdenv.lib.optional withGdal
diff --git a/nixpkgs/pkgs/development/python-modules/django_contrib_comments/default.nix b/nixpkgs/pkgs/development/python-modules/django_contrib_comments/default.nix
index 96c63738eb7b..12d8c220affd 100644
--- a/nixpkgs/pkgs/development/python-modules/django_contrib_comments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_contrib_comments/default.nix
@@ -2,18 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , django
+, six
 }:
 
 buildPythonPackage rec {
   pname = "django-contrib-comments";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "61b051d7bc3ff593e86b41a1ed5e969423cf55cc92768598af3315e2528e0890";
+    sha256 = "d1232bade3094de07dcc205fc833204384e71ba9d30caadcb5bb2882ce8e8d31";
   };
 
-  propagatedBuildInputs = [ django ];
+  propagatedBuildInputs = [ django six ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/django/django-contrib-comments;
diff --git a/nixpkgs/pkgs/development/python-modules/django_evolution/default.nix b/nixpkgs/pkgs/development/python-modules/django_evolution/default.nix
index 45447b70ae60..7d53d4580430 100644
--- a/nixpkgs/pkgs/development/python-modules/django_evolution/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_evolution/default.nix
@@ -19,8 +19,9 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A database schema evolution tool for the Django web framework";
-    homepage = http://code.google.com/p/django-evolution/;
+    homepage = "https://github.com/beanbaginc/django-evolution";
     license = licenses.bsd0;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
index 007d70ca8106..db11817186e0 100644
--- a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
@@ -4,11 +4,11 @@
 }:
 buildPythonPackage rec {
   pname = "django-guardian";
-  version = "1.5.1";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fixr2g5amdgqzh0rvfvd7hbxyfd5ra3y3s0fsmp8i1b68p97930";
+    sha256 = "8cf4efd67a863eb32beafd4335a38ffb083630f8ab2045212d27f8f9c3abe5a6";
   };
 
   checkInputs = [ pytest pytestrunner pytest-django django_environ mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/django_redis/default.nix b/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
index 85761be9ba5f..c19ca2553194 100644
--- a/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
@@ -2,11 +2,11 @@
   mock, django, redis, msgpack }:
 buildPythonPackage rec {
   pname = "django-redis";
-  version = "4.10.0";
+  version = "4.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rxcwnv9ik0swkwvfqdi9i9baw6n8if5pj6q63fjh4p9chw3j2xg";
+    sha256 = "a5b1e3ffd3198735e6c529d9bdf38ca3fcb3155515249b98dc4d966b8ddf9d2b";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
index 69c2f5317289..5a4faf5f24e3 100644
--- a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed46722389fb2441860d471c7538967dee545bcee891d3d907b04f4baa98f5fa";
+    sha256 = "1add55bb05311f4acd26683dd71af60729d4f33dfe42c608da8e15e679a32009";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
index 13ba5ef7964e..85e5f8f02f05 100644
--- a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "django-silk";
-  version = "3.0.3";
+  version = "3.0.4";
 
   # pypi tarball doesn't include test project
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = "django-silk";
     rev = version;
-    sha256 = "0j1r88zv7fvmlnrzr2h65czzdcpvl7n847ra1pfc52bfa4lf8b9j";
+    sha256 = "10542yvbchcy8hik2hw3jclb4ic89mxkw0sykag4bw9sv43xv7vx";
   };
   # "test_time_taken" tests aren't suitable for reproducible execution, but django's
   # test runner doesn't have an easy way to ignore tests - so instead prevent it from picking
diff --git a/nixpkgs/pkgs/development/python-modules/django_taggit/default.nix b/nixpkgs/pkgs/development/python-modules/django_taggit/default.nix
index b454fc321084..2851894b6b6f 100644
--- a/nixpkgs/pkgs/development/python-modules/django_taggit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_taggit/default.nix
@@ -6,16 +6,17 @@
 , django
 , mock
 , isort
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "1.1.0";
-  disabled = pythonOlder "2.7";
+  version = "1.2.0";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "044fzcpmns90kaxdi49qczlam4xsi8rl73rpfwvxx1gkcqzidgq1";
+    sha256 = "4186a6ce1e1e9af5e2db8dd3479c5d31fa11a87d216a2ce5089ba3afde24a2c5";
   };
 
   propagatedBuildInputs = [ isort django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django_treebeard/default.nix b/nixpkgs/pkgs/development/python-modules/django_treebeard/default.nix
index 5c45b18be640..d4b3464b6aeb 100644
--- a/nixpkgs/pkgs/development/python-modules/django_treebeard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_treebeard/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-treebeard";
-  version = "4.3";
+  version = "4.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c21db06a8d4943bf2a28d9d7a119058698fb76116df2679ecbf15a46a501de42";
+    sha256 = "83aebc34a9f06de7daaec330d858d1c47887e81be3da77e3541fe7368196dd8a";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
index 98f9c04c09fc..df8d62e9bdc9 100644
--- a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "djangoql";
-  version = "0.12.6";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mwv1ljznj9mn74ncvcyfmj6ygs8xm2rajpxm88gcac9hhdmk5gs";
+    sha256 = "366293d7d4e416f9f7d6e2b98775c2129222fbb4dc660f3e6c7b9e35a3cf3fce";
   };
 
   propagatedBuildInputs = [ ply ];
diff --git a/nixpkgs/pkgs/development/python-modules/djangorestframework/default.nix b/nixpkgs/pkgs/development/python-modules/djangorestframework/default.nix
index 12dcbf3993ab..60e5760b5244 100644
--- a/nixpkgs/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,11 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, django }:
+{ stdenv, buildPythonPackage, fetchPypi, django, isPy27 }:
+
 buildPythonPackage rec {
-  version = "3.9.4";
+  version = "3.11.0";
   pname = "djangorestframework";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c12869cfd83c33d579b17b3cb28a2ae7322a53c3ce85580c2a2ebe4e3f56c4fb";
+    sha256 = "e782087823c47a26826ee5b6fa0c542968219263fb3976ec3c31edab23a4001f";
   };
 
   # Test settings are missing
diff --git a/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix b/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
index ef0a6f907412..c65fdfec9533 100644
--- a/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "dkimpy";
-  version = "0.9.2";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83d5ddc1b83304dbccba1dc7b9e0ee37bec4269bb9ad5779480991525c3811d6";
+    sha256 = "19rz48pzz1i5cc896khaqx2hkhcj5hwsklnyynrdgdr5818qjyff";
 };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/dmenu/default.nix b/nixpkgs/pkgs/development/python-modules/dmenu/default.nix
index d7ec8161ef5e..7897138d59f8 100644
--- a/nixpkgs/pkgs/development/python-modules/dmenu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dnslib/default.nix b/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
index 65f45ca86f6b..e6ec04bb79e2 100644
--- a/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "dnslib";
-  version = "0.9.10";
+  version = "0.9.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "666bf55274a630a2925411c4ea9ca724529299bbe70f91979ad99c72c5e5099e";
+    sha256 = "c206f09948f3ad17884adffdb552b700072c6022fa59744a0f0606114c475e19";
   };
 
   checkPhase = "VERSIONS=${python.interpreter} ./run_tests.sh";
diff --git a/nixpkgs/pkgs/development/python-modules/docker/default.nix b/nixpkgs/pkgs/development/python-modules/docker/default.nix
index d82cc0d3f6b8..3d4a73bc969e 100644
--- a/nixpkgs/pkgs/development/python-modules/docker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docker/default.nix
@@ -1,42 +1,44 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy27
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27
 , backports_ssl_match_hostname
 , mock
 , paramiko
 , pytest
+, pytestCheckHook
 , requests
 , six
 , websocket_client
 }:
 
 buildPythonPackage rec {
-  version = "4.0.2";
   pname = "docker";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0r1i46h8x1vfvadayyvmh5hc6mpzgv3vvp6pv4g1wavamya2wnyc";
+    sha256 = "1hdgics03fz2fbhalzys7a7kjj54jnl5a37h6lzdgym41gkwa1kf";
   };
 
+  nativeBuildInputs = [
+    pytestCheckHook
+  ] ++ lib.optional isPy27 mock;
+
   propagatedBuildInputs = [
-    six
+    paramiko
     requests
+    six
     websocket_client
-    paramiko
-  ] ++ stdenv.lib.optional isPy27 backports_ssl_match_hostname;
+  ] ++ lib.optional isPy27 backports_ssl_match_hostname;
 
-  checkInputs = [
-    mock
-    pytest
-  ];
+  pytestFlagsArray = [ "tests/unit" ];
+  # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
+  disabledTests = lib.optionals stdenv.isDarwin [ "stream_response" "socket_file" ];
 
-  # Other tests touch network
-  checkPhase = ''
-    ${pytest}/bin/pytest tests/unit/
-  '';
+  # skip setuptoolsCheckPhase
+  doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An API client for docker written in Python";
-    homepage = https://github.com/docker/docker-py;
+    homepage = "https://github.com/docker/docker-py";
     license = licenses.asl20;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/docutils/default.nix b/nixpkgs/pkgs/development/python-modules/docutils/default.nix
index b84535c21124..31dd58cdf6a9 100644
--- a/nixpkgs/pkgs/development/python-modules/docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docutils/default.nix
@@ -1,18 +1,19 @@
 { stdenv
 , lib
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , isPy3k
+, isPy38
 , python
 }:
 
 buildPythonPackage rec {
   pname = "docutils";
-  version = "0.14";
+  version = "0.15.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/docutils/${pname}.tar.gz";
-    sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "168s5v7bff5ar9jspr6wn823q1sbn0jhnbp9clk41nl8j09fmbm2";
   };
 
   # Only Darwin needs LANG, but we could set it in general.
@@ -30,6 +31,10 @@ buildPythonPackage rec {
     done
   '';
 
+  # Four tests are broken with 3.8.
+  # test_writers.test_odt.DocutilsOdtTestCase
+  doCheck = !isPy38;
+
   meta = {
     description = "Docutils -- Python Documentation Utilities";
     homepage = http://docutils.sourceforge.net/;
diff --git a/nixpkgs/pkgs/development/python-modules/dodgy/default.nix b/nixpkgs/pkgs/development/python-modules/dodgy/default.nix
new file mode 100644
index 000000000000..ecd3cc6ce758
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dodgy/default.nix
@@ -0,0 +1,40 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, lib
+
+# pythonPackages
+, mock
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "dodgy";
+  version = "0.2.1";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "landscapeio";
+    repo = pname;
+    rev = version;
+    sha256 = "0ywwjpz0p6ls3hp1lndjr9ql6s5lkj7dgpll1h87w04kwan70j0x";
+  };
+
+  checkInputs = [
+    mock
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests tests/test_checks.py
+  '';
+
+  meta = with lib; {
+    description = "Looks at Python code to search for things which look \"dodgy\" such as passwords or diffs";
+    homepage = "https://github.com/landscapeio/dodgy";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix b/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
index b44597b8d13f..414e9b065c73 100644
--- a/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "dogpile.cache";
-  version = "0.7.1";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "691b7f199561c4bd6e7e96f164a43cc3781b0c87bea29b7d59d859f873fd4a31";
+    sha256 = "0sr1fn6b4k5bh0cscd9yi8csqxvj4ngzildav58x5p694mc86j5k";
   };
 
   # Disable concurrency tests that often fail,
@@ -19,6 +19,11 @@ buildPythonPackage rec {
     rm tests/cache/test_memcached_backend.py
   '';
 
+  dontUseSetuptoolsCheck = true;
+  checkPhase = ''
+    pytest
+  '';
+
   checkInputs = [ pytest pytestcov mock Mako ];
 
   propagatedBuildInputs = [ decorator ];
diff --git a/nixpkgs/pkgs/development/python-modules/dotnetcore2/default.nix b/nixpkgs/pkgs/development/python-modules/dotnetcore2/default.nix
index caafeb54740f..4d3edf0906a0 100644
--- a/nixpkgs/pkgs/development/python-modules/dotnetcore2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dotnetcore2/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "dotnetcore2";
-  version = "2.1.8.1";
+  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 = "13zrff5j767d3f8drl397sjhl28winsrfa8pa20svf00xfcsy34s";
+    sha256 = "0qhp94bjz4icz2f0fnhgck875chiqzy4lvsp6lwhj5jd0zsv2bb3";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/python-modules/dotnetcore2/runtime.patch b/nixpkgs/pkgs/development/python-modules/dotnetcore2/runtime.patch
index 54322087a780..28cf10e21d15 100644
--- a/nixpkgs/pkgs/development/python-modules/dotnetcore2/runtime.patch
+++ b/nixpkgs/pkgs/development/python-modules/dotnetcore2/runtime.patch
@@ -1,7 +1,8 @@
-diff a/dotnetcore2/runtime.py b/dotnetcore2/runtime.py
+diff --git a/dotnetcore2/runtime.py b/dotnetcore2/runtime.py
+index 475e2b4..5b578ec 100644
 --- a/dotnetcore2/runtime.py
 +++ b/dotnetcore2/runtime.py
-@@ -39,13 +39,13 @@ def _get_bin_folder() -> str:
+@@ -41,6 +41,7 @@ def _get_bin_folder() -> str:
  
  
  def get_runtime_path():
@@ -9,6 +10,8 @@ diff a/dotnetcore2/runtime.py b/dotnetcore2/runtime.py
      search_string = os.path.join(_get_bin_folder(), 'dotnet*')
      matches = [f for f in glob.glob(search_string, recursive=True)]
      return matches[0]
+@@ -96,8 +97,7 @@ class _FileLock():
+ 
  
  def ensure_dependencies() -> Optional[str]:
 -    if dist is None:
diff --git a/nixpkgs/pkgs/development/python-modules/dpkt/default.nix b/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
index c8c7f255afa8..567cd85fa943 100644
--- a/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols";
-    homepage = https://code.google.com/p/dpkt/;
+    homepage = "https://github.com/kbandla/dpkt";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/python-modules/drms/default.nix b/nixpkgs/pkgs/development/python-modules/drms/default.nix
index 4d322695ebf2..975ec8400b2b 100644
--- a/nixpkgs/pkgs/development/python-modules/drms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drms/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "drms";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95cac0e14532893a44eeab8e329ddb76150e6848153d8cb1e4e08ba55569e6af";
+    sha256 = "ab3ec6d072b1980f77dadf3b2cb0fe56c648eaf927ea381f606b4db66d4cbff2";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dugong/default.nix b/nixpkgs/pkgs/development/python-modules/dugong/default.nix
index 09faabb98cc6..09a0f25e18fd 100644
--- a/nixpkgs/pkgs/development/python-modules/dugong/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dugong/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "dugong";
-  version = "3.7.4";
+  version = "3.7.5";
 
   disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.bz2";
-    sha256 = "1fb9kwib6jsd09bxiz70av6g0blscygkx7xzaz1b7ibd28ms77zd";
+    sha256 = "10vjdp21m0gzm096lgl84z184s5l9iz69ppj6acgsc125037dl6h";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
index 5ab65ace69f5..785f37144bec 100644
--- a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
@@ -4,12 +4,12 @@
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "0.19.11";
+  version = "0.19.14";
   pname = "dulwich";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afbe070f6899357e33f63f3f3696e601731fef66c64a489dea1bc9f539f4a725";
+    sha256 = "d1320232c859ab086fff79eee8fa6ddbcbcbe01ff0c64c9bed48eca470b00b46";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix b/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
index dae1df695624..894363237f50 100644
--- a/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "easy-thumbnails";
-  version = "2.6";
+  version = "2.7";
 
   meta = {
     description = "Easy thumbnails for Django";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "23fbe3415c93b2369ece8ebdfb5faa05540943bef8b941b3118ce769ba95e275";
+    sha256 = "e4e7a0dd4001f56bfd4058428f2c91eafe27d33ef3b8b33ac4e013b159b9ff91";
   };
 
   propagatedBuildInputs = [ django pillow ];
diff --git a/nixpkgs/pkgs/development/python-modules/easyprocess/default.nix b/nixpkgs/pkgs/development/python-modules/easyprocess/default.nix
index 7f8a803740d0..32acb1213a88 100644
--- a/nixpkgs/pkgs/development/python-modules/easyprocess/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easyprocess/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "EasyProcess";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f757cd16cdab5b87117b4ee6cf197f99bfa109253364c7bd717ad0bcd39218a0";
+    sha256 = "da7f67a006e2eb63d86a8f3f4baa9d6752dab9676009a67193a4e433f2f41c2a";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/development/python-modules/easysnmp/default.nix b/nixpkgs/pkgs/development/python-modules/easysnmp/default.nix
new file mode 100644
index 000000000000..2602fba77139
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/easysnmp/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, pythonAtLeast
+, fetchFromGitHub
+, net-snmp
+, openssl
+, pytest
+, pytestcov
+, pytest-flake8
+, pytest-sugar
+, termcolor
+}:
+
+buildPythonPackage rec {
+  pname = "easysnmp";
+  version = "0.2.5";
+
+  # See https://github.com/kamakazikamikaze/easysnmp/issues/108
+  disabled = pythonAtLeast "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kamakazikamikaze";
+    repo = pname;
+    rev = version;
+    sha256 = "1si9iyxqj6z22jzn6m93lwpinsqn20lix2py3jm3g3fmwawkd735";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pytest-flake8
+    pytest-sugar
+    termcolor
+  ];
+
+  buildInputs = [
+    net-snmp
+    openssl
+  ];
+
+  buildPhase = ''
+    python setup.py build bdist_wheel --basedir=${lib.getBin net-snmp}/bin
+  '';
+
+  # Unable to get tests to pass, even running by hand. The pytest tests have
+  # become stale.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A blazingly fast and Pythonic SNMP library based on the official Net-SNMP bindings";
+    homepage = https://easysnmp.readthedocs.io/en/latest/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ WhittlesJr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix b/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
index 95e1835198e0..aa69b7e2fcde 100644
--- a/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
@@ -2,17 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , pkgs
+, six
 }:
 
 buildPythonPackage rec {
   pname = "ecdsa";
-  version = "0.13.2";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c034ffa23413ac923541ceb3ac14ec15a0d2530690413bff58c12b80e56d884";
+    sha256 = "64c613005f13efec6541bb0a33290d0d03c27abab5f15fbab20fb0ee162bdd8e";
   };
 
+  propagatedBuildInputs = [ six ];
   # Only needed for tests
   checkInputs = [ pkgs.openssl ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/ed25519/default.nix b/nixpkgs/pkgs/development/python-modules/ed25519/default.nix
index b1026e8d446a..cd3c98e9cce0 100644
--- a/nixpkgs/pkgs/development/python-modules/ed25519/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ed25519/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ed25519";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499";
+    sha256 = "0n1k83ww0pr4q6z0h7p8hvy21hcgb96jvgllfbwhvvyf37h3w182";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/effect/default.nix b/nixpkgs/pkgs/development/python-modules/effect/default.nix
index 6b8329550da3..fec5518f0e80 100644
--- a/nixpkgs/pkgs/development/python-modules/effect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/effect/default.nix
@@ -7,12 +7,12 @@
 , testtools
 }:
 buildPythonPackage rec {
-  version = "0.12.0";
+  version = "1.1.0";
   pname = "effect";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s8zsncq4l0ar2b4dijf8yzrk13x2swr1w2nb30s1p5jd6r24czl";
+    sha256 = "7affb603707c648b07b11781ebb793a4b9aee8acf1ac5764c3ed2112adf0c9ea";
   };
   checkInputs = [
     pytest
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
index b906f94b4272..382a9965293b 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "elasticsearch-dsl";
-  version = "7.0.0";
+  version = "7.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08kgpcf6lp8gjan6dvdx35340i4yqa77klapk8j7165svfjc5v9a";
+    sha256 = "3f860e0304d703f63b458fea3782f09a823ab07da7ee84ae4bff1aa63e22aedb";
   };
 
   propagatedBuildInputs = [ elasticsearch python-dateutil six ]
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
index dc991f529fcb..ccef465eca19 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage (rec {
   pname = "elasticsearch";
-  version = "7.0.2";
+  version = "7.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbc73831c63fa2824538df76fcb2c4be007b43dbd9e7788ae70ea6d24109925b";
+    sha256 = "0140787216646e1eb7eb001f8146aff7071d7ca438854249787b6cc221ddd266";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
index 1d2d34541fa6..093a30d29dab 100644
--- a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
@@ -1,17 +1,14 @@
-{ buildPythonPackage
-, lib
-, fetchFromGitHub
-}:
+{ lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
-  version = "1.1.8";
+  version = "1.3.3";
   pname = "elementpath";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "v${version}";
-    sha256 = "0krczvf8r6pb3hb8qaxl9h2b4qwg180xk66gyxjf002im7ri75aj";
+    sha256 = "05wplh836ffwhncf5rpdnz4g1b3mqw7jiy83352nw4x3aak4ifbr";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/nixpkgs/pkgs/development/python-modules/emcee/default.nix b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
index 382dd5089153..ed513579457f 100644
--- a/nixpkgs/pkgs/development/python-modules/emcee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
@@ -3,18 +3,18 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "2.2.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172";
+    sha256 = "035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388";
   };
 
   propagatedBuildInputs = [ numpy ];
 
   meta = with stdenv.lib; {
     description = "Kick ass affine-invariant ensemble MCMC sampling";
-    homepage = http://dan.iel.fm/emcee;
+    homepage = "https://emcee.readthedocs.io/";
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/emoji/default.nix b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
index 01cd9190647e..5f3d14e73c71 100644
--- a/nixpkgs/pkgs/development/python-modules/emoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kn6qq1h0d6cg70wk0hji6bcwg5s18ys6gfmlmfmx8420ka150dn";
+    sha256 = "0x61xypwswhghchp5svs084didkgfwqpq2fbiapvirff5lx2srb0";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/entrance/default.nix b/nixpkgs/pkgs/development/python-modules/entrance/default.nix
new file mode 100644
index 000000000000..67005d577cd1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/entrance/default.nix
@@ -0,0 +1,45 @@
+{ lib, fetchPypi, buildPythonPackage, pythonOlder, routerFeatures
+, janus, ncclient, paramiko, pyyaml, sanic }:
+
+let
+  # The `routerFeatures` flag optionally brings in some somewhat heavy
+  # dependencies, in order to enable interacting with routers
+  opts = if routerFeatures then {
+      prePatch = ''
+        substituteInPlace ./setup.py --replace "extra_deps = []" "extra_deps = router_feature_deps"
+      '';
+      extraBuildInputs = [ janus ncclient paramiko ];
+    } else {
+      prePatch = "";
+      extraBuildInputs = [];
+    };
+
+in
+
+buildPythonPackage rec {
+  pname = "entrance";
+  version = "1.1.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "080qkvkmfw4004cl721l5bvpg001xz8vs6q59dg797kqxfrwk5kw";
+  };
+
+  # The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later
+  disabled = pythonOlder "3.6";
+
+  # No useful tests
+  doCheck = false;
+
+  propagatedBuildInputs = [ pyyaml sanic ] ++ opts.extraBuildInputs;
+
+  prePatch = opts.prePatch;
+
+  meta = with lib; {
+    description = "A server framework for web apps with an Elm frontend";
+    homepage = https://github.com/ensoft/entrance;
+    license = licenses.mit;
+    maintainers = with maintainers; [ simonchatts ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/enum-compat/default.nix b/nixpkgs/pkgs/development/python-modules/enum-compat/default.nix
index 29c8184bd4e8..e95eb089bc47 100644
--- a/nixpkgs/pkgs/development/python-modules/enum-compat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enum-compat/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "enum-compat";
-  version = "0.0.2";
+  version = "0.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14j1i963jic2vncbf9k5nq1vvv8pw2zsg7yvwhm7d9c6h7qyz74k";
+    sha256 = "3677daabed56a6f724451d585662253d8fb4e5569845aafa8bb0da36b1a8751e";
   };
 
   propagatedBuildInputs = [ enum34 ];
diff --git a/nixpkgs/pkgs/development/python-modules/ephem/default.nix b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
index 742fdb83b72e..2b7815c69787 100644
--- a/nixpkgs/pkgs/development/python-modules/ephem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
@@ -3,25 +3,20 @@
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "3.7.6.0";
+  version = "3.7.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a4c82b1def2893e02aec0394f108d24adb17bd7b0ca6f4bc78eb7120c0212ac";
+    sha256 = "0dj4kk325b01s7q1zkwpm9rrzl7n1jf7fr92wcajjhc5kx14hwb0";
   };
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   checkInputs = [ pytest glibcLocales ];
   # JPLTest uses assets not distributed in package
   checkPhase = ''
     LC_ALL="en_US.UTF-8" py.test --pyargs ephem.tests -k "not JPLTest"
   '';
 
-  # Unfortunately, the tests are broken for Python 3 in 3.7.6.0. They have been
-  # fixed in https://github.com/brandon-rhodes/pyephem/commit/c8633854e2d251a198b0f701d0528b508baa2411
-  # but there has not been a new release since then.
-  doCheck = !isPy3k;
-
   meta = with stdenv.lib; {
     description = "Compute positions of the planets and stars";
     homepage = https://pypi.python.org/pypi/ephem/;
diff --git a/nixpkgs/pkgs/development/python-modules/etelemetry/default.nix b/nixpkgs/pkgs/development/python-modules/etelemetry/default.nix
new file mode 100644
index 000000000000..2323a4dcd579
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/etelemetry/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, requests, pytest }:
+
+buildPythonPackage rec {
+  version = "0.1.2";
+  pname = "etelemetry";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0m3dqvs3xbckmjiwppy366qmgzx0z917j1d7dadfl3bprgipy51j";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # all 2 of the tests both try to pull down from a url
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "etelemetry"
+    "etelemetry.client"
+    "etelemetry.config"
+  ];
+
+  meta = with lib; {
+    description = "Lightweight python client to communicate with the etelemetry server";
+    homepage = "https://github.com/mgxd/etelemetry-client";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/evdev/default.nix b/nixpkgs/pkgs/development/python-modules/evdev/default.nix
index f44a9f222794..1711131be2d9 100644
--- a/nixpkgs/pkgs/development/python-modules/evdev/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/evdev/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "evdev";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l837gm9cjdp3lybnam38ip0q3n1xy0j6vzgx11hdrr0ps8p5mid";
+    sha256 = "b03f5e1be5b4a5327494a981b831d251a142b09e8778eda1a8b53eba91100166";
   };
 
   buildInputs = [ linuxHeaders ];
diff --git a/nixpkgs/pkgs/development/python-modules/eve/default.nix b/nixpkgs/pkgs/development/python-modules/eve/default.nix
index e23821a48e46..a8ac610855d5 100644
--- a/nixpkgs/pkgs/development/python-modules/eve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eve/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "Eve";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18shfaxa1vqshnyiqx3jqsri2wxz9ibip3mdxaz8pljmk734r4b1";
+    sha256 = "ebde455e631b8eb9d38783eedfbd7e416b4477cce3d9988880eb3e477256a11e";
   };
 
   propagatedBuildInputs = [
@@ -19,6 +19,11 @@ buildPythonPackage rec {
     werkzeug
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "werkzeug==0.15.4" "werkzeug"
+  '';
+
   # tests call a running mongodb instance
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
index a72184f2c1ea..0436f3cbdb15 100644
--- a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "eventlet";
-  version = "0.24.1";
+  version = "0.25.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d";
+    sha256 = "6c9c625af48424c4680d89314dbe45a76cc990cf002489f9469ff214b044ffc1";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
index d6f533a58bfe..ed2a7d69da89 100644
--- a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
@@ -28,5 +28,6 @@ buildPythonPackage rec {
     homepage    = "https://github.com/ecederstrand/exchangelib";
     license     = licenses.bsd2;
     maintainers = with maintainers; [ catern ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/execnet/default.nix b/nixpkgs/pkgs/development/python-modules/execnet/default.nix
index c7766802e4e4..bc7b67f52d42 100644
--- a/nixpkgs/pkgs/development/python-modules/execnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/execnet/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "execnet";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3839f3c1e9270926e7b3d9b0a52a57be89c302a3826a2b19c8d6e6c3d2b506d2";
+    sha256 = "cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/extras/default.nix b/nixpkgs/pkgs/development/python-modules/extras/default.nix
index adcc43f26509..ff8432ab2d27 100644
--- a/nixpkgs/pkgs/development/python-modules/extras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/extras/default.nix
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
-    homepage = https://code.google.com/p/mimeparse/;
+    description = "Useful extra bits for Python - things that should be in the standard library";
+    homepage = "https://github.com/testing-cabal/extras";
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/eyed3/default.nix b/nixpkgs/pkgs/development/python-modules/eyed3/default.nix
index a06f276232ef..47602afa07d7 100644
--- a/nixpkgs/pkgs/development/python-modules/eyed3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eyed3/default.nix
@@ -13,13 +13,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.10";
+  version = "0.8.12";
   pname    = "eyeD3";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc";
+    sha256 = "e54eec0a03fb8e7e9e8b509546c6d92efbc871ea7597611fe2c16f03e1c94b6d";
   };
 
   # 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/nixpkgs/pkgs/development/python-modules/face/default.nix b/nixpkgs/pkgs/development/python-modules/face/default.nix
index 107259854976..948236b3f013 100644
--- a/nixpkgs/pkgs/development/python-modules/face/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/face/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "face";
-  version = "0.1.0";
+  version = "19.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zdp5qlrhxf4dypvvd0zr7zxj2svkz9wblp37vgw01wvcy9b1ds7";
+    sha256 = "38c94ec17a4d6f9628f094b697faca0f802f4028071ce8cbdb3116d4cde772a3";
   };
 
   propagatedBuildInputs = [ boltons ];
diff --git a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix b/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
index 0c87f309489e..becf1cc19726 100644
--- a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
@@ -1,8 +1,10 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , faker
 , python
+, ipaddress
 }:
 
 buildPythonPackage rec {
@@ -14,16 +16,12 @@ buildPythonPackage rec {
     sha256 = "0w53hjgag6ad5i2vmrys8ysk54agsqvgbjy9lg8g0d8pi9h8vx7s";
   };
 
-  propagatedBuildInputs = [ faker ];
+  propagatedBuildInputs = [ faker ] ++ lib.optionals isPy27 [ ipaddress ];
 
   # tests not included with pypi release
   doCheck = false;
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Python package to create factories for complex objects";
     homepage    = https://github.com/rbarrois/factory_boy;
     license     = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/faker/default.nix b/nixpkgs/pkgs/development/python-modules/faker/default.nix
index e597e07ca364..0d8c77f557f0 100644
--- a/nixpkgs/pkgs/development/python-modules/faker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faker/default.nix
@@ -10,26 +10,28 @@
   , pytestrunner
   , random2
   , ukpostcodeparser
+  , validators
 }:
 
 assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "1.0.7";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jins8jlqyxjwx6i2h2jknwwfpi0bpz1qggvw6xnbxl0g9spyiv0";
+    sha256 = "92c84a10bec81217d9cb554ee12b3838c8986ce0b5d45f72f769da22e4bb5432";
   };
 
-  buildInputs = [ pytestrunner ];
+  nativeBuildInputs = [ pytestrunner ];
   checkInputs = [
     email_validator
     freezegun
     pytest
     random2
     ukpostcodeparser
+    validators
   ]
   ++ lib.optionals (pythonOlder "3.3") [ mock ]
   ++ lib.optionals (pythonOlder "3.0") [ more-itertools ];
@@ -38,18 +40,10 @@ buildPythonPackage rec {
     dateutil
     six
     text-unidecode
-  ] ++ lib.optional (pythonOlder "3.3") ipaddress;
+  ];
 
   postPatch = ''
     substituteInPlace setup.py --replace "pytest>=3.8.0,<3.9" "pytest"
-
-    # see https://github.com/joke2k/faker/pull/911, fine since we pin correct
-    # versions for python2
-    substituteInPlace setup.py --replace "more-itertools<6.0.0" "more-itertools"
-
-    # https://github.com/joke2k/faker/issues/970
-    substituteInPlace setup.py --replace "random2==1.0.1" "random2>=1.0.1"
-    substituteInPlace setup.py --replace "freezegun==0.3.11" "freezegun>=0.3.11"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
index 89431d8b52f8..75edf5dc424c 100644
--- a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
@@ -1,22 +1,28 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , uvicorn
 , starlette
 , pydantic
-, python
 , isPy3k
-, which
+, pytest
+, pytestcov
+, pyjwt
+, passlib
+, aiosqlite
 }:
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.33.0";
+  version = "0.45.0";
+  format = "flit";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1mc8ljfk6xyn2cq725s8hgapp62z5mylzw9akvkhwwz3bh8m5a7f";
+  src = fetchFromGitHub {
+    owner = "tiangolo";
+    repo = "fastapi";
+    rev = version;
+    sha256 = "1qwh382ny6qa3zi64micdq4j7dc64zv4rfd8g91j0digd4rhs6i1";
   };
 
   propagatedBuildInputs = [
@@ -25,10 +31,24 @@ buildPythonPackage rec {
     pydantic
   ];
 
-  patches = [ ./setup.py.patch ];
+  checkInputs = [
+    pytest
+    pytestcov
+    pyjwt
+    passlib
+    aiosqlite
+  ];
+
+  # starlette pinning kept in place due to 0.12.9 being a hard
+  # dependency luckily fastapi is currently the only dependent on
+  # starlette. Please remove pinning when possible
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "pydantic >=0.32.2,<=0.32.2" "pydantic"
+  '';
 
   checkPhase = ''
-    ${python.interpreter} -c "from fastapi import FastAPI; app = FastAPI()"
+    pytest --ignore=tests/test_default_response_class.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi/setup.py.patch b/nixpkgs/pkgs/development/python-modules/fastapi/setup.py.patch
deleted file mode 100644
index 43661343d744..000000000000
--- a/nixpkgs/pkgs/development/python-modules/fastapi/setup.py.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index ccc3d2b..77ce446 100644
---- a/setup.py
-+++ b/setup.py
-@@ -10,7 +10,7 @@ package_data = \
- {'': ['*']}
- 
- install_requires = \
--['starlette >=0.11.1,<=0.12.0', 'pydantic >=0.30,<=0.30.0']
-+['starlette >=0.11.1', 'pydantic >=0.30']
- 
- extras_require = \
- {'all': ['requests',
diff --git a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
index 260d1b7f4b30..046fc530969f 100644
--- a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
@@ -1,20 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, numba, numpy, pandas,
-pytestrunner, thrift, pytest, python-snappy, lz4 }:
+{ lib, buildPythonPackage, fetchFromGitHub, numba, numpy, pandas, pytestrunner,
+thrift, pytest, python-snappy, lz4 }:
 
 buildPythonPackage rec {
   pname = "fastparquet";
-  version = "0.2.1";
+  version = "0.3.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "183wdmhnhnlsd7908n3d2g4qnb49fcipqfshghwpbdwdzjpa0day";
-  };
-
-  # Fixes for recent pandas version
-  # See https://github.com/dask/fastparquet/pull/396
-  patches = fetchpatch {
-    url = https://github.com/dask/fastparquet/commit/31fb3115598d1ab62a5c8bf7923a27c16f861529.patch;
-    sha256 = "0r1ig4rydmy4j85dgb52qbsx6knxdwn4dn9h032fg3p6xqq0zlpm";
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = pname;
+    rev = version;
+    sha256 = "142kmyddaq6mvmca23abwns1csn8f3lk9c8mbxwxrg4wa1dh0lb4";
   };
 
   postPatch = ''
@@ -27,9 +22,6 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ numba numpy pandas thrift ];
   checkInputs = [ pytest python-snappy lz4 ];
 
-  # test_data/ missing in PyPI tarball
-  doCheck = false;
-
   meta = with lib; {
     description = "A python implementation of the parquet format";
     homepage = https://github.com/dask/fastparquet;
diff --git a/nixpkgs/pkgs/development/python-modules/favicon/default.nix b/nixpkgs/pkgs/development/python-modules/favicon/default.nix
index 019f4be91c82..16eac939e1ee 100644
--- a/nixpkgs/pkgs/development/python-modules/favicon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/favicon/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "favicon";
-  version = "0.5.1";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01jhb66nrqbf22z6ybpi8ndw6zifgysdmnh547027g96nz51669y";
+    sha256 = "6d6b5a78de2a0d0084589f687f384b2ecd6a6527093fec564403b1a30605d7a8";
   };
 
   buildInputs = [ pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/feedgen/default.nix b/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
index 67ff86e8f729..d59f0a702aa7 100644
--- a/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "feedgen";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82c9e29884e137c3e3e7959a02f142d1f7a46cd387d572e9e40150112a27604f";
+    sha256 = "0551ixbcz2gaala4gi3i8gici3haijj7dhvjsz1a61s050276m96";
   };
 
   propagatedBuildInputs = [ dateutil lxml ];
diff --git a/nixpkgs/pkgs/development/python-modules/feedparser/default.nix b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
index ac91fe51d899..c36fd2b19437 100644
--- a/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/feedparser/;
+    homepage = "https://github.com/kurtmckee/feedparser";
     description = "Universal feed parser";
     license = licenses.bsd2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/nixpkgs/pkgs/development/python-modules/fido2/default.nix b/nixpkgs/pkgs/development/python-modules/fido2/default.nix
index 8922d6e05195..96019f61cac0 100644
--- a/nixpkgs/pkgs/development/python-modules/fido2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fido2/default.nix
@@ -1,15 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi
-, six, cryptography
-, mock, pyfakefs
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, cryptography
+, mock
+, pyfakefs
 }:
 
 buildPythonPackage rec {
   pname = "fido2";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11wdcjymw8y6wxgp29gbhdxff3lpc5yp5fcqnr5vnj88g192ic27";
+    sha256 = "1hzprnd407g2xh9kyv8j8pq949hwr1snmg3fp65pqfbghzv6i424";
   };
 
   propagatedBuildInputs = [ six cryptography ];
@@ -18,7 +22,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
-    homepage = https://github.com/Yubico/python-fido2;
-    license = licenses.mpl20;
+    homepage = "https://github.com/Yubico/python-fido2";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ prusnak ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/filebytes/default.nix b/nixpkgs/pkgs/development/python-modules/filebytes/default.nix
index 7102e5d73c41..e3f638276c26 100644
--- a/nixpkgs/pkgs/development/python-modules/filebytes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/filebytes/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "filebytes";
-  version = "0.9.21";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09e306feafd435e240b6ca22e6319ce51862dbe99e3481368fc9a2d15d2263d5";
+    sha256 = "97d1f1f4ba660d8df6c51beea36ea7185704307d54b0b5d72ce57415c9ece082";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/filterpy/default.nix b/nixpkgs/pkgs/development/python-modules/filterpy/default.nix
index 47f2c083d8a3..076a3a72b89f 100644
--- a/nixpkgs/pkgs/development/python-modules/filterpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/filterpy/default.nix
@@ -5,11 +5,13 @@
 , scipy
 , matplotlib
 , pytest
+, isPy3k
 }:
 
 buildPythonPackage rec {
   version = "1.4.5";
   pname = "filterpy";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/fints/default.nix b/nixpkgs/pkgs/development/python-modules/fints/default.nix
index f780c76fd6d5..d3f796ab9501 100644
--- a/nixpkgs/pkgs/development/python-modules/fints/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fints/default.nix
@@ -7,7 +7,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.2.0";
+  version = "3.0.0";
   pname = "fints";
   disabled = isPy27;
 
@@ -15,14 +15,9 @@ buildPythonPackage rec {
     owner = "raphaelm";
     repo = "python-fints";
     rev = "v${version}";
-    sha256 = "1gx173dzdprf3jsc7dss0xax8s6l2hr02qg9m5c4rksb3dl5fl8w";
+    sha256 = "00fqgnmv7z6d792ga4cyzn9lrfjf79jplkssm2jbyb0akfggfj7h";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'sepaxml==2.0.*' 'sepaxml~=2.0'
-  '';
-
   propagatedBuildInputs = [ requests mt-940 sepaxml bleach ];
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/fiona/default.nix b/nixpkgs/pkgs/development/python-modules/fiona/default.nix
index 6dd74742741e..abc0853b4c71 100644
--- a/nixpkgs/pkgs/development/python-modules/fiona/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fiona/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, pythonOlder
+{ stdenv, lib, buildPythonPackage, fetchPypi, isPy3k, pythonOlder
 , attrs, click, cligj, click-plugins, six, munch, enum34
-, pytest, boto3, mock
+, pytest, boto3, mock, giflib
 , gdal_2 # can't bump to 3 yet, https://github.com/Toblerity/Fiona/issues/745
 }:
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.8.6";
+  version = "1.8.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gpvdrayam4qvpqvz0911nlyvf7ib3slsyml52qx172vhpldycgs";
+    sha256 = "5ec34898c8b983a723fb4e949dd3e0ed7e691c303e51f6bfd61e52ac9ac813ae";
   };
 
-  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+  CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
 
   nativeBuildInputs = [
     gdal_2 # for gdal-config
@@ -21,7 +21,7 @@ buildPythonPackage rec {
 
   buildInputs = [
     gdal_2
-  ];
+  ] ++ lib.optionals stdenv.cc.isClang [ giflib ];
 
   propagatedBuildInputs = [
     attrs
@@ -30,12 +30,12 @@ buildPythonPackage rec {
     click-plugins
     six
     munch
-  ] ++ stdenv.lib.optional (!isPy3k) enum34;
+  ] ++ lib.optional (!isPy3k) enum34;
 
   checkInputs = [
     pytest
     boto3
-  ] ++ stdenv.lib.optional (pythonOlder "3.4") mock;
+  ] ++ lib.optional (pythonOlder "3.4") mock;
 
   checkPhase = ''
     rm -r fiona # prevent importing local fiona
@@ -45,9 +45,9 @@ buildPythonPackage rec {
            and not test_*_wheel"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "OGR's neat, nimble, no-nonsense API for Python";
-    homepage = http://toblerity.org/fiona/;
+    homepage = "https://fiona.readthedocs.io/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/flake8-debugger/default.nix b/nixpkgs/pkgs/development/python-modules/flake8-debugger/default.nix
index 32e9a08b7414..e6ac743396a0 100644
--- a/nixpkgs/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  version = "3.1.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "be4fb88de3ee8f6dd5053a2d347e2c0a2b54bab6733a2280bb20ebd3c4ca1d97";
+    sha256 = "712d7c1ff69ddf3f0130e94cc88c2519e720760bce45e8c330bfdcb61ab4090d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/flake8/default.nix b/nixpkgs/pkgs/development/python-modules/flake8/default.nix
index 7016e69bd0c1..e76b7cdf2690 100644
--- a/nixpkgs/pkgs/development/python-modules/flake8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flake8/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "flake8";
-  version = "3.7.7";
+  version = "3.7.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661";
+    sha256 = "45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb";
   };
 
   checkInputs = [ pytest mock pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/flaky/default.nix b/nixpkgs/pkgs/development/python-modules/flaky/default.nix
index 523e6ac53e6b..c4e803245d5e 100644
--- a/nixpkgs/pkgs/development/python-modules/flaky/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flaky/default.nix
@@ -2,22 +2,29 @@
 , buildPythonPackage
 , fetchPypi
 , mock
+, nose
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "flaky";
-  version = "3.5.3";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12bd5e41f372b2190e8d754b6e5829c2f11dbc764e10b30f57e59f829c9ca1da";
+    sha256 = "8cd5455bb00c677f787da424eaf8c4a58a922d0e97126d3085db5b279a98b698";
   };
 
-  buildInputs = [ mock pytest ];
+  checkInputs = [ mock nose pytest ];
 
-  # waiting for feedback https://github.com/box/flaky/issues/97
-  doCheck = false;
+  checkPhase = ''
+    # based on tox.ini
+    pytest -k 'example and not options' --doctest-modules test/test_pytest/
+    pytest -k 'example and not options' test/test_pytest/
+    pytest -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py
+    nosetests --with-flaky --force-flaky --max-runs 2 test/test_nose/test_nose_options_example.py
+    pytest --force-flaky --max-runs 2  test/test_pytest/test_pytest_options_example.py
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/box/flaky;
diff --git a/nixpkgs/pkgs/development/python-modules/flammkuchen/default.nix b/nixpkgs/pkgs/development/python-modules/flammkuchen/default.nix
new file mode 100644
index 000000000000..3a3d82cd8bbf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flammkuchen/default.nix
@@ -0,0 +1,36 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy27
+, numpy
+, scipy
+, tables
+, pandas
+, nose
+, configparser
+}:
+
+buildPythonPackage rec {
+  pname = "flammkuchen";
+  version = "0.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e9aab9b229ace70d879b85618a9ce0e88dd6ce35d4dbcdfd60c6b61c33a1b4fb";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    tables
+    pandas
+  ] ++ lib.optionals isPy27 [ configparser ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/flammkuchen";
+    description = "Flexible HDF5 saving/loading library forked from deepdish (University of Chicago) and maintained by the Portugues lab";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
new file mode 100644
index 000000000000..3a2c1fe5e9b6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-api/default.nix b/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
index b0f9682ed854..8bb6a472c9fd 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-API";
-  version = "1.1";
+  version = "2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0r23pdlaz6ibz9vml3m7v6v3firvykbrsi1zzxkdhls0zi9jq560";
+    sha256 = "6986642e5b25b7def710ca9489ed2b88c94006bfc06eca01c78da7cf447e66e5";
   };
 
   propagatedBuildInputs = [ flask markdown ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix b/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
new file mode 100644
index 000000000000..46841f68d60f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-babelex/default.nix b/nixpkgs/pkgs/development/python-modules/flask-babelex/default.nix
new file mode 100644
index 000000000000..c61967af6bcd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-bcrypt/default.nix b/nixpkgs/pkgs/development/python-modules/flask-bcrypt/default.nix
new file mode 100644
index 000000000000..dfcdad18f9c6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-caching/default.nix b/nixpkgs/pkgs/development/python-modules/flask-caching/default.nix
index bd528af6bfab..64c3e3384dcc 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-caching/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-caching/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, flask, pytest, pytestcov, pytest-xprocess }:
+{ lib, buildPythonPackage, fetchPypi, flask, pytest, pytestcov, pytest-xprocess, pytestcache }:
 
 buildPythonPackage rec {
   pname = "Flask-Caching";
-  version = "1.7.2";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17jnnmnpdflv120yhsfbnpick06iias6f2hcxmf1mi1nr35kdqjj";
+    sha256 = "3d0bd13c448c1640334131ed4163a12aff7df2155e73860f07fc9e5e75de7126";
   };
 
   propagatedBuildInputs = [ flask ];
 
-  checkInputs = [ pytest pytestcov pytest-xprocess ];
+  checkInputs = [ pytest pytestcov pytest-xprocess pytestcache ];
 
   # backend_cache relies on pytest-cache, which is a stale package from 2013
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flask-cors/default.nix b/nixpkgs/pkgs/development/python-modules/flask-cors/default.nix
index 2c07b68c3b8c..c532802a7f4d 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-cors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-cors/default.nix
@@ -10,9 +10,15 @@ buildPythonPackage rec {
     sha256 = "05id72xwvhni23yasdvpdd8vsf3v4j6gzbqqff2g04j6xcih85vj";
   };
 
-  buildInputs = [ nose ];
+  checkInputs = [ nose ];
   propagatedBuildInputs = [ flask six ];
 
+  # Exclude test_acl_uncaught_exception_500 test case because is not compatible
+  # with Flask>=1.1.0. See: https://github.com/corydolphin/flask-cors/issues/253
+  checkPhase = ''
+    nosetests --exclude test_acl_uncaught_exception_500
+  '';
+
   meta = with stdenv.lib; {
     description = "A Flask extension adding a decorator for CORS support";
     homepage = https://github.com/corydolphin/flask-cors;
diff --git a/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix b/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
index 466bfb441219..9f8e27ea20f9 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
@@ -17,6 +17,6 @@ buildPythonPackage rec {
     description = "Integrates official client for Elasticsearch into Flask";
     license = licenses.bsd3;
     maintainers = [ maintainers.mic92 ];
-    homepage = https://github.com/cepture/foppch/flask-elastic;
+    homepage = "https://github.com/marceltschoppch/flask-elastic";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-httpauth/default.nix b/nixpkgs/pkgs/development/python-modules/flask-httpauth/default.nix
new file mode 100644
index 000000000000..051b83d1c3d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-httpauth/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, flask }:
+
+buildPythonPackage rec {
+  pname = "Flask-HTTPAuth";
+  version = "3.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fb1kr1iw6inkwfv160rpjx54vv1q9b90psdyyghyy1f6dhvgy3f";
+  };
+
+  propagatedBuildInputs = [ flask ];
+
+  meta = with lib; {
+    description = "Extension that provides HTTP authentication for Flask routes";
+    homepage = "https://github.com/miguelgrinberg/Flask-HTTPAuth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
index 693e733e73a8..1fcb7e3cd875 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-JWT-Extended";
-  version = "3.23.0";
+  version = "3.24.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05nf94dp80i68gs61pf67qj1y6i56jgdxmibqmns5wz6z33fi7wj";
+    sha256 = "1p8rwcsscyjw2m7dbybiaflqk4z1r2d1kp9r9qqyjfzblxpyxa0a";
   };
 
   propagatedBuildInputs = [ dateutil flask pyjwt werkzeug ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
index a60c5a993ea3..01b340a2847c 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-Limiter";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f0diannnc6rc0ngsh222lws3qf89wxm0aschaxxvwjvybf9iklc";
+    sha256 = "905c35cd87bf60c92fd87922ae23fe27aa5fb31980bab31fc00807adee9f5a55";
   };
 
   propagatedBuildInputs = [ flask limits ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix b/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix
new file mode 100644
index 000000000000..5e61a2415b7c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix b/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix
new file mode 100644
index 000000000000..c1f9a51a2250
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
index 52dd77c83916..ba1c0b10d15a 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flask-paginate";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15plwkmi6i7p85q2vgyvmn0l4c2h7pj4mmiziwghyyqbd1rc0dr2";
+    sha256 = "60079a1c4c600cb4d4a9f7c386ea357b5ee02355ae6d6e8b41f769ae3f7af3ad";
   };
 
   propagatedBuildInputs = [ flask ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-restplus/default.nix b/nixpkgs/pkgs/development/python-modules/flask-restplus/default.nix
index f7f8360fa48d..2fc0fa8569ba 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-restplus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-restplus/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "flask-restplus";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3fad697e1d91dfc13c078abcb86003f438a751c5a4ff41b84c9050199d2eab62";
+    sha256 = "0p4zz8b5bwbw7w0vhbyihl99d2gw13cb81rxzj4z626a1cnl8vm6";
   };
 
   checkInputs = [ nose blinker tzlocal mock rednose ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
index b97fc2430be7..5ec462a45e0c 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-SocketIO";
-  version = "3.2.2";
+  version = "4.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee8e2954ec3ae0abf19f50fce5ec8b7b9ff937c5353c0a72c7e1cfb86df1195d";
+    sha256 = "2172dff1e42415ba480cee02c30c2fc833671ff326f1598ee3d69aa02cf768ec";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
index 2ff84f2531b0..02d8d25bafee 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-SQLAlchemy";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nnllf0ddbh9jlhngnyjj98lbxgxr1csaplllx0caw98syq0k5hc";
+    sha256 = "6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d";
   };
 
   propagatedBuildInputs = [ flask sqlalchemy ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-swagger-ui/default.nix b/nixpkgs/pkgs/development/python-modules/flask-swagger-ui/default.nix
new file mode 100644
index 000000000000..a281864117bc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-swagger-ui/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, flask }:
+
+buildPythonPackage rec {
+  pname = "flask-swagger-ui";
+  version = "3.20.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3282c770764c8053360f33b2fc120e1d169ecca2138537d0e6e1135b1f9d4ff2";
+  };
+
+  doCheck = false;  # there are no tests
+
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/sveint/flask-swagger-ui";
+    license = licenses.mit;
+    description = "Swagger UI blueprint for Flask";
+    maintainers = with maintainers; [ vanschelven ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask/default.nix b/nixpkgs/pkgs/development/python-modules/flask/default.nix
index bc7962d41081..a330b9dd8a62 100644
--- a/nixpkgs/pkgs/development/python-modules/flask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask/default.nix
@@ -2,12 +2,12 @@
 , itsdangerous, click, werkzeug, jinja2, pytest }:
 
 buildPythonPackage rec {
-  version = "1.0.4";
+  version = "1.1.1";
   pname = "Flask";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed1330220a321138de53ec7c534c3d90cf2f7af938c7880fc3da13aa46bf870f";
+    sha256 = "13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/flit/default.nix b/nixpkgs/pkgs/development/python-modules/flit/default.nix
index 64decd9c41c8..22bba39ff010 100644
--- a/nixpkgs/pkgs/development/python-modules/flit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flit/default.nix
@@ -7,7 +7,7 @@
 , requests_download
 , zipfile36
 , pythonOlder
-, pytest
+, pytest_4
 , testpath
 , responses
 , pytoml
@@ -21,17 +21,17 @@
 buildPythonPackage rec {
   pname = "flit";
   version = "1.3";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "6f6f0fb83c51ffa3a150fa41b5ac118df9ea4a87c2c06dff4ebf9adbe7b52b36";
   };
 
-  disabled = !isPy3k;
   propagatedBuildInputs = [ docutils requests requests_download pytoml ]
     ++ lib.optional (pythonOlder "3.6") zipfile36;
 
-  checkInputs = [ pytest testpath responses ];
+  checkInputs = [ pytest_4 testpath responses ];
 
   # Disable test that needs some ini file.
   # Disable test that wants hg
@@ -39,10 +39,10 @@ buildPythonPackage rec {
     HOME=$(mktemp -d) pytest -k "not test_invalid_classifier and not test_build_sdist"
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A simple packaging tool for simple packages";
     homepage = https://github.com/takluyver/flit;
-    license = lib.licenses.bsd3;
-    maintainers = [ lib.maintainers.fridh ];
+    license = licenses.bsd3;
+    maintainers = [ maintainers.fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix b/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
index 96073556ea43..4064fc494b12 100644
--- a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "flowlogs_reader";
-  version = "1.1.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd6344fdad097c38756772624922ee37452ef1e131213c7d0b5702bcf52a5b02";
+    sha256 = "256c67afabc1783e8a378c7589877f76660c6a645aa6dfe1759e26f4a93a22d0";
   };
 
   propagatedBuildInputs = [ botocore boto3 docutils ];
diff --git a/nixpkgs/pkgs/development/python-modules/fluent-logger/default.nix b/nixpkgs/pkgs/development/python-modules/fluent-logger/default.nix
index 8af0bce82f3c..dab4ce30f6f9 100644
--- a/nixpkgs/pkgs/development/python-modules/fluent-logger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fluent-logger/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fluent-logger";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09vii0iclfq6vhz37xyybksq9m3538hkr7z40sz2dlpf2rkg98mg";
+    sha256 = "814cb51892c620a00c5a6129fffaa09eeeb0c8822c9bcb4f96232ae3cbc4d8b3";
   };
 
   propagatedBuildInputs = [ msgpack ];
diff --git a/nixpkgs/pkgs/development/python-modules/flup/default.nix b/nixpkgs/pkgs/development/python-modules/flup/default.nix
index 8256f5a1063d..a6ef4d421df3 100644
--- a/nixpkgs/pkgs/development/python-modules/flup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flup/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = "http://trac.saddi.com/flup";
+    homepage = "https://www.saddi.com/software/flup/";
     description = "FastCGI Python module set";
     license = licenses.bsd0;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/folium/default.nix b/nixpkgs/pkgs/development/python-modules/folium/default.nix
index c89bfbfd5244..967e7cf09c10 100644
--- a/nixpkgs/pkgs/development/python-modules/folium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/folium/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "folium";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18fzxijsgrb95r0a8anc9ba5ijyw3nlnv3rpavfbkqa5v878x84f";
+    sha256 = "0gcc267wxwxr57ry86pqpbiyfvl0g48hfvgy0f2mz9s58g87kgzd";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
index 4e83955db55c..f85afa770210 100644
--- a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , numpy
 , pytest
 , pytestrunner
@@ -9,11 +10,12 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.42.0";
+  version = "4.2.2";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w0ncs61821bnc2smfllnhfw5b8fwz972yqcgb64lr5qiwxkj2y0";
+    sha256 = "66bb3dfe7efe5972b0145339c063ffaf9539e973f7ff8791df84366eafc65804";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/foolscap/default.nix b/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
index 8680ff2d2aad..a9ab0db1ed92 100644
--- a/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "foolscap";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sqxp4fshnpcv69c2j04v8c22pjak28iwscxv998h2s3054knxz2";
+    sha256 = "8498c7e9eaecb5b19be74b18d55c2086440be08de29f2bb507f9b505757467ff";
   };
 
   propagatedBuildInputs = [ mock twisted pyopenssl service-identity ];
diff --git a/nixpkgs/pkgs/development/python-modules/foxdot/default.nix b/nixpkgs/pkgs/development/python-modules/foxdot/default.nix
index ed4f950e3631..ae4e32291c3f 100644
--- a/nixpkgs/pkgs/development/python-modules/foxdot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/foxdot/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "FoxDot";
-  version = "0.8.1";
+  version = "0.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "147n2c9rwmrby8rr6xfxlh7mfm12lqk2a7v1gxlzhq1i2jj1j5h4";
+    sha256 = "8b6d810f5389692c45d236dec89cecc4ff32ad053e4c878c91363acfa4508639";
   };
 
   propagatedBuildInputs = [ tkinter supercollider ];
diff --git a/nixpkgs/pkgs/development/python-modules/fpylll/default.nix b/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
index a27e9494911c..e23351d3da6d 100644
--- a/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , buildPythonPackage
 , pkgconfig
 , gmp
@@ -14,15 +15,29 @@
 
 buildPythonPackage rec {
   pname = "fpylll";
-  version = "0.4.1dev";
+  version = "0.5.1dev";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fpylll";
     rev = version;
-    sha256 = "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w";
+    sha256 = "15vdfgx448mr1nf054h7lr2j3dd35fsfhikqzrh9zsng8n12hxa5";
   };
 
+  patches = [
+    # two patches to fix the testsuite on aarch64 (https://github.com/fplll/fpylll/issues/162)
+    (fetchpatch {
+      url = "https://github.com/fplll/fpylll/commit/d5809a8fdb86b2693b1fa94e655bbbe4ad80e286.patch";
+      name = "less-precision-in-tests.patch";
+      sha256 = "0vkvi25nwwvk5r4a4xmkbf060di4hjq32bys75l2hsaysxmk93nz";
+    })
+    (fetchpatch {
+      url = "https://github.com/fplll/fpylll/commit/b5b146a010d50da219a313adc4b6f7deddcc146b.patch";
+      name = "dont-hardcode-precision.patch";
+      sha256 = "1rsbwh90i1j5p2rp6jd5n25v1jzw1n8728fzz1lhb91zmk0hlxc9";
+    })
+  ];
+
   buildInputs = [
     gmp
     pari
@@ -45,11 +60,16 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    py.test
+    # Since upstream introduced --doctest-modules in
+    # https://github.com/fplll/fpylll/commit/9732fdb40cf1bd43ad1f60762ec0a8401743fc79,
+    # it is necessary to ignore import mismatches. Not sure why, but the files
+    # should be identical anyway.
+    PY_IGNORE_IMPORTMISMATCH=1 pytest
   '';
 
   meta = {
     description = "A Python interface for fplll";
+    changelog = "https://github.com/fplll/fpylll/releases/tag/${version}";
     homepage = https://github.com/fplll/fpylll;
     maintainers = with lib.maintainers; [ timokau ];
     license = lib.licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
index ced7d7bdcd4a..32e9e9393ce6 100644
--- a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "0.6.5";
+  version = "0.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14g3sxprq65lxbgkf3rjgb1bjqnj2jc5p1swlq9sk9gwnl6ca3ds";
+    sha256 = "adc629a48b50700f5478f69436e4b78c8792a9260cc674cccef15ffe68eb0643";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
index 26277161b0bc..cb9723742dc0 100644
--- a/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fs-s3fs";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "49bfa4572bb11e37324dd43be935ab99376259eff652365aef0e4a747bb11418";
+    sha256 = "b57f8c7664460ff7b451b4b44ca2ea9623a374d74e1284c2d5e6df499dc7976c";
   };
 
   propagatedBuildInputs = [ fs six boto3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/fs/default.nix b/nixpkgs/pkgs/development/python-modules/fs/default.nix
index cbbb88868468..fee20021e1a4 100644
--- a/nixpkgs/pkgs/development/python-modules/fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fs/default.nix
@@ -15,19 +15,20 @@
 , mock
 , pythonAtLeast
 , isPy3k
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "fs";
-  version = "2.4.8";
+  version = "2.4.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5e19251e939b10d50e4b58b0cf2862851794abcf4aa4387b67c69dd61e97b3dc";
+    sha256 = "cc99d476b500f993df8ef697b96dc70928ca2946a455c396a566efe021126767";
   };
 
   buildInputs = [ glibcLocales ];
-  checkInputs = [ nose pyftpdlib mock psutil ];
+  checkInputs = [ nose pyftpdlib mock psutil pytest ];
   propagatedBuildInputs = [ six appdirs pytz ]
     ++ lib.optionals (!isPy3k) [ backports_os ]
     ++ lib.optionals (!pythonAtLeast "3.6") [ typing ]
@@ -37,7 +38,7 @@ buildPythonPackage rec {
   LC_ALL="en_US.utf-8";
 
   checkPhase = ''
-    HOME=$(mktemp -d) nosetests tests []
+    HOME=$(mktemp -d) pytest -k 'not user_data_repr' --ignore=tests/test_opener.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
index 8f4b9cf8c890..7e0ed8b9712d 100644
--- a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
@@ -1,26 +1,34 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "0.4.1";
-
+  version = "0.6.2";
   disabled = pythonOlder "3.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0fvm1kdnnbf0pppv23mlfdqh220gcldmv72w2rdxp6ks1rcphzg3";
+  src = fetchFromGitHub {
+    owner = "intake";
+    repo = "filesystem_spec";
+    rev = version;
+    sha256 = "1y3d6xw14rcldz9779ir6mjaff4rk82ch6ahn4y9mya0qglpc31i";
   };
 
-  # no tests
-  doCheck = false;
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with lib; {
-    description = "A specification that python filesystems should adhere to.";
-    homepage = "https://github.com/intake/filesystem_spec";
+    description = "A specification that python filesystems should adhere to";
+    homepage = https://github.com/intake/filesystem_spec;
     license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/funcparserlib/default.nix b/nixpkgs/pkgs/development/python-modules/funcparserlib/default.nix
index 6c3f5f6d0186..3a9503419ecd 100644
--- a/nixpkgs/pkgs/development/python-modules/funcparserlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/funcparserlib/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Recursive descent parsing library based on functional combinators";
-    homepage = https://code.google.com/p/funcparserlib/;
+    homepage = "https://github.com/vlasovskikh/funcparserlib";
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/funcy/default.nix b/nixpkgs/pkgs/development/python-modules/funcy/default.nix
index 0220fd1aeb9d..87a3b830bf83 100644
--- a/nixpkgs/pkgs/development/python-modules/funcy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/funcy/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "funcy";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hxii7g4fn301vr8wg53jc1jkvbjlbaz1fbpgpn4362xcwzk73wi";
+    sha256 = "1i55c5kjvkb3y2jqfnlx3iirrd512mxjdhjpm1l2xya6nk1q9vkm";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/development/python-modules/fuse-python/default.nix b/nixpkgs/pkgs/development/python-modules/fuse-python/default.nix
index cf965dd244fc..0ac33be3899d 100644
--- a/nixpkgs/pkgs/development/python-modules/fuse-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fuse-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fuse-python";
-  version = "0.3.1";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p1f01gah1y8skirrwsbxapz3g6drqihnkjh27b45ifg43h45g7x";
+    sha256 = "cbaa21c8f0a440302d1ba9fd57a80cf9ff227e5a3820708a8ba8450db883cc05";
   };
 
   buildInputs = [ fuse ];
diff --git a/nixpkgs/pkgs/development/python-modules/future/default.nix b/nixpkgs/pkgs/development/python-modules/future/default.nix
index ecaa1c08b2c2..dad0372a8c1f 100644
--- a/nixpkgs/pkgs/development/python-modules/future/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/future/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "future";
-  version = "0.17.1";
+  version = "0.18.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8";
+    sha256 = "b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/futures/default.nix b/nixpkgs/pkgs/development/python-modules/futures/default.nix
index e7397950643f..bc19a31927af 100644
--- a/nixpkgs/pkgs/development/python-modules/futures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/futures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "futures";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265";
+    sha256 = "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794";
   };
 
   # This module is for backporting functionality to Python 2.x, it's builtin in py3k
diff --git a/nixpkgs/pkgs/development/python-modules/fx2/default.nix b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
index fa5edc1077c6..2d47e0669d88 100644
--- a/nixpkgs/pkgs/development/python-modules/fx2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage {
   pname = "fx2";
-  version = "unstable-2019-08-27";
+  version = "unstable-2019-09-23";
 
   src = fetchFromGitHub {
     owner = "whitequark";
     repo = "libfx2";
-    rev = "dd1e42c7b46ff410dbb18beab46111bb5491400c";
-    sha256 = "0xvlmx6ym0ylrvnlqzf18d475wa0mfci7wkdbv30gl3hgdhsppjz";
+    rev = "3adb4fc842f174b0686ed122c0309d68356edc11";
+    sha256 = "0b3zp50mschsxi2v3192dmnpw32gwblyl8aswlz9a0vx1qg3ibzn";
   };
 
   nativeBuildInputs = [ sdcc ];
diff --git a/nixpkgs/pkgs/development/python-modules/gast/default.nix b/nixpkgs/pkgs/development/python-modules/gast/default.nix
index a85f78dccb28..b0f90f7ce176 100644
--- a/nixpkgs/pkgs/development/python-modules/gast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gast/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "gast";
-  version =  "0.2.2";
+  version =  "0.3.2";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w5dzdb3gpcfmd2s0b93d8gff40a1s41rv31458z14inb3s9v4zy";
+    sha256 = "5c7617f1f6c8b8b426819642b16b9016727ddaecd16af9a07753e537eba8a3a5";
   };
   checkInputs = [ astunparse ] ;
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/gateone/default.nix b/nixpkgs/pkgs/development/python-modules/gateone/default.nix
index f9ad118673ac..7a6aa659acec 100644
--- a/nixpkgs/pkgs/development/python-modules/gateone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gateone/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://liftoffsoftware.com/;
+    homepage = "http://liftoffsoftware.com/";
     description = "GateOne is a web-based terminal emulator and SSH client";
     maintainers = with maintainers; [ tomberek ];
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/development/python-modules/gcovr/default.nix b/nixpkgs/pkgs/development/python-modules/gcovr/default.nix
index e6f45a2b4c69..278bd381ca6a 100644
--- a/nixpkgs/pkgs/development/python-modules/gcovr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcovr/default.nix
@@ -2,19 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , jinja2
+, lxml
 }:
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca94c337f2d9a70db177ec4330534fad7b2b772beda625c1ec071fbcf1361e22";
+    sha256 = "0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs";
   };
 
   propagatedBuildInputs = [
     jinja2
+    lxml
   ];
 
   # There are no unit tests in the pypi tarball. Most of the unit tests on the
@@ -22,6 +24,12 @@ buildPythonPackage rec {
   # See also: https://github.com/gcovr/gcovr/issues/206
   doCheck = false;
 
+  pythonImportsCheck = [
+    "gcovr"
+    "gcovr.workers"
+    "gcovr.configuration"
+  ];
+
   meta = with stdenv.lib; {
     description = "A Python script for summarizing gcov data";
     license = licenses.bsd0;
diff --git a/nixpkgs/pkgs/development/python-modules/gdata/default.nix b/nixpkgs/pkgs/development/python-modules/gdata/default.nix
index dbf2911ce195..182fdc402a64 100644
--- a/nixpkgs/pkgs/development/python-modules/gdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gdata/default.nix
@@ -8,7 +8,7 @@ buildPythonPackage rec {
   version = "2.0.18";
 
   src = fetchurl {
-    url = "https://gdata-python-client.googlecode.com/files/${pname}-${version}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gdata-python-client/${pname}-${version}.tar.gz";
     sha256 = "1dpxl5hwyyqd71avpm5vkvw8fhlvf9liizmhrq9jphhrx0nx5rsn";
   };
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://code.google.com/p/gdata-python-client/;
+    homepage = "https://github.com/google/gdata-python-client";
     description = "Python client library for Google data APIs";
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/genanki/default.nix b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
index a39d3e58733e..bab5b26635d1 100644
--- a/nixpkgs/pkgs/development/python-modules/genanki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.6.4";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d17761e06aca2d9acb588acfdce33fd3d05571338825760622c99fc7210f15a";
+    sha256 = "c7c6c276f182a63a807b52a95f197df12794ff014f48dd287cb51ca2dcbe1b34";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gensim/default.nix b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
index a717a0ef6e8a..592db824f3f1 100644
--- a/nixpkgs/pkgs/development/python-modules/gensim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
@@ -6,15 +6,17 @@
 , scipy
 , smart_open
 , scikitlearn, testfixtures, unittest2
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "3.8.0";
+  version = "3.8.1";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rjpmxcd4hphq41y7frg6by6gwjjmrdbnim8jvx951ps5gzyfpgc";
+    sha256 = "33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy ];
diff --git a/nixpkgs/pkgs/development/python-modules/geographiclib/default.nix b/nixpkgs/pkgs/development/python-modules/geographiclib/default.nix
new file mode 100644
index 000000000000..0c275b672abd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/geographiclib/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "geographiclib";
+  version = "1.50";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cn6ap5fkh3mkfa57l5b44z3gvz7j6lpmc9rl4g2jny2gvp4dg8j";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://geographiclib.sourceforge.io";
+    description = "Algorithms for geodesics (Karney, 2013) for solving the direct and inverse problems for an ellipsoid of revolution";
+    license = licenses.mit;
+    maintainers = with maintainers; [ va1entin ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/geoip2/default.nix b/nixpkgs/pkgs/development/python-modules/geoip2/default.nix
index 97371d1b65a2..1f03b1dd7254 100644
--- a/nixpkgs/pkgs/development/python-modules/geoip2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoip2/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.9.0";
+  version = "3.0.0";
   pname = "geoip2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w7cay5q6zawjzivqbwz5cqx1qbdjw6kbriccb7l46p7b39fkzzp";
+    sha256 = "1q1ciqqd0qjkpgwsg9fws8wcqchkcq84gv2g4q3xgh2lpj3yjsaq";
   };
 
   propagatedBuildInputs = [ requests maxminddb ]
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "MaxMind GeoIP2 API";
     homepage = "https://www.maxmind.com/en/home";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/geopandas/default.nix b/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
index de313dc1c7d6..5a6313be583c 100644
--- a/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "geopandas";
-  version = "0.5.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "geopandas";
     repo = "geopandas";
     rev = "v${version}";
-    sha256 = "1j665fpkyfib17z0hn3bg2j96pbkgd36yfif6jyia4yn6g76hlfg";
+    sha256 = "1wy2n204vf5bbswgma205lr1is7nnxr385m4x3v7pra05bq8ag3q";
   };
 
   checkInputs = [ pytest Rtree ];
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python geospatial data analysis framework";
-    homepage = https://geopandas.org;
+    homepage = "http://geopandas.org";
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/geopy/2.nix b/nixpkgs/pkgs/development/python-modules/geopy/2.nix
new file mode 100644
index 000000000000..49876872724b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/geopy/default.nix b/nixpkgs/pkgs/development/python-modules/geopy/default.nix
index 9dbfeb7472c0..817c1e38418e 100644
--- a/nixpkgs/pkgs/development/python-modules/geopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geopy/default.nix
@@ -1,30 +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;
+    maintainers = with maintainers; [GuillaumeDesforges];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix b/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
index 140f93f33f80..341d08d95ed4 100644
--- a/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "gidgethub";
-  version = "3.1.0";
+  version = "3.2.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52119435ba73ddd5e697dae7bec8b93a048bc738720b81691ebd4b4d81d2d762";
+    sha256 = "8f4b69063a256994d38243cc0eba4e1453017b5b8b04a173216d02d47ffc3989";
   };
 
   nativeBuildInputs = [ setuptools pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/gin-config/default.nix b/nixpkgs/pkgs/development/python-modules/gin-config/default.nix
index 8701751e3a0b..5e8343a4b0c3 100644
--- a/nixpkgs/pkgs/development/python-modules/gin-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gin-config/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "gin-config";
-  version = "0.1.3";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07843fde2917f1a44f808fceb3c0227bb02ff7c4ebba8de6642206c03e7e8ba2";
+    sha256 = "6305325d5afe470fa5a7130883035e51950478b317750205a1532e5413d4ba4c";
 
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/git-annex-adapter/default.nix b/nixpkgs/pkgs/development/python-modules/git-annex-adapter/default.nix
index ec58825878ae..a7bac0fd7626 100644
--- a/nixpkgs/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     homepage = https://github.com/alpernebbi/git-annex-adapter;
     description = "Call git-annex commands from Python";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda ma27 ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/git-revise/default.nix b/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
index 86d4decc6d8f..dfc0b4afb8a1 100644
--- a/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
+, pythonOlder
 , tox
 , pytest
 , pylint
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "git-revise";
-  version = "0.4.2";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mq1fh8m6jxl052d811cgpl378hiq20a8zrhdjn0i3dqmxrcb8vs";
+    sha256 = "0l3xhg00106p7ysg4gl9dna2zcrax58mzmm0ajjaxw58jfn8wsf1";
   };
 
-  disabled = !(pythonAtLeast "3.6");
+  disabled = pythonOlder "3.6";
 
   checkInputs = [ tox pytest pylint mypy black ];
 
@@ -29,6 +29,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Efficiently update, split, and rearrange git commits";
     homepage = https://github.com/mystor/git-revise;
+    changelog = "https://github.com/mystor/git-revise/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ emily ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gitdb2/default.nix b/nixpkgs/pkgs/development/python-modules/gitdb2/default.nix
index 2b6a118885c7..ff4cc913f034 100644
--- a/nixpkgs/pkgs/development/python-modules/gitdb2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gitdb2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "gitdb2";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83361131a1836661a155172932a13c08bda2db3674e4caa32368aa6eb02f38c2";
+    sha256 = "1b6df1433567a51a4a9c1a5a0de977aa351a405cc56d7d35f3388bad1f630350";
   };
 
   propagatedBuildInputs = [ smmap2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/glances/default.nix b/nixpkgs/pkgs/development/python-modules/glances/default.nix
index 0f4bb4ce9c47..f248dffb4fff 100644
--- a/nixpkgs/pkgs/development/python-modules/glances/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glances/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, fetchFromGitHub, isPyPy, lib
+{ buildPythonPackage, fetchFromGitHub, fetchpatch, isPyPy, lib
 , psutil, setuptools, bottle, batinfo, pysnmp
 , hddtemp, future
 # Optional dependencies:
@@ -9,18 +9,23 @@
 
 buildPythonPackage rec {
   pname = "glances";
-  version = "3.1.2";
+  version = "3.1.3";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "1z9sq0chhm8m4gq98yfknxj408cj017h7j375blngjk2zvhw39qd";
+    sha256 = "15yz8sbw3k3n0729g2zcwsxc5iyhkyrhqza6fnipxxpsskwgqbwp";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
-  patches = lib.optional doCheck ./skip-failing-tests.patch;
+  patches = lib.optional doCheck ./skip-failing-tests.patch
+    ++ [ (fetchpatch {
+      # Correct unitest
+      url = "https://github.com/nicolargo/glances/commit/abf64ffde31113f5f46ef286703ff061fc57395f.patch";
+      sha256 = "00krahqq89jvbgrqx2359cndmvq5maffhpj163z10s1n7q80kxp1";
+    }) ];
 
   doCheck = true;
   checkInputs = [ unittest2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/glasgow/default.nix b/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
index 264a13aed5e7..7717682afda5 100644
--- a/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
+, setuptools_scm
 , sdcc
 , nmigen
 , fx2
@@ -16,19 +18,21 @@
 
 buildPythonPackage rec {
   pname = "glasgow";
-  version = "unstable-2019-08-31";
-  realVersion = lib.substring 0 7 src.rev;
+  version = "unstable-2019-10-16";
+  # python software/setup.py --version
+  realVersion = "0.1.dev1286+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "GlasgowEmbedded";
-    repo = "Glasgow";
-    rev = "21641a13c6a0daaf8618aff3c5bfffcb26ef6cca";
-    sha256 = "1dpm1jmm4fg8xf17s6h9g5sc09gq8b6xq955sv2x11nrbqf98l4v";
+    repo = "glasgow";
+    rev = "4f968dbe6cf4e9d8e2d0a5163d82e996c24d5e30";
+    sha256 = "1b50n12dc0b3jmim5ywg7daq62k5j4wkgmwzk88ric5ri3b8dl2r";
   };
 
-  nativeBuildInputs = [ sdcc ];
+  nativeBuildInputs = [ setuptools_scm sdcc ];
 
   propagatedBuildInputs = [
+    setuptools
     nmigen
     fx2
     libusb1
@@ -38,25 +42,28 @@ buildPythonPackage rec {
     crcmod
   ];
 
-  postPatch = ''
-    substituteInPlace software/setup.py \
-      --replace 'versioneer.get_version()' '"${realVersion}"'
-  '';
+  checkInputs = [ yosys icestorm nextpnr ];
 
   preBuild = ''
     make -C firmware LIBFX2=${fx2}/share/libfx2
     cp firmware/glasgow.ihex software/glasgow
     cd software
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
   '';
 
-  # a couple failing tests and also installCheck tries to build_ext again
+  # installCheck tries to build_ext again
   doInstallCheck = false;
-  doCheck = false;
 
   checkPhase = ''
     python -m unittest discover
   '';
 
+  makeWrapperArgs = [
+    "--set" "YOSYS" "${yosys}/bin/yosys"
+    "--set" "ICEPACK" "${icestorm}/bin/icepack"
+    "--set" "NEXTPNR_ICE40" "${nextpnr}/bin/nextpnr-ice40"
+  ];
+
   meta = with lib; {
     description = "Software for Glasgow, a digital interface multitool";
     homepage = https://github.com/GlasgowEmbedded/Glasgow;
diff --git a/nixpkgs/pkgs/development/python-modules/glom/default.nix b/nixpkgs/pkgs/development/python-modules/glom/default.nix
index ac193e61dcbd..739ef7d95e46 100644
--- a/nixpkgs/pkgs/development/python-modules/glom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glom/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "glom";
-  version = "19.1.0";
+  version = "19.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c47dc6dc97bb1c20e5607f3d58eac81e13b16880a284b52d503eea92d7b5fc2";
+    sha256 = "c8a50cb9fcf0c84807836c6a73cf61285557834b9050d7bde7732b936aceb7dd";
   };
 
   propagatedBuildInputs = [ boltons attrs face ];
diff --git a/nixpkgs/pkgs/development/python-modules/gmusicapi/default.nix b/nixpkgs/pkgs/development/python-modules/gmusicapi/default.nix
index f8dfc4ff2d39..2b57ce37a7fc 100644
--- a/nixpkgs/pkgs/development/python-modules/gmusicapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gmusicapi/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "gmusicapi";
-  version = "12.0.0";
+  version = "12.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e066f38bbfce068e0e89f34ccdbc7056fd5fdc446d3c33c70f53b26078eb78b";
+    sha256 = "1cgjxqi4a18zp5dx7v71h6wiy3cvggyydkrs008dsfgyhg8s89d8";
   };
 
   propagatedBuildInputs = [ validictory decorator mutagen protobuf setuptools requests dateutil proboscis mock appdirs oauth2client pyopenssl gpsoauth MechanicalSoup future ];
diff --git a/nixpkgs/pkgs/development/python-modules/goobook/default.nix b/nixpkgs/pkgs/development/python-modules/goobook/default.nix
index e63c97c67936..a04bf6250e9e 100644
--- a/nixpkgs/pkgs/development/python-modules/goobook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/goobook/default.nix
@@ -1,18 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k
-, google_api_python_client, simplejson, oauth2client
+, google_api_python_client, simplejson, oauth2client, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "goobook";
-  version = "3.3";
+  version = "3.4";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sanlki1rcqvhbds7a049v2kzglgpm761i728115mdracw0s6i3h";
+    sha256 = "089a95s6g9izsy1fzpz48p6pz0wpngcbbrvsillm1n53492gfhjg";
   };
 
-  propagatedBuildInputs = [ google_api_python_client simplejson oauth2client ];
+  propagatedBuildInputs = [
+    google_api_python_client simplejson oauth2client setuptools
+  ];
 
   meta = with stdenv.lib; {
     description = "Search your google contacts from the command-line or mutt";
diff --git a/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix b/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
index e746b304e8b5..9fc0acc30afa 100644
--- a/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
@@ -14,19 +14,24 @@ with stdenv.lib;
 
 buildPythonPackage rec {
   pname = "GooCalendar";
-  version = "0.4";
+  version = "0.6";
 
-  disabled = isPy3k;
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca3950c2728916d9fb703c886f3940ac9b76739f99ec840b0e1c2c282510e1ab";
+    sha256 = "4c22c93e19b933d10d8ea1c67a67f485267af82175ef59419427dd39d1e3af18";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+  ];
+
   propagatedBuildInputs = [
-    pygtk
     pygobject3
   ];
+
   buildInputs = [
     gtk3
     goocanvas2
@@ -37,8 +42,8 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A calendar widget for GTK using PyGoocanvas.";
-    homepage    = https://goocalendar.tryton.org/;
-    license     = licenses.gpl2;
+    homepage = https://goocalendar.tryton.org/;
+    license = licenses.gpl2;
     maintainers = [ maintainers.udono ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix
index c76f5c572e40..99c9945ea66c 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 2cc1513812fa..54498ba1a853 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth-oauthlib";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fl3w23c93hlgqf0l57cdy17wmvyhrv3bh133ksd2h490ir012va";
+    sha256 = "88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-i18n-address/default.nix b/nixpkgs/pkgs/development/python-modules/google-i18n-address/default.nix
index 6a9a3160c9b2..d7bf6d082f8a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-i18n-address/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-i18n-address/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Google's i18n address data packaged for Python";
     homepage = https://pypi.org/project/google-i18n-address/;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/google-music-proto/default.nix b/nixpkgs/pkgs/development/python-modules/google-music-proto/default.nix
index 6a882e29c194..d3f41880784d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-music-proto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-music-proto/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-music-proto";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "798ac14408593525d1865f608b30f71cce291b1a239f4d63f14bb4dcf79d7528";
+    sha256 = "94cd205b3cb0d9e36f3724ace259d4c6de04db97e095577a26a5cfa5e35844c6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-music/default.nix b/nixpkgs/pkgs/development/python-modules/google-music/default.nix
index 71aa37d00866..0a3f145f131d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-music/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-music/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-music";
-  version = "3.0.1";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13i9nd62wqfg0f5r7ykr15q83397vdpw0js50fy5nbgs33sbf6b7";
+    sha256 = "15d543ab31c981bcb9bfb10f588159848ef570fafb6b9d1347f1429a9b1f531a";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/google-pasta/default.nix b/nixpkgs/pkgs/development/python-modules/google-pasta/default.nix
index e469de924f6a..fc4fb5a46d86 100644
--- a/nixpkgs/pkgs/development/python-modules/google-pasta/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google_api_core/default.nix b/nixpkgs/pkgs/development/python-modules/google_api_core/default.nix
index 5cb027eef460..6bfc10f0a093 100644
--- a/nixpkgs/pkgs/development/python-modules/google_api_core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_api_core/default.nix
@@ -1,24 +1,30 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, google_auth, protobuf, googleapis_common_protos, requests, grpcio, futures, mock, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy27
+, google_auth, protobuf, googleapis_common_protos, requests, setuptools, grpcio, futures, mock }:
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "1.7.0";
+  version = "1.15.0";
+  disabled = isPy27; # google namespace no longer works on python2
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "85693e163a1a6faea69a74f8feaf35d54dfa2559fbdbbe389c93ffb3bb4c9a79";
+    sha256 = "2d661c8d650a1df5805d0e360121cb55c55d8bd29f858fa62cbe943e59ce89f7";
   };
 
   propagatedBuildInputs = [
     googleapis_common_protos protobuf
-    google_auth requests grpcio
+    google_auth requests setuptools grpcio
   ] ++ lib.optional (pythonOlder "3.2") futures;
-  checkInputs = [ mock pytest ];
 
-  checkPhase = ''
-    py.test
-  '';
+  # requires nox
+  doCheck = false;
+  checkInputs = [ mock ];
+
+  pythonImportsCheck = [
+    "google.auth"
+    "google.protobuf"
+    "google.api"
+  ];
 
   meta = with lib; {
     description = "This library is not meant to stand-alone. Instead it defines common helpers used by all Google API clients.";
diff --git a/nixpkgs/pkgs/development/python-modules/google_apputils/default.nix b/nixpkgs/pkgs/development/python-modules/google_apputils/default.nix
index 51b03bf55942..c7b386623ef8 100644
--- a/nixpkgs/pkgs/development/python-modules/google_apputils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_apputils/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Google Application Utilities for Python";
-    homepage = http://code.google.com/p/google-apputils-python;
+    homepage = "https://github.com/google/google-apputils";
     license = licenses.asl20;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/google_auth/default.nix b/nixpkgs/pkgs/development/python-modules/google_auth/default.nix
index 315d4756e0db..01797673fbaa 100644
--- a/nixpkgs/pkgs/development/python-modules/google_auth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_auth/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchpatch, fetchPypi
-, pytest, mock, oauth2client, flask, requests, urllib3, pytest-localserver, six, pyasn1-modules, cachetools, rsa }:
+, pytest, mock, oauth2client, flask, requests, setuptools, urllib3, pytest-localserver, six, pyasn1-modules, cachetools, rsa }:
 
 buildPythonPackage rec {
   pname = "google-auth";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [ pytest mock oauth2client flask requests urllib3 pytest-localserver ];
-  propagatedBuildInputs = [ six pyasn1-modules cachetools rsa ];
+  propagatedBuildInputs = [ six pyasn1-modules cachetools rsa setuptools ];
 
   # The removed test tests the working together of google_auth and google's https://pypi.python.org/pypi/oauth2client
   # but the latter is deprecated. Since it is not currently part of the nixpkgs collection and deprecated it will
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_asset/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_asset/default.nix
index 90c8e752d412..934af49462b3 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_asset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_asset/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "0.1.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "233157c5d902a084477fb5fe6ca1f946d6fe7911577d4a36aee0227777db61b7";
+    sha256 = "35eeb50c101968b4b5eecc840002a6f83af6789b6a947f27f0b2787e30cc1835";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_automl/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_automl/default.nix
index 7f605d73c97a..3fc0fc8598d5 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_automl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "0.1.2";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "32890d1e043eb09a86ff1839096dfb49051cd436bdf1a1708299484cfd06db1a";
+    sha256 = "6541245cdee3e3ba5d98bb3ecd0b343fd5d3de1e880cfc5daf59f4a69a045171";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery/default.nix
index 1646888b36ad..e361b4436ee8 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "1.9.0";
+  version = "1.23.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "169ffdb1b677f69f1f9d032bd38f724aed73e0565153ac17199472c083a3852f";
+    sha256 = "99c341592d711d8f131fe80d842f7e1b04b2ca1faefa1ffedf4dec1b382cebf6";
   };
 
   checkInputs = [ pytest mock ipython ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix
index 23f08f3bbef0..3da3fbfdf855 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02bf1a508ffbc730904fd8a5e7d7c33946f0aa539127c1b1e235dfdedd7bc9a5";
+    sha256 = "9ef431c0747d92dd5d5d4038aab96215dfd20c59235ece99a96d8329792cbcdb";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_bigtable/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_bigtable/default.nix
index 51782dce167a..a71d2e493ddd 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_bigtable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_bigtable/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "0.32.2";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40d1fc8009c228f70bd0e2176e73a3f101051ad73889b3d25a5df672c029a8bd";
+    sha256 = "eea9d4aca54499b555a893fa441deac1bd7ae9cbc8e03bdd681fd33fad72e170";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_container/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_container/default.nix
index f0a47d7c30ff..d0994ce5e0bf 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_container/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_container/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "566834ef43e79917b112e3bd2848e84cfb0f4d7b565581607e2548f5c8e5d87a";
+    sha256 = "90cceceb487f1f4f2336b3674d594bc5e492fadbe27a5f06ca056d7148fd90ba";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_core/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_core/default.nix
index c57433a3ebd8..139ce85a3191 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_core/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, google_api_core, grpcio, pytest, mock }:
+{ stdenv, buildPythonPackage, fetchPypi, python
+, google_api_core, grpcio, pytest, mock, setuptools }:
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "0.29.1";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d85b1aaaf3bad9415ad1d8ee5eadce96d7007a82f13ce0a0629a003a11e83f29";
+    sha256 = "49036087c1170c3fad026e45189f17092b8c584a9accb2d73d1854f494e223ae";
   };
 
-  propagatedBuildInputs = [ google_api_core grpcio ];
+  propagatedBuildInputs = [ google_api_core grpcio setuptools ];
   checkInputs = [ pytest mock ];
 
   checkPhase = ''
-    py.test
+    cd tests
+    ${python.interpreter} -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_dataproc/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_dataproc/default.nix
index 9475c792fb90..becc2678dc16 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_dataproc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_dataproc/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "0.3.1";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e6a6c380757e22e9a45cf5b261be6d6a4262f87ee172a6c21f6f7ad6013827cd";
+    sha256 = "302bc448e77f1de958ba7413fb85819eda911043f219d8fc030a356848bc6f31";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_datastore/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_datastore/default.nix
index f514d22ef081..7f47725cde35 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_datastore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_datastore/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "1.7.4";
+  version = "1.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a44d9b0263cbbe05963522f61ba177e64282043f30999e0bc3368fd79a3af12";
+    sha256 = "cae213e3817f37fdc3ac27c3a162024de3319ad0faf87a536fce375c4a1c1dc9";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_dlp/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_dlp/default.nix
index 0f46ff36a39f..309909384351 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_dlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_dlp/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "0.10.0";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5cc7e40842b6c3dc586d04e3d2b2326b44afbe3896da6a30032d64650a7c6b00";
+    sha256 = "844f5e63597c2a15561eec68397ee5f425e9be7728d2d7072f50f983fab31b9a";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_dns/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_dns/default.nix
index 398c2b664677..3ed34303a727 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_dns/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dns";
-  version = "0.29.3";
+  version = "0.31.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a876811e44554fb8a8db4df4a2be649f356e1d9d97eefccfaf5a8d5273819d22";
+    sha256 = "0dc0244c96378615b19679ab001a85fe74b564233d4f3e185a0f8fe333530fe2";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_error_reporting/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_error_reporting/default.nix
index d6f89aefc5fa..ef07bf1a3cec 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_error_reporting/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_error_reporting/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-error-reporting";
-  version = "0.30.1";
+  version = "0.33.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29d04cb6cc2053468addb78351b841df00cb56066e89b6aec0970cb003dd2fab";
+    sha256 = "845c4d7252f21403a5634a4047c3d77a645df92f6724911a5faf6f5e1bba51fd";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_firestore/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_firestore/default.nix
index 98778ddf3215..e6211d844fa7 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_firestore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_firestore/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-firestore";
-  version = "0.31.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5349d1a112dc8ff1b96d400a04ab18949503b542c72f526847e2066eef6cbc25";
+    sha256 = "7fec7b523ab5e1f87721ca61181114818579bb4d17de768a3993811c9d2aacfe";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_iot/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_iot/default.nix
index 1e103ab14250..6f6cd3262f89 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_iot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_iot/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b274fb5d38cfaa556a07943d9c9a23ca4aa3ecca51135a70325e1c95fa699474";
+    sha256 = "6ead560b0701cf1fe11fe15fae68f09460f0d04fbafa0965fb6bd9e60775437c";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_kms/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_kms/default.nix
index 383ed1bdbb90..e3e9ed58eba6 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_kms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_kms/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-kms";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ypn95swjj93kvdcrvmijmh3vzpr499a3krk923a86m8vlcwcvjm";
+    sha256 = "bb2cf9bff554df05f32c9a51cc50cdd0d6fbabcdc20526460df5306ea28547ff";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_language/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_language/default.nix
index c48c0c7b16ce..44a3456607db 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_language/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e4742b98e2d69ca21864e3218805a9db7e04e06f0672f2385cf6b5361ee35605";
+    sha256 = "2772badf8fe8ac57cd7e7840a60764603b3e19e6dbd843460a5ae8915798b32f";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_logging/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_logging/default.nix
index 5dc45ad469db..c4d9a1cb8d55 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_logging/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "1.10.1";
+  version = "1.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a70201ca9f3972ff0e3272c5628b22ed9227e10ac00e570c28087377733632df";
+    sha256 = "3c12d4421df8e4e77b5e029b1341ae80d180cfda0f9cbef417f36438630cc35f";
   };
 
   checkInputs = [ pytest mock webapp2 django flask ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_monitoring/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_monitoring/default.nix
index da5f06da82a5..a556fb955688 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_monitoring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_monitoring/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "0.31.1";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ac0a7657a11459894abf35d3e35e804df0fb81ef35bc18f80199d4ce02440c2d";
+    sha256 = "75370af645dd815c234561e7b356fa5d99b0ee6448c0e5d013455c72af961d0b";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_pubsub/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_pubsub/default.nix
index 774d494e71aa..997234508664 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_pubsub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_pubsub/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "0.39.1";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4186386aec02752e982eeb1e399d76f1cf70eed56312934df04bfa68d8cfabf0";
+    sha256 = "bdead87e40eba93043c6704578e946cf2794366312f936da0a2b3754234dde29";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_redis/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_redis/default.nix
index 4b574b859237..1eb2b9e08e97 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_redis/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "449fd11699f9ae23ec2ccf1b06681bb90b4c1788f82fbbf1ce1c1d2e77833eb1";
+    sha256 = "e24a5eeb126a3e8fcf990806c7a853a27bb9b830c2f03fda42a499894b7614c6";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_resource_manager/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_resource_manager/default.nix
index 1bdd3635b210..70dd5475c216 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_resource_manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_resource_manager/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-resource-manager";
-  version = "0.28.4";
+  version = "0.30.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae43be426532b875c161625626ab759ecef633801e21f14b2ef8380884a2193b";
+    sha256 = "6e4f1d618d8934ee9011e97db940bb177770b430fd29e58848599a416d9f6590";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix
index f347a1f2553c..a1628b991400 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-runtimeconfig";
-  version = "0.28.4";
+  version = "0.30.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5b097a15fa9bb50442ccaf25fdb4622fdf09b8a873abf549c432d8fdc16c2f1";
+    sha256 = "02075724535b3d6e1d9a6df8a2340190e195faea2f9e91f48d6ae9006993d636";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_securitycenter/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_securitycenter/default.nix
index f9e4161d80d7..5ace3fad0113 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_securitycenter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_securitycenter/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "0.1.1";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11d19052c84dd8e5bc936f5276443e14c2a5ccaae031b2a39415a9f3832a1029";
+    sha256 = "6a0a878db990d657b88ac34942b0a66df24da4643aa181274e602ac337de5d0c";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_spanner/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_spanner/default.nix
index 87f2915d6c50..80e88d53f1fc 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_spanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_spanner/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "1.7.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "422a1bd5bded723151faeb4d1b1711f5776d2cc23d5c192cf53634eaf55c74aa";
+    sha256 = "eafa09cc344339a23702ee74eac5713974fefafdfd56afb589bd25548c79c80d";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
index 5fb1cb653204..c00ea6539009 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "1.0.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d0ysapqrcwcyiil7nyh8vbj4i6hk9v23rrm4rdhgm0lwax7i0aj";
+    sha256 = "21b597b18ee2b9b9a5e2e05a7a1d47173f8f3adeada36b5bdf6cb816114430bf";
   };
 
   propagatedBuildInputs = [ google_api_core ];
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Cloud Speech API enables integration of Google speech recognition into applications.";
-    homepage = "https://googlecloudplatform.github.io/google-cloud-python/latest/speech/";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/master/speech";
     license = licenses.asl20;
     maintainers = with maintainers; [ vanschelven ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_storage/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_storage/default.nix
index efb0c6aacd8c..ff750602465b 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_storage/default.nix
@@ -6,19 +6,25 @@
 , google_cloud_core
 , pytest
 , mock
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "1.15.1";
+  version = "1.23.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8032e576e2f91a1d3de2355118040c3bcd9916e0453a6b3f64c1b42ed151690a";
+    sha256 = "c66e876ae9547884fa42566a2ebfec51d280f488d7a058af9611ba90c78bed78";
   };
 
+  propagatedBuildInputs = [
+    google_resumable_media
+    google_api_core
+    google_cloud_core
+    setuptools
+  ];
   checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_resumable_media google_api_core google_cloud_core ];
 
   checkPhase = ''
    pytest tests/unit
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_tasks/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_tasks/default.nix
index 2036b9aea97a..95bcb0d4d577 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_tasks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_tasks/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "0.4.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c5f26dd3750f9b222a69c37e85ee1acf198456dfebe1e0058f366dd27729559";
+    sha256 = "221388d1dd4bf21ba46ead499bbb3dfba9151b852c4fdca70935ba36e5c3631a";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_texttospeech/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_texttospeech/default.nix
index 74c9370dad30..e8ed28ab2674 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_texttospeech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_texttospeech/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ec1d049cb54fc036887d946ce0391bde481a3da7263e55908eaf9694079ec46f";
+    sha256 = "75562a8db2b0268f57c64e448d697fe82c0ffa889f09be8cbc6ba5369c9a0c59";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_trace/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_trace/default.nix
index 1422469784d1..8e79759dfff9 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_trace/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_trace/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "0.20.3";
+  version = "0.23.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "438ac953248c93972a5b1a0be24ec9bf75c947cee4159dd731b585ce81911f87";
+    sha256 = "1a3fad1ae2b780dd5e6d5ddc626db722749405b7b66f3c2e5e87a9d29a4819c8";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_translate/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_translate/default.nix
index 01caeed4866a..99494b6886cb 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_translate/default.nix
+++ b/nixpkgs/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.3.3";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f204a1cc95bcd708102ad86665da2dff53c1b9f47d490506e45cc96c93978ad";
+    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/nixpkgs/pkgs/development/python-modules/google_cloud_videointelligence/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_videointelligence/default.nix
index 2da82fc4933b..57e106fcfbed 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_videointelligence/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_videointelligence/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "1.6.1";
+  version = "1.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "382ec37eab72b37571a2a76ad25c9dda51744dbff76ad9a85cc3791fee0c96ef";
+    sha256 = "66d0a63d27e83656b1b4e0205d32725e4c58db174118badba164bb7d05a66981";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_vision/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_vision/default.nix
index aabc73f571c0..39dfc123650e 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_vision/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_vision/default.nix
@@ -3,24 +3,25 @@
 , fetchPypi
 , enum34
 , google_api_core
-, pytest
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "0.35.2";
+  version = "0.41.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "25b537d4b76305e9758fe2f57fd5929a04bf3a46cb4e8d0f731e984f46405be8";
+    sha256 = "fd7adcfd8f1bddc19797b25ba3287a4f0cf42e208f330fffb7f1cd125e4d6cd3";
   };
 
-  checkInputs = [ pytest mock ];
+  checkInputs = [ mock ];
   propagatedBuildInputs = [ enum34 google_api_core ];
 
+  # pytest seems to pick up some file which overrides PYTHONPATH
   checkPhase = ''
-    pytest tests/unit
+    cd tests/unit
+    python -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix
index afe1f1db11ac..3318ab032387 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "0.1.1";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d965d986053b49e4005b6b6cdf035d7dd4a3b64dcfb6325050b70c97831f8d6f";
+    sha256 = "26a29657e20fda4302275b92c84c16228381998797e203f85d612f93d4c62358";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_resumable_media/default.nix b/nixpkgs/pkgs/development/python-modules/google_resumable_media/default.nix
index 096f93b017f4..8486eba68c13 100644
--- a/nixpkgs/pkgs/development/python-modules/google_resumable_media/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_resumable_media/default.nix
@@ -3,21 +3,22 @@
 , fetchPypi
 , six
 , requests
+, setuptools
 , pytest
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "google-resumable-media";
-  version = "0.3.2";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba";
+    sha256 = "2a8fd188afe1cbfd5998bf20602f76b0336aa892de88fe842a806b9a3ed78d2a";
   };
 
   checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ six requests ];
+  propagatedBuildInputs = [ requests setuptools six ];
 
   checkPhase = ''
     py.test tests/unit
diff --git a/nixpkgs/pkgs/development/python-modules/googleapis_common_protos/default.nix b/nixpkgs/pkgs/development/python-modules/googleapis_common_protos/default.nix
index 337624012aad..5c8f1767dca7 100644
--- a/nixpkgs/pkgs/development/python-modules/googleapis_common_protos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/googleapis_common_protos/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildPythonPackage, fetchPypi
-, protobuf, pytest }:
+, protobuf, pytest, setuptools }:
 
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
-  version = "1.5.10";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d564872083af40bbcc7091340f17db778a316525c7c76497d58d11b98ca2aa74";
+    sha256 = "e61b8ed5e36b976b487c6e7b15f31bb10c7a0ca7bd5c0e837f4afab64b53a0c6";
   };
 
-  propagatedBuildInputs = [ protobuf ];
+  propagatedBuildInputs = [ protobuf setuptools ];
   checkInputs = [ pytest ];
 
   doCheck = false;  # there are no tests
diff --git a/nixpkgs/pkgs/development/python-modules/gpapi/default.nix b/nixpkgs/pkgs/development/python-modules/gpapi/default.nix
index 13ba4f934e89..c6afce2f9ba8 100644
--- a/nixpkgs/pkgs/development/python-modules/gpapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpapi/default.nix
@@ -1,12 +1,17 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, requests
+, protobuf
+, pycryptodome
+}:
 
 buildPythonPackage rec {
-  version = "0.4.3";
+  version = "0.4.4";
   pname = "gpapi";
+  disabled = pythonOlder "3.3"; # uses shutil.which(), added in 3.3
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "9fd1351eb29c4da92d3a0ed2cd4e3c1634ea16afddbca133f6acc54766d61b02";
+    sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w";
   };
 
   propagatedBuildInputs = [ requests protobuf pycryptodome ];
@@ -15,6 +20,6 @@ buildPythonPackage rec {
     homepage = https://github.com/NoMore201/googleplay-api;
     license = licenses.gpl3;
     description = "Google Play Unofficial Python API";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gplaycli/default.nix b/nixpkgs/pkgs/development/python-modules/gplaycli/default.nix
index 0c7fa8db01c5..074d41aab949 100644
--- a/nixpkgs/pkgs/development/python-modules/gplaycli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gplaycli/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "gplaycli";
-  version = "3.25";
+  version = "3.26";
 
   src = fetchFromGitHub {
     owner = "matlink";
     repo = "gplaycli";
     rev = version;
-    sha256 = "1rygx5cg4b1vwpkiaq6jcpbc1ly7cspslv3sy7x8n8ba61ryq6h4";
+    sha256 = "188237d40q35dp5xs7hg4ybhvsyxi0bsqx5dk4ws9007n596in5f";
   };
 
   disabled = !isPy3k;
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     homepage = https://github.com/matlink/gplaycli;
     description = "Google Play Downloader via Command line";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix b/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
index 48abf5058dfe..28609919098f 100644
--- a/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
@@ -1,20 +1,20 @@
 { lib, fetchFromGitHub, buildPythonApplication, python, graphviz }:
 
 buildPythonApplication {
-  name = "gprof2dot-2017-09-19";
+  name = "gprof2dot-2019-11-30";
 
   src = fetchFromGitHub {
     owner = "jrfonseca";
     repo = "gprof2dot";
-    rev = "2017.09.19";
-    sha256 = "1b5wvjv5ykbhz7aix7l3y7mg1hxi0vgak4a49gr92sdlz8blj51v";
+    rev = "2019.11.30";
+    sha256 = "1nw4cfwimd0djarw4wc756q095xir78js8flmycg6g7sl3l6p27s";
   };
 
   checkInputs = [ graphviz ];
   checkPhase = "${python.interpreter} tests/test.py";
 
   meta = with lib; {
-    homepage = https://github.com/jrfonseca/gprof2dot;
+    homepage = "https://github.com/jrfonseca/gprof2dot";
     description = "Python script to convert the output from many profilers into a dot graph";
     license = licenses.lgpl3Plus;
     maintainers = [ maintainers.pmiddend ];
diff --git a/nixpkgs/pkgs/development/python-modules/gpy/default.nix b/nixpkgs/pkgs/development/python-modules/gpy/default.nix
index 2a65df18fa54..a63902612047 100644
--- a/nixpkgs/pkgs/development/python-modules/gpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "GPy";
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "33a55bb99fe5c7cdd8df4f8e220e3b87574afde49f5654b3ef7c0445018af4a0";
+    sha256 = "04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed";
   };
 
   # running tests produces "ImportError: cannot import name 'linalg_cython'"
diff --git a/nixpkgs/pkgs/development/python-modules/gpyopt/default.nix b/nixpkgs/pkgs/development/python-modules/gpyopt/default.nix
new file mode 100644
index 000000000000..3ad5cb7d89b5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix b/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix
index 4b0e665de098..e069c8f8c7b6 100644
--- a/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook
-, pkgconfig, boost, expat, scipy, cgal, gmp, mpfr
+, pkg-config, boost, expat, scipy, cgal, gmp, mpfr
 , gobject-introspection, pygobject3, gtk3, matplotlib, ncurses
 , buildPythonPackage
 , fetchpatch
@@ -10,7 +10,7 @@
 buildPythonPackage rec {
   pname = "graph-tool";
   format = "other";
-  version = "2.27";
+  version = "2.29";
 
   meta = with stdenv.lib; {
     description = "Python module for manipulation and statistical analysis of graphs";
@@ -21,25 +21,9 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
-    sha256 = "04s31qwlfcl7bwsggnic8gqcqmx2wsrmfw77nf7vzgnz42bwch27";
+    sha256 = "0ykzcnqc5bhqb4xlf9ahpp807vj5868xdrmcj6fggqnnpqv4633c";
   };
 
-  patches = [
-    # fix build with cgal 4.13 (https://git.skewed.de/count0/graph-tool/issues/509)
-    (fetchpatch {
-      name = "cgal-4.13.patch";
-      url = "https://git.skewed.de/count0/graph-tool/commit/aa39e4a6b42d43fac30c841d176c75aff92cc01a.patch";
-      sha256 = "1578inb4jqwq2fhhwscn5z95nzmaxvmvk30nzs5wirr26iznap4m";
-    })
-  ] ++ (lib.optionals (pythonAtLeast "3.7") [
-    # # python 3.7 compatibility (`async` is now reserved)
-    (fetchpatch {
-      name = "async-reserved.patch";
-      url = "https://git.skewed.de/count0/graph-tool/commit/0407f41a35b6be7c670927fb5dc578cbd0e88be4.patch";
-      sha256 = "1fklznhmfvbb3ykwzyf8p2hiczby6y7r0xnkkjl2jkxlvr24000q";
-    })
-  ]);
-
   configureFlags = [
     "--with-python-module-path=$(out)/${python.sitePackages}"
     "--with-boost-libdir=${boost}/lib"
@@ -48,7 +32,7 @@ buildPythonPackage rec {
     "--enable-openmp"
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ ncurses ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/graph_nets/default.nix b/nixpkgs/pkgs/development/python-modules/graph_nets/default.nix
index 41c13b1fbd4c..6b2536d37b39 100644
--- a/nixpkgs/pkgs/development/python-modules/graph_nets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graph_nets/default.nix
@@ -13,15 +13,13 @@
 
 buildPythonPackage rec {
   pname = "graph_nets";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f27f0358a477d4ec3ab300bf09944b4dfdd5c10b0a5f7ac06bcb32d1327ebe1";
+    sha256 = "73e98a5930c6c7b609257ada2cf4523db70810343e0593bf0fa710b77e991933";
   };
 
-  buildInputs = [];
-
   postPatch = ''
     # https://github.com/deepmind/graph_nets/issues/63
     sed -i 's/dm-sonnet==1.23/dm-sonnet/' setup.py
diff --git a/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix b/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix
index ecdb76173fa1..88e3118d4561 100644
--- a/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/green/default.nix b/nixpkgs/pkgs/development/python-modules/green/default.nix
index 1493c78df834..a1167f24035d 100644
--- a/nixpkgs/pkgs/development/python-modules/green/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/green/default.nix
@@ -1,18 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, colorama, coverage, termstyle, unidecode, mock, backports_shutil_get_terminal_size }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, colorama
+, coverage
+, termstyle
+, lxml
+, unidecode
+, mock
+, backports_shutil_get_terminal_size
+}:
 
 buildPythonPackage rec {
   pname = "green";
-  version = "2.13.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea6e2699a2e58df834d2c845fb2b076c12d4835daecfcb658c6bd5583ebf4b7d";
+    sha256 = "17cfgq0s02p5cjrsvcicqxiq6kflahjsd9pm03f054x7lpvqi5cv";
   };
 
   propagatedBuildInputs = [
-    colorama coverage termstyle unidecode
+    colorama coverage termstyle unidecode lxml
   ] ++ lib.optionals (!isPy3k) [ mock backports_shutil_get_terminal_size ];
 
+  # let green run it's own test suite
+  checkPhase = ''
+    $out/bin/green green
+  '';
+
   meta = with lib; {
     description = "Python test runner";
     homepage = https://github.com/CleanCut/green;
diff --git a/nixpkgs/pkgs/development/python-modules/grequests/default.nix b/nixpkgs/pkgs/development/python-modules/grequests/default.nix
index c42ace2e695b..0557fe787e8d 100644
--- a/nixpkgs/pkgs/development/python-modules/grequests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grequests/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "grequests";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c";
+    sha256 = "8aeccc15e60ec65c7e67ee32e9c596ab2196979815497f85cf863465a1626490";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix b/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix
index 68ca4b04c0e0..843c1b32f490 100644
--- a/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix
@@ -3,19 +3,25 @@
 , fetchPypi
 , grpcio
 , googleapis_common_protos
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "grpc-google-iam-v1";
-  version = "0.11.4";
+  version = "0.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5009e831dcec22f3ff00e89405249d6a838d1449a46ac8224907aa5b0e0b1aec";
+    sha256 = "0bfb5b56f648f457021a91c0df0db4934b6e0c300bd0f2de2333383fe958aa72";
   };
 
   propagatedBuildInputs = [ grpcio googleapis_common_protos ];
 
+  # non-standard test format, and python3 will load local google folder first
+  # but tests cannot be ran if google folder is removed or moved
+  doCheck = false;
+  checkInputs = [ pytest ];
+
   meta = with stdenv.lib; {
     description = "GRPC library for the google-iam-v1 service";
     homepage = https://github.com/googleapis/googleapis;
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
index cb6e47a60026..8b84af187296 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.23.0";
+  version = "1.26.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbc35031ec2b29af36947d085a7fbbcd8b79b84d563adf6156103d82565f78db";
+    sha256 = "5580b86cf49936c9c74f0def44d3582a7a1bb720eba8a14805c3a61efa790c70";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio/default.nix
index 65e9e3fb5995..60bfae8dca5b 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio/default.nix
@@ -1,18 +1,10 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, darwin
+{ stdenv, buildPythonPackage, darwin, grpc
 , six, protobuf, enum34, futures, isPy27, pkgconfig
 , cython}:
 
 buildPythonPackage rec {
+  inherit (grpc) src version;
   pname = "grpcio";
-  version = "1.23.0";
-
-  src = fetchFromGitHub {
-    owner = "grpc";
-    repo = "grpc";
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "18hf794frncqvq3n4j5n8kip0gp6ch4pf5b3n6809q0c1paf6rp5";
-  };
 
   nativeBuildInputs = [ cython pkgconfig ]
                     ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
diff --git a/nixpkgs/pkgs/development/python-modules/gsd/1.7.nix b/nixpkgs/pkgs/development/python-modules/gsd/1.7.nix
new file mode 100644
index 000000000000..311c4aba732e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gsd/1.7.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+}:
+
+buildPythonPackage rec {
+  version = "1.9.3";
+  pname = "gsd";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c6b37344e69020f69fda2b8d97f894cb41fd720840abeda682edd680d1cff838";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  # tests not packaged with gsd
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://bitbucket.org/glotzer/gsd;
+    description = "General simulation data file format";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gsd/default.nix b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
index 567cc6f8930d..8eefb1f4318b 100644
--- a/nixpkgs/pkgs/development/python-modules/gsd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
@@ -1,26 +1,30 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchFromGitHub, isPy27
 , numpy
+, pytest
 }:
 
 buildPythonPackage rec {
-  version = "1.7.0";
+  version = "1.9.3";
   pname = "gsd";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0fpk69wachyydpk9cbs901m7hkwrrvq24ykxsrz62km9ql8lr2vp";
+  src = fetchFromGitHub {
+    owner = "glotzerlab";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07hw29r2inyp493dia4fx3ysfr1wxi2jb3n9cmwdi0l54s2ahqvf";
   };
 
   propagatedBuildInputs = [ numpy ];
 
-  # tests not packaged with gsd
-  doCheck = false;
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
 
-  meta = with stdenv.lib; {
-    homepage = https://bitbucket.org/glotzer/gsd;
+  meta = with lib; {
     description = "General simulation data file format";
+    homepage = "https://github.com/glotzerlab/gsd";
     license = licenses.bsd2;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/guessit/default.nix b/nixpkgs/pkgs/development/python-modules/guessit/default.nix
index 494860d4dc27..509488ebfa41 100644
--- a/nixpkgs/pkgs/development/python-modules/guessit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/guessit/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "guessit";
-  version = "3.0.4";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h9f4car26mkck360dxaf9ccdff3inbvpqyz4la2w3zjsz03x01p";
+    sha256 = "2dcd3f2acaf6c1a864f903f084ddd6a6b753f3107ae864355d7c8c1e9cb205b2";
   };
 
   # Tests require more packages.
diff --git a/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix b/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
index 58d5c414cf0a..75a3d745a3f5 100644
--- a/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, pytest, mock, pytestcov, coverage }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27
+, coverage
+, mock
+, pytest
+, pytestcov
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "gunicorn";
-  version = "19.9.0";
+  version = "20.0.4";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3";
+    sha256 = "1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   checkInputs = [ pytest mock pytestcov coverage ];
 
   prePatch = ''
@@ -17,9 +25,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/nixpkgs/pkgs/development/python-modules/gym/default.nix b/nixpkgs/pkgs/development/python-modules/gym/default.nix
index e27aed0627b3..d90ded1fb5fa 100644
--- a/nixpkgs/pkgs/development/python-modules/gym/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gym/default.nix
@@ -1,19 +1,24 @@
 { lib
 , buildPythonPackage, fetchPypi
-, numpy, requests, six, pyglet, scipy
+, numpy, requests, six, pyglet, scipy, cloudpickle
 }:
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.12.5";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "027422f59b662748eae3420b804e35bbf953f62d40cd96d2de9f842c08de822e";
+    sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyglet>=1.2.0,<=1.3.2" "pyglet"
+  '';
+
   propagatedBuildInputs = [
-    numpy requests six pyglet scipy
+    numpy requests six pyglet scipy cloudpickle
   ];
 
   # The test needs MuJoCo that is not free library.
diff --git a/nixpkgs/pkgs/development/python-modules/gyp/default.nix b/nixpkgs/pkgs/development/python-modules/gyp/default.nix
index 3cd89a7d0e1e..db828eb222dd 100644
--- a/nixpkgs/pkgs/development/python-modules/gyp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gyp/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , buildPythonPackage
-, fetchgit
+, fetchFromGitiles
 , isPy3k
 }:
 
@@ -9,8 +9,8 @@ buildPythonPackage {
   version = "2015-06-11";
   disabled = isPy3k;
 
-  src = fetchgit {
-    url = "https://chromium.googlesource.com/external/gyp.git";
+  src = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/external/gyp";
     rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043";
     sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
   };
diff --git a/nixpkgs/pkgs/development/python-modules/h3/default.nix b/nixpkgs/pkgs/development/python-modules/h3/default.nix
new file mode 100644
index 000000000000..d98a053c4189
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/h3/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, cmake
+, fetchPypi
+, h3
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "h3";
+  version = "3.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07dlqpr1r4kzb3gci395plpss8gxvvrij40l6w0mylyg7fkab4m2";
+  };
+
+  patches = [
+    ./disable-custom-install.patch
+    ./hardcode-h3-path.patch
+  ];
+
+  preBuild = ''
+    substituteInPlace h3/h3.py \
+      --subst-var-by libh3_path ${h3}/lib/libh3${stdenv.hostPlatform.extensions.sharedLibrary}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/uber/h3-py";
+    description = "This library provides Python bindings for the H3 Core Library.";
+    license = licenses.asl20;
+    platforms = platforms.unix ++ platforms.darwin;
+    maintainers = [ maintainers.kalbasit ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/h3/disable-custom-install.patch b/nixpkgs/pkgs/development/python-modules/h3/disable-custom-install.patch
new file mode 100644
index 000000000000..981e3b6e2fc6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/h3/disable-custom-install.patch
@@ -0,0 +1,41 @@
+diff --git a/setup.py b/setup.py
+index 8e1c220..45297b6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -25,20 +25,6 @@ class CustomBuildExtCommand(build_ext):
+         install_h3(h3_version)
+
+
+-# Tested with wheel v0.29.0
+-class BinaryDistribution(Distribution):
+-    def __init__(self, attrs=None):
+-        Distribution.__init__(self, attrs)
+-        # The values used for the name and sources in the Extension below are
+-        # not important, because we override the build_ext command above.
+-        # The normal C extension building logic is never invoked, and is
+-        # replaced with our own custom logic. However, ext_modules cannot be
+-        # empty, because this signals to other parts of distutils that our
+-        # package contains C extensions and thus needs to be built for
+-        # different platforms separately.
+-        self.ext_modules = [Extension('h3c', [])]
+-
+-
+ long_description = open('README.rst').read()
+
+ setup(
+@@ -52,14 +38,10 @@ setup(
+     url='https://github.com/uber/h3-py.git',
+     packages=find_packages(exclude=['tests', 'tests.*']),
+     install_requires=[],
+-    cmdclass={
+-        'build_ext': CustomBuildExtCommand,
+-    },
+     package_data={
+         'h-py':
+         ['out/*.dylib' if platform.system() == 'Darwin' else (
+             'out/*.dll' if platform.system() == 'Windows' else
+             'out/*.so.*')]
+     },
+-    license='Apache License 2.0',
+-    distclass=BinaryDistribution)
++    license='Apache License 2.0')
diff --git a/nixpkgs/pkgs/development/python-modules/h3/hardcode-h3-path.patch b/nixpkgs/pkgs/development/python-modules/h3/hardcode-h3-path.patch
new file mode 100644
index 000000000000..87549f298d74
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/h3/hardcode-h3-path.patch
@@ -0,0 +1,19 @@
+diff --git a/h3/h3.py b/h3/h3.py
+index 18cf168..2cc7812 100644
+--- a/h3/h3.py
++++ b/h3/h3.py
+@@ -34,13 +34,7 @@ from ctypes import (
+     POINTER,
+ )
+
+-_dirname = os.path.dirname(__file__)
+-libh3_path = ('{}/{}'.format(_dirname, 'out/libh3.1.dylib')
+-              if platform.system() == 'Darwin' else (
+-              '{}/{}'.format(_dirname, 'out/h3.dll') if platform.system() == 'Windows' else
+-              '{}/{}'.format(_dirname, 'out/libh3.so.1')))
+-
+-libh3 = cdll.LoadLibrary(libh3_path)
++libh3 = cdll.LoadLibrary('@libh3_path@')
+
+ # Type of an H3 index
+ H3Index = c_ulonglong
diff --git a/nixpkgs/pkgs/development/python-modules/ha-ffmpeg/default.nix b/nixpkgs/pkgs/development/python-modules/ha-ffmpeg/default.nix
index 0b702901ae7f..717c8a954538 100644
--- a/nixpkgs/pkgs/development/python-modules/ha-ffmpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ha-ffmpeg/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "ha-ffmpeg";
-  version = "1.11";
+  version = "2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "386cc5bbec3a341d8bafec1c524bd8e64f41f9be8195808dec80f76661bf1cc3";
+    sha256 = "230f2fa990c9caaff1c67c2227b64756062248083849651a9bec7d599e519a42";
   };
 
   buildInputs = [ ffmpeg ];
diff --git a/nixpkgs/pkgs/development/python-modules/handout/default.nix b/nixpkgs/pkgs/development/python-modules/handout/default.nix
index 9a3980806095..c5c111845d15 100644
--- a/nixpkgs/pkgs/development/python-modules/handout/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/handout/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "handout";
-  version = "1.0.0";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16y1wqx8j4kf6fa94x22njrkdfb2cfi0dvc7a4q2qsa8m3ri0b43";
+    sha256 = "52daaf1f9a4cb2ceb88c1dedf85d22ef449b9422b424a2534d21f941e57bc915";
   };
 
   propagatedBuildInputs = [ imageio imageio-ffmpeg ];
diff --git a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
new file mode 100644
index 000000000000..e14b97d94ceb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, acme, aiohttp, snitun, attrs, pytest-aiohttp, warrant, pytest }:
+
+buildPythonPackage rec {
+  pname = "hass-nabucasa";
+  version = "0.29";
+
+  src = fetchFromGitHub {
+    owner = "nabucasa";
+    repo = pname;
+    rev = version;
+    sha256 = "182nh5i3hlj0kqkbynk69md0ddq83w02l8lz4m03d8xbjixzi1k1";
+  };
+
+  # upstreamed in https://github.com/NabuCasa/hass-nabucasa/pull/119
+  postPatch = ''
+    sed -i 's/"acme.*/"acme>=0.40.0,<2.0"/' setup.py
+    cat setup.py
+  '';
+
+  propagatedBuildInputs = [ acme aiohttp snitun attrs warrant ];
+
+  checkInputs = [ pytest pytest-aiohttp ];
+
+  checkPhase = ''
+    pytest tests/
+    '';
+
+  meta = with lib; {
+    homepage = "https://github.com/NabuCasa/hass-nabucasa";
+    description = "Home Assistant cloud integration by Nabu Casa, inc.";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/hbmqtt/default.nix b/nixpkgs/pkgs/development/python-modules/hbmqtt/default.nix
index cd3264b78bb2..90c6444da4ce 100644
--- a/nixpkgs/pkgs/development/python-modules/hbmqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hbmqtt/default.nix
@@ -14,6 +14,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ transitions websockets passlib docopt pyyaml ];
 
+  postPatch = ''
+    # test tries to bind same port multiple times and fails
+    rm tests/test_client.py
+  '';
+
   checkInputs = [ nose ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
new file mode 100644
index 000000000000..fdc6f4e59cc5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, future
+, requests
+, python-dateutil
+, flake8
+, isort
+, mock
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "hcloud";
+  version = "1.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1x18yqxa6a884j0ip92kgl5s8c77z6f4pvnq6q4lzisyffkyq6c7";
+  };
+
+  propagatedBuildInputs = [ future requests python-dateutil ];
+
+  checkInputs = [ flake8 isort mock pytest ];
+
+  # Skip integration tests since they require a separate external fake API endpoint.
+  checkPhase = ''
+    pytest --ignore=tests/integration
+  '';
+
+  meta = with lib; {
+    description = "Official Hetzner Cloud python library";
+    homepage = "https://github.com/hetznercloud/hcloud-python";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ liff ];
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
index 02f888b175dc..7351b2742100 100644
--- a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
@@ -7,21 +7,22 @@
 , scikitlearn
 , fetchPypi
 , joblib
+, six
 }:
 
 buildPythonPackage rec {
   pname = "hdbscan";
-  version = "0.8.22";
+  version = "0.8.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5cfdc25375123eb9a72363449979141cc928c1953f220f0f81d7baabcaccec2d";
+    sha256 = "fe31a7ea0ce2c9babd190a195e491834ff9f64c74daa4ca94fa65a88f701269a";
   };
 
   checkInputs = [ nose ];
 
   nativeBuildInputs = [ cython ];
-  propagatedBuildInputs = [ numpy scipy scikitlearn joblib ];
+  propagatedBuildInputs = [ numpy scipy scikitlearn joblib six ];
 
   meta = with lib; {
     description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API";
diff --git a/nixpkgs/pkgs/development/python-modules/heapdict/default.nix b/nixpkgs/pkgs/development/python-modules/heapdict/default.nix
index 34c01091ddf2..841c3a452595 100644
--- a/nixpkgs/pkgs/development/python-modules/heapdict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/heapdict/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "HeapDict";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nhvxyjq6fp6zd7jzmk5x4fg6xhakqx9lhkp5yadzkqn0rlf7ja0";
+    sha256 = "8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6";
   };
 
   doCheck = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/hiredis/default.nix b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
new file mode 100644
index 000000000000..c22de6d8a669
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, redis
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "hiredis";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "aa59dd63bb3f736de4fc2d080114429d5d369dfb3265f771778e8349d67a97a4";
+  };
+  propagatedBuildInputs = [ redis ];
+
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Wraps protocol parsing code in hiredis, speeds up parsing of multi bulk replies";
+    homepage = "https://github.com/redis/hiredis-py";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/hiro/default.nix b/nixpkgs/pkgs/development/python-modules/hiro/default.nix
index 4d9ebdb0129e..ea6cb6d34e36 100644
--- a/nixpkgs/pkgs/development/python-modules/hiro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hiro/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, six, mock }:
 buildPythonPackage rec {
   pname = "hiro";
-  version = "0.5";
+  version = "0.5.1";
   src = fetchPypi {
     inherit pname version;
 
-    sha256 = "57d9dac63077f24c3d0132c02ac5c71e4bd1d79bdac30dccad4c83fadd49fa1c";
+    sha256 = "d10e3b7f27b36673b4fa1283cd38d610326ba1ff1291260d0275152f15ae4bc7";
   };
 
   propagatedBuildInputs = [ six mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/histbook/default.nix b/nixpkgs/pkgs/development/python-modules/histbook/default.nix
deleted file mode 100644
index c9ea7010a6f0..000000000000
--- a/nixpkgs/pkgs/development/python-modules/histbook/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, pandas }:
-
-buildPythonPackage rec {
-  pname = "histbook";
-  version = "1.2.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "76d1f143f8abccf5539029fbef8133db84f377fc7752ac9e7e6d19ac9a277967";
-  };
-
-  propagatedBuildInputs = [ numpy pandas ];
-
-  meta = with lib; {
-    homepage = https://github.com/scikit-hep/histbook;
-    description = "Versatile, high-performance histogram toolkit for Numpy";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix b/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
index 32c79b171366..e29c31e6fa7b 100644
--- a/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hmmlearn";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "mirror://pypi/h/hmmlearn/${pname}-${version}.tar.gz";
-    sha256 = "081c53xs5wn5vikwslallwdv0am09w9cbbggl5dbkqpnic9zx4h4";
+    sha256 = "8003d5dc55612de8016156abdc7aa1dd995abc2431adb1ef33dd84a6d29e56bf";
   };
 
   buildInputs = [ setuptools_scm cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
new file mode 100644
index 000000000000..ebde21a48217
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi , six, dateutil }:
+
+buildPythonPackage rec {
+  pname = "holidays";
+  version = "0.9.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3182c4a6fef8d01a829468362ace9c3bba7645873610535fef53454dbb4ea092";
+  };
+
+  propagatedBuildInputs = [ six dateutil ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dr-prodigy/python-holidays;
+    description = "Generate and work with holidays in Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index bd0cbda48d8a..b12ef64c6024 100644
--- a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.12.3";
+  version = "1.12.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df64c0f163fe8b43d28cf5bcdeb8abc45d882aedca525b870f17987edd0c80a2";
+    sha256 = "c63f76d1ce2261eb0cd147a24be25daff399e7df2c3d6ade3e813d2e9cb7d42f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/homeassistant-pyozw/default.nix b/nixpkgs/pkgs/development/python-modules/homeassistant-pyozw/default.nix
index 5851d62842b6..5674db53e5a5 100644
--- a/nixpkgs/pkgs/development/python-modules/homeassistant-pyozw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/homeassistant-pyozw/default.nix
@@ -2,13 +2,14 @@
 
 python_openzwave.overridePythonAttrs (oldAttrs: rec {
   pname = "homeassistant_pyozw";
-  version = "0.1.4";
+  version = "0.1.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "a4ec26b95dba630df8c95c617c510e4a33db93a6a39e8a97056eec7dc9a49d1e";
+    sha256 = "2d500638270ee4f0e7e9e114d9b4402c94c232f314116cdcf88d7c1dc9a44427";
   };
 
+  patches = [];
   meta.homepage = https://github.com/home-assistant/python-openzwave;
 })
diff --git a/nixpkgs/pkgs/development/python-modules/hopcroftkarp/default.nix b/nixpkgs/pkgs/development/python-modules/hopcroftkarp/default.nix
index 4acf05b41426..e6033aa347e9 100644
--- a/nixpkgs/pkgs/development/python-modules/hopcroftkarp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hopcroftkarp/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "hopcroftkarp";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc6fc7ad348bbe5c9451f8116845c46ae26290c92b2dd14690aae2d55ba5e3a6";
+    sha256 = "28a7887db81ad995ccd36a1b5164a4c542b16d2781e8c49334dc9d141968c0e7";
   };
 
   # tests fail due to bad package name
diff --git a/nixpkgs/pkgs/development/python-modules/howdoi/default.nix b/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
index 53e42027ba22..293ad51e302d 100644
--- a/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "howdoi";
-  version = "1.1.14";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b85b8e551bf47ff157392660f0fc5b9eb3eacb78516a5823f7b774ec61955db5";
+    sha256 = "3b322668606d29d8a841c3b28c0574851f512b55c33a7ceb982b6a98d82fa3e3";
   };
 
   propagatedBuildInputs = [ six requests-cache pygments pyquery ];
diff --git a/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
new file mode 100644
index 000000000000..a276bd33b592
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "hstspreload";
+  version = "2019.12.25";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "sethmlarson";
+    repo = pname;
+    rev = version;
+    sha256 = "1aa7jccwldxw3s0z668qqb0i0plsark1q3jvkmqkyp645w5bfilk";
+  };
+
+  # tests require network connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Chromium HSTS Preload list as a Python package and updated daily";
+    homepage = https://github.com/sethmlarson/hstspreload;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/html2text/2018.nix b/nixpkgs/pkgs/development/python-modules/html2text/2018.nix
new file mode 100644
index 000000000000..cac88c557946
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/html2text/2018.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "html2text";
+  version = "2018.1.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "627514fb30e7566b37be6900df26c2c78a030cc9e6211bda604d8181233bcdd4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Turn HTML into equivalent Markdown-structured text";
+    homepage = https://github.com/Alir3z4/html2text/;
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/html2text/default.nix b/nixpkgs/pkgs/development/python-modules/html2text/default.nix
index cac88c557946..9b289032514e 100644
--- a/nixpkgs/pkgs/development/python-modules/html2text/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/html2text/default.nix
@@ -1,21 +1,28 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "html2text";
-  version = "2018.1.9";
+  version = "2019.9.26";
+  disabled = pythonOlder "3.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "627514fb30e7566b37be6900df26c2c78a030cc9e6211bda604d8181233bcdd4";
+  src = fetchFromGitHub {
+    owner = "Alir3z4";
+    repo = pname;
+    rev = version;
+    sha256 = "1gzcx4n6q71plq4zvb1z0fy3brrln0qqrd6jc89iiqn7r1ix8h87";
   };
 
-  meta = with stdenv.lib; {
+  # python setup.py test is broken, use pytest
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
     description = "Turn HTML into equivalent Markdown-structured text";
     homepage = https://github.com/Alir3z4/html2text/;
     license = licenses.gpl3;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix b/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix
index f3b24b3d371e..db59bb49cf23 100644
--- a/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/html5lib/default.nix b/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
index 5a59b63cea41..82b481807099 100644
--- a/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , flake8
-, pytest
+, pytest_4
 , pytest-expect
 , mock
 , six
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736";
   };
 
-  checkInputs = [ flake8 pytest pytest-expect mock ];
+  checkInputs = [ flake8 pytest_4 pytest-expect mock ];
   propagatedBuildInputs = [
     six webencodings
   ];
@@ -42,4 +42,4 @@ buildPythonPackage rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ domenkozar prikhi ];
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
index 5a9e9f847471..c40f3453d6b9 100644
--- a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
@@ -2,18 +2,18 @@
 
 buildPythonPackage rec {
   pname = "httplib2";
-  version = "0.12.3";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a18121c7c72a56689efbf1aef990139ad940fee1e64c6f2458831736cd593600";
+    sha256 = "a5f914f18f99cb9541660454a159e3b3c63241fc3ab60005bb88d97cc7a4fb58";
   };
 
   # Needs setting up
   doCheck = false;
 
   meta = with lib; {
-    homepage = http://code.google.com/p/httplib2;
+    homepage = "https://github.com/httplib2/httplib2";
     description = "A comprehensive HTTP client library";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/httpretty/default.nix b/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
index 3a76bd9f148b..86b8ef13a7ae 100644
--- a/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "httpretty";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01b52d45077e702eda491f4fe75328d3468fd886aed5dcc530003e7b2b5939dc";
+    sha256 = "66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/httpx/default.nix b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
new file mode 100644
index 000000000000..04a0592d7506
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, certifi
+, hstspreload
+, chardet
+, h11
+, h2
+, idna
+, rfc3986
+, sniffio
+, isPy27
+, pytest
+, pytestcov
+, trustme
+, uvicorn
+, trio
+, brotli
+}:
+
+buildPythonPackage rec {
+  pname = "httpx";
+  version = "0.9.5";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "140z2j7b5hlcxvfb433hqv5b8irqa88hpq33lzr9m992djbhj2hb";
+  };
+
+  propagatedBuildInputs = [
+    certifi
+    hstspreload
+    chardet
+    h11
+    h2
+    idna
+    rfc3986
+    sniffio
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    trustme
+    uvicorn
+    trio
+    brotli
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+          --replace "h11==0.8.*" "h11"
+  '';
+
+  checkPhase = ''
+    PYTHONPATH=.:$PYTHONPATH pytest
+  '';
+
+  meta = with lib; {
+    description = "The next generation HTTP client";
+    homepage = https://github.com/encode/httpx;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/hupper/default.nix b/nixpkgs/pkgs/development/python-modules/hupper/default.nix
index c6b0a2c64bc6..33f76f0a2486 100644
--- a/nixpkgs/pkgs/development/python-modules/hupper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hupper/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.6.1";
+  version = "1.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe8febd68cec7fbed174fcbb0b42c427f96c8a7471c1cd4999fc698dd8dc6c34";
+    sha256 = "3b1c2222ec7b8159e7ad059e4493c6cc634c86184af0bf2ce5aba6edd241cf5f";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hvac/default.nix b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
index 4eda2d864c83..3b5484dcbcb2 100644
--- a/nixpkgs/pkgs/development/python-modules/hvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
@@ -1,15 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, requests }:
+{ lib, buildPythonPackage, fetchPypi, requests, six }:
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "0.7.2";
+  version = "0.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "773775fa827c74299abd96079eeeeb0cefbb23b484195c03cff27d04716539ba";
+    sha256 = "1v37jabp859691863mw8j06hqxsy16ndf804z2k5y5b0d167j9by";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ requests six ];
 
   # Requires running a Vault server
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
index dfec9ffc2001..2079f849769d 100644
--- a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
@@ -12,20 +12,22 @@
 , xarray
 , networkx
 , streamz
+, colorcet
 }:
 
 buildPythonPackage rec {
   pname = "hvplot";
-  version = "0.4.0";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bce169cf2d1b3ff9ce607d1787f608758e72a498434eaa2bece31eea1f51963a";
+    sha256 = "408a7756b980df148d1f2fd59cd690ad4870d7e3c3c5e46c6b5c2e71fc6a097c";
   };
 
   checkInputs = [ pytest parameterized nbsmoke flake8 coveralls xarray networkx streamz ];
   propagatedBuildInputs = [
     bokeh
+    colorcet
     holoviews
     pandas
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/hyperlink/default.nix b/nixpkgs/pkgs/development/python-modules/hyperlink/default.nix
index d7950d3adb69..1fc490178215 100644
--- a/nixpkgs/pkgs/development/python-modules/hyperlink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hyperlink/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hyperlink";
-  version = "18.0.0";
+  version = "19.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306";
+    sha256 = "4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654";
   };
 
   propagatedBuildInputs = [ idna ];
diff --git a/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix b/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
index 9c105ffe3fbe..fdb5a69ddd79 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub
-, isPy3k, attrs, coverage, enum34
+, isPy3k, attrs, coverage, enum34, pexpect
 , doCheck ? true, pytest, pytest_xdist, flaky, mock
 }:
 buildPythonPackage rec {
@@ -9,7 +9,7 @@ buildPythonPackage rec {
   # pytz fake_factory django numpy pytest
   # If you need these, you can just add them to your environment.
 
-  version = "4.7.3";
+  version = "4.56.1";
   pname = "hypothesis";
 
   # Use github tarballs that includes tests
@@ -17,14 +17,14 @@ buildPythonPackage rec {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "hypothesis-python-${version}";
-    sha256 = "03l4hp0p7i2k04arnqkav0ygc23ml46dy3cfrlwviasrj7yzk5hc";
+    sha256 = "09bpwp4kdywkmzci969m57w0yy8c31kzwg60vg4mvrmmgyi2cfzv";
   };
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
 
-  propagatedBuildInputs = [ attrs coverage ] ++ lib.optional (!isPy3k) [ enum34 ];
+  propagatedBuildInputs = [ attrs coverage ] ++ lib.optional (!isPy3k) enum34;
 
-  checkInputs = [ pytest pytest_xdist flaky mock ];
+  checkInputs = [ pytest pytest_xdist flaky mock pexpect ];
   inherit doCheck;
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
index 48da3da6bc47..1d445f83b082 100644
--- a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.0.3";
+  version = "4.0.4";
   pname = "icalendar";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7";
+    sha256 = "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l";
   };
 
   buildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/ics/default.nix b/nixpkgs/pkgs/development/python-modules/ics/default.nix
new file mode 100644
index 000000000000..b642bdf311e1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ics/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
+, tatsu, arrow
+, pytest-sugar, pytestpep8, pytest-flakes, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "ics";
+  version = "0.6";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "C4ptainCrunch";
+    repo = "ics.py";
+    rev = "v${version}";
+    sha256 = "02bs9wlh40p1n33jchrl2cdpsnm5hq84070by3b6gm0vmgz6gn5v";
+  };
+
+  propagatedBuildInputs = [ tatsu arrow ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "arrow>=0.11,<0.15" "arrow"
+  '';
+
+  checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pythonic and easy iCalendar library (RFC 5545)";
+    longDescription = ''
+      Ics.py is a pythonic and easy iCalendar library. Its goals are to read and
+      write ics data in a developer friendly way.
+    '';
+    homepage = "http://icspy.readthedocs.org/en/stable/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ primeos ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index 8987ce97c713..bfe039382aca 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.4.5";
+  version = "1.4.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z8xjvpkj599h3s76q05y10iysjjky7b0s5g3zicfyxhzm7x59a3";
+    sha256 = "6f44e637caa40d1b4cb37f6ed3b262ede74901d28b1cc5b1fc07360871edd65d";
   };
 
   # Tests not included in PyPI tarball
diff --git a/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix b/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix
new file mode 100644
index 000000000000..5df5e6b18cd2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix
@@ -0,0 +1,92 @@
+{ buildPythonPackage, lib, fetchFromGitHub, isPy27, nixosTests
+, alembic
+, aniso8601
+, Babel
+, blinker
+, click
+, dnspython
+, email_validator
+, flask
+, flask-babel
+, flask-cors
+, flask_mail
+, flask_migrate
+, flask-restful
+, flask_script
+, flask_sqlalchemy
+, flask_wtf
+, idna
+, itsdangerous
+, jinja2
+, Mako
+, markupsafe
+, mock
+, python-dateutil
+, pytz
+, six
+, sqlalchemy
+, werkzeug
+, wtforms
+, psycopg2 # optional, for postgresql support
+, flask_testing
+}:
+
+buildPythonPackage rec {
+  pname = "ihatemoney";
+  version = "4.1";
+
+  src = fetchFromGitHub {
+    owner = "spiral-project";
+    repo = pname;
+    rev = version;
+    sha256 = "1ai7v2i2rvswzv21nwyq51fvp8lr2x2cl3n34p11br06kc1pcmin";
+  };
+
+  propagatedBuildInputs = [
+    alembic
+    aniso8601
+    Babel
+    blinker
+    click
+    dnspython
+    email_validator
+    flask
+    flask-babel
+    flask-cors
+    flask_mail
+    flask_migrate
+    flask-restful
+    flask_script
+    flask_sqlalchemy
+    flask_wtf
+    idna
+    itsdangerous
+    jinja2
+    Mako
+    markupsafe
+    python-dateutil
+    pytz
+    six
+    sqlalchemy
+    werkzeug
+    wtforms
+    psycopg2
+  ];
+
+  checkInputs = [
+    flask_testing
+  ] ++ lib.optionals isPy27 [ mock ];
+
+  passthru.tests = {
+    inherit (nixosTests) ihatemoney;
+  };
+  meta = with lib; {
+    homepage = "https://ihatemoney.org";
+    description = "A simple shared budget manager web application";
+    platforms = platforms.linux;
+    license = licenses.beerware;
+    maintainers = [ maintainers.symphorien ];
+  };
+}
+
+
diff --git a/nixpkgs/pkgs/development/python-modules/ijson/default.nix b/nixpkgs/pkgs/development/python-modules/ijson/default.nix
index eb10edeaca9b..8729de427d96 100644
--- a/nixpkgs/pkgs/development/python-modules/ijson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ijson/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ijson";
-  version = "2.4";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "135rwh7izzmj4lwkrfb9xw4ik0gcwjz34ygnmx3vyvki2xbbp2xp";
+    sha256 = "19ec46a2f7991004e5202ecee56c569616b8a7f95686ad7fd0a9ec81cac00269";
   };
 
   doCheck = false; # something about yajl
diff --git a/nixpkgs/pkgs/development/python-modules/imagecodecs-lite/default.nix b/nixpkgs/pkgs/development/python-modules/imagecodecs-lite/default.nix
index 6374b882718b..861a0ed0db3d 100644
--- a/nixpkgs/pkgs/development/python-modules/imagecodecs-lite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imagecodecs-lite/default.nix
@@ -6,15 +6,28 @@
 
 buildPythonPackage rec {
   pname = "imagecodecs-lite";
-  version = "2019.4.20";
+  version = "2019.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cp88g7g91gdhjhaz6gvb4jzvi5ad817id9f2bnc5r95ag93bqb0";
+    sha256 = "0s4xb17qd7vimc46rafbjnibj4sf0lnv8cwl22k1h6zb7jhqmlcm";
   };
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ numpy cython ];
+  nativeBuildInputs = [
+    cython
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with lib; {
     description = "Block-oriented, in-memory buffer transformation, compression, and decompression functions";
diff --git a/nixpkgs/pkgs/development/python-modules/imageio/default.nix b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
index f7b3ff63c53c..0e5134eeb26b 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
@@ -15,10 +15,10 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.5.0";
+  version = "2.6.1";
 
   src = fetchPypi {
-    sha256 = "1bdcrr5190jvk0msw2lswj4pbdhrcggjpj8m6q2a2mrxzjnmmrj2";
+    sha256 = "1bk7pijmrspdfj9nnlbnw1yiww9w1kyjvlpzy9s5hj6zp4qv4kpl";
     inherit pname version;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix b/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
index 6de97aff7d3e..568fc825ab6b 100644
--- a/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "imbalanced-learn";
-  version = "0.5.0";
+  version = "0.6.1";
   disabled = isPy27; # scikit-learn>=0.21 doesn't work on python2
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1m8r055mvkws0s449s1dyrkgricls6basnszwbwqwrw6g19n1xsx";
+    sha256 = "94f846ff8d19ee9ea42ba6feddfbc85d5b42098bd3b62318f8d3bc5c7133b274";
   };
 
   propagatedBuildInputs = [ scikitlearn ];
@@ -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/nixpkgs/pkgs/development/python-modules/imgaug/default.nix b/nixpkgs/pkgs/development/python-modules/imgaug/default.nix
index 3946c0df6bc2..48ea6004426c 100644
--- a/nixpkgs/pkgs/development/python-modules/imgaug/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imgaug/default.nix
@@ -1,30 +1,55 @@
-{ stdenv, buildPythonPackage, fetchPypi, numpy, scipy, scikitimage, opencv3, six }:
+{ buildPythonPackage
+, fetchurl
+, imageio
+, numpy
+, opencv3
+, pytest
+, scikitimage
+, scipy
+, shapely
+, six
+, stdenv
+}:
 
 buildPythonPackage rec {
   pname = "imgaug";
-  version = "0.2.9";
+  version = "0.3.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "42b0c4c8cbe197d4f5dbd33960a1140f8a0d9c22c0a8851306ecbbc032092de8";
+  src = fetchurl {
+    url = "https://github.com/aleju/imgaug/archive/c3d99a420efc45652a1264920dc20378a54b1325.zip";
+    sha256 = "sha256:174nvhyhdn3vz0i34rqmkn26840j3mnfr55cvv5bdf9l4y9bbjq2";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "opencv-python-headless" ""
+    substituteInPlace setup.py \
+      --replace "opencv-python-headless" "" 
+    substituteInPlace pytest.ini \
+      --replace "--xdoctest --xdoctest-global-exec=\"import imgaug as ia\nfrom imgaug import augmenters as iaa\"" ""
+  '';
+
   propagatedBuildInputs = [
+    imageio
     numpy
-    scipy
-    scikitimage
     opencv3
+    scikitimage
+    scipy
+    shapely
     six
   ];
 
-  # disable tests when there are no tests in the PyPI archive
-  doCheck = false;
+  checkPhase = ''
+     pytest ./test
+  '';
+
+  checkInputs = [ opencv3 pytest ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/aleju/imgaug;
     description = "Image augmentation for machine learning experiments";
     license = licenses.mit;
-    maintainers = with maintainers; [ cmcdragonkai ];
-    broken = true; # opencv-python bindings aren't available yet, and look non-trivial
+    maintainers = with maintainers; [ cmcdragonkai rakesh4g ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/immutables/default.nix b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
index 5662f8896cc3..8ca0fe6df9fb 100644
--- a/nixpkgs/pkgs/development/python-modules/immutables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "immutables";
-  version = "0.9";
+  version = "0.11";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h7i00x6sdbw62rdipp0kaw1mcrvfipxv0054x1n2r4q4j11q7fp";
+    sha256 = "d6850578a0dc6530ac19113cfe4ddc13903df635212d498f176fe601a8a5a4a3";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/impacket/default.nix b/nixpkgs/pkgs/development/python-modules/impacket/default.nix
index e4e14cf7bbf8..1d71b15137c7 100644
--- a/nixpkgs/pkgs/development/python-modules/impacket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/impacket/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "impacket";
-  version = "0.9.15";
+  version = "0.9.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sq1698g7wqj731h24f7gr4lc0fz0mxrqv6mm3j4hm2j6h3rrbr6";
+    sha256 = "43ebdb62e179113a55ccd4297316532582be71857b85d85ba187cd6146757397";
   };
 
   disabled = isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix b/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
index 59fdb35be125..5b7a249d65a7 100644
--- a/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "0.18";
+  version = "1.3.0";
 
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    sha256 = "cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db";
+    sha256 = "0ibvvqajphwdclbr236gikvyja0ynvqjlix38kvsabgrf0jqafh7";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
@@ -28,9 +28,6 @@ buildPythonPackage rec {
 
   checkInputs = [ importlib-resources packaging ];
 
-  # Two failing tests: https://gitlab.com/python-devs/importlib_metadata/issues/72
-  doCheck = false;
-
   meta = with lib; {
     description = "Read metadata from Python packages";
     homepage = https://importlib-metadata.readthedocs.io/;
diff --git a/nixpkgs/pkgs/development/python-modules/imutils/default.nix b/nixpkgs/pkgs/development/python-modules/imutils/default.nix
index c5530d7c1d09..45e795cd616c 100644
--- a/nixpkgs/pkgs/development/python-modules/imutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imutils/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.2";
+  version = "0.5.3";
   pname = "imutils";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d2bdf373e3e6cfbdc113d4e91547d3add3774d8722c8d4f225fa39586fb8076";
+    sha256 = "857af6169d90e4a0a814130b9b107f5d611150ce440107e1c1233521c6fb1e2b";
   };
 
   propagatedBuildInputs = [ opencv3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/inflect/default.nix b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
index 147cc8753eb0..2b856b35f7c3 100644
--- a/nixpkgs/pkgs/development/python-modules/inflect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
@@ -1,15 +1,15 @@
-{ buildPythonPackage, fetchPypi, setuptools_scm, nose, six }:
+{ buildPythonPackage, fetchPypi, setuptools_scm, nose, six, importlib-metadata }:
 
 buildPythonPackage rec {
   pname = "inflect";
-  version = "2.1.0";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ded1b2a6fcf0fc0397419c7727f131a93b67b80d899f2973be7758628e12b73";
+    sha256 = "ee7c9b7c3376d06828b205460afb3c447b5d25dd653171db249a238f3fc2c18a";
   };
 
-  buildInputs = [ setuptools_scm ];
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ six importlib-metadata ];
   checkInputs = [ nose ];
-  propagatedBuildInputs = [ six ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
index 657a8178440f..d624ebd60e56 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "influxdb";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hriag4d4gx4bsqisiz29478sj54b215p6xzmshlw6x9af4z5vxg";
+    sha256 = "0dlddhbmd37qsdfyqn9w3xx4v07hladj6fvk9i15jxmz0iz6q9rh";
   };
 
   # ImportError: No module named tests
diff --git a/nixpkgs/pkgs/development/python-modules/iniparse/default.nix b/nixpkgs/pkgs/development/python-modules/iniparse/default.nix
index e0c2fd765c98..1fdae967a42f 100644
--- a/nixpkgs/pkgs/development/python-modules/iniparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iniparse/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Accessing and Modifying INI files";
-    homepage = http://code.google.com/p/iniparse/;
+    homepage = "https://github.com/candlepin/python-iniparse";
     license = licenses.mit;
     maintainers = with maintainers; [ danbst ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix b/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
index 2d5e9d780945..10c64fa6b3f4 100644
--- a/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/intake/default.nix b/nixpkgs/pkgs/development/python-modules/intake/default.nix
index f89b7ab1ce62..487ffc35b1a8 100644
--- a/nixpkgs/pkgs/development/python-modules/intake/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/intake/default.nix
@@ -7,7 +7,7 @@
 , hvplot
 , jinja2
 , msgpack-numpy
-, msgpack-python
+, msgpack
 , numpy
 , pandas
 , panel
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "intake";
-  version = "0.5.3";
+  version = "0.5.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mbjr4xl4i523bg8k08s5986v2289fznd8cr3j3czn5adi8519j7";
+    sha256 = "81c3bdadbb81ec10c923b89e118c229d977a584ccbe27466f8fde41c0c274c3f";
   };
 
   checkInputs = [ pytest ];
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     hvplot
     jinja2
     msgpack-numpy
-    msgpack-python
+    msgpack
     numpy
     pandas
     panel
diff --git a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
index dda0680f537e..6b393aea1e79 100644
--- a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
@@ -1,17 +1,17 @@
 { buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt
 , requests, jsonpatch, args, schema, responses, backports_csv, isPy3k
-, lib, glibcLocales }:
+, lib, glibcLocales, setuptools }:
 
 buildPythonPackage rec {
   pname = "internetarchive";
-  version = "1.8.1";
+  version = "1.9.0";
 
   # Can't use pypi, data files for tests missing
   src = fetchFromGitHub {
     owner = "jjjake";
     repo = "internetarchive";
     rev = "v${version}";
-    sha256 = "1fdb0kr9hzgyh0l8d02khcjpsgyd63nbablhc49ncdsav3dhhr3f";
+    sha256 = "1h344c04ipzld4s7xk8d84f80samjjlgzvv3y8zsv0n1c895gymb";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +23,9 @@ buildPythonPackage rec {
     jsonpatch
     args
     schema
-  ] ++ lib.optional (!isPy3k) backports_csv;
+    setuptools
+    backports_csv
+  ];
 
   checkInputs = [ pytest responses glibcLocales ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/intreehooks/default.nix b/nixpkgs/pkgs/development/python-modules/intreehooks/default.nix
new file mode 100644
index 000000000000..be8d3927c9ff
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/intreehooks/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytoml
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "intreehooks";
+  version = "1.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1";
+  };
+
+  propagatedBuildInputs = [ pytoml ];
+
+  checkInputs = [ pytest ];
+
+  meta = {
+    description = "Load a PEP 517 backend from inside the source tree";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.fridh ];
+    homepage = https://github.com/takluyver/intreehooks;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix b/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
index 6aecf5959ff8..e76aa6ee2a57 100644
--- a/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Google's IP address manipulation library";
-    homepage = http://code.google.com/p/ipaddr-py/;
+    homepage = "https://github.com/google/ipaddr-py";
     license = licenses.asl20;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/ipaddress/default.nix b/nixpkgs/pkgs/development/python-modules/ipaddress/default.nix
index 0ce2abff5965..d5611959275e 100644
--- a/nixpkgs/pkgs/development/python-modules/ipaddress/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipaddress/default.nix
@@ -7,11 +7,11 @@
 
 if (pythonAtLeast "3.3") then null else buildPythonPackage rec {
   pname = "ipaddress";
-  version = "1.0.22";
+  version = "1.0.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c";
+    sha256 = "b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ipdb/default.nix b/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
index 18a2d570497d..49b0991f1fd0 100644
--- a/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipdb";
-  version = "0.12.2";
+  version = "0.12.3";
   disabled = isPyPy;  # setupterm: could not find terminfo database
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mzfv2sa8qabqzh2vqgwhavb15gsmcgqn6i3jgq6b5q9i9wxsgs7";
+    sha256 = "1zbj7xjhkr44grfyv1hb7ff5n1218f9jjabgzica29vh7c74m6jx";
   };
 
   propagatedBuildInputs = [ ipython ];
diff --git a/nixpkgs/pkgs/development/python-modules/ipykernel/4.nix b/nixpkgs/pkgs/development/python-modules/ipykernel/4.nix
index 49dfbf6ad8ec..9ef4a96366d5 100644
--- a/nixpkgs/pkgs/development/python-modules/ipykernel/4.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipykernel/4.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "4.10.0";
+  version = "4.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "699103c8e64886e3ec7053f2a6aa83bb90426063526f63a818732ff385202bad";
+    sha256 = "eeb74b2bcfe0ced5a7900361f98fa1171288aa47ed4b522efe5acb167c6cf5fb";
   };
 
   checkInputs = [ nose ] ++ lib.optional isPy27 mock;
diff --git a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
index 4bdd9011d1e8..5202483ab326 100644
--- a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
@@ -1,27 +1,28 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
+, flaky
 , ipython
 , jupyter_client
 , traitlets
 , tornado
 , pythonOlder
-, pytest
+, pytestCheckHook
 , nose
 }:
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "5.1.1";
+  version = "5.1.3";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "173nm29g85w8cac3fg40b27qaq26g41wgg6qn79ql1hq4w2n5sgh";
+    sha256 = "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k";
   };
 
-  checkInputs = [ pytest nose ];
   propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ];
 
   # https://github.com/ipython/ipykernel/pull/377
@@ -32,10 +33,17 @@ buildPythonPackage rec {
     })
   ];
 
-  # For failing tests, see https://github.com/ipython/ipykernel/issues/387
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest ipykernel -k "not (test_sys_path or test_sys_path_profile_dir or test_complete)"
+  checkInputs = [ pytestCheckHook nose flaky ];
+  dontUseSetuptoolsCheck = true;
+  preCheck = ''
+    export HOME=$(mktemp -d)
   '';
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # see https://github.com/NixOS/nixpkgs/issues/76197
+    "test_subprocess_print"
+    "test_subprocess_error"
+    "test_ipython_start_kernel_no_userns"
+  ];
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/7.9.nix b/nixpkgs/pkgs/development/python-modules/ipython/7.9.nix
new file mode 100644
index 000000000000..c097bdbe9e1d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipython/7.9.nix
@@ -0,0 +1,69 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+# Build dependencies
+, glibcLocales
+# Test dependencies
+, nose
+, pygments
+# Runtime dependencies
+, jedi
+, decorator
+, pickleshare
+, traitlets
+, prompt_toolkit
+, pexpect
+, appnope
+, backcall
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "ipython";
+  version = "7.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz";
+  };
+
+  prePatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace setup.py --replace "'gnureadline'" " "
+  '';
+
+  buildInputs = [ glibcLocales ];
+
+  checkInputs = [ nose pygments ];
+
+  propagatedBuildInputs = [
+    jedi
+    decorator
+    pickleshare
+    traitlets
+    prompt_toolkit
+    pygments
+    pexpect
+    backcall
+  ] ++ lib.optionals stdenv.isDarwin [appnope];
+
+  LC_ALL="en_US.UTF-8";
+
+  doCheck = false; # Circular dependency with ipykernel
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  pythonImportsCheck = [
+    "IPython"
+  ];
+
+  meta = with lib; {
+    description = "IPython: Productive Interactive Computing";
+    homepage = http://ipython.org/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bjornfor fridh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/default.nix b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
index 14b083ab500c..6b9da6e882f2 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.6.1";
-  disabled = pythonOlder "3.5";
+  version = "7.10.2";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11067ab11d98b1e6c7f0993506f7a5f8a91af420f7e82be6575fcb7a6ca372a0";
+    sha256 = "762d79a62b6aa96b04971e920543f558dfbeedc0468b899303c080c8068d4ac2";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
@@ -57,10 +57,14 @@ buildPythonPackage rec {
     nosetests
   '';
 
-  meta = {
+  pythonImportsCheck = [
+    "IPython"
+  ];
+
+  meta = with lib; {
     description = "IPython: Productive Interactive Computing";
     homepage = http://ipython.org/;
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ bjornfor fridh ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bjornfor fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
index fd71569e293e..20f91f5e806f 100644
--- a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "7.5.0";
+  version = "7.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb263c6974aca902d00a435711823bb4aaf6614a5f997f517e15fa84151e8fa2";
+    sha256 = "e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97";
   };
 
   # Tests are not distributed
diff --git a/nixpkgs/pkgs/development/python-modules/irc/default.nix b/nixpkgs/pkgs/development/python-modules/irc/default.nix
index b422b368ffb6..5828ada7a61d 100644
--- a/nixpkgs/pkgs/development/python-modules/irc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/irc/default.nix
@@ -1,17 +1,17 @@
 { buildPythonPackage, fetchPypi, isPy3k
 , six, jaraco_logging, jaraco_text, jaraco_stream, pytz, jaraco_itertools
-, setuptools_scm, jaraco_collections
+, setuptools_scm, jaraco_collections, importlib-metadata
 }:
 
 buildPythonPackage rec {
   pname = "irc";
-  version = "17.0";
+  version = "18.0.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9c5fcb72dd230e1387fd4a0114a1935605e0f59ac09dec962313baed74e1365";
+    sha256 = "1qg5996mzvhnkm74ksaa4d47fz5vrpw6hvxyaq9kf6y4cf1l76wq";
   };
 
   doCheck = false;
@@ -19,6 +19,7 @@ buildPythonPackage rec {
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [
     six
+    importlib-metadata
     jaraco_logging
     jaraco_text
     jaraco_stream
diff --git a/nixpkgs/pkgs/development/python-modules/isbnlib/default.nix b/nixpkgs/pkgs/development/python-modules/isbnlib/default.nix
index 319bf7f24a2f..af12ba587d44 100644
--- a/nixpkgs/pkgs/development/python-modules/isbnlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/isbnlib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "isbnlib";
-  version = "3.9.8";
+  version = "3.9.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca27dc15763759d038a22f4e05d849acc121ffcb8ffe008768f09a0d844f7172";
+    sha256 = "1a389556cc5cf82b7ad95924710101e3bd06d809d6f889a3f437975b275af944";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/islpy/default.nix b/nixpkgs/pkgs/development/python-modules/islpy/default.nix
index 6274da95b32f..6edf9a771867 100644
--- a/nixpkgs/pkgs/development/python-modules/islpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/islpy/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "islpy";
-  version = "2018.2";
+  version = "2019.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "be422a53b576210a0bb9775866abb6580b1e568222fc3e4e39d9e82f6d1d7253";
+    sha256 = "834b6b946f33d578d5c6b2f863dd93f7ecc4c0a2bf73407c96ef9f95b6b71bbf";
   };
 
   postConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/isort/default.nix b/nixpkgs/pkgs/development/python-modules/isort/default.nix
index 979213f945be..8e292ba7cd5c 100644
--- a/nixpkgs/pkgs/development/python-modules/isort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/isort/default.nix
@@ -1,24 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, futures, backports_functools_lru_cache, mock, pytest }:
+{ lib, buildPythonPackage, fetchPypi, setuptools, isPy27, futures
+, backports_functools_lru_cache, mock, pytest
+}:
 
 let
   skipTests = [ "test_requirements_finder" "test_pipfile_finder" ] ++ lib.optional isPy27 "test_standard_library_deprecates_user_issue_778";
   testOpts = lib.concatMapStringsSep " " (t: "--deselect test_isort.py::${t}") skipTests;
 in buildPythonPackage rec {
   pname = "isort";
-  version = "4.3.20"; # Note 4.x is the last version that supports Python2
+  version = "4.3.21"; # Note 4.x is the last version that supports Python2
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a";
+    sha256 = "54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1";
   };
 
-  propagatedBuildInputs = lib.optionals isPy27 [ futures backports_functools_lru_cache ];
+  propagatedBuildInputs = [
+    setuptools
+  ] ++ lib.optionals isPy27 [ futures backports_functools_lru_cache ];
 
   checkInputs = [ mock pytest ];
 
-  # isort excludes paths that contain /build/, so test fixtures don't work with TMPDIR=/build/
   checkPhase = ''
+    # isort excludes paths that contain /build/, so test fixtures don't work
+    # with TMPDIR=/build/
     PATH=$out/bin:$PATH TMPDIR=/tmp/ pytest ${testOpts}
+
+    # Confirm that the produced executable script is wrapped correctly and runs
+    # OK, by launching it in a subshell without PYTHONPATH
+    (
+      unset PYTHONPATH
+      echo "Testing that `isort --version-number` returns OK..."
+      $out/bin/isort --version-number
+    )
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix b/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix
new file mode 100644
index 000000000000..c67259eee0f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "itanium_demangler";
+  version = "1.0"; # pulled from pypi version
+
+  src = fetchFromGitHub {
+    owner = "whitequark";
+    repo = "python-${pname}";
+    rev = "29c77860be48e6dafe3496e4d9d0963ce414e366";
+    sha256 = "0qm95l6542nk63986w9lgzkxg824l31714i584s02rh9xwfg1xfx";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest tests/test.py
+  '';
+
+  meta = with lib; {
+    description = "A pure Python parser for the Itanium C++ ABI symbol mangling language";
+    homepage = "https://github.com/whitequark/python-itanium_demangler";
+    license = licenses.bsd0;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/janus/default.nix b/nixpkgs/pkgs/development/python-modules/janus/default.nix
new file mode 100644
index 000000000000..da0f43811f23
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/janus/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, pytest, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "janus";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cfc221683160b91b35bae1917e2957b78dad10a2e634f4f8ed119ed72e2a88ef";
+  };
+
+  disabled = pythonOlder "3.6";
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    description = "Mixed sync-async queue";
+    homepage = "https://github.com/aio-libs/janus";
+    license = licenses.asl20;
+    maintainers = [ maintainers.simonchatts ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco_classes/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_classes/default.nix
index dadbb8104659..8e5458509c43 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_classes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco_classes/default.nix
@@ -1,13 +1,16 @@
-{ buildPythonPackage, fetchPypi, setuptools_scm, six }:
+{ buildPythonPackage, fetchPypi, setuptools_scm, six, more-itertools }:
 
 buildPythonPackage rec {
   pname = "jaraco.classes";
-  version = "2.0";
+  version = "3.0.0";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xfal9085bjh4fv57d6v9ibr5wf4llj73gp1ybdlqd2bralc9hnw";
+    sha256 = "886ad165d495e7d18781142d6dda4f0045053a038f9e63c38ef03e2f7127bafc";
   };
+
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ six more-itertools ];
+
   doCheck = false;
-  buildInputs = [ setuptools_scm ];
-  propagatedBuildInputs = [ six ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix
index 8fde41e9b499..ceaa46a7847e 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix
@@ -4,10 +4,10 @@
 
 buildPythonPackage rec {
   pname = "jaraco.collections";
-  version = "2.0";
+  version = "2.1";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eb43fb9a7b29cff20767caf838c14bdf80a89395aba67a97d61c8f16e0e22c97";
+    sha256 = "0z1kmgf8jahx42bmflmj030wl8yrksw5b5ghcpayrqd5221jfk0f";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco_stream/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_stream/default.nix
index 492d903f24dc..324eb625014a 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_stream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco_stream/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "jaraco.stream";
-  version = "2.0";
+  version = "3.0.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2e9d507d8cf04a3ff916b57eaf46bacb8a9f8895b55ead853de9c47b8f5daa4";
+    sha256 = "287e1cba9f278e0146fdded6bc40518930813a5584579769aeaa1d0bfd178a73";
   };
   doCheck = false;
   buildInputs = [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco_text/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_text/default.nix
index 6087258a289b..9b3821edd7a0 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_text/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco_text/default.nix
@@ -1,15 +1,31 @@
-{ buildPythonPackage, fetchPypi, setuptools_scm
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, importlib-resources
 , jaraco_functools
+, setuptools_scm
 }:
 
 buildPythonPackage rec {
   pname = "jaraco.text";
-  version = "3.0";
+  version = "3.2.0";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l5hq2jvz9xj05aayc42f85v8wx8rpi16lxph8blw51wgnvymsyx";
+    sha256 = "1v0hz3h74m31jlbc5bxwkvrx1h2n7887bajrg1n1c3yc4q8qn1z5";
   };
+
+  nativeBuildInputs =[ setuptools_scm ];
+  propagatedBuildInputs = [
+    jaraco_functools
+  ] ++ lib.optional (pythonOlder "3.7") [ importlib-resources ];
+
+  # no tests in pypi package
   doCheck = false;
-  buildInputs =[ setuptools_scm ];
-  propagatedBuildInputs = [ jaraco_functools ];
+
+  meta = with lib; {
+    description = "Module for text manipulation";
+    homepage = "https://github.com/jaraco/jaraco.text";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+
 }
diff --git a/nixpkgs/pkgs/development/python-modules/javaobj-py3/default.nix b/nixpkgs/pkgs/development/python-modules/javaobj-py3/default.nix
new file mode 100644
index 000000000000..54656e1ea993
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/javaobj-py3/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "javaobj-py3";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0j9532i7bnjd0v4a8c36mjj9rsdnbmckk65dh9sbmvnhy3j6jx55";
+  };
+
+  # Tests assume network connectivity
+  doCheck = false;
+
+  meta = {
+    description = "Module for serializing and de-serializing Java objects";
+    homepage = "https://github.com/tcalmant/python-javaobj";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix b/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix
new file mode 100644
index 000000000000..a03aa9ec18bb
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix b/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
index 675dba0ea72f..1fbdd510e714 100644
--- a/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.2.0";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42d0d08c0d36dcf1c4e1ddb1d10338d0dffb94105a02d74b6ea655ee8dd93cc2";
+    sha256 = "a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/jedi/default.nix b/nixpkgs/pkgs/development/python-modules/jedi/default.nix
index dbd87f232545..eb3cdfaadd87 100644
--- a/nixpkgs/pkgs/development/python-modules/jedi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jedi/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jedi";
-  version = "0.13.3";
+  version = "0.15.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2bb0603e3506f708e792c7f4ad8fc2a7a9d9c2d292a358fbbd58da531695595b";
+    sha256 = "e909527104a903606dd63bea6e8e888833f0ef087057829b89a18364a856f807";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jeepney/default.nix b/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
index 8b1100cd3f40..04e47ff6b581 100644
--- a/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "jeepney";
-  version = "0.4";
+  version = "0.4.1";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w1w1rawl9k4lx91w16d19kbmf1349mhy8ph8x3w0qp1blm432b0";
+    sha256 = "13806f91a96e9b2623fd2a81b950d763ee471454aafd9eb6d75dbe7afce428fb";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
index e6c4086c386c..a5015f4d3267 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -1,39 +1,34 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, fasteners
+, jinja2
 , pbr
-, mock
 , python-jenkins
 , pyyaml
 , six
 , stevedore
-, isPy27
-, fasteners
-, jinja2
 }:
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.0.1";
-  disabled = !isPy27;
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16x97pdr90x3xsc1xl66l7q77pgja5dzsk921by2h09k7dvxaqmh";
+    sha256 = "1njxww53d92cpgrqlr09w2n0pk6wamjcb0mvpns1mr2pn5hy1jhi";
   };
 
   postPatch = ''
     export HOME=$TMPDIR
   '';
 
-  propagatedBuildInputs = [ pbr mock python-jenkins pyyaml six stevedore fasteners jinja2 ];
+  propagatedBuildInputs = [ pbr python-jenkins pyyaml six stevedore fasteners jinja2 ];
 
-  # Need to fix test deps
-  doCheck = false;
+  # Need to fix test deps, relies on stestr and a few other packages that aren't available on nixpkgs
+  checkPhase = ''$out/bin/jenkins-jobs --help'';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
-    homepage = "https://docs.openstack.org/infra/system-config/jjb.html";
+    homepage = "https://docs.openstack.org/infra/jenkins-job-builder/";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix b/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
index edfeb0a59714..bf5877c9f08c 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "jenkinsapi";
-  version = "0.3.9";
+  version = "0.3.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf35b208fe05e65508f3b8bbb0f91d164b007632e27ebe5f54041174b681b696";
+    sha256 = "a212a244b0a6022a61657746c8120ac9b6db83432371b345154075eb8faceb61";
   };
 
   propagatedBuildInputs = [ pytz requests ];
@@ -26,6 +26,7 @@ buildPythonPackage rec {
     homepage = https://github.com/salimfadhley/jenkinsapi;
     maintainers = with maintainers; [ drets ];
     license = licenses.mit;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jieba/default.nix b/nixpkgs/pkgs/development/python-modules/jieba/default.nix
index df21c0f41861..75520384ff35 100644
--- a/nixpkgs/pkgs/development/python-modules/jieba/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jieba/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "jieba";
-  version = "0.39";
+  version = "0.40";
 
   # no tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "fxsjy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hbq0l1jbgcvm58qg4p37im4jl5a9igvq3wlhlk22pmbkbvqqgzs";
+    sha256 = "1nasyxva9m3k9fb9g627ppphp3697jdplbb2bavqx71sa7mqim2m";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
index c8b7f740363d..862e5a7802eb 100644
--- a/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "Jinja2";
-  version = "2.10.1";
+  version = "2.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
+    sha256 = "9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/jira/default.nix b/nixpkgs/pkgs/development/python-modules/jira/default.nix
index b9bc923e7e08..78aaadf690e2 100644
--- a/nixpkgs/pkgs/development/python-modules/jira/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jira/default.nix
@@ -30,6 +30,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "This library eases the use of the JIRA REST API from Python.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ globin ma27 ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/joblib/default.nix b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
index c16c7687c8a3..d0c875cfa3bf 100644
--- a/nixpkgs/pkgs/development/python-modules/joblib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
@@ -1,43 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , stdenv
-, sphinx
 , numpydoc
 , pytest
 , python-lz4
+, setuptools
+, sphinx
 }:
 
 
 buildPythonPackage rec {
   pname = "joblib";
-  version = "0.13.2";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "315d6b19643ec4afd4c41c671f9f2d65ea9d787da093487a81ead7b0bac94524";
+    sha256 = "0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8";
   };
 
-  # python-lz4 compatibility
-  # https://github.com/joblib/joblib/pull/847
-  patches = [
-    (fetchpatch {
-      url = https://github.com/joblib/joblib/commit/d3235fd601f40c91e074d48a411d7380329fe155.patch;
-      sha256 = "1hg1vfbba7mfilrpvmd97s68v03vs4bhlp1c1dj9lizi51mj2q2h";
-    })
-    (fetchpatch {
-      url = https://github.com/joblib/joblib/commit/884c92cd2aa5c2c1975ab48786da75556d779833.patch;
-      sha256 = "11kvpkvi428dq13ayy7vfyrib8isvcrdw8cd5hxkp5axr7sl12ba";
-    })
-    (fetchpatch {
-      url = https://github.com/joblib/joblib/commit/f1e177d781cc0d64420ec964a0b17d8268cb42a0.patch;
-      sha256 = "1sq6wcw4bhaq8cqwcd43fdws3467qy342xx3pgv62hp2nn75a21d";
-    })
-  ];
-
   checkInputs = [ sphinx numpydoc pytest ];
-  propagatedBuildInputs = [ python-lz4 ];
+  propagatedBuildInputs = [ python-lz4 setuptools ];
 
   # test_disk_used is broken: https://github.com/joblib/joblib/issues/57
   # test_dispatch_multiprocessing is broken only on Darwin.
@@ -47,7 +30,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Lightweight pipelining: using Python functions as pipeline jobs";
-    homepage = https://pythonhosted.org/joblib/;
+    homepage = "https://joblib.readthedocs.io/";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jsbeautifier/default.nix b/nixpkgs/pkgs/development/python-modules/jsbeautifier/default.nix
index 10d0004f74a5..4c77a07da02e 100644
--- a/nixpkgs/pkgs/development/python-modules/jsbeautifier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsbeautifier/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonApplication rec {
   pname = "jsbeautifier";
-  version = "1.10.0";
+  version = "1.10.2";
 
   propagatedBuildInputs = [ six editorconfig ];
   checkInputs = [ pytest ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e389572ade865173605471e98df4002f4b6e5235121c13f1e4497a3eac69108";
+    sha256 = "a5ce5195c0b54a68eb813649829143373823ca28caa4d7aa682442b87ebea1ce";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/json-merge-patch/default.nix b/nixpkgs/pkgs/development/python-modules/json-merge-patch/default.nix
new file mode 100644
index 000000000000..b0bc2a835c41
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix b/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix
new file mode 100644
index 000000000000..eec4c6b38469
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, buildPythonPackage, six
+, flake8, pep8-naming, pytest, pytestcov, pytestpep8 }:
+
+buildPythonPackage rec {
+  pname = "jsonlines";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "wbolster";
+    repo = pname;
+    rev = version;
+    sha256 = "1f8zsqy8p9a41gqg2a5x7sppc5qhhq7gw58id2aigb270yxzs7jw";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ flake8 pep8-naming pytest pytestcov pytestpep8 ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Python library to simplify working with jsonlines and ndjson data";
+    homepage = https://github.com/wbolster/jsonlines;
+    maintainers = with maintainers; [ sondr3 ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jsonmerge/default.nix b/nixpkgs/pkgs/development/python-modules/jsonmerge/default.nix
index 44944c03500b..9379abcc604f 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonmerge/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonmerge/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "jsonmerge";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03l2j1lrcwcp7af4x8agxnkib0ndybfrbhn2gi7mnk6gbxfw1aw3";
+    sha256 = "2004a421890311176136fb911c339c4bab45984808814feaed6a328c6e211ba2";
   };
 
   propagatedBuildInputs = [ jsonschema ];
diff --git a/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix b/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
index 52fc3bd5e043..7345c8f723a9 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "jsonpatch";
-  version = "1.23";
+  version = "1.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9";
+    sha256 = "cbb72f8bf35260628aea6b508a107245f757d1ec839a19c34349985e2c05645a";
   };
 
   # test files are missing
diff --git a/nixpkgs/pkgs/development/python-modules/jsonrpc-async/default.nix b/nixpkgs/pkgs/development/python-modules/jsonrpc-async/default.nix
index d4bc1dd523d5..e18f3bc9b3da 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsonrpc-base/default.nix b/nixpkgs/pkgs/development/python-modules/jsonrpc-base/default.nix
index 35244e092da3..a26a040eedd2 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/nixpkgs/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index eff4f41979a2..c0c2fe2a8ee5 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -1,15 +1,17 @@
 { stdenv, buildPythonPackage, fetchPypi
-, aiohttp, jsonrpc-base }:
+, aiohttp, jsonrpc-base, pep8 }:
 
 buildPythonPackage rec {
   pname = "jsonrpc-websocket";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e74e490fefa3b8f33620fca98f7cd9a53fb765b9ed6f78360482a3f364230885";
+    sha256 = "f1aaca95db795d6a9f7bba52ff83c7fd4139050d0df93ee3a5a448adcfa0c0ac";
   };
 
+  nativeBuildInputs = [ pep8 ];
+
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
index 4697fb0c1133..2d017ca11015 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     description = "JSON RPC client library - Pelix compatible fork";
     homepage = https://pypi.python.org/pypi/jsonrpclib-pelix/;
     license = lib.licenses.asl20;
-    maintainers = with maintainers; [ moredread ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
index db6be9f99182..9ff267b6fce3 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
@@ -1,28 +1,36 @@
-{ stdenv, buildPythonPackage, fetchPypi, python
-, nose, mock, vcversioner, functools32 }:
+{ lib, buildPythonPackage, fetchPypi, python, isPy27
+, attrs
+, functools32
+, importlib-metadata
+, mock
+, nose
+, pyperf
+, pyrsistent
+, setuptools_scm
+, twisted
+, vcversioner
+}:
 
 buildPythonPackage rec {
   pname = "jsonschema";
-  version = "2.6.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
+    sha256 = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a";
   };
 
-  checkInputs = [ nose mock vcversioner ];
-  propagatedBuildInputs = [ functools32 ];
-
-  postPatch = ''
-    substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py \
-      --replace "python" "${python.pythonForBuild.interpreter}"
-  '';
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ attrs importlib-metadata functools32 pyrsistent ];
+  checkInputs = [ nose mock pyperf twisted vcversioner ];
 
+  # zope namespace collides on py27
+  doCheck = !isPy27;
   checkPhase = ''
     nosetests
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/Julian/jsonschema;
     description = "An implementation of JSON Schema validation for Python";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/junitparser/default.nix b/nixpkgs/pkgs/development/python-modules/junitparser/default.nix
new file mode 100644
index 000000000000..11bd1d60ab00
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/junitparser/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "junitparser";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "gastlygem";
+    repo = pname;
+    rev = version;
+    sha256 = "16xwayr0rbp7xdg7bzmyf8s7al0dhkbmkcnil66ax7r8bznp5lmp";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+
+  meta = with lib; {
+    description = "A JUnit/xUnit Result XML Parser";
+    license = licenses.asl20;
+    homepage = https://github.com/gastlygem/junitparser;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
index 6970efd0914a..77b56e01b0c7 100644
--- a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0133a10ba3d46ddf70f0ba6620aa3b92e5533f08c57edd000dbffd8fe60d586d";
+    sha256 = "0f8c4763fe2281979bc00350b93d510368992dbae0dae4fea0bafee5904a7e68";
   };
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index a400dd4d18ce..44c0a3514f57 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -1,36 +1,48 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, pkgs-docker
+{ stdenv, buildPythonPackage, fetchPypi, pythonAtLeast
 , docker
-, traitlets
-, python-json-logger
 , escapism
 , jinja2
-, ruamel_yaml
+, pkgs-docker
+, python-json-logger
 , pyyaml
-, pytest
-, wheel
-, pytestcov
-, pythonAtLeast
+, ruamel_yaml
+, semver
+, toml
+, traitlets
 }:
 
 buildPythonPackage rec {
-  version = "0.7.0";
+  version = "0.10.0";
   pname = "jupyter-repo2docker";
   disabled = !(pythonAtLeast "3.4");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf93ddf283de8c6b8f4ad983f8bf9b7b2a2c37812e387c245f8ba229d4f180c4";
+    sha256 = "7965262913be6be60e64c8016f5f3d4bf93701f2787209215859d73b2adbc05a";
   };
 
-  checkInputs = [ pytest pyyaml wheel pytestcov ];
-  propagatedBuildInputs = [ pkgs-docker docker traitlets python-json-logger escapism jinja2 ruamel_yaml ];
+  propagatedBuildInputs = [
+    docker
+    escapism
+    jinja2
+    pkgs-docker
+    python-json-logger
+    ruamel_yaml
+    semver
+    toml
+    traitlets
+  ];
 
   # tests not packaged with pypi release
   doCheck = false;
 
+  pythonImportsCheck = [
+    "repo2docker"
+    "repo2docker.app"
+    "repo2docker.utils"
+    "repo2docker.contentproviders.base"
+  ];
+
   meta = with stdenv.lib; {
     homepage = https://repo2docker.readthedocs.io/en/latest/;
     description = "Repo2docker: Turn code repositories into Jupyter enabled Docker Images";
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
index 01830514b46b..e5dec4c98e2a 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "5.3.1";
+  version = "5.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "102qgc7isfxwq0zsj6m9apcyj2hk8c8c4fz7656lxlpmvxgazs4q";
+    sha256 = "60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
index f8cf8b3076a7..9200e004d0c6 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
@@ -20,7 +20,6 @@ buildPythonPackage rec {
     sha256 = "308ce876354924fb6c540b41d5d6d08acfc946984bf0c97777c1ddcb42e0b2f5";
   };
 
-  checkInputs = [ nose ];
   propagatedBuildInputs = [
     jupyter_client
     ipython
@@ -28,6 +27,12 @@ buildPythonPackage rec {
     prompt_toolkit
     pygments
   ];
+  checkInputs = [ nose ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "prompt_toolkit>=2.0.0,<2.1.0" "prompt_toolkit"
+  '';
 
   # ValueError: underlying buffer has been detached
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix
index 112e680ea9a5..535afa31ee19 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix
@@ -6,18 +6,19 @@
 , glibcLocales
 , mock
 , pytest
+, nose
 }:
 
 buildPythonPackage rec {
   pname = "jupyter_core";
-  version = "4.5.0";
+  version = "4.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xr4pbghwk5hayn5wwnhb7z95380r45p79gf5if5pi1akwg7qvic";
+    sha256 = "a183e0ec2e8f6adddf62b0a3fc6a2237e3e0056d381e536d3e7c7ecc3067e244";
   };
 
-  checkInputs = [ pytest mock glibcLocales ];
+  checkInputs = [ pytest mock glibcLocales nose ];
   propagatedBuildInputs = [ ipython traitlets ];
 
   patches = [ ./tests_respect_pythonpath.patch ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index b291a2b0d3b2..952e5b781a1c 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -16,6 +16,8 @@
 , notebook
 , pythonOlder
 , nodePackages
+, oauthlib
+, certipy
 }:
 
 let
@@ -51,12 +53,12 @@ in
 
 buildPythonPackage rec {
   pname = "jupyterhub";
-  version = "0.9.4";
+  version = "1.0.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da";
+    sha256 = "0zx6gw9yhgki05j21p6x1x2sf5a2mg2c2mx0ii8rl6q4b98ilm1k";
   };
 
   # Most of this only applies when building from source (e.g. js/css assets are
@@ -107,7 +109,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     alembic ipython jinja2 pamela python-oauth2 requests sqlalchemy tornado
-    traitlets prometheus_client async_generator notebook
+    traitlets prometheus_client async_generator notebook certipy oauthlib
   ];
 
   # Disable tests because they take an excessive amount of time to complete.
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index db8c5b774e41..32d3ad0bada3 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -4,17 +4,16 @@
 , jupyterlab_server
 , notebook
 , pythonOlder
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "0.35.6";
+  version = "1.2.4";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ec845845d51221e39d0d753884a19342c953f39febf3148a68631bf57ecb774";
+    sha256 = "6adb88acd05b51512c37df477a18c36240823a591c2a51bf6556198414026d8f";
   };
 
   propagatedBuildInputs = [ jupyterlab_server notebook ];
@@ -23,14 +22,6 @@ buildPythonPackage rec {
     "--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "bump-jupyterlab_server-version";
-      url = https://github.com/jupyterlab/jupyterlab/commit/3b8d451e6f9a4c609e60cde5fbb3cc84aae79951.patch;
-      sha256 = "08vv6rp1k5fbmvj4v9x1d9zb6ymm9pv8ml80j7p45r9fay34rndf";
-    })
-  ];
-
   # Depends on npm
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
index b74e31c39f35..edfe01728a49 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -6,20 +6,21 @@
 , pythonOlder
 , requests
 , pytest
+, pyjson5
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "0.3.0";
+  version = "1.0.6";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13b728z5ls0g3p1gq5hvfqg7302clxna5grvgjfwbfzss0avlpjc";
+    sha256 = "d0977527bfce6f47c782cb6bf79d2c949ebe3f22ac695fa000b730c671445dad";
   };
 
   checkInputs = [ requests pytest ];
-  propagatedBuildInputs = [ notebook jsonschema ];
+  propagatedBuildInputs = [ notebook jsonschema pyjson5 ];
 
   # test_listing test fails
   # this is a new package and not all tests pass
diff --git a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
index ae6796825f1c..961eb43f03b5 100644
--- a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05vwxgjh7pzxgdzj0775562bfps8j7w3p7dcf1zfh169whqw9vg8";
+    sha256 = "132bad60c63debfb371a691cb6668a19938ec268599e9c49f1531a3bf0be7b1c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/kafka-python/default.nix b/nixpkgs/pkgs/development/python-modules/kafka-python/default.nix
index 891aa3f33941..52c6e64aa10a 100644
--- a/nixpkgs/pkgs/development/python-modules/kafka-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kafka-python/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi, pytest, six, mock }:
 
 buildPythonPackage rec {
-  version = "1.4.6";
+  version = "1.4.7";
   pname = "kafka-python";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08f83d8e0af2e64d25f94314d4bef6785b34e3b0df0effe9eebf76b98de66eeb";
+    sha256 = "2f29baad4b3efe05a2bb81ac268855aa01cbc68397f15bac77b494ffd7e2cada";
   };
 
   checkInputs = [ pytest six mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/kajiki/default.nix b/nixpkgs/pkgs/development/python-modules/kajiki/default.nix
index ba71e03ce991..8643e562fa07 100644
--- a/nixpkgs/pkgs/development/python-modules/kajiki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kajiki/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "Kajiki";
-  version = "0.7.2";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e7aaf838f298958cf171f220e1d0dc4220338c76c97746a46d0cc389f90b10a";
+    sha256 = "bbec46b19285d42769d7c4f5a8a0195b72a62b54cd360a26a8875319d58efef6";
   };
 
   propagatedBuildInputs = [ Babel pytz nine ];
diff --git a/nixpkgs/pkgs/development/python-modules/kconfiglib/default.nix b/nixpkgs/pkgs/development/python-modules/kconfiglib/default.nix
index 7d83d2c4338f..b4d647c60755 100644
--- a/nixpkgs/pkgs/development/python-modules/kconfiglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kconfiglib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "kconfiglib";
-  version = "10.36.0";
+  version = "13.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qhy4vv1rpgx4r1la14symxv3cpz7klqakn1rqdagwyaqp667g9b";
+    sha256 = "0dkfprrsds64d2jbqnwdzb4why84jaj968s3ccmyqg5385nr9fwd";
   };
 
   # doesnt work out of the box but might be possible
diff --git a/nixpkgs/pkgs/development/python-modules/keepkey_agent/default.nix b/nixpkgs/pkgs/development/python-modules/keepkey_agent/default.nix
new file mode 100644
index 000000000000..c2361043e419
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/keepkey_agent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, keepkey
+, setuptools
+, libagent
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "keepkey_agent";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27";
+  };
+
+  propagatedBuildInputs = [
+    keepkey libagent setuptools wheel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Using KeepKey as hardware-based SSH/PGP agent";
+    homepage = https://github.com/romanz/trezor-agent;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hkjn np mmahut ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/keras-applications/default.nix b/nixpkgs/pkgs/development/python-modules/keras-applications/default.nix
index c6fdd21d2ebe..54509f04e71c 100644
--- a/nixpkgs/pkgs/development/python-modules/keras-applications/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keras-applications/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Keras_Applications";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yk9brcvr96s1slpgj9vr6np7fk8limcrw9v2pjq72c6k0mpnq30";
+    sha256 = "5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5";
   };
 
   # Cyclic dependency: keras-applications requires keras, which requires keras-applications
diff --git a/nixpkgs/pkgs/development/python-modules/keras-preprocessing/default.nix b/nixpkgs/pkgs/development/python-modules/keras-preprocessing/default.nix
index 96c38f3cd89d..01a0cf0dfb74 100644
--- a/nixpkgs/pkgs/development/python-modules/keras-preprocessing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keras-preprocessing/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Keras_Preprocessing";
-  version = "1.0.9";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5e3700117981c2db762e512ed6586638124fac5842170701628088a11aeb51ac";
+    sha256 = "1r98nm4k1svsqjyaqkfk23i31bl1kcfcyp7094yyj3c43phfp3as";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/keras/default.nix b/nixpkgs/pkgs/development/python-modules/keras/default.nix
index dde820876d81..0c1f6f35d549 100644
--- a/nixpkgs/pkgs/development/python-modules/keras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keras/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.2.4";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "90b610a3dbbf6d257b20a079eba3fdf2eed2158f64066a7c6f7227023fd60bc9";
+    sha256 = "321d43772006a25a1d58eea17401ef2a34d388b588c9f7646c34796151ebc8cc";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/keyring/2.nix b/nixpkgs/pkgs/development/python-modules/keyring/2.nix
new file mode 100644
index 000000000000..ce4aa145e8ee
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/keyring/default.nix b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
index cf1eeb5392c6..8f7ae56de049 100644
--- a/nixpkgs/pkgs/development/python-modules/keyring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
@@ -1,26 +1,35 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, dbus-python, setuptools_scm, entrypoints, secretstorage
-, pytest, pytest-flake8 }:
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, pythonOlder
+, dbus-python
+, entrypoints
+, importlib-metadata
+, pytest
+, pytest-flake8
+, secretstorage
+, setuptools_scm
+}:
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "19.1.0";
+  version = "20.0.1";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13frfmws03jdyz9wxb4ylkvk80qiyb6a3h3sn7wx3ry97bn5li3a";
+    sha256 = "963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
 
   checkInputs = [ pytest pytest-flake8 ];
 
-  propagatedBuildInputs = [ dbus-python entrypoints ] ++ stdenv.lib.optional stdenv.isLinux secretstorage;
+  propagatedBuildInputs = [ dbus-python entrypoints ]
+  ++ lib.optional stdenv.isLinux secretstorage
+  ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
   # checks try to access a darwin path on linux
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Store and access your passwords safely";
     homepage    = "https://pypi.python.org/pypi/keyring";
     license     = licenses.psfl;
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-alt/default.nix b/nixpkgs/pkgs/development/python-modules/keyrings-alt/default.nix
index 3fe986fc3351..aa873b63ab91 100644
--- a/nixpkgs/pkgs/development/python-modules/keyrings-alt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyrings-alt/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, six
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, isPy27, six
 , pytest, backports_unittest-mock, keyring, setuptools_scm
 }:
 
 buildPythonPackage rec {
   pname = "keyrings.alt";
-  version = "3.1.1";
+  version = "3.4.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lgp2d3hrpvbb2rfz18vrv5lrck72k3l2f2cpkbks2kigrfbgiqb";
+    sha256 = "91328ac4229e70b1d0061d21bf61d36b031a6b4828f2682e38c741812f6eb23d";
   };
 
   postPatch = ''
@@ -21,10 +22,16 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest keyring ] ++ stdenv.lib.optional (pythonOlder "3.3") backports_unittest-mock;
 
+  # heavily relies on importing tests from keyring package
+  doCheck = false;
   checkPhase = ''
     py.test
   '';
 
+  pythonImportsCheck = [
+    "keyrings.alt"
+  ];
+
   meta = with stdenv.lib; {
     license = licenses.mit;
     description = "Alternate keyring implementations";
diff --git a/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix b/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
index c0c3b09e7b4b..e41c4bbeee05 100644
--- a/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "kiwisolver";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278";
+    sha256 = "53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75";
   };
   
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/nixpkgs/pkgs/development/python-modules/klaus/default.nix b/nixpkgs/pkgs/development/python-modules/klaus/default.nix
index 687798735d3e..d1218ab49b74 100644
--- a/nixpkgs/pkgs/development/python-modules/klaus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/klaus/default.nix
@@ -1,14 +1,14 @@
-{ lib, python, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, six, flask, pygments, dulwich, httpauth, humanize, pytest, requests, python-ctags3, mock }:
 
-python.pkgs.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "klaus";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
     repo = pname;
     rev = version;
-    sha256 = "041l5dpymi9h0yyr55r6m0skp0m2ags3miay0s1bgfcp469k0l20";
+    sha256 = "1432m3ki2g4ma10pfv310q1w4da46b0y2jklb8ajbz8a09ms6mfx";
   };
 
   prePatch = ''
@@ -16,11 +16,11 @@ python.pkgs.buildPythonPackage rec {
       --replace "mkdir -p \$builddir" "mkdir -p \$builddir && pwd"
   '';
 
-  propagatedBuildInputs = with python.pkgs; [
+  propagatedBuildInputs = [
     six flask pygments dulwich httpauth humanize
   ];
 
-  checkInputs = with python.pkgs; [
+  checkInputs = [
     pytest requests python-ctags3
   ] ++ lib.optional (!isPy3k) mock;
 
diff --git a/nixpkgs/pkgs/development/python-modules/kmapper/default.nix b/nixpkgs/pkgs/development/python-modules/kmapper/default.nix
index 3904473f1a3e..67b9343ecca5 100644
--- a/nixpkgs/pkgs/development/python-modules/kmapper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/koji/default.nix b/nixpkgs/pkgs/development/python-modules/koji/default.nix
index 033ab8211350..aec1916c1ffe 100644
--- a/nixpkgs/pkgs/development/python-modules/koji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/koji/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, buildPythonPackage, pycurl, six, rpm, dateutil }:
+{ stdenv, fetchurl, buildPythonPackage, isPy3k, pycurl, six, rpm, dateutil }:
 
 buildPythonPackage rec {
   pname = "koji";
-  version = "1.13.0";
+  version = "1.14.3";
   format = "other";
 
   src = fetchurl {
     url = "https://releases.pagure.org/koji/${pname}-${version}.tar.bz2";
-    sha256 = "18b18rcbdqqw33g7h20hf5bpbci2ixdi05yda1fvpv30c1kkzd8w";
+    sha256 = "0a3kn3qvspvx15imgzzzjsbvw6bqmbk29apbliqwifa9cj7pvb40";
   };
 
   propagatedBuildInputs = [ pycurl six rpm dateutil ];
 
   # Judging from SyntaxError
-  #disabled = isPy3k;
+  disabled = isPy3k;
 
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = [ "DESTDIR=$(out)" ];
 
   postInstall = ''
     mv $out/usr/* $out/
@@ -24,7 +24,9 @@ buildPythonPackage rec {
   '';
 
   meta = {
-    maintainers = [ ];
+    description = "An RPM-based build system";
+    homepage = https://pagure.io/koji;
+    license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/kombu/default.nix b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
index fef8345a980e..5caab5a377e1 100644
--- a/nixpkgs/pkgs/development/python-modules/kombu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
@@ -1,22 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, case, pytz, Pyro4, amqp }:
+{ lib, buildPythonPackage, fetchPypi
+, amqp
+, case
+, Pyro4
+, pytest
+, pytz
+, sqlalchemy
+}:
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "4.6.3";
+  version = "4.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eb365ea795cd7e629ba2f1f398e0c3ba354b91ef4de225ffdf6ab45fdfc7d581";
+    sha256 = "67b32ccb6fea030f8799f8fd50dd08e03a4b99464ebc4952d71d8747b1a52ad1";
   };
 
   postPatch = ''
-    substituteInPlace requirements/test.txt --replace "pytest-sugar" ""
+    substituteInPlace requirements/test.txt \
+      --replace "pytest-sugar" ""
+    substituteInPlace requirements/default.txt \
+      --replace "amqp==2.5.1" "amqp~=2.5"
   '';
 
-  checkInputs = [ pytest case pytz Pyro4 ];
-
   propagatedBuildInputs = [ amqp ];
 
+  checkInputs = [ pytest case pytz Pyro4 sqlalchemy ];
+  # test_redis requires fakeredis, which isn't trivial to package
+  checkPhase = ''
+    pytest --ignore t/unit/transport/test_redis.py
+  '';
+
   meta = with lib; {
     description = "Messaging library for Python";
     homepage    = https://github.com/celery/kombu;
diff --git a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
index 8ba7b1092647..153398bdd8ed 100644
--- a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "kubernetes";
-  version = "10.0.0";
+  version = "10.0.1";
 
   prePatch = ''
     sed -e 's/sphinx>=1.2.1,!=1.3b1,<1.4 # BSD/sphinx/' -i test-requirements.txt
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v3hiy427ca010k8brys3aafgb5013i32yva1nmiibk3xcf7f90f";
+    sha256 = "14l5mj0yjmqsq084pdh8g8hlagvvjkdylpk6xwfsv5ikcsba8w1p";
   };
 
   checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
new file mode 100644
index 000000000000..c8279835c92f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, jinja2
+, pillow
+, rasterio
+, shapely
+}:
+
+buildPythonPackage rec {
+  pname = "labelbox";
+  version = "2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6b515dc29329e8a3adac9d6b4fef84d80c513743be57ae66b54bcb30060172c6";
+  };
+
+  propagatedBuildInputs = [ jinja2 requests pillow rasterio shapely ];
+
+  # Test cases are not running on pypi or GitHub
+  doCheck = false;   
+
+  meta = with lib; {
+    homepage = https://github.com/Labelbox/Labelbox;
+    description = "Platform API for LabelBox";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rakesh4g ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix b/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix
index 501e4adc21d6..df2a122d0681 100644
--- a/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix
@@ -9,7 +9,7 @@
 , pymatgen
 , ase
 , pytestrunner
-, pytest
+, pytest_4
 , pytestcov
 , isPy3k
 , openssh
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ cython pytestrunner ];
-  checkInputs = [ pytest pytestcov openssh ];
+  checkInputs = [ pytest_4 pytestcov openssh ];
   propagatedBuildInputs = [ mpi4py pymatgen ase numpy ];
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix b/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
index 590ca9880234..38e51ac0ac68 100644
--- a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.7.3";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "1d8dbn8wwqqvvjyhai813sqkx6366d8jkjq0gkyh51692pflmwrp";
+    sha256 = "0gd5c3scpyir3h8clhwb5jsf8dkmh1vh7rx8135lkx9fxx01q0az";
   };
 
   # tests of Nearley support require js2py
diff --git a/nixpkgs/pkgs/development/python-modules/lazr/config.nix b/nixpkgs/pkgs/development/python-modules/lazr/config.nix
index 759c9689bc93..d8a895c8357b 100644
--- a/nixpkgs/pkgs/development/python-modules/lazr/config.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix b/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix
index 430e43a129b3..f174aa1066ca 100644
--- a/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -2,18 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , pytest
+, setuptools_scm
 }:
 
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
-  version = "1.3.1";
+  version = "1.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a";
+    sha256 = "f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0";
   };
 
-  buildInputs = [ pytest ];
+  nativeBuildInputs = [ setuptools_scm ];
+
+  checkInputs = [ pytest ];
   checkPhase = ''
     py.test tests
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/ldap3/default.nix b/nixpkgs/pkgs/development/python-modules/ldap3/default.nix
index 13fe196e471c..58acc263eff5 100644
--- a/nixpkgs/pkgs/development/python-modules/ldap3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ldap3/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ldap3";
-  version = "2.6";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f0v82584b7gkzrnnnl4fc88w4i73x7cxqbzy0r0bknm33yfwcq5";
+    sha256 = "0ag5xqlki6pjk3f50b8ar8vynx2fmkna7rfampv3kdgwg8z6gjr7";
   };
 
   propagatedBuildInputs = [ pyasn1 ];
diff --git a/nixpkgs/pkgs/development/python-modules/ldaptor/default.nix b/nixpkgs/pkgs/development/python-modules/ldaptor/default.nix
index 4eab700ff140..49dc9a9b25b3 100644
--- a/nixpkgs/pkgs/development/python-modules/ldaptor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ldaptor/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "ldaptor";
-  version = "16.0.1";
+  version = "19.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b9ebe5814e9e7091703c4e3bfeae73b46508b4678e2ff403cddaedf8213815d";
+    sha256 = "64c7b870c77e34e4f5f9cfdf330b9702e89b4dd0f64275704f86c1468312c755";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ledger_agent/default.nix b/nixpkgs/pkgs/development/python-modules/ledger_agent/default.nix
new file mode 100644
index 000000000000..4aaecf6bc76c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ledger_agent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, ledgerblue
+, setuptools
+, libagent
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "ledger_agent";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92";
+  };
+
+  propagatedBuildInputs = [
+    ledgerblue libagent setuptools wheel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Using Ledger as hardware-based SSH/PGP agent";
+    homepage = https://github.com/romanz/trezor-agent;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hkjn np mmahut ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix b/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
index 3e2c1f1356ac..8d50f9846cc7 100644
--- a/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.28";
+  version = "0.1.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jfh4gb3f16ga1ircwiyg7dldldmhn0a5slbpqsqr2g6mlqihpmd";
+    sha256 = "f1fc7ab685780309a7220c6ee517d88072cc594a9615bcc18e68ed5f149fa432";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/leveldb/default.nix b/nixpkgs/pkgs/development/python-modules/leveldb/default.nix
index 4d6336ce7573..212f13d00cf8 100644
--- a/nixpkgs/pkgs/development/python-modules/leveldb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/leveldb/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "leveldb";
-  version = "0.194";
+  version = "0.201";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f6d1y65k6miimic82n8zsx50z9k982mvzp90crwcv1knjrphcww";
+    sha256 = "1cffe776842917e09f073bd6ea5856c64136aebddbe51bd17ea29913472fecbf";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
index 52cca5d36fb6..8488343362de 100644
--- a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "libarchive-c";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06d44d5b9520bdac93048c72b7ed66d11a6626da16d2086f9aad079674d8e061";
+    sha256 = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60";
   };
 
   checkInputs = [ mock pytest glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/libarcus/default.nix b/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
index 54d9193c25b4..97fd448f1838 100644
--- a/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "libarcus";
-  version = "4.2.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libArcus";
     rev = version;
-    sha256 = "0pk0g80ay9aghzmb8gfpqh0chl9rk47jh0ziicpianhklxx2jb44";
+    sha256 = "16m7m6ak5fqw3djn4azwiamkizcc1dv7brv11kv99n3b43zzgn6d";
   };
 
   disabled = pythonOlder "3.4.0";
diff --git a/nixpkgs/pkgs/development/python-modules/libcloud/default.nix b/nixpkgs/pkgs/development/python-modules/libcloud/default.nix
index 734a51c7be61..3d505166e4ac 100644
--- a/nixpkgs/pkgs/development/python-modules/libcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libcloud/default.nix
@@ -1,32 +1,34 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , mock
 , pycrypto
 , requests
 , pytestrunner
 , pytest
 , requests-mock
+, typing
 }:
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1spjkw5nxhbawblj5db8izff05kjw425iyydipajb7qh73vm25r0";
+    sha256 = "29ee7d13b9b12d1335e752a489c01eed0c270940147f418cfff89ab66faf1305";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
-  propagatedBuildInputs = [ pycrypto requests ];
+  propagatedBuildInputs = [ pycrypto requests ] ++ lib.optionals isPy27 [ typing ];
 
   preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
 
   # requires a certificates file
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A unified interface to many cloud providers";
     homepage = http://incubator.apache.org/libcloud/;
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/librosa/default.nix b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
index 258c2d6932d5..8920fecf3da7 100644
--- a/nixpkgs/pkgs/development/python-modules/librosa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
@@ -8,18 +8,19 @@
 , decorator
 , audioread
 , resampy
+, soundfile
 }:
 
 buildPythonPackage rec {
   pname = "librosa";
-  version = "0.6.3";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b332225ac29bfae1ba386deca2b6566271576de3ab17617ad0a71892c799b118";
+    sha256 = "cca58a2d9a47e35be63a3ce36482d241453bfe9b14bde2005430f969bd7d013a";
   };
 
-  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy ];
+  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy soundfile ];
 
   # No tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix b/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
index 657df2dfb7cd..b43468bdf9cb 100644
--- a/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "libsavitar";
-  version = "4.2.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libSavitar";
     rev = version;
-    sha256 = "0cqskd8rcg7pih8nj3s2i137lwxpibmdmym6f8hii14ashny73i1";
+    sha256 = "0sm8945icbdxvyj7yiq9yhkk17ww3gjkpsbk7875qijzlgfs60j8";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/libsexy/default.nix b/nixpkgs/pkgs/development/python-modules/libsexy/default.nix
deleted file mode 100644
index 78e0dae2634c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/libsexy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, glib, python }:
-
-buildPythonPackage rec {
-  pname = "libsexy";
-  version = "0.1.9";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://releases.chipx86.com/libsexy/sexy-python/sexy-python-${version}.tar.gz";
-    sha256 = "05bgcsxwkp63rlr8wg6znd46cfbhrzc5wh70jabsi654pxxjb39d";
-  };
-
-  nativeBuildInputs = [ pkgconfig pygtk ];
-
-  propagatedBuildInputs = [
-    pygtk libsexy glib pango libxml2
-  ];
-
-  postInstall = ''
-    ln -s $out/${python.sitePackages}/gtk-2.0/* $out/${python.sitePackages}
-  '';
-
-  meta = {
-    description = "Python libsexy bindings";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/libversion/default.nix b/nixpkgs/pkgs/development/python-modules/libversion/default.nix
index e57411764267..775d1a9ef853 100644
--- a/nixpkgs/pkgs/development/python-modules/libversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libversion/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libversion";
-  version = "1.1.4";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xp0wv4s1537s0iqa1ih3kfh1p70s7d1fkwhvrnbj8m98yjij84q";
+    sha256 = "1p3snjlsg11vhba8h286h19kn6azlxbywg9f6rdhj8sfraccqlmk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/python-modules/license-expression/default.nix b/nixpkgs/pkgs/development/python-modules/license-expression/default.nix
index 2bf204a9a628..e934c5194285 100644
--- a/nixpkgs/pkgs/development/python-modules/license-expression/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/license-expression/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "0.999";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "v${version}";
-    sha256 = "0q8sha38w7ajg7ar0rmbqrwv0n58l8yzyl96cqwcbvp578fn3ir0";
+    sha256 = "0bbd7d90z58p9sd01b00g0vfd9bmwzksjb7pc8833s2jpja9mxz1";
   };
   postPatch = "patchShebangs ./configure";
 
diff --git a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
index f428e7dbfbac..0a711b31d1a6 100644
--- a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "lightgbm";
-  version = "2.2.3";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40354d21da6bfa73c7ada4d01b2e0b22eaae00f93e90bdaf3fc423020c273890";
+    sha256 = "bd1817be401e74c0d8b049e97ea2f35d2ce155cfa130119ce4195ea207bd6388";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lightparam/default.nix b/nixpkgs/pkgs/development/python-modules/lightparam/default.nix
new file mode 100644
index 000000000000..6681b528b8c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lightparam/default.nix
@@ -0,0 +1,28 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "lightparam";
+  version = "0.3.7";
+  disabled = !isPy3k;
+  format = "wheel";
+
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    python = "py3";
+    sha256 = "53d5d5b225bac27bc14929c9ad4e51ece4f692813dd367f317fb1586145d93f1";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/lightparam";
+    description = "Another attempt at parameters in Python";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/limits/default.nix b/nixpkgs/pkgs/development/python-modules/limits/default.nix
index 57f47ff5fd82..614945d13644 100644
--- a/nixpkgs/pkgs/development/python-modules/limits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limits/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "1.3";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a017b8d9e9da6761f4574642149c337f8f540d4edfe573fb91ad2c4001a2bc76";
+    sha256 = "c071295307c447f85aaa3c3ab3ce058e29d67010f4fabf278a8e163916e4deab";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
index 604f9bad3c36..7cd3ef85822a 100644
--- a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2019.02.23";
+  version = "2019.11.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rlv9l1w80n2jpw2yy1g6x83rvldwzkmkafdalxkar32czbi2xv4";
+    sha256 = "6ccc6906fd644444a1edd0984d10bddf5abf4dd91c94eeeaa4660f7dc3eca320";
   };
 
   patchPhase = ''
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A modified version of Supybot, an IRC bot";
-    homepage = http://supybot.fr.cr;
+    homepage = "https://github.com/ProgVal/Limnoria";
     license = licenses.bsd3;
     maintainers = with maintainers; [ goibhniu ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/livestreamer/default.nix b/nixpkgs/pkgs/development/python-modules/livestreamer/default.nix
index a316edaf80aa..fb8f74d72199 100644
--- a/nixpkgs/pkgs/development/python-modules/livestreamer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/livestreamer/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
       services and pipes them into a video player of choice.
     '';
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix b/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
index e70438a8817d..29dfe3320d64 100644
--- a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.29.0";
+  version = "0.30.0";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3adb0d4c9a17ad3dca82c7e88118babd61eeee0ee985ce31fa43ec27aa98c963";
+    sha256 = "4eaa398d4cafb76e2d8f30ca6ab875039a1023c91e7a690c6ddec20e58bb9a07";
   };
 
   nativeBuildInputs = [ llvm ];
diff --git a/nixpkgs/pkgs/development/python-modules/lmdb/default.nix b/nixpkgs/pkgs/development/python-modules/lmdb/default.nix
index 13adad603d10..5f31511451d5 100644
--- a/nixpkgs/pkgs/development/python-modules/lmdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lmdb/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lmdb";
-  version = "0.97";
+  version = "0.98";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jw3n14x6qg5wps2w4qkqf4pyan949h1s2nbkrz2qh7xwnnp2g8p";
+    sha256 = "0625bc28bf0893e6000a83be7234f915ca078c32f9e73d8ae48b3508db7af708";
   };
 
   checkInputs = [ pytest cffi ];
diff --git a/nixpkgs/pkgs/development/python-modules/lmtpd/default.nix b/nixpkgs/pkgs/development/python-modules/lmtpd/default.nix
index bc91139728b0..d05acd21c107 100644
--- a/nixpkgs/pkgs/development/python-modules/lmtpd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lmtpd/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "lmtpd";
-  version = "6.0.0";
+  version = "6.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "192d1j9lj9i6f4llwg51817am4jj8pjvlqmkx03spmsay6f832bm";
+    sha256 = "256e23a3292818ecccf9a76ef52e0064c6f7e1f8602904e15337c8917ed0fafe";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/logilab/common.nix b/nixpkgs/pkgs/development/python-modules/logilab/common.nix
index 2dd997765cf3..8a23b69cf671 100644
--- a/nixpkgs/pkgs/development/python-modules/logilab/common.nix
+++ b/nixpkgs/pkgs/development/python-modules/logilab/common.nix
@@ -1,12 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, unittest2, six }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27, unittest2, six }:
 
 buildPythonPackage rec {
   pname = "logilab-common";
-  version = "1.4.3";
+  version = "1.5.2";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zw8bijlcmqrigsqvzj7gwh3qbd33dmpi9ij6h56b41x0dpm957d";
+    sha256 = "1n20znamai7jksimbdshy03rgw235qwa9vbx3lyajzwysblq4s4d";
   };
 
   propagatedBuildInputs = [ unittest2 six ];
diff --git a/nixpkgs/pkgs/development/python-modules/loguru/default.nix b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
index 67134fdfd95a..ceb9f841a461 100644
--- a/nixpkgs/pkgs/development/python-modules/loguru/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
@@ -1,21 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, colorama }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27, colorama, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "loguru";
-  version = "0.3.2";
+  version = "0.4.0";
   
   disabled = isPy27;
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0apd3wcjbyhwzgw0fgzzn4dcgy10pqa8f1vf58d4hmszxvyqn4z3";
+    sha256 = "d5ddf363b7e0e562652f283f74a89bf35601baf16b70f2cd2736a2f8c6638748";
   };
 
-  checkInputs = [ pytest colorama ];
-  checkPhase = ''
-    pytest -k 'not test_time_rotation_reopening'
-  '';
+  checkInputs = [ pytestCheckHook colorama ];
 
-  meta = with lib; {
+  disabledTests = [ "test_time_rotation_reopening" "test_file_buffering" ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ "test_rotation_and_retention" "test_rotation_and_retention_timed_file" "test_renaming" ];
+
+  meta = with stdenv.lib; {
     homepage = https://github.com/Delgan/loguru;
     description = "Python logging made (stupidly) simple";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/logutils/default.nix b/nixpkgs/pkgs/development/python-modules/logutils/default.nix
index ce48978d6776..8b4cb4e69c5c 100644
--- a/nixpkgs/pkgs/development/python-modules/logutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/logutils/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Logging utilities";
-    homepage = http://code.google.com/p/logutils/;
+    homepage = "https://bitbucket.org/vinay.sajip/logutils/";
     license = licenses.bsd0;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix b/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
index 0138d866ff0d..9784d3af61f6 100644
--- a/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "luftdaten";
-  version = "0.6.2";
+  version = "0.6.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0919hcycv2rkn99lv4dn78i827mgvm3vagm9xcc6qgawsli8vrlp";
+    sha256 = "161g3s3nwbkn3s101g8l4axll0kk8xxahxnvjrjdg2cghcjq9n8n";
   };
 
   propagatedBuildInputs = [ aiohttp async-timeout ];
diff --git a/nixpkgs/pkgs/development/python-modules/lxml/default.nix b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
index fca4366e8a0e..db3bf6925561 100644
--- a/nixpkgs/pkgs/development/python-modules/lxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
@@ -1,28 +1,34 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, cython
 , libxml2
 , libxslt
+, zlib
 }:
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.3.3";
+  version = "4.4.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4a03dd682f8e35a10234904e0b9508d705ff98cf962c5851ed052e9340df3d90";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0h4axgcghshcvh1nn39l64xxhylglm3b00hh2rbi1ifvly5mx24f";
   };
 
-  nativeBuildInputs = [ libxml2.dev libxslt.dev ];
-  propagatedBuildInputs = [ libxml2 libxslt ];
+  # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
+  nativeBuildInputs = [ libxml2.dev libxslt.dev cython ];
+  buildInputs = [ libxml2 libxslt zlib ];
 
-  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
+  # tests are meant to be ran "in-place" in the same directory as src
+  doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [ "lxml" "lxml.etree" ];
+
+  meta = with stdenv.lib; {
     description = "Pythonic binding for the libxml2 and libxslt libraries";
     homepage = https://lxml.de;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ sjourdois ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jonringer sjourdois ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix b/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
index cd9781dbc889..0ccf55e5bc4e 100644
--- a/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,7 +1,9 @@
 { stdenv
+, lib
 , fetchpatch
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , swig2
 , openssl
 , typing
@@ -23,12 +25,12 @@ buildPythonPackage rec {
       sha256 = "0z5qnkndg6ma5f5qqrid5m95i9kybsr000v3fdy1ab562kf65a27";
     })
   ];
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   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/nixpkgs/pkgs/development/python-modules/m3u8/default.nix b/nixpkgs/pkgs/development/python-modules/m3u8/default.nix
new file mode 100644
index 000000000000..e558b893dfda
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/m3u8/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, python, fetchFromGitHub, requests, iso8601, bottle, pytest, pytestcov }:
+
+buildPythonPackage rec {
+  pname = "m3u8";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "globocom";
+    repo = pname;
+    rev = version;
+    sha256 = "0p6wmwv1nfa5pyakq5d55w9v142z5ja3db3s3qr44kx895d9lhng";
+  };
+
+  checkInputs = [ bottle pytest pytestcov ];
+
+  checkPhase = ''
+    pytest tests/test_{parser,model,variant_m3u8}.py
+  '';
+
+  propagatedBuildInputs = [ requests iso8601 ];
+
+  meta = with lib; {
+    homepage = "https://github.com/globocom/m3u8";
+    description = "Python m3u8 parser";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix b/nixpkgs/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
index 4347f07d9c2c..28d09672584c 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
@@ -1,16 +1,22 @@
-{ stdenv, buildPythonPackage, fetchPypi, six, attrs, twisted, pyopenssl, service-identity, autobahn, treq, mock }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27, six, attrs, twisted, pyopenssl, service-identity, autobahn, treq, mock, pytest }:
 
 buildPythonPackage rec {
-  version = "0.3.1";
+  version = "0.4.1";
   pname = "magic-wormhole-mailbox-server";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q6zhbx8fcpk7rchclm7yqcxdsc1x97hki2ji61sa544r5xvxv55";
+    sha256 = "1af10592909caaf519c00e706eac842c5e77f8d4356215fe9c61c7b2258a88fb";
   };
 
   propagatedBuildInputs = [ six attrs twisted pyopenssl service-identity autobahn ];
-  checkInputs = [ treq mock ];
+
+  # zope.interface import issue
+  doCheck = !isPy27;
+  checkInputs = [ treq mock pytest ];
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with stdenv.lib; {
     description = "Securely transfer data between computers";
diff --git a/nixpkgs/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix b/nixpkgs/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
index 5ddece686faf..d6e3ac2b1531 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "magic-wormhole-transit-relay";
-  version = "0.1.2";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b13f1bfab295150b25958014d93fcd9f744d92011d186d7381575465587b8587";
+    sha256 = "0ppsx2s1ysikns1h053x67z2zmficbn3y3kf52bzzslhd2s02j6b";
   };
 
   propagatedBuildInputs = [ twisted ];
diff --git a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
index 532eeca07df5..5db5c28a4cb5 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , spake2
 , pynacl
 , six
@@ -41,6 +42,8 @@ buildPythonPackage rec {
     install -Dm644 docs/wormhole.1 $out/share/man/man1/wormhole.1
   '';
 
+  # zope.interface issue
+  doCheck = !isPy27;
   preCheck = ''
     export PATH=$out/bin:$PATH
     export LANG="en_US.UTF-8"
@@ -55,6 +58,9 @@ buildPythonPackage rec {
     description = "Securely transfer data between computers";
     homepage = https://github.com/warner/magic-wormhole;
     license = licenses.mit;
+    # Currently broken on Python 2.7. See
+    # https://github.com/NixOS/nixpkgs/issues/71826
+    broken = isPy27;
     maintainers = with maintainers; [ asymmetric ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mahotas/default.nix b/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
index 101468da09f4..dc18f5ac405f 100644
--- a/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/maildir-deduplicate/default.nix b/nixpkgs/pkgs/development/python-modules/maildir-deduplicate/default.nix
index 1a16e253f298..33728ef4113c 100644
--- a/nixpkgs/pkgs/development/python-modules/maildir-deduplicate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maildir-deduplicate/default.nix
@@ -21,6 +21,7 @@ buildPythonPackage rec {
     description = "Command-line tool to deduplicate mails from a set of maildir folders";
     homepage = "https://github.com/kdeldycke/maildir-deduplicate";
     license = licenses.gpl2;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
index 3e42bb59b097..fe52eda2e1ae 100644
--- a/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests }:
+{ stdenv, buildPythonPackage, fetchPypi, six, httplib2, requests }:
 
 buildPythonPackage rec {
   pname = "mailmanclient";
@@ -6,10 +6,14 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s8sbhg1vyc9v9zjwxrh6m8h3qx1nspvrkvcnicbvq9a2nz6qwy8";
+    sha256 = "c8736cbe152ae1bd58b46ccfbcafb6a1e301513530772e7fda89f91d1e5c1ae9";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ six httplib2 requests ];
+
+  # no tests with Pypi tar ball, checkPhase removes setup.py which invalidates import check
+  doCheck = false;
+  pythonImportsCheck = [ "mailmanclient" ];
 
   meta = with stdenv.lib; {
     homepage = "https://www.gnu.org/software/mailman/";
diff --git a/nixpkgs/pkgs/development/python-modules/managesieve/default.nix b/nixpkgs/pkgs/development/python-modules/managesieve/default.nix
new file mode 100644
index 000000000000..e23c3621c2e9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/managesieve/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestrunner
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "managesieve";
+  version = "0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ee70e298e9b68eb81f93d52a1320a034fdc182f3927fdd551836fc93b0ed2c5f";
+  };
+
+  checkInputs = [ pytestrunner pytest ];
+
+  meta = with lib; {
+    description = "ManageSieve client library for remotely managing Sieve scripts";
+    homepage    = "https://managesieve.readthedocs.io/";
+    # PSFL for the python module, GPLv3 for sieveshell
+    license     = with licenses; [ gpl3 psfl ];
+    maintainers = with maintainers; [ dadada ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/manuel/default.nix b/nixpkgs/pkgs/development/python-modules/manuel/default.nix
index f9fa3a090ebe..e08c61140d6c 100644
--- a/nixpkgs/pkgs/development/python-modules/manuel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manuel/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , six
 , zope_testing
 }:
@@ -8,6 +9,7 @@
 buildPythonPackage rec {
   pname = "manuel";
   version = "1.10.1";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/mapbox/default.nix b/nixpkgs/pkgs/development/python-modules/mapbox/default.nix
new file mode 100644
index 000000000000..1eec58919d5c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mapbox/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, boto3
+, cachecontrol
+, fetchFromGitHub
+, iso3166
+, python-dateutil
+, requests
+, responses
+, polyline
+, pytestCheckHook
+, uritemplate
+}:
+
+buildPythonPackage rec {
+  pname = "mapbox";
+  version = "0.18.0";
+
+  src = fetchFromGitHub {
+    owner = "mapbox";
+    repo = "mapbox-sdk-py";
+    rev = "0.18.0";
+    sha256 = "123wsa4j11ps5pkjgylbmw4gnzh2vi22swgmvy50w26glkszh075";
+  };
+
+  propagatedBuildInputs = [ boto3 cachecontrol iso3166 python-dateutil requests polyline uritemplate ];
+  checkInputs = [ pytestCheckHook responses ];
+
+  meta = with lib; {
+    homepage = https://github.com/mapbox/mapbox-sdk-py;
+    license = licenses.mit;
+    description = "Mapbox SDK for Python";
+    longDescription = "Low-level client API for Mapbox web services.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mapsplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/mapsplotlib/default.nix
index a046cfd96102..eb02941c1a1b 100644
--- a/nixpkgs/pkgs/development/python-modules/mapsplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mapsplotlib/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "mapsplotlib";
-  version = "1.1.2";
+  version = "1.2.0";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "99ff773a298bdf0f3185a4c7ac20677a843df818583b368925dcf766cd99f09a";
+    sha256 = "e0a18aa0d134407aab6130c314596732d129ff98f9a6084640a07a5b8656f836";
   };
 
   propagatedBuildInputs = [ matplotlib scipy pandas requests pillow ];
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/default.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/default.nix
index ff1a6e49b013..4a9e0113c680 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "marionette-harness";
-  version = "4.5.0";
+  version = "5.0.0";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "241c7f6032d01b0d78f5c0d13ea691935ddce9f8fce991319cc4fe860d61a7c4";
+    sha256 = "041cd779ae383fb5c56f2bb44824f4e80ba895febd9a3f21570ac274221c82e0";
   };
 
   propagatedBuildInputs = [ mozprofile mozversion browsermob-proxy moztest 
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/marionette_driver.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
index b6d761f077ce..4567d34932b3 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "marionette_driver";
-  version = "2.7.0";
+  version = "3.0.0";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15c77ba548847dc05ce1b663a22c3324623f217dce5a859c3aaced31fd16707b";
+    sha256 = "99ca2513d4e2ca29a08e550346f23947a50627a2b02f6ad36a4550e779fa0ce8";
   };
 
   propagatedBuildInputs = [ mozversion mozrunner ]; 
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozcrash.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozcrash.nix
index 3f7710acb3c1..c5d91fbfef79 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozcrash.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozcrash.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mozcrash";
-  version = "1.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02101v6v2jqlv6cbrmmggj12asz9vz6m50b6mk9mq17b1dr1zik3";
+    sha256 = "8c2d2f32bd6e0ba3644f5d16e427444d8cb51ec1e9baa340a33e10687307f8c4";
   };
 
   propagatedBuildInputs = [ mozfile mozlog ];
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozdevice.nix
index 02da75bfd965..9b5216899367 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozdevice.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozdevice.nix
@@ -1,20 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, mozlog
 , moznetwork
 , mozprocess
 }:
 
 buildPythonPackage rec {
   pname = "mozdevice";
-  version = "1.0.1";
+  version = "3.0.6";
+  format = "wheel";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0026241bff3ad10a73fe24eb4f59c1313c94e5950f397b2f6b8cc4e4dfbfdd73";
+    sha256 = "1gw2lk16fz2n1953i29hgw47s2h0c6z911zzg8am1in8qq2318xv";
+    format = "wheel";
   };
 
-  propagatedBuildInputs = [ moznetwork mozprocess ];
+  propagatedBuildInputs = [ mozlog moznetwork mozprocess ];
 
   meta = {
     description = "Mozilla-authored device management";
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozfile.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozfile.nix
index 34350dd4821f..9ca8ea0b7891 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozfile.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozfile.nix
@@ -1,18 +1,20 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
+, six
 }:
 
 buildPythonPackage rec {
   pname = "mozfile";
-  version = "1.2";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mz941np62mg0zncy74d8fbq9fafsxjsxlwdsydl92badhrhzc6k";
+    sha256 = "e5dc835582ea150e35ecd57e9d86cb707d3aa3b2505679db7332326dd49fd6b8";
   };
 
-  propagatedBuildInputs = [ ];
+  propagatedBuildInputs = lib.optional isPy27 six;
 
   # mozhttpd -> moznetwork -> mozinfo -> mozfile
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozinfo.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozinfo.nix
index d44dc108ff3d..080be7e04efe 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozinfo.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozinfo.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mozinfo";
-  version = "0.10";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dcd53a1b1793340418e1ae42bf300e3e56d8f12047972378c6f9318b220b1023";
+    sha256 = "4525c26350fb85c26b38c5f853a19f47b17b49a74de363d285d54258972a4cbc";
   };
 
   disabled = isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozlog.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozlog.nix
index b8d0c077d664..834bf48adbd8 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozlog.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozlog.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "mozlog";
-  version = "3.8";
+  version = "5.0";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00x28z6diw06gakb5isbfha5z2n63yyncv4za303nsgzxvlihmx0";
+    sha256 = "0h1hgs13c1w0wvz60400i37m00077li1ky28j7kgx4bl75pkd3sw";
   };
 
   propagatedBuildInputs = [ blessings mozterm six ];
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprocess.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprocess.nix
index e8130e8038fd..cfa0f7666201 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprocess.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprocess.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "mozprocess";
-  version = "0.26";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f471c45bee9ff14e936c6ee216a6cc4941223659c01fa626bce628001d8485c";
+    sha256 = "a0fd8367e663d3cac74ee46bffa789667bc8d52f242d81a14522205fa6650cb2";
   };
 
   propagatedBuildInputs = [ mozinfo ];
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprofile.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprofile.nix
index 3620248904ce..dda9e07d5e5c 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprofile.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozprofile.nix
@@ -4,18 +4,21 @@
 , mozlog
 , mozfile
 , mozhttpd
+, wptserve
 }:
 
 buildPythonPackage rec {
   pname = "mozprofile";
-  version = "1.1.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa7fe7248719a224dd63cdc0498c9971d07cfc62fee7a69f51d593316b6bc1d8";
+    sha256 = "09l18x72vahq7il9nj6qj7la2d21vvbcn9szlm3vsvsbkz68w0yk";
   };
 
-  propagatedBuildInputs = [ mozlog mozfile mozhttpd ]; 
+  propagatedBuildInputs = [ mozlog mozfile mozhttpd ];
+
+  checkInputs = [ wptserve ];
 
   meta = {
     description = "Mozilla application profile handling library";
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozrunner.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozrunner.nix
index ac8631362fb8..8cabe18e3c66 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozrunner.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozrunner.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "mozrunner";
-  version = "7.0.2";
+  version = "7.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8034898a36fece171b52e25792f64011e761e5aa694cd67fb6a19c12cb3fa978";
+    sha256 = "04s6w0sp83bn3c6ym75rnlpmcy3yr7d35jxkxhgzmy75gbcps7bi";
   };
 
   propagatedBuildInputs = [ mozdevice mozfile mozinfo mozlog mozprocess
diff --git a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozversion.nix b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozversion.nix
index dbe3cb4bc2d8..12925f3575ae 100644
--- a/nixpkgs/pkgs/development/python-modules/marionette-harness/mozversion.nix
+++ b/nixpkgs/pkgs/development/python-modules/marionette-harness/mozversion.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mozversion";
-  version = "1.5";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e9b11e4a46bf7a4a11469ea4589c75f3ba50b34b7801e7edf1a09147af8bf70f";
+    sha256 = "0jczc1yr2yi3mf1qdgpvg9sidp5hf3jplzs4917j65ymvk2zw9na";
   };
 
   propagatedBuildInputs = [ mozlog mozdevice ];
diff --git a/nixpkgs/pkgs/development/python-modules/marshmallow-enum/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow-enum/default.nix
new file mode 100644
index 000000000000..9d68e66c91ab
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
index 22f9b445d24f..2f85c33e757e 100644
--- a/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow-sqlalchemy";
-  version = "0.17.0";
+  version = "0.21.0";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow-sqlalchemy";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17pnbv28n9vy3q66ckxfdbb9k1riy6s8lg63zfm5jsx00f0zqqnn";
+    sha256 = "93fd8fad2b33d92a1ae58328eeb0f39ed174858d82f9e7084a174df7b41fd3a4";
   };
 
   propagatedBuildInputs = [ marshmallow sqlalchemy ];
diff --git a/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
index 513c277bcacb..7b7cadc98894 100644
--- a/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
@@ -1,10 +1,11 @@
 { lib, buildPythonPackage, fetchPypi,
-  dateutil, simplejson
+  dateutil, simplejson, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "2.18.1";
+  version = "3.3.0";
+  disabled = isPy27;
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -17,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6eeaf1301a5f5942bfe8ab2c2eaf03feb793072b56d5fae563638bddd7bb62e6";
+    sha256 = "0ba81b6da4ae69eb229b74b3c741ff13fe04fb899824377b1aff5aaa1a9fd46e";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
index 5a45b02a240b..8ea530489e24 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchPypi, python, buildPythonPackage, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection, functools32, subprocess32
 , fetchpatch
 , enableGhostscript ? false, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -14,7 +13,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -45,7 +43,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ]
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
index bb7e75449c84..44d2bf672470 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,35 +1,33 @@
 { stdenv, fetchPypi, python, buildPythonPackage, isPy3k, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection
 , enableGhostscript ? true, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
-, enableQt ? false, pyqt4
+, enableQt ? false, pyqt5 ? null
 , libcxx
 , Cocoa
 , pythonOlder
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
                 && (libX11 != null)
                 ;
-assert enableQt -> pyqt4 != null;
+assert enableQt -> pyqt5 != null;
 
 buildPythonPackage rec {
-  version = "3.1.1";
+  version = "3.1.2";
   pname = "matplotlib";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93";
+    sha256 = "8e8e2c2fe3d873108735c6ee9884e6f36f467df4a143136209cff303b183bada";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
@@ -46,10 +44,9 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
-    ++ stdenv.lib.optionals enableQt [ pyqt4 ];
+    ++ stdenv.lib.optionals enableQt [ pyqt5 ];
 
   patches =
     [ ./basedirlist.patch ];
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
new file mode 100644
index 000000000000..9f5a086f2ee5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mautrix-appservice/default.nix b/nixpkgs/pkgs/development/python-modules/mautrix-appservice/default.nix
deleted file mode 100644
index ba96e7d734be..000000000000
--- a/nixpkgs/pkgs/development/python-modules/mautrix-appservice/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, aiohttp, future-fstrings, pythonOlder }:
-
-buildPythonPackage rec {
-  pname = "mautrix-appservice";
-  version = "0.3.11";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "60192920cff75afdd096eea3a43276e33ec15f4f00bd04d2d1dda616c84f22a5";
-  };
-
-  propagatedBuildInputs = [
-    aiohttp
-    future-fstrings
-  ];
-
-  # No tests available
-  doCheck = false;
-
-  disabled = pythonOlder "3.5";
-
-  meta = with lib; {
-    homepage = https://github.com/tulir/mautrix-appservice-python;
-    description = "A Python 3 asyncio-based Matrix application service framework";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nyanloutre ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
new file mode 100644
index 000000000000..d3b12d5ab60e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildPythonPackage, fetchPypi, aiohttp, future-fstrings, pythonOlder
+, sqlalchemy, ruamel_yaml, CommonMark, lxml, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "mautrix";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03m59d683nr547v5xr80wc3j07das2d2sc3i4bf03dpbkfg0h17w";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/tulir/mautrix-python/commit/ac46f3bb1bea11d22d8a486cc4821604c844da5e.patch";
+      sha256 = "198g63s0iv8g1w22g4g5hb54y41ws82wraglibz33qhrwsfn8axn";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    future-fstrings
+
+    # defined in optional-requirements.txt
+    sqlalchemy
+    ruamel_yaml
+    CommonMark
+    lxml
+  ];
+
+  disabled = pythonOlder "3.5";
+
+  # no tests available
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/tulir/mautrix-python;
+    description = "A Python 3 asyncio Matrix framework.";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ nyanloutre ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/maxminddb/default.nix b/nixpkgs/pkgs/development/python-modules/maxminddb/default.nix
index c24823d1812a..6556ade818a2 100644
--- a/nixpkgs/pkgs/development/python-modules/maxminddb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maxminddb/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.1";
+  version = "1.5.2";
   pname = "maxminddb";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04mpilsj76m29id5xfi8mmasdmh27ldn7r0dmh2rj6a8v2y5256z";
+    sha256 = "d0ce131d901eb11669996b49a59f410efd3da2c6dbe2c0094fe2fef8d85b6336";
   };
 
   propagatedBuildInputs = [ ipaddress ];
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Reader for the MaxMind DB format";
     homepage = "https://www.maxmind.com/en/home";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/measurement/default.nix b/nixpkgs/pkgs/development/python-modules/measurement/default.nix
new file mode 100644
index 000000000000..260d62621026
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/measurement/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchPypi, buildPythonPackage, pbr, six, sympy }:
+
+buildPythonPackage rec {
+  pname = "measurement";
+  version = "3.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "352b20f7f0e553236af7c5ed48d091a51cf26061c1a063f46b31706ff7c0d57a";
+  };
+
+  propagatedBuildInputs = [ pbr six sympy ];
+
+  meta = with lib; {
+    description = "Use and manipulate unit-aware measurement objects in Python";
+    homepage = https://github.com/coddingtonbear/python-measurement;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
index df691fb05c80..263a71254ed6 100644
--- a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "mecab-python3";
-  version = "0.996.2";
+  version = "0.996.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a80383fba343dad247b486a9afa486b7f0ec6244cb8bbf2d6a24d2fab5f19180";
+    sha256 = "1cedc968ef5bcbb2a6ece3bb4eb26e9569d89f3277dc2066ea0ce1341ab7d3b9";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
index f23c3c9e20b7..1d63a6e2b6a1 100644
--- a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
@@ -2,17 +2,15 @@
 , buildPythonPackage
 , fetchPypi
 , html5lib
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.2";
-  disabled = isPy3k;
+  version = "0.4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b680ca1b4fabe5ef52024d120f40b8e2ed7d175ed4d67225d2c477dac7c7a58b";
+    sha256 = "6355c11141f6d4b54a17fc2106944806b5db2711e60b120d15d83db438c333fd";
   };
 
   propagatedBuildInputs = [ html5lib ];
@@ -21,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Stateful programmatic web browsing in Python";
-    homepage = http://wwwsearch.sourceforge.net/;
+    homepage = "https://github.com/python-mechanize/mechanize";
     license = "BSD-style";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/meinheld/default.nix b/nixpkgs/pkgs/development/python-modules/meinheld/default.nix
index 526cd3ed4eec..f1291a14f3f4 100644
--- a/nixpkgs/pkgs/development/python-modules/meinheld/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meinheld/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "meinheld";
-  version = "0.6.1";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rg5878njn66cc0x2fwrakikz24946r0cxxl6j8vvz5phd4zygi9";
+    sha256 = "447de7189e4dc9c1f425aa1b9c8210aab492fda4d86f73a24059264e7d8b0134";
   };
 
   propagatedBuildInputs = [ greenlet ];
@@ -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/nixpkgs/pkgs/development/python-modules/meld3/default.nix b/nixpkgs/pkgs/development/python-modules/meld3/default.nix
index 018a634a43a6..a1729ecb04e3 100644
--- a/nixpkgs/pkgs/development/python-modules/meld3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meld3/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "meld3";
-  version = "1.0.2";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n4mkwlpsqnmn0dm0wm5hn9nkda0nafl0jdy5sdl5977znh59dzp";
+    sha256 = "1fbyafwi0d54394hkmp65nf6vk0qm4kipf5z60pdp4244rvadz8y";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/merkletools/default.nix b/nixpkgs/pkgs/development/python-modules/merkletools/default.nix
new file mode 100644
index 000000000000..92acdaf58ed4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/merkletools/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, pysha3 }:
+
+buildPythonPackage rec {
+  pname = "merkletools";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pdik5sil0xcrwdcgdfy86c5qcfrz24r0gfc8m8bxa0i7h7x2v9l";
+  };
+
+  propagatedBuildInputs = [ pysha3 ];
+
+  meta = with lib; {
+    description = "Python tools for creating Merkle trees, generating Merkle proofs, and verification of Merkle proofs";
+    homepage = "https://github.com/Tierion/pymerkletools";
+    license = licenses.mit;
+    maintainers = with maintainers; [ chiiruno ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mesa/default.nix b/nixpkgs/pkgs/development/python-modules/mesa/default.nix
new file mode 100644
index 000000000000..f8fc43808fb3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mesa/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy27
+, cookiecutter, networkx , pandas, tornado, tqdm
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "mesa";
+  # contains several fixes for networkx 2.4 bump
+  version = "unstable-2019-12-09";
+
+  # According to their docs, this library is for Python 3+.
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "projectmesa";
+    repo = "mesa";
+    rev = "86b343b42630e94d939029ff2cc609ff04ed40e9";
+    sha256 = "1y41s1vd89vcsm4aia18ayfff4w2af98lwn5l9fcwp157li985vw";
+  };
+
+  checkInputs = [ pytest ];
+
+  # Ignore test which tries to mkdir in unreachable location.
+  checkPhase = ''
+    pytest tests -k "not scaffold"
+  '';
+
+  propagatedBuildInputs = [ cookiecutter networkx pandas tornado tqdm ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/projectmesa/mesa";
+    description = "An agent-based modeling (or ABM) framework in Python";
+    license = licenses.asl20;
+    maintainers = [ maintainers.dpaetzel ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mesonpep517/default.nix b/nixpkgs/pkgs/development/python-modules/mesonpep517/default.nix
new file mode 100644
index 000000000000..ec63526070ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mesonpep517/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, meson
+, ninja
+, intreehooks
+, pytoml
+, pythonOlder
+}:
+
+# TODO: offer meson as a Python package so we have dist-info folder.
+
+buildPythonPackage rec {
+  pname = "mesonpep517";
+  version = "0.1.9999994";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b5bcca61024164c4a51d29e6921ea1f756d54197c8f052e4c66a2b8399aa9349";
+  };
+
+  nativeBuildInputs = [ intreehooks  ];
+
+  propagatedBuildInputs = [ pytoml ];
+
+  # postPatch = ''
+  #   # Meson tries to detect ninja as well, so we should patch meson as well.
+  #   substituteInPlace mesonpep517/buildapi.py \
+  #     --replace "'meson'" "'${meson}/bin/meson'" \
+  #     --replace "'ninja'" "'${ninja}/bin/ninja'"
+  # '';
+
+  propagatedNativeBuildInputs = [ meson ninja ];
+
+  meta = {
+    description = "Create pep517 compliant packages from the meson build system";
+    homepage = https://gitlab.com/thiblahute/mesonpep517;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/micawber/default.nix b/nixpkgs/pkgs/development/python-modules/micawber/default.nix
index bc94202a070b..003234c2adfc 100644
--- a/nixpkgs/pkgs/development/python-modules/micawber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/micawber/default.nix
@@ -2,17 +2,17 @@
 
 buildPythonPackage rec {
   pname = "micawber";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vk4xkby306f79gkwrn3cx94qdqil285dand8kb6lnlsdi90sb25";
+    sha256 = "5e1e6fbab5bfc1edc6d575b900707c24a3484c51cf2e01f059a7e070724a3633";
   };
 
   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/nixpkgs/pkgs/development/python-modules/minidb/default.nix b/nixpkgs/pkgs/development/python-modules/minidb/default.nix
index bf66a886f764..3a65ef1028af 100644
--- a/nixpkgs/pkgs/development/python-modules/minidb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minidb/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "minidb";
   version = "2.0.2";
+  disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "thp";
diff --git a/nixpkgs/pkgs/development/python-modules/minio/default.nix b/nixpkgs/pkgs/development/python-modules/minio/default.nix
index f5a37832e8fc..61567d851e9b 100644
--- a/nixpkgs/pkgs/development/python-modules/minio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minio/default.nix
@@ -1,19 +1,19 @@
 { lib, buildPythonPackage, isPy3k, fetchPypi
-, urllib3, python-dateutil , pytz, faker, mock, nose }:
+, urllib3, future, python-dateutil , pytz, faker, mock, nose }:
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "4.0.17";
+  version = "5.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fb1faab701008a1ff05b9b2497b6ba52d1aff963323356ed86f2771b186db6b";
+    sha256 = "a5886b3ccb9b46cb4a322a486e06674d1f287b773f20b24cdc3de8450ff935a7";
   };
 
   disabled = !isPy3k;
 
   checkInputs = [ faker mock nose ];
-  propagatedBuildInputs = [ urllib3 python-dateutil pytz ];
+  propagatedBuildInputs = [ urllib3 python-dateutil pytz future ];
 
   meta = with lib; {
     description = "Simple APIs to access any Amazon S3 compatible object storage server";
diff --git a/nixpkgs/pkgs/development/python-modules/misaka/default.nix b/nixpkgs/pkgs/development/python-modules/misaka/default.nix
index 85511d3ad252..07f251f75b5f 100644
--- a/nixpkgs/pkgs/development/python-modules/misaka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/misaka/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A CFFI binding for Hoedown, a markdown parsing library";
-    homepage = "http://misaka.61924.nl/";
+    homepage = "https://misaka.61924.nl";
     license = licenses.mit;
     maintainers = with maintainers; [ fgaz ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mlrose/default.nix b/nixpkgs/pkgs/development/python-modules/mlrose/default.nix
index f7d43115a1b5..5fd39d9b347a 100644
--- a/nixpkgs/pkgs/development/python-modules/mlrose/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mlrose/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, scikitlearn }:
+{ stdenv, isPy27, buildPythonPackage, fetchPypi, scikitlearn }:
 
 buildPythonPackage rec {
   pname = "mlrose";
-  version = "1.2.0";
+  version = "1.3.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vsvqrf1wbbj8i198rqd87hf8rlq7fmv8mmibv8f9rhj0w8729p5";
+    sha256 = "cec83253bf6da67a7fb32b2c9ae13e9dbc6cfbcaae2aa3107993e69e9788f15e";
   };
 
   propagatedBuildInputs = [ scikitlearn ];
diff --git a/nixpkgs/pkgs/development/python-modules/mnemonic/default.nix b/nixpkgs/pkgs/development/python-modules/mnemonic/default.nix
index 182bbf3f0758..ca41917744af 100644
--- a/nixpkgs/pkgs/development/python-modules/mnemonic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mnemonic/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "mnemonic";
-  version = "0.18";
+  version = "0.19";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02a7306a792370f4a0c106c2cf1ce5a0c84b9dbd7e71c6792fdb9ad88a727f1d";
+    sha256 = "4e37eb02b2cbd56a0079cabe58a6da93e60e3e4d6e757a586d9f23d96abea931";
   };
 
   propagatedBuildInputs = [ pbkdf2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/mnist/default.nix b/nixpkgs/pkgs/development/python-modules/mnist/default.nix
new file mode 100644
index 000000000000..022cd3a2e02b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mock/default.nix b/nixpkgs/pkgs/development/python-modules/mock/default.nix
index 8ab724144f7f..6978bee000a3 100644
--- a/nixpkgs/pkgs/development/python-modules/mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mock/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
-, unittest2
+, isPy27
 , funcsigs
 , six
 , pbr
@@ -10,15 +10,14 @@
 
 buildPythonPackage rec {
   pname = "mock";
-  version = "2.0.0";
+  version = "3.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i";
+    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/nixpkgs/pkgs/development/python-modules/mockito/default.nix b/nixpkgs/pkgs/development/python-modules/mockito/default.nix
index bfef79b0f722..f0673b64ef3a 100644
--- a/nixpkgs/pkgs/development/python-modules/mockito/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mockito/default.nix
@@ -1,20 +1,19 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k, funcsigs, pytest, numpy }:
 
 buildPythonPackage rec {
-  version = "1.1.1";
+  version = "1.2.0";
   pname = "mockito";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "142f5e8865a422ad2d67b9c67a382e3296e8f1633dbccd0e322180fba7d5303d";
+    sha256 = "2a1cbae9d0aef4ae7586b03f2a463e8c5ba96aa937c0535ced4a5621f851feeb";
   };
 
-  # Failing tests due 2to3
-  doCheck = !isPy3k;
-
   propagatedBuildInputs = stdenv.lib.optionals (!isPy3k) [ funcsigs ];
   checkInputs = [ pytest numpy ];
 
+  # tests are no longer packaged in pypi tarball
+  doCheck = false;
   checkPhase = ''
     pytest
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/moderngl/default.nix b/nixpkgs/pkgs/development/python-modules/moderngl/default.nix
index a45a24b7a2a9..5802b33041f0 100644
--- a/nixpkgs/pkgs/development/python-modules/moderngl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
new file mode 100644
index 000000000000..a3c93978ff6a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, numpy
+, moderngl
+, pyglet
+, pillow
+, pyrr
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "moderngl_window";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "moderngl";
+    repo = pname;
+    rev = version;
+    sha256 = "054w77lyc2nc0dyx76zsrbq2b3xbywdijhb62b2qqm99ldr1k1x5";
+  };
+
+  propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr ];
+
+  disabled = !isPy3k;
+
+  # Tests need a display to run.
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/moderngl/moderngl_window";
+    description = "Cross platform helper library for ModernGL making window creation and resource loading simple";
+    license = licenses.mit;
+    platforms = platforms.linux; # should be mesaPlatforms, darwin build breaks.
+    maintainers = with maintainers; [ c0deaddict ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix b/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix
new file mode 100644
index 000000000000..db20d9442ef1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/monkeyhex/default.nix b/nixpkgs/pkgs/development/python-modules/monkeyhex/default.nix
new file mode 100644
index 000000000000..715665f1b1ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/monkeyhex/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchPypi
+, future
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "monkeyhex";
+  version = "1.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5ba913df664c34f3ce53916c83872fddf750adc78a0b0ecdd316ac3e728bb019";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  # No tests in repo.
+  doCheck = false;
+
+  # Verify import still works.
+  pythonImportsCheck = [ "monkeyhex" ];
+
+  meta = with lib; {
+    description = "A small library to assist users of the python shell who work in contexts where printed numbers are more usefully viewed in hexadecimal";
+    homepage = "https://github.com/rhelmot/monkeyhex";
+    license = licenses.mit;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/monty/default.nix b/nixpkgs/pkgs/development/python-modules/monty/default.nix
index 4675a3860549..427f0af45730 100644
--- a/nixpkgs/pkgs/development/python-modules/monty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/monty/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, isPy27
 , nose
 , numpy
 , six
 , ruamel_yaml
-, msgpack-python
+, msgpack
 , coverage
 , coveralls
 , pymongo
@@ -14,17 +15,18 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "1.0.4";
+  version = "3.0.2";
+  disabled = isPy27; # uses type annotations
 
   # No tests in Pypi
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vqaaz0dw0ypl6sfwbycpb0qs3ap04c4ghbggklxih66spdlggh6";
+    sha256 = "1wxqxp0j7i6czdpr2r1imgmy3qbgn2l7d4za2h1lg3hllvx6jra1";
   };
 
-  checkInputs = [ lsof nose numpy msgpack-python coverage coveralls pymongo];
+  checkInputs = [ lsof nose numpy msgpack coverage coveralls pymongo];
   propagatedBuildInputs = [ six ruamel_yaml ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix b/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
index 999708697a94..37152b3a502a 100644
--- a/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "more-itertools";
-  version = "6.0.0";
+  version = "8.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1";
+    sha256 = "b84b238cce0d9adad5ed87e745778d20a3f8487d0f0cb8b8a586816c7496458d";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/moretools/default.nix b/nixpkgs/pkgs/development/python-modules/moretools/default.nix
index 6f11b01481b0..061eedfe7b01 100644
--- a/nixpkgs/pkgs/development/python-modules/moretools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moretools/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "moretools";
-  version = "0.1.10";
+  version = "0.1.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rvd9kl0163gm5kqwsb2m44x87sp72k5pirvcmhy2ffix4pzadqp";
+    sha256 = "73b0469d4f1df6d967508103473f0b1524708adbff71f8f90ef71d9a44226b22";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index 876b57dd01fa..cb1bb6dd980e 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moto/default.nix
@@ -22,25 +22,18 @@
 , sure
 , werkzeug
 , xmltodict
+, parameterized
 }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.3.13";
+  version = "1.3.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rhbjvqi1khp80gfnl3x632kwlpq3k7m8f13nidznixdpa78vm4m";
+    sha256 = "0fm09074qic24h8rw9a0paklygyb7xd0ch4890y4v8lj2pnsxbkr";
   };
 
-  # Backported fix from 1.3.14.dev for compatibility with botocore >= 1.9.198.
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/spulec/moto/commit/e4a4e6183560489e98b95e815b439c7a1cf3566c.diff";
-      sha256 = "1fixr7riimnldiikv33z4jwjgcsccps0c6iif40x8wmpvgcfs0cb";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
       --replace "jsondiff==1.1.2" "jsondiff~=1.1"
@@ -69,13 +62,21 @@ buildPythonPackage rec {
     xmltodict
   ] ++ lib.optionals isPy27 [ backports_tempfile ];
 
-  checkInputs = [ boto3 freezegun nose sure ];
+  checkInputs = [ boto3 freezegun nose sure parameterized ];
 
-  checkPhase = ''nosetests -v ./tests/ \
-                  -e test_invoke_function_from_sns \
-                  -e test_invoke_requestresponse_function \
-                  -e test_context_manager \
-                  -e test_decorator_start_and_stop'';
+  checkPhase = ''
+    nosetests -v ./tests/ \
+              -e test_invoke_function_from_sns \
+              -e test_invoke_requestresponse_function \
+              -e test_context_manager \
+              -e test_decorator_start_and_stop \
+              -e test_invoke_event_function \
+              -e test_invoke_function_from_dynamodb \
+              -e test_invoke_function_from_sqs \
+              -e test_invoke_lambda_error \
+              -e test_invoke_async_function \
+              -e test_passthrough_requests
+  '';
 
   meta = with lib; {
     description = "Allows your tests to easily mock out AWS Services";
diff --git a/nixpkgs/pkgs/development/python-modules/moviepy/default.nix b/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
index 73c2f6c8e684..681a5d3b1c54 100644
--- a/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
@@ -25,13 +25,13 @@ assert advancedProcessing -> (
 
 buildPythonPackage rec {
   pname = "moviepy";
-  version = "1.0.0";
+  version = "1.0.1";
 
   disabled = !(pythonAtLeast "3.4");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16c7ffca23d90c76dd7b163f648c8166dfd589b7c180b8ff75aa327ae0a2fc6d";
+    sha256 = "1vgi9k1r4f5s9hzfzlhmmc574n80aq713ahv8cnbj3jci070lnwx";
   };
 
   # No tests, require network connection
diff --git a/nixpkgs/pkgs/development/python-modules/mox/default.nix b/nixpkgs/pkgs/development/python-modules/mox/default.nix
index d9b5a5aa111e..3537d936bb61 100644
--- a/nixpkgs/pkgs/development/python-modules/mox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mox/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/pymox/;
+    homepage = "https://pymox.readthedocs.io/";
     description = "A mock object framework for Python";
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mox3/default.nix b/nixpkgs/pkgs/development/python-modules/mox3/default.nix
index 8885401ae5f1..480e28dffcbc 100644
--- a/nixpkgs/pkgs/development/python-modules/mox3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mox3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "mox3";
-  version = "0.26.0";
+  version = "0.28.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b13c0b8459d6fb0688f9a4e70feeec43fa2cca05b727fc01156789596e083bb1";
+    sha256 = "17d4vglb71s96hhi6d30vnkr7g1pahv95igc4sjv857qf278d540";
   };
 
   buildInputs = [ subunit testrepository testtools six ];
diff --git a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
index e2028d9332b0..c16c4719a34d 100644
--- a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "mpi4py";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q28xl36difma1wq0acq111cqxjya32kn3lxp6fbidz3wg8jkmpq";
+    sha256 = "012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f";
   };
 
   passthru = {
@@ -46,7 +46,7 @@ buildPythonPackage rec {
   meta = {
     description =
       "Python bindings for the Message Passing Interface standard";
-    homepage = http://code.google.com/p/mpi4py/;
+    homepage = "https://bitbucket.org/mpi4py/mpi4py/";
     license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mpmath/default.nix b/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
index 9da56cad8815..1cbb8b04130b 100644
--- a/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage    = http://mpmath.googlecode.com;
+    homepage    = "http://mpmath.org/";
     description = "A pure-Python library for multiprecision floating arithmetic";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ lovek323 ];
diff --git a/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
index 39ad7c472153..753a0d24d0a3 100644
--- a/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Terminal based YouTube player and downloader";
-    homepage = https://github.com/np1/mps-youtube;
+    homepage = "https://github.com/mps-youtube/mps-youtube";
     license = licenses.gpl3;
     maintainers = with maintainers; [ odi ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mpv/default.nix b/nixpkgs/pkgs/development/python-modules/mpv/default.nix
index f5ae020c71c6..a74150f971b0 100644
--- a/nixpkgs/pkgs/development/python-modules/mpv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpv/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "mpv";
-  version = "0.3.9";
+  version = "0.4.5";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jaseg";
     repo = "python-mpv";
     rev = "v${version}";
-    sha256 = "112kr9wppcyy3shsb7v7kq0s1pdw6vw3v2fvqicm7qb2f49y2p4q";
+    sha256 = "1y80c2k4s42lzvm5dz8wi186i7rsn1vs1wn30hp6v6vs62fb91fi";
   };
 
   buildInputs = [ mpv ];
diff --git a/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
new file mode 100644
index 000000000000..c866382b1033
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
@@ -0,0 +1,35 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, msal
+, portalocker
+}:
+
+buildPythonPackage rec {
+  pname = "msal-extensions";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p05cbfksnhijx1il7s24js2ydzgxbpiasf607qdpb5sljlp3qar";
+  };
+
+  propagatedBuildInputs = [
+    msal
+    portalocker
+  ];
+
+  # No tests found
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The Microsoft Authentication Library Extensions (MSAL-Extensions) for Python";
+    homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
new file mode 100644
index 000000000000..6f2566c2c1c0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/msal/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, pyjwt
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "msal";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h33wayvakggr684spdyhiqvrwraavcbk3phmcbavb3zqxd3zgpc";
+  };
+
+  propagatedBuildInputs = [
+    pyjwt
+    requests
+  ];
+
+  # Tests assume Network Connectivity:
+  #   https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/e2958961e8ec16d0af4199f60c36c3f913497e48/tests/test_authority.py#L73
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect";
+    homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/msgpack/default.nix b/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
index d48d0995a764..20be837782ab 100644
--- a/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "msgpack";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972";
+    sha256 = "ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/msrest/default.nix b/nixpkgs/pkgs/development/python-modules/msrest/default.nix
index ede8e0801df9..70fa6f361ca6 100644
--- a/nixpkgs/pkgs/development/python-modules/msrest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/msrestazure/default.nix b/nixpkgs/pkgs/development/python-modules/msrestazure/default.nix
index 0ef06cd8fb15..04f7428e6b61 100644
--- a/nixpkgs/pkgs/development/python-modules/msrestazure/default.nix
+++ b/nixpkgs/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,13 +21,13 @@ buildPythonPackage rec {
     owner = "Azure";
     repo = "msrestazure-for-python";
     rev = "v${version}";
-    sha256 = "09swndz57131b8x57mzibnsr1sv0l80pk62p89q99gsd6mvc389c";
+    sha256 = "09qwdg4la4jwp5ibypdwsn7h8m2sh8c1kdxvffyxcjan50h14s04";
   };
 
   propagatedBuildInputs = [ adal msrest ];
 
   checkInputs = [ httpretty mock pytest ]
-                ++ lib.optional isPy3k [ pytest-asyncio ];
+                ++ lib.optionals isPy3k [ pytest-asyncio ];
 
   checkPhase = ''
     pytest tests/
diff --git a/nixpkgs/pkgs/development/python-modules/mt-940/default.nix b/nixpkgs/pkgs/development/python-modules/mt-940/default.nix
index f3965b8a74ae..f31bb4c064e7 100644
--- a/nixpkgs/pkgs/development/python-modules/mt-940/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mt-940/default.nix
@@ -3,12 +3,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.15.0";
+  version = "4.19.0";
   pname = "mt-940";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c1d5c23a9c3fec12a61ce3f61d8be107b4693be4a4b97381eca23f4a4dca8ed";
+    sha256 = "5d109e8dc4b490a4b92ec0153713710eb067b36b350ce1ff60c406afddc7d3cd";
   };
 
   propagatedBuildInputs = lib.optional (!isPy3k) enum34;
diff --git a/nixpkgs/pkgs/development/python-modules/multidict/default.nix b/nixpkgs/pkgs/development/python-modules/multidict/default.nix
index 76a494230066..4673f841ee34 100644
--- a/nixpkgs/pkgs/development/python-modules/multidict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/multidict/default.nix
@@ -3,20 +3,23 @@
 , buildPythonPackage
 , pytest, pytestrunner, pytestcov
 , isPy3k
+, isPy38
 }:
 
 buildPythonPackage rec {
   pname = "multidict";
-  version = "4.5.2";
+  version = "4.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f";
+    sha256 = "d4dafdcfbf0ac80fc5f00603f0ce43e487c654ae34a656e4749f175d9832b1b5";
   };
 
   checkInputs = [ pytest pytestrunner pytestcov ];
 
   disabled = !isPy3k;
+  # pickle files needed for 3.8 https://github.com/aio-libs/multidict/pull/363
+  doCheck = !isPy38;
 
   meta = with lib; {
     description = "Multidict implementation";
diff --git a/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix b/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
index a98697039a86..51fe7a83c9d5 100644
--- a/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "multiprocess";
-  version = "0.70.7";
+  version = "0.70.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "46479a327388df8e77ad268892f2e73eac06d6271189b868ce9d4f95474e58e3";
+    sha256 = "9fd5bd990132da77e73dec6e9613408602a4612e1d73caf2e2b813d2b61508e5";
   };
 
   propagatedBuildInputs = [ dill ];
diff --git a/nixpkgs/pkgs/development/python-modules/munch/default.nix b/nixpkgs/pkgs/development/python-modules/munch/default.nix
index f4ecc2ff3061..764523e0cf7a 100644
--- a/nixpkgs/pkgs/development/python-modules/munch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/munch/default.nix
@@ -2,18 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , six
+, pbr
 }:
 
 buildPythonPackage rec {
   pname = "munch";
-  version = "2.3.2";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6ae3d26b837feacf732fb8aa5b842130da1daf221f5af9f9d4b2a0a6414b0d51";
+    sha256 = "2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six pbr ];
 
   # No tests in archive
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/musicbrainzngs/default.nix b/nixpkgs/pkgs/development/python-modules/musicbrainzngs/default.nix
index 0f18163883e8..71bdcc8b547c 100644
--- a/nixpkgs/pkgs/development/python-modules/musicbrainzngs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/musicbrainzngs/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://alastair/python-musicbrainz-ngs;
+    homepage = "https://python-musicbrainzngs.readthedocs.org/";
     description = "Python bindings for musicbrainz NGS webservice";
     license = licenses.bsd2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/nixpkgs/pkgs/development/python-modules/mwoauth/default.nix b/nixpkgs/pkgs/development/python-modules/mwoauth/default.nix
index d22bd460f5f5..778a081992c1 100644
--- a/nixpkgs/pkgs/development/python-modules/mwoauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mwoauth/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "mwoauth";
-  version = "0.3.3";
+  version = "0.3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8a57a315732733240e9522d3c4e370cbdf2c045d00fe0dab433d6119fa09038f";
+    sha256 = "9e0d70a1fa6f452584de1cb853ae6c11f41233549f7839cfb879f99410f6ad46";
   };
 
   # package has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/myfitnesspal/default.nix b/nixpkgs/pkgs/development/python-modules/myfitnesspal/default.nix
new file mode 100644
index 000000000000..570d0c3e749c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/myfitnesspal/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchPypi, buildPythonPackage
+, blessed, keyring, keyrings-alt, lxml, measurement, python-dateutil, requests, six
+, mock, nose }:
+
+buildPythonPackage rec {
+  pname = "myfitnesspal";
+  version = "1.13.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "552cc696e170f12f75fd12b1447be01fa2d0bfd85e14da5928afd9aab2277b98";
+  };
+
+  # Remove overly restrictive version constraints on keyring and keyrings.alt
+  postPatch = ''
+    sed -i 's/keyring>=.*/keyring/' requirements.txt
+    sed -i 's/keyrings.alt>=.*/keyrings.alt/' requirements.txt
+  '';
+
+  checkInputs = [ mock nose ];
+  propagatedBuildInputs = [ blessed keyring keyrings-alt lxml measurement python-dateutil requests six ];
+
+  meta = with lib; {
+    description = "Access your meal tracking data stored in MyFitnessPal programatically";
+    homepage = https://github.com/coddingtonbear/python-myfitnesspal;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
index a06a378a0768..954e913c9cf0 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "mypy-protobuf";
-  version = "1.9";
+  version = "1.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "be1f14b0b841b49adb2f6018eaa1ce9529c8147eb561909baaa757e8cf9e821b";
+    sha256 = "72ab724299aebd930b88476f6545587bff5bf480697c016097bd188841a56276";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/default.nix b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
index d4361baf903a..90b00ba17179 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
@@ -1,21 +1,30 @@
 { stdenv, fetchPypi, buildPythonPackage, typed-ast, psutil, isPy3k
-,mypy_extensions }:
+, mypy-extensions
+, typing-extensions
+}:
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.711";
-
-  # Tests not included in pip package.
-  doCheck = false;
+  version = "0.761";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s1kwi1dhrv55v0c9w7c1g6mq5d2dpw7x1jj5mcnniw77mclmvdv";
+    sha256 = "1gw7h84d21wmi267kmgqs9whz0l7rp62pzja2f31wq7cfj6spfl5";
   };
 
-  disabled = !isPy3k;
+  propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ];
+
+  # Tests not included in pip package.
+  doCheck = false;
 
-  propagatedBuildInputs = [ typed-ast psutil mypy_extensions ];
+  pythonImportsCheck = [
+    "mypy"
+    "mypy.types"
+    "mypy.api"
+    "mypy.fastparse"
+    "mypy.report"
+  ];
 
   meta = with stdenv.lib; {
     description = "Optional static typing for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix b/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
index 36407fd684ae..b3bb68a53b72 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchPypi, buildPythonPackage, typing, pythonOlder }:
 
 buildPythonPackage rec {
-  pname = "mypy_extensions";
-  version = "0.4.1";
+  pname = "mypy-extensions";
+  version = "0.4.3";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "04h8brrbbx151dfa2cvvlnxgmb5wa00mhd2z7nd20s8kyibfkq1p";
+    inherit version;
+    pname = "mypy_extensions";
+    sha256 = "2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8";
   };
 
   propagatedBuildInputs = if pythonOlder "3.5" then [ typing ] else [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix b/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
index 1db939227250..00d869cb3913 100644
--- a/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.17";
+  version = "8.0.18";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1by0g7hrbmb1wj2wh3q9y92mjimck2izh1i4fm1xfbp278p2acbd";
+    sha256 = "0pf91vbjigjv621dar47r741yvmdmapxh60wp20nzvlx0xchbmcm";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix b/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
index 488f6f9a7bb5..72bf06893edd 100644
--- a/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, mysql }:
+{ stdenv, buildPythonPackage, fetchPypi, libmysqlclient }:
 
 buildPythonPackage rec {
   pname = "mysqlclient";
-  version = "1.4.4";
+  version = "1.4.6";
 
   nativeBuildInputs = [
-    mysql.connector-c
+    libmysqlclient
   ];
 
   buildInputs = [
-    mysql.connector-c
+    libmysqlclient
   ];
 
   # Tests need a MySQL database
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1379hab7spjp9v5fypqgy0b8vr8vnalxahm9hcsxvj2xbb2pqwww";
+    sha256 = "f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix b/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix
new file mode 100644
index 000000000000..ef46e7ccafd4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, twine
+, numpy
+, pytest
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "nagiosplugin";
+  version = "1.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vr3zy0zfvbrqc4nf81zxv4gs2q82sv5sjamdm4573ld529mk2nv";
+  };
+
+  nativeBuildInputs = [ twine ];
+  checkInputs = [ pytest numpy ];
+
+  checkPhase = ''
+    # this test relies on who, which does not work in the sandbox
+    pytest -k "not test_check_users" tests/
+  '';
+
+  meta = with lib; {
+    description = "A Python class library which helps with writing Nagios (Icinga) compatible plugins";
+    homepage =  https://github.com/mpounsett/nagiosplugin;
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ symphorien ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/namebench/default.nix b/nixpkgs/pkgs/development/python-modules/namebench/default.nix
index a930f250d80c..44b590bae2cf 100644
--- a/nixpkgs/pkgs/development/python-modules/namebench/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/namebench/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   disabled = isPy3k || isPyPy;
 
   src = fetchurl {
-    url = "http://namebench.googlecode.com/files/${pname}-${version}-source.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/{pname}/${pname}-${version}-source.tgz";
     sha256 = "09clbcd6wxgk4r6qw7hb78h818mvca7lijigy1mlq5y1f3lgkk1h";
   };
 
@@ -28,15 +28,14 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://namebench.googlecode.com/;
+    homepage = "https://github.com/google/namebench"; # Formerly https://code.google.com/archive/p/namebench/
     description = "Find fastest DNS servers available";
     license = with licenses; [
       asl20
       # third-party program licenses (embedded in the sources)
-      "LGPL" # Crystal_Clear
-      free # dns
-      asl20 # graphy
-      "BSD" # jinja2
+      lgpl21 # Crystal_Clear
+      isc # dns
+      bsd3 # jinja2
     ];
     longDescription = ''
       It hunts down the fastest DNS servers available for your computer to
diff --git a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
index e8d2c209eb58..984304e9ccbf 100644
--- a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "nameparser";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kc2phcz22r7vim3hmq0vrp2zqxl6v49hq40jmp4p81pdvgh5c6b";
+    sha256 = "79b5f81b9315b03ac3744d12448032490f5028b5117b721775ba97118ecd5e45";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/names/default.nix b/nixpkgs/pkgs/development/python-modules/names/default.nix
new file mode 100644
index 000000000000..b65bb463475b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/names/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+
+# pythonPackages
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "names";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "treyhunner";
+    repo = pname;
+    rev = version;
+    sha256 = "0jfn11bl05k3qkqw0f4vi2i2lhllxdrbb1732qiisdy9fbvv8611";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = {
+    description = "Generate random names";
+    homepage = "https://github.com/treyhunner/names";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/natsort/default.nix b/nixpkgs/pkgs/development/python-modules/natsort/default.nix
index da8e953826ff..8bdfdb9d7200 100644
--- a/nixpkgs/pkgs/development/python-modules/natsort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/natsort/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "natsort";
-  version = "6.0.0";
+  version = "6.2.0";
 
   checkInputs = [
     pytest
@@ -26,13 +26,14 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff3effb5618232866de8d26e5af4081a4daa9bb0dfed49ac65170e28e45f2776";
+    sha256 = "58c6fb2f355117e88a19808394ec1ed30a2ff881bdd2c81c436952caebd30668";
   };
 
   # testing based on project's tox.ini
+  # natsort_keygen has pytest mock issues
   checkPhase = ''
     pytest --doctest-modules natsort
-    pytest
+    pytest --ignore=tests/test_natsort_keygen.py
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index 2f0090b5967d..b0357c16165c 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "5.5.0";
+  version = "5.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "138381baa41d83584459b5cfecfc38c800ccf1f37d9ddd0bd440783346a4c39c";
+    sha256 = "21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523";
   };
 
   checkInputs = [ nose pytest glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/nbdime/default.nix b/nixpkgs/pkgs/development/python-modules/nbdime/default.nix
new file mode 100644
index 000000000000..f641c017384b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/nbdime/default.nix
@@ -0,0 +1,69 @@
+{ lib, buildPythonPackage, fetchPypi, callPackage, isPy3k
+, hypothesis
+, setuptools_scm
+, six
+, attrs
+, py
+, setuptools
+, pytestcov
+, pytest-timeout
+, pytest-tornado
+, mock
+, tabulate
+, nbformat
+, jsonschema
+, pytest
+, colorama
+, pygments
+, tornado
+, requests
+, GitPython
+, notebook
+, jinja2
+}:
+
+buildPythonPackage rec {
+  pname = "nbdime";
+  version = "1.1.0";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qfy7nmlg75vryvrlgd6p0rqrvcclq8n9kd0n4xv5959s9sjy0w0";
+  };
+
+  checkInputs = [
+    hypothesis
+    pytestcov
+    pytest-timeout
+    pytest-tornado
+    jsonschema
+    mock
+    tabulate
+    pytest
+  ];
+
+  nativeBuildInputs = [ setuptools_scm ];
+
+  propagatedBuildInputs = [
+    attrs
+    py
+    setuptools
+    six
+    nbformat
+    colorama
+    pygments
+    tornado
+    requests
+    GitPython
+    notebook
+    jinja2
+    ];
+
+  meta = with lib; {
+    homepage = https://github.com/jupyter/nbdime;
+    description = "Tools for diffing and merging of Jupyter notebooks.";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix b/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix
index ee4434c1d1d7..6fff7857565d 100644
--- a/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix
@@ -4,6 +4,7 @@
 , pytest
 , jupyter_client
 , ipykernel
+, holoviews
 , nbformat
 , nbconvert
 , pyflakes
@@ -13,15 +14,16 @@
 
 buildPythonPackage rec {
   pname = "nbsmoke";
-  version = "0.2.8";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eeda6c59b61130b9116a3d935e7c80ec5f617d7db8918d23289b2426efa229eb";
+    sha256 = "070e999db3902a0c62a94d76de8fb98da21eaee22d9e90eb42f1636c87e1b805";
   };
 
   propagatedBuildInputs = [
     pytest
+    holoviews
     jupyter_client
     ipykernel
     nbformat
diff --git a/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
index ad6de3d31758..788a8f73ab89 100644
--- a/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.4.2";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b794219e465b3aab500b800884ff40fd152bb19d8b6f87580de1f3a07170aef8";
+    sha256 = "03g0mqbgk143cq3l3r42js2iy5l6iyvpckpqip4p468rlzrddyhn";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbval/default.nix b/nixpkgs/pkgs/development/python-modules/nbval/default.nix
index 860142f1e94c..ff9d6f134e0f 100644
--- a/nixpkgs/pkgs/development/python-modules/nbval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbval/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "nbval";
-  version = "0.9.2";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g8xl4158ngyhiynrkk72jpawnk4isznbijz0w085g269fps0vp2";
+    sha256 = "5273c2d958335e24b170fe59b689b13e4b1855b569626e18b1c7e420f5110cc6";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ncclient/default.nix b/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
index 02e2a1b472a7..ca0a9d34b3ec 100644
--- a/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "ncclient";
-  version = "0.6.6";
+  version = "0.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b367354d1cd25b79b8798a0b4c1949590d890057f2a252e6e970a9ab744e009";
+    sha256 = "efdf3c868cd9f104d4e9fe4c233df78bfbbed4b3d78ba19dc27cec3cf6a63680";
   };
 
   checkInputs = [ nose rednose ];
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://ncclient.org/;
+    homepage = "https://github.com/ncclient/ncclient";
     description = "Python library for NETCONF clients";
     license = licenses.asl20;
     maintainers = with maintainers; [ xnaveira ];
diff --git a/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
index 59c13bc0a633..a88c07c99687 100644
--- a/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.2.1";
   pname = "nest_asyncio";
   disabled = !(pythonAtLeast "3.5");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd1cb7df2ea979e57d8ad02493ad85f9afbf1fcea3dfe34239da8c0dda98087e";
+    sha256 = "7d4d7c1ca2aad0e5c2706d0222c8ff006805abfd05caa97e6127c8811d0f6adc";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
index d3a1cfe3907c..17d1cd596759 100644
--- a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPyPy, pytest
+{ stdenv, lib, buildPythonPackage, fetchPypi, isPyPy, pytest
 , numpy, zlib, netcdf, hdf5, curl, libjpeg, cython, cftime
 }:
 buildPythonPackage rec {
   pname = "netCDF4";
-  version = "1.5.1.2";
+  version = "1.5.3";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "161pqb7xc9nj0dlnp6ply8c6zv68y1frq619xqfrpmc9s1932jzk";
+    sha256 = "2a3ca855848f4bbf07fac366da77a681fcead18c0a8813d91d46302f562dc3be";
   };
 
   checkInputs = [ pytest ];
@@ -37,7 +37,7 @@ buildPythonPackage rec {
 
   # Variables used to configure the build process
   USE_NCCONFIG="0";
-  HDF5_DIR=hdf5;
+  HDF5_DIR = lib.getDev hdf5;
   NETCDF4_DIR=netcdf;
   CURL_DIR=curl.dev;
   JPEG_DIR=libjpeg.dev;
diff --git a/nixpkgs/pkgs/development/python-modules/networkx/2.2.nix b/nixpkgs/pkgs/development/python-modules/networkx/2.2.nix
new file mode 100644
index 000000000000..a4c66048953b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/networkx/2.2.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, decorator
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "networkx";
+  # upgrade may break sage, please test the sage build or ping @timokau on upgrade
+  version = "2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "12swxb15299v9vqjsq4z8rgh5sdhvpx497xwnhpnb0gynrx6zra5";
+  };
+
+  checkInputs = [ nose ];
+  propagatedBuildInputs = [ decorator setuptools ];
+
+  meta = {
+    homepage = "https://networkx.github.io/";
+    description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/networkx/default.nix b/nixpkgs/pkgs/development/python-modules/networkx/default.nix
index a4c66048953b..6075daf58467 100644
--- a/nixpkgs/pkgs/development/python-modules/networkx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/networkx/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , nose
+, pytest
 , decorator
 , setuptools
 }:
@@ -9,16 +10,18 @@
 buildPythonPackage rec {
   pname = "networkx";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
-  version = "2.2";
+  version = "2.4";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "12swxb15299v9vqjsq4z8rgh5sdhvpx497xwnhpnb0gynrx6zra5";
+    sha256 = "0r2wr7aqay9fwjrgk35fkjzk8lvvb4i4df7ndaqzkr4ndw5zzx7q";
   };
 
-  checkInputs = [ nose ];
   propagatedBuildInputs = [ decorator setuptools ];
+  checkInputs = [ nose pytest];
+  checkPhase = ''
+    pytest
+  '';
 
   meta = {
     homepage = "https://networkx.github.io/";
diff --git a/nixpkgs/pkgs/development/python-modules/neurotools/default.nix b/nixpkgs/pkgs/development/python-modules/neurotools/default.nix
deleted file mode 100644
index b117d7a79a37..000000000000
--- a/nixpkgs/pkgs/development/python-modules/neurotools/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k
-, scipy, numpy, matplotlib, tables, pyaml, urllib3, rpy2, mpi4py }:
-
-buildPythonPackage rec {
-  pname = "NeuroTools";
-  version = "0.3.1";
-  disabled = isPy3k;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ly6qa87l3afhksab06vp1iimlbm1kdnsw98mxcnpzz9q07l4nd4";
-  };
-
-  # Tests are not automatically run
-  # Many tests fail (using py.test), and some need R
-  doCheck = false;
-
-  propagatedBuildInputs = [
-    scipy
-    numpy
-    matplotlib
-    tables
-    pyaml
-    urllib3
-    rpy2
-    mpi4py
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Collection of tools to support analysis of neural activity";
-    homepage = https://pypi.python.org/pypi/NeuroTools;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ nico202 ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/nevow/default.nix b/nixpkgs/pkgs/development/python-modules/nevow/default.nix
index fa11ab3fb907..6054e6d3a732 100644
--- a/nixpkgs/pkgs/development/python-modules/nevow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nevow/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, twisted }:
+{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, isPy3k, twisted }:
 
 buildPythonPackage rec {
   pname = "Nevow";
-  version = "0.14.4";
+  version = "0.14.5";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "2299a0d2a0c1312040705599d5d571acfea74df82b968c0b9264f6f45266cf6e";
+    sha256 = "afb6ba85a5351953578c018fcdb9dfbd62f29a8d46c58bc9652bc000a27223f3";
   };
 
   propagatedBuildInputs = [ twisted ];
diff --git a/nixpkgs/pkgs/development/python-modules/nibabel/default.nix b/nixpkgs/pkgs/development/python-modules/nibabel/default.nix
index 365f741c57fa..979f12c8d985 100644
--- a/nixpkgs/pkgs/development/python-modules/nibabel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nibabel/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
+, isPy27
 , bz2file
 , mock
 , nose
@@ -11,11 +12,12 @@
 
 buildPythonPackage rec {
   pname = "nibabel";
-  version = "2.5.0";
+  version = "3.0.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07v1gsq1v43v0z06cnp82ij9sqx3972c9bc6vsdj7pa9ddpa2yjw";
+    sha256 = "0f5bc325c9cb203c6f0ab876ba1a5ada811284bb3a4c5d063eeaafaefbad873d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix b/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix
new file mode 100644
index 000000000000..937e6c1c91bd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, numpy
+, pytestCheckHook
+, pykka
+, enum34
+, pythonOlder
+}:
+
+# Note we currently do not patch the path to the drivers
+# because those are not available in Nixpkgs.
+# https://github.com/NixOS/nixpkgs/pull/74980
+
+buildPythonPackage rec {
+  pname = "nidaqmx";
+  version = src.rev;
+
+  src = fetchFromGitHub {
+    owner = "ni";
+    repo = "nidaqmx-python";
+    rev = "0.5.7";
+    sha256 = "19m9p99qvdmvvqbwmqrqm6b50x7czgrj07gdsxbbgw04shf5bhrs";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    six
+  ] ++ lib.optionals (pythonOlder "3.4") [
+    enum34
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pykka
+  ];
+
+  dontUseSetuptoolsCheck = true;
+
+  # Older pytest is needed
+  # https://github.com/ni/nidaqmx-python/issues/80
+  # Fixture "x_series_device" called directly. Fixtures are not meant to be called directly
+  doCheck = false;
+
+  pythonCheckImports = [
+    "nidaqmx.task"
+  ];
+
+  meta = {
+    description = "API for interacting with the NI-DAQmx driver";
+    license = [ lib.licenses.mit ];
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
index 2da580abd926..9158ee77e508 100644
--- a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18b763d641e6903bdf8512e0ec5cdc14133fb4679e9a15648415e9be62c81b56";
+    sha256 = "07eb764f2b7b39b487f806a067e394d8ebffff21f57cd1ecdb5c4030b7210210";
   };
 
   # disable some failing tests
diff --git a/nixpkgs/pkgs/development/python-modules/nimfa/default.nix b/nixpkgs/pkgs/development/python-modules/nimfa/default.nix
index 26f1ea3294bb..bd3e92e90dbc 100644
--- a/nixpkgs/pkgs/development/python-modules/nimfa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nimfa/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "nimfa";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "651376eba6b049fe270dc0d29d4b2abecb5e998c2013df6735a97875503e2ffe";
+    sha256 = "39cff2b86856d03ca8a3d9c38598034ecf1a768c325fd3a728bb9eadb8c6b919";
   };
 
   propagatedBuildInputs = [ numpy scipy ];
diff --git a/nixpkgs/pkgs/development/python-modules/nipype/default.nix b/nixpkgs/pkgs/development/python-modules/nipype/default.nix
index 5f33a5fe63ca..ab81b2b190b5 100644
--- a/nixpkgs/pkgs/development/python-modules/nipype/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nipype/default.nix
@@ -6,6 +6,8 @@
 , click
 , configparser ? null
 , dateutil
+, etelemetry
+, filelock
 , funcsigs
 , future
 , futures
@@ -14,6 +16,7 @@
 , nibabel
 , numpy
 , packaging
+, pathlib2
 , prov
 , psutil
 , pybids
@@ -45,11 +48,11 @@ in
 
 buildPythonPackage rec {
   pname = "nipype";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09azgfmb0992c3xqmi7n93pz95i4v37vc9kqmjh8c9jjxjzszdd5";
+    sha256 = "bb190964b568d64b04b73d2aa7eae31061fdbc3051d8c27bb34b1632db07ec71";
   };
 
   postPatch = ''
@@ -60,6 +63,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     click
     dateutil
+    etelemetry
+    filelock
     funcsigs
     future
     networkx
@@ -74,9 +79,10 @@ buildPythonPackage rec {
     simplejson
     traits
     xvfbwrapper
-  ] ++ stdenv.lib.optional (!isPy3k) [
+  ] ++ stdenv.lib.optionals (!isPy3k) [
     configparser
     futures
+    pathlib2 # darwin doesn't receive this transitively, but it is in install_requires
   ];
 
   checkInputs = [
@@ -91,6 +97,8 @@ buildPythonPackage rec {
     which
   ];
 
+  # checks on darwin inspect memory which doesn't work in build environment
+  doCheck = !stdenv.isDarwin;
   # ignore tests which incorrect fail to detect xvfb
   checkPhase = ''
     LC_ALL="en_US.UTF-8" pytest -v nipype -k 'not display'
diff --git a/nixpkgs/pkgs/development/python-modules/nipype/neurdflib.nix b/nixpkgs/pkgs/development/python-modules/nipype/neurdflib.nix
index 3042f7156879..33526bebd558 100644
--- a/nixpkgs/pkgs/development/python-modules/nipype/neurdflib.nix
+++ b/nixpkgs/pkgs/development/python-modules/nipype/neurdflib.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "neurdflib";
-  version = "5.0.0.post1";
+  version = "5.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qgmprixqxycxpjk9wjdmjykma14qqa2wcbx4nsldxi0ga7i7vv5";
+    sha256 = "d34493cee15029ff5db16157429585ff863ba5542675a4d8a94a0da1bc6e3a50";
   };
 
   propagatedBuildInputs = [ isodate html5lib SPARQLWrapper ];
diff --git a/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix b/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix
new file mode 100644
index 000000000000..f73fb6dac33d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix
@@ -0,0 +1,32 @@
+{ fetchPypi
+, lib
+, buildPythonPackage
+, attrs
+, click
+, effect
+, jinja2
+}:
+
+buildPythonPackage rec {
+  pname = "nix-prefetch-github";
+  version = "2.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18xj618zjs13ib7f996fnl0xiqig0w48yns45nvy3xab55wximdx";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    click
+    effect
+    jinja2
+  ];
+
+  meta = with lib; {
+    description = "Prefetch sources from github";
+    homepage = https://github.com/seppeljordan/nix-prefetch-github;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ seppeljordan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nixpkgs-pytools/default.nix b/nixpkgs/pkgs/development/python-modules/nixpkgs-pytools/default.nix
index 4a943e32d4c5..ebb8b7c70eb7 100644
--- a/nixpkgs/pkgs/development/python-modules/nixpkgs-pytools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nixpkgs-pytools/default.nix
@@ -3,22 +3,24 @@
 , fetchPypi
 , jinja2
 , setuptools
+, rope
 , isPy27
 }:
 
 buildPythonPackage rec {
   pname = "nixpkgs-pytools";
-  version = "1.0.1";
+  version = "1.3.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0796c6e95daeb3d7e61c9c53126d95ba6a48f84b995b12b60f45619caf28a574";
+    sha256 = "11skcbi1lf9qcv9j5ikifb4pakhbbygqpcmv3390j7gxsa85cn19";
   };
 
   propagatedBuildInputs = [
     jinja2
     setuptools
+    rope
   ];
 
   # tests require network ..
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix b/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix
index 4151d08b60f4..6e51ae077318 100644
--- a/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix
@@ -2,25 +2,28 @@
 , buildPythonPackage
 , fetchFromGitHub
 , nmigen
+, setuptools
+, setuptools_scm
 }:
 
 buildPythonPackage rec {
   pname = "nmigen-boards";
-  version = "unstable-2019-08-30";
-  realVersion = lib.substring 0 7 src.rev;
+  version = "unstable-2019-10-13";
+  # python setup.py --version
+  realVersion = "0.1.dev79+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "m-labs";
     repo = "nmigen-boards";
-    rev = "3b80b3a3749ae8f123ff258a25e81bd21412aed4";
-    sha256 = "01qynxip8bq23jfjc5wjd97vxfvhld2zb8sxphwf0zixrmmyaspi";
+    rev = "835c175d7cf9d143aea2c7dbc0c870ede655cfc2";
+    sha256 = "1mbxgfv6k9i3668lr1b3hrvial2vznvgn4ckjzc36hhizp47ypzw";
   };
 
-  propagatedBuildInputs = [ nmigen ];
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ setuptools nmigen ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'versioneer.get_version()' '"${realVersion}"'
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix b/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
index 345ba982b0bc..8269c07cba0e 100644
--- a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
@@ -2,58 +2,41 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
+, setuptools_scm
 , pyvcd
 , bitarray
 , jinja2
 
-# nmigen.{test,build} call out to these
+# for tests
 , yosys
 , symbiyosys
-, nextpnr ? null
-, icestorm ? null
-, trellis ? null
-
-# for tests
 , yices
 }:
 
 buildPythonPackage rec {
   pname = "nmigen";
-  version = "unstable-2019-08-31";
-  realVersion = lib.substring 0 7 src.rev;
+  version = "unstable-2019-10-17";
+  # python setup.py --version
+  realVersion = "0.1.rc2.dev5+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "m-labs";
     repo = "nmigen";
-    rev = "2e206220462c67aa6ae97f7515a2191440fd61b3";
-    sha256 = "0y3w6vd493jqm9b8ppgwzs02v1al8w1n5gylljlsw70ci7fyk4qa";
+    rev = "9fba5ccb513cfbd53f884b1efca699352d2471b9";
+    sha256 = "02bjry4sqjsrhl0s42zl1zl06gk5na9i6br6vmz7fvxic29vl83v";
   };
 
   disabled = pythonOlder "3.6";
 
-  propagatedBuildInputs = [ pyvcd bitarray jinja2 ];
-
-  checkInputs = [ yosys yices ];
+  nativeBuildInputs = [ setuptools_scm ];
 
-  postPatch = let
-    tool = pkg: name:
-      if pkg == null then {} else { ${name} = "${pkg}/bin/${name}"; };
+  propagatedBuildInputs = [ setuptools pyvcd bitarray jinja2 ];
 
-    # Only FOSS toolchain supported out of the box, sorry!
-    toolchainOverrides =
-      tool yosys "yosys" //
-      tool symbiyosys "sby" //
-      tool nextpnr "nextpnr-ice40" //
-      tool nextpnr "nextpnr-ecp5" //
-      tool icestorm "icepack" //
-      tool trellis "ecppack";
-  in ''
-    substituteInPlace setup.py \
-      --replace 'versioneer.get_version()' '"${realVersion}"'
+  checkInputs = [ yosys symbiyosys yices ];
 
-    substituteInPlace nmigen/_toolchain.py \
-      --replace 'overrides = {}' \
-                'overrides = ${builtins.toJSON toolchainOverrides}'
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/nose-exclude/default.nix b/nixpkgs/pkgs/development/python-modules/nose-exclude/default.nix
index 7eb6b6cc0474..7f679e545e7d 100644
--- a/nixpkgs/pkgs/development/python-modules/nose-exclude/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose-exclude/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , nose
@@ -15,10 +16,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ nose ];
 
+  # "OSError: AF_UNIX path too long" for darwin
+  doCheck = !stdenv.isDarwin;
+
   meta = {
     license = lib.licenses.lgpl21;
     description = "Exclude specific directories from nosetests runs";
     homepage = https://github.com/kgrandis/nose-exclude;
     maintainers = with lib.maintainers; [ fridh ];
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/2.nix b/nixpkgs/pkgs/development/python-modules/notebook/2.nix
new file mode 100644
index 000000000000..d081a5a92fbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/notebook/2.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, nose_warnings_filters
+, glibcLocales
+, isPy3k
+, mock
+, jinja2
+, tornado
+, ipython_genutils
+, traitlets
+, jupyter_core
+, jupyter_client
+, nbformat
+, nbconvert
+, ipykernel
+, terminado
+, requests
+, send2trash
+, pexpect
+, prometheus_client
+}:
+
+buildPythonPackage rec {
+  pname = "notebook";
+  version = "5.7.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8";
+  };
+
+  LC_ALL = "en_US.utf8";
+
+  checkInputs = [ nose glibcLocales ]
+    ++ (if isPy3k then [ nose_warnings_filters ] else [ mock ]);
+
+  propagatedBuildInputs = [
+    jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
+    jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
+    prometheus_client
+  ];
+
+  # disable warning_filters
+  preCheck = lib.optionalString (!isPy3k) ''
+    echo "" > setup.cfg
+  '';
+
+  postPatch = ''
+    # Remove selenium tests
+    rm -rf notebook/tests/selenium
+
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    mkdir tmp
+    HOME=tmp nosetests -v ${if (stdenv.isDarwin) then ''
+      --exclude test_delete \
+      --exclude test_checkpoints_follow_file
+    ''
+    else ""}
+  '';
+
+  # Some of the tests use localhost networking.
+  __darwinAllowLocalNetworking = true;
+
+  meta = {
+    description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing";
+    homepage = https://jupyter.org/;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index d081a5a92fbe..3c174288b82c 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -25,11 +25,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "5.7.8";
+  version = "6.0.2";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8";
+    sha256 = "399a4411e171170173344761e7fd4491a3625659881f76ce47c50231ed714d9b";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/nixpkgs/pkgs/development/python-modules/notedown/default.nix b/nixpkgs/pkgs/development/python-modules/notedown/default.nix
new file mode 100644
index 000000000000..c1dacc84da0c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/notedown/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, nbconvert
+, nbformat
+, notebook
+, pandoc-attributes
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "notedown";
+  version = "1.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "36e033ebbbe5aca0fab031ffaf3611d5bc5c50237df68ff81bb95f8be353a1ee";
+  };
+
+  propagatedBuildInputs = [
+    notebook
+    nbconvert
+    nbformat
+    pandoc-attributes
+    six
+  ];
+
+  # No tests in pypi source
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/aaren/notedown;
+    description = "Convert IPython Notebooks to markdown (and back)";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ vcanadi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nuitka/default.nix b/nixpkgs/pkgs/development/python-modules/nuitka/default.nix
index 6be1f39328f1..0413d224bcd6 100644
--- a/nixpkgs/pkgs/development/python-modules/nuitka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nuitka/default.nix
@@ -12,13 +12,13 @@ let
   # Therefore we create a separate env for it.
   scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
 in buildPythonPackage rec {
-  version = "0.6.5";
+  version = "0.6.6";
   pname = "Nuitka";
 
   # Latest version is not yet on PyPi
   src = fetchurl {
     url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
-    sha256 = "18vcmbyqdwsfa9gyj1sf518hsqczx7qlzrdc22hdb1zawzknb1pb";
+    sha256 = "1ia37072qdbgdvh9qxkrhi3mlqn3kcn0qm5xjz6f68sis6ni9kw2";
   };
 
   checkInputs = [ vmprof pyqt4 ];
@@ -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/nixpkgs/pkgs/development/python-modules/numba/default.nix b/nixpkgs/pkgs/development/python-modules/numba/default.nix
index 78593e443b17..f452b7fae738 100644
--- a/nixpkgs/pkgs/development/python-modules/numba/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numba/default.nix
@@ -13,12 +13,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.45.0";
+  version = "0.46.0";
   pname = "numba";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcea8dc6f9e0f1ddf7bd52a207858539bc14e893c5ee66d8730c3e5b9344c4b3";
+    sha256 = "c2cbaeae60f80805290fff50175028726fae12692404a36babd3326730fbceee";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix b/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
index 775cfeded8b4..9725f1311113 100644
--- a/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
@@ -7,20 +7,22 @@
 , msgpack
 , pytest
 , python
+, gcc8
 }:
 
 buildPythonPackage rec {
   pname = "numcodecs";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "086qwlyi01rpgyyyy8bmhh9i7hpksyz33ldci3wdwmhiblyl362y";
+    sha256 = "ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d";
   };
 
   nativeBuildInputs = [
     setuptools_scm
     cython
+    gcc8
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/numericalunits/default.nix b/nixpkgs/pkgs/development/python-modules/numericalunits/default.nix
index 41b4c1a8f318..3f041ef698e2 100644
--- a/nixpkgs/pkgs/development/python-modules/numericalunits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numericalunits/default.nix
@@ -1,19 +1,19 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy3k
 }:
 
 buildPythonPackage rec {
-  version = "1.23";
+  version = "1.24";
   pname = "numericalunits";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q1jrzxx0k7j82c5q061hd10mp965ra8813vb09ji326fbxzn2gy";
+    sha256 = "0wn7kqp0rxqr6gnqhdn8pc0wy359krzan0kbika6hfvb0c1rw1hs";
   };
 
-  # no tests
-  doCheck = false;
+  disabled = !isPy3k;
 
   meta = with stdenv.lib; {
     homepage = http://pypi.python.org/pypi/numericalunits;
diff --git a/nixpkgs/pkgs/development/python-modules/numexpr/default.nix b/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
index 78203b3571bb..d0bb0a88cff4 100644
--- a/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
@@ -7,16 +7,15 @@
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.6.9";
+  version = "2.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc218b777cdbb14fa8cff8f28175ee631bacabbdd41ca34e061325b6c44a6fa6";
+    sha256 = "1c82z0zx0542j9df6ckjz6pn1g13b21hbza4hghcw6vyhbckklmh";
   };
 
   # Remove existing site.cfg, use the one we built for numpy.
   preBuild = ''
-    rm site.cfg
     ln -s ${numpy.cfg} site.cfg
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index 41064c6b36c7..bdd766968851 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
@@ -1,4 +1,15 @@
-{ lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile, isPyPy }:
+{ lib
+, fetchPypi
+, python
+, buildPythonPackage
+, gfortran
+, pytest
+, blas
+, writeTextFile
+, isPyPy
+, cython
+, setuptoolsBuildHook
+ }:
 
 let
   blasImplementation = lib.nameFromURL blas.name "-";
@@ -16,15 +27,16 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.17.2";
+  version = "1.18.0";
+  format = "pyproject.toml";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df";
+    sha256 = "a9d72d9abaf65628f0f31bbb573b7d9304e43b1e6bbae43149c17737a42764c4";
   };
 
-  nativeBuildInputs = [ gfortran pytest ];
+  nativeBuildInputs = [ gfortran pytest cython setuptoolsBuildHook ];
   buildInputs = [ blas ];
 
   patches = lib.optionals python.hasDistutilsCxxPatch [
@@ -66,7 +78,7 @@ in buildPythonPackage rec {
 
   meta = {
     description = "Scientific tools for Python";
-    homepage = http://numpy.scipy.org/;
+    homepage = https://numpy.org/;
     maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/numpydoc/default.nix b/nixpkgs/pkgs/development/python-modules/numpydoc/default.nix
index 0e6fa25bd537..fb3b9af76f60 100644
--- a/nixpkgs/pkgs/development/python-modules/numpydoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpydoc/default.nix
@@ -1,22 +1,21 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi
+, jinja2
 , nose
+, pytest
 , sphinx
-, jinja2
 }:
 
 buildPythonPackage rec {
   pname = "numpydoc";
-  version = "0.8.0";
+  version = "0.9.2";
 
   src = fetchPypi {
     inherit pname;
     inherit version;
-    sha256 = "61f4bf030937b60daa3262e421775838c945dcdd671f37b69e8e4854c7eb5ffd";
+    sha256 = "9140669e6b915f42c6ce7fef704483ba9b0aaa9ac8e425ea89c76fe40478f642";
   };
 
-  checkInputs = [ nose ];
+  checkInputs = [ nose pytest ];
   propagatedBuildInputs = [ sphinx jinja2 ];
 
   meta = {
@@ -24,4 +23,4 @@ buildPythonPackage rec {
     homepage = "https://github.com/numpy/numpydoc";
     license = lib.licenses.free;
    };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
index f21624acf143..641db7008f8a 100644
--- a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl, pytest-httpbin }:
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "1.4.4";
+  version = "1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6276ed2a897a30ccd71bfd7cf9e6b7842f37f3d5a86d7a70fe46f437c62b1875";
+    sha256 = "0973f7c3ea5ad65fb19837e8915882a9f2c2f21f5c2589005478697391fea2fd";
   };
 
   propagatedBuildInputs = [ setuptools structlog tornado pycurl ];
-  checkInputs = [ pytest pytest-asyncio flaky ];
-
-  # requires network access
-  doCheck = false;
+  checkInputs = [ pytest pytest-asyncio flaky pytest-httpbin ];
 
+  # disable `test_ubuntupkg` because it requires network
   checkPhase = ''
-    py.test
+    py.test -m "not needs_net" --ignore=tests/test_ubuntupkg.py
   '';
 
   disabled = pythonOlder "3.5";
diff --git a/nixpkgs/pkgs/development/python-modules/oauth/default.nix b/nixpkgs/pkgs/development/python-modules/oauth/default.nix
index a8e5c8bf53d2..f4a8e3a62c23 100644
--- a/nixpkgs/pkgs/development/python-modules/oauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauth/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/oauth;
+    homepage = https://code.google.com/archive/p/oauth/;
     description = "Library for OAuth version 1.0a";
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
index 85dc80681aad..d8a976929768 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "0.8.2";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5195b5d66808787894590926b038381eb47495c9df4fd0d907c84d86cb35132f";
+    sha256 = "cb4e23fcfe8dc9099c4ca005f8991b0f605b03a3e1cf4fed654b2470f6065bdf";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
index cdf88db632ca..b8b85f606a94 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
@@ -9,12 +9,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.0.1";
+  version = "3.1.0";
   pname = "oauthlib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298";
+    sha256 = "bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/odo/default.nix b/nixpkgs/pkgs/development/python-modules/odo/default.nix
index 6e82119faa57..6c19bf0a0fd0 100644
--- a/nixpkgs/pkgs/development/python-modules/odo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/odo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "odo";
-  version= "unstable-2019-07-16";
+  version= "unstable-2018-09-21";
 
   src = fetchFromGitHub {
     owner = "blaze";
@@ -54,5 +54,6 @@ buildPythonPackage rec {
     description = "Data migration utilities";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ fridh costrouc ];
+    broken = true; # no longer compatible with dask>=2.0
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ofxtools/default.nix b/nixpkgs/pkgs/development/python-modules/ofxtools/default.nix
index adcb640df139..1aa6b75e8bfa 100644
--- a/nixpkgs/pkgs/development/python-modules/ofxtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ofxtools/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "ofxtools";
-  version = "0.5.4";
+  version = "0.8.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83e1ca0a61463fca99d096a694466726a49979a5d2b8a36a65514c7a8617d3ea";
+    sha256 = "87245679911c0c12429a476fd269611512d3e4b44cb8871159bb76ba70f8a46f";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/onkyo-eiscp/default.nix b/nixpkgs/pkgs/development/python-modules/onkyo-eiscp/default.nix
index 7b5622cfeefb..39c987060605 100644
--- a/nixpkgs/pkgs/development/python-modules/onkyo-eiscp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/onkyo-eiscp/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "onkyo-eiscp";
-  version = "1.2.5";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfcca6bc6c36992095f5aa4a15870a3ef89b9a26d991da2333891c2675d4ef1b";
+    sha256 = "761abb16c654a1136763b927d094174d41f282809e44ea32cd47e199dd79d9c9";
   };
 
   propagatedBuildInputs = [ docopt netifaces ];
diff --git a/nixpkgs/pkgs/development/python-modules/openpyxl/2.nix b/nixpkgs/pkgs/development/python-modules/openpyxl/2.nix
new file mode 100644
index 000000000000..d58192c06667
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix b/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
index ea12f1cc35a3..a3f74f000939 100644
--- a/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , pytest
 , jdcal
 , et_xmlfile
@@ -9,11 +10,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "2.6.2";
+  version = "3.0.2";
+  disabled = isPy27; # 2.6.4 was final python2 release
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d2af392cef8c8227bd2ac3ebe3a28b25aba74fd4fa473ce106065f0b73bfe2e";
+    sha256 = "eb68c08a72ac6d9812df181e88ebece3a68436364353eb6eda3bed863e3d73a6";
   };
 
   checkInputs = [ pytest ];
@@ -35,4 +37,4 @@ buildPythonPackage rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ lihop sjourdois ];
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
index 6e3ab1e78338..fb7b48e2266f 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
@@ -1,4 +1,5 @@
 { buildPythonApplication
+, isPy3k
 , daemonize
 , dbus-python
 , fetchFromGitHub
@@ -19,6 +20,8 @@ in
 buildPythonApplication (common // rec {
   pname = "openrazer_daemon";
 
+  disabled = !isPy3k;
+
   sourceRoot = "source/daemon";
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/python-modules/opentimestamps/default.nix b/nixpkgs/pkgs/development/python-modules/opentimestamps/default.nix
index 01f5595fea10..f9394efe398b 100644
--- a/nixpkgs/pkgs/development/python-modules/opentimestamps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/opentracing/default.nix b/nixpkgs/pkgs/development/python-modules/opentracing/default.nix
new file mode 100644
index 000000000000..f20ca7285e68
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/opentracing/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, futures
+, gevent
+, mock
+, pytest
+, tornado }:
+
+buildPythonPackage rec {
+  pname = "opentracing";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rcpmhy7hm6ljlm1w455il53s1amq2vii2x1wfkrcx3sj4s0dc9k";
+  };
+
+  propagatedBuildInputs = lib.optional isPy27 futures;
+
+  checkInputs = [ gevent mock pytest tornado ];
+  
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/opentracing/opentracing-python;
+    description = "Platform API for OpenTracing";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rakesh4g ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/opt-einsum/2.nix b/nixpkgs/pkgs/development/python-modules/opt-einsum/2.nix
new file mode 100644
index 000000000000..41c4df89f4fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/opt-einsum/2.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage, fetchPypi, lib, numpy, pytest_4 }:
+
+buildPythonPackage rec {
+  version = "2.3.2";
+  pname = "opt_einsum";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "0ny3v8x83mzpwmqjdzqhzy2pzwyy4wx01r1h9i29xw3yvas69m6k";
+  };
+
+  checkInputs = [
+    pytest_4
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
+    homepage = "https://optimized-einsum.readthedocs.io";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ teh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix b/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
index c28105d4e492..1d8c9d9531a6 100644
--- a/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
@@ -1,31 +1,26 @@
-{ buildPythonPackage, fetchPypi, lib, numpy, pytest, pytestpep8, pytestcov }:
+{ buildPythonPackage, fetchPypi, lib, numpy, pytest_4 }:
+
 buildPythonPackage rec {
-  version = "2.3.2";
+  version = "3.1.0";
   pname = "opt_einsum";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0ny3v8x83mzpwmqjdzqhzy2pzwyy4wx01r1h9i29xw3yvas69m6k";
+    sha256 = "edfada4b1d0b3b782ace8bc14e80618ff629abf53143e1e6bbf9bd00b11ece77";
   };
 
-  checkInputs = [
-    pytest
-    pytestpep8
-    pytestcov
-  ];
+  propagatedBuildInputs = [ numpy ];
+
+  checkInputs = [ pytest_4 ];
 
   checkPhase = ''
     pytest
   '';
 
-  propagatedBuildInputs = [
-    numpy
-  ];
-
-  meta = {
+  meta = with lib; {
     description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
-    homepage = http://optimized-einsum.readthedocs.io;
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ teh ];
+    homepage = https://github.com/dgasmith/opt_einsum;
+    license = licenses.mit;
+    maintainers = with maintainers; [ teh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/optuna/default.nix b/nixpkgs/pkgs/development/python-modules/optuna/default.nix
index fc62f67430f4..26c728993179 100644
--- a/nixpkgs/pkgs/development/python-modules/optuna/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/optuna/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytest
 , mock
 , bokeh
@@ -13,6 +13,7 @@
 , mxnet
 , scikit-optimize
 , tensorflow
+, cma
 , sqlalchemy
 , numpy
 , scipy
@@ -21,6 +22,7 @@
 , colorlog
 , pandas
 , alembic
+, tqdm
 , typing
 , pythonOlder
 , isPy27
@@ -28,12 +30,14 @@
 
 buildPythonPackage rec {
   pname = "optuna";
-  version = "0.13.0";
+  version = "0.19.0";
   disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "915b9d7b28f7f7cdf015d8617c689ca90eda7a5bbd59c5fc232c9eccc9a91585";
+  src = fetchFromGitHub {
+    owner = "optuna";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "179x2lsckpmkrkkdnvvbzky86g1ba882z677qwbayhsc835wbp0y";
   };
 
   checkInputs = [
@@ -49,6 +53,7 @@ buildPythonPackage rec {
     mxnet
     scikit-optimize
     tensorflow
+    cma
   ];
 
   propagatedBuildInputs = [
@@ -60,16 +65,22 @@ buildPythonPackage rec {
     colorlog
     pandas
     alembic
-  ] ++ lib.optionals (pythonOlder "3.5") [ typing ];
+    tqdm
+  ] ++ lib.optionals (pythonOlder "3.5") [
+    typing
+  ];
 
   configurePhase = if !(pythonOlder "3.5") then ''
     substituteInPlace setup.py \
-      --replace "'typing'" ""
+      --replace "'typing'," ""
   '' else "";
 
   checkPhase = ''
     pytest --ignore tests/test_cli.py \
-           --ignore tests/integration_tests/test_chainermn.py
+           --ignore tests/integration_tests/test_chainermn.py \
+           --ignore tests/integration_tests/test_pytorch_lightning.py \
+           --ignore tests/integration_tests/test_pytorch_ignite.py \
+           --ignore tests/integration_tests/test_fastai.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/orm/default.nix b/nixpkgs/pkgs/development/python-modules/orm/default.nix
new file mode 100644
index 000000000000..c2f6bc4fc570
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/orm/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, databases
+, typesystem
+, aiosqlite
+, pytest
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "orm";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = "orm";
+    rev = version;
+    sha256 = "1g70cr0559iyqfzidwh6n2qq6d4dcnrr4sg0jkn1s4qzka828mj7";
+  };
+
+  propagatedBuildInputs = [
+    databases
+    typesystem
+  ];
+
+  checkInputs = [
+    aiosqlite
+    pytest
+    pytestcov
+  ];
+
+  checkPhase = ''
+    PYTHONPATH=$PYTHONPATH:. pytest
+  '';
+
+  meta = with lib; {
+    description = "An async ORM";
+    homepage = https://github.com/encode/orm;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/osc/default.nix b/nixpkgs/pkgs/development/python-modules/osc/default.nix
index def8ecb8458e..c9ce8324b188 100644
--- a/nixpkgs/pkgs/development/python-modules/osc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/osc/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, buildPythonPackage , fetchFromGitHub
-, bashInteractive , urlgrabber, m2crypto
-}:
+{ stdenv, buildPythonPackage , fetchFromGitHub , bashInteractive , urlgrabber, m2crypto, rpm }:
 
 buildPythonPackage rec {
   pname = "osc";
-  version = "0.165.4";
+  version = "0.167.1";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "osc";
     rev = version;
-    sha256 = "1f8q65wlgchzwzarwrv6a0p60gw0ykpf4d5s7cks835hyawgcbyl";
+    sha256 = "0f3c6mzvk9yjicwfdh47j4s2l1wrfgpa6lmqdchasdqfsacps4r6";
   };
 
   buildInputs = [ bashInteractive ]; # needed for bash-completion helper
+  checkInputs = [ rpm ];
   propagatedBuildInputs = [ urlgrabber m2crypto ];
 
-  doCheck = false;
-
   postInstall = ''
     ln -s $out/bin/osc-wrapper.py $out/bin/osc
     install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
@@ -32,6 +29,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
+    homepage = "https://github.com/openSUSE/osc";
     description = "opensuse-commander with svn like handling";
     maintainers = [ maintainers.peti ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
new file mode 100644
index 000000000000..6012398db982
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage
+, asn1crypto
+, fetchPypi
+, lib
+, openssl
+}:
+
+buildPythonPackage rec {
+  pname = "oscrypto";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vlryamwr442w2av8f54ldhls8fqs6678fg60pqbrf5pjy74kg23";
+  };
+
+  testSources = fetchPypi {
+    inherit version;
+    pname = "oscrypto_tests";
+    sha256 = "1crndz647pqdd8148yn3n5l63xwr6qkwa1qarsz59nk3ip0dsyq5";
+  };
+
+  preCheck = ''
+    tar -xf ${testSources}
+    mv oscrypto_tests-${version} tests
+
+    # remove tests that require network
+    sed -e '/TLSTests/d' -e '/TrustListTests/d' -i tests/__init__.py
+  '';
+
+  propagatedBuildInputs = [
+    asn1crypto
+    openssl
+  ];
+
+  meta = with lib; {
+    description = "A compilation-free, always up-to-date encryption library for Python that works on Windows, OS X, Linux and BSD.";
+    homepage = "https://www.snowflake.com/";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/outcome/default.nix b/nixpkgs/pkgs/development/python-modules/outcome/default.nix
index dc06ab63d2d9..ff97ca15a928 100644
--- a/nixpkgs/pkgs/development/python-modules/outcome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/outcome/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "outcome";
-  version = "1.0.0";
+  version = "1.0.1";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wdcakx1r1317bx6139k9gv6k272fryid83d1kk0r43andfw0n4x";
+    sha256 = "fc7822068ba7dd0fc2532743611e8a73246708d3564e29a39f93d6ab3701b66f";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/ovh/default.nix b/nixpkgs/pkgs/development/python-modules/ovh/default.nix
index 017f75d991ce..22e82141cdcb 100644
--- a/nixpkgs/pkgs/development/python-modules/ovh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ovh/default.nix
@@ -17,8 +17,8 @@ buildPythonPackage rec {
 
   meta = {
     description = "Thin wrapper around OVH's APIs";
-    homepage = http://api.ovh.com/;
+    homepage = https://github.com/ovh/python-ovh;
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.makefu ];
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/owslib/default.nix b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
index 7921b0a7a148..1e79a7641472 100644
--- a/nixpkgs/pkgs/development/python-modules/owslib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oyaml/default.nix b/nixpkgs/pkgs/development/python-modules/oyaml/default.nix
new file mode 100644
index 000000000000..e445086d0c76
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/oyaml/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+
+# pythonPackages
+, pytest
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "oyaml";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "wimglenn";
+    repo = "oyaml";
+    rev = "v${version}";
+    sha256 = "13xjdym0p0jh9bvyjsbhi4yznlp68bamy3xi4w5wpcrzlcq6cfh9";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest test_oyaml.py
+  '';
+
+  meta = {
+    description = "Ordered YAML: drop-in replacement for PyYAML which preserves dict ordering";
+    homepage = "https://github.com/wimglenn/oyaml";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/packaging/default.nix b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
index 2d12b32b438c..cb1b4bb0a7d2 100644
--- a/nixpkgs/pkgs/development/python-modules/packaging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "packaging";
-  version = "19.0";
+  version = "19.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af";
+    sha256 = "28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47";
   };
 
   propagatedBuildInputs = [ pyparsing six ];
diff --git a/nixpkgs/pkgs/development/python-modules/packet-python/default.nix b/nixpkgs/pkgs/development/python-modules/packet-python/default.nix
index 61d387590480..2c56372c2faf 100644
--- a/nixpkgs/pkgs/development/python-modules/packet-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/packet-python/default.nix
@@ -12,10 +12,10 @@
 
 buildPythonPackage rec {
   pname = "packet-python";
-  version = "1.38.2";
+  version = "1.41.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lh97la51fa3nxjl4ngsanrxw6qq5jwwn0dxj2f0946m043200xl";
+    sha256 = "685021502293f6b2e733376bcd0fef3f082c1a66c27072d92f483e27e387ad43";
   };
   nativeBuildInputs = [ pytestrunner ];
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/pafy/default.nix b/nixpkgs/pkgs/development/python-modules/pafy/default.nix
index 75a16f5c53be..532181465576 100644
--- a/nixpkgs/pkgs/development/python-modules/pafy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pafy/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, youtube-dl, fetchPypi }:
 buildPythonPackage rec {
   pname = "pafy";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e842dc589a339a870b5869cc3802f2e95824edf347f65128223cd5ebdff21024";
+    sha256 = "364f1d1312c89582d97dc7225cf6858cde27cb11dfd64a9c2bab1a2f32133b1e";
   };
 
   # No tests included in archive
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A library to download YouTube content and retrieve metadata";
-    homepage = http://np1.github.io/pafy/;
+    homepage = https://github.com/mps-youtube/pafy;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ odi ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
index bf7ebee56577..886307b7104a 100644
--- a/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "paho-mqtt";
-  version = "1.4.0";
+  version = "1.5.0";
 
   # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "paho.mqtt.python";
     rev = "v${version}";
-    sha256 = "1xg9ppz2lqacd9prsrx93q2wfkjjyla03xlfw74aj1alz9ki5hrs";
+    sha256 = "1fq5z53g2k18iiqnz5qq87vzjpppfza072nx0dwllmhimm2dskh5";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/palettable/default.nix b/nixpkgs/pkgs/development/python-modules/palettable/default.nix
index a27ad2172e01..6313e759e6be 100644
--- a/nixpkgs/pkgs/development/python-modules/palettable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/palettable/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "palettable";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qp83l4mnwa9rb06m1d45i4691nkbqi82895ck4j6pirb825mz4c";
+    sha256 = "72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/2.nix b/nixpkgs/pkgs/development/python-modules/pandas/2.nix
index 6283addcb6eb..e4f65a94dc53 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/2.nix
@@ -113,7 +113,7 @@ in buildPythonPackage rec {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = http://pandas.pydata.org/;
+    homepage = "https://pandas.pydata.org/";
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ raskin knedlsepp ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/default.nix b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
index 6f1c2c68dd31..fc5841ba796e 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
@@ -30,11 +30,11 @@ let
 
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.25.0";
+  version = "0.25.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "914341ad2d5b1ea522798efa4016430b66107d05781dbfe7cf05eba8f37df995";
+    sha256 = "52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4";
   };
 
   checkInputs = [ pytest glibcLocales moto hypothesis ];
@@ -84,6 +84,9 @@ in buildPythonPackage rec {
     "io"
     # KeyError Timestamp
     "test_to_excel"
+    # ordering logic has changed
+    "numpy_ufuncs_other"
+    "order_without_freq"
   ] ++ optionals isDarwin [
     "test_locale"
     "test_clipboard"
@@ -111,7 +114,7 @@ in buildPythonPackage rec {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = http://pandas.pydata.org/;
+    homepage = https://pandas.pydata.org/;
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandoc-attributes/default.nix b/nixpkgs/pkgs/development/python-modules/pandoc-attributes/default.nix
new file mode 100644
index 000000000000..8b5652bfb544
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pandoc-attributes/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, pandocfilters
+}:
+
+buildPythonPackage rec {
+  pname = "pandoc-attributes";
+  version = "0.1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "69221502dac74f5df1317011ce62c85a83eef5da3b71c63b1908e98224304a8c";
+  };
+
+  propagatedBuildInputs = [
+    pandocfilters
+  ];
+
+  # No tests in pypi source
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/aaren/pandoc-attributes;
+    description = "An Attribute class to be used with pandocfilters";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ vcanadi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/panel/default.nix b/nixpkgs/pkgs/development/python-modules/panel/default.nix
index 4c88f0e1e4b7..0047548779c3 100644
--- a/nixpkgs/pkgs/development/python-modules/panel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/panel/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "panel";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04w8jjlf7yz3k84xnacahczc9mmddqyp756rj3n8hclks9c1ww40";
+    sha256 = "71d446f469b424cb190bc896e78d0415b2bbebf17c6e5b024ed1a73b4448f8f4";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A high level dashboarding library for python visualization libraries";
-    homepage = http://pyviz.org;
+    homepage = https://pyviz.org;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/papermill/default.nix b/nixpkgs/pkgs/development/python-modules/papermill/default.nix
new file mode 100644
index 000000000000..ffe0fbc5da58
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/paperspace/default.nix b/nixpkgs/pkgs/development/python-modules/paperspace/default.nix
index 6f73004deeb9..7999ce03efe0 100644
--- a/nixpkgs/pkgs/development/python-modules/paperspace/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paperspace/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "paperspace";
-  version = "0.0.19";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2216fb31919595ba442077e8028cc05b0598421a74604daeae4d2baa5e8409d9";
+    sha256 = "7959305128fea6da8ca0cdc528783a89859dacb9b54bf8eb89fd04a518872191";
   };
 
   propagatedBuildInputs = [ boto3 requests ];
@@ -22,5 +22,6 @@ buildPythonPackage rec {
     license     = licenses.isc;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/papis/default.nix b/nixpkgs/pkgs/development/python-modules/papis/default.nix
index b2ae7cf73ed9..f770fecd5e59 100644
--- a/nixpkgs/pkgs/development/python-modules/papis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papis/default.nix
@@ -2,22 +2,24 @@
 , requests, filetype, pyparsing, configparser, arxiv2bib
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , pylibgen, click, python-slugify, habanero, isbnlib
-, prompt_toolkit, pygments
+, prompt_toolkit, pygments, stevedore, tqdm, lxml
+, python-doi, isPy3k, pythonOlder
 #, optional, dependencies
-, jinja2, whoosh, pytest
+, whoosh, pytest
 , stdenv
 }:
 
 buildPythonPackage rec {
   pname = "papis";
-  version = "0.8.2";
+  version = "0.9";
+  disabled = !isPy3k;
 
   # Missing tests on Pypi
   src = fetchFromGitHub {
     owner = "papis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sa4hpgjvqkjcmp9bjr27b5m5jg4pfspdc8nf1ny80sr0kzn72hb";
+    sha256 = "kzA8nlglbjHDPEB7HRAY2dza1Umn/OYUu+ydbA1OJ5Y=";
   };
 
   propagatedBuildInputs = [
@@ -25,11 +27,20 @@ buildPythonPackage rec {
     pyyaml chardet beautifulsoup4 colorama bibtexparser
     pylibgen click python-slugify habanero isbnlib
     prompt_toolkit pygments
+    stevedore tqdm lxml
+    python-doi
     # optional dependencies
-    jinja2 whoosh
+    whoosh
   ];
 
-  doCheck = !stdenv.isDarwin;
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "lxml<=4.3.5" "lxml~=4.3" \
+      --replace "python-slugify>=1.2.6,<4" "python-slugify"
+  '';
+
+  # pytest seems to hang with python3.8
+  doCheck = !stdenv.isDarwin && pythonOlder "3.8";
 
   checkInputs = ([
     pytest
@@ -42,7 +53,8 @@ buildPythonPackage rec {
   # fail with 5.x
   checkPhase = ''
     HOME=$(mktemp -d) pytest papis tests --ignore tests/downloaders \
-      -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url and not test_export_yaml and not test_citations"
+      -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url \
+      and not test_validate_arxivid and not test_downloader_getter"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/param/default.nix b/nixpkgs/pkgs/development/python-modules/param/default.nix
index cb27fdb64e5f..d6b35725c76e 100644
--- a/nixpkgs/pkgs/development/python-modules/param/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/param/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "param";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dbnviszdq3d2k3dfwpimb0adf27yzwm4iyv42rk8xvd8c6p9gdi";
+    sha256 = "a2dcb07c6a4ff48bade69bb5d30d84a96911a7e9dcb76b6de975453f933332f8";
   };
 
   checkInputs = [ flake8 nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/parameterized/default.nix b/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
index 8d13fcfb4d54..f5dd38cc743b 100644
--- a/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchPypi, buildPythonPackage, nose, mock, glibcLocales, isPy3k }:
+{ stdenv, fetchPypi, buildPythonPackage, nose, mock, glibcLocales, isPy3k, isPy38 }:
 
 buildPythonPackage rec {
   pname = "parameterized";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8c8837fb677ed2d5a93b9e2308ce0da3aeb58cf513120d501e0b7af14da78d5";
+    sha256 = "6a94dbea30c6abde99fd4c2f2042c1bf7f980e48908bf92ead62394f93cf57ed";
   };
 
   # Tests require some python3-isms but code works without.
-  doCheck = isPy3k;
+  # python38 is not fully supported yet
+  doCheck = isPy3k && (!isPy38);
 
   checkInputs = [ nose mock glibcLocales ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
index 7ea4a5ee5339..2fefbde74485 100644
--- a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , cryptography
 , bcrypt
+, invoke
 , pynacl
 , pyasn1
 , pytest
@@ -12,21 +13,24 @@
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.6.0";
+  version = "2.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0h9hb2kp07zdfbanad527ll90n9ji7isf7m39jyp0sr21pxfvcpl";
+    sha256 = "920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f";
   };
 
-  checkInputs = [ pytest mock pytest-relaxed ];
+  checkInputs = [ invoke pytest mock pytest-relaxed ];
   propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
 
   __darwinAllowLocalNetworking = true;
 
   # 2 sftp tests fail (skip for now)
+  # test_config relies on artifacts to be to downloaded
   checkPhase = ''
-    pytest tests --ignore=tests/test_sftp.py
+    pytest tests \
+      --ignore=tests/test_sftp.py \
+      --ignore=tests/test_config.py
   '';
 
   meta = with pkgs.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/parse/default.nix b/nixpkgs/pkgs/development/python-modules/parse/default.nix
index 2bbf92f40d46..d79badd66c9e 100644
--- a/nixpkgs/pkgs/development/python-modules/parse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parse/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "parse";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hkic57kaxd5s56ylbwslmngqnpab864mjj8c0ayawfk6is6as0v";
+    sha256 = "a5fca7000c6588d77bc65c28f3f21bfce03b5e44daa8f9f07c17fe364990d717";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix b/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
index 32247fcc3882..914d5e2680fd 100644
--- a/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "parsedatetime";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d817c58fb9570d1eec1dd46fa9448cd644eeed4fb612684b02dfda3a79cb84b";
+    sha256 = "d2e9ddb1e463de871d32088a3f3cea3dc8282b1b2800e081bd0ef86900451667";
   };
 
   buildInputs = [ pytest pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/parsley/default.nix b/nixpkgs/pkgs/development/python-modules/parsley/default.nix
new file mode 100644
index 000000000000..17e05b6027f2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/parsley/default.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "Parsley";
+  version = "1.3";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hcd41bl07a8sx7nmx12p16xprnblc4phxkawwmmy78n8y6jfi4l";
+  };
+  # Tests fail although the package works just fine.  Unfortunately
+  # the tests as run by the upstream CI server travis.org are broken.
+  doCheck = false;
+  meta = with lib; {
+    license = licenses.mit;
+    homepage = "https://launchpad.net/parsley";
+    description = "A parser generator library based on OMeta, and other useful parsing tools.";
+    maintainers = with maintainers; [ seppeljordan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/parso/default.nix b/nixpkgs/pkgs/development/python-modules/parso/default.nix
index f5ecb64d2321..24fc57894056 100644
--- a/nixpkgs/pkgs/development/python-modules/parso/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parso/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "parso";
-  version = "0.3.4";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68406ebd7eafe17f8e40e15a84b56848eccbf27d7c1feb89e93d8fca395706db";
+    sha256 = "55cf25df1a35fd88b878715874d2c4dc1ad3f0eebd1e0266a67e1f55efccfbe1";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/parsy/default.nix b/nixpkgs/pkgs/development/python-modules/parsy/default.nix
index 4183f30caad9..c7ee17f8c8dc 100644
--- a/nixpkgs/pkgs/development/python-modules/parsy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "parsy";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mdqg07x5ybmbmj55x75gyhfcjrn7ml0cf3z0jwbskx845j31m6x";
+    sha256 = "bfc941ea5a69e6ac16bd4f7d9f807bbc17e35edd8b95bcd2499a25b059359012";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/partd/default.nix b/nixpkgs/pkgs/development/python-modules/partd/default.nix
index c7691df6b118..e8a148edb231 100644
--- a/nixpkgs/pkgs/development/python-modules/partd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/partd/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , pytest
 , locket
 , numpy
@@ -11,11 +12,12 @@
 
 buildPythonPackage rec {
   pname = "partd";
-  version = "0.3.10";
+  version = "1.1.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba";
+    sha256 = "6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0";
   };
 
   checkInputs = [ pytest ];
@@ -32,4 +34,4 @@ buildPythonPackage rec {
     license = with lib.licenses; [ bsd3 ];
     homepage = https://github.com/dask/partd/;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/passlib/default.nix b/nixpkgs/pkgs/development/python-modules/passlib/default.nix
index 6f82c446a1ff..e49ad50d91f4 100644
--- a/nixpkgs/pkgs/development/python-modules/passlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/passlib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "passlib";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0";
+    sha256 = "8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/paste/default.nix b/nixpkgs/pkgs/development/python-modules/paste/default.nix
index 21e5a04c3916..210996123a36 100644
--- a/nixpkgs/pkgs/development/python-modules/paste/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paste/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "paste";
-  version = "3.0.8";
+  version = "3.2.2";
 
   src = fetchPypi {
     pname = "Paste";
     inherit version;
-    sha256 = "05w1sh6ky4d7pmdb8nv82n13w22jcn3qsagg5ih3hjmbws9kkwf4";
+    sha256 = "15p95br9x7zjy0cckdy6xmhfg61cg49rhi75jd00svrnz234s7qb";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/pastescript/default.nix b/nixpkgs/pkgs/development/python-modules/pastescript/default.nix
index fe89e6e5aeab..c7a863ea0f59 100644
--- a/nixpkgs/pkgs/development/python-modules/pastescript/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pastescript/default.nix
@@ -9,12 +9,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.0.0";
+  version = "3.2.0";
   pname = "PasteScript";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9d4d98df8606ad3bfa77be4722207d1a53a0fbcc714ee75d0fcd8a5c3f775c3";
+    sha256 = "9b0f5c0f1c6a510a353fa7c3dc4fdaab9071462d60d24573de76a001fbc172ac";
   };
 
   buildInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/path.py/default.nix b/nixpkgs/pkgs/development/python-modules/path.py/default.nix
index d3c3206fabaf..272c34df429e 100644
--- a/nixpkgs/pkgs/development/python-modules/path.py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/path.py/default.nix
@@ -2,11 +2,12 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools_scm
-, pytest
+, pytestCheckHook
 , pytest-flake8
 , glibcLocales
 , packaging
 , isPy27
+, isPy38
 , backports_os
 , importlib-metadata
 , fetchpatch
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     sha256 = "9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f";
   };
 
-  checkInputs = [ pytest pytest-flake8 glibcLocales packaging ];
+  checkInputs = [ pytestCheckHook pytest-flake8 glibcLocales packaging ];
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [
     importlib-metadata
@@ -36,10 +37,11 @@ buildPythonPackage rec {
     license = lib.licenses.mit;
   };
 
-  checkPhase = ''
-    # ignore performance test which may fail when the system is under load
-    py.test -v -k 'not TestPerformance'
-  '';
+  # ignore performance test which may fail when the system is under load
+  # test_version fails with 3.8 https://github.com/jaraco/path.py/issues/172
+  disabledTests = [ "TestPerformance" ] ++ lib.optionals isPy38 [ "test_version"];
+
+  dontUseSetuptoolsCheck = true;
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/python-modules/pathlib2/default.nix b/nixpkgs/pkgs/development/python-modules/pathlib2/default.nix
index 7669e03cf6f0..a81c652075c9 100644
--- a/nixpkgs/pkgs/development/python-modules/pathlib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pathlib2/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pathlib2";
-  version = "2.3.3";
+  version = "2.3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742";
+    sha256 = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868";
   };
 
   propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
diff --git a/nixpkgs/pkgs/development/python-modules/pathos/default.nix b/nixpkgs/pkgs/development/python-modules/pathos/default.nix
index 814854596e9d..b121176c31bc 100644
--- a/nixpkgs/pkgs/development/python-modules/pathos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pathos/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pathos";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "954c5b0a8b257c375e35d311c65fa62a210a3d65269195557de38418ac9f61f9";
+    sha256 = "21ae2cb1d5a76dcf57d5fe93ae8719c7339f467e246163650c08ccf35b87c846";
   };
 
   propagatedBuildInputs = [ dill pox ppft multiprocess ];
diff --git a/nixpkgs/pkgs/development/python-modules/pathspec/default.nix b/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
index 8fb6259c5749..caef384d2796 100644
--- a/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname   = "pathspec";
-  version = "0.5.9";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54a5eab895d89f342b52ba2bffe70930ef9f8d96e398cccf530d21fa0516a873";
+    sha256 = "0p7ab7jx3wgg7xdj2q8yk99cz3xv2a5p1r8q9kfylnvqn34cr1g2";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/pbr/default.nix b/nixpkgs/pkgs/development/python-modules/pbr/default.nix
index c3d5ba170e3f..310d16026a97 100644
--- a/nixpkgs/pkgs/development/python-modules/pbr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pbr/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "5.1.3";
+  version = "5.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824";
+    sha256 = "139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b";
   };
 
   # circular dependencies with fixtures
diff --git a/nixpkgs/pkgs/development/python-modules/pcpp/default.nix b/nixpkgs/pkgs/development/python-modules/pcpp/default.nix
new file mode 100644
index 000000000000..1c032ea62b43
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pcpp/default.nix
@@ -0,0 +1,24 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, stdenv
+}:
+
+buildPythonPackage rec {
+  pname = "pcpp";
+  version = "1.21";
+
+  src = fetchFromGitHub {
+    owner = "ned14";
+    repo = "pcpp";
+    rev = "v${version}";
+    sha256 = "0k52qyxzdngdhyn4sya2qn1w1a4ll0mcla4h4gb1v91fk4lw25dm";
+    fetchSubmodules = true;
+  };
+ 
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ned14/pcpp;
+    description = "A C99 preprocessor written in pure Python";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ rakesh4g ];
+ };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix b/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix
index 1fbddca8cc4f..41009a4b7a27 100644
--- a/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pdfminer_six/default.nix b/nixpkgs/pkgs/development/python-modules/pdfminer_six/default.nix
index 57023e786f05..5f3cc06b5af5 100644
--- a/nixpkgs/pkgs/development/python-modules/pdfminer_six/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdfminer_six/default.nix
@@ -1,28 +1,30 @@
-{ stdenv, buildPythonPackage, python, fetchFromGitHub, six, pycryptodome, chardet, nose, pytest, sortedcontainers }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, six, pycryptodome, chardet, nose, sortedcontainers }:
 
 buildPythonPackage rec {
   pname = "pdfminer_six";
-  version = "20181108";
+  version = "20191020";
 
+  # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "pdfminer";
     repo = "pdfminer.six";
     rev = version;
-    sha256 = "1v8pcx43fgidv1g54s92k85anvcss08blkhm4yi1hn1ybl0mmw6c";
+    sha256 = "1fqn4ilcscvw6ws9a1yqiprha9d3rgw3d0280clkbk6s4l26wm9h";
   };
 
-  propagatedBuildInputs = [ six pycryptodome chardet sortedcontainers ];
+  propagatedBuildInputs = [ six pycryptodome sortedcontainers ]
+    ++ stdenv.lib.optionals isPy3k [ chardet ];
 
-  checkInputs = [ nose pytest ];
+  checkInputs = [ nose ];
   checkPhase = ''
-    ${python.interpreter} -m pytest
+    nosetests
   '';
 
   meta = with stdenv.lib; {
     description = "fork of PDFMiner using six for Python 2+3 compatibility";
     homepage = https://github.com/pdfminer/pdfminer.six;
     license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy ];
+    maintainers = with maintainers; [ psyanticy marsam ];
   };
 }
 
diff --git a/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
index 6c3b1c0cb925..0a2427283f46 100644
--- a/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pdftotext";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jwc2zpss0983wqqi0kpichasljsxar9c4ma8vycn8maw3pi3bg3";
+    sha256 = "c8bdc47b08baa17b8e03ba1f960fc6335b183d2644eaf7300e088516758a6090";
   };
 
   buildInputs = [ poppler ];
diff --git a/nixpkgs/pkgs/development/python-modules/peewee/default.nix b/nixpkgs/pkgs/development/python-modules/peewee/default.nix
index afb805c0b7eb..2c7832f6ab4b 100644
--- a/nixpkgs/pkgs/development/python-modules/peewee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peewee/default.nix
@@ -10,14 +10,14 @@
 buildPythonPackage rec {
 
   pname = "peewee";
-  version = "3.10.0";
+  version = "3.11.2";
 
   # pypi release does not provide tests
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "166h7vy3j0v4h2jnyiwpmpqgmn95381a5ra40ghghy0fqd9v49g8";
+    sha256 = "097cafqgk46bf0innwm7xnmsfs6z37hv3alyvrfz6d0iy4scshm5";
   };
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/pefile/default.nix b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
new file mode 100644
index 000000000000..92a0d064f49c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, future
+, fetchPypi
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "pefile";
+  version = "2019.4.18";
+
+  propagatedBuildInputs = [ future ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645";
+  };
+
+  # Test data encrypted.
+  doCheck = false;
+
+  # Verify import still works.
+  pythonImportsCheck = [ "pefile" ];
+
+  meta = with lib; {
+    description = "Multi-platform Python module to parse and work with Portable Executable (aka PE) files";
+    homepage = "https://github.com/erocarrera/pefile";
+    license = licenses.mit;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pelican/default.nix b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
index 2dcc3e5b873b..7066ecd3a527 100644
--- a/nixpkgs/pkgs/development/python-modules/pelican/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pelican";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "getpelican";
     repo = "pelican";
     rev = version;
-    sha256 = "1ww3kc5bzp5q7b23n2vmzqch1z06l7vrscn0h96cscvk45sxc7yz";
+    sha256 = "0w9nqdw2jmqc6kqwg4rh6irr5k6j7hk8axg6vgd137rs50v62yv5";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     glibcLocales
     # Note: Pelican has to adapt to a changed CLI of pandoc before enabling this
     # again. Compare https://github.com/getpelican/pelican/pull/2252.
-    # Version 4.1.0 is incompatible with our current pandoc version.
+    # Version 4.2.0 is incompatible with our current pandoc version.
     # pandoc
     git
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
index c3090f959008..354bded7b8cf 100644
--- a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pendulum";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf535d36c063575d4752af36df928882b2e0e31541b4482c97d63752785f9fcb";
+    sha256 = "d3078e007315a959989c41cee5cfd63cfeeca21dd3d8295f4bc24199489e9b6c";
   };
 
   propagatedBuildInputs = [ dateutil pytzdata ] ++ lib.optional (pythonOlder "3.5") typing;
diff --git a/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix b/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
index 20da40560e20..5c66eb6cad0e 100644
--- a/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pep8-naming";
-  version = "0.8.2";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1aff4g3i2z08cx7z17nbxbf32ddrnvqlk16h6d8h9s9w5ymivjq1";
+    sha256 = "a33d38177056321a167decd6ba70b890856ba5025f0a8eca6a3eda607da93caf";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/periodictable/default.nix b/nixpkgs/pkgs/development/python-modules/periodictable/default.nix
index e77c281e2c49..c88da3ff07f9 100644
--- a/nixpkgs/pkgs/development/python-modules/periodictable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/periodictable/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec{
   pname = "periodictable";
-  version = "1.5.0";
+  version = "1.5.2";
 
   propagatedBuildInputs = [numpy pyparsing];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cjk6aqcz41nxm4fpriz01vqdafd6g57cjk0wh1iklk5cx6c085h";
+    sha256 = "1lx03xirh3hcrzkwrz91dmdzcj01bykq59hccd83ai901jzqmshz";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/persim/default.nix b/nixpkgs/pkgs/development/python-modules/persim/default.nix
index 12bfddb3deb2..d5e656c7b8fc 100644
--- a/nixpkgs/pkgs/development/python-modules/persim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/persim/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "persim";
-  version = "0.0.9";
+  version = "0.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52ce59856de25eec74c6f20951301b13e7d98c434e712d2225653e2087d54fbc";
+    sha256 = "932bb0489d4dc158e4f007ec609c61e4700003d882d8e7bdac218b70d14ce9cf";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/persistent/default.nix b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
index 88008cd9530a..76d5441c048a 100644
--- a/nixpkgs/pkgs/development/python-modules/persistent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "persistent";
-  version = "4.5.0";
+  version = "4.5.1";
 
   nativeBuildInputs = [ sphinx manuel ];
   propagatedBuildInputs = [ zope_interface cffi ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0slbvq1m3rilgyhj6i522rsyv592xv9pmvm61mrmgkgf40kfnz69";
+    sha256 = "73862779577cb8637f2b68e7edee9a9b95cf33d0b83cb6e762f0f3fc12897aa6";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/persisting-theory/default.nix b/nixpkgs/pkgs/development/python-modules/persisting-theory/default.nix
new file mode 100644
index 000000000000..3e729c2149ed
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/persisting-theory/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "persisting-theory";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02hcg7js23yjyw6gwxqzvyv2b1wfjrypk98cfxfgf7s8iz67vzq0";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = "nosetests";
+
+  meta = with stdenv.lib; {
+    homepage = https://code.eliotberriot.com/eliotberriot/persisting-theory;
+    description = "Automate data discovering and access inside a list of packages";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index 1e61992b49d6..10001d1d6027 100644
--- a/nixpkgs/pkgs/development/python-modules/pex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pex/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "1.6.8";
+  version = "2.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zibkc074dvk69bkiipfzn2l9glgzs26g16j2ny5lzq320wqszkj";
+    sha256 = "a8a35e7eb212616b2964d70d8a134d41d16649c943ab206b90c749c005e60999";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pexpect/default.nix b/nixpkgs/pkgs/development/python-modules/pexpect/default.nix
index 0116212ad9ea..01b16d5bd639 100644
--- a/nixpkgs/pkgs/development/python-modules/pexpect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pexpect/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pexpect";
-  version = "4.6.0";
+  version = "4.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba";
+    sha256 = "9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb";
   };
 
   # Wants to run pythonin a subprocess
diff --git a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
index 7ea154255c10..33790b97c4ed 100644
--- a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.13.1";
+  version = "1.13.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2208c7aaffe8d61f5c4ccbefeb74ba033003899e64aee37c0eb98aadae8b9c6b";
+    sha256 = "eebcb4176a7e407987e525a07454882f611985e0becb2b73f76efb93bbdc0aab";
   };
 
   propagatedBuildInputs = [ passlib ];
diff --git a/nixpkgs/pkgs/development/python-modules/pglast/default.nix b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
index bfa6c301a7ba..bc54c18ac81a 100644
--- a/nixpkgs/pkgs/development/python-modules/pglast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "1.4";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1442ae2cfc6427e9a8fcc2dc18d9ecfcaa1b16eba237fdcf0b2b13912eab9a86";
+    sha256 = "115067100fbb9eb36f530d94b64b4e1e36a8d304537af0847d562ff9ed399c05";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/pgsanity/default.nix b/nixpkgs/pkgs/development/python-modules/pgsanity/default.nix
index 85db917cef82..f7212493e59c 100644
--- a/nixpkgs/pkgs/development/python-modules/pgsanity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgsanity/default.nix
@@ -17,6 +17,7 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover -s test
   '';
 
+  checkInputs = [ postgresql ];
   propagatedBuildInputs = [ postgresql ];
 
   meta = with stdenv.lib; {
@@ -24,9 +25,9 @@ buildPythonPackage rec {
     description = "Checks the syntax of Postgresql SQL files";
     longDescription = ''
       PgSanity checks the syntax of Postgresql SQL files by
-      taking a file that has a list of bare SQL in it, 
-      making that file look like a C file with embedded SQL, 
-      run it through ecpg and 
+      taking a file that has a list of bare SQL in it,
+      making that file look like a C file with embedded SQL,
+      run it through ecpg and
       let ecpg report on the syntax errors of the SQL.
     '';
     license = stdenv.lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix b/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
index 8c653ce060aa..ccca0dd155e7 100644
--- a/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
@@ -2,15 +2,15 @@
 
 buildPythonPackage rec {
   pname = "pgspecial";
-  version = "1.11.5";
+  version = "1.11.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yvlxv9vy0hbfgf0xcwl7wh5hg6cl86arsv1ip3kvn9znn6x8kgl";
+    sha256 = "77f8651450ccbde7d3036cfe93486a4eeeb5ade28d1ebc4b2ba186fea0023c56";
   };
 
-  checkInputs = [ pytest psycopg2 ];
-  propagatedBuildInputs = [ click sqlparse ];
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ click sqlparse psycopg2 ];
 
   checkPhase = ''
     find tests -name \*.pyc -delete
diff --git a/nixpkgs/pkgs/development/python-modules/phik/default.nix b/nixpkgs/pkgs/development/python-modules/phik/default.nix
new file mode 100644
index 000000000000..cef6173af3d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/phik/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pytest
+, pytest-pylint
+, nbconvert
+, jupyter_client
+, numpy
+, scipy
+, pandas
+, matplotlib
+, numba
+}:
+
+buildPythonPackage rec {
+  pname = "phik";
+  version = "0.9.8";
+  format = "wheel";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version format;
+    python = "py3";
+    sha256 = "c398452c5c1eea153905666b289c6a153712cf3d58811fa41e2bbbd27a65d678";
+  };
+
+  checkInputs = [
+    pytest
+    pytest-pylint
+    nbconvert
+    jupyter_client
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    pandas
+    matplotlib
+    numba
+  ];
+
+  postInstall = ''
+  rm -r $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Phi_K correlation analyzer library";
+    longDescription = "Phi_K is a new and practical correlation coefficient based on several refinements to Pearson’s hypothesis test of independence of two variables.";
+    homepage = https://phik.readthedocs.io/en/latest/;
+    maintainers = with maintainers; [ melsigl ];
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index 6d2e8169eb76..461d70497bf0 100644
--- a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.17";
+  version = "8.11.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "023rcv3qishd5n33gj22dzgq51kzpk41ckcmim96s1xvdbd2sxg9";
+    sha256 = "239507184ee5b1b83557005af1d5fcce70f83ae18f5dff45b94a67226db10d63";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
index 026d466d2185..e67932f4a880 100644
--- a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonopy";
-  version = "2.0.0";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "46baf7c4571fe75374071674727c2beb0388cf57073e0623d8457f04b1c54495";
+    sha256 = "6e6ce41ce8a51723b94d974adfee032cddce5b9300984dd23b59e101ed0a2861";
   };
 
   propagatedBuildInputs = [ numpy pyyaml matplotlib h5py ];
diff --git a/nixpkgs/pkgs/development/python-modules/piccata/default.nix b/nixpkgs/pkgs/development/python-modules/piccata/default.nix
index bd00b2f6d557..f1cfb362a80c 100644
--- a/nixpkgs/pkgs/development/python-modules/piccata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/piccata/default.nix
@@ -1,8 +1,9 @@
-{ buildPythonPackage, fetchPypi, lib, ipaddress }:
+{ buildPythonPackage, fetchPypi, lib, ipaddress, isPy3k }:
 
 buildPythonPackage rec {
   pname = "piccata";
   version = "1.0.1";
+  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/pid/default.nix b/nixpkgs/pkgs/development/python-modules/pid/default.nix
index 680094357500..20e9390861dc 100644
--- a/nixpkgs/pkgs/development/python-modules/pid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pid/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pid";
-  version = "2.2.3";
+  version = "2.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "077da788630394adce075c88f4a087bcdb27d98cab67eb9046ebcfeedfc1194d";
+    sha256 = "96eb7dba326b88f5164bc1afdc986c7793e0d32d7f62366256a3903c7b0614ef";
   };
 
   buildInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
index 025b17d19ae9..ec99edcc0c10 100644
--- a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "1.6.2";
+  version = "1.8.2";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1x1b55znr0j4fib69l2h0xq0qmbf2nbxwbwd4f7y8r4sqi20239z";
+    sha256 = "1n3fd7i1br1s4f90yismgfcq9ix5kcqfacr7yy0hhhrabkf2sm37";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pillow/default.nix b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
index e0791248e266..7dc6ce9051b7 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "Pillow";
-  version = "5.4.1";
+  version = "6.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f";
+    sha256 = "bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1";
   };
 
   doCheck = !stdenv.isDarwin && !isPyPy;
diff --git a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix b/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
index a9054b2ed857..0a8d679ae5f9 100644
--- a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
+++ b/nixpkgs/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 = "3.8.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vwh3hx4jrzf51yj9h31nk9ji53lqaq63mlqd7n84hcmfwy3rwz4";
+    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 = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pip/default.nix b/nixpkgs/pkgs/development/python-modules/pip/default.nix
index 9892d02b3922..e1af281b9e91 100644
--- a/nixpkgs/pkgs/development/python-modules/pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip/default.nix
@@ -2,7 +2,7 @@
 , python
 , buildPythonPackage
 , bootstrapped-pip
-, fetchPypi
+, fetchFromGitHub
 , mock
 , scripttest
 , virtualenv
@@ -14,12 +14,15 @@
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "19.2.3";
+  version = "19.3.1";
   format = "other";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e7a31f147974362e6c82d84b91c7f2bdf57e4d3163d3d454e6c3e71944d67135";
+  src = fetchFromGitHub {
+    owner = "pypa";
+    repo = pname;
+    rev = version;
+    sha256 = "079gz0v37ah1l4i5iwyfb0d3mni422yv5ynnxa0wcqpnvkc7sfnw";
+    name = "${pname}-${version}-source";
   };
 
   nativeBuildInputs = [ bootstrapped-pip ];
@@ -34,7 +37,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "The PyPA recommended tool for installing Python packages";
-    license = lib.licenses.mit;
+    license = with lib.licenses; [ mit ];
     homepage = https://pip.pypa.io/;
     priority = 10;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pip2nix/default.nix b/nixpkgs/pkgs/development/python-modules/pip2nix/default.nix
index 0e648f1ca184..8854e7d56784 100644
--- a/nixpkgs/pkgs/development/python-modules/pip2nix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip2nix/default.nix
@@ -6,6 +6,7 @@
 , contexter
 , jinja2
 , pytest
+, pip
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "ec9a71e09ac7f43cc7b6c9d386384eb7b5c331bf6ea0e72ca559d87979397a95";
   };
 
-  propagatedBuildInputs = [ click configobj contexter jinja2 pytest ];
+  propagatedBuildInputs = [ click configobj contexter pip jinja2 pytest ];
 
   postPatch = ''
     sed -i "s/'pip>=8,<10'/'pip'/" setup.py
@@ -27,6 +28,9 @@ buildPythonPackage rec {
   # tests not included with pypi release
   doCheck = false;
 
+  # Requires an old pip version
+  broken = true;
+
   meta = with stdenv.lib; {
     description = "Generate Nix expressions for Python packages";
     homepage = https://github.com/johbo/pip2nix;
diff --git a/nixpkgs/pkgs/development/python-modules/pipdate/default.nix b/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
index 8628705ed4d6..93f38fb37796 100644
--- a/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pipdate";
-  version = "0.3.2";
+  version = "0.3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a27f64d13269adfd8594582f5a62c9f2151b426e701afdfc3b4f4019527b4121";
+    sha256 = "240c0f270ddb7470ad7b8c8fba4106e3dbd8817a370624fd8c32cf19155c9547";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pivy/default.nix b/nixpkgs/pkgs/development/python-modules/pivy/default.nix
index 6c8fc211ae69..f7ec55bba05e 100644
--- a/nixpkgs/pkgs/development/python-modules/pivy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pivy/default.nix
@@ -17,11 +17,11 @@ buildPythonPackage rec {
 
   buildInputs = with pkgs; with xorg; [
     coin3d soqt qt5.qtbase
-    libGLU_combined
+    libGLU libGL
     libXi libXext libSM libICE libX11
   ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-I${pkgs.qt5.qtbase.dev}/include/QtCore"
     "-I${pkgs.qt5.qtbase.dev}/include/QtGui"
     "-I${pkgs.qt5.qtbase.dev}/include/QtOpenGL"
diff --git a/nixpkgs/pkgs/development/python-modules/pkgconfig/default.nix b/nixpkgs/pkgs/development/python-modules/pkgconfig/default.nix
index ab8c2f638b41..791905aef0f5 100644
--- a/nixpkgs/pkgs/development/python-modules/pkgconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pkgconfig/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pkgconfig";
-  version = "1.4.0";
+  version = "1.5.1";
 
   setupHook = pkgconfig.setupHook;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "048c3b457da7b6f686b647ab10bf09e2250e4c50acfe6f215398a8b5e6fcdb52";
+    sha256 = "97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/plac/default.nix b/nixpkgs/pkgs/development/python-modules/plac/default.nix
index d0e7b0d81eec..77bcf6cf4fc6 100644
--- a/nixpkgs/pkgs/development/python-modules/plac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plac/default.nix
@@ -5,18 +5,18 @@
 }:
 buildPythonPackage rec {
   pname = "plac";
-  version = "1.0.0";
+  version = "1.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b03f967f535b3bf5a71b191fa5eb09872a5cfb1e3b377efc4138995e10ba36d7";
+    sha256 = "398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f";
   };
 
   checkPhase = ''
       cd doc
       ${python.interpreter} -m unittest discover -p "*test_plac*"
     '';
-  
+
   meta = with stdenv.lib; {
     description = "Parsing the Command Line the Easy Way";
     homepage = https://github.com/micheles/plac;
diff --git a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
index 8577441cf9d2..428d88d18313 100644
--- a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, requests, pytest }:
 
 buildPythonPackage rec {
-  version = "2.4.1";
+  version = "3.4.0";
   pname = "plaid-python";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b7832f9fe0c6cd23dfdb805bcfc52e2ff06fca6604e5782b7518904c1dad6bb";
+    sha256 = "bbfad84b8c827a14bc5b0ab93e1e5c7117908e5fa4cdecaa44a037298a20b7de";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/plone-testing/default.nix b/nixpkgs/pkgs/development/python-modules/plone-testing/default.nix
index ff4020a920b9..91592596ed43 100644
--- a/nixpkgs/pkgs/development/python-modules/plone-testing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plone-testing/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "plone.testing";
-  version = "7.0.1";
+  version = "7.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "98a6e9ce8df1fdd33876e2d8c3ca3d8291612c20bd7e0811dac83b6ce10e984b";
+    sha256 = "160f130f641578fbede2e47686f1b58179efa9ff98ccdd1ad198b5d0c7e02474";
   };
 
   propagatedBuildInputs = [ six setuptools zope_testing ];
diff --git a/nixpkgs/pkgs/development/python-modules/plotly/default.nix b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
index 5cd6c1068269..a71506c61979 100644
--- a/nixpkgs/pkgs/development/python-modules/plotly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "4.1.0";
+  version = "4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "166rscpr9xbs3pwd61mivhlm1gv3chkgpk2cy0fpb86axa7z4cwk";
+    sha256 = "acc94f17452471ca3446c2ce491c4d1affb99b9ddd9eac4e05614ac4318f8780";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pluggy/default.nix b/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
index 331ba8673dd6..ecb01f252f43 100644
--- a/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pluggy";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc";
+    sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/plumbum/default.nix b/nixpkgs/pkgs/development/python-modules/plumbum/default.nix
index 13afce05ef77..d24b2dcafda8 100644
--- a/nixpkgs/pkgs/development/python-modules/plumbum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plumbum/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "plumbum";
-  version = "1.6.7";
+  version = "1.6.8";
 
   checkInputs = [ pytest ];
 
@@ -14,6 +14,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d143f079bfb60b11e9bec09a49695ce2e55ce5ca0246877bdb0818ab7c7fc312";
+    sha256 = "14mbyvc1y25lr72n1zh9ym5ngify7zdr57lxahidq03ycpwz4wc5";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/plyfile/default.nix b/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
index 3f6f3ab13bf3..0aa891cd5acf 100644
--- a/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "plyfile";
-  version = "0.7";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84ba5ee8c70a4924f64aa7edff5764b929f3b7842d53a3197d0b753818ad7089";
+    sha256 = "b119705dec157314cf504e9d2d6f7d5a76606495a778b673c2864ac92895dced";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/poetry/default.nix b/nixpkgs/pkgs/development/python-modules/poetry/default.nix
index d7e2a1db2ffb..8f1136c46546 100644
--- a/nixpkgs/pkgs/development/python-modules/poetry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poetry/default.nix
@@ -7,19 +7,22 @@
 , pyrsistent
 , pyparsing
 , cachecontrol
+, lockfile
 , pkginfo
 , html5lib
 , shellingham
+, subprocess32
 , tomlkit
 , typing
 , pathlib2
 , virtualenv
 , functools32
 , pytest
+, jsonschema
 }:
 
 let
-  cleo6 = cleo.overrideAttrs (oldAttrs: rec {
+  cleo6 = cleo.overridePythonAttrs (oldAttrs: rec {
     version = "0.6.8";
     src = fetchPypi {
       inherit (oldAttrs) pname;
@@ -27,8 +30,6 @@ let
       sha256 = "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5";
     };
   });
-
-  jsonschema3 = callPackage ./jsonschema.nix { };
   glob2 = callPackage ./glob2.nix { };
 
 in buildPythonPackage rec {
@@ -43,26 +44,29 @@ in buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py --replace \
       "requests-toolbelt>=0.8.0,<0.9.0" \
-      "requests-toolbelt>=0.8.0,<0.10.0"
+      "requests-toolbelt>=0.8.0,<0.10.0" \
+      --replace 'pyrsistent>=0.14.2,<0.15.0' 'pyrsistent>=0.14.2,<0.16.0'
   '';
 
   format = "pyproject";
 
   propagatedBuildInputs = [
+    cachy
     cleo6
     requests
     cachy
     requests-toolbelt
-    jsonschema3
+    jsonschema
     pyrsistent
     pyparsing
     cachecontrol
+    lockfile
     pkginfo
     html5lib
     shellingham
     tomlkit
   ] ++ lib.optionals (isPy27 || isPy34) [ typing pathlib2 glob2 ]
-    ++ lib.optionals isPy27 [ virtualenv functools32 ];
+    ++ lib.optionals isPy27 [ virtualenv functools32 subprocess32 ];
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions"
diff --git a/nixpkgs/pkgs/development/python-modules/poetry/jsonschema.nix b/nixpkgs/pkgs/development/python-modules/poetry/jsonschema.nix
deleted file mode 100644
index 35607b536f34..000000000000
--- a/nixpkgs/pkgs/development/python-modules/poetry/jsonschema.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
-, attrs
-, pyrsistent
-, six
-, functools32
-, lockfile
-, setuptools_scm
-}:
-
-buildPythonPackage rec {
-  pname = "jsonschema";
-  version = "3.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0c0a81564f181de3212efa2d17de1910f8732fa1b71c42266d983cd74304e20d";
-  };
-
-  nativeBuildInputs = [ setuptools_scm ];
-  propagatedBuildInputs = [
-    attrs
-    pyrsistent
-    six
-    lockfile
-  ] ++ lib.optional isPy27 functools32;
-
-  # tests for latest version rely on custom version of betterpaths that is
-  # difficult to deal with and isn't used on master
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = https://github.com/Julian/jsonschema;
-    description = "An implementation of JSON Schema validation for Python";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jakewaksbaum ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/polyline/default.nix b/nixpkgs/pkgs/development/python-modules/polyline/default.nix
new file mode 100644
index 000000000000..6a5df880fd61
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/polyline/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, flake8
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "polyline";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x60lm3ccq9zrcqlzyk041xgr1mi0k9lzyyv3cbbdiq9kb88jzvw";
+  };
+
+  propagatedBuildInputs = [ six ];
+  checkInputs = [ flake8 nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/hicsail/polyline;
+    license = licenses.mit;
+    description = "Python implementation of Google's Encoded Polyline Algorithm Format.";
+    longDescription = "polyline is a Python implementation of Google's Encoded Polyline Algorithm Format (http://goo.gl/PvXf8Y). It is essentially a port of https://github.com/mapbox/polyline built with Python 2 and 3 support in mind.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix b/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
index 7054485f3021..5f0c8cd8dad6 100644
--- a/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pomegranate";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "jmschrei";
     rev = "v${version}";
-    sha256 = "0gf7z343ag4g7pfccn1sdap3ihkaxrc9ca75awjhmsa2cyqs66df";
+    sha256 = "070ciwww1lhjmfwd5n1kcwgxwbgdfvmhjs4l156bnf08z9dlrafl";
   };
 
   propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/pony/default.nix b/nixpkgs/pkgs/development/python-modules/pony/default.nix
new file mode 100644
index 000000000000..ebda1976e2a2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix b/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
index 2b00a007f90b..7a893384996d 100644
--- a/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/wbsoft/python-poppler-qt5;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
index 7d536c83782a..b3b98b2b2ec1 100644
--- a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
+++ b/nixpkgs/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.0";
+  version = "1.5.2";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08y5k39mn5a7n69wv0hsyjqb51lazs4i4dpxp42nla2lhllnpbyr";
+    sha256 = "17rfgmgwyxyng8q7bvn369cncadqws2wgkg45q6v8337wm9jxins";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/portend/black-19.10b0.patch b/nixpkgs/pkgs/development/python-modules/portend/black-19.10b0.patch
new file mode 100644
index 000000000000..e781139e3192
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/portend/black-19.10b0.patch
@@ -0,0 +1,13 @@
+diff --git a/test_portend.py b/test_portend.py
+index b2de8c2..3f90276 100644
+--- a/test_portend.py
++++ b/test_portend.py
+@@ -21,7 +21,7 @@ def socket_infos():
+ 
+ 
+ def id_for_info(info):
+-    af, = info[:1]
++    (af,) = info[:1]
+     return str(af)
+ 
+ 
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/portend/default.nix b/nixpkgs/pkgs/development/python-modules/portend/default.nix
index 7aa66c2a3093..6d7d7b2563dd 100644
--- a/nixpkgs/pkgs/development/python-modules/portend/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/portend/default.nix
@@ -1,15 +1,16 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, setuptools_scm, tempora }:
+, pytest, setuptools_scm, tempora, pytest-black, pytestcov }:
 
 buildPythonPackage rec {
   pname = "portend";
-  version = "2.3";
+  version = "2.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7ce7d35ea262415297cbfea86226513e77b9ee5f631d3baa11992d663963719";
+    sha256 = "600dd54175e17e9347e5f3d4217aa8bcf4bf4fa5ffbc4df034e5ec1ba7cdaff5";
   };
 
+  patches = [ ./black-19.10b0.patch ];
   postPatch = ''
     substituteInPlace pytest.ini --replace "--flake8" ""
   '';
@@ -18,7 +19,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ tempora ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest pytest-black pytestcov ];
 
   checkPhase = ''
     py.test --deselect=test_portend.py::TestChecker::test_check_port_listening
diff --git a/nixpkgs/pkgs/development/python-modules/poster3/default.nix b/nixpkgs/pkgs/development/python-modules/poster3/default.nix
new file mode 100644
index 000000000000..175faa343ca7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/poster3/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, paste
+, webob
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  pname = "poster3";
+  version = "0.8.1";
+  format = "wheel"; # only redistributable available
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    python = "py3";
+    sha256 = "1b27d7d63e3191e5d7238631fc828e4493590e94dcea034e386c079d853cce14";
+  };
+
+  checkInputs = [
+    paste
+    webob
+    pyopenssl
+  ];
+
+  meta = with lib; {
+    description = "Streaming HTTP uploads and multipart/form-data encoding";
+    homepage = https://atlee.ca/software/poster/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ WhittlesJr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pox/default.nix b/nixpkgs/pkgs/development/python-modules/pox/default.nix
index 18aa9cb7369d..4b0e292ce78b 100644
--- a/nixpkgs/pkgs/development/python-modules/pox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pox/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pox";
-  version = "0.2.5";
+  version = "0.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b53fbdf02596240483dc2cb94f94cc21252ad1b1858c7b1c151afeec9022cc8";
+    sha256 = "06afe1a4a1dbf8b47f7ad5a3c1d8ada9104c64933a1da11338269a2bd8642778";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ppft/default.nix b/nixpkgs/pkgs/development/python-modules/ppft/default.nix
index 770b3a5a73e0..101c10b1d12d 100644
--- a/nixpkgs/pkgs/development/python-modules/ppft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ppft/default.nix
@@ -6,19 +6,18 @@
 
 buildPythonPackage rec {
   pname = "ppft";
-  version = "1.6.4.9";
+  version = "1.6.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5537b00afb7b247da0f59cc57ee5680178be61c8b2e21b5a0672b70a3d247791";
+    sha256 = "9e2173042edd5cc9c7bee0d7731873f17fcdce0e42e4b7ab68857d0de7b631fc";
   };
 
-  checkPhase = ''
-    python -m ppft.tests
-  '';
-
   propagatedBuildInputs = [ six ];
 
+  # tests no longer packages on pypi
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Distributed and parallel python";
     homepage = https://github.com/uqfoundation;
diff --git a/nixpkgs/pkgs/development/python-modules/prance/default.nix b/nixpkgs/pkgs/development/python-modules/prance/default.nix
new file mode 100644
index 000000000000..972520793a40
--- /dev/null
+++ b/nixpkgs/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.17.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a128d0d5f639a6a19eefedd787a6ce9603634c3908927b1215653e4a8375195f";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/praw/6.3.nix b/nixpkgs/pkgs/development/python-modules/praw/6.3.nix
new file mode 100644
index 000000000000..6c2201d1f1d2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/praw/6.3.nix
@@ -0,0 +1,53 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, betamax
+, betamax-serializers
+, betamax-matchers
+, mock
+, six
+, pytestrunner
+, prawcore
+, pytest
+, requests-toolbelt
+, update_checker
+, websocket_client
+}:
+
+buildPythonPackage rec {
+  pname = "praw";
+  version = "6.3.1";
+
+  src = fetchFromGitHub {
+    owner = "praw-dev";
+    repo = "praw";
+    rev = "v${version}";
+    sha256 = "0by89aw7m803dvjcc33m9390msjm6v5v8g3k8ink9gfm421lw8ky";
+  };
+
+  nativeBuildInputs = [
+    pytestrunner
+  ];
+
+  propagatedBuildInputs = [
+    mock
+    prawcore
+    update_checker
+    websocket_client
+  ];
+
+  checkInputs = [
+    betamax
+    betamax-serializers
+    betamax-matchers
+    mock
+    pytest
+    requests-toolbelt
+    six
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Python Reddit API wrapper";
+    homepage = "https://praw.readthedocs.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/praw/default.nix b/nixpkgs/pkgs/development/python-modules/praw/default.nix
index 2a3d85c2b35b..14166b4f43cb 100644
--- a/nixpkgs/pkgs/development/python-modules/praw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/praw/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "6.3.1";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = "praw";
     rev = "v${version}";
-    sha256 = "0by89aw7m803dvjcc33m9390msjm6v5v8g3k8ink9gfm421lw8ky";
+    sha256 = "0j92wqyppif2k80zhzq30b04r8ljwjviply400kn4rjn54hxd4hb";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,6 @@ buildPythonPackage rec {
     description = "Python Reddit API wrapper";
     homepage = "https://praw.readthedocs.org/";
     license = licenses.bsd2;
-    platforms = platforms.all;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
index 282e8bac069e..f16937692c20 100644
--- a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildPythonPackage, fetchPypi
 , requests
 , testfixtures, mock, requests_toolbelt
-, betamax, betamax-serializers, betamax-matchers
+, betamax, betamax-serializers, betamax-matchers, pytest
 }:
 
 buildPythonPackage rec {
@@ -24,8 +24,13 @@ buildPythonPackage rec {
     betamax-serializers
     betamax-matchers
     requests_toolbelt
+    pytest
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with stdenv.lib; {
     description = "Low-level communication layer for PRAW";
     homepage = https://praw.readthedocs.org/;
diff --git a/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
index 7b5377cc15aa..d3808bbb9110 100644
--- a/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "1.18.2";
+  version = "1.21.0";
 
   src = fetchPypi {
     inherit version;
     pname = "pre_commit";
-    sha256 = "1y6gd6nq8mfyjxknrgdryvn1bj5arvwaz2r00h41g054lfg3iki1";
+    sha256 = "0l5qg1cw4a0670m96s0ryy5mqz5aslfrrnwpriqgmrnsgdixhj4g";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/preggy/default.nix b/nixpkgs/pkgs/development/python-modules/preggy/default.nix
index b88366de88fa..cf2867322f7b 100644
--- a/nixpkgs/pkgs/development/python-modules/preggy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/preggy/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "preggy";
-  version = "1.4.2";
+  version = "1.4.4";
 
   propagatedBuildInputs = [ six unidecode ];
   checkInputs = [ nose yanc ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g4ifjh01dkmdzs4621ahk8hpkngid1xxhl51jvzy4h4li4590hw";
+    sha256 = "25ba803afde4f35ef543a60915ced2e634926235064df717c3cb3e4e3eb4670c";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/premailer/default.nix b/nixpkgs/pkgs/development/python-modules/premailer/default.nix
index f19f2dfe265d..df9d58013025 100644
--- a/nixpkgs/pkgs/development/python-modules/premailer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/premailer/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "premailer";
-  version = "3.3.0";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93be4f197e9d2a87a8fe6b5b6a79b64070dbb523108dfaf2a415b4558fc78ec1";
+    sha256 = "08pshx7a110k4ll20x0xhpvyn3kkipkrbgxjjn7ncdxs54ihdhgw";
   };
 
   buildInputs = [ mock nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/preshed/default.nix b/nixpkgs/pkgs/development/python-modules/preshed/default.nix
index 287b1294b5fe..60f551bec16c 100644
--- a/nixpkgs/pkgs/development/python-modules/preshed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/preshed/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, murmurhash
 , pytest
 , cython
 , cymem
@@ -8,27 +9,23 @@
 }:
 buildPythonPackage rec {
   pname = "preshed";
-  version = "2.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rd943zp4gyspajqm5qxzndxziyh51grx0zcw23w8r9r65s1rq6s";
+    sha256 = "1jrnci1pw9yv7j1a9b2q6c955l3gb8fv1q4d0id6s7bwr5l39mv1";
   };
 
   propagatedBuildInputs = [
    cython
    cymem
+   murmurhash
   ];
 
-  buildInputs = [
+  checkInputs = [
     pytest
   ];
 
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "wheel>=0.32.0,<0.33.0" "wheel>=0.31.0"
-  '';
-
   checkPhase = ''
     ${python.interpreter} setup.py test
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/prison/default.nix b/nixpkgs/pkgs/development/python-modules/prison/default.nix
new file mode 100644
index 000000000000..4993976b51df
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix b/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
index e348ace06b4f..aa6c9b709260 100644
--- a/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
@@ -16,18 +16,13 @@
 
 buildPythonPackage rec {
   pname = "progressbar2";
-  version = "3.42.0";
+  version = "3.47.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a26r022lvz0vvwvhq2rfyl6h0hxbayvgbnajpnc0fc8f4gzr1n0";
+    sha256 = "7538d02045a1fd3aa2b2834bfda463da8755bd3ff050edc6c5ddff3bc616215f";
   };
 
-  postPatch = ''
-    rm -r tests/__pycache__
-    rm tests/*.pyc
-  '';
-
   propagatedBuildInputs = [ python-utils ];
   nativeBuildInputs = [ pytestrunner ];
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix
index 67b828387980..17c04df814fa 100644
--- a/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "prometheus_client";
-  version = "0.5.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e8c11ff5ca53de6c3d91e1510500611cafd1d247a937ec6c588a0a7cc3bef93c";
+    sha256 = "71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix b/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix
index 133a1096863f..c296af18de97 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "prompt_toolkit";
-  version = "1.0.16";
+  version = "1.0.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c1cedd626e08b8ee830ee65897de754113ff3f3035880030c08b01674d85c5b4";
+    sha256 = "dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126";
   };
   checkPhase = ''
     rm prompt_toolkit/win32_types.py
diff --git a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix
index 78db87ce3cbe..dd3c8d16a51e 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "prompt_toolkit";
-  version = "2.0.9";
+  version = "2.0.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1";
+    sha256 = "1nr990i4b04rnlw1ghd0xmgvvvhih698mb6lb6jylr76cs7zcnpi";
   };
   checkPhase = ''
     py.test -k 'not test_pathcompleter_can_expanduser'
diff --git a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
index d5ff4b04c595..e414dff8aa17 100644
--- a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchpatch, python, buildPythonPackage, isPy37
-, protobuf, google_apputils, pyext, libcxx
+, protobuf, google_apputils, pyext, libcxx, isPy27
 , disabled, doCheck ? true }:
 
 with stdenv.lib;
 
 buildPythonPackage {
   inherit (protobuf) name src version;
-  inherit disabled doCheck;
+  inherit disabled;
+  doCheck = doCheck && !isPy27; # setuptools>=41.4 no longer collects correctly on python2
 
-  NIX_CFLAGS_COMPILE =
+  NIX_CFLAGS_COMPILE = toString (
     # work around python distutils compiling C++ with $CC
     optional stdenv.isDarwin "-I${libcxx}/include/c++/v1"
-    ++ optional (versionOlder protobuf.version "2.7.0") "-std=c++98";
+    ++ optional (versionOlder protobuf.version "2.7.0") "-std=c++98"
+  );
 
   propagatedBuildInputs = [ google_apputils ];
   propagatedNativeBuildInputs = [ protobuf ];  # For protoc.
diff --git a/nixpkgs/pkgs/development/python-modules/prox-tv/default.nix b/nixpkgs/pkgs/development/python-modules/prox-tv/default.nix
new file mode 100644
index 000000000000..2568620f5393
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/prox-tv/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, blas
+, buildPythonPackage
+, cffi
+, fetchFromGitHub
+, liblapack
+, nose
+, numpy
+, openblas
+, useOpenblas ? true
+}:
+
+buildPythonPackage {
+  pname = "prox-tv";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "albarji";
+    repo = "proxTV";
+    rev = "e621585d5aaa7983fbee68583f7deae995d3bafb";
+    sha256 = "0mlrjbb5rw78dgijkr3bspmsskk6jqs9y7xpsgs35i46dvb327q5";
+  };
+
+  patches = lib.optional useOpenblas ./use-openblas.patch;
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    cffi
+  ];
+
+  buildInputs = (
+    if useOpenblas then
+      [ openblas ]
+    else
+      [ blas liblapack ]
+  );
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = https://github.com/albarji/proxTV;
+    description = "A toolbox for fast Total Variation proximity operators";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/prox-tv/use-openblas.patch b/nixpkgs/pkgs/development/python-modules/prox-tv/use-openblas.patch
new file mode 100644
index 000000000000..e96faa4d6000
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/prox-tv/use-openblas.patch
@@ -0,0 +1,11 @@
+index f100b35..448bbaf 100644
+--- a/prox_tv/prox_tv_build.py
++++ b/prox_tv/prox_tv_build.py
+@@ -109,6 +109,6 @@ ffi.set_source(
+     define_macros=[('NOMATLAB', 1)],
+     extra_compile_args=extra_compile_args,
+     extra_link_args=extra_link_args,
+-    libraries=['blas', 'lapack'],
++    libraries=['openblas'],
+     include_dirs=['/usr/include']
+ )
diff --git a/nixpkgs/pkgs/development/python-modules/psd-tools/default.nix b/nixpkgs/pkgs/development/python-modules/psd-tools/default.nix
index 5f6c23beb028..edf502171e78 100644
--- a/nixpkgs/pkgs/development/python-modules/psd-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psd-tools/default.nix
@@ -1,21 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi,
-  docopt, pillow
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, docopt
+, pillow
+, enum34
 }:
 
 buildPythonPackage rec {
   pname = "psd-tools";
-  version = "1.4";
+  version = "1.8.35";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "379211cf98ebafbe129088a5c92f575e1ccd7987c40bad9520c209e51008df00";
+  };
+
+  propagatedBuildInputs = [
+    docopt
+    pillow
+  ] ++ lib.optionals isPy27 [ enum34 ];
 
   meta = {
     description = "Python package for reading Adobe Photoshop PSD files";
     homepage = https://github.com/kmike/psd-tools;
     license = lib.licenses.mit;
+    broken = true; # missing packbits from nixpkgs
   };
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0g2vss5hwlk96w0yj42n7ia56mly51n92f2rlbrifhn8hfbxd38s";
-  };
-
-  propagatedBuildInputs = [ docopt pillow ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/psutil/default.nix b/nixpkgs/pkgs/development/python-modules/psutil/default.nix
index 37c19f5c14bd..388716cb7005 100644
--- a/nixpkgs/pkgs/development/python-modules/psutil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psutil/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.6.3";
+  version = "5.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3";
+    sha256 = "ffad8eb2ac614518bbe3c0b8eb9dffdb3a8d2e3a7d5da51c5b974fb723a5c5aa";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix b/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
index dae97d87ef2a..2c78a66d86a3 100644
--- a/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "psycopg2";
-  version = "2.7.7";
+  version = "2.8.4";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4526d078aedd5187d0508aa5f9a01eae6a48a470ed678406da94b4cd6524b7e";
+    sha256 = "f898e5cc0a662a9e12bde6f931263a1bbd350cfb18e1d5336a12927851825bb6";
   };
 
   buildInputs = lib.optional stdenv.isDarwin openssl;
diff --git a/nixpkgs/pkgs/development/python-modules/ptpython/default.nix b/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
index d48e42ef2646..01f9dda8f2c1 100644
--- a/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, prompt_toolkit, docopt , jedi, pygments }:
+{ stdenv, buildPythonPackage, fetchPypi, prompt_toolkit, docopt , jedi, pygments, isPy3k }:
 
 buildPythonPackage rec {
   pname = "ptpython";
-  version = "2.0.4";
+  version = "2.0.6";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1m34jbwj3j3762mg1vynpgciqw4kqdzdqjvd62mwhbjkly7ddsgb";
+    sha256 = "90e24040e82de4abae0bbe6e352d59ae6657e14e1154e742c0038679361b052f";
   };
 
   propagatedBuildInputs = [ prompt_toolkit docopt jedi pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffix/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffix/default.nix
index 9c90161c6eaa..027b017c23ec 100644
--- a/nixpkgs/pkgs/development/python-modules/publicsuffix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/publicsuffix/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "publicsuffix";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1adx520249z2cy7ykwjr1k190mn2888wqn9jf8qm27ly4qymjxxf";
+    sha256 = "22ce1d65ab6af5e9b2122e2443facdb93fb5c4abf24138099cb10fe7989f43b6";
   };
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/pudb/default.nix b/nixpkgs/pkgs/development/python-modules/pudb/default.nix
index bcba04fdfd27..789a9484d730 100644
--- a/nixpkgs/pkgs/development/python-modules/pudb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pulp/default.nix b/nixpkgs/pkgs/development/python-modules/pulp/default.nix
index aacac72d2aaa..414c21b263c0 100644
--- a/nixpkgs/pkgs/development/python-modules/pulp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pulp/default.nix
@@ -2,14 +2,13 @@
 
 buildPythonPackage rec {
   pname = "PuLP";
-  version = "1.6.8";
+  version = "2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1irzpfnnm5f0qf8y9ddxi489nwixyj0q4zlvqafm621bijkxdv6g";
+    sha256 = "fb0b0e8073aa82f3459c4241b9625e0ccd26c0838ad8253c6bc67e041901b765";
   };
 
-  buildInputs = [];
   propagatedBuildInputs = [ pyparsing ];
 
   # only one test that requires an extra
diff --git a/nixpkgs/pkgs/development/python-modules/purepng/default.nix b/nixpkgs/pkgs/development/python-modules/purepng/default.nix
index fbaa1cfad710..c6f28067bf69 100644
--- a/nixpkgs/pkgs/development/python-modules/purepng/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/purepng/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage {
       sha256 = "1ag0pji3p012hmj8kadcd0vydv9702188c0isizsi964qcl4va6m";
     })
   ];
-  patchFlags = "-p1 -d code";
+  patchFlags = [ "-p1" "-d" "code" ];
 
   # cython is optional - if not supplied, the "pure python" implementation will be used
   nativeBuildInputs = [ cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/pvlib/default.nix b/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
index cdd6011aba2e..7e561089a183 100644
--- a/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "pvlib";
-  version = "0.6.3";
+  version = "0.7.0";
 
   # Support for Python <3.5 dropped in 0.6.3 on June 1, 2019.
   disabled = pythonOlder "3.5";
 
   src = fetchPypi{
     inherit pname version;
-    sha256 = "03nvgpmnscd7rh9jwm2h579zvriq5lva6rsdhb6jckpra5wjkn69";
+    sha256 = "ee935ba52f1d4a514cc3baa743db0377af732952faf800f20ffd8071fa2107c2";
   };
 
   checkInputs = [ pytest mock pytest-mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/pwntools/default.nix b/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
index da7ddbc7dcb7..72ab1b5c405f 100644
--- a/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
@@ -5,28 +5,18 @@
 , requests, tox, unicorn, intervaltree, fetchpatch }:
 
 buildPythonPackage rec {
-  version = "3.12.0";
+  version = "4.0.0b0";
   pname = "pwntools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a7yhsyqxb4xf2r6mbn3p5zx1wp89lxq7lj34y4zbin6ns5929s";
+    sha256 = "11f7x7rjad1nawn3r524lzxgz3nk89c6s3xycrscn3n86hh0zgid";
   };
 
   propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pyserial dateutil requests tox unicorn intervaltree ];
 
-  disabled = isPy3k;
   doCheck = false; # no setuptools tests for the package
 
-  # Can be removed when 3.13.0 is released
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/Gallopsled/pwntools/commit/9859f54a21404174dd17efee02f91521a2dd09c5.patch";
-      sha256 = "0p0h87npn1mwsd8ciab7lg74bk3ahlk5r0mjbvx4jhihl2gjc3z2";
-    })
-  ];
-
-
   meta = with stdenv.lib; {
     homepage = "http://pwntools.com";
     description = "CTF framework and exploit development library";
diff --git a/nixpkgs/pkgs/development/python-modules/py-vapid/default.nix b/nixpkgs/pkgs/development/python-modules/py-vapid/default.nix
index d5af1c1c33dd..b0ca5c262cfd 100644
--- a/nixpkgs/pkgs/development/python-modules/py-vapid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-vapid/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "py-vapid";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b3g4ljkpi6ka5n63bl5y47r3qhxjmr6qfamqwxnmna2567b5las";
+    sha256 = "03057a3270ddc7d53c31e2915083d01ba8a3169f4032cab3dd9f4ebe44e2564a";
   };
 
   propagatedBuildInputs = [ cryptography ];
diff --git a/nixpkgs/pkgs/development/python-modules/py/default.nix b/nixpkgs/pkgs/development/python-modules/py/default.nix
index 9c5ada22b146..7b84d72fde48 100644
--- a/nixpkgs/pkgs/development/python-modules/py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "py";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lsy1gajva083pzc7csj1cvbmminb7b4l6a0prdzyb3fd829nqyw";
+    sha256 = "5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa";
   };
 
   # Circular dependency on pytest
diff --git a/nixpkgs/pkgs/development/python-modules/py2bit/default.nix b/nixpkgs/pkgs/development/python-modules/py2bit/default.nix
new file mode 100644
index 000000000000..7699ccab3a2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/py2bit/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "py2bit";
+  version = "0.3.0";
+
+  checkInput = [ pytest ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vw2nvw1yrl7ikkqsqs1pg239yr5nspvd969r1x9arms1k25a1a5";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/deeptools/py2bit";
+    description = "File access to 2bit files";
+    longDescription = ''
+        A python extension, written in C, for quick access to 2bit files. The extension uses lib2bit for file access.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ scalavision ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/py3buddy/default.nix b/nixpkgs/pkgs/development/python-modules/py3buddy/default.nix
new file mode 100644
index 000000000000..459922c9bafd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/py3buddy/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, python
+, pyusb
+}:
+
+stdenv.mkDerivation rec {
+  pname = "py3buddy";
+  version = "unstable-2019-09-29";
+
+  src = fetchFromGitHub {
+    owner = "armijnhemel";
+    repo = pname;
+    rev = "2b28908454645117368ca56df67548c93f4e0b03";
+    sha256 = "12ar4kbplavndarkrbibxi5i607f5sfia5myscvalqy78lc33798";
+  };
+
+  propagatedBuildInputs = [ pyusb ];
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontCheck = true;
+
+  installPhase = ''
+    install -D py3buddy.py $out/${python.sitePackages}/py3buddy.py
+  '';
+
+  postInstall = ''
+    install -D 99-ibuddy.rules $out/lib/udev/rules.d/99-ibuddy.rules
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Code to work with the iBuddy MSN figurine";
+    homepage = "https://github.com/armijnhemel/py3buddy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ prusnak ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/py3dns/default.nix b/nixpkgs/pkgs/development/python-modules/py3dns/default.nix
index 7ac093cbc577..5a28a045c3e4 100644
--- a/nixpkgs/pkgs/development/python-modules/py3dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3dns/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "py3dns";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e88c0648c4d38a880f08aeb05a6e5cb48b8ce2602d381caafc6c71698ee3c21";
+    sha256 = "1r25f0ys5p37bhld7m7n4gb0lrysaym3w318w2f8bncq7r3d81qz";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
index d3ed2659f6a6..fe0827c4f8f6 100644
--- a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
@@ -29,5 +29,6 @@ buildPythonPackage rec {
     license = with stdenv.lib.licenses; [ gpl3 ];
     maintainers = with stdenv.lib.maintainers; [ vinymeuh ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/py3status/default.nix b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
index 31d31f714b70..d2a2b50d3c05 100644
--- a/nixpkgs/pkgs/development/python-modules/py3status/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
@@ -8,6 +8,8 @@
 , pydbus
 , pygobject3
 , pyserial
+, setuptools
+, dbus-python
 
 , file
 , acpi
@@ -22,15 +24,17 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.19";
+  version = "3.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10ikvdx39phr7n01qa6y9i5lqg3blv0d6y1pwqniczaf558cfp3l";
+    sha256 = "5e9884dde128e1bd82f8746e8f8806c8d7d89d95ce9ed7bacf7cc5fdb094aa21";
   };
 
   doCheck = false;
-  propagatedBuildInputs = [ pytz requests tzlocal i3ipc pydbus pygobject3 pyserial ];
+  propagatedBuildInputs = [
+    pytz requests tzlocal i3ipc pydbus pygobject3 pyserial setuptools dbus-python
+  ];
   buildInputs = [ file ];
   prePatch = ''
     sed -i -e "s|'file|'${file}/bin/file|" py3status/parse_config.py
diff --git a/nixpkgs/pkgs/development/python-modules/pyGithub/default.nix b/nixpkgs/pkgs/development/python-modules/pyGithub/default.nix
index a4e3cada1fc1..3f5d3a5bd8c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyGithub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyGithub/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "PyGithub";
-  version = "1.43.8";
+  version = "1.45";
 
   src = fetchFromGitHub {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "v${version}";
-    sha256 = "1625v558xga5mwhl9jqmibywy5qafmg1vqrirqz6zfq1la1d22mw";
+    sha256 = "1aiyqwdxpcr7yzz7aqmmjn1g2ajs5bpbln4sax5zw19dqi6qgp9z";
   };
 
   propagatedBuildInputs = [ python-jose pyjwt requests deprecated httpretty ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
index 927963cec8d2..6aeb37cfff6b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "18.11.0";
+  version = "19.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b96292cc409e0f222b6fecff96afd2e19cfab5d1f2606344907751d42301263a";
+    sha256 = "b3f636b467864319d7ded1558f86bb305b8612a274f5d443a62dc5eceb1b7176";
   };
 
   propagatedBuildInputs = [ pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyannotate/default.nix b/nixpkgs/pkgs/development/python-modules/pyannotate/default.nix
index db48bb06bc0f..06dcdf83bcca 100644
--- a/nixpkgs/pkgs/development/python-modules/pyannotate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyannotate/default.nix
@@ -3,22 +3,22 @@
 , fetchPypi
 , pythonOlder
 , six
-, mypy_extensions
+, mypy-extensions
 , typing
 , pytest
 }:
 
 buildPythonPackage rec {
-  version = "1.0.7";
+  version = "1.2.0";
   pname = "pyannotate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54e6035a8601248992e17734034e6555842c6ea9863f90c15d14fe76a184be07";
+    sha256 = "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84";
   };
 
   checkInputs = [ pytest ];
-  propagatedBuildInputs = [ six mypy_extensions ]
+  propagatedBuildInputs = [ six mypy-extensions ]
     ++ stdenv.lib.optionals (pythonOlder "3.5") [ typing ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix b/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
index 446ec81bb4f8..4ed93f635519 100644
--- a/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyasn1-modules";
-  version = "0.2.5";
+  version = "0.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96";
+    sha256 = "0c35a52e00b672f832e5846826f1fb7507907f7d52fba6faa9e3c4cbe874fe4b";
   };
 
   propagatedBuildInputs = [ pyasn1 ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyasn1/default.nix b/nixpkgs/pkgs/development/python-modules/pyasn1/default.nix
index f44cfef8a29e..e1d61866f90d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyasn1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyasn1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyasn1";
-  version = "0.4.5";
+  version = "0.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7";
+    sha256 = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
index 13f8efbb5813..5036307982bd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
@@ -1,17 +1,20 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "1.10";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13ca794416707b8cefcb7584bbfff65a4640fcc2510ad73e818fef94d424fca6";
+    sha256 = "8fbcc3a88f8c51d190b697c80515e67530143de71f89cc6ecf99bbf2cbf3ef30";
   };
 
+  propagatedBuildInputs = [ requests ];
+
   # Upstream provides no unit tests.
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
index 783a36dd2ded..ae2780e1dc35 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.3.12";
+  version = "0.3.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "135xvy1nn0x5knc7l05amfs837xkx2gcg3lpp69ya9kqs8j6brgp";
+    sha256 = "8fc1a903a9d666e4109127410d35a83458559a86bc0de3fe1ffb3f15d2d653b3";
   };
 
   propagatedBuildInputs = [ srptools aiohttp zeroconf ed25519 cryptography curve25519-donna tox ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix b/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
index 1034c9d844d9..85140d3db49b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.15";
+  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 = "0p4x21rg8h7alrg2zk6rbgc3fj77fiyky4zzvziz2bp5jpx1pvzp";
+    sha256 = "0fys26p7xhbnbdzp80zm6n3mragp38p08nyrsnilfgnlpi6rjpg0";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
index afc353d182c4..6c32de593c1d 100644
--- a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "0.5.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b26263fb6aff11b1e62965c3bac205c4ebe147f37c213191384acafea7f8ab50";
+    sha256 = "6ced40531bffc81bafc790d5c0d2f752e281b3b00fd6ff4e79385c625e5dbab1";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybfd/default.nix b/nixpkgs/pkgs/development/python-modules/pybfd/default.nix
index f9737b935833..29ae5ed3c5c8 100644
--- a/nixpkgs/pkgs/development/python-modules/pybfd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybfd/default.nix
@@ -24,5 +24,6 @@ buildPythonPackage {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ orivej ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pybids/default.nix b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
index 8779ad36ca2a..dc9cbefe0b57 100644
--- a/nixpkgs/pkgs/development/python-modules/pybids/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
@@ -15,12 +15,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.9.2";
+  version = "0.10.0";
   pname = "pybids";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16c0v800yklp043prbrx1357vx1mq5gddxz5zqlcnf4akhzcqrxs";
+    sha256 = "b37ba89eb7407bbfdf8e26e1230b6ef452da3d986df5eed21aab96be61b6e844";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix b/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix
new file mode 100644
index 000000000000..be54a38cd996
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, numpy
+, zlib
+}:
+
+buildPythonPackage rec {
+  pname = "pyBigWig";
+  version = "0.3.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1";
+  };
+
+  buildInputs = [ zlib ];
+
+  checkInputs = [ numpy pytest ];
+
+  meta = with lib; {
+    homepage = "https://github.com/deeptools/pyBigWig";
+    description = "File access to bigBed files, and read and write access to bigWig files";
+    longDescription = ''
+      A python extension, written in C, for quick access to bigBed files
+      and access to and creation of bigWig files. This extension uses
+      libBigWig for local and remote file access.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ scalavision ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch b/nixpkgs/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch
new file mode 100644
index 000000000000..d5b669dab7a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch
@@ -0,0 +1,53 @@
+From a027e2590d5d2d384d23568a8d47b7095054b6b7 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Thu, 19 Dec 2019 19:51:07 +0100
+Subject: [PATCH] Find include directory
+
+---
+ pybind11/__init__.py | 33 +--------------------------------
+ 1 file changed, 1 insertion(+), 32 deletions(-)
+
+diff --git a/pybind11/__init__.py b/pybind11/__init__.py
+index c625e8c..c8a707b 100644
+--- a/pybind11/__init__.py
++++ b/pybind11/__init__.py
+@@ -2,35 +2,4 @@ from ._version import version_info, __version__  # noqa: F401 imported but unuse
+ 
+ 
+ def get_include(user=False):
+-    from distutils.dist import Distribution
+-    import os
+-    import sys
+-
+-    # Are we running in a virtual environment?
+-    virtualenv = hasattr(sys, 'real_prefix') or \
+-        sys.prefix != getattr(sys, "base_prefix", sys.prefix)
+-
+-    # Are we running in a conda environment?
+-    conda = os.path.exists(os.path.join(sys.prefix, 'conda-meta'))
+-
+-    if virtualenv:
+-        return os.path.join(sys.prefix, 'include', 'site',
+-                            'python' + sys.version[:3])
+-    elif conda:
+-        if os.name == 'nt':
+-            return os.path.join(sys.prefix, 'Library', 'include')
+-        else:
+-            return os.path.join(sys.prefix, 'include')
+-    else:
+-        dist = Distribution({'name': 'pybind11'})
+-        dist.parse_config_files()
+-
+-        dist_cobj = dist.get_command_obj('install', create=True)
+-
+-        # Search for packages in user's home directory?
+-        if user:
+-            dist_cobj.user = user
+-            dist_cobj.prefix = ""
+-        dist_cobj.finalize_options()
+-
+-        return os.path.dirname(dist_cobj.install_headers)
++    return "@include@"
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index 37e55617023c..a8c66a49fb8c 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -1,49 +1,70 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
 , python
 , pytest
 , cmake
-, numpy ? null
-, eigen ? null
-, scipy ? null
+, catch
+, numpy
+, eigen
+, scipy
 }:
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.3.0";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11b6dniri8m05spfd2a19irz82shf4sdca73566bniggrf3zclnf";
+    sha256 = "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd";
   };
 
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ catch ];
+
+  cmakeFlags = [
+    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+  ] ++ lib.optionals (python.isPy3k && !stdenv.cc.isClang) [
+  # 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;
+
   patches = [
-    (fetchpatch {
-      url = https://github.com/pybind/pybind11/commit/44a40dd61e5178985cfb1150cf05e6bfcec73042.patch;
-      sha256 = "047nzyfsihswdva96hwchnp4gj2mlbiqvmkdnhxrfi9sji8x31ka";
-    })
-    (fetchpatch {
-      name = "pytest-4-excinfo-fix.patch";
-      url = https://github.com/pybind/pybind11/commit/9fd4712121fdbb6202a35be4c788525e6c8ab826.patch;
-      sha256 = "07jjv8jlbszvr2grpm5xqxjac7jb0y68lgb1jcbb93k9vyp1hr33";
-    })
+    ./0001-Find-include-directory.patch
   ];
 
-  dontUseCmakeConfigure = true;
+  postPatch = ''
+    substituteInPlace pybind11/__init__.py --subst-var-by include "$out/include"
+  '';
 
-  checkInputs = [ pytest cmake ]
-    ++ (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
+  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
   '';
 
+  checkInputs = [
+    pytest
+    numpy
+    scipy
+  ];
+
   meta = {
     homepage = https://github.com/pybind/pybind11;
     description = "Seamless operability between C++11 and Python";
diff --git a/nixpkgs/pkgs/development/python-modules/pybindgen/default.nix b/nixpkgs/pkgs/development/python-modules/pybindgen/default.nix
index a322518979a3..79c015576a5b 100644
--- a/nixpkgs/pkgs/development/python-modules/pybindgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybindgen/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchPypi, buildPythonPackage, isPy3k, setuptools_scm, pygccxml }:
 buildPythonPackage rec {
   pname = "PyBindGen";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l9pz4s7p82ddf9nq56y1fk84j5dbsff1r2xnfily0m7sahyvc8g";
+    sha256 = "5615f6b5d9b8aec86d69acedd050ecb5eb7d1338436c3667e345f800a2658f9f";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
index 180b7c8d18f5..e7ad1ef2d351 100644
--- a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.13";
+  version = "0.0.17";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6f147694ee5cbab1dea494454c11bd254e1c214d96d057cba27894a87210f1b";
+    sha256 = "f212f0df8a946c0fa25f0c20c3c9decd9ddc4dbd9b48592a3283e7481112923e";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix b/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
index 45d907df2233..878654cef163 100644
--- a/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildPythonPackage, fetchPypi, docutils, pybtex, six }:
 
 buildPythonPackage rec {
-  version = "0.2.1";
+  version = "0.2.2";
   pname = "pybtex-docutils";
 
   doCheck = false;
@@ -9,7 +9,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0dqk4lplij7rbqqi4dbpw3wzr4wj08ysswvdibls6s0x3ij7bc74";
+    sha256 = "ea90935da188a0f4de2fe6b32930e185c33a0e306154322ccc12e519ebb5fa7d";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/pybullet/default.nix b/nixpkgs/pkgs/development/python-modules/pybullet/default.nix
index 5a1d8d370c18..d7b46f07749d 100644
--- a/nixpkgs/pkgs/development/python-modules/pybullet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybullet/default.nix
@@ -1,21 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 buildPythonPackage rec {
   pname = "pybullet";
-  version = "2.4.9";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bcb5aaca2b8adf94a04fd5206eea113ddc1993c9f13ab39f4a37e98f92b6d7db";
+    sha256 = "c6da064687ae481c73b744b9f3a62d8231349a6bf368d7a2e564f71ef73e9403";
   };
 
   buildInputs = [
-    libGLU_combined
+    libGLU libGL
     xorg.libX11
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
index ca6f72847158..c38366894dc6 100644
--- a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.18.1";
+  version = "1.18.2";
 
   format = "other";
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "v${version}";
-    sha256 = "0f4l7d1ibkk8xdspyv5zx8fah9z3x775bd91zirnp37vlgqds7xj";
+    sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycares/default.nix b/nixpkgs/pkgs/development/python-modules/pycares/default.nix
index f68a10d6186e..22f519c04865 100644
--- a/nixpkgs/pkgs/development/python-modules/pycares/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycares/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pycares";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b253f5dcaa0ac7076b79388a3ac80dd8f3bd979108f813baade40d3a9b8bf0bd";
+    sha256 = "663c000625725d3a63466a674df4ee7f62bf8ca1ae8a0b87a6411eb811e0e794";
   };
 
   buildInputs = [ c-ares ];
diff --git a/nixpkgs/pkgs/development/python-modules/pycdio/default.nix b/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
index 4a5577d7e0bb..5b1d774c1695 100644
--- a/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
@@ -4,20 +4,23 @@
 , setuptools
 , nose
 , pkgs
-, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "pycdio";
-  version = "2.0.0";
-  disabled = !isPy27;
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a1h0lmfl56a2a9xqhacnjclv81nv3906vdylalybxrk4bhrm3hj";
+    sha256 = "01b7vqqfry071p60sabydym7r3m3rxszyqpdbs1qi5rk2sfyblnn";
   };
 
-  prePatch = "sed -i -e '/DRIVER_BSDI/d' pycdio.py";
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace 'library_dirs=library_dirs' 'library_dirs=[dir.decode("utf-8") for dir in library_dirs]' \
+      --replace 'include_dirs=include_dirs' 'include_dirs=[dir.decode("utf-8") for dir in include_dirs]' \
+      --replace 'runtime_library_dirs=runtime_lib_dirs' 'runtime_library_dirs=[dir.decode("utf-8") for dir in runtime_lib_dirs]'
+  '';
 
   preConfigure = ''
     patchShebangs .
diff --git a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
index ead5a24bbdbe..e1c5df1c31c6 100644
--- a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "3.2.3";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fhh3djb6chs23j46hwzm1rd6hypkl517vjmmg44rxnslkcl7dhb";
+    sha256 = "b6979f1ddce1ff8760586aa6b8828290964b38f34c01aa1380ab1740330eeee2";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/pycm/default.nix b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
new file mode 100644
index 000000000000..e8daa3820769
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, numpy, pytest }:
+
+buildPythonPackage rec {
+  pname = "pycm";
+  version = "2.5";
+
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner  = "sepandhaghighi";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0zfv20hd7zq95sflsivjk47b0sm7q76w7fv2i2mafn83ficzx0p0";
+  };
+
+  # remove a trivial dependency on the author's `art` Python ASCII art library
+  postPatch = ''
+    rm pycm/__main__.py
+    substituteInPlace setup.py --replace '=get_requires()' '=[]'
+  '';
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ numpy ];
+
+  checkPhase = ''
+    pytest Test/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Multiclass confusion matrix library";
+    homepage = https://pycm.ir;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix b/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
index 23ed4917cc58..fd3eb1b4c187 100644
--- a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycountry/default.nix b/nixpkgs/pkgs/development/python-modules/pycountry/default.nix
index 99ba6845fa08..aec477d36a0d 100644
--- a/nixpkgs/pkgs/development/python-modules/pycountry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycountry/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pycountry";
-  version = "19.7.15";
+  version = "19.8.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15lhv18za0zv36laksr86rszjhp0slmqzcylm6ds9vpd7gyqprb8";
+    sha256 = "1jxkdjffrhn0il0nm14dlzxpd6f3v1hbxzxsprcksafgmm0almrw";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
index e4b66b907cae..17bb7c9dcd03 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage }:
 
 buildPythonPackage rec {
-  version = "3.7.3";
+  version = "3.9.4";
   pname = "pycryptodome";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a222250e43f3c659b4ebd5df3e11c2f112aab6aef58e38af55ef5678b9f0636";
+    sha256 = "a168e73879619b467072509a223282a02c8047d932a48b74fbd498f27224aa04";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
index 62613c747654..bf6ac65fc7f6 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.7.3";
+  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 = "b70fe991564e178af02ccf89435a8f9e8d052707a7c4b95bf6027cb785da3175";
+    sha256 = "22d970cee5c096b9123415e183ae03702b2cd4d3ba3f0ced25c4e1aba3967167";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptopp/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptopp/default.nix
index 8bb472d8fde7..25ac99082c0a 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptopp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptopp/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , isPy3k
 , setuptoolsDarcs
 , darcsver
@@ -14,9 +15,19 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08ad57a1a39b7ed23c173692281da0b8d49d98ad3dcc09f8cca6d901e142699f";
+    sha256 = "17v98bhh3nd6rkw0kk1xmnc9vm5ql0fji4in2wyd4zlvlfhmgb88";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "pycryptopp-cryptopp_6.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/api_change.patch?h=pycryptopp&id=55f2973d6ca5e9e70438f2eadb7fb575b1a5048d";
+      sha256 = "0lvl2d32d2vkb0v6d39p9whda5bdrmlsjd41zy0x0znqm53a9i99";
+      stripLen = 1;
+      extraPrefix = "src/";
+    })
+  ];
+
   # Prefer crypto++ library from the Nix store over the one that's included
   # in the pycryptopp distribution.
   preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1";
@@ -24,7 +35,7 @@ buildPythonPackage rec {
   buildInputs = [ setuptoolsDarcs darcsver pkgs.cryptopp ];
 
   meta = with stdenv.lib; {
-    homepage = http://allmydata.org/trac/pycryptopp;
+    homepage = "https://tahoe-lafs.org/trac/pycryptopp";
     description = "Python wrappers for the Crypto++ library";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
index 5f58101a8b53..225c605a57ff 100644
--- a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
@@ -22,11 +22,11 @@ let
 in
 buildPythonPackage rec {
   pname = "pycuda";
-  version = "2018.1.1";
+  version = "2019.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "49d575fca3fd3c95467c3b0fb51967ad17d0c4cc18e078a6748309af4de36a8d";
+    sha256 = "ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
index 066e849f0aab..153a6e0377db 100644
--- a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
@@ -36,12 +36,13 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    pytest tests -k "not test_ssl_in_static_libs \
+    HOME=$TMPDIR pytest tests -k "not test_ssl_in_static_libs \
                      and not test_keyfunction \
                      and not test_keyfunction_bogus_return \
                      and not test_libcurl_ssl_gnutls \
                      and not test_libcurl_ssl_nss \
-                     and not test_libcurl_ssl_openssl"
+                     and not test_libcurl_ssl_openssl" \
+                 --ignore=tests/getinfo_test.py
   '';
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
index 9b713827199b..088c6636fdca 100644
--- a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
@@ -1,21 +1,25 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , ujson
 , email_validator
 , typing-extensions
 , python
 , isPy3k
+, pytest
+, pytestcov
 }:
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "0.31";
+  version = "1.3";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0x9xc5hpyrlf05dc4bx9f7v51fahxcahkvh0ij8ibay15nwli53d";
+  src = fetchFromGitHub {
+    owner = "samuelcolvin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0s85nzlsyj97j54zsgv569hkzv617z0vqsifsxkkyiimgbvnx7g8";
   };
 
   propagatedBuildInputs = [
@@ -24,22 +28,13 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -c """
-from datetime import datetime
-from typing import List
-from pydantic import BaseModel
-
-class User(BaseModel):
-    id: int
-    name = 'John Doe'
-    signup_ts: datetime = None
-    friends: List[int] = []
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
 
-external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
-user = User(**external_data)
-assert user.id is "123"
-"""
+  checkPhase = ''
+    pytest
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pydocstyle/2.nix b/nixpkgs/pkgs/development/python-modules/pydocstyle/2.nix
new file mode 100644
index 000000000000..a2f2daa2fe9c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pydocstyle/default.nix b/nixpkgs/pkgs/development/python-modules/pydocstyle/default.nix
index a2f2daa2fe9c..39d9f9f9a23d 100644
--- a/nixpkgs/pkgs/development/python-modules/pydocstyle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pydocumentdb/default.nix b/nixpkgs/pkgs/development/python-modules/pydocumentdb/default.nix
index 4413f9eef2e7..659997d71589 100644
--- a/nixpkgs/pkgs/development/python-modules/pydocumentdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydocumentdb/default.nix
@@ -6,14 +6,19 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.3";
+  version = "2.3.5";
   pname = "pydocumentdb";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fcp3g62pc9hpa0r6vdjhaln4h0azywjqfzi8bd4414ja0mxmj3p";
+    sha256 = "1e6f072ae516fc061c9442f8ca470463b53dc626f0f6a86ff3a803293f4b50dd";
   };
 
+  # https://github.com/Azure/azure-cosmos-python/issues/183
+  preBuild = ''
+    touch changelog.md
+  '';
+
   propagatedBuildInputs = [ six requests ];
 
   # requires an active Azure Cosmos service
diff --git a/nixpkgs/pkgs/development/python-modules/pydrive/default.nix b/nixpkgs/pkgs/development/python-modules/pydrive/default.nix
new file mode 100644
index 000000000000..aa0515323e29
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyelftools/default.nix b/nixpkgs/pkgs/development/python-modules/pyelftools/default.nix
index 1715749fa2da..c619df297fef 100644
--- a/nixpkgs/pkgs/development/python-modules/pyelftools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyelftools/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyelftools";
-  version = "0.25";
+  version = "0.26";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "89c6da6f56280c37a5ff33468591ba9a124e17d71fe42de971818cbff46c1b24";
+    sha256 = "86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
index 26c36e70d0cc..eb0b573c4387 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.5.5.2";
+  version = "0.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1akc8hk8rlw7sv07bv1n2r471acvmxwc57gb69frjpcwggf2phls";
+    sha256 = "512c409b36eadfe39c40e46112d8f96b29fdc1032dc424da2bdc783d476f5b0a";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix b/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
index 7142b40ce0b0..6bc2be39fd36 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, buildPythonPackage, fetchPypi, python, pytest, glibcLocales }:
+{ stdenv, buildPythonPackage, fetchPypi, python, pytest, glibcLocales, isPy37 }:
 
 buildPythonPackage rec {
-  version = "3.5.8";
+  version = "3.7.1";
   pname = "pyfakefs";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8cd2270d65d3316dd4dc6bb83242df2e0990d27605209bc16e8041bcc0956961";
+    sha256 = "1eb68bb250cc14310a6e33c197cbe2c8d93832b543f534e29b58286712f7e2b2";
   };
 
   postPatch = ''
@@ -24,6 +24,8 @@ buildPythonPackage rec {
       --replace "test_rename_dir_to_existing_dir" "notest_rename_dir_to_existing_dir"
   '');
 
+  # https://github.com/jmcgeheeiv/pyfakefs/issues/508
+  doCheck = !isPy37;
   checkInputs = [ pytest glibcLocales ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyfma/default.nix b/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
index d9aab0b8faed..6c7038b94888 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pyfma";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "79514717f8e632a0fb165e3d61222ed61202bea7b0e082f7b41c91e738f1fbc9";
+    sha256 = "2c9ea44c5e30ca8318ca794ff1e3941d3dc7958901b1a9c430d38734bf7b6f8d";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfribidi/default.nix b/nixpkgs/pkgs/development/python-modules/pyfribidi/default.nix
index a5caca40650d..50a0bfa1e22f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfribidi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfribidi/default.nix
@@ -6,14 +6,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.11.0";
+  version = "0.12.0";
   pname = "pyfribidi";
   disabled = isPy3k || isPyPy;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "6f7d83c09eae0cb98a40b85ba3dedc31af4dbff8fc4425f244c1e9f44392fded";
+    sha256 = "64726a4a56783acdc79c6b9b3a15f16e6071077c897a0b999f3b43f744bc621c";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
index 8f80447b85d3..09cb17098dd5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pyftdi";
-  version = "0.29.4";
+  version = "0.42.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jy0xbqvmhy0nq9v86759d96raa8p52yq8ik3ji5kjlx7cizq67v";
+    sha256 = "1bpb2rq7bc3p4g9qrfp4a7qcic79cvv1wh17j231bnpmy48njhvj";
   };
 
   propagatedBuildInputs = [ pyusb pyserial ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyftgl/default.nix b/nixpkgs/pkgs/development/python-modules/pyftgl/default.nix
index bf92f7360ddb..90fd79038083 100644
--- a/nixpkgs/pkgs/development/python-modules/pyftgl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyfxa/default.nix b/nixpkgs/pkgs/development/python-modules/pyfxa/default.nix
index 93a74114af19..4bde8e9997ac 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfxa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfxa/default.nix
@@ -1,14 +1,14 @@
 { lib, buildPythonPackage, fetchPypi
 , requests, cryptography, pybrowserid, hawkauthlib, six
-, grequests, mock, responses, unittest2 }:
+, grequests, mock, responses, pytest }:
 
 buildPythonPackage rec {
   pname = "PyFxA";
-  version = "0.6.0";
+  version = "0.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d511b6f43a9445587c609a138636d378de76661561116e1f4259fcec9d09b42b";
+    sha256 = "f47f4285629fa6c033c79adc3fb90926c0818a42cfddb04d32818547362f1627";
   };
 
   postPatch = ''
@@ -21,9 +21,13 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    grequests mock responses unittest2
+    grequests mock responses pytest
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with lib; {
     description = "Firefox Accounts client library for Python";
     homepage = https://github.com/mozilla/PyFxA;
diff --git a/nixpkgs/pkgs/development/python-modules/pygbm/default.nix b/nixpkgs/pkgs/development/python-modules/pygbm/default.nix
index 6e4c70aaaf13..702dbf70ee96 100644
--- a/nixpkgs/pkgs/development/python-modules/pygbm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygbm/default.nix
@@ -42,5 +42,6 @@ buildPythonPackage rec {
     homepage = https://github.com/ogrisel/pygbm;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
index e303f3415d7f..e6be92c0efb5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
@@ -1,13 +1,16 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGL
+, libGLU
 , xorg
 , future
 , pytest
 , glibc
 , gtk2-x11
 , gdk-pixbuf
+, fontconfig
+, freetype
 }:
 
 buildPythonPackage rec {
@@ -32,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':
@@ -43,6 +46,12 @@ buildPythonPackage rec {
                 path = '${gtk2-x11}/lib/libgdk-x11-2.0${ext}'
             elif name == 'gdk_pixbuf-2.0':
                 path = '${gdk-pixbuf}/lib/libgdk_pixbuf-2.0${ext}'
+            elif name == 'Xext':
+                path = '${xorg.libXext}/lib/libXext${ext}'
+            elif name == 'fontconfig':
+                path = '${fontconfig.lib}/lib/libfontconfig${ext}'
+            elif name == 'freetype':
+                path = '${freetype}/lib/libfreetype${ext}'
             if path is not None:
                 return ctypes.cdll.LoadLibrary(path)
         raise Exception("Could not load library {}".format(names))
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/default.nix b/nixpkgs/pkgs/development/python-modules/pygobject/default.nix
index d685e3541f94..a7b25e57a336 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib }:
+{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib, isPy3k }:
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "2.28.6";
+  version = "2.28.7";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/2.28/${pname}-${version}.tar.xz";
-    sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv";
+    sha256 = "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv";
   };
 
   outputs = [ "out" "devdoc" ];
 
-  patches = [
-    # Fix warning spam
-    ./pygobject-2.28.6-set_qdata.patch
-    ./pygobject-2.28.6-gio-types-2.32.patch
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  patches = stdenv.lib.optionals stdenv.isDarwin [
     ./pygobject-2.0-fix-darwin.patch
   ];
 
@@ -29,7 +25,7 @@ buildPythonPackage rec {
   # same site-packages: we need a pth file for both. pygtk.py would be
   # used to select a specific version, in our setup it should have no
   # effect, but we leave it in case somebody expects and calls it.
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString (!isPy3k) ''
     mv $out/lib/${python.libPrefix}/site-packages/{pygtk.pth,${pname}-${version}.pth}
 
     # Prevent wrapping of codegen files as these are meant to be
@@ -38,8 +34,8 @@ buildPythonPackage rec {
   '';
 
   meta = {
-    homepage = http://live.gnome.org/PyGObject;
-    description = "Python bindings for Glib";
+    homepage = "https://pygobject.readthedocs.io/";
+    description = "Python bindings for GLib";
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch b/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch
deleted file mode 100644
index fa0adf54ad04..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <desrt@desrt.ca>
-Date: Mon, 12 Mar 2012 16:44:14 -0400
-Subject: [PATCH] gio-types.defs: change some enums to flags
-
-These flags types were originally incorrectly handled in glib as being
-enums.  That bug was fixed, but they're still enums here, leading to
-warnings about the mismatch.
-
-Change them to flags.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=668522
----
- gio/gio-types.defs |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gio/gio-types.defs b/gio/gio-types.defs
-index 331e0bc..7eee5c8 100644
---- a/gio/gio-types.defs
-+++ b/gio/gio-types.defs
-@@ -526,7 +526,7 @@
-   )
- )
- 
--(define-enum MountMountFlags
-+(define-flags MountMountFlags
-   (in-module "gio")
-   (c-name "GMountMountFlags")
-   (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
-@@ -545,7 +545,7 @@
-   )
- )
- 
--(define-enum DriveStartFlags
-+(define-flags DriveStartFlags
-   (in-module "gio")
-   (c-name "GDriveStartFlags")
-   (gtype-id "G_TYPE_DRIVE_START_FLAGS")
-@@ -770,7 +770,7 @@
-   )
- )
- 
--(define-enum SocketMsgFlags
-+(define-flags SocketMsgFlags
-   (in-module "gio")
-   (c-name "GSocketMsgFlags")
-   (gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
--- 
-1.7.8.5
-
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch b/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch
deleted file mode 100644
index 55376b59d829..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
-From: Ivan Stankovic <ivan.stankovic@avl.com>
-Date: Tue, 21 Feb 2012 12:24:58 +0100
-Subject: [PATCH] Fix set_qdata warning on accessing NULL gobject property
-
-https://bugzilla.gnome.org/show_bug.cgi?id=661155
----
- gobject/pygobject.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/gobject/pygobject.c b/gobject/pygobject.c
-index 6c2f06c..70dc89a 100644
---- a/gobject/pygobject.c
-+++ b/gobject/pygobject.c
-@@ -991,7 +991,9 @@ pygobject_new(GObject *obj)
- PyObject *
- pygobject_new_sunk(GObject *obj)
- {
--    g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
-+    if (obj)
-+       g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
-+       
-     return pygobject_new_full(obj, TRUE, NULL);
- }
- 
--- 
-1.7.8.5
-
diff --git a/nixpkgs/pkgs/development/python-modules/pygtk/default.nix b/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
index 09ccb5c3d95f..4779f76aed46 100644
--- a/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pkgconfig, gtk2, pygobject2, pycairo
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, gtk2, pygobject2, pycairo, pango
 , buildPythonPackage, libglade ? null, isPy3k }:
 
 buildPythonPackage rec {
@@ -12,8 +12,22 @@ buildPythonPackage rec {
     sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
   };
 
+  patches = [
+    # https://bugzilla.gnome.org/show_bug.cgi?id=660216 - fixes some memory leaks
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/Archive/pygtk/commit/eca72baa5616fbe4dbebea43c7e5940847dc5ab8.diff";
+      sha256 = "031px4w5cshcx1sns430sdbr2i007b9zyb2carb3z65nzr77dpdd";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/Archive/pygtk/commit/4aaa48eb80c6802aec6d03e5695d2a0ff20e0fc2.patch";
+      sha256 = "0z8cg7nr3qki8gg8alasdzzyxcihfjlxn518glq5ajglk3q5pzsn";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = stdenv.lib.optional (libglade != null) libglade;
+  buildInputs = [
+    pango
+  ] ++ stdenv.lib.optional (libglade != null) libglade;
 
   propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix b/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix
new file mode 100644
index 000000000000..73de6ba08394
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+# propagatedBuildInputs
+, aiohttp
+, async-timeout
+# buildInputs
+, pytestrunner
+# checkInputs
+, pytest
+, pytest-asyncio
+, aresponses
+}:
+buildPythonPackage rec {
+  pname = "pyhaversion";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d4smpzlaw0sqfgkgvhxsn8h7bmwj8h9gj98sdzvkzhp5vhd96b2";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  buildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytest-asyncio
+    aresponses
+  ];
+
+  meta = with lib; {
+    description = "A python module to the newest version number of Home Assistant";
+    homepage = https://github.com/ludeeus/pyhaversion;
+    maintainers = [ maintainers.makefu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix b/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix
index ac4af42851cd..f0e50895d83e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 # Runtime inputs:
 , pyparsing
 # Check inputs:
@@ -10,11 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyhocon";
-  version = "0.3.51";
+  version = "0.3.53";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "10l014br012fa583rnj3wqf6g9gmljamcwpw4snqwwg15i0dmkll";
+  src = fetchFromGitHub {
+    owner = "chimpler";
+    repo = "pyhocon";
+    rev = version;
+    sha256 = "1lr56piiasnq1aiwli8ldw2wc3xjfck8az991mr5rdbqqsrh9vkv";
   };
 
   propagatedBuildInputs = [ pyparsing ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
index c2fb9612e9c5..33df2985cfc3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.59";
+  version = "0.1.62";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4406d9bf49d570ef0ba80be9cf8eb4bd75c08a2909369ebd90b8e94ff07f116e";
+    sha256 = "3547ad176f287a9d3b4409692485b6fb456107d70350a32071423e13803cfdab";
   };
 
   # PyPI tarball does not include tests/ directory
diff --git a/nixpkgs/pkgs/development/python-modules/pyjet/default.nix b/nixpkgs/pkgs/development/python-modules/pyjet/default.nix
index efbced9f3b32..4a20b5142b68 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjet/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyjet";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "89ce11cd4541fb573d68fd60a219e5e1bdeb94cfcfffc917b472fde2aa9a5a31";
+    sha256 = "b334fb9a01854165629d49a2df43c81c880fc231a8a27c156beccf42f223fe47";
   };
 
   # fix for python37
diff --git a/nixpkgs/pkgs/development/python-modules/pyjks/default.nix b/nixpkgs/pkgs/development/python-modules/pyjks/default.nix
new file mode 100644
index 000000000000..d9e2074fb28a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyjks/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, pyasn1-modules
+, pycryptodomex
+, twofish
+}:
+
+buildPythonPackage rec {
+  pname = "pyjks";
+  version = "19.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06h1cybsdj2wi0jf7igbr722xfm87crqn4g7m3bgrpxwi41b9rcw";
+  };
+
+  propagatedBuildInputs = [
+    pyasn1-modules
+    pycryptodomex
+    twofish
+  ];
+
+  # Tests assume network connectivity
+  doCheck = false;
+
+  meta = {
+    description = "Pure-Python Java Keystore (JKS) library";
+    homepage = "https://github.com/kurtbrose/pyjks";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyjson5/default.nix b/nixpkgs/pkgs/development/python-modules/pyjson5/default.nix
new file mode 100644
index 000000000000..232bafd3ba7e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyjson5/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, lib, nose, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "pyjson5";
+  version = "0.8.5";
+
+  src = fetchFromGitHub {
+    owner = "dpranke";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0nyngj18jlkgvm1177lc3cj47wm4yh3dqigygvcvw7xkyryafsqn";
+  };
+
+  doCheck = true;
+  checkInputs = [ nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    description = "Python implementation of the JSON5 data format";
+    license = licenses.asl20;
+    homepage = "https://github.com/dpranke/pyjson5";
+    maintainers = with maintainers; [ isgy ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyjwkest/default.nix b/nixpkgs/pkgs/development/python-modules/pyjwkest/default.nix
index 4460105f6174..3c5b96af2ad0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjwkest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjwkest/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "pyjwkest";
-  version = "1.4.0";
+  version = "1.4.2";
 
   meta = {
     description = "Implementation of JWT, JWS, JWE and JWK";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "128e3c81d02993ac4cd7e29ef7aac767d91daa59380e6883ae589092945e4aad";
+    sha256 = "5560fd5ba08655f29ff6ad1df1e15dc05abc9d976fcbcec8d2b5167f49b70222";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
index 10bfb0d72b6f..e91fbe2b3e46 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
@@ -19,6 +19,11 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace "pytest>=4.0.1,<5.0.0" "pytest"
   '';
 
+  # ecdsa changed internal behavior
+  checkPhase = ''
+    pytest tests -k 'not ec_verify_should_return_false_if_signature_invalid'
+  '';
+
   meta = with lib; {
     description = "JSON Web Token implementation in Python";
     homepage = https://github.com/jpadilla/pyjwt;
diff --git a/nixpkgs/pkgs/development/python-modules/pykde4/default.nix b/nixpkgs/pkgs/development/python-modules/pykde4/default.nix
deleted file mode 100644
index 913453962eb5..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pykde4/default.nix
+++ /dev/null
@@ -1,45 +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}-${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;
-    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/nixpkgs/pkgs/development/python-modules/pykde4/dlfcn.patch b/nixpkgs/pkgs/development/python-modules/pykde4/dlfcn.patch
deleted file mode 100644
index 63aff46eeab1..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix b/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix
deleted file mode 100644
index 9803e7800c37..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  stdenv, fetchurl,
-  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";
-  };
-
-  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;
-    homepage = http://www.kde.org;
-    license = with licenses; [ gpl2 fdl12 lgpl21 ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
index bb1f60025db7..1467783d76a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname   = "pykeepass";
-  version = "3.0.3";
+  version = "3.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c9e2ddb03ee696ed8aa72c2cddfb81280614864e003226141d68b975aa56f6f";
+    sha256 = "280b0884243d059df888a61fd3fc77b2ea76dce4fdb1c1f60f3ab9139ca1259c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pykickstart/default.nix b/nixpkgs/pkgs/development/python-modules/pykickstart/default.nix
index 27827270fa17..6461f0391caa 100644
--- a/nixpkgs/pkgs/development/python-modules/pykickstart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykickstart/default.nix
@@ -3,12 +3,14 @@
 , fetchurl
 , urlgrabber
 , python
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "pykickstart";
   version = "1.99.39";
   md5_path = "d249f60aa89b1b4facd63f776925116d";
+  disabled = isPy3k;
 
   src = fetchurl {
     url = "https://src.fedoraproject.org/repo/pkgs/pykickstart/"
diff --git a/nixpkgs/pkgs/development/python-modules/pylibacl/default.nix b/nixpkgs/pkgs/development/python-modules/pylibacl/default.nix
index f366f6e57f60..08d598c72db6 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibacl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pylibmc/default.nix b/nixpkgs/pkgs/development/python-modules/pylibmc/default.nix
index 9d21cacef9ad..053d73af1a37 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibmc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylibmc/default.nix
@@ -1,12 +1,12 @@
 { buildPythonPackage, fetchPypi, stdenv, libmemcached, zlib, cyrus_sasl }:
 
 buildPythonPackage rec {
-  version = "1.6.0";
+  version = "1.6.1";
   pname = "pylibmc";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay";
+    sha256 = "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca";
   };
 
   buildInputs = [ libmemcached zlib cyrus_sasl ];
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix
new file mode 100644
index 000000000000..2d48ef7fea76
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix
@@ -0,0 +1,38 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, lib
+
+# pythonPackages
+, pylint
+}:
+
+buildPythonPackage rec {
+  pname = "pylint-plugin-utils";
+  version = "0.6";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "1zapmbczxs1phrwbd0yvpfxhljd2pyv4pi9rwggaq38lcnc325s7";
+  };
+
+  propagatedBuildInputs = [
+    pylint
+  ];
+
+  checkPhase = ''
+    python tests.py
+  '';
+
+  meta = with lib; {
+    description = "Utilities and helpers for writing Pylint plugins";
+    homepage = "https://github.com/PyCQA/pylint-plugin-utils";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pylint/1.9.nix b/nixpkgs/pkgs/development/python-modules/pylint/1.9.nix
index 571a9446e116..b1253c65b338 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint/1.9.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint/1.9.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, astroid, six, isort,
   mccabe, configparser, backports_functools_lru_cache, singledispatch,
-  pytest, pytestrunner, pyenchant }:
+  pytest, pytestrunner, pyenchant, setuptools }:
 
 buildPythonPackage rec {
   pname = "pylint";
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest pytestrunner pyenchant ];
 
-  propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch ];
+  propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch setuptools ];
 
   postPatch = lib.optionalString stdenv.isDarwin ''
     # Remove broken darwin test
diff --git a/nixpkgs/pkgs/development/python-modules/pylint/default.nix b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
index 4faeb05280d0..95f86e31c041 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
@@ -1,20 +1,20 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder, astroid,
-  isort, mccabe, pytest, pytestrunner }:
+  isort, mccabe, pytestCheckHook, pytestrunner }:
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.3.1";
+  version = "2.4.4";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wgzq0da87m7708hrc9h4bc5m4z2p7379i4xyydszasmjns3sgkj";
+    sha256 = "3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd";
   };
 
   nativeBuildInputs = [ pytestrunner ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
   propagatedBuildInputs = [ astroid isort mccabe ];
 
@@ -23,17 +23,15 @@ buildPythonPackage rec {
     rm -vf pylint/test/test_functional.py
   '';
 
-  checkPhase = ''
-    pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
-      # Broken tests
-      [ "member_checks_py37" "iterable_context_py36" ] ++
-      # Disable broken darwin tests
-      lib.optionals stdenv.isDarwin [
-        "test_parallel_execution"
-        "test_py3k_jobs_option"
-      ]
-    )}"
-  '';
+  disabledTests = [
+    # https://github.com/PyCQA/pylint/issues/3198
+    "test_by_module_statement_value"
+   ] ++ lib.optionals stdenv.isDarwin [
+      "test_parallel_execution"
+      "test_py3k_jobs_option"
+   ];
+
+  dontUseSetuptoolsCheck = true;
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
diff --git a/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix b/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
index 8403ec9add7d..ecc35d357360 100644
--- a/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2019.2.28";
+  version = "2019.12.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe4c9b8b16d618fa531a09073d69db6ab02c0c379e672862a41163e39ac91e85";
+    sha256 = "0ffc6efcc2ba15bff22cca29c07b93b01fac400f649c41d5dd01bfff7915f80b";
   };
 
   nativeBuildInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix b/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix
new file mode 100644
index 000000000000..b909886ddb5b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, future, lxml }:
+
+buildPythonPackage rec {
+  pname = "pymavlink";
+  version = "2.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "332d3d0291b4482641a5b3cd97e879817f50eb9c2b2ddcc30d51d619bad01b51";
+  };
+
+  propagatedBuildInputs = [ future lxml ];
+
+  # No tests included in PyPI tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python MAVLink interface and utilities";
+    homepage = "https://github.com/ArduPilot/pymavlink";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix b/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
index 0d13b377b13e..2411abc5ac4a 100644
--- a/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pymbolic";
-  version = "2018.1";
+  version = "2019.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a47d5524d6a3cdc8a028079ce632eeb45ceea7243272d234f250622087688207";
+    sha256 = "a7507864a76574d72bf5732497b247661c6ad73bb277cd9c8aae09e90a62e05a";
   };
 
   postConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymc3/default.nix b/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
index 35e5f7aa69a2..39472bb31776 100644
--- a/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "pymc3";
-  version = "3.7";
+  version = "3.8";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ijna2ghvniryllr56qr4vi4k9q58mq21yx36nj5kg2j17f7rkbr";
+    sha256 = "1bb2915e4a29877c681ead13932b0b7d276f7f496e9c3f09ba96b977c99caf00";
   };
 
   # No need for coverage stats in Nix builds
diff --git a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
index 67318bac9bf8..dbed3c7f0375 100644
--- a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pymediainfo";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yjs208c34p2xsc0r8vbi264ii5hixh546718n06b7v670glqjir";
+    sha256 = "0mhpxs7vlqx8w75z93dy7nnvx89kwfdjkla03l19an15rlyqyspd";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymemoize/default.nix b/nixpkgs/pkgs/development/python-modules/pymemoize/default.nix
new file mode 100644
index 000000000000..4efafeaaca42
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pymemoize/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "pymemoize";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "PyMemoize";
+    sha256 = "0yqr60hm700zph6nv8wb6yp2s0i08mahxvw98bvkmw5ijbsviiq7";
+  };
+
+  checkInputs = [ django ];
+
+  # django.core.exceptions.ImproperlyConfigured: Requested settings, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Simple Python cache and memoizing module";
+    homepage = "https://github.com/mikeboers/PyMemoize";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
index 792b8b1bd5b4..a10bb9169edf 100644
--- a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.7.2";
+  version = "3.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c74e2a9b594f7962c62cef7680a4cb92a96b4e6e3c2f970790da67cc0213a7e";
+    sha256 = "c43879fe427ea6aa6e84dae9fbdc5aa14428a4cfe613fe0fee2cc004bf3f307c";
   };
 
   # Tests call a running mongodb instance
diff --git a/nixpkgs/pkgs/development/python-modules/pympler/default.nix b/nixpkgs/pkgs/development/python-modules/pympler/default.nix
index a9350f20eb3f..85be0b4309c7 100644
--- a/nixpkgs/pkgs/development/python-modules/pympler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pymssql/default.nix b/nixpkgs/pkgs/development/python-modules/pymssql/default.nix
index c162f065b799..954be3f40e2d 100644
--- a/nixpkgs/pkgs/development/python-modules/pymssql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymssql/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymssql";
-  version = "2.1.4";
+  version = "3.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yvs3azd8dkf40lybr9wvswvf4hbxn5ys9ypansmbbb328dyn09j";
+    sha256 = "4d0ed31c76983d723c0c979b18e2273623621e630ca4901f17a86128aca13f84";
   };
 
   buildInputs = [cython setuptools-git];
diff --git a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
new file mode 100644
index 000000000000..4ff50ad7b96c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
+buildPythonPackage rec {
+  pname = "PyMuPDF";
+  version = "1.16.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d7893954f97fa6087629f3875f3be066dab51302e7c73f4c98c0516a8e2893fb";
+  };
+
+  patchPhase = ''
+    substituteInPlace setup.py \
+        --replace '/usr/include/mupdf' ${mupdf.dev}/include/mupdf
+    '';
+  nativeBuildInputs = [ swig ];
+  buildInputs = [ mupdf ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for MuPDF's rendering library.";
+    homepage = https://github.com/pymupdf/PyMuPDF;
+    maintainers = with maintainers; [ teto ];
+    license =  licenses.agpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
index 1e567a9935cb..5016cfb741c5 100644
--- a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "4.0.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "196pab5whswy3bgi2s842asjhyka2f9mw98m84bvqjmfw0m7x4y0";
+    sha256 = "0njbh3h6696nq5palqa0b8s0fbsvhbawpzl923dnfsa9kgq5m294";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/nixpkgs/pkgs/development/python-modules/pynvim/default.nix b/nixpkgs/pkgs/development/python-modules/pynvim/default.nix
index e5e14f44e109..a4765434f74e 100644
--- a/nixpkgs/pkgs/development/python-modules/pynvim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyobjc/default.nix b/nixpkgs/pkgs/development/python-modules/pyobjc/default.nix
index 8c7af06b7434..8576de1b379c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyobjc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyobjc/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pyobjc";
-  version = "5.1.2";
+  version = "6.1";
 
   # Gives "No matching distribution found for
   # pyobjc-framework-Collaboration==4.0b1 (from pyobjc==4.0b1)"
@@ -10,7 +10,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ccfc96382bf04977c68a06733f1d7499a7ddeb1f74760e3f8de483f9a542e691";
+    sha256 = "53ae86caaedc48350c6e93d6e778a0c5044e802340b6d6a679e55014758be540";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
index 8064d9b6d575..bef4969d7d2e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.27";
+  version = "4.0.28";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib";
+    sha256 = "510643354c4c687ed96bf7e7cec4d02d6c626ecf3e18696f5a0228dd6d11b769";
   };
 
   buildInputs = [ unixODBC ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyomo/default.nix b/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
index 958711754bd0..14ccdaa64c3b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , pyutilib
 , appdirs
 , ply
@@ -11,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pyomo";
   version = "5.6.1";
+  disabled = isPy27; # unable to import pyutilib.th
 
   src = fetchPypi {
     pname = "Pyomo";
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
index 8561cbac1b8e..0fd6253e5fdf 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2019.1";
+  version = "2019.1.2";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers ocl-icd pybind11 ];
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04ahndgc5aqm3pqix2j4vzn9n3k762ylf3yq55jdbxm5cicz9nx0";
+    sha256 = "7803f3128dbd28ae6f5b851a80ef586a35b9575406ea7bb068b8e1516f8043f0";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
index 11a51f354d9f..a425fcf5be96 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
@@ -7,14 +7,15 @@
 
 buildPythonPackage rec {
   pname = "pyopengl";
-  version = "3.1.0";
+  version = "3.1.4";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
+    pname = "PyOpenGL";
+    inherit version;
+    sha256 = "0bdf5ed600df30c8830455702338902528717c0af85ac5914f1dc5aa0bfa6eee";
   };
 
-  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/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
index ec17b77ba200..8d5f6291c26d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
@@ -9,6 +9,8 @@
 , pretend
 , flaky
 , glibcLocales
+, six
+, fetchpatch
 }:
 
 with stdenv.lib;
@@ -63,11 +65,11 @@ in
 
 buildPythonPackage rec {
   pname = "pyOpenSSL";
-  version = "19.0.0";
+  version = "19.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200";
+    sha256 = "9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507";
   };
 
   outputs = [ "out" "dev" ];
@@ -79,12 +81,33 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  patches = [
+    # 4 patches for 2020 bug
+    # https://github.com/pyca/pyopenssl/pull/828
+    (fetchpatch {
+      url = https://github.com/pyca/pyopenssl/commit/0d2fd1a24b30077ead6960bd63b4a9893a57c101.patch;
+      sha256 = "1c27g53qrwxddyx04sxf8yvj7xgbaabla7mc1cgbfd426rncbqf3";
+    })
+    (fetchpatch {
+      url = https://github.com/pyca/pyopenssl/commit/d08a742573c3205348a4eec9a65abaf6c16110c4.patch;
+      sha256 = "18xn8s1wpycz575ivrbsbs0qd2q48z8pdzsjzh8i60xba3f8yj2f";
+    })
+    (fetchpatch {
+      url = https://github.com/pyca/pyopenssl/commit/60b9e10e6da7ccafaf722def630285f54510ed12.patch;
+      sha256 = "0aw8qvy8m0bhgp39lmbcrpprpg4bhpssm327hyrk476wwgajk01j";
+    })
+    (fetchpatch {
+      url = https://github.com/pyca/pyopenssl/commit/7a37cc23fcbe43abe785cd4badd14bdc7acfb175.patch;
+      sha256 = "1c7zb568rs71rsl16p6dq7aixwlkgzfnba4vzmfvbmy3zsnaslq2";
+    })
+  ];
+
   # Seems to fail unpredictably on Darwin. See http://hydra.nixos.org/build/49877419/nixlog/1
   # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
   doCheck = !stdenv.isDarwin;
 
   nativeBuildInputs = [ openssl ];
-  propagatedBuildInputs = [ cryptography pyasn1 idna ];
+  propagatedBuildInputs = [ cryptography pyasn1 idna six ];
 
   checkInputs = [ pytest pretend flaky glibcLocales ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix b/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix
index a6e8d6201384..a47c271b76fd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
     pname = "pyparsing";
-    version = "2.3.1";
+    version = "2.4.6";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a";
+      sha256 = "4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f";
     };
 
     # Not everything necessary to run the tests is included in the distribution
diff --git a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
index 51a08e1f7ea8..4b14e2e5cc67 100644
--- a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "pyperf";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d0143a22a13ee10c997a648f30b82cdc40175d5a20b11055ae058a82e45d371";
+    sha256 = "0d214aa65e085d3e4108a36152cb12f7cd0f4e7fda93b5134b43a9687c975786";
   };
 
   checkInputs = [ nose psutil ] ++
diff --git a/nixpkgs/pkgs/development/python-modules/pypillowfight/default.nix b/nixpkgs/pkgs/development/python-modules/pypillowfight/default.nix
index 0313632e6fd1..feb1f9451bca 100644
--- a/nixpkgs/pkgs/development/python-modules/pypillowfight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypillowfight/default.nix
@@ -3,7 +3,7 @@
 }:
 buildPythonPackage rec {
   pname = "pypillowfight";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "OpenPaperwork";
     repo = "libpillowfight";
     rev = version;
-    sha256 = "0wbzfhbzim61fmkm7p7f2rwslacla1x00a6xp50haawjh9zfwc4y";
+    sha256 = "096242v425mlqqj5g1giy59p7grxp05g78w6bk37vzph98jrgv3w";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyrabbit2/default.nix b/nixpkgs/pkgs/development/python-modules/pyrabbit2/default.nix
new file mode 100644
index 000000000000..36182e9986be
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyrabbit2/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyrabbit2";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d27160cb35c096f0072df57307233d01b117a451236e136604a8e51be6f106c0";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  meta = with lib; {
+    description = "A Pythonic interface to the RabbitMQ Management HTTP API";
+    homepage = https://github.com/deslum/pyrabbit2;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
index 3c76da67b7bd..a851344b4ce7 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
@@ -1,8 +1,6 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, docutils
-, virtualenv
 , webtest
 , zope_component
 , hupper
@@ -10,7 +8,6 @@
 , plaster
 , plaster-pastedeploy
 , repoze_lru
-, repoze_sphinx_autointerface
 , translationstring
 , venusian
 , webob
@@ -28,9 +25,9 @@ buildPythonPackage rec {
     sha256 = "d80ccb8cfa550139b50801591d4ca8a5575334adb493c402fce2312f55d07d66";
   };
 
-  checkInputs = [ docutils virtualenv webtest zope_component ];
+  checkInputs = [ webtest zope_component ];
 
-  propagatedBuildInputs = [ hupper PasteDeploy plaster plaster-pastedeploy repoze_lru repoze_sphinx_autointerface translationstring venusian webob zope_deprecation zope_interface ];
+  propagatedBuildInputs = [ hupper PasteDeploy plaster plaster-pastedeploy repoze_lru translationstring venusian webob zope_deprecation zope_interface ];
 
   # Failing tests
   # https://github.com/Pylons/pyramid/issues/1899
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix
index b4064e9f0f7e..80546ee768e4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pyramid_mako";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6da0987b9874cf53e72139624665a73965bbd7fbde504d1753e4231ce916f3a1";
+    sha256 = "0066c863441f1c3ddea60cee1ccc50d00a91a317a8052ca44131da1a12a840e2";
   };
 
   buildInputs = [ webtest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
index f70f10da41ad..a0545ece74a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
@@ -1,12 +1,12 @@
 { buildPythonPackage, fetchPypi, lib, pytorch, contextlib2
 , graphviz, networkx, six, opt-einsum, tqdm }:
 buildPythonPackage rec {
-  version = "0.3.3";
+  version = "1.1.0";
   pname = "pyro-ppl";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "e980e2aa5a029e2f133d422a9154a21c9cca96c417c230ddde858e41aa43687b";
+    sha256 = "5ca2fd19276fcfcf52babb48d22892a41d6238d7a6c65e63f704b070a3816479";
   };
 
   propagatedBuildInputs = [
@@ -34,5 +34,6 @@ buildPythonPackage rec {
     homepage = http://pyro.ai;
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ teh ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyro4/default.nix b/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
index 8851b0464146..fdeed6656237 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
@@ -8,22 +8,22 @@
 , cloudpickle
 , msgpack
 , isPy27
-, isPy33
 , selectors34
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "Pyro4";
-  version = "4.75";
+  version = "4.77";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dfpp36imddx19yv0kd28gk1l71ckhpqy6jd590wpm2680jw15rq";
+    sha256 = "2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f";
   };
 
   propagatedBuildInputs = [
     serpent
-  ] ++ lib.optionals (isPy27 || isPy33) [ selectors34 ];
+  ] ++ lib.optionals isPy27 [ selectors34 ];
 
   buildInputs = [
     dill
@@ -31,8 +31,15 @@ buildPythonPackage rec {
     msgpack
   ];
 
+  checkInputs = [ pytest ];
+  # add testsupport.py to PATH
+  # ignore network related tests, which fail in sandbox
   checkPhase = ''
-    ${python.interpreter} setup.py test
+    PYTHONPATH=tests/PyroTests:$PYTHONPATH
+    pytest -k 'not StartNSfunc \
+               and not Broadcast \
+               and not GetIP' \
+           --ignore=tests/PyroTests/test_naming.py
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix b/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
index d99a703b173c..3563edce792e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "deae0e6191a04c3ee213c6fae6ed779602ef5da5ca5e2fa533f27bc04326bfbe";
+    sha256 = "963fce07da2841456d39e3b932b071f6de28d23dadfae014022d67a752916f98";
   };
 
   # requires root priviledges
diff --git a/nixpkgs/pkgs/development/python-modules/pyrsistent/default.nix b/nixpkgs/pkgs/development/python-modules/pyrsistent/default.nix
index cabb96d22565..bbed677dfaf6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrsistent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrsistent/default.nix
@@ -2,23 +2,27 @@
 , buildPythonPackage
 , fetchPypi
 , six
-, pytest
+, pytest_4
 , hypothesis
 , pytestrunner
 }:
 
 buildPythonPackage rec {
   pname = "pyrsistent";
-  version = "0.15.2";
+  version = "0.15.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fjwnxg7q1b02j7hk1wqm5xdn7wck9j2g3ggkkizab6l77kjws8n";
+    sha256 = "f3b280d030afb652f79d67c5586157c5c1355c9a58dfc7940566e28d28f3df1b";
   };
 
   propagatedBuildInputs = [ six ];
 
-  checkInputs = [ pytestrunner pytest hypothesis ];
+  checkInputs = [ pytestrunner pytest_4 hypothesis ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace 'pytest<5' 'pytest'
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tobgu/pyrsistent/;
diff --git a/nixpkgs/pkgs/development/python-modules/pysam/default.nix b/nixpkgs/pkgs/development/python-modules/pysam/default.nix
index 05f2db8ac063..e5cc2cf9da07 100644
--- a/nixpkgs/pkgs/development/python-modules/pysam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysam/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname   = "pysam";
-  version = "0.15.2";
+  version = "0.15.3";
 
   # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
   # missing some files which cause test failures.
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pysam-developers";
     repo = "pysam";
     rev = "v${version}";
-    sha256 = "03aczbzx6gmvgy60fhswpwkry7a8zb5q1pbp55v5gx8hk15n40k1";
+    sha256 = "0g6md20gsr24pdr9b8nj403w31ixfjv8bjhdvg3x476kjiq1kvyb";
   };
 
   buildInputs = [ bzip2 curl cython lzma zlib ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
index 1528623aa0ec..8c0513b0b513 100644
--- a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyscard/default.nix b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
index 06e2690c111b..ddd8b0ce2954 100644
--- a/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchPypi, fetchpatch, buildPythonPackage, swig, pcsclite, PCSC }:
+{ stdenv, fetchPypi, buildPythonPackage, swig, pcsclite, PCSC }:
 
 let
   # Package does not support configuring the pcsc library.
@@ -9,12 +9,12 @@ let
 in
 
 buildPythonPackage rec {
-  version = "1.9.8";
+  version = "1.9.9";
   pname = "pyscard";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15fh00z1an6r5j7hrz3jlq0rb3jygwf3x4jcwsa008bv8vpcg7gm";
+    sha256 = "082cjkbxadaz2jb4rbhr0mkrirzlqyqhcf3r823qb0q1k50ybgg6";
   };
 
   postPatch = if withApplePCSC then ''
@@ -30,14 +30,6 @@ buildPythonPackage rec {
   NIX_CFLAGS_COMPILE = optionalString (! withApplePCSC)
     "-I ${getDev pcsclite}/include/PCSC";
 
-  # The error message differs depending on the macOS host version.
-  # Since Nix reports a constant host version, but proxies to the
-  # underlying library, it's not possible to determine the correct
-  # expected error message.  This patch allows both errors to be
-  # accepted.
-  # See: https://github.com/LudovicRousseau/pyscard/issues/77
-  patches = optionals withApplePCSC [ ./ignore-macos-bug.patch ];
-
   propagatedBuildInputs = if withApplePCSC then [ PCSC ] else [ pcsclite ];
   nativeBuildInputs = [ swig ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix b/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix
new file mode 100644
index 000000000000..2865380076ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, EasyProcess
+}:
+
+buildPythonPackage rec {
+  pname = "pyscreenshot";
+  version = "0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7322ad9454652b1702a3689646ce53ef01ed2b14869ea557030bd4e03a06fc0e";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/pyserial-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/pyserial-asyncio/default.nix
new file mode 100644
index 000000000000..c299ad8acae5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyserial-asyncio/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, pyserial }:
+
+buildPythonPackage rec {
+  pname = "pyserial-asyncio";
+  version = "0.4";
+
+  disabled = !isPy3k; # Doesn't support python older than 3.4
+
+  buildInputs = [ pyserial ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vlsb0d03krxlj7vpvyhpinnyxyy8s3lk5rs8ba2932dhyl7f1n4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "asyncio extension package for pyserial";
+    homepage = "https://github.com/pyserial/pyserial-asyncio";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyside/default.nix b/nixpkgs/pkgs/development/python-modules/pyside/default.nix
index 37ffd8e76e30..df309c5c68af 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa }:
+{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa, libGL }:
 
 # This derivation provides a Python module and should therefore be called via `python-packages.nix`.
 buildPythonPackage rec {
@@ -15,9 +15,9 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ cmake pysideGeneratorrunner pysideShiboken qt4 ];
 
-  buildInputs = [ mesa ];
+  buildInputs = [ mesa libGL ];
 
-  makeFlags = "QT_PLUGIN_PATH=" + pysideShiboken + "/lib/generatorrunner";
+  makeFlags = [ "QT_PLUGIN_PATH=${pysideShiboken}/lib/generatorrunner" ];
 
   meta = {
     description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
diff --git a/nixpkgs/pkgs/development/python-modules/pyside/shiboken.nix b/nixpkgs/pkgs/development/python-modules/pyside/shiboken.nix
index 42ad55ad0b95..a968935dc060 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside/shiboken.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside/shiboken.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   # gcc6 patch was also sent upstream: https://github.com/pyside/Shiboken/pull/86
   patches = [ ./gcc6.patch ] ++ (lib.optional (isPy35 || isPy36 || isPy37) ./shiboken_py35.patch);
 
-  cmakeFlags = if isPy3k then "-DUSE_PYTHON3=TRUE" else null;
+  cmakeFlags = lib.optional isPy3k "-DUSE_PYTHON3=TRUE";
 
   meta = {
     description = "Plugin (front-end) for pyside-generatorrunner, that generates bindings for C++ libraries using CPython source code";
diff --git a/nixpkgs/pkgs/development/python-modules/pyslurm/default.nix b/nixpkgs/pkgs/development/python-modules/pyslurm/default.nix
index 974ac4499ac8..7b0fba1a5aee 100644
--- a/nixpkgs/pkgs/development/python-modules/pyslurm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyslurm/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     homepage = https://github.com/PySlurm/pyslurm;
     description = "Python bindings to Slurm";
     license = licenses.gpl2;
-    maintainers = [ maintainers.veprbl ];
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pysmb/default.nix b/nixpkgs/pkgs/development/python-modules/pysmb/default.nix
new file mode 100644
index 000000000000..07de522f7962
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysmb/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, pyasn1
+}:
+
+buildPythonPackage rec {
+  pname = "pysmb";
+  version = "1.1.28";
+
+  src = fetchPypi {
+    inherit pname version;
+    format = "setuptools";
+    extension = "zip";
+    sha256 = "0x44yq440c1j3xnl7qigz2fpfzhx68n9mbj7ps7rd0kj0plcmr2q";
+  };
+
+  propagatedBuildInputs = [
+    pyasn1
+  ];
+
+  # Tests require Network Connectivity and a server up and running
+  #   https://github.com/miketeo/pysmb/blob/master/python3/tests/README_1st.txt
+  doCheck = false;
+
+  meta = {
+    description = "Experimental SMB/CIFS library written in Python to support file sharing between Windows and Linux machines";
+    homepage = "https://miketeo.net/wp/index.php/projects/pysmb";
+    license = lib.licenses.zlib;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pysmbc/default.nix b/nixpkgs/pkgs/development/python-modules/pysmbc/default.nix
index b6068a65fbd3..18ee419e8e5a 100644
--- a/nixpkgs/pkgs/development/python-modules/pysmbc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysmbc/default.nix
@@ -3,13 +3,13 @@
 , setuptools }:
 
 buildPythonPackage rec {
-  version = "1.0.16";
+  version = "1.0.18";
   pname = "pysmbc";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.bz2";
-    sha256 = "62199b5cca02c05d5f3b9edbc9a864fb8a2cbe47a465c0b9461642eb3b6f5aca";
+    sha256 = "5da8aef1e3edaaffb1fbe2afe3772ba0a5f5bf666a28ae5db7b59ef96e465bdf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysnmp/default.nix b/nixpkgs/pkgs/development/python-modules/pysnmp/default.nix
index ae4c273fc00e..e40271289935 100644
--- a/nixpkgs/pkgs/development/python-modules/pysnmp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysnmp/default.nix
@@ -8,13 +8,15 @@
 
 buildPythonPackage rec {
   pname = "pysnmp";
-  version = "4.4.11";
+  version = "4.4.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1v7vz045pami4nx5hfvk8drarcswjclb0pfmg932x95fddbdx2zy";
+    sha256 = "1acbfvpbr45i137s00mbhh21p71ywjfw3r8z0ybcmjjqz7rbwg8c";
   };
 
+  patches = [ ./setup.py-Fix-the-setuptools-version-check.patch ];
+
   # NameError: name 'mibBuilder' is not defined
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pysnmp/setup.py-Fix-the-setuptools-version-check.patch b/nixpkgs/pkgs/development/python-modules/pysnmp/setup.py-Fix-the-setuptools-version-check.patch
new file mode 100644
index 000000000000..784ddd3f3427
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysnmp/setup.py-Fix-the-setuptools-version-check.patch
@@ -0,0 +1,27 @@
+From 5f843f7c8554e2feab7f57d8718231408196fd80 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Fri, 1 Nov 2019 18:47:14 +0100
+Subject: [PATCH] setup.py: Fix the setuptools version check
+
+This broke the Nix build after setuptools.__version__ changed from
+"41.2.0" to "41.4.0.post20191022".
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 0d987d5c..4f625d7c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -63,7 +63,7 @@ try:
+ 
+     setup, Command = setuptools.setup, setuptools.Command
+ 
+-    observed_version = [int(x) for x in setuptools.__version__.split('.')]
++    observed_version = [int(x) for x in setuptools.__version__.split('.')[0:3]]
+     required_version = [36, 2, 0]
+ 
+     # NOTE(etingof): require fresh setuptools to build proper wheels
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix b/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix
new file mode 100644
index 000000000000..bb41a4d18556
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-toolbox
+, pytest
+, isPy27
+}:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "pysnooper";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "PySnooper";
+    sha256 = "14vcxrzfmfhsmdck1cb56a6lbfga15qfhlkap9mh47fgspcq8xkx";
+  };
+
+  # test dependency python-toolbox fails with py27
+  doCheck = !isPy27;
+
+  checkInputs = [
+    python-toolbox
+    pytest
+  ];
+
+  meta = with lib; {
+    description = "A poor man's debugger for Python";
+    homepage = https://github.com/cool-RR/PySnooper;
+    license = licenses.mit;
+    maintainers = with maintainers; [ seqizz ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pysocks/default.nix b/nixpkgs/pkgs/development/python-modules/pysocks/default.nix
index ae17ed351050..e8d853d625d4 100644
--- a/nixpkgs/pkgs/development/python-modules/pysocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysocks/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pysocks";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     pname = "PySocks";
     inherit version;
-    sha256 = "0z4p31bpqm893cf87qqgb30k7nwd8kqfjwwjm5cvxb6zbyj1w0yr";
+    sha256 = "184sg65mbmih6ljblfsxcmq5js5l7dj3gpn618w9q5dy3rbh921z";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/pysonos/default.nix b/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
index ad0db8dc8bcb..ddab28471a8c 100644
--- a/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pysonos";
-  version = "0.0.22";
+  version = "0.0.24";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a4fe630b97c81261246a448fe9dd2bdfaacd7df4453cf72f020599171416442";
+    sha256 = "294ffce5394a3e0da6a6f4e23f84031f06d9eb76eaa362507c0b1033ffbf69b4";
   };
 
   propagatedBuildInputs = [ xmltodict requests ifaddr ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
index 45c84d167539..dd83e87d724b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspark";
-  version = "2.4.3";
+  version = "2.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6839718ce9f779e81153d8a14a843a5c4b2d5e6574f3c916aec241022d717cb2";
+    sha256 = "13655eb113b8cf5f3f85b24fd92f86c4668a723723bd68949d028fa0df2cf694";
   };
 
   # pypandoc is broken with pandoc2, so we just lose docs.
diff --git a/nixpkgs/pkgs/development/python-modules/pyspf/default.nix b/nixpkgs/pkgs/development/python-modules/pyspf/default.nix
index c4ebaf160fa6..8f1fc795ea9f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspf/default.nix
@@ -1,16 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, pydns }:
+{ lib, python, buildPythonPackage, fetchFromGitHub, pydns }:
 
 buildPythonPackage rec {
   pname = "pyspf";
-  version = "2.0.12";
+  version = "2.0.14";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "18j1rmbmhih7q6y12grcj169q7sx1986qn4gmpla9y5gwfh1p8la";
+  src = fetchFromGitHub {
+    owner = "sdgathman";
+    repo = pname;
+    rev = "pyspf-${version}";
+    sha256 = "0bmimlmwrq9glnjc4i6pwch30n3y5wyqmkjfyayxqxkfrixqwydi";
   };
 
   propagatedBuildInputs = [ pydns ];
 
+  # requires /etc/resolv.conf to exist
+  doCheck = false;
+
   meta = with lib; {
     homepage = http://bmsi.com/python/milter.html;
     description = "Python API for Sendmail Milters (SPF)";
diff --git a/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix b/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix
index 9316e85b2608..c30b8ee891a6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyspotify";
-  version = "2.0.5";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://github.com/mopidy/pyspotify/archive/v${version}.tar.gz";
-    sha256 = "1ilbz2w1gw3f1bpapfa09p84dwh08bf7qcrkmd3aj0psz57p2rls";
+    sha256 = "0g3dvwpaz7pqrdx53kyzkh31arlmdzz1hb7jp8m488lbsf47w6nd";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysvn/default.nix b/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
index 2dcb7908522a..c1c765f1adc9 100644
--- a/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
@@ -53,6 +53,7 @@ buildPythonPackage rec {
     description = "Python bindings for Subversion";
     homepage = http://pysvn.tigris.org/;
     license = licenses.asl20;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix b/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
index 46d4135d6afb..6b19a8f0c735 100644
--- a/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
@@ -1,21 +1,46 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , taglib
 , cython
 , pytest
 , glibcLocales
+, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname   = "pytaglib";
   version = "1.4.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8aec64bc146a9f72778a0d2d1f3448f58be6ebea68f64b0ff88ea8e0f4dc5d8f";
+  src = fetchFromGitHub {
+    owner = "supermihi";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1gvvadlgk8ny8bg76gwvvfcwp1nfgrjphi60h5f9ha7h5ff1g2wb";
   };
 
+  patches = [
+    # fix tests on python 2.7
+    (fetchpatch {
+      url = https://github.com/supermihi/pytaglib/commit/0c4ae750fcd5b18d2553975c7e3e183e9dca5bf1.patch;
+      sha256 = "1kv3c68vimx5dc8aacvzphiaq916avmprxddi38wji8p2ql6vngj";
+    })
+
+    # properly install pyprinttags
+    (fetchpatch {
+      url = https://github.com/supermihi/pytaglib/commit/ba7a1406ddf35ddc41ed57f1c8d1f2bc2ed2c93a.patch;
+      sha256 = "0pi0dcq7db5fd3jnbwnfsfsgxvlhnm07z5yhpp93shk0s7ci2bwp";
+    })
+    (fetchpatch {
+      url = https://github.com/supermihi/pytaglib/commit/28772f6f94d37f05728071381a0fa04c6a14783a.patch;
+      sha256 = "0h259vzj1l0gpibdf322yclyd10x5rh1anzhsjj2ghm6rj6q0r0m";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pytest-runner', " ""
+  '';
+
   buildInputs = [ taglib cython ];
 
   checkInputs = [ pytest glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix b/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
index e8146a6fc7ff..b6d45980e537 100644
--- a/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytesseract";
-  version = "0.2.9";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mjr3pa4fycdsl7xk9s8fpn2vhpgx7mrdnn5h4lyyjhz86195ivg";
+    sha256 = "1j7d4aa6v1nd3pd1vrfmkv8mbmw0x78cjfpkq3nxpy1r4hj5nwq3";
   };
 
   patches = [
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = https://pypi.org/project/pytesseract/;
-    license = licenses.gpl3;
+    license = licenses.asl20;
     description = "A Python wrapper for Google Tesseract";
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch b/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
index f7eb9fb1d42a..27b042bbaa52 100644
--- a/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
+++ b/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
@@ -1,13 +1,13 @@
 diff --git a/src/pytesseract.py b/src/pytesseract.py
-index 32713cf..5f9209d 100755
+index 132f59b..f161e5c 100755
 --- a/src/pytesseract.py
 +++ b/src/pytesseract.py
-@@ -25,7 +25,7 @@ if numpy_installed:
-     from numpy import ndarray
+@@ -23,7 +23,7 @@ except ImportError:
+     import Image
+ 
  
- # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
 -tesseract_cmd = 'tesseract'
 +tesseract_cmd = '@drv@/bin/tesseract'
- RGB_MODE = 'RGB'
- OSD_KEYS = {
-     'Page number': ('page_num', int),
+ 
+ numpy_installed = find_loader('numpy') is not None
+ if numpy_installed:
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
index 12a7baa55bf5..c21ae854c9a7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.2";
+  version = "1.0.3";
   pname = "pytest-annotate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03e4dece2d1aa91666034f1b2e8bb7a7b8c6be11baf3cf2929b26eea5c6e86f3";
+    sha256 = "1ef5924aca93a7b47edaf46a38284fb5a173eed5e3b1a93ec00c8e35f0dd76ab";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
new file mode 100644
index 000000000000..e215feac44f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, execnet
+, glob2
+, Mako
+, mock
+, parse
+, parse-type
+, py
+, pytest
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-bdd";
+  version = "3.2.1";
+
+  # tests are not included in pypi tarball
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = pname;
+    rev = version;
+    sha256 = "02y28l5h1m9grj54p681qvv7nrhd7ly9jkqdchyw4p0lnmcmnsrd";
+  };
+
+  propagatedBuildInputs = [ glob2 Mako parse parse-type py pytest six ];
+
+  # Tests require extra dependencies
+  checkInputs = [ execnet mock pytest ];
+  checkPhase = ''
+    pytest
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "BDD library for the py.test runner";
+    homepage = https://github.com/pytest-dev/pytest-bdd;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jm2dev ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
index b43c00e42d9f..924f16694c53 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "1hslzzinpwc1zqhbpllqh3sllmiyk69pcycl7ahr0rz3micgwczj";
   };
 
-  propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optional (pythonOlder "3.4") [ pathlib statistics ];
+  propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optionals (pythonOlder "3.4") [ pathlib statistics ];
 
   meta = {
     description = "Py.test fixture for benchmarking code";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-black/black-version.patch b/nixpkgs/pkgs/development/python-modules/pytest-black/black-version.patch
new file mode 100644
index 000000000000..93bb4180930c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-black/black-version.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 5c9ce5f..84b148a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -26,6 +26,6 @@ setup(
+     python_requires=">=2.7",
+     install_requires=[
+         "pytest>=3.5.0",
+-        'black==19.3b0; python_version >= "3.6"',
++        'black; python_version >= "3.6"',
+         "toml",
+     ],
+     use_scm_version=True,
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-black/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-black/default.nix
new file mode 100644
index 000000000000..b129f9eec4b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-black/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi
+, black
+, pytest
+, setuptools_scm
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-black";
+  version = "0.3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03gwwy1h3qnfh6vpfhgsa5ag53a9sw1g42sc2s8a2hilwb7yrfvm";
+  };
+
+  patches = [ ./black-version.patch ];
+  nativeBuildInputs = [ setuptools_scm ];
+
+  propagatedBuildInputs = [ black pytest toml ];
+
+  meta = with lib; {
+    description = "A pytest plugin to enable format checking with black";
+    homepage = "https://github.com/shopkeep/pytest-black";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
index 9ddec4199d7f..e376abbc33a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-cov";
-  version = "2.6.1";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ab664b25c6aa9716cbf203b17ddb301932383046082c081b9848a0edf5add33";
+    sha256 = "cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
index 794a1e8bf20f..6b60eb6d3c58 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
@@ -10,11 +10,11 @@
 }:
 buildPythonPackage rec {
   pname = "pytest-django";
-  version = "3.5.1";
+  version = "3.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fynkswykgnqn8wqibavf598md5p005ilcac6sk4hpfv0v2v8kr6";
+    sha256 = "17592f06d51c2ef4b7a0fb24aa32c8b6998506a03c8439606cb96db160106659";
   };
 
   nativeBuildInputs = [ pytest setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
index a132fdd26f85..cdf60b7b07c6 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-doctestplus";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e641bc720661c08ec3afe44a7951660cdff5e187259c433aa66e9ec2d5ccea1";
+    sha256 = "41386187b9261cd59a3ffe4cf9df58d517288a1d3f11d96749b39b4e38b0a02c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-faulthandler/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-faulthandler/default.nix
index 9fddb743964c..b9ac354abfd7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-faulthandler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-faulthandler/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-faulthandler";
-  version = "1.6.0";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bvfy6yyh2zlsrkpfmxy17149752m9y6ji9d34qp44bnci83dkjq";
+    sha256 = "ed72bbce87ac344da81eb7d882196a457d4a1026a3da4a57154dacd85cd71ae5";
   };
 
   nativeBuildInputs = [ setuptools_scm pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
index b3ea60174a65..472e0b3559d0 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-forked";
-  version = "1.0.2";
+  version = "1.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d352aaced2ebd54d42a65825722cb433004b4446ab5d2044851d9cc7a00c9e38";
+    sha256 = "1805699ed9c9e60cb7a8179b8d4fa2b8898098e82d229b0825d8095f0f261100";
   };
 
   buildInputs = [ pytest setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
index 58e032df4df0..c4ef0d811117 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "1.10.4";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568";
+    sha256 = "e24a911ec96773022ebcc7030059b57cd3480b56d4f5d19b7c370ec635e6aed5";
   };
 
   propagatedBuildInputs = lib.optional (!isPy3k) mock;
@@ -27,18 +27,8 @@ buildPythonPackage rec {
     pytest
   ];
 
-  patches = [
-    # Fix tests for pytest 4.6. Remove with the next release
-    (fetchpatch {
-      url = "https://github.com/pytest-dev/pytest-mock/commit/189cc599d3bfbe91a17c93211c04237b6c5849b1.patch";
-      sha256 = "13nk75ldab3j8nfzyd9w4cgfk2fxq4if1aqkqy82ar7y7qh07a7m";
-    })
-  ];
-
   checkPhase = ''
-    # remove disabled test on next release
-    # https://github.com/pytest-dev/pytest-mock/pull/151
-    pytest -k "not test_detailed_introspection"
+    pytest
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
index edf0450366c5..d86647b7503a 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -4,15 +4,16 @@
 , pytest
 , matplotlib
 , nose
+, pillow
 }:
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7006e63bf1ca9c50bea3d189c0f862751a16ce40bb373197b218f57af5b837c0";
+    sha256 = "26c5a47a8fdbc04652f18b65c587da642c6cc0354680ee44b16c161d9800a2ce";
   };
 
   buildInputs = [ pytest ];
@@ -20,6 +21,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     matplotlib
     nose
+    pillow
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mypy/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mypy/default.nix
index 09d79b337919..4fb2146d7a74 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mypy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mypy";
-  version = "0.3.2";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "acc653210e7d8d5c72845a5248f00fd33f4f3379ca13fe56cfc7b749b5655c3e";
+    sha256 = "5a5338cecff17f005b181546a13e282761754b481225df37f33d37f86ac5b304";
   };
 
   propagatedBuildInputs = [ pytest mypy ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-openfiles/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-openfiles/default.nix
index dbce114d7bf8..0fb23f245fbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-openfiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-openfiles/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-openfiles";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e51c91889eb9e4c75f47735efc57a1435f3f1182463600ba7bce7f2556a46884";
+    sha256 = "af591422f2bfa95f7690d83aeb8d76bd5421cb8b1dcaf085d58cd92e8d92058d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix
new file mode 100644
index 000000000000..201da93b0187
--- /dev/null
+++ b/nixpkgs/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.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/pytest-relaxed/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-relaxed/default.nix
index bd92577d5bac..4de823c2c870 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-relaxed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-relaxed/default.nix
@@ -7,18 +7,21 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.1.4";
+  version = "1.1.5";
   pname = "pytest-relaxed";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "511ac473252baa67d5451f7864516e2e8f1acedf0cef71f79d2ed916ee04e146";
+    sha256 = "e39a7e5b14e14dfff0de0ad720dfffa740c128d599ab14cfac13f4deb34164a6";
   };
 
-  propagatedBuildInputs = [ pytest six decorator ];
+  buildInputs = [ pytest ];
+  checkInputs = [ pytest ];
+
+  propagatedBuildInputs = [ six decorator ];
 
   patchPhase = ''
-    sed -i "s/pytest>=3,<3.3/pytest/g" setup.py
+    sed -i "s/pytest>=3,<5/pytest/g" setup.py
   '';
 
   # skip tests due to dir requirements
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
index 2bf3a7f6cac4..7d801a2789c5 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-remotedata";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15b75a38431da96a4da5e48b20a18e4dcc40d191abc199b17cb969f818530481";
+    sha256 = "e20c58d4b7c359c4975dc3c3d3d67be0905180d2368be0be3ae09b15a136cfc0";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
index afd36155cf78..768ad5967342 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index 79ce9fa63a9b..f5c35905cf65 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
index c760b6a5542a..647d7abb07c4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-sanic";
-  version = "1.0.0";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vlaq6p9g2p1xj9wshmin58p1faf5h9rcxvmjapx26zv8n23rnm1";
+    sha256 = "61a60e1b0456b2ceaeeb7173783f3450332c3609017fb6b18176b307f7186d3a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-services/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-services/default.nix
index 2a4c5591a5f5..c940dcadc7ea 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-services/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-services/default.nix
@@ -6,21 +6,23 @@
 , psutil
 , pytest
 , subprocess32
+, zc_lockfile
 }:
 
 buildPythonPackage rec {
   pname = "pytest-services";
-  version = "1.3.1";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "035bc9ce8addb33f7c2ec95a9c0c88926d213a6c2e12b2c57da31a4ec0765f2c";
+    sha256 = "0848cead86d3816b9c4e37cecfda31d21a4366f0dca2313ea29f3ca375c6295d";
   };
 
   propagatedBuildInputs = [
     requests
     psutil
     pytest
+    zc_lockfile
   ] ++ lib.optional (!isPy3k) subprocess32;
 
   # no tests in PyPI tarball
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
index 17fb56a0588b..b8535da4c7ac 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -7,21 +7,22 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "0.9.18";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05648f9b22aeeda9d32e61b46fa78c9ff28f217d69005b3b19ffb75d5992187e";
+    sha256 = "b823b03faf5778d1e15fb9f52e104df4da9c1021daeb313b339fccbbfb8dbd5f";
   };
 
-  buildInputs = [ pytest ];
-
   propagatedBuildInputs = [ coverage ];
 
   checkInputs = [ pytest ];
 
+  # avoid tests which try to import unittest_mixins
+  # unittest_mixins doesn't seem to be very active
   checkPhase = ''
-    pytest --deselect=test/test_testmon.py::TestmonDeselect::test_dependent_testmodule
+    cd test
+    pytest test_{core,process_code,pytest_assumptions}.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
index a2796fba5d8f..c8e41fdaa35d 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "1.28.0";
+  version = "1.30.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f83a485293e81fd57c8a5a85a3f12473a532c5ca7dec518857cbb72766bb526c";
+    sha256 = "5d1b1d4461518a6023d56dab62fb63670d6f7537f23e2708459a557329accf48";
   };
 
   nativeBuildInputs = [ setuptools_scm pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-xvfb/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-xvfb/default.nix
new file mode 100644
index 000000000000..b9ae9be428d3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest/4.nix b/nixpkgs/pkgs/development/python-modules/pytest/4.nix
index 7a43a2e2517b..2524dc61afdc 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest/4.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest/4.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy
 }:
 buildPythonPackage rec {
-  version = "4.6.5";
+  version = "4.6.8";
   pname = "pytest";
 
   preCheck = ''
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fc39199bdda3d9d025d3b1f4eb99a192c20828030ea7c9a0d2840721de7d347";
+    sha256 = "6192875be8af57b694b7c4904e909680102befcb99e610ef3d9f786952f795aa";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/default.nix b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
index 1ddf52a33bd5..48b6e89a10ea 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy, python
 }:
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "5.3.2";
   pname = "pytest";
 
   disabled = !isPy3k;
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3805d095f1ea279b9870c3eeae5dddf8a81b10952c8835cd628cf1875b0ef031";
+    sha256 = "6b571215b5a790f9b41f19f3531c53a45cf6bb8ef2988bc1ff9afb38270b25fa";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytestrunner/default.nix b/nixpkgs/pkgs/development/python-modules/pytestrunner/default.nix
index 78ad4d2abc8c..fa937e9626c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pytestrunner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytestrunner/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-runner";
-  version = "4.2";
+  version = "5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be";
+    sha256 = "96c7e73ead7b93e388c5d614770d2bae6526efd997757d3543fe17b557a0942b";
   };
 
   nativeBuildInputs = [ setuptools_scm pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-binance/default.nix b/nixpkgs/pkgs/development/python-modules/python-binance/default.nix
index 9ed165f93b11..62aa11749a8a 100644
--- a/nixpkgs/pkgs/development/python-modules/python-binance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-binance/default.nix
@@ -3,12 +3,12 @@
 , autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted }:
 
 buildPythonPackage rec {
-  version = "0.7.1";
+  version = "0.7.4";
   pname = "python-binance";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ce406da68bfbc209ae6852d1b8a2812708d04502f82a61b0c9ca41356cc6ab7";
+    sha256 = "7d0b81a9d395fd071581d275af09a31f0c5ae3ecb25a3f47faaaf1eff779de3f";
   };
 
   doCheck = false;  # Tries to test multiple interpreters with tox
diff --git a/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix b/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
index 93c051064049..e33aee6c1c91 100644
--- a/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
@@ -1,20 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }:
+{ lib, buildPythonPackage, fetchPypi
+, docutils
+, lockfile
+, mock
+, pytest
+, testscenarios
+, twine
+}:
 
 buildPythonPackage rec {
   pname = "python-daemon";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "affeca9e5adfce2666a63890af9d6aff79f670f7511899edaddca7f96593cc25";
+    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/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix b/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
index bee0cab0a3f5..57f6fd7bf676 100644
--- a/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
@@ -1,19 +1,22 @@
-{ lib, buildPythonPackage, fetchPypi,
+{ lib, buildPythonPackage, fetchPypi, runtimeShell,
   nose, dbus, dbus-python, pygobject3,
   which, pyflakes, pycodestyle, bluez, networkmanager
 }:
 
 buildPythonPackage rec {
   pname = "python-dbusmock";
-  version = "0.18.1";
+  version = "0.18.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hj02p65cic4jdc6a5xf1hx8j5icwy7dcrm5kg91lkjks4gwpg5h";
+    sha256 = "994a178268b6d74aeb158c0f155cd141e9a0cfae14226a764cd022c4949fe242";
   };
 
   prePatch = ''
-    sed -i -e 's|pyflakes3|pyflakes|g' tests/test_code.py;
+    substituteInPlace tests/test_code.py \
+      --replace "pyflakes3" "pyflakes" \
+      --replace "/bin/bash" "${runtimeShell}" \
+      --replace "--ignore=E124,E402,E731,W504" "--ignore=E124,E402,E731,W504,E501" # ignore long lines too
   '';
 
   # TODO: Get the rest of these tests running?
diff --git a/nixpkgs/pkgs/development/python-modules/python-doi/default.nix b/nixpkgs/pkgs/development/python-modules/python-doi/default.nix
new file mode 100644
index 000000000000..0cb6b2a7502d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-doi/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "python-doi";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "papis";
+    repo = "python-doi";
+    rev = "v${version}";
+    sha256 = "1wa5inh2a0drjswrnhjv6m23mvbfdgqj2jb8fya7q0armzp7l6fr";
+  };
+
+  disabled = !isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "Python library to work with Document Object Identifiers (doi)";
+    homepage = https://github.com/alejandrogallo/python-doi;
+    maintainers = with maintainers; [ teto ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
index beb57ac491af..5cf1efc49b7e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "python-efl";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/bindings/python/${pname}-${version}.tar.xz";
-    sha256 = "1qhy63c3fs2bxkx2np5z14hyxbr12ii030crsjnhpbyw3mic0s63";
+    sha256 = "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     homepage = https://phab.enlightenment.org/w/projects/python_bindings_for_efl/;
     platforms = platforms.linux;
     license = with licenses; [ gpl3 lgpl3 ];
-    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ];
+    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index bf6d4cd23817..e1c380b64c3a 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
index bbd05b6757b2..bbdf7aa6033c 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gitlab";
-  version = "1.9.0";
+  version = "1.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p0i6gsl4mcv6w1sm0rsxq9bq2cmmg3n7c0dniqlvqmzkk62qqhx";
+    sha256 = "45125a0ed4d0027d4317bdbd71ca02fc52b0ac160b9d2c3c5be131b4d19f867e";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix b/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
index 728a353cec7f..90dee35d290a 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gnupg";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "45daf020b370bda13a1429c859fcdff0b766c0576844211446f9266cae97fb0e";
+    sha256 = "01gckjhvsmr6kfwfk4qdxm5jz8nq8zilbjhzpzpiab6d96cyalrk";
   };
 
   # Let's make the library default to our gpg binary
diff --git a/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix b/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
index c2fcb5440ad6..1fdd036bd127 100644
--- a/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "python-hosts";
-  version = "0.4.5";
+  version = "0.4.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e5f04430fdaf09d6a7d9e82aa989669bc70fbba3e3e263f112a3e85193259b6";
+    sha256 = "0jdpihj8ajn6pqqa9viw0043l5wvbzgk81rnyk2134iyzhg06z80";
   };
 
   # win_inet_pton is required for windows support
diff --git a/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix b/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
index 9cd55757aac7..aea31053c5a0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
@@ -4,6 +4,7 @@
 , mock
 , pbr
 , pyyaml
+, setuptools
 , six
 , multi_key_dict
 , testscenarios
@@ -14,15 +15,15 @@
 
 buildPythonPackage rec {
   pname = "python-jenkins";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h14hfcwichmppbgxf1k8njw29hchpav1kj574b4lly3j0n2vnag";
+    sha256 = "1aa6rnzlzdgndiwjdbnklgz5pqy5zd7d6g7bhzsvyf0614z1w010";
   };
 
   buildInputs = [ mock ];
-  propagatedBuildInputs = [ pbr pyyaml six multi_key_dict requests ];
+  propagatedBuildInputs = [ pbr pyyaml setuptools six multi_key_dict requests ];
 
   checkInputs = [ unittest2 testscenarios requests-mock ];
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
index 76508d1ec96f..b029373bdca7 100644
--- a/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, isPy27
-, backports_functools_lru_cache, configparser, futures, future, jedi, pluggy, python-jsonrpc-server
+, backports_functools_lru_cache, configparser, futures, future, jedi, pluggy, python-jsonrpc-server, flake8
 , pytest, mock, pytestcov, coverage, setuptools
 , # Allow building a limited set of providers, e.g. ["pycodestyle"].
   providers ? ["*"]
@@ -21,13 +21,13 @@ in
 
 buildPythonPackage rec {
   pname = "python-language-server";
-  version = "0.28.1";
+  version = "0.29.1";
 
   src = fetchFromGitHub {
     owner = "palantir";
     repo = "python-language-server";
     rev = version;
-    sha256 = "0xa0zw7hlfqqa305ic4csgfmlbxhklb5xzx72mfkcz8gcc0f5qwd";
+    sha256 = "0hsp0h8vma8z6f0mg311hp59h6hayl7zzxmy295x5fl2l9iiakfv";
   };
 
   # The tests require all the providers, disable otherwise.
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     HOME=$TEMPDIR pytest
   '';
 
-  propagatedBuildInputs = [ setuptools jedi pluggy future python-jsonrpc-server ]
+  propagatedBuildInputs = [ setuptools jedi pluggy future python-jsonrpc-server flake8 ]
     ++ stdenv.lib.optional (withProvider "autopep8") autopep8
     ++ stdenv.lib.optional (withProvider "mccabe") mccabe
     ++ stdenv.lib.optional (withProvider "pycodestyle") pycodestyle
diff --git a/nixpkgs/pkgs/development/python-modules/python-logstash/default.nix b/nixpkgs/pkgs/development/python-modules/python-logstash/default.nix
new file mode 100644
index 000000000000..f4ecccf06832
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-logstash/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "python-logstash";
+  version = "0.4.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13763yx0k655y0c8gxv7jj6cqp45zypx2fmnc56jnn9zz1fkx50h";
+  };
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python logging handler for Logstash";
+    homepage = https://github.com/vklochan/python-logstash;
+    maintainers = with maintainers; [ peterromfeldhk ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-lzf/default.nix b/nixpkgs/pkgs/development/python-modules/python-lzf/default.nix
new file mode 100644
index 000000000000..e8b89563f03a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-lzf/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  version = "0.2.4";
+  pname = "python-lzf";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1l8m6vzwm1m8hn7ldw8j8r2b6r199k8z3q0wnhdyy4p68hahyhni";
+  };
+
+  meta = with stdenv.lib; {
+    description = "liblzf python bindings";
+    homepage = https://github.com/teepark/python-lzf;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix b/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix
new file mode 100644
index 000000000000..5025b86361a3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchPypi, buildPythonPackage, lzo, nose }:
+
+buildPythonPackage rec {
+  pname = "python-lzo";
+  version = "1.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0iakqgd51n1cd7r3lpdylm2rgbmd16y74cra9kcapwg84mlf9a4p";
+  };
+
+  buildInputs = [ lzo ];
+  propagatedBuildInputs = [ ];
+  checkInputs = [ nose ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jd-boyd/python-lzo";
+    description = "Python bindings for the LZO data compression library";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.jbedo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
new file mode 100644
index 000000000000..e3e75d886043
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytestcov
+, mock
+, pyyaml
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "python-multipart";
+  version = "0.0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    mock
+    pyyaml
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "A streaming multipart parser for Python";
+    homepage = https://github.com/andrew-d/python-multipart;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-nomad/default.nix b/nixpkgs/pkgs/development/python-modules/python-nomad/default.nix
new file mode 100644
index 000000000000..c4ec84512a62
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-nomad/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "python-nomad";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rf6ad35vg3yi1p4l383xwx0ammdvr1k71bxg93bgcvljypx4cyn";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Tests require nomad agent
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python client library for Hashicorp Nomad";
+    homepage = "https://github.com/jrxFive/python-nomad";
+    license = licenses.mit;
+    maintainers = with maintainers; [ xbreak ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-oauth2/default.nix b/nixpkgs/pkgs/development/python-modules/python-oauth2/default.nix
index e8c71bff18b2..4361b0a108dd 100644
--- a/nixpkgs/pkgs/development/python-modules/python-oauth2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-oauth2/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "python-oauth2";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b24da812837c19183df1924e80a22ba0a1869582dea8b04a9ecd807b04dbc525";
+    sha256 = "d7a8544927ac18215ba5317edd8f640a5f1f0593921bcf3ce862178312c8c9a4";
   };
   # attempts to run mysql
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/python-olm/default.nix b/nixpkgs/pkgs/development/python-modules/python-olm/default.nix
new file mode 100644
index 000000000000..4fc0ad66f95b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-periphery/default.nix b/nixpkgs/pkgs/development/python-modules/python-periphery/default.nix
index 38642f066d77..4d10c985092b 100644
--- a/nixpkgs/pkgs/development/python-modules/python-periphery/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-ptrace/default.nix b/nixpkgs/pkgs/development/python-modules/python-ptrace/default.nix
index ad0a17da2ac8..426b956880ad 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ptrace/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-ptrace/default.nix
@@ -1,20 +1,23 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, six
 }:
 
 buildPythonPackage rec {
   pname = "python-ptrace";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "019jlpya2d2b3vbg037hnj4z0f564r7ibygayda7bm7qbpw0sa4g";
+    sha256 = "9885e9003e4a99c90b3bca1be9306181c9b40a33fc6e17b81027709be5e5cb87";
   };
 
   # requires distorm, which is optionally
   doCheck = false;
 
+  propagatedBuildInputs = [ six ];
+
   meta = with stdenv.lib; {
     description = "Python binding of ptrace library";
     homepage = https://github.com/vstinner/python-ptrace;
diff --git a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
index c25f97434b05..9c2b18ba0069 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
@@ -8,13 +8,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.7.2";
+  version = "0.9.1";
   pname = "python-rapidjson";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z8wzl5mjzs97y7sbhlm59kak3z377xln3z8lkjwrsh2sh5c9x3v";
+    sha256 = "ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1";
   };
 
   LC_ALL="en_US.utf-8";
diff --git a/nixpkgs/pkgs/development/python-modules/python-redis-lock/default.nix b/nixpkgs/pkgs/development/python-modules/python-redis-lock/default.nix
index 65c5e08d934c..8aad5a1a7d2f 100644
--- a/nixpkgs/pkgs/development/python-modules/python-redis-lock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-redis-lock/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "python-redis-lock";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5316d473ce6ce86a774b9f9c110d84c3a9bd1a2abfda5d99e9c0c8a872a8e6d6";
+    sha256 = "8e3ef458b9424daf35d587e69b63416a0c55ac46303f3aaff1bab4fe5a8f1e92";
   };
 
   checkInputs = [ pytest process-tests pkgs.redis ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-slugify/default.nix b/nixpkgs/pkgs/development/python-modules/python-slugify/default.nix
index 699d370af757..008e5e25a480 100644
--- a/nixpkgs/pkgs/development/python-modules/python-slugify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-slugify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
     pname = "python-slugify";
-    version = "3.0.2";
+    version = "4.0.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758";
+      sha256 = "a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c";
     };
 
     propagatedBuildInputs = [ text-unidecode ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
index 5dff7189e66c..8f85f991534d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "3.1.2";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa702157694d55a743fb6f1cc0bd1af58fbfda8a7d71d747d4b12d6dac29cab3";
+    sha256 = "48cba5b827ac665dbf923a4f5ec590812aed5299a831fc43576a9af346272534";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix b/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix
index 06577249a02d..556be12872b5 100644
--- a/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
index 5af4383d44b3..52fe5209ade2 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "11.1.0";
+  version = "12.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cca4e32ebb8da7fdf35ab2fa2b3edd441211364819c5592fc253acdb7561ea5b";
+    sha256 = "346d42771c2b23384c59f5f41e05bd7e801a0ce118d8dcb95209bb73d5f694c5";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-toolbox/default.nix b/nixpkgs/pkgs/development/python-modules/python-toolbox/default.nix
new file mode 100644
index 000000000000..5170c5a8a090
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-toolbox/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, docutils
+, fetchFromGitHub
+, isPy27
+, nose
+}:
+
+buildPythonPackage rec {
+  version = "0.9.4";
+  pname = "python_toolbox";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "cool-RR";
+    repo = pname;
+    rev = version;
+    sha256 = "1qy2sfqfrkgxixmd22v5lkrdykdfiymsd2s3xa7ndlvg084cgj6r";
+  };
+
+  checkInputs = [
+    docutils
+    nose
+  ];
+
+  meta = with lib; {
+    description = "Tools for testing PySnooper";
+    homepage = https://github.com/cool-RR/python_toolbox;
+    license = licenses.mit;
+    maintainers = with maintainers; [ seqizz ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-twitter/default.nix b/nixpkgs/pkgs/development/python-modules/python-twitter/default.nix
new file mode 100644
index 000000000000..6210c13f56e8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-twitter/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pytestrunner
+, future
+, requests
+, responses
+, requests_oauthlib
+, pytest
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "python-twitter";
+  version = "3.5";
+
+  # No tests in PyPi Tarball
+  src = fetchFromGitHub {
+    owner = "bear";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "08ydmf6dcd416cvw6xq1wxsz6b9s21f2mf9fh3y4qz9swj6n9h8z";
+  };
+
+  patches = [
+    # Fix tests. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/bear/python-twitter/commit/f7eb83d9dca3ba0ee93e629ba5322732f99a3a30.patch";
+      sha256 = "008b1bd03wwngs554qb136lsasihql3yi7vlcacmk4s5fmr6klqw";
+    })
+  ];
+
+  nativeBuildInputs = [ pytestrunner ];
+  propagatedBuildInputs = [ future requests requests_oauthlib ];
+  checkInputs = [ pytest responses hypothesis ];
+
+  meta = with stdenv.lib; {
+    description = "A Python wrapper around the Twitter API";
+    homepage = "https://github.com/bear/python-twitter";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
index ba5a527fdb08..8f6c7c54cb2e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   buildInputs = [ udev ];
 
-  NIX_CFLAGS_LINK = [ "-ludev" ];
+  NIX_CFLAGS_LINK = "-ludev";
 
   meta = with stdenv.lib; {
     description = "Pythonic API to Linux uinput kernel module";
diff --git a/nixpkgs/pkgs/development/python-modules/python-vlc/default.nix b/nixpkgs/pkgs/development/python-modules/python-vlc/default.nix
new file mode 100644
index 000000000000..2bf59a633411
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-vlc/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, vlc
+, substituteAll
+}:
+
+buildPythonPackage rec {
+  pname = "python-vlc";
+  version = "3.0.7110";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ydnqwwgpwq1kz1pjrc7629ljzdd30izymjylsbzzyq8pq6wl6w2";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./vlc-paths.patch;
+      libvlcPath="${vlc}/lib/libvlc.so.5";
+    })
+  ];
+
+  doCheck = false; # no tests
+
+  meta = with lib; {
+    homepage = "https://wiki.videolan.org/PythonBinding";
+    maintainers = with maintainers; [ tbenst ];
+    description = "Python bindings for VLC, the cross-platform multimedia player and framework";
+    license = licenses.lgpl21Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-vlc/vlc-paths.patch b/nixpkgs/pkgs/development/python-modules/python-vlc/vlc-paths.patch
new file mode 100644
index 000000000000..0b1cf732711a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-vlc/vlc-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/vlc.py b/vlc.py
+index e3245a5..cebec09 100644
+--- a/vlc.py
++++ b/vlc.py
+@@ -190,7 +190,7 @@ def find_lib():
+ 
+     else:
+         # All other OSes (linux, freebsd...)
+-        p = find_library('vlc')
++        p = "@libvlcPath@"
+         try:
+             dll = ctypes.CDLL(p)
+         except OSError:  # may fail
diff --git a/nixpkgs/pkgs/development/python-modules/python2-pythondialog/default.nix b/nixpkgs/pkgs/development/python-modules/python2-pythondialog/default.nix
index 144887c75b31..a19156d1018b 100644
--- a/nixpkgs/pkgs/development/python-modules/python2-pythondialog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python2-pythondialog/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "python2-pythondialog";
-  version = "3.4.0";
+  version = "3.5.1";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a96d9cea9a371b5002b5575d1ec351233112519268d382ba6f3582323b3d1335";
+    sha256 = "ad159c7b455d9cb2a5173590656d19a26e9cc208264cfab755f5827070d18613";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python_mimeparse/default.nix b/nixpkgs/pkgs/development/python-modules/python_mimeparse/default.nix
index 90da2f256d44..9484d24f5e2f 100644
--- a/nixpkgs/pkgs/development/python-modules/python_mimeparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python_mimeparse/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
-    homepage = https://code.google.com/p/mimeparse/;
+    homepage = "https://github.com/dbtsai/python-mimeparse";
     license = licenses.mit;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/python_openzwave/cython.patch b/nixpkgs/pkgs/development/python-modules/python_openzwave/cython.patch
new file mode 100644
index 000000000000..e01ffdbdc0d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python_openzwave/cython.patch
@@ -0,0 +1,20 @@
+diff --git a/pyozw_setup.py b/pyozw_setup.py
+index b201840..37bf2a8 100644
+--- a/pyozw_setup.py
++++ b/pyozw_setup.py
+@@ -257,13 +257,13 @@ class Template(object):
+         if sys.platform.startswith("win"):
+             return ['Cython']
+         else:
+-            return ['Cython==0.28.6']
++            return ['Cython>=0.28.6']
+ 
+     def build_requires(self):
+         if sys.platform.startswith("win"):
+             return ['Cython']
+         else:
+-            return ['Cython==0.28.6']
++            return ['Cython>=0.28.6']
+ 
+     def build(self):
+         if len(self.ctx['extra_objects']) == 1 and os.path.isfile(self.ctx['extra_objects'][0]):
diff --git a/nixpkgs/pkgs/development/python-modules/python_openzwave/default.nix b/nixpkgs/pkgs/development/python-modules/python_openzwave/default.nix
index ae3f0ba933a7..bb8d236335c4 100644
--- a/nixpkgs/pkgs/development/python-modules/python_openzwave/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python_openzwave/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k
 , pkgconfig
-, systemd, libyaml, openzwave, cython
+, systemd, libyaml, openzwave, cython, pyserial
 , six, pydispatcher, urwid }:
 
 buildPythonPackage rec {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ systemd libyaml openzwave cython ];
-  propagatedBuildInputs = [ six urwid pydispatcher ];
+  propagatedBuildInputs = [ six urwid pydispatcher pyserial ];
 
   # primary location for the .xml files is in /etc/openzwave so we override the
   # /usr/local/etc lookup instead as that allows us to dump new .xml files into
@@ -27,6 +27,8 @@ buildPythonPackage rec {
       --replace /usr/local/etc/openzwave ${openzwave}/etc/openzwave
   '';
 
+  patches = [ ./cython.patch ];
+
   # no tests available
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
new file mode 100644
index 000000000000..4f54c5a8fad8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "pythondialog";
+  version = "3.5.1";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "34a0687290571f37d7d297514cc36bd4cd044a3a4355271549f91490d3e7ece8";
+  };
+
+  patchPhase = ''
+    substituteInPlace dialog.py --replace ":/bin:/usr/bin" ":$out/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python interface to the UNIX dialog utility and mostly-compatible programs";
+    homepage = "http://pythondialog.sourceforge.net/";
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pythonirclib/default.nix b/nixpkgs/pkgs/development/python-modules/pythonirclib/default.nix
index 35873d301be4..6074b76d300a 100644
--- a/nixpkgs/pkgs/development/python-modules/pythonirclib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythonirclib/default.nix
@@ -21,13 +21,13 @@ buildPythonPackage rec {
     sha256 = "5fb8d95d6c95c93eaa400b38447c63e7a176b9502bc49b2f9b788c9905f4ec5e";
   })];
 
-  patchFlags = "irclib.py";
+  patchFlags = [ "irclib.py" ];
 
   propagatedBuildInputs = [ paver ];
 
   meta = with stdenv.lib; {
     description = "Python IRC library";
-    homepage = https://bitbucket.org/jaraco/irc;
+    homepage = "https://github.com/jaraco/irc";
     license = with licenses; [ lgpl21 ];
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix b/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
index 98f714c8d538..f916ec63b30b 100644
--- a/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
@@ -43,8 +43,8 @@ buildPythonPackage rec {
   '';
 
   preConfigure = ''
-    [ -z "$dontPlacateNuget" ] && placate-nuget.sh
-    [ -z "$dontPlacatePaket" ] && placate-paket.sh
+    [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
+    [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
   '';
 
   nativeBuildInputs = [
@@ -80,5 +80,6 @@ buildPythonPackage rec {
     homepage = https://pythonnet.github.io;
     license = licenses.mit;
     maintainers = with maintainers; [ jraygauthier ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytmx/default.nix b/nixpkgs/pkgs/development/python-modules/pytmx/default.nix
new file mode 100644
index 000000000000..0745aacc3782
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytmx/default.nix
@@ -0,0 +1,33 @@
+{ lib, fetchFromGitHub, isPy3k, buildPythonPackage, pygame, pyglet, pysdl2, six }:
+
+buildPythonPackage rec {
+  pname = "pytmx";
+  version = "3.21.7";
+
+  src = fetchFromGitHub {
+    # The release was not git tagged.
+    owner = "bitcraft";
+    repo = "PyTMX";
+    rev = "38519b94ab9a2db7cacb8e18de4d83750ec6fac2";
+    sha256 = "0p2gc6lgian1yk4qvhbkxfkmndf9ras70amigqzzwr02y2jvq7j8";
+  };
+
+  propagatedBuildInputs = [ pygame pyglet pysdl2 six ];
+
+  # The tests are failing for Python 2.7.
+  doCheck = isPy3k;
+  checkPhase = ''
+    # The following test imports an example file from the current working
+    # directory. Thus, we're cd'ing into the test directory.
+
+    cd tests/
+    python -m unittest test_pytmx
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/bitcraft/PyTMX";
+    description = "Python library to read Tiled Map Editor's TMX maps";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
index f14200b3542b..d55be70ae490 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
@@ -1,18 +1,101 @@
-{ stdenv, fetchurl, buildPythonPackage, pythonOlder,
-  cudaSupport ? false, cudatoolkit ? null, cudnn ? null,
-  fetchFromGitHub, lib, numpy, pyyaml, cffi, typing, cmake, hypothesis, numactl,
+{ stdenv, fetchurl, fetchgit, buildPythonPackage, python, pythonOlder,
+  cudaSupport ? false, cudatoolkit ? null, cudnn ? null, nccl ? null, magma ? null,
+  mklSupport ? false, mkl ? null,
+  openMPISupport ? false, openmpi ? null,
+  buildNamedTensor ? false,
+  buildBinaries ? false,
+  cudaArchList ? null,
+  fetchFromGitHub, lib, numpy, pyyaml, cffi, click, typing, cmake, hypothesis, numactl,
   linkFarm, symlinkJoin,
-  utillinux, which }:
 
-assert cudnn == null || cudatoolkit != null;
+  # ninja (https://ninja-build.org) must be available to run C++ extensions tests,
+  ninja,
+
+  # dependencies for torch.utils.tensorboard
+  tensorboardSupport ? true, pillow, six, future, tensorflow-tensorboard,
+
+  utillinux, which, isPy3k }:
+
+assert !openMPISupport || openmpi != null;
+assert !tensorboardSupport || tensorflow-tensorboard != null;
+
+# assert that everything needed for cuda is present and that the correct cuda versions are used
 assert !cudaSupport || cudatoolkit != null;
+assert cudnn == null || cudatoolkit != null;
+assert !cudaSupport || (let majorIs = lib.versions.major cudatoolkit.version;
+                        in majorIs == "9" || majorIs == "10");
+
+let
+  hasDependency = dep: pkg: lib.lists.any (inp: inp == dep) pkg.buildInputs;
+  matchesCudatoolkit = hasDependency cudatoolkit;
+  matchesMkl = hasDependency mkl;
+in
+# confirm that cudatoolkits are sync'd across dependencies
+assert !(openMPISupport && cudaSupport) || matchesCudatoolkit openmpi;
+assert !cudaSupport || matchesCudatoolkit magma;
+
+# confirm that mkl is sync'd across dependencies
+assert !mklSupport || mkl != null;
+assert !(mklSupport && cudaSupport) || matchesMkl magma;
+assert !mklSupport || (numpy.blasImplementation == "mkl" && numpy.blas == mkl);
 
 let
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-unsplit";
-    paths = [ cudatoolkit.out cudatoolkit.lib ];
+    # nccl is here purely for semantic grouping it could be moved to nativeBuildInputs
+    paths = [ cudatoolkit.out cudatoolkit.lib nccl.dev nccl.out ];
   };
 
+  # Give an explicit list of supported architectures for the build, See:
+  # - pytorch bug report: https://github.com/pytorch/pytorch/issues/23573
+  # - pytorch-1.2.0 build on nixpks: https://github.com/NixOS/nixpkgs/pull/65041
+  #
+  # This list was selected by omitting the TORCH_CUDA_ARCH_LIST parameter,
+  # observing the fallback option (which selected all architectures known
+  # from cudatoolkit_10_0, pytorch-1.2, and python-3.6), and doing a binary
+  # searching to find offending architectures.
+  #
+  # NOTE: Because of sandboxing, this derivation can't auto-detect the hardware's
+  # cuda architecture, so there is also now a problem around new architectures
+  # not being supported until explicitly added to this derivation.
+  #
+  # FIXME: CMake is throwing the following warning on python-1.2:
+  #
+  # ```
+  # CMake Warning at cmake/public/utils.cmake:172 (message):
+  #   In the future we will require one to explicitly pass TORCH_CUDA_ARCH_LIST
+  #   to cmake instead of implicitly setting it as an env variable.  This will
+  #   become a FATAL_ERROR in future version of pytorch.
+  # ```
+  # If this is causing problems for your build, this derivation may have to strip
+  # away the standard `buildPythonPackage` and use the
+  # [*Adjust Build Options*](https://github.com/pytorch/pytorch/tree/v1.2.0#adjust-build-options-optional)
+  # instructions. This will also add more flexibility around configurations
+  # (allowing FBGEMM to be built in pytorch-1.1), and may future proof this
+  # derivation.
+  brokenArchs = [ "3.0" ]; # this variable is only used as documentation.
+  cuda9ArchList = [
+    "3.5"
+    "5.0"
+    "5.2"
+    "6.0"
+    "6.1"
+    "7.0"
+    "7.0+PTX"  # I am getting a "undefined architecture compute_75" on cuda 9
+               # which leads me to believe this is the final cuda-9-compatible architecture.
+  ];
+  cuda10ArchList = cuda9ArchList ++ [
+    "7.5"
+    "7.5+PTX"  # < most recent architecture as of cudatoolkit_10_0 and pytorch-1.2.0
+  ];
+  final_cudaArchList =
+    if !cudaSupport || cudaArchList != null
+    then cudaArchList
+    else
+      if lib.versions.major cudatoolkit.version == "9"
+      then cuda9ArchList
+      else cuda10ArchList; # the assert above removes any ambiguity here.
+
   # Normally libcuda.so.1 is provided at runtime by nvidia-x11 via
   # LD_LIBRARY_PATH=/run/opengl-driver/lib.  We only use the stub
   # libcuda.so from cudatoolkit for running tests, so that we don’t have
@@ -25,26 +108,27 @@ let
     "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ";
 
 in buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.2.0";
   pname = "pytorch";
+  disabled = !isPy3k;
+
+  outputs = [
+    "out"   # output standard python package
+    "dev"   # output libtorch only
+  ];
 
   src = fetchFromGitHub {
     owner  = "pytorch";
     repo   = "pytorch";
     rev    = "v${version}";
     fetchSubmodules = true;
-    sha256 = "076cpbig4sywn9vv674c0xdg832sdrd5pk1d0725pjkm436kpvlm";
+    sha256 = "1biyq2p48chakf2xw7hazzqmr5ps1nx475ql8vkmxjg5zaa071cz";
   };
 
-  patches =
-    [ # Skips two tests that are only meant to run on multi GPUs
-      (fetchurl {
-        url = "https://github.com/pytorch/pytorch/commit/bfa666eb0deebac21b03486e26642fd70d66e478.patch";
-        sha256 = "1fgblcj02gjc0y62svwc5gnml879q3x2z7m69c9gax79dpr37s9i";
-      })
-    ];
+  dontUseCmakeConfigure = true;
 
   preConfigure = lib.optionalString cudaSupport ''
+    export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}"
     export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
   '' + lib.optionalString (cudaSupport && cudnn != null) ''
     export CUDNN_INCLUDE_DIR=${cudnn}/include
@@ -59,7 +143,6 @@ in buildPythonPackage rec {
       RP_NEW=$(join_by : ''${RP[@]:2})
       patchelf --set-rpath \$ORIGIN:''${RP_NEW} "$1"
     }
-
     for f in $(find ''${out} -name 'libcaffe2*.so')
     do
       strip2 $f
@@ -72,38 +155,84 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
+  BUILD_NAMEDTENSOR = buildNamedTensor;  # experimental feature
+  USE_SYSTEM_NCCL=true;                  # don't build pytorch's third_party NCCL
+
   # Suppress a weird warning in mkl-dnn, part of ideep in pytorch
   # (upstream seems to have fixed this in the wrong place?)
   # https://github.com/intel/mkl-dnn/commit/8134d346cdb7fe1695a2aa55771071d455fae0bc
-  NIX_CFLAGS_COMPILE = lib.optionals (numpy.blasImplementation == "mkl") [ "-Wno-error=array-bounds" ];
+  # https://github.com/pytorch/pytorch/issues/22346
+  #
+  # Also of interest: pytorch ignores CXXFLAGS uses CFLAGS for both C and C++:
+  # https://github.com/pytorch/pytorch/blob/v1.2.0/setup.py#L17
+  NIX_CFLAGS_COMPILE = lib.optionals (numpy.blas == mkl) [ "-Wno-error=array-bounds" ];
 
   nativeBuildInputs = [
-     cmake
-     utillinux
-     which
+    cmake
+    utillinux
+    which
+    ninja
   ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
 
   buildInputs = [
-     numpy.blas
-  ] ++ lib.optionals cudaSupport [ cudnn ]
+    numpy.blas
+  ] ++ lib.optionals cudaSupport [ cudnn magma nccl ]
     ++ lib.optionals stdenv.isLinux [ numactl ];
 
   propagatedBuildInputs = [
     cffi
+    click
     numpy
     pyyaml
-  ] ++ lib.optional (pythonOlder "3.5") typing;
+  ] ++ lib.optionals openMPISupport [ openmpi ]
+    ++ lib.optional (pythonOlder "3.5") typing
+    ++ lib.optionals tensorboardSupport [pillow six future tensorflow-tensorboard];
+
+  checkInputs = [ hypothesis ninja ];
+
+  doCheck = false; # tests take a long time for channel release, so doCheck should be overridden only when developing
+  checkPhase = "${cudaStubEnv}python test/run_test.py"
+    + " --exclude utils" # utils requires git, which is not allowed in the check phase
+
+    # Other tests which have been disabled in previous nix derivations of pytorch.
+    # --exclude dataloader sparse torch utils thd_distributed distributed cpp_extensions
+    ;
+  postInstall = ''
+    mkdir $dev
+    cp -r $out/${python.sitePackages}/torch/lib     $dev/lib
+    cp -r $out/${python.sitePackages}/torch/include $dev/include
+  '';
+
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    for f in $(ls $dev/lib/*.dylib); do
+        install_name_tool -id $dev/lib/$(basename $f) $f || true
+    done
+
+    install_name_tool -change @rpath/libshm.dylib $dev/lib/libshm.dylib $dev/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libtorch.dylib $dev/lib/libtorch.dylib $dev/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libtorch_python.dylib
 
-  checkInputs = [ hypothesis ];
-  checkPhase = ''
-    ${cudaStubEnv}python test/run_test.py --exclude dataloader sparse torch utils thd_distributed distributed cpp_extensions
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libtorch.dylib
+
+    install_name_tool -change @rpath/libtorch.dylib $dev/lib/libtorch.dylib $dev/lib/libcaffe2_observers.dylib
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libcaffe2_observers.dylib
+
+    install_name_tool -change @rpath/libtorch.dylib $dev/lib/libtorch.dylib $dev/lib/libcaffe2_module_test_dynamic.dylib
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libcaffe2_module_test_dynamic.dylib
+
+    install_name_tool -change @rpath/libtorch.dylib $dev/lib/libtorch.dylib $dev/lib/libcaffe2_detectron_ops.dylib
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libcaffe2_detectron_ops.dylib
+
+    install_name_tool -change @rpath/libtorch.dylib $dev/lib/libtorch.dylib $dev/lib/libshm.dylib
+    install_name_tool -change @rpath/libc10.dylib $dev/lib/libc10.dylib $dev/lib/libshm.dylib
   '';
 
+
   meta = {
     description = "Open source, prototype-to-production deep learning platform";
     homepage    = https://pytorch.org/;
     license     = lib.licenses.bsd3;
-    platforms   = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ teh thoughtpolice ];
+    platforms   = with lib.platforms; linux ++ lib.optionals (!cudaSupport) darwin;
+    maintainers = with lib.maintainers; [ teh thoughtpolice stites tscholak ]; # tscholak esp. for darwin-related builds
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytrends/default.nix b/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
index b3ada6247e3c..db7f781c5bf4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pytrends";
-  version = "4.6.0";
+  version = "4.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03gnn2mgjvpc7pbcijy7xilrhgjg7x2pp6ci96pdyqnhkqv02d3n";
+    sha256 = "1cf80573276b3a93c4fb2ff296c260fa86e7ab43709473ce34f3bad3841f06df";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/pytz/default.nix b/nixpkgs/pkgs/development/python-modules/pytz/default.nix
index 534bb1618bc4..e7ce3b62b5b8 100644
--- a/nixpkgs/pkgs/development/python-modules/pytz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytz/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytz";
-  version = "2019.1";
+  version = "2019.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141";
+    sha256 = "b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytzdata/default.nix b/nixpkgs/pkgs/development/python-modules/pytzdata/default.nix
index 6fa4eb6387d0..afda908113b4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytzdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytzdata/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytzdata";
-  version = "2019.1";
+  version = "2019.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0469062f799c66480fcc7eae69a8270dc83f0e6522c0e70db882d6bd708d378";
+    sha256 = "fac06f7cdfa903188dc4848c655e4adaee67ee0f2fe08e7daf815cf2a761ee5e";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/development/python-modules/pyunifi/default.nix b/nixpkgs/pkgs/development/python-modules/pyunifi/default.nix
index 49b015507725..c87d9d465bc6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyunifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyunifi/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pyunifi";
-  version = "2.16";
+  version = "2.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d28ec8204fe3b0eb1043f5ba9b646a2c38e5fd89a0419d760cff8f0df507c83";
+    sha256 = "f022eb2135b88a9d391f4553fac1bf90f3808d660fd0058203f6f9e57214626b";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyupdate/default.nix b/nixpkgs/pkgs/development/python-modules/pyupdate/default.nix
index d9ff4369c7a7..f4bf22854e74 100644
--- a/nixpkgs/pkgs/development/python-modules/pyupdate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyupdate/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pyupdate";
-  version = "1.3.6";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "151dxqvdpik4jy84sq6fhjyrq2qq5l70dccgxdbxxf9qyjxpywfl";
+    sha256 = "016f50853b4d72e5ddb963b042caa45fb60fa4d3f13aee819d829af21e55ef07";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyutil/default.nix b/nixpkgs/pkgs/development/python-modules/pyutil/default.nix
index ce0c514e3eca..2115374aa43b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyutil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyutil/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pyutil";
-  version = "3.1.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e254aa0a3b59e90515f7bca7ebc467b20a8d3fd2e26b63d196655c075da8d38";
+    sha256 = "8c4d4bf668c559186389bb9bce99e4b1b871c09ba252a756ccaacd2b8f401848";
   };
 
   buildInputs = [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []);
diff --git a/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix b/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
index 8d9157fd7fba..e9397ad6fa8b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyutilib";
-  version = "5.7.1";
+  version = "5.7.2";
 
   src = fetchPypi {
     pname = "PyUtilib";
     inherit version;
-    sha256 = "1m5ijc5qmv8hg4yj496ix77hbcf7ylk4sa98ym53sfsyz0mg3kxr";
+    sha256 = "0bdb5hlj6kyb9m3xnpxzasfv5psnxfj21qx6md8ym8zkcqyq1qs5";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvcd/default.nix b/nixpkgs/pkgs/development/python-modules/pyvcd/default.nix
index b3d4483d65dc..aff3280e86ce 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvcd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvcd/default.nix
@@ -6,12 +6,12 @@
 , pytest }:
 
 buildPythonPackage rec {
-  version = "0.1.4";
+  version = "0.1.6";
   pname = "pyvcd";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0dv9wac5y5z9j54ypyc59csxdiy9ybpphw9ipxp1k8nfg65q9jxx";
+    sha256 = "285fcd96c3ee482e7b222bdd01d5dd19c2f5a0ad9b8e950baa98d386a2758c8f";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyvcf/default.nix b/nixpkgs/pkgs/development/python-modules/pyvcf/default.nix
new file mode 100644
index 000000000000..26d9d650d570
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyvcf/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "PyVCF";
+  version = "0.6.8";
+
+  src = fetchFromGitHub {
+    owner = "jamescasbon";
+    repo = "PyVCF";
+    rev = "476169cd457ba0caa6b998b301a4d91e975251d9";
+    sha256 = "0qf9lwj7r2hjjp4bd4vc7nayrhblfm4qcqs4dbd43a6p4bj2jv5p";
+  };
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = "https://pyvcf.readthedocs.io/en/latest/index.html";
+    description = "A VCF (Variant Call Format) Parser for Python, supporting version 4.0 and 4.1";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ scalavision ];
+    longDescription = ''
+      The intent of this module is to mimic the csv module in the Python stdlib, 
+      as opposed to more flexible serialization formats like JSON or YAML. 
+      vcf will attempt to parse the content of each record based on the data 
+      types specified in the meta-information lines
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pywavelets/default.nix b/nixpkgs/pkgs/development/python-modules/pywavelets/default.nix
index bbd02d8daafa..fbb226bb1f2e 100644
--- a/nixpkgs/pkgs/development/python-modules/pywavelets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywavelets/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , cython
 , nose
 , pytest
@@ -9,11 +10,12 @@
 
 buildPythonPackage rec {
   pname = "PyWavelets";
-  version = "1.0.3";
+  version = "1.1.1";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a12c7a6258c0015d2c75d88b87393ee015494551f049009e8b63eafed2d78efc";
+    sha256 = "1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9";
   };
 
   checkInputs = [ nose pytest ];
@@ -23,14 +25,24 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ numpy ];
 
   # Somehow nosetests doesn't run the tests, so let's use pytest instead
+  doCheck = false; # tests use relative paths, which fail to resolve
   checkPhase = ''
     py.test pywt/tests
   '';
 
-  meta = {
+  # ensure compiled modules are present
+  pythonImportsCheck = [
+    "pywt"
+    "pywt._extensions._cwt"
+    "pywt._extensions._dwt"
+    "pywt._extensions._pywt"
+    "pywt._extensions._swt"
+  ];
+
+  meta = with lib; {
     description = "Wavelet transform module";
     homepage = https://github.com/PyWavelets/pywt;
-    license = lib.licenses.mit;
+    license = licenses.mit;
   };
 
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pywbem/default.nix b/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
index 83403b3d1500..c5ffb79a5d68 100644
--- a/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
@@ -5,14 +5,14 @@
 
 buildPythonPackage rec {
   pname = "pywbem";
-  version = "0.12.6";
+  version = "0.15.0";
 
   # Support added in master https://github.com/pywbem/pywbem/commit/b2f2f1a151a30355bbc6652dca69a7b30bfe941e awaiting release
   disabled = isPy37;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dc6b745rrys600n05apdf6lb2vv5arlcwv7aiz9whgkbcd9qhki";
+    sha256 = "6f4304518b2ba89a97bd4f5f0decc8ad382b38a9303032ae17a1a601d95d24b8";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywebkitgtk/default.nix b/nixpkgs/pkgs/development/python-modules/pywebkitgtk/default.nix
deleted file mode 100644
index c76f1f470773..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pywebkitgtk/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchurl
-, pkgs
-, pygtk
-}:
-
-buildPythonPackage rec {
-  pname = "pywebkitgtk";
-  version = "1.1.8";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://pywebkitgtk.googlecode.com/files/${pname}-${version}.tar.bz2";
-    sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2";
-  };
-
-  nativeBuildInputs = [ pkgs.pkgconfig ];
-  buildInputs = [ pygtk pkgs.gtk2 pkgs.libxml2 pkgs.libxslt pkgs.libsoup pkgs.webkitgtk24x-gtk2 pkgs.icu ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://code.google.com/p/pywebkitgtk/";
-    description = "Python bindings for the WebKit GTK port";
-    license = licenses.lgpl2Plus;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix b/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
index c9077c7a17c4..ff9b20f8177f 100644
--- a/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pywebpush";
-  version = "1.9.4";
+  version = "1.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03qkijz56fx7p8405sknw2wji4pfj5knajk2lmj9y58mjxydbpp3";
+    sha256 = "e80ae0ea978b2e3b7860d2a9ae836528f5fa2e13936673e0b6613589965937ee";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywinrm/default.nix b/nixpkgs/pkgs/development/python-modules/pywinrm/default.nix
index 3bdc5efaaa53..9ed44c83b602 100644
--- a/nixpkgs/pkgs/development/python-modules/pywinrm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywinrm/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pywinrm";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "799fc3e33fec8684443adf5778860388289102ea4fa1458f1bf307d167855573";
+    sha256 = "4ede5c6c85b53780ad0dbf9abef2fa2ea58f44c82256a84a63eae5f1205cea81";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyx/default.nix b/nixpkgs/pkgs/development/python-modules/pyx/default.nix
index a377845563aa..63e6e6321007 100644
--- a/nixpkgs/pkgs/development/python-modules/pyx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyx/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyx";
-  version = "0.14.1";
+  version = "0.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05d1b7fc813379d2c12fcb5bd0195cab522b5aabafac88f72913f1d47becd912";
+    sha256 = "0fc3b00c5e7fb6f4aefbf63b95f624297dde47700a82b8b5ad6ebb346b5e4977";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/pyxattr/default.nix b/nixpkgs/pkgs/development/python-modules/pyxattr/default.nix
index 7a137f5204ce..cba29c5cc9ed 100644
--- a/nixpkgs/pkgs/development/python-modules/pyxattr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyxattr/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
     pname = "pyxattr";
-    version = "0.6.1";
+    version = "0.7.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "b525843f6b51036198b3b87c4773a5093d6dec57d60c18a1f269dd7059aa16e3";
+      sha256 = "965388dd629334e850aa989a67d2360ec8257cfe8f67d07c29f980d3152f2882";
     };
 
     # IOError: [Errno 95] Operation not supported (expected)
diff --git a/nixpkgs/pkgs/development/python-modules/pyxl3/default.nix b/nixpkgs/pkgs/development/python-modules/pyxl3/default.nix
index 159645c425eb..c30dd0f024fb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyxl3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyxl3/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pyxl3";
-  version = "1.0";
+  version = "1.3";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df413d86664e2d261f67749beffff07eb830ab8c7bbe631d11d4c42f3a5e5fde";
+    sha256 = "23831c6d60b2ce3fbb39966f6fb21a5e053d6ce0bd08b00bb50fa388631b69ee";
   };
 
   checkInputs = [ unittest2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
index 9663d9ab04bf..316e9974cfe2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "PyYAML";
-  version = "5.1.1";
+  version = "5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955";
+    sha256 = "c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c";
   };
 
   # force regeneration using Cython
diff --git a/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix b/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
index 40273cce8887..f1ecdf7c4f4f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "18.0.1";
+  version = "18.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k3y6k3l9dmih3qmc4vrw26dpjggdk5c6r6806qhgjgpyq2rhccb";
+    sha256 = "8c69a6cbfa94da29a34f6b16193e7c15f5d3220cb772d6d17425ff3faa063a6d";
   };
 
   checkInputs = [  pytest tornado ];
diff --git a/nixpkgs/pkgs/development/python-modules/qds_sdk/default.nix b/nixpkgs/pkgs/development/python-modules/qds_sdk/default.nix
new file mode 100644
index 000000000000..7b4cfa501ddf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qds_sdk/default.nix
@@ -0,0 +1,43 @@
+{ lib,
+ fetchFromGitHub,
+ buildPythonPackage,
+ boto,
+ inflection,
+ pytest,
+ mock,
+ requests,
+ six,
+ urllib3 }:
+
+buildPythonPackage rec {
+  pname = "qds_sdk";
+  version = "1.12.0";
+
+  # pypi does not contain tests, using github sources instead
+  src = fetchFromGitHub {
+    owner = "qubole";
+    repo = "qds-sdk-py";
+    rev = "V${version}";
+    sha256 = "18xhvlcfki8llv7fw2r5yfk20zds3gr78b4klwm9mkvhlhwds9rx";
+  };
+
+  propagatedBuildInputs = [ 
+    boto
+    inflection
+    requests
+    six 
+    urllib3 
+  ];
+
+  checkInputs = [ pytest mock ];
+  checkPhase = ''
+    py.test --disable-pytest-warnings tests
+  '';
+ 
+  meta = with lib; {
+    description = "A Python module that provides the tools you need to authenticate with, and use the Qubole Data Service API";
+    homepage = "https://github.com/qubole/qds-sdk-py";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ shahrukh330 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qimage2ndarray/default.nix b/nixpkgs/pkgs/development/python-modules/qimage2ndarray/default.nix
new file mode 100644
index 000000000000..646d326fede3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qimage2ndarray/default.nix
@@ -0,0 +1,32 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+, pyqt5
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "qimage2ndarray";
+  version = "1.8.2";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f792693a0f1cd5f93fbf73bc3fb2d511fb9cceed3c9308bfb200f38c19a5545";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pyqt5
+  ];
+
+  meta = {
+    homepage = "https://github.com/hmeine/qimage2ndarray";
+    description = "A small python extension for quickly converting between QImages and numpy.ndarrays (in both directions)";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit/default.nix
index bb92fc9df9ac..89d02f7b8034 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "qiskit";
-  version = "0.7.3";
+  version = "0.14.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "63e7a7c3033fe955d715cc825b3fb61d27c25ad66e1761493ca2243b5dbfb4f9";
+    sha256 = "d086a21d0eee61bb12e1f2cd6148a7292005fd10584ca33d6c404dd5c53ba95f";
   };
 
   buildInputs = [ cmake ]
@@ -59,5 +59,7 @@ buildPythonPackage rec {
     maintainers = with stdenv.lib.maintainers; [
       pandaman
     ];
+    # Needs to be updated and have its new dependencies added
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/qrcode/default.nix b/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
index 4321c025b56d..714c74188976 100644
--- a/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
@@ -5,6 +5,7 @@
 , pillow
 , pymaging_png
 , mock
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -16,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369";
   };
 
-  propagatedBuildInputs = [ six pillow pymaging_png ];
+  propagatedBuildInputs = [ six pillow pymaging_png setuptools ];
   checkInputs = [ mock ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix b/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
index e8076db60534..b5ce1eb26fe1 100644
--- a/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
@@ -12,20 +12,29 @@ buildPythonPackage {
   format = "other";
 
   nativeBuildInputs = [ lndir sip qtbase ];
-  buildInputs = [ qscintilla ];
-  propagatedBuildInputs = [ pyqt5 ];
+  buildInputs = [ qscintilla pyqt5 ];
+
+  postPatch = ''
+    substituteInPlace Python/configure.py \
+      --replace \
+      "target_config.py_module_dir" \
+      "'$out/${python.sitePackages}'"
+  '';
 
   preConfigure = ''
     mkdir -p $out
     lndir ${pyqt5} $out
     rm -rf "$out/nix-support"
     cd Python
+    substituteInPlace configure.py \
+      --replace "qmake = {'CONFIG': 'qscintilla2'}" "qmake = {'CONFIG': 'qscintilla2', 'QT': 'widgets printsupport'}"
     ${python.executable} ./configure.py \
       --pyqt=PyQt5 \
       --destdir=$out/${python.sitePackages}/PyQt5 \
       --stubsdir=$out/${python.sitePackages}/PyQt5 \
       --apidir=$out/api/${python.libPrefix} \
       --qsci-incdir=${qscintilla}/include \
+      --qsci-featuresdir=${qscintilla}/mkspecs/features \
       --qsci-libdir=${qscintilla}/lib \
       --pyqt-sipdir=${pyqt5}/share/sip/PyQt5 \
       --qsci-sipdir=$out/share/sip/PyQt5 \
diff --git a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
index 055a54612a01..885eee8d4b6b 100644
--- a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "qtconsole";
-  version = "4.5.2";
+  version = "4.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z6d2rmzrx2dzbx94xxmsrl6vn6jjpzvb6014y2bqhwr7znbjzkn";
+    sha256 = "654f423662e7dfe6a9b26fac8ec76aedcf742c339909ac49f1f0c1a1b744bcd1";
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
diff --git a/nixpkgs/pkgs/development/python-modules/quandl/default.nix b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
index fc4c192968f2..385c51bcd3b2 100644
--- a/nixpkgs/pkgs/development/python-modules/quandl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     python-dateutil
     six
     more-itertools
-  ] ++ lib.optional (!isPy3k) [
+  ] ++ lib.optionals (!isPy3k) [
     pyOpenSSL
     ndg-httpsclient
     pyasn1
diff --git a/nixpkgs/pkgs/development/python-modules/qutip/default.nix b/nixpkgs/pkgs/development/python-modules/qutip/default.nix
index 13c24312ed0f..2f609651c8e7 100644
--- a/nixpkgs/pkgs/development/python-modules/qutip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qutip/default.nix
@@ -39,6 +39,7 @@ buildPythonPackage rec {
     '';
     homepage = http://qutip.org/;
     license = licenses.bsd0;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/r2pipe/default.nix b/nixpkgs/pkgs/development/python-modules/r2pipe/default.nix
index f51aed9462a0..920cc22fb391 100644
--- a/nixpkgs/pkgs/development/python-modules/r2pipe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/r2pipe/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "r2pipe";
-  version = "1.4.1";
+  version = "1.4.2";
 
   postPatch = let
     r2lib = "${lib.getOutput "lib" radare2}/lib";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02r2xrnanzp7iskqbq8flzhc4d56hlzyf3qwqp3azys838y0kcyy";
+    sha256 = "4020754e3263ef28d3e74288537847bd8ae5fc1ddd74f34fb262ef1282c4d23c";
   };
 
   # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
diff --git a/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix b/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix
index 09d815134ef4..d21da2c7583c 100644
--- a/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "radio_beam";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wgd9dyz3pcc9ighkclb6qfyshwbg35s57lz6k62jhcxpvp8r5zb";
+    sha256 = "0g1nqiikv023ab60gfqrvc13kfjv8m70bpfk264vlliaq6mvxdf2";
   };
 
   propagatedBuildInputs = [ astropy ];
diff --git a/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix b/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
index ca6e4614f33d..7fc7f057009a 100644
--- a/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "rainbowstream";
-  version = "1.4.0";
+  version = "1.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16881d8bb15416389eeaf4ceee7a588069060c216b55e7602dbcff5134feb7cc";
+    sha256 = "527d39778c55d88300fe2017913341bfa1b1f0ffdc1fe5eab57a82bf4cd2edb3";
   };
 
   patches = [ ./image.patch ];
diff --git a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
index 1a4fdff5812c..4fe5fd9e63b4 100644
--- a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
@@ -1,24 +1,24 @@
 { buildPythonPackage, lib, fetchFromGitHub, isPy3k
-, cython
+, cython, setuptools
 , numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
 , pytest, pytestcov, packaging, hypothesis, boto3, mock
 }:
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.0.25";
+  version = "1.1.2";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "15m0ajcrxjdzahdkxa3mylk87l31zz48k99bvmmx96hcl31cf347";
+    sha256 = "12szhfify7wn02cbiz9xapwfyp7bg0zm2ja9wq4jyaz5ijy6rm45";
   };
 
   checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
   nativeBuildInputs = [ cython gdal ];
-  propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs ];
+  propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
 
   meta = with lib; {
     description = "Python package to read and write geospatial raster data";
diff --git a/nixpkgs/pkgs/development/python-modules/rbtools/default.nix b/nixpkgs/pkgs/development/python-modules/rbtools/default.nix
index 2bd421729178..99f1df09bbf4 100644
--- a/nixpkgs/pkgs/development/python-modules/rbtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rbtools/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , nose
 , six
+, setuptools
 , isPy3k
 }:
 
@@ -17,7 +18,7 @@ buildPythonPackage {
   };
 
   checkInputs = [ nose ];
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six setuptools ];
 
   checkPhase = "LC_ALL=C nosetests";
 
diff --git a/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix b/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
index df943cfcca41..8369c3df9438 100644
--- a/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
@@ -28,7 +28,8 @@ buildPythonPackage rec {
 
   checkPhase = ''
     # disable one failing test case
-    py.test -k "not test_invalid_link"
+    # fixtures test is failing for incorrect class name
+    py.test -k "not test_invalid_link and not fixtures"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index baf26c2437bc..948e523cb7e4 100644
--- a/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
-  version = "0.5.17";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21097cbb37c9a0590e2cb444b55bd87302fc8f69640fa2d4f2d113e98e9558ff";
+    sha256 = "c920d8129752ee3f339c8cf3dfeba800a25730249d6ab43dc9b3c384312d1d32";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/rebulk/default.nix b/nixpkgs/pkgs/development/python-modules/rebulk/default.nix
index 7042b42f7ed8..d1355560ac17 100644
--- a/nixpkgs/pkgs/development/python-modules/rebulk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rebulk/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "rebulk";
-  version = "1.0.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11164sy9vwphf7iw60n4hmns2q6anazrkhc15lwi6sb2qmkjc541";
+    sha256 = "1b0d526859ef3e8647f37c606d7ae7c32259e370b3f1519e4219a3ba72740aec";
   };
 
   # Some kind of trickery with imports that doesn't work.
diff --git a/nixpkgs/pkgs/development/python-modules/recommonmark/default.nix b/nixpkgs/pkgs/development/python-modules/recommonmark/default.nix
index f6965fd6cd93..98cee494f3f1 100644
--- a/nixpkgs/pkgs/development/python-modules/recommonmark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recommonmark/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytest
+, pytestCheckHook
 , CommonMark
 , docutils
 , sphinx
@@ -9,22 +9,26 @@
 
 buildPythonPackage rec {
   pname = "recommonmark";
-  version = "0.5.0";
+  version = "0.6.0";
 
   # PyPI tarball is missing some test files: https://github.com/rtfd/recommonmark/pull/128
   src = fetchFromGitHub {
     owner = "rtfd";
     repo = pname;
     rev = version;
-    sha256 = "04bjqx2hczmg7rnj2rpsjk7h24diwk83s6fhgrxk00k40w2bpz5j";
+    sha256 = "0m6qk17irka448vcz5b39yck1qsq90k98dmkx80mni0w00yq9ggd";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
   propagatedBuildInputs = [ CommonMark docutils sphinx ];
 
-  checkPhase = ''
-    py.test
-  '';
+  dontUseSetuptoolsCheck = true;
+
+  disabledTests = [
+    # https://github.com/readthedocs/recommonmark/issues/164
+    "test_lists"
+    "test_integration"
+  ];
 
   meta = {
     description = "A docutils-compatibility bridge to CommonMark";
diff --git a/nixpkgs/pkgs/development/python-modules/redis/default.nix b/nixpkgs/pkgs/development/python-modules/redis/default.nix
index 62a1177054b9..2da7470a8387 100644
--- a/nixpkgs/pkgs/development/python-modules/redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redis/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "redis";
-  version = "3.3.4";
+  version = "3.3.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18n6k113izfqsm8yysrw1a5ba6kv0vsgfz6ab5n0k6k65yvr690z";
+    sha256 = "8d0fc278d3f5e1249967cba2eb4a5632d19e45ce5c09442b8422d15ee2c22cc2";
   };
 
   # tests require a running redis
diff --git a/nixpkgs/pkgs/development/python-modules/regex/default.nix b/nixpkgs/pkgs/development/python-modules/regex/default.nix
index bc16fffcef53..5a0cb50903a7 100644
--- a/nixpkgs/pkgs/development/python-modules/regex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regex/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2019.02.21";
+  version = "2019.12.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "587bd4cad11c7294f89799c45778abca271d7c6668a0e85c41a6dbfa8096f9bb";
+    sha256 = "106e25a841921d8259dcef2a42786caae35bc750fb996f830065b3dfaa67b77e";
   };
 
   postCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/remotecv/default.nix b/nixpkgs/pkgs/development/python-modules/remotecv/default.nix
index a4d1dcc485ec..5c401fe799b5 100644
--- a/nixpkgs/pkgs/development/python-modules/remotecv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/remotecv/default.nix
@@ -34,5 +34,6 @@ buildPythonPackage rec {
     homepage = https://github.com/thumbor/remotecv/wiki;
     license = licenses.mit;
     maintainers = with maintainers; [ jluttine ];
+    broken = true; # no longer compatible with latest pillow
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix b/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
index eba47a3b2d19..2286ebbc4cc9 100644
--- a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.5.21";
+  version = "3.5.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08e6e63a4502d3a00062ba9ff9669f95577fbdb1a5f8c6cdb1230c5ee295273a";
+    sha256 = "83ef44936ef4e9c432d62bc2b72ec8d772b87af319d123e827a72e9b6884c851";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/reproject/default.nix b/nixpkgs/pkgs/development/python-modules/reproject/default.nix
index f84508fe53cd..18fdd682f712 100644
--- a/nixpkgs/pkgs/development/python-modules/reproject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reproject/default.nix
@@ -6,26 +6,37 @@
 , astropy-healpix
 , astropy-helpers
 , scipy
+, pytest
+, pytest-astropy
+, cython
 }:
 
 buildPythonPackage rec {
   pname = "reproject";
-  version = "0.4";
-
-  doCheck = false; # tests require pytest-astropy
+  version = "0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbbb18a8b211292c7ce61121b8538fc279540337be1c05cabc7570c5aca6d734";
+    sha256 = "484fde86d70d972d703038f138d7c2966ddf51171a6e79bd84e82ea270e27af3";
   };
 
   propagatedBuildInputs = [ numpy astropy astropy-healpix astropy-helpers scipy ];
 
+  nativeBuildInputs = [ astropy-helpers cython ];
+
   # Disable automatic update of the astropy-helper module
   postPatch = ''
     substituteInPlace setup.cfg --replace "auto_use = True" "auto_use = False"
   '';
 
+  checkInputs = [ pytest pytest-astropy ];
+
+  # Tests must be run in the build directory
+  checkPhase = ''
+    cd build/lib*
+    pytest
+  '';
+
   meta = with lib; {
     description = "Reproject astronomical images";
     homepage = https://reproject.readthedocs.io;
diff --git a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index c8886b75d644..e2409ec598fb 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.4.13";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18jpyivnq5pjbkymk3i473rihpj2bgikafpha7xvr6w736hiqmpy";
+    sha256 = "813023269686045f8e01e2289cc1e7e9ae5ab22ddd1e2849a9093ab3ab7270eb";
   };
 
   buildInputs = [ mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix b/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix
new file mode 100644
index 000000000000..992c54930ca6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "requests-http-signature";
+  version = "0.1.0";
+
+  # .pem files for tests aren't present on PyPI
+  src = fetchFromGitHub {
+    owner = "pyauth";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y96wsbci296m1rcxx0ybx8r44rdvyb59p1jl27p7rgz7isr3kx1";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkPhase = ''
+    ${python.interpreter} test/test.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Requests auth module for HTTP Signature";
+    homepage = "https://github.com/kislyuk/requests-http-signature";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/requests-oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/requests-oauthlib/default.nix
index be37a48f00cb..dd802abdb557 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-oauthlib/default.nix
@@ -2,12 +2,12 @@
 , oauthlib, requests }:
 
 buildPythonPackage rec {
-  version = "1.2.0";
+  version = "1.3.0";
   pname = "requests-oauthlib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57";
+    sha256 = "0smaxs5ixng4z0k6dsgmm6s972ka3p6a2ykdpnl23mqzlw0ic9ml";
   };
 
   doCheck = false;        # Internet tests fail when building in chroot
diff --git a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix b/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
index 4eb3a33926ff..d0deaba92448 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "requests-unixsocket";
-  version = "0.1.5";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k19knydh0fzd7w12lfy18arl1ndwa0zln33vsb37yv1iw9w06x9";
+    sha256 = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix b/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix
new file mode 100644
index 000000000000..a0f312389f1a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix
@@ -0,0 +1,38 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, lib
+
+# pythonPackages
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "requirements-detector";
+  version = "0.6";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "yuvadm";
+    repo = pname;
+    rev = version;
+    sha256 = "15s0n1lhkz0zwi33waqkkjipal3f7s45rxsj1bw89xpr4dj87qx5";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = {
+    description = "Python tool to find and list requirements of a Python project";
+    homepage = "https://github.com/landscapeio/requirements-detector";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/resampy/default.nix b/nixpkgs/pkgs/development/python-modules/resampy/default.nix
index e9e51756d9fb..a83e196005d6 100644
--- a/nixpkgs/pkgs/development/python-modules/resampy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/resampy/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "resampy";
-  version = "0.2.1";
+  version = "0.2.2";
 
   # No tests in PyPi Archive
   src = fetchFromGitHub {
     owner = "bmcfee";
     repo = pname;
     rev = version;
-    sha256 = "0a2bxj042y62dimm2i4vglbhpwbybam07mcl67cb6pmfsw9fbqhj";
+    sha256 = "0qmkxl5sbgh0j73n667vyi7ywzh09iaync91yp1j5rrcmwsn0qfs";
   };
 
   checkInputs = [ pytest pytestcov ];
diff --git a/nixpkgs/pkgs/development/python-modules/responses/default.nix b/nixpkgs/pkgs/development/python-modules/responses/default.nix
index d154499c03bf..e98aad824b64 100644
--- a/nixpkgs/pkgs/development/python-modules/responses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/responses/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.10.6";
+  version = "0.10.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "502d9c0c8008439cfcdef7e251f507fcfdd503b56e8c0c87c3c3e3393953f790";
+    sha256 = "8ce8cb4e7e1ad89336f8865af152e0563d2e7f0e0b86d2cf75f015f819409243";
   };
 
   propagatedBuildInputs = [ cookies mock requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/restrictedpython/default.nix b/nixpkgs/pkgs/development/python-modules/restrictedpython/default.nix
new file mode 100644
index 000000000000..5163c7389b27
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/restrictedpython/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+# Test dependencies
+, pytest, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "RestrictedPython";
+  version = "5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1g0sffn6ifkl1w8gq15rpaqm8c7l68bsnm77wcd3flyzzydmd050";
+  };
+
+  #propagatedBuildInputs = [ xmltodict requests ifaddr ];
+
+  checkInputs = [
+    pytest pytest-mock
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = {
+    homepage = https://github.com/zopefoundation/RestrictedPython;
+    description = "A restricted execution environment for Python to run untrusted code";
+    license = lib.licenses.zpl21;
+    maintainers = with lib.maintainers; [ juaningan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rethinkdb/default.nix b/nixpkgs/pkgs/development/python-modules/rethinkdb/default.nix
index f6d816d37c0e..7eea5d2c39fc 100644
--- a/nixpkgs/pkgs/development/python-modules/rethinkdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rethinkdb/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "rethinkdb";
-  version = "2.3.0.post6";
+  version = "2.4.4.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05qwkmq6kn437ywyjs02jxbry720gw39q4z4jdb0cnbbi76lwddm";
+    sha256 = "e1c1f8ad93bc1c6f2aaa73afc333c57d505d8cc08c437d78a5c1eb8dc4b7e8c2";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/rfc-bibtex/default.nix b/nixpkgs/pkgs/development/python-modules/rfc-bibtex/default.nix
index a1626d6b65c3..dd114fd70960 100644
--- a/nixpkgs/pkgs/development/python-modules/rfc-bibtex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rfc-bibtex/default.nix
@@ -2,17 +2,17 @@
 
 buildPythonApplication rec {
   pname = "rfc-bibtex";
-  version = "0.2.1";
+  version = "0.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p8xjgq4rig1jgqy5jqh34mbifxgxsyyxh8sizwz2wyixf8by8lq";
+    sha256 = "60419a2043ef37ac2438f3eae7a3207d0a4cb2dd56ab21697f874a35ee52927f";
   };
 
   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/nixpkgs/pkgs/development/python-modules/ripser/default.nix b/nixpkgs/pkgs/development/python-modules/ripser/default.nix
index 7a0ae68993a0..258ad7cece10 100644
--- a/nixpkgs/pkgs/development/python-modules/ripser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ripser/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "ripser";
-  version = "0.3.2";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff9f50fba911f0e9212077b78014f83e30c97526194dd6bd1df3d81896e6cb58";
+    sha256 = "a4015b413c24e3074f82f31771b1eb805e054b8cf444db51ce8ca5afa42cf130";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rl-coach/default.nix b/nixpkgs/pkgs/development/python-modules/rl-coach/default.nix
index 10bc1a70924a..bee588457ff2 100644
--- a/nixpkgs/pkgs/development/python-modules/rl-coach/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rl-coach/default.nix
@@ -23,12 +23,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.12.1";
+  version = "1.0.1";
   pname = "rl-coach";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zqlq61zxn732915nznj7pz8zh6kd6inl170fiavwhs32brmv84l";
+    sha256 = "0c4f3a334ff55d534d2fc7f83d5e791f64b780391039e367f6cd9b4381838744";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rlp/default.nix b/nixpkgs/pkgs/development/python-modules/rlp/default.nix
index c8c4315b66bb..303a8bc6d7fd 100644
--- a/nixpkgs/pkgs/development/python-modules/rlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rlp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "rlp";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0742hdnhwcx1bm7pdk83290rxfcb0i2xskgl8yn6lg8fql1hms7b";
+    sha256 = "27273fc2dbc3513c1e05ea6b8af28aac8745fb09c164e39e2ed2807bf7e1b342";
   };
 
   checkInputs = [ pytest hypothesis ];
diff --git a/nixpkgs/pkgs/development/python-modules/robomachine/default.nix b/nixpkgs/pkgs/development/python-modules/robomachine/default.nix
index 58a767432a22..c1695a25b456 100644
--- a/nixpkgs/pkgs/development/python-modules/robomachine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robomachine/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "RoboMachine";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "242cfd9be0f7591138eaeba03c9c190f894ce045e1767ab7b90eca330259fc45";
+    sha256 = "4251d405759a38f1e665acc245dcbcdec319376718169a73c57560183370fe0e";
   };
 
   propagatedBuildInputs = [ pyparsing robotframework allpairspy ];
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework-requests/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework-requests/default.nix
index 7233a82a395b..141353ee1d46 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework-requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotframework-requests/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.0";
+  version = "0.6.2";
   pname = "robotframework-requests";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c253b8061c8a91251abf3ebadc33152b8621671621405dd343efd17bdc9e620";
+    sha256 = "30669de238f7efd171ccab1c19c7f30ed6b77f43db534c173c1fa1568194d4cb";
   };
 
   buildInputs = [ unittest2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/root_numpy/default.nix b/nixpkgs/pkgs/development/python-modules/root_numpy/default.nix
deleted file mode 100644
index dc2c5f790b59..000000000000
--- a/nixpkgs/pkgs/development/python-modules/root_numpy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, root, nose }:
-
-buildPythonPackage rec {
-  pname = "root_numpy";
-  version = "4.8.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5842bbcde92133f60a61f56e9f0a875a0dbc2a567cc65a9ac141ecd72e416878";
-  };
-
-  disabled = isPy3k; # blocked by #27649
-  checkInputs = [ nose ];
-  checkPhase = ''
-    python setup.py install_lib -d .
-    nosetests -s -v root_numpy
-  '';
-
-  propagatedBuildInputs = [ numpy root ];
-
-  meta = with lib; {
-    homepage = http://scikit-hep.org/root_numpy;
-    license = licenses.bsd3;
-    description = "The interface between ROOT and NumPy";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/rootpy/default.nix b/nixpkgs/pkgs/development/python-modules/rootpy/default.nix
deleted file mode 100644
index 8384510468a4..000000000000
--- a/nixpkgs/pkgs/development/python-modules/rootpy/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
-
-buildPythonPackage rec {
-  pname = "rootpy";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0zp2bh87l3f0shiqslbvfmavfdj8m80y8fsrz8rsi5pzqj7zr1bx";
-  };
-
-  disabled = isPy3k;
-
-  propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
-
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    # tests fail with /homeless-shelter
-    export HOME=$PWD
-    # skip problematic tests
-    py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
-  '';
-
-  meta = with lib; {
-    homepage = http://www.rootpy.org;
-    license = licenses.bsd3;
-    description = "Pythonic interface to the ROOT framework";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/ropper/default.nix b/nixpkgs/pkgs/development/python-modules/ropper/default.nix
index 7b07bf3ff059..9a0b91fdeb8a 100644
--- a/nixpkgs/pkgs/development/python-modules/ropper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ropper/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonApplication rec {
   pname = "ropper";
-  version = "1.12.1";
+  version = "1.13.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1aignpxz6rcbf6yxy1gjr708p56i6nqrbgblq24nanssz9rhkyzg";
+    sha256 = "dfc87477c0f53d3d2836a384c106373d761cc435eafc477f299523e5404dda43";
   };
   # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
   # workaround: sudo chmod 777 /dev/shm
diff --git a/nixpkgs/pkgs/development/python-modules/rpy2/2.nix b/nixpkgs/pkgs/development/python-modules/rpy2/2.nix
new file mode 100644
index 000000000000..aef184d4afc2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rpy2/default.nix b/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
index 1b4ab4d40db9..5a00b18557a6 100644
--- a/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
+++ b/nixpkgs/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.4";
     pname = "rpy2";
+
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = if isPy27 then
-        "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80" # 2.8.x
-      else
-        "1nrj8pgyxrwrfdrxzb4j3z1adjwjx1mr8d1n5cmrz4nhlzy8w7xr"; # 2.9.x
+      sha256 = "3daf1a4b28c4e354ef989093f03b066908bf6e5082a6f4af72cc3fd928a28dc6";
     };
+
     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/nixpkgs/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch b/nixpkgs/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
new file mode 100644
index 000000000000..177e4f9a83d1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rpyc/default.nix b/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
index 5fbfba39ddc2..42d7b442ad6b 100644
--- a/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
@@ -1,20 +1,29 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , nose
 , plumbum
 }:
 
 buildPythonPackage rec {
   pname = "rpyc";
-  version = "4.1.1";
+  version = "4.1.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0rhmwq1jra2cs0j09z2ks4vnv0svi8lj21nq9qq50i52x4ml4yb7";
+  src = fetchFromGitHub {
+    owner = "tomerfiliba";
+    repo = pname;
+    rev = version;
+    sha256 = "1xvrcik1650r1412fg79va0kd0fgg1ml241y1ai429qwy87dil1k";
   };
 
-  propagatedBuildInputs = [ nose plumbum ];
+  propagatedBuildInputs = [ plumbum ];
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    cd tests
+    # some tests have added complexities and some tests attempt network use
+    nosetests -I test_deploy -I test_gevent_server -I test_ssh -I test_registry
+  '';
 
   meta = with stdenv.lib; {
     description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
diff --git a/nixpkgs/pkgs/development/python-modules/rtslib/default.nix b/nixpkgs/pkgs/development/python-modules/rtslib/default.nix
index 5453541e2de5..c1d27488bddf 100644
--- a/nixpkgs/pkgs/development/python-modules/rtslib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ruamel_ordereddict/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel_ordereddict/default.nix
index 7dec5bb54cae..ee329a651661 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel_ordereddict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel_ordereddict/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ruamel.ordereddict";
-  version = "0.4.13";
+  version = "0.4.14";
   disabled = isPy3k || isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf0a198c8ce5d973c24e5dba12d3abc254996788ca6ad8448eabc6aa710db149";
+    sha256 = "281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
index a4ac86302cf8..88b2de830b7e 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
@@ -1,27 +1,37 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
 , ruamel_base
 , ruamel_ordereddict
+, ruamel_yaml_clib
 , isPy3k
+, isPyPy
 }:
 
 buildPythonPackage rec {
   pname = "ruamel.yaml";
-  version = "0.15.96";
+  version = "0.16.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "343ace5ffbab036536a3da65e4cfd31b8292388a389f6305744984581a479b2a";
+    sha256 = "412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408";
   };
 
-  # Tests cannot load the module to test
+  # Tests use relative paths
   doCheck = false;
 
   propagatedBuildInputs = [ ruamel_base ]
-    ++ stdenv.lib.optional (!isPy3k) ruamel_ordereddict;
+    ++ lib.optional (!isPy3k) ruamel_ordereddict
+    ++ lib.optional (!isPyPy) ruamel_yaml_clib;
 
-  meta = with stdenv.lib; {
+  # causes namespace clash on py27
+  dontUsePythonImportsCheck = !isPy3k;
+  pythonImportsCheck = [
+    "ruamel.yaml"
+    "ruamel.base"
+  ];
+
+  meta = with lib; {
     description = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
     homepage = https://bitbucket.org/ruamel/yaml;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel_yaml_clib/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel_yaml_clib/default.nix
new file mode 100644
index 000000000000..19c208f27169
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ruamel_yaml_clib/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromBitbucket
+, ruamel_base
+, ruamel_ordereddict
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "ruamel.yaml.clib";
+  version = "0.2.0";
+
+  src = fetchFromBitbucket {
+    owner = "ruamel";
+    repo = "yaml.clib";
+    rev = version;
+    sha256 = "0kq6zi96qlm72lzj90fc2rfk6nm5kqhk6qxdl8wl9s3a42b0v6wl";
+  };
+
+  # outputs match wheel
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
+    homepage = https://bitbucket.org/ruamel/yaml;
+    license = licenses.mit;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rubymarshal/default.nix b/nixpkgs/pkgs/development/python-modules/rubymarshal/default.nix
index ac7ba00c5867..f37843422816 100644
--- a/nixpkgs/pkgs/development/python-modules/rubymarshal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rubymarshal/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, buildPythonPackage, fetchPypi, hypothesis }:
+{ stdenv, buildPythonPackage, fetchPypi, hypothesis, isPy3k }:
 
 buildPythonPackage rec {
   pname = "rubymarshal";
   version = "1.2.6";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/runsnakerun/default.nix b/nixpkgs/pkgs/development/python-modules/runsnakerun/default.nix
index eba8871fd022..b3a38320a2bf 100644
--- a/nixpkgs/pkgs/development/python-modules/runsnakerun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/runsnakerun/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "runsnakerun";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "61d03a13f1dcb3c1829f5a146da1fe0cc0e27947558a51e848b6d469902815ef";
+    sha256 = "a66a0cdf0333dc3c0830c18e2f3d62f741dea197cd01a7e0059da4886a3a123f";
   };
 
   propagatedBuildInputs = [ squaremap wxPython ];
diff --git a/nixpkgs/pkgs/development/python-modules/runway-python/default.nix b/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
index 958b1ee45b33..5c60b6379e93 100644
--- a/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "runway-python";
-  version = "0.4.0";
+  version = "0.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd23550211aa8542d9c06516e25c32de3963fff50d0793d94def271a4e2b4514";
+    sha256 = "06e0138cc4cf2ddb7304502f5c7b53269ce73679c5784c8d6b423db04d179c18";
   };
 
   propagatedBuildInputs = [ flask flask-cors numpy pillow gevent wget six colorcet ];
diff --git a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
index 157549a6f175..0f800c14fa97 100644
--- a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, buildPythonPackage, fetchPypi, docutils, boto3 }:
+{ stdenv, buildPythonPackage, fetchPypi, docutils, boto3, fsspec }:
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "0.2.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l3vdy3h6l03kjjzq1vq7h252749f8dg7kkz65s890y4xxvjxlyw";
+    sha256 = "504a41ecb9edf0bd7798847b61839954e50508c5235ec7ee48c539ce46b4fa18";
   };
 
   buildInputs = [ docutils ];
-  propagatedBuildInputs = [ boto3 ];
+  propagatedBuildInputs = [ boto3 fsspec ];
 
   # Depends on `moto` which has a long dependency chain with exact
   # version requirements that can't be made to work with current
diff --git a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
index 7589d0fce73c..3020ab68ec76 100644
--- a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "s3transfer";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021";
+    sha256 = "6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d";
   };
 
-  foo = 1;
+  outputs = [ "out" "dev" ];
 
   propagatedBuildInputs =
     [ botocore
diff --git a/nixpkgs/pkgs/development/python-modules/sacremoses/default.nix b/nixpkgs/pkgs/development/python-modules/sacremoses/default.nix
new file mode 100644
index 000000000000..ef0fcb57dc95
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sacremoses/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, stdenv
+, fetchFromGitHub
+, click
+, six
+, tqdm
+, joblib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "sacremoses";
+  version = "0.0.35";
+
+  src = fetchFromGitHub {
+    owner = "alvations";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "1gzr56w8yx82mn08wax5m0xyg15ym4ri5l80gmagp8r53443j770";
+  };
+
+  propagatedBuildInputs = [ click six tqdm joblib ];
+
+  checkInputs = [ pytest ];
+  # ignore tests which call to remote host
+  checkPhase = ''
+    pytest -k 'not truecase'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/alvations/sacremoses";
+    description = "Python port of Moses tokenizer, truecaser and normalizer";
+    license = licenses.lgpl21Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sanic/default.nix b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
index 6aae4c11fdd4..5c1e0e812468 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
@@ -15,15 +15,76 @@
 , pytest-sanic
 , pytest-sugar
 , pytest-benchmark
+
+# required just httpcore / requests-async
+, h11
+, h2
+, certifi
+, chardet
+, idna
+, requests
+, rfc3986
+, uvicorn
 }:
 
+let
+
+  # This version of sanic depends on two packages that have been deprecated by
+  # their development teams:
+  #
+  # - requests-async [where first line of pypi says to use `http3` instead now]
+  # - httpcore       [where the homepage redirects to `http3` now]
+  #
+  # Since no other packages in nixpkg depend on these right now, define these
+  # packages just as local dependencies here, to avoid bloat.
+
+  httpcore = buildPythonPackage rec {
+    pname = "httpcore";
+    version = "0.3.0";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0n3bamaixxhcm27gf1ws3g6rkamvqx87087c88r6hyyl52si1ycn";
+    };
+
+    propagatedBuildInputs = [ certifi chardet h11 h2 idna rfc3986 ];
+
+    # relax pinned old version of h11
+    postConfigure = ''
+      substituteInPlace setup.py \
+        --replace "h11==0.8.*" "h11"
+      '';
+
+    # LICENCE.md gets propagated without this, causing collisions
+    postInstall = ''
+      rm $out/LICENSE.md
+    '';
+  };
+
+  requests-async = buildPythonPackage rec {
+    pname = "requests-async";
+    version = "0.5.0";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "8731420451383196ecf2fd96082bfc8ae5103ada90aba185888499d7784dde6f";
+    };
+
+    propagatedBuildInputs = [ requests httpcore ];
+
+    # LICENCE.md gets propagated without this, causing collisions
+    postInstall = ''
+      rm $out/LICENSE.md
+    '';
+  };
+
+in
+
 buildPythonPackage rec {
   pname = "sanic";
-  version = "19.3.1";
+  version = "19.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce434eb154872ca64493a6c3a288f11fd10bca0de7be7bf9f1d0d063185e51ec";
+    sha256 = "0b1qqsvdjkibrw5kgr0pm7n7jzb1403132wjmb0lx3k5wyvqfi95";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +92,7 @@ buildPythonPackage rec {
     aiofiles
     websockets
     multidict
+    requests-async
     uvloop
     ujson
   ];
@@ -44,11 +106,20 @@ buildPythonPackage rec {
     pytest-sanic
     pytest-sugar
     pytest-benchmark
+    uvicorn
   ];
 
+  # Sanic says it needs websockets 7.x, but the changelog for 8.x is actually
+  # nearly compatible with sanic's use. So relax this constraint, with a small
+  # required code change.
   postConfigure = ''
-    substituteInPlace setup.py \
-      --replace "websockets>=6.0,<7.0" "websockets"
+    substituteInPlace setup.py --replace \
+      "websockets>=7.0,<8.0"             \
+      "websockets>=7.0,<9.0"
+    substituteInPlace sanic/websocket.py --replace    \
+           "self.websocket.subprotocol = subprotocol" \
+           "self.websocket.subprotocol = subprotocol
+            self.websocket.is_client = False"
   '';
 
   # 10/500 tests ignored due to missing directory and
diff --git a/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix b/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
index bf0b1e015637..2aec6dced1c9 100644
--- a/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "sasmodels";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasmodels";
     rev = "v${version}";
-    sha256 = "082wnk10axincc4a62zxyr33l7v80yf7iz630y3421b50fwwyd8j";
+    sha256 = "0k4334nxf1n6gwb9m57sqcchmlssglfd116mpl72glmmdc451d5j";
   };
 
   buildInputs = [ opencl-headers ];
diff --git a/nixpkgs/pkgs/development/python-modules/scapy/default.nix b/nixpkgs/pkgs/development/python-modules/scapy/default.nix
index 8f51b1eda212..4f058a0761bd 100644
--- a/nixpkgs/pkgs/development/python-modules/scapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scapy/default.nix
@@ -34,13 +34,13 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [ pycrypto ecdsa ]
-    ++ lib.optional withOptionalDeps [ tcpdump ipython ]
-    ++ lib.optional withCryptography [ cryptography ]
-    ++ lib.optional withVoipSupport [ sox ]
-    ++ lib.optional withPlottingSupport [ matplotlib ]
-    ++ lib.optional withGraphicsSupport [ pyx texlive.combined.scheme-minimal graphviz imagemagick ]
-    ++ lib.optional (isPy3k && pythonOlder "3.4") [ enum34 ]
-    ++ lib.optional doCheck [ mock ];
+    ++ lib.optionals withOptionalDeps [ tcpdump ipython ]
+    ++ lib.optional withCryptography cryptography
+    ++ lib.optional withVoipSupport sox
+    ++ lib.optional withPlottingSupport matplotlib
+    ++ lib.optionals withGraphicsSupport [ pyx texlive.combined.scheme-minimal graphviz imagemagick ]
+    ++ lib.optional (isPy3k && pythonOlder "3.4") enum34
+    ++ lib.optional doCheck mock;
 
   # Tests fail with Python 3.6 (seems to be an upstream bug, I'll investigate)
   doCheck = if isPy3k then false else true;
diff --git a/nixpkgs/pkgs/development/python-modules/schema/default.nix b/nixpkgs/pkgs/development/python-modules/schema/default.nix
index d68f38aa4bb5..2c1173ce68fc 100644
--- a/nixpkgs/pkgs/development/python-modules/schema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schema/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+{ stdenv, buildPythonPackage, fetchPypi, contextlib2, pytest, mock }:
 
 buildPythonPackage rec {
 
   pname = "schema";
-  version = "0.6.8";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74";
+    sha256 = "c9dc8f4624e287c7d1435f8fd758f6a0aabbb7eff442db9192cd46f0e2b6d959";
   };
 
-  checkInputs = [ pytest ];
+  preConfigure = ''
+    substituteInPlace requirements.txt --replace '==' '>='
+  '';
+
+  propagatedBuildInputs = [ contextlib2 ];
+
+  checkInputs = [ pytest mock ];
+  checkPhase = "pytest ./test_schema.py";
 
   meta = with stdenv.lib; {
     description = "Library for validating Python data structures";
     homepage = https://github.com/keleshev/schema;
     license = licenses.mit;
+    maintainers = [ maintainers.tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
index 91fa26ef44d2..8d459e249848 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
@@ -5,16 +5,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-build";
-  version = "0.8.1";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hh275lj98wgwi53mr9fqk8wh1dajjksch52xjax6a79gld4391a";
+    sha256 = "7342017cc82dd6178e3b19377389b8a8d1f8b429d9cdb315cfb1094e34a0f526";
   };
 
-  # Fixes incorrect specified requirement (part of next release)
-  patches = [ ./fix_pytestrunner_req.patch ];
-
   propagatedBuildInputs = [ wheel setuptools packaging ];
   checkInputs = [ 
     cmake ninja cython codecov coverage six pathpy
@@ -22,6 +19,8 @@ buildPythonPackage rec {
     requests flake8
   ];
 
+  dontUseCmakeConfigure = true;
+
   disabledTests = lib.concatMapStringsSep " and " (s: "not " + s) ([
     "test_hello_develop" # tries setuptools develop install
     "test_source_distribution" # pip has no way to install missing dependencies
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch b/nixpkgs/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch
deleted file mode 100644
index e8e19f84a5d4..000000000000
--- a/nixpkgs/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index dd348fa..4de89c6 100755
---- a/setup.py
-+++ b/setup.py
-@@ -22,7 +22,7 @@ with open('requirements-dev.txt', 'r') as fp:
-     dev_requirements = list(filter(bool, (line.strip() for line in fp)))
- 
- # Require pytest-runner only when running tests
--pytest_runner = (['pytest-runner>=2.0,<3dev']
-+pytest_runner = (['pytest-runner>=2.0']
-                  if any(arg in sys.argv for arg in ('pytest', 'test'))
-                  else [])
- 
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
index e2ba35e0438c..ced53a134908 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
@@ -12,20 +12,21 @@
 , dask
 , cloudpickle
 , pytest
+, imageio
 }:
 
 buildPythonPackage rec {
   pname = "scikit-image";
-  version = "0.14.2";
+  version = "0.16.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1afd0b84eefd77afd1071c5c1c402553d67be2d7db8950b32d6f773f25850c1f";
+    sha256 = "dd7fbd32da74d4e9967dc15845f731f16e7966cee61f5dc0e12e2abb1305068c";
   };
 
   buildInputs = [ cython ];
 
-  propagatedBuildInputs = [ numpy scipy matplotlib networkx six pillow pywavelets dask cloudpickle ];
+  propagatedBuildInputs = [ numpy scipy matplotlib networkx six pillow pywavelets dask cloudpickle imageio ];
 
   checkInputs = [ pytest ];
 
@@ -37,4 +38,4 @@ buildPythonPackage rec {
     homepage = http://scikit-image.org;
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/scikitlearn/default.nix b/nixpkgs/pkgs/development/python-modules/scikitlearn/default.nix
index 939782722c6e..4830e3fb2abc 100644
--- a/nixpkgs/pkgs/development/python-modules/scikitlearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikitlearn/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "0.21.2";
+  version = "0.21.3";
   # UnboundLocalError: local variable 'message' referenced before assignment
   disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nvj9j16y1hz9gm0qwzpnx2zmz55c63k1fai643migsyll9c7bqa";
+    sha256 = "eb9b8ebf59eddd8b96366428238ab27d05a19e89c5516ce294abc35cea75d003";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/default.nix b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
index 934889170174..6c62adb7821c 100644
--- a/nixpkgs/pkgs/development/python-modules/scipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
@@ -1,17 +1,24 @@
-{lib, fetchPypi, python, buildPythonPackage, gfortran, nose, pytest, numpy}:
-
-buildPythonPackage rec {
+{lib, fetchPypi, python, buildPythonPackage, gfortran, nose, pytest, numpy, pybind11}:
+
+let
+  pybind = pybind11.overridePythonAttrs(oldAttrs: {
+    cmakeFlags = oldAttrs.cmakeFlags ++ [
+      "-DPYBIND11_TEST=off"
+    ];
+    doCheck = false; # Circular test dependency
+  });
+in buildPythonPackage rec {
   pname = "scipy";
-  version = "1.3.1";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2643cfb46d97b7797d1dbdb6f3c23fe3402904e3c90e6facfe6a9b98d808c1b5";
+    sha256 = "dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59";
   };
 
   checkInputs = [ nose pytest ];
   nativeBuildInputs = [ gfortran ];
-  buildInputs = [ numpy.blas ];
+  buildInputs = [ numpy.blas pybind ];
   propagatedBuildInputs = [ numpy ];
 
   # Remove tests because of broken wrapper
@@ -19,9 +26,7 @@ buildPythonPackage rec {
     rm scipy/linalg/tests/test_lapack.py
   '';
 
-  # INTERNALERROR, solved with https://github.com/scipy/scipy/pull/8871
-  # however, it does not apply cleanly.
-  doCheck = false;
+  doCheck = true;
 
   preConfigure = ''
     sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
index ee1445bef5c5..8fee4b6631ab 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
@@ -2,7 +2,7 @@
   testfixtures, pillow, six, twisted, w3lib, lxml, queuelib, pyopenssl,
   service-identity, parsel, pydispatcher, cssselect, lib }:
 buildPythonPackage rec {
-  version = "1.7.3";
+  version = "1.8.0";
   pname = "Scrapy";
 
   checkInputs = [ glibcLocales mock pytest botocore testfixtures pillow ];
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe5a40177960e97d42d1c752a73edb40f76a85a24076dec8535cffa499eb08c8";
+    sha256 = "fe06576f9a4971de9dc0175c60fd92561e8275f2bad585c1cb5d65c5181b2db0";
   };
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/python-modules/secure/default.nix b/nixpkgs/pkgs/development/python-modules/secure/default.nix
new file mode 100644
index 000000000000..6d2f2871ec2d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/seekpath/default.nix b/nixpkgs/pkgs/development/python-modules/seekpath/default.nix
index 7578b0479405..fc2763be1f01 100644
--- a/nixpkgs/pkgs/development/python-modules/seekpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seekpath/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "seekpath";
-  version = "1.8.4";
+  version = "1.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b61dadba82acc0838402981b7944155adc092b114ca81f53f61b1d498a512e3a";
+    sha256 = "abc806479f11e7f71c4475a292d849baf15dfa1cbc89ecc602d78415de322c83";
   };
 
   LC_ALL = "en_US.utf-8";
diff --git a/nixpkgs/pkgs/development/python-modules/semantic-version/default.nix b/nixpkgs/pkgs/development/python-modules/semantic-version/default.nix
index 4fcc19e57fc1..f2df3c99b2a5 100644
--- a/nixpkgs/pkgs/development/python-modules/semantic-version/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/semantic-version/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "semantic_version";
-  version = "2.8.1";
+  version = "2.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lnnpxmf3z1rcfr5n562vbraq236s13wlj8fmw2kwr2mrq7lqb8r";
+    sha256 = "352459f640f3db86551d8054d1288608b29a96e880c7746f0a59c92879d412a3";
   };
 
   # ModuleNotFoundError: No module named 'tests'
diff --git a/nixpkgs/pkgs/development/python-modules/send2trash/default.nix b/nixpkgs/pkgs/development/python-modules/send2trash/default.nix
index 35115a45716e..bb9f115590e9 100644
--- a/nixpkgs/pkgs/development/python-modules/send2trash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/send2trash/default.nix
@@ -1,28 +1,25 @@
 { stdenv
-, lib
 , buildPythonPackage
 , fetchFromGitHub
 , pytest
-, configparser
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "Send2Trash";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "hsoft";
     repo = "send2trash";
     rev = version;
-    sha256 = "1w502i5h8xaqf03g6h95h4vs1wqfv6kg925dn63phrwmg1hfz2xx";
+    sha256 = "1c76zldhw2ay7q7r00nnzcampjz9lkqfcbzqpm0iqp5i6bmmv30v";
   };
 
   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/nixpkgs/pkgs/development/python-modules/sentencepiece/default.nix b/nixpkgs/pkgs/development/python-modules/sentencepiece/default.nix
new file mode 100644
index 000000000000..ab7a5387c024
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sentencepiece/default.nix
@@ -0,0 +1,15 @@
+{ buildPythonPackage
+, stdenv
+, sentencepiece
+, pkgconfig
+}:
+
+buildPythonPackage rec {
+  pname = "sentencepiece";
+  inherit (sentencepiece) version src meta;
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ sentencepiece ];
+
+  sourceRoot = "source/python";
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sentinel/default.nix b/nixpkgs/pkgs/development/python-modules/sentinel/default.nix
index e8ed047e03ff..6c69ea26b2a6 100644
--- a/nixpkgs/pkgs/development/python-modules/sentinel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentinel/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "sentinel";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c00ba2a4f240ea4c5414059a696d6e128730272cb2c631b2eff42e86da1f89b3";
+    sha256 = "c7aeee3f57c56a8e52771fc64230345deecd62c48debbbe1f1aca453439741d0";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index c3cc1baaf43f..67584789995e 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -1,15 +1,34 @@
-{ stdenv, buildPythonPackage, fetchPypi, urllib3, certifi, django, flask, tornado, sanic, aiohttp, bottle, rq, falcon, pyramid, celery }:
+{ aiohttp
+, bottle
+, buildPythonPackage
+, celery
+, certifi
+, django
+, falcon
+, fetchPypi
+, flask
+, iana-etc
+, isPy3k
+, libredirect
+, pyramid
+, rq
+, sanic
+, stdenv
+, tornado
+, urllib3
+}:
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "0.8.0";
+  version = "0.13.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f5819df450d7b0696be69a0c6d70a09e4890a3844ee8ccb7a461794135bd5965";
+    sha256 = "c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82";
   };
 
-  checkInputs = [ django flask tornado sanic aiohttp bottle rq falcon pyramid celery ];
+  checkInputs = [ django flask tornado bottle rq falcon ]
+  ++ stdenv.lib.optionals isPy3k [ celery pyramid sanic aiohttp ];
 
   propagatedBuildInputs = [ urllib3 certifi ];
 
@@ -19,4 +38,14 @@ buildPythonPackage rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ gebner ];
   };
+
+  # The Sentry tests need access to `/etc/protocols` (the tests call
+  # `socket.getprotobyname('tcp')`, which reads from this file). Normally
+  # this path isn't available in the sandbox. Therefore, use libredirect
+  # to make on eavailable from `iana-etc`. This is a test-only operation.
+  preCheck = ''
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
+    export LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '';
+  postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sepaxml/default.nix b/nixpkgs/pkgs/development/python-modules/sepaxml/default.nix
index 6e6809663a6e..1790ae2e8f5d 100644
--- a/nixpkgs/pkgs/development/python-modules/sepaxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sepaxml/default.nix
@@ -6,7 +6,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "2.2.0";
   pname = "sepaxml";
   disabled = isPy27;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "raphaelm";
     repo = "python-sepaxml";
     rev = version;
-    sha256 = "0lkb0nnyxmwvm6gkwls8w2290b66lwz9bv8p39wwcn7flabviwhj";
+    sha256 = "1qmgdcz61hs65m2fddwn9jpyk2sxifdb0f3jz1n0lgy774z0pmas";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/serpent/default.nix b/nixpkgs/pkgs/development/python-modules/serpent/default.nix
index 887d0c544245..f568ad6b0445 100644
--- a/nixpkgs/pkgs/development/python-modules/serpent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/serpent/default.nix
@@ -6,19 +6,22 @@
 , isPy27
 , isPy33
 , enum34
+, attrs
+, pytz
 }:
 
 buildPythonPackage rec {
   pname = "serpent";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f8dc4317fb5b5a9629b5e518846bc9fee374b8171533726dc68df52b36ee912";
+    sha256 = "1arnckykpkvv2qrp49l1k7q5mr5pisswl0rvdx98x8wsl1n361pk";
   };
 
   propagatedBuildInputs = lib.optionals (isPy27 || isPy33) [ enum34 ];
 
+  checkInputs = [ attrs pytz ];
   checkPhase = ''
     ${python.interpreter} setup.py test
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix b/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
index c6795f172064..90be965c4f2d 100644
--- a/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "serverlessrepo";
-  version = "0.1.8";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "533389d41a51450e50cc01405ab766550170149c08e1c85b3a1559b0fab4cb25";
+    sha256 = "671f48038123f121437b717ed51f253a55775590f00fbab6fbc6a01f8d05c017";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
index 569ff017ea9b..f52a49313772 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
@@ -1,37 +1,63 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , python
 , wrapPython
 , unzip
 , callPackage
 , bootstrapped-pip
+, lib
+, pipInstallHook
+, setuptoolsBuildHook
 }:
 
-buildPythonPackage rec {
+let
   pname = "setuptools";
-  version = "41.2.0";
-  format = "other";
+  version = "42.0.2";
+
+  # Create an sdist of setuptools
+  sdist = stdenv.mkDerivation rec {
+    name = "${pname}-${version}-sdist.tar.gz";
+
+    src = fetchFromGitHub {
+      owner = "pypa";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "1xqx3sha5ir40g1h15r7q063bcbl9bvh967vig574k3jgwxrz2ik";
+      name = "${pname}-${version}-source";
+    };
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "66b86bbae7cc7ac2e867f52dc08a6bd064d938bac59dfec71b9b565dd36d6012";
+    buildPhase = ''
+      ${python.pythonForBuild.interpreter} bootstrap.py
+      ${python.pythonForBuild.interpreter} setup.py sdist --formats=gztar
+    '';
+
+    installPhase = ''
+      echo "Moving sdist..."
+      mv dist/*.tar.gz $out
+    '';
   };
+in buildPythonPackage rec {
+  inherit pname version;
+  # Because of bootstrapping we don't use the setuptoolsBuildHook that comes with format="setuptools" directly.
+  # Instead, we override it to remove setuptools to avoid a circular dependency.
+  # The same is done for pip and the pipInstallHook.
+  format = "other";
 
-  # There is nothing to build
-  dontBuild = true;
+  src = sdist;
 
-  nativeBuildInputs = [ bootstrapped-pip ];
+  nativeBuildInputs = [
+    bootstrapped-pip
+    (pipInstallHook.override{pip=null;})
+    (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
+  ];
 
-  installPhase = ''
-      dst=$out/${python.sitePackages}
-      mkdir -p $dst
-      export PYTHONPATH="$dst:$PYTHONPATH"
-      ${python.pythonForBuild.interpreter} setup.py install --prefix=$out
-      wrapPythonPrograms
+  preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+    export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '';
 
+  pipInstallFlags = [ "--ignore-installed" ];
+
   # Adds setuptools to nativeBuildInputs causing infinite recursion.
   catchConflicts = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/sharedmem/default.nix b/nixpkgs/pkgs/development/python-modules/sharedmem/default.nix
index d3222ac7d140..42277fc00c59 100644
--- a/nixpkgs/pkgs/development/python-modules/sharedmem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sharedmem/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
 
   pname = "sharedmem";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c351ab3f6a4fe9fe0c692ab6a8c88013e625845b31a168ff12d16254ed4154d5";
+    sha256 = "483e414b8c5d03093a02baf548449f1d8426a88855556fa42102bba82b86b2a8";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/shodan/default.nix b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
index 8723a7b940ca..52dc89e3a962 100644
--- a/nixpkgs/pkgs/development/python-modules/shodan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
@@ -4,22 +4,24 @@
 , click-plugins
 , colorama
 , requests
+, setuptools
 , XlsxWriter
 }:
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.14.0";
+  version = "1.21.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c5x53757p6ihh1f8xqsal2gi9ikcl3464b38qinva51s0kkb58k";
+    sha256 = "834dfd084fed290b2b445545b0d1cac7822f3c0ed6ba09707efb1716bb485ede";
   };
 
   propagatedBuildInputs = [
     click-plugins
     colorama
     requests
+    setuptools
     XlsxWriter
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/shutilwhich/default.nix b/nixpkgs/pkgs/development/python-modules/shutilwhich/default.nix
new file mode 100644
index 000000000000..d88141c8b358
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/shutilwhich/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "shutilwhich";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "mbr";
+    repo = pname;
+    rev = version;
+    sha256 = "05fwcjn86w8wprck04iv1zccfi39skdf0lhwpb4b9gpvklyc9mj0";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest -rs
+  '';
+
+  meta = with lib; {
+    description = "Backport of shutil.which";
+    license = licenses.psfl;
+    homepage = https://github.com/mbr/shutilwhich;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix b/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
index ca304fc10f67..0aded2f423f5 100644
--- a/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "simpleeval";
-  version = "0.9.8";
+  version = "0.9.10";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00fzwbjg98lsnmfzmbgzg1k8q8iqbahcxjnnlhzhb44phrhcxql5";
+    sha256 = "1skvl467kj83rzkhk01i0wm8m5vmh6j5znrfdizn6r18ii45a839";
   };
   meta = {
     homepage = https://github.com/danthedeckie/simpleeval;
diff --git a/nixpkgs/pkgs/development/python-modules/simplejson/default.nix b/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
index abd4854c73fd..54e19d2e6045 100644
--- a/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "simplejson";
-  version = "3.16.1";
+  version = "3.17.0";
   doCheck = !stdenv.isDarwin;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1v80dbk3ajhgz7q5cc8k0dd22zj9rrlz838c90l5g3w1i280r1iq";
+    sha256 = "1b1hhh1dia673vhq3jl2br1iqwb9yjii6iak56w96s9972vjbz3z";
   };
 
   # Package does not need pytest, but its a bit easier debugging.
diff --git a/nixpkgs/pkgs/development/python-modules/six/default.nix b/nixpkgs/pkgs/development/python-modules/six/default.nix
index 78e7a5f05389..8bfd32aa0934 100644
--- a/nixpkgs/pkgs/development/python-modules/six/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/six/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "six";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73";
+    sha256 = "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/slicedimage/default.nix b/nixpkgs/pkgs/development/python-modules/slicedimage/default.nix
index 3b9aa19062be..3273e5fe3a33 100644
--- a/nixpkgs/pkgs/development/python-modules/slicedimage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slicedimage/default.nix
@@ -12,15 +12,16 @@
 , six
 , pytest
 , isPy27
+, tifffile
 }:
 
 buildPythonPackage rec {
   pname = "slicedimage";
-  version = "3.2.0";
+  version = "4.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "adab09457e22465f05998fdcf8ea14179185f8e780a4021526ba163dd476cd02";
+    sha256 = "7369f1d7fa09f6c9969625c4b76a8a63d2507a94c6fc257183da1c10261703e9";
   };
 
   propagatedBuildInputs = [
@@ -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/nixpkgs/pkgs/development/python-modules/slicerator/default.nix b/nixpkgs/pkgs/development/python-modules/slicerator/default.nix
index af17780909e6..896ecbdd26b8 100644
--- a/nixpkgs/pkgs/development/python-modules/slicerator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slicerator/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.9.8";
+  version = "1.0.0";
   pname = "slicerator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b91dd76a415fd8872185cbd6fbf1922fe174359053d4694983fc719e4a0f5667";
+    sha256 = "18e60393e6765ca96986f801bbae62a617a1eba6ed57784e61b165ffc7dc1848";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
index 10241104ef33..0f12dbb8850c 100644
--- a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
@@ -1,8 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi, makeWrapper, prettytable, pythonOlder, solc }:
+{ lib, buildPythonPackage, fetchPypi, makeWrapper, pythonOlder
+, prettytable
+, setuptools
+, solc
+}:
 
 buildPythonPackage rec {
   pname = "slither-analyzer";
-  version = "0.3.0";
+  version = "0.6.9";
 
   disabled = pythonOlder "3.6";
 
@@ -11,11 +15,11 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10vrcqm371kqmf702xmqmzimv3xgrn3k3ip06nr1l6gnj3jk138g";
+    sha256 = "fb057eb7f5416ac76b6ab03bb5c20c39cb7b97c7689ce1e7244c9088bd28f513";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  propagatedBuildInputs = [ prettytable ];
+  propagatedBuildInputs = [ prettytable setuptools ];
 
   postFixup = ''
     wrapProgram $out/bin/slither \
diff --git a/nixpkgs/pkgs/development/python-modules/smart_open/default.nix b/nixpkgs/pkgs/development/python-modules/smart_open/default.nix
index 325f59b1df22..48cfcb132f09 100644
--- a/nixpkgs/pkgs/development/python-modules/smart_open/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/snakebite/default.nix b/nixpkgs/pkgs/development/python-modules/snakebite/default.nix
new file mode 100644
index 000000000000..1d08570d7276
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/snitun/default.nix b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
new file mode 100644
index 000000000000..da9dbd798450
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, python, fetchFromGitHub, attrs, cryptography, async-timeout, pytest-aiohttp, pytest }:
+
+buildPythonPackage rec {
+  pname = "snitun";
+  version = "0.20";
+
+  src = fetchFromGitHub {
+    owner = "NabuCasa";
+    repo = pname;
+    rev = version;
+    sha256 = "1nscfwycclfbll709w1q46w6rl0r5c3b85rsc7zwc3ixd1k8aajp";
+  };
+
+  propagatedBuildInputs = [ attrs cryptography async-timeout ];
+
+  checkInputs = [ pytest pytest-aiohttp ];
+
+  checkPhase = ''
+    pytest tests/
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nabucasa/snitun";
+    description = "SNI proxy with TCP multiplexer";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/snowballstemmer/default.nix b/nixpkgs/pkgs/development/python-modules/snowballstemmer/default.nix
index 9b7481a62a64..61a12c2b298d 100644
--- a/nixpkgs/pkgs/development/python-modules/snowballstemmer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowballstemmer/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "snowballstemmer";
-  version = "1.2.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128";
+    sha256 = "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52";
   };
 
   # No tests included
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
new file mode 100644
index 000000000000..eb8be17797f3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -0,0 +1,65 @@
+{ buildPythonPackage
+, asn1crypto
+, azure-storage-blob
+, boto3
+, certifi
+, cffi
+, fetchPypi
+, future
+, idna
+, ijson
+, isPy3k
+, lib
+, oscrypto
+, pyarrow
+, pyasn1-modules
+, pycryptodomex
+, pyjwt
+, pyopenssl
+, pytz
+, requests
+, six
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "snowflake-connector-python";
+  version = "2.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06061d59lapqrlg3gzdk4bi3v9c3q5zxfs0if5v2chg1f2l80ncr";
+  };
+
+  propagatedBuildInputs = [
+    azure-storage-blob
+    asn1crypto
+    boto3
+    certifi
+    cffi
+    future
+    idna
+    ijson
+    oscrypto
+    pycryptodomex
+    pyjwt
+    pyopenssl
+    pytz
+    requests
+    six
+  ] ++ lib.optionals (!isPy3k) [
+    pyarrow
+    pyasn1-modules
+    urllib3
+  ];
+
+  # tests are not working
+  # XXX: fix the tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Snowflake Connector for Python";
+    homepage = "https://www.snowflake.com/";
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
new file mode 100644
index 000000000000..d8c557eddc73
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, sqlalchemy
+, snowflake-connector-python
+}:
+
+buildPythonPackage rec {
+  pname = "snowflake-sqlalchemy";
+  version = "1.1.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1pmmwkw29944zh044azwbc1gf4s04fm55920d9if2a3zpjm6c5d7";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy
+    snowflake-connector-python
+  ];
+
+  meta = with lib; {
+    description = "Snowflake SQLAlchemy Dialect";
+    homepage = "https://www.snowflake.net/";
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/snug/default.nix b/nixpkgs/pkgs/development/python-modules/snug/default.nix
index 0b3adbe15d90..a697ed0161a0 100644
--- a/nixpkgs/pkgs/development/python-modules/snug/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snug/default.nix
@@ -1,11 +1,13 @@
 { buildPythonPackage, lib, fetchFromGitHub, glibcLocales
 , pytest, pytest-mock, gentools
 , typing, singledispatch, pythonOlder
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "snug";
   version = "1.3.4";
+  disabled = isPy3k;
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/snuggs/default.nix b/nixpkgs/pkgs/development/python-modules/snuggs/default.nix
index 017ea7e0d5fd..a97bbf4012c9 100644
--- a/nixpkgs/pkgs/development/python-modules/snuggs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snuggs/default.nix
@@ -1,23 +1,23 @@
 { buildPythonPackage, lib, fetchFromGitHub
 , click, numpy, pyparsing
-, pytest
+, pytest, hypothesis
 }:
 
 buildPythonPackage rec {
   pname = "snuggs";
-  version = "1.4.3";
+  version = "1.4.7";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = pname;
     rev = version;
-    sha256 = "198nbgkhlg4ik2i1r2cp900iqlairh2hnii2y8v5wy1qk3rv0s9g";
+    sha256 = "1p3lh9s2ylsnrzbs931y2vn7mp2y2xskgqmh767c9l1a33shfgwf";
   };
 
   propagatedBuildInputs = [ click numpy pyparsing ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest hypothesis ];
   checkPhase = "pytest test_snuggs.py";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/soco/default.nix b/nixpkgs/pkgs/development/python-modules/soco/default.nix
index 3f0d16cc8a86..4a44b7d0b7aa 100644
--- a/nixpkgs/pkgs/development/python-modules/soco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soco/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.17";
+  version = "0.18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15zw6i5z5p8vsa3lp20rjizhv4lzz935r73im0xm6zsl71bsgvj8";
+    sha256 = "de033ad69f86a655f50d407648b3aa2dd9647c69fd7bb317e9adfcd38a1adf4b";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/solo-python/default.nix b/nixpkgs/pkgs/development/python-modules/solo-python/default.nix
new file mode 100644
index 000000000000..52d7d7539f92
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/solo-python/default.nix
@@ -0,0 +1,53 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, click, ecdsa, fido2, intelhex, pyserial, pyusb, requests}:
+
+ buildPythonPackage rec {
+  pname = "solo-python";
+  version = "0.0.18";
+  format = "flit";
+  disabled = pythonOlder "3.6"; # only python>=3.6 is supported
+
+  src = fetchFromGitHub {
+    owner = "solokeys";
+    repo = pname;
+    rev = version;
+    sha256 = "01mgppjvxlr93vrgz7bzisghpg1vqyaj4cg5wngk0h499iyx4d9q";
+  };
+
+  # replaced pinned fido, with unrestricted fido version
+  patchPhase = ''
+    sed -i '/fido2/c\"fido2",' pyproject.toml
+  '';
+
+  propagatedBuildInputs = [
+    click
+    ecdsa
+    fido2
+    intelhex
+    pyserial
+    pyusb
+    requests
+  ];
+
+  # allow for writable directory for darwin
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  # repo doesn't contain tests, ensure imports aren't broken
+  pythonImportsCheck = [
+    "solo"
+    "solo.cli"
+    "solo.commands"
+    "solo.fido2"
+    "solo.operations"
+  ];
+
+  meta = with lib; {
+    description = "Python tool and library for SoloKeys";
+    homepage = "https://github.com/solokeys/solo-python";
+    maintainers = with maintainers; [ wucke13 ];
+    license = with licenses; [ asl20 mit ];
+    broken = true; # no longer compatible with fido2
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
index 2094aa7793d6..e538875da2b5 100644
--- a/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "sounddevice";
-  version = "0.3.13";
+  version = "0.3.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01x2hm3xxzhxrjcj21si4ggmvkwmy5hag7f6yabqlhwskws721cd";
+    sha256 = "c7b0f7ad86550668da55404eabcb63d4212ec622fcce86510092306b77d2e80a";
   };
 
   propagatedBuildInputs = [ cffi numpy portaudio ];
diff --git a/nixpkgs/pkgs/development/python-modules/soundfile/default.nix b/nixpkgs/pkgs/development/python-modules/soundfile/default.nix
index 4ba18618674f..ff11e75a0de1 100644
--- a/nixpkgs/pkgs/development/python-modules/soundfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soundfile/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "soundfile";
-  version = "0.10.2";
+  version = "0.10.3.post1";
 
   src = fetchPypi {
     pname = "SoundFile";
     inherit version;
-    sha256 = "0w8mjadairg6av88090kwsridd0k115672b91zlcmf37r0c64zv3";
+    sha256 = "0yqhrfz7xkvqrwdxdx2ydy4h467sk7z3gf984y1x2cq7cm1gy329";
   };
 
     checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix b/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
index 9f877ffb3554..8995e98ca787 100644
--- a/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "soupsieve";
-  version = "1.7.3";
+  version = "1.9.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "87db12ae79194f0ff9808d2b1641c4f031ae39ffa3cab6b907ea7c1e5e5ed445";
+    sha256 = "e2c1c5dee4a1c36bcb790e0fabd5492d874b8ebd4617622c4f6a731701060dda";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/default.nix b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
index cdef1b2a9bd0..e35ea517bf13 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
@@ -15,28 +15,25 @@
 , regex
 , cymem
 , pathlib
-, msgpack-python
+, msgpack
 , msgpack-numpy
 , jsonschema
 , blis
 , wasabi
 , srsly
+, catalogue
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "2.1.8";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dja0crbai2n1l19m0hkv2fkj9r6zzy5ijd6dffp60v7lrch8lcw";
+    sha256 = "0shfjk6nhm6gzp5p88pz5k7bkg5dr3x9yvandkayqb2vsvkwj50x";
   };
 
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "plac<1.0.0,>=0.9.6" "plac>=0.9.6"
-  '';
-
   propagatedBuildInputs = [
    numpy
    murmurhash
@@ -49,12 +46,14 @@ buildPythonPackage rec {
    requests
    regex
    ftfy
-   msgpack-python
+   msgpack
    msgpack-numpy
    jsonschema
    blis
    wasabi
    srsly
+   catalogue
+   setuptools
   ] ++ lib.optional (pythonOlder "3.4") pathlib;
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/models.json b/nixpkgs/pkgs/development/python-modules/spacy/models.json
index d8078c116c2f..4d7eff7fd025 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/models.json
+++ b/nixpkgs/pkgs/development/python-modules/spacy/models.json
@@ -1,43 +1,43 @@
 [{
   "pname": "de_core_news_md",
-  "version": "2.1.0",
-  "sha256": "0q1flyrp2n8ja11kdlw6x1k0gll0r096pxy8ba4xv15hjng2zay1",
+  "version": "2.2.0",
+  "sha256": "1n61jg0mxpl5mqpydclq9d2xds14v0blnb0plmnf7qhzzfhrmxq9",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "de_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "0fj4dqa915i6niyskxmw2318fxzjhgdjhjx79h9cpp4mxw719w95",
+  "version": "2.2.0",
+  "sha256": "06g2snm57k64il3plgn20l27a00dsr9dcxkyyqj6pq5ih91mfycb",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "el_core_news_md",
-  "version": "2.1.0",
-  "sha256": "1rgy9hlb92amhlbwkd91yh87xssqj2a1ign0wm59aai69rb79q3s",
+  "version": "2.2.0",
+  "sha256": "0xgyh5wj9mpbl2mdrk60i3m8wmgaxbf5qviy78qk8zb1jvnxzc2n",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "el_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "07n7qg0nnzg5gjq7vs72j9qc6z4zjx65qsrrj0hjhiihk3ps378z",
+  "version": "2.2.0",
+  "sha256": "0qbf16g6s1xfm2clnmrwr3m3vgmvvsziyhy6jbm6axh8c0fy0j8p",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "en_core_web_lg",
-  "version": "2.1.0",
-  "sha256": "0ywcczd9nsxmpfwknxa7z54h566bwi7chq0jzx3sqk2a6lva4q52",
+  "version": "2.2.0",
+  "sha256": "1dxy43kf3vbz4jxc7jkr315hyzmi44v41lf09rax53f3s1jghsbh",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "en_core_web_md",
-  "version": "2.1.0",
-  "sha256": "10vgq1xd6dpdl7xdssgf0kywbq7xpxp79yqc2vcnl3c4axfpwk5q",
+  "version": "2.2.0",
+  "sha256": "13fvr8z7fjhyzc9mm55ah6c2snpj27lrrc0rzgyb0hcg7ghd6v58",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "en_core_web_sm",
-  "version": "2.1.0",
-  "sha256": "1wg5a7nxq82sfmnc3j5xfr8il65rprmcx2h36va5dvydm1h6icad",
+  "version": "2.2.0",
+  "sha256": "197afra99lhh84yi6wxvxdxibd1ikaybqfsq2nsmm7ahsw9s3kk5",
   "license": "cc-by-sa-40"
 },
 {
@@ -48,49 +48,61 @@
 },
 {
   "pname": "es_core_news_md",
-  "version": "2.1.0",
-  "sha256": "02v7hm711r9ma8p5yk057z7hm2pcvpfjgnjszc697d0ymfn4avby",
+  "version": "2.2.0",
+  "sha256": "0sdps0cdmsd2l3irsg63d874sba9vpn0san0n89rk8h3pa49dpab",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "es_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "1smyyb1gqp090sailqdqp5v5ww4kf99a3hcd9d9rdhn1wgsv28dh",
+  "version": "2.2.0",
+  "sha256": "073dgna796lk4rm7f25gyyl2ml7dfsb4azd4jkk03kxkcy6ypnag",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "fr_core_news_md",
-  "version": "2.1.0",
-  "sha256": "0n94ja7y4jbvz0k0x5bij2dypy11ikvgpd9dav0m0hw1wpqgls1i",
+  "version": "2.2.0",
+  "sha256": "0061hnw03189z3ya1gb6506bq8yxrg17v9cywg7zbk6izakxcasr",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "fr_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "1czr40y5sqs0n2dd4s37kc2xawkh2nsj41wvmsx48bw0aksb1n75",
+  "version": "2.2.0",
+  "sha256": "0kj31kx4q9mm7ms622ph2i6pkl1ifm8s5ng3f3khf9ia0vr31vbq",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "it_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "1i8dm703mf1l39jwis3mn5mb9azpx6bsimh66iriax94612x64mb",
+  "version": "2.2.0",
+  "sha256": "0gxmknd68kajak8jr443799bfd69pp5j0jnmcbnyx5abzyq6wkzx",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "lt_core_news_sm",
+  "version": "2.2.0",
+  "sha256": "1j63xnp96qavg8c960y83z752mmvp9qx92r458lydrg1ixmffx9r",
   "license": "cc-by-sa-40"
 },
 {
+  "pname": "nb_core_news_sm",
+  "version": "2.2.0",
+  "sha256": "0s0wf3kxrhdzfkgrbxjc53hzin3w8v06iivazh6bpf6rhbiwzfr0",
+  "license": "mit"
+},
+{
   "pname": "nl_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "0ywyn7jprsfr10bvwnm3qk270raxm9s9rvzyp1cp7ca037ab633y",
+  "version": "2.2.1",
+  "sha256": "0gw9a1j3v4f15cxcz7zr7dz7mqi2a3541b04q6kj74gg397li4ny",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "pt_core_news_sm",
-  "version": "2.1.0",
-  "sha256": "0vigc9x7158sdqxjgcxgvp6458k5936jlmlp2qdmlmzxr5wmfrbc",
+  "version": "2.2.0",
+  "sha256": "1fi4wick1x96sj46idic1ad26l9zd2p5smi4v7mkry71xp7d9s13",
   "license": "cc-by-sa-40"
 },
 {
   "pname": "xx_ent_wiki_sm",
-  "version": "2.1.0",
-  "sha256": "19sfsxwjqdzlfm43gb4hbyj0hgqcfhcfxwdib4g5i1pcfx1v3pf4",
+  "version": "2.2.0",
+  "sha256": "0niwnd1mdaji92yp2dqsbmr0w420gpaybb1ppbqr1rmk6bwgyhsb",
   "license": "cc-by-sa-40"
 }]
diff --git a/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix b/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
index 0a51bb5f9e84..fe400630507b 100644
--- a/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "SPARQLWrapper";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21928e7a97f565e772cdeeb0abad428960f4307e3a13dbdd8f6d3da8a6a506c9";
+    sha256 = "d6a66b5b8cda141660e07aeb00472db077a98d22cb588c973209c7336850fb3c";
   };
 
   # break circular dependency loop
diff --git a/nixpkgs/pkgs/development/python-modules/sparse/default.nix b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
index 168c491f7ef8..ec126e963b01 100644
--- a/nixpkgs/pkgs/development/python-modules/sparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "sparse";
-  version = "0.7.0";
+  version = "0.8.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ija4pl8wg36ldsdv5jmqr5i75qi17vijcwwf2jdn1k15kqg35j4";
+    sha256 = "a3dc14ee5314caa2e64331b0b50c8f92e8999d7d275179a804a114e6cb1f8b81";
   };
 
   checkInputs = [ pytest ];
@@ -35,5 +35,6 @@ buildPythonPackage rec {
     homepage = https://github.com/pydata/sparse/;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
index c28b249d192c..39edcf9b8f55 100644
--- a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchPypi
+, fetchFromGitHub
 , buildPythonPackage
 , astropy
 , radio_beam
@@ -10,11 +10,14 @@
 
 buildPythonPackage rec {
   pname = "spectral-cube";
-  version = "0.4.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9051ede204b1e25b6358b5e0e573b624ec0e208c24eb03a7ed4925b745c93b5e";
+  version = "0.4.5";
+
+  # Fetch from GitHub instead of PyPi, as 0.4.5 isn't available in PyPi
+  src = fetchFromGitHub {
+    owner = "radio-astro-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xc1m6vpl0bm600fx9vypa7zcvwg7yvhgn0w89y6v9d1vl0qcs7z";
   };
 
   propagatedBuildInputs = [ astropy radio_beam ];
@@ -43,4 +46,3 @@ buildPythonPackage rec {
   };
 }
 
-
diff --git a/nixpkgs/pkgs/development/python-modules/speedtest-cli/default.nix b/nixpkgs/pkgs/development/python-modules/speedtest-cli/default.nix
index 3c7a1c8d8397..ef97617225c0 100644
--- a/nixpkgs/pkgs/development/python-modules/speedtest-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "Command line interface for testing internet bandwidth using speedtest.net";
     homepage = https://github.com/sivel/speedtest-cli;
     license = licenses.asl20;
-    maintainers = with maintainers; [ makefu domenkozar ndowens ];
+    maintainers = with maintainers; [ makefu domenkozar ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/spglib/default.nix b/nixpkgs/pkgs/development/python-modules/spglib/default.nix
index 73af5d7b00c6..bad76f8cb93e 100644
--- a/nixpkgs/pkgs/development/python-modules/spglib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinx/2.nix b/nixpkgs/pkgs/development/python-modules/sphinx/2.nix
new file mode 100644
index 000000000000..b6374989690e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinx/2.nix
@@ -0,0 +1,75 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, simplejson
+, mock
+, glibcLocales
+, html5lib
+, pythonOlder
+, enum34
+, python
+, docutils
+, jinja2
+, pygments
+, alabaster
+, Babel
+, snowballstemmer
+, six
+, sqlalchemy
+, whoosh
+, imagesize
+, requests
+, typing
+, sphinxcontrib-websupport
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx";
+  version = "1.8.5";
+  src = fetchPypi {
+    pname = "Sphinx";
+    inherit version;
+    sha256 = "c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08";
+  };
+  LC_ALL = "en_US.UTF-8";
+
+  checkInputs = [ pytest ];
+  buildInputs = [ simplejson mock glibcLocales html5lib ] ++ lib.optional (pythonOlder "3.4") enum34;
+  # Disable two tests that require network access.
+  checkPhase = ''
+    cd tests; ${python.interpreter} run.py --ignore py35 -k 'not test_defaults and not test_anchors_ignored'
+  '';
+  propagatedBuildInputs = [
+    docutils
+    jinja2
+    pygments
+    alabaster
+    Babel
+    setuptools
+    snowballstemmer
+    six
+    sphinxcontrib-websupport
+    sqlalchemy
+    whoosh
+    imagesize
+    requests
+  ] ++ lib.optional (pythonOlder "3.5") typing;
+
+  # Lots of tests. Needs network as well at some point.
+  doCheck = false;
+
+  # https://github.com/NixOS/nixpkgs/issues/22501
+  # Do not run `python sphinx-build arguments` but `sphinx-build arguments`.
+  postPatch = ''
+    substituteInPlace sphinx/make_mode.py --replace "sys.executable, " ""
+  '';
+
+  meta = {
+    description = "A tool that makes it easy to create intelligent and beautiful documentation for Python projects";
+    homepage = http://sphinx.pocoo.org/;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ nand0p ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx/default.nix
index 1e69692eac1e..d9f64a93813d 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx/default.nix
@@ -16,10 +16,15 @@
 , Babel
 , snowballstemmer
 , six
-, sqlalchemy
 , whoosh
 , imagesize
 , requests
+, sphinxcontrib-applehelp
+, sphinxcontrib-devhelp
+, sphinxcontrib-htmlhelp
+, sphinxcontrib-jsmath
+, sphinxcontrib-qthelp
+, sphinxcontrib-serializinghtml
 , sphinxcontrib-websupport
 , typing
 , setuptools
@@ -27,11 +32,11 @@
 
 buildPythonPackage rec {
   pname = "sphinx";
-  version = "1.8.3";
+  version = "2.2.2";
   src = fetchPypi {
     pname = "Sphinx";
     inherit version;
-    sha256 = "c4cb17ba44acffae3d3209646b6baec1e215cad3065e852c68cc569d4df1b9f8";
+    sha256 = "1wjcm382824rq8ijls9mlqwl2h8l26s201v5fwprhnins671m72m";
   };
   LC_ALL = "en_US.UTF-8";
 
@@ -50,10 +55,15 @@ buildPythonPackage rec {
     setuptools
     snowballstemmer
     six
-    sqlalchemy
     whoosh
     imagesize
     requests
+    sphinxcontrib-applehelp
+    sphinxcontrib-devhelp
+    sphinxcontrib-htmlhelp
+    sphinxcontrib-jsmath
+    sphinxcontrib-qthelp
+    sphinxcontrib-serializinghtml
     sphinxcontrib-websupport
   ] ++ lib.optional (pythonOlder "3.5") typing;
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
new file mode 100644
index 000000000000..60d7a20feb59
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-applehelp";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
index 2daa9766a3af..36fb29fde595 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -3,12 +3,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.2";
+  version = "1.0.0";
   pname = "sphinxcontrib-bibtex";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0af7651hfjh4hv97xns4vpf8n3kqy7ghyjlkfda5wxw56hxgp6hn";
+    sha256 = "629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0";
   };
 
   propagatedBuildInputs = [ oset pybtex pybtex-docutils sphinx ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
index 1eeb40ddbc22..b8f23afabcd5 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-blockdiag";
-  version = "1.5.5";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w7q2hhpzk159wd35hlbwkh80hnglqa475blcd9vjwpkv1kgkpvw";
+    sha256 = "91fd35b64f1f25db59d80b8a5196ed4ffadf57a81f63ee207e34d53ec36d8f97";
   };
 
   buildInputs = [ mock sphinx-testing ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
new file mode 100644
index 000000000000..dde8bfbb7dd2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-devhelp";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document.";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
new file mode 100644
index 000000000000..88b54d8e94f7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-htmlhelp";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-htmlhelp is a sphinx extension which ...";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
new file mode 100644
index 000000000000..ca2c8e99d41d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-jsmath";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-jsmath is a sphinx extension which renders display math in HTML via JavaScript.";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
index b8a4f25f5df0..58b24f0dd73e 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-openapi";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d64c8a119bfc592e6316af3e5475ce2d4d8ed6e013dc016a3f2e7971e50d7f3";
+    sha256 = "2a5883456c0caba0dad90f07968c75a50d5fc425a3aa06d1c538472ddf8c7e22";
   };
 
   propagatedBuildInputs = [setuptools_scm pyyaml jsonschema sphinxcontrib_httpdomain];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
new file mode 100644
index 000000000000..92471c6c3d0f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-qthelp";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document.";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
new file mode 100644
index 000000000000..76fba6e1b3a0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-serializinghtml";
+  version = "1.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227";
+  };
+
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle).";
+    homepage = http://sphinx-doc.org/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
index f528edb75ab3..b3e1ca01dba4 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-spelling";
-  version = "4.2.1";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7bcbaabef7aa9c176b81d960b20d0f67817ccea5e098968c366d2db4ad76d476";
+    sha256 = "0304dac9286378f9c608af8d885a08fe03a9c62b3ebfa8802008018d92371c19";
   };
 
   propagatedBuildInputs = [ sphinx pyenchant pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch
new file mode 100644
index 000000000000..847a6e076918
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch
@@ -0,0 +1,22 @@
+diff --git a/sphinxcontrib/tikz.py b/sphinxcontrib/tikz.py
+index ee21113..a4f4589 100644
+--- a/sphinxcontrib/tikz.py
++++ b/sphinxcontrib/tikz.py
+@@ -242,7 +242,7 @@ def render_tikz(self, node, libs='', stringsubst=False):
+         tf.write(latex)
+         tf.close()
+ 
+-        system([self.builder.config.latex_engine, '--interaction=nonstopmode',
++        system(['@texLive@/bin/pdflatex', '--interaction=nonstopmode',
+                 'tikz-%s.tex' % shasum],
+                self.builder)
+ 
+@@ -281,7 +281,7 @@ def render_tikz(self, node, libs='', stringsubst=False):
+                     '-sOutputFile=%s' % outfn, '-r' + resolution + 'x' + resolution,
+                     '-f', 'tikz-%s.pdf' % shasum], self.builder)
+         elif self.builder.config.tikz_proc_suite == "pdf2svg":
+-            system(['pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder)
++            system(['@pdf2svg@/bin/pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder)
+         else:
+             self.builder._tikz_warned = True
+             raise TikzExtError('Error (tikz extension): Invalid configuration '
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
new file mode 100644
index 000000000000..15585679a293
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, substituteAll
+, buildPythonPackage
+, fetchPypi
+, sphinx
+, pdf2svg
+, texLive
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-tikz";
+  version = "0.4.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4f362b11e3c2bd17d5f0f07fec03917c16fc5bbcda6fe31ee137c547ed6b03a3";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./binary-paths.patch;
+      inherit texLive pdf2svg;
+    })
+  ];
+
+  propagatedBuildInputs = [ sphinx ];
+
+  # no tests in package
+  doCheck = false;
+
+  meta = with lib; {
+    description = "TikZ extension for Sphinx";
+    homepage = https://bitbucket.org/philexander/tikz;
+    maintainers = with maintainers; [ costrouc ];
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
index 7e1d08eb21b9..d89ecb6218c2 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-plantuml";
-  version = "0.17";
+  version = "0.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e388ea0c8bc933adecf438f5243857ca238050a107d2768e5ffb490bbb733d7";
+    sha256 = "1amvczdin078ia1ax2379lklxr0bwjsrin96174dvssxpzjl04cc";
   };
 
   # No tests included.
diff --git a/nixpkgs/pkgs/development/python-modules/splinter/default.nix b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
index 274a5148d8a1..fac73dc8715a 100644
--- a/nixpkgs/pkgs/development/python-modules/splinter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "splinter";
-  version = "0.11.0";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ddv80dv54rraa18lg9v7m9z61wzfwv6ww9ld83mr32gy3a2238p";
+    sha256 = "9e92535f273622507ac157612c3bb0e9cee7b5ccd2aa097d47b408e34c2ca356";
   };
 
   propagatedBuildInputs = [ selenium ];
diff --git a/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix b/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
index 206b0799b4a0..f4d57ce579e7 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
-  version = "0.5.1";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7e124fad5203b748005e952cf33b44695dbb9d92f5e0dc5443e7ca0db817f400";
+    sha256 = "a782fc5961a9dd48d520ddc1c868b960d54b8edb1116c21fc2e3c347fe5a4474";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spyder/default.nix b/nixpkgs/pkgs/development/python-modules/spyder/default.nix
index 7222f18d5f9b..47094fcb9933 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spyder/default.nix
@@ -7,13 +7,15 @@
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "3.3.6";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z7qw1h3rhca12ycv8xrzw6z2gf81v0j6lfq9kpwh472w4vk75v1";
+    sha256 = "f2bfece9743188e3d1da68f02271a7c6eb7f0a3b692c3df4952458ab96b037a8";
   };
 
+  nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
+
   propagatedBuildInputs = [
     jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint keyring
     numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
@@ -47,6 +49,12 @@ buildPythonPackage rec {
     cp -r $desktopItem/share/applications/ $out/share
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   meta = with stdenv.lib; {
     description = "Scientific python development environment";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-citext/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-citext/default.nix
new file mode 100644
index 000000000000..b91e33854043
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index ef30b6917a3b..c58ec72498a0 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-utils";
-  version = "0.34.2";
+  version = "0.36.0";
 
   src = fetchPypi {
     inherit version;
     pname = "SQLAlchemy-Utils";
-    sha256 = "126c9p8rnnb043w57ah7idqfryczbz4vi9lzsz2cgiaig6fv52b6";
+    sha256 = "1wkk6jj0jkp2hi3ziqw95q0b19zabpvzm6v5kixgnssj027hq0yv";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
index beb19b64f5ff..e77f2e0e7b2d 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,20 +1,21 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k
+{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
 , mock
 , pysqlite
-, pytest
+, fetchpatch
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.3.6";
+  version = "1.3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zxhabcgzspwrh9l7b68p57kqx4h664a1dp9xr8mi84r472pyzi1";
+    sha256 = "0f0768b5db594517e1f5e1572c73d14cf295140756431270d89496dc13d5e46c";
   };
 
   checkInputs = [
-    pytest
+    pytestCheckHook
     mock
   ] ++ lib.optional (!isPy3k) pysqlite;
 
@@ -22,9 +23,25 @@ buildPythonPackage rec {
     sed -e 's:--max-worker-restart=5::g' -i setup.cfg
   '';
 
-  checkPhase = ''
-    pytest test
-  '';
+  dontUseSetuptoolsCheck = true;
+
+  # 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.
+    # https://github.com/sqlalchemy/sqlalchemy/pull/4921
+    (fetchpatch {
+      url = https://github.com/sqlalchemy/sqlalchemy/commit/8b35ba54ab31aab13a34c360a31d014da1f5c809.patch;
+      sha256 = "065csr6pd7j1fjnv72wbz8s6xhydi5f161gj7nyqq86rxkh0nl0n";
+    })
+    (fetchpatch {
+      url = https://github.com/sqlalchemy/sqlalchemy/commit/e18534a9045786efdaf4963515222838c62e0300.patch;
+      sha256 = "0bwfwp5gmgg12qilvwdd2a5xi76bllzzapb23ybh1k34c5pla195";
+    })
+
+  ];
 
   meta = with lib; {
     homepage = http://www.sqlalchemy.org/;
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 40eefc1db56b..17141897d580 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.3.5";
+  version = "1.3.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84e0da1a3d846df2f7c886540828f374b357924207e915c8885e0472acdf68dd";
+    sha256 = "3bad3275e2f29ffa54d4013a2ac2c77e87d01a1d745065d54ed5e60bc68dfbf0";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
index 187f06c6ad9f..05dab8d0265e 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "SQLObject";
-  version = "3.7.2";
+  version = "3.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8aee27279231bae59e95b299e253b27ac2d78934989f4ccbe317c7b25faab6de";
+    sha256 = "00fb93313067cdbe52fe436eef1e79038b42c969cf44016b24f9eae0511db2d7";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix b/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
index 5858779b86ba..e631a5ac5d90 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlparse";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce028444cfab83be538752a2ffdb56bc417b7784ff35bb9a3062413717807dec";
+    sha256 = "0wxqrm9fpn4phz6rqm7kfd1wwkwzx376gs27nnalwx12q0lwlgbw";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/squaremap/default.nix b/nixpkgs/pkgs/development/python-modules/squaremap/default.nix
index 3a0e95ab77e3..fb339550062a 100644
--- a/nixpkgs/pkgs/development/python-modules/squaremap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/squaremap/default.nix
@@ -2,22 +2,28 @@
 , buildPythonPackage
 , isPy3k
 , fetchPypi
+, six
+, wxPython
 }:
 
 buildPythonPackage rec {
   pname = "squaremap";
-  version = "1.0.4";
+  version = "1.0.5";
   disabled = isPy3k;
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "feab6cb3b222993df68440e34825d8a16de2c74fdb290ae3974c86b1d5f3eef8";
+    pname = "SquareMap";
+    inherit version;
+    sha256 = "1a79jm7mp0pvi3a19za5c3idavnj7hlral01hhr3x9mz1jayav5i";
   };
 
+  propagatedBuildInputs = [ six wxPython ];
+
   meta = with stdenv.lib; {
     description = "Hierarchic visualization control for wxPython";
     homepage = https://launchpad.net/squaremap;
     license = licenses.bsd3;
+    broken = true; # wxPython doesn't seem to be able to be detected by pip
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/srsly/default.nix b/nixpkgs/pkgs/development/python-modules/srsly/default.nix
index d1685b4d579a..2b87c38b0854 100644
--- a/nixpkgs/pkgs/development/python-modules/srsly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/srsly/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "srsly";
-  version = "0.0.7";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1v9nn17q2lshnvnc8ff6nk53rggz2hgnmx4fj4czfr40125r98pk";
+    sha256 = "0gha1xfh64mapvgn0sghnjsvmjdrh5rywhs3j3bhkvwk42kf40ma";
   };
 
   propagatedBuildInputs = lib.optional (pythonOlder "3.4") pathlib;
diff --git a/nixpkgs/pkgs/development/python-modules/ssdeep/default.nix b/nixpkgs/pkgs/development/python-modules/ssdeep/default.nix
index f41452b4b61d..f33143a0f020 100644
--- a/nixpkgs/pkgs/development/python-modules/ssdeep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ssdeep/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "ssdeep";
-  version = "3.3";
+  version = "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "255de1f034652b3ed21920221017e70e570b1644f9436fea120ae416175f4ef5";
+    sha256 = "0px8k4fjbkjb717bg2v7rjhm4iclrxzq7sh0hfqs55f4ddqi0m8v";
   };
 
   buildInputs = [ pkgs.ssdeep pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/ssdp/default.nix b/nixpkgs/pkgs/development/python-modules/ssdp/default.nix
index 5ade47587d17..547bddbd84d8 100644
--- a/nixpkgs/pkgs/development/python-modules/ssdp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ssdp/default.nix
@@ -4,11 +4,13 @@
 , isPy27
 , pbr
 , pytest
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "ssdp";
   version = "1.0.1";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix b/nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix
new file mode 100644
index 000000000000..ff9d77bc7820
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/starfish/default.nix b/nixpkgs/pkgs/development/python-modules/starfish/default.nix
index d7989d80e8e0..8fc0a23b065f 100644
--- a/nixpkgs/pkgs/development/python-modules/starfish/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/starfish/default.nix
@@ -26,11 +26,11 @@
 
 buildPythonPackage rec {
   pname = "starfish";
-  version = "0.1.3";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19bec2a869affbca0a7e3fc0aee1b9978ff7f0f1a2a8551c2d4ae148a7ddc251";
+    sha256 = "0340e37b732e184081b150f21bbbd4eed3643ab49f74633b9c4d827bda663235";
   };
 
   propagatedBuildInputs = [
@@ -85,5 +85,6 @@ buildPythonPackage rec {
     homepage = https://spacetx-starfish.readthedocs.io/en/latest/;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
+    broken = true; # incompatible with latest python-dateutil, scikit-image
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/starlette/default.nix b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
index 6e2bd8250b66..a2170db1bd48 100644
--- a/nixpkgs/pkgs/development/python-modules/starlette/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , aiofiles
@@ -8,20 +9,23 @@
 , pyyaml
 , requests
 , ujson
+, python-multipart
 , pytest
-, python
 , uvicorn
 , isPy27
+, darwin
+, databases
+, aiosqlite
 }:
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.12.4";
+  version = "0.13.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1m7qf4g5dn7n36406zbqsag71nmwp2dz91yxpplm7h7wiw2xxw93";
+    sha256 = "6bd414152d40d000ccbf6aa40ed89718b40868366a0f69fb83034f416303acef";
   };
 
   propagatedBuildInputs = [
@@ -33,13 +37,17 @@ buildPythonPackage rec {
     requests
     ujson
     uvicorn
+    python-multipart
+    databases
+  ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ];
+
+  checkInputs = [
+    pytest
+    aiosqlite
   ];
 
   checkPhase = ''
-    ${python.interpreter} -c """
-from starlette.applications import Starlette
-app = Starlette(debug=True)
-"""
+    pytest --ignore=tests/test_graphql.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix b/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
index 46daaa21a995..e45ccdd49c67 100644
--- a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "statsmodels";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10";
+    sha256 = "9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9";
   };
 
   checkInputs = with self; [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/stevedore/default.nix b/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
index e7f8be7b4694..2e3071ed29ca 100644
--- a/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, buildPythonPackage, fetchPypi, pbr, six }:
+{ stdenv, buildPythonPackage, fetchPypi, pbr, setuptools, six }:
 
 buildPythonPackage rec {
   pname = "stevedore";
-  version = "1.30.1";
+  version = "1.31.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1860zslirsqskc2iifljxcyly28zqgjpmkm7k3bj6zyqagzriq3v";
+    sha256 = "054apq55yg7058pmbnyc8jhrcpi9clmi0sm7znhwg0d676brywz0";
   };
 
   doCheck = false;
 
-  propagatedBuildInputs = [ pbr six ];
+  propagatedBuildInputs = [ pbr setuptools six ];
 
   meta = with stdenv.lib; {
     description = "Manage dynamic plugins for Python applications";
diff --git a/nixpkgs/pkgs/development/python-modules/stm32loader/default.nix b/nixpkgs/pkgs/development/python-modules/stm32loader/default.nix
index 13272a5a0b71..c7ea7804198d 100644
--- a/nixpkgs/pkgs/development/python-modules/stm32loader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stm32loader/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "stm32loader";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w6jg4dcyz6si6dcyx727sxi75wnl0j89xkiwqmsw286s1y8ijjw";
+    sha256 = "0135qzxlrivvkq6wgkw7shfz94n755qs2c1754p1hc2jk0nqayrg";
   };
 
   propagatedBuildInputs = [ progress pyserial ];
diff --git a/nixpkgs/pkgs/development/python-modules/streamz/default.nix b/nixpkgs/pkgs/development/python-modules/streamz/default.nix
index 5360b951de26..9bbc312b183b 100644
--- a/nixpkgs/pkgs/development/python-modules/streamz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamz/default.nix
@@ -1,6 +1,4 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, fetchpatch
 , tornado
 , toolz
 , zict
@@ -10,34 +8,58 @@
 , distributed
 , confluent-kafka
 , graphviz
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "80c9ded1d6e68d3b78339deb6e9baf93a633d84b4a8875221e337ac06890103f";
+    sha256 = "127rpdjgkcyjifmkqbhmqfbzlgi32n54rybrdxja610qr906y40c";
   };
 
-  checkInputs = [ pytest networkx distributed confluent-kafka graphviz ];
+  patches = [
+    # fix networkx rename issue of GiGraph.node -> DiGraph.nodes, remove on next bump
+    ( fetchpatch {
+      url = "https://github.com/python-streamz/streamz/commit/f8b7bdb6bcb9dd107677e82e755ff4695bf0c4be.patch";
+      sha256 = "1b2frp0j369gf55plxk2pigblhsc44m0rm9az01y83cjlcm26x2s";
+    })
+    # also, fix networkx rename issue of GiGraph.node -> DiGraph.nodes, remove on next bump
+    ( fetchpatch {
+      url = "https://github.com/python-streamz/streamz/commit/f7603f4cbea54f1548885881206a3ca9d6e52250.patch";
+      sha256 = "1125kqiaz6b3cifz0yk1zrkxj5804lfzl4kc58jhqajv8rsrbs45";
+    })
+  ];
+
   propagatedBuildInputs = [
+    networkx
     tornado
     toolz
     zict
     six
   ];
 
+  checkInputs = [
+    confluent-kafka
+    distributed
+    graphviz
+    pytest
+    requests
+  ];
+
   # Disable test_tcp_async because fails on sandbox build
+  # disable kafka tests
   checkPhase = ''
     pytest --deselect=streamz/tests/test_sources.py::test_tcp_async \
-      --deselect=streamz/tests/test_sources.py::test_tcp
+      --deselect=streamz/tests/test_sources.py::test_tcp \
+      --ignore=streamz/tests/test_kafka.py
   '';
 
   meta = with lib; {
     description = "Pipelines to manage continuous streams of data";
-    homepage = https://github.com/mrocklin/streamz/;
+    homepage = "https://github.com/python-streamz/streamz";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
index 50c1cc50a2c1..bb4824b5c026 100644
--- a/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.0.6";
   pname = "strictyaml";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1baz5zjl1z9dwaczaga1ik1iy1v9zg3acwnpmgghwnk9hw2i1mq6";
+    sha256 = "dd687a32577e0b832619ce0552eac86d6afad5fa7b61ab041bb765881c6a1f36";
   };
 
   propagatedBuildInputs = [ ruamel_yaml python-dateutil ];
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 9c252aa9ce25..d564adbc6e25 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.30.0";
+  version = "2.41.0";
 
   # Tests require network connectivity and there's no easy way to disable
   # them. ~ C.
@@ -10,7 +10,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de6be07c9e8a350d588278186316f66c72af7036aa5e917d1a924fb875249034";
+    sha256 = "2f0ec677136985ece9cca232f106c2a87193261cac1fe58d4e959215310a0da8";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/structlog/default.nix b/nixpkgs/pkgs/development/python-modules/structlog/default.nix
index f7e390bd6788..fece2f1b4434 100644
--- a/nixpkgs/pkgs/development/python-modules/structlog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/structlog/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "19.1.0";
+  version = "19.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5feae03167620824d3ae3e8915ea8589fc28d1ad6f3edf3cc90ed7c7cb33fab5";
+    sha256 = "4287058cf4ce1a59bc5dea290d6386d37f29a37529c9a51cdf7387e51710152b";
   };
 
   checkInputs = [ pytest pretend freezegun simplejson twisted ]
diff --git a/nixpkgs/pkgs/development/python-modules/stups-cli-support/default.nix b/nixpkgs/pkgs/development/python-modules/stups-cli-support/default.nix
new file mode 100644
index 000000000000..35aaf45ed1a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stups-cli-support/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, clickclick
+, dnspython
+, requests
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-cli-support";
+  version = "1.1.20";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "stups-cli-support";
+    rev = version;
+    sha256 = "1r6g29gd009p87m8a6wv4rzx7f0564zdv67qz5xys4wsgvc95bx0";
+  };
+
+  propagatedBuildInputs = [
+    clickclick
+    dnspython
+    requests
+  ];
+
+  preCheck = "export HOME=$TEMPDIR";
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "Helper library for all STUPS command line tools.";
+    homepage = "https://github.com/zalando-stups/stups-cli-support";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stups-tokens/default.nix b/nixpkgs/pkgs/development/python-modules/stups-tokens/default.nix
new file mode 100644
index 000000000000..3e785d8febbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stups-tokens/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, requests
+, mock
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-tokens";
+  version = "1.1.19";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "python-tokens";
+    rev = version;
+    sha256 = "09z3l3xzdlwpivbi141gk1k0zd9m75mjwbdy81zc386rr9k8s0im";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    mock
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "A Python library that keeps OAuth 2.0 service access tokens in memory for your usage.";
+    homepage = "https://github.com/zalando-stups/python-tokens";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stups-zign/default.nix b/nixpkgs/pkgs/development/python-modules/stups-zign/default.nix
new file mode 100644
index 000000000000..a4355dd7808f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stups-zign/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, stups-tokens
+, stups-cli-support
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-zign";
+  version = "1.2";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "zign";
+    rev = version;
+    sha256 = "1vk6pnprnd5lfx96hc2c1n7kwh99f260r730x4y2h7lamlv82fh4";
+  };
+
+  patches = [
+    # pytest 5 is currently unsupported. Fetch and apply a pr that resolves this.
+    (fetchpatch {
+      url = https://github.com/zalando-stups/zign/commit/50140720211e547b0e59f7ddb39a732f0cc73ad7.patch;
+      sha256 = "1zmyvg1z1asaqqsmxvsx0srvxd6gkgavppvg3dblxwhkml01awqk";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    stups-tokens
+    stups-cli-support
+  ];
+
+  preCheck = "
+    export HOME=$TEMPDIR
+  ";
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "OAuth2 token management command line utility.";
+    homepage = "https://github.com/zalando-stups/zign";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stytra/default.nix b/nixpkgs/pkgs/development/python-modules/stytra/default.nix
new file mode 100644
index 000000000000..a564798c58a5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stytra/default.nix
@@ -0,0 +1,81 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k, callPackage
+, opencv3
+, pyqt5
+, pyqtgraph
+, numpy
+, scipy
+, numba
+, pandas
+, tables
+, git
+, ffmpeg
+, scikitimage
+, matplotlib
+, qdarkstyle
+, GitPython
+, anytree
+, pims
+, imageio
+, imageio-ffmpeg
+, av
+, nose
+, pytest
+, pyserial
+, arrayqueues
+, colorspacious
+, qimage2ndarray
+, flammkuchen
+, lightparam
+}:
+
+buildPythonPackage rec {
+  pname = "stytra";
+  version = "0.8.26";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "81842a957e3114230c2d628f64325cd89d166913b68c3f802c89282f40918587";
+  };
+  doCheck = false;
+  checkInputs = [
+    nose
+    pytest
+    pyserial
+  ];
+
+
+  propagatedBuildInputs = [
+    opencv3
+    pyqt5
+    pyqtgraph
+    numpy
+    scipy
+    numba
+    pandas
+    tables
+    git
+    ffmpeg
+    scikitimage
+    matplotlib
+    qdarkstyle
+    GitPython
+    anytree
+    qimage2ndarray
+    flammkuchen
+    pims
+    colorspacious
+    lightparam
+    imageio
+    imageio-ffmpeg
+    arrayqueues
+    av
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/stytra";
+    description = "A modular package to control stimulation and track behaviour";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
index 252eafec465f..097322524372 100644
--- a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/supervisor/default.nix b/nixpkgs/pkgs/development/python-modules/supervisor/default.nix
index 4771ba7a89d1..4ae57add6e77 100644
--- a/nixpkgs/pkgs/development/python-modules/supervisor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/supervisor/default.nix
@@ -1,27 +1,33 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi
+{ stdenv, lib, buildPythonPackage, isPy3k, fetchPypi
 , mock
 , meld3
+, pytest
+, setuptools
 }:
+
 buildPythonPackage rec {
   pname = "supervisor";
-  version = "3.3.5";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w3ahridzbc6rxfpbyx8lij6pjlcgf2ymzyg53llkjqxalp6sk8v";
+    sha256 = "2dc86fe0476e945e61483d614ceb2cf4f93b95282eb243bdf792621994360383";
   };
 
-  checkInputs = [ mock ];
-
-  propagatedBuildInputs = [ meld3 ];
+  # wants to write to /tmp/foo which is likely already owned by another
+  # nixbld user on hydra
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [ mock pytest ];
+  checkPhase = ''
+    pytest
+  '';
 
-  # Supervisor requires Python 2.4 or later but does not work on any version of Python 3.  You are using version 3.6.5 (default, Mar 28 2018, 10:24:30)
-  disabled = isPy3k;
+  propagatedBuildInputs = [ meld3 setuptools ];
 
-  meta = {
+  meta = with lib; {
     description = "A system for controlling process state under UNIX";
     homepage = http://supervisord.org/;
-    license = lib.licenses.free; # http://www.repoze.org/LICENSE.txt
-    maintainers = with lib.maintainers; [ zimbatm ];
+    license = licenses.free; # http://www.repoze.org/LICENSE.txt
+    maintainers = with maintainers; [ zimbatm ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/svg-path/default.nix b/nixpkgs/pkgs/development/python-modules/svg-path/default.nix
index 3a11bf67e13e..ac62b8b415d1 100644
--- a/nixpkgs/pkgs/development/python-modules/svg-path/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/svg-path/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "svg.path";
-  version = "3.0";
+  version = "4.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b568f90f67fd25413c8da9f8bc9f9f8ab089425c20fa03330e97e77d13880ee";
+    sha256 = "4bd627ec6526cd5da14f3c6a51205d930187db2d8992aed626825492c033b195";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/svgwrite/default.nix b/nixpkgs/pkgs/development/python-modules/svgwrite/default.nix
index 1772e8794ffd..186bf0a1ce2b 100644
--- a/nixpkgs/pkgs/development/python-modules/svgwrite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/svgwrite/default.nix
@@ -1,30 +1,35 @@
-{ stdenv
+{ lib
 , buildPythonPackage
-, fetchPypi
-, setuptools
+, fetchFromGitHub
 , pyparsing
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "svgwrite";
-  version = "1.2.1";
+  version = "1.3.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "72ef66c9fe367989823cb237ab7f012ac809dd3ba76c1b5ebd9aa61580e2e75e";
+  src = fetchFromGitHub {
+    owner = "mozman";
+    repo = "svgwrite";
+    rev = "v${version}";
+    sha256 = "14wz0y118a5wwfzin6cirr9254p4y825lnrnackihdbpw22gcw11";
   };
 
-  buildInputs = [ setuptools ];
-  propagatedBuildInputs = [ pyparsing ];
-  checkInputs = [ pytest ];
+  propagatedBuildInputs = [
+    pyparsing
+  ];
 
-  checkPhase = ''
+  checkInputs = [
     pytest
+  ];
+
+  # embed_google_web_font test tried to pull font from internet
+  checkPhase = ''
+    pytest -k "not test_embed_google_web_font"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Python library to create SVG drawings";
     homepage = https://github.com/mozman/svgwrite;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix b/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix
index dc4b99c40a7a..3c83aa643f5d 100644
--- a/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pyyaml, jsonschema, six, pytest, mock }:
+{ lib, buildPythonPackage, fetchFromGitHub, pyyaml, jsonschema, six, pytest, mock, isPy3k }:
 
 buildPythonPackage rec {
   pname = "swagger-spec-validator";
diff --git a/nixpkgs/pkgs/development/python-modules/symengine/default.nix b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
index a2c0578f0c7f..68664d0d0fdb 100644
--- a/nixpkgs/pkgs/development/python-modules/symengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
@@ -48,5 +48,6 @@ buildPythonPackage rec {
     homepage = https://github.com/symengine/symengine.py;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sympy/default.nix b/nixpkgs/pkgs/development/python-modules/sympy/default.nix
index c09267662c17..87ef13bba0f3 100644
--- a/nixpkgs/pkgs/development/python-modules/sympy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sympy/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "sympy";
-  version = "1.4"; # Upgrades may break sage. Please test or ping @timokau.
+  version = "1.5"; # Upgrades may break sage. Please test or ping @timokau.
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q937csy8rd18pk2fz1ssj7jyj7l3rjx4nzbiz5vcymfhrb1x8bi";
+    sha256 = "1s4w7q8gndim2ky825a84jmwcf7ryfn10wm8yxz9dw5z2307smii";
   };
 
   checkInputs = [ glibcLocales ];
@@ -22,14 +22,6 @@ buildPythonPackage rec {
   # tests take ~1h
   doCheck = false;
 
-  patches = [
-    # to be fixed by https://github.com/sympy/sympy/pull/13476
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympy/patches/03_undeffun_sage.patch?id=3277ba76d0ba7174608a31a0c6623e9210c63e3d";
-      sha256 = "0xcp1qafvqnivvvi0byh51mbgqicjhmswwvqvamjz9rxfzm5f7d7";
-    })
-  ];
-
   preCheck = ''
     export LANG="en_US.UTF-8"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/tables/3.5.nix b/nixpkgs/pkgs/development/python-modules/tables/3.5.nix
new file mode 100644
index 000000000000..4cca72aa313a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tables/3.5.nix
@@ -0,0 +1,58 @@
+{ stdenv, lib, fetchPypi, python, buildPythonPackage
+, cython, bzip2, lzo, numpy, numexpr, hdf5, six, c-blosc, mock }:
+
+with stdenv.lib;
+
+buildPythonPackage rec {
+  version = "3.5.2";
+  pname = "tables";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hikrki0hx94ass31pn0jyz9iy0zhnkjacfk86m21cxsc8if685j";
+  };
+
+  buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
+  propagatedBuildInputs = [ numpy numexpr six mock ];
+
+  # The setup script complains about missing run-paths, but they are
+  # actually set.
+  setupPyBuildFlags = [
+    "--hdf5=${getDev hdf5}"
+    "--lzo=${getDev lzo}"
+    "--bzip2=${getDev bzip2}"
+    "--blosc=${getDev c-blosc}"
+  ];
+  # Run the test suite.
+  # It requires the build path to be in the python search path.
+  # These tests take quite some time.
+  # If the hdf5 library is built with zlib then there is only one
+  # test-failure. That is the same failure as described in the following
+  # github issue:
+  #     https://github.com/PyTables/PyTables/issues/269
+  checkPhase = ''
+    ${python.interpreter} <<EOF
+    import sysconfig
+    import sys
+    import os
+    f = "lib.{platform}-{version[0]}.{version[1]}"
+    lib = f.format(platform=sysconfig.get_platform(),
+                   version=sys.version_info)
+    build = os.path.join(os.getcwd(), 'build', lib)
+    sys.path.insert(0, build)
+    import tables
+    r = tables.test()
+    if not r.wasSuccessful():
+        sys.exit(1)
+    EOF
+  '';
+
+  # Disable tests until the failure described above is fixed.
+  doCheck = false;
+
+  meta = {
+    description = "Hierarchical datasets for Python";
+    homepage = http://www.pytables.org/;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tables/default.nix b/nixpkgs/pkgs/development/python-modules/tables/default.nix
index 7b1b4f7c36f3..d67bec7a4968 100644
--- a/nixpkgs/pkgs/development/python-modules/tables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tables/default.nix
@@ -1,27 +1,40 @@
-{ stdenv, fetchPypi, python, buildPythonPackage
+{ stdenv, lib, fetchPypi, python, buildPythonPackage, isPy38
 , cython, bzip2, lzo, numpy, numexpr, hdf5, six, c-blosc, mock }:
 
+with stdenv.lib;
+
 buildPythonPackage rec {
-  version = "3.5.2";
+  version = "3.6.1";
   pname = "tables";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hikrki0hx94ass31pn0jyz9iy0zhnkjacfk86m21cxsc8if685j";
+    sha256 = "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9";
   };
 
-  buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
+  nativeBuildInputs = [ cython ];
+
+  buildInputs = [ hdf5 bzip2 lzo c-blosc ];
   propagatedBuildInputs = [ numpy numexpr six mock ];
 
+  # When doing `make distclean`, ignore docs
+  postPatch = ''
+    substituteInPlace Makefile --replace "src doc" "src"
+  '';
+
+  # Regenerate C code with Cython
+  preBuild = ''
+    make distclean
+  '';
+
   # The setup script complains about missing run-paths, but they are
   # actually set.
-  setupPyBuildFlags =
-    [ "--hdf5=${hdf5}"
-      "--lzo=${lzo}"
-      "--bzip2=${bzip2.dev}"
-      "--blosc=${c-blosc}"
-    ];
-
+  setupPyBuildFlags = [
+    "--hdf5=${getDev hdf5}"
+    "--lzo=${getDev lzo}"
+    "--bzip2=${getDev bzip2}"
+    "--blosc=${getDev c-blosc}"
+  ];
   # Run the test suite.
   # It requires the build path to be in the python search path.
   # These tests take quite some time.
diff --git a/nixpkgs/pkgs/development/python-modules/tabulate/default.nix b/nixpkgs/pkgs/development/python-modules/tabulate/default.nix
index 7321848afd02..cda898d2725d 100644
--- a/nixpkgs/pkgs/development/python-modules/tabulate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tabulate/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.3";
+  version = "0.8.6";
   pname = "tabulate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8af07a39377cee1103a5c8b3330a421c2d99b9141e9cc5ddd2e3263fea416943";
+    sha256 = "5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/tasklib/default.nix b/nixpkgs/pkgs/development/python-modules/tasklib/default.nix
new file mode 100644
index 000000000000..197c98def3ab
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tasklib/default.nix
@@ -0,0 +1,36 @@
+{ lib, pythonPackages, taskwarrior, writeShellScriptBin }:
+
+with pythonPackages;
+
+let
+
+wsl_stub = writeShellScriptBin "wsl" "true";
+
+in buildPythonPackage rec {
+  pname = "tasklib";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19yra86g3wz2xgk22dnrjjh3gla969vb8jrps5rf0cdmsm9qqisv";
+  };
+
+  propagatedBuildInputs = [
+    six
+    pytz
+    tzlocal
+  ];
+
+  checkInputs = [
+    taskwarrior
+    wsl_stub
+  ];
+
+  meta = with lib; {
+    homepage = https://github.com/robgolding/tasklib;
+    description = "A library for interacting with taskwarrior databases";
+    maintainers = with maintainers; [ arcnmx ];
+    platforms = platforms.all;
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tatsu/default.nix b/nixpkgs/pkgs/development/python-modules/tatsu/default.nix
new file mode 100644
index 000000000000..539cbdca3ee1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tatsu/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
+, colorama, mypy, pyyaml, regex
+, dataclasses, typing
+, pytestrunner, pytest-mypy
+}:
+
+buildPythonPackage rec {
+  pname = "TatSu";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "neogeny";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1jjd73yr3x56ij2ggxf6s62mf90i9v7wn3i0h67zxys55hlp2yh4";
+  };
+
+  nativeBuildInputs = [ pytestrunner ];
+  propagatedBuildInputs = [ colorama mypy pyyaml regex ]
+    ++ stdenv.lib.optionals (pythonOlder "3.7") [ dataclasses ]
+    ++ stdenv.lib.optionals (pythonOlder "3.5") [ typing ];
+  checkInputs = [ pytest-mypy ];
+
+  checkPhase = ''
+    pytest test/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generates Python parsers from grammars in a variation of EBNF";
+    longDescription = ''
+      TatSu (the successor to Grako) is a tool that takes grammars in a
+      variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in
+      Python.
+    '';
+    homepage = "https://tatsu.readthedocs.io/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ primeos ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tblib/default.nix b/nixpkgs/pkgs/development/python-modules/tblib/default.nix
index 4b5ad014b973..55a164773cae 100644
--- a/nixpkgs/pkgs/development/python-modules/tblib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tblib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "tblib";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k9vmw0kcbkij9lbz80imkwkhq24vgrqf1i95kv8y5aaarjda6mx";
+    sha256 = "229bee3754cb5d98b4837dd5c4405e80cfab57cb9f93220410ad367f8b352344";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tbm-utils/default.nix b/nixpkgs/pkgs/development/python-modules/tbm-utils/default.nix
new file mode 100644
index 000000000000..f0593ba1bcce
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tbm-utils/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, attrs
+, pendulum
+, pprintpp
+, wrapt
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "tbm-utils";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08fb86b5ab469bafdbef19751abb6dc1e08a3043c373ea915e1b6e20d023b529";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace ",<19.3" ""
+  '';
+
+  # No tests in archive.
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  propagatedBuildInputs = [ attrs pendulum pprintpp wrapt ];
+
+  meta = {
+    homepage = https://github.com/thebigmunch/tbm-utils;
+    license = with lib.licenses; [ mit ];
+    description = "A commonly-used set of utilities";
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/telethon/default.nix b/nixpkgs/pkgs/development/python-modules/telethon/default.nix
index 334163114a18..b94796b708e9 100644
--- a/nixpkgs/pkgs/development/python-modules/telethon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/telethon/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "telethon";
-  version = "1.9.0";
+  version = "1.10.10";
 
   src = fetchPypi {
     inherit version;
     pname = "Telethon";
-    sha256 = "a8797ad5bfee2b350cfc9b73cbb30fc19c8f73c0db42471e0df1371b1a269edc";
+    sha256 = "0zm3577f1l5g0i0gcxr3s0nrqy0i81ppr6vp31p550vvnlnkjsqj";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
index 3540bebd1960..fa039e7b1706 100644
--- a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
@@ -1,28 +1,26 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
-, pbr, six, futures, monotonic
+, pbr, six, futures, monotonic, setuptools_scm
 , pytest, sphinx, tornado
 }:
 
 buildPythonPackage rec {
   pname = "tenacity";
-  version = "5.0.4";
+  version = "6.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06sp12cn8zcb7rqklq91f6mxhvrdq5cs0p3pdiazacqcmvvwbhx0";
+    sha256 = "72f397c2bb1887e048726603f3f629ea16f88cb3e61e4ed3c57e98582b8e3571";
   };
 
-  nativeBuildInputs = [ pbr ];
+  nativeBuildInputs = [ pbr setuptools_scm ];
   propagatedBuildInputs = [ six ]
     ++ lib.optionals isPy27 [ futures monotonic ];
 
   checkInputs = [ pytest sphinx tornado ];
-  checkPhase = (if isPy27 then ''
+  checkPhase = if isPy27 then ''
     pytest --ignore='tenacity/tests/test_asyncio.py'
   '' else ''
     pytest
-  '') + ''
-    sphinx-build -a -E -W -b doctest doc/source doc/build
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-estimator/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-estimator/default.nix
index 127e7560679a..9f6be4d1ddac 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-estimator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-estimator/default.nix
@@ -6,13 +6,14 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-estimator";
-  version = "1.14.0";
+  # This is effectively 1.15.0. Upstream tagged 1.15.0 by mistake before actually updating the version in setup.py, which is why this tag is called 1.15.1.
+  version = "1.15.1";
   format = "wheel";
 
   src = fetchPypi {
     pname = "tensorflow_estimator";
     inherit version format;
-    sha256 = "14irpsyj14vn2dpwr601f54058wywci1pv0hss8s01rl0rk3y1ya";
+    sha256 = "1fc61wmc0w22frs79j2x4g6wnv5g21xc6rix1g4bsvy9qfvvylw8";
   };
 
   propagatedBuildInputs = [ mock numpy absl-py ];
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index fa1759119c9e..e0108aed5ef6 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/nixpkgs/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
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-tensorboard";
-  version = "1.14.0";
+  version = "1.15.0";
   format = "wheel";
 
   src = fetchPypi ({
@@ -23,10 +24,10 @@ buildPythonPackage rec {
     format = "wheel";
   } // (if isPy3k then {
     python = "py3";
-    sha256 = "1z631614jk5zgasgmwfr33gz8bwv11p9f5llzlwvx3a8rnyv3q2h";
+    sha256 = "1g62i3nrgp8q9wfsyqqjkkfnsz7x2k018c26kdh527h1yrjjrbac";
   } else {
     python = "py2";
-    sha256 = "1clv29yy942l3mfar2z6wkkk6l18fz7j6mi2dfz24j9dln0scny3";
+    sha256 = "0l3zc8j2sh7h1z4qpy8kfvclv3kzndri55p10i42q6xahs9phav1";
   }));
 
   propagatedBuildInputs = [
@@ -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/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
index e46d02989531..38fec9adc7dc 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , buildPythonPackage
-, isPy3k, pythonOlder
+, isPy3k, pythonOlder, isPy38
 , astor
 , gast
 , google-pasta
@@ -26,6 +26,7 @@
 , symlinkJoin
 , keras-applications
 , keras-preprocessing
+, addOpenGLRunpath
 }:
 
 # We keep this binary build for two reasons:
@@ -50,6 +51,8 @@ in buildPythonPackage {
   inherit (packages) version;
   format = "wheel";
 
+  disabled = isPy38;
+
   src = let
     pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) python.pythonVersion;
     pyver = if stdenv.isDarwin then builtins.substring 0 1 pyVerNoDot else pyVerNoDot;
@@ -76,6 +79,8 @@ in buildPythonPackage {
   ] ++ lib.optional (!isPy3k) mock
     ++ lib.optionals (pythonOlder "3.4") [ backports_weakref ];
 
+  nativeBuildInputs = lib.optional cudaSupport addOpenGLRunpath;
+
   # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
   # and the propageted input tensorflow-tensorboard which causes environment collisions.
   # another possibility would be to have tensorboard only in the buildInputs
@@ -94,7 +99,12 @@ in buildPythonPackage {
   lib.optionalString stdenv.isLinux ''
     rrPath="$out/${python.sitePackages}/tensorflow/:$out/${python.sitePackages}/tensorflow/contrib/tensor_forest/:${rpath}"
     internalLibPath="$out/${python.sitePackages}/tensorflow/python/_pywrap_tensorflow_internal.so"
-    find $out \( -name '*.so' -or -name '*.so.*' \) -exec patchelf --set-rpath "$rrPath" {} \;
+    find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      patchelf --set-rpath "$rrPath" "$lib"
+      ${lib.optionalString cudaSupport ''
+        addOpenGLRunpath "$lib"
+      ''}
+    done
   '';
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/cuda-10.2-no-bin2c-path.patch b/nixpkgs/pkgs/development/python-modules/tensorflow/cuda-10.2-no-bin2c-path.patch
new file mode 100644
index 000000000000..25f1ba7a5518
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/cuda-10.2-no-bin2c-path.patch
@@ -0,0 +1,10 @@
+--- a/third_party/nccl/build_defs.bzl.tpl
++++ b/third_party/nccl/build_defs.bzl.tpl
+@@ -113,7 +113,6 @@ def _device_link_impl(ctx):
+             "--cmdline=--compile-only",
+             "--link",
+             "--compress-all",
+-            "--bin2c-path=%s" % bin2c.dirname,
+             "--create=%s" % tmp_fatbin.path,
+             "--embedded-fatbin=%s" % fatbin_h.path,
+         ] + images,
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index 7f6952e8fe54..a9f3ebf9e486 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
@@ -1,15 +1,22 @@
 { stdenv, pkgs, buildBazelPackage, lib, fetchFromGitHub, fetchpatch, symlinkJoin
+, addOpenGLRunpath
 # Python deps
 , buildPythonPackage, isPy3k, pythonOlder, pythonAtLeast, python
 # Python libraries
 , numpy, tensorflow-tensorboard, backports_weakref, mock, enum34, absl-py
 , future, setuptools, wheel, keras-preprocessing, keras-applications, google-pasta
+, functools32
+, opt-einsum
 , termcolor, grpcio, six, wrapt, protobuf, tensorflow-estimator
 # Common deps
 , git, swig, which, binutils, glibcLocales, cython
 # Common libraries
 , jemalloc, openmpi, astor, gast, grpc, sqlite, openssl, jsoncpp, re2
 , curl, snappy, flatbuffers, icu, double-conversion, libpng, libjpeg, giflib
+# Upsteam by default includes cuda support since tensorflow 1.15. We could do
+# that in nix as well. It would make some things easier and less confusing, but
+# it would also make the default tensorflow package unfree. See
+# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
 , cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null, nccl ? null
 # XLA without CUDA is broken
 , xlaSupport ? cudaSupport
@@ -18,6 +25,8 @@
 , sse42Support ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") ["westmere" "sandybridge" "ivybridge" "haswell" "broadwell" "skylake" "skylake-avx512"]
 , avx2Support  ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") [                                     "haswell" "broadwell" "skylake" "skylake-avx512"]
 , fmaSupport   ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") [                                     "haswell" "broadwell" "skylake" "skylake-avx512"]
+# Darwin deps
+, Foundation, Security
 }:
 
 assert cudaSupport -> nvidia_x11 != null
@@ -32,7 +41,13 @@ let
 
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-merged";
-    paths = [ cudatoolkit.out cudatoolkit.lib ];
+    paths = [
+      cudatoolkit.lib
+      cudatoolkit.out
+      # for some reason some of the required libs are in the targets/x86_64-linux
+      # directory; not sure why but this works around it
+      "${cudatoolkit}/targets/${stdenv.system}"
+    ];
   };
 
   cudatoolkit_cc_joined = symlinkJoin {
@@ -54,12 +69,12 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "1.14.0";
+  version = "1.15.0";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
   pythonEnv = python.withPackages (_:
-    [ # python deps needed during wheel build time
+    [ # python deps needed during wheel build time (not runtime, see the buildPythonPackage part for that)
       numpy
       keras-preprocessing
       protobuf
@@ -73,6 +88,7 @@ let
       wheel
   ] ++ lib.optionals (!isPy3k)
   [ future
+    functools32
     mock
   ]);
 
@@ -83,7 +99,7 @@ let
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      sha256 = "06jvwlsm14b8rqwd8q8796r0vmn0wk64s4ps2zg0sapkmp9vvcmi";
+      sha256 = "1j8vysfblkyydrr67qr3i7kvaq5ygnjlx8hw9a9pc95ac462jq7i";
     };
 
     patches = [
@@ -99,12 +115,19 @@ let
         sha256 = "1m2qmwv1ysqa61z6255xggwbq6mnxbig749bdvrhnch4zydxb4di";
       })
 
-      # https://github.com/tensorflow/tensorflow/issues/29220
+      ./tf-1.15-bazel-1.0.patch
+
       (fetchpatch {
-        name = "bazel-0.27.patch";
-        url = "https://github.com/tensorflow/tensorflow/commit/cfccbdb8c4a92dd26382419dceb4d934c2380391.patch";
-        sha256 = "1l56wjia2c4685flsfkkgy471wx3c66wyv8khspv06zchj0k0liw";
+        # be compatible with gast >0.2 instead of only gast 0.2.2
+        name = "gast-update.patch";
+        url = "https://github.com/tensorflow/tensorflow/commit/85751ad6c7f5fd12c6c79545d96896cba92fa8b4.patch";
+        sha256 = "077cpj0kzyqxzdya1dwh8df17zfzhqn7c685hx6iskvw2979zg2n";
       })
+      ./lift-gast-restriction.patch
+
+      # cuda 10.2 does not have "-bin2c-path" option anymore
+      # https://github.com/tensorflow/tensorflow/issues/34429
+      ./cuda-10.2-no-bin2c-path.patch
     ];
 
     # On update, it can be useful to steal the changes from gentoo
@@ -112,7 +135,7 @@ let
 
     nativeBuildInputs = [
       swig which pythonEnv
-    ];
+    ] ++ lib.optional cudaSupport addOpenGLRunpath;
 
     buildInputs = [
       jemalloc
@@ -140,6 +163,9 @@ let
       cudatoolkit
       cudnn
       nvidia_x11
+    ] ++ lib.optionals stdenv.isDarwin [
+      Foundation
+      Security
     ];
 
     # arbitrarily set to the current latest bazel version, overly careful
@@ -156,7 +182,6 @@ let
       # "com_github_googleapis_googleapis"
       # "com_github_googlecloudplatform_google_cloud_cpp"
       "com_google_protobuf"
-      "com_google_protobuf_cc"
       "com_googlesource_code_re2"
       "curl"
       "cython"
@@ -174,11 +199,11 @@ let
       "lmdb"
       "nasm"
       # "nsync" # not packaged in nixpkgs
+      "opt_einsum_archive"
       "org_sqlite"
       "pasta"
       "pcre"
       "png_archive"
-      "protobuf_archive"
       "six_archive"
       "snappy"
       "swig"
@@ -203,6 +228,7 @@ let
     TF_NEED_CUDA = tfFeature cudaSupport;
     TF_CUDA_PATHS = lib.optionalString cudaSupport "${cudatoolkit_joined},${cudnn},${nccl}";
     GCC_HOST_COMPILER_PREFIX = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin";
+    GCC_HOST_COMPILER_PATH = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin/gcc";
     TF_CUDA_COMPUTE_CAPABILITIES = lib.concatStringsSep "," cudaCapabilities;
 
     postPatch = ''
@@ -244,13 +270,14 @@ let
     '';
 
     # FIXME: Tensorflow uses dlopen() for CUDA libraries.
-    NIX_LDFLAGS = lib.optionals cudaSupport [ "-lcudart" "-lcublas" "-lcufft" "-lcurand" "-lcusolver" "-lcusparse" "-lcudnn" ];
+    NIX_LDFLAGS = lib.optionalString cudaSupport "-lcudart -lcublas -lcufft -lcurand -lcusolver -lcusparse -lcudnn";
 
     hardeningDisable = [ "format" ];
 
     bazelFlags = [
       # temporary fixes to make the build work with bazel 0.27
       "--incompatible_no_support_tools_in_action_inputs=false"
+      "--incompatible_use_native_patch=false"
     ];
     bazelBuildFlags = [
       "--config=opt" # optimize using the flags set in the configure phase
@@ -264,9 +291,9 @@ let
 
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "196pm3ynfafqlcxah07hkvphf536hpix1ydgsynr1yg08aynlvvx"
+        "1rbg8w8pjf15hpvzrclsi19lhsrwdns6f8psb1wz35ay0ggdw8c0"
       else
-        "138r85n27ijzwxfwb5pcfyb79v14368jpckw0vmciz6pwf11bd9g";
+        "0d8wq89iz9vrzvr971mgdclxxjcjr32r7aj817h019x3pc53qnwx";
     };
 
     buildAttrs = {
@@ -295,6 +322,23 @@ let
         bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "$PWD/dist"
         cp -Lr "$PWD/dist" "$python"
       '';
+
+      postFixup = lib.optionalString cudaSupport ''
+        find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+          addOpenGLRunpath "$lib"
+        done
+      '';
+    };
+
+    meta = with stdenv.lib; {
+      description = "Computation using data flow graphs for scalable machine learning";
+      homepage = http://tensorflow.org;
+      license = licenses.asl20;
+      maintainers = with maintainers; [ jyp abbradar ];
+      platforms = with platforms; linux ++ darwin;
+      # The py2 build fails due to some issue importing protobuf. Possibly related to the fix in
+      # https://github.com/akesandgren/easybuild-easyblocks/commit/1f2e517ddfd1b00a342c6abb55aef3fd93671a2b
+      broken = !(xlaSupport -> cudaSupport) || !isPy3k;
     };
   };
 
@@ -328,30 +372,52 @@ in buildPythonPackage {
     termcolor
     wrapt
     grpcio
+    opt-einsum
   ] ++ lib.optionals (!isPy3k) [
     mock
-    future # FIXME
+    future
+    functools32
   ] ++ lib.optionals (pythonOlder "3.4") [
     backports_weakref enum34
   ] ++ lib.optionals withTensorboard [
     tensorflow-tensorboard
   ];
 
+  nativeBuildInputs = lib.optional cudaSupport addOpenGLRunpath;
+
+  postFixup = lib.optionalString cudaSupport ''
+    find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      addOpenGLRunpath "$lib"
+    done
+  '';
+
   # Actual tests are slow and impure.
   # TODO try to run them anyway
   # TODO better test (files in tensorflow/tools/ci_build/builds/*test)
   checkPhase = ''
-    ${python.interpreter} -c "import tensorflow"
+    ${python.interpreter} <<EOF
+    # A simple "Hello world"
+    import tensorflow as tf
+    hello = tf.constant("Hello, world!")
+    sess = tf.Session()
+    sess.run(hello)
+
+    # Fit a simple model to random data
+    import numpy as np
+    np.random.seed(0)
+    tf.random.set_random_seed(0)
+    model = tf.keras.models.Sequential([
+        tf.keras.layers.Dense(1, activation="linear")
+    ])
+    model.compile(optimizer="sgd", loss="mse")
+
+    x = np.random.uniform(size=(1,1))
+    y = np.random.uniform(size=(1,))
+    model.fit(x, y, epochs=1)
+    EOF
   '';
 
   passthru.libtensorflow = bazel-build.out;
 
-  meta = with stdenv.lib; {
-    description = "Computation using data flow graphs for scalable machine learning";
-    homepage = http://tensorflow.org;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ jyp abbradar ];
-    platforms = platforms.linux;
-    broken = !(xlaSupport -> cudaSupport);
-  };
+  inherit (bazel-build) meta;
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch b/nixpkgs/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch
new file mode 100644
index 000000000000..24cc118d8f33
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch
@@ -0,0 +1,13 @@
+diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py
+index 992f2eae22..d9386f9b13 100644
+--- a/tensorflow/tools/pip_package/setup.py
++++ b/tensorflow/tools/pip_package/setup.py
+@@ -54,7 +54,7 @@ REQUIRED_PACKAGES = [
+     'astor >= 0.6.0',
+     'backports.weakref >= 1.0rc1;python_version<"3.4"',
+     'enum34 >= 1.1.6;python_version<"3.4"',
+-    'gast == 0.2.2',
++    'gast >= 0.2.2',
+     'google_pasta >= 0.1.6',
+     'keras_applications >= 1.0.8',
+     'keras_preprocessing >= 1.0.5',
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch b/nixpkgs/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch
new file mode 100644
index 000000000000..4d70e99108bf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch
@@ -0,0 +1,213 @@
+diff --git a/tensorflow/c/BUILD b/tensorflow/c/BUILD
+index f740ba66b5..6cc9003787 100644
+--- a/tensorflow/c/BUILD
++++ b/tensorflow/c/BUILD
+@@ -270,6 +270,7 @@ tf_cuda_library(
+         "//tensorflow/core/platform",
+         "@com_google_absl//absl/strings",
+     ],
++    alwayslink = 1,
+ )
+ 
+ exports_files(
+diff --git a/tensorflow/c/eager/BUILD b/tensorflow/c/eager/BUILD
+index 5c42e508f7..16b421862c 100644
+--- a/tensorflow/c/eager/BUILD
++++ b/tensorflow/c/eager/BUILD
+@@ -79,6 +79,7 @@ tf_cuda_library(
+         "//tensorflow/core/profiler/lib:profiler_session",
+         "//tensorflow/core:gpu_runtime",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tf_cuda_library(
+@@ -226,6 +227,7 @@ tf_cuda_library(
+         "//tensorflow/core/profiler/rpc/client:capture_profile",
+         "//tensorflow/core:gpu_runtime",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tf_cuda_cc_test(
+diff --git a/tensorflow/cc/saved_model/BUILD b/tensorflow/cc/saved_model/BUILD
+index 39b84922d1..b2affdd999 100644
+--- a/tensorflow/cc/saved_model/BUILD
++++ b/tensorflow/cc/saved_model/BUILD
+@@ -123,6 +123,7 @@ cc_library(
+         "//tensorflow/core/util/tensor_bundle:naming",
+         # mobile not supported yet
+     ]),
++    alwayslink = 1,
+ )
+ 
+ tf_cc_test(
+diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD
+index c23c1f9b39..805643b217 100644
+--- a/tensorflow/core/BUILD
++++ b/tensorflow/core/BUILD
+@@ -777,6 +777,7 @@ cc_library(
+         ":lib_proto_parsing",
+         ":protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ # DEPRECATED: use platform:stringpiece instead.
+@@ -2496,6 +2497,7 @@ cc_library(
+                "@com_google_protobuf//:protobuf",
+            ] + tf_protos_all_impl() + tf_protos_grappler_impl() +
+            tf_additional_numa_deps(),
++    alwayslink = 1,
+ )
+ 
+ # File compiled with extra flags to get cpu-specific acceleration.
+diff --git a/tensorflow/core/lib/random/BUILD b/tensorflow/core/lib/random/BUILD
+index 3bd933261b..e1e589e76d 100644
+--- a/tensorflow/core/lib/random/BUILD
++++ b/tensorflow/core/lib/random/BUILD
+@@ -50,6 +50,7 @@ cc_library(
+         "//tensorflow/core/platform:types",
+         "//third_party/eigen3",
+     ],
++    alwayslink = 1,
+ )
+ 
+ filegroup(
+diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl
+index 5459d8d428..feba3a5686 100644
+--- a/tensorflow/core/platform/default/build_config.bzl
++++ b/tensorflow/core/platform/default/build_config.bzl
+@@ -228,6 +228,7 @@ def cc_proto_library(
+         hdrs = gen_hdrs,
+         deps = cc_libs + deps,
+         includes = includes,
++        alwayslink = 1,
+         **kargs
+     )
+     native.cc_library(
+diff --git a/tensorflow/lite/java/src/test/native/BUILD b/tensorflow/lite/java/src/test/native/BUILD
+index 6dcdab2aee..32bb0a8d85 100644
+--- a/tensorflow/lite/java/src/test/native/BUILD
++++ b/tensorflow/lite/java/src/test/native/BUILD
+@@ -19,6 +19,7 @@ cc_library(
+         "//tensorflow/lite/java/jni",
+         "//tensorflow/lite/kernels:kernel_util",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tflite_jni_binary(
+diff --git a/tensorflow/lite/python/testdata/BUILD b/tensorflow/lite/python/testdata/BUILD
+index 7bda81358f..ac1188d844 100644
+--- a/tensorflow/lite/python/testdata/BUILD
++++ b/tensorflow/lite/python/testdata/BUILD
+@@ -60,6 +60,7 @@ cc_library(
+     deps = [
+         "//tensorflow/lite/c:c_api_internal",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_binary(
+diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
+index 6fd9b4f273..29df3a3dff 100644
+--- a/tensorflow/python/BUILD
++++ b/tensorflow/python/BUILD
+@@ -375,6 +375,7 @@ cc_library(
+         "//tensorflow/core:lib",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_library(
+@@ -411,6 +412,7 @@ cc_library(
+         "//third_party/py/numpy:headers",
+         "//third_party/python_runtime:headers",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_library(
+@@ -617,6 +619,7 @@ cc_library(
+         "//tensorflow/core:op_gen_lib",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ py_library(
+diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl
+index a3956322fe..32752f59ad 100644
+--- a/tensorflow/tensorflow.bzl
++++ b/tensorflow/tensorflow.bzl
+@@ -2331,6 +2331,7 @@ def tf_generate_proto_text_sources(name, srcs_relative_dir, srcs, protodeps = []
+         hdrs = out_hdrs,
+         visibility = visibility,
+         deps = deps,
++        alwayslink = 1,
+     )
+ 
+ def tf_genrule_cmd_append_to_srcs(to_append):
+diff --git a/tensorflow/tools/graph_transforms/BUILD b/tensorflow/tools/graph_transforms/BUILD
+index adafe2aca1..8965316b12 100644
+--- a/tensorflow/tools/graph_transforms/BUILD
++++ b/tensorflow/tools/graph_transforms/BUILD
+@@ -223,6 +223,7 @@ cc_library(
+         "//tensorflow/core:lib_internal",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ # This library includes a main function, to make it easy to create other
+diff --git a/third_party/icu/data/BUILD.bazel b/third_party/icu/data/BUILD.bazel
+index 7db21566e4..8e18c7cc3a 100644
+--- a/third_party/icu/data/BUILD.bazel
++++ b/third_party/icu/data/BUILD.bazel
+@@ -43,4 +43,5 @@ cc_library(
+     name = "conversion_data",
+     srcs = [":conversion_data.c"],
+     deps = ["@icu//:headers"],
++    alwayslink = 1,
+ )
+diff --git a/third_party/protobuf/protobuf.patch b/third_party/protobuf/protobuf.patch
+index df0648563d..18fc6cdf35 100644
+--- a/third_party/protobuf/protobuf.patch
++++ b/third_party/protobuf/protobuf.patch
+@@ -11,7 +11,15 @@ index 2fb26050..c2744d5b 100644
+  
+  ################################################################################
+  # Protobuf Runtime Library
+-@@ -218,7 +218,7 @@ cc_library(
++@@ -209,6 +209,7 @@ cc_library(
++     copts = COPTS,
++     includes = ["src/"],
++     linkopts = LINK_OPTS,
+++    alwayslink = 1,
++     visibility = ["//visibility:public"],
++     deps = [":protobuf_lite"] + PROTOBUF_DEPS,
++ )
++@@ -219,7 +220,7 @@ cc_library(
+  # TODO(keveman): Remove this target once the support gets added to Bazel.
+  cc_library(
+      name = "protobuf_headers",
+@@ -20,3 +28,4 @@ index 2fb26050..c2744d5b 100644
+      includes = ["src/"],
+      visibility = ["//visibility:public"],
+  )
++ 
+\ No newline at end of file
+diff --git a/third_party/systemlibs/protobuf.bzl b/third_party/systemlibs/protobuf.bzl
+index 774514f3fd..1c415b018b 100644
+--- a/third_party/systemlibs/protobuf.bzl
++++ b/third_party/systemlibs/protobuf.bzl
+@@ -262,6 +262,7 @@ def cc_proto_library(
+         hdrs = gen_hdrs,
+         deps = cc_libs + deps,
+         includes = includes,
++        alwayslink = 1,
+         **kargs
+     )
+ 
diff --git a/nixpkgs/pkgs/development/python-modules/terminado/default.nix b/nixpkgs/pkgs/development/python-modules/terminado/default.nix
index dbcc5935e5e2..af1c4d53e13a 100644
--- a/nixpkgs/pkgs/development/python-modules/terminado/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix b/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix
new file mode 100644
index 000000000000..2d4f9d10a8cc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
index f9d35297306c..8fca654632e0 100644
--- a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
@@ -1,25 +1,18 @@
-{ stdenv, buildPythonPackage, fetchPypi, fetchpatch
-, mock, pytest, sybil, zope_component }:
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, isPy27
+, mock, pytest, sybil, zope_component, twisted }:
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "6.3.0";
+  version = "6.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1x16xkw483nb1ngv74s7lgaj514pb1ldklal7kb7iwqbxcgnrh2k";
+    sha256 = "8f22100d4fb841b958f64e71c8820a32dc46f57d4d7e077777b932acd87b7327";
   };
 
-  checkInputs = [ pytest mock sybil zope_component ];
-
-  patches = [
-    # Fix tests for Python 3.7. Remove with the next release
-    (fetchpatch {
-      url = https://github.com/Simplistix/testfixtures/commit/6e8807543b804946aba58e2c9e92f5bdc3656a57.patch;
-      sha256 = "1584jz2qz04arx8z8f6d1l1vab7gi38k3akzm223rmp7j4m7yrii";
-    })
-  ];
+  checkInputs = [ pytest mock sybil zope_component twisted ];
 
+  doCheck = !isPy27;
   checkPhase = ''
     # django is too much hasle to setup at the moment
     pytest -W ignore::DeprecationWarning --ignore=testfixtures/tests/test_django testfixtures/tests
diff --git a/nixpkgs/pkgs/development/python-modules/testpath/default.nix b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
index 8bdd50f52d25..c9d0e8f0ad2c 100644
--- a/nixpkgs/pkgs/development/python-modules/testpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "testpath";
-  version = "0.4.2";
+  version = "0.4.4";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "46c89ebb683f473ffe2aab0ed9f12581d4d078308a3cb3765d79c6b2317b0109";
+    sha256 = "bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/testresources/default.nix b/nixpkgs/pkgs/development/python-modules/testresources/default.nix
index fa4fc0b1fedf..ce00b17b1773 100644
--- a/nixpkgs/pkgs/development/python-modules/testresources/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testresources/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417";
   };
 
-  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ pbr ];
 
   checkInputs = [ fixtures testtools ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/text-unidecode/default.nix b/nixpkgs/pkgs/development/python-modules/text-unidecode/default.nix
index 94aebc595123..ff5d24255932 100644
--- a/nixpkgs/pkgs/development/python-modules/text-unidecode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/text-unidecode/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "text-unidecode";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d";
+    sha256 = "bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/textwrap3/default.nix b/nixpkgs/pkgs/development/python-modules/textwrap3/default.nix
new file mode 100644
index 000000000000..5b8e10db83ea
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/thinc/default.nix b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
index ac8ab3fd8648..c8a6b5efe844 100644
--- a/nixpkgs/pkgs/development/python-modules/thinc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
@@ -8,7 +8,7 @@
 , cymem
 , darwin
 , msgpack-numpy
-, msgpack-python
+, msgpack
 , preshed
 , numpy
 , murmurhash
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "7.0.8";
+  version = "7.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "191admjvhqsbxpqn73q42i0i8kvlblj0k6p0z9p7n3pcxzl75nsw";
+    sha256 = "1f9bg7iyhwnk8jfras8d4wzq0ypn5na0bdbwkl7y2mr06yrdd0ff";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
@@ -44,7 +44,7 @@ buildPythonPackage rec {
    cython
    cymem
    msgpack-numpy
-   msgpack-python
+   msgpack
    preshed
    numpy
    murmurhash
@@ -65,11 +65,6 @@ buildPythonPackage rec {
     pytest
   ];
 
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "plac>=0.9.6,<1.0.0" "plac>=0.9.6"
-  '';
-
   # Cannot find cython modules.
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/thrift/default.nix b/nixpkgs/pkgs/development/python-modules/thrift/default.nix
index d5a83832cb27..7d80be987f70 100644
--- a/nixpkgs/pkgs/development/python-modules/thrift/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thrift/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "thrift";
-  version = "0.11.0";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d59ac4fdcb2c58037ebd4a9da5f9a49e3e034bf75b3f26d9fe48ba3d8806e6b";
+    sha256 = "9af1c86bf73433afc6010ed376a6c6aca2b54099cc0d61895f640870a9ae7d89";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/thumbor/default.nix b/nixpkgs/pkgs/development/python-modules/thumbor/default.nix
index 720391772b5d..6f2d0de9accd 100644
--- a/nixpkgs/pkgs/development/python-modules/thumbor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thumbor/default.nix
@@ -85,6 +85,6 @@ buildPythonPackage rec {
     description = "A smart imaging service";
     homepage = https://github.com/thumbor/thumbor/wiki;
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
index 9a0876548e55..fbf36b4ef97e 100644
--- a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
@@ -1,15 +1,23 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27
-, numpy, enum34, futures, pathlib
+{ lib
+, fetchPypi
+, buildPythonPackage
+, isPy27
+, isPy3k
+, numpy
+, imagecodecs-lite
+, enum34
+, futures
+, pathlib
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "2019.2.22";
+  version = "2019.7.26.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed49d75b3eff711dbe74b35324dfd79e0db598b6e772a9096001545e81e95437";
+    sha256 = "2abb91c3a23a61593c5635ac1a19f67e732b46291c305fcee0eeaad41181a13f";
   };
 
   patches = lib.optional isPy27 ./python2-regex-compat.patch;
@@ -17,17 +25,28 @@ buildPythonPackage rec {
   # Missing dependencies: imagecodecs, czifile, cmapfile, oiffile, lfdfiles
   # and test data missing from PyPI tarball
   doCheck = false;
-  checkInputs = [ pytest ];
+
+  checkInputs = [
+    pytest
+  ];
+
   checkPhase = ''
     pytest
   '';
 
-  propagatedBuildInputs = [ numpy ]
-    ++ lib.optional isPy27 [ futures enum34 pathlib ];
+  propagatedBuildInputs = [
+    numpy
+  ] ++ lib.optionals isPy3k [
+    imagecodecs-lite
+  ] ++ lib.optionals isPy27 [
+    futures
+    enum34
+    pathlib
+  ];
 
   meta = with lib; {
     description = "Read and write image data from and to TIFF files.";
-    homepage = https://www.lfd.uci.edu/~gohlke/;
+    homepage = "https://www.lfd.uci.edu/~gohlke/";
     maintainers = [ maintainers.lebastr ];
     license = licenses.bsd3;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/tiledb/default.nix b/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
new file mode 100644
index 000000000000..cddfb81d609e
--- /dev/null
+++ b/nixpkgs/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.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB-Py";
+    rev = version;
+    sha256 = "1wzzq3ggrprnjqgx9168r4x8cj1rh2ikr6mlxgbi463p5hnlkb5m";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/tilestache/default.nix b/nixpkgs/pkgs/development/python-modules/tilestache/default.nix
index 2b0fc68ca4c4..c76cc6645d90 100644
--- a/nixpkgs/pkgs/development/python-modules/tilestache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tilestache/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "tilestache";
-  version = "1.51.13";
+  version = "1.51.14";
   disabled = !isPy27;
 
   src = fetchPypi {
     pname = "TileStache";
     inherit version;
-    sha256 = "11e15dd85501345bcfeb18dce5b1c8fb74ac8d867df2520afe0eefe1edd85f27";
+    sha256 = "1qjrabl6qr7i6yj6v647ck92abcyklb0vmb6h6kj7x8v2cj5xbvk";
   };
 
   propagatedBuildInputs = [ modestmaps pillow pycairo python-mapnik simplejson werkzeug ];
diff --git a/nixpkgs/pkgs/development/python-modules/timezonefinder/default.nix b/nixpkgs/pkgs/development/python-modules/timezonefinder/default.nix
new file mode 100644
index 000000000000..f4339bbce4a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/timezonefinder/default.nix
@@ -0,0 +1,31 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, isPy27
+, numba
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "timezonefinder";
+  version = "4.2.0";
+
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0q8nd279labn03dz17s4xrglk1d31q9y8wcx99l51i5cxx53zsap";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkInputs = [ numba ];
+
+  meta = with lib; {
+    description = "fast python package for finding the timezone of any point on earth (coordinates) offline";
+    homepage = "https://github.com/MrMinimal64/timezonefinder";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tinydb/default.nix b/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
new file mode 100644
index 000000000000..f4de29b5e6c9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tld/default.nix b/nixpkgs/pkgs/development/python-modules/tld/default.nix
index b3d83deeac9e..5e7380f7bb3b 100644
--- a/nixpkgs/pkgs/development/python-modules/tld/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tld/default.nix
@@ -2,11 +2,11 @@
 
 python.pkgs.buildPythonPackage rec {
   pname   = "tld";
-  version = "0.9.3";
+  version = "0.11.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0i0prgwrmm157h6fa5bx9wm0m70qq2nhzp743374a94p9s766rpp";
+    sha256 = "c5fe79df74b68ebc33406dfadc69f6484dee8005035a129fdb40b8fabfd06e9f";
   };
 
   propagatedBuildInputs = with python.pkgs; [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
index 88b417931808..07865a6b4b83 100644
--- a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname   = "tldextract";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lcywabjy7vpm6awl2cw4m6rk6h85qnbql0j33xcfryy2dhfyaxp";
+    sha256 = "9aa21a1f7827df4209e242ec4fc2293af5940ec730cde46ea80f66ed97bfc808";
   };
 
   propagatedBuildInputs = [ requests requests-file idna ];
diff --git a/nixpkgs/pkgs/development/python-modules/todoist/default.nix b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
index 6f3eae60c635..08ea37f4ba17 100644
--- a/nixpkgs/pkgs/development/python-modules/todoist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "todoist-python";
-  version = "7.0.17";
+  version = "8.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gs4vlvvmkz627ybswj0l6m3c8dyrqgfqjlawbc8d9rkx88srkr2";
+    sha256 = "0khipf8v0gqvspq7m67aqv0ql3rdqyqr8qfhbm1szc1z6mygj8ns";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix b/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
index 2c43ebf2c7e7..6834876d8f81 100644
--- a/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
@@ -1,5 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi, twine, pbr, click, click-completion, validate-email,
-pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy }:
+pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy,
+setuptools }:
 
 
 buildPythonPackage rec {
@@ -16,6 +17,7 @@ buildPythonPackage rec {
 
   postPatch = ''
    substituteInPlace requirements.txt \
+     --replace "pendulum==2.0.4" "pendulum>=2.0.4" \
      --replace "click-completion==0.5.0" "click-completion>=0.5.0" \
      --replace "pbr==5.1.2" "pbr>=5.1.2" \
      --replace "inquirer==2.5.1" "inquirer>=2.5.1"
@@ -37,6 +39,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
+    setuptools
     click
     click-completion
     validate-email
diff --git a/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix b/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
index d75458acf7c8..72e6e0aca632 100644
--- a/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "tomlkit";
-  version = "0.5.5";
+  version = "0.5.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xlmx280mzd3f63ydqhr76whbr2lhcwihyg9my9d5hjklkrhdn58";
+    sha256 = "32c10cc16ded7e4101c79f269910658cc2a0be5913f1252121c3cd603051c269";
   };
 
   propagatedBuildInputs =
diff --git a/nixpkgs/pkgs/development/python-modules/tox/default.nix b/nixpkgs/pkgs/development/python-modules/tox/default.nix
index 772128c68608..5cec769deccc 100644
--- a/nixpkgs/pkgs/development/python-modules/tox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.7.0";
+  version = "3.14.3";
 
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "25ef928babe88c71e3ed3af0c464d1160b01fca2dd1870a5bb26c2dea61a17fc";
+    sha256 = "06ba73b149bf838d5cd25dc30c2dd2671ae5b2757cf98e5c41a35fe449f131b3";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tqdm/default.nix b/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
index f6038acc1cab..d906b6d51d58 100644
--- a/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.32.2";
+  version = "4.40.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "25d4c0ea02a305a688e7e9c2cdc8f862f989ef2a4701ab28ee963295f5b109ab";
+    sha256 = "f0ab01cf3ae5673d18f918700c0165e5fad0f26b5ebe4b34f62ead92686b5340";
   };
 
-  buildInputs = [ nose coverage glibcLocales flake8 ];
+  checkInputs = [ nose coverage glibcLocales flake8 ];
 
   postPatch = ''
     # Remove performance testing.
diff --git a/nixpkgs/pkgs/development/python-modules/trackpy/default.nix b/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
index 2e26679ebf2a..32c8c64c68c7 100644
--- a/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
@@ -45,6 +45,7 @@ buildPythonPackage rec {
     pytest trackpy --ignore trackpy/tests/test_motion.py \
                    --ignore trackpy/tests/test_feature_saving.py \
                    --ignore trackpy/tests/test_feature.py \
+                   --ignore trackpy/tests/test_plots.py \
                    --ignore trackpy/tests/test_legacy_linking.py
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
index 0f18c6693869..0342abdfefe0 100644
--- a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "traitlets";
-  version = "4.3.2";
+  version = "4.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835";
+    sha256 = "d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7";
   };
 
   checkInputs = [ glibcLocales pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/traits/default.nix b/nixpkgs/pkgs/development/python-modules/traits/default.nix
index bcf205aa1d2d..84aa1c5784e3 100644
--- a/nixpkgs/pkgs/development/python-modules/traits/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/transaction/default.nix b/nixpkgs/pkgs/development/python-modules/transaction/default.nix
index 20f124854354..0ed6f84ff302 100644
--- a/nixpkgs/pkgs/development/python-modules/transaction/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transaction/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "transaction";
-  version = "2.4.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j";
+    sha256 = "3b0ad400cb7fa25f95d1516756c4c4557bb78890510f69393ad0bd15869eaa2d";
   };
 
   propagatedBuildInputs = [ zope_interface mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/transformers/default.nix b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
new file mode 100644
index 000000000000..09ebf739d7d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage
+, stdenv
+, fetchFromGitHub
+, sacremoses
+, requests
+, sentencepiece
+, boto3
+, tqdm
+, regex
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "transformers";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "huggingface";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1p8p3lhhiyk1xl9gpgq4vbchyz57v3w7hhvsj1r90zs3cckindl8";
+  };
+
+  propagatedBuildInputs = [ numpy sacremoses requests sentencepiece boto3 tqdm regex ];
+
+  checkInputs = [ pytest ];
+  # pretrained tries to download from s3
+  checkPhase = ''
+    cd transformers # avoid importing local files
+    HOME=$TMPDIR pytest -k 'not pretrained_tokenizers'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/huggingface/transformers";
+    description = "State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/transitions/default.nix b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
index 059289ec4219..f4eb4fe5293b 100644
--- a/nixpkgs/pkgs/development/python-modules/transitions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "transitions";
-  version = "0.6.9";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afe0f498cf1f3f3b0fc13562011b8895a172df8f891dbb5118923d46e78a96d7";
+    sha256 = "b73015080833b753cbb4a10f51f8234924ddfbdbaf33539fee4e4f3abfff454d";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/treq/default.nix b/nixpkgs/pkgs/development/python-modules/treq/default.nix
index f49c7a0d2430..1d488eed4e1b 100644
--- a/nixpkgs/pkgs/development/python-modules/treq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/treq/default.nix
@@ -17,9 +17,9 @@ buildPythonPackage rec {
     incremental
     service-identity
     twisted
+  ]
     # twisted [tls] requirements (we should find a way to list "extras")
-    twisted.extras.tls
-  ];
+    ++ twisted.extras.tls;
 
   checkInputs = [
     pep8
diff --git a/nixpkgs/pkgs/development/python-modules/trezor/default.nix b/nixpkgs/pkgs/development/python-modules/trezor/default.nix
index 9b7dc424ddc1..2d40ad971dbe 100644
--- a/nixpkgs/pkgs/development/python-modules/trezor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trezor/default.nix
@@ -11,20 +11,21 @@
 , libusb1
 , rlp
 , shamir-mnemonic
+, trezor-udev-rules
 }:
 
 buildPythonPackage rec {
   pname = "trezor";
-  version = "0.11.4";
+  version = "0.11.6";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aeb3f56a4c389495617f27bf218471b7969f636d25ddc491dfefeb8a1b3cd499";
+    sha256 = "1i73j812i0dgjw9n106pipc6qksd9cgs59d0as0b4j5iyl0087hh";
   };
 
-  propagatedBuildInputs = [ typing-extensions protobuf hidapi ecdsa mnemonic requests pyblake2 click construct libusb1 rlp shamir-mnemonic ];
+  propagatedBuildInputs = [ typing-extensions protobuf hidapi ecdsa mnemonic requests pyblake2 click construct libusb1 rlp shamir-mnemonic trezor-udev-rules ];
 
   checkInputs = [
     pytest
@@ -33,7 +34,7 @@ buildPythonPackage rec {
   # disable test_tx_api.py as it requires being online
   checkPhase = ''
     runHook preCheck
-    ${python.interpreter} -m pytest --pyargs trezorlib.tests.unit_tests --ignore trezorlib/tests/unit_tests/test_tx_api.py
+    pytest --pyargs tests --ignore tests/test_tx_api.py
     runHook postCheck
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/trezor_agent/default.nix b/nixpkgs/pkgs/development/python-modules/trezor_agent/default.nix
index 17ecd369136e..ad4a30d97c50 100644
--- a/nixpkgs/pkgs/development/python-modules/trezor_agent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trezor_agent/default.nix
@@ -8,6 +8,7 @@
 , mnemonic
 , keepkey
 , semver
+, setuptools
 , wheel
 , pinentry
 }:
@@ -21,13 +22,13 @@ buildPythonPackage rec{
     sha256 = "e82bf000c1178b1a7612f2a90487eb34c6234d2edb15dc8e310ad875d8298690";
   };
 
-  propagatedBuildInputs = [ trezor libagent ecdsa ed25519 mnemonic keepkey semver wheel pinentry ];
+  propagatedBuildInputs = [ setuptools trezor libagent ecdsa ed25519 mnemonic keepkey semver wheel pinentry ];
 
   meta = with stdenv.lib; {
     description = "Using Trezor as hardware SSH agent";
     homepage = "https://github.com/romanz/trezor-agent";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ np mmahut ];
+    maintainers = with maintainers; [ hkjn np mmahut ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/trio/default.nix b/nixpkgs/pkgs/development/python-modules/trio/default.nix
index bc9837dc23c8..11f3c94aece3 100644
--- a/nixpkgs/pkgs/development/python-modules/trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trio/default.nix
@@ -12,23 +12,30 @@
 , stdenv
 , jedi
 , pylint
+, astor
+, yapf
 }:
 
 buildPythonPackage rec {
   pname = "trio";
-  version = "0.11.0";
+  version = "0.13.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3796774aedbf5be581c68f98c79b565654876de6e9a01c6a95e3ec6cd4e4b4c3";
+    sha256 = "f1cf00054ad974c86d9b7afa187a65d79fd5995340abe01e8e4784d86f4acb30";
   };
 
-  checkInputs = [ pytest pyopenssl trustme jedi pylint ];
+  checkInputs = [ astor pytest pyopenssl trustme jedi pylint yapf ];
   # It appears that the build sandbox doesn't include /etc/services, and these tests try to use it.
   checkPhase = ''
-    HOME="$(mktemp -d)" py.test -k 'not test_getnameinfo and not test_SocketType_resolve and not test_getprotobyname and not test_waitpid'
+    HOME=$TMPDIR py.test -k 'not getnameinfo \
+                             and not SocketType_resolve \
+                             and not getprotobyname \
+                             and not waitpid \
+                             and not static_tool_sees_all_symbols'
   '';
+
   propagatedBuildInputs = [
     attrs
     sortedcontainers
diff --git a/nixpkgs/pkgs/development/python-modules/trustme/default.nix b/nixpkgs/pkgs/development/python-modules/trustme/default.nix
index 601e49759fd0..42cbf23e56fa 100644
--- a/nixpkgs/pkgs/development/python-modules/trustme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trustme/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "trustme";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "103f8n0c60593r0z8hh1zvk1bagxwnhrv3203xpiiddwqxalr04b";
+    sha256 = "9dfb18b568729d0219f758cddca1a91bab59f62ca41ee0e8acce5e657ec97b6c";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index b2bb8a740a88..fa167896ea07 100644
--- a/nixpkgs/pkgs/development/python-modules/twilio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.29.1";
+  version = "6.35.1";
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "1g2wdy62w25sjibggr25b3833x0fhc7w6ypy8g1fgix217rja7pz";
+    sha256 = "10a1hqvxn0w6z696ay1bbxra6qn8bxg87d6g9iryd2hjnn8sfh4b";
   };
 
   buildInputs = [ nose mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/twine/default.nix b/nixpkgs/pkgs/development/python-modules/twine/default.nix
index a49e994019e7..762df433f973 100644
--- a/nixpkgs/pkgs/development/python-modules/twine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twine/default.nix
@@ -1,24 +1,35 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, importlib-metadata
+, keyring
 , pkginfo
+, pyblake2
+, readme_renderer
 , requests
 , requests_toolbelt
+, setuptools_scm
 , tqdm
-, pyblake2
-, readme_renderer
 }:
 
 buildPythonPackage rec {
   pname = "twine";
-  version = "1.13.0";
+  version = "3.1.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6c29c933ecfc74e9b1d9fa13aa1f87c5d5770e119f5a4ce032092f0ff5b14dc";
+    sha256 = "d561a5e511f70275e5a485a6275ff61851c16ffcb3a95a602189161112d9f160";
   };
 
-  propagatedBuildInputs = [ pkginfo requests requests_toolbelt tqdm pyblake2 readme_renderer ];
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [
+    keyring
+    pkginfo
+    pyblake2
+    readme_renderer
+    requests
+    requests_toolbelt
+    tqdm
+  ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
   # Requires network
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/twisted/default.nix b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
index 249ddb4be863..5c4fea3f9b1b 100644
--- a/nixpkgs/pkgs/development/python-modules/twisted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
@@ -16,12 +16,12 @@
 }:
 buildPythonPackage rec {
   pname = "Twisted";
-  version = "18.9.0";
+  version = "19.10.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.bz2";
-    sha256 = "294be2c6bf84ae776df2fc98e7af7d6537e1c5e60a46d33c3ce2a197677da395";
+    sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
   };
 
   propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools ];
@@ -39,7 +39,9 @@ buildPythonPackage rec {
   # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
   # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for
   # details.
-  postInstall = "$out/bin/twistd --help > /dev/null";
+  postFixup = ''
+    $out/bin/twistd --help > /dev/null
+  '';
 
   checkPhase = ''
     ${python.interpreter} -m unittest discover -s twisted/test
diff --git a/nixpkgs/pkgs/development/python-modules/twofish/default.nix b/nixpkgs/pkgs/development/python-modules/twofish/default.nix
new file mode 100644
index 000000000000..1fe541b07290
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/twofish/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+
+# pythonPackages
+, javaobj-py3
+}:
+
+buildPythonPackage rec {
+  pname = "twofish";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yihp2n42amrxw0wk9f66llpb3w5kwhgkcdg9krkzcik1nsqp7dh";
+  };
+
+  propagatedBuildInputs = [
+    javaobj-py3
+  ];
+
+  # No tests implemented
+  doCheck = false;
+
+  meta = {
+    description = "Bindings for the Twofish implementation by Niels Ferguson";
+    homepage = "https://github.com/keybase/python-twofish";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
index 91e83250d8b0..3b60c63d964d 100644
--- a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
@@ -1,10 +1,10 @@
 {lib, buildPythonPackage, fetchPypi, isPy3k, incremental, ipaddress, twisted
 , automat, zope_interface, idna, pyopenssl, service-identity, pytest, mock, lsof
-, GeoIP}:
+, GeoIP, isPy27}:
 
 buildPythonPackage rec {
   pname = "txtorcon";
-  version = "19.0.0";
+  version = "19.1.0";
 
   checkInputs = [ pytest mock lsof GeoIP ];
   propagatedBuildInputs = [
@@ -15,9 +15,11 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fxzhsc62bhmr730vj9pzallmw56gz6iykvl28a5agrycm0bfc9p";
+    sha256 = "19ayn5w9ayxbb1m84l1s9qlb6kv7sz6sg34mzy8bnidc7qnfbn15";
   };
 
+  # zope.interface issue
+  doCheck = isPy3k;
   # Skip a failing test until fixed upstream:
   # https://github.com/meejah/txtorcon/issues/250
   checkPhase = ''
@@ -28,6 +30,9 @@ buildPythonPackage rec {
     description = "Twisted-based Tor controller client, with state-tracking and configuration abstractions";
     homepage = https://github.com/meejah/txtorcon;
     maintainers = with lib.maintainers; [ jluttine ];
+    # Currently broken on Python 2.7. See
+    # https://github.com/NixOS/nixpkgs/issues/71826
+    broken = isPy27;
     license = lib.licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
index 7fb6f8fef435..51dc35552506 100644
--- a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "typeguard";
-  version = "2.2.2";
+  version = "2.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b8ddc6e2e60bd64b7003f9a685a09ba387b74adf2f6bea7534a76d61892f573e";
+    sha256 = "2d545c71e9439c21bcd7c28f5f55b3606e6106f7031ab58375656a1aed483ef2";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/typesystem/default.nix b/nixpkgs/pkgs/development/python-modules/typesystem/default.nix
new file mode 100644
index 000000000000..8a66d6cbcc9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/typesystem/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytest
+, pytestcov
+, jinja2
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "typesystem";
+  version = "0.2.4";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "1k0jwcky17zwaz2vx4x2zbsnp270g4mgn7kx5bpl8jgx76qmsnba";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  # for some reason jinja2 not picking up forms directory (1% of tests)
+  checkPhase = ''
+    pytest --ignore=tests/test_forms.py
+  '';
+
+  meta = with lib; {
+    description = "A type system library for Python";
+    homepage = https://github.com/encode/typesystem;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
index ef5fed689122..6c1e85eb93c1 100644
--- a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
@@ -4,11 +4,11 @@ let
 
 in buildPythonPackage rec {
   pname = "typing_extensions";
-  version = "3.7.4";
+  version = "3.7.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15bx773a5zkk4hkwjl8nb5f8y5741vyyqb9q3jac6kxm1frk5mif";
+    sha256 = "091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2";
   };
 
   checkInputs = lib.optional (pythonOlder "3.5") typing;
diff --git a/nixpkgs/pkgs/development/python-modules/typing/default.nix b/nixpkgs/pkgs/development/python-modules/typing/default.nix
index 51e634d2439b..c6351690f5ee 100644
--- a/nixpkgs/pkgs/development/python-modules/typing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typing/default.nix
@@ -5,11 +5,11 @@ let
 
 in buildPythonPackage rec {
   pname = "typing";
-  version = "3.7.4";
+  version = "3.7.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kj4kvkh89psajxlyb72rm5fr7w70yb32zkj2h174arsz325wxjk";
+    sha256 = "91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23";
   };
 
   # Error for Python3.6: ImportError: cannot import name 'ann_module'
diff --git a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
index 8320500fc141..9948dd1e84eb 100644
--- a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "tzlocal";
-  version = "1.5.1";
+  version = "2.0.0";
 
   propagatedBuildInputs = [ pytz ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e";
+    sha256 = "949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590";
   };
 
   # test fail (timezone test fail)
diff --git a/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix b/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
index 144f9299c6eb..8fd8eaf8329d 100644
--- a/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "u-msgpack-python";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c02a0654a5e11f8fad532ed634109ed49cdc929f7b972848773e4e0ce52f30c";
+    sha256 = "09c85a8af77376034396681e76bf30c249a4fd8e5ebb239f8a468d3655f210d0";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
index fc6c2b777945..8e74c6460fe7 100644
--- a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uamqp";
-  version = "1.2.2";
+  version = "1.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wmyw2l2pha5s6khih96lkfa90zyfy2mqsg8cx6vplmrmpx2s52i";
+    sha256 = "02d78242fcd0a58489aaf275964a6cf7581d7a2334ee240d2d547f8aca8607c6";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uarray/default.nix b/nixpkgs/pkgs/development/python-modules/uarray/default.nix
index fad2dee2d165..f0b42e6609f7 100644
--- a/nixpkgs/pkgs/development/python-modules/uarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uarray/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , matchpy
 , numpy
 , astunparse
@@ -16,24 +17,18 @@
 
 buildPythonPackage rec {
   pname = "uarray";
-  version = "0.4";
-  format = "flit";
-  # will have support soon see
-  # https://github.com/Quansight-Labs/uarray/pull/64
-  disabled = isPy37;
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ec88f477d803a914d58fdf83aeedfb1986305355775cf55525348c62cce9aa4";
+    sha256 = "0j2pin54pwm1vdgza8irxcjb2za7h41c0ils04afssdn59cixslx";
   };
 
+  doCheck = false; # currently has circular dependency module import, remove when bumping to >0.5.1
   checkInputs = [ pytest nbval pytestcov numba ];
   propagatedBuildInputs = [ matchpy numpy astunparse typing-extensions black ];
 
-  checkPhase = ''
-    ${python.interpreter} extract_readme_tests.py
-    pytest
-  '';
+  pythonImportsCheck = [ "uarray" ];
 
   meta = with lib; {
     description = "Universal array library";
diff --git a/nixpkgs/pkgs/development/python-modules/ueberzug/default.nix b/nixpkgs/pkgs/development/python-modules/ueberzug/default.nix
new file mode 100644
index 000000000000..c956e5d8b345
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ueberzug/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, libX11, libXext
+, attrs, docopt, pillow, psutil, xlib }:
+
+buildPythonPackage rec {
+  pname = "ueberzug";
+  version = "18.1.5";
+
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rj864sdn1975v59i8j3cfa9hni1hacq0z2b8m7wib0da9apygby";
+  };
+
+  buildInputs = [ libX11 libXext ];
+  propagatedBuildInputs = [ attrs docopt pillow psutil xlib ];
+
+  meta = with lib; {
+    homepage = "https://github.com/seebye/ueberzug";
+    description = "An alternative for w3mimgdisplay";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
index 1fbdbd3782ab..a97f69652e8e 100644
--- a/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "umap-learn";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "lmcinnes";
     repo = "umap";
     rev = version;
-    sha256 = "1cdc7hs3vwzxvzs34l9a06q8rvks29wj6swyj8zvwr32knxch8a9";
+    sha256 = "0nck5va5km7qkbrhn15dsn0p2mms9kc641lcypy7l8haqgm44h8x";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix b/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
index f300ed727512..c03e8724d3dd 100644
--- a/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uncompyle6";
-  version = "3.3.3";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c492a560ff1c8713f0947cfc3ab755c368e26421d13087cd5b6c01b1529ea5b";
+    sha256 = "aac071daef4b6cf95143ef08cd35d762a2bf2ea8249119a9371a91149c9996e7";
   };
 
   checkInputs = [ nose pytest hypothesis six ];
diff --git a/nixpkgs/pkgs/development/python-modules/unicode-slugify/default.nix b/nixpkgs/pkgs/development/python-modules/unicode-slugify/default.nix
new file mode 100644
index 000000000000..111ff6278eab
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/unicode-slugify/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, six
+, unittest2
+, unidecode
+}:
+
+buildPythonPackage rec {
+  pname = "unicode-slugify";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0l7nphfdq9rgiczbl8n3mra9gx7pxap0xz540pkyz034zbz3mkrl";
+  };
+
+  propagatedBuildInputs = [ six unidecode ];
+
+  checkInputs = [ nose unittest2 ];
+
+  meta = with stdenv.lib; {
+    description = "Generates unicode slugs";
+    homepage = "https://pypi.org/project/unicode-slugify/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmai ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/unicorn/default.nix b/nixpkgs/pkgs/development/python-modules/unicorn/default.nix
index 725c73960f5d..86542439439e 100644
--- a/nixpkgs/pkgs/development/python-modules/unicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unicorn/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, buildPackages, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, setuptools, unicorn-emu }:
 
 buildPythonPackage rec {
   pname = "unicorn";
-  version = "1.0.1";
+  version = stdenv.lib.getVersion unicorn-emu;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0a5b4vh734b3wfkgapzzf8x18rimpmzvwwkly56da84n27wfw9bg";
-  };
+  src = unicorn-emu.src;
+  sourceRoot = "unicorn-${version}/bindings/python";
 
-  # needs python2 at build time
-  PYTHON=buildPackages.python2.interpreter;
+  prePatch = ''
+    ln -s ${unicorn-emu}/lib/libunicorn${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
+    ln -s ${unicorn-emu}/lib/libunicorn.a prebuilt/
+  '';
 
-  setupPyBuildFlags = [ "--plat-name" "linux" ];
+  propagatedBuildInputs = [ setuptools ];
 
   meta = with stdenv.lib; {
-    description = "Unicorn CPU emulator engine";
+    description = "Python bindings for Unicorn CPU emulator engine";
     homepage = "http://www.unicorn-engine.org/";
     license = [ licenses.gpl2 ];
-    maintainers = [ maintainers.bennofs ];
+    maintainers = with maintainers; [ bennofs ris ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/unidecode/default.nix b/nixpkgs/pkgs/development/python-modules/unidecode/default.nix
index 13f0053f143c..8d3ecc543775 100644
--- a/nixpkgs/pkgs/development/python-modules/unidecode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unidecode/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Unidecode";
-  version = "1.0.23";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b85354be8fd0c0e10adbf0675f6dc2310e56fda43fa8fe049123b6c475e52fb";
+    sha256 = "2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index 624ff585c36c..8d815833a407 100644
--- a/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
-  version = "2.5.1";
+  version = "2.5.2";
 
   propagatedBuildInputs = [six];
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v6xcs8nx82yw037h296zk0vz5ka4idm4xdpxkcm4h4fnpj8428l";
+    sha256 = "9d28ddf6524cf0ff9293f61bd12e792de298f8561a5c945acea63fb437789e0e";
   };
   meta = with lib; {
     homepage = https://github.com/xmlrunner/unittest-xml-reporting/tree/master/;
diff --git a/nixpkgs/pkgs/development/python-modules/uproot-methods/default.nix b/nixpkgs/pkgs/development/python-modules/uproot-methods/default.nix
index 54dfc5c112cc..7bb8d4a16ea2 100644
--- a/nixpkgs/pkgs/development/python-modules/uproot-methods/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uproot-methods/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.7.0";
+  version = "0.7.2";
   pname = "uproot-methods";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0awxd4p8yr27k4iayc0phw99bxgw04dnd3lb372hj9wjvldm0hzr";
+    sha256 = "4382983e4e6c5e1aeb3013d04334907f87f62b0d7c19a29968e5a0aac1653ae1";
   };
 
   propagatedBuildInputs = [ numpy awkward ];
diff --git a/nixpkgs/pkgs/development/python-modules/uproot/default.nix b/nixpkgs/pkgs/development/python-modules/uproot/default.nix
index f85c28b7f579..812ff15242cd 100644
--- a/nixpkgs/pkgs/development/python-modules/uproot/default.nix
+++ b/nixpkgs/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.8.0";
+  version = "3.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06s0lym5md59pj8w89acnwk0i0hh92az187h4gz22mb849h308pw";
+    sha256 = "a9521786d0e16d00a457807e364229ba844ea5f8b0ac6653b00277351f12ab49";
   };
 
   nativeBuildInputs = [ pytestrunner ];
@@ -27,6 +28,7 @@ buildPythonPackage rec {
   checkInputs = [
     lz4
     mock
+    pandas
     pkgconfig
     pytest
     requests
@@ -41,8 +43,11 @@ buildPythonPackage rec {
   ];
 
   # skip tests which do network calls
+  # test_compression.py is missing zstandard package
   checkPhase = ''
-    pytest tests -k 'not hist_in_tree and not branch_auto_interpretation'
+    pytest tests -k 'not hist_in_tree \
+      and not branch_auto_interpretation' \
+      --ignore=tests/test_compression.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/uranium/default.nix b/nixpkgs/pkgs/development/python-modules/uranium/default.nix
index aec0f7315547..a8259451bb0f 100644
--- a/nixpkgs/pkgs/development/python-modules/uranium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uranium/default.nix
@@ -2,7 +2,7 @@
 , pyqt5, numpy, scipy, shapely, libarcus, doxygen, gettext, pythonOlder }:
 
 buildPythonPackage rec {
-  version = "4.2.0";
+  version = "4.4.0";
   pname = "uranium";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "Ultimaker";
     repo = "Uranium";
     rev = version;
-    sha256 = "1dc3s6zya7bbpvzh4acbs65aj899siwd8jr9snnsrdyl9qh8hhq9";
+    sha256 = "1hy7lhn48mfrmfx6mbqxzc6bfh9ndnvcwjlsb6a71mw62xg6w7c2";
   };
 
   disabled = pythonOlder "3.5.0";
diff --git a/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix b/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
index c469fd8dd1cc..64a2fd51ee3b 100644
--- a/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "uritemplate";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d";
+    sha256 = "5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae";
   };
 
   propagatedBuildInputs = [ simplejson ];
diff --git a/nixpkgs/pkgs/development/python-modules/uritools/default.nix b/nixpkgs/pkgs/development/python-modules/uritools/default.nix
index cf3d36c3e5db..570fc5dc7180 100644
--- a/nixpkgs/pkgs/development/python-modules/uritools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uritools/default.nix
@@ -1,16 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, ipaddress }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy27 }:
 
 buildPythonPackage rec {
   pname = "uritools";
-  version = "2.2.0";
+  version = "3.0.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "80e8e23cafad54fd85811b5d9ba0fc595d933f5727c61c3937945eec09f99e2b";
+    sha256 = "405917a31ce58a57c8ccd0e4ea290f38baf2f4823819c3688f5331f1aee4ccb0";
   };
 
-  propagatedBuildInputs = [ ipaddress ];
-
   meta = with stdenv.lib; {
     description = "RFC 3986 compliant, Unicode-aware, scheme-agnostic replacement for urlparse";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/urlgrabber/default.nix b/nixpkgs/pkgs/development/python-modules/urlgrabber/default.nix
index 31e6e6a066a7..f81a6d814e9f 100644
--- a/nixpkgs/pkgs/development/python-modules/urlgrabber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urlgrabber/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "urlgrabber";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fazs574fgixd525cn2dh027f4qf0c0gbwcfyfkhc6fkblfa1ibr";
+    sha256 = "075af8afabae6362482d254e5ac3ffa595d1766117b684e53d9c25c2e937e139";
   };
 
   propagatedBuildInputs = [ pycurl six ];
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index d951e436480b..0c8c97925a7b 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
@@ -4,13 +4,15 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.24.3";
+  version = "1.25.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4";
+    sha256 = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745";
   };
 
+  outputs = [ "out" "dev" ];
+
   NOSE_EXCLUDE = stdenv.lib.concatStringsSep "," [
     "test_headers" "test_headerdict" "test_can_validate_ip_san" "test_delayed_body_read_timeout"
     "test_timeout_errors_cause_retries" "test_select_multiple_interrupts_with_event"
diff --git a/nixpkgs/pkgs/development/python-modules/urwid/default.nix b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
index 885595ef6d4b..8e255dc69dc0 100644
--- a/nixpkgs/pkgs/development/python-modules/urwid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
@@ -1,14 +1,18 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, glibcLocales }:
 
 buildPythonPackage rec {
   pname = "urwid";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4";
+    sha256 = "0896f36060beb6bf3801cb554303fef336a79661401797551ba106d23ab4cd86";
   };
 
+  # tests need to be able to set locale
+  LC_ALL = "en_US.UTF-8";
+  checkInputs = [ glibcLocales ];
+
   meta = with stdenv.lib; {
     description = "A full-featured console (xterm et al.) user interface library";
     homepage = http://excess.org/urwid;
diff --git a/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix b/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
index b69bb62a875a..468420f0e5ce 100644
--- a/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, glibcLocales
 , urwid
 }:
 
@@ -17,6 +18,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ urwid ];
 
+  checkInputs = [ glibcLocales ];
+  LC_ALL="en_US.UTF-8";
+
   meta = with stdenv.lib; {
     description = "Tree widgets for urwid";
     homepage = https://github.com/pazz/urwidtrees;
diff --git a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
index 9f7efef1e843..73d797bc43ed 100644
--- a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.9.0";
+  version = "0.10.4";
   disabled = isPy27;
 
   src = fetchFromGitHub {
@@ -43,6 +43,12 @@ buildPythonPackage rec {
     pytest
   '';
 
+  # LICENCE.md gets propagated without this, causing collisions
+  # see https://github.com/encode/uvicorn/issues/392
+  postInstall = ''
+    rm $out/LICENSE.md
+  '';
+
   meta = with lib; {
     homepage = https://www.uvicorn.org/;
     description = "The lightning-fast ASGI server";
diff --git a/nixpkgs/pkgs/development/python-modules/uvloop/default.nix b/nixpkgs/pkgs/development/python-modules/uvloop/default.nix
index 171f6d6ed32f..b1fbf26e43b1 100644
--- a/nixpkgs/pkgs/development/python-modules/uvloop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uvloop/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "uvloop";
-  version = "0.13.0";
+  version = "0.14.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0blcnrd5vky2k1m1p1skx4516dr1jx76yyb0c6fi82si6mqd0b4l";
+    sha256 = "07j678z9gf41j98w72ysrnb5sa41pl5yxd7ib17lcwfxqz0cjfhj";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin_sandbox.patch;
diff --git a/nixpkgs/pkgs/development/python-modules/validators/default.nix b/nixpkgs/pkgs/development/python-modules/validators/default.nix
index bbcca388c93a..5efd676f53dd 100644
--- a/nixpkgs/pkgs/development/python-modules/validators/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/validators/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "validators";
-  version = "0.13.0";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea9bf8bf22aa692c205e12830d90b3b93950e5122d22bed9eb2f2fece0bba298";
+    sha256 = "0bfe836a1af37bb266d71ec1e98b530c38ce11bc7fbe0c4c96ef7b1532d019e5";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix b/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
index 13f7753831b4..c518314d9649 100644
--- a/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "vcrpy";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kws7l3hci1dvjv01nxw3805q9v2mwldw58bgl8s90wqism69gjp";
+    sha256 = "21168d5ae14263a833d4b71acfd8278d8841114f24be1b4ab4a5719d0c7f07bc";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vega/default.nix b/nixpkgs/pkgs/development/python-modules/vega/default.nix
index f6a9f3153f14..2bfeccccc59f 100644
--- a/nixpkgs/pkgs/development/python-modules/vega/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vega/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "vega";
-  version = "2.3.2";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f39kfinn297gjhms9jys3ixdlsn0dz3gndgacyimp77jhzir4v1";
+    sha256 = "c66354d6d164cc3d7254bcd129d8d861daf4a9e9cb8738b1724791777f6c29f0";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix b/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix
index 2d3dda551fbc..f028f85f3ec5 100644
--- a/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "vega_datasets";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20d490b417f84607eb5079400f608f2e9c135b7092bee10f6857f6d23136e459";
+    sha256 = "db8883dab72b6f414e1fafdbf1e8db7543bba6ed77912a4e0c197d74fcfa1c20";
   };
 
   propagatedBuildInputs = [ pandas ];
diff --git a/nixpkgs/pkgs/development/python-modules/venusian/default.nix b/nixpkgs/pkgs/development/python-modules/venusian/default.nix
index f420d88e816e..fb81a79f10e3 100644
--- a/nixpkgs/pkgs/development/python-modules/venusian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/venusian/default.nix
@@ -2,18 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , pytest
+, pytestcov
 }:
 
 buildPythonPackage rec {
   pname = "venusian";
-  version = "1.2.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "64ec8285b80b110d0ae5db4280e90e31848a59db98db1aba4d7d46f48ce91e3e";
+    sha256 = "f6842b7242b1039c0c28f6feef29016e7e7dd3caaeb476a193acf737db31ee38";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest pytestcov ];
 
   checkPhase = ''
     pytest
diff --git a/nixpkgs/pkgs/development/python-modules/vidstab/default.nix b/nixpkgs/pkgs/development/python-modules/vidstab/default.nix
index 7003b9e1b043..55d618899fd7 100644
--- a/nixpkgs/pkgs/development/python-modules/vidstab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vidstab/default.nix
@@ -10,12 +10,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.6";
+  version = "1.7.2";
   pname = "vidstab";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b488aed337855ac8b3730f7c6964c2ad41111a8f61ab0b457197696feefa593";
+    sha256 = "24cb7a25a6ed9a474f4d23c9deecf9163691fcde2559de10897f593ba849266b";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/viewstate/default.nix b/nixpkgs/pkgs/development/python-modules/viewstate/default.nix
new file mode 100644
index 000000000000..cd64dcc75643
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/viewstate/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, lib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "viewstate";
+  version = "0.4.3";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "yuvadm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15s0n1lhkz0zwi33waqkkjipal3f7s45rxsj1bw89xpr4dj87qx5";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = {
+    description = ".NET viewstate decoder";
+    homepage = "https://github.com/yuvadm/viewstate";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix b/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix
index 130c94bc1701..1b56f0466106 100644
--- a/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "PyVirtualDisplay";
-  version = "0.2.4";
+  version = "0.2.5";
 
   propagatedBuildInputs = [ EasyProcess ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nybvd7sajig6vya2v3fd20dls6f3nnf12x8anrfxnjs41chgx87";
+    sha256 = "5b267c8ffc98fcbd084ba852ab4caef3f22e9362bc5d117e1697e767553eaf41";
   };
 
   # requires X server
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
index bad23341df72..62c86567655b 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "16.4.3";
+  version = "16.7.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "984d7e607b0a5d1329425dd8845bd971b957424b5ba664729fab51ab8c11bc39";
+    sha256 = "0d62c70883c0342d59c11d0ddac0d954d0431321a41ab20851facf2b222598f3";
   };
 
   # Doubt this is needed - FRidh 2017-07-07
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/virtualenv-change-prefix.patch b/nixpkgs/pkgs/development/python-modules/virtualenv/virtualenv-change-prefix.patch
index 4378e00bb1fc..f3e8ea854f6a 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/virtualenv-change-prefix.patch
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/virtualenv-change-prefix.patch
@@ -26,13 +26,13 @@ index bcf3225..3530997 100755
 -    if IS_DARWIN:
 -        prefixes.extend(
 -            (
--                os.path.join("/Library/Python", sys.version[:3], "site-packages"),
+-                os.path.join("/Library/Python", VERSION, "site-packages"),
 -                os.path.join(sys.prefix, "Extras", "lib", "python"),
--                os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"),
+-                os.path.join("~", "Library", "Python", VERSION, "site-packages"),
 -                # Python 2.6 no-frameworks
--                os.path.join("~", ".local", "lib", "python", sys.version[:3], "site-packages"),
+-                os.path.join("~", ".local", "lib", "python", VERSION, "site-packages"),
 -                # System Python 2.7 on OSX Mountain Lion
--                os.path.join("~", "Library", "Python", sys.version[:3], "lib", "python", "site-packages"),
+-                os.path.join("~", "Library", "Python", VERSION, "lib", "python", "site-packages"),
 -            )
 -        )
 +    prefixes = ["/nix/store", sys.prefix]
diff --git a/nixpkgs/pkgs/development/python-modules/vmprof/default.nix b/nixpkgs/pkgs/development/python-modules/vmprof/default.nix
index 25cd5b9a90d7..a9eb492c01e4 100644
--- a/nixpkgs/pkgs/development/python-modules/vmprof/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vmprof/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.13";
+  version = "0.4.15";
   pname = "vmprof";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b6121f3d989fe48c2fb7242acded5f1e2e86d25d05d73c41257f236fd9badb2c";
+    sha256 = "a2d872a40196404386d1e0d960e97b37c86c3f72a4f9d5a2b5f9ca1adaff5b62";
   };
 
   propagatedBuildInputs = [ requests six];
@@ -23,6 +23,7 @@ buildPythonPackage rec {
     description = "A vmprof client";
     license = licenses.mit;
     homepage = https://vmprof.readthedocs.org/;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix b/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix
index 4c550e073c3f..4a27252e060c 100644
--- a/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec  {
   pname = "voluptuous-serialize";
-  version = "2.2.0";
+  version = "2.3.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ggiisrq7cbk307d09fdwfdcjb667jv90lx6gfwhxfpxgq66cccb";
+    sha256 = "1xcjyp1190z6a226fg0clvhf43gjsbyn60amblsg7w7cw86d033l";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
index a91de2d7eeed..d23f45b122f5 100644
--- a/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "vowpalwabbit";
-  version = "8.5.0";
+  version = "8.8.0";
 
   src = fetchPypi{
     inherit pname version;
-    sha256 = "0b517371fc64f1c728a0af42a31fa93def27306e9b4d25d6e5fd01bcff1b7304";
+    sha256 = "bd4c7e49a6ddaa1afedf97b22b822c7322328d686d45151b47a5127fc409c2af";
   };
 
   # Should be fixed in next Python release after 8.5.0:
diff --git a/nixpkgs/pkgs/development/python-modules/vsts-cd-manager/default.nix b/nixpkgs/pkgs/development/python-modules/vsts-cd-manager/default.nix
new file mode 100644
index 000000000000..5946fec05b75
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/waitress/default.nix b/nixpkgs/pkgs/development/python-modules/waitress/default.nix
index fb39ae9fc7a8..acbe03793db3 100644
--- a/nixpkgs/pkgs/development/python-modules/waitress/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/waitress/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "waitress";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c369e238bd81ef7d61f04825f06f107c42094de60d13d8de8e71952c7c683dfe";
+    sha256 = "278e09d6849acc1365404bbf7d790d0423b159802e850c726e8cd0a126a2dac7";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/wasabi/default.nix b/nixpkgs/pkgs/development/python-modules/wasabi/default.nix
index 01a9a4034d59..8a6af2e69dbb 100644
--- a/nixpkgs/pkgs/development/python-modules/wasabi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wasabi/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "wasabi";
-  version = "0.2.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xxjc9bvvcaz1qq1jyhcxyl2v39jz8d8dz4zhpfbc7dz53kq6b7r";
+    sha256 = "0qv0zpr6kwjwygx9k8jgafiil5wh2zsyryvbxghzv4yn7jb3xpdq";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
index 7dc09d58aad6..f112d6f15557 100644
--- a/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
@@ -23,11 +23,15 @@
 
 buildPythonPackage rec {
   pname = "weasyprint";
-  version = "47";
+  version = "50";
   disabled = !isPy3k;
 
-  # ignore failing pytest
-  checkPhase = "pytest -k 'not test_font_stretch'";
+  # excluded test needs the Ahem font
+  checkPhase = ''
+    runHook preCheck
+    pytest -k 'not test_font_stretch'
+    runHook postCheck
+  '';
 
   # ignore failing flake8-test
   prePatch = ''
@@ -55,7 +59,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "WeasyPrint";
-    sha256 = "0hd1zwrkfnj7g0jaaf6jvarlj6l5imar6ar78zxdgv17a3s3k3dg";
+    sha256 = "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/web/default.nix b/nixpkgs/pkgs/development/python-modules/web/default.nix
index fb777ad4129b..c6a25c7d1b77 100644
--- a/nixpkgs/pkgs/development/python-modules/web/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/web/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.39";
+  version = "0.40";
   pname = "web.py";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7e7224493a51f6fbf02f3ce7f2011bcd9e5ebdfce0ee25e5921fdf665ba07542";
+    sha256 = "dc5e42ffbc42d77d07f75b7acca9975a3368ae609774e49ddebb497a784131f3";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/webcolors/default.nix b/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
index d530eda39d97..3ca97c4556ce 100644
--- a/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
@@ -2,17 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , python
+, six
 }:
 
 buildPythonPackage rec {
   pname = "webcolors";
-  version = "1.8.1";
+  version = "1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "030562f624467a9901f0b455fef05486a88cfb5daa1e356bd4aacea043850b59";
+    sha256 = "7b11194c414dcf4b9bd8fb5ceaafc9da183b27430883c62f620589eb79b91b6e";
   };
 
+  propagatedBuildInputs = [ six ];
+
   checkPhase = ''
     ${python.interpreter} -m unittest discover -s tests
   '';
@@ -22,4 +25,4 @@ buildPythonPackage rec {
     homepage = https://bitbucket.org/ubernostrum/webcolors/overview/;
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/weboob/default.nix b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
index d78cb7f3de9c..d0a5d6116f8e 100644
--- a/nixpkgs/pkgs/development/python-modules/weboob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
@@ -1,19 +1,34 @@
-{ buildPythonPackage, fetchurl, stdenv, isPy27
-, nose, pillow, prettytable, pyyaml, dateutil, gdata
-, requests, mechanize, feedparser, lxml, gnupg, pyqt5
-, libyaml, simplejson, cssselect, futures, pdfminer
-, termcolor, google_api_python_client, html2text
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, cssselect
+, dateutil
+, feedparser
+, futures
+, gdata
+, gnupg
+, google_api_python_client
+, html2text
+, libyaml
+, lxml
+, mechanize
+, nose
+, pdfminer
+, pillow
+, prettytable
+, pyqt5
+, pyyaml
+, requests
+, simplejson
+, termcolor
 , unidecode
 }:
 
 buildPythonPackage rec {
   pname = "weboob";
-  version = "1.3";
-  disabled = ! isPy27;
+  version = "1.5";
 
-  src = fetchurl {
-    url = "https://symlink.me/attachments/download/356/${pname}-${version}.tar.gz";
-    sha256 = "0m5yh49lplvb57dfilczh65ky35fshp3g7ni31pwfxwqi1f7i4f9";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c9z9gid1mbm1cakb2wj6jjkbrmji8y8ac46iqpih9x1h498bhbs";
   };
 
   postPatch = ''
@@ -35,10 +50,27 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pyqt5 ];
 
-  propagatedBuildInputs = [ pillow prettytable pyyaml dateutil
-    gdata requests mechanize feedparser lxml gnupg pyqt5 libyaml
-    simplejson cssselect futures pdfminer termcolor
-    google_api_python_client html2text unidecode ];
+  propagatedBuildInputs = [
+    cssselect
+    dateutil
+    feedparser
+    gdata
+    gnupg
+    google_api_python_client
+    html2text
+    libyaml
+    lxml
+    mechanize
+    pdfminer
+    pillow
+    prettytable
+    pyqt5
+    pyyaml
+    requests
+    simplejson
+    termcolor
+    unidecode
+  ] ++ lib.optionals isPy27 [ futures ];
 
   checkPhase = ''
     nosetests
@@ -47,7 +79,6 @@ buildPythonPackage rec {
   meta = {
     homepage = http://weboob.org;
     description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
-    license = stdenv.lib.licenses.agpl3;
+    license = lib.licenses.agpl3;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/websockets/default.nix b/nixpkgs/pkgs/development/python-modules/websockets/default.nix
index 589a8089fcaa..1e1e1ef58a8e 100644
--- a/nixpkgs/pkgs/development/python-modules/websockets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websockets/default.nix
@@ -3,21 +3,25 @@
 , buildPythonPackage
 , pythonOlder
 , pytest
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "websockets";
-  version = "8.0.2";
+  version = "8.1";
 
   src = fetchFromGitHub {
     owner = "aaugustin";
     repo = pname;
     rev = version;
-    sha256 = "02fgb8gib4z5fqv30brz3mhxmblw9bw0978fhpjdrkj7wvqrz5h8";
+    sha256 = "05jbqcbjg50ydwl0fijhdlqcq7fl6v99kjva66kmmzzza7vwa872";
   };
 
   disabled = pythonOlder "3.3";
 
+  # Tests fail on Darwin with `OSError: AF_UNIX path too long`
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "WebSocket implementation in Python 3";
     homepage = "https://github.com/aaugustin/websockets";
diff --git a/nixpkgs/pkgs/development/python-modules/websockify/default.nix b/nixpkgs/pkgs/development/python-modules/websockify/default.nix
index a9758580a445..484cc33b1f3e 100644
--- a/nixpkgs/pkgs/development/python-modules/websockify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websockify/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.0";
+  version = "0.9.0";
   pname = "websockify";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "547d3d98c5081f2dc2872a2e4a3aef33e0ee5141d5f6209204aab2f4a41548d2";
+    sha256 = "1nnalv0jkkj34hw6yb12lp6r6fj1ps9vkkyshjvx65y5xdwmnny3";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/webtest/default.nix b/nixpkgs/pkgs/development/python-modules/webtest/default.nix
index f3d60253ae47..d97d58b2e5d2 100644
--- a/nixpkgs/pkgs/development/python-modules/webtest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webtest/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , nose
 , webob
 , six
@@ -15,6 +16,7 @@
 buildPythonPackage rec {
   version = "2.0.32";
   pname = "webtest";
+  disabled = isPy27; # paste.deploy is not longer a valid import
 
   src = fetchPypi {
     pname = "WebTest";
diff --git a/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix b/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
index b3d397b97b41..7d9d55ec8846 100644
--- a/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "Werkzeug";
-  version = "0.15.5";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6";
+    sha256 = "7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7";
   };
 
   propagatedBuildInputs = [ itsdangerous ];
diff --git a/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix
new file mode 100644
index 000000000000..a43aa915ea0b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix
@@ -0,0 +1,51 @@
+{ buildPythonPackage
+, chardet
+, configparser
+, fetchFromGitHub
+, future
+, isPy27
+, lib
+, mock
+, netaddr
+, pkgs
+, pyparsing
+, pycurl
+, pytest
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "wfuzz";
+  version = "2.4.2";
+
+  src = fetchFromGitHub {
+    owner = "xmendez";
+    repo = pname;
+    rev = "v.${version}";
+    sha256 = "15dihrc7jsvpxcmb4fp254s633mkjm7ksjfkr9pqaai49qmnddyf";
+  };
+
+  buildInputs = [ pyparsing configparser ];
+
+  propagatedBuildInputs = [
+    chardet
+    future
+    pycurl
+    six
+  ];
+
+  checkInputs = [ netaddr pytest ] ++ lib.optionals isPy27 [ mock ];
+
+  # Skip tests requiring a local web server.
+  checkPhase = ''
+    HOME=$TMPDIR pytest \
+      tests/test_{moduleman,filterintro,reqresp,api,clparser,dotdict}.py
+  '';
+
+  meta = with lib; {
+    description = "Web content fuzzer, to facilitate web applications assessments";
+    homepage = "https://wfuzz.readthedocs.io";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/wheel/default.nix b/nixpkgs/pkgs/development/python-modules/wheel/default.nix
index 0ba5b19597ee..8b6aa35b1ac6 100644
--- a/nixpkgs/pkgs/development/python-modules/wheel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wheel/default.nix
@@ -2,7 +2,7 @@
 , setuptools
 , pip
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytest
 , pytestcov
 , coverage
@@ -15,9 +15,12 @@ buildPythonPackage rec {
   version = "0.33.6";
   format = "other";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "10c9da68765315ed98850f8e048347c3eb06dd81822dc2ab1d4fde9dc9702646";
+  src = fetchFromGitHub {
+    owner = "pypa";
+    repo = pname;
+    rev = version;
+    sha256 = "1bg4bxazsjxp621ymaykd8l75k7rvcvwawlipmjk7nsrl72l4p0s";
+    name = "${pname}-${version}-source";
   };
 
   checkInputs = [ pytest pytestcov coverage ];
diff --git a/nixpkgs/pkgs/development/python-modules/whichcraft/default.nix b/nixpkgs/pkgs/development/python-modules/whichcraft/default.nix
index 102496582a03..de6c4c570ccb 100644
--- a/nixpkgs/pkgs/development/python-modules/whichcraft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whichcraft/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "whichcraft";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1614vs0iwm9abina70vgvxaabi8xbz83yxgqfqi1syrzrhaalk6m";
+    sha256 = "11yfkzyplizdgndy34vyd5qlmr1n5mxis3a3svxmx8fnccdvknxc";
   };
 
   LC_ALL="en_US.utf-8";
diff --git a/nixpkgs/pkgs/development/python-modules/whisper/default.nix b/nixpkgs/pkgs/development/python-modules/whisper/default.nix
index 407bb88fa2ae..134d797ecf81 100644
--- a/nixpkgs/pkgs/development/python-modules/whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whisper/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14013e7563102d808aae0cb5b3b2326979236d4bcd54c343ea636761629920cd";
+    sha256 = "8dbb3b7cf4a02a080162467fff5cd38bf77940c3e2b25f7c4f78529427ca9cfe";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix b/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
index b7812b42e66d..565032ad523b 100644
--- a/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchPypi, buildPythonPackage }:
+{ stdenv, fetchPypi, buildPythonPackage, isPy27 }:
 
 buildPythonPackage rec {
   pname = "whitenoise";
-  version = "4.1.2";
+  version = "5.0.1";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42133ddd5229eeb6a0c9899496bdbe56c292394bf8666da77deeb27454c0456a";
+    sha256 = "0f9137f74bd95fa54329ace88d8dc695fbe895369a632e35f7a136e003e41d73";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
index b2329f4f9633..f0aee6b80586 100644
--- a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "widgetsnbextension";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c9b4d73e388f2484296be18432d3cc0b8d59de243079a0db16a56c5571e1f86";
+    sha256 = "079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/nixpkgs/pkgs/development/python-modules/willow/default.nix b/nixpkgs/pkgs/development/python-modules/willow/default.nix
index fb9182ab1792..138facad701c 100644
--- a/nixpkgs/pkgs/development/python-modules/willow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/willow/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "willow";
-  version = "1.1";
+  version = "1.3";
   disabled = pythonOlder "2.7";
 
   src = fetchPypi {
     pname = "Willow";
     inherit version;
-    sha256 = "818ee11803c90a0a6d49c94b0453d6266be1ef83ae00de72731c45fae4d3e78c";
+    sha256 = "0dzc3cjkwp0h3v1n94c33zr5yw5fdd6dkm6vccp9i8dncmpw912g";
   };
 
   propagatedBuildInputs = [ six pillow ];
diff --git a/nixpkgs/pkgs/development/python-modules/word2vec/default.nix b/nixpkgs/pkgs/development/python-modules/word2vec/default.nix
index d61567f92242..706ee7324027 100644
--- a/nixpkgs/pkgs/development/python-modules/word2vec/default.nix
+++ b/nixpkgs/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;
diff --git a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
index 103e2fc8defd..81c09bf74253 100644
--- a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , pythonOlder
+, isPy27
 , fetchFromGitHub
 , nose
 , noise
@@ -48,6 +49,7 @@ buildPythonPackage rec {
 
   # with python<3.5, unittest fails to discover tests because of their filenames
   # so nose is used instead.
+  doCheck = !isPy27; # google namespace clash
   checkInputs = stdenv.lib.optional (pythonOlder "3.5") [ nose ];
   postCheck = stdenv.lib.optionalString (pythonOlder "3.5") ''
     nosetests tests
diff --git a/nixpkgs/pkgs/development/python-modules/wrapt/default.nix b/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
index 9247a7c77576..5ef9dd075089 100644
--- a/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
@@ -5,14 +5,14 @@
 
 buildPythonPackage rec {
   pname = "wrapt";
-  version = "1.11.1";
+  version = "1.11.2";
 
   # No tests in archive
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533";
+    sha256 = "565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix b/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix
index 8d1443837cde..29c1f8dfa797 100644
--- a/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix b/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix
index 36aaf0ec8ceb..b2c3c527d828 100644
--- a/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix
+++ b/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "wsproto";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "051s127qb5dladxa14n9nqajwq7xki1dz1was5r5v9df5a0jq8pd";
+    sha256 = "614798c30e5dc2b3f65acc03d2d50842b97621487350ce79a80a711229edfa9d";
   };
 
   propagatedBuildInputs = [ h11 enum34 ];
diff --git a/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix b/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
new file mode 100644
index 000000000000..a01aaa4631af
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix b/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
index d1797acb7d26..b946d23acf60 100644
--- a/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
@@ -1,19 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , mock
 , pytest
+, selectors2
 }:
 
 buildPythonPackage rec {
   pname = "wurlitzer";
-  version = "1.0.3";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nab45pfgqdxhhyshf717xfzniss2h3bx19zdaq9gqr6v8lw6wpr";
+    sha256 = "0xndv47iwc9k8cp5r9r1z3r0xww0r5x5b7qsmn39gk2gsg0119c6";
   };
 
+  propagatedBuildInputs = lib.optionals isPy27 [ selectors2 ];
+
   checkInputs = [ mock pytest ];
 
   checkPhase = ''
@@ -25,4 +29,4 @@ buildPythonPackage rec {
     homepage = https://github.com/minrk/wurlitzer;
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/python-modules/wxPython/4.0.nix b/nixpkgs/pkgs/development/python-modules/wxPython/4.0.nix
index 9f6e9866cef3..689a1336ef79 100644
--- a/nixpkgs/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/nixpkgs/pkgs/development/python-modules/wxPython/4.0.nix
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "wxPython";
-  version = "4.0.6";
+  version = "4.0.7.post2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37";
+    sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/xapian/default.nix b/nixpkgs/pkgs/development/python-modules/xapian/default.nix
index c15f2682e63c..05c7fed589e1 100644
--- a/nixpkgs/pkgs/development/python-modules/xapian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xapian/default.nix
@@ -30,7 +30,6 @@ buildPythonPackage rec {
   doCheck = true;
 
   checkPhase = ''
-    ${python.interpreter} python${pythonSuffix}/smoketest.py
     ${python.interpreter} python${pythonSuffix}/pythontest.py
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/xapp/default.nix b/nixpkgs/pkgs/development/python-modules/xapp/default.nix
new file mode 100644
index 000000000000..440db3430253
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xapp/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, psutil
+, pygobject3
+, gtk3
+, gobject-introspection
+, xapps
+, polkit
+}:
+
+buildPythonPackage rec {
+  pname = "xapp";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = "python-xapp";
+    rev = version;
+    sha256 = "0vw3cn09nx75lv4d9idp5fdhd81xs279zhbyyilynq29cxxs2zil";
+  };
+
+  propagatedBuildInputs = [
+    psutil
+    pygobject3
+    gtk3
+    gobject-introspection
+    xapps
+    polkit
+  ];
+
+  postPatch = ''
+    substituteInPlace "xapp/os.py" --replace "/usr/bin/pkexec" "${polkit}/bin/pkexec"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/python-xapp";
+    description = "Cross-desktop libraries and common resources for python";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/xarray/default.nix b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
index de4be0620013..c7f0fb1ecf8c 100644
--- a/nixpkgs/pkgs/development/python-modules/xarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.12.3";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9310e610af988acb57a2627b10025a250bcbe172e66d3750a6dd3b3c5357da56";
+    sha256 = "04b2f4d24707b8871a7ffa37328d0a2de74e81bd30791c9608712612601abd23";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/xattr/default.nix b/nixpkgs/pkgs/development/python-modules/xattr/default.nix
index c8940b54c46c..35c11e900880 100644
--- a/nixpkgs/pkgs/development/python-modules/xattr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xattr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "xattr";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458";
+    sha256 = "b0bbca828e04ef2d484a6522ae7b3a7ccad5e43fa1c6f54d78e24bb870f49d44";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/nixpkgs/pkgs/development/python-modules/xcffib/default.nix b/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
index e8643a6b540d..1bb421194f9f 100644
--- a/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.1";
+  version = "0.9.0";
   pname = "xcffib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03nf3xrqq25sj9phqc9ngvqxrrp14s4ifsx9hv41kp7zi3xamsfn";
+    sha256 = "1r03yvxwbimh8ngfrbd436f9r535vvj6m1b3zfgz9kl76c8yn5ic";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/xdis/default.nix b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
index 5fc7f55d4197..831dd888fae8 100644
--- a/nixpkgs/pkgs/development/python-modules/xdis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib, buildPythonPackage, fetchFromGitHub, isPy27
 , click
 , pytest
 , six
@@ -6,13 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "4.0.3";
+  version = "4.2.2";
+  disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "1h4j8hincf49zyd0rvn4bh0ypj8836y8vz3d496ycb9gjzkr6044";
+    sha256 = "0d286myx6z6cbih77h8z5p9vscxvww3gy59lmi1w6y2nq6c8sqzb";
   };
 
   checkInputs = [ pytest ];
@@ -27,5 +28,4 @@ buildPythonPackage rec {
     homepage = https://github.com/rocky/python-xdis/;
     license = licenses.gpl2;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
index f737cf344b88..cf4eadd99d89 100644
--- a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
@@ -1,15 +1,15 @@
 { lib, fetchPypi, buildPythonPackage, intervaltree, pyflakes, requests, lxml, google-i18n-address
-, pycountry, html5lib, six
+, pycountry, html5lib, six, kitchen, pypdf2, dict2xml, weasyprint
 , stdenv
 }:
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "2.18.0";
+  version = "2.37.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e192236798615f34479a9bb9f30df72ce0e5f319df75ecc0473d896713a17451";
+    sha256 = "4ae4e99a4b482caac89d8ffd93d16a4510db36907475b1879713a1dc885646ad";
   };
 
   propagatedBuildInputs = [
@@ -21,13 +21,18 @@ buildPythonPackage rec {
     pycountry
     html5lib
     six
+    kitchen
+    pypdf2
+    dict2xml
+    weasyprint
   ];
 
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
-  doCheck = !stdenv.isDarwin;
+  # lxml tries to fetch from the internet
+  doCheck = false;
 
   meta = with lib; {
     description = "Tool generating IETF RFCs and drafts from XML sources";
@@ -35,6 +40,6 @@ buildPythonPackage rec {
     # Well, parts might be considered unfree, if being strict; see:
     # http://metadata.ftp-master.debian.org/changelogs/non-free/x/xml2rfc/xml2rfc_2.9.6-1_copyright
     license = licenses.bsd3;
-    maintainers = [ maintainers.vcunat ];
+    maintainers = with maintainers; [ vcunat yrashk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
index c021bde60cd8..788ccc0ed81b 100644
--- a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
@@ -4,14 +4,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.13";
+  version = "1.0.18";
   pname = "xmlschema";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "v${version}";
-    sha256 = "182439gqhlxhr9rdi9ak33z4ffy1w9syhykkckkl6mq050c80qdr";
+    sha256 = "1pwq2sfh7klcxismsqzgw80cp3cdkq9wv8x9g3h1zx1p66xpas9p";
   };
 
   propagatedBuildInputs = [ elementpath ];
@@ -25,6 +25,7 @@ buildPythonPackage rec {
       --replace "SKIP_REMOTE_TESTS = " "SKIP_REMOTE_TESTS = True #"
     pytest . \
       --ignore=xmlschema/tests/test_factory.py \
+      --ignore=xmlschema/tests/test_memory.py \
       --ignore=xmlschema/tests/test_validators.py \
       --ignore=xmlschema/tests/test_schemas.py \
       -k 'not element_tree_import_script'
diff --git a/nixpkgs/pkgs/development/python-modules/xmodem/default.nix b/nixpkgs/pkgs/development/python-modules/xmodem/default.nix
new file mode 100644
index 000000000000..00a0bfb60439
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xmodem/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, which, lrzsz }:
+
+buildPythonPackage rec {
+  pname = "xmodem";
+  version = "0.4.5";
+
+  src = fetchFromGitHub {
+    owner = "tehmaze";
+    repo = "xmodem";
+    rev = version;
+    sha256 = "0nz2gxwaq3ys1knpw6zlz3xrc3ziambcirg3fmp3nvzjdq8ma3h0";
+  };
+
+  checkInputs = [ pytest which lrzsz ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pure python implementation of the XMODEM protocol";
+    maintainers = with maintainers; [ emantor ];
+    homepage = https://github.com/tehmaze/xmodem;
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/xstatic-bootstrap/default.nix b/nixpkgs/pkgs/development/python-modules/xstatic-bootstrap/default.nix
index a474bf84d0fd..a1e2c1a4e7b6 100644
--- a/nixpkgs/pkgs/development/python-modules/xstatic-bootstrap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xstatic-bootstrap/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-Bootstrap";
-  version = "3.3.7.1";
+  version = "4.1.3.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0c949e78e8cd77983fd803a68a98df0124e0c3a872fddb9ac8e6e5b4a487f131";
+    sha256 = "1800e6bb5fc687604d8a893eee8c7882d800a6f3d6721799016f99a47d1dac0f";
   };
 
   # no tests implemented
diff --git a/nixpkgs/pkgs/development/python-modules/xxhash/default.nix b/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
index da9ec8dc2d97..66f31441ec56 100644
--- a/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.3.0";
+  version = "1.4.3";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rhrqrlq4n3vgqd1fv1dcc5ga5dzy9qbd40p8rsqqhh5klxg48gy";
+    sha256 = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
index 5c738c11f84c..b4d5834b2424 100644
--- a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.17.0";
+  version = "1.20.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04xarlbh59f9ah53jxrcpqpzladyfxaw6cb2g8clw9aid0qzi9kh";
+    sha256 = "1gx3f9wcf8af9cz2v3x3196pab34n8mlqk5iswahhzpxc9i2p4bn";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/yapf/default.nix b/nixpkgs/pkgs/development/python-modules/yapf/default.nix
index abff04f23729..f4e154f2cbcd 100644
--- a/nixpkgs/pkgs/development/python-modules/yapf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yapf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06x409cgr5im9cppzypj1kqy1fsry906vn5slv7i9hd7fshvd53g";
+    sha256 = "712e23c468506bf12cadd10169f852572ecc61b266258422d45aaf4ad7ef43de";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/yappi/default.nix b/nixpkgs/pkgs/development/python-modules/yappi/default.nix
index c98bc1f303e0..f7a18bba903c 100644
--- a/nixpkgs/pkgs/development/python-modules/yappi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yappi/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "yappi";
-  version = "1.0";
+  version = "1.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gs48c5sy771lsjhca3m4j8ljc6yhk5qnim3n5idnlaxa4ql30bz";
+    sha256 = "b8db9bc607610d6da4e27e87ec828ebddec4bdaac89ca07ebfe9a153b0641580";
   };
 
   patches = [ ./tests.patch ];
diff --git a/nixpkgs/pkgs/development/python-modules/yarl/default.nix b/nixpkgs/pkgs/development/python-modules/yarl/default.nix
index d07690503f30..19314e19611c 100644
--- a/nixpkgs/pkgs/development/python-modules/yarl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yarl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "yarl";
-  version = "1.3.0";
+  version = "1.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9";
+    sha256 = "58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b";
   };
 
   checkInputs = [ pytest pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/yowsup/argparse-dependency.patch b/nixpkgs/pkgs/development/python-modules/yowsup/argparse-dependency.patch
deleted file mode 100644
index e2b9f0c9a74c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/yowsup/argparse-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 991e89c..7a96ccf 100755
---- a/setup.py
-+++ b/setup.py
-@@ -5,7 +5,7 @@ import yowsup
- import platform
- import sys
- 
--deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10']
-+deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six']
- 
- if sys.version_info < (2,7):
-     deps += ['importlib', "protobuf==3.4.0"]
diff --git a/nixpkgs/pkgs/development/python-modules/yowsup/default.nix b/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
index 5fa4af18c089..0436fe8a0f00 100644
--- a/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
@@ -1,10 +1,10 @@
 { buildPythonPackage, stdenv, fetchFromGitHub, six, python-axolotl, pytest
-, isPy3k
+, isPy3k, consonance, appdirs
 }:
 
 buildPythonPackage rec {
   pname = "yowsup";
-  version = "2.5.7";
+  version = "3.2.3";
 
   # The Python 2.x support of this package is incompatible with `six==1.11`:
   # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "1p0hdj5x38v2cxjnhdnqcnp5g7la57mbi365m0z83wa01x2n73w6";
+    sha256 = "0wb8yl685nr1i3vx89hwan5m6a482x8g48f5ksvdlph538p720pm";
   };
 
   checkInputs = [ pytest ];
@@ -22,9 +22,9 @@ buildPythonPackage rec {
     HOME=$(mktemp -d) py.test yowsup
   '';
 
-  patches = [ ./argparse-dependency.patch ];
+  patches = [ ./dependency-fixes.patch ];
 
-  propagatedBuildInputs = [ six python-axolotl ];
+  propagatedBuildInputs = [ six python-axolotl consonance appdirs ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/tgalal/yowsup";
diff --git a/nixpkgs/pkgs/development/python-modules/yowsup/dependency-fixes.patch b/nixpkgs/pkgs/development/python-modules/yowsup/dependency-fixes.patch
new file mode 100644
index 000000000000..eab56332d492
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/yowsup/dependency-fixes.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e3871a7..930bd6a 100755
+--- a/setup.py
++++ b/setup.py
+@@ -5,7 +5,7 @@ import yowsup
+ import platform
+ import sys
+ 
+-deps = ['consonance==0.1.2', 'argparse', 'python-axolotl==0.2.2', 'six==1.10', 'appdirs', 'protobuf>=3.6.0']
++deps = ['consonance>=0.1', 'python-axolotl>=0.2', 'six>=1.10', 'appdirs', 'protobuf>=3.6.0']
+ 
+ if sys.version_info < (2, 7):
+     deps.append('importlib')
diff --git a/nixpkgs/pkgs/development/python-modules/yt/default.nix b/nixpkgs/pkgs/development/python-modules/yt/default.nix
index 845fba749d69..f2d7e62eca36 100644
--- a/nixpkgs/pkgs/development/python-modules/yt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yt/default.nix
@@ -10,11 +10,13 @@
 , nose
 , cython
 , python
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "yt";
   version = "3.5.1";
+  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/yubico-client/default.nix b/nixpkgs/pkgs/development/python-modules/yubico-client/default.nix
index ddd992a51447..99aedd4e6811 100644
--- a/nixpkgs/pkgs/development/python-modules/yubico-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yubico-client/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yubico-client";
-  version = "1.10.0";
+  version = "1.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0skkmrpvpb1pwyqjf3lh9vq46xagvwdx9kagpdbba2v5dgrk34d1";
+    sha256 = "1d74c6341210c94b639f7c7c8930550e73d5c1be60402e418e9dc95e038f8527";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/zake/default.nix b/nixpkgs/pkgs/development/python-modules/zake/default.nix
index 56fdbe45553a..8eafaafadf58 100644
--- a/nixpkgs/pkgs/development/python-modules/zake/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zake/default.nix
@@ -30,6 +30,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/yahoo/Zake";
     description = "A python package that works to provide a nice set of testing utilities for the kazoo library";
     license = licenses.asl20;
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/zc_lockfile/default.nix b/nixpkgs/pkgs/development/python-modules/zc_lockfile/default.nix
index 110b7000e735..173a619197ce 100644
--- a/nixpkgs/pkgs/development/python-modules/zc_lockfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zc_lockfile/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "zc.lockfile";
-  version = "1.4";
+  version = "2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lrj2zdr06sff7i151710jbbnnhx4phdc0qpns8jkarpd62f7a4m";
+    sha256 = "307ad78227e48be260e64896ec8886edc7eae22d8ec53e4d528ab5537a83203b";
   };
 
   buildInputs = [ mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
index 978f8749d3b3..c7342bbfa553 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zeroc-ice";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "1bs7h3k9nd1gls2azgp8gz9407cslxbi2x1gspab8p87a61pjim8";
+    sha256 = "1adec3b54c77c46acfc8a99d6336ce9a0223a7016852666358133cbe37d99744";
   };
 
   buildInputs = [ openssl bzip2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index dbf84aa182b0..ef45f663ceb3 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.23.0";
+  version = "0.24.3";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xgfs38wv52a73p9gmyz0vxj6c49516isjn9bhp8p3y4cywk7hz0";
+    sha256 = "de62e5067ea7ab356f7168a3562d79fececa8632ed0fad0e82f505e01fafbc6d";
   };
 
   propagatedBuildInputs = [ ifaddr ]
diff --git a/nixpkgs/pkgs/development/python-modules/zerorpc/default.nix b/nixpkgs/pkgs/development/python-modules/zerorpc/default.nix
index 2ad01586189b..343c7c6e2515 100644
--- a/nixpkgs/pkgs/development/python-modules/zerorpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zerorpc/default.nix
@@ -1,15 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, future, gevent, msgpack-python, pyzmq }:
+{ lib, buildPythonPackage, fetchPypi, future, gevent, msgpack, pyzmq }:
 
 buildPythonPackage rec {
   pname = "zerorpc";
-  version = "0.6.1";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14d0nmprs0nm17d8kg2f7qalsi8x7c4damsccqgncylj7mpnk9hh";
+    sha256 = "d2ee247a566fc703f29c277d767f6f61f1e12f76d0402faea4bd815f32cbf37f";
   };
 
-  propagatedBuildInputs = [ future gevent msgpack-python pyzmq ];
+  propagatedBuildInputs = [ future gevent msgpack pyzmq ];
 
   doCheck = false; # pypi version doesn't include tests
 
diff --git a/nixpkgs/pkgs/development/python-modules/zetup/default.nix b/nixpkgs/pkgs/development/python-modules/zetup/default.nix
index dcebf7d4ecf9..eb3c5ff135ca 100644
--- a/nixpkgs/pkgs/development/python-modules/zetup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zetup/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "zetup";
-  version = "0.2.52";
+  version = "0.2.64";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ce97276acf0425499251c5eb700f6a3820adc52859df1e03c6d0f0b88a452cd";
+    sha256 = "b8a9bdcfa4b705d72b55b218658bc9403c157db7b57a14158253c98d03ab713d";
   };
 
   # Python 3.7 compatibility
diff --git a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
new file mode 100644
index 000000000000..d819a881f9f1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, zigpy
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "zha-quirks";
+  version = "0.0.30";
+
+  nativeBuildInputs = [ pytest ];
+  buildInputs = [ aiohttp zigpy ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00731a9b9c58c4e59f6765ac0cec5e2301bdda28ef19e00e2ba752be457a61b9";
+  };
+
+  meta = with stdenv.lib; {
+    description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
+    homepage = "https://github.com/dmulcahey/zha-device-handlers";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
new file mode 100644
index 000000000000..c9df7824093f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, crccheck, pyserial, pyserial-asyncio, pycryptodome, zigpy
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "zigpy-deconz";
+  version = "0.7.0";
+
+  nativeBuildInputs = [ pytest ];
+  buildInputs = [ aiohttp crccheck pycryptodome ];
+  propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "049k6lvgf6yjkinbbzm7gqrzqljk2ky9kfw8n53x8kjyfmfp71i2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library which communicates with Deconz radios for zigpy";
+    homepage = "https://github.com/zigpy/zigpy-deconz";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
new file mode 100644
index 000000000000..726f1fde4e64
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, crccheck, pycryptodome, pycrypto
+, pytest, pytest-asyncio, asynctest }:
+
+buildPythonPackage rec {
+  pname = "zigpy-homeassistant";
+  version = "0.11.0";
+
+  nativeBuildInputs = [ pytest pytest-asyncio asynctest ];
+  buildInputs = [ aiohttp pycryptodome ];
+  propagatedBuildInputs = [ crccheck pycrypto ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "021wg9yhz8dsif60r8s5621mf63bsayjjb2bimhq0am03ql0fysl";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library implementing a ZigBee stack";
+    homepage = "https://github.com/zigpy/zigpy";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zipp/default.nix b/nixpkgs/pkgs/development/python-modules/zipp/default.nix
index 29153b068fca..3b9b1a12ccac 100644
--- a/nixpkgs/pkgs/development/python-modules/zipp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zipp/default.nix
@@ -4,19 +4,22 @@
 , setuptools_scm
 , pytest
 , pytest-flake8
+, more-itertools
 }:
 
 buildPythonPackage rec {
   pname = "zipp";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3";
+    sha256 = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
 
+  propagatedBuildInputs = [ more-itertools ];
+
   checkInputs = [ pytest pytest-flake8 ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zm-py/default.nix b/nixpkgs/pkgs/development/python-modules/zm-py/default.nix
index 72c32ef8277f..4cd5e9b1d208 100644
--- a/nixpkgs/pkgs/development/python-modules/zm-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zm-py/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zm-py";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7cac73bd4f5e729fd8b3cff6f456652c3fd76b1a11f5d539bc7e14ffc7a87e9a";
+    sha256 = "f9693ca046de4ea12c1afb5c67709ec0c2a48744566c0a1a9327348e1a1617b0";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix b/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
index 1e577fc487ca..b24b5853876a 100644
--- a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
index f447d29f2804..26d8255c03b2 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -23,6 +23,8 @@ buildPythonPackage rec {
     zope-testrunner --test-path=src []
   '';
 
+  doCheck = false;
+
   meta = with lib; {
     description = "Allows you to perform imports names that will only be resolved when used in the code";
     homepage = https://github.com/zopefoundation/zope.deferredimport;
diff --git a/nixpkgs/pkgs/development/python-modules/zope_component/default.nix b/nixpkgs/pkgs/development/python-modules/zope_component/default.nix
index bbe635b712ff..25452fdd0707 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_component/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_component/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "zope.component";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6edfd626c3b593b72895a8cfcf79bff41f4619194ce996a85bce31ac02b94e55";
+    sha256 = "ec2afc5bbe611dcace98bb39822c122d44743d635dafc7315b9aef25097db9e6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix b/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix
index 9dac64907be9..6db39d6c5b5c 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "zope.contenttype";
-  version = "4.4";
+  version = "4.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08c0408f515668e6f0c4fd492b66fbe87a074c1aa21cfc6be8c6292482d8b2f4";
+    sha256 = "c12d929c67ab3eaef9b8a7fba3d19cce8500c8fd25afed8058c8e15f324cbd5b";
   };
 
   meta = with stdenv.lib; {
@@ -17,6 +17,7 @@ buildPythonPackage rec {
     description = "A utility module for content-type (MIME type) handling";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/zope_i18n/default.nix b/nixpkgs/pkgs/development/python-modules/zope_i18n/default.nix
index aad822bca594..81558a214461 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_i18n/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_i18n/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "zope.i18n";
-  version = "4.6.2";
+  version = "4.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "229de41f751dae36b1ef9fa284bc548ef40169234bf0d2199e41581e16304621";
+    sha256 = "9fcc1adb4e5f6188769ab36f6f40a59b567bb5eef91f714584e0dfd0891be5d0";
   };
 
   propagatedBuildInputs = [ pytz zope_component ];
@@ -21,6 +21,7 @@ buildPythonPackage rec {
     description = "Zope Internationalization Support";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
+    broken = true;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix b/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix
index cddcad007746..fe9a6b56ed8d 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.i18nmessageid";
-  version = "4.3.1";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e511edff8e75d3a6f84d8256e1e468c85a4aa9d89c2ea264a919334fae7081e3";
+    sha256 = "03318270df5320c57b3416744f9cb2a85160a8d00345c07ac35d2b7ac01ff50c";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/zope_interface/default.nix b/nixpkgs/pkgs/development/python-modules/zope_interface/default.nix
index a5855697ad6f..d208d4a3529c 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_interface/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_interface/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.interface";
-  version = "4.6.0";
+  version = "4.7.1";
   
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5";
+    sha256 = "4bb937e998be9d5e345f486693e477ba79e4344674484001a0b646be1d530487";
   };
 
   propagatedBuildInputs = [ zope_event ];
diff --git a/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix b/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix
index 08932c1cba19..537fc1465f23 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.proxy";
-  version = "4.3.1";
+  version = "4.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "563c2454b2d0f23bca54d2e0e4d781149b7b06cb5df67e253ca3620f37202dd2";
+    sha256 = "dac4279aa05055d3897ab5e5ee5a7b39db121f91df65a530f8b1ac7f9bd93119";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix b/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
index fd2cf470e6f0..f6bf7f96a767 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "zope.testrunner";
-  version = "4.9.2";
+  version = "5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2aa89531db6b7546e46be9d6113ac835a075f4dcb26e32c7276f4f30d4b14a5";
+    sha256 = "354a65f6c6fe6c0584e2fcf06d7318e90dc7f7de1b7008d8913733e299317870";
   };
 
   propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ];
 
-  doCheck = !stdenv.isDarwin;
+  doCheck = false; # custom test modifies sys.path
 
   meta = with stdenv.lib; {
     description = "A flexible test runner with layer support";
diff --git a/nixpkgs/pkgs/development/python-modules/zstd/default.nix b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
index 9c9c932cabf6..6c1b9c2bb5b7 100644
--- a/nixpkgs/pkgs/development/python-modules/zstd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zstd";
-  version = "1.4.1.0";
+  version = "1.4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0laxg0pag1bzmqmg4x81jb32412pn98p9zg2b0li035m779nka95";
+    sha256 = "33f2c1fd8d3f9ac8e35fb3e199896afc54cceb68878570c6d4b72985dc6584a5";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/r-modules/bioc-packages.nix b/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
index 03a30aad499e..a849ec0c0262 100644
--- a/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
@@ -457,7 +457,7 @@ in with self; {
   M3C = derive2 { name="M3C"; version="1.4.1"; sha256="0l9063bn0sfcq5qxghaj8f98x0pg91fwsd8l64ga8d7pnlm8i5fm"; depends=[cluster dendextend doParallel doSNOW foreach ggplot2 Matrix matrixcalc NMF RColorBrewer Rtsne sigclust survival]; };
   M3D = derive2 { name="M3D"; version="1.16.0"; sha256="0a7xs3kqvyxswsa4zcdakij4rvpv1pr4fmplnvxyskhh2zps7xyl"; depends=[BiocGenerics BiSeq GenomicRanges IRanges Rcpp S4Vectors SummarizedExperiment]; };
   M3Drop = derive2 { name="M3Drop"; version="1.8.1"; sha256="0bzxv4lnmbz4d7y1c2w7i013rfjscnj1ndb05k9n1i4c9gsknqya"; depends=[bbmle gplots numDeriv RColorBrewer statmod]; };
-  MACPET = derive2 { name="MACPET"; version="1.2.0"; sha256="0799d3pr5b6g7xbi75pf693768nspdc73qay72naghyql6g91s96"; depends=[BH bigmemory BiocParallel Biostrings futile_logger GenomeInfoDb GenomicAlignments GenomicRanges GEOquery gtools InteractionSet intervals IRanges knitr plyr Rbowtie Rcpp Rsamtools rtracklayer S4Vectors ShortRead]; };
+  MACPET = derive2 { name="MACPET"; version="1.2.0"; sha256="0799d3pr5b6g7xbi75pf693768nspdc73qay72naghyql6g91s96"; depends=[BH bigmemory BiocParallel Biostrings futile_logger GenomeInfoDb GenomicAlignments GenomicRanges GEOquery gtools InteractionSet intervals IRanges knitr plyr rbamtools Rbowtie Rcpp Rsamtools rtracklayer S4Vectors ShortRead]; };
   MADSEQ = derive2 { name="MADSEQ"; version="1.8.0"; sha256="1b7d6niz8lhvd17xjl4hy1yyki049cg6wd3g8wp38bm3zs6dzfd1"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 coda GenomeInfoDb GenomicAlignments GenomicRanges IRanges preprocessCore rjags Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation vcfR VGAM zlibbioc]; };
   MAGeCKFlute = derive2 { name="MAGeCKFlute"; version="1.2.3"; sha256="1d2lllsz2jdqma1ifdg7xj9fby85az7bifn0h0hj705m6dyla42z"; depends=[biomaRt bladderbatch clusterProfiler data_table DOSE ggExtra ggplot2 ggrepel ggsci gridExtra pathview pheatmap png sva]; };
   MAIT = derive2 { name="MAIT"; version="1.16.1"; sha256="0fg3cah81c4gzm3hw590h4grrja2qgfs8mrpkbifrgsclbybnp95"; depends=[agricolae CAMERA caret class e1071 gplots MASS pls plsgenomics Rcpp xcms]; };
@@ -538,7 +538,7 @@ in with self; {
   NADfinder = derive2 { name="NADfinder"; version="1.6.1"; sha256="0kz7dz95kdz5dz05bh7x6czrwdr1imaq1mv6bncxxhv1mffhmb9v"; depends=[ATACseqQC baseline BiocGenerics corrplot csaw EmpiricalBrownsMethod GenomeInfoDb GenomicAlignments GenomicRanges IRanges limma metap Rsamtools rtracklayer S4Vectors signal SummarizedExperiment trackViewer]; };
   NBSplice = derive2 { name="NBSplice"; version="1.0.6"; sha256="1nalcpj7n4qghmkrfq65xd4i0aack2yq4l2wwsy4z0sfi7gh6m49"; depends=[BiocParallel car edgeR ggplot2 MASS mppa reshape2]; };
   NCIgraph = derive2 { name="NCIgraph"; version="1.30.0"; sha256="16mxxrq6g4szig29cah2a13qp1ybsh8ci37izlq6gpxn0h00maym"; depends=[graph KEGGgraph R_methodsS3 RBGL RCy3]; };
-  NGScopy = derive2 { name="NGScopy"; version="1.16.1"; sha256="1zfasfbzzay402igag1ynffz2v9ad70wdy5vs02q0api3rkkn406"; depends=[changepoint Xmisc]; };
+  NGScopy = derive2 { name="NGScopy"; version="1.16.1"; sha256="1zfasfbzzay402igag1ynffz2v9ad70wdy5vs02q0api3rkkn406"; depends=[changepoint rbamtools Xmisc]; };
   NOISeq = derive2 { name="NOISeq"; version="2.26.1"; sha256="1wyhhi9ydlbjlz427093mdp5ppby77n37w5c2iyxlpsdk2m2nqsn"; depends=[Biobase Matrix]; };
   NTW = derive2 { name="NTW"; version="1.32.0"; sha256="10ndg6mina5wz3w87wpv4mnbxdyj6rhvc9jqf954wmh6gj04vyin"; depends=[mvtnorm]; };
   NanoStringDiff = derive2 { name="NanoStringDiff"; version="1.12.0"; sha256="1927ry931ckjrci6yfk3fh774bizh4yb5f7p7x1ra1yxzfizq7k3"; depends=[Biobase matrixStats Rcpp]; };
@@ -1558,7 +1558,7 @@ in with self; {
   spikeLI = derive2 { name="spikeLI"; version="2.42.0"; sha256="055zbrbh6wf3vvnc9p8px2ffz9wdhdg0h96260r7c72ax3v6wi5g"; depends=[]; };
   spkTools = derive2 { name="spkTools"; version="1.38.0"; sha256="0rm2vlzid3wjm1g1kzmjklga1gcf852aznhxb1xr50v8drivkkz9"; depends=[Biobase gtools RColorBrewer]; };
   splatter = derive2 { name="splatter"; version="1.6.1"; sha256="1kw9shzqwph44q2fksgp79mrjq23j3806clc4xydw3ys2w4kspj8"; depends=[akima BiocGenerics BiocParallel checkmate crayon edgeR fitdistrplus ggplot2 locfit matrixStats scales scater SingleCellExperiment SummarizedExperiment]; };
-  spliceSites = derive2 { name="spliceSites"; version="1.30.0"; sha256="1j40awy9irx53d1cdsx52pnxirjrrvgsj9zx5qhl2556ca65l26n"; depends=[Biobase BiocGenerics Biostrings doBy IRanges refGenome seqLogo]; };
+  spliceSites = derive2 { name="spliceSites"; version="1.30.0"; sha256="1j40awy9irx53d1cdsx52pnxirjrrvgsj9zx5qhl2556ca65l26n"; depends=[Biobase BiocGenerics Biostrings doBy IRanges rbamtools refGenome seqLogo]; };
   splicegear = derive2 { name="splicegear"; version="1.54.0"; sha256="0phpkgjkc4c8lfr8xsciqyz7imsjpc3sxwsh95glxhrsm7i2mnip"; depends=[annotate Biobase XML]; };
   splineTimeR = derive2 { name="splineTimeR"; version="1.10.0"; sha256="15dzhijkhpy7d8hwif59bic83fk6fnyjpp4qi7y7vwq139j6yaj2"; depends=[Biobase FIs GeneNet GSEABase gtools igraph limma longitudinal]; };
   splots = derive2 { name="splots"; version="1.48.0"; sha256="0s10ha17p4yf6id0h0r0a2fk992jp4ah7v8ani689zy6pcc0w34d"; depends=[RColorBrewer]; };
diff --git a/nixpkgs/pkgs/development/r-modules/cran-packages.nix b/nixpkgs/pkgs/development/r-modules/cran-packages.nix
index ed205130caec..8099944156b4 100644
--- a/nixpkgs/pkgs/development/r-modules/cran-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/cran-packages.nix
@@ -4,9 +4,10 @@
 # Rscript generate-r-packages.R cran >new && mv new cran-packages.nix
 
 { self, derive }:
-let derive2 = derive { snapshot = "2019-08-05"; };
+let derive2 = derive { snapshot = "2019-12-03"; };
 in with self; {
   A3 = derive2 { name="A3"; version="1.0.0"; sha256="017hq9pjsv1h9i7cqk5cfx27as54shlhdsdvr6jkhb8jfkpdb6cw"; depends=[pbapply xtable]; };
+  ABACUS = derive2 { name="ABACUS"; version="1.0.0"; sha256="0m1dnkwjr1522l9ddbzzx7ayxvli17sbmk6s28adpmzzjwh2kd1i"; depends=[ggplot2 shiny]; };
   ABC_RAP = derive2 { name="ABC.RAP"; version="0.9.0"; sha256="1kdspln17v0krvahcd55vib4dv5azp60b3r1zf489x10qqbp1mxk"; depends=[]; };
   ABCanalysis = derive2 { name="ABCanalysis"; version="1.2.1"; sha256="0wac1ksmnxa36v99ca4hv8k0rsh3igwpcllmlv9wf7i9kgqviqwi"; depends=[plotrix]; };
   ABCoptim = derive2 { name="ABCoptim"; version="0.15.0"; sha256="1ih0xk88qhsmpvnxf56041wx5sk8as2f4f2gdnpnwdym9mbr9n4b"; depends=[Rcpp]; };
@@ -23,7 +24,7 @@ in with self; {
   ACSNMineR = derive2 { name="ACSNMineR"; version="0.16.8.25"; sha256="0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"; depends=[ggplot2 gridExtra scales]; };
   ACSWR = derive2 { name="ACSWR"; version="1.0"; sha256="195vjrkang5cl7gwsna0aq4p0h4jym9xg9yh94bnf8vq6wf8j83n"; depends=[MASS]; };
   ACTCD = derive2 { name="ACTCD"; version="1.2-0"; sha256="0mzjxxr2zfdidw8ibh6w8mvpkw3q3nvngqi05g9ind26ckvk053p"; depends=[GDINA R_methodsS3]; };
-  ADAPTS = derive2 { name="ADAPTS"; version="0.9.20"; sha256="1ik9bc8adpz5gphg36grx2hvq76gf1x3yblxp4dj7vhcqva11kzl"; depends=[ComICS DeconRNASeq doParallel e1071 foreach missForest nnls pcaMethods pheatmap preprocessCore quantmod WGCNA]; };
+  ADAPTS = derive2 { name="ADAPTS"; version="0.9.26"; sha256="1s0mwascqlyrqfw672cwrkmaviclmhhxibac98brki7r0fxlk3j2"; depends=[ComICS DeconRNASeq doParallel e1071 foreach missForest nnls pcaMethods pheatmap preprocessCore quantmod WGCNA]; };
   ADCT = derive2 { name="ADCT"; version="0.1.0"; sha256="1glf83ydx4v3ld8c4gb9h3jk6srd054bis5l8k57p1ba4fnqnnpp"; depends=[mvtnorm]; };
   ADDT = derive2 { name="ADDT"; version="2.0"; sha256="044bb1jw2m8vwk5q8l7rlz4kqphjvy8i9d59rjg0k5q5l9vczfrp"; depends=[coneproj Matrix nlme]; };
   ADGofTest = derive2 { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
@@ -33,14 +34,14 @@ in with self; {
   ADPF = derive2 { name="ADPF"; version="0.0.1"; sha256="1n7302xx77ngvp9i2h582i1mqslzllcdr0bn3pl2zk9jd8k97p7n"; depends=[]; };
   ADPclust = derive2 { name="ADPclust"; version="0.7"; sha256="0s47cpsjykn7imsssa9w9b6g9d1sz2yah78yqzxmh0i3lqd757c1"; depends=[cluster dplyr fields knitr]; };
   AEDForecasting = derive2 { name="AEDForecasting"; version="0.20.0"; sha256="16q2sn5zzvysyy3r32jnr21pbdkkn0k0sbarni6fdkx7pj27yijn"; depends=[changepoint forecast signal]; };
-  AER = derive2 { name="AER"; version="1.2-7"; sha256="14wahf8qwv66rv7wbv53y8rslid140n9n7kcr8nhqw8kcdh5rvis"; depends=[car Formula lmtest sandwich survival zoo]; };
+  AER = derive2 { name="AER"; version="1.2-8"; sha256="04qfqv36scl5r5fssz0qzbq64602x8bj02fy1f2gzrmvlf315gh9"; depends=[car Formula lmtest sandwich survival zoo]; };
   AF = derive2 { name="AF"; version="0.1.5"; sha256="1r87ra55g0qm2s8cgsmdwck93ia2vr8zfab3in45mxm5xc501xgk"; depends=[data_table drgee ivtools stdReg survival]; };
   AFM = derive2 { name="AFM"; version="1.2.6"; sha256="0yngk3j1wkamqzrwibn2csbn61jbdb872n0gi4d3hyhgilqzwbwf"; depends=[data_table dbscan fftwtools fractaldim ggplot2 gridExtra gstat igraph mixtools moments plyr png pracma rgl scales shiny shinyjs sp stringr]; };
   AFheritability = derive2 { name="AFheritability"; version="0.1.0"; sha256="03w0a4z2x539ykyzdxm1mfqkhzz03cg0aqvgi062jrrm5m6f57ix"; depends=[ggplot2 mvtnorm reshape2 shiny]; };
   AGD = derive2 { name="AGD"; version="0.39"; sha256="0hmq684snnffc2v7vmns4ky200a6zh1ggiap03n5cvpb3nlqc6lr"; depends=[gamlss gamlss_dist]; };
   AGHmatrix = derive2 { name="AGHmatrix"; version="1.0.2"; sha256="0qipqk8p80463hfkbjnkw8ivziqj2xb15l54x52kcgbd9hl4zami"; depends=[Matrix zoo]; };
   AGSDest = derive2 { name="AGSDest"; version="2.3.2"; sha256="0f3qchvdi2n1cr8ipjj332dw8hdza58dvfk21p0c6bhmxzg7f71i"; depends=[ldbounds]; };
-  AGread = derive2 { name="AGread"; version="0.2.2"; sha256="08d705fh11ksxijqjlc3ny7rclq7hw12f161h277fjdx71wgn8hp"; depends=[anytime binaryLogic data_table DescTools dplyr GGIR lubridate magrittr rlang seewave stringr]; };
+  AGread = derive2 { name="AGread"; version="1.0.0"; sha256="0z0c43m7sgw9qfwmr9jv6ppx2zvrm3mpb5gljg5bvv5gd3cfxbpy"; depends=[anytime binaryLogic data_table DescTools dplyr GGIR lubridate magrittr PAutilities Rcpp rlang seewave stringr]; };
   AHM = derive2 { name="AHM"; version="1.0.1"; sha256="00r1rn7d64a18rckbxvla5yapqv00p9ajxv72fx7s6p80kfal89w"; depends=[devtools dplyr glmnet Matrix mixexp plgp quadprog tibble tidyr]; };
   AHMbook = derive2 { name="AHMbook"; version="0.1.4"; sha256="1cxyk420pzhh1scagxjmpm328xrcc1mpdrrch92yfgbgx09zkr4c"; depends=[coda plotrix RandomFields raster sp unmarked]; };
   AHR = derive2 { name="AHR"; version="1.5.0"; sha256="0sscw80cz4r1xmdymp9knz0dfans7yzwjwklv7ahafxlflw5527h"; depends=[etm MASS Rcpp RcppArmadillo survival]; };
@@ -55,6 +56,7 @@ in with self; {
   ALSCPC = derive2 { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
   ALSM = derive2 { name="ALSM"; version="0.2.0"; sha256="1g7zk8q462j4faq5wzzghkjc003ny6rj8hrymsgvh3fg3a72lvy3"; depends=[car leaps SuppDists]; };
   ALTopt = derive2 { name="ALTopt"; version="0.1.1"; sha256="0frpnycnljz6r24cg4z99ivm3rbg9j1nxfkhw18vbrb7gcl1hqj6"; depends=[cubature lattice]; };
+  ALassoSurvIC = derive2 { name="ALassoSurvIC"; version="0.1.0"; sha256="0q02rz947bp6i7sbb5nzxq8ky74iprdnpbwnmnn7vg29vhca4b09"; depends=[Rcpp]; };
   AMAP_Seq = derive2 { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
   AMCP = derive2 { name="AMCP"; version="0.0.4"; sha256="051xvnr4zc25w00kh4gkffgigmhmcbqpwh9654jv37glr8ip2v3l"; depends=[]; };
   AMCTestmakeR = derive2 { name="AMCTestmakeR"; version="1.0.0"; sha256="1vgncc61gmqhax2a7072jb36bzkycv80xqihkr5qs8jxnqqkndxd"; depends=[]; };
@@ -63,27 +65,29 @@ in with self; {
   AMModels = derive2 { name="AMModels"; version="0.1.4"; sha256="18h075bzk8s75b3zmjd0x8c6dpl40445d4kv8n0p4ldnx80b1aha"; depends=[unmarked]; };
   AMOEBA = derive2 { name="AMOEBA"; version="1.1"; sha256="1npzh3rpfnxd4r1pj1hm214sfgbw4wmq4ws093lnl7pvsl0q37xn"; depends=[rlecuyer snowfall spdep]; };
   AMORE = derive2 { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
-  AMPLE = derive2 { name="AMPLE"; version="0.0.1"; sha256="1qgr5672s7w7w34r9392rygnw2mx7fcnkwgk42baf10wl9iflgs2"; depends=[dplyr ggplot2 RColorBrewer shiny shinyjs tidyr]; };
-  AMR = derive2 { name="AMR"; version="0.7.1"; sha256="1dgdiaa0xfdgdyaps2mx7xb4zis8rf5npa9cr2lz72nlhh3b0h5h"; depends=[backports crayon data_table dplyr ggplot2 hms knitr microbenchmark rlang scales tidyr]; };
+  AMPLE = derive2 { name="AMPLE"; version="0.0.2"; sha256="0j19f8rl7gkads4n52l5gfc5k7dx27sswzrypwl7dnxhfp4ivql7"; depends=[dplyr ggplot2 shiny shinyjs tidyr wesanderson]; };
+  AMR = derive2 { name="AMR"; version="0.9.0"; sha256="14y7ghqhx3apc2ad4lbjd2swzwgw1qzj0scdgx8jq4b2cv4z2gz6"; depends=[backports cleaner crayon data_table dplyr ggplot2 knitr microbenchmark pillar rlang tidyr]; };
   ANN2 = derive2 { name="ANN2"; version="2.3.2"; sha256="0ib6cs2az0hhfg7vj4dk6fxbwjlc305psqjs188fdya2jrxgq1gs"; depends=[ggplot2 Rcpp RcppArmadillo reshape2 testthat viridisLite]; };
   ANOM = derive2 { name="ANOM"; version="0.5"; sha256="14nfy9xplbabfprwxz5fvx26nmqhp657vr6d90dc8vk8ds63ckiz"; depends=[ggplot2 MCPAN multcomp nparcomp SimComp]; };
   ANOVA_TFNs = derive2 { name="ANOVA.TFNs"; version="1.0"; sha256="0dwspvxj2gzyvxsd9xyhv47n1hjlqa7z9qza4h3hn1xda12vkjly"; depends=[FuzzyNumbers]; };
+  ANOVAIREVA = derive2 { name="ANOVAIREVA"; version="0.1.0"; sha256="04z2g79nnh5yhn4aqw0i7ck2b1z5dbasf1zp1sj6rjjrp9aqmaa6"; depends=[car dplyr ggplot2 plotly rmarkdown shiny]; };
   ANOVAShiny = derive2 { name="ANOVAShiny"; version="0.1.0"; sha256="1z8wi8c8j3rlchfk1vx101qz1r9j2jl5lfh72y5lqsisqxl2fyyz"; depends=[DescTools dplyr HH rhandsontable rmarkdown shiny]; };
   ANOVAreplication = derive2 { name="ANOVAreplication"; version="1.1.4"; sha256="0rq4aphjmqrr4pm55vpc8qr4rghqkmlsqsvxzarx3kmr3aqlmqg8"; depends=[quadprog shiny]; };
   APCanalysis = derive2 { name="APCanalysis"; version="1.0"; sha256="11snn5i8zyjpzf58ica762fpp14v7x5h8a8iwx4s4v81pgvlx862"; depends=[]; };
   APFr = derive2 { name="APFr"; version="1.0.2"; sha256="1vax7rfccds6qz3bi6n1h3nzl9jnxpwk331wmpsbqlk23md3m4g4"; depends=[]; };
+  APIS = derive2 { name="APIS"; version="0.1.0"; sha256="1kpf766b6mvig9gj9zhjgpr2yvbjinjrhzxv1109fv3igabzjxd9"; depends=[doParallel foreach ggplot2 gridExtra]; };
   APML0 = derive2 { name="APML0"; version="0.9"; sha256="1scvcrcsjgdrq9gfv8qxbd703k76cyk01ml93bcr8j8kiwv05z0f"; depends=[Matrix Rcpp RcppEigen]; };
   APPEstimation = derive2 { name="APPEstimation"; version="0.1.1"; sha256="1bg9ma4i3k3xdgyk2h4f368gqnczvlhvjw4114iznmrv1wl4g25c"; depends=[densratio]; };
   APSIM = derive2 { name="APSIM"; version="0.9.3"; sha256="1pqyy170h2s0kv7nf9v6xr8lgp8yh4psnmpi0naghjg7h72bl53k"; depends=[data_table lubridate plyr RSQLite sirad stringr]; };
   APSIMBatch = derive2 { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
-  APfun = derive2 { name="APfun"; version="0.1.3"; sha256="02p40n4l66r63wq8x7ygchfhxmnpaa7vgy4bjhkqx5gfi2v4psxd"; depends=[maptools raster rgdal sp yesno]; };
+  APfun = derive2 { name="APfun"; version="0.1.4"; sha256="0k4m3zwxcjfb1y4njig6yyjqzsvqi99zmglbfpvp65s829zxd881"; depends=[maptools raster rgdal sp]; };
   APtools = derive2 { name="APtools"; version="6.8.8"; sha256="171aydyd7s8qll7djl4ysy596wxdf5wfwpqwfi14jjglc9r9qrrr"; depends=[cmprsk survival]; };
   AR = derive2 { name="AR"; version="1.1"; sha256="1wn4g2997c4vc3mzq2pv8ld0ryp0i78v4zlqqryvhshxgnz4f2pr"; depends=[DISTRIB]; };
   AR1seg = derive2 { name="AR1seg"; version="1.0"; sha256="0v9adx5wj9r4jwl3bqqmj0byiqfp585jz013qfqrq601wj8v4zi3"; depends=[Segmentor3IsBack]; };
   ARCensReg = derive2 { name="ARCensReg"; version="2.1"; sha256="05zjk1wxqfigzg80lvx1940a059jfdr9zbzgzmz2n01glj1lvj63"; depends=[msm mvtnorm numDeriv tmvtnorm]; };
   ARHT = derive2 { name="ARHT"; version="0.1.0"; sha256="1fz81a202r8vk655dg6a03zfq3gfkimqjvmc95k3j02xz0iv58kn"; depends=[]; };
   ARIbrain = derive2 { name="ARIbrain"; version="0.2"; sha256="18c7yxkrnqh18gcfzvdc5wqig6ywdmjcy8rlz0fdj3b8fb84dfpr"; depends=[hommel plyr RNifti]; };
-  AROC = derive2 { name="AROC"; version="1.0"; sha256="1mmcd8nqwzaqghzbcrv0g767j57svzvlzgk71ir61vvjhsk91dkg"; depends=[Hmisc MASS Matrix moments np]; };
+  AROC = derive2 { name="AROC"; version="1.0-1"; sha256="086i2isgi65r0sanyisdwiwdca0v7hvi1bcvsmwdbwbcgqr1zh0b"; depends=[Hmisc MASS Matrix moments nor1mix np spatstat]; };
   ARPobservation = derive2 { name="ARPobservation"; version="1.2.0"; sha256="1kgflalpymbsfzwg4c70mdxgrbsg8r8z44433v3y9rymhfyq9nmj"; depends=[]; };
   ART = derive2 { name="ART"; version="1.0"; sha256="186w1ivj5v3h906crl953qxgai5wiznaih83dgvwgnmabs9p1wvk"; depends=[car]; };
   ARTIVA = derive2 { name="ARTIVA"; version="1.2.3"; sha256="1jdvsslc8parz7wibcv51fx62brl2mc6i482hz43j1npsms2z1hl"; depends=[gplots igraph MASS]; };
@@ -128,7 +132,7 @@ in with self; {
   AdapSamp = derive2 { name="AdapSamp"; version="1.1.1"; sha256="1jayjrsiib2ij4rxxj59g71r3xhzl5yqh0lhi8k6cfy03i7dkvis"; depends=[pracma]; };
   AdaptFit = derive2 { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[cluster MASS nlme SemiPar]; };
   AdaptFitOS = derive2 { name="AdaptFitOS"; version="0.67"; sha256="0s8vv960pkbccpwlfsg1jsfjnfmq9iy8cj1fak5fn2s60zb7nm0a"; depends=[MASS mgcv nlme SemiPar]; };
-  AdaptGauss = derive2 { name="AdaptGauss"; version="1.5"; sha256="1990nd46ib2wkjhi5ypfyw2wq4gh6y5mymy0s3mq99qy2n17b6zq"; depends=[ggplot2 pracma shiny]; };
+  AdaptGauss = derive2 { name="AdaptGauss"; version="1.5.4"; sha256="16p5q5lqq7ys1v4ciiqsp4sw8wlr0w8rjwibr0qgvvdp2wv0lmzd"; depends=[DataVisualizations ggplot2 pracma Rcpp shiny]; };
   AdaptiveSparsity = derive2 { name="AdaptiveSparsity"; version="1.6"; sha256="0imr5m8mll9j6n4icsv6z9rl5kbnwsp9wvzrg7n90nnmcxq2cz91"; depends=[MASS Matrix Rcpp RcppArmadillo]; };
   AdequacyModel = derive2 { name="AdequacyModel"; version="2.0.0"; sha256="0amp6ic1wylk24sp9wpx3ci38njj7b9qjqfp89j39hkl6kc1q7sq"; depends=[]; };
   AdhereR = derive2 { name="AdhereR"; version="0.5"; sha256="0wma06v02k50j0j8j5k1py3y6mwl8q7bsb288gyn67ms9wgv4fb5"; depends=[clipr colourpicker data_table DBI haven highlight knitr lubridate manipulate readODS readxl RMariaDB RSQLite scales shiny shinyjs shinyWidgets V8 viridisLite]; };
@@ -140,14 +144,14 @@ in with self; {
   AgreementInterval = derive2 { name="AgreementInterval"; version="0.1.1"; sha256="1bvinzylvsaipa8mq15f45b6h37znavlrdl0rbrx1pqw52r7z8kv"; depends=[psych]; };
   AhoCorasickTrie = derive2 { name="AhoCorasickTrie"; version="0.1.0"; sha256="0k2lcyxfsavis9g1g5293f0mw7f6jakkr11wkkjvxdlnba9c80r8"; depends=[Rcpp]; };
   Ake = derive2 { name="Ake"; version="1.0"; sha256="1dj598xfdyjqvysc39a0d5gizgk367c5lkddmwmsqa8zjmvpr15a"; depends=[]; };
-  AlgDesign = derive2 { name="AlgDesign"; version="1.1-7.3"; sha256="0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"; depends=[]; };
+  AlgDesign = derive2 { name="AlgDesign"; version="1.2.0"; sha256="0ammlg148gk0p24fh700116nd66636np0jb1wwh0axq5jphwk1pz"; depends=[]; };
   AlgebraicHaploPackage = derive2 { name="AlgebraicHaploPackage"; version="1.2"; sha256="1krm5cx609sv2p0g3xm5jaiqs9li06v717lw7ywjvx7myc9x4c07"; depends=[]; };
   AllPossibleSpellings = derive2 { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
   AlleleRetain = derive2 { name="AlleleRetain"; version="2.0.2"; sha256="0b6h5giskqbjbrk8nf29i75wrhxsjw1c87laiqzrpbp9n717bl20"; depends=[]; };
   AlphaPart = derive2 { name="AlphaPart"; version="0.7.0"; sha256="1bqwbjqmazjgmdpk5s0i3dl4hb3qhz2sy1drhazmgdxhf5qwsq85"; depends=[directlabels gdata ggplot2 pedigree quadprog Rcpp reshape]; };
-  AlphaSimR = derive2 { name="AlphaSimR"; version="0.10.0"; sha256="14fd9d9k88hw7dw2yipbkgxj0aj8mk5ki3kl8v92lm55522nchzz"; depends=[BH R6 Rcpp RcppArmadillo]; };
+  AlphaSimR = derive2 { name="AlphaSimR"; version="0.11.0"; sha256="0p3a1rrgd8h02x79g49144igj6g58nnqb6bf7h4cwvjc2033w5si"; depends=[BH R6 Rcpp RcppArmadillo]; };
   AlphaVantageClient = derive2 { name="AlphaVantageClient"; version="0.0.1"; sha256="095m850v945lw7i3qd812p28srdb5hdk9h52zf6bkr166zai1ni0"; depends=[httr xts]; };
-  Amelia = derive2 { name="Amelia"; version="1.7.5"; sha256="1mnvms3bgc5i0v7wdmfx7nikr8wxyzmqi36sj2fz4qv5b0mf4zpa"; depends=[foreign Rcpp RcppArmadillo]; };
+  Amelia = derive2 { name="Amelia"; version="1.7.6"; sha256="1shvc8x1kmb0cincgggsv5c5w25k36kqvisdqd3ayy5g98vqvh33"; depends=[foreign Rcpp RcppArmadillo]; };
   AmericanCallOpt = derive2 { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
   AmesHousing = derive2 { name="AmesHousing"; version="0.0.3"; sha256="1fr01ka8x8gdnky6cbd2bjlh1lx71gzq440zsknn9kxvf01s6pxm"; depends=[dplyr magrittr]; };
   AmigaFFH = derive2 { name="AmigaFFH"; version="0.3.1"; sha256="0mvw5zr7l29fgm6dan285gjnmmzz59a19v8b2w4j035jzbf1vffw"; depends=[tuneR]; };
@@ -157,14 +161,16 @@ in with self; {
   AmyloGram = derive2 { name="AmyloGram"; version="1.1"; sha256="1xdi3i3nw4fzj4d040r55f0gid72gy3vbz5nbdrvapl97zk3kp8c"; depends=[biogram ranger seqinr shiny]; };
   AnDE = derive2 { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization foreign functional stringr]; };
   AnaCoDa = derive2 { name="AnaCoDa"; version="0.1.3.0"; sha256="1aps8fnh2d4vw5c9ypmgqnvwqzkjjfrmm7wq4xcy6lmlqks35zdv"; depends=[mvtnorm Rcpp]; };
-  AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-20"; sha256="1r2w6wf44p75r5m2hflnk1q71kv4vgds4hxyl5viyl6mg417brg5"; depends=[fastICA R_matlab tkrplot]; };
+  AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-21"; sha256="1gn0ixxi42rw8vr4ykl232cmdcc1qqbbivhw3n8f20jgicwg8x06"; depends=[fastICA R_matlab tkrplot]; };
   AnalyzeTS = derive2 { name="AnalyzeTS"; version="2.2"; sha256="0ll4g8yzxhricz56vin8hhyplrmvjmkwfldya41vz6y6bwhywnmb"; depends=[MASS TSA tseries TTR urca]; };
   AncestryMapper = derive2 { name="AncestryMapper"; version="2.0"; sha256="1fr2y1a5rn7rq8aly94f618kywix32jwysi70nfhaqx8hf4zzprb"; depends=[svd]; };
   AnglerCreelSurveySimulation = derive2 { name="AnglerCreelSurveySimulation"; version="1.0.2"; sha256="1nhd0i30g5wb5jh96gfaa0lgnbnj0m2vy4gz7v2c3142396zalnx"; depends=[dplyr ggplot2]; };
+  AnimalHabitatNetwork = derive2 { name="AnimalHabitatNetwork"; version="0.1.0"; sha256="1bhqypkiw5v9w26jbdmhndqj5hjfmf7zwivrq2hgs0zcjxwa8gfn"; depends=[ggplot2 igraph]; };
   AnnotLists = derive2 { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
   AnnotationBustR = derive2 { name="AnnotationBustR"; version="1.2"; sha256="1r52qry6xvn79b6qsbch35jhzg8y71kxqq9xm6gd302cv2xbwq7q"; depends=[ape seqinr]; };
   AnnuityRIR = derive2 { name="AnnuityRIR"; version="1.0-0"; sha256="0yvfqzwhm5nhywfhzkxkfm07c0qi6z21j1cdaypz89qn567aj1d9"; depends=[actuar EnvStats fitdistrplus mc2d tseries]; };
   AntAngioCOOL = derive2 { name="AntAngioCOOL"; version="1.2"; sha256="1krwms0y3xppc2y4m0az51wcbh4jq7mlr0jwinp66w8gh4k3qnp2"; depends=[caret rJava rpart RWeka]; };
+  AntMAN = derive2 { name="AntMAN"; version="1.0"; sha256="1dm2fb59r4drbyi21bf48c9r6ajhm507q80syl3xwyqimgbgm8ss"; depends=[mcclust mvtnorm Rcpp RcppArmadillo sdols]; };
   AntWeb = derive2 { name="AntWeb"; version="0.7"; sha256="1ykfg3zzjdvjppr2l4f26lx00cn5vaqhhz1j1b5yh113ggyl40qw"; depends=[assertthat httr leafletR plyr rjson]; };
   AnthropMMD = derive2 { name="AnthropMMD"; version="3.0.1"; sha256="0f2j4nwni87r11zav4lvy0c8k9v6yrk2li3vls2xa02nlci64x26"; depends=[plotrix scatterplot3d shiny smacof]; };
   Anthropometry = derive2 { name="Anthropometry"; version="1.12"; sha256="1m9ynypl5hyyqqmknd9hgys927bsglhg3l9rydy36l7lk1kf2m9m"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
@@ -179,7 +185,7 @@ in with self; {
   ArchaeoPhases = derive2 { name="ArchaeoPhases"; version="1.4"; sha256="1wdr72w0qfh165v5prgxx0py7344v8rw03rhnh7pi5rwd5nyxvhv"; depends=[coda DT ggalt ggplot2 ggthemes hdrcde readr shiny shinythemes toOrdinal]; };
   ArfimaMLM = derive2 { name="ArfimaMLM"; version="1.3"; sha256="0s5igf703zzvagsbdxf5yv4gn0vdq51b7fvbc8xkgvlmv91yy372"; depends=[fracdiff fractal lme4]; };
   ArgumentCheck = derive2 { name="ArgumentCheck"; version="0.10.2"; sha256="0mgx7mzbg2wynixcf9hvs0i9p4zka7c3chrfvjmvvvwwgsy24hkc"; depends=[]; };
-  Arothron = derive2 { name="Arothron"; version="1.0.2"; sha256="1nfdy0gwxm0xw0lp6245zz0ma481yf0yw4giisqpkkkg56snjjmx"; depends=[compositions doParallel foreach geometry Morpho rgl Rvcg stringr vegan]; };
+  Arothron = derive2 { name="Arothron"; version="1.1.0"; sha256="05i49wpzpab1yffxxifjr6iqz8qc1xba7pj9rlnvcmx29f5x8b6w"; depends=[abind alphashape3d compositions doParallel foreach geometry Morpho rgl Rvcg stringr vegan]; };
   ArrayBin = derive2 { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[SAGx]; };
   AsioHeaders = derive2 { name="AsioHeaders"; version="1.12.1-1"; sha256="0phcagfjxrakkap0kffclcqjspb2rmhq81k934mxgh1qz5a68ksv"; depends=[]; };
   AssayCorrector = derive2 { name="AssayCorrector"; version="2.0.0"; sha256="0d2444if5hyfbzyminnspw686r5l4pf9cdj9k48n2539vd61k452"; depends=[kSamples lattice latticeExtra RColorBrewer RVAideMemoire]; };
@@ -188,7 +194,7 @@ in with self; {
   AssocAFC = derive2 { name="AssocAFC"; version="1.0.2"; sha256="1rjiiir472dnr15xyvpn81s62nf01gl70khr8mrni65ssp5m30fb"; depends=[CompQuadForm]; };
   AssocTests = derive2 { name="AssocTests"; version="0.0-4"; sha256="1fhqzbj4aj4srkiba79w8wdyc7yy701izklxqqa7lsifnca6gn4j"; depends=[cluster combinat fExtremes mvtnorm]; };
   AssotesteR = derive2 { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
-  AsyK = derive2 { name="AsyK"; version="0.1.0"; sha256="0m3byaa39m9d8l3pcbjxczvwc395wq5rj55qd7afmnj9a5zhgnaq"; depends=[]; };
+  AsyK = derive2 { name="AsyK"; version="1.3.2"; sha256="1ijl4cchbqaa13j3mnrjlg3kpxmqpjbvf48x6p9vvmhiy1n4974w"; depends=[decon ICV kedd kerdiest KernSmooth ks locfit OSCV sm]; };
   AsynchLong = derive2 { name="AsynchLong"; version="2.0"; sha256="1wjby75rpypzyrxnv2lgl7h2fsvyni3bpiwclp0x7cl4sxic1x5c"; depends=[]; };
   AtelieR = derive2 { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[cairoDevice gWidgetsRGtk2 partitions proto]; };
   AtmRay = derive2 { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
@@ -200,28 +206,31 @@ in with self; {
   AutoStepwiseGLM = derive2 { name="AutoStepwiseGLM"; version="0.2.0"; sha256="0wwi8hg2q1zkf28rq7bj0f9fcxc5hj59hkmk0gl9p8i3rghlyrms"; depends=[caret formula_tools]; };
   Autoplotprotein = derive2 { name="Autoplotprotein"; version="1.1"; sha256="13mxqmhhdiq7mz4m6nx39dsq7x3bm8fsgskswx48vsq6x2k6byxa"; depends=[ade4 plotrix plyr seqinr XML]; };
   AutoregressionMDE = derive2 { name="AutoregressionMDE"; version="1.0"; sha256="1dmg0q4sp2d2anzhw2my8xjhpyjsx0kf7r202q5bkw8yr57jnhvr"; depends=[]; };
-  AzureAuth = derive2 { name="AzureAuth"; version="1.1.1"; sha256="0lamvfgdf1yc8p1v6q83i9j08s4h0657vzma0b0k7999xn60ffry"; depends=[httr jose jsonlite openssl R6 rappdirs]; };
-  AzureContainers = derive2 { name="AzureContainers"; version="1.1.0"; sha256="0c6xq47k4mggnc7id4xkzc4cznsg8b0aam6iymk587727a6rw1jw"; depends=[AzureAuth AzureGraph AzureRMR httr openssl R6]; };
-  AzureGraph = derive2 { name="AzureGraph"; version="1.0.3"; sha256="0klfdx89rqx69qkvkyf8xbvy4x2ximlb5yav6l2jmcfaw739vdyh"; depends=[AzureAuth httr jsonlite openssl R6]; };
-  AzureKeyVault = derive2 { name="AzureKeyVault"; version="1.0.1"; sha256="0vchsn7pcsbw6xq1v4qslaysaq1pwirsjmkv2w8skvhbjdxc84km"; depends=[AzureAuth AzureGraph AzureRMR httr jose jsonlite openssl R6]; };
-  AzureKusto = derive2 { name="AzureKusto"; version="1.0.2"; sha256="08vac33zh3nz3iwgp8npvzjzxz6g8n1r8pami35zj5a71g4mrw36"; depends=[AzureAuth AzureRMR DBI dplyr httr jsonlite openssl R6 rlang tibble tidyselect]; };
-  AzureRMR = derive2 { name="AzureRMR"; version="2.1.3"; sha256="0r801kn46s64i9a3gdpaciaai6wsz9sk9r4ira1x8wgm4w7m25q1"; depends=[AzureAuth httr jsonlite R6 uuid]; };
-  AzureStor = derive2 { name="AzureStor"; version="2.1.0"; sha256="098pldcvwh5yqfl9xxmdh9wbpisxbmazi9fppncvisj9i6pw2n8w"; depends=[AzureRMR httr mime openssl R6 xml2]; };
-  AzureVM = derive2 { name="AzureVM"; version="2.0.0"; sha256="195mwr4bf79ryisvi7rv3i70ajvdcdy0l2n5zij6bhxwzbkb63db"; depends=[AzureRMR jsonlite R6]; };
+  AzureAuth = derive2 { name="AzureAuth"; version="1.2.3"; sha256="0vi5888qvsmdwvzz46wabg2244liwfzyjd13h1d3wvbarzy7m8wf"; depends=[httr jose jsonlite openssl R6 rappdirs]; };
+  AzureCognitive = derive2 { name="AzureCognitive"; version="1.0.0"; sha256="1yg8fq77fbgf21dg9zq7kkgqyx6ax9ma46yv1nhnvdhc3dpvax5a"; depends=[AzureAuth AzureRMR httr jsonlite]; };
+  AzureContainers = derive2 { name="AzureContainers"; version="1.1.2"; sha256="0k93zwl090jnkqa255rd0bhkimdnq61iavrfn40122g6hzd52xqk"; depends=[AzureGraph AzureRMR httr openssl R6]; };
+  AzureGraph = derive2 { name="AzureGraph"; version="1.1.0"; sha256="0b7bfzvv0115giahs12b0h4qq4fdc5qf5kc8hmvjca6jlgysgvf4"; depends=[AzureAuth httr jsonlite openssl R6]; };
+  AzureKeyVault = derive2 { name="AzureKeyVault"; version="1.0.2"; sha256="1kc16dfmaq825sfyc6ka8rc26qh95a70ljq9sg7xvwm05qm9y10l"; depends=[AzureAuth AzureGraph AzureRMR httr jose jsonlite openssl R6]; };
+  AzureKusto = derive2 { name="AzureKusto"; version="1.0.4"; sha256="14gp9qif8p6h7dnw5isls2kvlf77bz3lwr15by2cpa0w5rvzamaj"; depends=[AzureAuth AzureRMR DBI dplyr httr jsonlite openssl R6 rlang tibble tidyselect]; };
+  AzureRMR = derive2 { name="AzureRMR"; version="2.3.0"; sha256="01yj145897v2017asy31rxmkzng7zv1r6avnp2c8vl707cd7afd5"; depends=[AzureAuth AzureGraph httr jsonlite R6 uuid]; };
+  AzureStor = derive2 { name="AzureStor"; version="3.0.0"; sha256="1lxcvgs0gb7ybnqf2ifz5bpc50nn8375g5h6i5jvx6g8ahzppi0d"; depends=[AzureRMR httr mime openssl R6 xml2]; };
+  AzureVM = derive2 { name="AzureVM"; version="2.1.0"; sha256="0vb295kcz7j53xhzgsril56b4l8d69jyvkni67bqk8cxxh4qvsgx"; depends=[AzureRMR jsonlite R6]; };
+  AzureVMmetadata = derive2 { name="AzureVMmetadata"; version="1.0.0"; sha256="0k99ncp9zkyxl0r51041rfgq49gb65f5d3yc89d1gg2aqavk3g2y"; depends=[httr openssl]; };
   B2Z = derive2 { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[coda mvtnorm numDeriv]; };
   BACA = derive2 { name="BACA"; version="1.3"; sha256="1vbip7wbzix1s2izbm4058wmwar7w5rv3q8bmj9pm7hcapfi19k0"; depends=[ggplot2 RDAVIDWebService rJava]; };
   BACCO = derive2 { name="BACCO"; version="2.0-9"; sha256="0i1dnk0g3miyv3b60rzgjjm60180wxzv6v2q477r71q74b0v0r1y"; depends=[approximator calibrator emulator]; };
   BACCT = derive2 { name="BACCT"; version="1.0"; sha256="0bpm4l27vbblzi2hhfbjw2af3ic2jbnyghkvchpq8ww43k8068iv"; depends=[ggplot2 reshape2 rjags]; };
   BACprior = derive2 { name="BACprior"; version="2.0"; sha256="1z9dvjq4lr99yp6c99bcv6n5jiiwfddfz4izcpfnnyvagfgizr8p"; depends=[boot leaps mvtnorm]; };
   BAEssd = derive2 { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
+  BAGofT = derive2 { name="BAGofT"; version="0.1.0"; sha256="1vhi92afvrrj7cvlzszh5ivzkd9bpw2c6rs1p8y0fyyj8k0gl8pa"; depends=[stringr]; };
   BALCONY = derive2 { name="BALCONY"; version="0.2.10"; sha256="1wfy0dmwfzd9jp6g92ld8jqzx97grgq4h6dy4y5063vfd9i4slwx"; depends=[Biostrings dplyr progress readr Rpdb scales seqinr]; };
   BALD = derive2 { name="BALD"; version="1.0.0-3"; sha256="1azyqami07g3ax60j0ws3d1qha65k0svn2v5c9pisni0qch5xql0"; depends=[lattice logspline rjags]; };
   BALLI = derive2 { name="BALLI"; version="0.2.0"; sha256="0qmjwpj56n07dvjwfknqvc02f0y5mlwh2yz4lrw7c4wqgrckcpgi"; depends=[edgeR limma MASS]; };
   BAMBI = derive2 { name="BAMBI"; version="2.1.0"; sha256="029yzjv6zj54g9g0g4c6aj89dilcasnjipsf2d95n1xkzpvssvyp"; depends=[bridgesampling coda future_apply gtools label_switching lattice loo mvtnorm qrng RColorBrewer Rcpp RcppArmadillo rootSolve scales]; };
   BAMMtools = derive2 { name="BAMMtools"; version="2.1.6"; sha256="01mb40w3g0xy93pl9064ky8kd46sa7qlz6by1r6kchcfhajx8plv"; depends=[ape gplots Rcpp]; };
-  BANEScarparkinglite = derive2 { name="BANEScarparkinglite"; version="0.1.2"; sha256="0yxsgk4p7i8arjkchsiml6lx97inpmaihb61787vcl8kxyx7v6wr"; depends=[dplyr httr lubridate RCurl readr rvest XML xml2 zoo]; };
-  BANOVA = derive2 { name="BANOVA"; version="1.1.3"; sha256="11f5s1paskq5z3hwy6gs8irgignjfmjr9qz3kxnir1ahxvrxs7ma"; depends=[coda rjags rstan runjags]; };
-  BART = derive2 { name="BART"; version="2.5"; sha256="0ljlzk114r0r57mc4jy2ivx3fk953v1c70gmcq63z5j2z9dd7cak"; depends=[nlme nnet Rcpp survival]; };
+  BANEScarparkinglite = derive2 { name="BANEScarparkinglite"; version="0.1.3"; sha256="0z2n4ikj9cr2vcafpn0kmn5v24pdy7cd98asdy7njg5l54hajsxc"; depends=[dplyr httr lubridate RCurl readr rvest XML xml2]; };
+  BANOVA = derive2 { name="BANOVA"; version="1.1.4"; sha256="10mapmichzmm99swp0hdbrr147cj9wr6mxpv5vyq5f0zh39mz43p"; depends=[coda rjags rstan runjags]; };
+  BART = derive2 { name="BART"; version="2.6"; sha256="1zghz9jpqcfhax39his97dwylx4l4yzjch49a6ibgkx10llb3dbr"; depends=[nlme nnet Rcpp survival]; };
   BAS = derive2 { name="BAS"; version="1.5.3"; sha256="0xf8wd42mlk6dkkiwzf9lyb5fvqmpjsqyzay146d6p2y1zk65lc0"; depends=[]; };
   BASIX = derive2 { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
   BASS = derive2 { name="BASS"; version="0.2.2"; sha256="1q3sihp2iv1ikggzgd2k3vh2myz8bz31rzlaavw0n84d0h1zjxy2"; depends=[]; };
@@ -230,7 +239,7 @@ in with self; {
   BAYESDEF = derive2 { name="BAYESDEF"; version="0.1.0"; sha256="030xskgqqg0n85mphjv32ks4ysvxb36f6ayy0176gps14jhmhcp7"; depends=[glmnet gWidgets readxl REdaS]; };
   BAYSTAR = derive2 { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[coda mvtnorm]; };
   BAwiR = derive2 { name="BAwiR"; version="1.2"; sha256="0j4vrngfddil4wyaskc0cgqhk496hq7wkrj85hxh76kn85gmfmiv"; depends=[Anthropometry dplyr ggplot2 ggthemes hrbrthemes httr lubridate magrittr plyr purrr reshape2 rvest rworldmap scales stringi stringr tidyr xml2]; };
-  BB = derive2 { name="BB"; version="2014.10-1"; sha256="1lig3vxhyxy8cnic5bczms8pajmdvwr2ijad1rkdndpglving7x0"; depends=[quadprog]; };
+  BB = derive2 { name="BB"; version="2019.10-1"; sha256="0kf9sfsm3n036a8a8gjfpc9qdryvadb019kqjh80n1szdv7bdl04"; depends=[quadprog]; };
   BBEST = derive2 { name="BBEST"; version="0.1-6"; sha256="1hvgi3679ixpq0c5qbxhkp1j0953k3lklglgxrq9mz2ry6z9n038"; depends=[DEoptim ggplot2 reshape2 shiny wmtsa]; };
   BBI = derive2 { name="BBI"; version="0.3.0"; sha256="167sndfp3776p8n9zdpihc9xhqqi8wygzpl49dzkfj53gwa77rnn"; depends=[vegan]; };
   BBMM = derive2 { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; };
@@ -242,17 +251,17 @@ in with self; {
   BCC1997 = derive2 { name="BCC1997"; version="0.1.1"; sha256="1lqbivjkc7858jn54av1v9bzp0as43klgndbzkr59dc3l128xp12"; depends=[]; };
   BCDating = derive2 { name="BCDating"; version="0.9.8"; sha256="1px9fimg3fqx8bfkzq6rl34xclc9gcjxqjvj5islpdy4f1ifwph3"; depends=[]; };
   BCE = derive2 { name="BCE"; version="2.1"; sha256="0dqp08pbq7r88yhvlwgzzk9dcdln7awlliy5mfq18j5jhiy7axiz"; depends=[FME limSolve Matrix]; };
-  BCEA = derive2 { name="BCEA"; version="2.2-6"; sha256="1h1hgr0w6sidxfm58x6xz3i66prk5cxw6ldgfznr28pvrbgi5wsi"; depends=[MASS]; };
+  BCEA = derive2 { name="BCEA"; version="2.3-1.1"; sha256="0ppjcbcapmg6j5gdalw1j86w50xwaanvhld9zpzp5fvj8b7f016b"; depends=[dplyr MASS rlang]; };
   BCEE = derive2 { name="BCEE"; version="1.2"; sha256="08jsnsy7l182n0gy2jy0l9a7grr62g57gz3217fzapk2im2q648b"; depends=[BMA leaps Rcpp RcppArmadillo]; };
   BCRA = derive2 { name="BCRA"; version="2.1"; sha256="0n1f2qcwca7lb90qmim5dc3wj3hf5b31nh0xiw64k1cv8lhqc0mz"; depends=[]; };
   BCSub = derive2 { name="BCSub"; version="0.5"; sha256="0c8dlxsx23qfyygmajg2amj78ax01kb3808d9hvy7g3hkgp2i2fp"; depends=[MASS mcclust nFactors Rcpp RcppArmadillo]; };
   BCellMA = derive2 { name="BCellMA"; version="0.3.4"; sha256="1njprs7ksv0w18ffs0agz0290aa2akw48225iaa3bjhbl08dpidl"; depends=[ggplot2 reshape2]; };
   BCgee = derive2 { name="BCgee"; version="0.1"; sha256="0ad0dj2ymgvkmcmq3jlpmn0pgigdql0xgvcwsbpdydv33a6snr04"; depends=[]; };
   BClustLonG = derive2 { name="BClustLonG"; version="0.1.2"; sha256="0w35pwv3y00pmi4qjnzii3q44k7lk13x0cmh1zq3cl42gpi31p7f"; depends=[lme4 MASS mcclust Rcpp RcppArmadillo]; };
-  BDEsize = derive2 { name="BDEsize"; version="1.1"; sha256="0bxfl2hgqwxz97qn21j2gm3lc30h64h41ij6w89rdlad4hkz7vxp"; depends=[fpow ggplot2 shiny shinyalert]; };
+  BDEsize = derive2 { name="BDEsize"; version="1.2"; sha256="1b2lms4nmn6gfjmnjq1vq1g3s1ikv7pl4xpbsxfrph14g6awidax"; depends=[fpow ggplot2 shiny shinyalert]; };
   BDP2 = derive2 { name="BDP2"; version="0.1.3"; sha256="14m85sigx6hk0qzhfgih43m2lxp9xczmp9g3z4pping6msbnbdrz"; depends=[rmarkdown shiny shinyBS]; };
   BDWreg = derive2 { name="BDWreg"; version="1.2.0"; sha256="07j6dy69q1as1nwgp2790wzpzmjich2256cddhl7n3h2rs1dja74"; depends=[coda doParallel DWreg foreach MASS]; };
-  BDgraph = derive2 { name="BDgraph"; version="2.59"; sha256="018vlfh81a8rahdsgcnh9vlhxp8xcfsa2wg943d19jzfgwg6rk7p"; depends=[igraph]; };
+  BDgraph = derive2 { name="BDgraph"; version="2.61"; sha256="0xq9zygxs7jli9cw4rsl9ajs6nnl5adfilb47cjdk263909fla5j"; depends=[igraph]; };
   BE = derive2 { name="BE"; version="0.1.1"; sha256="1ldzj1fvbgmnp0cn7g348md2xskm2q5b7y6l1sm3pa2am8jc7ixa"; depends=[rtf]; };
   BEACH = derive2 { name="BEACH"; version="1.3.1"; sha256="0biq6c74k8vb8ykafzf3blyi08rp65x1vaw3bfpwdc1ihc9wrgjr"; depends=[devtools DT haven plyr rJava rtf sas7bdat shiny WriteXLS xtable]; };
   BEDASSLE = derive2 { name="BEDASSLE"; version="1.5"; sha256="1bz3lr0waly9vj9adwhmgs3lq7zjdkcbvm3y9rnn72qlrwmv5fbn"; depends=[emdbook MASS matrixcalc]; };
@@ -260,21 +269,25 @@ in with self; {
   BENMMI = derive2 { name="BENMMI"; version="4.3-6"; sha256="07jmf4icij8yb83bf7x0vsaf60gcvdzaijjckv5400xjykpm7scm"; depends=[benthos dplyr ggplot2 jsonlite knitr markdown purrr readr tidyr xtable]; };
   BEQI2 = derive2 { name="BEQI2"; version="2.0-0"; sha256="19q29kkwww5hziffkm2yx7n4cpfcsyh0z4mljdcnjkwfp732sjig"; depends=[jsonlite knitr markdown plyr reshape2 xtable]; };
   BEST = derive2 { name="BEST"; version="0.5.1"; sha256="0yx3bkaaly0lriyd5xr7aay4c381a5iwanfixz9v37cmvs64rs4s"; depends=[coda HDInterval rjags]; };
+  BESTree = derive2 { name="BESTree"; version="0.5.2"; sha256="0yij6xdlvhbqifckaylgbhszwwp38d9x6vbpr1nl40mwwnv4bswz"; depends=[plyr]; };
   BETS = derive2 { name="BETS"; version="0.4.9"; sha256="0daixk7mqmk2jq35i7mjaslz11gxbnnjgwxfvj8x1s88vz9l74sm"; depends=[DBI digest dplyr DT dygraphs forecast foreign ggplot2 grnn htmltools httr lubridate miniUI plotly rjson rmarkdown RMySQL rstudioapi rvest seasonal shiny sqldf stringr urca webshot xml2 zoo]; };
+  BFS = derive2 { name="BFS"; version="0.2.2"; sha256="0if4p0y1yv95c8i0w4gvanzclq0j4pwzscyiq29bfkhcn4izqrmg"; depends=[janitor magrittr progress purrr pxR rvest tibble xml2]; };
+  BFpack = derive2 { name="BFpack"; version="0.1.0"; sha256="1sqgn24k5sp928hpqyv0k5bjaz3yc5d7wsl3bkkxixm73w5p7g4j"; depends=[bain lme4 MASS Matrix MCMCpack mvtnorm pracma]; };
   BGData = derive2 { name="BGData"; version="2.1.0"; sha256="168lvmcfj9ch2dfp8haykgz8cwmrp1yqn01hbyssqfgpc42lrgf3"; depends=[BEDMatrix bigmemory bit crochet ff LinkedMatrix symDMatrix synchronicity]; };
   BGGE = derive2 { name="BGGE"; version="0.6.5"; sha256="1h76c40y45xhf2vp9g0q5j9lfwh16q9axbk5c9aqn4md008xr1j2"; depends=[]; };
   BGLR = derive2 { name="BGLR"; version="1.0.8"; sha256="15cv5k44yj5cws9jjd70hvrkm8gzn5x4hfx408n2fbqbv289b5jy"; depends=[truncnorm]; };
   BGPhazard = derive2 { name="BGPhazard"; version="1.2.3"; sha256="1yp92y5y3xh0hb1ring6jrma8g4q6210hm9572j8ji1jkafzxjw1"; depends=[survival]; };
   BGSIMD = derive2 { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
   BH = derive2 { name="BH"; version="1.69.0-1"; sha256="18mckfwxxv8m8rzaz03mg2h6vhaj7y131h6yasfg0s73nxj47zd0"; depends=[]; };
+  BHAI = derive2 { name="BHAI"; version="0.99.2"; sha256="1hawa55mk590is8ziav7fdszsa3a42bqb0znzqsazz5lkg4daaa7"; depends=[MCMCpack plotrix prevtoinc]; };
   BHH2 = derive2 { name="BHH2"; version="2016.05.31"; sha256="1m4fcx979nbm97hi89vbjjix0sx6qhdzs486risck9bi7yzih5k4"; depends=[]; };
   BHMSMAfMRI = derive2 { name="BHMSMAfMRI"; version="1.3"; sha256="1cha6bw0zvv30y2hjl1a4d04g1r80dfa7r7zi63q5jjnnbklbswg"; depends=[oro_nifti wavethresh]; };
-  BHSBVAR = derive2 { name="BHSBVAR"; version="1.0.4"; sha256="19sqcfg6w6cnk35bxdc0wzizh0slhl684yhjh7zyg1k92dvprfr6"; depends=[Rcpp RcppArmadillo]; };
+  BHSBVAR = derive2 { name="BHSBVAR"; version="2.0.0"; sha256="1dgbwzl79ibg8fkin8h2q52jas9mzwn049jjjrsdf2p59mf2g4sn"; depends=[Rcpp RcppArmadillo]; };
   BHTSpack = derive2 { name="BHTSpack"; version="0.5"; sha256="1sz99sgxhiajxca5bx2ns9g9qs9ymsvh8i5882nlp7c78qxmqc4g"; depends=[R2HTML xtable]; };
   BICORN = derive2 { name="BICORN"; version="0.1.0"; sha256="0mqk8vgp6jdk7f0paa06yqlibkd1y3vs69pg7i9mkvxmda7p4nkq"; depends=[]; };
   BIEN = derive2 { name="BIEN"; version="1.2.3"; sha256="0p23kahba55gkk6wx10ii6vrni3b7ia2a4jb64ww4kwp86bknx3d"; depends=[ape DBI rgdal rgeos RPostgreSQL sp]; };
   BIFIEsurvey = derive2 { name="BIFIEsurvey"; version="3.3-12"; sha256="1kphczvj3rxyjvi93cx2j714scvmmpqv5wrg5pdyy8l891jxsr89"; depends=[miceadds Rcpp RcppArmadillo]; };
-  BIGDAWG = derive2 { name="BIGDAWG"; version="2.1"; sha256="0zvy5sl94qi20gdrnxb2lmadfy7p0wqfngjsf6jc2cgwyzk4gnrj"; depends=[haplo_stats httr knitr rmarkdown XML]; };
+  BIGDAWG = derive2 { name="BIGDAWG"; version="2.3"; sha256="1lnw31dl161siml6vcp74c30g0rld962ry3am9ljxmd9mw83shnz"; depends=[haplo_stats httr knitr XML]; };
   BIGL = derive2 { name="BIGL"; version="1.4.1"; sha256="1n9b5wyzh9nihhrxagdisv06g925aw5ihrszd8iplp8ffvjr5mns"; depends=[ggplot2 MASS minpack_lm numDeriv progress rgl robustbase scales]; };
   BINCOR = derive2 { name="BINCOR"; version="0.2.0"; sha256="0x2s82jql429shk70bhjdy9kamz8dz5ymsxj6kp8ga1711bpwyq6"; depends=[pracma]; };
   BIOM_utils = derive2 { name="BIOM.utils"; version="0.9"; sha256="0xckhdvf15a62awfk9rjyqbi6rm7p4awxz7vg2m7bqiqzdll80p7"; depends=[]; };
@@ -285,35 +298,36 @@ in with self; {
   BLCOP = derive2 { name="BLCOP"; version="0.3.1"; sha256="1qfkljw5b1k4b5jd08hw6dsmvgr7vg3kjyib5s13q0mkxvclasym"; depends=[fBasics fMultivar fPortfolio MASS quadprog RUnit timeSeries]; };
   BLModel = derive2 { name="BLModel"; version="1.0.2"; sha256="0l5f2v5ggadmrci3qhhmxm3j9i6jii0anq5rv5vk50y2qzii2q15"; depends=[]; };
   BLOQ = derive2 { name="BLOQ"; version="0.1-0"; sha256="1ag0dy3cjdxhlspmzfdnpli030g6gwac50n5s30igcyrmw6kl4hf"; depends=[maxLik mvnmle mvtnorm]; };
-  BLPestimatoR = derive2 { name="BLPestimatoR"; version="0.2.9"; sha256="0h578s6zk9pjbb9syzb7649ygwb8a81fdj8krxgcqdknxy0mbi3v"; depends=[Formula mvQuad numDeriv randtoolbox Rcpp RcppArmadillo]; };
+  BLPestimatoR = derive2 { name="BLPestimatoR"; version="0.3.0"; sha256="0q01v5xz45adn4zsdfh9s4c8g6rkbllh2y3lga6wgfn0wnhp6nzn"; depends=[Formula Matrix mvQuad numDeriv randtoolbox Rcpp RcppArmadillo]; };
   BLR = derive2 { name="BLR"; version="1.5"; sha256="1aj4qs0zjca2ifx3y4a0s6c59lbsgracili2an5nr2rxnsl10aw6"; depends=[SuppDists]; };
   BLRPM = derive2 { name="BLRPM"; version="1.0"; sha256="15q0jkw4swz35c58nv23k8g1dy1kkbqh5aydjck7pd0fmppqrhpx"; depends=[R6]; };
   BLRShiny = derive2 { name="BLRShiny"; version="0.1.0"; sha256="0z3gr0bvjs7y0jkygh7h9habnk2807cwziajpgfmb7dxdrhccj68"; depends=[caret dplyr e1071 ggplot2 rhandsontable rmarkdown shiny]; };
   BLSM = derive2 { name="BLSM"; version="0.1.0"; sha256="02xidwp91rh34rcqd0q552wzm2j80axs1nnwwv2aj04g96lf7myj"; depends=[Rcpp RcppEigen]; };
-  BMA = derive2 { name="BMA"; version="3.18.9"; sha256="1lwgjswjiiyzxjpbpr61lcppgkz2d6m3vhgz7qpg33jg2mvdkvjy"; depends=[inline leaps robustbase rrcov survival]; };
+  BMA = derive2 { name="BMA"; version="3.18.11"; sha256="13b9agsra9lv00dkmx57zbf6n7xixxlihk7svxaafk8snbyyhk5z"; depends=[inline leaps robustbase rrcov survival]; };
   BMAmevt = derive2 { name="BMAmevt"; version="1.0.3"; sha256="0p1y4yc502r4wjc1vkpa4q9d3xzxnyvp13y910vq5z5nqixjdfsp"; depends=[coda]; };
   BMRBr = derive2 { name="BMRBr"; version="0.2.0"; sha256="0v2ysap5jfkq9fc5blqlfhsv2bs8rqybmp5z4q3g6y3y7qzhypjw"; depends=[rvest xml2]; };
+  BMRSr = derive2 { name="BMRSr"; version="1.0.0"; sha256="0xdzzwmn2ibzgy68djsf7jxayfwd2yr1qsa0dcg9zl4rhl6b8nrl"; depends=[httr readr stringr tibble xml2]; };
   BMRV = derive2 { name="BMRV"; version="1.32"; sha256="1j1cwjk3l7f06nqdwrqdyhzm43bb8hj5wgdd14zc1grxyfc9ya95"; depends=[BH]; };
   BMS = derive2 { name="BMS"; version="0.3.4"; sha256="0z3mk1xd1fphf80kdbashkn04jwsr2bghms4d7nav3pw73q41wql"; depends=[]; };
   BMT = derive2 { name="BMT"; version="0.1.0.3"; sha256="1vdah5bsn41s2qriq15xi7dw9qzngaacmn5gk6yc7hi89dwyy3yj"; depends=[fitdistrplus partitions]; };
-  BMTME = derive2 { name="BMTME"; version="1.0.6"; sha256="1x15h3l459g4k7i97yry2wlb4arw35mkv7jiad6d23jifz5l6485"; depends=[BGLR doSNOW dplyr foreach matrixcalc mvtnorm progress Rcpp RcppArmadillo snow tidyr]; };
+  BMTME = derive2 { name="BMTME"; version="1.0.12"; sha256="0v1f1c2nk7f51c017jscyzkx7y21b3lmxp46xgs8hqcfjfw9b65m"; depends=[BGLR doSNOW dplyr foreach matrixcalc mvtnorm progress Rcpp RcppArmadillo snow tidyr]; };
   BMhyb = derive2 { name="BMhyb"; version="2.1.5"; sha256="0yyvrn5akj132zkxlg5kicj12d7agzmi84jird4aj7hvi88l5wwv"; depends=[ape corpcor cowplot DEoptim geiger ggplot2 igraph lhs MASS Matrix metR mvtnorm numDeriv phytools plyr TreeSim viridis]; };
   BMhyd = derive2 { name="BMhyd"; version="1.2-8"; sha256="14pv5f621zq5x9i408zjm8k80hcsabkjpdf86gk3ylgw5yqcivrx"; depends=[ape corpcor geiger mvtnorm numDeriv phylobase phytools TreeSim]; };
   BMisc = derive2 { name="BMisc"; version="1.3.1"; sha256="0wh17bf1ii6zan09n59cf9257nb60nh08ig01id9k0bvm9f14ay6"; depends=[formula_tools plm]; };
   BNDataGenerator = derive2 { name="BNDataGenerator"; version="1.0"; sha256="17zi83jhpn9ygavkpr9haffvd4622sca18jzzxxxmfq0ilrj201g"; depends=[]; };
   BNN = derive2 { name="BNN"; version="1.0.2"; sha256="13h9xqfdqnc9d8brx1xlmvb4nrkpwncwjz98y7i3wijih85wkikd"; depends=[mvtnorm]; };
   BNPMIXcluster = derive2 { name="BNPMIXcluster"; version="1.2.4"; sha256="06s0cs3anbby93n7pjcin9195agfzfq9im6f9k7ih3cbg8mzfaqy"; depends=[gplots MASS matrixcalc mvtnorm plyr Rcpp RcppArmadillo truncnorm]; };
-  BNPTSclust = derive2 { name="BNPTSclust"; version="1.1"; sha256="1zmxwg6zn3nqqm1sw2n4pvq47mv7ygb4lf1c6yhn3xaf1rqmf26s"; depends=[MASS mvtnorm]; };
-  BNPdensity = derive2 { name="BNPdensity"; version="2019.7.9"; sha256="1r6cisb4ygk8jxdlc2kma7f61rviad5782di8r3ksp5nal6gb31f"; depends=[coda dplyr ggplot2 gridExtra survival tidyr viridis]; };
-  BNPmix = derive2 { name="BNPmix"; version="0.2.2"; sha256="0q4kn4ryn9m9vcxjsnbp2rcd9cn3na09nci79g30lscgwfci7w0a"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  BNPTSclust = derive2 { name="BNPTSclust"; version="2.0"; sha256="1ymvklv6d9684xzwdkvaxdjd1q20xmsf6kkfibn2wphlaqs2rh2n"; depends=[MASS mvtnorm]; };
+  BNPdensity = derive2 { name="BNPdensity"; version="2019.9.18"; sha256="1s4mifmlvh0b0w4ckllg49z2jwfzy5d2x7lak38r92yg75nabng6"; depends=[coda dplyr ggplot2 gridExtra survival tidyr viridis]; };
+  BNPmix = derive2 { name="BNPmix"; version="0.2.3"; sha256="1vrblwcrhmkgcgpdlb42lfysgpznaxljiaz6jn2jq7qnsiyqnrmy"; depends=[coda ggplot2 Rcpp RcppArmadillo]; };
   BNSL = derive2 { name="BNSL"; version="0.1.4"; sha256="0nrlx55364kgvkdpyaimgjxwnzmmdl1gmvyv3wkm8n2jyki92xxp"; depends=[bnlearn igraph Rcpp]; };
-  BNSP = derive2 { name="BNSP"; version="2.1.0"; sha256="01nfzyzd1s55rhc1mghlcqgq6cnp8g44acyfb89vd0w9mdwgj8r0"; depends=[coda corrplot cubature Formula ggplot2 gridExtra mgcv plot3D plyr threejs]; };
+  BNSP = derive2 { name="BNSP"; version="2.1.1"; sha256="0bwh7kkga2jh5y79h4dwpxlbxmy2cq4jjy6djikwa8ghhck69c4p"; depends=[coda corrplot cubature Formula ggplot2 gridExtra mgcv plot3D plyr threejs]; };
   BOG = derive2 { name="BOG"; version="2.0"; sha256="0lz5af813b67hfl4hzcydn58sjhgn5706n2h44g488bks928k940"; depends=[DIME hash]; };
   BOIN = derive2 { name="BOIN"; version="2.6.4"; sha256="0p1205pxa5a9sbw88fm8lbvzgzyq3mf62lsp0l2c0sfsvcfpydkg"; depends=[Iso]; };
   BPEC = derive2 { name="BPEC"; version="1.3.0"; sha256="0chdp7g75a6hajq7h1lbl0zima22myah9a66m06zga274plakdq2"; depends=[ape coda fields ggmap ggplot2 igraph maptools mvtnorm OpenStreetMap phytools sp]; };
   BPM = derive2 { name="BPM"; version="1.0.0"; sha256="17k2d1xjfz85ygx0xnh6yqca9nyypd32d7sbna3k33ynsjqay3x8"; depends=[limma]; };
   BRETIGEA = derive2 { name="BRETIGEA"; version="1.0.0"; sha256="176z7ajyfcfljv36d2sa15cvw047rsir3gn0l4lxmcyliw93r4lv"; depends=[]; };
-  BRISC = derive2 { name="BRISC"; version="0.1.0"; sha256="0fkh7wv9lf7fckh5xn4xygh6k792j8j6ax7kwqw7m4qqvl7gds44"; depends=[matrixStats pbapply RANN rdist]; };
+  BRISC = derive2 { name="BRISC"; version="0.2.0"; sha256="0dnkf4ld1blbadmxvgd0k021ihszrf2x19qypvv8jvgfrgcr8ax7"; depends=[matrixStats pbapply RANN rdist]; };
   BRugs = derive2 { name="BRugs"; version="0.9-0"; sha256="0f0v30mvfw97vfwzkjpqzf2894b2yhksja0xhpranprk135srxp0"; depends=[coda]; };
   BSDA = derive2 { name="BSDA"; version="1.2.0"; sha256="0gs33yyca45jd4f5k5f7qid4ayw2rnl2wl7a6m7vf39dfx7ympm2"; depends=[e1071 lattice]; };
   BSGS = derive2 { name="BSGS"; version="2.0"; sha256="08m8g4zbsp55msqbic4f17lcry07mdn0f5a61zdcy2msn2ihzzf9"; depends=[batchmeans MASS plyr pscl]; };
@@ -330,7 +344,7 @@ in with self; {
   BTYDplus = derive2 { name="BTYDplus"; version="1.0.1"; sha256="0x8as4zskpbsvhh8gnvzgp833dkv01cs5fqfva9qri296343kppv"; depends=[bayesm BTYD coda data_table mvtnorm Rcpp]; };
   BTdecayLasso = derive2 { name="BTdecayLasso"; version="0.1.0"; sha256="0x1s2zvv3vnapk5wp8582zwflsqvgc8khkvl5ch9i70v739jxp15"; depends=[ggplot2 optimr]; };
   BUCSS = derive2 { name="BUCSS"; version="1.1.0"; sha256="1agx6yd29zq6gvwgnd0qahjnk5z7gdbijbg7rk85d5x6pihwmh9q"; depends=[]; };
-  BVAR = derive2 { name="BVAR"; version="0.1.5"; sha256="0vq1a4a5l444asbbr5f9ha6s3py9n24dria1a7yk3wfh302fj15s"; depends=[MASS]; };
+  BVAR = derive2 { name="BVAR"; version="0.2.1"; sha256="0ql8ivnfkjy4sh376lxpm5bvy54h20zhhgwz8qrkl2x24lxsmwm0"; depends=[mvtnorm]; };
   BVS = derive2 { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[haplo_stats MASS msm]; };
   BVSNLP = derive2 { name="BVSNLP"; version="1.1.8"; sha256="0qlmvi189ky6h0a3jyvyil488asx3v6x52mvca7s93dvarxr6rw1"; depends=[doParallel foreach Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
   BWStest = derive2 { name="BWStest"; version="0.2.2"; sha256="02amzlfprmw5pyis0dg0kg0x8xqh50a4vfdcxxmklrzik3b1vzzs"; depends=[memoise Rcpp]; };
@@ -344,13 +358,13 @@ in with self; {
   BalanceCheck = derive2 { name="BalanceCheck"; version="0.2"; sha256="0aal641vfbjk3w6ipwbqqmm9nnxs962hjmpph9wnqaqk5r6s7brs"; depends=[ade4 mvtnorm]; };
   BalancedSampling = derive2 { name="BalancedSampling"; version="1.5.5"; sha256="01ayvjfs83dbnk0m9xb7y9rnxxpfpb6w4qjdffd6hdhcn2s5f73d"; depends=[Rcpp SamplingBigData]; };
   Ball = derive2 { name="Ball"; version="1.3.8"; sha256="0zzi4xmarha30n5c2k452vr4dli1nc1rpx79pwfaj5h0rn1q01yy"; depends=[gam mvtnorm survival]; };
-  BallMapper = derive2 { name="BallMapper"; version="0.1.0"; sha256="1v0n4nyxhz3i7jkyrg3zgznz4z0rim68pv60dvn8197q81z0bk7g"; depends=[fields igraph networkD3 scales testthat]; };
+  BallMapper = derive2 { name="BallMapper"; version="0.2.0"; sha256="1hf94d41cks8mbrb985mpd0nqgirvm096cfv7bsy0182bbxlk6s1"; depends=[fields igraph networkD3 scales stringr testthat]; };
   BarBorGradient = derive2 { name="BarBorGradient"; version="1.0.5"; sha256="0g2g7hrm23as1xbj79g48r8sj3gsj66fmi895jqlqfbqrl2fl7a5"; depends=[]; };
   BarcodingR = derive2 { name="BarcodingR"; version="1.0-2"; sha256="1mn5rdax8v1s2z3apk9z0kzy4hw19m8ql6j91l6wd29g2n2bjqxx"; depends=[ape class nnet sp]; };
   Barnard = derive2 { name="Barnard"; version="1.8"; sha256="1ki58hjs5kpmp76kwj1qi6hwmdvjphqb1lvrlhnmkgqxg4hw4vqg"; depends=[]; };
   Barycenter = derive2 { name="Barycenter"; version="1.3.1"; sha256="0yhc0wwjqms569gnm8z2l9hgcbw8lyy437ynkij47pa4c1a1qvjy"; depends=[Rcpp RcppArmadillo]; };
   BatchExperiments = derive2 { name="BatchExperiments"; version="1.4.2"; sha256="0zvcpgzhbna6p37jlf57j7mzrvh5xs5w17janmv9v4210cpbzi1q"; depends=[backports BatchJobs BBmisc checkmate data_table DBI RSQLite]; };
-  BatchGetSymbols = derive2 { name="BatchGetSymbols"; version="2.5.2"; sha256="1m3i70vbyia1i04zn2f9wjlmba09rn4389r7kjy6ihbgbba8fg18"; depends=[curl dplyr furrr future lubridate purrr quantmod rvest scales stringr tibble tidyr XML]; };
+  BatchGetSymbols = derive2 { name="BatchGetSymbols"; version="2.5.4"; sha256="0a8p9k232ab36xjr5a8rkk19zf8cx8q1pvx54z0xg1dncn28lxwa"; depends=[curl dplyr furrr future lubridate purrr quantmod rvest scales stringr tibble tidyr XML zoo]; };
   BatchJobs = derive2 { name="BatchJobs"; version="1.8"; sha256="1zz4sspj596pijxlz321g0jy2rg9ki83j6fihbwisjwr66p2vk1m"; depends=[backports BBmisc brew checkmate data_table DBI digest RSQLite sendmailR stringi]; };
   BatchMap = derive2 { name="BatchMap"; version="1.0.2.0"; sha256="0v3k4xrmsbyhzgmph8xna11dgpp10yxqmss95asrj6n814jxj19b"; depends=[ggplot2 Rcpp RcppArmadillo reshape2]; };
   BayHap = derive2 { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
@@ -358,27 +372,31 @@ in with self; {
   BayLum = derive2 { name="BayLum"; version="0.1.3"; sha256="0hina84s8ax01zpnji4jqqkdap0phvxr78s4rnab0407xrydbf0w"; depends=[ArchaeoPhases coda hexbin KernSmooth Luminescence rjags]; };
   BaySIC = derive2 { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[fields poibin rjags]; };
   BayesBD = derive2 { name="BayesBD"; version="1.2"; sha256="10ik2lndqgmy6pvdm6cx4fsxgjb2fgi6hlz5ic35ab7fkpi90ka5"; depends=[jpeg mritc png Rcpp RcppArmadillo shiny]; };
+  BayesBEKK = derive2 { name="BayesBEKK"; version="0.1.0"; sha256="0fykcmf54820krwy7q573gmlcrx96i94knx7rgzc83i287lnpnfg"; depends=[coda MTS mvtnorm]; };
+  BayesBP = derive2 { name="BayesBP"; version="1.0"; sha256="1gmjljkp4pvm87qf6rq2kixqdx64sfg34b1xxdl242a3cckmjc5y"; depends=[iterators openxlsx]; };
   BayesBinMix = derive2 { name="BayesBinMix"; version="1.4.1"; sha256="1b18qg0mjbmrilwqffrq33gw04fzask2xgj1bp4cli51cjf2slf7"; depends=[coda doParallel foreach label_switching]; };
   BayesCR = derive2 { name="BayesCR"; version="2.1"; sha256="1qav7l64iqqdvr1v6c7hlzvbx7zbvsa55pyisvkq5rsayy1rdsl1"; depends=[mnormt mvtnorm rootSolve truncdist]; };
   BayesCTDesign = derive2 { name="BayesCTDesign"; version="0.6.0"; sha256="1ym2v5ynmb28miwivyjx604vfsfi5ksmaha0far0ddq2cl06if2q"; depends=[eha ggplot2 reshape2 survival]; };
   BayesCombo = derive2 { name="BayesCombo"; version="1.0"; sha256="01rzjja0xzvqyjivl8a9da13v13ylm4dwv4f27cmgz2znakfg5y8"; depends=[]; };
   BayesComm = derive2 { name="BayesComm"; version="0.1-2"; sha256="1rrbvwcfm93cw0m33g0zn6nyshfjc97kb3fby9cga0zaixc0a8rk"; depends=[abind coda mvtnorm Rcpp RcppArmadillo]; };
   BayesDA = derive2 { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
-  BayesESS = derive2 { name="BayesESS"; version="0.1.12"; sha256="18dhswny8idj2wqpa66amz1yqk8yhk1vwazj4p70pk8jnpg8cdfy"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
+  BayesESS = derive2 { name="BayesESS"; version="0.1.19"; sha256="023r5pxqa2ll3vyfmchdlcg6ay0qixphz24078g1immqp43mlrxm"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
   BayesFM = derive2 { name="BayesFM"; version="0.1.2"; sha256="0fiw2x29cpv3prywsbvs1m8a588s2wpi3bwzzjisi2rafbl619xd"; depends=[checkmate coda ggplot2 gridExtra plyr]; };
   BayesFactor = derive2 { name="BayesFactor"; version="0.9.12-4.2"; sha256="1z083v7is21gm0a458jm5ph3xfdm7mh29a6sg2r1njq82f8x3s3g"; depends=[coda gtools hypergeo Matrix MatrixModels mvtnorm pbapply Rcpp RcppEigen stringr]; };
   BayesGESM = derive2 { name="BayesGESM"; version="1.4"; sha256="0qw2byb48f67461m1k8a1rqh6a0c3zq1rc4ni9xzxv8dih4wkq0f"; depends=[Formula GIGrvg normalp]; };
   BayesGOF = derive2 { name="BayesGOF"; version="5.2"; sha256="17wm0228xq3db431abyi9jr0q1q86nnajsn7hmy4dwzgvrlz5s0i"; depends=[Bolstad2 nleqslv orthopolynom VGAM]; };
-  BayesH = derive2 { name="BayesH"; version="1.0"; sha256="0mjd1i3rkhyq3qcalq0ing0ap0igbhyvczaihl4pcfidgs70bci3"; depends=[]; };
   BayesLCA = derive2 { name="BayesLCA"; version="1.7"; sha256="0lsqgjqal9092v1wr07p8g5cqm24k2d80sp7hlr7r1xknakmm1b6"; depends=[coda e1071 fields MCMCpack nlme]; };
+  BayesLogit = derive2 { name="BayesLogit"; version="2.1"; sha256="0w3bzk39sxdskwikcz5i0xwfsll4sqgkpr8vw8jvzlcy6dl3yhis"; depends=[]; };
   BayesMAMS = derive2 { name="BayesMAMS"; version="0.1"; sha256="1qq3j9nm0k58gpyfavz77v1dwghy8pmpk0v52cj7l8sb3a3aiinm"; depends=[mvtnorm]; };
-  BayesMallows = derive2 { name="BayesMallows"; version="0.4.0"; sha256="0kxy0ciz0vlnpf8q9p6zphxwzjd76vlj523i048lngfk60kphmxd"; depends=[cowplot dplyr ggplot2 HDInterval igraph PerMallows purrr Rcpp RcppArmadillo Rdpack relations rlang sets tidyr]; };
+  BayesMallows = derive2 { name="BayesMallows"; version="0.4.1"; sha256="0q89al122393nym9i71gz5mh10d304fcnbw2naxwzmj744g3lpm2"; depends=[cowplot dplyr ggplot2 HDInterval igraph PerMallows purrr Rcpp RcppArmadillo Rdpack relations rlang sets tidyr]; };
   BayesMed = derive2 { name="BayesMed"; version="1.0.1"; sha256="1ysc7sh0drqxbisi2dz6gj4jlw6qsd879bbhr5pra7nxgmk4h650"; depends=[MCMCpack polspline QRM R2jags]; };
   BayesMixSurv = derive2 { name="BayesMixSurv"; version="0.9.1"; sha256="19kf39881q00pap9afwvvggk4s4w3qpz17b7065nig1mvk8dnp8r"; depends=[survival]; };
   BayesNI = derive2 { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
+  BayesNSGP = derive2 { name="BayesNSGP"; version="0.1.1"; sha256="11c83iafhl8yasyy8xwk9wladbj986xpmgc8d3yd9dxkic71flw8"; depends=[FNN Matrix nimble StatMatch]; };
   BayesNetBP = derive2 { name="BayesNetBP"; version="1.4.0"; sha256="007anxk76rxwskc7fvbmaw7ihjnwqad0xmiy6iyv68lwrjifvpc2"; depends=[bnlearn doBy fields graph igraph qtl qtlnet RColorBrewer Rgraphviz]; };
   BayesPieceHazSelect = derive2 { name="BayesPieceHazSelect"; version="1.1.0"; sha256="0znbmv7crqycdx75jh02h6z8d6cifjszbrldv2yva4mkjxsydag5"; depends=[mvtnorm]; };
   BayesPiecewiseICAR = derive2 { name="BayesPiecewiseICAR"; version="0.2.1"; sha256="1qrmw7zmygdzz84p76hyh2d8dx88b8xhbbd7radqm39g35zq5wz6"; depends=[mvtnorm]; };
+  BayesPostEst = derive2 { name="BayesPostEst"; version="0.1.0"; sha256="07pj4mrwnlimwrv876x1wcyi1yddd5m074lx7vp3q39qjkphcgk1"; depends=[carData caTools coda dplyr ggmcmc ggplot2 ggridges R2jags reshape2 rlang runjags texreg tidyr]; };
   BayesRS = derive2 { name="BayesRS"; version="0.1.3"; sha256="0fhvnckabp0z1cdsbjgv3ijnzaxwhrk83fwcflgqbhvm3a9lzr77"; depends=[coda ggplot2 metRology reshape rjags]; };
   BayesS5 = derive2 { name="BayesS5"; version="1.31"; sha256="1azxn3r0s52zy6y5qsa6yx331795mkk7fb28fcinv2zx9iyvk33w"; depends=[abind Matrix snowfall]; };
   BayesSAE = derive2 { name="BayesSAE"; version="1.0-2"; sha256="1xbx9hr254agpcqs1fl7qi7h19fd2bbmjszn44l566n2svgvxwf5"; depends=[coda Formula lattice]; };
@@ -390,10 +408,10 @@ in with self; {
   BayesTwin = derive2 { name="BayesTwin"; version="1.0"; sha256="026blnhihbx9bpd63mxhbp0kpvj0lwbj7mg72alyfr2jnrh1n3lp"; depends=[coda foreign matrixStats rjags]; };
   BayesValidate = derive2 { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
   BayesVarSel = derive2 { name="BayesVarSel"; version="1.8.0"; sha256="1sf18m4p8zaw2s5fv4p9s99n1n0cgzscgfhm5ngkzif43kwz1l6n"; depends=[MASS mvtnorm]; };
-  BayesX = derive2 { name="BayesX"; version="0.3-0"; sha256="0vgi0yng53x0w18h4n0ygqmcky7jwmk99j4gcv2vwhcmz45s73j0"; depends=[coda colorspace maptools shapefiles sp]; };
+  BayesX = derive2 { name="BayesX"; version="0.3-1"; sha256="0g4cdkvicqzg75qgr62j89dc9mni38ai7705j6jbfx59vn6dbrr5"; depends=[coda colorspace maptools shapefiles sp]; };
   BayesXsrc = derive2 { name="BayesXsrc"; version="3.0-1"; sha256="0l8c6xsyqj09m722hdanr1d9n6a1ps77ybm1jaqmp86bqmq1br03"; depends=[]; };
   BayesianAnimalTracker = derive2 { name="BayesianAnimalTracker"; version="1.2"; sha256="1pgjijqznfdpvw296h5vksnxgspxs7qhy6s84ww7abnlhg59bz5s"; depends=[TrackReconstruction]; };
-  BayesianFROC = derive2 { name="BayesianFROC"; version="0.1.5"; sha256="11dpha68vh68ifxk721p3jiklaaavzq06cs12ph95lakrlbv9mr8"; depends=[bridgesampling car crayon DiagrammeR ggplot2 knitr pracma Rcpp readxl rhandsontable rstan shiny shinydashboard xlsx]; };
+  BayesianFROC = derive2 { name="BayesianFROC"; version="0.2.0"; sha256="08105wivfycdq2hxs2lfwdl5jqmrfa2psdkjbw753as3fc0jpwrf"; depends=[bridgesampling car crayon DiagrammeR ggplot2 knitr pracma Rcpp readxl rhandsontable rstan shiny shinydashboard shinythemes xlsx]; };
   BayesianGLasso = derive2 { name="BayesianGLasso"; version="0.2.0"; sha256="09yb1qqx6qlsspk3ndrcqxy0956iqznw0rmyvqxgxxp3zd3y21xp"; depends=[MASS statmod]; };
   BayesianNetwork = derive2 { name="BayesianNetwork"; version="0.1.5"; sha256="0vnnxzxz68dkfwr9wif8lam3a4khgbslbf49xkygqm8n1swysx2x"; depends=[bnlearn heatmaply lattice networkD3 plotly rintrojs shiny shinyAce shinydashboard shinytest shinyWidgets testthat]; };
   BayesianPower = derive2 { name="BayesianPower"; version="0.1.6"; sha256="1n41blyqmjq2zdhbz8srsx32piyg26fwgzfphhka12ybk93b2d2h"; depends=[]; };
@@ -406,30 +424,33 @@ in with self; {
   BeSS = derive2 { name="BeSS"; version="1.0.6"; sha256="018gwcxhpmrblqh389krcpvxwrzl6fg25fg3mqrdvkalyx9xja5w"; depends=[glmnet Matrix Rcpp RcppEigen survival]; };
   Benchmarking = derive2 { name="Benchmarking"; version="0.27"; sha256="0y31l3ddxm16sylw7p6dnv39w9ydjkjn92gi0za7s0vx07mzimxp"; depends=[lpSolveAPI ucminf]; };
   BenfordTests = derive2 { name="BenfordTests"; version="1.2.0"; sha256="1nnj0w0zwcmg7maqmmpixx7alvsyxva370ssc26ahg6kxy5a621w"; depends=[]; };
-  Bergm = derive2 { name="Bergm"; version="5.0.0"; sha256="0l04hg5rwgi5vgb7h987f0j3shb0vz9w26zmk4hm7vfbwb9xxix6"; depends=[coda ergm Matrix matrixcalc MCMCpack mvtnorm network]; };
+  Bergm = derive2 { name="Bergm"; version="5.0.1"; sha256="1zy2ar43v7pf1ibbhf7visy1ia24lfpa2kb921vxd7hiilky1h8v"; depends=[coda ergm Matrix matrixcalc MCMCpack mvtnorm network]; };
   Bessel = derive2 { name="Bessel"; version="0.6-0"; sha256="0iwm08nhlivi4zwcqdi296a1l4n4lfanfxhaysh9vcsyk1kpiacf"; depends=[Rmpfr]; };
   BetaBit = derive2 { name="BetaBit"; version="1.3"; sha256="1x9mfnijgi8726p82d52g2zgmliwsc97v2g96mz9ccz2vqqnwq4w"; depends=[digest]; };
-  BetaPASS = derive2 { name="BetaPASS"; version="1.0-1"; sha256="0c9a3bv9q9nzz3iw3jwqrkfqk4zd6ybaq4jlijja6rl2gqrprsi2"; depends=[betareg ggplot2 lmtest Rcpp reshape]; };
+  BetaPASS = derive2 { name="BetaPASS"; version="1.1-1"; sha256="17q1bfmijv38zyaj5fxlylf5zmkqry4ca9wm5km6zpksgsg2kjjq"; depends=[betareg ggplot2 pbapply]; };
   BeviMed = derive2 { name="BeviMed"; version="5.3"; sha256="01q5pr776ki973bcld20cqpsz9f10bb30vj95da9gbz5af6bvb14"; depends=[Rcpp]; };
-  BeyondBenford = derive2 { name="BeyondBenford"; version="1.1"; sha256="1mqrzd6hpfsqxwm2sgc2lmgx7czvaj7qvhs05pj6p63n0fiimq9c"; depends=[]; };
+  BeyondBenford = derive2 { name="BeyondBenford"; version="1.2"; sha256="0319jva0b43xcx7l0jyn0cxkazv7qi05bzmpas8wphk9f8r9jlim"; depends=[ggplot2]; };
   Bhat = derive2 { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
   BiBitR = derive2 { name="BiBitR"; version="0.3.1"; sha256="0wfwph6nw12hb43j14i9ycj8m2zn0m5ynp7afq9cray8rbgvxfv6"; depends=[biclust cluster dendextend foreign lattice randomcoloR viridis]; };
-  BiDAG = derive2 { name="BiDAG"; version="1.1.2"; sha256="076v7p70clk6wc20gr1cf6vi1x01nbi9pn7z51zwwg6i54a7hsr4"; depends=[pcalg Rcpp]; };
+  BiDAG = derive2 { name="BiDAG"; version="1.2.0"; sha256="0cn6aasrhqv5vkdb45a1mjzkgcppv1m57cx2bi97riy3siy5h0dy"; depends=[pcalg Rcpp]; };
   BiDimRegression = derive2 { name="BiDimRegression"; version="2.0.0"; sha256="0k0708z6xn04zjkc4sk15649wji6hl5q4rvd28sz5kbq7z54j1j5"; depends=[Formula]; };
   BiProbitPartial = derive2 { name="BiProbitPartial"; version="1.0.3"; sha256="0y19b8bkwr7rpygmj03013slmfbyd7aj6714hm14w5rdbnckymw3"; depends=[coda Formula mvtnorm numDeriv optimr pbivnorm Rcpp RcppArmadillo RcppTN]; };
   BiSEp = derive2 { name="BiSEp"; version="2.2"; sha256="1ha7rc1q54dr2xl4bpkiwl703igmmi9qphsgv2h0flq7iz0gr351"; depends=[AnnotationDbi GOSemSim mclust]; };
   BiTrinA = derive2 { name="BiTrinA"; version="1.3"; sha256="0sjq5a21vpsjs0ad0v8gsqlbk3n8virg1hzj0nvgm3h3xqhymh1d"; depends=[diptest]; };
   BiasedUrn = derive2 { name="BiasedUrn"; version="1.07"; sha256="13i2lgfnjhlbbm2yxfc2l5hswqw6x03pwba5csjmirv8kpjw4xr3"; depends=[]; };
   BibPlots = derive2 { name="BibPlots"; version="0.0.6"; sha256="0gbywbxhqw226mzhxlkl98yky206f9m81wcrp6r4wj8wqhzc2fay"; depends=[]; };
+  BifactorIndicesCalculator = derive2 { name="BifactorIndicesCalculator"; version="0.1.0"; sha256="1yawxab606408ribb1mb3aa6a46blv8aqhi9v68cyc0dbd3cjqx8"; depends=[lavaan mirt MplusAutomation tidyr]; };
   BigQuic = derive2 { name="BigQuic"; version="1.1-8"; sha256="1kg48jqm62qmz5x0h6fgvd5fs5dvg51x4spsn1q503ag4dqqdjc0"; depends=[Matrix Rcpp scalreg]; };
   BigSEM = derive2 { name="BigSEM"; version="0.2"; sha256="091fdibcxd8a8kf9k4pvc1sah830wh179f28gag9g816h4qclnx9"; depends=[MASS parcor]; };
   BigTSP = derive2 { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[gbm glmnet randomForest tree]; };
-  BigVAR = derive2 { name="BigVAR"; version="1.0.4"; sha256="1jyxl9mvzgdj50z7zgg323xx5pnf8d9gn8nsf3jlkp0xgsixap3y"; depends=[lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
+  BigVAR = derive2 { name="BigVAR"; version="1.0.6"; sha256="03d5a61clkngq67mkf2pyjj3k633kxp7g37myfplbxi55bdfmdlz"; depends=[lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
   BimodalIndex = derive2 { name="BimodalIndex"; version="1.1.9"; sha256="1m1dcj0ryjicaqjlkch7aymsklmvjvn2dvnbssi1cpi54bzn8l7g"; depends=[mclust oompaBase]; };
+  BinGSD = derive2 { name="BinGSD"; version="0.0.1"; sha256="0ygr5na7s82xa6vv9f3j6ns5sfhdacyykl1fg422lpkwbss39dnn"; depends=[mvtnorm]; };
   BinNonNor = derive2 { name="BinNonNor"; version="1.5.1"; sha256="1afxf0lcdsvw7ky3v25jyl9z9krknvw10ryi2fhgjbydq1nyijl6"; depends=[BB corpcor Matrix mvtnorm]; };
   BinNor = derive2 { name="BinNor"; version="2.3.1"; sha256="07f08nn9sbpgddm849rgabka1cb19j3s1yg1c1wydbgfkjakv95x"; depends=[corpcor Matrix mvtnorm psych]; };
   BinOrdNonNor = derive2 { name="BinOrdNonNor"; version="1.5"; sha256="0pw0a4g0v9g5k89hy5jz7hy4f3qg8fwyij6b1lj0b7bpy4mg0kv5"; depends=[BB corpcor GenOrd Matrix mvtnorm OrdNor]; };
   BinQuasi = derive2 { name="BinQuasi"; version="0.1-6"; sha256="0jf7zf3yqr2kgcm6h35234x2dqf65d2dzsh63b4q8m5l36r77k59"; depends=[BiocGenerics csaw edgeR GenomicAlignments GenomicRanges IRanges mgcv pracma quadprog RMySQL Rsamtools S4Vectors SummarizedExperiment]; };
+  BinSegBstrap = derive2 { name="BinSegBstrap"; version="1.0"; sha256="0iia9sbpnqp07h591d7ifvxq74nvnv0xspka2479qy7il9p65d3r"; depends=[Rcpp]; };
   Binarize = derive2 { name="Binarize"; version="1.3"; sha256="0xmgxlfyvgkv7xpngy9am6ihzwbjbfgp7psfnyhb1v0kj9iy7ids"; depends=[diptest]; };
   BinaryEMVS = derive2 { name="BinaryEMVS"; version="0.1"; sha256="1ainp6pg481yqhjc4f1pkxzxczbi3qm0kgq280vndq859ldfkpnh"; depends=[]; };
   BinaryEPPM = derive2 { name="BinaryEPPM"; version="2.3"; sha256="0fydh3pp7y0glk2rhihcslzx10hgn5la922jbnqzg2nplvzv7ybj"; depends=[expm Formula lmtest numDeriv]; };
@@ -441,18 +462,20 @@ in with self; {
   BioMedR = derive2 { name="BioMedR"; version="1.2.1"; sha256="0l3nmnqv0gzkbby4fhajbba910zpnbyckvxwds353pn54g9pcry7"; depends=[Biostrings ChemmineR fmcsR GOSemSim MASS org_Hs_eg_db pls randomForest rcdk RCurl rjson]; };
   BioPET = derive2 { name="BioPET"; version="0.2.2"; sha256="0zgq7i37d0rnjhlkcrl44x62vhz0njsv2fldm64j9r4wc02z1q9n"; depends=[ggplot2 gridExtra pROC VGAM]; };
   BioStatR = derive2 { name="BioStatR"; version="3.0.0"; sha256="1fv37xckhpn0b744r71q7h57pr5j2y0v8hcc97cgzdsqd8p4axmk"; depends=[ggplot2]; };
-  BiocManager = derive2 { name="BiocManager"; version="1.30.4"; sha256="0kxs76pixk1d2lpvkyrq6nnvv1rqf55ph5f7igkadyyqirf3y2ah"; depends=[]; };
+  BiocManager = derive2 { name="BiocManager"; version="1.30.10"; sha256="03n9s2vf7vgpgb5alpxwamf9xfkn32cbzngwyn6spq1bnh9a9dzk"; depends=[]; };
   Biocomb = derive2 { name="Biocomb"; version="0.4"; sha256="0jqfac81r5731m0i9jq7v5ns9263p8r7i03jyz10y915kfr6ikh6"; depends=[arules class e1071 FSelector gtools MASS nnet pamr pROC randomForest Rcpp rgl ROCR rpart RWeka]; };
   Biodem = derive2 { name="Biodem"; version="0.4"; sha256="0k0p4s21089wg3r3pvyy9cxsdf4ijdl598gmxynbzvwpr670qnsh"; depends=[]; };
-  BiodiversityR = derive2 { name="BiodiversityR"; version="2.11-2"; sha256="1w87f9lf50sr0lk1gxqw75liqg3f7dkmnxwyaa5dv84l0yzak6mm"; depends=[Rcmdr rgl vegan vegan3d]; };
+  BiodiversityR = derive2 { name="BiodiversityR"; version="2.11-3"; sha256="1ba19vlxpy88xcryf3xki3h49hbmkz9hf69lni6swl2rh1k7fx41"; depends=[Rcmdr rgl vegan vegan3d]; };
   Biograph = derive2 { name="Biograph"; version="2.0.6"; sha256="0vklqwbifbac3v9ws9fs22yxpqqk5b3m96qzr8j0irnimb5kgh5p"; depends=[Epi etm ggplot2 lubridate msm mstate mvna plyr reshape survival]; };
   Bioi = derive2 { name="Bioi"; version="0.2.9"; sha256="0kvqvvaws1zc3npxvl3jqidak24n5y8n98ml44mkbh7c5n296z2p"; depends=[assertthat dplyr igraph Rcpp]; };
   Biolinv = derive2 { name="Biolinv"; version="0.1-2"; sha256="0g9vw1jcsjawmddkixssm5gbncy17fdd6a3c5b2qd4hx81kxz8q9"; depends=[classInt fields raster sp spatstat]; };
-  Bios2cor = derive2 { name="Bios2cor"; version="1.2"; sha256="00fzvj20x85gcpb9l6rfnm3qml8nnl365z1a68j90qi14wy6dfh6"; depends=[bigmemory bio3d circular igraph]; };
+  Biopeak = derive2 { name="Biopeak"; version="1.0"; sha256="1l08m1jl8yygbdfzk8klpj1q2m7icvxi98vmk7akxs0sswjc6wd2"; depends=[cluster dbscan factoextra gplots RColorBrewer]; };
+  Bios2cor = derive2 { name="Bios2cor"; version="2.0"; sha256="1rrz0vs6wbkwys3l5jv1rdnlhyb4r1q9pv7jlnmsx6c1b4f4vz5n"; depends=[bigmemory bio3d circular igraph]; };
   BisRNA = derive2 { name="BisRNA"; version="0.2.2"; sha256="11jl5109nlm272vncprwplkz4kpvg7yx6yfnbjg47lfrsxcj8n0g"; depends=[MASS]; };
   BisqueRNA = derive2 { name="BisqueRNA"; version="1.0"; sha256="1ks91gjfcnajg540930drcnqcrn4fi3735hywyy3y6i1q0wnq9vb"; depends=[Biobase lsei]; };
   BivGeo = derive2 { name="BivGeo"; version="2.0.1"; sha256="1sj52v1zmk425jw9acq9y0jdp3agx103yzf1bjbc5vrmk1x0i0qr"; depends=[]; };
   BivRec = derive2 { name="BivRec"; version="1.0.0"; sha256="161856bsny5jq7lmf79w9iqq5kq7c12hkxam5l746rfnrw1bzjzg"; depends=[knitr MASS Rcpp rmarkdown stringr survival]; };
+  BivRegBLS = derive2 { name="BivRegBLS"; version="1.1.1"; sha256="1kpl0pwm2g40pxrfbz2d95vcrm51flg6bgc83661349cmc9a2511"; depends=[ellipse]; };
   BivUnifBin = derive2 { name="BivUnifBin"; version="1.3.1"; sha256="1ppsayixsbq0f71il93m5ih6gjwf2pavg7dhfj8gm5y8qkiz7pwc"; depends=[BinOrdNonNor rootSolve]; };
   BivarP = derive2 { name="BivarP"; version="1.0"; sha256="08f7sphylaj3kximy1avaf29hxj2n800adsnssh01p9bcxnzb2i4"; depends=[copula dfoptim survival]; };
   Bivariate_Pareto = derive2 { name="Bivariate.Pareto"; version="1.0.2"; sha256="1clfknv56zfi9wgzi5bricchvis83mc33i5d4qk3yzf2ryzxag7q"; depends=[compound_Cox]; };
@@ -463,6 +486,7 @@ in with self; {
   BlockCov = derive2 { name="BlockCov"; version="0.1.1"; sha256="1ilqd8kvhlq0nc1n4y7g0aiwran3kyqs8i143j6dv2wy3myn5x0l"; depends=[BBmisc dplyr magrittr Matrix Rdpack rlang tibble]; };
   BlockFeST = derive2 { name="BlockFeST"; version="1.6"; sha256="0hj7a5as7nxbgjac7lbj6qfwffx3g8x8phpf9a55f1c9cdzi73a5"; depends=[BASIX]; };
   BlockMessage = derive2 { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
+  BlythStillCasellaCI = derive2 { name="BlythStillCasellaCI"; version="1.0.0"; sha256="0xgrrh6rf732c2dh1z1qyvkqw8ga1yl6i802r399bb7k55g6z6d0"; depends=[]; };
   Bmix = derive2 { name="Bmix"; version="0.6"; sha256="17swhn2p7jv29fkspacg2v181lkc9yd3xww2fx31xs8hsndcm857"; depends=[mvtnorm]; };
   BoSSA = derive2 { name="BoSSA"; version="3.6"; sha256="00jxml2lyw1rc0ifs111sbz30186z61zvz1qy6wz74024c6gsw89"; depends=[ape jsonlite phangorn plotrix RSQLite]; };
   BoardGames = derive2 { name="BoardGames"; version="1.0.0"; sha256="1w3ghs29qlnjrd46lvv055snclwwy6a22fgdqszqm377w4favnhm"; depends=[]; };
@@ -473,18 +497,16 @@ in with self; {
   BondValuation = derive2 { name="BondValuation"; version="0.1.0"; sha256="1sgnf5a6rm1br6i82bmp7s044012bwfxa9yb6bjkq8kr83mf7i6v"; depends=[Rcpp timeDate]; };
   BoolFilter = derive2 { name="BoolFilter"; version="1.0.0"; sha256="14z4fzf8p4wgi939qs6v39a3xizccjcx7j4szsydllpkvxbwggbw"; depends=[BoolNet Rlab]; };
   BoolNet = derive2 { name="BoolNet"; version="2.1.5"; sha256="11fysc39vfk3zb9qklryi8gl42c3hqgzlvci4jj0zkqnm0v9amqk"; depends=[igraph XML]; };
-  Boom = derive2 { name="Boom"; version="0.9.1"; sha256="010d0mbjl7djv956niw115p610vjs6wfyby4r8wq182gbssldhm7"; depends=[BH MASS]; };
-  BoomSpikeSlab = derive2 { name="BoomSpikeSlab"; version="1.1.1"; sha256="0rklw3ap2p95g967spi3b8r9vvg0x3zr4zj5gblab48q9khirf52"; depends=[BH Boom igraph]; };
+  Boom = derive2 { name="Boom"; version="0.9.3"; sha256="1mp8vp5fgfirlbgix5vncf05n6b7xyk5giqzxgxnd8g9l4j8r7rd"; depends=[MASS]; };
+  BoomSpikeSlab = derive2 { name="BoomSpikeSlab"; version="1.2.1"; sha256="1fxh39rplcnpfyffvzl7kns04lvfc1jx70nsq1380471z1n144lj"; depends=[Boom igraph]; };
   BootMRMR = derive2 { name="BootMRMR"; version="0.1"; sha256="07am80603pv1dh5ma3zb0idnslkzm5m3ym8sd1nhkh8zbc6qqmzs"; depends=[]; };
   BootPR = derive2 { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
-  BootValidation = derive2 { name="BootValidation"; version="0.1.65"; sha256="1q42yqj56by3j1kmq17pjl4aq0sznhph65yxfwav39q28bf5y83r"; depends=[glmnet pbapply pROC risksetROC survival]; };
   BootWPTOS = derive2 { name="BootWPTOS"; version="1.2"; sha256="1860l11xg7444l3x42rq3636csla23gg0mi5in1zibjwn1ddc202"; depends=[fractal wavethresh]; };
   BootstrapQTL = derive2 { name="BootstrapQTL"; version="1.0.2"; sha256="1qf93wmrh6znm81jr3gyn1sl8x4i6pdx811r70fg8k026fbfjn3a"; depends=[data_table foreach MatrixEQTL]; };
   Boruta = derive2 { name="Boruta"; version="6.0.0"; sha256="1pp8zal1vhxlzdhl20phn39m3ffhw5glyqbcgwa0w14zw2mpm6hw"; depends=[ranger]; };
   BosonSampling = derive2 { name="BosonSampling"; version="0.1.1"; sha256="0wxn12h903a0mlrkrr3w4qd9ld2a4bifs95i98cnl2dsb76rwf12"; depends=[Rcpp RcppArmadillo]; };
   BradleyTerry2 = derive2 { name="BradleyTerry2"; version="1.1-0"; sha256="13lhs6rynyj9cw13panqbn2jzkhq5fixhfd0ldr128gvw5d43hxg"; depends=[brglm gtools lme4 qvcalc]; };
   BradleyTerryScalable = derive2 { name="BradleyTerryScalable"; version="0.1.0"; sha256="0g12fkfs2sykyd6fzf924zv8gj2js452c4pf0pz2p6156chwrk8c"; depends=[dplyr igraph Matrix purrr Rcpp RcppArmadillo]; };
-  BrailleR = derive2 { name="BrailleR"; version="0.29.1"; sha256="0n6njampfav84yd68vi4nw8h3dm285m3wfqi048ghiw740sa4rjk"; depends=[devtools dplyr extrafont ggplot2 gridGraphics gridSVG hunspell knitr magrittr moments nortest reticulate rmarkdown roloc rolocISCCNBS whisker XML xtable]; };
   Branching = derive2 { name="Branching"; version="0.9.4"; sha256="1c209gdasm7qipv2gg4d1hr0jmhnzz5rddgjxb7xacazc0c2mhff"; depends=[]; };
   BreedingSchemeLanguage = derive2 { name="BreedingSchemeLanguage"; version="0.9.6"; sha256="0lj8s42ndqqllnm8v978481zqmc751v31909rir1pkwcsm3irisx"; depends=[ggplot2 lme4 Matrix Rcpp rrBLUP snowfall]; };
   Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-6"; sha256="1m3ajvcksqfck5l5hj5xiflj4ry6d896ybv4f0xxks8chgnwmv0r"; depends=[]; };
@@ -497,16 +519,14 @@ in with self; {
   BurStFin = derive2 { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
   BurStMisc = derive2 { name="BurStMisc"; version="1.1"; sha256="0cyi42zkn2dby162x9f95b3hpqxbzx25s7nahb4p86r60xj3a5c0"; depends=[]; };
   BusinessDuration = derive2 { name="BusinessDuration"; version="0.2.0"; sha256="17923n1r3n8kp7qqzr2dv8ffax355yyc3b9f6mv2hxy6k31hrrb8"; depends=[chron]; };
-  BuyseTest = derive2 { name="BuyseTest"; version="1.7"; sha256="0sjbwacpkw54wwzxd6866dzd03scl5g8ixcxs5ry26b2w0dncy60"; depends=[data_table doParallel foreach lava prodlim Rcpp RcppArmadillo]; };
+  BuyseTest = derive2 { name="BuyseTest"; version="1.8"; sha256="1yswhan5gpx4lr49smsj4fkr3f9by11m6fh4dqh793z4bzrc535c"; depends=[data_table doParallel foreach lava prodlim Rcpp RcppArmadillo]; };
   C443 = derive2 { name="C443"; version="1.0.0"; sha256="0d04769m9kkjqpj1cgfhqrri893nwi6qn7fz63z5pkym5cig5yyi"; depends=[cluster ggplot2 gridExtra igraph MASS partykit qgraph RColorBrewer reshape2 rpart]; };
   C50 = derive2 { name="C50"; version="0.1.2"; sha256="1fpspmsm62h077dkdhii23bs3sxlblabfqj4waz794ihw1b9hicg"; depends=[Cubist partykit]; };
   CA3variants = derive2 { name="CA3variants"; version="2.0"; sha256="1wnc9qfcligpsi5ycmzw0igm14h6lvf4vd82aygnas6q41vnypwz"; depends=[ggplot2 ggrepel gridExtra multichull]; };
   CADFtest = derive2 { name="CADFtest"; version="0.3-3"; sha256="06bwv728ckalzibxginzfica24w18m4g87i0i064m3q89ghmnlqm"; depends=[dynlm sandwich tseries urca]; };
   CADStat = derive2 { name="CADStat"; version="3.0.8"; sha256="0wdglw1vyd5gz70r9ma0mwshvizv39nb4ahp8pvr70c4qqzsfhc0"; depends=[bio_infer car gdata gmodels JavaGD JGR lattice MASS quantreg rJava rpart XML]; };
-  CAISEr = derive2 { name="CAISEr"; version="1.0.14"; sha256="0jfpn4ih5dc55jjiivbdscpm6jw250js8p8gvcnsdf3pgrzp8cxr"; depends=[assertthat ggplot2 gridExtra lattice pbmcapply]; };
+  CAISEr = derive2 { name="CAISEr"; version="1.0.15"; sha256="0igm1yvhllnhqd0bc2z6bfjdmr3w2465xi7vyaa7a68dd5k81apj"; depends=[assertthat ggplot2 gridExtra pbmcapply]; };
   CALF = derive2 { name="CALF"; version="0.2.0"; sha256="12w1vr0rk6m4lv6zvqrf45k81d301ln1253wyy9xi6mv1hkabg0v"; depends=[ggplot2]; };
-  CALIBERrfimpute = derive2 { name="CALIBERrfimpute"; version="1.0-1"; sha256="1xsnqyj0qdi081rdnpas9ciy9zbhdcjx3lphl6drk0bbmik3znkv"; depends=[mice mvtnorm randomForest]; };
-  CAM = derive2 { name="CAM"; version="1.0"; sha256="07mmrz6j8cm6zgaw2zcxgkxb7abd651kb80526r271snjgvpr5bl"; depends=[glmnet Matrix mboost mgcv]; };
   CAMAN = derive2 { name="CAMAN"; version="0.74"; sha256="0d932fbqzlxlhn7m8zfx7wr02pc7fm8398rym1jh2cdy2fk5im08"; depends=[mvtnorm sp]; };
   CANSIM2R = derive2 { name="CANSIM2R"; version="1.14.1"; sha256="1dnzbd9lyqj3w80lx12qxcsbmv8wy6hxknyi5ijp99cfv7kaq1kc"; depends=[downloader Hmisc reshape2]; };
   CARBayes = derive2 { name="CARBayes"; version="5.1.2"; sha256="0kdjjayvl0rcynpmj82j0xdd6yhfwasabgrrs4nzs8kgjvlqfxax"; depends=[CARBayesdata coda leaflet MASS matrixcalc MCMCpack Rcpp rgdal sp spam spdep truncnorm]; };
@@ -516,7 +536,6 @@ in with self; {
   CARLIT = derive2 { name="CARLIT"; version="1.0"; sha256="04kpjfps4ydf8fj75isqp16g1asdsyf8nszhbfkpw1zxkrmiksyp"; depends=[]; };
   CARRoT = derive2 { name="CARRoT"; version="2.0.0"; sha256="1x8y803rvfchmjfw608nframvdm3nvci36bv0bb9h42z8gviyh0v"; depends=[doParallel foreach nnet Rdpack]; };
   CARS = derive2 { name="CARS"; version="0.2.2"; sha256="18l2bhfwma24q1zg1y1xmlcmnbzjqmmny3h7s179kslagnh3kmsj"; depends=[np]; };
-  CARrampsOcl = derive2 { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[fields OpenCL]; };
   CASMAP = derive2 { name="CASMAP"; version="0.6.0"; sha256="1z321l34da5ggwmbggs9d8m96syra1jm29gj68lfhd7ikbpmw96w"; depends=[Rcpp]; };
   CAST = derive2 { name="CAST"; version="0.3.1"; sha256="1cqadrww0w2wkqmh4mi2bmdr572q5qpnz2c4jpvwqrk2ynhz43qn"; depends=[caret ggplot2]; };
   CATT = derive2 { name="CATT"; version="2.0"; sha256="12xdspl1gbf51snyrl44nn7alfyccdfihibkgvzr66lrby8b8fhg"; depends=[]; };
@@ -524,12 +543,13 @@ in with self; {
   CATkit = derive2 { name="CATkit"; version="3.3.3"; sha256="01q2ssyg0jcjgahaslfgpakjsv2wil654lc6xrg5xbbrkx7ccb90"; depends=[assertr CombMSC Hmisc magic MASS png rtf season signal]; };
   CAWaR = derive2 { name="CAWaR"; version="0.0.1"; sha256="1z8xmwnxwlk0nhi22nabwzggizzsp8jzwfln0h2hkk7h1p8xjlhk"; depends=[fieldRS ggplot2 lubridate raster rgdal rgeos rsMove RStoolbox sp spatialEco]; };
   CAinterprTools = derive2 { name="CAinterprTools"; version="1.0.0"; sha256="1ia4qfvj0nzxi6pwqnha2vpfcx3qwaw4vrjqiza11sai274j0pjy"; depends=[ca classInt cluster FactoMineR ggplot2 ggrepel Hmisc RcmdrMisc reshape2]; };
-  CAvariants = derive2 { name="CAvariants"; version="4.0"; sha256="16k25rhwzih1spbp0m80lv2vfrbm8l5ajkgp2i27gvnhhln227qm"; depends=[ggplot2 ggrepel gridExtra rgl]; };
+  CAvariants = derive2 { name="CAvariants"; version="5.0"; sha256="0y87xg2iwsmn8klavapncd7vkqvl15z9crmx3ja56ksb36czn8kk"; depends=[ggplot2 ggrepel gridExtra]; };
   CB2 = derive2 { name="CB2"; version="1.2.1"; sha256="089cf0pcy5xyzr6pl9ljqc52cy2bh2xfxhfh7iika2wv932wwq98"; depends=[dplyr ggplot2 glue magrittr metap pheatmap Rcpp RcppArmadillo stringr tibble tidyr]; };
-  CBCgrps = derive2 { name="CBCgrps"; version="2.3"; sha256="07cy8z1fyr328jpa98sdxwd1vydx8sr93jx79hjn9hgm157240mg"; depends=[nortest]; };
+  CBCgrps = derive2 { name="CBCgrps"; version="2.4"; sha256="1zqzbvgm82lngaazxm01yqvz4wck0ykva520qlf9bv7chx6jd4rf"; depends=[nortest]; };
   CBDA = derive2 { name="CBDA"; version="1.0.0"; sha256="0qm77vvqjgi83i8izly995ziv9ski8kgzqyq4g81i2k7a5dp8vxv"; depends=[doParallel foreach prettydoc SuperLearner]; };
-  CBPS = derive2 { name="CBPS"; version="0.20"; sha256="016fldahmivs8fr3nmm3azgivnnqgslhc62azcdkfgac37mpm5hw"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
+  CBPS = derive2 { name="CBPS"; version="0.21"; sha256="0av9lgdn9z57xl9cp53pi9nq971a6fj4przczw7sdb5saml3yr30"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
   CBT = derive2 { name="CBT"; version="1.0"; sha256="13h6sf7w03nfq2arqymwww13ywnv9xnqbqazlzn856mj3ggaqda7"; depends=[]; };
+  CC = derive2 { name="CC"; version="1.0"; sha256="189si37ggichqmzy8m686zw1cijix7yfy8ma5iqpnq1q9vm3pcvy"; depends=[]; };
   CCA = derive2 { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; };
   CCAGFA = derive2 { name="CCAGFA"; version="1.0.8"; sha256="1jxb6d1h5p97wnr45s1fsspksqn771nib415ihxi4vj5w8s94j8b"; depends=[]; };
   CCM = derive2 { name="CCM"; version="1.2"; sha256="1mhl7yppniybdffylddbbb65n7gmv029fb46wlsxm4yf2xkplmwy"; depends=[]; };
@@ -538,12 +558,11 @@ in with self; {
   CCpop = derive2 { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
   CDFt = derive2 { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
   CDLasso = derive2 { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
-  CDM = derive2 { name="CDM"; version="7.3-17"; sha256="06487k920b7alp6b6115zdfb2laaaqwwlhc3zjpzchhsbc6ly4vy"; depends=[MASS mvtnorm polycor Rcpp RcppArmadillo sfsmisc]; };
+  CDM = derive2 { name="CDM"; version="7.4-19"; sha256="1ln1r3rk004fmk55iy08bjh3vv4wnkb8zg2wj3r9rq7pi8jn8fv4"; depends=[mvtnorm polycor Rcpp RcppArmadillo]; };
   CDNmoney = derive2 { name="CDNmoney"; version="2012.4-2"; sha256="1isbvfq0lygs75y1hn3klqms8q7g1xbkcr8fgj75h1c99d4khvm6"; depends=[]; };
   CDROM = derive2 { name="CDROM"; version="1.1"; sha256="0mvhqs4m8jp39x1rk31a1sqqmfq1avcnasgh8bizlyxx62igmi1b"; depends=[]; };
   CDVine = derive2 { name="CDVine"; version="1.4"; sha256="0cp78pb6yny4n5q2j9k6xdql588536572gbphnw8zkdmrg65qyz7"; depends=[igraph MASS mvtnorm]; };
   CDVineCopulaConditional = derive2 { name="CDVineCopulaConditional"; version="0.1.1"; sha256="1wyy324vrwipdsq0p021bj1gdhyxg09g3dkw8wv5v6rfrrs84m9k"; depends=[combinat VineCopula]; };
-  CEAmarkov = derive2 { name="CEAmarkov"; version="0.1.0"; sha256="1flninygs01qdvvb7pmllygd8hjssil665rwmgzxrxwh0hz6najk"; depends=[stringr WHO xml2]; };
   CEC = derive2 { name="CEC"; version="0.10.2"; sha256="03fxhqlpn7x3djfanlix3yzf1cy6zf854g70gq2d93ix9gis7knv"; depends=[]; };
   CEGO = derive2 { name="CEGO"; version="2.3.0"; sha256="005y03bx8acfw3wzriyq3p8d3qvsq1l7xvwgjri67bix052ffn1x"; depends=[DEoptim fastmatch MASS Matrix ParamHelpers quadprog]; };
   CENFA = derive2 { name="CENFA"; version="1.0.0"; sha256="0ah8rh0gbwwhdfxzj9sj4i8iqbybkga09vinlh0r514ayv2qq2x8"; depends=[doSNOW foreach magrittr pbapply raster Rcpp snow sp]; };
@@ -551,6 +570,7 @@ in with self; {
   CFC = derive2 { name="CFC"; version="1.1.2"; sha256="0k0685cgsd0lm7id6h216r4x236xn3nqj4h906qn2i0kvwmx4nda"; depends=[abind doParallel foreach Rcpp RcppArmadillo RcppProgress survival]; };
   CGE = derive2 { name="CGE"; version="0.1.9"; sha256="1vlv96pwmc1sijrcs3bil9i1wnin013gxjr3dgdj6xakq8sl01sd"; depends=[]; };
   CGGP = derive2 { name="CGGP"; version="1.0.1"; sha256="0vpj2bmij8wwckyzbmid6dyzpwy4jcbgpch3j143rag7pvgmc87q"; depends=[Rcpp RcppArmadillo]; };
+  CGManalyzer = derive2 { name="CGManalyzer"; version="1.2"; sha256="1993hxpaplb2qxrjfnm63alks0wb3msrffycmwd9p9md5glzci9y"; depends=[]; };
   CGP = derive2 { name="CGP"; version="2.1-1"; sha256="05a6gydlb99yk2jpy2hyg4c30hqyp8dg2i9dmbjc1n5cmgpg3im9"; depends=[]; };
   CGPfunctions = derive2 { name="CGPfunctions"; version="0.5.7"; sha256="0afyv64kqmjsymnp9vzn55zn8qri2ic4mhsc77rf5s1jzamcgjlp"; depends=[broomExtra car DescTools devtools dplyr ggplot2 ggrepel pwr rlang scales sjstats tibble]; };
   CHCN = derive2 { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
@@ -568,6 +588,7 @@ in with self; {
   CITAN = derive2 { name="CITAN"; version="2015.12-2"; sha256="08h91q7529q04izgqw3ahm4r0zjpwnwyc0vynykvv9fz2fkbk7wb"; depends=[agop DBI hash RGtk2 RSQLite stringi]; };
   CIplot = derive2 { name="CIplot"; version="1.0"; sha256="0hx3dn7d8hvsh75747d9046iqriy3bjnchph8xllnvlhkrm4di1f"; depends=[MASS multcomp]; };
   CJAMP = derive2 { name="CJAMP"; version="0.1.1"; sha256="0caznbqy5hsp7h0gkdbv966vfpq8z1khvbizi4vpc9mxck1nqc99"; depends=[optimx]; };
+  CKAT = derive2 { name="CKAT"; version="0.1.0"; sha256="03vxl91z2mhi1h0xgcwhw63mvj56156zgphm16ijdff63pqxaryr"; depends=[CompQuadForm]; };
   CKLRT = derive2 { name="CKLRT"; version="0.2.3"; sha256="1d8sg3ncns3fpjaghz1h1z9nfrl31v09xijrzzsias8xjrpi191b"; depends=[MASS mgcv nlme Rcpp RcppEigen]; };
   CLA = derive2 { name="CLA"; version="0.95-1"; sha256="0h3b1wmmfhajdgd2nmm1wkrg83fwbwj4yphjqin8yw9a0izqf0mz"; depends=[]; };
   CLME = derive2 { name="CLME"; version="2.0-11"; sha256="0p43nnnphzaxrna7y57kgjy2qih535k45s3hxlj89p1x0yhy0mga"; depends=[isotone lme4 MASS nlme openxlsx prettyR shiny stringr]; };
@@ -578,19 +599,21 @@ in with self; {
   CMF = derive2 { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp]; };
   CMLS = derive2 { name="CMLS"; version="1.0-0"; sha256="1542qqsl6sksrcpwhnn55d260hkbmy4ikd0v2an96yxk5w95spvn"; depends=[quadprog]; };
   CMPControl = derive2 { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; };
+  CMShiny = derive2 { name="CMShiny"; version="0.1.0"; sha256="0ciis3930yhn4dmazsg2yp7wi9hdfj5slr032x8qfllxis7m4k0w"; depends=[caret e1071 epitools Matrix rmarkdown shiny shinyMatrix]; };
+  CMapViz = derive2 { name="CMapViz"; version="0.1.0"; sha256="1s7xyp13p7fpbq0bghk07dfv90339kxs7k3343jqhrn8djf3as67"; depends=[dplyr ggplot2 readxl reshape2 scales stringr]; };
   CMatching = derive2 { name="CMatching"; version="2.3.0"; sha256="0q0hplhsamj46z7g6pa7yg1bap5822ka1419yhcip551djhvnpmv"; depends=[lme4 lmtest Matching multiwayvcov]; };
-  CMplot = derive2 { name="CMplot"; version="3.3.3"; sha256="0p96cq37jkkqgq3l5kbi74w2j2p0a2cnjqvzalf2gzsv5zsakrir"; depends=[]; };
+  CMplot = derive2 { name="CMplot"; version="3.4.0"; sha256="1gbgwfxxg8x2bzkd0lvnf14rp3hvlqnw3p42i2jc720zgg1vrxl5"; depends=[]; };
   CNLTreg = derive2 { name="CNLTreg"; version="0.1-2"; sha256="07yi0ajil1113663v3gp5d3453r4l9qm442jnpydx4ygvjk7m2ha"; depends=[adlift miscTools nlt]; };
   CNLTtsa = derive2 { name="CNLTtsa"; version="0.1-2"; sha256="1vy0jjg6s8yvsvkx4pin183y5bnikm5cmjcpa9znz9dj1w6hwr5r"; depends=[adlift CNLTreg fields nlt]; };
   CNOGpro = derive2 { name="CNOGpro"; version="1.1"; sha256="1frsmhfqrlg1vsa06cabqmrzngq4p5gqwyb9qgnsgg81a9ybm6l8"; depends=[seqinr]; };
-  CNVScope = derive2 { name="CNVScope"; version="2.7.0"; sha256="1m5g6qfqlqnysqcmia54hasb1bdp70a1jzlqb8dz8830lzw797fi"; depends=[BiocManager biomaRt blockseg BSgenome_Hsapiens_UCSC_hg19 circlize data_table doParallel dplyr foreach GenomicFeatures GenomicInteractions GenomicRanges ggplot2 heatmaply HiCseg htmltools htmlwidgets igraph InteractionSet IRanges jointseg logging magrittr Matrix matrixStats numbers OpenImageR plotly plyr RCurl reshape2 rslurm rtracklayer S4Vectors shiny shinycssloaders shinyjs shinythemes spatialfil stringr tibble tidyr visNetwork]; };
+  CNVScope = derive2 { name="CNVScope"; version="2.8.2"; sha256="08kr9q30cx102wdnm2kqjakjvjp7zfgrqamy1qc87xi7z3w6jkxw"; depends=[BiocManager biomaRt BSgenome_Hsapiens_UCSC_hg19 circlize data_table doParallel dplyr foreach GenomeInfoDb GenomicFeatures GenomicInteractions GenomicRanges ggplot2 heatmaply HiCseg htmltools htmlwidgets igraph InteractionSet IRanges jointseg logging magrittr Matrix matrixStats numbers OpenImageR plotly plyr RCurl reshape2 rslurm rtracklayer S4Vectors shiny shinycssloaders shinyjs shinythemes spatialfil stringr tibble tidyr visNetwork]; };
   CNprep = derive2 { name="CNprep"; version="2.0"; sha256="08dpjikx3ldqzw2kwb12q0kbw15qzl09srjdfs0sz9si0x6bfxs6"; depends=[mclust rlecuyer]; };
   CNull = derive2 { name="CNull"; version="1.0"; sha256="14hy86zg18hqxi63bfzrpkz70yrzfxp2v2pva5xnrvx9dmlyz820"; depends=[ape Matrix PhyloMeasures Rcpp]; };
   COBRA = derive2 { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
   COCONUT = derive2 { name="COCONUT"; version="1.0.2"; sha256="1qjrhxn6dkxyimdca3nslaiw3hncfpk1pk4v01mcrnz550z001nz"; depends=[]; };
   COMBAT = derive2 { name="COMBAT"; version="0.0.4"; sha256="0m700pl33frdpc9y16y4zyh1ixpardh0r5kmz8a78jrh1acn30id"; depends=[corpcor mvtnorm]; };
   COMBIA = derive2 { name="COMBIA"; version="1.0.6"; sha256="1640bfl5sn00czxnl6j2rrdrzc5arvfpy5b66viybxm2qqbiw49w"; depends=[gdata hash lattice latticeExtra oro_nifti]; };
-  COMPoissonReg = derive2 { name="COMPoissonReg"; version="0.6.1"; sha256="1kjjvbp97035qawka1zbypr2gh28xnnsnbplflp3f660ch8rm8m6"; depends=[Rcpp]; };
+  COMPoissonReg = derive2 { name="COMPoissonReg"; version="0.7.0"; sha256="144vf3vfn5msc8p67q65frza8xyi9nqccjq47fnv33w5h0d9wlxj"; depends=[Rcpp]; };
   CONDOP = derive2 { name="CONDOP"; version="1.0"; sha256="0si9nm93wk9lif3r6jh2nxr4sjq1iqyfavbykja3zcy6yn05i19s"; depends=[earth GenomeInfoDb GenomicRanges IRanges mclust plyr randomForest rminer S4Vectors seqinr]; };
   CONS = derive2 { name="CONS"; version="0.1.1"; sha256="0w0rca4z3hij0lbabpdnhv2lb52gx574g7bqp6q16772pi4685hf"; depends=[FactoMineR gridExtra gWidgets pander raster readxl REdaS]; };
   CORE = derive2 { name="CORE"; version="3.0"; sha256="0wq9i7nscnzqiqz6zh6hglm7924261bw169q3x6l9i6jgqhvn32d"; depends=[]; };
@@ -611,8 +634,8 @@ in with self; {
   CRAC = derive2 { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; };
   CRANsearcher = derive2 { name="CRANsearcher"; version="1.0.0"; sha256="09gw1s28gb0l2cn4w3asl6zlr7wfacxwafbdrayajwckyfkjl5dl"; depends=[curl dplyr DT lubridate miniUI shiny shinyjs stringr]; };
   CREAM = derive2 { name="CREAM"; version="1.1.1"; sha256="1lccpwn6c5pmykgf689gvvpqdcilkys4vclpxjhllhanjrfhcs3q"; depends=[]; };
-  CRF = derive2 { name="CRF"; version="0.4-2"; sha256="0pgq9xp5qwr221026p5g5qlfwgj9ri1qq8m03pqjxpc6qlr4935l"; depends=[Matrix]; };
-  CRFCSD = derive2 { name="CRFCSD"; version="1.0"; sha256="028pqacjg4pb23z976rp6qanx74xs92a4id7875ydvdrgmmi7s14"; depends=[numDeriv orthopolynom Rcpp RcppArmadillo splines2]; };
+  CRF = derive2 { name="CRF"; version="0.4-3"; sha256="0jlcc1ffd2z7sz1szbi4vrp5rihmcp18bsw27x02ivi6l21nyivf"; depends=[Matrix]; };
+  CRFCSD = derive2 { name="CRFCSD"; version="3.0"; sha256="140g0f5alnd55w9irmbidjlsv3ari8y4qb1m7m28sa30rsnrnzfm"; depends=[numDeriv orthopolynom Rcpp RcppArmadillo splines2]; };
   CRM = derive2 { name="CRM"; version="1.2.4"; sha256="0jv2z1y3zyj1m86p4pmqww58hj8pvid1ss6ym67y46n9srzxsmj5"; depends=[]; };
   CRPClustering = derive2 { name="CRPClustering"; version="1.2"; sha256="19m7jg6ck2gqmry2p35h3vv8msm4w1x7qwwmm746r646q7w9ylml"; depends=[dplyr lucid MASS mvtnorm png randomcoloR]; };
   CRTSize = derive2 { name="CRTSize"; version="1.0"; sha256="1d45zx26bf0zk0piham69gvb8djqf48g6iisbldv0ds3s2hhcsin"; depends=[]; };
@@ -620,7 +643,7 @@ in with self; {
   CRWRM = derive2 { name="CRWRM"; version="0.0.1"; sha256="0w6lg5q2c0w5p9vg5qr32pycyl8d1zp0s55jlvf2xhmqx34677hd"; depends=[]; };
   CSESA = derive2 { name="CSESA"; version="1.2.0"; sha256="0pv6iabq1w22qbhlsbckdvva4n7igpzrjnrahmq83a6wxgvjbf5j"; depends=[Biostrings]; };
   CSFA = derive2 { name="CSFA"; version="1.2.0"; sha256="1nkyhk8qhrrlx8v26yw86l954m4xfcxma4pqbhgw95jvqql5h3li"; depends=[elasticnet fabia FactoMineR pls randomcoloR snowFT]; };
-  CSTools = derive2 { name="CSTools"; version="1.0.1"; sha256="1lc5vl6hphhwrlp6pqzhqxcdli1j1i9wmprdi2fhrbmavvb77plv"; depends=[abind data_table ggplot2 maps multiApply ncdf4 plyr rainfarmr reshape2 s2dverification]; };
+  CSTools = derive2 { name="CSTools"; version="2.0.0"; sha256="0vczsnbsijvpzzz7vbkgmwr92sk3khazxfw308v7cvbvxwflg4ym"; depends=[abind ClimProjDiags data_table ggplot2 maps multiApply ncdf4 plyr qmap rainfarmr reshape2 s2dverification verification]; };
   CSclone = derive2 { name="CSclone"; version="1.0"; sha256="0lqsqsgh2sf44fr1r7g179556v294yr1wy7x4320g7adxshrwyh5"; depends=[DNAcopy lpSolve mcclust moments]; };
   CSeqpat = derive2 { name="CSeqpat"; version="0.1.2"; sha256="1nqk873cagpn4fba4rmyzb6hni1p5lqcvsr9givrcm0gfx756w1h"; depends=[NLP tm]; };
   CTAShiny = derive2 { name="CTAShiny"; version="0.1.0"; sha256="18qw8nx1r4gwlxj9zxn4hllpn29fv3i4fgwyl5fh3qsv9hmbvi0x"; depends=[epitools rpivotTable shiny shinyMatrix]; };
@@ -639,7 +662,7 @@ in with self; {
   CVST = derive2 { name="CVST"; version="0.2-2"; sha256="05l3yzkfrbds09ah9cdwn2sn4ryhq78lz33ryzrgkv176jc8qjw5"; depends=[kernlab Matrix]; };
   CVThresh = derive2 { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[EbayesThresh wavethresh]; };
   CVTuningCov = derive2 { name="CVTuningCov"; version="1.0"; sha256="1bwzis82lqwcqp2djy4bnd3vvjr47krlv3pdc5msh12wcs0xhs7n"; depends=[]; };
-  CVXR = derive2 { name="CVXR"; version="0.99-6"; sha256="0dirqrjhnbgjvscqqk9vxpiqw3fkd95nd1rclac5i1wyy8dlgn29"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
+  CVXR = derive2 { name="CVXR"; version="0.99-7"; sha256="0jbw4gxcjrmzdm2681nfci34mkf16b9w6xi5slq6l5x273rfjh5v"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
   CVcalibration = derive2 { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
   CVglasso = derive2 { name="CVglasso"; version="1.0"; sha256="1bh09cd0yabhqv5yfahhvayx3f09yqapzl1yr9nc9xqwyx1d0cfd"; depends=[doParallel dplyr foreach ggplot2 glasso]; };
   CaDENCE = derive2 { name="CaDENCE"; version="1.2.5"; sha256="1z3p5y1l67r470x6wrhnyjvw1ndppcm08fpj99x122j7kn6byff2"; depends=[pso]; };
@@ -648,13 +671,13 @@ in with self; {
   CalSim = derive2 { name="CalSim"; version="0.3.2"; sha256="1a4w9kh9ykms1i30hhd7h8gdkbfl6g071jmcy26j1sbshxrnq8s1"; depends=[spatstat]; };
   Calculator_LR_FNs = derive2 { name="Calculator.LR.FNs"; version="1.3"; sha256="03qg9rnz623dwnp68xhhsh9788s49n6xp0migg1nnjaqhrahlgdd"; depends=[]; };
   CaliCo = derive2 { name="CaliCo"; version="0.1.1"; sha256="16a6hfd3s7dzb6mvpyn4fkdi5irfjsbal7niky2g6p54290va982"; depends=[coda DiceDesign DiceKriging ggplot2 gridExtra gtools MASS Matrix R6 Rcpp RcppArmadillo]; };
-  CalibratR = derive2 { name="CalibratR"; version="0.1.1"; sha256="0ka7amcml15qifwpw4phpn12r9qjn0dvlrlraf3af971yjmwc745"; depends=[doParallel fitdistrplus foreach ggplot2 pROC reshape2]; };
+  CalibratR = derive2 { name="CalibratR"; version="0.1.2"; sha256="1hnmhijckxd35h8mhpzqpglk1ykdih2c5kg17myc7cci5xjk9nfr"; depends=[doParallel fitdistrplus foreach ggplot2 pROC reshape2]; };
   CalibrateSSB = derive2 { name="CalibrateSSB"; version="1.1"; sha256="0rqa6xbxzqv0ks3i4pmmzczhf6g3ss6mb96g3d71y9xa6pzdxjjp"; depends=[survey]; };
+  CamelUp = derive2 { name="CamelUp"; version="0.1.1"; sha256="09i6bi2vnd7iyll9s8sbyy73l6kq8xrpf07qbcahs595x5iclgrg"; depends=[data_table R6 shiny shinyalert tidyverse]; };
   Canopy = derive2 { name="Canopy"; version="1.3.0"; sha256="0979hpphzhf4v71jx0shh3l8nffmpsn9l6f8ip2wxzcyx571i1wd"; depends=[ape fields pheatmap scatterplot3d]; };
   CarletonStats = derive2 { name="CarletonStats"; version="2.0"; sha256="0pgzvw6gf8kjv8ndprwp4wlgdgh5sb75ga8z5syfw57fb05v7ac3"; depends=[]; };
-  Cascade = derive2 { name="Cascade"; version="1.7"; sha256="110fmav17j17w98fz1fx5d731p5f4g3sc7bx187p1wgwiv6x9kkm"; depends=[abind animation cluster igraph lars lattice limma magic nnls survival tnet VGAM]; };
+  Cascade = derive2 { name="Cascade"; version="1.8"; sha256="0d75a9f43ligyjv62476plb86ipfq9y7g9njq4rx84cp17vbb662"; depends=[abind animation cluster igraph lars lattice limma magic nnls survival tnet VGAM]; };
   CascadeData = derive2 { name="CascadeData"; version="1.2"; sha256="0czc41f1vj61rkdl6gnnnga3qliyxp0ffl5j9wrhrlwnbdaknics"; depends=[]; };
-  CaseBasedReasoning = derive2 { name="CaseBasedReasoning"; version="0.1"; sha256="0hwll17j0br8sr0ci3bfa5rx4r36hr7myq7b5fav664zjxdh9wr4"; depends=[cowplot data_table dplyr magrittr R6 ranger Rcpp RcppArmadillo RcppParallel rms survival tidyverse]; };
   CatDyn = derive2 { name="CatDyn"; version="1.1-1"; sha256="0gkaxs7apqhq7mp3chjsyhrnk3qkk11f8p7smmyj6h73888ry8jn"; depends=[BB optimx]; };
   CatEncoders = derive2 { name="CatEncoders"; version="0.1.1"; sha256="1q9wzq06lac8z9y8b65alsxpb48bw8wqmifd893kknk51xq6r9kl"; depends=[data_table Matrix]; };
   CatPredi = derive2 { name="CatPredi"; version="1.1"; sha256="1fqz2mb3xhpzvamf0bpqfql3vd86vq6fq7n6p8xq7lraj1w77lys"; depends=[CPE mgcv rgenoud rms survival]; };
@@ -667,6 +690,7 @@ in with self; {
   CautiousLearning = derive2 { name="CautiousLearning"; version="1.0.1"; sha256="1m5x93l4bscrpcxk0pva6d6n2qnzhzxh0a6a81p97l8lqgs1qw2q"; depends=[BH Rcpp sitmo spc]; };
   CePa = derive2 { name="CePa"; version="0.6"; sha256="1qpxx9x656g678wp190q29vxkb54sfkalg0csg0ndlcvi03dvl3d"; depends=[graph igraph Rgraphviz]; };
   CeRNASeek = derive2 { name="CeRNASeek"; version="2.1"; sha256="007wzq18p8dp7v4dplxsnq3i1qvd740s59nv9ygcr28d6gvsx1fy"; depends=[gtools igraph survival]; };
+  CensMFM = derive2 { name="CensMFM"; version="1.5"; sha256="1zdky0rmh27939zka7x0276g5p6wx14hc8206q2z84q3y5mjgahp"; depends=[ggplot2 gridExtra mnormt MomTrunc mvtnorm]; };
   CensMixReg = derive2 { name="CensMixReg"; version="3.1"; sha256="1r7w84bjdxnkhiw7gh499scc6m3ba9b2a8cwayn6sg5a524yn9gs"; depends=[ClusterR mixsmsn mnormt mvtnorm trimcluster]; };
   CensRegMod = derive2 { name="CensRegMod"; version="1.0"; sha256="0qqwkxn8knhcjb6mph7mp7mma56zxslbvkfgfajq2lq4gbg901y4"; depends=[]; };
   CensSpatial = derive2 { name="CensSpatial"; version="1.3"; sha256="0gd1c5qlk71avv0s3jqwb00h9cm6djg9qwzc1znc3kh61wx9kvfi"; depends=[geoR lattice moments msm mvtnorm numDeriv optimx psych raster tmvtnorm]; };
@@ -679,7 +703,7 @@ in with self; {
   ChangepointTesting = derive2 { name="ChangepointTesting"; version="1.0"; sha256="1nb78b1jpp0wpy9ah2fxkh53hlmb2f82b68msbfhancb8zp2lclv"; depends=[]; };
   ChannelAttribution = derive2 { name="ChannelAttribution"; version="1.16"; sha256="02kxybv9299j36xl4wk6d50crdnz0f6qbyxjiy6xf0s7hnlcr44c"; depends=[Rcpp RcppArmadillo]; };
   ChannelAttributionApp = derive2 { name="ChannelAttributionApp"; version="1.1"; sha256="0qy92ij1riynz7dhri3z85pafww5w9j1gx1bcgr8phlr32a7had7"; depends=[ChannelAttribution data_table ggplot2 shiny]; };
-  Chaos01 = derive2 { name="Chaos01"; version="1.2.0"; sha256="10780nxdakk4xnbzdnrcm3z66ipx5pf676n9s1arb4g624splc61"; depends=[]; };
+  Chaos01 = derive2 { name="Chaos01"; version="1.2.1"; sha256="1wk70l1y0yzbjcjp0r334l1q3hzki0vzn6wbza97mq9pz8wp050r"; depends=[]; };
   ChaosGame = derive2 { name="ChaosGame"; version="0.4"; sha256="10bq8i6b6zkg8nzq5np998xabyvijizxfbvw1m2nvfh74vxspj4p"; depends=[colorRamps ggplot2 gridExtra plot3D RColorBrewer rgl sphereplot]; };
   ChargeTransport = derive2 { name="ChargeTransport"; version="1.0.2"; sha256="0mq06ckp3yyj5g1z2sla79fiqdk2nlbclm618frhqcgmq93h0vha"; depends=[]; };
   CheckDigit = derive2 { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; };
@@ -691,8 +715,8 @@ in with self; {
   ChoR = derive2 { name="ChoR"; version="0.0-4"; sha256="08mildsx542zfm0kcdakcv7c71hb4jgbcq1lhidf0fz76zj1pzk1"; depends=[commonsMath rJava]; };
   ChocoLattes = derive2 { name="ChocoLattes"; version="0.1.0"; sha256="0ircdar4fswaf34969gzgn83ia891jvwl29jn4s9a87cc4qagzgr"; depends=[ggplot2 knitr plotly R_utils rmarkdown WriteXLS XML]; };
   ChoiceModelR = derive2 { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
-  CholWishart = derive2 { name="CholWishart"; version="1.0.1"; sha256="1kzvd9nmkqx3f2n3305h8p3zlh32ql5a94p6p2m5q951x54hivz0"; depends=[]; };
-  CircMLE = derive2 { name="CircMLE"; version="0.2.1"; sha256="031pmfyqwif16am7h1csk1dg9vhy0jgdc8w4z60kqqsgf3yk6il9"; depends=[circular]; };
+  CholWishart = derive2 { name="CholWishart"; version="1.1.0"; sha256="1p92i5ibv9805fg8s5wrpxx63k4c1ihs1x2zlaz9vbkqypkl8aqz"; depends=[]; };
+  CircMLE = derive2 { name="CircMLE"; version="0.2.2"; sha256="0qavd67295ca8jrwllkgjp5b84kxf4pik226pm9y126bz3rss9a1"; depends=[circular]; };
   CircNNTSR = derive2 { name="CircNNTSR"; version="2.2"; sha256="0z29dsvcwpra1ny8kj486dpnrak272wmkfnaiyashzcqpnkmkg03"; depends=[]; };
   CircOutlier = derive2 { name="CircOutlier"; version="3.2.3"; sha256="1vyac4mjkn6p4p9n5finqqak6g7m3hj04a66v3w797jn1wbd1xly"; depends=[CircStats circular]; };
   CircSpaceTime = derive2 { name="CircSpaceTime"; version="0.9.0"; sha256="0dplgm5x4c1xxnv6062n643mn5zh0najw3f41pv2qafc1lil4wx8"; depends=[circular coda ggplot2 Rcpp RcppArmadillo RInside]; };
@@ -701,25 +725,28 @@ in with self; {
   Cite = derive2 { name="Cite"; version="0.1.0"; sha256="1gfjirhswh4dkz88z4gl8m8jznqrvcgd4z3mnszyg1k5w3avlf1q"; depends=[miniUI RefManageR rstudioapi shiny]; };
   CityPlot = derive2 { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; };
   CityWaterBalance = derive2 { name="CityWaterBalance"; version="0.1.0"; sha256="0nvm6bv2cxszjf33xgn1xcvhrgrgbdcar0jahwf7bs03gdlpmgi1"; depends=[dataRetrieval dplyr EcoHydRology geoknife lubridate reshape2 tgp xts zoo]; };
-  Ckmeans_1d_dp = derive2 { name="Ckmeans.1d.dp"; version="4.2.2"; sha256="15arwppq78zvjxhvhm4kal0x0a9cwjbgmi5xhq3vch8ppwzvm2mh"; depends=[Rcpp]; };
+  Ckmeans_1d_dp = derive2 { name="Ckmeans.1d.dp"; version="4.3.0"; sha256="0xl587a4yym2a8b1csdgrj6fmggb3084pj3p7z4hqr2pq5jdyadk"; depends=[Rcpp Rdpack]; };
   Claddis = derive2 { name="Claddis"; version="0.3.0"; sha256="10r1v2nla43ckhbvdvldvpmcv0j966cdsasr3vgd5wfrca5jar73"; depends=[ape gdata phytools strap]; };
   ClamR = derive2 { name="ClamR"; version="2.1-1"; sha256="0raz1n79g24a9mc93zj49r20xcmdziw6vvcw5sd3qyjp1ycia13c"; depends=[]; };
   ClassComparison = derive2 { name="ClassComparison"; version="3.1.8"; sha256="0fd5s4697pvj295fzvvn5mislf42wfzrcvks17v98388rph586gl"; depends=[Biobase oompaBase]; };
   ClassDiscovery = derive2 { name="ClassDiscovery"; version="3.3.12"; sha256="1r9fri9mlvzhd5ki5spd6xqq6767p6hha72cr3r20s1z5327wkpy"; depends=[Biobase cluster mclust oompaBase oompaData]; };
   CleanBSequences = derive2 { name="CleanBSequences"; version="0.4.0"; sha256="12s24v2kfyc32pm34ibw58zzjqhzwlrqrkhl0m70jcqvn50b5r98"; depends=[Biostrings]; };
   ClickClust = derive2 { name="ClickClust"; version="1.1.5"; sha256="0b46f453mffg4ym6yvmh7g3v05mc9gphwfra75j28y1425s87yvw"; depends=[]; };
+  ClickClustCont = derive2 { name="ClickClustCont"; version="0.1.7"; sha256="1caymvpwvxq4rirnjm2kwzvqm1pl01rdc3785k8mq4k2m0n6l2rz"; depends=[gtools]; };
   CliftLRD = derive2 { name="CliftLRD"; version="0.1-1"; sha256="0qsdv568klxg6chgw329jbfjmf6w61hly2vxp90yzdfkca03z2s4"; depends=[CNLTreg liftLRD]; };
   ClimClass = derive2 { name="ClimClass"; version="2.1.0"; sha256="1r836md31z2r5d9xckkbalzbhm4kf5paljv71kxpy53q92k7yi91"; depends=[geosphere ggplot2 reshape2]; };
   ClimDown = derive2 { name="ClimDown"; version="1.0.2"; sha256="0dbv5vn985bi9nqxhq7jcj6k38s8dlbqnln3adgd0ih2fwilvalg"; depends=[abind fields foreach ncdf4 PCICt seas udunits2]; };
   ClimInd = derive2 { name="ClimInd"; version="0.1-2"; sha256="0brimmkr8ccdbpmcmgbd8ydx4cy0yblfrzcgx151x83wskzq04sj"; depends=[chron SPEI weathermetrics]; };
+  ClimMobTools = derive2 { name="ClimMobTools"; version="0.2-7"; sha256="0y2dhf7j230hvsi54dl08ds170ad7aww4c8gk0f5c2v2zfxkbya8"; depends=[httr jsonlite Matrix nasapower PlackettLuce raster RSpectra tibble tidyr]; };
   ClimProjDiags = derive2 { name="ClimProjDiags"; version="0.0.4"; sha256="1819kv0h7qh285nykncdqr808b9v5fviccr0fbv2im7zni497scq"; depends=[climdex_pcic multiApply PCICt plyr]; };
-  ClinReport = derive2 { name="ClinReport"; version="0.9.1.12"; sha256="0c0ixr28p8gj3mx2pkrmjvs13g9h8fv1y6ririvrwkbmrdikq7g3"; depends=[dplyr emmeans flextable ggplot2 officer reshape2 xtable]; };
+  ClinReport = derive2 { name="ClinReport"; version="0.9.1.14"; sha256="140hpg6ybz1rlql06gk851fcvlb2k53kp46dq22cbs36frggk3rj"; depends=[car dplyr emmeans flextable ggplot2 lme4 officer reshape2 xtable]; };
   ClinicalTrialSummary = derive2 { name="ClinicalTrialSummary"; version="1.1.1"; sha256="0b5by4sn9yvrvxr9921yqsgp8ma3g1hi2qbp5j9m836db1zjhyla"; depends=[Rcpp]; };
+  CliquePercolation = derive2 { name="CliquePercolation"; version="0.2.0"; sha256="1zllhl1674734sr0hmfgwdyqlk4rcjdqqrd7rx30llqri478jdff"; depends=[colorspace igraph magrittr Matrix Polychrome qgraph]; };
   CloneSeeker = derive2 { name="CloneSeeker"; version="1.0.7"; sha256="07rh577m7xp6v0adchp0mbfs0mkglpv7p27794rm958nvfsmffds"; depends=[combinat gtools quantmod]; };
   ClueR = derive2 { name="ClueR"; version="1.4"; sha256="0awl3ag48idg0396hcgqrh5f16mbgximr5xbxjiimib5zysdc558"; depends=[e1071]; };
   ClusVis = derive2 { name="ClusVis"; version="1.2.0"; sha256="06yckdl3gxjia1gjjqpc29lvy4f7qf47fncslng9ggjnks6il145"; depends=[MASS mgcv mvtnorm Rcpp RcppArmadillo Rmixmod VarSelLCM]; };
   ClussCluster = derive2 { name="ClussCluster"; version="0.1.0"; sha256="1436849m2mnm8j7lf653zv8lcvvg2ch8kkks4bvr39kx21wxy8ss"; depends=[ggplot2 reshape2 rlang scales VennDiagram]; };
-  ClustBlock = derive2 { name="ClustBlock"; version="2.0.0"; sha256="0g6z4l4ilpamdi8wfmlwz21kjiwlwnl702i38rzlyvysr1afsxv1"; depends=[FactoMineR]; };
+  ClustBlock = derive2 { name="ClustBlock"; version="2.1.1"; sha256="0zgrv0bayrfp7hw14zmfl3752l1kjk27lfdgalbx39rgf4pn245g"; depends=[FactoMineR]; };
   ClustGeo = derive2 { name="ClustGeo"; version="2.0"; sha256="1p5k2w1k7hnacbazzj2yhxh4z2jngnsl4v5a9b3c8z1dr4nhcwxc"; depends=[sp spdep]; };
   ClustImpute = derive2 { name="ClustImpute"; version="0.1.3"; sha256="1rfs8vbpqjskl5ap12x6qmxg4ygaaycaas8x3ylaqvlvyy9ywhki"; depends=[ClusterR copula dplyr magrittr rlang]; };
   ClustMMDD = derive2 { name="ClustMMDD"; version="1.0.4"; sha256="0sblf3crpai53dflhyi27yn6mg0xyy9dxhwsk8j57sq5vr50x686"; depends=[Rcpp]; };
@@ -727,7 +754,7 @@ in with self; {
   ClustVarLV = derive2 { name="ClustVarLV"; version="2.0.0"; sha256="03fv3mzmimsmg3d4mlp1j4d1y6qhaaaaml3f6bd8v39h03kd9450"; depends=[doParallel foreach iterators plyr Rcpp RcppEigen]; };
   Cluster_OBeu = derive2 { name="Cluster.OBeu"; version="1.2.2"; sha256="1hh5aah5vnk1ld4hhpslr7hvxhw2b5x55rzxrm6j101sw533706h"; depends=[car cluster clValid data_tree dendextend jsonlite mclust RCurl reshape reshape2 stringr]; };
   ClusterBootstrap = derive2 { name="ClusterBootstrap"; version="1.0.0"; sha256="0m1lfp27vn3ybwimwkrihff5v2bvdc4c46x8bha8hw0wma14lw5i"; depends=[]; };
-  ClusterR = derive2 { name="ClusterR"; version="1.2.0"; sha256="1l5b6n29gslv0xq79xhqd3rniv51bawbrz3qdnjc3677fpgirlx7"; depends=[FD ggplot2 gmp gtools Rcpp RcppArmadillo]; };
+  ClusterR = derive2 { name="ClusterR"; version="1.2.1"; sha256="131k4dsh11xx95rhbr9zx20j9y493hiil6gxbgqks8dqp7n895j7"; depends=[ggplot2 gmp gtools Rcpp RcppArmadillo]; };
   ClusterRankTest = derive2 { name="ClusterRankTest"; version="1.0"; sha256="01gzalhibqcdx3a6yc2cm1v77rscva73v5m5m0qkrgqdp9c8ph2a"; depends=[]; };
   ClusterStability = derive2 { name="ClusterStability"; version="1.0.3"; sha256="1laa5m3y1rc7jr8q3i9qb3izs7qmadz169w9xm8q3mm3834ngn9b"; depends=[cluster clusterCrit copula Rcpp WeightedCluster]; };
   ClusteredMutations = derive2 { name="ClusteredMutations"; version="1.0.1"; sha256="1n31nnvpjh1faw751k8m3ga3wfl0yhdpnszwckqhfzlma1jr8z04"; depends=[seriation]; };
@@ -735,14 +762,15 @@ in with self; {
   CoDiNA = derive2 { name="CoDiNA"; version="1.1.1"; sha256="00kda4grizdgh9xs0vywg9npjj7i97vbdf0hvzl96657rcillwdh"; depends=[data_table igraph magrittr plyr visNetwork]; };
   CoFRA = derive2 { name="CoFRA"; version="0.1002"; sha256="0ldf84dxaanww3qkf64mz5gv3yv2rjp9m6dy64xckds66vw6x0m3"; depends=[gplots stringr]; };
   CoImp = derive2 { name="CoImp"; version="1.0"; sha256="06y722flpiqpwq0p7ik86s09mdnvqw3hdybhdzn8vfns5swc8x1y"; depends=[copula gtools locfit nnet]; };
-  CoRpower = derive2 { name="CoRpower"; version="1.0.2"; sha256="1kiljppp96iykc1m3im10nsgpqia1vqcwqxpsb53hkb7b7yz4pfg"; depends=[osDesign survival]; };
+  CoRpower = derive2 { name="CoRpower"; version="1.0.3"; sha256="007v6khv2kkf398cqy3vjv0ncd7zc8ad084a5qhpplsnj1f3ll2j"; depends=[osDesign survival]; };
   CoSMoS = derive2 { name="CoSMoS"; version="1.0.1"; sha256="1kh1ka428vv99vwxajyvaz9n5d1ss6h03w7kwwp89hjxrm8wnrc2"; depends=[data_table ggplot2 nloptr pracma]; };
   CodataGS = derive2 { name="CodataGS"; version="1.43"; sha256="1bjn6s1f5jn64gwrvjz5kvwfkbqrqhavib6dj9k37rb5nzqkwhp6"; depends=[Matrix]; };
   CodeDepends = derive2 { name="CodeDepends"; version="0.6.5"; sha256="0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq"; depends=[codetools graph XML]; };
   CoinMinD = derive2 { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; };
+  Coinprofile = derive2 { name="Coinprofile"; version="0.1.9"; sha256="1bcip62gm34cx5m8a1mx9px2rhgvdmsgnn6q9q40k8p5hw4cx9g0"; depends=[coin exactRankTests ggplot2 plyr Rdpack zoo]; };
   CollapsABEL = derive2 { name="CollapsABEL"; version="0.10.11"; sha256="0libm1wv34av3vm2vvbqcnxjh4y1rwfi8qzjca8qdz9490vngags"; depends=[biganalytics bigmemory collUtils dplyr ggplot2 haplo_stats R_utils rJava RSQLite stringr]; };
   CollapseLevels = derive2 { name="CollapseLevels"; version="0.2.0"; sha256="1fn5k83lh0vw5j9vhq0x6ksbkrm25acpslav85wfyknsj9vzmzid"; depends=[dplyr ggplot2 lazyeval magrittr]; };
-  CollessLike = derive2 { name="CollessLike"; version="1.0"; sha256="080mrvszysdqvx03sd4aczvhs1zmhc6fx8zp5nwrh7mmyajslxkx"; depends=[ape igraph]; };
+  CollessLike = derive2 { name="CollessLike"; version="2.0"; sha256="060iqvhyz36s28iyhlr6jj9ah3xd42yaps37kkprajxmyxldk6pp"; depends=[ape igraph]; };
   CollocInfer = derive2 { name="CollocInfer"; version="1.0.4"; sha256="1iwf5g2y7i0j8dc19hdhya4m6g47jj968glnclj7a2yaq2yx37cj"; depends=[deSolve fda MASS Matrix spam]; };
   ColorPalette = derive2 { name="ColorPalette"; version="1.0-1"; sha256="1dsj5njikx3qm2lnamqqg4qgwwyr11fwx9s5sdi7dkfx3nmf6dac"; depends=[]; };
   ComICS = derive2 { name="ComICS"; version="1.0.4"; sha256="0brsb7y1bg23sdpxs4j1y3xdgr1q7iinxnnp17rravw72l991xqa"; depends=[glmnet]; };
@@ -757,7 +785,6 @@ in with self; {
   CommunityCorrelogram = derive2 { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
   Comp2ROC = derive2 { name="Comp2ROC"; version="1.1.4"; sha256="06hpbid9z1pzg7k4gqp2zn8l7sm375z32fsn54i27qbl3inp7m2d"; depends=[boot ROCR]; };
   CompDist = derive2 { name="CompDist"; version="1.0"; sha256="02c18ksk6clv674yh79bzg3mh9hymzhal51j6g0rnvqd5ra8g66c"; depends=[actuar fExtremes numDeriv PearsonDS rmutil VGAM]; };
-  CompGLM = derive2 { name="CompGLM"; version="2.0"; sha256="08h91lqafs2af1ms2zmd0v5bg2y9218frk5l6bj3y53791aqd5s2"; depends=[Rcpp]; };
   CompLognormal = derive2 { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; };
   CompQuadForm = derive2 { name="CompQuadForm"; version="1.4.3"; sha256="1i30hrqdk64q17vsn918c3q79brchgx2wzh1gbsgbn0dh1ncabq4"; depends=[]; };
   CompR = derive2 { name="CompR"; version="1.0"; sha256="1k4q0yanvhdh3ksia7d42lxky19yci5vxhmi6h716g9sxzfsjk6b"; depends=[MASS]; };
@@ -765,13 +792,13 @@ in with self; {
   CompareCausalNetworks = derive2 { name="CompareCausalNetworks"; version="0.2.4"; sha256="108x9a83pbk6xiv1fgzwi0fpbvhpiff7aiplrsq2rfv1isjb5xhq"; depends=[data_table expm Matrix]; };
   CompareTests = derive2 { name="CompareTests"; version="1.2"; sha256="1z96kh851bpr2szgyjszkpv6m5ma6abz7hrm50fgvfpgxkj7f4yi"; depends=[]; };
   Compind = derive2 { name="Compind"; version="2.1"; sha256="1cjvpgankifiql67imhxx382q2lz1jq9k0nrwzq560h0xizkak6i"; depends=[Benchmarking boot GPArotation Hmisc lpSolve MASS nonparaeff np psych smaa spdep]; };
-  Compositional = derive2 { name="Compositional"; version="3.5"; sha256="00z1z70aahdn09f6fpwphk925zbkbx37vdnz80wi0wz8h2kq9rck"; depends=[doParallel emplik fields foreach MASS mixture Rfast sn]; };
+  Compositional = derive2 { name="Compositional"; version="3.6"; sha256="1ngyw7zxvwav65ly6rjqc1zfrgwv3s2a2kyihjf68in6qnqigqxm"; depends=[doParallel emplik foreach MASS mda mixture Rfast Rfast2 sn]; };
   Compounding = derive2 { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
   ConConPiWiFun = derive2 { name="ConConPiWiFun"; version="0.4.6"; sha256="1kkc4xp5b6q54b76wk4ga28wl668psbpyivl6bnh3xm21276yx5k"; depends=[Rcpp]; };
-  ConR = derive2 { name="ConR"; version="1.2.3"; sha256="03i7c4wlg58lwnfh28j5lv9aigvwb7haibcqly3712f0w7a9ixwg"; depends=[doParallel fields foreach geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils tibble writexl]; };
+  ConR = derive2 { name="ConR"; version="1.2.4"; sha256="1d36j1q364pakcm8xrbw323pg6dg9brsf6x3hcj1kahcqls9dcff"; depends=[doParallel fields foreach geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils tibble writexl]; };
   ConSpline = derive2 { name="ConSpline"; version="1.2"; sha256="16r0v0llj0pri69jqxribp8dpzh6yn6acpq20aaky14fyh3i4q7x"; depends=[coneproj]; };
   Conake = derive2 { name="Conake"; version="1.0"; sha256="1rj1rv8r53516jqhwp9xqqwjxh4gx1w47c0bw59f87wiy5pbchpf"; depends=[]; };
-  CondIndTests = derive2 { name="CondIndTests"; version="0.1.4"; sha256="0588by7rxrzm2zjigk44snsfv89vkp4fh7y72qm39g57vdz3ykjx"; depends=[caTools kernlab lawstat MASS mgcv quantregForest randomForest RPtests]; };
+  CondIndTests = derive2 { name="CondIndTests"; version="0.1.5"; sha256="0km4z8wnj5msg1pmphk2fccbw1cidsxv174817lwcyii9nf5iwsm"; depends=[caTools kernlab lawstat MASS mgcv mize pracma quantregForest randomForest RPtests]; };
   CondReg = derive2 { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
   ConfIntVariance = derive2 { name="ConfIntVariance"; version="1.0.2"; sha256="0xm3vh3vmf16faa3934100rnrg4rvlqkgjlsqa2smzcvy5vb86z4"; depends=[]; };
   ConfigParser = derive2 { name="ConfigParser"; version="1.0.0"; sha256="0jjh6gz5qcqhirzkmg7a4lnf8n3mjly15x2mvbvdpjkk7iv3w9m3"; depends=[ini R6]; };
@@ -781,36 +808,38 @@ in with self; {
   ConjointChecks = derive2 { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; };
   ConnMatTools = derive2 { name="ConnMatTools"; version="0.3.3"; sha256="0zsn3al3di0fd9hkqljpqqy4zbmh97xr6cdi4fzv80ax81fjfqyk"; depends=[]; };
   ConsRank = derive2 { name="ConsRank"; version="2.0.1"; sha256="18f1gqa46f8jrcf2zj4njyy78cl0scjs9k8s9mvg0f9dpr44xnan"; depends=[gtools proxy rgl]; };
+  ContaminatedMixt = derive2 { name="ContaminatedMixt"; version="1.3.4"; sha256="148zpk5a091kxrn6f73k6piwfwbqdmiyd48qinn6cbfma012n13w"; depends=[caret mclust mixture mnormt mvtnorm]; };
   ContourFunctions = derive2 { name="ContourFunctions"; version="0.1.1"; sha256="00p5bdiq8hj95lkr86iwyh50qw0d0d4gs9hhbzcix6lwn8dwqd3s"; depends=[]; };
-  ConvergenceClubs = derive2 { name="ConvergenceClubs"; version="1.4.3"; sha256="0glfnwmfs6xv4d1h5y0859srvj3y68192589mdjcx0jgkgk2c9np"; depends=[lmtest sandwich]; };
-  ConvergenceConcepts = derive2 { name="ConvergenceConcepts"; version="1.2.1"; sha256="0kl67ds6369mxl2i93h43r00ji12qkg0k9m4jhcxsb0ydd8rfqgp"; depends=[lattice tkrplot]; };
+  ConvergenceClubs = derive2 { name="ConvergenceClubs"; version="2.2.1"; sha256="0mn0lnycz5pi821q52g1njjs2pcmvv8yynr13bh237c8cashk2n3"; depends=[lmtest sandwich]; };
+  ConvergenceConcepts = derive2 { name="ConvergenceConcepts"; version="1.2.2"; sha256="1pvcl0bgd4anrbn6wqxsd1s23ycsc7jhrk94yzwx67xx0qs9mmrw"; depends=[lattice tkrplot]; };
   CoopGame = derive2 { name="CoopGame"; version="0.2.1"; sha256="1c11b5l6r5csa6zw5a6lfqaygzhnp5jfdf0vkrxpl7fb4bbxhm31"; depends=[geometry gtools rcdd rgl]; };
   CoordinateCleaner = derive2 { name="CoordinateCleaner"; version="2.0-11"; sha256="0z1ksim2chwg5acbvav0dzsrnzch1qmbvr2k0dhjmn8lr9rdk4m5"; depends=[dplyr geosphere ggplot2 raster rgbif rgdal rgeos rnaturalearth sp tidyselect]; };
   CopCTS = derive2 { name="CopCTS"; version="1.0.0"; sha256="1j0bhkjk181y9k69442diswgwax5whmh5vfqydhf3b1r5ll1wkm3"; depends=[copBasic copula msm]; };
-  Copula_Markov = derive2 { name="Copula.Markov"; version="2.4"; sha256="1qzc1clj6i1msqy6405w2vqxsx8hyzhd4zz6cqirv1zl4r2743vv"; depends=[]; };
+  Copula_Markov = derive2 { name="Copula.Markov"; version="2.5"; sha256="1jn9lkdkm3i2z3z7v1xqbb3w6szlhng5l16xr2iam39ffl2vn99m"; depends=[]; };
+  Copula_Markov_survival = derive2 { name="Copula.Markov.survival"; version="0.1.0"; sha256="1r9m96r0mqqjlawhlb9d8d1hf2k2bkal2fmw6g0zabdjb19c75y7"; depends=[survival]; };
   Copula_surv = derive2 { name="Copula.surv"; version="1.0"; sha256="1cq12vmsvrxd6anpv6b5jig7x1lf6pj589353h2ba9k0fhkpk51y"; depends=[]; };
   CopulaCenR = derive2 { name="CopulaCenR"; version="1.1.2"; sha256="1ksxqgb91vww5q4njidchxwia64g5229dvpxhqhfp8w6hvmib1k1"; depends=[caret copula corpcor flexsurv icenReg magrittr plotly pracma survival]; };
   CopulaDTA = derive2 { name="CopulaDTA"; version="1.0.0"; sha256="1bx0jvlbhaxf4yhrfpd5l5zp7kmp6f17ckb1y9974sgc7s3hpqcd"; depends=[ggplot2 plyr reshape2 rstan]; };
   CopulaREMADA = derive2 { name="CopulaREMADA"; version="1.3"; sha256="152g8nfa3ksj0dlzlch9a6g18b1vi6dlw748a6m55haghchbyr9l"; depends=[matlab mc2d statmod tensor]; };
   CopyDetect = derive2 { name="CopyDetect"; version="1.3"; sha256="1g3bwd805h62x93xvvn67acf9v6vn7s7ghxpvjhwcfdfj7fwzh6l"; depends=[mirt]; };
+  CorBin = derive2 { name="CorBin"; version="0.3.3"; sha256="0jf3d0mbr0vmcqmk5p4rcvc3nc4dn6cqcj8fcqyf32y9vwxd2wii"; depends=[]; };
   CorDiff = derive2 { name="CorDiff"; version="1.0"; sha256="12rgfhygrdq1ign4ybr8g171wxic8zbp83n1xdsnqpj910k5jdr5"; depends=[mcc]; };
-  Corbi = derive2 { name="Corbi"; version="0.4-4"; sha256="0s56hl2hr73kf8y7syq441wy1b9gjjcnvpgdigcc9g7gi0bkjx35"; depends=[CRF Matrix mpmi]; };
+  Corbi = derive2 { name="Corbi"; version="0.5-0"; sha256="05jr0y0qjv2l5ikx8cj10nl16z5yvcjbzdz5gk7lp6kpnmgq3sbw"; depends=[Matrix]; };
   CoreGx = derive2 { name="CoreGx"; version="0.1.0"; sha256="1hw7hnd259cspy043js8rv5mb600j3kdhrcq9iva0nmy1qayxdbl"; depends=[Biobase lsa piano rlang]; };
   CornerstoneR = derive2 { name="CornerstoneR"; version="1.1.1"; sha256="017j7s3m97sxahgnvk9sm7rfx81cjp1xzsmw7b1aqi7301zjrqa7"; depends=[checkmate data_table ranger vcd]; };
   CorporaCoCo = derive2 { name="CorporaCoCo"; version="1.1-0"; sha256="1s3wlcy6mnw9riivw5lc4gd6bjbsd77m15ipr95g46isdcrli8zb"; depends=[data_table RColorBrewer rlist]; };
   CorrBin = derive2 { name="CorrBin"; version="1.6"; sha256="0iwad5qf7hqii02s5f85155c5s7v8ghnac4l6l3c45dshrpapp2m"; depends=[boot combinat dirmult geepack mvtnorm]; };
-  CorrMixed = derive2 { name="CorrMixed"; version="0.1-13"; sha256="02zg5kmv5qxnasnz872r3z7x7dmdcniq1x5xyfnnb3niwkdjgxzx"; depends=[nlme psych]; };
+  CorrMixed = derive2 { name="CorrMixed"; version="1.0"; sha256="0rj987k8pzsw9n9a20ky23rwc3zyqsl0fcibpmry7p8pw2miaj0z"; depends=[nlme psych]; };
   CorrToolBox = derive2 { name="CorrToolBox"; version="1.6.1"; sha256="1hqbb3raw86g3ww8dmapyy8lac2avs6jbjklfvi9gx06lyw4kv9r"; depends=[BinNonNor BinOrdNonNor GenOrd moments mvtnorm psych]; };
   CorrectOverloadedPeaks = derive2 { name="CorrectOverloadedPeaks"; version="1.2.17"; sha256="1g7irjbhwnbhk74y3qxcjlrsn2yz8q6wn7ih16wq669nswryxhxk"; depends=[bitops digest XML]; };
   CorrectedFDR = derive2 { name="CorrectedFDR"; version="1.0"; sha256="15047cfjniljzhznkbzq3hyq221y9k7fa04f69zm0k0sxr627gxg"; depends=[]; };
-  Correlplot = derive2 { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; };
   CosW = derive2 { name="CosW"; version="0.1"; sha256="12l4w8b5jnr8773hxk7khrdn705x6bdbw7s8z8w95bfbbi12dj6v"; depends=[fdrtool pracma]; };
   Counterfactual = derive2 { name="Counterfactual"; version="1.1"; sha256="0mz0h5zsmca8fww7nq08m9cld2zbaydn8qad5f2g6vxn382842p9"; depends=[doParallel doRNG foreach Hmisc quantreg survival]; };
-  Countr = derive2 { name="Countr"; version="3.5.2"; sha256="0f45pxxl09avf4k6lzlhykd1y07hvpc3d68bc2y7nrxhpipwl5yl"; depends=[boot car dplyr flexsurv Formula lattice lmtest MASS Matrix numDeriv optimx pscl RColorBrewer Rcpp RcppArmadillo Rdpack standardize VGAM xtable]; };
+  Countr = derive2 { name="Countr"; version="3.5.4"; sha256="10fzmqncbnr47x35xqpsmwzadv9j6r2svisrv8vfpp27mlvp9qwr"; depends=[boot car dplyr flexsurv Formula lattice lmtest MASS Matrix numDeriv optimx pscl RColorBrewer Rcpp RcppArmadillo Rdpack standardize VGAM xtable]; };
   CountsEPPM = derive2 { name="CountsEPPM"; version="3.0"; sha256="0iw7sfrb4yyaagwm1f4q9av5zvzia1mp2ns287ppsw3k248lz0kb"; depends=[expm Formula lmtest numDeriv]; };
   CovSel = derive2 { name="CovSel"; version="1.2.1"; sha256="02fsiykbg96ynqw25vfyrams7fs39xjmfhvb23zjbqb7ql6d0xdk"; depends=[dr MASS np]; };
   CovSelHigh = derive2 { name="CovSelHigh"; version="1.1.1"; sha256="0dvvpkqml2k00gicpgp475z1rjspq3s37ys1mam29k54qlshhny6"; depends=[bartMachine bindata bnlearn doParallel doRNG foreach glmnet MASS Matching randomForest tmle xtable]; };
-  CovTools = derive2 { name="CovTools"; version="0.5.1"; sha256="0fz7cvyfnf082kf5wymds3rzn4qln4s371i2qlpcmqgsszcxjkvj"; depends=[doParallel expm foreach geigen Matrix mvtnorm pracma Rcpp RcppArmadillo Rdpack shapes]; };
+  CovTools = derive2 { name="CovTools"; version="0.5.3"; sha256="0r3q97zl72v7i1d9nhxgsilqczihhfq6zzhl4cmz8rbk3b7c7qrc"; depends=[doParallel expm foreach geigen Matrix mvtnorm pracma Rcpp RcppArmadillo Rdpack shapes SHT]; };
   CoxBoost = derive2 { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[Matrix prodlim survival]; };
   CoxPhLb = derive2 { name="CoxPhLb"; version="1.2.0"; sha256="0jlh2k5ygj896sfx7dcw5qlb80bl64rsvqfayv0c6a107bmrzsw4"; depends=[survival]; };
   CoxPlus = derive2 { name="CoxPlus"; version="1.1.1"; sha256="038wsz206bgc0pnzx403b5ihcwhxpkrpxmwvrvqcxf8333pb62l5"; depends=[Rcpp RcppArmadillo]; };
@@ -820,6 +849,7 @@ in with self; {
   Cprob = derive2 { name="Cprob"; version="1.4.1"; sha256="1m4ys8xpj1jbn3lf8fym935y94dxipiimsf9zxwyw5sy71y7skgq"; depends=[geepack lattice lgtdl prodlim tpr]; };
   CreditMetrics = derive2 { name="CreditMetrics"; version="0.0-2"; sha256="16g3xw8r6axqwqv2f0bbqmwicgyx7nwzff59dz967iqna1wh3spi"; depends=[]; };
   CreditRisk = derive2 { name="CreditRisk"; version="0.1.3"; sha256="09ks8xlsrbp3an1drcwmmd6df4fsfz61z21ma2p62a1pk0bnc86c"; depends=[fOptions]; };
+  CropDetectR = derive2 { name="CropDetectR"; version="0.0.1"; sha256="14sabqld94if7f2m39bh6652cb62hcwx53k8q5k23anzzsn93qlj"; depends=[dplyr EBImage imager reshape2]; };
   CrossClustering = derive2 { name="CrossClustering"; version="4.0.3"; sha256="05lbdmblwmmv24h46ixxabbrp7mpajyv7raw1p5h0dmsbfbq9hi5"; depends=[assertive cli cluster crayon dplyr flip glue magrittr mclust purrr]; };
   CrossScreening = derive2 { name="CrossScreening"; version="0.1.1"; sha256="1gig80r8p611ysn35ajx7xdjj5wnkcf1vspcf0i06dmh75xpm3w9"; depends=[plyr tables]; };
   CrossVA = derive2 { name="CrossVA"; version="0.9.9"; sha256="0k2czhnb3jws86p2iv9fv3qarxbh1dd4xxnv2hdwz0y82y6mkkvx"; depends=[stringi]; };
@@ -842,11 +872,13 @@ in with self; {
   DAAGxtras = derive2 { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; };
   DAC = derive2 { name="DAC"; version="0.1.1"; sha256="0abnl70k4c98n29qi64sfd5nch10abw9fknhf2aksyi0qadsiyjq"; depends=[blavaan flexmix sfsmisc truncnorm]; };
   DACF = derive2 { name="DACF"; version="1.0.0"; sha256="0hv7c9lk6ivj4iz953yn11iy5p611q4si4ghn9d5a9i229s5hig8"; depends=[]; };
-  DAIME = derive2 { name="DAIME"; version="1.1"; sha256="0kgss7gdwn1fd25arcwai915gm18qm5ffpq4f7qj2pg0lk4hvp0r"; depends=[]; };
+  DAFOT = derive2 { name="DAFOT"; version="0.0.1"; sha256="18r5fhb6g0s1viifkkicplzab4aand2lxiwph86w80q80bzpjlpg"; depends=[ape gtools tibble tidytree]; };
+  DAIME = derive2 { name="DAIME"; version="2.0"; sha256="02hasr08c8006ypwlia6qlg24div18hka31dasaaaaxvqrf06h2b"; depends=[]; };
   DAISIE = derive2 { name="DAISIE"; version="1.4"; sha256="16653wwz20lhf3bpzflpj5d1h7j3cqyfaqk5gn24aifga2jc0wbb"; depends=[DDD deSolve Matrix subplex tensor]; };
   DAKS = derive2 { name="DAKS"; version="2.1-3"; sha256="0vmpwxvksnmyq40faimbgpj0y3zbk519986n38ipwdfzllcg0zs4"; depends=[relations sets]; };
-  DALEX = derive2 { name="DALEX"; version="0.4.4"; sha256="04i17ni8g595jj8dxdfwr9vsxmdn2kkam90ab68vlwws3ywqjl6r"; depends=[ggplot2]; };
+  DALEX = derive2 { name="DALEX"; version="0.4.9"; sha256="1zviaf7530v8w996lbma0vplabrapgwldi7h70pr0439sxaqd421"; depends=[ggplot2]; };
   DALEX2 = derive2 { name="DALEX2"; version="0.9"; sha256="1k39gswksicrb60nx7zzna3mqdm36ckg590iw511ga7frnb8fjl9"; depends=[]; };
+  DALEXtra = derive2 { name="DALEXtra"; version="0.2.0"; sha256="1brjc9lybc1sfyk0n6bd44rpapgvi3p60wxw5qaajfcxrxk1286b"; depends=[DALEX ggdendro ggplot2 glmnet gridExtra reticulate]; };
   DALY = derive2 { name="DALY"; version="1.5.0"; sha256="1v7ld01xcn5jiygl1c3xhd5h71ip90lks87fs9gmpnivp8jz5cr5"; depends=[]; };
   DAMOCLES = derive2 { name="DAMOCLES"; version="1.1"; sha256="07z8mynhqnk1zcvm84w09xzkiy2dfxwhmnpi6gaddr3p0waql4gj"; depends=[ape caper deSolve expm geiger matrixStats picante]; };
   DAMisc = derive2 { name="DAMisc"; version="1.5"; sha256="1m418lmzy4sv5hj90j4r4j1bb2q43hxnmpd0mp16010fyr0asbcy"; depends=[AICcmodavg boot car coda effects fANCOVA games gdata lattice latticeExtra MASS nnet optiscale pscl QRM rstan VGAM xtable]; };
@@ -861,19 +893,19 @@ in with self; {
   DBfit = derive2 { name="DBfit"; version="1.0"; sha256="19jdf693ygwfchlqvh0kywid14v0b53p33rr2dvmaqmsc6pfxbbf"; depends=[Rfit]; };
   DCA = derive2 { name="DCA"; version="2.0"; sha256="1acy33vyf814kr0aj6kdvi9f1qzgynwwzv57ll01gd0iqq36374f"; depends=[coin elasticnet GPArotation locfdr modeest mvtnorm PMA]; };
   DCD = derive2 { name="DCD"; version="0.1.0"; sha256="0p6vk8fdvpcvb1bb5fwy3h1v8y3djlvcm5jl5lnx30ngqj6d7rcj"; depends=[data_table doParallel foreach ggplot2 igraph lattice lsa Matrix plyr qlcMatrix Rdpack ROCR WGCNA]; };
-  DCEM = derive2 { name="DCEM"; version="1.0.0"; sha256="192y07bik0xhs5ja9fmp2ds0qncwpkybarixnak4i35afcky7w7d"; depends=[MASS matrixcalc mvtnorm]; };
+  DCEM = derive2 { name="DCEM"; version="2.0.0"; sha256="1jhcqwxcx0my71v1lbspsm78kfqzki1yczvl4r29hqim254qsn5a"; depends=[MASS matrixcalc mvtnorm Rcpp]; };
   DCG = derive2 { name="DCG"; version="0.9.3"; sha256="08718x6v3g7kpfv0gpgm19cn3d3ynj7yagzs0jic1j5rwvn04pfb"; depends=[]; };
   DCGL = derive2 { name="DCGL"; version="2.1.2"; sha256="1dhkdvdglpsr0fzrfrrr6q76jhwxgrcjsiqn56s082y7v366xvs4"; depends=[igraph limma]; };
   DCL = derive2 { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; };
   DCM = derive2 { name="DCM"; version="0.1.1"; sha256="191gwfv30hdr789jmdrimcc7aqisz635anydsw2v4s28a3zjbipw"; depends=[gWidgets pander readxl]; };
   DCODE = derive2 { name="DCODE"; version="1.0"; sha256="19dwms88q0ylxd92l3ivig8p8jjyhk8mhgz0l36m9pcq11gyjc0n"; depends=[seqinr]; };
   DCchoice = derive2 { name="DCchoice"; version="0.0.15"; sha256="1qdqn45ipq0806r25ri4aygzq48k8j5k8rlhi1cafym421yq6bfg"; depends=[Formula interval MASS]; };
-  DChaos = derive2 { name="DChaos"; version="0.1-2"; sha256="045zlc9c3cs90dcdrrwwszwrh1n93mdkw6q52l3aq1ln7ywrjlgc"; depends=[NeuralNetTools nnet outliers pracma sandwich xts zoo]; };
+  DChaos = derive2 { name="DChaos"; version="0.1-3"; sha256="12qi8m2rvd5r8clmi44hiwpnr6zf1sjw35wvbvm4nz3431xwf4ng"; depends=[entropy NeuralNetTools nnet outliers pracma sandwich xts zoo]; };
   DCluster = derive2 { name="DCluster"; version="0.2-7"; sha256="008nyry64s5g80narcc58273v0jhqzfgwynka6mh7jgi7qsqnxjd"; depends=[boot MASS spdep]; };
-  DClusterm = derive2 { name="DClusterm"; version="0.2-1"; sha256="1xnnm73ivz4pgsszjj5wxzq1f2az110wmn88j89xy2wgk8rp0rab"; depends=[DCluster gridExtra latticeExtra lme4 pscl RColorBrewer sp spacetime xts]; };
+  DClusterm = derive2 { name="DClusterm"; version="1.0-0"; sha256="19ifnj7y3zjp15hd6mafjjqbqqyff17zd0ivnl8bd843nalgfxbb"; depends=[DCluster gridExtra latticeExtra lme4 pscl RColorBrewer sp spacetime xts]; };
   DDD = derive2 { name="DDD"; version="4.1"; sha256="09aif9agypw765h148615b6dcjhzw1bvgrzz9dka6n3vk4r1lj5d"; depends=[ape deSolve expm Matrix phytools SparseM subplex]; };
   DDHFm = derive2 { name="DDHFm"; version="1.1.2"; sha256="0lgh6kcfas06p2yy7zy21r05k5521xbj5af3wwwssp5li1cia35g"; depends=[lokern wavethresh]; };
-  DDIwR = derive2 { name="DDIwR"; version="0.3"; sha256="0jz8fkgjyrr5g3hm9zjafaxh2ry817ad68c1rv6giykgvzs2l2fn"; depends=[admisc haven readr tibble xml2]; };
+  DDIwR = derive2 { name="DDIwR"; version="0.4"; sha256="0z994anrw746iy83503bah2n39rd7qvx4spxn4qwhxhxbjp4gkfw"; depends=[admisc haven readr tibble xml2]; };
   DDM = derive2 { name="DDM"; version="1.0-0"; sha256="19g06qk3lzasj294x9wfij729mlq6ryvjqkn3rgl5xp1w0gx9wi2"; depends=[]; };
   DDPGPSurv = derive2 { name="DDPGPSurv"; version="1.0"; sha256="1d271yv621jmwd4dmdnhpwrk95gbpw7g6r2v05lc3d6wzlzpd78c"; depends=[MASS mc2d mvnfast Rcpp RcppArmadillo survival]; };
   DDPNA = derive2 { name="DDPNA"; version="0.2.1"; sha256="0854zs6gay78dq0ivpmkrhg387llk0mbfjz8nkvhnkss0mh6bpmk"; depends=[ggalt ggplot2 Hmisc igraph MEGENA plyr scales VennDiagram]; };
@@ -882,7 +914,7 @@ in with self; {
   DECIDE = derive2 { name="DECIDE"; version="1.2"; sha256="18kn2pm9r0ims2k1jfsfzh258wwxz0xg86rsbwgq6szh0azlq3qy"; depends=[]; };
   DEEPR = derive2 { name="DEEPR"; version="0.1"; sha256="0q8970q3gpjxwxdf2bkhpnqrxpm00w27b20a9sn9vv314rn1n7s8"; depends=[dirmult]; };
   DEEVD = derive2 { name="DEEVD"; version="0.1.0"; sha256="037h40mi4ka5w6m6bhry5mk7rcchss07vn08pzcyikcllnnn2vaf"; depends=[evd]; };
-  DELTD = derive2 { name="DELTD"; version="0.1.0"; sha256="05kj07lxav7b16ndmzakd29bpy0h3y2cmx6if7x7hyy7vnkj3c38"; depends=[]; };
+  DELTD = derive2 { name="DELTD"; version="1.3.1"; sha256="091ln4zyvz0pbn17y5z4kpaw3dvb338k96bqd84ajazcm41q83lx"; depends=[]; };
   DEMEtics = derive2 { name="DEMEtics"; version="0.8-7"; sha256="1s59qim60d4gp5rxjacdbmxdbpdm7cy9samn088w8fs0q232vjjx"; depends=[]; };
   DEMOVA = derive2 { name="DEMOVA"; version="1.0"; sha256="09dqhhhihphhdnplmhdq4q5zwc0qvqhirdrxa9x6fr43vwa5zfp4"; depends=[leaps]; };
   DES = derive2 { name="DES"; version="1.0.0"; sha256="16p38i8ykwc8gjw6c9dhdwjjpa1b17n9wqhz3rhkbzjh978pky31"; depends=[]; };
@@ -897,7 +929,7 @@ in with self; {
   DGLMExtPois = derive2 { name="DGLMExtPois"; version="0.1.0"; sha256="1c6lys605sggni40792d1xq8ll5nbdc75r92c87grx7zh74sz98m"; depends=[compoisson COMPoissonReg nloptr progress]; };
   DGM = derive2 { name="DGM"; version="1.7.2"; sha256="0z0f8bazzsahvjkpfif50db700mqb7arcglwsfxcar9qdy082vsn"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
   DGVM3D = derive2 { name="DGVM3D"; version="1.0.0"; sha256="17cxv8rm7kmxms7v7hzbwbdwa3xl1hwgiljf97ppwswglqyik9iv"; depends=[rgl]; };
-  DHARMa = derive2 { name="DHARMa"; version="0.2.4"; sha256="0fkzf05p5k22kvicbiizx8aricjkgvkvg2874kmibkycld3qrblq"; depends=[ape doParallel foreach gap glmmTMB lme4 lmtest MASS mgcv qrnn sfsmisc spaMM]; };
+  DHARMa = derive2 { name="DHARMa"; version="0.2.6"; sha256="0mv95409lr9psh8ia9llpx8a6861iakrfnw2h96gpi2r9scpr8fj"; depends=[ape doParallel foreach gap glmmTMB lme4 lmtest MASS mgcv qrnn sfsmisc spaMM]; };
   DHS_rates = derive2 { name="DHS.rates"; version="0.7.0"; sha256="11rzwwx6vvr66nfklqh6j86k3d0cdccg6l99azwqif0cmj81rdw5"; depends=[crayon haven matrixStats reshape survey]; };
   DIFboost = derive2 { name="DIFboost"; version="0.2"; sha256="0wyjk870n18lq0dwhm9ndsh5vv0d8wkrbcky68w454vzrrw1q9h8"; depends=[mboost penalized stabs]; };
   DIFlasso = derive2 { name="DIFlasso"; version="1.0-3"; sha256="195wiy0jjkq6bh2b6wrjmr5l34pzx0i2qqvwp4pzv77sx737ds0v"; depends=[grplasso miscTools penalized]; };
@@ -907,9 +939,9 @@ in with self; {
   DIRECT = derive2 { name="DIRECT"; version="1.0.1"; sha256="00z4xlc9kxn19lw2b8xq6krsf5v3wfbr1ghl5ah5shr9dnv84lc1"; depends=[]; };
   DISTRIB = derive2 { name="DISTRIB"; version="1.0"; sha256="0whwmmdx2k2vrjjkz4ww9v7z9ad3835819pby91119lyic27w727"; depends=[]; };
   DIconvex = derive2 { name="DIconvex"; version="1.0.0"; sha256="0bnrq9nmryshir6ll43nz20aaqmmw0zjvfml72cpwbvrma8a3qmz"; depends=[lpSolveAPI]; };
-  DJL = derive2 { name="DJL"; version="3.0"; sha256="1zsr2smgw7p6llyn1ipq8pkr2f8balvvp52x1j713alx6w5g26z7"; depends=[car lpSolveAPI]; };
+  DJL = derive2 { name="DJL"; version="3.1"; sha256="1ypkm7fsw7vhd0c2abrmrsa2cmphxqg05j5qlrx3720qsmp5yn2q"; depends=[car lpSolveAPI]; };
   DLASSO = derive2 { name="DLASSO"; version="2.0.2"; sha256="0xdygf6h89d9z4kqb46iqfxgdzq9dmkrxf9ypw78l4d8n9xx2gaa"; depends=[MASS]; };
-  DLMtool = derive2 { name="DLMtool"; version="5.3.1"; sha256="07rijmqfdy238xrs9fz4glqn2ppsyfkzcgyc0dnj9scvvc9sag5w"; depends=[abind boot broom devtools dplyr DT fmsb ggplot2 ggrepel gridExtra kableExtra knitr MASS mvtnorm openxlsx purrr Rcpp RcppArmadillo readxl rfishbase rmarkdown shiny snowfall tidyr]; };
+  DLMtool = derive2 { name="DLMtool"; version="5.4.0"; sha256="0412723k06ynm5f8jg8byqdx2v46g060nfbv9c5js8qxn4snz5kc"; depends=[abind boot broom crayon devtools dplyr DT fmsb ggplot2 ggrepel gridExtra kableExtra knitr MASS mvtnorm openxlsx purrr Rcpp RcppArmadillo readxl rfishbase rmarkdown shiny snowfall tidyr]; };
   DMMF = derive2 { name="DMMF"; version="0.5.0.2"; sha256="02sk1ykispkjdclsi5xp1m4vmf8mhcqm4q2z73xanvax1kqfb3v3"; depends=[raster rgdal sp]; };
   DMRMark = derive2 { name="DMRMark"; version="1.1.1"; sha256="15wr6j0v9kvbv8y6flkp4svfqy059ziv89nxv91vp0pjmavhpdlz"; depends=[ellipse MCMCpack mvtnorm]; };
   DMRnet = derive2 { name="DMRnet"; version="0.2.0"; sha256="1rbba8w4li240gw5z675d7skm72rh0zxzp4rhsn6ivj72jya7jw4"; depends=[glmnet grpreg]; };
@@ -923,18 +955,22 @@ in with self; {
   DOBAD = derive2 { name="DOBAD"; version="1.0.6"; sha256="0ifrrfm4yp1416z58qgnak042rgj1xvqby2vvzgrv19z6b3250p3"; depends=[lattice Matrix numDeriv]; };
   DODR = derive2 { name="DODR"; version="0.99.2"; sha256="16ia9j8vab8n2i6a17wz8nfvkfgj2gsyhxvwgxvjg2cz99hsbhdj"; depends=[Matrix npsm Rfit]; };
   DOS = derive2 { name="DOS"; version="1.0.0"; sha256="0vvkwn4wfvspbk74nb6124hdx9158h6yfksib14xqq7rx7c97ad4"; depends=[MASS]; };
+  DOS2 = derive2 { name="DOS2"; version="0.5.2"; sha256="0lcqk2fxfl5pdnxlpppqiqnyc23jyhp1kcxwci8ilagjv4djipmw"; depends=[MASS sensitivity2x2xk sensitivitymult sensitivitymv senstrat]; };
   DOT = derive2 { name="DOT"; version="0.1"; sha256="0qh5n57cp9c2n5yn59q4wggz82943pwfanp3kx869aba2x3sj30i"; depends=[V8]; };
   DOvalidation = derive2 { name="DOvalidation"; version="1.1.0"; sha256="1mzws3w7djpxnfqxjcqwgia7p17kb0qlnzj6qcfg2m1vamb1cn2z"; depends=[]; };
   DPBBM = derive2 { name="DPBBM"; version="0.2.5"; sha256="1qypxrcm3sb727lqb09ssjf3hblixqayw3qsyql01imrxwm609i2"; depends=[CEoptim gplots tmvtnorm VGAM]; };
   DPP = derive2 { name="DPP"; version="0.1.2"; sha256="1qalcm4gwh03qpy07d0p323ccq8xmk04v6z30g7wg6ic613bqg7m"; depends=[coda Rcpp]; };
-  DPWeibull = derive2 { name="DPWeibull"; version="1.3"; sha256="143mvynkb6k7fbaxlyisw7a4acssqjyh7jld5myz55ns3r3fablw"; depends=[matrixStats Rcpp truncdist]; };
+  DPQ = derive2 { name="DPQ"; version="0.3-5"; sha256="0952aq9nh18mwldcxdi170i6aqz6snnsvl5g6qm8jq2m1i9jryjw"; depends=[sfsmisc]; };
+  DPWeibull = derive2 { name="DPWeibull"; version="1.4"; sha256="024d2b2kdyxv8290a96clazzlq2i14gk9lc63p39iw6lxs1fla9y"; depends=[binaryLogic Rcpp truncdist]; };
   DPtree = derive2 { name="DPtree"; version="1.0.1"; sha256="0d7zf695lwkx4gv50f08cbi3p3mjjay0qgrbmvybf9m15i4zmyd7"; depends=[MASS MCMCpack plyr Rdpack]; };
+  DRAFT = derive2 { name="DRAFT"; version="0.3.0"; sha256="02y644fl5dk3qwvv45vb2zkkp4x1zciickna0pj56myh7ls08hxv"; depends=[coda ggplot2 gridExtra lubridate reshape]; };
+  DRAYL = derive2 { name="DRAYL"; version="1.0"; sha256="0cf5pyx6nwh8srdylpnmymv3dr67fm6qqpwd1hvj1wmyfc8fznpp"; depends=[cubature pracma RConics rmutil]; };
   DREGAR = derive2 { name="DREGAR"; version="0.1.3.0"; sha256="15cplshs85r0z659mc7xmj5db7vc95wxs01c34isc22p8z0a287i"; depends=[msgps]; };
-  DRHotNet = derive2 { name="DRHotNet"; version="1.0"; sha256="0lfhypcc222lrsgiya4xh2b524p2xg92ww2f3filjw4qhvi6q5k9"; depends=[maptools raster sp spatstat spdep]; };
+  DRHotNet = derive2 { name="DRHotNet"; version="1.1"; sha256="040g9h2a2hmnd20y41xnms01iam68f6xhp2x0ckarmx961995bhg"; depends=[maptools PBSmapping raster sp spatstat spdep]; };
   DRIP = derive2 { name="DRIP"; version="1.4"; sha256="1rds1161h19waqhiq08hqk5zcn48afccaggmb42xr1zyk31irpi6"; depends=[readbitmap]; };
   DRR = derive2 { name="DRR"; version="0.0.3"; sha256="1yd1fvllfkcrwg9v322n4wkk4q4q84nvy58y4vac9pdr3yf3i4vl"; depends=[CVST kernlab Matrix]; };
   DRaWR = derive2 { name="DRaWR"; version="1.0.1"; sha256="1pfdczwzd236c64yw94bgbk0hbl4dhlgjfjwkljmqgqrzsddvgqh"; depends=[Matrix ROCR]; };
-  DRomics = derive2 { name="DRomics"; version="1.0-2"; sha256="0kvhby807h4ilmrlbcxlmw3rncvg9i428n8rl40v2w865a0p6861"; depends=[ggplot2 limma]; };
+  DRomics = derive2 { name="DRomics"; version="2.0-1"; sha256="0lfjk202fgvxjljjpakbmdqc41hbpgl39lym215hlqksfpi0jq7a"; depends=[DESeq2 ggplot2 limma]; };
   DSAIDE = derive2 { name="DSAIDE"; version="0.8.2"; sha256="00qpnqqdzj8bfg2i04w47hq7by7p17n6prp7w5vzis72y7s3d07l"; depends=[adaptivetau deSolve dplyr ggplot2 gridExtra lhs nloptr plotly shiny XML]; };
   DSAIRM = derive2 { name="DSAIRM"; version="0.8.2"; sha256="05m6hm9h8f41n3wswbp7z80kfvmn65jypj9fwlv3k8bdm4lw1mla"; depends=[adaptivetau boot deSolve dplyr ggplot2 gridExtra lhs nloptr plotly shiny XML]; };
   DSBayes = derive2 { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; };
@@ -943,19 +979,19 @@ in with self; {
   DSsim = derive2 { name="DSsim"; version="1.1.4"; sha256="0cspyd6msh8aci3w1fv234ca2bwpi6ylkbl45d4k0v3wzzfj20hk"; depends=[fields mgcv mrds rgeos shapefiles sp splancs]; };
   DStree = derive2 { name="DStree"; version="1.0"; sha256="14wba25ylmsyrndh007kl377dv4r34wr1555yxl6kyxrs4yg3jir"; depends=[Ecdat pec Rcpp rpart rpart_plot survival]; };
   DSviaDRM = derive2 { name="DSviaDRM"; version="1.0"; sha256="1hj2pgnldrpgapwwz1kf4k6mvyzwdvb1i6czd7sbimsx5hafwps8"; depends=[igraph ppcor]; };
-  DT = derive2 { name="DT"; version="0.7"; sha256="0b6ywgzk9b35y5f69zwfz3vv7qwqqj3xsmy0xymf7nfcvrqg3qqx"; depends=[crosstalk htmltools htmlwidgets magrittr promises]; };
+  DT = derive2 { name="DT"; version="0.10"; sha256="0vwhn1mcwv0hkbxnppf6vip23iiib0szvp1h3prawlkvd74xziiw"; depends=[crosstalk htmltools htmlwidgets jsonlite magrittr promises]; };
   DTAT = derive2 { name="DTAT"; version="0.3-3"; sha256="184b8qkwqlygdqzad2x2qf4hdrpsr7yffmf21jrz5yf946y621wl"; depends=[data_table dplyr Hmisc jsonlite km_ci pomp r2d3 shiny survival]; };
   DTAXG = derive2 { name="DTAXG"; version="0.1.0"; sha256="1jxa0ix0z35i0xdnjl698j8iqjmp6nz8ckah9bap5ay9rkq0xd7f"; depends=[]; };
   DTComPair = derive2 { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
   DTDA = derive2 { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
-  DTDA_cif = derive2 { name="DTDA.cif"; version="1.0"; sha256="1gfhcbb5y7yw93f1flpj0p3n62drvck3wi0vswdrzzbbgb0qr2l2"; depends=[doParallel foreach Rcpp]; };
+  DTDA_cif = derive2 { name="DTDA.cif"; version="1.0.1"; sha256="1ams5annm0296y6i5ii54cf95i0739269b4p97rib6nniynpwwxk"; depends=[doParallel foreach Rcpp]; };
   DTDA_ni = derive2 { name="DTDA.ni"; version="1.0"; sha256="0c45cz4y629bc0jnf3m35ywqkrnjcdqbssbb6m10j8b4gszdi35i"; depends=[]; };
   DTK = derive2 { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
   DTMCPack = derive2 { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
   DTR = derive2 { name="DTR"; version="1.7"; sha256="1lzvk9ar6xf3n2vvy8vb9mvrbx3nafzzhvz5g7vf79jd71yz54jd"; depends=[aod ggplot2 survival]; };
   DTRlearn2 = derive2 { name="DTRlearn2"; version="1.0"; sha256="0aly8byygpgsjfa1lzarcig2dvz852ihdlw7xhb7kx62y8prjzz1"; depends=[foreach glmnet kernlab MASS Matrix]; };
-  DTRreg = derive2 { name="DTRreg"; version="1.3"; sha256="1144kcqblyrpdqyj9as6y47iq3x99bf76hdw6j43cmgcs11gapc3"; depends=[]; };
-  DTSg = derive2 { name="DTSg"; version="0.1.2"; sha256="0j83ysgw5sq4m4sg4a2k2fpmc8g0xbc9hgnlkmyr1cwl3r4xw4ks"; depends=[assertive_base assertive_numbers assertive_sets assertive_types data_table R6]; };
+  DTRreg = derive2 { name="DTRreg"; version="1.5"; sha256="0milc5bmks6pxhl5f3zyv3w80ld733v05cvx8i531v2ynac4v6zb"; depends=[]; };
+  DTSg = derive2 { name="DTSg"; version="0.2.1"; sha256="1j7z89gqcbrxry1pxjd9qwaygrgdsfq0rmg9yiw37ygprhjj7fx0"; depends=[assertive_base assertive_numbers assertive_sets assertive_types data_table R6]; };
   DTWBI = derive2 { name="DTWBI"; version="1.1"; sha256="06lp4yc5nhacrgic78l014g2w1ibwgs8dp8zrahk5aripaczl25y"; depends=[dtw e1071 entropy lsa rlist]; };
   DTWUMI = derive2 { name="DTWUMI"; version="1.0"; sha256="0pybgbfs2yp2ljbs0kra5z70x3llkiwdngp6cadgs3j9rar4vq4q"; depends=[dtw DTWBI e1071 entropy lsa rlist]; };
   DVHmetrics = derive2 { name="DVHmetrics"; version="0.3.9"; sha256="1m13lhxgw7yj44s5spmlb4xxkranfbmjfh8lhrksikd796vxms3s"; depends=[ggplot2 KernSmooth reshape2 shiny]; };
@@ -978,17 +1014,18 @@ in with self; {
   DataGraph = derive2 { name="DataGraph"; version="1.0.1"; sha256="0rvysvkcs926jzhp7iz9d5np0pa31y825ajn9yyzhbdfk5dg2wry"; depends=[Rcpp]; };
   DataLoader = derive2 { name="DataLoader"; version="1.3"; sha256="18mih6mb95v5xjvmqwby2mma74fcxwyqdm5w8j3bhi4iwgfn6d7v"; depends=[plyr rChoiceDialogs readxl xlsx]; };
   DataPackageR = derive2 { name="DataPackageR"; version="0.15.7"; sha256="11bra0kgmvag4mp6hpljd8m3r1306cbncmz3x71iybkahimws813"; depends=[assertthat crayon desc devtools digest futile_logger knitr purrr rmarkdown roxygen2 rprojroot stringr usethis yaml]; };
-  DataSpaceR = derive2 { name="DataSpaceR"; version="0.6.3"; sha256="13hbh2wm9vfwzrr5vsq1nyd6670msd47wbq3smdpwk5vwl8w7m35"; depends=[assertthat curl data_table digest httr jsonlite R6 Rlabkey]; };
-  DataVisualizations = derive2 { name="DataVisualizations"; version="1.1.6"; sha256="0xw40nq6r64c5z2q3kwnr7nn97ar1mwnzifpd0j3l65nyar9dswf"; depends=[AdaptGauss ggplot2 Rcpp RcppArmadillo sp]; };
-  DataViz = derive2 { name="DataViz"; version="0.2.7"; sha256="0skyj254ljg00vfv91mbwv9r9idaw8f6fj0ccvgmmlq183xg16qk"; depends=[Rcpp tibble]; };
+  DataSpaceR = derive2 { name="DataSpaceR"; version="0.7.2"; sha256="1m84hp23ksh58x7xfpl684d85rj2whd6cx515s8m8qhrg737fkp4"; depends=[assertthat curl data_table digest httr jsonlite R6 Rlabkey]; };
+  DataVisualizations = derive2 { name="DataVisualizations"; version="1.1.9"; sha256="13yrjs37ap8rmx842zp529brfr12rr4d77f2pqlj5wfppngxzv31"; depends=[ggplot2 Rcpp RcppArmadillo sp]; };
+  DataViz = derive2 { name="DataViz"; version="0.2.8"; sha256="1dr5nvdzc63x9ymlysvv5i8b7zcffq13pa39q0ychdwr1s3x7vzw"; depends=[Rcpp tibble]; };
   DatabaseConnector = derive2 { name="DatabaseConnector"; version="2.4.1"; sha256="0f0kybbi47x585rxlgdhcmrn1wr9399pd26692czg4h9qwvnka52"; depends=[bit DatabaseConnectorJars DBI ff ffbase rJava SqlRender urltools]; };
   DatabaseConnectorJars = derive2 { name="DatabaseConnectorJars"; version="1.1.0"; sha256="18m6ynj30r5xdy51b3s39h0jcz1k2wgka888skr6ds2233lhqk2w"; depends=[rJava]; };
   DatabionicSwarm = derive2 { name="DatabionicSwarm"; version="1.1.1"; sha256="06i5vinyjkmlmz8q9m7zzc86hhyand45vxv9w7lkah5yzc785n3c"; depends=[deldir GeneralizedUmatrix Rcpp RcppArmadillo]; };
   Davies = derive2 { name="Davies"; version="1.1-9"; sha256="19n2szki2dc8z01zh5a7bq4scgisnpd2qqbiimgrswjrykgh2fpm"; depends=[]; };
   DeLorean = derive2 { name="DeLorean"; version="1.5.0"; sha256="1ry6j4mvxms9hddi9c56p9yhjh66fzss41wqkf6xq398h1wbn4q1"; depends=[BH broom coda dplyr fastICA functional ggplot2 kernlab lattice MASS memoise Rcpp RcppEigen reshape2 rstan rstantools seriation StanHeaders stringr]; };
   DeRezende_Ferreira = derive2 { name="DeRezende.Ferreira"; version="0.1.0"; sha256="05c99z3hlwwm0p02cl9z6gjwfxfq2b2qn90l85270bi16llgf42h"; depends=[xts]; };
-  DecisionAnalysis = derive2 { name="DecisionAnalysis"; version="0.1.0"; sha256="1pxsvwl1in822ml7spb4flln2l7kzavq0jhxxsgxcrljypvrva61"; depends=[Cairo data_tree dplyr ggplot2 gridExtra tidyr viridisLite]; };
-  DeclareDesign = derive2 { name="DeclareDesign"; version="0.18.0"; sha256="184i74w4n9jjahjbdhx5p4vdvgl3a3hhixvlcqycsbv35hfmkwp8"; depends=[estimatr fabricatr generics randomizr rlang]; };
+  DealGPL570 = derive2 { name="DealGPL570"; version="0.0.1"; sha256="0q7mcgbwqd22mmcnilqi30cibk2pv25ks1yks0h3m3vd3aci4vqf"; depends=[affy dplyr GEOquery stringr tibble]; };
+  DecisionAnalysis = derive2 { name="DecisionAnalysis"; version="1.0.0"; sha256="1d0b534s9fidgl5q8q8g5s58v6wv3md4pl5zm5r5q3jlr6z8q5n3"; depends=[Cairo data_tree DiagrammeR dplyr ggplot2 gridExtra tidyr viridisLite]; };
+  DeclareDesign = derive2 { name="DeclareDesign"; version="0.20.0"; sha256="0zdpiwh74ljc57s4cgak2j8zg3zyz9f3b47dambw2zdiy0db6wk8"; depends=[estimatr fabricatr generics randomizr rlang]; };
   DecorateR = derive2 { name="DecorateR"; version="0.1.1"; sha256="1dvyadlksqv8ns043yh91f6kw162k6r0zwn13j1g6pvismw04br9"; depends=[rJava RWeka RWekajars]; };
   Deducer = derive2 { name="Deducer"; version="0.7-9"; sha256="14kakyf28i654pndlswjzp6h3h7szpznrg6xznqg150mmn0bs3s6"; depends=[car e1071 effects foreign ggplot2 JGR MASS multcomp plyr rJava scales]; };
   DeducerPlugInExample = derive2 { name="DeducerPlugInExample"; version="0.2-0"; sha256="03aw7wr957xzw920ybyzxnck5kx0q2xpcrpq8jh2afyzszy6hzbi"; depends=[Deducer]; };
@@ -1008,20 +1045,19 @@ in with self; {
   Density_T_HoldOut = derive2 { name="Density.T.HoldOut"; version="2.00"; sha256="0kh5nns1kqyiqqfsgvxhx774i2mf4gcim8fp5jjyq577x4679r31"; depends=[histogram]; };
   DepLogo = derive2 { name="DepLogo"; version="1.0"; sha256="0h4jpflf8amip62r936lg0k428gypag296kwl58w1d0qa5jyxrkk"; depends=[]; };
   DepthProc = derive2 { name="DepthProc"; version="2.1.1"; sha256="059hqqjxaa6k65k6snbxvq4kpcqigri86v909kgw9vxq0jmb5pl7"; depends=[colorspace geometry ggplot2 lattice MASS np Rcpp RcppArmadillo rrcov sm zoo]; };
-  Deriv = derive2 { name="Deriv"; version="3.8.5"; sha256="0815ws2zmla3ici1n8amkc8fz8lwpbg5z68m8j3nhc79m2ikvm20"; depends=[]; };
-  DescTools = derive2 { name="DescTools"; version="0.99.28"; sha256="001xjyf19c7sy8x7gfs7krjcj39zsbx2cgc5ds3c4p16fhxnw8vg"; depends=[BH boot expm foreign manipulate MASS mvtnorm Rcpp]; };
-  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.3"; sha256="114zhx26rcbnnpjcm9igbnv4yx4q378z4mi1xjnsy2wn1dwh397a"; depends=[DescTools foreign manipulate rstudioapi writexl]; };
+  Deriv = derive2 { name="Deriv"; version="3.9.0"; sha256="0hlqm216bg3l79gq6m0am0xz6vd3l2hgjnjm6lym3mkmgkka4kxw"; depends=[]; };
+  DescTools = derive2 { name="DescTools"; version="0.99.31"; sha256="05w1rf07bjjp34gizdg2jbkv78jjzpy85fjp4s48yw9zbif1ppss"; depends=[BH boot expm MASS mvtnorm Rcpp]; };
+  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.5"; sha256="0i9qsbi78cii0bajc69m1gp4s88nrr1khyyyy4qkpv0x05vhbl0d"; depends=[DescTools foreign manipulate rstudioapi writexl]; };
   DescribeDisplay = derive2 { name="DescribeDisplay"; version="0.2.7"; sha256="0241mbz0y3ala7fsb4fwjd0xigsk0wq77hfrjyvnnp97rfjfzmcv"; depends=[GGally ggplot2 plyr reshape2 scales]; };
   DescriptiveStats_OBeu = derive2 { name="DescriptiveStats.OBeu"; version="1.3.1"; sha256="1bqq56m4vhmgijxpyllpy08xx29k0p7lhmd0iwa06jdw4lj5rdah"; depends=[dplyr jsonlite magrittr RCurl reshape]; };
   DesignLibrary = derive2 { name="DesignLibrary"; version="0.1.4"; sha256="16j9ca3y8mcdbd64yqm6js4lb9hjc74dh4r5y3h1ifvwzj0a78yc"; depends=[DeclareDesign estimatr fabricatr generics glue randomizr rlang]; };
   DetMCD = derive2 { name="DetMCD"; version="0.0.5"; sha256="034wb5hwpikli6h2rwiqr19qvzxrr4qwi4q436y7c5a5wgkfzgl5"; depends=[pcaPP Rcpp RcppEigen robustbase]; };
   DetR = derive2 { name="DetR"; version="0.0.5"; sha256="1dd4nzkgj5pl9397aa0z3q5fpl27xbdf7q0pqbs821dyynylxzn9"; depends=[MASS pcaPP Rcpp RcppEigen robustbase]; };
   DetSel = derive2 { name="DetSel"; version="1.0.3"; sha256="0rd047nkdhil9ydizrhpqr9pcmi86bq0r0f14rbix6i9hplxz42v"; depends=[ash]; };
-  DevTreatRules = derive2 { name="DevTreatRules"; version="1.0.0"; sha256="0jcvn01w5h0jmnimnn52isav5f1g3laivsmr73h0wwm95i2gkksx"; depends=[DynTxRegime glmnet modelObj]; };
   Devore7 = derive2 { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[lattice MASS]; };
   Dforest = derive2 { name="Dforest"; version="0.4.2"; sha256="19jyph2zqfyq9vv22kb6fqy89l0vcviv19zgk10hbd7q850f6ryn"; depends=[ggplot2 rpart]; };
   DiPhiSeq = derive2 { name="DiPhiSeq"; version="0.2.0"; sha256="11l2inf99vxz9k292307j8c2b25kc1066svy3vxrfl72rrm4fqa7"; depends=[]; };
-  DiPs = derive2 { name="DiPs"; version="0.3.0"; sha256="12kgkp7cfsy5bjb801qmbw8mmvgiz02vd38mjr53gz2zm1c02zcg"; depends=[liqueueR mvnfast plyr rcbalance]; };
+  DiPs = derive2 { name="DiPs"; version="0.5.0"; sha256="1bm3zpdp20dz4bgi0jvp064nfb5van11v20605lfq4irf6nqs8j1"; depends=[liqueueR mvnfast plyr rcbalance]; };
   DiSSMod = derive2 { name="DiSSMod"; version="1.0.0"; sha256="199yipbc2sx2lsl51rpfyh80bfxaahfd2llqmfsp946gvj7339hv"; depends=[MASS matrixcalc psych sfsmisc]; };
   DiagrammeR = derive2 { name="DiagrammeR"; version="1.0.1"; sha256="04zhyci6ywysbp2lliaz5sv0qmssxx63gr3d7kkhkjcgc37qmvnc"; depends=[downloader dplyr glue htmltools htmlwidgets igraph influenceR magrittr purrr RColorBrewer readr rgexf rlang rstudioapi scales stringr tibble tidyr viridis visNetwork]; };
   DiagrammeRsvg = derive2 { name="DiagrammeRsvg"; version="0.1"; sha256="0j2cm1mx3zrb2k3pcrb96z2z3kws61gyyjsjjv5rqcb5lzdgi65k"; depends=[V8]; };
@@ -1035,6 +1071,7 @@ in with self; {
   Diderot = derive2 { name="Diderot"; version="0.12"; sha256="1cq8yk4r0csnslp286hzs04zzq44q0frz0kyll9jhqjil34qh0x7"; depends=[data_table doParallel foreach igraph RCurl splitstackshape stringi]; };
   DiffCorr = derive2 { name="DiffCorr"; version="0.4.1"; sha256="1kxp9dbiww086rmvmjvfhbk7jl36dkj88qwii6zg57llf7l5l4hm"; depends=[fdrtool igraph multtest pcaMethods]; };
   DiffNet = derive2 { name="DiffNet"; version="1.0-0"; sha256="04dvf0qxnc6jizwfjxw731j7d2fxyapk06rmqvga6h3p075q0mqk"; depends=[data_table doParallel foreach gplots Hmisc igraph lsa Matrix qlcMatrix Rcpp RcppEigen]; };
+  DiffXTables = derive2 { name="DiffXTables"; version="0.0.2"; sha256="01kxa0barwy9khwf9yyzdxi4561n5c0q9s2fps8gwb2afxdhxjm0"; depends=[Matrix]; };
   DiffusionRgqd = derive2 { name="DiffusionRgqd"; version="0.1.3"; sha256="1gf5jpvimfrc9ccva0jk85rl4zfkbijm2305ky1rxcgm4kgw4lax"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   DiffusionRimp = derive2 { name="DiffusionRimp"; version="0.1.2"; sha256="1h7145ldlgwrrwj4l1wxdp2rbg2pm4v3pngiq0saz0xi3vpcxwl6"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   DiffusionRjgqd = derive2 { name="DiffusionRjgqd"; version="0.1.1"; sha256="1yb1jaq324qm2x8cl3bs2dflnsx8yfygpw2m3kk5hzaai9gfkqjf"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
@@ -1042,40 +1079,44 @@ in with self; {
   DirectEffects = derive2 { name="DirectEffects"; version="0.2"; sha256="0cawn1i1cyczsr9zpcaky79dfdl9anfjgiaa2404capacnj3call"; depends=[Formula glue sandwich]; };
   DirectStandardisation = derive2 { name="DirectStandardisation"; version="1.2"; sha256="060nscnn7wamnbb45a55wr6rirlbpwwjz0kxiw3aiqkm16ilzfbs"; depends=[]; };
   DirectedClustering = derive2 { name="DirectedClustering"; version="0.1.1"; sha256="1shdqz0c5bbgknvfqr3ais26cb5mpywnah3d3584w97sy8v7gxm2"; depends=[igraph]; };
-  Directional = derive2 { name="Directional"; version="3.9"; sha256="04jr5cpqafaz21hz2l7586mw31c9y7ib4ghj50z9zqhfrjz06g02"; depends=[bigstatsr doParallel foreach MASS RcppZiggurat Rfast Rfast2 rgl]; };
+  Directional = derive2 { name="Directional"; version="4.0"; sha256="072131dqpnqp1hfnrzzqr1f2zpzfkk1ifflzfg727f0zhjvisd4d"; depends=[bigstatsr doParallel foreach MASS RcppZiggurat Rfast Rfast2 rgl]; };
   DirichletReg = derive2 { name="DirichletReg"; version="0.6-3.1"; sha256="1lz4b166grrs6vs98mf6a0wg4hvh0p901h697h9dkfhkxw8cqj3f"; depends=[Formula maxLik rgl]; };
   DisHet = derive2 { name="DisHet"; version="1.0.0"; sha256="056jcs1qpiyadnmlzd0cj4kp0qzkichxi0pdnxypyq1fsqnpvan3"; depends=[gtools matrixStats]; };
-  DisImpact = derive2 { name="DisImpact"; version="0.0.4"; sha256="1fv446wr5b8ixcs473vqv5ak9q46vhgzflc1zg8x7k5q5fdwqhmm"; depends=[dplyr magrittr rlang]; };
-  DiscreteFDR = derive2 { name="DiscreteFDR"; version="1.3-1"; sha256="0ij6r8l8xxjmnp0x29p0wlnq7bk1rmg7hxzfrs9qhb410rjxc3r4"; depends=[Rcpp]; };
+  DisImpact = derive2 { name="DisImpact"; version="0.0.5"; sha256="1n0lyzv6abvrrcxj4zglyl9b0j4ldj0zkznh57frn1j1imb1na1l"; depends=[dplyr magrittr purrr rlang tidyselect]; };
+  DiscreteFDR = derive2 { name="DiscreteFDR"; version="1.3-3"; sha256="1qdcmn74mmnk61y6lh76mnqk7hw7v3v67y0zljfz7s3h4vxpad4g"; depends=[Rcpp]; };
   DiscreteInverseWeibull = derive2 { name="DiscreteInverseWeibull"; version="1.0.2"; sha256="0vjsvl4m4zccfgizv7mzidbbpzqcm101x448vllcdcrn2xlnkmnq"; depends=[Rsolnp]; };
   DiscreteLaplace = derive2 { name="DiscreteLaplace"; version="1.1.1"; sha256="17w4vjvsm7jacvwckjczyah3hglq044r3m6vqdcrg8haz884rav2"; depends=[]; };
+  DiscreteQvalue = derive2 { name="DiscreteQvalue"; version="1.0"; sha256="19c2rmizrmpf5vmsfhnk5xswnngdlh1hfcj6k0qdp00kdfgj79ja"; depends=[]; };
   DiscreteWeibull = derive2 { name="DiscreteWeibull"; version="1.1"; sha256="1rg3ax6jryagf5d3h8m44x9wyhr2qff3srfa9zrk6i64p1ahk9lr"; depends=[Rsolnp]; };
   DiscriMiner = derive2 { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; };
   DisimForMixed = derive2 { name="DisimForMixed"; version="0.2"; sha256="00mknsalikangr17946877m5fy2jgkgasgl6ng4f2nr44f0q9l6q"; depends=[cluster dplyr]; };
   Distance = derive2 { name="Distance"; version="0.9.8"; sha256="19n1kjx7ikphp97118n0zwnv1prlxk9hcpn30ckxc4329m0cafvv"; depends=[mrds]; };
   DistatisR = derive2 { name="DistatisR"; version="1.0.1"; sha256="0myzfki8yrk0nhgdgsqs4wjbqhzmkdil1g005hc7p4lz3gi09bfx"; depends=[car prettyGraphs]; };
-  DistributionOptimization = derive2 { name="DistributionOptimization"; version="1.2.1"; sha256="0ywf7i26lhcibm45g40i84gsnijmg5haz3730yzxlhv7nnnsyj1l"; depends=[AdaptGauss GA ggplot2]; };
+  DistributionOptimization = derive2 { name="DistributionOptimization"; version="1.2.4"; sha256="0qyfi1l8908r98ian1l9q72iz2cyzp09ykgip7l3py2p3m9cg8wc"; depends=[AdaptGauss GA ggplot2]; };
+  DistributionTest = derive2 { name="DistributionTest"; version="1.0"; sha256="0ga0cxk8i1n6p33ywy9j65df3p4ypnc6mimvkx3yi1diczln6dbx"; depends=[MASS]; };
   DistributionUtils = derive2 { name="DistributionUtils"; version="0.6-0"; sha256="08vq54pyqxlqsj6q6gsg5ikqa0z3x842j52ld5dxaq272p6xchvl"; depends=[]; };
+  DivE = derive2 { name="DivE"; version="1.1"; sha256="1445pyw15dq48qsbnm2bgfm9xfffdww5xbhcs901ai0nyb3f7daa"; depends=[deSolve FME rgeos sp]; };
   DivMelt = derive2 { name="DivMelt"; version="1.0.3"; sha256="03vkz8d283l3zgqg7bh5dg3bss27pxv4qih7zwspwyjk81nw3xmr"; depends=[glmnet]; };
   DiversityOccupancy = derive2 { name="DiversityOccupancy"; version="1.0.6"; sha256="16x3fpchgd12mccvr1k11vjka97sy5vjvjcyd5y3pskgnpycc2sv"; depends=[dplyr ggplot2 glmulti MuMIn qpcR raster unmarked vegan]; };
   DnE = derive2 { name="DnE"; version="2.1.0"; sha256="02cbfb3m9xf24wkgqc06k3k0rx7qlqh4ma43khg6fpvif6yyahrn"; depends=[]; };
   DoE_MIParray = derive2 { name="DoE.MIParray"; version="0.13"; sha256="0lbcqfizgrnqmp0b2yn14br7xmabbhywy8h7161hx6hnvnam5r99"; depends=[combinat DoE_base]; };
   DoE_base = derive2 { name="DoE.base"; version="1.1-3"; sha256="0y195kf3fldis17z20blrqkav4xsmy9xq6ak3gw9mgb9x59y7661"; depends=[combinat conf_design lattice MASS numbers partitions vcd]; };
+  DoE_multi_response = derive2 { name="DoE.multi.response"; version="0.1.0"; sha256="1289jlp10999kvyg5adw3dyc2mhh20i6biyqjbxd6g80a8dajknx"; depends=[DoE_wrapper]; };
   DoE_wrapper = derive2 { name="DoE.wrapper"; version="0.10"; sha256="1kknqfpvrs46iksydg0mlld3wnjqcdhm82cx2sc20k3rpmz463b1"; depends=[AlgDesign DiceDesign DoE_base FrF2 lhs rsm]; };
   DoEstRare = derive2 { name="DoEstRare"; version="0.2"; sha256="0y9ymw7114jk1rwiasq400bpgvkxv6rpc954c7v9mgxd3c2nfza7"; depends=[]; };
   DoTC = derive2 { name="DoTC"; version="0.2"; sha256="1hjjkmxrbiysy3xl6n4q7kxcygdq68jcsgki1p937zj9a17sa62j"; depends=[ggplot2 plyr]; };
   Dodge = derive2 { name="Dodge"; version="0.9-2"; sha256="0767n6hyspqrv5cgx3ghhai0qffj6haga7s86pv7mq8zvjcxjlzv"; depends=[]; };
   Dominance = derive2 { name="Dominance"; version="1.1.0"; sha256="1dzfj79hv3ds72dy4fn14bp68fiw06vdxkp4dvyvj37yrrqpcxyz"; depends=[chron gdata igraph XLConnect]; };
-  DoseFinding = derive2 { name="DoseFinding"; version="0.9-16"; sha256="0ncr95lf4mifmx6n2qkg8m3cn326zj9w4hr7afsdxg155l11w89z"; depends=[lattice mvtnorm]; };
+  DoseFinding = derive2 { name="DoseFinding"; version="0.9-17"; sha256="1lj96443dj61nxqfl20rc1f6ja2clbr9j6b6l8vi2gpspx5i76qw"; depends=[lattice mvtnorm]; };
   DoubleCone = derive2 { name="DoubleCone"; version="1.1"; sha256="1kbvsj93nn2306s6pgqiiznmlcn2nqsgcxinihl613ivczxhzpqg"; depends=[coneproj MASS Matrix]; };
   DoubleExpSeq = derive2 { name="DoubleExpSeq"; version="1.1"; sha256="00xpj5xmpgmvp6h76imkmghrnlfk6c50ydvv0jram6m6ix3z8323"; depends=[numDeriv]; };
   Dowd = derive2 { name="Dowd"; version="0.12"; sha256="1fgaq22n7gm8pqxdfkiayqgjfqjn7knjjjr1x12jgv77cv08xyjk"; depends=[bootstrap forecast MASS]; };
   Dpit = derive2 { name="Dpit"; version="1.0"; sha256="02pnc00sk3bwxmxrg27638x0q62r7nsx2nr14zjjc5q880prdisv"; depends=[fitdistrplus gsl moments VGAM]; };
-  DrBats = derive2 { name="DrBats"; version="0.1.4"; sha256="0jzl1jklxsbqf5hv3a71lckk51jxi1lnbk5zmvd4x3y9b9azl2cq"; depends=[ade4 coda MASS Matrix rstan sde]; };
+  DrBats = derive2 { name="DrBats"; version="0.1.5"; sha256="1iaffippp9kwfrwryf7klmn8nsm2k8pc0bkgpxcsl4vxyy2na3mp"; depends=[ade4 coda MASS Matrix rstan sde]; };
   DrImpute = derive2 { name="DrImpute"; version="1.0"; sha256="1adzarrwqb282pqgx2yqswp9rpwd1naxsmar54kddr6qyd6b923b"; depends=[Rcpp RcppArmadillo]; };
   DrInsight = derive2 { name="DrInsight"; version="0.1.1"; sha256="02lqf6bwbgcgyg5zx16nvnzpagmcmbsngnhmyv47256vsd9vppjd"; depends=[igraph qusage]; };
   DramaAnalysis = derive2 { name="DramaAnalysis"; version="3.0.0"; sha256="0hqyy79fyc13fxfrj9ghpydvys2j5pizfvsfii1dhk2a2adh7h3y"; depends=[data_table git2r httr readr reshape2 stringr tokenizers xml2]; };
-  DriftBurstHypothesis = derive2 { name="DriftBurstHypothesis"; version="0.1.3"; sha256="12zisrh2wra33hm4m4rzr5r3cxc3gdapv93c18wna64skbggvbv6"; depends=[Rcpp RcppArmadillo xts zoo]; };
+  DriftBurstHypothesis = derive2 { name="DriftBurstHypothesis"; version="0.3.0"; sha256="0v6b8bm683c0np99bwvn3x0bp9xwf9qgli2050n05iiqibc894np"; depends=[Rcpp RcppArmadillo xts zoo]; };
   DrillR = derive2 { name="DrillR"; version="0.1"; sha256="0n7pim5kk0wfdjcc67v4vvdb7wyhn5bcgi2a12nbyfyydss7pk1g"; depends=[httr]; };
   DrugClust = derive2 { name="DrugClust"; version="0.2"; sha256="0acvjqwzkbjmy101m501l7fkfxzkp6zflwvn56li5307xv9ggnfg"; depends=[cclust cluster e1071 MESS ROCR]; };
   DstarM = derive2 { name="DstarM"; version="0.3.0"; sha256="16vcv21dgnymhsy9j5x5pblnipf4hdyscajx6pr8kl6i95hs3hmj"; depends=[DEoptim ggplot2 Rcpp RcppArmadillo rtdists RWiener]; };
@@ -1085,41 +1126,42 @@ in with self; {
   Dykstra = derive2 { name="Dykstra"; version="1.0-0"; sha256="1rc1409ky0ysqr3ccq28yhbs94m6d0z2dfa66k4c7irxjvbagwz6"; depends=[]; };
   DynClust = derive2 { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; };
   DynNom = derive2 { name="DynNom"; version="5.0.1"; sha256="1ahs93mks2z423sxk4wjgivdz4ggvwm87dha0aan4fg4jarai98s"; depends=[BBmisc compare dplyr ggplot2 magrittr plotly prediction rms shiny stargazer survival]; };
-  DynTxRegime = derive2 { name="DynTxRegime"; version="4.1"; sha256="1gjklpyjf9gl1h94v8lhra0vg90bnci7f70nzmvg2gkfyin7jygv"; depends=[dfoptim kernlab modelObj rgenoud]; };
+  DynTxRegime = derive2 { name="DynTxRegime"; version="4.2"; sha256="0i2n48jrlxma9q43fngc614z1hfyrc2hwcijpj7zl94rxzaa4zv2"; depends=[dfoptim kernlab modelObj rgenoud]; };
   DynaRankR = derive2 { name="DynaRankR"; version="1.0.0"; sha256="1smxgsxl0s5ynlphssd2q59f40zxin8im91fdcvawchc4qj2lmgg"; depends=[dplyr rlang]; };
   DynamicDistribution = derive2 { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
-  DynamicGP = derive2 { name="DynamicGP"; version="1.1-4"; sha256="0zlhlxbi53zd79dgp09625ghb5lfl5s4sdmf2849ajcc83wqfiih"; depends=[lhs]; };
+  DynamicGP = derive2 { name="DynamicGP"; version="1.1-5"; sha256="12y56anyi3amn7czwkk4qakmgqq0mf80xrhb8ccy1sxzk7k86pfz"; depends=[lhs]; };
   E4tools = derive2 { name="E4tools"; version="0.1.1"; sha256="1kmj1fddybjia9ninhcy75kdmq152zjw7s24chpqr5wsblffr3yx"; depends=[accelerometry anytime BBmisc chron data_table DataCombine doParallel doSNOW foreach ggplot2 hms scales signal]; };
   EAinference = derive2 { name="EAinference"; version="0.2.3"; sha256="1kzcfya3z6rf1vqjn72yjymdhrn4dzgmwifh3w6k22cy5jxffzn4"; depends=[hdi limSolve MASS msm mvtnorm Rcpp RcppArmadillo]; };
   EBASS = derive2 { name="EBASS"; version="0.1"; sha256="14hxzj06wrc4ihflr7dqk28fsjwbcizr0jy54vhv0mk1y1gd4201"; depends=[]; };
   EBEN = derive2 { name="EBEN"; version="4.6"; sha256="0gcf5b2viiq69vs8bd8nhk65g9sbzgg212w7zpnz4y6cv9jkk5zz"; depends=[]; };
   EBMAforecast = derive2 { name="EBMAforecast"; version="0.52"; sha256="1809ia0dpkilprv7x19drp1v2qckk0wm596f1i1vl0k37wbhcziv"; depends=[abind Hmisc plyr Rcpp separationplot]; };
-  EBPRS = derive2 { name="EBPRS"; version="1.1.2"; sha256="1pbhxwvkw4sn92ap4lsyc4iin82r2ifvqb7fwyii8qx4m9j8ff5l"; depends=[data_table ROCR]; };
+  EBPRS = derive2 { name="EBPRS"; version="1.2.2"; sha256="1lmcp6nvkl1gwamhaal8dab4z7knfp36i3c1y8ny80z9i69fip1h"; depends=[ROCR]; };
   EBglmnet = derive2 { name="EBglmnet"; version="4.1"; sha256="0wlscmimj74alcr8k5h1g3alvlpss4g2ah7zkpd42akam3zb4s5z"; depends=[]; };
   EBrank = derive2 { name="EBrank"; version="1.0.0"; sha256="1qzhrr3n2zv31mjp224b35324nr9nigzazyfv11j4zhwl1ipf632"; depends=[]; };
   ECFsup = derive2 { name="ECFsup"; version="0.1-2"; sha256="0fpcab0gjgsc3sx0plpx068rw3a7kfzs2nyrr477a5m0rcbqf1kh"; depends=[foreach Rcpp RcppArmadillo]; };
   ECGofTestDx = derive2 { name="ECGofTestDx"; version="0.4"; sha256="0y8bw1k9spwxyzc7vsi2iblnmjsidxbybjrzzh2j6frjmv3rk4g1"; depends=[bootstrap orthopolynom]; };
   ECLRMC = derive2 { name="ECLRMC"; version="1.0"; sha256="01z2hmbpb754s2rsvx3i5wf7kkkr2mvs2g89ih2bqrif7w5rmgyg"; depends=[softImpute]; };
-  ECOSolveR = derive2 { name="ECOSolveR"; version="0.5.2"; sha256="0sh0brv589naqb2q87abc88ys2kbir4vh02nvjm5cbajmibnkv8p"; depends=[]; };
+  ECOSolveR = derive2 { name="ECOSolveR"; version="0.5.3"; sha256="1xglkx1x9kidznvcz61w0ayhfkgbmkxad92frabr9jsnlf6ns78n"; depends=[]; };
   ECctmc = derive2 { name="ECctmc"; version="0.2.5"; sha256="0prryvc17bm1xrhzlqk2w9nj181bg99j1dph3d36h0n1vfq1d7if"; depends=[Rcpp RcppArmadillo]; };
   ECharts2Shiny = derive2 { name="ECharts2Shiny"; version="0.2.13"; sha256="0dq8ja4ydxnc7qx35qhh9ryqgi7ambwz6ka2821mmq3p994crswn"; depends=[jsonlite shiny]; };
-  ECoL = derive2 { name="ECoL"; version="0.2.0"; sha256="17j2z05gdh8mbgc4k01m83rgbps9fjf1l6ykql0225bk4ai25h5a"; depends=[cluster e1071 FNN igraph MASS]; };
-  EDA = derive2 { name="EDA"; version="1.2"; sha256="146kji0hk19vfag1j11vga5smkk1w4za9l5iakjgh61scsh2l791"; depends=[ggplot2]; };
+  ECoL = derive2 { name="ECoL"; version="0.3.0"; sha256="02j4yl6hi83f6m529r6n0gaz8wsy2pi0ncy2g95fjhs8ib0kfn4f"; depends=[cluster e1071 FNN igraph MASS]; };
+  EDA = derive2 { name="EDA"; version="1.3"; sha256="08zqykvga7w07iy00c94q03mrxmjv649ggk7lmksjzy5j3wgyb6d"; depends=[ggplot2]; };
   EDFIR = derive2 { name="EDFIR"; version="1.0"; sha256="0nv1badyg1dri6z91fvs68a72g22vdg0rpi3fkpxw527r11fvrrv"; depends=[geometry lpSolve MASS vertexenum]; };
   EDISON = derive2 { name="EDISON"; version="1.1.1"; sha256="12cc13ng5fc4nm0nvqxqplpb2ycz4cln73xqkk85dka2fnpykjc7"; depends=[corpcor MASS]; };
   EDMeasure = derive2 { name="EDMeasure"; version="1.2.0"; sha256="1gyv86vip0a3939dbbwz29xkqzncw24r68fzykdjnv3b995510iv"; depends=[dHSIC energy rBayesianOptimization]; };
+  EDOIF = derive2 { name="EDOIF"; version="0.1.1"; sha256="0lhaajiq01rrvpp2xq2n6ka7pd4xz0spxrf1xv8ljpi2w9kk4p7l"; depends=[boot distr ellipsis ggplot2 igraph simpleboot]; };
   EDR = derive2 { name="EDR"; version="0.6-6"; sha256="10m92p3fy5z2kca4h9awwmvs4pqri92habkvgjvjl5ira09yvyi7"; depends=[sm]; };
   EEM = derive2 { name="EEM"; version="1.1.1"; sha256="0w20kakgcpyhfi7fcrss4w67pbaj87hi2scy7g05q3sg2ygac7gj"; depends=[colorRamps ggplot2 R_utils reshape2 sp]; };
   EFA_MRFA = derive2 { name="EFA.MRFA"; version="1.0.5"; sha256="0zq587kbl5dzwh7ilp47592frmzyqfh8m4da0830yi1060whdblk"; depends=[ggplot2 optimbase PCovR psych reshape2 scales]; };
   EFAutilities = derive2 { name="EFAutilities"; version="2.0.0"; sha256="1vbpz9papk6vvch3kb2qm6nspa4llp4mpck6ky1j8kvkhjzm1za0"; depends=[GPArotation mvtnorm plyr]; };
   EFDR = derive2 { name="EFDR"; version="1.0"; sha256="1344ysvrniqn1qv2hx9b9afg9fivccfrj393xy9cqz4j395b6jx0"; depends=[copula doParallel dplyr foreach gstat Matrix sp tidyr waveslim]; };
   EFS = derive2 { name="EFS"; version="1.0.3"; sha256="1q8cf8dnxpv5s3lr9145y0wjhak4rz18dzah4xfs5qr4c8nlpl54"; depends=[party pROC randomForest ROCR]; };
-  EGAnet = derive2 { name="EGAnet"; version="0.7"; sha256="1j385mds2mdl0cbshwfda2js0av8rg9npn7ibp1xy3k0d6mwi90z"; depends=[corpcor doParallel dplyr foreach ggplot2 ggpubr glasso igraph iterators lavaan Matrix matrixcalc mvtnorm NetworkToolbox plotly plyr qgraph semPlot]; };
+  EGAnet = derive2 { name="EGAnet"; version="0.8"; sha256="052zgapy9lw4pbggylgw287ncr83yblmmh2ww02pmpnsrl0j48wz"; depends=[corpcor doParallel dplyr foreach ggplot2 ggpubr glasso igraph iterators lavaan Matrix matrixcalc mvtnorm NetworkToolbox OpenMx pbapply plotly plyr qgraph semPlot]; };
   EGRET = derive2 { name="EGRET"; version="3.0.2"; sha256="02c9cakj7szywx0r4rylbdnk63b4npqp2i5x1fhxjy0j5bn0hc2f"; depends=[dataRetrieval fields foreach survival truncnorm]; };
   EGRETci = derive2 { name="EGRETci"; version="2.0.3"; sha256="1fzcndah890nfd3fg83jhp5lpwb0xfyrccabgvilkrrm4i4x675m"; depends=[binom EGRET]; };
   EHR = derive2 { name="EHR"; version="0.1-3"; sha256="1y12j0sjr1zp3bzha1p31f903js674l6ifjccw0y9718sry8dbv2"; depends=[logistf]; };
-  EHRtemporalVariability = derive2 { name="EHRtemporalVariability"; version="1.0.1"; sha256="0j5q729al80jrfillhy8cpg3yyka852z7rn7psxrbrrwnmbk17xi"; depends=[dplyr lubridate plotly RColorBrewer scales shiny viridis xts zoo]; };
-  EIAdata = derive2 { name="EIAdata"; version="0.0.3"; sha256="12jgw3vi2fminwa4lszczdr4j4svn2k024462sgj1sn07a4a4z2s"; depends=[plyr XML xts zoo]; };
+  EHRtemporalVariability = derive2 { name="EHRtemporalVariability"; version="1.0.2"; sha256="14g1x4zdhzgm122nzsw9gfjqdgz5bcdzcywg0jk6p3df2vi6q6vb"; depends=[dplyr lubridate plotly RColorBrewer scales shiny viridis xts zoo]; };
+  EIAdata = derive2 { name="EIAdata"; version="0.0.5"; sha256="1dg59shsamd5hrf65p3y6wybskfhw875jf9ssv561b241i6dkn3i"; depends=[XML xts zoo]; };
   EILA = derive2 { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; };
   EIX = derive2 { name="EIX"; version="1.0"; sha256="1is5dr5pqinshw2gnlsdq0byldiha076j2yn2z4vfg0pdws9lggc"; depends=[DALEX data_table ggiraphExtra ggplot2 ggrepel iBreakDown MASS Matrix purrr scales tidyr xgboost]; };
   EKMCMC = derive2 { name="EKMCMC"; version="0.1.0"; sha256="0sfj6w8780fik0ar9bg8zrxkj10wqagvwrngd58g50fc0z4lhr53"; depends=[numDeriv]; };
@@ -1151,11 +1193,12 @@ in with self; {
   EMSaov = derive2 { name="EMSaov"; version="2.3"; sha256="1hpvwimhkl7za5s8j9n4a8883vy89jrxrhlh0k3cfprnndh4zz05"; depends=[shiny]; };
   EMT = derive2 { name="EMT"; version="1.1"; sha256="0m3av1x3jcp3hxnzrfb128kch9gy2zlr6wpy96c5c8kgbngndmph"; depends=[]; };
   EMVS = derive2 { name="EMVS"; version="1.0"; sha256="10ksrj1aav062cszg4ymnwsgib7a9hlnkksfcvmy26nx5gj2g7zl"; depends=[Rcpp RcppArmadillo]; };
-  EMbC = derive2 { name="EMbC"; version="2.0.1"; sha256="0id68ws6l858nvyy790m17j9gddxmm97z66x24w5r58dxi6yfcrp"; depends=[maptools mnormt RColorBrewer Rcpp RcppArmadillo sp]; };
+  EMbC = derive2 { name="EMbC"; version="2.0.2"; sha256="0j6acr9myp4jkg7p2sfhc58w96yz176pkcjl3q1sgdnbh6s7nl3m"; depends=[maptools mnormt RColorBrewer Rcpp RcppArmadillo sp]; };
   ENMeval = derive2 { name="ENMeval"; version="0.3.0"; sha256="0q5s8nxig8kbr0cblfmf3k20ri19fjs770a0fnzsk0kwlac414hw"; depends=[dismo doParallel foreach maxnet raster]; };
   ENiRG = derive2 { name="ENiRG"; version="1.0.1"; sha256="0yjy7g0pia4g18h7mawkxn77dnnqcajnbml21rrv63qwlr347355"; depends=[ade4 fgui gdata miniGUI raster rgrass7 sp]; };
   ENmisc = derive2 { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc RColorBrewer vcd]; };
-  EQL = derive2 { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[lattice ttutils]; };
+  EPT = derive2 { name="EPT"; version="0.7.3"; sha256="0ymg16wd2dkn6nb0hq43niycydpy5dnadq4011a3815qrkyj7670"; depends=[]; };
+  EQL = derive2 { name="EQL"; version="1.0-1"; sha256="0pa33h0f30l352m6ix296l55lvqxdaib666x2dwy9zx0lmk23w8m"; depends=[lattice ttutils]; };
   EQUIVNONINF = derive2 { name="EQUIVNONINF"; version="1.0"; sha256="103wrry0cmikprihmgx8y4kk1pnbjis7rs1xw13w14v902xkr2rq"; depends=[BiasedUrn]; };
   ERP = derive2 { name="ERP"; version="2.1"; sha256="0l3vgg7szfgi7a6qh93lh2sjnkwkhw02laxdl7x87jirmmsx3157"; depends=[corpcor fdrtool irlba mnormt pacman]; };
   ERSA = derive2 { name="ERSA"; version="0.1.1"; sha256="1b76rfjndw7s0z4qb6rc2s95z0hr9xn4d5qaja9bd721r0g5862k"; depends=[broom car combinat dplyr ggplot2 leaps purrr RColorBrewer shiny tidyr]; };
@@ -1174,13 +1217,13 @@ in with self; {
   EWOC2 = derive2 { name="EWOC2"; version="1.0"; sha256="1x3l332pmh69kl0c1rka264mi69avdm938mzd79ck4y3qcgn07vr"; depends=[MASS rjags]; };
   EXRQ = derive2 { name="EXRQ"; version="1.0"; sha256="1iqsr52sl2j5q03122a7rsp6n6a2bkysk2r908c89l36gk4sj2i5"; depends=[mnormt quantreg]; };
   EZtune = derive2 { name="EZtune"; version="2.0.0"; sha256="1arrd9zkssb8ixx7r4nxwayksz1mk7jkvlcbm264pv9ya6kh3yrh"; depends=[ada e1071 GA gbm optimx rpart]; };
-  Eagle = derive2 { name="Eagle"; version="1.5.1"; sha256="188p8fyg3ch1i85yrh3dpj6gq7vili3lz3jz1rsh59wf0bdv418l"; depends=[data_table ggplot2 ggthemes matrixcalc Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
+  Eagle = derive2 { name="Eagle"; version="2.1.1"; sha256="0sx9fg3awv086861jyj18a814m6jdckzdvds6375wyd5cvi2ifqd"; depends=[data_table ggplot2 ggthemes matrixcalc mmap R_utils Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
   EasyABC = derive2 { name="EasyABC"; version="1.5"; sha256="17qv6y8sf2iwwqcv5wfg6sii259gv5jyr72dnfpir2bw78wb3mqx"; depends=[abc lhs MASS mnormt pls tensorA]; };
   EasyHTMLReport = derive2 { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc ggplot2 knitr markdown reshape2 scales xtable]; };
   EasyMARK = derive2 { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[coda doParallel foreach MASS random rjags stringr]; };
   EasyMx = derive2 { name="EasyMx"; version="0.2-1"; sha256="03yshzb4wh3n667z9lmrwsz16chpgnl8qv3qlx425mj5iiyv626z"; depends=[OpenMx]; };
   EbayesThresh = derive2 { name="EbayesThresh"; version="1.4-12"; sha256="07a2dd3za2dc81n6m2xy794sclp3yw7f46lg1igaflh7m9407198"; depends=[wavethresh]; };
-  Ecdat = derive2 { name="Ecdat"; version="0.3-1"; sha256="1lvfp2ih8ng3kn3cia687j5fd27iwiak7gk3bhgjp8bnlgblqq02"; depends=[Ecfun]; };
+  Ecdat = derive2 { name="Ecdat"; version="0.3-4"; sha256="07c6cv8dnz7781i9aavr0gx573nkmqam5v157kkq7478ia1cccpb"; depends=[Ecfun]; };
   Ecfun = derive2 { name="Ecfun"; version="0.2-0"; sha256="1clxwmwd4lmhh7zqspqgn13vrzg40lbqzb0a7b90qla4hk9r4zm4"; depends=[fda gdata jpeg MASS RCurl stringi TeachingDemos tis XML xml2]; };
   EcoGenetics = derive2 { name="EcoGenetics"; version="1.2.1-5"; sha256="1953q374msvdw91m2nagxkwh5r9gnq5qss6l6mf34hayq3kwm8s9"; depends=[d3heatmap doParallel edgebundleR foreach ggplot2 htmlwidgets igraph jsonlite magrittr networkD3 party pheatmap plotly raster reshape2 rgdal rkt SoDA sp]; };
   EcoHydRology = derive2 { name="EcoHydRology"; version="0.4.12.1"; sha256="075kgy6cxppkclk6nj5xs1f5yv9w8cpr09xwhf2101a6wswknb88"; depends=[DEoptim operators topmodel XML]; };
@@ -1194,18 +1237,19 @@ in with self; {
   EdSurvey = derive2 { name="EdSurvey"; version="2.3.2"; sha256="1cw0s2jpgb7jkcly5vk96jpdgdy7nlf0ri37ab17f108mi8gb8nn"; depends=[car data_table Formula glm2 haven LaF lfactors lme4 MASS Matrix NAEPprimer quantreg RColorBrewer readr readxl rvest stringi stringr tibble wCorr WeMix xml2 xtable]; };
   EditImputeCont = derive2 { name="EditImputeCont"; version="1.1.4"; sha256="1gqi3mnxnhsynk63hr0ny93m60xq4a0sjc5x0p67l6xybn2fk011"; depends=[editrules igraph Rcpp]; };
   EffectLiteR = derive2 { name="EffectLiteR"; version="0.4-3"; sha256="05yydwi40m5hrda01l9nj8y3d85l2n04nr39k1kni4zbciinls2b"; depends=[car foreign ggplot2 lavaan lavaan_survey nnet shiny survey]; };
-  EffectStars = derive2 { name="EffectStars"; version="1.9"; sha256="15n5mrba2s0qxcg3zikfwpxqwv38h39zmvj8sz62ni4pdhrhhjh3"; depends=[VGAM]; };
-  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-2"; sha256="0121zb627zwkgbb84sn2dclph56dc5rkfjpci5xwd0w99vh3q66l"; depends=[miscTools VGAM]; };
-  EffectTreat = derive2 { name="EffectTreat"; version="0.4"; sha256="05r8frrir2dnivj21raczchf9qligqdccnnpj1kwi0zgr5h4spz6"; depends=[]; };
+  EffectStars = derive2 { name="EffectStars"; version="1.9-1"; sha256="131w5bdc615gaa2czi4wyc2f96jcg24ahcmggajrvyhxmi6rag5x"; depends=[VGAM]; };
+  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-3"; sha256="0yh4krqjh1jb7gjxb9z4f5bzarps0g9jfqbbva782a881dhcdl1x"; depends=[miscTools VGAM]; };
+  EffectTreat = derive2 { name="EffectTreat"; version="1.0"; sha256="1dvhqp3psjllzbv82xcxz3qxni0yv83yc16598185s42zvm6582z"; depends=[]; };
   EffectsRelBaseline = derive2 { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
   EfficientMaxEigenpair = derive2 { name="EfficientMaxEigenpair"; version="0.1.4"; sha256="1s0i9a2vk2g4f5gadsvzjfkw91hcjsrbyjg2vgnj1v17xrwgp40w"; depends=[]; };
   ElastH = derive2 { name="ElastH"; version="0.3.1"; sha256="1xgmz0xirvdyjz8l31zb2j91nj0g8ffhvzp44b97473fsj06n1g6"; depends=[dlm]; };
   EleChemr = derive2 { name="EleChemr"; version="1.1.0"; sha256="109dv7ayg5nm6zjd70dp8h5qqwrijikymzgb41dl8vx4pqhv43v3"; depends=[ggplot2]; };
-  ElemStatLearn = derive2 { name="ElemStatLearn"; version="2015.6.26.1"; sha256="09hz283vwg0sdxavqw5rp6izqjf8slvv7sraa355cklz5n27xgag"; depends=[]; };
+  ElemStatLearn = derive2 { name="ElemStatLearn"; version="2015.6.26.2"; sha256="1ynp3fxzi095im584bgw9v8pzgs9p2v64csyhmf0m2hqyrr4myd0"; depends=[]; };
   EloChoice = derive2 { name="EloChoice"; version="0.29.4"; sha256="1g8ivvnv16c2gniwd9xa9z89bm4rac0nrg3mcg1risgf9yk4rgm5"; depends=[psychotools Rcpp RcppArmadillo Rdpack]; };
   EloOptimized = derive2 { name="EloOptimized"; version="0.3.0"; sha256="185vh8h6r5wqcbaq3glq8k3fr8jp6h3q2h2ly54agi6bi3fvbs05"; depends=[BAMMtools dplyr lubridate magrittr reshape2 rlang rlist]; };
   EloRating = derive2 { name="EloRating"; version="0.46.8"; sha256="1hsqsdik1slmdjd811mkpag96iahy62l27yj2a27mnnffi188lmi"; depends=[network Rcpp RcppArmadillo Rdpack sna zoo]; };
   ElstonStewart = derive2 { name="ElstonStewart"; version="1.1"; sha256="1y2g4x3fhi78c2406bk8r8c3x9zhx8ya3qlbnypdm65j0minixsn"; depends=[digest kinship2]; };
+  EmbedSOM = derive2 { name="EmbedSOM"; version="1.9.1"; sha256="050j943774zmay6b62rqsb9ifd55cy5p77l0fkrb7b42jgxdqwpy"; depends=[]; };
   Emcdf = derive2 { name="Emcdf"; version="0.1.2"; sha256="0jb59jp1drcwipmk6yzg0cl366i8nhffa13c3x3fmhaj7ifv77vv"; depends=[lattice Rcpp]; };
   EmiStatR = derive2 { name="EmiStatR"; version="1.2.2.0"; sha256="0xwmwbybiyb9688l5n98vir3rwbbjgpw5qb25p20lhlj1pqg95w1"; depends=[doParallel foreach lattice xts zoo]; };
   EmissV = derive2 { name="EmissV"; version="0.665.1.0"; sha256="1xzpsr43pyvmvzbcw66cxv7qs9i8s7pg1w90l3ivx9mz7p8bfz8a"; depends=[data_table lwgeom ncdf4 raster sf sp units]; };
@@ -1226,14 +1270,14 @@ in with self; {
   EnvStats = derive2 { name="EnvStats"; version="2.3.1"; sha256="0ang2s222znrvzvidyvj2sa2bqx95bxicff64p6w2a7z88mx8lyp"; depends=[ggplot2 MASS nortest]; };
   EnviroPRA = derive2 { name="EnviroPRA"; version="1.0"; sha256="0yirh3vy7wap0qmm3kvjz9y68gcvp9i8qshv80wh8aijxwklpr8n"; depends=[fitdistrplus kSamples MASS truncdist]; };
   EnviroStat = derive2 { name="EnviroStat"; version="0.4-2"; sha256="0ckax6vkx0vwczn21nm1dr8skvpm59xs3dgsa5bs54a3xhn5z9hs"; depends=[MASS]; };
-  Epi = derive2 { name="Epi"; version="2.37"; sha256="1lanr9x0c6w22406p56j7cwk6wck8njq6pscb4gzc613d68zj1lk"; depends=[cmprsk data_table etm MASS Matrix mgcv numDeriv plyr survival zoo]; };
+  Epi = derive2 { name="Epi"; version="2.40"; sha256="046y10vwks5y84pzccmrn6d4pd6qz70imvp1hw5ywp8fnwzfh4g5"; depends=[cmprsk data_table etm MASS Matrix mgcv numDeriv plyr survival zoo]; };
   EpiContactTrace = derive2 { name="EpiContactTrace"; version="0.12.0"; sha256="1i84fslz8sdngvkv34zhzjwzrzzxx6f4s31p8f5smmf028jlpyys"; depends=[]; };
-  EpiCurve = derive2 { name="EpiCurve"; version="2.1-1"; sha256="0y6llpxa8xyfn9cxhq35mzfp1gc7la1708q85q4hz0l115abvk92"; depends=[dplyr ggplot2 ISOweek RColorBrewer scales timeDate]; };
+  EpiCurve = derive2 { name="EpiCurve"; version="2.2-1"; sha256="091q03lak2nfk83s10004qnwdng0gl4z92pc174mc41wns7f5d8v"; depends=[dplyr ggplot2 ISOweek RColorBrewer scales timeDate]; };
   EpiDynamics = derive2 { name="EpiDynamics"; version="0.3.0"; sha256="0hpysjl8wfgylbp4ddxmi5msvlp1w70c6pxggc2bwdgap3s127f3"; depends=[deSolve ggplot2 reshape2]; };
   EpiEstim = derive2 { name="EpiEstim"; version="2.2-1"; sha256="1a21mskjvyz9qdvl3kkf0p15zn1nx1a49c5djp1lacrn6h7g8k9p"; depends=[coarseDataTools coda fitdistrplus ggplot2 gridExtra incidence reshape2 scales]; };
   EpiILM = derive2 { name="EpiILM"; version="1.4.2"; sha256="16vml2p7c4nv0lfis661x7b9wimrni1ncpa256dh99cps9508j28"; depends=[coda]; };
-  EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.3"; sha256="10snghwkapg6n6lhkf5v3w2g0ngkq556px65ccc4dgyndhwdsqmm"; depends=[coda igraph]; };
-  EpiModel = derive2 { name="EpiModel"; version="1.7.2"; sha256="0zkj17kvssn4y2rglasx2s0ks1ha6bf1lzbj809pmf2m4gvyc4gb"; depends=[ape deSolve doParallel ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer tergm]; };
+  EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.4"; sha256="033m5v9x9f8wg6ayw0byzrm60ip9c1ksfyjyfdw14vifmpjxkz7k"; depends=[coda igraph]; };
+  EpiModel = derive2 { name="EpiModel"; version="1.7.3"; sha256="037y5q25cy3zqbj236pxx30iax2bz1wag0ndffmglhbq17da2w1s"; depends=[ape deSolve doParallel ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer tergm]; };
   EpiReport = derive2 { name="EpiReport"; version="0.1.0"; sha256="1bfh7nrwmplsk7whvmsf0wxg795xrwvarxw974v58mjb282yp87s"; depends=[dplyr extrafont flextable ggplot2 knitr officer png rmarkdown tidyr zoo]; };
   EpiSignalDetection = derive2 { name="EpiSignalDetection"; version="0.1.1"; sha256="04bagnx9fs0r3167hmwgc389fl5hq7l4j6kdjjmi360vcaimx9qi"; depends=[dplyr DT ggplot2 ISOweek knitr pander rmarkdown shiny surveillance]; };
   EpiStats = derive2 { name="EpiStats"; version="1.3-1"; sha256="07iz6hhfcawfcb1n9znpafgmmgjgw7pikr71hh5c7f802k1qffw7"; depends=[dplyr epiR]; };
@@ -1245,31 +1289,33 @@ in with self; {
   EstMix = derive2 { name="EstMix"; version="1.0.1"; sha256="13zwhxm0qm83c8k5k4slvq2snkmbq1zz3i5cqvxxwhvkb4b8aja4"; depends=[PSCBS Rcpp RcppArmadillo]; };
   EstSimPDMP = derive2 { name="EstSimPDMP"; version="1.2"; sha256="05gp0gdix4d98111sky8y88p33qr5w4vffkp6mg9klggn37kdj8j"; depends=[]; };
   EstimateGroupNetwork = derive2 { name="EstimateGroupNetwork"; version="0.1.2"; sha256="148srhlpzh0scvnkjbkyia1pr8a2ridabm3dahw4zn7p3cryiyb1"; depends=[igraph qgraph]; };
-  EstimationTools = derive2 { name="EstimationTools"; version="1.2.0"; sha256="1lawxzkcmzds3c69lvilbbrs799zl6ph8sf94j5cg1n9kipgi547"; depends=[BBmisc boot DEoptim knitr numDeriv Rdpack rmarkdown]; };
-  EthSEQ = derive2 { name="EthSEQ"; version="2.1.2"; sha256="0w75d8kw1bf4mfgk8rrx6vzq002z2588kxgadyfag0vk9s4akxi3"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
+  EstimationTools = derive2 { name="EstimationTools"; version="1.2.1"; sha256="0m3q71ag73ph52a6nyvwh6i33d2c42dbbx7vww9h7pqkc09z1j7a"; depends=[BBmisc boot DEoptim numDeriv Rdpack]; };
+  EthSEQ = derive2 { name="EthSEQ"; version="2.1.3"; sha256="168wxxb1cyrfr8s4f9gxqj64dmc4i24g5k6yys3xay9c932gf98y"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
   EurosarcBayes = derive2 { name="EurosarcBayes"; version="1.1"; sha256="12311s6ibw9q6kykhh689r93r7mwjhwrhkzdpc75grvw6ilgjmpm"; depends=[clinfun data_table plyr shiny VGAM]; };
   EvCombR = derive2 { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
   EvalEst = derive2 { name="EvalEst"; version="2015.4-2"; sha256="1jkis39iz3zvi5yfd0arvw7bym6naq45f5cravywg8c37n9v967x"; depends=[dse setRNG tfplot tframe]; };
   EvaluationMeasures = derive2 { name="EvaluationMeasures"; version="1.1.0"; sha256="0b65y4rb650hhlgc18z0sm0danrrawqkazzdl9krl877djrgx87g"; depends=[]; };
   Evapotranspiration = derive2 { name="Evapotranspiration"; version="1.14"; sha256="1v681m7zyhpydyx1mbkk4iwxkkf0mx1317c3z2v465zg9bssp3c7"; depends=[zoo]; };
-  EventDetectR = derive2 { name="EventDetectR"; version="0.3.1"; sha256="1nh859q9d2k9fpgyj9g7dvhbhbychhng174mlmyl8x9l7dvmiydx"; depends=[forecast imputeTS]; };
+  EventDetectR = derive2 { name="EventDetectR"; version="0.3.3"; sha256="01yaf44bhkd8zwwky5m2a0bm3mmpkcyqhvjb4yqx0gszlfm1nb60"; depends=[forecast ggplot2 gridExtra imputeTS]; };
   EventStudy = derive2 { name="EventStudy"; version="0.36"; sha256="0pd7qbpj4agaqc57lianqinnardyh929nr8ammmpal191v2i7hmw"; depends=[curl data_table dplyr ggplot2 httr jsonlite magrittr miniUI openxlsx purrr RColorBrewer readr rlang rstudioapi scales shiny stringr testthat tidyquant tidyr]; };
   EvoRAG = derive2 { name="EvoRAG"; version="2.0"; sha256="0gb269mpl2hbx1cqakv3qicpyrlfb4k8a3a7whhg90masbgmh8f6"; depends=[]; };
   EvolutionaryGames = derive2 { name="EvolutionaryGames"; version="0.1.0"; sha256="1v6xpxk4kbjbmv8vh517rd76gyrd9znpxqdh4jqz8lvdpnpla4wv"; depends=[deSolve geometry ggplot2 interp MASS reshape2 rgl]; };
   Evomorph = derive2 { name="Evomorph"; version="0.9"; sha256="1br2fyggwz2mxpic8sk384xq1lpbpv0j5gf6xyzhkn2n7kfpf6d5"; depends=[geomorph ggplot2 reshape2 stringr]; };
   ExPanDaR = derive2 { name="ExPanDaR"; version="0.4.0"; sha256="0clvdjhlkjw6wyfczp5lxkn0cmmxhwfna5p454aix7nkqnvck4wa"; depends=[corrplot dplyr DT ggplot2 Hmisc kableExtra lfe lmtest multiwayvcov openssl rio scales shiny shinycssloaders stargazer tictoc tidyr]; };
   ExPosition = derive2 { name="ExPosition"; version="2.8.23"; sha256="0x9400ggmgrnaish0cfgnyvw549g4ibfv9aj6vzq7j68n58vq405"; depends=[prettyGraphs]; };
-  Exact = derive2 { name="Exact"; version="1.7"; sha256="0d0h406w2l99gxq6pmh9crxxrvdidcajk7bqzmifl7nfb77vp1av"; depends=[]; };
+  Exact = derive2 { name="Exact"; version="2.0"; sha256="142yiz9bz1abgpdqkzgdsz3bp3dwbjlmyg29a62djb8630aicgyn"; depends=[]; };
   ExactCIdiff = derive2 { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; };
   ExceedanceTools = derive2 { name="ExceedanceTools"; version="1.2.2"; sha256="084sc6pggfbcyavhfnd5whyigw7dyjhb4cxmxi0kh2jiam5k8v5b"; depends=[SpatialTools splancs]; };
   ExcessMass = derive2 { name="ExcessMass"; version="1.0"; sha256="1z8l1lja02wxw8l72s3bq6sgjymn5929n123xk6b7ndd52zlfgf5"; depends=[]; };
-  ExomeDepth = derive2 { name="ExomeDepth"; version="1.1.10"; sha256="11lg1n9wls96cg1byj5bfircw4bsf0rbk37h8fl0hkh29m6gyy16"; depends=[aod Biostrings GenomicAlignments GenomicRanges IRanges Rsamtools VGAM]; };
+  ExomeDepth = derive2 { name="ExomeDepth"; version="1.1.12"; sha256="106r22bqvcm6mycbk5f9k4y5mcv96czx5n5p9ypn8hvl9p25gvha"; depends=[aod Biostrings dplyr GenomicAlignments GenomicRanges IRanges magrittr Rsamtools VGAM]; };
   ExpDE = derive2 { name="ExpDE"; version="0.1.4"; sha256="0yjsap92dd1sb23fhw69i0ddk3lyj5f4kwp9rvz4k0vxry10hx7g"; depends=[assertthat]; };
   ExpDes = derive2 { name="ExpDes"; version="1.2.0"; sha256="0zisgb129fdg2igc3gp8jkrv9bz2r7bz2i20ap07mqlvhq88515a"; depends=[stargazer]; };
   ExpDes_pt = derive2 { name="ExpDes.pt"; version="1.2.0"; sha256="0fny5hcg76bm04vpbkvlwzw78m5gj28rvich7k1hhrhlxm3xi3hf"; depends=[stargazer]; };
   ExpRep = derive2 { name="ExpRep"; version="1.0"; sha256="0spv3wd9c8sr338n5kdzrs28yh7s90fl70wsdnkibmlxhnh3ay3g"; depends=[]; };
   ExplainPrediction = derive2 { name="ExplainPrediction"; version="1.3.0"; sha256="14m3b9fsrpfpr8avsnhl8b3bzk2xlhwgkwag5iq8bj7bzvv4yck1"; depends=[CORElearn semiArtificial]; };
   ExtMallows = derive2 { name="ExtMallows"; version="0.1.0"; sha256="0903jslp74s1vzbklq88y2dm0dgkhd6g77b7aipxam98933k0hzz"; depends=[]; };
+  ExtractTrainData = derive2 { name="ExtractTrainData"; version="5.0.3"; sha256="0a47b3zb4igx39jn609ll9s4zwbpid723xncdjxrmamdp8dvv8r6"; depends=[raster rgdal rgeos]; };
+  ExtremalDep = derive2 { name="ExtremalDep"; version="0.0.3-1"; sha256="139q7cniwspzqz25gad0sl44fmwgflglwri4m4brxqpfi0yp9dxz"; depends=[CompRandFld copula evd fda gtools mvtnorm nloptr numDeriv quadprog rlist sn]; };
   ExtremeBounds = derive2 { name="ExtremeBounds"; version="0.1.6"; sha256="12bc4mmkmggvk3kfmz6nq13fa2470z0bx8smnvq9vf1ypdiiw85y"; depends=[Formula]; };
   FACTMLE = derive2 { name="FACTMLE"; version="1.1"; sha256="0qz2i0hnn84bpps1h8jmfkgp5p59axr0wayj9dvl839radrvpqvy"; depends=[rARPACK]; };
   FADA = derive2 { name="FADA"; version="1.3.4"; sha256="15asq4l3pir28593wpi46wxpszw81r82snv6hgkiiyqkf8pfchga"; depends=[corpcor crossval elasticnet glmnet MASS matrixStats mnormt sda sparseLDA]; };
@@ -1286,13 +1332,14 @@ in with self; {
   FBN = derive2 { name="FBN"; version="1.5.1"; sha256="0723krsddfi4cy2i3vd6pi483qjxniychnsi9r8nw7dm052nb4sf"; depends=[]; };
   FCGR = derive2 { name="FCGR"; version="1.0-0"; sha256="015nnnc9fasx0qjrc3lbxv14rqwyx36xzsw9076grwm5pqahrdsb"; depends=[kerdiest KernSmooth MASS mgcv nlme pspline sfsmisc]; };
   FCMapper = derive2 { name="FCMapper"; version="1.1"; sha256="1yjh8rs65nqslvwv7x4rif469zds41s7v3vhq6pca1y17kvj2in1"; depends=[igraph]; };
+  FCSlib = derive2 { name="FCSlib"; version="1.0.0"; sha256="0wgk3h03w5wlr8anlp779wqj7ivnlw3brlahc82mb92nq3yc0k5d"; depends=[tiff]; };
   FD = derive2 { name="FD"; version="1.0-12"; sha256="0xdpciq14i8rh7v6mw174hip64r7mrzhx7gwri3vp9y7a1380sbi"; depends=[ade4 ape geometry vegan]; };
   FDGcopulas = derive2 { name="FDGcopulas"; version="1.0"; sha256="1i86ns4hq74y0gnxfschshjlc6if3js0disjb4bwfizaclwbw3as"; depends=[numDeriv randtoolbox Rcpp]; };
   FDRSeg = derive2 { name="FDRSeg"; version="1.0-3"; sha256="0dh6m5vlx664kryh56jzi3zxydjwa5217nhbwn6adp0q5qdh6d8a"; depends=[Rcpp stepR]; };
   FDRreg = derive2 { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda mosaic Rcpp RcppArmadillo]; };
   FDRsampsize = derive2 { name="FDRsampsize"; version="1.0"; sha256="0g8kawzyi9x5yndvh330wzqw6rvcnprwq56ngd0j6z51hvvw8qhw"; depends=[]; };
   FDboost = derive2 { name="FDboost"; version="0.3-2"; sha256="1ahdq49ijj4j2yykmzbpgrjn0sm09nzmd33k317y157hnf6zyxvs"; depends=[gamboostLSS MASS Matrix mboost mgcv stabs zoo]; };
-  FENmlm = derive2 { name="FENmlm"; version="2.4.2"; sha256="1nqnrjij5kgn0xpm3xvz2hdlddpcnvyni58pyrlmnlyvbhcw2z0k"; depends=[Formula MASS numDeriv Rcpp]; };
+  FENmlm = derive2 { name="FENmlm"; version="2.4.3"; sha256="1a205a4iv54haixanyzx210lzqg7cnryjvqayvkdj1lhmdql4anw"; depends=[Formula MASS numDeriv Rcpp]; };
   FEprovideR = derive2 { name="FEprovideR"; version="1.1"; sha256="02hfdk9qhaq4y19p700w2i7qsdp4z2kyww0pr0pijfivkqks0vpi"; depends=[ggplot2 Matrix poibin]; };
   FFD = derive2 { name="FFD"; version="1.0-6"; sha256="19yqb45qj54fmjkqfjbcqsx3wz6fk8inrqif9ds93xjkm6aaiqgp"; depends=[R2HTML tkrplot]; };
   FFTrees = derive2 { name="FFTrees"; version="1.4.0"; sha256="0s2h81vdh8d41kwz5ja831q11wrb7ywdd7aq46x3y9sgg3aabd44"; depends=[caret circlize e1071 igraph pROC progress randomForest rpart stringr yarrr]; };
@@ -1307,10 +1354,11 @@ in with self; {
   FIT = derive2 { name="FIT"; version="0.0.6"; sha256="1nkjms9cvigc9sjha1krzhd3nmwsfh8pi0f1plf5k8zpb773zzb2"; depends=[gglasso MASS Rcpp RcppEigen XML]; };
   FITSio = derive2 { name="FITSio"; version="2.1-0"; sha256="021xmbavigg70m96xw1bvsdasi5yj2wmafgb6xw4b09fmyv9hvjp"; depends=[]; };
   FKF = derive2 { name="FKF"; version="0.1.5"; sha256="1qzf7y3f4xfirjkm795rcxckjbw6sn7xpilhkyvayqm2vyhf7518"; depends=[RUnit]; };
+  FKSUM = derive2 { name="FKSUM"; version="0.1.0"; sha256="1gg76wiklyazm8k80v3c6z2xjb5mch3w54vjl84jllj2c19bcfbw"; depends=[MASS rARPACK Rcpp RcppArmadillo]; };
   FLAME = derive2 { name="FLAME"; version="1.0.0"; sha256="0va9mbwlnvr64hii203rmq4x3izpix0x36kpsns43yb9wdqq70hv"; depends=[dplyr gmp lattice latticeExtra reticulate rlang RPostgreSQL RSQLite]; };
   FLLat = derive2 { name="FLLat"; version="1.2-1"; sha256="0306bpwp2az4x4m5sv88hlh7vs0y5isfby7lxrn2gjnk76gg6mw1"; depends=[gplots]; };
   FLR = derive2 { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
-  FLSSS = derive2 { name="FLSSS"; version="8.5.5"; sha256="00hcfbzc6v4xyhmlqc1ypl7df2x134dbsl21l7rh3zcmp2vc9ayr"; depends=[Rcpp RcppParallel]; };
+  FLSSS = derive2 { name="FLSSS"; version="8.5.6"; sha256="1c6j54ihc385m1f0r86yb83zqv2myfskq48bh9dcynlnc9crs428"; depends=[Rcpp RcppParallel]; };
   FLightR = derive2 { name="FLightR"; version="0.4.9"; sha256="0rcnkifq6mi1i5xhk6qy2gl3bry269y4isfr8phl3car0yj39lw1"; depends=[bit CircStats circular fields GeoLight ggmap ggplot2 ggsn maptools mgcv nlme raster RcppArmadillo rgdal rgeos sp truncnorm]; };
   FMAdist = derive2 { name="FMAdist"; version="0.1.0"; sha256="0aa4sw93ia6cp386hrq6x448x4w0p6k198rjaqs474j25gqgxrv0"; depends=[EnvStats extraDistr fitdistrplus MASS quadprog STAR]; };
   FMC = derive2 { name="FMC"; version="1.0.0"; sha256="1pfqxx7slgcmw4al7i8hy59f4han6b0b7b5az7yh1mscdnghl9bj"; depends=[minimalRSD]; };
@@ -1322,7 +1370,7 @@ in with self; {
   FNN = derive2 { name="FNN"; version="1.1.3"; sha256="0cllqlnynm5yaj4r64mqyyfc8phkb38rwssq8k8ikgfgr4jklxny"; depends=[]; };
   FPCA2D = derive2 { name="FPCA2D"; version="1.0"; sha256="18bb90ppd9gd8pg9jxfyfkmlsaqk8w25fgaj9fk18ybm2nhsxqm6"; depends=[corpcor]; };
   FPCA3D = derive2 { name="FPCA3D"; version="1.0"; sha256="1hrk9caad2s76dx59clxhia45a85khk1y2ii7955f336x55q34a5"; depends=[]; };
-  FPDclustering = derive2 { name="FPDclustering"; version="1.3"; sha256="1cn5nfvhd1vq8qhlildyv92v77x61zhips3dr67fjhg8g6rif0sf"; depends=[cluster ExPosition mvtnorm ThreeWay]; };
+  FPDclustering = derive2 { name="FPDclustering"; version="1.3.1"; sha256="1mmlq960n51hgawvdl9x5215id43ad3pims1ji9khrwk7n1hs559"; depends=[cluster ExPosition mvtnorm ThreeWay]; };
   FPV = derive2 { name="FPV"; version="0.5"; sha256="0pxa8lbcxw2hx2n0frkx0pdndlcfm7gnh9qay9q53cf5gqzzwvvc"; depends=[FuzzyNumbers FuzzyNumbers_Ext_2]; };
   FRACTION = derive2 { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; };
   FRAPO = derive2 { name="FRAPO"; version="0.4-1"; sha256="0mjcrplxr0cyybp5hzzwbq5j03w0f3iiiv1yk7mdqr5gb368dchq"; depends=[cccp Rglpk timeSeries]; };
@@ -1331,7 +1379,7 @@ in with self; {
   FRESA_CAD = derive2 { name="FRESA.CAD"; version="3.1.0"; sha256="1gi637fwfpwbghms96bmfqs7zirjskd9hxiw43s0765h3ypjqwx1"; depends=[Hmisc miscTools pROC Rcpp RcppArmadillo stringr]; };
   FRK = derive2 { name="FRK"; version="0.2.2"; sha256="0m0ngxanyq19myzza4fb75k9vb67mv17iny847bv9qrgg2vbm5r8"; depends=[digest dplyr ggplot2 Hmisc Matrix plyr Rcpp sp spacetime sparseinv]; };
   FRegSigCom = derive2 { name="FRegSigCom"; version="0.3.0"; sha256="0w0yhch75wdx6phf5h4radipgpndv5bfxva2pzzd99fkmws4sswn"; depends=[fda Matrix Rcpp RcppEigen]; };
-  FSA = derive2 { name="FSA"; version="0.8.25"; sha256="035hbw36bmyvk947lkf6f96930wla7wlyn77zrnswl2ikxriif1p"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot withr]; };
+  FSA = derive2 { name="FSA"; version="0.8.26"; sha256="1gnmch98y8b6bssnz769d987rmvyiadrpshpjf5qihcnnq6jp2sy"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot withr]; };
   FSAdata = derive2 { name="FSAdata"; version="0.3.8"; sha256="0i7wkz0baxcf1dv6qvc891b4ja4x65p4qicil472k6a9gcf5d4qm"; depends=[]; };
   FSInteract = derive2 { name="FSInteract"; version="0.1.2"; sha256="1aci1398aaz0nrl5jy6yh7xik355wf7pwngrsak4qsi94vdj05iy"; depends=[Matrix Rcpp]; };
   FSMUMI = derive2 { name="FSMUMI"; version="1.0"; sha256="06ri1zi86cm4arjdlp2pha2bvcc8vz6irvd9n3ja074hv62wxcw4"; depends=[FuzzyR lsa]; };
@@ -1344,8 +1392,8 @@ in with self; {
   FacPad = derive2 { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[MASS Rlab]; };
   FactMixtAnalysis = derive2 { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
   FactoClass = derive2 { name="FactoClass"; version="1.2.7"; sha256="0hvlr9cw6wfckl8rzl5qqyp0h8rv8gcnyj6x930jq7h44kj0ji7d"; depends=[ade4 ggplot2 ggrepel KernSmooth scatterplot3d xtable]; };
-  FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.4"; sha256="1svz4w025jhy907rmg5w4c3wrwadwncb420w2dc1b3nhhysh0llv"; depends=[FactoMineR rmarkdown rrcov]; };
-  FactoMineR = derive2 { name="FactoMineR"; version="1.42"; sha256="1yl16inb2m89l1czgaf0pgy9655dpr751hyx92yw6rqpd2ryznac"; depends=[car cluster ellipse flashClust lattice leaps MASS scatterplot3d]; };
+  FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.5"; sha256="079x3n6jh69vrgqmjskccscd21g0vni6bsyga928gndz9nvh3807"; depends=[FactoMineR ggplot2 rmarkdown rrcov]; };
+  FactoMineR = derive2 { name="FactoMineR"; version="2.0"; sha256="0qiw60ypf3bf5xsqz2b9l82i4jvprjm8lzpp12lhl8d9j5s8m0j8"; depends=[car cluster ellipse flashClust ggplot2 ggrepel lattice leaps MASS scatterplot3d]; };
   FactorsR = derive2 { name="FactorsR"; version="1.4"; sha256="1nw63j9bi4x09pgdvdml0w0qxfy1dda5hkxbhd3d6f7rky1z0nyf"; depends=[]; };
   Factoshiny = derive2 { name="Factoshiny"; version="1.0.7"; sha256="1s4pnikv6n767z2x8s5gqqsj64yf9ivpdb5xw0qviizf9qwg8yvi"; depends=[colourpicker FactoMineR shiny]; };
   Fahrmeir = derive2 { name="Fahrmeir"; version="2016.5.31"; sha256="16fbc1zb9x9p04bl7y5nd375pha6bd3hfqqchlk1bqxrj4879y5g"; depends=[]; };
@@ -1366,9 +1414,9 @@ in with self; {
   FastRWeb = derive2 { name="FastRWeb"; version="1.1-1.1"; sha256="08hqsiglv9ivcv4xmpqqjhqmg3ccba5xa7jahay0m71w2n8m271y"; depends=[base64enc Cairo]; };
   FastSF = derive2 { name="FastSF"; version="0.1.1"; sha256="1xajav45h57hchzkvl2pb4mz9xy433lq74jnry0icid8dai5xhwb"; depends=[limSolve Rcpp RcppArmadillo]; };
   FatTailsR = derive2 { name="FatTailsR"; version="1.7-5"; sha256="1l2anaf4kixidmvya64ni5b78bl9w2n6xf1lnf297lkdka8gxigw"; depends=[minpack_lm timeSeries]; };
-  FateID = derive2 { name="FateID"; version="0.1.7"; sha256="00rhqbwpzxbkxmgg6blv186pngz0fsm448g61qcm40dy6mpf9yd0"; depends=[lle locfit pheatmap princurve randomForest RColorBrewer rgl Rtsne som umap]; };
+  FateID = derive2 { name="FateID"; version="0.1.9"; sha256="0n02591wpi4n0ga42v4xd1jzskcl56nvvls48sdkcnvc7cyi0hjv"; depends=[lle locfit pheatmap princurve randomForest RColorBrewer Rtsne som umap]; };
   FeaLect = derive2 { name="FeaLect"; version="1.14"; sha256="1h6jc8n57mvyz3gi2jdx5xacwv5iim5sx86qzrg3v1higfr54b1l"; depends=[lars rms]; };
-  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.3"; sha256="0k8n3c0yiz6bb9rq6ra8z2hypb4hw4qcsdfbrgrw74kqivscs62i"; depends=[BH digest magrittr Matrix Rcpp]; };
+  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.4"; sha256="00yrji3grqgzg8c1hwqq5kb9xgqlnzwymy0b38cwixadc5w5lq8m"; depends=[BH digest magrittr Matrix Rcpp]; };
   FedData = derive2 { name="FedData"; version="2.5.7"; sha256="07qgqhd3pg86qsih1ap7j02vriwabqna974q68bapfm52qnvm77z"; depends=[curl data_table devtools dplyr foreach Hmisc httr igraph lubridate magrittr ncdf4 raster readr rgdal rgeos sf sp stringr tibble xml2]; };
   FeedbackTS = derive2 { name="FeedbackTS"; version="1.4"; sha256="1mcsr48hvrpfnk2f0z1bc8556jf848bpd8prm3y46gqdj452wpmm"; depends=[geoR mapdata maps proj4 sp]; };
   Fgmutils = derive2 { name="Fgmutils"; version="0.9.5"; sha256="05n8lvx3cs1ckliaj7ni2rbfcrdl7d0pzf9bkwlyd1779h684cxz"; depends=[data_table devEMF ggplot2 gridExtra plyr png sqldf stringr]; };
@@ -1382,7 +1430,7 @@ in with self; {
   FinancialInstrument = derive2 { name="FinancialInstrument"; version="1.3.1"; sha256="0f1zaclrcmpkdhcfc8a09f7lsf2b7gfyd7js3173qckn84a01f3w"; depends=[quantmod TTR xts zoo]; };
   FinancialMath = derive2 { name="FinancialMath"; version="0.1.1"; sha256="11nhphvd7bvbc7xfs85rib763r1mpvxmsj6hgzfib5aifib5k5js"; depends=[]; };
   FindAllRoots = derive2 { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
-  FindIt = derive2 { name="FindIt"; version="1.1.4"; sha256="1rnkxngkqsmqs0d0m8ihscpsigxbjgl5ga5nyfwf97b1hrbv4j37"; depends=[arm ggplot2 glinternet glmnet igraph lars lmtest Matrix quadprog sandwich]; };
+  FindIt = derive2 { name="FindIt"; version="1.2.0"; sha256="0zrvkvj907fw86jnzzlwk4d90hi42nq45jprp16xryxb7xxii6i8"; depends=[arm glinternet glmnet igraph lars limSolve lmtest Matrix quadprog sandwich]; };
   FinePop = derive2 { name="FinePop"; version="1.5.1"; sha256="184707yvh2mydx42vxrdgv0n4v2dad4an7c4yvlyb9d7z6h0sw2x"; depends=[]; };
   FisHiCal = derive2 { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph Rcpp RcppArmadillo]; };
   FisPro = derive2 { name="FisPro"; version="1.0"; sha256="0wj5xf8qcrbmfixmsirwaf9yl5gk0bb588csp867c8n5jnqqyq0p"; depends=[Rcpp Rdpack]; };
@@ -1390,7 +1438,7 @@ in with self; {
   FisherEM = derive2 { name="FisherEM"; version="1.5.1"; sha256="1s7gfdw840f51mn76jvcnwpwcf3dzf2w81wlyxqkij45sink92yz"; depends=[elasticnet MASS]; };
   FitAR = derive2 { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[bestglm lattice leaps ltsa]; };
   FitARMA = derive2 { name="FitARMA"; version="1.6.1"; sha256="02di0pkz6hh92glpn3li6z9azkcqa64ja8zfpy0mkh1l97mw6jsv"; depends=[FitAR]; };
-  FitUltD = derive2 { name="FitUltD"; version="3.0.0"; sha256="1dk2hsvak6gszlr44ajcflgf77akmqz8hf7p50pvhj3mqfd7c9fy"; depends=[ADGofTest assertthat cowplot fitdistrplus ggplot2 MASS mclust purrr]; };
+  FitUltD = derive2 { name="FitUltD"; version="3.1.0"; sha256="17fj211riybq71k63wjfv2ndc2h46ay5svrac2v5i3b92cb9hkbv"; depends=[ADGofTest assertthat cowplot fitdistrplus ggplot2 MASS mclust purrr]; };
   FixSeqMTP = derive2 { name="FixSeqMTP"; version="0.1.2"; sha256="0v1cwq8gapgandm7wiw8p6av6qigydlpmwi6w02p1y7f0hf5ifnp"; depends=[]; };
   FixedPoint = derive2 { name="FixedPoint"; version="0.6.1"; sha256="0fxs95rhx17bxv1xx207f83rn4x35gahws4a0n85mfmlb5x2rf5d"; depends=[MASS]; };
   FlexDir = derive2 { name="FlexDir"; version="1.0"; sha256="1gb5alv9jsnw0135g63cy757pxhdw6cgwfm8dpcm8dj9zqg10dkm"; depends=[]; };
@@ -1399,18 +1447,18 @@ in with self; {
   FlexScan = derive2 { name="FlexScan"; version="0.1.0"; sha256="02p8rh3krh30hmzykm03qvm0g1qcrqzcgzlzlww61pswd9j1g53m"; depends=[smerc sp spdep]; };
   FlickrAPI = derive2 { name="FlickrAPI"; version="0.1.0.0"; sha256="0bbk7ac4s3gbcjhfg3yz06pxjid3hpd0mqzxzlj5sghn95f479h9"; depends=[jsonlite magrittr RCurl stringr]; };
   FloodMapper = derive2 { name="FloodMapper"; version="1.0"; sha256="09pr6324namqrwdr2impgqmdmsf34g9pq91091cg9b1031djgzyq"; depends=[magick raster rgdal sp]; };
-  FlowCAr = derive2 { name="FlowCAr"; version="1.0.0"; sha256="19pn29p99j85p8mzjnlkqjr9nbxr3vffahs53i85s1gajb9ynpk4"; depends=[enaR LIM limSolve]; };
+  FlowCAr = derive2 { name="FlowCAr"; version="1.1.1"; sha256="0ddds4726rf38153biz5sgmmyi2knw43vmv2fa7njrjxadsiwclq"; depends=[enaR LIM limSolve]; };
   FlowRegEnvCost = derive2 { name="FlowRegEnvCost"; version="0.1.1"; sha256="0lw4kv4z0s23jy11y53rxxh7zxa7vajxrcnjgxd74xxs64vjlj88"; depends=[zoo]; };
   FlowScreen = derive2 { name="FlowScreen"; version="1.2.6"; sha256="1s9xyrvfsgrl2zxm2an5qj3rs1qx7v7j8wc83jzl28pkwa5xr351"; depends=[changepoint evir zyp]; };
-  FluMoDL = derive2 { name="FluMoDL"; version="0.0.2"; sha256="193xyzc20nb1hsj172alky7h661j8m1r42x3xh1h22yzb1hb6dn4"; depends=[dlnm mvmeta tsModel]; };
+  FluMoDL = derive2 { name="FluMoDL"; version="0.0.3"; sha256="0vp3w6hpph6svz8940w9yk9c5iv4n9mj94f9si1ks0xjbi948rqd"; depends=[dlnm mvmeta tsModel]; };
   Flury = derive2 { name="Flury"; version="0.1-3"; sha256="105fv9azjkd8bsb9b8ba3gpy3pjnyyyp753qhrd11byp3d0bbxy0"; depends=[]; };
   ForIT = derive2 { name="ForIT"; version="1.0"; sha256="0mi2cw09mbc54s8qwcwxin2na1gfyi60cdssy2ncynma7alq3733"; depends=[]; };
   ForImp = derive2 { name="ForImp"; version="1.0.3"; sha256="0ai4i6q233sdsi8xilpbkxjqdf4pxw93clkdkhcxal6q43rnf7vd"; depends=[homals mvtnorm sampling]; };
   ForeCA = derive2 { name="ForeCA"; version="0.2.4"; sha256="1i19lmhl1kgfnd7zipjr6xp5ir9rvjy13sbq321jaf8ya60bjdd9"; depends=[ifultools MASS reshape2 sapa]; };
   ForecastComb = derive2 { name="ForecastComb"; version="1.3.1"; sha256="07cbiv172mpkwvg6svhwgavlfy2144ir3y1l7w37wbd0ygs514id"; depends=[forecast ggplot2 Matrix mtsdi psych quadprog quantreg]; };
   ForecastCombinations = derive2 { name="ForecastCombinations"; version="1.1"; sha256="07vzgm2jy992p1l9b8rsv2lbc8cbfzvql85n5ah4p4l3zjxdxgk9"; depends=[quadprog quantreg]; };
-  ForecastFramework = derive2 { name="ForecastFramework"; version="0.10.1"; sha256="0g9d7248zadbhr5gs0rnl2ckjj4xa08nkwlb8kfsvdnnfzihcz4p"; depends=[abind dplyr lubridate magrittr R6 reshape2 tibble]; };
-  ForestFit = derive2 { name="ForestFit"; version="0.3"; sha256="02yv6f76pd9lw38yfb87nbb4z6cj9l0j67ddricfxxzlxmz6n8hv"; depends=[ars cluster]; };
+  ForecastFramework = derive2 { name="ForecastFramework"; version="0.10.2"; sha256="0p7s08bfjm297diy22km245h7hwla7986qavib6gpgigary6y64k"; depends=[abind dplyr lubridate magrittr R6 reshape2 tibble]; };
+  ForestFit = derive2 { name="ForestFit"; version="0.4.6"; sha256="00gjg1v21by2w7gmgf169vs8scyj0c9l2pf980fm4win4rwndla5"; depends=[ars]; };
   ForestGapR = derive2 { name="ForestGapR"; version="0.0.2"; sha256="0xig9nal83xg312kgq6dhi7n67sa8ixlnh79x957w3n5rv9kdyf2"; depends=[igraph raster rgeos sp spatstat VGAM viridis]; };
   ForestTools = derive2 { name="ForestTools"; version="0.2.0"; sha256="0q9nk9n001bnz5hd8cxj6wmaf8c7g0kwfkpa0hk6ap42666rrrah"; depends=[APfun imager raster rgeos sp]; };
   FormalSeries = derive2 { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
@@ -1419,7 +1467,7 @@ in with self; {
   FossilSim = derive2 { name="FossilSim"; version="2.1.1"; sha256="1dffk14lszq84k61s1jar658qpjc1hm6rwa1gcwwvppvxj6gkvky"; depends=[ape TreeSim]; };
   FourScores = derive2 { name="FourScores"; version="1.5.1"; sha256="1la9d1hfcmi0zg58yl0a7nj36giagh0fwrc7wxyqdq0c7zf1hfzq"; depends=[]; };
   FourgameteP = derive2 { name="FourgameteP"; version="0.1.0"; sha256="15yn47737768fkjjv8ykc9lw7x58pq44k90d9d4c9hp20zw5f3by"; depends=[]; };
-  FrF2 = derive2 { name="FrF2"; version="1.7-3"; sha256="11x9jpj0l5w7195gryimfmii84nk76ll1z6hrrzr2v9y4jcxpx4s"; depends=[BsMD DoE_base igraph scatterplot3d sfsmisc]; };
+  FrF2 = derive2 { name="FrF2"; version="2.1"; sha256="01sihw40jyjy07i2cy7k4pk3ck13mb31djk15j2s37b786z05fmj"; depends=[BsMD DoE_base igraph scatterplot3d sfsmisc]; };
   FrF2_catlg128 = derive2 { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; };
   FractalParameterEstimation = derive2 { name="FractalParameterEstimation"; version="1.1.2"; sha256="16xm2g723dm1n1h6as6yvy92sigzhj31f269g5rrzqjcd4d5m8an"; depends=[]; };
   Fragman = derive2 { name="Fragman"; version="1.0.9"; sha256="03vmvmnyza4i46v1awkdjz6ccbsiq49dm0mlmwsm801rq6yfihgp"; depends=[]; };
@@ -1427,10 +1475,11 @@ in with self; {
   FreeSortR = derive2 { name="FreeSortR"; version="1.3"; sha256="1m6ahhixbbizzn09pz71zvinrdshn3j6gmy05jdxa9d932agqk0w"; depends=[ellipse smacof vegan]; };
   FreqProf = derive2 { name="FreqProf"; version="0.0.1"; sha256="1yqn2435l2sghfcv5mma0rv9yqvpa69z8cqqsjlrlbih9gib82d4"; depends=[ggplot2 reshape2 shiny]; };
   Fstability = derive2 { name="Fstability"; version="0.1.2"; sha256="0kscdmrs5namvhi112b47c811w0bg9s3xg48mfa566pxwxz1nv45"; depends=[]; };
-  FunChisq = derive2 { name="FunChisq"; version="2.4.5-3"; sha256="0ic912ygjj5gm1s6cn32di5hqxdh9pdn9xhs3wngd92s8anm3axl"; depends=[BH Rcpp]; };
+  FunChisq = derive2 { name="FunChisq"; version="2.4.9.1"; sha256="1yfpd6hccymx4s59d1yyz7c4fd478rxsimdkwkyg8cw12qq93nfl"; depends=[BH Rcpp]; };
   FunCluster = derive2 { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[cluster Hmisc]; };
   FuncMap = derive2 { name="FuncMap"; version="1.0.10"; sha256="0iaay6qz9a2s77xjfpp7wm37y7xwnvmlw6s5k5riccmqzc6dcjs7"; depends=[mvbutils]; };
   FunctionalNetworks = derive2 { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[Biobase breastCancerVDX]; };
+  FunnelPlotR = derive2 { name="FunnelPlotR"; version="0.2.1"; sha256="05ldz8z2aq9xgs6p7f26vk1babb3mryw4cghhr64m5q6xh7nkwy3"; depends=[dplyr ggplot2 ggrepel rlang scales]; };
   FusionLearn = derive2 { name="FusionLearn"; version="0.1.1"; sha256="0n8bj7k2r2vf0v2nsw31k75hzkqj5l4hyfnmvid102hx9cl8hv3y"; depends=[]; };
   Fuzzy_p_value = derive2 { name="Fuzzy.p.value"; version="1.1"; sha256="13h6armh9g57zqxyjqk6mq81jlfqxqrg2sb5p9rrhslka5m01zis"; depends=[FuzzyNumbers]; };
   FuzzyAHP = derive2 { name="FuzzyAHP"; version="0.9.1"; sha256="056k3gr257qg5wzcgaw0ad5y5cfzdlqkfypl170f0yy0l7gfzag1"; depends=[MASS]; };
@@ -1438,7 +1487,7 @@ in with self; {
   FuzzyMCDM = derive2 { name="FuzzyMCDM"; version="1.1"; sha256="0ss0s65mm6j0nax4mb9g668d9n9cgl0l016mc3h9hbjxfpqrbkks"; depends=[RankAggreg]; };
   FuzzyNumbers = derive2 { name="FuzzyNumbers"; version="0.4-6"; sha256="1zba28kmzpcza099k1ck7aqn7ms2fh3ijcn05xdimvssjbhsag81"; depends=[]; };
   FuzzyNumbers_Ext_2 = derive2 { name="FuzzyNumbers.Ext.2"; version="3.2"; sha256="0gldq0bg1p1vmrn35prha44d7lyymz0jzshdyp2c5rx433mny7h5"; depends=[FuzzyNumbers]; };
-  FuzzyR = derive2 { name="FuzzyR"; version="2.1"; sha256="08mhwzyksw0snxxcwn2kg62ya8smfvrls30znqhmnbkn5ijz0642"; depends=[plyr shiny]; };
+  FuzzyR = derive2 { name="FuzzyR"; version="2.3"; sha256="0y22924vhvybiwhsfl3svizk4sgrvg4a8wl30b5kb2c0vjv03ad6"; depends=[plyr shiny]; };
   FuzzyStatProb = derive2 { name="FuzzyStatProb"; version="2.0.4"; sha256="1jpqb8xczi1d4g306vrwpi02f9h59aki1pgnckvfmiclr306prpb"; depends=[DEoptim FuzzyNumbers MultinomialCI]; };
   FuzzyStatTra = derive2 { name="FuzzyStatTra"; version="1.0"; sha256="1ijrlnlmq9d5ahgrpzba6kzkaq1zq59zqdgcizybsf9alsswcm00"; depends=[]; };
   FuzzyToolkitUoN = derive2 { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; };
@@ -1448,7 +1497,7 @@ in with self; {
   GABi = derive2 { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; };
   GAD = derive2 { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; };
   GADAG = derive2 { name="GADAG"; version="0.99.0"; sha256="1ycg48idrq2yrk1fxs16yl5wwg3kbfki8xppmh311rrzf75c6z4g"; depends=[igraph MASS Rcpp RcppArmadillo]; };
-  GADMTools = derive2 { name="GADMTools"; version="3.7-1"; sha256="0x7izby7gzaraffwrg7pxzwm4b8znsjyhyrms122vmm1flm0cfpr"; depends=[classInt dplyr ggmap ggplot2 ggspatial gridExtra jsonlite lattice maptools prettymapr raster RColorBrewer rgdal rgeos rosm sf sp stringr tidyverse]; };
+  GADMTools = derive2 { name="GADMTools"; version="3.7-2"; sha256="0aabbs35wbcchab32phiaajzf5zgiis3qfv4nr5dc0mf0qjgsc6h"; depends=[classInt dplyr ggmap ggplot2 ggspatial gridExtra jsonlite lattice maptools prettymapr raster RColorBrewer rgdal rgeos rosm sf sp stringr tidyverse]; };
   GAIPE = derive2 { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
   GAMBoost = derive2 { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
   GAMens = derive2 { name="GAMens"; version="1.2.1"; sha256="1z10wxcg277fra2lch464l0kb02lspw9qr1i2wmq11wcz0k9qnl8"; depends=[caTools gam mlbench]; };
@@ -1466,22 +1515,22 @@ in with self; {
   GCPM = derive2 { name="GCPM"; version="1.2.2"; sha256="0k2ng78bk3bxpj6nz80j5cvjd56zjz328ga68vyyc3hvdjgpspqj"; depends=[Rcpp RcppProgress]; };
   GCalcium = derive2 { name="GCalcium"; version="1.0.0"; sha256="0r84qmdsqsgpaqr08imh48mdvy26s2b62hi0hxxwhr9kg7qvj0rd"; depends=[caTools dplyr]; };
   GCalignR = derive2 { name="GCalignR"; version="1.0.2"; sha256="1x0as6mmapvn3a28c3qk3wd5gjkx17xgf9c7yb68wp3lj8pknsnm"; depends=[ggplot2 pbapply readr reshape2 stringr]; };
-  GD = derive2 { name="GD"; version="1.6"; sha256="1rlgr4z4ibz5m8m18mw11bqcbbvfjxw2mljg78jp0lb294zh1kbb"; depends=[BAMMtools ggplot2 reshape2]; };
+  GD = derive2 { name="GD"; version="1.7"; sha256="1jazyvkqjjqc8m7hnc0ld4hdzbx7g64bhd5j6mkgjjwa2458rqph"; depends=[]; };
   GDAdata = derive2 { name="GDAdata"; version="0.93"; sha256="13ks97i289rc4i7gpqrifwbj0m9rx8csjhnfg8mad10qmjwz7p8b"; depends=[]; };
   GDAtools = derive2 { name="GDAtools"; version="1.4"; sha256="1i5g7gzl3fkhwxqizqwrn8098s5lrr0mk17wmpyf92s1sy315cpv"; depends=[FactoMineR nleqslv nnet]; };
   GDELTtools = derive2 { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; };
-  GDINA = derive2 { name="GDINA"; version="2.6.0"; sha256="02smx1q0a5zgms6h2dnl2786jss38vim8n3vh3dbsijkvj7m4cb9"; depends=[alabama ggplot2 MASS nloptr numDeriv Rcpp RcppArmadillo Rsolnp shiny shinydashboard]; };
+  GDINA = derive2 { name="GDINA"; version="2.7.3"; sha256="0875xfbm36gqzr0116xzlbm8rlff85rybr4s4hjzfflfvjdhgvfx"; depends=[alabama ggplot2 MASS nloptr numDeriv Rcpp RcppArmadillo Rsolnp shiny shinydashboard]; };
   GEEaSPU = derive2 { name="GEEaSPU"; version="1.0.2"; sha256="02pwjqd94kranc1f69bx9rzk27kchavhvhl9fygjhrr40nwq3pbg"; depends=[gee Rcpp RcppArmadillo]; };
   GEEmediate = derive2 { name="GEEmediate"; version="1.1.3"; sha256="1xprkpjp1pkq4ci1n32d3yy80hx3r4xf2j7f6hv7dvsn4cvdp417"; depends=[gee]; };
-  GENEAclassify = derive2 { name="GENEAclassify"; version="1.4.17"; sha256="0v2aa9ig49vc8dz0s91bvs9jilca3pg8zxq7r2w6x195arb3ngga"; depends=[changepoint GENEAread MASS rpart signal]; };
-  GENEAread = derive2 { name="GENEAread"; version="2.0.6"; sha256="1idqfg1ma8sy48j8v875j29p72slfqaj8cix6l9gpwlry6lnhg4g"; depends=[bitops mmap]; };
+  GENEAclassify = derive2 { name="GENEAclassify"; version="1.4.18"; sha256="17m58i3jridgxzcckcm0ydd2ijw3zjvg9w4an8j5jbnr62hmcb2s"; depends=[changepoint GENEAread MASS rpart signal]; };
+  GENEAread = derive2 { name="GENEAread"; version="2.0.8"; sha256="1phiwdq05h92vlrjbvx4xvazzls5bdlnwfxn5mghx0v9j0n3ahrm"; depends=[bitops mmap]; };
   GENLIB = derive2 { name="GENLIB"; version="1.0.6"; sha256="0xyq3ggi814vi3x5kxffhi7ygvzcfj3pg0kfi7whcjpi3pjg05h8"; depends=[bootstrap doParallel foreach kinship2 lattice Matrix quadprog Rcpp]; };
   GENMETA = derive2 { name="GENMETA"; version="0.1"; sha256="1mxwqnbg5bvx1qg62xcd62dl81k11l64yckhl3v854asnaczq3pp"; depends=[magic MASS Matrix]; };
   GEOmap = derive2 { name="GEOmap"; version="2.4-4"; sha256="0wk2v0fwcwcm59k711fg829h2w58wkd36im4mg974iai6mqif7qh"; depends=[fields MBA RPMG splancs]; };
   GERGM = derive2 { name="GERGM"; version="0.13.0"; sha256="1h3fzkgc553bvxhcmvmlgk9sdais186h4gs1qagdihwpwn8ymbjk"; depends=[BH coda ggplot2 igraph matrixcalc plyr Rcpp RcppArmadillo RcppParallel scales slackr stringr vegan]; };
   GESE = derive2 { name="GESE"; version="2.0.1"; sha256="0h3s2sbnv5wilr2mj6bnl2892p16pxrs341gg6jql1a540p669sk"; depends=[kinship2]; };
   GESTr = derive2 { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[gtools mclust]; };
-  GET = derive2 { name="GET"; version="0.1-3"; sha256="115hrwdxv2kpfl372r1h7qjyazm50z3zx76ydhjsaj6pp5zspdw5"; depends=[caTools fda_usc ggplot2 gridExtra gstat plyr sp spatstat]; };
+  GET = derive2 { name="GET"; version="0.1-4"; sha256="1zn0jsl77xslf3rkm1py709jhqd3ciyyhiwph6d9ih2nkla9ivak"; depends=[ggplot2 gridExtra gstat plyr sp spatstat]; };
   GEVStableGarch = derive2 { name="GEVStableGarch"; version="1.1"; sha256="1iypv0k4cbvsdyglgvf7y52sqvl5qcin627pjqwq42kisqynm8d7"; depends=[fExtremes fGarch Rsolnp skewt stabledist timeDate timeSeries]; };
   GEVcdn = derive2 { name="GEVcdn"; version="1.1.6"; sha256="09lzhh16r1hsxa23jkq716yf3x9ap6fkkrz3ij2x83rvwznj8hb3"; depends=[VGAM]; };
   GEint = derive2 { name="GEint"; version="0.1.5"; sha256="179gpq4qjhgx1fhyjdb80rf2ip80zhhfyn8xjgwq1a425163q1y7"; depends=[bindata geepack mvtnorm nleqslv pracma rje speedglm]; };
@@ -1493,7 +1542,7 @@ in with self; {
   GFORCE = derive2 { name="GFORCE"; version="0.1.4"; sha256="1x7dvzgnqfvyvp6ibdsnrn5q01ivcgkzkh0mv8nfwqg5zr78v2cz"; depends=[lpSolve MASS]; };
   GGEBiplotGUI = derive2 { name="GGEBiplotGUI"; version="1.0-9"; sha256="0nd0ky3m1avy82z48g7hcysq0y0agxjxdn0g624dkm2w99avxw3j"; depends=[rgl tkrplot]; };
   GGEBiplots = derive2 { name="GGEBiplots"; version="0.1.1"; sha256="1xnxaylikjd378flw3rqw36z27b2limkmyad97zhf1cbva317d1b"; depends=[gge GGEBiplotGUI ggforce ggplot2 scales]; };
-  GGIR = derive2 { name="GGIR"; version="1.9-2"; sha256="1qdk0nq2ahznphi6hjr5c1r877xxgqi58bpsayzh19lnzckrcc92"; depends=[data_table Rcpp]; };
+  GGIR = derive2 { name="GGIR"; version="1.10-7"; sha256="1h2krqfwpxf29a5plpw17sydp38d97w2kskpydgvi6ahdlfc9yzg"; depends=[bitops data_table doParallel foreach GENEAread matlab Rcpp signal tuneR zoo]; };
   GGMM = derive2 { name="GGMM"; version="1.0.1"; sha256="1d0qxxdk7b3hzg7dimsbjabpf5rxn3azn2hy00pa1c6wya7kxyvv"; depends=[equSA huge mvtnorm]; };
   GGMridge = derive2 { name="GGMridge"; version="1.1"; sha256="0zbfvvp7l836m118m8nmdvw1w7xq6d3b7qirskjsq1dkk23j41hs"; depends=[MASS mvtnorm]; };
   GGMselect = derive2 { name="GGMselect"; version="0.1-12.2"; sha256="16d4nz5x3yy9lw974gdls18fnx7g1hfghzfq3wh7739c54pvd5gs"; depends=[gtools lars mvtnorm]; };
@@ -1501,30 +1550,31 @@ in with self; {
   GGally = derive2 { name="GGally"; version="1.4.0"; sha256="1zjmcc5bzagvy7c5cmdcl39xmx07fwi98yrj4i05w7y40kqcsiws"; depends=[ggplot2 gtable plyr progress RColorBrewer reshape rlang]; };
   GHQp = derive2 { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; };
   GHS = derive2 { name="GHS"; version="0.1"; sha256="1khjfy62a67r59s2rax9mmnqy5xnnwhbydzhqwwmyspl48mxycdj"; depends=[MASS]; };
+  GIFTr = derive2 { name="GIFTr"; version="0.1.0"; sha256="101vr2qasky8hnxp5i3lhlnymwzciypqwvhpl6mrr0r0czgpcz2f"; depends=[glue stringr]; };
   GIGrvg = derive2 { name="GIGrvg"; version="0.5"; sha256="0mx4n4kf34343yiww80fw5yy0x624xsj71n8fr4dm0a2338pxq8v"; depends=[]; };
   GISTools = derive2 { name="GISTools"; version="0.7-4"; sha256="06alb5d2k4qj344i9cpgm3lz9m68rkmjqfx5k2hzn7z458xjrlxs"; depends=[maptools MASS RColorBrewer rgeos sp]; };
-  GJRM = derive2 { name="GJRM"; version="0.2"; sha256="1mzlrvr0jqi52m5k9dzy7d273sywk2yzwamgxphh0m2rwddz85v3"; depends=[copula distrEx evd gamlss_dist ggplot2 magic matrixcalc matrixStats mgcv mnormt numDeriv psych Rmpfr scam survey survival trust trustOptim VGAM VineCopula]; };
+  GJRM = derive2 { name="GJRM"; version="0.2-1"; sha256="12kbd8nd43fi4vwjc9qpjwcndwx9zq19w0adqxivmlvxhflh93mb"; depends=[copula distrEx evd gamlss_dist ggplot2 ismev magic matrixcalc matrixStats mgcv mnormt numDeriv psych Rmpfr scam survey survival trust trustOptim VGAM VineCopula]; };
   GK2011 = derive2 { name="GK2011"; version="0.1.3"; sha256="13vafhbgcsj485f12qv962y07v3hil3pla51vkl2b030amzy86jv"; depends=[]; };
-  GLDEX = derive2 { name="GLDEX"; version="2.0.0.5"; sha256="0mr8qhccp8dndp43v8ym22f4djrjr8qcxbv61lwabk2462llwln6"; depends=[cluster]; };
+  GLDEX = derive2 { name="GLDEX"; version="2.0.0.6"; sha256="0s8nahy2mdmqlp8z5zsa3mvynwikrna8ks6xj6g2v4j64qd19p09"; depends=[cluster]; };
   GLDreg = derive2 { name="GLDreg"; version="1.0.7"; sha256="1wjrr4x1k0fz8nx9idb4ysamldypriiypj96b5v028lx38jwsk3l"; depends=[ddst GLDEX]; };
   GLIDE = derive2 { name="GLIDE"; version="1.0.2"; sha256="1z5h8br6aig24g5gsh8h6npm269id3h5gjjyf5avs4v08b51rpcv"; depends=[doParallel foreach MASS]; };
   GLMMRR = derive2 { name="GLMMRR"; version="0.2.0"; sha256="0s3jfh720acfmbadilq2c6gql3yifsbijpmw1jkzbsdc87pqi1db"; depends=[lattice lme4]; };
-  GLMMadaptive = derive2 { name="GLMMadaptive"; version="0.6-0"; sha256="0qf6rx93h9mgvzlraiy000sy9zl5jyn48yn3zi3av389dd35nr6a"; depends=[MASS nlme]; };
+  GLMMadaptive = derive2 { name="GLMMadaptive"; version="0.6-5"; sha256="1n2xs4apf477bkyzw3p5zfmm3dzs4ja0m03b1vg8iic44d0nnxzv"; depends=[MASS matrixStats nlme]; };
   GLMaSPU = derive2 { name="GLMaSPU"; version="1.0"; sha256="0zx2bza5v5cfp9v7hf42s57522b6prawcwl77aa3kvjcnb0ish6g"; depends=[MASS mnormt mvtnorm Rcpp RcppArmadillo]; };
   GLMpack = derive2 { name="GLMpack"; version="0.1.0"; sha256="15bpw42y999ljdw8ka2ysrrm0y73xz37wwi3j67i01wafipq82xy"; depends=[AER censReg effects foreign lme4 lmtest MASS Matrix nnet pBrackets plm pscl sandwich]; };
   GLMsData = derive2 { name="GLMsData"; version="1.0.0"; sha256="12q41zxniblzys20vjrf5skj8cbzlwb92mwk6jvnyd86lc70bsh1"; depends=[]; };
-  GLSE = derive2 { name="GLSE"; version="0.1.0"; sha256="1snzcz637ppz3lkg1575ln3shfidkrnynqh1d8b5rk0z0974bpm1"; depends=[gRbase igraph mvtnorm]; };
-  GLSME = derive2 { name="GLSME"; version="1.0.4"; sha256="1bh56dv4czl89dm9b6syfpsbds4wni03d5vamvjbp6wblhysxnpm"; depends=[corpcor mvtnorm]; };
+  GLSME = derive2 { name="GLSME"; version="1.0.5"; sha256="18gixzg8b8yql91dhv8xsrcrxdix0kr0qgmiva0hwmyzpsn6rqam"; depends=[corpcor mvtnorm]; };
   GMAC = derive2 { name="GMAC"; version="3.0"; sha256="0c2cfpr8dik7j5br87hkvswrhqzj5vcna54gw6ffdf1rk9rz9j22"; depends=[]; };
-  GMCM = derive2 { name="GMCM"; version="1.3.2"; sha256="0sm08kf6ia2fi69zqv4nhnlk71v75b5sz2vd3aj0kfhgan7bl93i"; depends=[ellipse Rcpp RcppArmadillo]; };
+  GMCM = derive2 { name="GMCM"; version="1.4"; sha256="13ds8da7lqkvm1mz75440hmn9smi9pznb8bknmckg8vd3fc70f6x"; depends=[ellipse Rcpp RcppArmadillo]; };
   GMDH = derive2 { name="GMDH"; version="1.6"; sha256="093glyz73246m5f2xb2xgbgi80haj4fanmr325byr99dnf4x35yn"; depends=[MASS]; };
   GMDH2 = derive2 { name="GMDH2"; version="1.5"; sha256="0y132zc8q4daj4856xikp4xvrqcibmn9r2shnmwpwxnfbik2ikfb"; depends=[e1071 glmnet magrittr MASS nnet plotly randomForest xtable]; };
   GMDHreg = derive2 { name="GMDHreg"; version="0.2.0"; sha256="07qk9jbav9gm3gh3ag7nz273iab5zlkn0yz31zs2hw646ik1yn14"; depends=[]; };
-  GMMAT = derive2 { name="GMMAT"; version="1.1.0"; sha256="0b6bw33bldnc525aka14bil7fcdjcr18hr92ln9p9afpqajzkayz"; depends=[CompQuadForm foreach Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
+  GMKMcharlie = derive2 { name="GMKMcharlie"; version="1.0.3"; sha256="1ncz3czjg1md1hfahc2403k33nby11ldlq0yixpjs4s8panwpgsb"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  GMMAT = derive2 { name="GMMAT"; version="1.1.2"; sha256="1xifcm6kv4v3hw4zskggifd16cn1v7cmnwsgwjfbgrgz3qvyac5c"; depends=[CompQuadForm foreach Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
   GMMBoost = derive2 { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[magic minqa]; };
   GMSE = derive2 { name="GMSE"; version="0.4.0.11"; sha256="1by65202swxcj453q3frac02b2lwny1mm1i95vcjhkqihqkffl2z"; depends=[shiny shinydashboard shinyjs]; };
   GMSimpute = derive2 { name="GMSimpute"; version="0.0.1.0"; sha256="1hmn5ss81df9j9ibgibs95j98irqzif94vq0c861mq4a65y59fcp"; depends=[ggplot2 glmnet reshape2]; };
-  GNAR = derive2 { name="GNAR"; version="0.3.6"; sha256="0ijl150f66hras89k0nxz7r8ws638x8rdglcia73b7wmmjmgdfid"; depends=[igraph wordcloud]; };
+  GNAR = derive2 { name="GNAR"; version="1.0"; sha256="0iv82f118b54g09dc5ggr2z793dgjhxj22v05kypz5fnbdxcl5qf"; depends=[igraph wordcloud]; };
   GNE = derive2 { name="GNE"; version="0.99-2"; sha256="16mivsa4r8d2cg5qsh5rpg2244f74zk2ln3vbys7ivjgnjpjn7z8"; depends=[alabama BB nleqslv SQUAREM]; };
   GOFShiny = derive2 { name="GOFShiny"; version="0.1.0"; sha256="04m08d9w8qqbql86c18qpnwym7agry8wspfwrnbbyp52h2pn2gxb"; depends=[rhandsontable rmarkdown shiny]; };
   GOGANPA = derive2 { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
@@ -1543,14 +1593,15 @@ in with self; {
   GPareto = derive2 { name="GPareto"; version="1.1.3"; sha256="1my93nyipg0ldhf95j91hznzr48c8601a802qb18776gb3c2bpcv"; depends=[DiceDesign DiceKriging emoa KrigInv ks MASS pbivnorm pso randtoolbox Rcpp rgenoud rgl]; };
   GPfit = derive2 { name="GPfit"; version="1.0-8"; sha256="05mpiyi2vxv0wqp422n1mnxa8msc4daq40cwpnpngbcwqhlgqkby"; depends=[lattice lhs]; };
   GPoM = derive2 { name="GPoM"; version="1.2"; sha256="1hhwdpish8j3j9y5q6r5pdsl1kpbwp1hjhcq24iiz4lfssib4k9f"; depends=[deSolve rgl]; };
+  GPoM_FDLyapu = derive2 { name="GPoM.FDLyapu"; version="1.0"; sha256="1hpgiwh7b50gazp1msjsh2840b91wfrxhl2l45lxg6jr1m34q8pj"; depends=[deSolve GPoM]; };
   GPrank = derive2 { name="GPrank"; version="0.1.4"; sha256="06j5fk427jkp5lphqlx48vfp4fagnxxnv4iyjcha8nvkswcblwgy"; depends=[gptk matrixStats RColorBrewer tigreBrowserWriter]; };
   GPvam = derive2 { name="GPvam"; version="3.0-5"; sha256="0inhhx5ll4ybkwp71ijigxlyxsa0rdyxb38kgfgxb588dsk4scjz"; depends=[Matrix numDeriv Rcpp RcppArmadillo]; };
   GRANBase = derive2 { name="GRANBase"; version="2.5.0"; sha256="1sc7f47dnrwww89v4n8y41zvc9z8i8lv7qgya6nwf98vh9b6ifmi"; depends=[covr dplyr GRANCore htmlTable jsonlite markdown RCurl sendmailR stringi switchr]; };
   GRANCore = derive2 { name="GRANCore"; version="0.2.3"; sha256="1f3f34pk0y12yv9cl84ggg40p0bam0x48avrk5f56jskfr475kqk"; depends=[switchr]; };
   GRAPE = derive2 { name="GRAPE"; version="0.1.1"; sha256="1jzvf45ch8x8f2x9kmvv02xz9bix5vplh8143vc4m1yyq42x09c6"; depends=[]; };
   GRCdata = derive2 { name="GRCdata"; version="1.0"; sha256="0nshii6kfvffncgcrmm7wvniq94j9djj84jikcb6ck49viikkrky"; depends=[cubature nloptr]; };
-  GREP2 = derive2 { name="GREP2"; version="1.0.1"; sha256="0sr7r6c4xnhwdq4j1v3frzc063hhghinx8dl952li5cy8rqk8ga5"; depends=[AnnotationDbi Biobase EnsDb_Hsapiens_v86 EnsDb_Mmusculus_v79 EnsDb_Rnorvegicus_v79 GenomicFeatures GEOquery org_Hs_eg_db org_Mm_eg_db org_Rn_eg_db RCurl rentrez tximport XML]; };
   GROAN = derive2 { name="GROAN"; version="1.2.0"; sha256="14n3k1wwz5pn82wcj00cdns4bp699f58k1nj8hp8jn0q7xr2sgv5"; depends=[plyr rrBLUP]; };
+  GRPtests = derive2 { name="GRPtests"; version="0.1.0"; sha256="1l03rr20xbl6gdj8k3rmmj13basnbmkl80hphldcnmg5iklyqyha"; depends=[glmnet MASS randomForest RPtests]; };
   GRS_test = derive2 { name="GRS.test"; version="1.1"; sha256="1ap9453rj5zan6c3ix7jb1qxhxh42bfv295dgqbgjpdygjdlbm6n"; depends=[]; };
   GRTo = derive2 { name="GRTo"; version="1.3"; sha256="1xkcx2agvrpfnmplgaqx70vz303v8rhwnxdyr4hmdlf4h92lbv8i"; depends=[bootstrap]; };
   GSA = derive2 { name="GSA"; version="1.03.1"; sha256="05x9wspah1cdznjpncqam1iawsxdiigyl8v2anyhss2k7wwd94p1"; depends=[]; };
@@ -1558,12 +1609,13 @@ in with self; {
   GSAfisherCombined = derive2 { name="GSAfisherCombined"; version="1.0"; sha256="1xhq5nc3kbz3ml9qkdxm6m0c65fybabfhgqlwii2105jl0ll7qy5"; depends=[]; };
   GSAgm = derive2 { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[edgeR survival]; };
   GSE = derive2 { name="GSE"; version="4.2"; sha256="0vrxn6j5brhwd38zqnr6m3in3hp1xfs1mfhps9qsj20d4w8d1rf9"; depends=[cellWise ggplot2 MASS Rcpp RcppArmadillo robustbase rrcov]; };
-  GSED = derive2 { name="GSED"; version="2.3"; sha256="1mpbgdgz6c42bq8klk8b43clspbrnqs3vnrk7i5qjy7ngrd96c6i"; depends=[memoise rootSolve survival]; };
+  GSED = derive2 { name="GSED"; version="2.5"; sha256="0hz7rn0j62gy7bv67dxqpfdq86zv3yqhl9pwafcism94636h8vrj"; depends=[memoise R_utils rootSolve survival]; };
   GSIF = derive2 { name="GSIF"; version="0.5-5"; sha256="104v01yifpagj7kyjfy80c4dgn9wv76py0av90vmgc55qynmvv19"; depends=[aqp dismo gstat plotKML plyr raster rgdal RSAGA scales sp]; };
   GSM = derive2 { name="GSM"; version="1.3.2"; sha256="04xjs9w4gaszwzxmsr7657ry2ywa9pvpwpczpvinxi8vpj347jbb"; depends=[gtools]; };
   GSMX = derive2 { name="GSMX"; version="1.3"; sha256="1n1d7rixj14ari46snsmi48qfmy00ihmzvayk3hkrp2d2d0xi2gh"; depends=[MASS]; };
-  GSODR = derive2 { name="GSODR"; version="1.3.2"; sha256="06narp682zs33gycw1bwgwp2crxk5a345f17n3l9gshgs0gg8x0w"; depends=[curl dplyr future_apply magrittr purrr R_utils readr rlang tibble]; };
+  GSODR = derive2 { name="GSODR"; version="2.0.0"; sha256="1z8j6filfbqc83z495lw3qwwvd3xm35p7r00n74h9qabgvpydycd"; depends=[countrycode curl data_table future_apply httr R_utils]; };
   GSSE = derive2 { name="GSSE"; version="0.1"; sha256="034mmxa6kjq5kgikhb5q75viagz5ck9irrjbxm26zq9099qxm13b"; depends=[Iso zoo]; };
+  GSelection = derive2 { name="GSelection"; version="0.1.0"; sha256="052vh1haxlzbh3c5i24nrwphapik1y8ribmh6q4axd447ggc0ff9"; depends=[gdata penalized SAM]; };
   GSparO = derive2 { name="GSparO"; version="1.0"; sha256="0xna2crxqwy8fj0s79rxbdcaz9x912rp1vdwqv1557fsnmfv2yf0"; depends=[ggplot2 ThreeWay]; };
   GUIDE = derive2 { name="GUIDE"; version="1.2.7"; sha256="0klaczmn3jnlzyh45yaqlc897irjfk467f4w03awmflaiwan3h6v"; depends=[rpanel tkrplot]; };
   GUILDS = derive2 { name="GUILDS"; version="1.3"; sha256="0zl6x0vn93ybps63fqazvd93f2zwdq0rqqrp7d6n5rnamx99mm8d"; depends=[pracma Rcpp]; };
@@ -1574,8 +1626,9 @@ in with self; {
   GVARX = derive2 { name="GVARX"; version="1.1"; sha256="1y0v2qvrxhpjm6qi5h5safncqdm1ad2sgydrvi46jq613x99zynh"; depends=[lmtest lubridate sandwich strucchange urca vars xts]; };
   GWAF = derive2 { name="GWAF"; version="2.2"; sha256="11lk1dy24y1d0biihy2aypdvlx569lw1pfjs51m54rhgpwzkw6yd"; depends=[coxme geepack lme4]; };
   GWASExactHW = derive2 { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
+  GWASbyCluster = derive2 { name="GWASbyCluster"; version="0.1.7"; sha256="0ivlkxbh8m23vbnjfmhk0vfczd5b8lzy9w4gm1m6jpvdm40kn70x"; depends=[Biobase limma rootSolve snpStats]; };
   GWASinlps = derive2 { name="GWASinlps"; version="1.2"; sha256="036lv8f58kz6qdwaviyk1q1qsgcj9cimipq1cjrfpn8snkn7s1gh"; depends=[horseshoe mombf speedglm]; };
-  GWASinspector = derive2 { name="GWASinspector"; version="1.1.2"; sha256="0qvyp8camwvml0yi3p7zx6n8xilzbgaz77qmxnrffyxbnxbpjnha"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr rmarkdown RSQLite]; };
+  GWASinspector = derive2 { name="GWASinspector"; version="1.3.4"; sha256="1kx44ld47y3w2dkx88pzsk85aqamly84bm3qvzmjf4amz2kxsc6c"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr rmarkdown RSQLite]; };
   GWEX = derive2 { name="GWEX"; version="1.0.1"; sha256="1bpjygx38rkicya37x6d88k34yc0ysr3pyfp4ci5px1xsic5cpmy"; depends=[abind doParallel EnvStats fGarch foreach lmomco MASS mvtnorm nleqslv Renext]; };
   GWG = derive2 { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
   GWLelast = derive2 { name="GWLelast"; version="1.2.2"; sha256="1nm4w5m4ca6npmpvh9nb0cnrbzlyv95nvvhgs3pqcrw4igagm4hj"; depends=[doParallel foreach geosphere glmnet sp spgwr]; };
@@ -1589,10 +1642,10 @@ in with self; {
   GauPro = derive2 { name="GauPro"; version="0.2.2"; sha256="127agnhqbbavcf7sx0zq1c8ldh3w1d1iz5bpd1ixxkyaapmiq4qy"; depends=[lbfgs R6 Rcpp RcppArmadillo]; };
   GaussianHMM1d = derive2 { name="GaussianHMM1d"; version="1.0.1"; sha256="1j1cwh0p7czy2l4qf6nymqcp8kkfaki0j2rj8p99nqn2vgc3vcax"; depends=[doParallel foreach]; };
   GeDS = derive2 { name="GeDS"; version="0.1.3"; sha256="1ddq4hnyl3m3s4cchccxiqphi742ljcm86zqpa01a5nrjbnr87x6"; depends=[Matrix Rcpp Rmpfr]; };
-  GeNetIt = derive2 { name="GeNetIt"; version="0.1-1"; sha256="1xjz22m4yn642m0bqa33w4m2rygpxjwg43c54lw168jck9zzgv1f"; depends=[nlme raster rgeos sp spatialEco spdep]; };
+  GeNetIt = derive2 { name="GeNetIt"; version="0.1-2"; sha256="0frrbakgnng52fvf912rywmcay2ncc01akb6jw9hlixn2qjr0rr1"; depends=[nlme raster rgeos sp spatialEco spdep velox]; };
   GenAlgo = derive2 { name="GenAlgo"; version="2.1.5"; sha256="0d3y9kc2njsbzdngv67d4qrdsnn7nsxph5acc09vmwxpv1cyhxiw"; depends=[ClassDiscovery MASS oompaBase]; };
   GenBinomApps = derive2 { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
-  GenEst = derive2 { name="GenEst"; version="1.3.0"; sha256="0bqnn78vjxc92gdi09qvijyc0fp5z5r3lmijaxs0zrvlp1r120j7"; depends=[cbinom corpus DT gsl gtools htmltools lubridate matrixStats mvtnorm Rcpp shiny shinyjs sticky survival]; };
+  GenEst = derive2 { name="GenEst"; version="1.4.0.1"; sha256="14scdz77vm5lfzvjqhhczlyyyv1iwqv9i3pssd5f7f7mw6ig16qd"; depends=[corpus DT gsl gtools hellno htmltools lubridate matrixStats mvtnorm Rcpp shiny shinyjs sticky survival]; };
   GenForImp = derive2 { name="GenForImp"; version="1.0"; sha256="1wcvi52fclcm6kknbjh4r9bpkc2rg8nk6cddnf5j8zqbvrwf4k5x"; depends=[mvtnorm sn]; };
   GenKern = derive2 { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
   GenOrd = derive2 { name="GenOrd"; version="1.4.0"; sha256="17mfrj1fwj8mri1w0bl2pw1rqriidmd67i7gpn9v56g9dzw5rzms"; depends=[MASS Matrix mvtnorm]; };
@@ -1607,7 +1660,7 @@ in with self; {
   GeneralOaxaca = derive2 { name="GeneralOaxaca"; version="1.0"; sha256="19j5c5xr6mdb6pmih94wbjas4yh0dmsqfggg8clvdxkpwk0h338v"; depends=[boot]; };
   GeneralisedCovarianceMeasure = derive2 { name="GeneralisedCovarianceMeasure"; version="0.1.0"; sha256="02s1wbsdp5ma4pnmcsdl5dwm156zx12d3n1ypzkc33lxg21ashzj"; depends=[CVST kernlab mgcv xgboost]; };
   GeneralizedHyperbolic = derive2 { name="GeneralizedHyperbolic"; version="0.8-4"; sha256="01gqfvmzfslhxdnigzbl3rd55hk6r0kgd8fm9xjl0kb9vmb735lm"; depends=[DistributionUtils MASS]; };
-  GeneralizedUmatrix = derive2 { name="GeneralizedUmatrix"; version="1.1.5"; sha256="0a4wpn1zqw1aiygin43lrq55kb7z6macgi2hl5vng9wnx2gl9jiq"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  GeneralizedUmatrix = derive2 { name="GeneralizedUmatrix"; version="1.1.6"; sha256="1s0bn3y0s541v4wzh7rh82cakxcx3i6aff6x1g9m7jan5q9c1gac"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   GeneticSubsetter = derive2 { name="GeneticSubsetter"; version="0.8"; sha256="0bd4snv3dwabc7mknmd2rjmffj67xq535x0bycajhd83d1jhjars"; depends=[]; };
   GenoScan = derive2 { name="GenoScan"; version="0.1"; sha256="0p98imfvvz7l94kim3pxypyjs2pbxng4a2nagbafbady82ylr2vi"; depends=[data_table MASS Matrix seqminer SKAT]; };
   GenomicMating = derive2 { name="GenomicMating"; version="2.0"; sha256="02v1pkarmardf7g8hf2n4jj4cq4707g5lcc7gnwsiyyh7pknd1y6"; depends=[dplyr emoa kohonen LowRankQP magrittr plotly qtl Rcpp RcppArmadillo scatterplot3d SOMbrero]; };
@@ -1619,14 +1672,16 @@ in with self; {
   GeoLight = derive2 { name="GeoLight"; version="2.0.0"; sha256="1i49hyj3f5rcw0s6j2csnfwc6mnp5zn44vxjnk05wdkpw6dpvx5i"; depends=[changepoint fields maps MASS]; };
   GeoMongo = derive2 { name="GeoMongo"; version="1.0.1"; sha256="19wim724sgmxx9rd5yvmqdml0hppb92b8qvpl5zqrlnzxzm0ih5x"; depends=[data_table geojsonR R6 reticulate]; };
   GeoRange = derive2 { name="GeoRange"; version="0.1.0"; sha256="0krj9570wkhdvpaqkq3nf0maglqd44mpwn4v1bymvgpk1i1wf5p3"; depends=[moments proj4 raster sp velociraptr]; };
+  GeoTcgaData = derive2 { name="GeoTcgaData"; version="0.2.0"; sha256="07bx17n3b5cvp4dy22nb5lq2rcac6r8ksy9khyphbv6c5fwv3813"; depends=[data_table]; };
   GeomComb = derive2 { name="GeomComb"; version="1.0"; sha256="05xb6m2ciszxd13yhqdkildh9nsq19ss8885ngj6ynvbchqkii7r"; depends=[forecast ForecastCombinations ggplot2 Matrix mtsdi psych]; };
   GerminaR = derive2 { name="GerminaR"; version="1.3"; sha256="1q52rp0xvs2mmc4mr7dx1zq78xags5j7kdgj8h05m8qh8dfhzvqf"; depends=[agricolae assertthat dplyr DT ggplot2 gsheet gtools magrittr readxl shiny shinydashboard tibble tidyr]; };
   GetBCBData = derive2 { name="GetBCBData"; version="0.5"; sha256="1i5b5sawa8ngjp1afm1grm9hbmkhd5pcwqagkamlihsrmsvcdffn"; depends=[curl dplyr furrr future jsonlite lubridate memoise purrr RCurl readr stringr]; };
   GetDFPData = derive2 { name="GetDFPData"; version="1.5.2"; sha256="1xa1dy1lm4v2lch3qmfa990bx8r1qzch7jkpnydlnzmd0qmcbvb4"; depends=[curl dplyr lubridate readr reshape2 stringr tibble xlsx XML]; };
   GetHFData = derive2 { name="GetHFData"; version="1.7"; sha256="05xmr880n6arvpn6lb51yn9qssc8594rsxp6cinshk2jh6hq4fnj"; depends=[curl dplyr lubridate RCurl readr stringr]; };
-  GetLattesData = derive2 { name="GetLattesData"; version="1.3"; sha256="0fqm50095lap687qnf1gxmm7syyv1k75irkqgsajijyr5adrizrp"; depends=[curl dplyr readr stringdist stringr XML]; };
+  GetLattesData = derive2 { name="GetLattesData"; version="1.3.1"; sha256="1rq89110qgfi9v47pqahrzzcmh26r1724sgb8bbccsrydfscf994"; depends=[curl dplyr readr stringdist stringr XML]; };
+  GetQuandlData = derive2 { name="GetQuandlData"; version="0.1.0"; sha256="1g1as4m853ab1wp57rzqm0552g0vm7kxzypibv0xywc85084pnmc"; depends=[dplyr jsonlite memoise purrr readr scales stringr]; };
   GetR = derive2 { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
-  GetTDData = derive2 { name="GetTDData"; version="1.4.1"; sha256="0hm73i8rsrm58ci7hzmmgirxklcxxh1dg8l3nk8rfi9x8fnnfyhs"; depends=[bizdays curl RCurl readxl stringi stringr tidyr XML]; };
+  GetTDData = derive2 { name="GetTDData"; version="1.4.2"; sha256="1qz75hq1c89riq0jpzjkr9gbk5y7894kb0ydhdyji7kjl1kvgyvx"; depends=[bizdays curl RCurl readxl rvest stringi stringr tidyr XML xml2]; };
   GetoptLong = derive2 { name="GetoptLong"; version="0.1.7"; sha256="1fl3w2n602ldybc5qj7qw4xmzzb804bsjkqwf6dswzj0vf0qiadr"; depends=[GlobalOptions rjson]; };
   Ghat = derive2 { name="Ghat"; version="0.1.0"; sha256="1w5agphnbngc0ldb3gbgh4b8ww956lf31bfyxw2zp56crx4akcxf"; depends=[rrBLUP]; };
   GiNA = derive2 { name="GiNA"; version="1.0.1"; sha256="0his7wsgnggyv9526blxzxa1ni8hwq2ws64wkmha45nvvnm3dsiw"; depends=[doParallel EBImage foreach png]; };
@@ -1634,11 +1689,13 @@ in with self; {
   GibbsACOV = derive2 { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; };
   Gifi = derive2 { name="Gifi"; version="0.3-9"; sha256="0rwyj60cldf3k118cnc5px16dc5p5bfxgl0w2m1lh6rsqlmza25a"; depends=[colorspace]; };
   GillespieSSA = derive2 { name="GillespieSSA"; version="0.6.1"; sha256="0li0jqnbl9rfj8gbspq7fv327fii53rh93ffsxpic7804rmrnbi7"; depends=[]; };
+  GillespieSSA2 = derive2 { name="GillespieSSA2"; version="0.2.5"; sha256="1mswjy9fvrgn5353w1mnkmbr98bn1jdinsyc50ygy42z7sd4ijp2"; depends=[assertthat dplyr dynutils Matrix purrr Rcpp RcppXPtrUtils readr rlang stringr tidyr]; };
   GiniDistance = derive2 { name="GiniDistance"; version="0.1.0"; sha256="0jq1dwpsvh3k25lawvzf9ij72jsspzyqsbnrphz8aqwi1dkm3851"; depends=[energy randomForest Rcpp RcppArmadillo readxl]; };
   GiniWegNeg = derive2 { name="GiniWegNeg"; version="1.0.1"; sha256="1wqwjalsyp55si839cil6na3khigm0mwn6qkg0kjylq10pabfk2a"; depends=[]; };
+  GlmSimulatoR = derive2 { name="GlmSimulatoR"; version="0.2"; sha256="1bbxn8y17dk0n497fvfjl84ssn5qnp5kxlmqzzhzs264vvxfbz0l"; depends=[assertthat cplm dplyr ggplot2 magrittr MASS purrr rlang statmod stringr tweedie]; };
   GlobalDeviance = derive2 { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
   GlobalFit = derive2 { name="GlobalFit"; version="1.2"; sha256="01s51nxcsl8xxn6khbv5jsvpwblwf0iamvr477a1rraqqqj94zx0"; depends=[sybil]; };
-  GlobalOptions = derive2 { name="GlobalOptions"; version="0.1.0"; sha256="1wlyqz1yhmhjwslrd7q69jbd9vsbjkjfc01g60kl3cdpyr8hlyjn"; depends=[]; };
+  GlobalOptions = derive2 { name="GlobalOptions"; version="0.1.1"; sha256="0x89hfz80avq4zcskxl71i4zi0mgniqqxfrvz050aa2189wfyja2"; depends=[]; };
   GmAMisc = derive2 { name="GmAMisc"; version="1.0.0"; sha256="14rs13y509hijg4ars3j55fm0133487alm8b9jlffbz8qiln48g4"; depends=[caTools classInt cluster coin corrplot DescTools dismo ggplot2 ggrepel gridExtra Hmisc InPosition kimisc lsr maptools plyr pROC raster RcmdrMisc rgdal rgeos rworldmap shape sp spatialEco spatstat]; };
   Gmedian = derive2 { name="Gmedian"; version="1.2.4"; sha256="0lr1hwprqy9mq5qyp83qqxj8dh5sy487xkqbv2y1qdinzj62pvcn"; depends=[Rcpp RcppArmadillo robustbase RSpectra]; };
   Gmisc = derive2 { name="Gmisc"; version="1.9.0"; sha256="0072aidb9x969g276id68vaqvjddkb72l5smx1wlqss0h70y2r16"; depends=[abind checkmate forestplot Hmisc htmlTable knitr lattice magrittr Rcpp rmarkdown stringr XML]; };
@@ -1657,7 +1714,7 @@ in with self; {
   GreedyExperimentalDesign = derive2 { name="GreedyExperimentalDesign"; version="1.2"; sha256="1x3hnyqq75krlygg82qm0ldd8nsv071nzgr63zkjmifc7hgi0nvb"; depends=[GreedyExperimentalDesignJARs rJava]; };
   GreedyExperimentalDesignJARs = derive2 { name="GreedyExperimentalDesignJARs"; version="1.0"; sha256="14i6m5qlh1fca9xmzid01hicd3bkf6rzl139ss78gvw544zrapw7"; depends=[rJava]; };
   GreedySBTM = derive2 { name="GreedySBTM"; version="1.0"; sha256="1r29cd8nxpyc82rz2xb9mk9wc17gcdlcl9lw1j3y4npr2z0qhf13"; depends=[Rcpp RcppArmadillo]; };
-  Greg = derive2 { name="Greg"; version="1.3"; sha256="1npdgcm6w0x7a6s6dl5l250cyvrs5h2y352d1ih8lh575s5nw819"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
+  Greg = derive2 { name="Greg"; version="1.3.2"; sha256="0df91kzhvcj85baz1z3kfih2kv2yvi8is4adpl4kx6nwfd2d3q82"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
   GriegSmith = derive2 { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
   GrimR = derive2 { name="GrimR"; version="0.5"; sha256="005ywc31yn1cs54kjlkrryw0s7zm8dqqfjkdlkm4s1sbc9r3mssz"; depends=[car]; };
   GroupComparisons = derive2 { name="GroupComparisons"; version="0.1.0"; sha256="0fxgh1mksrfmd4yjrpxg3nfby5wyx75lj0shb5xrdzl7pxzh56ai"; depends=[car]; };
@@ -1670,15 +1727,18 @@ in with self; {
   GuessCompx = derive2 { name="GuessCompx"; version="1.0.3"; sha256="1xbkh1wh2z0n964w8lwi7q4rr7mls0awf5k7n5jjklhq4b6gswic"; depends=[boot dplyr ggplot2 lubridate reshape2]; };
   GxM = derive2 { name="GxM"; version="1.1"; sha256="02rv8qb46ylk22iqn9cgh63vkyrg9a8nr1d0d3j5hqhi0wyhc41r"; depends=[minqa nlme Rcpp]; };
   HAC = derive2 { name="HAC"; version="1.0-5"; sha256="0dc79qjhyydq0k4d8wvg970hs56i9yhxjrh5ky9a178ya61vw208"; depends=[copula numDeriv]; };
-  HACSim = derive2 { name="HACSim"; version="1.0.3"; sha256="0d6r08phibs510w218mws7g8yd5igrgqhgfhxwsg8dib1x7b85zz"; depends=[ape pegas Rcpp RcppArmadillo]; };
+  HACSim = derive2 { name="HACSim"; version="1.0.4"; sha256="12byh36ly04g8664vrcz0szn3f8kk11fxmn4n9iyrl57akl80zgv"; depends=[ape pegas Rcpp RcppArmadillo]; };
   HAP_ROR = derive2 { name="HAP.ROR"; version="1.0"; sha256="1id9amz1cc2l2vnpp0ikbhf8ghbgzqd1b9dfivnyglg7996c3gbg"; depends=[ape hash]; };
   HAPim = derive2 { name="HAPim"; version="1.3"; sha256="03qy0pxazv3gdq3fck7171ixilb9zi1dwnvc4v7d726g0lvn80pg"; depends=[]; };
-  HARModel = derive2 { name="HARModel"; version="0.2"; sha256="18vjzv6nrvaxv758hakpd9y58byqibd9i7sr6kr6z5lshii8fklv"; depends=[Rcpp RcppArmadillo sandwich xts zoo]; };
+  HARModel = derive2 { name="HARModel"; version="1.0"; sha256="17sajqi2g5z69gvnfhkn850jkavi8syhm58xadd2khrm73nvwh2i"; depends=[Rcpp RcppArmadillo sandwich xts zoo]; };
   HARtools = derive2 { name="HARtools"; version="0.0.5"; sha256="10a92jsk1ccgxi5g6byrs4fbj5l2kih7vhib0jg6spdqi6rhqla1"; depends=[assertthat htmltools htmlwidgets jsonlite magrittr]; };
   HBSTM = derive2 { name="HBSTM"; version="1.0.1"; sha256="0bx7dxcfj46k4kqpqb39w4qkm4hvr1ka8d8rws445vkyl31kr0q6"; depends=[fBasics maps MASS]; };
+  HBV_IANIGLA = derive2 { name="HBV.IANIGLA"; version="0.1.1"; sha256="186q915ac2zr2mm43yf7wxj0nw6pz5v7l80p8n15f8m5z6s87l8s"; depends=[Rcpp]; };
   HBglm = derive2 { name="HBglm"; version="0.1"; sha256="1sral7lh5qw5mn31n8459pk52frgw1bjq0z5ckpsnbc4qf3xxcjn"; depends=[bayesm Formula MfUSampler sns]; };
+  HCD = derive2 { name="HCD"; version="0.1"; sha256="158szwhpxwj2dj7sibyh8l92dk9cmy6acapmk8wf5hmfybdpgbsh"; depends=[data_table data_tree dendextend irlba Matrix randnet RSpectra stringr]; };
   HCR = derive2 { name="HCR"; version="0.1.1"; sha256="14s46dyw3ifp3pwwlcwbbl47i6hy2whjj1n65i28am5a33nycgha"; depends=[data_table]; };
   HCT = derive2 { name="HCT"; version="0.1.0"; sha256="0p1bj0spqff8m27lvxdfhk8z1r1z04v1dsv7mqbjyzl07w005hk3"; depends=[rstan]; };
+  HCTR = derive2 { name="HCTR"; version="0.1.1"; sha256="1hg8mpallwxpmamk6q8x87w5hlqqwvbahfw5zmr9pisiagbwcsay"; depends=[glmnet harmonicmeanp MASS ncvreg Rdpack]; };
   HCmodelSets = derive2 { name="HCmodelSets"; version="1.0.2"; sha256="0nwr36jgmrfvr7kn71yyah80qv55dwj8zd2hpc4ixhi4kvpr372f"; depends=[ggplot2 mvtnorm survival]; };
   HDCI = derive2 { name="HDCI"; version="1.0-2"; sha256="0wxbv54kbygymhh4r7052vnbj603c1kya01ykvmqzzkjyyfzidkz"; depends=[doParallel foreach glmnet iterators lattice Matrix mvtnorm slam]; };
   HDDesign = derive2 { name="HDDesign"; version="1.1"; sha256="1jim4h9bwn8r637va7m81kwwsfwyzs9pzn5a9i7c8xz8b1x191bj"; depends=[]; };
@@ -1687,17 +1747,17 @@ in with self; {
   HDMD = derive2 { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[MASS psych]; };
   HDMT = derive2 { name="HDMT"; version="1.0"; sha256="0a23g42a94k3ckhgw9h4g53rrklniw65lzgj20w9p9br154kranc"; depends=[cp4p fdrtool]; };
   HDPenReg = derive2 { name="HDPenReg"; version="0.94.6"; sha256="08kjyr0lkc0x5hky0i11n6x4dm9az8lbs79c0lmz32qrf9rhayg9"; depends=[Matrix Rcpp rtkore]; };
-  HDclassif = derive2 { name="HDclassif"; version="2.1.0"; sha256="1d79wki03yyr3hqz44xlx07msmxb59sm2mrq2za34fdbvvrmw58v"; depends=[MASS rARPACK]; };
+  HDclassif = derive2 { name="HDclassif"; version="2.2.0"; sha256="1l5zxhayhzh7q50ycl481hy0br66ylxyvzw1ahmjjrdkm8s3czyj"; depends=[MASS rARPACK]; };
   HDclust = derive2 { name="HDclust"; version="1.0.3"; sha256="18l4qp261gj3kscfxs3s03kmb9y5ml31vnpgpm1iy125bks4mr2y"; depends=[Rcpp RcppProgress Rtsne]; };
   HDcpDetect = derive2 { name="HDcpDetect"; version="0.1.0"; sha256="0ai35d9df5pmva52sb1rr20f11h0mbal6d179g865b7w6n90kfr1"; depends=[]; };
   HDoutliers = derive2 { name="HDoutliers"; version="1.0"; sha256="0pby640bad0jcf1lkwg2g6flassb1pimnjm411c6x8rgvmiphc23"; depends=[FactoMineR FNN mclust]; };
   HDtest = derive2 { name="HDtest"; version="2.1"; sha256="1c9x4s59762sp7drbm5h1xv22kpifq7p0x3dkrfcd0ficbbma5v8"; depends=[checkmate clime doParallel expm fastclime foreach MASS mvtnorm]; };
   HDtweedie = derive2 { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; };
-  HEMDAG = derive2 { name="HEMDAG"; version="2.4.8"; sha256="01hi05hfsgg08r00ir6dkmmznc6813csbkwbrkkh7n8943cs9n52"; depends=[doParallel foreach graph iterators plyr precrec preprocessCore RBGL]; };
+  HEMDAG = derive2 { name="HEMDAG"; version="2.6.0"; sha256="0mrxwm1a1axdm80by9xx0m3fla2v6sigcfiq3p9j7zg2myhk1bn9"; depends=[doParallel foreach graph plyr precrec preprocessCore RBGL]; };
   HETOP = derive2 { name="HETOP"; version="0.2-6"; sha256="1fjwyqh7l296pghmc4m81q8icgbhvqvxr61zd638fr46gls3ky2p"; depends=[R2jags]; };
-  HGNChelper = derive2 { name="HGNChelper"; version="0.7.1"; sha256="1yfgragyp6zfzm7aq74r9gkzqlrzggw87msm9cqqqy62a8y9y92w"; depends=[]; };
+  HGNChelper = derive2 { name="HGNChelper"; version="0.8.1"; sha256="0qwkk5658j4j6w2wgvxkp38cyvscjp93d3zc7gb97vcihqx0ngxa"; depends=[]; };
   HGSL = derive2 { name="HGSL"; version="1.0.0"; sha256="1p453xr3d1bmqc6mrmzb0hz9p0gp25m6v6qr0l3bapcf71vzbvq1"; depends=[]; };
-  HH = derive2 { name="HH"; version="3.1-35"; sha256="0sykmmipbph9x7k371liiyj2vmqv0as2hr9x6yrn38ls6bscjlj4"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
+  HH = derive2 { name="HH"; version="3.1-37"; sha256="15b03jbch8l2l5mhacn02asf5mr97pp4sk9p4k50s4hzlqkz5gnm"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
   HHG = derive2 { name="HHG"; version="2.3.2"; sha256="159bs5cxdm770h66fam48451n9krpw2fn5gr397h730x2w7l41ki"; depends=[Rcpp]; };
   HI = derive2 { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
   HIMA = derive2 { name="HIMA"; version="1.0.7"; sha256="0mvphwmm8gmin933bji2l2gbpjzm42vyc7sdka4xpjfsaal9pp9i"; depends=[doParallel foreach iterators ncvreg]; };
@@ -1716,24 +1776,27 @@ in with self; {
   HMMextra0s = derive2 { name="HMMextra0s"; version="1.0.0"; sha256="15y5q92x69sn80pc2x7xwbnsfrqpf7cjdja4hkq861jshkksbmg1"; depends=[ellipse mvtnorm]; };
   HMMmlselect = derive2 { name="HMMmlselect"; version="0.1.5"; sha256="10h62h03hiip8m1h93sbln413l6cmxmc6hsq3rla6acjk6hfxb2v"; depends=[DirichletReg HiddenMarkov mclust mvtnorm Rcpp]; };
   HMMpa = derive2 { name="HMMpa"; version="1.0.1"; sha256="0c3jmvcklywqsjmskx7zbw4d3l8i6bzr5h741v8iwgyw67mjn37g"; depends=[]; };
-  HMP = derive2 { name="HMP"; version="1.6"; sha256="0dz46f4wr3paar42hyidjvm5b4w0hz49gs7678b6kv3kb330ymll"; depends=[dirmult doParallel foreach ggplot2 gplots lattice MASS rpart rpart_plot vegan]; };
+  HMP = derive2 { name="HMP"; version="2.0.1"; sha256="0233p7gajr2aic0c5snni4g9v1bwn4zd5i3kagxhqxa3mvy5c7wc"; depends=[dirmult doParallel foreach ggplot2 gplots lattice MASS rpart rpart_plot vegan]; };
   HMPTrees = derive2 { name="HMPTrees"; version="1.4"; sha256="1jha64iyb0816rdg2i3z7i31z02r72k6acmvw0ibw3sli8zcvphb"; depends=[ape dirmult doParallel foreach HMP]; };
-  HMR = derive2 { name="HMR"; version="0.4.2"; sha256="0rbpghih99avaq803f6hb66pfbqgzh1i2yaqs0mhbj61yyjzyb7b"; depends=[]; };
+  HMR = derive2 { name="HMR"; version="1.0.0"; sha256="128q3d8r3z9gwnhqszwj8z0kf4la7szkwd11a6x0yhglmyrs1905"; depends=[]; };
   HMVD = derive2 { name="HMVD"; version="1.0"; sha256="0agzvsl2n3zg3i519b93jqpiq9zix0bbrjdzk3ymsbb42dzkmj0d"; depends=[MASS]; };
   HPbayes = derive2 { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[boot corpcor MASS mvtnorm numDeriv]; };
   HRM = derive2 { name="HRM"; version="1.0.2"; sha256="0krd27raa2ys2gsgqpbxpfnmigj8s6mk3al7fh3czx5l0d73iqy1"; depends=[data_table doBy ggplot2 MASS matrixcalc mvtnorm plyr pseudorank Rcpp reshape2 xtable]; };
   HRQoL = derive2 { name="HRQoL"; version="1.0"; sha256="1gr9rhr8gdnh7bw2v3r0xc3yhmzrx2gzgsd8wd5mmsp81ph0h5lz"; depends=[car fmsb Matrix matrixcalc numDeriv RColorBrewer rootSolve]; };
   HRW = derive2 { name="HRW"; version="1.0-3"; sha256="12y43sl30949jc9ab10ipx8k4rvb9g8gwaazi8j3k1grh26ivpii"; depends=[KernSmooth]; };
-  HS = derive2 { name="HS"; version="1.0"; sha256="1rqsdbszs5y1ps300p9c3rf5zxqs2rmbjysdivs64apximy68i4y"; depends=[zoo]; };
+  HS = derive2 { name="HS"; version="1.1"; sha256="1vhbchc446j49jj7jgmy4l59n8ahk5l8jp1rl5xwsmn9iqir62mp"; depends=[data_table ggplot2 ggpubr partitions reshape2 tidyr zoo]; };
   HSAR = derive2 { name="HSAR"; version="0.4.2"; sha256="0rxb2klmyynr8rzq6ka8p40lw81wjd0jkw2wg3vg90zny0zps98j"; depends=[Rcpp RcppArmadillo spdep]; };
   HSAUR = derive2 { name="HSAUR"; version="1.3-9"; sha256="0b2hyn59lr2pma87fcj7mli3qmrbnfhgd8fv02fa317rj52399qz"; depends=[]; };
   HSAUR2 = derive2 { name="HSAUR2"; version="1.1-17"; sha256="0jc554lz5lj7180vd4rbrjkywar4bh38c7i9kyxhd5clg4afxpw8"; depends=[]; };
   HSAUR3 = derive2 { name="HSAUR3"; version="1.0-9"; sha256="1rpvblak0xvkavbvbd35zq1lcsl5z1zp30vn70wqbkdj7szhj9b4"; depends=[]; };
   HSDiC = derive2 { name="HSDiC"; version="0.1"; sha256="0wiixb1ylx0l8qfgh5ark6alkdq87xaak1jlxizw1m589vghvqfp"; depends=[glmnet Matrix ncvreg quadprog]; };
+  HSPOR = derive2 { name="HSPOR"; version="1.1.9"; sha256="06lr8l71y5fcqcnmgq7cgiab1pcc98wnqzndbxcbikbh33cx7nxv"; depends=[corpcor npregfast]; };
+  HSROC = derive2 { name="HSROC"; version="2.1.9"; sha256="0x5q115c1js5l4rvdy8fg52kcgl18aj1snlj0gi1fdvjsxvglxjl"; depends=[coda lattice MASS MCMCpack]; };
   HSSVD = derive2 { name="HSSVD"; version="1.2"; sha256="1k7ga397grl0r4p0ipjgw5xlafb2528rpww67bw7mmy01w87a1cc"; depends=[bcv]; };
+  HTLR = derive2 { name="HTLR"; version="0.4-1"; sha256="0v6mbs57s5m7ab6zbaafp01lk4q7k1aldgrwq0rmqrzsq2rsar51"; depends=[BCBCSF glmnet magrittr Rcpp RcppArmadillo]; };
   HTMLUtils = derive2 { name="HTMLUtils"; version="0.1.7"; sha256="05y505jazzahnd6jsp3plqz8hd75991hhhcpcdn8093rinb1f8l1"; depends=[R2HTML]; };
   HTSCluster = derive2 { name="HTSCluster"; version="2.0.8"; sha256="0wnbfh6hdx8692jilgmv8sys1zm6fqc6mim7vvjhyqlmpm8gm0kg"; depends=[capushe edgeR plotrix]; };
-  HTSSIP = derive2 { name="HTSSIP"; version="1.4.0"; sha256="04wfwbi57rxjd69inagvj3qricshwia16k6d2r4fgg9wmikgx4yv"; depends=[ape coenocliner DESeq2 dplyr ggplot2 igraph lazyeval magrittr phyloseq plyr stringr tidyr vegan]; };
+  HTSSIP = derive2 { name="HTSSIP"; version="1.4.1"; sha256="1j2f6f3i4di4bvsk44gxz0narg45ld2rahfn23wpgni5bszy0vb3"; depends=[ape coenocliner DESeq2 dplyr ggplot2 igraph lazyeval magrittr phyloseq plyr stringr tidyr vegan]; };
   HUM = derive2 { name="HUM"; version="1.0"; sha256="1bq74l88jvscmq9ihv5wn06w2wng073ybvqb2bdx2dmiqlpv6jw2"; depends=[gtools Rcpp rgl]; };
   HURDAT = derive2 { name="HURDAT"; version="0.2.3"; sha256="1pcr0dlmhcblsgdyb79n377523x347d4gbzia247cpv52y4kbk0q"; depends=[dplyr purrr readr rlang rvest tidyr xml2]; };
   HW_pval = derive2 { name="HW.pval"; version="1.0"; sha256="14nmyqw2d9cmn64789yc54fmiqanh6n1dizp7vj94h7b0jwq63yy"; depends=[]; };
@@ -1741,7 +1804,7 @@ in with self; {
   HWEintrinsic = derive2 { name="HWEintrinsic"; version="1.2.2"; sha256="035r5bi7m66g351cmrfmf4cj5qqm4fn5pgy3lzsp3gyp2dv0rkg5"; depends=[]; };
   HWxtest = derive2 { name="HWxtest"; version="1.1.9"; sha256="1ri5dxq4qm12y1pi6pjydiz23220hffj6qa5235154m9sjz0jwx3"; depends=[]; };
   HYRISK = derive2 { name="HYRISK"; version="1.2"; sha256="1ngwwzv1pavmscpca3ryzfxzd9rppsh0sm7k4sp2kzc9c0bix4xp"; depends=[kerdiest pbapply reliaR rgenoud sets triangle]; };
-  HaDeX = derive2 { name="HaDeX"; version="0.1"; sha256="1k1qhgf5f9ssb9fxykzdmy8rwk8vjc04aj4g6qr1af7231gan6mg"; depends=[data_table dplyr DT ggplot2 gsubfn latex2exp readr readxl reshape2 shiny stringr tidyr]; };
+  HaDeX = derive2 { name="HaDeX"; version="1.0"; sha256="14f4ql685wrhsmg9yklbfky7b3vsxm4dyiqmpmrl7199kqzinjc0"; depends=[data_table dplyr DT ggplot2 gsubfn latex2exp readr readxl reshape2 shiny stringr tidyr]; };
   HadoopStreaming = derive2 { name="HadoopStreaming"; version="0.2"; sha256="1l9msaizjvnsj1jrpghj4g057qifdgg6vbqhfxhn1fiqdqi2056q"; depends=[getopt]; };
   HandTill2001 = derive2 { name="HandTill2001"; version="0.2-12"; sha256="1rijjv27zwdznznvwlb5hahixmfxayr6vs11p1mzwqma8qhsn5ak"; depends=[]; };
   Hapi = derive2 { name="Hapi"; version="0.0.3"; sha256="0jqjhfq38k161kqff5cx0vxpsmjm2y5ca7049mvqiwqwvi4fp08m"; depends=[ggplot2 HMM]; };
@@ -1750,38 +1813,39 @@ in with self; {
   HardyWeinberg = derive2 { name="HardyWeinberg"; version="1.6.3"; sha256="1irz44q6nf95h37av868f47aakwv3jgwgw217xfsfw0afkm7s25f"; depends=[mice Rcpp Rsolnp]; };
   HarmonicRegression = derive2 { name="HarmonicRegression"; version="1.0"; sha256="0inz3l610wl0ibqjyrhfbmwmcfzcmcfhixai4lpkbfsyx93z2i4d"; depends=[]; };
   Harvest_Tree = derive2 { name="Harvest.Tree"; version="1.1"; sha256="021zmppy7p2iakaxirfjdb5jzakg1ijma9d25ly2ni0nx0p1mh6z"; depends=[rpart]; };
-  HelpersMG = derive2 { name="HelpersMG"; version="3.6"; sha256="1wlx74akpcf5ny4qjd12kb4rlgz38s6b5pj8744vcl852xbfizll"; depends=[coda lme4]; };
+  HellCor = derive2 { name="HellCor"; version="1.2"; sha256="1k7k8gj70wc31w27gykiy0fv2bs9q73414ma0hn3ziqg4cnrgl7m"; depends=[energy]; };
+  HelpersMG = derive2 { name="HelpersMG"; version="3.8"; sha256="1vlhdry53ync1fha347ffn1jvk89nxnhc2k0r3aykglbaypfwbcr"; depends=[coda lme4]; };
   HeritSeq = derive2 { name="HeritSeq"; version="1.0.1"; sha256="0l1saxwj99xwkzcy43v0k9sicqwpw9gc8ywxpablagcddfj05pi3"; depends=[cplm DESeq2 lme4 MASS pbapply SummarizedExperiment tweedie]; };
-  HextractoR = derive2 { name="HextractoR"; version="1.3"; sha256="09x1zjpkm091yr7by83ksddka8ldczb0dg09yr1gb6j68rhlbigp"; depends=[doParallel foreach seqinr]; };
-  HiCblock = derive2 { name="HiCblock"; version="1.4"; sha256="07f94j9y5g6f09yi7iwag020ddfhpvrj5idfxwbr900hj3vgm1gm"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
+  HextractoR = derive2 { name="HextractoR"; version="1.4"; sha256="1wp7n92wgrjyklq159ymrw8y5ads6lhj2fcz54rzdnccdyx5naxi"; depends=[doParallel foreach seqinr]; };
   HiCfeat = derive2 { name="HiCfeat"; version="1.4"; sha256="1imz7zfax74aakzk8457jww9r66qxpr2ncyvjj0y5paxdn76lnnq"; depends=[GenomeInfoDb GenomicRanges glmnet IRanges Matrix rtracklayer]; };
-  HiCglmi = derive2 { name="HiCglmi"; version="1.3"; sha256="17vwdhnf36cg56vidq7d85s4vgk2pnn5py1y2wsl2dm41vdl0847"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
   HiClimR = derive2 { name="HiClimR"; version="2.1.4"; sha256="1ynxy5c2md3bpii3693zcxabldaj0s54xby19j0f616hk4kjm3gm"; depends=[ncdf4]; };
   HiCseg = derive2 { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
   HiDimDA = derive2 { name="HiDimDA"; version="0.2-4"; sha256="0gxkxzys9mcy33xvsim8klaqmb2xwvy5bvgkn9r400j4qfjd3cgg"; depends=[]; };
   HiLMM = derive2 { name="HiLMM"; version="1.1"; sha256="09135cwi6kqrvzdlivm86q1dqn6cbbi6nspdm0c2s700jl49pl5z"; depends=[]; };
   HiResTEC = derive2 { name="HiResTEC"; version="0.59"; sha256="08c5zvj1as28skhlyybrjinc9wawdsqfxiwybd0ni0ljh2i2sc5c"; depends=[beeswarm Biobase InterpretMSSpectrum openxlsx plyr Rdisop]; };
   HiddenMarkov = derive2 { name="HiddenMarkov"; version="1.8-11"; sha256="1yh85pdb9r90qxcl5gxslyplxzrx8knrrsl2q65l57zfkqj185ja"; depends=[]; };
-  HierDpart = derive2 { name="HierDpart"; version="0.3.5"; sha256="0xppilxnnq2c50xmwvgp0ih19ak1qigd0qqc1r37g0qlys2s7wlp"; depends=[ade4 adegenet ape diveRsity dplyr entropart GGally ggplot2 hierfstat pegas permute reshape2 tibble vegan]; };
+  HierDpart = derive2 { name="HierDpart"; version="0.5.0"; sha256="1lrp5snkx5irrx6b19wdfmkpbxdy4gxkhpjibfin109s5r54jvvg"; depends=[ade4 adegenet ape diveRsity entropart GGally ggplot2 hierfstat mmod pegas permute reshape2 tibble vegan]; };
   HierO = derive2 { name="HierO"; version="0.2"; sha256="1lqj5grjly4kzxl7wb192aagz2kdvpnjdan2kcg5yxwvg1xcvwv1"; depends=[bitops RCurl rneos tcltk2 XML]; };
   HighDimOut = derive2 { name="HighDimOut"; version="1.0.0"; sha256="0r7mazwq4fsz547d3nyavmqya7144lg3fkl5f7amrp48l9h85vx2"; depends=[DMwR FNN foreach ggplot2 plyr proxy]; };
   HistDAWass = derive2 { name="HistDAWass"; version="1.0.3"; sha256="1kvq9q4lnbl2jkj7dvm2znp2ihvv1j6778pnfkkxflxa8aks29k6"; depends=[class FactoMineR ggplot2 ggridges histogram Rcpp RcppArmadillo]; };
   HistData = derive2 { name="HistData"; version="0.8-4"; sha256="0qw8jrh7g9w49k6f8hsg9wvy8ms2pcsmiv2ysxfcr89v60q084rb"; depends=[]; };
   HistogramTools = derive2 { name="HistogramTools"; version="0.3.2"; sha256="1wkv6ypn006d8j6bpbhc1knw0bky4y8r7jp87482yd19q5ljsgv0"; depends=[ash Hmisc stringr]; };
   HiveR = derive2 { name="HiveR"; version="0.3.42"; sha256="09h061511pk7iy1k9gb3ifa5q6gd17ix9sn2fshl6gp5sxnysn4f"; depends=[jpeg plyr png RColorBrewer rgl tkrgl]; };
-  Hmisc = derive2 { name="Hmisc"; version="4.2-0"; sha256="1n8i2jhc308hd6bvys9cd7nrz7pwjszs03r5bwlh1pc869ki95ly"; depends=[acepack base64enc cluster data_table foreign Formula ggplot2 gridExtra gtable htmlTable htmltools lattice latticeExtra nnet rpart survival viridis]; };
+  Hmisc = derive2 { name="Hmisc"; version="4.3-0"; sha256="0rb1m6138lqzb46nss9ggvhghipd10vdnwsy6iq2wzynrynzkwkz"; depends=[acepack base64enc cluster data_table foreign Formula ggplot2 gridExtra gtable htmlTable htmltools lattice latticeExtra nnet rpart survival viridis]; };
+  Hmsc = derive2 { name="Hmsc"; version="3.0-2"; sha256="19d1j425h2ylzfpb1a9yam2n82xd5gcyi843sn2x50z1gwv9kl64"; depends=[abind ape BayesLogit coda fields FNN ggplot2 MASS Matrix MCMCpack mvtnorm nnet pdist phytools pROC statmod truncnorm]; };
   HoRM = derive2 { name="HoRM"; version="0.1.2"; sha256="0vfsya6423i25szdj5s8pa8pwshiqykikxdbbj7r2nz73x3qp6hy"; depends=[ggplot2 MASS orthopolynom quantmod rsm]; };
   Holidays = derive2 { name="Holidays"; version="1.0-7"; sha256="1srfbhlrf0pd6gzhp4hbic555lb7camk084rn1qz2g7fjvyijqiq"; depends=[TimeWarp]; };
   Homeric = derive2 { name="Homeric"; version="0.1-3"; sha256="1vcs8fj39zpz45p7gph0mnx65hgr35na0b79i8llyw7i1h7zqzxr"; depends=[]; };
   HotDeckImputation = derive2 { name="HotDeckImputation"; version="1.1.0"; sha256="1mqfn6yw5846ynrcgzka0m6ikfppa5civjkhj42rhp2v2xk25li7"; depends=[Rglpk]; };
   Hotelling = derive2 { name="Hotelling"; version="1.0-5"; sha256="1ism2lzi2kmi62gp319qsi64pj2kj5sfh50f1qnv8vgdkb76bdx5"; depends=[corpcor]; };
   HyPhy = derive2 { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; };
-  HyRiM = derive2 { name="HyRiM"; version="1.0.0"; sha256="1fh7y1abwz2cmdxviribfmdvkmd706p4mmf5myl84z7dbgqh6mgp"; depends=[compare orthopolynom]; };
+  HyRiM = derive2 { name="HyRiM"; version="1.0.3"; sha256="0zx292554kr2s4107db5y7sr869kia9q6dyzhdjy11ksw23sj9m4"; depends=[compare orthopolynom]; };
   HybridFS = derive2 { name="HybridFS"; version="0.1.3"; sha256="0sb3i8ymgydi9hvxzdzydqap1gd7w5qcrs9clc0y5n26zd2mwqm5"; depends=[caTools FSelector InformationValue ROCR woeBinning]; };
   HybridMC = derive2 { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; };
   HydeNet = derive2 { name="HydeNet"; version="0.10.9"; sha256="1glzbr91cwp99qk1cyf8824fg8jvghgf84gc64jjn2q70vczcf5f"; depends=[checkmate DiagrammeR dplyr magrittr nnet pixiedust plyr rjags stringr]; };
   HydroMe = derive2 { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[minpack_lm nlme]; };
   HyperbolicDist = derive2 { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
+  HypergeoMat = derive2 { name="HypergeoMat"; version="3.0.0"; sha256="03xnvb7d80nak7wawfi2sniq9syjbjx5gk71xsgchgwqsdnixp8y"; depends=[gsl Rcpp RcppArmadillo]; };
   IAPWS95 = derive2 { name="IAPWS95"; version="1.1.0"; sha256="03kggkcyvbgh7l9haa1ljg0sv6f2rs06r6j0w2x7cpm31qmc3yzl"; depends=[ggplot2 pander Rcpp]; };
   IASD = derive2 { name="IASD"; version="1.1"; sha256="1slhd42k639mbyxccl7n69p7ng2qx6pqag8wz3kdwn479spkavzn"; depends=[]; };
   IAT = derive2 { name="IAT"; version="0.3"; sha256="110rn2q09gspfd4msyh30dllxdxdraffkr18h1nm72brzhmx9cfi"; depends=[dplyr ggplot2 lazyeval]; };
@@ -1802,7 +1866,7 @@ in with self; {
   ICC = derive2 { name="ICC"; version="2.3.0"; sha256="0y8zh9715cp9bglxpygqwgigrarq37sj845lk1xl0ydwinl0a6kk"; depends=[]; };
   ICC_Sample_Size = derive2 { name="ICC.Sample.Size"; version="1.0"; sha256="1w6v1jp8bfvf6c49ikswkc5527gdx5cyqnw95x00pgmm6riwlsp9"; depends=[]; };
   ICCbin = derive2 { name="ICCbin"; version="1.1.1"; sha256="1pzlaj7w98pgrlg3zvpmdv0dpgi5gih0j73qv86ak75fkxvrnzzw"; depends=[]; };
-  ICD10gm = derive2 { name="ICD10gm"; version="1.0.3"; sha256="11gyqdf5xddsryam6cy6k919v88b31905g1sbaijbs7dza6w01ls"; depends=[dplyr magrittr purrr rlang stringi tibble tidyr]; };
+  ICD10gm = derive2 { name="ICD10gm"; version="1.0.4"; sha256="19346z1mfdbir47wy6qxniag81s3xwrxpfbiv1rar6a89z3pczlf"; depends=[dplyr magrittr purrr rlang stringi tibble tidyr tidyselect]; };
   ICDS = derive2 { name="ICDS"; version="0.1.1"; sha256="1jb98xi37jcf6nl5lx2ip9614l4w7lz7v53jpcbdj0ymqbfx1s70"; depends=[graphite igraph metap org_Hs_eg_db]; };
   ICE = derive2 { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
   ICEbox = derive2 { name="ICEbox"; version="1.1.2"; sha256="170gg2fg9307yc2b25lsj8d1zla0frjxl47qh0njlqlrpi8jmm7i"; depends=[sfsmisc]; };
@@ -1819,13 +1883,13 @@ in with self; {
   ICcalib = derive2 { name="ICcalib"; version="1.0.8"; sha256="1y2w12ka0qxh9dg6dlcrnndz1xrv8gkppan64qkyk5vjrh18ajz4"; depends=[fitdistrplus icenReg ICsurv MASS msm numDeriv Rcpp RcppArmadillo survival]; };
   ICcforest = derive2 { name="ICcforest"; version="0.5.0"; sha256="0m4bqw06alpj8p0yska4rizra73mgvcpd4zlgmxr146cgdv2lrgd"; depends=[icenReg ipred partykit survival]; };
   ICsurv = derive2 { name="ICsurv"; version="1.0"; sha256="1mbndpy3x5731c9y955wscy76jrxlgv33bf6ldqp65cwyvdgxl86"; depends=[MASS matrixcalc]; };
-  ICtest = derive2 { name="ICtest"; version="0.3-1"; sha256="10wxx2b8m5h0k8f6lgf0z1xhvhr14dyrda2pf46w03fa23f5mb7l"; depends=[GGally ggplot2 ICS ICSNP JADE png Rcpp RcppArmadillo survey]; };
+  ICtest = derive2 { name="ICtest"; version="0.3-2"; sha256="00h72rngcyjhin9g8x80mypm8zx765nm5jgsyjya9m4kw8x4h8la"; depends=[GGally ggplot2 ICS ICSNP JADE png Rcpp RcppArmadillo survey xts zoo]; };
   IDCard = derive2 { name="IDCard"; version="0.3.0"; sha256="06b5zqmgh4clni3mv6ab2a52r4z34isbz0hd1i61793gps9fkc0y"; depends=[stringr]; };
   IDE = derive2 { name="IDE"; version="0.3.0"; sha256="1m1y7gd8i14kl54qxhjy7bnf2md5vs7bb73k7k92nizv941qn0mn"; depends=[DEoptim dplyr FRK ggplot2 Matrix sp spacetime sparseinv tidyr]; };
   IDF = derive2 { name="IDF"; version="1.1"; sha256="19fx04gvzwzkxbd453l3wx46s22dbnh0nxdrmsr4f7l67kihbwdr"; depends=[evd ismev]; };
   IDPSurvival = derive2 { name="IDPSurvival"; version="1.2"; sha256="0hifs8vw3rxlb5vlxs1433pcv2dh7p0mxpgb2n03d98f20vkdwfw"; depends=[gtools Rsolnp survival]; };
   IDPmisc = derive2 { name="IDPmisc"; version="1.1.19"; sha256="13qcvfm703frs367paddz1wq9k3p17f9p5347m56bhky5hjkaphd"; depends=[lattice]; };
-  IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.3.5"; sha256="05wxymvv1p7dik5y227qnp4w1lpdmqfp17zrk6iah8gyv9yjsvbh"; depends=[doParallel foreach igraph spatstat]; };
+  IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.3.10"; sha256="1980nsbcibsas99xcqfc54k6zhh9lg2xdgmihp846xhqgw9xjjy7"; depends=[doParallel foreach igraph spatstat]; };
   IDetect = derive2 { name="IDetect"; version="0.1.0"; sha256="1q1jwgildhx6sp883ni7vcsa3gj997855v5ky41dyf34kv7hvdl1"; depends=[]; };
   IDmeasurer = derive2 { name="IDmeasurer"; version="1.0.0"; sha256="0n7rziaaxm9dqixmw6rxgq9dwnwdl3dsdnpd9s59k5skdlaxnl5m"; depends=[infotheo lme4 MASS]; };
   IDmining = derive2 { name="IDmining"; version="1.0.6"; sha256="0fsl1byz0n5jwswh2ydzz5lsycja54545cf7dr1r3h1a372yz2mv"; depends=[data_table doParallel foreach]; };
@@ -1850,9 +1914,11 @@ in with self; {
   INCATome = derive2 { name="INCATome"; version="1.0"; sha256="1gbmcirs49ydmk5rg2vl5gdy39dfx9psw5mijibzjszcfjar3kqs"; depends=[genefilter limma multtest RankProd siggenes]; };
   INDperform = derive2 { name="INDperform"; version="0.2.1"; sha256="02zqrb9hnfvwxni2477fjdx3ii0a0wbm1layskmwlzsvvkc60ngn"; depends=[cowplot dplyr ggplot2 htmlwidgets jsonlite lazyeval magrittr mgcv nlme purrr RColorBrewer rhandsontable rlang shiny stringr tibble tidyr vegan]; };
   INLABMA = derive2 { name="INLABMA"; version="0.1-11"; sha256="0wzyb3c7zpksqz198kigi4rpblvk0rjamngmyabw5xdpizxdg6zi"; depends=[Matrix sp spdep]; };
+  INLAMSM = derive2 { name="INLAMSM"; version="0.1"; sha256="0km7kwwif2hqqa9jhglvkinzcm6gfp7mn219hqm5ds5rfgrcyl75"; depends=[Matrix MCMCpack]; };
   INSPIRE = derive2 { name="INSPIRE"; version="1.5"; sha256="0938l50yxnb5q628mp874ayx9ybvcjddis20y1hzm5cmlsg0hqhg"; depends=[missMDA]; };
   IOHanalyzer = derive2 { name="IOHanalyzer"; version="0.1.1"; sha256="0imjmhvasfshb3z4cpcjrvmwdc668i73bagl7iww7vhfn3y7mk4n"; depends=[bsplus colorRamps colorspace colourpicker data_table dplyr DT ggplot2 magrittr markdown plotly RColorBrewer Rcpp reshape2 shiny shinydashboard shinyjs withr]; };
   IPCAPS = derive2 { name="IPCAPS"; version="1.1.5"; sha256="0d1nws86k1yph2f4drwrh4jvmmc9nnqmmswpwirmgsp3ma58kc42"; depends=[apcluster expm fpc KRIS LPCM MASS Matrix Rmixmod]; };
+  IPDFileCheck = derive2 { name="IPDFileCheck"; version="0.6.0"; sha256="0rx1xwbdmv23r62xjf8ksbwmr7axxp7a9brd6c7g8qv3ayjjy706"; depends=[dplyr eeptools GlobalOptions lubridate testthat]; };
   IPEC = derive2 { name="IPEC"; version="0.1.2"; sha256="1fglr5hs61n13251145wqzvxy362fx32yzral96xd8li76ljxiic"; depends=[MASS numDeriv]; };
   IPMRF = derive2 { name="IPMRF"; version="1.2"; sha256="1zvwwhiy0p134zvm5ldc92pdd1ap72bhbrlf02rz9m2hlsxmwy67"; depends=[gbm party randomForest]; };
   IPMpack = derive2 { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[MASS Matrix nlme]; };
@@ -1862,8 +1928,8 @@ in with self; {
   IPtoCountry = derive2 { name="IPtoCountry"; version="0.0.1"; sha256="1b10z93mc31cr1c5wxp9xz9cr3jm4n4g5kav09dyallpgw60rskp"; depends=[data_table devtools dtables ggplot2 install_load maps scales]; };
   IQCC = derive2 { name="IQCC"; version="0.7"; sha256="1zalpmyywkrnci0jd8irakjhiqmr52zhj1sbxf9pz5c7wks2rdbc"; depends=[MASS miscTools qcc]; };
   IRATER = derive2 { name="IRATER"; version="0.0.1"; sha256="0jxdvjmnmangbqy3ibb5qrj9jz3wrzs0wa1r2gjk4v8vsbk0ipcf"; depends=[coda lattice plyr R2admb]; };
-  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.2.0"; sha256="08r07z9z2mmx2w2xx2qpdvllwz85wmk3pwid77avc7vrvbbvgs6g"; depends=[dplyr IRISSeismic RCurl seismicRoll signal stringr XML]; };
-  IRISSeismic = derive2 { name="IRISSeismic"; version="1.5.0"; sha256="0ckc48y3mzsy4kszy9m11602bbaa4vg9c5m54h8qg31cskpgr676"; depends=[pracma RCurl seismicRoll signal stringr XML]; };
+  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.3.0"; sha256="09nzzalz107l6dscl4xxd8znwd9fppjlfyvn1vfd9jhx7mkjlnlq"; depends=[dplyr IRISSeismic pracma RCurl seismicRoll signal stringr XML]; };
+  IRISSeismic = derive2 { name="IRISSeismic"; version="1.5.2"; sha256="117p2kh2r2iw758iqlpqaak83czfv34p15907g18x496r5vri429"; depends=[pracma RCurl seismicRoll signal stringr XML]; };
   IROmiss = derive2 { name="IROmiss"; version="1.0.1"; sha256="01l08s1g7h8cki372daa61pw3wac3pbv5d4yqnphg5p8ihsmrc5d"; depends=[equSA huge mvtnorm ncvreg]; };
   IRTShiny = derive2 { name="IRTShiny"; version="1.2"; sha256="094ax94y6k5z4vlxfla2w19f57q0z32nwwd5npjbgmnkhvfhhl9v"; depends=[beeswarm CTT ltm psych shiny shinyAce]; };
   IRdisplay = derive2 { name="IRdisplay"; version="0.7.0"; sha256="12chk53nf4zckgc4yl7gbvd7m5dvli52inp5b3f0zvcjvfncksli"; depends=[repr]; };
@@ -1891,9 +1957,11 @@ in with self; {
   ImaginR = derive2 { name="ImaginR"; version="0.1.7"; sha256="12ypfrqw6xym84i1axd3h0qd2md96rc0glas3rgzpdhdyw4lbfmn"; depends=[imager jpeg]; };
   Imap = derive2 { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
   Immigrate = derive2 { name="Immigrate"; version="0.0.2"; sha256="1khxjh4lpsgv5qqk30ry6r8y3vjblwxsx9frv63pws4x1j6j2apm"; depends=[pROC Rcpp]; };
+  ImpactEffectsize = derive2 { name="ImpactEffectsize"; version="0.2.0"; sha256="0vy32jypakpf65zqblpyxfym81kqvqikycyhgar0ms26l4fczaqz"; depends=[AdaptGauss caTools matrixStats parallelDist RcppAlgos]; };
   ImpactIV = derive2 { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; };
   ImportExport = derive2 { name="ImportExport"; version="1.1"; sha256="12i9mwspk59zicn1mn21xrs90c8dqxm1q7alqbzscgkpf3xbjrnn"; depends=[chron gdata haven Hmisc RODBC xlsx]; };
   ImputeRobust = derive2 { name="ImputeRobust"; version="1.3-1"; sha256="1zvwlpffpm4gqysz57clf8jkqr72yjbzx90pdy95la51m0b6cdbd"; depends=[extremevalues gamlss gamlss_dist lattice mice purrr]; };
+  InDisc = derive2 { name="InDisc"; version="1.0.2"; sha256="1mvd6r1ly924n17275n4i9p8sghvm929kbir0bq6850kk2m0dgq7"; depends=[optimbase psych]; };
   InPosition = derive2 { name="InPosition"; version="0.12.7.1"; sha256="0d9c7dwaa1v0j8p5ff9223fc2gkbmbvyqylma2d8l4x5m92jmkv0"; depends=[ExPosition prettyGraphs]; };
   InSilicoVA = derive2 { name="InSilicoVA"; version="1.2.5"; sha256="1irbfdrab9mz50py8h3gnjj14swh7b1pbrqf2fj04ym206rsca02"; depends=[coda ggplot2 InterVA5 rJava]; };
   IncDTW = derive2 { name="IncDTW"; version="1.1.2"; sha256="1w213d4z3fflkhcr1snsgy3l9vam0bslzc8h59gfphpjyf9h3hz8"; depends=[data_table ggplot2 Rcpp RcppArmadillo RcppParallel scales]; };
@@ -1901,8 +1969,9 @@ in with self; {
   IndTestPP = derive2 { name="IndTestPP"; version="1.0"; sha256="1ywl35k2syv46pz6ap5sjkynapqj04aq197czspqky0pvrq7ldr1"; depends=[]; };
   IndepTest = derive2 { name="IndepTest"; version="0.2.0"; sha256="017jasqsxm5m13rhfy9gxvd8nfib5k5y5c8520p3hcffqrxr683p"; depends=[FNN mvtnorm Rdpack]; };
   IndependenceTests = derive2 { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; };
-  IndexConstruction = derive2 { name="IndexConstruction"; version="0.1-1"; sha256="16swmbkb6shxl0vxby4pi246ji7qqb849nzqr4pbdg4gdg1a36f5"; depends=[fGarch KernSmooth lubridate RcppBDT xts zoo]; };
+  IndexConstruction = derive2 { name="IndexConstruction"; version="0.1-2"; sha256="16fwbq4d9k3092qwj7yk2s66gp8rgv7g0ii4240imfjh28zlb6xa"; depends=[fGarch KernSmooth lubridate RcppBDT xts zoo]; };
   IndexNumR = derive2 { name="IndexNumR"; version="0.1.2"; sha256="0dip7v4z36k3fhl8szrbl11gcqy1rr7kgmcsajpdwd16jixj1d27"; depends=[]; };
+  IndexNumber = derive2 { name="IndexNumber"; version="1.0"; sha256="03c01f7pk0bf1mlnfmnyc242gpc0ac6svzb6lfwhqkv964kdvhsy"; depends=[]; };
   IndianTaxCalc = derive2 { name="IndianTaxCalc"; version="1.0.2"; sha256="1fxw884wj9n8drk2xz3rgr4f7b4fckh5firrf5gdz6d1nk9hdvc1"; depends=[]; };
   InfDim = derive2 { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
   InferenceSMR = derive2 { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; };
@@ -1912,7 +1981,7 @@ in with self; {
   Information = derive2 { name="Information"; version="0.0.9"; sha256="0pszwzj3r7vdvdsy9w1qz95zxp7y2bsyg36b58mm4qcvcvymd4kn"; depends=[data_table doParallel foreach ggplot2 iterators plyr]; };
   InformationValue = derive2 { name="InformationValue"; version="1.2.3"; sha256="1b5g2wyp7x5cdhmf4325n3q7afa6i352lh80j28c8s4356pr3w9j"; depends=[data_table ggplot2]; };
   InformativeCensoring = derive2 { name="InformativeCensoring"; version="0.3.4"; sha256="145k4hggymra2jnxkcck795xk280yyldfzh9ls2irnsxmxfszr52"; depends=[boot dplyr survival]; };
-  Infusion = derive2 { name="Infusion"; version="1.3.0"; sha256="0z6yils8ckfk0wdi45iav2yijz2cxn1zfkg3q9l6149czlnhvws1"; depends=[blackbox foreach mvtnorm numDeriv pbapply proxy spaMM viridis]; };
+  Infusion = derive2 { name="Infusion"; version="1.4.1"; sha256="0nxp416mbzawrdk4qwhg5j7lm8zdyplrngka2hw2rlsqmlwhvqzl"; depends=[blackbox foreach mvtnorm numDeriv pbapply proxy spaMM viridis]; };
   InjurySeverityScore = derive2 { name="InjurySeverityScore"; version="0.0.0.2"; sha256="0g52cksa774in18ykrym61l3my9zm343bgsq5mg7mki9x65xd35z"; depends=[dplyr rlang tidyr]; };
   InspectChangepoint = derive2 { name="InspectChangepoint"; version="1.0.1"; sha256="1wirdbz4v7hk7znpjhw9j3l596lmfcrlr4wxayw7klbbdhcwq5qs"; depends=[MASS]; };
   IntClust = derive2 { name="IntClust"; version="0.1.0"; sha256="0whmc084gq5zip82vnwailnwvw9jawk9rx4wqiz1lr693w9xbq66"; depends=[a4Core ade4 analogue Biobase circlize cluster data_table e1071 FactoMineR ggplot2 gplots gridExtra gtools igraph limma lsa plotrix pls plyr Rdpack SNFtool]; };
@@ -1922,8 +1991,8 @@ in with self; {
   IntegratedJM = derive2 { name="IntegratedJM"; version="1.6"; sha256="0fv24z7vidhn09ljk09pjzkrlg2rlwxcrhfjc53ybjjgsgay99z6"; depends=[Biobase ggplot2 nlme]; };
   IntegratedMRF = derive2 { name="IntegratedMRF"; version="1.1.9"; sha256="0kklgc48cib4bjfs9qbw13nkp8xyjdazrg6z15x69jylnxyakic7"; depends=[bootstrap ggplot2 limSolve MultivariateRandomForest Rcpp]; };
   InterSIM = derive2 { name="InterSIM"; version="2.2.0"; sha256="14yccan88szf26w1hg1lkvmssids961gng7il3bjr2f1l0k8vd3b"; depends=[MASS NMF]; };
-  InterVA4 = derive2 { name="InterVA4"; version="1.7.5"; sha256="0la99ylx8fnn4kpqa364nhs12y2hzp3sm0awsx5sfdv6n7m9js33"; depends=[]; };
-  InterVA5 = derive2 { name="InterVA5"; version="1.0.2"; sha256="0mjfvkpnl46kzas6ch8x3liffqixifdrdjc7vxfyc1a4az7kn8vq"; depends=[]; };
+  InterVA4 = derive2 { name="InterVA4"; version="1.7.6"; sha256="02fci1p8im8jpalv1mbrhrwhvpi23mzhwhpd1knpxyv7h6l9x0kg"; depends=[]; };
+  InterVA5 = derive2 { name="InterVA5"; version="1.0.4"; sha256="18gvqmyglssdm72hlrv0nmk8yxavyj6q89dlw62zybcpvns6q3ba"; depends=[curl readxl]; };
   Interact = derive2 { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
   InteractiveIGraph = derive2 { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
   Interatrix = derive2 { name="Interatrix"; version="1.1.1"; sha256="1ljxgiia0y8wv1rlm5brd0yvs1r7r5wyrs6nykmwrwwya4k34mpz"; depends=[MASS tkrplot]; };
@@ -1933,11 +2002,11 @@ in with self; {
   InterpretMSSpectrum = derive2 { name="InterpretMSSpectrum"; version="1.2"; sha256="1iaw4i14l2vp1f163g2q4pwv9cnqrx14ik4s8zw0iha4zwcrc3ja"; depends=[DBI doParallel enviPat foreach plyr Rdisop RSQLite]; };
   IntervalSurgeon = derive2 { name="IntervalSurgeon"; version="1.0"; sha256="0dpgfgnnx6r29y8y3pac1rgi503wvlwggx5dh6fhqnxw5yfink61"; depends=[Rcpp]; };
   IntrinioStockAPI = derive2 { name="IntrinioStockAPI"; version="0.0.1"; sha256="0gvkynyi2iag2kwwb51b8125md8kw65b48zk9qdf8pppg9s1r46a"; depends=[gtools httr jsonlite stringr]; };
-  InvariantCausalPrediction = derive2 { name="InvariantCausalPrediction"; version="0.7-2"; sha256="08s1jhyyb60cjk314q9n24niq55n21h83ml3q9a2xhr956kch8ms"; depends=[glmnet mboost]; };
+  InvariantCausalPrediction = derive2 { name="InvariantCausalPrediction"; version="0.8"; sha256="01ckyvjl9lxdpkr0v1da4n4lw3b5z1bxlmf0v6ibqly1mhfwybjl"; depends=[glmnet mboost]; };
   InvasionCorrection = derive2 { name="InvasionCorrection"; version="0.1"; sha256="1wwx2kssjysl1lraac36pvxq34vg8qm0vwi861rs1iipfc35i84j"; depends=[lattice]; };
   Inventorymodel = derive2 { name="Inventorymodel"; version="1.1.0"; sha256="1l87xghdksgmb2k3a8j382p7ffi2pma38a6pn31sfjsa6bgmrdnk"; depends=[e1071 GameTheoryAllocation]; };
-  Irescale = derive2 { name="Irescale"; version="0.2.6"; sha256="1mxpcxc893ld196fb1hpy8avr6a1n4fi83fw2wmwdi11mdwib495"; depends=[e1071 ggplot2 Rcpp Rdpack sp]; };
-  IrishDirectorates = derive2 { name="IrishDirectorates"; version="0.2.0"; sha256="1m3c3dj4729chk1n3k7awvi1jdfnds2w36vm268azg53j6c7l4b6"; depends=[]; };
+  Irescale = derive2 { name="Irescale"; version="2.3.0"; sha256="037bzli0zwlfbf5xmllqg2pi0shs33ggrnw69kzyw2sf780y3hs2"; depends=[e1071 fBasics ggplot2 imager Rdpack reshape2 sp]; };
+  IrishDirectorates = derive2 { name="IrishDirectorates"; version="1.4"; sha256="1mwjrmqga7f0p5w2m4f0i6mb68jimx6791pz03r8iqj3yx0vzkh0"; depends=[Rcpp RcppArmadillo]; };
   IrregLong = derive2 { name="IrregLong"; version="0.1.0"; sha256="0m0lzvdp3f57faylk5vihymyhya7b6kri01zql971lqmfazybjy8"; depends=[frailtypack geepack survival]; };
   IsingFit = derive2 { name="IsingFit"; version="0.3.1"; sha256="1prdzzp15klkdy72379bjksdgxr15nk16pqm35w95341cddxchc7"; depends=[glmnet Matrix qgraph]; };
   IsingSampler = derive2 { name="IsingSampler"; version="0.2"; sha256="16vwb5pcqjvvsk9wsgj10mzhgh72iz1q6n8nmkva6y1l7xv54c8w"; depends=[magrittr nnet plyr Rcpp]; };
@@ -1945,46 +2014,46 @@ in with self; {
   IsoCI = derive2 { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
   IsoGene = derive2 { name="IsoGene"; version="1.0-24"; sha256="0flm0mszankvl3aizwsazyhvz2xkr4gfqiqywpc0r1swqj19610r"; depends=[affy Biobase ff Iso xtable]; };
   IsoSpecR = derive2 { name="IsoSpecR"; version="2.0.1"; sha256="1y101x7138pdylp2qsmyd10dh0d3wwic292qfi2kbn3z849dlhnn"; depends=[Rcpp]; };
-  IsoplotR = derive2 { name="IsoplotR"; version="2.7"; sha256="1krh84z9y619x5anazi6a5kcz9a24f086lw7m2rla9sfxxhx6g95"; depends=[MASS]; };
+  IsoplotR = derive2 { name="IsoplotR"; version="3.1"; sha256="0xh45p2ky3hh5p01yw27y6y7iikr6fbwalmw3qbw1y6c5jc3978v"; depends=[MASS]; };
   IsoriX = derive2 { name="IsoriX"; version="0.8.1"; sha256="0rr9frj0mhismls60vgax357jgfyq2wci7rvhvp70fh5k998mzid"; depends=[lattice latticeExtra numDeriv raster rasterVis sp spaMM viridisLite]; };
   IsotopeR = derive2 { name="IsotopeR"; version="0.5.4"; sha256="0xgha5alh5y5qfz00rl73q4xlamnmrwij7kckljmy6zgrlrdnl6x"; depends=[colorspace ellipse fgui plotrix runjags]; };
-  JADE = derive2 { name="JADE"; version="2.0-1"; sha256="0s7cdvhjcdxdqv4mgjd07xi3s0ngjvpxsmy0ary735rs5y6198mm"; depends=[clue]; };
-  JAGUAR = derive2 { name="JAGUAR"; version="3.0.1"; sha256="0lyc8biwj9yir1i06klp2jkb31mnzwp226aw7pwabkprfhqgfmqd"; depends=[lme4 plyr Rcpp RcppArmadillo RcppProgress reshape2]; };
+  JADE = derive2 { name="JADE"; version="2.0-2"; sha256="0haqb8fsn1z532z42vjz60na7hlwv5rhayxzbd4rkzx2wcvnlbhn"; depends=[clue]; };
   JASPAR = derive2 { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
   JBTools = derive2 { name="JBTools"; version="0.7.2.9"; sha256="0bynqn3daqgmi3l9asy34mfwyfjkn35k465dfqqi3xwx6cbzlg5k"; depends=[colorspace foreach gplots plotrix]; };
-  JFE = derive2 { name="JFE"; version="2.1.1"; sha256="0bpxa62sa1zxgggnrd812pr9jbpbvnc67ckfpx5bk1psvwjdk191"; depends=[BurStFin fAssets fBasics fPortfolio iClick MASS quantmod rugarch tcltk2 timeDate timeSeries xts zoo]; };
+  JFE = derive2 { name="JFE"; version="2.1.3"; sha256="16fbwi9znvf560vlrpdipg69vw1kyg2081iz1l2adc2wyxp81dda"; depends=[BurStFin fAssets fBasics fPortfolio FRAPO iClick MASS quantmod rugarch tcltk2 timeDate timeSeries xts zoo]; };
   JGEE = derive2 { name="JGEE"; version="1.1"; sha256="078348n623hlyc3n9yh67vv5acsnxapmbwybvrb1i7kawmqw5msi"; depends=[gee MASS]; };
   JGL = derive2 { name="JGL"; version="2.3.1"; sha256="02p9z32f8j60wnh1szkjr2zfa9zwyw0gqinpsvll4dymf8cjawpw"; depends=[igraph]; };
   JGR = derive2 { name="JGR"; version="1.8-6"; sha256="0n3z4dm4q93did5b7hw802akhr6gyidshvlj2db4sghmf07czk2c"; depends=[JavaGD rJava]; };
   JM = derive2 { name="JM"; version="1.4-8"; sha256="1nq07hw30fqnag1h08b7crl2yfs85gyrn70aaw11bdbjv06r2x55"; depends=[MASS nlme survival]; };
   JMI = derive2 { name="JMI"; version="0.1.0"; sha256="05phkwfb9v4g9jixlvbj6br7sbi64zvrgjwfr0v87ijddkxc9si9"; depends=[Rcpp RcppArmadillo]; };
   JMbayes = derive2 { name="JMbayes"; version="0.8-83"; sha256="0x5839sqmy1za6ybmd54vhc1sg505k5y4qwk7hr1lv8sr85yxllh"; depends=[doParallel foreach Hmisc jagsUI MASS nlme Rcpp RcppArmadillo rstan shiny survival xtable]; };
-  JMcmprsk = derive2 { name="JMcmprsk"; version="0.9.4"; sha256="15gn9ydyd3bqmhgjsp1wia338b643pvrdqgrbanjawa3nqp70qlm"; depends=[MASS Rcpp statmod]; };
+  JMcmprsk = derive2 { name="JMcmprsk"; version="0.9.6"; sha256="0jip7kcpl3g5sywk93pmbdxidbq5gmnasrw1rlwvks74l34wrg15"; depends=[MASS Rcpp statmod]; };
   JMdesign = derive2 { name="JMdesign"; version="1.1"; sha256="0w5nzhp82g0k7j5704fif16sf95rpckd76jjz9fbd71pp2d80vlh"; depends=[]; };
   JOP = derive2 { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[dglm Rsolnp]; };
   JOUSBoost = derive2 { name="JOUSBoost"; version="2.1.0"; sha256="0f3rr7aw20nvmlpqrq3wzgmr55lqdqhk3wphpqq7msgvaf1zrcl7"; depends=[doParallel foreach Rcpp rpart]; };
   JPEN = derive2 { name="JPEN"; version="1.0"; sha256="12rvp5bmlkwyr1gg336k655hp09gym0d2wwry70c1rz30x1sf2zs"; depends=[mvtnorm]; };
-  JQL = derive2 { name="JQL"; version="2.3.3"; sha256="0cg0d1rkdsvldh8rdhz2qjgb2dijqzwk3k4p20s40nd3nm9w5hm5"; depends=[caret pdist]; };
+  JQL = derive2 { name="JQL"; version="3.6.9"; sha256="0d926hngv4r6zl5f6yai3jwhl9hql2hv6ja3yjgplglkns66g4lh"; depends=[caret pdist randomForest]; };
   JRF = derive2 { name="JRF"; version="0.1-4"; sha256="1xpvscn9iawwa0vfh3kfwzdni436bf42nvm18b8abh033ljvqpij"; depends=[]; };
   JSM = derive2 { name="JSM"; version="0.1.3"; sha256="1p5vlk2fcrb42pi7srkymjacfg05vlaspvhaw94lq1rhvxdw87yl"; depends=[nlme Rcpp RcppEigen statmod survival]; };
   JSmediation = derive2 { name="JSmediation"; version="0.1.0"; sha256="1qmjkachpvql0nrn7lf2n32w9zp12saha2y3zmdg086k1q12xifl"; depends=[broom data_table dplyr glue knitr magrittr MASS purrr rlang tibble]; };
-  JWileymisc = derive2 { name="JWileymisc"; version="0.3.1"; sha256="1683sq0fb8ms0kzfc46azkjfsk2khhq43y265k1g920s5pc7bn8q"; depends=[cowplot data_table devtools emmeans foreach ggplot2 ggthemes lavaan lme4 lmerTest MASS Matrix mgcv mice multcompView nlme psych quantreg rms robustbase VGAM zoo]; };
+  JWileymisc = derive2 { name="JWileymisc"; version="1.0.0"; sha256="1hk10mcbp0abm9zy7233by0220knw0axs6xiw4axr4jcabwrzlim"; depends=[cowplot data_table emmeans extraoperators ggplot2 ggthemes lavaan lme4 MASS Matrix mgcv mice multcompView nlme psych quantreg rms robustbase VGAM zoo]; };
   JacobiEigen = derive2 { name="JacobiEigen"; version="0.3-3"; sha256="1zcs9qhf2216c590hj6qc837rnciyfsirg4zg655vxn59fgzpvyb"; depends=[Rcpp]; };
   JamendoR = derive2 { name="JamendoR"; version="0.1.0"; sha256="1v5i4ggc4igp83pik32fqp07ff8iv7dp93b3qhxcsy1msa4l88lx"; depends=[dplyr httr jsonlite]; };
   JavaGD = derive2 { name="JavaGD"; version="0.6-1.1"; sha256="11knns2b1b8kd4nf8zwfzdhj4xqwkx3f1ba672vqi7jfr47938hh"; depends=[]; };
+  Jaya = derive2 { name="Jaya"; version="0.1.9"; sha256="0b23l7xp4waxjy1vkk09xaali5axr5900v9hkki4f75wh4gb1l53"; depends=[GA]; };
   Jdmbs = derive2 { name="Jdmbs"; version="1.3"; sha256="0jjnn1lrrakai34srp9ks8a563amd1rp9vd4ydnpmgfma5qlify0"; depends=[igraph png]; };
   Jmisc = derive2 { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
   JoSAE = derive2 { name="JoSAE"; version="0.3.0"; sha256="1vjxzbfs8a7kpmn2lb9dca67d4njmzjr3pl16s0r9ihmmxxwwili"; depends=[nlme]; };
   Johnson = derive2 { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; };
-  JointAI = derive2 { name="JointAI"; version="0.5.2"; sha256="1g0vrjb3qma90qfalh51zw4cnyjb6yw3zhrcyzh4nvivz6cpp12j"; depends=[coda doParallel foreach MASS mcmcse rjags rlang]; };
+  JointAI = derive2 { name="JointAI"; version="0.6.0"; sha256="13amg3s8hq73qfn6makmqhgdpmq6asqbwhgc0b0haj7iw9ck42ma"; depends=[coda doParallel foreach MASS mcmcse rjags rlang]; };
   JointModel = derive2 { name="JointModel"; version="1.0"; sha256="1zgs5c7saqyqxvxmhw5sxy5w67abq344aid6igw1da05bfy2az6h"; depends=[lme4 statmod survival]; };
   JointNets = derive2 { name="JointNets"; version="2.0.1"; sha256="18n9dsy0w0nh7dznp6gw6g5fhhjhf5y589nb49hri0721kq1h3rb"; depends=[brainR igraph JGL lpSolve MASS misc3d oro_nifti pcaPP rgl shiny]; };
   Julia = derive2 { name="Julia"; version="1.1"; sha256="0i1n150d89pkds7qyr0xycz6h07zikb2y07d5fcpaqs4446a8prg"; depends=[]; };
-  JuliaCall = derive2 { name="JuliaCall"; version="0.16.6"; sha256="17vwv2x8gzd92j1wrj36z05ljqz79pjpxsrjsbcf07mfcij0bkac"; depends=[knitr Rcpp]; };
+  JuliaCall = derive2 { name="JuliaCall"; version="0.17.1"; sha256="0v0mn3q9mp8xq6bpm870v9a228b20n22cph3s0ngphni07pi0kwr"; depends=[knitr Rcpp]; };
   JumpTest = derive2 { name="JumpTest"; version="1.1"; sha256="0y375m5477nq0ybnjmfnd8hi45d8jmdnprqvw5f70llpd7bcghh0"; depends=[MASS Rcpp RcppEigen]; };
   JuniperKernel = derive2 { name="JuniperKernel"; version="1.4.1.0"; sha256="1zghlfwh4wsjjp7ldp5y86ffyzc27ccl5j9lcwlp1di9slaqjign"; depends=[data_table gdtools jsonlite pbdZMQ Rcpp repr]; };
   KANT = derive2 { name="KANT"; version="2.0"; sha256="169j72pmdkcj6hv8qgmc02aps0ppvvl1vnr1hzrb1gsf7zj7bs3y"; depends=[affy Biobase]; };
-  KATforDCEMRI = derive2 { name="KATforDCEMRI"; version="1.0"; sha256="1dq45psg8sisxzbi1iv7n45lk1ibarl3f7xf7icd6kv1jkc2f8za"; depends=[locfit matlab R_matlab]; };
+  KATforDCEMRI = derive2 { name="KATforDCEMRI"; version="1.0.1"; sha256="1wcm0h9lwpiw4crf15h5pfv9fxzpmf3g4jkylgnn9a36305rpdl8"; depends=[locfit matlab R_matlab]; };
   KCSKNNShiny = derive2 { name="KCSKNNShiny"; version="0.1.0"; sha256="13gzqf3g7vj8cc0xm5902q7lad2way8d0ri1fs01dnv97wmwbxvn"; depends=[caret dplyr FNN rhandsontable shiny]; };
   KCSNBShiny = derive2 { name="KCSNBShiny"; version="0.1.0"; sha256="1lv5r9qyvr3dnvcs00jyam0whv64qmv5vphhijlar1xa1g1llwqr"; depends=[caret dplyr e1071 rhandsontable shiny]; };
   KDViz = derive2 { name="KDViz"; version="1.3.1"; sha256="1if4lkq9kvncqw56j7m9kh4piph091zkivvnhxzxj72zq661q5br"; depends=[htmlwidgets igraph mpa networkD3 rvest stringr tm xml2]; };
@@ -1999,23 +2068,26 @@ in with self; {
   KNNShiny = derive2 { name="KNNShiny"; version="0.1.0"; sha256="16zm8bhdivaap3mvhdx2qn1b1j2iqyarclb0y2qd1n4viwcfm9c1"; depends=[caret dplyr e1071 FNN psycho rhandsontable rmarkdown shiny]; };
   KODAMA = derive2 { name="KODAMA"; version="1.5"; sha256="1pb7qba7dp25x4znhvihc21z5jk6bgk6sg0v24gbvqhv5irm7kwf"; depends=[Rcpp RcppArmadillo]; };
   KOGMWU = derive2 { name="KOGMWU"; version="1.2"; sha256="1vz0099gp1r10n7w4p480l8rswdw100sns196d9xin2ibmmd2fx9"; depends=[pheatmap]; };
-  KONPsurv = derive2 { name="KONPsurv"; version="1.0.1"; sha256="0ycdzd88hy5n59p160fwpfhkq74p4j56cdahjr3c969sjml50zpi"; depends=[Rcpp survival]; };
+  KONPsurv = derive2 { name="KONPsurv"; version="1.0.2"; sha256="0ylydb4qxf7apklgn8a2sjid92gfbswpn2fyhjjh9f972bg1vdmi"; depends=[Rcpp survival]; };
   KRIG = derive2 { name="KRIG"; version="0.1.0"; sha256="1hpmjzzrh5b042xh14dgxvn5x5ini63vq5jz1i6rjgvsdf734f98"; depends=[Rcpp RcppArmadillo Rdpack]; };
   KRIS = derive2 { name="KRIS"; version="1.1.1"; sha256="0v2xgdwd8lp399il6grjkysq2gj38fmjlxlvg5ciq3g3cp7cdy3m"; depends=[rARPACK]; };
   KRLS = derive2 { name="KRLS"; version="1.0-0"; sha256="1zyf3smfzfm3n43i35rlj1w6vcip2hxkvk4f8lp77xbsry0gmwjw"; depends=[]; };
   KRMM = derive2 { name="KRMM"; version="1.0"; sha256="0wxzhrrc4lx20nxjny7rcfw3bya7drn88zbrlzx9f531298xwbrk"; depends=[cvTools kernlab MASS robustbase]; };
   KSD = derive2 { name="KSD"; version="1.0.0"; sha256="0wqmbr51yv7f87pnhph2nrj9y2d5jql2agizcaq6lax23lj6xfb7"; depends=[pryr]; };
   KSEAapp = derive2 { name="KSEAapp"; version="0.99.0"; sha256="1gfgpa2d32y6bzvf4ww70sm7niq34sqmyrhi0phlqxshqq9xviqc"; depends=[gplots]; };
-  KSPM = derive2 { name="KSPM"; version="0.1.2"; sha256="1vgd7m0p65asj1v5b77zh6rv9vfbmxdc274mdya002nm9n8xn3gz"; depends=[CompQuadForm DEoptim expm]; };
+  KSPM = derive2 { name="KSPM"; version="0.2.0"; sha256="0gysb4qb60xfixyj4slcxs2j1bn57vbq6j08i5ldfr9vfaf1pk0n"; depends=[CompQuadForm DEoptim expm]; };
   KScorrect = derive2 { name="KScorrect"; version="1.4.0"; sha256="1khvwc610yp3fd4fn0wcgqpzxg9g7sicjjmwvfcahs8qxn3m5vfa"; depends=[doParallel foreach iterators MASS mclust]; };
   KSgeneral = derive2 { name="KSgeneral"; version="0.1.1"; sha256="1ldk3fvwbr6hw7x3ydgzixgc41a0fbbic699zjlnpj5x4mjg1qby"; depends=[dgof MASS Rcpp]; };
+  KTensorGraphs = derive2 { name="KTensorGraphs"; version="0.2"; sha256="1851cqsn8ghp29hjp3806hl66lqjnz3d69qkmpcmk5nky426ypdr"; depends=[]; };
   KappaGUI = derive2 { name="KappaGUI"; version="2.0.2"; sha256="0vklny804xpd9r60j4a01j2gak8jizwjw0abf7yvbcalv3zbpb3k"; depends=[irr shiny]; };
   KappaV = derive2 { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[maptools PresenceAbsence rgeos sp]; };
   KarsTS = derive2 { name="KarsTS"; version="2.2"; sha256="0ay9qi3wws0vi7lygkljaz6xhskc0mzl6r8wsaia2f5f399ya1hp"; depends=[BaylorEdPsych circular forecast infotheo mgcv missForest MVN nonlinearTseries plot3D rgl stinepack stlplus tcltk2 tkrplot tseries tseriesChaos zoo]; };
+  KbMvtSkew = derive2 { name="KbMvtSkew"; version="1.0.1"; sha256="0bbnsalyk6r5pzfpz7cniyck4ganm6jka6vijcrals5sxpg70w7x"; depends=[]; };
   KenSyn = derive2 { name="KenSyn"; version="0.3"; sha256="0s8sq3caxn4swac81196dp52r9lbmxb3ni45yaxh53f5g34slsi8"; depends=[lme4 metafor nlme]; };
   Kendall = derive2 { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
-  KernSmooth = derive2 { name="KernSmooth"; version="2.23-15"; sha256="1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb"; depends=[]; };
-  KernelKnn = derive2 { name="KernelKnn"; version="1.0.9"; sha256="1y9s3y9r51rq8nz33glf767wjjclmj988rxw9r7rc9bw01dxkd7f"; depends=[Rcpp RcppArmadillo]; };
+  KernSmooth = derive2 { name="KernSmooth"; version="2.23-16"; sha256="1acrkbdn3a74y4dndkcdl1njnpfqz7gk3bsz03g8lfj8l7z53hmq"; depends=[]; };
+  KernSmoothIRT = derive2 { name="KernSmoothIRT"; version="6.2"; sha256="1dm3j779y630hxdlxycwha563i3n9viil2ksq49s7m65bnwhj33k"; depends=[plotrix Rcpp rgl]; };
+  KernelKnn = derive2 { name="KernelKnn"; version="1.1.0"; sha256="1w8k4b2q5bh0kx72ixrdb43aificl991j1akh00xn1zx3gbrjb0p"; depends=[Rcpp RcppArmadillo]; };
   Kernelheaping = derive2 { name="Kernelheaping"; version="2.2.1"; sha256="1mc3jzgmg8gyxs6kk474yz911abqzigxwjwjrmhipc40rrdmmr2z"; depends=[fastmatch ks magrittr MASS mvtnorm plyr sp sparr]; };
   KnapsackSampling = derive2 { name="KnapsackSampling"; version="0.1.0"; sha256="17yzmd11k1n5iy54vbcvpzvkm8ypbl6n1kfi931wwrrcq9y7hg22"; depends=[lpSolve]; };
   Knoema = derive2 { name="Knoema"; version="0.1.16"; sha256="0v6w8rrw8nd4l1by5w9xd4hbxp55cma89kljha47ykvmnflsrjsc"; depends=[base64enc digest httr jsonlite lubridate xts zoo]; };
@@ -2026,13 +2098,14 @@ in with self; {
   Kpart = derive2 { name="Kpart"; version="1.2.2"; sha256="02df0pr8a0gm8558gbw9svxf5sybmg27grymy71ar9hjnhw5xlf2"; depends=[leaps]; };
   KraljicMatrix = derive2 { name="KraljicMatrix"; version="0.2.1"; sha256="0yzilmiiyzd2x3v0cnjphf0wdwiblh37kgrvmfrdy49qly48pvi2"; depends=[dplyr ggplot2 magrittr tibble]; };
   KrigInv = derive2 { name="KrigInv"; version="1.4.1"; sha256="0x12xff7lgr1v2243shfz9a8r02qs56p7i0b8j2s6bmrzj1abrwb"; depends=[anMC DiceKriging mvtnorm pbivnorm randtoolbox rgenoud]; };
-  L0Learn = derive2 { name="L0Learn"; version="1.1.0"; sha256="1lz919d096s98c5lddyqnf8k8q5008a9p38i4nw2227ygi0gz8gk"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2]; };
+  L0Learn = derive2 { name="L0Learn"; version="1.2.0"; sha256="17k006nxn9n66nh6nrnhv24p150s7icbhzsaimjidj7hx2c24lms"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2]; };
   L1pack = derive2 { name="L1pack"; version="0.38.19"; sha256="09n1045lsx1ap47mhzcqghmwwhj24kvpjjr3ysprj058jp5g7ri0"; depends=[]; };
   LAGOSNE = derive2 { name="LAGOSNE"; version="2.0.1"; sha256="1lay0zb24k5ms4nfr62pgpriy7nfafnkdjjrd7xxznsi7dqrav0y"; depends=[curl dplyr lazyeval magrittr memoise progress purrr rappdirs rlang sf stringr tibble tidyr]; };
   LAM = derive2 { name="LAM"; version="0.4-17"; sha256="1isvhmrrpaamahwkxxsgyq6gbzcvfsk2s4ccjavnab4p79j0x782"; depends=[CDM Rcpp RcppArmadillo sirt]; };
   LANDD = derive2 { name="LANDD"; version="1.1.0"; sha256="13szkww9nw8zywfrqd8mwgj9csgragm0bx8ia52rcpakpc3hv3hx"; depends=[BH doParallel fdrtool foreach GGally ggplot2 GOSemSim GOstats igraph intergraph Matrix modeest mvtnorm pROC Rcpp]; };
   LARF = derive2 { name="LARF"; version="1.4"; sha256="1sqib7smgjacn07ishwls1nlbvcb6fpp1vhrjwf9g4xf9jk30i8h"; depends=[Formula]; };
-  LBSPR = derive2 { name="LBSPR"; version="0.1.3"; sha256="0wbqr3zxyfrjr0fdvx39hsxs841flaqhq6h8ynkdy2qnxx1spq7q"; depends=[dplyr ggplot2 gridExtra plotrix RColorBrewer Rcpp shiny tidyr]; };
+  LBLGXE = derive2 { name="LBLGXE"; version="1.4"; sha256="0a5rhijkp9xmwxlc0sx2fj6nikdwgjh2rw9pqavq8bnvvxq6ykwa"; depends=[dummies hapassoc]; };
+  LBSPR = derive2 { name="LBSPR"; version="0.1.4"; sha256="0kjf7pydvzvlvxp4lm5m1kmhgkc4ykj7n4iml22calkhgynm5din"; depends=[dplyr ggplot2 gridExtra plotrix RColorBrewer Rcpp shiny tidyr]; };
   LCA = derive2 { name="LCA"; version="0.1.1"; sha256="014kih33y8b9nls0pcigw68jbz7vgnq8w1xbwm2d37g1m5y6xlyw"; depends=[]; };
   LCAextend = derive2 { name="LCAextend"; version="1.3"; sha256="1l75y3vkbsmsm3pjd5pwy0hlv6gz5ryxs4pkx9aiyhxz2y9wnhpb"; depends=[boot kinship2 mvtnorm rms]; };
   LCAvarsel = derive2 { name="LCAvarsel"; version="1.1"; sha256="0aqc9rbrc8n6s9xllmamby219qsnxd4ajvffjr21qlkhkaklirb1"; depends=[doParallel foreach GA MASS memoise nnet poLCA]; };
@@ -2047,16 +2120,17 @@ in with self; {
   LDRTools = derive2 { name="LDRTools"; version="0.2-1"; sha256="05srfyplsypi3whfa71lx7pnad23irpf0p7rxmrpv28jgdmrz6wf"; depends=[]; };
   LDcorSV = derive2 { name="LDcorSV"; version="1.3.2"; sha256="0lvk3xz400yd3w0cjdfi6hir1ym1mffd504vycwgck5fkzljpcvx"; depends=[]; };
   LDheatmap = derive2 { name="LDheatmap"; version="0.99-7"; sha256="1r0j8bihi5z1x0sgaf7dwzpsw9i0nc1vylvipvc0cia2ka1lr9dc"; depends=[genetics Rcpp snpStats]; };
-  LDlinkR = derive2 { name="LDlinkR"; version="1.0.0"; sha256="1ihwx67k83jn9fdhdkh991qypd84jrqygpiz8g9gnzhi2lzg8y5m"; depends=[httr]; };
+  LDlinkR = derive2 { name="LDlinkR"; version="1.0.1"; sha256="1k7g7z78fs2pjx436x9z0ikldk0ma9yl503xbx5xwpmw9q6c769k"; depends=[httr]; };
   LDtests = derive2 { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
   LEANR = derive2 { name="LEANR"; version="1.4.9"; sha256="053xy13ys5hibafdnbkwqdk36hw7dhanp4frfacpfpn5f9nfh95r"; depends=[foreach igraph]; };
   LEAP = derive2 { name="LEAP"; version="0.2"; sha256="1yrhanxvr7krvllqzv17qkc4wvmd7mgl57am8sn53773dbfipfc4"; depends=[]; };
   LEAPFrOG = derive2 { name="LEAPFrOG"; version="1.0.7"; sha256="0z9ahkk4qzc45h1r806frv9cd84vvshvn5mr84gx7qdxljfkfq6h"; depends=[alabama MASS]; };
-  LEGIT = derive2 { name="LEGIT"; version="1.3"; sha256="053ibvayfb9h54a3fcwbfciyx7nzy7sjr551bwv0wfchna8hcnmd"; depends=[boot doSNOW foreach formula_tools glmnet Hmisc iterators pROC RColorBrewer snow]; };
-  LFDR_MLE = derive2 { name="LFDR.MLE"; version="1.0"; sha256="11vy6gg2x98s1y8a5ns9vcd61gw8ax1lhn4lvicdjbd1lg18nm83"; depends=[]; };
+  LEGIT = derive2 { name="LEGIT"; version="1.3.1"; sha256="19wkqj7wj8lpni2i2bbfa8l77xb0wbb121fb82srsi6hn76i392g"; depends=[boot doSNOW foreach formula_tools glmnet Hmisc iterators pROC RColorBrewer snow]; };
+  LFDR_MLE = derive2 { name="LFDR.MLE"; version="1.0.1"; sha256="0ykcd24w71zxb53nch041g7xh83gmg1ia3sysdpn0yzkhm0w7cdl"; depends=[]; };
   LFDREmpiricalBayes = derive2 { name="LFDREmpiricalBayes"; version="1.0"; sha256="1imw3djmbpdyplv9dmdzzirp9imk88j0kcxcyfh8yr9ywgd77x6b"; depends=[matrixStats R6]; };
   LGEWIS = derive2 { name="LGEWIS"; version="1.1"; sha256="1i52vp0ghjzmyh4r8h6jpyij7x4skw99xvw017b56m8fg64zy70r"; depends=[CompQuadForm geeM mvtnorm SKAT]; };
   LGRF = derive2 { name="LGRF"; version="1.0"; sha256="1kdx6y55aa9n6v43zfz6jk8amvvxbx79sqm1jx4ihgkpgcdglan7"; depends=[CompQuadForm geepack SKAT]; };
+  LHD = derive2 { name="LHD"; version="0.1.2"; sha256="13g90v9mz1lx8fcwkyy1mg722zsairsay2mr77x0m4drg99ikq6r"; depends=[]; };
   LICORS = derive2 { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[fields FNN locfit Matrix mvtnorm RColorBrewer zoo]; };
   LIHNPSD = derive2 { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[BB Bolstad2 moments optimx Rmpfr sn]; };
   LIM = derive2 { name="LIM"; version="1.4.6"; sha256="03x1gnm06bw1wrzc01110bjzd2mvjdzbc2mbrazh22jrmb32w5d8"; depends=[diagram limSolve]; };
@@ -2072,16 +2146,19 @@ in with self; {
   LOGAN = derive2 { name="LOGAN"; version="1.0.0"; sha256="00y8kcykw01gv2g20vmpwkc3qqyafwbiw5pa731xlfnh1b8sn0hi"; depends=[dplyr foreign ggplot2 magrittr modules pander psych rlang stringr]; };
   LOGICOIL = derive2 { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
   LOST = derive2 { name="LOST"; version="1.3"; sha256="01ymnczsnfml04hb6hbi041khkz2aki78qr3hriw7n3bzs5i7xim"; depends=[e1071 gdata MASS miscTools pcaMethods rgl shapes]; };
-  LPCM = derive2 { name="LPCM"; version="0.46-2"; sha256="07641mds2w8l4idj6fims7d2vabbbxjfmvmylychj1x0nrh83vgb"; depends=[]; };
+  LPBkg = derive2 { name="LPBkg"; version="1.2"; sha256="1pgv6cb7m2j7qnrzybnv6x67a3ry8kpvisqj86rvxzclc9q56fdn"; depends=[Hmisc orthopolynom polynom]; };
+  LPCM = derive2 { name="LPCM"; version="0.46-3"; sha256="1bm5y95lzwcv8arlh55sy17m6hz1x48bcjkrwf3x34ax90qimf66"; depends=[]; };
   LPGraph = derive2 { name="LPGraph"; version="2.0"; sha256="1d3czxihaz3f09bfb34knqb6prhcx50kh8y4qrhhakic999z6ifw"; depends=[car PMA SDMTools]; };
   LPKsample = derive2 { name="LPKsample"; version="2.0"; sha256="1jg99025vk42rnjdymh3nj71npn4pmdsmk6rvnx3lykpi72f85dz"; depends=[apcluster igraph mclust]; };
   LPM = derive2 { name="LPM"; version="2.7"; sha256="1anjgflj1272xrghn3s9a21f2dfggppnzjqh3p8zaid91bzg0g34"; depends=[fracdiff MASS QRM]; };
+  LPRelevance = derive2 { name="LPRelevance"; version="2.1"; sha256="0hcg8yl6l8r0aybprrn0zi8mkwp2wldbh53w9dagfrpnz5la05qa"; depends=[BayesGOF Bolstad2 ggplot2 leaps locfdr polynom reshape2]; };
   LPS = derive2 { name="LPS"; version="1.0.10"; sha256="0gf3jmhfki01z8fm5xdx59gxvhgzqd10x2iwa8369iz9dvwbjk8j"; depends=[]; };
   LPStimeSeries = derive2 { name="LPStimeSeries"; version="1.0-5"; sha256="0jmcy8076w4bzfnxaq2m3s60c1wdmywkwzfyrc19wdm8idf666wh"; depends=[RColorBrewer]; };
   LPTime = derive2 { name="LPTime"; version="1.0-2"; sha256="08lb6884kj9pg12mzx67fdnqb86x5s6yzb72hh3nrz50awj1f8nn"; depends=[orthopolynom]; };
   LPWC = derive2 { name="LPWC"; version="0.99.5"; sha256="13iv2v8lkyz9rpjzz2pr6b5g6nh79j8vd5hpx03vjyx08ii0dnq6"; depends=[]; };
   LPmerge = derive2 { name="LPmerge"; version="1.7"; sha256="1wf7hfj670pnzzxyqm3vwrbrvxdbyprh42s5vpv4y54a0w4nr83g"; depends=[Matrix Rglpk]; };
   LPower = derive2 { name="LPower"; version="0.1.0"; sha256="0g9y5s4k3l4zw97qh6c9jj6ysl39y4fprvqw1ybykirvgflisi8x"; depends=[MASS nlme]; };
+  LRQMM = derive2 { name="LRQMM"; version="1.1.11"; sha256="109zn1a1a9jyi88h4yqfn6yvw93xn6vdsx99bmxmz2vv8rz0j7k1"; depends=[GeneticsPed MASS MasterBayes Matrix MCMCglmm quantreg SparseM]; };
   LRTH = derive2 { name="LRTH"; version="1.3"; sha256="08vakwb7ca7956gifynzijka441yyx0wd5bq5jfhz56lzcxgfb99"; depends=[]; };
   LRcontrast = derive2 { name="LRcontrast"; version="1.0"; sha256="0fs06p853r42nws2camvs87py39hb1ssxhfm6d5n9kkq81snfx4q"; depends=[DoseFinding]; };
   LS2W = derive2 { name="LS2W"; version="1.3.4"; sha256="1h4vvl1gfxkdjmy6syl0gf4fv03xxxw82cxwvy10b40sf20lwmnv"; depends=[MASS wavethresh]; };
@@ -2098,7 +2175,7 @@ in with self; {
   LTPDvar = derive2 { name="LTPDvar"; version="1.2"; sha256="0r9v5g5y9n85jdcvm7zpapm73ism48m3mmybpcmgcs028h2ndv7v"; depends=[]; };
   LTR = derive2 { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
   LTRCtrees = derive2 { name="LTRCtrees"; version="1.1.0"; sha256="07mvbk3hwl240r46ahha0a4fzq96awk963zl8dhky51b6abp83gz"; depends=[icenReg inum partykit rpart survival]; };
-  LUCIDus = derive2 { name="LUCIDus"; version="0.9.0"; sha256="08z7ikvql40zwnh2sxn9fkzyjyn7gvq2pljff6iyqwvah01fd5ih"; depends=[doParallel foreach glasso glmnet lbfgs Matrix mvtnorm networkD3 nnet]; };
+  LUCIDus = derive2 { name="LUCIDus"; version="1.0.0"; sha256="1gkbfb7gnlk19iy7wnls80h3mqa0y13fld1l5ivhskr7sjlla2q0"; depends=[boot doParallel foreach glasso glmnet lbfgs Matrix mvtnorm networkD3 nnet]; };
   LVGP = derive2 { name="LVGP"; version="2.1.5"; sha256="03sd777s16nv04ikn9b3rj67ad6n4bwi0rycc7wqdnq0dx6xgniy"; depends=[lhs randtoolbox]; };
   LW1949 = derive2 { name="LW1949"; version="1.1.0"; sha256="147ymp7j98ihp1dcz3p5v9ar6h767phjdnga5q5vf1wwa2mxawg7"; depends=[MASS mgcv plotrix]; };
   LZeroSpikeInference = derive2 { name="LZeroSpikeInference"; version="1.0.3"; sha256="15x29afaq13iwlj66h97k3kczg9rfgp6i9d76rji58hfgh8i8by6"; depends=[]; };
@@ -2118,11 +2195,11 @@ in with self; {
   LassoSIR = derive2 { name="LassoSIR"; version="0.1.1"; sha256="0ap8335ms12nsc7jvd48244zya54w05wj91qkhb0i63730r508c3"; depends=[glmnet]; };
   Laterality = derive2 { name="Laterality"; version="0.9.3"; sha256="0pl5bfbkzhgxjjzzh99s6rh4jsq0pbcgc902i0z2lmmivgs5qmd6"; depends=[ade4]; };
   LatticeDesign = derive2 { name="LatticeDesign"; version="1.0-1"; sha256="1wlchqa7914401r0mzca4fffps99nfbj0jym1jxkclnjivdgcn24"; depends=[]; };
-  LatticeKrig = derive2 { name="LatticeKrig"; version="7.0"; sha256="04waq7dpp86rpa8qgrjbpl72k6vhkd300vxfc1xxy5z7k36pinqh"; depends=[fields spam]; };
+  LatticeKrig = derive2 { name="LatticeKrig"; version="8.4"; sha256="153yaf0k4l5za8f13yh2mzjv66bnmi5kp6zaxq9vrisld4vdp58h"; depends=[fields spam]; };
   Lavash = derive2 { name="Lavash"; version="1.0"; sha256="0cjl8crk0rdkyzp069fk4k0sapcjmqm3q40z5mgl0i1n59kn4s07"; depends=[glmnet MASS pracma]; };
   LeArEst = derive2 { name="LeArEst"; version="1.0.0"; sha256="0kga9n0ia2zljyw4xa9n572zmxpwql8xd3ys4p9jp02h432pfkpp"; depends=[conicfit doParallel foreach jpeg opencpu]; };
   LeLogicielR = derive2 { name="LeLogicielR"; version="1.2.1"; sha256="0jd280ial4wfj5j6sbxgl2cbxabycsgmh2zsad7v7hcwbhhdd09i"; depends=[gdata IndependenceTests RColorBrewer xtable]; };
-  LeMaRns = derive2 { name="LeMaRns"; version="0.1.0"; sha256="1spbzgkda3qhls6m9bj24vdhc6xg7x55ip4a6lq1ql8zcy2wggfs"; depends=[abind Rcpp RcppArmadillo]; };
+  LeMaRns = derive2 { name="LeMaRns"; version="0.1.1"; sha256="0ih6653nncijsy9wk0sqvk7im9msxz9qcc3abj539kgs1lhdgvg7"; depends=[abind Rcpp RcppArmadillo]; };
   LeafArea = derive2 { name="LeafArea"; version="0.1.8"; sha256="0a464bcanq6jfm5j6692h61pipy28vm7m89y5i0hrhz7lzpy9x5z"; depends=[]; };
   LearnBayes = derive2 { name="LearnBayes"; version="2.15.1"; sha256="0ch54v2zz2yyyk0lvn5rfikdmyz1qh9j1wk3585wl8v58mc0h4cv"; depends=[]; };
   LearnGeom = derive2 { name="LearnGeom"; version="1.4"; sha256="0qalhy4g47ik8cq2m1zajhv79rla8g72dmcwhnizwn6afhm6fnpm"; depends=[]; };
@@ -2136,7 +2213,7 @@ in with self; {
   LifeHist = derive2 { name="LifeHist"; version="1.0-1"; sha256="0q6l6rva5kxl8yzqa7ni4sdj6p4c61sdsjx8zhckzxb7xlwg2hh0"; depends=[BB Hmisc optimx]; };
   LifeTables = derive2 { name="LifeTables"; version="1.0"; sha256="1dyivvi5cjsnbhncj3arkrndadg7v81nzdf6p6mpgqwqvwn5li8x"; depends=[mclust]; };
   LightningR = derive2 { name="LightningR"; version="1.0.2"; sha256="1va673aw2hgir8ybbjad6dhbs8izs1z4jcikwa7qp3mkv0zqd0vq"; depends=[httr R6 RCurl RJSONIO]; };
-  LilRhino = derive2 { name="LilRhino"; version="1.1.0"; sha256="0pfahvn1wl310w897qhv3ynlfx5mgp237al47piqkdqmxmgma7dz"; depends=[beepr data_table dplyr e1071 fastmatch FNN forcats ggplot2 keras readr SnowballC textclean tidyr tm]; };
+  LilRhino = derive2 { name="LilRhino"; version="1.2.0"; sha256="1d1mg77k67b5ddlp41haygagash48b6jy30q20lb231lbiss9ncp"; depends=[beepr data_table dplyr e1071 fastmatch FNN ggplot2 keras neuralnet readr SnowballC stringi textclean tm]; };
   LinCal = derive2 { name="LinCal"; version="1.0"; sha256="1xr9jnna20hh78dh9wjg70jm8fhaxvdwql894kdp0y5h4pchkdph"; depends=[]; };
   LinRegInteractive = derive2 { name="LinRegInteractive"; version="0.3-1"; sha256="0w7s3i6i2wnydh88l8lnzrh6w5zqkcwvms91iizis0mwd9af2jdl"; depends=[rpanel xtable]; };
   LindenmayeR = derive2 { name="LindenmayeR"; version="0.1.13"; sha256="01wnvmxdb91ai21h3plgsmy6ds7564s5wq2xyr905ma4a2d8afn5"; depends=[stringr]; };
@@ -2146,39 +2223,43 @@ in with self; {
   LinkageMapView = derive2 { name="LinkageMapView"; version="2.1.2"; sha256="101g4djzkxgxbn87an2vz4s9nwn8gwz7a3p3wg0y4zpdd1pdp716"; depends=[plotrix qtl RColorBrewer]; };
   LinkedGASP = derive2 { name="LinkedGASP"; version="1.0"; sha256="1win1yd8y677rmic531dyd29f49p7pr1r3kbjysvv9syi5nkydyj"; depends=[nloptr spBayes]; };
   LinkedMatrix = derive2 { name="LinkedMatrix"; version="1.3.1"; sha256="01rsgk2v1r1jhpkvvhgqqa5lf6qncxy56f7jwfgxfig3dvgjf96r"; depends=[crochet]; };
+  LipidMS = derive2 { name="LipidMS"; version="1.1.0"; sha256="193s5pc2dh848hvwwr1jw79yw90l7b9ic396s4jm36187y9nlw7n"; depends=[CHNOSZ enviPick LipidMSdata purrr]; };
+  LipidMSdata = derive2 { name="LipidMSdata"; version="1.0.0"; sha256="110wvbk59knhsnbv665ji7v0kp4vjn0937k5fg2d724ksy44gxic"; depends=[]; };
   Lmoments = derive2 { name="Lmoments"; version="1.3-1"; sha256="0pc63bj9a8hzr5m3yssrc4kin39fffwkl8rggs3sagzr12d4i7bw"; depends=[Rcpp RcppArmadillo]; };
   LncFinder = derive2 { name="LncFinder"; version="1.1.3"; sha256="15zsll766n97q5rf3xvc3m5s7faxiybayxjzyfhsh7q9x12qnnd7"; depends=[caret e1071 seqinr]; };
   LncMod = derive2 { name="LncMod"; version="1.1"; sha256="08001y7s93i3k3478jqfh9zsgpq6ym1xmdmldi7s76zbfr1nknvy"; depends=[pheatmap survival]; };
   LncPath = derive2 { name="LncPath"; version="1.1"; sha256="1cpsy681yq96867nr9g75xb0dilb016shqlhxpdn5xyiakrgjl4v"; depends=[igraph]; };
   LocFDRPois = derive2 { name="LocFDRPois"; version="1.0.0"; sha256="0zzdp9wgwr6wn3grimghpj4vq34x37c8bqg8acfzlzih8frqal3r"; depends=[dplyr ggplot2]; };
   LocalControl = derive2 { name="LocalControl"; version="1.1.2"; sha256="0r1qjzwmnh4qgxi5lfpg7v0ksjvcqbn8c23y2cyvb58srmxv7plb"; depends=[cluster gss lattice Rcpp]; };
-  LocalControlStrategy = derive2 { name="LocalControlStrategy"; version="1.3.2"; sha256="0cs2dz1p6kpc9ghihnkzjknxwd904c376ryyabkf6lkqzc2p91sq"; depends=[cluster lattice]; };
+  LocalControlStrategy = derive2 { name="LocalControlStrategy"; version="1.3.3"; sha256="05vggk5d0w3f9w5217c9hzy5jhwv24p2g8pcj0l6zxkhic01nbrl"; depends=[cluster lattice]; };
   Lock5Data = derive2 { name="Lock5Data"; version="2.8"; sha256="17awskq78h23z2dy96d7hziljhnkx5phpd48q7cppxidyvzfywim"; depends=[]; };
   Lock5withR = derive2 { name="Lock5withR"; version="1.2.2"; sha256="10x3i11pb4cig4pgfmw9984na5zjbg7d41y6crakiimf53ihx0c2"; depends=[]; };
   LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.6-3"; sha256="0gplkprvldw2dq43kvij215lv9x9xdnp47smn8m1r93nk4pxy5mr"; depends=[MASS mclust mvtnorm tkrplot]; };
-  LogicReg = derive2 { name="LogicReg"; version="1.5.12"; sha256="074kyqkgnn04z5r3kq25cjbrr9rvkymmsjmy5fwjdkwvaww6dsys"; depends=[survival]; };
+  LogicReg = derive2 { name="LogicReg"; version="1.6.1"; sha256="1aq9zr2n62p4diycfm910m6ffmd23qn8gjs0zva1brd3gbbi6zx0"; depends=[survival]; };
   LogisticDx = derive2 { name="LogisticDx"; version="0.2"; sha256="0ciygvynnyajpn1glxy6mwj9vbl7iv8a8dfsi6wxjxp2rac68rig"; depends=[aod data_table pROC RColorBrewer rms speedglm statmod]; };
   LogitNet = derive2 { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
   LogrankA = derive2 { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
+  LogrankPower = derive2 { name="LogrankPower"; version="1.0.0"; sha256="04vynymfv01q423dd9i1li92rl3lp1af3rzn3z4mamkn51mi6my0"; depends=[survival survminer]; };
+  LongCART = derive2 { name="LongCART"; version="1.0"; sha256="03fh4glvk48lhmx2lp3vcy9k6jnfnzn73dpljq73fl8zlbr8vv61"; depends=[Formula nlme rpart]; };
   LongMemoryTS = derive2 { name="LongMemoryTS"; version="0.1.0"; sha256="0n378sad8i283vs7q63spdhwpwjly2d5zj15d4v2085j7sc7z8vi"; depends=[fracdiff longmemo mvtnorm partitions Rcpp RcppArmadillo]; };
   LoopAnalyst = derive2 { name="LoopAnalyst"; version="1.2-6"; sha256="1gy9v6qiwkwbwp4snif2imf6zn50ffjrig54ln57c5v5pk3phnvv"; depends=[nlme]; };
   LotkasLaw = derive2 { name="LotkasLaw"; version="0.0.1.0"; sha256="11kq52yavicimp7ll7ljrs69a5fxf68ydb9md7v6b02iw5mwbmz7"; depends=[]; };
   LowRankQP = derive2 { name="LowRankQP"; version="1.0.3"; sha256="1a46rk0fhpnrlfzmydy7zjswrm6hf056qxgf5p10naq6025whf8x"; depends=[]; };
   LowWAFOMNX = derive2 { name="LowWAFOMNX"; version="1.1.1"; sha256="0f75qsv6pisgvk39yagzfxscnyfsgh63rmhp4gpybpl0pqmjp48x"; depends=[Rcpp RSQLite]; };
   LowWAFOMSobol = derive2 { name="LowWAFOMSobol"; version="1.1.1"; sha256="1ym3i2m1am356di9lcp5nfmxq0np3c4bwsv6bbmf7hg02j7dhwi4"; depends=[Rcpp RSQLite]; };
-  Luminescence = derive2 { name="Luminescence"; version="0.9.3"; sha256="06rhqzli17j4lv87aiqwf43m14gy5c45jh9wzkn4kzqwwh1mzb5a"; depends=[bbmle data_table DEoptim httr magrittr matrixStats minpack_lm plotrix raster Rcpp RcppArmadillo readxl shape XML zoo]; };
-  M2SMF = derive2 { name="M2SMF"; version="1.0"; sha256="0hf5ckpridi70yv15h0771q1grhqr9c592r87hgba7yh55dqqcq1"; depends=[dplyr MASS]; };
+  Luminescence = derive2 { name="Luminescence"; version="0.9.5"; sha256="1ly9xlm3v552264sf44xsymv3r1v5znl3rsv5zak5zgdva0hjdjk"; depends=[bbmle data_table DEoptim httr magrittr matrixStats minpack_lm plotrix raster Rcpp RcppArmadillo readxl shape XML zoo]; };
+  M2SMF = derive2 { name="M2SMF"; version="2.0"; sha256="160qjrb3mxybvr4z6zra6rzf6scyrb9mplw36gqlfxj418ndnmm1"; depends=[dplyr MASS]; };
   M3 = derive2 { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[mapdata maps ncdf4 rgdal]; };
   MADPop = derive2 { name="MADPop"; version="1.1.2"; sha256="0hwnkjrc3w9x3gha0y70fidfc587b6gfdhzwzdzrfvxrhsdy05yd"; depends=[BH Rcpp RcppEigen rstan StanHeaders]; };
   MAGNAMWAR = derive2 { name="MAGNAMWAR"; version="2.0.4"; sha256="1asr18byrgy6bkpxpmnkczgr3dam6ymf30lw6izq112krc891bg4"; depends=[ape coxme doParallel dplyr foreach iterators lme4 multcomp plyr qqman seqinr survival]; };
-  MAINT_Data = derive2 { name="MAINT.Data"; version="2.2.0"; sha256="0kzix0kb3md2mamxs8z3jfk63f0b7pbh3r39sm4jcmn1mzil2b65"; depends=[ggplot2 MASS mclust miscTools pcaPP Rcpp RcppEigen robustbase rrcov sn]; };
+  MAINT_Data = derive2 { name="MAINT.Data"; version="2.3.0"; sha256="1c24z5f9j4x7yf64877wgmc68lqilanhcv1h48j6jg22gr5cxamj"; depends=[GGally ggplot2 MASS mclust miscTools pcaPP Rcpp RcppEigen robustbase rrcov sn]; };
   MALDIquant = derive2 { name="MALDIquant"; version="1.19.3"; sha256="0b7kdz3x4sdq413h1q09l1qhcvdnnwv6fqsqwllks1cd3xy34c57"; depends=[]; };
   MALDIquantForeign = derive2 { name="MALDIquantForeign"; version="0.12"; sha256="1r37x1hnhq246dazc76d17jfjc57khxayswbzvc4md39z8dnbihx"; depends=[base64enc digest MALDIquant readBrukerFlexData readMzXmlData XML]; };
   MALDIrppa = derive2 { name="MALDIrppa"; version="1.0.1-2"; sha256="1jl26ndi0zvyq29qjkmdxg9psgwyv8wapd7f0cv4w88d9gk257az"; depends=[lattice MALDIquant robustbase signal wmtsa]; };
   MAMS = derive2 { name="MAMS"; version="1.3"; sha256="181i1p84pacl31qsh5vkvyxnca9sx6rabi7cs42w9qpzk2fxcmzj"; depends=[mvtnorm]; };
   MAMSE = derive2 { name="MAMSE"; version="0.2-1"; sha256="0spi7fqkxjiw5j0nf7ambcr8kpzdhjzh9y3dk23y1mrk2dgc5dkw"; depends=[]; };
   MANCIE = derive2 { name="MANCIE"; version="1.4"; sha256="0940xl3z5bca6hcnj2bj341l79wajilxlxzmyz3dlgrz0b3bbdmm"; depends=[]; };
-  MANOVA_RM = derive2 { name="MANOVA.RM"; version="0.3.2"; sha256="09k46h4x0w8d0pck1bbk9396khszywp2mipvk3lr96yi4nn3zhmw"; depends=[ellipse magic MASS Matrix multcomp plotrix plyr]; };
+  MANOVA_RM = derive2 { name="MANOVA.RM"; version="0.3.4"; sha256="0x7l9k35g7fm70ybddjxy0xni6xhmb9kjnpgabm3ljjipj62vshv"; depends=[data_table ellipse magic MASS Matrix multcomp plotrix plyr]; };
   MAP = derive2 { name="MAP"; version="0.1.3"; sha256="19d0m30jh50ibbdgvcvq1vsz5i1vf8qvl0d0nbqklvnndch61jhk"; depends=[flexmix Matrix]; };
   MAPA = derive2 { name="MAPA"; version="2.0.4"; sha256="02s223s58k2jk49m0xlz3q9m3nip3h4dl4v58j18z2vgi54dwnjr"; depends=[forecast RColorBrewer smooth]; };
   MAPLES = derive2 { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
@@ -2189,7 +2270,7 @@ in with self; {
   MAT = derive2 { name="MAT"; version="2.2"; sha256="093axw2zp4i3f6s9621zwibcxrracp77xrc0q5q0m4yv3m35x908"; depends=[Rcpp RcppArmadillo]; };
   MATA = derive2 { name="MATA"; version="0.4"; sha256="0x155izylzwajlnlbdnawb3b8gwxd1cx03xb1sqi3w2g50bcljbf"; depends=[]; };
   MATTOOLS = derive2 { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; };
-  MAVE = derive2 { name="MAVE"; version="1.3.9"; sha256="1x48w0i80vpgblr2713rbwflil6m7ay251jzqs1b8snp70il248h"; depends=[mda Rcpp RcppArmadillo]; };
+  MAVE = derive2 { name="MAVE"; version="1.3.10"; sha256="0y5msdrczzr1q38s4zh0l8cwkq3akrdq0c63klldxa9cl4shmhzr"; depends=[mda Rcpp RcppArmadillo]; };
   MAVIS = derive2 { name="MAVIS"; version="1.1.3"; sha256="02hi3n2rligmgg9afqwkpdny2kl68simkaqdd6k1swzlrih0fs4s"; depends=[compute_es ggplot2 irr MAc MAd metafor quantreg SCMA SCRT shiny shinyAce shinyBS weightr]; };
   MAVTgsa = derive2 { name="MAVTgsa"; version="1.3"; sha256="0rzal9nsi8y873cbf6hrdyzyxnpd4r1yr9fj66cn0s1c8g93ls0y"; depends=[corpcor foreach MASS multcomp randomForest]; };
   MAc = derive2 { name="MAc"; version="1.1.1"; sha256="1dawqmziffaz8wgcqzwc0yifdq65abgn24vafkrwa9850048c26f"; depends=[]; };
@@ -2200,9 +2281,10 @@ in with self; {
   MBCbook = derive2 { name="MBCbook"; version="0.1.1"; sha256="0jmvgyzrahnxfkwdn86k3ffk0zfbbd34ya4zmlnsmp2m9xds7lgn"; depends=[MASS mclust mvtnorm Rmixmod]; };
   MBCluster_Seq = derive2 { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
   MBESS = derive2 { name="MBESS"; version="4.6.0"; sha256="1fc2zcjfk9k107bl3fs3wf8fxxrcpwyhiz7j1iv3w6zqf2l4fb88"; depends=[boot gsl lavaan MASS mnormt nlme OpenMx sem semTools]; };
-  MBHdesign = derive2 { name="MBHdesign"; version="1.0.79"; sha256="1qz0igm8h3ij8yc9bg3vr3mkmf99h1kyxscdhkfphc66zaazhyw1"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
+  MBHdesign = derive2 { name="MBHdesign"; version="2.1.5"; sha256="0hq6i4qwwcmyjf8h1lwdr54ph8d2rb6kgjida0wfn1bs4v0p1h4s"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
   MBI = derive2 { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
-  MBNMAdose = derive2 { name="MBNMAdose"; version="0.2.3"; sha256="1iw0wfyvdmks4diwwj75hqvdkmwnjb3zfw30rgnmr3nmxc3fa0b6"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags scales]; };
+  MBNMAdose = derive2 { name="MBNMAdose"; version="0.2.4"; sha256="0d5fi1i2sr39z5fdl303rjhxvp5h622zbkpfsv3yjq4vp0ymwka0"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags scales]; };
+  MBNMAtime = derive2 { name="MBNMAtime"; version="0.1.2"; sha256="13742y17aclqbsbc039vlnmrg5sa1y6kjsdayl8ii9xnhbb5f48l"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags]; };
   MBSGS = derive2 { name="MBSGS"; version="1.1.0"; sha256="1h5vhmpgrqza12j7ivhwgd5wyb7kkb8mjbxl5w756vyid8g03flz"; depends=[MASS MCMCpack mgcv mnormt truncnorm]; };
   MBSP = derive2 { name="MBSP"; version="1.0"; sha256="0mds6jfqgmnm4saqqqqqfcg8zh4qsvd2503g3ij1sn70f0aakwaj"; depends=[coda GIGrvg MASS Matrix MCMCpack]; };
   MBmca = derive2 { name="MBmca"; version="0.0.3-5"; sha256="0p7ddpsy4hwkfwyyszidi33qpdg4xllny7g9x24gk782p7kjfgq9"; depends=[chipPCR robustbase]; };
@@ -2217,18 +2299,19 @@ in with self; {
   MCMC_qpcr = derive2 { name="MCMC.qpcr"; version="1.2.3"; sha256="0b9n793spljmsb58jp41vnl9c753xqaw1g4wbi4ax348cvi09jk8"; depends=[coda ggplot2 MCMCglmm]; };
   MCMC4Extremes = derive2 { name="MCMC4Extremes"; version="1.1"; sha256="06p6xdbja7vrdq4vnhybpkmyf4rkaihcmy9sc81sb0h2wa21vcq0"; depends=[evir]; };
   MCMCglmm = derive2 { name="MCMCglmm"; version="2.29"; sha256="1d37rk10zi2yymsxif9091z9lnav7p4cazjfq29fhj90x8vpifhk"; depends=[ape coda corpcor cubature Matrix tensorA]; };
-  MCMCpack = derive2 { name="MCMCpack"; version="1.4-4"; sha256="1xzrgib2mjz0xpqranhdyc5m4fmg2fir9mcf51ciw5pp53b97qcp"; depends=[coda lattice MASS mcmc quantreg]; };
+  MCMCpack = derive2 { name="MCMCpack"; version="1.4-5"; sha256="1dfz3impsb70nq7qyk5aj5ixslj2zvwcl1mfqvqzy6zp8kx9r56s"; depends=[coda lattice MASS mcmc quantreg]; };
   MCMCprecision = derive2 { name="MCMCprecision"; version="0.3.9"; sha256="1zmlz2kwrp1qiyvq3v5vv1rsy3s2idlifmckmgznk4nkqds5ifwh"; depends=[combinat Matrix Rcpp RcppArmadillo RcppEigen RcppProgress]; };
   MCMCtreeR = derive2 { name="MCMCtreeR"; version="1.1"; sha256="00r6f62h7ryil7qxd25icvkqypjjssjsrz4i5sbqsnw5cdy5al8z"; depends=[ape coda sn]; };
-  MCMCvis = derive2 { name="MCMCvis"; version="0.12.2"; sha256="0zj94akw48bgj9bvk6zssn41829znv1pyi73m43ldq4vgqj5zp2s"; depends=[coda overlapping rstan]; };
+  MCMCvis = derive2 { name="MCMCvis"; version="0.13.3"; sha256="167j3qjkiwji0vgww7q2byj39hxzhf6jpln9rhhm384y4ycpabys"; depends=[coda overlapping rstan]; };
   MCPAN = derive2 { name="MCPAN"; version="1.1-21"; sha256="0q1m0xg8825q9zjwxcz2h2n0dyr21q5bk29qbqpdhirlwm6f1a51"; depends=[magic MCMCpack multcomp mvtnorm plyr]; };
   MCPMod = derive2 { name="MCPMod"; version="1.0-10"; sha256="0ns74qhm9bzi70m9bn61zs4mmqmmxxi77f49pdrcnr8wrrnn1kdn"; depends=[lattice mvtnorm]; };
+  MCPModGeneral = derive2 { name="MCPModGeneral"; version="0.1-0"; sha256="1660r7ibgj5jl5nf3p11911n8k3wbnnzagapn73f2g5racwrbx1d"; depends=[DoseFinding MASS]; };
   MCS = derive2 { name="MCS"; version="0.1.3"; sha256="1kiz1jq1bm2n8f33nsybp5jfrzzl9xbsi3m9l8818ybmph99xms6"; depends=[]; };
   MCSim = derive2 { name="MCSim"; version="1.0"; sha256="1nqry41qa5c02an5fxm3y1g3w1vcqjgsy1an95i3szz1w1ndaj14"; depends=[CircStats MASS]; };
   MCTM = derive2 { name="MCTM"; version="1.0"; sha256="14xjfskyrqi0m58lkwjfjpss5j7wy3ajr148n526czrrpccg108j"; depends=[]; };
   MChtest = derive2 { name="MChtest"; version="1.0-3"; sha256="1b3p6ry8gkvyphakn3504ibl2x8dbhx95saild0mj0iwm3sjyspf"; depends=[]; };
   MConjoint = derive2 { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; };
-  MDFS = derive2 { name="MDFS"; version="1.0.3"; sha256="09lmwvysyy34l51mda01cjr4579i3v16vsj2kf3066dyhjik1zl4"; depends=[]; };
+  MDFS = derive2 { name="MDFS"; version="1.0.5"; sha256="17ksjgzi8sxyqczscq1rd6a8zgdd0h9sm3c0ymsf0phr69msvpg0"; depends=[]; };
   MDMR = derive2 { name="MDMR"; version="0.5.1"; sha256="1pv57xl7pjsqxz1j8mnfmjaa36mlr749yb4c44ppdrx6khvw662x"; depends=[car CompQuadForm lme4]; };
   MDPtoolbox = derive2 { name="MDPtoolbox"; version="4.0.3"; sha256="0aaw787fvcyhw6mbl42icgqfdzvfr618vg179984xqifafr40dyc"; depends=[linprog Matrix]; };
   MDSMap = derive2 { name="MDSMap"; version="1.1"; sha256="0knrkfwgl763fwdb3ln3g5y3rarnpqdfgzxf4m045664m7gkipsg"; depends=[princurve reshape rgl smacof]; };
@@ -2236,25 +2319,28 @@ in with self; {
   MDimNormn = derive2 { name="MDimNormn"; version="0.8.0"; sha256="080m0irx5v8l45fg9ig5yzcj92s3ah8a9aha288byszli1cchgpn"; depends=[]; };
   MDplot = derive2 { name="MDplot"; version="1.0.1"; sha256="1xijh18hrkb807nfkdr7g642aspn5psc8nw29q387jl5hly2w8s9"; depends=[gplots gtools MASS RColorBrewer]; };
   MED = derive2 { name="MED"; version="0.1.0"; sha256="0fy0qmxirkdz5kigy2r7l5czjzws0fhjxy13kv1kqh628ldrp109"; depends=[]; };
+  MEDseq = derive2 { name="MEDseq"; version="1.0.0"; sha256="1pac9g6pmh5wn5mm48vdbn5rbd0c02z28xqkbdrklf3wcxf4b2qd"; depends=[cluster matrixStats nnet seriation stringdist TraMineR WeightedCluster]; };
   MEET = derive2 { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[Hmisc KernSmooth Matrix pcaMethods ROCR seqinr seqLogo]; };
   MEGENA = derive2 { name="MEGENA"; version="1.3.7"; sha256="0cr10pmj1n831scz5kgaq3nkglr3imwgc62cxng2dvdxr9991g21"; depends=[BH cluster doParallel foreach fpc ggplot2 ggraph ggrepel igraph Matrix Rcpp reshape]; };
   MEMSS = derive2 { name="MEMSS"; version="0.9-3"; sha256="0fq85jrajfwavq2fvsw2x9hknc57wc253zw2vw970f04khfbragd"; depends=[lme4]; };
   MEPDF = derive2 { name="MEPDF"; version="3.0"; sha256="15hbp7g5dsdpvi239jm6jn11fn371ir6la31g0flqkilq6sr1sqd"; depends=[gtools mvtnorm plyr pracma]; };
-  MESS = derive2 { name="MESS"; version="0.5.5"; sha256="13kln67ca9d5dnimg0mqbnl6bni52r04xjhrw1vyzlhvn0x684kg"; depends=[geeM geepack glmnet kinship2 MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
-  MEtest = derive2 { name="MEtest"; version="1.0"; sha256="0hiv676lwwis1mmnw51vq4iwhbrwx0dvd6bmbv7hmxd48bykrcvg"; depends=[statmod]; };
+  MESS = derive2 { name="MESS"; version="0.5.6"; sha256="1p0ail3pd5mrw7p9f1hs5vqdirpjdkgs63zpsib60qjhg61l0iy6"; depends=[geeM geepack ggformula ggplot2 glmnet kinship2 MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
+  MEclustnet = derive2 { name="MEclustnet"; version="1.2.2"; sha256="0rs58dafxngk2lkq14cy14ayjwgnz1gmi12jmi4z74sdj0b3h0gw"; depends=[e1071 ellipse latentnet MASS mvtnorm nnet vegan]; };
+  MEtest = derive2 { name="MEtest"; version="1.1"; sha256="0dxm3fs0lqnas70a1ckikvjp2ib9rqsknwcs9n9jfsmm1fqhxdpf"; depends=[statmod]; };
   MF = derive2 { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
-  MFAg = derive2 { name="MFAg"; version="1.4"; sha256="092zbl2pxbsvfyf3qssbid14194p0ax2zrw0gzpyqwzdpx0brrlb"; depends=[]; };
+  MFAg = derive2 { name="MFAg"; version="1.5"; sha256="0av47syfb0jkiix0xjnd208bz78gx5ji2y9kb7ni1yd7njm7in9m"; depends=[]; };
   MFDFA = derive2 { name="MFDFA"; version="1.1"; sha256="0nr78p6y4jpg1hrl0h7b7hyvwbr61paf85y3f2dx815x5hscmdhy"; depends=[numbers]; };
   MFHD = derive2 { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[deldir depth depthTools fda_usc matrixStats]; };
   MFKnockoffs = derive2 { name="MFKnockoffs"; version="0.9.1"; sha256="1bcdqfzmllp3dri1phy365wgc9c37wlag65pzljn4p3mf43w10nq"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
   MFPCA = derive2 { name="MFPCA"; version="1.3-2"; sha256="1p467zc8lvdcl8n0mf6aazm39flbn62ykwc6c6brkxy46cdvc5jv"; depends=[abind foreach funData irlba Matrix mgcv plyr]; };
   MFT = derive2 { name="MFT"; version="2.0"; sha256="0n1xws3dw0650037qyqgp600p8cf098qa5hkbncdfdbl0w34qamy"; depends=[]; };
-  MGDrivE = derive2 { name="MGDrivE"; version="1.0.0"; sha256="1wjrc8mb0bh2b66g7qsqhz1w8pp53z4amaq7nv68y2j8i2lm39l9"; depends=[data_table R6 Rcpp Rdpack]; };
+  MGBT = derive2 { name="MGBT"; version="1.0.2"; sha256="0jgdy8zw5lx2f567n3livgmwhpfcd1s42mp1bj859jx3z5kiwkiy"; depends=[]; };
+  MGDrivE = derive2 { name="MGDrivE"; version="1.1.0"; sha256="16nm47vazd06hvi4k3z86lxilgk8y4b3p44h6cm2b8az90irmj5f"; depends=[data_table R6 Rcpp Rdpack]; };
   MGL = derive2 { name="MGL"; version="1.1"; sha256="03q453swnangxyc4nvjhzw2zpcy5vp1wpilap5rwymnf0c0xi4j7"; depends=[]; };
   MGLM = derive2 { name="MGLM"; version="0.2.0"; sha256="0yyqm53lvp59zy8lkffw9x3zhqrnh29j5v3yyzk6qrgj2slnc7nk"; depends=[]; };
   MGRASTer = derive2 { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
   MGSDA = derive2 { name="MGSDA"; version="1.4"; sha256="0grwl740yvz2av5nkvmyyrr8ji5f39sjs1c5gxp6lp9p36i2wc32"; depends=[MASS]; };
-  MHCtools = derive2 { name="MHCtools"; version="1.1.1"; sha256="0f3r7600nbj19rzlfxb8hk2ifrqjmf796ilz5xgs4fkdqxclb585"; depends=[rlist]; };
+  MHCtools = derive2 { name="MHCtools"; version="1.2.1"; sha256="1mf70x1vd8h8i0iapl54fp8q4gpqd61faxvhpxlhv49g8s5n9pbd"; depends=[rlist]; };
   MHTcop = derive2 { name="MHTcop"; version="0.1.1"; sha256="1mr8y8brsi37b5qx3fqm0bj90dgknzzwhxfmvyd9kxbxh19whgxq"; depends=[copula matrixStats MCMCpack mvtnorm stabledist]; };
   MHTdiscrete = derive2 { name="MHTdiscrete"; version="1.0.1"; sha256="0czpsk4jiwbzd6g2dwssmggsdhwchikmc1skv48d9j4xvglns7yw"; depends=[]; };
   MHTmult = derive2 { name="MHTmult"; version="0.1.0"; sha256="1y3vh2kab6nfkiz4nzdhrpy9h6drk1ibfd2h62hpr3y09z9a2yld"; depends=[]; };
@@ -2270,38 +2356,42 @@ in with self; {
   MImix = derive2 { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
   MInt = derive2 { name="MInt"; version="1.0.1"; sha256="1nk02baainxk7z083yyajxrnadg2y1dnhr51fianibvph1pjjkl6"; depends=[glasso MASS testthat trust]; };
   MKLE = derive2 { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
-  MKmisc = derive2 { name="MKmisc"; version="1.5"; sha256="1b8fxhgszyj75ii9mlh84gh8bc5ljf5f8ap1i7jaall9q5m0hfhd"; depends=[ggplot2 limma RColorBrewer robustbase scales]; };
-  ML_MSBD = derive2 { name="ML.MSBD"; version="1.1.1"; sha256="1j110kz2k5hyk3la771yx41k6c2pam2k5hzzx42fm5n127aq3q56"; depends=[ape]; };
-  MLCIRTwithin = derive2 { name="MLCIRTwithin"; version="2.1"; sha256="07fhbhfnlmllxxdpdqiaz6d72y4pj3vrz6lw5rnlb2m7vknx51ik"; depends=[limSolve MASS MultiLCIRT]; };
+  MKdescr = derive2 { name="MKdescr"; version="0.5"; sha256="0dgdglr173pjlvbh9kd67pl890pnlzlcfm04ax4bdas6gp1cb6j6"; depends=[ggplot2 scales]; };
+  MKinfer = derive2 { name="MKinfer"; version="0.3"; sha256="0d2kp7q9nj7cg99178byanfsvzp6xajhh07wxy59d70anbh7a9hz"; depends=[arrangements boot MKdescr nlme]; };
+  MKmisc = derive2 { name="MKmisc"; version="1.6"; sha256="0x518icdgq4mrc6qm1flb5lpr9y7j9znh0ah3gw2xsbjiplqd323"; depends=[ggplot2 limma RColorBrewer robustbase scales]; };
+  ML_MSBD = derive2 { name="ML.MSBD"; version="1.2.0"; sha256="1dxvvyha984j3h170s2brhbf4lm53f16f12lhnqf3sl4sc0f4xv8"; depends=[ape foreach]; };
+  MLCIRTwithin = derive2 { name="MLCIRTwithin"; version="2.1.1"; sha256="1x0xmka7kkbjnh3yv4zxxyl17cpmf0rb9hxmdl1srb6ijld4np1b"; depends=[limSolve MASS MultiLCIRT]; };
   MLCM = derive2 { name="MLCM"; version="0.4.2"; sha256="14sd9ybwyilympnbyaqmwdrbip4vyn1p93rh9mlxls3bmk6nc4hv"; depends=[]; };
   MLDAShiny = derive2 { name="MLDAShiny"; version="0.1.0"; sha256="14n8pffzw5y7lq3qx1xly4jwm05cyvs14gn838h6y9yssb16xnmr"; depends=[caret DiscriMiner dplyr e1071 klaR MASS rhandsontable rmarkdown shiny]; };
   MLDS = derive2 { name="MLDS"; version="0.4.5"; sha256="1a5y031kd6zx0zqlk6dvxzsv3isbvg9jap4gqad2jwryh0a9x3c1"; depends=[MASS]; };
   MLEcens = derive2 { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
   MLGL = derive2 { name="MLGL"; version="0.5"; sha256="020z18x5hlc1v975a7wi6vlairl8w7prjsfsvdiydl6xh56pdrr9"; depends=[FactoMineR fastcluster gglasso MASS Matrix]; };
   MLID = derive2 { name="MLID"; version="1.0.1"; sha256="0ygahmcfbydzic5q3h1ppv5b2ks4lh8mcyfqq27ssmn4g1n6hdvp"; depends=[lme4 nlme]; };
-  MLML2R = derive2 { name="MLML2R"; version="0.3.2"; sha256="0ii1hzbv21x96jancz30rg0jd6kz9miq22j9xx1i9zrzxx1rlh0p"; depends=[]; };
+  MLML2R = derive2 { name="MLML2R"; version="0.3.3"; sha256="1jgk0h3chab831g5nsppgc6p0xplv11j82491iymnxixqfswb08w"; depends=[]; };
   MLPUGS = derive2 { name="MLPUGS"; version="0.2.0"; sha256="1yda37073g640g1qrkjrwa8hbyq6bjlcw3wpznx0bk5h0639bc0s"; depends=[]; };
   MLRShiny = derive2 { name="MLRShiny"; version="0.1.0"; sha256="06zcyz8l4754sjbcql3jd3nq1d2lgj92p5h2bh708z52mww71isw"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
-  MLZ = derive2 { name="MLZ"; version="0.1.1"; sha256="1x2mmd7rb6rk2qb84i7k71w8l14m5dvkwg1xpjqgy9lzqnwhxi45"; depends=[dplyr ggplot2 gplots RcppEigen reshape2 TMB]; };
+  MLRShiny2 = derive2 { name="MLRShiny2"; version="0.1.0"; sha256="1ygamp0ldz1i0w2xyi205rpd1gd5asw61l36z06j41ghdyiz1lww"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
+  MLZ = derive2 { name="MLZ"; version="0.1.3"; sha256="0yj9241k3yk8qy6w2q26gwbj9b9qynv3s3jpyfxixvkc9kji3wc2"; depends=[dplyr ggplot2 gplots RcppEigen reshape2 TMB]; };
+  MLeval = derive2 { name="MLeval"; version="0.2"; sha256="1dv795x8v78b6kpwdzmy0zlyrhwpf7gdwiss51d2kpp4h74ylsgr"; depends=[ggplot2]; };
   MLmetrics = derive2 { name="MLmetrics"; version="1.1.1"; sha256="061129b36h7xqw4zsznik694n8yy9qq6aaqfhdxkhdv8n5v1nzvp"; depends=[ROCR]; };
   MM = derive2 { name="MM"; version="1.6-5"; sha256="0vi6wp6p48jjfmnspdsnmw0yqz39sjk6nrkxdw7kan5h17h4rwd7"; depends=[abind emulator magic Oarray partitions]; };
   MM2S = derive2 { name="MM2S"; version="1.0.6"; sha256="1knr15vjc81cp7j67nc2gwkgds6ar3ribi1h0ihg0ch6rfz5c5zs"; depends=[GSVA kknn lattice pheatmap]; };
   MM2Sdata = derive2 { name="MM2Sdata"; version="1.0.3"; sha256="0hlm6jp8jq38vkszwdgpf30w11l1fhpblg26zv05j50a6whpmhqd"; depends=[Biobase]; };
-  MM4LMM = derive2 { name="MM4LMM"; version="1.1.5"; sha256="1mwb10vq5mnfdq47qxr58xq8iq4n343m4xb9jpzf3a65nnxsgl95"; depends=[Matrix Rcpp RcppEigen]; };
+  MM4LMM = derive2 { name="MM4LMM"; version="2.0.1"; sha256="1rmzzfzw1hpsmvgc9pcqqf9k8p4fvdh6pizy4sjvavphqvzjfnj6"; depends=[MASS Matrix Rcpp RcppEigen]; };
   MMAC = derive2 { name="MMAC"; version="0.1.2"; sha256="1xwz48iizf0lvmhc7krsraabc49ky85qvgr23w4ip6jzfv4sn1jr"; depends=[]; };
   MMDai = derive2 { name="MMDai"; version="1.4.0"; sha256="0bb7hg8fkmzg87xr1b2hxhy75xi461ks6w12z85k4c77kswfpx3b"; depends=[DirichletReg]; };
   MMDvariance = derive2 { name="MMDvariance"; version="0.0.9"; sha256="1yiqabifym7gdknqrhfnql6qc8p163npzrrckbyqjry3yvkqr5wi"; depends=[Biobase lawstat MASS]; };
   MMLR = derive2 { name="MMLR"; version="0.1.0"; sha256="0gir1adflxkmz3qfpy2xkx434phzszsylzw38vdgicmdic1m2ywq"; depends=[matlib]; };
   MMMS = derive2 { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[glmnet survival]; };
-  MMS = derive2 { name="MMS"; version="3.0.11"; sha256="0gc4iz371bi65sp49gvjh99f8jvii8l0k12kn1vbpzk4a3cw7iad"; depends=[glmnet Matrix mht]; };
   MMWRweek = derive2 { name="MMWRweek"; version="0.1.1"; sha256="16dwmpj13rzxmd2x7xaakw2zq2aly7ajjbfnc39qvdzk6n2x37wn"; depends=[]; };
   MMeM = derive2 { name="MMeM"; version="0.1.0"; sha256="1b0wdcyqnliw85il5vnwy9l4x1z42kirbg872hl47plwfrp9gahc"; depends=[jointDiag lme4 MASS Matrix matrixcalc psych stringr]; };
   MNLR = derive2 { name="MNLR"; version="0.1.0"; sha256="0q80232ndp7pkklzqdbga1vf51dmsxaivm4ia4wah32rc2c87fqp"; depends=[caret e1071 nnet rmarkdown shiny]; };
+  MNLpred = derive2 { name="MNLpred"; version="0.0.1"; sha256="1h8qnirhvlskhm7zg7h8jbx76r53gywpswxyj4w7gb04qhdkzmhl"; depends=[MASS tibble]; };
   MNM = derive2 { name="MNM"; version="1.0-3"; sha256="16b2yrm2kn943vzrr38qhk6qq20a842xv7iiln4is02csijxw2b3"; depends=[ellipse ICS ICSNP SpatialNP]; };
   MNP = derive2 { name="MNP"; version="3.1-0"; sha256="06qs2vsmjs6rcpqlwfc1n5y5hzxf7pngbdmiza1wijm9hh54ikh0"; depends=[MASS]; };
   MNS = derive2 { name="MNS"; version="1.0"; sha256="0if46a6rw0f2d72wnykkaa5z5b1p2c0r43il6cbwbcnnb3zd8acb"; depends=[doParallel glmnet igraph MASS mvtnorm]; };
   MOCCA = derive2 { name="MOCCA"; version="1.3"; sha256="1ffpnqcrkrr7vh0f1fyyai0c2wq3v8sk2qhnhds49z7p6xrsmh21"; depends=[cclust class cluster clv]; };
-  MODIS = derive2 { name="MODIS"; version="1.1.5"; sha256="0g7z7x7vnjwcw3mp7sk9xxswkkyy9l8nppy7qaissizrvxv607vw"; depends=[bitops curl devtools mapdata mapedit maps maptools ptw raster rgdal rgeos sf sp]; };
+  MODIS = derive2 { name="MODIS"; version="1.1.6"; sha256="0nby3j356hglf2hdddqyq8vm99ynwk4wjmqrbjl5k9pr9yjkhda8"; depends=[bitops curl devtools mapdata mapedit maps maptools ptw raster rgdal rgeos sf sp]; };
   MODISSnow = derive2 { name="MODISSnow"; version="0.1.0.0"; sha256="1p0mil074gapw6v8paw9595rzp85hxrfsc65llh0ljalmacwgx04"; depends=[gdalUtils lubridate raster RCurl]; };
   MODISTools = derive2 { name="MODISTools"; version="1.1.0"; sha256="0242jxxdkwi39ra160p42psgcgf8alwaij004v29apy03g95rrvd"; depends=[httr jsonlite memoise sf]; };
   MODIStsp = derive2 { name="MODIStsp"; version="1.3.9"; sha256="0zjc8q3zi2i0i7l1bmw558sxdcsjba2lh31i428cy9pd886j5jn3"; depends=[bitops data_table gdalUtils gWidgets gWidgetsRGtk2 httr jsonlite pacman raster rgdal rgeos sp stringr xml2 xts]; };
@@ -2312,16 +2402,17 @@ in with self; {
   MOST = derive2 { name="MOST"; version="0.1.0"; sha256="0nmjx5hsn67hdglcqyanq3az76rs15knv8qy28f8paah5s9w24xf"; depends=[]; };
   MOTE = derive2 { name="MOTE"; version="1.0.2"; sha256="17y2l2rmw7fhvknyh5z09i7hd8nhamx12g00rcymp75gqkz9lzc7"; depends=[ez MBESS reshape]; };
   MOrder = derive2 { name="MOrder"; version="0.1"; sha256="1vhy20xyvfc18f04hvlb1jm2n0caaz8ysy13w2rra5i4kjdvz52i"; depends=[]; };
+  MPBoost = derive2 { name="MPBoost"; version="0.1-3"; sha256="0fmyy4s2h7hjca6nww0bgcax7309nkqp295mpp8hl8yllz7ylmsm"; depends=[BH Rcpp]; };
   MPCI = derive2 { name="MPCI"; version="1.0.7"; sha256="1l55q09lliv0y4q1hc0jgzls47wkmsfag6b4iq5y6wrllr5wq7sa"; depends=[]; };
   MPDiR = derive2 { name="MPDiR"; version="0.1-16"; sha256="10g4dnysjnzf106qibqqcrxz3xw2nfh4ck1n1dlciwahr0f80j13"; depends=[]; };
   MPINet = derive2 { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; };
   MPLikelihoodWB = derive2 { name="MPLikelihoodWB"; version="1.1"; sha256="0xgj349jkv29ldia4lmsiwnkhrk99aqcrvyiy3si5knmi1jvx9q0"; depends=[MASS survival]; };
   MPN = derive2 { name="MPN"; version="0.3.0"; sha256="0rrigkq5bkarncswv8kgvvwd1vrq5cqnb5vypa9d39q2ksqf8j3d"; depends=[]; };
   MPR_genotyping = derive2 { name="MPR.genotyping"; version="0.8"; sha256="0lsrbks7nhfnrmk8kclh09rc132j3divjxrzjfrg8zijbzkfx1pn"; depends=[qtl]; };
-  MPS = derive2 { name="MPS"; version="2.3.0"; sha256="0rr66f3ijzvqzj6b0hl7i065r5ndzcb2r5sjhx32rihgjdg60lr3"; depends=[]; };
+  MPS = derive2 { name="MPS"; version="2.3.1"; sha256="08yzynznf33y7y3pf7fayks5hi3cdvzwzn8axg7aky5kvi2bfv22"; depends=[]; };
   MPSEM = derive2 { name="MPSEM"; version="0.3-6"; sha256="0kw3aixhl5j8nq4lcx65l80v4lihvpa4qd12n2jrc96lnm6mw00b"; depends=[ape MASS]; };
   MPTinR = derive2 { name="MPTinR"; version="1.11.0"; sha256="1pflypcysc43yp4rh1lxnf7f0qklc6rl4y1mvj6ydwv5nlz52mbh"; depends=[Brobdingnag numDeriv Rcpp RcppEigen]; };
-  MPTmultiverse = derive2 { name="MPTmultiverse"; version="0.2-0"; sha256="0bhxzg5q3slq5x281xnyqwlgazkddlcaw4z6k7nc419v5ym75cqz"; depends=[coda dplyr ggplot2 limSolve magrittr MPTinR purrr readr reshape2 rlang runjags tibble tidyr TreeBUGS]; };
+  MPTmultiverse = derive2 { name="MPTmultiverse"; version="0.3-3"; sha256="0wl5ww7ii8vbgg3680zh3y5pqz1ipfnhjka1lz62fmp3rs09zmfq"; depends=[coda dplyr ggplot2 limSolve magrittr MPTinR purrr readr reshape2 rlang runjags tibble tidyr TreeBUGS]; };
   MPV = derive2 { name="MPV"; version="1.55"; sha256="127m19q5dq38x2k29rkgvvfidazbmzsarzf9m2sjpx6ay8j8hvpl"; depends=[KernSmooth]; };
   MPkn = derive2 { name="MPkn"; version="0.1.0"; sha256="0nvd6sv1wypcmphm0wcymbibcxrqzx3c9s9b191p1pmxyz607vxv"; depends=[]; };
   MPsychoR = derive2 { name="MPsychoR"; version="0.10-7"; sha256="10nphm5dzxha4xb7a21b0nxbqy55fg8k748qax7nq3rj4nfjaml7"; depends=[]; };
@@ -2332,50 +2423,53 @@ in with self; {
   MRH = derive2 { name="MRH"; version="2.2"; sha256="1icwlq8js58g9fkiq7fwjg8r97ca47xl3dscnhnga99gkgsfgjwl"; depends=[coda KMsurv survival]; };
   MRHawkes = derive2 { name="MRHawkes"; version="1.0"; sha256="0qhwm708jijv1w6iml18bg7fc2igdcmydwpb9dzpa4gwwads8b78"; depends=[IHSEP]; };
   MRMR = derive2 { name="MRMR"; version="0.1.4"; sha256="0dgbhlynaaka7mdzl6igwgcdzvy6cm2y8mbxaf9pfla8w3z8y0lq"; depends=[ggplot2 lmtest lubridate plyr reshape2]; };
-  MRPC = derive2 { name="MRPC"; version="2.1.0"; sha256="1gpsx1dpzr79zn994z5yp3ikymfvfa8zmwmayhf736f6jnsmwi45"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg Rgraphviz sna WGCNA]; };
+  MRPC = derive2 { name="MRPC"; version="2.2.0"; sha256="1ks23kf273khzidgxg6gzkynxlga8dybfcwfigli9wv0kcrzvdpx"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg psych Rgraphviz sna WGCNA]; };
   MRQoL = derive2 { name="MRQoL"; version="1.0"; sha256="0isn4g3jpz7wm99ymrshl6zgkb7iancdzdxl2w98n8fbxsh5z6sw"; depends=[]; };
   MRS = derive2 { name="MRS"; version="1.2.4"; sha256="1sksg70zb72ys1b7vi8amjaqarmdh8vf2l1rb0rasrlvrip3z3br"; depends=[igraph Rcpp RcppArmadillo]; };
   MRTSampleSize = derive2 { name="MRTSampleSize"; version="0.1.0"; sha256="1f6ivr6cx4irqkry219x4nk6k5zhp3b19axy2xbfc3dx5zixhpjl"; depends=[]; };
   MRsurv = derive2 { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[mvtnorm survival]; };
   MRwarping = derive2 { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; };
-  MSCMT = derive2 { name="MSCMT"; version="1.3.3"; sha256="1962lc6p5cy8pkbshzbl3jnd2pqnk9afs4lmp4qb7fqkmb4xpka3"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
-  MSEtool = derive2 { name="MSEtool"; version="1.2.1"; sha256="1y1hncpa6qbd2dbcrkm9kacxmnw38g75bknxgq0dqygg07hcaabw"; depends=[abind coda corpcor DLMtool gplots MASS mvtnorm pryr RcppEigen reshape2 rmarkdown snowfall TMB]; };
-  MSG = derive2 { name="MSG"; version="0.3"; sha256="181kzkbw69bs3vir6dzgq7jzp8xcpg1p4isfb660vgnd1flb03ix"; depends=[RColorBrewer]; };
-  MSGARCH = derive2 { name="MSGARCH"; version="2.3"; sha256="0dax3cx0dzmg086vhymnm5x5s7ljdnxx1k52xnnvrm6pprhdgaqn"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
+  MSCMT = derive2 { name="MSCMT"; version="1.3.4"; sha256="1vh0i9nxqiy3qdnb7z7cn5kpp2jahdmaqpnv7q5650pkswhwmfpc"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
+  MSEtool = derive2 { name="MSEtool"; version="1.4.0"; sha256="172jsgkcp955pssgby6vvaqrlxp371b1i60fd6w2i901jkja3fdz"; depends=[abind coda corpcor DLMtool dplyr gplots MASS mvtnorm RcppEigen reshape2 rmarkdown snowfall TMB]; };
+  MSG = derive2 { name="MSG"; version="0.4"; sha256="0fdxgqfc87iwqnnrgh7m8bfxh8lv42ffi0xxy4i1rv94aiw8gfr5"; depends=[RColorBrewer]; };
+  MSGARCH = derive2 { name="MSGARCH"; version="2.31"; sha256="15df35l5nr6cl3q7xprl6ifswh7mg1fvix1x9374qgyafwr40sq4"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
   MSGLasso = derive2 { name="MSGLasso"; version="2.1"; sha256="1k17vnvzr647pwfbdxrpqcsp34iygq86wf0ns4rq8cj6q5mik1bv"; depends=[]; };
   MSIseq = derive2 { name="MSIseq"; version="1.0.0"; sha256="1v2why1k6pjsc04044nr74571p7541nciq7xkzmya3jq6dw878j3"; depends=[IRanges R_utils rJava RWeka]; };
   MSMwRA = derive2 { name="MSMwRA"; version="1.3"; sha256="0b0fqfv6iick1brqik4rqz2936nfa51i6xlfavs65r9692wks73q"; depends=[]; };
-  MSPRT = derive2 { name="MSPRT"; version="2.0"; sha256="16j66r8b4lh9x6wfblq2xxydvbzfajiixmq7144vv1rfmbs8if8m"; depends=[doParallel foreach ggplot2 iterators nleqslv]; };
+  MSPRT = derive2 { name="MSPRT"; version="2.1"; sha256="0c0hhpjpkx8yl5bxqn6nw747jli9fdzkwmi31lzr664r5xinxyf7"; depends=[doParallel foreach ggplot2 iterators nleqslv]; };
   MSQC = derive2 { name="MSQC"; version="1.0.2"; sha256="11wcy04cpjlnc71s2svs4lm1cp718dz1p4a1603x6zwpbf22bygn"; depends=[rgl]; };
   MST = derive2 { name="MST"; version="2.1"; sha256="16mnsn2an02k4jrqb6yj0n1i563zny5v10ngfq1y28fqaw6h8yyq"; depends=[Formula MASS partykit survival]; };
   MSbox = derive2 { name="MSbox"; version="1.2.1"; sha256="0lmvpzsw13w18mzi5z85yzify3xsh5sx356ndggfzyl5d5wk7s8g"; depends=[stringr xml2]; };
   MScombine = derive2 { name="MScombine"; version="1.4"; sha256="0s3gbf3s5mf00d5mkbqhd9wwnyps7qb4r3zbal8j8nsaspql9nd3"; depends=[plyr]; };
   MSwM = derive2 { name="MSwM"; version="1.4"; sha256="1zhfar02s7hm4gjs1flkh9a4526d98hik8bqrksy75758baiqg7l"; depends=[nlme]; };
-  MTA = derive2 { name="MTA"; version="0.1.2"; sha256="1149xjq6ybjv6llzlq67j5xc6dspb4mvd72n62nlbq3zz80x7f84"; depends=[igraph rgeos sp]; };
+  MTA = derive2 { name="MTA"; version="0.2.0"; sha256="1wic2rw63h2daha23fpyw80x7ywjwqq6rj5jg73iankvdg32mlvm"; depends=[cartography igraph sf sp]; };
   MTDrh = derive2 { name="MTDrh"; version="0.1.0"; sha256="0ass3b90nr4i0y7v30hk8xhq3hj9bxaxcsr4f8wfi0lnvzfv6aaa"; depends=[]; };
   MTE = derive2 { name="MTE"; version="1.0.0"; sha256="009mrl9dgxafl4hrgfzvsfvgx3dljb0rbbs74j2cxc5ray87kp55"; depends=[parcor quantreg]; };
+  MTGS = derive2 { name="MTGS"; version="0.1.0"; sha256="0ijcw730xap5c38k8z4d976azwcnygxaiv2ksrad8j8nnvnh5zbd"; depends=[glmnet kernlab MRCE]; };
   MTLR = derive2 { name="MTLR"; version="0.2.1"; sha256="070121qn7vmxmxgvzv7ymhk19j9kxks4xa7qpd8vkc2rp3ara4cp"; depends=[Rcpp RcppArmadillo survival]; };
   MTS = derive2 { name="MTS"; version="1.0"; sha256="09pypanjmqrvxbrrckydxyyswsgjx4nhb052x4llk7va9w4lbcjs"; depends=[fBasics fGarch mvtnorm Rcpp]; };
   MTSYS = derive2 { name="MTSYS"; version="1.2.0"; sha256="04dkan3hxl3difflskp7d1lw1bvxhg4s28ssy2v4m7z7wbpj3v1m"; depends=[]; };
+  MUACz = derive2 { name="MUACz"; version="1.0.0"; sha256="0sh5h2qn769bpp8l09mvh1cabr2j1vywaqbj6fci84h8zx5y55fj"; depends=[dplyr epiDisplay ggplot2]; };
   MUCflights = derive2 { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[geosphere NightDay RSQLite sp XML]; };
   MUS = derive2 { name="MUS"; version="0.1.6"; sha256="0xid624rz0mvd03iy7ydvmx7gkscvsg4kdbaf2nji54ahai3pmn3"; depends=[]; };
   MVA = derive2 { name="MVA"; version="1.0-6"; sha256="09j9frr6jshs6mapqk28bd5jkxnr1ghmmbv6f4zz0lrg81zjizl3"; depends=[HSAUR2]; };
   MVB = derive2 { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo]; };
   MVLM = derive2 { name="MVLM"; version="0.1.4"; sha256="1zcj405dc4jbiqw6p0fcbam8yc9d6yjpmrx5wjw5zjvig3iqb91k"; depends=[CompQuadForm]; };
-  MVN = derive2 { name="MVN"; version="5.7"; sha256="1knll6hppbskny70j1a1vj3ad5yph76mq6swqcbmwh2d46fwdbln"; depends=[boot car energy kableExtra magrittr MASS moments mvoutlier nortest plyr psych robustbase]; };
+  MVN = derive2 { name="MVN"; version="5.8"; sha256="1rk8zrf3bavywv4bca1aqsfrirxkvxh5lfwrnj0g8zncd69bd1fc"; depends=[boot car energy kableExtra magrittr MASS moments mvoutlier nortest plyr psych robustbase]; };
   MVNBayesian = derive2 { name="MVNBayesian"; version="0.0.8-11"; sha256="1iaxyp480v91887cn4w3l74907wvbzs3ay4cjgzd8xk2dp47w8bg"; depends=[mvtnorm plyr]; };
   MVR = derive2 { name="MVR"; version="1.33.0"; sha256="1ygz47a2p5r5axql5zsxvsn25pcqyxz6mpw50zfmzrcqdrfa3bg8"; depends=[statmod]; };
   MVT = derive2 { name="MVT"; version="0.3"; sha256="0vinlv3d5daf8q7pd9xgs51nxz2njgdba5750vygmv883srlzi9d"; depends=[]; };
   MVTests = derive2 { name="MVTests"; version="1.1"; sha256="13q9bfzbcf2gz5mhp5rjja5d0k0m78f0253ziwrlg5ncyf2d8q0c"; depends=[matrixcalc]; };
-  MVar = derive2 { name="MVar"; version="2.0.7"; sha256="025k78ahia9mv983kr8p4gbn675b59zxl7ywv13kbvn4jcpakiy8"; depends=[MASS]; };
-  MVar_pt = derive2 { name="MVar.pt"; version="2.0.7"; sha256="1aif7la0mfsyh2wksvhwvakkrgj9irzg3c84psbad58v9yabjrla"; depends=[MASS]; };
+  MVar = derive2 { name="MVar"; version="2.1.1"; sha256="17fj2y739afmdrbhnd2la9qiywcyyk0nr1d8936c63nz8xivvssv"; depends=[MASS]; };
+  MVar_pt = derive2 { name="MVar.pt"; version="2.1.1"; sha256="0jzsiawisr0378n9ph7s2c2j64xybf9mz00zriw38cjr1lxaqrnf"; depends=[MASS]; };
   MVisAGe = derive2 { name="MVisAGe"; version="0.2.1"; sha256="1plrzzj7cr2hxk1npadvjnk7sanhilh99l5vrkjjh3l6li2ym09b"; depends=[]; };
   MWLasso = derive2 { name="MWLasso"; version="1.3.1"; sha256="11lyk46lmjcd60q0mixi41b8ybjgyp1xi18g3ag4450xyhw3r17s"; depends=[]; };
   MWRidge = derive2 { name="MWRidge"; version="1.0.0"; sha256="17kvs9npr1ff24z3pv9x2qnfwyy6w3hc7hm60ynzbjlk2rr11xr9"; depends=[glmnet]; };
-  MXM = derive2 { name="MXM"; version="1.4.4"; sha256="1dmq8ws1dqd294lrhd60dh1avkj58n9dha5ag4igwgjw31mphsr9"; depends=[bigmemory coxme doParallel dplyr energy foreach geepack knitr lme4 MASS nnet ordinal quantreg relations Rfast Rfast2 survival visNetwork]; };
+  MWright = derive2 { name="MWright"; version="0.3.2"; sha256="1c57f0wnlhl4gqy17vi93r4fknycvv67b9bifgcvabws390jpx7q"; depends=[cubature]; };
+  MaOEA = derive2 { name="MaOEA"; version="0.5.2"; sha256="1yaa8wr1gr1npqpls5g6mlr9dgjwiyvhk6p1dmjw29f7a4g2cam5"; depends=[e1071 gtools lhs MASS nnet nsga2R randtoolbox reticulate stringr]; };
   MaXact = derive2 { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
   MachineLearning = derive2 { name="MachineLearning"; version="0.1.3"; sha256="0yvrsqzvx8ss614ixa9mwkg2ig3hmfixm78fi8c3wmpc2frvsqrk"; depends=[arules crayon dplyr formula_tools FSelectorRcpp ggplot2 magrittr NbClust rpart rpart_plot]; };
-  MachineShop = derive2 { name="MachineShop"; version="1.5.0"; sha256="1injyl578zd5qs13h8bwzavb4gzam896d7g9304ck6rh2lbci4hj"; depends=[abind foreach ggplot2 kernlab magrittr party polspline recipes rlang rsample Rsolnp survival tibble]; };
+  MachineShop = derive2 { name="MachineShop"; version="1.6.0"; sha256="1kdqicj6f5ivg01qp69wm1liwl6x2dqvm9va728w524h4m0361wj"; depends=[abind foreach ggplot2 kernlab magrittr party polspline recipes rlang rsample Rsolnp survival tibble]; };
   Maeswrap = derive2 { name="Maeswrap"; version="1.7"; sha256="0cnnr5zq7ax1j7dx7ira7iccqppc6qpdjghjarvdb2zj0lf69yyb"; depends=[geometry lattice rgl stringr]; };
   MakefileR = derive2 { name="MakefileR"; version="1.0"; sha256="1pfjic2lsar8ghbb6byr4rqrs30qrgfih092z4rxdpsiwkk3y7l1"; depends=[magrittr]; };
   Mangrove = derive2 { name="Mangrove"; version="1.21"; sha256="1qf3fjzf0sb6fqbfdbxwbw6wah3gg2qran4mgg13hcmk4n3j0hxp"; depends=[]; };
@@ -2384,6 +2478,7 @@ in with self; {
   ManyTests = derive2 { name="ManyTests"; version="1.2"; sha256="1mi7wvnkcd95126f1h8vl8skn397yd2zqvcswprqar54p161wgyi"; depends=[]; };
   Map2NCBI = derive2 { name="Map2NCBI"; version="1.3"; sha256="04fhnghakygpwrmhrwqr6g0r62zsxl0czy5bn3xl5iqzaswcd4i1"; depends=[rentrez]; };
   MapGAM = derive2 { name="MapGAM"; version="1.2-5"; sha256="0ardqsa7smx0syh1l591bm6a1rb7kvcyw3rlb3hkfk8rk4k60qmr"; depends=[colorspace gam maptools sp survival]; };
+  Mapinguari = derive2 { name="Mapinguari"; version="1.0.0"; sha256="1jfqinfr6wkpmkp4jm9ixgawcywm3n1ni03h6zngvx74saz7kd3g"; depends=[dplyr magrittr raster rgdal rlang stringr testthat]; };
   MareyMap = derive2 { name="MareyMap"; version="1.3.4"; sha256="1wap0syzgd0w3xla2x4bcasn8zzlj63r5yyf9r479nvifjxdqxzz"; depends=[tkrplot]; };
   MargCond = derive2 { name="MargCond"; version="1.0.0"; sha256="07qh1lgy8ds11cwlb4rxkl6aiph91zq29sy27b8wwxalycdgjrg8"; depends=[gee lme4 MASS Matrix]; };
   MarginalMediation = derive2 { name="MarginalMediation"; version="0.7.0"; sha256="0jwp8rzv0ghir8k7dfmfrq4rvcqf7xww6va16p3jj2nk3r9hiq0x"; depends=[betareg boot cli crayon furniture magrittr purrr rstudioapi stringr tibble]; };
@@ -2394,12 +2489,13 @@ in with self; {
   MasterBayes = derive2 { name="MasterBayes"; version="2.55"; sha256="14532l41x5k3z2qg0vklafqyzmn45qny9hlrrgriykajv3xjf2lz"; depends=[coda genetics gtools kinship2]; };
   MatManlyMix = derive2 { name="MatManlyMix"; version="1.1.1"; sha256="1d2vd5b9lirdybjclxh0nn4mghq64qjj4l8vnj95cni5pfa18a2c"; depends=[]; };
   MatSkew = derive2 { name="MatSkew"; version="0.1.5"; sha256="019v2b1r0bvw84xs50smjb3jdz7gd2adz5d84xd8zq43lnml96d1"; depends=[]; };
-  MatTransMix = derive2 { name="MatTransMix"; version="0.1.5"; sha256="0c4kmlzrscrlbvbsqvkmfr9v95hy4hkwk52vnkanh3gqjmpy2rjk"; depends=[]; };
+  MatTransMix = derive2 { name="MatTransMix"; version="0.1.6"; sha256="07npn31abksi17s8g1cgxnciyw2nm1mzfmbys3kfkgb8nqq0d6g2"; depends=[]; };
   MatchIt = derive2 { name="MatchIt"; version="3.0.2"; sha256="1pp91pw2sy9hik4sgn4gcsp40hb01n9pfccrwdcffwji5fd1aavq"; depends=[MASS Matching]; };
-  MatchIt_mice = derive2 { name="MatchIt.mice"; version="2.0.2"; sha256="0wfd77fimadray59llyfkmilm6fmqd3w0asp8d6krfbisx8bdapc"; depends=[MatchIt mice]; };
+  MatchIt_mice = derive2 { name="MatchIt.mice"; version="3.0.1"; sha256="04c078fz7s0wll4wizi0mj4s3gdx1kpr5g40gq7znn362z7q25ym"; depends=[MatchIt mice]; };
   MatchLinReg = derive2 { name="MatchLinReg"; version="0.7.0"; sha256="015s3xdaj56prq8lsdry3ibjkrb6gg0fwgzjh496gdx5axvpbk8g"; depends=[Hmisc Matching]; };
+  MatchThem = derive2 { name="MatchThem"; version="0.9.0"; sha256="166wvf43vyl2bn0qcqmlz4nk4hysafiid7imr7d699mrg2g2p7db"; depends=[dplyr MatchIt mice survey WeightIt]; };
   Matching = derive2 { name="Matching"; version="4.9-6"; sha256="1p36id8cds865b44jdbk6c3fnadvhh203qx6d3g54bi4s7bww3cf"; depends=[MASS]; };
-  Matrix = derive2 { name="Matrix"; version="1.2-17"; sha256="1k1zf92ycqr7fz44w7bp1p354ww7jg0wm23ybb8dzmbg37qfchyv"; depends=[lattice]; };
+  Matrix = derive2 { name="Matrix"; version="1.2-18"; sha256="06b1rc1vq65b271f2wpzhqkvhng8hwwnvjflzxkng50i52603zzp"; depends=[lattice]; };
   Matrix_utils = derive2 { name="Matrix.utils"; version="0.9.7"; sha256="1x64r4aj3gy1dzjjysyrk1j9jq3qsnyrqws8i6bs7q8pf6gvr7va"; depends=[grr Matrix]; };
   MatrixCorrelation = derive2 { name="MatrixCorrelation"; version="0.9.2"; sha256="0s4gxgl6fsy0fnjmsdz4k7p96vl6p00xl9w2fg7v0gikjpz6h5bg"; depends=[plotrix pracma progress Rcpp RcppArmadillo RSpectra]; };
   MatrixEQTL = derive2 { name="MatrixEQTL"; version="2.2"; sha256="1205jxx5aj783r2dmpawiq4rr30b60fq1qf053i7wylw07pz6vba"; depends=[]; };
@@ -2409,8 +2505,9 @@ in with self; {
   MaxPro = derive2 { name="MaxPro"; version="4.1-2"; sha256="19a2wp93kx1wkbzd5bvljbm1rr96gr14w4fb0ppbgr2y2a4g8i1v"; depends=[nloptr]; };
   MaxSkew = derive2 { name="MaxSkew"; version="1.1"; sha256="0x5x0jpvhp189jnmgh6d1h3ya0dicj5qfcrgr2fhp1v8jjhl125m"; depends=[]; };
   MaxentVariableSelection = derive2 { name="MaxentVariableSelection"; version="1.0-3"; sha256="1cmxfdkm5k85b4ivlfy5521hkfj0gq2pb1qlxxklh0fprw87kp9c"; depends=[ggplot2 raster]; };
-  MazamaCoreUtils = derive2 { name="MazamaCoreUtils"; version="0.2.0"; sha256="0rgrz42cv4m5cl8nfldgsnkipvmz0jn3dpv812gx7swyqbizp9hw"; depends=[dplyr futile_logger lubridate magrittr stringr]; };
-  MazamaSpatialUtils = derive2 { name="MazamaSpatialUtils"; version="0.6.1"; sha256="14sklx6ja5s1pv8pnqf7s2xvp83x7ddnzc9hzfp3qvdzyyfvwicw"; depends=[countrycode dplyr geojsonio lubridate rgdal rgeos rlang rmapshaper rvest shiny sp stringr xml2]; };
+  MazamaCoreUtils = derive2 { name="MazamaCoreUtils"; version="0.4.0"; sha256="168qi75r75fjwbarz8kj50ba43as6b15iarhni61sc4zf92lh2da"; depends=[devtools dplyr futile_logger lubridate magrittr purrr rlang stringr tibble]; };
+  MazamaLocationUtils = derive2 { name="MazamaLocationUtils"; version="0.1.6"; sha256="187lrpc9z3k4jnd1nvqsb0qibz9xz9i1i61vssqm72h1hx1j9j6f"; depends=[digest dplyr geodist httr lubridate magrittr MazamaCoreUtils MazamaSpatialUtils readr revgeo rlang stringr]; };
+  MazamaSpatialUtils = derive2 { name="MazamaSpatialUtils"; version="0.6.4"; sha256="0wb221h8lwdcx5h5hkvpz9rarizry22qzydibcc2gs6b0d5514ms"; depends=[countrycode dplyr geojsonio lubridate magrittr rgdal rgeos rlang rmapshaper rvest shiny sp stringr xml2]; };
   MazamaWebUtils = derive2 { name="MazamaWebUtils"; version="0.1.7"; sha256="16k6wxwjkdwzx1cqcxpxwaj7i63khly90gyiyfw13di43h8cvsd1"; depends=[dplyr futile_logger lubridate mime stringr webutils]; };
   McSpatial = derive2 { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; };
   Mcomp = derive2 { name="Mcomp"; version="2.8"; sha256="1wz5fr3dhxn4s0qvxm2mzq9dbz3x0vgh6pixjrgk9d4i9w2p7s60"; depends=[forecast ggplot2]; };
@@ -2422,7 +2519,7 @@ in with self; {
   Mediana = derive2 { name="Mediana"; version="1.0.8"; sha256="0j1ikc2iaxl70134v0gijj2i2g0xgjafvn8rc108r9fhm8rpw564"; depends=[doParallel doRNG foreach MASS mvtnorm survival]; };
   Mega2R = derive2 { name="Mega2R"; version="1.0.5"; sha256="18fhkghlx4rkafyx0jpxxyjq20xv6y6sfjyz7m68fi73akjz2rw7"; depends=[AnnotationDbi DBI famSKATRC gdsfmt GenomeInfoDb kinship2 pedgene Rcpp RSQLite SKAT]; };
   MendelianRandomization = derive2 { name="MendelianRandomization"; version="0.4.1"; sha256="01irc5qnw7gsvnpifki05ksh7ys8znk0wvhqrzk1bv5294rnq6r1"; depends=[ggplot2 iterpc knitr Matrix plotly rjson rmarkdown robustbase]; };
-  Mercator = derive2 { name="Mercator"; version="0.8.8"; sha256="1ahbdfxqy7s27qizr50z70k577lzcadwn0af9j126n1cr24qha7i"; depends=[cluster dendextend igraph Polychrome Rtsne Thresher]; };
+  Mercator = derive2 { name="Mercator"; version="0.9.5"; sha256="0lmmc9w9mwmbf8vyddw21imv9j5pjrz92n74xk304dxwyc5smfi1"; depends=[ClassDiscovery cluster dendextend igraph KernSmooth Polychrome Rtsne Thresher]; };
   MergeGUI = derive2 { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[cairoDevice ggplot2 gWidgetsRGtk2 rpart]; };
   MetABEL = derive2 { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
   MetFns = derive2 { name="MetFns"; version="3.2.2"; sha256="15fd2d0yysibi2x43qv6b8i1pa18l7z4n0zpmrqhsmvqkgy8sla0"; depends=[astroFns lubridate plotrix pracma]; };
@@ -2441,12 +2538,12 @@ in with self; {
   MetaSKAT = derive2 { name="MetaSKAT"; version="0.71"; sha256="1bfy1zqblwz7a9fr9i6hs18x2n422x52b928v77r3924nasa67a8"; depends=[SKAT]; };
   MetaStan = derive2 { name="MetaStan"; version="0.1.0"; sha256="12r76wrspsz2c8pys0b0s117h514qch776969fbz94w6gjhv3km4"; depends=[BH Rcpp RcppEigen rstan rstantools StanHeaders]; };
   MetaSubtract = derive2 { name="MetaSubtract"; version="1.50"; sha256="1aggkvpyl2zpnmqzrr7k22wmb4dyagljcwrkm956nbyvlzx4sx2x"; depends=[]; };
-  MetaUtility = derive2 { name="MetaUtility"; version="1.2.0"; sha256="0sr24cls0li0351s9ly39x0xp310lbbabzwixhmnvavwmp0a66ls"; depends=[metafor stringr]; };
-  MetaboList = derive2 { name="MetaboList"; version="1.4"; sha256="0q7pams9fi2vvaz9i3l80afswl975644sm8iz7bj7d8avzzjidgn"; depends=[dplyr enviPick ggplot2 scales]; };
+  MetaUtility = derive2 { name="MetaUtility"; version="2.1.0"; sha256="1lbqqh56pwxlcksv0kf463hc20jb4rkjqkcqal000rzyzd4bi2zj"; depends=[dplyr metafor purrr stringr]; };
+  MetaboList = derive2 { name="MetaboList"; version="2.0"; sha256="10skvf14ls4qll0l9p6cig4lmj7138khcksyjvd1pqym9axk3wxn"; depends=[dplyr enviPick ggplot2 scales]; };
   MetaboLouise = derive2 { name="MetaboLouise"; version="1.0.0"; sha256="1agcp520in0wpxv3x2jvvmv61hasazdymnvjhzl66nwv8lifl98z"; depends=[igraph]; };
   MetaboQC = derive2 { name="MetaboQC"; version="1.0"; sha256="1hm0ndwda1ciyyg8igkpaalvvdyd7aq5wnl9gzza8fr1l9fxp4a2"; depends=[plyr]; };
-  MetabolAnalyze = derive2 { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[ellipse gplots gtools mclust mvtnorm]; };
-  MetabolicSurv = derive2 { name="MetabolicSurv"; version="1.0.0"; sha256="1q2vys8pman6smbqwrgkdxq873ip2z2ynjphxnc1ixp8hr4l5c3z"; depends=[ggplot2 glmnet gplots matrixStats pls Rdpack rms superpc survival survminer tidyr]; };
+  MetabolAnalyze = derive2 { name="MetabolAnalyze"; version="1.3.1"; sha256="070qws759nczjrfdlh7jpbyjz4z3zm1hzb7vcvfgfks82wwb2ny0"; depends=[ellipse gplots gtools mclust mvtnorm]; };
+  MetabolicSurv = derive2 { name="MetabolicSurv"; version="1.1.0"; sha256="0pi3pdl1wz8lbj47d0rvgrrdc72bffjf9q07dp92qx2857pppwz8"; depends=[ggplot2 glmnet gplots matrixStats pls Rdpack rms superpc survival survminer tidyr]; };
   MetabolomicsBasics = derive2 { name="MetabolomicsBasics"; version="1.1"; sha256="13q8s96s71g7nyr6mi5q7jwmf4vx3pcr8l9ixqlc8hglnkd0y6rk"; depends=[C50 caret e1071 mixOmics pcaMethods plyr rlang ropls rpart]; };
   MetaheuristicFPA = derive2 { name="MetaheuristicFPA"; version="1.0"; sha256="096k866mgrdgj55rzvdj080z80hzlj0667mydpz7gjaqdfriw8jg"; depends=[Rcpp RcppArmadillo]; };
   MetamapsDB = derive2 { name="MetamapsDB"; version="0.0.2"; sha256="0y5szb52karxcqr1f9mb050awprbk1ynckr987aw3d4ia6i9gcif"; depends=[base64enc cluster data_table DBI dplyr forcats future GenomicRanges ggplot2 gridExtra httr igraph IRanges lubridate magrittr Matrix purrr RCurl rgexf RJSONIO RSQLite shiny ShortRead stringr tidyr zoo]; };
@@ -2456,7 +2553,7 @@ in with self; {
   Methplot = derive2 { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
   MethylCapSig = derive2 { name="MethylCapSig"; version="1.0.1"; sha256="16ch9aldr6a9jn42h387n7qvnzs0yx28f2yj6xq0kp476q7rf4ql"; depends=[geepack]; };
   Metrics = derive2 { name="Metrics"; version="0.1.4"; sha256="0fh8qbjlwzagh272lgwr4bxcqcjb1qpz53mgs8rzlvncax6nk5bk"; depends=[]; };
-  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.1.0"; sha256="0c6l5rvrdcrm8fy3rnggfbilw15j29zxin0hhrvg91dx2y024mll"; depends=[]; };
+  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.4.0"; sha256="04j3cf6p9nzxcd6q5cd3asz13707rxyg5rd2qv76zsdgm10ys6mm"; depends=[]; };
   MfUSampler = derive2 { name="MfUSampler"; version="1.0.4"; sha256="0i5siq1jacxbfvakb97qnj3h7pk471rrx8ckwm0d8nl3j586s36y"; depends=[ars coda HI]; };
   MiDA = derive2 { name="MiDA"; version="0.1.2"; sha256="144gxsxqljzskxsw5k0y69ix0pxlfvyyznxkjpf2ng4l47pg11z5"; depends=[caret gbm genefilter limma preprocessCore pROC SQN]; };
   MiRAnorm = derive2 { name="MiRAnorm"; version="1.0.0"; sha256="154wv0j82xyc4y5cd2czh0q8kzhgrk6qsn0ahc1zn3fnrzc9fgz0"; depends=[ArgumentCheck cluster dendextend ggplot2 MASS npmv plyr reshape2]; };
@@ -2464,7 +2561,7 @@ in with self; {
   MiRSEA = derive2 { name="MiRSEA"; version="1.1"; sha256="0jpl6ws5yx1qjzdnip9a37nmvx81az4cbsjm57x613qjpwmg6by3"; depends=[]; };
   MiSPU = derive2 { name="MiSPU"; version="1.0"; sha256="1l6q0fm5z5i6gigr940h8kc5rka08psmhcprp8grmsxk3qy2kply"; depends=[ape aSPU cluster Rcpp RcppArmadillo vegan]; };
   MiST = derive2 { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; };
-  MicSim = derive2 { name="MicSim"; version="1.0.13"; sha256="16j2ffl6379afhk9dx7z2lci79ywq1nhmjk070kfknlrabl8cs2n"; depends=[chron rlecuyer snowfall]; };
+  MicSim = derive2 { name="MicSim"; version="1.0.15"; sha256="0nbrl013i1jz5hsq5a6526rlsp0qvvrbs86md6yrvhh90bsnf65p"; depends=[chron rlecuyer snowfall]; };
   MicroDatosEs = derive2 { name="MicroDatosEs"; version="0.8.2"; sha256="0k0hmi3ciipizmgjw1i5rrsg34yx21s1msn40vc4qc9s1n4wd8dl"; depends=[readr]; };
   MicroMacroMultilevel = derive2 { name="MicroMacroMultilevel"; version="0.4.0"; sha256="1q5cyqr4hdl1wp2isk6p4p084i83kg6hd406wdp1nj9lv5i0xvgw"; depends=[]; };
   MicroStrategyR = derive2 { name="MicroStrategyR"; version="1.0-1"; sha256="0a6bk0wnwx8zy9081n7wb12lidgckrhn350r0q5m6aa82l6l8ihi"; depends=[gWidgetsRGtk2]; };
@@ -2472,15 +2569,15 @@ in with self; {
   MinBAR = derive2 { name="MinBAR"; version="1.1.0"; sha256="03hzv6a56w0d6di3jp3w3fgckwxkqb1cy3xiwcvzyg5lzm4z9p2x"; depends=[dismo ecospat geosphere lattice latticeExtra maxnet raster rgdal sp]; };
   MindOnStats = derive2 { name="MindOnStats"; version="0.11"; sha256="13995v4n0hfb53w02jk81pl7nazkvqwwv87y1sr99jr9ppzc08mz"; depends=[]; };
   Miney = derive2 { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
-  Minirand = derive2 { name="Minirand"; version="0.1.0"; sha256="0iahhshqxpkxhpchb4hiv7d9rir2d3zxazs2nz7ymzdlhnn41xi1"; depends=[]; };
+  Minirand = derive2 { name="Minirand"; version="0.1.1"; sha256="15mp9vjb40a9v26lk82361bnmbf8pwgnr9pk4j49hhf6mhb01znr"; depends=[]; };
   MissMech = derive2 { name="MissMech"; version="1.0.2"; sha256="1b7i1balfl1cqr3l4l4wxlahk2gmawzv9rhyibwzf0yp60cb1sv9"; depends=[]; };
   MissingDataGUI = derive2 { name="MissingDataGUI"; version="0.2-5"; sha256="0drbm87ka17avg6fmswjilgnz9c3azwd0236s8yfms24k9k77vnd"; depends=[cairoDevice GGally ggplot2 gWidgetsRGtk2 reshape]; };
   MitISEM = derive2 { name="MitISEM"; version="1.2"; sha256="0dn398vrxh16gmy7ghh5000dgk7cbhb3gi3myrxp5dfri3ysjxcj"; depends=[mvtnorm]; };
   MittagLeffleR = derive2 { name="MittagLeffleR"; version="0.3.0"; sha256="0lp3jazmcg90gp019djr4xx8zwxrrmjidp53rc2v7s122razn9lr"; depends=[stabledist]; };
-  MixAll = derive2 { name="MixAll"; version="1.4.2"; sha256="1m3jkavamx1c2zzalh9j8psk69jmbh4lyl0sxn4x30whv0km5mvp"; depends=[Rcpp rtkore]; };
-  MixGHD = derive2 { name="MixGHD"; version="2.3.2"; sha256="1fqimvfm25f2wkfxxpnbsnzjkpfz2fyi1rgpgg7fgj2rdf56mmhp"; depends=[Bessel cluster e1071 ghyp MASS mixture mvtnorm numDeriv]; };
+  MixAll = derive2 { name="MixAll"; version="1.5.1"; sha256="1jsh29ygy1n7lbz93ks725li9hnvfa0kp1qik13m72nmgw7g7q5a"; depends=[Rcpp rtkore]; };
+  MixGHD = derive2 { name="MixGHD"; version="2.3.3"; sha256="16x8pq077w8ikksypr9szy863pwcfzmfa9f13pssb61x7yyqfa2f"; depends=[Bessel cluster e1071 ghyp MASS mixture mvtnorm numDeriv]; };
   MixMAP = derive2 { name="MixMAP"; version="1.3.4"; sha256="0gxghym5ghbyxf589hda2fhv5l3x5jvm6i40x5xdwx4hadcn8k9a"; depends=[lme4]; };
-  MixMatrix = derive2 { name="MixMatrix"; version="0.2.2"; sha256="0gpqggw0fskd37lr0vjpf0y6gv711w6invfwj09rzggxlq6vx2fh"; depends=[CholWishart Rcpp RcppArmadillo]; };
+  MixMatrix = derive2 { name="MixMatrix"; version="0.2.4"; sha256="1bmd99p98brp8nzqhf442py2hmdj2vnzn15qwhrdskh6i0gzaqc4"; depends=[CholWishart Rcpp RcppArmadillo]; };
   MixRF = derive2 { name="MixRF"; version="1.0"; sha256="1av1wx7wmfc3z8a4bc6g3i3b807nc28n3s2rs3yh0rcwq1pfl0ir"; depends=[doParallel foreach lme4 randomForest]; };
   MixSAL = derive2 { name="MixSAL"; version="1.0"; sha256="15dymyzfs3bwskaf6xndj291g6nhw7k1q93y1cba55a6fdjh5qz9"; depends=[MASS]; };
   MixSIAR = derive2 { name="MixSIAR"; version="3.1.10"; sha256="0kc0apzl6aq9qjgrnnad78k71g91hzc1d7f3j0s1kpwzax2q6l2l"; depends=[bayesplot coda ggmcmc ggplot2 lattice loo MASS MCMCpack R2jags RColorBrewer reshape reshape2 rjags]; };
@@ -2496,14 +2593,16 @@ in with self; {
   MmgraphR = derive2 { name="MmgraphR"; version="0.3-1"; sha256="0nfv2cax2v2zhsbprwykngq5n6i5qcf8189rci9d48d5k9qm4a5r"; depends=[colorspace march msm TraMineR]; };
   MoEClust = derive2 { name="MoEClust"; version="1.2.3"; sha256="1bkknlp49bcx4s2lpdqwpqn5f5rr90lah0zkvmkih309rayirjr3"; depends=[lattice matrixStats mclust mvnfast nnet vcd]; };
   MoLE = derive2 { name="MoLE"; version="1.0.1"; sha256="0bq19vwqjn5hl4mw5imkydbp39gal992vnh2dwrq8bb8cmj3qh91"; depends=[]; };
+  MoTBFs = derive2 { name="MoTBFs"; version="1.1"; sha256="0cr36yqxbibfcz9swmh7znl1dq4zfighnh6r3fcbnd1kxf45d745"; depends=[bnlearn ggm lpSolve quadprog]; };
   MobileTrigger = derive2 { name="MobileTrigger"; version="0.0.31"; sha256="1zbnxdxh6gr4sgpi10i0pnd85f7i842105jgjswacziqamby6mcy"; depends=[caret ggplot2 kableExtra knitr mailR plyr XML yaml]; };
+  ModStatR = derive2 { name="ModStatR"; version="1.3.0"; sha256="1wdqkvbycjk4wzzkpc0pyxvxrzqm48xbi8y87nax5l1v5qdfm1n0"; depends=[BioStatR boot ellipse ggplot2 gsl hypergeo jmuOutlier]; };
   Modalclust = derive2 { name="Modalclust"; version="0.7"; sha256="0ymzdxp6rh6baih1xm6kj8l8jxjclvnmq0gfp38cl8lpskspb26x"; depends=[class mvtnorm zoo]; };
   ModelGood = derive2 { name="ModelGood"; version="1.0.9"; sha256="1y99a7bgwx167pncxj00lbw3cdjj23fhhzl8r24hwnhxr984kvzl"; depends=[prodlim]; };
   ModelMap = derive2 { name="ModelMap"; version="3.4.0.1"; sha256="1279k5hznxrb6fq4zd1baw1pm5dj5437g5awkgb8kp7ll8raa2ql"; depends=[corrplot fields HandTill2001 mgcv PresenceAbsence randomForest raster rgdal]; };
   ModelMetrics = derive2 { name="ModelMetrics"; version="1.2.2"; sha256="158ddbw2snlyzd2q6mdaif5i67kq4qfvadylwjxgv1w2cmszrmk6"; depends=[data_table Rcpp]; };
   Modelcharts = derive2 { name="Modelcharts"; version="0.1.0"; sha256="1jy78kyyh4r13px2d5bm7fra5bkcpimzfji0hmydspkfi3qla37x"; depends=[dplyr plotly]; };
   Modeler = derive2 { name="Modeler"; version="3.4.5"; sha256="15gbg5568qj81wp6yy31amb2b7wl1wvlmgpmdp29lvz1p33jx2y1"; depends=[class ClassComparison ClassDiscovery e1071 neuralnet nnet oompaBase randomForest rpart TailRank]; };
-  MomTrunc = derive2 { name="MomTrunc"; version="3.19"; sha256="137ya4z16w8nxh2qds0bki59h81a87rsmwi50mp82qxr76zv5s5d"; depends=[mvtnorm]; };
+  MomTrunc = derive2 { name="MomTrunc"; version="4.59"; sha256="1z4nd5c9443az69k55xb9r2v4slagl8dr60jq9frfi3v3ilmr7c6"; depends=[mvtnorm]; };
   Momocs = derive2 { name="Momocs"; version="1.2.9"; sha256="13pgn31hv529z33mi020w8wm8ya7hyi5yfsp45a78wdhinqas9mm"; depends=[ape dplyr geometry geomorph ggplot2 jpeg magrittr MASS progress RColorBrewer rgeos sp]; };
   Mondrian = derive2 { name="Mondrian"; version="1.0-0"; sha256="07r64q518diphai951pw4vfaw4sd6bqwhi6q5cp4pcl3aqjynkmj"; depends=[RColorBrewer]; };
   MonetDB_R = derive2 { name="MonetDB.R"; version="1.0.1"; sha256="1r7vki0rrzwcrfg4f2lfx30g614vf2xi62qb1rs21a9j5741lxlx"; depends=[codetools DBI digest]; };
@@ -2512,12 +2611,12 @@ in with self; {
   MonoPoly = derive2 { name="MonoPoly"; version="0.3-10"; sha256="0ls3sjfkinp9c5002ww0xm4l2galf20w2f45nm5irkk9sbqas0jq"; depends=[quadprog]; };
   Monte_Carlo_se = derive2 { name="Monte.Carlo.se"; version="0.1.0"; sha256="1d5gp4wvpvrlp82g8k8v668mzhmdlk2pvky34v7hxysap9xgmsqr"; depends=[]; };
   MonteCarlo = derive2 { name="MonteCarlo"; version="1.0.6"; sha256="1jwq3by8zfy6sbzahcj5l0vicqn7yyqpb7xhfsaymfspm7xyq6pj"; depends=[abind codetools reshape rlecuyer snow snowfall]; };
-  MoonFinder = derive2 { name="MoonFinder"; version="1.0.1"; sha256="0crfh0g95vmwllvgppl2mjfd5kdlb0g9rwrxw8izbl0h6bpgcjxj"; depends=[annotate clusterProfiler igraph org_Hs_eg_db pheatmap RColorBrewer]; };
+  MoonFinder = derive2 { name="MoonFinder"; version="1.0.3"; sha256="1lwjrzk68x1xxa10mk2zwaj6kwlryyad7wcd5vf85di5bbbvpm7n"; depends=[annotate clusterProfiler igraph org_Hs_eg_db pheatmap RColorBrewer]; };
   Morpho = derive2 { name="Morpho"; version="2.7"; sha256="0zgq79yfgkl6g404j9hpdaza5m5qkklh1xpf9xpmyf940pqdw21c"; depends=[colorRamps doParallel foreach MASS Matrix Rcpp RcppArmadillo rgl Rvcg]; };
   MorseGen = derive2 { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
-  MortCast = derive2 { name="MortCast"; version="2.1-1"; sha256="1xifg4jzmamcnz17a3k3dk2pph7cszkyfg8wz497ig4rc3dk741f"; depends=[wpp2017]; };
+  MortCast = derive2 { name="MortCast"; version="2.1-2"; sha256="0p5cjzrl3yhrbhjr31fm84rj7dl7n65qzccj447ky1lvb4c0v2x1"; depends=[wpp2017]; };
   MortalityGaps = derive2 { name="MortalityGaps"; version="1.0.0"; sha256="0nfm8xa7gnshrl8hsvmvr3za8nbppp7f7i5h4ni204w7xwvh8jxc"; depends=[crch forecast MASS pbapply]; };
-  MortalityLaws = derive2 { name="MortalityLaws"; version="1.8.0"; sha256="09k1mxins6ch11h412yw7ywyiyjrrbs17jbxmrg6m2vnasn07bss"; depends=[minpack_lm pbapply RCurl tidyr]; };
+  MortalityLaws = derive2 { name="MortalityLaws"; version="1.8.2"; sha256="0bdivv1qxk3ckpqa5n6fhwy8m0i24f8q84iaijv0k8xrq63056ls"; depends=[minpack_lm pbapply RCurl tidyr]; };
   MortalitySmooth = derive2 { name="MortalitySmooth"; version="2.3.4"; sha256="1clx8gb8jqvxcmfgv0b8jyvh39yrmcmwr472j9g3ymm95m4hr8fq"; depends=[lattice svcm]; };
   MortalityTables = derive2 { name="MortalityTables"; version="1.0"; sha256="07pbjgc4qvznw1rfvmz6ndg0gzj0k61iajwn51ijpb7hscwi8937"; depends=[ggplot2 scales]; };
   MotilityLab = derive2 { name="MotilityLab"; version="0.2-5"; sha256="080j548sp1c4yqqd7p7zgr70j1xyrw3fgjj1f521sgh84x5h2hbc"; depends=[ellipse]; };
@@ -2525,7 +2624,7 @@ in with self; {
   MplusTrees = derive2 { name="MplusTrees"; version="0.0.1"; sha256="1jmxaxpzccnn5qpc138z7mr89s0ia9kc8wrsa1n6c2d3x4jzmms9"; depends=[MplusAutomation nlme rpart rpart_plot]; };
   Mqrcm = derive2 { name="Mqrcm"; version="1.0"; sha256="1z8zyjvjz1izaal5y6dnlm86pvydab45d9qnhcnibi2l9r1ladkc"; depends=[Hmisc pch]; };
   MsdeParEst = derive2 { name="MsdeParEst"; version="1.7"; sha256="1zhi1jr30sl7jpsw37lc3akfzixlhm9k2hjkha1pjy5fmd5lddlx"; depends=[MASS moments mvtnorm sde]; };
-  MtreeRing = derive2 { name="MtreeRing"; version="1.3.1"; sha256="0kavghk4453ifx4fphzc9z4hpdd2fd85wzpihpkb51234di6lgc8"; depends=[bmp dplR dplyr imager jpeg magick magrittr measuRing png shiny shinydashboard shinyWidgets spatstat tiff]; };
+  MtreeRing = derive2 { name="MtreeRing"; version="1.4.2"; sha256="097w65ijhdkag26z39kzqqp7bs3bcx4iqapj3qc8inh0iynhnxp6"; depends=[bmp dplR dplyr imager jpeg magick magrittr measuRing png shiny shinydashboard shinyWidgets spatstat tiff]; };
   MuChPoint = derive2 { name="MuChPoint"; version="0.6.1"; sha256="15bqsc7bsjg55qxjwxh58bxbwz61a6wv4xxph994g4020b98l01x"; depends=[capushe Matrix Rcpp shiny]; };
   MuFiCokriging = derive2 { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; };
   MuMIn = derive2 { name="MuMIn"; version="1.43.6"; sha256="0g8ba1lzn7k9bn0jzay5phcgkzv7bdwpkzm0sxwwvsfyg3igy4f8"; depends=[Matrix nlme]; };
@@ -2533,7 +2632,7 @@ in with self; {
   MullerPlot = derive2 { name="MullerPlot"; version="0.1.2"; sha256="0am5brdmbh2mw74fbw9nha6h4qlhj8psg3142mql1ad99bd0zg4w"; depends=[RColorBrewer]; };
   MultAlloc = derive2 { name="MultAlloc"; version="1.2"; sha256="0c3sqfaa08s8mk4yz77kh6q6v9ic5xp52g9prfw1k2kv4nw1k2qd"; depends=[Rglpk]; };
   MultEq = derive2 { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; };
-  MultNonParam = derive2 { name="MultNonParam"; version="1.2.6"; sha256="1w9kp7qswz38r2xfi8sc52kc52c8hi2jzjsh8gj4491ds1lilv0r"; depends=[]; };
+  MultNonParam = derive2 { name="MultNonParam"; version="1.3.0"; sha256="13xkwyvqqjvs5nv383y3hy1w0mz2qmqwih5rh9dqs7r7afx7928n"; depends=[]; };
   MultiBD = derive2 { name="MultiBD"; version="0.2.0"; sha256="1qjfr8hx8sr5m8370yzi09r8jnh3i6907wzj3v4h83vmjh81db71"; depends=[BH Rcpp RcppParallel]; };
   MultiCNVDetect = derive2 { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
   MultiFit = derive2 { name="MultiFit"; version="1.0.0"; sha256="1i15m30bnydxyghp8jpfr6rs2gnilbw38d6ifs2jzdr83qbxyls3"; depends=[data_table Rcpp RcppArmadillo]; };
@@ -2549,7 +2648,7 @@ in with self; {
   MultiSkew = derive2 { name="MultiSkew"; version="1.1.1"; sha256="1s0k3z1vgdz1cxad007p246ghwx282w06inhrjjscbwliz1vg5ib"; depends=[MaxSkew]; };
   MultiVarMI = derive2 { name="MultiVarMI"; version="1.0"; sha256="1mlaprg3cfmfwrq7wh64fmyv1wpdnil7wpcrcg3921qydk65py6z"; depends=[BinOrdNonNor corpcor CorrToolBox Matrix moments norm PoisNonNor]; };
   MultiVarSel = derive2 { name="MultiVarSel"; version="1.1.3"; sha256="18wcw80m5knv6hbzczjsx3lf7sn9n84z12zz844agp6234im163p"; depends=[glmnet Matrix]; };
-  MultinomialCI = derive2 { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; };
+  MultinomialCI = derive2 { name="MultinomialCI"; version="1.1"; sha256="0da7afpgb98wrcaif8y7396asp84gc244lq5l4959y6d5g199fhz"; depends=[]; };
   MultipleBubbles = derive2 { name="MultipleBubbles"; version="0.2.0"; sha256="047a1pql3jf500gwlap6ws5z7mx0sqmdq6jbql24nl5iypi9jqpf"; depends=[foreach MASS]; };
   MultiplierDEA = derive2 { name="MultiplierDEA"; version="0.1.18"; sha256="1d7cqa44yayyhwkl5wkp68b7vxakfnlwkprs811z8c2fmfm8vk5r"; depends=[lpSolveAPI]; };
   MultisiteMediation = derive2 { name="MultisiteMediation"; version="0.0.2"; sha256="1z9nh8iywlsjsrrmpm6h8hcnaqvh93dldn5rhp4wnj3c7db8qscy"; depends=[ggplot2 lme4 MASS psych statmod]; };
@@ -2560,10 +2659,10 @@ in with self; {
   Myrrix = derive2 { name="Myrrix"; version="1.2"; sha256="05x2h4ppjhfm0wlpwyp8ycjg59qj3gv0yqdilxrzb1lkrzln92xb"; depends=[Myrrixjars rJava]; };
   Myrrixjars = derive2 { name="Myrrixjars"; version="1.0-2"; sha256="1hhfg83z5kl6l250z3lippx3qc68k1wj1qlfzd6m66rgmk699gyl"; depends=[rJava]; };
   N2H4 = derive2 { name="N2H4"; version="0.5.4"; sha256="1sdxfi4618q9kz18ns1i1i2g5r0c4b6ydijaaxr21z206zi5i5wb"; depends=[dplyr httr jsonlite lubridate rvest tibble tidyr xml2]; };
-  NACHO = derive2 { name="NACHO"; version="0.5.6"; sha256="0l1irmmhpmmhgm18i1lp3cxmmn2vjxvv747lxvah4pnxla88wcb6"; depends=[dplyr ggbeeswarm ggplot2 ggpubr ggrepel gtools purrr scales shiny tibble tidyr]; };
+  NACHO = derive2 { name="NACHO"; version="0.6.1"; sha256="14aypwfgal975qy6i5ffjg9p154xaqaaznkdikj0iw5ah9w9n3fw"; depends=[dplyr ggbeeswarm ggplot2 ggpubr ggrepel gtools knitr magrittr rmarkdown scales sessioninfo shiny tibble tidyr]; };
   NADA = derive2 { name="NADA"; version="1.6-1"; sha256="1jjlm6rljk4nv6b7l2w3xnj31j61wq30sp5pnna8wav6gyjqjfmb"; depends=[survival]; };
   NAEPprimer = derive2 { name="NAEPprimer"; version="1.0.1"; sha256="19p1livdnayfcl88f8r9x1vg30x522q8lgx66pfgwpkxjzvrqa2l"; depends=[]; };
-  NAM = derive2 { name="NAM"; version="1.7.2"; sha256="02nqn8587zg8av0lnjfvgkn0205hp5dlz4yzhh12ljjzvyppk5f7"; depends=[randomForest Rcpp]; };
+  NAM = derive2 { name="NAM"; version="1.7.3"; sha256="12d2yjl0af2ailvwk30fswalx1wzyj500qbrhiczsg1vr4rcqhkh"; depends=[Rcpp]; };
   NAPPA = derive2 { name="NAPPA"; version="2.0.1"; sha256="0nn4wgl8bs7sy7v56xfif7i9az6kdz9xw7m98z1gnvl2g7damvn3"; depends=[NanoStringNorm plyr]; };
   NB = derive2 { name="NB"; version="0.9"; sha256="1gh42z7lp6g09fsfmikxqzyvqp2874cx3a6vr96w43jfwmgi2diq"; depends=[]; };
   NB_MClust = derive2 { name="NB.MClust"; version="1.1.1"; sha256="0hzmrszxgx3pylf9pjjwk2ryjhwz7naxxkhcqpnfjv337vv5dg0i"; depends=[MASS]; };
@@ -2573,7 +2672,9 @@ in with self; {
   NBLDA = derive2 { name="NBLDA"; version="0.99.0"; sha256="1fd6f43yhwvdb81r0b9hpmna5bphhqcgwiwjkpdyqz4h9cdmsj21"; depends=[ggplot2 sSeq]; };
   NBPSeq = derive2 { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[qvalue]; };
   NBShiny = derive2 { name="NBShiny"; version="0.1.0"; sha256="0hcmdhj26hc3c8d5nb6yb7amv0rbdxywima0l0jqkxipx56idlcx"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
-  NCA = derive2 { name="NCA"; version="3.0.1"; sha256="11ajnhx840z5122ir2ijxcwqyr535acq4dnp7mah4h1y45krfdms"; depends=[ggplot2 gplots KernSmooth lpSolve progress quantreg sfa]; };
+  NBShiny2 = derive2 { name="NBShiny2"; version="0.1.0"; sha256="0w4f19av8zl220zq3flmlqn86ivikclnsnkd7bc1wafhr12hmygp"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
+  NCA = derive2 { name="NCA"; version="3.0.2"; sha256="135zh39c19gwka7j4qsnvmr0zy3qld07cqg72mzghspi88v4fi8n"; depends=[doParallel foreach ggplot2 gplots iterators KernSmooth lpSolve quantreg sfa]; };
+  NCSCopula = derive2 { name="NCSCopula"; version="1.0.1"; sha256="0amxp9daqp9bhz61hrq1dk88ai5xfd5sp3538rf3xwgs6walycr4"; depends=[copula]; };
   NCSampling = derive2 { name="NCSampling"; version="1.0"; sha256="0bv93xffnzvbip86b3pg7apxzh3410mxff77q119m0z7f6vm3fam"; depends=[lattice randomForest yaImpute]; };
   NCmisc = derive2 { name="NCmisc"; version="1.1.6"; sha256="0ycc7b7z26a922hdjq8p4hjljjh09il24h3023k248pcsnbmka1a"; depends=[proftools]; };
   NCutYX = derive2 { name="NCutYX"; version="0.1.0"; sha256="0r2ghnvrbya3p1d8rb5bsnz5v852vvc6rq65yafn2xzr7886wrg2"; depends=[fields glmnet MASS mvtnorm Rcpp RcppEigen]; };
@@ -2581,14 +2682,16 @@ in with self; {
   NEArender = derive2 { name="NEArender"; version="1.5"; sha256="006128psqxbyw3z4wqflc4xsir3d641r4flwkxmv836lp7fc2d9a"; depends=[hexbin MASS RColorBrewer ROCR]; };
   NEff = derive2 { name="NEff"; version="1.1"; sha256="16ys1fi28kbzg3am9vz1c5pc9x0ac47pl6za04h63lspk99yplzk"; depends=[bit msm]; };
   NEpiC = derive2 { name="NEpiC"; version="1.0.1"; sha256="11zf112xcsg3k93vks2fnsflw2v2d56a0bsjpd460d21k3gipfz8"; depends=[igraph PairedData]; };
-  NFP = derive2 { name="NFP"; version="0.99.2"; sha256="1wnllzlww8257sbrgvfyvd21qvhf7j17mcpf6d4p6binaw8svnsb"; depends=[apcluster dplyr ggplot2 graph igraph KEGGgraph magrittr plyr stringr tidyr]; };
+  NFP = derive2 { name="NFP"; version="0.99.3"; sha256="18alq3nb47jyz0dh54y536a0igkfbh2x5nf2jxryfnizr47qc3a5"; depends=[apcluster dplyr ggplot2 graph igraph KEGGgraph magrittr plyr stringr tidyr]; };
   NFWdist = derive2 { name="NFWdist"; version="0.1.0"; sha256="0833lg0pd763awrc6ibidwf2ldl79w9lmm5acq4bnpd2hzsx60l8"; depends=[]; };
+  NGBVS = derive2 { name="NGBVS"; version="0.1.0"; sha256="0ap8hq3n8xxlvp20f90prksy6lfnrwqb3k32npnx3d78j1cd7qdq"; depends=[ghyp Rfast]; };
   NHANES = derive2 { name="NHANES"; version="2.1.0"; sha256="0aphv3rakfcfrv2km1xyxpj1bxiazy6gwrvs7lyhxmq468fk4c9a"; depends=[]; };
   NHEMOtree = derive2 { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[emoa partykit rpart sets]; };
   NHLData = derive2 { name="NHLData"; version="1.0.0"; sha256="0dfqalccbkmqrn3h1z6s78l818c8sqn7d6yc8mg872ygmszryci7"; depends=[]; };
-  NHMSAR = derive2 { name="NHMSAR"; version="1.12"; sha256="034cjzbwyf5jkj24wf9s6dij7g416psd2iz7fjrg34q9ax2kzyyl"; depends=[glasso lars ncvreg ucminf]; };
+  NHMM = derive2 { name="NHMM"; version="3.10"; sha256="058p0lyizqhdhapvjxk2c7n0bpid340hv1dn0cypy5w12y7zml4s"; depends=[BayesLogit MASS MCMCpack msm Rcpp]; };
+  NHMSAR = derive2 { name="NHMSAR"; version="1.15"; sha256="0fbv5jjrzir9i84pidigjhfnjyyzhnhi7j1mn7cx58wlh9qn9ark"; depends=[glasso lars ncvreg ucminf]; };
   NHPoisson = derive2 { name="NHPoisson"; version="3.2"; sha256="0k6m6ampp7g95d0jm5msvrgc12rqirpanb1ykbdf1ii027pqpwsn"; depends=[car]; };
-  NHSRdatasets = derive2 { name="NHSRdatasets"; version="0.1.1"; sha256="0i75dlb0z8i3kp4b7h5fy8ykmnv4ciih1maj21hl7a7l47s095if"; depends=[]; };
+  NHSRdatasets = derive2 { name="NHSRdatasets"; version="0.1.2"; sha256="0xiqbqq7xjyi1vxza853ylyiq4nqr6y10x8i13c2kj756biz4h1n"; depends=[]; };
   NIPTeR = derive2 { name="NIPTeR"; version="1.0.2"; sha256="0ll6amqyw33a93xiccihidrnbaqlx1q7kqcd4wks7cvqawd8pgv1"; depends=[Rsamtools S4Vectors sets]; };
   NIRStat = derive2 { name="NIRStat"; version="1.0"; sha256="1hi8201zslp1f7m3jci8q03y3f1zlcck2x3i793l7lsyl7qbzd1z"; depends=[ggplot2 gridExtra mgcv]; };
   NISTnls = derive2 { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; };
@@ -2602,18 +2705,19 @@ in with self; {
   NMF = derive2 { name="NMF"; version="0.21.0"; sha256="1qq25n3k5sgh3srlshb3ic6q92s12c1ilqf5cd5anvq6cqfchc1v"; depends=[cluster colorspace digest doParallel foreach ggplot2 gridBase pkgmaker RColorBrewer registry reshape2 rngtools stringr]; };
   NMFN = derive2 { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
   NMI = derive2 { name="NMI"; version="2.0"; sha256="1rxphy9rhy9zhdiz48dvl9m26x6k681lnyn39lqxs0a6jhrxg7y3"; depends=[]; };
-  NMOF = derive2 { name="NMOF"; version="1.6-0"; sha256="0m97xi1bpq1gw18fn512blh0li6xv2yfipf2c3aj7bwaq91wv12l"; depends=[]; };
+  NMOF = derive2 { name="NMOF"; version="2.0-1"; sha256="1p3qkgw255wn1xzrjp9bgvblmkpi3ngrv57m88r54s5m90h72z26"; depends=[]; };
+  NMVANOVA = derive2 { name="NMVANOVA"; version="1.1.0"; sha256="1jlqyg5vn7j8srvifjghd5a7820kadl8kbwib4qxalrfprq81h8p"; depends=[]; };
   NNLM = derive2 { name="NNLM"; version="0.4.3"; sha256="0p7p26070w2j57z5i89pmpgd470yh2z0rrfzpalzdngc8mzp2rkj"; depends=[Rcpp RcppArmadillo RcppProgress]; };
   NNMIS = derive2 { name="NNMIS"; version="1.0.1"; sha256="1w2i4xlx249p589yqdgbx1ra406ycxw729vbk1lqadbn71m6blaz"; depends=[survival]; };
-  NNS = derive2 { name="NNS"; version="0.4.3"; sha256="163kizr1ck4m0fvxwdlja2f1lc7347jgmnrxq89qyjx477gjpir0"; depends=[data_table doParallel rgl stringr]; };
+  NNS = derive2 { name="NNS"; version="0.4.7.1"; sha256="10hb06wdd8fn0rp32hagaqf19ig4fi16rd8l3h888vlzfwfrw83w"; depends=[data_table doParallel rgl stringr]; };
   NNTbiomarker = derive2 { name="NNTbiomarker"; version="0.29.11"; sha256="0sqlf7vzhpmq2g98c2qlrcqn3ba4ycfxbczgcjiqqhqsvgkpacc1"; depends=[magrittr mvbutils shiny stringr xtable]; };
   NORMA = derive2 { name="NORMA"; version="0.1"; sha256="193q6dwn8v7k8xq0amjpvb3v6mn7c6agqa487gvjj78dy1qz720a"; depends=[rootSolve]; };
   NORMT3 = derive2 { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
   NORRRM = derive2 { name="NORRRM"; version="1.0.0"; sha256="06bdd5m46c8bbgmr1xkqfw72mm38pafxsvwi9p8y7znzyd0i6ag3"; depends=[ggplot2 SDMTools]; };
   NORTARA = derive2 { name="NORTARA"; version="1.0.0"; sha256="1q4dmn5q939d920spmxxw08afacs3pzhr2gzwyqa5kn8xiz4ffg8"; depends=[corpcor Matrix]; };
-  NPBayesImputeCat = derive2 { name="NPBayesImputeCat"; version="0.1"; sha256="1bqhzzi0c0xw5piq5jng239wing01lsyn3s24hv3rfx3qxy0s0f0"; depends=[Rcpp]; };
+  NPBayesImputeCat = derive2 { name="NPBayesImputeCat"; version="0.2"; sha256="0fxcs2l6g1gkvydl04ippkq192jn0zl2c304ww4hczzpvn7l8lsp"; depends=[Rcpp]; };
   NPC = derive2 { name="NPC"; version="1.1.0"; sha256="06y6vdln5zyinq9bsp66yz6i1v5bkw9pa2hknl9brwc75z359apn"; depends=[coin dplyr matlab permute]; };
-  NPCD = derive2 { name="NPCD"; version="1.0-10"; sha256="1ag7j1r9j3piisg706hyhq8vaqfqvm1blxpkfxx7r1impjyqzyai"; depends=[BB R_methodsS3 R_oo]; };
+  NPCD = derive2 { name="NPCD"; version="1.0-11"; sha256="107i33z4q5w2828sm0pm8234kmp1v3a2w72lmhvi0rpnjhg0x120"; depends=[BB R_methodsS3]; };
   NPCirc = derive2 { name="NPCirc"; version="2.0.1"; sha256="1pyckjvf4vzns9hxnhnk7cm4abllmdj3f142pvjhnilyqwndqgyc"; depends=[circular misc3d movMF plotrix rgl shape]; };
   NPHMC = derive2 { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[smcure survival]; };
   NPHazardRate = derive2 { name="NPHazardRate"; version="0.1"; sha256="0na4iphva1dadz457ii8kxrhnki2asaxpbwr824rljyrldj9rcgg"; depends=[survival]; };
@@ -2621,16 +2725,16 @@ in with self; {
   NPMLEcmprsk = derive2 { name="NPMLEcmprsk"; version="3.0"; sha256="0nm88fsxgrfk0j0lmir57bhxy4p8ah503gpj6jdlvjqw862jigiq"; depends=[]; };
   NPMOD = derive2 { name="NPMOD"; version="0.1.0"; sha256="1m3rfgyxdbyr0m5vznav5qk70ch45wz3dc8wccxjcxrcfkn8i18k"; depends=[BSDA clinfun gWidgets nortest pspearman readxl rlang RVAideMemoire]; };
   NPMVCP = derive2 { name="NPMVCP"; version="1.1"; sha256="13jpm46abwziq8859jhl6hg1znk3ws1q7g4vlr2jyri3qa6h22dd"; depends=[]; };
-  NPP = derive2 { name="NPP"; version="0.1.0"; sha256="0pwspgwrwdjsdsny8qvhdnqcsxh5fsg33chlla75562hr2jaxqkb"; depends=[]; };
+  NPP = derive2 { name="NPP"; version="0.2.0"; sha256="0zm67b9gs32snsd1knmdmz0ksksdin9cvqrqd94n7g378gdql96y"; depends=[]; };
   NPS = derive2 { name="NPS"; version="1.1"; sha256="02idja149a2sj97sks4lhsaflpifyxi6n0rjlcq9993f84szfgsi"; depends=[]; };
   NPflow = derive2 { name="NPflow"; version="0.13.1"; sha256="0sq47frh665m8mibif1w3i2z5pb577v1ngdjirbya0a9chpmwc3s"; depends=[ellipse fastcluster ggplot2 gplots pheatmap Rcpp RcppArmadillo reshape2 truncnorm]; };
   NPsimex = derive2 { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
   NSM3 = derive2 { name="NSM3"; version="1.12"; sha256="0spkzx2zm8q85h7ij9r52bsqlwgw2fsc7zw3aaz8644q0xlnjnvj"; depends=[agricolae ash binom BSDA coin combinat epitools fANCOVA gtools Hmisc km_ci MASS metafor nortest np partitions quantreg Rfit SemiPar SuppDists survival waveslim]; };
   NSO1212 = derive2 { name="NSO1212"; version="1.0.0"; sha256="1yk07n9ksbazj27sax5jhs5f84zy80awrvkhziclsqm3h1g3h7w5"; depends=[httr jsonlite]; };
-  NST = derive2 { name="NST"; version="2.0.3"; sha256="1viks9lwsbd48w7fa8rscav3pchfcxrsc7h4jgz7114cq4334y9q"; depends=[ape permute vegan]; };
+  NST = derive2 { name="NST"; version="2.0.4"; sha256="0kwdfqr30av50k1s8sdf7714kzq9z1qrg85c3r7ljzrajj16vnl3"; depends=[ape permute vegan]; };
   NSUM = derive2 { name="NSUM"; version="1.0"; sha256="1as4g3v7qlk9wxlpwhg293980jq9gy6qay77bbcrjf481gvkkbp6"; depends=[MASS MCMCpack]; };
-  NScluster = derive2 { name="NScluster"; version="1.3.1"; sha256="0qiyw5zb0y45p9agagwz9b3c6njv5x2np0xbggqnkc62593xb9mr"; depends=[]; };
-  NTS = derive2 { name="NTS"; version="1.0.0"; sha256="0xpaay5141bnlhsa8n4y61v1jbnckj3x6024bdryabq397ncs1nl"; depends=[dlm MASS MSwM Rdpack tensor]; };
+  NScluster = derive2 { name="NScluster"; version="1.3.4"; sha256="1bkzmm573ic6xrsqbbln865rfw2xnmby632m3jcgamddxppx3fjf"; depends=[]; };
+  NTS = derive2 { name="NTS"; version="1.0.1"; sha256="12kv49mkkqv4hqm784vgvhxbvs9jdsg4n54x0qdhfxv26n3a0fvm"; depends=[dlm MASS MSwM Rdpack tensor]; };
   NUCOMBog = derive2 { name="NUCOMBog"; version="1.0.4.2"; sha256="0s6gm3adc9qdh94pxzgccbxx1f1lbgqyvd4xk37xp6f3b5hwljdz"; depends=[snowfall]; };
   NameNeedle = derive2 { name="NameNeedle"; version="1.2.4"; sha256="1f8hmabwafjmgx2z381a3m84zfrd0s9x51haa4c1phq41yfq2lm5"; depends=[]; };
   NanoStringNorm = derive2 { name="NanoStringNorm"; version="1.2.1"; sha256="05r1hvrxwi2mcq3pv6b699291qg120ijad96s5dah2f6cwx7gm7j"; depends=[gdata vsn XML]; };
@@ -2644,25 +2748,26 @@ in with self; {
   NetComp = derive2 { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
   NetData = derive2 { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
   NetIndices = derive2 { name="NetIndices"; version="1.4.4"; sha256="0ydivbri8l8zkxi18ghj9h66915scyhca8i9mcyq4b06mjfigss8"; depends=[MASS]; };
-  NetLogoR = derive2 { name="NetLogoR"; version="0.3.5"; sha256="0nwzpn4qdw5idx9r69nh7bhn8hphjiysqyx721jl0qchp8ssbg51"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; };
+  NetLogoR = derive2 { name="NetLogoR"; version="0.3.6"; sha256="02i9jd6sksxkbnm3ldadp1xfmhkb27n5ahhgs70fg2g5nhc2jxs9"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; };
   NetMix = derive2 { name="NetMix"; version="0.1.4"; sha256="0sl5wrb86fvrjrq1qj3w2c7qg052y07wai53w0az2rfs1slf0af9"; depends=[clue gtools igraph lda Matrix Rcpp RSpectra]; };
   NetOrigin = derive2 { name="NetOrigin"; version="1.0-3"; sha256="162dhyx7z1nd3z14lfvm3dz0qwwvrc3n17zswbnwcfj6g1b1p2f1"; depends=[colorspace Hmisc igraph]; };
   NetPreProc = derive2 { name="NetPreProc"; version="1.1"; sha256="0r51dqymf2nqm86py4zwdlf7qf120j0bg9r6a9c0gsyyijh4z40p"; depends=[graph]; };
   NetRep = derive2 { name="NetRep"; version="1.2.1"; sha256="0adlnq22nslp8ildbrf0z26783kzgz4cyn45a981qyjbw4c42hin"; depends=[abind BH foreach RColorBrewer Rcpp RcppArmadillo RhpcBLASctl statmod]; };
+  NetSimR = derive2 { name="NetSimR"; version="0.1.0"; sha256="0iadlvc7m78svkjcwx18pk18jg7dv69gm1cvkz8k2a7b1absd9f5"; depends=[]; };
   NetSwan = derive2 { name="NetSwan"; version="0.1"; sha256="1mwdy3ahagiifj2bd1ajrafvnxzi74a1x1d3i2laf1hqpz3fbgld"; depends=[igraph]; };
   NetWeaver = derive2 { name="NetWeaver"; version="0.0.6"; sha256="058fi3vbp11mbg69n4yp1zf48akfdl6s2p0qpa0v6ngmk2zjk0bq"; depends=[]; };
   NetworkChange = derive2 { name="NetworkChange"; version="0.5"; sha256="1n4nnnds8m0waa64b1k14ph1jdj26pd6fphsd53ad5lpyglpzq0y"; depends=[abind GGally ggplot2 ggrepel ggvis gridExtra igraph LaplacesDemon MASS MCMCpack mvtnorm network qgraph RColorBrewer reshape rlang Rmpfr sna tidyr]; };
   NetworkComparisonTest = derive2 { name="NetworkComparisonTest"; version="2.2.1"; sha256="0a4v69p1xykzb4s9sqj2bqm333a6sx2j8f8jdnp3l7dlkwg9clqp"; depends=[IsingFit IsingSampler Matrix qgraph reshape2]; };
-  NetworkDistance = derive2 { name="NetworkDistance"; version="0.3.1"; sha256="17x0is591580zqc2p5v8nwsd6n35mfwalyd15mlgirdcpz1s9wrs"; depends=[CovTools doParallel foreach igraph Matrix network pracma Rcpp RcppArmadillo Rdpack RSpectra]; };
-  NetworkExtinction = derive2 { name="NetworkExtinction"; version="0.1.0"; sha256="1scza639kf3zzz2yd9q31wsvxpvpq8hbx82a206jkxlxb4dq6vxr"; depends=[broom dplyr ggplot2 magrittr network scales sna tidyr]; };
+  NetworkDistance = derive2 { name="NetworkDistance"; version="0.3.2"; sha256="1sd5pnm95l0w3737gyrjxhxvnx4wgz72mw5d5q8vp3vygxagx86h"; depends=[doParallel foreach igraph Matrix network pracma Rcpp RcppArmadillo Rdpack RSpectra]; };
+  NetworkExtinction = derive2 { name="NetworkExtinction"; version="0.1.1"; sha256="1958kpdcqp4hhkqmfjg2qnrzhwcmfkbgdriq9iyqmmcr7qm8c1y7"; depends=[broom dplyr ggplot2 magrittr network scales sna tidyr]; };
   NetworkInference = derive2 { name="NetworkInference"; version="1.2.4"; sha256="1x63szbns8wf3k89ibk2p66prngw4fr2ckfn1568mnxdwnzvhrb4"; depends=[assertthat checkmate ggplot2 ggrepel Rcpp RcppProgress]; };
   NetworkRiskMeasures = derive2 { name="NetworkRiskMeasures"; version="0.1.2"; sha256="0c10nahybjd1n0yr78ynbsdnkfa0p7kz6dx3rbwxwsp3x4mrcd6y"; depends=[dplyr expm ggplot2 Matrix]; };
   NetworkSim = derive2 { name="NetworkSim"; version="0.1.0"; sha256="1gvhzlmq46p99wald4pjnv9wxxqdympjkh3bzi98qa7qi84lny7y"; depends=[igraph incgraph]; };
-  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.2.3"; sha256="0ldhrp3r9aqsqblvg249bi2ndgj66x53dm0zm941a6nf7kh6j3zl"; depends=[corrplot doParallel fdrtool foreach igraph MASS Matrix ppcor psych pwr qgraph R_matlab]; };
+  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.3.2"; sha256="0dh9c2iwvg3mn6gfi3yihf2436bzl3vqhav22n2q6amq17b5p3va"; depends=[corrplot doParallel fdrtool fitdistrplus foreach igraph MASS Matrix ppcor psych pwr qgraph R_matlab wTO]; };
   NeuralNetTools = derive2 { name="NeuralNetTools"; version="1.5.2"; sha256="0d73rbp8v0k0j8dp4yigan7krhglx6qfbadvyg7nsj67xc00vbfd"; depends=[ggplot2 nnet reshape2 scales tidyr]; };
-  NeuralSens = derive2 { name="NeuralSens"; version="0.0.5"; sha256="1lbl2p9cc35dk0vlcna72nilbv63gv0v96cgwdn9w2hny1bff3za"; depends=[caret fastDummies ggplot2 gridExtra NeuralNetTools reshape2 stringr]; };
+  NeuralSens = derive2 { name="NeuralSens"; version="0.1.0"; sha256="1ay8jvdm2rc5z8y761mk1l5yszcxixiwin0dr91f9dzws3yjlkrg"; depends=[caret fastDummies ggforce ggplot2 gridExtra Hmisc NeuralNetTools reshape2 stringr]; };
   Newdistns = derive2 { name="Newdistns"; version="2.1"; sha256="1b5njkzj8b0wrvvfv904di0933k9d320gadmfm5zl6pzdp34bh1i"; depends=[AdequacyModel]; };
-  NewmanOmics = derive2 { name="NewmanOmics"; version="1.0.2"; sha256="16lysb690n8jck6c82b8akrd88v77fj5hyi0hhqsz2kz5vj0vify"; depends=[oompaBase]; };
+  NewmanOmics = derive2 { name="NewmanOmics"; version="1.0.4"; sha256="1ny1w4kwdgfzm4jsj6mf3k0c10bwzwz4gmpb5vg3qffddly9wfaz"; depends=[oompaBase]; };
   NightDay = derive2 { name="NightDay"; version="1.0.1.1"; sha256="1gwwxk428gkvci4dhfb3zikvidalpqkl0q2r6qpm58c12j14jk1h"; depends=[maps]; };
   NipponMap = derive2 { name="NipponMap"; version="0.2"; sha256="0jk3zz05vhximbbm15h7ngb0ffxp5w8zhisifipkdgvg1hpi7pb7"; depends=[sf tibble]; };
   NitrogenUptake2016 = derive2 { name="NitrogenUptake2016"; version="0.2.3"; sha256="13mh63z3x8yqd31v5a4d10bhzk4y67ac38flwk2msv7qcx37sny6"; depends=[car MASS zoo]; };
@@ -2672,9 +2777,9 @@ in with self; {
   Nmisc = derive2 { name="Nmisc"; version="0.3.5"; sha256="1328sfxhkq1lyx8wx2k112iq9lxhg067gnk36vgxpcsq42vdzycr"; depends=[dplyr magrittr purrr rappdirs rlang stringr tibble tidyselect]; };
   NoiseFiltersR = derive2 { name="NoiseFiltersR"; version="0.1.0"; sha256="0y90si8f5hsi273g10hw700r72la30hwqlwg59gaq76wqlkm8j0p"; depends=[caret e1071 kknn MASS nnet randomForest rJava rpart RWeka]; };
   NominalLogisticBiplot = derive2 { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[gmodels MASS mirt]; };
-  NonCompart = derive2 { name="NonCompart"; version="0.4.4"; sha256="0m62jwp572z7gn4rykyr47b6cfi4sy9hxxghhlkjdclkxw7bjxx9"; depends=[]; };
+  NonCompart = derive2 { name="NonCompart"; version="0.4.5"; sha256="0z2iigr8nsyanx9lnf7hq5d5fbnm1kd3ir2scfhaqafxa8y8byq9"; depends=[]; };
   NonNorMvtDist = derive2 { name="NonNorMvtDist"; version="1.0.1"; sha256="135scrxwm52fg4drxfr8dgwp2jrgdgbi3fq13i4cka3i99bpx4lm"; depends=[cubature]; };
-  NonProbEst = derive2 { name="NonProbEst"; version="0.1.0"; sha256="0h21w26d22ffcx384b0fb1cm8fcwh4ijp18a691q7vqzcxq0f101"; depends=[caret e1071 sampling]; };
+  NonProbEst = derive2 { name="NonProbEst"; version="0.2.2"; sha256="0rkdl81l6rnxg36h0qqwwpvsqa9c64yc3gld3xynq4z0flvnqwkq"; depends=[caret e1071 sampling]; };
   NonpModelCheck = derive2 { name="NonpModelCheck"; version="3.0"; sha256="13qk2wbgpdf763q5xg29p2hxwqpml23pcgxrzmx12vnapnqfh71k"; depends=[dr]; };
   Nonpareil = derive2 { name="Nonpareil"; version="3.3.4"; sha256="1hhshcggfv92ll5zqh8hd3pldp07n0684yh1252z2jv2vbl87v3z"; depends=[]; };
   NormExpression = derive2 { name="NormExpression"; version="0.1.0"; sha256="1j4q8mb70ig40acfd9kfy12vxdvq3qpf53rxh47kkw8mywnd0449"; depends=[]; };
@@ -2685,19 +2790,19 @@ in with self; {
   NormalizeMets = derive2 { name="NormalizeMets"; version="0.25"; sha256="0hnyr2aklibbvs6b6q4l0zbb9g8qmp2ds4lqic8a9alqn66sfnf2"; depends=[AUC crmn e1071 GGally ggplot2 htmlwidgets impute knitr limma plotly rmarkdown]; };
   NostalgiR = derive2 { name="NostalgiR"; version="1.0.2"; sha256="0rpvwi815sdhaxqpji1y6g0vy8mkn5k6wci0a4jf54pkywwkwrwp"; depends=[txtplot]; };
   Nozzle_R1 = derive2 { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
-  Numero = derive2 { name="Numero"; version="1.2.0"; sha256="0vzz6r2lhg9rygcmgckhagfya4vp6xc1k9sczl47h18kv7daw8d3"; depends=[Rcpp]; };
+  Numero = derive2 { name="Numero"; version="1.3.3"; sha256="0n4mi354g1a7v5lczc1ax9yykv2h3dg6kcy2f67wzzwvgbjgz691"; depends=[Rcpp]; };
   NutrienTrackeR = derive2 { name="NutrienTrackeR"; version="0.99.2"; sha256="1vzha3ywjbd877fqy3r2xkgi8m44s3ss65bij0vcc4mx8lajhgb5"; depends=[ggplot2]; };
   OAIHarvester = derive2 { name="OAIHarvester"; version="0.3-0"; sha256="1c57jxb9n397wdkrirbfh70sxllrg9zsy0np698z7kcx83rz5lqr"; depends=[curl xml2]; };
   OBMbpkg = derive2 { name="OBMbpkg"; version="1.0.0"; sha256="01wch8wwij3fd0jambk0hpkhlnp4ryrq8qnnr2w1iad9zssjyii5"; depends=[]; };
   OBRE = derive2 { name="OBRE"; version="0.1-0"; sha256="1sxfb8mn0ky8x177l3v6wwcr96h5hfwd718h1akwrpir7acldchl"; depends=[pracma]; };
-  OBsMD = derive2 { name="OBsMD"; version="5.0"; sha256="1fwp5dv6yh5pkkjn1gns97mbifzjp4cm8wnfmdc1rifr6jijr624"; depends=[]; };
+  OBsMD = derive2 { name="OBsMD"; version="5.3"; sha256="10acj6d0nvf1zyirp001c2fhsg2gq33zywnp8w70gm1dk7pgzfzr"; depends=[]; };
   OCA = derive2 { name="OCA"; version="0.1"; sha256="0kaf46gic8gp8f98y68kqvgm1baicwgvarfiwry1j0bd2rjad64d"; depends=[]; };
   ODB = derive2 { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; };
   ODEnetwork = derive2 { name="ODEnetwork"; version="1.3.1"; sha256="0j6kw32hq9gfiwmyh4zxx7ibfxplhass7q309y8r656lkhvr9nin"; depends=[checkmate deSolve]; };
   ODEsensitivity = derive2 { name="ODEsensitivity"; version="1.1.2"; sha256="0yddv5h3y0xfviqjgrbixawd00jc1rh9ngckfqka5j855vhchh66"; depends=[checkmate deSolve ODEnetwork sensitivity]; };
   ODS = derive2 { name="ODS"; version="0.2.0"; sha256="0i7giibass7hadvv6mb7k9xrykgfss57jmm6gpbym8qcywhzq4ny"; depends=[cubature survival]; };
   OData = derive2 { name="OData"; version="0.6"; sha256="10r4kfhdabramjmkgc4fl0bljaiqbvc7rq4byas7q8cmji2czw6f"; depends=[RJSONIO XML]; };
-  OECD = derive2 { name="OECD"; version="0.2.3.999"; sha256="02bldn2c5cnjx171ckqrrb06v50m7zps20sb6k1crmx550vmgajc"; depends=[httr rsdmx xml2]; };
+  OECD = derive2 { name="OECD"; version="0.2.4"; sha256="1cxjd5h10ynjzblk5d5crdknk19pn8ik37d8hffvz5iydp7ammqn"; depends=[httr rsdmx xml2]; };
   OGI = derive2 { name="OGI"; version="1.0.0"; sha256="0qw55jamkvdf3vfa5c0ygbymbs4d9q15dihiqz691hdfnyjvc2mk"; depends=[lpSolve]; };
   OHPL = derive2 { name="OHPL"; version="1.4"; sha256="0svim112khdymdj1bsj8vri6r0zph5312y148mlh5h98rah40i08"; depends=[glmnet mvtnorm pls]; };
   OIdata = derive2 { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[maps RCurl]; };
@@ -2707,7 +2812,7 @@ in with self; {
   OOR = derive2 { name="OOR"; version="0.1.2"; sha256="1zw7g0365znyn828qqsn83l2a837wwj9cx7dzcbns28vhqmsn6hm"; depends=[]; };
   OOmisc = derive2 { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
   OPDOE = derive2 { name="OPDOE"; version="1.0-10"; sha256="04z944i4f3i0cjnxh32wf7n2dfyynnvkz4lxdkn90flam2np58yv"; depends=[crossdes gmp mvtnorm nlme orthopolynom polynom]; };
-  OPI = derive2 { name="OPI"; version="2.7"; sha256="0mmk8alpwm4vmq2yr4qkri2zkh4lxfvrp70j0zljinxcynaraqzn"; depends=[]; };
+  OPI = derive2 { name="OPI"; version="2.9"; sha256="0nkdzl4c6k77phiig3mjwp9dkyarcr4k07mxc6ff72yr776s2pma"; depends=[]; };
   ORCI = derive2 { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
   ORCME = derive2 { name="ORCME"; version="2.0.2"; sha256="1pm8ajj24qqj2fir0gjzq5f4mfpl1cnj6fm2z5qg6g3sbnm57ayk"; depends=[Iso]; };
   ORDER2PARENT = derive2 { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; };
@@ -2716,6 +2821,7 @@ in with self; {
   OSCV = derive2 { name="OSCV"; version="1.0"; sha256="17wrfak6b6m2l3iqbhdwcfh0rlqb14rkvrbari7v46gya9v7hq20"; depends=[mc2d]; };
   OSDR = derive2 { name="OSDR"; version="1.1.3"; sha256="059sj003zsrabmjfhwvvpi599ssrckcqpiw2b3vz405ljnhjmlap"; depends=[]; };
   OSMscale = derive2 { name="OSMscale"; version="0.5.1"; sha256="0rjhyhh1iafgd9h1pbd2clyg2sh0gg7y1aqmiislqyn6h6jrvgqn"; depends=[berryFunctions OpenStreetMap sp]; };
+  OSNMTF = derive2 { name="OSNMTF"; version="0.1.0"; sha256="0g83wqh97iz3g4ganj2dy3biyn8cmb0v8zz6rydald1hfszj8aa2"; depends=[dplyr MASS]; };
   OSTSC = derive2 { name="OSTSC"; version="0.0.1"; sha256="0p92w25xvajsn44rd5hg1m7l9l4m0rpmw175nnqr438432hqh7cc"; depends=[doParallel doSNOW fields foreach MASS]; };
   OTE = derive2 { name="OTE"; version="1.0"; sha256="18w483syhs523yfib9sibzmj16bypqxk4sc4771kfr1958h3igai"; depends=[randomForest]; };
   OTRselect = derive2 { name="OTRselect"; version="1.0"; sha256="1bh14228yz552ngywjf1qyh1isqj4cgiy7n7d4zg8dpqwxr04ykp"; depends=[lars survival]; };
@@ -2735,6 +2841,7 @@ in with self; {
   Omisc = derive2 { name="Omisc"; version="0.1.2"; sha256="0ww83srfc7vr1gw2aaa5bahs6lvm11j4057hn06pclz1wb6fnbyw"; depends=[copula MASS psych]; };
   OmnibusFisher = derive2 { name="OmnibusFisher"; version="1.0"; sha256="0x3q04g45nixgsrl4biqqi6bk4kx79spq5whm3n4ppr0nkv8dw4h"; depends=[CompQuadForm stringr survey]; };
   OnAge = derive2 { name="OnAge"; version="1.0.1"; sha256="1zby5sf92c185b5m19jv4ndgbv6mz107nc47zn1d6bijrypzpc20"; depends=[]; };
+  OncoBayes2 = derive2 { name="OncoBayes2"; version="0.5-4"; sha256="0y6kqqv93bh1skr8cm95saycs2k9jxq8nhkf8cc29p3nak205f7c"; depends=[abind assertthat bayesplot BH checkmate dplyr Formula ggplot2 RBesT Rcpp RcppEigen rstan rstantools StanHeaders tibble tidyr]; };
   Oncotree = derive2 { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; };
   OneArmPhaseTwoStudy = derive2 { name="OneArmPhaseTwoStudy"; version="1.0.3"; sha256="0q8g33s1jq0ipvwq83xhrly8idsh68licgyivxc628zbm1id5p38"; depends=[Rcpp]; };
   OneR = derive2 { name="OneR"; version="2.2"; sha256="1k7rzhcwq5b2yi4zfsc1r0yb6w65gxj9835d2a1dclallja3zav2"; depends=[]; };
@@ -2742,10 +2849,10 @@ in with self; {
   OpVaR = derive2 { name="OpVaR"; version="1.0.5"; sha256="14kq95i8n0g1wy3s32llw3803qzkxlyz9307clc1bwzi0wp22x5f"; depends=[actuar evmix goftest MASS pracma ReIns tea truncnorm vcd VineCopula]; };
   OpasnetUtils = derive2 { name="OpasnetUtils"; version="1.3"; sha256="0mmn4dpk1wl8slg55xzhpk7jdwhkrka53rwmrsr73sikkh3mcyfn"; depends=[digest ggplot2 httpRequest igraph plyr RCurl reshape2 rgdal rjson sp triangle xtable]; };
   OpenCL = derive2 { name="OpenCL"; version="0.1-3.1"; sha256="0vxfsvin35idgvmc22178bq0r5193pdzba3wwv9djz52fzbj7zys"; depends=[]; };
-  OpenImageR = derive2 { name="OpenImageR"; version="1.1.5"; sha256="13bkjwhxvnx7maj009bcpfx85cr08nnghlil75xbyv44ry0gr1ka"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
-  OpenML = derive2 { name="OpenML"; version="1.8"; sha256="04m2gi35hykqs4iy3ipvi41cmkv8vg145cpafjrsf98kj7jg4pmv"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise mlr ParamHelpers stringi XML]; };
+  OpenImageR = derive2 { name="OpenImageR"; version="1.1.6"; sha256="1yl7xvb86vxyf8d5g58hhmrva0gyg8iabb9npsdlnl8j0bg5gfiw"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
+  OpenML = derive2 { name="OpenML"; version="1.10"; sha256="132swv22ymm0wxq8y65y2niq8chmga1mnl1lgn6m3cgljvwad47r"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise stringi XML]; };
   OpenMPController = derive2 { name="OpenMPController"; version="0.2-5"; sha256="00hs8v47pr2d726z8izkfrgmayw147hdm16rr9rw1zs3ad216zjj"; depends=[]; };
-  OpenMx = derive2 { name="OpenMx"; version="2.13.2"; sha256="0w5y19w2hxljzlwfvc4b2lrwyz4x7hfay8zm1mirqd7k1h8b8jdk"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
+  OpenMx = derive2 { name="OpenMx"; version="2.15.4"; sha256="012iclwgh9amhhbxg90ghfjv5iwv8w25brwwp3gbas5qlwygk61a"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
   OpenRepGrid = derive2 { name="OpenRepGrid"; version="0.1.12"; sha256="02p9b2y99z9yrrm2pl86p0yqwah0yjic2wdcd4k0mhccimmmkaip"; depends=[abind colorspace GPArotation openxlsx plyr psych pvclust rgl stringr XML]; };
   OpenStreetMap = derive2 { name="OpenStreetMap"; version="0.3.4"; sha256="0kyv14lxi86n6aba4jqmsfpmn075k0ki34q6gkkvhq8yv48wg831"; depends=[ggplot2 raster rgdal rJava sp]; };
   Opportunistic = derive2 { name="Opportunistic"; version="1.2"; sha256="0kaj11ziij1v65l972x4kbr7vzkx4dwa27ymabiip4dg57a976wr"; depends=[]; };
@@ -2754,11 +2861,11 @@ in with self; {
   OptHedging = derive2 { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; };
   OptInterim = derive2 { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[clinfun mvtnorm]; };
   OptM = derive2 { name="OptM"; version="0.1.3"; sha256="1dykfhnkrqz2axzzggpzaiknd52rx8zj4nk3nv2rvh74f9hv8px7"; depends=[boot SiZer]; };
-  OptSig = derive2 { name="OptSig"; version="1.0"; sha256="1jmnxwci4rzlwgnq4zxhkii9j7ch1bymx44hk3qv7ws24k7g87nn"; depends=[pwr]; };
+  OptSig = derive2 { name="OptSig"; version="2.0"; sha256="1d5baq6zq5vkklg8sabzs9kril95swvqd6fzkfywixsqnyywcvvm"; depends=[pwr]; };
   OptimClassifier = derive2 { name="OptimClassifier"; version="0.1.4"; sha256="0f1szin0isji60gvb0zi240gri6fc4y1s71n96dn5wacdx5b8mhb"; depends=[clisymbols crayon dplyr e1071 ggplot2 lme4 lmtest MASS nnet nortest rpart]; };
   OptimaRegion = derive2 { name="OptimaRegion"; version="1.1"; sha256="1bikc12a5v3q7f26r14pdfmnxpyqzxa94a10mx5g954km3a329ly"; depends=[boot DepthProc fields geometry magrittr mclust nloptr Rdpack Rdsdp rsm spam stringr]; };
   OptimalCutpoints = derive2 { name="OptimalCutpoints"; version="1.1-4"; sha256="0n2vmzkc733yzs155zdj2n8ng74x9hy4m91fl7fac8d4gnrnc8yg"; depends=[]; };
-  OptimalDesign = derive2 { name="OptimalDesign"; version="0.2"; sha256="1gpcasdbcgqqr1l6f63q4jqva28rpz0cbgs1f4l3bizldd9kf4kh"; depends=[]; };
+  OptimalDesign = derive2 { name="OptimalDesign"; version="1.0.1"; sha256="02vxxb25q7fl73y7zq0a89ra0s88wji4mrql7p88014p073lj2as"; depends=[lpSolve Matrix matrixcalc matrixStats plyr quadprog rgl]; };
   OptimalTiming = derive2 { name="OptimalTiming"; version="0.1.0"; sha256="1mchb7wdk1v56la30ivi40aq6zma64lrdb94d64d0s7x67m8315w"; depends=[mstate survival]; };
   OptionPricing = derive2 { name="OptionPricing"; version="0.1"; sha256="0j98h3fn29xfv7xyp7av459v56chw99pnvmsbqvrv4g77p60f5q2"; depends=[]; };
   Orcs = derive2 { name="Orcs"; version="1.2.0"; sha256="0fwji4w2089zlcjbsbz9pmy54ryl4y10kxms836v1dxrjc5az3sp"; depends=[bookdown knitr lattice latticeExtra plotrix raster Rcpp remotes rgdal sf sp]; };
@@ -2770,19 +2877,18 @@ in with self; {
   OriGen = derive2 { name="OriGen"; version="1.4.3"; sha256="0a7mql87dqxrfx7phgy32hbanfwnjx8x52mj83xf2mgmqhrcikr6"; depends=[ggplot2 maps]; };
   OrthoPanels = derive2 { name="OrthoPanels"; version="1.1-3"; sha256="1bjwly22aawd2k4wqwjiaysivvwiv2zd9fyzcqsvldkq54zaszxn"; depends=[MASS]; };
   OscillatorGenerator = derive2 { name="OscillatorGenerator"; version="0.1.0"; sha256="0zqw8l955msxkdviw5vd493749zwc22qby9mfmyqnqqmq0pyjw4w"; depends=[]; };
-  OsteoBioR = derive2 { name="OsteoBioR"; version="0.1.1"; sha256="010l1xhsns1mmc6x6w1kpvzlxms5b92yg379ym2shldyy9dkaj3r"; depends=[BH ggplot2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   OutlierDC = derive2 { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[Formula quantreg survival]; };
   OutlierDM = derive2 { name="OutlierDM"; version="1.1.1"; sha256="0n8iq464ryc3v4wms7cdka39870w5pg29z9v8gmdsp4d9cfsx9v4"; depends=[MatrixModels outliers pcaPP quantreg]; };
   OutlierDetection = derive2 { name="OutlierDetection"; version="0.1.1"; sha256="0z4797j2gr37c1jnhivczff3y2dd2kilyncc087ihpwaa26wv0nl"; depends=[DDoutlier depth depthTools ggplot2 ldbod plotly spatstat]; };
   OutliersO3 = derive2 { name="OutliersO3"; version="0.6.2"; sha256="197r5mxvg968hisgqsd0p1sxjsakmn27gpsh3qx3cnvs1pikj3dr"; depends=[cellWise dplyr FastPCS forcats GGally ggplot2 HDoutliers memisc rlist robustbase robustX tidyr]; };
   OutrankingTools = derive2 { name="OutrankingTools"; version="1.0"; sha256="0z7pslkkinn7flc4xwjg0bsfswf8ad4jv9rmglaj3fmjcx9b6wgj"; depends=[igraph]; };
+  OwenQ = derive2 { name="OwenQ"; version="1.0.2"; sha256="00c8cv8bawmlswjhqrhb218vvl7k7ljw85iwbwwrhxf3hpm9mcz3"; depends=[BH Rcpp RcppEigen RcppNumerical]; };
   OxyBS = derive2 { name="OxyBS"; version="1.5"; sha256="11l3gm0jvw993jb13f6kpv77m6z0d1jswscma2v28qzkw053r3dc"; depends=[]; };
-  P2C2M = derive2 { name="P2C2M"; version="0.7.6"; sha256="07ycl22v03b2xdaw4v0l6layqhab431ma38qywzm96hkl3ywvl49"; depends=[ape ggplot2 rPython stringr]; };
   PAC = derive2 { name="PAC"; version="1.1.1"; sha256="07f83i43nxf1s2c26kkpcv4iyq517w20y1l7yg41wnmbfi9xlk7s"; depends=[dplyr ggplot2 ggrepel igraph infotheo parmigene Rcpp Rtsne]; };
   PACBO = derive2 { name="PACBO"; version="0.1.0"; sha256="1v3j5bgvf0wh8s4d2yyz0fkc3acdwjlicwnbh1r241b1742x79cb"; depends=[mnormt]; };
   PACLasso = derive2 { name="PACLasso"; version="1.0.0"; sha256="1qzzymhfsjy8mk0r0xpd5h4wrx4wk8gq3vi6fnawkq5xkrg26rld"; depends=[lars limSolve MASS penalized quadprog]; };
-  PACVr = derive2 { name="PACVr"; version="0.8.1"; sha256="03ap3m4c6jbzc311aksnrwrfd8h65gskka9jpmnx4wnvcrkalapj"; depends=[BiocGenerics genbankr optparse RCircos]; };
-  PAFit = derive2 { name="PAFit"; version="1.0.1.2"; sha256="10nwl2wbpka63qc66gk9n6m1rvpf5kx9dwl948n9l6wr488klial"; depends=[igraph knitr magicaxis mapproj MASS network networkDynamic plyr RColorBrewer Rcpp VGAM]; };
+  PACVr = derive2 { name="PACVr"; version="0.8.2"; sha256="0bqv0zhcyp5v1wln11kkvygdwd70yrixd9cbm5fvjqkmmdvmnrv0"; depends=[BiocGenerics genbankr optparse RCircos]; };
+  PAFit = derive2 { name="PAFit"; version="1.0.1.4"; sha256="0lm12dsqz88v10qdk5pyf4a4nv3kk9za8zbnmw761fk330ill045"; depends=[igraph knitr magicaxis mapproj MASS network networkDynamic plyr RColorBrewer Rcpp VGAM]; };
   PAGI = derive2 { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
   PAGWAS = derive2 { name="PAGWAS"; version="2.0"; sha256="0bz47ivd32kx1amgqllqbxyyvj773q7wasgk924hmibabiixa8nx"; depends=[foreach lars mnormt]; };
   PANDA = derive2 { name="PANDA"; version="0.9.9"; sha256="1sf3c49v4mb3mz2imqlqdbh1iab7bc2pxpi8bmgj2jld133555ip"; depends=[cluster GO_db]; };
@@ -2795,7 +2901,7 @@ in with self; {
   PATHChange = derive2 { name="PATHChange"; version="1.0"; sha256="1pmxhaych01cywx9bb5z0p5lbxcma7x6nlprivpx3gnpg7m9srpg"; depends=[rlist stringr VennDiagram]; };
   PAWL = derive2 { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[foreach ggplot2 mvtnorm reshape]; };
   PAmeasures = derive2 { name="PAmeasures"; version="0.1.0"; sha256="0c2pkms06lijly9clxp6zkasqy4zjicdwnvbqwvhp45yavwmkkkj"; depends=[survival]; };
-  PAutilities = derive2 { name="PAutilities"; version="0.2.0"; sha256="06q77mr2g448n3avps9bsy16yacahqhxvrbp3yyv2qxqsnjxvf7m"; depends=[dplyr ggplot2 lazyeval lubridate magrittr matchingMarkets rlang]; };
+  PAutilities = derive2 { name="PAutilities"; version="0.3.0"; sha256="0lx9z92127sqwsgfs2bl8cacpgncs2ignr53l9pclyln9iwdfg5v"; depends=[clues dplyr equivalence ggplot2 lazyeval lubridate magrittr matchingMarkets reshape2 rlang]; };
   PBD = derive2 { name="PBD"; version="1.4"; sha256="1n8gq8ms6gszr469hblipbgalc5m7gfiknpsbqywxml62sr4wbsb"; depends=[ade4 ape DDD deSolve phytools]; };
   PBIBD = derive2 { name="PBIBD"; version="1.3"; sha256="0zh73bsiwmsqw1vhs2dazndsf0894kfv3vfv88wr4fnh7njysz6r"; depends=[]; };
   PBImisc = derive2 { name="PBImisc"; version="1.0"; sha256="18gjp66q6l0w6vsgm6d5sjgpa906z1gyyp6yf58lq5vyg1bnfmcl"; depends=[lme4 Matrix]; };
@@ -2815,10 +2921,11 @@ in with self; {
   PCGSE = derive2 { name="PCGSE"; version="0.4"; sha256="0ky1nzhz6v9n34kas9nw2scc6ip7av19g09zcsxaa9436nhip4f6"; depends=[MASS RMTstat safe]; };
   PCICt = derive2 { name="PCICt"; version="0.5-4.1"; sha256="17ipmv6ps7c9dv4k9kxjjynnlgr63baz9z9ndwfg0lckc3vw81ya"; depends=[]; };
   PCIT = derive2 { name="PCIT"; version="1.5-3"; sha256="0gi28i2qd09pkaja4w7abcl7sz43jnk98897vc2905fnk9nks65j"; depends=[]; };
-  PCMBase = derive2 { name="PCMBase"; version="1.2.9"; sha256="1hqqkx630pbi5lp2nhby5jf4gz8q6hihp28h9wlzwakv6dwr2b4w"; depends=[ape data_table expm ggplot2 mvtnorm]; };
+  PCMBase = derive2 { name="PCMBase"; version="1.2.10"; sha256="0q84dd9a59c8pzv4pabcxlxxn37pxm5ya5pa800d3m34fd02h8i3"; depends=[ape data_table expm ggplot2 mvtnorm xtable]; };
+  PCMBaseCpp = derive2 { name="PCMBaseCpp"; version="0.1.7"; sha256="0sri6aqbx1bx32342j20jchsp4v4r7hl6xwcxidxph3ivixzn7qj"; depends=[abind data_table PCMBase Rcpp RcppArmadillo]; };
   PCMRS = derive2 { name="PCMRS"; version="0.1-1"; sha256="10n4am4qm23aaghf8awv2llcq7392s62yr6mf5h8nf18hfz29wrn"; depends=[cubature ltm mvtnorm Rcpp RcppArmadillo statmod]; };
   PCPS = derive2 { name="PCPS"; version="1.0.6"; sha256="0mihkivlpycqbzc3z8clsmiqg3c6hqnapk29h794lf99had03hp8"; depends=[ape phylobase picante RcppArmadillo SYNCSA vegan]; };
-  PCRedux = derive2 { name="PCRedux"; version="0.2.6-4"; sha256="0nya5fx06mic7knfkzddny9lxqwk039kz0d3mf32rixwlbhrdlr5"; depends=[bcp caret changepoint chipPCR ecp fda_usc FFTrees magrittr MBmca pbapply plotly pracma qpcR randomForest robustbase testthat visdat zoo]; };
+  PCRedux = derive2 { name="PCRedux"; version="1.0-2"; sha256="08c8na83q0vynm3a1xz7r9ah7x33kwq4mjyfnqk46p6i3p1snqwm"; depends=[bcp changepoint chipPCR ecp fda_usc MBmca pbapply pracma qpcR robustbase shiny zoo]; };
   PCS = derive2 { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[multtest statmod]; };
   PCSinR = derive2 { name="PCSinR"; version="0.1.0"; sha256="1z8yjryw3c43vc6fxcwiindmyq6r63pc1zr3aybwmys6mv697bb4"; depends=[]; };
   PCovR = derive2 { name="PCovR"; version="2.7"; sha256="00920h0qlw81vwh46inmvm4mdv0dfd8xvqvrj7l038hhmjb7qsjz"; depends=[GPArotation MASS Matrix ThreeWay]; };
@@ -2835,9 +2942,9 @@ in with self; {
   PET = derive2 { name="PET"; version="0.5.1"; sha256="1gdq7ai8hgl9h53b72j7sfk09l7yr2b84pdy9bl1z3x8zxbsp8br"; depends=[adimpro]; };
   PGEE = derive2 { name="PGEE"; version="1.5"; sha256="1qcxbqnbpplnfjy83nm9fj9y4abzgbxnsggzx7ix3vb9qs18cdwh"; depends=[MASS mvtnorm]; };
   PGM2 = derive2 { name="PGM2"; version="1.0-1"; sha256="03282pcq7gw47awc2mxjsbz6w3zpqjhqd7fzg8la4p00cd0vvmr4"; depends=[]; };
-  PGRdup = derive2 { name="PGRdup"; version="0.2.3.3"; sha256="1s0v44922zpxl3w9kzn9xzvs5jldg35gjrnlf89f89i3rs59gg98"; depends=[data_table ggplot2 gridExtra igraph stringdist stringi]; };
+  PGRdup = derive2 { name="PGRdup"; version="0.2.3.4"; sha256="1arviyjmvbkiv4fwfs155360p3fnfqsdnhrjdn0r2pgzmsb66i1y"; depends=[data_table ggplot2 gridExtra igraph stringdist stringi]; };
   PHENIX = derive2 { name="PHENIX"; version="1.3.1"; sha256="1gd9ycrwawi81al4f5v559km1112giwqnwvvk8ynj4kdb5bqpyq4"; depends=[ppcor SuppDists]; };
-  PHEindicatormethods = derive2 { name="PHEindicatormethods"; version="1.1.3"; sha256="1464afv2kkr8rydvb7afw6bv8p5fr9fd5a06307l4c56jkmnln3r"; depends=[broom dplyr purrr rlang tidyr]; };
+  PHEindicatormethods = derive2 { name="PHEindicatormethods"; version="1.1.5"; sha256="1cf9qzb58mvlp1qh46wl405zrfgbaf1zjc4smgwb3djdkxyznw6d"; depends=[broom dplyr purrr rlang tidyr]; };
   PHYLOGR = derive2 { name="PHYLOGR"; version="1.0.10"; sha256="17q760k5519alr2skvpnghz3c9jgw07lh5fpw4xf6hjk3qlqq82c"; depends=[]; };
   PHeval = derive2 { name="PHeval"; version="0.5.4"; sha256="06fy5dm4mnp29f01163rw1d1hyl7rlcp4pfw18s87ckpr931qyma"; depends=[survival]; };
   PIGE = derive2 { name="PIGE"; version="1.1"; sha256="0pc24rvvxzpgrsx7xsj98n5vd462hjggakzwp36qdkib69yyr4bn"; depends=[ARTP snowfall survival xtable]; };
@@ -2853,18 +2960,19 @@ in with self; {
   PKgraph = derive2 { name="PKgraph"; version="1.7"; sha256="0g36cdv5cblqx69j48irxjc5nlw2cl3p714mlsblnd3362z1brwn"; depends=[cairoDevice ggplot2 gWidgetsRGtk2 lattice proto rggobi RGtk2]; };
   PKreport = derive2 { name="PKreport"; version="1.5"; sha256="16hss9migbxpnw5f9gcw1nlvb81iyji00ylx5wd6kdwhz0ids9wj"; depends=[ggplot2 lattice]; };
   PLIS = derive2 { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; };
-  PLMIX = derive2 { name="PLMIX"; version="2.1.0"; sha256="1z89s4f22d1z6caqamksj17g0w9qlx10n2grg05hg1dpmhv1mf7b"; depends=[abind coda foreach ggmcmc ggplot2 gridExtra gtools label_switching MCMCpack PlackettLuce pmr prefmod radarchart rankdist rcdd Rcpp reshape2 StatRank]; };
+  PLMIX = derive2 { name="PLMIX"; version="2.1.1"; sha256="05mnzsi7y71cvg50qx8hp4m31gqslldl34k41r1f8npyb6ldpdca"; depends=[abind coda foreach ggmcmc ggplot2 gridExtra gtools label_switching MCMCpack PlackettLuce pmr prefmod radarchart rankdist rcdd Rcpp reshape2 StatRank]; };
   PLNmodels = derive2 { name="PLNmodels"; version="0.9.2"; sha256="0xrn1bkzj1bvbfgs0k7jkb8d10k3sh9r9s0lbwx0dgdbhny5gl6p"; depends=[biomformat corrplot dplyr ggplot2 glassoFast gridExtra igraph magrittr MASS Matrix nloptr phyloseq R6 Rcpp RcppArmadillo tidyr]; };
   PLRModels = derive2 { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; };
   PLSbiplot1 = derive2 { name="PLSbiplot1"; version="0.1"; sha256="1l8d1k913ic0qwxvrrd447p5ni3mzc6v9lv45b7vqrpzkxdci6gy"; depends=[]; };
-  PLmixed = derive2 { name="PLmixed"; version="0.1.3"; sha256="0n2d7mzviwlw2d1mk3rwhcac170khgfsdivwysqxji2qwgdhgl32"; depends=[lme4 Matrix numDeriv]; };
+  PLmixed = derive2 { name="PLmixed"; version="0.1.4"; sha256="1plkcv7k6jijywhxrsx2lxcbavzvagzl8wnz132nqq619wvb57ia"; depends=[lme4 Matrix numDeriv optimx]; };
   PLordprob = derive2 { name="PLordprob"; version="1.1"; sha256="1g23h3121g9csr85falm6vgzbva42wz3skhfr2rxmvlc3ca4afyp"; depends=[mnormt]; };
   PMA = derive2 { name="PMA"; version="1.1"; sha256="0vlz89rhm5jxcpv18cpxa396qkqf0ywxhjh17ldbgrnqgsw76r7w"; depends=[impute]; };
   PMCMR = derive2 { name="PMCMR"; version="4.3"; sha256="09bvdj2h1086r2cgy3myrhlylplxxlliv8nwx09c8kb1vn02i2ij"; depends=[]; };
-  PMCMRplus = derive2 { name="PMCMRplus"; version="1.4.1"; sha256="076nzcnky3c3rp88b9vkqxsvws8jy81yb2aw8sa1ddz6b9hx0f4i"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
+  PMCMRplus = derive2 { name="PMCMRplus"; version="1.4.2"; sha256="0n71q8kcmk1ibqn0fq9p60xrxx1dg7hszn11i51cmsx9695wwk28"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
+  PML = derive2 { name="PML"; version="1.1"; sha256="11fl7qm98n5wlfwczb6vzj9hswq7mqmb09nh9wl7986jp2wbrjlw"; depends=[dplyr rbokeh tibble tidyr trelliscopejs]; };
   PMmisc = derive2 { name="PMmisc"; version="0.1.2"; sha256="03bavk7ylmrrcc49zy9fb2q08w6138b3srxa4x038syr115k3l6k"; depends=[ggplot2 robust]; };
-  PMwR = derive2 { name="PMwR"; version="0.11-1"; sha256="00vdhm7a1sawbx04602r5f9cn7d2dsxzc5y5vrngkwc8f0yshzr4"; depends=[datetimeutils fastmatch NMOF orgutils textutils zoo]; };
-  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.4.3"; sha256="1mckjb6q7ffvzsifjwc411p9r1vykvczk6v7lcsmpzliifgc0ys4"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
+  PMwR = derive2 { name="PMwR"; version="0.12-0"; sha256="1w3zz3sh06vbyzngcpm52izi2ymnfy897q2zz7vrb6r8xxcbrlwi"; depends=[datetimeutils fastmatch NMOF orgutils textutils zoo]; };
+  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.5.0"; sha256="1b9p7r588klxmwcszffcmn37w5r29n4ab2f54xm23lnlpix80yg6"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
   POCRE = derive2 { name="POCRE"; version="0.5.0"; sha256="0aph1lmb0xkzm4l4ah2wrx13d138igf4k4w9wb9lca4vv6m7xzqf"; depends=[EbayesThresh ggplot2 pracma]; };
   POD = derive2 { name="POD"; version="1.1.4"; sha256="0ivq7jpnyb5zvvi2dx788cawrsh26hyp8j0a8mkfcsnhyhhs7hnb"; depends=[]; };
   POET = derive2 { name="POET"; version="2.0"; sha256="0w3jhj45sxisyrpcsazbrbcsz7rmraw71jjm0zixbcgc4klb98ar"; depends=[]; };
@@ -2876,7 +2984,8 @@ in with self; {
   PP = derive2 { name="PP"; version="0.6.2"; sha256="1y6f8pnvdp59xnm0vh1rjhcxy3nyd3il7r76yyrrfamdr42hh8lc"; depends=[Rcpp]; };
   PP3 = derive2 { name="PP3"; version="1.2"; sha256="1g36al9w1rxyhfzbvpw9siqq57h2xl0zr94wysz8i0jzqkkqkrvf"; depends=[]; };
   PPCI = derive2 { name="PPCI"; version="0.1.4"; sha256="18q9jjmmmmghwyzpj42k7xa55anvbg1jnqs2y6c5jzlb2cw3ga4h"; depends=[rARPACK]; };
-  PPQplan = derive2 { name="PPQplan"; version="0.1.0"; sha256="06v4agq8bd3ssbfnl1jyfzy5xi4jwj6wqfmj9qalrv9kllh839mv"; depends=[ggplot2 plotly tolerance]; };
+  PPMR = derive2 { name="PPMR"; version="1.0"; sha256="07fky5xc1dmmn23wwdjm46c86i7q20dv5f2147828v52hhky873g"; depends=[Rcpp RcppArmadillo]; };
+  PPQplan = derive2 { name="PPQplan"; version="1.0.0"; sha256="159mgwd2d7qzfwj6dnxr77p0fm7rgq9bpks2ra54s446cm4ahgkd"; depends=[ggplot2 plotly tolerance]; };
   PPRL = derive2 { name="PPRL"; version="0.3.5.2"; sha256="083al6xi9b62vbx71684bxq2xynvmxw25ak01gwngln1r84gsz5l"; depends=[Rcpp settings]; };
   PPforest = derive2 { name="PPforest"; version="0.1.1"; sha256="0iplbw5b2vhqbp6gc123ykzmilwa80akljkv3jzfmi90ckm4k08m"; depends=[doParallel dplyr magrittr plyr Rcpp RcppArmadillo tidyr]; };
   PPtree = derive2 { name="PPtree"; version="2.3.0"; sha256="002qjdx52r2h90wzrf2r3kz8fv3nwx08qbp909whn6r4pbdl532v"; depends=[MASS penalizedLDA]; };
@@ -2896,21 +3005,22 @@ in with self; {
   PROscorer = derive2 { name="PROscorer"; version="0.0.1"; sha256="0mgj0mi0vzdk0agimsx4k9i4bss0j5lqiayzhldr1hrqrx2a4f3d"; depends=[PROscorerTools]; };
   PROscorerTools = derive2 { name="PROscorerTools"; version="0.0.1"; sha256="1vliffkfqdn5l96bncfgayv19i20kmawlxi8q853wamj6npdpv5r"; depends=[]; };
   PRROC = derive2 { name="PRROC"; version="1.3.1"; sha256="1m28h8pcd78049lz2qixhkcr9h5b3jik3maqzfbvq9y58z71i4a7"; depends=[]; };
-  PRSim = derive2 { name="PRSim"; version="1.1"; sha256="0h4gncdnd48p7z1x3ja9gyi5mhmcbcr5fj8xqvlqfslvsdmsak1g"; depends=[goftest homtest]; };
-  PReMiuM = derive2 { name="PReMiuM"; version="3.2.2"; sha256="1mw5arjg9jyiyvrlcxm1sxdn989jkjfhldncdjyzkp4qhns6cjjs"; depends=[ald BH cluster data_table gamlss_dist ggplot2 plotrix Rcpp RcppEigen rgdal spdep]; };
+  PRSim = derive2 { name="PRSim"; version="1.2"; sha256="0fjcf1hbnwi4z7sk67chvvvkzf0n2scb7z0mxdnyhd0ggbn9p7a9"; depends=[goftest homtest wmtsa]; };
+  PReMiuM = derive2 { name="PReMiuM"; version="3.2.3"; sha256="1znr1swz73n1ws657dvv56y6crmqicfllbz460vaw8a0dnjiqsc9"; depends=[ald BH cluster data_table gamlss_dist ggplot2 plotrix Rcpp RcppEigen rgdal spdep]; };
   PResiduals = derive2 { name="PResiduals"; version="0.2-6"; sha256="11r0zn626s701hprjy634a7d3v3sq6lmlzpamv02609fg8wjhy9h"; depends=[Formula MASS rms SparseM]; };
   PSAgraphics = derive2 { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
   PSCBS = derive2 { name="PSCBS"; version="0.65.0"; sha256="16irvlc3ds7p03racjzyljqsc43bbwng3zsb0bmrkibmadfhcr9k"; depends=[aroma_light DNAcopy future listenv matrixStats R_cache R_methodsS3 R_oo R_utils]; };
   PSF = derive2 { name="PSF"; version="0.4"; sha256="1hjry8vjqr6zk2i2ppf3fcpsr4v4jm1705qv6i1iz2agl6g2rcnp"; depends=[cluster data_table forecast knitr]; };
   PSIMEX = derive2 { name="PSIMEX"; version="1.1"; sha256="0cndzasvg4y49incyd9nfz8y3z88ywbc7xk0zzjir665pv2xn23b"; depends=[knitr MCMCglmm pedigree plotrix]; };
   PSLM2015 = derive2 { name="PSLM2015"; version="0.2.0"; sha256="1f8kzlqil2ac8a9fbj9fhdni2narh2yaaz044mlx7gsv2ns3ai19"; depends=[dplyr ggplot2 magrittr]; };
-  PSM = derive2 { name="PSM"; version="0.8-12"; sha256="0h83b7bhslgnrq4442464i9iil6gjhw3pwxvgz5313pfk2km30vg"; depends=[deSolve MASS numDeriv ucminf]; };
+  PSPManalysis = derive2 { name="PSPManalysis"; version="0.2.2"; sha256="0g59r13nc6w4a4gkjxnvkygp9hax1sw34a5rv6r170gwdj9fiswq"; depends=[pkgbuild]; };
   PST = derive2 { name="PST"; version="0.94"; sha256="0f28zrnlficbi9iil6wbh51k9mghpkz63hw05lpmlpx1yl5nd0a6"; depends=[RColorBrewer TraMineR]; };
   PSTR = derive2 { name="PSTR"; version="1.2.4"; sha256="0d1j7khd0fx9fapak6arigzprsl8f5jadspbyzym4g2a78m7cnnq"; depends=[ggplot2 magrittr plotly snowfall tibble]; };
   PSW = derive2 { name="PSW"; version="1.1-3"; sha256="0ahm7rp795d7j88n15b3q0gl573p3g0krc7jd1zv87g4bsdc9b5x"; depends=[gtools Hmisc]; };
   PTAk = derive2 { name="PTAk"; version="1.3-34"; sha256="0ylnag492v1n0pmzsz73w12frhv8c3r3dxgarf58ny0ir0i0ywvl"; depends=[tensor]; };
   PTE = derive2 { name="PTE"; version="1.7"; sha256="1azkrij4kfmvp03lnzm88gwgvz8g54jq94j0qg8ynxvyjzrppc98"; depends=[doParallel foreach survival]; };
   PTXQC = derive2 { name="PTXQC"; version="0.92.6"; sha256="1286yrbkkra4gwkx9rv40w568a2v5mngmr4yx76w02x37msa0dhg"; depends=[data_table ggdendro ggplot2 gridExtra gtable kableExtra knitr plyr proto RColorBrewer reshape2 rmarkdown seqinr yaml]; };
+  PTwins = derive2 { name="PTwins"; version="0.1.1"; sha256="166mc7w52n9d3n72h5jvvhbki87prkils3yigdf57dn9pyixrd66"; depends=[]; };
   PUPAIM = derive2 { name="PUPAIM"; version="0.1.0"; sha256="0lkfp1jlcf0m0h7hqvbcr0sq0kbdwpvqvz52rs8j5n7ywiky4q3i"; depends=[FSA Metrics minpack_lm]; };
   PUlasso = derive2 { name="PUlasso"; version="3.2.3"; sha256="07jf81q898833qswwairkv21dxlz7890219fdgnw3ywgp5kvlp41"; depends=[doParallel foreach ggplot2 Matrix Rcpp RcppEigen]; };
   PVAClone = derive2 { name="PVAClone"; version="0.1-6"; sha256="0fj5p3z2cwnyshrr4rq88wpij2xax5p4aq0x4p342kadx9d6x2ga"; depends=[coda dclone dcmle]; };
@@ -2919,7 +3029,7 @@ in with self; {
   PWEALL = derive2 { name="PWEALL"; version="1.3.0"; sha256="0nb0v6wvj9ay90qcbrr9drg2g84fb7a9m78pzb69wp8789i8ixhk"; depends=[survival]; };
   PWFSLSmoke = derive2 { name="PWFSLSmoke"; version="1.2.100"; sha256="0fqzr5gng5miyslkxjkq0gmy1mi37bcjg8pb9vhs7dxa15dm332j"; depends=[cluster curl dplyr dygraphs geosphere ggmap glue httr jsonlite leaflet lubridate magrittr mapproj maps maptools MazamaCoreUtils MazamaSpatialUtils openair png purrr raster RColorBrewer readr reshape2 rgdal RgoogleMaps rlang sf slippymath sp stringr tibble tidyr xts]; };
   PabonLasso = derive2 { name="PabonLasso"; version="1.0"; sha256="158xg9i13nqy1bnpch8r6a7yas01hsdidmcypgccmyh7d7l52mr1"; depends=[]; };
-  Pade = derive2 { name="Pade"; version="0.1-4"; sha256="1kx5qpxd3x43bmyhk8g2af44hz3prhnrzrm571kfjmak63kym741"; depends=[]; };
+  Pade = derive2 { name="Pade"; version="0.1.5"; sha256="12lq1ixh1axyalk7h86ris1s064v3dsc7p6xb868cm07qb132y36"; depends=[]; };
   PairViz = derive2 { name="PairViz"; version="1.3.2"; sha256="01nzf7as848i3vpwgdm450x3f5lapfh2vgd59sy6qr80c19nfjl9"; depends=[graph gtools TSP]; };
   PairedData = derive2 { name="PairedData"; version="1.1.1"; sha256="07y5fd4fkwfp0lbacf41ya8cn7x4n1haxl0cln9iibjffc1mbr5q"; depends=[ggplot2 gld lattice MASS mvtnorm]; };
   PairwiseD = derive2 { name="PairwiseD"; version="0.9.62"; sha256="19qjms99gf7s39nwwgj56n8426d0gw80dipz165sk3km4zb2mcwv"; depends=[openxlsx xlsx]; };
@@ -2934,27 +3044,28 @@ in with self; {
   PakPMICS2018hh = derive2 { name="PakPMICS2018hh"; version="0.1.0"; sha256="0wkjxy8qkndhnyf1w03cr3g7s03cm60yn0lxn5j6hvh019b28nmz"; depends=[tibble]; };
   PakPMICS2018mm = derive2 { name="PakPMICS2018mm"; version="0.1.0"; sha256="08f2n134q545kwysy705mgsy6319ns4l9pwxldlxvbzq0lha4hf9"; depends=[tibble]; };
   PakPMICS2018mn = derive2 { name="PakPMICS2018mn"; version="0.1.0"; sha256="1r5cn1mx7i7hif64lhfcdz4xqqfj3j45i092370xhhi19pqq217n"; depends=[tibble]; };
+  PanCanVarSel = derive2 { name="PanCanVarSel"; version="0.0.3"; sha256="06xkzg2kvyr6ivm1z71x2pk20j37h36sx6kf4kmc8q50cq73k9jl"; depends=[Matrix msm mvtnorm smoothmest]; };
   PanJen = derive2 { name="PanJen"; version="1.6"; sha256="18cl9rls98v286kk6lyxxws3w59zpzgmqi5250gdgcf71xy2lhvm"; depends=[mgcv]; };
   PanelCount = derive2 { name="PanelCount"; version="1.0.9"; sha256="1b6c83qypjc3ylvhh24xm4pjk8w34s24v0i9ddlmg92f1518hlkj"; depends=[Rcpp RcppArmadillo statmod]; };
   Paneldata = derive2 { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; };
-  ParBayesianOptimization = derive2 { name="ParBayesianOptimization"; version="0.1.2"; sha256="07kbx156n0i59q65zrfbnhaimyzh4kkp5gs57lknzinvjqqblwdd"; depends=[data_table dbscan foreach GauPro lhs]; };
+  ParBayesianOptimization = derive2 { name="ParBayesianOptimization"; version="0.2.0"; sha256="1sgb0wrk9h52v55qc4q0r11b7x7cjmjfk1klmmvigpjlz1dycz7k"; depends=[crayon data_table dbscan foreach GauPro ggplot2 lhs plotly]; };
   ParDNAcopy = derive2 { name="ParDNAcopy"; version="2.0"; sha256="017xwznhfibi8kp0ifww02c0qcq0vxs06rjww4kcp2bvdmld8kc4"; depends=[DNAcopy]; };
-  ParallelLogger = derive2 { name="ParallelLogger"; version="1.1.0"; sha256="007linzn60bjs8nh1j1jzb292naxajjpkjwmhjc992h8himxfky4"; depends=[jsonlite snow XML]; };
+  ParallelLogger = derive2 { name="ParallelLogger"; version="1.1.1"; sha256="0z2a777536yvqcypzxis7j4k3ns5v4lwdrkib9zx1ngxxzv6k9xn"; depends=[jsonlite snow XML]; };
   ParallelPC = derive2 { name="ParallelPC"; version="1.2"; sha256="07y7xb16865khxkvwsk1yglzyy7ja4aj2wpkipaz48i77c3x8bi2"; depends=[]; };
-  ParallelTree = derive2 { name="ParallelTree"; version="0.1.2"; sha256="0x99x1iycx8ik8cih972awnxifvmhbrmjrf2csmnn9fw4rsqn0p5"; depends=[ggplot2]; };
-  ParamHelpers = derive2 { name="ParamHelpers"; version="1.12"; sha256="056cmgklr4a1385qjalr12mphaybc1x7a31qbhs319cbc3kbjkdm"; depends=[backports BBmisc checkmate fastmatch]; };
+  ParallelTree = derive2 { name="ParallelTree"; version="0.1.3"; sha256="1h53qwhc63fglm452b3by7f3g6f3hyqwkmwmbdqdb9rv3j4gvnvg"; depends=[ggplot2]; };
+  ParamHelpers = derive2 { name="ParamHelpers"; version="1.13"; sha256="0yaf899yhia2773lkq5a16wz6srpsx7xzkbgf421ai2z90m23ddr"; depends=[backports BBmisc checkmate fastmatch]; };
   ParentOffspring = derive2 { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
   ParetoPosStable = derive2 { name="ParetoPosStable"; version="1.1"; sha256="1fwji5wrhbxr089dll812csamvb5q2pxn1607rpirarifgfbj28m"; depends=[ADGofTest doParallel foreach lmom]; };
   PartCensReg = derive2 { name="PartCensReg"; version="1.39"; sha256="0blzv57cbxqghkz4fc3plvrcw80g0kx17dzmajkfv598m1wm6hc8"; depends=[Matrix optimx ssym]; };
   Partiallyoverlapping = derive2 { name="Partiallyoverlapping"; version="2.0"; sha256="0pb0digyigqyzb0zqikgz002kqf1xprcjhxr62a7iqbzy1yycayf"; depends=[]; };
   PathSelectMP = derive2 { name="PathSelectMP"; version="1.1"; sha256="036b70bpylmibny6dny79f7gdzn78arqgl2hfs031vygw63yyh9b"; depends=[mice MplusAutomation]; };
   PatternClass = derive2 { name="PatternClass"; version="1.7.1"; sha256="11r4p4s2pm0c4fmnpijzz5srhpai444mbx5nszhkssfsp9rh7cm9"; depends=[SDMTools]; };
-  Patterns = derive2 { name="Patterns"; version="1.0"; sha256="050qvyvkznn46mdx3a3i99vmbjdqya3ng7bg9n9hr0g8ghn0n7bj"; depends=[abind animation Biobase c060 cluster elasticnet glmnet gplots igraph jetset KernSmooth lars lattice limma magic Mfuzz movMF msgps nnls pixmap plotrix SelectBoost spls survival tnet VGAM WGCNA]; };
+  Patterns = derive2 { name="Patterns"; version="1.2"; sha256="1dfy0jxr4h17j00yf2lfxlczvx6sdjz08hqsrj6r26qz3g6f16br"; depends=[abind animation Biobase c060 cluster elasticnet glmnet gplots igraph jetset KernSmooth lars lattice limma magic Mfuzz movMF msgps nnls pixmap plotrix SelectBoost spls survival tnet VGAM WGCNA]; };
   PdPDB = derive2 { name="PdPDB"; version="2.0.1"; sha256="05aqg0rqrnlmvjxa32ms1vywgwhw5zlfkyf2ij0fn06rp8l2z3lv"; depends=[dendextend plyr tseries]; };
   Peacock_test = derive2 { name="Peacock.test"; version="1.0"; sha256="0ypvwywipyh8lm8xkazsfjgjpvvyi2g8kid63qff11372p33m6xs"; depends=[]; };
   PeakError = derive2 { name="PeakError"; version="2017.06.19"; sha256="1d4v7s478zjz42dm6ps4nnqqyyqv84dgmzn1bp1a4qwnfv9vmfg7"; depends=[]; };
   PeakSegDP = derive2 { name="PeakSegDP"; version="2017.08.15"; sha256="1ndf4d4ikcyqi0k51kil2jw777z4c1m4pda3dahrjmjyz0jhrhkw"; depends=[]; };
-  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2019.7.29"; sha256="0vcmz57cvyjn69nxzz5ai8xpjj92f3b9cynll5pv76v4k3sms5ld"; depends=[data_table]; };
+  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2019.9.27"; sha256="02qiqj989a9fihngvi74rbi970ifbn3kx0k419vdlhvlzwdny3i5"; depends=[data_table]; };
   PeakSegJoint = derive2 { name="PeakSegJoint"; version="2018.10.3"; sha256="0f0dw6swhhf301j4ci3rs8cmzd39dcjlb0kqxpdh7f00gp3qn7da"; depends=[PeakError penaltyLearning]; };
   PeakSegOptimal = derive2 { name="PeakSegOptimal"; version="2018.05.25"; sha256="0j39jzy4r0h787vs3klgbpcmb096ds3hzhvv5w3xs53kl0qkypj4"; depends=[penaltyLearning]; };
   PearsonDS = derive2 { name="PearsonDS"; version="1.1"; sha256="0rqh9ji0bah3n1c6fcg7krgqs65qla9p3xrnc4jr7va6ph104im9"; depends=[]; };
@@ -2964,7 +3075,7 @@ in with self; {
   PenCoxFrail = derive2 { name="PenCoxFrail"; version="1.0.1"; sha256="0snjf8jxzyf30xj3wx9p6g073dqw592l1j1c6yxfg8y4kgzhzwq7"; depends=[Matrix Rcpp RcppArmadillo survival]; };
   PepPrep = derive2 { name="PepPrep"; version="1.1.0"; sha256="1s2xn05xry50l9kf1mj6yd1dpc7yp6g3d00960hswvhznb0a4l84"; depends=[biomaRt stringr]; };
   PepSAVIms = derive2 { name="PepSAVIms"; version="0.9.1"; sha256="0m4jrq6wcjy0k80gvrnm9f7kvi1ifx9182xfq0psyaxpj0ggvzij"; depends=[elasticnet]; };
-  Peptides = derive2 { name="Peptides"; version="2.4"; sha256="1i5p0z4zhis4p1czwz3cryr64lys4dp2fddnmmasgspl8fyz8p05"; depends=[Rcpp]; };
+  Peptides = derive2 { name="Peptides"; version="2.4.1"; sha256="05xhimjw7kdga07ycgwz6mq5ppcx04zy00mx5fvavp314zrqxnsv"; depends=[Rcpp]; };
   PerFit = derive2 { name="PerFit"; version="1.4.3"; sha256="0qmh78wrx3vzz41z30db3bb62n325blphjhpzdzykfx77gr8plyr"; depends=[fda Hmisc irtoys ltm MASS Matrix mirt]; };
   PerMallows = derive2 { name="PerMallows"; version="1.13"; sha256="0ny2vc8f0npixaw1kp2d93xr4g46nsg8jjwvi6afv9xjvaz0i6wy"; depends=[Rcpp]; };
   Perc = derive2 { name="Perc"; version="0.1.3"; sha256="1wkhxwq15x2niabgnchr93h132ynswsjb81ignlk1rsqppm4hkr5"; depends=[]; };
@@ -2975,22 +3086,24 @@ in with self; {
   PerseusR = derive2 { name="PerseusR"; version="0.3.4"; sha256="1k03flbnjndx5mm26hysk64z89858m50kjs8gyldm4s5f09iny6p"; depends=[Biobase plyr stringr XML]; };
   PersianStemmer = derive2 { name="PersianStemmer"; version="1.0"; sha256="1dpfkafijg7g7hzka93l1ymq5rcnjsfgvkvbpdx3vjnid05kh4v1"; depends=[]; };
   PersomicsArray = derive2 { name="PersomicsArray"; version="1.0"; sha256="1d5gxd65b01m13rgbdhk6w3l43vqcbdk0s1pbgc8h6cnipj55z0i"; depends=[jpeg raster stringr tiff]; };
+  PetfindeR = derive2 { name="PetfindeR"; version="2.0.0"; sha256="0bflibfm1fiv18pd4wp1b6ipf5ybr9mra2r968mhmm9yy4119msy"; depends=[httr jsonlite R6]; };
   PhViD = derive2 { name="PhViD"; version="1.0.8"; sha256="038pw24sb8ja8pbbmj05rww6413i2ljybb2dxwgrpffv22aqawmc"; depends=[LBE MCMCpack]; };
   PharmPow = derive2 { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
   Phase123 = derive2 { name="Phase123"; version="2.1"; sha256="0bz867wsnrflzlzrql1vgacymx70rb9wik9jw3g34i2vigpl8x8i"; depends=[Rcpp RcppArmadillo survival]; };
+  Phase12Compare = derive2 { name="Phase12Compare"; version="1.3"; sha256="1zrll0nx2z45sa5yzan4b59pqw9wgfqxpqv7njkpwim19c0damkl"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   PhaseType = derive2 { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; };
   PhenotypeSimulator = derive2 { name="PhenotypeSimulator"; version="0.3.3"; sha256="1micildhgqx4h52927p68g6jvw2rif6maf90d3dzvn76ll2zbpwh"; depends=[cowplot data_table dplyr ggplot2 mvtnorm optparse R_utils Rcpp reshape2 snpStats zoo]; };
   Phxnlme = derive2 { name="Phxnlme"; version="1.0.0"; sha256="0h9mi8p95rp1s8xsdv38j9fpy2cy9zvjnldjmnj0n469kimp2782"; depends=[ggplot2 gridExtra lattice manipulate testthat]; };
   PhyInformR = derive2 { name="PhyInformR"; version="1.0"; sha256="10d720ww909b1xmdrms554pnn0757nzppnrniar4n157mh0qw7ms"; depends=[ape doParallel foreach geiger ggplot2 gplots gridExtra hexbin iterators PBSmodelling phytools RColorBrewer]; };
   PhySortR = derive2 { name="PhySortR"; version="1.0.8"; sha256="19426xjdii74qds0wmq5sa88zys81nyqb9lvf9pfihbjgrjr770a"; depends=[ape phytools]; };
   PhyloMeasures = derive2 { name="PhyloMeasures"; version="2.1"; sha256="01axs78s10y1bkx8dbs9vvnphdzik7hpibkwyib1x9mznmyg90hr"; depends=[ape]; };
-  PhylogeneticEM = derive2 { name="PhylogeneticEM"; version="1.2.1"; sha256="0mrlyaj15y1dzlnn13phjq64immad08wn99sv9zdixf7ybdvwwnv"; depends=[ape capushe foreach gglasso glmnet LINselect MASS Matrix plyr Rcpp RcppArmadillo robustbase]; };
+  PhylogeneticEM = derive2 { name="PhylogeneticEM"; version="1.3.0"; sha256="03yqdg4qfzqvykfwc9cgfxjaj4n57kwz95dfdq6zb7lc56gs69ms"; depends=[ape capushe foreach gglasso glmnet LINselect MASS Matrix plyr Rcpp RcppArmadillo robustbase]; };
   PhysActBedRest = derive2 { name="PhysActBedRest"; version="1.0"; sha256="0gmqh700cf6aiagb45iyyf85pgp3b86fx7fbv9lrsm4mda0r8h75"; depends=[chron lubridate stringr]; };
   PhysicalActivity = derive2 { name="PhysicalActivity"; version="0.2-2"; sha256="14z6plgwyr46vs9m997rvlz8sdglfs9g087an8668zqkzzs2w4ln"; depends=[]; };
   PieceExpIntensity = derive2 { name="PieceExpIntensity"; version="1.0.4"; sha256="023hq0gg1vi0j3yf8p5lisgs8wfp5qwyd4akxxzx7wad2985gxb3"; depends=[Rcpp RcppArmadillo]; };
   Pijavski = derive2 { name="Pijavski"; version="1.0"; sha256="1027lmmk17br9zxah980j6l3k2p92065bwigw6gpy9g0g5jjl4f1"; depends=[Rcpp]; };
   PivotalR = derive2 { name="PivotalR"; version="0.1.18.3.1"; sha256="1npfi5bdn0f4arp3wpi5ai21ad5fxx3lm7n5wjhvzvcyr6gl38as"; depends=[Matrix]; };
-  PlackettLuce = derive2 { name="PlackettLuce"; version="0.2-6"; sha256="0f6n2q8c4kmcq6hy6jk65v3y390rn84nd8dfc9r0g6qqwizwi16b"; depends=[igraph Matrix partykit psychotools psychotree qvcalc rARPACK sandwich]; };
+  PlackettLuce = derive2 { name="PlackettLuce"; version="0.2-9"; sha256="1sv37wvvp44iwv4bpjhp3mnpyk77c60vi0xwrapzywszi222ynbl"; depends=[igraph Matrix partykit psychotools psychotree qvcalc RSpectra sandwich]; };
   Planesmuestra = derive2 { name="Planesmuestra"; version="0.1"; sha256="0v7l4hrfckcf7zmk0ihq2ij0qli7x12j17vd6752d1yjk27fgk57"; depends=[]; };
   PlasmaMutationDetector = derive2 { name="PlasmaMutationDetector"; version="1.7.2"; sha256="0qra7q2pzw212qylyrfhv6zjcsldfw84b93cari0qjqnw4gyfph2"; depends=[GenomicRanges ggplot2 robustbase Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   Plasmidprofiler = derive2 { name="Plasmidprofiler"; version="0.1.6"; sha256="10m3knmz0596rm30ncyfprar6l42bjm7r34n4pjz1biqmiz6yz6k"; depends=[ape dplyr gdata ggdendro ggplot2 gridExtra gtable htmlwidgets magrittr plotly plyr RColorBrewer reshape2 stringr]; };
@@ -3028,14 +3141,16 @@ in with self; {
   PortfolioEffectEstim = derive2 { name="PortfolioEffectEstim"; version="1.4"; sha256="1sfgkwyn7vfy3rqb1cglywiv5xmyxhzvj38vgrvfq5jf3hvzsg21"; depends=[PortfolioEffectHFT rJava]; };
   PortfolioEffectHFT = derive2 { name="PortfolioEffectHFT"; version="1.8"; sha256="0y4x0d91j6g52136d921hfs5swzf85gkxafxfkf3c15dl5ns120v"; depends=[ggplot2 rJava zoo]; };
   PortfolioOptim = derive2 { name="PortfolioOptim"; version="1.1.1"; sha256="01fw1zr1gr6nlcgw8dlc66b3ygkl6w571lw73p13h0q17y1i872d"; depends=[Rsymphony]; };
+  PostcodesioR = derive2 { name="PostcodesioR"; version="0.1.1"; sha256="1hwyc8i6a5rxlg3bvjcwayjmv858a050c3y4ig3ncaldifyky4lb"; depends=[httr]; };
+  PosteriorBootstrap = derive2 { name="PosteriorBootstrap"; version="0.1.0"; sha256="0zzhz88f53l1nqynl3wq4yww9z1v354a16hhin4sdd7ha1iqi9cj"; depends=[dplyr e1071 ggplot2 gridExtra MASS Rcpp rstan StanHeaders tibble]; };
   PottsUtils = derive2 { name="PottsUtils"; version="0.3-3"; sha256="165k4sjh3kqkb8bzi68wx00yl77yfbgs70fcbpzmsmcw4g4hdpzn"; depends=[miscF]; };
   PoweR = derive2 { name="PoweR"; version="1.0.7"; sha256="040wc7hxa8y6bm1rs7ip2skdxmmwksxkyb6xzqgdjp8m7a25fppb"; depends=[Rcpp RcppArmadillo]; };
   Power2Stage = derive2 { name="Power2Stage"; version="0.5.2"; sha256="1837pc94syhyl5i0kjdmlc1h7ckas3vcpwhvhgh46sv022lrg2gi"; depends=[cubature mvtnorm PowerTOST]; };
   PowerNormal = derive2 { name="PowerNormal"; version="1.2.0"; sha256="1kryqcjvgwk0l4z3gqxdiz47mha3jw5583jlb9z7ml6v7cam06sm"; depends=[]; };
-  PowerTOST = derive2 { name="PowerTOST"; version="1.4-7"; sha256="02k6jn5dw70518g55bchax0l5gkci827lqwwyxwnn6rzs3mx4ybs"; depends=[cubature mvtnorm TeachingDemos]; };
+  PowerTOST = derive2 { name="PowerTOST"; version="1.4-8"; sha256="0975y3q648cqfmz4pp79cfclww7v7mxmkz1limnyd2ahdsbbzyqn"; depends=[cubature mvtnorm TeachingDemos]; };
   PowerUpR = derive2 { name="PowerUpR"; version="1.0.4"; sha256="0ng88x1zs4kb8cf2v51kynbp32iz41mh40my5sciyvjbw430bk59"; depends=[]; };
   PowerfulMaxEigenpair = derive2 { name="PowerfulMaxEigenpair"; version="0.1.0"; sha256="0729yphyvqy7i9mjx3swvijfhyrhh5y57qfwjwqwc4ncs18wm72r"; depends=[]; };
-  PracTools = derive2 { name="PracTools"; version="1.1"; sha256="19yyhri8wr7ki62zhl9bhpf0wbx9fhrfph44j4l65kx68aphl22d"; depends=[]; };
+  PracTools = derive2 { name="PracTools"; version="1.2.1"; sha256="1viwmwis9awr7maprnaj0vdzc5rf6md7xlc9l7hnn51xmaa734ih"; depends=[]; };
   PreKnitPostHTMLRender = derive2 { name="PreKnitPostHTMLRender"; version="0.1.0"; sha256="1749cd734f4bf0n4068s2m617k6as8h9bwp44mm3la2xy3vjf5g1"; depends=[knitr rmarkdown XML]; };
   PreProcess = derive2 { name="PreProcess"; version="3.1.7"; sha256="1fxzkmrj76mc94xdj7a0nq450021i1jxkigmh5jhrmamkp5581jf"; depends=[oompaBase]; };
   PreciseSums = derive2 { name="PreciseSums"; version="0.3"; sha256="02w0pa9dd196sg6zg9w2fp4b0k6wibbw9rbvasr3aphh98kbd6ch"; depends=[]; };
@@ -3044,19 +3159,20 @@ in with self; {
   PredictionR = derive2 { name="PredictionR"; version="1.0-11"; sha256="1dljdbya93dirx715yqs4vz7hbbcwpgrsvyfgikkm2fj28nnn6k9"; depends=[fitdistrplus]; };
   PredictiveRegression = derive2 { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; };
   PresenceAbsence = derive2 { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; };
-  PrevMap = derive2 { name="PrevMap"; version="1.5.1"; sha256="0nld41msrk85yhj54nfv86yws533bcyzz1zz9cb0dacnxvwvmjz5"; depends=[geoR lme4 Matrix maxLik numDeriv pdist raster splancs truncnorm]; };
+  PrevMap = derive2 { name="PrevMap"; version="1.5.2"; sha256="0nr65vfdzny3y3mly7slm903h4llnn3rxbxz3ml07pnighf7rr3q"; depends=[geoR lme4 Matrix maxLik numDeriv pdist raster splancs truncnorm]; };
   PriorCD = derive2 { name="PriorCD"; version="0.1.0"; sha256="1mb50w2i8sfxjzqd5xnfysn3jnzkkyv6l8algxnp0xpyhcq41pfs"; depends=[dplyr igraph ROCR visNetwork]; };
   PriorGen = derive2 { name="PriorGen"; version="1.1.2"; sha256="0qvdqqdy7wdwwcq95mkgfyf7xf6xlpwdfs3gq299yyv2ba57flnm"; depends=[rootSolve]; };
   PrivateLR = derive2 { name="PrivateLR"; version="1.2-22"; sha256="0d142fa3wk7yadvs8jszajs6hq9m03p0j6h5r4pbw7j0d1l72hgc"; depends=[]; };
   ProDenICA = derive2 { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
-  ProFit = derive2 { name="ProFit"; version="1.3.2"; sha256="0knmlja0bclzl6v58kdmx5a649m2gyvm6497gbziqnj7vn28l3wg"; depends=[celestial checkmate cubature FITSio LaplacesDemon magicaxis RColorBrewer]; };
+  ProFit = derive2 { name="ProFit"; version="1.3.3"; sha256="0jrw0v7dg5mf4zxg7pqybh9qzsiqb3nnz8g5qlc4iz73mhr9gm2b"; depends=[celestial checkmate cubature FITSio LaplacesDemon magicaxis RColorBrewer]; };
   ProFound = derive2 { name="ProFound"; version="1.3.4"; sha256="1kn9kj0vq18jxiavdzx4l4kgyfwjnflfbyqfdihrdfrkz4xz4w3c"; depends=[celestial data_table doParallel FITSio foreach magicaxis RColorBrewer Rcpp]; };
   ProPublicaR = derive2 { name="ProPublicaR"; version="0.9.2"; sha256="17fghv7w4wm4q9nd6l4pl5ibk5i4zgdhlp5pvbzvymhvby0q06sw"; depends=[config dplyr httr lubridate stringr]; };
   ProTrackR = derive2 { name="ProTrackR"; version="0.3.6"; sha256="1lhk3lrspiqcw2ckss52gdjk1f6ph8m7dlb05qxcx8mycq0xd3z9"; depends=[audio lattice signal tuneR XML]; };
   ProbForecastGOP = derive2 { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[fields RandomFields]; };
   ProbYX = derive2 { name="ProbYX"; version="1.1-0"; sha256="0dphf6jr72l235v3yjhwi8bqmv6ac7yrbyfwhx4qjrrcdnsb7qhl"; depends=[rootSolve]; };
   ProbitSpatial = derive2 { name="ProbitSpatial"; version="1.0"; sha256="0pq5bsjd00qc83c7x8vlpsxdksywlnfg7rlsvb6j21fz9wi3hpas"; depends=[Matrix numDeriv RANN Rcpp RcppEigen speedglm]; };
-  ProfessR = derive2 { name="ProfessR"; version="2.3-5"; sha256="0q04mjfr2g2l2md8c7nampivg6z4wjv6nfcq13b94sgixak0ww6f"; depends=[RPMG]; };
+  ProcMod = derive2 { name="ProcMod"; version="1.0.3"; sha256="17x4c9vgf14l1x3hx3vyv3ygl8bb5qzq7fxg2cnl910drcdnv5sz"; depends=[expm foreach MASS Matrix mvtnorm permute Rdpack]; };
+  ProfessR = derive2 { name="ProfessR"; version="2.4-1"; sha256="1wsbx0dsygc1ipzhgs1pd0lhdb0qvp4ydqzwarn6zv27rzf4p3bd"; depends=[RPMG]; };
   ProfileLikelihood = derive2 { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[MASS nlme]; };
   ProgGUIinR = derive2 { name="ProgGUIinR"; version="0.0-4"; sha256="0srhk42ssx4i096sbs4jacqjsc1ffqjxjgvpplzshlqaby1h3795"; depends=[ggplot2 MASS svMisc]; };
   ProjectManagement = derive2 { name="ProjectManagement"; version="1.2.1"; sha256="08hkb7hz0hj40ambg5li47ipjz1w2aybmcxygn5yknkl2k52j3gy"; depends=[GameTheory kappalab lpSolveAPI plotly triangle]; };
@@ -3074,15 +3190,17 @@ in with self; {
   PtProcess = derive2 { name="PtProcess"; version="3.3-13"; sha256="0vk1n7hk6v592fi5ld70db6m92zgpjx97axs5h8p53c29984qhwz"; depends=[]; };
   PubBias = derive2 { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[R_utils rmeta]; };
   PubMedWordcloud = derive2 { name="PubMedWordcloud"; version="0.3.6"; sha256="1wfp1fpr4an7psrwidx38brvhvghmvfsgjy4gdx81p1bdsdn2kw2"; depends=[RColorBrewer RCurl stringr tm wordcloud XML]; };
-  PublicationBias = derive2 { name="PublicationBias"; version="1.0.0"; sha256="1bl7msds7q8d08njgslv6ly631cmrp5yabqcayrpc852p2335q4l"; depends=[dplyr ggplot2 metafor MetaUtility Rdpack robumeta]; };
-  Publish = derive2 { name="Publish"; version="2018.04.17"; sha256="0dbcql2mi2qsxzcgcqa58yqynfq1800fa06ikyay2dm6gdyf0apq"; depends=[data_table lava multcomp prodlim survival]; };
+  PublicationBias = derive2 { name="PublicationBias"; version="1.1.0"; sha256="0prdwv3w9n0ppwizfqqvy5qj7krn3nm2zncz17zh7ijdw87xks4i"; depends=[dplyr ggplot2 metafor MetaUtility Rdpack robumeta]; };
+  Publish = derive2 { name="Publish"; version="2019.11.02"; sha256="1bm6jjqkcbyjhf0n3rjyvgcig6xanf9y38nhnvg121ajnnnwl17m"; depends=[data_table lava multcomp prodlim survival]; };
+  PupilPre = derive2 { name="PupilPre"; version="0.6.0"; sha256="1ngrqrnlm1bpd5krjbxyhvga2mmwqd11dv8djzpgykl4mh41szh9"; depends=[dplyr ggplot2 mgcv rlang robustbase shiny signal tidyr VWPre zoo]; };
   PurBayes = derive2 { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
+  Pursuit = derive2 { name="Pursuit"; version="1.0.0"; sha256="0wcg9zcln2mpqdyi4k4fcah6s1n0xd0jvc98vl4p1gyygy1x2vdr"; depends=[MASS]; };
   PwrGSD = derive2 { name="PwrGSD"; version="2.3.1"; sha256="0rzpapjn4nvrqrnjqbfsg9az1mz78q20rv43243sf58nbqw08k6f"; depends=[survival]; };
   PxWebApiData = derive2 { name="PxWebApiData"; version="0.3.0"; sha256="1c2liqh1asd0mk4cvrwpl4pdid2rqfxrma284ah4hwr6sah5lk6w"; depends=[httr jsonlite pxweb rjstat]; };
   PythonInR = derive2 { name="PythonInR"; version="0.1-7"; sha256="1vrvf68sl2k25y3ppjwpi2j4952aq4k76r92qnq3fj92789ndyqv"; depends=[pack R6]; };
   QAIG = derive2 { name="QAIG"; version="0.1.5"; sha256="1cchf5x7wzc3mc6xzvq14kmd9yxr9kq237s8af4xqaz1pv0b093j"; depends=[Formula stringr]; };
-  QBAsyDist = derive2 { name="QBAsyDist"; version="0.1.1"; sha256="03rg1lcbsv4cnj1ddsmqa9qszqi3r8igw18zf71qc29784701l4k"; depends=[ald Deriv GoFKernel locpol nloptr quantreg zipfR]; };
-  QCA = derive2 { name="QCA"; version="3.5"; sha256="0bbyza538a8bwhjxnbc38l7svjvp3dbr1ykabx79y8zwzqn8887g"; depends=[admisc fastdigest shiny venn]; };
+  QBAsyDist = derive2 { name="QBAsyDist"; version="0.1.2"; sha256="1yql29npaq9yz02bv3hqf5m2mhscjms7qqf4vlaxm8s665rxcxad"; depends=[ald Deriv GoFKernel locpol nloptr quantreg scdensity zipfR]; };
+  QCA = derive2 { name="QCA"; version="3.6"; sha256="07n2652l56w5dyz1ph4q7n9xkf0i145dya2w05b7lbilfjzqqxd1"; depends=[admisc shiny venn]; };
   QCAfalsePositive = derive2 { name="QCAfalsePositive"; version="1.1.1"; sha256="03qzb6vdnbri52gfx3laz14988p2swdv9m8i5z7gpsv3f3bjrxbp"; depends=[]; };
   QCApro = derive2 { name="QCApro"; version="1.1-2"; sha256="1glfb1x1h05cs07nq5glqvlil58wp3c0kaxi1l7k94y797i8r7hq"; depends=[lpSolve]; };
   QCAtools = derive2 { name="QCAtools"; version="0.2.3"; sha256="1q49l2mf02hqvz2ahqjdx7i3yxniy7dn2s74xjl9l6zdq8bypfw2"; depends=[directlabels ggplot2 QCA stringr]; };
@@ -3097,21 +3215,20 @@ in with self; {
   QHOT = derive2 { name="QHOT"; version="0.1.0"; sha256="02z0n2jawd6m7bvyvpcy0j13p1c0zm036g62n56xva18qnq5c9lb"; depends=[]; };
   QLearning = derive2 { name="QLearning"; version="0.1.1"; sha256="1bx77yxsnzh0ny3ghala5fw54lxzrxqk9s32qk3dzvfbyp4paggn"; depends=[]; };
   QPBoot = derive2 { name="QPBoot"; version="0.2"; sha256="1nxmxayfq2xcjzix080mkc8y52wl3vs0rcwdl8lmhwfawjb4pap5"; depends=[abind quantspec rugarch]; };
-  QPot = derive2 { name="QPot"; version="1.5"; sha256="0q80v3nssrd95z976k9w3j2yip2m2fvlzggpajwj3874vfr0jjva"; depends=[MASS]; };
   QQperm = derive2 { name="QQperm"; version="1.0.1"; sha256="06xhv54zgnx8i22j23a0dqxhh7my416idpkkwq93qd1rdzgamzc8"; depends=[]; };
   QRAGadget = derive2 { name="QRAGadget"; version="0.1.0"; sha256="0vmhbpfbbpbcs6s9zjam893yl54spbx4x4698c504g96hcc19kkp"; depends=[htmlwidgets leaflet magrittr miniUI raster scales shiny sp]; };
   QRM = derive2 { name="QRM"; version="0.4-13"; sha256="0zxhm1bdbs4jizd909vw9yjdn484vmcrwcmpk3a7gr4142q9kdjh"; depends=[gsl Matrix mgcv mvtnorm numDeriv Rcpp timeDate timeSeries]; };
   QRank = derive2 { name="QRank"; version="1.0"; sha256="1f924r5bf5vjfl12hk1n5m3f94g30f6vmvzq2bn8295dflyndck0"; depends=[quantreg]; };
   QRegVCM = derive2 { name="QRegVCM"; version="1.2"; sha256="0fcydkf6r2qxd59ylr8vn76bkxks91v58gfzvq3rjd5mqf9vsaaq"; depends=[quantreg SparseM truncSP]; };
   QSARdata = derive2 { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
-  QTL_gCIMapping = derive2 { name="QTL.gCIMapping"; version="3.1"; sha256="14zdq8a352jvgzq1wp0jj2wx3hs3cr5dpryyvlhv2c0syldlw7xl"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp stringr]; };
-  QTL_gCIMapping_GUI = derive2 { name="QTL.gCIMapping.GUI"; version="1.0"; sha256="05v93p3s9kncyzhiqgmd79h6b61xrr2k9vpgv9hjj0pkhsyanqc1"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp shiny stringr]; };
-  QTLRel = derive2 { name="QTLRel"; version="1.1"; sha256="04v6cxqvnpziz46qgnkyn9hpg5pr61js83iy8fw9lp36bw51yknc"; depends=[gdata lattice]; };
+  QTL_gCIMapping = derive2 { name="QTL.gCIMapping"; version="3.2"; sha256="0a4ki5scmc771sr79maian7y790bw71l67d1qpc09qprmf9i36jl"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp stringr]; };
+  QTL_gCIMapping_GUI = derive2 { name="QTL.gCIMapping.GUI"; version="2.0"; sha256="0jj6w8z99vpzgh76lv53zj8nv9p57y3502prr6xwkshj6rp8q1zv"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl QTL_gCIMapping Rcpp shiny stringr]; };
+  QTLRel = derive2 { name="QTLRel"; version="1.4"; sha256="1ni8hf7xiadfg4p05wa83x7wg26d030mfjm45phghg0i1n7lfc4b"; depends=[gdata lattice]; };
   QTOCen = derive2 { name="QTOCen"; version="0.1.1"; sha256="0wlbxk1rd56k02jf3pfzbx6xx5mmf6sb7gvds0067cvb7m42ghcr"; depends=[MatrixModels quantreg Rdpack rgenoud survival]; };
   QUALYPSO = derive2 { name="QUALYPSO"; version="1.1"; sha256="0qpjv6krz66qfgyzndxihy5shmlsb0zs3wh49sxp00fh2bci5msw"; depends=[doParallel expm foreach MASS Rfast]; };
   QUIC = derive2 { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
   QVM = derive2 { name="QVM"; version="0.1.1"; sha256="0dnr4h4084n505vrxfrx3czrkqdbna8s4fxpwr5czfilbfbxhpar"; depends=[gWidgets IMPACT ltm multilevel mvtnorm nlme pander psych]; };
-  QZ = derive2 { name="QZ"; version="0.1-7"; sha256="1xkqp2z18fv4z0m5wc9cjd44zk3vk1wpl2lw09x8j10p65n717fm"; depends=[Matrix]; };
+  QZ = derive2 { name="QZ"; version="0.1-9"; sha256="0i6cgywnfk8klsfr6x35fxzdshfhmps0b1fs5c7199r1rby0b3sc"; depends=[Matrix]; };
   Qtools = derive2 { name="Qtools"; version="1.4.1"; sha256="0mv0pq4ryaijlz31r7w0qwqw4g8lr1pl9pf2319w2h4p86xp3g8m"; depends=[boot glmx MASS Matrix mice np numDeriv quantreg Rcpp RcppArmadillo]; };
   QuACN = derive2 { name="QuACN"; version="1.8.0"; sha256="1597blp8gqc5djvbgpfzi8wamvy0x50wh5amxj9cy99qa0jlglxi"; depends=[combinat graph igraph RBGL]; };
   QuClu = derive2 { name="QuClu"; version="0.1.0"; sha256="0a2malh9vz5jcjgdx4d98k0c61vz3ip8ynqh5i85x8hzcby11qgj"; depends=[]; };
@@ -3122,19 +3239,19 @@ in with self; {
   QuantTools = derive2 { name="QuantTools"; version="0.5.7"; sha256="069rvh4yfar5dh6aj6p0q61gasvs9wr72x9pnj00lvyjlnv06p5n"; depends=[data_table fasttime R6 Rcpp RCurl readxl]; };
   QuantifQuantile = derive2 { name="QuantifQuantile"; version="2.2"; sha256="01bdz8a6nhjil6n2z62x5g41v3d6md5v16g0ladsl5zc8raivqdq"; depends=[rgl]; };
   QuantileGradeR = derive2 { name="QuantileGradeR"; version="0.1.1"; sha256="1zwc6bg636gk8zll7wpznd3pzl611hcj2fmzp8b9505rra13p0g2"; depends=[]; };
+  QuantileNPCI = derive2 { name="QuantileNPCI"; version="0.9.0"; sha256="043lkg1pyaja7a4f9lmcwrvdjpfly2z378s15snwnxj8vb5pgr38"; depends=[]; };
   QuantumClone = derive2 { name="QuantumClone"; version="1.0.0.6"; sha256="1520jgkzp8g7gv7ggqhvlrdnpdyhygqjgsd1my5jq30afdqj6qmp"; depends=[DEoptim doParallel foreach fpc ggplot2 gridExtra NbClust optimx]; };
-  QuantumOps = derive2 { name="QuantumOps"; version="2.5.2"; sha256="0027s4kv3a7ly4hs2zykazlvwvgyfyw450cn51np3zghbkihg8aq"; depends=[]; };
-  Quartet = derive2 { name="Quartet"; version="1.0.2"; sha256="17xj05ysi46w3zh1s10gml7cll4w6zdsn9x1ak8rjf7hwszidskg"; depends=[ape memoise Rcpp Rdpack Ternary TreeSearch]; };
+  QuantumOps = derive2 { name="QuantumOps"; version="2.5.3"; sha256="0kcfs3rg50a82spzh5c215c8s2ff0wpdk29yn3n96m3hj4ir7j77"; depends=[]; };
   QuasiSeq = derive2 { name="QuasiSeq"; version="1.0-10-2"; sha256="1mr43vys9l1n859lzlcakjrvjllybgrwl0p8mc28h7m87yjkj670"; depends=[edgeR mgcv pracma]; };
-  R_SamBada = derive2 { name="R.SamBada"; version="0.1.1"; sha256="0fji3hgx7ad9xhir5811wq1cr5mdixfixhgn77xbhaz3x5v9249g"; depends=[gdsfmt SNPRelate]; };
+  R_SamBada = derive2 { name="R.SamBada"; version="0.1.2"; sha256="123a7s3rcmraq4chiqjkdp969jmr4c5br2xamdgvj6gzaf8zpmg0"; depends=[gdsfmt SNPRelate]; };
   R_cache = derive2 { name="R.cache"; version="0.13.0"; sha256="1hf5cb7xvnca5zlh9245b5g62sgsaxwdhiv7x59yld37cydakm6k"; depends=[digest R_methodsS3 R_oo R_utils]; };
-  R_devices = derive2 { name="R.devices"; version="2.16.0"; sha256="1f4jsa7b425rm1a0d00njx0pgvrvnhzf0xz2asq4yjhm4rhz0pbz"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
+  R_devices = derive2 { name="R.devices"; version="2.16.1"; sha256="15zlnq3g27whq26fbcy5zfl5hiddm256h4rga4frblg6wqlbkvdd"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
   R_filesets = derive2 { name="R.filesets"; version="2.13.0"; sha256="124rygq0bl9n4akxcm868nl30cyk3rz0iprb98zlpk62gci9f5fg"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
   R_huge = derive2 { name="R.huge"; version="0.9.0"; sha256="13p558qalv60pgr24nsm6mi92ryj65rsbqa6pgdwy0snjqx12bgi"; depends=[R_methodsS3 R_oo R_utils]; };
   R_matlab = derive2 { name="R.matlab"; version="3.6.2"; sha256="1fw6ny8xb2j088k3s9lzd15av3j6xc2bvbccyrp7yjx2f3s3i8qv"; depends=[R_methodsS3 R_oo R_utils]; };
   R_methodsS3 = derive2 { name="R.methodsS3"; version="1.7.1"; sha256="11z6v2i7jl647wxi9p5z66yvfnnqv6s7fxqmz7w2gkb6j8wl1f24"; depends=[]; };
-  R_oo = derive2 { name="R.oo"; version="1.22.0"; sha256="0k6xwy93fpb2p7bs76lzk52br9rv5xnd9524xj8qyazv1132x1n0"; depends=[R_methodsS3]; };
-  R_rsp = derive2 { name="R.rsp"; version="0.43.1"; sha256="0i01p8jxc4j4zl2v2ykvvpfnm5hv650zj1wi1dh8hq0c98xi2yfr"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
+  R_oo = derive2 { name="R.oo"; version="1.23.0"; sha256="189fb7mmyzwg6nn8rza8iip7fbyws7i2vkmzy672x9mhvgilq4pm"; depends=[R_methodsS3]; };
+  R_rsp = derive2 { name="R.rsp"; version="0.43.2"; sha256="128zqyvbq9hm9gy86jzhj609lkfw57vr24mdxgh46ncmx66ag4gj"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
   R_temis = derive2 { name="R.temis"; version="0.1.2"; sha256="1bar4vyjnc9plwqm66vbgf6rakgj095zb7wsypmf3j3az694y62q"; depends=[crayon explor FactoMineR igraph NLP slam SnowballC stringi testthat tm tm_plugin_alceste tm_plugin_europresse tm_plugin_factiva tm_plugin_lexisnexis wordcloud]; };
   R_utils = derive2 { name="R.utils"; version="2.9.0"; sha256="1w4zn2db15bggfnh64fbyi2z2sj47rcd4xn53b28dsnkamdcramj"; depends=[R_methodsS3 R_oo]; };
   R0 = derive2 { name="R0"; version="1.2-6"; sha256="1yvcgchxlj7hkgqkw6g8pxnracxkld1grgykkcr6wbhminbylqv8"; depends=[MASS]; };
@@ -3156,14 +3273,15 @@ in with self; {
   R3port = derive2 { name="R3port"; version="0.1.1"; sha256="0ww0sqjx0la03qx353h0y5wr5qpc5fir3gjy4fsxkw6jrsyx9vaz"; depends=[plyr reshape2 whisker]; };
   R4CouchDB = derive2 { name="R4CouchDB"; version="0.7.5"; sha256="1wd1yqbs8m4zqvdm6x7mrcyk5b5pr4azm3r49nrilg8fnr2bk9rz"; depends=[bitops RCurl RJSONIO]; };
   R4dfp = derive2 { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
-  R6 = derive2 { name="R6"; version="2.4.0"; sha256="1kmbw2k5vvzwh3wwmn66mszpfny0z6k8dca980qgbxgvfh0i3gkh"; depends=[]; };
+  R6 = derive2 { name="R6"; version="2.4.1"; sha256="0gma5z41mx02ka9h96xdyf3p6i1rx0izczrzj26c4mbnh9jgvc16"; depends=[]; };
   R62S3 = derive2 { name="R62S3"; version="1.3.1"; sha256="168iyz9zhnvbfgqnshbk9cvmzalmn1m9gxspdwr5xqa1x17hw6az"; depends=[checkmate]; };
   R6DS = derive2 { name="R6DS"; version="1.2.0"; sha256="0ai1yqfhn634vm88waxdb6j24vwcna29gdqzdrwm0nxwf7l6g0m3"; depends=[R6]; };
   RAC = derive2 { name="RAC"; version="1.5"; sha256="0q0kk9j3blrnhv0rfmryc35lli5j4kds2vmjdpg77znagb45609k"; depends=[maps maptools matrixStats ncdf4 plotrix raster rgdal rgeos rstudioapi sp]; };
   RAD = derive2 { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[MASS mvtnorm]; };
   RADanalysis = derive2 { name="RADanalysis"; version="0.5.5"; sha256="1py07p24i1pky8wwyy8ajmkg6h2n7nbpxp1w6lrkiyl0p2kgjm20"; depends=[scales sfsmisc]; };
-  RAHRS = derive2 { name="RAHRS"; version="1.0.2"; sha256="0s7vkmyc3yh62m2xbsvajgvi9xdw5x4irnp7rcllhqa7z9nj50c9"; depends=[pracma RSpincalc]; };
+  RAINBOWR = derive2 { name="RAINBOWR"; version="0.1.14"; sha256="1jf1mk6bvi5ybsdrgxvlr0ksnkncn3cpqvz82d28yd9kml2a8q80"; depends=[cluster MASS Matrix optimx pbmcapply Rcpp RcppEigen rgl rrBLUP]; };
   RAM = derive2 { name="RAM"; version="1.2.1.7"; sha256="0aalswivpjs1glwf4yh3b79lch3n32fyj5xda55h3v7gzs7p0d7f"; depends=[ade4 ape data_table FD ggmap ggplot2 gplots gridExtra labdsv lattice MASS permute phangorn phytools plyr RColorBrewer reshape reshape2 RgoogleMaps scales vegan VennDiagram]; };
+  RAMClustR = derive2 { name="RAMClustR"; version="1.0.9"; sha256="0fw8gps8lyjffrqklfk8ps4fn8ail2m6b54q3805pcw27mb9jxml"; depends=[BiocManager dynamicTreeCut e1071 fastcluster ff gplots httr InterpretMSSpectrum jsonlite pcaMethods preprocessCore RCurl stringi stringr webchem xml2]; };
   RAMP = derive2 { name="RAMP"; version="2.0.1"; sha256="1n8h58j6v1xs6adrr4w4ha7pn1q2fh14dyg7zgpp2smv0j2b33dr"; depends=[]; };
   RAMpath = derive2 { name="RAMpath"; version="0.4"; sha256="0blixfmgiq22hd356hrp4vbhfkkgh0a58143nhirjx3sav9pxc1v"; depends=[ellipse lavaan MASS]; };
   RANKS = derive2 { name="RANKS"; version="1.0"; sha256="1lvaya9jlqrr9klqznw4fz5h5x0sw191ci74hpymb4gzhhxcbp27"; depends=[graph limma NetPreProc PerfMeas RBGL]; };
@@ -3179,10 +3297,11 @@ in with self; {
   RApiSerialize = derive2 { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
   RAppArmor = derive2 { name="RAppArmor"; version="3.2"; sha256="0apw4l7z0jwa7bs7scfysv2amk2rxi7knw9x9j7vqlrgj0i059gm"; depends=[unix]; };
   RArcInfo = derive2 { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; };
+  RAthena = derive2 { name="RAthena"; version="1.4.1"; sha256="042cbcc0s7sbp8ij7mzrplzs8fs4ac3xw6c064mr6rmig58a2d4r"; depends=[data_table DBI reticulate]; };
   RBF = derive2 { name="RBF"; version="1.0.0"; sha256="0q2k2ar9cd62cykg99r86cflx2nknlg32fhhsjay4xs191fapw8j"; depends=[]; };
   RBMRB = derive2 { name="RBMRB"; version="2.1.2"; sha256="1m6n2kfg83mlfy22k75hy5zjf547v0rdwk9w6l04yfyrr6himbr8"; depends=[data_table ggplot2 httr plotly rjson]; };
   RBPcurve = derive2 { name="RBPcurve"; version="1.2"; sha256="0zkfvnhm780vid4qqdrx9mnc6jxxrmrnq47pqvk35rm3m4l96782"; depends=[BBmisc checkmate mlr shape TeachingDemos]; };
-  RBesT = derive2 { name="RBesT"; version="1.4-0"; sha256="1n1gcmblv1fmf1prsndv1hvriizy0x27mjbpykiw7p151dyp8sv5"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
+  RBesT = derive2 { name="RBesT"; version="1.5-4"; sha256="1050lhwa7ph5xlzchx0lz7fx6bnfl5zhrim9cy2lh4fxw0vdm7xp"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
   RBitmoji = derive2 { name="RBitmoji"; version="0.0.2"; sha256="1v9qj3vmqsvnccsy735nbflmd81183h2flm0f1ckd4kl08r2fr3f"; depends=[getPass httr jsonlite png RCurl]; };
   RBtest = derive2 { name="RBtest"; version="1.0"; sha256="1pyygx39r5dd81xqzqmxhkwapaq7pc5q1bp0gwx28cp4wi07mm6i"; depends=[mice nnet psych]; };
   RCA = derive2 { name="RCA"; version="2.0"; sha256="0pidb5czrf0dc3ywy6cwm5akgsc62pvf94kfyxibzmd1favykx1h"; depends=[gplots igraph]; };
@@ -3190,7 +3309,7 @@ in with self; {
   RCALI = derive2 { name="RCALI"; version="0.3.1"; sha256="0hc7h55qi8bpmp9rfh1wgxqs28kbs4yqxch2jlgl42vk5383askq"; depends=[splancs]; };
   RCEIM = derive2 { name="RCEIM"; version="0.3"; sha256="1kil5r88b6lf8vxmswz0wn0hhjxjm8jmlcl5kxjwl6fwjyy2z120"; depends=[]; };
   RCMIP5 = derive2 { name="RCMIP5"; version="1.2.0"; sha256="0bwp1ln0y48g2d0bj9b47y0rlwffzv0pi6gjfzv4sg5anhswc9x7"; depends=[abind assertthat digest dplyr Matrix]; };
-  RCPmod = derive2 { name="RCPmod"; version="2.186"; sha256="0qxk6236xq391czyr043wn8rfml70gkc0xa6vz24s768gxmdk46l"; depends=[fishMod glmnet gtools MASS]; };
+  RCPmod = derive2 { name="RCPmod"; version="2.190"; sha256="1r24g8fcizyqzgp0da90sxpwalgcsgz2b168j2smpylxraiqb037"; depends=[fishMod glmnet gtools MASS]; };
   RCRnorm = derive2 { name="RCRnorm"; version="0.0.2"; sha256="1mz1jb7mc9c47hbk9flnddny4zir6r2k5qis30iynwqny521l6ln"; depends=[truncnorm]; };
   RCSF = derive2 { name="RCSF"; version="1.0.1"; sha256="0mqrv0bk17mm8ywicmns90n8g9h161hw1l77ji7hvadiv0y7vznq"; depends=[Rcpp]; };
   RCarb = derive2 { name="RCarb"; version="0.1.3"; sha256="0z5hpnlzlvbh14f1wjy9rw4ljdsiqdzmqnmh3yqz7mbw5qxx4gzz"; depends=[interp matrixStats]; };
@@ -3200,13 +3319,13 @@ in with self; {
   RClickhouse = derive2 { name="RClickhouse"; version="0.4.0"; sha256="0lb0sgs2f78y2z5ip2wqml88vykrwkdhn3i36y9hyrm34ackis6h"; depends=[DBI dbplyr dplyr Rcpp yaml]; };
   RClimMAWGEN = derive2 { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; };
   RClone = derive2 { name="RClone"; version="1.0.2"; sha256="1kv02acj0mk5102wvmdnxnkb7qig3jb9amcs4k2r26fpa4hyfa7f"; depends=[]; };
-  RColetum = derive2 { name="RColetum"; version="0.2.0"; sha256="0d0938vvlffqkbl7ild745j1x99dx04vsi18zm8m20waiqmv35q9"; depends=[dplyr httr jsonlite]; };
+  RColetum = derive2 { name="RColetum"; version="0.2.1"; sha256="1hgk9p234m3w49sw2j2rg8c14z3gz1mabvb69b1bxrg7f1mz9slg"; depends=[dplyr httr jsonlite]; };
   RColorBrewer = derive2 { name="RColorBrewer"; version="1.1-2"; sha256="1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk"; depends=[]; };
   RConics = derive2 { name="RConics"; version="1.0"; sha256="1lwr7hi1102gm8fi9k5ra24s0rjmnkccihhqn3byckqx6y8kq7ds"; depends=[]; };
   RCriteo = derive2 { name="RCriteo"; version="1.0.2"; sha256="1vyhnblw9zr5h6c25lf76p9vn95k8vr0hpq1sjkccdwl9yvsyhfy"; depends=[httr plyr RCurl XML]; };
   RCrypto = derive2 { name="RCrypto"; version="0.1.0"; sha256="1lw7hq5ks36fixk0g3gcy4nw21ygwc14jq840hnhyds4glywfpvm"; depends=[dplyr httr jsonlite]; };
   RCurl = derive2 { name="RCurl"; version="1.95-4.12"; sha256="1x2z708y89fjphhzs76lycs5rmh5i411wallmhyq4h6zmzppjdrr"; depends=[bitops]; };
-  RCzechia = derive2 { name="RCzechia"; version="1.4.1"; sha256="0dbira0qw64dpichfshb84f0fwd3nki5fcmdxcqcbnl20fp8qnsn"; depends=[curl httr jsonlite lwgeom magrittr sf]; };
+  RCzechia = derive2 { name="RCzechia"; version="1.4.3"; sha256="1fywiiqrh6mahhxwx7g05dl1hivwipzylv1h1bpcrs6x75a8nr10"; depends=[curl httr jsonlite lwgeom magrittr sf]; };
   RDFTensor = derive2 { name="RDFTensor"; version="1.1"; sha256="1xbar13snwyls6rva91bs0632zplfc2qcqlwf7h07r8798m3234s"; depends=[Matrix pracma]; };
   RDIDQ = derive2 { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
   RDML = derive2 { name="RDML"; version="1.0"; sha256="13ly1p42njbcygwvkyii8sjqbsywjy5w5g1kd7m8kswi5dsk3qqv"; depends=[checkmate data_table lubridate pipeR R6 readxl rlist stringr xml2]; };
@@ -3217,14 +3336,13 @@ in with self; {
   RDieHarder = derive2 { name="RDieHarder"; version="0.2.0"; sha256="0yy17vn7m0042ykrlvlvhd2fbz0hw60nra5zmnc822r2f13h2acg"; depends=[]; };
   RDocumentation = derive2 { name="RDocumentation"; version="0.8.2"; sha256="0qdn3c5xbjyrhk56wfch50xpyyfd4f79hs0v00cqk9iwsnjlwmb5"; depends=[httr proto rjson]; };
   RDota2 = derive2 { name="RDota2"; version="0.1.6"; sha256="0fjsgg4dmzw2xwrf8jxq0f2d7f78bf67bl3ms5qcjk9kskfnymag"; depends=[httr jsonlite]; };
-  REAT = derive2 { name="REAT"; version="3.0.1"; sha256="1lp9z2pylf4klfw8j1wldx281dcvfdbk4jrg98xda34akqzb2hy1"; depends=[]; };
+  REAT = derive2 { name="REAT"; version="3.0.2"; sha256="0x5cal502n8abynx1jk2ccmmggvd41rvd2gc6rxkbyvcp4794l82"; depends=[]; };
   REBayes = derive2 { name="REBayes"; version="1.8"; sha256="1mvi163djhnq3c711mx4a6mh1vmlcj80562czx12z2gmx13810nh"; depends=[Matrix reliaR]; };
   RECA = derive2 { name="RECA"; version="1.7"; sha256="1xikj20flqajpkw4wyynmqd1pafbylzwfrmc8bz9pqgggjjhrqql"; depends=[]; };
-  REDCapR = derive2 { name="REDCapR"; version="0.9.8"; sha256="14psw0sxlyig4nf968n997djwf80hgy5ia2g0bp8rdpn8lrj01g6"; depends=[data_table dplyr httr magrittr readr tibble tidyr]; };
+  REDCapR = derive2 { name="REDCapR"; version="0.10.2"; sha256="0rdni325k0641yfv4g9l1szg1bl48767n6r1xkh8q3fnvqaqwnrg"; depends=[dplyr httr magrittr readr rlang tibble tidyr]; };
   REEMtree = derive2 { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
   REGENT = derive2 { name="REGENT"; version="1.0.6"; sha256="1f2sjqkhw3rbmwbcmx7l7imj696kblisi8y3fz77xygbcbxa6rmq"; depends=[]; };
-  REIDS = derive2 { name="REIDS"; version="0.1.0"; sha256="10mznsba9bmv9754zg6pzrwlrgkcki7zfr995nrlsg5fjphqyqg9"; depends=[aroma_affymetrix aroma_core biomaRt data_table GenomeGraphs lmtest MCMCpack RColorBrewer]; };
-  REPLesentR = derive2 { name="REPLesentR"; version="0.3.0"; sha256="1cfbf6r9p09ccia2f3pc2fz178zvrm3rwa6affyqr3gygpd1smb4"; depends=[dat knitr modules]; };
+  REPLesentR = derive2 { name="REPLesentR"; version="0.4.1"; sha256="0rwd7hxk12f4f1kpj6sl424yhbxi3h9dz6km5awijazmgv95carz"; depends=[dat knitr modules]; };
   REPPlab = derive2 { name="REPPlab"; version="0.9.4"; sha256="1pf8zrjdzziyq2lw31p1ij7cn4j7pf659ygxv8wpfnmcmpaqbc45"; depends=[lattice LDRTools rJava]; };
   REPTILE = derive2 { name="REPTILE"; version="1.0"; sha256="11swy4jrmmb0xjjxm1wyxd628fxxcqnialvijdrjwjpdbvraz4gq"; depends=[doParallel flux foreach optparse randomForest]; };
   REQS = derive2 { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
@@ -3234,7 +3352,7 @@ in with self; {
   REdaS = derive2 { name="REdaS"; version="0.9.3"; sha256="09mmcvzgsxvrcq7sq3pw81pxgb1493p8lx8p5hhz8i42vshza6pn"; depends=[]; };
   REddyProc = derive2 { name="REddyProc"; version="1.2"; sha256="1jwmxr9xl45n7r3h6h634lw81j07bn26nhjhwww5nnwwyyylcn4b"; depends=[dplyr magrittr mlegp purrr Rcpp rlang solartime tibble]; };
   REddyProcNCDF = derive2 { name="REddyProcNCDF"; version="1.1.4"; sha256="099f4mzqj7pjlrs8rdjg44mjm0058x3pj2imrfvk892hmlk4r53p"; depends=[REddyProc]; };
-  REndo = derive2 { name="REndo"; version="2.2.1"; sha256="10nbj5s4skk7522nm14s45k9z4zcaxnadl41z3mgmlwhcsdrv3ap"; depends=[AER corpcor data_table Formula lme4 Matrix mvtnorm optimx]; };
+  REndo = derive2 { name="REndo"; version="2.3.0"; sha256="1xgladcbdhb5shx0wbj470dv6vzi72dpdphrsf8j0p1dz806fp5i"; depends=[AER corpcor data_table Formula lme4 Matrix mvtnorm optimx]; };
   RFGLS = derive2 { name="RFGLS"; version="1.1"; sha256="13ggxj74h5b2hfhjyc50ndxznkvlg18j80m78hkzwh25d3948fsk"; depends=[bdsmatrix Matrix]; };
   RFLPtools = derive2 { name="RFLPtools"; version="1.6"; sha256="1hl2crg7jl266zac41xvx151h7kl52346wnlvd8hba64s4s4apay"; depends=[RColorBrewer]; };
   RFOC = derive2 { name="RFOC"; version="3.4-6"; sha256="0cs5wmpvrlag9aisbfiwkvwcb3skv5z4sawl30krmsq49mzj7yhd"; depends=[GEOmap MASS RPMG RSEIS splancs]; };
@@ -3250,9 +3368,10 @@ in with self; {
   RGCCA = derive2 { name="RGCCA"; version="2.1.2"; sha256="0zcxakqnmih0243y5b6r9nmcfanzxd6q344pd5bca5pnm3y43wr0"; depends=[Deriv MASS]; };
   RGCxGC = derive2 { name="RGCxGC"; version="1.0.0"; sha256="1qxacxqkxcclkj8f1y7b6c5fspp5qk5847fqb1ib05njh6wxsmvj"; depends=[colorRamps prettydoc ptw Rdpack RNetCDF]; };
   RGENERATE = derive2 { name="RGENERATE"; version="1.3.5"; sha256="12dq04xpl06zhkzwqx3zy0bkpvb5phbdj2inxsyczf6d4dk209mb"; depends=[RMAWGEN]; };
-  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2"; sha256="1w28yfzk3ilbz1r9fsc76cigyrnzzhsfm3a81ff8g26za7cb8vjp"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
+  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2.5"; sha256="1jqyp91x569la1vc6wl6v7jq6iq1cx2qkds9yiqm85bgzydp4lxw"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
   RGF = derive2 { name="RGF"; version="1.0.6"; sha256="11pnbiyp39r95c8ajj2jyxz4h1zf6fi8ki78rmn4vp7xm2bl3zff"; depends=[Matrix R6 reticulate]; };
   RGIFT = derive2 { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
+  RGISTools = derive2 { name="RGISTools"; version="0.9.7"; sha256="1bij314qv9lnbb9rjxb37fhp97nz8sqlbqajdbixxpvsnp4mx2k0"; depends=[curl fields gdalUtils httr magick raster Rdpack rjson rvest sp urltools XML xml2]; };
   RGeckoboard = derive2 { name="RGeckoboard"; version="0.1-5"; sha256="0h7x3kdmlba9siwcnf313ajmz2jsmyhl7pndzs7qaqina3hkl46r"; depends=[httr jsonlite]; };
   RGenData = derive2 { name="RGenData"; version="1.0"; sha256="124h2qvp0f6cil7zf4ln3n0jlqcfzdwbihzfaklk2lxxn7gq4mbi"; depends=[]; };
   RGenetics = derive2 { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
@@ -3266,14 +3385,15 @@ in with self; {
   RH2 = derive2 { name="RH2"; version="0.2.4"; sha256="14590l3a2znd56nrq1zfbfv7fgii4672qy1xfwiynrh3mjad217k"; depends=[chron rJava RJDBC]; };
   RHMS = derive2 { name="RHMS"; version="1.6"; sha256="067vxx0s338ziyyshq386br7b8ksycqinn16qnvb53ldshyw0dcm"; depends=[GGally ggplot2 Hmisc network pso]; };
   RHPCBenchmark = derive2 { name="RHPCBenchmark"; version="0.1.0"; sha256="1f94d8z15ybqgc2pccsi1m6563xf26ygri6f4pwxkqjmxkxnk34y"; depends=[cluster Matrix mvtnorm]; };
-  RHRV = derive2 { name="RHRV"; version="4.2.4"; sha256="0jf2vms2yr2d52x8g5fz6v2pd2gzgc5z96fnbf63s55fni72rbxm"; depends=[lomb nonlinearTseries tkrplot waveslim]; };
+  RHRV = derive2 { name="RHRV"; version="4.2.5"; sha256="1xjmcb9w285x3q930hm91ln4b8zhd9s741h5iwd71pj0cdf184gh"; depends=[lomb nonlinearTseries tkrplot waveslim]; };
   RHT = derive2 { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
   RHawkes = derive2 { name="RHawkes"; version="0.0"; sha256="0qi32f6im6fsgvjs8bravc5z21557zn2d0a7i88dy0rri7czm5p7"; depends=[IHSEP]; };
   RI2by2 = derive2 { name="RI2by2"; version="1.3"; sha256="0smc0fb9anq5ih9zx2slfbqyx02njm0hc7g22gpfggskmxf2l509"; depends=[gtools Rcpp]; };
   RIA = derive2 { name="RIA"; version="1.4.2"; sha256="0i7z16viwgdsdnlkxq44p5l492asxv7ghn8005hlvpyxqihazkqw"; depends=[nat oro_dicom oro_nifti]; };
   RIFS = derive2 { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
+  RISCA = derive2 { name="RISCA"; version="0.8"; sha256="0z6wq5bmfx6zrj7cnd7y0x8h7qkz4njcvb8jb1mil92zx2z47d43"; depends=[date MASS mvtnorm nlme relsurv riskRegression statmod survival]; };
   RISmed = derive2 { name="RISmed"; version="2.1.7"; sha256="08dmkkxsmwp9b4h2g1bbx03cijn793fsnzkmbima8x9d42vxnm1l"; depends=[]; };
-  RIdeogram = derive2 { name="RIdeogram"; version="0.1.1"; sha256="17pn5hi661j2pzr2c2m2h9r9x6bd5dl9q7xjdz8s0jf9fka0r8jr"; depends=[ggplot2 grImport2 rsvg scales]; };
+  RIdeogram = derive2 { name="RIdeogram"; version="0.2.1"; sha256="1npph7j43fyna3nziy1iqfrl0wh8p0m32r8q3s1cd5ffbr1b7jiw"; depends=[ggplot2 grImport2 rsvg scales tidyr]; };
   RImageJROI = derive2 { name="RImageJROI"; version="0.1.1"; sha256="0a4sa60klbpl31qxxvjjbksdhvs3vwm9na1v7014v93fzxy6bjas"; depends=[spatstat]; };
   RImagePalette = derive2 { name="RImagePalette"; version="0.1.1"; sha256="054w8xzsn330qg7piq6ajhji9na2swkkdis2567cy3q099npfl5v"; depends=[ggplot2]; };
   RImpact = derive2 { name="RImpact"; version="1.0"; sha256="010bdq6r2fv4rs78kl1ixnw1di39v90ckh8bblzi0wv4adlbaza4"; depends=[]; };
@@ -3283,43 +3403,45 @@ in with self; {
   RJDBC = derive2 { name="RJDBC"; version="0.2-7.1"; sha256="1d36js3kwlghsjxfhv7rl8nvg210hxwrx8sdxrxb0inwlqsash25"; depends=[DBI rJava]; };
   RJDemetra = derive2 { name="RJDemetra"; version="0.1.3"; sha256="1j5wxia9j2847rkca3y09lv6b5qs8m3nvvks492kwv1d5vdjlxxv"; depends=[rJava]; };
   RJSDMX = derive2 { name="RJSDMX"; version="2.1-0"; sha256="1z1fhm6as9m35v11n5npv3mlaaal7w5c04g4yl2p26ljsmssfbsh"; depends=[rJava zoo]; };
-  RJSONIO = derive2 { name="RJSONIO"; version="1.3-1.2"; sha256="0zid1573iv25zsa93ni9r6zhbli9ymc84yvlcxnkg1j1q3vih3jm"; depends=[]; };
+  RJSONIO = derive2 { name="RJSONIO"; version="1.3-1.3"; sha256="1f92dpaw1mz86mqr16jvmzmjlpzacj9vwq0gafx3bsfnqkd9fpmw"; depends=[]; };
   RJSplot = derive2 { name="RJSplot"; version="2.5"; sha256="0p2zqbq29pfjl703wqqjzgmif7yfzz7l8rzarjf5axkdy7w7fcyl"; depends=[]; };
   RJaCGH = derive2 { name="RJaCGH"; version="2.0.4"; sha256="1a8nd0w73dvxpamzi2addwr6q3rxhnnpa1girnlwbd1j1dll0bz6"; depends=[]; };
   RJafroc = derive2 { name="RJafroc"; version="1.2.0"; sha256="19d6k8294g9w3i2d8mivd4p1sczhq9rc26mhz7ywz0x5fxqcpx77"; depends=[bbmle binom dplyr ggplot2 mvtnorm numDeriv openxlsx Rcpp stringr]; };
   RKEA = derive2 { name="RKEA"; version="0.0-6"; sha256="1dncplg83b4zznh1zh90wr8jv5259cy93imrry86c5kqdijmhrrp"; depends=[rJava RKEAjars tm]; };
-  RKEAjars = derive2 { name="RKEAjars"; version="5.0-3"; sha256="0sm7dkdprmqh319jc43ra7qbk4qq0b2kdj9zs9mjcjz58gcrkl7s"; depends=[rJava]; };
+  RKEAjars = derive2 { name="RKEAjars"; version="5.0-4"; sha256="1j4643xc8k3zy4rv0h8dd154jafihnjr43wzz3d93j11g2w9xhq3"; depends=[rJava]; };
   RKEEL = derive2 { name="RKEEL"; version="1.3.1"; sha256="0k13j460jalmjdicrm7rqxb1b25cx1h4c276xbiybmhrmzmjlv5y"; depends=[arules doParallel foreach gdata Matrix pmml R6 rJava RKEELdata RKEELjars XML]; };
   RKEELdata = derive2 { name="RKEELdata"; version="1.0.5"; sha256="1swzqw6j006ya48ahg6n1g8faxhqiv9v5q1zrnihpzj6868lf7y3"; depends=[]; };
   RKEELjars = derive2 { name="RKEELjars"; version="1.0.19"; sha256="1a879b0xq5jk7r2pf4n41nm0c4himl4yqw083xh2ha4qdhab5kq0"; depends=[downloader]; };
   RKHSMetaMod = derive2 { name="RKHSMetaMod"; version="1.1"; sha256="1h8gqqfmlrzyj4n997yn13vqpaw2kwzl45gscy3fdhskzmyg0ss3"; depends=[Rcpp RcppEigen RcppGSL]; };
   RKUM = derive2 { name="RKUM"; version="0.1.1"; sha256="1w0v6l61dm7xixnyywsc7xziixz7k9r1ja26zcy77nry5kn6v60q"; depends=[]; };
+  RKelly = derive2 { name="RKelly"; version="1.0"; sha256="0mkpc95j67rg2gcj2fc4w8kv4v31cpiyvh660y8kc2fjr5q4aj3l"; depends=[]; };
   RKlout = derive2 { name="RKlout"; version="1.0"; sha256="17mx099393b1m9dl3l5xjcpzmb9n3cpjghb90m9nidccxkhacmqf"; depends=[RCurl]; };
   RLRsim = derive2 { name="RLRsim"; version="3.1-3"; sha256="1r0xqay3jfg435dh9fqc6yy73wjffp658da194rx63vpfhshgz8w"; depends=[lme4 mgcv nlme Rcpp]; };
   RLT = derive2 { name="RLT"; version="3.2.2"; sha256="1a8cip975z99g8ljng4y86wv1gf1xwg0sqnxz79wj6zxpw8fk37c"; depends=[]; };
   RLeafAngle = derive2 { name="RLeafAngle"; version="1.0"; sha256="1anks22hn6qpac556p99kilkhc80h572dvcyz3wj1nqffdrhgrh3"; depends=[]; };
   RLogicalOps = derive2 { name="RLogicalOps"; version="0.1"; sha256="1qyn80x3x3bb5wgzyzw6pxs8a6q26yq1fkmkz7f5wywsnrj8hzfj"; depends=[rstackdeque stringr]; };
-  RLumModel = derive2 { name="RLumModel"; version="0.2.3"; sha256="059nqbvy13jjgzhp4n9afqkc3dbv06aml5v5ffkhpx8kcmv48xp1"; depends=[deSolve Luminescence Rcpp RcppArmadillo]; };
+  RLumModel = derive2 { name="RLumModel"; version="0.2.4"; sha256="08p7pkcwk9nfxvhpbk26mw76x51fqwnqwwh4sxj04sa5q90mwfpw"; depends=[deSolve Luminescence Rcpp RcppArmadillo]; };
   RLumShiny = derive2 { name="RLumShiny"; version="0.2.2"; sha256="0rwl555564ccw4pdzya88s3h3q30iq5dmi77141ji8ir91x4rz3g"; depends=[data_table DT googleVis knitr Luminescence RCarb readxl rhandsontable rmarkdown shiny shinydashboard shinyjs]; };
   RM_weights = derive2 { name="RM.weights"; version="2.0"; sha256="1by1z7gwwx0jjhhvsjkr7f6m7n0x43bj080ah5275cja7xqr5nm6"; depends=[Hmisc psychotools]; };
   RM2 = derive2 { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
   RM2006 = derive2 { name="RM2006"; version="0.1.0"; sha256="1qjvdh89jql1fl6ia76g766y1igkshlv0slqmpi0y3bn40413snb"; depends=[]; };
-  RMAWGEN = derive2 { name="RMAWGEN"; version="1.3.3"; sha256="0spc0vszbxfpfp3kqdj0gnb90nvn50qwalq3mw8151b8h1swmf3l"; depends=[chron date vars]; };
+  RMAWGEN = derive2 { name="RMAWGEN"; version="1.3.6"; sha256="18r9lgfc59x2qrlmybfrkrnb1f2a8xp6dyy2inzw2zn19ps9d3k2"; depends=[chron date vars]; };
   RMKL = derive2 { name="RMKL"; version="1.0"; sha256="118xdnzljskyf4ibdrlhy07r1y1x5r2b0mqagqaabxs7s9503whc"; depends=[caret e1071 kernlab Rcpp RcppArmadillo]; };
   RMKdiscrete = derive2 { name="RMKdiscrete"; version="0.1"; sha256="0b4adw46sn98qmy4nxv5l5svcjrp5532x7slfhhgsskqx408lzjf"; depends=[]; };
   RMOA = derive2 { name="RMOA"; version="1.0.1"; sha256="1ppbwqdfxzk1ayms0rqw22l0r8vkk8av39spwpq8avgl6vssw8c4"; depends=[rJava RMOAjars]; };
   RMOAjars = derive2 { name="RMOAjars"; version="1.0.1"; sha256="0qzpwsbndn8fw9560z9h9w9ff9bx6xj7mr50683q1n3dpn5z637i"; depends=[rJava]; };
-  RMRAINGEN = derive2 { name="RMRAINGEN"; version="1.0"; sha256="175kd803a44yblq2jw5mrn2qv4piiy249577lf684bmmajf4ird4"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN]; };
   RMTL = derive2 { name="RMTL"; version="0.9"; sha256="08da67wvzmibziqhnlzh43sydaihk4rsq2k5hs6ih3jkkidrhlgv"; depends=[corpcor doParallel foreach MASS psych]; };
   RMThreshold = derive2 { name="RMThreshold"; version="1.1"; sha256="0wkc42vcggib002ad6ch43h6avpdgl12szrrrfd2p0wl72cwn5n1"; depends=[Matrix png]; };
   RMTstat = derive2 { name="RMTstat"; version="0.3"; sha256="1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"; depends=[]; };
   RMaCzek = derive2 { name="RMaCzek"; version="1.0.0"; sha256="0pjpsaqm9bfggbd1wagfazgqn23k5ba43a4vv1lmqq44l4fsdgb0"; depends=[GA seriation]; };
   RMallow = derive2 { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
-  RMariaDB = derive2 { name="RMariaDB"; version="1.0.6"; sha256="19pjxgz9h3bb89ra6ha6mbnzyz1sagmm82qd57y0rbrsvwn0pk2i"; depends=[BH bit64 DBI hms plogr Rcpp]; };
-  RMark = derive2 { name="RMark"; version="2.2.6"; sha256="0ihidwk7fbjjh6qmrd3rjmk2yjrjdf7a53sdnh6ynkjkzlqb2gr7"; depends=[coda matrixcalc msm]; };
+  RMariaDB = derive2 { name="RMariaDB"; version="1.0.7"; sha256="17l9i2g6rwfkihyvd1ycx7a2m4cfgpwyamsqwd753rc874zszq6m"; depends=[BH bit64 DBI hms plogr Rcpp]; };
+  RMark = derive2 { name="RMark"; version="2.2.7"; sha256="0qxa383cagzqrnfc3izybb4lrg8z1r3nw1j5b7h4wkjwy0k3kczb"; depends=[coda matrixcalc msm]; };
   RMediation = derive2 { name="RMediation"; version="1.1.4"; sha256="19idqx0hwljbcfrpqwa81k7cxbd8kv77ji8yi4n4p7517jbkzma6"; depends=[e1071 lavaan MASS]; };
   RMixpanel = derive2 { name="RMixpanel"; version="0.7-1"; sha256="1xwmmfvky49n1l0w3kwcyaf2h4rhzz4k5icjwvpc90fqk8sxib6a"; depends=[base64enc jsonlite RCurl uuid]; };
-  RMixtCompIO = derive2 { name="RMixtCompIO"; version="4.0.0"; sha256="09s1qpism2a9ixkza53jiny9k5ysyq8vq3hvcc23nmnjncaanar2"; depends=[BH doParallel foreach Rcpp RcppEigen]; };
+  RMixtComp = derive2 { name="RMixtComp"; version="4.0.2"; sha256="005fmns31m51p9480bxiahllxpg530j2jxkg2vadw761h61s90al"; depends=[ggplot2 plotly RMixtCompIO RMixtCompUtilities]; };
+  RMixtCompIO = derive2 { name="RMixtCompIO"; version="4.0.1"; sha256="0wbzizrhjazjkn37g72av7h3w2g08530p82casg58m8mzmkcgpfj"; depends=[BH doParallel foreach Rcpp RcppEigen]; };
+  RMixtCompUtilities = derive2 { name="RMixtCompUtilities"; version="4.0.0"; sha256="1nyr5llwzqdfv7556ksmx3s17f884wpj19lp36x3zcjx47z98lyw"; depends=[ggplot2 plotly scales]; };
   RMySQL = derive2 { name="RMySQL"; version="0.10.17"; sha256="1xamf99ih44dvaxg5x4ivj0hkqssmabgqd7gh8b8q1srw7yg8kbm"; depends=[DBI]; };
   RNAseqNet = derive2 { name="RNAseqNet"; version="0.1.2"; sha256="07wk0i8iz3cvkiqawxhm61g3nka8adw0zrrv60zx329gg49w0ycl"; depends=[ggplot2 glmnet hot_deck igraph PoiClaClu]; };
   RNAsmc = derive2 { name="RNAsmc"; version="0.4.0"; sha256="17gkhmnrxa1zwh6qhc0x48smgyq35g5gdb4wv0m5pnbyhkqzs7sq"; depends=[RRNA]; };
@@ -3332,13 +3454,13 @@ in with self; {
   RNOmni = derive2 { name="RNOmni"; version="0.7.1"; sha256="0lzd820x9yw90ddzmxvd89pkqc3nrljlc6kz4cab50zj3s755ack"; depends=[abind foreach plyr Rcpp RcppEigen]; };
   RNRCS = derive2 { name="RNRCS"; version="0.2.5"; sha256="19q78l8mh4701vqvr36vqc87n39s5ivzhiy5lvnxbd4dgibk1jr2"; depends=[ggplot2 magrittr rvest xml2]; };
   RNaviCell = derive2 { name="RNaviCell"; version="0.2"; sha256="15k8hkagn5520fy7x672fy329s2v7l0x44s44f6v7ql9mmg4b635"; depends=[RCurl RJSONIO]; };
-  RNeXML = derive2 { name="RNeXML"; version="2.3.0"; sha256="0wyvkv1ifagir4acjivdnns6vwnzdy3a5h8pnvy4qzzly90y2lla"; depends=[ape dplyr httr lazyeval plyr reshape2 stringi stringr tidyr uuid XML xml2]; };
+  RNeXML = derive2 { name="RNeXML"; version="2.4.0"; sha256="164krdabq3xqw8djmbpwj20vx074x9dgcdy5l1hr06cmz2bahqp1"; depends=[ape dplyr httr lazyeval plyr reshape2 stringi stringr tidyr uuid XML xml2]; };
   RNentropy = derive2 { name="RNentropy"; version="1.2.2"; sha256="0chvmrvpyyghilwb63y6pd1zp94i5qhpv5w19x9nw0ypk86pp2dj"; depends=[]; };
-  RNetCDF = derive2 { name="RNetCDF"; version="1.9-1"; sha256="0idfskxb1k8x0zzl6b0kgskdxn7zr49gw9xcj870ah9zp93iwnkx"; depends=[]; };
+  RNetCDF = derive2 { name="RNetCDF"; version="2.1-1"; sha256="0i670giq741d78ps6y98xbnqdybkv2svmdd6jbvcbpgdry6pfw89"; depends=[]; };
   RNetLogo = derive2 { name="RNetLogo"; version="1.0-4"; sha256="1z7jp454k197c0zbkn64zmf25wadkiznv3w2csgiz917cbx6xcn1"; depends=[igraph rJava]; };
-  RNewsflow = derive2 { name="RNewsflow"; version="1.1.1"; sha256="1vigzkyh8p6x4hzrmcsbvv2jk3pz39kix6b12xzzllkvi1kq784q"; depends=[data_table igraph Matrix quanteda Rcpp RcppEigen RcppProgress scales slam stringi tm wordcloud]; };
-  RNifti = derive2 { name="RNifti"; version="0.11.1"; sha256="0jcgdg5k2swmi57aqj347kfi1fc4nvag7pxdfz61kc0vqqamm0wg"; depends=[Rcpp]; };
-  RNiftyReg = derive2 { name="RNiftyReg"; version="2.6.6"; sha256="0a1f2nzlw1w9hd8kdiqal1kz8jabc5wvc5l9w5z1pjfgsry4jy75"; depends=[ore Rcpp RcppEigen RNifti]; };
+  RNewsflow = derive2 { name="RNewsflow"; version="1.2.1"; sha256="07469svqqjskrf04cm0ga5h94yb5h845dhz5gp740f16ymm0gkci"; depends=[data_table igraph Matrix quanteda Rcpp RcppEigen RcppProgress scales stringi tm wordcloud]; };
+  RNifti = derive2 { name="RNifti"; version="1.0.1"; sha256="0hfid40pgfi1ykqka8y3v0m7h0iyd6fbvycvqlad3ibmbg621f0w"; depends=[Rcpp]; };
+  RNiftyReg = derive2 { name="RNiftyReg"; version="2.6.7"; sha256="1qx6igv0kdja2c139gbs42cwfjwj7ifcxxlswydvja03iz3k53wz"; depends=[ore Rcpp RcppEigen RNifti]; };
   ROAuth = derive2 { name="ROAuth"; version="0.9.6"; sha256="0vhsp8qybrl94898m2znqs7hmlnlbsh8sm0q093dwdb2lzrqww4m"; depends=[digest RCurl]; };
   ROC632 = derive2 { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[penalized survival survivalROC]; };
   ROCR = derive2 { name="ROCR"; version="1.0-7"; sha256="1jay8cm7lgq56i967vm5c2hgaxqkphfpip0gn941li3yhh7p3vz7"; depends=[gplots]; };
@@ -3346,7 +3468,7 @@ in with self; {
   ROCit = derive2 { name="ROCit"; version="1.1.1"; sha256="1bip1zz5chm06pfikkscahph2clsaf9rhhpsla6vmvpfy0d8p070"; depends=[]; };
   ROCt = derive2 { name="ROCt"; version="0.9.5"; sha256="0f7day0rv62ggm1nc7qkh45r6svr84mdk7xxpdf09pi4lbdx0rm6"; depends=[date relsurv survival timereg]; };
   ROCwoGS = derive2 { name="ROCwoGS"; version="1.0"; sha256="029nramxwhzqim315g1vkg1zsszzkic28w6ahwg9n7bk9d08adzk"; depends=[]; };
-  RODBC = derive2 { name="RODBC"; version="1.3-15"; sha256="0m37b5ccdh4imbhmk7gj795fys2pcb9d0zx0xx2qanfrf54gk6kk"; depends=[]; };
+  RODBC = derive2 { name="RODBC"; version="1.3-16"; sha256="0fcnszrkk7llz26wccs97glddw793i0f9bd7rwxrld24vn1lng92"; depends=[]; };
   RODBCDBI = derive2 { name="RODBCDBI"; version="0.1.1"; sha256="0jkcc1lm8drsx1pkfj5h6rlbr98cgpvbf9ndzdwr048f3s8gd26i"; depends=[DBI RODBC]; };
   RODBCext = derive2 { name="RODBCext"; version="0.3.1"; sha256="06ky97k93bbrlxm4fg770mnz6yqp2zzgwmvzdqrpanfbg7qkfwwn"; depends=[RODBC]; };
   RODM = derive2 { name="RODM"; version="1.1"; sha256="0cyi2y3lsw77gqxmawla5jlm4vnhsagh3ykdgb6izxslc4j2fszx"; depends=[RODBC]; };
@@ -3386,18 +3508,21 @@ in with self; {
   ROracle = derive2 { name="ROracle"; version="1.3-1"; sha256="07zqzwaq5iqkjcmns2ahl1l71xjlznialb3dbyl4lwsh3p3fhf2n"; depends=[DBI]; };
   RPANDA = derive2 { name="RPANDA"; version="1.6"; sha256="02pf0j6nrv12jlpyn5fb81hvwllsxx9g88p5cdcvwdldwmjhralb"; depends=[ape cluster coda corpcor deSolve fields fpc geiger glassoFast igraph Matrix mvMORPH mvtnorm phytools picante pracma pspline pvclust Rmpfr TESS]; };
   RPCLR = derive2 { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; };
-  RPEIF = derive2 { name="RPEIF"; version="1.0"; sha256="13psw9sjpqq55vqf09ja4xkhpb6mp9zpzbka40v2gzxr503n69rq"; depends=[ggplot2 PerformanceAnalytics Rcpp RcppArmadillo RobStatTM xts zoo]; };
+  RPEClust = derive2 { name="RPEClust"; version="0.1.0"; sha256="1ysw45335lrxmj3j17xyvgz76p00v80f2m7wxfndh91wklqxzm8r"; depends=[clue clusteval mclust]; };
+  RPEGLMEN = derive2 { name="RPEGLMEN"; version="1.0"; sha256="0c5qgfwk2nnkrxhy7y5k197wvi0n1dgnfw5xyccw4a3bw6wa7yd0"; depends=[PerformanceAnalytics Rcpp RcppEigen RPEIF]; };
+  RPEIF = derive2 { name="RPEIF"; version="1.0.2"; sha256="1jis52h4x7dxjkwb5dlfswjjk7wz418ra50kxl6aa8dngf79jbma"; depends=[PerformanceAnalytics Rcpp RobStatTM xts zoo]; };
+  RPESE = derive2 { name="RPESE"; version="1.0"; sha256="0cbq3ifwv69ngxh7zvrqjgwqyzd50152k1i95iin6czsn3mz4pjf"; depends=[boot PerformanceAnalytics robustbase RPEGLMEN RPEIF sandwich xts zoo]; };
   RPEXE_RPEXT = derive2 { name="RPEXE.RPEXT"; version="0.0.1"; sha256="0m5ml8ywxrf66mjz6m3xp1lajd7wdq9g7xsaln8n7ykq7h5615fc"; depends=[]; };
   RPEnsemble = derive2 { name="RPEnsemble"; version="0.4"; sha256="0y9g22swcz0m5jbzi87ahxw27fb3jlf3iwvxb73kkzixqlvksw9y"; depends=[class MASS]; };
-  RPMG = derive2 { name="RPMG"; version="2.2-2"; sha256="1hyqhyn8g43cpdvh3iyrf12dbyafp6gv64hb53hr0h1094hrvz81"; depends=[]; };
+  RPMG = derive2 { name="RPMG"; version="2.2-3"; sha256="1di2bcf58z6gc3xknzx35znsjsy1714swvxkdhlq1ljidbdbmmbl"; depends=[]; };
   RPMM = derive2 { name="RPMM"; version="1.25"; sha256="1j48dh434wfhfzka0l21w6f73qlwfm70r9gdddhn504i2d5m4jph"; depends=[cluster]; };
   RPPairwiseDesign = derive2 { name="RPPairwiseDesign"; version="1.0"; sha256="0k2vh698rhs5a0b5vhyvrnnwqnagdzs591zx6hn9vbmm8rm4y1dm"; depends=[]; };
   RPPanalyzer = derive2 { name="RPPanalyzer"; version="1.4.5"; sha256="0cf4mb7mjp7x3k7083c8n8fjbvrmcgq359wh6pdyj817mgkanqzv"; depends=[Biobase gam ggplot2 gplots Hmisc lattice limma quantreg]; };
   RPS = derive2 { name="RPS"; version="1.0.1"; sha256="16n6wknw2m56kwi6rswgxjwjqblhaz5gyw94f96a7l6navqnvlp4"; depends=[ape geomorph Gmedian igraph MASS matlab]; };
   RPostgreSQL = derive2 { name="RPostgreSQL"; version="0.6-2"; sha256="1mdhw5821v2h7hpa53v10wz53k4i90r0vb6a3dia5gq8f9j1h088"; depends=[DBI]; };
   RPostgres = derive2 { name="RPostgres"; version="1.1.1"; sha256="1s25lkb69dkc5zk5ikbqa325jw5kfavghsq7s26mrcng4va9dz6i"; depends=[BH bit64 blob DBI hms plogr Rcpp withr]; };
-  RPresto = derive2 { name="RPresto"; version="1.3.3"; sha256="0nsqva6k9b9kdv7y7xjbanr3r1bcn28xln2xcv753xqawmsmiv1r"; depends=[DBI httr jsonlite openssl Rcpp stringi]; };
-  RProbSup = derive2 { name="RProbSup"; version="2.0"; sha256="0rmfr2pwfy6wx4mfjlj56k1fjlk5pvf98a82f2z5wzv9wb6ddzi5"; depends=[]; };
+  RPresto = derive2 { name="RPresto"; version="1.3.4"; sha256="17hwq76vzr27prwisfxahs1ix9grldknaywnq3v2a3s2x79v8vbv"; depends=[DBI httr jsonlite openssl Rcpp stringi]; };
+  RProbSup = derive2 { name="RProbSup"; version="2.1"; sha256="0lmv4x235xiykc8jfnp15l4yypm99yz6spsnaxacp49y2aw23jpy"; depends=[]; };
   RProtoBuf = derive2 { name="RProtoBuf"; version="0.4.14"; sha256="1jn288796g61sfffnrfm0nm6igyv0yixlb09yhw8fqih7qg14lnx"; depends=[Rcpp RCurl]; };
   RPtests = derive2 { name="RPtests"; version="0.1.4"; sha256="1r30pslbjq3dip41la81jlin2vhxdmayg902x9ryjy554awfgh7j"; depends=[glmnet randomForest Rcpp]; };
   RPublica = derive2 { name="RPublica"; version="0.1.3"; sha256="1w2pn1g44a00ls8kkzj53a739pq6vzp38px2k0yh10rlzimmb21l"; depends=[curl httr jsonlite]; };
@@ -3406,11 +3531,11 @@ in with self; {
   RQDA = derive2 { name="RQDA"; version="0.3-1"; sha256="1kqax4m4n5h52gi0jaq5cvdh1dgl0bvn420dbws9h5vrabbw1c1w"; depends=[DBI gWidgets gWidgetsRGtk2 igraph RGtk2 RSQLite]; };
   RQEntangle = derive2 { name="RQEntangle"; version="0.1.3"; sha256="178haddk8nnscy2vym3k2a3ca9lf6nl7rpjja8lxqdjninvhvwb2"; depends=[iterators itertools]; };
   RQGIS = derive2 { name="RQGIS"; version="1.0.4"; sha256="0x4jilj5nbikgkcg09913v3dgnfw0aqwwx66xajsfk5lqi6w5vjz"; depends=[raster RCurl readr reticulate rgdal sf sp stringr XML]; };
-  RQuantLib = derive2 { name="RQuantLib"; version="0.4.9"; sha256="1pirjgnf7yzddkidk1d0gbp6f1wlag6f1bzh1rmvm6c5zkww69nl"; depends=[Rcpp zoo]; };
+  RQuantLib = derive2 { name="RQuantLib"; version="0.4.10"; sha256="1x5dzszpx2i4572l55ax5zb308181dsv55mgvmss85w024y20140"; depends=[Rcpp zoo]; };
   RRF = derive2 { name="RRF"; version="1.9.1"; sha256="135adnf7cfs8gddmmmgmzarjzg0qfrd7l67367yhy2b1k0s5ng1w"; depends=[]; };
   RRI = derive2 { name="RRI"; version="1.0"; sha256="163imfrhx435fxw39pi4vj1fmk6g6cldlsgmwcpgfqmp45ycclpj"; depends=[Rcpp RcppArmadillo]; };
   RRNA = derive2 { name="RRNA"; version="1.0"; sha256="14rcqh95ygybci8hb8ays8ikb22g3850s9f3sgx3r4f0ky52dcba"; depends=[]; };
-  RRPP = derive2 { name="RRPP"; version="0.4.2"; sha256="1x1vrnqsd8ab70pj63vlpiwf8c76xriggb87j7p6c7yj96syp911"; depends=[]; };
+  RRPP = derive2 { name="RRPP"; version="0.4.3"; sha256="0h19ysl407fssxhbf364738n1vzkfgr52wv9lz71pss4j8sv3ss6"; depends=[]; };
   RRTCS = derive2 { name="RRTCS"; version="0.0.3"; sha256="1riz1gjx3c0pf17xwybizb94nm5zgmfsnv6np3afvw831mb1x3l9"; depends=[sampling samplingVarEst]; };
   RRate = derive2 { name="RRate"; version="1.0"; sha256="1q3f2gphdf50aijnk5xqfpxcqfd4jq7byb1gpb0vcnaxgi3a9lwm"; depends=[]; };
   RRedshiftSQL = derive2 { name="RRedshiftSQL"; version="0.1.2"; sha256="03jbml8d19hcg6achnyc4hcnl5j10yvsx59j80r46zyn0flsnizq"; depends=[DBI RPostgreSQL]; };
@@ -3420,15 +3545,14 @@ in with self; {
   RSADBE = derive2 { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
   RSAGA = derive2 { name="RSAGA"; version="1.3.0"; sha256="1y1zhy2bxkfsv8vmnxjdg9i5rqkvs32kw8h5z1mclv953srgkpn9"; depends=[gstat magrittr plyr rgdal shapefiles stringr]; };
   RSAlgaeR = derive2 { name="RSAlgaeR"; version="1.0.0"; sha256="1hp0v2vkj9ixiv541d53kyl0ph3jsdc5w98r81gv5ck5ixrp6bxp"; depends=[cvTools ggplot2 hydroGOF lubridate mblm plyr]; };
-  RSCABS = derive2 { name="RSCABS"; version="0.9.3"; sha256="08ykkqx9rdx5s6wg2idxz35ddpsz1lir22vrjs92k51zq0jrkhv9"; depends=[gWidgets gWidgetsRGtk2 R2HTML RGtk2]; };
   RSCAT = derive2 { name="RSCAT"; version="1.0.0"; sha256="1axc2vks0prd2fz1aaa1bjlfn1plfzdr041wh27v97541vsjdw47"; depends=[ggplot2 gridExtra Metrics rJava shiny shinycssloaders shinyjs]; };
-  RSDA = derive2 { name="RSDA"; version="2.0.8"; sha256="1lnqncjmqci6lbdm2pph6ankwb9vhwi7mvgjip2qvc2ydgyv6gy9"; depends=[abind dplyr FactoMineR ggplot2 ggpolypath glmnet lazyeval nloptr pander princurve purrr randomcoloR reshape RJSONIO rlang scales scatterplot3d sqldf stringr tibble tidyr tidyselect XML xtable]; };
+  RSDA = derive2 { name="RSDA"; version="3.0"; sha256="1biw9dwzi5sbqnb1jpsggrqrgvfvvna3l5y75hh1iplzixn25p4p"; depends=[dplyr FactoMineR forcats ggplot2 ggpolypath glmnet magrittr nloptr princurve purrr randomcoloR reshape RJSONIO rlang scales sqldf stringr tibble tidyselect vctrs XML]; };
   RSE = derive2 { name="RSE"; version="1.3"; sha256="1dvmj1zwkbp1dj9r8kcvbd8rpknfwfdqaqc5gfl82bh823w72099"; depends=[]; };
-  RSEIS = derive2 { name="RSEIS"; version="3.8-3"; sha256="1qrv41r17svz7dyzz1sik5zyqck29mzzxrjhj5q6mvrwag3x7fi5"; depends=[RPMG Rwave]; };
+  RSEIS = derive2 { name="RSEIS"; version="3.9-0"; sha256="16jmakdq6rkyw3cm1ilnaw3ycsg12544ml9gla7y8mgpbglxsn6i"; depends=[RPMG Rwave]; };
   RSGHB = derive2 { name="RSGHB"; version="1.2.2"; sha256="16s9iahbcdqykavm5cq8n76hlpfqlljl17xwh0vrz5ac7z4z3rdz"; depends=[MCMCpack]; };
   RSIP = derive2 { name="RSIP"; version="1.0.0"; sha256="1yddqbnz0av69l53y83m7rnznc42qz66fc3qrispzaajs7p9n8d7"; depends=[ncdf4 raster rasterVis rgdal sp]; };
   RSKC = derive2 { name="RSKC"; version="2.4.2"; sha256="0r9gpwhzscb6rbba3dg13p78pvskahgvsd59biag0shyii3xvwpm"; depends=[flexclust]; };
-  RSNNS = derive2 { name="RSNNS"; version="0.4-11"; sha256="0z27rgbqa1lsxvcqyl1456mb0pigvkrx099hdqv7zr4ax4k33547"; depends=[Rcpp]; };
+  RSNNS = derive2 { name="RSNNS"; version="0.4-12"; sha256="1fa32wrhv3q0sdgrcrqrazvvylbn83d75bw8d0ncjfspf7dgx3di"; depends=[Rcpp]; };
   RSNPset = derive2 { name="RSNPset"; version="0.5.3"; sha256="1llx6anwkl4as0hdyvmsrlg9z8mkn9p1qxgs6kqs39w87gyx0j36"; depends=[doRNG fastmatch foreach qvalue Rcpp RcppEigen]; };
   RSPS = derive2 { name="RSPS"; version="1.0"; sha256="0ynxhgnxsf27qm8r5d9lyd59zksnc3kvx35hy25vff8j3bg7fqgi"; depends=[gridExtra lattice plyr]; };
   RSQLite = derive2 { name="RSQLite"; version="2.1.2"; sha256="1inrhap5cs0wry2jbw42fx9wwxb3qdzlpy0ba4f6a29bs8jx9nk6"; depends=[BH bit64 blob DBI memoise pkgconfig plogr Rcpp]; };
@@ -3438,15 +3562,16 @@ in with self; {
   RSVGTipsDevice = derive2 { name="RSVGTipsDevice"; version="1.0-7"; sha256="0jdr8l0hp4kzsvlgs8j1m74sr98z4v2lmiqinmc238m406nhppab"; depends=[]; };
   RSarules = derive2 { name="RSarules"; version="1.0"; sha256="0lrql4q45hyhqbix86ixl12mknnjbz3137gx2zkvqpz91bsk145j"; depends=[arules Matrix]; };
   RSauceLabs = derive2 { name="RSauceLabs"; version="0.1.6"; sha256="1p7hw6vnlg6w5ggmfpc3q3s6n1fikjkjnxzz97jifiy0zwn5dp9i"; depends=[data_table httr jsonlite whisker xml2]; };
+  RScelestial = derive2 { name="RScelestial"; version="1.0.0"; sha256="1amvzp4a69cpm13affvpza8zs1n78a3y93bwpv0fzi2b60im4y9x"; depends=[Rcpp]; };
   RSclient = derive2 { name="RSclient"; version="0.7-3"; sha256="07mbw6mcin9ivsg313ycw2pi901x9vjpmi6q7sms1hml4yq50k6h"; depends=[]; };
   RSeed = derive2 { name="RSeed"; version="0.1.60"; sha256="0rvb6w4z5c2wcdgx5w6vv7c8il8d0096pgv3fyvw21ag25z605jc"; depends=[graph RBGL sybil]; };
   RSelenium = derive2 { name="RSelenium"; version="1.7.5"; sha256="1ih22z3p1p673dhbjsfmli94bzqp5xk3psslf4c0r9dvmw9h6s5c"; depends=[binman caTools httr openssl wdman XML]; };
   RSentiment = derive2 { name="RSentiment"; version="2.2.2"; sha256="15d1llzxg1apkwykpb7pic2d5lfj9i9a55hab067wrz2yq5jsyfa"; depends=[NLP openNLP plyr stringr]; };
   RSiena = derive2 { name="RSiena"; version="1.2-12"; sha256="1bc0vdqqzkf3q3b6rzqiwd29lcq8vbvlj2qkxbx6v8wjphycz6rw"; depends=[lattice MASS Matrix]; };
-  RSiteCatalyst = derive2 { name="RSiteCatalyst"; version="1.4.15"; sha256="13mrqf458m43g435g4pbg49pid63f4ap1r8jzl84mvj1b36hy4q6"; depends=[base64enc digest httr jsonlite plyr stringr]; };
+  RSiteCatalyst = derive2 { name="RSiteCatalyst"; version="1.4.16"; sha256="1plcmxj6sahdy3vvcmxry8cbq1j23bqzhnhn593bkwmzczka24cy"; depends=[base64enc digest httr jsonlite plyr stringr]; };
   RSmartlyIO = derive2 { name="RSmartlyIO"; version="0.1.3"; sha256="02zswadv65a5p5q9rr12f819mh7jjqk8xj1kc1c0wqvr8dgz7fx9"; depends=[RCurl]; };
-  RSocrata = derive2 { name="RSocrata"; version="1.7.9-5"; sha256="03j20swsw9s79v5ia4lwf43vyxfkbbjj795pb5vl6p2kmk3l38m7"; depends=[httr jsonlite mime plyr]; };
-  RSpectra = derive2 { name="RSpectra"; version="0.15-0"; sha256="1ab975scdqaxdna9sayjl6l14hz991y0pc8c8ah48w000616km8s"; depends=[Matrix Rcpp RcppEigen]; };
+  RSocrata = derive2 { name="RSocrata"; version="1.7.10-6"; sha256="1pzdpy1mifr6hhhj7pq8l5jl8dsn6270ibm6pnmc66psh0xr2zsa"; depends=[httr jsonlite mime plyr]; };
+  RSpectra = derive2 { name="RSpectra"; version="0.16-0"; sha256="1ab45as2ysjrvkhvmx7y3nbhd0y1w4j9k2a789lcd973zz4wzwda"; depends=[Matrix Rcpp RcppEigen]; };
   RSpincalc = derive2 { name="RSpincalc"; version="1.0.2"; sha256="09fjwfz1bzpbca1bpzxj18ki8wh9mrr5h6k75sc97cyhlixqd37s"; depends=[]; };
   RStata = derive2 { name="RStata"; version="1.1.1"; sha256="1wx6cz4567xkfplybmbwmw25snhlaxn48yi620cv6p5xqv458yp7"; depends=[foreign]; };
   RStoolbox = derive2 { name="RStoolbox"; version="0.2.6"; sha256="1pq0vxq53x8f0358qfq1rakb59cdfi4micp7hjb9fbz95q9am8mj"; depends=[caret codetools doParallel foreach geosphere ggplot2 raster Rcpp RcppArmadillo reshape2 rgdal rgeos sp XML]; };
@@ -3461,15 +3586,16 @@ in with self; {
   RTDE = derive2 { name="RTDE"; version="0.2-0"; sha256="1dj7dsj4256z9m70y2fpcgprxpqbgqxz0dqwn0jl80sj2325f66s"; depends=[]; };
   RTOMO = derive2 { name="RTOMO"; version="1.1-6"; sha256="03jb96ahzgp662vj2v65giv8ss61vad5w26kvq8hg9q06z879jza"; depends=[GEOmap RPMG RSEIS splancs]; };
   RTaxometrics = derive2 { name="RTaxometrics"; version="2.3"; sha256="02446y86g21i37ycavg0xc1ggxk0k93d38n71fis9fav06lywxx3"; depends=[]; };
-  RTest = derive2 { name="RTest"; version="1.2.4"; sha256="1h6qvr87307yymzd7ily6xbp9x8jx8hm0b89pqfz9k4h1l4xvdbr"; depends=[base64 glue jsonlite magick magrittr rlang stringr testthat XML]; };
+  RTest = derive2 { name="RTest"; version="1.2.5"; sha256="1pj6gjlrykkjxffq076vq2kwxd3vww85rqswqmddx2ks7jsn3m2x"; depends=[base64 glue jsonlite magick magrittr rlang stringr testthat XML]; };
   RTextureMetrics = derive2 { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; };
   RTransProb = derive2 { name="RTransProb"; version="0.3.3"; sha256="1fl8ag7aizj7k7j5ypx632qa98jp3wp8z3mp5z490n1277ajzrkb"; depends=[caret chron e1071 expm MASS Matrix matrixStats neuralnet nnet pracma Rcpp RcppArmadillo zoo]; };
-  RTransferEntropy = derive2 { name="RTransferEntropy"; version="0.2.8"; sha256="03si7hsr4a0pq29r7pb2qp1h17qhk9id5lvx8x2kc6xpqacjsqx1"; depends=[future future_apply Rcpp]; };
+  RTransferEntropy = derive2 { name="RTransferEntropy"; version="0.2.12"; sha256="066wyama0gk81l6kc0n31cmf007i1975i7hzvf46qbldvhsc52mc"; depends=[future future_apply Rcpp]; };
   RTriangle = derive2 { name="RTriangle"; version="1.6-0.10"; sha256="07ya95gmv53i2argqwgad6wd4sslql2wl1rkvsmgsvmhsb4wp9hd"; depends=[]; };
   RUnit = derive2 { name="RUnit"; version="0.4.32"; sha256="1wc1gwb7yw7phf8b0gkig6c23klya3ax11c6i4s0f049k42r78r3"; depends=[]; };
   RVAideMemoire = derive2 { name="RVAideMemoire"; version="0.9-73"; sha256="1zjvvqdcczpnxkm6n3zxv8ysgn5x44k7w2b12yx01h2x71bwg1hg"; depends=[ade4 boot car cramer FactoMineR lme4 MASS mixOmics nnet pls pspearman vegan]; };
   RVFam = derive2 { name="RVFam"; version="1.1"; sha256="0gw8rgq11zndnqmay6y3y5rmmljvwhxzm2pqa90vs5413dnchq92"; depends=[coxme kinship2 lme4 MASS Matrix survival]; };
   RVenn = derive2 { name="RVenn"; version="1.1.0"; sha256="016m00xv59lkwm2is32v5nr4lw5a1ymdnz34r3ffflcv9bfrc6n4"; depends=[ggforce ggplot2 magrittr pheatmap purrr rlang vegan]; };
+  RVerbalExpressions = derive2 { name="RVerbalExpressions"; version="0.1.0"; sha256="1p9wmpgqwnz95sr8km8y6kqax8fcz6sqg54wfdx44kiqkf1ybdsp"; depends=[magrittr]; };
   RVideoPoker = derive2 { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap rpanel tkrplot]; };
   RViennaCL = derive2 { name="RViennaCL"; version="1.7.1.8"; sha256="0lh23g8zyd50p6hnl4dfmzrsg48y74g2h7dism9j2n1pfd9p9k5d"; depends=[]; };
   RVowpalWabbit = derive2 { name="RVowpalWabbit"; version="0.0.13"; sha256="106lr6iz28gscczs18759zaki7dnxy1873swiakimfqmwpw9dp9n"; depends=[Rcpp]; };
@@ -3477,11 +3603,11 @@ in with self; {
   RWBP = derive2 { name="RWBP"; version="1.0"; sha256="104vr2cdk185hh4zn3vmqvb14p1q8ifk11wdgvk7fli1m1zxxwdd"; depends=[igraph lsa RANN SnowballC]; };
   RWDataPlyr = derive2 { name="RWDataPlyr"; version="0.6.2"; sha256="1928hyfmy21s586nafd5qajbypqslc96zfmxbi42rcmvzim16v3k"; depends=[data_table dplyr feather Rcpp tibble tidyr xts zoo]; };
   RWebLogo = derive2 { name="RWebLogo"; version="1.0.3"; sha256="1n65mlnr163ywjnyyngnigbj0wpgkr38c3nx8hw5r8mwjnf3d617"; depends=[findpython]; };
-  RWeka = derive2 { name="RWeka"; version="0.4-40"; sha256="19xhrbr0105yax1534z1h08p1nxdmsg2dfch8kpqj37n9zmnx6zg"; depends=[rJava RWekajars]; };
-  RWekajars = derive2 { name="RWekajars"; version="3.9.3-1"; sha256="16syvpc9qfn19sjdp3jikmzccj198ybr8dar7fajfaqsfms2kgfw"; depends=[rJava]; };
+  RWeka = derive2 { name="RWeka"; version="0.4-41"; sha256="1grsq6wkvci2hs0vcr9zwrf7iyfrlxwag43l0k5hf8icazp8ffmf"; depends=[rJava RWekajars]; };
+  RWekajars = derive2 { name="RWekajars"; version="3.9.3-2"; sha256="06nsylv65z9hxym1b6qnwllh306bq5phsgr0qn4nyr5im8cv1rhn"; depends=[rJava]; };
   RWiener = derive2 { name="RWiener"; version="1.3-1"; sha256="0w12xvc18l002m8q6ad3laa667xzqjbcfqf0vvcmicgw2j3bbq6h"; depends=[]; };
   RWildbook = derive2 { name="RWildbook"; version="0.9.3"; sha256="1pznzmv8n33hhj61h07fha1gzafcx705n8323cnz3mx6ziijfh28"; depends=[data_table jsonlite marked]; };
-  RWsearch = derive2 { name="RWsearch"; version="4.6"; sha256="12x119y572c8qzshjjizipc4b3k3yalszcfw3ijwqfk2jycxj9ij"; depends=[brew latexpdf networkD3 sig sos XML]; };
+  RWsearch = derive2 { name="RWsearch"; version="4.6.2"; sha256="1sak4ihzvba83q1zvn65983qz50cb1nbz1mwiasr3bzz27hhdp4a"; depends=[brew latexpdf networkD3 sig sos XML]; };
   RXKCD = derive2 { name="RXKCD"; version="1.8-2"; sha256="081zrx293z4009p6fj2za0mkf04nikxmg3i45l667qvy7nmajqlc"; depends=[jpeg png RJSONIO]; };
   RXMCDA = derive2 { name="RXMCDA"; version="1.5.5"; sha256="1ci73q8xf3xxqw8b7sk83v5vz2cqgcb4lkx7qi3hd1ff4xkz1fpa"; depends=[kappalab XML]; };
   RXshrink = derive2 { name="RXshrink"; version="1.1"; sha256="0m8fjcpiv4dp3p9819i3qwfrly5153jpn9v3d2yr674334s1drm5"; depends=[lars]; };
@@ -3491,8 +3617,8 @@ in with self; {
   RZigZag = derive2 { name="RZigZag"; version="0.2.1"; sha256="1civ8qrk5y95775vzkd2m5arqczgan584r632ixy4q76nd5wa8zc"; depends=[Rcpp RcppEigen]; };
   RZooRoH = derive2 { name="RZooRoH"; version="0.2.3"; sha256="0ihfc8hxqmlkx1xhkz3psw8szwjp01imasvynxbzrjmjf4q6amvq"; depends=[data_table doParallel foreach iterators RColorBrewer]; };
   RaPKod = derive2 { name="RaPKod"; version="0.9"; sha256="1qxzi2lf431zd44bcd98ybhzydy1cz12g864l6r668jk91aqy1qg"; depends=[kernlab MASS proxy Rcpp RcppArmadillo]; };
-  RaProR = derive2 { name="RaProR"; version="1.1-4"; sha256="0zaswmig1fmxdsfij5hl58z2q5iw15p9w5yd9i03rdyn3gnkka4g"; depends=[]; };
-  RaceID = derive2 { name="RaceID"; version="0.1.3"; sha256="1kmhjqhm6v4blwnll67b79ywrpsiygipz30nylxfi0030p37bld2"; depends=[cluster coop FateID fpc ica igraph irlba locfit MASS Matrix pheatmap quadprog randomForest RColorBrewer Rtsne vegan]; };
+  RaProR = derive2 { name="RaProR"; version="1.1-5"; sha256="11hwg609pjcd13qnbchbs86c3q8f4nmh1xfxg3dsiijljl6lzx3n"; depends=[]; };
+  RaceID = derive2 { name="RaceID"; version="0.1.6"; sha256="0whj7l9a640fm9kcqr2nyn5c3fidfvsrgiv986w4ziqs2jira7mm"; depends=[cluster coop FateID FNN fpc ggplot2 ica igraph irlba locfit MASS Matrix pheatmap propr quadprog randomForest RColorBrewer Rcpp Rtsne umap vegan]; };
   RadData = derive2 { name="RadData"; version="1.0.0"; sha256="14npn5vjcpvymdjkby83msjr3f1gsmzh0083gz6cgrp270fglkaw"; depends=[]; };
   RadOnc = derive2 { name="RadOnc"; version="1.1.5"; sha256="0yz2pzcpz32xs04xfs90i714nn28cky7701w1h99cqsxsp892jkq"; depends=[geometry oro_dicom ptinpoly rgl]; };
   RadTran = derive2 { name="RadTran"; version="1.0"; sha256="1sb8d4y3b37akbxhdavxrkp34zn3ip061b7gzy0ga57pyn76cvpn"; depends=[ReacTran rootSolve]; };
@@ -3512,22 +3638,23 @@ in with self; {
   RanglaPunjab = derive2 { name="RanglaPunjab"; version="2.3.4"; sha256="01j3gww9kil02d44jwlkz6j7lwn2him830bnshkly0s7mgh22pgr"; depends=[jpeg shiny tidyverse]; };
   RankAggreg = derive2 { name="RankAggreg"; version="0.6.5"; sha256="031mff1zydxqygx8bn3g0qpwq08kaq5bpmzy6z2y0fa03hgsxz5c"; depends=[gtools]; };
   RankResponse = derive2 { name="RankResponse"; version="3.1.1"; sha256="04s588zbxcjgvpmbb2x46bbf5l15xm7pwiaxjgc1kn1pn6g1080c"; depends=[]; };
-  Rankcluster = derive2 { name="Rankcluster"; version="0.94"; sha256="0ak6cpm073ym4h9l3j7pq0ks9h4is1hzxfjn52j23nc5ifq3fjpq"; depends=[Rcpp RcppEigen]; };
+  Rankcluster = derive2 { name="Rankcluster"; version="0.94.1"; sha256="1zc6cqbifs3qhd64dm4991sj1i8mxkdm5z797c4816j4hq7z3nn9"; depends=[Rcpp RcppEigen]; };
   RankingProject = derive2 { name="RankingProject"; version="0.1.1"; sha256="1n1282pym7q2b1bh18wlkmk9f0simzq149h7hacc23vyqzgkjs84"; depends=[]; };
   RapidPolygonLookup = derive2 { name="RapidPolygonLookup"; version="0.1.1"; sha256="0h4snn3haa4a5rkafg98419by4nnz219wsm3y0dqgm4hw4bvha0g"; depends=[PBSmapping RANN RgoogleMaps sp]; };
   Rarity = derive2 { name="Rarity"; version="1.3-6"; sha256="1m742qrgc0c5vda9sb2q5n3ghmqnlnfhr1cfpxfs7s5ic707gmlb"; depends=[]; };
   RaschSampler = derive2 { name="RaschSampler"; version="0.8-8"; sha256="0y7dkgv1cy6r1mbmyqm27qwl10rl12g1svpx9jkzq5hq0hnm2xhw"; depends=[]; };
+  Rata = derive2 { name="Rata"; version="0.0.2"; sha256="1s7am08691lil5hbd8jpa5wnbvr0qqf0gkxczpm6yvizbjpx16qx"; depends=[ggplot2 glpkAPI lpSolveAPI reshape2 Rirt]; };
   RateDistortion = derive2 { name="RateDistortion"; version="1.01"; sha256="1micjlbir1v5ar51g1x7bgkqw9m8217qi82ii6ysgjkhwdvpm075"; depends=[]; };
   RatingScaleReduction = derive2 { name="RatingScaleReduction"; version="1.2.2"; sha256="15xkfjp0bkx9wjp8y27vs0iq2ir4qxjdl8405ix59sjb6lkvv3l2"; depends=[ggplot2 pROC]; };
   RationalExp = derive2 { name="RationalExp"; version="0.2.2"; sha256="0a51sfps3sfb71m93jdsmbvj6kafbyfrq790ix238j570f5xafpg"; depends=[snowfall]; };
-  Rbeast = derive2 { name="Rbeast"; version="0.2.1"; sha256="03m7461j816sgdr3xvv6llyblmkcnhfxsrfiraqslg197xjbj978"; depends=[]; };
+  Rbeast = derive2 { name="Rbeast"; version="0.2.2"; sha256="12i6jm7x1hwkj6skva9sli02rm4krzb2gmzny68d9cjhdcan5baq"; depends=[]; };
   Rbent = derive2 { name="Rbent"; version="0.1.0"; sha256="0xkb57dhhfd3342rv0xwbhbhn4zp5fbfch84fbh0sickm09l9vrj"; depends=[Rfit]; };
   Rbgs = derive2 { name="Rbgs"; version="0.2"; sha256="1q0dnbcpgx7x9klr6z33z6g2p9p8mrmhnsqjy6qw15ch720rrgn3"; depends=[imager magrittr rJava]; };
   Rbitcoin = derive2 { name="Rbitcoin"; version="0.9.2"; sha256="0ndq4kg1jq6h0jxwhpdp8sw1n5shg53lwa1x0bi7rifmy0gnh66f"; depends=[data_table digest RCurl RJSONIO]; };
-  RblDataLicense = derive2 { name="RblDataLicense"; version="0.2.0"; sha256="187w7pfx4f7gly1isfs5cr3m6cxzr5ml25x3775xwm3xjjsh7ylg"; depends=[RCurl xts]; };
+  RblDataLicense = derive2 { name="RblDataLicense"; version="0.2.1"; sha256="1jvy4r3qnyxwa4vai04lsfrf4dgbfg6gpvk4mvzicgdxlnfphrg9"; depends=[RCurl xts]; };
   Rblpapi = derive2 { name="Rblpapi"; version="0.3.10"; sha256="14wkrjfbjc3rb3159sz8wdvshmrh3d17s01swp59s8if7hr94hq0"; depends=[BH Rcpp]; };
-  Rborist = derive2 { name="Rborist"; version="0.1-17"; sha256="0vsld7qr9zl9a6fj1vwdh6avdh23vkibyng6j8q0kd3za0dibcl0"; depends=[data_table Rcpp]; };
-  Rcan = derive2 { name="Rcan"; version="1.3.72"; sha256="1c2a0p6nc040irgmg50bw0w43ad55flrni8k37avpns1m9k309h1"; depends=[data_table ggplot2 scales]; };
+  Rborist = derive2 { name="Rborist"; version="0.2-3"; sha256="0qf4m6ibr4mlrmsybb5b8f1hkmp9n6ksjsxc4msd3q4rr99zkczk"; depends=[data_table digest Rcpp]; };
+  Rcan = derive2 { name="Rcan"; version="1.3.80"; sha256="1p9df622sqgmfxargwj63pgpdhqr1bc66y07sr6dv1j038776ysj"; depends=[data_table ggplot2 scales]; };
   Rcapture = derive2 { name="Rcapture"; version="1.4-2"; sha256="1nsxy5vpfv7fj03i6l5pgzjm0cldwqxxycnvqkfkshbryjcyl0ps"; depends=[]; };
   RcellData = derive2 { name="RcellData"; version="1.3-2"; sha256="1zzkgpj2pc42xzz5pspyj981a04gjpna4br3lxna255366ijgz4l"; depends=[]; };
   Rcereal = derive2 { name="Rcereal"; version="1.2.1"; sha256="0nl4p0wqpni16z62610sqcxsz1x6kannl2s1zakpmjkk80pyxlk6"; depends=[]; };
@@ -3535,14 +3662,14 @@ in with self; {
   Rcgmin = derive2 { name="Rcgmin"; version="2013-2.21"; sha256="02igq7bdlxwa7ysfiyvqfhcvgm866lrp2z3060z5lmnp6afa0958"; depends=[numDeriv]; };
   RchivalTag = derive2 { name="RchivalTag"; version="0.0.7"; sha256="0i25rj3f54km2gdr8izgvqdbdbcq4nikywn5narm7sg79fv43pd4"; depends=[mapdata maps maptools ncdf4 oceanmap PBSmapping plyr raster rgeos sp]; };
   Rchoice = derive2 { name="Rchoice"; version="0.3-1.1"; sha256="0nmbb6wfgz164fncljnsr11j2w1hi235hysxn1p2mgc6l301rqhm"; depends=[Formula maxLik msm plm plotrix]; };
-  Rclean = derive2 { name="Rclean"; version="1.0.0"; sha256="065jq957xsk9p1nnzf8ilp9swjfxhydgc7xg57lfcg9hz99ckwfr"; depends=[formatR igraph jsonlite]; };
-  Rcmdr = derive2 { name="Rcmdr"; version="2.5-3"; sha256="1lbj1cwdnz2b2zxfilmpdkmmqrmy06lsr77pbwls7jh4fj9v04xi"; depends=[abind car effects RcmdrMisc relimp tcltk2]; };
+  RclusTool = derive2 { name="RclusTool"; version="0.91"; sha256="14xvfd7g81dw57kjfl8lgq936p9qr0bfm0zmi6fa65ci6di28h8f"; depends=[class cluster conclust corrplot e1071 factoextra FactoMineR ggplot2 jpeg MASS mclust mda mmand nnet png randomForest reshape sp stringi stringr tcltk2 tkrplot]; };
+  Rcmdr = derive2 { name="Rcmdr"; version="2.6-1"; sha256="1slwflnz64lbps16jzp2s0cjcns0cpxbh9mb4925l4xg08mc1a27"; depends=[abind car effects lme4 RcmdrMisc relimp tcltk2]; };
   RcmdrMisc = derive2 { name="RcmdrMisc"; version="2.5-1"; sha256="10cnvk541cx8lzapra2104dn1kh780phzz29dwvfwrx4k9vfbh7i"; depends=[abind car colorspace e1071 foreign haven Hmisc MASS nortest readstata13 readxl sandwich]; };
   RcmdrPlugin_BiclustGUI = derive2 { name="RcmdrPlugin.BiclustGUI"; version="1.1.1"; sha256="1sdc8ibggz8wpn77g7hddyl7lg86dbyw8qax63p6cqx1pfhb4rra"; depends=[BcDiag BiBitR BicARE biclust fabia gplots iBBiG Rcmdr rqubic s4vd superbiclust viridis]; };
   RcmdrPlugin_DoE = derive2 { name="RcmdrPlugin.DoE"; version="0.12-3"; sha256="1iifn71kjjgcp7dfz2pjq57mgbv4rrznrl3b3k9gdc2dva1z9zvc"; depends=[DoE_base DoE_wrapper FrF2 Rcmdr RcmdrMisc relimp]; };
   RcmdrPlugin_EACSPIR = derive2 { name="RcmdrPlugin.EACSPIR"; version="0.2-2"; sha256="10r6rb0fwlilcnqxa38zh7yxc54x1a0by5x4f6gzdn9zs7aj5l1r"; depends=[abind ez nortest R2HTML Rcmdr RcmdrMisc reshape]; };
   RcmdrPlugin_EBM = derive2 { name="RcmdrPlugin.EBM"; version="1.0-10"; sha256="02zips1jbfn7cshjlrm1gr632px2zxlys8i0f1nrf1gifl44v1qw"; depends=[abind epiR Rcmdr]; };
-  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.40"; sha256="1vsr7krkcz7qxx938r5fbaf5ag5n2pppabnqqhxp4w4xaidba1nq"; depends=[Rcmdr readstata13]; };
+  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.41"; sha256="0h84rr7scqpds1z0mbmsrhxppdh9rxykc5chvzvniab9hz2h7p05"; depends=[Rcmdr readstata13]; };
   RcmdrPlugin_EcoVirtual = derive2 { name="RcmdrPlugin.EcoVirtual"; version="1.0"; sha256="0q879wnrmgbaddv883q9zdnp0i7kjcgn8cffv7lp8nrsqil6l7mc"; depends=[EcoVirtual Rcmdr]; };
   RcmdrPlugin_Export = derive2 { name="RcmdrPlugin.Export"; version="0.3-1"; sha256="17fn3si6b6h20c52k1k6fv9mslw3f9v0x1kxixzcvq54scdx0sk0"; depends=[Hmisc Rcmdr xtable]; };
   RcmdrPlugin_FactoMineR = derive2 { name="RcmdrPlugin.FactoMineR"; version="1.6-0"; sha256="07k9x3mdaqzk1503wjsha9f8bxzw1074i9g7sa16yqz5lwky4lr7"; depends=[FactoMineR Rcmdr]; };
@@ -3550,10 +3677,10 @@ in with self; {
   RcmdrPlugin_GWRM = derive2 { name="RcmdrPlugin.GWRM"; version="1.0.2"; sha256="01q4k9s815pgd5cavm6nyxy5npmpxryari9v6wys4n5cjpn5g6xq"; depends=[GWRM Rcmdr RcmdrMisc]; };
   RcmdrPlugin_HH = derive2 { name="RcmdrPlugin.HH"; version="1.1-47"; sha256="1bba11izs1jhjsyb0d45c34gcihapk231qbiabcxf8x93sdmg6ga"; depends=[HH lattice mgcv Rcmdr]; };
   RcmdrPlugin_IPSUR = derive2 { name="RcmdrPlugin.IPSUR"; version="0.2-1.1"; sha256="0dbdsxdxhxm79cq7hi0rh8qphan73521lmivcnb4ca8g6ha2y32v"; depends=[Rcmdr]; };
-  RcmdrPlugin_KMggplot2 = derive2 { name="RcmdrPlugin.KMggplot2"; version="0.2-5"; sha256="069kpvhflk0rwwll0vyxfdrln1lzr1zhzfzm39si63ji6v7l6msb"; depends=[ggplot2 ggthemes plyr Rcmdr RColorBrewer scales survival tcltk2]; };
+  RcmdrPlugin_KMggplot2 = derive2 { name="RcmdrPlugin.KMggplot2"; version="0.2-6"; sha256="0xh0lfgmr5sc15f3v5avwy1zl0gk1krlw3jb1prjyk9prp8albz9"; depends=[ggplot2 ggthemes plyr Rcmdr RColorBrewer scales survival tcltk2]; };
   RcmdrPlugin_MA = derive2 { name="RcmdrPlugin.MA"; version="0.0-2"; sha256="1zivlc0r2mkxpx23ba76njmb2wnnjijysvza4f24dg4l47d0sr2p"; depends=[MAd metafor Rcmdr]; };
   RcmdrPlugin_MPAStats = derive2 { name="RcmdrPlugin.MPAStats"; version="1.2.2"; sha256="1ynj42p12ncgrbghd8w7mkyys2cq9r9dpbir57rj3k5l46yzj7d5"; depends=[ordinal Rcmdr]; };
-  RcmdrPlugin_NMBU = derive2 { name="RcmdrPlugin.NMBU"; version="1.8.9"; sha256="1lwxmhla66nxrb6ph81vxa60pzga80z0vniq725y37w5zlqzgmcq"; depends=[MASS mixlm phia pls Rcmdr xtable]; };
+  RcmdrPlugin_NMBU = derive2 { name="RcmdrPlugin.NMBU"; version="1.8.11"; sha256="01isc6wswbi39jdgq2wbc3akbjv6fa5x33q1wrmbcc9ph6lvlr4h"; depends=[car MASS mixlm phia pls Rcmdr xtable]; };
   RcmdrPlugin_OptimClassifier = derive2 { name="RcmdrPlugin.OptimClassifier"; version="0.1.2"; sha256="0gisjw1iniihy2c2mr9f9pxfnfr2dc0s482wb9yfn88vknx8d0rn"; depends=[OptimClassifier Rcmdr RcmdrMisc]; };
   RcmdrPlugin_PcaRobust = derive2 { name="RcmdrPlugin.PcaRobust"; version="1.1.4"; sha256="17rq3sv8payazjjn5j37cgd6df5b62d2y8al3grw6hw5nfba7lvn"; depends=[Rcmdr robustbase rrcov tkrplot]; };
   RcmdrPlugin_RMTCJags = derive2 { name="RcmdrPlugin.RMTCJags"; version="1.0-2"; sha256="04g5a1dpch54k5ckfkrg4vsap1nc3af1i0i559qigv3hy8n7pm80"; depends=[coda igraph Rcmdr rjags rmeta runjags]; };
@@ -3581,12 +3708,12 @@ in with self; {
   RcmdrPlugin_temis = derive2 { name="RcmdrPlugin.temis"; version="0.7.10"; sha256="02rs5xdj6g57frndc87fly0ans16584j4d0rfpy1h72655cz66ab"; depends=[ca lattice latticeExtra NLP R2HTML Rcmdr RColorBrewer slam stringi tcltk2 tm zoo]; };
   Rcolombos = derive2 { name="Rcolombos"; version="2.0.2"; sha256="0l92icjqqm5fxafqwd09lnmv5x6kvjdg8cphlm37q86nslwr5rkk"; depends=[httr]; };
   Rcplex = derive2 { name="Rcplex"; version="0.3-3"; sha256="0abmrqphrpdlc831hwbwx15z4vdgn385kxhnqlbb9v0sjmfyszsl"; depends=[slam]; };
-  Rcpp = derive2 { name="Rcpp"; version="1.0.2"; sha256="170jlmjrs92z5qdv58badhxycjvfjpqwwpic7rm13pc9zkb3i4xd"; depends=[]; };
+  Rcpp = derive2 { name="Rcpp"; version="1.0.3"; sha256="03h3zyjq948y0hrrs95lfk4zgx6wfrg64hjlrfrzf5na7bfh0d9b"; depends=[]; };
   Rcpp11 = derive2 { name="Rcpp11"; version="3.1.2.0"; sha256="1x6n1z7kizagr5ymvbwqb7nyn3lca4d4m0ks33zhcn9gay6g0fac"; depends=[]; };
   RcppAPT = derive2 { name="RcppAPT"; version="0.0.5"; sha256="0188sabgfmgh83yr3hmqpg5cmhllfkxzbxxchqr2r2fmj6x0ib1a"; depends=[Rcpp]; };
   RcppAlgos = derive2 { name="RcppAlgos"; version="2.3.4"; sha256="1rmadfvavjn17xs0fs93h2dahil5nqg0w59f4zdsnn193cwcfi7p"; depends=[gmp Rcpp RcppThread]; };
-  RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.12"; sha256="1b0fmip9c4i0my1yjrvqy8jxfiiqcggq2kms135q0b53njxnqwwg"; depends=[Rcpp]; };
-  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.9.600.4.0"; sha256="07jg2667xyhmp1fbcdi5nnhmkk81da76s9rlswfq4k2sjsmbfmr0"; depends=[Rcpp]; };
+  RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.14"; sha256="1wiigx5g5788j6lyc3f6bs1rsvc4alyc3052g35hxl1giinxmhn4"; depends=[Rcpp]; };
+  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.9.800.1.0"; sha256="1frg7y3fb571jf9dp1kkc75x0nxvw8j3qccsrm1brg5l1z2jmlaz"; depends=[Rcpp]; };
   RcppBDT = derive2 { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[BH Rcpp]; };
   RcppCCTZ = derive2 { name="RcppCCTZ"; version="0.2.6"; sha256="1bkrzdcm18z7qfkcfq5yc4s8z6a43y6cfsa09k6j9ni9bl2pd6hf"; depends=[Rcpp]; };
   RcppCNPy = derive2 { name="RcppCNPy"; version="0.2.10"; sha256="175bn75akwgz3vcp0n59kiqqz7q9cwkvih241nj8v810cp4gpmkp"; depends=[Rcpp]; };
@@ -3597,32 +3724,32 @@ in with self; {
   RcppDL = derive2 { name="RcppDL"; version="0.0.5"; sha256="1gii00bna6k9byaax7gsx42dv1jjnkrp4clbmdq59ybq3vkvw8z2"; depends=[Rcpp]; };
   RcppDist = derive2 { name="RcppDist"; version="0.1.1"; sha256="02g57xwfipdcljv06krhm02dbqn9kfyj2km6rdg0a7vq9prwdz1x"; depends=[Rcpp RcppArmadillo]; };
   RcppDynProg = derive2 { name="RcppDynProg"; version="0.1.3"; sha256="099hbm355d30rwxqjd7j4dfw678551dc5v4y7yy6q4xxyf527lbs"; depends=[Rcpp RcppArmadillo wrapr]; };
-  RcppEigen = derive2 { name="RcppEigen"; version="0.3.3.5.0"; sha256="01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5"; depends=[Matrix Rcpp]; };
+  RcppEigen = derive2 { name="RcppEigen"; version="0.3.3.7.0"; sha256="1b78qcjim0n9klgkr82n794d6bj9r9f33g0kcsszsns2hir65sk2"; depends=[Matrix Rcpp]; };
   RcppEigenAD = derive2 { name="RcppEigenAD"; version="1.0.0"; sha256="18zm9hsfqwiicxsdm87ix3qc261ljxxn2s736p6aayx82b6vwkz6"; depends=[BH functional memoise Rcpp RcppEigen Rdpack readr]; };
-  RcppEnsmallen = derive2 { name="RcppEnsmallen"; version="0.1.15.0.1"; sha256="01jx7vkfj1fa2b6lwjvhjf0a78zsi5hb4viqsfrka0sg385vlark"; depends=[Rcpp RcppArmadillo]; };
-  RcppExamples = derive2 { name="RcppExamples"; version="0.1.8"; sha256="15iw2vx6ygb03siq743418whhqvfrxk2i4nqn7p9yg1m3jwafxna"; depends=[Rcpp]; };
+  RcppEnsmallen = derive2 { name="RcppEnsmallen"; version="0.2.10.3.1"; sha256="1kljhf7y2v0kd7jydpd24grba1zm268ak11hdpg3jxz3s32l45ld"; depends=[Rcpp RcppArmadillo]; };
+  RcppExamples = derive2 { name="RcppExamples"; version="0.1.9"; sha256="0568zipgjxgmx086mlfpp5n7v8kf50gwrylvhl1bgvzb2vvr9dhj"; depends=[Rcpp]; };
   RcppFaddeeva = derive2 { name="RcppFaddeeva"; version="0.1.0"; sha256="1rah18sdfmbcxy83i7vc9scrwyr34kn9xljkv9pa31js68gn2jrl"; depends=[knitr Rcpp]; };
-  RcppGSL = derive2 { name="RcppGSL"; version="0.3.6"; sha256="16pdapq31729db53agnb48jkvdm97167n3bigy5zazc3q3isis1m"; depends=[Rcpp]; };
+  RcppGSL = derive2 { name="RcppGSL"; version="0.3.7"; sha256="0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5"; depends=[Rcpp]; };
   RcppGetconf = derive2 { name="RcppGetconf"; version="0.0.3"; sha256="1qcnn482h9b8aw798frnkza4bzzpihp0pf4s1mj6zmn2ar01hsl0"; depends=[Rcpp]; };
   RcppGreedySetCover = derive2 { name="RcppGreedySetCover"; version="0.1.0"; sha256="1v84i9gsmvpkmgd4niqnzp58nhrgn2j4rggsrnlh391ikdfrl51x"; depends=[BH data_table Rcpp]; };
   RcppHMM = derive2 { name="RcppHMM"; version="1.2.2"; sha256="0scdzmns1yw2gbarblzd6cbvndlysz54ff17qijiz17ql5cyzly6"; depends=[Rcpp RcppArmadillo]; };
-  RcppHNSW = derive2 { name="RcppHNSW"; version="0.1.0"; sha256="158a069n42pbnjrlmvqsr6bm2cfp9hxpnk3nhp3dwi9qjlq4r9bm"; depends=[Rcpp]; };
+  RcppHNSW = derive2 { name="RcppHNSW"; version="0.2.0"; sha256="0gqdkw7vkcm544rz45g0hplg836ygzbfwk9gh9wr0817icvdb3qv"; depends=[Rcpp]; };
   RcppHungarian = derive2 { name="RcppHungarian"; version="0.1"; sha256="1yx7kjjampjk47l8cqpv727g0nv23dnld9n8iwf7h1myfrl3yb6h"; depends=[Rcpp]; };
   RcppMLPACK = derive2 { name="RcppMLPACK"; version="1.0.10-6"; sha256="0vjx6azp3sny6nv5k1cs6vk61hmbllqw8mgvi7zn15p7ilmhsyyi"; depends=[BH Rcpp RcppArmadillo]; };
   RcppMeCab = derive2 { name="RcppMeCab"; version="0.0.1.2"; sha256="0varavfbrqzma176rw0dr9v5chh7pxh5y9g0rs3v7hqnlghp22y2"; depends=[BH Rcpp RcppParallel]; };
   RcppMsgPack = derive2 { name="RcppMsgPack"; version="0.2.3"; sha256="0ffdw5ckkax8j87q0ykjhyp45l7gvxjppdi73kc4r5qxvijll2g3"; depends=[BH Rcpp]; };
   RcppNLoptExample = derive2 { name="RcppNLoptExample"; version="0.0.1"; sha256="1fml6hpa12q0lgg5fg6fi9lz6mckwh345pbh95mld2qagzvmg01n"; depends=[nloptr Rcpp]; };
-  RcppNumerical = derive2 { name="RcppNumerical"; version="0.3-3"; sha256="15qwjfwx6yrh9sl2gndqfxw0b3iwnkr2nrgrccb6phpj3pdp7vsq"; depends=[Rcpp RcppEigen]; };
-  RcppParallel = derive2 { name="RcppParallel"; version="4.4.3"; sha256="1ym0bzs9g6bsg2lz24fisxxa3gypr6xcvrczn304czmrrag9413s"; depends=[]; };
+  RcppNumerical = derive2 { name="RcppNumerical"; version="0.4-0"; sha256="1a92fql6mijhnr1kxkcxwivf95pk9lhgmhzkshs51h0ybfv5krik"; depends=[Rcpp RcppEigen]; };
+  RcppParallel = derive2 { name="RcppParallel"; version="4.4.4"; sha256="0p13f2mywjr7gmskf8ri4y8p5yr1bvr4xrpw2w11vdvafwz1vcia"; depends=[]; };
   RcppProgress = derive2 { name="RcppProgress"; version="0.4.1"; sha256="0yk01hfv961zyp569682k9igvhnwqyg5j0n5fm63sxigj82l2xhi"; depends=[]; };
-  RcppQuantuccia = derive2 { name="RcppQuantuccia"; version="0.0.2"; sha256="1si5njb8g4g6fjrkqbp3y6z23yxs901nq9kmiwwbqs8di6svc5q3"; depends=[BH Rcpp]; };
+  RcppQuantuccia = derive2 { name="RcppQuantuccia"; version="0.0.3"; sha256="0cj95y8jcjm33d65y42f5ijw775kq3mh2p0659mp3i3r9fvaishk"; depends=[BH Rcpp]; };
   RcppRedis = derive2 { name="RcppRedis"; version="0.1.9"; sha256="08c2c5d3rn3z89yhlymbr8w145y85hlz1bq3g6kz0kwkjfnkbs1x"; depends=[BH RApiSerialize Rcpp]; };
   RcppRoll = derive2 { name="RcppRoll"; version="0.3.0"; sha256="0srzfhzkk42kzrdjnhbb37946jp1p688rgysy6k3i2is8jb21zyb"; depends=[Rcpp]; };
   RcppSMC = derive2 { name="RcppSMC"; version="0.2.1"; sha256="0k2k1pj05i6hf7gpar3r4mbv9cs04bd4v657saq9vhy30300vg49"; depends=[Rcpp RcppArmadillo]; };
   RcppStreams = derive2 { name="RcppStreams"; version="0.1.3"; sha256="06il7q3afaws57m0fxf04f2p5dvs23l1f7gl78pxwzclacdy3839"; depends=[BH Rcpp]; };
   RcppTN = derive2 { name="RcppTN"; version="0.2-2"; sha256="0m2wc5n1fzxv56s4gqqnygb24dbadgrpgjm4bs4hr6qazgjapymf"; depends=[Rcpp]; };
   RcppTOML = derive2 { name="RcppTOML"; version="0.1.6"; sha256="1nyv4ynryh8vcrzyq01nzj13is40bjhxazlj9ilapyjdv9h5w3bs"; depends=[Rcpp]; };
-  RcppThread = derive2 { name="RcppThread"; version="0.5.3"; sha256="1ndidhzzwxcg01kl867a1mm64zgxf4hiaf858zr7dfkr3gzdd3lp"; depends=[]; };
+  RcppThread = derive2 { name="RcppThread"; version="0.5.4"; sha256="1mlzng6di30p4nfvq9l3z241vb8rwnpa2yjbafs2vzrl6v3zcfnf"; depends=[]; };
   RcppXPtrUtils = derive2 { name="RcppXPtrUtils"; version="0.1.1"; sha256="0jh64c46gp99d2nsih14vx34pamc8i7gkmiy2nj94rx3sxq62yh5"; depends=[Rcpp]; };
   RcppXsimd = derive2 { name="RcppXsimd"; version="7.1.4"; sha256="171281f8lbdnnv3q9x5c35ak8fkrymx7llnpv88dlh742z8nny1j"; depends=[Rcpp]; };
   RcppXts = derive2 { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; };
@@ -3633,7 +3760,7 @@ in with self; {
   Rcssplot = derive2 { name="Rcssplot"; version="0.3.0"; sha256="1qwrwzyqbwwwjf2zx6712q6wj629vf9rjrgscf0fim10fa6k5grn"; depends=[]; };
   Rd = derive2 { name="Rd"; version="0.2.0"; sha256="0kf95h4xx8a2s2spld19niwjikaxkys5y5prwq3b7bryfj0s63v0"; depends=[assertthat pkgcond postlogic purrr rlang testthat]; };
   Rd2md = derive2 { name="Rd2md"; version="0.0.2"; sha256="07j1nnsk5nyl8kvgvh9f684g6bhc01jiq1fcmq2pnpx57jdzfbpi"; depends=[knitr]; };
-  Rd2roxygen = derive2 { name="Rd2roxygen"; version="1.8"; sha256="178zlnpwv3h3s77i749sbvnk3z80dgv14b3xvg3adsh8j6fj6mk2"; depends=[formatR roxygen2]; };
+  Rd2roxygen = derive2 { name="Rd2roxygen"; version="1.9"; sha256="029f85visar52002hdpfw5r2zq37kzbr8rgji76nnqi08jk0if4n"; depends=[formatR roxygen2]; };
   Rdice = derive2 { name="Rdice"; version="1.0.0"; sha256="1xibvm690808p2g3jch7rh1825yrpgln2hjfclgxjwn822qvs4xr"; depends=[data_table]; };
   Rdimtools = derive2 { name="Rdimtools"; version="0.4.2"; sha256="1pklnvg3qrlhskhk2vra38nnqcfdi3fncddm39w9mpxzbzmb62k7"; depends=[ADMM CVXR Matrix Rcpp RcppArmadillo RcppDE Rcsdp Rdpack RSpectra Rtsne]; };
   Rdistance = derive2 { name="Rdistance"; version="2.1.3"; sha256="03wh6y9h5jgfc6xdncpgyz0v7lqavikp3pf5wwfmm2rqfj7yjr8c"; depends=[]; };
@@ -3650,7 +3777,8 @@ in with self; {
   RealVAMS = derive2 { name="RealVAMS"; version="0.4-3"; sha256="14jqrqza7bs11y1004wzi3bxkvkdfn43d82l0cyh6py8p37rfz28"; depends=[Matrix numDeriv Rcpp RcppArmadillo]; };
   Rearrangement = derive2 { name="Rearrangement"; version="2.1"; sha256="0q253nj62rl65vjsq6503r80qa2j35wac8lv7ydp9w260p28z923"; depends=[quantreg]; };
   Recon = derive2 { name="Recon"; version="0.3.0.0"; sha256="11gag2bl00pcy7ysfycaa58qarh6aigznldkc4kkn2178bl4ii62"; depends=[rootSolve]; };
-  RecordLinkage = derive2 { name="RecordLinkage"; version="0.4-11.1"; sha256="1b5bw87h2lrf5vkd2ni75rz3dj4vjls28wys5g39aajsn55ql10k"; depends=[ada data_table DBI e1071 evd ff ffbase ipred nnet rpart RSQLite xtable]; };
+  RecordLinkage = derive2 { name="RecordLinkage"; version="0.4-11.2"; sha256="1gqf236bpxi0hbhv8bxscv78dwdb3z4x105qfyvzky01aydw5zgn"; depends=[ada data_table DBI e1071 evd ff ffbase ipred nnet rpart RSQLite xtable]; };
+  RecordTest = derive2 { name="RecordTest"; version="0.1.0"; sha256="1x6w6f2zlp6xb561n5khbf53955kv2ydmy646v7w85ygx9p8hyni"; depends=[car ggplot2 Smisc]; };
   Records = derive2 { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
   RedditExtractoR = derive2 { name="RedditExtractoR"; version="2.1.5"; sha256="1b6pp1vdn7jnyl8k828dgkxrx8sy2wyhkrn4rnfavqw4qvhm0mhm"; depends=[dplyr igraph magrittr RJSONIO rlang visNetwork]; };
   Redmonder = derive2 { name="Redmonder"; version="0.2.0"; sha256="02qrz1b0g7hdacj2s2bks5gfwnypkbiwlmn0bv7im1zz1swg9cp8"; depends=[]; };
@@ -3663,7 +3791,7 @@ in with self; {
   ReinforcementLearning = derive2 { name="ReinforcementLearning"; version="1.0.4"; sha256="14xacbi0bfnb9yn5sn1zksc4av08qrncn0glmbfc9x9i88rfz5m2"; depends=[data_table ggplot2 hash]; };
   RelValAnalysis = derive2 { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
   Relatedness = derive2 { name="Relatedness"; version="2.0"; sha256="1aidklwk8q2wdfsmhlbd3vzq9kzsyh4wn1g28biyb6lq7iwq1hl4"; depends=[]; };
-  Relexon = derive2 { name="Relexon"; version="0.1.0"; sha256="12c6qqydd3n0yc0yaqzz7hrp295s8dby5imhhpq9ip1cihi3bfqh"; depends=[readr]; };
+  Relexon = derive2 { name="Relexon"; version="0.2.1"; sha256="1shq1v3y1jhrnkl3fdnrwv23zrh8dx0k7zwqcvn5dxpd3vzsxqxg"; depends=[readr]; };
   Reliability = derive2 { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
   ReliabilityTheory = derive2 { name="ReliabilityTheory"; version="0.1.5"; sha256="14k979b9baqnz1gbhbjnp76nvdg5z1sc6p29h3v9qgvwv4aanp4v"; depends=[actuar combinat FRACTION HI igraph mcmc PhaseType sfsmisc]; };
   RelimpPCR = derive2 { name="RelimpPCR"; version="0.2.4"; sha256="0svfyh313wawzqx9hfb4cg0wn2ir6nd769z1k3dckdsb8d7xkh3q"; depends=[caret ggplot2 relaimpo reshape2 Rmisc]; };
@@ -3671,8 +3799,9 @@ in with self; {
   RenextGUI = derive2 { name="RenextGUI"; version="1.4-0"; sha256="0jfg4a85j06wxk8vq2q6j8md2kcss0s7k71218gfh9vybk7hl4h6"; depends=[gWidgets gWidgetstcltk R2HTML Renext]; };
   Renvlp = derive2 { name="Renvlp"; version="2.7"; sha256="1h65m1av2z5zj5mmhrf0vspnbws2dp6s6ihyrvcrm24ipcnkvinz"; depends=[Rsolnp]; };
   ReorderCluster = derive2 { name="ReorderCluster"; version="1.0"; sha256="0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58"; depends=[gplots Rcpp]; };
+  RepaymentPlan = derive2 { name="RepaymentPlan"; version="0.1.0"; sha256="1fd4n24bd5s2kqmls7mmsidblaf8nzm97kz52mfsb6i6fci0pgah"; depends=[]; };
   RepeatedHighDim = derive2 { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
-  Replicate = derive2 { name="Replicate"; version="1.1.0"; sha256="1iqzg7aspd2h0mc4w059nfz7hcxgbbl15389isrr63zfm0kcsbf6"; depends=[metafor]; };
+  Replicate = derive2 { name="Replicate"; version="1.2.0"; sha256="0kqy248c8n7qr5hwzvqm7flnjlwd60c577r1d4vzgfxn7azd5v3v"; depends=[ggplot2 metafor]; };
   Replication = derive2 { name="Replication"; version="0.1.1"; sha256="1jf08kd7zwsgrabg14p0ad5ga8gcr2xdiy5mgljb9hz4ffyhb6fs"; depends=[blavaan lavaan MASS mice quadprog rjags runjags]; };
   Repliscope = derive2 { name="Repliscope"; version="1.1.0"; sha256="0hij4ng77bkd979ndbhx1nqq2rfb69q23ghyd7illgvgrc79y9mr"; depends=[colourpicker ggplot2 shiny]; };
   RepoGenerator = derive2 { name="RepoGenerator"; version="0.0.1"; sha256="0d6s2sqyycaqrg32xdkp3pr5i7qmvwrfrjcd7f94a9y3lz4bz5b5"; depends=[git2r httr rmarkdown rstudioapi]; };
@@ -3681,28 +3810,30 @@ in with self; {
   RevEcoR = derive2 { name="RevEcoR"; version="0.99.3"; sha256="1nym263ynjdir5kxv35jnmki9mshlplq0sk3xnjd4ac6f1cfbfqj"; depends=[gtools igraph magrittr Matrix plyr purrr stringr XML]; };
   Rexperigen = derive2 { name="Rexperigen"; version="0.2.1"; sha256="158ksnd1gvzq7ii0ys2v0wrfnr001hni0i8m77p1fn1arixgmqdw"; depends=[digest jsonlite RCurl]; };
   Rfacebook = derive2 { name="Rfacebook"; version="0.6.15"; sha256="0hp2mbm0hnyasizszvh5x9hv7z2q633zck1a1gvk36nbxb1shx7c"; depends=[httpuv httr rjson]; };
-  Rfast = derive2 { name="Rfast"; version="1.9.5"; sha256="003ghzhq9jnxqdmz3fjn3r32s40lspxrsc5n004n1py1kra0fxmx"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
-  Rfast2 = derive2 { name="Rfast2"; version="0.0.3"; sha256="0kl4kvj30y4ns7yvdwyhyjpznsswaq1jlb9fmvp8kdwp5ii6y9ra"; depends=[Rcpp RcppArmadillo Rfast]; };
+  Rfast = derive2 { name="Rfast"; version="1.9.7"; sha256="0xk55akq0m4ayi839mx8li9saf8irp40xmbrwwg3rwj0zl1wmx1h"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
+  Rfast2 = derive2 { name="Rfast2"; version="0.0.4"; sha256="0n4n8krcznrvksfhkhbdzllfn6j79ca1iks3ckmn4vhipyilcafc"; depends=[Rcpp RcppArmadillo Rfast]; };
   Rfit = derive2 { name="Rfit"; version="0.23.0"; sha256="1gxxipbh7mskrqwrpk1gf1dn8mp3l1v4hgmzii44bppffnxs7slp"; depends=[]; };
   Rfolding = derive2 { name="Rfolding"; version="1.0"; sha256="15lf73zxr1slin9faj9k0z8qkb1g9nb7h080nfv99gsi2ks68ssg"; depends=[]; };
-  Rfssa = derive2 { name="Rfssa"; version="0.0.1"; sha256="0d1lpc57msw57i78d1hcjphxlci7rsvfn6mzfkh18x3dw90md9gv"; depends=[fda lattice plot3D Rcpp RcppArmadillo]; };
+  Rfssa = derive2 { name="Rfssa"; version="1.0.0"; sha256="0rmlx1fia0758kbqpi56awh7xws5pwx6zl8nnggi6bqalyskf09n"; depends=[dplyr fda lattice markdown plotly Rcpp RcppArmadillo Rssa shiny]; };
   Rga4gh = derive2 { name="Rga4gh"; version="0.1.1"; sha256="0h5y722blkkwn6ask6vjnhl22v9l6511chdm50ig6xcs5dvjam2m"; depends=[httr jsonlite]; };
   Rgb = derive2 { name="Rgb"; version="1.6.1"; sha256="0qs3dlv4g45dqphqjm23ky3w6rxh8ff2q6b17kvf57skyf1b1yn8"; depends=[]; };
   Rgbp = derive2 { name="Rgbp"; version="1.1.3"; sha256="1340h5rzb4631h6aanrdjl4x4l0h6l5x61qqmckrdf08fw2625lp"; depends=[mnormt sn]; };
   Rglpk = derive2 { name="Rglpk"; version="0.6-4"; sha256="19mzpyimzq9zqnbi05j79b2di3nzaln8swggs9p8sqdr60qvr3d2"; depends=[slam]; };
   Rgnuplot = derive2 { name="Rgnuplot"; version="1.0.3"; sha256="0mwpq6ibfv014fgdfsh3wf8yy82nzva6cgb3zifn3k9lnr3h2fj7"; depends=[]; };
-  RgoogleMaps = derive2 { name="RgoogleMaps"; version="1.4.3"; sha256="06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"; depends=[png]; };
-  Rhpc = derive2 { name="Rhpc"; version="0.18-204"; sha256="0ja2cx6sa8ihxnq96qhxfp43z5zd45b8jfb0y2rzzklnd7kj9kl1"; depends=[]; };
+  RgoogleMaps = derive2 { name="RgoogleMaps"; version="1.4.4"; sha256="0sbklacc4jl5524ixhc11mh6smrzdz4l9pji6cn402i6zdn9z05x"; depends=[png]; };
+  Rhpc = derive2 { name="Rhpc"; version="0.19-276"; sha256="1wbdkqmaq3rdj5r9w0mddkcyiabyd9r26jp3i7i4w055mq2r1gs1"; depends=[]; };
   RhpcBLASctl = derive2 { name="RhpcBLASctl"; version="0.18-205"; sha256="1ls2286fvrp1g7p8v4l6axznychh3qndranfpzqz806cm9ml1cdp"; depends=[]; };
   Ricetl = derive2 { name="Ricetl"; version="0.2.5.1"; sha256="1d7229ylnxgh2rvarwga229378ja79l978zjabf3sph4cqc1b965"; depends=[devtools gWidgets gWidgetsRGtk2 plyr readr readxl stringr tidyverse writexl]; };
   RichR = derive2 { name="RichR"; version="1.0.0"; sha256="0z0ri90jqdmw0vwxd1b4wr9if5cgm1gqpf6g9p1fdvncf4sdi9by"; depends=[magrittr metap plyr reshape2]; };
   RidgeFusion = derive2 { name="RidgeFusion"; version="1.0-3"; sha256="10llmrsfpcqrkcbw7zj44kvfy7ywn9rk49n7zplilz8h94zzcmjv"; depends=[mvtnorm]; };
   Ridit = derive2 { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
-  RiemBase = derive2 { name="RiemBase"; version="0.2.2"; sha256="00skgahbmdalb4bq1hyy8rpl81f2x4d977fi1q3qb152q4br9r2w"; depends=[pracma Rcpp RcppArmadillo Rdpack]; };
+  RiemBase = derive2 { name="RiemBase"; version="0.2.3"; sha256="08dwnzjy7fhipvqb7p4kbhcfhrnz9i025czci6d0a9nnyscqcgfv"; depends=[pracma Rcpp RcppArmadillo Rdpack]; };
+  RiemBaseExt = derive2 { name="RiemBaseExt"; version="0.1.1"; sha256="17899bsb6s4jaql71hsq5abcnf1ybji5236zwh25apc6k7br14fc"; depends=[cluster dbscan energy fastcluster kernlab Rcpp RcppArmadillo Rdpack RiemBase]; };
   Riex = derive2 { name="Riex"; version="1.0.1"; sha256="1jri01s08g819bvw0bgd5z5iaf9rlikkqq993lm0455k909wm34v"; depends=[dplyr ggplot2 httr purrr quantmod rjson stringr tibble tidyr tidyverse TTR urltools xts zoo]; };
   Rilostat = derive2 { name="Rilostat"; version="1.0.1"; sha256="0k8x2z3vxfwbynn22wpkfbc1i237bl61dh612nhw19c7v48lhdgg"; depends=[data_table dplyr DT haven plyr RCurl readr stringr tibble xml2]; };
   Rinstapkg = derive2 { name="Rinstapkg"; version="0.1.0"; sha256="0fvj4jc00g5b8cc4mrsjj72fdcdmvlky05s2ca0g2gndrjs6vxic"; depends=[digest dplyr httr jsonlite lubridate purrr readr rlang uuid]; };
   Rip46 = derive2 { name="Rip46"; version="1.0.2"; sha256="0wfp6fm5mgmjqjkn0c5hvjd95yn4zcv0s8xc5294qf5jqxp8b1w7"; depends=[Rcpp]; };
+  Rirt = derive2 { name="Rirt"; version="0.0.2"; sha256="0npd2g3a4dh5hlj6l06k1pf0j4731ybqqd4mpi4id16nf81cg104"; depends=[ggplot2 Rcpp reshape2]; };
   Risk = derive2 { name="Risk"; version="1.0"; sha256="1i42xcc699syj108mvgklwb30wkf9c9jrg5rmd2ypnqk9mnyg2fg"; depends=[]; };
   RiskPortfolios = derive2 { name="RiskPortfolios"; version="2.1.2"; sha256="10kgr05npq9gyhglvpzk49hsr44rgscnygkv3b0gz7f6jxqkfj9z"; depends=[MASS nloptr quadprog]; };
   Ritc = derive2 { name="Ritc"; version="1.0.2"; sha256="03smhxjhjfkc9pxhlgg54b6v2jznpmnws8373qpvn9a9ky5bcq2l"; depends=[minpack_lm]; };
@@ -3712,15 +3843,15 @@ in with self; {
   RkMetrics = derive2 { name="RkMetrics"; version="1.3"; sha256="1k6vnr1r4h69iznib638z45gd0f8wc4g4h0ji9f0017883g77li1"; depends=[]; };
   Rknots = derive2 { name="Rknots"; version="1.3.2"; sha256="1krhma8hy3l5lbm6d8rxjlj9jw1zrd16h4wy4p1clfa5vlhh3bwi"; depends=[bio3d rgl rSymPy]; };
   Rlab = derive2 { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
-  Rlabkey = derive2 { name="Rlabkey"; version="2.3.1"; sha256="0m5v8wf6a1pipp0xi0ajxfk0fyslbmdx3698z439g4i5hbrg0i3r"; depends=[httr jsonlite Rcpp]; };
+  Rlabkey = derive2 { name="Rlabkey"; version="2.3.3"; sha256="14jiksm93c8qn9x0slc5v1f5d1fxcyg2fdxd82czdgp8j2ijwh55"; depends=[httr jsonlite Rcpp]; };
   Rlda = derive2 { name="Rlda"; version="0.2.6"; sha256="0i8n01h9072q339p1kiqhcpwphw0d2x6bsszbhgfqc2b160dk2bl"; depends=[coda doParallel foreach gtools Rcpp RcppArmadillo RcppProgress]; };
   Rlgt = derive2 { name="Rlgt"; version="0.1-3"; sha256="0g610v5rch5s31gc7dy9zx4mcgsdhn82y1pmr2rs14qma0v7x515"; depends=[BH forecast Rcpp RcppEigen rstan rstantools sn StanHeaders]; };
   Rlibeemd = derive2 { name="Rlibeemd"; version="1.4.1"; sha256="06bb939awawpwn4g63b9jzq5b658lsznzy272zl0fy19x62c6bwr"; depends=[Rcpp]; };
   Rlinkedin = derive2 { name="Rlinkedin"; version="0.2"; sha256="15sbiis1d0s466nqk1adjhflb01sb9kn25f4y6sagkdggvyz6b56"; depends=[httpuv httr XML]; };
   Rlinsolve = derive2 { name="Rlinsolve"; version="0.3.0"; sha256="1kvlpfrw4w2dykpdym9sg6h2ghavnm7lwxn6bzqldwg53wlinvxk"; depends=[BH bigmemory Matrix Rcpp RcppArmadillo Rdpack]; };
   Rlof = derive2 { name="Rlof"; version="1.1.1"; sha256="1px6ax2mr2agbhv41akccrjdrvp8a9lmhymp0cn8fjrib0ig8vql"; depends=[doParallel foreach]; };
-  Rmagic = derive2 { name="Rmagic"; version="1.4.0"; sha256="0xf2zc9p0y9z2a26w79p3b7hggk78zyiszbyq269s0v6i3h29gy0"; depends=[ggplot2 Matrix reticulate]; };
-  Rmalschains = derive2 { name="Rmalschains"; version="0.2-5"; sha256="17wqs2v53j4m7ghps6pq8z8i73c9ji4079s4m2jb49izjjr8q711"; depends=[Rcpp]; };
+  Rmagic = derive2 { name="Rmagic"; version="2.0.3"; sha256="0g2f887v820rjyjzcahfrnjvif8iwbhnfnjpd4ib3d9lps69agx1"; depends=[ggplot2 Matrix reticulate]; };
+  Rmalschains = derive2 { name="Rmalschains"; version="0.2-6"; sha256="1dp0nys320i7pa7c0smz57vj6jk7wjvrnnn90z5w7m6xdb4rm369"; depends=[Rcpp]; };
   RmarineHeatWaves = derive2 { name="RmarineHeatWaves"; version="0.17.0"; sha256="09lrrxnkkfnbidnmag1czx2xzssdl09348nkc6pqgq6xz36a3mqc"; depends=[dplyr ggplot2 lazyeval lubridate plyr raster rlang tibble tidyr zoo]; };
   RmecabKo = derive2 { name="RmecabKo"; version="0.1.6.2"; sha256="1i08wlfd14wmvwrsvjyhgzxkwzfp4jiwbzymw8m25pvyjxgi7jmy"; depends=[Rcpp stringr]; };
   Rmisc = derive2 { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; };
@@ -3729,22 +3860,23 @@ in with self; {
   Rmosek = derive2 { name="Rmosek"; version="1.3.5"; sha256="18q39n2p3gms9zqrl8g15rjjk4v64365v0rm8r7zvvivh1hy5xa0"; depends=[]; };
   Rmpfr = derive2 { name="Rmpfr"; version="0.7-2"; sha256="1zq3as34r27v2yc729731997wdhxb6cs5ilmak4nmsljabnac7gc"; depends=[gmp]; };
   Rmpi = derive2 { name="Rmpi"; version="0.6-9"; sha256="1rhycla98hxgnnxlxxldr1x51djak7c2jjvlrv3jcsvgwp1ymqdj"; depends=[]; };
+  Rmst = derive2 { name="Rmst"; version="0.0.3"; sha256="1fykpii17k460qlsjhhh5vag02lhkyk5l3zjmg8hifqp0cjhz2fl"; depends=[ggplot2 Rata reshape2 Rirt]; };
   RnavGraphImageData = derive2 { name="RnavGraphImageData"; version="0.0.4"; sha256="1k1gnkghap878fck0bbz9mm0fr4cli6lh1d11r0cf47fvl6cc4gr"; depends=[]; };
   RndTexExams = derive2 { name="RndTexExams"; version="1.5"; sha256="17azzxcawqqvfdbw1i34n03bj5yla8npyi7xh3pnx22xb7sbwq3x"; depends=[data_table stringi stringr]; };
   Rnets = derive2 { name="Rnets"; version="1.2.1"; sha256="08441hhmf1i97z5xb9pq651y6hwr2yraiyg1ns7qkxm2svz3kwxs"; depends=[data_table glasso ICSNP igraph rlang stringr]; };
-  Rnightlights = derive2 { name="Rnightlights"; version="0.2.3"; sha256="014bw1xln699y0zjaf5xifc2f3yl9zgb0acv7v1qw0q478ka9aak"; depends=[cleangeo data_table doSNOW dplyr ff ffbase foreach lubridate R_utils raster readr reshape2 rgdal rgeos rvest rworldmap settings snow sp stringr xml2]; };
   Rnmr1D = derive2 { name="Rnmr1D"; version="1.2.4"; sha256="0n2nqxn3js3avnln9y5718r73rplr0mcyak70gwhzw4mph2z6i26"; depends=[base64enc doParallel foreach ggplot2 igraph impute MASS MassSpecWavelet Matrix plotly plyr ptw Rcpp signal speaq XML]; };
   Rnumerai = derive2 { name="Rnumerai"; version="0.3"; sha256="0zvfp9zp73gm6pflf9bx1xk1s45xwwvcd56cbris08d2zfj3b3nl"; depends=[httr lubridate]; };
   RobAStBase = derive2 { name="RobAStBase"; version="1.2.1"; sha256="0dn93bcyz9kxbj38sc1wisfa6v0666v9gk6y3zq0ihjkkhkmdwq3"; depends=[distr distrEx distrMod RandVar rrcov startupmsg]; };
   RobAStRDA = derive2 { name="RobAStRDA"; version="1.2.0"; sha256="1s84j5in4av9zbbszv8j2rpigrd9ws9h4hz64jw7xagsj3xb49kz"; depends=[]; };
   RobExtremes = derive2 { name="RobExtremes"; version="1.2.0"; sha256="150p94f0g75g54qcaq4x45lk4sxiyvv1zs4hxkicf46raybvsv89"; depends=[actuar distr distrEx distrMod evd RandVar RobAStBase RobAStRDA robustbase ROptEst startupmsg]; };
+  RobGARCHBoot = derive2 { name="RobGARCHBoot"; version="1.0.0"; sha256="0m739ix7qj89ppz3k87pc5rgiasmgii467l95clkn6wschfnpfgx"; depends=[Rcpp RcppArmadillo]; };
   RobLox = derive2 { name="RobLox"; version="1.2.0"; sha256="1lcylkskfidg576lqfi84l14rvrpfbzmr53hcgzzmfipxhli4dr8"; depends=[Biobase distr distrMod lattice RandVar RColorBrewer RobAStBase]; };
   RobLoxBioC = derive2 { name="RobLoxBioC"; version="1.2.0"; sha256="01lydp67v7mc4v3svsnl4zqq2jy1czwg9l9blngjn9ky0hv3haf5"; depends=[affy AnnotationDbi beadarray Biobase BiocGenerics distr distrMod lattice RColorBrewer RobLox]; };
   RobPer = derive2 { name="RobPer"; version="1.2.2"; sha256="0631qfpz61606r50vzn7b3h7arfwxcs8j13q1hg779qx60kwrliy"; depends=[BB quantreg rgenoud robustbase]; };
   RobRSVD = derive2 { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
   RobRex = derive2 { name="RobRex"; version="1.2.0"; sha256="1npgbdvdzb0p0w77fsngrwg968y621p3lx8qw69ns8qgxjkismqp"; depends=[distr RandVar RobAStBase ROptRegTS]; };
-  RobStatTM = derive2 { name="RobStatTM"; version="1.0.0"; sha256="00c79qmq9r9vqwzzv0ijzpkz9ns33xlysml62b3y4lcfz15scbx9"; depends=[DEoptimR DT fit_models ggplot2 gridExtra PerformanceAnalytics pyinit robust robustbase rrcov shiny shinyjs xts]; };
-  RobinHood = derive2 { name="RobinHood"; version="1.0.7"; sha256="0zvibrkqs5awyshs4r61fxbsx4h81vsslma1c6a7r85255jq9vs3"; depends=[curl dplyr httr jsonlite lubridate magrittr profvis]; };
+  RobStatTM = derive2 { name="RobStatTM"; version="1.0.1"; sha256="05bhly32gi5w5n4w7c276dfvyj9ax1kfiwlj2s7x7l6r8yxkjp25"; depends=[DEoptimR DT fit_models ggplot2 gridExtra PerformanceAnalytics pyinit robust robustbase rrcov shiny shinyjs xts]; };
+  RobinHood = derive2 { name="RobinHood"; version="1.2.1"; sha256="0lq06m7zdny5230afssr8cjx7rlfnhmrzi02972dqcc6w9p62270"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
   Robocoap = derive2 { name="Robocoap"; version="0.1-1"; sha256="0aj6iv85a1zfaknjhrzf6lnf0qn726dvnj4dywg9nii1kkqrkq2w"; depends=[data_table igraph markovchain tm]; };
   RobustAFT = derive2 { name="RobustAFT"; version="1.4-4"; sha256="17qjfpagz0wpl8hbyksnag51nj6b9arl9mk5a56avykd2nii95kd"; depends=[robustbase survival]; };
   RobustCalibration = derive2 { name="RobustCalibration"; version="0.5.1"; sha256="0wsnvryvrl37acljrda2dm1d8aynqiy66yd2i857m035whixfpqa"; depends=[Rcpp RcppEigen RobustGaSP]; };
@@ -3764,16 +3896,18 @@ in with self; {
   Rpdb = derive2 { name="Rpdb"; version="2.3"; sha256="0zy5f7bli6ppc9giwf8845mzjcv54r2sqb8hxwgbn9k6rjlszgi8"; depends=[rgl]; };
   RpeakChrom = derive2 { name="RpeakChrom"; version="1.1.0"; sha256="1r8f6knpz83arz2kabizx5yyh1myg0h310qlwh8rmy88cdxi1ps9"; depends=[ggplot2 minpack_lm pracma ptw]; };
   Rphylip = derive2 { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
-  Rphylopars = derive2 { name="Rphylopars"; version="0.2.9"; sha256="19y0j5vh82sa9jigylxhv0s0hgjyhx3xq4blvk55jhpj8v7iyiky"; depends=[ape doBy geiger MASS Matrix mvnmle phylolm phytools Rcpp RcppArmadillo]; };
+  Rphylopars = derive2 { name="Rphylopars"; version="0.2.11"; sha256="0bqiicdhfv4p6a04b8kvlyg7vmw49br1932fqvr7009jdjf428jp"; depends=[ape doBy geiger MASS Matrix mvnmle phylolm phytools Rcpp RcppArmadillo]; };
   Rpipedrive = derive2 { name="Rpipedrive"; version="0.1.1"; sha256="1rf16q0wfmd3n9idiqpmdhcw7sq27yk2cy9gfl5l6bzj0y6ax1q8"; depends=[httr jsonlite]; };
+  Rpoet = derive2 { name="Rpoet"; version="1.1.0"; sha256="11gp4zg0wc2a21956355rkr3i3dyaabfz0z30z4phn8s7y3yqr92"; depends=[]; };
   Rpolyhedra = derive2 { name="Rpolyhedra"; version="0.4.2"; sha256="0q50f0pp72rwmflxwnridjrcl649kz5h2fm8jfz2pn473mghhya8"; depends=[digest dplyr futile_logger geometry git2r R6 rgl stringr testthat XML]; };
   Rpoppler = derive2 { name="Rpoppler"; version="0.1-0"; sha256="19nvv45ahp0c241p1xzlq0sq5qarqg66jw5f1anhqnfi2hi91hcm"; depends=[]; };
   Rprofet = derive2 { name="Rprofet"; version="2.2.0"; sha256="1s0jkq83vfc9jsggnwm31r366b10n6sri2vzpwxybzpjq3d3w5qr"; depends=[binr ClustOfVar ggplot2 gridExtra plyr sqldf stringr]; };
   Rquake = derive2 { name="Rquake"; version="2.4-0"; sha256="14s2mjq9qqxfvlwmq9126h67y5wr7irlc7945pgv1ab9hl1lgmz8"; depends=[GEOmap MBA minpack_lm rgl RPMG RSEIS]; };
+  Rquefts = derive2 { name="Rquefts"; version="1.0-5"; sha256="0c3738rn3abmah61kxyys3ab807r7mhcj10shkraq3li6v7aw5kv"; depends=[meteor Rcpp]; };
   Rramas = derive2 { name="Rramas"; version="0.1-6"; sha256="16aapvz9j81lvi5ryj41bvn3wf51b0gynnzs0jpvva4m3mvzw6an"; depends=[diagram]; };
-  Rraven = derive2 { name="Rraven"; version="1.0.6"; sha256="01yhmanf9hixv0pm5zw219b0hrazqcnxr5bkxm2bxpn7fz0hm8zr"; depends=[NatureSounds pbapply seewave tuneR warbleR]; };
+  Rraven = derive2 { name="Rraven"; version="1.0.8"; sha256="00qlisn7026y0dhgb9ig8liky5k8xrw7app5dj6f8123bi6ligv6"; depends=[NatureSounds pbapply seewave tuneR warbleR]; };
   Rrdrand = derive2 { name="Rrdrand"; version="0.1-16"; sha256="0j9yyvq8r1cgwj3kw1ak6hyazr67f2q0c1m651wdm0wcvm1ajx7f"; depends=[]; };
-  Rsagacmd = derive2 { name="Rsagacmd"; version="0.0.1"; sha256="15lk35kb69q55z7mjv4ar5nkfn6nkah802272jp9wvf5r5zlw5zp"; depends=[foreign magrittr minpack_lm raster rgdal rlang sf stringr XML]; };
+  Rsagacmd = derive2 { name="Rsagacmd"; version="0.0.2"; sha256="02mz1q6zjrrjrf40d8y7xpzilk2f14zpsczcw9qr5v9zzch4kjxb"; depends=[foreign magrittr minpack_lm raster rgdal sf stringr XML]; };
   Rsampletrees = derive2 { name="Rsampletrees"; version="1.0.2"; sha256="1wz3dp1myjkxzf9l5mfli3dfbkc2fwg70xx7m9cxa06vq0a4w5pv"; depends=[ape haplo_stats Rcpp]; };
   Rsampling = derive2 { name="Rsampling"; version="0.1.1"; sha256="14rp3j7iaii4rc3jkbijmbgvlagxxqjkz3vvfwwpxix43rsi8zsk"; depends=[]; };
   Rsconctdply = derive2 { name="Rsconctdply"; version="0.1.3"; sha256="12xc1laxgivv4szp8341pvhmxnzzzzc2s4jhnqsqrbx71lbd9szg"; depends=[dplyr rjson rsconnect]; };
@@ -3791,9 +3925,9 @@ in with self; {
   RtextSummary = derive2 { name="RtextSummary"; version="0.1.0"; sha256="1kqzml8zmkqx6200g2jw5mmg5g043h6mr1skms1c2q905avd46gv"; depends=[dplyr Matrix_utils mlapi R6 stringr text2vec tidyr tokenizers]; };
   Rtextrankr = derive2 { name="Rtextrankr"; version="1.0.0"; sha256="16dby3xsfcjyp35xdflmgnh7zkqygfbffvj4jqa565vj9ksnq5ir"; depends=[igraph KoNLP sets stringi]; };
   Rtnmin = derive2 { name="Rtnmin"; version="2016-7.7"; sha256="0f8ii87v29v61b93hx2yxdppp3nvgnl5imp80sbb4bjsdg0mf989"; depends=[]; };
+  Rtrack = derive2 { name="Rtrack"; version="0.9.3"; sha256="0b73cr299hv2k6ia4ama6ciq9506wy2w2cyh1bv5wdqiyvf8hzia"; depends=[crayon KernSmooth openxlsx pbapply randomForest raster readxl rgeos rjson sp]; };
   Rtsne = derive2 { name="Rtsne"; version="0.15"; sha256="0v17vxizrs1msay24xl2bckfajr2c82wpqj07lyssbrq197nwdsn"; depends=[Rcpp]; };
   Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.7"; sha256="12hf9r3mhjr9sawdvf7qhjf1zph2q64f77i81jwvy7awidbm0kja"; depends=[]; };
-  Rtts = derive2 { name="Rtts"; version="0.3.3"; sha256="0jphdpnpbq0d48kzflilxlh6psk282hi1hz3rmnwnd0rx5iyg624"; depends=[RCurl]; };
   RtutoR = derive2 { name="RtutoR"; version="1.2"; sha256="19wmi30b5i6zj673d76gxl6j0k3ppfyl5fqrcs0dwmmadrrvbajq"; depends=[colourpicker devtools dplyr DT FSelector ggplot2 ggthemes officer plotly rlang rmarkdown shiny shinyBS shinydashboard shinyjs tidyr]; };
   Rtwalk = derive2 { name="Rtwalk"; version="1.8.0"; sha256="0zxf66lsfq8by40flv34xzd5yy0wa1ah9li1d0h7f0yh9nbwhxl5"; depends=[]; };
   Runiversal = derive2 { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
@@ -3805,16 +3939,18 @@ in with self; {
   Rwave = derive2 { name="Rwave"; version="2.4-8"; sha256="1rmqwyj2r84sii0vfqhyhpi3n1n1zia2ca627fq9ksvwn110nrvh"; depends=[]; };
   Rwhois = derive2 { name="Rwhois"; version="1.0.3"; sha256="06mx98wi6r265ykkk81hk17yjkym6ar7c2cwp962ijfk3lxwc9l4"; depends=[stringr]; };
   Rwinsteps = derive2 { name="Rwinsteps"; version="1.0-1.1"; sha256="0kaxhaa65k1hkhl4kqfxyyk6v967xncrdr5hy8b808zlbqriankc"; depends=[]; };
+  Rwordseg = derive2 { name="Rwordseg"; version="0.3-2"; sha256="10jhfalh45rrcm76hwz4b5yl408ndx2wkr0i3q1avx6z6i45d8s6"; depends=[HMM tmcn]; };
   RxCEcolInf = derive2 { name="RxCEcolInf"; version="0.1-4"; sha256="0qyhxqd5yi4d1prj0i4g3k29zi0mx6wkjx24ynb4arxw6h1vabh4"; depends=[coda lattice MASS MCMCpack mvtnorm]; };
-  RxODE = derive2 { name="RxODE"; version="0.9.1-2"; sha256="1bb8pyna64nr2383b8dn4scgyhd3pkszh87gz92g89kirc7v50c5"; depends=[assertthat brew cli crayon digest dparser ggforce ggplot2 inline lotri magrittr Matrix memoise mvnfast n1qn1 pillar PreciseSums Rcpp RcppArmadillo remotes rex sys units]; };
+  RxODE = derive2 { name="RxODE"; version="0.9.1-8"; sha256="01a1f6lwfqpx8jrm1gnmc9mh69zjd53s8s3dmymxyq7lpj62b1qk"; depends=[assertthat brew cli crayon digest dparser ggforce ggplot2 inline lotri magrittr Matrix memoise mvnfast pillar PreciseSums Rcpp RcppArmadillo remotes rex sys units]; };
   RxnSim = derive2 { name="RxnSim"; version="1.0.3"; sha256="0fi4aic2brfbl6rsnnfwqq7l8ygvlmr98w0v749l3djpgn7sfrig"; depends=[data_table fingerprint rcdk rJava]; };
   Rxnat = derive2 { name="Rxnat"; version="1.0.6"; sha256="1wzb4dihzbyp23yggi1n7c5ikbq6h2gl9v7bgwxf00y2gwlabjx4"; depends=[httr RCurl]; };
-  Ryacas = derive2 { name="Ryacas"; version="0.4.1"; sha256="1gd8zmrj98r4qsnlmn3qd2pldjk5dhj3f0ybn1dijwy192g1w3vd"; depends=[Rcpp settings xml2]; };
+  Ryacas = derive2 { name="Ryacas"; version="1.1.1"; sha256="0gp9ab106c0x9za4laqa08g6cyzpwr2gpbfibk4spr45fldz2969"; depends=[magrittr Rcpp]; };
+  Ryacas0 = derive2 { name="Ryacas0"; version="0.4.2"; sha256="0k8q9v9016x8vfskwa6zmh2rbblqqfk8bryxslxaj8irzvkggnvl"; depends=[Rcpp settings xml2]; };
   S2sls = derive2 { name="S2sls"; version="0.1"; sha256="0qq1rff2cdgrm5rj69jxgrl71i0wmzyn424fdvcg02zdv9ggqhd3"; depends=[spanel]; };
   SACCR = derive2 { name="SACCR"; version="2.3"; sha256="0q5fpzmfj08mzxbxksi5fgkfw8n4zsmh37zqnbwkz30llh620hgv"; depends=[data_tree jsonlite Trading]; };
-  SACOBRA = derive2 { name="SACOBRA"; version="0.7"; sha256="12aj4ghs3i3ks749z0l95ipv8gi33xgggkyjf21zvnzmb1dgphys"; depends=[testit]; };
+  SACOBRA = derive2 { name="SACOBRA"; version="1.1"; sha256="123kbksamx30l4kib8pkv44knra8yqhvjwbx61xxi7k88qaxvmin"; depends=[mgcv R6 testit]; };
   SADEG = derive2 { name="SADEG"; version="1.0.0"; sha256="02ilykbdanx1isbd80c43hqpzkckq6dg40y0rklcnck6v96qky3n"; depends=[]; };
-  SADISA = derive2 { name="SADISA"; version="1.1"; sha256="00qixqbbkpc8g8nmggvrknsc03v9w04nb4dlcq91fs7g76rpzs92"; depends=[DDD pracma]; };
+  SADISA = derive2 { name="SADISA"; version="1.2"; sha256="0yn7f360wl5ykys5zln159xh2h8bx7zb5ddwhv1migjlqry506hp"; depends=[DDD pracma]; };
   SAFD = derive2 { name="SAFD"; version="2.1"; sha256="078ki9wrmcf80bwhx4d56gas79xrc17a0081i13yxvjqn6w7f7jd"; depends=[]; };
   SAGMM = derive2 { name="SAGMM"; version="0.2.4"; sha256="18ig7ncmrfs5cyc28xpbqk9zjhwqfp7gwix7y2v1j4j2wbdc2hzs"; depends=[lowmemtkmeans mclust MixSim Rcpp RcppArmadillo]; };
   SALES = derive2 { name="SALES"; version="1.0.0"; sha256="1kjmlwa4v2i7hzm947xby9jr0irsf4c851f7jyqyhqna9c65rx0g"; depends=[Matrix]; };
@@ -3834,7 +3970,7 @@ in with self; {
   SASmixed = derive2 { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
   SASxport = derive2 { name="SASxport"; version="1.6.0"; sha256="1g8sfi61im9i04whybwqq4rl6glisbziqaag1mdfqykxryakjf04"; depends=[Hmisc stringi]; };
   SAVE = derive2 { name="SAVE"; version="1.0"; sha256="1m9rrga8x00hlvn0c1jcz6yz14pdm6h3dq14905mq49sw63c7zll"; depends=[coda DiceKriging]; };
-  SAVER = derive2 { name="SAVER"; version="1.1.1"; sha256="1jkyxnpvbm6zrhf2q9i98gchv786wh83mx0i1vnz2hqa766jk2nj"; depends=[doParallel foreach glmnet iterators Matrix]; };
+  SAVER = derive2 { name="SAVER"; version="1.1.2"; sha256="1s1kw8idkaj7j90fw4qn9k0wd4vz0sblsk06ry6lm4afcar0p158"; depends=[doParallel foreach glmnet iterators Matrix]; };
   SAutomata = derive2 { name="SAutomata"; version="0.1.0"; sha256="0d9q7bm2f7s4aslml40n43vwcdkc8rnn9ygydccwi4b9a7y23k58"; depends=[]; };
   SBRect = derive2 { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
   SBSA = derive2 { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp RcppArmadillo]; };
@@ -3850,27 +3986,28 @@ in with self; {
   SCI = derive2 { name="SCI"; version="1.0-2"; sha256="1jvzkdv15ifgf6a3zjfzzcgw2y2vg0wp7yhiamiaqp8xkm142w49"; depends=[fitdistrplus lmomco]; };
   SCINA = derive2 { name="SCINA"; version="1.2.0"; sha256="1gv9widjwvk5j535r1zx6f41ylpa2r4168ya580llgblx85z402d"; depends=[gplots MASS]; };
   SCMA = derive2 { name="SCMA"; version="1.3.0"; sha256="0izpbvgimqyj529nzng94p0cvmz9l545b3ra4ycc23rsbg50q315"; depends=[]; };
+  SCOR = derive2 { name="SCOR"; version="1.1.0"; sha256="0r462g3wciz0kkvzwnd7660giy16q8bk8chm73syrw4fnfk2vdkv"; depends=[doParallel foreach iterators]; };
   SCORER2 = derive2 { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
-  SCORPIUS = derive2 { name="SCORPIUS"; version="1.0.3"; sha256="0ppxqb6lxxb9m9m89j52d49i873kilyscdnyalrkpky1b1xh22x0"; depends=[dplyr dyndimred dynutils ggplot2 MASS Matrix mclust pbapply pheatmap princurve purrr ranger RColorBrewer reshape2 tidyr TSP]; };
+  SCORPIUS = derive2 { name="SCORPIUS"; version="1.0.4.1"; sha256="00cmlgi5kvi4q8pnq41hbq47243vkycrfplykmkjj9fdnzrlqs8h"; depends=[dplyr dyndimred dynutils ggplot2 MASS Matrix mclust pbapply pheatmap princurve purrr ranger RColorBrewer tidyr TSP]; };
   SCPME = derive2 { name="SCPME"; version="1.0"; sha256="0yhsaaa349wbrswcvp7w8c52wzp7rs3528rs4wqa8b3r3fh983mh"; depends=[doParallel dplyr foreach ggplot2 Rcpp RcppArmadillo RcppProgress]; };
-  SCRABBLE = derive2 { name="SCRABBLE"; version="0.0.1"; sha256="15k8fqcyvbqminqf41n9wx3xm7bg8v47g5vaf65aclj5wn2gn5y2"; depends=[ggplot2 gridExtra pracma rARPACK RColorBrewer Rcpp RcppEigen reshape2]; };
   SCRSELECT = derive2 { name="SCRSELECT"; version="1.3-3"; sha256="118vwnd5gggvdhq7fbs0553l84vh5mhiag41q4svprd7p0pqd9hd"; depends=[mvtnorm]; };
   SCRT = derive2 { name="SCRT"; version="1.3.0"; sha256="0668hjp7m1g7nx4p3ip0z83f1qn83pz0hdkjxxsnl1a8jwgb2748"; depends=[]; };
   SCVA = derive2 { name="SCVA"; version="1.3.0"; sha256="1s29pcx8rhgsnmha78nylvzr8wbffaczb2wbc15x04vd96xp7513"; depends=[ggExtra ggplot2 plotly scales]; };
   SCperf = derive2 { name="SCperf"; version="1.1.1"; sha256="1kqi3sv9ds58l20pdcnjrrbf7fin82j73yqj5rbx4kjdw560ylb2"; depends=[]; };
   SDALGCP = derive2 { name="SDALGCP"; version="0.2.0"; sha256="04yqa0dlr4p6fpc4dsiqwb02j056fz9j8qwf7939b5hpg8k9qwjg"; depends=[geoR maptools mapview Matrix pdist plyr PrevMap progress raster sp spacetime spatstat splancs]; };
+  SDAR = derive2 { name="SDAR"; version="0.9-3"; sha256="173qssvca1ds37x3518q3vfl2185b4fnkprvb52pp7mpv1w1xdrp"; depends=[grImport2 linbin readxl]; };
   SDD = derive2 { name="SDD"; version="1.2"; sha256="0wzgm1hgjv5s00bpd7j387qbvn5zvyrrd5fr2rgyll4cw9p4sd33"; depends=[Hmisc rgl rpanel sm tseries]; };
   SDDE = derive2 { name="SDDE"; version="1.0.1"; sha256="14vql1bypn409w9xcx1jdzff6apiagcz2wng3y24h3mk7yjv9bzy"; depends=[doParallel foreach igraph iterators]; };
   SDLfilter = derive2 { name="SDLfilter"; version="1.2.1"; sha256="1chvg3vh5mwsczbv2ayq9pj1my1i4m2dmr7az1hh00yvlvilfp0y"; depends=[data_table geosphere ggmap ggplot2 ggsn gridExtra maps raster sp trip]; };
   SDMPlay = derive2 { name="SDMPlay"; version="1.2"; sha256="0kafj5z1fi5d824h0n23qzn8a6n8fqm3bfc0pdfypzbaj2arjz3k"; depends=[dismo gbm raster SDMTools]; };
-  SDMTools = derive2 { name="SDMTools"; version="1.1-221.1"; sha256="1fsgnlc7glawimzijp11j53g5bnfp1mdq9wb0754idmxcdi8a99q"; depends=[R_utils]; };
-  SDMtune = derive2 { name="SDMtune"; version="0.1.1"; sha256="03a09k43wi9dsr3pxbwwvcg7zsc37ls6krdcqgsk0nrkqzyd9a97"; depends=[cli crayon dismo ggplot2 htmltools jsonlite kableExtra maxnet progress raster rasterVis Rcpp reshape2 rstudioapi scales stringr whisker]; };
+  SDMTools = derive2 { name="SDMTools"; version="1.1-221.2"; sha256="1xvcd97ikqsfdpk2fddy3k0z1ajqga7nv9bgac9c1wnjk1gqrpgh"; depends=[R_utils]; };
+  SDMtune = derive2 { name="SDMtune"; version="0.2.0"; sha256="03bcgmyj3r0bh6ak7bq2skr7mr57qdszpnivjpxr5xisdbws6hkb"; depends=[cli crayon dismo gbm ggplot2 htmltools jsonlite kableExtra maxnet nnet plotROC progress randomForest raster rasterVis Rcpp reshape2 rstudioapi scales stringr whisker]; };
   SDT = derive2 { name="SDT"; version="1.0.0"; sha256="1jwpfd1pnzy9wcl90qv5bgwi19shsw9064dvml9zwbif8yw8dzjj"; depends=[quadprog]; };
   SDaA = derive2 { name="SDaA"; version="0.1-3"; sha256="0z10ba4s9r850fjhnrirj2jgnfj931vwzi3kw9502r5k7941lsx0"; depends=[]; };
   SDraw = derive2 { name="SDraw"; version="2.1.8"; sha256="05yn0mqdv5a3zyvd6jhmkjh4w06ry8zy0libr56jmp8fcnninvyw"; depends=[deldir rgeos sp spsurvey]; };
   SEA = derive2 { name="SEA"; version="1.0"; sha256="1jcjgiy8459d8f603kiipcdq6d2awfcqzdv13hrdjgxpfnd1n1ha"; depends=[data_table doParallel foreach kolmim KScorrect MASS shiny]; };
   SEAsic = derive2 { name="SEAsic"; version="0.1"; sha256="1mg01sag6n1qldjvmvbasac86s7sbhi4k99kdkav2hdh6n9jg467"; depends=[]; };
-  SECFISH = derive2 { name="SECFISH"; version="0.1.4"; sha256="0bzm15k3rpyfa35gwpb6041cyfhnxfc4x08aryiy50j6xwcaif7n"; depends=[ggplot2 Hmisc optimization]; };
+  SECFISH = derive2 { name="SECFISH"; version="0.1.7"; sha256="0yd9k6anz9g4psg5kh1bhp0lr1i4y7in1m0mxk4qp14nl1zqy4fy"; depends=[ggplot2 Hmisc optimization]; };
   SECP = derive2 { name="SECP"; version="0.1-4"; sha256="0a4j0ggrbs0jzcph70hc4f5alln4kdn2mrkp3jbh321a6494kwl1"; depends=[SPSL]; };
   SEER2R = derive2 { name="SEER2R"; version="1.0"; sha256="0lk0kkp8sv3nl19zwqd7449mmjxsj3pqpzdmqf70qf8xh2pqyvzd"; depends=[]; };
   SEERaBomb = derive2 { name="SEERaBomb"; version="2019.1"; sha256="05ky8gixr19hajssrdvc34dxj4h38wy8ac6mghcfxcxy48vafldf"; depends=[DBI demography dplyr forcats ggplot2 labelled LaF mgcv openxlsx plyr purrr Rcpp readr reshape2 rgl RSQLite scales stringr survival tibble tidyr WriteXLS]; };
@@ -3885,10 +4022,10 @@ in with self; {
   SFtools = derive2 { name="SFtools"; version="0.1.0"; sha256="08k2ywkpk1pzp0qcwm7qx9gnv9hglspl9hrsrrfblagdpkw6rm2x"; depends=[doParallel ff wordspace]; };
   SGB = derive2 { name="SGB"; version="1.0"; sha256="11x0db241c9nkgpdd9p3v48klvkbrxrrbj73xb7lp6ldkdsi7gl2"; depends=[alabama Formula MASS numDeriv]; };
   SGCS = derive2 { name="SGCS"; version="2.7"; sha256="12kyfkd2phdmiyflgay2ndl6z5f9gz425mxi48wqs9ar3gh6akdw"; depends=[spatstat]; };
-  SGL = derive2 { name="SGL"; version="1.2"; sha256="13lpziwkxw2qj4496lvh76d59nfnmrd371jbgz78dhy8dpzyd7c3"; depends=[]; };
+  SGL = derive2 { name="SGL"; version="1.3"; sha256="055mx876ydg4kzvcm6rxfkxqz849zgzkzsskvrfgwj9fs1k6ja2v"; depends=[]; };
   SGP = derive2 { name="SGP"; version="1.9-0.0"; sha256="1nfb9sh10d4wkhzrxyq829b6dhf47pbjp0hzsixamiyjjzhrjz5x"; depends=[Cairo colorspace crayon data_table digest doParallel doRNG equate foreach gridBase gtools iterators jsonlite matrixStats plotly quantreg randomNames RSQLite sn toOrdinal]; };
   SGPdata = derive2 { name="SGPdata"; version="21.0-0.0"; sha256="0yi5744nd5m255rrysp1a05darg5ac7vrjk3wyfp45cvp45gcjcb"; depends=[crayon data_table]; };
-  SHAPforxgboost = derive2 { name="SHAPforxgboost"; version="0.0.1"; sha256="0lkd63k5npvdv35kw6q8smfb0afjgliy0pxx5285vh3dqp5d287y"; depends=[data_table ggExtra ggforce ggplot2 RColorBrewer xgboost]; };
+  SHAPforxgboost = derive2 { name="SHAPforxgboost"; version="0.0.2"; sha256="1d0sq27qs6k8rjrjq0g54s76523a3khb873wdy4hinxhcqwqzcaz"; depends=[BBmisc data_table ggExtra ggforce ggplot2 ggpubr RColorBrewer xgboost]; };
   SHELF = derive2 { name="SHELF"; version="1.6.0"; sha256="1w26vv2r7hd8jpfn6vi4g9z3pav4gy58akvq2vzlcxiaxwv8lvnm"; depends=[ggExtra ggplot2 ggridges gridExtra Hmisc MASS rmarkdown scales shiny shinyMatrix tidyr]; };
   SHIP = derive2 { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; };
   SHT = derive2 { name="SHT"; version="0.1.1"; sha256="0mwk9vygkpc4jbjlkw0ksxdg3afckylgqmwigjcrvfgdc5is171x"; depends=[fastclime pracma Rcpp RcppArmadillo Rdpack]; };
@@ -3896,7 +4033,7 @@ in with self; {
   SIBER = derive2 { name="SIBER"; version="2.1.4"; sha256="1wn69giv6prg9dy10zn2fb63s6a0wqv5maccaf69267anh0s4qpc"; depends=[coda dplyr ellipse ggplot2 hdrcde magrittr mnormt purrr rjags spatstat spatstat_utils tidyr viridis]; };
   SIBERG = derive2 { name="SIBERG"; version="2.0.2"; sha256="0wfx1dpjd09gb736sm2xhrkba26nwnzn5x575h39n2g33jwqqy2r"; depends=[mclust]; };
   SID = derive2 { name="SID"; version="1.0"; sha256="1446zy4rqbw0lpyhnhyd06dzv238dxpdxgmsk34hqv7g3j7q5h1w"; depends=[igraph Matrix pcalg RBGL]; };
-  SIDES = derive2 { name="SIDES"; version="1.13"; sha256="10759nx2x3gy6zacn37fpr2dgx8j8ap8ic4infljfk0048f9in8w"; depends=[doParallel foreach MASS memoise multicool nnet survival]; };
+  SIDES = derive2 { name="SIDES"; version="1.14"; sha256="0hqpymsy0za2j2ax2md3n81mqjrkyc25s7sl90p3xihvbgf64mcz"; depends=[doParallel foreach MASS memoise multicool nnet survival]; };
   SIGN = derive2 { name="SIGN"; version="0.1.0"; sha256="1ak4zv5a50iknrxpfw1iffn8gv8mc0rz2gk96nzky9zx6li5drhk"; depends=[GSVA survcomp survival]; };
   SII = derive2 { name="SII"; version="1.0.3.1"; sha256="1xvk04b7725ksfd7h4p7px5zanbf6s7xlmjpb7w0nvbi6km2f7ri"; depends=[]; };
   SILGGM = derive2 { name="SILGGM"; version="1.0.0"; sha256="1lhmisgg2zbfksl7czz0fqag3732gkjc44n615ipxbdi2pvnc7m0"; depends=[glasso MASS Rcpp reshape]; };
@@ -3905,17 +4042,19 @@ in with self; {
   SIN = derive2 { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
   SIRE = derive2 { name="SIRE"; version="1.1.0"; sha256="0f624j087k7krg73bqn2qxdgzq66jyhvzz8n024vz3h4hwagxs5n"; depends=[dplyr igraph magrittr MASS Matrix matrixcalc numDeriv psych Rsolnp stringr systemfit]; };
   SIRItoGTFS = derive2 { name="SIRItoGTFS"; version="0.2.4"; sha256="1hyhjwkv26fpplzqrdh41r8j91la5j0jidbwnh2vla6s3wf7jg47"; depends=[data_table dplyr easycsv reshape2 rgdal rgeos sp]; };
-  SIS = derive2 { name="SIS"; version="0.8-6"; sha256="1749ks5iqlj6lrn0hglifj1iy86dcpqz2pcnf1l798pa05rq8ngd"; depends=[glmnet ncvreg survival]; };
+  SIS = derive2 { name="SIS"; version="0.8-7"; sha256="17fvl58qfwdfn29x9ar9w9v3a26cihcnqb55zgyhmamc57dinchy"; depends=[glmnet ncvreg survival]; };
   SISIR = derive2 { name="SISIR"; version="0.1"; sha256="08lw9y38j5qq00m2vcxsac97lg14j4w1y6607vw8isrb3qb5db9z"; depends=[doParallel expm foreach glmnet Matrix RSpectra]; };
   SIfEK = derive2 { name="SIfEK"; version="0.1.0"; sha256="037ps6yfy7w6i8vm0b78c8w9kdmw312dl5nc2qz86rfk8kjg7w27"; depends=[MASS numDeriv ramcmc smfsb]; };
   SK = derive2 { name="SK"; version="1.1"; sha256="19yg7yc2k4zz29bh42lw2jpjvkdj33f26xkfs8vz8lpp98yjf2vx"; depends=[FitAR GD MASS RColorBrewer rgeos rtop sp]; };
   SKAT = derive2 { name="SKAT"; version="1.3.2.1"; sha256="0ylfz63xiq2zw9nc8nqr89qbhl3fnkhjgg9x7yxjm78vrn640hkl"; depends=[]; };
   SLC = derive2 { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
   SLDAssay = derive2 { name="SLDAssay"; version="1.8"; sha256="04ykj7s9kpvg5bmf7x16154kfpdy45b7y7hhyh31sxlscv7c5bbp"; depends=[]; };
+  SLEMI = derive2 { name="SLEMI"; version="1.0"; sha256="1yfyqxl9sszym418p64zalc2yna9s9qgk9wvviz7n44icsdps33q"; depends=[caret corrplot doParallel e1071 foreach ggplot2 ggthemes gridExtra Hmisc nnet reshape2 stringr]; };
   SLHD = derive2 { name="SLHD"; version="2.1-1"; sha256="0y3ilxd0phmks8zkmpgw7p5zrkwq4k95h976cwk58pavvhfwj9kb"; depends=[]; };
   SLICER = derive2 { name="SLICER"; version="0.2.0"; sha256="10i0hfl6js26n8xwk9pldzm9vv7hmii6gzj04lhqy0g3njds25kp"; depends=[alphahull igraph lle]; };
   SLIDE = derive2 { name="SLIDE"; version="1.0.0"; sha256="0x4fm29r7icg33k8gw3vqvxib8n9a1xwg484x9yffybips9ka22c"; depends=[]; };
   SLOPE = derive2 { name="SLOPE"; version="0.1.3"; sha256="12naak08qjpn6l1ikqwf17h72zk4b5mppgxx7ks9wmnqy9ylhy3x"; depends=[Rcpp]; };
+  SMARTAR = derive2 { name="SMARTAR"; version="1.0.0"; sha256="04v6nvkcjchln8jxa9qm9j2hrxbm8rm9v96v6j313ia8js0krp9q"; depends=[MASS]; };
   SMARTp = derive2 { name="SMARTp"; version="0.1.1"; sha256="0gkhl9j4l67brfmln28m4q4hfi271jlg5aijnjwahlj8nsi6384y"; depends=[covr mvtnorm sn]; };
   SMC = derive2 { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; };
   SMCRM = derive2 { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; };
@@ -3929,7 +4068,7 @@ in with self; {
   SMNCensReg = derive2 { name="SMNCensReg"; version="3.0"; sha256="06542jacy74mw6ic0i1ml09pn45sll96bya7dqja6bg9yp0m6bvr"; depends=[Matrix PerformanceAnalytics]; };
   SMPracticals = derive2 { name="SMPracticals"; version="1.4-3"; sha256="0zxq84f9i3b86xx6msb25b61gyj9k09iab2b7wg4d93yas9qzayf"; depends=[ellipse MASS nlme survival]; };
   SMR = derive2 { name="SMR"; version="2.0.1"; sha256="0qy56fmismcjklpf29ic2gi1g8ajdjpxsl0akb9cqzyisyf641ia"; depends=[]; };
-  SMUT = derive2 { name="SMUT"; version="1.0.1"; sha256="05a0xm6jsvfcz0w8dd4nhlyxp6mkzjm1v4yddddpsj2jyj7phyag"; depends=[MASS Rcpp RcppEigen SKAT]; };
+  SMUT = derive2 { name="SMUT"; version="1.1"; sha256="029ishj3jfq957bbkb2xw4jj0qpm4dasb8vpdik43pvd670mgq5s"; depends=[MASS Rcpp RcppEigen SKAT]; };
   SMVar = derive2 { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; };
   SNFtool = derive2 { name="SNFtool"; version="2.3.0"; sha256="1yplcwmy7jhsvz19r82ivpxfqav7q88jcf8d0r2k8ll9iqmi1dbc"; depends=[alluvial ExPosition heatmap_plus]; };
   SNPMClust = derive2 { name="SNPMClust"; version="1.3"; sha256="1gad1jfla4qpczh8vpwyss5cckzgpffsyj0d71r8drbspr4i3r90"; depends=[MASS mclust]; };
@@ -3947,10 +4086,9 @@ in with self; {
   SOR = derive2 { name="SOR"; version="0.23.1"; sha256="1accs4bqy080nfmgkdg7bgamdrcwcn01y6nydvvq12w3v8asdvwh"; depends=[Matrix]; };
   SOUP = derive2 { name="SOUP"; version="1.1"; sha256="0k8nlvl4681cz07xjazprcc0jhknfa5hgr7w1qxxmgrp3sprr8r4"; depends=[tensor]; };
   SPA3G = derive2 { name="SPA3G"; version="1.0"; sha256="15f38imwqn1zifym2821q7xysvws9vhlif4g16w0pnvk0wlhyb92"; depends=[]; };
-  SPACECAP = derive2 { name="SPACECAP"; version="1.1.0"; sha256="11szdq7sqr8ldwz7apbf1dv5mh43rbyb7dkivms58s5623xrq3sm"; depends=[coda]; };
   SPADAR = derive2 { name="SPADAR"; version="1.0"; sha256="0xzhcy5nglwx9j2jkm3i9xj1iw1y9wbf6rwfjyhpiwwq6qn8mn5r"; depends=[mapproj RCEIM]; };
   SPARQL = derive2 { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[RCurl XML]; };
-  SPAS = derive2 { name="SPAS"; version="2019.2"; sha256="1jgqywnkfw5mpkc59c4p9cj4x330rjkdj5v87pxrln8jcx7rcl26"; depends=[BB MASS Matrix msm numDeriv plyr]; };
+  SPAS = derive2 { name="SPAS"; version="2020.1.1"; sha256="1bvnyxg3npxv63kikmr30jgc14f1s1a5vfh40qs50nbzq84pl6bx"; depends=[BB MASS Matrix msm numDeriv plyr RcppEigen TMB]; };
   SPAr = derive2 { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; };
   SPAtest = derive2 { name="SPAtest"; version="3.0.0"; sha256="0pq8mbj05x4l3lvdgayxigviirhx6ghf4w5bkpvg9hggkb79ib9y"; depends=[]; };
   SPCALDA = derive2 { name="SPCALDA"; version="1.0"; sha256="1bmp2zz0favmpyp0ap8a2r1mg1nlan7zg5cj75drdnfpqlsn5vgl"; depends=[MASS]; };
@@ -3977,14 +4115,14 @@ in with self; {
   SQB = derive2 { name="SQB"; version="0.4"; sha256="12ii8xlwd2r77bj76j7l43898ras25z3plhhv106jaklhpcnk23m"; depends=[caret nnet pls rpart]; };
   SQDA = derive2 { name="SQDA"; version="1.0"; sha256="0nfimk625wb64010r5r7hzr64jfwgc6rbn13wvrpn0jgayji87h6"; depends=[limma mvtnorm PDSCE]; };
   SQN = derive2 { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
-  SQRL = derive2 { name="SQRL"; version="0.6.3"; sha256="006ahmqrwy2ckq098klvajwfzdmnx58pw0hy1plpw4slp7a3f2ls"; depends=[RODBC]; };
+  SQRL = derive2 { name="SQRL"; version="0.7.0"; sha256="166sl5vy1nf854wr9ps66h8166l1l8yla5d6c9icivyik77nqqjv"; depends=[RODBC]; };
   SQUAREM = derive2 { name="SQUAREM"; version="2017.10-1"; sha256="10xj26x7qjyvzndnbjl5krr9wabnb9cbrnp3m7xg673g8ddr12cv"; depends=[]; };
   SRCS = derive2 { name="SRCS"; version="1.1"; sha256="13zf3cqs53w68f9zc1fkb9ql84rvzn7g1hbykqrbvss8hjaq8x1r"; depends=[]; };
   SRRS = derive2 { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[gtools tcltk2]; };
   SRTtools = derive2 { name="SRTtools"; version="1.2.0"; sha256="1203i6nqclx0faxyvhdaapmfxy8h95jj83svxriqh1hpava5s1dy"; depends=[magrittr]; };
-  SSBtools = derive2 { name="SSBtools"; version="0.4.0"; sha256="0rmvqhhw5zv8za3h8m59sqz0857hryn6c1bpsl4bdnyjzjfqa675"; depends=[Matrix stringr]; };
+  SSBtools = derive2 { name="SSBtools"; version="0.5.0"; sha256="0z6nzsg8mfmnzzf24w7s7lhkp3xd7vlkgjn34x6yps82ry3mhyra"; depends=[Matrix stringr]; };
   SSDM = derive2 { name="SSDM"; version="0.2.6"; sha256="0qyx755h6rqgc6i3mw0vdaw2jx1yclkm9qxb98njkfk8if7wmbmn"; depends=[dismo e1071 earth gbm gplots mgcv nnet randomForest raster rpart SDMTools shiny shinydashboard shinyFiles sp spThin]; };
-  SSDforR = derive2 { name="SSDforR"; version="1.5.7"; sha256="0j6a7imd9q2s1szvazs1rcbs1sbhxh399wab845ilxxz12krd0zb"; depends=[MAd MASS metafor psych TSA TTR]; };
+  SSDforR = derive2 { name="SSDforR"; version="1.5.10"; sha256="0gzx16ra5hx3zjrk3ip6f0yzd9sb9gks1njbx1dg0ag9bc007v4r"; depends=[MAd MASS metafor psych SingleCaseES TSA TTR]; };
   SSLASSO = derive2 { name="SSLASSO"; version="1.2-1"; sha256="0x9nbq9lsnq9g47y50z2ymfbj09l2d1lbii2cfjm76nzk3k5lb39"; depends=[]; };
   SSM = derive2 { name="SSM"; version="1.0.1"; sha256="1h8yyzh5rn5jay70kyzvwirfndi049a5w28qigrjv5rxd7ml84l7"; depends=[]; };
   SSN = derive2 { name="SSN"; version="1.1.13"; sha256="0hk138p1jnlda7d2wxlrf2ipkgliqlip1i5xp67aym979g0b3aaj"; depends=[BH igraph lattice maptools MASS Matrix rgdal rgeos RSQLite sp]; };
@@ -3995,14 +4133,15 @@ in with self; {
   SSsimple = derive2 { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
   STAND = derive2 { name="STAND"; version="2.0"; sha256="07wrpmvk0jjlghvrb37xyai48vgzj0fby8y09qdxsxdlgwqg1f3s"; depends=[survival]; };
   STAR = derive2 { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[codetools gss mgcv R2HTML survival]; };
-  STARTS = derive2 { name="STARTS"; version="1.1-6"; sha256="0c1pcknigqbzplcmykr0214kylrl3rjjsnxv4by06icbbj5dscll"; depends=[CDM LAM Rcpp RcppArmadillo sirt]; };
+  STARTS = derive2 { name="STARTS"; version="1.2-35"; sha256="0xf5dck1zp1m1bxj8j02yyvg0y79i1y4bi3a6q1k41zixk3hcn2s"; depends=[CDM LAM Rcpp RcppArmadillo sirt]; };
   STARTdesign = derive2 { name="STARTdesign"; version="1.0"; sha256="1q61l3v8ishzax3ppy0pz4ky4l46472l6j36hjlsa8cl01ik1zjf"; depends=[Rcpp]; };
   STAT = derive2 { name="STAT"; version="0.1.0"; sha256="0x0qpnlcb52k3x8jwiljsamx81hdcjagfpapv63z054bvig0jvgv"; depends=[corrgram dplyr Hmisc psych psycho rmarkdown rpivotTable shiny]; };
   STB = derive2 { name="STB"; version="0.6.3.1"; sha256="0fj1cfxqhijpxl41z799zd7id95jsb84ylrbqzrd1jlp80plyw83"; depends=[Matrix VCA]; };
   STEPCAM = derive2 { name="STEPCAM"; version="1.2"; sha256="03crbc7hag8w333j9c7k0q7zy7xmfid4lq773p74r55jmac5xpjf"; depends=[ade4 ape FD geometry gtools MASS vcd]; };
+  STGS = derive2 { name="STGS"; version="0.1.0"; sha256="0xfwd0jsg3glbr3c5l5yyri4is5kg77ivgr6qlzaxp6p8q7yfzqf"; depends=[brnn glmnet kernlab randomForest rrBLUP]; };
   STI = derive2 { name="STI"; version="0.1"; sha256="1p408y9w2h4ljaq0bsw7vc1xghczjprf558cyg6994m0nv5fh4c4"; depends=[fitdistrplus zoo]; };
   STMedianPolish = derive2 { name="STMedianPolish"; version="0.2"; sha256="0jzgcfhm09cccg2nwbvrmnkah1psbnmg26rc2n7lz26n4b20p3l2"; depends=[gstat maptools nabor reshape2 sp spacetime zoo]; };
-  STMotif = derive2 { name="STMotif"; version="1.0.2"; sha256="0ybsjkzggngyb35ms1gb5fmyrnyl2awnq25qrv38mpxk31g96299"; depends=[ggplot2 RColorBrewer reshape2 scales shiny]; };
+  STMotif = derive2 { name="STMotif"; version="1.0.4"; sha256="0667jqpn40y1pw69am59jhkyds9433fm1v67y3vgqi1z1zzpan19"; depends=[ggplot2 RColorBrewer reshape2 scales shiny]; };
   STOPES = derive2 { name="STOPES"; version="0.1"; sha256="0gv58nf0m67bfqc15c7n4gksqk7h661c9b55qapk210j259b7xbv"; depends=[changepoint glmnet MASS]; };
   STPGA = derive2 { name="STPGA"; version="5.2.1"; sha256="0mwjv9r7x925ljmbwk2fl0xvf2n2hnf5n5z5p5rxr57ywvirqw1b"; depends=[AlgDesign emoa scales scatterplot3d]; };
   STRAH = derive2 { name="STRAH"; version="1.0"; sha256="0a2av8by99sq7l28c7cjwm6nqhp1i4pd5qxcsarvwd8f9fckvr5z"; depends=[BiocManager Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19]; };
@@ -4010,18 +4149,20 @@ in with self; {
   STV = derive2 { name="STV"; version="1.0.1"; sha256="1gzy47s4qg83fagvm19jwpbbplkvxi9qv6ac0j86i0s8v0yrlrks"; depends=[]; };
   STraTUS = derive2 { name="STraTUS"; version="1.1.1"; sha256="0hl8kyg9hsrsqcxg8bcmp5wm70s92scahlac617h2c7rirbjdsxz"; depends=[ape ggplot2 ggtree gmp igraph phangorn RcppAlgos]; };
   SUE = derive2 { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
-  SUMMER = derive2 { name="SUMMER"; version="0.2.3"; sha256="1g1rsl0wr7gy7apkw6zjy39lch2pcd29h46vjkdg0jsmb8l3hk0d"; depends=[ggplot2 maptools Matrix reshape2 spdep survey survival]; };
+  SUMMER = derive2 { name="SUMMER"; version="0.3.0"; sha256="17ymbwga6m2npbvvqqhcnjd89f0jsaz8kwf7n68wwkqvgiqh3qcm"; depends=[ggplot2 maptools Matrix reshape2 sp spdep survey survival viridis]; };
   SVMMaj = derive2 { name="SVMMaj"; version="0.2.9"; sha256="1405gigyjfp8by8nfx4g3rhw9x6r6g7dkpgw52jllv6n4036xa3h"; depends=[dplyr ggplot2 gridExtra kernlab reshape2 scales]; };
   SVMMatch = derive2 { name="SVMMatch"; version="1.1"; sha256="1ykwrhlid4hs466xh3kv6y2qdhgk0jiglg0l3zwk5qlni6p26zc9"; depends=[Rcpp RcppArmadillo]; };
-  SVN = derive2 { name="SVN"; version="1.0"; sha256="0v0nyph5llvv3k1zn1ak4kvk6mqb0xd5iamqc1xlcdzamx8rjaib"; depends=[data_table igraph memoise]; };
+  SVN = derive2 { name="SVN"; version="1.0.1"; sha256="0n93lqb1f2s2qvzc8lrcqmr0fhd57xqbi0ymrqqmll31ns679m92"; depends=[data_table igraph memoise]; };
   SWATmodel = derive2 { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
   SWIM = derive2 { name="SWIM"; version="0.1.0"; sha256="1mhmffmp0nqq7p6invg4rq4wq984g55fg83ysc9ma8rl584cspyz"; depends=[ggplot2 Hmisc nleqslv plyr Rdpack reshape2 spatstat]; };
   SWMPr = derive2 { name="SWMPr"; version="2.3.1"; sha256="1az6ss8wkdgq4l1cmfflajzs7z6w6140bclb289gb090pi69p7gy"; depends=[data_table dplyr ggmap ggplot2 gridExtra httr lattice maptools oce openair RColorBrewer reshape2 tictoc tidyr XML zoo]; };
+  SWMPrExtension = derive2 { name="SWMPrExtension"; version="1.1.2"; sha256="0123lcb6jfh3gbh2jmdpargry44fncm7j505vpkcp661fcjckymd"; depends=[broom dplyr EnvStats flextable ggplot2 ggthemes leaflet lubridate magrittr maptools officer RColorBrewer rgdal rgeos rlang scales sp SWMPr tidyr]; };
   SYNCSA = derive2 { name="SYNCSA"; version="1.3.3"; sha256="1g00jzghvvhnj2npplh87bwbm479mwldskhard0vjlfmagbhjm8p"; depends=[FD permute RcppArmadillo vegan]; };
   SafeBayes = derive2 { name="SafeBayes"; version="1.1"; sha256="09bhd3z9ia2mvpn1h0hil00j6cm4x9y9ymxc3gj8wd4ybdi3jqlm"; depends=[]; };
   SafeQuant = derive2 { name="SafeQuant"; version="2.3.1"; sha256="0rgi0ij33sdvkpmjynfmsj0f29kl9l9ylsqckg5x4v49m6mzq1yh"; depends=[Biobase corrplot data_table epiR gplots limma optparse seqinr]; };
+  SailoR = derive2 { name="SailoR"; version="1.0"; sha256="1gb50qd9s3dwdvl6qihpkgwlhckbhn7h3wpz9k74xgyd874krcld"; depends=[]; };
   Sample_Size = derive2 { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
-  SampleSize4ClinicalTrials = derive2 { name="SampleSize4ClinicalTrials"; version="0.1.0"; sha256="0wx1rfyf753wppjwwb3l1zpmg4b2mwnwjcw45yzav54yxaszy2v3"; depends=[]; };
+  SampleSize4ClinicalTrials = derive2 { name="SampleSize4ClinicalTrials"; version="0.1.1"; sha256="15q1jsvnz3bhnjil0wbladahac0ppx3qgg5qz7z70vnivgjah606"; depends=[]; };
   SampleSizeMeans = derive2 { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; };
   SampleSizeProportions = derive2 { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; };
   SamplerCompare = derive2 { name="SamplerCompare"; version="1.3.0"; sha256="1lqnkgbg1naa3crk3rakrf37vvxj6mbilbpxrv0k5iifdmh0b7k1"; depends=[mvtnorm]; };
@@ -4032,7 +4173,7 @@ in with self; {
   Scale = derive2 { name="Scale"; version="1.0.4"; sha256="1fa3840kji34qpbw6mxfavk8wq0vq0vx2w6ya71idbkxnvwc3y06"; depends=[Hmisc MASS psych]; };
   Scalelink = derive2 { name="Scalelink"; version="1.0"; sha256="0likfjw5999zd0kv1ykby78bl0x3xgh0v1yjssk7fnw1ghkxgdib"; depends=[Rcpp RcppParallel]; };
   SchemaOnRead = derive2 { name="SchemaOnRead"; version="1.0.2"; sha256="0xa53mqmv31gid6n82bnfmds6p8nkjlmkj15hyycxhja2j752knm"; depends=[caTools foreign haven ncdf4 network readbitmap readODS readxl tiff xml2]; };
-  SciViews = derive2 { name="SciViews"; version="0.9-13"; sha256="11zkq3dz2c7l8qxm3wrr3b5bb9h70sf9qxaz983lqwpjva30baa8"; depends=[ellipse]; };
+  SciViews = derive2 { name="SciViews"; version="0.9-13.1"; sha256="0wm4vnjh65jxyg82m8l08kanl414qiaz0cc6srshb8sdx2sixkfi"; depends=[ellipse]; };
   ScoreGGUM = derive2 { name="ScoreGGUM"; version="1.0"; sha256="0f7sjfr3a8b8y1n9lrwyiyyljls3rbz84d9s93psi2fnmjj0kvgw"; depends=[]; };
   ScorePlus = derive2 { name="ScorePlus"; version="0.1"; sha256="07hmrx1k256i4cs605j5bpg6brzypryxlcnjkzqak8cw4f26k24q"; depends=[combinat igraph igraphdata limSolve RSpectra]; };
   ScottKnott = derive2 { name="ScottKnott"; version="1.2-7"; sha256="0jxyz0adywfvz0mks5s3kjkb2hds1g0gswshpl73hr1ypr9n39cx"; depends=[]; };
@@ -4056,8 +4197,9 @@ in with self; {
   Select = derive2 { name="Select"; version="1.4"; sha256="1qx4wwxxwjq31vf645xvwb0y2z5h4v6ca8fcrfpaj5kc33f333v2"; depends=[ade4 FD lattice latticeExtra Rsolnp]; };
   SelectBoost = derive2 { name="SelectBoost"; version="1.4.0"; sha256="14i6dgg1yqnghjjfvi7l58kqm6pry9b91sy9gkwrvfqg0nz1dpny"; depends=[Cascade glmnet igraph lars msgps Rfast]; };
   SelvarMix = derive2 { name="SelvarMix"; version="1.2.1"; sha256="02d16ffw5syq0d3yiim9jgrjlz99n956zxp23idpsmq6lb2whq66"; depends=[glasso Rcpp RcppArmadillo Rmixmod]; };
-  SemNetCleaner = derive2 { name="SemNetCleaner"; version="1.0.0"; sha256="0bxc6i4qa81pqfcxvms55avnnys15iwibnawckvr900pn9mns50w"; depends=[searcher SemNetDictionaries stringdist]; };
-  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.1.2"; sha256="1swrccbdzqx8yv6z1kacd8zllsma94cg4vmrc08hz6fj93bya73j"; depends=[]; };
+  SemNeT = derive2 { name="SemNeT"; version="1.1.2"; sha256="07vgnfj4wirfpc9mjy6m0qd3pc0423qq8bvpk5zzmynvaqgnb89j"; depends=[doParallel dplyr foreach ggplot2 igraph lsa magrittr NetworkToolbox networktools pbapply plyr purrr qgraph RColorBrewer SemNetCleaner]; };
+  SemNetCleaner = derive2 { name="SemNetCleaner"; version="1.1.3"; sha256="177r9z2z8l5ri2h3s94day8d19n13hc4861vc6fcymaa35nh0z02"; depends=[foreign hunspell R_matlab readxl searcher SemNetDictionaries stringdist]; };
+  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.1.5"; sha256="179dgq65m4kzbqxgcicnchahslildc43f506sa7x2prbr7by27d3"; depends=[]; };
   Semblance = derive2 { name="Semblance"; version="1.1.0"; sha256="1kzrg5z3244nx9y37p092wpangni3fxpx04i5fb4dhrmav4rvgab"; depends=[DescTools fields msos PerformanceAnalytics]; };
   SemiCompRisks = derive2 { name="SemiCompRisks"; version="3.3"; sha256="06anhf0kqaz4i84g73w3l4gf0q2mwi00vlkciqfbxpwgrbacplf6"; depends=[Formula MASS survival]; };
   SemiMarkov = derive2 { name="SemiMarkov"; version="1.4.6"; sha256="0nga790kcrvmbrx5asp4062711x0kjsccc246l4syiiw30b769ig"; depends=[MASS numDeriv Rsolnp]; };
@@ -4074,20 +4216,21 @@ in with self; {
   SeqGrapheR = derive2 { name="SeqGrapheR"; version="0.4.8.5"; sha256="041hlf64zbndz76r076pmym4dw4xl3fahryvpvjspw0sdlhmfm8c"; depends=[Biostrings cairoDevice gWidgets gWidgetsRGtk2 igraph rggobi]; };
   SeqMADE = derive2 { name="SeqMADE"; version="1.0"; sha256="0nf1xjhk0kpmmzgcxycg3ccxvwq6gydjq7xq6n9m7k7v35v9v3qf"; depends=[MASS]; };
   SeqNet = derive2 { name="SeqNet"; version="1.0.0"; sha256="0933g3sydz04yxf98ww0szwk85hlp7z839da9f6w13761aai1r3k"; depends=[fitdistrplus ggplot2 igraph mvtnorm purrr RColorBrewer Rcpp rlang tibble]; };
-  Sequential = derive2 { name="Sequential"; version="3.0.1"; sha256="14vyl4cjc54p3snxvdxhx8d1fyb69lki4n22jy7d7bv8lk6ky9nj"; depends=[boot]; };
+  Sequential = derive2 { name="Sequential"; version="3.1"; sha256="0wh5bxqgmkmlbz9bmvpv3lp8mq4iih86a73ccl6fycfpqvq6nf6i"; depends=[boot]; };
   SequentialDesign = derive2 { name="SequentialDesign"; version="1.0"; sha256="1gi37pixwbpy7358id1c75rckr352hs8vjs8sk8qgsr97pkm5xdq"; depends=[Sequential]; };
   SetMethods = derive2 { name="SetMethods"; version="2.4"; sha256="06fcin03mvqbg4mk09ygn54li0wdyp57mv902c49zs9v4y8r88cs"; depends=[betareg fmsb ggplot2 ggrepel lattice QCA scatterplot3d]; };
   SetRank = derive2 { name="SetRank"; version="1.1.0"; sha256="0p7vwsw05s5hfw1mfh3fbm9nfzsymnxzrdjin7k21dx7asb618wy"; depends=[data_table igraph XML]; };
   SetTest = derive2 { name="SetTest"; version="0.2.0"; sha256="08wc6cbnannmwkncqhpcw6l0y7c1v7z3awk5j7fd853nszfmpbk0"; depends=[]; };
-  Seurat = derive2 { name="Seurat"; version="3.0.2"; sha256="016fgcmjz3sjfxdvam5hd7mdxpmpnc7f6p5zqlh97m21dgn5vpqn"; depends=[ape cluster cowplot fitdistrplus future future_apply ggplot2 ggrepel ggridges ica igraph irlba KernSmooth lmtest MASS Matrix metap pbapply plotly png RANN RColorBrewer Rcpp RcppEigen RcppProgress reticulate rlang ROCR rsvd Rtsne scales sctransform SDMTools tsne]; };
+  Seurat = derive2 { name="Seurat"; version="3.1.1"; sha256="084lr2fjdksshsmv1ww82bgn3a9mml7kswsidjrs89snabgvn360"; depends=[ape cluster cowplot fitdistrplus future future_apply ggplot2 ggrepel ggridges httr ica igraph irlba KernSmooth leiden lmtest MASS Matrix metap pbapply plotly png RANN RColorBrewer Rcpp RcppAnnoy RcppEigen RcppProgress reticulate rlang ROCR rsvd Rtsne scales sctransform SDMTools tsne uwot]; };
   ShapeChange = derive2 { name="ShapeChange"; version="1.4"; sha256="1ch7avx8mxjk8vrp17inaihmbsv968wflyk1n4fbjvacbl24vn2b"; depends=[coneproj quadprog]; };
   ShapePattern = derive2 { name="ShapePattern"; version="1.0.1"; sha256="18jzs0sq21qhldm86mgx7yb9kl473vv1aljl9hm4560xy5pd5fnb"; depends=[rgdal rgeos sp]; };
   ShapeSelectForest = derive2 { name="ShapeSelectForest"; version="1.3"; sha256="1vvfl1ldrn0l9w38hx0hhszvj5a2dpmfl6ljzw7f0ji181lrx96m"; depends=[coneproj raster rgdal]; };
   SharpeR = derive2 { name="SharpeR"; version="1.2.0"; sha256="1gw8wwdqbra4bccbcamqn2j7d853rga1vcvk1p6naih6vbnfqn2s"; depends=[matrixcalc sadists]; };
+  ShiftShareSE = derive2 { name="ShiftShareSE"; version="1.0.0"; sha256="1i77f2pc4a8x2w1x9p56m1jv317pmlidp2pmk7s2xynwwviqylmb"; depends=[Formula]; };
   ShinyImage = derive2 { name="ShinyImage"; version="0.1.0"; sha256="0nhsaq6i9lr8gqpdkahw3qr0c0cb0qwc0nqpk1ism21l6zg6ahc9"; depends=[EBImage R6 shiny shinyjs]; };
   ShinyItemAnalysis = derive2 { name="ShinyItemAnalysis"; version="1.3.1"; sha256="1s1kb1rrppk0kfqywgsmyfl32hrq9ywv8241n9d3xv88cflxz237"; depends=[corrplot cowplot CTT data_table deltaPlotR difNLR difR DT ggdendro ggplot2 gridExtra knitr latticeExtra ltm mirt moments msm nnet plotly psych psychometric reshape2 rmarkdown shiny shinyBS shinydashboard shinyjs stringr VGAM xtable]; };
   ShinyTester = derive2 { name="ShinyTester"; version="0.1.0"; sha256="0wm4rl2p8ggw6v2chk9b6ygh5y8p8cwzbyra0nr0qr2ka97didp8"; depends=[dplyr purrr readr stringr tidyr visNetwork]; };
-  ShortForm = derive2 { name="ShortForm"; version="0.4.2"; sha256="0lfnafkkwfhqv984mrbd13inck1sdzn7rq1qdklfjwks89dx9ql9"; depends=[ggplot2 lavaan stringr tidyr]; };
+  ShortForm = derive2 { name="ShortForm"; version="0.4.4"; sha256="05ia1x8hmaa8df77jbs4nd04jfbglr5z6hfg9v702zhvap0mkijj"; depends=[ggplot2 lavaan stringr tidyr]; };
   ShrinkCovMat = derive2 { name="ShrinkCovMat"; version="1.4.0"; sha256="0iyri3syjk9xv49d87fdyhnxg5c5x827vnak8vgckkkp62sdln2q"; depends=[Rcpp RcppArmadillo]; };
   SiER = derive2 { name="SiER"; version="0.1.0"; sha256="1ng6vnh30z6z1nvclsdzc9gdbrsrb2kqdqvs6fwm0j1zqlk12x0y"; depends=[]; };
   SiMRiv = derive2 { name="SiMRiv"; version="1.0.3"; sha256="1kzvbzmqcxs0sh23nmjd39zkg68kbnc5djpbjhqhn55qjdfx5776"; depends=[mco raster rgdal sp]; };
@@ -4098,20 +4241,22 @@ in with self; {
   SignifReg = derive2 { name="SignifReg"; version="2.1"; sha256="01h6cz602m9jpnkpgbr5smmn3xp5aw5h5xl32kyhxqhybg75j6fj"; depends=[]; };
   Sim_DiffProc = derive2 { name="Sim.DiffProc"; version="4.4"; sha256="14qdz49gyjaja6yj053iv998mrib3nbzzf02g30sl5y0cxkpmnd1"; depends=[Deriv MASS]; };
   Sim_PLFN = derive2 { name="Sim.PLFN"; version="1.0"; sha256="1jmsydhpfv2z9cr99hfy8cairhkkxpwk4wnz1adixwxazkn7qfah"; depends=[DISTRIB FuzzyNumbers]; };
-  SimComp = derive2 { name="SimComp"; version="3.2"; sha256="04rmpxasaa888p6f0rhhpvpqc39fppdkcwbq5sxcslx7bwc9w9z8"; depends=[mratios multcomp mvtnorm]; };
+  SimBIID = derive2 { name="SimBIID"; version="0.1.3"; sha256="1vbib8ajpph35ahyv0x431y9xscinnvzvjzwhw9l810n1agbfay9"; depends=[coda dplyr ggplot2 mvtnorm purrr RColorBrewer Rcpp RcppArmadillo RcppXPtrUtils tibble tidyr]; };
+  SimComp = derive2 { name="SimComp"; version="3.3"; sha256="04qkis20zk0z42bv4nznffqlpwby0y0ij27gj4sa0ha864pg0hi5"; depends=[mratios multcomp mvtnorm]; };
   SimCop = derive2 { name="SimCop"; version="0.7.0"; sha256="1yrdy77a9h14v92c63ng8phi2ig73wy4xjjdb75322grc0bd3jq6"; depends=[quadprog]; };
   SimCorMultRes = derive2 { name="SimCorMultRes"; version="1.7.0"; sha256="10snjwrh95407iracbc52b5cvr3sp2539rrjp7fw63q50pjl285v"; depends=[evd]; };
   SimCorrMix = derive2 { name="SimCorrMix"; version="0.1.1"; sha256="1mx8xkg1nbh4x4xr6m672zyg00s3lky2sy5mz7dfkw40vz2bwi53"; depends=[BB ggplot2 MASS Matrix mvtnorm nleqslv SimMultiCorrData triangle VGAM]; };
   SimDesign = derive2 { name="SimDesign"; version="1.14"; sha256="0im53w0hjm7qdi4xlp8mccnjx43k819wics8gmfqqxljwna0mmmm"; depends=[foreach pbapply plyr]; };
+  SimDissolution = derive2 { name="SimDissolution"; version="0.1.0"; sha256="1rdsxykh740h22ln635m0ysm00pdw94vp7qhgify4mcvc46c3632"; depends=[alabama dplyr mvtnorm]; };
   SimEUCartelLaw = derive2 { name="SimEUCartelLaw"; version="1.0.1"; sha256="1wg9sayk55mp3f2qykvfk0cbqh050vh0n1fhpq4fmlxqll87aml9"; depends=[plot3D plot3Drgl rgl]; };
   SimHaz = derive2 { name="SimHaz"; version="0.1"; sha256="04q4xyc1ki1zr3grm3khfg0kbykjy3j9qpg332l7pxp4j3wa3aw3"; depends=[survival]; };
-  SimInf = derive2 { name="SimInf"; version="6.3.0"; sha256="013qb7irn2gjhylmlp9h6c5knq22lkkjr16pyj65dil6wywh58gf"; depends=[Matrix]; };
-  SimJoint = derive2 { name="SimJoint"; version="0.2.1"; sha256="14bzqhvww8ygippcwxh98bxs0amyvpw1rvnsx2iwqxrmvsskgsrj"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  SimInf = derive2 { name="SimInf"; version="6.4.0"; sha256="0nq20amk41xs4dpxxrllrxnnb8wqf5sshbvgdlm93y7dhamlv8x3"; depends=[Matrix]; };
+  SimJoint = derive2 { name="SimJoint"; version="0.2.2"; sha256="1b88iv64hhil96cyfc3925askf7vfkr609x1qwwcw6pqi8bw1q4y"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   SimMultiCorrData = derive2 { name="SimMultiCorrData"; version="0.2.2"; sha256="0brszbqxf40y65xp96c5hp7hhvz3gv0xlg93r5ik8qdh0bn0y1sw"; depends=[BB GenOrd ggplot2 Matrix nleqslv psych triangle VGAM]; };
   SimPhe = derive2 { name="SimPhe"; version="0.2.0"; sha256="01kzypahw41jk8s2c92h0k9w32yaicis07wb6k8qlqcmv0zj8xry"; depends=[]; };
   SimRAD = derive2 { name="SimRAD"; version="0.96"; sha256="0ivvd3k04v1akbblxcjhlyc315z3ig7wjs0g3b37lvlfp54ppbrg"; depends=[Biostrings ShortRead zlibbioc]; };
   SimRVPedigree = derive2 { name="SimRVPedigree"; version="0.3.0"; sha256="1ppms2cirdhm8lsfl74mfc1f9zwc7lin6r5xs649czqlj63yzk4i"; depends=[dplyr kinship2]; };
-  SimRVSequences = derive2 { name="SimRVSequences"; version="0.1.3"; sha256="0cz4kdl9bc1lc8y1vqyc3ppnviapid36ykvdqxmrwilijpd4d2b3"; depends=[dplyr intervals kinship2 magrittr Matrix reshape2 rlang SimRVPedigree]; };
+  SimRVSequences = derive2 { name="SimRVSequences"; version="0.2.0"; sha256="01rxbncywbqmx4sww67f772lpd6ws0hjcqv3mhnpkiqbsmhrqy64"; depends=[dplyr intervals kinship2 magrittr Matrix reshape2 rlang SimRVPedigree]; };
   SimReg = derive2 { name="SimReg"; version="3.0"; sha256="188q399xcrvjw7y7lf3hfbb7x0m0hc4zaf9i1w2c4xzswmvljd8r"; depends=[ontologyIndex ontologyPlot ontologySimilarity Rcpp]; };
   SimRepeat = derive2 { name="SimRepeat"; version="0.1.0"; sha256="1vq82wlnas0jkl8hlj7dnnbn4y1a56lmszs4w7wya7acri92gkqm"; depends=[BB ggplot2 MASS Matrix nleqslv SimCorrMix SimMultiCorrData triangle VGAM]; };
   SimSCRPiecewise = derive2 { name="SimSCRPiecewise"; version="0.1.1"; sha256="0mhlx9m5db8a40wf275qh59345676m8bpjjmyx1v22f6m9p3b2n4"; depends=[]; };
@@ -4127,7 +4272,7 @@ in with self; {
   Simpsons = derive2 { name="Simpsons"; version="0.1.0"; sha256="1pm6wga1yxc35zgz72plzq23d3l4bbzfdvhszdxmkn1pkk64h8ms"; depends=[mclust]; };
   SimuChemPC = derive2 { name="SimuChemPC"; version="1.3"; sha256="06sxknaykikcgbw7qbbw1risg0sbaisb68vhfd7cl6sg0327dznk"; depends=[rcdk]; };
   SinIW = derive2 { name="SinIW"; version="0.2"; sha256="1z7rcjy0i09a9hjpjj1x8i46lv042l20lvb6b0pnsky2sx3v78pd"; depends=[fdrtool pracma]; };
-  SingleCaseES = derive2 { name="SingleCaseES"; version="0.4.2"; sha256="18bw674jsdnzpagqsr3wjjrz0j9lkz39mpgmdcscvrs9pcj0jgfr"; depends=[dplyr magrittr purrr rlang tidyr tidyselect]; };
+  SingleCaseES = derive2 { name="SingleCaseES"; version="0.4.3"; sha256="05bd03ka6qxmq8ls9w0nfklya3qay90s3i0iqjpcd6id4g8cz2kb"; depends=[dplyr magrittr purrr rlang tidyr tidyselect]; };
   SitesInterest = derive2 { name="SitesInterest"; version="1.0"; sha256="06l6i6jnzwj683cvd9a9dg4nlb1wy1v3wb561y97a25bikm3mfy6"; depends=[plotrix]; };
   SixSigma = derive2 { name="SixSigma"; version="0.9-52"; sha256="07s4an2az2pgqhq9c08jrf6b95nrs1b3r1092d53n1ps8wbdmbln"; depends=[e1071 ggplot2 lattice nortest qcc reshape2 scales testthat xtable]; };
   SizeEstimation = derive2 { name="SizeEstimation"; version="1.1.1"; sha256="1rz57y76hzp880511kzm7nhxf201n0dr7ccip6slrjz784dl7s27"; depends=[MCMCpack msm]; };
@@ -4138,7 +4283,7 @@ in with self; {
   Sleuth2 = derive2 { name="Sleuth2"; version="2.0-5"; sha256="18rp23dr55p2zqxqj5i86gi8j25b0y7hc2p88rxqszgmbyn5ynhi"; depends=[]; };
   Sleuth3 = derive2 { name="Sleuth3"; version="1.0-3"; sha256="0ngwri80cwqs50wjza8qyzzwign4ag1ck7fa1x7q5x08w9x6w08m"; depends=[]; };
   SmCCNet = derive2 { name="SmCCNet"; version="0.99.0"; sha256="0ixvh1pd1gzbscwg4xjlcgxq5c9vqahil0fysfjc3fnba3wiidzx"; depends=[igraph Matrix pbapply PMA]; };
-  SmallCountRounding = derive2 { name="SmallCountRounding"; version="0.3.0"; sha256="1cy5vbsb7a62hf8rarq5fmkqn23cf2jvsbl0hcwd68h37b8sparp"; depends=[Matrix SSBtools]; };
+  SmallCountRounding = derive2 { name="SmallCountRounding"; version="0.4.0"; sha256="0rx47hvm4wkmrj1hrwaa8j61y3agfb09n048j9xlda5rismaqk8z"; depends=[Matrix SSBtools]; };
   SmartEDA = derive2 { name="SmartEDA"; version="0.3.2"; sha256="153bh9igdiq93ydibmfj9xklc5qj66zsakgkynk0apnczzzipn3y"; depends=[data_table GGally ggplot2 gridExtra ISLR rmarkdown sampling scales]; };
   SmartSVA = derive2 { name="SmartSVA"; version="0.1.3"; sha256="10a8s2znsg8ywqkq9fsxiyqfsprrx33pqissazp2vmabs11mg4np"; depends=[isva Rcpp RcppEigen RSpectra sva]; };
   SmartSifter = derive2 { name="SmartSifter"; version="0.1.0"; sha256="16rzma87k27qg6qy39mzywdj8pzkp7r9q7bpqyikazp3fk2nmfri"; depends=[mvtnorm rootSolve]; };
@@ -4165,21 +4310,21 @@ in with self; {
   SongEvo = derive2 { name="SongEvo"; version="1.0.0"; sha256="0mc5wlf5axbflys6g8b7xg0di3wwkli7q0a9fby6598fq9hbaqpd"; depends=[boot geosphere lattice sp]; };
   SorptionAnalysis = derive2 { name="SorptionAnalysis"; version="0.1.0"; sha256="0drns1ajcga5z56hcgjxld1riwjn7vli8k1ma1xqifpy1qwy7ci6"; depends=[]; };
   SortableHTMLTables = derive2 { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[brew testthat]; };
-  SortedEffects = derive2 { name="SortedEffects"; version="1.0.0"; sha256="1zjzkp640y5nrn89d7si9fb46gawizkddywj3d7dhnvff7x2ay77"; depends=[boot Hmisc quantreg rlist SparseM]; };
+  SortedEffects = derive2 { name="SortedEffects"; version="1.1.0"; sha256="14ddalkbk2bfjxpx3ppcm9ffdqxfi1d44nngbczi8923s9v2y1nc"; depends=[boot dummies Hmisc pbapply quantreg rlist SparseM]; };
   SoundexBR = derive2 { name="SoundexBR"; version="1.2"; sha256="0chc332v3wcz30v70yvdxhvcfdmvf4fj193cn00gl899xfxal89p"; depends=[]; };
-  SourceSet = derive2 { name="SourceSet"; version="0.1.1"; sha256="1326p28mngvi77b98n62cg6rln1qscyxz0616h7apc23ppdl7ybz"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
+  SourceSet = derive2 { name="SourceSet"; version="0.1.3"; sha256="159kg4pna24yihkghxc2k5f56dqk8aypxcmj1whgnajmgab29ry1"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
   SoyNAM = derive2 { name="SoyNAM"; version="1.6"; sha256="1vwl2mknk6x0sgk0baxsvb6xy4i7mf2ypkmc9lx869nakrx1ypah"; depends=[lme4 NAM reshape2]; };
-  SpATS = derive2 { name="SpATS"; version="1.0-9"; sha256="1q49n4snvrfhw0774q83vjxrip5la28jmbl3vijhf15ycbq0kwrf"; depends=[data_table fields plot3Drgl spam]; };
+  SpATS = derive2 { name="SpATS"; version="1.0-10"; sha256="0h1xf01kar69nr96vf1y19rd543fzysv391z992mqrr98dzws9dc"; depends=[data_table fields plot3Drgl spam]; };
   SpNMF = derive2 { name="SpNMF"; version="0.1.1"; sha256="1xybxx47i3ww5d7chwl38xc48fbsclgyxcki8h85c6dkm49dxy8i"; depends=[NMF]; };
   SpNetPrep = derive2 { name="SpNetPrep"; version="1.1"; sha256="1y3j7mwjxv69lrgqvi8kxvhlmdyr8v7gbg17741008xb32kgma8h"; depends=[leaflet maptools prodlim raster rgdal shiny shinythemes sp spatstat]; };
   SpaCCr = derive2 { name="SpaCCr"; version="0.1.0"; sha256="0qm1fr6nnax3i1i77fi73x1z8db557avh6kivs0nskb1dfj8ri4m"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo tidyr]; };
-  SpaDES = derive2 { name="SpaDES"; version="2.0.3"; sha256="050sga2xm9zjrx7qg9qbcv1zrjcl2drka1whsabsdjvmg06jw7ba"; depends=[quickPlot reproducible SpaDES_addins SpaDES_core SpaDES_tools]; };
+  SpaDES = derive2 { name="SpaDES"; version="2.0.4"; sha256="1ihxkr2c7rfpb02chmdv393nfc1id1cg7lq8pbb64xm5vdpyj0bv"; depends=[quickPlot reproducible SpaDES_addins SpaDES_core SpaDES_tools]; };
   SpaDES_addins = derive2 { name="SpaDES.addins"; version="0.1.2"; sha256="0z1n48kfwy460zfam88ayfiq8sbzvnf6cpkasr74nykr4fabs5ha"; depends=[devtools magrittr miniUI reproducible rstudioapi shiny SpaDES_core stringi]; };
-  SpaDES_core = derive2 { name="SpaDES.core"; version="0.2.5"; sha256="0p6xfxx8wd01figni4vdqh12in2z42xihjwmns8q873kivh5bakf"; depends=[codetools crayon data_table DEoptim DiagrammeR dplyr fastdigest fpCompare googledrive httr igraph lubridate quickPlot R_utils raster RCurl reproducible stringi]; };
-  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.2"; sha256="0sda1r7vzfzhpk08dvix4lgz1i40dhqqrb7m917nvjd7i8q6jq7b"; depends=[bit checkmate CircStats data_table fastmatch ff ffbase fpCompare magrittr quickPlot raster Rcpp reproducible rgeos sp]; };
+  SpaDES_core = derive2 { name="SpaDES.core"; version="0.2.7"; sha256="0m2yn907p884xq6da75ji87r5p3zzygkwxa50isz8lgnp31xmgpy"; depends=[backports codetools crayon data_table DiagrammeR dplyr fastdigest fpCompare future httr igraph lubridate quickPlot R_utils raster RCurl reproducible stringi whisker]; };
+  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.3"; sha256="0rly10mfk8r2c6a7p8372aagsiv2dk9s2apqvdvcj7frcac3jz3y"; depends=[backports bit checkmate CircStats data_table fastmatch ff ffbase fpCompare magrittr quickPlot raster Rcpp reproducible rgeos sp]; };
   SpaTimeClus = derive2 { name="SpaTimeClus"; version="1.0"; sha256="1l204b8yd11pxwcb026xy39f4lps4sqk6mml8cybnjch8clk9djc"; depends=[Rcpp RcppArmadillo]; };
   SpadeR = derive2 { name="SpadeR"; version="0.1.1"; sha256="0iy2rkq4vvps1a73kqq37zpsyl4pvl3vh07dwvpfhvp7f8nxbx99"; depends=[]; };
-  SparkR = derive2 { name="SparkR"; version="2.4.3"; sha256="02knqjc12ynjk7pnr7i0mcmksmn8q5pr43z6pp02qmmm018yy4rq"; depends=[]; };
+  SparkR = derive2 { name="SparkR"; version="2.4.4"; sha256="181qys7whk061bk8gl8ah34g4wk3a0lw40dnx18nj8yf5iq6yvzd"; depends=[]; };
   SparseBiplots = derive2 { name="SparseBiplots"; version="3.5.0"; sha256="00ynx0cr543zyx9b633cbdalza9wmfgbvvgvr8b6s5r71lpjii8f"; depends=[sparsepca]; };
   SparseDC = derive2 { name="SparseDC"; version="0.1.17"; sha256="0gsfj8631s67a0r9qjjll4rbb57nzk5fwm5bbggvf0027b9hk0pp"; depends=[]; };
   SparseFactorAnalysis = derive2 { name="SparseFactorAnalysis"; version="1.0"; sha256="0lgfvydxb86r5hks1mf0p0yhgpx8s8fbkc3q6dimc728rw26qcv5"; depends=[directlabels ggplot2 MASS proto Rcpp RcppArmadillo truncnorm VGAM]; };
@@ -4187,7 +4332,7 @@ in with self; {
   SparseLPM = derive2 { name="SparseLPM"; version="1.0"; sha256="1mpjf7yk2haa8hch315davb6nrhxhy0w2vgw2x4111rn4bskhd8m"; depends=[gtools Rcpp RcppArmadillo vegan]; };
   SparseM = derive2 { name="SparseM"; version="1.77"; sha256="0p6ljma2h12cq1xmy0cxb48ih8dhxxbnwkqzvx3cckxf2kprycm9"; depends=[]; };
   SparseMDC = derive2 { name="SparseMDC"; version="0.99.5"; sha256="0d3ashk3l9fjdbiyjhaxc05ayyscissrg7lwhnh46hv3fydbixlj"; depends=[doParallel doRNG foreach]; };
-  SparseMSE = derive2 { name="SparseMSE"; version="1.2.1"; sha256="1dppb588bqq5s9dg86bfbml65j0k8vbcj8r85ch5dc95q2bxa2li"; depends=[lpSolve]; };
+  SparseMSE = derive2 { name="SparseMSE"; version="2.0.0"; sha256="0i58lq4kqb9gdhd1r3v7czjaz76y9gyf0avf37m9z12sw8kwmdac"; depends=[lpSolve Rcapture]; };
   SparseTSCGM = derive2 { name="SparseTSCGM"; version="2.5"; sha256="004hbk5fdd5b5hdvg25wl1908pfya26brm2pz00zypfvis99lps3"; depends=[abind flare glasso longitudinal MASS mvtnorm network QUIC]; };
   SpatEntropy = derive2 { name="SpatEntropy"; version="0.1.0"; sha256="0nk399anjhsdki9cra650ynk6sa0366495470sawxcfs3vxmlzrl"; depends=[spatstat]; };
   SpatMCA = derive2 { name="SpatMCA"; version="1.0.1.0"; sha256="1sjrm1md4lmhyq1yw3np4llkgdskw3mk667jr0k3isjmr6z88gxa"; depends=[fields MASS Rcpp RcppArmadillo RcppParallel]; };
@@ -4200,7 +4345,7 @@ in with self; {
   SpatialFloor = derive2 { name="SpatialFloor"; version="1.1.0"; sha256="07mwgcvkkq478l6wxvrdjs9d578x0kgs5xy86lgy5my0xqfcv6y8"; depends=[blocksdesign fields reshape2 taRifx]; };
   SpatialGraph = derive2 { name="SpatialGraph"; version="1.0-2"; sha256="0cwswa5g3a6ng8qkwi04jz9pma4i0c16m7jpq6z3djzjin0znyk2"; depends=[igraph rgeos shape sp splancs]; };
   SpatialML = derive2 { name="SpatialML"; version="0.1.3"; sha256="0akip0kkd1jjid12iwmaxkhkvcfzkxmrnrsv0b6nnvpjdl1jb589"; depends=[randomForest]; };
-  SpatialNP = derive2 { name="SpatialNP"; version="1.1-3"; sha256="1azymigqychsydqvy2n5fplv971i1gzxfhfnclm5r5rqh0xcdp3k"; depends=[]; };
+  SpatialNP = derive2 { name="SpatialNP"; version="1.1-4"; sha256="1hj9fjhyxcvl2d0wdqyc899wy4f6iyi03g65icavkmqnwcs8c7hc"; depends=[]; };
   SpatialPack = derive2 { name="SpatialPack"; version="0.3-8"; sha256="0laixlr37048x2dr1zbk41kjp533w47khc1d9rihmlrwxrflprd0"; depends=[]; };
   SpatialPosition = derive2 { name="SpatialPosition"; version="2.0.0"; sha256="00z1kbkd7as4xnzqnizaap9qga4vakx7swyayli26ghp11krgfwr"; depends=[isoband lwgeom raster rgeos sf sp]; };
   SpatialTools = derive2 { name="SpatialTools"; version="1.0.4"; sha256="0jgbrzsx2klvihv65y1ycqyr8awp5kqqz4qwfyfibx3b56lzna1q"; depends=[Rcpp RcppArmadillo spBayes]; };
@@ -4213,11 +4358,11 @@ in with self; {
   SpeciesMix = derive2 { name="SpeciesMix"; version="0.3.4"; sha256="0d6hfmzxqcvg4fcvpsfxx36k95fwkws4rlylrixikndj2fncgwb5"; depends=[MASS numDeriv]; };
   SpecsVerification = derive2 { name="SpecsVerification"; version="0.5-2"; sha256="0dnya9mzkf48clp51jrnkz6lc4fps38nn3lap7n2wcp3dvbvdycg"; depends=[Rcpp RcppArmadillo]; };
   SpectralMap = derive2 { name="SpectralMap"; version="1.0"; sha256="15689023k9jzg3s7bx5m97dmn00z876amqhxsxksy8n8wf09wr57"; depends=[fields scatterplot3d]; };
-  Spectrum = derive2 { name="Spectrum"; version="0.7"; sha256="1wkz7q1c67p25czna2s3n76gqhmcp9b3kv8i0npbrfvcahyqxwjb"; depends=[ClusterR diptest ggplot2 RColorBrewer Rfast Rtsne umap]; };
+  Spectrum = derive2 { name="Spectrum"; version="0.9"; sha256="1n7jw8l1jidrsma5sdv7sdb1g29i0ianyrzclrxx49i0md2wnx5g"; depends=[ClusterR diptest ggplot2 RColorBrewer Rfast Rtsne umap]; };
   SphericalCubature = derive2 { name="SphericalCubature"; version="1.4"; sha256="14xrxhmhavz82rcixnyharnbrvdzs6rh7gbxihaxh431d90w2q3k"; depends=[abind cubature mvmesh SimplicialCubature]; };
   SphericalK = derive2 { name="SphericalK"; version="1.2"; sha256="18py4ylm10s75pihjvcy7w948379zy9l9azriw7g7pyp7px29wda"; depends=[]; };
   SplitReg = derive2 { name="SplitReg"; version="1.0.0"; sha256="09ni4hqyr3ng1yvb2g4wyl8vm1sa05rv649g0c9bfq6m6cx7xdvy"; depends=[Rcpp RcppArmadillo]; };
-  SplitSoftening = derive2 { name="SplitSoftening"; version="1.0-0"; sha256="1nng2rbldpxflnn7kqdp4r334lcjyznwbc50sfrd4rxyhcmmy36n"; depends=[]; };
+  SplitSoftening = derive2 { name="SplitSoftening"; version="2.0-0"; sha256="0nlli8nap6ilb5ns1xavyb06nhj2dlf4p0gajmsgrz32s2ljhr8s"; depends=[]; };
   SportsAnalytics = derive2 { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
   SqlRender = derive2 { name="SqlRender"; version="1.6.2"; sha256="1b2wkzy10m4zn1yjny1h8kx5k6vfl78vw82fq8a7ksxm113vjxs7"; depends=[rJava]; };
   Sstack = derive2 { name="Sstack"; version="1.0.1"; sha256="137vsas2kw3l37c141g51sgx0j6z8ys6hbxjmsdymz1fxsjr4adg"; depends=[doParallel dplyr foreach randomForest]; };
@@ -4229,10 +4374,9 @@ in with self; {
   Stack = derive2 { name="Stack"; version="2.0-1"; sha256="09fgfhw9grxnpl5yg05p9gvlz38iw4prns1jn14nj3qx01k5rnxb"; depends=[bit ff ffbase plyr stringr]; };
   StagedChoiceSplineMix = derive2 { name="StagedChoiceSplineMix"; version="1.0.0"; sha256="1008gm6zv5k8lpv0qg42qjriajmx0n4kshjh76mvx91dpi788ivh"; depends=[plyr]; };
   StakeholderAnalysis = derive2 { name="StakeholderAnalysis"; version="1.2"; sha256="164mah8h8izxaqp8hc43l6mlnf95pydkcx2laqrlqr9b0bybadxb"; depends=[]; };
-  StanHeaders = derive2 { name="StanHeaders"; version="2.18.1-10"; sha256="0njnnd9480i0qrwx4j71kn08rkrpbhwpakzl2iyyja2l20i7x7wa"; depends=[]; };
+  StanHeaders = derive2 { name="StanHeaders"; version="2.19.0"; sha256="14j5w4pnk45b3wbjclrsq7q1pxdrz264wvhz94vkm43sdacqzax0"; depends=[]; };
   StandardizeText = derive2 { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; };
   Stat2Data = derive2 { name="Stat2Data"; version="2.0.0"; sha256="1fpp3b4k7x915a9wkpyj4dvvqp0wz7c3lpbh154vrxrdsr712z0k"; depends=[]; };
-  StatCharrms = derive2 { name="StatCharrms"; version="0.90.92"; sha256="1vjb214zcy48rc95wnwqh0xkflxyp4vp1rxirmc3ndi23mg6p1yi"; depends=[cairoDevice car clinfun coxme gWidgets gWidgetsRGtk2 lattice multcomp nlme R2HTML RGtk2 RSCABS survival]; };
   StatDA = derive2 { name="StatDA"; version="1.7"; sha256="1hsy4aivd5ga2zj65hr2c5cn9qgjnhs123qqyg6q959vsjxzp0i0"; depends=[cluster e1071 geoR MASS MBA mgcv rgl robustbase sgeostat xtable]; };
   StatDataML = derive2 { name="StatDataML"; version="1.0-26"; sha256="1lcckapbhqdbg6alnhm2yls66lnkxnxamdlzx6pbfqv1dhsy36gf"; depends=[XML]; };
   StatMatch = derive2 { name="StatMatch"; version="1.3.0"; sha256="1ms8qmxgpfa9sk7kl6hpcal14xxn7i84h662va2n045w7p0qmcjw"; depends=[clue lpSolve proxy RANN survey]; };
@@ -4243,17 +4387,17 @@ in with self; {
   SteinerNet = derive2 { name="SteinerNet"; version="3.0.1"; sha256="1jkvv0hsj85i1zfr1bmdsrbwgl11mxpfci3z7997m5vvb5fb5cxn"; depends=[igraph]; };
   Stem = derive2 { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[MASS mvtnorm]; };
   StempCens = derive2 { name="StempCens"; version="0.1.0"; sha256="11gspjrcl6yiyr19hankan5mcxipfsdkhha6nsiybs1chg5wx6f4"; depends=[distances ggplot2 gridExtra Matrix MCMCglmm mvtnorm optimx sp spTimer ssym tmvtnorm]; };
-  StepReg = derive2 { name="StepReg"; version="1.2.0"; sha256="0igpdsrq47nrklrgqhhxk7vf4b744fnd6pas07kbwx9qbkih96n4"; depends=[Rcpp RcppEigen]; };
+  StepReg = derive2 { name="StepReg"; version="1.3.3"; sha256="1l2m65dlq59dh8jx1czc17j44pgqihcx37bfdp6x61nvdhf5sw40"; depends=[Rcpp RcppEigen]; };
   StepSignalMargiLike = derive2 { name="StepSignalMargiLike"; version="2.6.0"; sha256="0j85lvs2bljfhf482r31sq3xgk8l73hcw22wgxxp8z8nla38cwf9"; depends=[Rcpp]; };
   StepwiseTest = derive2 { name="StepwiseTest"; version="1.0"; sha256="1fdm4s9l6grgd45r98ybbsh40rnmnn16c0id6lv28cpmssi0iphi"; depends=[Rcpp RcppArmadillo]; };
-  StereoMorph = derive2 { name="StereoMorph"; version="1.6.2"; sha256="1jjvkwln9kkjgyg1vn9ma6ffi32cxbkfh6zn69vilbdkmjcsycl2"; depends=[bezier jpeg MASS png Rcpp rjson shiny svgViewR tiff]; };
+  StereoMorph = derive2 { name="StereoMorph"; version="1.6.3"; sha256="0sr8i6hq9iir2f717yvm5kdda047hamsqcrl553jjzzcbxg0y5m1"; depends=[bezier jpeg MASS png Rcpp rjson shiny svgViewR tiff]; };
   StockChina = derive2 { name="StockChina"; version="0.3.1"; sha256="1myxyfchnkskyqb5yciw1wfk3006f51y89ipzfjzdlfyzwy1lsp1"; depends=[]; };
   Storm = derive2 { name="Storm"; version="1.2"; sha256="1fg8y9my9yp6px1gh43mr3m2s2z262mzq03pj52mqg3n186vk8z3"; depends=[permute rjson]; };
   StrainRanking = derive2 { name="StrainRanking"; version="1.2"; sha256="1r8avm9xajqmsy4x7pgh1yaffq7wl5i5kg75kdilydwmii6n19i0"; depends=[]; };
   StratSel = derive2 { name="StratSel"; version="1.3"; sha256="0hd6q8s8aiymcd33kv0gd0a4wzr86xxdzwn18jgpyk9q8pmg8gvl"; depends=[Formula MASS memisc mnormt pbivnorm]; };
   Strategy = derive2 { name="Strategy"; version="1.0.1"; sha256="0phja1r0qfvcswvw5w1x6ny86p84wkqb029fdqgw10djdm9xp0f2"; depends=[xts zoo]; };
   StratifiedBalancing = derive2 { name="StratifiedBalancing"; version="0.3.0"; sha256="0pklnm0q0imdhyzhwyb4i0j441dkk4k6qqlx8d4q2xnl62drqnvv"; depends=[bnlearn plyr]; };
-  StratifiedMedicine = derive2 { name="StratifiedMedicine"; version="0.1.1"; sha256="08ym6b4hfirny2xqbxlk9klin4yb9xzfafgbrqs15jiqsg9svwzl"; depends=[dplyr ggplot2 glmnet mvtnorm partykit ranger survival]; };
+  StratifiedMedicine = derive2 { name="StratifiedMedicine"; version="0.2.0"; sha256="1fxw0ih68ny04342gymihl2zir34rflq9kpvg72czfpp2j8aqhy3"; depends=[dplyr ggparty ggplot2 glmnet mvtnorm partykit ranger survival]; };
   StratifiedRF = derive2 { name="StratifiedRF"; version="0.2.2"; sha256="0a5djia6xacs17nnr5knr1acwzicrffz73q9nvnhdmihazq8v27d"; depends=[C50 dplyr]; };
   StratigrapheR = derive2 { name="StratigrapheR"; version="0.0.6"; sha256="1383gnxfsczvpazkhdq0fpv0x41jq47ksxam29yq19m2gh4afswc"; depends=[diagram dplyr GGally ggplot2 shiny stringr XML]; };
   StreamMetabolism = derive2 { name="StreamMetabolism"; version="1.1.2"; sha256="1sv30i7armk7jhxg5x9lh0r9qq3xixn1k2h0q89halkh1yraal8a"; depends=[chron maptools zoo]; };
@@ -4261,29 +4405,31 @@ in with self; {
   String2AdjMatrix = derive2 { name="String2AdjMatrix"; version="0.1.0"; sha256="058r30kjjna02nmd6ngqfcnn1yk5390i20xvl6qb5qk3bcp2wmxn"; depends=[stringr]; };
   StroupGLMM = derive2 { name="StroupGLMM"; version="0.1.0"; sha256="1w0xizdmwqflfhqwygyq7fw5ci7pdzmr8dfv3j0g3ljbj84kndzd"; depends=[aod broom car ggplot2 lme4 lmerTest lsmeans MASS mutoss nlme pbkrtest phia survey]; };
   StructFDR = derive2 { name="StructFDR"; version="1.3"; sha256="1y0wj7y36iq0lznc4qpsr2yis3an34iilpabkaxxmas2q4abg0qb"; depends=[ape cluster dirmult matrixStats nlme]; };
+  StructureMC = derive2 { name="StructureMC"; version="1.0"; sha256="1pj3inznw6flvmk22dzjcfjnwjhx7r98ngckz0axf6ipp3hb85jn"; depends=[MASS matrixcalc]; };
   SubCultCon = derive2 { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
-  SubTite = derive2 { name="SubTite"; version="2.0.3"; sha256="1i95f3x1nkhx9kqzxwvi15x6yq7mcdihzjxh60la6jvq5nscfi3l"; depends=[Rcpp RcppArmadillo]; };
+  SubTite = derive2 { name="SubTite"; version="3.0.0"; sha256="1kv5083zfxla4v1y7zhkd2rhld8mhmnilkz78q26qp121qqbf93r"; depends=[Rcpp RcppArmadillo]; };
   SubVis = derive2 { name="SubVis"; version="2.0.2"; sha256="1nb3zgm6i5lwfwdrn8mk3wkg8a4ldfvs27ai8v46l4316qc1fa9p"; depends=[Biostrings shiny]; };
   SubgrPlots = derive2 { name="SubgrPlots"; version="0.1.0"; sha256="0bhrb82yck4q72r268wqcnz2cm0sss92zff580s5jjijc2cwh3cp"; depends=[alluvial circlize colorspace diagram dplyr geoR ggplot2 gridBase gridExtra plyr polyclip scales shape sp survival survRM2 UpSetR VennDiagram]; };
   SubgrpID = derive2 { name="SubgrpID"; version="0.11"; sha256="1by23gdkbls7l5xa9nl055nbm0d3138pmfmasqmcy42h62wf7dw6"; depends=[AIM ggplot2 glmnet Matrix rpart survival]; };
   SubpathwayGMir = derive2 { name="SubpathwayGMir"; version="1.0"; sha256="1rw94idhbnaszr2xv1wgnjcxlnxkml912pvmqh2a1nqpwca5mscy"; depends=[igraph XML]; };
   SubpathwayLNCE = derive2 { name="SubpathwayLNCE"; version="1.0"; sha256="051csjavr9549y54yirfdn266i7swsvpbcakhziyz4sl4afwx5kl"; depends=[BiasedUrn graph igraph RBGL]; };
+  SummaryLasso = derive2 { name="SummaryLasso"; version="1.2.1"; sha256="1gb1g1xgda5psq93vy50yfr0cbhvymliblpkxz7ck1nwpp65n9py"; depends=[gtools]; };
   Sunclarco = derive2 { name="Sunclarco"; version="1.0.0"; sha256="0jv92a4ciwkm0wa4irgb6ql3vf6v6p24fmbnk24pqp5p8drp8g5v"; depends=[survival]; };
   Sunder = derive2 { name="Sunder"; version="0.0.4"; sha256="1na41nnscyc4v1qbwzfgqk503r39xxbi6f446pscrz3v0v121f1a"; depends=[mnormt]; };
   SunterSampling = derive2 { name="SunterSampling"; version="1.0.1"; sha256="0qfld3j8xlpgp7c58zqw6gzm38m4d740lvdj5vmcflfcc6ja98sf"; depends=[]; };
   SupMZ = derive2 { name="SupMZ"; version="0.1.0"; sha256="0qzsx6czp72bamzs0lgpp8ypqfzb1c51xqfag8xx1nnnlcl1hv25"; depends=[dplyr magrittr]; };
   SuperExactTest = derive2 { name="SuperExactTest"; version="1.0.7"; sha256="1ysfsdzbkldcn7hzxhqikf5h2h9747xhfrirqgr8xx8q81wq989s"; depends=[]; };
   SuperGauss = derive2 { name="SuperGauss"; version="1.0.1"; sha256="0pkk8aaghkrh87g6ahikngp6hahaxwhr8i9vz30vv2bzxpgba54b"; depends=[fftw Rcpp RcppEigen]; };
-  SuperLearner = derive2 { name="SuperLearner"; version="2.0-24"; sha256="0hzgqhkj638dcrd4rwi1m37i0rjap2llz6zvf32jbcc5r2i5ixmd"; depends=[cvAUC nnls]; };
+  SuperLearner = derive2 { name="SuperLearner"; version="2.0-25"; sha256="0m17bw343612bzz85dz76skbda5wkv1c7pif8ldfsffx8inaxhy8"; depends=[cvAUC nnls]; };
   SuperPCA = derive2 { name="SuperPCA"; version="0.2.0"; sha256="1g2qf2y83clmjx327b9yk6bkx4l7rm0hj0sjvia2fll24m4hxcjz"; depends=[fBasics glmnet MASS matlab matlabr Matrix matrixStats pracma psych R_matlab RSpectra spls timeSeries]; };
   SuperRanker = derive2 { name="SuperRanker"; version="1.1.1"; sha256="1yiklw9zk7yw0xz5g3lmyl5lv325fnysimdwbxa37nyj6qdfv0ls"; depends=[prodlim Rcpp]; };
   SuperpixelImageSegmentation = derive2 { name="SuperpixelImageSegmentation"; version="1.0.1"; sha256="15d611ik6qg0602n6yk34a1pgfciv42nzd8qaarmxnqqrn8i584n"; depends=[ClusterR OpenImageR R6 Rcpp RcppArmadillo]; };
   SuppDists = derive2 { name="SuppDists"; version="1.1-9.4"; sha256="1ffx8wigqqvz2pnh06jjc0fnf4vq9z2rhwk2y3f9aszn18ap3dgw"; depends=[]; };
   SurfaceTortoise = derive2 { name="SurfaceTortoise"; version="1.0.1"; sha256="0q0swp0xs3lmfx2dxffqrna2spyr2l9ka0zbhmw8nkgb1w5rq5q6"; depends=[gstat raster rgeos sp]; };
-  Surrogate = derive2 { name="Surrogate"; version="1.2"; sha256="1wv8j2ps9wymr4jqgvs0nz91zh2yzs1hv04kkv0yqjq8pz65w5kd"; depends=[extraDistr ks lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot rgl rms rootSolve survival]; };
+  Surrogate = derive2 { name="Surrogate"; version="1.4"; sha256="184c34ks6q8qdv7kgl3z7p71a8qbfkazg60wglk2q7f1aqfaahgb"; depends=[extraDistr ks lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot rgl rms rootSolve survival]; };
   SurrogateOutcome = derive2 { name="SurrogateOutcome"; version="1.0"; sha256="0x91bmr4n9zn9cc72s91fzzsqhzhrkfpcbcla00gcsfmbjqz3997"; depends=[survival]; };
   SurrogateTest = derive2 { name="SurrogateTest"; version="1.1"; sha256="0m6m44vsfdgv47sswi2s8snmypa7s2ppad73fqnvymq8fm2b3yl2"; depends=[survival]; };
-  SurvBoost = derive2 { name="SurvBoost"; version="0.1.1"; sha256="1yk65s5n0qxgbg2sm91bqgq7w98hqsdg3hwdxxxwaga0wb7wd7n1"; depends=[directlabels ggplot2 mvtnorm plyr Rcpp RcppArmadillo RcppParallel reshape2 survival]; };
+  SurvBoost = derive2 { name="SurvBoost"; version="0.1.2"; sha256="17av00iwa3kpw0ihrvvynrfcghnq492b5k7n9fxfgf2nily24x2p"; depends=[directlabels ggplot2 mvtnorm plyr Rcpp RcppArmadillo RcppParallel reshape2 survival]; };
   SurvCorr = derive2 { name="SurvCorr"; version="1.0"; sha256="01rqdl503q1qnkn49iqnsjzis6azdsfi6s2hjky5k2zd6c9g18k5"; depends=[fields survival]; };
   SurvDisc = derive2 { name="SurvDisc"; version="0.1.1"; sha256="0ajvnm0a4krbm0m584bg58hd7dzl0f2rz5as1zsajx8agywb5qmv"; depends=[cubature MASS mvtnorm nlme simex survival]; };
   SurvGSD = derive2 { name="SurvGSD"; version="1.0.0"; sha256="0aa5zaf9akkqkxs8iqwnm93sfwakhhhs3qfafbk0vrwmb5yvzzm1"; depends=[flexsurv ldbounds mnormt]; };
@@ -4293,6 +4439,7 @@ in with self; {
   Survgini = derive2 { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
   SvyNom = derive2 { name="SvyNom"; version="1.1"; sha256="1jym2x6nd9a3y7nk5hflqpy54gs67y4sqqspkvkalf5l2cc64did"; depends=[Hmisc rms survey survival]; };
   SwarmSVM = derive2 { name="SwarmSVM"; version="0.1-5"; sha256="0nmlnvc1vxk68sc5jv3kvnnf5dpqxn4dxzrn06b9sn2bcxfpmkhy"; depends=[BBmisc checkmate e1071 kernlab LiblineaR Matrix SparseM]; };
+  SwimmeR = derive2 { name="SwimmeR"; version="0.1.0.0"; sha256="0979527aaacfq8arp1qh7z3p9crq8x2v90899z2ab0fa6f9n282m"; depends=[dplyr purrr stringr tibble]; };
   SwissAir = derive2 { name="SwissAir"; version="1.1.5"; sha256="0lh69924vhyilgn562jqn8m7z4dq3xmdj09501sbs7hbxfaiiyly"; depends=[]; };
   SyNet = derive2 { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
   SymTS = derive2 { name="SymTS"; version="1.0"; sha256="17vhm00zd9yxl6li36bsfkm4rsizjsm93ibrzgqnkl72sqmmlwfi"; depends=[]; };
@@ -4301,20 +4448,22 @@ in with self; {
   SyncRNG = derive2 { name="SyncRNG"; version="1.3.0"; sha256="0sywfmmy6mq6qsxkxjc67665snn1jds01j3h7ni1200igja139g2"; depends=[]; };
   SynchWave = derive2 { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; };
   Synth = derive2 { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; };
+  SynthTools = derive2 { name="SynthTools"; version="1.0.0"; sha256="0izsp1gcch3bb7ssq3w5na5k0nli18mcqkx757icnb32jpy9m3a8"; depends=[dplyr magrittr Rdpack]; };
   T2EQ = derive2 { name="T2EQ"; version="1.1"; sha256="1skkkryw63pfx1xslia1lczb2psja6v6hcbph4isdcksb4l4pcig"; depends=[]; };
-  TAM = derive2 { name="TAM"; version="3.2-24"; sha256="1m185pkz56w6shc49cm2jpc9gyks1bv7r5qpqhqnib6xbbkz01xz"; depends=[CDM Rcpp RcppArmadillo]; };
-  TANDEM = derive2 { name="TANDEM"; version="1.0.2"; sha256="1h6m6aq2b5m9gdy4nck4dxv75gv50pfdhxx8xifgyv0d7n8czabq"; depends=[glmnet Matrix]; };
+  TAG = derive2 { name="TAG"; version="0.1.0"; sha256="1ha29kxd767g47qi93sb0p3mwdzvbf1hwa0s2lq3c938hfa3pg6v"; depends=[DiceKriging doParallel FastGP Matrix mgcv mlegp randtoolbox Rcpp RcppArmadillo]; };
+  TAM = derive2 { name="TAM"; version="3.3-10"; sha256="1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq"; depends=[CDM Rcpp RcppArmadillo]; };
+  TANDEM = derive2 { name="TANDEM"; version="1.0.3"; sha256="151rm95q2naw9y58df1lr2qiadnkgfb5j9v47v41bw4iipsmlp4p"; depends=[glmnet Matrix]; };
   TAQMNGR = derive2 { name="TAQMNGR"; version="2018.5-1"; sha256="0bf0sgqa53l9y2bhwg2ngiwlcgrmj0nvxchlsmcc8zin388qf4pb"; depends=[Rcpp]; };
   TAR = derive2 { name="TAR"; version="1.0"; sha256="0wjh2n9x3yn9by9a6mjvkl96qy7z549g6dsqp7b4d96xwmyqxlbv"; depends=[mvtnorm]; };
   TAShiny = derive2 { name="TAShiny"; version="0.1.0"; sha256="1h8k8py7myrj7c18cbp4q7bmgmck64jagw9s9j1jaqzl9qf8cbgq"; depends=[dplyr igraph shiny SnowballC tm wordcloud2]; };
   TBEST = derive2 { name="TBEST"; version="5.0"; sha256="15piy507vv8x59xgga17splxszy0vm87qjbfgxycvba633jishsa"; depends=[fdrtool signal]; };
   TBFmultinomial = derive2 { name="TBFmultinomial"; version="0.1.3"; sha256="0cd0dr8vkf0sfriaafp2x63dilxmirm0fljxm82zw77c9j5ly3kv"; depends=[nnet plotrix stringr VGAM]; };
   TBSSurvival = derive2 { name="TBSSurvival"; version="1.3"; sha256="1r87qvnlvc18i12yi25lfpdb8b5p33fywi38hs2xp1y2vbvz5s9b"; depends=[BMS coda mcmc normalp R_utils Rsolnp survival]; };
-  TCA = derive2 { name="TCA"; version="1.0.0"; sha256="1wjzw126qlv1sf6panrm763vvm4ahrz1gscxbalg2bxd2879j1xc"; depends=[config data_table futile_logger gmodels Matrix matrixcalc matrixStats nloptr pbapply pracma quadprog rsvd]; };
+  TCA = derive2 { name="TCA"; version="1.1.0"; sha256="0pj052kd378x1gmg5wcbk8c0dca3c2ra65hnagljmsplv169vimy"; depends=[config data_table futile_logger glmnet gmodels Matrix matrixcalc matrixStats nloptr pbapply pracma quadprog rsvd]; };
   TCGA2STAT = derive2 { name="TCGA2STAT"; version="1.2"; sha256="15a5lh0nrdcxdwj7wj5m9rsvk1ygpp6wdjb4swilk91rb1lblikv"; depends=[CNTools XML]; };
   TCGAretriever = derive2 { name="TCGAretriever"; version="1.3"; sha256="0mi8j7k2b1sx75ka8ympydqpk8jqp8wz8dyf4vk4776fra7bq24p"; depends=[httr]; };
-  TCIApathfinder = derive2 { name="TCIApathfinder"; version="1.0.5"; sha256="0k1zcjw1zldbwgmy6xac12isw6612yyzzm9qg25jhmrf7k5yh72d"; depends=[httr jsonlite]; };
-  TDA = derive2 { name="TDA"; version="1.6.5"; sha256="1048b3wh03pvgdplgzqbj9lcc7r4j67zvmizkxmp0gpm216b57nq"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
+  TCIApathfinder = derive2 { name="TCIApathfinder"; version="1.0.6"; sha256="15f3w6vhbqy4xzidxasjnqigxchd3jbr2kpm3gggjnkp7rzsfgaf"; depends=[httr jsonlite]; };
+  TDA = derive2 { name="TDA"; version="1.6.9"; sha256="023jwhh1qc2y30g42pgfaha4n4pixzwrrghxlyss4889fr66q9vw"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
   TDAmapper = derive2 { name="TDAmapper"; version="1.0"; sha256="0cxgr2888v8azgdr3sg4vlcdyivkrxkk6dsp1ahv4frrwvg2z09k"; depends=[]; };
   TDAstats = derive2 { name="TDAstats"; version="0.4.0"; sha256="091fx0qla7jr5h7a84rp5mdsrafzdk87gk5xdflf62dk7qghb9kr"; depends=[ggplot2 Rcpp]; };
   TDCor = derive2 { name="TDCor"; version="0.1-2"; sha256="18085prcwhl5w717f1f7jcqskw2jvigvjjs2l5y6106ibiam6hxx"; depends=[deSolve]; };
@@ -4323,6 +4472,7 @@ in with self; {
   TDPanalysis = derive2 { name="TDPanalysis"; version="0.99"; sha256="1kyhs4rpkm3gr55l6hrz4xcb9igk95si1m1sp175580k16n885z0"; depends=[plyr]; };
   TDboost = derive2 { name="TDboost"; version="1.2"; sha256="0sc9vby4892gm5b5h8gbdl4misqvgbkfp8fms53dk83malxkw1zx"; depends=[lattice]; };
   TE = derive2 { name="TE"; version="0.3-0"; sha256="15530a5qjlh74c1qji76j25mm4c59gifp34y066f8j21f70rahfs"; depends=[MASS rainbow]; };
+  TEAM = derive2 { name="TEAM"; version="0.1.0"; sha256="1yj7fw935rr7fh7h2p4ra8d3ynz5c6b30fqzm1djgav1k84wcin2"; depends=[ggplot2 ks plyr]; };
   TED = derive2 { name="TED"; version="1.1.1"; sha256="0nb2arx7c1m8ymnkmj3jwbcw23vhkr1f3vlym2hqs0pq0lnsl4g0"; depends=[animation fields foreach geoR RcppArmadillo zoo]; };
   TEEReg = derive2 { name="TEEReg"; version="1.1"; sha256="0v5qz3vvmcm3fh16kjb05j1r0yj23r7hrxf2www20ng3dmga5q0f"; depends=[]; };
   TELP = derive2 { name="TELP"; version="1.0"; sha256="0wzm3dz0489ha7dd6lkashvvjydck9jw2pavlx9plpksvzr4q9ph"; depends=[arules arulesViz ggplot2 gridExtra RColorBrewer tcltk2 tm wordcloud]; };
@@ -4336,28 +4486,29 @@ in with self; {
   TGS = derive2 { name="TGS"; version="1.0.0"; sha256="0x3a8c02zibqh57sr79gk792m6dsxgzmqpk73lflvg1l2s3r6zf8"; depends=[bnstruct doParallel foreach ggm minet rjson]; };
   TH_data = derive2 { name="TH.data"; version="1.0-10"; sha256="0mgz7aj2d9abbmdr65zgmg1ddp3fdbs3mfj83r5xadh5ldkir2k1"; depends=[MASS survival]; };
   TIMP = derive2 { name="TIMP"; version="1.13.2"; sha256="1y1bc6wsd32792apsc6qncxbw5y8ww9xlhy9v49mhwbffgzn6llg"; depends=[colorspace deSolve fields gclus gplots minpack_lm nnls]; };
-  TITAN2 = derive2 { name="TITAN2"; version="2.1"; sha256="0cxcgkf776411ln5wbfdyjxa42jw473vcq1kns6k6p8dpm1y91c2"; depends=[]; };
+  TITAN2 = derive2 { name="TITAN2"; version="2.3"; sha256="089v4rphxa2wz1w4akqrx7xnzgagirp8z1d38m2v9z9n9dlhj4id"; depends=[cowplot dplyr ggplot2 ggridges glue purrr snow tibble]; };
   TInPosition = derive2 { name="TInPosition"; version="0.13.6.1"; sha256="1c0h9zg71whmsjn5rnzv5kdrabl9kqrq627caznvrpa74c7pjks9"; depends=[ExPosition InPosition prettyGraphs TExPosition]; };
   TKF = derive2 { name="TKF"; version="0.0.8"; sha256="1db87lwx26ayv1x2k8qd9dfr6j3jkvdl9ykisaxr42l6akqy21nr"; depends=[ape expm numDeriv phangorn phytools]; };
   TLBC = derive2 { name="TLBC"; version="1.0"; sha256="08w187akbhfbz6nrrf7avf02lrhgj7bbrjmim9gkh4wlbjhzvw67"; depends=[caret HMM randomForest signal stringr]; };
-  TLMoments = derive2 { name="TLMoments"; version="0.7.4.3"; sha256="1nidxpphqz4l4q9flgwp9g8qgbijqs8i0alacx1j4b5wjqk8rh49"; depends=[ggplot2 hypergeo Rcpp]; };
+  TLMoments = derive2 { name="TLMoments"; version="0.7.4.4"; sha256="0frq3zpg08rpmkf4fshq9igc6irzn7br3rkbn4sxxf8kkp1c9m9l"; depends=[ggplot2 hypergeo Rcpp]; };
   TLdating = derive2 { name="TLdating"; version="0.1.3"; sha256="12lmakk1zd6wqh1318pnl14i7km2hynjn4ymchfjr2bwmp45c1ra"; depends=[gplots Luminescence]; };
   TMB = derive2 { name="TMB"; version="1.7.15"; sha256="1r2d8c5iazihba42sn33yarv0dcfiy989sx64zcf14zr8k6cgjzs"; depends=[Matrix RcppEigen]; };
   TMDb = derive2 { name="TMDb"; version="1.0"; sha256="0bbcmsv7b3vvskhdjww03gbcgql44vsvyjz2fajy9w2vgkr6ga90"; depends=[httr jsonlite]; };
   TNC = derive2 { name="TNC"; version="0.1.0"; sha256="0639wvylmk9mapvmz79ij65g1phv3ylc683awi4pgaf9yfwlmjkn"; depends=[]; };
   TOC = derive2 { name="TOC"; version="0.0-4"; sha256="1c16d4wrzir6v3c323sck6r9yz6mv1a70xamlj5ha1ydmfixcza9"; depends=[bit raster rgdal]; };
+  TOHM = derive2 { name="TOHM"; version="1.3"; sha256="08qwqryy9vdh906k3rhq4csysxlxgki4jjr505shfrxjvnlc662i"; depends=[EQL igraph Matrix nloptr Rmpfr]; };
   TOSTER = derive2 { name="TOSTER"; version="0.3.4"; sha256="1pxcvlw2nhh1sv0d662xc61rykf7kz7f4xjq3yrqf119gjcmps5s"; depends=[ggplot2 jmvcore R6]; };
   TP_idm = derive2 { name="TP.idm"; version="1.5"; sha256="07rxn0mpar3p6blg8fd3kbvdngyz9h9n0r0lcljnfdajfzbysv7h"; depends=[]; };
   TPD = derive2 { name="TPD"; version="1.1.0"; sha256="1ppj6ppi0lhlz079ygjnwx1l5f36bsi8zax23ssr1w6h4csw748m"; depends=[ggplot2 gridExtra ks mvtnorm]; };
   TPEA = derive2 { name="TPEA"; version="3.1.0"; sha256="1yyc3q4dyf4d8m7wi851dnxf3xnvvfnvj28kl8z8py4r4jsb2hfy"; depends=[foreach igraph Matrix MESS RCurl XML]; };
   TPES = derive2 { name="TPES"; version="1.0.0"; sha256="00g1limcappjrly93x7xb1llrgaxivmiky3kw40w2fs0303ha3d7"; depends=[]; };
-  TPMplt = derive2 { name="TPMplt"; version="0.1.2"; sha256="1sq72b0n0bskd488z2cag6hz9p48xgkwvp43hfc2gzs5x6ca7pmn"; depends=[directlabels e1071 ggplot2 RColorBrewer rgl rowr VBTree]; };
+  TPMplt = derive2 { name="TPMplt"; version="0.1.3"; sha256="0y2adbswgd8z3lzy9hi6qx7hm9ns2ky269q83y50ykyg2ms5qjhg"; depends=[directlabels dlm e1071 ggplot2 RColorBrewer rgl rowr VBTree]; };
   TPmsm = derive2 { name="TPmsm"; version="1.2.2"; sha256="1ibb3ayd808x3a562qldaww7czmfq1cd1j4g4ch5k7q38jw5x835"; depends=[KernSmooth]; };
   TR8 = derive2 { name="TR8"; version="0.9.20"; sha256="01xkjl269q1qlpm8cxpnb64czcv2xhrjjwp3brhxywx07za1q8lq"; depends=[gWidgets gWidgetstcltk plyr rappdirs RCurl readxl reshape taxize XML]; };
   TRADER = derive2 { name="TRADER"; version="1.2-3"; sha256="1w9m2b866dyj82s118m64q8j9a1chpq2km2pnn9mfwwj8sivgdgn"; depends=[dplR]; };
   TRAMPR = derive2 { name="TRAMPR"; version="1.0-8"; sha256="0nxp8wdr7yx94fk14m0r4dh2jxcvjqp6lg02092zww5y7jlbf4ds"; depends=[]; };
   TRD = derive2 { name="TRD"; version="1.1"; sha256="0bhn4bcrq39f5dgqc74jqsfhs1iqfxhawacqqyncbk2372013nqp"; depends=[Rlab]; };
-  TRES = derive2 { name="TRES"; version="0.1.0"; sha256="0vlf0z4za2l4cllvl35cck2xgh2gfna2c3w92szw73vi4q0kflqn"; depends=[ManifoldOptim MASS mvtnorm pracma rTensor]; };
+  TRES = derive2 { name="TRES"; version="1.1.0"; sha256="0brj8wszgf9fkqfa3v0qg5wg9wi1b8k2ddixv3p29cdb57gsacdw"; depends=[ManifoldOptim MASS pracma rTensor]; };
   TROM = derive2 { name="TROM"; version="1.3"; sha256="1glbpbq8qhlxhcscgsqivmncsmadfhlsin47r9jxxd2s087cdh2f"; depends=[AnnotationDbi GO_db gplots gtools lattice openxlsx RColorBrewer topGO]; };
   TRSbook = derive2 { name="TRSbook"; version="1.0.2"; sha256="0lj20i6gybinc196nzjfi6ayzmm970s9vp43lj60v96g5dl7qv1b"; depends=[gdata IndependenceTests RColorBrewer xtable]; };
   TSA = derive2 { name="TSA"; version="1.2"; sha256="0gjfqibwdznz0nka95k4fjm935svxjpnqfywwz403crn2lh30h6q"; depends=[leaps locfit mgcv]; };
@@ -4400,16 +4551,17 @@ in with self; {
   TSsdmx = derive2 { name="TSsdmx"; version="2016.8-1"; sha256="06h1iwgshiq4bvly5l1nrddrh2knc82z2aqxh8ls9ipbs7qjsvaf"; depends=[DBI rJava RJSDMX tframe tframePlus TSdbi]; };
   TSsmoothing = derive2 { name="TSsmoothing"; version="0.1.0"; sha256="1m4y6hfw5ghqmvbnha05w6k0abbr08xdcahmh897g68b06vcrjsl"; depends=[ggplot2 gridExtra MASS Matrix]; };
   TSsql = derive2 { name="TSsql"; version="2017.4-1"; sha256="0f71q6gqfx4r3ghsmr572cvkpmf2xf7kipf10ii99z1y23dxmsdn"; depends=[DBI tframe tframePlus TSdbi zoo]; };
-  TSstudio = derive2 { name="TSstudio"; version="0.1.4"; sha256="0cc59f7zw5plyj35svh6vr3id0j8c8ywihz5ms9c1gpfiq101a9w"; depends=[bsts data_table dplyr forecast forecastHybrid future future_apply lubridate magrittr plotly purrr RColorBrewer reshape2 scales tidyr viridis xts zoo]; };
-  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.4"; sha256="0r79qbmn4z9v4f4g737xs3mhc4dp6s6llkcz6c3hihwnq1vrvd7h"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape rkt tcltk2 zoo]; };
+  TSstudio = derive2 { name="TSstudio"; version="0.1.5"; sha256="0xyvh5brfqmkhv1d65m1i5hy4b9pg08ax0nw3nbfc1qqnp4zg1jb"; depends=[bsts data_table dplyr forecast forecastHybrid future future_apply lubridate magrittr plotly purrr RColorBrewer reshape2 scales tidyr tsibble viridis xts zoo]; };
+  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.5"; sha256="1l2sc4mphk440jxc9sgryqcqr9kwh00fdizswrsria25fbg0nzl4"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape rkt tcltk2 zoo]; };
   TTCA = derive2 { name="TTCA"; version="0.1.1"; sha256="16slr4c2nwbchsg6fk5prq22p2v4cjxzk93wd3xggav2lzrf8a5h"; depends=[MASS Matrix quantreg RISmed tcltk2 VennDiagram]; };
-  TTR = derive2 { name="TTR"; version="0.23-4"; sha256="18mzyv6cmxmqyqsfwlx2b2k055887mfgc2jgj8xkn8c6m56n05zb"; depends=[curl xts zoo]; };
+  TTR = derive2 { name="TTR"; version="0.23-5"; sha256="0fxipnyxaz55n4camrk9cs71x9w4dsmjrihysv8i1s6khf825rg6"; depends=[curl xts zoo]; };
   TTS = derive2 { name="TTS"; version="1.0"; sha256="0dhxj474dqjxqg0fc2dcx8p5hrjn9xfkn0rjn2vz3js92fa9ik9h"; depends=[mgcv sfsmisc]; };
   TTmoment = derive2 { name="TTmoment"; version="1.0"; sha256="0a4rdb4fk1mqnvvz0r15kni0g5vcj4xkkcwwv7c2gxc94xh5i5ih"; depends=[mvtnorm]; };
   TULIP = derive2 { name="TULIP"; version="1.0"; sha256="0v0qnhlgj31mdl8xhhcbdlnmfcfn2scpr0bf2jxkxpyxiavqdfxy"; depends=[glmnet MASS Matrix tensr]; };
   TUWmodel = derive2 { name="TUWmodel"; version="1.0-2"; sha256="1b07isi7s22q65h9yabrz515nr4vxp2ynpl37l2lsf4mcpjjzg4x"; depends=[]; };
   TVsMiss = derive2 { name="TVsMiss"; version="0.1.1"; sha256="1lvswq3syp2mfcf0higmyg5k5qhg1q6jaz8g75az3xajn4jylm0k"; depends=[glmnet Rcpp]; };
   Table1Heatmap = derive2 { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
+  TableHC = derive2 { name="TableHC"; version="0.1.1"; sha256="16iv93ia0whx1wgq817zd1nrxfwm4d6dkw28q22vdpbppr35ccaz"; depends=[]; };
   TableMonster = derive2 { name="TableMonster"; version="1.7"; sha256="1xa4bkcpzhm50dwbpya346swjjfw46n2x26xm30p8gppilg5c0lb"; depends=[xtable]; };
   TableToLongForm = derive2 { name="TableToLongForm"; version="1.3.2"; sha256="034vca0il7006zdkh5vdfjddyq9lg5mkl8hjria2rpks6wx0jhrd"; depends=[]; };
   TailRank = derive2 { name="TailRank"; version="3.2.1"; sha256="142m0cq9j8y5g9wh4plxya1jqi0dv6p6praxx3jb84kwqspi91xr"; depends=[Biobase oompaBase oompaData]; };
@@ -4421,30 +4573,31 @@ in with self; {
   TauP_R = derive2 { name="TauP.R"; version="1.5"; sha256="02vk9rj8yx4n2pihgk93bs2f9wkpkyfqm2kp7ixj4wpa29a0iq6v"; depends=[]; };
   TauStar = derive2 { name="TauStar"; version="1.1.4"; sha256="06bb6570mqzfbjw2qp4bjl4a1bdpwsvcr0vw2y4l1x444m670ds1"; depends=[Rcpp RcppArmadillo]; };
   TaxicabCA = derive2 { name="TaxicabCA"; version="0.1.0"; sha256="0mkw7d2pksj98kyg2951achmvsr0x7f4snq0kk1s5158b5yi5npn"; depends=[]; };
-  Taxonstand = derive2 { name="Taxonstand"; version="2.1"; sha256="0dvhiqggbv1by284fg38rcvvrxr9q3zp5gh51p1dh0129h73qj7i"; depends=[pbapply]; };
+  Taxonstand = derive2 { name="Taxonstand"; version="2.2"; sha256="1cpx5mp17l9gjvb60f0ypm8r8b69ff520p67jac8y6rvw8aqhc6j"; depends=[pbapply]; };
   TcGSA = derive2 { name="TcGSA"; version="0.12.4"; sha256="1kqgmmrkwy5idr77r3grq76km6bvi2003a148kjmdmi688jjkc2g"; depends=[cluster cowplot ggplot2 gplots GSA gtools lme4 multtest reshape2 stringr]; };
   Tcomp = derive2 { name="Tcomp"; version="1.0.1"; sha256="1k0gsf3yr5n9zc2yi6szxm6s7bf61lz4fx8m3v48jlp5w900prwb"; depends=[forecast Mcomp]; };
   TeXCheckR = derive2 { name="TeXCheckR"; version="0.6.0"; sha256="1qrzslcipg3j1317dhizxhcxyx2dpx7jh91vkms10wgc6vpqgrw4"; depends=[clisymbols crayon data_table fastmatch hunspell hutils magrittr rstudioapi zoo]; };
   TeachBayes = derive2 { name="TeachBayes"; version="1.0"; sha256="1mfhlkm7wp2i4hvc63xzfyw3q4z1xhlbi933pkqkbrhih94z4rz7"; depends=[dplyr ggplot2 gridExtra LearnBayes shiny]; };
   TeachNet = derive2 { name="TeachNet"; version="0.7.1"; sha256="12kkpr96mq0jr07k7ivcmwhrfgas1qrfqfhxa4gm7vv3vkjn0gs9"; depends=[]; };
   TeachingDemos = derive2 { name="TeachingDemos"; version="2.10"; sha256="016pivvy8gzz8f3clnr5dg488rb1lf0l5s00c3v34gm1dgiw5x1f"; depends=[]; };
-  TeachingSampling = derive2 { name="TeachingSampling"; version="3.4.2"; sha256="1r06if6ljlr9i3y5ri7akris97dsjy3n3n6sgz2dvy9szm4zsadp"; depends=[]; };
+  TeachingSampling = derive2 { name="TeachingSampling"; version="3.6.0"; sha256="14afxdvcprnsp34zgmfz8c3kfac35bkm2lq73ga84xcklsiq3gaf"; depends=[]; };
   Tejapi = derive2 { name="Tejapi"; version="1.0.1"; sha256="1v80yjbik6shqad2nvi374dpzs9bjv9ah26agy0khmwnbz6029rk"; depends=[httr jsonlite]; };
   TempCont = derive2 { name="TempCont"; version="0.1.0"; sha256="1pl0czrpw74zfm5vycyl0h8hc3n5whf4g6a2759a22384gk5fq7k"; depends=[nlme]; };
   TempleMetrics = derive2 { name="TempleMetrics"; version="1.2.0"; sha256="0g8a799grsjqyq55pnlgixyq2qxhvl5k01jcjwc08q54w2dg0xf0"; depends=[BMisc pbapply]; };
   Temporal = derive2 { name="Temporal"; version="0.1.1"; sha256="0x001apiph67cyh2ckx2k9mi6jb86agnmfvn94i27q9lpy4cn1sh"; depends=[expint numDeriv plyr Rcpp RcppEigen]; };
-  Ternary = derive2 { name="Ternary"; version="1.1.1"; sha256="1l5hhr89n8yp62a5azdd2b828x48qmasspzmcrd20w5194n6jpcw"; depends=[viridisLite]; };
+  Ternary = derive2 { name="Ternary"; version="1.1.2"; sha256="0zbvgvs81ciz6qwxmmniylz5b4ci9r9zsa86b4fr36by27mafs6w"; depends=[viridisLite]; };
   TestCor = derive2 { name="TestCor"; version="0.0.1.0"; sha256="0jqx74khjw8d3gvw5kn3yqfps877043d9wa6ffb33b5x7nfnj4hj"; depends=[MASS Rcpp]; };
   TestDataImputation = derive2 { name="TestDataImputation"; version="1.1"; sha256="10b1g9m2s6nbs8lrpcx3s1jf0fmqyd07mg3vx1pnma8r3vwy1yh7"; depends=[Amelia mice]; };
-  TestDimorph = derive2 { name="TestDimorph"; version="0.2.0"; sha256="1ckcfr4il1bcjcwvri35wj1bps4nxy1s959n40mx41211khj0rz1"; depends=[caret corrplot dplyr klaR MASS mda plyr purrr reshape2 Rfast rlang rowr stringr truncnorm]; };
+  TestDesign = derive2 { name="TestDesign"; version="1.0.0"; sha256="0jl65fv5iafpnm3xbi1wf676qdyk329cqm6c9zw9gzzbwc7f2pb7"; depends=[crayon foreach logitnorm lpSolve Matrix Rcpp Rdpack]; };
+  TestDimorph = derive2 { name="TestDimorph"; version="0.2.1"; sha256="1g98f19mxr4snjzbmxscx5lqcqkf3zgg4vgrcfly9pwf0qdn7ard"; depends=[caret corrplot dplyr klaR MASS mda plyr purrr reshape2 Rfast rlang rowr stringr truncnorm]; };
   TestFunctions = derive2 { name="TestFunctions"; version="0.2.0"; sha256="018nkz8r6vqahrzq3d588i3ffb1bmd1pdk87j4ivcdsx99mq15sn"; depends=[]; };
   TestScorer = derive2 { name="TestScorer"; version="1.7.2"; sha256="006c3g3gx55mfr93srldwvgz5vm6nkr3f57yi4qg6krn0d32865f"; depends=[]; };
-  TestingSimilarity = derive2 { name="TestingSimilarity"; version="1.0"; sha256="1fagy9168cz09p460pa0qyn8m79zg4i2b9j5vg8gm1ssqi2znsl9"; depends=[alabama DoseFinding lattice]; };
+  TestingSimilarity = derive2 { name="TestingSimilarity"; version="1.1"; sha256="1iq0wh13rl6rby44ql4d286r1akzwmbpsvnq9p8lkl8709z0d34w"; depends=[alabama DoseFinding lattice]; };
   TexExamRandomizer = derive2 { name="TexExamRandomizer"; version="1.2.3"; sha256="0l0vpx4rkib2m8hwhwy9j8pqyf7gpb9qg8wpnh3238snwpadgy3a"; depends=[assertthat jsonlite Rcpp stringr]; };
-  TextForecast = derive2 { name="TextForecast"; version="0.1.1"; sha256="1d54hibsag3n85n8cbmp55mw78y6zy0h4vfq36l0qwhfdm0xxmq3"; depends=[class doParallel dplyr forcats forecast ggplot2 glmnet lars pdftools plyr pracma RColorBrewer rpart SnowballC tau text2vec tidyr tidytext tm tsDyn udpipe wordcloud]; };
+  TextForecast = derive2 { name="TextForecast"; version="0.1.2"; sha256="0yj2m22imzllz07wx04nar2mfpyl06jiq0ya1nwgaq74kaiym42p"; depends=[doParallel dplyr forcats ggplot2 glmnet Matrix pdftools plyr pracma RColorBrewer tidyr tidytext tm udpipe wordcloud]; };
   ThankYouStars = derive2 { name="ThankYouStars"; version="0.2.0"; sha256="0r77ns3102wj1wvrfsa06l427imxyfhigpbs36cdxl2j87qrjzl6"; depends=[httr jsonlite]; };
   ThermIndex = derive2 { name="ThermIndex"; version="0.2.0"; sha256="0s9d55577dq61qixwwfwmqc2k2c8my00j2ng97ng42cw0jc7aylm"; depends=[]; };
-  Thermimage = derive2 { name="Thermimage"; version="3.2.1"; sha256="1550ri4qkm7yfv6bisy5pi1cic9mjbm842nl22bsyzj1631j1f8s"; depends=[png tiff]; };
+  Thermimage = derive2 { name="Thermimage"; version="4.0.1"; sha256="021kjmy0ilg033gf9l46dqfsyd0625v21mcc3sj2smv2dipr8hwd"; depends=[png tiff]; };
   Thinknum = derive2 { name="Thinknum"; version="1.3.0"; sha256="0j48vgr4wsc2chm95aprq0xm0dk720xk5zmiijxasg92sfp0va6n"; depends=[RCurl RJSONIO]; };
   ThreeArmedTrials = derive2 { name="ThreeArmedTrials"; version="1.0-3"; sha256="06jhgl1fzvkvnhrjs4xcyw6yymwl499rw9xnfwpx44dzxi7nynxj"; depends=[MASS numDeriv]; };
   ThreeGroups = derive2 { name="ThreeGroups"; version="0.21"; sha256="0hipxa45v9ysb2qbk33kjycnvqar7bff1ajxd6fzhpc3jc9hflw4"; depends=[]; };
@@ -4453,7 +4606,7 @@ in with self; {
   ThresholdROC = derive2 { name="ThresholdROC"; version="2.7"; sha256="1r2bmik02fcrja8gl885apc0skpyw5d69y8qqphq0s1nbjq81s0n"; depends=[MASS numDeriv pROC]; };
   TickExec = derive2 { name="TickExec"; version="1.1"; sha256="0v0m0wi49yw0ply19vnirl2zwnk61sxalx24l8cadvkssgs13509"; depends=[]; };
   TiddlyWikiR = derive2 { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
-  TideCurves = derive2 { name="TideCurves"; version="0.0.3"; sha256="0wll0zbkfas6hs4h8ma5km68nv2brw1k75ngw5lrnxilya22lrgp"; depends=[chron data_table fields]; };
+  TideCurves = derive2 { name="TideCurves"; version="0.0.4"; sha256="1i5qm6wwm6m0xrmr6dvk3pn6apxxqw9hznv8vypzwnky7bizkl90"; depends=[chron data_table fields]; };
   TideHarmonics = derive2 { name="TideHarmonics"; version="0.1-1"; sha256="1g1v99gh6mns4l8ipmw7kpalbk07m92ybcqjq7b0wsjmdvs1y67s"; depends=[]; };
   TideTables = derive2 { name="TideTables"; version="0.0.2"; sha256="1grm9s9np7xs2d8gql4sgg72rxpxiidw6g1ni8q97qgqr7r3105l"; depends=[chron data_table]; };
   Tides = derive2 { name="Tides"; version="2.1"; sha256="0da3z010ali83qf8mf1znicqv8vvsa5r93mc40ax60ln2w33nlrm"; depends=[]; };
@@ -4463,18 +4616,21 @@ in with self; {
   TimeVTree = derive2 { name="TimeVTree"; version="0.3.1"; sha256="124kg9zcq4b2j4qvg9f6gykbmzf69qjnnw54nv213ip2h4rdkv32"; depends=[survival]; };
   TimeWarp = derive2 { name="TimeWarp"; version="1.0.15"; sha256="1v6f6d1h9dc8npdy0ph5hhc4jjkzh8kac48lz4ahgngi9n0xwql9"; depends=[]; };
   Tinflex = derive2 { name="Tinflex"; version="1.5"; sha256="15nbzr3q8rfrqywvlqi48r30fgq4lhlhp1fbnf12j49k6q2aixb1"; depends=[]; };
+  TipDatingBeast = derive2 { name="TipDatingBeast"; version="1.1-0"; sha256="07lw6jnr76qrxwrwv90hi5ih2xf6g4sz4hfapk5vf1y3ayfskkl0"; depends=[DescTools mclust TeachingDemos]; };
   TippingPoint = derive2 { name="TippingPoint"; version="1.1.0"; sha256="1f5bfag892yk47r1pw2rlvqz9qnkaz8radprpxh0q0knviw3f9fp"; depends=[bayesSurv ggplot2 RColorBrewer reshape2]; };
   Tlasso = derive2 { name="Tlasso"; version="1.0.1"; sha256="0flx4l7q3qndp77349ayfrszyim7mvs7yfvv3j9a1mhf3gdn9j14"; depends=[expm huge igraph rTensor]; };
   TmCalculator = derive2 { name="TmCalculator"; version="1.0.0"; sha256="067xcpik00r6cdb4q1z09dgdqacyxqg21xn9nzvqfnp6s3nw6a9s"; depends=[]; };
   Tmisc = derive2 { name="Tmisc"; version="0.1.20"; sha256="0f57wc35d2x2149y1bjswy54247wrwpvc8p77q07k1y5i71hm65k"; depends=[dplyr rstudioapi tibble]; };
   Tnseq = derive2 { name="Tnseq"; version="0.1.2"; sha256="1n76yzk15p8i5bp3k6fszmdqk2d791r4sb8hg5hb61zb92r7wqlj"; depends=[Biobase Ckmeans_1d_dp DESeq edgeR limma]; };
-  TooManyCellsR = derive2 { name="TooManyCellsR"; version="0.1.0.0"; sha256="1r3wh9hhk6yx4swgjfdsh3094yl36ld7qn1285vsixd1rdqxng44"; depends=[cowplot ggplot2 imager jsonlite Matrix]; };
+  TooManyCellsR = derive2 { name="TooManyCellsR"; version="0.1.1.0"; sha256="0cypjf4a9q2kw4gwxlr59nbwn25wrrhrcmpksxi2yhd3qhk71q8n"; depends=[cowplot ggplot2 imager jsonlite Matrix]; };
   ToolsForCoDa = derive2 { name="ToolsForCoDa"; version="1.0.2"; sha256="0x05phwm6gqw1pmars1ypg86sggflffw9g2d0lc5gfsy93nrg0rv"; depends=[calibrate HardyWeinberg MASS]; };
   TopKLists = derive2 { name="TopKLists"; version="1.0.6"; sha256="1hmm9g68scq8sqdb9axqn51p00mx6p6lw0fdgjljfi2q72xcqhq3"; depends=[gplots Hmisc]; };
   TopicScore = derive2 { name="TopicScore"; version="0.0.1"; sha256="1x6s3yn25rj8mbd25yi7f2rz0nwg8n0l1vs6r250kyjb17d2javm"; depends=[combinat Matrix quadprog RSpectra slam]; };
   TotalCopheneticIndex = derive2 { name="TotalCopheneticIndex"; version="1.0.1"; sha256="0yc21vs10rzmwx0z6d0gyyncr25835vb7wpn392csc5big6d73xc"; depends=[memoise]; };
-  TraMineR = derive2 { name="TraMineR"; version="2.0-12"; sha256="11bgksw8bps9s5kmp9kyfh3pdxbqiq1iq21jl1j7i4m62bgrwyhn"; depends=[boot cluster Hmisc RColorBrewer]; };
-  TraMineRextras = derive2 { name="TraMineRextras"; version="0.4.5"; sha256="1xi2il33qklkjviayz644iwghpak0nvzakqfaln5l8gsg33gk7lg"; depends=[cluster RColorBrewer survival TraMineR]; };
+  TouRnament = derive2 { name="TouRnament"; version="0.2.5"; sha256="09i0frzzxi5ymjlvh81rmisxh35amrvhxbkjq5351fhlpf1n977z"; depends=[]; };
+  ToxicoGx = derive2 { name="ToxicoGx"; version="0.0.1"; sha256="07xm12rkjsvf1jswad1rdl8rl0dj93d8pkcgyyal3xmzjhib78d9"; depends=[Biobase caTools CoreGx magicaxis RColorBrewer reshape2 scales SummarizedExperiment]; };
+  TraMineR = derive2 { name="TraMineR"; version="2.0-13"; sha256="13b8dmb3a9m7cj5p1a0fpz28yaql55llf7wlc00acs2jwzs776k7"; depends=[boot cluster Hmisc RColorBrewer]; };
+  TraMineRextras = derive2 { name="TraMineRextras"; version="0.4.6"; sha256="135s6aqkx18c364y9z0an0sbnwkgb2yrzxim3nd5khnbbnqdb5z2"; depends=[cluster RColorBrewer survival TraMineR]; };
   TrackReconstruction = derive2 { name="TrackReconstruction"; version="1.2"; sha256="1kpdiwwzxsdwv5255xlvcnxvnp39ky0aws41g1l5i7cpbv88kca5"; depends=[fields RColorBrewer]; };
   Trading = derive2 { name="Trading"; version="1.2"; sha256="0wlwpf1iygcs0cy7ms57b1bbp8f3s193bvc6fcm31ih5ph8pr48i"; depends=[]; };
   TrafficBDE = derive2 { name="TrafficBDE"; version="0.1.0"; sha256="1lnh9lbjxaradivnd1dkd2szggjh2r4v7klpyxb862dxsmdxxrqw"; depends=[caret data_table dplyr lubridate neuralnet RCurl zoo]; };
@@ -4491,19 +4647,20 @@ in with self; {
   TreeSim = derive2 { name="TreeSim"; version="2.4"; sha256="0nmzx2723n1f5lr951zz2ih2gnpfim5qzihlayhpf181z1qijv93"; depends=[ape geiger]; };
   TreeSimGM = derive2 { name="TreeSimGM"; version="2.3"; sha256="0qwqvmmdn290llz5hmmx2q24jjmd1bxssrslzv31kzi1yq5h6w0b"; depends=[ape TreeSim]; };
   TrendInTrend = derive2 { name="TrendInTrend"; version="1.1.2"; sha256="1kdjrzv2s5vpyg1lx6qkxj3dyi84qwhrvz17mx731f9pp70cz29j"; depends=[pROC rms]; };
+  TrendSLR = derive2 { name="TrendSLR"; version="1.0"; sha256="1x8j2dg3m7b22gva33y4s318a41wl60sz93y868z4j65hp13jb5k"; depends=[changepoint forecast imputeTS plyr Rssa tseries zoo]; };
   TriMatch = derive2 { name="TriMatch"; version="0.9.9"; sha256="17v8hdm594i9qs5hvrzb1k94wrzvx07479rmvbk4314fim27mabg"; depends=[ez ggplot2 gridExtra PSAgraphics psych randomForest reshape2 scales]; };
   TriadSim = derive2 { name="TriadSim"; version="0.1.1"; sha256="0m14k512b7q09zx51v2kxa8q9pk2i179w6ckl6jxj2acc860xw3k"; depends=[doParallel foreach snpStats]; };
   TrialSize = derive2 { name="TrialSize"; version="1.3"; sha256="1hikhw2l7d3c7cg4p7zzrgdwhy9g4rv06znpw5mc6kwinyakp75q"; depends=[]; };
   TrioSGL = derive2 { name="TrioSGL"; version="1.1.0"; sha256="0xzyv1vppw0v1xjpf83nnv1sx1xy7197ay6l7dzvr0vllappdam9"; depends=[]; };
   TripleR = derive2 { name="TripleR"; version="1.5.3"; sha256="13s1vlmr4sqa2sq2fbcld86bh3g73yb204aawbks11rjblwzvb0h"; depends=[ggplot2 plyr reshape2]; };
   TropFishR = derive2 { name="TropFishR"; version="1.6.1"; sha256="06793rgidq1hdm3jwg1fxpglf5vh7w3xbk4hzj1pgw04na464ibv"; depends=[doParallel GA GenSA Hmisc MASS msm propagate reshape2]; };
-  TruncatedNormal = derive2 { name="TruncatedNormal"; version="2.0"; sha256="10yrkpd3aslqd1q4zyi6z3qz0xdkg8dsmhlivwq40fkpw99p0bxj"; depends=[nleqslv qrng Rcpp RcppArmadillo]; };
+  TruncatedNormal = derive2 { name="TruncatedNormal"; version="2.1"; sha256="13aw1lvfq8mz91fqy65zs5aps231m9mq5v0r82c2ps72jaa7mcpw"; depends=[nleqslv randtoolbox Rcpp RcppArmadillo]; };
   Tsphere = derive2 { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; };
   TukeyC = derive2 { name="TukeyC"; version="1.3-3"; sha256="0bdnfr44hk4c1yh7i9ya95gwbwnplj3hf0k0pl1wm4ghiav39vcq"; depends=[doBy]; };
   TukeyRegion = derive2 { name="TukeyRegion"; version="0.1.2"; sha256="03lik9vkah3hjhn0l4ci95v2h4q8mnziq006idipn69l4gmnddxl"; depends=[bfp BH ddalpha MASS Rcpp rgl Rglpk]; };
   TunePareto = derive2 { name="TunePareto"; version="2.5"; sha256="0v1ylh4m5s80zp346pxxlvhm5070w83mlzfxjyp4n000c8r2nkf4"; depends=[]; };
   TurtleGraphics = derive2 { name="TurtleGraphics"; version="1.0-8"; sha256="0h77pj7rs3lrqi1y2dm1cbrmj13mjpq6y5nw8bcq0s2kbnkfw67l"; depends=[]; };
-  Tushare = derive2 { name="Tushare"; version="0.1.2"; sha256="1ai218cjw1hsxw75cc84w11y3gljccjsflwbnxp4mhr0af3lp2r3"; depends=[data_table forecast httr tidyverse]; };
+  Tushare = derive2 { name="Tushare"; version="0.1.3"; sha256="12aabkwlifc82yiym3yijpfpjhmhfwpw8mz4fb11qm6n4igr1yhg"; depends=[data_table forecast httr tidyverse]; };
   TwoCop = derive2 { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
   TwoPhaseInd = derive2 { name="TwoPhaseInd"; version="1.1.1"; sha256="0xsqiq4x7vmhif9j8zi1smbchwm4fsbgb10i4vxi0biijybizk9z"; depends=[survival]; };
   TwoRegression = derive2 { name="TwoRegression"; version="0.1.2"; sha256="0qr9zrfmbh4c4207gvwa384q5njjx6nsl6lc58d25m8bkfalifpi"; depends=[data_table dplyr magrittr seewave]; };
@@ -4512,8 +4669,8 @@ in with self; {
   UBCRM = derive2 { name="UBCRM"; version="1.0.1"; sha256="1h9f8wlxdgb67qqqnfhd9gfs4l2cq84vajhcb0psva0gwdd1yf6i"; depends=[]; };
   UBL = derive2 { name="UBL"; version="0.0.6"; sha256="0238irg7r3g248h4x4bdb308wvfqq99hwykywf4k2bssdd25kwjk"; depends=[automap gstat MBA randomForest sp]; };
   UCR_ColumnNames = derive2 { name="UCR.ColumnNames"; version="0.1.0"; sha256="1nwwq93f60r9aik51l7mzckg81f81nz5kgzynyzp5sm4y2wmpzwn"; depends=[]; };
-  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="0.2.0"; sha256="04v5px1ph8529xn93bhr2r6kmfdr96xzbp3wnyr6i3a9rf3kdlb0"; depends=[dplyr DT ggplot2 ggpubr magrittr plotly RColorBrewer shiny shinyBS shinyjs shinythemes tibble UCSCXenaTools zip]; };
-  UCSCXenaTools = derive2 { name="UCSCXenaTools"; version="1.2.5"; sha256="1l7jblnwsywmkmjb7iqzyv0hbr9ldls374hcz4wynw1fbl66zk94"; depends=[dplyr httr jsonlite magrittr readr rlang]; };
+  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="0.4.0"; sha256="1m67ahh2k0mc8215nnb32r8nf9niax7y5nn3qpwg1fcav7g9ns66"; depends=[dplyr DT ggplot2 ggpubr magrittr plotly RColorBrewer shiny shinyBS shinyjs shinythemes shinyWidgets tibble UCSCXenaTools zip]; };
+  UCSCXenaTools = derive2 { name="UCSCXenaTools"; version="1.2.9"; sha256="10f3rll9sf9792r8lbnbgx93f657ijwapi0xcam8liwvjl5q1qm8"; depends=[dplyr httr jsonlite magrittr readr rlang]; };
   UKgrid = derive2 { name="UKgrid"; version="0.1.1"; sha256="1p2s49lj1b2nyp8m8mif8cfsgxli8ii649gix1hlyn73gzrm8mjj"; depends=[data_table dplyr lubridate magrittr rlang xts zoo]; };
   UNCLES = derive2 { name="UNCLES"; version="2.0"; sha256="0c61sm09dh0yfrjrjjnizg7qrf8xgc1zdldwhjh64kq8k8g5wa69"; depends=[class kohonen pdist]; };
   UNF = derive2 { name="UNF"; version="2.0.6"; sha256="0sr740dhfp7z9wvhajww43g5gz79x5y5dbflw5a813jgmiqm1jyq"; depends=[base64enc digest]; };
@@ -4533,13 +4690,13 @@ in with self; {
   Umatrix = derive2 { name="Umatrix"; version="3.1"; sha256="131j7yrb0yzffl6gvirdj29zmsbwg8163i15gg9f0clfcrl1kcx6"; depends=[abind AdaptGauss deldir fields geometry ggplot2 pdist plyr png Rcpp reshape2 shiny shinyjs]; };
   Umoments = derive2 { name="Umoments"; version="0.1.0"; sha256="0vgfvfb7ggi353scg4a2kbwagazn7qfyvi3mjn7c9cprcx0w0136"; depends=[]; };
   Umpire = derive2 { name="Umpire"; version="1.3.7"; sha256="1yg1vrz36jgni7pkl4ch095ckcdx177j2w28zb7s8scjpvm20h3z"; depends=[]; };
-  UncDecomp = derive2 { name="UncDecomp"; version="0.0.4"; sha256="1v29y64jm3axllwy0cgmyki6ii3ph2zyvcgbzv1pdrgxgj14qhck"; depends=[]; };
+  UncDecomp = derive2 { name="UncDecomp"; version="1.0.1"; sha256="1m44pgk7nffay09m4gkwb0khq0qjd7bq1p72blsmib46wmnwqfsa"; depends=[dplyr ggplot2]; };
   UncerIn2 = derive2 { name="UncerIn2"; version="2.0"; sha256="08cg7armz9xwwn1222aws98cwrvmw0s73pxpnszmrmrli1qs92k1"; depends=[automap fields geoR gstat RandomFields Rcpp sp]; };
   UncertainInterval = derive2 { name="UncertainInterval"; version="0.5.0"; sha256="11vwf45bhgzzriwjjzjvbbwpzknbf6xl5s9ng7gxh58q20jy038j"; depends=[nloptr reshape2 rootSolve zoo]; };
   UniDOE = derive2 { name="UniDOE"; version="1.0.2"; sha256="14jz4acrvbv59sbr7gya8g0z749vv0i04gl5wl0y4218byjvw6bs"; depends=[Rcpp]; };
   UniIsoRegression = derive2 { name="UniIsoRegression"; version="0.0-0"; sha256="0lmrmb9sbk41ak7sbcrzhfnijb1skgb4lqg9m9imc98lcp69h7z0"; depends=[Rcpp]; };
   Unicode = derive2 { name="Unicode"; version="12.0.0-1"; sha256="1wpzj5jwmb9d9iz1xvgn8mc2xjri28g97k4lpafybb1v4xnxqk54"; depends=[]; };
-  UniprotR = derive2 { name="UniprotR"; version="1.0.1"; sha256="03r375cy36vjlcksvjwhrgi2vh6gvycbp9ml5x0jmgfi729drdqd"; depends=[ggplot2 httr magick plyr scales]; };
+  UniprotR = derive2 { name="UniprotR"; version="1.2.2"; sha256="0d97ivbg87kpkvi2k9llagckr42qjyibzspi6a8sfzc5j8n0cqm6"; depends=[alakazam data_tree dplyr ggplot2 ggpubr gridExtra httr magick magrittr plyr scales tidyverse]; };
   UnitCircle = derive2 { name="UnitCircle"; version="0.1.3"; sha256="0z5ssps8l5ka4aw4984qml15scw4pfssara5dls82afhfhpkszsr"; depends=[]; };
   UnivRNG = derive2 { name="UnivRNG"; version="1.2"; sha256="0cx6bdzzypxnaqi4wkb20saqd5sfa2rga5cqh694l70vj9c3zw26"; depends=[]; };
   UpSetR = derive2 { name="UpSetR"; version="1.4.0"; sha256="007i0njnjjy7vbrxabwav7a1kk2n0hn2mkvqsdzzfk10ckp5y7im"; depends=[ggplot2 gridExtra plyr scales]; };
@@ -4548,17 +4705,18 @@ in with self; {
   V8 = derive2 { name="V8"; version="2.3"; sha256="1cq5snck0hnjwchy92g5ysdabf70i5hjw3r3401sqv6nq5rdf87p"; depends=[curl jsonlite Rcpp]; };
   VAR_etp = derive2 { name="VAR.etp"; version="0.7"; sha256="0py5my3ilhcmz44m15hh0d219l9cz7rda4a9gbmf8wh9cgvvj1s3"; depends=[]; };
   VARSEDIG = derive2 { name="VARSEDIG"; version="1.9"; sha256="18j73wm22bjvf2y0c09bfmdyx4x2gd0jhfcqhbk1sgsk24zjr63z"; depends=[]; };
+  VARshrink = derive2 { name="VARshrink"; version="0.3.1"; sha256="09hysmxxawcbyfx6bia546aqydryl2r5p3ai7bvl6ghdckw5mnpl"; depends=[ars corpcor MASS mvtnorm strucchange vars]; };
   VARsignR = derive2 { name="VARsignR"; version="0.1.3"; sha256="09mnf9hvsi4wx1c81yq97mzggwk6s7nka7awrws63icjybqjmra9"; depends=[HI minqa mvnfast]; };
   VARtests = derive2 { name="VARtests"; version="2.0.5"; sha256="0gmm2qrrl4v5vx0nhiwq5brvanhybpb2q0zlf4dihramhjjbwyar"; depends=[Rcpp RcppArmadillo sn]; };
   VBLPCM = derive2 { name="VBLPCM"; version="2.4.5"; sha256="1q5n87zzakdv0mflgsy6a5lc25ryjm7h90i3nr0dvccd0l8d4wpm"; depends=[ergm mclust network sna]; };
   VBTree = derive2 { name="VBTree"; version="0.1.0"; sha256="0g0lyvclnfmd3zc8yhcibhli0hyxrba6wb3hx039fsg80q7y02h4"; depends=[tensorA]; };
-  VCA = derive2 { name="VCA"; version="1.4.0"; sha256="076li3bd192lyg9hpcj391sg38jnr6mm8br550l31lqkz9f4nifn"; depends=[lme4 Matrix numDeriv]; };
+  VCA = derive2 { name="VCA"; version="1.4.1"; sha256="0987c3xciijsnv57jfgdw0g0b9x97b1290bwzpa3j4ny42yrgndc"; depends=[lme4 Matrix numDeriv]; };
   VDAP = derive2 { name="VDAP"; version="2.0.0"; sha256="134x4aisaim72xkyzb1vb8vhl2m4i12yzh6cj858a1ag7b0ing3n"; depends=[drc ggplot2 reshape2 stringr]; };
   VDJgermlines = derive2 { name="VDJgermlines"; version="0.1"; sha256="1aqjhkcj3bd5hk7iz0f2cy5nfp23gvhqsmg6nzlxd9klwc6xpq2h"; depends=[ape stringdist]; };
   VDSPCalibration = derive2 { name="VDSPCalibration"; version="1.0"; sha256="1hrmmhvk3mhd3bdl0msnm5shcj4cjgd3pn1rkfkv8fh4llqvz7w8"; depends=[]; };
-  VFP = derive2 { name="VFP"; version="1.0"; sha256="1gkpqxmxyv1hdaxk5yi3cd1k9q246q5gj9xhfnc87dp60rfg8p8f"; depends=[gnm MASS]; };
+  VFP = derive2 { name="VFP"; version="1.1"; sha256="0ffx57a1nkdc9p39a946ga9rxpc48f9r7xprxahmmdwiqp5d9m54"; depends=[gnm MASS]; };
   VFS = derive2 { name="VFS"; version="1.0.2"; sha256="1b8sl8id2gj4iqkpjzd3giybbix2jvskwsbw1kqj3zqr77hygxwg"; depends=[e1071 nleqslv]; };
-  VGAM = derive2 { name="VGAM"; version="1.1-1"; sha256="0lnsqx3q3k0c7sj8gj0n6shn2fyxwrh8xph8h1r1i23ybbb2n6fy"; depends=[]; };
+  VGAM = derive2 { name="VGAM"; version="1.1-2"; sha256="0kyan3a4ys2xbg9kf167cyf1gk7g963id62cjm2ij4i7y4wi61zq"; depends=[]; };
   VGAMdata = derive2 { name="VGAMdata"; version="1.0-3"; sha256="1jicadjaqmys1bbgkp64hmm8wwmi6f734il00v8qjz3jl9b02pkn"; depends=[]; };
   VGAMextra = derive2 { name="VGAMextra"; version="0.0-1"; sha256="0rlj4q6ry6v3fnpmg4s33ynn7qzs5m98csap55nyn6r9ynrh5gk5"; depends=[VGAM]; };
   VHDClassification = derive2 { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
@@ -4572,13 +4730,15 @@ in with self; {
   VLF = derive2 { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
   VLMC = derive2 { name="VLMC"; version="1.4-3-1"; sha256="0cwfpxcj8g68j9z9fl66i0amj8ypf199iv3yyxzsmniqv4w5x4ar"; depends=[MASS]; };
   VNM = derive2 { name="VNM"; version="7.1"; sha256="19qglcibb7r6jjz0n0piklwfv3hi4jphd6vmyfbm0ccjjkmn5nin"; depends=[Rcpp]; };
+  VOSONDash = derive2 { name="VOSONDash"; version="0.5.1"; sha256="1mg38fh7rrf1b2madk7lqqg0rmkh73hl20f920b4pdggqnrpmqq6"; depends=[httpuv httr igraph lattice magrittr RColorBrewer rtweet shiny syuzhet tm vosonSML wordcloud]; };
   VRPM = derive2 { name="VRPM"; version="1.2"; sha256="1cai5a71vzkx0d7cwzsxbcz7r9cdkqjk4l4bp2ffj5pp7nrlh15r"; depends=[fields ggplot2 Hmisc kernlab R2HTML ROCR shiny survival viridis]; };
   VSE = derive2 { name="VSE"; version="0.99"; sha256="07m5080nw72b77238v2wwdh4dxsvv6y78d4j1329n90wyj2crxl4"; depends=[car GenomicRanges igraph IRanges]; };
   VSURF = derive2 { name="VSURF"; version="1.1.0"; sha256="1azfd4sb89mp27l86k293qj81x94gfiy1ihwnb6c558p8h69xsgf"; depends=[doParallel foreach randomForest ranger Rborist rpart]; };
   VTShiny = derive2 { name="VTShiny"; version="0.1.0"; sha256="1zq6irla3q7hqs8jpjdya7vy3frqrj72rwmd1sgxwrkgpmpxw6x7"; depends=[EnvStats rmarkdown shiny]; };
   VTrack = derive2 { name="VTrack"; version="1.21"; sha256="1acf2b8zy72shc4768rhikfa3590h3l3nwk32jk7pwsms0nb87rf"; depends=[checkmate doParallel foreach gdistance gstat Hmisc intervals lubridate plotKML plyr raster sp spacetime XML]; };
-  VWPre = derive2 { name="VWPre"; version="1.2.0"; sha256="1s9fc86gr8yf8h53sz8gg4dhm2vqxwpp42symsmy2xscrjavd7ph"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
+  VWPre = derive2 { name="VWPre"; version="1.2.1"; sha256="05l3dlzryv68yk9za1vrbd4acn988s8ppkqj0i9kd88s8grjyj1d"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
   VaRES = derive2 { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
+  VancouvR = derive2 { name="VancouvR"; version="0.1.1"; sha256="1nzjdassan5kh7wk3xf6kry4jifgjn0gan61ibwhyzy1awpcfngv"; depends=[digest dplyr httr purrr readr rlang sf tibble urltools]; };
   VarBundle = derive2 { name="VarBundle"; version="0.3.0"; sha256="0jfx9gkb3f29lgc0nrz3xc7m2ham0scx9lay7x5a6ira7crga6cr"; depends=[crayon dplyr glue magrittr R6 stringr tibble]; };
   VarED = derive2 { name="VarED"; version="1.0.0"; sha256="16j9p2a143y4hqclsv1mig0fccrzjx2r0lll0wz8isjp9x1wzjv8"; depends=[]; };
   VarReg = derive2 { name="VarReg"; version="1.0.2"; sha256="04235hr0r6sp7r3ccvcfb8l6p8yapcdrn6zl7mmvbyc4qb70gawh"; depends=[sn survival]; };
@@ -4596,14 +4756,13 @@ in with self; {
   VertexSort = derive2 { name="VertexSort"; version="0.1-1"; sha256="0n9m5l85ylin6756rsksak94nv0626qd7czhhj6plz4nfrr27sgl"; depends=[igraph snowfall]; };
   VeryLargeIntegers = derive2 { name="VeryLargeIntegers"; version="0.1.6"; sha256="1ccl4j3vb6aw1qfbqil67dy74daldajwzm7s5hqcidm73fd0wknc"; depends=[Rcpp]; };
   VetResearchLMM = derive2 { name="VetResearchLMM"; version="1.0.0"; sha256="1a7wm04bsr5shak7l8ypxlhlnx3qkq1jdpjnji1n05p6b00ih9h1"; depends=[ggplot2 lme4 lmerTest multcomp nlme]; };
-  ViSiElse = derive2 { name="ViSiElse"; version="1.2.1"; sha256="14vv25wnqcplf7k0ybfdlcvyhnja0h0kvz39yzlh2qkavjvdaf2y"; depends=[chron colorspace Matrix stringr]; };
-  VineCopula = derive2 { name="VineCopula"; version="2.2.0"; sha256="12p1bmp3b5vm0zfmwhbjj5gbmp0gf1ad7dcyzk6lda3zqkvfyfmi"; depends=[ADGofTest copula doParallel foreach kdecopula lattice MASS mvtnorm network]; };
-  VisuClust = derive2 { name="VisuClust"; version="1.2"; sha256="0hnjmrz352950rzky88q4nwvkx7zp6x3lsm7kff5dl4w05iq4wsl"; depends=[aplpack]; };
+  ViSiElse = derive2 { name="ViSiElse"; version="1.2.2"; sha256="1ay09dahlqnfrgf4gl4s45a4ahrk2xliagxqz5h826w2vzsawqcc"; depends=[chron colorspace ggplot2 Matrix reshape2 stringr]; };
+  VineCopula = derive2 { name="VineCopula"; version="2.3.0"; sha256="0w9lpdb9mjia2vg9h4v418g8zw8xfq83hmih37hf3yp7p88vja1k"; depends=[ADGofTest lattice MASS mvtnorm]; };
   Voss = derive2 { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; };
   VoxR = derive2 { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; };
   W2CWM2C = derive2 { name="W2CWM2C"; version="2.0"; sha256="139rbbhshiap3iq4s4n84sip3cwwjn2x7lm7kmzwj5glhl5dc6ga"; depends=[colorspace wavemulcor waveslim]; };
   W3CMarkupValidator = derive2 { name="W3CMarkupValidator"; version="0.1-6"; sha256="0nfay5nqss3zlw4nikj8h3zzlnjfxjch4pm3qky15qrcigrybrbl"; depends=[curl xml2]; };
-  WARN = derive2 { name="WARN"; version="1.2-3"; sha256="0vkp70cc3slz9y8qfybrqyjyglsxz9fnqrid735h2a113h4xvr3v"; depends=[MASS]; };
+  WARN = derive2 { name="WARN"; version="1.2-4"; sha256="18gfk9vqcqarj7j5i240wqv2dclg3csng4mih5izj40xaaxaf6q5"; depends=[MASS]; };
   WCE = derive2 { name="WCE"; version="1.0.2"; sha256="105pwpd9ikm0gwz4r12jl6cgs1riwsk9pn5qk9cn3msgwa0sdynx"; depends=[plyr survival]; };
   WCM = derive2 { name="WCM"; version="0.2.1"; sha256="0d2yw6kzn7mvxwllxfbk6vfiy8l1fd7ggjgi92kjn0j0y66cadw4"; depends=[pracma raster]; };
   WCQ = derive2 { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
@@ -4611,40 +4770,41 @@ in with self; {
   WEE = derive2 { name="WEE"; version="1.0"; sha256="0i3h67p72lr708mwdw3rbzr1lqqr8n2dxv7f0bwyqzxv41sx1iz3"; depends=[doParallel foreach quantreg]; };
   WGCNA = derive2 { name="WGCNA"; version="1.68"; sha256="1s7gy5vd7x67hpgli8r7ba2z99w3psiyv5hqmrh94zw141dg210a"; depends=[AnnotationDbi doParallel dynamicTreeCut fastcluster foreach GO_db Hmisc impute matrixStats preprocessCore Rcpp robust survival]; };
   WGScan = derive2 { name="WGScan"; version="0.1"; sha256="0jma6di9hbdimswdfm58568vahcjy46hbhb78idjsdz4bl9apvq3"; depends=[data_table MASS Matrix seqminer SKAT]; };
-  WHO = derive2 { name="WHO"; version="0.2"; sha256="0rpk7ddpkjcqs0m7cgxs55k178js0d70ccfximp2vqrsw0igkmk9"; depends=[dplyr httr]; };
   WLreg = derive2 { name="WLreg"; version="1.0.0"; sha256="0paghjcshhrr6y1gm98d6gr78zvgzhl678g9f96hppfa4q3lfpr7"; depends=[inline survival]; };
   WMCapacity = derive2 { name="WMCapacity"; version="0.9.6.7"; sha256="167wx759xi7rv74n6sdsdkjnfpxdsiybk4ik70psdgfwdqqcga1y"; depends=[cairoDevice coda gtools gWidgets gWidgetsRGtk2 RGtk2 XML]; };
   WMDB = derive2 { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; };
   WMWssp = derive2 { name="WMWssp"; version="0.4.0"; sha256="16m4hvjqdcpkvswvqwgm0pq9nm7vjrlqldzi4i69izlwccp37v47"; depends=[]; };
   WPC = derive2 { name="WPC"; version="1.0"; sha256="0li502hwa4n945yfnilslyvl12ls66kazbfmxb4kkjbaf500mjp9"; depends=[msm survival]; };
   WPKDE = derive2 { name="WPKDE"; version="0.1"; sha256="100vla11fbw16x5n4w4kbslz4n725v4x6j0hrxzrk99ryl0crmf6"; depends=[]; };
+  WR = derive2 { name="WR"; version="0.1.0"; sha256="00781l9rmfm8sqsmhqn59ihw3jsjphg8jnvk34bzh6aaxzdfybm9"; depends=[survival]; };
   WRS2 = derive2 { name="WRS2"; version="1.0-0"; sha256="1ax7lchbg0f5miq5779p1zmk6pw36hvwwmbpvsfqwahl5wlvii0s"; depends=[MASS mc2d plyr reshape]; };
-  WRSS = derive2 { name="WRSS"; version="2.3"; sha256="182753820fjwl544sv7rhkjsdy268r8fgspyq88brqlpfj7k6rdw"; depends=[GGally ggplot2 Hmisc network nloptr]; };
-  WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.1"; sha256="0q2rdzbz3cbgr19sh9j3fqdn0lvwrq93qq2rjmnhx6ia9avkywa8"; depends=[caret dplyr fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
-  WVPlots = derive2 { name="WVPlots"; version="1.1.1"; sha256="0922r7h03aczhqjw20djc6nwvmj7rq8dbhk2752jv3ndjdl5ywlw"; depends=[cdata ggplot2 gridExtra mgcv sigr wrapr]; };
+  WRSS = derive2 { name="WRSS"; version="3.0"; sha256="16a7i6glgl5cshsn3w7gxviybmka06ylw5znz94gigyx0vhgv97p"; depends=[GGally ggplot2 Hmisc network nloptr]; };
+  WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.2"; sha256="1ssrqqf2hypif4nnfyl4lq03glyyg9ry9s14llf1njxamhjggfgg"; depends=[caret dplyr fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
+  WVPlots = derive2 { name="WVPlots"; version="1.2.2"; sha256="0r8hsjx9d6qw7iih63gr5aj94dhvgmjxwz6ddx7qsa7vqy9hy7da"; depends=[cdata ggplot2 gridExtra mgcv rqdatatable rquery sigr wrapr]; };
   WWGbook = derive2 { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
   WWR = derive2 { name="WWR"; version="1.2.2"; sha256="0ia1dd12r1l08s9nhgvk55jmqwv58jawm25gd2ni6wpa3mcmq02g"; depends=[inline]; };
   WaMaSim = derive2 { name="WaMaSim"; version="1.0.0"; sha256="0sa7qd2bpn3sp06mlpissxxkfhg7j1d07nnwlnz7nyg7pivwnpan"; depends=[magrittr]; };
-  WaterML = derive2 { name="WaterML"; version="1.7.1"; sha256="0aqcanq2l3m9w1kglmkbqshs80wx9inmjp0c1i2j901g4k35ss5j"; depends=[httr RJSONIO XML]; };
   Watersheds = derive2 { name="Watersheds"; version="1.1"; sha256="1gn52nl0rr29pqq94gjasc4fi1kjxlrpjdkgm2x56j5jbd162drk"; depends=[lattice maptools rgeos sp splancs]; };
   WaveLetLongMemory = derive2 { name="WaveLetLongMemory"; version="0.1.2"; sha256="1p9ld6w2qgbvkvp7xkzzd14v89rxcwl6vlr1zgxkpc5awl1ln1a8"; depends=[fracdiff wmtsa]; };
+  WaveSampling = derive2 { name="WaveSampling"; version="0.1.0"; sha256="1xyi4aj2l9bjj6f2y11wl29rabhzmkdph1bd8jh8jwwf2p3502wh"; depends=[Matrix Rcpp RcppArmadillo]; };
   WaveletANN = derive2 { name="WaveletANN"; version="0.1.0"; sha256="08qnx0lk2laiyx1q1wxj15j0yic65r7mbhr6lqbdllq30v4dcj88"; depends=[forecast fracdiff wavelets]; };
   WaveletArima = derive2 { name="WaveletArima"; version="0.1.1"; sha256="19hz2q280m41qh3m9lx3i9p6p5fl6pw8r9b06xk6sn04hxbim8xx"; depends=[forecast fracdiff wavelets]; };
   WaveletComp = derive2 { name="WaveletComp"; version="1.1"; sha256="07w2aa0jiflvxyqhgh48705hg8hjspd103jd00i2pcw2v42hwmf8"; depends=[]; };
+  WaveletGARCH = derive2 { name="WaveletGARCH"; version="0.1.0"; sha256="1sgpwdhg7snm0in93ky7jv8lgynnxwlmpgznyj747j7jl9cxz5qn"; depends=[FinTS forecast fracdiff rugarch wavelets]; };
   WaverR = derive2 { name="WaverR"; version="1.0"; sha256="084fhzggzm075w6wp2lqd3j0an21idhw8z5l8ynz4y96mpmn204a"; depends=[kimisc MASS]; };
   WeMix = derive2 { name="WeMix"; version="3.1.1"; sha256="0hg7ib3spfd5fp71gfbrh234wxinv3xswyaxb4gzd8342qg2xxhk"; depends=[lme4 Matrix minqa NPflow numDeriv Rmpfr statmod]; };
-  WebGestaltR = derive2 { name="WebGestaltR"; version="0.4.1"; sha256="1xr4qxrp98jawmpw9k2nlbl4qr8ydgm2krmf606ybjrng8l8mdzn"; depends=[apcluster doParallel doRNG dplyr foreach httr igraph jsonlite Rcpp readr rlang whisker]; };
+  WebGestaltR = derive2 { name="WebGestaltR"; version="0.4.2"; sha256="0in0v19ns4ngnf89m4gxfpqqhnh2vp4h9cf8zcn8pgvr8nzd6f49"; depends=[apcluster doParallel doRNG dplyr foreach httr igraph jsonlite Rcpp readr rlang whisker]; };
   WebPower = derive2 { name="WebPower"; version="0.5.2"; sha256="11255q41zai4q6n2mpk3fzhi2lyyr3g8dxqfajkb93f68m1b38jp"; depends=[lavaan lme4 MASS PearsonDS]; };
   WeibullFit = derive2 { name="WeibullFit"; version="0.1.0"; sha256="1a80gcqbmvb1rz2dr2syy16wn6ixjn6l40gayys9zy8302hky9ir"; depends=[e1071 FAdist glue kSamples mixdist optimx R_methodsS3 R_oo sqldf xtable]; };
-  WeibullR = derive2 { name="WeibullR"; version="1.0.10"; sha256="1h2w1rgap9yjns7cby0559jwzzwhzjq1h6lwsawrfnni7c36iliq"; depends=[Rcpp RcppArmadillo]; };
-  WeightIt = derive2 { name="WeightIt"; version="0.5.1"; sha256="16gj7ynk4l67z7fjc345211hgqwxbdb6z1bpy27z5s4i7x4fyf8y"; depends=[cobalt]; };
+  WeibullR = derive2 { name="WeibullR"; version="1.0.12"; sha256="0rj4q9hd49b914lz8q1d8n96xrl0h29avn95aigb3z7f8knf7g9g"; depends=[Rcpp RcppArmadillo]; };
+  WeightIt = derive2 { name="WeightIt"; version="0.7.1"; sha256="1wzazasnb24zpbsybb1jafzm3bdzmnk8nc09nflfiwwpmysfckax"; depends=[ggplot2]; };
   Weighted_Desc_Stat = derive2 { name="Weighted.Desc.Stat"; version="1.0"; sha256="030i12mnwlj976avvk3grrccgprsckmc35dm2ajwdfc9dijhypnj"; depends=[]; };
   WeightedCluster = derive2 { name="WeightedCluster"; version="1.4"; sha256="05rmqhgfzh9fs4c1lhmrbk8s46ihaywy7n9qnivf7zcxxzxds0lj"; depends=[cluster RColorBrewer TraMineR]; };
   WeightedPortTest = derive2 { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
-  WeightedROC = derive2 { name="WeightedROC"; version="2018.10.1"; sha256="1hdksd47pkky83g6hn6123f243yw3bzrlaibdgr2kd5kxn9rma3y"; depends=[]; };
+  WeightedROC = derive2 { name="WeightedROC"; version="2019.11.12"; sha256="1zznzvd2nlxq3c5gr88f6midglavmk6368wfqdbg7bwvfxsccgbz"; depends=[]; };
   WgtEff = derive2 { name="WgtEff"; version="0.1.2"; sha256="1z8pndv43ssgmzldwaq0088lmf1g2mkmrbmzyaismcpngn9fqxsk"; depends=[]; };
   WhatIf = derive2 { name="WhatIf"; version="1.5-9"; sha256="0ihpp3wbhpsg00g0s31l0ca4q0a2sch2a2j8cgz14g8na43x8831"; depends=[lpSolve pbmcapply Zelig]; };
-  WhiteStripe = derive2 { name="WhiteStripe"; version="2.3.1"; sha256="1qyv06ai83b1idfg4bgr97askyzlwi2dv8d5wkivb5czp7crdri1"; depends=[mgcv oro_nifti]; };
+  WhiteStripe = derive2 { name="WhiteStripe"; version="2.3.2"; sha256="0kzwglaazn820fzxd2g1fsiw2rnq0qxagns8b5mm3inflsgs35ng"; depends=[mgcv oro_nifti]; };
   WhopGenome = derive2 { name="WhopGenome"; version="0.9.7"; sha256="1xa7d9x5ny8g79scfkv7v5ix9m3mfzg0fks2bsan9zqyhcd01fsq"; depends=[]; };
   WiSEBoot = derive2 { name="WiSEBoot"; version="1.4.0"; sha256="1fch78884ay7m2gy602k8df78gkvjiwzkjk550w0k4xbv430ld0h"; depends=[FAdist wavethresh]; };
   WikidataQueryServiceR = derive2 { name="WikidataQueryServiceR"; version="0.1.1"; sha256="1bqgp3wldfmnwwh9llig8xpa4x0rcp1hcwyw7d7pw4ym61b2v65x"; depends=[dplyr httr jsonlite]; };
@@ -4677,6 +4837,7 @@ in with self; {
   Xmisc = derive2 { name="Xmisc"; version="0.2.1"; sha256="11gwlcyxhz1p50m68cnqrxmisdk99v8vrsbvyr7k67f0kvsznzs1"; depends=[]; };
   Xplortext = derive2 { name="Xplortext"; version="1.2.1"; sha256="1c19i367vbcf8ikb364kz8488lcd5ignyagg9bhza282grhla7kn"; depends=[FactoMineR flashClust flexclust ggdendro ggplot2 gridExtra MASS slam stringi stringr tm]; };
   YPInterimTesting = derive2 { name="YPInterimTesting"; version="1.0.3"; sha256="0fca963rsbs9k7ivffsqk4hzap6ll7s709kqs6aby0plghrdla2w"; depends=[MASS Rcpp]; };
+  YPPE = derive2 { name="YPPE"; version="1.0.0"; sha256="04rqirwh2al67lvlva68cab9slic9nqgj27mbsb14rb5i6f8mcfw"; depends=[BH Formula Rcpp RcppEigen rstan rstantools StanHeaders survival]; };
   YPmodel = derive2 { name="YPmodel"; version="1.3"; sha256="1vll33nm7xynnbq15wksk9c38jhjfd6l1bbzijn5skqc5yik1r5x"; depends=[]; };
   YRmisc = derive2 { name="YRmisc"; version="0.1.5"; sha256="0vdxw67j4sx3m713s2spvj7jlk9h2g9hg4169zabfah8ni7gdman"; depends=[ggplot2 gridExtra robust]; };
   YaleToolkit = derive2 { name="YaleToolkit"; version="4.2.2"; sha256="12wggdyz0wgnmxnqhp8bypyy1x1p50g49fwdzl2l43il44cdyv0g"; depends=[foreach iterators]; };
@@ -4686,6 +4847,7 @@ in with self; {
   ZIBBSeqDiscovery = derive2 { name="ZIBBSeqDiscovery"; version="1.0"; sha256="12g9rga9z6318ni6x6q9hdqlgl93y2xn8vf3gc6sm97fz8pliswx"; depends=[mcc]; };
   ZIBseq = derive2 { name="ZIBseq"; version="1.2"; sha256="13rjy4jl9wil6hhpra4qmdis0iyqxchzsf9l7q6r0dz1f7dpd2nq"; depends=[gamlss gamlss_dist nlme]; };
   ZIM = derive2 { name="ZIM"; version="1.1.0"; sha256="0scyfjn4ilsvha3x41c3b8bcfi31hlhwm77wn2a8hj5dsvnnmzig"; depends=[MASS]; };
+  ZIPFA = derive2 { name="ZIPFA"; version="0.8.0"; sha256="0dx0v01sc769lqvkrk9fyhlifiif2xva20m2d9p341cgzp5875c6"; depends=[doParallel foreach Matrix optimx trustOptim]; };
   ZOIP = derive2 { name="ZOIP"; version="0.1"; sha256="0fraxzr2mfd7w705j2fryhh9vpg6nkag6kmk7p7in3zknxwipfh3"; depends=[boot GHQp numDeriv rmutil]; };
   ZRA = derive2 { name="ZRA"; version="0.2"; sha256="1sx1q5yf68hhlb5j1hicpj594rmgajqr25llg7ax416j0m2rnagi"; depends=[dygraphs forecast]; };
   ZVCV = derive2 { name="ZVCV"; version="1.0.0"; sha256="1npw836q2skx54843lgxvb0rfwafckjc8k8dljykm60ad3z7zak8"; depends=[abind glmnet mvtnorm partitions Rcpp RcppArmadillo]; };
@@ -4701,37 +4863,41 @@ in with self; {
   aLFQ = derive2 { name="aLFQ"; version="1.3.5"; sha256="139fyb1zqr4ws2xkkv9i35m8pqmggyfig6mq2sgb84fkin7mgwfb"; depends=[bio3d caret data_table lattice plyr protiq randomForest reshape2 ROCR seqinr]; };
   aMNLFA = derive2 { name="aMNLFA"; version="0.1"; sha256="0sj6rxsdib5zmz78c94bjdlcdwhfkvbc7sp3pncj6vsvvzgqcjdp"; depends=[devtools ggplot2 gridExtra MplusAutomation plyr reshape2 stringr]; };
   aRpsDCA = derive2 { name="aRpsDCA"; version="1.1.1"; sha256="0ghg43rd6bnv4jp8pkpd1ixp5l6kq5pr0mxq61q24s24g0m3s64p"; depends=[]; };
-  aRxiv = derive2 { name="aRxiv"; version="0.5.16"; sha256="1dghv40waprld9gg81p2is72sk0z6fla0pfiqzzfhky8lazaih01"; depends=[httr XML]; };
+  aRxiv = derive2 { name="aRxiv"; version="0.5.19"; sha256="0rik0jkh1xi9fizzw46xmcw139g6nla072p7f8jgvzbhp7k58ba2"; depends=[httr XML]; };
   aSPC = derive2 { name="aSPC"; version="0.1.2"; sha256="1q301rw7dax5v58srg4jlcam1qq2igkaj7kg8wlnlml0hsck4c4a"; depends=[energy mvtnorm]; };
   aSPU = derive2 { name="aSPU"; version="1.48"; sha256="0kjvwwvyhiz9i5kxqg68lq6cvxnk9vzvp5zca5hfv2g77j42wh9h"; depends=[fields gee MASS matrixStats mvtnorm]; };
   aTSA = derive2 { name="aTSA"; version="3.1.2"; sha256="1p3spas0sxj08hkb8p6k2fy64w86prlw1hbnrqnrklr0hnkg2g54"; depends=[]; };
   aVirtualTwins = derive2 { name="aVirtualTwins"; version="1.0.1"; sha256="1jg19ns3mxfycc11i2c152d83n4kqz3dd6d269sijnxrw80kzjki"; depends=[party randomForest rpart]; };
-  aaSEA = derive2 { name="aaSEA"; version="1.0.0"; sha256="0x0vp91m3vxgzrs38mf36d24i5i7f03jsisbdrx7s1slbqzdrkv8"; depends=[Bios2cor DT Hmisc magrittr networkD3 plotly seqinr shiny shinydashboard]; };
+  aaSEA = derive2 { name="aaSEA"; version="1.1.0"; sha256="0him4r8qyp0xssgrmdxjs45yn4d28h5anv4jyxxbbs9phb0m6j3h"; depends=[Bios2cor DT Hmisc magrittr networkD3 plotly seqinr shiny shinydashboard]; };
   abbyyR = derive2 { name="abbyyR"; version="0.5.5"; sha256="1vldnd3dg89aj6a73nhirirqddbfdrnzhb5m3679i60sark8nk6r"; depends=[curl httr plyr progress readr XML]; };
   abc = derive2 { name="abc"; version="2.1"; sha256="0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb"; depends=[abc_data locfit MASS nnet quantreg]; };
   abc_data = derive2 { name="abc.data"; version="1.0"; sha256="1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj"; depends=[]; };
+  abcADM = derive2 { name="abcADM"; version="1.0"; sha256="0vcabnnnwc0psv9v3rda5aap9s8cq1pjh02zva3ki64hlavf2a10"; depends=[BH Rcpp]; };
   abcdeFBA = derive2 { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[corrplot lattice rgl Rglpk]; };
-  abcrf = derive2 { name="abcrf"; version="1.8"; sha256="0r31ki89z8zzcffm0yvd2zw3q96rk6g6fnwwkql902mgajbrha1f"; depends=[doParallel foreach MASS matrixStats ranger Rcpp RcppArmadillo readr stringr]; };
+  abcrf = derive2 { name="abcrf"; version="1.8.1"; sha256="1ghbd24yhqy3xhdxas6ccn84nkavqpgldx5ck8kijknc7qjm8k27"; depends=[doParallel foreach MASS matrixStats ranger Rcpp RcppArmadillo readr stringr]; };
+  abcrlda = derive2 { name="abcrlda"; version="1.0.1"; sha256="0j29ifsvmxfx2g6v4bpbb4s6miwfpf4vlkpbgj6f2q078s4clc85"; depends=[]; };
   abctools = derive2 { name="abctools"; version="1.1.3"; sha256="07s9dg10i8lsxl73b4n2hynca2fjgb0ykb0dz8c3zv6cgw3cyx97"; depends=[abc abind Hmisc plyr]; };
   abd = derive2 { name="abd"; version="0.2-8"; sha256="191gspqzdv573vaw624ri0f5cm6v4j524bjs74d4a1hn3kn6r9b7"; depends=[lattice mosaic nlme]; };
   abe = derive2 { name="abe"; version="3.0.1"; sha256="1f19h3xzzmjhvwc1rrb8z0rai3ip03y4gdi2gg9bfr5sg2nfklk6"; depends=[]; };
+  abemus = derive2 { name="abemus"; version="1.0.1"; sha256="1dhllb184byp1yl15rg2w02zgw3iajag7cxshirg47mnmm7n70bb"; depends=[data_table]; };
   abf2 = derive2 { name="abf2"; version="0.7-1"; sha256="0d65mc1w4pbiv7xaqzdlw1bfsxf25587rv597hh41vs0j0zlfpxx"; depends=[]; };
   abind = derive2 { name="abind"; version="1.4-5"; sha256="0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis"; depends=[]; };
   abjutils = derive2 { name="abjutils"; version="0.2.3"; sha256="0n4zps65y3zg0gfzlv97w91si52a9izkncirskbkj5x9hk0nhxcv"; depends=[devtools dplyr furrr future glue httr magrittr progress purrr readr rlang rstudioapi scales stringi stringr tibble tidyr]; };
-  abn = derive2 { name="abn"; version="2.1"; sha256="08jlvb6i5f7ry2dwm0jgrnn2w95vr0l67dpx13n9878lz9ld131b"; depends=[lme4 MASS nnet Rcpp RcppArmadillo rjags]; };
+  abn = derive2 { name="abn"; version="2.2"; sha256="19w6bdjyp4zwqs6p0flry4qxqynf9rh8ykdrfrp61wrdf7kysw0d"; depends=[lme4 MASS nnet Rcpp RcppArmadillo rjags]; };
   abnormality = derive2 { name="abnormality"; version="0.1.0"; sha256="1fzfskl9akl06nliy8hkv2a0pznpj8pwcypg3gj5r2nzvr3kan9v"; depends=[MASS Matrix]; };
   abodOutlier = derive2 { name="abodOutlier"; version="0.1"; sha256="1pvhgxmh23br84r0fbmv7g53z2427birdja96a67vqgz18r3fdvj"; depends=[cluster]; };
   abstractr = derive2 { name="abstractr"; version="0.1.0"; sha256="1ymwp7syrynwd4i8aj2x5n8jdi9d96fjzl6jb09n0bnr5fgl7vig"; depends=[colourpicker emojifont ggplot2 gridExtra rintrojs shiny shinythemes]; };
-  abtest = derive2 { name="abtest"; version="0.1.3"; sha256="1jzl5vflpkay5mqiadrwdj91pphcwcs1x1l6zsixkhy7w0yxdipm"; depends=[Matrix mvtnorm plotrix RColorBrewer Rcpp sn truncnorm VGAM]; };
+  abtest = derive2 { name="abtest"; version="0.2.0"; sha256="1ky3cf827kj24bhcpk00v5zl5jdkii1gca0x81ay1cjkzfispgws"; depends=[Matrix mvtnorm plotrix RColorBrewer Rcpp sn truncnorm VGAM]; };
   abundant = derive2 { name="abundant"; version="1.1"; sha256="1m76qdmqvwpgm0sihazi2dna7cgsz9rljal18vgffb5wamwmg9k7"; depends=[QUIC]; };
   acc = derive2 { name="acc"; version="1.3.3"; sha256="1ii2vm47djxbixa75h690q1s2f9m9x6i8nkygik93j6dayr6kr1m"; depends=[circlize DBI ggplot2 iterators mhsmm nleqslv PhysicalActivity plyr R_utils Rcpp RcppArmadillo RSQLite zoo]; };
   accSDA = derive2 { name="accSDA"; version="1.0.0"; sha256="0sgxy5y8kkc1n35657kifwfjsba7y5m1vbr7rkk5lmbpkzahqm61"; depends=[ggplot2 ggthemes gridExtra MASS rARPACK sparseLDA]; };
   accelerometry = derive2 { name="accelerometry"; version="3.1.2"; sha256="13xzrwhr4i1nj9c8vrmfdg2rmrc8n446iihcyxmy99sm99hpzyip"; depends=[dvmisc Rcpp]; };
   accelmissing = derive2 { name="accelmissing"; version="1.4"; sha256="1nql9inx6azdzi3z4sfm2vdml2mms6krl8wzlf1dn1c97ahn57fy"; depends=[mice pscl]; };
+  accept = derive2 { name="accept"; version="0.7.0"; sha256="1r4mhy9g4wjcjgdd0gwdarmr09292il3vdkmx0hz7vh9mffyr9kx"; depends=[dplyr extrafont MASS plotly stringr viridis]; };
   accrual = derive2 { name="accrual"; version="1.3"; sha256="11clm9s5c5518nmp6hd6pjnp0s28y92b2i2x0xgj4j5g816p4j3z"; depends=[fgui SMPracticals tcltk2]; };
   accrued = derive2 { name="accrued"; version="1.4.1"; sha256="05g1jb5914z18rcai1ahn7nihn27vr2rnadwv94gc1j7ivvikvs5"; depends=[]; };
   ace2fastq = derive2 { name="ace2fastq"; version="0.6.0"; sha256="09kk3yyqnr2xp820g0p3aai9a21figigjr9lxkr3zjq2d8gzwfic"; depends=[stringr]; };
-  acebayes = derive2 { name="acebayes"; version="1.7"; sha256="1zp78gq72waqglgafapir3jf1r5dzwqar594mg440vva85m741za"; depends=[compare lhs randtoolbox Rcpp RcppArmadillo]; };
+  acebayes = derive2 { name="acebayes"; version="1.8"; sha256="1xm6bw0qm2vlcrk274x0bawzb2lnacb1wsmzba5mg3i75a55pqln"; depends=[compare lhs randtoolbox Rcpp RcppArmadillo]; };
   acepack = derive2 { name="acepack"; version="1.4.1"; sha256="1f98rpfjmhd92rdc3j004plyfpjailz6j0ycysbac0kgj83haxc2"; depends=[]; };
   acfMPeriod = derive2 { name="acfMPeriod"; version="1.0.0"; sha256="1yww8isfrbs2v9s94hx7p2imyszcgadwafdgpj438n2ik0q6p9d5"; depends=[MASS]; };
   acid = derive2 { name="acid"; version="1.1"; sha256="030i0y8s283ivbsmjccpbv9v7mgbcg2jk9df7vgcbbns74swf9hd"; depends=[gamlss gamlss_dist Hmisc]; };
@@ -4745,7 +4911,7 @@ in with self; {
   acss = derive2 { name="acss"; version="0.2-5"; sha256="0cqa60544f58l5qd7h6xmsir40b9hqnq6pqgd5hfx2j2l5n7qhmk"; depends=[acss_data zoo]; };
   acss_data = derive2 { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; };
   activPAL = derive2 { name="activPAL"; version="0.1.3"; sha256="1h6hp5z89ji73gdzxy1dgbfwjysiy5lvcqh90xagpb7sa7ahs3na"; depends=[devtools dplyr ggplot2 lubridate magrittr tidyr]; };
-  activity = derive2 { name="activity"; version="1.2"; sha256="11w2bz6p9xbzdh6773dmbbh6rws0h5dj18p8m0ivzizgq932vdzs"; depends=[circular pbapply]; };
+  activity = derive2 { name="activity"; version="1.3"; sha256="12imqj366dp6pam5gap6ji56p5wf1073xz5g4iikfxf5l8snxw92"; depends=[circular insol pbapply]; };
   activityCounts = derive2 { name="activityCounts"; version="0.1.2"; sha256="0zgxr2sk3a8kmygfxx1p5hnrfwdkxx7php6jlrhm8wv6052ck8jz"; depends=[lubridate magrittr seewave signal tibble]; };
   activpalProcessing = derive2 { name="activpalProcessing"; version="1.0.2"; sha256="1y0bjx2qx53iy930y9iww4q1yzjj8y16cwgixk1mq3w4g1f116d1"; depends=[chron]; };
   actogrammr = derive2 { name="actogrammr"; version="0.2.3"; sha256="1jzvarmd41yqlrkagzlc8m19n5mn0w0b36fy50lyvgrfsafjfbqa"; depends=[dplyr ggplot2 lubridate readr tidyr]; };
@@ -4758,18 +4924,19 @@ in with self; {
   adaptMCMC = derive2 { name="adaptMCMC"; version="1.3"; sha256="08v11rl0p4w94knb0yzs1ysj42xillya62yaw3zm40d4pqv7vcky"; depends=[coda Matrix]; };
   adaptMT = derive2 { name="adaptMT"; version="1.0.0"; sha256="1yllz1zd4cryf5bj8b2lcrj6zl79yjkllyh9p02ikryy5qmg419b"; depends=[]; };
   adaptTest = derive2 { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
-  adaptalint = derive2 { name="adaptalint"; version="0.2.3"; sha256="0n047zibp3jsw8d3c971xnqgl8nsqxzcayic0xkz917pwlfrdnd7"; depends=[dplyr lintr purrr]; };
+  adaptalint = derive2 { name="adaptalint"; version="0.2.4"; sha256="15qdcvnnbgcps8j5k79354wsc9alswijv8lcafg2i3lghaw536yf"; depends=[dplyr lintr purrr]; };
   adaptiveGPCA = derive2 { name="adaptiveGPCA"; version="0.1.2"; sha256="0bb6hw77dfa66b12xyazlp992gwjb1plylixlmq4cv4yjhnl9n5z"; depends=[ape ggplot2 phyloseq shiny]; };
   adaptivetau = derive2 { name="adaptivetau"; version="2.2-3"; sha256="1jficl4yidix35q8yqs3pcv813wq3pg4hpw4ah4dprvg95bl7wwx"; depends=[]; };
   adaptsmoFMRI = derive2 { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[coda Matrix MCMCpack mvtnorm spatstat]; };
   addhaz = derive2 { name="addhaz"; version="0.5"; sha256="1709jq9rp5lhqk0qpk8zkdwzhcv1bcach8mm7yiz7hzcc1mgxb12"; depends=[boot MASS Matrix]; };
   addhazard = derive2 { name="addhazard"; version="1.1.0"; sha256="0hk7br52wjmq605xgslv8lspr35aqpdgkiz2yljz31khy3y3vi8c"; depends=[ahaz rootSolve survival]; };
-  addinslist = derive2 { name="addinslist"; version="0.2"; sha256="04jqhdy0axs1a9c0cfi3pqy9hd67jqxz79a2lj209gd27qv1q22c"; depends=[curl devtools DT miniUI rappdirs rmarkdown rvest shiny shinyjs xml2]; };
+  addinsOutline = derive2 { name="addinsOutline"; version="0.1.6"; sha256="125qfqbpv5xflw8qlyh8m3iyd6biyp3arls3z7y8bqkbghifl730"; depends=[dplyr DT fs miniUI rmarkdown rstudioapi shiny shinyFiles stringr tibble yaml]; };
+  addinslist = derive2 { name="addinslist"; version="0.3"; sha256="0rw87zxlq3b7ka782qwqbn2cc7w1cwcpg68l8s1mkrdgyaar4wr0"; depends=[curl DT miniUI rappdirs remotes rmarkdown rvest shiny shinyjs xml2]; };
   additiveDEA = derive2 { name="additiveDEA"; version="1.1"; sha256="15nxpdybsda6yhjk23bpafr8v1zdx8332pcxf26k795q3ypjpiy2"; depends=[Benchmarking lpSolveAPI]; };
   additivityTests = derive2 { name="additivityTests"; version="1.1-4"; sha256="048ds90wqjdjy1nyhna3m06asdklbh8sx1n556kss2j1r1pma1sw"; depends=[]; };
   addreg = derive2 { name="addreg"; version="3.0"; sha256="13bwmgxylwi02g60j1rr51cr5jvvkl2nvf2lnnhnq46fhvs2ma7s"; depends=[combinat glm2 turboEM]; };
   ade4 = derive2 { name="ade4"; version="1.7-13"; sha256="16z9jk4qj35ghsk4lwmq241dgc770y8a70dlmp9q4gz6d8ssgl7m"; depends=[MASS]; };
-  ade4TkGUI = derive2 { name="ade4TkGUI"; version="0.2-9"; sha256="0kfnikkzhyfxskrphr65b8amjhdfq35x6dda4kivdhn7ak07s3ll"; depends=[ade4 adegraphics lattice tkrplot]; };
+  ade4TkGUI = derive2 { name="ade4TkGUI"; version="0.3-0"; sha256="1k1d5vck8plv6rq9nn664p73nhd4k3kah52fvqc3vg2zv1hbizzk"; depends=[ade4 adegraphics lattice tkrplot]; };
   adeba = derive2 { name="adeba"; version="1.1.2"; sha256="1z1law3qh6l902g62y8yapk4nypdmb20jmpwhxp9jbglalw9lm73"; depends=[mixtools pdist Rcpp]; };
   adegenet = derive2 { name="adegenet"; version="2.1.1"; sha256="0ynfblp0hbd3dp3k86fn1wyhqr28lk6hs2bg4q7gyf0sfdfzwhrh"; depends=[ade4 ape boot dplyr ggplot2 igraph MASS reshape2 seqinr shiny spdep vegan]; };
   adegraphics = derive2 { name="adegraphics"; version="1.0-15"; sha256="12k77x6vnjz9s9dvz1r81ajqcl1nh9g33r7dymaqk2cs5q3wvfw7"; depends=[ade4 KernSmooth lattice latticeExtra RColorBrewer sp]; };
@@ -4784,17 +4951,18 @@ in with self; {
   adespatial = derive2 { name="adespatial"; version="0.3-7"; sha256="0chbz14jii0gra6f7zncjrd1m2d2n5wwpq1ihjnwwk8jvyqskd1a"; depends=[ade4 adegraphics adephylo lattice MASS shiny sp spdep vegan]; };
   adfExplorer = derive2 { name="adfExplorer"; version="0.1.4"; sha256="11z6jm20giqmmz4dwcpa9fshvrmlmv8m0y1vg053nch05884niz2"; depends=[]; };
   adhoc = derive2 { name="adhoc"; version="1.1"; sha256="0a59fv9glcqh4zzd0887ndrhlcaylja6vay2ifajp8an29gjk1vv"; depends=[ape pegas polynom]; };
-  adimpro = derive2 { name="adimpro"; version="0.9.0"; sha256="1kg1vm72gcyj6rnj7hbf126r2p6n7x9v6sbzh1gdb047lk89wgc3"; depends=[awsMethods]; };
-  adiv = derive2 { name="adiv"; version="1.2"; sha256="1lmq499ipv2a4f3270hdp54x8n7gij4ssgagxc9i35qwqwdbr8gy"; depends=[ade4 adegraphics adephylo ape cluster phylobase rgl]; };
+  adimpro = derive2 { name="adimpro"; version="0.9.2"; sha256="1ajq2889y70lxjdpf5zdg7zkz35i3i92li72wb7nbfngxmw47xzv"; depends=[awsMethods]; };
+  adiv = derive2 { name="adiv"; version="1.3"; sha256="0cmj9r8a6i6ag907g3a6likjz85vx7m6jrsfm3h2kwf29qr6d5lc"; depends=[ade4 adegraphics adephylo ape cluster FactoMineR phylobase phylosignal phytools rgl]; };
   adjclust = derive2 { name="adjclust"; version="0.5.7"; sha256="059gzbnwkmy1l8yqbl8ksz80nm6pf917sxplp048jzx57sxpry2k"; depends=[capushe Matrix matrixStats]; };
   adjustedcranlogs = derive2 { name="adjustedcranlogs"; version="0.1.0"; sha256="08apfvpqvnnalx230p4qf5ckrwm1sgzras4zfrysgym5d4map9ci"; depends=[cranlogs dplyr lubridate rvest xml2]; };
   adklakedata = derive2 { name="adklakedata"; version="0.6.1"; sha256="1lzj3ib4bgfkq5lq12n47pwc52h7k35xbbwj6brwsgx1gd4fx3x6"; depends=[httr rappdirs]; };
   adlift = derive2 { name="adlift"; version="1.4-1"; sha256="14q7fnhlqvxdhnfjhdhfmadz241srplbm069a7ybbsql21cphpf3"; depends=[EbayesThresh]; };
-  admisc = derive2 { name="admisc"; version="0.3"; sha256="10khlmkiv9xyhd8rhcj4fb5h24pflmdl6np26rky6j5sa7vhi97y"; depends=[]; };
+  admisc = derive2 { name="admisc"; version="0.5"; sha256="0jqlac39rbvxi6xhyadkyxwmpjcpgl6fl8dn2yjnnn0qgs61y5c3"; depends=[]; };
   admixturegraph = derive2 { name="admixturegraph"; version="1.0.2"; sha256="0ld4qyyvbnr5lz9ff64wjwif4c9xnqyjmbfgbl9bk6pia98zppl3"; depends=[doParallel dplyr foreach ggplot2 MASS neldermead pracma]; };
+  admmDensestSubmatrix = derive2 { name="admmDensestSubmatrix"; version="0.1.0"; sha256="1a5lfm10aj6wdjibdnmffn75zvy6x69w8nqcx2i23gxg6v0xlqcl"; depends=[Rdpack]; };
   adnuts = derive2 { name="adnuts"; version="1.0.1"; sha256="1l52f33yzbvcz27iw0k6iwcnfanr65lw206d7w4609k2vmlw8ink"; depends=[ellipse R2admb rstan]; };
   adoption = derive2 { name="adoption"; version="0.6.2"; sha256="18mjhsh19bjmh27sv5fiay0xv1la0qy96v48b093f7kqfx4c21xb"; depends=[quadprog RandomFieldsUtils tkrplot]; };
-  adoptr = derive2 { name="adoptr"; version="0.2.2"; sha256="0mxknvrwkmd46n45zcai3d6jgw27rjf2k9wbr4ma8vivbnykgsxn"; depends=[nloptr]; };
+  adoptr = derive2 { name="adoptr"; version="0.3.0"; sha256="159g9wpxikw3x8g3h7j4ry2jndzq14zzwxrj6ajvnmgw115bqr2n"; depends=[glue nloptr]; };
   adpss = derive2 { name="adpss"; version="0.1.1"; sha256="0p2gyfc4rxmms8zdsq4hjsh1njfl2s736arq8aq1am2wh1w9k5ch"; depends=[Rcpp]; };
   ads = derive2 { name="ads"; version="1.5-3"; sha256="1k1japzcf0mafxkv9dlzaqz9n4c749lsx0lja4wj327ninpdcfy4"; depends=[ade4 spatstat]; };
   advclust = derive2 { name="advclust"; version="0.4"; sha256="1g8a8q4zh6d4152jb66fh7wj7k6ks5k4kfcazzw70jdn10yi6b38"; depends=[clue ggplot2 knitr MASS reshape2]; };
@@ -4803,7 +4971,7 @@ in with self; {
   aemo = derive2 { name="aemo"; version="0.2.0"; sha256="11msifszq7pzmcmwibf2dk2j5dqjc74hrxdxshlprkp6p8sfhijh"; depends=[assertthat dplyr lubridate stringr]; };
   afCEC = derive2 { name="afCEC"; version="1.0.2"; sha256="0jdppp93z5nb8m5qbry6cvd472mwiq1yrmm11906c3z2bfz7791f"; depends=[Rcpp RcppArmadillo rgl]; };
   afc = derive2 { name="afc"; version="1.4.0"; sha256="1iy1wa88kf6zi6x7lbd0jdir653cvzvdraliqpxbac413wwb5gwl"; depends=[]; };
-  afex = derive2 { name="afex"; version="0.24-1"; sha256="14w7kcwr5hxmjcjmdm5ia9ka3bw1nl18pxlm1vpw62nmvicn3455"; depends=[car lme4 lmerTest pbkrtest reshape2]; };
+  afex = derive2 { name="afex"; version="0.25-1"; sha256="12n020y7rjm7402940gkqxa5j901p093f381i23p66fa3fyrshkf"; depends=[car lme4 lmerTest pbkrtest reshape2]; };
   affluenceIndex = derive2 { name="affluenceIndex"; version="1.0"; sha256="1nb2dlsnvjsvkyrfdaskmpr3kv3qgdfb60xgmzvscfli0yf4dzr1"; depends=[]; };
   afmToolkit = derive2 { name="afmToolkit"; version="0.0.1"; sha256="1pm3xyh9vq10mmfgknlvlfr9f027xprrgy1dvbbxpi7f111hv1gl"; depends=[assertthat DBI dplyr ggplot2 gridExtra minpack_lm scales tibble]; };
   afpt = derive2 { name="afpt"; version="1.0.0"; sha256="0kshyzvw8sp7p686xi98g758zld3n7kq44lnvly8d0y8fg6ahcl2"; depends=[]; };
@@ -4816,18 +4984,20 @@ in with self; {
   agridat = derive2 { name="agridat"; version="1.16"; sha256="1kgmjrj207md86qivadkmv3s2gh3hi9zv63bsj8b9vlcd9f58pfk"; depends=[]; };
   agriwater = derive2 { name="agriwater"; version="1.0.0"; sha256="0m1dpv69nf3pjp63z3a5710skgb6sbrmjv6b8rxvq9lrw63993g9"; depends=[raster rgdal sp]; };
   agrmt = derive2 { name="agrmt"; version="1.40.4"; sha256="1y2gnq6b4zkxknygg73r8qrd435y7c69iqn8i56kwk1ccc1rwddx"; depends=[]; };
+  agrostab = derive2 { name="agrostab"; version="0.1.0"; sha256="0mcskv3144j594wqljzn5pwbhkxh6sb76b1c2wabzjvi61zrapiv"; depends=[dplyr ggplot2 rlang]; };
   agsemisc = derive2 { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
   ahaz = derive2 { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[Matrix survival]; };
   ahnr = derive2 { name="ahnr"; version="0.3.1"; sha256="1g8m3q108ricfyn4fjjaihpr93xz7fm2sfzg3i0fz1n1i703jwm8"; depends=[ggplot2 magrittr matrixcalc pdist pracma purrr visNetwork]; };
   ahp = derive2 { name="ahp"; version="0.2.12"; sha256="0zjhgl0smzx4bkhmdm4rmpyrq4hmxy1nkxvwqjr40pz7vm69icqx"; depends=[data_tree DiagrammeR formattable yaml]; };
-  ahpsurvey = derive2 { name="ahpsurvey"; version="0.4.0"; sha256="0faz6zzh99i99krjws2x9177d6lxi52wn06jgq3qkh1kv27a83mb"; depends=[dplyr knitr magrittr randomNames Rdpack tidyr]; };
+  ahpsurvey = derive2 { name="ahpsurvey"; version="0.4.1"; sha256="1r7x4c318nzbx0ppm9272kfpz2bln1cafkv9irnj85nsdcravr33"; depends=[dplyr knitr magrittr randomNames Rdpack tidyr]; };
   aiRthermo = derive2 { name="aiRthermo"; version="1.2.1"; sha256="058082qdfi1pbdgf26vbfahri1kbc8b2l816q4dq89j5aj5is0a2"; depends=[]; };
   aidar = derive2 { name="aidar"; version="1.0.5"; sha256="1q2iz2qzh2yl0v0sc537xq4vbx2nblym3kv419vr7jvrghdpx3vj"; depends=[XML]; };
   aimPlot = derive2 { name="aimPlot"; version="1.0.0"; sha256="1d52b7kccxba6j7n0gbd7pzs0p87zn32vv8gdf2f7lyr75qzgz7x"; depends=[ggplot2]; };
-  airGR = derive2 { name="airGR"; version="1.3.2.23"; sha256="0ihykf97alxyq7nw205sl4ji2skyf2pi3xbfxjyvxv4vpmmiljh1"; depends=[]; };
+  aimsir17 = derive2 { name="aimsir17"; version="0.0.1"; sha256="0d3zygsnflymmfh7pflnynsf1klxjjyrqz5g5fnj2vwsicb40l4x"; depends=[tibble]; };
+  airGR = derive2 { name="airGR"; version="1.3.2.42"; sha256="0ll960jm0d56i0gn0g8yln0dvrhxc0b7kbhcfjsrshzb1lb3vq1v"; depends=[]; };
   airGRteaching = derive2 { name="airGRteaching"; version="0.2.6.29"; sha256="15sjwkyvgxihiz35qc8rg1f7f3vb4wdwbrfb37gx8mzql0mwqx4q"; depends=[airGR dygraphs markdown plotrix shiny shinyjs xts]; };
   aire_zmvm = derive2 { name="aire.zmvm"; version="0.8.2"; sha256="0z9knqdl7ihx2vph154qi1lh4s6yvlcw6kwry8k47mhh3p7pynsd"; depends=[dplyr httr lubridate progress readr readxl rvest sp stringr tidyr xml2]; };
-  airportr = derive2 { name="airportr"; version="0.1.2"; sha256="06jk4dhr4qj6fpmlvslnbqj67qy78spcb7yhqa4qn2im4kpmb73q"; depends=[dplyr]; };
+  airportr = derive2 { name="airportr"; version="0.1.3"; sha256="1h8h0cdfqgxv8cf9hp82sx5n4a1z88qyyxicj7d2kmmybqqz2r5n"; depends=[dplyr]; };
   airr = derive2 { name="airr"; version="1.2.0"; sha256="1vswbjmyhygmyqymkfxad9nwsbcgaggian1fyrx63w0y9c4dfv1h"; depends=[readr stringi yaml]; };
   ajv = derive2 { name="ajv"; version="1.0.0"; sha256="1qd5ncb7rdnnvqfknsvq9nrpxrh0zv3jyh4b91dcvfvhp262vfrm"; depends=[RJSONIO V8 yaml]; };
   akima = derive2 { name="akima"; version="0.6-2"; sha256="1klprj4a2pgy5pwdwnrn3siisi2lh8hr4z6vz38sdvjkcmakxnk1"; depends=[sp]; };
@@ -4839,8 +5009,9 @@ in with self; {
   ald = derive2 { name="ald"; version="1.2"; sha256="1xmvxmyc1nmsrlyr0rvzz20jx6g1f2jvxpg9f39v48ngg5gmanjj"; depends=[]; };
   alfr = derive2 { name="alfr"; version="1.2.1"; sha256="1ldq8gvgqjjabn86hdqb6hxch8x4hvr6djv5ly4mx039dipc8jxi"; depends=[httr jsonlite magrittr stringr]; };
   alfred = derive2 { name="alfred"; version="0.1.7"; sha256="1467rg5q2dqbqy8vj2061glb1gksq96rnjlifgyiv5rarwzy9b4y"; depends=[dplyr jsonlite lubridate magrittr tibble tidyr]; };
-  algaeClassify = derive2 { name="algaeClassify"; version="0.1.0"; sha256="19iad7av908zrfsv6nwwk4yllfls6pyhyzg78zyh4lk76r04kbjp"; depends=[]; };
+  algaeClassify = derive2 { name="algaeClassify"; version="1.2.0"; sha256="1sna5rij2ngpgqfz5cviqdbyr43xph8cbjc4vnm238n72zgg7cb6"; depends=[httr lubridate plyr RCurl rvest taxize XML xml2]; };
   algorithmia = derive2 { name="algorithmia"; version="0.2.0"; sha256="0h1llcwk1qkxg26ikib44nd19da1q39n3gd8jwwb36687drl26qp"; depends=[base64enc httr rjson]; };
+  aliases2entrez = derive2 { name="aliases2entrez"; version="0.0.6"; sha256="1s27y74kv9gzrsqvmsaj1f548b095x6zy41dind3q8xrhl1d72rd"; depends=[AnnotationDbi doParallel foreach limma org_Hs_eg_db RCurl readr]; };
   alignfigR = derive2 { name="alignfigR"; version="0.1.1"; sha256="0jsj0h7zpzj6ynfydl8qbggm03xx8db769rli7rcx9909xdxabk6"; depends=[ggplot2]; };
   alineR = derive2 { name="alineR"; version="1.1.4"; sha256="1gi4pl7ij60pz85yjiga5kvldraj9n3nhcyqdxrigs0cqvdwg3ar"; depends=[]; };
   allan = derive2 { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; };
@@ -4854,14 +5025,16 @@ in with self; {
   alphabetr = derive2 { name="alphabetr"; version="0.2.2"; sha256="1pmp6zwhgycb38y5jbvrbv2nza7gyjh508vy09ml483c2cysvc1r"; depends=[clue dplyr multicool Rcpp]; };
   alphahull = derive2 { name="alphahull"; version="2.2"; sha256="024d70z9pasyfp83zwgh7fkjky70l74pbzw1wvazzq75p9m91vzv"; depends=[ggplot2 R_utils sgeostat spatstat splancs tripack]; };
   alphashape3d = derive2 { name="alphashape3d"; version="1.3"; sha256="15l8hsn3jcn5jzwfpya99v2mzrgmhl3i587nw6cx4aky75ajslcx"; depends=[geometry rgl]; };
-  alphastable = derive2 { name="alphastable"; version="0.1.0"; sha256="1c24d879jqakf20rwj0xmv41f1g3d1dq04mlcc8zshigi2diyy5c"; depends=[mvtnorm nlme nnls stabledist]; };
+  alphastable = derive2 { name="alphastable"; version="0.2.1"; sha256="01gwrcxlj2jlb8axs5qmrsixk3a8b7044ypyjg6dpdcxfbcf5fvp"; depends=[mvtnorm nlme nnls stabledist]; };
   alphavantager = derive2 { name="alphavantager"; version="0.1.1"; sha256="0rbvbws0g50z76pvkydadf97gq5yg1l03xlfqyy3yblqh59cj5s6"; depends=[dplyr glue httr jsonlite purrr readr stringr tibble tidyr timetk]; };
   alr3 = derive2 { name="alr3"; version="2.0.8"; sha256="1vkwgf5c9zb8pphcw47vfwwk12nfj4nggj8dr88jwbdnv7yd257h"; depends=[car]; };
   alr4 = derive2 { name="alr4"; version="1.0.6"; sha256="0v98yzi0fcjxq0ak0w05001h8m9nfa9l0ann9bqvz8bwcmb3jlr2"; depends=[car effects]; };
+  altR2 = derive2 { name="altR2"; version="1.0.0"; sha256="15nvbq3n76p2857ipyf3q6rs2mwjqsp9gr3rmzbjfm8lrj0faxsv"; depends=[gsl purrr]; };
   altair = derive2 { name="altair"; version="3.1.1"; sha256="0qy23lzz2lfsrhl9yn195r5gdkspgi99zlp13l1fpcw0d02diw1z"; depends=[assertthat htmlwidgets jsonlite magrittr repr reticulate rlang vegawidget]; };
   alterryx = derive2 { name="alterryx"; version="0.5.0"; sha256="1p9q4244bm7hf6my8q951idw41xa5gcrdl7znmsng9pwxh8dnz3h"; depends=[base64enc digest httr jsonlite]; };
   altmeta = derive2 { name="altmeta"; version="2.2"; sha256="1k3p06v8ccj0dbjfpl4nw6579bwcy4j925rk15v55khqmrlx780l"; depends=[]; };
   amap = derive2 { name="amap"; version="0.8-17"; sha256="1il94bkhl8192vawq4gr2gwyhqhid27jr2312rhvr72ssg8p713b"; depends=[]; };
+  amber = derive2 { name="amber"; version="0.1.6"; sha256="0n9idgmkqnnsajybkbgczlrr1hyj5z98rixk451lh1r1j2cv8252"; depends=[classInt doParallel foreach Hmisc latex2exp ncdf4 raster rgdal rgeos scico sp viridis xtable]; };
   ambhasGW = derive2 { name="ambhasGW"; version="0.0.2"; sha256="0v517i4whip45pk6bwlwval9pz367pcgzz62b2z22mrwgi6m6bck"; depends=[raster rgdal yaml]; };
   ambient = derive2 { name="ambient"; version="0.1.0"; sha256="142q30rhi0wz0gp1v0swm83gbli8j6plpzzpqjwnjc693wd3a1ih"; depends=[Rcpp]; };
   ameco = derive2 { name="ameco"; version="0.2.9"; sha256="0vzwsy7gp17ghl1hgcsbfs9rarzl8dl36x6lplnzrisqv3dqmk25"; depends=[]; };
@@ -4871,8 +5044,8 @@ in with self; {
   aml = derive2 { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; };
   ammistability = derive2 { name="ammistability"; version="0.1.1"; sha256="1vp2857cwn4dd86vj8qf6h4z8hh5q2jvrlpmply8bf70mnmnq18h"; depends=[agricolae ggcorrplot ggplot2 Rdpack reshape2]; };
   ampd = derive2 { name="ampd"; version="0.2"; sha256="0bi8qngd37n60ym516yjcahxc536vdwm60rq5ld32170hww69j7c"; depends=[]; };
-  amt = derive2 { name="amt"; version="0.0.6"; sha256="1n8qrjvca48f84gkjbd18ivxf24lff7fkamjngx1qlpjah7fq31w"; depends=[broom checkmate circular ctmm dplyr fitdistrplus FNN geosphere glue KernSmooth lazyeval leaflet lubridate magrittr maptools purrr raster Rcpp rgeos rlang sf sp survival tibble tidyr velox]; };
-  anMC = derive2 { name="anMC"; version="0.2.1"; sha256="02mzmaxjjbjqarfwdv6465p5hvnnpsqfkb1wkm68bx64cimgldki"; depends=[mvtnorm Rcpp RcppArmadillo]; };
+  amt = derive2 { name="amt"; version="0.0.7"; sha256="1az11vi5kd1sp76xvgshvamyw59dydhp6g4m6c2wqcdll88dlfgn"; depends=[broom checkmate circular ctmm dplyr fitdistrplus FNN geosphere glue KernSmooth lazyeval leaflet lubridate magrittr maptools purrr raster Rcpp rgeos rlang sf sp survival tibble tidyr velox]; };
+  anMC = derive2 { name="anMC"; version="0.2.2"; sha256="0ab215nrqn535g9ayqzvgdckhwcrij1mc1296pvlj3grn3f8rhws"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   anacor = derive2 { name="anacor"; version="1.1-3"; sha256="0mj8g9p4fla0ax9jvcq7kii4lrhj8g872p11nys06anva22qjp51"; depends=[car colorspace fda]; };
   analogsea = derive2 { name="analogsea"; version="0.7.2"; sha256="1dfvdizbxdc00rcabcv1jpy3py4ncb3g2p1kim8m4sy9rdc299yq"; depends=[aws_s3 httr jsonlite magrittr yaml]; };
   analogue = derive2 { name="analogue"; version="0.17-3"; sha256="1dd94hs517f7a11zjxm7wygcc1g72r5hff4figgmqf8c699p5d9y"; depends=[brglm lattice MASS mgcv princurve vegan]; };
@@ -4895,8 +5068,8 @@ in with self; {
   anipaths = derive2 { name="anipaths"; version="0.9.7"; sha256="1h6rcrybjfc4kn377bay2c3nfv6qwwi0nk14xh6jfdsxqybq6dw2"; depends=[animation ggmap knitr mgcv RColorBrewer rgdal scales sp]; };
   anocva = derive2 { name="anocva"; version="0.1.1"; sha256="1byg40jla71k1901js5h9yq89j63d00vkm60id1fxlpv95c4wdrr"; depends=[cluster]; };
   anoint = derive2 { name="anoint"; version="1.4"; sha256="10gdqgag9pddvxh80h458gagvv1474g4pcpa71cg3h7g62rqvmv5"; depends=[glmnet MASS survival]; };
-  anomalize = derive2 { name="anomalize"; version="0.1.1"; sha256="1szxjc8bh616z2xc50hcggh4ky1b7343i3xmg81rbssvkl2gghlh"; depends=[dplyr ggplot2 glue purrr rlang sweep tibble tibbletime tidyr timetk]; };
-  anomaly = derive2 { name="anomaly"; version="1.1.0"; sha256="0v1pgyckqkimyh1hh68clyqnm9hkzmz3dal676l9qaiwbgqmkxi4"; depends=[dplyr ggplot2 Rdpack rlang]; };
+  anomalize = derive2 { name="anomalize"; version="0.2.0"; sha256="155la2j9bfdwvaq8qv8gjgfy0y4bjpvrymgk0qzbz80hd771lh2j"; depends=[cli crayon dplyr ggplot2 glue purrr rlang rstudioapi sweep tibble tibbletime tidyr timetk]; };
+  anomaly = derive2 { name="anomaly"; version="2.0.2"; sha256="1vhbmf1q2rj21bxzh7s969x3j21r8i5crnvzndal4pryyb8bm97a"; depends=[assertive BH dplyr ggplot2 Rcpp Rdpack reshape2 rlang robust]; };
   anominate = derive2 { name="anominate"; version="0.6"; sha256="01p2qkqf88bzhwywyass5r8dwg2ycflmkbzmsps7fzy0kv3xyb02"; depends=[coda MCMCpack pscl wnominate]; };
   antaresEditObject = derive2 { name="antaresEditObject"; version="0.1.7"; sha256="0whwlqsjc9ygh2iv9bmgxglqk061l3mgfsq1a0848180wci6frwb"; depends=[antaresRead assertthat data_table whisker]; };
   antaresProcessing = derive2 { name="antaresProcessing"; version="0.17.0"; sha256="0mq2b1dkkgli8d53mpcllilh72gf8189f5mf0dxjcv4qinnhrrvm"; depends=[antaresRead data_table stringi]; };
@@ -4906,7 +5079,7 @@ in with self; {
   antitrust = derive2 { name="antitrust"; version="0.99.11"; sha256="025pm7n06yid28b34llm4rh0mlz0daz9ygh5z0hd87scp8f9gy00"; depends=[BB evd MASS numDeriv rhandsontable shiny]; };
   antiword = derive2 { name="antiword"; version="1.3"; sha256="034znb0g9wwb8gi1r3z75v3sbb4mh83qrc4y8mbfx5lbgh8zhj6j"; depends=[sys]; };
   anyLib = derive2 { name="anyLib"; version="1.0.5"; sha256="1x9x58hhkkwdskmgdjv94ynh811n9w0752hh4214adl1qpn576vm"; depends=[BiocManager curl devtools httr withr]; };
-  anytime = derive2 { name="anytime"; version="0.3.5"; sha256="0jbbfcrggkm04m50b6m2y62x4qvnch4d0wh4l1j26r687a39a0py"; depends=[BH Rcpp]; };
+  anytime = derive2 { name="anytime"; version="0.3.6"; sha256="104dvgj3gh998yf93fy39lw76163n7ck9myscyi6v3znwkdwvhyv"; depends=[BH Rcpp]; };
   aod = derive2 { name="aod"; version="1.3.1"; sha256="1g03ajhs6bid80i83xn3917abhymzgrydqx86wxxpkqga018hb85"; depends=[]; };
   aods3 = derive2 { name="aods3"; version="0.4-1.1"; sha256="1kdmgzd5nkzm0awdjls6fc8p9hxsph9ha9k1jxbppdi4i6f0i7rv"; depends=[boot lme4]; };
   aoos = derive2 { name="aoos"; version="0.5.0"; sha256="0y92vs27i0mkpjdclqzq4j9g1axkymhi3v8xp1v6hazh35yzjkfj"; depends=[magrittr roxygen2]; };
@@ -4917,18 +5090,18 @@ in with self; {
   apaText = derive2 { name="apaText"; version="0.1.1"; sha256="1r217k60w027i63nbj24b1rm37m4qf7a6iirc941s945babkxcmb"; depends=[dplyr]; };
   apc = derive2 { name="apc"; version="1.3"; sha256="1hgkqkvry9is8kjk2w46k637sig7fdznnc75wbrc8bq1hbrmf785"; depends=[lattice]; };
   apcf = derive2 { name="apcf"; version="0.1.3"; sha256="0wpq0739bpiqqlkl18c81x2g1g4k7xkam03vpj46wmmpa4z0glaa"; depends=[Rcpp]; };
-  apcluster = derive2 { name="apcluster"; version="1.4.7"; sha256="188hdfmwjjx3aic599nwmkzjqm9j9jighi5bly6qd43c1vj6ih2s"; depends=[Matrix Rcpp]; };
+  apcluster = derive2 { name="apcluster"; version="1.4.8"; sha256="0lzf2jqm56i74wif6x5sw3j0w2qc4sni49zq2fgbl89b7lwkvchj"; depends=[Matrix Rcpp]; };
   apdesign = derive2 { name="apdesign"; version="1.0.0"; sha256="041zyd7ih9nnj92jj9vb9ya1ij9lmj1dzx64q74vyiadw1ix5l66"; depends=[Matrix]; };
   ape = derive2 { name="ape"; version="5.3"; sha256="08wbk1kxhs32bmmvqlqanbdg1w235amd35k8m00fngsj9h9xzc08"; depends=[lattice nlme Rcpp]; };
   apercu = derive2 { name="apercu"; version="0.2.3"; sha256="0w9hi8pdjb3nschh4cy387q67jxhkl2bn9vir949rsl831x4cs1j"; depends=[pls]; };
   apex = derive2 { name="apex"; version="1.0.3"; sha256="157i67yvb9xqlhzcgkxj7n5lq65svxs82z38dv2c0k8p4krjl1pd"; depends=[adegenet ape phangorn]; };
-  apexcharter = derive2 { name="apexcharter"; version="0.1.1"; sha256="16zndkg4kgaxcgm1434l2lc5h4jkm5849aacadakq3jh0qa9fbqg"; depends=[ggplot2 htmlwidgets magrittr rlang scales]; };
+  apexcharter = derive2 { name="apexcharter"; version="0.1.3"; sha256="1kgn5bs329l2brrsd0qda87jgkjxa9ksm2plffl4v46nqkz53038"; depends=[ggplot2 htmlwidgets jsonlite magrittr rlang scales]; };
   aphid = derive2 { name="aphid"; version="1.3.3"; sha256="1jqpn7w5sgy4k49qd9ci6yj89s55gzwl5w5ldw793mzpg6if7lfn"; depends=[kmer openssl Rcpp]; };
   aplore3 = derive2 { name="aplore3"; version="0.9"; sha256="0af6klscsxvh4amp519b6r41bzysf61p040fj4l5706bbya1arhw"; depends=[]; };
   aplpack = derive2 { name="aplpack"; version="1.3.3"; sha256="010saim43d3hr83ksi916846rh6qfbb0gvhsf5jbdx95m4bai9g3"; depends=[]; };
   apmsWAPP = derive2 { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[aroma_light Biobase DESeq edgeR genefilter gtools multtest seqinr]; };
   apng = derive2 { name="apng"; version="1.0"; sha256="13hvr1w566anrhdicaqwqjgfq2lk3zkn5gcfgy8zazjnad4vy07y"; depends=[bitops]; };
-  apollo = derive2 { name="apollo"; version="0.0.7"; sha256="1znbxyvwyv7mm8jz86xj50yx2x9hpp6awdh567aw9pkvdy6bwmjp"; depends=[coda maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB sandwich]; };
+  apollo = derive2 { name="apollo"; version="0.0.9"; sha256="1gzwfra74bb8jihc75lgymf5m194xmk6wz7p9mhjchgvb98czjqz"; depends=[coda maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB sandwich]; };
   apparent = derive2 { name="apparent"; version="1.1"; sha256="03n3pq620xg1vykzsmvxp6wr9hs561pl5ds50g7zmxk9z0ijcb32"; depends=[outliers]; };
   apple = derive2 { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; };
   appnn = derive2 { name="appnn"; version="1.0-0"; sha256="0wkpr6lcd68wlzk6n622ab7sd99l837073czn4k56hw8bw9v68j3"; depends=[]; };
@@ -4942,7 +5115,7 @@ in with self; {
   apt = derive2 { name="apt"; version="2.5"; sha256="1y18bqnnxy5p0xx9gbfrnrzq3nlhw3psl5zlibrw6lfhb8lxd4mk"; depends=[car copula erer gWidgets urca]; };
   aptg = derive2 { name="aptg"; version="0.1.0"; sha256="06z8041h1k9v0ymd7azn11xzhqxb8lda4r7nyg51h8z3i8mpq1ba"; depends=[ape brranching phytools taxize xml2]; };
   aqfig = derive2 { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
-  aqp = derive2 { name="aqp"; version="1.17"; sha256="1r3yxb3dw9drgi6xpzyrmg9i08l1mrvdc05v5mwvhhply7v8n3d4"; depends=[cluster digest Hmisc lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
+  aqp = derive2 { name="aqp"; version="1.18"; sha256="0r51pwz2wdq4fbrn2jcw9byb159m6gflxc9pwxp4klgzmmd64li3"; depends=[cluster digest lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
   aqr = derive2 { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[RCurl xts]; };
   ar_matrix = derive2 { name="ar.matrix"; version="0.1.0"; sha256="1d531hkl50szfa1q0zbp8dp1a9jli63kwvxjgc9n0ar279y47qdz"; depends=[MASS Matrix sp sparseMVN]; };
   arabicStemR = derive2 { name="arabicStemR"; version="1.2"; sha256="1vflynbi7aln7x2p4jg9gsvfrxn4v6qkb4wbrzxmj561lqy9fcay"; depends=[]; };
@@ -4951,8 +5124,9 @@ in with self; {
   archetypal = derive2 { name="archetypal"; version="1.0.0"; sha256="1b5c881balv4p0zr7bgg741mzfnw5fvg6ns303rsqashydxcnyiv"; depends=[doParallel geometry inflection lpSolve Matrix]; };
   archetypes = derive2 { name="archetypes"; version="2.2-0.1"; sha256="0ibxsr173ib77gjhid91m85s8gjii4mi2w3d52q5301igv20p7r0"; depends=[modeltools nnls]; };
   archiDART = derive2 { name="archiDART"; version="3.2"; sha256="08jam0nbqvrgrxjqj24k7f0dybyi935w977yi1qk34q1p48462ph"; depends=[rgl sp XML]; };
-  archivist = derive2 { name="archivist"; version="2.3.2"; sha256="0v3l9k0g4ddzqm1aghic4mmnzdbz8hyi2c4zjyv2d34iy58032p3"; depends=[DBI digest flock httr lubridate magrittr RCurl RSQLite]; };
+  archivist = derive2 { name="archivist"; version="2.3.4"; sha256="1i11hrcq1910jgd6diw6h3sxx624v57zjianm49pqvb2dvd0b8y7"; depends=[DBI digest flock httr lubridate magrittr RCurl RSQLite]; };
   archivist_github = derive2 { name="archivist.github"; version="0.2.6"; sha256="092fzi505vx9xbk41m86d0isxna42iflp7q2kjiqa6z1ccvim2yx"; depends=[archivist digest git2r httr jsonlite]; };
+  arcos = derive2 { name="arcos"; version="0.8.2"; sha256="055sr3brad4p47d018s14zsxlqyzfcvk7zdkqfdi9bxqway8vm7q"; depends=[dplyr jsonlite magrittr stringr urltools vroom]; };
   areal = derive2 { name="areal"; version="0.1.5"; sha256="01fh4al7hz9hxnvkp4my8937czhr8jnxyvpnj4gmhsm4alv25yfc"; depends=[dplyr glue purrr rlang sf]; };
   areaplot = derive2 { name="areaplot"; version="1.2-1"; sha256="1bmr092pgflgyss50xy1hs5xjl57i2wmfg7qa513sh120fi2mina"; depends=[]; };
   arena2r = derive2 { name="arena2r"; version="1.0.0"; sha256="14zjpglp389pldi436935fz6mgi4jdgfii1m035nsvihrms9gqkh"; depends=[dplyr ggplot2 magrittr purrr rlang shiny shinyBS shinydashboard shinyjs tidyr]; };
@@ -4960,12 +5134,12 @@ in with self; {
   arfima = derive2 { name="arfima"; version="1.7-0"; sha256="0kj8qv6m2fcdw8x735n8fk9cynm0jxi5v9hif0f879sxk6qkxb9y"; depends=[ltsa]; };
   argo = derive2 { name="argo"; version="2.0.0"; sha256="0gy43p7wdja3q99db56b8dr3yx8ca0zjv4gc33xv61fypdimgqrd"; depends=[boot glmnet Matrix XML xtable xts zoo]; };
   argon2 = derive2 { name="argon2"; version="0.2-0"; sha256="0kqn06rpb39jlzizjlnc5c44mfic8llrshxn7ljgmyj35lbqwxqh"; depends=[]; };
-  argonDash = derive2 { name="argonDash"; version="0.1.0"; sha256="002q766mhwasq44yr39k8rhdxgbz4l1zxg26i3r2gbc260if4jbd"; depends=[argonR htmltools shiny]; };
-  argonR = derive2 { name="argonR"; version="0.1.0"; sha256="053cwvaacddixr84y05qaffykvk6bymhisdgafs24zcirdqzpl0a"; depends=[htmltools]; };
+  argonDash = derive2 { name="argonDash"; version="0.2.0"; sha256="1wykr7y5375g1nb18ynybccxmd948xrr0gdwxxqsfjf782vlgd2d"; depends=[argonR htmltools shiny]; };
+  argonR = derive2 { name="argonR"; version="0.2.0"; sha256="15hlvansqnky9bnq4r7xza3hb1hzylmhz8117wxz9lxa1wiky2is"; depends=[htmltools rstudioapi]; };
   argosfilter = derive2 { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; };
   argparse = derive2 { name="argparse"; version="2.0.1"; sha256="1as7h6z7kzgv0fqzpnp76qbm96b4jcd37azd58b7rz0l1n94764l"; depends=[findpython jsonlite R6]; };
   argparser = derive2 { name="argparser"; version="0.4"; sha256="0s1wxshx4jk69wfxhycx973q6y8cmqrfymyjklhq1i8xrj0kmmx9"; depends=[]; };
-  ari = derive2 { name="ari"; version="0.3.1"; sha256="0hrmvnqs56v94lgl8i14p336nfcnd2x5yam4hclw7i4mj2l3r9ys"; depends=[hms progress purrr rmarkdown rvest text2speech tuneR webshot xml2]; };
+  ari = derive2 { name="ari"; version="0.3.2"; sha256="1wa1ag1v2f3x9817w7q4vj1byxws95zm3b220nr196x9x4y9d8mj"; depends=[hms progress purrr rmarkdown rvest text2speech tuneR webshot xml2]; };
   aricode = derive2 { name="aricode"; version="0.1.2"; sha256="0w5ap0lhp9x67qvz3z80y49311g6h24x11yn8ziv75s3kaxy2wvz"; depends=[Matrix Rcpp]; };
   arkdb = derive2 { name="arkdb"; version="0.0.5"; sha256="00ih2in6q0kismpc5jc8w3609nxjkmybx8i19cjlbr93y2zjm29i"; depends=[DBI progress]; };
   arm = derive2 { name="arm"; version="1.10-1"; sha256="0vvp90jygajd6ydky57z66wqjq9msfbl88irj5jbsray574mh4bg"; depends=[abind coda lme4 MASS Matrix nlme]; };
@@ -4978,35 +5152,36 @@ in with self; {
   aroma_core = derive2 { name="aroma.core"; version="3.2.0"; sha256="1c4spy2sc80clz49irzilsqy65k6q2vl86qaydnymkzljcz7bbpg"; depends=[future listenv matrixStats PSCBS R_cache R_devices R_filesets R_methodsS3 R_oo R_rsp R_utils RColorBrewer]; };
   arpr = derive2 { name="arpr"; version="0.1.1"; sha256="0j69nbmhmhmyfna011gv68wvxv1x2lijz94pyg9g2ax720x74i2q"; depends=[magrittr]; };
   arrApply = derive2 { name="arrApply"; version="2.1"; sha256="0qy7iwi580rrf3sycsbv6qgxsqcdy9pdbnkdrx81j68qni9iw737"; depends=[Rcpp RcppArmadillo]; };
-  arrangements = derive2 { name="arrangements"; version="1.1.5"; sha256="05frcgk9jxjbbkrj2mmv5vwj8zfbg3pvkysi1fjd9sbbimlzvjn7"; depends=[gmp R6]; };
+  arrangements = derive2 { name="arrangements"; version="1.1.7"; sha256="1amnpkgzmdwybfdqpc8c7v5h5cf19idmc552xsv7c7bmlclyrjv2"; depends=[gmp R6]; };
   arrayhelpers = derive2 { name="arrayhelpers"; version="1.0-20160527"; sha256="1ib91hpg6xgy0jr4sb8ib19x0v4f5n96lak0qm0z5vksawgcnp1l"; depends=[svUnit]; };
+  arrow = derive2 { name="arrow"; version="0.15.1.1"; sha256="0qdzq22x3cqfwa9a62rl718kbmq87rk3s0k17hsh5122sb8lwvh1"; depends=[assertthat bit64 purrr R6 Rcpp rlang tidyselect]; };
   ars = derive2 { name="ars"; version="0.6"; sha256="0zs1rk3i7pc9wcvxrvjcls194mfbvmkz7cb6pwd1cm3fzjwsyxsp"; depends=[]; };
   arse = derive2 { name="arse"; version="1.0.0"; sha256="0ssaalc058m09gfcr1n0s729rx2plia3zkhlynj67drclyvhyb0i"; depends=[dplyr pracma]; };
-  arsenal = derive2 { name="arsenal"; version="3.2.0"; sha256="0npr0s8slw5vzj6012lcn7sijh6nfcaq3q741pa7hpy6pkwznv9p"; depends=[testthat]; };
+  arsenal = derive2 { name="arsenal"; version="3.3.0"; sha256="1bn1i5cdy6caw6ndqcfy41x3qb0hj3g4r8p4jl24gljygd3rvzgh"; depends=[]; };
   artfima = derive2 { name="artfima"; version="1.5"; sha256="1nqsq9fsqk9kag9n7i2r9yvf578nkdfrkkv7qy8650prka0jca2p"; depends=[gsl ltsa]; };
-  arules = derive2 { name="arules"; version="1.6-3"; sha256="0dimrq1pz449z0mz9m87nhm5bpc0v789bcc3lghhh97wwi5zah9y"; depends=[Matrix]; };
-  arulesCBA = derive2 { name="arulesCBA"; version="1.1.4"; sha256="1d0ln8mislns7ix1rch63ry4856b2cnpx99rmw9d967dmvyrm8vs"; depends=[arules discretization Matrix testthat]; };
+  arules = derive2 { name="arules"; version="1.6-4"; sha256="003c5cd3xzq39h7c19px077ygm0n1v7k83icy5zzrnkagyds2p8n"; depends=[Matrix]; };
+  arulesCBA = derive2 { name="arulesCBA"; version="1.1.5"; sha256="0mzsc9abnyj1fzvrdz26czrigmp96nhw6f832m69a2fqmld2qgkg"; depends=[arules discretization glmnet Matrix testthat]; };
   arulesNBMiner = derive2 { name="arulesNBMiner"; version="0.1-5"; sha256="1q4sx6c9637kc927d0ylmrh29cmn4mv5jxxpl09yaclzfihjlk9a"; depends=[arules rJava]; };
   arulesSequences = derive2 { name="arulesSequences"; version="0.2-22"; sha256="0m4g1mgc1swixq9z2v30bjvgnkqsjrinsmwqznrycxyzcgwbn8b3"; depends=[arules]; };
   arulesViz = derive2 { name="arulesViz"; version="1.3-3"; sha256="1c51l4hqai07qx20lbdvffxw9kx0vkgbccw7b9wz1h2n5ma90c8y"; depends=[arules colorspace DT igraph plotly scatterplot3d seriation vcd visNetwork]; };
   asVPC = derive2 { name="asVPC"; version="1.0.2"; sha256="07nfwr0lsfpwgfdgzcdn1svw8dnjfni5ga9q77yjd1bj0wf76ci2"; depends=[ggplot2 plyr]; };
   asaur = derive2 { name="asaur"; version="0.50"; sha256="0c1rgic76w3i2xhna7i52lyc0p01s5b1mxyn55gqw6i19v9mq0b3"; depends=[]; };
   asbio = derive2 { name="asbio"; version="1.5-5"; sha256="0nq388b9ma0a3p5l57v1b4js8i2a6n5rip3yi0zzzfwi3n3kxi77"; depends=[deSolve lattice multcompView mvtnorm pixmap plotrix scatterplot3d]; };
-  asciiSetupReader = derive2 { name="asciiSetupReader"; version="2.1.0"; sha256="1bvdlmr83qhjxjdyh69h6gnf8dffpqi5v60fm5z8q1j9rh3c2sr7"; depends=[data_table haven readr stringr zoo]; };
+  asciiSetupReader = derive2 { name="asciiSetupReader"; version="2.2.0"; sha256="1xh8ksxdf1i2p8pagppw1bw5s190yicpxcyc213ml3s0r4h071s5"; depends=[data_table haven miniUI readr rstudioapi shiny stringr zoo]; };
   asciiruler = derive2 { name="asciiruler"; version="0.2"; sha256="0xhkbsy9dypk09avazgxczyfkh3rhdxhwci688dw1lxnhxv1hj24"; depends=[stringr]; };
   asd = derive2 { name="asd"; version="2.2"; sha256="0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l"; depends=[mvtnorm]; };
   asdreader = derive2 { name="asdreader"; version="0.1-3"; sha256="15a922aw0v5w4hrha03xifx8cpifcc773gambgwqq6i5nz08ya26"; depends=[]; };
   ash = derive2 { name="ash"; version="1.0-15"; sha256="1ay2a2agdmiz7zzvn26mli0x0iwk09g5pp4yy1r23knhkp1pn2lb"; depends=[]; };
-  ashr = derive2 { name="ashr"; version="2.2-32"; sha256="0k3kh42g1py3s94chnq3nxm44dr4j8nqzwrassl3abc0rhh5f2v4"; depends=[assertthat doParallel etrunct foreach Matrix mixsqp pscl Rcpp SQUAREM truncnorm]; };
+  ashr = derive2 { name="ashr"; version="2.2-39"; sha256="170scg00a65kwbf7kx7lszgsgq243q5c2f0rs289qn2vqpf935b8"; depends=[assertthat doParallel etrunct foreach Matrix mixsqp pscl Rcpp SQUAREM truncnorm]; };
   asht = derive2 { name="asht"; version="0.9.4"; sha256="1aq384vgf26ig3isyp99z09glcjhl2qd43kp8qdcwk75dcrmxd7z"; depends=[bpcp coin exact2x2 exactci perm ssanv]; };
   askpass = derive2 { name="askpass"; version="1.1"; sha256="07q0ik8jzk44vpwh48rr3fnpd7dzsdhjjsl4l850rffv3dyq4h6v"; depends=[sys]; };
   aslib = derive2 { name="aslib"; version="0.1"; sha256="0dkb6bb6dqavjklbciqxqhi3fdqib9asdnhiap2gp9b9wfnkyq7k"; depends=[BatchExperiments BatchJobs BBmisc checkmate corrplot ggplot2 llama mlr parallelMap ParamHelpers plyr reshape2 RWeka stringr yaml]; };
-  asnipe = derive2 { name="asnipe"; version="1.1.11"; sha256="06bjw99rssna1pgxq8yrsp3mbwgs2x3wxf86him1766gvcs9yawq"; depends=[MASS Matrix]; };
+  asnipe = derive2 { name="asnipe"; version="1.1.12"; sha256="01k2qr9vpazj4mhz4zpngav31d69qr73i8fc59x8gdbi3ipic7rs"; depends=[MASS Matrix]; };
   aspace = derive2 { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[Hmisc shapefiles splancs]; };
   aspect = derive2 { name="aspect"; version="1.0-5"; sha256="0pbc0daxw20xcbgqyyd5gbs9kmbaf2dq8ajllx0mnfwdcak9jfgj"; depends=[]; };
   aspi = derive2 { name="aspi"; version="0.2.0"; sha256="0rhvxw243vvdv3hxa6pi343gcjc2cbxq1jzqirl9k1l4i3897l87"; depends=[]; };
   asremlPlus = derive2 { name="asremlPlus"; version="4.1-26"; sha256="01brccsfw4pqlcr7idaj11lhv75m8mb3wxsn1v2dvpka1sp8fdr4"; depends=[dae doParallel dplyr foreach ggplot2 plyr RColorBrewer reshape stringr]; };
-  assertable = derive2 { name="assertable"; version="0.2.5"; sha256="0lij4hiy06v9yxhig27m9nk0nzvcq69c6i44asggrc2vgz8215da"; depends=[data_table]; };
+  assertable = derive2 { name="assertable"; version="0.2.7"; sha256="1npks9rcrnchmd0silq6qrvqkmdkp9fwjkyyvvp1lqjclyxk6vkk"; depends=[data_table]; };
   assertive = derive2 { name="assertive"; version="0.3-5"; sha256="0blbbhlxcb5ffdxqxi62xs33ljiawh6s22a0pyvbbh79jf46rzr3"; depends=[assertive_base assertive_code assertive_data assertive_data_uk assertive_data_us assertive_datetimes assertive_files assertive_matrices assertive_models assertive_numbers assertive_properties assertive_reflection assertive_sets assertive_strings assertive_types knitr]; };
   assertive_base = derive2 { name="assertive.base"; version="0.0-7"; sha256="1xs3ysvj0z57c58jw57pckq2rynia6ks4rmjmc02alczhk54wbgh"; depends=[]; };
   assertive_code = derive2 { name="assertive.code"; version="0.0-3"; sha256="1qhbp668zfvhqs8avkhg9amp4zyazz6dsy4fc6kpdmw3sv8yi07g"; depends=[assertive_base assertive_properties assertive_types]; };
@@ -5025,8 +5200,9 @@ in with self; {
   assertive_types = derive2 { name="assertive.types"; version="0.0-3"; sha256="0zxq1jfrzgw95ll7alvm0xnk7aihjdksngq4ya2whyvfjbmv4vdb"; depends=[assertive_base assertive_properties codetools]; };
   assertr = derive2 { name="assertr"; version="2.6"; sha256="0g4ii6vhp0155a29ljhs64a09x0nzy5ybvwwchhk4mkcgsvnvfkj"; depends=[dplyr MASS rlang]; };
   assertthat = derive2 { name="assertthat"; version="0.2.1"; sha256="17wy5bdfzg73sg2clisg1k3zyn1adkj59x56m5nwia2k8z67zkw5"; depends=[]; };
-  assignPOP = derive2 { name="assignPOP"; version="1.1.6"; sha256="0d9sqr7xdkj6an68bwkscsyy8cxafad7km28i94p3kvi0bj7wcaz"; depends=[caret doParallel e1071 foreach ggplot2 MASS randomForest reshape2 stringr tree]; };
-  assist = derive2 { name="assist"; version="3.1.5"; sha256="12mzg1lqy0f35m0bq7kb4jw0l5g0rsghx11ibgz06w6s31g734ar"; depends=[lattice nlme]; };
+  assignPOP = derive2 { name="assignPOP"; version="1.1.7"; sha256="0zx7cblfzfpi5jvagni56845lg198zkx5q43ip3lg8h0sq2h8qp2"; depends=[caret doParallel e1071 foreach ggplot2 MASS randomForest reshape2 stringr tree]; };
+  assignR = derive2 { name="assignR"; version="1.1.3"; sha256="0pmzgz955nqxlcnb0f0kbv415kysjl12niyh704ksvhs5yw0xhah"; depends=[maptools raster rgdal sp]; };
+  assist = derive2 { name="assist"; version="3.1.6"; sha256="13r029z32f2xcspafx01jkgmabbjcvnp8wg1wx1liwxh3mf2zalg"; depends=[lattice nlme]; };
   assocInd = derive2 { name="assocInd"; version="1.0.1"; sha256="16yzgvlqbapjhvzm5nw8vfrhh8mp9llnhck4bpgmszyrh93z1ha5"; depends=[]; };
   assortnet = derive2 { name="assortnet"; version="0.12"; sha256="1vyzrb8vsi9pcdn6jd83k77bg0q2a3dwdvlnmxnshqiif2pakb8m"; depends=[]; };
   aster = derive2 { name="aster"; version="1.0-3"; sha256="1bcghw30db8m39fqza2msi6ahfn6yx7gaa3fzcmnxb8jrvrlpjgy"; depends=[trust]; };
@@ -5042,27 +5218,28 @@ in with self; {
   asymmetry = derive2 { name="asymmetry"; version="2.0.2"; sha256="0x5yzlf804mhwfr9244b04vnixiyh5d8vmqrfffgid3dijg2zszm"; depends=[gplots smacof]; };
   asympTest = derive2 { name="asympTest"; version="0.1.4"; sha256="02l07psiy1888zx86j2r1l5lznz47wdmzbh39pd2nbj8r9i80szr"; depends=[]; };
   asypow = derive2 { name="asypow"; version="2015.6.25"; sha256="0il38djkmw5ka7czpalmhq6yycx7flpdpgbd7p5nx52rsjdv49mj"; depends=[]; };
-  atable = derive2 { name="atable"; version="0.1.2"; sha256="0859yyg2a548wajsmjljzk5hysj14fgsk63qhy35838rkgw85zxc"; depends=[DescTools doBy effsize Hmisc plyr reshape2 settings]; };
+  atable = derive2 { name="atable"; version="0.1.5"; sha256="0jvlch6yhcz5azxj9yllah0x98plws5camxqis58qyqiapgvl9h8"; depends=[DescTools doBy effsize Hmisc plyr reshape2 settings]; };
   atlas = derive2 { name="atlas"; version="1.0.0"; sha256="02wm22j40llmdi6z3rzgbc5fpkzmjfq0xar33bypvj1dx1zxygnd"; depends=[httr testthat]; };
   atmcmc = derive2 { name="atmcmc"; version="1.0"; sha256="05k69b5wlysz3kh0yiqvshgvr0nyz34zkvn6bjs30cwz7s9j21pn"; depends=[]; };
   atmopt = derive2 { name="atmopt"; version="0.1.0"; sha256="1h79ngq1236gz4w29fs3nj46a3m1x8a28z3xnhc6wn3a46cf8zzi"; depends=[DoE_base gtools hierNet]; };
   atsd = derive2 { name="atsd"; version="1.2.0"; sha256="0jan8r5f2r3l2xpdf9rrv4smkr2l645rfdgdfjb1xa54jd3pqvqs"; depends=[httr RCurl]; };
   attachment = derive2 { name="attachment"; version="0.0.9"; sha256="0z47v5nqvw0grgll2bl66zy82igg1ncy78jm9dwv45yd4dl2xi10"; depends=[desc devtools glue knitr magrittr rmarkdown stringr]; };
   attempt = derive2 { name="attempt"; version="0.3.0"; sha256="1q0r4r0hirw2kxsvcq5rqkmbxzi7fa6fxaqi6rmzwiz25025iv71"; depends=[rlang]; };
+  attenuation = derive2 { name="attenuation"; version="1.0.0"; sha256="0ys4psvkvimmym4qj9cmhq8y7x10kv0x6bsvpjkrsc3l8p2g3474"; depends=[]; };
   attrCUSUM = derive2 { name="attrCUSUM"; version="0.1.0"; sha256="113y40v9hyvnvvzvyqg81n0n1h84pj4zph5q8p0vc0384hw00544"; depends=[Rcpp RcppArmadillo]; };
   atus = derive2 { name="atus"; version="0.2"; sha256="1i67rx8p5v4shgbfcym4lbnlw55xx7w2fdzhgsgjjyfpwbpm7h4h"; depends=[]; };
   auRoc = derive2 { name="auRoc"; version="0.2-0"; sha256="1q5cpa1y96bs5x0vifi0h6ca4yasg3z57yhq29vicd433h3phy3x"; depends=[coda MBESS ProbYX rjags]; };
-  aucm = derive2 { name="aucm"; version="2018.1-24"; sha256="0x10dawlwxqywjl7mxc2gpp2r4wnd7pb6n80xlrb9yywm7zbb6x2"; depends=[kyotil]; };
+  aucm = derive2 { name="aucm"; version="2019.12-1"; sha256="1vjb5jiq2iz6c8nhfcbqg21nms7nf485xlrgd7mdkbzvqxxl43h6"; depends=[kyotil]; };
   auctestr = derive2 { name="auctestr"; version="1.0.0"; sha256="15b1x0c9yhl91gir7jmivp8vxzc8q7wvb0mgam9454avc6l29x4y"; depends=[dplyr tidyr]; };
   audio = derive2 { name="audio"; version="0.1-6"; sha256="1f3k7n8x716kqx439jd0g0dc5iwc33jzzas4ikjrlgidp89i89iz"; depends=[]; };
   audiolyzR = derive2 { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin plotrix RJSONIO]; };
   audit = derive2 { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; };
-  auditor = derive2 { name="auditor"; version="0.3.1"; sha256="1ndd5a5264b91qaw0qj9rwjvhn9lgw7y5dirjqlzkib6q9mcyanq"; depends=[car factoextra fdrtool GGally ggplot2 ggrepel gridExtra hnp plotROC ROCR tseries]; };
+  auditor = derive2 { name="auditor"; version="1.1.0"; sha256="10f9vk92w35rd56jsp81a31fm7ys28f9acnp2qr1n28c14m4pbvz"; depends=[DALEX ggplot2 ggrepel gridExtra hnp scales]; };
   augSIMEX = derive2 { name="augSIMEX"; version="3.7.3"; sha256="0cdqpckc4aiwi2dnkcvk2m9n0bg9f7qmd84n3rdw6clcrd0f95wz"; depends=[Formula MASS nleqslv Rcpp rootSolve]; };
   augmentedRCBD = derive2 { name="augmentedRCBD"; version="0.1.1"; sha256="0l2x8f8xqrvsn4gbi707xw2nfxcvcmxwgpzq4vh8ngxnq89m2179"; depends=[dplyr emmeans flextable ggplot2 moments multcomp multcompView officer Rdpack reshape2 stringi]; };
-  auk = derive2 { name="auk"; version="0.3.3"; sha256="0ysp1wn8ik2sgl2cc21bjvfhr39clc485frpi6z7xmnh57aqi56q"; depends=[assertthat countrycode dplyr httr magrittr rlang stringi stringr tidyr]; };
+  auk = derive2 { name="auk"; version="0.4.0"; sha256="1wrplqbzfa0jp91hxc1jd5vjm587pz1768s7csfqvrgn8ziy9akx"; depends=[assertthat countrycode dplyr httr magrittr rlang stringi stringr tidyr]; };
   aurelius = derive2 { name="aurelius"; version="0.8.4"; sha256="00bpf9sggvnajpmg3zsdgfjinkb6wbrcf1ris7qfhh1rp5rz4m4m"; depends=[gbm glmnet jsonlite]; };
-  auth0 = derive2 { name="auth0"; version="0.1.1"; sha256="1snmd6b16paglfpaf0bawja25rj3n7k8cv3hd7112vspc7lb62h0"; depends=[htmltools httr shiny yaml]; };
+  auth0 = derive2 { name="auth0"; version="0.2.1"; sha256="077nqh28q3b9jb25fy0157l06zpx3x0rg4z5dz2dqsh88xy4nhqj"; depends=[htmltools httr shiny shinyjs yaml]; };
   auto_pca = derive2 { name="auto.pca"; version="0.3"; sha256="01m2ldpcxzj7fhgmr9wp4ha3gqdyh7l5bkrnw83smcbq5229hsyy"; depends=[plyr psych]; };
   autoBagging = derive2 { name="autoBagging"; version="0.1.0"; sha256="01k44rgkpbbr3m2x360aq0fz2qi7nz036g5dsh2y3jy94rmddbyy"; depends=[abind caret cluster CORElearn e1071 entropy infotheo lsr MASS minerva party rpart xgboost]; };
   autoFRK = derive2 { name="autoFRK"; version="1.1.0"; sha256="0yl6cj9nzib0xp75i0nd642yd0r0l51vwy3ivizqigjv4sq1pd2f"; depends=[fields filehash filehashSQLite filematrix FNN LatticeKrig MASS mgcv Rcpp RcppEigen RcppParallel RSpectra spam]; };
@@ -5078,11 +5255,12 @@ in with self; {
   autoshiny = derive2 { name="autoshiny"; version="0.0.2"; sha256="0s06ynnirgsh19x8qq4020piirkhvjqpvz372syygvlal062y6cn"; depends=[shiny]; };
   autothresholdr = derive2 { name="autothresholdr"; version="1.3.5"; sha256="1dvc21w57ir34vhcrbz58scl4ly057yn1ibmdkly99hwfkpihv3x"; depends=[checkmate filesstrings glue ijtiff magrittr purrr Rcpp rlang]; };
   autovarCore = derive2 { name="autovarCore"; version="1.0-4"; sha256="0i5fvx0z2kri0c855q40hd596kfjhmwpp2zw7d7k0xvk2xbcgbiv"; depends=[Amelia jsonlite Rcpp urca vars]; };
-  av = derive2 { name="av"; version="0.2"; sha256="0vw6136sh1rgsah10xrcrgrpb6rpf5l8vixs950yq51syxc1y2qc"; depends=[]; };
+  av = derive2 { name="av"; version="0.3"; sha256="0gvd4ncr71ibcshdnhmm3y396q71pnk84jh3zpwhdxpvfah4haky"; depends=[]; };
   available = derive2 { name="available"; version="1.0.4"; sha256="18dqm10dicbvjd5wli4nkv4fip0fgh2b9h9gm5511ayfsdg8lc8l"; depends=[cli clisymbols crayon desc glue jsonlite memoise SnowballC stringdist tibble tidytext udapi yesno]; };
+  avar = derive2 { name="avar"; version="0.1.0"; sha256="00pp2irhw04jry545l4hvklf25aphdrz8djrhxx2936icgxz5kw4"; depends=[Rcpp RcppArmadillo simts]; };
   averisk = derive2 { name="averisk"; version="1.0.3"; sha256="02j27d4jxgy2bk5sgxp1xdfyqr321civs99qj0g8cp34gwqk0j3m"; depends=[MASS]; };
   aweek = derive2 { name="aweek"; version="1.0.0"; sha256="0a9d4yp694qch34mf08qc5fwsn21h9mw1ak6vylaq73nwiihajw9"; depends=[]; };
-  aws = derive2 { name="aws"; version="2.2-1"; sha256="1g0saj3v67cjdk6396ck3ah7qvv3m9awj4b3v1n86nkwdpa75z91"; depends=[awsMethods gsl]; };
+  aws = derive2 { name="aws"; version="2.3-0"; sha256="12gp0jv63hrvbjl38ksdb024c79bgglvzvl2j32z2kjdd2lhi90b"; depends=[awsMethods gsl]; };
   aws_alexa = derive2 { name="aws.alexa"; version="0.1.7"; sha256="0k3kwkmi13j2nrkyi6ahpc98s24idx4m5s4wkqkgqhi8xaljpp7c"; depends=[aws_signature dplyr httr xml2]; };
   aws_cloudtrail = derive2 { name="aws.cloudtrail"; version="0.1.5"; sha256="0p7qj9ivs14ska11a9qni4n0f8d05c1p126zvlxj9038c9p0y1wx"; depends=[aws_s3 aws_signature httr jsonlite]; };
   aws_comprehend = derive2 { name="aws.comprehend"; version="0.1.2"; sha256="0480ggfdmcv2pkjzmwh40h4nd87qswrpwr6h3j959f9y8zmzfd7n"; depends=[aws_signature httr jsonlite]; };
@@ -5093,7 +5271,7 @@ in with self; {
   aws_polly = derive2 { name="aws.polly"; version="0.1.2"; sha256="0ij0rbng8q7xfa08p4x1l1lcmskmz3fy2pvln28zxqbs6jbc22rm"; depends=[aws_signature httr jsonlite tuneR]; };
   aws_s3 = derive2 { name="aws.s3"; version="0.3.12"; sha256="1yfi9ihrd0hmzxklc86mf5hcwgzsb5c4p1i402vgpg5mfvcvp3rl"; depends=[aws_signature base64enc digest httr xml2]; };
   aws_ses = derive2 { name="aws.ses"; version="0.1.4"; sha256="13hf4iqhnpkm9rnr7nzwky663vplnkjrgk90zix91cn2fvaspjgp"; depends=[aws_signature httr jsonlite]; };
-  aws_signature = derive2 { name="aws.signature"; version="0.5.0"; sha256="1ij24k8lqripvdd4hzmrrvx6nvmymm8ndph9y7z2fh0cvmi43p0m"; depends=[base64enc digest]; };
+  aws_signature = derive2 { name="aws.signature"; version="0.5.2"; sha256="0skibgf2l6n7ql51gnlmvjyfmaqa8ijc9gywmyhvrcj9bix2pydf"; depends=[base64enc digest]; };
   aws_sns = derive2 { name="aws.sns"; version="0.1.7"; sha256="0i8nn5jnykhsjwn4nsqdqbagankjc09zs8and54rkirdigzdny8v"; depends=[aws_signature httr jsonlite xml2]; };
   aws_sqs = derive2 { name="aws.sqs"; version="0.1.10"; sha256="09sh3injb4kfrq5al7hmbnqdn5v5hnjkqqsz86vpi4154435ymdg"; depends=[aws_signature httr jsonlite xml2]; };
   aws_transcribe = derive2 { name="aws.transcribe"; version="0.1.2"; sha256="12qz7j535aqxcvcawj4iqycbcmlba32sdl8qj2cw6rq5rgm55xaz"; depends=[aws_signature httr jsonlite]; };
@@ -5101,6 +5279,7 @@ in with self; {
   awsMethods = derive2 { name="awsMethods"; version="1.1-1"; sha256="0hbmrcpdyg15zg4rysscsmxpxlpy0dkxx2aa63qibq7l1k14v4sh"; depends=[]; };
   awsjavasdk = derive2 { name="awsjavasdk"; version="0.2.0"; sha256="1461h565il4y68g0a3k7wgn9jyb6pys8405f780ldg6g44aa7p60"; depends=[assertthat R_utils rappdirs rJava]; };
   awspack = derive2 { name="awspack"; version="0.1.6"; sha256="0pf6g9w2r2rm887sa3v0gfwia2w2q94m40m76sq66gb3spkmngd5"; depends=[aws_alexa aws_cloudtrail aws_ec2metadata aws_iam aws_lambda aws_polly aws_s3 aws_ses aws_signature aws_sns aws_sqs]; };
+  azuremlsdk = derive2 { name="azuremlsdk"; version="0.5.7"; sha256="1r9s1avkr03hradzr66lz7xxz4s6ax8d6amxkhcnphyaykss8gh1"; depends=[DT ggplot2 htmltools plyr reticulate rstudioapi]; };
   b6e6rl = derive2 { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
   bPeaks = derive2 { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
   bReeze = derive2 { name="bReeze"; version="0.4-3"; sha256="17nc6qvw9l6sq8knd1mk193md2y3z1jlcjymqzl389yxj8s0i2il"; depends=[lubridate]; };
@@ -5108,27 +5287,29 @@ in with self; {
   baRcodeR = derive2 { name="baRcodeR"; version="0.1.3"; sha256="06fk70d52c4vi5bc42wljpxkvr3n45likhvs5b5r0lpw4himy1fm"; depends=[DT miniUI qrcode rstudioapi shiny]; };
   babar = derive2 { name="babar"; version="1.0"; sha256="13j5klrcnd4dwrgdbxlvwcj56l9mzi4j9ga6jj5i04pgdc6vsfx5"; depends=[]; };
   babel = derive2 { name="babel"; version="0.3-0"; sha256="1iwvx69051yhlxbcl6bypvc3mcih0q8bf3i29r3i79356hp12xqa"; depends=[edgeR]; };
-  babelwhale = derive2 { name="babelwhale"; version="1.0.0"; sha256="054m108wws0i58r4zk1qgd2fkfccdb7rw95ja467m63k0g9pxzn3"; depends=[crayon dplyr dynutils processx purrr]; };
+  babelwhale = derive2 { name="babelwhale"; version="1.0.1"; sha256="0mgkg9hji4mab3l33vvyyyc1d2q84l1zrmg63vr3b3gr0d62jcnl"; depends=[crayon dplyr dynutils processx purrr]; };
   babynames = derive2 { name="babynames"; version="1.0.0"; sha256="1vchzyk5pkr0zhh1q8k9g771n45jxiislipwkgrgamv7yzr49xsp"; depends=[tibble]; };
-  bacistool = derive2 { name="bacistool"; version="0.9.8"; sha256="1yq7d2657l6iyy5v094c9rwphbpyhnijhwvacwhb07k6c6h069wh"; depends=[rjags]; };
+  bacistool = derive2 { name="bacistool"; version="0.9.9"; sha256="06734pi829xhfkpdhysa62x1sc0shhbdn6l9vls2cyfr30w6y6md"; depends=[rjags]; };
   backShift = derive2 { name="backShift"; version="0.1.4.2"; sha256="1nj7mcdpzfzq68qg86rrys752gzw69n99yyb0jzg6r8qrgpcxj49"; depends=[clue ggplot2 igraph MASS matrixcalc mvnmle reshape2]; };
+  backbone = derive2 { name="backbone"; version="1.1.0"; sha256="1ggs22s5pxy0y8plnnr1mkvgcc3bvpz9a2427cw3kpp61gcsh5a8"; depends=[Matrix poibin]; };
   backpipe = derive2 { name="backpipe"; version="0.2.3"; sha256="12k2cv9x8h0b002m9c8g4vj5a7chp4b8jqz377ia0diqw89dydpm"; depends=[]; };
-  backports = derive2 { name="backports"; version="1.1.4"; sha256="00zz969vc2gfi5p9q65pzghq2bxm3p9zqgwqswkyz9rgybz5wjzf"; depends=[]; };
+  backports = derive2 { name="backports"; version="1.1.5"; sha256="0k19w68b2aihyj5mflw3732gkkzs78sssqdns960pdw3yfnkiv33"; depends=[]; };
   backtest = derive2 { name="backtest"; version="0.3-4"; sha256="1s0mf247dz2vvyf4m3sp9xiqhv7xcs4rphyg9gdcy73060sah2ad"; depends=[lattice]; };
   bacr = derive2 { name="bacr"; version="1.0.1"; sha256="14zr1v4rihx0ra3x0vsb81vsz0g8gzskkdxkg7nhiz835hp2fiy8"; depends=[MCMCpack]; };
   badgecreatr = derive2 { name="badgecreatr"; version="0.2.0"; sha256="0mdixklaxky5gs8zm99ky280vxxlbq1mxnaarq6x0d1cb71bzv4l"; depends=[git2r]; };
-  badger = derive2 { name="badger"; version="0.0.4"; sha256="0y0kr0r5b44c19w93sisd61khiwhlgj3n88mhfgs3ljbl68qjcvh"; depends=[dlstats rvcheck]; };
+  badger = derive2 { name="badger"; version="0.0.7"; sha256="1djgzn6ixfsdr0v4f3714mv2z2kl776dd2hq670g7bla4lp6344s"; depends=[desc dlstats rvcheck]; };
   bagRboostR = derive2 { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
   baggedcv = derive2 { name="baggedcv"; version="1.0"; sha256="1rqs4sm6g1anck5s2dxlm1vcmylpphcbs2dpvf1sjki5lrzdq9z4"; depends=[doParallel foreach kedd mclust]; };
-  baggr = derive2 { name="baggr"; version="0.1.0"; sha256="04iqvdj3ih5i6qwb25rmngvhw66v00xb2x5mzgbicd712dydp57s"; depends=[bayesplot BH crayon ggplot2 gridExtra Rcpp RcppEigen rstan rstantools StanHeaders]; };
-  bain = derive2 { name="bain"; version="0.2.1"; sha256="0z3c6k4hr6zkkzm2v8m1rmblbcz2j7hzipa9brirhhwqdlh8l6mj"; depends=[]; };
+  baggr = derive2 { name="baggr"; version="0.2.0"; sha256="0hg7wxyq072vf1sqbiai9lgfc01k2l7v99nnlmlgy1m3r3m5f631"; depends=[bayesplot BH crayon ggplot2 gridExtra Rcpp RcppEigen rstan rstantools StanHeaders testthat]; };
+  bain = derive2 { name="bain"; version="0.2.2"; sha256="08cgqba073hkisg122612va8ry971cvqs564gg9c7cfyipg5rilz"; depends=[lavaan]; };
   bairt = derive2 { name="bairt"; version="0.1.2"; sha256="17nc0lp0bzwshik33v0gq5d6nd2gvm4799b7rfiq089zhnzv90kj"; depends=[coda mvtnorm shiny shinyjs]; };
   baitmet = derive2 { name="baitmet"; version="1.0.1"; sha256="02ydakqr8v41hdnhcsgigwnic8d48qswryg1srb5w1fqdmdglnkl"; depends=[erah HiClimR Rcpp signal XML]; };
   balance = derive2 { name="balance"; version="0.2.4"; sha256="13ksd1ysd2by8qdc3vn1fgnaj1c2v0py7f501bajiyq6hpcwn1c5"; depends=[ggplot2]; };
-  ballr = derive2 { name="ballr"; version="0.2.3"; sha256="1bfbdzn4q3i5m87vbxymxha54vgxjfckzpxk52m54fkwpz6yw9cl"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
+  ballr = derive2 { name="ballr"; version="0.2.4"; sha256="0b9y5cr2qwgdnhv15ir7d3fiajg9lzccs0k8v19gq491201ssa1w"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
+  bama = derive2 { name="bama"; version="0.9.1"; sha256="1yx0gv5qxq3si5vzrrjy8y6d3b0v433aljyniyx9dp6q6mcqrhvw"; depends=[Rcpp RcppArmadillo]; };
   bamboo = derive2 { name="bamboo"; version="0.9.24"; sha256="1fw1wniba0kxb44d2w9r9nh5sy1jhrk48bn0zblz2y6gvwn8m2vn"; depends=[rscala]; };
   bamdit = derive2 { name="bamdit"; version="3.3.2"; sha256="11v9hy8ijbcqhwim0s3y69dz11jvys4vjvfnshj4p5qdz38sji6l"; depends=[ggExtra ggplot2 gridExtra MASS R2jags rjags]; };
-  bamlss = derive2 { name="bamlss"; version="1.0-2"; sha256="1g28c91j6zkmcah7dblgpgw789fsrcd9f3gbr8n8aa2yfflazjkp"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp survival]; };
+  bamlss = derive2 { name="bamlss"; version="1.1-1"; sha256="06i0yfmq5k98yqs8mfw3ppkanlp34v18fb1xynxaxwgj9d58h5k3"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp survival]; };
   bamp = derive2 { name="bamp"; version="2.0.7"; sha256="0yrqy4cj6wq98d5yfm9ahzhp2giwyqzd93s2fhxb8r4mzza5i9hm"; depends=[abind coda]; };
   banR = derive2 { name="banR"; version="0.2.0"; sha256="0m71m99f8f4wckylry6z16gw6r2cc4wxbd9287ns00jr6s13x6c8"; depends=[dplyr httr magrittr purrr readr rlang stringr tibble]; };
   bandit = derive2 { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
@@ -5138,6 +5319,7 @@ in with self; {
   banxicoR = derive2 { name="banxicoR"; version="0.9.0"; sha256="0vchm2hnqm45fhn8k38rcam4vkazmifcl40390s2r04bgvqr0pnl"; depends=[rvest stringr xml2]; };
   bapred = derive2 { name="bapred"; version="1.0"; sha256="08kvc4cc984jv08ikwbja8zxidrcdiwi5w88hlqakbm8yc6hzssa"; depends=[affy affyPLM Biobase FNN fuzzyRankTests glmnet lme4 MASS mnormt sva]; };
   barcode = derive2 { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
+  barplot3d = derive2 { name="barplot3d"; version="1.0.1"; sha256="182kpiknv3id1bsgcc6b3ahbxmm8x3lxcpf1r6rckpr3s0whfx3g"; depends=[rgl]; };
   barsurf = derive2 { name="barsurf"; version="0.3.1"; sha256="07s43sy5200mwxasmcar4lsw7bm1112ck7z62rbyxnawg1zmrwq5"; depends=[colorspace]; };
   bartMachine = derive2 { name="bartMachine"; version="1.2.4.2"; sha256="100zcpbndbps01qnybrgmsfnh37j93661l4v7zcin0i56cvgg998"; depends=[bartMachineJARs car missForest randomForest rJava]; };
   bartMachineJARs = derive2 { name="bartMachineJARs"; version="1.1"; sha256="1wpfzrb6mrx3xmxy4rgnwygmpqq2l4ki2xqr4m51g1bl9nwirhzj"; depends=[rJava]; };
@@ -5147,14 +5329,15 @@ in with self; {
   base64enc = derive2 { name="base64enc"; version="0.1-3"; sha256="13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd"; depends=[]; };
   base64url = derive2 { name="base64url"; version="1.4"; sha256="0n1c2b68vza1dh7sk38v6biiwm72c4jpl79kpdg1bsb0hq9qy18x"; depends=[backports]; };
   baseballDBR = derive2 { name="baseballDBR"; version="0.1.2"; sha256="0w54g1avcqamc12lmvjchlqbqck9jfjccm441k03nsql460mpydq"; depends=[dplyr magrittr rvest xml2]; };
-  basefun = derive2 { name="basefun"; version="1.0-5"; sha256="1w8nbwpa9invndhlndha4dsrmvmar4xar1hzixnxkcbrzj6yzmi8"; depends=[Matrix orthopolynom polynom variables]; };
-  baseline = derive2 { name="baseline"; version="1.2-1"; sha256="1vk0vf8p080ainhv09fjwfspqckr0123qlzb9dadqk2601bsivgy"; depends=[SparseM]; };
-  basetheme = derive2 { name="basetheme"; version="0.1.1"; sha256="021zgrdqz1yvb2linraskfk9cxqjjc3p5z5r0dhhnrkpy4ijbkyz"; depends=[]; };
-  basicMCMCplots = derive2 { name="basicMCMCplots"; version="0.2.2"; sha256="1yhdhl1vzvz7wysrgj96dgqsbdc1p7031m0m69m8ha8wx4vryil8"; depends=[]; };
+  baseflow = derive2 { name="baseflow"; version="0.11.2"; sha256="10y73s22xmrzvm697vdmnr7zal83jrxy4ifvskyhdqzsljj53p3j"; depends=[airGR]; };
+  basefun = derive2 { name="basefun"; version="1.0-6"; sha256="08ys5iqzbf95pimgaj1g2q7lwhxj73jc737ap55358h75dx0nzdx"; depends=[Matrix orthopolynom polynom variables]; };
+  baseline = derive2 { name="baseline"; version="1.2-2"; sha256="044m1znvz2c6h0z7x4zkqxld2l138kpv2pirbiz41pk72gvzv50v"; depends=[SparseM]; };
+  basetheme = derive2 { name="basetheme"; version="0.1.2"; sha256="0yck4qc7qd406s7kw95xgnfc0pfvzk3ylhkv6mk6l2wbkfm8ldrb"; depends=[]; };
+  basicMCMCplots = derive2 { name="basicMCMCplots"; version="0.2.4"; sha256="03mggvdasqrkq41dpfwsrhnxh98hfqfr3z58hrfhnjrzydwxbci9"; depends=[]; };
   basicTrendline = derive2 { name="basicTrendline"; version="2.0.3"; sha256="10rq9hriyn50b28ikvl0vsvchbkrc0pjzxamq4ix1xd04n4drkl9"; depends=[investr scales]; };
   basicspace = derive2 { name="basicspace"; version="0.20"; sha256="0nyljk8ydasirgv7ijxplyhk10s8m9k3rw5qmgf0z81dm7p257wc"; depends=[]; };
   basictabler = derive2 { name="basictabler"; version="0.3.0"; sha256="1dzjdgc8ffnr219m5zb410ln1rbnzz96g1aqb70pkg9gp0ykgk29"; depends=[dplyr htmltools htmlwidgets jsonlite R6]; };
-  basket = derive2 { name="basket"; version="0.9.2"; sha256="1d5qrnb4130ijbnq309992g3ak7zs5kl3ywii732bpnpzz6mssf7"; depends=[cli crayon dplyr foreach GenSA ggplot2 gridExtra igraph itertools tibble tidyr]; };
+  basket = derive2 { name="basket"; version="0.9.10"; sha256="1773f0abhz854sdb0jfhmfpgxpkagb3x6mzi77jycfl6ywhry48h"; depends=[cli crayon dplyr foreach GenSA ggplot2 gridExtra igraph itertools RColorBrewer tibble tidyr]; };
   bastah = derive2 { name="bastah"; version="1.0.7"; sha256="08xdba16wj0inp0kq2sbcrdr6wj8bwlq7rqnfrzjrz03wxhc5bk0"; depends=[BigQuic foreach glmnet lars MASS Matrix scalreg]; };
   batade = derive2 { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
   batch = derive2 { name="batch"; version="1.1-5"; sha256="0wdgfvk2i542cqg34ikvzwlix09f2jyjb32a0f4zh9vg9nrywswq"; depends=[]; };
@@ -5163,6 +5346,7 @@ in with self; {
   batchtools = derive2 { name="batchtools"; version="0.9.11"; sha256="02mj21ypcjv5fs7ajf63p6bq0cyvihdl55hlpqx6kmsfjin1cr0v"; depends=[backports base64url brew checkmate data_table digest fs progress R6 rappdirs stringi withr]; };
   batman = derive2 { name="batman"; version="0.1.0"; sha256="0ccgx506p4iri23k2ikb8jmh04dp08w66785bv52iy8kd359h43f"; depends=[Rcpp]; };
   batteryreduction = derive2 { name="batteryreduction"; version="0.1.1"; sha256="0j838q7063bplkzd50kmnxji80cgysfsq7m1qifv8z7a2zsh8c8g"; depends=[pracma]; };
+  baycn = derive2 { name="baycn"; version="1.0.0"; sha256="1wjm7isdvb4z5lyhix849sxzngbmk8ccdvc8qgjgdcfmnx15binq"; depends=[egg ggplot2 MASS]; };
   bayes4psy = derive2 { name="bayes4psy"; version="1.1.1"; sha256="08fziwvsdwwwpk5hjsh8r9n920qqcwz5j5566p3m78dm5dsjkl7x"; depends=[BH circular cowplot dplyr emg ggplot2 mcmcse metRology Rcpp RcppEigen reshape rstan rstantools StanHeaders]; };
   bayesAB = derive2 { name="bayesAB"; version="1.1.2"; sha256="0xg29s3h4dy43snlc365q80ix96hwh4mfy1qvv87yys3i9zfinm5"; depends=[ggplot2 Rcpp rlang]; };
   bayesCL = derive2 { name="bayesCL"; version="0.0.1"; sha256="1l278lxidn16nma2ny14wjajcqyzbr6j5xl2lj08cic26c7hvjbm"; depends=[]; };
@@ -5172,12 +5356,13 @@ in with self; {
   bayesDem = derive2 { name="bayesDem"; version="2.5-1"; sha256="1cxrqil1p692mbzkcj1fvsx335qyy6c1y43mq48s4shs1hhc69bn"; depends=[bayesLife bayesPop bayesTFR gWidgets gWidgetsRGtk2 RGtk2 wpp2015]; };
   bayesGARCH = derive2 { name="bayesGARCH"; version="2.1.3"; sha256="1480mmzfshchfbfh3x420cq5qblfh59jkl21hkq2jvnwppksdn9w"; depends=[coda mvtnorm]; };
   bayesImageS = derive2 { name="bayesImageS"; version="0.6-0"; sha256="1m0az3z8hwaxpqd1ljly9vlp41dp7c7p39r0rx7k9vcs201vlcg8"; depends=[Rcpp RcppArmadillo]; };
-  bayesLife = derive2 { name="bayesLife"; version="4.0-2"; sha256="0c4jcrwg6rgj0irmw3r6j1xyb6m76fn3wqxjrl2r9i408hnfnw83"; depends=[bayesTFR car coda data_table hett wpp2017]; };
-  bayesPop = derive2 { name="bayesPop"; version="7.0-0"; sha256="1ydr0hds09xa17117y9dvk2sym2jfk0yjip79dig9c2vsykns0cm"; depends=[abind bayesLife bayesTFR fields googleVis plyr reshape2 rworldmap wpp2012 wpp2017]; };
+  bayesLife = derive2 { name="bayesLife"; version="4.1-0"; sha256="1sswnwv4x77sd07d3hpsf3wfd5szrdnc4fni8glzl8rk3y0r3jns"; depends=[bayesTFR car coda data_table hett wpp2019]; };
+  bayesPop = derive2 { name="bayesPop"; version="8.1-1"; sha256="1xhzind6k23rcgy1iw0bqks6wz77755qs9pw6sqinfi8qbv0ax1l"; depends=[abind bayesLife bayesTFR data_table fields googleVis MortCast plyr reshape2 rworldmap wpp2012 wpp2019]; };
   bayesQR = derive2 { name="bayesQR"; version="2.3"; sha256="1c6y7r9h9626ghp68pl5k1g0l95fwd6dp0jfznmhy53qza0ny8z4"; depends=[]; };
   bayesSurv = derive2 { name="bayesSurv"; version="3.2"; sha256="1zp302pfi64nnqdiqldvfi1lm0wv2dplz5sfjp0ydl1qc16z0axp"; depends=[coda smoothSurv survival]; };
-  bayesTFR = derive2 { name="bayesTFR"; version="6.3-1"; sha256="0ddassahnba4xlbj9iqf49qw2pmqa3gskvm5dr0b31a3zg1n7dfa"; depends=[coda MASS mvtnorm wpp2017]; };
+  bayesTFR = derive2 { name="bayesTFR"; version="6.4-0"; sha256="159lcii3hpl91vypl16adzair6ik85fyjybyy6fjibxvjkn3fh3b"; depends=[coda MASS mvtnorm wpp2019]; };
   bayesammi = derive2 { name="bayesammi"; version="0.1.0"; sha256="1vfcmk47x71c5akj3ppxzb74293pikspknkkv08f8p15v0chk7fs"; depends=[dplyr ggplot2 lme4 magrittr MASS mvtnorm rlang rstiefel scales tibble tidyr tmvtnorm]; };
+  bayesanova = derive2 { name="bayesanova"; version="1.2"; sha256="1qn3bjy2k12xg67xrlscrl6nql2g0v3i3r5c0349xpq1ya2kaiya"; depends=[]; };
   bayesbio = derive2 { name="bayesbio"; version="1.0.0"; sha256="08qa4lzkrcwin7n3kzfqfdlnlqahdmjl1lxpdh29n780cgyjfvs0"; depends=[]; };
   bayesboot = derive2 { name="bayesboot"; version="0.2.2"; sha256="0976ryd0gbw3kpmxg2qxyp1m2swnrpa86vdhvqrqxp7fcrs8cs2z"; depends=[HDInterval plyr]; };
   bayescount = derive2 { name="bayescount"; version="0.9.99-5"; sha256="0c2b54768wn72mk297va3k244256xlsis9cd6zn6q5n1l7ispj6j"; depends=[coda rjags runjags]; };
@@ -5187,23 +5372,25 @@ in with self; {
   bayeslm = derive2 { name="bayeslm"; version="0.8.0"; sha256="1gvqkbz1wmqkxjwkdgj5pir5j1qy5dzjm4jv6mz3mplm16z5vzbl"; depends=[coda Rcpp RcppArmadillo RcppParallel]; };
   bayesloglin = derive2 { name="bayesloglin"; version="1.0.1"; sha256="0j2ziahf6mwsz2gvb1azvdzlmszlpqgr5zqcqa68pxgq947sa2cs"; depends=[igraph]; };
   bayeslongitudinal = derive2 { name="bayeslongitudinal"; version="0.1.0"; sha256="0g45ikpnbry1albb3asrzab5z3sy98yf74c64qn02d65xgafifwg"; depends=[LearnBayes MASS mvtnorm]; };
-  bayesm = derive2 { name="bayesm"; version="3.1-3"; sha256="041ach2f2vrqzd5kz17v7wmkjz6z8cjjihpk4qvczm4cr9z85r2i"; depends=[Rcpp RcppArmadillo]; };
-  bayesmeta = derive2 { name="bayesmeta"; version="2.3"; sha256="12rljnlr7wv0q95ild7vrsbgkpg7zw1lmh6gx4kpip1ckax04360"; depends=[forestplot metafor]; };
+  bayesm = derive2 { name="bayesm"; version="3.1-4"; sha256="154glks7rsjkza0sfi1kj7wj727py9sl1ba6sswflwmwc9n226q6"; depends=[Rcpp RcppArmadillo]; };
+  bayesmeta = derive2 { name="bayesmeta"; version="2.4"; sha256="0h2b237ml90z9xcbjy5fgc4l8k09210g101cf25mngbz76wxvy87"; depends=[forestplot metafor]; };
   bayesmix = derive2 { name="bayesmix"; version="0.7-4"; sha256="1qms1nnk2nq3gqr8zf2b9ri4wv8jrxv5i8s087k1rwdvya3k5r9a"; depends=[coda rjags]; };
-  bayesplot = derive2 { name="bayesplot"; version="1.7.0"; sha256="0h23sbfny2hcipvvfhq5aiwdh1vanizn7f8lpb9kffypxhcd7v7w"; depends=[dplyr ggplot2 ggridges glue reshape2 rlang tibble tidyselect]; };
+  bayesplot = derive2 { name="bayesplot"; version="1.7.1"; sha256="0sq0ajnm96hmlqf1cv5n2gshh3qdij4n1zbm7qrniz2q6b5aj342"; depends=[dplyr ggplot2 ggridges glue reshape2 rlang tibble tidyselect]; };
   bayespref = derive2 { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
   bayesreg = derive2 { name="bayesreg"; version="1.1"; sha256="12g5sklip3i8fpzrhvbikhgnl6kx8fxb88hfv8f34jy71r3h7zyp"; depends=[pgdraw]; };
   bayess = derive2 { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[combinat gplots MASS mnormt]; };
   bayest = derive2 { name="bayest"; version="1.0"; sha256="0ysfy96s9pk0xw0rzygf43c5jpj9j37kap3cd6w3m6361a0dw8mj"; depends=[]; };
-  bayestestR = derive2 { name="bayestestR"; version="0.2.2"; sha256="09r654lrhwwnshn5h2s2fbx3c8wigv3j4sva5hmfnkwjg8cclhd9"; depends=[insight]; };
+  bayestestR = derive2 { name="bayestestR"; version="0.4.0"; sha256="1d3f50rzjzgzclwd6j887dssyhv7hdq7pik9nnlr3w775v3f69zc"; depends=[insight]; };
   bayesvl = derive2 { name="bayesvl"; version="0.8.5"; sha256="1gb2in8hjiqb3daqz6phn1639i6p2w641kxrm3zh4rm3d6hg6hzr"; depends=[bayesplot bnlearn coda dplyr ggplot2 reshape2 rstan StanHeaders viridis]; };
   bayfoxr = derive2 { name="bayfoxr"; version="0.0.1"; sha256="1295296mbjpmd0bg1pfxvyp0az3sry6gsq9ir3l8x64w5a4qrzd5"; depends=[]; };
+  baymedr = derive2 { name="baymedr"; version="0.1.0"; sha256="0y01s6dpnhnxqqvl15cdxmb5ysb685bbp47xifyp5nz8sjh2pci0"; depends=[rlang stringr]; };
   bayou = derive2 { name="bayou"; version="2.1.1"; sha256="17gvb2dmviwibnlqn6p3p9pcc3705xh9r8lrm90p0yg7nhm0cn02"; depends=[ape assertthat coda denstrip fitdistrplus foreach geiger MASS Matrix mnormt phytools Rcpp RcppArmadillo]; };
   baystability = derive2 { name="baystability"; version="0.1.0"; sha256="1zv4bf5a4p21w2qpr6lcsgsxb0xv15v8p33031rsypmnbs9i80dp"; depends=[dplyr ggfortify ggplot2 lme4 magrittr MASS matrixStats reshape2 rlang rstiefel scales tibble tidyr tidyverse]; };
   baytrends = derive2 { name="baytrends"; version="1.1.0"; sha256="0yml560cbamp7pf433va28vsfi5rcrjm61rbk8384bbjlslpsdkj"; depends=[dataRetrieval digest gdata lubridate memoise mgcv plyr survival XML zCompositions]; };
   bazar = derive2 { name="bazar"; version="1.0.11"; sha256="1q2w5pvlb51lzbb5k719sf1lrhffandkfqlcvi2prw4dmq7qjxv9"; depends=[kimisc]; };
   bbefkr = derive2 { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
   bbemkr = derive2 { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
+  bbl = derive2 { name="bbl"; version="0.2.0"; sha256="027awr8xx86wv6xhpj4ywwgldmmf2ln5161ak51kqnygfdavy8bc"; depends=[pROC RColorBrewer Rcpp]; };
   bbmle = derive2 { name="bbmle"; version="1.0.20"; sha256="1xzij7swrrzl5ly8l3lw6awh486zcm00251dwqws1y23fbgyh3vc"; depends=[lattice MASS numDeriv]; };
   bbo = derive2 { name="bbo"; version="0.2"; sha256="19xrbla3bb3csg3gjjrpkgyr379zfwyh293bcrcd6j8rnm6g4i01"; depends=[]; };
   bbw = derive2 { name="bbw"; version="0.1.3"; sha256="1z3an561qh0rfi3jhh1ghsdbg8aimqmf4hpqri2jz39in3p0gwg4"; depends=[car]; };
@@ -5211,21 +5398,22 @@ in with self; {
   bcROCsurface = derive2 { name="bcROCsurface"; version="1.0-3"; sha256="1g9l4abnpp1iq5wy3rl2jv47ql9zh6s2qrhyj06x22358lpinjnl"; depends=[boot nnet Rcpp RcppArmadillo rgl]; };
   bcRep = derive2 { name="bcRep"; version="1.3.6"; sha256="1fibx11ykkkjv4sgg6zc2a0g270384z2cf68hwghnld0wi002b5z"; depends=[ape doParallel foreach gplots ineq plotrix proxy stringdist vegan]; };
   bcaboot = derive2 { name="bcaboot"; version="0.2-1"; sha256="0wf1igkb0lidz4pvh3kfccs9858m1g9650wprrvrpwsdfrcd7rc9"; depends=[]; };
-  bcf = derive2 { name="bcf"; version="1.2.1"; sha256="03l4wlqz69sqkffjrlznlam2sql9zfpa6x84y7x1z66zfy6f7n79"; depends=[Rcpp RcppArmadillo]; };
+  bcdata = derive2 { name="bcdata"; version="0.1.1"; sha256="0qygwdly1k6g9zr1qbf21ylnq3713724d1ninw99syirz5knk16k"; depends=[cli crul dbplyr dplyr glue jsonlite leaflet leaflet_extras purrr readr readxl rlang sf xml2]; };
+  bcf = derive2 { name="bcf"; version="1.3"; sha256="1f8szjgsyhnff3zzmmy7bnsam12ywj46n3fxsj1y3fn1m5wnd8mz"; depends=[Rcpp RcppArmadillo]; };
   bcgam = derive2 { name="bcgam"; version="1.0"; sha256="1dg2fcjw8xal77irviiz260qpar2iqkjvi2k4qfm71jyq0ir0axk"; depends=[coda igraph nimble]; };
   bclust = derive2 { name="bclust"; version="1.5"; sha256="01kx02azj26b6swly53zhf3sny6c6jglkxnzylsc0pvri89x7yj2"; depends=[]; };
   bcmaps = derive2 { name="bcmaps"; version="0.18.0"; sha256="0zq5fp9r6n2mpjd96ri7lmp63g8lm5sjwgfmc4cligrch3kakzxy"; depends=[httr rappdirs sf]; };
   bcp = derive2 { name="bcp"; version="4.0.3"; sha256="0vhs89lb2wpanqsljclpvwbjmgdsc3jicws8bzqiqh8mbs3nzpxy"; depends=[Rcpp RcppArmadillo]; };
   bcpa = derive2 { name="bcpa"; version="1.1"; sha256="0rwbd39szp0ar9nli2rswhjiwil31zgl7lnwm9phd0qjv8q0ppar"; depends=[plyr Rcpp]; };
   bcpmeta = derive2 { name="bcpmeta"; version="1.0"; sha256="02fw1qz9cvr7pvmcng7qg7p04wxxpmvb2s8p78f52w4bf694iqhl"; depends=[mvtnorm]; };
-  bcrm = derive2 { name="bcrm"; version="0.5.3"; sha256="1zd01qlpwps28yvckd0bxax3q4w9spnmik1slsibg77b15d6scy7"; depends=[ggplot2 knitr mvtnorm rlang]; };
+  bcrm = derive2 { name="bcrm"; version="0.5.4"; sha256="1j8bfa3x7h77vs41k4nqbqlb961szp1fkhc181wzb3zpbnzmjhhy"; depends=[ggplot2 knitr mvtnorm rlang]; };
   bcrypt = derive2 { name="bcrypt"; version="1.1"; sha256="1wwdin8x09y8n8zrwj1ylh5ikcz0v0la4wmrsvbdr61cg336wzx4"; depends=[openssl]; };
   bcv = derive2 { name="bcv"; version="1.0.1"; sha256="0yqcfariw9sw0b8cpljcr7vf5rf0cwr1wbif23icchfaxk2m42gj"; depends=[]; };
   bdDwC = derive2 { name="bdDwC"; version="0.1.15"; sha256="0yraq8a0wgz12rzi2dx0gdcz5rx99qd2pzw972wjqyq3rs41pwx0"; depends=[shiny shinyBS shinydashboard shinyFiles shinyjs]; };
-  bda = derive2 { name="bda"; version="10.1.9"; sha256="06ycxqjpnsywakjkjxf1czhxsbdzbpwa11m69gad5538z066d24x"; depends=[]; };
   bdchecks = derive2 { name="bdchecks"; version="0.1.7"; sha256="1pzsvn1m1f9bdmhxmh57pvn9jm4z41rkvv6h60hq2lfgkapnjy7q"; depends=[bdDwC data_table DT finch knitr rgbif shiny shinyBS shinydashboard shinyjs spocc yaml]; };
   bdclean = derive2 { name="bdclean"; version="0.1.15"; sha256="14cy8yaqd6bg2zyh2wvndydk9sigaydavxl4cfypqz5kqdhj82z9"; depends=[bdchecks bdDwC data_table DT finch knitr leaflet rgbif rmarkdown shiny shinydashboard shinyjs spocc]; };
   bde = derive2 { name="bde"; version="1.0.1"; sha256="1f25gmjfl58x4pns89abfk85yq5aad3bgq9yqpv505g5gxk62d3v"; depends=[ggplot2 shiny]; };
+  bdl = derive2 { name="bdl"; version="1.0.0"; sha256="1nnzjg3qblx9x8s113104kdpxvq708s9qgnilr3sjasfny50b49b"; depends=[dplyr ggplot2 ggpubr httr jsonlite magrittr purrr randomcoloR sf tibble tidyr tmap tmaptools]; };
   bdots = derive2 { name="bdots"; version="0.1.19"; sha256="1cj6ly62d50z6713119hadl90cxf5x30wpnpx6mssmd49zds6nxb"; depends=[doParallel doRNG foreach Matrix mvtnorm nlme]; };
   bdpar = derive2 { name="bdpar"; version="1.0.0"; sha256="0f5hwm4j4m8q1jgyal710p6s1hwc05kxzmcp3zsavwm8qzcc9s60"; depends=[ini magrittr pipeR purrr R6 rlist svMisc]; };
   bdpopt = derive2 { name="bdpopt"; version="1.0-1"; sha256="1z7mdqklw3frsdzyhvx8s8wvblwm28fr1gca2yrivqjng0r47lx4"; depends=[coda rjags]; };
@@ -5243,21 +5431,21 @@ in with self; {
   beanplot = derive2 { name="beanplot"; version="1.2"; sha256="0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"; depends=[]; };
   beanz = derive2 { name="beanz"; version="2.4"; sha256="18i4ygz83l60fdfkl4yg9kp5n2vmqn6yd7qkpkiplq0mzg5s4nk9"; depends=[BH loo Rcpp RcppEigen rstan rstantools StanHeaders survival]; };
   beast = derive2 { name="beast"; version="1.1"; sha256="0ikbnzdzp2lv1nh5mxxanra81v4dl6svg3ywqcqd6wgzri70a4ry"; depends=[RColorBrewer]; };
-  beastier = derive2 { name="beastier"; version="2.0.15"; sha256="15s8n6xw0n1cbfiv5lcrbc0fa51bici0mh7wkwchh9mwziljrvs8"; depends=[ape phangorn rappdirs rJava stringr xml2]; };
-  beautier = derive2 { name="beautier"; version="2.2.1"; sha256="1cp4shz8yp4hypdhg1jw1070ls7j4358lxxw4g7vz865wkdx6am6"; depends=[ape geiger seqinr stringr testit]; };
+  beastier = derive2 { name="beastier"; version="2.1.1"; sha256="17qzjk4lq83khj5f04jhkr3q2w7snv4aq4zrbnsziszwnlazyqqy"; depends=[ape assertive beautier phangorn rappdirs remotes rJava stringr xml2]; };
+  beautier = derive2 { name="beautier"; version="2.3.2"; sha256="0wwlv1z030mi2q895z9m9xpkfq348ka3ljyiaddzp9niappszpcj"; depends=[ape assertive geiger rappdirs seqinr stringr testit]; };
   bedr = derive2 { name="bedr"; version="1.0.7"; sha256="0zpqvyjgwyqawxm8qrhcv8zq2b3yxgcqkkc87br29yrl7sjb8h6j"; depends=[data_table R_utils testthat VennDiagram yaml]; };
   beepr = derive2 { name="beepr"; version="1.3"; sha256="061sfld23b516jws4llml0a4jsdk4z74rll4z58l2rvahkqsdrfp"; depends=[audio stringr]; };
   beeswarm = derive2 { name="beeswarm"; version="0.2.3"; sha256="0hy89bwv7jixlg91li1fywa77916am2whqp1m1fx1khd45g44581"; depends=[]; };
   beezdemand = derive2 { name="beezdemand"; version="0.1.0"; sha256="1i6p36cfvz87k6llpibklmdbjb7vp1v38ijxaqkmv1jzc28sj3cl"; depends=[ggplot2 nlmrt nls2 nlstools reshape2]; };
   beginr = derive2 { name="beginr"; version="0.1.7"; sha256="1a1lzjmq0qimm8yrb4n6knh23gyqxgax60n95rih95sg34904d0m"; depends=[cranlogs]; };
-  behaviorchange = derive2 { name="behaviorchange"; version="0.1.0"; sha256="15yrkgbhmfns4jvjjcfgk74rh3k54m5x31s160cg3gw53q3frdka"; depends=[BiasedUrn data_tree DiagrammeR ggplot2 googlesheets gridExtra gtable magrittr ufs userfriendlyscience viridis]; };
+  behaviorchange = derive2 { name="behaviorchange"; version="0.2.1"; sha256="12dakzc3k85na3wvnwisynpzy4i2vw2i2amkrf4lf6rahn0rkfs1"; depends=[BiasedUrn data_tree DiagrammeR DiagrammeRsvg ggplot2 googlesheets gridExtra gtable magrittr ufs viridis]; };
   behavr = derive2 { name="behavr"; version="0.3.2"; sha256="01ny099m2zmvlalwiq3nqkgynnxn1mdspch15lkawwd40q8s9s4p"; depends=[data_table]; };
   belex = derive2 { name="belex"; version="0.1.0"; sha256="1563yngc1lvncmx3h6kgsj1r6k3hvxidh6h9rb7apxs2rq5k32ms"; depends=[XML]; };
-  belg = derive2 { name="belg"; version="0.2.3"; sha256="1ss40fxfmzld4fqpbkc3knsxdqc4nmllgvl2v4nyqzcalcknzvvf"; depends=[Rcpp RcppArmadillo]; };
-  bench = derive2 { name="bench"; version="1.0.2"; sha256="07hrcjvrbd69yqc7nl4n23aanz1p94qikyq0fliypycvj452g315"; depends=[glue pillar profmem rlang tibble]; };
+  belg = derive2 { name="belg"; version="1.0.0"; sha256="02n4i0kyxdxwgq7qqjqa4pwsxmmp0cksn0jrj5dvlvpflf1naicg"; depends=[Rcpp RcppArmadillo]; };
+  bench = derive2 { name="bench"; version="1.0.4"; sha256="1vb31jx4rwri4ywm9jlib65nn2avirvyd40af8zz5i3sl684ypg9"; depends=[glue pillar profmem rlang tibble]; };
   benchden = derive2 { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
-  benchmarkme = derive2 { name="benchmarkme"; version="1.0.0"; sha256="1jslcz56m48rx64w80xxccdzhmqbpg2b81rp8i358mj9xjrasya9"; depends=[benchmarkmeData doParallel dplyr foreach httr Matrix tibble]; };
-  benchmarkmeData = derive2 { name="benchmarkmeData"; version="1.0.1"; sha256="1azjsvz855kzrd2fwc2v06pzdlc75492sq8pxwk4via8jp11jm67"; depends=[dplyr tibble]; };
+  benchmarkme = derive2 { name="benchmarkme"; version="1.0.3"; sha256="003d97rs0gb6l6hq7d4lxgdngrgb5lii6fxw2n7l50m14hib2sv2"; depends=[benchmarkmeData doParallel dplyr foreach httr Matrix tibble]; };
+  benchmarkmeData = derive2 { name="benchmarkmeData"; version="1.0.3"; sha256="1qiw9d93y4m2ch20hsgvf1k3r9dqf60mrdr6cc647m1qv2syjgrk"; depends=[dplyr tibble]; };
   benchr = derive2 { name="benchr"; version="0.2.3-1"; sha256="1q8g9v7zbspd2gmydwwfi3avdsnmn5ahr9iybdqsicgfch5plsf5"; depends=[Rcpp RcppProgress]; };
   bender = derive2 { name="bender"; version="0.1.1"; sha256="07npksrj094h884lli0fjvwjc1lhcwzlsk9wx82761mka5xajv4v"; depends=[httr jsonlite R6]; };
   benford_analysis = derive2 { name="benford.analysis"; version="0.1.5"; sha256="0y0c7l2r9s7lg9bw4ndcqwisa5l6a2cpydn1vmz88h3yva0l68cg"; depends=[data_table]; };
@@ -5265,8 +5453,8 @@ in with self; {
   benthos = derive2 { name="benthos"; version="1.3-6"; sha256="1vywnc6k37gpaq7g59v3qa6619svcmnd8ri5zm5l0ila2s3ccb2c"; depends=[dplyr lazyeval readr]; };
   ber = derive2 { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
   berryFunctions = derive2 { name="berryFunctions"; version="1.18.2"; sha256="0yicwsz6v5nffvw2wmjmc2zhcik7avz3xmj8zhb77xhaq9dazk9s"; depends=[abind]; };
-  bestNormalize = derive2 { name="bestNormalize"; version="1.4.0"; sha256="01bb5sxgiv04lf1nkvwg1xfpll83lrjr8mb5bqcvriwxv15div0j"; depends=[doParallel doRNG dplyr foreach LambertW nortest]; };
-  bestglm = derive2 { name="bestglm"; version="0.37"; sha256="0ghhi4g75mgq2pnkrvw188s65132i1d7v3hahnjrsnx4vrr8a9lz"; depends=[glmnet grpreg lattice leaps pls]; };
+  bestNormalize = derive2 { name="bestNormalize"; version="1.4.2"; sha256="0df4fspcmf8scifgy2v69qlqp7zzyicjmscmyxp1m8wzd7cwzd0q"; depends=[doParallel doRNG dplyr foreach LambertW nortest]; };
+  bestglm = derive2 { name="bestglm"; version="0.37.1"; sha256="13wd1jnh9d82s4qz81k78y1v47ld0csdgn9k4izca2g039jqjxmq"; depends=[glmnet grpreg lattice leaps pls]; };
   betaboost = derive2 { name="betaboost"; version="1.0.1"; sha256="1zdyzxl2kp2i5lkiz280wz4av9wqklbn25zmq6n4yb6a579yjfn8"; depends=[gamboostLSS mboost]; };
   betacal = derive2 { name="betacal"; version="0.1.0"; sha256="19wgpgf9yhckl9qx9v24f4yh055wfalphcxwm7lg68px6ap2pxl9"; depends=[]; };
   betafam = derive2 { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
@@ -5278,37 +5466,38 @@ in with self; {
   bethel = derive2 { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; };
   beyondWhittle = derive2 { name="beyondWhittle"; version="1.1.1"; sha256="1nr414wvfwycp3s9v592jd4gk5wdjfklk7ypqabx73k5fsxrcc0g"; depends=[BH forecast ltsa MASS MTS Rcpp RcppArmadillo]; };
   bezier = derive2 { name="bezier"; version="1.1.2"; sha256="1vw5128v8h973xwa1fdm9cw2jvrldj87nd55lddlp3qsz3ag4br6"; depends=[]; };
-  bfa = derive2 { name="bfa"; version="0.4"; sha256="08n6446xl2w8z0rsqi6v2hp9cp744frxw6vrbxg5cpybhyyfzr36"; depends=[coda Rcpp RcppArmadillo]; };
   bfast = derive2 { name="bfast"; version="1.5.7"; sha256="0n75minka55rxpvs3qkj0c65ydn1gc3i8lkr2gdyn1adjkl5yn01"; depends=[forecast raster sp strucchange zoo]; };
   bfp = derive2 { name="bfp"; version="0.0-40"; sha256="03risiq2b7bc3gwlgpcsy1gvja6n5w1j3kw13s2wrd420hddzk4s"; depends=[Rcpp]; };
   bfsl = derive2 { name="bfsl"; version="0.1.0"; sha256="1hl53nis8bb1ffgkx91ij9vh680cpkb80y548y67y9w18iyd4aw4"; depends=[]; };
-  bfw = derive2 { name="bfw"; version="0.4.0"; sha256="11n1f5sb4fyc18fqj838kbjh96waz9kk2fdvvakslxwvg415nxk9"; depends=[coda MASS runjags]; };
+  bfw = derive2 { name="bfw"; version="0.4.1"; sha256="1dwl6p70wbgippysl7vk8nv6rc78f6h5xl8fna98zv99qf0ib31c"; depends=[coda MASS runjags]; };
   bgeva = derive2 { name="bgeva"; version="0.3-1"; sha256="0qm4xknyab8hdyn3in2hsvm8s062cnmqqf41b5jvax1mi5hs0z8c"; depends=[magic mgcv trust]; };
   bgmfiles = derive2 { name="bgmfiles"; version="0.0.6"; sha256="10qldfjjq5fx5jrrakdxc8k2pf0vp8ifg18nq56lvx9n28mqigim"; depends=[]; };
   bgmm = derive2 { name="bgmm"; version="1.8.3"; sha256="09hsqjjyzlpl0fqb7832j5ydrr0yc42zb1c9q1y5hbrms7yp00p8"; depends=[car combinat lattice mvtnorm]; };
-  bgsmtr = derive2 { name="bgsmtr"; version="0.5"; sha256="1yqj3761zs64kdh63vaz6glpv65i3ji8fi51nqq8wlggak0zklnx"; depends=[CholWishart coda EDISON inline LaplacesDemon Matrix matrixcalc miscTools mnormt mvtnorm Rcpp sparseMVN statmod]; };
+  bgsmtr = derive2 { name="bgsmtr"; version="0.6"; sha256="1djxkls963j97j76a15zxdx4rfhwrpis7i1wqal0v780f2c576a9"; depends=[CholWishart coda EDISON glmnet inline LaplacesDemon Matrix matrixcalc miscTools mnormt mvtnorm Rcpp sparseMVN statmod]; };
   bhm = derive2 { name="bhm"; version="1.15"; sha256="1xfm1k3wf4k1c65pd9201c00y4qda3lw9aycjh6q34ixyl6g5jg5"; depends=[coda MASS survival]; };
   bhrcr = derive2 { name="bhrcr"; version="1.0.3"; sha256="1w52f4ghl328vdcr8hwvmdrnxnj45fy4r21yqzg5q1fpd4mpjw2i"; depends=[AER Cairo MASS MCMCpack msm mvtnorm survival]; };
   biasbetareg = derive2 { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
   bib2df = derive2 { name="bib2df"; version="1.1.1"; sha256="0d57883df774qqwpssmly3f1gci32yc5sgwc3x8f2rjih23s1nf6"; depends=[dplyr httr humaniformat stringr]; };
-  bibliometrix = derive2 { name="bibliometrix"; version="2.2.1"; sha256="0d8mwhy792m4dp9h0gyw984qq5p8xbs1xx626w8a6jw23w6qzmxg"; depends=[dplyr DT factoextra FactoMineR ggplot2 ggraph ggrepel igraph Matrix networkD3 RColorBrewer reshape2 RISmed rscopus shiny shinycssloaders shinythemes SnowballC stringdist stringr]; };
+  bibliometrix = derive2 { name="bibliometrix"; version="2.3.2"; sha256="02sikbjnsfd1gxwlbdiafp35af22gmz2p6i951l3syxpcvylxfc8"; depends=[dplyr DT factoextra FactoMineR ggplot2 ggraph ggrepel igraph Matrix networkD3 RColorBrewer reshape2 rio RISmed rscopus shiny shinycssloaders shinythemes SnowballC stringdist stringr]; };
   bibtex = derive2 { name="bibtex"; version="0.4.2"; sha256="0wl3925ryd54g1nv3ncwllc493d39dpgy5md61940h69c0van1hz"; depends=[stringr]; };
-  biclique = derive2 { name="biclique"; version="1.0.2"; sha256="1284k1aj9lx282d3lyigb8ifp51d119r97jis8g593qvzb8dqclr"; depends=[]; };
+  biclique = derive2 { name="biclique"; version="1.0.4"; sha256="0jflbl1fbi3v3igi447f8i2zs9vh84xk1rci6dmwm0k9s9zqfrs2"; depends=[]; };
   biclust = derive2 { name="biclust"; version="2.0.1"; sha256="1y5n6wfa1lx88ck3x09rcg0dh3pw89225h85hmq2la1s1fpa48i0"; depends=[additivityTests colorspace flexclust ggplot2 lattice MASS tidyr]; };
+  biclustermd = derive2 { name="biclustermd"; version="0.1.0"; sha256="0d2fa6lainnkdzn1mq8pbxlc14hvlgfi3pcxw9rwqfjhxp6wkkig"; depends=[biclust clues doParallel dplyr foreach ggplot2 magrittr nycflights13 tidyr]; };
   bife = derive2 { name="bife"; version="0.6"; sha256="1fmzmzq3hxr9kzqq5zmmsm2927vjb5mj08g2pnzljhmvsn2b7x3y"; depends=[data_table Formula Rcpp RcppArmadillo]; };
   bigGP = derive2 { name="bigGP"; version="0.1-6"; sha256="0fwm06rzx1qbh16ii93x26i4v4yb50jk67k3qmzyr3gr4z9b9xhg"; depends=[Rmpi]; };
   bigIntegerAlgos = derive2 { name="bigIntegerAlgos"; version="0.1.2"; sha256="1cbcxwhb25ismiyr95pfgc7nq14p4srd9y8y3g3xz0ywjs0qnjy5"; depends=[gmp]; };
   bigKRLS = derive2 { name="bigKRLS"; version="3.0.5.1"; sha256="1za8pxij1nwpdz3lz51zqib99pc73s92lz0k01fkcgw5rj78kgs8"; depends=[BH bigalgebra biganalytics bigmemory ggplot2 Rcpp RcppArmadillo shiny]; };
   bigMap = derive2 { name="bigMap"; version="2.1.0"; sha256="0bpnzz3acqn006jk8db5yyvbhl3sq807926igjcxj813i3r0x98r"; depends=[BH bigmemory colorspace RColorBrewer Rcpp RcppArmadillo]; };
-  bigQueryR = derive2 { name="bigQueryR"; version="0.4.0"; sha256="1b89yfa0gwd3frdh1z6ygxv2dfncb6g4lp67nh7hkm6r9xamfrxr"; depends=[assertthat googleAuthR googleCloudStorageR httr jsonlite]; };
+  bigQueryR = derive2 { name="bigQueryR"; version="0.5.0"; sha256="051c8rkj77dm78237dzhf3lcdawv0xv72pwfiim9bi89z9mp6f9m"; depends=[assertthat googleAuthR googleCloudStorageR httr jsonlite]; };
   bigReg = derive2 { name="bigReg"; version="0.1.2"; sha256="1hmvh5j40zpzz6c88hmikphps8rb741yvkg60dxmkfl8gxqsrp3w"; depends=[MASS Rcpp RcppArmadillo uuid]; };
   bigalgebra = derive2 { name="bigalgebra"; version="0.8.4.1"; sha256="19j5f7d6yf9g0glybdwahj7n0mrgbxrbdajh7s30v25fkmm36r2z"; depends=[BH bigmemory]; };
   biganalytics = derive2 { name="biganalytics"; version="1.1.14"; sha256="1hsqdg5hkhs6z9pwvn055q02hzpksjwrf33q5zdnkm387g188ca6"; depends=[BH biglm bigmemory foreach Rcpp]; };
+  bigassertr = derive2 { name="bigassertr"; version="0.1.1"; sha256="0jyycg9qkqswqakbc2p80s7qrv0hm3mn0zwg4v373zcf4z21rvlh"; depends=[]; };
   bigchess = derive2 { name="bigchess"; version="1.5.2"; sha256="021l5pvbh6v95wavxl118k2gvlaadwr18d8f712jzarcnfi1hvy3"; depends=[ff ffbase RSQLite subprocess]; };
   bigdatadist = derive2 { name="bigdatadist"; version="1.1"; sha256="16gkybwcp9sxqb0iic2fhmc4gndr44ayg14wrfcjvjaj4g5r6xs2"; depends=[FNN MASS pdist rrcov]; };
   bigdist = derive2 { name="bigdist"; version="0.1.4"; sha256="1qfnmhyfadmnnagbhdl4jjrb53i1srszf19idp8fy6bczbjq85yi"; depends=[assertthat bigstatsr furrr proxy]; };
   biglars = derive2 { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; };
-  biglasso = derive2 { name="biglasso"; version="1.3-6"; sha256="044l2l34l4pl7ijwgq569cn8x5clj795qpfwb1b9qfwvggvgzgni"; depends=[BH bigmemory Matrix ncvreg Rcpp RcppArmadillo]; };
+  biglasso = derive2 { name="biglasso"; version="1.3-7"; sha256="1s9l8n0a3nv6viyp62k890nhdpfh8jl1ahhsa51x7bx2agdqplhi"; depends=[BH bigmemory Matrix ncvreg Rcpp RcppArmadillo]; };
   bigleaf = derive2 { name="bigleaf"; version="0.7.1"; sha256="0hsssz5973vapkmmh9dgzrijyjj1s75iarq3cpfi7ljm4n748qig"; depends=[robustbase solartime]; };
   biglm = derive2 { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; };
   biglmm = derive2 { name="biglmm"; version="0.9-1"; sha256="1f4w59jvq7lq0bh5fs41czw0yc8h56iijbj0hlcq47zyqx6gll9a"; depends=[DBI]; };
@@ -5316,7 +5505,8 @@ in with self; {
   bigmemory = derive2 { name="bigmemory"; version="4.5.33"; sha256="0ycl9dzm3drpyas625h34rir5bnbjlncxlvawfsfmqwcbmwdjdvj"; depends=[BH bigmemory_sri Rcpp]; };
   bigmemory_sri = derive2 { name="bigmemory.sri"; version="0.1.3"; sha256="0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"; depends=[]; };
   bigml = derive2 { name="bigml"; version="0.1.2"; sha256="0vl5krjbgckknxwl26b2hn63jhb80zbn7abpckhxzxfxzncpnfz9"; depends=[plyr RCurl RJSONIO]; };
-  bigreadr = derive2 { name="bigreadr"; version="0.1.7"; sha256="0sdjdwdgw2jicdqrpyan4nma060yimd6wpxwvw06h4spljbp00yl"; depends=[data_table fpeek Rcpp]; };
+  bigparallelr = derive2 { name="bigparallelr"; version="0.1.2"; sha256="1c6vw03xk4fhl5rlgajznw5rlfklsi59srncd51s24fj2avvr8ww"; depends=[bigassertr doParallel flock foreach RhpcBLASctl]; };
+  bigreadr = derive2 { name="bigreadr"; version="0.2.0"; sha256="0d5fgs16kdsl23jqrgz7in63pwhh7bvj7m8pa8nj11v84ji6lagr"; depends=[bigassertr data_table Rcpp]; };
   bigrquery = derive2 { name="bigrquery"; version="1.2.0"; sha256="1ggh2gngr5x0g6y7d55y6kvn94anf7qi1bkc28cjmw61hxjq38fb"; depends=[assertthat bit64 curl DBI gargle glue httr jsonlite prettyunits progress rapidjsonr Rcpp rlang tibble]; };
   bigsplines = derive2 { name="bigsplines"; version="1.1-1"; sha256="1kf04p2lglzdi1fdryk27nmj2a2jca2ii7ki8vak93sq21isb179"; depends=[quadprog]; };
   bigstatsr = derive2 { name="bigstatsr"; version="0.9.1"; sha256="0v0rxp45lbv5bmvyfkm1v4l2rr7g1rfymi547y10b2zysllbfbr0"; depends=[bigreadr cowplot doParallel foreach ggplot2 Rcpp RcppArmadillo rmio RSpectra tibble]; };
@@ -5324,19 +5514,20 @@ in with self; {
   bigtabulate = derive2 { name="bigtabulate"; version="1.1.5"; sha256="1jvp3m0ms2cav9z8vvhh80gsa0kvc351brv2jq99rxv1mwvpa4xj"; depends=[BH biganalytics bigmemory Rcpp]; };
   bigtcr = derive2 { name="bigtcr"; version="1.1"; sha256="1l03yc28afdm7glbw4ay0zsywjgqg5l90qz1hfhslsy8gg7d5wq5"; depends=[]; };
   bigtime = derive2 { name="bigtime"; version="0.1.0"; sha256="136gy2i4qwa2drklllyzp3z0dbijlavgf3sxy73bf84df2yq1c9i"; depends=[corrplot lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
-  bikedata = derive2 { name="bikedata"; version="0.2.3"; sha256="0dbvzasp7is4zwv2n7mgliglw88hy0hc9g6cqjpp6r67w8s6vhcl"; depends=[BH DBI dodgr httr lubridate magrittr Rcpp readxl reshape2 RSQLite tibble xml2]; };
+  bigutilsr = derive2 { name="bigutilsr"; version="0.2.2"; sha256="19d4rj598094fncblncd0bampm19srrmczrsmwvj5njf3cxkvxdp"; depends=[bigparallelr nabor Rcpp robust robustbase RSpectra]; };
   bikeshare14 = derive2 { name="bikeshare14"; version="0.1.2"; sha256="1sib83driqv9k4aa131nw3xasslrxvnxkn3mr8kxycxccky025n9"; depends=[]; };
+  bikm1 = derive2 { name="bikm1"; version="0.9.0"; sha256="09ibaj5nd7ql5l30z726nifym5bnmkx4nbw982p9h2440rdx0g5b"; depends=[ade4 ggplot2 gtools pracma reshape2]; };
   bild = derive2 { name="bild"; version="1.1-5"; sha256="03has1zi57inicahl52ja006vv5cdndyxfsxp77l6nc3zc6ixna8"; depends=[]; };
   billboard = derive2 { name="billboard"; version="0.1.0"; sha256="1z3y8dijhc1381y91n5zq305xzm1gpvs0g4mdpfr7zrblpa8ws39"; depends=[tibble]; };
-  billboarder = derive2 { name="billboarder"; version="0.2.6"; sha256="0hz135ffzg8s773ligbdjflqj3v0svldvqwq13lhdj78dx9k6jya"; depends=[ggplot2 htmltools htmlwidgets jsonlite magrittr scales]; };
+  billboarder = derive2 { name="billboarder"; version="0.2.7"; sha256="02k90rhz2pawy83kp0rjzvl94s02x41a53diqfva357p8w9k6z48"; depends=[ggplot2 htmltools htmlwidgets jsonlite magrittr scales]; };
   bimetallic = derive2 { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
-  bimets = derive2 { name="bimets"; version="1.4.0"; sha256="1siyivhx5c390akdlggy4xhjgryqjcv46h0jiw942afmmkm8iq4d"; depends=[xts zoo]; };
+  bimets = derive2 { name="bimets"; version="1.4.2"; sha256="13gv3p3mldmdwvbvivh4fx8ygmjvf0gza69gprv4z1wphb6rz7yn"; depends=[xts zoo]; };
   bimixt = derive2 { name="bimixt"; version="1.0"; sha256="0nhszpzjqy8z3vngl5jdzqxzshnn92wgi0ci5n3n5kzi24xkfrzc"; depends=[pROC]; };
   binGroup = derive2 { name="binGroup"; version="2.2-1"; sha256="0cb7j6b0s3y56mv1967awwri0kv0rf3sr3vwf9gc2zbjggxi9ffp"; depends=[partitions Rdpack]; };
   binMto = derive2 { name="binMto"; version="0.0-7"; sha256="0rg9rsdy14jx7zjv60krcz1vh0sxqimsai0wynhx2sx0kydw4ngy"; depends=[mvtnorm]; };
   binaryGP = derive2 { name="binaryGP"; version="0.2"; sha256="0i4xi0gxk0lamjdygyx0azdp3kfqmva1g20nl3p65w4yx77m88d6"; depends=[GPfit lhs logitnorm nloptr Rcpp RcppArmadillo]; };
   binaryLogic = derive2 { name="binaryLogic"; version="0.3.9"; sha256="19ig9qgjjnivfihjy41pc13qlrb95679mmk4zks5lbbri8qi4qxj"; depends=[]; };
-  binb = derive2 { name="binb"; version="0.0.4"; sha256="11pkvw833qa9g82l6bzqxswacxkxp88aaamk2mxl694nahy1kcj1"; depends=[knitr rmarkdown]; };
+  binb = derive2 { name="binb"; version="0.0.5"; sha256="1xr3y8ynz1j5hxbphnw44n0k99x66da0mibqn7kby8whqq2398ki"; depends=[knitr rmarkdown]; };
   binda = derive2 { name="binda"; version="1.0.3"; sha256="15rhxnlif7agblzd09gyllkqkf5d8cc75b4vmp7grx8a6y7w47g0"; depends=[entropy]; };
   bindata = derive2 { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
   bindr = derive2 { name="bindr"; version="0.1.1"; sha256="1l05fpk2yql3jka321c0bdgx6mqq9pvfrg2844lbjfpbgjkmqy3w"; depends=[]; };
@@ -5346,6 +5537,7 @@ in with self; {
   bingat = derive2 { name="bingat"; version="1.3"; sha256="1y68rgafipfad78yrzcygdszgy1d5q739kap06pzr78bn3i8hiwa"; depends=[doParallel foreach gplots matrixStats network vegan]; };
   binhf = derive2 { name="binhf"; version="1.0-3"; sha256="1vdw2s8zddp7gad8l3c4jpmnjcc0f5wpqbrp6gp9lgp1c3qa505y"; depends=[adlift EbayesThresh wavethresh]; };
   binman = derive2 { name="binman"; version="0.1.1"; sha256="0hm0h285p4v9lhrqjy8s22f1s1vmfpfla5iaycpj8vw3qb3632az"; depends=[assertthat httr jsonlite rappdirs semver xml2 yaml]; };
+  binmapr = derive2 { name="binmapr"; version="0.1.3"; sha256="00vaj70zjjprgyhf7zqwcbrxlgh9sj4yskba2s3i82z7k8bvn1kh"; depends=[vcfR]; };
   binnednp = derive2 { name="binnednp"; version="0.4.0"; sha256="1qswrr982x5hy2vl2fc603j98cjli9l40zzvvjy2l91p8xxrc5dn"; depends=[doParallel fitdistrplus foreach kedd mclust nor1mix Rcpp Rdpack]; };
   binom = derive2 { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
   binomSamSize = derive2 { name="binomSamSize"; version="0.1-5"; sha256="1an6dcqsjh5r0w4kc3n6yfvvha5qhrb2i4bpf7g5ykhl3i60zfcc"; depends=[binom]; };
@@ -5354,16 +5546,16 @@ in with self; {
   binostics = derive2 { name="binostics"; version="0.1.2"; sha256="1izcck2dq8ay9ni1wjg426w5rj39gxwzls1sgnngggapl3pmqzz2"; depends=[]; };
   binr = derive2 { name="binr"; version="1.1"; sha256="0kgk91zy7bdrhpkh9c5bi206y9hjwjwzb508i8qqmznqyxmza70r"; depends=[]; };
   binseqtest = derive2 { name="binseqtest"; version="1.0.3"; sha256="0661a2bqmv6bckq23c6m04ggwrp8z10lfgjg9dgkz4bfxsd297gs"; depends=[clinfun]; };
-  binsmooth = derive2 { name="binsmooth"; version="0.2.0"; sha256="1ln38vcjnh57jqdaaibj1hckvdvagbv6dlzrydpyyvmw11lsbksz"; depends=[ineq pracma triangle]; };
+  binsmooth = derive2 { name="binsmooth"; version="0.2.1"; sha256="0izfgsjajq64n9x7lv19dscg7z39jspwa9fpvxmyxhiv3d3fz8f0"; depends=[ineq pracma triangle]; };
   binsreg = derive2 { name="binsreg"; version="0.2.0"; sha256="031a794bkb9qdy51p4jgjg3hvh8ga0hwakcdrjn0hv4ls9f5gsm7"; depends=[ggplot2 sandwich]; };
   binst = derive2 { name="binst"; version="0.2.1"; sha256="09kzk7n1j9nzgyijwirzk33z6p6hc67zkd05hv1i9qfijy31gci4"; depends=[rpart]; };
   bio_infer = derive2 { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
-  bio3d = derive2 { name="bio3d"; version="2.3-4"; sha256="1zmswa9xs81lbrlkkgi8dvv9xpf0ynqjqwy1k36szvfb8ar9mczr"; depends=[Rcpp]; };
-  bioOED = derive2 { name="bioOED"; version="0.1.4"; sha256="1rjcqrni5xag97pxfsf40isr2c8pkqsvihf86phak8ngwl7qdgmc"; depends=[bioinactivation corrplot dplyr FME ggplot2 MEIGOR]; };
+  bio3d = derive2 { name="bio3d"; version="2.4-0"; sha256="0ikpk1ppdp50m9kd289z616i382j9i7ji1zchyd4xqfyk8lnxf4s"; depends=[Rcpp]; };
+  bioOED = derive2 { name="bioOED"; version="0.2.1"; sha256="0wx58bngpzlrbbcnx8l1lqhsg51y98wcym1238p87drf64x2mj1n"; depends=[bioinactivation corrplot dplyr FME ggplot2 MEIGOR rlang tidyr tidyselect tidyverse]; };
   bioPN = derive2 { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
   bioRad = derive2 { name="bioRad"; version="0.4.0"; sha256="100b1fz7dxpvsc452r4yvd4g6gmzz80pvw1l0sp6g4310gyzs2fb"; depends=[curl fields ggmap ggplot2 maptools raster rgdal rhdf5 sp]; };
-  bioacoustics = derive2 { name="bioacoustics"; version="0.2.0.1"; sha256="1slg2drj7m90w6i5411cnssvgq9rhsykyv5mjmqgkvr5plfacxsw"; depends=[htmltools moments Rcpp stringr tuneR]; };
-  biofiles = derive2 { name="biofiles"; version="1.0.0"; sha256="1bglgl2jcp6jy3f7xwndil56i98xx4kn518s3fqdixw7n5ibmqd2"; depends=[assertthat BiocGenerics Biostrings foreach GenomeInfoDb GenomicRanges IRanges iterators Rcpp RCurl reutils S4Vectors XVector]; };
+  bioacoustics = derive2 { name="bioacoustics"; version="0.2.2"; sha256="13m5w888fap7nxn3pwimi04zdp848n20ha01v7gkzdkchdnbbchb"; depends=[htmltools moments Rcpp stringr tuneR]; };
+  biocompute = derive2 { name="biocompute"; version="1.0.3"; sha256="1c23yd0vhar1hvzskr7h6g3a78mcrwminm2pkdmc9qlpy8s8smvv"; depends=[cli crayon curl digest httr jsonlite jsonvalidate magrittr rmarkdown stringr uuid yaml]; };
   biogas = derive2 { name="biogas"; version="1.10.3"; sha256="1qfidjwhaxg5zplzkldhj4zqg81xrcqmvh9x5km5yhyymzr6y4vs"; depends=[]; };
   biogeo = derive2 { name="biogeo"; version="1.0"; sha256="14sqgg8b06gp5dajxvyj9s3ndsk7jpkfr0mkyl2l61kgp6qx53rh"; depends=[maptools raster sp stringr vegan]; };
   biogram = derive2 { name="biogram"; version="1.4"; sha256="1kkim6dxmvvpby2ir280adl14jmrz7nsib3m8g2ki81d539km6il"; depends=[bit combinat entropy partitions slam]; };
@@ -5378,13 +5570,13 @@ in with self; {
   bioset = derive2 { name="bioset"; version="0.2.3"; sha256="15vchim8cim42j1if0jars696rh50vmbggr9748q321f6ngm1w1i"; depends=[dplyr magrittr rlang tibble tidyr]; };
   biosignalEMG = derive2 { name="biosignalEMG"; version="2.1.0"; sha256="0bbkrfqkmks4z8c7rh0k43lvm71vn3fzrw3kpj012ym77whwkvay"; depends=[signal]; };
   biospear = derive2 { name="biospear"; version="1.0.2"; sha256="10y4hbncwiqpxzqvzjrmfgp804zczdgvwpjcj0dzaa0sx1njdzja"; depends=[cobs corpcor devtools glmnet grplasso MASS Matrix mboost pkgconfig plsRcox pROC PRROC RCurl survAUC survival]; };
-  biostat3 = derive2 { name="biostat3"; version="0.1.3"; sha256="1m9fk8il3hrq4npba44c6x55p1dsjf6cijzris2ffgdq9wrb7l22"; depends=[car MASS muhaz survival]; };
+  biostat3 = derive2 { name="biostat3"; version="0.1.4"; sha256="12inmmy5xjd0c6vs2s00z13rm5ykndxpmmgi8h7pkw30rhq4snyc"; depends=[car MASS muhaz survival]; };
   biotic = derive2 { name="biotic"; version="0.1.2"; sha256="1p18jkdd263dgk90626n9awkj6m4zn1n7897596fzrzrahksa978"; depends=[]; };
   biotools = derive2 { name="biotools"; version="3.1"; sha256="15y3ccmj1gslzc0lp0gvc66hf0yigx3zkqnw46crgrizjm2kmjay"; depends=[boot lattice MASS rpanel SpatialEpi tkrplot]; };
   bipartite = derive2 { name="bipartite"; version="2.13"; sha256="11l8lialvb02wwk6q81sq0i48v422rcvxxbkz74la820a2qzdwcx"; depends=[fields igraph MASS permute sna vegan]; };
   bipartiteD3 = derive2 { name="bipartiteD3"; version="0.2.0"; sha256="1jvhlycmxii4vcm9qbj246qkwhd1bcggqq56b5rmbyqwd4vhqh8f"; depends=[downloader dplyr purrr r2d3 RColorBrewer stringr tibble tidyr]; };
   biplotbootGUI = derive2 { name="biplotbootGUI"; version="1.2"; sha256="07lrs2n6s54h97vjriszszhksdbi14s2i234kwfhg7aq47k6l0jl"; depends=[cluster dendroextras MASS matlib rgl shapes tcltk2 tkrplot]; };
-  birdring = derive2 { name="birdring"; version="1.3"; sha256="1vlivapmgq3kz2zz795c7hcfpibnqcfnxp7m42di37yngqc90q87"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
+  birdring = derive2 { name="birdring"; version="1.4"; sha256="0rskrf0r5nrzfcac0zvc60vabvs9dws2zx1rxssvw6xmwyiiy1z6"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
   birk = derive2 { name="birk"; version="2.1.2"; sha256="07ck59m5mw897a60vmdn1b3qrmqj20qpfsn3093haqbpn8z13dmn"; depends=[]; };
   birtr = derive2 { name="birtr"; version="1.0.0"; sha256="0bcxvj30wzwclw1lcyhvwj3k7awd39lrvzia1nrg53hw90bfs811"; depends=[]; };
   biscale = derive2 { name="biscale"; version="0.1.2"; sha256="1m7b1sjqngcfqc5z1b10i3s9m6lml2jiw6ab5dk9dr01i4yw0nhw"; depends=[classInt dplyr ggplot2 glue rlang tidyr]; };
@@ -5400,17 +5592,18 @@ in with self; {
   bivarRIpower = derive2 { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; };
   bivariate = derive2 { name="bivariate"; version="0.4.1"; sha256="13qmwz8lwgxppjsq491f8grsg2myhwma4ikhx2k40lag98dpgc9f"; depends=[barsurf intoo KernSmooth mvtnorm]; };
   bivgeom = derive2 { name="bivgeom"; version="1.0"; sha256="1cn8k7q011whr4f7zig85dsrkz04614z9ns2ky6k6i16s5n3glxy"; depends=[bbmle copula]; };
+  bivquant = derive2 { name="bivquant"; version="0.1"; sha256="05dn4qik2dvmgqc2613vddh312bqhza1vnf94an75888gxri5h03"; depends=[copula cubature lpSolve MASS mvtnorm regpro]; };
   bivrp = derive2 { name="bivrp"; version="1.2"; sha256="1yrciaadxlkxzbgdsig80yjn9iqrv8a6ccz62hsnyb3knycpcln1"; depends=[MASS mrfDepth]; };
   biwavelet = derive2 { name="biwavelet"; version="0.20.19"; sha256="0pdjjjjiwnl7ihlwzjd9hwl5kzq5wbnbqfmm5pp8gvkcypj9k7rb"; depends=[fields foreach Rcpp]; };
   biwt = derive2 { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[MASS rrcov]; };
   bizdays = derive2 { name="bizdays"; version="1.0.6"; sha256="1av96rj4fllfais9xwh1p8601xvsj0awfh9n2n1x5kzca966h8fq"; depends=[jsonlite]; };
   bjscrapeR = derive2 { name="bjscrapeR"; version="0.1.0"; sha256="18chbgiwify272iqf0w4vsqh73wbk12d8m2awc5hbnfqblz3phwd"; depends=[dplyr glue readr tibble]; };
   bkmr = derive2 { name="bkmr"; version="0.2.0"; sha256="0dk6dn73bqlvwinn3aginls4533931xcr3h59k0w60yxs3v8yakv"; depends=[dplyr fields magrittr MASS nlme tidyr tmvtnorm truncnorm]; };
-  blackbox = derive2 { name="blackbox"; version="1.1.25"; sha256="1xjljxvh8jg5gnfwdb6f8ifn5s30dxjlnbal97kinq0ad33lvs48"; depends=[foreach geometry lattice MASS nloptr numDeriv pbapply proxy rcdd Rcpp RcppEigen spaMM]; };
+  blackbox = derive2 { name="blackbox"; version="1.1.27"; sha256="1mpxil8fr56xiy64177s6m16pygfsr6i1bn4crvnhypz9197in8c"; depends=[foreach geometry lattice MASS nloptr numDeriv pbapply proxy rcdd Rcpp RcppEigen spaMM]; };
   blaise = derive2 { name="blaise"; version="1.3.4"; sha256="14jk62sw4xs0yip8gh1w2795l8p0ybv83c24ijizxymg16h7i9g7"; depends=[dplyr readr stringr tibble]; };
   blandr = derive2 { name="blandr"; version="0.5.1"; sha256="1rqas71hlf000b3z824d8ljshf8bx91bbrzaxxnx5n3chv19w6z6"; depends=[ggplot2 jmvcore knitr R6 rmarkdown stringr]; };
-  blastula = derive2 { name="blastula"; version="0.2.1"; sha256="1w9g858c6p7qzv86pfndycvpgv6k63r85wlq11249mi2zqzvh7rl"; depends=[commonmark downloader dplyr ggplot2 glue htmltools httr magrittr stringr tidyr]; };
-  blavaan = derive2 { name="blavaan"; version="0.3-5"; sha256="1hvv33wqa5c57bszds0jad4c7sh3c78glrppy3g64lj0awjk90p7"; depends=[BH coda lavaan loo MCMCpack mnormt nonnest2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  blastula = derive2 { name="blastula"; version="0.3.1"; sha256="0vanb8ghzskicnk7gw7mw67790lw953jf3jgyyhd71qdgz6wjli7"; depends=[base64enc commonmark curl dplyr fs getPass here htmltools httr jsonlite magrittr mime rlang rmarkdown stringr uuid]; };
+  blavaan = derive2 { name="blavaan"; version="0.3-8"; sha256="0sspwr2pfm5an8lg3xwgmq45nxv39yll66bkgk0qjdbfxb2zhzzx"; depends=[bayesplot BH coda future_apply lavaan loo MCMCpack mnormt nonnest2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   blendedLink = derive2 { name="blendedLink"; version="1.0"; sha256="19d1pnjag89jjvkl5a6wx531qjqp4cv5jk95md6jby27yr52r8vp"; depends=[]; };
   blender = derive2 { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
   blin = derive2 { name="blin"; version="0.0.1"; sha256="1h94azm7gli9i4v3li5c1p36p3rkcj2p5j6rqzlzf0pcqs0bsc09"; depends=[abind glmnet MASS Matrix mvtnorm]; };
@@ -5421,16 +5614,15 @@ in with self; {
   blmeco = derive2 { name="blmeco"; version="1.3"; sha256="0yxwzx8s297mvvr5yspsl1dn3x1pnkxm0sagy7ivi98d2x9y8yn7"; depends=[arm lme4 MASS MuMIn]; };
   blob = derive2 { name="blob"; version="1.2.0"; sha256="08z071jzac4gasgfgab0y5g3ilfmlw08ln813wphxg07hsiczw8s"; depends=[prettyunits rlang vctrs]; };
   blockForest = derive2 { name="blockForest"; version="0.2.3"; sha256="19s1v3q489zns09lf00jsqlr5v9yi2drfykg2zh0gp0q4clpwmvj"; depends=[Matrix Rcpp RcppEigen survival]; };
-  blockRAR = derive2 { name="blockRAR"; version="1.0.0"; sha256="0f71azkjlaj6vcpjq77991vkfjr77nwifyxaqnli94svbbvf3yb6"; depends=[arm bayesDP dplyr ldbounds magrittr tibble]; };
+  blockRAR = derive2 { name="blockRAR"; version="1.0.1"; sha256="043x5110vzjq53cq02xnw3482jgkx86fabd11q8c0ddzg4i88ag7"; depends=[arm bayesDP dplyr ldbounds magrittr tibble]; };
   blockTools = derive2 { name="blockTools"; version="0.6-3"; sha256="0023p0msfmp8swq4f5aff40m976np7y051x8hjizzw91hrfa4w2n"; depends=[MASS tibble]; };
   blockcluster = derive2 { name="blockcluster"; version="4.4.3"; sha256="0al1v4r26rh4fx4g8gyk8mxfagn75xb9n4lwh3s6xvk87x33p20c"; depends=[Rcpp rtkore]; };
   blockmatrix = derive2 { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
   blockmodeling = derive2 { name="blockmodeling"; version="0.3.4"; sha256="11v9903y9dwlzaqp8sx0fsibcg82phvappddy37r8lnxd4vchsd2"; depends=[doParallel doRNG foreach Matrix]; };
   blockmodels = derive2 { name="blockmodels"; version="1.1.1"; sha256="088629i4g63m8rnqmrv50dgpqbnxd1a4zl5wr3ga0pdpqhmd53wp"; depends=[digest Rcpp RcppArmadillo]; };
   blockrand = derive2 { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
-  blocksdesign = derive2 { name="blocksdesign"; version="3.5"; sha256="04bsax0f3q332920xllbxawz49wr8k4cwlizp649gpz82a2rs7zd"; depends=[crossdes lme4 plyr]; };
-  blockseg = derive2 { name="blockseg"; version="0.5.2"; sha256="1i2c9prr51ak6vrdh5gzxlwkdmmky1sj71b4m12khrizigbqgysa"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 shiny]; };
-  blogdown = derive2 { name="blogdown"; version="0.14"; sha256="0g46wjji2bynhbmd7magkqnd6mfpwkbqvfnpdcjkvyiw5idgpxci"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
+  blocksdesign = derive2 { name="blocksdesign"; version="3.8"; sha256="1vjx94i3n63hzs9nx0gs9cjc4947lrgq9ld60cxjrdsgk53f53s5"; depends=[lme4 plyr PolynomF]; };
+  blogdown = derive2 { name="blogdown"; version="0.17"; sha256="1ijfskdl9apvs95km2f7p2m1imcbxvqxd8wkp3rdmgfs73pfk33r"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
   blorr = derive2 { name="blorr"; version="0.2.1"; sha256="1lvh5jr1jidrkwidpy6plzd58p8q3rxa23wl4xsf8milw180w69p"; depends=[car caret checkmate cli clisymbols crayon dplyr e1071 ggplot2 glue gridExtra magrittr purrr Rcpp rlang scales shiny tibble]; };
   blrm = derive2 { name="blrm"; version="1.0-1"; sha256="0p0nmbxil4l89fcryrgsg9mxzb5fyg93p50aqkjy00ms05hwd0hx"; depends=[boot mvtnorm openxlsx reshape2 rjags]; };
   blsAPI = derive2 { name="blsAPI"; version="0.2.1"; sha256="0p45g4qqaialh5m9bxgrvnc7nqmm0429syw0bml8h4h8vy4014a7"; depends=[httr rjson]; };
@@ -5440,15 +5632,15 @@ in with self; {
   bmd = derive2 { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; };
   bmem = derive2 { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia lavaan MASS sem snowfall]; };
   bmeta = derive2 { name="bmeta"; version="0.1.2"; sha256="19pm60xpmlanngq4nbibp0n5m98xw24b2xghz92ly31i3mkg2n68"; depends=[forestplot R2jags]; };
-  bmixture = derive2 { name="bmixture"; version="1.3"; sha256="1719d5hwdblx2c0snz8rn521726gg675m2102x1mfvmi8b2hh04d"; depends=[BDgraph]; };
+  bmixture = derive2 { name="bmixture"; version="1.4"; sha256="0dh4qy0snxw7d82v68zymwm5pfvzwdfkyaha6kgh2mvin5k2vaqm"; depends=[BDgraph]; };
   bmk = derive2 { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda functional plyr]; };
   bmlm = derive2 { name="bmlm"; version="1.3.11"; sha256="1nlwfrs6kk2jxq8vxwfj388cdf2p8h81lskkb9bp80fp8fx722qh"; depends=[BH ggplot2 Rcpp RcppEigen rstan StanHeaders]; };
   bmmix = derive2 { name="bmmix"; version="0.1-2"; sha256="00php2pgpnm9n0mnamchi6a3dgaa97kdz2ynivrf38s0vca7fqx8"; depends=[ggplot2 reshape2]; };
   bmotif = derive2 { name="bmotif"; version="1.0.0"; sha256="1zjwlsimihszg8gg7mvvi8xmzvlsdph9x6524gb28jmd24xb4gwj"; depends=[tensor]; };
   bmp = derive2 { name="bmp"; version="0.3"; sha256="0jd67r11bn98hjwgyr6gas423787xy7ji2hq7ay80blkkcj91xxx"; depends=[]; };
   bmrm = derive2 { name="bmrm"; version="4.1"; sha256="1brdd5mhr5282wkdc62lgsqcxw077p69rknjk7fjcs282ahcik2s"; depends=[LowRankQP lpSolve matrixStats Rcpp]; };
-  bnclassify = derive2 { name="bnclassify"; version="0.4.2"; sha256="1x7rf54zrls1gwxybmn51c071kd62d2gxczlnihcfxj3hw1b27bh"; depends=[assertthat BH entropy matrixStats Rcpp rpart]; };
-  bnlearn = derive2 { name="bnlearn"; version="4.4.1"; sha256="1nb4m945650538d7w383j4f1d2h3ndy608mfr3amxjrpp7d9ys3k"; depends=[]; };
+  bnclassify = derive2 { name="bnclassify"; version="0.4.3"; sha256="1bh1l57xzbj6cj21lslxw5b79x3jmm2wyv24smdyrgyi8s6mvj7v"; depends=[assertthat BH entropy matrixStats Rcpp rpart]; };
+  bnlearn = derive2 { name="bnlearn"; version="4.5"; sha256="0y452cw1dxm1cik4na1zq6g0zv5ybiwc1cq9sdashq1jacjpc158"; depends=[]; };
   bnnSurvival = derive2 { name="bnnSurvival"; version="0.1.5"; sha256="1d9jmfx0id4lmw122zga7hb52vlfdfqn4amhzpsmhyck99rv92j4"; depends=[pec prodlim Rcpp]; };
   bnormnlr = derive2 { name="bnormnlr"; version="1.0"; sha256="0l2r7vqikak47nr6spdzgjzhvmkr9dc61lfnxybmajvcyy6ymqs9"; depends=[mvtnorm numDeriv]; };
   bnpa = derive2 { name="bnpa"; version="0.3.0"; sha256="0qsxk47i7q4d8hbs2xj5k5sf8bqyzhq7rbj4y7w8ljprznlydgl9"; depends=[bnlearn fastDummies lavaan Rgraphviz semPlot xlsx]; };
@@ -5456,15 +5648,15 @@ in with self; {
   bnpsd = derive2 { name="bnpsd"; version="1.1.1"; sha256="1vvs7rbnqfs1h4naff8rjvipm93v86ay65rmqpqhr2zf3d8ygc29"; depends=[]; };
   bnspatial = derive2 { name="bnspatial"; version="1.1"; sha256="1mgqll65b1kngg89nf9vc4zlwr0qy2y3zzxd0wgqnywp31mhwpzi"; depends=[doParallel foreach gRain gRbase raster rgdal sf]; };
   bnstruct = derive2 { name="bnstruct"; version="1.0.6"; sha256="1vnjjv8ms8hvd21zsgyl056s266a1plp7ybdmnkl2cy3n8jpdwi1"; depends=[bitops igraph Matrix]; };
-  bnviewer = derive2 { name="bnviewer"; version="0.1.3"; sha256="0sr9wjm75gs6y9sbfz3vscwdrnsgfx0nxgps4mmxz976fq571y4c"; depends=[bnlearn igraph visNetwork]; };
+  bnviewer = derive2 { name="bnviewer"; version="0.1.4"; sha256="1g9zllgbkx274nsarx7q4nxsjq2wwgrfh231xbqzrsjwdnjzlbf7"; depends=[bnlearn igraph visNetwork]; };
   boa = derive2 { name="boa"; version="1.1.8-2"; sha256="04lhqk5qfvaz1jk90glr2yi5vq7cdy0w8m6g2lnzk359l9y41zhp"; depends=[]; };
   bodenmiller = derive2 { name="bodenmiller"; version="0.1"; sha256="0gqrjscgq4qgk7yl32w0965yscc1py9klr49s8q8hkzyihlwzim2"; depends=[]; };
   boilerpipeR = derive2 { name="boilerpipeR"; version="1.3"; sha256="0467bjqhdmi3p02fp0r7rgm00x9ry464f2hniav990qzsw8i16q6"; depends=[rJava]; };
   bold = derive2 { name="bold"; version="0.9.0"; sha256="0ppdhbpdffvs0sgh7ykkhr585nhk66w6vqw793wa4ia57yl49s25"; depends=[crul data_table jsonlite plyr reshape stringr tibble xml2]; };
   bomrang = derive2 { name="bomrang"; version="0.6.0"; sha256="0lnrv274lhl4n9rngkwx63dgd765bv0bd0mq9gz0vh8msmxnih0z"; depends=[crayon curl data_table dplyr foreign hoardr httr janitor jsonlite lubridate magrittr raster readr rgdal rvest tidyr xml2]; };
-  bookdown = derive2 { name="bookdown"; version="0.12"; sha256="1c2v0rpa1rrpbx8yb66sfvrf4gf57f6a8x7ydjqqbkbwhxdlrsrq"; depends=[htmltools knitr rmarkdown tinytex xfun]; };
+  bookdown = derive2 { name="bookdown"; version="0.16"; sha256="1gwgvx1yg6q3wccnhidr3gshdvlgr42i4pvlg4h29kpsa7smjiv1"; depends=[htmltools knitr rmarkdown tinytex xfun]; };
   bookdownplus = derive2 { name="bookdownplus"; version="1.5.7"; sha256="1y3iiw3grs6h3ppar1yjmha0nbp19naiirj0hvzgi4yhnibf7nid"; depends=[bookdown knitr magick xaringan]; };
-  boostmtree = derive2 { name="boostmtree"; version="1.3.0"; sha256="0q1lgjvbc15m2gygnmh63m0wy2c6x25iwrh9cbn0baq598hnr7j9"; depends=[nlme randomForestSRC]; };
+  boostmtree = derive2 { name="boostmtree"; version="1.4.1"; sha256="16adb9akrdw1cfcarrv9l5cxhn1nzskir6nwl9nawl1r727s57z6"; depends=[nlme randomForestSRC]; };
   boostr = derive2 { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; };
   boot = derive2 { name="boot"; version="1.3-23"; sha256="0bx07zbb5nfz2xfgnzbspg7r5vxz4bjdz1ry4d1vk434vlcrxj1h"; depends=[]; };
   bootES = derive2 { name="bootES"; version="1.2"; sha256="0hcaw1v80zspdsy4wr464lmgq33807i2f6n2dc3r7qqwa80g4zz0"; depends=[boot]; };
@@ -5474,7 +5666,7 @@ in with self; {
   bootSVD = derive2 { name="bootSVD"; version="0.5"; sha256="14xwbrpqj3j1xpsppgjxpn9ggsns2n1kmni9vn30vgy68zwvs2wy"; depends=[ff]; };
   bootStepAIC = derive2 { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; };
   bootcluster = derive2 { name="bootcluster"; version="0.1.0"; sha256="1mx08p0csz06mq55bdg4vgnqa9khdgqrz4jnm48c24pg8rpaj98b"; depends=[cluster flexclust fpc mclust plyr sets]; };
-  bootnet = derive2 { name="bootnet"; version="1.2.3"; sha256="09vk89c1gjqs5ww0bmzhwp1njipm1b17khpyrcwqx6hnq3695naq"; depends=[abind BDgraph corpcor dplyr ggplot2 glasso graphicalVAR gtools huge igraph IsingFit IsingSampler lavaan Matrix mgm mvtnorm NetworkToolbox networktools parcor pbapply psychTools qgraph relaimpo tidyr]; };
+  bootnet = derive2 { name="bootnet"; version="1.2.4"; sha256="152zgkk7lw0cjvsrnqbb2j4hlvfdy7n6j63xjpn5sjxyal69inp2"; depends=[abind BDgraph corpcor dplyr ggplot2 glasso graphicalVAR gtools huge igraph IsingFit IsingSampler lavaan Matrix mgm mvtnorm NetworkToolbox networktools parcor pbapply psychTools qgraph relaimpo tidyr]; };
   bootruin = derive2 { name="bootruin"; version="1.2-4"; sha256="1gbvh99snchipf13kjhymcx60s2kni23y7lv8lhzd3d402grp68h"; depends=[]; };
   bootsPLS = derive2 { name="bootsPLS"; version="1.1.2"; sha256="19ikz3l0qds25hgcxvhsvqy6jyshcdvnxw6774ifl9ylngxvlfh0"; depends=[mixOmics]; };
   bootspecdens = derive2 { name="bootspecdens"; version="3.0"; sha256="0hnxhfsc3ac4153lrjlxan8xi4sg1glwb5947ps6pkkyhixm0kc1"; depends=[MASS]; };
@@ -5483,26 +5675,27 @@ in with self; {
   boottol = derive2 { name="boottol"; version="2.0"; sha256="01dps9rifzrlfm4lvi7w99phfi87b7khx940kpsr4m9s168a2dzv"; depends=[boot plyr]; };
   bor = derive2 { name="bor"; version="0.1.0"; sha256="1r5jacmin0cq9zipxa9nmp3jnh6wsddd4wnzw2n5sggnf24ryp8g"; depends=[]; };
   boral = derive2 { name="boral"; version="1.7"; sha256="0li7jdzgq2ffhrf0nly96syp72vv3c6rbcni19kk2wgyv16mjwcm"; depends=[abind coda fishMod MASS mvtnorm R2jags]; };
-  borrowr = derive2 { name="borrowr"; version="0.1.0"; sha256="0va4sp1xc91qfrzxlbqq499npn50azhw6cdr4ra3aamin54n9pgk"; depends=[BART mvtnorm Rcpp]; };
+  borrowr = derive2 { name="borrowr"; version="0.1.1"; sha256="0q9lkdzf7v9rggrwcny551cx7lfqli60dxqgqx0d2x819d7h0k1d"; depends=[BART mvtnorm Rcpp]; };
   bossMaps = derive2 { name="bossMaps"; version="0.1.0"; sha256="0w4ks1xicvfm8ari4fr18wjm0qj2nxdsapl6lpfjz8l1id0y78cg"; depends=[doParallel foreach ggplot2 raster rgdal rgeos scales sp tidyr]; };
+  botor = derive2 { name="botor"; version="0.2.0"; sha256="13lyw6pmz923vdkyaa9n623h134kq0n5gb6qi8bpx8rhq2sycbdb"; depends=[checkmate logger reticulate]; };
   boussinesq = derive2 { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
   boxcoxmix = derive2 { name="boxcoxmix"; version="0.21"; sha256="0pav4nksh1zbic11l38jyyq8i58hfvwzkp88ra6nny3jn2axzipl"; depends=[npmlreg qicharts statmod]; };
-  boxoffice = derive2 { name="boxoffice"; version="1.2.2"; sha256="0p3n3x2wf7c3yl5pqgpxk23lqmgv6mp1984liy30c594j9n011pq"; depends=[httr rvest]; };
   boxplotdbl = derive2 { name="boxplotdbl"; version="1.3.0"; sha256="1y1b45q69sxbszd83s8ch10z4i55h34ixm8q7yxr7byx3px8y65n"; depends=[]; };
-  boxr = derive2 { name="boxr"; version="0.3.4"; sha256="0wx3x65rk1ma8bw5h4yskr7ii95ynkm7il22l1bj34kv9f4bfyj3"; depends=[assertthat bit64 digest dplyr httpuv httr mime rio stringr]; };
+  boxr = derive2 { name="boxr"; version="0.3.5"; sha256="1mhw3val08l03y7c52kq6ln2l5gjn6x1mxg0hx7nr8b86skbrka4"; depends=[assertthat bit64 digest dplyr fs glue httpuv httr mime rio rlang stringr]; };
   bpa = derive2 { name="bpa"; version="0.1.1"; sha256="0np7q1nasrq4j7ssaipvbjgrsi9n612p9lp96frq1dgix95mcgf0"; depends=[magrittr plyr]; };
   bpbounds = derive2 { name="bpbounds"; version="0.1.3"; sha256="1lqhrvd7hf8ryij5rf7zrcqc3k89bj1665x81m9rn7dixk7qlb6h"; depends=[]; };
   bpca = derive2 { name="bpca"; version="1.3-0"; sha256="16a7b94nk5psnm435vrwilcsria9mhr5d31fwzxy53pzp8n78kcr"; depends=[rgl scatterplot3d]; };
   bpcp = derive2 { name="bpcp"; version="1.3.4"; sha256="0l4x3n7lcwinnrh2sy386grisj1x7k1d5hll1k4bljg01p7lb475"; depends=[]; };
   bpgmm = derive2 { name="bpgmm"; version="1.0.5"; sha256="0dxyrcf1qyf3ymj36d9flaw8405m7c1cqxbv6yrqm2dhba0ymyxq"; depends=[gtools label_switching MASS mcmcse mvtnorm pgmm Rcpp RcppArmadillo]; };
   bpkde = derive2 { name="bpkde"; version="1.0-7"; sha256="1ls6rwmbgb2vzsjn34r87ab8rnz3ls61g6f4x3jpglbk0j91f0h8"; depends=[]; };
-  bpnreg = derive2 { name="bpnreg"; version="1.0.0"; sha256="0mpwrhbbbw8m3cz0fl0x9j9m3n9zfdamnw83mmg4bjd0wmxkkm90"; depends=[BH haven MASS Rcpp RcppArmadillo]; };
+  bpnreg = derive2 { name="bpnreg"; version="1.0.1"; sha256="1nz3adhalhrr04yimsr6ybpw4hvl018sz3ynwcggpprpy92xwha9"; depends=[BH haven MASS Rcpp RcppArmadillo]; };
   bpp = derive2 { name="bpp"; version="1.0.0"; sha256="11fgn92vvl7kklv0xdisf8gnf2rbhq11qyckqsxvc5wa821lmnkm"; depends=[mvtnorm]; };
   bqtl = derive2 { name="bqtl"; version="1.0-32"; sha256="0jjqgsm9fmvz5nkgz608xfljjpmaf4rs4f7kxvpqn4b1l9s5lhci"; depends=[]; };
   braQCA = derive2 { name="braQCA"; version="1.0.0.1"; sha256="1chyy8sk3iqs54sqg79dp1vjz3gcvnbzqbmgasdynir38b45scjh"; depends=[bootstrap dplyr QCA]; };
+  bracer = derive2 { name="bracer"; version="1.1.1"; sha256="1l722jg88i4898v8fwb9klwl9mbpaz1phypbpqc1j2kp2n2vq0vb"; depends=[stringr]; };
   braidReports = derive2 { name="braidReports"; version="0.5.3"; sha256="107c9lrzb55dw5pal8qqpn8is3nrh19vfngx3zcfpmc49f06kskq"; depends=[braidrm ggplot2]; };
   braidrm = derive2 { name="braidrm"; version="0.71"; sha256="1cn0rdlw775pmzbjmhny7gkm901a3qgz7infqb5s9az606xg54d3"; depends=[]; };
-  brainGraph = derive2 { name="brainGraph"; version="2.2.0"; sha256="10bqlwrhqjzj1bqv8r77rrqjrxqbwfmzyand47bv4vb00g1wyq3x"; depends=[abind ade4 boot data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix mediation oro_nifti permute RcppEigen scales]; };
+  brainGraph = derive2 { name="brainGraph"; version="2.7.3"; sha256="1r39hxjix7vf3x8w46cgrpxfzsjkyw1k2r34xw73rvb75xx0aaay"; depends=[abind ade4 boot data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix oro_nifti permute RcppEigen scales]; };
   brainKCCA = derive2 { name="brainKCCA"; version="0.1.0"; sha256="1ag3qahlba4h4126873hg2bbi6sr729mhiw22gjgr4g4jg6lhh09"; depends=[brainR CCA elasticnet kernlab knitr misc3d oro_nifti rgl]; };
   brainR = derive2 { name="brainR"; version="1.5.1"; sha256="0ih4vwy445ciyyvf8snm42vg7rzzf6vn9qkbhj0yyd8sy88mgyss"; depends=[misc3d oro_nifti rgl]; };
   brainwaver = derive2 { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
@@ -5519,26 +5712,26 @@ in with self; {
   breathteststan = derive2 { name="breathteststan"; version="0.4.7"; sha256="0lvyp3524cha6ckfx2c25829ys1g97xhjc3mi5cmdbfg8zfgcy58"; depends=[BH dplyr purrr Rcpp RcppEigen rstan rstantools StanHeaders stringr tibble tidyr]; };
   brew = derive2 { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
   brglm = derive2 { name="brglm"; version="0.6.2"; sha256="0c9ngscc6zlfm90fqyggnj04qfkhp5qgf5q3wnfpxwyc8cm47by2"; depends=[profileModel]; };
-  brglm2 = derive2 { name="brglm2"; version="0.5.1"; sha256="1vjgy9vxcx1n8syb04ck5sa4wnc4klrpyl8pk4ywkxzjflayh8ca"; depends=[enrichwith lpSolveAPI MASS Matrix nnet numDeriv]; };
+  brglm2 = derive2 { name="brglm2"; version="0.6.0"; sha256="1955fqnw97hn9r2q15a06xn80ijbrkfkxjihq91dfj82mb38fqyv"; depends=[enrichwith lpSolveAPI MASS Matrix nnet numDeriv]; };
   bridgedist = derive2 { name="bridgedist"; version="0.1.0"; sha256="0hqkpwpi3nv6mfhljl65zcflf4wy72ag36hdam6s7kynfj41qz6w"; depends=[]; };
   bridger2 = derive2 { name="bridger2"; version="0.1.0"; sha256="0clp42nnbvd01n65azdi2ghp0mfqwsipzdl2d30q04lcvfkdpxrf"; depends=[BSDA data_table ggplot2 outliers plotly shiny shinydashboard]; };
   bridgesampling = derive2 { name="bridgesampling"; version="0.7-2"; sha256="0kd4p5pz46vssjb8faxwy5nv6r403a89h8hylxhq50n2rj94x934"; depends=[Brobdingnag coda Matrix mvnfast scales stringr]; };
   briqr = derive2 { name="briqr"; version="0.1.0"; sha256="073pdk1094ng4kggzdjvihl791r2qlja1j2w3pfmh2027kn520r8"; depends=[dplyr httr jsonlite magrittr tibble]; };
   briskaR = derive2 { name="briskaR"; version="0.1.2"; sha256="1y9sabj7pfgyvv6s3bbvrb0xhjhwc4pcfsfx847kqdajid92qx8w"; depends=[deldir fftwtools fields MASS mvtnorm pracma raster rgdal rgeos sp]; };
-  brlrmr = derive2 { name="brlrmr"; version="0.1.5"; sha256="14dnmh062fw11bm236ilaqs6ss4ywajvsk3sxj0zwqk2bjf7y7vh"; depends=[boot brglm MASS profileModel Rcpp]; };
+  brlrmr = derive2 { name="brlrmr"; version="0.1.7"; sha256="0s47qz8y416x0gz91pzdpr97pmlvddwkvll454vnlafxxk9p5lds"; depends=[boot brglm MASS profileModel Rcpp]; };
   brm = derive2 { name="brm"; version="1.0"; sha256="0h4kgig28hkqv1amadznc0n9256dx613rxbn8s8si11ygx79x2dd"; depends=[]; };
-  brms = derive2 { name="brms"; version="2.9.0"; sha256="0a203wk5p6dw9arfvy96cx9dfsci6cdbmg7q5sfd0fx6113migvc"; depends=[abind backports bayesplot bridgesampling coda future ggplot2 glue loo Matrix matrixStats mgcv nleqslv nlme Rcpp rstan rstantools shinystan]; };
+  brms = derive2 { name="brms"; version="2.10.0"; sha256="10v9givr91k316j5c26qddw0591i32p4arzspavsjhli2x2nyilh"; depends=[abind backports bayesplot bridgesampling coda future ggplot2 glue loo Matrix matrixStats mgcv nleqslv nlme Rcpp rstan rstantools shinystan]; };
   brnn = derive2 { name="brnn"; version="0.7"; sha256="1bfqr21szlpn1izjwlzih9j7f34x31zrapckk184rvynbsbgg7g6"; depends=[Formula]; };
   broman = derive2 { name="broman"; version="0.69-5"; sha256="1y1l1p0ddy4a3vwa01yhrc5zcgnl673ar9prkn89pspbdab7km2s"; depends=[assertthat ggplot2 jsonlite RPushbullet]; };
   broom = derive2 { name="broom"; version="0.5.2"; sha256="0qmclih5dm5sqzy4hplcfy677kr12pm9pnpv3r319g14dd27pbqn"; depends=[backports dplyr generics nlme purrr reshape2 stringr tibble tidyr]; };
   broom_mixed = derive2 { name="broom.mixed"; version="0.2.4"; sha256="176817l4d31xbi7yfsjlw287va2wjllxizhi5z3p7x5mi7fkyv2c"; depends=[broom coda dplyr nlme plyr purrr reshape2 stringr tibble tidyr TMB]; };
-  broomExtra = derive2 { name="broomExtra"; version="0.0.4"; sha256="15732zpiy0dgbqaahqc2cpszk647fi3lmb9v5pgvfgv24k8d9d3p"; depends=[broom broom_mixed dplyr magrittr purrr rlang rsample tidyr]; };
+  broomExtra = derive2 { name="broomExtra"; version="0.0.6"; sha256="0wnis18nm11kkb198rqr8179mr9vfrb7hwn5v9dy2sqwbf47ncc6"; depends=[broom broom_mixed dplyr magrittr purrr rlang rsample tidyr]; };
   brotli = derive2 { name="brotli"; version="1.2"; sha256="07rgdgxh9bvn0qavpclxmkglwyl6ndqasxcs6j12if698dkn976b"; depends=[]; };
   brr = derive2 { name="brr"; version="1.0.0"; sha256="050ivnqcaxiyypd1sxfpy6ianhzzmvs6c77ga40g3440cvfigkgw"; depends=[gsl hypergeo pander stringr SuppDists TeachingDemos]; };
   brranching = derive2 { name="brranching"; version="0.5.0"; sha256="07dxynk8pbpbsqwaxg9vhpjv4wx8mb1lqxy1nkczjayn1yrpjfm5"; depends=[ape conditionz crul curl phylocomr phytools taxize]; };
   brt = derive2 { name="brt"; version="1.3.0"; sha256="13fn2mv66fys7w0xchh69sb6jggg5c2imk1psi3mlr1902m6ss5m"; depends=[ggplot2]; };
   brunnermunzel = derive2 { name="brunnermunzel"; version="1.3.5"; sha256="0pam2a17vj62a8as7a9lhk29wpd0chan8g7rx296da481n5r5w6b"; depends=[]; };
-  bs4Dash = derive2 { name="bs4Dash"; version="0.4.0"; sha256="192fpy4qbra264smv9xqdzmm9wx86gm0k7bpaapjlpb30lb4izh3"; depends=[htmltools shiny]; };
+  bs4Dash = derive2 { name="bs4Dash"; version="0.5.0"; sha256="1y75i6bsdy1bsbzwjblsnimw1zzk0zl3qnzqfq9zcnf6q2ghi3r2"; depends=[htmltools shiny]; };
   bsam = derive2 { name="bsam"; version="1.1.2"; sha256="1m2lpqm2i4i35hzr1iylrb8skx8rsys3w542xjyqw030bs7b1rdk"; depends=[coda dplyr ggplot2 gridExtra lubridate msm mvtnorm rjags rworldxtra sp tibble]; };
   bsamGP = derive2 { name="bsamGP"; version="1.2.2"; sha256="1r7jmrj91na9718digggsjqfqc2l0s0md68vr3s9xcb77c4bbhyi"; depends=[ggplot2 gridExtra MASS]; };
   bsearchtools = derive2 { name="bsearchtools"; version="0.0.61"; sha256="11fqz8kdhqpc3jq34vgv3frzawgsl5y0s83rb2p54yb5yhd3p68w"; depends=[Rcpp]; };
@@ -5547,35 +5740,37 @@ in with self; {
   bsplinePsd = derive2 { name="bsplinePsd"; version="0.6.0"; sha256="0f785l02hiq3f7anxqhm09f7lrqgkkqhly7f1x78cxm22hvrqyhg"; depends=[Rcpp]; };
   bsplus = derive2 { name="bsplus"; version="0.1.1"; sha256="0s3407z48b7sdbkjkqcjk2j1wvs0z7chvdjzphil83l0vp3j5x0s"; depends=[glue htmltools lubridate magrittr purrr rmarkdown stringr]; };
   bspmma = derive2 { name="bspmma"; version="0.1-2"; sha256="1a3p1h7bks5yrxv791wfa680v4a6q10p59iz6wvfifhf3ndlaw49"; depends=[]; };
-  bssm = derive2 { name="bssm"; version="0.1.7"; sha256="1a6fxzlq65409hrzzimf1qdg3ilqfkvdd9d2b6841cwsl0i245vx"; depends=[BH coda diagis ggplot2 ramcmc Rcpp RcppArmadillo sitmo]; };
+  bssm = derive2 { name="bssm"; version="0.1.8"; sha256="14bm80pzcq61ibhnz4b1r6g74dvl9psrqpd3jcgmb7lzj6w6p0xv"; depends=[BH coda diagis ggplot2 ramcmc Rcpp RcppArmadillo sitmo]; };
   bssn = derive2 { name="bssn"; version="0.7"; sha256="1g2xhb7bqapwd5zbc4bl4h1fskd7k6gd0rz74hnydiiwxrwiihf6"; depends=[sn]; };
   bst = derive2 { name="bst"; version="0.3-17"; sha256="0x7hv0gx5kn8dwgbkabz7d4dh2l75zdawgdj5zxan13k7b9n3l8y"; depends=[doParallel foreach gbm rpart]; };
-  bsts = derive2 { name="bsts"; version="0.9.1"; sha256="0zyvlpps0p663arvx5fhac2jqc5c0g3gfmx3qcr45qi5qhya7lzq"; depends=[BH Boom BoomSpikeSlab xts zoo]; };
+  bsts = derive2 { name="bsts"; version="0.9.2"; sha256="1v32wsjcfcq0zwklrp0c83xw4h49v49nmjs973mdzh4q05wzlpmp"; depends=[Boom BoomSpikeSlab xts zoo]; };
   btb = derive2 { name="btb"; version="0.1.30"; sha256="1f94zzpg3q6ldd436cv1wqpfbpw5f706073wk38a4dkg57dwrbgi"; depends=[BH Rcpp RcppArmadillo RcppParallel sf sp]; };
   btergm = derive2 { name="btergm"; version="1.9.4"; sha256="17bjd1d2yj1l98mbflklznxd3q7zi5nzj943nxzva7ij3hdsn6l4"; depends=[boot coda ergm ggplot2 igraph Matrix network ROCR RSiena sna speedglm statnet_common xergm_common]; };
   bucky = derive2 { name="bucky"; version="1.0.5"; sha256="0xn92dnhrs8810f8kvn2dnig0icd1k4dkxljmldij6dn8xb7c85q"; depends=[lmtest sandwich]; };
-  buildmer = derive2 { name="buildmer"; version="1.1"; sha256="0ds48qnydwc3kngik2r78y70q50yca497xi83p643g4yl1kcybfy"; depends=[lme4 mgcv plyr]; };
+  buildmer = derive2 { name="buildmer"; version="1.3"; sha256="0iv0819vaax7yy2p9cyrhj507n3zr681w7ks81y2b07n8mra0ylz"; depends=[lme4 mgcv plyr]; };
+  bujar = derive2 { name="bujar"; version="0.2-7"; sha256="1r14mh5j2w87mc6b192hi4qg97si2xv6v826j6c1awh7w3vqbbr9"; depends=[bst earth elasticnet gbm mboost mda modeltools mpath rms survival]; };
   bulletcp = derive2 { name="bulletcp"; version="1.0.0"; sha256="1k7lw8gflih47ncz8hgsj0sxbajnkhz1k7yb7rwbdnzcki3n3jln"; depends=[assertthat dplyr mvtnorm Rdpack]; };
   bulletr = derive2 { name="bulletr"; version="0.1"; sha256="181rnrp62almf08gr41qnrnq8qnbqraqdvj4zixdh8fachsq2imp"; depends=[dplyr ggplot2 plotly plyr reshape2 robustbase smoother xml2 zoo]; };
   bullwhipgame = derive2 { name="bullwhipgame"; version="0.1.0"; sha256="03nwf2v4zhgkxvkghpkbkxz0cnkqcwwl51ykrk25qciakfqkgfws"; depends=[shiny]; };
+  bunching = derive2 { name="bunching"; version="0.8.4"; sha256="0hb50xxlpia3149kyp0df4dmfkxvblnj7hd24c7ylglxzx2hq59j"; depends=[BB dplyr ggplot2 tidyr]; };
   bunchr = derive2 { name="bunchr"; version="1.2.0"; sha256="1b8hdg2x26k0ahx4gxdpzr36hy056939r4496q3vbgyd4bbk2fbd"; depends=[shiny]; };
   bundesbank = derive2 { name="bundesbank"; version="0.1-9"; sha256="05sc6m2v8bfgdka7v28rxhq5a8c88gsxkv0zjk08rpw8k8zql0dk"; depends=[]; };
   bundesligR = derive2 { name="bundesligR"; version="0.1.0"; sha256="0dnhbh9jh7dfbk7mfh8msq4ys5kakalr0kwkycycrb2q8rd049vp"; depends=[]; };
   bupaR = derive2 { name="bupaR"; version="0.4.2"; sha256="0fg16lw3liwmp1y92ky32wq18lfzn8psn2sqfja0322q6b34fgjk"; depends=[data_table dplyr eventdataR forcats glue magrittr miniUI purrr rlang shiny tidyr]; };
-  burnr = derive2 { name="burnr"; version="0.4.0"; sha256="096z4bzmvalyihy45bdcvp1zsxvmwk3mkz7wj5x077z2pg8kfq38"; depends=[ggplot2 MASS plyr reshape2]; };
+  burnr = derive2 { name="burnr"; version="0.5.0"; sha256="19kkk4cyd7h3idn8di77426lcmq2jkxaksbpvg87hpkn72vcr8y5"; depends=[ggplot2 MASS plyr reshape2]; };
   bursts = derive2 { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; };
   busdater = derive2 { name="busdater"; version="0.2.0"; sha256="0hib73zay9r7rv49zv1lx0l15jzjyli9f1vrk414l8apggvx4c6s"; depends=[lubridate]; };
+  butcher = derive2 { name="butcher"; version="0.1.0"; sha256="0rs7mkwq78bdlpvcy6l6wqcj9x3dfqqjy9p0mq0w6z82cakv5w8q"; depends=[fs lobstr purrr rlang tibble usethis]; };
   bvarsv = derive2 { name="bvarsv"; version="1.1"; sha256="1bv4fbbi8bn7sqqpjlf8w5jpgydjr15wv5v9940wc42yk792yjrx"; depends=[Rcpp RcppArmadillo]; };
-  bvartools = derive2 { name="bvartools"; version="0.0.1"; sha256="0pf8avjdknc2h6n52bwlxj3d7a3jhgk02pdcyjsjh0qms5rsiwvs"; depends=[coda Rcpp RcppArmadillo]; };
+  bvartools = derive2 { name="bvartools"; version="0.0.2"; sha256="16wa2bnm91764xspgvswvl3ylv0s3x5f734scw9x0zjy9q72b05h"; depends=[coda Rcpp RcppArmadillo]; };
   bvenn = derive2 { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
   bvls = derive2 { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
-  bvpSolve = derive2 { name="bvpSolve"; version="1.3.3"; sha256="1q5sh3kj1c07zq7mx8sh4ggp1fvwh86394qrc3ildj4wrbakmzib"; depends=[deSolve rootSolve]; };
   bwd = derive2 { name="bwd"; version="0.1.0"; sha256="1ryd5cqbpns9dsis2a9vjg6fcg23284c3dr3j3l18krdshdksfr0"; depends=[]; };
-  bwimage = derive2 { name="bwimage"; version="1.0"; sha256="0qh5qhcp8fm2d39dk4637biphv6rc6i687h5pip7ydp5f5bvgz77"; depends=[jpeg png]; };
+  bwimage = derive2 { name="bwimage"; version="1.2"; sha256="1wm17spxfrgf8kfc6fadri54sdk0b9813s9y4rp2xiwmy5sp6aj2"; depends=[jpeg png]; };
   bysykkel = derive2 { name="bysykkel"; version="0.2.3"; sha256="1cbfmmmw7a37fwgwgfvc8yqxl4dh5n30qcnva9wsm903wccmb2cr"; depends=[glue httr jsonlite lubridate magrittr tibble]; };
   bytescircle = derive2 { name="bytescircle"; version="1.1"; sha256="0c83d37kijcvr00pc4qqdci14cpbg6988izyjfjk1yliavyc6mwf"; depends=[]; };
   bzinb = derive2 { name="bzinb"; version="1.0.3"; sha256="1n5ga5v6v71cgrgga5jlhmxs0s62pz93lsp3x8qz6vg042m5dl0s"; depends=[BH Rcpp]; };
-  c060 = derive2 { name="c060"; version="0.2-4"; sha256="1yzy0p6041rygqfwzb8dpyc7jq12javmhlvdcmmc7p59bbk7wv3j"; depends=[glmnet lattice mlegp penalizedSVM peperr survival tgp]; };
+  c060 = derive2 { name="c060"; version="0.2-5"; sha256="1862lic0vvidbd7s63j65iz4rf70d5337l80vvrbgv8d7fhnxz0y"; depends=[glmnet lattice mlegp penalizedSVM peperr survival tgp]; };
   c14bazAAR = derive2 { name="c14bazAAR"; version="1.0.3"; sha256="1fnsaadnam8njj1gskz26j71jd3n229y61psk3scnbrr5fyawlhh"; depends=[crayon data_table dplyr httr magrittr pbapply rlang tibble tidyr]; };
   c212 = derive2 { name="c212"; version="0.95"; sha256="1cgmldy2ysz3934fxh0mmzrb2vw33j3pmws53ng7yxg79mb9ixja"; depends=[coda]; };
   c2c = derive2 { name="c2c"; version="0.1.0"; sha256="149np512wjnlr9glmqxpiamf6c31v0bh6ym95jpdhk0iw3ic9kvh"; depends=[]; };
@@ -5583,28 +5778,30 @@ in with self; {
   c3net = derive2 { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; };
   cAIC4 = derive2 { name="cAIC4"; version="0.8"; sha256="08616cbzwdl2yqjk2v9nlwzgky8fq16qpzahbay8sb9kjslqgiyg"; depends=[lme4 Matrix]; };
   cIRT = derive2 { name="cIRT"; version="1.3.0"; sha256="0jbjkmzw3z935pq12k5kmy3vdpqlpm70siv8f0bnlw42sai1qcw1"; depends=[Rcpp RcppArmadillo]; };
-  cNORM = derive2 { name="cNORM"; version="1.2.0"; sha256="1mhdagdbz02zcr4dggmm54h2pk2zkzn4hlwa0ngki55l14bhg6k2"; depends=[lattice latticeExtra leaps]; };
+  cNORM = derive2 { name="cNORM"; version="1.2.2"; sha256="1lid4j6i65xmmakab0bbs7vyhkrvax3l5kv7r66x665gm8y00h0b"; depends=[lattice latticeExtra leaps]; };
   cOde = derive2 { name="cOde"; version="1.0.0"; sha256="12222wlsk9l6m9y477mjl8x279xhs8c1l1wsq92khwycm1j06jfy"; depends=[]; };
   cPCG = derive2 { name="cPCG"; version="1.0"; sha256="1pfbsv2rcjsryn6nr56a7i4yb7k0m3gdfn4q9l1kpzhmv9lic7m1"; depends=[Rcpp RcppArmadillo]; };
   cRegulome = derive2 { name="cRegulome"; version="0.3.1"; sha256="0j3rv7vakv27r1n1yxmd50nlnyc4y329w0dmrw56dwkdkk4zzbsg"; depends=[DBI ggplot2 ggridges httr igraph R_utils RSQLite UpSetR VennDiagram]; };
   ca = derive2 { name="ca"; version="0.71"; sha256="1ywqvj0rc9ss7yim4x09yf6l80xz4y6ggl56m0c1hc9x6wxna7h2"; depends=[]; };
-  caMST = derive2 { name="caMST"; version="0.1.0"; sha256="1xb8ka2r729sqwxhxh5qj4girh0va0faqjv1jsyn3hlbijcz78jj"; depends=[catR mstR]; };
+  caMST = derive2 { name="caMST"; version="0.1.2"; sha256="1prs9xrva3wk7d5k13a4vxgjdv5vw1ybymprp21v97h199qsnarp"; depends=[catR diagram mstR]; };
   caRamel = derive2 { name="caRamel"; version="1.1"; sha256="06nppjx66xwdqchna5j6xlhfzs5g36nv8srwivbnfixys29awabb"; depends=[geometry]; };
   caRpools = derive2 { name="caRpools"; version="0.83"; sha256="10m7fw1zfr9i6v2qg235diwf3fmfr88incxnqpvnhmqcn082mxrp"; depends=[biomaRt DESeq2 rmarkdown scatterplot3d seqinr sm VennDiagram xlsx]; };
-  caTools = derive2 { name="caTools"; version="1.17.1.2"; sha256="0svj31y7h8vimvliygmmbl7pk850qk80k1vn38mlcxsnmcpm9k39"; depends=[bitops]; };
+  caTools = derive2 { name="caTools"; version="1.17.1.3"; sha256="04m7vbydxb1nipday97w29p2miykyzxw572j9lda6jxmmp2kb1yp"; depends=[bitops]; };
+  cabinets = derive2 { name="cabinets"; version="0.3.1"; sha256="1f6pkh2vpnqdqhbd6ipy5553xh7bppc7y7xbz9lw27wn5fppilzl"; depends=[crayon fs glue here purrr R6 rjson rstudioapi stringr usethis withr]; };
   cabootcrs = derive2 { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
   cacIRT = derive2 { name="cacIRT"; version="1.4"; sha256="145j6isqa8yj2nvlqkxagd076zs10ng3n44khi5p4jj77fjc8gh6"; depends=[]; };
   caesar = derive2 { name="caesar"; version="1.0.0"; sha256="0z1bb5cmjr97l3h9svy4r4bj58jkmq6kdkip577cvy2xf5q9n410"; depends=[binhf]; };
   caffsim = derive2 { name="caffsim"; version="0.2.2"; sha256="00bkgmmqrydpji2pvhcchgl2p8w5ksby4g80i3h76q0bm2325w9h"; depends=[dplyr ggplot2 markdown mgcv shiny tibble tidyr]; };
-  cairoDevice = derive2 { name="cairoDevice"; version="2.27"; sha256="0hhzndaqcpkdfbvrsfp54k8bl82wffmp0s0689vd7zhwxvp7l3wg"; depends=[]; };
+  cairoDevice = derive2 { name="cairoDevice"; version="2.28"; sha256="14885gpmhdzmxbz3q59s5sd3kjkyi5yf9lpnjwmvc482n8ix4lpq"; depends=[]; };
   calACS = derive2 { name="calACS"; version="2.2.2"; sha256="0a53k2rzyjksb0ypr5zrask4a6mgiyrqx0l2z3lm218y8pk2jf1w"; depends=[]; };
   calcWOI = derive2 { name="calcWOI"; version="1.0.2"; sha256="09g96inaayp0brbxw75l7k1cqn50f7qw0glb2g04657zmlk16i52"; depends=[LS2W wavethresh]; };
+  calculus = derive2 { name="calculus"; version="0.1.1"; sha256="1haviqraiil5cx6sy2zlkxlspvv1vx6qn1jji77ma4yhd2xzs1gk"; depends=[Rcpp]; };
   calendar = derive2 { name="calendar"; version="0.0.1"; sha256="18ha6vpx2bpk8p08hajiq2d201fbqhzcycp8ks6wrr06fy04z689"; depends=[lubridate tibble]; };
   calibrar = derive2 { name="calibrar"; version="0.2.0"; sha256="1544bc5rhhc6d1mky7ngza00wwh63q07dkbzlwfgyavly8m9cplb"; depends=[cmaes foreach optimx]; };
-  calibrate = derive2 { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; };
+  calibrate = derive2 { name="calibrate"; version="1.7.5"; sha256="1s423nr176l2sc66wp7hzgqkv7c2bq8d2bjrrvrrm5qa9y3zdx1k"; depends=[MASS]; };
   calibrateBinary = derive2 { name="calibrateBinary"; version="0.1"; sha256="1k6sl4bg05piyczpk6wsva914gcmy8viyz4423gx9i6ddflb7xdb"; depends=[gelnet GPfit kernlab randtoolbox]; };
   calibrator = derive2 { name="calibrator"; version="1.2-8"; sha256="1m9g1pmnr6d9jkg5ab0l0cbqfj7kmx7sdmcdqdhn9ifyhhn7812y"; depends=[cubature emulator mvtnorm]; };
-  callr = derive2 { name="callr"; version="3.3.1"; sha256="0rvrlg86fxr5nadvqa0dr1iifqjs4d1rc32v76m3ccvx6m3xlq5z"; depends=[processx R6]; };
+  callr = derive2 { name="callr"; version="3.3.2"; sha256="12dbqzjngbyaqdyw0yq1blyfx8pagcvx1vqj2jm451hs25nhdrnh"; depends=[processx R6]; };
   calmate = derive2 { name="calmate"; version="0.12.1"; sha256="07sjbq7bcrhal52pdzsb5pfmk6a8a44wg8xn79sv4y5v74c5xaqz"; depends=[aroma_core MASS matrixStats R_filesets R_methodsS3 R_oo R_utils]; };
   calpassapi = derive2 { name="calpassapi"; version="0.0.2"; sha256="0i81ffdfw3m15cfbag3l9s245dyhapqhy7adb3228vam3qp3n59b"; depends=[digest dplyr httr jsonlite stringr]; };
   camsRad = derive2 { name="camsRad"; version="0.3.0"; sha256="06gar6qan1ka01ngjvbpcv649yvfga697mplwn1x6qnfr4ngb7cs"; depends=[httr xml2]; };
@@ -5614,20 +5811,20 @@ in with self; {
   cancerTiming = derive2 { name="cancerTiming"; version="3.1.8"; sha256="1sfi8q2f5ag7iak0sf9pmqncb89w3gnxdiwjwpivkwhr28ais4mq"; depends=[gplots LearnBayes]; };
   candisc = derive2 { name="candisc"; version="0.8-0"; sha256="0hq5bwvq791rhff2c29xdjbbkcyydii1lbsy05c1fapyn88ir0mi"; depends=[car heplots]; };
   canprot = derive2 { name="canprot"; version="0.1.2"; sha256="0lc31vw49sc2zsrn52aqqljcc4n79j4i4845sr201ga67w07vrrb"; depends=[CHNOSZ xtable]; };
-  cansim = derive2 { name="cansim"; version="0.3.0"; sha256="0byyrwwsx4msfj7nmsp8s5gibvkf05rjajl5a3a92jj41qhw6hy4"; depends=[dplyr httr jsonlite purrr readr rlang rvest stringr tibble xml2]; };
+  cansim = derive2 { name="cansim"; version="0.3.3"; sha256="17rhhqzs49zhgkhcdi4xq7cgj4hb6900bxvw43nbwqr3gcif1wpq"; depends=[dplyr httr jsonlite purrr readr rlang rvest stringr tibble xml2]; };
   canvasXpress = derive2 { name="canvasXpress"; version="1.24.8"; sha256="1sxhxddl9fdvxs1hdn5b03jg0sp8wgpfli9v0p2n381lq1z30m3s"; depends=[htmlwidgets httr]; };
   cap = derive2 { name="cap"; version="1.0"; sha256="1pv8hskxjbp589dn7rx80yaa1ld76x1w37bss2fyrys1p3qr78aa"; depends=[MASS multigroup]; };
   cape = derive2 { name="cape"; version="2.0.2"; sha256="0ngm9scd3f2zcy7gy0lqk05cgbfrhhcss3mj5g6bj0byhgwd7msn"; depends=[corpcor doParallel evd fdrtool foreach HardyWeinberg igraph Matrix qpcR RColorBrewer regress shape]; };
   caper = derive2 { name="caper"; version="1.0.1"; sha256="0md0sngj7wsv2d4d7fmyyz9qqismk3ps9l3qk1blqz1yi19pq124"; depends=[ape MASS mvtnorm]; };
-  capitalR = derive2 { name="capitalR"; version="1.2.0"; sha256="1mclb0hx7ajr0gmmj7pn55zdqrd659dd5xgb3nzkp4yrqgfbv2bm"; depends=[]; };
-  capm = derive2 { name="capm"; version="0.13.10"; sha256="19lz1nnil0s37r089k3bc2c5jpav03dbvwk9w3brh4zls7w4qypf"; depends=[circlize deSolve dplyr FME ggplot2 magrittr sf survey tidyr]; };
+  capitalR = derive2 { name="capitalR"; version="1.3.0"; sha256="08lvncia9mdrnw84zydf1k7336xawiirh2swziqfwx3z1n172n52"; depends=[]; };
+  capm = derive2 { name="capm"; version="0.14.0"; sha256="0c3rnc1qd9c4v0jj8ihg6bdhpqvfnpafkqyqkar6fwnlvgw48z83"; depends=[circlize deSolve dplyr FME ggplot2 magrittr sf survey tidyr]; };
   capn = derive2 { name="capn"; version="1.0.0"; sha256="14vfk00xyx0az3whmxjpcv1785lf0gx81w7qc54i3wcfp3i22kcr"; depends=[]; };
   captioner = derive2 { name="captioner"; version="2.2.3"; sha256="0xg72pmgm84f0v45phfwxpsslhf12nhn1swmrj1yifj7g9sjvybj"; depends=[]; };
   captr = derive2 { name="captr"; version="0.3.0"; sha256="13j2nq9hm37g4h5fjdpz7kix0sqajdd7zssjfgil06ixfmnsijkx"; depends=[curl jsonlite]; };
   capushe = derive2 { name="capushe"; version="1.1.1"; sha256="1aa76ir1kp67hiz7dr60azyc71yzslshyc640fjh0fpw0sp5kwbc"; depends=[MASS]; };
   capwire = derive2 { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
-  car = derive2 { name="car"; version="3.0-3"; sha256="0vy3g3bjljd2al8xb9qr45f98is7yppc9jilqn7b6zvf5yqpr07s"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg rio]; };
-  carData = derive2 { name="carData"; version="3.0-2"; sha256="152lfgaspgx6x2wzdb5p3zv6r87a0d2pg10h6fjmdr613kzlwp1v"; depends=[]; };
+  car = derive2 { name="car"; version="3.0-5"; sha256="0w7fm81pn0wqrwzbjyddnrkpjl8gavg7ijh7rab9f21rkgkzgm3y"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg rio]; };
+  carData = derive2 { name="carData"; version="3.0-3"; sha256="0cg2yxzn0pdjqykr60my1fzpfkqac21fll5hv3m9w5c9sayq8swq"; depends=[]; };
   carSurv = derive2 { name="carSurv"; version="1.0.0"; sha256="0wv7lp10i4sdfqyizg77ghblp3pcp7wzhs946sm0wl6w00krav9j"; depends=[corpcor fdrtool mboost Rcpp survival]; };
   carbonate = derive2 { name="carbonate"; version="0.1.2"; sha256="1v4ssdk7j60sm4iahywb4x710ijvzj0yczcmr75zvq9rjfki1b54"; depends=[clipr httr magick R6 RSelenium rtweet wdman yaml]; };
   carcass = derive2 { name="carcass"; version="1.6"; sha256="0nhp35nxjqqmy15rf9vc0qyymy7d0v8mc84570b9nc62g5xac8xy"; depends=[arm expm lme4 MASS survival]; };
@@ -5644,7 +5841,7 @@ in with self; {
   carrier = derive2 { name="carrier"; version="0.1.0"; sha256="0bqnwnnjqjk9q0lxq6kkz9s75ss10lfyyywyyi24m8wppxpw1vqc"; depends=[pryr rlang]; };
   cartograflow = derive2 { name="cartograflow"; version="1.0.0"; sha256="1sczhvkkrdhcn2phjpsvb86ik0bgyhbgcza7dz6d4qmpl8195bs9"; depends=[dplyr g_data ggplot2 maptools plotly reshape2 rgdal rgeos rlang sp]; };
   cartogram = derive2 { name="cartogram"; version="0.1.1"; sha256="171zw3h38iyxy70wz7yqhnivjx6kf1srj97dfmlkxyhz1ppyk38w"; depends=[packcircles rgeos sf sp]; };
-  cartography = derive2 { name="cartography"; version="2.2.0"; sha256="0w0pbvzpbl17vlq9s9ns474m7fnb09p60r4f8k1pkly148p7pji8"; depends=[classInt raster Rcpp rgeos rosm sf sp]; };
+  cartography = derive2 { name="cartography"; version="2.2.1"; sha256="0fbgaaq354j6hg7m9wgpw4z1b26njl4liysb2vzgi3py5n9xg3dp"; depends=[classInt raster Rcpp rgeos rosm sf sp]; };
   cartools = derive2 { name="cartools"; version="0.1.0"; sha256="0gc5502373f0c2m2rh6awvyfqrg1wx1f341dm2byk9znba887lgs"; depends=[animation devtools dplyr gapminder ggplot2 knitr rlist rmarkdown roxygen2 sde shiny tidyverse usethis]; };
   carx = derive2 { name="carx"; version="0.7.1"; sha256="1qyqsj6pfzzqyaj6076zvgcimhl4cll6sxfb6aigm02rwfkq5gvh"; depends=[matrixStats mvtnorm nlme tmvtnorm xts zoo]; };
   caschrono = derive2 { name="caschrono"; version="2.1"; sha256="0p103r6v37c4li1j9x5mdflhx24zil8nhgpdvw5ijrvyixds0nn2"; depends=[Hmisc zoo]; };
@@ -5653,20 +5850,21 @@ in with self; {
   casebase = derive2 { name="casebase"; version="0.1.0"; sha256="0216qzyxv44cl9f806lal9lx4n0zzr9csx8ggyjva04h5iiqrq6w"; depends=[data_table ggplot2 survival VGAM]; };
   casino = derive2 { name="casino"; version="0.1.0"; sha256="07fphn46718gr1zm0xr43mwv7yk697xrc40lxxin315cf3gm0cka"; depends=[crayon dplyr ggplot2 magrittr purrr R6 tibble tidyr]; };
   cassandRa = derive2 { name="cassandRa"; version="0.1.0"; sha256="0rwqzxbflxn1iyggm3mq6pkbl61mhk4vdwqwzlwrhrvvr2ib236r"; depends=[bipartite boot dplyr ggplot2 magrittr purrr reshape2 tidyr vegan]; };
-  castor = derive2 { name="castor"; version="1.4.2"; sha256="02z000ngy63nk4hq6cv0drn5jcm4il4c4pbrc39byaq9ihf0iy3c"; depends=[naturalsort nloptr Rcpp]; };
+  castor = derive2 { name="castor"; version="1.5.0"; sha256="1fdfprp03ddslypqkclnv4i9cbk92d4qiqy3qx8bnv8gly76n40s"; depends=[naturalsort nloptr Rcpp]; };
   cat = derive2 { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
+  cat_dt = derive2 { name="cat.dt"; version="0.1.0"; sha256="1rxq1kaw03c7m2jz4n6v5x4l9fiaqahdrvh9624zapf9mfhky0lm"; depends=[Matrix Rglpk]; };
   catIrt = derive2 { name="catIrt"; version="0.5-0"; sha256="09010z1q96nbnpys6mybspaqy57lvgd2cvwgnfijzgx3kl87pwnl"; depends=[numDeriv]; };
   catR = derive2 { name="catR"; version="3.16"; sha256="1w39dxfzqk065v64qzmfamx8p1njsv13a461s6clagbqmhysmzbx"; depends=[]; };
-  catSurv = derive2 { name="catSurv"; version="1.0.3"; sha256="1qjmjdmc81inim5kpwh4k2r3cffmkyp2wpcqqzv731hciqrad8a8"; depends=[BH ltm Rcpp RcppArmadillo RcppGSL RcppParallel]; };
+  catSurv = derive2 { name="catSurv"; version="1.1.3"; sha256="11j4girw99wj0l3b022kkgjcsww99dwpn3hpwzyxxd54cr55bbip"; depends=[BH jsonlite ltm plyr Rcpp RcppArmadillo RcppGSL RcppParallel]; };
   catch = derive2 { name="catch"; version="1.0"; sha256="16gdjrmlsnpyc38fihggj6c7wpgpmf4phcwrimnncdhwlk038yn8"; depends=[MASS Matrix tensr]; };
   catchr = derive2 { name="catchr"; version="0.2.1"; sha256="00h7gizv90zq78a80pqvp78f2l55xxnmya2g275pj84dqj1g9pfb"; depends=[purrr rlang]; };
   catcont = derive2 { name="catcont"; version="0.5.0"; sha256="0ix6ipm3nn9aq5vxirjga2kwwfnxn4v8ggfjlg5v9027v2r8rb96"; depends=[dplyr]; };
   catdap = derive2 { name="catdap"; version="1.3.4"; sha256="0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2"; depends=[]; };
   catdata = derive2 { name="catdata"; version="1.2.1"; sha256="0fjylb55iw8w9sd3hbg895pzasliy68wcq95mgrh7af116ss637w"; depends=[MASS]; };
-  cate = derive2 { name="cate"; version="1.0.4"; sha256="0qck6675xm5xbw440m1b6n38wjwk7izx3s0zpxbmhc9wh12c5prk"; depends=[corpcor esaBcv leapp MASS ruv sva]; };
+  cate = derive2 { name="cate"; version="1.1"; sha256="1mw4h03gbrrf69jhw3g8a761gxrz2i7aiqdb0vc1dv75pkjspwmj"; depends=[corpcor esaBcv leapp MASS Matrix ruv sva]; };
   catenary = derive2 { name="catenary"; version="1.1.2"; sha256="1n64kq3lkaf00a2mghs67hnxvi4dp6g12pwifyx0bd418wkw9wf3"; depends=[boot broom dplyr ggplot2 tidyverse]; };
   catfun = derive2 { name="catfun"; version="0.1.4"; sha256="1482rll333fvy4h58f15flfs7qrck3vk9bzpdn3hayhnmc7svmma"; depends=[broom cli DescTools epitools Hmisc magrittr rlang]; };
-  catlearn = derive2 { name="catlearn"; version="0.6.2"; sha256="0b038qgx6jksshi68iin1wwi66hng1fdbcr8dg7q6nqmx78bhc3k"; depends=[doParallel dplyr foreach Rcpp tidyr]; };
+  catlearn = derive2 { name="catlearn"; version="0.7.1"; sha256="194gqx94wkl4zr01ms5g684ma328q35cfqpwa63jv98scrybrbwj"; depends=[doParallel dplyr foreach Rcpp tidyr]; };
   catmap = derive2 { name="catmap"; version="1.6.4"; sha256="18449qh10jxfi8p49gmbnib5y013nfdgdblbs4n0mfs0nnzb10sx"; depends=[forestplot metafor]; };
   catnet = derive2 { name="catnet"; version="1.15.5"; sha256="1mwhchja3k9mrhclg6janxsjjs4x20ppg3gx6jymfai2bdv23azh"; depends=[]; };
   catseyes = derive2 { name="catseyes"; version="0.2.3"; sha256="1p0jnjjfl1jqqqk8q6yfsxrh30idfbss7v6lrrm25x8zrhxah0ww"; depends=[]; };
@@ -5674,7 +5872,7 @@ in with self; {
   cattonum = derive2 { name="cattonum"; version="0.0.2"; sha256="0flsfyiymg8p1wik6yldas0ai1bq973rhhh4s3dblf1il4fdl4bv"; depends=[dplyr tidyselect]; };
   causalMGM = derive2 { name="causalMGM"; version="0.1.1"; sha256="13qx71rfc6m7mvlpwma7ks09f3mlxknxw3jlv3b4iq5pjs8f1v5r"; depends=[rJava]; };
   causaldrf = derive2 { name="causaldrf"; version="0.3"; sha256="16gqx8b8alwm8a4lm69qamnqr3bg2qbz0d6q4lyqyrwsk12grid6"; depends=[mgcv survey]; };
-  causaleffect = derive2 { name="causaleffect"; version="1.3.9"; sha256="1zmj9m38ya7r7pqkqb87pgs4gfw0cq1ssa4dxn35mrqnf9gldba0"; depends=[ggm igraph XML]; };
+  causaleffect = derive2 { name="causaleffect"; version="1.3.10"; sha256="0z7vdhm9g95s9nkyx4jdzqrap24nb63n8mr23b9gqm6s1m47sc0z"; depends=[ggm igraph XML]; };
   causalsens = derive2 { name="causalsens"; version="0.1.2"; sha256="1xy8nybflbw6hymc15mmz27ic6hcq89wryb8q6d4zi216lwv2nww"; depends=[]; };
   causalweight = derive2 { name="causalweight"; version="0.1.2"; sha256="0xl49r2dgcns3162b651bn9bbc4gr7cd97jbdwzg21bjzp6v4ic1"; depends=[mvtnorm np]; };
   cba = derive2 { name="cba"; version="0.2-21"; sha256="0j2hbp0xlfp28gqgnkcvmb4yp1kc5m2bp5x7pr4m1pz2b1s7h7m6"; depends=[proxy]; };
@@ -5684,7 +5882,7 @@ in with self; {
   cbird = derive2 { name="cbird"; version="1.0"; sha256="0kzylylk46swd7f0j6kjyrcs3plbx9799q9kb8hjxmgh0qcjk2p6"; depends=[]; };
   cblasr = derive2 { name="cblasr"; version="1.0.0"; sha256="1bz8d4124qpja4bvzn6k1swi89cfyrcpwg2nwyj4r8y0m1hbpc71"; depends=[Rcpp]; };
   cbsem = derive2 { name="cbsem"; version="1.0.0"; sha256="0gc14rhfy566yw2yqzq7yk0xanpzcz7zp3km483azgk816vakbn4"; depends=[]; };
-  cbsodataR = derive2 { name="cbsodataR"; version="0.3.2"; sha256="035b9lad5jf5scrhsnfp4b7bxnlp5l7j8ybj265h3ipi841svif5"; depends=[jsonlite whisker]; };
+  cbsodataR = derive2 { name="cbsodataR"; version="0.3.5"; sha256="1j0v360q5vwl4xqzd35glwilcz8hv6kh4kky19zkzckkj4qqzidi"; depends=[jsonlite whisker]; };
   ccChooser = derive2 { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
   ccRemover = derive2 { name="ccRemover"; version="1.0.4"; sha256="1npd0vx2hyg7qbwd650987i49v5cxr6i1hlj5rw6fxc0b808s596"; depends=[]; };
   ccaPP = derive2 { name="ccaPP"; version="0.3.2"; sha256="166spwqsqbp42mr1acglydlxspcpn8vhnim8r3s9m81sa9pmazpj"; depends=[pcaPP Rcpp RcppArmadillo robustbase]; };
@@ -5692,19 +5890,22 @@ in with self; {
   cccd = derive2 { name="cccd"; version="1.5"; sha256="0m364zsrgr7mh1yhl2lqxpaf71gzq3y3pp9qgnj4spiy4iadyy7i"; depends=[deldir FNN igraph proxy]; };
   cccp = derive2 { name="cccp"; version="0.2-4"; sha256="1hw0xzfdycrnhkym5va430jk1b9ywf7wbm9qyj4a62n210hk4nzc"; depends=[Rcpp RcppArmadillo]; };
   cccrm = derive2 { name="cccrm"; version="1.2.1"; sha256="180hzxm4z91hh008lysq1f0zky7qngg5z1laa1c119g4rqqcdskl"; depends=[gdata nlme]; };
-  ccda = derive2 { name="ccda"; version="1.1"; sha256="0ya9x1b41l0pjyyfdswjyip0c2v8z7gncbj7cdz0486ad75229x7"; depends=[MASS]; };
+  ccda = derive2 { name="ccda"; version="1.1.1"; sha256="1kka4vmhpcnl4skdmijzsxrfj6dgax6hhlxvp7gkqlfaazq8pzf0"; depends=[MASS]; };
   ccdrAlgorithm = derive2 { name="ccdrAlgorithm"; version="0.0.5"; sha256="171k70p4qyasr385ma3cvcga2b4nbz2dfry78wqx5yb1aa6wwcyc"; depends=[Rcpp sparsebnUtils]; };
   ccfa = derive2 { name="ccfa"; version="1.1.0"; sha256="1paxk1jkkl8yy71h8zqw7kmhy5yz93sp7z9mpnckwyxmsbs58ps8"; depends=[BMisc doParallel foreach formula_tools ggplot2 pbapply quantreg TempleMetrics tidyr]; };
   cchs = derive2 { name="cchs"; version="0.4.1"; sha256="1aq6mc3hyhp3g8yzk6y82zz8nriwmxms9lgpw06rf857im6bn5ls"; depends=[survival]; };
   cclust = derive2 { name="cclust"; version="0.6-21"; sha256="1n5hh0017bcq8ck52qq89jm9zgdfpmiksrypsnv2vvhk3nr0s91c"; depends=[]; };
   ccmm = derive2 { name="ccmm"; version="1.0"; sha256="0855nr74xxpy7in2vrw15g8pv7nm1374irc1c5hikr5hadk5pf8v"; depends=[MASS]; };
+  ccostr = derive2 { name="ccostr"; version="0.1.0"; sha256="0yfmj8v7ip595v87w9dmlzl5rih2j0lsapswh9b9vvc20wnk48ld"; depends=[data_table dplyr forcats ggplot2 knitr msm Rdpack rlang survival tibble]; };
   ccrs = derive2 { name="ccrs"; version="0.1.0"; sha256="1nyw4ip9v7y6yfbfdz3bwhy4r6hpp1hiip3ycldxlkl9wrxkxgrw"; depends=[cds colorspace dplyr limSolve lsbclust msm]; };
+  ccss = derive2 { name="ccss"; version="1.0"; sha256="0m2facn6kwxrjxg9a8z0pjnhp0rkgw6nxj6sac93ig24zygx4380"; depends=[]; };
   cctools = derive2 { name="cctools"; version="0.1.2"; sha256="03lp9pa9qr2hi584ivvmswxmwjw1c3a6xqladpqldjhzvzpxvcwi"; depends=[qrng Rcpp RcppArmadillo]; };
-  cdata = derive2 { name="cdata"; version="1.1.1"; sha256="03kfhpi5cbj2rwjmhrd8h95frz68p82as1wi4js0pgb0vj7hjq6h"; depends=[rqdatatable rquery wrapr]; };
+  cdata = derive2 { name="cdata"; version="1.1.3"; sha256="15ql0w90n0y3jy21vkpdkqhiq3rf2hwz16l39hg3kpvnvn65k23r"; depends=[rqdatatable rquery wrapr]; };
   cdb = derive2 { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
   cdcfluview = derive2 { name="cdcfluview"; version="0.9.0"; sha256="0i6jipzpfcqs48w0cwjyynf3lpdppa7xh27q1rwv3jsqd246880v"; depends=[dplyr httr jsonlite MMWRweek purrr readr sf units xml2]; };
   cdcsis = derive2 { name="cdcsis"; version="2.0.3"; sha256="0hv52valyig3zzywm3058c5nxb2n7y3j2vfibxdbfg8414wwapd9"; depends=[ks mvtnorm Rcpp]; };
-  cder = derive2 { name="cder"; version="0.1-0"; sha256="1cbvb8va9if520a5wg568cd06dyf3p477ma534ygapckajy9mbv1"; depends=[curl dplyr glue lubridate readr rlang stringr tibble]; };
+  cde = derive2 { name="cde"; version="0.4.1"; sha256="19aifi2wh3hi929bf15v96z6gbzawgawjdipvx1v95krzij8fl2n"; depends=[data_table viridisLite]; };
+  cder = derive2 { name="cder"; version="0.2-0"; sha256="0ajr99m7gdwzyxavn192y9isf3zpn4vpa3nzkn664clsmd5m7rny"; depends=[curl dplyr glue lubridate readr rlang stringr tibble]; };
   cdfquantreg = derive2 { name="cdfquantreg"; version="1.2.2"; sha256="094mk2hvxww2lndx5wkw368ynqx6klbdwl30d1yv7kqmr2yy7388"; depends=[Formula MASS pracma]; };
   cdlTools = derive2 { name="cdlTools"; version="0.14"; sha256="0zf00y8qcklz2yp7vx6mjvx2h2p4kq44r51z4qy88kq9v62rqz3k"; depends=[httr raster]; };
   cdom = derive2 { name="cdom"; version="0.1.0"; sha256="00xqqqhskjlkz8ii7kqyabxk8995w7g9jiz1isyqjpwg8nsa3x28"; depends=[broom ggplot2 minpack_lm tidyr]; };
@@ -5727,7 +5928,7 @@ in with self; {
   censusGeography = derive2 { name="censusGeography"; version="0.1.0"; sha256="1ncgd05ml571g3vy1g4p5xxg2bm08hbb6d5r3hpz7frn7w3l8l1d"; depends=[qdapTools]; };
   censusapi = derive2 { name="censusapi"; version="0.6.0"; sha256="03h1np7v539mgnxlmwp1d5jv3nlm2fsylw53hqxd736q3h2rjz0s"; depends=[httr jsonlite]; };
   censusr = derive2 { name="censusr"; version="0.0.4"; sha256="1n9571fyr46wj1dcxc2xgns9865655yzlq7yfz8im014wh0ycwqc"; depends=[dplyr httr stringr]; };
-  censusxy = derive2 { name="censusxy"; version="0.1.1"; sha256="16mk90xksk0v5zbrlkd91ddqjca97n2vv11h1sr18ay8208l5vji"; depends=[dplyr httr readr rlang sf tibble tidyr]; };
+  censusxy = derive2 { name="censusxy"; version="0.1.2"; sha256="0cd1fylsxmqi4lp39zliw8v3hyka85jnpq492jfg43y65rdbj5mg"; depends=[dplyr httr readr rlang sf tibble tidyr]; };
   censys = derive2 { name="censys"; version="0.1.0"; sha256="0r0yvaidn0qn96hx461415hywsjfgaz9wvvdssx7w97v2ndnk9sy"; depends=[httr jsonlite purrr stringi]; };
   centiserve = derive2 { name="centiserve"; version="1.0.0"; sha256="1m6gqz2rk7023340laa5pc0ncbfka2qi9ajvh65fwijd7xvv3n5c"; depends=[igraph Matrix]; };
   centralplot = derive2 { name="centralplot"; version="0.1.0"; sha256="1slzvbm1vvgj1gkcx9pb46fz8q55vfyqrxsvx4qzi5kp7d9h4dy2"; depends=[ggplot2]; };
@@ -5744,61 +5945,64 @@ in with self; {
   cfma = derive2 { name="cfma"; version="1.0"; sha256="006z5g3rqpg44jqdf6ivyxr47sxm5cd9cqhayfi8qk73xx5w4lv9"; depends=[]; };
   cg = derive2 { name="cg"; version="1.0-3"; sha256="1kbyal1sicbr10yvxpwgcij710kqpi23vmndp9kyfzn3k8zfird3"; depends=[Hmisc lattice MASS multcomp nlme rms survival VGAM]; };
   cgAUC = derive2 { name="cgAUC"; version="1.2.1"; sha256="172f9rkfhv4xzwpw8izsnsdbcw9p3hvxhh0fd8hzlkil7vskr3k8"; depends=[Rcpp]; };
-  cgam = derive2 { name="cgam"; version="1.14"; sha256="1919pvl03lbf30nalwalasi1i883xxcmg3hs88b0paz9vvlfl1li"; depends=[coneproj lme4 Matrix svDialogs]; };
+  cgam = derive2 { name="cgam"; version="1.15"; sha256="0bgvsjhafhhkhdq2b1dvji72913wrhi05adzrsnhrk7vwf8xxjki"; depends=[coneproj lme4 Matrix svDialogs]; };
   cgdsr = derive2 { name="cgdsr"; version="1.3.0"; sha256="07yc819hkabpzzh0g0cbqza6bcfy67b2marrzz1lj97f9iba78ja"; depends=[httr R_methodsS3 R_oo]; };
   cgh = derive2 { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
   cghRA = derive2 { name="cghRA"; version="1.6.0"; sha256="16dlw27s8wckc75xcwc2g74pw6bar0y0ii3h53w1hql05d4f7sb8"; depends=[DNAcopy Rgb]; };
   cglasso = derive2 { name="cglasso"; version="1.1.1"; sha256="0d3r6jxrh1z4qnpxcfvwd7bcayzya2dhfl3hpfqd2dzm8fwwc2lf"; depends=[igraph MASS]; };
   cglm = derive2 { name="cglm"; version="1.0"; sha256="1539n1q1zz1888d143w6vva9465viwcnb49frcsb74j3zvk6j4zp"; depends=[data_table nleqslv Rcpp RcppArmadillo]; };
-  cgmanalysis = derive2 { name="cgmanalysis"; version="2.4"; sha256="17njw0abcmfwaqhglfnmgmbyp4zxjmxbchjiabsv6nan1scl9z43"; depends=[gdata ggplot2 lubridate pastecs pracma readr zoo]; };
-  cgraph = derive2 { name="cgraph"; version="4.0.3"; sha256="0q3zfwa910h1y8hgm5pam8jnqak9zvkq55bkary0h3kglmg25p67"; depends=[]; };
+  cgmanalysis = derive2 { name="cgmanalysis"; version="2.5"; sha256="0mpdd56zhvdlwl305752ivmabmlqb2pkayqrscraq7kshb3fm8cr"; depends=[ggplot2 lubridate pastecs pracma readr readxl zoo]; };
+  cgraph = derive2 { name="cgraph"; version="5.0.1"; sha256="14x0q2353kfd66788amxydayqigrhfgdkf9i6rcliwc0cx9hqcck"; depends=[]; };
   cgwtools = derive2 { name="cgwtools"; version="3.0.1"; sha256="15qllfcgls6hpj51xa7mklr5ppxrs2avbiwq3y4bqbb20fld78w3"; depends=[]; };
   chandwich = derive2 { name="chandwich"; version="1.1.2"; sha256="196k13qg9kl94yki989ncx2mrvvj82vv8mi453s8lqmv9s875841"; depends=[numDeriv]; };
   changedetection = derive2 { name="changedetection"; version="0.2.0"; sha256="0j8x7qyna7qgjhx56yxav1g3wj3r47zvx2hivybsjis2gqbl82hr"; depends=[glmnet L1pack Rdpack]; };
   changepoint = derive2 { name="changepoint"; version="2.2.2"; sha256="1jbki95pck10phpxna0b4i79hhl912zqi5ii9mjqb673y64dszkj"; depends=[zoo]; };
   changepoint_mv = derive2 { name="changepoint.mv"; version="1.0.1"; sha256="1cv7gkfzzb8qmm49ygrkcsvlj3hx41wj8h2msa9rrawj33awj1c6"; depends=[assertive ggplot2 Rcpp Rdpack reshape2 tbart zoo]; };
   changepoint_np = derive2 { name="changepoint.np"; version="1.0.1"; sha256="0ai5p77x3261ps22x8z00qiv1d3z2mf8qgi0bfc5bqnnzf44k0c2"; depends=[changepoint Rdpack zoo]; };
-  changepointsHD = derive2 { name="changepointsHD"; version="0.3.1"; sha256="07dasdgyw6m5s58l08j4xz2l6f2l2r48jjrcrc5j3qj7mak715jk"; depends=[Rcpp RcppArmadillo]; };
+  changepointsHD = derive2 { name="changepointsHD"; version="0.3.3"; sha256="1wdhmkg21kb5jd95a0aqqp2qgdkndc69rbdxjf792gq8f1rigarh"; depends=[Rcpp RcppArmadillo]; };
   changepointsVar = derive2 { name="changepointsVar"; version="0.1.0"; sha256="0kj9m9jik1dm5fx4c4hb559f5irpl1mvxk4wwajd5577a2fdqxb5"; depends=[lars MASS]; };
   changer = derive2 { name="changer"; version="0.0.3"; sha256="1pmnspadkshz7z9f275vks1xjh6a9k37h7j51dqdjrqilzq7y6sf"; depends=[available devtools git2r]; };
   charlatan = derive2 { name="charlatan"; version="0.3.0"; sha256="1i8n6kmdv8f2mnd626qja979qx35fdl1a8r9akgqznh5bhjqiq42"; depends=[R6 tibble whisker]; };
   chartql = derive2 { name="chartql"; version="0.1.0"; sha256="108csn7q8qrjhiss54f5bliv3av7psq7kfryspajbdb6wm9ciz3p"; depends=[ggplot2 stringr]; };
   cheb = derive2 { name="cheb"; version="0.3"; sha256="0vqkdx7i40w493vr7xywjypr398rjzdk5g410m1yi95cy1nk4mc7"; depends=[]; };
-  chebpol = derive2 { name="chebpol"; version="2.1"; sha256="0dvmdcrdk7mc2gxbmz645x42rras8iqdp8yzg1kslcynaj665arb"; depends=[geometry]; };
+  chebpol = derive2 { name="chebpol"; version="2.1-1"; sha256="0zjw1fz9ql8zpv61qwhqkhdigqrk729hp8hhpbnwif57wv3lfvnx"; depends=[geometry]; };
   checkLuhn = derive2 { name="checkLuhn"; version="1.1.0"; sha256="1s1ix5n98bcbzcvrz5h19sk9pchdvrhpy3ppmw96ys8vylzm58mv"; depends=[dplyr stringr]; };
   checkarg = derive2 { name="checkarg"; version="0.1.0"; sha256="0rkdjs2c4yx9laqgayxz57bwxhwgdh6ndrr4i3b1kh31lcmk1xc6"; depends=[]; };
   checkmate = derive2 { name="checkmate"; version="1.9.4"; sha256="08ddpgs4mv5d5y4j054pm8drmxkn7yvhfpbghwxlizjpnxa5g8ps"; depends=[backports]; };
-  checkpoint = derive2 { name="checkpoint"; version="0.4.6"; sha256="1cpb0dm5f0y08zlv8w1fyqpgw431avg9dcbbs9z0v95ibkdmw6px"; depends=[]; };
+  checkpoint = derive2 { name="checkpoint"; version="0.4.7"; sha256="009dih2cp696fddbxy634gc1y94hn3irhi13dbjdmr0s1vi38596"; depends=[]; };
   checkr = derive2 { name="checkr"; version="0.5.0"; sha256="14hkpfbw5ibdwz2jygir2f2bb2qgrj62gn3449n4dif31nswaj2f"; depends=[err]; };
   cheddar = derive2 { name="cheddar"; version="0.1-633"; sha256="09mw8rr5xb06gw3hbk7zv2nnx6mwhs6i19ffbp9pv3yv2945cjlf"; depends=[]; };
   cheese = derive2 { name="cheese"; version="0.0.1"; sha256="0yjb68qlz62vmvjf6c8qfblihkkigfbhxpw42mm6qdy4f483mpr2"; depends=[dplyr forcats kableExtra knitr magrittr purrr rlang stringr tibble tidyr tidyselect]; };
   chemCal = derive2 { name="chemCal"; version="0.2.1"; sha256="1kq82x57qm68im6lyqjqmh4p34s4y7fn5v6ymclxjr47mdv8npb5"; depends=[]; };
   chemmodlab = derive2 { name="chemmodlab"; version="1.0.0"; sha256="0lzibshhfz52m61xldf0xq4cc1xx64fjlw18hlkiv65dj3gcj2mh"; depends=[caret class e1071 elasticnet foreach lars MASS nnet pls pROC randomForest rpart tree]; };
   chemometrics = derive2 { name="chemometrics"; version="1.4.2"; sha256="0shqns0n964pfwnd0q5sadglrlpgs4g5fbv45fsj9p37l4pq61dp"; depends=[class e1071 lars MASS mclust nnet pcaPP pls robustbase rpart som]; };
-  cherry = derive2 { name="cherry"; version="0.6-12"; sha256="1b74wlvjqxa532gxs400m1k4qs7xwpdap9ms60nlcwr7x1857mk6"; depends=[bitops lpSolve Matrix]; };
+  cherry = derive2 { name="cherry"; version="0.6-13"; sha256="1bpahdymkc2w6mc5pjyq4q59iwzskw37swx3sw4rnbmnhzhwaf8n"; depends=[bitops hommel lpSolve Matrix]; };
   chi = derive2 { name="chi"; version="0.1"; sha256="1y91mwahj4j2wz0y5k5vdpq7ygq834h8jkn37n74lqnwvv1968rr"; depends=[]; };
   chi2x3way = derive2 { name="chi2x3way"; version="1.1"; sha256="13qc8sigiw4gcxk8y50q7yfgzbssjyl41fizzjqzcp3p14kpsmzw"; depends=[]; };
-  chicane = derive2 { name="chicane"; version="0.1.0"; sha256="1f7sxqwg9s8l3lz538kyq8x5csqyq8g67vpm4zh9c962kg5m3f55"; depends=[data_table doParallel foreach gamlss gamlss_tr MASS]; };
-  childesr = derive2 { name="childesr"; version="0.1.1"; sha256="0jbyby215dizcsp27mb2a4fbjmpfyj2br6m2j43wchlbhjidz70i"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
+  chicane = derive2 { name="chicane"; version="0.1.1"; sha256="1d2rvaxdcambawf8l4sn566nr3s8xgf8nfpqa5n6lazvik8vb7kb"; depends=[data_table doParallel foreach gamlss gamlss_tr iterators MASS]; };
+  childesr = derive2 { name="childesr"; version="0.1.2"; sha256="170xjsk0sjwlw3w3nf9jmq4yd6ivbznmjhqq2np5grn1rwlswawb"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
   childhoodmortality = derive2 { name="childhoodmortality"; version="0.3.0"; sha256="1ixd10jyzgr1ssnjas35kngpsqyjzl73wwpvcspv06cn12sv2b8d"; depends=[dplyr matrixStats plyr]; };
   childsds = derive2 { name="childsds"; version="0.7.4"; sha256="1dyzidmbr7608y65kymf7x5s19qjsz9hxzfv51ml1kaymml1hbf3"; depends=[boot class dplyr gamlss gamlss_dist magrittr purrr purrrlyr reshape2 tibble tidyr VGAM]; };
-  chillR = derive2 { name="chillR"; version="0.70.17"; sha256="0nlb7clbq12j8llk95f6yc5k81a2n3vmcbisk912h2wxn8qxnkwd"; depends=[assertthat dplyr fields ggplot2 httr jsonlite Kendall pls plyr R_utils raster RCurl readxl reshape2 rlang RMAWGEN sp XML]; };
+  chillR = derive2 { name="chillR"; version="0.70.21"; sha256="0sj97c4sgmywr5fl5csjyk9g6sy4a6vw2ryvg0idsfidklrdfvxd"; depends=[assertthat dplyr fields ggplot2 httr jsonlite Kendall pls plyr R_utils raster RCurl readxl reshape2 rlang RMAWGEN sp XML]; };
   chinese_misc = derive2 { name="chinese.misc"; version="0.2.1"; sha256="17sffxjpga8mq8xfxhas9jqj71bb80ayz4m2dgnmg1w6bb3p7bsp"; depends=[jiebaR Matrix NLP purrr slam stringi tm]; };
   chipPCR = derive2 { name="chipPCR"; version="0.0.8-10"; sha256="1mff7n7ga4sfwvcq7zkjkrl68nybnm2zkn37hmxvnw9yl3ls9lnw"; depends=[lmtest MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
-  chngpt = derive2 { name="chngpt"; version="2019.3-12"; sha256="0adni2ikx19hd3r9mhwm2z5c39pihnmxzjxqrc8ycg3nbh5p53kd"; depends=[boot kyotil MASS Rcpp RcppArmadillo survival]; };
+  chisq_posthoc_test = derive2 { name="chisq.posthoc.test"; version="0.1.2"; sha256="0lvj3jqhaj1ijjpzvpq3fn3a1y3fgv69pxh91j6k958pn6vmp40i"; depends=[]; };
+  chk = derive2 { name="chk"; version="0.2.1"; sha256="09bs1q3x6393rk91l6491pbjs4wyn63n7i8lzpg2jxjl25c2xa3y"; depends=[lifecycle rlang]; };
+  chlorpromazineR = derive2 { name="chlorpromazineR"; version="0.1.2"; sha256="0zg3xjq67na98n4amsm5v4cn9ba1k7c0lb7k2lvxa3n1w7rndpw3"; depends=[]; };
+  chngpt = derive2 { name="chngpt"; version="2019.11-30"; sha256="1yw6hsshpsavmx3v1ndh4b0crr8wsak8h1vbv5qrbj3g1jzazrx7"; depends=[boot kyotil MASS survival]; };
   choiceDes = derive2 { name="choiceDes"; version="0.9-3"; sha256="1nsc8p4svfc6z7ckffl24c0acnaxi6cnpz7jq03vzn6spxvpjcmw"; depends=[AlgDesign]; };
-  cholera = derive2 { name="cholera"; version="0.6.5"; sha256="0mw44c10adh02mymgmyli3lkmyd9hlvnp3vr14my2gnhbxvd8vr5"; depends=[deldir ggplot2 HistData igraph KernSmooth pracma RColorBrewer sp threejs TSP]; };
+  cholera = derive2 { name="cholera"; version="0.7.0"; sha256="0ja013k431vd0sjy74y2mlrii46rbwb5x886jaza4ihb48mgz7ah"; depends=[deldir ggplot2 HistData igraph KernSmooth pracma RColorBrewer sp threejs TSP]; };
   choplump = derive2 { name="choplump"; version="1.0-0.4"; sha256="0fn6m3n81jb7wjdji4v04m53gakjfsj3ksm546xxz5zm7prk237s"; depends=[]; };
   chopthin = derive2 { name="chopthin"; version="0.2.2"; sha256="1ixmgq6igd2ji88qba7scny1j8rrizcf76dk4ymk3hah5dln97fz"; depends=[Rcpp]; };
   chords = derive2 { name="chords"; version="0.95.4"; sha256="1v6zvl1mv9fyf6hx1fpbj3i7s893n4y1w4j9rw1arps006qz2jqn"; depends=[MASS Matrix]; };
   choroplethr = derive2 { name="choroplethr"; version="3.6.3"; sha256="0m6kyrgnv5s1q2ncc63rfxcwqdqx5adqk14q57ss4r84i14dm5yb"; depends=[acs dplyr ggmap ggplot2 gridExtra Hmisc R6 RgoogleMaps stringr tigris WDI]; };
   choroplethrAdmin1 = derive2 { name="choroplethrAdmin1"; version="1.1.1"; sha256="13ljs21hdhiv6n4napmk1gjnjhpll6j5wyijzv4xnnbi1y3ns7a9"; depends=[ggplot2]; };
   choroplethrMaps = derive2 { name="choroplethrMaps"; version="1.0.1"; sha256="0ghqb2d1h0qkbcsll6ck2qk5sfvdwsrlh3phlbsjbak30832j7fr"; depends=[]; };
-  chorrrds = derive2 { name="chorrrds"; version="0.1.9.1"; sha256="1l6n7hc63rxdwv3yar7cxcq7fx3n5n1l1gpqmyfarf2i0bbxmvjl"; depends=[dplyr forcats magrittr purrr stringr XML zoo]; };
+  chorrrds = derive2 { name="chorrrds"; version="0.1.9.2"; sha256="0g999i5nlxhbjcnx3kfv4qzd16ybj0da5bwkkn0bsb9qbp8s7lll"; depends=[dplyr forcats magrittr purrr stringr XML zoo]; };
   chromer = derive2 { name="chromer"; version="0.1"; sha256="0fzl2ahvzyylrh4247w9yjmwib42q96iyhdlldchj97sld66c817"; depends=[data_table dplyr httr]; };
   chromoMap = derive2 { name="chromoMap"; version="0.2"; sha256="1ljjwkv7rdy1mcrkb8dd5lfkg54gxzclsjvla4qnc8j5hmfp0p8g"; depends=[htmltools htmlwidgets]; };
   chromoR = derive2 { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[gdata haarfisz]; };
-  chron = derive2 { name="chron"; version="2.3-53"; sha256="02bkywwsxwrxc035hv51dxgdm1fjxdm7dn19ivifln59dfs1862j"; depends=[]; };
+  chron = derive2 { name="chron"; version="2.3-54"; sha256="0vc7dxqwx0jqzwszax6di3091npsxnhnbvr7sy7rlip0jqzarwqd"; depends=[]; };
   chunkR = derive2 { name="chunkR"; version="1.1.1"; sha256="1kw3hsx5k4cdicx0hc1v0mf2nzvqg95shx2xv05vb2pass48qw48"; depends=[Rcpp]; };
   chunked = derive2 { name="chunked"; version="0.4"; sha256="0pqk6nnxxnlsw9zal62ajjalrlmvkdrzyz2l8r10jd7s61vhra40"; depends=[DBI dplyr LaF lazyeval]; };
   ciTools = derive2 { name="ciTools"; version="0.5.1"; sha256="02jgi09vkzsan47mvg65ciqc1q4vmrl14v2i5bsaqxbvxwd65lww"; depends=[arm boot dplyr lme4 magrittr MASS survival tibble]; };
@@ -5808,37 +6012,37 @@ in with self; {
   cinterpolate = derive2 { name="cinterpolate"; version="1.0.0"; sha256="1aw6hs41xin2hhgmi4pr5510v4sn6x735lachpc5gpbxch5h3f82"; depends=[]; };
   cir = derive2 { name="cir"; version="2.0.0"; sha256="0ycjnbikpyhcfdik7c5knw4s9gl8y5h4219c4fhs4axs04np004v"; depends=[]; };
   circglmbayes = derive2 { name="circglmbayes"; version="1.2.3"; sha256="1a60d8jpvwx2qwmy2if60c5vni9hp73fdwgz7mwi5xd5l67zwd3h"; depends=[BH coda ggplot2 Rcpp RcppArmadillo reshape2 shiny]; };
-  circlize = derive2 { name="circlize"; version="0.4.6"; sha256="1yjnb88pnzk5c1p0vjxykc7cr3394ln5axviqcf12ajibvy8rj6f"; depends=[colorspace GlobalOptions shape]; };
+  circlize = derive2 { name="circlize"; version="0.4.8"; sha256="0jvr9hmxyhg0zx101iiqkrg8wfaj86kp62xpv42n2j9fkn5r1mi2"; depends=[colorspace GlobalOptions shape]; };
   circular = derive2 { name="circular"; version="0.4-93"; sha256="0hki85rs8wc5950pjaw28q54rly2napfbcrx3pchlfap6wwy5kkn"; depends=[boot mvtnorm]; };
-  circumplex = derive2 { name="circumplex"; version="0.3.1"; sha256="1v9xj3yiyjdmikrhnrh766jf387kqscyfbg5zhjwjg095b2086px"; depends=[assertthat boot dplyr ggforce ggplot2 glue htmlTable magrittr purrr Rcpp RcppArmadillo rlang tibble tidyr]; };
   cit = derive2 { name="cit"; version="2.2"; sha256="1lf8r3r4zwvs08vl4byhw6rvf54nb7vg83558pi0b5866m7in4sc"; depends=[]; };
   citbcmst = derive2 { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
   citccmst = derive2 { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
-  citr = derive2 { name="citr"; version="0.3.0"; sha256="0pik6s6xk5768s3kkppw2192dj455py53gsn6k2b7xgg96ircy0g"; depends=[assertthat bibtex curl httr miniUI RefManageR rstudioapi shiny shinyjs yaml]; };
+  citecorp = derive2 { name="citecorp"; version="0.2.0"; sha256="1lkbfklmwp84408pbpr8n63r4kqrw3z36mzmhramxnscrsf3f8k6"; depends=[crul data_table fauxpas jsonlite]; };
+  citr = derive2 { name="citr"; version="0.3.2"; sha256="1qbarvafjb8jgkrnrhh6jw7mcglmjwf7dpdiibxf39jkmlhf7las"; depends=[assertthat curl httr miniUI RefManageR rstudioapi shiny shinyjs yaml]; };
   ciuupi = derive2 { name="ciuupi"; version="1.1.0"; sha256="0czfmmf62p1vml24s87pdwv52spqycchpkqzwk8vyd4n1z27r5s2"; depends=[functional nloptr pracma statmod]; };
-  civis = derive2 { name="civis"; version="2.0.0"; sha256="1hbwbpwbnlg08gh8fg15fa254m7ibnq7x020yd4q75pzbdwlj4v2"; depends=[future httr jsonlite memoise]; };
+  civis = derive2 { name="civis"; version="2.1.0"; sha256="0bpm42q243ghq03x9vajs0yjdhy4lgn7fqndc53172inmkxwp7dy"; depends=[future httr jsonlite memoise]; };
   cjoint = derive2 { name="cjoint"; version="2.1.0"; sha256="1bs380ji9vsc1d77wqhl0ij9xblww3g9x3hiwpcpz26wihqcx7ac"; depends=[DT ggplot2 lmtest Matrix sandwich shiny shinyBS shinyjs survey]; };
-  ck37r = derive2 { name="ck37r"; version="1.0.0"; sha256="0nn2sfsfs8mhgjrz0ghn041ybhj2qim4rs3lkci7s4n95c8hbgdi"; depends=[caret cvAUC doParallel doSNOW foreach ggplot2 pryr randomForest RANN reader RhpcBLASctl ROCR snow stringr SuperLearner tmle]; };
-  ckanr = derive2 { name="ckanr"; version="0.3.0"; sha256="0qbsq40yxy9j7q49k5712gk8iv0c7rcr8w0hnv410035i1rddlfj"; depends=[DBI dbplyr dplyr httr jsonlite magrittr]; };
+  ckanr = derive2 { name="ckanr"; version="0.4.0"; sha256="17mb8ank4p39mkmkrpj40hk2g1wpn06k0rx65hqd5h49pvlj21d3"; depends=[DBI dbplyr dplyr httr jsonlite magrittr]; };
   clValid = derive2 { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[class cluster]; };
   cladoRcpp = derive2 { name="cladoRcpp"; version="0.15.1"; sha256="0msay6yvm6wc964gwrz31ky5w4mizakji3j6rpkydz0zlrl52v1j"; depends=[Rcpp RcppArmadillo]; };
   clam = derive2 { name="clam"; version="2.3.2"; sha256="1za0njc10mcvdmyyy4yy6sgzl6kk2kix319w84d5mcs2zrfb83j4"; depends=[]; };
-  clampSeg = derive2 { name="clampSeg"; version="1.0-4"; sha256="0clmv53wz7shawg6mp4q3qp0z0gmd8jmd6flgzn2q1m8j2i62vq0"; depends=[Rcpp stepR]; };
+  clampSeg = derive2 { name="clampSeg"; version="1.0-5"; sha256="05922fddvi7s4imdnr9fb27aqskgd489amw9h86g5vw4l494lnl9"; depends=[Rcpp stepR]; };
   clarifai = derive2 { name="clarifai"; version="0.4.2"; sha256="0igi4xl27nz0r85hpws2zfc2gn5z2nmywp3saxgp74mh2y99lg6s"; depends=[curl jsonlite]; };
   class = derive2 { name="class"; version="7.3-15"; sha256="1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn"; depends=[MASS]; };
   classGraph = derive2 { name="classGraph"; version="0.7-5"; sha256="19jb9jr1gfg4karymrbilh0zjrlsczhy2q03x5b0jxnh4ykhxfj8"; depends=[graph Rgraphviz]; };
-  classInt = derive2 { name="classInt"; version="0.3-3"; sha256="0c2z6shlxa928xa20yl956r06lx20mji3mwipdvmj3f4z5g6hgm9"; depends=[class e1071 KernSmooth]; };
+  classInt = derive2 { name="classInt"; version="0.4-2"; sha256="0w980hrw8sgfdfyd5dsimalq7gwhvqm7507abk7k363pvgks23dv"; depends=[class e1071 KernSmooth]; };
   classiFunc = derive2 { name="classiFunc"; version="0.1.1"; sha256="1qaima3sii394741p5n06lcqkk4fiv9apb7qqnpi6srx5h02lfl5"; depends=[BBmisc checkmate dtw fda fda_usc fdasrvf proxy rucrdtw zoo]; };
   classifierplots = derive2 { name="classifierplots"; version="1.3.3"; sha256="01rvn0jwliyxj7q4cmyv8an5g7fzn6y3sccp8mj6bcqjyblfcfaa"; depends=[caret data_table ggplot2 gridExtra png Rcpp ROCR]; };
   classifly = derive2 { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
-  classyfireR = derive2 { name="classyfireR"; version="0.2.1"; sha256="0a3di6agn6vvyzx1w8c3wcij6l313hnaxdbhpfa72rlsfdj68mqn"; depends=[clisymbols crayon dplyr httr jsonlite magrittr purrr stringr tibble]; };
+  classyfireR = derive2 { name="classyfireR"; version="0.3.0"; sha256="1cagdwr8i3f4c4hjdgg64f3kp7ibndh766na7psd0pmki5s8grsv"; depends=[cli clisymbols crayon dplyr httr jsonlite magrittr purrr stringr tibble]; };
   cld2 = derive2 { name="cld2"; version="1.2"; sha256="03ffg1nxdlmg66sgg0w2jdx2s5jzdp8qhja24z0il2qy3qsa915k"; depends=[Rcpp]; };
   cld3 = derive2 { name="cld3"; version="1.2"; sha256="11bjkbhjxaf6lc96qm8zk4k1i66b69f8dmc303i1560b2jj2zah3"; depends=[Rcpp]; };
-  clean = derive2 { name="clean"; version="1.0.0"; sha256="09nm205hszcmhs227ia1lhigrnkkwh45rjrxp31gmxipz5gbw32p"; depends=[crayon knitr rlang]; };
+  clean = derive2 { name="clean"; version="1.1.0"; sha256="11jfg9xh6xyhcva4pq5bl7bg2d2ar12mp568j8j79dqlci3f53zx"; depends=[crayon knitr pillar rlang]; };
   cleanEHR = derive2 { name="cleanEHR"; version="1.0"; sha256="0i8q7y4izc7q1pshdajy0n9wyihj4wlzzkd52ykam3dxqnwlnyh4"; depends=[data_table ggplot2 knitr pander Rcpp XML yaml]; };
-  cleanNLP = derive2 { name="cleanNLP"; version="2.3.0"; sha256="0d3v87ylp5vxkg6x5wfc1v482a3wcy02bb5xl3k2s8jpsawf2vxd"; depends=[dplyr Matrix stringi]; };
+  cleanNLP = derive2 { name="cleanNLP"; version="3.0.0"; sha256="15prwj32rq28dqqpfagaq4vfbimjws7ldrjm7waf4w6rcavz7r93"; depends=[Matrix reticulate stringi udpipe]; };
   cleancall = derive2 { name="cleancall"; version="0.1.0"; sha256="0g52nvr8fnwlhfzx0ja87xkg4ff3jafj08qz9xkwc790zfszc6z1"; depends=[]; };
   cleandata = derive2 { name="cleandata"; version="0.3.0"; sha256="1lm7k25j16p888xvd7rzzd3sb3namzjlpjn22xmmpzlzyl0h7dhk"; depends=[]; };
+  cleaner = derive2 { name="cleaner"; version="1.2.0"; sha256="0n8qxvy8xixdgibh17fsl5vf1nvfj0l0804crdjq3lhr5s3b794f"; depends=[crayon knitr pillar rlang]; };
   cleanerR = derive2 { name="cleanerR"; version="0.1.1"; sha256="0rghn8rx7dj5clmc1dqvqwfm9kiva04k9gxsjjga3109l4jcpg63"; depends=[data_table plyr]; };
   cleangeo = derive2 { name="cleangeo"; version="0.2-2"; sha256="1bhpn53v36652mwg2ba2a6cs34slb7i0df2ibssyr2lnx5gciq4i"; depends=[maptools rgeos sp]; };
   cleanr = derive2 { name="cleanr"; version="1.2.0"; sha256="1yd6w4jv4rj1g67i3q7h0z2n8nycvg67ixxgf49fplxnjhxq09g5"; depends=[checkmate pkgload rprojroot]; };
@@ -5851,8 +6055,8 @@ in with self; {
   clickstream = derive2 { name="clickstream"; version="1.3.0"; sha256="01bii527xy7hdph1pm6f1g4qnwa5yf3mwz01rjg1h2gc12s5vzgg"; depends=[arules ClickClust data_table ggplot2 igraph linprog MASS plyr reshape2 Rsolnp]; };
   clifro = derive2 { name="clifro"; version="3.2-2"; sha256="11bfvaf1b1wv83dw8ggj7ldsc6fs8s3gl7jdzyq7l1w7innihp9s"; depends=[ggplot2 lubridate magrittr RColorBrewer RCurl reshape2 scales xml2]; };
   clikcorr = derive2 { name="clikcorr"; version="1.0"; sha256="0zdnbcl5q293mmm6pbn4ri7p1q6z6sff74axsb3nyd153v2xamr5"; depends=[mvtnorm]; };
-  climateStability = derive2 { name="climateStability"; version="0.1.1"; sha256="0zmxcf4l79rgq2ar7v3asrjr8hci1ba6xl1xwb56mm3qnkc75q7d"; depends=[knitr raster]; };
-  climatol = derive2 { name="climatol"; version="3.1.1"; sha256="012spjgw20bg4rlxgwh05rhaswa4afbd35sq1isidm6i73ma0yjq"; depends=[mapdata maps]; };
+  climateStability = derive2 { name="climateStability"; version="0.1.3"; sha256="1zag722sznr22xid2v1k4a9sh3sr3grfa3wwd2m943zpvyi1sk9a"; depends=[raster]; };
+  climatol = derive2 { name="climatol"; version="3.1.2"; sha256="0p3nk4n7izj0cmmqd9apa1gix5lfdzp08ydy0n7rkl5kbkmrkb6n"; depends=[mapdata maps]; };
   climbeR = derive2 { name="climbeR"; version="0.0.1"; sha256="10i74bph7dhv2xj01qdhymlmfwj32lzxivanif11zmzmq9p5bqsw"; depends=[ggplot2]; };
   climdex_pcic = derive2 { name="climdex.pcic"; version="1.1-9.1"; sha256="13wjkz2ldpvw9ri58vqpzdrqqyvzygmhzshx10v25d757x6h1qvb"; depends=[PCICt Rcpp]; };
   clime = derive2 { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; };
@@ -5871,14 +6075,14 @@ in with self; {
   clordr = derive2 { name="clordr"; version="1.5.0"; sha256="0yzkkzp60gnap96hlfpjncxfkfvvma15yxpwf5pv5fgffacb8281"; depends=[doParallel foreach MASS pbivnorm rootSolve tmvmixnorm ttutils]; };
   cloudSimplifieR = derive2 { name="cloudSimplifieR"; version="0.1.9"; sha256="0wp582y817f6z7kpw9nn665d6pdn0zqyadjbragw7ij4x73ncksq"; depends=[aws_s3 aws_signature jsonlite readr]; };
   cloudUtil = derive2 { name="cloudUtil"; version="0.1.12"; sha256="18g946j00anlk20d0fh01w0xyj1kwyy7jhlgz5a85wmp6s2gkz74"; depends=[]; };
-  cloudml = derive2 { name="cloudml"; version="0.6.0"; sha256="0p34wrrs06c17lbjlkjhm04ffg3l3zfkxb7swikjbim0j5aww2kh"; depends=[config jsonlite packrat processx rprojroot rstudioapi tfruns withr yaml]; };
+  cloudml = derive2 { name="cloudml"; version="0.6.1"; sha256="1j15q9yb2rc4fbjxfh21fiq6is8dnb8nfyi7g8iazgfwb3p9ahpx"; depends=[config jsonlite packrat processx rprojroot rstudioapi tfruns withr yaml]; };
   clpAPI = derive2 { name="clpAPI"; version="1.2.11"; sha256="0xwwv4ccflrrapqlzwccblyhda5bmbhs7agwwwjriwxnhxghlpbm"; depends=[]; };
   clr = derive2 { name="clr"; version="0.1.2"; sha256="088ks9lrhlyvg3yvlfmb0091yp6qp5bzg9h5r6ryv3bk6y56sajx"; depends=[dplyr lubridate magrittr]; };
   clrdag = derive2 { name="clrdag"; version="0.6.0"; sha256="1py5x1783c9d83hgar3g70qgbsakgs6n5ckpx87fiw32l040abwa"; depends=[Rcpp RcppArmadillo]; };
   clttools = derive2 { name="clttools"; version="1.3"; sha256="0va9k1b4xsb2sgpxzvid6sa8m6b8i3r4kgghclmb78nnrs480cwi"; depends=[]; };
   clubSandwich = derive2 { name="clubSandwich"; version="0.3.5"; sha256="03mxfvh2h4gigis7wzq9hwzfaanpx66h1c16xx11pqfkvdfwal49"; depends=[sandwich]; };
   clue = derive2 { name="clue"; version="0.3-57"; sha256="05rdcahawxlxci3fjxihjvvh33wqpxw50sx015165ab4nh3rsdkf"; depends=[cluster]; };
-  clues = derive2 { name="clues"; version="0.5.9"; sha256="0znlsbfmnz5wkp2cswrkjbgchdmmf7h78mv2zwx382m9n9n9hshy"; depends=[]; };
+  clues = derive2 { name="clues"; version="0.6.1"; sha256="1g7qy9fxdjmc3y7x0qpa9prn5l83l3j59dzs862f35k7mzfnyggj"; depends=[]; };
   cluscov = derive2 { name="cluscov"; version="1.1.0"; sha256="0345v5r6b53243h5bir29v0w77pmwjqjkqfrjnk5j5r1wbh98q1w"; depends=[MASS quantreg]; };
   clusrank = derive2 { name="clusrank"; version="0.6-2"; sha256="1hjxks8cb1mp1d93rcpwqjrxqavspmzjrxvflhv6nqx41ar9dpxv"; depends=[MASS Rcpp]; };
   clust_bin_pair = derive2 { name="clust.bin.pair"; version="0.1.2"; sha256="11lqd3vmx4kg08n6iv9na8rra49dkldx4f8jyf43hppbjrbvfinm"; depends=[]; };
@@ -5895,20 +6099,20 @@ in with self; {
   clusterGenomics = derive2 { name="clusterGenomics"; version="1.0"; sha256="127hvpg06is4x486g1d5x7dfkrbk7dj35qkds0pggnqxkq3wsc1c"; depends=[]; };
   clusterPower = derive2 { name="clusterPower"; version="0.6.111"; sha256="1mwq188x9d495my75cdcahfjm3w46cas9jqxks5c0j63395cw9g3"; depends=[lme4]; };
   clusterRepro = derive2 { name="clusterRepro"; version="0.9"; sha256="0s7qqvaf5yxxwhw6qyzfmk65c49yz405gljarwav6aglkx9883cl"; depends=[]; };
-  clusterSEs = derive2 { name="clusterSEs"; version="2.6.1"; sha256="0mlhrqnf3wrqkfn57448fvca8wajdgv2wmci9p8fmnswsmnwfi4j"; depends=[AER Formula lmtest mlogit plm sandwich]; };
-  clusterSim = derive2 { name="clusterSim"; version="0.47-4"; sha256="06x8qhsxbv9qgad9h24bpylzc06p6w1fdpzm5bmmvaddmg6ghkkg"; depends=[ade4 cluster e1071 MASS R2HTML rgl]; };
+  clusterSEs = derive2 { name="clusterSEs"; version="2.6.2"; sha256="15a9hn8g70y64v5lq91mwjbx411ji2b5zvm1wm4qz820jri5wy20"; depends=[AER Formula lmtest mlogit plm sandwich]; };
+  clusterSim = derive2 { name="clusterSim"; version="0.48-2"; sha256="0y1y09y7dmk8kfnzhmywxbjcxg4qkawjsqxvpfkz9rqw0q2hchya"; depends=[ade4 cluster e1071 MASS R2HTML rgl]; };
   clusteredinterference = derive2 { name="clusteredinterference"; version="1.0.1"; sha256="01w7i9pmvwmrlf5q6y2d48ib0bm16j16xiw4pqnrvbndx4d6wf6n"; depends=[cubature Formula lme4 numDeriv rootSolve]; };
   clusterfly = derive2 { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[e1071 plyr reshape2 rggobi RGtk2]; };
   clusterhap = derive2 { name="clusterhap"; version="0.1"; sha256="1ic6588mqp146jsvrxlxk449zw4n81xixgrny9r29497z7hg5a1m"; depends=[]; };
   clustering_sc_dp = derive2 { name="clustering.sc.dp"; version="1.0"; sha256="0cppka7613cbjjf1q2yp6fln511wbqdhh8d4gs6p0fbq379kzmvc"; depends=[]; };
-  clusterlab = derive2 { name="clusterlab"; version="0.0.2.7"; sha256="18np2laaarv2iarlyq71ddazkpchfv6bylfxlxhvg3jbb68vrwj5"; depends=[ggplot2 reshape]; };
+  clusterlab = derive2 { name="clusterlab"; version="0.0.2.8"; sha256="10z5p79a7nafnljl3s17mw22zasxp45nfbxmhilmyfq6kblxj1zm"; depends=[ggplot2 reshape]; };
   clustermq = derive2 { name="clustermq"; version="0.8.8"; sha256="0znyfrsnzrvizpazk8630szln3gxqm5c47x1z1749bqciy39g25m"; depends=[narray progress purrr R6 rzmq]; };
   clusternomics = derive2 { name="clusternomics"; version="0.1.1"; sha256="05nkw6h2dvky07fj50myzw5xlkqyiflbn4vwqw8a1q2idv4awi7b"; depends=[magrittr MASS plyr]; };
   clusternor = derive2 { name="clusternor"; version="0.0-3"; sha256="0qf1k5y9i60skdqz7glq7czwg84gafnxfg0npx772xydvivan210"; depends=[Rcpp]; };
   clustertend = derive2 { name="clustertend"; version="1.4"; sha256="1aqg8cy1hk3lmzvyqh9qc1mcknrva2i0c77hyd0yff9whz80ik4j"; depends=[]; };
   clusteval = derive2 { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; };
-  clustrd = derive2 { name="clustrd"; version="1.3.2"; sha256="06i8rny2fbpk32mj0r1br9dymf2y98xjzbj7cikyp7k481693a0m"; depends=[ca cluster corpcor dplyr dummies fpc GGally ggplot2 ggrepel plyr rARPACK tibble]; };
-  clustree = derive2 { name="clustree"; version="0.4.0"; sha256="0lcky7sacp2m3mrxcp7h6xs8x7l97w6qi3277wddvs4q3v0q8hkb"; depends=[checkmate dplyr ggplot2 ggraph ggrepel igraph rlang tidygraph viridis]; };
+  clustrd = derive2 { name="clustrd"; version="1.3.6-2"; sha256="06njv48sb3j7d5517l6c886hqmlyp5vk6pk5zpmdmzcxay6c81qy"; depends=[ca cluster corpcor dplyr fpc GGally ggplot2 ggrepel plyr rARPACK tibble]; };
+  clustree = derive2 { name="clustree"; version="0.4.1"; sha256="0jsffqd25ad08q35a3ggzblhia7y6m5gj972kij6nrbah920qk0x"; depends=[checkmate dplyr ggplot2 ggraph ggrepel igraph rlang tidygraph viridis]; };
   clustringr = derive2 { name="clustringr"; version="1.0"; sha256="07f0ywpkf8igic7ijvvrjlngq3smjcv9nqnah41fp6wfgvh49ifq"; depends=[assertthat dplyr forcats ggplot2 ggraph igraph magrittr rlang stringdist stringi stringr tidygraph]; };
   clustsig = derive2 { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
   clustvarsel = derive2 { name="clustvarsel"; version="2.3.3"; sha256="1dw9iniy2vw4yz1jip4jja6fsp03kbr86mm5knbhhyc0l24i0wrz"; depends=[BMA foreach iterators Matrix mclust]; };
@@ -5916,18 +6120,19 @@ in with self; {
   cmaes = derive2 { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
   cmaesr = derive2 { name="cmaesr"; version="1.0.3"; sha256="03zx2nrw24wmmjjpyh8pswasjjq0amf0g375fm2b3s111dx8fbj9"; depends=[BBmisc checkmate ggplot2 ParamHelpers smoof]; };
   cmce = derive2 { name="cmce"; version="0.1.0"; sha256="0d52ci906zbd4q43qylcyw93acxh7f20jn3r0k74ynyy47131dnd"; depends=[]; };
-  cmenet = derive2 { name="cmenet"; version="0.1.0"; sha256="19cqd3ppama2g4a7mwnq4fry0nzkyny1z1irln3xqd22gb8lz38r"; depends=[glmnet hierNet MASS Rcpp RcppArmadillo]; };
+  cmenet = derive2 { name="cmenet"; version="0.1.1"; sha256="0f7bci6nn63q243i7wvhr9mqlf64gw8w042nc1lqb986p7zfxihk"; depends=[glmnet hierNet MASS Rcpp RcppArmadillo sparsenet]; };
   cmm = derive2 { name="cmm"; version="0.12"; sha256="0q6hs56hhi9vaanx7i7gg7ncv0h29lndla66g9chzmh3lchq3r20"; depends=[]; };
   cmmr = derive2 { name="cmmr"; version="0.1.2"; sha256="0nik1pzd1rckalvn7xh6s699kkdjnra3q3bn5x16c1lmpz5bp2s4"; depends=[httr progress RJSONIO]; };
   cmna = derive2 { name="cmna"; version="1.0.2"; sha256="18vbqa258m0g5pvfhqi2vbr8n2bil07n9spgz1wh2axw1c3bcf76"; depends=[]; };
   cmocean = derive2 { name="cmocean"; version="0.2"; sha256="0v1bm2qgvjb82ynakglr61swx5jy41ngn6vml5gllv3r7skqr1is"; depends=[]; };
   cmpprocess = derive2 { name="cmpprocess"; version="1.0"; sha256="0gqfmbm86bfi2l81pf2dn70rxg58h1y8hiyrp8sv9v84cx20422v"; depends=[compoisson numDeriv]; };
-  cmprsk = derive2 { name="cmprsk"; version="2.2-8"; sha256="1nacbzx950ygaqgnj0949skhwpzar5i3xlscd44jsimk2gsppx6z"; depends=[survival]; };
-  cmprskQR = derive2 { name="cmprskQR"; version="0.9.1"; sha256="002s6ls670sdzrxgqv9gbl646b675q1gn6dzkngnf6rgcdqwid7n"; depends=[quantreg survival]; };
+  cmprsk = derive2 { name="cmprsk"; version="2.2-9"; sha256="0xhgfg5b4i9skkaxp7gzkafgg5bqs5q1rp4hpw2jjmykg2nifn99"; depends=[survival]; };
+  cmprskQR = derive2 { name="cmprskQR"; version="0.9.2"; sha256="1b3di5fsgglriv00fxydpc4p8lh0xcgi6jc04awq2vmp6s8kvjmw"; depends=[quantreg survival]; };
   cmrutils = derive2 { name="cmrutils"; version="1.3.1"; sha256="0nrq84bkd23lvvg8ls2smkjcnfnydhbcni3n6s8w0579i9xga8dv"; depends=[chron]; };
-  cmsaf = derive2 { name="cmsaf"; version="1.9.5"; sha256="14581zk65w11dkk57privfdgy5ynw4bv06lwz8r0bkyqmg1bzs05"; depends=[fields ncdf4 raster sp]; };
+  cmsaf = derive2 { name="cmsaf"; version="2.0.1"; sha256="0ampq493i8x40jk8p8acgizy1vlhm05i5nllk5a0xk81vywf7ifi"; depends=[fields FNN ncdf4 rainfarmr raster sp]; };
   cmvnorm = derive2 { name="cmvnorm"; version="1.0-6"; sha256="1wf23w9gxrrgw7j740r381xrss09inzd7mrg6g7wz883c9madbfn"; depends=[elliptic emulator]; };
-  cna = derive2 { name="cna"; version="2.2.0"; sha256="1y4q2i5i7kjybr3x1z1lcijwfsf6x4sckzqphchvqzxbg0qqjrgh"; depends=[matrixStats Rcpp]; };
+  cna = derive2 { name="cna"; version="2.2.1"; sha256="1yzr3r8jykr25i52f5rvq9h68gnkqksy9qkkmib771kmdy1k310a"; depends=[matrixStats Rcpp]; };
+  cnaOpt = derive2 { name="cnaOpt"; version="0.1.0"; sha256="1km2v3gkjzy2lib6b39fz9z733wdnkzlxhg12a58sd93wisg68h2"; depends=[cna dplyr ggplot2 matrixStats Rcpp]; };
   cnbdistr = derive2 { name="cnbdistr"; version="1.0.1"; sha256="05qi41jimslbngjgbwzfda0q25hb28ax79v9yckvrbpgjc8dk990"; depends=[hypergeo]; };
   cncaGUI = derive2 { name="cncaGUI"; version="1.0"; sha256="1v55kvrc05bsm1qdyfw3r3h64wlv3s6clxbr8k512lfk99ry42kn"; depends=[MASS plotrix rgl shapes tcltk2 tkrplot]; };
   cnmlcd = derive2 { name="cnmlcd"; version="1.2-0"; sha256="1vpn926wf8vkifscnb35y4c74721iar2wykrl50fcv0fg16yggnd"; depends=[lsei]; };
@@ -5936,7 +6141,7 @@ in with self; {
   coalescentMCMC = derive2 { name="coalescentMCMC"; version="0.4-1"; sha256="0xxv1sw5byf84wdypg5sfazrmj75h4xpv7wh4x5cr9k0vgf80b3s"; depends=[ape coda lattice Matrix phangorn]; };
   coalitions = derive2 { name="coalitions"; version="0.6.10"; sha256="1yfibzkg4psmghfwpv5rivaxzizilbd8frgpd0z05hx519lmx9h7"; depends=[checkmate dplyr forcats ggplot2 gtools jsonlite lubridate magrittr purrr RCurl reshape2 rlang rvest stringr tidyr xml2]; };
   coarseDataTools = derive2 { name="coarseDataTools"; version="0.6-4"; sha256="1y6msvcr1j9cvnc1v87p6wkwvnn7iszwsr9sl6ixjjwgnpc05ayc"; depends=[MCMCpack]; };
-  cobalt = derive2 { name="cobalt"; version="3.7.0"; sha256="02d7p242kz95j41cqcjhrs2bsfwpjf7512rn0g1smwn78axq30f0"; depends=[backports crayon ggplot2 ggstance]; };
+  cobalt = derive2 { name="cobalt"; version="3.9.0"; sha256="173chz93cwzxgh8lnvlvl9bzsd4plqrqxh6bwr6xkj11m5xmc7by"; depends=[backports crayon ggplot2 ggstance gridExtra gtable]; };
   cobiclust = derive2 { name="cobiclust"; version="0.1.0"; sha256="068cqrhx7lxsvcjb62rgrca7y20cybz4445bl1qc6k16ca4bh0m9"; depends=[cluster]; };
   cobs = derive2 { name="cobs"; version="1.3-3"; sha256="1pqvz7czcchri4x79g78hbwyagb3bqzdqb047zkbdinyz067c7kb"; depends=[quantreg SparseM]; };
   cocktailApp = derive2 { name="cocktailApp"; version="0.2.1"; sha256="1aq7m3qb4s5v59ym8p5vh7lr5s1xfp8b04x64a014k47gakgiw1d"; depends=[dplyr DT forcats ggplot2 ggtern magrittr shiny shinythemes tibble tidyr]; };
@@ -5953,18 +6158,20 @@ in with self; {
   codetools = derive2 { name="codetools"; version="0.2-16"; sha256="00bmhzqprqfn3w6ghx7sakai6s7il8gbksfiawj8in5mbhbncypn"; depends=[]; };
   codified = derive2 { name="codified"; version="0.2.0"; sha256="1hmw7yrw4qx8v9rkqqvqf4013s9whq5qlgwz7v882j4slpvm6gb1"; depends=[checkmate dplyr kableExtra knitr magrittr readr rlang tibble tidyr]; };
   codingMatrices = derive2 { name="codingMatrices"; version="0.3.2"; sha256="0kldx2h3mksw4644d0ask6ij7i63rrwk0njlsvkbdjz3bf7pdv1b"; depends=[fractional Matrix]; };
-  codyn = derive2 { name="codyn"; version="2.0.2"; sha256="006mwn4ijpx1qn52i0wp8yqvxagidvhcrk4zfp77ncmns9cw5zxq"; depends=[assertthat permute vegan]; };
+  codyn = derive2 { name="codyn"; version="2.0.3"; sha256="1jmnkipalxfy8dwgskrx3npcmb717bpvkpx97md44xhh8l7mmk2s"; depends=[assertthat permute vegan]; };
   coefficientalpha = derive2 { name="coefficientalpha"; version="0.5"; sha256="0pfw64z7f0gp415nn7519rcw829a7wnwnjx94sc55jsvgb1di3kc"; depends=[lavaan rsem]; };
   coefplot = derive2 { name="coefplot"; version="1.2.6"; sha256="036njf2xwmjvyamanb7nfn2n09ps2rdgk3zrxn6khwp8ly245nps"; depends=[dplyr dygraphs ggplot2 magrittr plyr purrr reshape2 tibble useful]; };
   coenocliner = derive2 { name="coenocliner"; version="0.2-2"; sha256="0r4h0r3av2d1cxmjpwaabjn807626pzqnra2x542wdnnf7h8nmdf"; depends=[]; };
   coenoflex = derive2 { name="coenoflex"; version="2.2-0"; sha256="06f75spl4wkbgicm0bksnid2lb1gkvi05915wn5y4km45d82fkkr"; depends=[mgcv]; };
   coexist = derive2 { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
+  cofad = derive2 { name="cofad"; version="0.1.0"; sha256="034ihvg2bqlfhpwivza15slksn7zxk3k20rdyx9zlriqzfgvlwws"; depends=[]; };
   cofeatureR = derive2 { name="cofeatureR"; version="1.1.1"; sha256="1awfrlnbpw9ivfvaahznx6dx5jp8ln0154vh2pznp520q59h1mbs"; depends=[dplyr ggplot2 lazyeval tibble]; };
-  coga = derive2 { name="coga"; version="1.0.0"; sha256="0mx3jdjd1s855lk451zmjf6w5rpajx39q6w7aw3kng68snyalz16"; depends=[Rcpp RcppGSL]; };
+  coga = derive2 { name="coga"; version="1.1.0"; sha256="0p2mdia89gj7w0j33qxil1l2zg6civj18i3pqym7aijzz1fgwnzp"; depends=[cubature Rcpp RcppGSL]; };
   cogmapr = derive2 { name="cogmapr"; version="0.9.1"; sha256="1iz776avw05a0lcna78fycixacby4bjf8ar1jazsf34yss6zka23"; depends=[car dplyr ggplot2 graph magrittr Rgraphviz tidyr]; };
-  coin = derive2 { name="coin"; version="1.3-0"; sha256="1y0yl4mjaxca0jqz53sv1gcpdg89m099rq61iszxvpx7w0vvpkmd"; depends=[libcoin matrixStats modeltools multcomp mvtnorm survival]; };
+  cohorttools = derive2 { name="cohorttools"; version="0.1.0"; sha256="0350q0dyy0rfk2g8anc62cib2gq7hi4zzg3gsd02fhwadz5gnjga"; depends=[DiagrammeR DiagrammeRsvg Epi epitools rsvg survival]; };
+  coil = derive2 { name="coil"; version="1.0.1"; sha256="1hlyaqq253rxbng6ji1z64ld52bpxkcwb0g6709nvai297wixxyl"; depends=[ape aphid seqinr]; };
+  coin = derive2 { name="coin"; version="1.3-1"; sha256="0qi03fyqw42a2vnqcia5l2m1mzyarj2q1iblknx9n19bdsd53qjx"; depends=[libcoin matrixStats modeltools multcomp mvtnorm survival]; };
   coindeskr = derive2 { name="coindeskr"; version="0.1.0"; sha256="0iwkg9qx5gymzjxw3w1zlwq9336kbqp4z8a9wf9a1p2gp9727qcm"; depends=[httr jsonlite]; };
-  coinmarketcapr = derive2 { name="coinmarketcapr"; version="0.2"; sha256="1r3r5ifl663pdmkvkrf6yhdg1kwmwdjg9kvp0ykbdvpbvqjcjhkv"; depends=[curl ggplot2 jsonlite]; };
   cointReg = derive2 { name="cointReg"; version="0.2.0"; sha256="0n4s809avhlrmrjdqzc2s752m7x96c4432gnjd4qv77r2nns7dw4"; depends=[checkmate MASS matrixStats]; };
   cointmonitoR = derive2 { name="cointmonitoR"; version="0.1.0"; sha256="0rsacvib9prgb199m5ndi0zlgfsvf1giqc5s41wp0yvxdxjdq5lw"; depends=[cointReg matrixStats]; };
   cold = derive2 { name="cold"; version="2.0-0"; sha256="10kn2kycyc6di30ji6lk5agsczh1zdv65s8ryj6q2f40v0y0zlck"; depends=[cubature]; };
@@ -5973,34 +6180,35 @@ in with self; {
   collapsibleTree = derive2 { name="collapsibleTree"; version="0.1.7"; sha256="0b65pbp1wnpsrayqi630ds4r98jvcvynnlp6wxdqrnnr9nzw5343"; depends=[data_tree htmlwidgets]; };
   collateral = derive2 { name="collateral"; version="0.4.2"; sha256="1i1fzvm838s2cfmxw654vwmp9rl9f9985vjildkxyx2f6571sjfm"; depends=[crayon pillar purrr]; };
   collectArgs = derive2 { name="collectArgs"; version="0.4.0"; sha256="0fz5w1xsxiddzrwahrg50px4igyhd4plq655jaix6grancs7kvix"; depends=[magrittr]; };
-  collections = derive2 { name="collections"; version="0.1.6"; sha256="1wd2wz6xg7nk54kwb142fw8qi0zbwk3j07v0kj7myradhcs6a29b"; depends=[R6]; };
-  collector = derive2 { name="collector"; version="0.1.2"; sha256="02w4rlxqmag43qb424hpnqpb8rnkgkx7rz2g8hnp9iyj7h125p94"; depends=[dplyr EnvStats evaluator flextable ggplot2 ggpubr magrittr officer purrr quanteda readr rlang rmarkdown stringr tibble tidyr xaringan]; };
-  collidr = derive2 { name="collidr"; version="0.1.1"; sha256="08rmasvm9c01li29c1k8hbmcjnks6k9himxc6j6789iz48pzccpj"; depends=[dplyr jsonlite stringr]; };
-  collpcm = derive2 { name="collpcm"; version="1.0"; sha256="15k6khsgikjpsasyz02bhgd43nij2n7nl0m0sgxvjlcn0nv95y2n"; depends=[latentnet network vegan]; };
+  collections = derive2 { name="collections"; version="0.2.3"; sha256="1fkajfmh7zx2a111js2sdlkzx5q0an67s7ns9jsy65zl7iqis3i0"; depends=[xptr]; };
+  collidr = derive2 { name="collidr"; version="0.1.2"; sha256="1b8yy0p1r4gs6azcl1aqkny3hws5hhl9bvsrkrhgk2r2xni9sk6f"; depends=[dplyr jsonlite stringr]; };
+  collpcm = derive2 { name="collpcm"; version="1.1"; sha256="14rlipdww5sm1ijp2ggpnd23m14qh10zm99cfq1w0kky9jfl0fkn"; depends=[latentnet network vegan]; };
   colmozzie = derive2 { name="colmozzie"; version="1.1.1"; sha256="0sn7dqg7rnddnmdb10c6scws6kgi1lz4lw8nc698x63z431ah1p8"; depends=[]; };
   coloc = derive2 { name="coloc"; version="3.2-1"; sha256="0sm2mji8bihvcshkh9g18sgbwznhh8j4hip50rk7ckac3vc8y75h"; depends=[BMA data_table ggplot2 reshape snpStats]; };
-  colocalization = derive2 { name="colocalization"; version="1.0.0"; sha256="0szdxjj5nbb3ncxsg0b7jphlqqxnizs2lymcafk42sdgvlfkx8sr"; depends=[ggplot2]; };
+  colocalization = derive2 { name="colocalization"; version="1.0.1"; sha256="0ax560r5f629zv8rfa91ynx8g3kcn5ga553k5svircl21n65zb1y"; depends=[ggplot2]; };
+  colocalized = derive2 { name="colocalized"; version="0.2.0"; sha256="1q98wfqk0p9p92jgjf8liamz6grzwy6h57k7681fm07wfnyr268g"; depends=[doParallel foreach purrr]; };
   colocr = derive2 { name="colocr"; version="0.1.0"; sha256="0lfwhn3hd7kwhm6dwbpfqhsphz2249vb0mpjvma18zym93x6gj2i"; depends=[imager magick magrittr scales shiny]; };
   colorRamps = derive2 { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
   colorSpec = derive2 { name="colorSpec"; version="1.0-1"; sha256="1fgikg5x9ir2n7nhjvsflnz99g2wjh3jj1yh59jiirq725dw573d"; depends=[MASS spacesXYZ]; };
   colordistance = derive2 { name="colordistance"; version="1.1.0"; sha256="0aiqvx0mlraczkcfhzfcaavmqqmxiffnghhw266f84bphxw6b5q2"; depends=[abind ape clue emdist gplots jpeg magrittr mgcv plotly png scales scatterplot3d spatstat]; };
   coloredICA = derive2 { name="coloredICA"; version="1.0.0"; sha256="1xj4dsrwgqzm2644nk3y8nj47m036b4ylh6v60jccj3707spb32r"; depends=[MASS]; };
-  colorednoise = derive2 { name="colorednoise"; version="1.0.4"; sha256="0y218mkryy1jja6qa71z1sr64rny40x7sk9f8l8jbjqqkjxr6q53"; depends=[dplyr purrr Rcpp RcppArmadillo tibble tidyr]; };
+  colorednoise = derive2 { name="colorednoise"; version="1.0.5"; sha256="094iil7f8w5cinw5j1ja3a2l1w352hlj6f3vfsvs6k1ww5f1sd6l"; depends=[dplyr purrr Rcpp RcppArmadillo tibble tidyr]; };
   colorfindr = derive2 { name="colorfindr"; version="0.1.4"; sha256="175h476dzq1f2x25vdd268xj4ja4lv8fhfj9vld85waqi0sq515g"; depends=[bmp dplyr jpeg magrittr pixmap plotly plotwidgets png purrr rsvg stringr tibble tiff treemap]; };
   colorfulVennPlot = derive2 { name="colorfulVennPlot"; version="2.4"; sha256="01b3c060fbnap78h9kh21v3zav547ak2crdkvraynpd2096yk51w"; depends=[]; };
   colorhcplot = derive2 { name="colorhcplot"; version="1.3.1"; sha256="009pyyb30kwshldd7v7zfy5rxys6i0dhlc5w8ail61acbg4rlrmz"; depends=[]; };
   colormap = derive2 { name="colormap"; version="0.1.4"; sha256="0032ji9n8pivl70jppq989fgg781wil8zag7pfl1hs9xrpin8asy"; depends=[ggplot2 stringr V8]; };
   colorpatch = derive2 { name="colorpatch"; version="0.1.2"; sha256="18p9hgccp37pbdf437xffkv6z500896v08fsw2jm8zcl9ladygaf"; depends=[colorspace ggplot2 gridExtra TSP]; };
   colorr = derive2 { name="colorr"; version="1.0.0"; sha256="1wwrgb9fc9gzxxwxrdrkwwrmhqqllv29wr4q8y1shj9d3nzcpwmh"; depends=[]; };
-  colorscience = derive2 { name="colorscience"; version="1.0.5"; sha256="0pr28fhv7alvki9f6wncys8lxihsl6q6lr8xffw4fkkgyapnhqxg"; depends=[Hmisc pracma sp]; };
+  colorscience = derive2 { name="colorscience"; version="1.0.8"; sha256="11fy8545g93b8dn2imihsb031lnf5g5z17km8q07q4y6g96xdbdv"; depends=[Hmisc pracma sp]; };
   colorspace = derive2 { name="colorspace"; version="1.4-1"; sha256="0wyny3ah2d74hqv80s6imrarpna09gq3j9rjnz6zx2qg0lx72gb9"; depends=[]; };
   colortools = derive2 { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; };
   colourlovers = derive2 { name="colourlovers"; version="0.3.5"; sha256="172ny0w9n2ys8pa7zxkfjsl7lv6fa59bmmbkzlwfx59wamxahmky"; depends=[httr jsonlite png XML]; };
   colourpicker = derive2 { name="colourpicker"; version="1.0"; sha256="0z3v2083g7kwdp21x9s2n1crfh24agpdq3yxkcdzc2awn2pwpnpi"; depends=[ggplot2 htmltools htmlwidgets jsonlite miniUI shiny shinyjs]; };
-  colourvalues = derive2 { name="colourvalues"; version="0.2.2"; sha256="0i6p7xn9b59ywgbrby78zqxz3bc45bkqyc131kb3987zy4wvh438"; depends=[BH Rcpp]; };
+  colourvalues = derive2 { name="colourvalues"; version="0.3.1"; sha256="0bwahphbvmk0jq4iafvny1nwsvcksm5avly8d30w7b6kkirym7jk"; depends=[BH Rcpp]; };
   colourvision = derive2 { name="colourvision"; version="2.0.2"; sha256="15ndhqpp5fi9jgiri9ysl68nf4rdamh9c25svf5nvh2wvv8shrd9"; depends=[Matrix rgl]; };
   colr = derive2 { name="colr"; version="0.1.900"; sha256="0ilz1y0jd2vgyh81g3dwx2l64sir6z6sgmqx7lnvr1hafsqnwfc8"; depends=[]; };
   colt = derive2 { name="colt"; version="0.1.1"; sha256="028jqvgr14ig8jxp8h2lrf7mainzppgqh6v1479qfv4l9is3bnwy"; depends=[crayon]; };
+  comat = derive2 { name="comat"; version="0.7.2"; sha256="1rca5n47ypw8mbhx40x9vi4wvkpnzzyxgm4vb7sq32w5pnydnkcn"; depends=[Rcpp RcppArmadillo]; };
   comato = derive2 { name="comato"; version="1.1"; sha256="0lidwr5vw10655p7q0iqzq3phq5y1i86w3bjdv87cwx3m6333bz6"; depends=[cluster clusterSim gdata igraph lattice Matrix XML]; };
   combinat = derive2 { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
   combiter = derive2 { name="combiter"; version="1.0.3"; sha256="11pcvrpbvkzkjwks2z6ww7s9d5fkh8zl0jw52a5ya3y1wkqcs3n6"; depends=[iterators itertools Rcpp]; };
@@ -6011,13 +6219,13 @@ in with self; {
   commentr = derive2 { name="commentr"; version="1.0.4"; sha256="0anlcbk8rj0yr8i23qmr6v5ws0695nkc3mvgr6pnq1fg2d4c4brj"; depends=[stringr]; };
   commonmark = derive2 { name="commonmark"; version="1.7"; sha256="024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni"; depends=[]; };
   commonsMath = derive2 { name="commonsMath"; version="1.2.4"; sha256="12hwl3xjm7kl5y36v3y4jyr2gk4l87mff237qms2hy8y41nwwagr"; depends=[]; };
-  comorbidity = derive2 { name="comorbidity"; version="0.4.1"; sha256="0dgbhbm5jjxqy6spm0sw9gmx6v0b426m6aj6gr9jjnd06vraw6pc"; depends=[checkmate stringi]; };
+  comorbidity = derive2 { name="comorbidity"; version="0.5.2"; sha256="0kf1fxv5aqkwy7q0df6f29jgjry3zliahgrs11rfmym5dhrb8rvm"; depends=[checkmate data_table]; };
   compHclust = derive2 { name="compHclust"; version="1.0-3"; sha256="0agay7rn5mrw07imz4l547b7m9pfcg3rhz4krfxrvg1q2z2kryvj"; depends=[]; };
   compactr = derive2 { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
   compare = derive2 { name="compare"; version="0.2-6"; sha256="0k9zms930b5dz9gy8414li21wy0zg9x9vp7301v5cvyfi0g7xzgw"; depends=[]; };
   compareC = derive2 { name="compareC"; version="1.3.1"; sha256="0dachfr23lps2jj1y5gc958k54vskmww84gdgk4amihsdgjsnphg"; depends=[]; };
   compareDF = derive2 { name="compareDF"; version="1.8.0"; sha256="199yd4qd6w07bd2hjfpkva9qzmq3f03arjgia9md56rwi7kp2bv8"; depends=[dplyr htmlTable magrittr stringr tidyr]; };
-  compareGroups = derive2 { name="compareGroups"; version="4.1.0"; sha256="18almqkvmc89ians4zs9r6b61w1k74a918s0dhaiqj584px0rx09"; depends=[chron epitools HardyWeinberg kableExtra knitr rmarkdown SNPassoc survival writexl]; };
+  compareGroups = derive2 { name="compareGroups"; version="4.2.0"; sha256="0lq5yd6d1vz8lzy1lnfav2726g3xdfxlbza055g0paxbxzxgs2n0"; depends=[chron epitools flextable HardyWeinberg kableExtra knitr officer rmarkdown SNPassoc survival writexl]; };
   compareODM = derive2 { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
   comparer = derive2 { name="comparer"; version="0.2.0"; sha256="1m5kwk0zqqn07f81z4fpl0yfkpfkvg2hjpp4cim0jdnz08cm0wnq"; depends=[R6]; };
   comparison = derive2 { name="comparison"; version="1.0-4"; sha256="0pc462rhk8gr8zrf08ksi315kmhydlp027q5gd40ap5mmhk7rd82"; depends=[isotone]; };
@@ -6027,14 +6235,16 @@ in with self; {
   compendiumdb = derive2 { name="compendiumdb"; version="1.0.3"; sha256="0glaqlzz5wr14yfhka1y7yw5ha6yc4waw61msbz0vkwj5z2hd2hk"; depends=[Biobase GEOquery RMySQL]; };
   comperank = derive2 { name="comperank"; version="0.1.0"; sha256="0fxg32kp4v42455fia48rnbd3v84g4vsh4r4qc29d0gg93ymz9hp"; depends=[comperes dplyr Rcpp rlang tibble]; };
   comperes = derive2 { name="comperes"; version="0.2.2"; sha256="1kybykamzzgx00l758304n4m4q02cssqmq14cf93rlzy23348sw5"; depends=[dplyr magrittr rlang tibble tidyr]; };
+  competitiontoolbox = derive2 { name="competitiontoolbox"; version="0.1.2"; sha256="1k45y7zcckvpcx4pdin9zlsx1vrqlqx9lz67cbsawb254wbylc4l"; depends=[antitrust ggplot2 rhandsontable shiny trade]; };
+  completejourney = derive2 { name="completejourney"; version="1.1.0"; sha256="0ysbpmd7rglz3diy2cpcgvmmcnysradb4ddiwix7kbhzrhvhrdrs"; depends=[curl dplyr progress stringr tibble zeallot]; };
   complexity = derive2 { name="complexity"; version="1.1.1"; sha256="1lpsvry88jpqfw0wkdlwjzkqjl17f4adjcqvq0dwk483mi54xnfk"; depends=[combinat shiny]; };
   complexplus = derive2 { name="complexplus"; version="2.1"; sha256="16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx"; depends=[expm Matrix]; };
-  complmrob = derive2 { name="complmrob"; version="0.6.2"; sha256="0r8yz1zsqd030k0qqsfvqh9z5vx632cwynnz5ch6ndg6g89baxmf"; depends=[boot ggplot2 robustbase scales]; };
+  complmrob = derive2 { name="complmrob"; version="0.7.0"; sha256="0dvkc5y53041agkjz3rl898hkq686pxzr6flf2qx1g3jbza3pk1y"; depends=[boot ggplot2 robustbase scales]; };
   compoisson = derive2 { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
-  compositions = derive2 { name="compositions"; version="1.40-2"; sha256="12mp05yi7jkdqg9iwh6bc9sx6sdxagcnrirznxy9hq8502p7238i"; depends=[bayesm energy robustbase tensorA]; };
-  compound_Cox = derive2 { name="compound.Cox"; version="3.18"; sha256="1ksgh94k2qqq6xs9fdar88564pkdgsvbqs4yrkah6q60n406qh7r"; depends=[numDeriv survival]; };
+  compositions = derive2 { name="compositions"; version="1.40-3"; sha256="103hbmibrf1n333pn4xpll1gqqsv4szms0n5gdq7zak31aar0bg4"; depends=[bayesm robustbase tensorA]; };
+  compound_Cox = derive2 { name="compound.Cox"; version="3.19"; sha256="1wl8jg916567nk0wy37in6syh7z2rw70v5jm7s0w3ifiqs5v7nzb"; depends=[numDeriv survival]; };
   comprehenr = derive2 { name="comprehenr"; version="0.6.7"; sha256="0c0wid4lch7yrz41b8n773hy4zj80sfb1lhy4pclvlsjdr5zryk6"; depends=[]; };
-  compstatr = derive2 { name="compstatr"; version="0.1.1"; sha256="0lamnhch443rz01gpjyyva7k7fcxg4ca7szxzxvwpmln5vvpsagr"; depends=[dplyr fs lubridate purrr readr rlang sf stringr tibble tidyr]; };
+  compstatr = derive2 { name="compstatr"; version="0.2.0"; sha256="07kak4dc1q44m58wb7ps4bf5ikcnjfkvd7fn1mxfxvqljrdy6978"; depends=[dplyr fs httr janitor lubridate purrr readr rlang rvest sf stringr tibble tidyr xml2]; };
   compute_es = derive2 { name="compute.es"; version="0.2-4"; sha256="1b5i8z66zbag0vdv98mmpwmizpm68vc3ajh0n3q94zdcmhcbx12d"; depends=[]; };
   comtradr = derive2 { name="comtradr"; version="0.2.2"; sha256="177gnmgwqns65z5y9nw4xp8qmw5z70454zb54jw1879xrgfsrciz"; depends=[httr jsonlite magrittr purrr]; };
   con2aqi = derive2 { name="con2aqi"; version="0.1.0"; sha256="1gdd1y6xg26fz199hvryzsnp16qbsz13chqqxyxnkgrai1l72mhf"; depends=[]; };
@@ -6045,7 +6255,7 @@ in with self; {
   concor = derive2 { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; };
   concordance = derive2 { name="concordance"; version="1.6"; sha256="0pb4mndrh1nimf59ajjcydlvc79nm6p7c219iymkn0b1hbrnx7lf"; depends=[]; };
   concreg = derive2 { name="concreg"; version="0.6"; sha256="1ncs9cpviv5kd49hahlhi7wn2yk70msi22qv8fw91hf81ccimlp2"; depends=[survival]; };
-  concurve = derive2 { name="concurve"; version="2.0"; sha256="090j7fv9c1m13xynq5sdrdrl0g2c1lamlb2nwg5xsjlv93ckm3az"; depends=[dplyr ggplot2 metafor scales survival survminer tibble]; };
+  concurve = derive2 { name="concurve"; version="2.1.0"; sha256="17kf5fl90a28rm2cnkjz0cp572xam63yq1j4p3r556gp0nf8553p"; depends=[dplyr ggplot2 metafor scales survival survminer tibble]; };
   cond = derive2 { name="cond"; version="1.2-3.1"; sha256="1j0gf28mg2j6ahs83nk662bix1lb2c9184vn8sblw433zxqaa2ny"; depends=[statmod survival]; };
   condGEE = derive2 { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; };
   condMVNorm = derive2 { name="condMVNorm"; version="2015.2-1"; sha256="04563jljnjhbiaiq33gn5dxjfvv05xp3lhl3w942v0smy0cdhrh4"; depends=[mvtnorm]; };
@@ -6053,7 +6263,6 @@ in with self; {
   condformat = derive2 { name="condformat"; version="0.8.0"; sha256="1x3sm3fn5lb07gmxvfaa0xnhk5mjnim90p7mwail8dmi9nygrb9d"; depends=[dplyr gridExtra gtable htmlTable htmltools knitr lazyeval magrittr rlang rmarkdown scales tibble tidyselect]; };
   condir = derive2 { name="condir"; version="0.1.1"; sha256="133598h1ga4jyr77lchnby6m8bh3adq6s38cgw45q4fyvzad4qds"; depends=[BayesFactor effsize knitr psych shiny xtable]; };
   conditionz = derive2 { name="conditionz"; version="0.1.0"; sha256="0ijnsg6n3p3y8y9il012xg5if57hdzvrgxjcykfrrlil4m7ixn6c"; depends=[R6 uuid]; };
-  condmixt = derive2 { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; };
   condusco = derive2 { name="condusco"; version="0.1.0"; sha256="0zydinzlksynkz4r712rzv9qqdx8dkdz3h1ygi9cfmd6hya3580s"; depends=[assertthat bigrquery DBI jsonlite]; };
   condvis = derive2 { name="condvis"; version="0.5-1"; sha256="1ngxqfa0mr86cv610da4ljypxpdvx0n5pfgj3zfksnwxlwc0dvbj"; depends=[MASS]; };
   condvis2 = derive2 { name="condvis2"; version="0.1.0"; sha256="1xvxqr311wwi8ns31zqnxxb7bji3vl296j3qfq7vh0alxlhd4n4r"; depends=[cluster DendSer ggplot2 kmed plyr RColorBrewer scales shiny]; };
@@ -6068,16 +6277,19 @@ in with self; {
   confinterpret = derive2 { name="confinterpret"; version="1.0.0"; sha256="0qldaqpx7kpk71zfwv465jrscwzc9w3xfv52i4h01k9aw3q6m8ja"; depends=[]; };
   conflicted = derive2 { name="conflicted"; version="1.0.4"; sha256="0xp04cdvmp3b1phazhmjqn0vmax1b2218xsb5854ffv43m7qvrra"; depends=[memoise rlang]; };
   conformalClassification = derive2 { name="conformalClassification"; version="1.0.0"; sha256="03v6xbgipb97byarqj0d38z9yb2g54mkkw343jxmi2j058z26yw7"; depends=[doParallel foreach mlbench randomForest]; };
+  confoundr = derive2 { name="confoundr"; version="1.2"; sha256="000vf828qv04pplx8yc8q3mafxf4g0axip6z5zbsj2581yxv9jjh"; depends=[dplyr ggplot2 gridExtra magrittr purrr rlang Rmpfr scales stringr tidyr]; };
   confreq = derive2 { name="confreq"; version="1.5.4-3"; sha256="1jn9v9z04a2yni4l3i7969kzzpgaxkdfdggi74dgp3jchda6vip7"; depends=[gmp]; };
   congressbr = derive2 { name="congressbr"; version="0.2.1"; sha256="1vfjyg05ssk7cnhy71cqvx38h65yrp0mm4fp6lh2q7bzh1lx69ad"; depends=[dplyr glue httr janitor lubridate magrittr progress pscl purrr stringi stringr tibble tidyr xml2]; };
   conicfit = derive2 { name="conicfit"; version="1.0.4"; sha256="1d704xgiyqmbwfxnsmhqg885x10q8yqxmrk4khqpg3lh696bw97d"; depends=[geigen pracma]; };
   conics = derive2 { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
   conjoint = derive2 { name="conjoint"; version="1.41"; sha256="1iq3226a6fn1gddmh2nxlzvjcvbj7502r9520g9d4xdmk8smfx33"; depends=[AlgDesign broom cluster fpc ggfortify ggplot2]; };
+  connections = derive2 { name="connections"; version="0.1.0"; sha256="1jkk9s3w6d3751hb2y4d2lilndhpfs2alqgg6k23q7bav6848wyp"; depends=[DBI dbplyr dplyr pins rscontract uuid]; };
   conover_test = derive2 { name="conover.test"; version="1.1.5"; sha256="0f1p10klidk1xic1wd48j9rjh2fb3z6pfjx4y021lglx1w3av68k"; depends=[]; };
   conquestr = derive2 { name="conquestr"; version="0.3.7"; sha256="13pkbgw0z2icpc2l16g1wy92bbhmrk3l0jfhvh0sa8zj5idw35z1"; depends=[]; };
   constants = derive2 { name="constants"; version="0.0.2"; sha256="1j9d52riwx7v1ppfdw0x517j7xh92qgskd4mj5yk9qa233brcwyy"; depends=[]; };
   constellation = derive2 { name="constellation"; version="0.2.0"; sha256="1d49rnyf2z3bvx158nsmgmb0x7xcgxl9f8y98pwg5wlqck7af99q"; depends=[data_table]; };
   constrainedKriging = derive2 { name="constrainedKriging"; version="0.2.4"; sha256="1a91s0b7yka37fb5pm172fmlqrhm6da370cqb9knvkg5n8vi4hys"; depends=[RandomFields rgeos sp spatialCovariance]; };
+  contact = derive2 { name="contact"; version="1.0.1"; sha256="16dqvfkdckd59yx48s3qv5iz1jn087v4m93yjzmmvv78agqdi1m2"; depends=[ape data_table geosphere igraph lubridate raster rgdal rgeos sf sp]; };
   container = derive2 { name="container"; version="0.3.0"; sha256="128fj97mx52kap299fmhn3whnaismsd4cq3zqpbfvwxx2ii4fd33"; depends=[R6]; };
   contextual = derive2 { name="contextual"; version="0.9.8.2"; sha256="03123mghmixy9v2c5lqg0df5ycxa09mir94rkjgs8lp62ncq170r"; depends=[data_table doParallel foreach Formula iterators itertools R_devices R6 rjson]; };
   contfrac = derive2 { name="contfrac"; version="1.1-12"; sha256="0sq5c7ny235yrkv2xc4insgxby6rvzc1qsj8h301cd2if3lwbgwm"; depends=[]; };
@@ -6103,6 +6315,7 @@ in with self; {
   cope = derive2 { name="cope"; version="0.2.3"; sha256="1r02nb6wy25ixhdcbqqz167s7ny3hydpxfxry5ar4136qvcamgyy"; depends=[abind fields maps MASS Matrix mvtnorm nlme]; };
   coppeCosenzaR = derive2 { name="coppeCosenzaR"; version="0.1.3"; sha256="1chwsfyaf5rmlsypr43n7px8b2220dfa5mzcriq1swylgbx4181l"; depends=[]; };
   coprimary = derive2 { name="coprimary"; version="1.0"; sha256="0pjln9p5lzv6wl5xrz0kb90hnjlnp7ch2kvh054nxdbmlxv5akc3"; depends=[digest gsDesign plyr proto]; };
+  cops = derive2 { name="cops"; version="1.0-2"; sha256="0ifp3cai490lw6dnyyjj4822x8g2mswhaamnw5ljwnxdbmjwhhrw"; depends=[cmaes cordillera crs dfoptim GenSA MASS minqa NlcOptim nloptr pso rgenoud rgl Rsolnp scatterplot3d smacof subplex]; };
   copula = derive2 { name="copula"; version="0.999-19.1"; sha256="0bk92fx71282dx0whwv4rsfchw7pm7axicrl3r6f3gm4rlldf68r"; depends=[ADGofTest colorspace gsl lattice Matrix mvtnorm numDeriv pcaPP pspline stabledist]; };
   copulaData = derive2 { name="copulaData"; version="0.0-1"; sha256="1s917g8wasxndg1xq4b4fjaq29nyzzigpflgqcy4rxdb7r54dl0z"; depends=[]; };
   copulaedas = derive2 { name="copulaedas"; version="1.4.3"; sha256="01wp8jnz7kndknj7lh9ia7mm41k1vbaksalyy9v19bb77yhgzmba"; depends=[copula mvtnorm truncnorm vines]; };
@@ -6112,37 +6325,43 @@ in with self; {
   corclass = derive2 { name="corclass"; version="0.1.1"; sha256="0ai8si992f58mrvc8hq598zbw9d4jslnc96lpzj5d89lljjv3hf5"; depends=[igraph]; };
   cord = derive2 { name="cord"; version="0.1.1"; sha256="18xj6cwmx1a7p3vqx5img8qf8s75nc6pcv78v15j081pgn786ma5"; depends=[Rcpp RcppArmadillo]; };
   cordillera = derive2 { name="cordillera"; version="0.8-0"; sha256="0cpysfivwmim36gcqn1i7450a33hv4pdbvil7syb0hr7vdm083dd"; depends=[dbscan yesno]; };
-  coreCT = derive2 { name="coreCT"; version="1.2.3"; sha256="1h4qvcdbx9y0q911xw5j66l16my7wdifvq2z6vbr17s0cmjfywbf"; depends=[igraph oro_dicom plyr raster]; };
+  coreCT = derive2 { name="coreCT"; version="1.3.2"; sha256="0xxcgd5qar9fwhyzs5g3fc45naca4xmcgmw88ygav02vv5y93w03"; depends=[igraph oro_dicom plyr raster]; };
   coreNLP = derive2 { name="coreNLP"; version="0.4-2"; sha256="0rvyqj7s3lijq4rzil65060b29m393m7zmg99mykp1g1kby5bjd8"; depends=[rJava XML]; };
   coreSim = derive2 { name="coreSim"; version="0.2.4"; sha256="1fhlss420rhs21l9i2ag5g3j0vnrkpqdh13ca4rwfan6h35qr3sm"; depends=[dplyr MASS]; };
   coreTDT = derive2 { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
   corehunter = derive2 { name="corehunter"; version="3.2.1"; sha256="0cxvhmi768kz3q8hydb6y9nqvc8hvkmq8nc5yfry4k94whk12wax"; depends=[naturalsort rJava]; };
   corkscrew = derive2 { name="corkscrew"; version="1.1"; sha256="1nb81r4lsrajcj3xz3f7p6xznnb38yg3rnnh44rd3kabca4d8r1s"; depends=[ggplot2 gplots igraph RColorBrewer]; };
   corlink = derive2 { name="corlink"; version="1.0.0"; sha256="06n9pcvbn8y9gy0mn9c0sw05424ss8smpaw3ly6a785cmj3d9b6m"; depends=[]; };
-  cornet = derive2 { name="cornet"; version="0.0.1"; sha256="0kwzpbr69gvkajwvyykbpqfvp5ndsks1a70iwnlvbkdyl4vl3fck"; depends=[glmnet palasso]; };
+  cornet = derive2 { name="cornet"; version="0.0.3"; sha256="0f0fwyz2kp59xb4a7kxa66h0y9940fba56dlyncin5szr5nhfrpp"; depends=[glmnet palasso]; };
   coroICA = derive2 { name="coroICA"; version="1.0.1"; sha256="0hjy1sdii8kk859bj1xv3vh1hzxznhymhgdb583z57i0hqxnijiv"; depends=[MASS]; };
   corpcor = derive2 { name="corpcor"; version="1.6.9"; sha256="1hi3i9d3841snppq1ks5pd8cliq1b4rm4dpsczmfqvwksg8snkrf"; depends=[]; };
   corpora = derive2 { name="corpora"; version="0.5"; sha256="0b4yw37msx9h8hf5mjs4h10gdmc1qc2gv5bzyj1r90n4gcli042d"; depends=[]; };
+  corporaexplorer = derive2 { name="corporaexplorer"; version="0.8.0"; sha256="0rn35wqi4bb90k440dk1sm862azx3pfgc2d6z489fdqq7xsjnk3a"; depends=[data_table dplyr forcats ggplot2 lubridate magrittr padr plyr RColorBrewer re2r rlang rmarkdown scales shiny shinycssloaders shinydashboard shinyjs shinyWidgets stringi stringr tibble tidyr zoo]; };
   corpus = derive2 { name="corpus"; version="0.10.0"; sha256="0c984rsnbai2qrm2s10lkdfgx31m0ax46zhl74bns2bxfmagcn3l"; depends=[utf8]; };
-  corpustools = derive2 { name="corpustools"; version="0.3.3"; sha256="1hgcwnjhqfyylvqcy2j5f2k6chwyybnx38vzzvq62s6qf6p9p7by"; depends=[data_table Matrix memoise plyr R6 Rcpp SnowballC stringi udpipe wordcloud]; };
+  corpustools = derive2 { name="corpustools"; version="0.4.1"; sha256="1zg7vx9j678zj4hmmi03pyf91y7dxx5297ks6gk00b3521z7hybh"; depends=[data_table digest Matrix R6 Rcpp RNewsflow SnowballC stringi tokenbrowser udpipe wordcloud]; };
   corr2D = derive2 { name="corr2D"; version="1.0.0"; sha256="12k6vbqyb33kfj2xdg8rbydnp2yk15kv4b0m4lid4gf2lqmy3jwz"; depends=[colorspace doParallel fields foreach mmand profr rgl xtable]; };
   corrDNA = derive2 { name="corrDNA"; version="1.0.1"; sha256="1mfjrzpcb63ydyj1yxa0wd3vh4z0rdwsqv09w0a0l4l7mhb5jz2k"; depends=[mvtnorm]; };
+  corrcoverage = derive2 { name="corrcoverage"; version="1.1.0"; sha256="194fb6j8pngqwnsndjld8709hj1637mswbx7ck6m3334f196af59"; depends=[magrittr matrixStats Rcpp]; };
   correctedAUC = derive2 { name="correctedAUC"; version="0.0.3"; sha256="0c2kq7asq5mp48p8niqb84wnw4q2q2985wxbrywrhsszm9p3xspb"; depends=[ICC mnormt]; };
   corregp = derive2 { name="corregp"; version="2.0.2"; sha256="1v048dibn2x3y5mi2damcsr9i5kdig5n53g5j9gf31lqkzzjmnh3"; depends=[data_table diagram ellipse gplots rgl]; };
+  correlationfunnel = derive2 { name="correlationfunnel"; version="0.1.0"; sha256="0kg770nfr1cd31b8y8g1kx046k401lha9hbj7lq543gl7s77aw2x"; depends=[cli crayon dplyr forcats ggplot2 ggrepel magrittr plotly purrr recipes rlang rstudioapi stringr tibble tidyr]; };
   correlbinom = derive2 { name="correlbinom"; version="0.0.1"; sha256="1ix3ccxzr7vqblbda5awsva3h95b69v7kc6adz622bbi8r36xxcq"; depends=[Rmpfr]; };
   corrgram = derive2 { name="corrgram"; version="1.13"; sha256="1g5159vihsz5a2cfmg4g4i1lildn2x2wzck5sd0vml5810rxjpma"; depends=[seriation]; };
   corrplot = derive2 { name="corrplot"; version="0.84"; sha256="1k03qd8db7pwg1v318xapx5mpiypiz2n07qr19c4b45diri5xkhd"; depends=[]; };
   corrr = derive2 { name="corrr"; version="0.4.0"; sha256="0zjqkgsnwgcyi8hdskr7in0liqhpj9qml96agawzj11iy0bf6387"; depends=[dplyr ggplot2 ggrepel purrr rlang seriation tibble]; };
   corrsieve = derive2 { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
   corset = derive2 { name="corset"; version="0.1-4"; sha256="0ladyqvkys4cldvbhkii9jwn1k5p1ym2g5bgdlz1hq1sv30ixn2f"; depends=[]; };
-  cosa = derive2 { name="cosa"; version="1.2.2"; sha256="10cfpzrccqg9i6pb2z1m57lxr7yf7bfdhvcxhmamdn1ps9mjkmlw"; depends=[nloptr]; };
+  corto = derive2 { name="corto"; version="0.99.10"; sha256="0ss28d0fi30waywgz47j7vxqqxxgiixk4qandlvaxjyik3yy0n4g"; depends=[dplyr knitr pbapply rmarkdown]; };
+  corx = derive2 { name="corx"; version="1.0.2"; sha256="1k9k1w5i5yky6c9jn5s80rf0r5r6qn7w0xwamjbankp2i4ryna5z"; depends=[clipr crayon ggcorrplot glue moments ppcor psych tidyselect]; };
+  cosa = derive2 { name="cosa"; version="2.0.0"; sha256="1ra1m75ay829xlhjax82px4ffflnfgh2mrmzzj4i8ml545d9hmgr"; depends=[msm nloptr]; };
   cosinor = derive2 { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
   cosinor2 = derive2 { name="cosinor2"; version="0.2.1"; sha256="1pp0z86fflqkkllfrzx3vj98kzxjwnawr4a2d8z5q6zhq6v5qrvf"; depends=[cosinor cowplot ggplot2 Hmisc magrittr matrixStats purrr scales stringr]; };
   cosmoFns = derive2 { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
   cosso = derive2 { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[glmnet quadprog Rglpk]; };
   costat = derive2 { name="costat"; version="2.4"; sha256="0c47bklqjgjmdglw3mi9lvygwjr5w6i1zv91ll3vpnl5dnay0692"; depends=[wavethresh]; };
   costsensitive = derive2 { name="costsensitive"; version="0.1.2.10"; sha256="192q55123yzcjjh4047ppxa3h7gk9afqnvm1nlhzs4ccqz71g411"; depends=[]; };
-  cotrend = derive2 { name="cotrend"; version="1.0.1"; sha256="14yzfq5a3wi26gn45mp2zm2yn6gic90csk9by66m08fgpzznz4dq"; depends=[xts]; };
+  cotram = derive2 { name="cotram"; version="0.1-1"; sha256="0rjwx94gpdndpwagy2wdjdvr5b8n8qrjv9yjyxph9xw533paiz49"; depends=[basefun mlt tram variables]; };
+  cotrend = derive2 { name="cotrend"; version="1.0.2"; sha256="17h67vnpnlv11bf3ka5mlnah9bizxjhvicsvbygy91dqbhjhj9wb"; depends=[xts]; };
   couchDB = derive2 { name="couchDB"; version="1.4.1"; sha256="1n99amvnsjp88y091603hjsvp243c5i6dbrsvdjfmzgj5dsrv70m"; depends=[bitops httr RCurl rjson]; };
   countHMM = derive2 { name="countHMM"; version="0.1.0"; sha256="12z0nz7in2msb5wa5yyjxx19ih8psw06m7xwlapvjksslippp6gs"; depends=[]; };
   countToFPKM = derive2 { name="countToFPKM"; version="1.0"; sha256="0h89knii8zkbq0lw7yn3qzak30s7bifq53ga4vy6za6hqwc53x2j"; depends=[circlize ComplexHeatmap]; };
@@ -6158,12 +6377,12 @@ in with self; {
   covLCA = derive2 { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; };
   covRobust = derive2 { name="covRobust"; version="1.1-3"; sha256="0zcfala4l0j4w0sx5hlw40vxiypans3d7pgkxy25nj0d2m1jkvba"; depends=[]; };
   covTestR = derive2 { name="covTestR"; version="0.1.4"; sha256="0j9kay8lwkhpdyg0fbfars1m58v0i58v1v5sm7m72s7kz8qh2yfs"; depends=[purrr Rcpp RcppArmadillo rlang]; };
-  covafillr = derive2 { name="covafillr"; version="0.4.3"; sha256="0mqq4hm3nhzrvdai9blb0ycgm6j5klfd8y4ib5pl99plffs6r7pl"; depends=[RcppEigen]; };
+  covafillr = derive2 { name="covafillr"; version="0.4.4"; sha256="1vsay0qlqcw3l6xp18rxrkhwsadsv9rpxwpj9f4d3vlr8inkiv4h"; depends=[Rcpp RcppEigen]; };
   covatest = derive2 { name="covatest"; version="1.1.1"; sha256="0fnm3ljk4my3xinv0qswi57l51z0j6cva7by00p8f5992hhk3sn9"; depends=[gstat lubridate matrixcalc sp spacetime zoo]; };
-  coveffectsplot = derive2 { name="coveffectsplot"; version="0.0.3"; sha256="0d6s7kk38px3y8132493kksa45krmjmqc3w0c3zid4r1x35h73la"; depends=[colourpicker dplyr egg ggplot2 ggstance markdown shiny shinyjs tidyr]; };
+  coveffectsplot = derive2 { name="coveffectsplot"; version="0.0.4"; sha256="0lx42f86w5z7i0p2z5kwrm8rbcm4vriaagfhpixc8n7aq6mkb7bl"; depends=[colourpicker dplyr egg ggplot2 ggstance markdown shiny shinyjs tidyr]; };
   covequal = derive2 { name="covequal"; version="0.1.0"; sha256="1qj6djqf1rnjmnaz1nryj9dc104082w258dzjjp5q18gg1ck8v0c"; depends=[corpcor RMTstat]; };
   covfefe = derive2 { name="covfefe"; version="0.1.0"; sha256="178qc77y4bn04qad3g70wr8y4v0ggyg807w67m8wvhbcxqr8yq7c"; depends=[tokenizers]; };
-  covr = derive2 { name="covr"; version="3.2.1"; sha256="187hvqp7mvxy3hl00fgw56sm93yrz81fwixf652arr0ih2jdm47a"; depends=[crayon digest httr jsonlite rex withr]; };
+  covr = derive2 { name="covr"; version="3.4.0"; sha256="0p44kr6yz5sqza5zvq6divqglzkpv0if9pjpjmzhmdaaddjrqzg5"; depends=[crayon digest httr jsonlite rex withr yaml]; };
   covreg = derive2 { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
   covsep = derive2 { name="covsep"; version="1.1.0"; sha256="19dvwhl85yx9ddwxvnq5sdd534s6llcw61gckrav48hq49x1bqld"; depends=[mvtnorm]; };
   cowbell = derive2 { name="cowbell"; version="0.1.0"; sha256="1zz0g30zvqfk5lh09y90iq3s7x2wwbs852i3d56mfp926gxdxc2y"; depends=[ggplot2 misc3d rgl]; };
@@ -6172,6 +6391,7 @@ in with self; {
   coxed = derive2 { name="coxed"; version="0.3.0"; sha256="01fwkw6ba8zj09a7mzm7rja188rapd6knwjq247pm4panqih8m5l"; depends=[dplyr ggplot2 gridExtra mgcv PermAlgo rms survival tidyr]; };
   coxinterval = derive2 { name="coxinterval"; version="1.2"; sha256="0vb7vmzbb2dsihx04jbp2yvzcr033g435mywmwimqhfqdrmjx3fi"; depends=[Matrix survival timereg]; };
   coxme = derive2 { name="coxme"; version="2.2-14"; sha256="0pcmf44c3v1hvr8031lwgib58j6la5hsphsbc57mcgz09ppw30zg"; depends=[bdsmatrix Matrix nlme survival]; };
+  coxmeg = derive2 { name="coxmeg"; version="1.0.9"; sha256="19p2j6i34jg6akfyr6hv2xmashpsvf8y5bbql6a62b3f5yz5639v"; depends=[coxme MASS Matrix matrixcalc microbenchmark nloptr rARPACK Rcpp RcppEigen SNPRelate]; };
   coxphMIC = derive2 { name="coxphMIC"; version="0.1.0"; sha256="0lmma5wzcczr762xqa4yamvwvyviqxk8gdrps3sydg3n14hckp6d"; depends=[numDeriv survival]; };
   coxphSGD = derive2 { name="coxphSGD"; version="0.2.1"; sha256="17ga33v7a89dsygk5yypkz03x7dvjhibnwlvwfvgb2p7djd8w465"; depends=[survival]; };
   coxphf = derive2 { name="coxphf"; version="1.13"; sha256="16bman8xv5xx7gg8s54sj3hc4isqxk4h3q93h4q3h3j0bdvww2yy"; depends=[survival]; };
@@ -6189,13 +6409,14 @@ in with self; {
   cplm = derive2 { name="cplm"; version="0.7-8"; sha256="0gvl3xwqbyqgqd42l97ryy8qsf23njqfgvc16w21124s77wsixaw"; depends=[biglm coda ggplot2 Matrix minqa nlme reshape2 statmod tweedie]; };
   cplots = derive2 { name="cplots"; version="0.4-0"; sha256="1k4kazw7lw2d991brnzhma6qvg8kwslrbi9q4gy61x02wcig927n"; depends=[circular]; };
   cpm = derive2 { name="cpm"; version="2.2"; sha256="1n1iqhalp99mbh8jha0pv759fb97sqxdiiq9bxy3wm6aqmssvdb1"; depends=[]; };
-  cppRouting = derive2 { name="cppRouting"; version="1.1"; sha256="098pldb1lld6i0v1nhnmaysns92znm66d55i9a8dixhw8bq0n4m2"; depends=[Rcpp]; };
+  cppRouting = derive2 { name="cppRouting"; version="1.2"; sha256="14h23wk7r3xr34mscp4dgc6i2vj4n810wgb4186qfym43rwzq5r2"; depends=[Rcpp]; };
   cpr = derive2 { name="cpr"; version="0.2.3"; sha256="1a2lza1bw74xzrs17a9gr9mnpvnnrykhwd73yqi63wp3k4sm42rb"; depends=[dplyr ggplot2 lazyeval lme4 magrittr plot3D Rcpp RcppArmadillo rgl tibble tidyr]; };
   cprr = derive2 { name="cprr"; version="0.2.0"; sha256="049xnma0rdnya7zp05iraq15nwjgmdmli9g7xxprab822047vld7"; depends=[]; };
   cpsurvsim = derive2 { name="cpsurvsim"; version="1.1.0"; sha256="1ywxzn20nx13yq9570farivfqn8i9ap6hz5szy2xm6g6pf2i8p4z"; depends=[Hmisc knitr plyr]; };
   cpt = derive2 { name="cpt"; version="1.0.2"; sha256="0j9ns8qhcvwxnzl9rc59vmh5jdahnni5dxpmi38gxvvj5k9hd8p7"; depends=[glmnet MASS nnet randomForest]; };
   cptcity = derive2 { name="cptcity"; version="1.0.4"; sha256="1agknys80m16xq0x285sdf1452a6dmghysrhy7s6zfcb59acb1nf"; depends=[]; };
   cptec = derive2 { name="cptec"; version="0.1.0"; sha256="1sh6vs9qfxxlhlg6y2qchikjg8sh64zg3j8x5b9dpba9lhbhzzqj"; depends=[magrittr rvest xml2]; };
+  cqcr = derive2 { name="cqcr"; version="0.1.2"; sha256="11bcqr4bw11vjqdgddpfjb4dsk0dxdasddkp1g310l71vw7zaryg"; depends=[anytime dplyr httr jsonlite purrr rlang snakecase]; };
   cqrReg = derive2 { name="cqrReg"; version="1.2"; sha256="1sn8pkbqb058lbysdf2y1s734351a91kwbanplyzv3makbbdm4ca"; depends=[quantreg Rcpp RcppArmadillo]; };
   cquad = derive2 { name="cquad"; version="2.1"; sha256="1cq57qd33cbzhgnnw4fk36xch0prwr9a404sxi7b4ijwgzw84d0h"; depends=[MASS plm]; };
   cr17 = derive2 { name="cr17"; version="0.1.0"; sha256="1zyq77gxycbwyqhv5w0zw4n7v3ipjs6rcbja43g0k5q8h0gjnnn1"; depends=[cmprsk dplyr ggplot2 gridExtra gtable scales survival]; };
@@ -6203,15 +6424,15 @@ in with self; {
   crank = derive2 { name="crank"; version="1.1-2"; sha256="0wwbdh5sfi2bg13nrlkxxij4k053kjx9afm4gjpgs6iir6pml711"; depends=[]; };
   cranlike = derive2 { name="cranlike"; version="1.0.2"; sha256="06xgxgwpmfrwmcd0gnr9prjjbhd1y0ky1zb8yh09v0bvsf6ixnyx"; depends=[DBI debugme desc RSQLite]; };
   cranlogs = derive2 { name="cranlogs"; version="2.1.1"; sha256="02d9qrqyjj33naq3g7ykaw9dzzl1dq8qf13id6h7kfx1fvx9b7zd"; depends=[httr jsonlite]; };
-  cranly = derive2 { name="cranly"; version="0.5.3"; sha256="15ngklyqjp0yxz42ijhfpvraxd549fidj1k4b1s1v3iilwvsd7q4"; depends=[colorspace countrycode ggplot2 igraph magrittr stringr tm visNetwork wordcloud]; };
+  cranly = derive2 { name="cranly"; version="0.5.4"; sha256="02g3r8y3yj6pajjzzf7akgpjgg6vnv3mp9pqpqcfrrckvmvysm35"; depends=[colorspace countrycode ggplot2 igraph magrittr stringr tm visNetwork wordcloud]; };
   crantastic = derive2 { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
   crassmat = derive2 { name="crassmat"; version="0.0.6"; sha256="1c4ii34vh8y5b3z2maby4cafb3n2m9bnxv3762cy0z12mbg7zk1s"; depends=[svMisc]; };
   crawl = derive2 { name="crawl"; version="2.2.1"; sha256="18mr7vp72jj5msj9mbq45jy3f6qhn45azsmkq07i2d30gwdj0c3a"; depends=[dplyr gdistance lubridate magrittr mvtnorm purrr raster Rcpp RcppArmadillo rmapshaper sf shiny sp tibble]; };
   crayon = derive2 { name="crayon"; version="1.3.4"; sha256="0s7s6vc3ww8pzanpjisym4jjvwcc5pi2qg8srx7jqlz9j3wrnvpw"; depends=[]; };
   crblocks = derive2 { name="crblocks"; version="1.0-0"; sha256="0y101kgi7ryjv18fyjp0ralp4qj7kgshmbd4mf7n3hdjay0znss5"; depends=[]; };
-  crch = derive2 { name="crch"; version="1.0-3"; sha256="0f1kby790symj5r3z1dhmnzjs6xbfirsbkzapkmn1hs8i5la2rqr"; depends=[Formula ordinal sandwich scoringRules]; };
+  crch = derive2 { name="crch"; version="1.0-4"; sha256="18qjvh1lkw1f6rrhnb21f30xxrcq8whbs3x1jgkw6q14rf1483ri"; depends=[Formula ordinal sandwich scoringRules]; };
   credentials = derive2 { name="credentials"; version="1.1"; sha256="0izwskymymkxdwsdj7zapqpkc6g37c0m6c2na0y00s1kwr73d2qd"; depends=[askpass curl jsonlite openssl sys]; };
-  creditmodel = derive2 { name="creditmodel"; version="1.1.1"; sha256="06nxbvwlg0j7z3x31jm767faqdfnppbzxzsn3razv35s69sq1k83"; depends=[car data_table doParallel dplyr foreach gbm ggcorrplot ggplot2 glmnet gridExtra pmml randomForest rpart sqldf stringr xgboost XML]; };
+  creditmodel = derive2 { name="creditmodel"; version="1.1.6"; sha256="185pwcs50ssn24lm63waaq8pbyran11q848wwd9pphlminfw9wy4"; depends=[cli data_table doParallel dplyr foreach ggplot2 glmnet rpart xgboost]; };
   credsubs = derive2 { name="credsubs"; version="1.0.1"; sha256="0n3684fxknvvs57g2vjqykgdjfbpl6242nd23sm9nv2fn57q8k2c"; depends=[]; };
   credule = derive2 { name="credule"; version="0.1.3"; sha256="1vciqkxkf93z067plipvhbks9k9sfqink5rhifzbnwc2c5gxp5mx"; depends=[]; };
   cregg = derive2 { name="cregg"; version="0.3.0"; sha256="08dhn4i5i27zw3ayqp7lkw5z8dzckv8fhflpvz0mphax34pm3z72"; depends=[ggplot2 ggstance lmtest sandwich scales survey]; };
@@ -6228,7 +6449,7 @@ in with self; {
   crochet = derive2 { name="crochet"; version="2.2.0"; sha256="1cbv79nyycxk6f8ldcsnn2pvgxqlnrj0qs19nhafnq2clxy863k6"; depends=[]; };
   cromwellDashboard = derive2 { name="cromwellDashboard"; version="0.5.1"; sha256="0d57c1wdd1ds9fr7p256la63qbv8mirljgrvl1k8fp5gcnkps5wb"; depends=[dplyr DT httr shiny shinydashboard stringr]; };
   cronR = derive2 { name="cronR"; version="0.4.0"; sha256="0ydlwhlzb57vbr8ya6hdsw2mhsjkb01jspn0jw081anrxfy5m2jw"; depends=[digest]; };
-  crone = derive2 { name="crone"; version="0.1.0"; sha256="02k9n6ajfgxkpkssac788dvr4fwjakggh9dim9dzmw2nvir23cc8"; depends=[]; };
+  crone = derive2 { name="crone"; version="0.1.1"; sha256="03qznxml940rl3kfxy4jkg9nsx9ss0gf2ck0ry000xglw6rm2s42"; depends=[]; };
   crop = derive2 { name="crop"; version="0.0-2"; sha256="1yjpk7584wrz9hjqs21irjnrlnahjg8lajra9yfdp6r927iimg1l"; depends=[]; };
   cropdatape = derive2 { name="cropdatape"; version="1.0.0"; sha256="19bn0apx4p8hnz388zg7sq59qv89vv8k5php317kcv7ai2k2gh34"; depends=[]; };
   crossReg = derive2 { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
@@ -6237,7 +6458,7 @@ in with self; {
   crossrun = derive2 { name="crossrun"; version="0.1.0"; sha256="0br57nraqhs5f1cpidc8kd31izm82wvhiw9pxcdj9v51l9vifbmx"; depends=[Rmpfr]; };
   crosstalk = derive2 { name="crosstalk"; version="1.0.0"; sha256="0lfa89vhrzi7a1rghmygcjr8gzddw35sinb3jx6g49mc9jias7mk"; depends=[ggplot2 htmltools jsonlite lazyeval R6 shiny]; };
   crossval = derive2 { name="crossval"; version="1.0.3"; sha256="0acpcisg6pkxblyc4j9hiri58h1rn7ay43p5ib5ia8a4a8bnfa4p"; depends=[]; };
-  crosswalkr = derive2 { name="crosswalkr"; version="0.2.4"; sha256="1jn2l3b1ghb6rplj79n5p1wj044fl77v2r72vq5lcd6qxgfzv0rr"; depends=[dplyr haven labelled readr readxl tibble]; };
+  crosswalkr = derive2 { name="crosswalkr"; version="0.2.5"; sha256="1bzfcvyknbds64f31d8azl2s0spsrja9abmk5lnyvwr1v76hggwb"; depends=[haven labelled readr readxl tibble]; };
   crossword_r = derive2 { name="crossword.r"; version="0.3.6"; sha256="1s31613s4qxxspka9bhgq3rq8xraf48mwfv6phvz6v06gijh64lr"; depends=[dplyr jsonlite magrittr R6 r6extended stringr]; };
   crov = derive2 { name="crov"; version="0.1.3"; sha256="0gvrki9ldm3yrnp6zx2awqg4p3pqjzv1088gn3nbg00j0i3s9m5h"; depends=[gtools VGAM]; };
   crp_CSFP = derive2 { name="crp.CSFP"; version="2.0.2"; sha256="0gazmhf5bv994x441m2xm0w18h9lw3y68qzdf6gmyqimj4wjqjgf"; depends=[MASS]; };
@@ -6246,18 +6467,18 @@ in with self; {
   crrSC = derive2 { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
   crrp = derive2 { name="crrp"; version="1.0"; sha256="1fq54jr6avrli91a4z1hp5img4kghyw1yvjr5xyccsanf9i35x8r"; depends=[cmprsk Matrix survival]; };
   crrstep = derive2 { name="crrstep"; version="2015-2.1"; sha256="03vd97prws9gxc7iv3jfzffvlrzhjh0g6kyvclrf87gdnwifyn1z"; depends=[cmprsk]; };
-  crs = derive2 { name="crs"; version="0.15-31"; sha256="0h8hhxnyy8lf7jpnvriaa5dn3zgp1yqhfrnc5rpjlzsx2lnyyv9r"; depends=[boot np quantreg rgl]; };
-  crseEventStudy = derive2 { name="crseEventStudy"; version="1.1"; sha256="0xq8shwdiri8v35s016g1wfpgbpal4j8psazgwmi9h220rh5b6p5"; depends=[sandwich]; };
+  crs = derive2 { name="crs"; version="0.15-31.1"; sha256="1p16nnxskjf3fdrdm5y1n5zj0acyrmc73ff75rgry1b1fd4yk61x"; depends=[boot np quantreg rgl]; };
+  crseEventStudy = derive2 { name="crseEventStudy"; version="1.2"; sha256="1fgjj78p54fk0bkvx0fq1h7c5j4c64g10cdjzmmqhhxlyjwp5z7y"; depends=[sandwich]; };
   crskdiag = derive2 { name="crskdiag"; version="1.0.1"; sha256="0100wbyvchx6jwlrwc6rwhdjanips5c0f5zqzs2c0dgwygpqw30w"; depends=[cmprsk]; };
   crsnls = derive2 { name="crsnls"; version="0.2"; sha256="0rv0xrdl9ix6bhaf554gma8zf923w47f8j1dkbs8g6xjqjr1c40a"; depends=[]; };
   crso = derive2 { name="crso"; version="0.1.1"; sha256="1r10vz8z5y52a5v5phw22fhqwv9p7g66xfsx0906bcx74dn3f2b3"; depends=[foreach]; };
   crsra = derive2 { name="crsra"; version="0.2.3"; sha256="1rkqm88zmvp9gw442cby6qpvfw4pfw65wz0gyl2h37w87c3wwvrw"; depends=[digest dplyr knitr purrr rcorpora readr tibble tidytext]; };
   crtests = derive2 { name="crtests"; version="0.2.1"; sha256="0z8idz37dgwvi1q2vryldii7fn9yxd32gds77ml76jfplxbkikpd"; depends=[caret plyr stringr]; };
-  crul = derive2 { name="crul"; version="0.8.4"; sha256="12scs09qk9d7jrgs4fn98v4bvjdmphd5nqamb5d2wh387fnm1nfv"; depends=[curl httpcode jsonlite mime R6 urltools]; };
+  crul = derive2 { name="crul"; version="0.9.0"; sha256="1h1iyp625x2fx22dai9y0pmg64q65p9iiilkkd0qlr1ir9ljrd57"; depends=[curl httpcode jsonlite mime R6 urltools]; };
   crunch = derive2 { name="crunch"; version="1.26.1"; sha256="01ajcvn31nb8cdmqmalmxvp1pvh7nmd9fyg2fc1zm7yy3a2klp9l"; depends=[crayon curl httpcache httr jsonlite]; };
   crunchy = derive2 { name="crunchy"; version="0.3.1"; sha256="1qvwzym2hj61zjlm7j34j8jl5kfpkpx35xfjjyl5y35a5y50sz8g"; depends=[crunch httpcache miniUI rstudioapi shiny]; };
   cruts = derive2 { name="cruts"; version="0.5"; sha256="08mklbmwgaq6cf3hd40mingplwjss5im30l5j6nmy7lijp15nq7k"; depends=[lubridate ncdf4 raster sp stringr]; };
-  crypto = derive2 { name="crypto"; version="1.1.1"; sha256="1kcldvl1rm363ah46hna6lcv8fkc48gp4d1vm24iig8fmi5rxa4x"; depends=[cli crayon curl dplyr httr jsonlite lubridate progress rstudioapi rvest tibble tidyr xml2 xts]; };
+  crypto = derive2 { name="crypto"; version="1.1.2"; sha256="03cq0yg6110a4qfh0hzq7n6bclddkz1vbqjcjwn7v219nqamyrvm"; depends=[cli crayon curl dplyr httr jsonlite lubridate progress rstudioapi rvest tibble tidyr xml2 xts]; };
   cryst = derive2 { name="cryst"; version="0.1.0"; sha256="04da19dy3mkngd3ma44cd8cdkb5acjy9lbhfipa9flp339j1pp57"; depends=[flux pracma]; };
   csSAM = derive2 { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
   csabounds = derive2 { name="csabounds"; version="1.0.0"; sha256="15l7i15w5jk4h3148dlk8v2i4awns5vxvv6m59qcv0hzns6jhx9j"; depends=[BMisc ggplot2 pbapply progress qte]; };
@@ -6276,25 +6497,24 @@ in with self; {
   ctl = derive2 { name="ctl"; version="1.0.0-2"; sha256="1gpb43zn411l476dby2g38qkcvh2fsdcvbkr9jb274l1154km1xm"; depends=[MASS qtl]; };
   ctmcd = derive2 { name="ctmcd"; version="1.4.1"; sha256="01nflgdyb70kh4f8bnxpavr31fz4fh02kgz2nlx3zzblnm2idbcx"; depends=[coda expm numDeriv Rcpp RcppArmadillo]; };
   ctmcmove = derive2 { name="ctmcmove"; version="1.2.9"; sha256="1pxyxbbhfa8arqfb7qw10ya1b8hy9ylqbqqzys6d9dsixvdk98h0"; depends=[fda gdistance Matrix raster sp]; };
-  ctmle = derive2 { name="ctmle"; version="0.1.1"; sha256="1k9nr2xbaqrbpp31vdcnmpwyazcw79k0r3gbcbinva4pgv2psp29"; depends=[glmnet SuperLearner tmle]; };
-  ctmm = derive2 { name="ctmm"; version="0.5.6"; sha256="04jpmjlpnh8zmk6l14sll945s5bjgkcwnj11yq5297nbggl4wmsx"; depends=[data_table expm fasttime Gmedian gsl manipulate MASS numDeriv pbivnorm pracma raster rgdal shape]; };
+  ctmm = derive2 { name="ctmm"; version="0.5.7"; sha256="02i9k42raxy8ry1c4ydh96hfn1wvjp09yqppvlbhxbi56z9xj5ln"; depends=[data_table expm fasttime Gmedian gsl manipulate MASS numDeriv pbivnorm pracma raster rgdal shape sp]; };
   ctqr = derive2 { name="ctqr"; version="1.0"; sha256="1q4icv8qicgwr664cbrmkh2x9xmlrc80yvz8gnaqh86248kn4yp3"; depends=[pch survival]; };
-  ctrdata = derive2 { name="ctrdata"; version="0.18.2"; sha256="1nnqfg7x6wq5lzb4xxb52fb8ljxgnbwswfywv1d4ibcn7m5y0947"; depends=[clipr curl httr jsonlite mongolite rvest xml2]; };
   ctrlGene = derive2 { name="ctrlGene"; version="1.0.1"; sha256="0x7j11v7jj4k1jml6lrnjq79awhrvsm3pig1yxsd337jlfml3ra9"; depends=[psych]; };
-  cts = derive2 { name="cts"; version="1.0-22"; sha256="0kcbppfsx1hvnsz6nmj8frrqrglcr6cmasd1ma34qkqb9f6q0xry"; depends=[]; };
-  ctsem = derive2 { name="ctsem"; version="3.0.0"; sha256="1w8rw7wsgv6vdc1mvpan4yz0rx4nnrizv7n4371pkrnx1j7vj23j"; depends=[BH cOde data_table Deriv ggplot2 MASS Matrix mize mvtnorm OpenMx pkgbuild plyr Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  ctsem = derive2 { name="ctsem"; version="3.0.8"; sha256="1wwv4abnjxsp62yz09l1jpkzxk41cb0g651lx849hmw8j12z03an"; depends=[BH cOde data_table Deriv ggplot2 MASS Matrix mize mvtnorm OpenMx pkgbuild plyr quantreg Rcpp RcppEigen rstan rstantools StanHeaders]; };
   ctv = derive2 { name="ctv"; version="0.8-5"; sha256="0kl6z8dbbjgm29q0c5xy6lihjgf5cdihrllm27x0zbcvy8lyl51p"; depends=[]; };
   cubature = derive2 { name="cubature"; version="2.0.3"; sha256="0wvs80i4axj7pdcy9gjl08qzjbcjkldha94xy4gdxc34vgmh7gvr"; depends=[Rcpp]; };
-  cubeview = derive2 { name="cubeview"; version="0.1.0"; sha256="1gy023qnkxmkfmcrihjlwd504z7n3c4a8baxa2wkz0l45pf4y2c1"; depends=[base64enc htmltools htmlwidgets lattice raster viridisLite]; };
+  cubeview = derive2 { name="cubeview"; version="0.2.0"; sha256="1352hi2j9x9rx4iy3xvsca86nsh39x1vnymd17f5qc8c3plfm8db"; depends=[base64enc htmltools htmlwidgets lattice raster stars viridisLite]; };
   cubfits = derive2 { name="cubfits"; version="0.1-3"; sha256="0i2iybm9vpyqnahzka66yms1namdd36bz1i1yjy74qsc1h995rga"; depends=[coda foreach]; };
   cubing = derive2 { name="cubing"; version="1.0-5"; sha256="1q23fplvklaaldicqic0zpnh301m08zb9k21l47zj47g9m9pj4bc"; depends=[rgl]; };
   cultevo = derive2 { name="cultevo"; version="1.0.2"; sha256="0rmncp4mrdpf3izhhqn9406i36j3d3d7i8cglip04lkfbypl9jvy"; depends=[combinat Hmisc pspearman stringi]; };
   cumSeg = derive2 { name="cumSeg"; version="1.2"; sha256="0ix8g3w04n799pppyhyd365bdx9cwrgn7k7qljs1fdiq8s135wzk"; depends=[lars]; };
   cumplyr = derive2 { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
   cumstats = derive2 { name="cumstats"; version="1.0"; sha256="119w751z9dg6pjyk389pbl8ab8pirf9sqndi4nxi89ix2bby4xz8"; depends=[]; };
-  curl = derive2 { name="curl"; version="4.0"; sha256="0wb1j87fa2nd4a9x1w2nmc453nzvx6qiq8dviwc4jr36hsf9ra89"; depends=[]; };
+  cumulocityr = derive2 { name="cumulocityr"; version="0.1.0"; sha256="0ybvh5args3s1f3nra58bnfwgrlrdpw40by68az84s90v88bbz2q"; depends=[httr jsonlite]; };
+  curl = derive2 { name="curl"; version="4.3"; sha256="1nrf6md41b37j424y6rvifdj9zb3j14f60fj7q71k9jhpf2x81kl"; depends=[]; };
   currentSurvival = derive2 { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[cmprsk survival]; };
   curry = derive2 { name="curry"; version="0.1.1"; sha256="1ps9hvbnb02m0b8hlw4admwbziyjvswj08ldi2dk3ymnrpawcc29"; depends=[]; };
+  cursory = derive2 { name="cursory"; version="1.0.0"; sha256="0jyfp0i43fxh91n4s8r54hnzmq1y037176c8bv2q3fqjm1adibxy"; depends=[dplyr pkgcond purrr rlang tibble tidymargins tidyr tidyselect]; };
   curstatCI = derive2 { name="curstatCI"; version="0.1.1"; sha256="0igqdv0fzzji10gz3j3ir8qxpy7vdjfl137067rc28qzbrl2sy2c"; depends=[Rcpp]; };
   curvHDR = derive2 { name="curvHDR"; version="1.2-1"; sha256="1a6b29kklyphv9iirm8xaxcdfcssk7ah4wm9ll53ls0alnzb15nw"; depends=[feature geometry hdrcde KernSmooth ks misc3d ptinpoly rgl]; };
   curveDepth = derive2 { name="curveDepth"; version="0.1.0.9"; sha256="10mhy2nyll4d1q71qnlsal0raccz3awd0j0vi5w58di9wlv1c241"; depends=[ddalpha Rcpp RcppArmadillo]; };
@@ -6303,25 +6523,29 @@ in with self; {
   customLayout = derive2 { name="customLayout"; version="0.3.0"; sha256="0zarqsdcjy8cymwrb6648nil509q9rhmp4633sidmmjclpyjca2q"; depends=[assertthat flextable gridExtra officer RColorBrewer rvg]; };
   customizedTraining = derive2 { name="customizedTraining"; version="1.2"; sha256="0kjp22bzv7a3xynhm9xmabfcms21586p8caz1nk1w88qdvidqfqd"; depends=[FNN glmnet]; };
   customsteps = derive2 { name="customsteps"; version="0.7.1.0"; sha256="1v6ks8j1mj623yai515xnrpx60hvilbrsn59r3zw30n68555cvw8"; depends=[dplyr generics magrittr purrr recipes rlang tibble tidyselect]; };
-  cusum = derive2 { name="cusum"; version="0.3.0"; sha256="1vw23q5y4m2pc2kc3c1dk7cajzhrgsiz0bycb8zl7v9swyk642lp"; depends=[checkmate data_table Rcpp]; };
+  cusum = derive2 { name="cusum"; version="0.4.1"; sha256="0vjq3slkjdgls41xm637xkrg8jhv6y75xiyfcgpwrp32ixmakpcd"; depends=[checkmate data_table Rcpp]; };
   cutoffR = derive2 { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
-  cutpointr = derive2 { name="cutpointr"; version="0.7.6"; sha256="0mwpl807h8mdzlw710jngwimwgq4hns79mv2pd5lh36pd9s5qx6b"; depends=[dplyr foreach ggplot2 gridExtra purrr Rcpp rlang tibble tidyr]; };
+  cutpointr = derive2 { name="cutpointr"; version="1.0.0"; sha256="043gl2vr166cr0l7a33grya3cvg2ligsaimw43f3g5l4y2nsndj4"; depends=[dplyr foreach ggplot2 gridExtra purrr Rcpp rlang tibble tidyr]; };
   cuttlefish_model = derive2 { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
   cvAUC = derive2 { name="cvAUC"; version="1.1.0"; sha256="13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64"; depends=[data_table ROCR]; };
   cvGEE = derive2 { name="cvGEE"; version="0.3-0"; sha256="085qjm520l2441nakfxy851s6bfy5832b5fy54z5fp4xr1jn6snm"; depends=[]; };
   cvTools = derive2 { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase]; };
   cvar = derive2 { name="cvar"; version="0.4-0"; sha256="1rfsmw2a639pkj8l5g2xm6z48jrxsywbysk7c0czpdvrh4h9h84f"; depends=[fGarch gbutils Rdpack]; };
+  cvcqv = derive2 { name="cvcqv"; version="1.0.0"; sha256="0327r4jw6m4avcz1zvdkxszqwaw2s9sh1i1jagl6aggd7aaiiyg0"; depends=[boot dplyr MBESS R6 SciViews]; };
   cvcrand = derive2 { name="cvcrand"; version="0.0.4"; sha256="1150vn753m95gpc1clyf4xzzgwmnzdh83prw8a3ikps0l6grvrps"; depends=[tableone]; };
   cvequality = derive2 { name="cvequality"; version="0.2.0"; sha256="1im839vzfqylphp2vr20avnzkyl02n88fngbs63d4ik7c72d9992"; depends=[]; };
+  cvmdisc = derive2 { name="cvmdisc"; version="0.1.0"; sha256="19b9kxqgbk1d631l3jph87pzhk4zf3xd5q5j2xsrbqz8zmm96sn9"; depends=[CompQuadForm]; };
   cvmgof = derive2 { name="cvmgof"; version="1.0.0"; sha256="0rnd7icqjprhbpmn383ah4fi5nz0hmg88fa612fmivkvnpn79v6j"; depends=[lattice]; };
-  cvms = derive2 { name="cvms"; version="0.1.1"; sha256="11kszmhibds0axy0ha78bc6y1bwj19k93zirfp7a00c5hwvd3jnf"; depends=[AICcmodavg broom caret data_table dplyr ggplot2 lme4 mltools MuMIn plyr pROC purrr rlang stringr tibble tidyr]; };
+  cvms = derive2 { name="cvms"; version="0.3.2"; sha256="0k7v5m95dqanm8hb8j4jx4r4phxx8zrl9nagqampy2sgiwlld6wg"; depends=[broom caret data_table dplyr ggplot2 lifecycle lme4 mltools MuMIn plyr pROC purrr rlang stringr tibble tidyr]; };
   cvq2 = derive2 { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
   cvxbiclustr = derive2 { name="cvxbiclustr"; version="0.0.1"; sha256="00k75zy8v6qd5fg0h258i5z8ljjkfgkxz45cspysl1ap89d5n7df"; depends=[igraph Matrix]; };
   cvxclustr = derive2 { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[igraph Matrix]; };
+  cwbtools = derive2 { name="cwbtools"; version="0.1.0"; sha256="0wdg559y3bcrvw0f2gyhbkbvp8hc00qz1h3xnhb52qp9siq8r6pl"; depends=[curl data_table pbapply R6 RcppCWB stringi xml2]; };
   cwhmisc = derive2 { name="cwhmisc"; version="6.6"; sha256="1pf365g4f51cfrhlff9mqw2ddvkps0abax17zcn3vw1ba2djalnp"; depends=[lattice]; };
   cwm = derive2 { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
   cxhull = derive2 { name="cxhull"; version="0.2.0"; sha256="1m03ym83ghgmb0j14aihfj6divmnr13f5s9jwknicjsxz3p3divk"; depends=[]; };
   cxxfunplus = derive2 { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
+  cyanoFilter = derive2 { name="cyanoFilter"; version="0.1.2"; sha256="0nf76pwmgz9qp297dgp9qql4r8y468sa0mcy423hq13yp1swgx6w"; depends=[Biobase flowCore flowDensity RColorBrewer Rdpack stringr]; };
   cycleRtools = derive2 { name="cycleRtools"; version="1.1.1"; sha256="1l7w2lm4s149ndd85v41pkdrdig6l3nmhl14bdx56aw8q57fxmb0"; depends=[Rcpp xml2]; };
   cyclestreets = derive2 { name="cyclestreets"; version="0.1.5"; sha256="1wvg43wrnh0lz2pkkrbidzdsrkypdl2r4ccs9jhdsj8ixm158dvf"; depends=[httr jsonlite magrittr sf stringr]; };
   cyclocomp = derive2 { name="cyclocomp"; version="1.1.0"; sha256="0gky3svk02wiajw7nfjh30684h3qxili4bvsab0m7b6cggw6bgyd"; depends=[callr crayon desc remotes withr]; };
@@ -6332,23 +6556,23 @@ in with self; {
   cystiSim = derive2 { name="cystiSim"; version="0.1.0"; sha256="0pz8jxi4lgcwzrb4dh8xn63xhpaga5rzg5hwqicwv8isc16iqizd"; depends=[ggplot2 knitr magrittr]; };
   cytoDiv = derive2 { name="cytoDiv"; version="0.5-3"; sha256="00c0gqgypywgbhavb15bvj6ijrk4b5zk86w85n9kwr4069b7jvwc"; depends=[GenKern plotrix]; };
   cytofan = derive2 { name="cytofan"; version="0.1.0"; sha256="0gqs98mnwiawnyfb9hs5nlin8d1fj64bszn4b40gs8ajyh36r9pp"; depends=[ggplot2 RColorBrewer]; };
-  cytometree = derive2 { name="cytometree"; version="1.3.0"; sha256="031dzyah0xlgp2rrkardpvl8l7f3w4pzqb2i1yv707yj7y4yajhj"; depends=[cowplot ggplot2 igraph mclust Rcpp RcppArmadillo robustbase]; };
+  cytometree = derive2 { name="cytometree"; version="2.0.0"; sha256="1amyqnzaz8pb74s30dg1kgqnmwi66yx88cwai9x82pl9h2mcc9ki"; depends=[cowplot ggplot2 GoFKernel igraph mclust Rcpp RcppArmadillo]; };
   d3Network = derive2 { name="d3Network"; version="0.5.2.1"; sha256="1gh979z9wksyxxxdzlfzibn0ysvf6h1ij7vwpd55fvbwr308syaw"; depends=[plyr rjson whisker]; };
   d3Tree = derive2 { name="d3Tree"; version="0.2.0"; sha256="0xjr36hdd00dy8s8z1a1s44dn2wg0nm6yqc1rri2l0dqrbh4nrbn"; depends=[dplyr htmlwidgets magrittr plyr stringr]; };
   d3heatmap = derive2 { name="d3heatmap"; version="0.6.1.2"; sha256="1ici8j0wzzklhmw94qlxm292qs562vc32wq8mnjsas2n1p35vkmk"; depends=[base64enc dendextend htmlwidgets png scales]; };
   d3plus = derive2 { name="d3plus"; version="0.1.0"; sha256="0kadz83pals03n0v3zqhmhf6visigk52yn58xckhb57fid4xzj5w"; depends=[htmlwidgets magrittr]; };
-  d3r = derive2 { name="d3r"; version="0.8.6"; sha256="0vcmiyhd000xyl28k6rm7ba50x5sz5b2cpllxnq36q13qhdnqw6k"; depends=[dplyr htmltools tidyr]; };
+  d3r = derive2 { name="d3r"; version="0.8.7"; sha256="0xl3im76lp7pd5lhp8jfyqdm4j4zvjrx5a5fl81xv2cf7x3n4f2a"; depends=[dplyr htmltools tidyr]; };
   dChipIO = derive2 { name="dChipIO"; version="0.1.5"; sha256="1xrafw5h071d8rfqaic3gifc80jpiddjz5x6l2cr8kgjvph60gqh"; depends=[]; };
   dCovTS = derive2 { name="dCovTS"; version="1.1"; sha256="1pd50nfmfcqpi8zj20ngl0hc23qa4rabqhc1xci3ivyhs0valhsl"; depends=[doParallel energy foreach]; };
   dGAselID = derive2 { name="dGAselID"; version="1.2"; sha256="0da7fi872i3ycb3j5v4isr4x2z39a68w4mdq859zslmqhiqd43b6"; depends=[ALL Biobase genefilter MLInterfaces]; };
   dHSIC = derive2 { name="dHSIC"; version="2.1"; sha256="1c1xz1f1fp937w4rlylvqv3ii0p9dafvmn4fqq8rzxhcg5rn9j4l"; depends=[Rcpp]; };
-  dLagM = derive2 { name="dLagM"; version="1.0.15"; sha256="188hm82f6g0n3asj560kbxlqbhikvnn4a375ph1kd13zdijjyj3i"; depends=[AER dynlm formula_tools lmtest nardl plyr strucchange wavethresh]; };
+  dLagM = derive2 { name="dLagM"; version="1.0.19"; sha256="0bvzyv6hbs9n21gz2s24gmpzyxak6630j7dc9d6bzis1s2v08rda"; depends=[AER dynlm formula_tools lmtest MASS nardl plyr roll strucchange wavethresh]; };
   dMod = derive2 { name="dMod"; version="1.0.0"; sha256="1mj2a9hpfldxbsiggi27nz3w0klp7qwpplpwh4bi9ik25vll25a0"; depends=[cOde deSolve doParallel dplyr foreach ggplot2 plyr rootSolve stringr]; };
   dSVA = derive2 { name="dSVA"; version="1.0"; sha256="0vy0flyg82x0n9vw6jf9f76qy84sp0wnis91faj37ac5hdv3pvsb"; depends=[sva]; };
-  daarem = derive2 { name="daarem"; version="0.3"; sha256="006sm1npxi812x3yd8cnd1hrz85j44wn5vz3kid8hw5yxm10l6nn"; depends=[]; };
+  daarem = derive2 { name="daarem"; version="0.4"; sha256="00gcy23yzwsfxvys7hncgshma73df0wzwnxgwvccppn3z213sg50"; depends=[]; };
   dabestr = derive2 { name="dabestr"; version="0.2.2"; sha256="10vzp28bx4vf9jc3l9jjw94wir75j8h60lcncafbdwvxjh5alpfs"; depends=[boot cowplot dplyr ellipsis forcats ggbeeswarm ggforce ggplot2 magrittr rlang simpleboot stringr tibble tidyr]; };
   dad = derive2 { name="dad"; version="3.3.0"; sha256="1154jk4j1h5wr3c68pj0slh90jxccia28wpmygn9mz0mlvx9km9l"; depends=[DescTools e1071 lattice]; };
-  dae = derive2 { name="dae"; version="3.0-32"; sha256="0syv6kjnicb0x7sxbaavxhiv9mcqvc2zzbf4wyar933q3hzrxnrd"; depends=[ggplot2 plyr]; };
+  dae = derive2 { name="dae"; version="3.1-16"; sha256="089c19h5msq6j1hs2791x385g6nxgvhr89gxrgdybvwb8z2bbdwq"; depends=[ggplot2 plyr]; };
   daewr = derive2 { name="daewr"; version="1.1-7"; sha256="01n9g3adjk66wx9lm9gl6wa3y9ba5w0w0p5ayj8rx5ywxnm8fnvi"; depends=[BsMD FrF2 lattice]; };
   daff = derive2 { name="daff"; version="0.3.5"; sha256="00zcdf215m7p3xm9yv571v09znhdqacxg69hb5b5j749mp4wdsyj"; depends=[jsonlite V8]; };
   dafs = derive2 { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; };
@@ -6358,7 +6582,7 @@ in with self; {
   dam = derive2 { name="dam"; version="0.0.1"; sha256="1b0fi3l8jxgpr9fwvi03giq7wm39msbh0c82ffgkh54a3bbf5blc"; depends=[]; };
   damr = derive2 { name="damr"; version="0.3.4"; sha256="19rffdrgx9c03f66qgj1gwp5vra89n3jrrb54i9xl2rxsf28ry3h"; depends=[behavr data_table readr]; };
   dams = derive2 { name="dams"; version="0.2"; sha256="0hf5s8i61r5q4h3s8dfmdl3vkj7v15ha59pjvpjqx3yihsgziqz9"; depends=[RCurl]; };
-  dang = derive2 { name="dang"; version="0.0.10"; sha256="1q4378wvn0fmvm3gqb0si9x5sq0dh6mkxzhxbh570npjhb15p272"; depends=[]; };
+  dang = derive2 { name="dang"; version="0.0.11"; sha256="14bxzbkrqzs0ic7n4rlaa429lwdgldlcx97h8l7ma6jh8c0fx3qr"; depends=[]; };
   dani = derive2 { name="dani"; version="0.1-0"; sha256="05npr3i49wn01rbcsr1pfbb0d5l8c0pz48q961v28s6kdxp0vwr3"; depends=[Epi]; };
   dapr = derive2 { name="dapr"; version="0.0.3"; sha256="136chxijyxrl5sbiggxf56zga26zqds647z1z2igwn5mdff1wxyb"; depends=[]; };
   darksky = derive2 { name="darksky"; version="1.3.0"; sha256="1740cw5qifgvqa0nafd6lmllxi32n1zm45zlify1yn3h1qdcszhb"; depends=[ggplot2 gridExtra gtable httr plyr]; };
@@ -6366,13 +6590,13 @@ in with self; {
   darts = derive2 { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; };
   dashboard = derive2 { name="dashboard"; version="0.1.0"; sha256="1znqwvz49r47lp6q48qaas0s63wclgybav82a247qvcavzns3kip"; depends=[Rook]; };
   dat = derive2 { name="dat"; version="0.4.0"; sha256="1nw16hsw9b4hpcl5rqrlw6yk9y2h1pd0ra1c7iz82sknkyd5afi6"; depends=[aoos data_table dplyr Formula magrittr progress tibble]; };
-  data_table = derive2 { name="data.table"; version="1.12.2"; sha256="1x929lwhai6nkppm4zvicyw5qh5va5sizp86r30qnfkh1n7w2mfv"; depends=[]; };
-  data_tree = derive2 { name="data.tree"; version="0.7.8"; sha256="05svd1h70dn92imadw2djqqvchx30md74d4z6a00grkajj16cchb"; depends=[DiagrammeR R6 stringr]; };
+  data_table = derive2 { name="data.table"; version="1.12.6"; sha256="1kgbnm5gv7ax7qn8irpz7qsry2ci21axga8y7qpkidcqkxkkndn2"; depends=[]; };
+  data_tree = derive2 { name="data.tree"; version="0.7.11"; sha256="1mm27p3k2qw77wqrx05qs39nazcgpn0af0ahlps4gm62fs9pzddq"; depends=[R6 stringr]; };
   data_world = derive2 { name="data.world"; version="1.2.2"; sha256="1d9hh4965f2d0lwh2xxhnxzc948ailkjzdax3d3z9l8lakqfrx0h"; depends=[dwapi httr ini miniUI shiny stringi]; };
   dataCompareR = derive2 { name="dataCompareR"; version="0.1.2"; sha256="0n10dqnrlpwafxys68b3ly156235lhqby71qay0vb0r6bvl2g349"; depends=[dplyr knitr markdown stringi]; };
   dataMaid = derive2 { name="dataMaid"; version="1.3.2"; sha256="10c5b1xp1mca5h0vdqikfn549jf981xk7c2rcpq71rf0fng93qz6"; depends=[ggplot2 gridExtra haven htmltools magrittr pander robustbase stringi whoami]; };
   dataMeta = derive2 { name="dataMeta"; version="0.1.1"; sha256="13xxayqxbps07h0xr5b7sb7q30gy5zm7jzzaq4k20fskkjrzhzcm"; depends=[dplyr]; };
-  dataPreparation = derive2 { name="dataPreparation"; version="0.4.1"; sha256="0jxfvsx7wvsnhvlxb65a041pd3va7slryrblpbpj5xbnbdpyi4i7"; depends=[data_table lubridate Matrix progress stringr]; };
+  dataPreparation = derive2 { name="dataPreparation"; version="0.4.2"; sha256="12707zncdzsj05gw336g37qigbzq3iqmxx7agca32prx0mj39wdj"; depends=[data_table lubridate Matrix progress stringr]; };
   dataQualityR = derive2 { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; };
   dataRetrieval = derive2 { name="dataRetrieval"; version="2.7.5"; sha256="0aagj04x5792rp73h5lwvrx63nh739jn3cmhhrzchm9symq8x8mx"; depends=[curl httr jsonlite lubridate readr xml2]; };
   datacheck = derive2 { name="datacheck"; version="1.2.2"; sha256="1i3n5g1b6ix8gpn4c74s7ll1dbrllrzgpb1f3hk449d6p4kmisq6"; depends=[Hmisc shiny stringr]; };
@@ -6381,17 +6605,17 @@ in with self; {
   datadr = derive2 { name="datadr"; version="0.8.6.1"; sha256="1x8j34gj5c5arr1iqxfx8cs8hjapylvfjsnh4k6a34z65r83h93y"; depends=[codetools data_table digest dplyr hexbin magrittr]; };
   dataesgobr = derive2 { name="dataesgobr"; version="1.0.0"; sha256="10znkaq45m4bgiyjx4x8s6ilvxlry6h0z54pkg8jgmblrpfazmqb"; depends=[dplyr DT httr jsonlite readODS readr readxl shiny shinycssloaders shinyFiles shinyjs shinythemes stringi stringr yaml]; };
   dataframes2xls = derive2 { name="dataframes2xls"; version="0.4.7"; sha256="10krlv0l5w021z0qd7rj93pzfjjmcjlda4xz4vq470bxbjmn1bss"; depends=[]; };
-  datafsm = derive2 { name="datafsm"; version="0.2.2"; sha256="1q4vfvpvlp127lh6y2ls59gg8dg20syv0sqrwa7sfnml6ysb21q2"; depends=[caret GA Rcpp]; };
+  datafsm = derive2 { name="datafsm"; version="0.2.3"; sha256="18q6s8sz8bm2xlfvhj0x5sagpn363s3k21s428wd0bqzqlppwbmb"; depends=[caret GA Rcpp]; };
   datamap = derive2 { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
   datamaps = derive2 { name="datamaps"; version="0.0.3"; sha256="00pvns98miq56z3prbb5qg608d5ns9wbp0711x3mmqg0bld1xwmp"; depends=[htmlwidgets magrittr]; };
   datamart = derive2 { name="datamart"; version="0.5.2"; sha256="0c0l157fzkcp30ch4ymaalcx18zhz6sa5srr50w9izhbx3pmldxp"; depends=[base64 gsubfn markdown RCurl RJSONIO XML]; };
   dataonderivatives = derive2 { name="dataonderivatives"; version="0.3.1"; sha256="0q1zd1l7l0hmbs1bx469d706rmprjbz2f2dgcnfp9wxfgqpfxkz1"; depends=[assertthat httr lubridate readr tibble]; };
   dataone = derive2 { name="dataone"; version="2.1.2"; sha256="0rdn2jjqxkyf77xfbxy1zkdgrfhrcwd1dagidn0hynrldfj4r3iw"; depends=[base64enc datapack hash httr jsonlite parsedate plyr stringr uuid XML]; };
-  datapack = derive2 { name="datapack"; version="1.3.1"; sha256="0hzc68vgjvpm235zg8k2642c3jzh3ls9kp6lpz720y1b56q8k3n7"; depends=[digest hash redland uuid XML]; };
-  datapackage_r = derive2 { name="datapackage.r"; version="0.1.1"; sha256="1f5mm3cb2yz3dzxj26pp7w1rb8jccyj7zjl602d3mcfxc9d99643"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
+  datapack = derive2 { name="datapack"; version="1.3.2"; sha256="0v9m7fbzi1w5p3arb0ywl4yglyw87civc59ndqsdm8rp84gbvnbl"; depends=[digest hash redland uuid XML]; };
+  datapackage_r = derive2 { name="datapackage.r"; version="0.1.2"; sha256="0y4adfgdf2k04aaimxzj1fz50j6w6fqc8gvjls47nlqhi3dgmdav"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
   datapasta = derive2 { name="datapasta"; version="3.0.0"; sha256="022ci7iy683lh3fh13a4b3szzqp6j4fchil695bifhi0a34bnxyr"; depends=[clipr readr rstudioapi]; };
   datarium = derive2 { name="datarium"; version="0.1.0"; sha256="1v98yxsxhfqlalz5qy3x5axb7fy067vf3y0qg7ngixphmy9qybym"; depends=[]; };
-  datarobot = derive2 { name="datarobot"; version="2.14.1"; sha256="1k5rrwhbxa7x8j6mr35f7245ljxnvs219f2zhi5di4iljzy4phvy"; depends=[curl httr jsonlite yaml]; };
+  datarobot = derive2 { name="datarobot"; version="2.15.0"; sha256="1s3q83g8sjff7k0irv26kbnsd3h16hbw3qilqnvb9q824qza4psd"; depends=[curl httr jsonlite yaml]; };
   datasauRus = derive2 { name="datasauRus"; version="0.1.4"; sha256="1w1yhwwrmh95bklacz44wjwynxd8cj3z8b9zvsnzmk18m5a4k0fl"; depends=[]; };
   dataseries = derive2 { name="dataseries"; version="0.2.0"; sha256="11wc2p5m8qbdmkpbd21lpwl28a1dpab88c3gqyrhsn0298lpnip4"; depends=[]; };
   datasets_load = derive2 { name="datasets.load"; version="0.3.0"; sha256="13ywnqln831i5hlf1cpqcyc77blg99w8jvy8jic17z86fjxh4gim"; depends=[DT miniUI shiny]; };
@@ -6405,7 +6629,7 @@ in with self; {
   datetime = derive2 { name="datetime"; version="0.1.4"; sha256="0nn1yxknsn3crmwbkws5kvfjhd65dw0fkfbg67gba0dyaqp1jg37"; depends=[]; };
   datetimeutils = derive2 { name="datetimeutils"; version="0.3-0"; sha256="1f63vzinj39pf85bw9xa4szkwmy4d4rxxnqm1jd396ywppgxzn7c"; depends=[]; };
   datoramar = derive2 { name="datoramar"; version="0.1.0"; sha256="0zq6vhq6dmsyagmqrmb85z6fy9qhwra3s3iasr3jgc4ryr009pml"; depends=[httr jsonlite tibble]; };
-  datos = derive2 { name="datos"; version="0.1.0"; sha256="01pfvdz9vy4dqjb90j8bz39nvnk5ql6yags1nip4049999w1lswk"; depends=[tibble yaml]; };
+  datos = derive2 { name="datos"; version="0.2.0"; sha256="0ndwgqh8jvnl328k4zg2mn8j6nvz9526jk6h10y676v2pffcfgvw"; depends=[dplyr rlang yaml]; };
   datr = derive2 { name="datr"; version="0.1.0"; sha256="0sqwhn6zdaq8i45ry207mpbda1djjaxp9mcn13hi5wkry6z0bmlr"; depends=[devtools]; };
   datrProfile = derive2 { name="datrProfile"; version="0.1.0"; sha256="1bhyk3xjgwf92i765z3bkdnzkxg8fshriz9r6m371q1c75xysfil"; depends=[dplyr odbc RSQLite]; };
   dave = derive2 { name="dave"; version="2.0"; sha256="1rraphpp34czyjj15xzvj1ihlnqzcppqls9n2g85n49zv0n1ngn8"; depends=[cluster labdsv nnet tree vegan]; };
@@ -6414,39 +6638,41 @@ in with self; {
   dbConnect = derive2 { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[gWidgets RMySQL]; };
   dbEmpLikeGOF = derive2 { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
   dbEmpLikeNorm = derive2 { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
+  dbarts = derive2 { name="dbarts"; version="0.9-13"; sha256="1i9f1nc1ky6bav639x6kgszy91986q2m64147icdiv4diijzdcfx"; depends=[]; };
   dbfaker = derive2 { name="dbfaker"; version="0.1.0"; sha256="00n2z4q5drpg26pw826i16rg07m7w66a0r466q2lrl14hxs4rcaq"; depends=[assertive DBI dplyr foreach parsedate RPostgreSQL tidyr]; };
-  dbhydroR = derive2 { name="dbhydroR"; version="0.2-7"; sha256="1yp3n8hw2dc1ar3nz5k5zvj7s8f1bjckxrd0jnbxv73il75gx4k0"; depends=[httr reshape2 XML]; };
+  dbflobr = derive2 { name="dbflobr"; version="0.0.1"; sha256="1j97gwmqr8mv05yfd1dxm0v3l0vxrjrqf0drvkms2nja5asbhinq"; depends=[checkr DBI flobr glue RSQLite]; };
   dblcens = derive2 { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
   dblr = derive2 { name="dblr"; version="0.1.0"; sha256="0wzmhmp706mw0pkh81nsb7qzclwyhm6f2mjvpvz043ng5xrxwvvw"; depends=[CatEncoders data_table Metrics xgboost]; };
   dbmss = derive2 { name="dbmss"; version="2.7-0"; sha256="0fhvbn5v4b5n447hwljdzwfb68bpmrskwd7ni1vpqwcbix903rm4"; depends=[cubature ggplot2 Rcpp RcppParallel reshape2 spatstat spatstat_utils]; };
-  dbparser = derive2 { name="dbparser"; version="1.0.3"; sha256="1yv4nbaigc9x0p8s68i4nkmvrp23qpd2awraks4d3pnmwc2jy94b"; depends=[DBI odbc purrr tibble tidyr XML]; };
+  dbparser = derive2 { name="dbparser"; version="1.0.4"; sha256="0s69da7czznnmv2kgipss1cdklx5ijh0q5aa2lg2gx3an1rjbgp2"; depends=[DBI odbc purrr readr RMariaDB tibble tidyr XML]; };
   dbplot = derive2 { name="dbplot"; version="0.3.2"; sha256="0xw1zjvf1fa092kyryq2pk7dd4y60ka8yczaxk0f231mmsm1741p"; depends=[dplyr ggplot2 purrr rlang]; };
   dbplyr = derive2 { name="dbplyr"; version="1.4.2"; sha256="1q2dflr88s5a1amzfld3087q422vf70052qn84zyd8895kdg10xp"; depends=[assertthat DBI dplyr glue purrr R6 rlang tibble tidyselect]; };
-  dbscan = derive2 { name="dbscan"; version="1.1-3"; sha256="1q0vlrp0abzci2zsjgh7jp3sk1wflcvwjmy9fp0gsay8sgdcixgk"; depends=[Rcpp]; };
+  dbscan = derive2 { name="dbscan"; version="1.1-5"; sha256="1vh29nmmana2755zcy15i1mhj3amwc2r84cq9d71wqr7ygzynphk"; depends=[Rcpp]; };
   dbstats = derive2 { name="dbstats"; version="1.0.5"; sha256="0pr80mx8y87l96hhg0rp3ajxl7yx2f8qr0y1zrjkbzxavjmp9k34"; depends=[cluster pls]; };
   dbx = derive2 { name="dbx"; version="0.2.5"; sha256="1g1pm0zw667m0wdzndak1qzym527lcl6gmdfzi5b3rlinkk2y0s2"; depends=[DBI]; };
   dc3net = derive2 { name="dc3net"; version="1.2.0"; sha256="19ibsvbnq6y88vqvgkm31zrqwjhpml59d792bz0zkk50r1q5bnyr"; depends=[c3net igraph RedeR]; };
   dcGOR = derive2 { name="dcGOR"; version="1.0.6"; sha256="0rvwa25r23yayx1i6xhkfaw2z85d2iyfx3slg3aq1m0fa7kj380p"; depends=[dnet igraph Matrix]; };
   dcemriS4 = derive2 { name="dcemriS4"; version="0.55"; sha256="15x4hjc5fwpn80h90q5x9a3p84pp3mxsmcx4hq5l0j52l9dy9nv3"; depends=[oro_nifti]; };
   dclone = derive2 { name="dclone"; version="2.3-0"; sha256="0w1bhzsnmnhsrrw5ffm89pj2wy2fmx14y7g6b1mb2wlwbczjzzsh"; depends=[coda Matrix rjags rstan]; };
+  dclust = derive2 { name="dclust"; version="0.1.0"; sha256="1icfx52v3g7kkkc11pw0xlrc8dlx5q3n2zbrd3fccmw17jzxqbg7"; depends=[openssl phylogram]; };
   dcminfo = derive2 { name="dcminfo"; version="0.1.7"; sha256="03r0ynzc5cck2rz20zbg5zx8v6s66ivizqav1pjkyvp6kxkmnf8q"; depends=[CDM]; };
   dcmle = derive2 { name="dcmle"; version="0.3-1"; sha256="1d6zk9413h30wcw8q1gnjzk67vshmjcpnh8zjxrsh1h69i1z6rpy"; depends=[coda dclone lattice]; };
   dcmodify = derive2 { name="dcmodify"; version="0.1.2"; sha256="093rh3r3n0wjdpx861xiqd1zqd5v1v9rzxgcynz4awr7jbm5xszi"; depends=[settings validate yaml]; };
   dcurver = derive2 { name="dcurver"; version="0.9.1"; sha256="1cfy0j3rmi3laszrgd3i59cfy4xfs2p6h9dcwbkwq6wnshrpypfn"; depends=[Rcpp RcppArmadillo]; };
   dcv = derive2 { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
-  ddalpha = derive2 { name="ddalpha"; version="1.3.9"; sha256="1vzs0cvl6xw3h9i00rg3hs02xwgxcnh8326y10kxmhs3qq4m7nb2"; depends=[BH class geometry MASS Rcpp robustbase sfsmisc]; };
+  ddalpha = derive2 { name="ddalpha"; version="1.3.10"; sha256="1064g7y8d7kmvd5kjc2m48yvidmh2ci1y0xgil3pcx4ix6mf0ljz"; depends=[BH class geometry MASS Rcpp robustbase sfsmisc]; };
   dde = derive2 { name="dde"; version="1.0.0"; sha256="0fsj7n66j0dhp65c6f9k0dsrkklj1hy4w376j150f91jc7m3wliv"; depends=[ring]; };
   ddiv = derive2 { name="ddiv"; version="0.1.0"; sha256="1r2sxlkw1vxf2svdi1nary3hb7c5k1b4j820mj268r9swmy632ch"; depends=[MASS segmented]; };
-  ddpca = derive2 { name="ddpca"; version="1.0"; sha256="02dfpx696canbdyiz6fn9qk5qrn53ghv2asa6737l59xs92rzdm2"; depends=[MASS Matrix quantreg RSpectra]; };
+  ddpca = derive2 { name="ddpca"; version="1.1"; sha256="1qsanid7sr2nc9pwzyz4cbjc1vg0rj255d3rnh1rb22agrgj2bc1"; depends=[MASS Matrix quantreg RSpectra]; };
   ddpcr = derive2 { name="ddpcr"; version="1.11"; sha256="0slfgxp223mnn0f9k72p58m2frnp4c1dvdwsv5fwxw0h022wcrwr"; depends=[dplyr DT ggplot2 lazyeval magrittr mixtools plyr readr shiny shinyjs]; };
-  ddsPLS = derive2 { name="ddsPLS"; version="1.0.61"; sha256="18q2mzpn0h93bxx1igms379nfs1d28jdngd8y5gcsjyway5yi392"; depends=[doParallel foreach MASS RColorBrewer Rdpack]; };
+  ddsPLS = derive2 { name="ddsPLS"; version="1.1.1"; sha256="03vi7dwg24sa3bmwkhvvw8x0vll2i59zlqa5w17fs9c7cbc77w3y"; depends=[corrplot doParallel foreach MASS RColorBrewer Rcpp Rdpack]; };
   ddst = derive2 { name="ddst"; version="1.4"; sha256="1y0immm337adkd2bjx8c5pf02w9wysv3gj26f4qf0jiba0f2wk8n"; depends=[evd orthopolynom]; };
   deBInfer = derive2 { name="deBInfer"; version="0.4.2"; sha256="108vijk71sgsj14hwfv78r4lnn68cybvnpr92zvrvl0d82b7qxfd"; depends=[coda deSolve MASS mvtnorm PBSddesolve plyr RColorBrewer truncdist]; };
   deGradInfer = derive2 { name="deGradInfer"; version="1.0.0"; sha256="1wl1pw1rwins4gr47a8ii4diw6wd6cx8ib4l5bhri5f3crbw7l86"; depends=[deSolve gdata gptk]; };
-  deSolve = derive2 { name="deSolve"; version="1.24"; sha256="0hkvspq0fp8j64l9zayab2l2nazazhwfgfym0jllh0xv5a12r99s"; depends=[]; };
+  deSolve = derive2 { name="deSolve"; version="1.25"; sha256="0735y3p5glhqx69rzrc8qgmvs7p7w0p98qxmvylb6bgqp6kp0cbp"; depends=[]; };
   deTS = derive2 { name="deTS"; version="1.0"; sha256="08yq7vfcd8fv8qw2w0f1rnj3rzys9kslmkqspmiz6prmzqvj1zf1"; depends=[pheatmap RColorBrewer]; };
-  deTestSet = derive2 { name="deTestSet"; version="1.1.5"; sha256="07wbgniwkpp0yry6wvchvszr8isxs1i9k6km951r5c009w1iviwk"; depends=[deSolve]; };
-  deaR = derive2 { name="deaR"; version="1.1.0"; sha256="0q36cfjb1vypn2d581rpfilzspvxmfb97phcnvp2w6l98kx8gcvj"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
+  deTestSet = derive2 { name="deTestSet"; version="1.1.7"; sha256="0l73c0lwmbpg9prwy3hyd4m9q8r6689pdm47agyv59vj0839s25p"; depends=[deSolve]; };
+  deaR = derive2 { name="deaR"; version="1.2.0"; sha256="1p3lsck0zwzfgjxyvzgvxig9g5p7i67pf71hrhzpmkxvafafx9jw"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
   deadband = derive2 { name="deadband"; version="0.1.0"; sha256="02pq3d0l0wy8bdlyfir3zf46j1ascx4qajyq5cf28yl62q6ngq5d"; depends=[TTR]; };
   deal = derive2 { name="deal"; version="1.2-39"; sha256="0sw0v1mm004ky1gjw3dmvf2vb7nf2j9s9386bhqxijw63j7xnjd3"; depends=[]; };
   deamer = derive2 { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
@@ -6454,7 +6680,7 @@ in with self; {
   debugr = derive2 { name="debugr"; version="0.0.1"; sha256="0lfq0s0hibd00558vl3dmvrkzxjc7q62xr8sqzai0pv9a9lhixcn"; depends=[rprojroot rstudioapi]; };
   decido = derive2 { name="decido"; version="0.2.0"; sha256="17myg67qry1sbd1scv9bbvdh67fpcnqcb6r8n0kajdxb96vnlqk0"; depends=[Rcpp]; };
   decision = derive2 { name="decision"; version="0.1.0"; sha256="13d0yyg5zp7n3r92l0l1dsffxfph6vacrlzga9rz41l5pja72z6g"; depends=[]; };
-  decisionSupport = derive2 { name="decisionSupport"; version="1.103.8"; sha256="1xp97v22ar4nsv2q4di6rqfin7pa7a6zqw5d1zmm5aqxfi07nc4x"; depends=[chillR msm mvtnorm nleqslv rriskDistributions]; };
+  decisionSupport = derive2 { name="decisionSupport"; version="1.105.2"; sha256="095qwgsw6y1clv2hyjr56s2wg8q1nhd22ikh9b3l2mcsw2xdzvjy"; depends=[chillR fANCOVA ggplot2 msm mvtnorm nleqslv rriskDistributions]; };
   deckgl = derive2 { name="deckgl"; version="0.1.8"; sha256="0nm9jf166343sd01mchw2v6qpsfjgdhf6zd2p92rqyhp9k0hq5lv"; depends=[base64enc htmltools htmlwidgets jsonlite magrittr readr tibble yaml]; };
   decode = derive2 { name="decode"; version="1.2"; sha256="1qp0765gl3pgfdzjwj7icf3zminxxmrlw6gx3vj51y6c2y5ws4as"; depends=[]; };
   decoder = derive2 { name="decoder"; version="1.1.13"; sha256="1kpcx754djfr8y0flpa1hrr92s0wbxw23rlvb6q3k9absvdvvmg6"; depends=[backports]; };
@@ -6487,7 +6713,7 @@ in with self; {
   demogR = derive2 { name="demogR"; version="0.6.0"; sha256="06x82ffbdv6ifl8xh52d3npdwha67v1ylfjp78j5pa4wdqkg221b"; depends=[]; };
   demography = derive2 { name="demography"; version="1.22"; sha256="1m15capbfknr4rqxmfgj1vb7rmgambk6r9ic37149525sg7wn3j6"; depends=[cobs forecast ftsa mgcv rainbow RCurl strucchange]; };
   demu = derive2 { name="demu"; version="0.2.0"; sha256="0prfl2i3q2n5f4qpvkksyi8qvwj2fd9v82cr6val7abvcvbn9276"; depends=[ClusterR fields Matrix Rcpp RcppArmadillo spam]; };
-  dendextend = derive2 { name="dendextend"; version="1.12.0"; sha256="0mgsc9qkr5p6hss3wychdjvk263ay48yx543wawj72l7q7cgx1xl"; depends=[ggplot2 magrittr viridis]; };
+  dendextend = derive2 { name="dendextend"; version="1.13.2"; sha256="1iclvd9cyckd4djpa87ynm05fk6zl4b4m735za1w4irimc130m3r"; depends=[ggplot2 magrittr viridis]; };
   dendroTools = derive2 { name="dendroTools"; version="1.0.6"; sha256="0y323sa1ccp6sr95rs9chm4mwxxja9dhjvg67lac2lf41a6yg5yb"; depends=[boot brnn Cubist dplyr ggplot2 gridExtra knitr lubridate magrittr MLmetrics oce plotly psych randomForest reshape2 scales]; };
   dendroextras = derive2 { name="dendroextras"; version="0.2.3"; sha256="0hb7crbgsnbcwvbk05iz5ik45n7zgysmwjj6xc46131yd8l0i1qx"; depends=[]; };
   dendrometeR = derive2 { name="dendrometeR"; version="1.0.0"; sha256="1par27ipgbfbrmdlwvkf82i5dgnfrcawmavakrf8lplin2hhb7gs"; depends=[forecast pspline zoo]; };
@@ -6500,11 +6726,11 @@ in with self; {
   densityClust = derive2 { name="densityClust"; version="0.3"; sha256="1zry0vafajzmr37aylglxfvwplhdygbkb9cvzvh8cy0xgnjrnx13"; depends=[FNN ggplot2 ggrepel gridExtra RColorBrewer Rcpp Rtsne]; };
   densratio = derive2 { name="densratio"; version="0.2.1"; sha256="0x333kfx5mdzzjsqy37j4bmv9iddlgp3wi4774lx8d159lbr6irp"; depends=[]; };
   denstrip = derive2 { name="denstrip"; version="1.5.4"; sha256="0hzxphj740q6pfa1q42knr7n12bmnawg7b2fs74msxn83dka5cmq"; depends=[lattice]; };
-  denvax = derive2 { name="denvax"; version="0.1.0"; sha256="0r8w5b80abrbf0qyvlhl0byv3d8lic9jydlisk5yyccfv8wrh1xf"; depends=[]; };
+  denvax = derive2 { name="denvax"; version="0.1.2"; sha256="0a8x7z7jagshc5h6xy24xrvqv0gm08f78ik6y8ki4i0mhl8c5fyx"; depends=[]; };
   depend_truncation = derive2 { name="depend.truncation"; version="3.0"; sha256="1jym52qxx8v4kbq2578d03q2593q96jccr85if47djikw0aaxmcr"; depends=[mvtnorm]; };
   depmix = derive2 { name="depmix"; version="0.9.15"; sha256="1dnps6s5bfa834akjgx4zbg49danpy54mhiz1kjb4nmrnlb0zq7q"; depends=[MASS]; };
   depmixS4 = derive2 { name="depmixS4"; version="1.4-0"; sha256="0v8hvkg7ia7c6a0x7rw5fddm06vv1n0kwjk7g0kj3g18chvpnvw2"; depends=[MASS nlme nnet Rsolnp]; };
-  depth = derive2 { name="depth"; version="2.1-1"; sha256="17fxv4a5fbb65p7kmb4iakik5ng6401y7gmknkfr66fmjq65i1sm"; depends=[abind circular rgl]; };
+  depth = derive2 { name="depth"; version="2.1-1.1"; sha256="0szy0027nh4ps1z919i740i50app5q7cfyg1fj7pdyl45nbl8k6m"; depends=[abind circular rgl]; };
   depth_plot = derive2 { name="depth.plot"; version="0.1"; sha256="0zjg9iyqmcnkvwc9w2j7lmk3k9nsg6n8m6vq5x44d1bp4g2gr6jv"; depends=[mvtnorm]; };
   depthTools = derive2 { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
   dequer = derive2 { name="dequer"; version="2.0-1"; sha256="04kzlff8xa733qkkx0gacgig7d4l7yvgqmzva0mj8di12byh214p"; depends=[]; };
@@ -6522,27 +6748,30 @@ in with self; {
   designGG = derive2 { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; };
   designGLMM = derive2 { name="designGLMM"; version="0.1.0"; sha256="0ya246mqclkhg8cq6f5mzqn67qks22f3fribyjcvhrx395n0f21v"; depends=[]; };
   designmatch = derive2 { name="designmatch"; version="0.3.1"; sha256="0px6iyqik4sfs25yybamvf3ay0vd6r75acj8hin76jl6l7fwk30f"; depends=[lattice MASS Rglpk slam]; };
+  designr = derive2 { name="designr"; version="0.1.8"; sha256="04sd4av05rq4cwfx27rg0ig6maq4qiwr1q63wf9x7777q5r9zkg1"; depends=[crossdes dplyr MASS tibble]; };
   desirability = derive2 { name="desirability"; version="2.1"; sha256="094gxvp6a60lfcc0a0gk9rv1p6ajnzq9m58sy8cvhcj5337g4fmk"; depends=[]; };
   desire = derive2 { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
-  desplot = derive2 { name="desplot"; version="1.5"; sha256="0macg3ds79jl2v44arfhbb26i8yk19cz4jn04raml8758829caql"; depends=[ggplot2 lattice reshape2]; };
+  desplot = derive2 { name="desplot"; version="1.6"; sha256="1vxczs14afsapagvvsvcwi9ar3z74szs0m1g14zqkkkd47h3cij3"; depends=[ggplot2 lattice reshape2]; };
+  details = derive2 { name="details"; version="0.1.2"; sha256="03b0wz03mqwna5n3gkcidrcwbagdky43m6pg8wdk6y384r6r1l14"; depends=[clipr desc httr knitr magrittr png withr xml2]; };
   detect = derive2 { name="detect"; version="0.4-2"; sha256="03xzv13y2l15afyp00lgvbh51vxg1jaakxjcbnsxzdgb11039x2g"; depends=[Formula Matrix pbapply]; };
-  detectRUNS = derive2 { name="detectRUNS"; version="0.9.5"; sha256="0w4pz7waaabgsb47xcmgiz8bzlrs2a83y3v6j7bqb5125y1wn8hw"; depends=[data_table ggplot2 gridExtra iterators itertools plyr Rcpp reshape2]; };
+  detectRUNS = derive2 { name="detectRUNS"; version="0.9.6"; sha256="0yl1x0jz66hingbl094picsiyrxzxvnz0grq63rva6nwn7pv1c0b"; depends=[data_table ggplot2 gridExtra iterators itertools plyr Rcpp reshape2]; };
   detector = derive2 { name="detector"; version="0.1.0"; sha256="010i063b94hzx7qac8gpl67gmk7hzgqm9i1c7pbbw4la3wcd9lz7"; depends=[stringr]; };
   detpack = derive2 { name="detpack"; version="1.1.3"; sha256="1mk2k9akagz7knd4n5p8nxkmnm2mdv9izk4i5yl2v9nv5v39mc4h"; depends=[]; };
   detrendeR = derive2 { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
   detrendr = derive2 { name="detrendr"; version="0.6.4"; sha256="0n7mrh05y5jg2y77xv25yadw01lr8ms5ki32i32k38zlc635c1sl"; depends=[assertthat autothresholdr checkmate doParallel dplyr filesstrings foreach fs glue ijtiff iterators magrittr matrixStats plyr purrr Rcpp RcppParallel rlang sigmoid stringi stringr withr]; };
   detzrcr = derive2 { name="detzrcr"; version="0.2.6"; sha256="0ip4fywrpq8gf4xy0h302l5hpbgg0f9xi3lrnbzqm3701bas3c7m"; depends=[ggplot2 MASS shiny]; };
-  devEMF = derive2 { name="devEMF"; version="3.6-3"; sha256="1zyap005md3ylg0d84fkjj3m024j8gmaz310dymgv9zw7hwfb7x7"; depends=[]; };
+  devEMF = derive2 { name="devEMF"; version="3.7"; sha256="0fv44y440xr52xymh1zyrryf7xrkm9lbs3qgybwfzz0ssx2iy6al"; depends=[]; };
   devFunc = derive2 { name="devFunc"; version="0.1"; sha256="0f2s5gssk9napmah7zcss1rnh7pzlq90gzwcnvyr9rrq6k118n8q"; depends=[plyr stringr]; };
   devRate = derive2 { name="devRate"; version="0.1.10"; sha256="0c5hg98w83d02lvb7rbgx8c24li58vpxjy71if337p7cyzzd1lqg"; depends=[]; };
   devoid = derive2 { name="devoid"; version="0.1.0"; sha256="1aq7yyfpid3r41c6v5v92im2iq9m3d7gnisc9rkc9zpjfpbpzpx8"; depends=[]; };
-  devtools = derive2 { name="devtools"; version="2.1.0"; sha256="0393v7nr22gr5g9afgrhq4ab3lwbqy6fd3shnmlhdpqam5357xy1"; depends=[callr cli digest git2r httr jsonlite memoise pkgbuild pkgload rcmdcheck remotes roxygen2 rstudioapi sessioninfo testthat usethis withr]; };
-  dexter = derive2 { name="dexter"; version="0.8.5"; sha256="0q7b6ffmz5hfyr0m4b942rxn4xvmdmi84w92d6r8k6m85cgxdy1b"; depends=[colorspace DBI dbplyr dplyr DT fastmatch RColorBrewer rlang rprintf RSQLite shiny shinyBS shinydashboard tibble tidyr]; };
-  dexterMST = derive2 { name="dexterMST"; version="0.1.1"; sha256="0i9y5qngg85x6h9zm4rf8p7fydl3s72rmc2bh3qpb9vc8js99m35"; depends=[crayon DBI dbplyr dexter dplyr fastmatch igraph Rcpp rlang RSQLite tibble tidyr]; };
-  dextergui = derive2 { name="dextergui"; version="0.1.6"; sha256="1brkkq140z3dv0xflw0dinww2nja9c6iajqv0a0l0m13r1c5caja"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets igraph jsonlite networkD3 RColorBrewer RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
+  devtools = derive2 { name="devtools"; version="2.2.1"; sha256="0i2f549hxkn0j1x1avkhwy68c9r48v9284j7x9cak2q6dfsqz61f"; depends=[callr cli covr crayon desc digest DT ellipsis git2r glue httr jsonlite memoise pkgbuild pkgload rcmdcheck remotes rlang roxygen2 rstudioapi rversions sessioninfo testthat usethis withr]; };
+  dexter = derive2 { name="dexter"; version="1.0.1"; sha256="1b6nlnp9m5lvd7cxrzx246q4n2b3jqqi8a4cask1sskldgq1pnfc"; depends=[DBI dplyr MASS Rcpp RcppArmadillo rlang RSQLite tidyr]; };
+  dexterMST = derive2 { name="dexterMST"; version="0.1.2"; sha256="1h56dr2z2pzi4zdy3dmyb2vg2jg1v5602c497khkvrbr7qfx8zra"; depends=[crayon DBI dbplyr dexter dplyr fastmatch igraph Rcpp rlang RSQLite tibble tidyr]; };
+  dextergui = derive2 { name="dextergui"; version="0.2.1"; sha256="1c92j70zihzsqi83rs7hgnp70qgg6y0hdcs3gxin80grsihj1frw"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets jsonlite networkD3 RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
   df2json = derive2 { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; };
   dfCompare = derive2 { name="dfCompare"; version="1.0.0"; sha256="1lhx69j0bkjbnp5jz23hrbxjcf04vf3big4k593ixz003xs2077f"; depends=[]; };
   dfConn = derive2 { name="dfConn"; version="0.2.1"; sha256="03yl00mqj6r7p2xmrwam2chgqlq4qpfcm85n4b3b41vrm27xg11g"; depends=[data_table doParallel fields foreach ggplot2 gplots gtools nlme Rcpp RcppArmadillo stringr]; };
+  dfadjust = derive2 { name="dfadjust"; version="1.0.0"; sha256="17x6vnj1b7b9lrkn5a1nlgccpw77y9bhkrwv24hh7wji84gn8j76"; depends=[]; };
   dfcomb = derive2 { name="dfcomb"; version="3.0-0"; sha256="1vsqlhmajv33nbnh8igisyv3rzzh2fdwbk5y0zlnrwvr79r19k5w"; depends=[BH Rcpp RcppProgress]; };
   dfcrm = derive2 { name="dfcrm"; version="0.2-2.1"; sha256="01rn3zvi9xljmx48lkclckhnixian1vwq1frr8n784dsclp86spg"; depends=[]; };
   dfexplore = derive2 { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; };
@@ -6554,7 +6783,7 @@ in with self; {
   dfpk = derive2 { name="dfpk"; version="3.5.1"; sha256="010rlxj66ar3y61fnm7ys3p6aimlr8ylqq4q4flzr9m88klz8701"; depends=[BH dfcrm ggplot2 PK Rcpp RcppEigen rstan StanHeaders]; };
   dga = derive2 { name="dga"; version="1.2"; sha256="13mfampnghcs5xplzq69bw948lqhw561pn54j3gb0ydsg5bm5vmr"; depends=[chron]; };
   dggridR = derive2 { name="dggridR"; version="2.0.3"; sha256="1gdwxrl5c5mprfk7rx5mk8davi4mmg1crccxaaipnbnsilg9j9vh"; depends=[dplyr ggplot2 Rcpp rgdal sp]; };
-  dglars = derive2 { name="dglars"; version="2.1.2"; sha256="1wp3g23rcrd386hh9xs3yha4fbzxzvlw0gp29ljp6ilf3wzx140k"; depends=[Matrix]; };
+  dglars = derive2 { name="dglars"; version="2.1.4"; sha256="1yvw6k0rspaqj42dnnkj828las5v83hqd3db6h94ydcs05n6ym06"; depends=[Matrix]; };
   dglm = derive2 { name="dglm"; version="1.8.3"; sha256="0vj4vddqcrjzgqsi6zsxm22gj5pa5dm50wcxip4vi8kbwxaahnaj"; depends=[statmod]; };
   dgmb = derive2 { name="dgmb"; version="1.2"; sha256="1r5md917wipx78n63x87fpvsc3h87c68cpacrrs9dhss199p1a5k"; depends=[abind MASS]; };
   dgo = derive2 { name="dgo"; version="0.2.15"; sha256="16z3vag1fwsnmynqh0zpwq5qp5ac3xf4787lwqy7asx8qgcc3wmw"; depends=[assertthat data_table dgodata ggplot2 lubridate R6 rstan survey]; };
@@ -6570,7 +6799,7 @@ in with self; {
   diagram = derive2 { name="diagram"; version="1.6.4"; sha256="0f6ffprn5k0ir1s7m9s7izc64aa17r3gnygagz5bihrlsvawaavw"; depends=[shape]; };
   dialr = derive2 { name="dialr"; version="0.3.0"; sha256="1wdl3m6mlpxhy75kyzxypf053n2zaf8skk0xq1m4gklq4disbg32"; depends=[dialrjars rJava]; };
   dialrjars = derive2 { name="dialrjars"; version="8.10.14"; sha256="0xzgrqgydgrljp3ylqk24hwgj9mcpxsfd4xp3wx8k1d4jmz80gw8"; depends=[rJava]; };
-  dials = derive2 { name="dials"; version="0.0.2"; sha256="1ip8hdv293lcj0jiycinc66fib1q1vsnb3px26zsmlw49nb32q5h"; depends=[dplyr glue purrr rlang scales tibble withr]; };
+  dials = derive2 { name="dials"; version="0.0.4"; sha256="04vz6spp8lw011a9fn8z0bkba9nghgj2hvsxy3n6dqqs3ajd4nfa"; depends=[DiceDesign dplyr glue purrr rlang scales tibble withr]; };
   diaplt = derive2 { name="diaplt"; version="1.3.0"; sha256="1kkqhkv3s8rrpqd05jidjdnqmlnb3s9f8rr34rfqj7k4nh0qzzcz"; depends=[]; };
   dice = derive2 { name="dice"; version="1.2"; sha256="0gic7lqnsdmwv3dbzwwmcwdfyfqlq8kpr2pciqphd1j2ligzwl3s"; depends=[gtools]; };
   diceR = derive2 { name="diceR"; version="0.6.0"; sha256="1jwgngvajnm80g079z4jks5f3y2hy7hz3h9cf7c6wlb8spmaffxr"; depends=[abind apcluster assertthat blockcluster caret class cli clue cluster clusterCrit clValid dbscan dplyr e1071 flux ggplot2 gplots Hmisc infotheo kernlab klaR kohonen magrittr mclust NMF poLCA progress purrr quantable RankAggreg RColorBrewer Rcpp Rtsne sigclust stringr tibble tidyr]; };
@@ -6580,11 +6809,13 @@ in with self; {
   didrooRFM = derive2 { name="didrooRFM"; version="1.0.0"; sha256="12clfnbm56jwldw0afb0nb0argnd97mx7369jiywhxy0p4xqibqq"; depends=[dplyr]; };
   dief = derive2 { name="dief"; version="1.2"; sha256="1i4icdfqvw7imaj1fh392zmzfyz8aqlv9s5naqxm1pm0lqfxl6ca"; depends=[flux fmsb ggplot2 plyr]; };
   dielectric = derive2 { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
+  diem = derive2 { name="diem"; version="1.0"; sha256="09qf47y3mbhkdy7nmy9mcvx371hyss81igc5frbhbp85z2pf5zzb"; depends=[dbscan ggplot2 igraph Matrix Rcpp RcppEigen scales]; };
+  dietr = derive2 { name="dietr"; version="1.0"; sha256="0wz7nvhn1c3l36kpmdv4j3ia3wp77qzjlx8rmqv7al0wpmjnxcb6"; depends=[rfishbase]; };
   diezeit = derive2 { name="diezeit"; version="0.1-0"; sha256="0rq1k08byvqn99wpql7drnrcxlzcqrcxixh7bczbc8dv1hhsgk9i"; depends=[brew httr jsonlite]; };
-  difNLR = derive2 { name="difNLR"; version="1.2.2"; sha256="0d9454vy0wdl60alvwyw4y8aqwhggkr9ffq4l1mxhwfvj8ypwch0"; depends=[CTT ggplot2 msm nnet reshape2]; };
+  difNLR = derive2 { name="difNLR"; version="1.3.0"; sha256="1p3iiaw1wy9ni74y96yp4003406wy1jz773nq919hmrqj0agxkg7"; depends=[CTT ggplot2 msm nnet plyr reshape2 VGAM]; };
   difR = derive2 { name="difR"; version="5.0"; sha256="0k0vw5l3pig514ngpvf0rwhwxc316ws352fgw49c3c95ydsz6wd8"; depends=[deltaPlotR lme4 ltm mirt]; };
   difconet = derive2 { name="difconet"; version="1.0-4"; sha256="0cjadi4mnpfmy18vyp0dw55mnhs0zddf51w59gvq6gszk145z3bq"; depends=[data_table gplots mvtnorm stringr]; };
-  diffEq = derive2 { name="diffEq"; version="1.0-1"; sha256="1xmb19hs0x913g45szmm26xx5xp85v182wqf0lnl4raxaf47yhkm"; depends=[bvpSolve deSolve deTestSet ReacTran rootSolve shape]; };
+  diffEnrich = derive2 { name="diffEnrich"; version="0.1.1"; sha256="19bq2frd2h8gh6mdy3pcwd54zzv170c0m1m3wnp5c4gadb9424qf"; depends=[dplyr ggnewscale ggplot2 here reshape2 rlang stringr]; };
   diffIRT = derive2 { name="diffIRT"; version="1.5"; sha256="0kip6wz9l9q80qsqwf32pwz7d9vqin6dgfwf0nxlrlzf8xjsxgim"; depends=[statmod]; };
   diffMeanVar = derive2 { name="diffMeanVar"; version="0.0.6"; sha256="0zivbd22hp0biy4vnjh21f4djfg5bl9az0wlhn47rk7fw65rgipb"; depends=[Biobase lawstat MASS methylumi missMethyl]; };
   diffMeshGP = derive2 { name="diffMeshGP"; version="0.1.0"; sha256="1dc37hxh3fi27gw11kij57j78p87bza77s82niagdv6dqhldj5a4"; depends=[]; };
@@ -6592,16 +6823,17 @@ in with self; {
   diffdf = derive2 { name="diffdf"; version="1.0.3"; sha256="0nz0jwa02yc16cx51z5hp5zaw40gbcyqli3jpxgrnzw76f8jhkah"; depends=[tibble]; };
   diffeR = derive2 { name="diffeR"; version="0.0-6"; sha256="0ivdcfirs3jbd6m3rryq590szkhplm2kr9chjgcgd88ar5nrqfg7"; depends=[ggplot2 raster reshape2 rgdal]; };
   diffee = derive2 { name="diffee"; version="1.1.0"; sha256="01lb1prz70mxgymhhsvx48kbfy69xyyaabsmfhf28af9wfb89662"; depends=[igraph pcaPP]; };
-  diffeqr = derive2 { name="diffeqr"; version="0.1.2"; sha256="17h76myfzl4xxd5wrhyd6b0h78dz42j5zac7fb5j0xq2qj6k7l7d"; depends=[JuliaCall stringr]; };
+  diffeqr = derive2 { name="diffeqr"; version="0.1.3"; sha256="1696bxh916688zlfxbm6jaqk245xw51ar7rqz7m2nla0ibka86sj"; depends=[JuliaCall stringr]; };
+  diffman = derive2 { name="diffman"; version="0.1.0"; sha256="03m8qbzxyinknx0d87kq8hnag8xdv09vwaafahk80x1lvg389559"; depends=[data_table dplyr igraph Matrix progress Rcpp sf tidyverse]; };
   diffobj = derive2 { name="diffobj"; version="0.2.3"; sha256="17wq3haj2i8x5cy1xx2c8hj2p65hasrjyiqxcq61kzvxd0zyjxzw"; depends=[crayon]; };
   diffpriv = derive2 { name="diffpriv"; version="0.4.2"; sha256="12q2v93369bshid83rsy1csbr9ay6rfpd8zdxm12zi7py3f9sjs8"; depends=[gsl]; };
   diffr = derive2 { name="diffr"; version="0.1"; sha256="0ydwnpyzirynffsnvip667y0jqzy7yfqlfpqhb38xvmd9rmwfbp8"; depends=[htmlwidgets]; };
   diffrprojects = derive2 { name="diffrprojects"; version="0.1.14"; sha256="1mnqf5zs1w8dx9y5iwn4blyzb9j60ayzc04zxj5l8804nd527n25"; depends=[dplyr hellno magrittr R6 Rcpp RSQLite rtext stringb stringdist]; };
   diffrprojectswidget = derive2 { name="diffrprojectswidget"; version="0.1.5"; sha256="1h69mc1wayi80vz4b9cqydylf4kp9mxsigv05r0f903pqakdrzcw"; depends=[diffrprojects dplyr hellno htmlwidgets jsonlite magrittr tidyr]; };
   diffusion = derive2 { name="diffusion"; version="0.2.7"; sha256="1j9s9vw5sc4k956bk4yp3bf4fnp7lhhkwcvlzvsh1w4dyaj8l35h"; depends=[dfoptim nloptr systemfit]; };
-  diffusionMap = derive2 { name="diffusionMap"; version="1.1-0.1"; sha256="11l4kbciawvli5nlsi4qaf8afmgk5xgqiqpdyhvaqri5mx0zhk5j"; depends=[igraph Matrix scatterplot3d]; };
+  diffusionMap = derive2 { name="diffusionMap"; version="1.2.0"; sha256="1rvk7069brlm1s9kqj4c31mwwr3mw4hmhay95cjjjfmw5xclff2j"; depends=[igraph Matrix scatterplot3d]; };
   diffusr = derive2 { name="diffusr"; version="0.1.4"; sha256="1f3h387kblw1xzdnxphwgfl1n7f6i07kk7kfslvbfxkalbish6ii"; depends=[igraph Rcpp RcppEigen]; };
-  digest = derive2 { name="digest"; version="0.6.20"; sha256="1irhk2jaj9cg57cxprgyn1if06x121xwcxh1fzzn3148bl5lnrq5"; depends=[]; };
+  digest = derive2 { name="digest"; version="0.6.23"; sha256="18h5s8vkdcz2vhpsx6g3ig00zalrihr03skn95zw3lr2y56pafmp"; depends=[]; };
   digitalPCR = derive2 { name="digitalPCR"; version="1.1.0"; sha256="0hwqq84yr1hnvf4bygc5425887dhqjjjyy1ils71iavcal04s8pb"; depends=[]; };
   digitize = derive2 { name="digitize"; version="0.0.4"; sha256="1qw4x4z9vrs79sd9b2daw668nc6nvjl4qhayfqmd87yxa2ydv6x0"; depends=[readbitmap]; };
   dils = derive2 { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
@@ -6609,9 +6841,10 @@ in with self; {
   dina = derive2 { name="dina"; version="2.0.0"; sha256="1sq7998xc5qhvd8clc8r32ch7axinh2a2dc7i1w2p148wv130yhd"; depends=[Rcpp RcppArmadillo rgen simcdm]; };
   dinamic = derive2 { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
   dineq = derive2 { name="dineq"; version="0.1.0"; sha256="1xrhrdc970f7hm9xng9z7xmshnmmz89cn3gmnyabzprx44ccr9sl"; depends=[boot Hmisc]; };
-  dint = derive2 { name="dint"; version="2.1.0"; sha256="1ckrjv0c9vqz7drbkmp5lapkikzgll1jbnh51qn59dc1acc5zhvn"; depends=[]; };
+  dint = derive2 { name="dint"; version="2.1.1"; sha256="01j8kah94qlmag2ysdl0p9nj2pqsivkdg1aammq04d8j97pm82yb"; depends=[]; };
+  dipsaus = derive2 { name="dipsaus"; version="0.0.3"; sha256="061nvdn3x9bqps5d60zzb41f39h8qy3y3xdfib508zgarbpb67nq"; depends=[base64url cli crayon data_table digest fastmap filelock future future_apply jsonlite qs R6 Rcpp RcppParallel rlang shiny stringr txtq]; };
   diptest = derive2 { name="diptest"; version="0.75-7"; sha256="0rcgycgp0bf8vhga1wwgfcz3pqs5l26hgzsgf2f97dwfna40i1p1"; depends=[]; };
-  directPA = derive2 { name="directPA"; version="1.3"; sha256="0hcs56y69gdkfyk2xl0vxh01c19s6z1lfv02g056wxr24qfsx08c"; depends=[calibrate rgl]; };
+  directPA = derive2 { name="directPA"; version="1.4"; sha256="0rbdygdslr2gvg4mvnp09lc9rv0sg9jwdf5a5ks50v67n25x6y5d"; depends=[calibrate rgl]; };
   directlabels = derive2 { name="directlabels"; version="2018.05.22"; sha256="0xcpc56ssb9430b0xcdhayk3qaak2qcakyss2pz14y5w2027hblv"; depends=[quadprog]; };
   directotree = derive2 { name="directotree"; version="1.0.0"; sha256="1yv703mb3fnvjxr2rrxvb8x869hbbjx4l94qbbsmy0ssknayq60y"; depends=[collapsibleTree data_tree]; };
   dirichletprocess = derive2 { name="dirichletprocess"; version="0.3.0"; sha256="0hhvmnkx2y5sl308vrx349jr54daifgz4pj5gfykn42gppcpw56v"; depends=[ggplot2 gtools mvtnorm]; };
@@ -6630,22 +6863,24 @@ in with self; {
   discreteRV = derive2 { name="discreteRV"; version="1.2.2"; sha256="1lhf67cccr96zl3j1sysh2bv0pbgvkbgjdzm35fvrdm7k74ypjsi"; depends=[MASS plyr]; };
   discretecdAlgorithm = derive2 { name="discretecdAlgorithm"; version="0.0.5"; sha256="1q4g455jjg293yxdwdppw04ah15idk5j233x2kbqv0jni4v0l2bf"; depends=[igraph Rcpp RcppEigen sparsebnUtils]; };
   discretization = derive2 { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
+  discrim = derive2 { name="discrim"; version="0.0.1"; sha256="1g698bimrvzbzzv6mfafwmdyyziscr055zhssnz69j250mh81kyw"; depends=[dials parsnip purrr rlang tibble withr]; };
   discrimARTs = derive2 { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; };
   diseasemapping = derive2 { name="diseasemapping"; version="1.4.6"; sha256="16y2w8qjq442qdbqlrg3s2mn53rlcipl22m3q168gda5klm4f7sl"; depends=[sp]; };
+  disk_frame = derive2 { name="disk.frame"; version="0.2.1"; sha256="1a3q1zwp5aarpb9780g6r0d4vbflf7qfnh2j4v6jkbmzalbd582n"; depends=[assertthat bigreadr bit64 crayon data_table dplyr fs fst furrr future future_apply globals glue jsonlite pryr purrr Rcpp rlang stringr]; };
   diskImageR = derive2 { name="diskImageR"; version="1.0.0"; sha256="1r19k5fdjn6vkn11p5df77fnxfqaz3nciiaai0f3pr2bgpfppzka"; depends=[subplex zoo]; };
   dismo = derive2 { name="dismo"; version="1.1-4"; sha256="1j4pzbyvn8msi3k2y79nc6pqlrald46168ibznjwrr6rdiqhy4gj"; depends=[raster sp]; };
-  dispRity = derive2 { name="dispRity"; version="1.2.3"; sha256="1218sfm7spl7lqdjfn35wg69bcxwdfypwv4hqff22shkyvvm6lh7"; depends=[ade4 ape Claddis geiger geometry geoscale mnormt paleotree phangorn phyclust vegan]; };
+  dispRity = derive2 { name="dispRity"; version="1.3.1"; sha256="0pf6c1byw095q7a6zx0sgwl84a5djkaaq1ly5jpcv0q0l0c9kxxh"; depends=[ade4 ape Claddis geiger geometry geoscale mnormt paleotree phangorn phyclust vegan]; };
   disparityfilter = derive2 { name="disparityfilter"; version="2.2.3"; sha256="0dkk3qws631mf0g02di5rsrvh5954cykysyri0g8aqgik0j9dg06"; depends=[igraph]; };
   displayHTS = derive2 { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
   dispmod = derive2 { name="dispmod"; version="1.2"; sha256="16r6is0pchzc9mxpz0c44f72j76vsh3j9damalcxajrha06dkdq4"; depends=[]; };
   disposables = derive2 { name="disposables"; version="1.0.3"; sha256="0q5wacjclspn2fh7z1pg2l67ll51n75wck5h2fdq2vxy3qn3vwis"; depends=[]; };
   dissUtils = derive2 { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
   dissever = derive2 { name="dissever"; version="0.2-3"; sha256="1lgs5nmv3lpm4gsryxvcwiwibvvg9flv23q8maisp77x49c18qcp"; depends=[boot caret dplyr foreach magrittr plyr raster sp viridis]; };
-  distTails = derive2 { name="distTails"; version="0.1.1"; sha256="0i0xajdsbd03jrf0y2vx3hm830n5xy1g0md1bl576g6rdxsvln2l"; depends=[ercv gsl MASS]; };
+  distTails = derive2 { name="distTails"; version="0.1.2"; sha256="10p7rfqfkhcwq10lhz3cq9i4k1jdccks4y3791lajljsxz5jrca4"; depends=[ercv gsl MASS]; };
   distance_sample_size = derive2 { name="distance.sample.size"; version="0.0"; sha256="0hlf3kp34rg1gnkxp4k3rnv0shv4fpgb0rhx3a6x5692lhyigbcs"; depends=[MASS]; };
-  distances = derive2 { name="distances"; version="0.1.7"; sha256="1xhv7mf5753d6jnbrmmy6k670li5h2gd8c789mm5w9hxb40rwald"; depends=[]; };
-  distantia = derive2 { name="distantia"; version="1.0.0"; sha256="13klrjqw4xfn4qh1xs2wlcccdrjcihz0zc9mxnf7q5dd1ffwpryw"; depends=[doParallel fields foreach plyr RColorBrewer viridis viridisLite]; };
-  distcomp = derive2 { name="distcomp"; version="1.0-1"; sha256="0f69bxw52ai39dmkmfvrs0lbibcgmv6n849xa9xgd2jm5mvbc58f"; depends=[digest httr jsonlite R6 shiny stringr survival]; };
+  distances = derive2 { name="distances"; version="0.1.8"; sha256="0mmwks1qzx680izv26x8mcfs4i16mnmf6s9arz1ssx470xwxljxy"; depends=[]; };
+  distantia = derive2 { name="distantia"; version="1.0.2"; sha256="12d6xzhcxs3xxyj82ih6chrr638siy45gna1s22vhnqvjd5jixc6"; depends=[arrangements data_table doParallel fields foreach iterators plyr RColorBrewer viridis]; };
+  distcomp = derive2 { name="distcomp"; version="1.1"; sha256="1b2rxn7x6sa3kiip1sv8yd556mkjqvq38v3cycb5084x3k6prhp4"; depends=[digest httr jsonlite R6 shiny stringr survival]; };
   distcrete = derive2 { name="distcrete"; version="1.0.3"; sha256="0sa6z2mpmk51ig1r7bmpbyv2jd8z6z7mixki2vlq1kybg8cx3wmi"; depends=[]; };
   distdichoR = derive2 { name="distdichoR"; version="0.1-1"; sha256="0v19m3n1jgipg65yrv75rm4v27b5aq58cbsmbp7lxvfxmj5ra328"; depends=[boot emmeans nlme sn]; };
   distdrawr = derive2 { name="distdrawr"; version="0.1.3"; sha256="1c8wznfml8k5gwyanfg7rqr22a96xx8rgm7f4z3bv5gsgsbps49y"; depends=[]; };
@@ -6655,7 +6890,7 @@ in with self; {
   disto = derive2 { name="disto"; version="0.2.0"; sha256="09pafy8y1ifgglqmal32dy34acx06ypsq2bgwsn6fjiqr9kw401j"; depends=[assertthat broom dplyr factoextra fastcluster fastmatch ggplot2 pbapply proxy tidyr]; };
   distory = derive2 { name="distory"; version="1.4.3"; sha256="1mszk8fv1z46d7y1q37mhq9b5yk39w2i9rq6mgdf03afdslrmrip"; depends=[ape]; };
   distr = derive2 { name="distr"; version="2.8.0"; sha256="1dyff4m33xmw6hxb3jxzr8vvajg3qz3rfcrfxjxwsswlddfz0zdv"; depends=[MASS sfsmisc startupmsg]; };
-  distr6 = derive2 { name="distr6"; version="1.0.1"; sha256="142kqbnnl8d80vggmbpg363sqdkhni6rbk25dqkwhryl1y712pib"; depends=[checkmate crayon data_table expint extraDistr GoFKernel pracma R6 R62S3]; };
+  distr6 = derive2 { name="distr6"; version="1.3.1"; sha256="0chv04nsay2kjfxicf9b001wj71rfhxnrbbqj16mab80ilrhv40q"; depends=[checkmate data_table pracma R6 R62S3]; };
   distrDoc = derive2 { name="distrDoc"; version="2.8.0"; sha256="1iq2gbfbsf3h279yh3fnqsi39gdw15vc6r1g33xcb8kgmmqmvf0p"; depends=[distr distrEx distrMod distrSim distrTeach distrTEst MASS RandVar startupmsg]; };
   distrEllipse = derive2 { name="distrEllipse"; version="2.8.0"; sha256="1ymfa8xpgs8zjp4psiwmll5z0vji496fivxmcavspzxy31cw70wx"; depends=[distr distrEx distrSim mvtnorm setRNG startupmsg]; };
   distrEx = derive2 { name="distrEx"; version="2.8.0"; sha256="1gwhsnlrnzyp2x97d9wfdy5pa9z3q5il934wjv4kxs9wsvkwsr5h"; depends=[distr startupmsg]; };
@@ -6664,7 +6899,8 @@ in with self; {
   distrSim = derive2 { name="distrSim"; version="2.8.0"; sha256="0g16mljlz7fnb5k6c9h5vplm3n51sdbybv9cifbia0y6p9zml383"; depends=[distr setRNG startupmsg]; };
   distrTEst = derive2 { name="distrTEst"; version="2.8.0"; sha256="06rdcwfgbhc81zqisg414nj0kji59xvhm782b63hk54a8b2zwhh5"; depends=[distrSim setRNG startupmsg]; };
   distrTeach = derive2 { name="distrTeach"; version="2.8.0"; sha256="1qgkd4yipk29q8k334fz97n6dxlxnsback7v5a05m6ragc37wzag"; depends=[distr distrEx startupmsg]; };
-  distreg_vis = derive2 { name="distreg.vis"; version="1.5.0"; sha256="1imbrhmiyraaqv6kkbmd5wyvwhchijwgf82dp3psh7cxwxpmbcdz"; depends=[bamlss formatR gamlss gamlss_dist ggplot2 magrittr mvtnorm RColorBrewer rhandsontable shiny viridis]; };
+  distreg_vis = derive2 { name="distreg.vis"; version="1.7.0"; sha256="1rfv4ifhai6ig0x2xwca1pjin8vqp8k8jvbmj45rxdzg8b384zly"; depends=[bamlss betareg formatR gamlss gamlss_dist ggplot2 magrittr rhandsontable shiny]; };
+  distributions3 = derive2 { name="distributions3"; version="0.1.1"; sha256="06wfyn37x2r00szfzgjpcxy5fhx72p2pf44llpymcsjyp8k790na"; depends=[ellipsis glue]; };
   distrom = derive2 { name="distrom"; version="1.0"; sha256="0wylw7yaylf5j8cy8g45jrw91mwx6w0i7vf9ysnj5kxyznq1gl6y"; depends=[gamlr Matrix]; };
   distrr = derive2 { name="distrr"; version="0.0.5"; sha256="06zmknpdldh4yy3gd1ki6p856pwllb605z1142j4kqxj2ni3lkq7"; depends=[dplyr magrittr rlang tidyr]; };
   disttools = derive2 { name="disttools"; version="0.1.7"; sha256="1wdcggphyxy58zyqdsyz2z3q4rb69wady63l79s1ivjwzgjrsxmi"; depends=[]; };
@@ -6678,6 +6914,7 @@ in with self; {
   divo = derive2 { name="divo"; version="1.0.0"; sha256="0xy4yxvx2grskdzb5z73mhgrq0nfhdkm2hxahdns7pb1fgajxyjx"; depends=[cluster]; };
   dixon = derive2 { name="dixon"; version="0.0-6"; sha256="1prvr16a9n7qyaznir2bl7mg6nlvbdv9pk75p3xipzjg36hwyam8"; depends=[spatstat splancs]; };
   dixonTest = derive2 { name="dixonTest"; version="1.0.0"; sha256="0nv2qyivr9agr8s2l95jdz3sj21i60asdi5mx1dbn61yqbzv80q6"; depends=[]; };
+  diyar = derive2 { name="diyar"; version="0.0.2"; sha256="0gjj6r520dlm034m4361y87lim5h0n904mw2m0avfpkzr54siyx9"; depends=[dplyr lubridate rlang tidyr]; };
   dkDNA = derive2 { name="dkDNA"; version="0.1.1"; sha256="0ycyzn5bmhjl5idp0lndffkninpm9n23wrkrzi59ac8z8ghsnhf4"; depends=[]; };
   dkanr = derive2 { name="dkanr"; version="0.1.3"; sha256="1zic7qhwq3s9w70zi1f6qyf7pzm69k5a1p5fd4n3z4nbga54njxd"; depends=[assertthat dplyr httr jsonlite purrr stringr tibble]; };
   dlbayes = derive2 { name="dlbayes"; version="0.1.0"; sha256="058kkh67npai2ffrjdpjn4pzj8f233znl16nj6yx8wz8lkb17cb0"; depends=[expm GIGrvg glmnet LaplacesDemon MASS]; };
@@ -6685,28 +6922,32 @@ in with self; {
   dlm = derive2 { name="dlm"; version="1.1-5"; sha256="1aksm66sfa7ipl5xgs4j5giac7q2m744wjl40mva56xn6i674h4r"; depends=[]; };
   dlmap = derive2 { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[ibdreg mgcv nlme qtl wgaim]; };
   dlnm = derive2 { name="dlnm"; version="2.3.9"; sha256="0vbrp9x7n94wjrigw124i3i7szy0bsh4sdggi8nsizn2ccsv5pnq"; depends=[mgcv nlme tsModel]; };
-  dlookr = derive2 { name="dlookr"; version="0.3.9"; sha256="12c7lq8vswmmgjplk9j9qmhxi54yn0xh3q01qn2kp896hg0sp61q"; depends=[classInt corrplot DMwR dplyr ggplot2 gridExtra kableExtra knitr magrittr mice moments prettydoc purrr RcmdrMisc RColorBrewer rlang rmarkdown rpart smbinning tibble tidyr tidyselect tinytex xtable]; };
-  dlsem = derive2 { name="dlsem"; version="2.4.2"; sha256="07dwkj8wliivggyz75chhh5s7g6n4l16xk6dpvxnva7fjx2fvf3k"; depends=[graph Rgraphviz]; };
-  dlstats = derive2 { name="dlstats"; version="0.1.0"; sha256="0s92rdpw3m534wgjaic4srsp9i1pa3ibfmr4h7p3ly51zhza6l5h"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
+  dlookr = derive2 { name="dlookr"; version="0.3.12"; sha256="1963b9cjfs56jazvizfj2yj7vkzav6z87z3ii1wbdpk33d76bxmy"; depends=[classInt corrplot DMwR dplyr ggplot2 gridExtra kableExtra knitr magrittr mice moments prettydoc purrr RcmdrMisc RColorBrewer rlang rmarkdown rpart smbinning tibble tidyr tidyselect tinytex xtable]; };
+  dlsem = derive2 { name="dlsem"; version="2.4.5"; sha256="0ywcssjzkdqxlmjbsqdcgl9kivih5zw865556lnxx3zqnfygxzlv"; depends=[graph Rgraphviz]; };
+  dlstats = derive2 { name="dlstats"; version="0.1.3"; sha256="0inij1rzw8i683lyzvnjhfzrng7zx727y9wcijv6ny2fw64cdd6n"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
   dma = derive2 { name="dma"; version="1.4-0"; sha256="003snr09hazszwqnvjrbv8vyz6ihgcfcfhrlshg451dddn920615"; depends=[MASS]; };
+  dmacs = derive2 { name="dmacs"; version="0.1.0"; sha256="1prw6h8sj6fcpajg6xwqhi8v5jfl74mbjdjrdy524miw56fh9h0r"; depends=[lavaan MplusAutomation]; };
   dmai = derive2 { name="dmai"; version="0.4.0"; sha256="0ma89jl0l598sffpikvjj40f2djjcnjq29k6y1bav4dm2g51qgmq"; depends=[dplyr ggplot2 magrittr stringr tibble tidyr]; };
   dml = derive2 { name="dml"; version="1.1.0"; sha256="0z1dalgxh5nhrac49vh60d5awzjylc8b8mn5fk379c324milm59l"; depends=[lfda MASS]; };
   dmm = derive2 { name="dmm"; version="2.1-5"; sha256="1i94bsgc12ysivpy9mdmzcdfki1f84x036danki7ynrbym2b3c7a"; depends=[MASS Matrix nadiv pls robustbase]; };
   dmt = derive2 { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[MASS Matrix mvtnorm]; };
   dmutate = derive2 { name="dmutate"; version="0.1.2"; sha256="06gr49j5jz6ns1zydwsqysgkigi2sbm4hdd2jbb82f05rd9spyf3"; depends=[dplyr MASS]; };
-  dnet = derive2 { name="dnet"; version="1.1.4"; sha256="0xccb50a85d9fcxfg0shxf430hzgjyh4qgb3js4sgzi02iagim58"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
+  dnet = derive2 { name="dnet"; version="1.1.5"; sha256="0gw3r4sg0893gjkh54k1gyy3x5wqnv5lxhj8ds1p98c9v7j94z78"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
   dng = derive2 { name="dng"; version="0.2.1"; sha256="0yi1fs4yvlsy3j128l7s5kwq8mhdd5fr74y2bzj7cjrxi7wgz2hg"; depends=[Rcpp]; };
   dnr = derive2 { name="dnr"; version="0.3.4"; sha256="0hzaa308pppq2cqpb067f3y3nyv1p2xdmgy3dykf90psnn5v011p"; depends=[arm ergm glmnet igraph network sna]; };
-  doBy = derive2 { name="doBy"; version="4.6-2"; sha256="02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb"; depends=[dplyr magrittr MASS Matrix plyr]; };
-  doFuture = derive2 { name="doFuture"; version="0.8.1"; sha256="1akjzzqsa768y6d4ligr4mrcb107g5jwcl0rm34hbnqm81qms0bz"; depends=[foreach future globals iterators]; };
+  do = derive2 { name="do"; version="1.1.0.0"; sha256="1v80vq8rc8ywajgi08xxkpcbhi800qjix5fyqi12ynq83wqmn93x"; depends=[data_table plyr]; };
+  doBy = derive2 { name="doBy"; version="4.6-3"; sha256="1d0d6pwai1g4i5jls0jm9va29ci5hy92n5957608f3fzi1jwy635"; depends=[broom Deriv dplyr magrittr MASS Matrix pbkrtest plyr tibble]; };
+  doFuture = derive2 { name="doFuture"; version="0.8.2"; sha256="0p69gh3adwhinpxry380wccwiq85zr2h49chxz1qwacavvafcvv8"; depends=[foreach future globals iterators]; };
   doMC = derive2 { name="doMC"; version="1.3.6"; sha256="1cn9gxavhvjswip8pwvkpi7q6wpzdllcsdjabga8akf55nggqxr9"; depends=[foreach iterators]; };
   doMPI = derive2 { name="doMPI"; version="0.2.2"; sha256="0ahwm17p3gq1yvc8v6sr6sb8z7i6zws8d1pf46qynl0gd4amg938"; depends=[foreach iterators Rmpi]; };
   doParallel = derive2 { name="doParallel"; version="1.0.15"; sha256="0vnqbha3gig3awbfvsfx3ni5jir398md1n7xmsb8jihnjsk7xbbi"; depends=[foreach iterators]; };
   doRNG = derive2 { name="doRNG"; version="1.7.1"; sha256="1sb75aqkliprglfxc4x4wds6alqgzhvl2n812g1d32a88ra3slr7"; depends=[foreach iterators pkgmaker rngtools]; };
   doRedis = derive2 { name="doRedis"; version="1.1.1"; sha256="10ldfzq6m83b9w24az9bf5wbfm6y9gi233s8qgsk4dnr84n3nizx"; depends=[foreach iterators rredis]; };
   doSNOW = derive2 { name="doSNOW"; version="1.0.18"; sha256="0rj72z5505cprh6wykhhiz08l9bmd966srqh2qypwivf321bvrvh"; depends=[foreach iterators snow]; };
+  dobin = derive2 { name="dobin"; version="1.0.0"; sha256="023s1gq9wqsaf9390nxqclpwwmxfpyv0sxxb8nnck7lpsl5g1pkl"; depends=[FNN pracma]; };
   dobson = derive2 { name="dobson"; version="0.4"; sha256="0xfn7s3wzrv1md40bdjrnjfiqyxg5c6lrcpnvayjdgrhxq161hhq"; depends=[]; };
   dockerfiler = derive2 { name="dockerfiler"; version="0.1.3"; sha256="128648s9lj96p3nlxwy4gs108w5kjcg6w48nfx3r52gb8w2z7948"; depends=[attempt glue R6]; };
+  docknitr = derive2 { name="docknitr"; version="0.4.0"; sha256="1gc2dvji07fzmippnnk6m8v7wra4cprfayqa6skymnp14nf14h00"; depends=[knitr]; };
   docopt = derive2 { name="docopt"; version="0.6.1"; sha256="06zknnd0c5s2y0hbddzdlr3m63ib783izpck6pgz7sjbab5pd068"; depends=[]; };
   docopulae = derive2 { name="docopulae"; version="0.4.0"; sha256="186mfiy4ygx6spnv7yrm5h0k6nf2g1xhk1l05iij39j5al5d9j21"; depends=[]; };
   docstring = derive2 { name="docstring"; version="1.0.0"; sha256="19z5frhxbdc5c4vrkckgqbh9mx4d9w1icw8szsw9yadvbg48nlhl"; depends=[roxygen2]; };
@@ -6716,12 +6957,13 @@ in with self; {
   documenter = derive2 { name="documenter"; version="0.1.1"; sha256="0y6zrvmb9bhc1ni4v89h9pq5ara8p2v4b35ylasia5s9x1y93mcp"; depends=[htmltools magrittr officer xml2 yaml]; };
   docxtools = derive2 { name="docxtools"; version="0.2.1"; sha256="09fcamrr3yw1zrj4bx8ra9yidprk1h44p48by85zjqwd1ly4gqbf"; depends=[dplyr ggplot2 lubridate purrr rlang stringr tidyr]; };
   docxtractr = derive2 { name="docxtractr"; version="0.6.1"; sha256="03bcaiwxxybbdxh26rp4bl66aiv4hxmgn21w6dxm383xha03iqfw"; depends=[dplyr httr magrittr purrr xml2]; };
-  dodgr = derive2 { name="dodgr"; version="0.2.0"; sha256="1dibvhn9gjihlqma2rka7xk803rb2f913315ndwf1sm8z2hpbafc"; depends=[callr digest igraph magrittr osmdata rbenchmark Rcpp RcppParallel]; };
-  doex = derive2 { name="doex"; version="1.1"; sha256="1md7l1kr7i258kycxlpsar6aq5vll6qjqyabjgi14f2hp5p8b6ah"; depends=[]; };
-  dominanceanalysis = derive2 { name="dominanceanalysis"; version="1.0.0"; sha256="1870qg17jiq1g2693d912y5jxp2b2692hfdg2qbqa0h2w0lf0lx1"; depends=[]; };
+  dodgr = derive2 { name="dodgr"; version="0.2.5"; sha256="0n4jh7rdj4qxmi1wns3ida8pa7rlvz6lrjl0n9ba18w3mgg1z483"; depends=[callr digest igraph magrittr osmdata Rcpp RcppParallel]; };
+  doex = derive2 { name="doex"; version="1.2"; sha256="1r999z30ipa04pgck0hfalqxihb1bj8sdhlkkhf4plb7maaz3qm3"; depends=[]; };
+  dominanceanalysis = derive2 { name="dominanceanalysis"; version="1.2.0"; sha256="04x0l37lbdjflz2jr5h95hd9a3c858p7j1p2mscyn08c986j04mb"; depends=[]; };
   domino = derive2 { name="domino"; version="0.3.1"; sha256="0f67w0z5jy82kgm3l1rji430ayigw30vmmwp3i1nz0xibsx7jxv4"; depends=[]; };
+  donut = derive2 { name="donut"; version="1.0.0"; sha256="1m10kcdcr9ma4zmc1gj3lyza8zxvnn57wvxznaappaba4a5b47v2"; depends=[]; };
   doremi = derive2 { name="doremi"; version="0.1.1"; sha256="1h36sj60l5sd5ybbdyrv0wkr9p18j7iwg111khq0znb71xi5nzp7"; depends=[data_table ggplot2 lme4 lmerTest zoo]; };
-  dosearch = derive2 { name="dosearch"; version="1.0.2"; sha256="090k7fbla5xsczbbz7qglnbnngi1gdhjis4yy6bccw9v9s4mfg9s"; depends=[Rcpp]; };
+  dosearch = derive2 { name="dosearch"; version="1.0.4"; sha256="1hq85jym0plf8hj77bfd623nhyjgfqqzm1w92n3lii3j5lv9vrwg"; depends=[Rcpp]; };
   dosresmeta = derive2 { name="dosresmeta"; version="2.0.1"; sha256="0qdalzdk7q4wx3vl5f3i64m8cb7vhi4pqzghar32j0a7l6gla04z"; depends=[mvmeta]; };
   dostats = derive2 { name="dostats"; version="1.3.2"; sha256="15j9sik9j5pic5wrp0w26xkrhi337xkbikw0k7sa4yfimw6f84w5"; depends=[]; };
   dotCall64 = derive2 { name="dotCall64"; version="1.0-0"; sha256="1b8p7m3w0m7bp977c6jz74xkd611cxg11j49yza59k5fp338scb9"; depends=[]; };
@@ -6732,6 +6974,7 @@ in with self; {
   double_truncation = derive2 { name="double.truncation"; version="1.4"; sha256="190fwl119ycmiszkq0mqc6dh8adwqx7b0ipmhz71qvqdzgh9gjm9"; depends=[]; };
   downloader = derive2 { name="downloader"; version="0.4"; sha256="1axggnsc27zzgr7snf41j3zd1vp3nfpmq4zj4d01axc709dyg40q"; depends=[digest]; };
   downscale = derive2 { name="downscale"; version="3.0-1"; sha256="0kmv4d5fa6mmhmbfqfxzk1gv55j15d7madsdqi8470bwh0kkya4y"; depends=[cubature minpack_lm raster Rmpfr sp]; };
+  downscaledl = derive2 { name="downscaledl"; version="1.0"; sha256="0lqxngzpxj65b48j5w0n8dg6fp4lgg5zpgxc2wj6d9wh5f97l71b"; depends=[dplyr keras magrittr raster Rcpp RcppArmadillo rgdal rstack sp tensorflow]; };
   downsize = derive2 { name="downsize"; version="0.2.2"; sha256="18b9shd79z0bsdnp0apqqwv6c73j4wnfiv41ywqz761nmxbldxbn"; depends=[magrittr R_utils]; };
   dpa = derive2 { name="dpa"; version="1.0-3"; sha256="0dmwi68riddi1q4b10c12wx6n7pqfmv30ix5x72zpdbgm72v343h"; depends=[igraph sem]; };
   dparser = derive2 { name="dparser"; version="0.1.8"; sha256="1yx425s3iq03j043g41pyfp3cgmajb4qh50zirhd0qpplzwy8xj5"; depends=[digest]; };
@@ -6743,23 +6986,22 @@ in with self; {
   dplyr = derive2 { name="dplyr"; version="0.8.3"; sha256="032c89wa04g9rih9shyvwl3il0bsrv3xk489x6867sk9bb3amd38"; depends=[assertthat BH glue magrittr pkgconfig plogr R6 Rcpp rlang tibble tidyselect]; };
   dplyr_teradata = derive2 { name="dplyr.teradata"; version="0.3.2"; sha256="1pq630hlvpfrhaxqn6yh0kgapgibrnbic78g130d40visak60j1p"; depends=[bit64 DBI dbplyr dplyr odbc rstudioapi]; };
   dplyrAssist = derive2 { name="dplyrAssist"; version="0.1.0"; sha256="1lqizh70b1apyr4578917gv6s0i7p84ak96a57kvwipmh36a4ywn"; depends=[DT magrittr miniUI plyr rstudioapi shiny shinyAce shinyWidgets stringr tidyr tidyverse]; };
-  dpmixsim = derive2 { name="dpmixsim"; version="0.0-9"; sha256="064i122j8vkpjxzfrhp25kb6nv5j3a7s8qk0202x7vnvj9caqjvx"; depends=[cluster oro_nifti]; };
   dpmr = derive2 { name="dpmr"; version="0.1.9"; sha256="1cnjywkvjb4fhbf4shjmsrq47f1fg2x21hcm1q5512bm0wg9i6jd"; depends=[digest httr jsonlite magrittr rio]; };
   dprint = derive2 { name="dprint"; version="0.0.4"; sha256="13bq6yjlp5p5rcsz684rqcigp42xnz3p5phnqmrhzm874gfzm8rj"; depends=[]; };
   dqrng = derive2 { name="dqrng"; version="0.2.1"; sha256="0rp8q5zijlvaqmpnkwr314w9w40sj4fz7sqsdgsffcfvn42w2jg1"; depends=[BH Rcpp sitmo]; };
   dqshiny = derive2 { name="dqshiny"; version="0.0.3"; sha256="1fra6fbv8if7wwr8vi3261rdzv4kj99y841lb9xiv1mh72r3mx58"; depends=[htmltools shiny]; };
   dr = derive2 { name="dr"; version="3.0.10"; sha256="0dmz4h7biwrn480i66f6jm3c6p4pjvfv24pw1aixvab2vcdkqlnf"; depends=[MASS]; };
-  dr4pl = derive2 { name="dr4pl"; version="1.1.8"; sha256="13ic6lmk2cdh6pvjfpkcnv41mgr27amay2g501ag5ppl4b95lc2q"; depends=[ggplot2 Matrix matrixcalc Rdpack tensor]; };
+  dr4pl = derive2 { name="dr4pl"; version="1.1.11"; sha256="0vv3h4sxw38grhr70s28sxkca20adnqdmpp8qqwlbr3dw950yaa3"; depends=[ggplot2 Matrix matrixcalc Rdpack tensor]; };
   drLumi = derive2 { name="drLumi"; version="0.1.2"; sha256="09ps8rcqrm6a1y8yif2x82l0k4jywq60pkndh9nzfpbsw4ak2lby"; depends=[chron gdata ggplot2 Hmisc irr minpack_lm msm plyr reshape rootSolve stringr]; };
-  dragon = derive2 { name="dragon"; version="0.1.0"; sha256="0vnhp901xnvj7w8si8s2nd880c5b1zc30qq61zv7zkxd7bhzxp7g"; depends=[colorspace colourpicker DT igraph magrittr RColorBrewer shiny shinythemes shinyWidgets tidyverse visNetwork]; };
+  dragon = derive2 { name="dragon"; version="0.2.1"; sha256="1y2dav9151zdcqw1maxhh3s4c1syk5rs8yb8grx8xkffvg5123w7"; depends=[broom colorspace colourpicker cowplot DT igraph magrittr RColorBrewer shiny shinyBS shinydashboard shinythemes shinyWidgets tidyverse visNetwork]; };
   dragonking = derive2 { name="dragonking"; version="0.1.0"; sha256="01b01wd1s2b8sa9f0kfbf2pbzhaqra7xxskigqh3vlj389xqm1id"; depends=[]; };
   dragulaR = derive2 { name="dragulaR"; version="0.3.1"; sha256="1cw5v7m1b4pxsizsjb3zdzhydxj577p6q5fcjklsvpzmiixzlyav"; depends=[htmlwidgets shiny shinyjs]; };
-  drake = derive2 { name="drake"; version="7.5.2"; sha256="18ch0wkjv3lc3fhw8msljlqpxlwb9a13m47majgipfm6ylq7nx30"; depends=[base64url digest igraph rlang storr txtq]; };
+  drake = derive2 { name="drake"; version="7.8.0"; sha256="0s9dv0013vknpcagrd1makzpzmkf8ag5b2zja4vw3d4895cpx6vd"; depends=[base64url digest igraph rlang storr txtq]; };
   drat = derive2 { name="drat"; version="0.1.5"; sha256="0i80c4hyclwnq8g8amvdid9pwr11mwbscwydaxmvbrbhv3qzjg6d"; depends=[]; };
   draw = derive2 { name="draw"; version="1.0.0"; sha256="0kbz8rcgygl4fhmljzaan5jl7wjvfljcaykm7q9lw9s6m78p06gz"; depends=[]; };
   drc = derive2 { name="drc"; version="3.0-1"; sha256="0c8xn8ripzq270hy8d16fcnx02l02alddznd7fqwk3jyi6113h1y"; depends=[car gtools MASS multcomp plotrix scales]; };
   drfit = derive2 { name="drfit"; version="0.7.2"; sha256="03ahzmjzrkdrv36yj6vfg3g5bwn6lb7mlxmli68sixag5h83xq7f"; depends=[DBI drc MASS odbc qcc reshape2]; };
-  drgee = derive2 { name="drgee"; version="1.1.8"; sha256="08zf2yjcnqqjr6l9a99y8mygcl6lhb1ih82qhfyqrw5zk7l0gmjh"; depends=[data_table nleqslv Rcpp RcppArmadillo survival]; };
+  drgee = derive2 { name="drgee"; version="1.1.9"; sha256="0nblv7yrbq9kvnbjs13adhj5lmwim6p6sz0550fk78lh7h99hl0q"; depends=[data_table nleqslv Rcpp RcppArmadillo survival]; };
   driftR = derive2 { name="driftR"; version="1.1.0"; sha256="0mvrmwfqg234kk5klhmw7vmf8i0g485xkx5nk73iam16fbzl9y5g"; depends=[dplyr glue janitor lubridate magrittr readr readxl rlang stringr tibble]; };
   drifter = derive2 { name="drifter"; version="0.2.1"; sha256="1xsp8cm02wd8zink0jqrdaii7s2dh0rw96rs6k8zr2g0341wmfba"; depends=[DALEX dplyr ingredients tidyr]; };
   drmdel = derive2 { name="drmdel"; version="1.3.1"; sha256="1bpm9jj9dxk2daxp1yb7pn9jd750p27qa84vdfxpacm5r0mggnys"; depends=[]; };
@@ -6767,8 +7009,10 @@ in with self; {
   droptest = derive2 { name="droptest"; version="0.1.3"; sha256="1wlfhj6c4pb5mcybyd2bcn55y3azk7dv7d7il97qwbhl8kf59csl"; depends=[data_table]; };
   drsmooth = derive2 { name="drsmooth"; version="1.9.0"; sha256="1wgi961bvbsnq4bygxbpy4sy5fy34lrrkaaj0r2rxcahwa1sc38n"; depends=[boot car DTK lubridate mgcv multcomp pgirmess segmented]; };
   drtmle = derive2 { name="drtmle"; version="1.0.4"; sha256="0k8cps3kpfrlv33a0czjp327qzdj69lwbpv4k5q7qjcv0878yypg"; depends=[doFuture future future_apply future_batchtools np plyr SuperLearner]; };
-  drugCombo = derive2 { name="drugCombo"; version="1.1.0"; sha256="0y8zjcbaympczrvr4dfbd1n83iliv5qv4xz9za4zm412c1dkdd24"; depends=[BIGL Deriv ggplot2 minpack_lm nlme rgl]; };
+  drugCombo = derive2 { name="drugCombo"; version="1.1.1"; sha256="0f4akxmj5jd89jm7kzkmqksxmb6fqj7jawvm3hpw6limyry3mp4z"; depends=[BIGL Deriv ggplot2 minpack_lm nlme rgl]; };
+  drumr = derive2 { name="drumr"; version="0.1.0"; sha256="09xi3sf424bpq10fq25j209dylfbi1lfd911r44ffadkxzvp5p1s"; depends=[audio stringr]; };
   ds = derive2 { name="ds"; version="4.0"; sha256="1iic5fb27cnhsa83zg28hydrhzc01i9z0711xvk95c3gv7mbfp2p"; depends=[]; };
+  ds4psy = derive2 { name="ds4psy"; version="0.1.0"; sha256="15knnl0ld8vnb3mv06p7425h7w5y5m598k4dny8svqwranhs856a"; depends=[cowplot ggplot2 here readr stringr tibble tidyr tidyverse unikn]; };
   dsa = derive2 { name="dsa"; version="0.70.3"; sha256="0ilfrrfdvw86p6q5jskh0fqnqrcz75j2ldzhvwfpbdr9bh65jfai"; depends=[dygraphs extrafont forecast ggplot2 gridExtra htmlwidgets R2HTML reshape2 rJava timeDate tsoutliers xtable xts zoo]; };
   dsample = derive2 { name="dsample"; version="0.91.2.2"; sha256="18c0zxaqwgbn9kmkwlnicwd74ljy2sxj0b9ksif13pdlj3zn57h1"; depends=[MASS]; };
   dse = derive2 { name="dse"; version="2015.12-1"; sha256="1976h57zallhzq43nshg77bsykcvkfwnasha1w59c44fjpl1gs9w"; depends=[setRNG tfplot tframe]; };
@@ -6776,32 +7020,36 @@ in with self; {
   dslice = derive2 { name="dslice"; version="1.2.0"; sha256="1k9hxpmr563p8bpd9m991lx5ig366mzk9j1lzldci9pq4jiayin1"; depends=[ggplot2 Rcpp scales]; };
   dsm = derive2 { name="dsm"; version="2.2.17"; sha256="0n2nn05zb8zd2wah1cfzv8a9qwbh6an3jwsfy0x6lbkk63bs5mxw"; depends=[ggplot2 mgcv mrds nlme numDeriv plyr statmod]; };
   dsmodels = derive2 { name="dsmodels"; version="1.1.0"; sha256="0gidxi4ph49mjm2hdf9flphfb9916al4cpdkiig504n7ms2sbpbg"; depends=[latex2exp pryr shape]; };
-  dsr = derive2 { name="dsr"; version="0.2.1"; sha256="0vkj41w7hqxdiv0v1hn24fisfmp2hjz7bwfv4abl9j4ngh6hq5f5"; depends=[dplyr frailtypack rlang]; };
+  dsr = derive2 { name="dsr"; version="0.2.2"; sha256="0bs5aspi2khs9n60q7d2ah6zv4rzhbyk2bafd17c12jzjqlh1228"; depends=[dplyr frailtypack rlang]; };
   dsrTest = derive2 { name="dsrTest"; version="0.2.1"; sha256="1kljlfi7jf6fa8b5f3wxjsa9rlmzcp4qix3m2qyapz2lqd85mbb7"; depends=[asht exactci loglognorm]; };
-  dst = derive2 { name="dst"; version="1.3.0"; sha256="1pck09g2430d08x2f72zc2zxx6yaybcpzramjvjldwj1kmz32l1w"; depends=[]; };
+  dssd = derive2 { name="dssd"; version="0.1.0"; sha256="1pcky2rwm0811y2b8lpsm4nv0s4hs5idkk6jwc9kr67kciqziqs3"; depends=[plot3D sf]; };
+  dst = derive2 { name="dst"; version="1.4.0"; sha256="0zr04m33ky98y5n6jbczcfn898i7y8zc1hygfm8p9rrnw93d2lin"; depends=[]; };
   dstat = derive2 { name="dstat"; version="1.0.4"; sha256="023jp0xdbg200ww1gnr3fzgjqd82acag0jps7q6j6m27q11psvgz"; depends=[]; };
   dtables = derive2 { name="dtables"; version="0.2.0"; sha256="0ikgip3p4b7q97b2dshlx0fq09xsk304gfk5prw4rk95w9wck3qs"; depends=[psych]; };
-  dtangle = derive2 { name="dtangle"; version="0.3.1"; sha256="0kvds49gx850rmrcja0xr3j9nja5zqnsg1q2zjb07qp425jc3j46"; depends=[]; };
-  dti = derive2 { name="dti"; version="1.4.1"; sha256="0dwrs6bkrznwybpr5g5hsl6si107l3xwzi4g3wqyx0hr03447p9i"; depends=[adimpro awsMethods gsl oro_dicom oro_nifti quadprog rgl]; };
+  dtangle = derive2 { name="dtangle"; version="2.0.9"; sha256="0yg1fbrqixqp93vdw3grvz1la5l2kidgs730qp6yihkp3260cxf3"; depends=[DEoptimR]; };
+  dti = derive2 { name="dti"; version="1.4.3.1"; sha256="147s8aj65jyrz9qwiwjpa3ly1nsv201z5r7xmg03fj2vlx93k44k"; depends=[adimpro awsMethods gsl oro_dicom oro_nifti quadprog rgl]; };
   dtp = derive2 { name="dtp"; version="0.1.0"; sha256="0qy8nrbq22bfbajkxq6blkq7583pc5mb392gmqb3c9daxmqn42vb"; depends=[Formula gtools plyr]; };
-  dtpcrm = derive2 { name="dtpcrm"; version="0.1.0"; sha256="1zrgg4pz2zr001bl1rvkqxqpyqch4xp97wwfrn9wkf8ylbl08iqv"; depends=[dfcrm diagram]; };
-  dtplyr = derive2 { name="dtplyr"; version="0.0.3"; sha256="04yawjzyij0hlarifb9w4bnxybf73crwidvd5nwclscbis22a29r"; depends=[data_table dplyr lazyeval rlang]; };
+  dtpcrm = derive2 { name="dtpcrm"; version="0.1.1"; sha256="0k25fm0z3snpx1v2kwd50svgnkjhn5c0hy1gnlw2lif6rjz1fzd9"; depends=[dfcrm diagram]; };
+  dtplyr = derive2 { name="dtplyr"; version="1.0.0"; sha256="115b08fc3rpj101i0j5gx2z3w80ylgampzvb674jhx2jxf4kl9c7"; depends=[crayon data_table dplyr rlang tibble tidyselect]; };
   dtree = derive2 { name="dtree"; version="0.4.2"; sha256="1cpv0pyf515610djxzfw1c83p3alk5a93clg4x9gk7a7qy4cyhr1"; depends=[caret evtree party partykit rpart]; };
   dtt = derive2 { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
   dttr2 = derive2 { name="dttr2"; version="0.0.1"; sha256="042zll9hw4ljwr85x4dmkv8nz6r0mpawaa5s58ngxypshss8sbg0"; depends=[checkr hms]; };
-  dtw = derive2 { name="dtw"; version="1.20-1"; sha256="1w301xwizncy5r8v9rwwdxfshydgp3l1pnjla1fjn6n8lx3imjj3"; depends=[proxy]; };
+  dtw = derive2 { name="dtw"; version="1.21-3"; sha256="02hyhx1sy5h3vzh9zixy18a7d47df4k5d0wyflcvlcbsbcl6p90s"; depends=[proxy]; };
   dtwSat = derive2 { name="dtwSat"; version="0.2.5"; sha256="0qvjzqmi6plkq5l4r52c7wil58n41l5f5dxzpk9r4yis8bdm5zlq"; depends=[caret dtw ggplot2 lubridate mgcv plyr proxy raster RColorBrewer Rdpack reshape2 rgdal scales snow sp xtable zoo]; };
-  dtwclust = derive2 { name="dtwclust"; version="5.5.4"; sha256="0vjgi2j0p1jbbd3dqcrgi9mm6nwyzgjbifyidgdpdshwlxiardvd"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel RcppThread reshape2 RSpectra shiny shinyjs]; };
-  duawranglr = derive2 { name="duawranglr"; version="0.6.3"; sha256="0swvrdwnbyigsvds3s32nw79b245q3cgv7xskjx7qjcpnvzr7x7q"; depends=[digest dplyr haven readr readxl]; };
+  dtwclust = derive2 { name="dtwclust"; version="5.5.5"; sha256="1jmbcmkw7kvd0vr8rlnqyi5i8kgnlxm5rwbgjzl8cv2d3v67rm18"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel RcppThread reshape2 RSpectra shiny shinyjs]; };
+  duawranglr = derive2 { name="duawranglr"; version="0.6.5"; sha256="04w8ll6p8m0ljcp96sfp028afgxddk4wyncfdwiywi0ps34zh084"; depends=[digest dplyr haven readr readxl]; };
   dub = derive2 { name="dub"; version="0.2.0"; sha256="066lzyk44380mf17vx4db4a3a4rs7zl85mj5hjg172khjbqnbixw"; depends=[]; };
   duckduckr = derive2 { name="duckduckr"; version="1.0.0"; sha256="1wki8xvqp5hr27iafd9jbryl9faywfkdkpn0pa0afywbic39k2cm"; depends=[crul jsonlite]; };
   dummies = derive2 { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
   dummy = derive2 { name="dummy"; version="0.1.3"; sha256="081a5h33gw6ym4isy91h6mcf247c2vsdygv9ll07a3mgjcjnk79p"; depends=[]; };
   dunn_test = derive2 { name="dunn.test"; version="1.3.5"; sha256="0lqwvyl3pyygfc73nf81gzw3zl3w43r7ki0yw2dgrzhkpb2iji4a"; depends=[]; };
   dupiR = derive2 { name="dupiR"; version="1.2"; sha256="0p649yw7iz6hnp7rqa2gk3dqkjbqx1f6fzpf1xh9088nbf3bhhz3"; depends=[plotrix]; };
-  durmod = derive2 { name="durmod"; version="1.1-1"; sha256="0v8ww13d71nlhxz6512hc1cdakvn9mb54npvy3zyc2i73avqgisl"; depends=[data_table mvtnorm nloptr numDeriv Rcpp]; };
+  dupree = derive2 { name="dupree"; version="0.2.0"; sha256="12dlqmvk2zlxh283xjf2d6x12cy6r3rsy88y5g40h9002m7i2jqy"; depends=[dplyr lintr magrittr purrr rlang stringdist tibble]; };
+  durmod = derive2 { name="durmod"; version="1.1-2"; sha256="1mp97x8px4s53m91m5vnkixgz087wgd4bas64xdbki6y53zimzjj"; depends=[data_table mvtnorm nloptr numDeriv Rcpp]; };
   dvmisc = derive2 { name="dvmisc"; version="1.1.3"; sha256="0x391pxg5mqgp5xxc8qwhwxky8ds7d9gr9iwmsb12c92kxfk00bv"; depends=[cubature data_table dplyr ggplot2 MASS mvtnorm pracma purrr rbenchmark Rcpp survey]; };
   dwapi = derive2 { name="dwapi"; version="0.1.3.1"; sha256="1sz4n8vn7cmlilxzhkm4rdfca0904cbh28n5383p9pr46bdi69q5"; depends=[httr jsonlite readr rjson xml2]; };
+  dwdradar = derive2 { name="dwdradar"; version="0.2.0"; sha256="06wa3m77931lv47530hyczwdjrrfdmgczmbhwy0z9fzhn8kz0ipp"; depends=[]; };
+  dwlm = derive2 { name="dwlm"; version="0.1.0"; sha256="0n5dil9qvyy4gish3wnv8bzq0ci1p0dr2vmbbadl29jl7rd1v0rc"; depends=[]; };
   dyads = derive2 { name="dyads"; version="1.1.2"; sha256="014gphxkn0wkdq5zgd71vv9dmzyswgpari59w5mf2070c0rr56n5"; depends=[MASS mvtnorm]; };
   dydea = derive2 { name="dydea"; version="0.1.0"; sha256="15alr3f6wkkpjd5wmcjazi58yc8gwcqr662mjwlfg15r94fzqrlg"; depends=[Chaos01]; };
   dygraphs = derive2 { name="dygraphs"; version="1.1.1.6"; sha256="022j007mzfa9k2n31yg4aizcsf571vv3jip092h23rqj03rk3ly3"; depends=[htmltools htmlwidgets magrittr xts zoo]; };
@@ -6811,14 +7059,14 @@ in with self; {
   dynOmics = derive2 { name="dynOmics"; version="1.2"; sha256="0fsck5wx4rcfckjr6xg0s3a6cvh4881cqzy0af91icqg0p3zjj2l"; depends=[ggplot2 gplots]; };
   dynRB = derive2 { name="dynRB"; version="0.15"; sha256="0fa6g4aj2cncg6mi0yc2yn6321qi7fz9d9cvqrnxhcnbbghdyzq9"; depends=[corrplot dplyr foreign ggplot2 RColorBrewer reshape2 vegan]; };
   dynaTree = derive2 { name="dynaTree"; version="1.2-10"; sha256="1ng672mlv98xnsbd4xq70hxc8j158la4n63y46rw74granaz29ya"; depends=[]; };
-  dynamac = derive2 { name="dynamac"; version="0.1.8"; sha256="1ffpqfsfjkrpgx7lxd16yzddp6izaw8idj8q2k4234ck6349wjmp"; depends=[lmtest MASS]; };
+  dynamac = derive2 { name="dynamac"; version="0.1.10"; sha256="10qz2wx39rb7d1z0drzxm4m30bg9hvi3bjr9m10z3hdkzsg1ybvw"; depends=[lmtest MASS]; };
   dynamicGraph = derive2 { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
   dynamicTreeCut = derive2 { name="dynamicTreeCut"; version="1.63-1"; sha256="1fadbql7g5r2vvlkr89nlrjxwp4yx4xrdqmv077qvmnx9vv0f4w3"; depends=[]; };
-  dynamichazard = derive2 { name="dynamichazard"; version="0.6.5"; sha256="1f12c89p5b6yfhha5gzacf82bjgmvri5xnhhpwcqrxa3mli4d1hb"; depends=[boot nloptr Rcpp RcppArmadillo survival]; };
+  dynamichazard = derive2 { name="dynamichazard"; version="0.6.6"; sha256="1ad4ymi28yx6vh3x8p4pm4ph81fb9fkhk4zfhbl60522d4kjbsjq"; depends=[boot Rcpp RcppArmadillo survival]; };
   dynamo = derive2 { name="dynamo"; version="1.0"; sha256="0arsv686ix7xpca57ayqgifim1q35dl4w2mx7fw8bc0lidapilyp"; depends=[abind glamlasso MortalitySmooth Rcpp RcppArmadillo]; };
   dynatopmodel = derive2 { name="dynatopmodel"; version="1.2.1"; sha256="0lpfhj69bvagqzzg2kjqvn9xx8f93ii34flrrns20z3bxla6gds9"; depends=[deSolve lubridate maptools raster rgdal rgeos sp topmodel xts zoo]; };
   dyncomp = derive2 { name="dyncomp"; version="0.0.2-1"; sha256="13wp2k8nbgrbrqng2dmgy0ixgidk51wq9y7mv5pdbvdajxdsyh11"; depends=[zoo]; };
-  dyndimred = derive2 { name="dyndimred"; version="1.0.1"; sha256="1gj51q88gqdcmrzp1xgs39bidpm2d3v8n586nfbd7cjkyg8dqfrv"; depends=[dynutils irlba Matrix]; };
+  dyndimred = derive2 { name="dyndimred"; version="1.0.2"; sha256="1iqn28vl1vf0jbs0jrngg711lzsrliksvxyf1c8d9zp8k4glris0"; depends=[dynutils irlba]; };
   dynetNLAResistance = derive2 { name="dynetNLAResistance"; version="0.1.0"; sha256="018y3m648ni31rlisjfnrx1d10mm48wpxanlnnxxpnqxjcywg2x8"; depends=[doParallel foreach igraph]; };
   dynfrail = derive2 { name="dynfrail"; version="0.5.2"; sha256="1q7ml24j0ycy2bwpa14vl96315ni7x9rfp0qmf36w00mylgc3ry6"; depends=[dplyr magrittr Rcpp RcppArmadillo survival tibble tidyr]; };
   dynia = derive2 { name="dynia"; version="0.2"; sha256="1swip4kqjln3wsa9xl0g92zklqafarva923nw7s44g4pjdy73d5l"; depends=[]; };
@@ -6827,27 +7075,28 @@ in with self; {
   dynparam = derive2 { name="dynparam"; version="1.0.0"; sha256="0rzkksb0j7vybz4mk9c4sm3zcxdjll1bqx54cbal8a0iq259rigp"; depends=[assertthat carrier dplyr dynutils Hmisc magrittr purrr stringr testthat tibble tidyr]; };
   dynpred = derive2 { name="dynpred"; version="0.1.2"; sha256="111ykasaiznn3431msj4flfhmjvzq7dd1mnzn1wklc5ndix1pvf9"; depends=[survival]; };
   dynprog = derive2 { name="dynprog"; version="0.1.0"; sha256="1rvn2zyhdi60y01zbvfv4him6iz2ljdr7ivkr7m7y7yd1lg547ax"; depends=[rlang]; };
-  dynr = derive2 { name="dynr"; version="0.1.14-9"; sha256="0cxi295kl4kj6h43wclaqmdk0q92l7fgn08kak9gx0vy2f78wjas"; depends=[ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 xtable]; };
+  dynr = derive2 { name="dynr"; version="0.1.15-1"; sha256="1vd93mckc8q8wvs3sgly7j1vn1i2qis6pcyqiag6nqz5xjfv6rn4"; depends=[car deSolve fda ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 stringi tibble xtable]; };
   dynsbm = derive2 { name="dynsbm"; version="0.6"; sha256="0sdy42ihymhzx577jc2qr7lwirc9lviz3sagfy09zhbwizz5a4kw"; depends=[RColorBrewer Rcpp riverplot]; };
   dynsim = derive2 { name="dynsim"; version="1.2.1"; sha256="0nkxn9v4f353fhcn1vsdrh29mrms10zid63b84flg3c6hvc0x4qr"; depends=[ggplot2 gridExtra MASS]; };
-  dynsurv = derive2 { name="dynsurv"; version="0.3-6"; sha256="12bfv6bykgsyxryydhjs89yvk7akam5gy89mzn1hv4ilrpc5mlmw"; depends=[BH ggplot2 nleqslv plyr reshape survival]; };
-  dynutils = derive2 { name="dynutils"; version="1.0.3"; sha256="1cx7r7bji45x0b17cqkr7j68ckdm60dpqvl68sl7v6yd7dkf6h72"; depends=[assertthat crayon desc dplyr magrittr Matrix proxyC purrr Rcpp remotes stringr tibble]; };
-  e1071 = derive2 { name="e1071"; version="1.7-2"; sha256="0lipj692rjjw8rrhqh2k9i5dh8y2sjrw9q53rwm32irhx2f2j73j"; depends=[class]; };
+  dynsurv = derive2 { name="dynsurv"; version="0.3-7"; sha256="0ar8n84fpfy68cx321syg8hvjxjnh00mw0a9sid9dw58f956phf8"; depends=[BH ggplot2 nleqslv plyr reshape survival]; };
+  dynutils = derive2 { name="dynutils"; version="1.0.4"; sha256="1rzwcfbv5aqa08fy9i1fiz4a7v3z2skyyjz392rjsbwpnlk77ryh"; depends=[assertthat crayon desc dplyr magrittr Matrix proxyC purrr Rcpp remotes stringr tibble]; };
+  dynwrap = derive2 { name="dynwrap"; version="1.1.4"; sha256="11c8rd9yv54a7g1ypdniw4vchcpa3lbijnh67srp6fymrlf82z7d"; depends=[assertthat babelwhale crayon dplyr dynparam dynutils FNN glue hdf5r igraph jsonlite magrittr Matrix processx purrr readr reshape2 stringr testthat tibble tidyr yaml]; };
+  e1071 = derive2 { name="e1071"; version="1.7-3"; sha256="0pf2pjb590z0jikgv1037xcp7dq06mg3dzmyffjw6gk7dd9blbdv"; depends=[class]; };
   eAnalytics = derive2 { name="eAnalytics"; version="0.1.4"; sha256="15hhd4q2yxzq3a3awvk81ixa43hk519ym8ap7v1ahghyr0njnyyf"; depends=[dplyr DT energyr googleVis leaflet plotly shiny shinydashboard shinytest shinyWidgets]; };
   eChem = derive2 { name="eChem"; version="1.0.0"; sha256="0wmf204hqd4s5har5l9bkcbrbmbqbb8m11w2aivi2gs98f3hy51p"; depends=[animation plot3D]; };
   eDMA = derive2 { name="eDMA"; version="1.5-3"; sha256="0wyp81si6lcispqng4c7lii22qbyblvijgnlxvcsnkcxj5hpm76j"; depends=[Rcpp RcppArmadillo xts zoo]; };
   eGST = derive2 { name="eGST"; version="1.0.0"; sha256="0qi4vg0pwy55js9ww1cw85ssim3x7s2p98cjijxvlrvid8sns5bq"; depends=[MASS matrixStats mvtnorm purrr]; };
-  eHOF = derive2 { name="eHOF"; version="1.8"; sha256="0g0sb98mlgvhs27s0a1x0ysj3r4p3r7i382fqzfv29kn1ayw0r5c"; depends=[lattice mgcv]; };
   eMLEloglin = derive2 { name="eMLEloglin"; version="1.0.1"; sha256="087zw48lykls2jcsmpqd5jkrlpr0j423snp00liszjhdpdh59saq"; depends=[lpSolveAPI]; };
-  eNetXplorer = derive2 { name="eNetXplorer"; version="1.0.2"; sha256="1rcqy5r3hzra57rdjl477w2khv74s4zk0vcbnp6ypnym0c8k6vzz"; depends=[calibrate expm glmnet gplots Matrix progress RColorBrewer]; };
-  ePCR = derive2 { name="ePCR"; version="0.9.9-9"; sha256="0ix7rvh9w4zcp7k0m5bm16wdjs6yr7wvnsc9mssfrwcjx0p57nlx"; depends=[Bolstad2 glmnet hamlet impute pracma survival timeROC]; };
+  eNetXplorer = derive2 { name="eNetXplorer"; version="1.1.0"; sha256="1n84rf9axvvjf6s0mamf5z889hg3y32mhypasmxc455698z3d1k5"; depends=[calibrate expm glmnet gplots Matrix progress RColorBrewer survcomp survival survivalROC]; };
+  ePCR = derive2 { name="ePCR"; version="0.9.9-11"; sha256="0bkvjvygdnzcc23sslgkcrx11mzwgsqss37lwnbr7rq0jp1sw46s"; depends=[Bolstad2 glmnet hamlet impute pracma survival timeROC]; };
+  eRTG3D = derive2 { name="eRTG3D"; version="0.6.2"; sha256="04m39jkp4lvv145wmcswc87qx36wpfkm95kq9fik8a3jb5myvjll"; depends=[CircStats ggplot2 gridExtra pbapply plotly plyr raster rasterVis sp tiff]; };
   eRm = derive2 { name="eRm"; version="1.0-0"; sha256="11p8j61arq1ih2qi33wf0442vcdbp3zvknzm5aknsifwl4mbzzly"; depends=[lattice MASS Matrix]; };
-  eSDM = derive2 { name="eSDM"; version="0.2.1"; sha256="0s1njyc5xg8wwq1lhajzqx19i5201i92rvavkghkzd0c13kj8dhz"; depends=[colorRamps colourpicker dichromat dplyr DT leaflet lwgeom purrr raster RColorBrewer rlang ROCR sf shiny shinycssloaders shinydashboard shinyjs tmap units viridis]; };
+  eSDM = derive2 { name="eSDM"; version="0.3.1"; sha256="1q0482n7p4880brjnrfg4xzqz7wz4g6v4rdgg3ljnhidipszkp2d"; depends=[colorRamps colourpicker dichromat dplyr DT leaflet lwgeom purrr raster RColorBrewer rlang ROCR sf shiny shinycssloaders shinydashboard shinyjs tmap units viridis zip]; };
   eaf = derive2 { name="eaf"; version="1.8"; sha256="1plzvfa2vs3njky7xk9dvic2xapdnzb5iycrksv0qj03ylbh6410"; depends=[modeltools]; };
   earlyR = derive2 { name="earlyR"; version="0.0.1"; sha256="14davqhh3n5dfsddnfd79ni56bssrpwhvkqkdb77a8x9fn8w32pv"; depends=[distcrete EpiEstim epitrix]; };
   earlygating = derive2 { name="earlygating"; version="1.0"; sha256="0y6xjkh9p8bvanc9p5sycah8v81k85xr8i7vyvjb9g4a64srwhd7"; depends=[betareg doParallel foreach]; };
   earlywarnings = derive2 { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[fields ggplot2 Kendall KernSmooth lmtest moments nortest quadprog som spam tgp tseries]; };
-  earth = derive2 { name="earth"; version="5.1.1"; sha256="0dz2jl0jw9sbz5ym92hfzx3pzf234wbfkjp6i7d5cgrjfpaa5xil"; depends=[Formula plotmo TeachingDemos]; };
+  earth = derive2 { name="earth"; version="5.1.2"; sha256="13a8qfv94bqnjkacnr0nz1g8yd99cnyz4k2qslyclrckqbl9hvrj"; depends=[Formula plotmo TeachingDemos]; };
   earthtide = derive2 { name="earthtide"; version="0.0.9"; sha256="14i1ihswvspqlis9h9m4xfjmhqwz1nj6blhdzqanvd05abw6qnkx"; depends=[BH R6 Rcpp RcppArmadillo RcppParallel]; };
   earthtones = derive2 { name="earthtones"; version="0.1.1"; sha256="17biiw0ig8i8ihc2f8csp0bqryygg27ic2v1vrf81ax3qzhngy4l"; depends=[ggmap]; };
   easyAHP = derive2 { name="easyAHP"; version="0.1.1"; sha256="161mn90j9ph1p9277mj61hch8ndcv7k9izs32q93y5wp474gzynd"; depends=[]; };
@@ -6859,13 +7108,14 @@ in with self; {
   easySVG = derive2 { name="easySVG"; version="0.1.0"; sha256="03gl5gl0yqgpygd4kna79wrhflbnq3zrz3iq2i8hk9xqd83mszh3"; depends=[]; };
   easySdcTable = derive2 { name="easySdcTable"; version="0.3.3"; sha256="0hhi1nwc84b0mjs2sw2qmvj3cmfkk9kr3rni9fkyyds1dhwgrvvh"; depends=[sdcTable shiny SSBtools]; };
   easyVerification = derive2 { name="easyVerification"; version="0.4.4"; sha256="08mih1arx01vj7cs1jsln644pcvslpyw1rgr6jmv2czr6xd8qb7d"; depends=[pbapply Rcpp SpecsVerification]; };
-  easyalluvial = derive2 { name="easyalluvial"; version="0.2.0"; sha256="1bbygr512zzlyjzmf5lh9bks2f10k1mja5scrrrgf0ls3gnyw8ln"; depends=[caret dplyr e1071 forcats ggalluvial ggplot2 ggridges gridExtra magrittr progress purrr randomForest RColorBrewer recipes rlang stringr tibble tidyr]; };
+  easyalluvial = derive2 { name="easyalluvial"; version="0.2.1"; sha256="1lrlakq84q0xgyh930img6mzz1ffjbcyxqfh80zy7fndwixzwpys"; depends=[caret dplyr e1071 forcats ggalluvial ggplot2 ggridges gridExtra magrittr progress purrr randomForest RColorBrewer recipes rlang stringr tibble tidyr]; };
   easyanova = derive2 { name="easyanova"; version="7.0"; sha256="1zpwh3r1r0n11hgqzph8f2aac44qb6rpnhk73hcblq0f9vs0an55"; depends=[nlme]; };
   easycsv = derive2 { name="easycsv"; version="1.0.8"; sha256="1i2k5372b6a5pypk6m0rsvvkcy0y51pvh57a60rpgqk8q0yq8pig"; depends=[data_table]; };
   easynls = derive2 { name="easynls"; version="5.0"; sha256="1ma2q4y5dxk6q99v880vqfsgy1fha96j7pi8ch699l0pi6bx0d6c"; depends=[]; };
   easypackages = derive2 { name="easypackages"; version="0.1.0"; sha256="00paxdwz4bw3imqhcsw6hj1h0gmnpishlxcj79n826vhdy23jc4y"; depends=[assertthat devtools]; };
   easypower = derive2 { name="easypower"; version="1.0.1"; sha256="1vf0zv55yf96wjxja6ifdjvgc9nw0jl0hnc1ygyjd8pmwbgdz9bl"; depends=[pwr]; };
-  easyreg = derive2 { name="easyreg"; version="3.0"; sha256="09gjxwhwdkz2xfrhllf9g6ylvd7xw6sm5m9zn1983d12xld7kfvm"; depends=[nlme]; };
+  easyr = derive2 { name="easyr"; version="0.1-1"; sha256="0ha64fl9kvnnc4i9bwg7bv065w2v1y7lcdgsyp7s6ik2lpfc73rx"; depends=[data_table digest dplyr foreign glue Hmisc lubridate openssl readxl rlang stringr tibble XML]; };
+  easyreg = derive2 { name="easyreg"; version="4.0"; sha256="1w4wlhziyhdyldm0zgnm73fnxrh0fv8hwcw5j8ircxb4npx7bcgg"; depends=[nlme]; };
   ebGenotyping = derive2 { name="ebGenotyping"; version="2.0.1"; sha256="1jllzc7kvvckrws8qhgvwy626llyb68sp1davp7swx48sf7rwcxc"; depends=[]; };
   ebSNP = derive2 { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
   eba = derive2 { name="eba"; version="1.9-0"; sha256="1xbjd7n895wzzybpjf634a1jpbwqxwh7l17phz6zv7h6dfw19nx4"; depends=[nlme psychotools]; };
@@ -6874,6 +7124,7 @@ in with self; {
   ebimetagenomics = derive2 { name="ebimetagenomics"; version="0.6"; sha256="0jaz7l71pnf3i2q83mx0pjqli9sn30a4b9vshcmp70v3h6xdj9wx"; depends=[breakaway sads vegan]; };
   ebirdst = derive2 { name="ebirdst"; version="0.1.0"; sha256="1bj4jb2cg08z58p9ih9c9f3jfy8xxm4rz99hdm29282dy37xn7dz"; depends=[car data_table dplyr fasterize gbm ggplot2 gridExtra mgcv PresenceAbsence rappdirs raster rgdal scales sf stringr tidyr viridisLite xml2]; };
   ebmc = derive2 { name="ebmc"; version="1.0.0"; sha256="0v9hkzy8ljddmi6wdjd1jga4ib566ikr1vgrvxba67ka524r6bbp"; depends=[C50 DMwR e1071 pROC randomForest rpart]; };
+  ebreg = derive2 { name="ebreg"; version="0.1.0"; sha256="033ldzj9r9y14nq5bsy1ds9vys8imk1ysii8b889zd1bi319b05y"; depends=[lars Rdpack]; };
   ecb = derive2 { name="ecb"; version="0.2"; sha256="17hj4d48j6rran64ajzlgkgz17mab51fa3lz8rm3mw0qhahkjlmc"; depends=[curl httr rsdmx xml2]; };
   ecd = derive2 { name="ecd"; version="0.9.1"; sha256="0d8mf5q6n7k5qj6kxvrb3habl0qmn2rxv814kydkrz2bg0scvm1q"; depends=[digest ggplot2 gridExtra gsl moments optimx polynom RcppFaddeeva Rmpfr RSQLite stabledist xtable xts yaml zoo]; };
   ecdfHT = derive2 { name="ecdfHT"; version="0.1.1"; sha256="1n3n9n86pj8c54l3xvp7knvi0ajbnjmz9pi79p7wfq92a90fqx48"; depends=[rgl]; };
@@ -6881,7 +7132,7 @@ in with self; {
   echarts4r = derive2 { name="echarts4r"; version="0.2.3"; sha256="0yxgxwsyhmbnw3llcgr4xh0i0d74awgsapdw7xsh57wzc539666m"; depends=[broom corrplot countrycode d3r data_tree dplyr htmltools htmlwidgets jsonlite magrittr purrr scales shiny stringi]; };
   echo_find = derive2 { name="echo.find"; version="3.0"; sha256="15rrja2z01y4pbh2w4h2xcnwv9c81ppnb848203vavvlilm475y1"; depends=[boot minpack_lm]; };
   echogram = derive2 { name="echogram"; version="0.1.1"; sha256="0f93s9f1ghin8129vb3bvsp7jmy2hfrx97p86hci8b2y4f7b83qh"; depends=[geosphere readHAC]; };
-  echor = derive2 { name="echor"; version="0.1.2"; sha256="1b2d8xbjnj3daqini1i3hccnpng0ilz9m6rk6ns8qvz7kpaxkjmn"; depends=[dplyr geojsonsf httr lubridate plyr purrr readr rlang tibble tidyr]; };
+  echor = derive2 { name="echor"; version="0.1.3"; sha256="1m843219038jvmwd5fsnlh63nl7as7d4030i6wnksg6pw6v6f1s8"; depends=[dplyr geojsonsf httr lubridate plyr purrr readr rlang tibble tidyr]; };
   ecipex = derive2 { name="ecipex"; version="1.0"; sha256="0pzmrpnis52hvy80p3k60mg9xldq6fx8g9n3nnqi3z56wxmqpdv7"; depends=[CHNOSZ]; };
   eclust = derive2 { name="eclust"; version="0.1.0"; sha256="01x327w02m357lngmgv3drni2s67sass25xk9vni1z434n8i4428"; depends=[caret data_table dynamicTreeCut magrittr pacman pander stringr WGCNA]; };
   ecm = derive2 { name="ecm"; version="4.4.0"; sha256="1f9x3lcihvnkc5fr4g94h0m5a9h4rjmq9hkjs34il2id8bw92gj7"; depends=[car]; };
@@ -6893,7 +7144,7 @@ in with self; {
   ecolottery = derive2 { name="ecolottery"; version="1.0.0"; sha256="0w5aq1aaqzz74vlj8hgnmn60l8rdrchx022dpspqnpvpzdlh65z5"; depends=[abc ggplot2]; };
   econet = derive2 { name="econet"; version="0.1.81"; sha256="0hm1v4fjzyzdaxiw6lar7fxnqsckis3n7nrsravhbllhcf0aqq7w"; depends=[bbmle dplyr igraph intergraph MASS Matrix minpack_lm plyr sna spatstat_utils tnet]; };
   econetwork = derive2 { name="econetwork"; version="0.2"; sha256="0ilqxyvpkiwhhgml19f1rf08bn061nf76d7fby3084ypgc4iwi1b"; depends=[igraph Matrix_utils rdiversity]; };
-  economiccomplexity = derive2 { name="economiccomplexity"; version="0.1.2"; sha256="1g8f9l5p1jzqf1w81n88idq2kwrvq56ss6mgcm4lcirblcrf2jk2"; depends=[dplyr igraph magrittr Matrix rlang tibble tidyr]; };
+  economiccomplexity = derive2 { name="economiccomplexity"; version="0.3"; sha256="058cyzr01jrgi9090wn8vpjhf074bq7g76vfbyk58jic0k78k634"; depends=[dplyr igraph magrittr Matrix rlang tibble tidyr]; };
   econullnetr = derive2 { name="econullnetr"; version="0.1.0.1"; sha256="1ssgvz17a2cpwag786rc6azi3cz74cc4bxz5jjrn1bfq8ch8xqd3"; depends=[bipartite gtools reshape2]; };
   ecoreg = derive2 { name="ecoreg"; version="0.2.2"; sha256="1yzyqvhshgc7ip251y7hsvip4xwf8i92bvvz84mn0mzv5b4mq3im"; depends=[]; };
   ecoseries = derive2 { name="ecoseries"; version="0.1.5"; sha256="1q35hp5hl6z28hns5rnp3mjn6hqp5qh714pagw7fw4d4a6wnvacy"; depends=[magrittr RCurl readr rjson rvest tibble xml2 zoo]; };
@@ -6902,23 +7153,23 @@ in with self; {
   ecospat = derive2 { name="ecospat"; version="3.0"; sha256="1c9cbxs022f2bjnvgdfxhmqkzr30svna596r1fn5i7zsqd7dm0w6"; depends=[ade4 adehabitatHR adehabitatMA ape biomod2 classInt dismo doParallel ecodist foreach gbm gtools iterators maptools MigClim poibin PresenceAbsence randomForest raster rms snowfall sp spatstat vegan]; };
   ecotox = derive2 { name="ecotox"; version="1.4.0"; sha256="1x048njvlq7mp0fpx2nal8znhnkw5cnq2z0rmvknm2m66lfhds7a"; depends=[ggplot2 tibble]; };
   ecotoxicology = derive2 { name="ecotoxicology"; version="1.0.1"; sha256="084xkr59d7x9zxmsnsyym2x8jshz6ag6rvnmhd1i6fzar8ypwccb"; depends=[]; };
-  ecoval = derive2 { name="ecoval"; version="1.2.4"; sha256="1ch5mdzc4w6j84gy02k1bxxi8q0zp9nxr7g2g355gl26v1gb885a"; depends=[jpeg rivernet utility]; };
-  ecp = derive2 { name="ecp"; version="3.1.1"; sha256="0s0286ky1imhhs89bp1ylx8wvii55v7wzg1g49l03az64971kayj"; depends=[Rcpp]; };
+  ecoval = derive2 { name="ecoval"; version="1.2.5"; sha256="0rlgi8cd7jdybb2dqx6ndp8rg02bvsvhksmh8vk8g5fg2wk0rll3"; depends=[jpeg rivernet utility]; };
+  ecp = derive2 { name="ecp"; version="3.1.2"; sha256="11f9p869xr0zg779i46gmflxlq4xclk9wxbab0nj2fan26pn4sfy"; depends=[Rcpp]; };
   ecr = derive2 { name="ecr"; version="2.1.0"; sha256="0vvkdxlcqaim9mkgwgdxrx1xhw3lshi1nxfw3kqllq14p3l6xss4"; depends=[BBmisc checkmate ggplot2 parallelMap ParamHelpers reshape2 smoof]; };
   ectotemp = derive2 { name="ectotemp"; version="0.1.2"; sha256="0dy6n2gaz6qgfj2gvavlgl4ic15wq1lb9ykynihi77nyxnz67i46"; depends=[dplyr psych]; };
   ed50 = derive2 { name="ed50"; version="0.1.1"; sha256="058p1750ba5hp4rczi26grgwjia2ny1880v1vfp6wxad13r459pq"; depends=[boot]; };
+  ed50simulation = derive2 { name="ed50simulation"; version="0.1.1"; sha256="00fknpssrpin8bpjhf2lsjx3lbpinrmqa6jzmgy3nslkc51x0939"; depends=[boot]; };
   eda4treeR = derive2 { name="eda4treeR"; version="0.2.0"; sha256="0fh6nfgvbkvjm1f0b292ggi0mr8ylq5pg2wp8cph46j8rhbgbdxz"; depends=[dae dplyr emmeans ggplot2 lme4 magrittr pbkrtest tidyverse]; };
   edarf = derive2 { name="edarf"; version="1.1.1"; sha256="0f27hs7vn4v2jis3d66s48hr0ki8m8ndspcw1cwns5vjwb77iqwm"; depends=[data_table ggplot2 mmpf]; };
   edcc = derive2 { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
   edci = derive2 { name="edci"; version="1.1-3"; sha256="1f1ry2adfranfrrvf1gkiy58pra3z6bray4v5fgr0z9n1ybcaff0"; depends=[]; };
   eddi = derive2 { name="eddi"; version="0.0.1"; sha256="19cgrqdcji509igb6rmlwb75xyyvrh34nv6zyjjfcsc31p5nvf95"; depends=[raster rgdal]; };
   edeR = derive2 { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
-  edeaR = derive2 { name="edeaR"; version="0.8.2"; sha256="1ypicc3vvyal9cswv0jv79p1k6bfgiknh9sgik9187jrsbfcwb99"; depends=[bupaR data_table dplyr ggplot2 ggthemes glue hms lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr zoo]; };
-  edesign = derive2 { name="edesign"; version="1.0-13"; sha256="0fc3arr8x9x9kshp6jq4m4izzc5hqyn5vl0ys6x0ph92fc6mybp3"; depends=[]; };
+  edeaR = derive2 { name="edeaR"; version="0.8.3"; sha256="18v85mzs5gys3x4vj9dh941xxbfajlp6zly2q7pf842hs33fipbi"; depends=[bupaR data_table dplyr ggplot2 ggthemes glue hms lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr zoo]; };
   edf = derive2 { name="edf"; version="1.0.0"; sha256="14ikm6j0ndxrk7c7lh5mbd2aci46d4j9a30mvcgnxy3kq6046a7b"; depends=[]; };
   edfReader = derive2 { name="edfReader"; version="1.2.1"; sha256="076far4fhd6rpa6fwffad4cgchjvar135yblvlrm33s9pd5bf0hn"; depends=[]; };
   edfun = derive2 { name="edfun"; version="0.2.0"; sha256="1wxx6bgy03z7c1d6556bbjl1cb49n2vn734fw2d5c1jk0zsh3fmz"; depends=[]; };
-  edgar = derive2 { name="edgar"; version="2.0.1"; sha256="132wyaf5w1vbvghr079icrra71hk5p8plrk4wx8anag54b5m0q4r"; depends=[qdapRegex R_utils stringi stringr tm XML]; };
+  edgar = derive2 { name="edgar"; version="2.0.2"; sha256="1cxx08l06dv38n5af7wyb22zslwzz5pxvg5r4520zd2k7w2m7k1l"; depends=[qdapRegex R_utils stringi stringr tm XML]; };
   edgarWebR = derive2 { name="edgarWebR"; version="1.0.0"; sha256="0rnf3s5d5sclvd4y195mfkrazg4qvpyyrgl6jcqikygbcz8hg3j8"; depends=[httr xml2]; };
   edgeCorr = derive2 { name="edgeCorr"; version="1.0"; sha256="19n67yc58ksin7xydrnfsyyw7fqawm5xli67cz4lv4wb62w6r6ld"; depends=[]; };
   edgeRun = derive2 { name="edgeRun"; version="1.0.9"; sha256="0d5nc8fwlm61dbi00dwszj1zqlij4gfds3w1mpcqnnfilr2g3di1"; depends=[data_table edgeR]; };
@@ -6928,7 +7179,7 @@ in with self; {
   edrGraphicalTools = derive2 { name="edrGraphicalTools"; version="2.2"; sha256="105jv2sz10xbl881lkhgmxzgmb8629mqsminhd197khrkf9nv40i"; depends=[lasso2 MASS mvtnorm rgl]; };
   edstan = derive2 { name="edstan"; version="1.0.6"; sha256="1gm1rxwywigyfdlcm2yj1m9qjb4s6w7chr1ck7b32x1pdxdl3ns5"; depends=[ggplot2 rstan]; };
   educineq = derive2 { name="educineq"; version="0.1.0"; sha256="0qd6kvcy280glv3q6lcrawmnsfvp90as95chgi3hav0yj2dpakn6"; depends=[flexsurv ineq]; };
-  eechidna = derive2 { name="eechidna"; version="1.3.0"; sha256="1hh6qmdsq700q16g7fjvk6gq8z3kd4562ch5pvlb0zqgjx52jskf"; depends=[colourpicker dplyr ggplot2 ggthemes magrittr plotly purrr rgdal rgeos shiny sp stringi tidyr]; };
+  eechidna = derive2 { name="eechidna"; version="1.4.0"; sha256="07537brbdinkrmygbd2galyl6acbcbg2pkjafkdhxdgklpxv7j9m"; depends=[colourpicker dplyr ggplot2 ggthemes magrittr plotly purrr rgdal rgeos shiny sp stringi tibble tidyr tidyselect]; };
   eefAnalytics = derive2 { name="eefAnalytics"; version="1.0.6"; sha256="07wpz8zlgkbzkhmv569w7rnz3i830391arrh17sg2gc4fx9h1559"; depends=[geoR lme4 metafor mvtnorm]; };
   eegkit = derive2 { name="eegkit"; version="1.0-4"; sha256="1r1lack4ps9hwqq56rq37431rcxf3x79zgvda6vrmh4s0ziy6v4x"; depends=[bigsplines eegkitdata ica rgl signal]; };
   eegkitdata = derive2 { name="eegkitdata"; version="1.0"; sha256="1krsadhamv1m8im8sa1yfl7injvrc4vv3p88ps1mpn8hibk5g51m"; depends=[]; };
@@ -6936,9 +7187,10 @@ in with self; {
   eemR = derive2 { name="eemR"; version="1.0.1"; sha256="1w3nwlrbxm7z4c3acx991zk5drgs67qys7kgl0qakh5vrdsrxw3v"; depends=[assertthat dplyr pracma purrr R_matlab rlist stringr viridis]; };
   eeptools = derive2 { name="eeptools"; version="1.2.2"; sha256="1sc9km926pnl6dhk7ir2zx4693bki10zrq09v07k177wq7xlphw9"; depends=[arm data_table ggplot2 maptools vcd]; };
   eesim = derive2 { name="eesim"; version="0.1.0"; sha256="0ljj1jp9cl0im8k7sfjd28ggj4q9a14df3554kwxkssr1vsn1wbc"; depends=[dplyr lubridate purrr viridis]; };
-  effectFusion = derive2 { name="effectFusion"; version="1.1.1"; sha256="1z3m1wadl5qs37mbj335xghinji9qx9njrd9ckvz63xh1sgpz89i"; depends=[bayesm cluster ggplot2 GreedyEPL gridExtra MASS Matrix mcclust]; };
+  effectFusion = derive2 { name="effectFusion"; version="1.1.2"; sha256="0m392wrkmgvys7a2bk2w1swfkjikkllng8sy8wb8s2j9y6c3wanp"; depends=[bayesm cluster ggplot2 GreedyEPL gridExtra MASS Matrix mcclust]; };
   effectR = derive2 { name="effectR"; version="1.0.2"; sha256="1icr1sx98x3h8rbky1agdh809arhjqcypyajl7y50yis8a5pkycb"; depends=[ggplot2 reshape2 rmarkdown seqinr shiny viridis]; };
-  effects = derive2 { name="effects"; version="4.1-1"; sha256="1j3arsysyxssq5rhz779h8ffryxvashxhf5j0z08p2p7xhv7s3ns"; depends=[carData colorspace estimability lattice lme4 nnet survey]; };
+  effects = derive2 { name="effects"; version="4.1-4"; sha256="1jbpyji7qn5hz8a6afsfbng0nx0a7w0v3v51wpmnbipfjchyalhy"; depends=[carData colorspace estimability lattice lme4 nnet survey]; };
+  effectsize = derive2 { name="effectsize"; version="0.0.1"; sha256="07vgmxdl75798hgdh90zysafjh97rmmj2wjjyr6xff4fbhi8rlkb"; depends=[bayestestR insight parameters]; };
   effectsizescr = derive2 { name="effectsizescr"; version="0.1.0"; sha256="0shfjk6r3bz04jakrn5nwgymjx60lk83i0akcx7zqfxp3k8yncs5"; depends=[Kendall]; };
   efflog = derive2 { name="efflog"; version="1.0"; sha256="1sfmq7xrr6psa6hwi05m44prjcpixnrl7la03k33n0bksj8r1w6b"; depends=[]; };
   effsize = derive2 { name="effsize"; version="0.7.6"; sha256="129vs8kp10h6yhrrmn77518120bmfr55l6nkpbxkvylnr641b5a2"; depends=[]; };
@@ -6947,15 +7199,17 @@ in with self; {
   ega = derive2 { name="ega"; version="2.0.0"; sha256="04kwh24aap22yclmcrix3vi553qb30hd43mgfzpdl0cw3ibrh7xg"; depends=[ggplot2 mgcv]; };
   egcm = derive2 { name="egcm"; version="1.0.12"; sha256="0nssf5six1j7z6fss7478zdbsfx60myzw833m7nsnaf1r8n4ixaf"; depends=[ggplot2 MASS pracma quantmod tseries urca xts zoo]; };
   egg = derive2 { name="egg"; version="0.4.5"; sha256="1fy7srpiavfn8kyrr1m84an7acgwi6ydzrg71m3b0vk7y9ybmj0m"; depends=[ggplot2 gridExtra gtable]; };
-  eggCounts = derive2 { name="eggCounts"; version="2.2"; sha256="0y1335m8cmayaprgkzs7ws959mxlr3l71p203s3n732dz51smmbz"; depends=[BH boot coda lattice numbers Rcpp RcppEigen rootSolve rstan StanHeaders]; };
+  eggCounts = derive2 { name="eggCounts"; version="2.2-1"; sha256="01lbinwc91pyynhny3lpdh0gb8fffk4dq8a99ps0mbsk8aa5735j"; depends=[BH boot coda lattice numbers Rcpp RcppEigen rootSolve rstan StanHeaders]; };
   egoTERGM = derive2 { name="egoTERGM"; version="2.1.1"; sha256="1zp3kr7s43rjp45qbd6lv48mbmby5rrz1vdz9s64v43rjm8v2jyz"; depends=[boot btergm ergm GGally Matrix network sna speedglm xergm_common]; };
-  egor = derive2 { name="egor"; version="0.19.1"; sha256="0sfms7yvdhqk5qn9dh4j1fp8b2md6l04hdv2psjdzhqyxl29bxfw"; depends=[dplyr igraph network plyr purrr shiny survey tibble tidyr]; };
-  eha = derive2 { name="eha"; version="2.6.0"; sha256="0nw72jcwcx2rzlzsrmdvg7pymyzf5icynidlr1m9b70v6rnqr84b"; depends=[survival]; };
+  egor = derive2 { name="egor"; version="0.19.10"; sha256="0s9s15j1v5z2v8jhfz8zrmfl43hmn7rw1afs1wjw1kvzz41k1jlm"; depends=[dplyr igraph network plyr purrr rlang shiny survey tibble tidygraph tidyr]; };
+  eha = derive2 { name="eha"; version="2.7.6"; sha256="01q75bn3r06zwbfa6p69whdkilqx53ysxa3cz2d50jvd79bqlf4h"; depends=[survival]; };
+  ehaGoF = derive2 { name="ehaGoF"; version="0.1.0"; sha256="1qrx9rmf4ifasxycnzj06xn3gl0gp9w1vplb4wrghiziqw5cqird"; depends=[]; };
+  ehelp = derive2 { name="ehelp"; version="1.1"; sha256="0zxa6aq75w4k4pkk47wmdird2r8jvqvkbbzhilmv0f7z36lrr894"; depends=[]; };
   ei = derive2 { name="ei"; version="1.3-3"; sha256="0i8pvpal23zwsqldhmm3iis4vw9s08mlydpshaig2dsd9549gn11"; depends=[cubature eiPack ellipse foreach MASS mnormt msm mvtnorm plotrix sp tmvtnorm ucminf]; };
   eiCompare = derive2 { name="eiCompare"; version="2.1"; sha256="0kv4k1zk1gz3fapy2i2ydy0n38hy95i10r3hr3dx8mkkf3nsj46h"; depends=[cubature data_table ei eiPack ellipse foreach ggplot2 magrittr mnormt msm mvtnorm plotrix plyr R_utils stringr tidyr tmvtnorm ucminf]; };
   eiPack = derive2 { name="eiPack"; version="0.1-9"; sha256="1rivccqfr5hz80xgfw652993zg0pw7yd0by52hyp7bwm89gsjksq"; depends=[coda MASS msm]; };
   eiPartialID = derive2 { name="eiPartialID"; version="0.1.2"; sha256="0721p89llzjznz2b6zlf54v7fy9lb9c5qb7w8q0l582iy5cwaw35"; depends=[eco MASS sandwich]; };
-  eia = derive2 { name="eia"; version="0.3.2"; sha256="1p994salk4rn86fjcwm3m9y5lfalmx0wac3xnrfm48w9qx7ms15z"; depends=[dplyr httr jsonlite lubridate magrittr memoise purrr tibble]; };
+  eia = derive2 { name="eia"; version="0.3.4"; sha256="1yjrgmf6s9c35wpgpg66gi0wmfynm3kbcyaknsw44blpkd35c6yq"; depends=[dplyr httr jsonlite lubridate magrittr memoise purrr readxl tibble]; };
   eigeninv = derive2 { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; };
   eigenmodel = derive2 { name="eigenmodel"; version="1.11"; sha256="1l3n0z736xf3x6cyxzmmq1jb2glxi2b75z7v39y4471knh6nbb4d"; depends=[]; };
   eigenprcomp = derive2 { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
@@ -6963,7 +7217,7 @@ in with self; {
   eive = derive2 { name="eive"; version="2.3"; sha256="073hwx944db7zxq6yib6yvciaic11k49zl1iqphippcd5ygkad80"; depends=[Rcpp]; };
   eivtools = derive2 { name="eivtools"; version="0.1-8"; sha256="0ynmrql6dv10m7cwba5mzwlbvp6ab53nzqqvk3ihwyiqzmnnmpk4"; depends=[R2jags]; };
   eiwild = derive2 { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[coda gtools lattice]; };
-  eixport = derive2 { name="eixport"; version="0.3.6"; sha256="0wzp7jxs80drp428m6kgx419vzrmiw6spgv9ldrakbfkjjnrzsa6"; depends=[cptcity ncdf4 raster sf sp]; };
+  eixport = derive2 { name="eixport"; version="0.4.0"; sha256="06knza8mm7d8i1h72axq3s9id1cdrrq0gjc6lc3q65hf5hx89k1q"; depends=[cptcity ncdf4 raster sf sfheaders silicate sp tidyr]; };
   elasso = derive2 { name="elasso"; version="1.1"; sha256="0nz3vw803dvk4s45zc9swyrkjwna94z84dn4vfj3j17h74a0cij2"; depends=[glmnet SiZer]; };
   elastic = derive2 { name="elastic"; version="1.0.0"; sha256="1mq2ayq4dwb1y0dkp3v30qs6vh2d5q4brcifjrvq7wifh4r6gnpk"; depends=[crul curl jsonlite R6]; };
   elasticIsing = derive2 { name="elasticIsing"; version="0.2"; sha256="1zjgvz7w5j06x2cd1fzjl85di95ah67m1lanw01kic2bvhfwfbn6"; depends=[cvTools glmnet magrittr qgraph reshape2]; };
@@ -6974,31 +7228,34 @@ in with self; {
   elect = derive2 { name="elect"; version="1.2"; sha256="1hjqhmdklspssa75x8xdhv2narqgw80qh259hyfwfgnvva97w2ja"; depends=[msm nnet]; };
   elections = derive2 { name="elections"; version="1.0"; sha256="0ig3pd1dw978g2sg4ynzd3p15nk6hx17pxvbxfi5rm131mjdmjdm"; depends=[]; };
   electionsBR = derive2 { name="electionsBR"; version="0.3.1"; sha256="0yxaxd84d13mb6xbixgm9rd56alrh5qnrmh54n1h94mna89jb103"; depends=[data_table dplyr haven magrittr readr]; };
+  electivity = derive2 { name="electivity"; version="1.0.2"; sha256="0clxsn9zkpdlq9jgq029ag310ji0hd0l23wfyqh8gkkj0091ip5a"; depends=[]; };
   electoral = derive2 { name="electoral"; version="0.1.1"; sha256="0lmw9kwr189dzfxzlns9fmhrdy93ja8jl2s4jir07lichyiavs03"; depends=[dplyr ineq tibble]; };
   elementR = derive2 { name="elementR"; version="1.3.6"; sha256="12gg2x6xzms2ni80qdm04bfajg55ff6zkki0y2cz47kq70wzfkmg"; depends=[abind colourpicker devtools EnvStats gdata gnumeric httpuv lmtest outliers R6 reader readODS readxl shiny shinydashboard shinyjs stringr tcltk2 zoo]; };
   elevatr = derive2 { name="elevatr"; version="0.2.0"; sha256="0721w28pb07ndw24k4zssh5r90fd4mf33yxigricnz23z29ql120"; depends=[httr jsonlite progress raster sf sp]; };
   elexr = derive2 { name="elexr"; version="1.0"; sha256="1xmrzlp55z6k3psdg4a3x3rsilvq3k37v9r7ydfn80ahvqjz0fqh"; depends=[]; };
+  elfDistr = derive2 { name="elfDistr"; version="1.0.0"; sha256="11h91mwiw2pr0c8zvyzqql275falpiajv784n2rd5xs9azprqdd0"; depends=[Rcpp]; };
   elhmc = derive2 { name="elhmc"; version="1.1.0"; sha256="0ngva7rnfj75fq93ycsv929m9ykijp48r7cvd6sfmi0sqsjinax5"; depends=[emplik MASS plyr]; };
   elitism = derive2 { name="elitism"; version="1.0.4"; sha256="0n5g1nd1dd5wc76qa2va1lyxahg9p062l8wdqzq43ah6943pjzgr"; depends=[MASS]; };
   elliplot = derive2 { name="elliplot"; version="1.2.0"; sha256="186i4gr8k9bifzssblln8z6wxfmnplls3kc4m2liiz86mzsnim9r"; depends=[]; };
   ellipse = derive2 { name="ellipse"; version="0.4.1"; sha256="0g82vc51m3c1k0hnpp2zla6amxxgk2mmkl8ssnsc49jv3599r6hs"; depends=[]; };
-  ellipsis = derive2 { name="ellipsis"; version="0.2.0.1"; sha256="0hx9l043433bwm1np9sypph77c7y9dddpz0wrhbkcv01x32jhr8f"; depends=[rlang]; };
+  ellipsis = derive2 { name="ellipsis"; version="0.3.0"; sha256="01z9gq311nzwv3a0sa49jhm5ylqd59srip4vjkrf23hzgb5i9y0b"; depends=[rlang]; };
   elliptic = derive2 { name="elliptic"; version="1.4-0"; sha256="1dhba0yfxjd5rlqsxp5a7s2hclfkla9wigsr39dlma67l6qjjmxn"; depends=[MASS]; };
   elmNNRcpp = derive2 { name="elmNNRcpp"; version="1.0.1"; sha256="1n71b5pqd1szhmp4q1h9aqgkx7s54f5i3xk5nljwzsn7cyih1kb3"; depends=[KernelKnn Rcpp RcppArmadillo]; };
   elo = derive2 { name="elo"; version="2.0.0"; sha256="0cryr1cgvs5z54piw6yrv9fd7nrqv1kwxw5ahx46k7qxdgr5bb2s"; depends=[pROC Rcpp]; };
   emIRT = derive2 { name="emIRT"; version="0.0.8"; sha256="17igda5phgfapjzg7dkid5jj49gmwgpadjr27z7s21365i7md9mz"; depends=[pscl Rcpp RcppArmadillo]; };
   emax_glm = derive2 { name="emax.glm"; version="0.1.2"; sha256="04di6bp97cxjbbszakb64y15bjmnd2j8zvxdj8gdbgmhxk9wmbwd"; depends=[AER MASS pander pracma pROC]; };
-  embed = derive2 { name="embed"; version="0.0.3"; sha256="1kjrnjh683ly3mi4rshyw8hz2sci38n8zmin4llkhgcs249z99hz"; depends=[dplyr generics keras lme4 purrr recipes rlang rstanarm tensorflow tibble tidyr uwot withr]; };
-  embryogrowth = derive2 { name="embryogrowth"; version="7.4.1"; sha256="1qha6l7q0565fn9yfvp04dmlpf21hr754gh6fpzhqnrh58h371v1"; depends=[deSolve HelpersMG numDeriv optimx]; };
+  emba = derive2 { name="emba"; version="0.1.1"; sha256="0sgh97jzfxna4dww8xmj1qy5435d4lm2yar2ra6nf416snlppjxv"; depends=[Ckmeans_1d_dp igraph magrittr rje usefun visNetwork]; };
+  embed = derive2 { name="embed"; version="0.0.4"; sha256="02rwifkpghwymsqnkn43p2gylnlxk2a3bqmssh7amd3d6rpl3wl8"; depends=[dplyr generics keras lme4 purrr recipes rlang rstanarm tensorflow tibble tidyr uwot withr]; };
+  embryogrowth = derive2 { name="embryogrowth"; version="7.6"; sha256="0bsg904jikb1dqichkinpgm0difg17sfczw6q4zab6r02s7yb53s"; depends=[deSolve HelpersMG numDeriv optimx]; };
   emdbook = derive2 { name="emdbook"; version="1.3.11"; sha256="0a515jdzvg87npvrh7md7zp0v5nlz7c2jr7pba5dql6slb0d8j7q"; depends=[bbmle coda lattice MASS plyr]; };
-  emdi = derive2 { name="emdi"; version="1.1.5"; sha256="06v982rw8sz22w624hr68vdgxmfmi5na11ywsg6qr77jvgbprgz4"; depends=[boot ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 rgeos]; };
+  emdi = derive2 { name="emdi"; version="1.1.6"; sha256="1zxbbn0rl2z7zksh1k8wznry4k1bs08ipla1kaxyadj3i2wdk2y3"; depends=[boot ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 rgeos]; };
   emdist = derive2 { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
   emg = derive2 { name="emg"; version="1.0.7"; sha256="1d4l9kcji6ba137f1qqjl763q2fd6bxryxsarc3iwi3mfi2b580m"; depends=[]; };
   emhawkes = derive2 { name="emhawkes"; version="0.9.0"; sha256="1h6map6w66q91s6g1qr9wfk589cbvva1banqrxzzf29g7ihl15vh"; depends=[maxLik]; };
-  emld = derive2 { name="emld"; version="0.2.0"; sha256="08kncxrc4yj32wcl6h1sszrajfi41m87sivc94py40c9bxpmnmmf"; depends=[jsonld jsonlite xml2 yaml]; };
+  emld = derive2 { name="emld"; version="0.3.0"; sha256="16f1za636bbdp9y5mq40n2v77l2zbmwrph870wm12rmn7cjl9bwq"; depends=[jsonld jsonlite xml2 yaml]; };
   emma = derive2 { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[clusterSim earth]; };
   emme2 = derive2 { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
-  emmeans = derive2 { name="emmeans"; version="1.4"; sha256="1ynf9hhbch83k63lwps69ijfch30fk5v0sc418ck264c5vih26dh"; depends=[estimability mvtnorm numDeriv plyr xtable]; };
+  emmeans = derive2 { name="emmeans"; version="1.4.3.01"; sha256="16v5j31516nbqnj2zhgqvyp5yxd4zcs5zi0aspa5plr2qikvrkmg"; depends=[estimability mvtnorm numDeriv plyr xtable]; };
   emoa = derive2 { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
   emojifont = derive2 { name="emojifont"; version="0.5.2"; sha256="0s1as6i5dz2rbd1aashn99fji2iksjzrkdkfi7wqnnxxpmkha3yx"; depends=[ggplot2 proto showtext sysfonts]; };
   emon = derive2 { name="emon"; version="1.3.2"; sha256="19khjjpyxvzhzihqq15w02l5v5ryyvxlklz1ch2gkmqcpnvyga32"; depends=[MASS mgcv]; };
@@ -7009,7 +7266,7 @@ in with self; {
   emplik2 = derive2 { name="emplik2"; version="1.21"; sha256="1980bwc4fc4rwzlwya030n5rv8rq0s82hnw955mvaxrbmicnqlla"; depends=[]; };
   ems = derive2 { name="ems"; version="1.2.7"; sha256="1l4javnfhlb6y40dpdvri2795yj0s9zqf8bi02s5llx5lcq3bxbd"; depends=[]; };
   emstreeR = derive2 { name="emstreeR"; version="2.2.0"; sha256="1qbv61j2ya6zvyp8494xi8dhjlb58jmqil9cm5z0pr7p2sr6l32r"; depends=[BBmisc BH ggplot2 Rcpp RcppArmadillo RcppMLPACK scatterplot3d]; };
-  emuR = derive2 { name="emuR"; version="2.0.2"; sha256="1a5ylfw9x6bbycamj5dj4hj3ssx701nkn11rngcysy50ppdwr2ll"; depends=[base64enc compare DBI dplyr git2r httpuv jsonlite MASS mime purrr RCurl readr rlang RSQLite rstudioapi shiny stringr tibble tidyr uuid wrassp]; };
+  emuR = derive2 { name="emuR"; version="2.0.4"; sha256="152lg7sf98a7qrblz1ryjdpsprk2arfzwlq8z7b4ilr771lq0plw"; depends=[base64enc compare DBI dplyr git2r httpuv jsonlite MASS mime purrr RCurl readr rlang RSQLite rstudioapi shiny stringr tibble tidyr uuid wrassp]; };
   emulator = derive2 { name="emulator"; version="1.2-20"; sha256="11z25iqyzck0s4hw0i86i9jsi52w9bjxx3zdpafssyfqfk7z5avw"; depends=[mvtnorm]; };
   enaR = derive2 { name="enaR"; version="3.0.0"; sha256="0sy7k8l6b8p34bcf9bpjr1y6qkjkvn77y2w2ws7ivcr1fynrhm5p"; depends=[gdata limSolve MASS network sna stringr]; };
   enc = derive2 { name="enc"; version="0.2.1"; sha256="0lx159hj464i9libaa3qy96avdwq220333h7pbdh94xz6jrn7k73"; depends=[]; };
@@ -7025,9 +7282,9 @@ in with self; {
   english = derive2 { name="english"; version="1.2-3"; sha256="1gyj3wzx9spibmly7blw2i3gx9gvy22iy8js4r9gn8d3hpv4yf98"; depends=[]; };
   engsoccerdata = derive2 { name="engsoccerdata"; version="0.1.5"; sha256="06fdgjgnk4lwshrkd0jad411x5nz9sxlri9fdhxrf2dr2hik4l8q"; depends=[dplyr magrittr tidyr]; };
   enpls = derive2 { name="enpls"; version="6.1"; sha256="12088v9xnj5b3dlakqz1hbzxz4mdai7xi7s2fpx8lj3y3lx7znmb"; depends=[doParallel foreach ggplot2 plotly pls reshape2 spls]; };
-  enrichR = derive2 { name="enrichR"; version="2.0"; sha256="056m6hksfss29fj7zvlk7pbh8g3gq84kjh3240isrsnhp9m1h9iz"; depends=[httr rjson]; };
+  enrichR = derive2 { name="enrichR"; version="2.1"; sha256="0ymhzs9d2wl0s9rvbqc1hqb78mlzwhlc7mmijpfqkm5r720pf6m1"; depends=[httr rjson]; };
   enrichvs = derive2 { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; };
-  enrichwith = derive2 { name="enrichwith"; version="0.2"; sha256="063q4jbs6054djk6qf3105p7na4kndvr549w5c4fiz8264r8bnvv"; depends=[]; };
+  enrichwith = derive2 { name="enrichwith"; version="0.3"; sha256="0nc8cdzz9x39kl821qpqg4b0rcs3a1vs75wivlcxcq5zlmdlpb9x"; depends=[]; };
   ensembleBMA = derive2 { name="ensembleBMA"; version="5.1.5"; sha256="0p744151pbj278lyc8d8p7rc20n70abpfgxz6jr10jarmq3r6x7l"; depends=[chron]; };
   ensembleMOS = derive2 { name="ensembleMOS"; version="0.8.2"; sha256="16d8030zfdwifqrh45vz3gf5n0bix0mhsmsnydgjq1fghdklcmyx"; depends=[chron ensembleBMA evd]; };
   ensembleR = derive2 { name="ensembleR"; version="0.1.0"; sha256="0xvq1jlsp7gsk46i847nfvadxwlh09gi2rgwss2wf2xmh1855ray"; depends=[caret]; };
@@ -7036,48 +7293,52 @@ in with self; {
   ensurer = derive2 { name="ensurer"; version="1.1"; sha256="1gbbni73ayzcmzhxb88pz6xx418lqjbp37sdkggbrxcyhsxpdkid"; depends=[]; };
   entropart = derive2 { name="entropart"; version="1.6-1"; sha256="0cc40xf2lf2vxxnamn26fkrch9lmpbqm4am743yq7bmprfbn4cc4"; depends=[ade4 ape EntropyEstimation geiger ggplot2 ggpubr reshape2 vegan]; };
   entropy = derive2 { name="entropy"; version="1.2.1"; sha256="10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd"; depends=[]; };
-  envDocument = derive2 { name="envDocument"; version="2.4.0"; sha256="0r7h9p0b0gr2l18mv1ydlamsc0iq474dfhp450mdfnw2q289mhrn"; depends=[]; };
+  entrymodels = derive2 { name="entrymodels"; version="0.1.0"; sha256="0clyv5ws5nnnyys596zbmdndds43xrvnnkbdk59kj3wscw0hq982"; depends=[dplyr magrittr readr]; };
+  envDocument = derive2 { name="envDocument"; version="2.4.1"; sha256="074m7adnasvys28kjdgj9071fi90vsl4yv5zvpxik4crlx098dlw"; depends=[]; };
   envalysis = derive2 { name="envalysis"; version="0.3.3"; sha256="1ys93g5gxr9x1v4hg98dcpwa40n5xkh1j8drrmpnmxwq6gv01r6r"; depends=[drc ggplot2]; };
-  enveomics_R = derive2 { name="enveomics.R"; version="1.4.4"; sha256="06pj5mla76w90mrzqlv7szcs7psaxhl6y0w0v0w6f8nlxx06nm3v"; depends=[fitdistrplus investr sn]; };
-  enviGCMS = derive2 { name="enviGCMS"; version="0.5.5"; sha256="15jrkc7yc9s2xh2zlh9gq9y1vz8ajh4k3vlj73393sxr6cc8g4l9"; depends=[animation BiocParallel broom crosstalk data_table dplyr DT genefilter ggplot2 ggraph ggridges igraph iterators itertools mixtools plotly rcdk RColorBrewer reshape2 rmarkdown shiny shinythemes]; };
+  enveomics_R = derive2 { name="enveomics.R"; version="1.7.0"; sha256="0nk356svi25lzw5iza0jmg6krxhizilm7ja3sgym65319jpcflbp"; depends=[fitdistrplus investr sn]; };
+  enviGCMS = derive2 { name="enviGCMS"; version="0.5.7"; sha256="00hydrvawm2zx6d8dcfd5p5l01lvrk5hsfq8k67b2iysjn2sh531"; depends=[animation BiocParallel broom crosstalk data_table dplyr DT genefilter ggplot2 ggraph ggridges igraph iterators itertools mixtools plotly rcdk RColorBrewer reshape2 rmarkdown shiny shinythemes]; };
   enviPat = derive2 { name="enviPat"; version="2.4"; sha256="1gvb7jmwwh4l44b50xmrq3bysr2iv6442yh9pdk6n81g3bgpz1d0"; depends=[]; };
   enviPick = derive2 { name="enviPick"; version="1.5"; sha256="04q6zwqq2ip8b8h2n1jpgx1bzcvi7lazljs0806wiakbc79x232p"; depends=[readMzXmlData shiny]; };
-  envirem = derive2 { name="envirem"; version="2.0"; sha256="150sqyc4k3cq12dl4ivbc4w0gmqfrkxj80mfk4ak4f5zp770k30a"; depends=[huxtable palinsol raster RSAGA sp]; };
+  envirem = derive2 { name="envirem"; version="2.1"; sha256="175190l81r24v6ygr759l4qwi4i3v6n57jmgswamr01px4pvhxag"; depends=[huxtable palinsol raster RSAGA sp]; };
   envlpaster = derive2 { name="envlpaster"; version="0.1-2"; sha256="11a5n40k1ln5gxxvwq1vh4dhmhifhlm89hkhf36qnhj4bjh3v3y0"; depends=[aster aster2 caTools MASS]; };
   envnames = derive2 { name="envnames"; version="0.4.0"; sha256="12mfbcksrp733jycasaiavlsmx138xmjpywly1wha4ds6bfw93hr"; depends=[]; };
-  eoffice = derive2 { name="eoffice"; version="0.1.7"; sha256="0jz18650zr6y1maz4lj4xlc5w8v87mgjkk92yqn4pyfv6x1i5y8n"; depends=[broom devEMF dplyr flextable ggplot2 ggplotify gplots htmlwidgets magick magrittr officer plotly R_devices rvg tibble]; };
+  envoutliers = derive2 { name="envoutliers"; version="1.0.0"; sha256="1wkd6xpsw5n9jx0qq5p88h6j8vkcyiyajd3zb6im5bc4d73nmi07"; depends=[car changepoint ecp ismev lokern MASS robustbase]; };
+  eoR = derive2 { name="eoR"; version="0.4.0"; sha256="0vn4s4af94n9h6x7z14qwpz94rgsd5m3mv55wva7x3h99ryhm83s"; depends=[data_table]; };
+  eoffice = derive2 { name="eoffice"; version="0.1.8"; sha256="03yjw8yy3x81hnisiznx2gch4flhp7b9vafavx2r8ny86mqya1k9"; depends=[broom devEMF dplyr flextable ggplot2 ggplotify gplots htmlwidgets magick magrittr officer plotly R_devices rvg tibble]; };
   epade = derive2 { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
   epandist = derive2 { name="epandist"; version="1.1.1"; sha256="0hxgbjns5bk82rgcmykxifnnxcnqdzmkimkkmpdif64zr5g3gjdg"; depends=[]; };
   epanet2toolkit = derive2 { name="epanet2toolkit"; version="0.3.2"; sha256="0j64riiy7b2v1m8ki6d43jm61s7yjwlx4kxxdvlz3fx1xw7qf522"; depends=[]; };
   epanetReader = derive2 { name="epanetReader"; version="0.7.3"; sha256="05pwa6z03qsjwr9pxpbxycsd21p7mf5j5ajyg4yaas5g100s1k8c"; depends=[]; };
+  eph = derive2 { name="eph"; version="0.2.0"; sha256="0j41hmiw59q9mwzsw94s0m0hrh4fqhbmayqbblfizh7gr7wijz53"; depends=[assertthat attempt curl dplyr expss glue janitor magrittr purrr questionr readr readxl stringr tibble tidyr tidyverse zoo]; };
   epiDisplay = derive2 { name="epiDisplay"; version="3.5.0.1"; sha256="08ym6hcbmajzr4rasdb35fxk79vgpzfc16rmcm34f7f3zzz09dyl"; depends=[foreign MASS nnet survival]; };
-  epiGWAS = derive2 { name="epiGWAS"; version="1.0.1"; sha256="07cvk1lz76j5l69s3w4f57xagi2iqk99xl6ckf56i7xb5liqwgvc"; depends=[DescTools glmnet matrixStats SNPknock]; };
-  epiR = derive2 { name="epiR"; version="1.0-2"; sha256="0phmmckac4b312aq83m6fx52w8m5hmkpv10w912b3dgyj0vysm17"; depends=[BiasedUrn survival]; };
+  epiGWAS = derive2 { name="epiGWAS"; version="1.0.2"; sha256="0jqblfmz02za3b2pgi15379bzgh98yv5kyv8kh0lkzhrmpgph2zj"; depends=[DescTools glmnet matrixStats SNPknock]; };
+  epiR = derive2 { name="epiR"; version="1.0-10"; sha256="1y1ki5dynzs58m1wgzsydbhpi8lmfbb9h4sma064mwyw6mih0q7g"; depends=[BiasedUrn survival]; };
   epibasix = derive2 { name="epibasix"; version="1.5"; sha256="0ivr51x37cbdryli9b4p4iq9v2c90zwmywrwdmg7ryq5vprvvbp0"; depends=[]; };
   epicontacts = derive2 { name="epicontacts"; version="1.1.0"; sha256="0f4a1y311z3fxw7ygj6fgsq6d2qn0ivxsjlh742pkmg3jb63s0f3"; depends=[colorspace dplyr igraph magrittr threejs visNetwork]; };
   epidata = derive2 { name="epidata"; version="0.3.0"; sha256="1b00k086wiwhhrlh4348wqqza1v0whakwy5h7q95rmgxz7lppiim"; depends=[dplyr httr jsonlite purrr readr rvest stringi tidyr xml2]; };
   epiflows = derive2 { name="epiflows"; version="0.2.0"; sha256="09ri1p73ih0i08irc06ff169hi5vcl8bdi63b056kzxgmv17yqkp"; depends=[epicontacts geosphere ggmap ggplot2 htmltools htmlwidgets leaflet sp tibble visNetwork]; };
-  epimdr = derive2 { name="epimdr"; version="0.6-3"; sha256="1lrfmaggxifnm85b45x7jfq0i8nxswggmrzaxbpxjh6p1mdjaism"; depends=[deSolve phaseR polspline shiny]; };
+  epimdr = derive2 { name="epimdr"; version="0.6-4"; sha256="15j0gz8pqvmjb8q7bp1bnpv8mz63cq0j5kikp3h1146nzcnlxmaw"; depends=[deSolve polspline shiny]; };
   epinet = derive2 { name="epinet"; version="2.1.8"; sha256="10bgq66n99kkz0nhmsz508aypxk57zk19p5l3xrb28n72k4rfgrf"; depends=[network]; };
   epiphy = derive2 { name="epiphy"; version="0.3.4"; sha256="04wsppjycnrzrml3zxrpr0xdxxas3hj8rskiivx5vfmfjpwipq4r"; depends=[ggplot2 msm pbapply Rcpp transport]; };
   episcan = derive2 { name="episcan"; version="0.0.1"; sha256="02687f8gpc2czn19lapvazd6mnm8902ay0lhgi3wdrzfhir42m4r"; depends=[]; };
-  episensr = derive2 { name="episensr"; version="0.9.3"; sha256="0c7sk0bff0sssh0k92k213n6w4im9d8jnr0dkr8417mah5x16ahb"; depends=[actuar boot ggplot2 gridExtra magrittr plyr reshape trapezoid triangle]; };
+  episensr = derive2 { name="episensr"; version="0.9.4"; sha256="1cjfmj9alf46mpfzx7jfh6yrn7i4ldpnks28zxk42ln1zhb6jh6f"; depends=[actuar boot ggplot2 gridExtra magrittr plyr reshape trapezoid triangle]; };
   episheet = derive2 { name="episheet"; version="0.4.0"; sha256="0y3wy91hr3b9iky5k81mf897wg2gcdv05afhndjqwcfb0xkn2f9q"; depends=[assertthat dplyr ggplot2 magrittr rlang tidyr]; };
-  episode = derive2 { name="episode"; version="1.0.0"; sha256="1djk36jkvr8xvhfddqg6xsmhxc3yrgivkm8g2hr4n1qixsk1ad8m"; depends=[glmnet Matrix nnls Rcpp RcppArmadillo]; };
   episplineDensity = derive2 { name="episplineDensity"; version="0.0-1"; sha256="0nmh97xajnnh54i04yq8fdici4n5xvcbpdbjdbz79483gnils4vn"; depends=[nloptr pracma]; };
   epistasis = derive2 { name="epistasis"; version="0.0.1-1"; sha256="0dfh26bs72i01hpxpgpgyiwpmg9mjpib8zynhc5ssxa0skm518wz"; depends=[glasso igraph Matrix tmvtnorm]; };
   epitab = derive2 { name="epitab"; version="0.2.2"; sha256="0yi65bblsikwsa9i7wys1mqf6pp6j01kyc8xkyrhs5n62y1k68nc"; depends=[kableExtra knitr MASS survival xml2]; };
   epitools = derive2 { name="epitools"; version="0.5-10"; sha256="1qqa2kam3j3mkbgk62g6lwygk2fkdlrpbi27wl37j4dkdkvx013m"; depends=[]; };
   epitrix = derive2 { name="epitrix"; version="0.2.2"; sha256="1rqpvdky002h6mz636b77l4kd0im16pww62l6vnwh83si1m9pkki"; depends=[distcrete sodium stringi]; };
-  eplusr = derive2 { name="eplusr"; version="0.10.3"; sha256="1mmzqbn1zhc742cqblmwpc4k94r0zqmzwyxi5sv5d11dfj5mszzd"; depends=[callr cli crayon data_table later lubridate processx progress R6 RSQLite stringi units]; };
+  eplusr = derive2 { name="eplusr"; version="0.10.4"; sha256="1ls3ixsmkqw4wbxbym8hdxkwqr273ji5krafq4mnw51ksn5f25b5"; depends=[callr cli crayon data_table later lubridate processx progress R6 RSQLite stringi units]; };
   eply = derive2 { name="eply"; version="0.1.2"; sha256="0al44pvqf6ls3dh129vlv3g56hk1nbql09rj0qsb04d9kaz9anrp"; depends=[magrittr]; };
-  epoc = derive2 { name="epoc"; version="0.2.6-1"; sha256="0q17sf2q3yj9sia9m1d23q6li6fkvgmj2a73kl1im8aiaxwcq2m1"; depends=[elasticnet irr lassoshooting Matrix survival]; };
+  epoc = derive2 { name="epoc"; version="0.2.6-1.1"; sha256="1qlj4cl7mh5k52v2ippfs3cish5iadnix5w46p25hjqiriksclna"; depends=[elasticnet irr lassoshooting Matrix survival]; };
   epos = derive2 { name="epos"; version="0.1.0"; sha256="0b9r552hbrs281z7pxxw1hxgv9d15qmyzvgk5xsrgh8wivkh4lwp"; depends=[dplyr ggplot2 gridExtra hashmap stringr testthat tidyr TopKLists xtable]; };
   epr = derive2 { name="epr"; version="3.0"; sha256="0czfz6qkcpa2qqs3pqii27hgpdvdzfrvxl0ip67v58hamq7kvjfv"; depends=[car lme4]; };
   epsiwal = derive2 { name="epsiwal"; version="0.1.0"; sha256="0lmcmiqcc1pjj1d0zyn0hc23if1lkm85p6vcjqbddpnv9ags2mbh"; depends=[]; };
-  epubr = derive2 { name="epubr"; version="0.6.0"; sha256="0zzra5vpfsw62c19yah7fwm8xlrwnrlsb34d46wd1ssays6arf01"; depends=[dplyr magrittr tidyr xml2 xslt]; };
-  epxToR = derive2 { name="epxToR"; version="0.3-0"; sha256="0ckz7cvqsdilfkqap88brh4av9zv1fl3ijs4h4vlwwn7qvdcnhay"; depends=[httr XML]; };
-  eq5d = derive2 { name="eq5d"; version="0.2.0"; sha256="1h2mpj3l6wcwfkj1yzc4w17yzr2ir21zvz7qpv1h1b7qjdkbcrw4"; depends=[]; };
+  epubr = derive2 { name="epubr"; version="0.6.1"; sha256="0rp9q6hriilps5h6nc1226w5dvzws1g78pg3ldrq2r4dakpvsmjj"; depends=[dplyr magrittr tibble tidyr xml2 xslt]; };
+  epxToR = derive2 { name="epxToR"; version="0.4-0"; sha256="1vw9czdxp80jpvcc8bj5m4fshlavlawc1735m0s0d0x14z3giy6g"; depends=[httr XML]; };
+  eq5d = derive2 { name="eq5d"; version="0.4.0"; sha256="1zjdhxcq2slb31kf6sqjbzcrihkaxn37g4yf8lwcnffzaykz4kpg"; depends=[]; };
+  eqn2svg = derive2 { name="eqn2svg"; version="0.1.0"; sha256="01hqmhjy62ic28jsx8zn0zg87pipxmd82795pj66661qkq306lb0"; depends=[htmltools magrittr]; };
   eqs2lavaan = derive2 { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; };
   eqtl = derive2 { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
   equSA = derive2 { name="equSA"; version="1.2.1"; sha256="0gbv7jvjivnril3cmvknzmqlmpb4mv0rhqwk1i87wqxsvrgplik1"; depends=[bnlearn doParallel foreach huge igraph mvtnorm ncvreg SIS speedglm survival XMRF ZIM]; };
@@ -7091,7 +7352,7 @@ in with self; {
   equivalenceTest = derive2 { name="equivalenceTest"; version="0.0.1.1"; sha256="1lr1qc4mv8f9hwqidj1rwhxqm1fb8cf1hnb1k32xpdqwzsxbfa47"; depends=[cubature polynom Rdpack rootSolve]; };
   erah = derive2 { name="erah"; version="1.1.0"; sha256="1jp75z9y97v0dr656qqcf3npsijk91x5f2lyiwjy54yrzlf5bxp5"; depends=[igraph ncdf4 nnls quantreg Rcpp signal XML]; };
   erboost = derive2 { name="erboost"; version="1.3"; sha256="09hlpn6mqsmxfrrf7j3iy8ibb2lc4aw7rxy21g3pgqdmd9sbprim"; depends=[lattice]; };
-  ercv = derive2 { name="ercv"; version="1.0.0"; sha256="1h0v0gscf1ks1shkdvkn1g8r8x5jsb66a4m7rnpdfwbp2ijh41gp"; depends=[]; };
+  ercv = derive2 { name="ercv"; version="1.0.1"; sha256="0rs4yhm9sjnqkrgqqy6b8wj9fgk910hxc8d7zi4qwql0v1gid27l"; depends=[]; };
   erer = derive2 { name="erer"; version="2.5"; sha256="0wgzd7r63d20vghmbilqn1p5033i5p31asya1gzwlipgyfxmqp0b"; depends=[lmtest systemfit tseries urca]; };
   ergMargins = derive2 { name="ergMargins"; version="0.1.0"; sha256="0f65150ahlxx75k72f2shmlryq5qbszl9p0qxxpl87sfpclsaa0x"; depends=[btergm ergm Matrix network numDeriv statnet xergm_common]; };
   ergm = derive2 { name="ergm"; version="3.10.4"; sha256="08hzhc06sfchbq8kq5yvs7gxz0v6nvx0qdb2g6ac38n54cd0npw8"; depends=[coda dplyr lpSolve MASS Matrix network purrr rlang robustbase statnet_common tibble trust]; };
@@ -7119,13 +7380,13 @@ in with self; {
   eshrink = derive2 { name="eshrink"; version="0.1.0"; sha256="0s1jl652za7qwv70kmc1h3vbwlijl49527pwpm0z347lz2jdcigj"; depends=[glmnet MASS]; };
   esmisc = derive2 { name="esmisc"; version="0.0.3"; sha256="1d6xrdxwn85c8s60s7vzaymh7wa9f7fzd79hq5spzd12fr3zisvj"; depends=[ggplot2 raster readr]; };
   esmprep = derive2 { name="esmprep"; version="0.2.0"; sha256="076sm26mkkvig2g04k32z2dlp2h9gnqgzckhirl4pqm01siknl61"; depends=[lubridate]; };
-  esquisse = derive2 { name="esquisse"; version="0.2.1"; sha256="0639b0hd83hx1qbp5rymqif5bcziv883xawx8fs89pwp4484lnkz"; depends=[ggplot2 ggthemes hrbrthemes htmltools jsonlite miniUI RColorBrewer rlang rstudioapi scales shiny shinyWidgets stringi]; };
-  esreg = derive2 { name="esreg"; version="0.4.0"; sha256="1qfidbmdrm4vy72yjnpaadhm993xv6qqy44a8hk0l4isvmg51a5i"; depends=[Formula quantreg Rcpp RcppArmadillo]; };
+  esquisse = derive2 { name="esquisse"; version="0.2.2"; sha256="1k18lrg5417s1mjm01m6nn81w959naybdqj74zrr8gbphlk8s4xx"; depends=[ggplot2 ggthemes hrbrthemes htmltools jsonlite miniUI RColorBrewer rlang rstudioapi scales shiny shinyWidgets stringi]; };
+  esreg = derive2 { name="esreg"; version="0.5.0"; sha256="1njwqm3hrcxwl6y7gwa4zq0q5139293qk503ahw23dxwzdsiy2z5"; depends=[Formula quantreg Rcpp RcppArmadillo]; };
   essHist = derive2 { name="essHist"; version="1.2.2"; sha256="0rvlxfcl42h4pjqf37mx7bc4k21iwvnys6l5rf2jsl7yk1b9hmbn"; depends=[Rcpp]; };
-  essurvey = derive2 { name="essurvey"; version="1.0.2"; sha256="0r1hkdksidx974pi08hg25qlzfxazqmzamwqg2njks2r9xk299p8"; depends=[haven httr rvest stringr xml2]; };
+  essurvey = derive2 { name="essurvey"; version="1.0.4"; sha256="0y7acy5k3whz2xq3gyqds13n8yb8i8r1a34s9pjzsy6s3gw5rys3"; depends=[haven httr rvest tibble xml2]; };
   estatapi = derive2 { name="estatapi"; version="0.3.0"; sha256="0gjc5x1b2l5qnwdg77nzy6d7bf9q93ll39sfy89izqm8wsydwwkp"; depends=[dplyr httr purrr readr]; };
   estimability = derive2 { name="estimability"; version="1.3"; sha256="0cifdaa71spkcxl4db4z884jrya865sg3dhcv4isd8fnzg2pjcd3"; depends=[]; };
-  estimatr = derive2 { name="estimatr"; version="0.18.0"; sha256="1284vxlr4vrivvf03kbx6y4851xm9kj31fw6cizgq2y57mzlrddd"; depends=[Formula generics Rcpp RcppEigen rlang]; };
+  estimatr = derive2 { name="estimatr"; version="0.20.0"; sha256="0mrx14chg9qb90hlivn90l1jv9la4n1bkznbdx58ghli73k8dvdz"; depends=[Formula generics Rcpp RcppEigen rlang]; };
   estmeansd = derive2 { name="estmeansd"; version="0.2.0"; sha256="07xbdsfz8vidp8pv2ix5g2y6y2cks14fzbjx74pa17696rnklrw3"; depends=[metaBLUE]; };
   estout = derive2 { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
   estprod = derive2 { name="estprod"; version="1.1"; sha256="15grcpyhaazd1sl8544gx4zpjqi9p17d6siyb6a1ykzzyy1v1fln"; depends=[boot Formula gmm lazyeval minpack_lm]; };
@@ -7134,17 +7395,17 @@ in with self; {
   etable = derive2 { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[Hmisc xtable]; };
   etasFLP = derive2 { name="etasFLP"; version="1.4.0"; sha256="04d526yajakzivlcsz8631p0j482cbbgfpdmzkc9zr1m4495xxif"; depends=[fields mapdata maps rgl]; };
   ether = derive2 { name="ether"; version="0.1.5"; sha256="03skydbw4ch0lhhlm57qgg4q0vyd4rwzsq3v2w40jrczpxpdsn9q"; depends=[dplyr httr jsonlite Rmpfr]; };
-  ethnobotanyR = derive2 { name="ethnobotanyR"; version="0.1.4"; sha256="09mdcck23a90crdw6avi245sq8ch9kyycic6zqa1ny017mw3b8wk"; depends=[assertthat circlize dplyr ggplot2 magrittr reshape]; };
+  ethnobotanyR = derive2 { name="ethnobotanyR"; version="0.1.6"; sha256="1v1vsj1nzmgji6kzgfkdmy08ajn8iag4jzw0lwh81b3vmdx8f4g2"; depends=[circlize cowplot dplyr ggplot2 magrittr reshape]; };
   etl = derive2 { name="etl"; version="0.3.7"; sha256="045hkh95ki3s10l9mz4710ws2i9and4rqb0qk1c5sfslglc0riq5"; depends=[DBI downloader dplyr lubridate readr rlang rvest stringr tibble xml2]; };
   etm = derive2 { name="etm"; version="1.0.5"; sha256="1yivbq8y0ijcl1m4nir4q9hp4pi6iphwxgjprygsdf7vp98wq677"; depends=[data_table lattice Rcpp RcppArmadillo survival]; };
   etma = derive2 { name="etma"; version="1.1-1"; sha256="0g9244yx50y1gw0f37hskbcgyv4nldmzr86v3rmf3afabmjbyzjj"; depends=[]; };
   etrunct = derive2 { name="etrunct"; version="0.1"; sha256="0ayazgyqlc8jcqr03cwfmfhm4pck6xri1r6vkgqy4arqkrrnrcqr"; depends=[]; };
-  etseed = derive2 { name="etseed"; version="0.1.0"; sha256="1kqbhvryqzmckk91ynn68yd7msqdsl6h818r164180f10flszr37"; depends=[httr jsonlite R6]; };
+  eudract = derive2 { name="eudract"; version="0.9.0"; sha256="0idxccm3cqb34gjypbh635rlqvjgcwbmywp1cv41mz2g56kbrcnb"; depends=[dplyr magrittr tidyr xml2 xslt]; };
   eulerian = derive2 { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[graph]; };
-  eulerr = derive2 { name="eulerr"; version="5.1.0"; sha256="1224g5s1a610xa9smadqdl221y9xx2i17b1sfrw89nzbv4danyqz"; depends=[GenSA polyclip polylabelr Rcpp RcppArmadillo]; };
+  eulerr = derive2 { name="eulerr"; version="6.0.0"; sha256="0pvyg91xamhmz4k1b18g96imkddk64d6dadg74v1mnbzjiq742wh"; depends=[GenSA polyclip polylabelr Rcpp RcppArmadillo]; };
   europepmc = derive2 { name="europepmc"; version="0.3"; sha256="1ngqs1sqzkbwv98dd5z4cxj8bnz41wyd0g060a2vpqi3s99s4i2h"; depends=[dplyr httr jsonlite plyr progress purrr urltools xml2]; };
   europop = derive2 { name="europop"; version="0.3.1"; sha256="1ym257bxr4a0dmln1j8x3pf87wrryzgqyzhvk61whc6n2bj62x1s"; depends=[]; };
-  eurostat = derive2 { name="eurostat"; version="3.3.5"; sha256="0gsycqcpvc0042iv8pa0bg64fmkkw9gzxw81f4gndpl50q8iq68y"; depends=[broom classInt countrycode dplyr httr jsonlite RColorBrewer readr RefManageR sf sp stringi stringr tibble tidyr]; };
+  eurostat = derive2 { name="eurostat"; version="3.3.55"; sha256="1i66m6hamrq54209vcmp1y13lwfx1bykm1fggrv54nyxijikbjs7"; depends=[broom classInt countrycode dplyr httr jsonlite RColorBrewer readr RefManageR sf sp stringi stringr tibble tidyr]; };
   ev_trawl = derive2 { name="ev.trawl"; version="0.1.0"; sha256="14yhnhqq1gz2rfy13v1dybnf55pyyimajbarxyp7gaqnd66nfq3p"; depends=[eva evir fExtremes ghyp hypergeo testthat]; };
   eva = derive2 { name="eva"; version="0.2.5"; sha256="03hyzbqi2mgdrmzrjnwzvy0ndf7ha5959b63sgd1g0b998fibbmd"; depends=[EnvStats Matrix]; };
   evaluate = derive2 { name="evaluate"; version="0.14"; sha256="0a2y7j534gbgixkwj9r1z76l2vssw4g1hznzbpclc076wkdqpj58"; depends=[]; };
@@ -7161,7 +7422,7 @@ in with self; {
   evidence = derive2 { name="evidence"; version="0.8.10"; sha256="02kqk95kx4nv13fg6z55a5rv6sq6lv8azg0jjxbkg1j6hg15p7ai"; depends=[LaplacesDemon lattice LearnBayes loo rstan rstanarm]; };
   evidenceFactors = derive2 { name="evidenceFactors"; version="1.00"; sha256="12wndimbygn7h57f3q0xmxmvqrcdj98f0a58m22z2l0vmym53rhb"; depends=[sensitivitymv]; };
   evir = derive2 { name="evir"; version="1.7-4"; sha256="1h7a7z7v5k33y5hsdfczsri3vpbwspfgazhv4saknv2h11rgfpki"; depends=[]; };
-  evmix = derive2 { name="evmix"; version="2.11"; sha256="15ak02vfhf54b5r9savf1lmcyf6mfwashr00z913nw2aajswny1h"; depends=[gsl MASS SparseM]; };
+  evmix = derive2 { name="evmix"; version="2.12"; sha256="02rabc9snci00s1x7h0svfr66lmw1wjcdg0149wc52mnccsdaivf"; depends=[gsl MASS SparseM]; };
   evobiR = derive2 { name="evobiR"; version="1.1"; sha256="0502xj1gv2g943vfqyllz4sr5z4mixf5vqlqi2v96mymnv9iwsr8"; depends=[ape geiger phytools seqinr shiny]; };
   evolqg = derive2 { name="evolqg"; version="0.2-6"; sha256="1jc6mndlmd0y8wxcqqrlyk211i4ay3yna9clm0p1cnxy4cbn8lq5"; depends=[ape coda expm ggplot2 igraph Matrix matrixcalc MCMCpack mvtnorm plyr Rcpp RcppArmadillo reshape2 vegan]; };
   evolvability = derive2 { name="evolvability"; version="1.1.0"; sha256="0lbyidb86yzvcfw86jfwnzbpijn64jr8fasycqq4h3r9c0x2by3j"; depends=[coda]; };
@@ -7171,45 +7432,45 @@ in with self; {
   evtree = derive2 { name="evtree"; version="1.0-8"; sha256="1dmzbsyrg8wwzzqcxzqmgm7yai37lh9lkjhizhr2h0k03s5xdv1k"; depends=[partykit]; };
   ewoc = derive2 { name="ewoc"; version="0.2.0"; sha256="0kanx14fhcbqz6gpyj7628vgy9fwz3ji5mkd4107b8pgpz2hkg00"; depends=[coda doParallel foreach Formula ggplot2 rjags]; };
   exCon = derive2 { name="exCon"; version="0.2.5"; sha256="0gqnv01dw4ncf3x3p74pc6f14a1ixq7icl2p18hsmvxdqqg7kgy7"; depends=[jsonlite]; };
-  exact2x2 = derive2 { name="exact2x2"; version="1.6.3"; sha256="11ayh6j6jj4p4bns3s2c2nmnigdzr6hpwjp4b2i7qw67kd321agn"; depends=[exactci ssanv]; };
+  exPrior = derive2 { name="exPrior"; version="1.0.1"; sha256="05z7dx1qfwcagadlw8wrf30071ssawv8njm2q6jaa4r4in0i5l1s"; depends=[coda ggplot2 gtable nimble plyr reshape2]; };
+  exact2x2 = derive2 { name="exact2x2"; version="1.6.3.1"; sha256="0yl0ylgk83w076vbda7yfdvfbwwhhcp89bcv3i6418rz8y7k1ili"; depends=[exactci ssanv]; };
   exactLoglinTest = derive2 { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
   exactRankTests = derive2 { name="exactRankTests"; version="0.8-30"; sha256="02lqs5pw9vii398jz8yr55jk8158xxxqrk1bf55b08xcccxdwrff"; depends=[]; };
   exactci = derive2 { name="exactci"; version="1.3-3"; sha256="03r35f6dyrck5pf43ypb1sjwfnvkhjkm1mbms3wh67ayfs2ypn0s"; depends=[ssanv]; };
-  exactextractr = derive2 { name="exactextractr"; version="0.1.0"; sha256="01pyzgyb7my8b3fcyg907x6m15lg9ma53i4nyp62x2iz5g120ijn"; depends=[raster Rcpp sf]; };
+  exactextractr = derive2 { name="exactextractr"; version="0.1.1"; sha256="0jazvagfy9m68f0z3imvs9vdbmviybssiw7vzragxy85m4dgkvzm"; depends=[raster Rcpp sf]; };
   exactmeta = derive2 { name="exactmeta"; version="1.0-2"; sha256="1v807ns799qajffky4k18iah0s3qh2ava6sz5i85hwx9dhkz19h4"; depends=[]; };
-  exampletestr = derive2 { name="exampletestr"; version="1.5.1"; sha256="1rk92ld5s812a2njs4fwidz7s2yjwbs7gf8chp7hcjw7pw81nbm4"; depends=[checkmate filesstrings fs glue magrittr ore purrr readr rlang roxygen2 stringr styler usethis withr]; };
+  exampletestr = derive2 { name="exampletestr"; version="1.5.2"; sha256="0lfhgjirsl2b1vksjfrw3wlvw6x34d20vldh313qkjrg2yihpk1q"; depends=[checkmate filesstrings fs glue magrittr ore purrr readr rlang roxygen2 stringr styler usethis withr]; };
   exams = derive2 { name="exams"; version="2.3-4"; sha256="1sa76qnzf7llj97xc41l2s8n4fqlg1wcvyq9sq59f1blfwxcnnd7"; depends=[]; };
-  excelR = derive2 { name="excelR"; version="0.2.0"; sha256="1cp8hkpj54nwi1jh3ywn17lkjjs4l88b3x50a31636xs12x01nnh"; depends=[htmlwidgets jsonlite]; };
+  exceedProb = derive2 { name="exceedProb"; version="0.0.1"; sha256="02pb8b0rxygbv6501rcr2hb0bhz1r78k5znav161kk25fb9bxs5v"; depends=[BH Rcpp]; };
+  excelR = derive2 { name="excelR"; version="0.3.1"; sha256="15frhi1laiwbd2izfm91ilvzcyl97svmx6slca5j2c6v5db3vzmq"; depends=[htmlwidgets jsonlite]; };
   excerptr = derive2 { name="excerptr"; version="2.0.0"; sha256="1xglpg9i45dd103ahj46lin42x9c8lgff2b5c4k3799gaki9sjzz"; depends=[checkmate reticulate]; };
   excursions = derive2 { name="excursions"; version="2.4.4"; sha256="140p0vks40vsj1bi89rhdqih5jh7795pxzzqm9140vfiv8b0aya5"; depends=[Matrix sp]; };
-  exdex = derive2 { name="exdex"; version="1.0.0"; sha256="0yl7m70k1lrs14v6v98p0m0cqmzyi0gn475wsiiy6z49kbwd7ys4"; depends=[chandwich Rcpp RcppArmadillo RcppRoll]; };
+  exdex = derive2 { name="exdex"; version="1.0.1"; sha256="15wdi24fq8q4ja4527k1adv6lkzyhylp8nwlsrb91q0sbmmprrqs"; depends=[chandwich Rcpp RcppArmadillo RcppRoll]; };
   exif = derive2 { name="exif"; version="0.1.0"; sha256="12phqn5x1x0xs2xczl3064q983dalm261vqpyafhdcndm1y3gwbc"; depends=[Rcpp]; };
   exifr = derive2 { name="exifr"; version="0.3.1"; sha256="0394f04wq5dnqbnbaq7gxv4ggis4kf3b8dhhjzlybsbip6nmv54x"; depends=[curl jsonlite plyr rappdirs tibble]; };
   exiftoolr = derive2 { name="exiftoolr"; version="0.1.2"; sha256="18q23lmazqw5vjvpz9kbd8i8ljchm8nakh726ic3qqzsckl98psp"; depends=[curl jsonlite]; };
   exp2flux = derive2 { name="exp2flux"; version="0.1"; sha256="1b3ychb4wcf6dbccx2ddms5xygdgc296cnw4474fm81yrfjznplv"; depends=[gage igraph sybil]; };
-  expSBM = derive2 { name="expSBM"; version="1.1"; sha256="10l2in6l5l61lrj2rrf5rjgphb7px3xb8alx976vksq96c5l9rdj"; depends=[gtools mclust Rcpp RcppArmadillo]; };
+  expSBM = derive2 { name="expSBM"; version="1.3.5"; sha256="0k8nkwqrcmmhv0x8a2np1rm5cyc9glyvndwdbnp03v0wrg8121sw"; depends=[blockmodels gtools mclust Rcpp RcppArmadillo]; };
   expandFunctions = derive2 { name="expandFunctions"; version="0.1.0"; sha256="0661l4ab0xhjidmh8ycvymhp3wgxafm7nd1c59bfpxhyhz76n1p4"; depends=[glmnet orthopolynom plyr polynom]; };
   expands = derive2 { name="expands"; version="2.1.2"; sha256="15r5wld63kwk3kcl5x09dj0n1mgcl076lcjsmf0vbh10x4n0avrk"; depends=[ape commonsMath flexclust flexmix gplots matlab moments NbClust plyr RColorBrewer rJava]; };
-  experiment = derive2 { name="experiment"; version="1.1-4"; sha256="08d9m72l6n2ygy5x8aakzv3n71ybqy1i8yzv55f7r4w1kk4pbk5i"; depends=[boot MASS]; };
+  experiment = derive2 { name="experiment"; version="1.2.0"; sha256="0f8h4pj2y7cd2s1q44q4mrg9cirnpz0bkn4xm04hz1rpjxb4xlv1"; depends=[boot MASS]; };
   expert = derive2 { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
   expint = derive2 { name="expint"; version="0.1-5"; sha256="12ki8j17p070kq2mdzzai755wy1n6kvinax0ldd63kynij9n0gdh"; depends=[]; };
   explor = derive2 { name="explor"; version="0.3.5"; sha256="1v3z067w5kskwr0wmrr26m3yfsmg9pf17ma9ck2srgyxqmddc0sj"; depends=[dplyr DT formatR ggplot2 highr RColorBrewer scatterD3 shiny tidyr]; };
-  explore = derive2 { name="explore"; version="0.4.3"; sha256="16m8xqzgnndrlw24n3bx6xvqdgbpi6zv8hwpbr47nd83zl77yvhw"; depends=[broom DBI dplyr DT ggplot2 gridExtra magrittr MASS odbc rlang rmarkdown rpart rpart_plot shiny]; };
+  explore = derive2 { name="explore"; version="0.5.2"; sha256="1j3izj31595wcmv85hkdlyhgbm4cydr44c6vgjjacbmawxc2zm8r"; depends=[broom DBI dplyr DT forcats ggplot2 gridExtra magrittr MASS odbc rlang rmarkdown rpart rpart_plot shiny stringr]; };
   exploreR = derive2 { name="exploreR"; version="0.1"; sha256="154j5wiiy9vqdvh1qvdkz2fdp2phcygbbjl7nj5nkn07xwxbsc77"; depends=[ggplot2]; };
   expm = derive2 { name="expm"; version="0.999-4"; sha256="15k0acg2aqb2ajhwal6l7vhhp03m4lg579805d34554cl0kn9l2q"; depends=[Matrix]; };
-  expoRkit = derive2 { name="expoRkit"; version="0.9.4"; sha256="186wnnx0gygnzrhhnsjysvwqccpxrcgy4pnvkyz6v3kcgg0n2x6j"; depends=[Matrix SparseM]; };
   export = derive2 { name="export"; version="0.2.2"; sha256="03i3jk4b9q1sak6m36p349bzqcwfq3bw6y8sgrw65475mrwipm4m"; depends=[broom flextable officer openxlsx rgl rvg stargazer xml2 xtable]; };
   expose = derive2 { name="expose"; version="0.0.3"; sha256="0dlxlxm3g9d8vmgp13i1825z1jzah94ih1vyif46s43xq0nf9anj"; depends=[e1071 foreach gam ggplot2 glmnet Matrix nnet polspline RColorBrewer Rcpp repmis SuperLearner xgboost]; };
   expp = derive2 { name="expp"; version="1.2.4"; sha256="00r5f80wnz91n0ksp1dvrxpd6zyfis2v3rizsnm7qqnnwj3d4q1c"; depends=[deldir rgeos sp spatstat spdep]; };
   expperm = derive2 { name="expperm"; version="1.6"; sha256="0cybna0q3qn3slyc4lv5rby4pr0xkwq0h6n7hl1zhsaqv4c2zc5b"; depends=[Rcpp]; };
-  exprso = derive2 { name="exprso"; version="0.5.1"; sha256="02fz2awxxgf5avnnvv10kr20zvzdmal7z9jbmjxzw5kjqrcv7jci"; depends=[cluster e1071 frbs glmnet kernlab lattice MASS nnet plyr randomForest ROCR rpart sampling]; };
   expsmooth = derive2 { name="expsmooth"; version="2.3"; sha256="0alqg777g7zzbjbg86f00p2jzzlp4zyswpbif7ndd0zr8xis6zdc"; depends=[forecast]; };
-  expss = derive2 { name="expss"; version="0.9.0"; sha256="0kbbz8h2cy69d0jw7mxc673i64pns6nj3kc594k4r2b4jp867igg"; depends=[data_table foreign htmlTable magrittr matrixStats]; };
+  expss = derive2 { name="expss"; version="0.10.1"; sha256="0pqvv8y3v00ymamz0xxbccb1pyic6h62hr5qm4hyw2sa82hh74dp"; depends=[data_table foreign htmlTable magrittr matrixStats]; };
   expstudies = derive2 { name="expstudies"; version="0.0.5"; sha256="07li3lf7gnziws452arv38dayc30dym30qkw5d3ifp6za1aih5pv"; depends=[dplyr lubridate magrittr Rcpp]; };
   exptest = derive2 { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
   exreport = derive2 { name="exreport"; version="0.4.1"; sha256="0vj60rchhrc5q6x1kv7b95fcmh2a5qynli2w54rrrw1nx54xm8c2"; depends=[ggplot2 reshape2]; };
   exsic = derive2 { name="exsic"; version="1.1.1"; sha256="1k6nqs9i4iivxnk4nkimp6zvdly274wibkmx9n0wz01gnzxqil0p"; depends=[markdown stringr]; };
-  extRemes = derive2 { name="extRemes"; version="2.0-10"; sha256="08fj72gpq2d6695hbm3cgwgal64z009ykrirby7g6r0akfcsx5ic"; depends=[distillery Lmoments]; };
+  extRemes = derive2 { name="extRemes"; version="2.0-11"; sha256="0hmgynxhzswqnhwb2sxrkczgam8c17s3vpxqc5bcz0bwczpxxyvm"; depends=[distillery Lmoments]; };
   extWeibQuant = derive2 { name="extWeibQuant"; version="1.1"; sha256="08dzw5xfgqx0c7ac632c5mg5jmjjw7wwpcr4c9lvz5rv72ykh2rh"; depends=[]; };
   extdplyr = derive2 { name="extdplyr"; version="0.1.4"; sha256="0rxwpspn3905f4l27cwgi9rlj379hb6b4kkb0kjq8gzpkg2fznh1"; depends=[dplyr lazyeval tidyr]; };
   exteriorMatch = derive2 { name="exteriorMatch"; version="1.0.0"; sha256="0cdfj1n502iws1g03rk7x0c18zyazqf3vci9kjm6lrv4j2qwrvip"; depends=[]; };
@@ -7220,20 +7481,25 @@ in with self; {
   extraTrees = derive2 { name="extraTrees"; version="1.0.5"; sha256="1rvvp2p9j8ih8fid1n17606pa23bjg3i2659w1l6w0jkb1p23zcx"; depends=[rJava]; };
   extrafont = derive2 { name="extrafont"; version="0.17"; sha256="0b9k2n9sk23bh45hjgnkxpjyvpdrz1hx7kmxvmb4nhlhm1wpsv9g"; depends=[extrafontdb Rttf2pt1]; };
   extrafontdb = derive2 { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; };
+  extraoperators = derive2 { name="extraoperators"; version="0.1.1"; sha256="1clyp97ssmdq9ggbv3w5yskx7khnlm4ji7ym3k3b4bx1pazcw4q4"; depends=[]; };
+  extremeIndex = derive2 { name="extremeIndex"; version="0.0.1"; sha256="0qyf7ban7cm9fnznbf78xffcfp5sc32s7kb3wn53mc5abgiad90b"; depends=[boot evd evir gmm goftest]; };
   extremeStat = derive2 { name="extremeStat"; version="1.4.0"; sha256="0fvkvlm47ri05w9h5qa937ijsc5lg51jc825wq9pmn7aiv58yxzm"; depends=[berryFunctions evd evir extRemes fExtremes ismev lmomco pbapply RColorBrewer Renext]; };
   extremefit = derive2 { name="extremefit"; version="1.0.2"; sha256="07gx6dp0kz4y1jn90hsfvkhn6k7i4flh7ghdz9v5nwda86f55q2s"; depends=[]; };
   extremevalues = derive2 { name="extremevalues"; version="2.3.2"; sha256="0pyngxljdnjwnbwcb0gmxcirv70r1s1wyq4m1wm5rprpdj8v9xil"; depends=[gWidgets gWidgetstcltk]; };
   extremis = derive2 { name="extremis"; version="0.90"; sha256="1cnwn70d9swks5b2y915l18gky9v23vaqlaaggshi0ghn3snb4sm"; depends=[emplik]; };
   extremogram = derive2 { name="extremogram"; version="1.0.2"; sha256="13k869v6j4ik9p8w0gf1absvb45xbd3nnwghsz0ix7y0vyvry358"; depends=[boot MASS]; };
   exuber = derive2 { name="exuber"; version="0.3.0"; sha256="1g0cr7lgj8j5qdvrm7zmafhqafi1iwln590pcmfrfs37cynd5fkx"; depends=[cli doSNOW dplyr foreach generics ggplot2 glue gridExtra lubridate purrr Rcpp RcppArmadillo rlang tibble tidyr zoo]; };
-  eyelinker = derive2 { name="eyelinker"; version="0.1"; sha256="1lwpm247czqm26zvv5c6lkhdxpp4svszfw74g9ys9vwvwhry9c15"; depends=[intervals magrittr plyr readr stringi stringr]; };
+  eyeTrackR = derive2 { name="eyeTrackR"; version="1.0.0"; sha256="1spv9167fw0nkwm98l5dkl9xs293c624gh87zrisjq4b4xawgxgx"; depends=[data_table plyr stringr]; };
+  eyelinker = derive2 { name="eyelinker"; version="0.2.0"; sha256="14rfcdxad9iazwd46q6bm8gg1ryh6s8kf7arj00hhb7xz3gvk9c2"; depends=[intervals readr stringi stringr tibble]; };
   eyetracking = derive2 { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; };
   eyetrackingR = derive2 { name="eyetrackingR"; version="0.1.8"; sha256="18bz8fhy2hph7h8mm7hdhjfhi5gznj4qcl05rk3n99hkxl24qn73"; depends=[broom dplyr ggplot2 lazyeval purrr tidyr zoo]; };
   ez = derive2 { name="ez"; version="4.4-0"; sha256="0a58s94x576dfz7wcbivrr2hmdh5x1vy16zwkqp9fmdzqx38pagq"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; };
+  ezCutoffs = derive2 { name="ezCutoffs"; version="1.0.0"; sha256="0awi63f4hk35gd55w7axshlyb1vpwb64sw5y3733ag5cbgk30jkz"; depends=[doSNOW foreach ggplot2 lavaan moments progress]; };
+  ezcox = derive2 { name="ezcox"; version="0.2.0"; sha256="0ymvy17yzbzq7g9d8hk30pi3hvsmvxiym9v3j5ivpvy679j3w0iw"; depends=[dplyr magrittr purrr rlang survival]; };
   ezec = derive2 { name="ezec"; version="1.0.1"; sha256="0lpx55a8fhy6fqdv3zvzx9mh75q34r71v5kp96hkm9jzl4yvrpd2"; depends=[dplyr drc]; };
   ezglm = derive2 { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; };
   ezknitr = derive2 { name="ezknitr"; version="0.6"; sha256="060a2175zh1nhzmqgz1mpj2c6721n5w5bv695jj4rbl2s2b2h4qj"; depends=[knitr markdown R_utils]; };
-  ezpickr = derive2 { name="ezpickr"; version="1.0.5"; sha256="1x45ccma78cx9blxr0zsnmvrpja8mb1p89gk4mpip299f6bza869"; depends=[haven jsonlite magrittr mboxr purrr readr readxl stringr textreadr tibble writexl]; };
+  ezpickr = derive2 { name="ezpickr"; version="2.0.0"; sha256="1x7v7zsr8hjrwi48dkryqryp607550gs77b058qcdgcdznlqwzp2"; depends=[haven jsonlite magrittr mboxr purrr readxl rmarkdown stringr textreadr tibble vroom writexl]; };
   ezplot = derive2 { name="ezplot"; version="0.3.1"; sha256="1cs5i3ik6q6s30z8nh6ckc68vcqkf1hnzy3wn6d0rypmny7jkfkc"; depends=[dplyr forcats ggplot2 rlang]; };
   ezsim = derive2 { name="ezsim"; version="0.5.5"; sha256="03x75vmf75qsmk4zb09j7xrb11w31rpfwd3dvv12nwjgndh9bnld"; depends=[digest foreach ggplot2 Jmisc plyr reshape]; };
   fANCOVA = derive2 { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; };
@@ -7262,23 +7528,30 @@ in with self; {
   fUnitRoots = derive2 { name="fUnitRoots"; version="3042.79"; sha256="1hsv47dm0hx3s04g9h0bjdgi79zbfihnfxxdc2jskqp94yl7azsy"; depends=[fBasics timeDate timeSeries urca]; };
   fabCI = derive2 { name="fabCI"; version="0.1"; sha256="123bc56nnx6hcj257imsd8sc6d0pggw08lf4m0lr90631gcm1mkn"; depends=[]; };
   fabMix = derive2 { name="fabMix"; version="4.5"; sha256="0d396a3ns3h2p4rdi45xcs3rfb18aqd95n8dszgdh8snf1776b9r"; depends=[coda corrplot doParallel doRNG foreach ggplot2 label_switching MASS mclust mvtnorm RColorBrewer Rcpp RcppArmadillo]; };
-  fabricatr = derive2 { name="fabricatr"; version="0.8.0"; sha256="1lx53424g6g5bn914dx42zsdjfsmk6s5xxcl7k2wcpr5bvnpir3x"; depends=[rlang]; };
+  fable = derive2 { name="fable"; version="0.1.0"; sha256="1gv5dlvqm7fwp4az9qy3zr8g3cw1zlqfal3m8c20agw3966z011j"; depends=[dplyr fabletools Rcpp rlang tidyr tsibble]; };
+  fabletools = derive2 { name="fabletools"; version="0.1.1"; sha256="0cbiqd7cx4kws9lhwydrjlcxcm46vl6srslzw1h5ljfmgjkvkf8p"; depends=[dplyr generics ggplot2 R6 rlang tibble tidyr tidyselect tsibble]; };
+  fabricatr = derive2 { name="fabricatr"; version="0.10.0"; sha256="0kh2mfgyqz3fpilc4wycxj3vihhbdnjzsjrsp88nmsk0p5mjmljj"; depends=[rlang]; };
   face = derive2 { name="face"; version="0.1-5"; sha256="0n7vlq29krsdcp8r32irhvf7xbcxy5g7663qncmbhj5x45sviqh6"; depends=[Matrix matrixcalc mgcv]; };
   facebook_S4 = derive2 { name="facebook.S4"; version="1.1.0"; sha256="1if3fgyvj6pbf48yjwa5fkn3s4rl6kj9s1nk6dwphykhx72ghzrj"; depends=[httr magrittr plyr rjson]; };
   facerec = derive2 { name="facerec"; version="0.1.0"; sha256="1dipcnxjz6yd34w0jrrvj5p0pwdgz1l5m9zvri7mflnz7g34gmaj"; depends=[dplyr httr jsonlite knitr magrittr rlang snakecase stringr]; };
   facilitation = derive2 { name="facilitation"; version="0.5.2"; sha256="0gyqa3njyynvdhfziq33xqc7cjhszii67mk8809ncvh6abkdx1hw"; depends=[animation Matrix Rcpp]; };
   factoextra = derive2 { name="factoextra"; version="1.0.5"; sha256="1l6m8k7qhdw8ndar8nhmym0lfyd1i2iszl1cicjax0vq23ss6xw1"; depends=[abind cluster dendextend FactoMineR ggplot2 ggpubr ggrepel reshape2 tidyr]; };
   factoptd = derive2 { name="factoptd"; version="1.0.3"; sha256="1ir50im3kr1xhqk4qwrm2h5fq9gqgrwshbamvjlf8n1wnn03mcb6"; depends=[MASS partitions]; };
+  factorEx = derive2 { name="factorEx"; version="1.0.0"; sha256="12ykf42x5fqddlsvv3556sawfakribj0pwm5vfcg3y2y99a26qxg"; depends=[arm doParallel estimatr foreach genlasso igraph mvtnorm pbapply pbmcapply prodlim sandwich stringr]; };
   factorMerger = derive2 { name="factorMerger"; version="0.4.0"; sha256="127k5h1gbbnjr6gxgck2n9glvvwkd69xq7n6gzmrq8gszk8v1x5m"; depends=[agricolae colorRamps dplyr forcats formula_tools ggplot2 ggpubr knitr magrittr MASS mvtnorm proxy reshape2 scales survival]; };
   factorQR = derive2 { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; };
   factorcpt = derive2 { name="factorcpt"; version="0.1.2"; sha256="17hwlsrj0fx4x05p6xvs6kl43a24icmnrzyvpf2vam5imwvmpvmm"; depends=[doParallel fields foreach iterators Rcpp RcppArmadillo]; };
+  factorial2x2 = derive2 { name="factorial2x2"; version="0.1.0"; sha256="186qnz09hkf3njb07rfrs42m3m3288h89ppzlfzrv00765r74yq6"; depends=[mvtnorm survival]; };
   factorplot = derive2 { name="factorplot"; version="1.1-2"; sha256="025lfk122w66yxym3njcpzwnbhg40xi7p1c9vnxczcb8kz31745s"; depends=[multcomp nnet]; };
-  factorstochvol = derive2 { name="factorstochvol"; version="0.9.2"; sha256="0yaf7j2d77m0kmgm8n2j4a0ai9b0lz29r9xjk3zk8sw8aabjlkaw"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
+  factorstochvol = derive2 { name="factorstochvol"; version="0.9.3"; sha256="15gamzznss9vfmbvbk61sgabxfsra2i49bs142jl1ahk7wchiskw"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
+  factory = derive2 { name="factory"; version="0.1.0"; sha256="1715bx2rn8kk5qd196jnrv5f95l54n4y0aqqdzfkgrmqihcy8ahx"; depends=[purrr rlang]; };
   factualR = derive2 { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RCurl RJSONIO]; };
   fail = derive2 { name="fail"; version="1.3"; sha256="0vfm6kmpmgsamda5p0sl771kbnsscan31l2chzssyw93kwmams7d"; depends=[BBmisc checkmate]; };
+  fairadapt = derive2 { name="fairadapt"; version="0.1.0"; sha256="01ing7mm1asfgh4w8cc7f7fpv13lja97vv5skk5bri00zycwcqfd"; depends=[ranger]; };
+  fairness = derive2 { name="fairness"; version="1.0.1"; sha256="1n17vrp0a3zii3444a2a7k33ffmyxmm15c8m7ln2fypya1z2pc5l"; depends=[caret devtools e1071 ggplot2 pROC]; };
   faisalconjoint = derive2 { name="faisalconjoint"; version="1.15"; sha256="08sb4za8qyadvigq2z7b0r44qk2lpahpnz9nv16xfjb1zhdkz5w3"; depends=[]; };
   fakeR = derive2 { name="fakeR"; version="1.0"; sha256="0f4ngnd8s34j1327zp3aqnsiw0gfxkp1i24ng20hrmfl13s1qmxp"; depends=[mvtnorm polycor pscl VGAM]; };
-  fakemake = derive2 { name="fakemake"; version="1.4.1"; sha256="0jmcbdq5gp7abqiihn8zi2l0whiwnc763lqrk2wflac4d0zw275z"; depends=[callr igraph MakefileR withr]; };
+  fakemake = derive2 { name="fakemake"; version="1.6.0"; sha256="019dwh7n7k2djrpm0kik5qn7w3ifszppmpraqn4jyddn1jmllsn3"; depends=[callr igraph MakefileR withr]; };
   falcon = derive2 { name="falcon"; version="0.2"; sha256="09hlvwwj3k3nhcsxijjvv8x74a9m200ayjjplrp4baxvczwyq341"; depends=[]; };
   falconx = derive2 { name="falconx"; version="0.2"; sha256="0648mvbc7ga7vr2xqzyln3dgd11h5s4bqhv3p55mj7smr4qv7hv9"; depends=[]; };
   fam_recrisk = derive2 { name="fam.recrisk"; version="0.1"; sha256="1lyrq7bq7p7ijc2vf545nazw4akncz08548ya1dv3lsc5jmkgfzj"; depends=[]; };
@@ -7293,11 +7566,11 @@ in with self; {
   far = derive2 { name="far"; version="0.6-5"; sha256="18lj2mgnn9s59ypkr19zzv0sffwpx9mgk975xmpvw4kkl84dykis"; depends=[nlme]; };
   faraway = derive2 { name="faraway"; version="1.0.7"; sha256="0lalf52y9rb4zdb4kpscwddb4zy0af7r5sm7lx8s9jaqykrwrfq6"; depends=[lme4 nlme]; };
   farff = derive2 { name="farff"; version="1.1"; sha256="0d3d343jjjwsb132ph12h3r044j3bc4jp94ayikjyq1lmwwsfr4k"; depends=[BBmisc checkmate readr stringi]; };
-  farver = derive2 { name="farver"; version="1.1.0"; sha256="1dllgx121al374gyp9pjv1m8ip4imm8zhbgyh1970dsz2c4z71i0"; depends=[Rcpp]; };
+  farver = derive2 { name="farver"; version="2.0.1"; sha256="0aq1hk561pz3s3lpay1adwsihha6mxp7zbj4n1m6307g34awlhhn"; depends=[]; };
   fasjem = derive2 { name="fasjem"; version="1.1.2"; sha256="1bbrcyyg96hakgla3604byrkn9034197vy2is048kdq20yr2y11n"; depends=[igraph]; };
   fast = derive2 { name="fast"; version="0.64"; sha256="098rk6kszdx3szcwvwzcv7zlcd6qvqvbqch7q8ilas6vbki81ba4"; depends=[zoo]; };
   fastAdaboost = derive2 { name="fastAdaboost"; version="1.0.0"; sha256="1pv1y6znvc37pgwk99v4r0hljhipq8v6r3r5cb5vhgyl0bfi8g38"; depends=[Rcpp rpart]; };
-  fastDummies = derive2 { name="fastDummies"; version="1.4.0"; sha256="1sakgfzgdf1mcaqqpbb808xsdalz8jxpyfb6ilal2rcy9s11ds0q"; depends=[data_table tibble]; };
+  fastDummies = derive2 { name="fastDummies"; version="1.6.0"; sha256="0fkmc1kr11vf3pikj5is5951dx79705c7djfvg7bsbbvpvll0crj"; depends=[data_table tibble]; };
   fastGHQuad = derive2 { name="fastGHQuad"; version="1.0"; sha256="1rjia8wggadr9xwxcmzmal0rc4g6pa3dr5888fbbnb6abl8b2lrj"; depends=[Rcpp]; };
   fastGraph = derive2 { name="fastGraph"; version="2.1"; sha256="0lz199607hqpwxzhff4jzhmjq6cbakd335iyclmlscllgfzgnhql"; depends=[]; };
   fastHICA = derive2 { name="fastHICA"; version="1.0.2"; sha256="1h794ybbii0k7v3x0r1499zxdqa1i1dpi3i7idzqdrffnb5kmwlv"; depends=[energy fastICA]; };
@@ -7305,28 +7578,32 @@ in with self; {
   fastJT = derive2 { name="fastJT"; version="1.0.5"; sha256="1knk4zjrkkv1i3a8n68vdrpxkwdkf19zw75p93hygfmbbz6r88v4"; depends=[Rcpp]; };
   fastLink = derive2 { name="fastLink"; version="0.5.0"; sha256="1hgz4c26qlsdlp7gx0rsvkwn6xv86d7yk186sp7j6nfh2p9b1ccz"; depends=[adagio data_table doParallel dplyr FactoClass foreach gtools Matrix plotrix Rcpp RcppArmadillo RcppEigen stringdist stringi stringr]; };
   fastM = derive2 { name="fastM"; version="0.0-4"; sha256="1n9a431w0hl4kr3pa32kcyd1d73acz4vb9vhfkckk3099mg46d9m"; depends=[Rcpp RcppArmadillo]; };
-  fastNaiveBayes = derive2 { name="fastNaiveBayes"; version="1.1.2"; sha256="0l50lyqwn0qxpnfp5aksw7ib5asigj43fbhmk2fza6a8ljgg4alg"; depends=[Matrix]; };
+  fastNaiveBayes = derive2 { name="fastNaiveBayes"; version="2.1.0"; sha256="0gjhprbgrvc42nzz6ya6331cgrfqn08q3vwnd3s3fd4a2ig5xn2k"; depends=[Matrix]; };
   fastR = derive2 { name="fastR"; version="0.10.3"; sha256="1sz6krxiamq3rp4h9ah2b1zvyyrlvsn7lpvrjv1xda2c1kqqkvmk"; depends=[lattice mosaic mosaicCalc mosaicData]; };
   fastR2 = derive2 { name="fastR2"; version="1.2.1"; sha256="15mqsdy79zvd4srrszdjp0kh9lfcq3yxp7j5d4xcqbjbwsgy68il"; depends=[dplyr ggplot2 lattice maxLik miscTools mosaic numDeriv]; };
-  fastSOM = derive2 { name="fastSOM"; version="1.0.0"; sha256="1x4kxys7mxlxz7cfbjig44za8m8p19xgzcs5y2wn9320sx8b0wc0"; depends=[]; };
+  fastSOM = derive2 { name="fastSOM"; version="1.0.1"; sha256="1fzy7lfx1fn9993h0qh6vbwq0w4gfgbdrprmzb1z3aqq6nqvmngm"; depends=[]; };
+  fastStat = derive2 { name="fastStat"; version="1.3"; sha256="1f4554p487l7cig2xihfbgl55x7w04xbazd01pic0l8819mgmy5n"; depends=[car do e1071 ggplot2 ggrepel plyr reshape2 set survival tseries]; };
   fastTextR = derive2 { name="fastTextR"; version="1.0"; sha256="0l0f9jvsa68a3vd6mwbhsqd12729nd6nwsnlzrhsg9wj9rx8kpmi"; depends=[Rcpp]; };
   fasta = derive2 { name="fasta"; version="0.1.0"; sha256="0wnppxn3039dj58xm0b66fsyq537bk8k8m56im11xj1iwc3zc6vw"; depends=[]; };
   fastclime = derive2 { name="fastclime"; version="1.4.1"; sha256="0zcir8r11b2hxr9vvkmvxlzmhfcaxbr0wbjy86ysr912mp8fs9i3"; depends=[igraph lattice MASS Matrix]; };
   fastcluster = derive2 { name="fastcluster"; version="1.1.25"; sha256="01a2xnhhvv1swd4g8p4lzyn7ww7kg49jlnzc7kfz60jqjzpisrpk"; depends=[]; };
   fastcmh = derive2 { name="fastcmh"; version="0.2.7"; sha256="0hib3r3pkfdi67bdy4pf1pw6869vq4b3pg1pq1zwpyy76nbnq9vl"; depends=[bindata Rcpp]; };
+  fastcmprsk = derive2 { name="fastcmprsk"; version="1.1.1"; sha256="00jpmmlpldrqamgw7q7gx6s4rl1bxqlzw2jglw36k5zawcdb69y6"; depends=[dynpred foreach survival]; };
   fastcox = derive2 { name="fastcox"; version="1.1.3"; sha256="0jn19v6mkwgyz8x63xrfgkgnf0f2rq338r5qkhz690mdzr4c47a3"; depends=[Matrix]; };
   fastdigest = derive2 { name="fastdigest"; version="0.6-3"; sha256="02csl261v7nassi5119ygw6jglm8q6rssg7lgyxzj73mkyilm832"; depends=[]; };
   fasterElasticNet = derive2 { name="fasterElasticNet"; version="1.1.2"; sha256="1hr0wc6s6zpq1hkfgshf0dqjxb7s2849bb8lb04nmi6p42r3628g"; depends=[Rcpp RcppArmadillo]; };
   fasteraster = derive2 { name="fasteraster"; version="1.1.1"; sha256="1ycr2h046jds2758xvxn00rhglx3zarbzn3r38j66j5pnz2iiq4f"; depends=[Rcpp]; };
   fasterize = derive2 { name="fasterize"; version="1.0.0"; sha256="0q8n1r5n06yr6vmnwrdajx8923646bzm7ywgn2f0zxl214plf56s"; depends=[raster Rcpp RcppArmadillo sp]; };
   fastglm = derive2 { name="fastglm"; version="0.0.1"; sha256="1vqw02j4y28mngki87r42f1mhlkvajqp2gpbvk0l2adrkz70l0bn"; depends=[Rcpp RcppEigen]; };
+  fastlogranktest = derive2 { name="fastlogranktest"; version="0.1.0"; sha256="0c0cv0a0y97grjywlcp71z6cnjgvaih4bnf2f332iq2lh6kb0j1x"; depends=[BH Rcpp]; };
   fastmaRching = derive2 { name="fastmaRching"; version="1.1.0"; sha256="085xr5i6h6vwl1flzbkwqsm8d815s0p02p0mir60jqjvy0s7haip"; depends=[raster rgdal sp]; };
-  fastmap = derive2 { name="fastmap"; version="1.0.0"; sha256="1mmqxzcdb64mj5i9fgcxlp1d547fgamja743y40b8v85pw9yz5gz"; depends=[]; };
+  fastmap = derive2 { name="fastmap"; version="1.0.1"; sha256="1v7sp56xiha0bh78g3w92k52p9vkp7ryzpw0z66nyddxzrfv0y27"; depends=[]; };
   fastmatch = derive2 { name="fastmatch"; version="1.1-0"; sha256="0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90"; depends=[]; };
   fastnet = derive2 { name="fastnet"; version="0.1.6"; sha256="16jdwvk1xhl6bn9fx5s8pzvbizx6c0jmg6arqf201a7ghw2wi4xh"; depends=[doParallel foreach igraph tidygraph]; };
   fastpseudo = derive2 { name="fastpseudo"; version="0.1"; sha256="0paag4pjh3gs270j663bsl65sfrq43gk2zzqmalr03fmcckp6aaj"; depends=[]; };
   fastqcr = derive2 { name="fastqcr"; version="0.1.2"; sha256="12x3lkg5zc4ckyg4x3xxqb779yhrr0fys7asf5b8shz49f86fmm9"; depends=[dplyr ggplot2 gridExtra magrittr readr rmarkdown rvest scales tibble tidyr xml2]; };
-  fastrtext = derive2 { name="fastrtext"; version="0.3.3"; sha256="0skxmdgai587949hzm21jaqskp8fq2db4p6d05s4flglhc9ic136"; depends=[assertthat Rcpp]; };
+  fastrtext = derive2 { name="fastrtext"; version="0.3.4"; sha256="0k38290pz92ysw57298nng7bbghf5cicvin7l9q6l89pk3qa5wp0"; depends=[assertthat Rcpp]; };
+  fastshap = derive2 { name="fastshap"; version="0.0.2"; sha256="1nf3aslcrysi6s4i13qjldal8ghqbpj1fcx8vh5yaqwi7snnj3k1"; depends=[ggplot2 gridExtra plyr Rcpp RcppArmadillo tibble]; };
   fasttime = derive2 { name="fasttime"; version="1.0-2"; sha256="11i4c0zrkvvqsax0az1fvmc0jxfsjyx28434k1qgzhj9g2j9m9cf"; depends=[]; };
   fat2Lpoly = derive2 { name="fat2Lpoly"; version="1.2.3"; sha256="00pnzr3v7vm965b3cvgplasw00akmixybvm6l9bn609c2kqbf5p3"; depends=[kinship2 multgee]; };
   fauxpas = derive2 { name="fauxpas"; version="0.2.0"; sha256="0l77gxcf06p984z9vgaf1kag609h9qyrgav84lxkv97h6f3fflnc"; depends=[httpcode R6 whisker]; };
@@ -7338,37 +7615,41 @@ in with self; {
   fbroc = derive2 { name="fbroc"; version="0.4.1"; sha256="1v73wl3yckcqx43fz1lzcsy6v08vmbmi7yi623yhgqywixxv2bx3"; depends=[ggplot2 Rcpp]; };
   fc = derive2 { name="fc"; version="0.1.0"; sha256="0x41xfchy499kz0qi7fp12vpkbcddprv19mmk48lxzavv4f5avfh"; depends=[codetools]; };
   fcd = derive2 { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[combinat glmnet MASS]; };
-  fclust = derive2 { name="fclust"; version="2.1"; sha256="0026msnpmsw31y01f676wfybvv8sxcijac7km25ih6178jyyb2in"; depends=[MASS Rcpp RcppArmadillo]; };
+  fclust = derive2 { name="fclust"; version="2.1.1"; sha256="11dsf7mb075m1m1ilqsacc0s4907wq6alvdfh6nizsyr01wiqw3b"; depends=[MASS Rcpp RcppArmadillo]; };
   fcm = derive2 { name="fcm"; version="0.1.3"; sha256="1mqk6szczsixdvw0inkypij4cw2syng5l5ccw0xk55kc21l1lzn0"; depends=[ggplot2 reshape2]; };
   fcr = derive2 { name="fcr"; version="1.0"; sha256="17jrz5zp1msd2khl1lwnb5sgxcigagni556rhn7qm9g0aykbh8yj"; depends=[face fields mgcv]; };
   fcros = derive2 { name="fcros"; version="1.6.1"; sha256="04yr6lqs38lczsmdvdm78qn63836qj7xwspgh3h3n3gh8cssd83x"; depends=[]; };
   fcuk = derive2 { name="fcuk"; version="0.1.21"; sha256="1sb7p1m5qb88028mrw95lhh8l7dxj696hjh88nfsdpnscryknfpv"; depends=[magrittr purrr stringdist tibble]; };
   fdANOVA = derive2 { name="fdANOVA"; version="0.1.2"; sha256="1pycq5a4czqzi8wcfmlc9ncg827j7n0qxyj90wcv39nbcrnl3da1"; depends=[doBy doParallel fda foreach ggplot2 magic MASS]; };
   fda = derive2 { name="fda"; version="2.4.8"; sha256="0n39rzbhg1hipzn51rzmbchn2358qgapg08iv7lmiqj5y7i9qns2"; depends=[Matrix]; };
-  fda_usc = derive2 { name="fda.usc"; version="1.5.0"; sha256="135ggfmmbn2crnzmk34hpqxdi51pflqihkz7zpnhx49860fad0fd"; depends=[fda MASS mgcv nlme rpart]; };
-  fdaMixed = derive2 { name="fdaMixed"; version="0.5"; sha256="1k2b3z2jj37j6njvxalg8640zlcvi1cm7wkcwp0pia21wydz75ip"; depends=[Formula Rcpp RcppArmadillo]; };
-  fdaPDE = derive2 { name="fdaPDE"; version="0.1-4"; sha256="0n72x5h00n17yxjniim2qxz2phy1srk04dn6ivvc58k3x252fzkh"; depends=[RcppEigen rgl]; };
+  fda_usc = derive2 { name="fda.usc"; version="2.0.0"; sha256="02ji65wq7kn6isl9nbiwh52vximd52sfg22mnc00vkqxdkrb9s8c"; depends=[doParallel fda foreach iterators MASS mgcv nlme]; };
+  fdaMixed = derive2 { name="fdaMixed"; version="0.6"; sha256="0hyhb67qvvhyq68k5h4ffvsl4lmw66nfy5l14kwxnn42h3b810sc"; depends=[Formula Rcpp RcppArmadillo]; };
+  fdaPDE = derive2 { name="fdaPDE"; version="0.1-6"; sha256="0vi5mjmyrj2slzmvnkpnrlw67na7470ka97q9vadcjiwvfc6kv7c"; depends=[RcppEigen rgl]; };
   fdadensity = derive2 { name="fdadensity"; version="0.1.1"; sha256="0jj5gprv3ihdjic261czqnv7c13mxsmjmv7gn2gv4483kgijlkz9"; depends=[fdapace Rcpp]; };
   fdakma = derive2 { name="fdakma"; version="1.2.1"; sha256="0j9qgblrl7v4586dd6v0hjicli6jh8pkk5lzn8afpl75xfs24six"; depends=[]; };
-  fdapace = derive2 { name="fdapace"; version="0.4.1"; sha256="1k10j6nlsidyms1a0nnki46ddyyywpz8gnnnjm3k17wxyi69bmg1"; depends=[Hmisc MASS Matrix numDeriv pracma Rcpp RcppEigen]; };
+  fdapace = derive2 { name="fdapace"; version="0.5.1"; sha256="0i9y9vz676jspanbbrfbygyq5bxplcv4c5q4yql1y0r8zkg4xq2z"; depends=[Hmisc MASS Matrix numDeriv pracma Rcpp RcppEigen]; };
   fdasrvf = derive2 { name="fdasrvf"; version="1.9.2"; sha256="0hdxpin1ydc9sl9wp5axn6sj2mwlhndxya92ss1i8lj1cxmlz42d"; depends=[coda doParallel fields foreach matrixcalc mvtnorm Rcpp RcppArmadillo testthat tolerance viridisLite]; };
   fdatest = derive2 { name="fdatest"; version="2.1"; sha256="0zdnmssir5jz2kbfz4f4xshjfv4pivqx7cbh2arlx6ypkjrjws8n"; depends=[fda]; };
   fdcov = derive2 { name="fdcov"; version="1.1.0"; sha256="0savsgcifcjjqrmbpn6m30gncq5iigqxpb19l710wlx8nm98svjh"; depends=[corrplot matlab]; };
+  fdistr = derive2 { name="fdistr"; version="0.1.0"; sha256="1i9nq4jmszbmwk4m6jfn7rifsn7aay40cj6kz23b9ihj3phqffi8"; depends=[dplyr ggplot2 magrittr usethis]; };
+  fdm2id = derive2 { name="fdm2id"; version="0.9.0"; sha256="0mdqgq6jff1dnnnyhlh0fhdnir88b49aqzaph38f2k57fliaydq8"; depends=[arules car caret class cluster e1071 FactoMineR flexclust fpc glmnet ibr irr kohonen leaps MASS mclust mda meanShiftR NMF nnet pls questionr randomForest ROCR rpart Rtsne SnowballC stopwords text2vec wordcloud xgboost]; };
   fdq = derive2 { name="fdq"; version="0.11"; sha256="1lzv1pmzjixp8wpap0w3lad1ns9z2hjbxkfpyp9jy9mxprj1w3q9"; depends=[data_table Fgmutils ggplot2 plyr randomcoloR sqldf]; };
   fdrDiscreteNull = derive2 { name="fdrDiscreteNull"; version="1.3"; sha256="17nzqy4i1c5kcqyps52827q5apyjn4znb1ql4qvfm8v2m1fvily3"; depends=[MCMCpack qvalue]; };
   fdrci = derive2 { name="fdrci"; version="2.1"; sha256="1sgrsmlz7sbr1maw3qnpzqz3z75fh5nyiibpsq8j0y12xac8d0x3"; depends=[]; };
   fdrtool = derive2 { name="fdrtool"; version="1.2.15"; sha256="1h46frlk7d9f4qx0bg6p55nrm9wwwz2sv6d1nz7061wdfsm69yb5"; depends=[]; };
   fds = derive2 { name="fds"; version="1.8"; sha256="1284vncixrzrz9x6b52gslrbrbia07sd0xac7nwdqhp5f5v5wfi0"; depends=[rainbow RCurl]; };
   fdth = derive2 { name="fdth"; version="1.2-1"; sha256="0rr9p2rns5ws111iqcicrlpcv47fkbxf161yxkkzfs2l3f1kgw14"; depends=[]; };
-  feather = derive2 { name="feather"; version="0.3.3"; sha256="0ls8lmygyjq60467s88h66d7fczjp1d3a2106rfq4dx9lyfvdfsa"; depends=[hms Rcpp tibble]; };
+  feasts = derive2 { name="feasts"; version="0.1.1"; sha256="0jzl2rqzdfdn2z5azpwhz6gllg0wkq6afdlllpiysfg7vfm6w51n"; depends=[dplyr fabletools ggplot2 rlang scales tibble tidyr tsibble]; };
+  feather = derive2 { name="feather"; version="0.3.5"; sha256="1gxd0h2m56sjjlzn4dry6s13nddxc4l5i11gsvavaf2dwbahdzsh"; depends=[hms Rcpp tibble]; };
   feature = derive2 { name="feature"; version="1.2.13"; sha256="07hkw0bv38naj2hdsx4xxrm2dngi6w3rbvgr7s50bjic8hlgy1ra"; depends=[ks misc3d rgl]; };
   featurefinder = derive2 { name="featurefinder"; version="1.1"; sha256="024g3adhxx1ynl9wnc2yl3illj4347ak6wkfmvqxfwd6llsa79ld"; depends=[plyr rpart rpart_plot]; };
   features = derive2 { name="features"; version="2015.12-1"; sha256="0rd8r1dxzddb6718hcm8ck7531c9wdrjfy8n67875bbxgzcvds61"; depends=[lokern]; };
+  featuretoolsR = derive2 { name="featuretoolsR"; version="0.4.3"; sha256="1qgk9z8ld9yyw37r3birbds4a7jffq3qqkvlnldvz3yk81ir7kw7"; depends=[caret cli dplyr magrittr purrr reticulate stringr testthat tibble]; };
   featurizer = derive2 { name="featurizer"; version="0.2"; sha256="05jvwsvpbdj94q3wl7ld6xmfc9p7ff9zsmryd3mmxz0hzbq2cnkc"; depends=[]; };
   febr = derive2 { name="febr"; version="1.0.2"; sha256="0hsfmp6ay2c64wpwhaibxbbjc6s958nkrch64r6z3rbjina5avam"; depends=[dplyr glue googlesheets pedometrics readr sp stringr xlsx]; };
   fechner = derive2 { name="fechner"; version="1.0-3"; sha256="0bassigcipwlr2g8cdjh8jyhmb903k3hla9gnigcbz7qwzlfwa86"; depends=[]; };
   federalregister = derive2 { name="federalregister"; version="0.2.0"; sha256="0qr8nd3ylnwcv1wxspw5i7ray5sh30zr648spg0lpqq8dp2b8p7b"; depends=[curl httr jsonlite]; };
-  fedregs = derive2 { name="fedregs"; version="0.1.1"; sha256="17z8my2y5d211q548px55yhw9g42bwm6q599fndj9pia8qpps4gi"; depends=[dplyr httr magrittr purrr rvest stringi tidytext xml2]; };
+  fedregs = derive2 { name="fedregs"; version="1.0.0"; sha256="171j6r6qxnx9gk9x9gpdyh51ssrgmf7sczc4889qr3qqw15sm4bn"; depends=[dplyr httr magrittr purrr rvest stringi tidyr tidytext xml2]; };
   fedreporter = derive2 { name="fedreporter"; version="0.2.1"; sha256="18hs358iyxmbh28jy9f65zvanpr6bk4gq75qbj255y1zzdsjr9x1"; depends=[httr jsonlite]; };
   feedeR = derive2 { name="feedeR"; version="0.0.7"; sha256="08mnfi96qkr1fj53ywqmya957swcwrfd3hqk0qaf2ni96sxxnp98"; depends=[digest dplyr lubridate RCurl XML]; };
   feisr = derive2 { name="feisr"; version="1.0.1"; sha256="0pwaj509qz6z4rz54b10xmv2476qygmrm4bpc3szah6pf2pf0zmm"; depends=[aod Formula plm Rdpack]; };
@@ -7385,20 +7666,22 @@ in with self; {
   fftw = derive2 { name="fftw"; version="1.0-5"; sha256="037jnf0hgjlw4k2yj8kl9vi8h6vzsff261hn35f1kndywpl4zjdg"; depends=[]; };
   fftwtools = derive2 { name="fftwtools"; version="0.9-8"; sha256="1nqvpzda281rxi1cmwajxxsn3sc3gz7scv8bvs5jm34kf36whha6"; depends=[]; };
   fgac = derive2 { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; };
+  fgdr = derive2 { name="fgdr"; version="1.0.0"; sha256="0wf0ayn2vx2pkid08ssr7ygq9k9qxsw86wwppm2r9b7i8cw7kbf8"; depends=[jpmesh magrittr purrr raster readr rlang sf sp stars stringr tibble xml2]; };
   fgeo = derive2 { name="fgeo"; version="1.1.4"; sha256="0axglmk05li3plb79rccskhddjzq3pdx3mgxr8yqysymf1nscrq6"; depends=[cli crayon dplyr fgeo_analyze fgeo_plot fgeo_tool fgeo_x glue magrittr purrr rlang rstudioapi]; };
   fgeo_analyze = derive2 { name="fgeo.analyze"; version="1.1.11"; sha256="148ks0y8k29v5z69g04k2l1ncml18xcwgagi6mngj72b4h3cpc6p"; depends=[dplyr fgeo_tool glue lubridate magrittr MASS purrr rlang tibble tidyr withr]; };
   fgeo_plot = derive2 { name="fgeo.plot"; version="1.1.9"; sha256="18zw4bsqdqdpy103kdyl40162mii6s1lp2w4cpi50svx7g7xhgh5"; depends=[dplyr fgeo_tool ggplot2 ggrepel glue magrittr purrr rlang stringr]; };
   fgeo_tool = derive2 { name="fgeo.tool"; version="1.2.5"; sha256="1sy0w2n2727v44fv56zijj03q732q3qnxyn1r1j8spmb257bhvn6"; depends=[dplyr glue magrittr purrr readr rlang tibble tidyselect]; };
   fgeo_x = derive2 { name="fgeo.x"; version="1.1.4"; sha256="0swps9rli74fmfb2j4kf55kw39gxz0q49m74ad4vcs0ylyp0sxrb"; depends=[memoise]; };
+  fgm = derive2 { name="fgm"; version="1.0"; sha256="0i6lbqxxjq78dql14qwqs7slnn0kyls2g3a9biabny2narwf6n3m"; depends=[fdapace JGL]; };
   fgof = derive2 { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; };
   fgpt = derive2 { name="fgpt"; version="2.3"; sha256="1d0qzsn4b68jhk07k97iv765jpmzzh1gwqpid0r76vg4cwqfs3n7"; depends=[]; };
   fgui = derive2 { name="fgui"; version="1.0-8"; sha256="024fzd1c7iwqprn26hwjb9l2qlvvyzl449d7iixy0x69djwsrysv"; depends=[]; };
-  fhidata = derive2 { name="fhidata"; version="2019.6.24"; sha256="1lzv49nzf5j0gn88g8ilgp1vxwq2k7rji2vzzcxhmcdc1wir2nhk"; depends=[data_table]; };
+  fhidata = derive2 { name="fhidata"; version="2019.8.27"; sha256="0cm8ixpr3gjzprjcv43zdnysw8qhv72pf3fd2vckql01mlk16p42"; depends=[data_table]; };
   fiberLD = derive2 { name="fiberLD"; version="0.1-6"; sha256="1i3bl2qsc77m81l11an9ihl4vy86s8jd5x6pasib77rl2877ad4x"; depends=[doParallel foreach Matrix VGAM]; };
   fic = derive2 { name="fic"; version="1.0.0"; sha256="18xz94w1ab17jfi61bdg9z3pm63g488v17ns2ivizkza4gg07pv8"; depends=[abind ggplot2 mvtnorm numDeriv scales survival tensor]; };
   fieldRS = derive2 { name="fieldRS"; version="0.2.2"; sha256="0jrcdsv46zx7six9ll5sha32wx36wqajaladj6z8xym2n9ay8d5b"; depends=[caret concaveman ggplot2 raster rgeos sp spatialEco stringdist]; };
-  fields = derive2 { name="fields"; version="9.8-3"; sha256="1q9x68dczjym56v7x90x4x5br59vj3dww6w8v42zd3yl17h7c1h1"; depends=[maps spam]; };
-  fiery = derive2 { name="fiery"; version="1.1.1"; sha256="07cfrzajr5knmz5ngczkdd2kzjfdnn1y4b0z73daxwhk4dq8j6ji"; depends=[assertthat crayon future glue httpuv later R6 reqres stringi uuid]; };
+  fields = derive2 { name="fields"; version="10.0"; sha256="173zm5vr236ydiq0v27qy0l3x7h9fc7jly38iakg77j26i0a01il"; depends=[maps spam]; };
+  fiery = derive2 { name="fiery"; version="1.1.2"; sha256="01ahdvcag8ifpp6jl6cgjjrchwxbr9fzvzqysj77kg3n5dcqm6cl"; depends=[assertthat crayon future glue httpuv later R6 reqres stringi uuid]; };
   filehash = derive2 { name="filehash"; version="2.4-2"; sha256="14zv7h5195dmfksgk8qvjgc2qq8253vga6267aa1bqs5bpvmdl5n"; depends=[]; };
   filehashSQLite = derive2 { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[DBI filehash RSQLite]; };
   filelock = derive2 { name="filelock"; version="1.0.2"; sha256="00ql5fw1hidpfnm0szaavf43ahmsnvdbi8i5lr1nrcc90yaiaadc"; depends=[]; };
@@ -7409,17 +7692,19 @@ in with self; {
   filesstrings = derive2 { name="filesstrings"; version="3.1.5"; sha256="072alawp6j08mwlw1pz50g3lfi726kpsc744x5fvy71d7w4gqn6l"; depends=[checkmate magrittr matrixStats ore rlang strex stringi stringr tibble withr]; };
   filling = derive2 { name="filling"; version="0.2.0"; sha256="0yxixwgvn7jq09j4r3q33mmdda9a4anfi7y0xqscbdjz6p9bx48w"; depends=[CVXR nabor Rcpp RcppArmadillo Rdpack ROptSpace RSpectra]; };
   fillr = derive2 { name="fillr"; version="0.1.1"; sha256="01z4841hxnpf8s9s327fqprb4gl9k8pkyv2mgc5vfl86r1pd7m1b"; depends=[]; };
-  finalfit = derive2 { name="finalfit"; version="0.9.4"; sha256="01qyigr29pxk89bn9qkmbjzxsks06an15r8apbh1ks5ykj442a70"; depends=[boot broom dplyr forcats GGally ggplot2 gridExtra Hmisc lme4 magrittr mice pillar plyr pROC purrr readr scales stringr survival survminer tibble tidyr]; };
+  finalfit = derive2 { name="finalfit"; version="0.9.7"; sha256="1y1fllbrqy4q79w4l3830aqlf32v4clfzajqnwiylxwxw71v7yaa"; depends=[boot broom dplyr forcats GGally ggplot2 gridExtra Hmisc lme4 magrittr mice pillar plyr pROC purrr scales stringr survival survminer tibble tidyr]; };
+  finbif = derive2 { name="finbif"; version="0.1.0"; sha256="1bvic9nbqz3qs24ldf1zsqfijvw3jl8frbm8pyxn8cpgdgkj9kq1"; depends=[digest httr jsonlite lubridate lutz]; };
   finch = derive2 { name="finch"; version="0.3.0"; sha256="1cglyq3b0cvl05yrnpy6xn0nj0n817hgpcsxp3m07cvj8xidib02"; depends=[data_table digest EML hoardr plyr rappdirs xml2]; };
   findR = derive2 { name="findR"; version="0.2.1"; sha256="1a7cf6kd7i2l4ffr2b17nb9xnpsjhf6fcwpjy06r0qgcapnfp54b"; depends=[pdftools stringr]; };
   findpython = derive2 { name="findpython"; version="1.0.5"; sha256="0icifm4z6hhpmcjrg75a875iph0ci890ss02kdv3725pijc236iy"; depends=[]; };
   findviews = derive2 { name="findviews"; version="0.1.3"; sha256="1l1yhw5hvrn0rpkdsch8m69d2q5284jwccvv7r4ia4m0iqjfipj7"; depends=[ggplot2 gridExtra scales shiny]; };
   fingerPro = derive2 { name="fingerPro"; version="1.1"; sha256="1a1lj8gyrbgcg8hr03cj2bjzlaafddspri7abc83ys1raqwd4j68"; depends=[car GGally ggplot2 gridExtra klaR MASS plyr Rcmdr Rcpp RcppGSL RcppProgress reshape rgl scales]; };
   fingerprint = derive2 { name="fingerprint"; version="3.5.7"; sha256="04jcwkydjrs31pia6kq8z2n9s54im950q08hs2ay15xjxxkmb8ic"; depends=[]; };
-  fingertipsR = derive2 { name="fingertipsR"; version="0.2.7"; sha256="0yriyw3qzxs9g0cfl9mk80mfpmfdx8l554gk03ps8ji497w94rql"; depends=[curl dplyr DT httr jsonlite miniUI purrr readr shiny shinycssloaders]; };
-  fingertipscharts = derive2 { name="fingertipscharts"; version="0.0.8"; sha256="0hcbmzkzh3mnh6mk2yg21midkjgj5w03xw18qhq6mgpz8rcv7jm7"; depends=[curl dplyr fingertipsR geojsonio ggplot2 leaflet lemon mapproj purrr rlang scales sf stringr tibble tidyr]; };
+  fingertipsR = derive2 { name="fingertipsR"; version="0.2.9"; sha256="03zj7qqh3yzsvw3a36c8jfci9fz4n0ylzzvlw3dlsi9637xcc9pz"; depends=[curl dplyr DT httr jsonlite miniUI readr shiny shinycssloaders]; };
+  fingertipscharts = derive2 { name="fingertipscharts"; version="0.0.10"; sha256="1l3mirspz28djlzma04lkkynfbz8qfq0asr662q102j31qx6vnm4"; depends=[curl dplyr geojsonio ggplot2 httr leaflet lemon mapproj purrr rlang scales sf stringr tibble tidyr]; };
   finiteruinprob = derive2 { name="finiteruinprob"; version="0.6"; sha256="0z4l0crymh58chxniqq70fqmvi6f5jkgvz72vbc7s3l9lrrapgr3"; depends=[numDeriv sdprisk]; };
   finreportr = derive2 { name="finreportr"; version="1.0.1"; sha256="1mansiyl4p4zqc1h2aw9zgzb3fy4mppgmshdm8mcf4nbm340g4vk"; depends=[curl dplyr httr rvest XBRL xml2]; };
+  fipe = derive2 { name="fipe"; version="0.0.1"; sha256="055jav8h4wws76jahm2d5dj49wkvzchh3f2vk5d50pny4dc7smar"; depends=[dplyr forcats furrr future httr jsonlite lubridate magrittr purrr readr stringr tibble tidyr]; };
   firebehavioR = derive2 { name="firebehavioR"; version="0.1.2"; sha256="10krny60dkpgwjjnriap91qmrnfq1rl5ck4ynf4h6x016bv0m374"; depends=[ggplot2]; };
   fishMod = derive2 { name="fishMod"; version="0.29"; sha256="0pbs4z27vwa3c42xdw3mr6l2i581bgvn2pk52kawbcnnlsff92ar"; depends=[]; };
   fishdata = derive2 { name="fishdata"; version="0.1.3"; sha256="04162m1j570cdwhffkwjs1x1qlsc20djj1jwx2hl2cqmbp584ppq"; depends=[]; };
@@ -7428,9 +7713,11 @@ in with self; {
   fishmethods = derive2 { name="fishmethods"; version="1.11-0"; sha256="0ikxvq0mkw0s382ias04il06sbqfiq8phx69f5pdzvbm5xskzmxs"; depends=[boot bootstrap lme4 MASS numDeriv]; };
   fishmove = derive2 { name="fishmove"; version="0.3-3"; sha256="1knbv087cg0czjcgdbrlpg69pp1dxb57b7ak5j1mcy7ay3a41a9h"; depends=[boot ggplot2 MASS plyr]; };
   fishtree = derive2 { name="fishtree"; version="0.3.1"; sha256="17iqwgh2ap4mjx7i4bwdbhzp3qlwwb4rr4zw0kg26va8rl3ycphn"; depends=[ape jsonlite memoise rlang]; };
+  fishualize = derive2 { name="fishualize"; version="0.1.0"; sha256="17ywlnjq1digkc73r9bc0czdwh7f3sp8lzbh53rx99dad7bpm9kd"; depends=[ggplot2 gridExtra png]; };
   fit_models = derive2 { name="fit.models"; version="0.5-14"; sha256="0vjbzmx0ambm6yzidb4vbgmhclwzwv2iz2cwl54ccdkvx4cx3fck"; depends=[lattice]; };
   fit4NM = derive2 { name="fit4NM"; version="3.3.3"; sha256="0k2194521yby6xxi77bpjp6ywz8kpnzws217m7n0hw6xwz5mqj1g"; depends=[cairoDevice gWidgets gWidgetsRGtk2 RGtk2 tkrplot]; };
   fitDRC = derive2 { name="fitDRC"; version="1.1.1"; sha256="09z9l27iwl0fd3zy6rsdhmy8qbm5d9a4wcaj5rxp7ynlnpi102aa"; depends=[]; };
+  fitHeavyTail = derive2 { name="fitHeavyTail"; version="0.1.1"; sha256="1smziqinv0ls33rchihn9r7x0sirm1ix9zmji8zkw59bpqp4ml94"; depends=[ICSNP mvtnorm]; };
   fitODBOD = derive2 { name="fitODBOD"; version="1.4.1"; sha256="06yqp95k13d5zy4md12aqlk8yjk9g7hnnizjzksx46sh6rsn82aw"; depends=[bbmle hypergeo]; };
   fitPoly = derive2 { name="fitPoly"; version="3.0.0"; sha256="0ws1vsh8if9i9i7820ak32b0bysjc0z09nbrk17qpms0b11cpc3g"; depends=[foreach]; };
   fitTetra = derive2 { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
@@ -7440,17 +7727,21 @@ in with self; {
   fitplc = derive2 { name="fitplc"; version="1.2-3"; sha256="1yg3ch907c4gk7q8hxgwqxgngkmy125j3ni917nkzi7hn59krd1n"; depends=[car nlme]; };
   fitteR = derive2 { name="fitteR"; version="0.1.0"; sha256="1kgnyl7am966vkfap8gmvchlpankrcj5dv5aj7ws8ix9shr76db6"; depends=[dplyr DT maxLik R_utils shiny]; };
   fitur = derive2 { name="fitur"; version="0.6.1"; sha256="04lr717lsbb4731nlzgscraj30knik4q68jzrl4i5f27912159r9"; depends=[actuar DT e1071 fitdistrplus ggplot2 goftest miniUI rstudioapi shiny]; };
+  fitzRoy = derive2 { name="fitzRoy"; version="0.2.0"; sha256="0c317bibl5az8ak29p0bfznldy1kda433mmxqrr7mc6fv0rd3jh3"; depends=[dplyr glue httr jsonlite lubridate magrittr purrr readr rlang rvest stringr tibble tidyr tidyselect xml2]; };
   fivethirtyeight = derive2 { name="fivethirtyeight"; version="0.5.0"; sha256="00cc7kjs54wk2cxbkd14gldsrjmf4i35vwr6c2kfsassvjjhbmpm"; depends=[]; };
   fixedTimeEvents = derive2 { name="fixedTimeEvents"; version="1.0"; sha256="0z7ji8yzp4pj76ad64l7ivknkbi82ijx6abd3a18wicqhrh433sj"; depends=[]; };
   fixerapi = derive2 { name="fixerapi"; version="0.1.6"; sha256="0ikf8dn0l9c9gshp4bph3wasl0bh6lfybinc8n1rvb202231hmgb"; depends=[jsonlite tibble tidyr]; };
+  fixest = derive2 { name="fixest"; version="0.2.1"; sha256="1zs3jzrsg25hg8jrk1vc82xh5l07qc20109gvyv1m2arxs2ggnhs"; depends=[Formula MASS nlme numDeriv Rcpp]; };
   fizzbuzzR = derive2 { name="fizzbuzzR"; version="0.1.1"; sha256="119gbi9y4n8r52hk9vj7zf795dv9xnk7lnngljjcd7ydnhygwd4h"; depends=[]; };
   flacco = derive2 { name="flacco"; version="1.7"; sha256="1w77smmbrwglayr2rj88b00x7wan9f3x1fq8h6xyhybfvrw7vr0r"; depends=[BBmisc checkmate mlr]; };
   flagr = derive2 { name="flagr"; version="0.3.2"; sha256="195c78cml2pjzfvpkaxbzcg1dfdqxi76138p0v3x3zzva9d8nlji"; depends=[]; };
   flam = derive2 { name="flam"; version="3.2"; sha256="0v6kcl4n7wq052p7jdgbzlh9fpk8bzlrqw12i6pib1wd3slj0asa"; depends=[MASS Rcpp]; };
+  flamingos = derive2 { name="flamingos"; version="0.1.0"; sha256="0gic6y8wpxffpyi3zy0wh7apy4z6argxbz284n80k2mzh6lh029k"; depends=[Rcpp RcppArmadillo]; };
   flan = derive2 { name="flan"; version="0.7"; sha256="1r1vkf207k0il7r314gq1lxz0ndhdbbvx338mn8zhrkrd2ln9hpq"; depends=[lbfgsb3 Rcpp RcppArmadillo RcppGSL]; };
   flare = derive2 { name="flare"; version="1.6.0.2"; sha256="1ybrsx1djqldw0l5l1iz4pfh6xxb8ckkg1ric7wnsr51wm9ljlh5"; depends=[igraph lattice MASS Matrix]; };
   flars = derive2 { name="flars"; version="1.0"; sha256="06qma1ar1nj7n6g9alk1qydm5bkj6lsjx0pqkikxpb41d91civqk"; depends=[fda MASS Matrix Rcpp RcppEigen]; };
   flashClust = derive2 { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
+  flashlight = derive2 { name="flashlight"; version="0.4.0"; sha256="0p44my7786pr0mxncawf607dv696sg9cag201f1c3m75a1zsb4yy"; depends=[dplyr ggplot2 ggpubr MetricsWeighted rlang tidyr]; };
   flatr = derive2 { name="flatr"; version="0.1.1"; sha256="10l98a3f57wahfpdqxj70r25zfhk4vzzd014pdnriy458yrfd7rw"; depends=[dplyr magrittr tibble]; };
   flatxml = derive2 { name="flatxml"; version="0.0.2"; sha256="1f7pc3chzimkg23490qvppy63sk4ds3aaahc36sa4dc4qmhabyms"; depends=[RCurl xml2]; };
   flexPM = derive2 { name="flexPM"; version="2.0"; sha256="0h3qs9w9pc2nc24q1diz7j3s93y40ijpmgq2l0xg9mzcgjz9kz8c"; depends=[survival]; };
@@ -7461,9 +7752,10 @@ in with self; {
   flexmixNL = derive2 { name="flexmixNL"; version="0.0.1"; sha256="0bk5v0cnsn1qkd1b86vj0bnpr4l9d6523kpkgzb1l1sqyscawfmm"; depends=[flexmix gnm]; };
   flexrsurv = derive2 { name="flexrsurv"; version="1.4.1"; sha256="13jq7yk7rz2148wkf7dv28l79zwdf1gpfkd5khgacb8hl5kml3p0"; depends=[Epi formula_tools matrixcalc orthogonalsplinebasis survival]; };
   flexsurv = derive2 { name="flexsurv"; version="1.1.1"; sha256="0x7p1rv51pplfyyzcg63ssb8z56mig7y0363hkr0219w3cvyq9nr"; depends=[deSolve mstate muhaz mvtnorm quadprog Rcpp survival tibble tidyr]; };
-  flexsurvcure = derive2 { name="flexsurvcure"; version="0.0.2"; sha256="1lhw2z8i4l822ncziwpw6hg0dzc244q60n7l5aahgdhcr0xgylhz"; depends=[flexsurv gtools survival]; };
-  flextable = derive2 { name="flextable"; version="0.5.5"; sha256="1q6x9mfk5gikqjbbra1dn8hs1rq5ws99jdjav3m113gx9f2j5yxh"; depends=[base64enc data_table gdtools htmltools knitr officer rlang rmarkdown xml2]; };
+  flexsurvcure = derive2 { name="flexsurvcure"; version="1.0.0"; sha256="1blhwbkp0a3a7xnqyxp952wxkihdxb0xh68sk827h8rxis9zr4z4"; depends=[flexsurv gtools survival]; };
+  flextable = derive2 { name="flextable"; version="0.5.6"; sha256="1f869f2dfqkzhf6yix7xcbs8rn1nwq3sg623h74zg6h1pl6px66w"; depends=[base64enc data_table gdtools htmltools knitr officer rlang rmarkdown xml2]; };
   flifo = derive2 { name="flifo"; version="0.1.5"; sha256="03x66l3ryrjvwbxxd0ncjrb5w9kc7fswmp5psb1cb7r87f395gm3"; depends=[bazar pryr]; };
+  flightplanning = derive2 { name="flightplanning"; version="0.7.2"; sha256="0l7pm4sdjdr0n5njnh4lxydayr55p4i5w2a6i3b998z8fdl0vpv9"; depends=[rgdal rgeos sp]; };
   flip = derive2 { name="flip"; version="2.5.0"; sha256="08x5hwxaxbgc745gblja7gcy0b5wbp7jf90lkha75zl5cc9iyksl"; depends=[cherry e1071 plyr someMTP]; };
   flippant = derive2 { name="flippant"; version="1.1.0"; sha256="06aj90y7c33c1q0nw1c67vr1pfmp9fw78az6ivrbq110f2k1m12w"; depends=[assertive_files assertive_numbers assertive_properties assertive_strings assertive_types data_table ggplot2 magrittr minpack_lm plyr RcppRoll stringi withr wmtsa]; };
   flipscores = derive2 { name="flipscores"; version="0.2"; sha256="0b55qxdrn6m0pbk4aj9zr1d9s7id6pclsaz939p48jmqx07zayjg"; depends=[]; };
@@ -7482,18 +7774,19 @@ in with self; {
   fluspect = derive2 { name="fluspect"; version="1.0.0"; sha256="0j80wx00s8ljqg1qaqw66rj7kxhhk438hb0syv0lr9vld03cxy2w"; depends=[pracma]; };
   flux = derive2 { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
   fluxweb = derive2 { name="fluxweb"; version="0.2.0"; sha256="1ssq90fqm4p0j4g171mx208lmgz3hkxs8hgsffkawpmxgacs0gh1"; depends=[]; };
-  flyio = derive2 { name="flyio"; version="0.1.2"; sha256="1s5j8gdrxz9xwdfs1b2fypm9679apbk4nn1bik17zwv4shfwyzvy"; depends=[assertthat aws_s3 googleCloudStorageR stringr]; };
+  flyio = derive2 { name="flyio"; version="0.1.4"; sha256="1mrv5gvsr4zbh8bghrrizgrqz1cqn4pl3gizr77jl9mlxxpmhx20"; depends=[assertthat aws_s3 googleCloudStorageR stringr]; };
   fma = derive2 { name="fma"; version="2.3"; sha256="1z7shh9ng3q7ax22cwg86y79jzz5gbchdny2rppzzm0lkvvyy5pm"; depends=[forecast]; };
   fmbasics = derive2 { name="fmbasics"; version="0.3.0"; sha256="1dnf09rgwpc7n7ydlp7r5cwy2fa4vh1h9mbjqzfhk0208kz6jpl0"; depends=[assertthat fmdates lubridate tibble]; };
+  fmcmc = derive2 { name="fmcmc"; version="0.2-0"; sha256="0hczf41pykxz8j9y8d2mqawzk5q9w44875jk4p4pf7jbkff5rzxf"; depends=[coda]; };
   fmdates = derive2 { name="fmdates"; version="0.1.4"; sha256="1bbcwkh65nf2gak9b81zgg32c5ihwhmai3nc43ayf6ivhqsxw8x0"; depends=[assertthat lubridate]; };
-  fmri = derive2 { name="fmri"; version="1.9"; sha256="1v7aicpds7zbh7p0vizrg5730f98ikqzrp6gmjw9psjwfxv0kmf6"; depends=[aws awsMethods metafor nlme]; };
+  fmri = derive2 { name="fmri"; version="1.9.2.1"; sha256="0ij6j3hk3rb2vinhh2jxac085qd258zr4jk60difh5krsk9kksyc"; depends=[aws awsMethods metafor nlme]; };
   fmriqa = derive2 { name="fmriqa"; version="0.3.0"; sha256="1z09nf1c305a78c129jvs21b9z91wyhazz41wrn4bimmhfhx7szv"; depends=[ggplot2 gridExtra imager optparse pracma RcppEigen reshape2 RNifti tidyr viridisLite]; };
   fmrs = derive2 { name="fmrs"; version="1.0-9"; sha256="1x9g67701kcnz3p97iynr74sn0mfpxpp16mv1l4zxlhhfn2v5lwx"; depends=[survival]; };
   fmsb = derive2 { name="fmsb"; version="0.6.3"; sha256="1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5"; depends=[]; };
   foba = derive2 { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
   focusedMDS = derive2 { name="focusedMDS"; version="1.3.3"; sha256="18s86dbbpyajscqr9frprf2vp1zif7vh4lw5m0cjskfc6gmsdp2p"; depends=[htmlwidgets]; };
-  foghorn = derive2 { name="foghorn"; version="1.1.0"; sha256="161smkvx1pzn8sskr137iiqhcm0jp5rrrmc1valamh0zz5glcdk8"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
-  foieGras = derive2 { name="foieGras"; version="0.2.2"; sha256="0nllvq81py74hgjci0n0lbi0flr3rrc1ki39xnidpcqkdp9n8ddx"; depends=[argosfilter dplyr ggplot2 gridExtra lubridate magrittr RcppEigen sf stringr tibble TMB]; };
+  foghorn = derive2 { name="foghorn"; version="1.1.4"; sha256="1nxz41yhlg28jdihixy2w44nfvaliyfmxibxk58j7hfgyyvlm21s"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
+  foieGras = derive2 { name="foieGras"; version="0.4.0"; sha256="0jrxdmsjxc8zjfgcv6n0kili0dzxppy0qdhqaji2ggklzynp4i33"; depends=[argosfilter dplyr furrr future ggplot2 gridExtra lubridate RcppEigen rworldmap sf stringr tibble tidyr TMB]; };
   folderfun = derive2 { name="folderfun"; version="0.1.2"; sha256="08kfw7i5xqbk07ssp4j79p3x0gf0jq2fbcq99lb10r6ndcgp5rxp"; depends=[]; };
   fontBitstreamVera = derive2 { name="fontBitstreamVera"; version="0.1.1"; sha256="0nipdlmhjv1wr3aidcl97nk6mppdkd65krgwqnhdsnv0jpfv761j"; depends=[]; };
   fontHind = derive2 { name="fontHind"; version="0.1.1"; sha256="0qz3bj8vdy6jayy84p3vyxfwqll4v4qlklwq9wl981ii2k7g0vxf"; depends=[extrafont ggplot2 hrbrthemes]; };
@@ -7501,6 +7794,7 @@ in with self; {
   fontMPlus = derive2 { name="fontMPlus"; version="0.1.1"; sha256="1hvviawbfs3m7mr46y2sjdxkksi10vpbnjic11rjaxqcy9a43f4y"; depends=[extrafont ggplot2 hrbrthemes]; };
   fontcm = derive2 { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; };
   fontquiver = derive2 { name="fontquiver"; version="0.2.1"; sha256="0qv3i9hch7cygl9983s3w68wfh5qvym2jkm52pp06p6mq8a1i1wm"; depends=[fontBitstreamVera fontLiberation]; };
+  foodingraph = derive2 { name="foodingraph"; version="0.1.0"; sha256="0v40yk7lx0zxvpd3vz48h5gzx8ds8v3l12i2r7v9safgfvip6fvn"; depends=[cowplot dplyr ggplot2 ggraph igraph labeling magrittr minerva rlang stringr tibble tidyr viridis]; };
   foodweb = derive2 { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
   foolbox = derive2 { name="foolbox"; version="0.1.1"; sha256="06lcr5v6bcqqxskrwdm16b46zq4h67x8bwqya88jxs5bgi5w0hj3"; depends=[magrittr rlang]; };
   forams = derive2 { name="forams"; version="2.0-5"; sha256="1fh3m9896ksv1h7b027yb955bzyv70yafhqvn5crkzalzk3jpb0s"; depends=[vegan]; };
@@ -7508,14 +7802,15 @@ in with self; {
   foreSIGHT = derive2 { name="foreSIGHT"; version="0.9.8"; sha256="1kpk8p50xq3jrmapqyf56a5lnxkdvlafp5709wvqxq9rnsslpv2g"; depends=[cowplot directlabels doParallel GA ggplot2 moments zoo]; };
   foreach = derive2 { name="foreach"; version="1.4.7"; sha256="0q7iyniw5iri4hl57bhil3r69s5wnaijzn0q0x4h3z42245jqqwm"; depends=[codetools iterators]; };
   forecTheta = derive2 { name="forecTheta"; version="2.2"; sha256="1a7ip3czm8k82kb8dx95m8q47kjhifdj51gzavd1zj9ni3vwbhfn"; depends=[forecast tseries]; };
-  forecast = derive2 { name="forecast"; version="8.8"; sha256="079c3h4dxpnznadqbrpidahl3j58i4v8p0jw47lh1snkfx6hfxyh"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca zoo]; };
+  forecast = derive2 { name="forecast"; version="8.9"; sha256="013xnpj3czcjkwqyzjjjhgy9nd56lwvh6y05ys2lndvcy4vyrqxd"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca zoo]; };
   forecastHybrid = derive2 { name="forecastHybrid"; version="4.2.17"; sha256="1k3jwxqwkprcf2qr5x1b8hzzdvbyzdiablpvqnr0482x4vza8lmc"; depends=[doParallel foreach forecast ggplot2 purrr thief zoo]; };
-  forecastSNSTS = derive2 { name="forecastSNSTS"; version="1.2-0"; sha256="1rnf2a7sri52sm976iicab660qk07pmz8jmd3q71dg4hmc30yf9j"; depends=[Rcpp]; };
+  forecastML = derive2 { name="forecastML"; version="0.6.0"; sha256="1jq6dlm9ix81nx61nphg2fzmf1jmlqirhpjnxx8qyhb8gx3jiply"; depends=[data_table dplyr dtplyr future_apply ggplot2 lubridate magrittr purrr rlang tidyr]; };
+  forecastSNSTS = derive2 { name="forecastSNSTS"; version="1.3-0"; sha256="0p47x7ic2ib7znqbp8br4b2ci75f5w8x413z9g4n30m002p7irp1"; depends=[Rcpp]; };
   foreign = derive2 { name="foreign"; version="0.8-72"; sha256="124c9229is44p2rv7xyh2q86nsfi7vzyyh5n3c5ihziqrp4ig723"; depends=[]; };
   forensic = derive2 { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[combinat genetics]; };
   forensim = derive2 { name="forensim"; version="4.3"; sha256="1jhlv9jv832qxxw39zsfgsf4gbkpyvywg11djldlr9vav7dlh3iw"; depends=[tcltk2 tkrplot]; };
   forestChange = derive2 { name="forestChange"; version="0.6"; sha256="13zzng022m1jhca0d2w868kqp9h0wfpjmh0xnlb8jl1l4vfc68r9"; depends=[curl raster rgdal rvest SDMTools xml2]; };
-  forestControl = derive2 { name="forestControl"; version="0.2.0"; sha256="1w1x7i57dqlrm6zzgx4k0p1zs83nrg2w2jhhvjjk9s6y1ba3whyg"; depends=[dplyr magrittr purrr Rcpp tibble]; };
+  forestControl = derive2 { name="forestControl"; version="0.2.1"; sha256="1m75s98bs8n3qad8gp6a333dh3mbi0rbbic9iwnsqyklzkhmx1nr"; depends=[dplyr magrittr purrr Rcpp tibble]; };
   forestFloor = derive2 { name="forestFloor"; version="1.11.1"; sha256="1sslxq44qmmmdhr7800bz8lj9w2l7f7x1vly3w2z7j1qdijc7nw7"; depends=[kknn randomForest Rcpp rgl]; };
   forestHES = derive2 { name="forestHES"; version="1.0-1"; sha256="05l04ly3l8xkdz3rnnrfa4y0wfmh1am2ixbz1vfarnqkc0zppwpj"; depends=[]; };
   forestRK = derive2 { name="forestRK"; version="0.0-5"; sha256="0zm0q7bckmjl1j3yh5pw4r6rq64rfmzjvmvqniza5691jagjz60m"; depends=[ggplot2 igraph knitr mlbench partykit pkgKitten rapportools]; };
@@ -7530,24 +7825,28 @@ in with self; {
   formatR = derive2 { name="formatR"; version="1.7"; sha256="1nsxbrx31k3y6yql30qkrvdfyznlia2qfvwv95mfiy7m7wdn4rm3"; depends=[]; };
   formattable = derive2 { name="formattable"; version="0.2.0.1"; sha256="1s7jjgm0j24vdwm39933ygh6xnxcfvzy4kl2mmfgas4czfcmd4rf"; depends=[htmltools htmlwidgets knitr rmarkdown]; };
   formula_tools = derive2 { name="formula.tools"; version="1.7.1"; sha256="15d3ikfmsh9zszfgfkrxb3jkipl41inm7n6bhs73kwlnklnygq2g"; depends=[operator_tools]; };
+  formulaic = derive2 { name="formulaic"; version="0.0.4"; sha256="1y5v6zwyzcba3zn8xzn9q94v5cwnkcr406xp3kmj9igxgb24ff0m"; depends=[data_table DT]; };
   formulize = derive2 { name="formulize"; version="0.1.0"; sha256="1fz8q48z4zvfglxzmmjznb7lcfrrfqmnws85jfkihs3ff43h7ccc"; depends=[recipes rlang]; };
   fortunes = derive2 { name="fortunes"; version="1.5-4"; sha256="109ly9kpfn6hy294ava8795wy5z9l1bnl98hhhv8kn9naf4camdg"; depends=[]; };
   forward = derive2 { name="forward"; version="1.0.4"; sha256="0qhssp8mymy5wgzfkp1xa8s81j803g0ckg647ind6ms26320hq0x"; depends=[MASS]; };
   forwards = derive2 { name="forwards"; version="0.1.3"; sha256="07374a1ak5h8q3diqyvsw3q1grqi3679w9sshf1jkhlrj7wn0dmv"; depends=[]; };
   fossil = derive2 { name="fossil"; version="0.3.7"; sha256="188hyb3r1dnxkmqf2czh1kdzmk4mjc0v1kn1zml2yvxaxk7adsrz"; depends=[maps shapefiles sp]; };
   foto = derive2 { name="foto"; version="1.0.0"; sha256="10mfxgg5f1r85cwr0jjnsa4csp1afcrjvyjvp31060nm638clcgh"; depends=[raster]; };
-  fourPNO = derive2 { name="fourPNO"; version="1.0.5"; sha256="0nx6rl34jklsn48wphh16rxm57hfxndc1zfddgl9yw5nfmfll7gs"; depends=[Rcpp RcppArmadillo]; };
+  fourPNO = derive2 { name="fourPNO"; version="1.1.0"; sha256="0a0z2403kdh3fjb0ypjjk3m6fg77bg6m7hwb5jhlymcy2rwkay7w"; depends=[Rcpp RcppArmadillo]; };
   fourierin = derive2 { name="fourierin"; version="0.2.4"; sha256="140721p4h5mjr7r25ckv8wfhbj88xw6v47b613r5bpalg8gw650l"; depends=[Rcpp RcppArmadillo]; };
-  fpCompare = derive2 { name="fpCompare"; version="0.2.2"; sha256="10a87bpbpvrbrpyfx7ygyr9b7wd3fp79nd4g2ggl1gz3b1daqgxq"; depends=[]; };
+  fpCompare = derive2 { name="fpCompare"; version="0.2.3"; sha256="1pyv52rvbqd5v6ns86pc119q019ps070bd819x7a98s4hmbf76zq"; depends=[]; };
   fpa = derive2 { name="fpa"; version="1.0"; sha256="0kgpl9qq0l10h0vdd2f8vnir0kdylh1jvvv5z4d9ygj1pl9qywhk"; depends=[fields reshape]; };
   fpc = derive2 { name="fpc"; version="2.2-3"; sha256="1dy3pla4jjgs46izqg2kxajlxr80sbr9896jbzb1qszrdx7af041"; depends=[class cluster diptest flexmix kernlab MASS mclust prabclus robustbase]; };
   fpca = derive2 { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; };
   fpeek = derive2 { name="fpeek"; version="0.1.1"; sha256="0x7q5rl02ih0zmjfzvsc1vmn7s7yzdkf2gbmzc3mh7qadwpnf89p"; depends=[Rcpp]; };
   fpest = derive2 { name="fpest"; version="0.1.1"; sha256="013r8295spm02j558aqvnrnbkg2g73gl5vi4lqzngbw8yr8qlkri"; depends=[]; };
+  fplot = derive2 { name="fplot"; version="0.2.0"; sha256="0sq662qblkq6yngi5d98byjmf2xyfq9rlrg8pl1gr3pn000wi8b3"; depends=[data_table Formula Rcpp]; };
   fpmoutliers = derive2 { name="fpmoutliers"; version="0.1.0"; sha256="108bp3smk9jnckd5237xly4ywmal03rq1kidq5z61l6zrhc3yfh9"; depends=[arules doParallel foreach Matrix pmml pryr R_utils XML]; };
+  fpop = derive2 { name="fpop"; version="2019.08.26"; sha256="1gz5db9hlkvzkp5y7zzn9h57qz7ilpdyxyf05vy9kxbj36kgc19n"; depends=[]; };
   fpow = derive2 { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
   fpp = derive2 { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[expsmooth fma forecast lmtest tseries]; };
   fpp2 = derive2 { name="fpp2"; version="2.3"; sha256="1krrvwg25qjfpfjdwd3n0d87ihl4zf7y1bnh6gbi92sdja3ljq48"; depends=[expsmooth fma forecast ggplot2]; };
+  fpp3 = derive2 { name="fpp3"; version="0.1"; sha256="17j5y1y46dn21049rfiwr7j0f5q2kc6jvxdpw252l063dqdb9pd9"; depends=[cli crayon dplyr fable fabletools feasts ggplot2 lubridate magrittr purrr rstudioapi tibble tidyr tsibble tsibbledata]; };
   fptdApprox = derive2 { name="fptdApprox"; version="2.1"; sha256="00vxwcwca7zfm4fr0x9898snr6j0474ci1bahjmpj2jxiclwnhzs"; depends=[]; };
   fracdiff = derive2 { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
   fracprolif = derive2 { name="fracprolif"; version="1.0.7"; sha256="124p5x59smqf8ba0xwhlq69w77zga2bv9plzwkadf700lzvaj2wx"; depends=[emg numDeriv]; };
@@ -7556,8 +7855,8 @@ in with self; {
   fractalrock = derive2 { name="fractalrock"; version="1.1.0"; sha256="15f4w8hq3d8khgq269669ri16qxhar9646w40cw7wzh79r9gpf00"; depends=[futile_any futile_logger quantmod timeDate]; };
   fractional = derive2 { name="fractional"; version="0.1.3"; sha256="1jz83y53s0xdphh1z3v3z7xhcmhx7rp0iiazw2vdsx2747r3rirn"; depends=[Rcpp]; };
   fragilityindex = derive2 { name="fragilityindex"; version="0.1.0"; sha256="06f7w0ff8mmydgylz5a0z29fc78spvmay3sjq0rz9k44w4bb9z3q"; depends=[pbapply stringr survival]; };
-  frailtyEM = derive2 { name="frailtyEM"; version="1.0.0"; sha256="19rsn07knc4ifj4v4v37s7k1dh0a4sdsxgbk5w7slzwh816spmjl"; depends=[expint ggplot2 magrittr Matrix msm numDeriv Rcpp survival tibble]; };
-  frailtyHL = derive2 { name="frailtyHL"; version="2.2"; sha256="0i6r889i4f07w6992nfsfr439psz6k3q79nkkk3zwf5fv5r6bcky"; depends=[cmprsk Matrix survival]; };
+  frailtyEM = derive2 { name="frailtyEM"; version="1.0.1"; sha256="0ajqmn8353va8k3idsl90xsrhpdqarfmvg84d4kwayxlqy6dmbb0"; depends=[expint ggplot2 magrittr Matrix msm numDeriv Rcpp survival tibble]; };
+  frailtyHL = derive2 { name="frailtyHL"; version="2.3"; sha256="115iv1d2c9mvviick8b24bn6kdbsvnf21nvfjm9a8dk0x07hrv5g"; depends=[cmprsk Matrix survival]; };
   frailtySurv = derive2 { name="frailtySurv"; version="1.3.6"; sha256="0k41a5x7qzrajk2l59q5b8kjj084vids4ailr8r7r2lnf6r9xrav"; depends=[ggplot2 nleqslv numDeriv Rcpp reshape2 survival]; };
   frailtypack = derive2 { name="frailtypack"; version="3.0.3.2"; sha256="0kwp7z5m73nx6jcgh6j76lmirpzh2kz3yirwn4iii9qkccrh6jps"; depends=[boot doBy MASS nlme statmod survC1 survival]; };
   frair = derive2 { name="frair"; version="0.5.100"; sha256="1j557dqvc5xiz7xbl4h7vp55pc3hly8ci01qy36p02vlxhzf4hj3"; depends=[bbmle boot lamW]; };
@@ -7566,10 +7865,12 @@ in with self; {
   frapplot = derive2 { name="frapplot"; version="0.1.3"; sha256="12924szk2p0582nv97gi8pxrbv41zqpjryc6jqgg4llhp7ydz7xf"; depends=[]; };
   frbs = derive2 { name="frbs"; version="3.1-0"; sha256="0ngvi7lg6aviwic8f4ya03khyzh3ksglpmsnrdjjznwj874y2wim"; depends=[]; };
   fredr = derive2 { name="fredr"; version="1.0.0"; sha256="1hv51m0ihdpb73rp2gwj2q2xpjzlqpf9p3xzqdmy9nhwpfbj14nh"; depends=[httr jsonlite rlang tibble]; };
+  freealg = derive2 { name="freealg"; version="1.0-0"; sha256="0a3s89379lxr0dw068wfwzlqjq70zbaxil1vwwa4bf2i7s46mcgl"; depends=[Rcpp]; };
   freegroup = derive2 { name="freegroup"; version="1.1-0"; sha256="0ssshs2d6l2ip1xx9x581w0cdnd2459a1mh360ybwajkjgak2ci6"; depends=[magic magrittr plyr]; };
   freeknotsplines = derive2 { name="freeknotsplines"; version="1.0.1"; sha256="1yl53rnngrpj5mv1fgd0rgiqaw431g4ckxl1bq0l712647njx02a"; depends=[]; };
   freestats = derive2 { name="freestats"; version="0.0.3"; sha256="0b18n8idap089gkmjknzzb94dvs2drpdqs0mrw7dqnacxgbbqwfj"; depends=[MASS mvtnorm]; };
   freesurfer = derive2 { name="freesurfer"; version="1.6.5"; sha256="0g5rpskwgxx37b60vxn89kf2d6b2y66v508xyrsx3h47q973kjia"; depends=[neurobase R_utils reshape2]; };
+  freesurferformats = derive2 { name="freesurferformats"; version="0.1.6"; sha256="17lxy8b4xz7g3anmr2wv70idw37gmlh6cf95k7krqmrrm5a3i369"; depends=[pkgfilecache]; };
   freetypeharfbuzz = derive2 { name="freetypeharfbuzz"; version="0.2.5"; sha256="11agmqdp6sy32jk2840cj8wmgywq0yjar18zsnsn56qfvn4b1k1c"; depends=[fontquiver]; };
   freqdist = derive2 { name="freqdist"; version="0.1"; sha256="1pb45jabv9s3qa7v1isd5wm9b0g9p04q5h18spcaax8397s0d2fv"; depends=[]; };
   freqdom = derive2 { name="freqdom"; version="2.0.1"; sha256="0ig0ygnlcb5ndjjm5x8jpp37gvgwli9xv6zsvbbgfh72q418qswp"; depends=[matrixcalc mvtnorm]; };
@@ -7578,6 +7879,7 @@ in with self; {
   frequency = derive2 { name="frequency"; version="0.3.1"; sha256="0m3vgcwldl7zv0nwdwfz80qanibmfp8j5iv79kydhrmzzr04rbf5"; depends=[DT ggplot2 gtools knitr rmarkdown]; };
   frequencyConnectedness = derive2 { name="frequencyConnectedness"; version="0.2.1"; sha256="006cb7x65if7md5w6w90nacdmg39pv7dc8zxvchc52kmfzlps0ds"; depends=[knitr pbapply urca vars]; };
   frequentdirections = derive2 { name="frequentdirections"; version="0.1.0"; sha256="0rmifh221c8z3cqyqg0bfxnih9f64hvv98jz44i6grnlablfwwgw"; depends=[ggplot2]; };
+  fresh = derive2 { name="fresh"; version="0.1.0"; sha256="101ycxwk1z59zb2p6hfg4a8l565gfqbzmhw60nz22fql4gyhl8q9"; depends=[htmltools rstudioapi sass shiny]; };
   frm = derive2 { name="frm"; version="1.2.2"; sha256="1dl0vca9r2dams99sc13pfpi0b3yb02x59f4c1jz07zz005c8l23"; depends=[]; };
   frmhet = derive2 { name="frmhet"; version="1.1.3"; sha256="07sgsfhzrci8g1b0gicjfca1mgd8ppfqpkpp4q9bdxnjvdvlf45s"; depends=[]; };
   frmpd = derive2 { name="frmpd"; version="1.1.0"; sha256="0irgqdr0vr8k408lsxcrjkjbjvqvmy5mnjw9c1ghs86isrp5mciz"; depends=[]; };
@@ -7589,12 +7891,12 @@ in with self; {
   frostr = derive2 { name="frostr"; version="0.1.0"; sha256="02ygg5dxpnv72gpwwsarhkl5hk6hldxjqpw875p7hb1ny7khgmfg"; depends=[httr jsonlite tibble tidyr]; };
   frt = derive2 { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
   fs = derive2 { name="fs"; version="1.3.1"; sha256="1g26rgx13dzigp2vrlld6h28q33lwbax97zvwdrq2pc3iz54v4yn"; depends=[Rcpp]; };
+  fsbrain = derive2 { name="fsbrain"; version="0.0.3"; sha256="1s7i9rpazp5s3vnm9y6ajpy06wbd7gjdzr9mbndjnsb9w985957a"; depends=[dplyr fields freesurferformats pkgfilecache reshape rgl squash]; };
   fscaret = derive2 { name="fscaret"; version="0.9.4.4"; sha256="18fhyfl3f8syyc3g937qx87dmwbv7dray6b97p1s6lnssiv61gsw"; depends=[caret gsubfn hmeasure]; };
   fsdaR = derive2 { name="fsdaR"; version="0.4-6"; sha256="0lj2kaan5n4g2ckj6d4sfvab0a45h164m1fjvqf57c0ymhaswz76"; depends=[ggplot2 reshape2 rJava rrcov]; };
   fsia = derive2 { name="fsia"; version="1.1.1"; sha256="0id7cnswrqylgpwjil1zfn89ryrdpl20fim8x1srl8s1hm5bg35r"; depends=[]; };
-  fslr = derive2 { name="fslr"; version="2.23.0"; sha256="1sx4mw9cknbn7q7qc5rqqzzzly7wsq09dsdlmhb98ycqq631hx8c"; depends=[neurobase oro_nifti R_utils]; };
+  fslr = derive2 { name="fslr"; version="2.24.1"; sha256="1psjqvjv8krlkj7dcfwygz563a4cpn7h21z330hxh5q10rwhabi8"; depends=[neurobase oro_nifti R_utils]; };
   fso = derive2 { name="fso"; version="2.1-1"; sha256="0hn2ypm0nwfbmnh9il78pi30x7gfmayfangqyh0d63ngyz40bvma"; depends=[labdsv]; };
-  fssemR = derive2 { name="fssemR"; version="0.1.5"; sha256="1pxyl8b6nfaxdc86zlfjgyjvmx8ifh46d1lbwc2dknhp7sxc95q5"; depends=[glmnet igraph MASS Matrix mvtnorm qtl Rcpp RcppEigen stringr]; };
   fst = derive2 { name="fst"; version="0.9.0"; sha256="0ya5lh8p0qy5pcr6wxsrn43wj1r9gb9qycyn8gvl26ic3hxwk2rf"; depends=[Rcpp]; };
   fsthet = derive2 { name="fsthet"; version="1.0.1"; sha256="0z6az1jcvdahgn97r6cpj1s6fn0lvr7j12gcw2r7wbpajrvyl5j6"; depends=[]; };
   ftDK = derive2 { name="ftDK"; version="1.0"; sha256="1xs2rr2afjza97kpym5zkas3k78pilxjlh7lp1gc66banldr71g2"; depends=[dplyr httr pbapply purrr tibble]; };
@@ -7602,31 +7904,34 @@ in with self; {
   fts = derive2 { name="fts"; version="0.9.9.2"; sha256="08pwhi19db173d4nsk5rl8xa8qmaddj4bn3cjxb8ql4kny59i57q"; depends=[BH zoo]; };
   ftsa = derive2 { name="ftsa"; version="5.5"; sha256="1c7b3b6zrm45y2110j0dqlgilfiiyx4wqhgdiq82q6kagng32cl1"; depends=[colorspace fda forecast MASS pcaPP pdfCluster rainbow sde]; };
   ftsspec = derive2 { name="ftsspec"; version="1.0.0"; sha256="12f9yws1r26i240ijq0xqprl3pgbw50wv68jsm75ycplbs2jsyhs"; depends=[sna]; };
+  fuel = derive2 { name="fuel"; version="1.0.2"; sha256="0ziw370ch8g2hnlimxfgski4n28b83jnwrhlh7ibszk0lz593rkr"; depends=[]; };
   fueleconomy = derive2 { name="fueleconomy"; version="0.1"; sha256="1svy5naqfwdvmz98l80j38v06563vknajisnk596yq5rwapl71vj"; depends=[]; };
   fugeR = derive2 { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[Rcpp snowfall]; };
   fugue = derive2 { name="fugue"; version="0.1.7"; sha256="1myvi9cizxvahb6wn2k26v3x958xsrm2p414ar05injmfjdfnsmi"; depends=[]; };
-  fullfact = derive2 { name="fullfact"; version="1.2"; sha256="13729m2s8b32d9i9c6g2r0zkcqsw9p7nhdig8isarfn4bjzqhf71"; depends=[afex lme4]; };
+  fullfact = derive2 { name="fullfact"; version="1.3"; sha256="1dy5ppa22i9axqcwx2184qv2vjcbml0yh5b89zx9rg2zsnv4ygym"; depends=[afex lme4]; };
   fulltext = derive2 { name="fulltext"; version="1.3.0"; sha256="1wh120zdv4kfz1ai3zsnk7j6acyhx439hr9aj92j0mzmb3pzxs7j"; depends=[aRxiv crminer crul data_table digest hoardr jsonlite magrittr microdemic pdftools rcrossref rentrez rplos storr tibble xml2]; };
   fun = derive2 { name="fun"; version="0.2"; sha256="0944m10nym4rsb6rhdwqn04c7l3bz43jcw3q8hv4vljdf5kyg9ar"; depends=[]; };
   funData = derive2 { name="funData"; version="1.3-3"; sha256="01aklp1k3k0bhs3dzlcr3phyk27d2nw0b8r154chiix5m67nfhbf"; depends=[abind fields foreach]; };
   funFEM = derive2 { name="funFEM"; version="1.1"; sha256="08798lvryykrxfvp2297anzl4gi81gwvc1qyyzq16nafjf65kwfy"; depends=[elasticnet fda MASS]; };
   funHDDC = derive2 { name="funHDDC"; version="2.3.0"; sha256="1dym1bzywng5yjfzpppxx043pwcbvrxxq0bn1d6xqqkqcpzn2zhp"; depends=[fda MASS]; };
   funLBM = derive2 { name="funLBM"; version="1.0"; sha256="0krx5v1lakrrxk0j249k7sr7c6r40yg1l8l10laf4444j2qn8rjp"; depends=[fda funFEM]; };
-  funModeling = derive2 { name="funModeling"; version="1.8"; sha256="1vcbrskl3kmiz6p75083gfk8r058w1ynjvk9qa1fm4x62ab3i9bk"; depends=[dplyr entropy ggplot2 gridExtra Hmisc lazyeval moments pander pROC RColorBrewer reshape2 ROCR scales]; };
+  funModeling = derive2 { name="funModeling"; version="1.9.3"; sha256="0dqpb5igdpdnbwr6y8wr11hcn84clshnx0q913512jvcrx0h0pd9"; depends=[cli dplyr entropy ggplot2 gridExtra Hmisc lazyeval moments pander RColorBrewer reshape2 ROCR scales stringr]; };
   funbarRF = derive2 { name="funbarRF"; version="1.0.2"; sha256="14xfhwp4vffl215fqdxdxpmjblyw75ylxqjzja794adywm06sz19"; depends=[BioSeqClass Biostrings randomForest]; };
   funchir = derive2 { name="funchir"; version="0.1.4"; sha256="1mbsy65628q117c2k01wvibpjd3ibigy4yc1c8m0rf9jwsc67qjb"; depends=[data_table]; };
   functional = derive2 { name="functional"; version="0.6"; sha256="120qq9apg6bf39n9vnp68db5rdhwvnj2vi12a8j8243vq8kqxdqr"; depends=[]; };
   functools = derive2 { name="functools"; version="0.2.0"; sha256="0g62jdia3n09vq8mx1m2r4nl3jfcadzpym0wkldzzzjcfs90vl6b"; depends=[]; };
   funcy = derive2 { name="funcy"; version="1.0.1"; sha256="08r9nyqq83vzaddxcqwf4zilkz935p40vssfn3afs1bkkda5xyya"; depends=[calibrate car cluster fda fields flexclust kernlab MASS Matrix plyr sm wavethresh]; };
-  fungible = derive2 { name="fungible"; version="1.86"; sha256="0k59drwc0z1l67bkc49nmpdf8p6m5xwdxfhjbw83y5pxdjgzvj9q"; depends=[clue GPArotation lattice MASS mvtnorm nleqslv Rcsdp RSpectra]; };
+  fungible = derive2 { name="fungible"; version="1.93"; sha256="03v15qf5mlfllx8kb82ajq3lg8pssi20ffkszxbn20y8q4m2rapq"; depends=[clue GPArotation lattice MASS mvtnorm nleqslv Rcsdp RSpectra]; };
   funique = derive2 { name="funique"; version="0.0.1"; sha256="0p9k4nxjns1xid9vmslkaap0hm6yq6pbyvylgygd808if4q1z8k6"; depends=[]; };
   funnelR = derive2 { name="funnelR"; version="0.1.0"; sha256="143lb048krgh8rkkz6sm8h464kdy62w29fvvyar795vqi10bb5fy"; depends=[ggplot2]; };
+  funprog = derive2 { name="funprog"; version="0.1.0"; sha256="1npyijpsbb9n3z8pyvf2pbnf67jlcqw4wl2jm860i3z13j1cnhmn"; depends=[]; };
   funr = derive2 { name="funr"; version="0.3.2"; sha256="11mjd1ba9kwawh7k5py54mkq4g1df79d7qivan8fj11qfwfzm679"; depends=[]; };
   funrar = derive2 { name="funrar"; version="1.3.0"; sha256="0bby03hjzcsy2chh7l5170ba12jbid6485nsjxapajv6gdzzpk58"; depends=[cluster dplyr]; };
   funreg = derive2 { name="funreg"; version="1.2"; sha256="199zvqali0sb0z4yp20rm5da0kd7z3rgv47g1cb1apsbcw0cq51n"; depends=[MASS mgcv mvtnorm]; };
   funtimes = derive2 { name="funtimes"; version="6.1"; sha256="1qr0z0nn3dv2yxq4sacsm0xs4pnda31zc10rz427rdyjrps85838"; depends=[dbscan Jmisc Kendall Rdpack]; };
   furniture = derive2 { name="furniture"; version="1.9.0"; sha256="17cik8r3dbv1a4d17ail7im65s8q2jmyzwiq1cbma7rldszs0x5j"; depends=[cli crayon dplyr forcats knitr magrittr rstudioapi tibble]; };
   furrr = derive2 { name="furrr"; version="0.1.0"; sha256="1ld9aa9hydna94hgm6p91zjbfv1dz1vsgchjlpknkg6irbvkfafx"; depends=[future globals purrr rlang]; };
+  fusedest = derive2 { name="fusedest"; version="1.3.1"; sha256="1nz5bkvn8y9f8h0ya6wblryg7bwj1vnz1vyqmd1hfr85bxfgl83c"; depends=[igraph Matrix Rcpp RcppEigen]; };
   fuser = derive2 { name="fuser"; version="1.0.1"; sha256="17lsfpd9hdichj3wflac896zyjbq7a8w2gmlgj8nbgg80f646fgr"; depends=[glmnet irlba Matrix Rcpp RcppEigen RSpectra]; };
   fusionclust = derive2 { name="fusionclust"; version="1.0.0"; sha256="1h03nlk4gnz4j5h2h5bxazkka2qq983h7nglm1ghzqvbqjk6sv37"; depends=[bbmle]; };
   futile_any = derive2 { name="futile.any"; version="1.3.2"; sha256="09z12dlj7cnkfwnmgsjknsghirv1cry83w4a9k4d0w5a1jnlr5jg"; depends=[lambda_r]; };
@@ -7635,49 +7940,49 @@ in with self; {
   futile_options = derive2 { name="futile.options"; version="1.0.1"; sha256="0w15agpi88y3qkv6fl72zy2pzyplzgvnj41a4ixhg64mw1sck73s"; depends=[]; };
   futile_paradigm = derive2 { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
   futility = derive2 { name="futility"; version="0.4"; sha256="0zjb87brz7pkx3nq3q30y69cmcxpqqsra447p60qh7005kgr9vx4"; depends=[]; };
-  future = derive2 { name="future"; version="1.14.0"; sha256="1jyv2wlmpfqbk3hw269h4xg36na3wh1kd1lxmwdb40bsv4850lqa"; depends=[digest globals listenv]; };
-  future_BatchJobs = derive2 { name="future.BatchJobs"; version="0.16.1"; sha256="0isisl38gy59ws6w2qvz5ljp7j88lr6kqnq9g6pdw7njph1p6ayn"; depends=[BatchJobs future R_utils]; };
+  future = derive2 { name="future"; version="1.15.1"; sha256="101hi8warqa0py9l6c5p98f7i9xjhx01w655z6a35jx1dhspykzd"; depends=[digest globals listenv]; };
+  future_BatchJobs = derive2 { name="future.BatchJobs"; version="0.16.2"; sha256="08lh1sp0v1vagi34s218a1ygj63whkf3s9w0kyf25v64gsdavkzc"; depends=[BatchJobs future R_utils]; };
   future_apply = derive2 { name="future.apply"; version="1.3.0"; sha256="0wd3bh114zkvrqlpn8gqz4ix1igr9hr8x72h2g00a7mqkfjfqx33"; depends=[future globals]; };
-  future_batchtools = derive2 { name="future.batchtools"; version="0.8.0"; sha256="1ga29dhbfgjv5gxih8phad4y1yysdfljn0q218r0gdbnqw3gmzwb"; depends=[batchtools future]; };
-  future_callr = derive2 { name="future.callr"; version="0.4.0"; sha256="00anpp721chznl2hqa6dwv4mn7qjqcf3s6dxxiq3aqzwx30jblr6"; depends=[callr future]; };
+  future_batchtools = derive2 { name="future.batchtools"; version="0.8.1"; sha256="034sgd5pcv6d4jbi21ishwz5r1ym82g1pvyv3s0sl1jsy5g55v0w"; depends=[batchtools future]; };
+  future_callr = derive2 { name="future.callr"; version="0.5.0"; sha256="0rjvjmffc4m9kr4p40q1gyv1zf49m8q0fb04kmdi7a8q2jfflpna"; depends=[callr future]; };
   futureheatwaves = derive2 { name="futureheatwaves"; version="1.0.3"; sha256="122b2z86bzxfch67y6cpq8wj62mw0dgkzbmnpwi247kdx7w5mw1f"; depends=[data_table dplyr ggplot2 ggthemes leaflet Rcpp stringr tidyr]; };
   fuzzr = derive2 { name="fuzzr"; version="0.2.2"; sha256="1cwq7a5j6lzrlz9dw3hsfap988rh1kkgf03yni7c33zl69xp5w77"; depends=[assertthat progress purrr]; };
   fuzzyFDR = derive2 { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
   fuzzyRankTests = derive2 { name="fuzzyRankTests"; version="0.3-10"; sha256="1xj5xsm2s4ylv3b8v80qny201iddjym07h8d50asas7xy1k7945z"; depends=[]; };
   fuzzySim = derive2 { name="fuzzySim"; version="2.0"; sha256="00rl5npz656hwpd1ah8bgh9baqpa9z2lgxc44amm5w3pb9pqjkbs"; depends=[]; };
-  fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.5"; sha256="1ifhvdzn0rs8gxqmpz8w1prxg3pxs5jqx5lh0r4i5rai49qjy3sb"; depends=[doParallel doRNG foreach ggplot2 mvtnorm randomForest]; };
-  fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.4"; sha256="06r103hshc6xcjllv5qfiw3i1ddz4c8svy0i4j0avnffaarlc2wa"; depends=[dplyr geosphere purrr stringdist stringr tidyr]; };
+  fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.6"; sha256="1g8vmz0srddw879prk7br535rdrgngpiyz2m0zchwahfjkn7yqz5"; depends=[doParallel doRNG foreach ggplot2 mvtnorm randomForest]; };
+  fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.5"; sha256="1lz7zxpqn206rgk956c4z9sfj3rg66pwcyci7d3r63cbgynq1gcs"; depends=[dplyr geosphere purrr stringdist stringr tibble tidyr]; };
   fuzzyreg = derive2 { name="fuzzyreg"; version="0.5.1"; sha256="19ppb1m655z3n7h4wcd5bwjciw4ynjbi883ki50mr5di3zy64n4r"; depends=[limSolve quadprog]; };
   fuzzywuzzyR = derive2 { name="fuzzywuzzyR"; version="1.0.3"; sha256="1kbli1m44317m95a0r34vza9p27vd9ala05jrbrdkadninwdynal"; depends=[R6 reticulate]; };
-  fwdmsa = derive2 { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; };
   fwi_fbp = derive2 { name="fwi.fbp"; version="1.7"; sha256="1wk9cr0kk6zkbf111bv87n7b1wwx1qrsbjxydvbjvy8bgz0nfa62"; depends=[]; };
   fwsim = derive2 { name="fwsim"; version="0.3.4"; sha256="0fy87c1x5hihfcppv1pvk3b0pwl6ygqpka40x55gbpkgssdigb1l"; depends=[Rcpp]; };
   fxregime = derive2 { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[car sandwich strucchange zoo]; };
   fxtract = derive2 { name="fxtract"; version="0.9.2"; sha256="0v65gdbc6xhqy1dwb6s8gp5dlz4nbsl7yr17g3pyw43znx7s5l1j"; depends=[checkmate data_table dplyr fs future_apply magrittr R6]; };
-  fy = derive2 { name="fy"; version="0.1.0"; sha256="1620b2qsrryxdg49xfisf0gf0j380vkbg2nizanki2wh0rw9x7r3"; depends=[data_table fastmatch hutils]; };
+  fy = derive2 { name="fy"; version="0.2.0"; sha256="0s8wqzzdd3sw5nfzap482382p252h5l0fx2bm6vi48zhg4pkgkc1"; depends=[data_table fastmatch hutils]; };
   g_data = derive2 { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
   g2f = derive2 { name="g2f"; version="0.2"; sha256="1jsmiv6v8ilpxg1k1npcgqa467hpyw7mzh5m8dp7bxar4j5npsp4"; depends=[KEGGREST minval sybil]; };
   g3viz = derive2 { name="g3viz"; version="1.1.2"; sha256="1rra2n8b6mimwpsdpjnvpfl3hh0nv1xyzmggpz9xydilv7lybinz"; depends=[cgdsr htmlwidgets jsonlite stringr]; };
   gCat = derive2 { name="gCat"; version="0.1"; sha256="10990ilsjk52kqkcdngj4nq0kcbn4w1syxl1mqjq2n5g1l002yjy"; depends=[]; };
-  gDefrag = derive2 { name="gDefrag"; version="0.1"; sha256="1xzp12p7w4gsy88hjl1n0ylymjbm3wqypqavkb97if94mwhlfqsh"; depends=[igraph maptools rgdal rgeos sp]; };
+  gDefrag = derive2 { name="gDefrag"; version="0.2"; sha256="0z2jbb53x0knxajap1f2w25s732xqy1fyayxh2mzlbhm0zf3pjjw"; depends=[igraph maptools rgdal rgeos sp]; };
   gIPFrm = derive2 { name="gIPFrm"; version="3.1"; sha256="08rfdac442picbw1r3xyxjzf2dc57svg44am0714z4r72mshvj04"; depends=[]; };
   gLRTH = derive2 { name="gLRTH"; version="0.2.0"; sha256="1drmmr576n3pbr0q1cnnx4k7r4iz061n2cizv1kpr3wcc1g291pn"; depends=[]; };
   gMCP = derive2 { name="gMCP"; version="0.8-14"; sha256="11q2d4a352z7c0ln10mdpms1cl4bh5hqmg9avmbxw54z4i00mdvy"; depends=[CommonJavaJars JavaGD MASS Matrix multcomp mvtnorm PolynomF rJava xlsxjars]; };
-  gMOIP = derive2 { name="gMOIP"; version="1.1.0"; sha256="122yzwicsq7q98x5dxk1mmf148v2w64jz3pd3535himx85gy9zy3"; depends=[ggplot2 ggrepel]; };
+  gMOIP = derive2 { name="gMOIP"; version="1.3.0"; sha256="0v3hxy95g9nl5njmlskb18c5icsyq5n1sg41lm8gpgx4qp5fd4zb"; depends=[geometry ggplot2 ggrepel MASS plyr rgl]; };
   gMWT = derive2 { name="gMWT"; version="1.1"; sha256="1ws96x3vjswh6m6s9zn3r9gp7xp6ybdkkxsq9a73ng2zqz2qjdl0"; depends=[clinfun Rcpp RcppArmadillo]; };
   gPCA = derive2 { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
   gPdtest = derive2 { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
-  gProfileR = derive2 { name="gProfileR"; version="0.6.7"; sha256="12nwidbnqmnfy5dnqga26byslvdnkrpz2fi19qfcby6xx0wbndk7"; depends=[plyr RCurl]; };
+  gProfileR = derive2 { name="gProfileR"; version="0.7.0"; sha256="1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k"; depends=[plyr RCurl]; };
   gRain = derive2 { name="gRain"; version="1.3-0"; sha256="0xb746pyh8k8w1a8nz7z41bflx5xr0cqdq5l5wj7j464zv2cw6jy"; depends=[functional graph gRbase igraph magrittr Rcpp RcppArmadillo RcppEigen]; };
   gRapfa = derive2 { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
-  gRbase = derive2 { name="gRbase"; version="1.8-3.4"; sha256="0b6cl9p3px99vw9jx8wdcm4sh8v7zr6l4w0mk7ilrgbwzg198pyk"; depends=[graph igraph magrittr Matrix RBGL Rcpp RcppArmadillo RcppEigen]; };
+  gRbase = derive2 { name="gRbase"; version="1.8-4.5"; sha256="01mq9c5prkb9vhpp46i369i9a66vc1knh54vk57rb9mndlr8kinv"; depends=[graph igraph magrittr Matrix RBGL Rcpp RcppArmadillo RcppEigen Rgraphviz]; };
   gRc = derive2 { name="gRc"; version="0.4-3.2"; sha256="0f8m83wqhmsn6p0v0msdzyy9vl900nc9ddr8y78181jxcd9mqd0d"; depends=[gRbase MASS]; };
   gRim = derive2 { name="gRim"; version="0.2-0"; sha256="0ihl4vsnp6xkcpcf37p2xcqnbvyvjamcz5060f1kirn8xzwzq29y"; depends=[gRain graph gRbase igraph Rcpp RcppArmadillo]; };
   gSEM = derive2 { name="gSEM"; version="0.4.3.4"; sha256="18kh41ibvfflz59gykiq7j2c6a72i8b0w8c2mcprd1nzhnyhvmhy"; depends=[DiagrammeR htmlwidgets knitr MASS]; };
   gSeg = derive2 { name="gSeg"; version="0.6"; sha256="19njl093qidwjcwzxkzip78ahgq3zwhc0kscvhjpzb49qkg3srrj"; depends=[]; };
   gStream = derive2 { name="gStream"; version="0.2.0"; sha256="1f4xnbavm99yhjmaahazigps41mqlfvvl29kf4fs1yjqr531y36b"; depends=[]; };
   gTests = derive2 { name="gTests"; version="0.2"; sha256="1h1sd8mrzcniq7rx7frdlxwpnsn8lifng1x99fqq703hs3znl1yq"; depends=[ade4]; };
-  gWQS = derive2 { name="gWQS"; version="1.1.1"; sha256="147ygks66yhkg05c7rwnj2i6lhwdy3vx9z0yj6z5aj9p8yj7qxqr"; depends=[ggplot2 Rsolnp tableHTML ztable]; };
+  gWQS = derive2 { name="gWQS"; version="2.0.0"; sha256="1ip8zmnvdrw5m2rcfzj4xw9fv5i74909lnxk9m3y8l3vl5iavn8y"; depends=[broom dplyr future future_apply ggplot2 ggrepel kableExtra knitr MASS nnet plotROC pscl reshape2 rlist Rsolnp]; };
+  gWQSRS = derive2 { name="gWQSRS"; version="1.0.0"; sha256="09avy1xclzy5rb1wg8b7wmh4rcdi70b1xhbm9y93k0242p0yfb0r"; depends=[broom dplyr future future_apply ggplot2 ggrepel gWQS kableExtra knitr MASS nnet plotROC pscl reshape2 rlist Rsolnp]; };
   gWidgets = derive2 { name="gWidgets"; version="0.0-54.1"; sha256="1vwwjpi4lbgzw3fw3j9cccs9qhqa11v5hvq4hv5px373dla8pcn2"; depends=[]; };
   gWidgets2 = derive2 { name="gWidgets2"; version="1.0-8"; sha256="0p6lav6lrwgsw29sl8vshzgi8j2smcavx047qq31s9bsn2dcw58n"; depends=[digest]; };
   gWidgets2RGtk2 = derive2 { name="gWidgets2RGtk2"; version="1.0-7"; sha256="14c933j0wj3lb5da75zxg3w3mfqh0nqk8rczbi4dnqd8sna6jks9"; depends=[gWidgets2 memoise RGtk2]; };
@@ -7692,9 +7997,9 @@ in with self; {
   galts = derive2 { name="galts"; version="1.3.1"; sha256="0jg0yng1kc6s0qdhq8ps38dsxdcrgdcn8dl2dlclw6rcbknb6h4k"; depends=[DEoptim genalg]; };
   gam = derive2 { name="gam"; version="1.16.1"; sha256="1fbldshnfy37bpqprazwp1rkyh9f67mr2krnxpl4688mqq143l40"; depends=[foreach]; };
   gamCopula = derive2 { name="gamCopula"; version="0.0-5"; sha256="08dw2i7h8maymqxr882kdv5938dz08n44969fisj2zya00zsrr4y"; depends=[copula doParallel foreach gsl igraph MASS mgcv numDeriv VineCopula]; };
-  gamRR = derive2 { name="gamRR"; version="0.6.0"; sha256="0l7ql1qp3xgky82d88l143nl7l11zsj4mnkdsx10f3nmf7kykj3d"; depends=[boot mgcv]; };
+  gamRR = derive2 { name="gamRR"; version="0.7.0"; sha256="0zn8921a4i1lz5wpdfbd72pqb25r12abyqw7y2w53kfhdzs57f3l"; depends=[boot mgcv]; };
   gama = derive2 { name="gama"; version="1.0.3"; sha256="1k79m01r3y9am62414947zfwb1w1gh0nn48najivbjyk9i2avn9r"; depends=[ArgumentCheck cluster clusterCrit GA ggplot2 NbClust Rfast]; };
-  gamair = derive2 { name="gamair"; version="1.0-0"; sha256="13n2n4b7givzvia93awy7ym0gihl4lr08w3a6ny2pq0f3zbhzw97"; depends=[]; };
+  gamair = derive2 { name="gamair"; version="1.0-2"; sha256="1cjrd576l9md1jb1fc1y6iay5y49i0d8by024qsc7yik6f6mdl13"; depends=[]; };
   gambin = derive2 { name="gambin"; version="2.4.1"; sha256="03n5zcwfq8g1vk5w22hw8fhqkc63zz4g9d3gdxa5g8v7v56l3dqy"; depends=[doParallel foreach gtools]; };
   gamboostLSS = derive2 { name="gamboostLSS"; version="2.0-1"; sha256="06n2xk7k24gz95jy1cr6shpfd89ylispq6mn3fvxblqdf8vhdixj"; depends=[mboost stabs]; };
   gamboostMSM = derive2 { name="gamboostMSM"; version="1.1.87"; sha256="0if0x92lch57ksll8d5i3jzk0kh40593b20c17g3hvc33920c7r0"; depends=[mboost]; };
@@ -7703,13 +8008,13 @@ in with self; {
   games = derive2 { name="games"; version="1.1.2"; sha256="01hbbr2hsxi5j9axpdl0jihpd55pa9hacjxmab8p7cixk3xqqqbf"; depends=[Formula MASS maxLik stringr]; };
   gamesGA = derive2 { name="gamesGA"; version="1.1.3.6"; sha256="1agvh27m5sy8psbsw9nbi39wl7cf406fl9sd9hkc14139w9drfwv"; depends=[shiny]; };
   gamlr = derive2 { name="gamlr"; version="1.13-5"; sha256="0fc27b6qcm01drb7pb14wri2hlb464jig3x7sb8njwrxcqqia14n"; depends=[Matrix]; };
-  gamlss = derive2 { name="gamlss"; version="5.1-4"; sha256="0v1pld56y5a9d9pi5pq1zgyr0l7k9wx57ndgrmlrv9m3dkz3dz72"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
+  gamlss = derive2 { name="gamlss"; version="5.1-5"; sha256="0gcngfck0dk2rhjg0z1fnc61dqs0s049jy2rkywaf57531s2k8bc"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
   gamlss_add = derive2 { name="gamlss.add"; version="5.0-1"; sha256="1agk6pfm04hf9dp5r6dvxqkj1hykx23a16q7vch2sg752z0dadgk"; depends=[gamlss gamlss_dist mgcv nnet rpart]; };
   gamlss_cens = derive2 { name="gamlss.cens"; version="5.0-1"; sha256="1s83dgifidvc6cbrqirwlvwfzg08mlhmxxiqkbmnsy09i5j9fzd3"; depends=[gamlss gamlss_dist survival]; };
   gamlss_countKinf = derive2 { name="gamlss.countKinf"; version="3.5.1"; sha256="1xalp909gxxhyhh4chlr1ssyfhydhw1w3szzbynajji98576zaqv"; depends=[gamlss gamlss_dist]; };
   gamlss_data = derive2 { name="gamlss.data"; version="5.1-4"; sha256="1dgfspbmps6ipzcmw681wjdp320nm50dwsxafgrcwxndqgc7fdqd"; depends=[]; };
   gamlss_demo = derive2 { name="gamlss.demo"; version="4.3-3"; sha256="01p6abppwbnh2a2ks1g08z4iwq2fxf125y9s4qzssybsn76a3gf3"; depends=[gamlss_dist gamlss_tr rpanel]; };
-  gamlss_dist = derive2 { name="gamlss.dist"; version="5.1-4"; sha256="0zi87lgigr83l35zqq1y1g4cdq6ssjamripzz7yis74aznh6qg1l"; depends=[MASS]; };
+  gamlss_dist = derive2 { name="gamlss.dist"; version="5.1-5"; sha256="1rl7hzdg5xpvaq3yyzwxhsaqzzs0qidi3ibv454fisijgv8l4vqw"; depends=[MASS]; };
   gamlss_inf = derive2 { name="gamlss.inf"; version="1.0-1"; sha256="0m091zxjm5wvhm6mzbpzkr275n3qnlb3v4099k0a1jymahk4w7vr"; depends=[gamlss gamlss_dist]; };
   gamlss_mx = derive2 { name="gamlss.mx"; version="4.3-5"; sha256="1jfs3ib2imwgazf8v23fa12iaflv0pm944bkqklx8qcljxp1lcs7"; depends=[gamlss gamlss_dist nnet]; };
   gamlss_nl = derive2 { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; };
@@ -7728,7 +8033,7 @@ in with self; {
   gapfill = derive2 { name="gapfill"; version="0.9.6"; sha256="0384v7capab7dbyvz6b2jvnh840z6ab3857my0h3cgsys3lhn3c5"; depends=[fields foreach ggplot2 quantreg Rcpp]; };
   gapmap = derive2 { name="gapmap"; version="0.0.4"; sha256="0xz19n0vvdzbfg6afp3y0qfbs3f2nfxib1cyya3cax5wqqfbzw3i"; depends=[ggplot2 reshape2]; };
   gapminder = derive2 { name="gapminder"; version="0.3.0"; sha256="067cra1ca4ngwjx8d1y9pyzwcpsfi1wcal0glzyy6ghd1k6jflpv"; depends=[tibble]; };
-  gargle = derive2 { name="gargle"; version="0.3.1"; sha256="0vqgp4w03sdyj0q96gxkybqflzzbaw84zifsbi7pxk5y08fimj2v"; depends=[fs glue httr jsonlite rlang withr]; };
+  gargle = derive2 { name="gargle"; version="0.4.0"; sha256="08zhfk2sl342w35i5n2c93ayypg3z0kbl0020l3y9adqka1vazgx"; depends=[fs glue httr jsonlite rlang withr]; };
   garray = derive2 { name="garray"; version="1.1.2"; sha256="0s2dgi556x9jnhafvzz4qkxdbq9dm12gsvsqd2g9iy3468fx9flq"; depends=[]; };
   gaselect = derive2 { name="gaselect"; version="1.0.7"; sha256="0bivbvs8yyspqskvka1s1sr6w3k0m5kk4b66wfz9bfdygnywd6wz"; depends=[Rcpp RcppArmadillo]; };
   gasfluxes = derive2 { name="gasfluxes"; version="0.4-3"; sha256="017y3d67f22r6pxpjxab634kpdcxjd5mq53h3g45cxic1jz3znym"; depends=[AICcmodavg data_table MASS sfsmisc]; };
@@ -7736,13 +8041,13 @@ in with self; {
   gaston = derive2 { name="gaston"; version="1.5.5"; sha256="0xiy36wrl480lzfcidw5k39arjmwzx4vx5qq8d4qb7ykq25hkjzz"; depends=[Rcpp RcppEigen RcppParallel]; };
   gatepoints = derive2 { name="gatepoints"; version="0.1.3"; sha256="02qxxf4a6rl3l0jdgqxmzxfnqd9lh5i0q2knaxxsiz0nd74c1jg5"; depends=[]; };
   gaussDiff = derive2 { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; };
-  gausscov = derive2 { name="gausscov"; version="0.0.1"; sha256="0spik814lniy3jvzykfdgfp3pxpk23brpyljkb705wdr1wggg1gk"; depends=[]; };
+  gausscov = derive2 { name="gausscov"; version="0.0.2"; sha256="1a0m7br0yrj8k30rhqxq63jr6vdqhr6n983l34d1c9snspiyqxck"; depends=[]; };
   gaussfacts = derive2 { name="gaussfacts"; version="0.0.2"; sha256="095x7k7m7sy1gqkbm6wiqn26252dclz62sbnkv6cjvmbdxajl7m9"; depends=[]; };
   gaussquad = derive2 { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[orthopolynom polynom]; };
   gazepath = derive2 { name="gazepath"; version="1.2"; sha256="0h5a9bpgx268yh0zy3y4xfvij1ncx92x5qphjc94xmzbrl0br1mf"; depends=[jpeg scales SDMTools shiny zoo]; };
   gb = derive2 { name="gb"; version="2.3.3"; sha256="0gkdkbwr168vi7lgccla49l43rkmjcfrwlqdr65mg5syzcxrh7nh"; depends=[boot KernSmooth]; };
   gbRd = derive2 { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; };
-  gbfs = derive2 { name="gbfs"; version="1.1.0"; sha256="1c68p384fh53vi73xjk6kg51q62w49r74d1miyhxg5w56bwyw9n4"; depends=[dplyr jsonlite lubridate readr stringr]; };
+  gbfs = derive2 { name="gbfs"; version="1.2.0"; sha256="1nnsjcs5yghf5nq4hzxzfqi2l5q5wc78zn7rvknanvagliw5zdxh"; depends=[dplyr jsonlite lubridate readr stringr]; };
   gbm = derive2 { name="gbm"; version="2.1.5"; sha256="0vs6ljaqhwwpgr8wlbhmm4v147rd82kl16rpaijqiylxcc8dxyq6"; depends=[gridExtra lattice survival]; };
   gbm2sas = derive2 { name="gbm2sas"; version="2.1"; sha256="0ssjlv849vssmncn01ccpp2myqib5f3g88g0d4rqma2z0ivdpk23"; depends=[gbm]; };
   gbp = derive2 { name="gbp"; version="0.1.0.4"; sha256="0awg724gsfwlb0fjcvw0450qdsk4m8x8is16pj5c8fx6nc8rn8bv"; depends=[data_table magrittr Rcpp RcppArmadillo rgl]; };
@@ -7761,7 +8066,7 @@ in with self; {
   gcookbook = derive2 { name="gcookbook"; version="2.0"; sha256="11g1q187l4j31b6cdzdx5z3s14z3s09l7ynl36pzzn9j19l8cmrc"; depends=[]; };
   gdalUtilities = derive2 { name="gdalUtilities"; version="1.0.0"; sha256="1z452lh1n65g78dqynnwq3rcrmm7g4jz7qr25px7qav0zi6944mf"; depends=[raster sf]; };
   gdalUtils = derive2 { name="gdalUtils"; version="2.0.1.14"; sha256="0dvp1qzxxp6rjqfxpxckbfhdqanksnm4rfgsalvb5wdm5qmm02l9"; depends=[foreach R_utils raster rgdal sp]; };
-  gdalcubes = derive2 { name="gdalcubes"; version="0.1.0"; sha256="1w8ll08icdddr07zazkkj6gdnxsdlzq1wpsbbd8kbs8rgfnq6zjg"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
+  gdalcubes = derive2 { name="gdalcubes"; version="0.2.3"; sha256="04wxy0w1sh1d64995m0b1ss9ly7n2dz7vdgmxgrdn07w7vhbhacx"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
   gdata = derive2 { name="gdata"; version="2.18.0"; sha256="0zwdj7lscgxr8r62ii8hbdh4mb7sa9w4f5nv32zzrxdvymcpya2b"; depends=[gtools]; };
   gdimap = derive2 { name="gdimap"; version="0.1-9"; sha256="0ksbpcy739bvsiwis0pzd03zb4cvbd8d5wdf8whfn9k6mkj4x9rs"; depends=[abind colorspace geometry gridExtra gsl movMF oro_nifti rgl]; };
   gdistance = derive2 { name="gdistance"; version="1.2-2"; sha256="0lqpxsg01ibkaq50qyccdhsl2sbb4kh9bcfifs1yzsg45bq27jf8"; depends=[igraph Matrix raster sp]; };
@@ -7770,9 +8075,10 @@ in with self; {
   gdns = derive2 { name="gdns"; version="0.3.1"; sha256="1vydl7jacldidzx1hhqang9fw8zar8wy4cgdmr9pbw22ffw2qq7s"; depends=[httr jsonlite stringi]; };
   gdpc = derive2 { name="gdpc"; version="1.1.0"; sha256="1q1c9pypkb8dv6bvgizaca4p43krc52fvlvjz9l6nkpazr1qx33d"; depends=[doParallel foreach Rcpp RcppArmadillo xts zoo]; };
   gds = derive2 { name="gds"; version="0.1.0"; sha256="0kc3l93640x8d6g3pa9gbr7ci5hmryg9i1nqpasgnvb6ixv6azbm"; depends=[]; };
-  gdtools = derive2 { name="gdtools"; version="0.1.9"; sha256="0w4fihf52q5qxxk0lg36x6yvjjl8vw66y60ncdjs5fvnxqn5z2vb"; depends=[Rcpp withr]; };
+  gdtools = derive2 { name="gdtools"; version="0.2.1"; sha256="1aax50wyrs4336zpf247l8wmp4spab2n70msziy1ip4gbjn26wa1"; depends=[Rcpp systemfonts]; };
+  gdxdt = derive2 { name="gdxdt"; version="0.1.0"; sha256="1yrjixq4srmaiy5iaprix4096yhf3ldyklgjag4kxd3l5acwap4h"; depends=[data_table]; };
   gear = derive2 { name="gear"; version="0.1.4"; sha256="1wa35965fw4ga3p72z9w40pcc3jdc3fl7gdkfbwgakg7vc6f24xq"; depends=[lattice optimx sp]; };
-  gee = derive2 { name="gee"; version="4.13-19"; sha256="14n2fa2jmibw5j8n4qgbl8xbxhapmx4z3zrmkbcci39k9dsyplzb"; depends=[]; };
+  gee = derive2 { name="gee"; version="4.13-20"; sha256="167pzgnmj4cjc41ykps1mfwi6s7y32zxyycn5z17vn4v0pp4q0ak"; depends=[]; };
   gee4 = derive2 { name="gee4"; version="0.1.0.0"; sha256="1vvzb9sc69g292zmh9djd15jgc7falypd5p7mzw6ps7mirpbnicf"; depends=[Formula Rcpp RcppArmadillo]; };
   geeM = derive2 { name="geeM"; version="0.10.1"; sha256="1r9zyjv7r7r7avdqi54dvczf971frz8pgrs1a04kan5mh4ls6xpy"; depends=[Matrix]; };
   geecure = derive2 { name="geecure"; version="1.0-6"; sha256="0nmnrkfgblv38qvk66bdk8933icr59mayqwljkvmpy59sm6br2k5"; depends=[geepack MASS Matrix survival]; };
@@ -7783,19 +8089,20 @@ in with self; {
   geiger = derive2 { name="geiger"; version="2.0.6.2"; sha256="0780mrs5accmlscg8ya3i341gxdk1d2x21hj4lhjhrcdc1xh8lwi"; depends=[ape coda colorspace deSolve digest MASS mvtnorm ncbit Rcpp subplex]; };
   gelnet = derive2 { name="gelnet"; version="1.2.1"; sha256="10ygdfz9f5xhahlqb2divwvaljhiz8jhsd12wvq0qalx0v1h5j0p"; depends=[]; };
   gemlog = derive2 { name="gemlog"; version="0.36"; sha256="06av0gg9b96fdfq275wany036jxzrym3g5klbjmj1cjvl1kyvjim"; depends=[signal]; };
+  gemma2 = derive2 { name="gemma2"; version="0.1.1"; sha256="1kbjb5cjgrbdf695nz916w40a78zy5xjmr99l835iy27k3i2p61i"; depends=[Matrix readr]; };
   gems = derive2 { name="gems"; version="1.1.1"; sha256="174mjnpldb0rwjvwdgpcg1acm526gs0pjf9gi5mn9d3x9yz4r5jx"; depends=[data_table MASS msm plyr]; };
   gemtc = derive2 { name="gemtc"; version="0.8-2"; sha256="0c2a9gz6rvsc5qh66ixxa4dz6lwhcmmsf2vnvxl98c9kbvdwfqm9"; depends=[coda igraph meta plyr Rglpk rjags truncnorm]; };
   gen2stage = derive2 { name="gen2stage"; version="1.0"; sha256="16xbzgkjskzm1wik3dznvwhqddrpmcgsgd372n4a67rbb46jgx6r"; depends=[clinfun]; };
-  genBaRcode = derive2 { name="genBaRcode"; version="1.2.0"; sha256="1h4yyjjx7cpinbh716ha79hsmjlj5waxvrv67dz8lij0ingycdzh"; depends=[ape Biostrings dplyr futile_logger future future_apply ggnetwork ggplot2 ggraph ggseqlogo ggtree igraph network phangorn RColorBrewer reshape2 S4Vectors shiny ShortRead stringdist VennDiagram visNetwork]; };
+  gen5helper = derive2 { name="gen5helper"; version="1.0.1"; sha256="0z7hisn57md18vcfb6f44hy6zzp9dirrjyxi4x1id3mqa3mligb6"; depends=[dplyr ggplot2 minpack_lm naturalsort plyr pracma rlang tidyr]; };
+  genBaRcode = derive2 { name="genBaRcode"; version="1.2.2"; sha256="0ls5xly4rrwjby04015yrs8f072fdg492bk4lj1zr2hy0z4m98jc"; depends=[ape Biostrings dplyr futile_logger future future_apply ggnetwork ggplot2 ggraph ggseqlogo ggtree igraph network phangorn RColorBrewer reshape2 S4Vectors shiny ShortRead stringdist VennDiagram visNetwork]; };
   genBart = derive2 { name="genBart"; version="1.0.1"; sha256="12z5vj41npwawz954zqkjfmg9inh063ilh7m82pn73asrxif0ay3"; depends=[clValid data_table fastcluster ggplot2 gtools limma NMF pca3d psych qusage RColorBrewer reshape2 rmarkdown scales shiny shinydashboard shinyjs statmod stringr VennDiagram]; };
   genSurv = derive2 { name="genSurv"; version="1.0.3"; sha256="0k5rfpq603szjb76gxffvsbqcav8182h8zwvg4kar68k72yfw1xs"; depends=[]; };
   genalg = derive2 { name="genalg"; version="0.2.0"; sha256="1wzfamq8k5yhwbdx0wy1w5bks93brj0p890xxc4yqrja4w38ja3s"; depends=[]; };
   genasis = derive2 { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[fitdistrplus Kendall]; };
   gencve = derive2 { name="gencve"; version="0.3"; sha256="00wbmaffm7mbfv3zl6mb24w1df1a8p24girwdh3a522lw3045iwf"; depends=[C50 class e1071 glmnet lars MASS nnet plus randomForest rpart]; };
   gendata = derive2 { name="gendata"; version="1.1"; sha256="1r5bhmfblhk6d31v0byhp4a0pmpri6vk697zmmx9b0hvhda7mllf"; depends=[]; };
-  gender = derive2 { name="gender"; version="0.5.2"; sha256="1kd5024z9mbyiwmj7rpn7zflmpw6jsj2sz153g3ckzyhxjbc3x36"; depends=[dplyr httr jsonlite]; };
+  gender = derive2 { name="gender"; version="0.5.3"; sha256="1r4w38av9qhmxbmripyn7zkk7r49qwvk8426y6g241dvilj7mxr0"; depends=[dplyr httr jsonlite]; };
   genderBR = derive2 { name="genderBR"; version="1.1.0"; sha256="0j5wsbv797wc48lc65yhaqhpwqyr662460vj59x7r9p7d7m1ncd0"; depends=[dplyr httr jsonlite]; };
-  genderizeR = derive2 { name="genderizeR"; version="2.1.1"; sha256="17lngcn0plyf7cjh5yizkp05w87jpr7rf1py4v5nw96f18wr4gjg"; depends=[data_table httr magrittr stringr tm]; };
   gendist = derive2 { name="gendist"; version="2.0"; sha256="0rs0sn1sb6j3pk2xncix04a093awlm2nw70g0rjhr7dlzmigspgb"; depends=[]; };
   geneHummus = derive2 { name="geneHummus"; version="1.0.11"; sha256="1m6yyjsvmn3w87cw4da8js5vi74k5y739gxdx1yscx1n50bc3m34"; depends=[curl dplyr httr rentrez stringr]; };
   geneListPie = derive2 { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
@@ -7803,12 +8110,12 @@ in with self; {
   geneSignatureFinder = derive2 { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[class cluster survival]; };
   genemodel = derive2 { name="genemodel"; version="1.1.0"; sha256="1x6n6k9ifv2swhyrghvm6fsz5vh85cdik8225175i9msvmkh928n"; depends=[stringr]; };
   genepi = derive2 { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
-  genepop = derive2 { name="genepop"; version="1.1.2"; sha256="134qk4nd78ka6msy5ikckis8lrim1g96vlxwxkn4q9h5mfq3im32"; depends=[Rcpp RcppProgress stringr]; };
-  generalCorr = derive2 { name="generalCorr"; version="1.1.2"; sha256="19kr8gs41lxfn2k6azz3200p3c98fhq63skx9ga3glas8cmxph0i"; depends=[meboot np psych xtable]; };
+  genepop = derive2 { name="genepop"; version="1.1.3"; sha256="0qj6bjhaxq3d5n94qsrhgpy6yh2m9ldk2ch3xffl2bdg3df79jlk"; depends=[Rcpp RcppProgress stringr]; };
+  generalCorr = derive2 { name="generalCorr"; version="1.1.5"; sha256="1kjmg9paxhpd6csia69k169qgm8s388iysrjnm4bqv9zxn21zwwg"; depends=[lattice meboot np psych xtable]; };
   generalhoslem = derive2 { name="generalhoslem"; version="1.3.4"; sha256="0fmfhmdb16gf3v9h50vif4f3f6bm03qq7wplnmzyxa80jb60fcc0"; depends=[MASS reshape]; };
   generator = derive2 { name="generator"; version="0.1.0"; sha256="0xjvnmnpdms8rrxxcz6pd8w4rnbv3ghzqv4m63zxia2l98x7z4rf"; depends=[]; };
   generics = derive2 { name="generics"; version="0.0.2"; sha256="0xk1xhpy7gpv3pvaygzhpfdxj72zmb38pb4nscfyg2ff36vx3cvi"; depends=[]; };
-  genesysr = derive2 { name="genesysr"; version="0.9.1"; sha256="0cwx00bikhr32h2mxnd9v5z80zjy3y9i7b30achhlrjzvylh6q4j"; depends=[httr jsonlite]; };
+  genesysr = derive2 { name="genesysr"; version="1.0.0"; sha256="05jp8z7313r5wi9a5yw7fh198l7nd2ywzwg4f23yp4kfrkkgawn5"; depends=[dplyr httr jsonlite]; };
   genetics = derive2 { name="genetics"; version="1.3.8.1.2"; sha256="1v0ylnia6c44v356dsmnkx6054vcxazpzsrdh3yph5ch5vg6gjrh"; depends=[combinat gdata gtools MASS mvtnorm]; };
   genie = derive2 { name="genie"; version="1.0.4"; sha256="0ymrn42ik0rfildmyq4z0gsd7injda0dsjgx69nqb6hq0x8s5hqa"; depends=[Rcpp]; };
   genio = derive2 { name="genio"; version="1.0.10"; sha256="0l29rz9nap2rglansv8sbldhgngv04v1kdgy0zzxjzwwmsdcjrqp"; depends=[Rcpp readr tibble]; };
@@ -7818,54 +8125,61 @@ in with self; {
   genlogis = derive2 { name="genlogis"; version="1.0.0"; sha256="01av5invhviii7adqihh10ib47rjzwfsqdgw3lfg1c72kzrqywgr"; depends=[distr doParallel foreach ggplot2 manipulate]; };
   geno2proteo = derive2 { name="geno2proteo"; version="0.0.3"; sha256="1q054ai42f5gmrj791abj02f663zs7ymdh3pfs3b2lq6i4w9s2fb"; depends=[BiocGenerics GenomicRanges IRanges R_utils RUnit S4Vectors]; };
   genoPlotR = derive2 { name="genoPlotR"; version="0.8.9"; sha256="07901qv2lzzflda0p8qxmla6syvq2c9y230xipvn1i0p4izdqk5s"; depends=[ade4]; };
-  genogeographer = derive2 { name="genogeographer"; version="0.1.8"; sha256="1sawxazfyi29h27lyrkkg0cqirmca59387z77r2jamcj6yx4lpxg"; depends=[dplyr DT forcats ggplot2 knitr leaflet magrittr purrr readr rio rmarkdown shiny shinycssloaders shinyjs tibble tidyr]; };
+  genodds = derive2 { name="genodds"; version="1.0.0"; sha256="00sh561qcabcz5igcfvkjjila0qi2i5imj8cn0msa1gvqf27ps4d"; depends=[Rcpp]; };
+  genogeographer = derive2 { name="genogeographer"; version="0.1.19"; sha256="0q56ysv5333i27iv1gmd9ilbgn3rw8sb9yq7z76gmn1fak5aqci8"; depends=[dplyr DT forcats ggplot2 knitr leaflet magrittr maps purrr readr rio rlang rmarkdown shiny shinycssloaders shinyjs shinyWidgets tibble tidyr]; };
   genomeplot = derive2 { name="genomeplot"; version="1.0"; sha256="15v01ngxq7kxav1bhw1mvqradrmvwsad5xh9l5skivb5smh9795w"; depends=[ggplot2]; };
   genomic_autocorr = derive2 { name="genomic.autocorr"; version="1.0-1"; sha256="1lidrjz1flxw4jvhqdi8y813m7ss4kkvm7bxsdpz60dxxw3204gm"; depends=[data_table magrittr reshape]; };
   genomicper = derive2 { name="genomicper"; version="1.6"; sha256="12msl6syw5a3dvxg9fr1yprcpb9qwn8v2dvkpxgagal11p9q1kx7"; depends=[DBI]; };
   genotypeR = derive2 { name="genotypeR"; version="0.0.1.8"; sha256="1kwzjn6hrnfizs44cz4a8qa4mdhdzqssc4axx0s6vngmkmsrffig"; depends=[colorspace doBy plyr reshape2 zoo]; };
   genpathmox = derive2 { name="genpathmox"; version="0.3"; sha256="0r1iqwm5jh93lbh87ks5qm4qqsp98928vg7qmv1pkahdlvl3ramw"; depends=[diagram mice plspm quantreg]; };
-  genpwr = derive2 { name="genpwr"; version="1.0.0"; sha256="0wnr4xxjmxp7fs65frwrm2ajcg1pc1f7rsj0jxi102wpy1d93h8q"; depends=[ggplot2 MASS nleqslv]; };
+  genpwr = derive2 { name="genpwr"; version="1.0.1"; sha256="1vz4pq8rfvw0pbxhm83mbgsrj17ldcssq92b48p6vlpb403jsm91"; depends=[ggplot2 MASS nleqslv]; };
   genridge = derive2 { name="genridge"; version="0.6-6"; sha256="1hqarvd767h2vbjqfjzdr0548hxj87kv1073hfqyq5fybdlzsjx3"; depends=[car]; };
   gensemble = derive2 { name="gensemble"; version="1.0.1"; sha256="03ql1qxrxixr70hs9mwiqw92qyrg9pj4046pb42g435yncw321ad"; depends=[]; };
   gensphere = derive2 { name="gensphere"; version="1.1"; sha256="1xzli40fw94n89cv2qyb321csad1w9zidqc226wlifl2m44cw6f7"; depends=[geometry mvmesh rgl SimplicialCubature SphericalCubature]; };
-  gensvm = derive2 { name="gensvm"; version="0.1.1"; sha256="10ym8p1i66ppjhn039wqbpm2yvmirj3pfqmqqn7iji8s1hdxds73"; depends=[]; };
-  geoBayes = derive2 { name="geoBayes"; version="0.6.2"; sha256="17p8m1z8hkvvqsrsqkchc3ig4wysqng895gzpl22wjs9x7ld4a7n"; depends=[coda optimr sp]; };
+  gensvm = derive2 { name="gensvm"; version="0.1.3"; sha256="1r9vd6h3divmjd73p3541mngv452v1dkxc41q7mbkd5qhy34km74"; depends=[]; };
+  genvar = derive2 { name="genvar"; version="0.0.1.4"; sha256="0bnngj0ha9s12gbpjgnc0qybzylmvn9qf30avi0dssibiq1gynfx"; depends=[clubSandwich foreign Formula plm readstata13 sandwich]; };
+  geoBayes = derive2 { name="geoBayes"; version="0.6.3"; sha256="153a7kp73wxm5hzzq038p3mnykhakv0c9qa8fpbjijccmbi89970"; depends=[coda optimr sp]; };
   geoCount = derive2 { name="geoCount"; version="1.150120"; sha256="1kcjqls91r6p8ykn901c5p3v2lzbyainahhjpnr5c3a57v8s73ms"; depends=[Rcpp RcppArmadillo]; };
   geoGAM = derive2 { name="geoGAM"; version="0.1-2"; sha256="0q09pk2npn4hjymklwfrhz2ybmjpcb6kvqkpn9l3a6cdjgk6bkmj"; depends=[grpreg MASS mboost mgcv]; };
   geoR = derive2 { name="geoR"; version="1.7-5.2.1"; sha256="1fb3xm85i36q9l5lspa6fjfa82mv8fnwl30rimrlamss02ff959q"; depends=[MASS RandomFields sp splancs]; };
   geoRglm = derive2 { name="geoRglm"; version="0.9-11"; sha256="0qf3nm0snrmplbwgcac0iinni7h2wqm13lm34zzfl00idzv0k9b9"; depends=[geoR sp]; };
   geoSpectral = derive2 { name="geoSpectral"; version="0.17.4"; sha256="0i2k5k66gmf7zvipcd0a489rnpj14j4a4xw9k5dccpj6ybwd47l7"; depends=[dplyr leaflet maps plotly rbokeh rgdal sp spacetime xts]; };
   geoaxe = derive2 { name="geoaxe"; version="0.1.0"; sha256="043y7kb24hp66j7pnpqsdixvdmppwp72y8i4f8q7xrkhaqlfb93v"; depends=[jsonlite rgeos sp]; };
+  geobr = derive2 { name="geobr"; version="1.0"; sha256="139wqhw90irx02byqph1klhmjr6f9wackhffr1a148c9c8bhs0i4"; depends=[dplyr httr readr sf]; };
   geodetector = derive2 { name="geodetector"; version="1.0-3"; sha256="1x6mr05976vdxxgcb4fd3v7mq2lanrl44nqz6f6rk2dy3yhdqi5c"; depends=[maptools rgdal rgeos sp]; };
   geodist = derive2 { name="geodist"; version="0.0.3"; sha256="1qxrbpx265l5vwvicspbqzr2s0k3k6lsrzvxnbhnds95jgq9yw4q"; depends=[]; };
   geoelectrics = derive2 { name="geoelectrics"; version="0.2.0"; sha256="1dmpaf16750ni4yr36cglfz9pv9jax8jxb3kwn47kxgnx3l8qq98"; depends=[fields lattice rgl]; };
   geofacet = derive2 { name="geofacet"; version="0.1.10"; sha256="07viqfm8h469zjmpk4vp6zxmvwdcsn2wi0j8plyx1nirmxl7s0mw"; depends=[geogrid ggplot2 ggrepel gridExtra gtable imguR rnaturalearth sp]; };
   geofd = derive2 { name="geofd"; version="1.0"; sha256="16312g9mgw52mpsfky1j20zcqkkv91ihl0xhvv1bl80diffzf0zi"; depends=[fda geoR]; };
   geogrid = derive2 { name="geogrid"; version="0.1.1"; sha256="0b8afwgj9x56z6zh525y7qkiwbv77mjcw3v19kfba0426jn4vi87"; depends=[Rcpp RcppArmadillo rgeos sf sp]; };
+  geohashTools = derive2 { name="geohashTools"; version="0.3.0"; sha256="0lc5ib6iylbxn02bl72sh3b6j51zm3b1rnjrj5jdyjj22hm7n7sa"; depends=[]; };
   geojson = derive2 { name="geojson"; version="0.3.2"; sha256="0iqf8jkqgl97a07v8ixr2pbvamwyjswqckdwl3kkxgx7bycndprv"; depends=[jqr jsonlite lazyeval magrittr protolite sp]; };
-  geojsonR = derive2 { name="geojsonR"; version="1.0.6"; sha256="17zcrkazcnn1507m5cpphzp14m40w1wzrhrb77rl5hn1jrxqvhh5"; depends=[R6 Rcpp RcppArmadillo]; };
-  geojsonio = derive2 { name="geojsonio"; version="0.7.0"; sha256="1fhj4si2m60wy95badq31ip98r6wpnn20jnw7bmy2ps0103klmbz"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sf sp V8]; };
+  geojsonR = derive2 { name="geojsonR"; version="1.0.7"; sha256="11d6rn7z2i8x4j3myzk9gkaw6y5asi92ya9lxc9cn1zv8jlsamvr"; depends=[R6 Rcpp RcppArmadillo]; };
+  geojsonio = derive2 { name="geojsonio"; version="0.8.0"; sha256="00gh6wq1gxnvcx5fswmjc2qxw3jjcc5kf4gdrqn7lv1lip9qm3m1"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sf sp V8]; };
   geojsonlint = derive2 { name="geojsonlint"; version="0.3.0"; sha256="1ww52fg80mqwpn9rxz7qy698djjgzngp3fdhhhvixfrzl0ha810r"; depends=[crul jsonlite jsonvalidate V8]; };
   geojsonsf = derive2 { name="geojsonsf"; version="1.3.0"; sha256="1wr3g4rcvv7wh0gjw5mic3msz7wgcg6ra3zai5kxbv3wq2i9hfcg"; depends=[BH curl jsonify rapidjsonr Rcpp]; };
   geoknife = derive2 { name="geoknife"; version="1.6.3"; sha256="092in9wihgijhbkawzjqwfyazz22n4sc06x2gj14yvmp63x5dj36"; depends=[curl httr progress sp whisker xml2]; };
   geomapdata = derive2 { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
-  geomedb = derive2 { name="geomedb"; version="1.0.0"; sha256="1bmprzm0xm78vixifl5sx6ig31l8pmbscjb382yyhh1i0qdd7bim"; depends=[ape data_table httr jsonlite]; };
+  geomedb = derive2 { name="geomedb"; version="2.0.0"; sha256="1lrxhgrrx12irbk9rlvyqcvzhw842c4hp9mqw7gzqcldhpc40isd"; depends=[ape data_table httr jsonlite]; };
   geomerge = derive2 { name="geomerge"; version="0.3.1"; sha256="0pvyhpv4vq8mvvlybxhviq8rbazw29dgf9m0xnldaxg9r6lqdp4d"; depends=[geosphere ggplot2 gridExtra inlmisc lubridate raster scales sp spdep]; };
-  geometa = derive2 { name="geometa"; version="0.5-0"; sha256="1p2yr1xlxyslichy39krqhm0ag93mlc4vmvzn3frk5ay9by0prx6"; depends=[httr R6 XML]; };
-  geometry = derive2 { name="geometry"; version="0.4.2"; sha256="0vq334115qi039vy198ggv1dsp6n1s6jwcm9ivipf5r8lbm287zz"; depends=[linprog lpSolve magic Rcpp RcppProgress]; };
+  geometa = derive2 { name="geometa"; version="0.6-1"; sha256="0q06vj2r8xyiwrkrzixv0ymvwvznk2a6i2sdmykwyzm7vw7phwkw"; depends=[httr jsonlite R6 XML]; };
+  geometr = derive2 { name="geometr"; version="0.1.1"; sha256="0bh8m76273vk2hnn2d4fbr9a89av0f8fnww9lfa1v392i56zfi2z"; depends=[checkmate crayon deldir dplyr raster Rcpp rgdal rlang sf sp spatstat tibble]; };
+  geometry = derive2 { name="geometry"; version="0.4.4"; sha256="1mx5n5mw63nij4n6crs9165mlls4fnh1ipw5ch467rjsidgl0mg8"; depends=[linprog lpSolve magic Rcpp RcppProgress]; };
   geomnet = derive2 { name="geomnet"; version="0.2.0"; sha256="0xanzx8p34bac4zcf9j69nivwhllvsrw7x70mzgl95jhg3gvv96a"; depends=[dplyr ggplot2 network plotly readr sna tidyr]; };
-  geomorph = derive2 { name="geomorph"; version="3.1.2"; sha256="1wd8pnpcb5zkqg39hvsw1jyw9yx66w0w5nyg114b8v3m9x41rkr9"; depends=[ape jpeg rgl RRPP]; };
+  geomorph = derive2 { name="geomorph"; version="3.1.3"; sha256="12vzf5cjk2zjj4832av93jzq79bnnymrcs9yxw7illy80aavbm6b"; depends=[ape jpeg rgl RRPP]; };
   geonames = derive2 { name="geonames"; version="0.999"; sha256="0yz1b7y3vwa4izrhpry4n3iwzb7y67s5p3kgnd7d29cl5pcbpmqx"; depends=[rjson]; };
-  geonapi = derive2 { name="geonapi"; version="0.2-1"; sha256="1fypk4cc0q9jvn6zicc3jnxkh6f8yh1zcycy2sblvv175lbjlfzx"; depends=[geometa httr openssl R6 XML]; };
+  geonapi = derive2 { name="geonapi"; version="0.3"; sha256="0ylb9cg2s8d06j0flmw434d7hbbqz6yf9di66r7bdp3rgsiypprl"; depends=[geometa httr openssl R6 XML]; };
   geonetwork = derive2 { name="geonetwork"; version="0.3"; sha256="0qjnv91rcxzw44fmbgm4qpcrbj5qgz1lgmyw53imyhxgyv55awxv"; depends=[geosphere igraph rgdal sf sp]; };
   geoops = derive2 { name="geoops"; version="0.2.0"; sha256="0n9n0j849jbqv6y6lqhyhddr5zfz8i9yi03gpg9862nzkvxd3c4k"; depends=[Rcpp]; };
   geoparser = derive2 { name="geoparser"; version="0.1.2"; sha256="0vca4ijybqgk5dmbk0af4ykvbdkny8dm9d4frh5ikzk28hkvnlik"; depends=[digest dplyr httr jsonlite lazyeval purrr stringr tidyr]; };
   geophys = derive2 { name="geophys"; version="1.4-1"; sha256="1s64sbr0chv0z2vaw059khfkv8iga1kr6428kkglgafq5x2d6h3q"; depends=[cluster GEOmap RFOC RPMG RSEIS]; };
   georob = derive2 { name="georob"; version="0.3-10"; sha256="1d9chcvncf8ywrhb43slf86zl2mxzhhsmyifsg9jkbfn8ibbb720"; depends=[abind constrainedKriging fields lmtest nleqslv nlme quantreg RandomFields robustbase snowfall sp]; };
   geosample = derive2 { name="geosample"; version="0.2.1"; sha256="1gpzrsza8ys2jdazb2ixc70y1w5lrkahlmvws1i071zby1la01iy"; depends=[pdist sf sp splancs]; };
-  geosapi = derive2 { name="geosapi"; version="0.4-0"; sha256="0n1w276xyidwhj858h28ai7npbmkl7rvg1plsa9hhmx5zijzihsk"; depends=[httr openssl R6 XML]; };
+  geosapi = derive2 { name="geosapi"; version="0.4-1"; sha256="00c2566r50v4vgqzjvghf4spyfqqxnwkhxj38ivym3l8b0d5fd2x"; depends=[httr openssl R6 XML]; };
   geoscale = derive2 { name="geoscale"; version="2.0"; sha256="0gisds0in32xhw54fxfyxvwxgrfjs871wmqf6l915nr896rlx0bm"; depends=[]; };
+  geosed = derive2 { name="geosed"; version="0.1.1"; sha256="07j4q6sgrf83h2gi2j5qap5rifz8gimdacd3b7ld1p3b6ai6kv3r"; depends=[]; };
   geospacom = derive2 { name="geospacom"; version="0.5-8"; sha256="14qyjbq0n43c2zr9gp11gdqgarvmicx3gpq2ql2vjfzrmirxwjgg"; depends=[classInt geosphere maptools rgeos sp]; };
+  geospark = derive2 { name="geospark"; version="0.2.1"; sha256="0r5zf80lb5jmqjahv7iszz8kr0983bwnb3cgrm78fg9fs3sv1sjn"; depends=[dbplyr dplyr sparklyr]; };
   geosphere = derive2 { name="geosphere"; version="1.5-10"; sha256="15xlgsmn0vwky1l13n6acdz6jn2b2na3gf6x367y3qh1f5w4zkan"; depends=[sp]; };
   geospt = derive2 { name="geospt"; version="1.0-2"; sha256="1814nn0naxvbn0bqfndpmizjbqcs6rm87g2s378axkn6qpii4bh8"; depends=[fields genalg gsl gstat limSolve MASS minqa plyr sgeostat sp TeachingDemos]; };
   geosptdb = derive2 { name="geosptdb"; version="0.5-0"; sha256="0m0dlazhq2za71mi3q8mz2zvz7yrmda7lha02kh9n820bx89v33z"; depends=[FD fields geospt gsl limSolve minqa sp StatMatch]; };
@@ -7880,28 +8194,32 @@ in with self; {
   gepaf = derive2 { name="gepaf"; version="0.1.1"; sha256="0n36w40jrq3qkgmhz9wrnhp6fczw7bm96g950sa4nq33872xhfgm"; depends=[bitops]; };
   germanpolls = derive2 { name="germanpolls"; version="0.2"; sha256="13ss7286sraiq6rgbbmlv3j94av26pv9016hz8hrlzvghmnkfwvh"; depends=[dplyr magrittr purrr RCurl xml2]; };
   germinationmetrics = derive2 { name="germinationmetrics"; version="0.1.3"; sha256="1hfhwprs4b582n81ardh7mah52989shq2cphci9vskwb4jbkyzwx"; depends=[broom data_table ggplot2 ggrepel minpack_lm plyr Rdpack]; };
-  gert = derive2 { name="gert"; version="0.2"; sha256="1qs404afcxpm3gxra2lpqb27l4746ga1pz0n29ig0qg3kala5yrj"; depends=[askpass credentials openssl]; };
+  gert = derive2 { name="gert"; version="0.3"; sha256="0caxjcdc2karsxasivkh5sasjkzlif25pw0whdjyq6zh3bvmdlkp"; depends=[askpass credentials openssl]; };
   gesca = derive2 { name="gesca"; version="1.0.4"; sha256="1ndn8wgp22pr017x6v7jw8jy4gd06x8110qa860hw8i6pn47wfwv"; depends=[]; };
   gestalt = derive2 { name="gestalt"; version="0.1.8"; sha256="1cb04rd3yvkd47byynrn0pq6brlsi2z2iavh4gfrwmqyvks34k51"; depends=[rlang]; };
   gestate = derive2 { name="gestate"; version="1.3.2"; sha256="1fr811f4d7zc75wxdrasd91wsa5ngzzb0p73ycy6lfwpm839i28q"; depends=[doParallel foreach shiny shinythemes survival survRM2]; };
-  getCRUCLdata = derive2 { name="getCRUCLdata"; version="0.3.0"; sha256="15jcfbvad0zrnpaigd1n0wpvcvwms2q37ryscf1v1jj4bv931bn5"; depends=[curl data_table hoardr raster tibble]; };
+  getCRUCLdata = derive2 { name="getCRUCLdata"; version="0.3.1"; sha256="1961w8vpgamna5a9m367mc9szl3vlv8wgmbhfjc0yxp818p07g3a"; depends=[curl data_table hoardr raster tibble]; };
   getMet = derive2 { name="getMet"; version="0.3.2"; sha256="0j1h1vy8rd7czpnb4msdb9k560pnh7kjkmpqqwzwin2ms1c0mggb"; depends=[EcoHydRology jsonlite]; };
   getPass = derive2 { name="getPass"; version="0.2-2"; sha256="03ydafhh0sk3rcnpr3paajyji64x2ddp6p814p9mvbmyrblcgzcc"; depends=[rstudioapi]; };
   getProxy = derive2 { name="getProxy"; version="1.12"; sha256="0qcxihgwy3h2b98z2hwjszwqbz117d89xjys7fy0f8m9hv7rf6ph"; depends=[bitops data_table dplyr httr jsonlite RCurl]; };
-  getTBinR = derive2 { name="getTBinR"; version="0.6.1"; sha256="1r4pqcyhd64g77xckmhwpnsrxlla4qm67fq04byzb6f96j5d50wl"; depends=[data_table dplyr ggplot2 ggthemes magrittr plotly purrr rlang scales tibble tidyr viridis]; };
+  getTBinR = derive2 { name="getTBinR"; version="0.7.0"; sha256="03xfi6cdsw5h7pmnzaxh9ig2j05jmyzzcjrslayanwdfwk370zas"; depends=[data_table dplyr ggplot2 ggthemes magrittr plotly purrr rlang scales tibble tidyr viridis]; };
   gethr = derive2 { name="gethr"; version="0.1.0"; sha256="0kpi9b9yg2nh332zkml24pmj6vgjfh8mrfjjg5a636s2rg98g5g7"; depends=[httr jsonlite]; };
   getlandsat = derive2 { name="getlandsat"; version="0.2.0"; sha256="15450v93lc4i2qda0zlb5vplwbarkmf3f6sb4rlrdpv9vlj85hff"; depends=[crul data_table rappdirs readr tibble xml2]; };
   getmstatistic = derive2 { name="getmstatistic"; version="0.2.0"; sha256="0rxj1dyfqy3fw2jhv05sw9x70p67rxmq3aqffymzal61rz6cnr3y"; depends=[ggplot2 gridExtra gtable metafor psych stargazer]; };
   getopt = derive2 { name="getopt"; version="1.20.3"; sha256="0zzmzgwl9a4y3s34600vmih22d6y32294f9bvxrnmffnvkgmy7sk"; depends=[]; };
-  gets = derive2 { name="gets"; version="0.19"; sha256="18qd0rnl8w307laykyv93ahrblxz2nsvrcn0qfwar23g3n9vnzx5"; depends=[zoo]; };
+  gets = derive2 { name="gets"; version="0.21"; sha256="0frpfwb1sbbnhs1j77dlxrpsfl9nk6nyjg6aly0hn2vpi9p934ns"; depends=[zoo]; };
+  getspres = derive2 { name="getspres"; version="0.1.0"; sha256="1y51l9bq5p025nyv37q7mmda7yw2qrw42dz50pwlrmi8h27l9zkf"; depends=[colorRamps colorspace dplyr metafor plotrix RColorBrewer]; };
   gettz = derive2 { name="gettz"; version="0.0.3"; sha256="1i06nfm824131q8lwwhrbzg2g9lbnmyp8k57w2vag7v8jj5rdrda"; depends=[]; };
   gexp = derive2 { name="gexp"; version="1.0-0"; sha256="0jasxyr9rwdj1lmsc5zr77kkzm4nci3pxgc4npr7j0wcim7k8lby"; depends=[jpeg mvtnorm png]; };
   gfcanalysis = derive2 { name="gfcanalysis"; version="1.5.0"; sha256="1cg34c4hr8kwc23qlv2m6qw2k7ah4w8s70q0hf4hnvp66rw4kaqh"; depends=[animation geosphere ggplot2 plyr raster rasterVis RCurl rgdal rgeos sp stringr]; };
   gfer = derive2 { name="gfer"; version="0.1.10"; sha256="1y0ra8k7zka43ibiii16vbwnc3m1i77yc9zj8rhzhmvhajjwad3l"; depends=[circlize data_table ggplot2 ggrepel googlesheets gsheet httr jsonlite rvest scatterpie stringi tidyr V8 xml2]; };
   gfmR = derive2 { name="gfmR"; version="1.1-0"; sha256="0qzzbcra1fnbp0h31b1as20yhmqmi7p62xrhikj64an9avg9b277"; depends=[faraway nnet]; };
+  gfoRmula = derive2 { name="gfoRmula"; version="0.2.1"; sha256="0hqjpav6zaxgk5mwx72qphcpc4gvm2072kl15419arr6aqf79kkq"; depends=[data_table ggplot2 ggpubr nnet stringr survival truncnorm truncreg]; };
+  gg_gap = derive2 { name="gg.gap"; version="1.3"; sha256="0m66050ryn31xmsmmikjsssllasvjdmp9yjbwfdwfpwdv106zn9h"; depends=[cowplot ggplot2]; };
+  ggBubbles = derive2 { name="ggBubbles"; version="0.1.4"; sha256="116rl8j0s9xwhh9jl5yj9fspkhv2zrirbx9247hhns9ngrdn4i3x"; depends=[dplyr ggplot2]; };
   ggChernoff = derive2 { name="ggChernoff"; version="0.2.0"; sha256="09bh9isvx3hwwvg72fv6z3fvp8dimpbhvbp328z8amq8jjhph4vf"; depends=[ggplot2 scales]; };
-  ggExtra = derive2 { name="ggExtra"; version="0.8"; sha256="1m5zpn3l3p1y3d2692gyz50m63d58m2a3b7zb595kvcffdx2qr5b"; depends=[colourpicker ggplot2 gtable miniUI scales shiny shinyjs]; };
-  ggPMX = derive2 { name="ggPMX"; version="0.9.4"; sha256="11ccgklx1zdnv0klxrdyd27a848744srywijfi4j24cxg30c0yyg"; depends=[assertthat checkmate data_table GGally ggplot2 gtable knitr magrittr R6 rmarkdown stringr yaml zoo]; };
+  ggExtra = derive2 { name="ggExtra"; version="0.9"; sha256="18mbi6gblqmrsciad1d2c9ngllk6mayaqj43k40hjq9ydqnvjbgj"; depends=[colourpicker ggplot2 gtable miniUI R6 scales shiny shinyjs]; };
+  ggPMX = derive2 { name="ggPMX"; version="0.9.8"; sha256="1cpywycmn88vvfnpaf2jddx712h3w28k9hiqnkjhg9nfm14jv6ik"; depends=[assertthat checkmate data_table GGally ggplot2 gtable knitr magrittr R6 rmarkdown stringr yaml zoo]; };
   ggQC = derive2 { name="ggQC"; version="0.0.31"; sha256="1j9cs97hcj5zmqvn5rjr3gl0b9748s3pv2nb7v66dsyjdwvj7wyy"; depends=[dplyr ggplot2 tidyr]; };
   ggQQunif = derive2 { name="ggQQunif"; version="0.1.5"; sha256="0vrxmqxy946mwdq0mb2m1ch41r0chrw7hcn18dr3mp10bv7pl7wj"; depends=[dplyr ggplot2 scales]; };
   ggROC = derive2 { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
@@ -7909,41 +8227,44 @@ in with self; {
   ggResidpanel = derive2 { name="ggResidpanel"; version="0.3.0"; sha256="1vsjw229pd36100ix1sgfmk5lb9b0fx3l6pxg1irsfhm2ypbg1ig"; depends=[cowplot ggplot2 MASS plotly qqplotr stringr]; };
   ggThemeAssist = derive2 { name="ggThemeAssist"; version="0.1.5"; sha256="1biw91a8p13h62v4w3yim6ghr98khmyhb3qd0h04asf91vvmpxbv"; depends=[formatR ggplot2 miniUI rstudioapi shiny]; };
   ggTimeSeries = derive2 { name="ggTimeSeries"; version="1.0.1"; sha256="12gi0zfl8g3x78skpkhska8b3z1pp636shrbx33rkq0iacsipqga"; depends=[data_table ggplot2]; };
+  ggVennDiagram = derive2 { name="ggVennDiagram"; version="0.3"; sha256="1jgxzb3iffhx6xyn14nldljkaangdvzrxzfkibsb6g787fgv8ng9"; depends=[dplyr ggplot2 sf VennDiagram]; };
   ggallin = derive2 { name="ggallin"; version="0.1.1"; sha256="0hrxa7m07ppvnndivxcgxksdyblb6fw17aw46maqavlvcrz3fjgm"; depends=[ggplot2 scales]; };
-  ggalluvial = derive2 { name="ggalluvial"; version="0.9.1"; sha256="0np4dwhxz9q3p9y1w45fyvs4cphi50mbgi9wrinpi3k5i3anv6zf"; depends=[dplyr ggplot2 lazyeval rlang tidyr tidyselect]; };
+  ggalluvial = derive2 { name="ggalluvial"; version="0.10.0"; sha256="05435i5859mi0dyahh9vgfdcqd4wjwznx9ixw1nkaqcdbv843v30"; depends=[dplyr ggplot2 lazyeval rlang tidyr tidyselect]; };
   ggalt = derive2 { name="ggalt"; version="0.4.0"; sha256="0ssa274d41vhd6crzjz7jqzbwgnjimxwxl23p2cx35aqs5wdfjpc"; depends=[ash dplyr extrafont ggplot2 gtable KernSmooth maps MASS plotly proj4 RColorBrewer scales tibble]; };
-  gganimate = derive2 { name="gganimate"; version="1.0.3"; sha256="0ngx4xjq0zvjf4fi433qyk8nxk1zvkimll0z6hs48y9k6b5mi4ch"; depends=[ggplot2 glue plyr progress rlang scales stringi tweenr]; };
-  ggasym = derive2 { name="ggasym"; version="0.1.1"; sha256="01mx5yz2b4y4vh76gq323pf66r5a6d0x5pbdzfaiakiav3hdw9gf"; depends=[broom dplyr ggplot2 magrittr purrr rlang scales stringr tibble tidyr]; };
+  gganimate = derive2 { name="gganimate"; version="1.0.4"; sha256="0z25fanxakc4vh67dnx99iygkxkpv8rjh9vlyypbwgy6rrg2mvpc"; depends=[ggplot2 glue plyr progress rlang scales stringi tweenr]; };
+  ggasym = derive2 { name="ggasym"; version="0.1.2"; sha256="1nhsiamiv8dwn5cb2l7z7dzy46x6qcygxr2ncp0nqp6rnl7mh712"; depends=[broom corrr dplyr ggplot2 magrittr purrr rlang scales stringr tibble tidyr]; };
   ggbeeswarm = derive2 { name="ggbeeswarm"; version="0.6.0"; sha256="0crk29p5vi1r3a988kms4y7r0iqwgwzsikgvh18r9wbzyr98bb5v"; depends=[beeswarm ggplot2 vipor]; };
   ggbuildr = derive2 { name="ggbuildr"; version="0.1.0"; sha256="0pld635v6fv46ky7s4icwxlcnr7z6bp5ikf20adpkljwhy0wwxak"; depends=[ggplot2 purrr readr]; };
   ggconf = derive2 { name="ggconf"; version="0.1.3"; sha256="0g4xasqhdiqfqahakv6p5npl56f2iakx4bnc9v9zcjr077kdda4n"; depends=[ggplot2 rly]; };
   ggcorrplot = derive2 { name="ggcorrplot"; version="0.1.3"; sha256="0hi9lz121ya1l2lbm7rqlxg6fs6bvxck396dngnidrhl5fvqb41b"; depends=[ggplot2 reshape2]; };
-  ggdag = derive2 { name="ggdag"; version="0.1.0"; sha256="0ja3v8pmlzl55n8y8n9zcg5n17w8w4vdq42bqf6h8hgyqj63rcg9"; depends=[dagitty dplyr forcats ggforce ggplot2 ggraph ggrepel igraph magrittr plyr purrr stringr tibble tidygraph]; };
+  ggdag = derive2 { name="ggdag"; version="0.2.0"; sha256="0jds4yqnf2pjbq0b2a81mx1akjzcvc21v2lh8z91h9frxw47g63g"; depends=[dagitty dplyr forcats ggforce ggplot2 ggraph ggrepel igraph magrittr pillar plyr purrr stringr tibble tidygraph]; };
   ggdark = derive2 { name="ggdark"; version="0.2.1"; sha256="1w93g2j4g45x9s841v9zi18lxzda81ipa13fajqc6p9xk8frvgrf"; depends=[ggplot2]; };
-  ggdemetra = derive2 { name="ggdemetra"; version="0.2.0"; sha256="187dxvpdy95hhzzxl5k9766yk72a5g36vvgy0y89mzvc6mvnb8f8"; depends=[ggplot2 ggrepel gridExtra RJDemetra]; };
+  ggdemetra = derive2 { name="ggdemetra"; version="0.2.1"; sha256="1d5adnamv2gnnj3q8779brl827d2zbqpkgfz2r097jndy5ng1021"; depends=[ggplot2 ggrepel gridExtra RJDemetra]; };
   ggdendro = derive2 { name="ggdendro"; version="0.1-20"; sha256="1zzq1hxd0d1qa5hrzwfkdw6fzscpcafbwbpkrb62dm559y8awp0j"; depends=[ggplot2 MASS]; };
   ggdistribute = derive2 { name="ggdistribute"; version="1.0.3"; sha256="07bsnfp1chf52gprw7g5kyqf6l6yzmnlv13x9dj1wa6rjwq1342i"; depends=[data_table dplyr ggplot2 magrittr tibble]; };
   ggdmc = derive2 { name="ggdmc"; version="0.2.6.0"; sha256="1gncv7npl548k3zd41x2gwg5qywn5rp6zb4i7ga78sy77mvi3x92"; depends=[coda data_table ggplot2 matrixStats Rcpp RcppArmadillo]; };
   gge = derive2 { name="gge"; version="1.4"; sha256="0plwk5j2n0309ghgn8r4ws3azwn7n4jb7yfykiiwwalhs3k05lsa"; depends=[nipals reshape2 rgl]; };
   ggedit = derive2 { name="ggedit"; version="0.3.0"; sha256="1v9apfkm47jcqyhjrvv8ig09gz6zsss5xj5mrckfjybd5ca08rzn"; depends=[colourpicker dplyr ggplot2 magrittr miniUI plyr purrr rlang rstudioapi scales shiny shinyAce shinyBS tidyr]; };
-  ggeffects = derive2 { name="ggeffects"; version="0.11.0"; sha256="1b0lxa8bljdh6h4lk7pql1lrhjlvh7p5c8qlgb8ac6ay8hb79vmi"; depends=[dplyr insight magrittr MASS purrr rlang scales sjlabelled sjmisc]; };
+  ggeffects = derive2 { name="ggeffects"; version="0.13.0"; sha256="0ryfbaav0k874kbwmhbiv7fan93dmkpaimm1iw5kryjhhs3917lb"; depends=[dplyr insight magrittr MASS purrr rlang sjlabelled sjmisc]; };
   ggenealogy = derive2 { name="ggenealogy"; version="1.0.0"; sha256="1wi29f7allky84w9w2512v8gs687gvypsbd7r4vyxs24l6pfssyc"; depends=[ggplot2 igraph plotly plyr reshape2 tibble]; };
   ggetho = derive2 { name="ggetho"; version="0.3.4"; sha256="05wh0qk5cbcvcfgj5wf12qqbjgl1bbwcxywc16qdby7r4h5wy0gn"; depends=[behavr data_table ggplot2 labeling rlang scales stringr]; };
   ggfan = derive2 { name="ggfan"; version="0.1.3"; sha256="1p3hbznpsaznlk0lnjyazc130www0p5919qplg3kspng7qh8p22w"; depends=[colorspace dplyr ggplot2 rstan]; };
   ggfittext = derive2 { name="ggfittext"; version="0.8.1"; sha256="1a5k8fba2qjxnpd14vqkakpzcwkzqbpvs8h6fb9zh62y91n6p26v"; depends=[ggplot2 shades stringi]; };
   ggfocus = derive2 { name="ggfocus"; version="0.9"; sha256="03adq3pdhlgckqc20aw6r70kdcrw0v4rmm848ivv6wkck4qyla3m"; depends=[dplyr ggplot2 magrittr RColorBrewer rlang]; };
-  ggforce = derive2 { name="ggforce"; version="0.2.2"; sha256="0snxx9zhcccxa7pz9pf3bjqmcmv9mz4m47v81hklnhm25jj40xg2"; depends=[ggplot2 gtable MASS polyclip Rcpp RcppEigen rlang scales tweenr]; };
-  ggformula = derive2 { name="ggformula"; version="0.9.1"; sha256="01ngx8qh9lhmagng6abx2ky54zi3iyj5bpxlnw59slagwv7l6icx"; depends=[ggplot2 ggstance magrittr mosaicCore rlang stringr tibble tidyr]; };
-  ggfortify = derive2 { name="ggfortify"; version="0.4.7"; sha256="1wk9j0xg5hj9i1vf62qjiphv8cbsgq7y6baay3pfl3wyb2dwgci0"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
+  ggforce = derive2 { name="ggforce"; version="0.3.1"; sha256="04926cqrda6psvy2nzkkw4czwyxdp7fnxg76byp14v12kgd72lm0"; depends=[ggplot2 gtable MASS polyclip Rcpp RcppEigen rlang scales tidyselect tweenr withr]; };
+  ggformula = derive2 { name="ggformula"; version="0.9.2"; sha256="16ycabhnp78fsiv1dc63ccgh9gmpsy2683vbmq0fdzl6w3pd87sr"; depends=[ggplot2 ggstance magrittr mosaicCore rlang stringr tibble tidyr]; };
+  ggfortify = derive2 { name="ggfortify"; version="0.4.8"; sha256="191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
   gggenes = derive2 { name="gggenes"; version="0.4.0"; sha256="13hrjh80rlri8vm736p85v2jwwpck8gc5jfps1qrqcq86kv2xgkn"; depends=[ggfittext ggplot2 rlang]; };
   ggghost = derive2 { name="ggghost"; version="0.2.1"; sha256="0kvsjadxxdf6yvzk4a6yqkg02q1ysslvf3m0a369bdim396z4hnv"; depends=[animation ggplot2]; };
+  gggibbous = derive2 { name="gggibbous"; version="0.1.0"; sha256="1g6igmj2nh4b516p1wcs1cwgzdnawvf3snxzwxjkmdc4yqbzyz24"; depends=[ggplot2 scales]; };
   ggguitar = derive2 { name="ggguitar"; version="0.1.1"; sha256="1lmfs54h91gzcxin37v4flkywbq3fs648mm1h9ak03xlj5nagzsi"; depends=[dplyr ggplot2 gridExtra lazyeval readr tibble]; };
   gghalfnorm = derive2 { name="gghalfnorm"; version="1.1.2"; sha256="1sy0m6pqmnjbqv60rljyblhis0dxwkhw751jhlad5arcgrcwf4k8"; depends=[ggplot2 ggrepel]; };
+  gghalves = derive2 { name="gghalves"; version="0.0.1"; sha256="03s1wrfgkd55zmf3scv6kp32s3lcpbm5prnc5ndgad43zq8jyi09"; depends=[ggplot2 gtable]; };
   gghighlight = derive2 { name="gghighlight"; version="0.1.0"; sha256="1mfjvfm5xbih7k7qz6x8akbqgh0b18dz9pybfgh7rbq2ppwnhpy9"; depends=[dplyr ggplot2 ggrepel magrittr purrr rlang tibble]; };
-  ggimage = derive2 { name="ggimage"; version="0.2.1"; sha256="1713xghrc77y8s7gwvjwz6w70psmrqxgk7sph5jzsfvjfjdnl3xv"; depends=[ggplot2 ggplotify jsonlite magick rvcheck scales tibble]; };
+  ggimage = derive2 { name="ggimage"; version="0.2.5"; sha256="158hbqlka4nqyflq0daqp829xjs0rckzj3fmwd980g23g2xk2m92"; depends=[ggplot2 ggplotify jsonlite magick rvcheck scales tibble]; };
   gginference = derive2 { name="gginference"; version="0.1.0"; sha256="0dikyqryz25ikm047clkwn0ihlxa5zia2bxp71fh8ynxxvzixz3k"; depends=[ggplot2 rlang]; };
-  gginnards = derive2 { name="gginnards"; version="0.0.2"; sha256="10a4mrp2sn9c1s1bjyk8h9fxd9a2qqsggpcb2spgcha37mhz8cak"; depends=[ggplot2 magrittr rlang stringr tibble]; };
-  ggiraph = derive2 { name="ggiraph"; version="0.6.1"; sha256="1ir62rxnas6whqlxf7lwvsaj731mnp1ixw391gp3sb6vigh5cair"; depends=[gdtools ggplot2 htmltools htmlwidgets Rcpp xml2]; };
+  gginnards = derive2 { name="gginnards"; version="0.0.3"; sha256="15ly88wjsd2fqvp483376rm2fczcbmj1s1vagb70z9z7968407xy"; depends=[ggplot2 magrittr rlang stringr tibble]; };
+  ggiraph = derive2 { name="ggiraph"; version="0.7.0"; sha256="1002mf2dp7ram5yrj9qlg9rawz083k130k6bjvdidq0x800ps7b4"; depends=[gdtools ggplot2 htmltools htmlwidgets purrr Rcpp rlang uuid xml2]; };
   ggiraphExtra = derive2 { name="ggiraphExtra"; version="0.2.9"; sha256="1qmw7z10h1x6xnlpq7shafg6w2bal8ni02c07fyy9f7hm02xfnzs"; depends=[dplyr ggforce ggiraph ggplot2 magrittr mgcv mycor plyr ppcor purrr RColorBrewer reshape2 scales sjlabelled sjmisc stringr tidyr webshot ztable]; };
   ggjoy = derive2 { name="ggjoy"; version="0.4.1"; sha256="012md2m0jqfcccb933j423m3ck31v3p0pd41gjxpyg9082y7ixyj"; depends=[ggplot2 ggridges]; };
   gglasso = derive2 { name="gglasso"; version="1.4"; sha256="0r4zfgkys8104iw1vzww3qid8a6dyn03x0jlgwrdvavfj86yhq54"; depends=[]; };
@@ -7954,29 +8275,34 @@ in with self; {
   ggmap = derive2 { name="ggmap"; version="3.0.0"; sha256="13dmzl6z62pzjiffilarkji46vy0sacxa8a7mhrhc3biq3ylzhln"; depends=[bitops digest dplyr ggplot2 glue httr jpeg magrittr plyr png purrr RgoogleMaps rjson scales stringr tibble tidyr]; };
   ggmcmc = derive2 { name="ggmcmc"; version="1.3"; sha256="0p3akjbi0044nma8ynvqa42bkrgrb0jjx323k2pbrnlkq8x3ma1b"; depends=[dplyr GGally ggplot2 tidyr]; };
   ggmosaic = derive2 { name="ggmosaic"; version="0.2.0"; sha256="0byhp7125r015wbbnv6fq13bx38krf11r39jx9dzbr0ci6kqzkdb"; depends=[dplyr ggplot2 plotly productplots purrr rlang tidyr]; };
-  ggmuller = derive2 { name="ggmuller"; version="0.5.3"; sha256="0qcphgal4c28lcwa1qdbryk40rkqpd4hz6phvcp6jy0n75lqi9f3"; depends=[ape dplyr ggplot2]; };
+  ggmr = derive2 { name="ggmr"; version="0.1.1"; sha256="0941rvh7m5knlhp0m0mhm4j8spmch0pyvwhzs3bycq3vzlvzv1w7"; depends=[MASS]; };
+  ggmsa = derive2 { name="ggmsa"; version="0.0.1"; sha256="1f16fvcnk0923dhzlxnq0gmq4y4qnkdzy0h0ijinqm2iy3sfy5gp"; depends=[ggplot2 ggseqlogo magrittr tidyr treeio]; };
+  ggmuller = derive2 { name="ggmuller"; version="0.5.4"; sha256="0y7bm9fm5i8acpy6fa903ca2r9yasky7kg2hicm4xz5ni09jm20x"; depends=[ape dplyr ggplot2]; };
   ggnetwork = derive2 { name="ggnetwork"; version="0.5.1"; sha256="13qisn4msjzkpcmn7rh2c4ymqfxp9bayrvqngp9pysfmr6wvc6ia"; depends=[ggplot2 ggrepel network sna]; };
-  ggnewscale = derive2 { name="ggnewscale"; version="0.3.0"; sha256="0nh5577if0qiqlksg028j4bkz058bm3qqwxm4nlqsssi4spja22f"; depends=[ggplot2 stringi]; };
+  ggnewscale = derive2 { name="ggnewscale"; version="0.4.0"; sha256="0w9lykxdrifm69mr157x1hirz37ws9m5lpmxaqbfq5picqyvplsx"; depends=[ggplot2 stringi]; };
   ggnormalviolin = derive2 { name="ggnormalviolin"; version="0.1.2"; sha256="1gbv2b86nznw5bs05c4ns96b8hsxkhikhcf8syl2qbbafzy8vx6y"; depends=[dplyr ggplot2 magrittr scales]; };
   ggpage = derive2 { name="ggpage"; version="0.2.3"; sha256="1qi8ydq3fxb1smk0jg9z1cv2xjq8c1lsnmz8l7c61rvdbjm3710v"; depends=[dplyr ggplot2 magrittr purrr rlang stringr tidytext]; };
   ggparallel = derive2 { name="ggparallel"; version="0.2.0"; sha256="0zxaff0jbqkbavsmh1yyp3vdrxsam6a66hjw8lamv9pksdw1s2wf"; depends=[ggplot2 plyr reshape2]; };
   ggparliament = derive2 { name="ggparliament"; version="2.0.0"; sha256="04za4lm3lir95bgda1rzlsyil2fkac3j5f5f1pjw2samy6pjz80r"; depends=[dplyr ggplot2 rlang]; };
   ggparty = derive2 { name="ggparty"; version="1.0.0"; sha256="0s6hr5p930kl3pj6ajwgwqz6yikc3l9hhzy1yn0nqc0r8pp2jyqf"; depends=[checkmate ggplot2 gtable partykit rlang survival]; };
   ggperiodic = derive2 { name="ggperiodic"; version="1.0.0"; sha256="1cig715qy1kjjrn89cf505njdl2xccvjc5l0fwbqh86xgjayslxb"; depends=[data_table dplyr ggplot2 sticky tidyselect]; };
-  ggplot2 = derive2 { name="ggplot2"; version="3.2.0"; sha256="1cvk9pw59kxx19kamqwa15h26rbznp0vvqpn7y8kgjssnrzqkdii"; depends=[digest gtable lazyeval MASS mgcv reshape2 rlang scales tibble viridisLite withr]; };
+  ggplot_multistats = derive2 { name="ggplot.multistats"; version="1.0.0"; sha256="1afzfa86vc484bcwpg7m1ky03jpax584rigzgai8w06pifkmz0il"; depends=[ggplot2 hexbin rlang scales]; };
+  ggplot2 = derive2 { name="ggplot2"; version="3.2.1"; sha256="0mjswqiqcwm0aqxll16bx2kwa6c9km3aql87bdj4347n1ali94g3"; depends=[digest gtable lazyeval MASS mgcv reshape2 rlang scales tibble viridisLite withr]; };
   ggplot2movies = derive2 { name="ggplot2movies"; version="0.0.1"; sha256="067ld6djxcpbliv70r2c1pp4z50rvwmn1xbvxfcqdi9s3k9a2v8q"; depends=[]; };
   ggplotAssist = derive2 { name="ggplotAssist"; version="0.1.3"; sha256="1g0s1dkbrxmwqjqppagdbnx24s0nbjn09xwxix3dkfssz6drhala"; depends=[dplyr editData gcookbook ggplot2 ggthemes magrittr miniUI moonBook rstudioapi scales shiny shinyAce shinyWidgets stringr tibble tidyverse]; };
   ggplotgui = derive2 { name="ggplotgui"; version="1.0.0"; sha256="1yfglg5438mwyml845isimzma5q6824x19jka509ng49bzmf1za0"; depends=[ggplot2 haven plotly RColorBrewer readr readxl shiny stringr]; };
-  ggplotify = derive2 { name="ggplotify"; version="0.0.3"; sha256="14hqlpvnaq5psz1ljcpw9isa06827rg3fm5c1dx159rsjfi56yby"; depends=[ggplot2 gridGraphics rvcheck]; };
-  ggpmisc = derive2 { name="ggpmisc"; version="0.3.1"; sha256="1kcjdpq7xz3609prbcf3ikj87wgcq9rk1pzhb62bh885plczsfz2"; depends=[broom dplyr ggplot2 gridExtra lubridate magrittr MASS plyr polynom rlang scales splus2R stringr tibble xts zoo]; };
+  ggplotify = derive2 { name="ggplotify"; version="0.0.4"; sha256="0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg"; depends=[ggplot2 gridGraphics rvcheck]; };
+  ggplotlyExtra = derive2 { name="ggplotlyExtra"; version="0.0.1"; sha256="1m2rhylpzj934gb50lxjp47rxz0kwl9i1p3n7w1rz4qi96pr5p1c"; depends=[ggplot2 plotly rlang]; };
+  ggpmisc = derive2 { name="ggpmisc"; version="0.3.3"; sha256="1m5ajcy6l8gb2h2ph32ij9dgn6fqpcsf9nf5dr5gas7a15ihpcas"; depends=[broom dplyr ggplot2 gridExtra lubridate magrittr MASS plyr polynom rlang scales splus2R stringr tibble xts zoo]; };
+  ggpointdensity = derive2 { name="ggpointdensity"; version="0.1.0"; sha256="0c9a14j3b0hvamqylhzldw2hjdxmfbllwahjkf3gg2rw337ld9iy"; depends=[ggplot2]; };
   ggpol = derive2 { name="ggpol"; version="0.0.5"; sha256="0n54mmk9alc3bd9q3jb64xvxnszqndfwpi6h6n09gpvlrbj8mkdx"; depends=[dplyr ggplot2 gtable plyr rlang]; };
   ggpolypath = derive2 { name="ggpolypath"; version="0.1.0"; sha256="0g9zfal3vqcx16fi4abxm6l5sam475lk1f6bdik487wc2v0dkq83"; depends=[ggplot2]; };
-  ggpubr = derive2 { name="ggpubr"; version="0.2.1"; sha256="0a4dv6a752hwvc7l31xs7bgqhfzfdy94xp6wgwaxf5dxm46na7k1"; depends=[cowplot dplyr ggplot2 ggrepel ggsci ggsignif glue gridExtra magrittr polynom purrr scales tidyr]; };
-  ggpval = derive2 { name="ggpval"; version="0.2.2"; sha256="1l5m925ajbqffn7yccx3kg6hsgwbqalqgid04133p8m1vwm6dvyf"; depends=[data_table ggplot2]; };
-  ggquickeda = derive2 { name="ggquickeda"; version="0.1.3"; sha256="09b074rqyr93n3j60sm81qh3bdhrkwlkv4mxmcjcj3hivd6b2vck"; depends=[colourpicker dplyr DT Formula GGally ggplot2 ggpmisc ggpubr ggrepel ggstance gridExtra Hmisc lazyeval markdown plotly quantreg rlang scales shiny shinyjs stringr survival survminer table1 tidyr]; };
+  ggpubr = derive2 { name="ggpubr"; version="0.2.4"; sha256="0ln1gh3zlfx5s7zqcpvfdiksq74v1pma5kwkhc6r0riqnjjd19pf"; depends=[cowplot dplyr ggplot2 ggrepel ggsci ggsignif glue gridExtra magrittr polynom purrr rlang scales tidyr]; };
+  ggpval = derive2 { name="ggpval"; version="0.2.3"; sha256="04s0pwi0pljdd8r6wnjyb3i3php6qgvpc1mdvhywcx2i2zqip2qx"; depends=[data_table ggplot2]; };
+  ggquickeda = derive2 { name="ggquickeda"; version="0.1.5"; sha256="13kszfsxnpbkcn3lnlcmrw5a0c3ny8gv9dn4ciphl40rk7qpi26v"; depends=[colourpicker dplyr DT Formula GGally ggplot2 ggpmisc ggpubr ggrepel ggstance gridExtra Hmisc lazyeval markdown plotly quantreg rlang scales shiny shinyjs stringr survival survminer table1 tidyr]; };
   ggquiver = derive2 { name="ggquiver"; version="0.2.0"; sha256="1hsayqxf4brck1rx97yyprw1axc83lksgf7mn3rh8hqx4h1f5f0f"; depends=[dplyr ggplot2]; };
-  ggraph = derive2 { name="ggraph"; version="1.0.2"; sha256="0fpmp326mryd1k1qvacjadksrnhbla8h960i18lmrimzrag7692c"; depends=[digest dplyr ggforce ggplot2 ggrepel gtable igraph MASS plyr Rcpp scales viridis]; };
-  ggraptR = derive2 { name="ggraptR"; version="1.1"; sha256="1lknd3vibysc00c6b59c0yq2r3dda7zn8bj7gxjzjv90jwpgl0b8"; depends=[dplyr ggplot2 pacman purrr shiny]; };
+  ggraph = derive2 { name="ggraph"; version="2.0.0"; sha256="0qj7w3af0pgmd9mil6y571jikfkln7b8csvzg6b08spwbglfy1s3"; depends=[digest dplyr ggforce ggplot2 ggrepel graphlayouts gtable igraph MASS Rcpp rlang scales tidygraph viridis]; };
+  ggraptR = derive2 { name="ggraptR"; version="1.2"; sha256="18r70pnz7x8728lg447ds7swgk539gga9shax7rs4x56a710pf3q"; depends=[dplyr ggplot2 pacman purrr shiny]; };
   ggrasp = derive2 { name="ggrasp"; version="1.0"; sha256="0lini89mcxl30kx38vny9896hdf4afrz5dgivbbikkb2yyfh2cq1"; depends=[ape bgmm colorspace ggplot2 mixtools]; };
   ggrepel = derive2 { name="ggrepel"; version="0.8.1"; sha256="10vjrcmx8yknfbx93d9a4y3z8gafri0fhimw6hcq733dmdvkml6m"; depends=[ggplot2 Rcpp scales]; };
   ggridges = derive2 { name="ggridges"; version="0.5.1"; sha256="0dhwcpy785ac2ny5bjp284595nnybi3554wd0yffsli0vzf7ry01"; depends=[ggplot2 plyr scales withr]; };
@@ -7984,39 +8310,39 @@ in with self; {
   ggsci = derive2 { name="ggsci"; version="2.9"; sha256="0g73x6grbka7ahjh6z23m3wrcifp5rdfdiasbl8lq4sp6rplxwaa"; depends=[ggplot2 scales]; };
   ggseas = derive2 { name="ggseas"; version="0.5.4"; sha256="1jpdijwll5l7bg7cmjnklkxffysi9ckzg50rw2a2cd00zwby11q9"; depends=[ggplot2 rlang seasonal zoo]; };
   ggseqlogo = derive2 { name="ggseqlogo"; version="0.1"; sha256="13q6kcpxrqxqbji889fx63p0nsi08lk5yymkchig75r5k1d18ky1"; depends=[ggplot2]; };
-  ggsignif = derive2 { name="ggsignif"; version="0.5.0"; sha256="0z04g5kqdj66fyfxb5d2m7njkqd7idbiy4xgsnxdh5pbh3cr643x"; depends=[ggplot2]; };
+  ggsignif = derive2 { name="ggsignif"; version="0.6.0"; sha256="17j9hg967k1wp9xw3x84mqss58jkb8pvlrnlchz4i1hklgykxqbg"; depends=[ggplot2]; };
   ggsn = derive2 { name="ggsn"; version="0.5.0"; sha256="04vnap83w06hbqqi5kgxmrdb3a13n5mcdk5lllymv6nrzvl84f2x"; depends=[ggmap ggplot2 maptools png sf]; };
   ggsoccer = derive2 { name="ggsoccer"; version="0.1.4"; sha256="126czg8xyms959pc398d63fwrs6p9f253xnrgig5sw4vfxl9hqgm"; depends=[ggplot2]; };
   ggsolvencyii = derive2 { name="ggsolvencyii"; version="0.1.2"; sha256="0jzj4iglgzwp6pfs5zr7mirdiqrrmbwdvl245b1fwf42rnxbqrq6"; depends=[dplyr ggplot2 magrittr tidyr]; };
   ggsom = derive2 { name="ggsom"; version="0.2.1"; sha256="0gycd3yzdy58m22r62my5v0s00mr7ga7mcfa6i300arp47lzdwq1"; depends=[dplyr ggplot2 ggthemes kohonen tidyr tidyverse]; };
   ggspatial = derive2 { name="ggspatial"; version="1.0.3"; sha256="0ka15qj3f0yq9nfkgk77wp490nz9ymi80918apv9zp6x39kcprj9"; depends=[abind ggplot2 plyr raster reshape2 rlang rosm scales sf tibble tidyr]; };
-  ggspectra = derive2 { name="ggspectra"; version="0.3.3.1"; sha256="0mwpa4my9z377h5z9skaw4dy82cci6mkcyrw64c14kjv3rmx6xb7"; depends=[dplyr ggplot2 ggrepel lubridate photobiology photobiologyWavebands scales tidyr]; };
-  ggstance = derive2 { name="ggstance"; version="0.3.2"; sha256="078ih9s5b0xzf582qg0vjnxvg5qad5ms1v2vdd062ckahi8zz1r8"; depends=[ggplot2 plyr rlang withr]; };
-  ggstatsplot = derive2 { name="ggstatsplot"; version="0.0.12"; sha256="0fmf5619yzq9qv4x73bai6qi2lrmldk0n354dznk5ywpqw9xsnp4"; depends=[BayesFactor boot broomExtra cowplot crayon DescTools dplyr ellipsis ez forcats ggcorrplot ggExtra ggplot2 ggrepel ggsignif glue groupedstats jmv magrittr MCMCpack metaBMA metafor paletteer psych purrr purrrlyr rcompanion rlang scales sjstats stringr tibble tidyr WRS2]; };
+  ggspectra = derive2 { name="ggspectra"; version="0.3.4"; sha256="18p0wfcnkgahs43j2msrm6x5h91bpi3pnwlqlckniyfixhfdlycy"; depends=[dplyr ggplot2 ggrepel lubridate photobiology photobiologyWavebands scales tidyr]; };
+  ggstance = derive2 { name="ggstance"; version="0.3.3"; sha256="0kdksay61hyb6612b07r84chh7a9aibjyclk3qcypvr9aang8hkh"; depends=[ggplot2 plyr rlang withr]; };
+  ggstatsplot = derive2 { name="ggstatsplot"; version="0.1.3"; sha256="1sia2sp929li67rfjbcgqwngxcv066939xnaz9mvk8bfxsz6qp03"; depends=[broomExtra cowplot crayon dplyr forcats ggcorrplot ggExtra ggplot2 ggrepel ggsignif groupedstats insight metaBMA metafor pairwiseComparisons paletteer parameters psych purrr rlang scales statsExpressions tibble tidyr WRS2]; };
   ggswissmaps = derive2 { name="ggswissmaps"; version="0.1.1"; sha256="0is48x6k2p5dgj9q4km0dv33a9pcpfhlai9vz295y3acpyrkmnn4"; depends=[ggplot2]; };
   ggtern = derive2 { name="ggtern"; version="3.1.0"; sha256="1fhs5s3sxhb46abzni7cyymyknk9z7ff8fanln41pkih76s5i18j"; depends=[compositions ggplot2 gridExtra gtable latex2exp lattice MASS plyr proto scales]; };
   ggthemes = derive2 { name="ggthemes"; version="4.2.0"; sha256="0rrkzfggc1nlda1w1lbqdycx6nawxbkac1szhvkwrqlzh6agxcsv"; depends=[ggplot2 purrr scales stringr tibble]; };
   ggupset = derive2 { name="ggupset"; version="0.1.0"; sha256="157dqwc185y2nqrqka0b14im7k1yzj8swr0jaxz46xxm0qgqk8cc"; depends=[ggplot2 gtable rlang scales tibble]; };
   ggversa = derive2 { name="ggversa"; version="0.0.1"; sha256="0xqn8iznrm8q30pxwka88wi1z7lndi6lm12rq6ngcaxf294fbz01"; depends=[]; };
-  ggvis = derive2 { name="ggvis"; version="0.4.4"; sha256="1bxggjr2313kfy895j0fvrv4bg7yh2z87907lk48i1kn5c9flchk"; depends=[assertthat dplyr htmltools jsonlite lazyeval magrittr shiny]; };
+  ggvis = derive2 { name="ggvis"; version="0.4.5"; sha256="091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2"; depends=[assertthat dplyr htmltools jsonlite lazyeval magrittr shiny]; };
   ggvoronoi = derive2 { name="ggvoronoi"; version="0.8.3"; sha256="04dv33vnip0rrli1diq43v7vhr86bmxjdyxjbxz5x4371kbb312j"; depends=[deldir ggplot2 raster rgeos sp]; };
   ggwordcloud = derive2 { name="ggwordcloud"; version="0.5.0"; sha256="0mr92738s3j9wm6mkr5hd2flqsqw3vfjifv3fajsygysbwrl8dn8"; depends=[colorspace ggplot2 png Rcpp scales]; };
   gh = derive2 { name="gh"; version="1.0.1"; sha256="1llinfajb0g7006jd2w1hpskxpmkjhnqarcjb71r1qvsccb2ph7k"; depends=[httr ini jsonlite]; };
-  ghibli = derive2 { name="ghibli"; version="0.2.0"; sha256="1wikcipj1gd45a0a22i7bf4j25ixv2q9ppyfdv41vfg86fzri59f"; depends=[]; };
+  ghibli = derive2 { name="ghibli"; version="0.3.0"; sha256="1527225yp9czmq7y1r08jvzwhxdxi50n5szay92hl9ln829x9phh"; depends=[]; };
   ghyp = derive2 { name="ghyp"; version="1.5.7"; sha256="195hsskh2ykafqr93f675xqsmhbrki3abi61hk78bzy09n1d4jfk"; depends=[gplots numDeriv]; };
   gibble = derive2 { name="gibble"; version="0.2.0"; sha256="11fhswszdgackwkvals4k7pn8syfphkwvfx7kiv7psnsr94q376n"; depends=[dplyr rlang tibble]; };
   gibbs_met = derive2 { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
   gifski = derive2 { name="gifski"; version="0.8.6"; sha256="00w4bzp0rrp4isy1rnxs6g1q07r3wndadk3mqdrxk2wxi7jmghna"; depends=[]; };
   gifti = derive2 { name="gifti"; version="0.7.5"; sha256="1y64bc33b5f64a4khp916s9zb7kbb24xgdg3pdlh0f8m6zrbmp4a"; depends=[base64enc R_utils xml2]; };
-  gim = derive2 { name="gim"; version="0.11.0"; sha256="1psmziq03k1nbdl64sy152ih4g625qkbp5l7msfibrcbpgz0hg7y"; depends=[numDeriv]; };
-  gimme = derive2 { name="gimme"; version="0.6-0"; sha256="04l1jywx5dpvj3vjq1aw53jqrb6yp34syqcd7i1xvmyih9h35wgr"; depends=[data_tree igraph imputeTS lavaan MIIVsem qgraph]; };
+  gim = derive2 { name="gim"; version="0.28.0"; sha256="1m9pb3dcphyjmadxr87lrd4fb2jacrx2mmcgrvqzc16gfm66n6d5"; depends=[numDeriv]; };
+  gimme = derive2 { name="gimme"; version="0.6-1"; sha256="1ipak83ma1fl24snsd7xlbbhgv67m03r3g8xh9rhvmr6ajag7ada"; depends=[data_tree igraph imputeTS lavaan MIIVsem qgraph]; };
   gimmeTools = derive2 { name="gimmeTools"; version="0.1"; sha256="1g170rz3c3qx27yy67f7xab4gkm0pbbvwlwkcsczfxphad609ryl"; depends=[easycsv magrittr miniUI rhandsontable rintrojs rstudioapi shiny shinyjs shinyWidgets]; };
   gimms = derive2 { name="gimms"; version="1.1.1"; sha256="06vq0apsadyfgnz7906v2kjy0nx3yn0agq4yschxz1r1zmgrnyki"; depends=[curl Kendall ncdf4 raster RCurl zyp]; };
   giphyr = derive2 { name="giphyr"; version="0.2.0"; sha256="0273f7lama8bhaalafs66m6ksp32vx0j6rmh1qr4484i7wkmdfqn"; depends=[dplyr httr miniUI purrr rstudioapi shiny tibble]; };
   gistr = derive2 { name="gistr"; version="0.4.2"; sha256="0bh325pf37v307isdlvdglripfki8xr6gh7n8mgi4cjparzhrh23"; depends=[assertthat dplyr httr jsonlite knitr magrittr rmarkdown]; };
   git2r = derive2 { name="git2r"; version="0.26.1"; sha256="0dbl845sahv2i641ncaf06w06djravwc5wknp9syzx0ad8l0kmhk"; depends=[]; };
-  git2rdata = derive2 { name="git2rdata"; version="0.1"; sha256="1nq9pxvxk05xqsknwyfx30r7gzidl0whqiix56mbgy6zi3ma2pvj"; depends=[assertthat git2r yaml]; };
-  gitgadget = derive2 { name="gitgadget"; version="0.4.0"; sha256="0v6a205x493zycw4ky6ji8zd81jyw0ia47bxyklmiapxrzx8mpbd"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
+  git2rdata = derive2 { name="git2rdata"; version="0.2.0"; sha256="1hzvr1h6rbqqf69xkjc1c2x3c5wqp8za40yim7vd7sb398f1iq4q"; depends=[assertthat git2r yaml]; };
+  gitgadget = derive2 { name="gitgadget"; version="0.5.2"; sha256="0la0x3p50wk5wv2p4vkf3rh72psz3k18lcymxn354nqb7m1xdggs"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
   githubinstall = derive2 { name="githubinstall"; version="0.2.2"; sha256="0hqh86r2007hzdbm8rr0fwqhhsna7ji8sdgmdnrxkxraa5f2pfz3"; depends=[curl data_table devtools httr jsonlite mockery]; };
   gitignore = derive2 { name="gitignore"; version="0.1.3"; sha256="0ckvl5i99k9sjvlk3cfjyclhmchrlqdz4379nmlckh4jpmnckzk0"; depends=[clipr clisymbols crayon curl glue here jsonlite purrr xfun]; };
   gitlabr = derive2 { name="gitlabr"; version="1.1.6"; sha256="1p68w0q8mjpz2hr6ys1qbfw1y4b35hgs27kzfkzv9hfi1vxqfd1h"; depends=[arpr base64enc dplyr httr magrittr purrr stringr tibble yaml]; };
@@ -8028,44 +8354,46 @@ in with self; {
   gkmSVM = derive2 { name="gkmSVM"; version="0.79.0"; sha256="04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges IRanges kernlab Rcpp ROCR rtracklayer S4Vectors seqinr]; };
   glacierSMBM = derive2 { name="glacierSMBM"; version="0.1"; sha256="0117fzz2b1lccs0kkwz59w2yysi72j54yvz7373pz11w7rjds84f"; depends=[raster sp udunits2]; };
   glamlasso = derive2 { name="glamlasso"; version="3.0"; sha256="1ynhl868kh25l8m04ln6ix31z9r26lrbr5ajprpq9yfhqs4l9ddc"; depends=[Rcpp RcppArmadillo]; };
-  glancedata = derive2 { name="glancedata"; version="1.0.0"; sha256="0v72zpf6njg90dggdvw7sqvpcq26izdx334yid8cfk2hidmj5a2k"; depends=[dplyr forcats GGally ggplot2 gridExtra openxlsx purrr tibble tidyr]; };
+  glancedata = derive2 { name="glancedata"; version="1.0.1"; sha256="01j7syjn33pc7hq032nmyak38wn35yv3n7is9g2ggs14kj3xqb0c"; depends=[dplyr forcats GGally ggplot2 gridExtra openxlsx purrr tibble tidyr]; };
   glarma = derive2 { name="glarma"; version="1.6-0"; sha256="0n0mv4xvh5q3y383cs224x6r608ciw4822pkanvmcjsc9zl0z1ar"; depends=[MASS]; };
   glassdoor = derive2 { name="glassdoor"; version="0.8.1"; sha256="0r85k1fyk8979ahfmd4vmzkhyvrlnpkgjwg1yi7092kpx8877lj0"; depends=[httr]; };
-  glasso = derive2 { name="glasso"; version="1.10"; sha256="0nshpx14v2yny7lr8ll6nnz71n0f02sddh2c2dglfprbk89p9yp6"; depends=[]; };
+  glasso = derive2 { name="glasso"; version="1.11"; sha256="02p3612rpydk195n2qr77lp1j2w8zsw1ckkk98c8angm4r5q8dsc"; depends=[]; };
   glassoFast = derive2 { name="glassoFast"; version="1.0"; sha256="1sgmh4l06q7mrmgnimphpqgix4k4jzaj2l30kpmnf92caa2v7ngw"; depends=[]; };
   glba = derive2 { name="glba"; version="0.2"; sha256="0ckcz6v6mfbv34s8sp086czhb5l58sky79k84332rrz6wj47p3md"; depends=[]; };
   glcm = derive2 { name="glcm"; version="1.6.4"; sha256="1al4i8r9g7izl5d4c3ccqx6zw9vfcvdr6zgzql8wjkq9fsdrrnq1"; depends=[Rcpp RcppArmadillo]; };
-  gld = derive2 { name="gld"; version="2.5"; sha256="00bqyr22llsnxm2pjj8bzf9h64gx1vlrzdgagfsskwixccbhhsax"; depends=[e1071 lmom]; };
+  gld = derive2 { name="gld"; version="2.6"; sha256="04apyfv5xxwwpfv3a7wmc5f0xgpp3im97zmwl8ppiwrzrcnk9lgr"; depends=[e1071 lmom]; };
   gldrm = derive2 { name="gldrm"; version="1.5"; sha256="1mbdxqjw6sa47kigwrjq1gn6vi36zhg9j2lck144iwa10ms0y9xp"; depends=[]; };
   glinternet = derive2 { name="glinternet"; version="1.0.10"; sha256="15dikazmhs7md7j8p45f67h3947br18hsrjl74cjk10vazd0ihng"; depends=[]; };
   gllm = derive2 { name="gllm"; version="0.37"; sha256="169y3yz947d8qdphqv2a6yrdash6v2h9jfvj2fk7rcpmz0r45kl6"; depends=[]; };
-  gllvm = derive2 { name="gllvm"; version="1.1.3"; sha256="06kz66bbc29a11xp09nza6gvpgbxih4bzps5n8228sgk561vvw3w"; depends=[fishMod MASS Matrix mgcv mvabund mvtnorm RcppEigen statmod TMB]; };
+  gllvm = derive2 { name="gllvm"; version="1.1.7"; sha256="1m5qm66ca96lfp6b3c0zls2l0yvifvmys729gbaahjp16jq320yc"; depends=[fishMod MASS Matrix mgcv mvabund mvtnorm RcppEigen statmod TMB]; };
   glm_deploy = derive2 { name="glm.deploy"; version="1.0.4"; sha256="1akklvbhz2pp0sv1hax1jq0s9ajbfv1597z643gh5l9hwizj2h9m"; depends=[Rcpp]; };
-  glm_predict = derive2 { name="glm.predict"; version="3.0-1"; sha256="0miba0xha99rmriqs7ifriq86ykn04j04f3ywk29bpph4iwc5faq"; depends=[MASS nnet]; };
+  glm_predict = derive2 { name="glm.predict"; version="3.1-0"; sha256="16ahl6jvydmx48hzixv8whsr55w527k0a1xbic20crinblx0ncb4"; depends=[MASS nnet]; };
   glm2 = derive2 { name="glm2"; version="1.2.1"; sha256="1byqlvpls23gzy7xlbs1kgfr4bsrmsrpc8rzzacf9czap1nlw39y"; depends=[]; };
   glmBfp = derive2 { name="glmBfp"; version="0.0-51"; sha256="15jm450j1f0nl7vqvpb2mwapdlvn7kq2kxf5s96x21siwsz7sssv"; depends=[coda Rcpp RcppArmadillo rms Runuran statmod survival]; };
   glmaag = derive2 { name="glmaag"; version="0.0.6"; sha256="1yk5bx1gyj97b5qjy30q1gsjlp9amklwf070i0129f8dj7vjyaf0"; depends=[data_table foreach ggplot2 gridExtra huge Matrix maxstat OptimalCutpoints plotROC pROC Rcpp RcppArmadillo shiny survival survminer]; };
   glmbb = derive2 { name="glmbb"; version="0.3"; sha256="12yabwswps0fmprh8nb9jdny9xrm13jvc0d9m3w04ppmsvalrmwl"; depends=[digest]; };
   glmc = derive2 { name="glmc"; version="0.3-1"; sha256="0x6jk2l5rpjkp5x815gpiwv8maa7mhmy6m8gaxbv1cbn3zyccynn"; depends=[emplik]; };
-  glmdisc = derive2 { name="glmdisc"; version="0.1"; sha256="1psmcgd5g6v3nq2npl3rvp2ag6g8nqcjgdkknv0b5qwkrpin8mpy"; depends=[caret gam MASS nnet Rcpp RcppEigen RcppNumerical]; };
+  glmdisc = derive2 { name="glmdisc"; version="0.2"; sha256="0f5bn307xvq1n9zvw6y8324v6i89vh2bam8z6s0q581xyzpbvmlg"; depends=[caret gam MASS nnet Rcpp RcppEigen RcppNumerical]; };
   glmdm = derive2 { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; };
-  glmertree = derive2 { name="glmertree"; version="0.1-2"; sha256="0p498kg873m7g90a05ki2zbki61f3ppnv874p79hlnm24hricasa"; depends=[Formula lme4 partykit]; };
+  glmertree = derive2 { name="glmertree"; version="0.2-0"; sha256="0lfn6dap38i6cnfy4gdap13aq81h9cm3bip7ci57q9br9b00x7ib"; depends=[Formula lme4 partykit]; };
   glmgraph = derive2 { name="glmgraph"; version="1.0.3"; sha256="16sq6i7kbw20nvwikpa02z3pb7wqw3270j6ss7f8sgf548skhmx0"; depends=[Rcpp RcppArmadillo]; };
   glmlep = derive2 { name="glmlep"; version="0.2"; sha256="0rq2vxbr732r725pn8qdvppxcrhjhyvlr550svfgy1inq985c1w4"; depends=[]; };
   glmm = derive2 { name="glmm"; version="1.3.0"; sha256="088m626c2f75ij457mskdyi927y6g01m5rgfsjaxpm7xbywk51sw"; depends=[doParallel foreach itertools Matrix mvtnorm trust]; };
-  glmmEP = derive2 { name="glmmEP"; version="1.0-1"; sha256="0w6q504map1frx7ch2gb7557xmc361lngsw2f80bnrlchj43rdgg"; depends=[lme4 matrixcalc]; };
+  glmmEP = derive2 { name="glmmEP"; version="1.0-3.1"; sha256="0fql85m0mxn58jh3mgrcw56bb4dx7amrz39ngqrljwi5pv5i7aj4"; depends=[lme4 matrixcalc]; };
   glmmLasso = derive2 { name="glmmLasso"; version="1.5.1"; sha256="1az9vdnyqyrfn1q7zrn6x4ywx77b0vg65cni45x37b0ybkwpis39"; depends=[Matrix minqa]; };
   glmmML = derive2 { name="glmmML"; version="1.1.0"; sha256="121iclp86nfm9mybvfwascs937i0z2mbv982hn894q6g7jkqiw1l"; depends=[]; };
   glmmTMB = derive2 { name="glmmTMB"; version="0.2.3"; sha256="035hkywa37bz555fv6znxd4hfcs5w884365wfnwk4jx5vann4vvb"; depends=[lme4 Matrix nlme RcppEigen TMB]; };
-  glmmboot = derive2 { name="glmmboot"; version="0.3.0"; sha256="145sz9gs2rncc9bygzjh24drmg8qgi1b02vxld5apmp3kayw5dby"; depends=[]; };
+  glmmboot = derive2 { name="glmmboot"; version="0.4.0"; sha256="1n25175nxmgirs41nhavrjgfqnl74hn63nxi6rdjbk40ngj0aq78"; depends=[]; };
   glmmfields = derive2 { name="glmmfields"; version="0.1.3"; sha256="1sygppwm58hvwj95nlyz59cjlnkrq82kpws6izbivl7p6wb06lil"; depends=[assertthat BH broom cluster dplyr forcats ggplot2 loo mvtnorm nlme Rcpp RcppEigen reshape2 rstan rstantools StanHeaders]; };
   glmmsr = derive2 { name="glmmsr"; version="0.2.3"; sha256="1fbg5zji0xjr9q1yc6phsp37nsrj7nfs8yiri0j9s84wzgwjili1"; depends=[BH lme4 Matrix numDeriv R6 Rcpp RcppEigen]; };
-  glmnet = derive2 { name="glmnet"; version="2.0-18"; sha256="0sr5akaiaab1sdh9c8gfmc4kp9b4vqhd90d9ig0rqpqhp3bykp78"; depends=[foreach Matrix]; };
-  glmnetUtils = derive2 { name="glmnetUtils"; version="1.1.2"; sha256="0zb8gfrkc06q3vyj2n919hdd5sbnnqigbjmrns01cc4ysjj8a6ha"; depends=[glmnet Matrix]; };
+  glmnet = derive2 { name="glmnet"; version="3.0-1"; sha256="04wa926mnss53p1fhx0mjgxnmwmmqls12sc0sy7w09kbmyqa3fq7"; depends=[foreach Matrix shape]; };
+  glmnetUtils = derive2 { name="glmnetUtils"; version="1.1.3"; sha256="1n89810vs8fx0vack2gzsy04dqnvg6klnms5zljb7ajg4rsq1vrl"; depends=[glmnet Matrix]; };
   glmnetcr = derive2 { name="glmnetcr"; version="1.0.4"; sha256="1fizw48lwhdyzfdmhl1hhcv7pfjf2zm8b96m2hcwm1ckvshf5j76"; depends=[glmnet]; };
   glmpath = derive2 { name="glmpath"; version="0.98"; sha256="1jbiqqd1s93i941dhyyx50zlgwavhyjfw8bx13z4gz05rdvi4gn8"; depends=[survival]; };
   glmpathcr = derive2 { name="glmpathcr"; version="1.0.7"; sha256="18i0ivvxyirgbp5qjc2av1wanang9pbjimwva448ighad7m2dsqr"; depends=[glmpath]; };
+  glmpca = derive2 { name="glmpca"; version="0.1.0"; sha256="19fiivv72nnz4cax5nibcpzm47vma54h3myxcb9bhz3rm04b5srv"; depends=[]; };
   glmtlp = derive2 { name="glmtlp"; version="1.1"; sha256="01kyw0xipyr9z7x9z41wz7rqargzqd8s8ri34ffdvd3ggrdznl0p"; depends=[glmnet]; };
+  glmtree = derive2 { name="glmtree"; version="0.1"; sha256="03baxmabfpyl89a5dqk16fhvcgw58daji3fkqc35yy6hzsiwg04q"; depends=[caret dplyr magrittr partykit]; };
   glmulti = derive2 { name="glmulti"; version="1.0.7.1"; sha256="0ph47c3f1bqljmj2jdaaydqf0vhn5rld9257sn4x6jicy550l6r2"; depends=[rJava]; };
   glmvsd = derive2 { name="glmvsd"; version="1.4"; sha256="03axsn85axs4d6fdlr3wcdwq6qa4991svkqc7k9r52kk1ar0w5zz"; depends=[brglm glmnet MASS ncvreg]; };
   glmx = derive2 { name="glmx"; version="0.1-1"; sha256="06v2qxgr16w0qnfhjr9vdqcad5v475pwg2yhw0i236yzqbnsssh6"; depends=[Formula lmtest MASS sandwich]; };
@@ -8078,12 +8406,13 @@ in with self; {
   glpkAPI = derive2 { name="glpkAPI"; version="1.3.1"; sha256="06p8zvmshymcw994mmf1ar00kfj645z8dp18yy4i5bl6qydbpb8k"; depends=[]; };
   glrt = derive2 { name="glrt"; version="2.0"; sha256="0p2b0digndvnn396ynv56cdg436n3ll7pxkb81rs3dhwbyqyc948"; depends=[survival]; };
   glue = derive2 { name="glue"; version="1.3.1"; sha256="1a1ycg9r3gd91visp49q49rsrdgyf8kr9dxdy3hk99kikn4z5hag"; depends=[]; };
+  gluedown = derive2 { name="gluedown"; version="1.0.0"; sha256="1a2jzi5508bd9zp83jh5w164iqw58xnzk16icd845l061qbnjvcw"; depends=[glue knitr markdown stringr]; };
   gluvarpro = derive2 { name="gluvarpro"; version="1.0"; sha256="0knqn4cz14j5hq2w2s71aj8girf68a7v10w5jy0r04zvl4xlr3y7"; depends=[ggplot2 pracma scales tidyr zoo]; };
   gmDatabase = derive2 { name="gmDatabase"; version="0.5.0"; sha256="0prap4a8pvylmvakd2ii87jz9bqf0vvfsxdi4iwa40nx444hqhx2"; depends=[DBI digest foreach RMySQL shiny]; };
   gma = derive2 { name="gma"; version="1.0"; sha256="08hxbs9z4vq5zjis0lgdcvlysaj1k7i0icdk3wsyqf3wd9znsibi"; depends=[car MASS nlme]; };
-  gmailr = derive2 { name="gmailr"; version="0.7.1"; sha256="1gniwwl0ci0wm7a3ai2lqrr590smmkdgyf3aarw6bdygn8hr3s3y"; depends=[base64enc crayon httr jsonlite magrittr mime]; };
+  gmailr = derive2 { name="gmailr"; version="1.0.0"; sha256="0wgh428qrwn6rxkcv9xmpya4ygrmc5pblxp0fw0ddgwbl99dhhi5"; depends=[base64enc crayon gargle httr jsonlite lifecycle magrittr mime rematch2]; };
   gmapsdistance = derive2 { name="gmapsdistance"; version="3.4"; sha256="1hazf6xb4ja6h2lrl63kbd78wzny9sljiid9rq1r3szn3l1mc7dn"; depends=[RCurl XML]; };
-  gmat = derive2 { name="gmat"; version="0.2.0"; sha256="1zrzxjgyw1izxcisvq1p2zpn2zs280ch4pm0g88g4413hb5kbsmr"; depends=[igraph]; };
+  gmat = derive2 { name="gmat"; version="0.2.1"; sha256="035x8b982qk3ik9qhxa9jhkczmafix6nbpbz0r5smby6q6bhj6jz"; depends=[gRbase igraph]; };
   gmediation = derive2 { name="gmediation"; version="0.1.1"; sha256="0md4h298vqw67qrjcaia6xz8s7akdpcmxa83irm12qgbh56a5rpr"; depends=[MASS plyr VGAM]; };
   gmeta = derive2 { name="gmeta"; version="2.3-0"; sha256="1izfz6gkisa8rskhfka6q73rcgzwdsmkdhy79jwcaqk25jrwfk60"; depends=[BiasedUrn binom]; };
   gmfd = derive2 { name="gmfd"; version="1.0.1"; sha256="03sag09x7pjyzsp6w1z06108ig068krmw75064cnl3pqfvfyjfgr"; depends=[]; };
@@ -8092,28 +8421,29 @@ in with self; {
   gmodels = derive2 { name="gmodels"; version="2.18.1"; sha256="0s8kd8krqk4kwv2zqxpsfy3w8qdwf5naf4b5l383vidq9sil0qb2"; depends=[gdata MASS]; };
   gmp = derive2 { name="gmp"; version="0.5-13.5"; sha256="042mzsl6z6s61fy5m21yf9q83l08vnyqljn4iax7kqyiycpsp0gn"; depends=[]; };
   gmt = derive2 { name="gmt"; version="2.0-1"; sha256="1g1sj9gq3h3s0pdcfvzg7iifkns5azn3pa83if0d3yzc28cjf0yz"; depends=[]; };
-  gmvarkit = derive2 { name="gmvarkit"; version="1.1.0"; sha256="1zzv050j1kxdz84dwrpvnnbxr5qxdgd3lvrdg8dy3a2kzclmywmh"; depends=[Brobdingnag mvnfast pbapply]; };
+  gmvarkit = derive2 { name="gmvarkit"; version="1.1.1"; sha256="193ka13ka3vczc0kaxxwp1j55yczclarsjdc7nqj3hbk6b7124ma"; depends=[Brobdingnag mvnfast pbapply]; };
   gnFit = derive2 { name="gnFit"; version="0.2.0"; sha256="0cji4zjslh18dfj0l827r6br4hx2f0akiaxrg7fhhyyyhgdcjnsm"; depends=[ismev rmutil]; };
   gnlm = derive2 { name="gnlm"; version="1.1.1"; sha256="1krbz791l5qc06sh6my0bkq420b5afncw87lhyx1yiml2yg46zrk"; depends=[rmutil]; };
   gnm = derive2 { name="gnm"; version="1.1-0"; sha256="01d7wxsh4d9w4jh8vn62sjzgpll650yl3klfhlaa8j0qwpxr2fml"; depends=[MASS Matrix nnet qvcalc relimp]; };
   gnmf = derive2 { name="gnmf"; version="0.7.1"; sha256="1vbcsxg61mlsdir8szd0rdxfswr7kr6a07750ar2l9b4rkg3yfqz"; depends=[]; };
+  gnn = derive2 { name="gnn"; version="0.0-1"; sha256="1wjir501l9cfkl9xrga06h3nwrz9lqsl9ypqxjj3iz6yi7jd12w1"; depends=[keras qrng tensorflow]; };
   gnorm = derive2 { name="gnorm"; version="1.0.0"; sha256="17h43qwb07wk5hiif89k6dgn6bbdsqfy2jy3k5blbdhhp3b9jcqp"; depends=[]; };
   gnumeric = derive2 { name="gnumeric"; version="0.7-8"; sha256="0iwl00mzsg8h8q67bjp6485idjlmj24362b1rbmkifckss8hrc98"; depends=[XML]; };
   goeveg = derive2 { name="goeveg"; version="0.4.2"; sha256="0k9pyph065x8wp452x8kz28ikhsbrm80ln4yssmcgqm7085dyyya"; depends=[cluster fields Hmisc mgcv vegan]; };
-  gof = derive2 { name="gof"; version="0.9.1"; sha256="1s12gga9d6yizn2y7lzql4jd80lp5jpyml8ybn7xqswp8am82vpg"; depends=[]; };
   gofCopula = derive2 { name="gofCopula"; version="0.2-4"; sha256="1v54vhjhavz74bmnppp2cda4qsd57s2vh2j2d3ilwzbycva7kmkl"; depends=[copula doParallel foreach MASS numDeriv R_utils SparseGrid VineCopula]; };
   gofMC = derive2 { name="gofMC"; version="1.1.2"; sha256="0hbqx0z2517qgmp6sjg76hv74yrkfbswb9rmfjmsmcyzj2x67w86"; depends=[ggplot2 scales]; };
   gofastr = derive2 { name="gofastr"; version="0.3.0"; sha256="02jn4xbbafl7siwvkqns1818wmw813x9cvqfcnpnmcippiqhrb0b"; depends=[data_table quanteda slam SnowballC tm]; };
+  goffda = derive2 { name="goffda"; version="0.0.5"; sha256="1766fzk32072pq2m12bq0kyh1n6a7ij2j2j76jmqp8l3zkj722ha"; depends=[fda_usc glmnet ks Rcpp RcppArmadillo]; };
   goft = derive2 { name="goft"; version="1.3.4"; sha256="15n1av7r6w8hihxlgw9pd570qgrlcprkkacln15chvjs3b0i60la"; depends=[fitdistrplus]; };
-  goftest = derive2 { name="goftest"; version="1.1-1"; sha256="183imn6dy28ama8bywxgyh32vgakv7bsbz4k5qbhnlhqdvzv2v6v"; depends=[]; };
-  goftte = derive2 { name="goftte"; version="1.0.5"; sha256="0mqibs8kpj8qq3wpnlpfdzxx33q77clwli1q7yaxllwzbq0b99hw"; depends=[survival]; };
+  goftest = derive2 { name="goftest"; version="1.2-2"; sha256="0ivnkqhv5xgiv05dm648nngacymd8x8g0fyppv3bc0mhcqk9k5z4"; depends=[]; };
   gogarch = derive2 { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fastICA fGarch]; };
   goldi = derive2 { name="goldi"; version="1.0.1"; sha256="191ac02bwrxr3khq6qirhxzfhv7pqfhqyg7jb473p5vwygpvc53l"; depends=[dplyr futile_logger magrittr Rcpp RcppArmadillo SnowballC tm]; };
+  golem = derive2 { name="golem"; version="0.1"; sha256="06nn0a3l4zxjz732wsglyqjgz39frzn8dcr2k39h7b37vkwwkk2m"; depends=[attempt cli crayon desc dockerfiler DT glue htmltools pkgload processx remotes rlang roxygen2 rsconnect rstudioapi shiny stringr testthat usethis yesno]; };
   gomms = derive2 { name="gomms"; version="1.0"; sha256="1i9d5y28wrhal990x7xxy99v3z9y2pzlakj7wnynd3dpx5pqr0jj"; depends=[]; };
   goodpractice = derive2 { name="goodpractice"; version="1.0.2"; sha256="08rnm8z0pry5mwpc7p37r6f2rd56dry9djpcvvs9yl170w56psx0"; depends=[clisymbols covr crayon cyclocomp desc jsonlite lintr praise rcmdcheck rstudioapi whoami withr xml2 xmlparsedata]; };
-  googleAnalyticsR = derive2 { name="googleAnalyticsR"; version="0.6.0"; sha256="0amhhp7h7f6a2qmmbxjg5rqhj6jdvmjv9rsvcx83ql3b6vbaxrpz"; depends=[assertthat dplyr googleAuthR httr jsonlite magrittr memoise purrr rlang tidyr]; };
-  googleAuthR = derive2 { name="googleAuthR"; version="0.8.1"; sha256="0mgw9k6hmgd0yyan6d73kczya012caypy71ablhqdzvvykbsa8wi"; depends=[assertthat digest httr jsonlite memoise R6]; };
-  googleCloudStorageR = derive2 { name="googleCloudStorageR"; version="0.5.0"; sha256="1wkmg7jrvzb9a2avdmvw5h4nqnf0745hqvjkfn82inaf6pyzb3b4"; depends=[assertthat curl googleAuthR httr jsonlite openssl yaml zip]; };
+  googleAnalyticsR = derive2 { name="googleAnalyticsR"; version="0.7.1"; sha256="1px57a5kqmnlny11p0niak6096pz1q8jvd9xbyld99hrwicav13r"; depends=[assertthat dplyr googleAuthR httr jsonlite magrittr memoise purrr rlang tibble tidyr]; };
+  googleAuthR = derive2 { name="googleAuthR"; version="1.1.1"; sha256="053s6n28cq35gn18ywipygw3bpwsi1qv6rr4vv2bi9q6sy6rb8q3"; depends=[assertthat digest gargle httr jsonlite memoise rlang]; };
+  googleCloudStorageR = derive2 { name="googleCloudStorageR"; version="0.5.1"; sha256="0sd6ca1ksv22avr5rcvkf5089f9igb8gqa83kidlc4xklaj6g92m"; depends=[assertthat curl googleAuthR httr jsonlite openssl yaml zip]; };
   googleCloudVisionR = derive2 { name="googleCloudVisionR"; version="0.1.0"; sha256="1n7lbqx7qiahmirydli9nvq4w4i26qnyk3s2kxy4aj413619ym67"; depends=[caTools data_table googleAuthR jsonlite purrr]; };
   googleComputeEngineR = derive2 { name="googleComputeEngineR"; version="0.3.0"; sha256="1s0qvnijzkja645lim373swk815n3s1292q6sk3q36ss70q42cfg"; depends=[assertthat future googleAuthR httr jsonlite]; };
   googleLanguageR = derive2 { name="googleLanguageR"; version="0.2.0"; sha256="1l0gnynild95k9fw1d398zd4dkws97p13vvfv6jaklqj0xmh9ib8"; depends=[assertthat base64enc googleAuthR jsonlite magrittr purrr tibble]; };
@@ -8121,36 +8451,39 @@ in with self; {
   googlePrintr = derive2 { name="googlePrintr"; version="0.0.1"; sha256="19rm78x8qd61ilc6h1kn3dw63m6dfsckqkd3n76krvi0akgl72w5"; depends=[googleAuthR httr jsonlite]; };
   googlePublicData = derive2 { name="googlePublicData"; version="0.16.1"; sha256="15hyslpqvncg21q581h061rfyg99y8lavqw1x8hzl7xzd49bn9r5"; depends=[readxl XML]; };
   googleVis = derive2 { name="googleVis"; version="0.6.4"; sha256="1f3yvcg8g78v8f49gc3q4pmpxqwdf10l2ixxx0bqqng5splz1jkx"; depends=[jsonlite]; };
-  googledrive = derive2 { name="googledrive"; version="0.1.3"; sha256="1vv5vk3z93w1pm3jylj94ivdis2vi9wk10gakww11snpi3x2by4h"; depends=[curl glue httr jsonlite purrr rlang tibble uuid]; };
+  googledrive = derive2 { name="googledrive"; version="1.0.0"; sha256="08hz215zhprwnzlcja8jrp29al1j4ind1zq7cch90xj02wlcz8nc"; depends=[curl gargle glue httr jsonlite magrittr purrr rlang tibble uuid]; };
   googleformr = derive2 { name="googleformr"; version="0.0.3"; sha256="0smykcjyqmk61ws5jk462l8x5hg0h9nwq55q5pqfgcq1j3yfniqh"; depends=[httr rvest xml2]; };
   googlenlp = derive2 { name="googlenlp"; version="0.2.0"; sha256="0d0g18i3im2s5f14k69ym3vwf9a7zkaval3nwrip97xcl6kf4x9h"; depends=[dplyr httr jsonlite purrr readr rlang]; };
+  googler = derive2 { name="googler"; version="0.0.1"; sha256="1aayji3ncqxl58k29d93dbx05s9rp9bc63fl2cpl1cys7gilblxx"; depends=[jsonlite tibble]; };
   googlesheets = derive2 { name="googlesheets"; version="0.3.0"; sha256="11q07nxys72wkxx9mawmjyf20gvwvrb7h3gpa73h6lgh2vgrwnv8"; depends=[cellranger dplyr httr jsonlite purrr readr stringr tibble tidyr xml2]; };
+  googlesheets4 = derive2 { name="googlesheets4"; version="0.1.0"; sha256="1n12s92cbn6cnnkm629brdkghvj0r8x7rz191c0lbdfd8mgbw1pw"; depends=[cellranger curl gargle glue googledrive httr magrittr purrr rematch2 rlang tibble]; };
   googleway = derive2 { name="googleway"; version="2.7.1"; sha256="0axpr81p3gdp1nmfn000lk288sdn8z5qmzjvagdxqn5j44hq6sj1"; depends=[curl googlePolylines htmltools htmlwidgets jpeg jqr jsonlite magrittr scales shiny viridisLite]; };
   goric = derive2 { name="goric"; version="1.1-0"; sha256="1smjq9vljszgngs5i6x55jwg0imzc5gsfdqxzcs4541fp3pvk999"; depends=[MASS Matrix mvtnorm nlme quadprog]; };
   govStatJPN = derive2 { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
+  govdown = derive2 { name="govdown"; version="0.7.0"; sha256="0vp43bhb23cnasdizk5h6qzczk0zr1hxn7s8k5m8iskvcpfx0gn0"; depends=[rmarkdown]; };
   gower = derive2 { name="gower"; version="0.2.1"; sha256="007ivwn1nagpi26qq8iih1c2l61c53glvv60n90hi341ry8vwgxg"; depends=[]; };
   gpDDE = derive2 { name="gpDDE"; version="0.8.2"; sha256="100g2f8zlpbwxb46h62pgvidll8aflz1zl4inyh8dml6vhm9pilp"; depends=[CollocInfer deSolve fda forecast lars limSolve MASS nnls penalized trustOptim TSA]; };
   gpairs = derive2 { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode colorspace lattice MASS vcd]; };
   gpclib = derive2 { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; };
-  gpg = derive2 { name="gpg"; version="1.2"; sha256="1p7vylakck556162cjsj5b04x7xsg2fhf844hla4vfkgamcg529r"; depends=[askpass curl]; };
+  gpg = derive2 { name="gpg"; version="1.2.2"; sha256="1qc7w4d6frp0j4yk0q7slkj1mps80bv78lixcpw1shgx48rp41kh"; depends=[askpass curl]; };
   gpk = derive2 { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
   gplm = derive2 { name="gplm"; version="0.7-4"; sha256="0apvj14nl5qbi4dhhdx5nih5lvjwfcipvr8cyk6xsz4r5gfr2iw4"; depends=[AER]; };
   gplots = derive2 { name="gplots"; version="3.0.1.1"; sha256="033plcfs9w8pmn84n24mdhiixdirc2a7pz6dvm61fpd20gwh7cbx"; depends=[caTools gdata gtools KernSmooth]; };
   gpmap = derive2 { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[foreach ggplot2 isotone plyr]; };
   gppm = derive2 { name="gppm"; version="0.2.0"; sha256="1n9is3xj52lsck2fiy9j320p2ca6ib36s251i7g3iz99a77b0ahh"; depends=[ggplot2 ggthemes MASS mvtnorm Rcpp rstan]; };
   gpr = derive2 { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; };
-  gprofiler2 = derive2 { name="gprofiler2"; version="0.1.5"; sha256="07w6bihz6rbd4ldgdyvx1xabvhhnif2wdc3251a7bpdm9381m0xa"; depends=[crosstalk dplyr ggplot2 gridExtra jsonlite plotly plyr RCurl tidyr viridisLite]; };
+  gprofiler2 = derive2 { name="gprofiler2"; version="0.1.7"; sha256="19qfmk2w7bzycw8nw7np2f8j1wd5dr6bpbivxzzmnnp5zc1nmkiv"; depends=[crosstalk dplyr ggplot2 gridExtra jsonlite plotly plyr RCurl tidyr viridisLite]; };
   gptk = derive2 { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[fields Matrix]; };
   gpuR = derive2 { name="gpuR"; version="2.0.3"; sha256="1afbnrnk0hrsd3qa7gh269wxn1maq7dpi6wpjhhbp2gwr6100vqy"; depends=[assertive BH Rcpp RcppEigen RViennaCL]; };
-  gqlr = derive2 { name="gqlr"; version="0.0.1"; sha256="0qvyvy514ma5wi2qm6a8praqa7js9wl0hh0ack1hknw33g2gyqhy"; depends=[graphql jsonlite magrittr pryr R6]; };
+  gqlr = derive2 { name="gqlr"; version="0.0.2"; sha256="0gzhqyrbnz3qjzkr4slryrlfhlaxm474y9fahlj0sb0hvcx68pxj"; depends=[graphql jsonlite magrittr pryr R6]; };
   gquad = derive2 { name="gquad"; version="2.1-1"; sha256="19k7cqp2j5vb6m9hxdm951wfjh6nsswb64pdz9g93ypcqrg02wa4"; depends=[ape seqinr]; };
-  grImport = derive2 { name="grImport"; version="0.9-2"; sha256="0n3y6dzy8s0ifvyrgwbly6cl14lmgd54dyi74s5i984apszpsp16"; depends=[XML]; };
-  grImport2 = derive2 { name="grImport2"; version="0.1-5"; sha256="0dyb3nrrvxnkk9q5b136bdivcz1jj3ajx1kscm3k0kkpqjif0pls"; depends=[base64enc jpeg png XML]; };
+  grImport = derive2 { name="grImport"; version="0.9-3"; sha256="109mrdvq06xq3zgn9ngz0c7zzgqkv5zbpvsb2i636vmlk6y4dpkd"; depends=[XML]; };
+  grImport2 = derive2 { name="grImport2"; version="0.2-0"; sha256="19q0dd8fpp1g4xf6sg5f8dxybwxjfw553ra6wgjd8b74fzca40m1"; depends=[base64enc jpeg png XML]; };
   gradDescent = derive2 { name="gradDescent"; version="3.0"; sha256="1jxgvnjw9qk5bkb0fw4kyks4vb9d1933jn79ry0w6956mq2xbb79"; depends=[]; };
   grade = derive2 { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
-  gradeR = derive2 { name="gradeR"; version="1.0.1"; sha256="15vjzc3y8gs433y47kp5cyrqrn3wphj1xb4q4wryn2bbhgf2m13y"; depends=[testthat]; };
+  gradeR = derive2 { name="gradeR"; version="1.0.5"; sha256="1c7x16z1mn7ys63vdwpy8b2x21k35pbmnpl52h372pfrsvxxhb23"; depends=[testthat]; };
   gradientPickerD3 = derive2 { name="gradientPickerD3"; version="0.1.0.0"; sha256="0b20iqfipr7migwk1fl4lvdf4ghprqivcgmchfshhr8q82hyd1q0"; depends=[htmlwidgets jsonlite shiny]; };
-  grainchanger = derive2 { name="grainchanger"; version="0.2.0"; sha256="00gxzzl47kpghwzz22z5b1m1gcpsfg5pay3hcdwdqr00mz2albg2"; depends=[checkmate furrr raster sf usethis]; };
+  grainscape = derive2 { name="grainscape"; version="0.4.0"; sha256="1i5bc1a0rh2grvd4xls2iz428jxspjrk038hm37cn2n0h88yx1xl"; depends=[ggplot2 igraph raster Rcpp rgdal sp]; };
   gramEvol = derive2 { name="gramEvol"; version="2.1-3"; sha256="0z2511zhs2gcdkwp29n6fpafhn49h69yi56nmrhh9zc8jqj1rwpa"; depends=[]; };
   grangers = derive2 { name="grangers"; version="0.1.0"; sha256="15q8hv7p5g5m7v6lx6nq5394fa6p05xgawnsrn1v5aslmmbbzyvl"; depends=[tseries vars]; };
   granova = derive2 { name="granova"; version="2.1"; sha256="161fznqlnwmw53abmg2n62lhxxda7400ljnadvcdvsm8f6kcjf80"; depends=[car]; };
@@ -8160,27 +8493,30 @@ in with self; {
   graphTweets = derive2 { name="graphTweets"; version="0.5.2"; sha256="1rizfabd3j3n5ddzg6c2a4jy4jnbdpy2zv8k09jqrxjkg1cvl5m0"; depends=[combinat dplyr igraph magrittr purrr rlang rtweet tidyr zeallot]; };
   grapherator = derive2 { name="grapherator"; version="1.0.0"; sha256="071by9b8figbsf4g0f8a8mgcdksjksc57mnlgggilw7py1yjnjlh"; depends=[BBmisc checkmate deldir ggplot2 lhs reshape2 vegan]; };
   graphframes = derive2 { name="graphframes"; version="0.1.2"; sha256="1bv7d0sggwab4rd486ayw9gkb5ja5p5fin5pn92xnrmz8cgwsfxq"; depends=[forge sparklyr tibble]; };
+  graphicalExtremes = derive2 { name="graphicalExtremes"; version="0.1.0"; sha256="1cc4xcb72yci2gq2zn3g1nh3ba802anpymm0hajdbz3kb0wz1gyn"; depends=[igraph matrixcalc mvtnorm Rdpack]; };
   graphicalVAR = derive2 { name="graphicalVAR"; version="0.2.2"; sha256="1jzhqbdylpzc8d28vz2k34i9dpxx5x34bgvx73z8wjglnn6j27b8"; depends=[dplyr glasso glmnet igraph Matrix mvtnorm qgraph Rcpp RcppArmadillo]; };
   graphicsQC = derive2 { name="graphicsQC"; version="1.0-8"; sha256="12vg93xfmkv73i19vkb10q2qngmsxd3y42z3l6izdywbdc3cdfkg"; depends=[XML]; };
   graphkernels = derive2 { name="graphkernels"; version="1.6"; sha256="1gn3ihqz7m0rdvvc2fp7hsgq583wh5cnz7200a2ff89xc04zs3dc"; depends=[igraph Rcpp RcppEigen]; };
-  graphlayouts = derive2 { name="graphlayouts"; version="0.2.0"; sha256="009hy3byr5giysmylkjrkskzhb40zcmpw445a5yqyifjqpfvfm8g"; depends=[gbp igraph oaqc Rcpp scales]; };
-  graphon = derive2 { name="graphon"; version="0.3.2"; sha256="0bh542ffxklydb826srnacmw3cncd8cxnkj76r40mbkaxq7vxxlp"; depends=[Rdpack ROptSpace]; };
+  graphlayouts = derive2 { name="graphlayouts"; version="0.5.0"; sha256="03dizbhhdhnzbj2i5zvqgs617kwcv4h2pha4f16adic0fph1rxl3"; depends=[igraph Rcpp RcppArmadillo]; };
+  graphon = derive2 { name="graphon"; version="0.3.3"; sha256="1jsjbyk1hbmdlgap3gaf1cdrrbgfccr4lgpdi7g3bzp3mjjbijh5"; depends=[Rdpack ROptSpace]; };
   graphql = derive2 { name="graphql"; version="1.5"; sha256="0zi1l93yk5rlgdy4j2nph14w0h8kgvnbzk9fi2jfys8s3fz54ksr"; depends=[jsonlite Rcpp]; };
   graphscan = derive2 { name="graphscan"; version="1.1.1"; sha256="1dgjb0grdymhimdgwnddjcivgy2i9r1i1nni4v9mx0447skcahk9"; depends=[ape rgl snowfall sp]; };
   gratia = derive2 { name="gratia"; version="0.2-8"; sha256="1diijk4s0x29aq7l8bjx5canjykj9xlsr7rajvj0jjxx7i9jaw56"; depends=[cowplot dplyr ggplot2 mgcv mvtnorm tibble tidyr]; };
   graticule = derive2 { name="graticule"; version="0.1.2"; sha256="1yvrijvyjilfql72dxj32b3sczqv065zj61729wrrzn63xcifvmb"; depends=[raster sp]; };
-  grattan = derive2 { name="grattan"; version="1.7.1.2"; sha256="1dmy6shigybp3g7kjqc9f2c28niw9if7igi1xmc8qnf0azlnlrlz"; depends=[assertthat data_table fastmatch forecast hutils ineq magrittr Rcpp rsdmx zoo]; };
+  grattan = derive2 { name="grattan"; version="1.8.0.0"; sha256="1604hrbh897hdgxg2ack4c47xzqlgwgy4nn96lyc2sk3qvw0l7s7"; depends=[assertthat data_table fastmatch forecast fy hutils ineq magrittr Rcpp rsdmx zoo]; };
+  gravitas = derive2 { name="gravitas"; version="0.1.0"; sha256="0w53rz6ips5cl2xigb16ffskjdnlx98f20slkpvdh4s2vwvbvk74"; depends=[dplyr ggplot2 ggridges ineq lubridate lvplot magrittr RColorBrewer rlang shiny stringr tibble tidyr tsibble]; };
   gravity = derive2 { name="gravity"; version="0.9.8"; sha256="1yx71gidv3ivjfip994ciaiwk2cvvm8z16yax4lwpwgl1fxj1p4k"; depends=[censReg dplyr glm2 lmtest magrittr MASS multiwayvcov purrr Rdpack rlang sandwich survival tibble tidyr]; };
   grec = derive2 { name="grec"; version="1.3.0"; sha256="0fksxzjnm843wbcwjf06gcbbw4lfz7zk361bj6qdpnkcfcl22c1w"; depends=[imagine raster]; };
   greenclust = derive2 { name="greenclust"; version="1.0.0"; sha256="1qqlg40bzi088vn4yx33izf12jsviyqj63a24xw2426lg4lif3kv"; depends=[]; };
   gremlin = derive2 { name="gremlin"; version="0.1.0.1"; sha256="1qsjj910lmwdnmbn0fxakw713sk7myavgrmp5xm86my7cm866hmb"; depends=[Matrix]; };
   gren = derive2 { name="gren"; version="0.0.1"; sha256="1wb5wwdjxi7q36md7xzmbw5lrggcgghkz3pmxipjpxw8kfv804xp"; depends=[glmnet Iso pROC Rcpp RcppArmadillo]; };
   greport = derive2 { name="greport"; version="0.7-1"; sha256="1h1g3khb30n3y8l1sxpas2s6s667az4yxvsq42x5dfx8fic42p6n"; depends=[data_table Formula ggplot2 Hmisc lattice latticeExtra rms survival]; };
-  greta = derive2 { name="greta"; version="0.3.0"; sha256="03yjf8cs4z2y1pjl7qvv2icp16f5xykd725mf1vs4zk04asq4xna"; depends=[coda future progress R6 reticulate tensorflow]; };
+  greta = derive2 { name="greta"; version="0.3.1"; sha256="0wy1619drj8ir6r44xcliiirgibksd80gmjx21am2h580k0x0xq2"; depends=[coda future progress R6 reticulate tensorflow]; };
+  gretel = derive2 { name="gretel"; version="0.0.1"; sha256="1yyj4aing56f2vy0gshxwb623g9idg8k4701v3s53lqn4m2ybazk"; depends=[Rcpp ResistorArray]; };
   grex = derive2 { name="grex"; version="1.9"; sha256="0s6nan76rrmh3yhgvzb7pqdrzx2w9px8ay4v9yiib4bamy9wmhpb"; depends=[]; };
-  greybox = derive2 { name="greybox"; version="0.5.3"; sha256="0q57vyl5cz3xyl4ybij85nvnqqnmnfh7r4gw6gr9q1ynjsxam25h"; depends=[forecast lamW nloptr numDeriv Rcpp]; };
+  greybox = derive2 { name="greybox"; version="0.5.6"; sha256="1m52sr7alil9s9aai22wk5x1qdm3lach5i8wpf9z2dy72jh2hw6i"; depends=[forecast lamW nloptr numDeriv Rcpp]; };
   greyzoneSurv = derive2 { name="greyzoneSurv"; version="1.0"; sha256="115i0d4fy4p4g4vd419hj9f23hi8cbiyfilgpgmag91ilr1xpcdp"; depends=[Hmisc survAUC survival]; };
-  grf = derive2 { name="grf"; version="0.10.3"; sha256="10fp79w533b6ffrdy9ch94xq1xqzmlz8dsly5h3rznhcbidk8s46"; depends=[DiceKriging lmtest Matrix Rcpp RcppEigen sandwich]; };
+  grf = derive2 { name="grf"; version="1.0.0"; sha256="0igiiwf8myifivp933q6glpadlbldqpfwi29s58mcd5dhiyyn4yh"; depends=[DiceKriging lmtest Matrix Rcpp RcppEigen sandwich]; };
   gridBase = derive2 { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
   gridBezier = derive2 { name="gridBezier"; version="1.1-1"; sha256="1n5d6svxblcxpzf79px0qjxsydpwjpnfcagnwk35ljinyd0wv68z"; depends=[]; };
   gridDebug = derive2 { name="gridDebug"; version="0.5-0"; sha256="12zrl7p8p7071w5viymdipycja7a2arvy0aahgahd5nlx1k1gha0"; depends=[graph gridGraphviz gridSVG]; };
@@ -8188,19 +8524,19 @@ in with self; {
   gridGeometry = derive2 { name="gridGeometry"; version="0.2-0"; sha256="0y7y1ld03cqpibmjssid6n3n8gf98hi9ngcfbkh6acyzck812bc7"; depends=[polyclip]; };
   gridGraphics = derive2 { name="gridGraphics"; version="0.4-1"; sha256="1kr3p54bkv2q7agxrva30y9bkwkiq1k2cfl5z1kvyjv6f5xi4w5p"; depends=[]; };
   gridGraphviz = derive2 { name="gridGraphviz"; version="0.3"; sha256="1jz0d6kc8ci55ffm6dns8bhak9xnaq7mg5mpv3fk53lircn7mwl5"; depends=[graph Rgraphviz]; };
-  gridSVG = derive2 { name="gridSVG"; version="1.7-0"; sha256="0wdjj6jyk1zflglhimjzhws51ifwz3yb044j5nfsynn6kjdgfn32"; depends=[jsonlite XML]; };
+  gridSVG = derive2 { name="gridSVG"; version="1.7-1"; sha256="03ra820lm0gydrvxmck658aaj3mqqkqrinxc134r5npl8bv4x2hg"; depends=[jsonlite XML]; };
   gridsample = derive2 { name="gridsample"; version="0.2.1"; sha256="062aryy26x07m31r6m0fj1zgnjhivlh1fikx9lv2rdgk0rh4yzz0"; depends=[data_table geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils]; };
   gridsampler = derive2 { name="gridsampler"; version="0.6"; sha256="0wqpqg9c372sv8zqks6v93gawiyfghw58hn7m8q45dxpqm16ss3k"; depends=[BiasedUrn ggplot2 plyr reshape2 shiny shinyBS shinythemes]; };
-  gripp = derive2 { name="gripp"; version="0.2.19"; sha256="096mz1czp2mx4ny5q4frbqnx99ymw39p7lp5qfna7ydnwiiajkd2"; depends=[GA GenSA usethis]; };
+  gripp = derive2 { name="gripp"; version="0.2.20"; sha256="0rshipm8rdynl19a4dsvvvlhkd0n4vjfkidwnv5iilc5ini7c4qr"; depends=[GA GenSA usethis]; };
   grnn = derive2 { name="grnn"; version="0.1.0"; sha256="1dxcmar42g9hz4zlyszlmmnnsnja0gxfggav5jxv0gkp32rkd0wh"; depends=[]; };
   groc = derive2 { name="groc"; version="1.0.6"; sha256="0x7rrf5bw05s257xhzklpc6hslpjnzjx02hlrz4r9zixbfffmawc"; depends=[MASS mgcv pls robust robustbase rrcov]; };
   gromovlab = derive2 { name="gromovlab"; version="0.7-6"; sha256="02s7x23610dbpmrqh7pimspa10v3fnmj48fwmh0a6igd74rmj2mg"; depends=[ape cluster glpkAPI igraph quadprog]; };
   groupICA = derive2 { name="groupICA"; version="0.1.1"; sha256="1wl828ligvvw55xic383gdn7aq4mbwsnkl4ym6f71jn5g3p36d0i"; depends=[MASS]; };
   groupRemMap = derive2 { name="groupRemMap"; version="0.1-0"; sha256="1bfp746j0dx7kk44nyjqmimvgw14par9ayvqxnzldc05qsazjdwx"; depends=[]; };
-  groupdata2 = derive2 { name="groupdata2"; version="1.1.1"; sha256="1hnr5gd9gqh8wf1vign6wa95n4jw2xn0vmwlxdgczy7b77xqbs24"; depends=[dplyr numbers plyr rlang tibble]; };
+  groupdata2 = derive2 { name="groupdata2"; version="1.1.2"; sha256="0v206sq4h50v1scb2i8qwwi3kxiqamxwrnn1gblwk9i3xkmqs48y"; depends=[dplyr numbers plyr rlang tibble]; };
   grouped = derive2 { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; };
-  groupedSurv = derive2 { name="groupedSurv"; version="1.0.3"; sha256="15ah8v1mfyq9xi27kkl0vwwbhf16vd4hy9h809jlw1i7b1zwg4pm"; depends=[BH doParallel doRNG foreach qvalue Rcpp RcppEigen]; };
-  groupedstats = derive2 { name="groupedstats"; version="0.0.7"; sha256="087y0pb3hsk4djhf2pcfkflgia3pngjx1c6i9d79dm5wcrhhk4q4"; depends=[broomExtra crayon dplyr glue lme4 magrittr purrr rlang robust rstudioapi sjstats skimr tibble tidyr]; };
+  groupedSurv = derive2 { name="groupedSurv"; version="1.0.4"; sha256="106z47icn680nyzj9gkq7g8gv73ajgmx0ypiv4l1j01cd3nripj2"; depends=[BH doParallel doRNG foreach qvalue Rcpp RcppEigen]; };
+  groupedstats = derive2 { name="groupedstats"; version="0.1.0"; sha256="1a517qxwbzxwilwqblvp0i8bwap1cgzvnmys4ab10c77npy9jl3z"; depends=[broomExtra dplyr glue lme4 parameters purrr rlang robust rstudioapi sjlabelled sjstats skimr tibble tidyr]; };
   groupsubsetselection = derive2 { name="groupsubsetselection"; version="1.0.3"; sha256="118cj5xc8nbq4fs2gbzg1nhynixaflbl0si77gyy4ybw0drsz4nj"; depends=[]; };
   grove = derive2 { name="grove"; version="1.1"; sha256="0fqsj5dx7py7cin3hvfkxglh8v3x0dwj6cxy4h5vbddjl687db5x"; depends=[Rcpp RcppArmadillo wavethresh]; };
   growfunctions = derive2 { name="growfunctions"; version="0.14"; sha256="1pvyiw20fxm3l4giyq4iizc67yy36i6wq4ch2qyqg4mfd4bki2g4"; depends=[ggplot2 mvtnorm Rcpp RcppArmadillo reshape2 spam]; };
@@ -8223,6 +8559,7 @@ in with self; {
   gsalib = derive2 { name="gsalib"; version="2.1"; sha256="1k3zjdydzb0dfh1ihih08d4cw6rdamgb97cdqna9mf0qdjc3pcp1"; depends=[]; };
   gsarima = derive2 { name="gsarima"; version="0.1-4"; sha256="1ay3iamnvg7mbnl1xaxxcyic559bdnfspy883w2bwgy20yhr34yg"; depends=[MASS]; };
   gsbDesign = derive2 { name="gsbDesign"; version="1.00"; sha256="1kbwlpxbr70aagx9jkap9xlw13r1k3y630b08wmmny421sv4zhxl"; depends=[gsDesign lattice]; };
+  gscaLCA = derive2 { name="gscaLCA"; version="0.0.2"; sha256="0s6rnyd632xq04pnyq1j3571qv7j5bzxir2nhk5jk9i8myf9fc9k"; depends=[devtools doSNOW fastDummies fclust foreach ggplot2 gridExtra MASS progress psych stringr]; };
   gscounts = derive2 { name="gscounts"; version="0.1-3"; sha256="1xcsvnam858l9am30mmqb6m0vcflijhli22ix8g56rcvfsh208q1"; depends=[Rcpp]; };
   gset = derive2 { name="gset"; version="1.1.0"; sha256="1gingqw6la8n7mnl47wpz9sicxca4zi2m8p35n6cnihrniibhajc"; depends=[Hmisc MCMCpack mvtnorm]; };
   gsg = derive2 { name="gsg"; version="2.0"; sha256="17fjl7aw1s814krnszxd4y1d4210bnkrf4kb2fwsycqwcwms5pm7"; depends=[boot mgcv mvtnorm numDeriv]; };
@@ -8233,9 +8570,8 @@ in with self; {
   gsmoothr = derive2 { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
   gsrsb = derive2 { name="gsrsb"; version="1.1.1"; sha256="0yjxzc69ihsx5ni6jb4shsvl9vskqlls3gmpckmzx5nsh1l5s5vb"; depends=[ldbounds mvtnorm xtable]; };
   gss = derive2 { name="gss"; version="2.1-10"; sha256="1qhywsn9244fc7ir705xc8s832ygd7w0j72k3d58bdx9wv57xi16"; depends=[]; };
-  gsscopu = derive2 { name="gsscopu"; version="0.9-3"; sha256="0bvhhs5wn4y1dcff2g87f80jdn3i4mdbvdbydsbx80ng38rfxhhg"; depends=[gss]; };
   gstar = derive2 { name="gstar"; version="0.1.0"; sha256="1582f7jcphb32j3wdc345qa5sgm2xyimlc6r5r5jay7ca5ll8c98"; depends=[dplyr ggplot2 reshape2 xts zoo]; };
-  gstat = derive2 { name="gstat"; version="2.0-2"; sha256="0rhc1i385273vsj9wbv2hjhf991lpszy8hpwnij8jmmji2p3cy92"; depends=[FNN lattice sp spacetime zoo]; };
+  gstat = derive2 { name="gstat"; version="2.0-3"; sha256="1qfcg8zb3hlpcb6x6z2hdn08g0d9z7fkn9yyi1c1l8l9pzk3za90"; depends=[FNN lattice sp spacetime zoo]; };
   gsubfn = derive2 { name="gsubfn"; version="0.7"; sha256="00j6b8b6xsx6v370h220x233rpk6asca78165y3d48jpwvwisdc9"; depends=[proto]; };
   gsw = derive2 { name="gsw"; version="1.0-5"; sha256="0lv4x4is53xybgg205dncizpnqnakqk47b5wgys2kr4ixqc8jipb"; depends=[testthat]; };
   gsynth = derive2 { name="gsynth"; version="1.0.9"; sha256="1m9s3gymm0z6frfzmz7kv8cbdnla2vp4aam5b2zzcxwflzwbplm3"; depends=[abind doParallel foreach GGally ggplot2 MASS mvtnorm Rcpp RcppArmadillo]; };
@@ -8248,8 +8584,8 @@ in with self; {
   gtheory = derive2 { name="gtheory"; version="0.1.2"; sha256="1xc1jl69z5csalqk3hx83s53awcl1fjq6p0x2pczhs7dsvwd6lks"; depends=[lme4]; };
   gtools = derive2 { name="gtools"; version="3.8.1"; sha256="0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505"; depends=[]; };
   gtop = derive2 { name="gtop"; version="0.2.0"; sha256="1nvvbf181x0miw3q0r2g0nklz29ljdsd07cazaajfls7pmhi0xw9"; depends=[hts lassoshooting quadprog]; };
-  gtrendsR = derive2 { name="gtrendsR"; version="1.4.3"; sha256="0zblbap8x477nw9prxhb93f068wq89g9bk3r7qdxi0ns0mv6fr3d"; depends=[anytime curl ggplot2 jsonlite]; };
-  gtsummary = derive2 { name="gtsummary"; version="0.1.0"; sha256="1jv22v4pc7nvj23qx7pl7yvjjiwhvcds4v9hhja3xyigcq8lrfdk"; depends=[broom broom_mixed car dplyr glue knitr magrittr MASS purrr rlang stringr tibble tidyr]; };
+  gtrendsR = derive2 { name="gtrendsR"; version="1.4.4"; sha256="0b05m5jbgbhdjmwp89zaa276z1h2qib2h30msg69lhwbdcsva96q"; depends=[anytime curl ggplot2 jsonlite]; };
+  gtsummary = derive2 { name="gtsummary"; version="1.2.3"; sha256="0mpr94l2hx3zvcgk1scbjl2080500lmhb6zdf83i0j41dqhd2k3k"; depends=[broom broom_mixed crayon dplyr glue knitr lifecycle magrittr purrr rlang stringr survival tibble tidyr tidyselect usethis]; };
   gtx = derive2 { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
   guardianapi = derive2 { name="guardianapi"; version="0.1.1"; sha256="17xmmr6pfzhdnmf45jzvk84gbfnmlw1qfv1gqjaw85vgm8b6jn6l"; depends=[dplyr httr jsonlite rlang tibble]; };
   guess = derive2 { name="guess"; version="0.1"; sha256="198pxi0yipgm9wccpj3y4a0gkibhyxcmb7v5dz7ipzrk44ha5g6j"; depends=[Rsolnp]; };
@@ -8257,7 +8593,7 @@ in with self; {
   gunit = derive2 { name="gunit"; version="1.0.0"; sha256="0vmm47f21n9f334aj38gzrmv1c4sp76njk95ld9gv6fcfxgsipyh"; depends=[magrittr stringr tibble units]; };
   gunsales = derive2 { name="gunsales"; version="0.1.2"; sha256="02vz16lhym72vvf48yai1g371wygdlmi63a6ylc147l0b69jgw31"; depends=[data_table dplyr ggplot2 seasonal x13binary zoo]; };
   gustave = derive2 { name="gustave"; version="0.4.0"; sha256="1swnkb1134mnlnfpdchyhmrhr0r5nw90yczsg52hwbhj8hjl2axp"; depends=[Matrix]; };
-  gutenbergr = derive2 { name="gutenbergr"; version="0.1.4"; sha256="1xf9h0ikfzgq6bzzxa7wih29cgbfk6lgdv041fprxbd9rz38agi9"; depends=[dplyr lazyeval purrr readr stringr urltools]; };
+  gutenbergr = derive2 { name="gutenbergr"; version="0.1.5"; sha256="1c6n2vj38srqmlcl0d2yp749rhn9n5mmz31x98fij4x55km53sci"; depends=[dplyr lazyeval purrr readr stringr urltools]; };
   gvc = derive2 { name="gvc"; version="0.5.2"; sha256="0cfvli6ap5kw3agv94d7g7rhmlxd66yyngc7c9pl4fsxf7sm6nx4"; depends=[decompr diagonals]; };
   gvcR = derive2 { name="gvcR"; version="0.1.0"; sha256="0r54924b9a65k11p8y3p7jxbvmpb7s7vs87v65hhl98gxacj5hk8"; depends=[dplyr eda4treeR lme4 magrittr]; };
   gvcm_cat = derive2 { name="gvcm.cat"; version="1.9"; sha256="1kwfcmnl1ivv1lh3zxccwls2xfyx3l8v71ngc0bg6441i81d4xp5"; depends=[MASS Matrix mgcv]; };
@@ -8268,25 +8604,27 @@ in with self; {
   gwfa = derive2 { name="gwfa"; version="0.0.4"; sha256="0jz82d9lfyd07z0jjlfqzsg7a3vnyz0s1j0rrb5sg9pnvcfjk9qy"; depends=[Rcpp sp]; };
   gwrpvr = derive2 { name="gwrpvr"; version="1.0"; sha256="0x15nv2pfv99c04lgs6q6hgczarld34xc4aqw9bn179m7j02v6m3"; depends=[]; };
   gwrr = derive2 { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
+  gwsem = derive2 { name="gwsem"; version="0.1.5"; sha256="0pzizjhxfxq73xq0kh5sj8v637iz4wqfv5cm9jxd2laid7fqgnb1"; depends=[BH data_table OpenMx]; };
   gym = derive2 { name="gym"; version="0.1.0"; sha256="0vcwzgawqwjsf65hr1mbjkz3px8zsibfkn42jpsg39n13jpfjq8v"; depends=[httr jsonlite]; };
   gyriq = derive2 { name="gyriq"; version="1.0.2"; sha256="12vbnhianzi4l43czaxrbnbkz1h8lvmwjys0y3c2ml3g6dmwwfji"; depends=[CompQuadForm irlba mvtnorm survival]; };
   h2o = derive2 { name="h2o"; version="3.26.0.2"; sha256="1ldjk1gm6jb5zvk2rmlfah4zm827dpmj4c5q83ysd4arwqqz5gna"; depends=[jsonlite RCurl]; };
   h2o4gpu = derive2 { name="h2o4gpu"; version="0.2.0"; sha256="06d2rrr27xvnsai6zjiaiw0jjfzdza1cc39c03d6pjkvnh0mqh2c"; depends=[magrittr reticulate]; };
   h5 = derive2 { name="h5"; version="0.9.9"; sha256="14p7i1sj24ky87kd7qr3n9fc9l64s0bp0rwbyl6i2x69xn75gpsx"; depends=[Rcpp]; };
-  hBayesDM = derive2 { name="hBayesDM"; version="0.7.2"; sha256="0k1gcnjmblk8ign6fzv7cl9qv964mi6jaams5z22x82jnw1sx47c"; depends=[BH data_table ggplot2 loo Rcpp RcppEigen rstan StanHeaders]; };
+  hBayesDM = derive2 { name="hBayesDM"; version="1.0.2"; sha256="04p4d0hy2l6bmxyh2k5q0g19b7fbpsl9frmcvrf5rxkaasxyxwn6"; depends=[BH data_table ggplot2 loo Rcpp RcppEigen rstan StanHeaders]; };
   hIRT = derive2 { name="hIRT"; version="0.2.0"; sha256="1vgmr36dbcn2ah9pzhc46zh1va7y7w3zr4mpmyf626m1bq0alb39"; depends=[pryr rms]; };
   hNMF = derive2 { name="hNMF"; version="0.9"; sha256="0qavavgiqah4dv0gz8v5ssz637sd341n9s0pyc232n2jhqpzl0cz"; depends=[MASS NMF nnls oro_nifti R_matlab rasterImage spatialfil]; };
-  hR = derive2 { name="hR"; version="0.2.0"; sha256="1rh411g6as52l9y54y922fdmrisx7j98835n80y1czymk7ba2whh"; depends=[data_table data_tree knitr rhandsontable shiny]; };
+  hR = derive2 { name="hR"; version="0.2.1"; sha256="1y0rzcrxb21fhxnpvhijxg0syhj8n20882cy79g5x4rv4xrngw1z"; depends=[data_table data_tree knitr rhandsontable shiny]; };
   hSDM = derive2 { name="hSDM"; version="1.4.1"; sha256="1jwqjzr0zpckzh2jpqh17v6ypq4mzn5khlv6p37y59zz8bh9mvxp"; depends=[coda]; };
   haarfisz = derive2 { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
   hablar = derive2 { name="hablar"; version="0.2.0"; sha256="0242gqcjh04kgv1zf9idm4v2vrxm1vm8nvwhcl3mf08w9a8la2aw"; depends=[dplyr]; };
-  hagis = derive2 { name="hagis"; version="2.0.0"; sha256="17dvyqn5qsy84wdwx4yzmgls6aah6x8026w7fk2yxypn17yqch8i"; depends=[data_table ggplot2 pander vegan]; };
+  hagis = derive2 { name="hagis"; version="3.0.1"; sha256="1bljpva3j7x87hdmy8s9sh37r5vd8wkjzjqbk57akl654x6b0gfv"; depends=[data_table ggplot2 pander]; };
   hail = derive2 { name="hail"; version="0.1.1"; sha256="1nrc9msqyy5iq2i6p8875anbqswxl2z6vdd4hvihnl22qh5fnbvh"; depends=[]; };
   halfcircle = derive2 { name="halfcircle"; version="0.1.0"; sha256="1gbqbv3cn8w09i3f2ji3qq0snb4fy9243y12agw686fx46dfmhxs"; depends=[scales]; };
   hamlet = derive2 { name="hamlet"; version="0.9.6"; sha256="076fh28grlrv38qywshi79m84jsz1ck9k4n0rg4svvr3gqkdbcn2"; depends=[]; };
-  handlr = derive2 { name="handlr"; version="0.1.0"; sha256="10mcal9chrhbk4bw23lkl20smmbjqrib07pfl5wf2fh93a3grfga"; depends=[crul jsonlite mime RefManageR urltools xml2]; };
+  handlr = derive2 { name="handlr"; version="0.2.0"; sha256="1p14q9swvy8yvd52wcms777vfcb9vandi0pd4cmqmyz1hpsi31d8"; depends=[crul jsonlite mime RefManageR urltools xml2]; };
   handyplots = derive2 { name="handyplots"; version="1.1.3"; sha256="0pcl0iichdw2lkv8y00mv6n6c0rvrnsk75ka5lwm2g7b64pphsvk"; depends=[]; };
-  hansard = derive2 { name="hansard"; version="0.7.0"; sha256="0xbidxixbygwl7kpvcjv95cv9nwp6sghna47f393x9vhmwmrk54q"; depends=[dplyr jsonlite lubridate snakecase tibble tidyr]; };
+  hans = derive2 { name="hans"; version="0.1"; sha256="0hh2nlzxs2kj93yb7yfm873m6nymjw5qmkin3qqn3acza6dr0k6q"; depends=[Rcpp]; };
+  hansard = derive2 { name="hansard"; version="0.8.0"; sha256="00mcy58nhlphb0v0wchbaw1qamm0435s09nxxw6rr5z872rhyf5a"; depends=[dplyr jsonlite lubridate snakecase tibble tidyr]; };
   hapassoc = derive2 { name="hapassoc"; version="1.2-8"; sha256="0qs5jl0snzfchgpp6pabncwywxcmi743g91jvjiyyzw0lw85yv4s"; depends=[]; };
   haplo_stats = derive2 { name="haplo.stats"; version="1.7.9"; sha256="19kxascqq5qz0zdxx0w837ji207y1z2ggxkl4vmlbay03k2dw2mx"; depends=[rms]; };
   haploR = derive2 { name="haploR"; version="3.0.1"; sha256="162wqjpmgapy54n8msrw5apgzj586ps0kkc5wmbqay3l94xgnvzk"; depends=[DT httr plyr RCurl RUnit tibble XML]; };
@@ -8296,7 +8634,7 @@ in with self; {
   happybiRthday = derive2 { name="happybiRthday"; version="0.0.1"; sha256="0rrvi5kx09p74xwxvqcwibbh4qjlk4jxb89grx74chjxk9ak2yv8"; depends=[data_table dplyr gh lubridate tidyr]; };
   happytime = derive2 { name="happytime"; version="0.1.0"; sha256="03iblwb6w2dh9sibfi4nlswidck13hzsn7123838zp4sxfnrp041"; depends=[]; };
   hapsim = derive2 { name="hapsim"; version="0.31"; sha256="0jw6iw89d4y8wjy58biv40szp123ql7frz1mmdjdxljmwaby963h"; depends=[MASS]; };
-  harmonicmeanp = derive2 { name="harmonicmeanp"; version="2.0"; sha256="08f3p2ig3lm1n70qr05chldp04ycv420fa8hvd4nmadas12gfb5m"; depends=[FMStable]; };
+  harmonicmeanp = derive2 { name="harmonicmeanp"; version="3.0"; sha256="17irfw8788yhh36698p9w8wab6wcin1yzfinlbs3gdg70d42zcnd"; depends=[FMStable]; };
   harrietr = derive2 { name="harrietr"; version="0.2.3"; sha256="0n6vsqysj4ijh06z6nqmj8x1z4w9711dxhbfp8p8fwi0l75pj0cj"; depends=[ape dplyr ggtree lazyeval magrittr rlang tidyr]; };
   harrypotter = derive2 { name="harrypotter"; version="2.1.0"; sha256="151kpg47b1hyv6rc3cksykqw8pz0xqm0q9xf9sxa2w14ibymvc8k"; depends=[ggplot2 gridExtra]; };
   hash = derive2 { name="hash"; version="2.2.6.1"; sha256="0b3fl0rvgwb992knl81vm99lsldg5clvaqjh6mamm6zqmb6dz056"; depends=[]; };
@@ -8305,10 +8643,11 @@ in with self; {
   hashmap = derive2 { name="hashmap"; version="0.2.2"; sha256="1qypmyi033rjxjk055rv94qfqa99gm5hj5gfd9fiiq1xln3z700j"; depends=[BH Rcpp]; };
   hashr = derive2 { name="hashr"; version="0.1.0"; sha256="1ri2zz2l1rrc1qmpqamzw21d9y06c7yb3wr60izw81l8z4mmyc3a"; depends=[]; };
   hasseDiagram = derive2 { name="hasseDiagram"; version="0.1.3"; sha256="1r9z6jc9lbdj2xc81gpnbswrl8rhs8zrlsnypfrny40g3j402iap"; depends=[graph Rgraphviz]; };
-  haven = derive2 { name="haven"; version="2.1.1"; sha256="12h64r2v2451igyl7v4w2kg0hzw9rnanph0m7smffq29ybkv9g4h"; depends=[forcats hms Rcpp readr tibble]; };
+  haven = derive2 { name="haven"; version="2.2.0"; sha256="0g9d6mxqmrw2zdms78jpx2sx73pczlyy771v1h5hmxqz9sqyk7hr"; depends=[forcats hms Rcpp readr rlang tibble tidyselect]; };
   hawkes = derive2 { name="hawkes"; version="0.0-4"; sha256="1ghwq3icxwmrai3xn9r8cnvlh3z3j18lznhw1bm31h9mkkp2dk0a"; depends=[Rcpp RcppArmadillo]; };
   hazer = derive2 { name="hazer"; version="1.1.1"; sha256="1d1qj6mamgxlvxq2hjik69zfzackjz5819iss98jf5gdbdngw41x"; depends=[]; };
   hazus = derive2 { name="hazus"; version="0.1"; sha256="1c0ahjdy9di1683nk5k4rmr6rhb66523ny039nyv842rgqdy625j"; depends=[reshape2]; };
+  hbbr = derive2 { name="hbbr"; version="1.1.2"; sha256="09sph4vliyb63pd0abq02ix5wz373r70kgldw44fm279zq4z772h"; depends=[R2jags]; };
   hbim = derive2 { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
   hbm = derive2 { name="hbm"; version="1.0"; sha256="0qz28azm91a6pbss1mfc47a21d3q9rs3mmw0kgwc7i2a2m43mysm"; depends=[doParallel foreach Matrix]; };
   hbmem = derive2 { name="hbmem"; version="0.3-3"; sha256="1rajd5h9gp0rrpc0q0m0fx37mv2n70da3gnfvvnjc5a77mzfyqkp"; depends=[]; };
@@ -8316,32 +8655,36 @@ in with self; {
   hcandersenr = derive2 { name="hcandersenr"; version="0.2.0"; sha256="0r8z8kb9hwvgcsxbd7arbmqclhwlbcjpnf3p9mp5vgyxm84iz515"; depends=[]; };
   hcc = derive2 { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; };
   hcci = derive2 { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; };
+  hchinamap = derive2 { name="hchinamap"; version="0.1.0"; sha256="1pia593g50zf3286f9g51slkvrpj1iy7lws9d7a3nqgb2v3yji1y"; depends=[htmlwidgets]; };
   hcp = derive2 { name="hcp"; version="0.1"; sha256="0hhcy70g13kclxv733kgiys7qn5bi28abpkli5n2vj0a58ac333m"; depends=[]; };
   hctrial = derive2 { name="hctrial"; version="0.1.0"; sha256="19li8i8hx0r3b63q80cnj6pr72rdbmykxq0kcfbn4azq3sdd046y"; depends=[clinfun GenBinomApps]; };
   hda = derive2 { name="hda"; version="0.2-14"; sha256="0azfxyws7yslcqplfddmdp5ngk91j5h7llvrg77yh5z0kkd09j1b"; depends=[e1071]; };
   hdbinseg = derive2 { name="hdbinseg"; version="1.0.1"; sha256="0fy9cqrygsnxkb3nxg56md19svrvkbijpxkqfk9p18cj5ibwrq94"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
+  hdbm = derive2 { name="hdbm"; version="0.9.0"; sha256="0lvaica195chl6bb10wvvr7fbmh8b954fpxcm9r0gyp0d0i2a2w4"; depends=[Rcpp RcppArmadillo]; };
+  hdd = derive2 { name="hdd"; version="0.1.0"; sha256="0hnqjfp78s8fiabibf0dl57sj170ri1ysf7pyrk45z4qsnizbyn2"; depends=[data_table fst readr]; };
   hddplot = derive2 { name="hddplot"; version="0.59"; sha256="18llkpawm12cjxlcrlra60m16virfpjqiaqkvy9mb3wq1zif61rh"; depends=[MASS multtest]; };
   hddtools = derive2 { name="hddtools"; version="0.8.2"; sha256="02gbqlzwxc77gllgz9sf2s73y4ngyb4warabdfyj2sm2g7jl6y12"; depends=[gdata Hmisc raster RCurl rgdal rnrfa sp stringr tibble XML zoo]; };
-  hdf5r = derive2 { name="hdf5r"; version="1.2.0"; sha256="10gynjwaaxks8y9c2fl8k040j0nbwn372nil70009yfk9wrkx0aq"; depends=[bit64 R6]; };
-  hdfqlr = derive2 { name="hdfqlr"; version="0.6-0"; sha256="0hvg23fcx5basy8fnqbnrrkqaddmj0lkqldqgxkj5gdnwshrhkl3"; depends=[]; };
+  hdf5r = derive2 { name="hdf5r"; version="1.3.0"; sha256="1pq12vkfqxvcaznwaxvjdg3acimk5a20m8h18sixvxc34vnqxw8f"; depends=[bit64 R6]; };
+  hdfqlr = derive2 { name="hdfqlr"; version="0.6-1"; sha256="1z8sylaaki8ab9k7m4hp3530rnkxjh39zvw4n962fw5fb9a11dx3"; depends=[]; };
   hdi = derive2 { name="hdi"; version="0.1-7"; sha256="1q58bvlqh59hv3vb3dw92r0w1nwyifnqm5ccss54fzmf2gjsj1cj"; depends=[glmnet linprog MASS scalreg]; };
   hdlm = derive2 { name="hdlm"; version="1.3.1"; sha256="1zl6bksw0apkmn5shf8qjpxjyx6vb40dc4m4db76hhn5nhcp10ic"; depends=[foreach glmnet iterators MASS Matrix]; };
   hdm = derive2 { name="hdm"; version="0.3.1"; sha256="1kibfc1fc94y1vk06nn0yfvpdzcm30a1jn89lqqfma70x5jpa25s"; depends=[checkmate Formula ggplot2 glmnet MASS]; };
-  hdme = derive2 { name="hdme"; version="0.3.1"; sha256="12q1drgss9avm5z7nwsl1rdqgy63hi942d4wcwv27i50ah8yhwdr"; depends=[ggplot2 glmnet Rcpp RcppArmadillo Rdpack Rglpk]; };
+  hdme = derive2 { name="hdme"; version="0.3.2"; sha256="01qpb194nxpfxhlwyd2p8cga9zypp000sjhpbzands660g224j84"; depends=[ggplot2 glmnet Rcpp RcppArmadillo Rdpack Rglpk]; };
   hdnom = derive2 { name="hdnom"; version="6.0.0"; sha256="0wszxxfz5xkyqd3xgc9g3d5iwwsfkq9517bgp416h6l31ynxxrwn"; depends=[foreach ggplot2 glmnet gridExtra ncvreg penalized survAUC survival]; };
-  hdpca = derive2 { name="hdpca"; version="1.0.0"; sha256="1sv7caw4nhpcvsb7fxpvf2b5zskvfsv004hrqc51b5jx4fsc7y92"; depends=[boot lpSolve]; };
+  hdpca = derive2 { name="hdpca"; version="1.1.3"; sha256="09h96wm6r6w1imkm4k9bg5l0vcq2yvbp6iqx786x99ds8jzppsb9"; depends=[boot lpSolve]; };
   hdrcde = derive2 { name="hdrcde"; version="3.3"; sha256="0c2qbw4c3mq1cb068kjs72rxlbibz8svwcrx853jyr8ybs23z7ab"; depends=[ash ggplot2 KernSmooth ks locfit RColorBrewer]; };
   hds = derive2 { name="hds"; version="0.8.1"; sha256="1smg5ixrl7f2x3wn7s5i26dyadn5sigpf4jsk236z1bhnz617ax4"; depends=[survival tensor]; };
   healthcareai = derive2 { name="healthcareai"; version="2.3.0"; sha256="0lyx9fldw28gx2lr2cpi7lyrwf5qz549v2vqxjx83ih5kxm6mlnp"; depends=[caret cowplot data_table dbplyr dplyr e1071 forcats generics ggplot2 glmnet lubridate MLmetrics purrr ranger recipes rlang ROCR stringr tibble tidyr xgboost]; };
+  healthforum = derive2 { name="healthforum"; version="0.1.0"; sha256="13ih00amv9hrpngm6pxc8vzqzhx8c0yqgaprxdcp5li90lg5r3av"; depends=[magrittr purrr rvest stringr tokenizers xml2]; };
   heatex = derive2 { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; };
   heatmap_plus = derive2 { name="heatmap.plus"; version="1.3"; sha256="0rzffm15a51b7l55k0krk6w7v8czy3vpwz1qmbybr7av0pln7wn3"; depends=[]; };
   heatmap3 = derive2 { name="heatmap3"; version="1.1.6"; sha256="13aa9rd16k67b1fr6471bdz2a1i04k7279ck1i4rjdly9rbksnjx"; depends=[fastcluster]; };
   heatmapFit = derive2 { name="heatmapFit"; version="2.0.4"; sha256="1rswp1wp58f21fpyjybcvvmnn53kr54ij83hp05qbvl7yn1fsnrb"; depends=[]; };
   heatmaply = derive2 { name="heatmaply"; version="0.16.0"; sha256="1qhxk48qh61qjxdlhl0qffdh3yh8iiwccid5ssngdv433q0cmyc1"; depends=[assertthat colorspace dendextend ggplot2 htmlwidgets magrittr plotly RColorBrewer reshape2 scales seriation viridis webshot]; };
-  heatwaveR = derive2 { name="heatwaveR"; version="0.4.0"; sha256="184rm4jiw3s0xi0jsadbs7pzbwdcvgkqwcs2c7fl9aaayf4m7v1h"; depends=[data_table dplyr ggplot2 lubridate plotly Rcpp RcppArmadillo RcppRoll tibble zoo]; };
-  heavy = derive2 { name="heavy"; version="0.38.19"; sha256="15bg2qqkslkqfnsq3ixbgmq72xagh8laji0265l06xgf2l6045kx"; depends=[]; };
+  heatwaveR = derive2 { name="heatwaveR"; version="0.4.2"; sha256="1fp38vlb4646jg397gsxmf5ws15grmmg6hdzijwll5zsg6a9xhg4"; depends=[data_table dplyr ggplot2 lubridate plotly Rcpp RcppArmadillo RcppRoll tibble zoo]; };
+  heavy = derive2 { name="heavy"; version="0.38.196"; sha256="05k788ynw9fhhmjydzp8dbk1vhl44j2rz2shqwn02i40jmwdvwrk"; depends=[]; };
   hedgehog = derive2 { name="hedgehog"; version="0.1"; sha256="1mvjnm2zlc4pvw9vnhxr0dj1g1sfqvlrnnhcipzfbvr147yan9l5"; depends=[rlang testthat]; };
-  heemod = derive2 { name="heemod"; version="0.10.0"; sha256="0vkmjsi8dya6zyhh6bxisvwaydk6w2q9k31gkbkvwjcjrv09dnnv"; depends=[dplyr ggplot2 lazyeval memoise mvnfast plyr pryr tibble]; };
+  heemod = derive2 { name="heemod"; version="0.11.0"; sha256="0zzjq4cmyr25p4x91jw542jiqmds6qikbp8gyix34dcmk765drnk"; depends=[dplyr ggplot2 lazyeval memoise mvnfast plyr pryr rlang tibble]; };
   heims = derive2 { name="heims"; version="0.4.0"; sha256="0vnq31jwn09grni4gdhf1hzd87b62as4f65b2qw7ky6mi38ahr5d"; depends=[bit64 data_table fastmatch hutils lubridate magrittr]; };
   helixvis = derive2 { name="helixvis"; version="1.0.1"; sha256="113rnpnrcnw18ks78fgq79zdrw3kmpzpimlc45gvj0za2fbyci3p"; depends=[ggforce ggplot2 rlang]; };
   hellno = derive2 { name="hellno"; version="0.0.1"; sha256="1j787rw9hh75bvkckmlz5xkgwc22gd7si3mgjd7v60dd6lykfa88"; depends=[]; };
@@ -8350,20 +8693,21 @@ in with self; {
   helsinki = derive2 { name="helsinki"; version="0.9.29"; sha256="0bn5iyxjn9qs6f0dmhv51ssayywbx1rayh80zbzk0gsm94nhs0d9"; depends=[maptools RCurl rjson sp]; };
   heplots = derive2 { name="heplots"; version="1.3-5"; sha256="1vyhfkp66gi17jni3gsbv9kn1s0n00qigr13q8xbzbgylz5jjiln"; depends=[car MASS]; };
   here = derive2 { name="here"; version="0.1"; sha256="1vb5dxqdpimy51q1gjsypyq14p2hhvj7wsvh6g35pj1g03cyg9av"; depends=[rprojroot]; };
-  hergm = derive2 { name="hergm"; version="4.1-3"; sha256="15cqn45c81a98n1s166hryd5kjm0qaq2f9xjyr10j1kr8lagzbcb"; depends=[ergm igraph intergraph latentnet Matrix mcgibbsit mlergm network Rcpp sna stringr]; };
+  hereR = derive2 { name="hereR"; version="0.2.0"; sha256="0ki819gds0mndq56bxdyv91qkbm9i7iqsb63ipmy4w9sd1smx1ml"; depends=[curl data_table jsonlite lwgeom sf stringr]; };
+  hergm = derive2 { name="hergm"; version="4.1-5"; sha256="0i75jcr63gbivwz680d5wrbz01nwlklfg5h8zqvk2r16vbpwl8ag"; depends=[ergm igraph intergraph latentnet Matrix mcgibbsit mlergm network Rcpp sna stringr]; };
   heritability = derive2 { name="heritability"; version="1.2"; sha256="18snrfsjj5jw5qicj92d5qch9v4ciqw1hbiwg6q8kfjka9nmqpma"; depends=[MASS]; };
   hermite = derive2 { name="hermite"; version="1.1.2"; sha256="0j9s7ayvbvmgwybrvf703b72qbn8gskb105pis19ig2sslllzda3"; depends=[maxLik]; };
   hero = derive2 { name="hero"; version="0.0.3"; sha256="166jqxlp2x459ixm83kw55ssd86041qiwfymsk035r5aaf7nvjq1"; depends=[]; };
-  hesim = derive2 { name="hesim"; version="0.2.1"; sha256="1b8hsdyk88kpf6d1dkxg8zmp7qkfdbm2w6rkspkjam0034d2ni6q"; depends=[data_table flexsurv MASS R6 Rcpp RcppArmadillo survival]; };
+  hesim = derive2 { name="hesim"; version="0.2.2"; sha256="1wchccw9761iz0sk5sd8ahdzpphrd4k9rmgg8f9cgp43aza68ic2"; depends=[data_table flexsurv MASS R6 Rcpp RcppArmadillo survival]; };
   het_test = derive2 { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; };
-  hetGP = derive2 { name="hetGP"; version="1.1.1"; sha256="1f0lb91hb6lp9cfil1qpbqf032xv697jazcqyc1y694hdbx0jwqj"; depends=[DiceDesign MASS Rcpp]; };
+  hetGP = derive2 { name="hetGP"; version="1.1.2"; sha256="0r7hzw6ccyrqpq51adljd2ljv9dl00c0dr8frjrhibpzpc68z3sz"; depends=[DiceDesign MASS Rcpp]; };
   hett = derive2 { name="hett"; version="0.3-2"; sha256="1kmspw0738pdall5scmllsa79dynliai2glk1h5rzm4030r5rd6j"; depends=[lattice MASS]; };
   hettx = derive2 { name="hettx"; version="0.1.1"; sha256="0zfxg88l83pzj37c5khpv4vi0v28fdnp0p8yz39scm8d8lya1dkm"; depends=[doParallel dplyr foreach formula_tools MASS moments mvtnorm plyr purrr quantreg tidyverse]; };
-  heuristica = derive2 { name="heuristica"; version="1.0.1"; sha256="1myivlqw6a8wh97ma9lrpgvaqb0vn4kj8yp9r4z5vc4pxgmm48g6"; depends=[Hmisc]; };
+  heuristica = derive2 { name="heuristica"; version="1.0.2"; sha256="1wqdwggnma6p667ivr0xja4vvn3jgzbkc5whkkijmdmxpjzg1wz6"; depends=[Hmisc]; };
   heuristicsmineR = derive2 { name="heuristicsmineR"; version="0.2.1"; sha256="0zpkkz20jlppdvsxcxs0w2n79af21ry1vvmbqlm1scgkr86674yd"; depends=[BH bupaR data_table DiagrammeR dplyr ggplot2 ggthemes magrittr petrinetR processmapR purrr Rcpp rlang scales tidyr]; };
   hexSticker = derive2 { name="hexSticker"; version="0.4.6"; sha256="02zdnxnhci0d9dclb6z3zc8sm1c4bj8zzbapwy34h8bs3sz1c8xn"; depends=[ggimage ggplot2 hexbin showtext sysfonts]; };
   hexView = derive2 { name="hexView"; version="0.3-4"; sha256="01hiqyibsd4as7jcklzg09pl12la341mg561vn16z4jzdarfvkfc"; depends=[]; };
-  hexbin = derive2 { name="hexbin"; version="1.27.3"; sha256="14f181lw6sj5xhfxbrpyyinsjfl0nzqilq6z80lgrhj2cnkj593y"; depends=[lattice]; };
+  hexbin = derive2 { name="hexbin"; version="1.28.0"; sha256="0b58jb1kz39wzrnkv077cfzns889xly7psvhxnm3xmnx6yvd986d"; depends=[lattice]; };
   hextri = derive2 { name="hextri"; version="0.6"; sha256="05rvigi225npncbr1brc6apc7gsg9a5jzcbmhvflwp3hbcg3hn02"; depends=[FNN hexbin]; };
   hflights = derive2 { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
   hgam = derive2 { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; };
@@ -8371,7 +8715,7 @@ in with self; {
   hglm = derive2 { name="hglm"; version="2.2-1"; sha256="1lyxkvqzfll1qrz5c2km9ikhq0dm63x39by4vc1nmkd24yza93nc"; depends=[hglm_data MASS Matrix]; };
   hglm_data = derive2 { name="hglm.data"; version="1.0-1"; sha256="0mw1s0kahsh9jmwkxysfy5f7vbld7mpzmdnnww6im5h21jhnczx2"; depends=[MASS Matrix sp]; };
   hgm = derive2 { name="hgm"; version="1.17"; sha256="11hv4pfv3gqiargvwvrxqzfji75j291w1nilawf8yjc3isnc4wjp"; depends=[deSolve]; };
-  hgutils = derive2 { name="hgutils"; version="0.2.5"; sha256="1wj2h1k1sfji5aph8r4pg94zlgq4rvxwilqhnp5q0pfvw8j656zh"; depends=[crayon limSolve magrittr stringr]; };
+  hgutils = derive2 { name="hgutils"; version="0.2.7"; sha256="1svxhz80h84wn1fj58p8g3rp553ima1wfdbbkm2cqnihwjxhha62"; depends=[crayon dplyr limSolve magrittr stringr]; };
   hhh4contacts = derive2 { name="hhh4contacts"; version="0.13.0"; sha256="17f31xhh6kk7sx5d5dvpwpvl72wd45zgb4fcpdayx3yrm719csz9"; depends=[surveillance]; };
   hhi = derive2 { name="hhi"; version="1.2.0"; sha256="1yl52c3nqdi8v60sr01l0vv8359803dm2i4c9ifazgj3h3a4h0yp"; depends=[ggplot2]; };
   hht = derive2 { name="hht"; version="2.1.3"; sha256="022a8zz2m34q89h29jglfj21knlqd8dwi85qmsi78ly1vacnzap8"; depends=[EMD fields spatstat]; };
@@ -8389,14 +8733,16 @@ in with self; {
   highSCREEN = derive2 { name="highSCREEN"; version="0.3"; sha256="179l82n7l7dfn40k6zgigw56ggwqyi34gllc2wvcw3yvfnd3l7s4"; depends=[gplots]; };
   highTtest = derive2 { name="highTtest"; version="1.1"; sha256="18hgxlr0y8y1d4ldqmfcg4536lhyn5p6w88sq1vj74qr5wzydga1"; depends=[]; };
   highcharter = derive2 { name="highcharter"; version="0.7.0"; sha256="0qfv25dqr7l54jq3vrnwphsj7wzk0an3vfx1zik36wi05yf2w8br"; depends=[assertthat broom crosstalk dplyr htmltools htmlwidgets igraph jsonlite lubridate magrittr purrr quantmod rlang rlist stringr tibble tidyr whisker xts yaml zoo]; };
-  highfrequency = derive2 { name="highfrequency"; version="0.5.3"; sha256="1d218504ghg8d3cwmsxwkznxpr2wy5li062i2lynbxzrhrk59i0l"; depends=[chron cubature MASS mvtnorm numDeriv robustbase sandwich timeDate xts zoo]; };
-  highlight = derive2 { name="highlight"; version="0.4.7.2"; sha256="0xc1akglgby3qd6c9y2rhcd0gpfihx5jvakji38vzlxb1m21sn10"; depends=[]; };
+  highfrequency = derive2 { name="highfrequency"; version="0.6.1"; sha256="0531kvsd06h684kksci63vyl865hiiic624fqdqicf0sis2bd1sd"; depends=[cubature data_table lubridate mvtnorm Rcpp RcppArmadillo RcppRoll readr robustbase xts zoo]; };
+  highlight = derive2 { name="highlight"; version="0.4.7.3"; sha256="0zzq9c1rb6j7rgb4943k64khgz554jrc5caqzji0ia7x9wbksd92"; depends=[]; };
   highlightHTML = derive2 { name="highlightHTML"; version="0.2.1"; sha256="06k2idx9aadjd6xp6kadm9jh7ap1hwg7vh0bc8vw9ll82wcp1nv1"; depends=[]; };
   highmean = derive2 { name="highmean"; version="3.0"; sha256="1lq7z0l1737j4wvsy7951405afylyywp7vf2i7girzh459fdfzpc"; depends=[MASS mnormt mvtnorm]; };
   highr = derive2 { name="highr"; version="0.8"; sha256="0my6idnhmmgs4q1vs40y2lh56yij2p59mpwvm53wjs2zk6x1zl2b"; depends=[]; };
   highriskzone = derive2 { name="highriskzone"; version="1.4.5"; sha256="09ad025ydpfsrkcfqsfm4cj6lk8shrdh6vyya7isqwrd5jfyf1qc"; depends=[deldir fields ks maps Matrix mvtnorm rgeos spatstat]; };
   higrad = derive2 { name="higrad"; version="0.1.0"; sha256="0q9av8qyvmvgy6a3l7svcmbkjjgnp4iny1cld4g3qsbaz3yp3jaj"; depends=[Matrix]; };
+  hilbertSimilarity = derive2 { name="hilbertSimilarity"; version="0.4.3"; sha256="1251df3q7c7c69f8q9y9bxj210bk2dh80c8ca4s58isf0hr2x7zp"; depends=[entropy Rcpp]; };
   hillR = derive2 { name="hillR"; version="0.4.0"; sha256="0wivagbn4clfm3vbxbl3p93d9yxms94gkvi7p15lh0jfdppzm4c9"; depends=[ade4 ape FD plyr tibble]; };
+  hilldiv = derive2 { name="hilldiv"; version="1.5.1"; sha256="1jp4xvrpqd575y2x0i73s0bq708bzi6gdhqgz85bia6d5kf05lq9"; depends=[ape data_table FSA geiger ggplot2 ggpubr qgraph RColorBrewer scales vegan]; };
   hillmakeR = derive2 { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
   hindex = derive2 { name="hindex"; version="0.1.0"; sha256="12w1zz467grihjvan1db7c30psm0j85k82p01fzqgwdam3cd8as3"; depends=[foreach ggplot2]; };
   hindexcalculator = derive2 { name="hindexcalculator"; version="1.0.0"; sha256="06b4dn629avmnyqxb0l39m00wz9cg9dddmm6qhgwgnzlxh14ifgk"; depends=[]; };
@@ -8414,11 +8760,12 @@ in with self; {
   hkevp = derive2 { name="hkevp"; version="1.1.4"; sha256="01m5yywi4vjnwhdayaqaqcp5lz70mllj5ifnwdb4c60wm9aby9pm"; depends=[Rcpp RcppArmadillo]; };
   hkex_api = derive2 { name="hkex.api"; version="0.1"; sha256="0hqwihlrppchpaz2yaq92gf779yi5k8n7sxy1kbpjxs2qc18xvj2"; depends=[httr RCurl XML]; };
   hmeasure = derive2 { name="hmeasure"; version="1.0-2"; sha256="0l4nlny532kddiaa1nmgd37971whhwzb54mb1pvbwax7fsg6hmhw"; depends=[]; };
-  hmi = derive2 { name="hmi"; version="0.9.16"; sha256="128rwbflxy9j49xpgmwjsw35jhsz586r5b0hn80jkjmpfshnffx3"; depends=[boot coda linLIR lme4 MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm rlang tmvtnorm VGAM]; };
+  hmi = derive2 { name="hmi"; version="0.9.17"; sha256="08cppa061xn13lyp7d9jsybn0cc6k2ffml79m5bp7fk11gzq18mb"; depends=[boot coda linLIR lme4 MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm rlang tmvtnorm VGAM]; };
   hmlasso = derive2 { name="hmlasso"; version="0.0.1"; sha256="0ydcyz9pw30ji8ghrvkgcbmp27d661vajl97b8cwis52605a3gfx"; depends=[BH MASS Matrix Rcpp RSpectra]; };
-  hmm_discnp = derive2 { name="hmm.discnp"; version="2.1-5"; sha256="1nawdj5rxh54gxyrr9xw1zw1k1b20ds397mz07x6n7nyjmj4lak2"; depends=[nnet]; };
+  hmm_discnp = derive2 { name="hmm.discnp"; version="2.1-11"; sha256="0s0qzwg5lidmzcxgdbjnq6dqal8xm28h75drrjm712pg36577fcg"; depends=[nnet]; };
+  hmmhdd = derive2 { name="hmmhdd"; version="1.0"; sha256="16jz951d1ssai0gmfnnfikkkvc8yca29a82dq7092kbzwc4i90sk"; depends=[gmfd mvtnorm roahd]; };
   hmmm = derive2 { name="hmmm"; version="1.0-4"; sha256="1sbr85lcmcw3lv0ygqwfbarr91dp3br1xnlygy49145cvl93nfci"; depends=[MASS mvtnorm nleqslv quadprog]; };
-  hms = derive2 { name="hms"; version="0.5.0"; sha256="06snfqdczr0x0nbp7qnvwhlp2pw0wx9c2y3xb4gr1wrvbik74y58"; depends=[pkgconfig rlang vctrs]; };
+  hms = derive2 { name="hms"; version="0.5.2"; sha256="0h24dsagn4kcr65arn73mpqapcg002kw4kyxfqyff95j6s6cjifl"; depends=[pkgconfig rlang vctrs]; };
   hmstimer = derive2 { name="hmstimer"; version="0.0.2"; sha256="0qv2pls6mplnv3mylbiwh83gnvq2qkdpnnjnxnhrgmwia9fapixs"; depends=[]; };
   hnp = derive2 { name="hnp"; version="1.2-6"; sha256="12cbc353ipr2rcc93skf1766g38j1pvpdkqk3cswv0cxsjl2x7pl"; depends=[MASS]; };
   hoa = derive2 { name="hoa"; version="2.1.4.1"; sha256="152vz6cddphmxvm7vi6f3b7jjpib0nsb6qv2k1wrmfrpvv3hgsxx"; depends=[statmod survival]; };
@@ -8429,12 +8776,12 @@ in with self; {
   holodeck = derive2 { name="holodeck"; version="0.2.0"; sha256="1p7crpwa56a4363x4c888475xajga3blp544as4ad85br1k8vpjl"; depends=[assertthat dplyr MASS purrr rlang tibble]; };
   homals = derive2 { name="homals"; version="1.0-8"; sha256="0gad0jmflw5zmzf9hk5qqmxxpbncm9gngsi24i3rgiz7565kli1r"; depends=[ape rgl scatterplot3d]; };
   homeR = derive2 { name="homeR"; version="0.3.0"; sha256="0gi383392rs7snb2l9760vkws5hqfikyaj3i7cyby9g1sc2s6yx8"; depends=[]; };
-  hommel = derive2 { name="hommel"; version="1.2"; sha256="006m28kfpzsz02nz8mhwjcn5b761fcpvhaw63c91x08ka89x4frl"; depends=[Rcpp]; };
+  hommel = derive2 { name="hommel"; version="1.5"; sha256="15c5az35zwmj6g0pxycfr4jnlc5ykllly0xk8gbdv7yk5m23my6d"; depends=[Rcpp]; };
   homologene = derive2 { name="homologene"; version="1.4.68.19.3.27"; sha256="0d7wxisk0vqk1n165v1i19bc02zv78h5r5d3jqai5y6nkmwn01sh"; depends=[dplyr magrittr purrr R_utils readr]; };
   homomorpheR = derive2 { name="homomorpheR"; version="0.2-2"; sha256="1iahq16nswlc3b87598206xdp24bg9v8acyjp1jivybl3fr4k3pq"; depends=[gmp R6 sodium]; };
   homtest = derive2 { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
   hopbyhop = derive2 { name="hopbyhop"; version="3.41"; sha256="1dh502mjrk9dlqikn0ak4gh2dw9nrnp3zrz8j1xwa9cjn37al2wh"; depends=[ggplot2 pastecs]; };
-  hopit = derive2 { name="hopit"; version="0.9.0"; sha256="177kg6gqf76qhjlm259g8if0n4345mv0xxk6vi4qy5c64zx29arg"; depends=[MASS Matrix Rcpp RcppEigen Rdpack survey]; };
+  hopit = derive2 { name="hopit"; version="0.10.2"; sha256="0iphvadn5shqlnk01xbz1vx13q453pkrs0nk1k5r1bmm2mr36kj1"; depends=[MASS Matrix Rcpp RcppEigen Rdpack survey]; };
   horizon = derive2 { name="horizon"; version="1.2"; sha256="0b8m9ghfabjgdl155wh4gc4ng2lsvyfyhsy62pldbcix757b4ck9"; depends=[raster]; };
   hornpa = derive2 { name="hornpa"; version="1.0"; sha256="0pfvk2jkrwgvshgq9g55qijgpjh0677rpbya0r8759n92v3axbp4"; depends=[]; };
   horserule = derive2 { name="horserule"; version="1.0.0"; sha256="0d348pn0ld7lr9lfl1z05905l9kl296j0xic1pib6r5l1c5600r9"; depends=[gbm ggplot2 inTrees MASS mvnfast randomForest RColorBrewer Rdpack]; };
@@ -8444,6 +8791,8 @@ in with self; {
   hotspots = derive2 { name="hotspots"; version="1.0.3"; sha256="12v88k3yz1bsxx9p5dx8y54ccqcglwknm2jr7ybygdj2yasjr5l0"; depends=[ineq lattice]; };
   housingData = derive2 { name="housingData"; version="0.3.0"; sha256="0ngfx2vjx705xixzpz0rgx1481cr2szj4yfi5g7ma1hhivddl7d1"; depends=[]; };
   howmany = derive2 { name="howmany"; version="0.3-1"; sha256="045ck8qahfg2swbgyf7dpl32ryq1m4sbalhr7m5qdgpm62vz8h7f"; depends=[]; };
+  hpa = derive2 { name="hpa"; version="1.0.1"; sha256="18055gh3nasdh6fh1xw95zl2vidqkw5b99b1zhh78j84lzs6r3gm"; depends=[Rcpp RcppArmadillo]; };
+  hpackedbubble = derive2 { name="hpackedbubble"; version="0.1.0"; sha256="1br7q4958f1zgvisglsaf41nz2ahnqi3bzazvlfnmk3nq03cb1ri"; depends=[htmlwidgets]; };
   hpcwld = derive2 { name="hpcwld"; version="0.5"; sha256="17k4mw41gygwgvh7h78m0jgzh1bivrvrsr8lgxxw3sbkw88lwb40"; depends=[multicool partitions]; };
   hpiR = derive2 { name="hpiR"; version="0.2.0"; sha256="0l9x0w6a3ssqcysw8bwmml541nags3b1wxbvipg4rqjfazpdxji4"; depends=[caret dplyr forecast ggplot2 gridExtra imputeTS knitr lubridate magrittr MASS plyr purrr rlang robustbase zoo]; };
   hpoPlot = derive2 { name="hpoPlot"; version="2.4"; sha256="176bf93gjwbi2z7nz81w4aycwax6f7jxvs3236zrmf0f0f4m7bkc"; depends=[functional magrittr Rgraphviz]; };
@@ -8456,37 +8805,39 @@ in with self; {
   hsm = derive2 { name="hsm"; version="0.2.0"; sha256="066shjikqrrkxpnra4zknax1a0sk5nx9ms1br58vwqqvqq479rym"; depends=[]; };
   hsmm = derive2 { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; };
   hsphase = derive2 { name="hsphase"; version="2.0.2"; sha256="1b62k9sc6604djy37anslvqjpbrj9wsc9mvnfbrnmhqf4g0nnpdq"; depends=[Rcpp RcppArmadillo snowfall]; };
+  hsstan = derive2 { name="hsstan"; version="0.6"; sha256="14k63agcq8m2lg5pw2309pi78950254v3z2m92pl4wjsikmsqrc1"; depends=[BH ggplot2 loo pROC Rcpp RcppEigen rstan rstantools StanHeaders]; };
   htdp = derive2 { name="htdp"; version="0.1.4"; sha256="0w579qp0p544xryb5r08m1nhqf7rmgv9q0lyx6my4av62l70ka5w"; depends=[Rcpp]; };
   htm2txt = derive2 { name="htm2txt"; version="2.1.1"; sha256="09q026yy8qm1fb3a4bf9vsp4j09kayl7xmk0p58ikar5l3bmfdjv"; depends=[]; };
-  htmlTable = derive2 { name="htmlTable"; version="1.13.1"; sha256="1l44b33xgj2698k6nz17r8fl0ink14ryzng803apm9d6bnv357v8"; depends=[checkmate htmltools htmlwidgets knitr magrittr rstudioapi stringr]; };
+  htmlTable = derive2 { name="htmlTable"; version="1.13.2"; sha256="0h6jslchlx1dzqqdb70c3n9xlapcym9ykycvr0hc4q3450y8qmvh"; depends=[checkmate htmltools htmlwidgets knitr magrittr rstudioapi stringr]; };
   htmltab = derive2 { name="htmltab"; version="0.7.1"; sha256="0lymagm7z6zn0ddygqxi831ikk74112lkqkbvs5j1djhmr359ajc"; depends=[httr XML]; };
-  htmltidy = derive2 { name="htmltidy"; version="0.4.0"; sha256="090rj1fzdsa8m4g33d4mx92dm8afh173i4hqa4zym8c909jwh9qn"; depends=[htmltools htmlwidgets Rcpp XML xml2]; };
-  htmltools = derive2 { name="htmltools"; version="0.3.6"; sha256="18k8r1s8sz1jy7dkz35n69wj20xhmllr53xmwb4pdzf2z61gpbs4"; depends=[digest Rcpp]; };
-  htmlwidgets = derive2 { name="htmlwidgets"; version="1.3"; sha256="04jsdh14l2zifbjpbbh23w7bxz1wpsas0zb2gy2zwv4yqamzzr7i"; depends=[htmltools jsonlite yaml]; };
+  htmltidy = derive2 { name="htmltidy"; version="0.5.0"; sha256="1djkjff3750fm1sp54kf9cjvsqz2x7ia1ns12h5vqqcvwzfd0701"; depends=[htmltools htmlwidgets Rcpp XML xml2]; };
+  htmltools = derive2 { name="htmltools"; version="0.4.0"; sha256="06l17d8jkf438yk2mchpsp4j90bynnapz3nabh5vkcc324p5a62v"; depends=[digest Rcpp rlang]; };
+  htmlwidgets = derive2 { name="htmlwidgets"; version="1.5.1"; sha256="10fp306l1nybkah6jrlrqwwdb6zvklbddp8i3w9v9naj8la5jbnl"; depends=[htmltools jsonlite yaml]; };
   htree = derive2 { name="htree"; version="2.0.0"; sha256="15bi5c2p4aghihp3k12s78447j2x9hbsaq56b5lc8jmd1vf0jdwb"; depends=[]; };
   hts = derive2 { name="hts"; version="5.1.5"; sha256="0mvsxrk7wkfn81hbk8a80fckiqiwdbvhq42k7c6lm69gamnbak2f"; depends=[forecast Matrix matrixcalc Rcpp RcppEigen SparseM]; };
-  httk = derive2 { name="httk"; version="1.10.0"; sha256="0bczjhykq03wcgjymzyhbk4i8vsd4sr0g6plx8lrfsjqirxf3k72"; depends=[data_table deSolve magrittr msm mvtnorm survey truncnorm]; };
+  httk = derive2 { name="httk"; version="1.10.1"; sha256="05zbxyxlq94i6v4wwx7znr9p4k5gn9z7yi818v9f76bv8xi7mxv2"; depends=[data_table deSolve magrittr msm mvtnorm survey truncnorm]; };
   httpRequest = derive2 { name="httpRequest"; version="0.0.10"; sha256="0f6mksy38p9nklsr44ki7a79df1f28jwn2jfyb6f9kbjzh98746j"; depends=[]; };
   httpcache = derive2 { name="httpcache"; version="1.1.0"; sha256="11hdc1jj2jbgvsps1h55azq0cr2fl556k631ns9k0747sjfmy2k9"; depends=[digest httr]; };
   httpcode = derive2 { name="httpcode"; version="0.2.0"; sha256="06k853ihwzkcx4z3jzazpb03p91frqkwz18jy4fwr8j2nwyqbhgv"; depends=[]; };
   httping = derive2 { name="httping"; version="0.2.0"; sha256="0hdcf51yak8yagy4xj9cyck934lgmvpkd08jvlql33ir5mqvvv3i"; depends=[httpcode httr jsonlite magrittr pryr]; };
   httptest = derive2 { name="httptest"; version="3.2.2"; sha256="1q2lhqi5lhdc15wjrcr4z2yxjrfhjkgn0wwxr0mawsfz8cy3703q"; depends=[digest httr jsonlite testthat]; };
-  httpuv = derive2 { name="httpuv"; version="1.5.1"; sha256="042piypg4c8sqrlcdl3dwajkafkbglsky3x7d0jpjv8s5wxnpfxm"; depends=[BH later promises R6 Rcpp]; };
-  httr = derive2 { name="httr"; version="1.4.0"; sha256="0j6vknwyvkjpjsxwch4q02aik4dnm3h4l0wc7dgzc555bm1g2cyn"; depends=[curl jsonlite mime openssl R6]; };
-  hues = derive2 { name="hues"; version="0.1"; sha256="0b6y4ld242fqzx4ccxzk4i4zbx7myk7v3a03r0klgbh2mmw3ixm0"; depends=[colorspace]; };
-  huge = derive2 { name="huge"; version="1.3.2"; sha256="1j93gvi1jyq3ld9jhdqhrpm2is54rk3ilmf3yw7fx6gva0y6hjqd"; depends=[igraph MASS Matrix Rcpp RcppEigen]; };
+  httpuv = derive2 { name="httpuv"; version="1.5.2"; sha256="13ax0hs2lc39ilznh1zarwqdzahcbhb8adilrfik3xg0fkljpcwk"; depends=[BH later promises R6 Rcpp]; };
+  httr = derive2 { name="httr"; version="1.4.1"; sha256="0mp1il13q6n49n2hv1p2p8x6avjan6dr5az19ql4hb78pc3pwp37"; depends=[curl jsonlite mime openssl R6]; };
+  hues = derive2 { name="hues"; version="0.2.0"; sha256="062i7yc16nmnp15c1jh4xffw2lpklp36wkn1yvagh186ahnlgffx"; depends=[colorspace]; };
+  huge = derive2 { name="huge"; version="1.3.4"; sha256="07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3"; depends=[igraph MASS Matrix Rcpp RcppEigen]; };
   humanFormat = derive2 { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
   humaniformat = derive2 { name="humaniformat"; version="0.6.0"; sha256="0vaynjzz57pk4y1liag9lpn9jkag2033a6bkn28zzm7ndg3344l6"; depends=[Rcpp]; };
   humanize = derive2 { name="humanize"; version="0.2.0"; sha256="0hhhd640n77s8xaa2gbd9fckdk2yjg68gdb7wjy56a2khzqfssxr"; depends=[assertthat glue lubridate]; };
   humanleague = derive2 { name="humanleague"; version="2.1.0"; sha256="1mp7lqwx97r60amllz9cjsixw21zspgs4zkp0nc63z315vgfzwrx"; depends=[Rcpp]; };
-  humidity = derive2 { name="humidity"; version="0.1.4"; sha256="1nnrjk9wjvp28s615xd9wllnwv4js3kg7rj2f6al3sk3vhiqljsk"; depends=[]; };
+  humidity = derive2 { name="humidity"; version="0.1.5"; sha256="143pn8jjinlda76b94qh5zw2sfajw0ifcx774x6adr2il5a5wm99"; depends=[]; };
   hunspell = derive2 { name="hunspell"; version="3.0"; sha256="0mwqw5p0ph083plm2hr2hqr50bjg2dw862dpsfm4l2fgyy3rryq1"; depends=[digest Rcpp]; };
   hurdlr = derive2 { name="hurdlr"; version="0.1"; sha256="1ryrqsxa07isxv2zx156bcn36d4yjvwpirb8jqcmqm97q7rmihmq"; depends=[]; };
   hurricaneexposure = derive2 { name="hurricaneexposure"; version="0.1.0"; sha256="1wwa1b96yglmnkvn209v8g0cvx567i2mxd7y6vjzzy5l428cf9f0"; depends=[data_table dplyr ggmap ggplot2 lazyeval lubridate mapproj maps purrr RColorBrewer rlang stringr tidyr]; };
-  hutils = derive2 { name="hutils"; version="1.5.0"; sha256="053zraq4c35w0lmpzgw03gw3r7dmq97yjfdldsv8d6sb1m4va7rk"; depends=[data_table fastmatch magrittr]; };
-  hutilscpp = derive2 { name="hutilscpp"; version="0.1.0"; sha256="17761crl71mhhc1k0g9gb6bq3df1w9s5508k0i7b3p3zam6r40l1"; depends=[data_table hutils Rcpp]; };
-  huxtable = derive2 { name="huxtable"; version="4.6.0"; sha256="1dcdzv679czq797xagi6sxq1s8vn8clchhdr1zk6bbajv06jxxhb"; depends=[assertthat generics glue memoise rlang stringr tibble tidyselect]; };
+  hutils = derive2 { name="hutils"; version="1.5.1"; sha256="1x2x8gg2hdwxj1gz81pjls4y3yilssksirsbjnjd665rjs3jx7fj"; depends=[data_table fastmatch magrittr]; };
+  hutilscpp = derive2 { name="hutilscpp"; version="0.3.0"; sha256="1x7h1fq6qyylda8k3a1v6s0cx7pf169k86akb6ccwgiikqqsp51h"; depends=[data_table hutils Rcpp]; };
+  huxtable = derive2 { name="huxtable"; version="4.7.0"; sha256="0pnba6k8mnn6wi4inlcap3ir7w784sxnvfvrc6g4iwql5s3rz6cz"; depends=[assertthat generics glue memoise rlang stringr tibble tidyselect]; };
   hwde = derive2 { name="hwde"; version="0.67"; sha256="0wb2f9i5qi7w77ygh8bvydfpr7j5x8dyvnnhdkajaz0wdcpkyaqy"; depends=[]; };
+  hwordcloud = derive2 { name="hwordcloud"; version="0.1.0"; sha256="0civbwv276lcwvfs4qzz14r8rk14kg1ml4zzhi3msnkkh29v70y2"; depends=[colourpicker htmlwidgets shiny wordcloud2]; };
   hwriter = derive2 { name="hwriter"; version="1.3.2"; sha256="0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb"; depends=[]; };
   hwwntest = derive2 { name="hwwntest"; version="1.3.1"; sha256="1mz5svx5vbisdl5wxdnwip13pq4slyigc7j52l526rr9n0l0pr5v"; depends=[polynom wavethresh]; };
   hybridEnsemble = derive2 { name="hybridEnsemble"; version="1.0.0"; sha256="08y11cmlhnl456wxsvh3ll1f9ywkmgqjwlwr3v3qhm54nlanwvkr"; depends=[ada AUC e1071 FNN genalg GenSA glmnet kernelFactory NMOF nnet nnls pso quadprog randomForest reportr Rmalschains ROCR rotationForest rpart soma tabuSearch]; };
@@ -8506,7 +8857,7 @@ in with self; {
   hyper2 = derive2 { name="hyper2"; version="1.0-7"; sha256="155ycb26mgk0ic899ji1pv1k2mmwfzwaa0zj38a9v6fwdgw87rpl"; depends=[cubature magrittr partitions Rcpp]; };
   hyperSMURF = derive2 { name="hyperSMURF"; version="2.0"; sha256="1aczsph6ax5xfd5rfvsd9bmgaq3j2f5f82fx8whrgbin0hxz19d8"; depends=[randomForest unbalanced]; };
   hyperSpec = derive2 { name="hyperSpec"; version="0.99-20180627"; sha256="12bgp3nm9mwi5w3v8a9fnm4a2cxid3la0r3sxs10azikn5yw0ib5"; depends=[ggplot2 lattice latticeExtra lazyeval testthat XML]; };
-  hypercube = derive2 { name="hypercube"; version="0.1.0"; sha256="0iv3cfs636mwijm2rjk427izf0gk5lh2fknd7bmb8pd188ckwqmf"; depends=[stringr]; };
+  hypercube = derive2 { name="hypercube"; version="0.2.0"; sha256="13b521vpxzk80ldr0v4bayxm4kwssqzpmzlykv5xhghvfdsqxqri"; depends=[dplyr plotly stringr]; };
   hypergate = derive2 { name="hypergate"; version="0.8.1"; sha256="17n8bs869c56jm76nq82alkajbyhbgn6nydzb1zh82i0ns269rlz"; depends=[]; };
   hypergea = derive2 { name="hypergea"; version="1.3.6"; sha256="1k1525bkkj83j2nn9ixidb8vjvdmc4l9jvfarzgg532gg7wn3841"; depends=[]; };
   hypergeo = derive2 { name="hypergeo"; version="1.2-13"; sha256="13jdiy216znwhr91iqnh03mvkmyscw439syb3h4i67dd78sphnvd"; depends=[contfrac deSolve elliptic]; };
@@ -8514,19 +8865,21 @@ in with self; {
   hypervolume = derive2 { name="hypervolume"; version="2.0.11"; sha256="1lfxsqvkzych9zvknxf4fnsfav9kv8cjss0pr4ny1wbmbvdxbbqc"; depends=[data_table e1071 fastcluster geometry hitandrun ks maps MASS mvtnorm pdist progress raster Rcpp RcppArmadillo rgeos rgl sp]; };
   hypothesestest = derive2 { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
   hypothesisr = derive2 { name="hypothesisr"; version="0.1.1"; sha256="0z06risagphhvqiw4lrxy52q6q2yr10w2yxsm8iz1wh9ik097pcv"; depends=[dplyr httr jsonlite]; };
+  hypr = derive2 { name="hypr"; version="0.1.4"; sha256="1a1dysa08v9q4sr8w3mr1lyj8fl1cdgqa00dnaa9pj6k81djr2qj"; depends=[MASS pracma]; };
   hysteresis = derive2 { name="hysteresis"; version="2.6"; sha256="00v19m52bg2i3zg8p7yj56axzj9sm64qr61226p5h7sn0zrpws3b"; depends=[car MASS msm]; };
   hzar = derive2 { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[coda foreach MCMCpack]; };
+  iAdapt = derive2 { name="iAdapt"; version="0.1.0"; sha256="0ykcvqm1aswc4iypapml22194nxi6mxvxipy6wj7l9g4cazfa8j8"; depends=[shiny shinydashboard]; };
   iBATCGH = derive2 { name="iBATCGH"; version="1.3"; sha256="0pnkkabzi57czcwd9i15nwv8ggwvyxmvn1wam7yrrrbvmi17lmrm"; depends=[msm Rcpp RcppArmadillo]; };
   iBST = derive2 { name="iBST"; version="1.0"; sha256="02p7lcr1wrf21v4568jc8hmjcijy3fnbv77s8nlhv2s4p0pgzh5x"; depends=[Rcpp rpart survival]; };
-  iBreakDown = derive2 { name="iBreakDown"; version="0.9.6"; sha256="00vlm149ryak7xk059lnv2cic4h4fzlrp9c6jls2dffrpsn0ii02"; depends=[DALEX ggplot2]; };
+  iBreakDown = derive2 { name="iBreakDown"; version="0.9.9"; sha256="1sxd2x837qmi47p0c9bmy1lqldv2l214qw5n28w3bkwalbdaizyk"; depends=[DALEX ggplot2]; };
   iC10 = derive2 { name="iC10"; version="1.5"; sha256="1xq6xv582wxdb0nc2nia3q38155gx8z26idiqyx7h1rjb20hhwdl"; depends=[iC10TrainingData impute pamr]; };
   iC10TrainingData = derive2 { name="iC10TrainingData"; version="1.3.1"; sha256="175ymib3h359296hk36psryksisipx63ybvacz8hys21irzx58j1"; depends=[]; };
   iCARH = derive2 { name="iCARH"; version="2.0.0"; sha256="08krf7if4nlj7whchjqsr3gzvhz81w24wa2vxzs6znf9m0k5aqay"; depends=[abind ggplot2 igraph KEGGgraph MASS Matrix mc2d RCurl reshape2 rstan]; };
-  iCellR = derive2 { name="iCellR"; version="1.0.0"; sha256="13hfzvi4lqpcngkp757nl7mixbq8bscpxp91wz0rd3gndrgiccv1"; depends=[ape ggdendro ggplot2 ggpubr ggrepel gridExtra Hmisc htmlwidgets knitr Matrix NbClust pheatmap plotly plyr RColorBrewer reshape Rtsne scatterplot3d shiny umap]; };
-  iCiteR = derive2 { name="iCiteR"; version="0.1.0"; sha256="1h38m3blnpivrdz1hdgakl502zxb92gjkczra0a7izbq9fn19mfw"; depends=[httr jsonlite]; };
+  iCellR = derive2 { name="iCellR"; version="1.2.5"; sha256="1n5zp7k766q6xwvhw0w5s9x3ws9229pkdllh334bpxz3saj12s3r"; depends=[ape ggdendro ggplot2 ggpubr ggrepel gridExtra Hmisc htmlwidgets knitr Matrix NbClust pheatmap plotly plyr RColorBrewer reshape Rtsne scatterplot3d shiny umap]; };
+  iCiteR = derive2 { name="iCiteR"; version="0.2.1"; sha256="0hbps2q5i7yj6zvqawlayhqqr5iv39yqc0xnk7fvra7rimzc1qid"; depends=[httr]; };
   iClick = derive2 { name="iClick"; version="1.5"; sha256="0yq0r9nz1mf9ci6l30ylqxbgl8mf1ahyqzr7m6nks0ygxabipdnd"; depends=[boot car coefplot fBasics forecast lattice lmtest lubridate openair papeR rugarch sandwich timeDate timeSeries xts zoo]; };
   iCluster = derive2 { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[caTools gdata gplots gtools lattice]; };
-  iDINGO = derive2 { name="iDINGO"; version="1.0.2"; sha256="041yvp3nzk3ipjlx17xcn9yiwr1hlns0pd3vzqrck5v9glnp4sbr"; depends=[GGMridge glasso igraph mvtnorm scales visNetwork]; };
+  iDINGO = derive2 { name="iDINGO"; version="1.0.3"; sha256="0aa7g7shcbjzjwhnrh6hd4idjdka9rd7jawkvqvyjnwcql2qlapv"; depends=[GGMridge glasso igraph mvtnorm scales visNetwork]; };
   iDOS = derive2 { name="iDOS"; version="1.0.0"; sha256="1jj98ikzvfp6qbnh2j6msi0m89sbmjjafgry43rq7qmczzs81hl8"; depends=[VennDiagram]; };
   iDynoR = derive2 { name="iDynoR"; version="1.0"; sha256="01702vl10191mbq2wby1m0y6h8i6y6ic4pa83d27cg3yccsrhziz"; depends=[vegan XML]; };
   iECAT = derive2 { name="iECAT"; version="0.8"; sha256="0kv8db7ss3vk21ccl8qfj4x69npfzwmm3piddj9l0vwrwd3ccl32"; depends=[MetaSKAT SKAT]; };
@@ -8544,16 +8897,18 @@ in with self; {
   iRegression = derive2 { name="iRegression"; version="1.2.1"; sha256="1kwsrmsflmqan96aj0dczlszfww1dlg6rwycyid52f7ghg9810rn"; depends=[mgcv]; };
   iRepro = derive2 { name="iRepro"; version="1.1"; sha256="1sqg1n83m1308v6bk8ilra8w01frqyd8vpvmv63rllxz38r3vyhz"; depends=[]; };
   iSDM = derive2 { name="iSDM"; version="1.0"; sha256="1hzs187mwv3k2wx6dpvkizjhkcx63mznd06wiw6047lf5jrlif0a"; depends=[ade4 colorRamps geometry geosphere maptools MASS pdist raster rgdal rgl sp virtualspecies]; };
+  iSTATS = derive2 { name="iSTATS"; version="1.1.0"; sha256="0hkyf3qa35hk8hs4qraz2y433ad93bjmi1mlmzfaw132x96f8zvf"; depends=[Cairo data_table ggplot2 gtools plotly rstudioapi shiny shinyBS shinyWidgets]; };
   iTOP = derive2 { name="iTOP"; version="1.0.2"; sha256="1n6nlmmx2h63nksycgzr7qsnd1j6bxa629av7cfd3ihriim7dj47"; depends=[corpcor Matrix]; };
   iWISA = derive2 { name="iWISA"; version="1.0-2"; sha256="0jqi1kh7jlc04nb9d1w711q4i8j1vgwbxjls09z7853kv22wxfyz"; depends=[fda ggplot2 waveslim]; };
   iWeigReg = derive2 { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
+  iZID = derive2 { name="iZID"; version="0.0.1"; sha256="1jaqdh6i5xyfw4y2wd9qivzjklf4j2xxnya8ssn7rv5bz6misgcz"; depends=[doParallel extraDistr foreach rootSolve]; };
   iadf = derive2 { name="iadf"; version="0.1.0"; sha256="02zx9n4ncg10bbydrr05631vzc4w2b1jg3x6xiaffg7x5rh4mnyf"; depends=[dplR dplyr manipulate rlang tibble tidyr]; };
-  iai = derive2 { name="iai"; version="1.0.0"; sha256="12alm0vhzaszacwpgzcbds00hj7xjfjq06zy337y81zqjgl8balp"; depends=[JuliaCall rlang stringr]; };
-  iarm = derive2 { name="iarm"; version="0.2.0"; sha256="0lg1q5z40hjm8wicniimv4wlb210qj7d5lmmknilzkpz4shwr44k"; depends=[eRm mRm PP psychotools vcdExtra]; };
+  iai = derive2 { name="iai"; version="1.1.0"; sha256="1ck5znn3l80ahh6n6qvp8rw4307blkqyr1jmq9ksifb5hkqpxyfw"; depends=[JuliaCall rlang stringr]; };
+  iarm = derive2 { name="iarm"; version="0.2.0"; sha256="0lg1q5z40hjm8wicniimv4wlb210qj7d5lmmknilzkpz4shwr44k"; depends=[eRm PP psychotools vcdExtra]; };
   ibd = derive2 { name="ibd"; version="1.5"; sha256="0rxvy4hn4fpbv6y214ggkmgfvzwns5mkanp4h8201rjk3v84mk2r"; depends=[car emmeans lpSolve multcomp]; };
   ibdreg = derive2 { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; };
   ibeemd = derive2 { name="ibeemd"; version="1.0.1"; sha256="115z13q02gzixziknix2l53mi12zzg30ra9h35pv6qzrr11ra1ic"; depends=[deldir fields rgeos sp spdep]; };
-  ibelief = derive2 { name="ibelief"; version="1.2"; sha256="1zh6bpg0gaybslr1p05qd5p2y5kxbgyhgha4j4v5d69d78jwgah9"; depends=[]; };
+  ibelief = derive2 { name="ibelief"; version="1.3"; sha256="15jafk5b954hsl5kkbiyr8pi385c92il05jls33lyf4i25q5aqk3"; depends=[]; };
   ibm = derive2 { name="ibm"; version="0.1.0"; sha256="0g6wg2qpa4q142xw2vq5pca4ll6pb8hyll5g0c93kk8crddk51s7"; depends=[Rcpp]; };
   ibmcraftr = derive2 { name="ibmcraftr"; version="1.0.0"; sha256="0zm5j0a1wjj5agibp38h73qxpq0njvrhfq3077xhhfizcb3v24sb"; depends=[Rcpp]; };
   ibmdbR = derive2 { name="ibmdbR"; version="1.50.0"; sha256="151gg05gcy5wpyvyflr4mc0jq1npxzq9pc4spjc81x2igd14c370"; depends=[arules ggplot2 MASS Matrix RODBC rpart rpart_plot]; };
@@ -8567,24 +8922,24 @@ in with self; {
   ical = derive2 { name="ical"; version="0.1.6"; sha256="1raanaagas1c8w66d8s045z5ip1i97xca4233d55jk6cazv0mb1w"; depends=[V8]; };
   icamix = derive2 { name="icamix"; version="1.0.6"; sha256="0jys9r7wjxlwsq5rssih2lvsar1192w8vigdhhrcmf3d5z5ic1kp"; depends=[Rcpp RcppArmadillo]; };
   icapca = derive2 { name="icapca"; version="1.1"; sha256="131gdrk8vsbac0krmsryvsp21bn9hzxqxq847zn16cxjf6y5i3xb"; depends=[]; };
-  icarus = derive2 { name="icarus"; version="0.3.0"; sha256="1656bz0av59dpgndibn0bc5zr9zka9pmw7qmhjz2b956bh7sh4ag"; depends=[]; };
+  icarus = derive2 { name="icarus"; version="0.3.1"; sha256="0ipbhzvwdn1cnzgdw33cwv901768srxfi588bimjx2ssl80mqn3a"; depends=[]; };
   iccbeta = derive2 { name="iccbeta"; version="1.2.0"; sha256="03ms1c8qpbgxabj3hh4n0gwcazw6cd0cvixck5rz8fkvj04xzjak"; depends=[lme4 Rcpp RcppArmadillo]; };
   icd = derive2 { name="icd"; version="4.0.6"; sha256="0zi56c6x2jy1yihrar6whhyb5csyhzwdxw0nr8c05xm28w1j6xwb"; depends=[rappdirs Rcpp RcppEigen]; };
   icd_data = derive2 { name="icd.data"; version="1.0"; sha256="0cynr9327wfg88661w4hali48mb6ghyvlqgybsa38k9bbf57v8aa"; depends=[]; };
   icdGLM = derive2 { name="icdGLM"; version="1.0.0"; sha256="1mh9kwn21n19v4lrmj33ghpna7dl66fx19gi6lcjanmrpzrkwdnz"; depends=[Matrix]; };
   icemelt = derive2 { name="icemelt"; version="1.0"; sha256="13pjbyh2ggns36m8s43m2cb0kvisjlfxq75gqscldp75zjli2wi8"; depends=[survival]; };
-  icenReg = derive2 { name="icenReg"; version="2.0.10"; sha256="184cl83rwr0h1b3dia1vd81zvfr0yqqmfszkzah3cqljkcirz8di"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
+  icenReg = derive2 { name="icenReg"; version="2.0.11"; sha256="1skppn8ncj91c9hmsv07qjr8xc3ylzrynbm9c950ayr4w15907hp"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
   icensBKL = derive2 { name="icensBKL"; version="1.1"; sha256="12zx5x81jy48mp0l6a5ga0ikkjxvndv5cv2xf6d2lczfk7fz9lbp"; depends=[gtools Icens MASS mvtnorm smoothSurv survival TeachingDemos]; };
   icensmis = derive2 { name="icensmis"; version="1.3.1"; sha256="1c0j43wffb5h99chlj8j45lpan7dpn2i0r4rr6b2kq16p1zabfjw"; depends=[Rcpp]; };
   icesAdvice = derive2 { name="icesAdvice"; version="2.0-0"; sha256="0sx93fsx2srmynnvs3bjb525m9a5w70qr9lghmkqa07crd991vfr"; depends=[]; };
   icesDatras = derive2 { name="icesDatras"; version="1.3-0"; sha256="0yaqlximxa3rcjxgrd0mii02mm9gpcxgw3i8pymp00bk8zixvj30"; depends=[]; };
   icesSAG = derive2 { name="icesSAG"; version="1.3-6"; sha256="08nlsvs23j7ax03gwld3ycyvhfrhs70jdjif3562q1ysgvvkbf45"; depends=[httr icesVocab openssl png xml2]; };
-  icesTAF = derive2 { name="icesTAF"; version="3.1-1"; sha256="0yyma72vrigr3kz4mxrkp90ijkmzlg79xdras45mrqq261cya3hm"; depends=[bibtex lattice remotes]; };
+  icesTAF = derive2 { name="icesTAF"; version="3.2-0"; sha256="11c4glpjqz6hdxmsbh7q4hyqps6xdj0ph3310dicwnxwymbp1dmx"; depends=[bibtex lattice remotes]; };
   icesVocab = derive2 { name="icesVocab"; version="1.1-4"; sha256="0ydrxxmglgcsmjccamhfyw4cr2q583y4836v3wm2gxs5pcf9q86g"; depends=[XML]; };
   icmm = derive2 { name="icmm"; version="1.1"; sha256="1w9f1rniz67rrvq0akc64s5433ddmr2cgbcljil4c58yyz8hinx8"; depends=[EbayesThresh]; };
   icosa = derive2 { name="icosa"; version="0.9.81"; sha256="05gpiksncdi536f4py7szfi6myny1gqj8i0hsgpma7cfcm3npn0l"; depends=[igraph raster Rcpp rgdal rgl sp]; };
   icpsrdata = derive2 { name="icpsrdata"; version="0.4.0"; sha256="01whs8wssjx3qgdnc1ixh59gvn1bajqm5q3zj1jpw1dqjh71qzf0"; depends=[httr purrr rvest]; };
-  icr = derive2 { name="icr"; version="0.6.0"; sha256="1cgb475kqnhczaknf0a1srw3221kr64nb8ljya0m7k658r28mnxr"; depends=[Rcpp]; };
+  icr = derive2 { name="icr"; version="0.6.1"; sha256="1hmlh01p286zq26ya2x7hn4xba2g0q988pmvmxy6lfv0nigys0gs"; depends=[Rcpp]; };
   icsw = derive2 { name="icsw"; version="1.0.0"; sha256="0g7bcqs0rpbs1p202i9wjbl8hhy3r196zambm044xyf7kvsbzzf6"; depends=[]; };
   idar = derive2 { name="idar"; version="1.0"; sha256="1yfv3na4rcldkpzybf7la227z4ynsl1scrziirl5gp072k7zrs01"; depends=[ape FD picante spatstat]; };
   idbg = derive2 { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
@@ -8597,9 +8952,10 @@ in with self; {
   identity = derive2 { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
   ideq = derive2 { name="ideq"; version="0.1.1"; sha256="1lp1mxckj4znngavv701mxcx84n9409irnpcsadj5v1grmy9352x"; depends=[matrixcalc mvtnorm pdist Rcpp RcppArmadillo rgen]; };
   ider = derive2 { name="ider"; version="0.1.0"; sha256="021s4fybki7a6mdsr6gkjrzfhaqdcg0m2a6r24y91jklxlxqxmws"; depends=[FNN]; };
+  idiogramFISH = derive2 { name="idiogramFISH"; version="1.9.1"; sha256="1rc378k8ngjcmhsz7hkpvyh2ayxyl3sk89y191assy8zx0i84p8v"; depends=[crayon dplyr plyr]; };
   idm = derive2 { name="idm"; version="1.8.2"; sha256="04f0i0kwdxywmj2i184knx5a5v9svx0lbam6wpz49hghg7qpy0w5"; depends=[animation ca corpcor dummies ggplot2 ggrepel]; };
   idmTPreg = derive2 { name="idmTPreg"; version="1.1"; sha256="1329sjb4dnw3yiyg16whbj4l2v0kg8phg1x4ysvyp2kqkmw14yq6"; depends=[doParallel foreach survival]; };
-  idmodelr = derive2 { name="idmodelr"; version="0.3.0"; sha256="0rnfv7jwl5x3a67nbj2k2cs15b7xqzdcs9v8nlx2zxfsnf95s68s"; depends=[deSolve dplyr furrr future ggplot2 magrittr purrr rlang stringr tibble tidyr viridis]; };
+  idmodelr = derive2 { name="idmodelr"; version="0.3.1"; sha256="147rlcm7dj20xbwi392w82m1mnw90mvcp4yjgfplm34z6y90ljir"; depends=[deSolve dplyr furrr future ggplot2 magrittr purrr rlang stringr tibble tidyr viridis]; };
   idr = derive2 { name="idr"; version="1.2"; sha256="05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb"; depends=[]; };
   ids = derive2 { name="ids"; version="1.0.1"; sha256="1s6ga94gds5ydr9f8qbjfgfpg2dvbnkcrlybqlb33hk3c0c2l8dn"; depends=[openssl uuid]; };
   idx2r = derive2 { name="idx2r"; version="1.0.0"; sha256="14d3rasnf8mghwzpg6h4larybgy7drrv0jh71x28qwry49acsqyh"; depends=[]; };
@@ -8614,35 +8970,42 @@ in with self; {
   ifs = derive2 { name="ifs"; version="0.1.5"; sha256="03g9cgs0zp89b1d7rpcn5clkvmg0spnariwrifd8hha476ldvfcy"; depends=[]; };
   ifultools = derive2 { name="ifultools"; version="2.0-5"; sha256="040kvbczcmmbaiaz0k0pdq9af541pjj6iwzh1a3w4szh9w6b5a3j"; depends=[MASS splus2R]; };
   ig_vancouver_2014_topcolour = derive2 { name="ig.vancouver.2014.topcolour"; version="0.1.2.0"; sha256="0yclvm6xppf4w1qf25nf82hg1pliah68z7h3f683svv0j62q748h"; depends=[]; };
-  igraph = derive2 { name="igraph"; version="1.2.4.1"; sha256="1074y8mvprrqlkb4vwa2qc9l03r8d7p5vaaqacj4ljjs7dvcq6l9"; depends=[magrittr Matrix pkgconfig]; };
+  igate = derive2 { name="igate"; version="0.3.3"; sha256="0b8dk976z0764cmxwcq6w2f3akv7iivivharinq029p90b600qza"; depends=[dplyr ggplot2 kableExtra knitr rmarkdown stringr xtable]; };
+  igraph = derive2 { name="igraph"; version="1.2.4.2"; sha256="0scrbqb26pam8akblb4g9rkz888s0xffw3gcly78s4ijj67barxd"; depends=[magrittr Matrix pkgconfig]; };
   igraphdata = derive2 { name="igraphdata"; version="1.0.1"; sha256="19w5npa4b8c054v94xlr7nmhhg2fhq4m8jbds86skp8zvipl4rkl"; depends=[]; };
   igraphinshiny = derive2 { name="igraphinshiny"; version="0.1"; sha256="1ww5s4jfihzcx4k35lbhzsf54z720xh7b2p5alzk843m6rx77986"; depends=[igraph shiny]; };
   igraphtosonia = derive2 { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
-  iheatmapr = derive2 { name="iheatmapr"; version="0.4.8"; sha256="0rypfhr05x3yqaywpkkd2mjn1vwbj6hw7v8nkwm2mbff9z87aam7"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr plyr RColorBrewer S4Vectors scales]; };
+  iheatmapr = derive2 { name="iheatmapr"; version="0.4.12"; sha256="0s479j9l35xiss599vablxgvg6i2j9zq9sxphsq4vdk3bafg84bw"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr plyr RColorBrewer S4Vectors scales]; };
+  ihpdr = derive2 { name="ihpdr"; version="1.1.0"; sha256="0ga90dwnxygz63m894h4aj2lkjqi99qalkgw9ncfqggq5255h6l3"; depends=[dplyr httr lubridate magrittr purrr readxl rlang rvest tidyr xml2]; };
   ihs = derive2 { name="ihs"; version="1.0"; sha256="1c5c9l6kdalympb19nlgz1r9zq17575ivp3zrayb9p6w3fn2i06h"; depends=[maxLik]; };
   iilasso = derive2 { name="iilasso"; version="0.0.2"; sha256="043m1n5840459zsknkb54801apb0a2cqfprncmj2wp235rbqj832"; depends=[BH Matrix Rcpp]; };
-  ijtiff = derive2 { name="ijtiff"; version="2.0.2"; sha256="0i1bs5pns83r1f97ypr0xbq4z7kwgldkaff2iwvqrnalj0rgfm8b"; depends=[checkmate dplyr filesstrings fs glue magrittr purrr Rcpp readr rlang stringr withr]; };
+  ijtiff = derive2 { name="ijtiff"; version="2.0.4"; sha256="1jfvqn22v2rji8rnyjmpa2y3q14r514q2wdmh7ykiplvhlm9kyga"; depends=[checkmate dplyr filesstrings fs glue magrittr purrr Rcpp readr rlang stringr withr]; };
   iki_dataclim = derive2 { name="iki.dataclim"; version="1.0"; sha256="1yhvgr8d3j2r8y9c02rzcg80bz4cx58kzybm4rch78m0207wqs7p"; depends=[climdex_pcic lubridate PCICt zoo]; };
   ilc = derive2 { name="ilc"; version="1.0"; sha256="0hs0nxv7cd300mfxscgvcjag9f2igispcskfknb7sn7p8qvwr5ki"; depends=[date demography forecast rainbow survival]; };
   imageData = derive2 { name="imageData"; version="0.1-59"; sha256="096y589r1mrbvzax5i7sdczkl613kyn8g93qcddqb6jjljw03qmi"; depends=[dae GGally ggplot2 Hmisc RColorBrewer reshape XLConnect]; };
+  imagefluency = derive2 { name="imagefluency"; version="0.2.1"; sha256="1hb38gv8bj9fshcwp0vjqh29pi0ynmh4hj4hf3izrgqiiy42hvxf"; depends=[magick OpenImageR pracma quadprog R_utils readbitmap]; };
+  imagefx = derive2 { name="imagefx"; version="0.3.0"; sha256="1jw85kb2xxq1yzjnvpd8l5avvamyh12kimss7w31ry2wgsad2mdz"; depends=[moments signal]; };
   imager = derive2 { name="imager"; version="0.41.2"; sha256="19fqgjhg04garbipx20g72h9dd6k0jj4ac48nby6km4h665vrs4v"; depends=[Cairo downloader igraph jpeg magrittr plyr png purrr Rcpp readbitmap stringr]; };
   imagerExtra = derive2 { name="imagerExtra"; version="1.3.2"; sha256="1f6mxfn7am4ph9acbbx53r4bk4vsm73p7arh8rvrsic9pgma3gqf"; depends=[fftwtools imager magrittr Rcpp]; };
   imageviewer = derive2 { name="imageviewer"; version="0.1.0"; sha256="1rsrwy5v0gnsmbay1zqijhvll2l1bs844m52w65588j9nlx4fci9"; depends=[htmlwidgets]; };
   imagine = derive2 { name="imagine"; version="1.5.2"; sha256="1k017a1qw7bahk1aif3ky7f1aynvrppmhvxbcmai646pmx99kbxn"; depends=[Rcpp]; };
   imbalance = derive2 { name="imbalance"; version="1.0.0"; sha256="1pfhwf4844m0a8qsm852am63x18vlkbs6m1s9izrpd219616skpr"; depends=[bnlearn C50 FNN ggplot2 KernelKnn mvtnorm Rcpp RcppArmadillo smotefamily]; };
   imdbapi = derive2 { name="imdbapi"; version="0.1.0"; sha256="11v7c0s7qqf02b186md5lhgkgmywkn8lmmanlz3gfcxca26g047y"; depends=[dplyr httr stringr]; };
-  imfr = derive2 { name="imfr"; version="0.1.6"; sha256="0dvhz16wfmrrs21pcys8hjlwa9xkwc78pn76zj2aq1vyj9qby0wj"; depends=[dplyr httr jsonlite]; };
-  imgpalr = derive2 { name="imgpalr"; version="0.2.1"; sha256="0ppzk0rza1rbaz69i8rxjmj7j1q26q75cn2yim8ji31j5hknqj23"; depends=[downloader dplyr jpeg magrittr tibble]; };
+  imfr = derive2 { name="imfr"; version="0.1.7"; sha256="1ch05d37gp0niml80k2apab1942aa05r77s52vgh2pfcx9kklv20"; depends=[dplyr httr jsonlite]; };
+  imgpalr = derive2 { name="imgpalr"; version="0.3.0"; sha256="1kb1ggrlkrh086nwq47sf2y20r7ydk4ww2j3gq0s4iz00aa34pxg"; depends=[downloader dplyr farver jpeg magrittr tibble]; };
   imgrec = derive2 { name="imgrec"; version="0.1.0"; sha256="1v4q2hxil7f0jnj4nql44d9dssh8kz1mnj8ah5slndnn1fbymy8f"; depends=[base64enc dplyr httr jsonlite knitr rlang]; };
   imguR = derive2 { name="imguR"; version="1.0.3"; sha256="14f7ghgc8rbrpqb21rinfbrj1wh80i6ii0awwi814152v5qzj4b3"; depends=[httr jpeg png]; };
-  imgw = derive2 { name="imgw"; version="0.1.0"; sha256="1x9di7imfk5mrwx19j3xjsanykdng5w9w2dpk3xfkwzvvqyrlpg1"; depends=[RCurl XML]; };
+  imgw = derive2 { name="imgw"; version="0.2.0"; sha256="00zkjxqnw1zwcpj8mmdw1ydpcq0sbhs54ismm1i8r6ymb13j5fgj"; depends=[RCurl XML]; };
   iml = derive2 { name="iml"; version="0.9.0"; sha256="15rv943q1kqilsr1h0pkm2gci1cl7775xma4swjfmbqmdc6acjq0"; depends=[checkmate data_table foreach Formula ggplot2 glmnet gridExtra Metrics partykit prediction R6 yaImpute]; };
   immer = derive2 { name="immer"; version="1.1-35"; sha256="1nmf9wxxyq3p8b5kikpsr8b0v4s84zjpahg1rxvcrhc8blg26hjq"; depends=[CDM coda MASS psychotools Rcpp RcppArmadillo sirt TAM]; };
-  imp4p = derive2 { name="imp4p"; version="0.7"; sha256="1hpxx1jpwd4v19xnpjjbwcvfzvb63jfd0jq3vcq000w7am9pwwba"; depends=[Iso norm Rcpp truncnorm]; };
+  immuneSIM = derive2 { name="immuneSIM"; version="0.8.7"; sha256="0brj12xnkzmn3n91vb39fq3q68wmzmwx9l38dl38yypp0l8pknjl"; depends=[Biostrings data_table ggplot2 ggthemes igraph Metrics plyr poweRlaw RColorBrewer repmis reshape2 stringdist stringr]; };
+  imp4p = derive2 { name="imp4p"; version="0.8"; sha256="0k126zp38n1bw3q0b77smr6plpcim87i66amvwbv61w84ansgbv6"; depends=[Iso norm Rcpp truncnorm]; };
   impimp = derive2 { name="impimp"; version="0.3.1"; sha256="0xkxph4f1rcpkryx9v339bfbsnq3xwdj1flb4j2dgh99apj126sq"; depends=[]; };
+  implicitMeasures = derive2 { name="implicitMeasures"; version="0.1.0"; sha256="0j0mzsfli9m063nmy547jcwrzbdqs3m06k9jj4bjn8fdv45pabzk"; depends=[dplyr ggplot2 plyr qpdf tidyr xtable]; };
   implyr = derive2 { name="implyr"; version="0.3.0"; sha256="1i0m95azyi46wnh59dcs52l78i1yqy677rlr4b6c0r945m67advn"; depends=[assertthat DBI dbplyr dplyr rlang tidyselect]; };
   r_import = derive2 { name="r_import"; version="1.1.0"; sha256="0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji"; depends=[]; };
   importar = derive2 { name="importar"; version="0.1.1"; sha256="0xv445fmjhsbdlsq03k2rlycnggn3rcyq5a49zrg4jvjamzr0rgr"; depends=[]; };
+  importinegi = derive2 { name="importinegi"; version="1.0.0"; sha256="0rlnvc2m0cy5jqvylfbgg31dxpdsd37ca1bcpwcpgwcx3d3l373j"; depends=[data_table dplyr foreign haven rgdal]; };
   imprProbEst = derive2 { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; };
   imptree = derive2 { name="imptree"; version="0.5.1"; sha256="0f087000092ydnpj3ch4mbip8wp32scn8xw4vlkq5lf6130gfs1b"; depends=[Rcpp]; };
   imputeLCMD = derive2 { name="imputeLCMD"; version="2.0"; sha256="10v3iv1iw6mnss6ry836crq9zdgid2y1h3pvigzjsrmnp5n89mfz"; depends=[impute norm pcaMethods tmvtnorm]; };
@@ -8661,17 +9024,18 @@ in with self; {
   inarmix = derive2 { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp]; };
   inbreedR = derive2 { name="inbreedR"; version="0.3.2"; sha256="09fr13ckyn2skiigkn4qdx5g080gcmyyrvzhcp0wrml9wpmy0h4z"; depends=[data_table]; };
   incR = derive2 { name="incR"; version="1.1.0"; sha256="0q41bs7pf6hqyfwvcwc2sxq44jq95qq3qsddz53f8gphwjsyf1v7"; depends=[dplyr ggplot2 lubridate maptools rgeos]; };
-  inca = derive2 { name="inca"; version="0.0.3"; sha256="1g9js84xa5b6jl8gp4k0c55kjazfaw5g9biwk4v6vz3vwkwayyzh"; depends=[Matrix Rcpp RcppArmadillo]; };
+  inca = derive2 { name="inca"; version="0.0.4"; sha256="1r3niibd6pja59am8in9gpyvxi2g5bh8bqqhdixzwaj3xzyyipii"; depends=[Matrix Rcpp RcppArmadillo]; };
   incadata = derive2 { name="incadata"; version="0.8.2"; sha256="1ayr7krqcs25b5zg80m2s4g3pdasfaj2qfdnjp871im5i6bplai5"; depends=[backports decoder dplyr rvest sweidnumbr xml2]; };
   incgraph = derive2 { name="incgraph"; version="1.0.1"; sha256="0zjvxk2krdlm5bcr0m80nxy46f69a1xadfjw5sjw249b28wdclml"; depends=[BH dplyr orca purrr Rcpp testthat tibble]; };
   incidence = derive2 { name="incidence"; version="1.7.0"; sha256="1ljn9phxsf47qp12xv1ly76lm4gcqfnhrisx4sy9f6pz5rx6k5s3"; depends=[aweek ggplot2]; };
-  inctools = derive2 { name="inctools"; version="1.0.14"; sha256="0ial852b96x310wzvla9lahxz3mwbqqv0l0lafs0bnmyaiiwycxv"; depends=[cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma rlang tibble tmvtnorm]; };
+  inctools = derive2 { name="inctools"; version="1.0.15"; sha256="0ikldiwgizs2p9vcalk5729dr6krysnyr4ni0ybg9gljw7iafdlf"; depends=[binom cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma rlang tibble tmvtnorm]; };
   indelmiss = derive2 { name="indelmiss"; version="1.0.9"; sha256="0i4qnvc0xb3ngnk8xdscmx7qnicfs7s6czawf6schb1nh2pjpzyq"; depends=[ape numDeriv phangorn Rcpp]; };
-  indicspecies = derive2 { name="indicspecies"; version="1.7.6"; sha256="0a7s37k3bg4cnzkvn833nrwi6hnfa5f6jxa8ra954v4sp55g6i5d"; depends=[permute]; };
+  indicspecies = derive2 { name="indicspecies"; version="1.7.8"; sha256="1j70plalgn9y69m958q5jxhrzd14prcjbniiljnjl243xbbydgv9"; depends=[permute]; };
   indirect = derive2 { name="indirect"; version="0.2.0"; sha256="1k7xwsx655nzl43s1mkaysyn5gydq973gynmqip67lssnm7cnch4"; depends=[gplots MASS]; };
   inegiR = derive2 { name="inegiR"; version="3.0.0"; sha256="1rhkdmpz7mxi7ddyygss5rlh3c8hgxhzdk3fnvnlizc1l55cc6c0"; depends=[jsonlite lubridate plyr tibbletime XML zoo]; };
   ineq = derive2 { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
-  infer = derive2 { name="infer"; version="0.4.0.1"; sha256="0klb1zvmr8fplby8799yca1k6bs3dmacxm1sa0jja9ar23kcq09n"; depends=[dplyr ggplot2 glue magrittr rlang tibble]; };
+  ineqJD = derive2 { name="ineqJD"; version="1.0"; sha256="0anv384jwzn5gkc0jqsl81bkmrjd21br99c5q30xd6ncxavj4s57"; depends=[]; };
+  infer = derive2 { name="infer"; version="0.5.1"; sha256="0m22bv71hmi3p89p1cx4rjqp7547i4sma8nl12qjvq1d4955lf28"; depends=[dplyr ggplot2 glue lifecycle magrittr purrr rlang tibble]; };
   inference = derive2 { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
   inferference = derive2 { name="inferference"; version="1.0.0"; sha256="1x6i8ycba9z57m1n143p1j9pmlfrhjhi4iw0fsny8xmcvqrlr85p"; depends=[Formula lme4 numDeriv]; };
   inferr = derive2 { name="inferr"; version="0.3.0"; sha256="1z5bfq0gv1h6iw8nwc19ar6f2sgsvgs3ghq52s09wclqk2yy4azz"; depends=[dplyr magrittr purrr Rcpp rlang shiny tibble tidyr]; };
@@ -8687,30 +9051,33 @@ in with self; {
   infra = derive2 { name="infra"; version="0.1.2"; sha256="0jycnnmrrjq37lv67xbvh6p63d6l4vbgf3i1z9y7r75d6asspzn1"; depends=[]; };
   infraFDTD_assist = derive2 { name="infraFDTD.assist"; version="0.6"; sha256="04j5nl5vxk79iciz6s9bpiyn319c2dbh7fdahgwira2r30w2fxv9"; depends=[fields]; };
   infutil = derive2 { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; };
-  ingredients = derive2 { name="ingredients"; version="0.3.3"; sha256="18ylrdadl1c67aqdgzm687a4203yd1sf3q1dwwmj57370gvvf3ca"; depends=[DALEX ggplot2 scales]; };
+  ingredients = derive2 { name="ingredients"; version="0.4"; sha256="1sak7y80aq9blhr3gkxjdvfvpv49z39c40pl6gnh688qrlzz4csx"; depends=[DALEX ggplot2 gridExtra scales]; };
   ini = derive2 { name="ini"; version="0.3.1"; sha256="04yqij344dwm0xqgara8xia42mlmij3i8711qbb5534w05a1l6bv"; depends=[]; };
   injectoR = derive2 { name="injectoR"; version="0.2.4"; sha256="0sa32cspp6y3m04yfmd02kxx55mk7l9jxf4r9pk1a6k3sqnj6fl8"; depends=[]; };
   inlabru = derive2 { name="inlabru"; version="2.1.12"; sha256="0ry32hsf9f4hd1jka51d7jbxlalhknwnc3zj9i9bggx38bb9w9fg"; depends=[ggplot2 Matrix rgdal rgeos sp]; };
   inline = derive2 { name="inline"; version="0.3.15"; sha256="0s4wssvpan189fijahknxq5s22ww9bzmdlmyhnra748r7khky17z"; depends=[]; };
-  inlmisc = derive2 { name="inlmisc"; version="0.4.5"; sha256="1mvxdci27ngpmi4s7hi1dvljdzambfd82izgg6q5xhn9bgmc7bw2"; depends=[checkmate data_table GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos scales sp xtable]; };
+  inlmisc = derive2 { name="inlmisc"; version="0.4.8"; sha256="1zgpc4rfbx7l4hlaav3fyl68gd7xj8ff2fj1k4xy98jafi9j86mg"; depends=[checkmate data_table GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos rmarkdown scales sp tinytex xtable yaml]; };
+  inops = derive2 { name="inops"; version="0.0.1"; sha256="1y402a9r542hpwd1nfdc07mbgnf9alpnykl9di1v8fy0qly8s0an"; depends=[]; };
   inpdfr = derive2 { name="inpdfr"; version="0.1.8"; sha256="1xscrqkwl15l5r1sik6mnhzl868s9yxscm74sp740n3107md92hx"; depends=[ca cluster entropart metacom R_devices RColorBrewer SnowballC stringi tm wordcloud]; };
   inplace = derive2 { name="inplace"; version="0.1.0"; sha256="1lmvfjxgficlzxbn953wvfa1n9lys9gqprix6zbqqr4d6vkm0srj"; depends=[Rcpp]; };
   insect = derive2 { name="insect"; version="1.2.0"; sha256="0lbck8jbhymzkhm1iqd2y2xg8a26yjizw7x31b1l1kqc1l0p3kmv"; depends=[ape aphid kmer openssl phylogram RANN seqinr xml2]; };
   insideRODE = derive2 { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve lattice nlme]; };
-  insight = derive2 { name="insight"; version="0.4.1"; sha256="1lw1r3mb97z5p9z25jfzlhs0sbnwp6v8kzysf0am01x4m7l3iz82"; depends=[]; };
+  insight = derive2 { name="insight"; version="0.7.1"; sha256="0scjmr8qvwaswb9wfq2lxp1v5fl72way8cid9agrf0z1agp0adad"; depends=[]; };
   insol = derive2 { name="insol"; version="1.2"; sha256="14ikz05375pjn9hby7kwkhcnykjilbnkdy5i8lsl7c5qdbhmqcm5"; depends=[raster rgdal]; };
-  inspectdf = derive2 { name="inspectdf"; version="0.0.4"; sha256="0ydhh4nilmvf1gfba9cv7sgpvw60krqy2xk1p76d2vh0rzx8sacd"; depends=[dplyr ggfittext ggplot2 magrittr progress Rcpp tibble tidyr]; };
+  inspectdf = derive2 { name="inspectdf"; version="0.0.7"; sha256="03yli2fiyb3kw189aga9hiyxm9f9b2lhpx1cjv9silfgm0xj54lh"; depends=[dplyr ggfittext ggplot2 magrittr progress Rcpp tibble tidyr]; };
   inspectr = derive2 { name="inspectr"; version="1.0.0"; sha256="04rpr5ajpdx1d49y327dryxwxk27yljj4c96i9qglf02i9kmplkg"; depends=[openxlsx]; };
   instaR = derive2 { name="instaR"; version="0.2.4"; sha256="0c4m471ragkpksr0h21cdgnjxcknf01xqz543dahxgzjg9ncjwhg"; depends=[httr jsonlite]; };
   install_load = derive2 { name="install.load"; version="1.2.1"; sha256="148q0rjal5hfcb8ilxzd1bz38mn8vxqrsfg5x4jy48psk00fk3d9"; depends=[]; };
   insuranceData = derive2 { name="insuranceData"; version="1.0"; sha256="0wryh8i1v3bnpbqn6d6dpxr9bwwl6mnh5cb5igz0yanh4m1rx96w"; depends=[]; };
-  insurancerating = derive2 { name="insurancerating"; version="0.4.2"; sha256="16z129jhyr85riiki78f0l864j91fpikgkphkjf1qz4nc66r1p08"; depends=[classInt evtree ggplot2 mgcv stringr]; };
+  insurancerating = derive2 { name="insurancerating"; version="0.4.3"; sha256="0m4ndbyinmqd1207qmw796zm7xs10bqyc5k3pqvvjy765fcni95k"; depends=[classInt data_table evtree ggplot2 lubridate mgcv stringr]; };
   intRegGOF = derive2 { name="intRegGOF"; version="0.85-5"; sha256="0xjq8vdlgqlzrvp752gd4qfrpnpapx7k6xzfsvfril8ngvm9a162"; depends=[]; };
   intRvals = derive2 { name="intRvals"; version="1.0.0"; sha256="0391raj5wq6issvzqm8bfnv1ap2hh5nfsqi9r1x5ss37fvcq5fjm"; depends=[lme4 plyr]; };
   intamap = derive2 { name="intamap"; version="1.4-9"; sha256="060sghkqsdrxpa340rvjskh2wafdkffa5q8nlbg1msnsmk639lkn"; depends=[automap doParallel evd foreach gstat MASS mvtnorm rgdal sp]; };
   intamapInteractive = derive2 { name="intamapInteractive"; version="1.1-12"; sha256="1h8kzinfpp2rwal11xqs9g99rmigs0jlsr5h0qh0zsill73minid"; depends=[automap gstat intamap rgdal sp spatstat spcosa]; };
-  intccr = derive2 { name="intccr"; version="1.1.4"; sha256="0a7g5jymalv282x5znwgza1z9y8s0qdijnd1al2yilqz1jwb9bmc"; depends=[alabama doParallel foreach numDeriv]; };
+  intccr = derive2 { name="intccr"; version="2.0.0"; sha256="0861skkr9rlldlck1r5gv206s7wlx06bg4hgfqfbwqfih83r5zpz"; depends=[alabama doParallel foreach MASS]; };
   intcensROC = derive2 { name="intcensROC"; version="0.1.1"; sha256="0qkgp6iw2s772zk2533jsar64f5mqgy4874swgarnfgd4jvkwy2k"; depends=[pracma Rcpp RcppEigen]; };
+  intdag = derive2 { name="intdag"; version="1.0.1"; sha256="0mb0a1ccc67clfa75b4hl901zdmx7fxw713c4ybx3i5wc2ldl8ph"; depends=[]; };
+  intePareto = derive2 { name="intePareto"; version="0.0.1"; sha256="0mynqvmdb39zqx1z2y6bscfjkwf880b7pd149xsdbc6f49hlnfw6"; depends=[apeglm biomaRt DESeq2 GenomeInfoDb GenomicAlignments GenomicRanges IRanges rPref Rsamtools]; };
   integIRTy = derive2 { name="integIRTy"; version="1.0.6"; sha256="0nyp9nixwyz1n2nydkh64lmd5z4qjcabwa1pyzv69rgw5gx60020"; depends=[abind doParallel foreach ltm MASS mclust]; };
   integr = derive2 { name="integr"; version="1.0.0"; sha256="172vj29bdk42ibgwj7dl06wslpg2dccp1i8iscbz1yd0j5kw36sq"; depends=[DiagrammeR DiagrammeRsvg dplyr gtools rsvg]; };
   intensity_analysis = derive2 { name="intensity.analysis"; version="0.1.6"; sha256="1ydmn7njqk6i2667zaha8mvfndss4im39czadg1f3z6sndp2lsji"; depends=[diffeR ggplot2 raster reshape2 rgdal]; };
@@ -8718,16 +9085,18 @@ in with self; {
   interactionTest = derive2 { name="interactionTest"; version="1.2"; sha256="0ycr839l07xahakr4r2jvlmd0fcxfm4qi3g8agnyh24c2kwl3ck2"; depends=[]; };
   interactions = derive2 { name="interactions"; version="1.1.1"; sha256="0xsqsylfgqgdy7bh32v8x0yn5naf1jclv05dvpyvhladgd0q1c0m"; depends=[cli crayon generics ggplot2 jtools rlang tibble]; };
   intercure = derive2 { name="intercure"; version="0.1.0"; sha256="0j71dqcbcfl1zpfidh3xys5h3ggyhrzq3avkdm9v18pv464x8xlv"; depends=[foreach iterators MASS Matrix survival]; };
-  interep = derive2 { name="interep"; version="0.2.0"; sha256="18f5qkfq3rcr4n2vpdp4xp56cbg5z30cpk6wdchh64gly6g28bi0"; depends=[Rcpp RcppArmadillo]; };
+  interep = derive2 { name="interep"; version="0.3.0"; sha256="03a51vambjl7gwxk43k47iff65lc6xs66vmkiw3dhxjr3b3nxrh8"; depends=[MASS Rcpp RcppArmadillo]; };
   interferenceCI = derive2 { name="interferenceCI"; version="1.1"; sha256="19ky10nn6ygma6yy5h1krxx61aikh3yx5y39p68a944mz8f72vsn"; depends=[gtools]; };
   interflex = derive2 { name="interflex"; version="1.0.8"; sha256="117bq8cid36v6d2lrcywv5xqh6wm2z0fj9hwkjzwqhfkd8qhpq0a"; depends=[doParallel foreach ggplot2 lfe Lmoments lmtest mgcv pcse Rcpp RcppArmadillo sandwich]; };
   interfr = derive2 { name="interfr"; version="0.1.0"; sha256="1wn7i8dsll1qq3v39hgpbqnkjc8f4wlffy73453rw9lpq61y2fgj"; depends=[CircStats colorSpec plotrix]; };
   intergraph = derive2 { name="intergraph"; version="2.0-2"; sha256="1ipxdrfxhcxhcbqvrzqh3impwk4xryqlqlgjl7f2mwrf365zs6ph"; depends=[igraph network]; };
   interim = derive2 { name="interim"; version="0.8.0"; sha256="1hcq1cx6fv4ivvyd3ww3gsbw12g6rw83qqqbrcgzlnjl1q0jh3nf"; depends=[]; };
+  interimApp = derive2 { name="interimApp"; version="0.0.1"; sha256="1g2f1plsgzqf277jy2afhchjlcamr9znm02rj4rvky7nnp63gph0"; depends=[interim shiny shinyBS]; };
   interlineaR = derive2 { name="interlineaR"; version="1.0"; sha256="0y1ym6iwly8sv94pdzwv2qy1g7z4hpqlrbcrpb1ds5a62a6axqj5"; depends=[reshape2 xml2]; };
   internetarchive = derive2 { name="internetarchive"; version="0.1.6"; sha256="1cx9dxlrdz1xak4jrrjs2wsq6ml8n2xl0n0s6n9h3g247j4lfvnm"; depends=[dplyr httr]; };
   interp = derive2 { name="interp"; version="1.0-32"; sha256="10ccsyz9wy31mdf58g7drifnb2zpbzcpk6pbffqxa6b0yxrmfwsa"; depends=[deldir Rcpp RcppEigen]; };
-  interplot = derive2 { name="interplot"; version="0.2.1"; sha256="0kg17g12dccs6imdqkyagm3zqziah4hvlba72irpck03w6z4sdb3"; depends=[abind arm dplyr ggplot2 gridExtra interactionTest purrr]; };
+  interplot = derive2 { name="interplot"; version="0.2.2"; sha256="10licnz1x97ky7plq3j5gf23lg14jcx7bavv9mwib7p39ls5lagq"; depends=[abind arm dplyr ggplot2 gridExtra interactionTest purrr]; };
+  interpret = derive2 { name="interpret"; version="0.1.23"; sha256="06m35dmd029rrj762nqgxs6kj3zsz9k1b92idzyak1498i15xpxp"; depends=[]; };
   interpretR = derive2 { name="interpretR"; version="0.2.4"; sha256="0nfh3pyr7nn0r41xk0mfb4fs5rjkbh43lbw14x7pdmbgzpgsc22c"; depends=[AUC randomForest]; };
   interval = derive2 { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[Icens MLEcens perm survival]; };
   intervals = derive2 { name="intervals"; version="0.15.1"; sha256="1r2akz8dpix1rgvdply4r3m2zc08r0n96w9c97hma80g61a3i2ws"; depends=[]; };
@@ -8739,6 +9108,7 @@ in with self; {
   introgress = derive2 { name="introgress"; version="1.2.3"; sha256="1j527gf7pmfy5365p2j2jbxq0fb0xh2992hj4d7dxapn4psgmvsk"; depends=[genetics nnet RColorBrewer]; };
   intrval = derive2 { name="intrval"; version="0.1-1"; sha256="1p66cjpn43xib7rrnyv3jqr6bb49d3dxf888p8hxnr7kx9wfalkn"; depends=[]; };
   intsurv = derive2 { name="intsurv"; version="0.2.0"; sha256="1y6q7jyb5f01w3z7slwlpjz89m4vl77jg1pw4lab8q0aw27kfrfd"; depends=[Rcpp RcppArmadillo]; };
+  intsurvbin = derive2 { name="intsurvbin"; version="0.0.4"; sha256="119zjn1agl2j4fj4yg1pq1sqskzw93xfzppmc5n1x8llmfbxkqsj"; depends=[mgcv MHadaptive msm mvtnorm tmvtnorm]; };
   intsvy = derive2 { name="intsvy"; version="2.4"; sha256="19anm90rqhvdv0fsr2hbzkwsr3zc7pimq4gcg2mgj06gxqbwhym7"; depends=[foreign ggplot2 Hmisc memisc plyr reshape]; };
   intubate = derive2 { name="intubate"; version="1.0.0"; sha256="03ikqwai7wdahdfyzdy42xs8qpdhl9gmbak2qd82yxjl62956i8c"; depends=[]; };
   inum = derive2 { name="inum"; version="1.0-1"; sha256="16d09391l65w557dkzhhx1aqn1ljamcmjj3yh42pwq037k0r8brw"; depends=[libcoin]; };
@@ -8746,6 +9116,7 @@ in with self; {
   invLT = derive2 { name="invLT"; version="0.2.1"; sha256="0dcr2cclgzkvsw1lysmjrkwgahas96rjc328yc7a1a56pf62kw2v"; depends=[]; };
   invctr = derive2 { name="invctr"; version="0.1.0"; sha256="0jrbr53kvwrf800z18vz9df9bk7swpd4avnyf59ggz2bc0z2ijwk"; depends=[plyr rlang]; };
   inventorize = derive2 { name="inventorize"; version="1.0.2"; sha256="14pdmqp4h5041gn18wl5imsj4nha6n0wxnjmfbiry3n1lz4id584"; depends=[dplyr ggplot2 magrittr plyr]; };
+  inverseRegex = derive2 { name="inverseRegex"; version="0.1.0"; sha256="1wk3ac2rfy0m8442sa2m75s6l3wadx4d4cwas6c8n2xqkrphci87"; depends=[]; };
   investr = derive2 { name="investr"; version="1.4.0"; sha256="0l47bfwxssfr3maprkpwnmgxnxccl3ch4grc7f968iiqk83mcxw9"; depends=[nlme]; };
   invgamma = derive2 { name="invgamma"; version="1.1"; sha256="12ga2y4wc9bc5zz6vimvxwgjpsx3ys3209nq63gscbw559ydxa5a"; depends=[]; };
   io = derive2 { name="io"; version="0.3.0"; sha256="16mnbxq217ixfg2qfqrj97qqfpc5dj622hf80nwray6hp47lbw2s"; depends=[filenamer stringr]; };
@@ -8757,6 +9128,7 @@ in with self; {
   iosmooth = derive2 { name="iosmooth"; version="0.94"; sha256="06xgzhjgb6pznjzfli193q7kn8sh5jmqsssgymwj98bw7iwn4q3z"; depends=[]; };
   iotables = derive2 { name="iotables"; version="0.4.2"; sha256="1ds6j8x965fc2j11r507ljqwcaam0zz5q2vkhq9gkl53fjfgajlk"; depends=[dplyr eurostat forcats kableExtra knitr lubridate magrittr plyr purrr readxl tibble tidyr]; };
   iotools = derive2 { name="iotools"; version="0.2-5"; sha256="0rn6kvlcijnhlwajh6nmi80qlamxgz0x3pn09yp4hyfpl3zxg1fz"; depends=[]; };
+  ip2location = derive2 { name="ip2location"; version="8.0.0"; sha256="1rhy3jlcl4hcynhjgy3gjx9g9kyn30gq1jwfpll23jixvmrx64by"; depends=[jsonlite reticulate stringr]; };
   ipc = derive2 { name="ipc"; version="0.1.3"; sha256="10h54j83l7khk1lkpdwn6hwaz31i3v6svg4q1lxzvr2aqdsj7hy0"; depends=[R6 shiny txtq]; };
   ipcwswitch = derive2 { name="ipcwswitch"; version="1.0.3"; sha256="1pqlfkglgsahzsw7z9wsx7k0i9n0kx77g9p1j7i9dz7j74s6g09r"; depends=[survival]; };
   ipdmeta = derive2 { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; };
@@ -8764,28 +9136,34 @@ in with self; {
   ipeadatar = derive2 { name="ipeadatar"; version="0.1.0"; sha256="1qg67xmp9x5yv1gm0k6czycg89rpfa8cscrihmqibhscp5dansnj"; depends=[curl dplyr jsonlite lubridate magrittr purrr sjlabelled]; };
   ipflasso = derive2 { name="ipflasso"; version="0.2"; sha256="1awwwycad7bvpnnla5v5aqjqisxwc0wmc6wvs3k2gr4hcrkkcbcw"; depends=[glmnet survival]; };
   ipfp = derive2 { name="ipfp"; version="1.0.1"; sha256="12aklhf9p70r9b2wi0qgbl835b4lil805c31n1ka4kdix4b4cpr4"; depends=[]; };
+  ipfr = derive2 { name="ipfr"; version="1.0.0"; sha256="1rfzpssjb3mnky03zhzgah0h1fccda0aq8idpg22pxf4sk09pg9p"; depends=[dplyr ggplot2 magrittr mlr tidyr]; };
   ipft = derive2 { name="ipft"; version="0.7.2"; sha256="0jifmkwac5yfl110200ljm3pas3321j068af9xqzqs0av20m8hps"; depends=[apcluster cluster dplyr ggplot2 Rcpp]; };
   iplots = derive2 { name="iplots"; version="1.1-7.1"; sha256="1bz8n9cnx6zy3wsr49h55r0l5ikfl0xjg4r76fi4giid2a3ba4lf"; depends=[png rJava]; };
   ipptoolbox = derive2 { name="ipptoolbox"; version="1.2"; sha256="0scbny4crgr23qcp0vgsxhwmj5g5q5c1c4mb5mmb5njyvc34s01l"; depends=[AlgDesign copula evd kolmim triangle]; };
   ipred = derive2 { name="ipred"; version="0.9-9"; sha256="0vs1hqfx7yd0xdbmfsf2gim7spkni0845cj6gswn0nhdfdq7ma0d"; depends=[class MASS nnet prodlim rpart survival]; };
   iprior = derive2 { name="iprior"; version="0.7.3"; sha256="15qzqwikxy85fcd7psz363b5wb0kpi85icfyb47hbgdhln8fi2qb"; depends=[doSNOW foreach ggplot2 mvtnorm Rcpp RcppEigen reshape2 scales]; };
   ips = derive2 { name="ips"; version="0.0.11"; sha256="02jxanfhsjrabj33nwjv71vdc87hiyzikyqrfdj9ix6dky6lm199"; depends=[ape phangorn plyr seqinr XML]; };
-  iptmnetr = derive2 { name="iptmnetr"; version="0.1.5"; sha256="02lljbbr2sm90sgyjv6a17mbh758n93qqxfr900g0m557nsv35i8"; depends=[httr jsonlite]; };
+  iptmnetr = derive2 { name="iptmnetr"; version="0.1.6"; sha256="1hahsmb9lk8ml1z8yfin2qswb2rskqbdzf3ndzddqyixf585vsaa"; depends=[httr jsonlite]; };
   iptools = derive2 { name="iptools"; version="0.6.1"; sha256="143gawwp3aja5vycl43n6x5hzg3yvagi8x10v9y92hkif9v075qq"; depends=[AsioHeaders BH Rcpp readr stringi triebeard]; };
   ipumsr = derive2 { name="ipumsr"; version="0.4.2"; sha256="1y1s1grmfkaax04i9ig57lv1l64hcwdn420kv1w51f3jh28hbdgg"; depends=[cli crayon dplyr haven hipread pillar purrr R6 raster Rcpp readr rlang tibble tidyselect xml2 zeallot]; };
   ipw = derive2 { name="ipw"; version="1.0-11"; sha256="11a34j6lp329ran2r9kxn8184kfmibkdig74lsy6lj4w4w0d71cm"; depends=[geepack MASS nnet survival]; };
+  ipwCoxCSV = derive2 { name="ipwCoxCSV"; version="1.0"; sha256="0avnvf4pnpxnik3iwwglpwkc8h0vsx9v6fxldkbvq7l9bphdbba1"; depends=[survival]; };
   ipwErrorY = derive2 { name="ipwErrorY"; version="2.1"; sha256="14p22mwc120kdlf6r1hfx4kp7nqrz2nl2vpvy45j8rbrc571b6ka"; depends=[nleqslv]; };
+  iq = derive2 { name="iq"; version="1.1"; sha256="0i0i9xc0mdz026gg3iqyyjplvn8b3di045j3h6iiis2gwjswi6pr"; depends=[]; };
   iqLearn = derive2 { name="iqLearn"; version="1.5"; sha256="1zn43zvx0mjzh96bm73scacmladamy8jmhxim7hcfq39cfhiw3c8"; depends=[]; };
   irace = derive2 { name="irace"; version="3.3"; sha256="040d1cl8q5hmcji66bvgvm9wb8w6v7xzfsggbrar8490s9ldjhj4"; depends=[]; };
   ircor = derive2 { name="ircor"; version="1.0"; sha256="07apa4l4ib11xw25d44b403s3la29sqlid13q41hjrlfxafm91ld"; depends=[]; };
   irg = derive2 { name="irg"; version="0.1.1"; sha256="0g5rhahiq2k269n8ip4yj6ncra07j7flraphzxmis931sfpdsvam"; depends=[data_table RcppRoll]; };
   irlba = derive2 { name="irlba"; version="2.3.3"; sha256="1h7mzrqdjc41814cf6c93sbyl7nxwvsf3x8apl9rhmydgdlk7qkf"; depends=[Matrix]; };
   irr = derive2 { name="irr"; version="0.84.1"; sha256="1hs4ylqm51smrmgsph7z9arwkz5px2a320acar324fkjdd3yifp7"; depends=[lpSolve]; };
+  irrCAC = derive2 { name="irrCAC"; version="1.0"; sha256="1j9z8vz5zcl51a8qq6maf9sw0dqaknkrai7gp31mzag7b6vwms06"; depends=[]; };
+  irrICC = derive2 { name="irrICC"; version="1.0"; sha256="0vi5g97kbyhwxz242d1hpqf11izd3kmlzh3997v07md1llcsp6s3"; depends=[]; };
   irrNA = derive2 { name="irrNA"; version="0.1.4"; sha256="1i7s4c285dw1s2kiq01a81cfpd2v40y26yklr06xlmqp28iwslbr"; depends=[irr]; };
   irregulAR1 = derive2 { name="irregulAR1"; version="1.0.0"; sha256="0pccasqcya99j4n0qdcjjnvmigj53axji9ddxbpmrgvzsyamb8ja"; depends=[Matrix Rcpp RcppArmadillo]; };
   irtDemo = derive2 { name="irtDemo"; version="0.1.4"; sha256="0rpwryybnj7b4bxn0mn1m496y85s2fpqdd78lmdl6jg1ck4j4pb3"; depends=[fGarch shiny]; };
   irtProb = derive2 { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
   irtoys = derive2 { name="irtoys"; version="0.2.1"; sha256="0h6iiaxikhbxhbyksbjnb09qdxinlkwr2v9yzs5wslbni14paq5q"; depends=[ltm sm]; };
+  irtplay = derive2 { name="irtplay"; version="1.3.0"; sha256="1lix9j9xnid0npxmjyjk79an2jfcjf0k109d05cv5hv02813kj23"; depends=[dplyr ggplot2 gridExtra pbapply purrr reshape2 rlang statmod tidyr]; };
   irtrees = derive2 { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
   irtreliability = derive2 { name="irtreliability"; version="0.1-1"; sha256="15qs8bvgrwajj5kfd57rd34l1p2805ilyd7w60ngrqc14d6az9d2"; depends=[fastGHQuad ltm mirt]; };
   isa2 = derive2 { name="isa2"; version="0.3.5"; sha256="17vm0906szhrh2k5x694vwcfijbzmd1v3axpszfybc0lgds437cv"; depends=[lattice]; };
@@ -8805,7 +9183,7 @@ in with self; {
   isoph = derive2 { name="isoph"; version="1.1.3"; sha256="0905qw3aa7l09ljzm4q78pgy1z8kzv0jzhxa49293z9jy6g3x0mm"; depends=[Iso survival]; };
   isotone = derive2 { name="isotone"; version="1.1-0"; sha256="0alk0cma5h3yn4w2nqcahprijsm89b0gby9najbngzi5vnxr6nvn"; depends=[nnls]; };
   isotonic_pen = derive2 { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
-  ispd = derive2 { name="ispd"; version="0.1"; sha256="0dq7dkb2bvrw0yxh2i19ncjim641rqyph9kq9np00wsb3aiz1559"; depends=[ibd]; };
+  ispd = derive2 { name="ispd"; version="0.2"; sha256="06h4z342d17rkpr2wwck4sq79kprdq6fgqf10jg8cs1f52q6pq0h"; depends=[ibd]; };
   isqg = derive2 { name="isqg"; version="1.2"; sha256="1g4nwngljx6sp2k29pn2v8zgp2nh61w75bg36ihlq093hiq6w7gd"; depends=[BH R6 Rcpp]; };
   istacr = derive2 { name="istacr"; version="0.1.0"; sha256="0vzf4zvh4qk7nflndmicz510859hh6sxwh0agwzygg80pbdrf02c"; depends=[curl jsonlite]; };
   isva = derive2 { name="isva"; version="1.9"; sha256="05qx9q0kg4ma23v4abhihw0vz017nq6hv2jzsiqx4d20ngh1dl4z"; depends=[fastICA JADE qvalue]; };
@@ -8825,9 +9203,10 @@ in with self; {
   itsmr = derive2 { name="itsmr"; version="1.9"; sha256="0dmijaq6q31irwrjqv5gq1yfbgggwb3m6rwbg4lx1r9l3cqays7i"; depends=[]; };
   itunesr = derive2 { name="itunesr"; version="0.1.3"; sha256="1czwkrqy3jqw1x0z5zj2kvp4p11s5zdiswwhx9jfxdcsg86zhr45"; depends=[curl jsonlite lubridate xml2]; };
   iva = derive2 { name="iva"; version="0.1.0"; sha256="0dchb263ygilxapwsw2gpl18z12wcjsz8zz5fg7h068hmcysa88g"; depends=[Formula ucminf]; };
+  ivdesc = derive2 { name="ivdesc"; version="1.0.0"; sha256="134dia4wwg7pazc92ccsb3pmsp9kpszr3j5ziyh0ld53qdmcsmz3"; depends=[knitr purrr rsample]; };
   ivfixed = derive2 { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
   ivmodel = derive2 { name="ivmodel"; version="1.7.1"; sha256="0v8alqn141s9rymk29xqmdx7gpp8ivz4525afvarxmp9sm2rqq0q"; depends=[Formula ggplot2 Matrix reshape2]; };
-  ivmte = derive2 { name="ivmte"; version="1.0.1"; sha256="12gr4b4l85q3n9j0j4hxq8203jp8lzgy33ifgq9grkyyimkfc5fa"; depends=[Formula polynom]; };
+  ivmte = derive2 { name="ivmte"; version="1.1.0"; sha256="0a7m04n7lyqykfix0shjhbgnl502zlyigxb997v8wbmx9sx2vk56"; depends=[Formula]; };
   ivpack = derive2 { name="ivpack"; version="1.2"; sha256="0cr5acjrn41d3q0b77hlg2jmsbf1msvys9gcavm1blsryg2bc03c"; depends=[AER lmtest sandwich]; };
   ivpanel = derive2 { name="ivpanel"; version="1.0"; sha256="0irjmkw3nnd8ssidvj23lr0hihlhd9acsbaznh88lknx53ijc2qv"; depends=[Formula]; };
   ivprobit = derive2 { name="ivprobit"; version="1.1"; sha256="05b5gf5gmi2yrkg61n7w12qlgpnjakd1z8hhqxy6py8hahsf84gm"; depends=[Formula]; };
@@ -8837,8 +9216,10 @@ in with self; {
   jSDM = derive2 { name="jSDM"; version="0.1.0"; sha256="0lkapg6v5lh53vnsg5hcr9qis8qimb6ilds23dqcyhi6w3dys9nb"; depends=[coda corrplot Rcpp RcppArmadillo RcppGSL]; };
   jSonarR = derive2 { name="jSonarR"; version="1.1.1"; sha256="054q3ly471xa64yyz2as6vkr440ip1y8n5wl6s3zbhqy3bqkdqif"; depends=[jsonlite RCurl]; };
   jaatha = derive2 { name="jaatha"; version="3.2.1"; sha256="0zqvylknvymggw5jl40cfyahfjy64wb25f0qymh78xbamv1hc85w"; depends=[assertthat R6]; };
+  jabr = derive2 { name="jabr"; version="0.1.0"; sha256="0c8ihffwgj14phbl51cabk2jcnnxipqlbsxq73yvg57a8vj6yj24"; depends=[ckanr dplyr glue httr magrittr purrr rappdirs rlang stringr tibble tidyr]; };
   jaccard = derive2 { name="jaccard"; version="0.1.0"; sha256="1dmla6qc1k8iw2d7zfjqhf13gqd2lpsrj09yh47ljf994fpab936"; depends=[dplyr magrittr qvalue Rcpp]; };
-  jackalope = derive2 { name="jackalope"; version="0.1.2"; sha256="0mjlilsjh8y3rwskqa1xqhdz4f2za1a25jvhl4d3j54rc6ldkj0k"; depends=[ape R6 Rcpp RcppArmadillo RcppProgress Rhtslib zlibbioc]; };
+  jack = derive2 { name="jack"; version="1.1.1"; sha256="1mp7cfmh3bzfansb3dyqq347qk6kkf4ndn23pbd78h1xcb54555b"; depends=[DescTools gmp multicool mvp partitions]; };
+  jackalope = derive2 { name="jackalope"; version="1.0.0"; sha256="1v2n8ip0nfrdpd263yvr9jnmz9yx9m76vdwds18wj8504y95fzcv"; depends=[ape R6 Rcpp RcppArmadillo RcppProgress Rhtslib zlibbioc]; };
   jackknifeKME = derive2 { name="jackknifeKME"; version="1.2"; sha256="0c5shl6s46kz7a623gccqk2plrrf2g29nwr6vbny6009pq3jvzam"; depends=[imputeYn]; };
   jackstraw = derive2 { name="jackstraw"; version="1.3"; sha256="02qcaf2p0fyni6n2zhd7vp65kniz74di0pf5jzz79jwj15cfd1b0"; depends=[cluster ClusterR corpcor irlba lfa qvalue rsvd]; };
   jacpop = derive2 { name="jacpop"; version="0.6"; sha256="0kq6rn33civ2g6i5nwfqvcgmnn5k2dwmw60lkmz4ywm0y4xxlkai"; depends=[]; };
@@ -8847,7 +9228,7 @@ in with self; {
   james_analysis = derive2 { name="james.analysis"; version="1.0.1"; sha256="1b2n4ds4ivfk564z87s2rxjl9j0y4drd3cmyv8jqpccmdvx1137d"; depends=[naturalsort rjson]; };
   janeaustenr = derive2 { name="janeaustenr"; version="0.1.5"; sha256="1wyn4qc28a3sval8shmyi2d7s4nl3jh96s8pzq871brxcmrncbwr"; depends=[]; };
   janitor = derive2 { name="janitor"; version="1.2.0"; sha256="131bld44bkjahpby0aqscl9sh1abc31dx2822vbdvib55hls45ay"; depends=[dplyr magrittr purrr rlang snakecase tidyr]; };
-  jaod = derive2 { name="jaod"; version="0.1.0"; sha256="0wh1nlfhks4c1dga6h7554pg44pamj73x5in71k2xw0yp292zm6x"; depends=[crul jsonlite tibble]; };
+  jaod = derive2 { name="jaod"; version="0.2.0"; sha256="0cphwfmv5pbkf9hvz9w25gncldycgdfxmg6ajbvj9mdl46z3jddw"; depends=[crul jsonlite tibble]; };
   jarbes = derive2 { name="jarbes"; version="1.7.2"; sha256="0qjnx0m65f6a8r6y5mwplaq518lrsf73k8zbf728v857nbjlhf2l"; depends=[ggExtra ggplot2 gridExtra MASS mcmcplots R2jags rjags]; };
   jcext = derive2 { name="jcext"; version="0.1.1"; sha256="02zppiyq3gy551zi1g00gam1w4y1wgzn5zi9wrcz8yw915dla0ix"; depends=[ggplot2 maps RColorBrewer rworldmap sp stringr]; };
   jcolors = derive2 { name="jcolors"; version="0.0.4"; sha256="18dmjcrci0z1xy2kglrarzm0idr9g3nhbbw7f1ijls3i0piqdri6"; depends=[ggplot2 scales]; };
@@ -8866,47 +9247,46 @@ in with self; {
   jmdem = derive2 { name="jmdem"; version="1.0"; sha256="1qz2l02m4gnxrm1ankr5qqlskl8amphzj8r763yas218fvzfa34q"; depends=[statmod VGAM]; };
   jmdl = derive2 { name="jmdl"; version="0.3.0"; sha256="0167yj368lh1n79jwbqs4g2asb67hfmgh97519linmfpx0n6xdpa"; depends=[boot Formula MASS minqa mnormt mvtnorm]; };
   jmetrik = derive2 { name="jmetrik"; version="1.1"; sha256="1if1kxx8apgkbxpkjnlj2lpsfnyj2splsg1p3j5vxa7q6wx70f9j"; depends=[]; };
-  jmotif = derive2 { name="jmotif"; version="1.0.3"; sha256="1llmrksajrd35kfdzq2vqfm17yv5kwark6gz3rvyzcmbrqk5spqv"; depends=[Rcpp RcppArmadillo]; };
-  jmuOutlier = derive2 { name="jmuOutlier"; version="2.1"; sha256="0nmaxmqx0h7qmv0cl0j51945glxvchlvvbj58i90gds61fngi5wh"; depends=[]; };
-  jmv = derive2 { name="jmv"; version="0.9.6.1"; sha256="10b59415wb48k2wv2n74v89acgj843qk4pp0jkpns6nhymw41m0q"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
-  jmvconnect = derive2 { name="jmvconnect"; version="1.0.8"; sha256="0r2idgvhhz2dqh3svc4l8is29h4zwl0qicv8961v646c8k1pdl0i"; depends=[BH evaluate httr jmvcore rappdirs Rcpp]; };
-  jmvcore = derive2 { name="jmvcore"; version="1.0.0"; sha256="1agwzmd24b22x303dpmb5qjbzsrxp287n52c7iavzx42sfishayi"; depends=[base64enc R6 rjson rlang stringi]; };
+  jmuOutlier = derive2 { name="jmuOutlier"; version="2.2"; sha256="1vj9n1hsf780f7l0a22kmi3qm84j4dzjybjkh5zwh6bhwfjnjws3"; depends=[]; };
+  jmv = derive2 { name="jmv"; version="1.0.8"; sha256="0h62kmg7z08a5kz4fyz0l1s1hx6i8p75xm5k2pq80jryd6nk3xkg"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
+  jmvconnect = derive2 { name="jmvconnect"; version="1.0.9"; sha256="1x74zwnp3cdwqsv7djnqcv6k0nrf7v7ng6pk79lzninbssm24sr1"; depends=[BH evaluate httr jmvcore rappdirs Rcpp]; };
+  jmvcore = derive2 { name="jmvcore"; version="1.0.8"; sha256="11g6cmiw6l3xkppm6xz1k2lm6xl69ll2av9vn755ngbvf09fgywn"; depends=[base64enc R6 rjson rlang stringi]; };
   jocre = derive2 { name="jocre"; version="0.3.3"; sha256="1i9n3r16pq6r4sy3fc1rxpil5ws8v2is0xdxafinvwr1hzkv1gz6"; depends=[boot KernSmooth plyr TSP]; };
   joinXL = derive2 { name="joinXL"; version="1.0.1"; sha256="1l76bckjz5r1kdsh0s10i0gpca12rkfkp14346fn7avdcw73v23i"; depends=[data_table openxlsx R_utils rChoiceDialogs Rcpp readxl rJava timeDate timeSeries]; };
   joineR = derive2 { name="joineR"; version="1.2.4"; sha256="05wr7gr3mnsfj8a1m5v1b71gh3fc4pyhj6rqapls7iwrkywbf1b6"; depends=[lattice MASS nlme statmod survival]; };
   joineRML = derive2 { name="joineRML"; version="0.4.2"; sha256="06a7iicq3fngsmmi8qcz2fdzdzvym5s70s3aaqlzxnl4sj9km3g2"; depends=[cobs doParallel foreach ggplot2 lme4 MASS Matrix mvtnorm nlme randtoolbox Rcpp RcppArmadillo survival]; };
   joineRmeta = derive2 { name="joineRmeta"; version="0.1.1"; sha256="0d9wwb3v43v30xjy67j366mhwixzz79bm67j01fqmcdsnmn3qpjn"; depends=[ggplot2 gridExtra gtools JM joineR lme4 MASS Matrix meta msm nlme statmod survival]; };
-  joinet = derive2 { name="joinet"; version="0.0.1"; sha256="0yljnyfba49pzayhlq7ksfbkyx30r6ychky79041g57bdil85ywj"; depends=[cornet glmnet palasso]; };
-  joint_Cox = derive2 { name="joint.Cox"; version="3.4"; sha256="0xq7rvqbc6mrxpn90a7wid4kx5fhq42mynsxnhdnppwshb9zr46y"; depends=[survival]; };
+  joinet = derive2 { name="joinet"; version="0.0.3"; sha256="01rql7nidmzhrz6agy5kphsln5nl4lpyrqdrfmf5w98zjr8yqkpr"; depends=[cornet glmnet palasso]; };
+  joint_Cox = derive2 { name="joint.Cox"; version="3.7"; sha256="1h9cqmly5rrrqvxzkx5fxjaqzks9hpvb2ggaw8b5rn67wbyblrl9"; depends=[survival]; };
   jointDiag = derive2 { name="jointDiag"; version="0.3"; sha256="0pra70jcnkqkzrxz5vc6lzi637rp5w8n9wbv9ix718vnd0j3fm3n"; depends=[]; };
   jointMeanCov = derive2 { name="jointMeanCov"; version="0.1.0"; sha256="1cai5g63n11dirn9fldzkqxcnkxc20ndr9ygrr9rk0s1qz8x63pb"; depends=[glasso]; };
   jointNmix = derive2 { name="jointNmix"; version="1.0"; sha256="0ibh7hqkpzlfk3bk4d2dd64jhr8cvw563k082vwnljiam7k5nj4b"; depends=[]; };
   jointPm = derive2 { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
   jointseg = derive2 { name="jointseg"; version="1.0.2"; sha256="0zilkxk30w3l9mwikmsgvpy5misjggs98c3bjrjy1pfc4b0is943"; depends=[acnr DNAcopy matrixStats]; };
-  jomo = derive2 { name="jomo"; version="2.6-9"; sha256="16ychdhhv8cii8zrdfdf5gzgnvmfaq573bmi00xqdf323q3lf3xr"; depends=[lme4 MASS ordinal survival]; };
+  jomo = derive2 { name="jomo"; version="2.6-10"; sha256="1k9l4290g350zbw1pjs871q9bxj3j2h1dilxpp06v4wy4n7d8qs0"; depends=[lme4 MASS ordinal survival]; };
   josaplay = derive2 { name="josaplay"; version="0.1.3"; sha256="0q6kjk3mjxwbqvq3zz0ylpi1viznp9pxzngqpjzv5sibv0ndh0lf"; depends=[magrittr utf8]; };
   jose = derive2 { name="jose"; version="1.0"; sha256="1yna3x4hi0vn23dqi605nn1y313brwh2wcv527bm3mdbscgsi2jf"; depends=[jsonlite openssl]; };
-  jpeg = derive2 { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
+  jpeg = derive2 { name="jpeg"; version="0.1-8.1"; sha256="1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"; depends=[]; };
   jpmesh = derive2 { name="jpmesh"; version="1.1.3"; sha256="0ybv19bmrcwzan151p4px0vv6qnaqmk4fgqvqlh4syjnrb6xv0c5"; depends=[leaflet magrittr miniUI purrr rlang sf shiny tibble units]; };
   jpndistrict = derive2 { name="jpndistrict"; version="0.3.4"; sha256="1z1rgqibksxrz0048zk78xlsm595jbm3y6xkrqcifm1xnqgh1fys"; depends=[dplyr jpmesh leaflet magrittr miniUI purrr rlang sf shiny tibble tidyr tidyselect]; };
   jqr = derive2 { name="jqr"; version="1.1.0"; sha256="00x5a61bsn2ywzc2haz19f6h0sqhlx7z3k1n9y0729dwm4id89ms"; depends=[lazyeval magrittr]; };
-  jrc = derive2 { name="jrc"; version="0.1.1"; sha256="0ywvdipbiavaifksy5nmgk9x10p4pxjflgzjzj1igxav3lsh2wpd"; depends=[httpuv jsonlite stringr]; };
+  jrc = derive2 { name="jrc"; version="0.2.1"; sha256="1izyl787p3n36mrsk3bz16lxykf29140w7cj7mk0lg03qa8fx3cd"; depends=[httpuv jsonlite mime stringi stringr]; };
   jrich = derive2 { name="jrich"; version="0.60-35"; sha256="1y486bfqmfg3f22wm0lfk3lh20ljgi8qrgn5jji0f417wh48nf0x"; depends=[ape]; };
   jrt = derive2 { name="jrt"; version="1.0.1"; sha256="023i0xqz8mhnjnii92vjw64mjnnlf8jaji99i4c2vxcr7m83jm0r"; depends=[directlabels dplyr ggplot2 ggsci irr mirt psych tidyr]; };
   jrvFinance = derive2 { name="jrvFinance"; version="1.4.1"; sha256="1gkivmvc0njm32w7yhbh02h9p212xa3m4cvrwcy7yray8g6phdxp"; depends=[]; };
   js = derive2 { name="js"; version="1.1"; sha256="1xsdr14k4djcd1nqybvfzhviics4igsj8yz3r0j2nqhin2wjynlf"; depends=[V8]; };
   jsTree = derive2 { name="jsTree"; version="1.0.1"; sha256="0n754illyw29bprll676k9qm5vk5h8qss6gb8lls57kdzj51x2jz"; depends=[data_table htmlwidgets jsonlite]; };
-  jskm = derive2 { name="jskm"; version="0.3.5"; sha256="19r1517ismcm5393gi1vwjd32zhgwk65zr3ghaxrn1br6sgdy57s"; depends=[ggplot2 gridExtra plyr scales survey survival]; };
-  jsmodule = derive2 { name="jsmodule"; version="0.9.9"; sha256="1hzw7ib59l4dckmwqf8xv5h34y7xiglg9jll6qv459nqj3nwjyw7"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 haven Hmisc jskm jstable labelled MatchIt maxstat pROC purrr readxl rstudioapi see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival tableone timeROC]; };
+  jskm = derive2 { name="jskm"; version="0.3.8"; sha256="1z420lx4ayn19k8d13p4ii8r035jingli618mpfjl3wk95hzigqf"; depends=[ggplot2 gridExtra plyr scales survey survival]; };
+  jsmodule = derive2 { name="jsmodule"; version="1.0.4"; sha256="1b81k4kgx0bzwdvq777gfj36mhw1832fbb8bijx6np2w46z1xkyg"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 haven Hmisc jskm jstable labelled MatchIt maxstat pROC purrr RColorBrewer readr readxl rstudioapi see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival tableone timeROC]; };
   json64 = derive2 { name="json64"; version="0.1.3"; sha256="19q8qgf4wnd3np12ajy180klpjy0g2csw5micwb4sl7qfzl6wc7j"; depends=[jsonlite]; };
-  jsonify = derive2 { name="jsonify"; version="0.2.1"; sha256="1jrc7w9i0riy6ls18d127i5ac6wlpc03n01bw74kkrwl4f6f17fn"; depends=[BH rapidjsonr Rcpp]; };
+  jsonify = derive2 { name="jsonify"; version="1.0.0"; sha256="0cxdbihcl4w43gvskjw420i6dm689jcydp2dzc371152ysdsjjzd"; depends=[BH rapidjsonr Rcpp]; };
   jsonld = derive2 { name="jsonld"; version="2.1"; sha256="0lp0lp9nbk31dia2nq6xba29ymak9h5wl4zbq4pdqw6qm9iwz6ww"; depends=[curl jsonlite V8]; };
   jsonlite = derive2 { name="jsonlite"; version="1.6"; sha256="0lyvhnr6n57h3a89bvipii7x17nvfaycm9j5j50bfrlr48jv9ic8"; depends=[]; };
   jsonstat = derive2 { name="jsonstat"; version="0.0.2"; sha256="0p0d3snl1971p5ikrkmwqrjjh4fy0b89qk3rnd1dayfb0r80xnnj"; depends=[cli dplyr jsonlite rlang]; };
   jsonvalidate = derive2 { name="jsonvalidate"; version="1.1.0"; sha256="1vxklvkva547mzbgi7hll46sfx274c6j4m70algygphz783x3dsx"; depends=[V8]; };
   jsr223 = derive2 { name="jsr223"; version="0.3.3"; sha256="0i00nbsj6b4mx9pgp5rana1kj57hi4lz3lsiniv7baz5avmhp65n"; depends=[curl jdx R6 rJava]; };
-  jstable = derive2 { name="jstable"; version="0.8.5"; sha256="00l88jxrrxkp1ijvfswr32xy5sqzqaa8q783layc0jf9b8fgf59z"; depends=[car coxme data_table dplyr geepack labelled lme4 magrittr purrr survey survival tableone tibble]; };
-  jstor = derive2 { name="jstor"; version="0.3.6"; sha256="00sd4mq21al8f8ixgy8f65xbgp90if1jpp7mcm50jrbajdwwflmk"; depends=[cli crayon dplyr furrr magrittr pryr purrr readr rlang stringr tibble tidyr xml2]; };
+  jstable = derive2 { name="jstable"; version="0.9.0"; sha256="1qfqz6lisl6pksxfb0anqcm4m01ljr2nscz2f1agcpimrwlcmgvr"; depends=[car coxme data_table dplyr geepack labelled lme4 magrittr purrr survey survival tableone tibble]; };
+  jstor = derive2 { name="jstor"; version="0.3.7"; sha256="0if7ngqs9ncnkg9kiag3k51ipxiyrkaqm7lzmvp84hysqq8536jc"; depends=[cli crayon dplyr furrr magrittr pryr purrr readr rlang stringr tibble tidyr xml2]; };
   jtGWAS = derive2 { name="jtGWAS"; version="1.5.1"; sha256="06cgsncgrqslxcc7s0lb3zwa85bhzkmjzz3f04716xpzwa186vxq"; depends=[Rcpp]; };
   jtools = derive2 { name="jtools"; version="2.0.1"; sha256="03c3nii7il8wjdpv99xqlbpf12hjpw7ni4vdqxmkffybra6c97nx"; depends=[crayon ggplot2 magrittr pander pkgconfig rlang tibble]; };
   jtrans = derive2 { name="jtrans"; version="0.2.1"; sha256="18zggqdjzjhjwmsmdhl6kf35w9rdajpc2nffag4rs6134gn81i3m"; depends=[]; };
@@ -8918,22 +9298,23 @@ in with self; {
   jvnVaR = derive2 { name="jvnVaR"; version="1.0"; sha256="0zh0dc6wqlrxn5r2yv9vkpyfb8xsbdidkjv9g6qr94fyxlbs4yci"; depends=[]; };
   jwutil = derive2 { name="jwutil"; version="1.2.3"; sha256="1cqqbz6n26gmv9jbsf8d2lmzcbyppc8hs882ms56d8fkv3ism4zl"; depends=[Rcpp testthat]; };
   kSamples = derive2 { name="kSamples"; version="1.2-9"; sha256="1zs22p68d6320kcylisnk0b5wmpapxkyz15py09czxzw7npw8gms"; depends=[SuppDists]; };
+  kStatistics = derive2 { name="kStatistics"; version="1.0"; sha256="1bfxn38lx5yvz65l9kn29wmqjlv80jar3sra6d89rn58l6rszj6n"; depends=[]; };
   kableExtra = derive2 { name="kableExtra"; version="1.1.0"; sha256="1nicvw06xsf3a1f5c10mih07b76m2v5s5h165vmz0qx6n1a3492i"; depends=[digest glue htmltools knitr magrittr readr rmarkdown rstudioapi rvest scales stringr viridisLite webshot xml2]; };
   kader = derive2 { name="kader"; version="0.0.8"; sha256="15f2swgngw5rdjdsh5kd55wm2nivlfs8pv4mdn0b75qihwgg1zkk"; depends=[]; };
   kamila = derive2 { name="kamila"; version="0.1.1.3"; sha256="0ssyqn6n1jlslg5kvimakjq9xnb4r8k6ri1a76b13lr11zbl4l10"; depends=[abind gtools KernSmooth plyr Rcpp]; };
   kangar00 = derive2 { name="kangar00"; version="1.3"; sha256="1gxz2lq8vbpjvnriakwipy4fl3mvhrdpnyrnyra3w7zmhlbfp2dd"; depends=[bigmemory biomaRt CompQuadForm data_table igraph lattice sqldf]; };
   kantorovich = derive2 { name="kantorovich"; version="2.0.0"; sha256="0y965nkhgk0z2q2j3sycfg76aqqi3ry8avg0bz9xggpd60bhh5vd"; depends=[gmp lpSolve rcdd Rglpk]; };
-  kaos = derive2 { name="kaos"; version="0.1.1"; sha256="08fpzxag4ckwhgy634rvh1xyqy0v1gm4h1y74x33fip9il00l2cq"; depends=[ggplot2 reshape2]; };
+  kaos = derive2 { name="kaos"; version="0.1.2"; sha256="0hzzb8ldydl4g3cl1579q8jv835q4cdmn8agafp6qqdhwi1xxw8k"; depends=[ggplot2 reshape2]; };
   kaphom = derive2 { name="kaphom"; version="0.3"; sha256="081drgckirc0wv2viyhhnabrlfzi0nkpq6pffw2rxfjyxdsyvnwa"; depends=[]; };
   kappaSize = derive2 { name="kappaSize"; version="1.2"; sha256="0lrcyj85zcl73m6bhbzl6rkprrfpfwmm4amyjkg1xsasy5zlwk67"; depends=[]; };
   kappalab = derive2 { name="kappalab"; version="0.4-7"; sha256="16bwbwwqmq2w7vy8p3wg0y80wfgc8q5l1ly1mqh51xi240z1qmq0"; depends=[kernlab lpSolve quadprog]; };
   kaps = derive2 { name="kaps"; version="1.0.2"; sha256="0jg4smbq51v88i3815icb284j97iam09pc52rv3izxa57nv9a0gz"; depends=[coin Formula survival]; };
   karaoke = derive2 { name="karaoke"; version="1.0"; sha256="1kx11lijdffhhh8prjgsamshgg2v29b2i129fjqi079waa335352"; depends=[seewave tuneR]; };
-  kayadata = derive2 { name="kayadata"; version="0.4.0"; sha256="0azy6aiwwi1imcw242b8c917qrni52biymgxcicfch0ncr62xrvf"; depends=[dplyr forcats ggplot2 magrittr scales stringr tidyr]; };
+  kayadata = derive2 { name="kayadata"; version="0.4.2"; sha256="198wa3bzvgk97b65v11nnbdw0myyricy0ig4b52n3m5ib9781snm"; depends=[dplyr forcats ggplot2 magrittr scales stringr tidyr]; };
   kazaam = derive2 { name="kazaam"; version="0.1-0"; sha256="0j7vysnmiv9sggcxdn3nrgfvyl52pza4kkjnsa0xlb3fzq9qpwlz"; depends=[pbdMPI]; };
   kcirt = derive2 { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[corpcor mvtnorm snowfall]; };
   kcpRS = derive2 { name="kcpRS"; version="1.0.0"; sha256="067j91rhw56kf15h7hxpm9qr6i59fvy5fh9ycfdqcps83wjgx62x"; depends=[doParallel foreach RColorBrewer Rcpp roll]; };
-  kde1d = derive2 { name="kde1d"; version="0.4.0"; sha256="0sgq85fn5zfdczazq6wb8rgiv7bab6j3zh8gl2bsm1925h8k4x0p"; depends=[BH cctools qrng Rcpp RcppEigen]; };
+  kde1d = derive2 { name="kde1d"; version="1.0.2"; sha256="0m6y1anzl5agb8xpywn2pv6hx4l7k0352bxnzxcs23iksbimxx13"; depends=[BH randtoolbox Rcpp RcppEigen]; };
   kdecopula = derive2 { name="kdecopula"; version="0.9.2"; sha256="0g5c12wm3byd4chd8i9mxv599gsf4ip4qghx83j3mmhsmn05zf4y"; depends=[lattice locfit qrng quadprog Rcpp RcppArmadillo]; };
   kdensity = derive2 { name="kdensity"; version="1.0.1"; sha256="1iinwbyn3d10gsh7i43sm9hf93baqla3gd5s10kiik76r7d97pdc"; depends=[assertthat]; };
   kdetrees = derive2 { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
@@ -8946,22 +9327,21 @@ in with self; {
   kelvin = derive2 { name="kelvin"; version="2.0-0"; sha256="04xdgpmysksm79m3vqmb4zra3pq09nv99w4fbdla1lmy7z8pkdrk"; depends=[Bessel]; };
   kendallRandomWalks = derive2 { name="kendallRandomWalks"; version="0.9.4"; sha256="1mfqblvsn9p6gdcnbypfpzk0xzn6bz1ajbrkz2dap5w35dia3kxa"; depends=[actuar dplyr ggplot2 tibble]; };
   kequate = derive2 { name="kequate"; version="1.6.2"; sha256="08p2dv5swp5458n9sx262s330cj8iy86vr6d8989mjzfys2jyb4q"; depends=[equateIRT ltm mirt]; };
-  keras = derive2 { name="keras"; version="2.2.4.1"; sha256="0zirg7vmlq90fjd4p5mgyyrdfg92az8yc4ynbi9w63a39xl03ys8"; depends=[generics magrittr R6 reticulate tensorflow tfruns zeallot]; };
+  keras = derive2 { name="keras"; version="2.2.5.0"; sha256="14a1mhx95446s8smd4s7adzlmpzx18kqsbgzva4gbya1b48bkw3l"; depends=[generics magrittr R6 reticulate tensorflow tfruns zeallot]; };
   kerasR = derive2 { name="kerasR"; version="0.6.1"; sha256="1yi7710vgcwz0jhishbga41sc6qyk83a0avmq01dvqjsz3cdfsfc"; depends=[reticulate]; };
   kerasformula = derive2 { name="kerasformula"; version="1.5.1"; sha256="1b4mq1y41lz8maszlrm7w907vcz7in8napfnhas7dgal1kid4mcf"; depends=[dplyr ggplot2 keras Matrix]; };
   kerdiest = derive2 { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[chron date evir]; };
-  kergp = derive2 { name="kergp"; version="0.4.0"; sha256="0b5milibiacxmflrbddl6fjkc54cv0q5w8dqpxikx2vly4as9g5z"; depends=[doFuture doParallel MASS nloptr numDeriv Rcpp testthat]; };
+  kergp = derive2 { name="kergp"; version="0.5.0"; sha256="000hs9mi22k0wyafnj5a3vnhfq9la0s159afnd9133bjx0l6q2g7"; depends=[doFuture doParallel lattice MASS nloptr numDeriv Rcpp testthat]; };
   kernDeepStackNet = derive2 { name="kernDeepStackNet"; version="2.0.2"; sha256="04bdggxvggmppp289n2zw6ijdm7y05gws6z7bp6fr8n1zsxy2w3c"; depends=[caret DiceKriging DiceOptim GA GenSA glmnet globalOptTests lhs matrixStats mvtnorm Rcpp RcppEigen]; };
   kerndwd = derive2 { name="kerndwd"; version="2.0.2"; sha256="0nf5hyb274gn02n4lygwryv1jaqff77i040bd8gs1xykgvy6jxny"; depends=[]; };
   kernelFactory = derive2 { name="kernelFactory"; version="0.3.0"; sha256="001kw9k3ivd4drd4mwqapkkk3f4jgljiaprhg2630hmll064s89j"; depends=[AUC genalg kernlab randomForest]; };
-  kernelPSI = derive2 { name="kernelPSI"; version="1.0.0"; sha256="1a5pg8y4p86558d6rkvzzw41vadkpvw0vxnnksc2lrc6xj7nx25y"; depends=[CompQuadForm kernlab lmtest pracma Rcpp RcppArmadillo tmg]; };
+  kernelPSI = derive2 { name="kernelPSI"; version="1.1.0"; sha256="09fdh3zgc13a6i66kw9qmsy8wa7mq7359ym3srf5dzv57hz9x8md"; depends=[CompQuadForm kernlab lmtest pracma Rcpp RcppArmadillo]; };
   kernelTDA = derive2 { name="kernelTDA"; version="0.1.1"; sha256="0rghj0yx32r6565mb06k83qfmnf7lajdhdg2zf8kjd9jyzidqdrn"; depends=[BH mvtnorm Rcpp RcppEigen Rdpack]; };
-  kernelboot = derive2 { name="kernelboot"; version="0.1.5"; sha256="0m31akhya7390lbkw0cjxcrzw28njbz4smd35m93aarb2lgpcj4k"; depends=[future future_apply Rcpp]; };
+  kernelboot = derive2 { name="kernelboot"; version="0.1.6"; sha256="151jksyd316wdlinzikpik9g4x4qnqyl87sg4lbdnzq6w35c5j38"; depends=[future future_apply Rcpp]; };
   kernhaz = derive2 { name="kernhaz"; version="0.1.0"; sha256="1cxwjnfyhxfjdbhs21airycs704jic21pdpsbxsx37wkl11cxpai"; depends=[doParallel foreach GA rgl]; };
-  kernlab = derive2 { name="kernlab"; version="0.9-27"; sha256="1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn"; depends=[]; };
+  kernlab = derive2 { name="kernlab"; version="0.9-29"; sha256="0vqhndl4zm7pvkfvq0f6i9cbrm7pij6kmdp7d7w39pa100x6knn3"; depends=[]; };
   kernplus = derive2 { name="kernplus"; version="0.1.2"; sha256="0z5zpj89nw7cdphg6frmjwqjxsl6g95xsa8zgsxmw2q75wwj1saz"; depends=[circular KernSmooth mixtools]; };
-  kernscr = derive2 { name="kernscr"; version="1.0.3"; sha256="0h3xv76dxch8kv4z7cgx60iaikk6906n75c4kc1mccpw0jvyxrvb"; depends=[MASS mvtnorm]; };
-  kexpmv = derive2 { name="kexpmv"; version="0.0.3"; sha256="1nx2bpyc06vlr78nhig4zaaygphjp4wqsz9jzhs4qx8wy3kh7rmy"; depends=[Rcpp SparseM]; };
+  kernscr = derive2 { name="kernscr"; version="1.0.5"; sha256="1kcj710q8jbc34g6fcv2nk07hpsb81mfx8hvivgxq8x58028gjzs"; depends=[MASS mvtnorm]; };
   keyholder = derive2 { name="keyholder"; version="0.1.3"; sha256="0r45wd36bf3ir3j3llcy40w6l8440ncvx3c1f6qvb8zgl4bl6z22"; depends=[dplyr rlang tibble]; };
   keyplayer = derive2 { name="keyplayer"; version="1.0.3"; sha256="0j4n46r9ivkbzqz8g22dq2bpmx7bs05yb5qp27p9jnfh5x19v2ds"; depends=[igraph matpow sna]; };
   keypress = derive2 { name="keypress"; version="1.1.1"; sha256="0w8hcxxx47zyz2cbz2s8va2rfb6s2ziw9ck1slq9kh3aqsx3i9g0"; depends=[]; };
@@ -8971,7 +9351,7 @@ in with self; {
   kfigr = derive2 { name="kfigr"; version="1.2"; sha256="0hmfh4a95883p1a63lnziw8l9f2g0fn0xzxzh36x9qd9nm7ypmkw"; depends=[knitr]; };
   kgc = derive2 { name="kgc"; version="1.0.0.2"; sha256="14zbcimnglh5jj07dcaxp1dfjaz8syswy29nf8z39qmslv1hg9kk"; depends=[plyr shiny shinythemes]; };
   kgschart = derive2 { name="kgschart"; version="1.3.5"; sha256="1gdsrmnv8z99cldvig7grlq8gsbv3wpx7zdamw85lz563n4ln94d"; depends=[abind deepnet ggplot2 gridExtra magrittr matrixStats nnet png shiny stringr]; };
-  khroma = derive2 { name="khroma"; version="1.1.3"; sha256="1d8mqaq3702vfz8m66rgaw1jad6v2kk5z8q2zkxknwlab5xck3x4"; depends=[ggplot2 scales]; };
+  khroma = derive2 { name="khroma"; version="1.3.0"; sha256="1bpap5ljnsjwj0d6r90zhxvgs87j6v2pwxxd6ny14jzn402f1zp8"; depends=[]; };
   kidney_epi = derive2 { name="kidney.epi"; version="1.1.0"; sha256="191yrqdviwvfl62c62qqfa154hglxpfwcxllhgwlm8nsysg46z5i"; depends=[]; };
   kimisc = derive2 { name="kimisc"; version="0.4"; sha256="0nbjspbq9akhmamfdn192p5b6ki7xqhp422ih6v77xsnrhl5m24z"; depends=[memoise plyr pryr]; };
   kin_cohort = derive2 { name="kin.cohort"; version="0.7"; sha256="0wijsjz0piz5j9rm2nr3d5dfpiyba740mbfbkmfll9pz72s58wz8"; depends=[survival]; };
@@ -8982,9 +9362,10 @@ in with self; {
   kirby21_t1 = derive2 { name="kirby21.t1"; version="1.7.0"; sha256="0bv8rrk9jh02h3gill1g2w246j4zv98cjchz7i2c092lvqps8szs"; depends=[kirby21_base]; };
   kissmig = derive2 { name="kissmig"; version="1.0-3"; sha256="1pi1x3gdbqrhr1km1hqj15k8wyrgs697fnxgjgxga1irbn8bi482"; depends=[raster]; };
   kitagawa = derive2 { name="kitagawa"; version="2.2-2"; sha256="0hl2l42jz4wkcx94cqycw8zb3ffg72fp2f310sh5icrcnyw43bmp"; depends=[kelvin]; };
-  kiwisR = derive2 { name="kiwisR"; version="0.1.6"; sha256="0ddqjqw97742fjjzxvhplpi3dqmcmwfhnifad5qbj1lp1hh18mwm"; depends=[dplyr httr jsonlite lubridate tibble]; };
+  kiwisR = derive2 { name="kiwisR"; version="0.1.7"; sha256="0xyrxk8109s1wfbacfjip0ch77jbhb4y8rqxz4cyml4l5kyw4zf6"; depends=[dplyr httr jsonlite lubridate tibble]; };
   kknn = derive2 { name="kknn"; version="1.3.1"; sha256="1nzkg3dxaiqp87p56wm895qx5xn86hv5hjr73qvl1yiaxiq0x112"; depends=[igraph Matrix]; };
   klaR = derive2 { name="klaR"; version="0.6-14"; sha256="1g995df6286sd64nw7q9bihzkqhrasks45n8xk678y57kcadksai"; depends=[combinat MASS questionr]; };
+  klassR = derive2 { name="klassR"; version="0.1.2"; sha256="1wfgqy4pfbaikm0qqf6dirjw0imbl6si9i0nwn8l17i7c8g8g55s"; depends=[httr jsonlite tm]; };
   klausuR = derive2 { name="klausuR"; version="0.12-10"; sha256="12fjs4dnwaki8sz718xgsg8qrqhsgf87cs0bylf0p3f5k8hrmk4b"; depends=[polycor psychometric xtable]; };
   klin = derive2 { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
   klustR = derive2 { name="klustR"; version="0.1.0"; sha256="1g2q6h3cbm8v3gqz0f6v8bl5na9972k38d94czjfxmx4cv7wfgx8"; depends=[htmlwidgets jsonlite]; };
@@ -9002,10 +9383,11 @@ in with self; {
   kmlcov = derive2 { name="kmlcov"; version="1.0.1"; sha256="09s9ganfsnwp22msha78g6pjr45ppyfyqjf6ci64w3w15q5qlcd9"; depends=[]; };
   kmodR = derive2 { name="kmodR"; version="0.1.0"; sha256="1y1pqrrralklflyb1dw8bslfcyqrw8ryijfbhkwba7ykpxcf9fda"; depends=[]; };
   knitLatex = derive2 { name="knitLatex"; version="0.9.0"; sha256="1igacc2sx8897wmnhh8kngd0fq6zqbi30chy5c8jw60zc38mi3wi"; depends=[knitr]; };
-  knitcitations = derive2 { name="knitcitations"; version="1.0.8"; sha256="07h8d5cp52qcm0912c55j59k2p3c7s4af87qa7a9hafhgimnsdiv"; depends=[digest httr RefManageR]; };
-  knitr = derive2 { name="knitr"; version="1.23"; sha256="16ba4258c915xydhniw4cw7fvv1vp4cnwd1w49ykx7zw00rznfq6"; depends=[evaluate highr markdown stringr xfun yaml]; };
+  knitcitations = derive2 { name="knitcitations"; version="1.0.10"; sha256="0d73qr1zhkx0255vzzf7fs8vpmfnzl91ni4zp5y0l42h8p98vdn5"; depends=[digest httr RefManageR]; };
+  knitr = derive2 { name="knitr"; version="1.26"; sha256="08f3bdd5cnnbigybr9vmkhq12n64pbmn4layl3w5rwk8xi5kbnrq"; depends=[evaluate highr markdown stringr xfun yaml]; };
   knitrBootstrap = derive2 { name="knitrBootstrap"; version="1.0.2"; sha256="1aj60j7f0gcs120fdrnfbnb7vk7lfn1phil0mghg6a5zldz4cqs3"; depends=[knitr markdown rmarkdown]; };
   knitrProgressBar = derive2 { name="knitrProgressBar"; version="1.1.0"; sha256="18v5jrscfrin3mcs63bpj0q1drxk3zkhlbw93sqh0qrq04d4x02v"; depends=[R_oo R6]; };
+  knn_covertree = derive2 { name="knn.covertree"; version="1.0"; sha256="0msfcmwydws7q7m5jdb0dxab0nkbl7mq5llg6v3r4qrnlvrdggvz"; depends=[Matrix Rcpp RcppEigen]; };
   knnGarden = derive2 { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
   knnIndep = derive2 { name="knnIndep"; version="2.0"; sha256="1fwkldgs2994svf3sj90pwsfx6r22cwwa22b30hdmd24l8v9kzn7"; depends=[]; };
   knncat = derive2 { name="knncat"; version="1.2.2"; sha256="1d392910y3yy46j8my1a7m0xkij2rc6vwq5fg22qk00vqli8drz2"; depends=[]; };
@@ -9013,15 +9395,16 @@ in with self; {
   knockoff = derive2 { name="knockoff"; version="0.3.2"; sha256="1ky69f3hwwgy2il097mx0z7aakxsq692g9ink8z8cb4wnrp4bk07"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
   knor = derive2 { name="knor"; version="0.0-6"; sha256="0mri7lw6jwkksyxidyqm2xrkjh1vd6dylxd24gd18j9blf342p7d"; depends=[Rcpp]; };
   knotR = derive2 { name="knotR"; version="1.0-2"; sha256="0kd1b9wibpwyaanz9ny61qgfvcg4d3rzpy05sfshlpp0b1y8d3xj"; depends=[]; };
-  kntnr = derive2 { name="kntnr"; version="0.4.1"; sha256="0d78mgmz2yhfbf4m5jaa28aazaw2wf9vf1vxl53wrnpy0hxw329y"; depends=[base64enc dplyr httr jsonlite lazyeval lubridate purrr rstudioapi stringr tibble]; };
+  kntnr = derive2 { name="kntnr"; version="0.4.2"; sha256="0y2is6ww13dzkm9p7wl8n5rmbcx4qlnzhbidc1h6bg75r5anpphq"; depends=[base64enc dplyr httr jsonlite lubridate purrr rlang rstudioapi stringr tibble tidyr]; };
   koRpus = derive2 { name="koRpus"; version="0.11-5"; sha256="053882fnz6c7yjiz72jg6sawd9q57h110nd4yjay65piadi9mci5"; depends=[data_table sylly]; };
   koRpus_lang_en = derive2 { name="koRpus.lang.en"; version="0.1-3"; sha256="013zxm5x5hwdx1hqgb7mh3zmn8dri3fhq1brmzg936gddhxap6is"; depends=[koRpus sylly_en]; };
+  kofdata = derive2 { name="kofdata"; version="0.1.3.3"; sha256="08rmqm8z1xqf2kdjrxlj90v2fc2cqj43yynm1k46vmcs9m224y9k"; depends=[httr jsonlite xts zoo]; };
   kofnGA = derive2 { name="kofnGA"; version="1.3"; sha256="0w0881ydnqdah04sifi25ypzxdwnsiqxfq1xam4yhr670bdak1vm"; depends=[bigmemory]; };
-  kohonen = derive2 { name="kohonen"; version="3.0.8"; sha256="1zbfqa1qdlry8w6xhypkiknc5gn98v1ijhlsfka8zjg8ajhqgn1q"; depends=[MASS Rcpp]; };
+  kohonen = derive2 { name="kohonen"; version="3.0.10"; sha256="1ck7j13x701g67bx81x7plszz804jfhl1yg42krcj9x88vm5cscr"; depends=[Rcpp]; };
   kokudosuuchi = derive2 { name="kokudosuuchi"; version="0.4.2"; sha256="1nwydfyr9waa5h8h8nrmwxy0jx7i4893g5khfv6b4g09z6g5cyly"; depends=[curl dplyr glue httr purrr rlang sf shiny stringr tibble xml2]; };
   kolmim = derive2 { name="kolmim"; version="1.0"; sha256="0g1i0cazi4nhfwdd3ywqrar1sn7bw77w38qjii045w5vqg05srkp"; depends=[]; };
   komadown = derive2 { name="komadown"; version="0.2.0"; sha256="0mw1bcrg10yy1y844lpik70979420h0nsar48v5p3qk783pymbdp"; depends=[bookdown rmarkdown]; };
-  komaletter = derive2 { name="komaletter"; version="0.3.0"; sha256="09yvb8ijm1s5d89mrl8j56n8x8q1lq2siprw8191ys3jidmk6ha7"; depends=[rmarkdown]; };
+  komaletter = derive2 { name="komaletter"; version="0.3.1"; sha256="1nnn0gzqcy0551i7ylgnmcxff3g06w9y0s3bwmdrdc1bcavbb0ic"; depends=[rmarkdown]; };
   konfound = derive2 { name="konfound"; version="0.1.2"; sha256="1sza54hvg16jxrl37zmsrqvdlxjqhyd0kaxpb9fqd7rkbjqdp0m2"; depends=[broom dplyr ggplot2 margins pbkrtest purrr rlang tidyr]; };
   kosel = derive2 { name="kosel"; version="0.0.1"; sha256="1gdsy4i58byqxddpsm5nk1r3hlgik5gs2b8jqcm8n1r4ib6pg0ay"; depends=[glmnet ordinalNet]; };
   kpcalg = derive2 { name="kpcalg"; version="1.0.1"; sha256="1gd5bisyfwb12l9jmwhi2arlxrabc01vgv4m1qqs23vybsd6yh52"; depends=[energy graph kernlab mgcv pcalg RSpectra]; };
@@ -9029,10 +9412,10 @@ in with self; {
   kpmt = derive2 { name="kpmt"; version="0.1.0"; sha256="15d26khc0v3kc1c7l1avqp48pfqmc6xj32029mv7myivr41ashk3"; depends=[matrixStats]; };
   kpodclustr = derive2 { name="kpodclustr"; version="1.0"; sha256="1fywgdj4q3kg8y9lwnj6vxg9cwgs5ccwj6m3knfgg92f8ghnsbsw"; depends=[clues]; };
   kriens = derive2 { name="kriens"; version="0.1"; sha256="1qi65k9fsbbkbw0w40rv60p5ygrvr10rmlyxdaqa5bdpcmrbly5z"; depends=[]; };
-  krige = derive2 { name="krige"; version="0.2-1"; sha256="1g8298xnjjaxzfn53xwadnxr1bpn586xyiljq0gzibisnj2453fs"; depends=[MASS mvtnorm]; };
+  krige = derive2 { name="krige"; version="0.3-1"; sha256="1dxn9prl79ln0m5dlwh62m553lrah1w1kwix02xafhiawl4rxp40"; depends=[MASS mvtnorm]; };
   kriging = derive2 { name="kriging"; version="1.1"; sha256="04bxr34grf2nlrwvgrlh84pz7yi0r8y7dc2wk0v5h5z6yf5a085w"; depends=[]; };
   krm = derive2 { name="krm"; version="2018.8-17"; sha256="0d4isfzhlz9kxq0sbb1m60wnvcnlqzz8d45hiikgf1dfbngkyh2a"; depends=[kyotil]; };
-  ks = derive2 { name="ks"; version="1.11.5"; sha256="06ymx244yknmpl6935l4pafqbm4gcbpnhqg7rinql6rrfr9mcrag"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm]; };
+  ks = derive2 { name="ks"; version="1.11.6"; sha256="0hcccjfqnzdxkmnfzq8c5a7yhc138azwyl7rp29d1vl1jawwrwfq"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm]; };
   ksNN = derive2 { name="ksNN"; version="0.1.2"; sha256="06x471hck95xqy7rbh53ibhzh6kfjra7y9ipqdj2rqdkmfdj72q8"; depends=[Rcpp]; };
   kselection = derive2 { name="kselection"; version="0.2.0"; sha256="1arg96r2pldvb89rfqnfpjxwksyac2mhmbimbkwzm7wrnbnrcn5d"; depends=[]; };
   ksrlive = derive2 { name="ksrlive"; version="1.0"; sha256="1zd3ggzgjks0jay69s5m7ihbd7v7zha6ssj2m9ahnyp00ghpk83j"; depends=[tightClust]; };
@@ -9042,12 +9425,13 @@ in with self; {
   ktaucenters = derive2 { name="ktaucenters"; version="0.1.0"; sha256="15ddjr4c90b5hc4977gk35zb2kswrcvai3xighy7qj6g9lgiszgf"; depends=[dbscan dplyr GSE MASS]; };
   ktsolve = derive2 { name="ktsolve"; version="1.2"; sha256="1606b9anlqjwcbf3jp1rpwzvyx94k79q6zw3p9j0a4nxdvgxlx1j"; depends=[BB nleqslv rootSolve]; };
   ktspair = derive2 { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[Biobase]; };
+  kubik = derive2 { name="kubik"; version="0.1.2"; sha256="1cjr8vcvjgy425sgr23cl2xrsz9smgil4lkkzm94b8g5rwyk731g"; depends=[intoo]; };
   kuiper_2samp = derive2 { name="kuiper.2samp"; version="1.0"; sha256="0gcgayh7qdic9zprdvs6r8qvpqs467zrm0qzp2acb7alcp01jhpi"; depends=[]; };
   kulife = derive2 { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
   kutils = derive2 { name="kutils"; version="1.69"; sha256="12pg26a85h0jxlfcyai68dbh4bq1gnq8v1ngi8k9qvafbrpc6gx8"; depends=[foreign lavaan openxlsx plyr RUnit xtable]; };
   kvh = derive2 { name="kvh"; version="1.4.1"; sha256="0hnqlybphx8qnx98ynykxpz4ys4prp9zbmkak02qlvmnxwc2cqg0"; depends=[Rcpp]; };
-  kwb_hantush = derive2 { name="kwb.hantush"; version="0.2.1"; sha256="0rjnhhzvjhhl0r2ixz9vkgnqkrnnk772253zy7xkpadj7ws69jsf"; depends=[hydroGOF lattice]; };
-  kyotil = derive2 { name="kyotil"; version="2018.10-17"; sha256="12rrr7ynjwhcskjkfkv11q5xpdfn9j27vmnsd0r0vc2w2b25217k"; depends=[]; };
+  kwb_hantush = derive2 { name="kwb.hantush"; version="0.3.0"; sha256="1rlm7i95yw66asgkag93phig2y9lic4xl2fv3cbnr3v751f6a59m"; depends=[hydroGOF lattice]; };
+  kyotil = derive2 { name="kyotil"; version="2019.11-22"; sha256="13ihijshgzi3lg07p24yzyxjsrfy9nsf6r5vcssz19y9w26scaj2"; depends=[]; };
   kza = derive2 { name="kza"; version="4.1.0"; sha256="128r4xmqxy1i1svcmv8786qqmriyqygd8d49cp53x8gb56k011xa"; depends=[]; };
   kzfs = derive2 { name="kzfs"; version="1.5.0.2"; sha256="0x0fc807p0pwsjkhjq51ymwr9nhs6cb0m82029cz8bbn3yf6cymq"; depends=[digest kzft]; };
   kzft = derive2 { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; };
@@ -9055,17 +9439,19 @@ in with self; {
   l0ara = derive2 { name="l0ara"; version="0.1.5"; sha256="15qajzpvqnikg9k199cqvwp9qbrxx4zr9lsvyad96pa9qr156gvb"; depends=[Rcpp RcppArmadillo]; };
   l1kdeconv = derive2 { name="l1kdeconv"; version="1.2.0"; sha256="1mk92sz9nsmxsn7yplhfcz07k022lrr61114ckrmm0x8hfd89zj8"; depends=[ggplot2 mixtools]; };
   l2boost = derive2 { name="l2boost"; version="1.0.1"; sha256="0f2gapzpvjnr8n1jgn60jpmcas4s8nk2q8q4k5v4ypwvpfqp7kk1"; depends=[MASS]; };
-  laGP = derive2 { name="laGP"; version="1.5-3"; sha256="1bn7mj42kjgqa350ikkk7dlvash3l1fw9wdzrbjb2y41mnv8ipav"; depends=[tgp]; };
+  laGP = derive2 { name="laGP"; version="1.5-5"; sha256="1a269cy9qmjldb5hv1nl9naq1rr35z37xjpp4kannj6p560fm476"; depends=[tgp]; };
   labdsv = derive2 { name="labdsv"; version="2.0-1"; sha256="099rzl9hy70rmb5fg0vx26mlhr4ra2s0hl3jgv22s8hqpvlmakas"; depends=[cluster MASS mgcv Rtsne]; };
   label_switching = derive2 { name="label.switching"; version="1.8"; sha256="0xwwhn249aibip12yxjwlrpyqj6zvc95zc7n9jf2vjjpashyc3yk"; depends=[combinat lpSolve]; };
   labelVector = derive2 { name="labelVector"; version="0.1.0"; sha256="08ydgmvks09hbln10zmqxv9hxgiha0n9w5cgych9bnkqdca74gah"; depends=[]; };
   labeledLoop = derive2 { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; };
   labeling = derive2 { name="labeling"; version="0.3"; sha256="13sk7zrrrzry6ky1bp8mmnzcl9jhvkig8j4id9nny7z993mnk00d"; depends=[]; };
   labelled = derive2 { name="labelled"; version="2.2.1"; sha256="1mrpsayrar5m3w2s7ck3m5x62bcns1jhyc6jw12b3bdca251v1ai"; depends=[dplyr haven]; };
+  labelmachine = derive2 { name="labelmachine"; version="1.0.0"; sha256="18l7argmf7d60cv34w7acjg4bk08nhi2cc5p61sx2zmq28v8nndr"; depends=[yaml]; };
   labelrank = derive2 { name="labelrank"; version="0.1"; sha256="03pmpkjdhgw80473kdzdz4s4828pa8f5bja2zqicxrhvyvicvz6f"; depends=[pdist]; };
   labstatR = derive2 { name="labstatR"; version="1.0.9"; sha256="1ysk23dwan1lsfwnf9v86yqyzc8wsgzmy18ycz34s4d9biq6y1zd"; depends=[]; };
   labstats = derive2 { name="labstats"; version="1.0.1"; sha256="1780slp9l1rqwr5ika6hv606jzbaa3g1ywzkjkd3ff2gb0cby3ni"; depends=[]; };
   lacm = derive2 { name="lacm"; version="0.0.3"; sha256="0qhvffiw2bcpnv6l4y4h12ss59yc2j0hwsg2nr4a7w4nh6yk9fwc"; depends=[numDeriv statmod]; };
+  lactcurves = derive2 { name="lactcurves"; version="1.0.0"; sha256="06dj8ajg6ndnyakywy16wbqjjr2jkidvnjv33vxcacwijympaqqy"; depends=[orthopolynom]; };
   lacunaritycovariance = derive2 { name="lacunaritycovariance"; version="1.0-8"; sha256="1dya5jbrr76p20k37v07g8wck8vrdr2j3r04pqhmwq6i7h0w2c30"; depends=[RcppRoll spatstat]; };
   laeken = derive2 { name="laeken"; version="0.5.0"; sha256="1g9r3y7b0gl91hijk9awa8rjk97mqpkxinzq2cgmx0m38ng9ylpa"; depends=[boot MASS]; };
   laercio = derive2 { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
@@ -9074,7 +9460,7 @@ in with self; {
   lakemorpho = derive2 { name="lakemorpho"; version="1.1.1"; sha256="0asrp9rvyi5ykxw922qx25rgxvyc9mh4sc7qkbpwzqw8xvgpad2z"; depends=[cluster geosphere raster rgdal rgeos sp]; };
   laketemps = derive2 { name="laketemps"; version="0.5.1"; sha256="04742r379bzgbfr4243wwkb26cvfmnw50jzgygq7vblq00grzska"; depends=[dplyr reshape2]; };
   lamW = derive2 { name="lamW"; version="1.3.0"; sha256="00qa1sxyqb2r7f9yidg43cq2v1285f45xpm3z928jpi424mpg0fc"; depends=[Rcpp RcppParallel]; };
-  lambda_r = derive2 { name="lambda.r"; version="1.2.3"; sha256="0cc6pszs6yccn0hgjpyn9gspv9aiva9d91ba0640i5m0l5xy7n0c"; depends=[formatR]; };
+  lambda_r = derive2 { name="lambda.r"; version="1.2.4"; sha256="1mh1g0gsd58gng0hb29vww2yqb2jfs07kba5kxnnqck5j3izwlnj"; depends=[formatR]; };
   lambda_tools = derive2 { name="lambda.tools"; version="1.0.9"; sha256="1wslxxh6rxny3n06y16dqwpczi3k42vrq4pbwwshl6kzhl56r45b"; depends=[lambda_r]; };
   lamme = derive2 { name="lamme"; version="0.0.1"; sha256="1x9jl79iqikpjixajly1k8w2nkzskns2m0v242giknl0ikw298h1"; depends=[]; };
   landest = derive2 { name="landest"; version="1.0"; sha256="1lp5sfqk0n7i23fmwjgzsabml1fsji1h9xq5khxzaz1bzqv1s08g"; depends=[survival]; };
@@ -9082,12 +9468,12 @@ in with self; {
   landsat = derive2 { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[lmodel2 mgcv rgdal sp]; };
   landsat8 = derive2 { name="landsat8"; version="0.1-10"; sha256="169b5ka98ka9chbmksz6syaygc9wgl8i2gz1h2xkxj3lk9jcg01r"; depends=[rgdal sp]; };
   landscapeR = derive2 { name="landscapeR"; version="1.2"; sha256="1zm5mj861ycbc2m28yjqnkifx8grc4l718mf8r422m78jfakvcjy"; depends=[raster Rcpp]; };
-  landscapemetrics = derive2 { name="landscapemetrics"; version="1.2"; sha256="0k9algml4yj4yp0zsj742vcmjwml1sqfval8759060v0fbn4fj5h"; depends=[cli ggplot2 raster Rcpp RcppArmadillo sp tibble]; };
+  landscapemetrics = derive2 { name="landscapemetrics"; version="1.3"; sha256="1x7fm6gs9pxkcbj182w2cfpsp9bg2chgc9pg7w0hbydz3fnv8whx"; depends=[cli ggplot2 raster Rcpp RcppArmadillo sp tibble]; };
   landscapetools = derive2 { name="landscapetools"; version="0.5.0"; sha256="11zp6r414nkj8vhsbryzhkxmpal2bva8msaxf1v69xax70ilxyf1"; depends=[ggplot2 raster Rcpp tibble]; };
-  landsepi = derive2 { name="landsepi"; version="0.0.7"; sha256="00ckjjyq33y362xhwjic8rwz06ml3s5l8wxxf7cgh0xkzv5hwcnr"; depends=[fields maptools MASS Matrix Rcpp rgdal rgeos sf sp splancs]; };
+  landsepi = derive2 { name="landsepi"; version="0.0.8"; sha256="0k2hkrj0r3hx5jvmgx852s030md3cqhm7yixl0xxlkxwqrylw7qc"; depends=[fields maptools MASS Matrix Rcpp rgdal rgeos sf sp splancs]; };
   languageR = derive2 { name="languageR"; version="1.5.0"; sha256="1iipnr2b4hd2w718prbh075j56m5xnchlcb2vg26m16qpydp6afn"; depends=[]; };
   languagelayeR = derive2 { name="languagelayeR"; version="1.2.4"; sha256="1q82shdcdd84nr6bnfwgyyb81z8dycvj1i3vhwvdg710s15rgiyk"; depends=[attempt curl httr jsonlite]; };
-  languageserver = derive2 { name="languageserver"; version="0.2.9"; sha256="0jg652pj6y99kdvgpvh0ggyxks7xdbp15jzwjpfkv2d75rwqpw5p"; depends=[callr collections desc jsonlite lintr R6 repr stringr styler]; };
+  languageserver = derive2 { name="languageserver"; version="0.3.2"; sha256="1sd2c9a0fqk4yag5cmzpnpkqi5nqq4gnzyv268vq9ch60pm610km"; depends=[callr collections desc jsonlite lintr R6 readr repr stringr styler xml2 xmlparsedata]; };
   lans2r = derive2 { name="lans2r"; version="1.0.5"; sha256="1m3hz85gl9m4vafdy7mj3z560d11mdwlwvnzy8n7d1cjqryn7a2b"; depends=[dplyr ggplot2 lazyeval R_matlab reshape2 tidyr]; };
   lar = derive2 { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
   largeList = derive2 { name="largeList"; version="0.3.1"; sha256="0csijzlxajj0rh24w5n7fs6ss301zr6zfv5khyq4a9g437bwhc2i"; depends=[]; };
@@ -9099,7 +9485,7 @@ in with self; {
   lassoshooting = derive2 { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
   latdiag = derive2 { name="latdiag"; version="0.2-4"; sha256="051chvky3hlfr4hwm9qickl6aaxwnxa88zksmzczqfspby771hq6"; depends=[]; };
   latentnet = derive2 { name="latentnet"; version="2.9.0"; sha256="0gmv4h6zijhgypkasr1y45lx7ksfhfpdgrqqxan4qnxfqp3kxbrr"; depends=[abind coda ergm MASS mvtnorm network sna statnet_common]; };
-  later = derive2 { name="later"; version="0.8.0"; sha256="08g503xjxrfxvrzj0cavsrz4m8ykbha64344j1w2r6v17js2hakb"; depends=[BH Rcpp rlang]; };
+  later = derive2 { name="later"; version="1.0.0"; sha256="11xjavj7siz0xv2ffq1ld4bwl35jyrcfpvvs4p3ilpifxx49hyr7"; depends=[BH Rcpp rlang]; };
   latex2exp = derive2 { name="latex2exp"; version="0.4.0"; sha256="12nbcgfmv13k6sc6m326ras9bcvy380b7rxcxphn06r3cfkby0zw"; depends=[magrittr stringr]; };
   latexpdf = derive2 { name="latexpdf"; version="0.1.6"; sha256="07g33z5lyxinlrzpk6pd41m4c4bbfql611yqcqxasf8wra9bb0jr"; depends=[]; };
   latte = derive2 { name="latte"; version="0.2.1"; sha256="1dcwxxj3yran5a3a8vvdfmx4ap69ql2jncxvmci4p4vcw4ki9j9g"; depends=[dplyr ggplot2 glue magrittr memoise mpoly stringr usethis]; };
@@ -9109,26 +9495,28 @@ in with self; {
   lava = derive2 { name="lava"; version="1.6.6"; sha256="0nfab5fgnmxh8cplg8rd8cp34fny5j0k5wn4baj51r6ck7fq9g3s"; depends=[numDeriv SQUAREM survival]; };
   lava_tobit = derive2 { name="lava.tobit"; version="0.5"; sha256="15dlcjgnvrpdxymcwf4rvk72ssr650dy1ayp50zlrp2va0p6h4kw"; depends=[lava mets mvtnorm survival]; };
   lavaSearch2 = derive2 { name="lavaSearch2"; version="1.5.4"; sha256="0zq5i568pd0xwjbxwi0ndhmjxglyd9y2x8yfvnrmg3pq1wxqys6h"; depends=[doParallel ggplot2 lava MASS Matrix multcomp mvtnorm nlme Rcpp RcppArmadillo reshape2 sandwich]; };
-  lavaan = derive2 { name="lavaan"; version="0.6-4"; sha256="1zf0sxpms35rhq2syb7r3sshhc8kjvc3pv97dk9x0gf4xl7pck4g"; depends=[MASS mnormt numDeriv pbivnorm]; };
+  lavaan = derive2 { name="lavaan"; version="0.6-5"; sha256="04kvsh2m6mnzlhv83phr3hjzy4sx1ck6f7dgsm7xb8cs84dnxszy"; depends=[MASS mnormt numDeriv pbivnorm]; };
   lavaan_shiny = derive2 { name="lavaan.shiny"; version="1.2"; sha256="0qgswdpxb5af0l3v70sg0jrgsdwr88gz6zzwbk3pw5x6qnvnwb6r"; depends=[lavaan psych semPlot shiny shinyAce]; };
   lavaan_survey = derive2 { name="lavaan.survey"; version="1.1.3.1"; sha256="133hpy8s00y6jzwwzl9brdh70w26jycdm3n1c6bcryghwh3ai4xr"; depends=[lavaan MASS survey]; };
   lavaanPlot = derive2 { name="lavaanPlot"; version="0.5.1"; sha256="01bx1snd3zhc8dmq0f407qhw2d00f6d38qpr791qc1mq5kr3d8qj"; depends=[DiagrammeR lavaan stringr]; };
   lawn = derive2 { name="lawn"; version="0.5.0"; sha256="0yvlps6g9ya383615y7x624hnwb6qfs6i5yg4cchp6lkvz2xdd5y"; depends=[jsonlite magrittr V8]; };
   lawstat = derive2 { name="lawstat"; version="3.3"; sha256="117w8b1skw9kh03dm67p17q6ifyh3zq2ivm85ix1nvpyrq3pcfvp"; depends=[Kendall mvtnorm Rdpack VGAM]; };
+  lax = derive2 { name="lax"; version="1.0.0"; sha256="1c386hx83i344byc6p77whz71kgwbjzqpgm6y6ykila06lsp7fip"; depends=[chandwich numDeriv revdbayes sandwich]; };
   lazy = derive2 { name="lazy"; version="1.2-16"; sha256="1psh3sng1pm23pjwy7iszb21ys7d29ry34ymvpgxj6zdhywwi5n7"; depends=[]; };
   lazyData = derive2 { name="lazyData"; version="1.1.0"; sha256="0mbmmx6dh8ph4lrx1b4gxbwz3jwxv4nqi0xvfzpzrm3bwbsjc634"; depends=[]; };
   lazyWeave = derive2 { name="lazyWeave"; version="3.0.2"; sha256="1a7l0rgkp3xq2s6bikciq778fwyr282baa6jk9ip4a71s931p2ag"; depends=[Hmisc labelVector]; };
   lazyeval = derive2 { name="lazyeval"; version="0.2.2"; sha256="1m10i059csrcqkcn59a8wspn784alxsq3symzhn24mhhl894346n"; depends=[]; };
+  lazyraster = derive2 { name="lazyraster"; version="0.5.0"; sha256="0zf9xlxyzmgxy1nl2kg7fvpfamjz04gf4yxjn3r9j7fjkik35cnp"; depends=[quadmesh raster vapour]; };
   lazyrmd = derive2 { name="lazyrmd"; version="0.2.0.1"; sha256="0yzamy1bfq0d7mnrr24wzvvw6lq7rhfs6qnqypfmym65j5kfj0f8"; depends=[digest htmltools htmlwidgets knitr rmarkdown]; };
   lazysql = derive2 { name="lazysql"; version="0.1.3"; sha256="18vff80rl8ckjwfqi9dhzs1q35a1wrxvynidji6dy2kvvk38xnpa"; depends=[checkmate magrittr plyr]; };
-  lazytrade = derive2 { name="lazytrade"; version="0.3.4"; sha256="1j1da1848vjkvvnc6x3svmdy0fjn5pkn24llriy7w3mj8lr4bdpb"; depends=[dplyr h2o lubridate magrittr openssl ReinforcementLearning tidyverse]; };
+  lazytrade = derive2 { name="lazytrade"; version="0.3.6"; sha256="11yd2x6ya3vgzy7lx3gxqz1q115wmb4aw0s1c6jyhkkqlf3rbyw4"; depends=[dplyr h2o lubridate magrittr openssl readr ReinforcementLearning stringr]; };
   lba = derive2 { name="lba"; version="2.4.4"; sha256="0izqndm992zv3sg8v5lpnxbdbxhpxl6hq3bf6xgq3pnw8vl3f6nb"; depends=[alabama MASS plotrix rgl scatterplot3d]; };
   lbfgs = derive2 { name="lbfgs"; version="1.2.1"; sha256="0p99g4f3f63vhsw0s1m0y241is9lfqma86p26pvja1szlapz3jf5"; depends=[Rcpp]; };
-  lbfgsb3 = derive2 { name="lbfgsb3"; version="2015-2.13"; sha256="1jpy0j52w8kc8qnwcavjp3smvdwm1qgmswa9jyljpf72ln237vqw"; depends=[numDeriv]; };
-  lbfgsb3c = derive2 { name="lbfgsb3c"; version="2018-2.13-1"; sha256="1avk1srkp61dbjpgjhxq0w6q14y3jydmrywkab6kf1y6r3f4z20g"; depends=[numDeriv Rcpp RcppArmadillo]; };
+  lbfgsb3 = derive2 { name="lbfgsb3"; version="2015-2.13.1"; sha256="15g465dy4izybmgmbgzmiyaxdfa6l1mcvyh6rc3hgapnlmnvb66m"; depends=[numDeriv]; };
+  lbfgsb3c = derive2 { name="lbfgsb3c"; version="2019-11.26"; sha256="1wp4vhagh1pvvg6v7gayj7ljicipaa3jz4wbnml4fnzpwzp0irgv"; depends=[numDeriv Rcpp RcppArmadillo]; };
   lbiassurv = derive2 { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
   lbreg = derive2 { name="lbreg"; version="1.2"; sha256="0wcw5w07fgmxwzmamf380l8vxw9fnxhbrhcwwfy6x87xby3bzr1b"; depends=[MASS]; };
-  lcc = derive2 { name="lcc"; version="1.0.2"; sha256="10savjw28jv34xq9r7ry5dr1c96ghgqm9g93ybcas13dk3c23my3"; depends=[gdata ggplot2 gridExtra nlme]; };
+  lcc = derive2 { name="lcc"; version="1.0.3"; sha256="0jvih9j6r8q26m3rjzng6sn2l41n5hgfsg2w298ac1v6asv3a1kn"; depends=[gdata ggplot2 gridExtra hnp nlme]; };
   lcda = derive2 { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
   lclGWAS = derive2 { name="lclGWAS"; version="1.0.3"; sha256="03b6ijqvyirv96hc3dsqf4f0zzqlmq5451mcb14d2mw3s6xy1vmq"; depends=[BH Rcpp]; };
   lcmm = derive2 { name="lcmm"; version="1.8.1"; sha256="1n7g4m8r8n2zi53ah35gn0nx666fh6brbysgbsyb2yv4hjrf5v08"; depends=[survival]; };
@@ -9151,27 +9539,29 @@ in with self; {
   leafR = derive2 { name="leafR"; version="0.3"; sha256="0bb05y0py2q0qmvapbv3ibrycjb8i4adl25807i8l7g768y3llsr"; depends=[data_table lazyeval lidR raster sp]; };
   leafSTAR = derive2 { name="leafSTAR"; version="1.0"; sha256="16zfaj0v6dx6mhy6m126lxa6w0dzfw4acm83jlbrizaz52amhv6a"; depends=[]; };
   leafem = derive2 { name="leafem"; version="0.0.1"; sha256="0yjbwhxjifhf1yw3phc12hlrr080y4331dwgpxdg62x7v0y5xl31"; depends=[htmltools htmlwidgets leaflet raster sf sp]; };
-  leaflet = derive2 { name="leaflet"; version="2.0.2"; sha256="051i5qmwa0zbk4jpjrx9kzk4g8qg9c3cavvhw19yj08fjhh8si7s"; depends=[base64enc crosstalk htmltools htmlwidgets magrittr markdown png raster RColorBrewer scales sp viridis]; };
+  leaflet = derive2 { name="leaflet"; version="2.0.3"; sha256="053kn4a2lbhzq2c68c4q782yrbyx4a7zw7j1s6p7k2d75chk1aja"; depends=[base64enc crosstalk htmltools htmlwidgets leaflet_providers magrittr markdown png raster RColorBrewer scales sp viridis]; };
   leaflet_esri = derive2 { name="leaflet.esri"; version="1.0.0"; sha256="01bwzxh2rdhpvvazaxsji8axl765q1ix1fdxla6i61nvqkpw3dz1"; depends=[htmltools leaflet leaflet_extras]; };
   leaflet_extras = derive2 { name="leaflet.extras"; version="1.0.0"; sha256="0li7651cwlz7sg04xdrmvhkrf0n6amaydck7gqz0wkb6wq8hcyzw"; depends=[htmltools htmlwidgets leaflet magrittr stringr]; };
-  leaflet_minicharts = derive2 { name="leaflet.minicharts"; version="0.5.4"; sha256="17lrchpry3in36jdkinsxs9lzqnx65xyk9g939knc8nmjw6z2j2r"; depends=[htmltools leaflet]; };
+  leaflet_minicharts = derive2 { name="leaflet.minicharts"; version="0.6.0"; sha256="175zxyvgjbhhp5fl8fz8nr7n9y34ldhs9pnz602x1hk7vpyf3cjc"; depends=[htmltools leaflet]; };
   leaflet_opacity = derive2 { name="leaflet.opacity"; version="0.1.0"; sha256="19dkl105sf7c9wrpl8kzwsjwwc7r9qb4c1g85w2lavpj0pbyazxw"; depends=[htmltools htmlwidgets]; };
-  leaflet_providers = derive2 { name="leaflet.providers"; version="1.8.0"; sha256="1rbx3n59hrbh3ncfzcv442shdyx64d67nlviisyfixvc1jlmjr2h"; depends=[htmltools]; };
+  leaflet_providers = derive2 { name="leaflet.providers"; version="1.9.0"; sha256="0yynrwv4xd5cdh49cwvfxm4ranarah9iiry2cd3b4fiihdfcg3wy"; depends=[]; };
   leafletCN = derive2 { name="leafletCN"; version="0.2.1"; sha256="1rg39n4bjacwss9nbdnz8y2zh8hxlc7a5ygndhjbmzajnbxfh09b"; depends=[htmltools jsonlite leaflet magrittr rgeos sp]; };
   leafletR = derive2 { name="leafletR"; version="0.4-0"; sha256="0j1i971dl3smq8rcsa5s4rfmmk936k2q6xa4hppfzwhrxs3xkkkx"; depends=[brew jsonlite]; };
+  leaflethex = derive2 { name="leaflethex"; version="0.1.0"; sha256="0wdph5xs2n7brdj7x1kgza0vxghl519hmva5xzkjc2yaj2dkpyrk"; depends=[dplyr htmltools htmlwidgets leaflet readr tibble]; };
   leafpm = derive2 { name="leafpm"; version="0.1.0"; sha256="06d2k5x6bnv7bf4aw2bayi8sh5bw8z6akwnp7da5s7454hyqn0vv"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet sf]; };
   leafpop = derive2 { name="leafpop"; version="0.0.1"; sha256="1bcab4f0g9xf7w5zh9xma93lv9ywbn9zqdy46k7cm0y6vnzggsy8"; depends=[base64enc brew gdalUtils htmlwidgets Rcpp svglite uuid]; };
   leafsync = derive2 { name="leafsync"; version="0.1.0"; sha256="0p6pb7w5yz2wj33kdh7ixii9f6b8zv018psp6b7ifr7npgdxi3vx"; depends=[htmltools htmlwidgets leaflet]; };
+  leaftime = derive2 { name="leaftime"; version="0.1.2"; sha256="0a653h0lhdw10j9yv0jsvaivj09fz1cjg3z9g3caja6c83w5c65q"; depends=[geojsonio htmltools htmlwidgets leaflet]; };
   leanpubr = derive2 { name="leanpubr"; version="0.3.1"; sha256="0c8pmzn25cwv0wccf30zrrqrs5amlk8iqyyva9vp9976wzwgbxrx"; depends=[httr jsonlite xml2]; };
   leapp = derive2 { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[corpcor MASS sva]; };
   leaps = derive2 { name="leaps"; version="3.0"; sha256="11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m"; depends=[]; };
   learNN = derive2 { name="learNN"; version="0.2.0"; sha256="0q0j25vi7hrwaf38y10m24czf3rsvj937jvkz3ns12bd8srlflah"; depends=[]; };
   learnPopGen = derive2 { name="learnPopGen"; version="1.0.4"; sha256="04wxina3n2bspxdp3d4bgqrwyxqxx46pfp8zgzr3rsj89ml8if9l"; depends=[gtools phytools]; };
-  learningr = derive2 { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; };
-  learnr = derive2 { name="learnr"; version="0.9.2.1"; sha256="0jbk0g6fkw7zs8ykzhsvh9vvz8xmc4v03bqzjsa5mmpxpqan5vx5"; depends=[evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs rmarkdown rprojroot shiny withr]; };
+  learningr = derive2 { name="learningr"; version="0.29.1"; sha256="0z3rs7y9yd81f14sbk3dwq1ifr4vca2s3kl1gnkqlns3dycgyp08"; depends=[plyr]; };
+  learnr = derive2 { name="learnr"; version="0.10.0"; sha256="0278q9nbkc4nb0rp930kjrwyidf0v7y38d1s187m4f4bs7ha82k6"; depends=[checkmate ellipsis evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs renv rmarkdown rprojroot shiny withr]; };
   learnrbook = derive2 { name="learnrbook"; version="0.0.2"; sha256="1k17dk8ahn1ifwid1hhx0k7fpgc62zg82y66bbf6nhd4dgdbbv2p"; depends=[]; };
   learnstats = derive2 { name="learnstats"; version="0.1.1"; sha256="1sa064cr7ykl4s1ssdfmb3v1sjrnkbwdh04hmwwd9b3x0llsi9vv"; depends=[ggplot2 Rcmdr shiny]; };
-  ledger = derive2 { name="ledger"; version="2.0.1"; sha256="1cfbd7i9m8xk46s4g60004yyvmmwb9w9pnf0cl7bnpn2280q4r5q"; depends=[dplyr rio rlang stringr tibble tidyr tidyselect]; };
+  ledger = derive2 { name="ledger"; version="2.0.4"; sha256="19jqy24c8xkpcs9d5w4a1ih474xpnxjnq1q8940mfkx1vq2bz1m5"; depends=[dplyr rio rlang stringr tibble tidyr tidyselect]; };
   leerSIECyL = derive2 { name="leerSIECyL"; version="1.0.2"; sha256="1zx28gpnys9mmhq7wwljfnq92wj1h1vxgqiirnfmn36z942nvmxl"; depends=[RCurl]; };
   lefse = derive2 { name="lefse"; version="0.1"; sha256="1zdmjxr5xa5p3miw79mhsswsh289hgzfmn3mpj1lyzal1qgw1h5m"; depends=[ape fBasics geiger picante SDMTools vegan]; };
   legocolors = derive2 { name="legocolors"; version="0.2.0"; sha256="06jbq12jzga1p5jajhnnkk11s9gjw5ngmnrvhmbvirhsbafp0fjv"; depends=[]; };
@@ -9179,12 +9569,12 @@ in with self; {
   leiv = derive2 { name="leiv"; version="2.0-7"; sha256="15ay50886xx9k298npyksfpva8pck7fhqa40h9n3d7fzvqm5h1jp"; depends=[]; };
   lemon = derive2 { name="lemon"; version="0.4.3"; sha256="0wsn5bfg10wq4dnrgpyraz2bzx9p19c7hf1pwj3h4zmpqfgsdbpw"; depends=[ggplot2 gridExtra gtable knitr lattice plyr scales]; };
   lenses = derive2 { name="lenses"; version="0.0.3"; sha256="08akwzlc5gk2rxbh9xp67n5ahdcld60932ascczjv0accrkxizhk"; depends=[magrittr rlang tidyselect]; };
+  leri = derive2 { name="leri"; version="0.0.1"; sha256="1309v58xdw3p6y2wpnl64vgsds5kvfiary2a3fa041kz23jzbp3c"; depends=[ncdf4 raster]; };
   lero_lero = derive2 { name="lero.lero"; version="0.2"; sha256="03ll7jzcay0swwpmxyf0y9k2h8mxx4p5v3ggm9dgdz4j99934l70"; depends=[]; };
-  lessR = derive2 { name="lessR"; version="3.8.8"; sha256="1izkxy1cwsii0075xby3lkjrbgycpgkn9yk6akq6wgl758qpw5ab"; depends=[colorspace ellipse foreign lattice latticeExtra leaps openxlsx png rmarkdown robustbase sas7bdat triangle viridisLite wesanderson]; };
-  lest = derive2 { name="lest"; version="1.0.0"; sha256="06ng0dpj37bhhwc34ilpks2ics97m9yjdpj4q993h3s2fn8kdgxw"; depends=[]; };
+  lessR = derive2 { name="lessR"; version="3.8.9"; sha256="00k1ar4nnsj89zvsqp3b0nwyiwbprpgznzkn53d0csgrm473lwyf"; depends=[colorspace ellipse foreign lattice latticeExtra leaps openxlsx png rmarkdown robustbase sas7bdat triangle viridisLite wesanderson]; };
+  lest = derive2 { name="lest"; version="1.1.0"; sha256="1d69kvdl31crv4ik8bwylq3s3f4skzrjc4x49c79w443g64n2jp9"; depends=[]; };
   lestat = derive2 { name="lestat"; version="1.9"; sha256="1skxymdf3ncmdbskh7711xxgwsmwxfxnl52gcgw06jscx6s6wrsd"; depends=[MASS]; };
   letsR = derive2 { name="letsR"; version="3.1"; sha256="0wyqqq7w21k87md3pwsz3kdaws345fdhh2xgavwiiywalg0gvxxx"; depends=[fields geosphere maps maptools raster rgdal rgeos sp XML]; };
-  lettercase = derive2 { name="lettercase"; version="0.13.1"; sha256="0s2s42v6a3mlz6084sk5wcbap3czgbd53f9p64pxwd1yfj18lbyx"; depends=[stringr]; };
   lexRankr = derive2 { name="lexRankr"; version="0.5.2"; sha256="0vb4m4g88k05yhjla1gwp8ck08356r9dzwal6cq7lb6xm6pl5gvi"; depends=[igraph Rcpp SnowballC]; };
   lexicon = derive2 { name="lexicon"; version="1.2.1"; sha256="0x7rscsh6par2lj11sby7bmz41cxn63iiw51lgh29z09cg8j606c"; depends=[data_table syuzhet]; };
   lexiconPT = derive2 { name="lexiconPT"; version="0.1.0"; sha256="0w53gnr29nzc1ib54rnxdycs0c5f7vpv586qmvxxzy4ar16kisaq"; depends=[]; };
@@ -9193,23 +9583,22 @@ in with self; {
   lfe = derive2 { name="lfe"; version="2.8-3"; sha256="0hpgk0k0xq47p71002xvl9p9xhw5yv9vsh0c4xyg1sjd5mdvhvy4"; depends=[Formula Matrix sandwich xtable]; };
   lfl = derive2 { name="lfl"; version="1.4.2"; sha256="0lr7r04jpsrp54g4flpwihymvwa3idxhzfjxfbx4ah16rd47nk5x"; depends=[e1071 foreach forecast plyr Rcpp tseries zoo]; };
   lfstat = derive2 { name="lfstat"; version="0.9.4"; sha256="0lm9fyw45kdkkjldkmagykn9p3l3jlw2ky3h00f7j6rqkizjm6r0"; depends=[dygraphs lattice latticeExtra lmom lmomRFA plyr xts zoo]; };
-  lg = derive2 { name="lg"; version="0.3.0"; sha256="1kbsfkv8py627l2zm96l05r19d2yx7zajf3nqy67rclcj869jg1n"; depends=[ggplot2 ks localgauss logspline mvtnorm np tseries]; };
+  lg = derive2 { name="lg"; version="0.4.0"; sha256="0m4jsvqrf1l41qlwl6g4w0f8v5gsfqniakz2xl263jj0l5micwf6"; depends=[ggplot2 ks localgauss logspline mvtnorm np tseries]; };
   lga = derive2 { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; };
   lgarch = derive2 { name="lgarch"; version="0.6-2"; sha256="05xksc4d6dbf5ls4lf2gpk9xyi99fikr7dva88b84rfgads1yhrh"; depends=[zoo]; };
   lgcp = derive2 { name="lgcp"; version="1.5"; sha256="1n1f87qg0y9r22p3q1qjnfrs7xarvsidgqgg6v2bsb55viwy11g3"; depends=[fields iterators maptools Matrix ncdf4 RandomFields raster rgeos rpanel sp spatstat spatstat_utils]; };
-  lgr = derive2 { name="lgr"; version="0.3.1"; sha256="0i3ghzp4861wwqql49i4ypm41yiv32v72ggj1c09sfn7shddm7hw"; depends=[R6]; };
+  lgr = derive2 { name="lgr"; version="0.3.3"; sha256="1ivab8vw4bp206yq21dz7ix3slghjdzh4k6q6w9xpvphwscx0h48"; depends=[R6]; };
   lgrdata = derive2 { name="lgrdata"; version="0.1.1"; sha256="0h1crdhqfp6hzx30lp0w015scf2566hhrl2i7mkxy868rkl3aig9"; depends=[]; };
   lgtdl = derive2 { name="lgtdl"; version="1.1.5"; sha256="1sixq56d2px36q0xq3kl0zwj2yzm3q8fhgqjvmajcdd5jl8l7130"; depends=[]; };
   lhmixr = derive2 { name="lhmixr"; version="0.1.0"; sha256="1c4ydgq1z2y0xk8xqdsim6xvgxdbl3gglfk5kcr9k4m01arvv0rf"; depends=[]; };
   lhs = derive2 { name="lhs"; version="1.0.1"; sha256="0lzaqr7xi3ckln5nglv5xf5njm359slpz1jc6s02hpsqdw6armd4"; depends=[Rcpp]; };
   liayson = derive2 { name="liayson"; version="1.0.2"; sha256="1kz7svfjd8wr826kwqkisiyhszb5df7inf77w2yb2rahkza50m49"; depends=[ape arules biomaRt distances e1071 gplots matlab phangorn plyr proxy RColorBrewer]; };
-  libamtrack = derive2 { name="libamtrack"; version="0.6.3"; sha256="0pdwrz19q1yls0rgr4579f31j86awizx3j31h7vdh6y70ngpmb82"; depends=[]; };
-  libcoin = derive2 { name="libcoin"; version="1.0-4"; sha256="1i893ij9vkmc4y721npw1s3prmmcs2da5vf3ajm0j8ccmfhbmp4i"; depends=[mvtnorm]; };
+  libcoin = derive2 { name="libcoin"; version="1.0-5"; sha256="1cm9x1dlg9f7fh7n5nw3x4a7rl88c7ylrlc8x3rx4mq5w1j42x0a"; depends=[mvtnorm]; };
   librarian = derive2 { name="librarian"; version="1.7.0"; sha256="0n3q2ppa3p0w8ypgx9s738pmprfbqi9qg8n58xzplp809p903dj9"; depends=[BiocManager remotes]; };
   librarysnapshot = derive2 { name="librarysnapshot"; version="0.1.2"; sha256="0v4x564zpm58kxs5n84bi6mcjhbzjg6a2lc30vsc8kbm3qy0nq38"; depends=[]; };
   libsoc = derive2 { name="libsoc"; version="0.7"; sha256="1r548rvj98wl0yp6jx5d2qhvy1y4883qp0w3jjk97vp07a1cywn8"; depends=[]; };
   libstableR = derive2 { name="libstableR"; version="1.0.2"; sha256="1gkcgbc8a7ks9x8mqmlz98hk55q3qy62izam7csz1s0r5dzsyqcr"; depends=[Rcpp RcppGSL]; };
-  lidR = derive2 { name="lidR"; version="2.1.0"; sha256="1rpln2ngqy7p5809ip557xila4c4xvmm7skmh4l7q07lmplxc5wl"; depends=[BH data_table future gdalUtils geometry glue gstat imager lazyeval raster Rcpp RcppArmadillo RCSF rgdal rgeos rgl rlas sf sp]; };
+  lidR = derive2 { name="lidR"; version="2.1.4"; sha256="0qn2rf6h5ybx1qqri0cnb24iyylfv9hy8qm1lsbibssway9v8as2"; depends=[BH data_table future gdalUtils geometry glue imager lazyeval raster Rcpp RcppArmadillo RCSF rgdal rgeos rgl rlas sf sp]; };
   lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.6"; sha256="0v8xrnmviq938x779f3h55iq8bhvbkwgz35v1dxgzbxwclj7jycl"; depends=[markovchain Rcpp]; };
   lifecourse = derive2 { name="lifecourse"; version="2.0"; sha256="1m8ihqvzhzpq2m2pdvh37bpq9pdbj23r3y0jkl3q8farh3qj473d"; depends=[TraMineR]; };
   lifecycle = derive2 { name="lifecycle"; version="0.1.0"; sha256="11rk7hkw63rfrf4aqmb4xrb88kg95xh8hajpjvjfwjym2v02h74n"; depends=[glue rlang]; };
@@ -9218,6 +9607,7 @@ in with self; {
   liftLRD = derive2 { name="liftLRD"; version="1.0-8"; sha256="1m24f4mc70l808cpkcdm91hzb5b3bkzibvgyfi9zs6cs8apcvmy3"; depends=[adlift nlt]; };
   liftr = derive2 { name="liftr"; version="0.9.2"; sha256="0azi831c4f0vcq27a3q86vj90zvwrzcy4plhj9hqkk4qz8xw113x"; depends=[knitr rmarkdown rstudioapi stringr yaml]; };
   liger = derive2 { name="liger"; version="1.0"; sha256="0vn49p8ldb7ss35by04qh7r1arn5w8gci1rqbyfqw8ignwjrdc7s"; depends=[matrixStats Rcpp RcppArmadillo]; };
+  lightr = derive2 { name="lightr"; version="0.1"; sha256="0ijqsgszjgxp3xci6fr17krbzns6r0qyxna60ad85c5ri868rmzs"; depends=[pbmcapply xml2]; };
   lightsout = derive2 { name="lightsout"; version="0.3"; sha256="0ypniqf9wk35dd9j57wd7gxchr5hy25fwhmkndz2z8b9ajhm3c9b"; depends=[magrittr shiny shinyjs]; };
   likeLTD = derive2 { name="likeLTD"; version="6.3.0"; sha256="1mjf4667xd9pf2684d7vqaj54l5s9pgljn4vkfp32wzbfknq6y8r"; depends=[DEoptim gdata ggplot2 gtools rtf]; };
   likelihood = derive2 { name="likelihood"; version="1.7"; sha256="0q8lvwzlniijyzsznb3ys4mv1cqy7ibj9nc3wgyb4rf8676k4f8v"; depends=[nlme]; };
@@ -9225,8 +9615,9 @@ in with self; {
   likelihoodExplore = derive2 { name="likelihoodExplore"; version="0.1.0"; sha256="13cnql7pbx8qq1j3cfb3lkzzf2k55shpfa0jd00z30ys6imxzcfn"; depends=[lazyeval plyr]; };
   likert = derive2 { name="likert"; version="1.3.5"; sha256="0c4irxs7pp1z8nj4s8cq23daw4h94n3h7x4f6q1d85614qcl9l3p"; depends=[ggplot2 gridExtra plyr psych reshape2 xtable]; };
   lilikoi = derive2 { name="lilikoi"; version="0.1.0"; sha256="1v7xrkv8xxmq6cdww4z1p9vlvy71cqgd3yb5mal4v9w2wrfaps6z"; depends=[caret corrplot devtools dplyr e1071 gbm ggplot2 glmnet hash Hmisc infotheo Matrix pamr princurve pROC R_oo randomForest reshape2 RWeka stringr]; };
-  limSolve = derive2 { name="limSolve"; version="1.5.5.3"; sha256="1ll6ir42h3g2fzf0wqai213bm82gpwjj2hfma2np3mz024sc09rg"; depends=[lpSolve MASS quadprog]; };
-  lime = derive2 { name="lime"; version="0.5.0"; sha256="1xpzrdp6l6ndfg50cbbbrwpvfj4n0xll5cpam7cvq1s35rhpgnvm"; depends=[assertthat ggplot2 glmnet gower htmlwidgets Matrix Rcpp RcppEigen shiny shinythemes stringi]; };
+  lillies = derive2 { name="lillies"; version="0.2.5"; sha256="0cqlxcq8yyw87m018hv8s82d6qmh9x93j0hyqycl6w5fdpp62hf0"; depends=[ddpcr dplyr knitr pracma progress rlang survival tidyr]; };
+  limSolve = derive2 { name="limSolve"; version="1.5.6"; sha256="1829rd2cnd8qj80z9a7sgc7gx4sf3kvl5g6d2a0lqqw30f9sjzmr"; depends=[lpSolve MASS quadprog]; };
+  lime = derive2 { name="lime"; version="0.5.1"; sha256="021wz43dfc3f2k275c98hcnnx7dyyjj18dm2zf8vh7rbk9bnf0sj"; depends=[assertthat ggplot2 glmnet gower htmlwidgets Matrix Rcpp RcppEigen shiny shinythemes stringi]; };
   limitplot = derive2 { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
   lin_eval = derive2 { name="lin.eval"; version="0.1.2"; sha256="05saxzzwh3gs6a4ii63n5kjm06p399xkyrjnqvn9f164322p7pwb"; depends=[broom]; };
   linERR = derive2 { name="linERR"; version="1.0"; sha256="1mhiyqfpwagg161ncp5ndd22hlh12qzr360nms13rgyd8a077cq7"; depends=[survival]; };
@@ -9234,26 +9625,28 @@ in with self; {
   linbin = derive2 { name="linbin"; version="0.1.2"; sha256="0shw976nlryjvmvnyyiycchqs7zcg5flalywm1ymnv62nw3n55xs"; depends=[]; };
   lindia = derive2 { name="lindia"; version="0.9"; sha256="1qma8wr0fkwx03x971crkh8cfc8z4374py1r1wvszj9wzi4vfp5r"; depends=[ggplot2 gridExtra MASS]; };
   linear_tools = derive2 { name="linear.tools"; version="1.3.0"; sha256="14lp3gifzbid82lkr7rdqajz2abp8m7y8irpwx6s8w66djjfckda"; depends=[ggplot2 magrittr plyr pryr scales stringr]; };
+  linearOrdering = derive2 { name="linearOrdering"; version="1.0.0"; sha256="1y9wcmcwbaqphzv8mk3xgk49pmd8m020zv3qmi85b5kzzqam1r4z"; depends=[]; };
   linearQ = derive2 { name="linearQ"; version="2.0"; sha256="0sx7bx0x1k193day5w1dbmc09kn5741pcilxijjn2y5aijhd5wk9"; depends=[Rcpp stepR]; };
   linemap = derive2 { name="linemap"; version="0.1.0"; sha256="0qkbmpfr742xbs3xn5ppx6q0prwrr9mk1c1mv050cm47dm7jcs6l"; depends=[sf]; };
-  lineqGPR = derive2 { name="lineqGPR"; version="0.0.4"; sha256="1z7114c303cjh0wdbvsza5p0vsq6dz2kd425vg91r4bayhy4wd0k"; depends=[broom ggplot2 MASS Matrix mvtnorm nloptr quadprog restrictedMVN tmg TruncatedNormal]; };
+  lineqGPR = derive2 { name="lineqGPR"; version="0.1.1"; sha256="180rvmpasdw8r3w5lw6dxg5jkj875dklvifi2msyp0vaq1nbpbwp"; depends=[broom ggplot2 MASS Matrix mvtnorm nloptr plot3D purrr quadprog tmg TruncatedNormal]; };
   lineup = derive2 { name="lineup"; version="0.37-11"; sha256="0lk2wm8wsaaxw3j7yvmg6qif0r0s1jlwqyg73d3xjnjhxgy03zp4"; depends=[class qtl]; };
-  lingtypology = derive2 { name="lingtypology"; version="1.0.13"; sha256="1v6n2wdz5zkkc1k88jpjrh6nwias496dg2vvglrjd7g4bymb7715"; depends=[leaflet leaflet_minicharts magrittr MASS rgeos rowr sp stringdist]; };
+  lingtypology = derive2 { name="lingtypology"; version="1.0.15"; sha256="1iy33d29fdwpsw13094ykjijidhpcgkxqdqxfmlw4s6ma08sx4gh"; depends=[leaflet leaflet_minicharts rowr stringdist]; };
   linguisticsdown = derive2 { name="linguisticsdown"; version="1.2.0"; sha256="1y2g8h0p4q4mjrawzyprsdw8ynqcbpnjypyhdaf03pcwqglcirkl"; depends=[DT knitr magrittr miniUI rstudioapi shiny stringr]; };
-  link2GI = derive2 { name="link2GI"; version="0.3-5"; sha256="1mxbahxn5kfkvqdyg5mr4gqpbw90ik1xmxvl6a7d4dcacpsqzkl8"; depends=[devtools gdalUtils raster rgdal rgrass7 roxygen2 RSAGA sf sp]; };
+  link2GI = derive2 { name="link2GI"; version="0.4-0"; sha256="00cvakpyl8jmj3d3lyap6b22kav6dkqj0r24w2h6nn5w9b9j3max"; depends=[devtools R_utils roxygen2 sf stringr]; };
   linkR = derive2 { name="linkR"; version="1.1.1"; sha256="1748r7s5g0gvsmghrb7l5lmdbzb9f4vkbgj51v308jr64r1k7l93"; depends=[svgViewR]; };
   linkcomm = derive2 { name="linkcomm"; version="1.0-11"; sha256="1w5sfmzvrk30fr161pk0cy5nj8kasqm6hqgyafq6r280b5s272cb"; depends=[dynamicTreeCut igraph RColorBrewer]; };
   linkim = derive2 { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; };
   linkprediction = derive2 { name="linkprediction"; version="1.0-0"; sha256="0p2abdq6ad689236w2d0khlycpjgy6j7xrlb96ngl6csgxwm07bl"; depends=[igraph intergraph]; };
   linkspotter = derive2 { name="linkspotter"; version="1.2.0"; sha256="0wk27jn8jr5rskjxbixshmp2dl0l74hrc8r6x3rvhy0x0b00zks2"; depends=[dplyr energy ggplot2 Hmisc infotheo mclust minerva pbapply rAmCharts shiny tidyr visNetwork]; };
-  linl = derive2 { name="linl"; version="0.0.3"; sha256="0cl9p77c9702mzjv02yd7yj7lxwnwslibj0nk8p96glclsbyayl5"; depends=[knitr rmarkdown]; };
+  linl = derive2 { name="linl"; version="0.0.4"; sha256="1wq0wm3k12sfvg0nzdsdxb4qc79kny7qvckxplfgaj6y62vcjxxl"; depends=[knitr rmarkdown]; };
   linpk = derive2 { name="linpk"; version="1.0"; sha256="14l3vv507z7x63ziynp07902599syah0icvzq4rxfjf48bf96l63"; depends=[mvtnorm]; };
   linprog = derive2 { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; };
   lintools = derive2 { name="lintools"; version="0.1.2"; sha256="18layj6a202p0sy9rs022fp0a6fwvixwwmwlyzn7h9kh4y9gvxjz"; depends=[]; };
-  lintr = derive2 { name="lintr"; version="1.0.3"; sha256="0vlsgq13g2ddv3wqcxaaf7yki9yjj3j1agkh91vqlvbi90i6s8mx"; depends=[codetools crayon digest httr igraph jsonlite knitr rex rstudioapi stringdist testthat]; };
+  lintr = derive2 { name="lintr"; version="2.0.0"; sha256="09gbci4v5n4gsfzminly8332fw7faxdi1kkyvpa10dydx02sjcwb"; depends=[codetools crayon cyclocomp digest httr jsonlite knitr rex rstudioapi stringdist testthat xml2 xmlparsedata]; };
   liqueueR = derive2 { name="liqueueR"; version="0.0.1"; sha256="0rpjib0dz39la63gy9bw9gmdfq2fcx40y4y4wcb6ky41qcjdp1nd"; depends=[itertools]; };
+  liquidSVM = derive2 { name="liquidSVM"; version="1.2.4"; sha256="1fka0jbc200n0il1qbp5nb9819afi11b1ndwqpsd6bhfjgrcga8m"; depends=[]; };
   lira = derive2 { name="lira"; version="2.0.1"; sha256="10bjmapnlw5z5cnbdpkwisvjkmk7zi9xqrvgmb5psj317zcxfc2p"; depends=[coda rjags]; };
-  lisa = derive2 { name="lisa"; version="0.1.0"; sha256="042492w4gq3myqr6kpy272cxdmbr3lynja3ggrfzicvfbnrs6mzz"; depends=[]; };
+  lisa = derive2 { name="lisa"; version="0.1.1"; sha256="1i5fbcac24rp8s7z2v23aqy7xv0p610zj5xfb6vscsvhdlvg4w1a"; depends=[]; };
   lisp = derive2 { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; };
   lisrelToR = derive2 { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; };
   list = derive2 { name="list"; version="9.1"; sha256="17d8pscn56wlp6pcz2mvqjmrwv22fhphiiblrnfnd36m65nd58dm"; depends=[arm coda corpcor gamlss_dist magic MASS mvtnorm quadprog sandwich VGAM]; };
@@ -9262,12 +9655,12 @@ in with self; {
   listdtr = derive2 { name="listdtr"; version="1.0"; sha256="08drps03nndpdxswyv8bjm1bcckjav5pjj7fdx3dzyn0v4dfy619"; depends=[ggplot2]; };
   listenv = derive2 { name="listenv"; version="0.7.0"; sha256="0ma5jsri2zqkrlsm9nqpikl7imbwfy1glsmk13mblw0q245h49k1"; depends=[]; };
   listless = derive2 { name="listless"; version="0.0-2"; sha256="1gr6l4vih7j28kg2mj1xj2yhlpwjc4p894vsxri25vq0r9kgcdym"; depends=[magrittr tidyr]; };
-  listviewer = derive2 { name="listviewer"; version="2.1.0"; sha256="09jkrrq4zyzgi66vkpm5n7isxpbckx5hjk39nik766hzarj5i7rs"; depends=[htmltools htmlwidgets shiny]; };
+  listviewer = derive2 { name="listviewer"; version="3.0.0"; sha256="0zirxdj58h43062f68h6nqcgmpnvdglxx3kjbs4i4k0z9wvqhx8r"; depends=[htmltools htmlwidgets shiny]; };
   liteq = derive2 { name="liteq"; version="1.1.0"; sha256="0w3w9f6374qwvlrqknavqh9b38n5q1r6aw5zmz5lahvadalwdbwi"; depends=[assertthat DBI rappdirs RSQLite]; };
-  litteR = derive2 { name="litteR"; version="0.4.1"; sha256="1348vljlm546j00bh9x8dfjjrvvclamx5cb7ik9bganj1i9dvjmk"; depends=[dplyr fs ggplot2 purrr readr rlang rmarkdown stringr tidyr yaml]; };
-  littler = derive2 { name="littler"; version="0.3.8"; sha256="0g4aw031fsv69i7ah1g308dj0jsb9gpz0pbixji0agqqivhsf63a"; depends=[]; };
+  litteR = derive2 { name="litteR"; version="0.6.6"; sha256="0f0djjv7b77zkfjdlh2afvhqs215lnd3nqc2rwl25jajyjhw6m0j"; depends=[dplyr fs ggplot2 purrr readr rlang rmarkdown stringr tidyr yaml]; };
+  littler = derive2 { name="littler"; version="0.3.9"; sha256="1l0680icgj835hb1b8kanh2zx7cmy3yghglr75qilbvsd4anhxyz"; depends=[]; };
   liureg = derive2 { name="liureg"; version="1.1.2"; sha256="1zhc5fs47whjvvwwiivykxfchzbjbldyvdmqh9rp7ccwba2q3956"; depends=[]; };
-  live = derive2 { name="live"; version="1.5.10"; sha256="17wz3cs6pjghc31965wblm3lm3x1pr5bk5j1wi84vyyl0sni3qx4"; depends=[breakDown data_table dplyr e1071 forestmodel ggplot2 gower MASS mlr shiny]; };
+  live = derive2 { name="live"; version="1.5.11"; sha256="08xyh6fnwnx7vlz9ldgslkqsnpwb0pdmmc77gl70dwh1c5v3w1gz"; depends=[breakDown data_table dplyr e1071 forestmodel ggplot2 gower MASS mlr shiny]; };
   livechatR = derive2 { name="livechatR"; version="0.1.0"; sha256="1k0z6q3s9iw962m1lwlx45p95flzl5jg1xh6ng426v9jh1yyrbb2"; depends=[data_table dplyr jsonlite magrittr purrr]; };
   ljr = derive2 { name="ljr"; version="1.4-0"; sha256="0jby94ml8w6pwnxbmv6qfjww2myvvnn9vrmlqpdh71dhgp3z35py"; depends=[]; };
   llama = derive2 { name="llama"; version="0.9.2"; sha256="0knlmfddp70ddhjb9slyibbb9qj7pfybqccv3i4f545qxmmykj2n"; depends=[BBmisc checkmate ggplot2 mlr parallelMap plyr rJava]; };
@@ -9282,6 +9675,7 @@ in with self; {
   lmSubsets = derive2 { name="lmSubsets"; version="0.4"; sha256="1qlljv5mdy648wk0r1ac6ak62f9n4x0dwxv8ic0v0rsxaq9q0pjz"; depends=[]; };
   lmSupport = derive2 { name="lmSupport"; version="2.9.13"; sha256="0ln5c91mbxkymgnv2nw5m3nrm5bwckpikgb9x1qhmjc55m98wkb8"; depends=[AICcmodavg car gplots gvlma lme4 pbkrtest psych pwr]; };
   lmboot = derive2 { name="lmboot"; version="0.0.1"; sha256="1v7a3vlv0187mpg3y3pj7f3pbk1v5n6amw732chy10vdw5nmfkwd"; depends=[evd]; };
+  lmds = derive2 { name="lmds"; version="0.1.0"; sha256="130azb0nc2wwxv0qi8v5s4rd02p9lc92zwn634pv7b8awbw81i65"; depends=[assertthat dynutils irlba Matrix]; };
   lme4 = derive2 { name="lme4"; version="1.1-21"; sha256="035j2hqkwv939xl07pm2vykvf3wlx8qj317846n9pkpqkyv58mbz"; depends=[boot lattice MASS Matrix minqa nlme nloptr Rcpp RcppEigen]; };
   lmeNB = derive2 { name="lmeNB"; version="1.3"; sha256="03khn9wgjbz34sx0p5b9wd3mhbknw8qyvyd5pvllmjipnir63d3q"; depends=[lmeNBBayes numDeriv statmod]; };
   lmeNBBayes = derive2 { name="lmeNBBayes"; version="1.3.1"; sha256="13shfsh9x6151xy8gicb25sind90imrwclnmfj96b76p5dvhzabm"; depends=[]; };
@@ -9292,7 +9686,7 @@ in with self; {
   lmenssp = derive2 { name="lmenssp"; version="1.2"; sha256="1vc90x3y1vzmzblc15kqar3nd3c3p8p9nvmpk0ib52n0qv5pr6wz"; depends=[geoR MASS mvtnorm nlme]; };
   lmerTest = derive2 { name="lmerTest"; version="3.1-0"; sha256="1nkz8cmxa5yb8q4i65bmhnn5pd4bhwcyjplyscynb24z3f64xp9b"; depends=[ggplot2 lme4 MASS numDeriv]; };
   lmf = derive2 { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
-  lmfor = derive2 { name="lmfor"; version="1.3"; sha256="1c97kgzgrn0mgb6a8m4c8875qi8li1z189fa463z826x3psrr40v"; depends=[nlme spatstat]; };
+  lmfor = derive2 { name="lmfor"; version="1.4"; sha256="012bk6r6gf6y9skfch2pqr2irv70108sz1x6hakl1bifb4lgnbjp"; depends=[magic nlme spatstat]; };
   lmm = derive2 { name="lmm"; version="1.2"; sha256="1xymcizqfqh2jp0rxgfgniflyqzgcwg04g9mllva5xgc1ydcg69k"; depends=[]; };
   lmmen = derive2 { name="lmmen"; version="1.0"; sha256="0c1yy991bff1hp47rg89j5811l50kb9pdf76834jxh38dr3b4lsw"; depends=[glmmLasso glmnet lme4 lmmlasso mvtnorm quadprog]; };
   lmmlasso = derive2 { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; };
@@ -9309,9 +9703,10 @@ in with self; {
   lmtest = derive2 { name="lmtest"; version="0.9-37"; sha256="02nasm0j2vwkhz11dxqixs23msy1s3yj0jps6949fmgh9gwjkjfx"; depends=[zoo]; };
   lmvar = derive2 { name="lmvar"; version="1.5.2"; sha256="0wrny8yzk5y4mzpri6xv5wibbnbaxm0195lcbk5jrl5l5gs99bn6"; depends=[Matrix matrixcalc maxLik]; };
   lmviz = derive2 { name="lmviz"; version="0.1.2"; sha256="06pl0gzsbpk6l7l5np2c2rv37d2b3mr7qhxd7z4yiqiaffdrmrpz"; depends=[lmtest mgcv shiny shinyjs]; };
-  loa = derive2 { name="loa"; version="0.2.44.2"; sha256="16yrkl8l4wa4i3iizncm58l75l46acfr2lf4vn53crcci9xra333"; depends=[lattice MASS mgcv plyr png RColorBrewer RgoogleMaps]; };
+  loa = derive2 { name="loa"; version="0.2.45.4"; sha256="0dcpadv453885a2s8l064zn1xswi2v819154j822jr22kd7bj57v"; depends=[lattice MASS mgcv plyr png RColorBrewer rgdal RgoogleMaps sp]; };
   loadr = derive2 { name="loadr"; version="0.1.2"; sha256="1zqg90hxw6c3k3gd0caj8fh5ym3f97gsr9cvi6ndlzqh4957cd5n"; depends=[]; };
   lobstr = derive2 { name="lobstr"; version="1.1.1"; sha256="0vkif17825x33cz8r89j0qph4wj5l8fzfgl8nh2g7m2v140cxjdq"; depends=[crayon Rcpp rlang]; };
+  locStra = derive2 { name="locStra"; version="1.1"; sha256="0wnis4x85hz5hsi8a9ii2gkbsx8lzp064gab2xdv0k8zizyj0dvk"; depends=[Matrix Rcpp RcppEigen Rdpack]; };
   localICE = derive2 { name="localICE"; version="0.1.0"; sha256="0pch4mdn0bj3rlqsai3lqrkv6pw04238n9qvlwzwcwii3wyqhkgs"; depends=[checkmate ggplot2]; };
   localIV = derive2 { name="localIV"; version="0.2.1"; sha256="09z5iqqa9ia4v88fbgf23ww8wxywpyndhzl5mhsp5dvpnj0vyhx1"; depends=[KernSmooth mgcv sampleSelection]; };
   localModel = derive2 { name="localModel"; version="0.3.11"; sha256="1qy5qpczyp0dbnbfmznzn84cgakvlbsq6cgdn6r08dkdh339d6fb"; depends=[ggplot2 glmnet ingredients partykit]; };
@@ -9323,14 +9718,14 @@ in with self; {
   locpol = derive2 { name="locpol"; version="0.7-0"; sha256="1p915n0l09kbwkly627074jslxl01yssp1rf0c7sygvsw6sgy5lm"; depends=[]; };
   lodGWAS = derive2 { name="lodGWAS"; version="1.0-7"; sha256="0g5b44d3wb5hnx5l2n76myb1pc9ml3a052n1a4gvgqapa5as35s2"; depends=[rms survival]; };
   loder = derive2 { name="loder"; version="0.2.0"; sha256="0m6g8c25dmq0wgpy8y6cbggymxdvqwb6lp2yzs5bgpq183512spb"; depends=[]; };
-  lodi = derive2 { name="lodi"; version="0.9.0"; sha256="06ljky3r168navs9dys3dv22cb35lnz47wa3pqkxaiy94h254hvh"; depends=[rlang]; };
+  lodi = derive2 { name="lodi"; version="0.9.1"; sha256="1207lbin53wlacs6kk8gwzbwllddh4byvs6ai6b9d345k6f9gr56"; depends=[rlang]; };
   loe = derive2 { name="loe"; version="1.1"; sha256="1n16pgfxg9vcn729xxjbbvavg2ywbdcch9v2ph8nv3z7psc0q46c"; depends=[MASS]; };
-  log4r = derive2 { name="log4r"; version="0.3.0"; sha256="14d66xgv1z8v8wqxkycjhpl4r0z14cx9i6lxxs5y844454hh4pcf"; depends=[]; };
+  log4r = derive2 { name="log4r"; version="0.3.1"; sha256="081fsfgs1shn2002hbvx974421s1294b2l9878q591a4gmv61n1n"; depends=[]; };
   logKDE = derive2 { name="logKDE"; version="0.3.2"; sha256="09gachibj0klqa9ijw572lwphbh9qj6zqray5byq1dh7zsiq516q"; depends=[pracma Rcpp]; };
-  logNormReg = derive2 { name="logNormReg"; version="0.2-0"; sha256="1mry2vqb9sqv17xw26k637w3i3zqjgayz2ql43rbz2f5248lm0yc"; depends=[]; };
+  logNormReg = derive2 { name="logNormReg"; version="0.3-0"; sha256="172d0y9rb7j0d3m7d22ycfip6s8hk8hlp9810d7r95ra5dr5dx8z"; depends=[]; };
   logOfGamma = derive2 { name="logOfGamma"; version="0.0.1"; sha256="0r7di0l646ycfmdjk8hli6b0v7qj0i8z3i8i7rwd3fsblb2q22vd"; depends=[]; };
   logbin = derive2 { name="logbin"; version="2.0.4"; sha256="01gwfq9r2yy28iymxa402r8jp8km953cb5i60xnskcpzh8bv4rmf"; depends=[glm2 turboEM]; };
-  logconcens = derive2 { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; };
+  logconcens = derive2 { name="logconcens"; version="0.17-0"; sha256="0zrnyb25iyr3cm83b3xp21nipv1q0l1kp7nwjaja3173z7wwlvvr"; depends=[]; };
   logcondens = derive2 { name="logcondens"; version="2.1.5"; sha256="1sq27klnphp74hq0l0460m9bb7lrl06mpgkg4qq8iciy3yy1mrkj"; depends=[ks]; };
   logcondens_mode = derive2 { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[distr logcondens]; };
   logcondiscr = derive2 { name="logcondiscr"; version="1.0.6"; sha256="08wwxsrpflwbzgs6vb3r0f52hscxz1f4q0xabr1yqns06gir1kxd"; depends=[cobs Matrix mvtnorm]; };
@@ -9348,24 +9743,24 @@ in with self; {
   loglognorm = derive2 { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
   logmult = derive2 { name="logmult"; version="0.7.1"; sha256="0y9z5l93hm8p3r1rd6g11miqg1a02b9hy5mgcxv2q0hm1pg2vh0q"; depends=[gnm qvcalc]; };
   lognorm = derive2 { name="lognorm"; version="0.1.6"; sha256="05a6djz06jblnx51x2r5gwb57l4wq6giz6kknsslzsl64xj275z1"; depends=[Matrix]; };
-  logspline = derive2 { name="logspline"; version="2.1.13"; sha256="1mhv23r7whragw2rg8hcwll2mki1z85mrp82zxn5pkljl5yndagh"; depends=[]; };
+  logspline = derive2 { name="logspline"; version="2.1.15"; sha256="07ppq178la64yn34z7zk5wnz95s0k7fqixvsx8hx26g25adciq6z"; depends=[]; };
   lokern = derive2 { name="lokern"; version="1.1-8"; sha256="1dlyvgd2i4dckd8ic3x75r4sikwalch9b2f13xp5rhkzmfzbprxq"; depends=[sfsmisc]; };
   lolog = derive2 { name="lolog"; version="1.2"; sha256="1vd80ngq4558ahan1vhsql0wc578imm13fgrrgnzlrd91xncnnjf"; depends=[BH ggplot2 intergraph Matrix network Rcpp reshape2]; };
-  lomb = derive2 { name="lomb"; version="1.1"; sha256="08gzmrxl149p4wy8q3vs9impxqdf429q7lrg8j7g2r0k2yzm4rp7"; depends=[]; };
+  lomb = derive2 { name="lomb"; version="1.2"; sha256="09cp9c33x14b4did8baq3hi0b3rb2nhasjz7aav03031c0fq07zj"; depends=[]; };
   longCatEDA = derive2 { name="longCatEDA"; version="0.31"; sha256="0dji41lsknfwmgb2fczzm37dm97wvi45rh878w7pwlzwdh9vq8va"; depends=[]; };
   longROC = derive2 { name="longROC"; version="1.0"; sha256="1fs11vqi4hy99d7shzzdvd6ic5gay6rh2027w6j0qpd04n8q88m8"; depends=[survival]; };
   longRPart2 = derive2 { name="longRPart2"; version="0.2.3"; sha256="1vqcsxi6c4hqrpk3ns7yhghfryin1psxl38qkz2xz8cvyn58f685"; depends=[formula_tools ggplot2 MASS nlme rpart]; };
   longclust = derive2 { name="longclust"; version="1.2.3"; sha256="1g45d5pak2vhbjrcmxxrk9jyrdxkqwy45phzpsw6b2bjyrgr4i7g"; depends=[]; };
   longitudinal = derive2 { name="longitudinal"; version="1.1.12"; sha256="1d83ws28nxi3kw5lgd5n5y7865djq7ky72fw3ddi1fkkhg1r9y6l"; depends=[corpcor]; };
   longitudinalData = derive2 { name="longitudinalData"; version="2.4.1"; sha256="0lnvcfgj721bawl1ciz0jw83mfsnzkhg6jn824vr3qdm4rbib2vd"; depends=[class clv misc3d rgl]; };
-  longitudinalcascade = derive2 { name="longitudinalcascade"; version="0.3.1.1"; sha256="1xm2w8qif34sv2f57996pxf1j52lyrmzaswmszpxiy1lvf2h362g"; depends=[dplyr ggplot2 lubridate rlang scales survival tidyr zoo]; };
+  longitudinalcascade = derive2 { name="longitudinalcascade"; version="0.3.2.1"; sha256="03nqglxyz6qfalxdnyh2aarxv3agn0b3r4nhsji4v9703h4m1fvg"; depends=[dplyr ggplot2 lubridate rlang scales survival tidyr zoo]; };
   longmemo = derive2 { name="longmemo"; version="1.1-1"; sha256="0myn2xpg0mw3x5zma0y1dza2jg3x9zj9z8xv2z8l2q9pm228xn0d"; depends=[]; };
   longpower = derive2 { name="longpower"; version="1.0-19"; sha256="0m5c544d6vl2zhbyi0spy7ylvr366m7vrmk3xfghcvd5anbzpjk6"; depends=[lme4 nlme]; };
   longurl = derive2 { name="longurl"; version="0.3.0"; sha256="0ysa70zlkk3ybddj3yd3vbhjnkjbrisiz5a2hgbjx10p33m1r3am"; depends=[dplyr httr purrr]; };
   loo = derive2 { name="loo"; version="2.1.0"; sha256="0zg8a11qhifg1p3hisxin1q47wlykjig4k3dz5zmflfihpps3x0v"; depends=[checkmate matrixStats]; };
   lookupTable = derive2 { name="lookupTable"; version="0.1"; sha256="0ipy0glrad2gfr75kd8p3999xnfw4pgpbg6p064qa8ljqg0n1s49"; depends=[data_table dplyr]; };
-  loon = derive2 { name="loon"; version="1.2.2"; sha256="1mb6jys2pipac31x8a7rm265zvx1l11w1gl2b82afl8as2v7s90j"; depends=[gridExtra]; };
-  loon_data = derive2 { name="loon.data"; version="0.0.5"; sha256="0hvgvsv1vxx7m1fh8kjj7kfpl0c44n8xw9v8vaxlnz30s8rwhplc"; depends=[]; };
+  loon = derive2 { name="loon"; version="1.2.3"; sha256="0h6vbsdp7m9wawjswzzpx7sq8q06xj9l1ln11vfwsyfnp4c66bfs"; depends=[gridExtra]; };
+  loon_data = derive2 { name="loon.data"; version="0.0.6"; sha256="01bd3w5xfr7lnbdhi9al5svlg7x3xs4l0jbqsrlamzc96izkm952"; depends=[]; };
   loop = derive2 { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
   loopr = derive2 { name="loopr"; version="1.0.1"; sha256="1qzfjv15ymk8mnvb556g2bfk64jpl0qcvh4bm3wihplr1whrwq6y"; depends=[dplyr lazyeval magrittr plyr R6]; };
   loose_rock = derive2 { name="loose.rock"; version="1.0.16"; sha256="0vk9zmiy730c1d397v5p7v8ywjv1wv9vabmhdjyrfdx7bijfy57m"; depends=[digest dplyr futile_options ggplot2 MASS reshape2]; };
@@ -9375,13 +9770,13 @@ in with self; {
   lori = derive2 { name="lori"; version="2.1.3"; sha256="09wk6pfrfazh8s4zc7v1x5gsra9klh7whc3jnpasvhgnna5515ys"; depends=[data_table FactoMineR rARPACK svd]; };
   lotri = derive2 { name="lotri"; version="0.1.1"; sha256="1zqp56hxqyf9a820p2d272ykqnrym2qc5sbmah68qv8ql9n1z9qg"; depends=[Matrix]; };
   lowmemtkmeans = derive2 { name="lowmemtkmeans"; version="0.1.2"; sha256="08zhdw48rzw47yzhg4s37bkliyngxs46cyb57dvng1s3m0w0dhvi"; depends=[Rcpp RcppArmadillo]; };
-  lpSolve = derive2 { name="lpSolve"; version="5.6.13.2"; sha256="0fc5m259ayc880f5hvnq59ih6nb2rlp394n756n1khmxbjpw1w3m"; depends=[]; };
-  lpSolveAPI = derive2 { name="lpSolveAPI"; version="5.5.2.0-17.3"; sha256="116adayi5xwg7l049bszz7452avfbyphivnzvy9l3k48awfimfi9"; depends=[]; };
+  lpSolve = derive2 { name="lpSolve"; version="5.6.13.3"; sha256="1xazby8amb47vw5n12k13awv7x3bjci3q8vdd3vk1ms0ii16ahg6"; depends=[]; };
+  lpSolveAPI = derive2 { name="lpSolveAPI"; version="5.5.2.0-17.4"; sha256="13z8ij045zsbn1ip7f2924ppj41bbf8kzpdsbm2h5gkplnw1yqvk"; depends=[]; };
   lpbrim = derive2 { name="lpbrim"; version="1.0.0"; sha256="1cbkzl23vgs9hf83ggkcnkmxvvj8867k5b9vhfdrznpqyqv1f2gp"; depends=[Matrix plyr RColorBrewer]; };
   lpc = derive2 { name="lpc"; version="1.0.2.1"; sha256="1g1dzm7pcrbrdk1dmhbdhj58j69dzar41al3i8q4gysf3adqzsvv"; depends=[]; };
   lpdensity = derive2 { name="lpdensity"; version="1.0"; sha256="1rmddq8drvwdlqw9ggf3h8dcvx64hh6ha2v9zdxfjmi50zlcirg5"; depends=[ggplot2]; };
   lpint = derive2 { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
-  lpirfs = derive2 { name="lpirfs"; version="0.1.5"; sha256="015009c930jilspmpk8w27lixda3mynqrlv1klss0xaj7ih286yq"; depends=[doParallel dplyr foreach ggplot2 lmtest plm Rcpp RcppArmadillo sandwich]; };
+  lpirfs = derive2 { name="lpirfs"; version="0.1.7"; sha256="0s873vy9vbxbjrxrbwgz9nf483idqvjqbw35ns3h2sjpwhq5i60l"; depends=[doParallel dplyr foreach ggplot2 gridExtra lmtest plm Rcpp RcppArmadillo sandwich]; };
   lplyr = derive2 { name="lplyr"; version="0.1.12"; sha256="1wcab8wwdzpgb61q83gfn2d34vsrd3qa4xyb9sqna6krss1ii1in"; depends=[bazar dplyr lazyeval magrittr]; };
   lpme = derive2 { name="lpme"; version="1.1.1"; sha256="0si90nkgl8bqk8yvd2igdsrngiwqh8891072pfpzipifnd0f5448"; depends=[decon flexmix locpol Rcpp RcppArmadillo]; };
   lpmodeler = derive2 { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
@@ -9392,21 +9787,22 @@ in with self; {
   lrgs = derive2 { name="lrgs"; version="0.5.3"; sha256="0aqz07vg3z52lq224mapwgwr9mspa7aswzdfngg6x933aqsha4gj"; depends=[mvtnorm]; };
   lrmest = derive2 { name="lrmest"; version="3.0"; sha256="1yddkgza672z9y0ipgl92pg9prhmr387zsqf0qbi9k2yzfz2vvs6"; depends=[MASS psych]; };
   lsa = derive2 { name="lsa"; version="0.73.1"; sha256="1af8s32hkri1hpngl9skd6s5x6vb8nqzgnkv0s38yvgsja4xm1g5"; depends=[SnowballC]; };
-  lsasim = derive2 { name="lsasim"; version="1.0.1"; sha256="0bwk6bv0wp30v6p55nyd1hcvwnjjddwccyy1swf6sg7lw3fy657p"; depends=[]; };
+  lsasim = derive2 { name="lsasim"; version="2.0.0"; sha256="1dy9rvjn88rldqsi8vyl5vf544n65xwmqxd7cwpyk7j8sa845wxk"; depends=[mvtnorm]; };
   lsbclust = derive2 { name="lsbclust"; version="1.1"; sha256="1pbai58pfvhfcrd0nj13d54vrn9wrx2xapqhgqa1pkrjwbk5amj7"; depends=[clue doParallel foreach ggplot2 gridExtra mvtnorm plyr Rcpp reshape2]; };
   lsbs = derive2 { name="lsbs"; version="0.1"; sha256="14aq80zg89lq7hffv1v1m4n7hbzqzxkazcga4y2fq40ij3v7kv6n"; depends=[ks Matrix numDeriv]; };
   lsdv = derive2 { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; };
   lsei = derive2 { name="lsei"; version="1.2-0"; sha256="1xl06fb3is744pxlh42wx5hn1h0ab1k31wnmsmh0524kxzcyp0a7"; depends=[]; };
   lshorth = derive2 { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
   lsl = derive2 { name="lsl"; version="0.5.6"; sha256="1hwzklx1qp5ljc059j2hridg3caw4cgn7rbqs8xh2arzcvqdw3rb"; depends=[ggplot2 lavaan reshape2]; };
-  lslx = derive2 { name="lslx"; version="0.6.8"; sha256="0x1xfgk0k77k3qvsqqi5cy73v1a2ra5rbfwvhm3wdjk928n1c9dv"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
+  lslx = derive2 { name="lslx"; version="0.6.9"; sha256="0jfy6j5z53daarv8d8vqsgqdiy6s720m7qlcvrhicc8drvj88mrm"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
   lsm = derive2 { name="lsm"; version="0.1.8"; sha256="0h7gyc4wb0y3hvs21h22l57czdd3xfycg400ncz5c9s63r47wzx3"; depends=[]; };
   lsmeans = derive2 { name="lsmeans"; version="2.30-0"; sha256="1z35dzfgib0fk201gzjhgmnryhl3mkz50gz8g6nfv4mj9kzc5x5f"; depends=[emmeans]; };
-  lspartition = derive2 { name="lspartition"; version="0.3"; sha256="1pz636g60vp01z50kl9qp9yfb9bm83x761s0i901absdsqjs35a8"; depends=[combinat dplyr ggplot2 MASS matrixStats mgcv pracma]; };
+  lspartition = derive2 { name="lspartition"; version="0.4"; sha256="1n0pag5l4kx211dl5z9xbqijp7l04jcm0i6jgvkk2b0x9v32q4r5"; depends=[combinat dplyr ggplot2 MASS matrixStats mgcv pracma]; };
   lspline = derive2 { name="lspline"; version="1.0-0"; sha256="0bc1nfpp1r5fi8rrg295k4r8pm03baqplrzwmk3sn4kdbp0apvgk"; depends=[]; };
   lspls = derive2 { name="lspls"; version="0.2-2"; sha256="1cmffkyc881659l9m1miwhr3jfpwb0xb9n5chg317vcm8l9r4wcn"; depends=[pls]; };
   lsplsGlm = derive2 { name="lsplsGlm"; version="1.0"; sha256="1qh68r033fwq1hc19h2srl1k6znvvvrcp38ghxadsksjfxllvniy"; depends=[]; };
   lsr = derive2 { name="lsr"; version="0.5"; sha256="0q385a3q19i8462lm9fx2bw779n4n8azra5ydrzw59zilprhn03f"; depends=[]; };
+  lss2 = derive2 { name="lss2"; version="1.1"; sha256="1rkv26zq36zyh891xkkllxphwplljmzpy15g619x1w4qvsajyyg8"; depends=[quantreg]; };
   ltable = derive2 { name="ltable"; version="1.0"; sha256="1sx6bknbfkays899yq7wqpvc7izz757smaw9g9i7wii7d7a75plr"; depends=[]; };
   ltbayes = derive2 { name="ltbayes"; version="0.4"; sha256="0kv5k56hmc1m7bv5pmmmk46822szsgwqgpwydn0x56az7xn6hjk6"; depends=[mcmc MHadaptive numDeriv]; };
   ltm = derive2 { name="ltm"; version="1.1-1"; sha256="1qrgzwx5l58qf5rfp1knxc84r0g943q5sdr3ky74zzwpnmrf2vf7"; depends=[MASS msm polycor]; };
@@ -9415,13 +9811,14 @@ in with self; {
   ltsa = derive2 { name="ltsa"; version="1.4.6"; sha256="10wmw9r00400ng2zlysd8jqgypjclshxj83x32002j2a9cz4f186"; depends=[]; };
   ltsbase = derive2 { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
   ltsk = derive2 { name="ltsk"; version="1.0.7"; sha256="1swv5xk5mqmi20wn85a5978gdblmwbx22y3hzadivrk7q130r9w6"; depends=[fields gstat sp]; };
+  ltsspca = derive2 { name="ltsspca"; version="0.1.0"; sha256="0hgl2zd8y01z8mhnqg1hlv1l7klpwhwk7q8b99pw9vgnh1f2gnfs"; depends=[pracma Rcpp RcppArmadillo]; };
   ltxsparklines = derive2 { name="ltxsparklines"; version="1.1.2"; sha256="1jnygg7wm2768lrrzball8rn8f60xy4nc3a18h4d32jpnbhifj13"; depends=[]; };
   lubridate = derive2 { name="lubridate"; version="1.7.4"; sha256="14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i"; depends=[Rcpp stringr]; };
   lucid = derive2 { name="lucid"; version="1.7"; sha256="0hrb8qlm8g4h1ziwxq7m53pf7g8fxhcb2xryavm6rniqpcx8yb7g"; depends=[nlme]; };
-  ludic = derive2 { name="ludic"; version="0.1.6"; sha256="0srs3bx9cw89mlpg8b8vcmz2gnsv729j3n23pnnxgbh2w7xf705b"; depends=[fGarch landpred Matrix Rcpp RcppArmadillo]; };
+  ludic = derive2 { name="ludic"; version="0.1.7"; sha256="17cnd25pnllczccjcsslrldbzg3shcjjxcck5dx0f3pqkkxzjkih"; depends=[fGarch landpred Matrix Rcpp RcppArmadillo]; };
   lue = derive2 { name="lue"; version="0.2.1"; sha256="0is5rd1dz91bzphmfbbzi3s6rgc5g9qza2r26k70xs67dgn0qbjq"; depends=[ncdf4 raster]; };
   lulcc = derive2 { name="lulcc"; version="1.0.4"; sha256="00ymbp20kbjyzrsrxa262y0y7fj4jgsbqf56aapb657xvafxvy5q"; depends=[lattice raster rasterVis ROCR]; };
-  lumberjack = derive2 { name="lumberjack"; version="0.3.0"; sha256="00br82x9n6x96ksqqgahc1ydffl9cv8lysm57pk2mxm0fzbcph2p"; depends=[R6]; };
+  lumberjack = derive2 { name="lumberjack"; version="1.0.3"; sha256="164yajzl7c2bg5vmf32kyr49a2g5pd0ng64nqy1qrypg7dppff21"; depends=[R6]; };
   lunar = derive2 { name="lunar"; version="0.1-04"; sha256="0nkzy6sf40hxkvsnkzmqxk4sfb3nk7ay4rjdnwf2zym30qax74kk"; depends=[]; };
   lutz = derive2 { name="lutz"; version="0.3.1"; sha256="15b8gzwykxyqycjba319jpsbny07j8ny9y4lnrg8mcf488ycz57y"; depends=[lubridate Rcpp]; };
   luzlogr = derive2 { name="luzlogr"; version="0.2.0"; sha256="0n0cm94aianwcypa0gwdjvyy3dwbkfv6zi1gq2jn57b41fg20lq5"; depends=[assertthat]; };
@@ -9437,15 +9834,17 @@ in with self; {
   m2r = derive2 { name="m2r"; version="1.0.0"; sha256="07zrqhva00jsp9da9ryzi8pjdrwri2mw0mqgg91r3rnl7id8safq"; depends=[gmp memoise mpoly pryr stringr]; };
   mAr = derive2 { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; };
   mBvs = derive2 { name="mBvs"; version="1.3"; sha256="0vxwdi45pd79c3lz507wlw2alvf501q27lwvd34j6y68p3vyv1vj"; depends=[]; };
-  mDAG = derive2 { name="mDAG"; version="1.2"; sha256="03f60k4705jcm147jpz7srqjxrn8v0li7w0rp9ryp44mccg9qjrl"; depends=[bnlearn logistf mgm nnet pcalg Rcpp RcppArmadillo]; };
+  mDAG = derive2 { name="mDAG"; version="1.2.2"; sha256="0k85sl0jmpcpiz92cz6x3kd8jc6yyfv9z4wm1kyaikcf5q4qlad4"; depends=[bnlearn logistf mgm nnet pcalg Rcpp RcppArmadillo]; };
   mExplorer = derive2 { name="mExplorer"; version="1.0.0"; sha256="1563d9r7f25vw5vsph21z3dwz9n40dpaiyx28ay1bbp5i1x2l3rb"; depends=[nnet qusage]; };
   mFilter = derive2 { name="mFilter"; version="0.1-5"; sha256="0anc93mciq8j64knd0i38sfgv10w1gd375wnfzn1fq8sj3lby7kb"; depends=[]; };
   mGSZ = derive2 { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[Biobase GSA ismev limma MASS]; };
   mHG = derive2 { name="mHG"; version="1.1"; sha256="1rz5ncrvvv9h9grls15apa63v2nh9j87fmp4mwjjil37jx6a5zki"; depends=[]; };
+  mHMMbayes = derive2 { name="mHMMbayes"; version="0.1.1"; sha256="0dwywrnzdzkq48x2li9waj1yrm9r5b3qnksad42kf1bm28r1mdl5"; depends=[MCMCpack mvtnorm Rdpack]; };
   mMPA = derive2 { name="mMPA"; version="1.2.0"; sha256="0g4zjknz52fpk7f436j95aw93aa8q2jwcrb1pqkm294kr276nnd9"; depends=[]; };
   mQTL = derive2 { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[MASS outliers qtl]; };
   mRMRe = derive2 { name="mRMRe"; version="2.0.9"; sha256="1zk09w9s8sc11j5cl0v93i09yn83f11diqib27rrph37aix2vs3p"; depends=[igraph survival]; };
-  mRm = derive2 { name="mRm"; version="1.1.6"; sha256="1d897c5xflbkkj25hw15rd62nggv000cv2j481x0lhdgmgldjhrh"; depends=[]; };
+  mRpostman = derive2 { name="mRpostman"; version="0.3.0"; sha256="18ky3xpgb4rns65574jr9fy8jwi6nrz6py9ai8nqf2r1s0bdmww3"; depends=[assertthat base64enc curl magrittr stringr]; };
+  mSTEM = derive2 { name="mSTEM"; version="1.0-1"; sha256="0mh09mqqpq9k8jrxs9d39009idld3b4y98ik75czdy580jmdg7mm"; depends=[doParallel foreach latex2exp]; };
   mSimCC = derive2 { name="mSimCC"; version="0.0.1"; sha256="1f15r214srcdb4yacmy4hq890a674iqd2s7bry5dk20k46qdl026"; depends=[doParallel foreach]; };
   maGUI = derive2 { name="maGUI"; version="2.3"; sha256="0dr0f90ldisqxklhysipbca6di7j6ks6an5k44g65h57b85z4n3q"; depends=[affy amap annotate beadarray Biobase BiocManager Biostrings Category convert genefilter GEOmetadb GEOquery globaltest GO_db GOstats graph gWidgets gWidgetsRGtk2 impute KEGGgraph KEGGREST limma lumi marray oligo pdInfoBuilder RBGL Rgraphviz RGtk2 RSQLite simpleaffy ssize WGCNA]; };
   maSAE = derive2 { name="maSAE"; version="0.1-5"; sha256="0v0vlj41j3ddyxv8lld39k1ryrdjin7r6bj13x2agbklb1fd4an1"; depends=[]; };
@@ -9455,7 +9854,7 @@ in with self; {
   machQA = derive2 { name="machQA"; version="0.1.4"; sha256="1rdrjy9sxql2c9y691a1jrmgsv7m1ihsschixxb6wc7aahf7mav6"; depends=[machina plyr]; };
   machina = derive2 { name="machina"; version="0.1.6"; sha256="009mzqb5jgnilj9b5ldmm5600008bljlqacm8jjxvqsfnfdfg8zv"; depends=[DT httr jsonlite lubridate rhandsontable xts]; };
   macleish = derive2 { name="macleish"; version="0.3.4"; sha256="18pxb1ayqiw8irh05hib6gi5fqyxxgx93jrdd69wwcd455lmn7dv"; depends=[dplyr etl lubridate readr sf]; };
-  mada = derive2 { name="mada"; version="0.5.8"; sha256="17d41kpxjf6h8j83w6jhxm71f03nc8i2aw0xaqzrpcf5rxxy8wv8"; depends=[ellipse mvmeta mvtnorm]; };
+  mada = derive2 { name="mada"; version="0.5.9"; sha256="1l07dbgm9ghvqq9gh7g6yjfvxk0iq8xfyxz03j4nklbs10k3a0pz"; depends=[ellipse mvmeta mvtnorm]; };
   maddison = derive2 { name="maddison"; version="0.1"; sha256="1ji51wnj0ybjd30b4bwn5npyswrmcfrbxcmdlngwzvca1knh8g1c"; depends=[]; };
   maditr = derive2 { name="maditr"; version="0.6.2"; sha256="0g739j2rg3g69xnkfik94gapnwaj9v0dk1fiw3f8m2hvxyr2wf3k"; depends=[data_table magrittr]; };
   madness = derive2 { name="madness"; version="0.2.6"; sha256="1nk6kzjv0fgzbsp3crldq12id2k2wzm4bk9h9bnlkyrjf1hmfiaf"; depends=[expm Matrix matrixcalc]; };
@@ -9469,8 +9868,8 @@ in with self; {
   magicLamp = derive2 { name="magicLamp"; version="0.1.0"; sha256="1nfcnbqd6vawz8l3vgkbhmm462xdvaa4pn6axzmz8hl05xv2k3cv"; depends=[httr tibble]; };
   magicaxis = derive2 { name="magicaxis"; version="2.0.10"; sha256="053l455si22mddc5cgihhnpkmxr2anfqvbzsa89djjpw5ah2vg1x"; depends=[celestial mapproj MASS plotrix RColorBrewer sm]; };
   magicfor = derive2 { name="magicfor"; version="0.1.0"; sha256="07l33fczr1x42sfxrsqq4q6r65sdflin6l8f5cgclnvx1858jdip"; depends=[]; };
-  magick = derive2 { name="magick"; version="2.1"; sha256="1pz71maz05gx4ds1wfw0alggc8nn2w75lj12dg1zr72s3kybhkzg"; depends=[curl magrittr Rcpp]; };
-  magickGUI = derive2 { name="magickGUI"; version="1.1.0"; sha256="1grwrp7jj0p2h5aafmrbwdi3d49ck6k6bjqv9742apdvlcq8ydj7"; depends=[magick]; };
+  magick = derive2 { name="magick"; version="2.2"; sha256="1xh5mhaks3wk1iwqs9d3lnbfv121lc1yz5fqdzk5il9ppr831l85"; depends=[curl magrittr Rcpp]; };
+  magickGUI = derive2 { name="magickGUI"; version="1.1.1"; sha256="0p2266vpy6snvn0a4winwv3qygz1gkhh3kxa8qmf7qdx34xv4qwd"; depends=[magick]; };
   magree = derive2 { name="magree"; version="1.0"; sha256="1qkd6p5g3aigcb0f4d08gc5323alvahzmazm3bzsmz1w033xd1hh"; depends=[]; };
   magrittr = derive2 { name="magrittr"; version="1.5"; sha256="1s1ar6rag8m277qcqmdp02gn4awn9bdj9ax0r8s32i59mm1mki05"; depends=[]; };
   mail = derive2 { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
@@ -9481,18 +9880,19 @@ in with self; {
   makeProject = derive2 { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
   makedummies = derive2 { name="makedummies"; version="1.2.1"; sha256="062rvijhy2dybpgxzp44cg46bfyb8lp9yasv3mhskhf3yg717sqp"; depends=[tibble]; };
   malani = derive2 { name="malani"; version="1.0"; sha256="1jps28gfkiysr356ackxf1my5xz6rpx3a2bv68pziy2614hrqbs9"; depends=[e1071]; };
-  malariaAtlas = derive2 { name="malariaAtlas"; version="0.0.4"; sha256="0hvbzknh4qv1d7by5pgyq85b1accinwx57f9a24jg4cw4307dncg"; depends=[curl dplyr ggplot2 gridExtra httr raster rgdal rlang sp stringi tidyr xml2]; };
+  malariaAtlas = derive2 { name="malariaAtlas"; version="0.0.5"; sha256="1hz23b7yq8vq5ydj1xwazg1zkl4f4kykgy6qhh6v8mwk70yg4s1w"; depends=[curl dplyr ggplot2 gridExtra httr raster rgdal rlang sp stringi tidyr xml2]; };
   mallet = derive2 { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
   managelocalrepo = derive2 { name="managelocalrepo"; version="0.1.5"; sha256="180b7ikas1kb7phm4l2z1d8wi45wi0qyz2c8rl8ml3f71b4mlzgc"; depends=[assertthat stringr]; };
   mandelbrot = derive2 { name="mandelbrot"; version="0.2.0"; sha256="04a288jj8h1a04r584a02wg9dm3c6zifhqwj964ybsvgb4m6g99s"; depends=[reshape2]; };
   manet = derive2 { name="manet"; version="2.0"; sha256="1dnacgkdjmn7yiqk71qx5jgfipbpvqfdnrdd8wm0b9p8kgw4x7n4"; depends=[combinat igraph mclust MCMCpack]; };
   mangoTraining = derive2 { name="mangoTraining"; version="1.0-7"; sha256="0lw46j44jhdcyh079a7zjmxcnv5c6qsfachinlwv3ild1gwggr3p"; depends=[]; };
   manhattanly = derive2 { name="manhattanly"; version="0.2.0"; sha256="185fkakx4v35n4gmlpk2kfm2bm8p320q4khkw936m09zx3aqz398"; depends=[ggplot2 magrittr plotly]; };
-  manhplot = derive2 { name="manhplot"; version="1.0"; sha256="1dxqfdfr9iqlgwzn8sw5k1znj99h41z2fyrv54243nkf7yzcix0q"; depends=[ggplot2 ggrepel gridExtra reshape2]; };
+  manhplot = derive2 { name="manhplot"; version="1.1"; sha256="17yw10gpfp6bqmilb09v61jd2amz6cv1z38si4nqnhbvmac065qd"; depends=[ggplot2 ggrepel gridExtra reshape2]; };
   manifestoR = derive2 { name="manifestoR"; version="1.3.0"; sha256="1bxmlg6fmr4ky9m7b65rrylspwhwc8k9s1cbxnx9dyl33wh39ci6"; depends=[base64enc dplyr DT functional htmltools htmlwidgets httr jsonlite magrittr NLP psych tibble tm zoo]; };
   manipulate = derive2 { name="manipulate"; version="1.0.1"; sha256="1klknqdfppi5lf6zbda3r2aqzsghabcsaxmvd3vw3cy3aa984zky"; depends=[]; };
   manipulateWidget = derive2 { name="manipulateWidget"; version="0.10.0"; sha256="1zagrbwkn2d50zzw8i2vyb1hsq4cydmfsqiy1a2qlp6zrv8a6q9x"; depends=[base64enc codetools htmltools htmlwidgets knitr miniUI shiny webshot]; };
   manymodelr = derive2 { name="manymodelr"; version="0.2.2"; sha256="02jswli6k4m9662zf48maix28lr7w93rgwvzgm0nv1zf2mdrh6qb"; depends=[caret dplyr e1071 magrittr Metrics plyr purrr reshape2 tibble]; };
+  maotai = derive2 { name="maotai"; version="0.1.1"; sha256="0g79mhm2cnr8pqhkh6xhi3dxws98i7pbcrw5ciixrghfjn5w7f16"; depends=[Matrix mclust Rcpp RcppArmadillo Rdpack RSpectra shapes]; };
   mapReasy = derive2 { name="mapReasy"; version="1.0"; sha256="13va0z967ckwxnnianki5aj66km0x6r37nj4mz9qd3b0bps4g2kj"; depends=[Hmisc rgdal sp]; };
   mapStats = derive2 { name="mapStats"; version="2.4"; sha256="18pp1sb9p4p300ffvmzjrg5bv1i7f78mhpggq83myc26c3a593na"; depends=[classInt colorspace Hmisc lattice maptools RColorBrewer reshape2 sp survey]; };
   mapcan = derive2 { name="mapcan"; version="0.0.1"; sha256="1a4135wc1h4nzcv6xq0bg75i744wyq8p7q0ix7y2x2gb6s35w46k"; depends=[dplyr ggplot2 magrittr]; };
@@ -9500,39 +9900,40 @@ in with self; {
   mapdeck = derive2 { name="mapdeck"; version="0.2.1"; sha256="1slj4yrw7qir3cz70yqawbsz521n4614h6gjn0qpj75rj12wnxlk"; depends=[BH colourvalues geojsonsf googlePolylines htmltools htmlwidgets jsonify magrittr rapidjsonr Rcpp shiny spatialwidget]; };
   mapedit = derive2 { name="mapedit"; version="0.5.0"; sha256="16rdksnkx6s7w92as896scfdnl1smp00fdnxmlz4ayym2a26wagb"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet leaflet_extras leafpm mapview miniUI sf shiny]; };
   mapfit = derive2 { name="mapfit"; version="0.9.7"; sha256="16a318bz3my27qj0xzf40g0q4bh9alg2bm6c8jbwgswf1paq1xmx"; depends=[Matrix]; };
-  mapi = derive2 { name="mapi"; version="1.0.0-62"; sha256="1czg2lqrlmp7fsm7908bwd4f9klq8d90z79zb1g80w2dlh5hb0nc"; depends=[data_table pbapply Rcpp sf]; };
-  mapmisc = derive2 { name="mapmisc"; version="1.7.2"; sha256="0w0yvdnxk6gjcc86b6imq764va9f9hjan3ayw7qrbjpqx16fs7dx"; depends=[raster sp]; };
+  mapi = derive2 { name="mapi"; version="1.0.1"; sha256="0qfwxrd0ya5amw7f96pfxf3f8m97s7vhaz62clqn083mw8ddaz2l"; depends=[data_table pbapply Rcpp sf]; };
+  mapmisc = derive2 { name="mapmisc"; version="1.7.5"; sha256="0p9vpilyrz7ifhljqsbjvzgql01vl76y45day21n8517gsdwyvkd"; depends=[raster sp]; };
   mapplots = derive2 { name="mapplots"; version="1.5.1"; sha256="18s2y66f8vi8g2r8a25zbgp2xm079r8v8qxv0w71h8krycs6vs9p"; depends=[]; };
   mapproj = derive2 { name="mapproj"; version="1.2.6"; sha256="1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"; depends=[maps]; };
   mapr = derive2 { name="mapr"; version="0.4.0"; sha256="169ah9v7cpw3hmaj6n575gi1zwazf4vh59n46zghb1x68nc2gqs0"; depends=[data_table ggplot2 gistr jsonlite leaflet RColorBrewer rworldmap sp spocc]; };
   maps = derive2 { name="maps"; version="3.3.0"; sha256="05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"; depends=[]; };
   mapsRinteractive = derive2 { name="mapsRinteractive"; version="1.0.0"; sha256="0lpmizhaan7zp201wjaq544wadizwpswch7sn6m3sjwn8rswg6av"; depends=[gstat raster rgdal rgeos sp]; };
-  mapsapi = derive2 { name="mapsapi"; version="0.4.1"; sha256="0p24snsgk95wlcpga23fdy1z192i4nzc5ags2dwz2hi3yi9qb0f1"; depends=[bitops magrittr plyr sf xml2]; };
-  maptools = derive2 { name="maptools"; version="0.9-5"; sha256="1pbvcn9xfx0hxq1ppbfg9xm5j04q4c15nj983yjmg7dlkzq135ax"; depends=[foreign lattice sp]; };
+  mapsapi = derive2 { name="mapsapi"; version="0.4.2"; sha256="1l7sp65ghdcli6ajkvlnhfizjq16mw2cmlf8jbif3al1vhbv4dvw"; depends=[bitops magrittr plyr sf xml2]; };
+  maptools = derive2 { name="maptools"; version="0.9-9"; sha256="0v4llkxk8qs61vq4ykvaim4k23aagdaz0p62ns7zfq02sln3pfk9"; depends=[foreign lattice sp]; };
   maptpx = derive2 { name="maptpx"; version="1.9-2"; sha256="1i5djmjg0lsi7xlkbvn90njq1lbyi74zwc2nldisay4xsbgqg7fj"; depends=[slam]; };
   maptree = derive2 { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
   mapview = derive2 { name="mapview"; version="2.7.0"; sha256="1cqa7hw7h0n6ing87bq903ax2m4iw82xb2jdgl55z9v9rdhxp0xh"; depends=[base64enc brew htmltools htmlwidgets lattice leafem leaflet leafpop png raster Rcpp satellite scales sf sp svglite uuid viridisLite webshot]; };
   mar1s = derive2 { name="mar1s"; version="2.1.1"; sha256="1ljkvgxrramfx1rnp2rg6516mjxaa6s96amrnmqymnyjz7wlf37l"; depends=[cmrutils fda zoo]; };
-  march = derive2 { name="march"; version="1.4"; sha256="1wfhm33k2j5yim56sg0wd02ypfhlp9fc138vmdsdjp6nh4y23hnj"; depends=[]; };
+  march = derive2 { name="march"; version="3.1"; sha256="1y3ndnkxrqxavp7b5dwhn1mijhhn06k5b6iickzjr4bfmpfnk340"; depends=[]; };
   marcher = derive2 { name="marcher"; version="0.0-2"; sha256="0hcxbfrwniih4kvx5sxhlffz1pc87kf52v8hvaf193rhhdykis5q"; depends=[magrittr Matrix minpack_lm mvtnorm numDeriv plyr RColorBrewer scales zoo]; };
   marelac = derive2 { name="marelac"; version="2.1.9"; sha256="07xhlsdzz2j5smh3v4hpm8zp4ljg9aa3i67j65hs1cq27q1jg1n7"; depends=[seacarb shape]; };
   marg = derive2 { name="marg"; version="1.2-2.1"; sha256="1r6rl7dhvm8dghm7pm4hfw3924qja65hczl6d47v9ixnv4rxyzr9"; depends=[statmod survival]; };
   margins = derive2 { name="margins"; version="0.3.23"; sha256="1gn18bmz7zwdv5fm62g4kj1x0y4lzhwvwgk4xc9hfi2mh5w08j4f"; depends=[data_table MASS prediction]; };
   marima = derive2 { name="marima"; version="2.2"; sha256="03nvh93r4052li84yjqzc106gwh1542q9s192s980gs6sgy8scm6"; depends=[]; };
+  marindicators = derive2 { name="marindicators"; version="1.0.0"; sha256="1id055jc624n34vxb68gdy2kgfsm5y61dkfskzhlrwq9d5npxv6m"; depends=[]; };
   marinespeed = derive2 { name="marinespeed"; version="0.1.0"; sha256="1r9bpggb88px8149dsga3xmkjhjq6ybs6a5kp60qz28iyr183mar"; depends=[bit geosphere sp]; };
-  markdown = derive2 { name="markdown"; version="1.0"; sha256="19nrz0ba1yd5kicd65crkkz2r3kialm2hm6zdkp495l2s5r80b8p"; depends=[mime]; };
+  markdown = derive2 { name="markdown"; version="1.1"; sha256="06zwbrp14bri3470anadd7dvgmw06xf8df6v2pk64wx3f9sd934d"; depends=[mime xfun]; };
   marked = derive2 { name="marked"; version="1.2.1"; sha256="138m1clidyhahpz111iblff2w44m8zp0302vcj46frk1c60c46qi"; depends=[coda expm lme4 Matrix numDeriv optimx R2admb Rcpp TMB truncnorm]; };
   markmyassignment = derive2 { name="markmyassignment"; version="0.8.2"; sha256="1jrx72k3glwv5nci3h3qbqbs0x9mqld92v4irw2sfjzcmb7qyma3"; depends=[checkmate codetools httr lazyeval rlang testthat yaml]; };
   markophylo = derive2 { name="markophylo"; version="1.0.7"; sha256="09rg5rwm0dm881fpm9yzygd6d3dyrxjsrvl0yhfpkzbpdihfympn"; depends=[ape numDeriv phangorn Rcpp RcppArmadillo]; };
-  markovchain = derive2 { name="markovchain"; version="0.6.9.16"; sha256="1mi9wr5s1a422v6fhjxjw2038bmaip1dij90v4ckg8nqp0q9zm14"; depends=[expm igraph matlab Matrix Rcpp RcppArmadillo RcppParallel]; };
+  markovchain = derive2 { name="markovchain"; version="0.8.0"; sha256="1s9qdc3jaar1m68a2j368sp7n6c8zbjz7y4c1cj8y54g0fiydqhj"; depends=[expm igraph matlab Matrix Rcpp RcppArmadillo RcppParallel]; };
   marl = derive2 { name="marl"; version="1.0"; sha256="0rndnf3rbcibv3gsrw1kfp5zhg37cw9wwlz0b7dbwprd0m71l3pm"; depends=[]; };
   marmap = derive2 { name="marmap"; version="1.0.3"; sha256="0hjy58kk2kg7v2nq7kfw5rdcrpfhikwr30lz71pfgis34833i7yy"; depends=[adehabitatMA DBI gdistance geosphere ggplot2 ncdf4 plotrix raster reshape2 RSQLite shape sp]; };
-  marqLevAlg = derive2 { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
+  marqLevAlg = derive2 { name="marqLevAlg"; version="2.0.1"; sha256="0lcr5bn101krgqwjnbk9r3xizwwxnsgyi84hg95jpb5f2sa2bpg8"; depends=[doParallel foreach]; };
   mase = derive2 { name="mase"; version="0.1.2"; sha256="1023xvv6yngbc183hb13057spjildywqd0jw2w9jway3zv4dbw9v"; depends=[boot dplyr foreach glmnet magrittr Matrix Rdpack rpms survey]; };
   mason = derive2 { name="mason"; version="0.2.6"; sha256="01ppc7f18kf4xv4lrhib0cfm85v658grmxpny3h3kdb4pi4rbspy"; depends=[broom dplyr lazyeval magrittr tidyr]; };
   mastif = derive2 { name="mastif"; version="1.0"; sha256="1xxfql4d298ib9h8821jp717a60vgxq7nzs08yb3xyzp0c3djja2"; depends=[corrplot RANN Rcpp RcppArmadillo repmis xtable]; };
   matR = derive2 { name="matR"; version="0.9.1"; sha256="1qw2vqmpq7gc3dmr9r000ccjj7xa0h82waxnvryz3l17ggryyjjm"; depends=[BIOM_utils MGRASTer]; };
-  matahari = derive2 { name="matahari"; version="0.1.0"; sha256="004dqixbb5azdv52wcglb3p7yc41nyn3fhf7yrvcpclaqizggamy"; depends=[clipr jsonlite purrr readr rlang rstudioapi tibble]; };
+  matahari = derive2 { name="matahari"; version="0.1.1"; sha256="0lsqgxglfvk9p6zyd1m377z3jygvrm2dvrnw0bd6kpadycc8p5cb"; depends=[clipr jsonlite purrr readr rlang rstudioapi tibble]; };
   matchMulti = derive2 { name="matchMulti"; version="1.1.7"; sha256="0k5psmjzcyr7pm603vni7w2hvslck05r81cngm26pql2prdrv5yk"; depends=[coin Hmisc MASS mvtnorm plyr rcbsubset weights]; };
   matchbook = derive2 { name="matchbook"; version="1.0.7"; sha256="0xfqg8z2zkn215kqmjjkqdwrgsk7cn4jdpxfgd6razhcbvflg48j"; depends=[]; };
   matchingMarkets = derive2 { name="matchingMarkets"; version="1.0-1"; sha256="0c2jaccjdwgnx39jgak35hanaxq301h3qaj90xivlr9dk8xg19qx"; depends=[lattice lpSolve partitions Rcpp RcppArmadillo RcppProgress rJava]; };
@@ -9549,20 +9950,21 @@ in with self; {
   matrixLaplacian = derive2 { name="matrixLaplacian"; version="1.0"; sha256="1ixqdv3sz3sc79wn3vqhlq79j7x7cvl878m5hgvbcg6klfvlmmci"; depends=[scatterplot3d]; };
   matrixNormal = derive2 { name="matrixNormal"; version="0.0.1"; sha256="1nvsgcp8x691pa2rjz2fgknybwpni6fppm16l5bjkrg47ka0pbcd"; depends=[mvtnorm]; };
   matrixProfile = derive2 { name="matrixProfile"; version="0.5.0"; sha256="0nd54k878xf7hzwxawh03c3na4jfvb68afarkwrmmffjlp3i8a9g"; depends=[fftw signal TTR zoo]; };
-  matrixStats = derive2 { name="matrixStats"; version="0.54.0"; sha256="0vx00ldsg2zvdrjn49jxczk2c9iaabgvzgpdka5j02ihh7hv83cg"; depends=[]; };
+  matrixStats = derive2 { name="matrixStats"; version="0.55.0"; sha256="06fvx0rlaz80k0lkqq2n7v0309xpz7h7ss0m9kgyikp4xs8bvmhn"; depends=[]; };
   matrixStrucTest = derive2 { name="matrixStrucTest"; version="1.0.0"; sha256="06la9xmpi1viyjml4m1akbna3lwkz5lnq95v1nnf73i9zpfwz03k"; depends=[]; };
-  matrixTests = derive2 { name="matrixTests"; version="0.1.5"; sha256="0grgvi4avlf3l4kmpn60ihnyvaxlw1fz14sx3ycgynip7b17kb24"; depends=[matrixStats]; };
+  matrixTests = derive2 { name="matrixTests"; version="0.1.7"; sha256="1p0bdy783nj9c94nqwi3vx02rsfsvsjms086mxzhz6icn53l54ch"; depends=[matrixStats]; };
   matrixcalc = derive2 { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
   matrixpls = derive2 { name="matrixpls"; version="1.0.5"; sha256="04sshb88rq2mp3y4rrs6nkzr4kc380vx380r911c7j975l55a183"; depends=[assertive lavaan MASS matrixcalc psych]; };
-  matrixsampling = derive2 { name="matrixsampling"; version="1.1.0"; sha256="1q0vcail34iwxc0wnwg2nw9n710fsjg5lgil5hib74vwrww1x1h7"; depends=[keep]; };
+  matrixsampling = derive2 { name="matrixsampling"; version="2.0.0"; sha256="05dbn7rj07jx1hj7i6k3akf11hysxg6v32kav9fvsqmiy2zkippa"; depends=[keep]; };
   matsbyname = derive2 { name="matsbyname"; version="0.4.10"; sha256="004947nqy3mps34ym506y8q31awfca7g2y2d4wdq7kncxdk4a388"; depends=[dplyr Hmisc magrittr]; };
-  matsindf = derive2 { name="matsindf"; version="0.3.0"; sha256="0bvy81wj5hhgqqdyvnzk4vn883zxxzppzvrralkj6ag7q17d07dj"; depends=[dplyr magrittr matsbyname purrr rlang rlist tibble tidyr]; };
+  matsindf = derive2 { name="matsindf"; version="0.3.1"; sha256="18pbc00z8djmbmdzfg3s2n9k48xp8bllab17a93ngwa69cqm1mxg"; depends=[dplyr magrittr matsbyname purrr rlang rlist tibble tidyr]; };
   mau = derive2 { name="mau"; version="0.1.2"; sha256="1wgiai8f1kbjh9hfwv4m0kavd44ib5xb33p8m16zpawnw14m7sj5"; depends=[data_table ggplot2 gtools igraph RColorBrewer Rdpack stringr]; };
+  mauricer = derive2 { name="mauricer"; version="2.0.5"; sha256="01x1cigwr95hzyz1pm9w5xi2j9z4zf54p6bwhn0y865gln80wvnz"; depends=[beastier stringr]; };
   maxLik = derive2 { name="maxLik"; version="1.3-6"; sha256="0jlj8g7pm3caa4r7slwqd9rfrh7sn22g36dgynmcaw3dfwj23scm"; depends=[miscTools sandwich]; };
   maxTPR = derive2 { name="maxTPR"; version="0.1.0"; sha256="13x5rz0mfha5pzahkk4x67ncz9v77sa690cyl6wigwsldsrvzr3h"; depends=[aucm Rsolnp]; };
   maxadjAUC = derive2 { name="maxadjAUC"; version="0.1.0"; sha256="04zdaqmavhhrj63s2k5pqncvlzbfnxan7r0fagfka9dypwwcl5qm"; depends=[aucm Hmisc Rsolnp survival]; };
-  maximin = derive2 { name="maximin"; version="1.0-2"; sha256="1gg19x73kl1yghak9lx3fq0yl8vcpvcxqzfs6qqlky502ygcv96n"; depends=[plgp]; };
-  maxlike = derive2 { name="maxlike"; version="0.1-7"; sha256="0gi33hcjj456sjw7l3q4n46k4cb6m3ml3ycd93pnajxacl24swbb"; depends=[raster]; };
+  maximin = derive2 { name="maximin"; version="1.0-3"; sha256="1wfhpgk149aw6gkdlr8g29icj0l0xa8fczxkz4hbdr91dqmnxvp3"; depends=[plgp]; };
+  maxlike = derive2 { name="maxlike"; version="0.1-8"; sha256="0lbj212dbx8lbkw808xlhniw5864bh86xs8zwvxcnngj0abapalh"; depends=[raster]; };
   maxmatching = derive2 { name="maxmatching"; version="0.1.0"; sha256="1xbwrhmr8gzvlcprib7nzvqrcd355bhx7wkqxrvfk4g7dvskf9ka"; depends=[igraph]; };
   maxnet = derive2 { name="maxnet"; version="0.1.2"; sha256="1rfcylbv068pz4jgry5ijszwf5fibz566s5iv0ar8dhv0fhjr86z"; depends=[glmnet]; };
   maxstat = derive2 { name="maxstat"; version="0.7-25"; sha256="114z1rwxwvk05ijjhdppzm148n1h192fp0w12ky10zkrhf6kphbg"; depends=[exactRankTests mvtnorm]; };
@@ -9571,13 +9973,14 @@ in with self; {
   mazeinda = derive2 { name="mazeinda"; version="0.0.1"; sha256="0ns4ib73y4fghf7p1wg0a05js4mqr66dpp49p1h039pqrb0f1vwd"; depends=[foreach]; };
   mbbefd = derive2 { name="mbbefd"; version="0.8.8.5"; sha256="1bnbavhii2wm9944l4j5x21y9b3kp0sdshz32r1k7cy1y569zd6r"; depends=[actuar alabama fitdistrplus gsl MASS Rcpp]; };
   mbclusterwise = derive2 { name="mbclusterwise"; version="1.0"; sha256="1ilqaxcxf1k3ck910s0xqwnp88w8ag5rn1dpvaa1i7jlcldsbnhp"; depends=[ade4 doParallel foreach kknn]; };
+  mbend = derive2 { name="mbend"; version="1.2.3"; sha256="0w1rrj1zcbvi8nlspzqa8142ilvbw9q6m26kmxqcp9mvqzbnbd30"; depends=[]; };
   mbest = derive2 { name="mbest"; version="0.6"; sha256="1x0f7y5hj6a35wq1xn6g7jyjn9c4zryahwlf07qrypgrcnj2m8vx"; depends=[abind bigmemory foreach lme4 logging nlme]; };
   mbgraphic = derive2 { name="mbgraphic"; version="1.0.1"; sha256="1f5zzm9xv6c4qid75r4pww4cqclk664m5xm5p72yb9ijiwc77cy1"; depends=[diptest dplyr energy GGally ggplot2 gridExtra hexbin magrittr mgcv Rcpp scagnostics scales seriation shiny]; };
   mbir = derive2 { name="mbir"; version="1.3.5"; sha256="10sd5gk2k94cmi49nbpywqvh9bxj9q3psa3d00zmw1a7d6c0jjpd"; depends=[effsize psych]; };
   mblm = derive2 { name="mblm"; version="0.12.1"; sha256="1fipb3bryaimr30lcxsxrn0ymv24z39swca7s4z7p9xcfg3ban1b"; depends=[]; };
   mbmdr = derive2 { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; };
   mboost = derive2 { name="mboost"; version="2.9-1"; sha256="02ia3y0fxfjl02fb1nnl93j640fyl18jm15cgxyybhf27w4jdvb7"; depends=[lattice Matrix nnls partykit quadprog stabs survival]; };
-  mboxr = derive2 { name="mboxr"; version="0.1.6"; sha256="11fakbrhpphjbc4p0src0f3l39dillhbz8030cc79zdann9jfp4p"; depends=[dplyr lubridate magrittr purrr reticulate tibble]; };
+  mboxr = derive2 { name="mboxr"; version="0.2.0"; sha256="1d11fpz17k65dzw9sjc7zfs1jpajzrh2pvr2s435p83g3mpf40vz"; depends=[dplyr lubridate magrittr purrr reticulate stringr tibble tidyr]; };
   mbrglm = derive2 { name="mbrglm"; version="0.0.1"; sha256="0yxq1xk8qy5hpiqqldyrs78lp4ggdp5lj2lmh8rqq1xvsfr6nrh4"; depends=[enrichwith nleqslv]; };
   mc_heterogeneity = derive2 { name="mc.heterogeneity"; version="0.1.0"; sha256="1jrj7kkykhw9qj71cfjrn5gbm3qyrbdcc4cj3mfz62wlvny18233"; depends=[metafor]; };
   mc2d = derive2 { name="mc2d"; version="0.1-18"; sha256="1ljw8ms661bsdqbfpjvvrif9n0c2i6lzxyqj4rxhxsp3dj18w3g3"; depends=[mvtnorm]; };
@@ -9588,8 +9991,8 @@ in with self; {
   mcStats = derive2 { name="mcStats"; version="0.1.0"; sha256="0hwn34w3w4b09a4yl586df8wkwsvbmhpi3lh2kzkna6q0kzc380k"; depends=[dplyr ggplot2 ggthemes gridExtra magrittr tidyr]; };
   mcbiopi = derive2 { name="mcbiopi"; version="1.1.6"; sha256="1caw2sy15hw2zw0bdynwnsa7hn4rly34hlxp06nwm5lssz8l2597"; depends=[]; };
   mcc = derive2 { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
-  mcca = derive2 { name="mcca"; version="0.5.0"; sha256="01biwf3jnwhd2slmw5k2kkihmg73wakqm012a3akpar9ln1q5i60"; depends=[caret e1071 MASS nnet pROC rpart]; };
-  mccf1 = derive2 { name="mccf1"; version="1.0"; sha256="1d8dw3kb2p3n3kgpihbxmwvg4blvaiss4s09452xz0d1gkjk4y01"; depends=[ggplot2 ROCR]; };
+  mcca = derive2 { name="mcca"; version="0.6.0"; sha256="0frac86ahljc0pamky1zds32amh3sadd1299x8k7qcfmlv1rh4ym"; depends=[caret e1071 MASS nnet pROC rgl rpart]; };
+  mccf1 = derive2 { name="mccf1"; version="1.1"; sha256="023pvjfc1iv7hac3gz5rakg6ljs92j0qfm4givad5iiwv5n4k3zr"; depends=[ggplot2 ROCR]; };
   mcclust = derive2 { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
   mccmeiv = derive2 { name="mccmeiv"; version="2.1"; sha256="1lkghvvwxvg474p37h1mpbackr5qmy05qkx8yiq4x066wrfq1w1i"; depends=[MASS numDeriv survival]; };
   mccr = derive2 { name="mccr"; version="0.4.4"; sha256="1scqds1yx317qmjappy2h1m564dcmsqqfpdm8pm3plalag16xrhj"; depends=[]; };
@@ -9617,7 +10020,7 @@ in with self; {
   mcprofile = derive2 { name="mcprofile"; version="0.2-3"; sha256="0rakaa1p6z0p4jl4df357vi58wzph81ik6plc8zzl370r8mj1y8q"; depends=[ggplot2 mvtnorm quadprog]; };
   mcr = derive2 { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
   mcsm = derive2 { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[coda MASS]; };
-  mctest = derive2 { name="mctest"; version="1.2"; sha256="0rsyqdfsmyvjgns7z2vj24n91ziaz45q4vidk48ay3acfam8i274"; depends=[]; };
+  mctest = derive2 { name="mctest"; version="1.2.5"; sha256="1brqa8rvb5jvwmjz4wms7rhzv9xpvqydzkjm46ckz9fsiwrkq5mf"; depends=[]; };
   md = derive2 { name="md"; version="1.0.4"; sha256="13z8f3p84kivk6j58fb1qpzrmml41mq9pgv9nv2gvxrhyhanzi46"; depends=[]; };
   md_log = derive2 { name="md.log"; version="0.1.1"; sha256="0ix5nz38xzlhrga40hfhlfss938mrfbni2wysvz2qbpm59qxrhg0"; depends=[futile_logger]; };
   mda = derive2 { name="mda"; version="0.4-10"; sha256="19g6kn6g0shidrjfffklbmzc5w7mcimrxhagx4nmpslg59ibqdkh"; depends=[class]; };
@@ -9630,11 +10033,10 @@ in with self; {
   mdmb = derive2 { name="mdmb"; version="1.3-18"; sha256="0jvwwdblky080j8cwfjna2d11z7hr672cdw9bkjz7ngd44blyp8x"; depends=[CDM coda miceadds Rcpp RcppArmadillo sirt]; };
   mdpeer = derive2 { name="mdpeer"; version="1.0.1"; sha256="1vsqhah8h47s8k687fwa352549mdz16mwk1g7rcmhx75c2k85w2q"; depends=[boot ggplot2 glmnet magic nlme nloptr psych reshape2 rootSolve]; };
   mds = derive2 { name="mds"; version="0.3.0"; sha256="098ynvwra7ylli1pklmmfl9xnmiyd13iw5zd7g2xlqmg3rrphysg"; depends=[lubridate parsedate]; };
-  mdsOpt = derive2 { name="mdsOpt"; version="0.4-1"; sha256="02na4hrv1id06gv2fwn8nxbddiz4bs4lgf3yzgxsca1k9qbsj99q"; depends=[animation clusterSim plotrix smacof smds spdep symbolicDA]; };
+  mdsOpt = derive2 { name="mdsOpt"; version="0.4-3"; sha256="0chk95n8gvj8jxvqq3bkdsw3hjaizcqd0x2lk32rkaq52lp3l9d8"; depends=[animation clusterSim plotrix smacof smds spdep symbolicDA]; };
   mdscore = derive2 { name="mdscore"; version="0.1-3"; sha256="10cl5r6kd9chdik5v0q91x40xpw2cjvvyi220z4bvngpb0989x8j"; depends=[MASS]; };
   mdsdt = derive2 { name="mdsdt"; version="1.2"; sha256="0nbzc54jac4wmfyrs821ycxh749cb1zfxcws0nbpk35rydqkc627"; depends=[ellipse mnormt polycor]; };
   mdsr = derive2 { name="mdsr"; version="0.1.7"; sha256="1angy75nyhzwfhmb4axs14yl0jsxjaiqh5nz2jpmi5j890y32zda"; depends=[babynames DBI dbplyr downloader dplyr fs ggplot2 mosaic RMySQL]; };
-  mdsstat = derive2 { name="mdsstat"; version="0.3.1"; sha256="1nbdyxlk1kv2hjr281z3rw42ddq7v19vnh8jg0yxyvp466d1yi24"; depends=[lubridate mds Sequential]; };
   mdw = derive2 { name="mdw"; version="2017.12-03"; sha256="054vssnypbik0yf6smicggnkrqf6kx8k21nbf5rminsh00sx39k1"; depends=[]; };
   meaRtools = derive2 { name="meaRtools"; version="1.0.4"; sha256="1nxyvdq4670696mhg0svxxlvk9hnr8szai8b18pw6754kmw1bjvn"; depends=[emdist ggplot2 gridExtra gtools lattice plyr Rcpp reshape2]; };
   meanShiftR = derive2 { name="meanShiftR"; version="0.53"; sha256="1pla9hr9nbbnc3hcmk0ywfh6129zng5lp3dmjqb3cgdrmwkdrx9i"; depends=[]; };
@@ -9648,7 +10050,7 @@ in with self; {
   medfate = derive2 { name="medfate"; version="0.8.2"; sha256="0f86cpczzkpx8sy6krx970zy1fmsn93mjkm9mq00w2nw91kqjrh6"; depends=[ggplot2 GSIF meteoland Rcpp sp spdep]; };
   medflex = derive2 { name="medflex"; version="0.6-6"; sha256="04cjqhyihxf1imbl9y9s58qpy6lmxsh2gwy4bras03hx52slzl5r"; depends=[boot car Matrix multcomp sandwich]; };
   mediacloudr = derive2 { name="mediacloudr"; version="0.1.0"; sha256="1r11mpz44msla71lqw45r9s8z7rwvbnqi026l0ljx6crby183h0w"; depends=[httr jsonlite rvest xml2]; };
-  mediation = derive2 { name="mediation"; version="4.4.7"; sha256="0nd4nli1qsvhgf404v1y16bc8q7axmpzyhbn38vncranb6lc235l"; depends=[Hmisc lme4 lpSolve MASS Matrix mvtnorm sandwich]; };
+  mediation = derive2 { name="mediation"; version="4.5.0"; sha256="0i88wvqqw8cmxmh9i78rqzp4s16zhf12dgl9fsk9bhw7hxhhc0i1"; depends=[boot Hmisc lme4 lpSolve MASS Matrix mvtnorm sandwich]; };
   medicalrisk = derive2 { name="medicalrisk"; version="1.2"; sha256="1zdxv3rj7768kbyxfvr9n0hp4z7y0sf3r7ssqv731hjjp656l6xp"; depends=[hash plyr reshape2]; };
   medicare = derive2 { name="medicare"; version="0.2.1"; sha256="00a1gml2khzisdavnaip6ap4bw45b17nbl9cqb1mqrm4y0p9gm16"; depends=[]; };
   meditations = derive2 { name="meditations"; version="1.0.1"; sha256="0wnx3zadpngfch0sb0ifqvsmzl613639f1yazwsgvhk29mycx4ss"; depends=[]; };
@@ -9662,12 +10064,13 @@ in with self; {
   melviewr = derive2 { name="melviewr"; version="0.0.1"; sha256="19syc3d6zc0hmcjjdj7ibrdqxcdlh95ny970f3ska453qh1898b2"; depends=[cairoDevice gtools gWidgets gWidgetsRGtk2 jsonlite RColorBrewer RGtk2 RNifti]; };
   mem = derive2 { name="mem"; version="2.15"; sha256="1q8h6mbpzybg1vzi2pgp8fpxfrp4d729n5ghh0a54wjdwdjgkpq1"; depends=[boot dplyr EnvStats ggplot2 mclust RColorBrewer RcppRoll sm tidyr]; };
   memapp = derive2 { name="memapp"; version="2.13"; sha256="0n4awpxsz34rrz53bp4dyfgs9zssrxd4f8zyj6zw89j6ahkz85w6"; depends=[dplyr DT foreign formattable ggplot2 haven mem openxlsx plotly RColorBrewer readxl RODBC shiny shinyBS shinydashboard shinyjs shinythemes shinyWidgets stringi stringr tidyr]; };
-  meme = derive2 { name="meme"; version="0.2.1"; sha256="0ddrm82190f8yahnann1l5fwn55msfhhcizbr0vkb098x6m2l251"; depends=[ggplot2 gridGraphics magick showtext sysfonts]; };
+  meme = derive2 { name="meme"; version="0.2.2"; sha256="1q78q8080vvqni8ncqp326pidfjfia0f2b6pis08m7fr1q1gcqca"; depends=[ggplot2 gridGraphics magick showtext sysfonts]; };
   memery = derive2 { name="memery"; version="0.5.2"; sha256="1hr52g69lr2n84yczm8i8yxh7rys5nr8jk1hcmv548p5y79l8k9s"; depends=[Cairo colourpicker cowplot ggplot2 jpeg magrittr png purrr shiny shinyBS shinycssloaders showtext sysfonts]; };
   memgene = derive2 { name="memgene"; version="1.0.1"; sha256="1x3vf2f1yh40xw5vqcjlrn07zn9zh3sx4kc9dijxzygd9crl5a29"; depends=[ade4 gdistance raster vegan]; };
-  memisc = derive2 { name="memisc"; version="0.99.17.2"; sha256="0w3pjgf7vr26gcva2hcrh9kab70bcnpc1nz4lxjxr9sywm7czmav"; depends=[lattice MASS repr]; };
+  memisc = derive2 { name="memisc"; version="0.99.20.1"; sha256="1x0vm115m02zwq45knlkrwis21swkwcwl19fhqa59vmncrmzjsqy"; depends=[lattice MASS repr]; };
   memnet = derive2 { name="memnet"; version="0.1.0"; sha256="1lhpij3dm4whsawy6cxcfcwn9q881i8jbjpkrwvdsn63ibxrm55s"; depends=[BH igraph Rcpp]; };
   memo = derive2 { name="memo"; version="1.0.1"; sha256="14nvqi1qsin45ksd0wp9cigjk1gghr4jijdqkaqh177dwa244r9j"; depends=[digest]; };
+  memochange = derive2 { name="memochange"; version="1.1.0"; sha256="1im6342by0pf1kmz8jps9d3y752k87bl02v5ddywbvh0idkdnba5"; depends=[forecast fracdiff longmemo LongMemoryTS sandwich strucchange urca]; };
   memoise = derive2 { name="memoise"; version="1.1.0"; sha256="034qfc2xlh30x1q2vya239w34a3ir3y2fwnx2agbgbi6592zjxmj"; depends=[digest]; };
   memor = derive2 { name="memor"; version="0.2"; sha256="10w2jw9ma7yds2d179l7bv4rzpggp3l04kvqnncii6yf5f4lj9cd"; depends=[knitr rmarkdown yaml]; };
   memoria = derive2 { name="memoria"; version="1.0.0"; sha256="05nx6xkgf1mkn1ajjizwp66xhn7ddbvgdnmkdbcl4s7sq456vczw"; depends=[cowplot ggplot2 HH ranger stringr tidyr viridis viridisLite zoo]; };
@@ -9680,26 +10083,27 @@ in with self; {
   merlin = derive2 { name="merlin"; version="0.0.1"; sha256="14k8kz8icj3wgd3li83v0wfl61pdc97r7qjcsmmc5srp36kbw1i9"; depends=[MASS randtoolbox statmod survival]; };
   merror = derive2 { name="merror"; version="2.0.2"; sha256="13d9r5r83zai8jnzxaz1ak40876aw20zbpr244gs55rvj5j7f87q"; depends=[]; };
   messaging = derive2 { name="messaging"; version="0.1.0"; sha256="0q19cqp1zgh0yhk1ql0jqf414bhx6jwhkairq6wx2cmkli2g7k1y"; depends=[dplyr glue magrittr rlang stringr]; };
-  metR = derive2 { name="metR"; version="0.4.0"; sha256="1j4y2nn2r1i29h2invid8s695nv7b1lfanqspc281gjkrkns77ps"; depends=[checkmate curl data_table digest dplyr fields Formula formula_tools ggplot2 gridExtra gtable lubridate maps maptools Matrix memoise plyr purrr RCurl scales sp stringr]; };
+  metR = derive2 { name="metR"; version="0.5.0"; sha256="0dpbzyawswlvzydx54i4f75zv79qww1p5hk1p4pzjc7fmgx9ba57"; depends=[checkmate curl data_table digest dplyr fields Formula formula_tools ggplot2 gridExtra gtable lubridate maps maptools Matrix memoise plyr purrr RCurl scales sp stringr]; };
   metRology = derive2 { name="metRology"; version="0.9-28-1"; sha256="1syjwblyd18myxrs0hx4m91fgb6zs3r4g7w701j2f2pw6j9mvz0y"; depends=[MASS numDeriv robustbase]; };
-  metScanR = derive2 { name="metScanR"; version="1.2.2"; sha256="07j9y54z039gnrp8w6xi0xj4xzl8x2qjlzgf4nh9frmwqd6cld2i"; depends=[geosphere leaflet matlab plyr RCurl]; };
-  meta = derive2 { name="meta"; version="4.9-5"; sha256="1yk8akhxa6nzmj4y6q82jgyhfjdv5bz2x52ppp5jdrw61nmx4qc3"; depends=[lme4 metafor]; };
+  metScanR = derive2 { name="metScanR"; version="1.2.3"; sha256="1v7zrxj3wspx6f5n5s75skcygbf3r85rn4p0z9iwbrbrgxwi4qgs"; depends=[geosphere leaflet matlab plyr RCurl]; };
+  meta = derive2 { name="meta"; version="4.9-7"; sha256="0fwas40007sm6x6zf7vv8527qj7kq6h6amqsyl68nilvwfg4d0ap"; depends=[lme4 metafor]; };
   meta4diag = derive2 { name="meta4diag"; version="2.0.8"; sha256="1ila8x9r1rdmlwfpzfx1zj5yx1m4yrbhyb74db4wqbh1dswn7zsm"; depends=[caTools shiny shinyBS sp]; };
   metaBLUE = derive2 { name="metaBLUE"; version="1.0.0"; sha256="0ppn4bvr10z32pghmv4wjv86k6n5y5bkfxc6h5mvb556v6jnl6d8"; depends=[Matrix]; };
-  metaBMA = derive2 { name="metaBMA"; version="0.6.1"; sha256="1m6q027hf3ysdjajv348x3cdwgxmf0x273swfpmg88h7p91xn1j7"; depends=[BH bridgesampling coda LaplacesDemon logspline mvtnorm Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  metaBMA = derive2 { name="metaBMA"; version="0.6.2"; sha256="0g2npgr9rqf0f9xqdp4wl3263shrp28j4i63j4fwd91xk9qmy8my"; depends=[BH bridgesampling coda LaplacesDemon logspline mvtnorm Rcpp RcppEigen rstan rstantools StanHeaders]; };
   metaDigitise = derive2 { name="metaDigitise"; version="1.0.0"; sha256="04hycv9dpy39l8fhql69mcn5w97f7sjxrhiz5vbpbawvfbkl0f0l"; depends=[magick purrr]; };
   metaLik = derive2 { name="metaLik"; version="0.43.0"; sha256="1li40pgd9z00nrph9njwn6wysb1i9dkpqzcp6fzds6asvcxlqqfl"; depends=[]; };
   metaMA = derive2 { name="metaMA"; version="3.1.2"; sha256="1mjyz06q1kc8lhfixpym4ndpnisi1r849fj3da6riwfd6ab1v181"; depends=[limma SMVar]; };
   metaMix = derive2 { name="metaMix"; version="0.3"; sha256="17qkwg9iz5v63ybyvqppbf044l0pi0ym5pw283174dlx8lfac60q"; depends=[data_table ggplot2 gtools Matrix Rmpi]; };
   metaRMST = derive2 { name="metaRMST"; version="1.0.0"; sha256="1mq9j7iczjh7d3cps9g1bh0f8k388bdn8d5lkjs2s8y9fq1kxzmx"; depends=[meta mvmeta rstpm2 survival survRM2]; };
   metaRNASeq = derive2 { name="metaRNASeq"; version="1.0.2"; sha256="1xz7df7ypq4326yg429pgxd6aldp14c3h3qi20j5nqr5xgsdgzqa"; depends=[]; };
-  metaSEM = derive2 { name="metaSEM"; version="1.2.2"; sha256="09riif6ia0si97zn8kcx23k40iyj38vfvli73y0044npymirz2sx"; depends=[ellipse lavaan MASS Matrix mvtnorm numDeriv OpenMx]; };
+  metaSDTreg = derive2 { name="metaSDTreg"; version="0.2.0"; sha256="08q2llzqakrrxab73a63s4bpqq461m4q1dl60za9826yxl3g86b8"; depends=[Matrix maxLik ordinal truncnorm]; };
+  metaSEM = derive2 { name="metaSEM"; version="1.2.3"; sha256="13bny83pnd0mwz6bcnvpnn9bipvzj7ifwsx1z145gs5arx7k7dsh"; depends=[ellipse lavaan MASS Matrix mvtnorm numDeriv OpenMx]; };
   metaboGSE = derive2 { name="metaboGSE"; version="1.2.1"; sha256="169m59y2g3618rpjjlmwsj1alkfcjfhpsyzhz9010vn38bbwgmxr"; depends=[AnnotationDbi ape Matrix sybil sys topGO]; };
   metacart = derive2 { name="metacart"; version="2.0-1"; sha256="1dv4vq3pxbmjg8xxjjxxqnl3njy4v7j20ha90sj1i2dd814y0r72"; depends=[ggplot2 gridExtra Rcpp rpart]; };
   metacoder = derive2 { name="metacoder"; version="0.3.3"; sha256="0d7fpx5zpggc8k3y882mlw4szn7ghzckyiaxj9x652xink8zi397"; depends=[ape biomformat cowplot crayon dplyr GA ggfittext ggplot2 ggrepel igraph lazyeval magrittr phylotate RColorBrewer Rcpp RCurl readr reshape reshape2 rlang scales seqinr stringr svglite taxa taxize tibble traits vegan viridisLite zoo]; };
-  metacom = derive2 { name="metacom"; version="1.5.1"; sha256="18n3mbmjna3db44gscsdgv1j8f11jhikiw7yg3vbw2a9v5w3ypkv"; depends=[vegan]; };
-  metacor = derive2 { name="metacor"; version="1.0-2"; sha256="04k3ph0yg3jp8x4g6l1h4m0qwl51mx0626xmm0fzr1pv4b4a1ypw"; depends=[gsl rmeta]; };
-  metadynminer = derive2 { name="metadynminer"; version="0.1.5"; sha256="0lbhw29ymgp23cffn0qq451fngwqqsr9a9azx8qfwfjl40gh86j1"; depends=[Rcpp]; };
+  metacom = derive2 { name="metacom"; version="1.5.2"; sha256="0v2rscql8vks12v5s9rvfrylh175if2mnpr69wsvr2snlcjxmirq"; depends=[vegan]; };
+  metacor = derive2 { name="metacor"; version="1.0-2.1"; sha256="0y3z7jbhw5c2dbn9fx9wlw1311irjc2xvnm5hnaixbbj53qz24n0"; depends=[gsl rmeta]; };
+  metadynminer = derive2 { name="metadynminer"; version="0.1.6"; sha256="0zg08lwnimnmfwac0d5kg8yhsl88gmn029dra18phy1jzkfnsx34"; depends=[Rcpp]; };
   metadynminer3d = derive2 { name="metadynminer3d"; version="0.0.1"; sha256="0riqr2hhk4h0rm7m4njb2dd2f24jff7lzf9chh83sq4q3wldgpz5"; depends=[metadynminer misc3d Rcpp rgl]; };
   metafolio = derive2 { name="metafolio"; version="0.1.0"; sha256="18s78lljwnn3j0l3mqc0svszcb3c8yzyzlpnimndbiq9yxagxnnf"; depends=[colorspace MASS plyr Rcpp RcppArmadillo]; };
   metafor = derive2 { name="metafor"; version="2.1-0"; sha256="009x5w163g4pbak23i5xw3ipk5s9xljkdj9py5vir3vpxxazk267"; depends=[Matrix nlme]; };
@@ -9710,8 +10114,9 @@ in with self; {
   metaheur = derive2 { name="metaheur"; version="0.2.0"; sha256="1rr5mjx3v87alj7cl9hxldvhhbpkz1fzmymmkqv0hs65pny6gbqw"; depends=[doParallel foreach ggplot2 preprocomb reshape2]; };
   metaheuristicOpt = derive2 { name="metaheuristicOpt"; version="2.0.0"; sha256="0ra4hl9l1jlzymj218m2i6xrxfacyx4aaln5pk7q4di2ks0nq11m"; depends=[]; };
   metamedian = derive2 { name="metamedian"; version="0.1.4"; sha256="00jzgf8zdcbgnz89g55lq9c6ybh3praa68b9wwj6sx63hnkicvgd"; depends=[estmeansd Hmisc metafor]; };
-  metamer = derive2 { name="metamer"; version="0.1.0"; sha256="03a7r5dsqjxhjmdq5ybg18l9nf7szn848q9zr4jdyfxw8wi2y75k"; depends=[FNN progress]; };
-  metamisc = derive2 { name="metamisc"; version="0.2.0"; sha256="052hvnf9dvz9x8jbq7358jgg23iw4zpx7yqdrbrl1gdyahn0k75g"; depends=[ggplot2 lme4 metafor mvtnorm plyr pROC]; };
+  metamer = derive2 { name="metamer"; version="0.2.0"; sha256="0wdhr83mph9v7vb9mfhf7lcwmp0smz72sniass7kxcbj6j9hga4g"; depends=[FNN progress]; };
+  metamicrobiomeR = derive2 { name="metamicrobiomeR"; version="1.1"; sha256="16ymdhhr7h2785gfgrw7qi1fjvawiz599h42qi7l0v6djinbxlw2"; depends=[caret compositions dplyr foreign gamlss gdata ggplot2 gplots gridExtra httr jsonlite knitr lme4 lmerTest magrittr matrixStats meta mgcv plyr randomForest RColorBrewer RCurl repmis reshape2 rmarkdown tidyr zCompositions]; };
+  metamisc = derive2 { name="metamisc"; version="0.2.2"; sha256="0ll245a3f442n7jyjshcn87l725mgk132ri73kynrwh0z8g2r7i5"; depends=[ggplot2 lme4 metafor mvtnorm plyr pROC]; };
   metansue = derive2 { name="metansue"; version="2.3"; sha256="18vy294862lfgxiw9cikai9svy3wpwk2bvz3vp20fcslg90mn3xp"; depends=[]; };
   metap = derive2 { name="metap"; version="1.1"; sha256="10kv7z8pik5iy374h399vws0ldf41y2nczlwh8axqf9dcwl084i0"; depends=[lattice Rdpack]; };
   metaplot = derive2 { name="metaplot"; version="0.8.3"; sha256="1zw8bq2fy9m15dfc92ag0dz2k9dqrf5jbvfaycizcgsgaqd79s1c"; depends=[dplyr encode ggplot2 gridExtra gtable lattice magrittr rlang scales tidyr]; };
@@ -9719,7 +10124,7 @@ in with self; {
   metaplus = derive2 { name="metaplus"; version="0.7-11"; sha256="05pkgw0zlq3q9mvdw2yxz9mxzqwq3c8q6cwvh87cigw1pf8y9an7"; depends=[bbmle boot fastGHQuad lme4 MASS metafor numDeriv]; };
   metapost = derive2 { name="metapost"; version="1.0-6"; sha256="098f7sifg814mc4sb1nb4d6dlr1xms5hwyp08ksxg0i4ayf9jf3c"; depends=[gridBezier]; };
   metapro = derive2 { name="metapro"; version="1.5.8"; sha256="0ymbqzm317fiywzxaizddhvjzwp2wyx9y7zgbg4nrz11l3r2bp2n"; depends=[metap rSymPy]; };
-  metasens = derive2 { name="metasens"; version="0.3-2"; sha256="1wxp6gzq3wmas8hm8vqxclawxkc4p8dw2apzmg0nciqvas6dzic8"; depends=[meta]; };
+  metasens = derive2 { name="metasens"; version="0.4-0"; sha256="1rgb2b48lwvrg1f39dzg6d9jr1ya2p7la2jrc3zs3jks28arjr2x"; depends=[meta]; };
   metatest = derive2 { name="metatest"; version="1.0-5"; sha256="1h3dcs1m7606b3a41yw2lak3lrqmsbpnx67qv24wvq003apz1sfd"; depends=[]; };
   metavcov = derive2 { name="metavcov"; version="1.1"; sha256="1x87knvypkfg0x223aiak7fy7zdlfn74crmvnqzhxf2vmxljnvnh"; depends=[corpcor]; };
   metaviz = derive2 { name="metaviz"; version="0.3.0"; sha256="1ayz9za3zwmyna1hanzm83gb7vw3dclj3z4g35rk5dz6s4zgqsvm"; depends=[dplyr ggplot2 ggpubr gridExtra metafor nullabor RColorBrewer]; };
@@ -9728,31 +10133,31 @@ in with self; {
   meteo = derive2 { name="meteo"; version="0.1-5"; sha256="0n37plka9vsxwd03lca3h6m8dcz3f1bi46jn3bz7vyilnkq9hcdk"; depends=[gstat plyr raster rgdal snowfall sp spacetime]; };
   meteoForecast = derive2 { name="meteoForecast"; version="0.53"; sha256="15bjhkcn4zcll3cfgpzcdj0zv753x29qsjndy3h2zzqn83qywx9s"; depends=[ncdf4 raster sp XML zoo]; };
   meteogRam = derive2 { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
-  meteoland = derive2 { name="meteoland"; version="0.8.1"; sha256="1896cqfm8c2ck4w5fkvjwi9kxf713r9bxfjsakv10ii02r78hk95"; depends=[httr jsonlite ncdf4 ncdf4_helpers Rcpp rgdal sp spdep]; };
+  meteoland = derive2 { name="meteoland"; version="0.8.3"; sha256="0xbnb5kpb565ivi1qx2jmbgx5zg3bv65q4a7aylhdxijsjdr8vcv"; depends=[httr jsonlite ncdf4 Rcpp rgdal sp spdep]; };
+  meteor = derive2 { name="meteor"; version="0.3-4"; sha256="01009d9wpxybig4n82m48hqqg1k4x4shcjxfy8y0kk7cgfdb4naw"; depends=[Rcpp]; };
+  meteorits = derive2 { name="meteorits"; version="0.1.0"; sha256="0b2rpq03wijmnqbdbdm10nzh19zvqhfcwnnph2f94ibsip6fxzy8"; depends=[MASS pracma Rcpp RcppArmadillo]; };
   metricTester = derive2 { name="metricTester"; version="1.3.4"; sha256="1z4z8km1jr0azh2zxp1sffm5picc9y6w9yn68zr1axli0l64y3a0"; depends=[ape doParallel dplyr foreach geiger MASS picante plotrix spacodiR]; };
   metricsgraphics = derive2 { name="metricsgraphics"; version="0.9.0"; sha256="1zbx82b34y0rr4w7rzvyc1nzk95w6cdkg0j1kkshbmkvplq6v9i4"; depends=[htmltools htmlwidgets magrittr]; };
-  mets = derive2 { name="mets"; version="1.2.5"; sha256="00vib9a7y031parj1yw5v3c9skz1bp1a0j104vprr40phbqlh9rm"; depends=[lava numDeriv Rcpp RcppArmadillo survival timereg]; };
+  mets = derive2 { name="mets"; version="1.2.6"; sha256="0vaqizmr27144dkh5mh095vih0p70j3ly9zwk5h0fklmn8bf2qhl"; depends=[lava mvtnorm numDeriv Rcpp RcppArmadillo survival timereg]; };
   metsyn = derive2 { name="metsyn"; version="0.1.2"; sha256="0iwp0nz07yd33qd93fjblmvik1l1xkv6rkccn3054zs2bkrzjq4f"; depends=[foreach readr stringr tibble]; };
   mev = derive2 { name="mev"; version="1.12"; sha256="1vq2l6znwagxs6h216lzf8x14656x192ylwvc5gr3b0y7ry0rqdf"; depends=[alabama boot evd nleqslv nloptr Rcpp RcppArmadillo TruncatedNormal]; };
   mewAvg = derive2 { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
   mexhaz = derive2 { name="mexhaz"; version="1.6"; sha256="18gaji566hwfmpfznhlcvvk6f667vhadap3qcklpgddjaca2yc0v"; depends=[MASS numDeriv statmod survival]; };
   mfGARCH = derive2 { name="mfGARCH"; version="0.1.8"; sha256="1pzzn4s98fsyqkrldnpqgxg7ia60dikq73bbfn6xgc63gr6l78r2"; depends=[maxLik numDeriv Rcpp zoo]; };
-  mfbvar = derive2 { name="mfbvar"; version="0.4.0"; sha256="1bxfs7081nd7l0lknag2n184rd1d91cr5sgsnjsfwgdbws8sl8d3"; depends=[ggplot2 pbapply Rcpp RcppArmadillo]; };
-  mfe = derive2 { name="mfe"; version="0.1.2"; sha256="0vckvabk50zmrspjwc36g8l216rfcyc33ah1f4sg1nsi6g8i03k3"; depends=[cluster e1071 infotheo MASS rpart rrcov]; };
+  mfbvar = derive2 { name="mfbvar"; version="0.5.1"; sha256="1s6qmjsj6d5yds06m3fjqqvvfa19ara4rv8b04r8ax8wjci66ix9"; depends=[dplyr ggplot2 GIGrvg lubridate magrittr Rcpp RcppArmadillo RcppParallel RcppProgress stochvol tibble]; };
+  mfe = derive2 { name="mfe"; version="0.1.3"; sha256="1y0l81z2ds3fv3j9jbqgv0s0hwizy246a3iwfp60phqy47rbd8jj"; depends=[cluster clusterCrit e1071 infotheo MASS rpart rrcov]; };
   mfp = derive2 { name="mfp"; version="1.5.2"; sha256="1i90ggbyk2p1ym7xvbf4rhyl51kmfp6ibc1dnmphgw15wy56y97a"; depends=[survival]; };
   mfx = derive2 { name="mfx"; version="1.2-2"; sha256="04pwp67i4sn4rf497pgy6qifwvrcmwyxn8x5sn96fy8qyrdzjfhj"; depends=[betareg lmtest MASS sandwich]; };
   mgarchBEKK = derive2 { name="mgarchBEKK"; version="0.0.2"; sha256="1k4c34srnckbh5kchzmm44l91ma9sw0gi4y225igs3cl79212q9c"; depends=[mvtnorm tseries]; };
   mgc = derive2 { name="mgc"; version="1.0.1"; sha256="0bdj890v2rinsddny8kwa48cgqh9qlzfd7k5s4i9mg40ajr0f291"; depends=[MASS SDMTools]; };
   mgcViz = derive2 { name="mgcViz"; version="0.1.4"; sha256="0gxxmnawvq88jljdszhjw85px4w0q73nmgyq61hlfvjd2k8lscc8"; depends=[gamm4 GGally ggplot2 gridExtra KernSmooth matrixStats mgcv miniUI plyr qgam rgl shiny viridis]; };
-  mgcv = derive2 { name="mgcv"; version="1.8-28"; sha256="1snkpnkkigwrj9zm31j1nlivv9ls56imz263cv167hnmghiahpmm"; depends=[Matrix nlme]; };
+  mgcv = derive2 { name="mgcv"; version="1.8-31"; sha256="1if34mqsn9r7g0l82lxvvx0wjhi9paqdymyd73nschxcl1if8vbk"; depends=[Matrix nlme]; };
   mglmn = derive2 { name="mglmn"; version="0.0.2"; sha256="1ijkmr85s4yya0hfwcyqqskbprnkcbq8sc9c889i0gy0543fgqz4"; depends=[mvabund snowfall]; };
-  mgm = derive2 { name="mgm"; version="1.2-6"; sha256="1pgw9gfrq1md8cpm8wf39f0n26hrynil1hc4px0vvilzal5yj3bc"; depends=[glmnet gtools Hmisc matrixcalc qgraph stringr]; };
+  mgm = derive2 { name="mgm"; version="1.2-7"; sha256="1s0m9xjq2d067ba2cx87q83nqmdza34vw9g0g0mqd8ap53rmqhas"; depends=[glmnet gtools Hmisc matrixcalc qgraph stringr]; };
   mgpd = derive2 { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[corpcor evd fields numDeriv]; };
   mgsub = derive2 { name="mgsub"; version="1.7.1"; sha256="0v3386a7i71ixqidqfqakl428rnq0z9pjz08lgmyvray0ls5vmvi"; depends=[]; };
   mgwrsar = derive2 { name="mgwrsar"; version="0.1"; sha256="13h56fgq3fs28fqh19hwbcza622xd921qnjwcgw2rjwaabqz70w5"; depends=[doParallel foreach htmltools leaflet Matrix nabor Rcpp RcppEigen sp spgwr]; };
-  mhde = derive2 { name="mhde"; version="1.0-1"; sha256="1q7lbj2is024f5rmfpdn3a0hsb78bf62ddal3chhnh3bi1z3jrjk"; depends=[]; };
   mhsmm = derive2 { name="mhsmm"; version="0.4.16"; sha256="009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"; depends=[mvtnorm]; };
-  mht = derive2 { name="mht"; version="3.1.2"; sha256="01zcaf9k0qayzm8dn5dvnm5n3qgqpj8r96qhqaa5vbjcr6ci2x2r"; depends=[glmnet Matrix]; };
   mhtboot = derive2 { name="mhtboot"; version="1.3.3"; sha256="1z0p8ny9lpnrshgas7cad2lv7j0blw0n6ihiimw600n70h73jwrn"; depends=[ggplot2 reshape2]; };
   mhurdle = derive2 { name="mhurdle"; version="1.1-8"; sha256="0nnzhcp9ghx2ifaj8lvhvv1acb3dpwi8m9n1al8zjvfg35wmxwwm"; depends=[Formula maxLik survival texreg truncreg]; };
   mi = derive2 { name="mi"; version="1.0"; sha256="1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l"; depends=[arm Matrix]; };
@@ -9769,30 +10174,31 @@ in with self; {
   micEconSNQP = derive2 { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[MASS miscTools systemfit]; };
   micar = derive2 { name="micar"; version="1.1.1"; sha256="09vpijva39fwpvdpfglwr3xmz469pnmz371ms7z5av6w2193ls5n"; depends=[httr jsonlite]; };
   mice = derive2 { name="mice"; version="3.6.0"; sha256="0pgcxdmp77604h6f4x8hhs6j4xdjgf5b9zvnixyzdj8vcgdjpivv"; depends=[broom dplyr lattice MASS mitml nnet Rcpp rlang rpart survival]; };
-  miceFast = derive2 { name="miceFast"; version="0.2.3"; sha256="0ngb2qs71x0i8ffyb1qlbz2wk6c87m1r74l547c5pc9agnc227m0"; depends=[Rcpp RcppArmadillo]; };
+  miceFast = derive2 { name="miceFast"; version="0.5.1"; sha256="0n09l6y7jwcskv2lfynyzl614c7x84yyc52wqwyhnzvd8lzapp5d"; depends=[data_table Rcpp RcppArmadillo]; };
   miceMNAR = derive2 { name="miceMNAR"; version="1.0.2"; sha256="1s607icaf3c25mn8xdi3zkzmm8m7qd9a6vjdlz5j7ig2gc9f2y2d"; depends=[GJRM mice mvtnorm pbivnorm sampleSelection]; };
-  miceadds = derive2 { name="miceadds"; version="3.4-17"; sha256="1yf6shdgz9hbz37y9hz5zbg17m5cd79ik49nwr6sb6ml8lxxi0s9"; depends=[mice mitools Rcpp RcppArmadillo]; };
+  miceadds = derive2 { name="miceadds"; version="3.6-21"; sha256="1gk91rg1p1s042cnlkcm6lnszfrknpbysc8gkhinyxyw7bm87h62"; depends=[mice mitools Rcpp RcppArmadillo]; };
   micemd = derive2 { name="micemd"; version="1.6.0"; sha256="1n8kzdf2713dw9mbzvbwl0gknzi9amdqnabfw2wmb70gsvma3f48"; depends=[abind digest jomo lme4 MASS Matrix mice mvmeta mvtnorm nlme]; };
   michelRodange = derive2 { name="michelRodange"; version="1.0.0"; sha256="1pykqb9hmpvn77k0vhfh36iyhamz9h5kpswq3ql31h9nknfy3ixi"; depends=[magrittr]; };
   micompr = derive2 { name="micompr"; version="1.1.0"; sha256="0qsxs35mmqx8hpszcb1z87xczh0vh0m0plqrj22af5mjjvif76n9"; depends=[]; };
-  microPop = derive2 { name="microPop"; version="1.4.1"; sha256="1xm1yfdbv0kp0dvk4dhjrr2rjydpnh13vm5kfzyj39rwpmrrim3f"; depends=[deSolve]; };
+  microPop = derive2 { name="microPop"; version="1.5"; sha256="1gikp20n2b50fkybbg2hmlfjdcm0imjwygjsjnyv3wrjzypm2i78"; depends=[deSolve]; };
   microbats = derive2 { name="microbats"; version="0.1-1"; sha256="1mahvblaiwg1xk2s34wd1ic8ddc9lh6g0azik2pd97bsf0krkyw8"; depends=[]; };
-  microbenchmark = derive2 { name="microbenchmark"; version="1.4-6"; sha256="1sn1fxgzakm5iqbgc35g3k4yi0iqrkmwz33cvdrphrzh1lxnmi3s"; depends=[]; };
+  microbenchmark = derive2 { name="microbenchmark"; version="1.4-7"; sha256="1xl4m4yl4h2zcjiz8wsa7f3sh55qg2xr3sgpvz18rlix6b3173r6"; depends=[]; };
   microclass = derive2 { name="microclass"; version="1.1"; sha256="0hl2s4135k187f0vqmj9snvmnwa5k9fg8ahivfs7ciknrcxfv3nk"; depends=[microcontax microseq Rcpp RcppEigen RcppParallel]; };
   microcontax = derive2 { name="microcontax"; version="1.0"; sha256="0l5mfgda5xagjbh9bwv328k3m7kgggdm90rc8fr1ic59hvg56f3g"; depends=[microseq]; };
   microdemic = derive2 { name="microdemic"; version="0.4.0"; sha256="0i4pkrw02ad8ssvryndf7pxgk5wcyn4126yvl28fxk38249kvc9v"; depends=[crul data_table jsonlite tibble]; };
+  microhaplot = derive2 { name="microhaplot"; version="1.0.1"; sha256="0g15g7d19yz11nn2g0h8h2m8k1cvmpryz72pnalgv5yi58md5l5i"; depends=[dplyr DT ggiraph ggplot2 gtools magrittr scales shiny shinyBS shinyWidgets tidyr]; };
   micromap = derive2 { name="micromap"; version="1.9.3"; sha256="1iciwy0kcg4qa0xc4gkqcilq33ac1s184vw13cbbkv0d1b5cgkgv"; depends=[ggplot2 maptools RColorBrewer rgdal sp]; };
   micromapST = derive2 { name="micromapST"; version="1.1.1"; sha256="15ch132x3wnpf7rmy25nah7iyfxfk90p7lvavqjhrnavhjsfxbxx"; depends=[labeling RColorBrewer stringr]; };
   micropan = derive2 { name="micropan"; version="1.2"; sha256="1b3hd5c6l9njns372zhqfryibrpqmrjxmc1p5gzdwm7450cs7qky"; depends=[BH igraph microseq Rcpp]; };
   microplot = derive2 { name="microplot"; version="1.0-42"; sha256="062dd4k6ryyl44lwbc2qgdsfcs1fiv9j2n6lx9driw6vng533b6q"; depends=[cowplot flextable ggplot2 HH Hmisc htmltools lattice officer]; };
   microsamplingDesign = derive2 { name="microsamplingDesign"; version="1.0.6"; sha256="093rldfx3b45j4qn0r42d7fmqzx4h43s6vq4zlysdimq4ncxdm3v"; depends=[abind deSolve devtools ggplot2 gridExtra gtools knitr MASS matrixcalc matrixStats plyr Rcpp RcppArmadillo readr reshape2 shiny stringr]; };
-  microseq = derive2 { name="microseq"; version="1.2.3"; sha256="1cpgnl3y1v5pwh333lkg7igh3qgga0mhmhc8vdb7gw0k5gzh7gzp"; depends=[Rcpp]; };
+  microseq = derive2 { name="microseq"; version="1.3"; sha256="1svkgx2ymxzn0zm1gzwcjhdyml2zjy4m0p7wg5phmnxpkz5m9win"; depends=[Rcpp stringr tibble]; };
   microsynth = derive2 { name="microsynth"; version="2.0.13"; sha256="1ijv7kbxl087m0wzdbzl9p74116dfwid03dlamy4b1l308azc4ag"; depends=[boot kernlab LowRankQP MASS nleqslv pracma survey]; };
   midas = derive2 { name="midas"; version="1.0.1"; sha256="1alqxk23651jnkg0xn4rpvk71z5rhvx3y0wjrgkw2qw95s7jjn72"; depends=[shiny xml2]; };
   midasr = derive2 { name="midasr"; version="0.7"; sha256="02kjyzbznmy0362ambnnh8vc7ywbgikk3n7705sww9p0k0pywrrx"; depends=[forecast Formula MASS Matrix numDeriv optimx quantreg sandwich texreg zoo]; };
   midastouch = derive2 { name="midastouch"; version="1.3"; sha256="1pjzcf0hjfhr5p0la8pz1njw7bhfrcrzpqfsdqk2z5c6dbh4awzq"; depends=[]; };
   midrangeMCP = derive2 { name="midrangeMCP"; version="1.3"; sha256="1733dlhzbgrjdzd88rh9dkqhxh05gr078sbmihab7whbrpsq8068"; depends=[SMR WriteXLS xtable]; };
-  migest = derive2 { name="migest"; version="1.8.0"; sha256="0736jh3wrkwd4y2nka892nr6ncaj9kgpf19hppszxj8knf5320dv"; depends=[]; };
+  migest = derive2 { name="migest"; version="1.8.1"; sha256="12gk1ip1kw3x35bazxqqjf1drbs2h7kpgzbh5psd6ppphj81dzjg"; depends=[dplyr magrittr mipfp purrr stringr tidyr]; };
   migration_indices = derive2 { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
   migui = derive2 { name="migui"; version="1.1"; sha256="1qchjsc7ff2b6s9w6ncj9knjv6pyp90jd4jxljn2rr1ix1gc45za"; depends=[arm gWidgets2 mi]; };
   miic = derive2 { name="miic"; version="1.0.3"; sha256="088szscn9v9279w86mypxphp3avv17iijvcvlckx3h1ka75lkx27"; depends=[bnlearn igraph MASS ppcor Rcpp]; };
@@ -9800,6 +10206,7 @@ in with self; {
   mime = derive2 { name="mime"; version="0.7"; sha256="12vpip67ajb90b8p96w43ir7mavrw2i61bwvpfnrlmlj9kj3w20i"; depends=[]; };
   mimi = derive2 { name="mimi"; version="0.2.0"; sha256="1ig34qd37my74nmlv3jcfrj7cnd55alxpf2flf2sssk2ws1y56xh"; depends=[data_table doParallel FactoMineR foreach glmnet rARPACK softImpute]; };
   mimsy = derive2 { name="mimsy"; version="0.4.2"; sha256="0f2yy5s9dxl8k12lrnc0w5d8vl0c9by0zc7gv05a2sq5jl7zrr8j"; depends=[dplyr lubridate magrittr openxlsx]; };
+  minMSE = derive2 { name="minMSE"; version="0.1.1"; sha256="11m34nmxi2v80lsix8k44vl8ms5541js4av6h3pvx11px3i3c841"; depends=[MASS]; };
   mindr = derive2 { name="mindr"; version="1.2.2"; sha256="1ggpdjyjaprw03gjqk34h7k4h3cdxrwmwvjg5sdqdp0pya6ik03y"; depends=[data_tree htmlwidgets jsonlite knitr]; };
   mineCitrus = derive2 { name="mineCitrus"; version="1.0.0"; sha256="031nfhrsc5rlqls3vyrk18lx0pd4ssdk96cmfr4ifaciz0rgv8h2"; depends=[ggplot2]; };
   mined = derive2 { name="mined"; version="1.0-2"; sha256="1py6gylya8dhmxcyfrcwbwc5q226m041rs3cmj4q0dhqy8iy2zsw"; depends=[Rcpp RcppEigen]; };
@@ -9819,14 +10226,15 @@ in with self; {
   minxent = derive2 { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
   mipfp = derive2 { name="mipfp"; version="3.2.1"; sha256="1gxazpg81vj5dywpb6jb29188jw28qil6pfygawa7znnjn3k5ca6"; depends=[cmm numDeriv Rsolnp]; };
   mipred = derive2 { name="mipred"; version="0.0.1"; sha256="0kijn2xj0dh28rm2sjgd8j1a3c5avc3fjfvvcmzfasvxqdjflv6j"; depends=[mice]; };
-  mirt = derive2 { name="mirt"; version="1.30"; sha256="1j4l7hnx2rj6nixs7ylcvc7d24wbj1mfs9fccsyhzrrwadn6drvq"; depends=[dcurver Deriv GPArotation lattice mgcv Rcpp RcppArmadillo vegan]; };
+  mirt = derive2 { name="mirt"; version="1.31"; sha256="1jfpb69ih0kyffjf9k7z8yhfyw6ngqhkjxmpzgmm0v8lr2mnw0gq"; depends=[dcurver Deriv GPArotation lattice mgcv Rcpp RcppArmadillo vegan]; };
   mirtCAT = derive2 { name="mirtCAT"; version="1.9.3"; sha256="1yd03rkviqxl9rsqnny3fgn2rj0hss49nav11b9w4np8lv9zkwgh"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
   mirtjml = derive2 { name="mirtjml"; version="1.2"; sha256="0vjcbgl1s8haqc0xi4k8dsqvhr2qyz4ikhjwmqrxyl5xssjy330r"; depends=[GPArotation Rcpp RcppArmadillo]; };
   misaem = derive2 { name="misaem"; version="0.9.1"; sha256="1790igbb4nlp9d9h17gzp3backazpf8bi66n1ik3h58qwv4610hj"; depends=[MASS mvtnorm]; };
   misc3d = derive2 { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
   miscF = derive2 { name="miscF"; version="0.1-4"; sha256="1kvkbvrmaqclwdfghkrsmnzb6xbi97icay2wwb7k5m34xhx4ha82"; depends=[MASS MCMCpack mvtnorm R2jags]; };
   miscFuncs = derive2 { name="miscFuncs"; version="1.2-10"; sha256="1kqya581n76ff9avhj6xm6nwsbw7zlm4mwy0vyvdlqlf7c381qq0"; depends=[mvtnorm roxygen2]; };
-  miscTools = derive2 { name="miscTools"; version="0.6-22"; sha256="1sngkl5rwg1vp2xx9a5g2nz2nhwxwv7ni21ww7hyjc8x5mhb42yh"; depends=[]; };
+  miscIC = derive2 { name="miscIC"; version="0.1.0"; sha256="0pnwc3b318xxnmb7scrj4qkqlvqfyczspdg496kl0ixsiaafr1ad"; depends=[nnls]; };
+  miscTools = derive2 { name="miscTools"; version="0.6-24"; sha256="0sqixfawnf2kb1172a3dcihk85gxwzqmkllkdgg0mik8zch635s9"; depends=[digest]; };
   misclassGLM = derive2 { name="misclassGLM"; version="0.2.0"; sha256="1dz36q2gl0q8d0s2rxn28b8ykw31wcdxf91s7ypmjggfdj64i8br"; depends=[bigmemory foreach MASS Matrix mlogit numDeriv ucminf]; };
   miscor = derive2 { name="miscor"; version="0.1-1"; sha256="1vn0q0i2f1szjywddb7h7krpbf0qch6gmbzs03m4zb03xd70983b"; depends=[]; };
   miscset = derive2 { name="miscset"; version="1.1.0"; sha256="1gwi7jnqdf2fa8yk8gmcc7dcv72bbdl7yj3yccj3r5jjk41vdp91"; depends=[data_table devtools ggplot2 gridExtra Rcpp xtable]; };
@@ -9836,10 +10244,10 @@ in with self; {
   missCompare = derive2 { name="missCompare"; version="1.0.1"; sha256="0f173463dsr2xcj228aysfnabrdv8i2c9sprmd2jndn65dv8hhsz"; depends=[Amelia data_table dplyr ggdendro ggplot2 Hmisc ltm magrittr MASS Matrix mi mice missForest missMDA pcaMethods plyr rlang tidyr VIM]; };
   missDeaths = derive2 { name="missDeaths"; version="2.5.1"; sha256="1vj1d4r2ikc7ppm5kgivc7bj81qkyymrs11cxj1gdll6xyfn1g1d"; depends=[cmprsk MASS mitools Rcpp relsurv rms survival]; };
   missForest = derive2 { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[foreach itertools randomForest]; };
-  missMDA = derive2 { name="missMDA"; version="1.14"; sha256="1pqwfs1p7i624ilddj48i4kig6pjw5b28ic33l09g0c4bq7nw5lh"; depends=[doParallel FactoMineR foreach mice mvtnorm]; };
+  missMDA = derive2 { name="missMDA"; version="1.15"; sha256="0c4zinknrpixbd3czl1lnvwc7jswi8ci03dwajl90qxgh78g3v92"; depends=[doParallel FactoMineR foreach mice mvtnorm]; };
   missRanger = derive2 { name="missRanger"; version="2.1.0"; sha256="06ic99zg91ikzvmwbj05ma46rc4ayfwylv8cnj21sbr5nxw0qpz9"; depends=[FNN ranger]; };
-  missSBM = derive2 { name="missSBM"; version="0.2.0"; sha256="0lszypzz0qdp1jw7l9i3gajzmk54acai32w4xbxqcc6pi4q057r6"; depends=[ape corrplot igraph magrittr nloptr R6 Rcpp RcppArmadillo]; };
-  missingHE = derive2 { name="missingHE"; version="1.1.1"; sha256="02k2n5kap5n1zhzjv7y2dd5hrxh979ha5w66hixlhylhc1ar0w20"; depends=[BCEA coda ggmcmc ggplot2 ggthemes gridExtra loo mcmcplots mcmcr R2jags]; };
+  missSBM = derive2 { name="missSBM"; version="0.2.1"; sha256="00jxj1f7hr78srlm49finf9j2q14y1cl66rwdkm1i81l8db5fvcp"; depends=[ape corrplot ggplot2 igraph magrittr nloptr R6 Rcpp RcppArmadillo]; };
+  missingHE = derive2 { name="missingHE"; version="1.2.1"; sha256="1ckkszq9c095svg3syfnrcdxy64yfm14rskglpsiyl1d4im9h9c8"; depends=[bayesplot BCEA coda ggmcmc ggplot2 ggthemes gridExtra loo mcmcplots mcmcr R2jags]; };
   mistat = derive2 { name="mistat"; version="1.0-5"; sha256="1vyx918b7iv1wcnk23bnlxljwy0hglpdx5drhrs5qcd45f6jrghc"; depends=[]; };
   mistr = derive2 { name="mistr"; version="0.0.2"; sha256="12zh6ys3lfc5ylidjhbmbxvbhjd3rg9vd89pv94547z9y1yf6sx5"; depends=[bbmle]; };
   mistral = derive2 { name="mistral"; version="2.1.0"; sha256="1cr79p8q82lpj9d0y6q24xmfkxmnlqv8ivkd0baj7fxfb1nb8sak"; depends=[DiceKriging doParallel e1071 emoa foreach ggplot2 iterators Matrix mvtnorm quadprog]; };
@@ -9852,23 +10260,25 @@ in with self; {
   mixPHM = derive2 { name="mixPHM"; version="0.7-2"; sha256="1wvkdb9zj2j8dpppnyins05rg877zbydqsl3qaan62wznkknxcac"; depends=[lattice survival]; };
   mixR = derive2 { name="mixR"; version="0.1.1"; sha256="1xd3v5rk59380zh7r6l5blmcy4gib9xp44j5dcrk6ivs6fgycsxh"; depends=[ggplot2 Rcpp]; };
   mixRasch = derive2 { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; };
-  mixRaschTools = derive2 { name="mixRaschTools"; version="1.1"; sha256="17idr4gyc2pv4zdwk6rgm15z32cn4271lf4hf64n8dgi0rbjlpxh"; depends=[]; };
+  mixRaschTools = derive2 { name="mixRaschTools"; version="1.1.1"; sha256="1giq6d97sg6f66sh0gw6x1f2ax4ys91kfnrlpdv37m7qakk5npyj"; depends=[]; };
   mixSPE = derive2 { name="mixSPE"; version="0.1.1"; sha256="103lr74wryrk7sakss9cn774fjwy5xqc4hrcr7ig6m0dzyx4gqzl"; depends=[mvtnorm]; };
   mixchar = derive2 { name="mixchar"; version="0.1.0"; sha256="1az2gggwipkzg86pvn9w2csgfgrpdc88kca51f5qcw0zk4wx5hlx"; depends=[minpack_lm nloptr tmvtnorm zoo]; };
-  mixdir = derive2 { name="mixdir"; version="0.2.0"; sha256="0z6scpvayfr2j1577s80pf9qh69f6qdczh488xvsm1rmf595s699"; depends=[extraDistr Rcpp]; };
+  mixdir = derive2 { name="mixdir"; version="0.3.0"; sha256="1vgxxzsrl660agk4cjw4q4gx28fv5mkzpjy4qanq5c9mqpcxbxkc"; depends=[extraDistr Rcpp]; };
   mixdist = derive2 { name="mixdist"; version="0.5-5"; sha256="1wchhysd33xz395hq4wgd3zv1qc92pbiqxqd7g2v6m1pb0j8ma9g"; depends=[]; };
+  mixedClust = derive2 { name="mixedClust"; version="1.0.1"; sha256="1izbij6l3rnq8gvv5b53jcvdpi42kwwybdqak43y0nlb2rhvdq95"; depends=[fda Rcpp RcppArmadillo RcppProgress]; };
   mixedMem = derive2 { name="mixedMem"; version="1.1.0"; sha256="0j8w3qfhanyrkkxipdxfdajv15qba8r2rm06iiv3kywficzgkxgv"; depends=[BH gtools Rcpp RcppArmadillo]; };
   mixedsde = derive2 { name="mixedsde"; version="5.0"; sha256="0ss1ng4nx91gxj85wxxfyh9ljxsj3ag6lsj1a5d2815p9jzl7dsv"; depends=[MASS moments plot3D sde]; };
   mixexp = derive2 { name="mixexp"; version="1.2.5"; sha256="0nbf10xhrr51rb1b2apcj4p3ci8xbi7flgz500ar3mxh8h8l74sq"; depends=[daewr gdata lattice]; };
   mixggm = derive2 { name="mixggm"; version="1.0"; sha256="1wiiayld7rwp3mwz93zizrv0dzw02mqrzprc4z6c4jj25c8pypw5"; depends=[foreach GA mclust memoise network Rcpp RcppArmadillo]; };
+  mixl = derive2 { name="mixl"; version="1.1"; sha256="0v3yxhar1ms6y2j73a5hgyh1c9v6lg5xl646mv0ischqj21bysbh"; depends=[maxLik numDeriv randtoolbox Rcpp readr sandwich stringr]; };
   mixlink = derive2 { name="mixlink"; version="0.1.5"; sha256="0ywgrcplhspc0x5fniw52xqz20y7j9mwgy4ky8lv3vii659mr52m"; depends=[mvtnorm numDeriv Rcpp RcppGSL]; };
   mixlm = derive2 { name="mixlm"; version="1.2.3"; sha256="0i7nrn31yaicdpwfssnid1x8w51iv17lcl96zfr1pgrf97d7gkqd"; depends=[car leaps multcomp pls pracma]; };
-  mixmeta = derive2 { name="mixmeta"; version="0.2.2"; sha256="1h52pmybammhhr15sl0jkm5n83rsyy1km4g4rpwry1mxrxc4ql1v"; depends=[]; };
+  mixmeta = derive2 { name="mixmeta"; version="1.0.5"; sha256="0wyzvsw76wb95fvvy43q9n9gkgc32ys8qdhm36gs56dg85bjzsgd"; depends=[]; };
   mixor = derive2 { name="mixor"; version="1.0.4"; sha256="1l296z0a3kamb1m94pfx3vczp36pa0np101fy5c23kh45s59pbs7"; depends=[survival]; };
   mixreg = derive2 { name="mixreg"; version="0.0-6"; sha256="04g863yxrlj0wqsmzzxph5110g3gjk094r59zzk0b9r89m8vhpsl"; depends=[]; };
   mixsep = derive2 { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[MASS RODBC tcltk2]; };
-  mixsmsn = derive2 { name="mixsmsn"; version="1.1-5"; sha256="0y1ysh75xqsqk87717akiqi8p6varry8n92hanl4qwy7la0ksy7w"; depends=[mvtnorm]; };
-  mixsqp = derive2 { name="mixsqp"; version="0.1-97"; sha256="0d3dcgg4p9z151cg360s008pgiq71vjc0fbpp6sxgqwbapan617k"; depends=[Rcpp RcppArmadillo]; };
+  mixsmsn = derive2 { name="mixsmsn"; version="1.1-6"; sha256="0zlbs0yn336xdzymrb065rbg1zj8f7zri77lmd7c4w1rxhfjh9a9"; depends=[mvtnorm]; };
+  mixsqp = derive2 { name="mixsqp"; version="0.2-2"; sha256="12gm40dlh007dqxhaba0d6ssmrarhy5qlslmgymr3sil72rgz9a4"; depends=[Rcpp RcppArmadillo]; };
   mixtNB = derive2 { name="mixtNB"; version="1.0"; sha256="0lqbm1yl54zfs0xcmf3f2vcg78rsqyzlgvpydhmhg7x6dkissb22"; depends=[]; };
   mixtools = derive2 { name="mixtools"; version="1.1.0"; sha256="13wdm0xs5bakhpa8ypg6lvhjaqkxyabwz4glxdwn0jwdvkcdhgsl"; depends=[MASS segmented survival]; };
   mixtox = derive2 { name="mixtox"; version="1.3.2"; sha256="0mdnp1yrcxvan5l7jj91s41vq5y1kdnkhhinqrklmg4ph5f29dmq"; depends=[minpack_lm]; };
@@ -9876,12 +10286,12 @@ in with self; {
   mize = derive2 { name="mize"; version="0.2.2"; sha256="1p728svnj5ckixry6xw70nywqabmgdcygdsa6dvpicr2s4sffn86"; depends=[]; };
   mizer = derive2 { name="mizer"; version="1.0.1"; sha256="1vn03f3j9vd8hwz18i67blif33y3cd7hc8m1h4aw7wkgdpqsyb4b"; depends=[deSolve ggplot2 plyr progress Rcpp reshape2]; };
   mkde = derive2 { name="mkde"; version="0.1"; sha256="04v84arpnmjrkk88ffphnhkz32x7y0dypk75jfmbbgcgv59xlglv"; depends=[raster Rcpp sp]; };
-  mkin = derive2 { name="mkin"; version="0.9.49.5"; sha256="1q4j9krbrvr74pla33vn7piqcpz4bx53hqc6jk26qv9d5q4yh5xw"; depends=[deSolve inline numDeriv plyr R6]; };
+  mkin = derive2 { name="mkin"; version="0.9.49.7"; sha256="11zr15isjf26k5rzbraxxs7i1k4c6zc11va1w5wgvkhbxsa93j4r"; depends=[deSolve inline lmtest numDeriv R6]; };
   mknapsack = derive2 { name="mknapsack"; version="0.1.0"; sha256="1kzmx7d512681a4hjirfgcd7a8rvndb4da66p16gms5nnxzsby9c"; depends=[assertthat data_table lpSolve]; };
   mkssd = derive2 { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
   mlDNA = derive2 { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[e1071 igraph pROC randomForest ROCR rsgcc snowfall]; };
   mlPhaser = derive2 { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
-  mlVAR = derive2 { name="mlVAR"; version="0.4.3"; sha256="0kx8s2id4qr44wfncf924ywp996ljkb2ip5zds47x7bg55ad3mi5"; depends=[abind arm clusterGeneration corpcor dplyr graphicalVAR lme4 MplusAutomation mvtnorm plyr qgraph]; };
+  mlVAR = derive2 { name="mlVAR"; version="0.4.4"; sha256="0ib566qygm28lqhr3w9vzfxnpsmazlipzrfsdm3cw21wpz2lvxcr"; depends=[abind arm clusterGeneration corpcor dplyr graphicalVAR lme4 MplusAutomation mvtnorm plyr qgraph]; };
   mlapi = derive2 { name="mlapi"; version="0.1.0"; sha256="023vk5bp8cjcq88sapkl87kdxr92bay1dyxl6xirnyj699pyj51k"; depends=[Matrix R6]; };
   mlbench = derive2 { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
   mlbgameday = derive2 { name="mlbgameday"; version="0.2.0"; sha256="05b8jdrcfrh6rli9inkgizkmmj9jw0cypc5r4ckqqbrfj00zfi3q"; depends=[DBI doParallel dplyr foreach iterators magrittr purrr stringr tidyr xml2]; };
@@ -9892,10 +10302,10 @@ in with self; {
   mleap = derive2 { name="mleap"; version="0.1.3"; sha256="17i6rjbrf14g6857jpkpjwcac028861m1nn073wzf2kmznd2rfkk"; depends=[digest fs jsonlite purrr rJava sparklyr tibble]; };
   mlearning = derive2 { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class e1071 ipred MASS nnet randomForest]; };
   mlegp = derive2 { name="mlegp"; version="3.1.7"; sha256="1q0mxvr23qcxvf8k2cgs4m8yfp1gbkmprp964w8viy30japmx16l"; depends=[]; };
-  mlergm = derive2 { name="mlergm"; version="0.2"; sha256="1naapdm8lbqsjgdr2whs36w8jk432mhnki3cvi55abj3v16y94sl"; depends=[cowplot ergm GGally ggplot2 Matrix network plyr reshape2 sna stringr]; };
+  mlergm = derive2 { name="mlergm"; version="0.4"; sha256="0mv5wmcs28n0sq8z46mc4v2j1cqf8x1s5ji3phkvizasyfg9wi78"; depends=[cowplot ergm GGally ggplot2 lpSolve Matrix network plyr reshape2 sna stringr]; };
   mleur = derive2 { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[fGarch lattice stabledist urca]; };
   mlf = derive2 { name="mlf"; version="1.2.1"; sha256="09ihnibpknpp26hdlbxyr99yz7z0n8qpsjs5aq3zngng0yh3wdn9"; depends=[]; };
-  mlflow = derive2 { name="mlflow"; version="1.1.0"; sha256="04vr3viipyh6fdv9rg8hzwmynzjc75gyzz81fvkqqgkmlfnc9yrv"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr xml2 yaml zeallot]; };
+  mlflow = derive2 { name="mlflow"; version="1.4.0"; sha256="0kn9phlr817mjn1sj2x31ia2r3xfvr4cfhk96rp8c4vx2b2chppw"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr xml2 yaml zeallot]; };
   mlgt = derive2 { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
   mlica2 = derive2 { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
   mljar = derive2 { name="mljar"; version="0.1.1"; sha256="1mw45aqjwklsnrfwf8656jf30miyrlxpz87z97nkv9i135yhwfx3"; depends=[httr jsonlite readr]; };
@@ -9903,23 +10313,28 @@ in with self; {
   mlma = derive2 { name="mlma"; version="4.0-1"; sha256="0pk2h4m74r95dfkqzliixi6z1rwdfc6gbz8c3162y22m919f00vc"; depends=[car gplots lme4]; };
   mlmc = derive2 { name="mlmc"; version="1.0.0"; sha256="01h7w0ajyg3bccynlpbi3yjpy089wczbfbajpg6yw5v4dppw7k7a"; depends=[ggplot2 Rcpp]; };
   mlmi = derive2 { name="mlmi"; version="1.0.0"; sha256="08sm836y40af3jd5gcl5pnyv1gqpx4ngkkw4xfp82h1j4yk47sy5"; depends=[cat gsl MASS Matrix mix norm]; };
-  mlmm_gwas = derive2 { name="mlmm.gwas"; version="1.0.5"; sha256="0px6pc7mkfzbbymv5qj9m6nnppbpgpanpy7y6jf7xl8gv3hwip32"; depends=[coxme Matrix multcomp multcompView sommer]; };
+  mlmm_gwas = derive2 { name="mlmm.gwas"; version="1.0.6"; sha256="14xp8k7sww1skyw5l2006gpaw2c6yrri5nmfx4yav4vqdlhcj2k1"; depends=[coxme Matrix multcomp multcompView sommer]; };
   mlmmm = derive2 { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
   mlogit = derive2 { name="mlogit"; version="1.0-1"; sha256="1cjh0dl0yvzyz5wsplygm4al2zfvs7cgdg5fhbcjnv159qfvflml"; depends=[Formula lmtest MASS Rdpack statmod zoo]; };
   mlogitBMA = derive2 { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[abind BMA maxLik]; };
-  mlr = derive2 { name="mlr"; version="2.14.0"; sha256="0jlldr44x3a3l1dxy077ila512s45b4w95s2qk3qd0v70121hwhz"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
-  mlr3 = derive2 { name="mlr3"; version="0.1.1"; sha256="18yqjdg4a3lknic0pzg5xqa5h5nvaz4zh2g27k4fvg2d3v9b90jm"; depends=[backports checkmate data_table digest lgr Metrics mlbench mlr3misc paradox R6]; };
-  mlr3db = derive2 { name="mlr3db"; version="0.1.1"; sha256="0453q5a4a2nzpglim5lmbk2c2a6i95ww5hp2z28iv12xrli5sw72"; depends=[checkmate data_table digest dplyr mlr3 R6]; };
-  mlr3misc = derive2 { name="mlr3misc"; version="0.1.1"; sha256="0q4vr1gh0na02n22n4zijyf6zhg70nck1ly2k6i51hk9dncy815m"; depends=[backports checkmate data_table R6]; };
-  mlrCPO = derive2 { name="mlrCPO"; version="0.3.4-3"; sha256="1446xv4qawyhxi76wp6dfq3xjrmh6gzky4nbcs36zr18zis3ipyz"; depends=[backports BBmisc checkmate mlr ParamHelpers stringi]; };
-  mlrMBO = derive2 { name="mlrMBO"; version="1.1.2"; sha256="1ziyiycgwr4vgilji8dkf1c0kyqjnbmqi3qj35q3si2xbnmcm14f"; depends=[backports BBmisc checkmate data_table lhs mlr parallelMap ParamHelpers smoof]; };
+  mlr = derive2 { name="mlr"; version="2.16.0"; sha256="0sp7hi7x4f23yjyfcmhv4892aci4ancym8zkkff16wdvkhfi9f1x"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
+  mlr3 = derive2 { name="mlr3"; version="0.1.4"; sha256="1rc9xf9pqj9v85slcc07wqi94w6d0x2m78yk5x1x1j06kvrz29y3"; depends=[backports checkmate data_table digest lgr Metrics mlbench mlr3misc paradox R6 uuid]; };
+  mlr3db = derive2 { name="mlr3db"; version="0.1.3"; sha256="0zg5hmlc7mybhrz0hrz4rmvdhbvjp4d0im0r22qvsd3phv614v8m"; depends=[checkmate data_table digest dplyr mlr3 R6]; };
+  mlr3filters = derive2 { name="mlr3filters"; version="0.1.0"; sha256="12ss7w68s6dmq6dy8iap2kipc1m8d8di5iywghcqspdbzcx5ynmz"; depends=[backports checkmate data_table mlr3 mlr3misc paradox R6]; };
+  mlr3learners = derive2 { name="mlr3learners"; version="0.1.5"; sha256="0yraazjfrd3vpbl9na5c77yy8lcdhisq30d7nl13ha2pssn7ifb3"; depends=[data_table mlr3 mlr3misc paradox R6]; };
+  mlr3measures = derive2 { name="mlr3measures"; version="0.1.1"; sha256="0pbsj1yra3wx5xny4ak901qfj983lk8nsiqw2x8kzz46dskx4wzl"; depends=[checkmate]; };
+  mlr3misc = derive2 { name="mlr3misc"; version="0.1.5"; sha256="1ni8a318gc6slscb28vl3a33kr5qfwmjbc66igmi7bn5brk7iik1"; depends=[backports checkmate data_table R6]; };
+  mlr3pipelines = derive2 { name="mlr3pipelines"; version="0.1.1"; sha256="0sw907w9w6w71jq8pirmwd683blic6pfhsj6b2cf8jjnnx56amhn"; depends=[backports checkmate data_table digest mlr3 mlr3misc paradox R6 withr]; };
+  mlr3tuning = derive2 { name="mlr3tuning"; version="0.1.0"; sha256="065vwq830hb388r8767dlr1k80rq27zhpmfjnvh9w64jn46wz763"; depends=[checkmate data_table lgr mlr3 mlr3misc paradox R6]; };
+  mlrCPO = derive2 { name="mlrCPO"; version="0.3.4-4"; sha256="0v8d336f7xghs2pdh6r5j21i6mcy0p2wdzx4nkj69fsc5gn0n058"; depends=[backports BBmisc checkmate mlr ParamHelpers stringi]; };
+  mlrMBO = derive2 { name="mlrMBO"; version="1.1.3"; sha256="1y67kc8kcbim23kkymkn10h761r5pyq80cfzz6a7f0rnmagzvqxp"; depends=[backports BBmisc checkmate data_table lhs mlr parallelMap ParamHelpers smoof]; };
   mlsjunkgen = derive2 { name="mlsjunkgen"; version="0.1.1"; sha256="109ag52x4y3rzx8yccilrnl24mz4ximzx6v4lrbak7dpiclqrw7a"; depends=[]; };
-  mlt = derive2 { name="mlt"; version="1.0-5"; sha256="0c0w54yrynsz270aqc2l61lggqfp0hrcxnazjd1bgprim99m5nv0"; depends=[alabama basefun BB coneproj numDeriv sandwich survival variables]; };
+  mlt = derive2 { name="mlt"; version="1.0-7"; sha256="004mydn99p34f4nxh49zi3q2q1lw164j7ijbcd9fw7blm7i14dp0"; depends=[alabama basefun BB coneproj numDeriv sandwich survival variables]; };
   mlt_docreg = derive2 { name="mlt.docreg"; version="1.0-3"; sha256="1nminamywhwh3l2w3458iapb0zi1784nvdys3ni9ynxbgnxzgr70"; depends=[mlt numDeriv]; };
   mltest = derive2 { name="mltest"; version="1.0.1"; sha256="14gyssfph088v936mpywmd4y8z9vdv0zk8638vlg23j8cf5j4al2"; depends=[]; };
   mltools = derive2 { name="mltools"; version="0.3.5"; sha256="045v28w7vz1zjxim8vfc6ncvg2mavr1q332x0hzlqpfzrk7gz4vh"; depends=[data_table Matrix]; };
-  mlxR = derive2 { name="mlxR"; version="4.0.6"; sha256="0865lmj6mavfymmmnxq95x37yr1kqfqsnad322cibqvbkswlr39r"; depends=[ggplot2]; };
-  mma = derive2 { name="mma"; version="8.0-0"; sha256="14vhs97sfhhm3x5pl346b8azmyv1s6ffc7i50zy2amrxg4wkpmqc"; depends=[car doParallel foreach gbm gplots lattice plotrix survival]; };
+  mlxR = derive2 { name="mlxR"; version="4.1.0"; sha256="1jb214isf0zbx1j7xkidmc4jrvlw3hfvs7q2if3489p0si1n2k23"; depends=[ggplot2]; };
+  mma = derive2 { name="mma"; version="9.0-0"; sha256="1nam7gn3a7jp4dcy9q6ypk7icknflvgmsdzv218qhf28zaw2ybza"; depends=[car doParallel foreach gbm gplots lattice plotrix survival]; };
   mmabig = derive2 { name="mmabig"; version="2.0-0"; sha256="1kp7q2xvkbwa8syk82dsynzizjmhh9z3p7r5hnnvp169as0yvgwl"; depends=[car glmnet gplots mma survival]; };
   mmand = derive2 { name="mmand"; version="1.5.4"; sha256="04kqxdbj54nflgx9lb80xxp121ligdzjkym850z3kbw60ashxybh"; depends=[Rcpp]; };
   mmap = derive2 { name="mmap"; version="0.6-17"; sha256="1dh1i2v2pzhag8brc9c0z8vfs858rpbkg1xqqi4fi866w7g4lhxy"; depends=[]; };
@@ -9935,6 +10350,7 @@ in with self; {
   mmm2 = derive2 { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
   mmmgee = derive2 { name="mmmgee"; version="1.20"; sha256="0y3pwnc9h7y2l9cvgfl62nl1vnnkla2y8082jhdvxsb3mk88rgad"; depends=[Matrix mvtnorm]; };
   mmod = derive2 { name="mmod"; version="1.3.3"; sha256="1dz6887mlqbagjj98wcabmxj9hvsz8pgsizy1fqkwjhhs44c62y4"; depends=[adegenet pegas]; };
+  mmpca = derive2 { name="mmpca"; version="1.0.1"; sha256="0ah9w3sf7fh6simbhgx88q9cr44r79f314r615ss9l29m6ws7ffv"; depends=[CMF digest gmp gsl Rcpp RcppEigen]; };
   mmpf = derive2 { name="mmpf"; version="0.0.5"; sha256="1w1ll1l7yzwb1wmlrcfpgqyzni7yb20kxy422y867hx2ndxlfwpz"; depends=[checkmate data_table]; };
   mmpp = derive2 { name="mmpp"; version="0.6"; sha256="16aypjf4i0ya3qgxqrrg8y0xbnq1pnqky1dpkgln5q494hphyg91"; depends=[]; };
   mmppr = derive2 { name="mmppr"; version="0.1"; sha256="0fswkqcw0xkqd9gmqabb61i32zscp5jzfx0z43wq7mrlwynryylv"; depends=[expm reshape2]; };
@@ -9942,6 +10358,8 @@ in with self; {
   mmtfa = derive2 { name="mmtfa"; version="0.3"; sha256="0qfszr6f10v27w1pfns78dyarznqryl4m1ppyqap7l8fc12sliky"; depends=[matrixStats mvnfast]; };
   mmtsne = derive2 { name="mmtsne"; version="0.1.0"; sha256="1by0hrggla6idc1isnq072i1wfpw4x7id3hkg8l65gy8iycccd12"; depends=[]; };
   mnis = derive2 { name="mnis"; version="0.2.7"; sha256="1yhhgrhsk3ww93vd29ipw16bkn16w0b2i7d46cb5bb5xs4s7vivd"; depends=[dplyr httr jsonlite Rcpp stringi tibble]; };
+  mniw = derive2 { name="mniw"; version="1.0"; sha256="1iamq6cq027ncakm4rfx2p1k2mcj7nk5vk57m8ndnbmmi2y9wwv9"; depends=[Rcpp RcppEigen]; };
+  mnj = derive2 { name="mnj"; version="1.0"; sha256="05rz6krcq56zqvvaz3myf1aki2z635g2zrqyl25n2da1cvyjwdzq"; depends=[rpart]; };
   mnlfa = derive2 { name="mnlfa"; version="0.1-53"; sha256="1hw4m6zpb2322041aizam1l71zxz3i7siawid8npig8v9dhkaqrf"; depends=[CDM Rcpp RcppArmadillo]; };
   mnlogit = derive2 { name="mnlogit"; version="1.2.6"; sha256="0dfwpkl8g7ap5xr48smiv8vdbamd2r1liy9nwpsn0kcsr9cj65n9"; depends=[Formula lmtest mlogit]; };
   mnormpow = derive2 { name="mnormpow"; version="0.1.1"; sha256="0z53vwhkhkkr6zrjhd3yr14mb02vh7lr63frf0ivajndxiap0s9v"; depends=[]; };
@@ -9951,8 +10369,9 @@ in with self; {
   mobsim = derive2 { name="mobsim"; version="0.1.0"; sha256="077hw1162giwc90y5dvj9052i5hxdf2ii29m9q8ky028375dsd0f"; depends=[Rcpp sads vegan]; };
   moc = derive2 { name="moc"; version="2.0"; sha256="0fgp8dg9qf7aw1qawmszlxs4bcccqmd87y4kkzdqggm807c2k5gh"; depends=[]; };
   moc_gapbk = derive2 { name="moc.gapbk"; version="0.1.0"; sha256="0gg64srdb17dx712hilnlrii9i5vi9vjrk17acaynaz307akdw08"; depends=[amap doMPI doParallel doSNOW fields foreach matrixStats mco miscTools nsga2R plyr reshape2 Rmisc]; };
-  mockery = derive2 { name="mockery"; version="0.4.1.1"; sha256="1vfmjcjjyw2v5y64hmpfib6v0f6ms4k5ycvc9pmj9l4nkzq2al6b"; depends=[testthat]; };
+  mockery = derive2 { name="mockery"; version="0.4.2"; sha256="16zayzi2qdmiy513hvlci9f4p8jwry24006yfzrgmrvf6sf293lq"; depends=[testthat]; };
   mockr = derive2 { name="mockr"; version="0.1"; sha256="0340v6189ivlzzriwk7yhf3v2k651x05fd1xrqfxxjgwhysaqj6z"; depends=[lazyeval]; };
+  mod = derive2 { name="mod"; version="0.1.3"; sha256="0z5a6ps2m0cbw0n9kn44767m5jnbf1dl077i2p40fipv8xali9fb"; depends=[]; };
   mod09nrt = derive2 { name="mod09nrt"; version="0.14"; sha256="1wn1y33bj9r712l0f063j5gcl423anjzmvgfy0ddihcrbpz4l7a0"; depends=[]; };
   modEvA = derive2 { name="modEvA"; version="1.3.2"; sha256="0p41fl0k780rx1vmq9laknz01ar6507sj8ss8kphrqkjnymsi2a0"; depends=[]; };
   modMax = derive2 { name="modMax"; version="1.1"; sha256="1mx4623az7vzaqf530pklx7j92qwwq93pa2416lnr24jjcxgva2h"; depends=[gtools igraph]; };
@@ -9961,20 +10380,21 @@ in with self; {
   modTurPoint = derive2 { name="modTurPoint"; version="0.1.0"; sha256="1m24vsi80ln1r7sr40pipaaanyc60yfxmjzf8l7nfy3yvyr8zqpn"; depends=[]; };
   modcmfitr = derive2 { name="modcmfitr"; version="0.1.0"; sha256="1d6fi7pc10w2a97h1prhkg5cvzmxjp11c5bwrz90zry0m8anwjyh"; depends=[gtools nloptr]; };
   modeLLtest = derive2 { name="modeLLtest"; version="1.0.0"; sha256="1f80bgw1l6zgwlhz1agdrl5d44jfrk50yi3jgwf14l4zjx8x8rp3"; depends=[coxrobust MASS quantreg Rcpp RcppArmadillo survival]; };
-  modeest = derive2 { name="modeest"; version="2.3.3"; sha256="1y9kzi0hhpm97a38z8c6dkma1wyhx15sfmqmlxcbs8dmlyibbjin"; depends=[bazar fBasics genefilter stable stabledist statip]; };
+  modeest = derive2 { name="modeest"; version="2.4.0"; sha256="087dw0013y4m7fcl06mxylh9lnp6acysl80d80r9srv4pw4r950s"; depends=[fBasics stable stabledist statip]; };
   modehunt = derive2 { name="modehunt"; version="1.0.7"; sha256="0qz9kmf1qfs2dr7kzm9l7ac0h5rvi3b9j9896p991sk4bcalsl0b"; depends=[]; };
   model4you = derive2 { name="model4you"; version="0.9-3"; sha256="03s87dklil69znflny9vcl934yisfb13d0gdk94279cb4hb693c0"; depends=[Formula ggplot2 gridExtra partykit sandwich survival]; };
   modelDown = derive2 { name="modelDown"; version="1.0.1"; sha256="0rdpma8g461a17n6qsdvjb9s5nnhap1n05mavjy8cpj7d8j7ikkv"; depends=[archivist auditor breakDown DALEX devtools drifter DT ggplot2 kableExtra psych svglite whisker]; };
   modelObj = derive2 { name="modelObj"; version="4.0"; sha256="1py2y80x37mmnl2y0pxdbhqkjrln6x210hg0g224d34lxk71m172"; depends=[]; };
+  modelStudio = derive2 { name="modelStudio"; version="0.1.9"; sha256="076awi00q53vq471rx71kjzkdfrkkpazjmwawb5g8kjsvyplkrii"; depends=[iBreakDown ingredients jsonlite r2d3]; };
   modeldb = derive2 { name="modeldb"; version="0.2.0"; sha256="1qcgmv31gd1x0mzxq4lcarmswsr75qgq5zpfcwchxzrz97ncbwgd"; depends=[dplyr ggplot2 progress purrr rlang tibble tidypredict]; };
   modelfree = derive2 { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; };
   modelgrid = derive2 { name="modelgrid"; version="1.1.1.0"; sha256="1z6g0akczry7vldkk6anfq572zbsfzbd6qnyllgjpbxhy3rrrq0r"; depends=[caret dplyr ggplot2 lattice magrittr purrr]; };
   modelplotr = derive2 { name="modelplotr"; version="1.0.0"; sha256="1b1pcah28b2fsr5l7v3lwxgvl03jr2cyxk5x5plnc3vwy5g0bnpm"; depends=[dplyr ggfittext ggplot2 gridExtra magrittr RColorBrewer rlang scales]; };
-  modelr = derive2 { name="modelr"; version="0.1.4"; sha256="1ngxphbjkv7yl1rg30sj36mfwhc76g452drjrq9abgab4k0pgnml"; depends=[broom dplyr magrittr purrr rlang tibble tidyr]; };
+  modelr = derive2 { name="modelr"; version="0.1.5"; sha256="0nnfhlzz75ihs8azy963cc4cwg1kx81rybk4z3wm98bbghwfxfs5"; depends=[broom dplyr magrittr purrr rlang tibble tidyr]; };
   modelsummary = derive2 { name="modelsummary"; version="0.1.0"; sha256="1g6yc89q267zjplqpwiy6wwvdswyhr6lhg2sldm8zhmbm81jcvks"; depends=[broom checkmate dplyr generics magrittr purrr stringr tibble tidyr]; };
   modeltools = derive2 { name="modeltools"; version="0.2-22"; sha256="1s9lmkac3rl0nknf4wizfhg7ryq7c8yvvyc4z619238br27hhsi5"; depends=[]; };
   modelwordcloud = derive2 { name="modelwordcloud"; version="0.1"; sha256="0ardib0h923i7jk8bgcq6pn2zazx9acf9sdggifsk46hdz8hvqnm"; depends=[]; };
-  moderndive = derive2 { name="moderndive"; version="0.3.0"; sha256="0ww435flspm4yi25v9nh2cdn9bpnwjxdz4fg3cny1c4djs2bzgz2"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
+  moderndive = derive2 { name="moderndive"; version="0.4.0"; sha256="16fbr80v0f5v6is19d5zh9s2qgqw2cb5q71lna7lp0hi22xljl98"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
   modes = derive2 { name="modes"; version="0.7.0"; sha256="185qjrmz2sj0l5931g4d3kx3jpgjn4rf4lln84h6g97prk1ykqmj"; depends=[]; };
   modest = derive2 { name="modest"; version="0.3-1"; sha256="07rs014hdcabp2n0gg14pz2gmqgbw38vjv7a80vkzzh3601hxqws"; depends=[knitr rhandsontable shiny shinyBS]; };
   modesto = derive2 { name="modesto"; version="0.1.2"; sha256="0vmdj8wcy0vv9jaihxrj0m5sr7favz18ngfqc8pd8rd4ipcnxkjf"; depends=[markovchain]; };
@@ -10002,16 +10422,16 @@ in with self; {
   monkeylearn = derive2 { name="monkeylearn"; version="0.2.0"; sha256="18lpfs64h0hy4vkdjlnmxwgagvf54kn8a1c866vv00ckyp85fvn2"; depends=[cowsay digest dplyr httr jsonlite magrittr purrr ratelimitr tibble tidyr]; };
   monmlp = derive2 { name="monmlp"; version="1.1.5"; sha256="19cx60csm8mnf6ksg64vlhi8wi1c7bmv9l55y9zmaljblr0kmzxf"; depends=[optimx]; };
   monographaR = derive2 { name="monographaR"; version="1.2.0"; sha256="0sis2kw07ifq54w6p56zspmlnvxvq6ajb0sdvc9fk480sfxg9806"; depends=[circular maptools png raster rmarkdown sp]; };
-  monomvn = derive2 { name="monomvn"; version="1.9-10"; sha256="13v7rk22a200wcv21phpmhkahw40p9avx8pjxadhgxw9acxcsasb"; depends=[lars MASS mvtnorm pls quadprog]; };
+  monomvn = derive2 { name="monomvn"; version="1.9-13"; sha256="1hm5qf28bh0q7f4zcjqx1qxw3l8hzkx349c1y3nwyfg7436vff6a"; depends=[lars MASS mvtnorm pls quadprog]; };
   monoreg = derive2 { name="monoreg"; version="1.2"; sha256="16n622j1j998a5fhn1c1qbzk5bfa5h09d95ry89gsd00p40hqg0a"; depends=[]; };
-  monotonicity = derive2 { name="monotonicity"; version="1.2"; sha256="119p6j0pry51dinmkyzc5v2k8035hd297sg0k8zx3zxykvfzha6k"; depends=[lmtest MASS sandwich]; };
+  monotonicity = derive2 { name="monotonicity"; version="1.3"; sha256="1h82aikpq5m54zfs1pg4mrajnss6hl0i65ka3rdywv96wmhwsdnr"; depends=[lmtest MASS sandwich]; };
   monreg = derive2 { name="monreg"; version="0.1.3"; sha256="08rcg2xffa61cgqy8g98b0f7jqhd4yp8nx6g4bq3g722aqx4nfg3"; depends=[]; };
   moonBook = derive2 { name="moonBook"; version="0.2.3"; sha256="0hys56mwbm776ff7dibi8wzyf69qiais9rs1jazv79lk6h56s9s6"; depends=[magrittr nortest purrr sjmisc stringr survival]; };
   mopa = derive2 { name="mopa"; version="1.0.1"; sha256="1v876al1afli002v44b4j2acb6n66f0hzz4bmcl60jyny43d1n0c"; depends=[abind dismo e1071 earth gtools lattice PresenceAbsence randomForest ranger raster rpart sampling sp spam spatstat splancs tree]; };
   mopsocd = derive2 { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; };
   morgenstemning = derive2 { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; };
   morpheus = derive2 { name="morpheus"; version="0.2-0"; sha256="07gk05qpabbg96svgnp2m9sw3fxsh2mgfwyda423c03yhxn1pnsm"; depends=[jointDiag MASS pracma]; };
-  morse = derive2 { name="morse"; version="3.2.4"; sha256="0iar2lj2czdgpvmrdx0y98frh452nr4v2m4zmmrs9jr6by46d6nj"; depends=[coda deSolve dplyr epitools ggplot2 gridExtra magrittr reshape2 rjags tibble tidyr zoo]; };
+  morse = derive2 { name="morse"; version="3.2.5"; sha256="1y3daw8ccn0n61kj6lj6m3m4pfj936k786d385lyq05211rkdgqr"; depends=[coda deSolve dplyr epitools ggplot2 gridExtra magrittr reshape2 rjags tibble tidyr zoo]; };
   mortAAR = derive2 { name="mortAAR"; version="1.0.2"; sha256="047xagjmqj6sla0zlz0ljdivggkv04i45yn7637a33ni1pmb83al"; depends=[magrittr Rdpack reshape2]; };
   mortyr = derive2 { name="mortyr"; version="0.0.1"; sha256="1mpgb9rcknghwm9xsn3d8s6fy4j319sinb6l76s8aq06n4f3hr7g"; depends=[httr jsonlite tibble]; };
   mosaic = derive2 { name="mosaic"; version="1.5.0"; sha256="1j3dq8y2zpr3cad5pgbd3qm9ls17z0s6f9qqp5ddh110wf5kz0h4"; depends=[broom dplyr ggdendro ggformula ggplot2 ggrepel glue gridExtra lattice latticeExtra lazyeval leaflet MASS Matrix mosaicCore mosaicData readr tidyr]; };
@@ -10019,23 +10439,23 @@ in with self; {
   mosaicCore = derive2 { name="mosaicCore"; version="0.6.0"; sha256="1klw97h6lchw1cpcl8s637ikcl428cckmjq0czi7mibh9q9mw72z"; depends=[dplyr lazyeval MASS rlang tidyr]; };
   mosaicData = derive2 { name="mosaicData"; version="0.17.0"; sha256="04z0mdm52mykqsxsinhmsihn181zf6cw321gayk2rjp7lj7mwdq9"; depends=[]; };
   mosaicModel = derive2 { name="mosaicModel"; version="0.3.0"; sha256="1gx4rzh0h922gyb50vz6q5vqqp5ry5hf2mq95948q2gcady91k5w"; depends=[caret dplyr ggformula ggplot2 knitr lazyeval MASS mosaicCore testthat tibble tidyr tidyverse]; };
-  mosum = derive2 { name="mosum"; version="1.2.1"; sha256="1fzxaxc5wd5dv53c460f83k8bc10688ai3qp9vhwhghahsam1wf6"; depends=[plot3D RColorBrewer Rcpp]; };
-  motmot = derive2 { name="motmot"; version="2.1.2"; sha256="163ax2hshwv29b216p2vj904zd1k5xhx62pdm93rl5p333ycl9yi"; depends=[ape caper coda ks mvtnorm Rcpp]; };
+  mosum = derive2 { name="mosum"; version="1.2.3"; sha256="1xrrx0gaby5gbqssvhwracm8wny31lqzd64hkmr81s41z8srkxx9"; depends=[plot3D RColorBrewer Rcpp]; };
+  motmot = derive2 { name="motmot"; version="2.1.3"; sha256="09qsyc4ifdl316kjqqkarmflpjcd0ivkhx5fzi3502anj6dxpjnq"; depends=[ape caper coda ks mvtnorm Rcpp]; };
   motoRneuron = derive2 { name="motoRneuron"; version="1.0.0"; sha256="1hdsf4c1v5hfaqpi5y1v60zqq5fdmlqdvzpsq77diclp9vzdshja"; depends=[dygraphs ggplot2]; };
   moult = derive2 { name="moult"; version="2.1.0"; sha256="0k0969fwy648x25xw42w5ncimyw2cbq305rzf4m77p3pf0k50m9b"; depends=[Formula Matrix]; };
   mountainplot = derive2 { name="mountainplot"; version="1.2"; sha256="1bbgkps1yhfa0lmapqkhhl5mc63p0gzszxw2g910dbi1cjc0pphx"; depends=[lattice]; };
   mousetrack = derive2 { name="mousetrack"; version="1.0.0"; sha256="0lf0xh0c3xl27nh5w8wwyrm2jfzfajm2f73xjdgf746dp365qc8n"; depends=[pracma]; };
-  mousetrap = derive2 { name="mousetrap"; version="3.1.2"; sha256="0kk5i0xzxbcdjx9i2ck429z8pa98rxrqcb5xvck5k9fisprp5xi6"; depends=[cstab diptest dplyr fastcluster fields ggplot2 magrittr pracma psych RColorBrewer Rcpp scales tidyr]; };
+  mousetrap = derive2 { name="mousetrap"; version="3.1.3"; sha256="0c3jnw2jwdrmvkcwlz8gp10pljix4l41yn3jnzxcsz6l3ib50mgr"; depends=[cstab diptest dplyr fastcluster fields ggplot2 magrittr pracma psych RColorBrewer Rcpp scales tidyr]; };
   movMF = derive2 { name="movMF"; version="0.2-4"; sha256="0j5gp1l374479lsijw1hz00pxs09zzh7hapljv80lsvr24vfscpa"; depends=[clue skmeans slam]; };
-  move = derive2 { name="move"; version="3.2.0"; sha256="0fhanwxbsxs35dz7lkip390qvm9cc2rx6gc4irfgkzn0f8swzjqk"; depends=[geosphere httr memoise raster Rcpp rgdal sp xml2]; };
+  move = derive2 { name="move"; version="3.2.2"; sha256="14wmiyk52iar90kbzi6ksl75i0kg2nmsq08sms9rr2wgswr9f7km"; depends=[geosphere httr memoise raster Rcpp rgdal sp xml2]; };
   moveHMM = derive2 { name="moveHMM"; version="1.7"; sha256="031msh427hgjyr37imalr7smd79yqscw9xq5rjrixxc2w5qly9jj"; depends=[boot CircStats geosphere ggmap ggplot2 MASS numDeriv Rcpp RcppArmadillo sp]; };
-  moveVis = derive2 { name="moveVis"; version="0.10.2"; sha256="18crhndhgnhd73r7yx3660z0328vrng94ihm5g8brq2b4iz1wxw3"; depends=[av cowplot curl dplyr geosphere ggplot2 gifski lubridate magick magrittr move pbapply plyr raster RStoolbox sf slippymath sp zoo]; };
+  moveVis = derive2 { name="moveVis"; version="0.10.3"; sha256="1sphh8v16k0qis1ajc81sg0lb3dca7mf0wz4khlxra8sg6cj4gk2"; depends=[av cowplot curl dplyr geosphere ggplot2 gifski lubridate magick magrittr move pbapply plyr raster RStoolbox sf slippymath sp zoo]; };
   moveWindSpeed = derive2 { name="moveWindSpeed"; version="0.2.3"; sha256="14a2iymn4j831xlh42z5qxmhnh7xpp5bxasgpkhnb3v0b5ldyilh"; depends=[move Rcpp]; };
-  movecost = derive2 { name="movecost"; version="0.2"; sha256="1y8wsh6pbg2504y1mvkl608mwxpa9j7rs18b2aiqjkq7g057cmq5"; depends=[gdistance raster rgdal rgeos sp]; };
+  movecost = derive2 { name="movecost"; version="0.3"; sha256="0lrnk09sdbamxc4xhrkgggjcim1xhbsnq13f3ysadn7d1rjazl9i"; depends=[gdistance raster rgdal rgeos sp]; };
   mozzie = derive2 { name="mozzie"; version="0.1.0"; sha256="09dwrv4r0hi19gzi1vpif3q4wlbny9h22430g1hhv0wkqs86mhmw"; depends=[]; };
   mp = derive2 { name="mp"; version="0.4.1"; sha256="0awvwqwb25q47j14b450k1k5mh2yzwhn7gizjv5j7lyiamk30iwq"; depends=[Rcpp RcppArmadillo]; };
   mpa = derive2 { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
-  mpath = derive2 { name="mpath"; version="0.3-17"; sha256="1pk8bkp8y8gyydil33p5fwx440zgrmz3svf4zjbxhdqng9gl10xj"; depends=[bst doParallel foreach glmnet MASS numDeriv pscl]; };
+  mpath = derive2 { name="mpath"; version="0.3-20"; sha256="14nkh161bwdja6b1gycijids387714pk1fhbrljphsilvldv3682"; depends=[bst doParallel foreach MASS numDeriv pscl]; };
   mpbart = derive2 { name="mpbart"; version="0.2"; sha256="1145n0lxmm0kjm2lc358d79hqws48crj17pjvmchl1pbfd7zi4r8"; depends=[bayesm cvTools mlbench mlogit]; };
   mpcmp = derive2 { name="mpcmp"; version="0.1.3"; sha256="11j12ns04g2xdw5r34x86bacwacf3618rzpqz8wvfs1l192l001c"; depends=[]; };
   mpcv = derive2 { name="mpcv"; version="1.1"; sha256="0vwycspiw9saj811f6alkbijivy7szpahf35bxn2rpn2bdhbn21i"; depends=[lpSolve]; };
@@ -10048,19 +10468,21 @@ in with self; {
   mppR = derive2 { name="mppR"; version="1.2.0"; sha256="0ij1r4pihlm79mywacz5fmgd6nww9026mp9a3hamslpn68pflvpz"; depends=[ggplot2 igraph qtl]; };
   mppa = derive2 { name="mppa"; version="1.0"; sha256="06v6vq2nfh4b407x2gyvcp5wbdrcnk3m8y58akapi66lj8xplcx4"; depends=[]; };
   mpr = derive2 { name="mpr"; version="1.0.4"; sha256="13fqvndwxzqa1safa43ad90pkiqnpqmgr0pkwp8lwmnxqmrmj0jb"; depends=[survival]; };
-  mpt = derive2 { name="mpt"; version="0.6-0"; sha256="02r6wqlq9l6cvjhwgmhjbijk7c0rzaxdvc9j5lnascm2d55npfj3"; depends=[]; };
+  mpt = derive2 { name="mpt"; version="0.6-1"; sha256="13f48nflz6b3dk1d22ndfn22sdkz1rzhbh8c85lxk23qhfyc6fv6"; depends=[]; };
   mptools = derive2 { name="mptools"; version="1.0.1"; sha256="1g4fbfwxv9hir0jn22nh9854blgkh0b5jan3lv0888izj4isa1hc"; depends=[animation lattice latticeExtra raster rasterVis sp viridis zoo]; };
   mr_raps = derive2 { name="mr.raps"; version="0.2"; sha256="069vyvsdgc5m7n2fd0h7jrllz789zvsxka7h5wiy36dc7lagd6f8"; depends=[nortest]; };
-  mrMLM = derive2 { name="mrMLM"; version="3.1"; sha256="0mmnqgirbihq25fcy7bqs6qsw9dz6v1mzlm5ccs6pfpi852460c9"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars MASS ncvreg openxlsx qqman sampling stringr]; };
-  mrMLM_GUI = derive2 { name="mrMLM.GUI"; version="3.2"; sha256="0xhbkvq9bd0spnpd8acnmf3spsi1kz43wf2na5b122iv7ppwl3ix"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars MASS mrMLM ncvreg openxlsx qqman sampling shiny shinyjs stringr]; };
+  mrMLM = derive2 { name="mrMLM"; version="4.0"; sha256="03y8gsnz1xwjb5imzgs0iv7hfyajfxag2fjyg1s8qwbvl1s6w04c"; depends=[coin data_table doParallel foreach ggplot2 lars ncvreg qqman sampling sbl]; };
+  mrMLM_GUI = derive2 { name="mrMLM.GUI"; version="4.0"; sha256="0jl61rc642mqg9gmil6vdfc9296srvs2vmfm43ds0f46ysbh8wpx"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars mrMLM ncvreg openxlsx qqman sampling sbl shiny shinyjs]; };
   mra = derive2 { name="mra"; version="2.16.11"; sha256="0268msdy4cs2ifpagmwiabi6aav54ckn214ai18aqv2h97hmixw0"; depends=[]; };
   mratios = derive2 { name="mratios"; version="1.4.0"; sha256="0pjcwqx3zykpwyykwgqziwignd41sjm2s1blyjwc1lhymis4ldzq"; depends=[mvtnorm]; };
+  mrbayes = derive2 { name="mrbayes"; version="0.1.0"; sha256="0p0a1g6xv7g3scmn290ja4bicbdz5c9y6c4hfn4c7advd6ha6ang"; depends=[]; };
   mrbsizeR = derive2 { name="mrbsizeR"; version="1.1.1"; sha256="0a69yyxxf4p84c2sx9kkaxgpfyck88cn0ajlnm64arrr9r99iiir"; depends=[fields maps Rcpp]; };
   mrds = derive2 { name="mrds"; version="2.2.0"; sha256="08m5a61rpbw5pv0v0yspihkzihcxazsh6w5kmfvg68s4akjwcnqi"; depends=[mgcv numDeriv optimx Rsolnp]; };
   mreg = derive2 { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; };
   mregions = derive2 { name="mregions"; version="0.1.6"; sha256="0ix77hqcllhcpldchlnvciiflm6ysylynnnqvczpf8vx7gwa3lrk"; depends=[data_table httr jsonlite rappdirs sp tibble wellknown xml2]; };
   mrfDepth = derive2 { name="mrfDepth"; version="1.0.11"; sha256="0x4z4agwbzlyzbkf6aj7y9061cm05dvhzpg05wc7k59xbq1ns1sv"; depends=[abind geometry ggplot2 matrixStats Rcpp RcppArmadillo RcppEigen reshape2]; };
-  mrgsolve = derive2 { name="mrgsolve"; version="0.9.2"; sha256="1y3dh5myswghals4nz2m4jb8qk3q6dzgnqm0bf4dilzgpbj3gdx6"; depends=[BH dplyr magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
+  mrfse = derive2 { name="mrfse"; version="0.1"; sha256="156qy6g2s6cxyd1ijzn709jniml6308gdzvkzcks5q6s7gs9sl2m"; depends=[]; };
+  mrgsolve = derive2 { name="mrgsolve"; version="0.10.0"; sha256="1z2i3sl5s6z1pk3fy324zfm9gpdzr1g4af2fhrwhsdk97l6580ij"; depends=[BH dplyr magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
   mri = derive2 { name="mri"; version="1.0.1"; sha256="1dssq556kid6c3djp0s6v853cranv2wjs2c9521l5ykg5g33hfmv"; depends=[]; };
   mritc = derive2 { name="mritc"; version="0.5-1"; sha256="12sfyw5b1lryczl92xvyvhl37qfx3ybg4y9awsl0b7f51zi0lzy3"; depends=[lattice misc3d oro_nifti]; };
   mro = derive2 { name="mro"; version="0.1.1"; sha256="00gc2hd8q5hb2xrswclcqqw1gxl83zmpma6bhsggg3kppsw1dpjv"; depends=[MASS matrixcalc]; };
@@ -10071,7 +10493,7 @@ in with self; {
   msaR = derive2 { name="msaR"; version="0.3.0"; sha256="0lj9yhsissr4rgavyhgdxi2nrkq2088darzraisx9jsirjr49jf8"; depends=[ape htmlwidgets]; };
   msaenet = derive2 { name="msaenet"; version="3.1"; sha256="067p97z54dwhxy0w4ihi8dddcbvglh8ssynbh29fl9jyxfwjr1ms"; depends=[foreach glmnet Matrix mvtnorm ncvreg survival]; };
   msap = derive2 { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
-  mschart = derive2 { name="mschart"; version="0.2.4"; sha256="0499yrdhrihcj6l334nf7abjpzph0ziwwscbzxa25xldv4qrviq2"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
+  mschart = derive2 { name="mschart"; version="0.2.5"; sha256="08j342slv4ca6qkd12hh7jmmv5wv6kfxamw34dr6sd89kzrfdj0p"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
   mscstexta4r = derive2 { name="mscstexta4r"; version="0.1.2"; sha256="1hjcasmn33xav2mw085lcndv0432l6sz327aikf63491wj1sj7mw"; depends=[dplyr httr jsonlite pander stringi]; };
   mscstts = derive2 { name="mscstts"; version="0.5.2"; sha256="1zvicr1c9lh7cscbx7j5d98zkjwq7piggyz6ssz19gpp2gfc4igy"; depends=[httr jsonlite tuneR]; };
   mscsweblm4r = derive2 { name="mscsweblm4r"; version="0.1.2"; sha256="031s00wpr9zfjpii56m67q1phn05vqlhb8cfzhyf6fbrxvpb8k7n"; depends=[httr jsonlite pander]; };
@@ -10081,31 +10503,31 @@ in with self; {
   msgl = derive2 { name="msgl"; version="2.3.9"; sha256="0793d12cd1mcnr97byhfwpnvm329w78f56n7dcs4116hlizp8l9h"; depends=[BH Matrix Rcpp RcppArmadillo RcppProgress sglOptim]; };
   msgpackR = derive2 { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
   msgps = derive2 { name="msgps"; version="1.3.1"; sha256="0r8i0sw412jr148bid8sfpjcfbkf5589dqcqyvf5cm84cj7axnpz"; depends=[]; };
-  msigdbr = derive2 { name="msigdbr"; version="6.2.1"; sha256="1264j1hs74kq7hyh68vfynadfi6mdpq46qm1hnwzkzzhmbzpb9cg"; depends=[dplyr magrittr rlang tibble]; };
+  msigdbr = derive2 { name="msigdbr"; version="7.0.1"; sha256="19p8z617m3my8la7n1qgb1s2msf940r372im3q30qkbcx3qxg3sd"; depends=[dplyr magrittr rlang tibble]; };
   msir = derive2 { name="msir"; version="1.3.2"; sha256="0pvc3q162vqq3k39nni732x05zzfz4y9y2zf56d83185ypszv9kb"; depends=[mclust]; };
   msltrend = derive2 { name="msltrend"; version="1.0"; sha256="1rwy77ijf3hzq2zp47cijwvqcq34rdlfxwhrd9l56bvmlmzr1dqx"; depends=[changepoint forecast plyr Rssa tseries zoo]; };
   msm = derive2 { name="msm"; version="1.6.7"; sha256="0fp2s8jbj75wf4mk03rp5pzjkrmwd1rp4m5dxz83w0qn37vc00vm"; depends=[expm mvtnorm survival]; };
-  msma = derive2 { name="msma"; version="1.2"; sha256="0pxf7vwyhqds42pj6pbbbaxjmvis8i9hallf0lfg4552axiad5id"; depends=[mvtnorm]; };
+  msma = derive2 { name="msma"; version="2.0"; sha256="15g8cwafbd5bsff3cd53yzgxacsswgl0rzygr40drs7nwsi4qbk1"; depends=[mvtnorm]; };
   msme = derive2 { name="msme"; version="0.5.3"; sha256="0mq57zdas1s87nblnvbif9lisgahfhvmabglvp9imr1mvpwybpbh"; depends=[lattice MASS]; };
   msmtools = derive2 { name="msmtools"; version="1.3"; sha256="0p7xpj78cjc1s015ma7vc38kqiy6wvpyixrdinx4ngig1pqfrq4p"; depends=[data_table msm survival]; };
   msos = derive2 { name="msos"; version="1.1.0"; sha256="1dlqmjz5f8h71334kzdjbzvkn0dhysp7fb18g45qqs79cqpf1vzf"; depends=[mclust tree]; };
+  mssm = derive2 { name="mssm"; version="0.1.3"; sha256="1d1iksvm97g42p4y3jfzrk0xf4bbw8n237dcmy9jjyaw9vlxw61h"; depends=[nloptr Rcpp RcppArmadillo testthat]; };
   mssqlR = derive2 { name="mssqlR"; version="1.0.0"; sha256="0qdnm7cx9cg14vfcnkmcjqr1jpxsw8xlrbnxldvzz44mzv2n878l"; depends=[magrittr RODBC]; };
   mstR = derive2 { name="mstR"; version="1.2"; sha256="0v8cv9pswkvw0lva6jx5vavsb20dawgq83gn4rgydyhvigcl5szd"; depends=[]; };
   mstate = derive2 { name="mstate"; version="0.2.11"; sha256="13kw1n1p2f1f0k5hkcc4732wlhiy3csx8nx2ajrgw06svzksgh3y"; depends=[RColorBrewer survival]; };
   mstherm = derive2 { name="mstherm"; version="0.4.7"; sha256="04jrp0w17svwmrvx356jmh04npbwhk9nvfy3r39vqr82yrvn6jip"; depends=[doParallel foreach nls2 plotrix RColorBrewer]; };
   mstknnclust = derive2 { name="mstknnclust"; version="0.1.0"; sha256="1q7cx4yjgdvwkjfx07dywlh02zd3002165wh88aqhs3999jhnpnz"; depends=[amap igraph]; };
-  mstrio = derive2 { name="mstrio"; version="10.11.1"; sha256="1k407b75kfvqlvlr9wcklf81b2cby3yi6jdi5ka661n5rybcs4nn"; depends=[httr jsonlite openssl]; };
+  mstrio = derive2 { name="mstrio"; version="11.1.4.25"; sha256="017g2y0imfhn6d9k1fa1h9ckln6mmn7adn5dj2fa8mdf6mygbxdb"; depends=[httr jsonlite miniUI openssl R6 rstudioapi shiny shinyjs]; };
   msu = derive2 { name="msu"; version="0.0.1"; sha256="1vhh9725dbywmzihnmsq1jircpn91r8227j2f76fvma9rwss90p7"; depends=[entropy]; };
   mtconnectR = derive2 { name="mtconnectR"; version="1.2.1"; sha256="0hl46h535mjqwgrhmxlixhfsych3blzcynffp55nr1ynrra4dn06"; depends=[data_table dplyr dtw ggplot2 lubridate magrittr plyr proxy stringr tidyr XML]; };
   mthapower = derive2 { name="mthapower"; version="0.1.1"; sha256="0g6dn0qn7z6qc1gbzspy1n7b803427bc9fv5yqk7j8i1is1p8h94"; depends=[]; };
   mtk = derive2 { name="mtk"; version="1.0"; sha256="0vq2xlxf86l92fl91qm8m4yfjyz1h8szmwxiics7sc9f0as0dkmy"; depends=[lhs rgl sensitivity stringr XML]; };
   mtsdi = derive2 { name="mtsdi"; version="0.3.5"; sha256="0j4hl690n8x7zfpygw5qv0m0jyl8dnz1d3r4314w06h7c578n2kp"; depends=[gam]; };
-  muHVT = derive2 { name="muHVT"; version="0.2.1"; sha256="0qndbg9m3267s8h7gphcm4rkchfgkyzd1301wr6iajv0shrc98rv"; depends=[conf_design deldir dplyr ggplot2 Hmisc magrittr MASS purrr sp splancs]; };
   muRL = derive2 { name="muRL"; version="0.1-11"; sha256="1pyspp1wpd80hcla1zwnl3misqggfk0ls54akwnx5aa617bibzz8"; depends=[maps stringr]; };
   muRty = derive2 { name="muRty"; version="0.3.0"; sha256="1125182flpz6a90dh3gldyhlnh9l605cb59b92j3d0p754ansdrm"; depends=[clue lpSolve]; };
   muStat = derive2 { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; };
   muckrock = derive2 { name="muckrock"; version="0.1.0"; sha256="16lm1iiaaws7clby7qgblqdiznw6abjjgvsxlfpza7l2xdvplxpg"; depends=[]; };
-  mudata2 = derive2 { name="mudata2"; version="1.0.6"; sha256="0crknwlnnr1x6hvlmfny8b5x7d2wp5v4y20kbqc2n8linrc63s97"; depends=[dplyr fs ggplot2 jsonlite lubridate magrittr readr rlang stringr tibble tidyr tidyselect withr]; };
+  mudata2 = derive2 { name="mudata2"; version="1.0.7"; sha256="11njbm97ipzlkjx9vbijq5i1s3w509bgj1g2mgz1h624qa0lf5pa"; depends=[dplyr fs ggplot2 jsonlite lubridate magrittr readr rlang stringr tibble tidyr tidyselect withr]; };
   mudens = derive2 { name="mudens"; version="1.3.2"; sha256="18kv8xfmmmk0dyw64lwrlrks0gana0s7gaff6nxs59ndgb1pj6yp"; depends=[Rcpp survival]; };
   mudfold = derive2 { name="mudfold"; version="1.1.1"; sha256="1lxlzzjvjqyivc8g8z6f8s0zkxf0k6mi76y5zm36r1kalhxyhkdy"; depends=[boot ggplot2 gtools reshape2 zoo]; };
   mueRelativeRisk = derive2 { name="mueRelativeRisk"; version="0.1.1"; sha256="16yclfmgxc32pv00vyb9fjdh4syax8ynizr8a29haiq22q5fqclh"; depends=[]; };
@@ -10113,46 +10535,47 @@ in with self; {
   muir = derive2 { name="muir"; version="0.1.0"; sha256="0h3qaqf549v40ms7c851sspaxzidmdpcj89ycdmfp94b2q3bmz98"; depends=[DiagrammeR dplyr stringr]; };
   mulset = derive2 { name="mulset"; version="1.0.0"; sha256="0pigiy6hfiqh6x4zx6zqn3ykk36s3abzzyb67jdlf4jzc5zhrl9g"; depends=[digest gtools]; };
   multDM = derive2 { name="multDM"; version="1.0"; sha256="06vjbsjmqdnndpqacfpgq5w8q6xg81s7vd9fhwdkww3adr7r8cg3"; depends=[]; };
+  multbxxc = derive2 { name="multbxxc"; version="1.0.1"; sha256="1ip5awjc2ljpy6nsr4y42x0yg4n7lyaxp9kzfjvwp41k9lriz4gm"; depends=[Rcpp RcppArmadillo rmumps]; };
   multcomp = derive2 { name="multcomp"; version="1.4-10"; sha256="1kzmdn9jmz5bmhf3wsfr12ljbasmwsgcsfdia52k0bi6q0swdg19"; depends=[codetools mvtnorm sandwich survival TH_data]; };
   multcompView = derive2 { name="multcompView"; version="0.1-7"; sha256="18gfn3dxgfzjs13l039l2xdkkf10fapjjhxzjx76k0iac06i1p7i"; depends=[]; };
   multdyn = derive2 { name="multdyn"; version="1.6"; sha256="06yab2lmxp7lc7zjk8n194mn5vza0yjbp276iair3ry35my4h3v8"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
   multfisher = derive2 { name="multfisher"; version="1.1"; sha256="0vzvq7v2xz35fx8pg25c9xqkic09k6fcg9zh81j7pgqmzi2wwrp8"; depends=[]; };
   multgee = derive2 { name="multgee"; version="1.6.0"; sha256="17qrfvxxapqzjy2ps7kk9k9hkmb9zdxflwclyagp1amgv50la49f"; depends=[gnm VGAM]; };
-  multiApply = derive2 { name="multiApply"; version="2.0.1"; sha256="0kdbv76kp03cwh1fhgf2llkql8z0zlqqzwb6khywclm6y9dwd7n6"; depends=[doParallel foreach plyr]; };
+  multiApply = derive2 { name="multiApply"; version="2.1.1"; sha256="1vsknqzwkimmb9axa72slzpzij4mvkcy3578i7xjx3grfa6kbnlh"; depends=[doParallel foreach plyr]; };
   multiAssetOptions = derive2 { name="multiAssetOptions"; version="0.1-1"; sha256="1kb4qxyl9shvrpqfxq26lhh3sssmyjcnhhcl6gcbb0s86snh9ms9"; depends=[Matrix]; };
   multiCA = derive2 { name="multiCA"; version="1.1"; sha256="1vgb13cfq10g8hxykgi3is3mrlbm76vh40cznapl7xxmw226ccrl"; depends=[bitops multcomp]; };
   multiColl = derive2 { name="multiColl"; version="1.0"; sha256="01csf5gjk2wrv6d0m1j23gk6dcixck318ywfq1a1a0j1dl9wmvx4"; depends=[]; };
-  multiDimBio = derive2 { name="multiDimBio"; version="1.1.1"; sha256="0b0lymnli7w91bfd67dsvzbj3flxsrsmbg4a18mzch0j9y6a40x0"; depends=[ggplot2 gridGraphics lme4 MASS misc3d pcaMethods RColorBrewer]; };
+  multiDimBio = derive2 { name="multiDimBio"; version="1.2.1"; sha256="1zykfchfl4icjp5y2pjd5vlfrpzhd13xbh2fy3indhh6kdzbdkyy"; depends=[ggplot2 gridGraphics lme4 MASS misc3d pcaMethods RColorBrewer]; };
   multiPIM = derive2 { name="multiPIM"; version="1.4-3"; sha256="0j7d0cgs8zcyiyibzmfhcandad76sf4gm57wkcv98bf96wkls58l"; depends=[lars penalized polspline rpart]; };
   multiRDPG = derive2 { name="multiRDPG"; version="1.0.1"; sha256="0r6n148pakixw4caj0zwib8zirgl98lm0mxqmhvmqjh389icskxc"; depends=[]; };
   multiROC = derive2 { name="multiROC"; version="1.1.1"; sha256="15ydbxpkdyvsc55di13jvwh9p6dzxc1yj93w1cwsd8jp2y10wsd3"; depends=[boot magrittr zoo]; };
   multiband = derive2 { name="multiband"; version="0.1.0"; sha256="1f4gmy0yf9zid7kl05zncvvig6hs4nl1h9wkrkc24rxx9risw9k9"; depends=[]; };
   multibiplotGUI = derive2 { name="multibiplotGUI"; version="1.0"; sha256="0ig7r4p8mq594cjwclbqwjk8saqkvjqjbbnnxj1hc1sdj7qdlcpf"; depends=[cluster dendroextras Matrix rgl shapes tcltk2 tkrplot]; };
-  multicastR = derive2 { name="multicastR"; version="1.1.0"; sha256="1wxa3d42aapa081kiial1y5n3362k5b8sxncizs570bjkajg8i5q"; depends=[data_table gsubfn stringi XML xml2 xtable]; };
+  multicastR = derive2 { name="multicastR"; version="1.3.0"; sha256="07y3a7apk6pjnfqki52jc5vbzb1w53fla7wcpc184f4zpqfc783q"; depends=[curl data_table gsubfn stringi XML xml2 xtable]; };
   multichull = derive2 { name="multichull"; version="1.0.0"; sha256="1gc7kxxlbanc6rmmbf6h85jf7kj0a78h23m5vwwqqliv018qsv2n"; depends=[igraph plotly shiny shinythemes]; };
   multicmp = derive2 { name="multicmp"; version="1.1"; sha256="0mz7ksc5h6dy95l3kbsamm191372blhlrj573krc57bj93lmp1a5"; depends=[numDeriv]; };
   multicolor = derive2 { name="multicolor"; version="0.1.3"; sha256="0jniqa8zrl13534pyl200i54m52lhfwq7h7irf806ga70lvfgk0k"; depends=[cowsay crayon dplyr glue magrittr purrr stringi stringr tibble tidyr]; };
   multicon = derive2 { name="multicon"; version="1.6"; sha256="16glkgnm4vlpxkhf1xw1gl1q10yavx9479i21v29lldag35z8pqx"; depends=[abind foreach mvtnorm psych sciplot]; };
   multicool = derive2 { name="multicool"; version="0.1-10"; sha256="1ybg9piya9psqg42w9i3zsnavbxhkfklfwl7cb420i5nkq6wpc2v"; depends=[Rcpp]; };
-  multicross = derive2 { name="multicross"; version="1.0.0"; sha256="1nbdq1nmgyg00qx6fclnx0nbbx7k6lrx149p0d5ckj5q19jdnmdf"; depends=[crossmatch MASS nbpMatching]; };
+  multicross = derive2 { name="multicross"; version="2.0.0"; sha256="1ic632ig0mzvq00hrkjs8vfa5mzp8vwrqflfqfdr5wkdvcqqnhbb"; depends=[AnnotationDbi crossmatch MASS Matrix nbpMatching org_Ce_eg_db org_Hs_eg_db org_Mm_eg_db Seurat]; };
   multifluo = derive2 { name="multifluo"; version="1.1"; sha256="1hnh1gj6lfnh2fn0v064bszydgsr6p9f7p8yxyw5rdxfrxymiw09"; depends=[agricolae ellipse imager]; };
   multifwf = derive2 { name="multifwf"; version="0.2.2"; sha256="1l6z3pzz6g6w1spp1f918jh6w0jm93qyc882rj8jhn1198d2s8nd"; depends=[]; };
-  multigraph = derive2 { name="multigraph"; version="0.91"; sha256="1ind8zqqcy4k97sdimn7bn85nbqwda92z0dp80kilcsvlhf47y35"; depends=[multiplex]; };
+  multigraph = derive2 { name="multigraph"; version="0.92"; sha256="1wxia62qjy94cbcpf85nyxba6gb9d9607pkqhgy2dc5dyhhw61vs"; depends=[multiplex]; };
   multigroup = derive2 { name="multigroup"; version="0.4.4"; sha256="1r79zapziz3jkd654bwsc5g0rphrk9hkp1fpik8jvjsa1cix40mq"; depends=[MASS]; };
   multilaterals = derive2 { name="multilaterals"; version="1.0"; sha256="11zfdhn6qzqz0n31g23bn40wnfzkjndb753iiqvihirphzb74v5v"; depends=[ape igraph]; };
   multilevel = derive2 { name="multilevel"; version="2.6"; sha256="19zrvpq23dn69d7kai1rgw5b8ibmgybnbg6isliq0n8bv9jvrzia"; depends=[MASS nlme]; };
   multilevelMatching = derive2 { name="multilevelMatching"; version="1.0.0"; sha256="11xb52z4pkikpbba98pviy2zvggf5dlqqd987vd8f3r7wxqpl2rk"; depends=[boot MASS Matching nnet]; };
   multilevelPSA = derive2 { name="multilevelPSA"; version="1.2.5"; sha256="0926jaicdxk846vyfphb2hyg3zan3wal44x1bwamws0zf4flc4hj"; depends=[ggplot2 MASS party plyr PSAgraphics psych reshape xtable]; };
-  multimark = derive2 { name="multimark"; version="2.1.0"; sha256="1c33m33hi7s3ap310hm9y6b0ji020paislsiixa4qp4608r3cg0j"; depends=[Brobdingnag coda doParallel doRNG foreach Matrix mvtnorm prodlim raster RMark sp statmod]; };
+  multimark = derive2 { name="multimark"; version="2.1.1"; sha256="08m25qg9w691i3sj023hbca5p3523nfi3kb25wk4abm97ixzf0s3"; depends=[Brobdingnag coda doParallel doRNG foreach Matrix mvtnorm prodlim raster RMark sp statmod]; };
   multimode = derive2 { name="multimode"; version="1.4"; sha256="142k2jbi6y9aaqz9cwl4wk2m1y1n1fgvk873nk3psdv2h6r77slx"; depends=[diptest ks rootSolve]; };
   multinbmod = derive2 { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
-  multinet = derive2 { name="multinet"; version="3.0.3"; sha256="1dazqilfn5ws0v55h5v75n27jhgv964gdv1n5rkfjzgzrcp1djxj"; depends=[igraph RColorBrewer Rcpp]; };
+  multinet = derive2 { name="multinet"; version="3.1.0"; sha256="0skxk1h7ax11mlc7pffb7m5p86baamcc8d6v93y9vz91j8304g5w"; depends=[igraph RColorBrewer Rcpp]; };
   multinets = derive2 { name="multinets"; version="0.2.1"; sha256="00h1nqi49mix5rxp39i46pimmr3rl0c2869g7ss8cy0kl8hl41hz"; depends=[igraph igraphdata Rcpp]; };
   multinomRob = derive2 { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[MASS mvtnorm rgenoud]; };
   multinomineq = derive2 { name="multinomineq"; version="0.2.1"; sha256="09h5nccfcrnl78rdxwsw5cqirfq40a6x4dmpkibc475z3xndk2rm"; depends=[coda quadprog Rcpp RcppArmadillo RcppProgress RcppXPtrUtils Rglpk]; };
   multipanelfigure = derive2 { name="multipanelfigure"; version="2.0.2"; sha256="0f24b0msx6y9ccdi65d8rxf589vw5rz6pxwa55bivq8cy5s4gc27"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_types ggplot2 gridGraphics gtable magick magrittr stringi]; };
   multipleNCC = derive2 { name="multipleNCC"; version="1.2-1"; sha256="080wpyifpw41p6jip2ia7439jdhzyb7lbhs2qzzg0hn6c0qq7mrr"; depends=[mgcv survival]; };
-  multiplex = derive2 { name="multiplex"; version="2.9"; sha256="1na0w4kzaswgzyw4wq8qmihasgbvbl426a2cx3y672l80rgjhhdh"; depends=[]; };
+  multiplex = derive2 { name="multiplex"; version="2.9.2"; sha256="1qwxyzm4i33siybh65qny6bbmv039kdp7mfd5cbbx252qrz9379s"; depends=[]; };
   multipol = derive2 { name="multipol"; version="1.0-7"; sha256="1rkrg3kayxa05jayg8bk1mm3hcvi76570wqfja5953hd9j4krgha"; depends=[abind]; };
   multirich = derive2 { name="multirich"; version="2.1.1"; sha256="04jr5jvds70j2psyxz12d2my61jcj5hvdyv10pvar2rpqaw0yxyh"; depends=[]; };
   multiselect = derive2 { name="multiselect"; version="0.1.0"; sha256="1cda38zq7c1r56wdfpr5dg0jfw4kzi9p7jq59qm04j461j9ag3q6"; depends=[Hmisc]; };
@@ -10160,15 +10583,15 @@ in with self; {
   multisom = derive2 { name="multisom"; version="1.3"; sha256="0msxmrj4iawxg4vf4r7kj26zalxz4di2w4nxgxiakiig4g4ggy9z"; depends=[class kohonen]; };
   multispatialCCM = derive2 { name="multispatialCCM"; version="1.0"; sha256="1fzd91w10iln8qb81z240lq3fi4gq22l4rh9npkav6fiq6g6rlp8"; depends=[]; };
   multistate = derive2 { name="multistate"; version="0.2"; sha256="0jdgyzc99k4py39g98c4dlcdl918568ihcyhb7csxbsn1zn1qm9l"; depends=[date relsurv statmod survival]; };
-  multistateutils = derive2 { name="multistateutils"; version="1.2.2"; sha256="135rjk16k85g3j3dw5pzz98waw7g3ixjdbkl7gqmngndyc3mlii9"; depends=[data_table dplyr magrittr networkD3 Rcpp tidyr webshot]; };
+  multistateutils = derive2 { name="multistateutils"; version="1.2.3"; sha256="00fs0mbx3vhs0xkcjxr1i44a2qi99bvhiikkm30m3kbalny5nn01"; depends=[data_table dplyr magrittr networkD3 Rcpp tidyr]; };
   multitaper = derive2 { name="multitaper"; version="1.0-14"; sha256="04wd9bbhyx7697pfy0fpj02v1csr48hkpqj62h9p8a6w84ji4k68"; depends=[]; };
   multivariance = derive2 { name="multivariance"; version="2.2.0"; sha256="1877yym7fhnjhjdfchpdjrcyz10w7flsvjq78s51y0km0rblycph"; depends=[igraph microbenchmark Rcpp]; };
   multivator = derive2 { name="multivator"; version="1.1-9"; sha256="0vbqvhmym46zjr1h4s53sjrddfjpv8wi0sq4lrh2rmqarq068416"; depends=[emulator mvtnorm]; };
-  multiviewtest = derive2 { name="multiviewtest"; version="1.0"; sha256="03m64cqwlx8fyridkms2rz4xwvql2lfijck5wisvd3ggv4bp9cgh"; depends=[matrixStats mclust]; };
+  multiviewtest = derive2 { name="multiviewtest"; version="2.0.0"; sha256="09svd9jbvn92vkaifr33vg5scyh6311kpkr0lgsdj6lycz9cb4q7"; depends=[doParallel foreach irlba Matrix matrixStats mclust randnet]; };
   multiwave = derive2 { name="multiwave"; version="1.4"; sha256="19581kjcyw86cnzhvhhpn997fixm811ggmvb8jkb3dsxg8vp60jc"; depends=[]; };
   multiway = derive2 { name="multiway"; version="1.0-6"; sha256="1y9cykarr2aysdrnyab5aklsrc5id5b58881q03lcb5kc385v3gv"; depends=[CMLS]; };
   multiwayvcov = derive2 { name="multiwayvcov"; version="1.2.3"; sha256="1znsmca16jac8s5z0j64cck27pvf88anm1mfblabqchqqcz1ykfc"; depends=[boot sandwich]; };
-  multxpert = derive2 { name="multxpert"; version="0.1"; sha256="03mvf4m0kabm22vy4zkj1cfh884larpj8cbgg3p9l3pag20snf1l"; depends=[mvtnorm]; };
+  multxpert = derive2 { name="multxpert"; version="0.1.1"; sha256="1lq5lgdjaaacipkjqxz6jxsm6b8zfbjsf7rs135a7n6w7qh35pvw"; depends=[mvtnorm]; };
   muma = derive2 { name="muma"; version="1.4"; sha256="0midx3wzyvcz8rk9kvsfll3xg41pkz40si4jw2ps54ykkf9rkm99"; depends=[bitops car caTools gplots gtools mvtnorm pcaPP pdist pls robustbase rrcov]; };
   mumm = derive2 { name="mumm"; version="0.2.1"; sha256="1wjg2pqn2wb9hk9mqgpi3k26qwjnkmp4apx09lxcwrz35bbwhfzv"; depends=[lme4 Matrix Rcpp RcppEigen stringr TMB]; };
   munfold = derive2 { name="munfold"; version="0.3.5"; sha256="17zizx9r0f8dxb7dkgn1nn0fp7ydy6r155p1zfz0v93jc26lc1hb"; depends=[MASS memisc]; };
@@ -10182,14 +10605,14 @@ in with self; {
   mutSignatures = derive2 { name="mutSignatures"; version="1.2"; sha256="1kbp221lm43a5wiw754yjkd3qidmca20m0i8jlxsqk8ijbp40ky2"; depends=[cluster doParallel foreach ggplot2 pracma proxy]; };
   mutoss = derive2 { name="mutoss"; version="0.1-12"; sha256="1yk7p7pb2xm38d3j19ysgwmix48lvimbhkhjjwk5jmr1a0ysx298"; depends=[multcomp multtest mvtnorm plotrix]; };
   mutossGUI = derive2 { name="mutossGUI"; version="0.1-11"; sha256="08pcca9gzns83az6jbjzv4xhm1wgmchhzz4f54x1aq0nmvsz3qq1"; depends=[CommonJavaJars JavaGD JGR multcomp mutoss plotrix rJava]; };
-  mvLSW = derive2 { name="mvLSW"; version="1.2.2"; sha256="19bz1hryw9jhw2y3cnx4bqykdqpfgdlnmkx7ka8i96yb5xg4791q"; depends=[fields wavethresh xts zoo]; };
+  mvLSW = derive2 { name="mvLSW"; version="1.2.3"; sha256="05g6v4jbg1km2215lxbwzx8frr4in7xal9pai3y6l23d66lvh1iz"; depends=[fields wavethresh xts zoo]; };
   mvMISE = derive2 { name="mvMISE"; version="1.0"; sha256="0lnc5g3ksl5cvwylh8p8baxyvq3z32a2i337q7lhg00j031ccy5c"; depends=[lme4 MASS]; };
   mvMORPH = derive2 { name="mvMORPH"; version="1.1.0"; sha256="0v63wi4la5kw59xdl1bmsc8hh8gfpm89s79dzrkbdkmakm740vvx"; depends=[ape corpcor glassoFast phytools spam subplex]; };
   mvMonitoring = derive2 { name="mvMonitoring"; version="0.1.0"; sha256="03nvq8nmrmrpzyxlsqzww5ghk640115l1jgmgwfahhjxkdpkzfxx"; depends=[BMS dplyr lazyeval plyr rlang robustbase xts zoo]; };
   mvPot = derive2 { name="mvPot"; version="0.1.4"; sha256="04l9dn8amwp366b6lic5fkl4kck0x2m3xcsqz6as4c3h772nhq1w"; depends=[evd gmp MASS numbers]; };
   mvProbit = derive2 { name="mvProbit"; version="0.1-8"; sha256="07dizclqjlwj29yb3xwjihjh8kmn6jiq5cpf8rcirylzykfdv3wk"; depends=[abind bayesm maxLik miscTools mvtnorm]; };
   mvQuad = derive2 { name="mvQuad"; version="1.0-6"; sha256="016477dhjdkqiadc631vzpbp967mn4yli6by3s1k348mlfirwsi3"; depends=[data_table statmod]; };
-  mvSLOUCH = derive2 { name="mvSLOUCH"; version="2.0.7"; sha256="0kcqjzsdpdclfifgbcnqg76kv4dpqsd2zajgrsgfzlhc6vvrqk42"; depends=[abind ape Matrix matrixcalc mvtnorm ouch PCMBase]; };
+  mvSLOUCH = derive2 { name="mvSLOUCH"; version="2.1"; sha256="0p9rappzbz68jhgia9w3kpiy0x2gzm74mc1ap2xcyvk13y9pgvyz"; depends=[abind ape Matrix matrixcalc mvtnorm ouch PCMBase]; };
   mvShapiroTest = derive2 { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; };
   mvabund = derive2 { name="mvabund"; version="4.0.1"; sha256="0la935gsiryfc0zixxr1dqj0av271x96pqxbi3bp6dksbw5gm68k"; depends=[MASS Rcpp RcppGSL statmod tweedie]; };
   mvbutils = derive2 { name="mvbutils"; version="2.8.232"; sha256="0awd0jy492ha321c20kmmgl20kqphdmrmswakc0rq6h8z9d55kdg"; depends=[]; };
@@ -10210,9 +10633,9 @@ in with self; {
   mvnmle = derive2 { name="mvnmle"; version="0.1-11.1"; sha256="131k2bnn6194y3f35r9cgys8g1z2y52123ng8iijpkpbfd147y92"; depends=[]; };
   mvnormtest = derive2 { name="mvnormtest"; version="0.1-9"; sha256="1iaxjwp7bgxhaa4xqvgqb61316mq2fb0452d0pabhmbxkvmvdnj6"; depends=[]; };
   mvnpermute = derive2 { name="mvnpermute"; version="1.0.0"; sha256="0mbyj5i5vysrnl3pgypl0cjf3sylsvzfl1pcxkn0q16560vqh2ba"; depends=[]; };
-  mvord = derive2 { name="mvord"; version="0.3.5"; sha256="04xbv0wyxccymmwqgx8gy5695rbcx2qyqf94zpf5ng39vmjs1mqb"; depends=[BB dfoptim MASS Matrix minqa mnormt numDeriv optimx pbivnorm ucminf]; };
+  mvord = derive2 { name="mvord"; version="0.3.6"; sha256="0xg73pa7bj42ya69w8bmcgf1nfxa5yh1aq8fc0dk0ygcg3h0g21k"; depends=[BB dfoptim MASS Matrix minqa mnormt numDeriv optimx pbivnorm ucminf]; };
   mvoutlier = derive2 { name="mvoutlier"; version="2.0.9"; sha256="1d562h3xicq962h27fi95qhrz9vkwxk0p8axhps1cy4b49w4bygi"; depends=[robCompositions robustbase sgeostat]; };
-  mvp = derive2 { name="mvp"; version="1.0-6"; sha256="0m6q2yha1lk2l83072yk3d9793hyci5frn4cjmssrl3xxs2crcnd"; depends=[magic magrittr mpoly partitions Rcpp]; };
+  mvp = derive2 { name="mvp"; version="1.0-8"; sha256="0i2fd9s0dlpaa4vwkiq5is2d4vxc90hkdl0yk57gl651i8nxwnha"; depends=[magic magrittr mpoly partitions Rcpp]; };
   mvprpb = derive2 { name="mvprpb"; version="1.0.4"; sha256="1kcjynz9s7vrvcgjb9sbqv7g50yiymbpkpg6ci34wznd33f7nrxm"; depends=[]; };
   mvrtn = derive2 { name="mvrtn"; version="1.0"; sha256="0k0k76wk5zq0cjydncsrb60rdhmb58mlf7zhclhaqmli1cy697k8"; depends=[]; };
   mvsf = derive2 { name="mvsf"; version="1.0"; sha256="1krvsxvj38c5ndvnsd1m18fkqld748kn5j2jbgdr3ca9m3i5nlwf"; depends=[mvnormtest nortest]; };
@@ -10222,7 +10645,7 @@ in with self; {
   mvtnorm = derive2 { name="mvtnorm"; version="1.0-11"; sha256="0lkjph661blc1nwfzg9w48a60wvj6ffh4zjwlisvracsx4nn2883"; depends=[]; };
   mvtsplot = derive2 { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; };
   mwa = derive2 { name="mwa"; version="0.4.1"; sha256="0bd4i1zzwmcsrm2bg14f528yav5hb6qxcd7x4i5rwdcx1hlx27bw"; depends=[cem MASS rJava]; };
-  mwaved = derive2 { name="mwaved"; version="1.1.6"; sha256="12anv9f1mgb4p6f497zax3hzdc2wfjmi2sjha27qsfp7bfglikjn"; depends=[Rcpp shiny]; };
+  mwaved = derive2 { name="mwaved"; version="1.1.7"; sha256="0g0yddsgdfyvqaj59qi6k3sknpbppdmgvq0rgnil5q8ki5skvgis"; depends=[Rcpp shiny]; };
   mwshiny = derive2 { name="mwshiny"; version="2.0.0"; sha256="07x36dymd79aziz8k3sfx7l82xzmv43pkwndsfv9ii58q7nli1hz"; depends=[shiny]; };
   mxkssd = derive2 { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
   myTAI = derive2 { name="myTAI"; version="0.9.1"; sha256="0pbyxbrbbaadi5k2yp79lr6r56gjq65hmin3ssr032xipgw0d97l"; depends=[doParallel dplyr edgeR fitdistrplus foreach ggplot2 gridExtra nortest RColorBrewer Rcpp RcppArmadillo readr reshape2 scales taxize tibble]; };
@@ -10235,18 +10658,19 @@ in with self; {
   nCal = derive2 { name="nCal"; version="2018.8-20"; sha256="1idgpzivw5wa423z86rf60ri50cyh8p38p4r493i9b2m9qzzqf1x"; depends=[drc gdata gWidgets kyotil]; };
   nCopula = derive2 { name="nCopula"; version="0.1.1"; sha256="03qbfvx0lg9prg52fk1jxar2bng2x6scac4g2c64kvp6vmf6x4mv"; depends=[copula Deriv stringi stringr]; };
   nFCA = derive2 { name="nFCA"; version="0.3"; sha256="1jyyzagmppm3i7vh3ia4ic0zql1w04f66z81v0zpdihd4cbl5ra7"; depends=[]; };
-  nFactors = derive2 { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[boot lattice MASS psych]; };
+  nFactors = derive2 { name="nFactors"; version="2.3.3.1"; sha256="0qylbwn064smdw2adyx1hxwy4m320g78ihllfnss4kkmxk0ki05z"; depends=[boot lattice MASS psych]; };
   nLTT = derive2 { name="nLTT"; version="1.4.1"; sha256="1m4q4s6dwl3yz403w8bpzxakcckd8wylws0hvh6ab72bin74fdid"; depends=[ape coda deSolve testit]; };
   nVennR = derive2 { name="nVennR"; version="0.2.1"; sha256="11qkwd8laf67iqyzx3ia424vykvsvy0k9d7labdgqfx2ihd95hh2"; depends=[Rcpp]; };
   na_tools = derive2 { name="na.tools"; version="0.3.1"; sha256="1lbzsckfg297n85kzbin65x1l6qgg9l50hd3xi2gflxc7n2xb8bw"; depends=[]; };
   nabor = derive2 { name="nabor"; version="0.5.0"; sha256="1nj39cdfwrmhgsi3cq8imxv3n6xzc1v6dzdb2cf2hybjk368v4s7"; depends=[BH Rcpp RcppEigen]; };
-  nadiv = derive2 { name="nadiv"; version="2.16.0.0"; sha256="0pfg9hbhcjgbfmakl1jqqaf9i07i5z5jk7sh2x7x7p4354z30z9y"; depends=[Matrix]; };
+  nadiv = derive2 { name="nadiv"; version="2.16.2.0"; sha256="0gvpl8jrczk9afc7qg6w8w0gn28nia5mh3vanlsp7j0kj3vzqqc5"; depends=[Matrix]; };
   naivebayes = derive2 { name="naivebayes"; version="0.9.6"; sha256="1rmpc7ynnl909m20njdy5nc7siqqlj5xra3ry41b0pgb966ijcdz"; depends=[]; };
-  naivereg = derive2 { name="naivereg"; version="1.0.1"; sha256="0wvyv54q3r4jz03jdbsmnxsinzpqcac6xjvzcrjjdzbkqfxicxal"; depends=[gmm grpreg]; };
+  naivereg = derive2 { name="naivereg"; version="1.0.2"; sha256="11prmwb6jc0la4w2qlmbr9n529sn4mv3zm9h80svg6gs119a9yb0"; depends=[gmm grpreg ncvreg]; };
+  nakagami = derive2 { name="nakagami"; version="1.0.0"; sha256="1i9m1nlqfdk9k3bzf8qlfc11spzfqly49n1pk7phvykzjgd1c1s4"; depends=[assertthat]; };
   namedCapture = derive2 { name="namedCapture"; version="2019.7.30"; sha256="12cnd16015ig0qx41gfkf7915iyzlaa7ixdv72x9vx3rylw86y4q"; depends=[]; };
   namer = derive2 { name="namer"; version="0.1.4"; sha256="0ika1imdrslfycbsg6zrssgghsc729ah4yvgjpv9kykppw098qwd"; depends=[dplyr fs glue magrittr purrr rstudioapi tibble]; };
   namespace = derive2 { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
-  nandb = derive2 { name="nandb"; version="2.0.4"; sha256="194lkrigcaa6vamd0060l9cf4ll7g57q2ljk4h4vddkqg31x91cj"; depends=[assertthat autothresholdr BBmisc checkmate detrendr dplyr filesstrings ggplot2 glue ijtiff magrittr purrr Rcpp reshape2 rlang stringr viridis withr]; };
+  nandb = derive2 { name="nandb"; version="2.0.5"; sha256="0y1lw79mpvyfbxfzjrdfnpgny4s2axbl23gl67fj45jrbjh56wxz"; depends=[assertthat autothresholdr BBmisc checkmate detrendr dplyr filesstrings ggplot2 glue ijtiff magrittr purrr Rcpp reshape2 rlang stringr viridis withr]; };
   naniar = derive2 { name="naniar"; version="0.4.2"; sha256="0qy3wgb4wixn01yyhbjf0dmx5xq42m4c3d46y2ysfj59181p39lm"; depends=[dplyr forcats ggplot2 glue magrittr purrr rlang tibble tidyr UpSetR viridis visdat]; };
   nanop = derive2 { name="nanop"; version="2.0-6"; sha256="007gdc93pk0vpfmsw7zgfma2k1045n2cxwwsyy276smy0ys9fdhp"; depends=[distrEx rgl]; };
   nanostringr = derive2 { name="nanostringr"; version="0.1.4"; sha256="1g1hm5kz2bl3qqs2cz4nhvmak7mbh5pry34lp6lwnbxrgi97i1iz"; depends=[assertthat ccaPP dplyr epiR magrittr purrr rlang]; };
@@ -10255,33 +10679,34 @@ in with self; {
   nardl = derive2 { name="nardl"; version="0.1.5"; sha256="1xi1fkwgkfc1b8qsgi4lrjx419778qk0vxzl23azcziwa6fha5p8"; depends=[Formula gtools strucchange tseries]; };
   narray = derive2 { name="narray"; version="0.4.1"; sha256="09n50shk2gy1m85kmvq8g3zh2nrikpllv8gph9x2id1p62rbqf1y"; depends=[progress stringr]; };
   nasadata = derive2 { name="nasadata"; version="0.9.0"; sha256="0y88qdy8c1y0prsajxic5vdqfixv9knjsbhw3vbfac8wv3a69bjl"; depends=[dplyr jsonlite plyr png]; };
-  nasapower = derive2 { name="nasapower"; version="1.1.1"; sha256="1445wz92fyhsfj93v4m7a53rc8p1x2m90m9w9v5zvpry4yq2y1kp"; depends=[APSIM crul curl jsonlite lubridate readr tibble]; };
+  nasapower = derive2 { name="nasapower"; version="1.1.3"; sha256="1grfbj68vxsy50a0zylgfddwgr3ilrk2v60755vra9ckpmnf31zi"; depends=[APSIM crul curl jsonlite lubridate readr tibble]; };
   nasaweather = derive2 { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
-  nat = derive2 { name="nat"; version="1.8.11"; sha256="1s5hbi1b20jq0qv4px0zrwsivhi2mdlqbwx4lv55mdhj447rxk1x"; depends=[digest filehash igraph nabor nat_utils plyr rgl yaml]; };
+  nat = derive2 { name="nat"; version="1.8.13"; sha256="12n81jzlzamnpkf5inczfc1x8qmfibszpkakpyc0q7r7wgpykbgv"; depends=[digest filehash igraph nabor nat_utils plyr rgl yaml]; };
   nat_nblast = derive2 { name="nat.nblast"; version="1.6.2"; sha256="0b2gzyzszj2v5girxyv31nvds0837lzvim7x7bs9h897yrxs57k8"; depends=[dendroextras nabor nat plyr rgl spam]; };
   nat_templatebrains = derive2 { name="nat.templatebrains"; version="0.9"; sha256="0r0ydhxnax4x4gwp60bgarhgp59g4sis7msa3rq4kddv8qdi3gix"; depends=[digest igraph memoise nat rappdirs rgl]; };
   nat_utils = derive2 { name="nat.utils"; version="0.5.1"; sha256="12g87ar795xfbz7wljksb24x9hqvcirjr50y4mbpx1427r0l7clv"; depends=[]; };
+  nationwider = derive2 { name="nationwider"; version="1.0.0"; sha256="0g4lz39gn1xwxk0jd14bl70q7c537bdpclra26lqqg1xj0jcfmm1"; depends=[dplyr httr lubridate magrittr readxl rvest stringr tidyr xml2 zoo]; };
   natserv = derive2 { name="natserv"; version="0.3.0"; sha256="0plfcf9c1lwfmac3nnx07hyhpr12q6mfmmj0dz8xyxdspd2ps81w"; depends=[crul data_table tibble xml2]; };
   natural = derive2 { name="natural"; version="0.9.0"; sha256="0zxwbf3gg2h0bhl2w0md3rd162vlsgg0dv3187hc0ax7333cc4cx"; depends=[glmnet Matrix]; };
   naturalsort = derive2 { name="naturalsort"; version="0.1.3"; sha256="0mz801y9mzld9ypp3xmsjw2d8l9q97sdnv09wrci9xi3yg2sjf6d"; depends=[]; };
   nbc4va = derive2 { name="nbc4va"; version="1.1"; sha256="025p9h1ghrsq4h439gx25ffpyvh2kp1i51hm7kbzx8nmh4ka8aff"; depends=[]; };
-  nbconvertR = derive2 { name="nbconvertR"; version="1.0.2"; sha256="1dc9jxfibvb27qwiykj93322nb1ahwrg69zqcc0p9xp0rpsim02w"; depends=[]; };
+  nbconvertR = derive2 { name="nbconvertR"; version="1.3.2"; sha256="0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg"; depends=[]; };
   nbpMatching = derive2 { name="nbpMatching"; version="1.5.1"; sha256="0f90k9vq05gkc0sgywb98frig63df0ih4z41dq7m2inx1zk5rqns"; depends=[Hmisc MASS]; };
+  nc = derive2 { name="nc"; version="2019.10.19"; sha256="1z8v8i2bvqj1vdhijxabv0rw6ammfgzxxmwax1ywcka9jr0x1fnw"; depends=[data_table]; };
   ncappc = derive2 { name="ncappc"; version="0.3.0"; sha256="0bf00iskrd3x43839bwn957mi3qvm2dhcmqa7hl1ib0gp2r1cnzx"; depends=[bookdown Cairo dplyr ggplot2 gridExtra gtable knitr lazyeval magrittr PopED purrr readr reshape2 rlang rmarkdown scales tibble tidyr xtable]; };
-  ncar = derive2 { name="ncar"; version="0.4.1"; sha256="0nqc3ari3ghxygqvb3vfzdqclh77mbhyh3pki86wwx6ym62b1bx0"; depends=[NonCompart rtf]; };
+  ncar = derive2 { name="ncar"; version="0.4.2"; sha256="12cz4mlcmg8vdcn6747q1vz20wyypf89jq3nzx17s3aki0vlnwmj"; depends=[NonCompart rtf]; };
   ncbit = derive2 { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
   ncdf_tools = derive2 { name="ncdf.tools"; version="0.7.1.295"; sha256="1jgxivmg2gzvkn09n13i5xr1v0xcyp5ckhwxz6g5kdh9z2dkjhc2"; depends=[abind chron JBTools plotrix raster RColorBrewer RNetCDF]; };
-  ncdf4 = derive2 { name="ncdf4"; version="1.16.1"; sha256="083sb24anyd4sw0il3x07pqn9rbx5y5ayqass6mz8x443rnjvphd"; depends=[]; };
-  ncdf4_helpers = derive2 { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[abind ncdf4 PCICt]; };
-  ncdfgeom = derive2 { name="ncdfgeom"; version="1.0.0"; sha256="0nd84223msmpazcdnfzk4rc4a3kaxdcwla2shnlkb0zxkz6v5ddn"; depends=[dplyr ncmeta RNetCDF sf]; };
+  ncdf4 = derive2 { name="ncdf4"; version="1.17"; sha256="1xls44ln2zjrrlimxl8v4bk2ni3g45c9j0gxdnjx31rikmrc95fv"; depends=[]; };
+  ncdfgeom = derive2 { name="ncdfgeom"; version="1.1.0"; sha256="19gbpf19vjzfigi9awhqjx6zsv92h4w1lg3dps3sgaibym9lq3zk"; depends=[dplyr ncmeta RNetCDF sf]; };
   ncdump = derive2 { name="ncdump"; version="0.0.3"; sha256="09g98mzpky32z41jf23ahzhyv34l34y1gqq99j2hl4pqlvvhxs9i"; depends=[dplyr ncdf4]; };
   ncf = derive2 { name="ncf"; version="1.2-8"; sha256="1j2q1dqhr8xk9fhzjkpnx8ff427d1m8qr07l2zj5lwyh9wbr1jzn"; depends=[]; };
   ncg = derive2 { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
-  ncmeta = derive2 { name="ncmeta"; version="0.0.4"; sha256="10mq7fb2a8hn1nmgrcvgfz0dc6dh39icn9b3109027g6xqdb7792"; depends=[dplyr rlang RNetCDF tibble tidyr]; };
-  ncodeR = derive2 { name="ncodeR"; version="0.1.3.0"; sha256="03jwvxks4db3dngrmmz7bhwq2j072lqwvnhi7xwg1pgbba02wlz7"; depends=[cli R6 rhoR]; };
+  ncmeta = derive2 { name="ncmeta"; version="0.2.0"; sha256="1qrb2mnb4qjgx1ss1zwz7z034xrb9p0w0q9mqdh6rg4qgdsfhdxh"; depends=[dplyr rlang RNetCDF tibble tidyr]; };
+  ncodeR = derive2 { name="ncodeR"; version="0.2.0.1"; sha256="1pxiqxhq2rxs8rxxhw1hbds7z2qkf7ws26a8wsbw815yn6jm10n8"; depends=[cli R6 rhoR]; };
   ncpen = derive2 { name="ncpen"; version="1.0.0"; sha256="0vl4cbrsifr5s1691gacmp0lk3aqyq0yfafafzv6g3zygi4igrsa"; depends=[Rcpp RcppArmadillo]; };
   ncvreg = derive2 { name="ncvreg"; version="3.11-1"; sha256="09s8k8gqsnwm6f5x1rr1f32pzam67migxwkbj4lfvw85v3pljdmr"; depends=[]; };
-  ndjson = derive2 { name="ndjson"; version="0.7.0"; sha256="1hqbp5aii3x2yygsy4zfv3j2zl78fzrydqj3ycfl3k3nnrkrf8h5"; depends=[data_table dplyr dtplyr Rcpp]; };
+  ndjson = derive2 { name="ndjson"; version="0.8.0"; sha256="0lvzbgfi1sg4kya1mvv67z14qk3vz9q57x22qh57xq8ampdkg812"; depends=[data_table Rcpp tibble]; };
   ndl = derive2 { name="ndl"; version="0.2.18"; sha256="0b235v6jf98rrqp5aqw3jkk7mq8dbqmhb758zbzza1mavh4n2k7s"; depends=[Hmisc MASS Rcpp]; };
   ndtv = derive2 { name="ndtv"; version="0.13.0"; sha256="1qfjvq5wch256gmg7pw9jwda33r4963a8p8jmp27cmpzdwycvnzy"; depends=[animation base64 jsonlite MASS network networkDynamic sna statnet_common]; };
   nearfar = derive2 { name="nearfar"; version="1.2"; sha256="116rq797a5fascirz8xg465fywjf40j1k5czryvqzpik0if0w00r"; depends=[car GenSA MASS nbpMatching]; };
@@ -10292,7 +10717,7 @@ in with self; {
   needmining = derive2 { name="needmining"; version="0.1.1"; sha256="0qsj0ihjchrnl4s44rpsizbcz033z00dmzvic2y1msv0bnfawl6p"; depends=[randomForest rtweet SnowballC SparseM stringr tau tm]; };
   needs = derive2 { name="needs"; version="0.0.3"; sha256="16dkjpijz3rz7kd5ggxsdg55iwd42nll1vk6g5ix4xdbqrx6cp9x"; depends=[]; };
   needy = derive2 { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
-  negenes = derive2 { name="negenes"; version="1.0-8"; sha256="0qyhypryp3p8c876jffg1syg05b370mw24clwlx733yx86qhmb1v"; depends=[]; };
+  negenes = derive2 { name="negenes"; version="1.0-12"; sha256="0b82822vl86gni0pv5f6pjfzmks35i7q2rqkhgyb9z9c677g991q"; depends=[]; };
   neighbr = derive2 { name="neighbr"; version="1.0.2"; sha256="1l85x3p4h2z2npj1xqggviyd3kvkgni5cnx5p3g52s9jwqrj43kb"; depends=[]; };
   neldermead = derive2 { name="neldermead"; version="1.0-11"; sha256="0gf9rfwz48sadl6960mpfb6a3l9n5p28yq3n0a9vz8mr57vh1dzg"; depends=[optimbase optimsimplex]; };
   neo4r = derive2 { name="neo4r"; version="0.1.1"; sha256="0s4rjhn2mc8ca4p8p474a83dc277vrf7l968xwxkiac0d4fgbra7"; depends=[attempt data_table glue httr igraph jsonlite magrittr purrr R6 rlang rstudioapi shiny tibble tidyr tidyselect]; };
@@ -10300,8 +10725,8 @@ in with self; {
   neotoma = derive2 { name="neotoma"; version="1.7.4"; sha256="1fknzp7qg5l5lkfvqfld0x67zj3xmi8vivsg70m47mbpcs92hmcf"; depends=[analogue dplyr httr jsonlite leaflet plyr reshape2 xml2]; };
   nephro = derive2 { name="nephro"; version="1.2"; sha256="1izmzx8lah322xzb42asfnrvr2c9yqd0zf7fmrhwd3p4rr1rqa7d"; depends=[]; };
   nesRdata = derive2 { name="nesRdata"; version="0.2.0"; sha256="1cr5d600bnslxbm2kknzwivvb4zyfsrf8rbrk3kk0j6dpclx5x6s"; depends=[dataone dplyr purrr rappdirs readr]; };
-  nestfs = derive2 { name="nestfs"; version="0.9.2"; sha256="0zr9637c80qrdsf661kishhsrjhlrzvczxgb1kyvcsigvd5g9dvj"; depends=[dgof foreach pROC]; };
-  netCoin = derive2 { name="netCoin"; version="0.3.2"; sha256="04fi08879yisdmkla93rvr029inwlgg5c5vz8k24d535m8k6mjhp"; depends=[haven igraph Matrix]; };
+  nestfs = derive2 { name="nestfs"; version="1.0"; sha256="0lzbjj287s5kmw9635gfyl3jdgfh5mxbwxqxmnwynbwccixk0akc"; depends=[dgof pROC]; };
+  netCoin = derive2 { name="netCoin"; version="1.1.23"; sha256="0v5ia8iwn7i21a5xa6wjnm1pn1z1y0ccbg6qqnfzg01x1d751s5q"; depends=[haven igraph Matrix]; };
   netSEM = derive2 { name="netSEM"; version="0.5.1"; sha256="0k4ngl4p1v2rp1sf2x65m7p0cd6ha98fyx21b73ki0531q0d9fil"; depends=[DiagrammeR DiagrammeRsvg gtools htmlwidgets knitr magrittr MASS png rsvg segmented svglite]; };
   netassoc = derive2 { name="netassoc"; version="0.6.3"; sha256="1hyshnbpq60a3y13b4sh1c2rk78x09q01b7q6xrgv10w7bn9r2sg"; depends=[corpcor huge igraph infotheo vegan]; };
   netchain = derive2 { name="netchain"; version="0.1.0"; sha256="187pgsp6dn15n9bx9sj1pjx8wyfp2cs5s89s72hclanic479pv4g"; depends=[gtools igraph Matrix Rcpp stringr]; };
@@ -10311,19 +10736,19 @@ in with self; {
   netdiffuseR = derive2 { name="netdiffuseR"; version="1.20.2"; sha256="0fscbpn8dvaflnk06rpnxydvq1292l233rlxw14nkmm7d0508g9x"; depends=[boot igraph MASS MatchIt Matrix network networkDynamic Rcpp RcppArmadillo sna SparseM viridisLite]; };
   netgen = derive2 { name="netgen"; version="1.3"; sha256="1iywpl9n1yplnd38dff8m9mz1vlfbvplw393grhpav5czcknj160"; depends=[BBmisc checkmate ggplot2 igraph lhs lpSolve mvtnorm stringr]; };
   netgsa = derive2 { name="netgsa"; version="3.1.0"; sha256="0mn4dnvckdskigdfbszjnfmb3m6yfbz4qc26qwh1wznwx5wmcbf0"; depends=[corpcor dplyr glassoFast glmnet graph graphite igraph magrittr Matrix msigdbr quadprog rlang]; };
-  netgwas = derive2 { name="netgwas"; version="1.10"; sha256="19gqsilw9i4hinz6qsms7cnlrrrnpriq2ws8l1naivfz94bdi7dx"; depends=[glasso huge igraph MASS Matrix qtl RBGL tmvtnorm]; };
+  netgwas = derive2 { name="netgwas"; version="1.11"; sha256="13d889ji6x0v5pmqlr1gs9yskm3262fzb5i2l9lw6y6bc72q3l06"; depends=[glasso huge igraph MASS Matrix qtl RBGL tmvtnorm]; };
   netjack = derive2 { name="netjack"; version="1.2.0"; sha256="060ygb0kxi0gx1ya38cmf5hhyy6jkwq5519azdqhq5i324cwzzm7"; depends=[brainGraph ggplot2 igraph Rdpack]; };
-  netmeta = derive2 { name="netmeta"; version="1.0-1"; sha256="1fsm41xz1dv6gwc354nxx4bj0xfmvamqhnhlbp5pn2g4y66wqm7s"; depends=[magic MASS meta]; };
+  netmeta = derive2 { name="netmeta"; version="1.1-0"; sha256="16cf7cam63f07lfmvj5g8rqrdagyzphnsp4pxaklgnx5wwjwj3wj"; depends=[ggplot2 magic MASS meta]; };
   netrankr = derive2 { name="netrankr"; version="0.2.1"; sha256="0csgi09ijp7ygwk7x057l9xjrzyhr7sav8hamh0p6i72l6719ssl"; depends=[igraph Rcpp RcppArmadillo]; };
   netregR = derive2 { name="netregR"; version="1.0.1"; sha256="0n5absjra0imddz1spy1piij5rdz76wi4g568yby3rbhkm1896rs"; depends=[Matrix]; };
   nets = derive2 { name="nets"; version="0.9"; sha256="1wcr0fj50w3rqxw0k9cb81c2psdkb0dwwwzrjvxv50hksbhyi8kn"; depends=[igraph]; };
-  network = derive2 { name="network"; version="1.15"; sha256="1cscw5978fyixhkicf06c4b2g1yf6gyi8vx86cz3dy75d41mrgjw"; depends=[magrittr tibble]; };
+  network = derive2 { name="network"; version="1.16.0"; sha256="0dnf1wl3za2lhx2lwd8smhlijl1cfhckgr8zz9piiirrfi2m2kx2"; depends=[magrittr tibble]; };
   networkABC = derive2 { name="networkABC"; version="0.5-3"; sha256="0f3wbm76i8m9f52b0zvb2fvziqh43xy67llnv4lm54yj5szxvjr0"; depends=[network RColorBrewer sna]; };
   networkD3 = derive2 { name="networkD3"; version="0.4"; sha256="02wxki67drppgfka1is1ykg1f2rxf0x0657c0crj7ipfy62jbf1k"; depends=[htmlwidgets igraph magrittr]; };
   networkDynamic = derive2 { name="networkDynamic"; version="0.10.0"; sha256="1dgk3lj1fx0x6ccyp6h6rkzbjqqd8nflilqs4dfi8sm0fcndfcgb"; depends=[network statnet_common]; };
   networkDynamicData = derive2 { name="networkDynamicData"; version="0.2.1"; sha256="176al8jp0gha6yzhyn5flmyackmmdnh1h8sasqrdcmba7ha7cya6"; depends=[network networkDynamic]; };
   networkGen = derive2 { name="networkGen"; version="0.1.1"; sha256="1vnh5dajiaf47kx1sxyp744mlk3yvl4sxj380i3b3ic1wlgyd2h1"; depends=[igraph mgcv]; };
-  networkR = derive2 { name="networkR"; version="0.1.0-0"; sha256="1apgvnny2ynhnyn1a2kjiyvxrdqgkqar2w543wph4lnavsi4i0cp"; depends=[data_table fastmatch Matrix Rcpp RcppArmadillo]; };
+  networkR = derive2 { name="networkR"; version="0.1.2"; sha256="07dq3syk0hr1kc2mqd70g0ih09hamd7rxxms60dyvnpm8978c1wz"; depends=[data_table fastmatch Matrix Rcpp RcppArmadillo]; };
   networkTomography = derive2 { name="networkTomography"; version="0.3"; sha256="1hd7av231zz0d2f9ql5p6c95k7dj62hp0shdfshmyfjh8900amw7"; depends=[coda igraph KFAS limSolve plyr Rglpk]; };
   networkreporting = derive2 { name="networkreporting"; version="0.1.1"; sha256="1ssbz8lw4mlwcblwfbyffvayvb2gmihq4qlz5q9222fn4aa3raxd"; depends=[dplyr functional ggplot2 lazyeval plyr reshape2 stringr surveybootstrap]; };
   networksis = derive2 { name="networksis"; version="2.1-3"; sha256="1kvil3qs7xd94ak9jgvj1nss55gjg0y7d35zmass9h1hjkcrq7bg"; depends=[network]; };
@@ -10332,7 +10757,7 @@ in with self; {
   neuRosim = derive2 { name="neuRosim"; version="0.2-12"; sha256="1hsnw9xipdr74fydq9013252ycbi9igh28s0j4dbdx52pv3iixzl"; depends=[deSolve]; };
   neural = derive2 { name="neural"; version="1.4.2.2"; sha256="05hrqgppgwp38rdzw86naglxj0bz3wqv04akq7f0jxbbjc6kwy4j"; depends=[]; };
   neuralnet = derive2 { name="neuralnet"; version="1.44.2"; sha256="09l808vgjh059a3f94vgsprfyp5c1hrbjn6i1cn34cxnbljwsrjz"; depends=[Deriv MASS]; };
-  neurobase = derive2 { name="neurobase"; version="1.27.6"; sha256="1m52yk1wdn65cbxbd2cbn38px0qh4z3cl8h6r63k2jd4asvk4wvf"; depends=[abind matrixStats oro_nifti R_utils RNifti]; };
+  neurobase = derive2 { name="neurobase"; version="1.27.11"; sha256="12qjxvr1s0k2hrbnxs7cysz458z3m5wcgia8d64zih16hzbrjg9v"; depends=[abind matrixStats oro_nifti R_utils RNifti]; };
   neuroblastoma = derive2 { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; };
   neurohcp = derive2 { name="neurohcp"; version="0.8.1"; sha256="01q9dkrpmwfj4r7is97f3lsmn84vm5qpvf44zfm1a6hhpxa0n7z0"; depends=[base64enc digest httr xml2]; };
   neuroim = derive2 { name="neuroim"; version="0.0.6"; sha256="00cjr6pkip6zi2d0q3qbn3lb3k0z82v6c19qslvgpa9n0g63dr5p"; depends=[abind assertthat hash iterators Matrix Rcpp readr rgl stringr yaImpute]; };
@@ -10348,13 +10773,16 @@ in with self; {
   ngstk = derive2 { name="ngstk"; version="0.2.3"; sha256="0196hnbqw9bji3bl2phjs9z5n84x5fs7iiirfd6gjyqv9xlfwd2p"; depends=[configr data_table future optparse stringi stringr]; };
   nhanesA = derive2 { name="nhanesA"; version="0.6.5"; sha256="0bb53s379qrm8xqp4bsi5vgk6v6hvwadzjv09pvdp1n45z7rqj86"; depends=[Hmisc magrittr plyr rvest stringr xml2]; };
   nhdR = derive2 { name="nhdR"; version="0.5.2"; sha256="0qi7ls10pdjcihkdnhbvbnv8dwcy1448pd5fzhpy0kjky7hfi7bj"; depends=[curl dplyr foreign gdalUtils ggplot2 httr maps memoise purrr rappdirs rgdal rlang rvest sf stringr units xml2]; };
+  nhdplusTools = derive2 { name="nhdplusTools"; version="0.3.11"; sha256="17kskpp6m8d2as21ii0l1m2gpsc3yfcgznng4gakb49d476365zy"; depends=[dplyr httr igraph jsonlite magrittr R_utils RANN sf units xml2]; };
   nhds = derive2 { name="nhds"; version="1.0.3"; sha256="1cgw3hmsik3vlnb1lgalhvhrqzwdv08dp80vwpw1nwbf8whcbxjn"; depends=[]; };
+  nhm = derive2 { name="nhm"; version="0.1.0"; sha256="1yf9hnbmfb7xj8mbhnq40wvd0pd88x9qspy1jr3x0n8nb75i3jlp"; depends=[deSolve maxLik mvtnorm]; };
   nhstplot = derive2 { name="nhstplot"; version="1.0.1"; sha256="1f07gfmbx80as54mlzdbs2z1vzc78rjy6i6m7zd4jplgcqdcynws"; depends=[ggplot2]; };
   nice = derive2 { name="nice"; version="0.4-1"; sha256="1p8vmimiq9sbjvbx6c2wqwwkpnzw4kkdvjry6qyadmm3frwhj5qb"; depends=[]; };
   nicheROVER = derive2 { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
-  nilde = derive2 { name="nilde"; version="1.1-2"; sha256="07m52c4gw0vcyb6pya5z7m4y1kiy2zvh0gnhp80hxc7nhyx0rnqd"; depends=[]; };
+  nilde = derive2 { name="nilde"; version="1.1-3"; sha256="0h88if7dh16inyy5zh0yjqmc0c57k99la038p5vlwkj62vvjscmm"; depends=[]; };
   nima = derive2 { name="nima"; version="0.5.0"; sha256="1xpzq1mg2l9hnh83hbmxcqz3v0ai62ii7k688i8lpj0xnpsm25pl"; depends=[assertthat devtools ggplot2 ggthemes gridExtra gtools plyr ProjectTemplate scales survival]; };
   nimble = derive2 { name="nimble"; version="0.8.0"; sha256="0zfxv1bvvdyzdg2b0wvrc9x6y52jyqjm9ffikaql1acalblqws5y"; depends=[coda igraph R6]; };
+  nimbleEcology = derive2 { name="nimbleEcology"; version="0.1.0"; sha256="195g1hcx7fyqx2la2ci88m2bykcnzrv27k4q4qq3z69c54fc5p7d"; depends=[nimble]; };
   nipals = derive2 { name="nipals"; version="0.5"; sha256="1zrn1ykl9scd988wj3mm0j6g5q6lq04iwn2ibgap1lrsd0rw1zbf"; depends=[]; };
   nitrcbot = derive2 { name="nitrcbot"; version="1.2"; sha256="0lainbw9j5aj9s824afpxdjl3q2f728jfpdfji7kpi9hdg8jixhx"; depends=[dplyr httr jsonlite RCurl]; };
   nivm = derive2 { name="nivm"; version="0.3"; sha256="111jkgirgsl1j36xgwi81wzwxial3vdw8mqzi1faldxxd9a2cixm"; depends=[bpcp ssanv]; };
@@ -10365,24 +10793,25 @@ in with self; {
   nleqslv = derive2 { name="nleqslv"; version="3.3.2"; sha256="1v9znvncyigw9r25wx2ma0b7ib179b488dl0qsrhp5zrcz7mcjgm"; depends=[]; };
   nlgeocoder = derive2 { name="nlgeocoder"; version="0.1.3"; sha256="13d30kfgfsny5gnn3yjfnclky6yixaa8sg0m689rszqxrvbrj79x"; depends=[jsonlite]; };
   nlirms = derive2 { name="nlirms"; version="3.4.4"; sha256="1njyfip377a0f6hf9y32s077b4jv4h8ydbjgnl68yfypxbfn2xyx"; depends=[gridExtra gtable]; };
-  nlme = derive2 { name="nlme"; version="3.1-141"; sha256="0ml00g79bimjcl0sgn6h55l5b4gfmnsnc1vvmivggn0318k4c04i"; depends=[lattice]; };
+  nlme = derive2 { name="nlme"; version="3.1-142"; sha256="0figfb1i22hfkkhzpprmpp723s01r43x725a1ab0pc9gsxqg90nx"; depends=[lattice]; };
   nlmeODE = derive2 { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve lattice nlme]; };
   nlmeU = derive2 { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
+  nlmixr = derive2 { name="nlmixr"; version="1.1.1-3"; sha256="04gm74mjwz8fidapk0040fghy4wpj19412n54v8wli10xjwwb76w"; depends=[BH brew cli crayon digest dparser fastGHQuad flextable generics ggplot2 huxtable lattice lbfgs lbfgsb3c magrittr Matrix memoise minqa n1qn1 nlme R_utils Rcpp RcppArmadillo RcppEigen rex RxODE StanHeaders stringr sys tidyr vpc yaml]; };
   nlmrt = derive2 { name="nlmrt"; version="2016.3.2"; sha256="1g0qq0a933ay65gkp04qgn2wqk6vw79pj2a228c2ski4rcmkjxyn"; depends=[]; };
-  nlnet = derive2 { name="nlnet"; version="1.2"; sha256="00lcyz5csjj9qbhh7yw0qlbnyv32k0c2dpm23v04n9wkdgs67jy0"; depends=[coin e1071 earth fdrtool igraph randomForest ROCR TSP]; };
   nloptr = derive2 { name="nloptr"; version="1.2.1"; sha256="15yz60kljxwnhm2m3gryjzxl3ynhkhd5jiwc179b1hz6rlzf71hz"; depends=[]; };
+  nlpred = derive2 { name="nlpred"; version="1.0.0"; sha256="0a13agsacn7qw2i8ggd9v8w7k44r4faby1vv163gsa764ppj70m4"; depends=[assertthat bde cvAUC data_table np Rdpack ROCR SuperLearner]; };
   nlr = derive2 { name="nlr"; version="0.1-3"; sha256="19zcnigijr3jfy4da945z4fdnrirvlmpqminaf5wwk0bz71f3b61"; depends=[GA MASS nlme quantreg robcor TSA tseries]; };
   nlreg = derive2 { name="nlreg"; version="1.2-2.2"; sha256="0gkcxg5m287axhvkl00xy26vidawhhb1ii1s13rh49v0yccwvvqh"; depends=[statmod survival]; };
   nlrr = derive2 { name="nlrr"; version="0.1"; sha256="09wm8s5sadkhkq9pb3fjk66cb2xn8py46w1d7yp7fjhczh31bjsq"; depends=[Hmisc rms]; };
-  nlrx = derive2 { name="nlrx"; version="0.2.0"; sha256="0ahgw0lmfpfb03fzhvp8a4rhvn0r84s90aiada4slss47g63iclq"; depends=[dplyr furrr genalg GenSA igraph lhs magrittr purrr raster readr rstudioapi sensitivity sf stringr tibble tidyr XML]; };
+  nlrx = derive2 { name="nlrx"; version="0.3.0"; sha256="01wvhl339qizi7hlz7dclmn6nv489vh71mpk8c8imyj9ckx3z18c"; depends=[dplyr furrr genalg GenSA igraph lhs magrittr purrr raster readr rstudioapi sensitivity sf stringr tibble tidyr XML]; };
   nls_multstart = derive2 { name="nls.multstart"; version="1.0.0"; sha256="08zdyx5hp1xbqjspk0f89fca5gc0b5j87hsccvn9dxn2lrnwk8nb"; depends=[dplyr minpack_lm purrr tibble tidyr]; };
   nls2 = derive2 { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; };
   nlsMicrobio = derive2 { name="nlsMicrobio"; version="0.0-1"; sha256="0676n78265z00dacmq593c9l2239ii574djm9s7i7w8jk1kdhzx2"; depends=[nlstools]; };
   nlsem = derive2 { name="nlsem"; version="0.8"; sha256="0q3wk7x67mh2447ah807djyklia2x2d45krsskffynazm83msnj9"; depends=[gaussquad lavaan mvtnorm nlme orthopolynom]; };
   nlshelper = derive2 { name="nlshelper"; version="0.2"; sha256="02xnx0j8p1im1hdwnia3n51dicscjf8s33y475i3dczvhmivvbmf"; depends=[broom dplyr magicaxis mgcv nlme]; };
   nlshrink = derive2 { name="nlshrink"; version="1.0.1"; sha256="0adnr7g3n3brwlvyix8wa7h59gj036l5anv8abqy80ysmfcmsp0y"; depends=[MASS nloptr]; };
-  nlsmsn = derive2 { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; };
-  nlsr = derive2 { name="nlsr"; version="2018.1.28"; sha256="113g656j6zqdqip6dw55pimmwq36xrxgfyix10y3qqn9lxvqrpqq"; depends=[digest]; };
+  nlsmsn = derive2 { name="nlsmsn"; version="0.0-5"; sha256="1awslzwvv4d3kqw01p7qcqkq5shby29gprzbzxfwnvb5v86dn6ka"; depends=[]; };
+  nlsr = derive2 { name="nlsr"; version="2019.9.7"; sha256="1zhfnv09khd2k236jzka9znc0nlps452gwl7db0grb0ylfyxbqg4"; depends=[digest]; };
   nlsrk = derive2 { name="nlsrk"; version="1.1"; sha256="0yqcsz5pdhqsrd86g0yx8bdac13fbmvg89phj3v4qvla2jfznjba"; depends=[]; };
   nlstimedist = derive2 { name="nlstimedist"; version="1.1.4"; sha256="1c9yxpaxdx03yav4x0vk67f1j6w70jv212sfxrfxkz61ivyqcmlb"; depends=[broom dplyr ggplot2 lazyeval minpack_lm nlstools]; };
   nlstools = derive2 { name="nlstools"; version="1.0-2"; sha256="0mjn1j9fqqgr3qgdr0ki4lfbd0yrkanvya4y2483q3wklqa6qvjc"; depends=[]; };
@@ -10390,42 +10819,45 @@ in with self; {
   nltm = derive2 { name="nltm"; version="1.4.2"; sha256="02f3rn5l1hfvjpymy7vljmh6iq9w1w96016kx75qw563zwhmp5kx"; depends=[survival]; };
   nlts = derive2 { name="nlts"; version="1.0-2"; sha256="0s49qjwavl9ns2746nn4zy4h4dh0njfcvznm3qd61qhs7np9w1db"; depends=[acepack locfit]; };
   nmaINLA = derive2 { name="nmaINLA"; version="0.1.2"; sha256="0layk1pqry2g3xiwmasrnsvmw91sgg7iz15d6iz6hbq4za61hr0k"; depends=[]; };
-  nmadb = derive2 { name="nmadb"; version="1.0.0"; sha256="051kzr6hva57bsla8qbnkkkw7a3hnr4415gd6qzk9bq79q2bg53p"; depends=[devtools jsonlite RCurl readxl]; };
+  nmadb = derive2 { name="nmadb"; version="1.1.0"; sha256="062h24w0678bgzn5l5qa3nchl0a121f7623acl0ljida53zx81wp"; depends=[devtools jsonlite RCurl readxl]; };
   nmathresh = derive2 { name="nmathresh"; version="0.1.4"; sha256="0nsywahzph06c7grk3ch65fvll4ninqz97y007d6qdqgmym9vxjq"; depends=[ggplot2 gridExtra gtable Matrix nnls]; };
   nmfem = derive2 { name="nmfem"; version="1.0.4"; sha256="0qn3p244i8mkmqhsjnyas2r2hcb21npn2jykf6dg7w2f1ddhbfbx"; depends=[d3heatmap dplyr mixtools plyr tidyr]; };
   nmfgpu4R = derive2 { name="nmfgpu4R"; version="0.2.5.2"; sha256="05066rgbbp6kj2d67nzf3d1pf32gypz9ammz4ba88yxblydb3cwk"; depends=[Matrix Rcpp SparseM stringr]; };
   nmixgof = derive2 { name="nmixgof"; version="0.1.0"; sha256="0cbwrsxrcf8pn4ycn6r0z8jdidw5l6kdvwyrks69fq4pjzx988d6"; depends=[Rcpp unmarked]; };
   nmslibR = derive2 { name="nmslibR"; version="1.0.3"; sha256="1m3bq0vg774kqragdx1ydm4q2if3yn9llbd6ybv3c8bmbdb9h405"; depends=[KernelKnn Matrix R6 Rcpp RcppArmadillo reticulate]; };
   nmw = derive2 { name="nmw"; version="0.1.4"; sha256="1vj7b2p40x0h3xp45qzar86i9439mj8y3r5hnlbwa025jqdf2g0q"; depends=[numDeriv]; };
-  nnTensor = derive2 { name="nnTensor"; version="1.0.0"; sha256="07cdc8givv0mzszq418hgl5ic77mg7dh40q03gnv9iki6k5lc31a"; depends=[fields plot3D rTensor tagcloud]; };
+  nnTensor = derive2 { name="nnTensor"; version="1.0.2"; sha256="12h25kn3d70ldlqpd4nqnycv3mnzfx1f9gcw1yaspmnhs1x6gddf"; depends=[fields plot3D rTensor tagcloud]; };
   nna = derive2 { name="nna"; version="0.0.2.1"; sha256="17cz1jf7iv61wspqldfdwbdjhlr0wq09idkzlivfb8aik5w9f0z5"; depends=[]; };
   nnet = derive2 { name="nnet"; version="7.3-12"; sha256="17amqnw9dpap2w8ivx53hxha2xrm0drwfnj32li0xk41hlz548r7"; depends=[]; };
   nnetpredint = derive2 { name="nnetpredint"; version="1.2"; sha256="1c6s9wm6vhylwv4xhp2hkllw18zj8hdr17ls9vlxm9qs3wx1v48w"; depends=[RSNNS]; };
   nnfor = derive2 { name="nnfor"; version="0.9.6"; sha256="0bciy6k79g7abvj3pmmdc4wzg5mp11zgmdbx17x4by993p2clhw9"; depends=[forecast glmnet MASS neuralnet plotrix tsutils uroot]; };
-  nngeo = derive2 { name="nngeo"; version="0.2.8"; sha256="019nv59a11n0j1q6x8l3jmzy7r51zkjwzmrfsbcn3visb755pagb"; depends=[lwgeom RANN Rcpp sf sp units]; };
+  nngeo = derive2 { name="nngeo"; version="0.2.9"; sha256="1cxrr7k2rjzg2bw43c2mr9jnr9mwwaln5j2xivmrfq2lcrhll0fi"; depends=[igraph lwgeom RANN raster Rcpp sf sp stars units]; };
   nnlasso = derive2 { name="nnlasso"; version="0.3"; sha256="1n7karlmgq61z9ywfx9xb5wvmxx40ydpnzzazj1xr70qlv5m0qk4"; depends=[]; };
   nnls = derive2 { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
-  noaaoceans = derive2 { name="noaaoceans"; version="0.1.0"; sha256="15spkivnc6kv3w2z5m8gvlqpa6pfqxmggjchnsd3r0v61nz64ab3"; depends=[httr jsonlite rvest xml2]; };
+  noaaoceans = derive2 { name="noaaoceans"; version="0.2.0"; sha256="1hvjkma14kl8f69ichk27ddxlg9cqnzif8x43ckxyny6h341bbkf"; depends=[httr jsonlite rvest xml2]; };
   noaastormevents = derive2 { name="noaastormevents"; version="0.1.1"; sha256="1ra852r5hw1ng3f4jk866jx0z2dszwvbidmfrdjchv9bfrjwmlmx"; depends=[choroplethr choroplethrMaps data_table dplyr forcats ggplot2 htmltab hurricaneexposure lubridate maps plyr RColorBrewer rlang stringr tidyr viridis XML]; };
-  nodbi = derive2 { name="nodbi"; version="0.2.0"; sha256="17qgdy9gb2a5vqq26b60gbykyyalgb9dnh5g1w83cn7bz8akmqsj"; depends=[data_table jsonlite]; };
+  noctua = derive2 { name="noctua"; version="1.2.1"; sha256="0pahdwb68xxbcg9accb2fjmcj1z8alk0kfv6dvcbidgnx7b601c1"; depends=[data_table DBI paws]; };
+  nodbi = derive2 { name="nodbi"; version="0.4.0"; sha256="1jlqzj9lv9wnsb8hwy8y91369i6ykp8av35abakfpxg0302svay9"; depends=[data_table jsonlite]; };
   nodeHarvest = derive2 { name="nodeHarvest"; version="0.7-3"; sha256="0nh3g50rk9qzrarpf29kijwkz9v60682i0ag77j2ipyvhhbpwpkc"; depends=[quadprog randomForest]; };
   nodiv = derive2 { name="nodiv"; version="1.3.0"; sha256="1z0xqdfplg5rz94qcnks435md3q7jpd5f32jfm0pqnyr3536gs03"; depends=[ape picante raster sp vegan]; };
   nofrills = derive2 { name="nofrills"; version="0.3.0"; sha256="18hryq6clywlr2f45az6ryslkkarly45nacln4bwk6ip0yfl5s98"; depends=[rlang]; };
   noia = derive2 { name="noia"; version="0.97.1"; sha256="0yldfmnb4ads4s9v9cj1js8zf1w1hxasqq6qjyzwknmvmp7kh62h"; depends=[]; };
   noise = derive2 { name="noise"; version="1.0"; sha256="1a48s9vpz3nc058966lad8hydmg7z0vbzfwcf6nxc9g3c8mw4nig"; depends=[preprocessCore]; };
+  noisyCE2 = derive2 { name="noisyCE2"; version="1.0.0"; sha256="11cf7b472i6lsb4kh04rhp5mhj7l8ig0kxmkz05kazkr6cs41s6i"; depends=[magrittr]; };
   nomclust = derive2 { name="nomclust"; version="1.1.1106"; sha256="17hb89k72sw3ya0wm3n95mpx4vj7mpl4mzs8qwl2773dh2mcjgjq"; depends=[cluster dummies]; };
   nomisr = derive2 { name="nomisr"; version="0.4.1"; sha256="0a94s1xqij6k2kkzdzxp5837qgv9czzgl6wp0z9a95xizy3hkjsx"; depends=[dplyr httr jsonlite readr rlang rsdmx tibble]; };
   nomnoml = derive2 { name="nomnoml"; version="0.1.0"; sha256="0yzbs9by2fvwvxpl2xzjikzcjv8dvcr5v2v82ibz5jpnnsbl1ac4"; depends=[htmlwidgets png webshot]; };
   nomogramEx = derive2 { name="nomogramEx"; version="3.0"; sha256="16235rwblnzn8k53817llwy2pzhnpifh6ij159nxymjm8ar9qpbp"; depends=[pracma rms]; };
+  nomogramFormula = derive2 { name="nomogramFormula"; version="1.1.0.0"; sha256="1cblsxyyizsjz079qlbvhmb51n2cmxxsrh1ca7xwxc0zj6ihg02w"; depends=[rms]; };
   noncensus = derive2 { name="noncensus"; version="0.1"; sha256="0cfj17bfzddfshhhzv2ijhrp9ylcscmsysswjcsjfxmy3gbkd00q"; depends=[]; };
   noncompliance = derive2 { name="noncompliance"; version="0.2.2"; sha256="1lcybgj95z7lz7p26xbsdiv0vvms4ab4f8kad0pclacf1l43v0j6"; depends=[data_table Rcpp]; };
   noncomplyR = derive2 { name="noncomplyR"; version="1.0"; sha256="1a9m6r9cizw42nmy24jdsrsbllg5z84fs8b239axnh1fxzskg2qy"; depends=[MCMCpack]; };
   nonet = derive2 { name="nonet"; version="0.4.0"; sha256="1043vplj8libbzll172h82dfwnz2lsdba5na2g9liryg8p08h4v8"; depends=[caret dplyr e1071 ggplot2 glmnet pROC purrr randomForest rlang rlist tidyverse]; };
   nonlinearICP = derive2 { name="nonlinearICP"; version="0.1.2.1"; sha256="1m9a1f0yrbjl0nx2l7r76pyi78b2bxj8v4jx92yga91f975mw6np"; depends=[caTools CondIndTests data_tree randomForest]; };
-  nonlinearTseries = derive2 { name="nonlinearTseries"; version="0.2.6"; sha256="0nsfpcqmfsn31gi5dyyc7y7zcafhqmv5931vkphbg51lgs6va0qp"; depends=[Matrix Rcpp RcppArmadillo rgl TSA tseries zoo]; };
+  nonlinearTseries = derive2 { name="nonlinearTseries"; version="0.2.7"; sha256="0p6gkhiajk168jw92gkfl4nf93fp6a4ya0c3gvsn9vz8r07pvkbr"; depends=[Matrix Rcpp RcppArmadillo rgl TSA tseries zoo]; };
   nonmem2R = derive2 { name="nonmem2R"; version="0.2.1"; sha256="0a7h9wb8dqjgzyk4hd9ivhy90n80wrrp4zkrxnvgfvza1619qd52"; depends=[ggplot2 gridExtra lattice latticeExtra MASS mvtnorm reshape2 splines2]; };
   nonmemica = derive2 { name="nonmemica"; version="0.9.0"; sha256="1vn70qynw2j2sf0z55dr9cl0inqzdk48xybsavcivn5dbl5lzzg2"; depends=[csv dplyr encode lazyeval magrittr metaplot rlang spec tidyr xml2]; };
-  nonneg_cg = derive2 { name="nonneg.cg"; version="0.1.1"; sha256="18jsn8pj9417w2as458gbl4y0zs08fcclhfsydgdvnyi9f358hav"; depends=[Rcpp]; };
+  nonneg_cg = derive2 { name="nonneg.cg"; version="0.1.6"; sha256="15361k0kjy1465s8pr9jb5jy22mibi37zcnza7mbfh5l66hr29kh"; depends=[Rcpp]; };
   nonnest2 = derive2 { name="nonnest2"; version="0.5-2"; sha256="1bq44qqmm59j91m0sny4xnqmxqlga4cm48qdsw8xfs3x19xwmxk6"; depends=[CompQuadForm lavaan mvtnorm sandwich]; };
   nonpar = derive2 { name="nonpar"; version="1.0.1"; sha256="0pxks3nga7jrcvq0pzr1axj3a9xvzky836fl7966a09ws1vff7i4"; depends=[]; };
   nonparaeff = derive2 { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[gdata geometry Hmisc lpSolve psych pwt rms]; };
@@ -10434,7 +10866,7 @@ in with self; {
   nopaco = derive2 { name="nopaco"; version="1.0.6"; sha256="0q705b7bjzq0b6vfp6yargybc8h07adx8al1ip7pxkmfcpilj66v"; depends=[Matrix]; };
   nopp = derive2 { name="nopp"; version="1.1.0"; sha256="1zn3ss89i7fwqps6b8syd9jzm68k95p3fdlf285q819dzlk61ypk"; depends=[MASS mlogit]; };
   nor1mix = derive2 { name="nor1mix"; version="1.3-0"; sha256="1817wcvlmxs70vs4db0jkxd7i037744zz8ay3c2a9949z29fxr4w"; depends=[]; };
-  nord = derive2 { name="nord"; version="0.0.1"; sha256="0ajymjn2xw7zik62nhjp11g8bkvsqhhsrzi3bl2k70y544wbl3kn"; depends=[ggplot2]; };
+  nord = derive2 { name="nord"; version="1.0.0"; sha256="1gisqca85vzbqq5hs5bgqjgrjyksxj176x97kv9vv6mwll8kijl9"; depends=[ggplot2]; };
   nordklimdata1 = derive2 { name="nordklimdata1"; version="1.2"; sha256="0c2hbh3qy8nrs275lxpzfgqsfgwp81m4kv0layvnjj09fcybm54x"; depends=[]; };
   norm = derive2 { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
   norm2 = derive2 { name="norm2"; version="2.0.2"; sha256="1bpkxgcz940mn7r62sn1w38kii93sjdxbvfayp0nhl4a2qanwxsm"; depends=[]; };
@@ -10452,7 +10884,7 @@ in with self; {
   notifyR = derive2 { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
   notifyme = derive2 { name="notifyme"; version="0.3.0"; sha256="0b6xrv6c4id7rs0dafg96pl4brn4yma5xh9wjz78ql44bg3w5s91"; depends=[dplyr httr magrittr]; };
   nowcasting = derive2 { name="nowcasting"; version="1.1.4"; sha256="1nj34cbkv1xlhmcfhxs32shv00mz02rp95xj59qkq5by53sx8qwq"; depends=[corpcor DBI httr lubridate magic matlab Matrix RCurl RMySQL vars xts zoo]; };
-  noweb = derive2 { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
+  noweb = derive2 { name="noweb"; version="1.1-2"; sha256="1h0v92l5jzgiy5rz33pan1l6rb3mykckmvn5c8jm3hhph6ipgqad"; depends=[]; };
   np = derive2 { name="np"; version="0.60-9"; sha256="1z4jcpx8bbgwslv42wrphfd1qfq965qjn0kmfxm5f6hbbycahcgy"; depends=[boot cubature quadprog quantreg]; };
   npExact = derive2 { name="npExact"; version="0.2"; sha256="055wm5lcj98wb71lqp2zdyl8kkwvi6lwmnaylynvr907xqabaqvd"; depends=[]; };
   npIntFactRep = derive2 { name="npIntFactRep"; version="1.5"; sha256="14ms66ppzb4jjsa3fparic6gdn913f6wv2ccjyb02j1ahs4iaa4g"; depends=[ez plyr]; };
@@ -10466,20 +10898,22 @@ in with self; {
   npcopTest = derive2 { name="npcopTest"; version="1.03"; sha256="1kpa3avi95aa93y038f4zqhhdp8vdscdk0c6397qmqjg34hf1dnr"; depends=[]; };
   npcp = derive2 { name="npcp"; version="0.1-11"; sha256="0zkf01rv065x6sg8b8yal6125wbvjzaris5l9ghn2279q1fwdqz3"; depends=[]; };
   npcure = derive2 { name="npcure"; version="0.1-4"; sha256="0fdl903akry53cbk3cpmsfgzj71vmpz9qksk1dzrg8yzsql37mf6"; depends=[permute zoo]; };
+  nph = derive2 { name="nph"; version="1.9"; sha256="0myy7rq3l1qjfkih6idggg7p9rfh352pvzmasbihi71wcdyibhni"; depends=[ggplot2 mvtnorm]; };
   nplplot = derive2 { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
   nplr = derive2 { name="nplr"; version="0.1-7"; sha256="1h3qv9dlw2gx8km3slyvrl588nif1n87df8xwmm6p75ziqhn2f56"; depends=[]; };
   npmlda = derive2 { name="npmlda"; version="1.0.0"; sha256="1dr25an7cac89jyb8zhmj3ry6lq7sh7zxci1injplnk4gzy17mc5"; depends=[]; };
   npmlreg = derive2 { name="npmlreg"; version="0.46-5"; sha256="1f0bzccmral2y56aih37gmi6mjww6wmp2a8z6yxm501fgj2lgzfc"; depends=[statmod]; };
   npmr = derive2 { name="npmr"; version="1.2"; sha256="073i9zcnyp8l5fxblx2sfyn0b4lr6i595q6kl6ispvzmylwqj8na"; depends=[]; };
   npmv = derive2 { name="npmv"; version="2.4.0"; sha256="04lfks2rlax59gxdnbgkpmk2vaax718z6hkgsvmyxf52iby6rvlr"; depends=[Formula]; };
-  npordtests = derive2 { name="npordtests"; version="1.1"; sha256="1g8s9nmqqawq65hvpg82c78l3ffsih057665hw98mkipqb9r0vs5"; depends=[]; };
-  nppbib = derive2 { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; };
+  npordtests = derive2 { name="npordtests"; version="1.2"; sha256="1axzcyy45h3rs67m0i3cvwbmza1mnmraxan9j4zlpxdd5x9nz4h8"; depends=[]; };
+  nppbib = derive2 { name="nppbib"; version="1.1-0"; sha256="1dcqcf2jhlz3n4d2kjix8wray9c7yaawfdbdg9lcrih1m7b8gmsy"; depends=[]; };
   npphen = derive2 { name="npphen"; version="1.1-0"; sha256="0pbf9sqdapl5q09g1hj5hi4j2wigrd0b6s0gbv1gx4wn68alrals"; depends=[ks lubridate raster rgdal rts snow]; };
+  npreg = derive2 { name="npreg"; version="1.0-0"; sha256="0idbradahyj6qm7nqrhvnfzly38x4apnbxslkk2i15ldvv50bfh7"; depends=[]; };
   npregfast = derive2 { name="npregfast"; version="1.5.1"; sha256="0s9ci3nybzwykrgi9z2rqp6l15mqbxf759ks0clvkbm7wxv3whk5"; depends=[doParallel foreach ggplot2 mgcv sfsmisc shiny shinyjs wesanderson]; };
-  nprobust = derive2 { name="nprobust"; version="0.1.4"; sha256="0ndn1a54i7zk7ixyimm1jdviz3x5l3qa0rpgsdd30jqv8fldfjpz"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  nprobust = derive2 { name="nprobust"; version="0.2.1"; sha256="086x6p4ipd910nnm2whsvbjkvmjny69ryh0lw0j5jjq2ddah5p1i"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   nproc = derive2 { name="nproc"; version="2.1.4"; sha256="1gj38yppip0ygxcgp0x9ba9kpr12ahmz2k0956x3h7py2rl8b098"; depends=[ada e1071 glmnet MASS naivebayes randomForest ROCR tree]; };
   nprotreg = derive2 { name="nprotreg"; version="1.0.0"; sha256="06n82i5m7sgfj759zdwwh8fqybkbchvnaaqcds64m6hbms592bh3"; depends=[expm]; };
-  npsf = derive2 { name="npsf"; version="0.5.1"; sha256="0xpzfskwsc7g7flvfxnzcfjsfdlqdgy4ypxp84xcpaqampgfgd13"; depends=[Formula randtoolbox Rcpp sfsmisc]; };
+  npsf = derive2 { name="npsf"; version="0.5.2"; sha256="0iz4dh2cv1bi90wdf08x70rdm44xmzblck69rlg7vnsb6n2q2is9"; depends=[Formula randtoolbox Rcpp sfsmisc]; };
   npsm = derive2 { name="npsm"; version="0.5.1"; sha256="00xh3x731lqb5vbzmfmlldrvc8s4s88dc394iifsn2g7r5naxks0"; depends=[plyr Rfit]; };
   npsp = derive2 { name="npsp"; version="0.7-5"; sha256="0ci3am6lbmb1raxdqj4ckcm7y1889j0zsk52awl15sjhkx8l2saa"; depends=[quadprog sp spam]; };
   npsr = derive2 { name="npsr"; version="0.1.1"; sha256="1fzvilzjg9z05991sr1s1bdp17kfl6d1580qdllk8is9ac06np0v"; depends=[gmp infotheo MASS]; };
@@ -10490,6 +10924,7 @@ in with self; {
   nsRFA = derive2 { name="nsRFA"; version="0.7-14"; sha256="0sd3br2a5jf6mqbxk8s2i7px9vi9bk3pl8bd5884k40xqcj77irs"; depends=[]; };
   nsROC = derive2 { name="nsROC"; version="1.1"; sha256="1fi7k61fja98kpn528jprjdycwz01rnqm368m82anxh21k7q4s1m"; depends=[sde survival]; };
   nsapi = derive2 { name="nsapi"; version="0.1.1"; sha256="06xf2p6f911vwpzky47r35fjgjvlhp13p9pf1zlvjrv66kdw8vbp"; depends=[crul xml2]; };
+  nsarfima = derive2 { name="nsarfima"; version="0.1.0.0"; sha256="0iw1daha6c2l4zmqa0m917kgbx3d7mh7bhwbrsyxmvr5qs81drhk"; depends=[]; };
   nscancor = derive2 { name="nscancor"; version="0.6.1-25"; sha256="183kvzlln5lhmi51dm0skq1165c3hhy1yz5h2g7nxwqk2b4p23xj"; depends=[]; };
   nscprepr = derive2 { name="nscprepr"; version="0.1.1"; sha256="1rd32zywrzyxz6hpn9s6cwjlg8q8rz3cc0p3b5gan8bicx0ilwjc"; depends=[dplyr lubridate stringr]; };
   nse = derive2 { name="nse"; version="1.19"; sha256="107ri9325ga4kgvs5a3j3698dc3m4v28cb02ypc4dan6f3fa9h8i"; depends=[coda mcmc mcmcse np Rcpp sandwich]; };
@@ -10499,14 +10934,14 @@ in with self; {
   nsgp = derive2 { name="nsgp"; version="1.0.5"; sha256="0piajjz3r71dnjw7lwpjhbaygxcrbbxfvhf8p3n2izyr2pw5fml9"; depends=[MASS]; };
   nspmix = derive2 { name="nspmix"; version="1.4-0"; sha256="1cd133ncnr4g0n6w4c44q6mda8y1n7cfmsgy1x1kczvwp7cm9kk2"; depends=[lsei]; };
   nsprcomp = derive2 { name="nsprcomp"; version="0.5.1-2"; sha256="1zlc1ximx96f235c0l8qfs6vbp1kpnbf943wxsfahnnlnxvwi59f"; depends=[]; };
-  nsrr = derive2 { name="nsrr"; version="0.1.2"; sha256="0g0s8zw2dqi6r0v0mhkjdc40czc9njxk6w4ak380n4g4224cxwzn"; depends=[digest httr jsonlite]; };
+  nsrr = derive2 { name="nsrr"; version="0.1.3"; sha256="11g0xgznd2n29cc9zxr0rrkqhxhjnp277gb7z871kgk6qnjswpwv"; depends=[digest httr jsonlite]; };
   nucim = derive2 { name="nucim"; version="1.0.6"; sha256="0bw9a2xz2w5jlr2qlbia6jfm2yp09n3gzg8a630p1ks75xvlmkbx"; depends=[bioimagetools EBImage fields stringr]; };
   nullabor = derive2 { name="nullabor"; version="0.3.5"; sha256="0hnrawf8s2g0xjc9kh2p3pbdnbai7q71z7arab5mnrz6qbiyym34"; depends=[dplyr forecast fpc ggplot2 magrittr MASS moments purrr rlang tibble tidyr tidyverse tsibble]; };
   numDeriv = derive2 { name="numDeriv"; version="2016.8-1.1"; sha256="0idk02pqkziik932bd8k72d1q775g1is3m4bc861pcxfz6gx3i6q"; depends=[]; };
   numGen = derive2 { name="numGen"; version="0.1.1"; sha256="1y41wq31r8126dz1sj23smq2k6v9yqczq4ddgzqb73dsrx9dmmc0"; depends=[]; };
   numKM = derive2 { name="numKM"; version="0.1.0"; sha256="0pnwb7skp5jx5ibgfkympq59m9sf71gvk5zc0fwik539vrzfykdf"; depends=[survival]; };
   numOSL = derive2 { name="numOSL"; version="2.6"; sha256="03h1p56650x4my5vq5jlmjsz5xj0w2j75qfr08rh7nr38dwgp1k8"; depends=[]; };
-  numbers = derive2 { name="numbers"; version="0.7-1"; sha256="1k5a24pnjhn3h330q0s7ivk2v5dsjmg2xwlhfinzixihnwhc12xy"; depends=[]; };
+  numbers = derive2 { name="numbers"; version="0.7-5"; sha256="1dz23rmjzdns4av28kk8bc9psj71q2bpcgm1m7sxnyzcxpm8hczc"; depends=[]; };
   numbersBR = derive2 { name="numbersBR"; version="0.0.2"; sha256="0ihxlny745gpz1ngq862rydn1zwn8zni1xw9mmgw8hkylsrnjfq8"; depends=[stringr]; };
   numform = derive2 { name="numform"; version="0.5.0"; sha256="1c9vhzm4rjh8b5bkzkv1r9j2y1iqndq9ndandix28wdgn2v6lzv6"; depends=[glue]; };
   nutriNetwork = derive2 { name="nutriNetwork"; version="0.1.1"; sha256="0ya95h88jkiwc7cg7ic8bmyd7b0lgnhxrywwqvi2j6m6nbvvaxzy"; depends=[glasso huge igraph Matrix tmvtnorm]; };
@@ -10514,16 +10949,16 @@ in with self; {
   nutshell_audioscrobbler = derive2 { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
   nutshell_bbdb = derive2 { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; };
   nvctr = derive2 { name="nvctr"; version="0.1.1"; sha256="0hjrimg0hvwgkx2hbln6k8z0f2bp9kln7mxxh623qjp0hg4mcvcn"; depends=[magrittr pracma]; };
-  nvmix = derive2 { name="nvmix"; version="0.0-1"; sha256="13pp664n5f06gavny586xrwm1n18jndr0hlqx5fdy68n6py0vz9r"; depends=[qrng]; };
+  nvmix = derive2 { name="nvmix"; version="0.0-2"; sha256="18825p8hdrfiznjkgx26i2qmhpyj9ky1kc4k2az7d29pnrjnyjdg"; depends=[Matrix qrng]; };
   nws = derive2 { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; };
-  nycflights13 = derive2 { name="nycflights13"; version="1.0.0"; sha256="10b05cxpiysvlif59lriprxcyhgk59d3qmcpwwzk88wy6bicl9hn"; depends=[tibble]; };
+  nycflights13 = derive2 { name="nycflights13"; version="1.0.1"; sha256="0h4jzg4q5qpvjp5b2wlk3a2mh0jhyz9c1acdjcmg70pap7fyh0fj"; depends=[tibble]; };
   nzelect = derive2 { name="nzelect"; version="0.4.0"; sha256="19kcbq454yg9g76ix7v3nibgw2203d7vv6f2d6d2zkcc0h08bjm7"; depends=[]; };
-  nzilbb_labbcat = derive2 { name="nzilbb.labbcat"; version="0.2-2"; sha256="0424kf53wrs8q5iqs08zbq6srjnz7z5pakz98fmvznlv9ximzvhc"; depends=[httr jsonlite rstudioapi stringr]; };
+  nzilbb_labbcat = derive2 { name="nzilbb.labbcat"; version="0.3-1"; sha256="03n0j9xb3qgjrqwh8rw5vqyf71223knhfvb7bki4zp2hm00k9ywq"; depends=[httr jsonlite rstudioapi stringr]; };
   nzpullover = derive2 { name="nzpullover"; version="0.3.0"; sha256="0b3mz5i58m48fa1x7gv4l3gqj0gvrar201ph2l1gkbcnfmazwjp8"; depends=[]; };
   oXim = derive2 { name="oXim"; version="1.2.2"; sha256="1hi4ps36amvgqgj64yc3cvy4sx32z1az6lk5yy1sciy6074k5byb"; depends=[gstat imagine R_matlab sp]; };
   oaColors = derive2 { name="oaColors"; version="0.0.4"; sha256="040sdqrk9dciylnnrrshlj06s9qhvngii9shx1p8412ip7mk8r1m"; depends=[MASS RColorBrewer]; };
   oaPlots = derive2 { name="oaPlots"; version="0.0.25"; sha256="0c5ig1ar02vg38pjjmp3gd53ij1j7pzajs0zrlfajz141qkv2ysr"; depends=[ggplot2 oaColors]; };
-  oai = derive2 { name="oai"; version="0.2.2"; sha256="0q1w29wrppi5sfabdw8px7zr92bgri3jhy0y7dhi46xggxfg9vm1"; depends=[httr plyr stringr tibble xml2]; };
+  oai = derive2 { name="oai"; version="0.3.0"; sha256="1ipw9bq3ra66d1ddj1rylyyd20mlcb2i7phzhywra53s1fdifq1g"; depends=[httr plyr stringr tibble xml2]; };
   oak = derive2 { name="oak"; version="0.2.3"; sha256="1119llsv9pik6fpw3zhiz6xnqc2svsf0dfwcg9iywdjclv4bqqbs"; depends=[foreach purrr R6 rlang rlist rstudioapi]; };
   oaqc = derive2 { name="oaqc"; version="1.0"; sha256="1rc0l79xygmr2rp5sjadzigbj65a13z5xlvrxzy26cl0wsxwhmjf"; depends=[]; };
   oasis = derive2 { name="oasis"; version="3.0.4"; sha256="1h1w46rbkbsjvh3fjniy3v7y30r2vf1kiqs807kavf0bpb6a1202"; depends=[fslr mmand neurobase oro_nifti]; };
@@ -10539,16 +10974,17 @@ in with self; {
   obs_agree = derive2 { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; };
   obsSens = derive2 { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
   observer = derive2 { name="observer"; version="0.1.2"; sha256="1027827k57qb4xppx0xxxffd1s3n7pz754irdx3v1v3piix8xi8m"; depends=[bazar bit dplyr lazyeval magrittr tibble]; };
-  oc = derive2 { name="oc"; version="1.01"; sha256="12idrh4jxxq28lgqzr6jzgrvmmwysh5amzhmmaqn3yz49i17gcaf"; depends=[pscl]; };
   occ = derive2 { name="occ"; version="1.1"; sha256="1aka29qqwbd494kvi15yyyqkb9hks4ky2gcvykxhx2drm2fnsn4g"; depends=[]; };
   oce = derive2 { name="oce"; version="1.1-1"; sha256="0hwfnpb6q6pmckzgh67ryvqd1jkrzzhn187x1655rnmkmp9zis1c"; depends=[gsw Rcpp testthat]; };
-  oceanis = derive2 { name="oceanis"; version="0.8.6"; sha256="1snlad2fdhjvyp2px55qa0rf057fsfidn4sg4hd19jny0jkrsi4s"; depends=[classInt dplyr DT foreign ggplot2 leaflet leaflet_extras lwgeom mapview munsell readODS sf sfc shiny shinyBS shinyjs shinythemes stringr tidyr units xlsx]; };
-  oceanmap = derive2 { name="oceanmap"; version="0.1.0"; sha256="1kkjc213nn2ks7cqzchbmjvyp9hci8qndv8migpmyf5vjbm7d297"; depends=[abind extrafont fields lubridate mapdata maps maptools ncdf4 plotrix raster sp]; };
+  oceanis = derive2 { name="oceanis"; version="1.0.5"; sha256="0fdcrwyv8idnspx1z82x92jh8iy58dcbqz97kammbs74ywjsgq34"; depends=[classInt dplyr DT foreign ggplot2 leaflet leaflet_extras lwgeom mapview munsell readODS sf sfc shiny shinyBS shinyjs shinythemes stringr tidyr units xlsx]; };
+  oceanmap = derive2 { name="oceanmap"; version="0.1.0.1"; sha256="0cdv5rizrlbzz1ifcqh726kmki0j68w829k9f0cfnckmh3rwj2y6"; depends=[abind extrafont fields lubridate mapdata maps maptools ncdf4 plotrix raster sp]; };
+  oceanwaves = derive2 { name="oceanwaves"; version="0.1.0"; sha256="0izgnqjji3xrvv8xbpsdbrx53wdb3rg3045xx6gcknfl2fj5iky7"; depends=[bspec ggplot2 signal]; };
   ocedata = derive2 { name="ocedata"; version="0.1.5"; sha256="0rs3nzacvg5mbbmbhcj8g9ikjlw26x2mka7lp644l17kgmzzynh6"; depends=[testthat]; };
   ockc = derive2 { name="ockc"; version="1.0"; sha256="0chzrs3ipa2518r4d35z4fxffgq12p1mwj0hzkxw19gdgq6aa8s7"; depends=[flexclust modeltools]; };
+  oclust = derive2 { name="oclust"; version="0.1.0"; sha256="005ml6vhi9rw6js2v4f1dc2ci8kcd7iwrkgbs4c1qxc836ygq0yx"; depends=[entropy mclust]; };
   ocomposition = derive2 { name="ocomposition"; version="1.1"; sha256="0fk8ia95yjlvyvmjw7qg72piqa40kcqq9wlb3flc6a81pys1ycb5"; depends=[bayesm coda]; };
   ocp = derive2 { name="ocp"; version="0.1.1"; sha256="0q52s8j3z3xwnma3sxx6019qxid66bf0a43w4g8xjagplwps57dx"; depends=[]; };
-  odbc = derive2 { name="odbc"; version="1.1.6"; sha256="146phrsks0hfd1bfxx452kkq7ximk3fwjz9lqg9fdykar5sr6vjj"; depends=[BH bit64 blob DBI hms Rcpp]; };
+  odbc = derive2 { name="odbc"; version="1.2.0"; sha256="12crw6xxyd1cj911ihkfifrpwvdl4jjpjzi7l8pi6y658r2q5mdx"; depends=[BH bit64 blob DBI hms Rcpp rlang]; };
   odds_converter = derive2 { name="odds.converter"; version="1.4.8"; sha256="09s8pg55gpsxmrbimzg5rsr1n07la93781sar6vab5p9zn9zxgx4"; depends=[]; };
   odds_n_ends = derive2 { name="odds.n.ends"; version="0.1.1"; sha256="0kgdv4m14h4a16b0k2s2qjyjn0kxk5sf4qkbi6ikm6kqdh5ashp4"; depends=[MASS]; };
   oddsratio = derive2 { name="oddsratio"; version="2.0.0"; sha256="0lr56djlw52j3azvifcdbyn01b85jv18gm789s7skmnylrl3rgw9"; depends=[ggplot2 mgcv stringr tibble]; };
@@ -10557,12 +10993,12 @@ in with self; {
   odk = derive2 { name="odk"; version="1.5"; sha256="0fcnr4c1clwx1sk6fgg4cx506gdi90n2h05g0i47p4s5bra0qwwl"; depends=[gsheet openxlsx]; };
   odpc = derive2 { name="odpc"; version="2.0.1"; sha256="06d574sj7p5qlf7s3lbrwd56mcs4lq3pn9bkzwxhpybibgrfzn5q"; depends=[doParallel foreach forecast Rcpp RcppArmadillo]; };
   odr = derive2 { name="odr"; version="1.0.0"; sha256="0niadinljx5pph329dgixivdc9s1l27ik9755fbfhmplhj92ihi2"; depends=[]; };
-  oem = derive2 { name="oem"; version="2.0.9"; sha256="1ffv71cwf58wrba3zhyp443kfl0j3z451mgxsxl8ig5fn9y9i9ca"; depends=[BH bigmemory foreach Matrix Rcpp RcppArmadillo RcppEigen]; };
   ofGEM = derive2 { name="ofGEM"; version="1.0"; sha256="0xdkl8k12an9pdy6i5nay4m2iakrwsp0lr3zl8gphii75j0ywz7k"; depends=[CompQuadForm forestplot MASS]; };
-  officer = derive2 { name="officer"; version="0.3.5"; sha256="005kaxjhr40shpav2pg7s7gj8f49579r7rbgwlncbwv16nn0rbbg"; depends=[base64enc digest htmltools magrittr R6 Rcpp rlang uuid xml2 zip]; };
+  officer = derive2 { name="officer"; version="0.3.6"; sha256="1i6jmnbkx7gd0qyf6akhizmxp7y1dh3h7a886mcbmrzka9d60zh4"; depends=[base64enc digest htmltools magrittr R6 Rcpp rlang uuid xml2 zip]; };
   offlineChange = derive2 { name="offlineChange"; version="0.0.2"; sha256="1d8jm8mm8g1fcbffk697qap58dcw3yyvrm9daviy42jsz59nbsxs"; depends=[Rcpp]; };
   oglmx = derive2 { name="oglmx"; version="3.0.0.0"; sha256="13axmhbqhv4kkcdsdmp9r7p0d0kyqlsaqgyyllbkxlxb4hfz79b6"; depends=[maxLik]; };
-  ohtadstats = derive2 { name="ohtadstats"; version="2.1.0"; sha256="17fpfqpvmyh2ykyb56g2zc72f8d8x7d85wmdm63n7b9kr53lscj3"; depends=[lattice]; };
+  ohenery = derive2 { name="ohenery"; version="0.1.1"; sha256="0i7cc110c30y7dm86srh2xkikkmlr28mvy0kkjxywxmiwnrsmzjq"; depends=[dplyr magrittr maxLik Rcpp]; };
+  ohtadstats = derive2 { name="ohtadstats"; version="2.1.1"; sha256="0hkjs322vii1dsminlkwpwi12sc9pd88jag7p4dmy6nfw2hh2d69"; depends=[lattice]; };
   oii = derive2 { name="oii"; version="1.0.2.1"; sha256="1n41hikn53ikyynsravg127cw5csa8s0s1l63w5hym7c6j625ya5"; depends=[Deducer gmodels rapportools]; };
   okcupiddata = derive2 { name="okcupiddata"; version="0.1.0"; sha256="1l04rr4yr73a6q2am9ylyr5prf347hkf2jx735w78rsb6472kbaq"; depends=[]; };
   okmesonet = derive2 { name="okmesonet"; version="0.1.5"; sha256="1kzyzmg702ayzphn9jsk64m51mlnz37ylxiwq5gsr23vaiida680"; depends=[plyr]; };
@@ -10574,11 +11010,11 @@ in with self; {
   ompr_roi = derive2 { name="ompr.roi"; version="0.8.0"; sha256="1cbrchvpd31lxpxvw2l3q9k5jmffarb1shca8kwm76y5a6zxxq63"; depends=[Matrix ompr ROI slam]; };
   omu = derive2 { name="omu"; version="1.0.2"; sha256="03mj5xk447gadsnvqrm97cjcyfq4xzkgc46kw85gishv7w9qmqrk"; depends=[dplyr ggfortify ggplot2 KEGGREST magrittr plyr reshape2 stringr tidyr]; };
   oncomodel = derive2 { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
-  oncrawlR = derive2 { name="oncrawlR"; version="0.1.5"; sha256="07zhc76dz0ngvwmj1nq80hqp105wwsx85wcqxcma2vlh5k19j6hf"; depends=[caret DALEX dplyr ggplot2 jsonlite pROC RCurl readr rlang rlist xgboost]; };
+  oncrawlR = derive2 { name="oncrawlR"; version="0.1.8"; sha256="0l7b3gx21jli97jq0i87bkp01v1b4xmmh9k4zjhdij6412rv0rfh"; depends=[caret DALEX dplyr e1071 formattable fs ggplot2 htmltools jsonlite pdp pROC RCurl readr rlang rlist scales sparkline tidyr webshot xgboost]; };
   onehot = derive2 { name="onehot"; version="0.1.1"; sha256="1cdsz007wr054k5phvihhg4qx0fc039k2s6484m92kws8mb2ziix"; depends=[]; };
-  onelogin = derive2 { name="onelogin"; version="0.1.0"; sha256="1fdh3hn8paasf7zq29k4h4ng26bl63sps0lbv84g60pxhsay2bma"; depends=[glue R6 safer]; };
-  onemap = derive2 { name="onemap"; version="2.1.1"; sha256="0j9c0ynwpzyr548n72wzmmk8gi52qvxlxgzqzn8g6n4v5zmzlkhy"; depends=[fields ggplot2 maps Rcpp reshape2 tkrplot]; };
-  onewaytests = derive2 { name="onewaytests"; version="2.3"; sha256="0wi623f7jh8msnsfbsc5va4c2qy3h6l68g5rx7wrjz6nxwlqzi8y"; depends=[car ggplot2 moments nortest]; };
+  onelogin = derive2 { name="onelogin"; version="0.2.0"; sha256="06p3a8kaxmvsj8nn7dy8w6wv1jjw67is991hqg9q0fa20ifym3dl"; depends=[glue jsonlite magrittr R6 safer tibble]; };
+  onemap = derive2 { name="onemap"; version="2.1.2"; sha256="142yasn8pyd046d8s0k3i4ynmpq7rh6v2vjdnj88yn99zshaxfig"; depends=[ggplot2 MDSMap plotly Rcpp reshape2]; };
+  onewaytests = derive2 { name="onewaytests"; version="2.4"; sha256="1rsamf6mwpah02zwpv270sn17aaav0c030wlsv90k2awmkms2ka6"; depends=[car ggplot2 moments nortest]; };
   onion = derive2 { name="onion"; version="1.2-7"; sha256="17jx7saxcsahyyivln4v9fzzcmidy6ygjd9n81skv5jpr491zkgk"; depends=[]; };
   onlinePCA = derive2 { name="onlinePCA"; version="1.3.1"; sha256="08qivsfnwz5vp089lv9czsaz3nfi42kn9yhgzf27dji18y2xscic"; depends=[Rcpp RcppArmadillo RSpectra]; };
   onlineVAR = derive2 { name="onlineVAR"; version="0.1-1"; sha256="01z2d91mbdjvwwiqjq1dbqp50jbc9v6d7nw4gs7d1abhsqyiqa13"; depends=[lattice]; };
@@ -10587,29 +11023,33 @@ in with self; {
   ontologyIndex = derive2 { name="ontologyIndex"; version="2.5"; sha256="127hlf0z5fmbgnq4p9h8nvn6p72d2fpcn846zzb99s213421jnry"; depends=[]; };
   ontologyPlot = derive2 { name="ontologyPlot"; version="1.4"; sha256="0sj1jg9lr1w3ahzw7fj86vp2bnvf4nq0x3hiqb3hzngwyj9bykpn"; depends=[ontologyIndex paintmap Rgraphviz]; };
   ontologySimilarity = derive2 { name="ontologySimilarity"; version="2.2"; sha256="1g1ag2bnfczdx2xyswrc9xbl9krnyibb4639wynm7c0lf2876964"; depends=[ontologyIndex Rcpp]; };
-  oompaBase = derive2 { name="oompaBase"; version="3.2.8"; sha256="0w2rgrnk0n6nbygl6i54rh9a4cqi9ssksaxn7a8rszyp9i3md323"; depends=[cluster]; };
+  oompaBase = derive2 { name="oompaBase"; version="3.2.9"; sha256="1cmw2s5dznmv675484jgvkzgvi6vhg0zbxsq6zhpqsisf672pjhl"; depends=[cluster]; };
   oompaData = derive2 { name="oompaData"; version="3.1.1"; sha256="0by9qfxlx6fdmp12qnphlli5hdn5balvx4ckg64fw6vwa291g7b0"; depends=[]; };
-  opalr = derive2 { name="opalr"; version="1.1.0"; sha256="0z6fxfa8siyvbp44kq4myhg9rzm10qraqx9h1d3zpx4f6ha7ygiw"; depends=[httr jsonlite mime xml2]; };
+  opalr = derive2 { name="opalr"; version="1.2.0"; sha256="1kix8lndy741bm9rksy7bgmwj1g8ndzjdbq26b4z7xpkscbrmkx7"; depends=[httr jsonlite mime xml2]; };
+  opart = derive2 { name="opart"; version="2019.1.0"; sha256="0yw4vlip4whhvp23yjr57h5j0ii8ighp77g3fjjzr3l56slmrmcz"; depends=[]; };
   openCR = derive2 { name="openCR"; version="1.4.1"; sha256="046ijw5ss8nb0m11p7r682zi7242m0ljydnsrr3gwrnmc4ayk6xv"; depends=[abind MASS nlme plyr Rcpp RcppParallel secr stringr]; };
   openEBGM = derive2 { name="openEBGM"; version="0.8.2"; sha256="0v6jr1yry937knvkrn448rkilwfl7w90169lm5vnp53ds6fhh7bj"; depends=[data_table ggplot2]; };
-  openNLP = derive2 { name="openNLP"; version="0.2-6"; sha256="1173cng877sg6ynbs3csfnn956wwrq3yldhhzfbqdsz35draganj"; depends=[NLP openNLPdata rJava]; };
+  openNLP = derive2 { name="openNLP"; version="0.2-7"; sha256="15yl74wv6w1d2wwpn1xlkkpam3c62977gnqal651fv623v29gg35"; depends=[NLP openNLPdata rJava]; };
   openNLPdata = derive2 { name="openNLPdata"; version="1.5.3-4"; sha256="0j45rh9qki8r5wavaysrfsvb3wc3x8jjicqff2yi0r34j58xvlv8"; depends=[rJava]; };
   openSTARS = derive2 { name="openSTARS"; version="1.1.0"; sha256="1cjws49r22cmdax136zcy3k35yzbajkm6pyfibgcw2iqdxy1vcxg"; depends=[data_table progress raster rgdal rgrass7 sf sp SSN]; };
   openVA = derive2 { name="openVA"; version="1.0.8"; sha256="17nqh43gmhlb383ack1pbjkdfdb2g0k527zprdp1xkyxbp92v7xa"; depends=[cli crayon ggplot2 InSilicoVA InterVA4 InterVA5 Tariff]; };
   openadds = derive2 { name="openadds"; version="0.2.0"; sha256="1jb8zd3rpxfkjkg895iab6m4cfi53p5vy3nnpjkgq7ym6499qjcv"; depends=[crul dplyr jsonlite maptools rappdirs readr tibble xml2]; };
-  openair = derive2 { name="openair"; version="2.6-5"; sha256="1v1s6ld8f78svgjjr0nmvwrpfrqrl0d0ymi85v0slzg3b9ml3a7b"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr RColorBrewer Rcpp rlang tidyr]; };
+  openair = derive2 { name="openair"; version="2.7-0"; sha256="1h2hyk93xvcw3i86k1kw7w9y2s39l6xnj7hjqp3wawgm4nnsr5kp"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr Rcpp readr rlang tidyr]; };
+  openblender = derive2 { name="openblender"; version="0.3.2"; sha256="1mjmphmhbrxvz6szaphmfbdjp491z7fq18dbmd3v4v216ypfw2d9"; depends=[httr jsonlite xml2]; };
   opencage = derive2 { name="opencage"; version="0.1.4"; sha256="1lqs38lml73axsjlsjkmcsb2irgs40mjrx2cn3k0bjb63qyb9hf5"; depends=[dplyr httr jsonlite memoise]; };
-  opencpu = derive2 { name="opencpu"; version="2.1.2"; sha256="0rgzgrnwvcg13advszk8skyvnx1pnhy1fv2m6gjp5rp4m3frfz3y"; depends=[brew curl evaluate httpuv jsonlite knitr mime openssl protolite rappdirs remotes sendmailR sys webutils zip]; };
+  opencastR = derive2 { name="opencastR"; version="0.1.2"; sha256="0fnp4bsr35knff7q19jqmlwdnfh9qzk2zsvg92y3pg1g64fmxazv"; depends=[httr jsonlite]; };
+  opencpu = derive2 { name="opencpu"; version="2.1.4"; sha256="06jsymwgckgnzp49brnxb5d250kybzxggy99wlkhlfgnchdisgkh"; depends=[brew curl evaluate httpuv jsonlite knitr mime openssl protolite rappdirs remotes sys webutils zip]; };
   opencv = derive2 { name="opencv"; version="0.1"; sha256="0m649g6k6cgxnljjx8czypjawbyzx7xjcg32wddxkrgi2b236lwh"; depends=[magrittr Rcpp]; };
+  opendatatoronto = derive2 { name="opendatatoronto"; version="0.1.1"; sha256="1rabbpq1jmihrm5wz8i5pkxfhpbm8x6dk3bqj56fnkzqkmg6zwjj"; depends=[ckanr geojsonsf magrittr readxl sf tibble xml2]; };
   opendotaR = derive2 { name="opendotaR"; version="0.1.4"; sha256="17cygsw3nkg6zincfrcdh1509rlz3n5zrv9wvv7mjngm61sn79nf"; depends=[dplyr jsonlite lubridate]; };
   openintro = derive2 { name="openintro"; version="1.7.1"; sha256="059azlasdkmp8f54qpjf3mq5dyqakw0dgx0kx85wfdmhq38zal5n"; depends=[]; };
   openssl = derive2 { name="openssl"; version="1.4.1"; sha256="1ihz2qi33lhngl19xdanq0pbmfaacy63794mg8ll7z2lab3yryzp"; depends=[askpass]; };
   opentraj = derive2 { name="opentraj"; version="1.0"; sha256="13nqal96199l8vkgmkvl542ksnappkscb6rbdmdapxyi977qrgxk"; depends=[doParallel foreach maptools openair plyr raster reshape rgdal sp]; };
-  openxlsx = derive2 { name="openxlsx"; version="4.1.0.1"; sha256="1lflygpi1z4rlb1c6g6wsmi334maiiy7jhpg6ph4sw8lpvg12w4b"; depends=[Rcpp zip]; };
+  openxlsx = derive2 { name="openxlsx"; version="4.1.3"; sha256="087zivh9xdh1kk8zci67ys0m2xq0slzwgnf0jl05yy4gsgb6nmyx"; depends=[Rcpp rlang stringi zip]; };
   opera = derive2 { name="opera"; version="1.0"; sha256="0p2wg3srg088l420ykrq0wqvzh1mp6l753rdw35f7kdmaj08mqfq"; depends=[quadprog quantreg RColorBrewer]; };
   operator_tools = derive2 { name="operator.tools"; version="1.6.3"; sha256="1v4dg7xhz24dnp0zxn815x1405ig64ibii6y40la1gvmzcc41dz5"; depends=[]; };
   operators = derive2 { name="operators"; version="0.1-8"; sha256="0zgcv2q46qyqv4dhbd33s4044zjw38w8dqfpzs0c1lxjpkil3dnx"; depends=[]; };
-  oppr = derive2 { name="oppr"; version="0.0.3"; sha256="12ix8qbns83cff642105rnl609f6gqn8avpypiil2m0mbcwz8cc5"; depends=[ape assertthat cli ggplot2 lpSolveAPI magrittr Matrix proto Rcpp RcppArmadillo RcppProgress tibble tidytree uuid viridisLite]; };
+  oppr = derive2 { name="oppr"; version="0.0.4"; sha256="1wxdrcchg8izdr4zdvq8dpgz5n2m4b5w4lavmvd3vhvjs6i6bb60"; depends=[ape assertthat cli ggplot2 lpSolveAPI magrittr Matrix proto Rcpp RcppArmadillo RcppProgress tibble tidytree uuid viridisLite]; };
   ops = derive2 { name="ops"; version="1.0"; sha256="0cvwyn5sz5lx8sin8w4k8ymslfl4nfaa012a9vcl2hvp4850rk25"; depends=[]; };
   optAUC = derive2 { name="optAUC"; version="1.0"; sha256="0j1llzqa3n7kqw3i5bb7284z0hi6s5jbjfl9zap0l7xf6hg4x1dn"; depends=[MASS]; };
   optBiomarker = derive2 { name="optBiomarker"; version="1.0-27"; sha256="1kkj602d4klwyd8kylawgfysg8dlp2g6j7afkppzv5x8mbhs5ji4"; depends=[e1071 ipred MASS Matrix msm randomForest rgl rpanel]; };
@@ -10627,6 +11067,7 @@ in with self; {
   optifunset = derive2 { name="optifunset"; version="1.0"; sha256="18pvdl04ln1i0w30ljdb3k86j27zg2nvrn3ws54c1g6zg9haqhbg"; depends=[]; };
   optigrab = derive2 { name="optigrab"; version="0.9.2.1"; sha256="1c3q4kx8rkgpjsy0hy2w2dd9kv51avnw1ab82hzmjgngfnvaig0n"; depends=[magrittr stringi]; };
   optim_functions = derive2 { name="optim.functions"; version="0.1"; sha256="1la3v8yd9cdichp3mka4x86hr9lynh6qfg7h9ab6cwijw6kzkn6g"; depends=[lhs randtoolbox stringr]; };
+  optimCheck = derive2 { name="optimCheck"; version="1.0"; sha256="1qjkv1mfyn7sw0dkxxcdaqj85vl71cgffpf3k3mvzy0s8yhxjb4n"; depends=[]; };
   optimParallel = derive2 { name="optimParallel"; version="0.8-1"; sha256="176m425pp3jf48jip513hvbrvgjv78qzylmksqw5ks8yhylq41l9"; depends=[]; };
   optimStrat = derive2 { name="optimStrat"; version="2.0"; sha256="0n9igrxyasl2h2xjsx044ma3nqbd8258psc2h6za2pw6jjwwlz4g"; depends=[cubature mvtnorm shiny]; };
   optimbase = derive2 { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; };
@@ -10637,15 +11078,15 @@ in with self; {
   optimus = derive2 { name="optimus"; version="0.2.0"; sha256="01njyjfrm6kjwx2qq41c0hsgxzydnrmr3538cpbfdn5i0z5blgyx"; depends=[mvabund ordinal]; };
   optimx = derive2 { name="optimx"; version="2018-7.10"; sha256="0npzgb5ky3p2iky4917grmysawh7mb5gwz4i7ssmh73ypqnndfhk"; depends=[numDeriv]; };
   optional = derive2 { name="optional"; version="2.0"; sha256="0hj0gwvk9svllv44kfdgv3a2mriwqnaxvn3rj7w1djha7mryl6jl"; depends=[magrittr]; };
-  optionstrat = derive2 { name="optionstrat"; version="1.3.0"; sha256="0aapgga8a4rnffns0jq1l3gv319i3cq1h49wgprh6cafvb5nm61l"; depends=[]; };
+  optionstrat = derive2 { name="optionstrat"; version="1.4.0"; sha256="0mb3hsr5dxlam1a8zi337jgg0qcvhaxa84qdni0q4b4500r2yy7w"; depends=[]; };
   optiscale = derive2 { name="optiscale"; version="1.1"; sha256="1c263w9df66m7lgvzpdfm2zwx9nj8wcdpgh5gijachr2dzffmrp2"; depends=[lattice]; };
   optismixture = derive2 { name="optismixture"; version="0.1"; sha256="0nacfbqlnzajp1hfhf0yzm2d86fxpp4kw2zy33q8k2d4sr56bird"; depends=[Matrix mvtnorm]; };
-  optmatch = derive2 { name="optmatch"; version="0.9-11"; sha256="0lvba8gca1bvf7b46kmjqpkb3ykip07niw1w2qghgqrfxkq0s6yi"; depends=[digest Rcpp RItools survival]; };
-  optparse = derive2 { name="optparse"; version="1.6.2"; sha256="0zrp6jakjhawrwfri270ym83vj5a7nvjk0w6b41z41ahw2da99dm"; depends=[getopt]; };
+  optmatch = derive2 { name="optmatch"; version="0.9-12"; sha256="099135433855259n1ci5vzcr5v2szvrw09mcdb8vn1hmv9p5251v"; depends=[digest Rcpp RItools survival]; };
+  optparse = derive2 { name="optparse"; version="1.6.4"; sha256="0wyrc42ja3ab5szx46zmz8lm7vzfqxkjca0m0sms8g9hqbmmay6d"; depends=[getopt]; };
   optpart = derive2 { name="optpart"; version="2.3-0"; sha256="125b9sfdk4bdcj1vq5rxlrskv1zra31x8d96pdxnqvcnkmwxm4zh"; depends=[cluster labdsv MASS plotrix]; };
   optrcdmaeAT = derive2 { name="optrcdmaeAT"; version="1.0.0"; sha256="16g4612mwyfsckn6l71fbrjnnjv4yvnac1cccbrn3k8jh07qgb1h"; depends=[igraph MASS Matrix]; };
   optrees = derive2 { name="optrees"; version="1.0"; sha256="1zqpjii8dsfs98n58qpif81ckvyxkr0661svhlbgzi19xb2vszqs"; depends=[igraph]; };
-  optweight = derive2 { name="optweight"; version="0.2.2"; sha256="10pk2099xqnk5hkhg8rdaqkzhdw0lx3hmyknh4hg29j41iph76by"; depends=[ggplot2 Matrix rosqp]; };
+  optweight = derive2 { name="optweight"; version="0.2.5"; sha256="1mfk9sp47flqq7i762wip5191j8m0q9kbyxs4a7f0pd76qwf67q2"; depends=[ggplot2 Matrix osqp]; };
   opusminer = derive2 { name="opusminer"; version="0.1-0"; sha256="1m4gsjylz58pbmhgcy4l9hqdsgy8ra1zg0d3rb6h2qiwfyfm0yh4"; depends=[arules Matrix Rcpp]; };
   orQA = derive2 { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[genefilter gtools nlme Rcpp]; };
   ora = derive2 { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; };
@@ -10660,6 +11101,7 @@ in with self; {
   orderbook = derive2 { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[hash lattice]; };
   orderedLasso = derive2 { name="orderedLasso"; version="1.7.1"; sha256="1qywvvdbxjqq886i1gd1hsxx92zm7lbalm0acylabap5m2nf9q53"; depends=[ggplot2 Iso Matrix quadprog reshape2]; };
   ordering = derive2 { name="ordering"; version="0.7.0"; sha256="0sgwgcjg6sazmi11c9qvxfrzg671kcp18i2q20xbmbj4v3yqhwbh"; depends=[]; };
+  orderly = derive2 { name="orderly"; version="1.0.2"; sha256="1ak1f73bm8wifqdjiyln4jxgmpnzap7bm7kyarly4ascar82r4w2"; depends=[DBI digest docopt fs ids R6 RSQLite withr yaml zip]; };
   orders = derive2 { name="orders"; version="0.1.3"; sha256="14p0wk7y9hbhxwifr4fjp3h9dll0sin8q88an6a536d4f2045j7c"; depends=[Newdistns]; };
   orderstats = derive2 { name="orderstats"; version="0.1.0"; sha256="0a3ga0cjryvbininspsx5wzc96s3fza06s3d5fhbllbixz0rap4a"; depends=[]; };
   ordiBreadth = derive2 { name="ordiBreadth"; version="1.0"; sha256="04faqhas1p9lxhghd4xq07yq1nxv7ns18avhvkql7sy5a9g7bfs1"; depends=[vegan]; };
@@ -10671,8 +11113,9 @@ in with self; {
   ordinalNet = derive2 { name="ordinalNet"; version="2.6"; sha256="0mapkhhv5bpmfxw2dhg9lrw7lj8ha7s7yhamihga2l977ja0ma34"; depends=[]; };
   ordinalRR = derive2 { name="ordinalRR"; version="1.0"; sha256="07gihg8hppxa7bp5wxcshqawj3vkzicmdsrnjyrasr3glv08b9lj"; depends=[rjags]; };
   ordinalgmifs = derive2 { name="ordinalgmifs"; version="1.0.6"; sha256="0axpndyyns649mwifq8f16l8n8x9nic8cv8l71ljyr2gwlm0nqz0"; depends=[survival]; };
-  ore = derive2 { name="ore"; version="1.6.2"; sha256="1l1ziljgm5gwjhvjq42wi5vcwbxlaj5dl9w8bhz0wh8vx4ajj07m"; depends=[]; };
+  ore = derive2 { name="ore"; version="1.6.3"; sha256="1vh6w3arrhgkfjjjw7ci91xmz4wpfr3cmwd5zkqch89dgn07skkv"; depends=[]; };
   ores = derive2 { name="ores"; version="0.3.1"; sha256="12war455cfcn2llig7pkx05b70dp5y7warjq03ayqq6i7c945mhb"; depends=[httr]; };
+  orf = derive2 { name="orf"; version="0.1.2"; sha256="123lx1wa3sbi5l5zy92rq30f0hqq1pjpjyaklq9n1k9z28aa7p14"; depends=[ggplot2 ranger Rcpp xtable]; };
   org = derive2 { name="org"; version="2019.4.2"; sha256="0jrnr22slgzwsdb4a1jb1l878smhvfb680cgmgb3a88jqj4jfscl"; depends=[]; };
   orgR = derive2 { name="orgR"; version="0.9.0"; sha256="1q4qbwnbhmja8rqiph7g7m4wxhzhk9mh91x1jgbnky8bs4ljdgrx"; depends=[data_table ggplot2 ggthemes lubridate stringr]; };
   orgutils = derive2 { name="orgutils"; version="0.4-1"; sha256="1yc3avhq3786his7nd60zfbzd9inkfrfz938r8378z59zbb1mzqq"; depends=[textutils]; };
@@ -10682,12 +11125,12 @@ in with self; {
   orloca = derive2 { name="orloca"; version="4.8"; sha256="01fq3sas2xlp56f6s8jn5079pchszg2pbvzy8d5psxpb5jz59mwc"; depends=[knitr png rmarkdown ucminf]; };
   orloca_es = derive2 { name="orloca.es"; version="4.6"; sha256="1yfsvihm8p4ggdfam50i2xg7dy7khww5qqk6g4lry3m1icwx6vsy"; depends=[orloca]; };
   ormPlot = derive2 { name="ormPlot"; version="0.3.2"; sha256="0sdn7vrc35pl763snfrrcn0fa6i3agr57sjayjz93friijddkcp6"; depends=[ggplot2 gtable rms]; };
-  oro_dicom = derive2 { name="oro.dicom"; version="0.5.0"; sha256="05dmhfglp76apyilwicf3n2ylyjhp1gq6b9bnzsiiblpjnfpia43"; depends=[oro_nifti]; };
+  oro_dicom = derive2 { name="oro.dicom"; version="0.5.3"; sha256="1ar70xk2bqk7jgckfivgp4np3dxaynmgdg41n8x0sg9cpxl2lc38"; depends=[oro_nifti]; };
   oro_nifti = derive2 { name="oro.nifti"; version="0.9.1"; sha256="19w9dzyfmfgxgxb5i0l06b6gzqksx879iwicfs76fwmb1q2ph540"; depends=[abind bitops RNifti]; };
   oro_pet = derive2 { name="oro.pet"; version="0.2.6"; sha256="1dczii7knh9241ksswxk9zg1d69mhk2ilrk4kjv7cj9nfm8fgmja"; depends=[minpack_lm msm oro_dicom oro_nifti]; };
   orsifronts = derive2 { name="orsifronts"; version="0.1.1"; sha256="1js4q2s1mn263x8szl5q47ajfxv9lsjd5zyphwyhbkqrnd8ijd3w"; depends=[sp]; };
   orsk = derive2 { name="orsk"; version="1.0-5"; sha256="19bpvsdjwjm62a2kfh3xjpqnn39kls656kh832frkqa08bdd7zjk"; depends=[BB BHH2]; };
-  orthoDr = derive2 { name="orthoDr"; version="0.5.1"; sha256="0zpi3g6pkid40cblzsxck254wxljn5bfs354l51xfb182qr76x6k"; depends=[dr MASS plot3D pracma Rcpp RcppArmadillo rgl survival]; };
+  orthoDr = derive2 { name="orthoDr"; version="0.6.4"; sha256="1h2djq1s67yx1mkc5hl81471q4qwv8z71hmyl5rvbwy8kfyxfc6b"; depends=[dr MASS plot3D pracma Rcpp RcppArmadillo rgl survival]; };
   orthogonalsplinebasis = derive2 { name="orthogonalsplinebasis"; version="0.1.6"; sha256="07rbd0fhs2gsk7wj41y2h7wf6pfg324vzv2al753d8kqyx5ns2dj"; depends=[]; };
   orthopolynom = derive2 { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; };
   osDesign = derive2 { name="osDesign"; version="1.7"; sha256="0y68pnsmq4nlmfsn28306q2kxab200pirr6ha0w4himzpnw1sil3"; depends=[]; };
@@ -10698,13 +11141,13 @@ in with self; {
   osmdata = derive2 { name="osmdata"; version="0.1.1"; sha256="0n297bhdb5klbk7a2n3lm4iicdggwmz82njsxqdfvzbq85j2s96v"; depends=[curl httr jsonlite lubridate magrittr Rcpp rvest sp tibble xml2]; };
   osmose = derive2 { name="osmose"; version="0.1.1"; sha256="0fiijnrvvydhj6j9yb02rn5sg8arcpj3jz977m2zwjgqy878cffg"; depends=[rlist stringr]; };
   osmplotr = derive2 { name="osmplotr"; version="0.3.2"; sha256="0k5rjxsi1sfcxcl6lf8zcncqnshz2jaz7hcwn2ifg4yhvxvkfma8"; depends=[curl e1071 ggm ggplot2 httr mapproj osmdata rgeos sp spatstat]; };
-  osqp = derive2 { name="osqp"; version="0.5.0"; sha256="12gm5mhmnzvfmziiln0lnqs173gan10ihwkcj07dcjii4nvkg4p9"; depends=[Matrix R6 Rcpp]; };
-  osrm = derive2 { name="osrm"; version="3.3.1"; sha256="0l672jkw3hr8dncq2al8345bd5v2vgvyqhb4cv753b6fdljxmrhk"; depends=[gepaf isoband jsonlite lwgeom RCurl sf sp]; };
+  osqp = derive2 { name="osqp"; version="0.6.0.3"; sha256="1266n04c8zsv4ixf7y25jkccv9lx3rvmd7bnkxynbwga9psd3l0j"; depends=[Matrix R6 Rcpp]; };
+  osrm = derive2 { name="osrm"; version="3.3.2"; sha256="10adkq8sm0jvyd35m8vvjxiqvay976fsgffyxh9sh564l053srkp"; depends=[gepaf isoband jsonlite lwgeom RCurl sf sp]; };
   osrmr = derive2 { name="osrmr"; version="0.1.35"; sha256="1pmsybyqkgpqz0yhfmwrsa2smgmclxzk9mlzcqmm8ph6dcd1x0s8"; depends=[assertthat bitops R_utils rjson stringr]; };
   otinference = derive2 { name="otinference"; version="0.1.0"; sha256="1l75jjnkyk8yzaw9zyk45jq9ys304i6pzm2xd5apxrb1jk75a3li"; depends=[MASS Rglpk sm transport]; };
-  otpr = derive2 { name="otpr"; version="0.1.0"; sha256="1g2wy64fad67yqvq6mj1hy05vp6kjdm9b6nj0ba395c7hfxvkc7f"; depends=[checkmate curl httr jsonlite]; };
-  otrimle = derive2 { name="otrimle"; version="1.1"; sha256="0c3wlj6cxpikrfr0knldd1z2kfihpfsppnyb9n3rflnxhk7pwij2"; depends=[doParallel foreach mclust]; };
-  otsad = derive2 { name="otsad"; version="0.1.0"; sha256="1cg73p2fqa8wpmx5wimq5bch7g7a2pyqpqm7cw8lplf2l3yyl74f"; depends=[ggplot2 plotly reticulate sigmoid]; };
+  otpr = derive2 { name="otpr"; version="0.2.0"; sha256="1l34fda1y1y359khr1flwk7848rq7hhfmkqnifxhdsz73i2hcrr0"; depends=[checkmate geojsonsf httr jsonlite]; };
+  otrimle = derive2 { name="otrimle"; version="1.3"; sha256="1vq2sm3g32cr8x0nzxq9g3zk0qhcd2syzrcvrfx5ncf3i3f9gq5n"; depends=[doParallel foreach mclust]; };
+  otsad = derive2 { name="otsad"; version="0.2.0"; sha256="1jb6raxm70aywbgs7bdyw8vccy1nj924f4hkpjrlgnvzmy0hyhvs"; depends=[ggplot2 plotly reticulate sigmoid]; };
   otuSummary = derive2 { name="otuSummary"; version="0.1.0"; sha256="15sjjkivh37kjcj02s2l8xabn3x1kg348i69kyhbvsbqawh2s9y0"; depends=[fossil reldist reshape2 vegan]; };
   otvPlots = derive2 { name="otvPlots"; version="0.2.1"; sha256="0fjx0kl9y77mazwy7lg4mxc9sg8ysvvbl4h3k6bvfpnjm5x62hff"; depends=[data_table ggplot2 gridExtra Hmisc moments quantreg scales stringi]; };
   ouch = derive2 { name="ouch"; version="2.14-1"; sha256="0ddf9bw5lhj8vb0ja78jf99i0smq4rgmm842k4a4ygap41vdyn2b"; depends=[subplex]; };
@@ -10713,22 +11156,24 @@ in with self; {
   outbreaks = derive2 { name="outbreaks"; version="1.5.0"; sha256="00369lnh65nfkcbjd5i39irdv2hcwy5cinb2dvv2x4c2q2ax9f0d"; depends=[]; };
   outcomerate = derive2 { name="outcomerate"; version="1.0.1"; sha256="07mwml7r98qjgvrp938sqf7klyspz110583j0zwb72j69n4whmrj"; depends=[Rdpack]; };
   outliers = derive2 { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; };
-  outliertree = derive2 { name="outliertree"; version="1.0"; sha256="02niplg9110f6m0g030a35y9jjizrfhi4q9g20phlllw74q2dnap"; depends=[Rcereal Rcpp]; };
+  outliertree = derive2 { name="outliertree"; version="1.0.4"; sha256="1x5b3dz7vyyfskgxrsmjmzhkrj8y81621kilj649wgm89bm95vkr"; depends=[Rcereal Rcpp]; };
   outreg = derive2 { name="outreg"; version="0.2.2"; sha256="04f1x7mxq4swbd7bfwjjgx4838jm6qj4piaighmhcscwrdkxa1cp"; depends=[magrittr reshape2 sandwich stringr tidyr]; };
+  ouxy = derive2 { name="ouxy"; version="1.1"; sha256="0f07m8zs4vnr0vpsdw1qdzdrq80qyq4477l06w9i3bb0n64yxcaa"; depends=[abc adephylo ape coda EasyABC geiger maps MCMCpack nlme phytools Sim_DiffProc TreeSim]; };
   overlap = derive2 { name="overlap"; version="0.3.2"; sha256="1j3m6ir1chdz0si2fhcw6gs7c9h09bv0chz18rpzxsywww6d4rzy"; depends=[]; };
-  overlapping = derive2 { name="overlapping"; version="1.5.3"; sha256="1hikhgs0s9zwqn29yqmgr29k4a95x0s2sxz1lhvv0xpfjd8fnrmz"; depends=[ggplot2 testthat]; };
+  overlapping = derive2 { name="overlapping"; version="1.5.4"; sha256="1j3jmv15hy6h4d3v4rwg0796dz6np3pv67xrn2vcgvh1s1rmqnzs"; depends=[ggplot2 testthat]; };
   overlapptest = derive2 { name="overlapptest"; version="1.1"; sha256="0r732za6lm7dk5r237nhadgbpinaz5dmb6f7pn3mbg0plkdy3mff"; depends=[spatstat]; };
-  overture = derive2 { name="overture"; version="0.2-0"; sha256="1cn268mjq64h5hsxllbgbrg80mdfnfrzcdx93rg292jd7issnbng"; depends=[bigmemory]; };
-  owdbr = derive2 { name="owdbr"; version="1.0.1.0"; sha256="1sdlvkirp15hzby26lwviz2jclggl3da8r105mr8c821377q5smy"; depends=[data_table dplyr httr jsonlite magrittr tibble]; };
+  overture = derive2 { name="overture"; version="0.4-0"; sha256="1s16x5kn0apb0w1f7hqzcsqvw3x621y5n6yr1qn7yb7431pdw3cz"; depends=[bigmemory]; };
+  owdbr = derive2 { name="owdbr"; version="1.0.1.1"; sha256="0q4654zr5aw04sssy7127vafry72b7p3d8i44fqvqg3055awin0i"; depends=[data_table dplyr httr jsonlite magrittr tibble]; };
   owmr = derive2 { name="owmr"; version="0.8.1"; sha256="11krzrkr1ga41nv9c2fb8cb2mgy3ias7qx85d4cdv4k68lsksv18"; depends=[httr jsonlite magrittr plyr tibble tidyr]; };
-  ows4R = derive2 { name="ows4R"; version="0.1-2"; sha256="0zqmzv7p693zza48dijg6fah601y4r8lcp5v67p2lpi73r8vhbil"; depends=[geometa httr openssl R6 rgdal sf XML]; };
+  ows4R = derive2 { name="ows4R"; version="0.1-4"; sha256="1chvb7i9a6kalnjacfvwrnp5j0fhr6da6v6llazqarij9njxfing"; depends=[geometa httr openssl R6 rgdal sf XML]; };
   oxcAAR = derive2 { name="oxcAAR"; version="1.0.0"; sha256="19inf2bcpfj4jzfym1v5f1w5fkmcycz5jrfc2hf0wsvixy53lfxa"; depends=[jsonlite stringr]; };
   oz = derive2 { name="oz"; version="1.0-21"; sha256="0p4r8qbpv7q6vad940540pd3lk79pyfj41h2cn22hsy1j0va1qbv"; depends=[]; };
+  ozmaps = derive2 { name="ozmaps"; version="0.2.0"; sha256="1g2kilj9m733d7mmcpslrpaahx2zbndiq8v3g37pjr08rbq7gr48"; depends=[oz tibble]; };
   p2distance = derive2 { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
   p3state_msm = derive2 { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
   pAnalysis = derive2 { name="pAnalysis"; version="2.0"; sha256="0pykdlbynzgcbnjs8xs8frgncf53l8qgf6na34adq7da76n570hi"; depends=[coin ggplot2]; };
   pBrackets = derive2 { name="pBrackets"; version="1.0"; sha256="0cwv609hzp8anfv3cgfbspz8w0g1ljfz05wm4xfhwy15v32fckrj"; depends=[]; };
-  pCODE = derive2 { name="pCODE"; version="0.9.2"; sha256="02p2kygyqd6c55wdzzhava9qkzck01mnfa5wccbj6plrxvrpfrz1"; depends=[deSolve fda MASS pracma]; };
+  pCODE = derive2 { name="pCODE"; version="0.9.3"; sha256="067hhlj75l04b404fidvb2rkj6bb3zxrjy37p5vzvc5a1p1pcnf5"; depends=[deSolve fda MASS pracma]; };
   pCalibrate = derive2 { name="pCalibrate"; version="0.1-1"; sha256="04a7dmf9sjw44y53i469f8fjm8as2vwr0pgk4s91l63pxdqnjvfl"; depends=[epitools exact2x2 MCMCpack]; };
   pGLS = derive2 { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; };
   pGMGM = derive2 { name="pGMGM"; version="1.0"; sha256="1hkczz38g8a8253jm8vhm8948fs91g6b2rfzkz47srkkby9ksa4x"; depends=[JGL MASS mvtnorm]; };
@@ -10746,9 +11191,9 @@ in with self; {
   packHV = derive2 { name="packHV"; version="2.2"; sha256="0bj7zhlz2283y1hfdqdn7xil4wscwri1f5hszarwjwczx4n5sv81"; depends=[survival WriteXLS]; };
   packMBPLSDA = derive2 { name="packMBPLSDA"; version="0.6"; sha256="0dnj99f8gl5qwn7xjg5jm7hj2ywdmmixbl2ak429ygilf8hlxzwd"; depends=[ade4 DiscriMiner doParallel FactoMineR foreach MASS pROC]; };
   packS4 = derive2 { name="packS4"; version="0.9.3"; sha256="0kkh4lfdbr2ydyfpymwrdkms1d4mj8430p6vxvj5wrgl4vh85gwd"; depends=[codetools]; };
-  packageRank = derive2 { name="packageRank"; version="0.2.0"; sha256="13gi0n1bzpy1q1ccxsi82bpx8p25wwna3wmgm3nyi8hfwc8bbnks"; depends=[cranlogs data_table ggplot2 memoise RCurl]; };
+  packageRank = derive2 { name="packageRank"; version="0.3.0"; sha256="1617xah0c8rnyjq09k69yrmalfryx921fflpx7k7bk52zwrrblc9"; depends=[cranlogs data_table ggplot2 memoise RCurl rversions]; };
   packagedocs = derive2 { name="packagedocs"; version="0.4.0"; sha256="0zw9ana7s42ardphhdaklba02yjj1v8gliq4l98397mjmzc6f4xd"; depends=[crayon devtools digest evaluate highlight htmltools lazyrmd magrittr rmarkdown stringr whisker yaml]; };
-  packagefinder = derive2 { name="packagefinder"; version="0.1.4"; sha256="17awdf97fjlncqbglgb2cic4xxa8vpsfpsm6f2wxv7zpg4cdlg2p"; depends=[crayon formattable httr jsonlite lubridate pander stringr tidyr]; };
+  packagefinder = derive2 { name="packagefinder"; version="0.1.5"; sha256="11dv9684370jnk4lsyqnqcqngrix3fwjhlhgsar6m01vvhy9w1c0"; depends=[crayon formattable httr jsonlite lubridate pander stringr tidyr]; };
   packagetrackr = derive2 { name="packagetrackr"; version="0.1.1"; sha256="0xjq27j7bd7lps0vp9gdinxn19wl10k2cp9wb2xjih7p6l0wd57g"; depends=[dplyr httr magrittr rappdirs]; };
   packcircles = derive2 { name="packcircles"; version="0.3.3"; sha256="0gik0splf48zfl40297nh7lbgvd2qqlci99wv841mfy7858ai933"; depends=[Rcpp]; };
   packrat = derive2 { name="packrat"; version="0.5.0"; sha256="1xy5dd2hrpqa07jfl4s7dsrya05mf36ms74j833scdz0zf89586n"; depends=[]; };
@@ -10759,7 +11204,7 @@ in with self; {
   padr = derive2 { name="padr"; version="0.5.0"; sha256="1lckaizlffgdzs7rhlkafam2clqkn3130r4fdnanm2bvd6b0z220"; depends=[dplyr lubridate Rcpp rlang]; };
   paf = derive2 { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
   pafdR = derive2 { name="pafdR"; version="1.0"; sha256="1yimsd4h23hcf752p5flda3dqk8hgn6qm9k0pmbapxj4jbsw14w5"; depends=[curl exams stringr]; };
-  pagedown = derive2 { name="pagedown"; version="0.3"; sha256="0r4vybm7in39fbw36jlj27sv0g5rw6wm4gwjnz8nfixxh6cbbpb0"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
+  pagedown = derive2 { name="pagedown"; version="0.6"; sha256="0iri0mlxazkrphq45cynap0k4pnqfvl49slb4pyx5skfyyli0gvd"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
   pagenum = derive2 { name="pagenum"; version="1.1"; sha256="0908rlr9sd1a2qwz0idw8ccxhji73sk24gyrdl071lpnd1rs2wl7"; depends=[]; };
   pageviews = derive2 { name="pageviews"; version="0.3.0"; sha256="031y67nqqvf3fa2273m7z2cldda0ijh63qwkh4gis3hz9hfril0v"; depends=[curl httr jsonlite]; };
   painter = derive2 { name="painter"; version="0.1.0"; sha256="0qr6p13h50rlavcsamxmijfr4dfrbv1k088m28qf8a4gam3ap85b"; depends=[]; };
@@ -10769,9 +11214,10 @@ in with self; {
   pairsD3 = derive2 { name="pairsD3"; version="0.1.0"; sha256="0ql6pqijf24pfyid52hmf5fmh4w1ca3sm47z9vknqpnjbn47v8q2"; depends=[htmlwidgets shiny]; };
   pairwise = derive2 { name="pairwise"; version="0.4.4-5.1"; sha256="0j15qbpym0y9ipc4l3z95f0bzc0pgzayspyqv81p7xakksnj2y02"; depends=[]; };
   pairwiseCI = derive2 { name="pairwiseCI"; version="0.1-27"; sha256="0yp9nibdrsddjqq6vdlfbpvmfgm209h99b6qqqd6wgfzng327822"; depends=[boot coin MASS MCPAN mcprofile]; };
+  pairwiseComparisons = derive2 { name="pairwiseComparisons"; version="0.1.2"; sha256="0ak58v4675xhnskmjiin069gvq0sylfcv11f38mbl5c7iiai66bk"; depends=[broomExtra crayon dplyr forcats groupedstats jmv purrr rlang stringr tibble tidyr WRS2]; };
   pak = derive2 { name="pak"; version="0.1.2"; sha256="05s8rg84w4xhpbaa98p3lgvsnbjrxfbcz5izgkamqa1dw4gdxml4"; depends=[assertthat base64enc callr cli cliapp crayon curl desc filelock glue jsonlite lpSolve pkgbuild pkgcache prettyunits processx ps R6 rematch2 rprojroot tibble]; };
   palaeoSig = derive2 { name="palaeoSig"; version="2.0-3"; sha256="1sn2nbiq037l81qvrqbg7gf1312g8vy574hsfng07qk1jpx7vwkk"; depends=[assertr dplyr forcats ggplot2 ggrepel magrittr MASS mgcv purrr rioja rlang TeachingDemos tibble tidyr vegan]; };
-  palasso = derive2 { name="palasso"; version="0.0.5"; sha256="1ckxrkk2b8dri8pw0hj0g1sdlpwn6p436748sv86lj5b1m02yf3w"; depends=[glmnet Matrix survival]; };
+  palasso = derive2 { name="palasso"; version="0.0.7"; sha256="1r7kcx0i1xqvqpqwvh5khsv3g0hj3j8f56q9jbya18scywk2ivzg"; depends=[glmnet Matrix survival]; };
   paleoMAS = derive2 { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[lattice MASS vegan]; };
   paleoTS = derive2 { name="paleoTS"; version="0.5.2"; sha256="1hd143xw16n8xhicfr6nfyfm6kyr56gyiq5vqnfzhmndjrvkpkx7"; depends=[doParallel foreach iterators mnormt]; };
   paleobioDB = derive2 { name="paleobioDB"; version="0.6.0"; sha256="00bx59gv59hsdlg5x7n6n68av0m4brw2d02caifzgy79cfln5rha"; depends=[gtools maps plyr raster RCurl rjson scales]; };
@@ -10784,22 +11230,24 @@ in with self; {
   palinsol = derive2 { name="palinsol"; version="0.93"; sha256="0k29sl2j7yf4yc0dhb047rxwg9np9l6pdwv6wyb4j80yc07vc9am"; depends=[gsl]; };
   palm = derive2 { name="palm"; version="1.1.3"; sha256="1w13a1517h9dqfkc0863fsb08mapx8cafypk3b61djh69hcpbl0v"; depends=[gsl minqa mvtnorm R6 Rcpp spatstat]; };
   palmtree = derive2 { name="palmtree"; version="0.9-0"; sha256="0cd5p82gp2g1zq8kf9ybi4wa1r2jg4dbxbp5n01qs4apmyyncl4d"; depends=[Formula partykit]; };
-  palr = derive2 { name="palr"; version="0.0.6"; sha256="163c0kcsl0k3fp5q9afv3pb8246j2b3jzmd6g2vcgxb8nhs8wr2f"; depends=[]; };
+  palr = derive2 { name="palr"; version="0.1.0"; sha256="1v0bajsnzqamx9y275qhvzp56vzzs3hyp4mr5ijqynqj4376fqys"; depends=[]; };
   pals = derive2 { name="pals"; version="1.5"; sha256="0zc4dw8ipvhdm2qvy71k16vf8fmjs08nqbvvdi1k8h4fs648ddhi"; depends=[colorspace dichromat mapproj maps rgl]; };
   pamctdp = derive2 { name="pamctdp"; version="0.3.2"; sha256="0qs8lj5g2fx5rfd0afv76x9x7wqm333qmjv6zzip6pf11dzkghyj"; depends=[ade4 FactoClass xtable]; };
   pamm = derive2 { name="pamm"; version="0.9"; sha256="01dv70ca3zif2b2fkx4xjl24x9p9kc63wf0dj5agdjp5qgbkp1p5"; depends=[gmodels lattice lme4 lmerTest mvtnorm]; };
-  pammtools = derive2 { name="pammtools"; version="0.1.11"; sha256="15qz78wqrclcavj7bl9fnm9cwxf0n07adsq1n2p164q147c6l347"; depends=[checkmate dplyr Formula ggplot2 lazyeval magrittr mgcv msm mvtnorm purrr rlang survival tibble tidyr]; };
+  pammtools = derive2 { name="pammtools"; version="0.1.14"; sha256="1zr8n6j9220qv3a2q309n1ckjd4b6l2k24kfx3p4wibam8g9pqbc"; depends=[checkmate dplyr Formula ggplot2 lazyeval magrittr mgcv msm mvtnorm purrr rlang survival tibble tidyr]; };
   pampe = derive2 { name="pampe"; version="1.1.2"; sha256="092n04nrp886kd163v32f5vhp9r7gnayxzqb6pj57ilm5w1yrcsk"; depends=[leaps]; };
   pamr = derive2 { name="pamr"; version="1.56.1"; sha256="0ycpgkk23y3zzkb42n2skcyl35ps1n7jmyzfj7pbxr3f6gr2grfh"; depends=[cluster survival]; };
   pan = derive2 { name="pan"; version="1.6"; sha256="1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d"; depends=[]; };
+  pancor = derive2 { name="pancor"; version="0.1.0"; sha256="16yiyqjzrqxqms3xyzg1c6b81y94vr8m72ilga7cpvkjvdpm3fbk"; depends=[ggplot2 rlang]; };
   pander = derive2 { name="pander"; version="0.6.3"; sha256="1bd9sdghlsppmff18k5fg3i0visq9f4wc82rlhwq5m82bmgdgnyi"; depends=[digest Rcpp]; };
-  pandocfilters = derive2 { name="pandocfilters"; version="0.1-3"; sha256="1qic94kmw6qqdzy362x2wiba5l3ghc4vh8wfbg7abzb04ysbdznf"; depends=[jsonlite]; };
+  pandocfilters = derive2 { name="pandocfilters"; version="0.1-4"; sha256="1nlnvnvq3zwzpf6hnf8akl0w25kr7hrbr98rw5vgncxw35314xdp"; depends=[jsonlite]; };
   panelAR = derive2 { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
   panelView = derive2 { name="panelView"; version="1.1.2"; sha256="0kbh2g8yynv2mvvndy89lkm5yhy2hr04z52i2ccv9yfrkyignlfp"; depends=[ggplot2 gridExtra]; };
+  panelWranglR = derive2 { name="panelWranglR"; version="1.2.13"; sha256="0zj0m08518zi6xsa7qik61ys1qqa2lqiar4l7acclkw58w5zrmbc"; depends=[caret data_table Hmisc]; };
   panelaggregation = derive2 { name="panelaggregation"; version="0.1.1"; sha256="0x8ldqb9216pclfvs4ymdpian43v2ydkyflpf0k6lcn35r04xfr6"; depends=[data_table]; };
   panelr = derive2 { name="panelr"; version="0.7.1"; sha256="0xd3f3acfjvnryhwdf3aqa3vgpagl87sgd7annn29rk3lznv8rv2"; depends=[crayon dplyr Formula ggplot2 jtools lme4 lmerTest magrittr purrr rlang stringr tibble]; };
   panelvar = derive2 { name="panelvar"; version="0.5.2"; sha256="1rr7d0cyz6afxhwqslvcnbfb03cizpfldzwsfnkzxqmxpqasbw80"; depends=[ggplot2 knitr MASS Matrix matrixcalc progress reshape2 texreg]; };
-  pangaear = derive2 { name="pangaear"; version="0.6.0"; sha256="0dykacf5ckhck08rbk6l5kyw51i2p1ncy44agcxj79cr290cd5ck"; depends=[crul jsonlite oai png rappdirs tibble xml2]; };
+  pangaear = derive2 { name="pangaear"; version="0.8.2"; sha256="1dy8fgfsm6n88mchc8c6z918iih0myg04xh8hjhnss1idhy5206f"; depends=[crul hoardr jsonlite oai png tibble xml2]; };
   papayar = derive2 { name="papayar"; version="1.0"; sha256="11vkjhazfwfixsr6dba5jrcsr3r3mqgvj5s070b4gp70d6k1z8s5"; depends=[htmltools neurobase oro_nifti servr]; };
   papeR = derive2 { name="papeR"; version="1.0-4"; sha256="1sc336haqsx6825g7m0z3a4pjklrmnzkq4995dpqwhvdvcikk9jd"; depends=[car gmodels xtable]; };
   paperplanes = derive2 { name="paperplanes"; version="0.0.1.9"; sha256="1d9grc95xqxn91lvk8v7w3z90bhl8savkhihwshyjp8ij2xpzfkl"; depends=[]; };
@@ -10813,18 +11261,19 @@ in with self; {
   parallelSVM = derive2 { name="parallelSVM"; version="0.1-9"; sha256="0nhxkllpjc3775gpivj8c5a9ssl42zgvswwaw1sdhwg3cxcib99h"; depends=[doParallel e1071 foreach]; };
   parallelize_dynamic = derive2 { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
   paramGUI = derive2 { name="paramGUI"; version="2.1.3"; sha256="1z7k4wgzm1bga8djyk44r1kr1mzdb9mrd6fvb5nrd69d76pvldji"; depends=[colorspace fields shiny shinydashboard TIMP]; };
+  parameters = derive2 { name="parameters"; version="0.3.0"; sha256="0ifb9g1h8sn661q7jf9d8glk58gxdcym5ywbmx7phwn0y3is5wdv"; depends=[bayestestR insight]; };
   paramhetero = derive2 { name="paramhetero"; version="0.1.0"; sha256="16ydhp401f1iqh2b8gdi100j5dncb7khb8c6f81dak4hhs8lv4if"; depends=[ggplot2 ggpubr]; };
   paramlink = derive2 { name="paramlink"; version="1.1-2"; sha256="0y6wsrxwyavipmrjjznr2n920w0p6qlwapxc9mnkh9c6w3yznka2"; depends=[assertthat kinship2 maxLik]; };
   params = derive2 { name="params"; version="0.6.1"; sha256="0w7k8k7z8p1y2w0dhpfssa868xaikfzfdjw2vlj1yl299k5yisax"; depends=[whisker]; };
   paramtest = derive2 { name="paramtest"; version="0.1.0"; sha256="0yn1s1qkgby8x0qn7cy1zhxzc0wyi7bm30pkvijhn5h5afjpylsy"; depends=[boot]; };
   paran = derive2 { name="paran"; version="1.5.2"; sha256="0d9la83mxfpfgdfrqa40ck5fcp3j2b70d8c8nl9wmdsgvgqrl23s"; depends=[MASS]; };
   parboost = derive2 { name="parboost"; version="0.1.4"; sha256="087b4as0w8bckwqpisq9mllvm523vlxmld3irrms13la23z6rjvf"; depends=[caret doParallel glmnet iterators mboost party plyr]; };
+  parcats = derive2 { name="parcats"; version="0.0.1"; sha256="0bf1kqg3954z47cb4n4wv6pf55f1801qlsj1523ac0j3l3i39xn5"; depends=[dplyr easyalluvial forcats htmlwidgets magrittr purrr stringr tibble tidyr]; };
   parcoords = derive2 { name="parcoords"; version="1.0.0"; sha256="15w0g789a2igagfrgv1978ib4ipxpfkid5jpj4q344mpdvgp6ip2"; depends=[crosstalk htmlwidgets]; };
   parcor = derive2 { name="parcor"; version="0.2-6"; sha256="10bhw50g8c4ln5gapa7wghhb050a3jmd1sw1d1k8yljibwcbbx36"; depends=[Epi GeneNet glmnet MASS ppls]; };
   parfm = derive2 { name="parfm"; version="2.7.6"; sha256="1n548gaf62m56n8rlcz1mhpqxikd33vydjwl4wps441drp1dbvs0"; depends=[msm optimx sn survival]; };
-  parfossil = derive2 { name="parfossil"; version="0.2.0"; sha256="12gsc5n4ycvhzxvq5j0r3jnnrzw1q412dbvmakipyw2yx2l2s7jn"; depends=[foreach fossil]; };
   parglm = derive2 { name="parglm"; version="0.1.3"; sha256="1d6s2fjggx5mkcvqb40k5vkh53j1c6v0rjdl1yqs968b547468jh"; depends=[Matrix Rcpp RcppArmadillo]; };
-  parlitools = derive2 { name="parlitools"; version="0.3.3"; sha256="1py01f0hh7xsxg5p9szp6mharh06yf9an6ip4m776j5l9bzbfzif"; depends=[dplyr hansard mnis readr sf snakecase stringi]; };
+  parlitools = derive2 { name="parlitools"; version="0.3.4"; sha256="1qzb8rb91x74698mj5w48ig7a7i3qvg9whpwqihkh7zxn4mpj699"; depends=[dplyr hansard mnis readr sf snakecase stringi]; };
   parma = derive2 { name="parma"; version="1.5-3"; sha256="0yjpmxz20v6k107qylw42yf1b231hzym9dizjcq1kalivvscczc5"; depends=[corpcor nloptr quadprog Rglpk slam truncnorm]; };
   parmigene = derive2 { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; };
   parmsurvfit = derive2 { name="parmsurvfit"; version="0.1.0"; sha256="0d3614q76dw3f7y9p8378hdny7bz5fymma5l0zpygr1cfnacdhh6"; depends=[fitdistrplus flexsurv ggplot2]; };
@@ -10832,23 +11281,26 @@ in with self; {
   parsedate = derive2 { name="parsedate"; version="1.2.0"; sha256="0gb3w6hmwxayhijpf36p5dk4h6bbdps57x3cgikwvvxkgi83rarr"; depends=[rematch2]; };
   parsemsf = derive2 { name="parsemsf"; version="0.1.1"; sha256="0ks4503k06ib5lq4ar2rg0sdni99rjcqxj76b0mclasxbi07kjsa"; depends=[DBI dbplyr dplyr lazyeval RSQLite stringr tidyr]; };
   parsetools = derive2 { name="parsetools"; version="0.1.1"; sha256="0fl06h4aph0rr55n3c4gw9wkblvjipgyl5drpycmpldj8kix1nz2"; depends=[]; };
-  parsnip = derive2 { name="parsnip"; version="0.0.3"; sha256="1s9nm831q5kjmpym2lalcqx7jb1fh58v0vpljjqj5w1vxfbv83kg"; depends=[dplyr generics globals glue magrittr purrr rlang tibble tidyr vctrs]; };
+  parsnip = derive2 { name="parsnip"; version="0.0.4"; sha256="08q4qq8akfp3ni4l380gan6r04c8ql41wpn1brciwcr4nva5ckjx"; depends=[dplyr generics globals glue magrittr prettyunits purrr rlang tibble tidyr vctrs]; };
   partDSA = derive2 { name="partDSA"; version="0.9.14"; sha256="1kp0cdsdjiay349jz22iqfzvspny8s343cfan8xahgf931k9h8p6"; depends=[survival]; };
   partialAR = derive2 { name="partialAR"; version="1.0.11"; sha256="1x7vsrjn91nr4bbkzz9mp8h93j9yhwwaqw1abh5n3bsrkq3xmgqj"; depends=[data_table ggplot2 KFAS MASS plot3D Rcpp tseries urca zoo]; };
   partialCI = derive2 { name="partialCI"; version="1.2.0"; sha256="0hi936yg4g5bg61ix2i68f8q4c5nvvshl2728ynz1rl970qfcrp7"; depends=[data_table ggplot2 glmnet KFAS MASS partialAR Rcpp TTR zoo]; };
   partialOR = derive2 { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
   particles = derive2 { name="particles"; version="0.2.2"; sha256="0pncfpk89hsfjch8h5b86rx7hsgdyg9bsxc54f5bf0y8gh9v98qj"; depends=[digest dplyr igraph magrittr mgcv Rcpp rlang tidygraph]; };
   partition = derive2 { name="partition"; version="0.1.0"; sha256="1717cl7dz2zh4zx143qblb519yixhbr9l2x3hg0vaa4ddy6v02wx"; depends=[crayon dplyr forcats ggplot2 infotheo magrittr MASS pillar purrr Rcpp RcppArmadillo rlang stringr tibble tidyr]; };
+  partitionBEFsp = derive2 { name="partitionBEFsp"; version="1.0"; sha256="0rirqk9v5jbjs2jpjjkg7kvay9f093q2gwx5fx3bm9b0f5869w1b"; depends=[]; };
   partitionComparison = derive2 { name="partitionComparison"; version="0.2.5"; sha256="0wzg2r4c61fd3cp8kwsc313gwcizh5aavw361lc9gqn57p1kml1j"; depends=[lpSolve Rdpack]; };
   partitionMap = derive2 { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
   partitionMetric = derive2 { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
-  partitions = derive2 { name="partitions"; version="1.9-19"; sha256="1pklfnjdc094c8nzkqcdvqzdh8v3p5n8jbg4pf9678iw648saiyx"; depends=[gmp polynom]; };
+  partitions = derive2 { name="partitions"; version="1.9-22"; sha256="1qqy4df28wy4q0g572azrj171jlhvrnzbh7x0wr2g7v6gr20y0ns"; depends=[gmp polynom sets]; };
   partools = derive2 { name="partools"; version="1.1.6"; sha256="0w7p88y4ab4v14k16k95cyb5f3yl2g6ban11775rmi2h9xqkfxk8"; depends=[data_table pdist regtools]; };
   partsm = derive2 { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; };
   party = derive2 { name="party"; version="1.3-3"; sha256="1sbwpwxdz81ikp64kc0s06vdwy04bccff2kr0phwx9235nhfwwlz"; depends=[coin modeltools mvtnorm sandwich strucchange survival zoo]; };
   partykit = derive2 { name="partykit"; version="1.2-5"; sha256="17324y5v65i0va2mvm26gl89s01xwcffg34fwq1mvylk1xwk13pl"; depends=[Formula inum libcoin mvtnorm rpart survival]; };
   parviol = derive2 { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
+  pass_lme = derive2 { name="pass.lme"; version="0.9.0"; sha256="1rxm509vnkdvdxii4jwniirdb2pv90rjkf6wjc9zrjh88jrl678k"; depends=[]; };
   passport = derive2 { name="passport"; version="0.2.0"; sha256="1jiwivrz7781zmwxmw13rxl80cr9r5pinnk5bvqz8nhfmlx0zmgd"; depends=[]; };
+  passt = derive2 { name="passt"; version="0.1.0"; sha256="1znf911l1flk8yw2kwbf9kvq5b8hrxangsb1fff4fx5g0bvjb2rb"; depends=[dplyr magrittr rlang tidyr]; };
   password = derive2 { name="password"; version="1.0-0"; sha256="1ijzqdw54l8wvpy6ys28njvhplzjxzzi5i9y41vjnrr88n13977v"; depends=[]; };
   pastecs = derive2 { name="pastecs"; version="1.3.21"; sha256="0z4dic94ar646w7zc2ggi5hgvf2qnznsani94c5pyql8zspz47lc"; depends=[boot]; };
   pastis = derive2 { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[ape caper]; };
@@ -10856,41 +11308,42 @@ in with self; {
   patchDVI = derive2 { name="patchDVI"; version="1.9.1616"; sha256="1akdlzw8v2p1zz09bm88d63jyxj7fv5h50p459p9ml4yc816xvji"; depends=[]; };
   patchPlot = derive2 { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
   patchSynctex = derive2 { name="patchSynctex"; version="0.1-4"; sha256="1li3kw7a77sx6dss8pnxzb0p0sdy1kfm1zdnmhhj043zihrryd5p"; depends=[stringr]; };
+  patchwork = derive2 { name="patchwork"; version="1.0.0"; sha256="0qrwbcswh7ylrmghi17k6wk7w51cz6mcmvcyyd41hy3m2ywmkywb"; depends=[ggplot2 gtable]; };
   patentsview = derive2 { name="patentsview"; version="0.2.2"; sha256="003pcddz6adsh893xvlb9d72r316z14nlp3fwm1vbc50hpa24w6z"; depends=[httr jsonlite]; };
-  pathdiagram = derive2 { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; };
-  pathfindR = derive2 { name="pathfindR"; version="1.3.0"; sha256="1pljw5pz6g1jpk92smbmzwgwx7p3jvjyvr7fciajay39gfvj7fd5"; depends=[AnnotationDbi DBI doParallel foreach fpc ggplot2 igraph knitr org_Hs_eg_db pathview rmarkdown]; };
+  pathdiagram = derive2 { name="pathdiagram"; version="0.1.9.1"; sha256="018frv1n3x0bf1682jibnm5k2dlkg85xa9mps28l22a0z8bplbv5"; depends=[shape]; };
+  pathfindR = derive2 { name="pathfindR"; version="1.4.1"; sha256="1m4hrchhmy9qjkilz520az7h2ga5552kqx64cl4c31pw7zy4p1vx"; depends=[AnnotationDbi DBI doParallel foreach fpc ggplot2 ggraph igraph KEGGgraph KEGGREST knitr magick org_Hs_eg_db R_utils rmarkdown]; };
   pathlibr = derive2 { name="pathlibr"; version="0.1.0"; sha256="0z8iz765fi1s2770p7dwwv2anihfw86kb5dwg081wb6474wiq6v8"; depends=[glue logging magrittr purrr R6 rlang]; };
   pathmapping = derive2 { name="pathmapping"; version="1.0.2"; sha256="0kx4wxf6lhi58sif8fzr5w4wa0i5253fq4v0ynp721fv1hkvmhvz"; depends=[]; };
   pathmox = derive2 { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
   patrick = derive2 { name="patrick"; version="0.0.1"; sha256="16r0q3d9bq06393v46gabn9y9w2w7nqjcl65b7y2ryp35nv0aqsi"; depends=[dplyr purrr rlang testthat tibble]; };
   patternator = derive2 { name="patternator"; version="0.1.0"; sha256="0s4vrhdfblllnhpz2awhhrkwm8d4170xg7fpsp7kvvqy8z8biwvi"; depends=[data_table]; };
   patternize = derive2 { name="patternize"; version="0.0.2"; sha256="0hd6l66ybrjjndad5m2li9qqsjd0k2blhvjm469j6ab95073zq9f"; depends=[abind dplyr imager magrittr Morpho purrr raster rgdal RNiftyReg sp vegan]; };
-  patternplot = derive2 { name="patternplot"; version="0.2.1"; sha256="0ixb9x32fciwxwxnna47z9jb6s1zf3d9jqfiwvv4slaygi2cgydr"; depends=[dplyr ggplot2 gtable jpeg png R6 Rcpp RcppParallel]; };
+  patternplot = derive2 { name="patternplot"; version="0.3.2"; sha256="0bzy1fq9za1251h8iiixyq397wnw9k3s59i3wi2pyjca2dydhr9a"; depends=[dplyr ggplot2 gridExtra gtable jpeg png R6 Rcpp RcppParallel]; };
   pauwels2014 = derive2 { name="pauwels2014"; version="1.0"; sha256="1b7whn13lgydc69kg1fhnwkxirw0nqq75cfvii0yg0j4p8r1lw42"; depends=[deSolve ggplot2]; };
   pavo = derive2 { name="pavo"; version="2.2.0"; sha256="0bbmgjc63i6vx0grs97y6jg9q44vnjhik93zzkagq532mnggjiqv"; depends=[cluster geometry magick pbmcapply plot3D rcdd sp viridisLite]; };
   pawacc = derive2 { name="pawacc"; version="1.2.2"; sha256="0d5k0bq8zmb7sjvba3ljp97mba2iycnw44rnsnn2aajs02l1c2xg"; depends=[SparseM]; };
   pawls = derive2 { name="pawls"; version="1.0.0"; sha256="01sf1cmd216ca5iwmw4hfnxi9lvh16r441cfcaa3n77zhq0i4w7n"; depends=[]; };
-  paws = derive2 { name="paws"; version="0.1.3"; sha256="0958g52pvs17kqxv849ycr3zw3vhk509yazqw03aahp0aqm64jhf"; depends=[paws_analytics paws_application_integration paws_compute paws_cost_management paws_customer_engagement paws_database paws_machine_learning paws_management paws_networking paws_security_identity paws_storage]; };
-  paws_analytics = derive2 { name="paws.analytics"; version="0.1.3"; sha256="0bhmhlbads3ycsz018jv5xfznv71gg8whskf0qlfq7kdq61z05mh"; depends=[paws_common]; };
-  paws_application_integration = derive2 { name="paws.application.integration"; version="0.1.3"; sha256="1vk4mif4mk5zjwmpfvh8sywp706ibwf3hv1bw0miih7rn8z44bl2"; depends=[paws_common]; };
-  paws_common = derive2 { name="paws.common"; version="0.1.1"; sha256="02cxcgpjla9cfnkfh1pllr9x58whsnnl81rwqq9xj7mficrbl2vj"; depends=[base64enc digest httr ini jsonlite xml2]; };
-  paws_compute = derive2 { name="paws.compute"; version="0.1.3"; sha256="0wf516y5xla3bgj1m84qx760xk4v10zpb9wkn4wyh94jx1pb9vl1"; depends=[paws_common]; };
-  paws_cost_management = derive2 { name="paws.cost.management"; version="0.1.3"; sha256="0axk4lwhq56q6sg5lcycp5y5isd6gwymiim65swkb1n28qxdcymq"; depends=[paws_common]; };
-  paws_customer_engagement = derive2 { name="paws.customer.engagement"; version="0.1.3"; sha256="1qchc8sn7prd9612fw7h63r1xl0hdrygwfs488kxbl5h3blikl58"; depends=[paws_common]; };
-  paws_database = derive2 { name="paws.database"; version="0.1.3"; sha256="0p1ykkmk3j8szz76ga84rph7zm56c5h5bkwig3wbdaj8y5p5wdf1"; depends=[paws_common]; };
-  paws_machine_learning = derive2 { name="paws.machine.learning"; version="0.1.3"; sha256="17b9nih71d5agcqg9g2w59qfqcggp3krw7l1wfga5vrgdq1zgbdq"; depends=[paws_common]; };
-  paws_management = derive2 { name="paws.management"; version="0.1.3"; sha256="1qyi0zpqgjkh1sfqqxaj5yjk8sml2p27gvm5hpbam33crldcbf7h"; depends=[paws_common]; };
-  paws_networking = derive2 { name="paws.networking"; version="0.1.3"; sha256="08whzrwgk1aj2g3j968v56y3bavxvgalm6wxw3ay5dbcwinj15nl"; depends=[paws_common]; };
-  paws_security_identity = derive2 { name="paws.security.identity"; version="0.1.3"; sha256="0mq3p1j0fa8clmja4q1i4m8w5qc1icyq39zl0q003h46128biywm"; depends=[paws_common]; };
-  paws_storage = derive2 { name="paws.storage"; version="0.1.3"; sha256="1c02nazvp4dcnpb4yf75lg7ppk885qv7r1v0yq86i17rb37rg60f"; depends=[paws_common]; };
-  pbapply = derive2 { name="pbapply"; version="1.4-1"; sha256="1bbws9n90cqnnp5k58hp852jwmm6513jnhn4vzhl9f8x314k6qxk"; depends=[]; };
+  paws = derive2 { name="paws"; version="0.1.5"; sha256="1a65az7al3vn2gxbki20zbjjvk8qyblhn720x9pgkhj822nmmvc0"; depends=[paws_analytics paws_application_integration paws_compute paws_cost_management paws_customer_engagement paws_database paws_machine_learning paws_management paws_networking paws_security_identity paws_storage]; };
+  paws_analytics = derive2 { name="paws.analytics"; version="0.1.5"; sha256="1k4s1qd8zy852a7ggns5kzj4sdhp1jabhy34kx37py0ahl2g9zd8"; depends=[paws_common]; };
+  paws_application_integration = derive2 { name="paws.application.integration"; version="0.1.5"; sha256="10d4fmr1savpk39yd2y7k6d4pbhy0cpq97mkgqz12iing7fdg3ml"; depends=[paws_common]; };
+  paws_common = derive2 { name="paws.common"; version="0.2.4"; sha256="1hzxazh3qmizm2fk38lrkc8dxkaaq2hkys4nbp1amizjxq6gga99"; depends=[base64enc digest httr ini jsonlite xml2]; };
+  paws_compute = derive2 { name="paws.compute"; version="0.1.5"; sha256="03p2j7isp0p4k4jagayqbylcja3f5z26js9m9dg190azgbplpl9p"; depends=[paws_common]; };
+  paws_cost_management = derive2 { name="paws.cost.management"; version="0.1.5"; sha256="0clddz1b7ndznwdhs6nb4bi5s71jb4zyp8bk8jh91hw44g0p29bp"; depends=[paws_common]; };
+  paws_customer_engagement = derive2 { name="paws.customer.engagement"; version="0.1.5"; sha256="054bvpqyhp6j3b857ra65p6yxsq2wncfiwgw1vxpw1c5j858yvbf"; depends=[paws_common]; };
+  paws_database = derive2 { name="paws.database"; version="0.1.5"; sha256="1mfvvkncqs6fb28x375g3vs4ygk2dcgzbhj0hn8x1mkv0gk7wdx5"; depends=[paws_common]; };
+  paws_machine_learning = derive2 { name="paws.machine.learning"; version="0.1.5"; sha256="02kq69nsd8nba48x9c0gzprw727glam22dpp094c7c91y92677np"; depends=[paws_common]; };
+  paws_management = derive2 { name="paws.management"; version="0.1.5"; sha256="0mmzmzg00gg1g2sm6jcp30rxwch36gvd4hrism77g7dbp8s9kgvf"; depends=[paws_common]; };
+  paws_networking = derive2 { name="paws.networking"; version="0.1.5"; sha256="08v9wlkziv7vabygfpzm8m8k7qn9n5w06i7i2d3qpsnxmqpvrwhs"; depends=[paws_common]; };
+  paws_security_identity = derive2 { name="paws.security.identity"; version="0.1.5"; sha256="0h3xi543sacl9iw7r7g431sbp48gynk7wbrsdb4y0z5250hgsjjr"; depends=[paws_common]; };
+  paws_storage = derive2 { name="paws.storage"; version="0.1.5"; sha256="1nvyxlvcwaki4s3gr8sphvpahvfvzysq7n8f9dsa8c7hfa6kcfyh"; depends=[paws_common]; };
+  pbapply = derive2 { name="pbapply"; version="1.4-2"; sha256="1xmk4p006v8gij26rs6kp5prjyf2n32nqjxiyp8a6kvgyc4z46dc"; depends=[]; };
   pbatR = derive2 { name="pbatR"; version="2.2-13"; sha256="01ra1ggdpxdl1xqjdh86qynr5gkgzw01ww6j9bwgx4mj20i6j1ha"; depends=[rootSolve survival]; };
   pbdBASE = derive2 { name="pbdBASE"; version="0.5-0"; sha256="11jlfr0pswldd5h06swfrc8bm785dv09iqgg3kfnc53yvrs0d7qv"; depends=[pbdMPI pbdSLAP]; };
   pbdDEMO = derive2 { name="pbdDEMO"; version="0.3-1"; sha256="0vr3dvvhr8j6xvdf308nn37y0lkl2ysm93yf0h7rclvqvsk1pf66"; depends=[pbdBASE pbdDMAT pbdMPI]; };
   pbdDMAT = derive2 { name="pbdDMAT"; version="0.5-1"; sha256="0vg362f3wj5bmla5h85lqy5vs3q0sffcxbmbs9s0m378ahjcjqh3"; depends=[pbdBASE pbdMPI]; };
-  pbdMPI = derive2 { name="pbdMPI"; version="0.3-9"; sha256="04085h8k61l3nsji13nvvq4phlcs1faiignjbqbk7pgi3194diph"; depends=[float rlecuyer]; };
+  pbdMPI = derive2 { name="pbdMPI"; version="0.4-1"; sha256="1f7pjv0nqwnw74jb8hkds4as6w302mjncwjrv6jbbr81i0szncms"; depends=[float rlecuyer]; };
   pbdNCDF4 = derive2 { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
-  pbdPROF = derive2 { name="pbdPROF"; version="0.3-1"; sha256="0a7c31605si062vbwcwngv770axlwyhh00cvdfqw3hv421p61sj8"; depends=[]; };
+  pbdPROF = derive2 { name="pbdPROF"; version="0.4-0"; sha256="174jwrkvw5qz1430y6id01w1czlw45j1yw8a8dyw36knrmvmdz10"; depends=[]; };
   pbdRPC = derive2 { name="pbdRPC"; version="0.2-1"; sha256="1pz71zfs9qw96dj3h5mrm734vbbi4drlv9hrw91dbzm3a7jsxg4q"; depends=[]; };
   pbdSLAP = derive2 { name="pbdSLAP"; version="0.2-6"; sha256="0165v210pyc0mh3pp6d32jg6g2zyjajgams83g03yhqmz73kd6dj"; depends=[pbdMPI rlecuyer]; };
   pbdZMQ = derive2 { name="pbdZMQ"; version="0.3-3"; sha256="1jkfcfhspvqra7vbllrvkz3jx8j7d0ang6zzcdjgpb7200sc29mf"; depends=[]; };
@@ -10900,8 +11353,8 @@ in with self; {
   pbmcapply = derive2 { name="pbmcapply"; version="1.5.0"; sha256="0i58gcqpnbyvc448qfgm45b7rpbmrnagsvk1h1hsqchbbicfslnz"; depends=[]; };
   pbo = derive2 { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
   pbs = derive2 { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
-  pbv = derive2 { name="pbv"; version="0.2-16"; sha256="1jr0xvk56d7qqpj7azw64lidwc3604iw87k7cccswv4yvbihvzzk"; depends=[Rcpp RcppArmadillo]; };
-  pcFactorStan = derive2 { name="pcFactorStan"; version="1.0.2"; sha256="190hvyl957hffy8s65iaxyirgja04b2l37hmd9sg1aldmixz0cym"; depends=[BH igraph loo mvtnorm Rcpp RcppEigen reshape2 rstan StanHeaders]; };
+  pbv = derive2 { name="pbv"; version="0.3-19"; sha256="18cypzbyamafq942bwp3k0ml3crwcpxa6rdck8657kkc22lq05g5"; depends=[Rcpp RcppArmadillo]; };
+  pcFactorStan = derive2 { name="pcFactorStan"; version="1.2.0"; sha256="15nq45p9bsmb649gp39pkq77ryzf6bcpmr70c6ijq2dda73f6265"; depends=[BH igraph loo mvtnorm Rcpp RcppEigen reshape2 rstan StanHeaders]; };
   pcIRT = derive2 { name="pcIRT"; version="0.2.4"; sha256="0crll51s14nisnaxjln7bc3b1a181v358nfkh1p5iiyn98clacl6"; depends=[combinat Rcpp]; };
   pcLasso = derive2 { name="pcLasso"; version="1.1"; sha256="1wdwin6xszysydspxjb8b6r3y416ri3zndh0s142b2487lhmqkb6"; depends=[svd]; };
   pca3d = derive2 { name="pca3d"; version="0.10"; sha256="1bpm4sbj7h2fd0h5ybjhq8g61l8v2fbc92yiiascdgfili85zsf3"; depends=[ellipse rgl]; };
@@ -10909,8 +11362,8 @@ in with self; {
   pcaL1 = derive2 { name="pcaL1"; version="1.5.2"; sha256="1f7481wn2c935llb9visfdlv958ixxqybp5r2dy7nm18jacf2a0l"; depends=[]; };
   pcaPP = derive2 { name="pcaPP"; version="1.9-73"; sha256="1z2kdf9gfp965xbcd4rg6vf20d1bl443na0qjkpq7gmzpaq6cifa"; depends=[mvtnorm]; };
   pcadapt = derive2 { name="pcadapt"; version="4.1.0"; sha256="0631qx37ffz21bgwvjq2y5xn4dvz6kpmwg3rlmkxa93kwsx2b7rb"; depends=[data_table ggplot2 magrittr mmapcharr plotly Rcpp rmio robust RSpectra vcfR]; };
-  pcalg = derive2 { name="pcalg"; version="2.6-2"; sha256="02k11cdq7lg2cwg8b43sqdvklppx1cjj5frffvfhlffi3szm3lgr"; depends=[abind bdsmatrix BH clue corpcor dagitty fastICA ggm graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
-  pccc = derive2 { name="pccc"; version="1.0.2"; sha256="0ha15prf6zaa2kq4hhaadr5s0mr765b4rpx4q608136sh3hps574"; depends=[dplyr Rcpp]; };
+  pcalg = derive2 { name="pcalg"; version="2.6-8"; sha256="1pp7y0v3li8y5q599cz10ws6nql4xqdmgxfjp69h1dmc5635kr06"; depends=[abind bdsmatrix BH clue corpcor fastICA ggm graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
+  pccc = derive2 { name="pccc"; version="1.0.3"; sha256="1dd1kh0gx7ffwnmxqn3zbcsxiav4z70psis24dgqxwq42r0kw5mk"; depends=[dplyr Rcpp]; };
   pcdpca = derive2 { name="pcdpca"; version="0.4"; sha256="0ys4hrin0w3f87d1d986wvrfkfwapzj9hz7d7v92r60ns74g7r5m"; depends=[fda freqdom]; };
   pcensmix = derive2 { name="pcensmix"; version="1.2-1"; sha256="1yrz4hdj52in8z65qyl18kh7frv75rb8ss5ljv3vbm6yhxi32jnd"; depends=[]; };
   pcev = derive2 { name="pcev"; version="2.2.2"; sha256="1l0afcdzkxzkhkc8ln2fzi50hc7nfq46lg6hhx6rrzkb41w82iqw"; depends=[corpcor RMTstat]; };
@@ -10920,23 +11373,24 @@ in with self; {
   pcmabc = derive2 { name="pcmabc"; version="1.0.4"; sha256="1s6j9353azn0561is4dlisi6lnam9ng2rlwdnrj7hpbhr3hskpxl"; depends=[ape distory geiger mvSLOUCH phangorn TreeSim yuima]; };
   pcnetmeta = derive2 { name="pcnetmeta"; version="2.6"; sha256="0rpd1bgg932xhj03fnskhbg7ni9nfd8qrvxvix8qmbgw8bwdsbgd"; depends=[coda rjags]; };
   pco = derive2 { name="pco"; version="1.0.1"; sha256="0k1m450wfmlym976g7p9g8arqrvnsxgdpcazk5kh3m3jsrvrcchf"; depends=[]; };
-  pcr = derive2 { name="pcr"; version="1.1.2"; sha256="0sms024irkhqyb001lcicrm3dwnnyr2kw9kx10q3v9j6p7rxzhz2"; depends=[devtools dplyr ggplot2 magrittr purrr readr tidyr]; };
+  pcr = derive2 { name="pcr"; version="1.2.0"; sha256="0817ibih6rs52g560z8cbw2zpr0hbzrz94c913x4114w1k737bq9"; depends=[ggplot2]; };
   pcrcoal = derive2 { name="pcrcoal"; version="1.2.0"; sha256="0rd610ny8p7by3gi6kk130ii0qcswqsng5mzmxz8hrxqk0cs4c9x"; depends=[ape ggplot2 phylosim]; };
   pcrsim = derive2 { name="pcrsim"; version="1.0.2"; sha256="04177xl513k01prmf93kha91dyxmb9v80d1y4lz73fxsifj6bhar"; depends=[data_table ggplot2 gWidgets mc2d plyr strvalidator]; };
   pcse = derive2 { name="pcse"; version="1.9.1.1"; sha256="1rb9146vjkf36vc5v3frykmsff7kp6qp1hhmj8pak583in4rz8f8"; depends=[]; };
-  pct = derive2 { name="pct"; version="0.2.4"; sha256="02nskkrl6qasbzhvwijs9q7sk4j7ylkam9wfmhrqa6m8bkhxqg7s"; depends=[boot readr sf stplanr]; };
+  pct = derive2 { name="pct"; version="0.2.7"; sha256="1bpmfrdidnz1aqg8llz00rrvk70f7gy2jdb0i8l3kvf8gg3ws3qb"; depends=[boot readr sf stplanr]; };
   pdR = derive2 { name="pdR"; version="1.7"; sha256="05rnyb9znb71ilr9kf62x30knby1rm0p4ain220wvb62vkz054d7"; depends=[boot car coefplot lmtest papeR plm sandwich]; };
   pdSpecEst = derive2 { name="pdSpecEst"; version="1.2.3"; sha256="0kqph8134g1fyzc9b06nighkqsh6jjpckvwxhpslihj5sj3kapdd"; depends=[ddalpha multitaper Rcpp RcppArmadillo Rdpack]; };
   pdc = derive2 { name="pdc"; version="1.0.3"; sha256="0503n7aiy0qrl790yfjvpm7bbyz1i4818rlg96q0fvzb58zqmyvc"; depends=[]; };
-  pder = derive2 { name="pder"; version="1.0-0"; sha256="097klk334bjhlss8x73f27l7jcp7d7vh10jr5sazm5kcvi95619i"; depends=[]; };
+  pder = derive2 { name="pder"; version="1.0-1"; sha256="147fc5swmh0qrg7k3q3gpnvl9f7hhjjzwi8f5dc4fkyj14qi5bm5"; depends=[]; };
   pdfCluster = derive2 { name="pdfCluster"; version="1.0-3"; sha256="13m7b2wivvf58vyqbysj4r04w0nj2b5x0xnaxip712a6c66x1h7l"; depends=[geometry]; };
   pdfetch = derive2 { name="pdfetch"; version="0.2.4"; sha256="0qskxak1mb8h038ly4hlsjvkz8nyinaraqh5f91d8nyzjzhj7x3c"; depends=[curl httr jsonlite lubridate readr reshape2 XML xml2 xts zoo]; };
   pdfsearch = derive2 { name="pdfsearch"; version="0.3.0"; sha256="0mk1s8b7cdz025xn9kg5xnw388sndhjm80ckf71daxviknrzcscf"; depends=[pdftools stringi tibble tokenizers]; };
   pdftables = derive2 { name="pdftables"; version="0.1"; sha256="1gnwjijr89cczchc7yi4w5xiw0dalbymvj23rymm8cfra34iwn5p"; depends=[httr]; };
-  pdftools = derive2 { name="pdftools"; version="2.2"; sha256="1cvmr33jx09r7d76q0g8bd0ik4xa304n42b7psw1lj8a3a4wrk0l"; depends=[qpdf Rcpp]; };
+  pdftools = derive2 { name="pdftools"; version="2.3"; sha256="1v193v74higrkafcn96wank86wixnb0p9x3z2j2ddlvypc355i69"; depends=[qpdf Rcpp]; };
   pdist = derive2 { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
   pdmod = derive2 { name="pdmod"; version="1.0.1"; sha256="04bk9gjg2c55hk6k1hy0m29927s8a5ig6mr4xb89npam68g0pcms"; depends=[mco]; };
   pdp = derive2 { name="pdp"; version="0.7.0"; sha256="0wcszaq4c14f9a2r1gd32mzhs035jlg2w8mkfklzigcj7fv9xmi8"; depends=[ggplot2 gridExtra lattice magrittr mgcv plyr viridis]; };
+  pdqr = derive2 { name="pdqr"; version="0.2.0"; sha256="1wcsdx0nns5vb0gksmykhyrn0y00x9b8m4d05dxllyvx9xika1n5"; depends=[]; };
   pds3 = derive2 { name="pds3"; version="0.5.0"; sha256="1hipi4ygk30khrrslxq3m9qdichazhrl34k444shs7gi6wjx9ilr"; depends=[rly]; };
   peRiodiCS = derive2 { name="peRiodiCS"; version="0.5.0"; sha256="1366gmn6qfciwcjsfnbl3hfa16ffn11g00fm0kv74ilvm3nnawk3"; depends=[Hmisc rms]; };
   peRspective = derive2 { name="peRspective"; version="0.1.0"; sha256="1zz3znzaa80k60jddys5fhxwx4c8lyqymx5fw2zvj654rnk0mmzc"; depends=[crayon dplyr glue httr jsonlite magrittr purrr rlang rlist stringr tibble]; };
@@ -10945,18 +11399,22 @@ in with self; {
   peakRAM = derive2 { name="peakRAM"; version="1.0.2"; sha256="0mj7f8jqkfky61xag2km0svbgvfmif3c1d8ccav6pv1963cg3cvv"; depends=[]; };
   pear = derive2 { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
   pearson7 = derive2 { name="pearson7"; version="1.0-2"; sha256="0x8bnlzgmfah8lzdg8skxs7bm8yq0nkrhqi7q43h902j4jl5b8jy"; depends=[]; };
-  pec = derive2 { name="pec"; version="2018.07.26"; sha256="07xr22klvmxpn2k72mjd775fs89f5hppb5xcy4sjy1njalmn3icm"; depends=[foreach prodlim rms survival timereg]; };
+  pec = derive2 { name="pec"; version="2019.11.03"; sha256="1h6fk3k9w61a9xqhvkm1zdv75nsl06n78036qvcxkcf0bkfxl360"; depends=[foreach prodlim rms survival timereg]; };
   pedantics = derive2 { name="pedantics"; version="1.7"; sha256="14hphziwqrq4fkxlvp94j564q19k9fabvhmdz7zhb6cvak6xv1n6"; depends=[genetics kinship2 MasterBayes MCMCglmm mvtnorm]; };
   pedgene = derive2 { name="pedgene"; version="3.2"; sha256="1cl95fw6wdh4k6rg1nlydh09gf96pcgyfd3bxdcaisq0vfn05g0j"; depends=[CompQuadForm kinship2 Matrix survey]; };
   pedigree = derive2 { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[HaploSim Matrix reshape]; };
   pedigreeTools = derive2 { name="pedigreeTools"; version="0.1"; sha256="0kgbjyw9dlp4s91cyg5w0p2vn2h9pg9ixrhc5pwvkp3v1acd0xfm"; depends=[Matrix]; };
   pedigreemm = derive2 { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
+  pedmut = derive2 { name="pedmut"; version="0.1.0"; sha256="0b8qlcl4g8kjix4q1drs1yk7wnilxqslv4p8svyabcg8wb4bnvwa"; depends=[]; };
   pedometrics = derive2 { name="pedometrics"; version="0.6-6"; sha256="1w9wa73wva6z0d56g221l8qmc5igfypwsa2xq4sn4r501bdy8qpq"; depends=[lattice latticeExtra Rcpp]; };
+  pedprobr = derive2 { name="pedprobr"; version="0.1.0"; sha256="1nn8pmxzj1lnfynaws87lbrk2p5y8im4cdm46vw91lbk00z7j3vc"; depends=[pedmut pedtools]; };
   pedquant = derive2 { name="pedquant"; version="0.1.2"; sha256="18shjp241ihy01ksmp2sqrpq5y693njml4wqaayypb961s1850kj"; depends=[curl data_table ggplot2 gridExtra httr jsonlite readr readxl rvest scales stringi TTR webdriver xml2 zoo]; };
-  pegas = derive2 { name="pegas"; version="0.11"; sha256="0l21bapzbjcvblbvks3jh9rpy9hng1ccd7f0glhqw695lc737bpx"; depends=[adegenet ape]; };
+  pedtools = derive2 { name="pedtools"; version="0.9.1"; sha256="1qki2yf0dy9yl7b0n8va2knzpjnrai4v5qg6538kqsbpx1i9rxcy"; depends=[kinship2]; };
+  pegas = derive2 { name="pegas"; version="0.12"; sha256="0sb8cmz4d238mcb56hv9fa0cagm00k82r7aj4cj4lxa1flxlpy8p"; depends=[adegenet ape]; };
   pems_utils = derive2 { name="pems.utils"; version="0.2.26.4"; sha256="13d5cg2wdz84inby017bra6xzwhkp5qcy1b213r387fq771h2xrx"; depends=[baseline dplyr ggplot2 lattice latticeExtra loa RColorBrewer Rcpp rlang]; };
   penDvine = derive2 { name="penDvine"; version="0.2.4"; sha256="0znpvsr7zy2wgy7znha1qiajcrz1z6mypi3f5hpims33z7npa7dl"; depends=[doParallel fda foreach lattice latticeExtra Matrix quadprog TSP]; };
   penMSM = derive2 { name="penMSM"; version="0.99"; sha256="1xdcxnagvjdpgnfa5914gb41v5y4lsvh63lbz1d2l8bl9mpff3lm"; depends=[Rcpp]; };
+  penPHcure = derive2 { name="penPHcure"; version="1.0.1"; sha256="0d5sz5027dvjgp4zc9qjlidplldpq4y18rfiq2wxxcrba7xp8yvp"; depends=[MASS Rcpp RcppArmadillo Rdpack survival]; };
   penalized = derive2 { name="penalized"; version="0.9-51"; sha256="1zcrwa93mc27qj3g4ayc2k895r6g8q0g6qb2azmvj7wqk750va7a"; depends=[Rcpp RcppArmadillo survival]; };
   penalizedLDA = derive2 { name="penalizedLDA"; version="1.1"; sha256="1bw5wiixmmg1vr3v0d59vh67f0gy2rvr30bi58skvrkb25qcjq6l"; depends=[flsa]; };
   penalizedSVM = derive2 { name="penalizedSVM"; version="1.1.2"; sha256="03zw95bc6svbnzak9x72s3b8l9gh581mxn2di1fl89gxlh864amd"; depends=[corpcor e1071 lhs MASS mlegp statmod tgp]; };
@@ -10973,10 +11431,10 @@ in with self; {
   perccal = derive2 { name="perccal"; version="1.0"; sha256="1akak068d0g70amj5sbvnqbywzy21l4wz11mhp71b7cp4xmr9n12"; depends=[Rcpp RcppArmadillo RcppEigen]; };
   perccalc = derive2 { name="perccalc"; version="1.0.3"; sha256="0x895b75fjipzv7ff9mz7qpcabm9zys3bjsalk6h2q2350lwjmq1"; depends=[broom dplyr magrittr multcomp purrr tibble tidyr]; };
   perfectphyloR = derive2 { name="perfectphyloR"; version="0.1.3"; sha256="05awwlsams9qc75hxl362scjsfz65kd250a5a545yniljr6wm6zl"; depends=[ape dendextend HHG phytools Rcpp RcppArmadillo]; };
-  performance = derive2 { name="performance"; version="0.2.0"; sha256="1pzd6z7i1jxr2xi1shg3d0bxlbpmjl7kpmwgjnfys6syv57znd1z"; depends=[bayestestR insight]; };
+  performance = derive2 { name="performance"; version="0.4.0"; sha256="0lxpmp9smn5r3xvfik36nr608wcpmmximjh0v2sckyvjf7hnb4s0"; depends=[bayestestR insight]; };
   performanceEstimation = derive2 { name="performanceEstimation"; version="1.1.0"; sha256="08jx2zl6xh0rp54xa70gb717wbfdzfrx9b47i3b3ly41qaf85vrc"; depends=[dplyr ggplot2 parallelMap tidyr]; };
   pergola = derive2 { name="pergola"; version="1.0"; sha256="1650ipp2b455xdkznwm7bnxvimad7nbyr9i1lg2vdh64j1qfh7gl"; depends=[seriation]; };
-  periscope = derive2 { name="periscope"; version="0.4.3"; sha256="1mnqav4f5m2jj17853xwy0fmndm6ywk3q6qq4m5j60f2cb866mbl"; depends=[DT ggplot2 logging lubridate openxlsx shiny shinyBS shinydashboard]; };
+  periscope = derive2 { name="periscope"; version="0.4.6"; sha256="0544b525nbq26sr5zwxgvcw9mpg6v4qgbzjjji5xirzfj0ra1v1h"; depends=[DT ggplot2 logging lubridate openxlsx shiny shinyBS shinydashboard]; };
   perm = derive2 { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; };
   permDep = derive2 { name="permDep"; version="1.0.2"; sha256="0dv740vnjy99rc6px8w4ngis3w6zc4c67m0bx2lh327sqb7q3zsd"; depends=[BB survival]; };
   permGPU = derive2 { name="permGPU"; version="0.14.9"; sha256="10r2qxbvzjxv3520lrn6cwi5akhhwgkhz7yaqxi5vh2f5l0s49wy"; depends=[Biobase foreach RUnit survival]; };
@@ -10984,12 +11442,12 @@ in with self; {
   permPATH = derive2 { name="permPATH"; version="1.1"; sha256="06h1lqpmkg4ajjh4r837qp094h105n4mpvafnp2nsbv9yyayd4h8"; depends=[R2HTML xtable]; };
   permubiome = derive2 { name="permubiome"; version="1.2"; sha256="0np10qhj5rl2gjmq5sfnpaqymmr0wag2b8fwyzndjflvypfmcsyp"; depends=[ggplot2]; };
   permuco = derive2 { name="permuco"; version="1.0.2"; sha256="0mms11j2x3rw7c9pq2pb2wvcvx0a14p20clysa2b081xgmzx3971"; depends=[Matrix permute]; };
-  permutations = derive2 { name="permutations"; version="1.0-4"; sha256="1i40impzc6vd3zbrhw8jflsafp8brc60hl2vswn6a8qan4k8p2jn"; depends=[magic numbers partitions]; };
+  permutations = derive2 { name="permutations"; version="1.0-5"; sha256="0891yqrj45fn11762d4an3bri8ihlxf0102z06mbfdy4hf8582h0"; depends=[magic numbers partitions]; };
   permute = derive2 { name="permute"; version="0.9-5"; sha256="0ra8p5mf2590azrkas8z2ry7mif77xqxd29n4zgyi5vll225726j"; depends=[]; };
   permutes = derive2 { name="permutes"; version="1.0"; sha256="1lrhlqwv1y2vgklgwp16jw90vmgifnp4rlxw55hhj8gs97agv5y8"; depends=[ggplot2 lmPerm plyr viridis]; };
   perry = derive2 { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
   persiandictionary = derive2 { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
-  personalized = derive2 { name="personalized"; version="0.2.4"; sha256="0yn07mxngyx0vnxn47h6pnfn1g9rp5kd30yd4hcsrw03hvbdsb35"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
+  personalized = derive2 { name="personalized"; version="0.2.5"; sha256="073mi3g0khba1s8wz01h1xc0zxq0yr05nflf15nss2rv7lh2qazb"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
   personograph = derive2 { name="personograph"; version="0.1.3"; sha256="07lrlbw4222l1d5rwn0hfqliyk8sqjf6ipz4n2zwcbk113bb8sy7"; depends=[grImport]; };
   perspectev = derive2 { name="perspectev"; version="1.1"; sha256="175s1nq5z4gfs5qb39lq230g6n0v8fxzs5hr9j2rgx0knpbjfq03"; depends=[ape boot doParallel foreach ggplot2 mapproj sp]; };
   perturb = derive2 { name="perturb"; version="2.10"; sha256="07c84x67hzyr70zkmd00f4gxqzcrpizc7w7h2hs22xy6p719a5i2"; depends=[gdata]; };
@@ -11019,7 +11477,7 @@ in with self; {
   phantom = derive2 { name="phantom"; version="0.1.3"; sha256="0kgw65jziw5s03isq5ywmqijhkbik5i84k30hx5gbi0zzgj8y0h1"; depends=[gplots MASS NMF qusage RColorBrewer Rcpp RcppArmadillo]; };
   phase1PRMD = derive2 { name="phase1PRMD"; version="1.0.1"; sha256="1gg11rvs5zqza66f7r7sw7g3w8nzi3il1883wpwzqhp58hsphjdw"; depends=[arrayhelpers coda dplyr ggplot2 gridExtra kableExtra knitr MASS phase1RMD plyr RColorBrewer reshape2 rjags]; };
   phase1RMD = derive2 { name="phase1RMD"; version="1.0.8"; sha256="1wvlajsqb8y8f30asq1lyk87kmakh2risnky98g5gday765y90qa"; depends=[arrayhelpers boot coda ggplot2 mvtnorm rjags]; };
-  phaseR = derive2 { name="phaseR"; version="2.0"; sha256="14shpsyrcz1j0bl60vh37cpcvmry48s76xlf4f9lmq4l5vynhrcn"; depends=[deSolve]; };
+  phaseR = derive2 { name="phaseR"; version="2.1.3"; sha256="1xqh6k8zl0jc2srklb8vg57f88kssm80b286asg2cawanj06qs2k"; depends=[deSolve]; };
   phateR = derive2 { name="phateR"; version="0.4.1"; sha256="13vqrxbshk62wk4myhwyp4a7k6i9synknvmfah3l1pg2b3b3dqmj"; depends=[ggplot2 Matrix reticulate]; };
   phd = derive2 { name="phd"; version="0.1"; sha256="1scwan3pkhdl0nyhpjrkcal1f58x0jkdkhixdcxppr1363r1v22a"; depends=[glmnet]; };
   pheatmap = derive2 { name="pheatmap"; version="1.0.12"; sha256="1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"; depends=[gtable RColorBrewer scales]; };
@@ -11043,10 +11501,11 @@ in with self; {
   phonR = derive2 { name="phonR"; version="1.0-7"; sha256="0al2cbynnbvmd90lk1w1g1ppslqq0ng8vbb6bl7m4kqwd2lgv056"; depends=[deldir plotrix splancs]; };
   phonTools = derive2 { name="phonTools"; version="0.2-2.1"; sha256="01i481mhswsys3gpasw9gn6nxkfmi7bz46g5c84m13pg0cv8hxc7"; depends=[]; };
   phonenumber = derive2 { name="phonenumber"; version="0.2.2"; sha256="1m5idp538lvynmfp8m7l89js6hk5lpp26k419bdvj3hd3ap0n9lg"; depends=[]; };
+  phonfieldwork = derive2 { name="phonfieldwork"; version="0.0.2"; sha256="1flpk6d6q3fh5b855wk0v9gl7m810qjkv10papg1r9iflb9k41rp"; depends=[DT phonTools rmarkdown tuneR]; };
   phonics = derive2 { name="phonics"; version="1.3.2"; sha256="03iacdpzzw90jgh38mhs49gswz3292nlkizc1xr02xry6nd7357a"; depends=[BH data_table Rcpp]; };
-  photobiology = derive2 { name="photobiology"; version="0.9.28"; sha256="0aw7baxgb24fddcpsh9zlg1njvkb6kppz825b6xzqa6v0yigr0id"; depends=[dplyr lubridate plyr polynom rlang splus2R tibble zoo]; };
+  photobiology = derive2 { name="photobiology"; version="0.9.29"; sha256="1ins3554jydgvisg08ngp7f7h98hxihnkj8kwnk65xyiziy11g09"; depends=[dplyr lubridate plyr polynom rlang splus2R tibble zoo]; };
   photobiologyFilters = derive2 { name="photobiologyFilters"; version="0.5.0"; sha256="1zijk6g9xf29ql7pybjs1zqkyn8s2zav4vz2pskj548v6hmrcw3x"; depends=[photobiology]; };
-  photobiologyInOut = derive2 { name="photobiologyInOut"; version="0.4.20"; sha256="1pmga655hcnm8f8vxk3559p2cdc2i9srx4wmn4z5l0xmfpq14402"; depends=[colorSpec dplyr hyperSpec lazyeval lubridate photobiology readr readxl stringr tibble tidyr]; };
+  photobiologyInOut = derive2 { name="photobiologyInOut"; version="0.4.21"; sha256="1h24bwmjchhhicxiyfylm65bl12dakn0b4q0zpgk6xlxk13n7fbb"; depends=[colorSpec dplyr lazyeval lubridate photobiology readr readxl stringr tibble tidyr]; };
   photobiologyLEDs = derive2 { name="photobiologyLEDs"; version="0.4.3-1"; sha256="0inhl6ba1fzkak4752m60hkm6fzapzyz5kchvz18yv33dmm13v1c"; depends=[photobiology]; };
   photobiologyLamps = derive2 { name="photobiologyLamps"; version="0.4.3"; sha256="1df7ngcyrmvhab80w1ggyv1p9srsvwr9f6pm8yl7hvkpkv6jbdsk"; depends=[photobiology]; };
   photobiologyPlants = derive2 { name="photobiologyPlants"; version="0.4.2"; sha256="0ab5ks72mb5x03xc0ww9fcl0h13ja8402b1s670lqmmhyvp6fj3s"; depends=[photobiology photobiologyWavebands]; };
@@ -11055,31 +11514,32 @@ in with self; {
   photobiologyWavebands = derive2 { name="photobiologyWavebands"; version="0.4.3"; sha256="04nc3yhd97k2pb1jv2bgda8mii4y4ph1884wagw8y3lc0g4dkicv"; depends=[photobiology]; };
   photosynthesis = derive2 { name="photosynthesis"; version="1.0.0"; sha256="089b42s4277j6pmxa3jsg0bcrilqanp7dblnz6hlmgprqcbmlhwb"; depends=[crayon dplyr furrr future glue gunit magrittr purrr rlang stringr tealeaves tidyr tidyselect units]; };
   phrasemachine = derive2 { name="phrasemachine"; version="1.1.2"; sha256="1145c8ymarhbza8253rw4ybnq0k5pcckqxpdcr8s2y23pj182r1p"; depends=[NLP openNLP stringr]; };
-  phreeqc = derive2 { name="phreeqc"; version="3.4.10"; sha256="1gmi81dical39ph1yf7n0pkhgbaf7p5xhv2cg3n15j1vpr8gwikl"; depends=[]; };
+  phreeqc = derive2 { name="phreeqc"; version="3.6.0"; sha256="17dv4c94y7z5yaqx1g8llbmwpg15pkkixkhmi5knyyvi2fd23vkl"; depends=[]; };
   phtt = derive2 { name="phtt"; version="3.1.2"; sha256="1fvvx5jilq5dlgh3qlfsjxr8jizy4k34a1g3lknfkmvn713ycp7v"; depends=[pspline]; };
   phuassess = derive2 { name="phuassess"; version="1.1"; sha256="0jplj9gih32dllx2hw5aqvc9b94sbrbv66s3a5r8mdbpjh93rhng"; depends=[]; };
-  phuse = derive2 { name="phuse"; version="0.1.8"; sha256="1ppinprmanpkhvf9apmjzsqc1q26m0mmgxl97iqqnrpk8cpln54d"; depends=[git2r httr jsonlite RCurl rlist shiny stringr yaml]; };
+  phuse = derive2 { name="phuse"; version="0.2.0"; sha256="0zbkh7j3i87c77k9z959gq676qn3aqnsx8lvm7jg99yl9p7i5znm"; depends=[git2r httr jsonlite RCurl rlist SASxport shiny stringr yaml]; };
   phybreak = derive2 { name="phybreak"; version="0.2.0"; sha256="0vapc0w308wv1cd72p2xbj3q7jfnxwp08g5g8855a38pcn3njbfg"; depends=[ape phangorn Rcpp stringr]; };
-  phyclust = derive2 { name="phyclust"; version="0.1-24"; sha256="1gsl0zzr4m1vxbixlsd80bl05kyxvbawca8qk65b935v67z6c6hb"; depends=[ape]; };
+  phyclust = derive2 { name="phyclust"; version="0.1-27"; sha256="0pcid1vf3cb9ly0kx2a5jgdlns5chx51zkgnfj33z30h50fs2n02"; depends=[ape]; };
   phyext2 = derive2 { name="phyext2"; version="0.0.4"; sha256="0j871kgqm9fll0vdgh071z77ib51y8pxxm0ssjszljvvpx1mb8rb"; depends=[ape phylobase]; };
-  phylin = derive2 { name="phylin"; version="2.0"; sha256="1j7v79ga6d4ysfmsh8na4s6mgs04wi4c89l5kxvwaqvj8ic0jlpn"; depends=[]; };
+  phylin = derive2 { name="phylin"; version="2.0.1"; sha256="0gmvr9zcaxb49gfjg3bq0izmw18hhganv1hnzjg257ar2xr5hbgn"; depends=[]; };
   phyloTop = derive2 { name="phyloTop"; version="2.1.1"; sha256="1n44kr3a9yg8yvy3m493zi04x6aiqm424fp2ls9yzyx1cga2h9nk"; depends=[ape igraph NHPoisson phylobase]; };
   phylobase = derive2 { name="phylobase"; version="0.8.6"; sha256="1n9g69llrh8xfmrnxh78rr09cxy5qbc99dr3amg121pl1qhpn4g7"; depends=[ade4 ape Rcpp rncl RNeXML]; };
   phylocanvas = derive2 { name="phylocanvas"; version="0.1.3"; sha256="1l5br500lwwf7vp8wph5ykpkpqd15lypvhzy0c1cc8g8c6f7pckn"; depends=[ape htmlwidgets phylobase]; };
   phyloclim = derive2 { name="phyloclim"; version="0.9.5"; sha256="107kilh0gwr84ig54g92zyk7zv553pky2bzpjqgf9fjwbm6fvmrs"; depends=[ape raster sp]; };
-  phylocomr = derive2 { name="phylocomr"; version="0.1.4"; sha256="1jaznba7mmizkx7xipxr9l89j6cmpq7rrsg9jjl4wi8sdv2s7fcc"; depends=[sys tibble]; };
+  phylocomr = derive2 { name="phylocomr"; version="0.3.0"; sha256="0w02r7nwnal22gqrs53fbmhbzs10237yghhmm20fh6va0cfh1j36"; depends=[sys tibble]; };
   phylocurve = derive2 { name="phylocurve"; version="2.0.9"; sha256="1d01nwfpyh61r00dq6cnhxdwzk81jr3l6aa51dl1wck4cy0frscp"; depends=[ape doParallel drc dtw foreach geiger geomorph GPfit Matrix mvnmle phylolm phytools Rcpp RcppArmadillo rgl]; };
   phylogram = derive2 { name="phylogram"; version="2.1.0"; sha256="1p4h5pirc0m5pzc18q0jk3mcmb5n48gdf9abz03vml3a209xxl2v"; depends=[ape]; };
   phyloland = derive2 { name="phyloland"; version="1.3"; sha256="10g40m6n2s4qvnzlqcwpy3k0j7bxdp79f586jj910b8p00ymrksp"; depends=[ape]; };
   phylolm = derive2 { name="phylolm"; version="2.6"; sha256="0vah8ibicldi57wab4sk1kx7gdq6h34bm6swmxzhq7kikxfwmmyj"; depends=[ape future_apply]; };
   phylometrics = derive2 { name="phylometrics"; version="0.0.1"; sha256="1pmr6l3wmaf91wdlsc5m63l07fibngnly2qzkma0rdi463ii03il"; depends=[mvtnorm]; };
-  phylopath = derive2 { name="phylopath"; version="1.1.0"; sha256="14waw2kw624vlnk786hdyq06vmvrmnl24a05hwwycn7bbmhbr2cx"; depends=[ape ggm ggplot2 ggraph igraph MuMIn pbapply phylolm purrr tibble]; };
+  phylopath = derive2 { name="phylopath"; version="1.1.1"; sha256="02wx4hav2p81hpzyd2k589h7d56ziki7gmk16bi28c6z49pn2cfx"; depends=[ape ggm ggplot2 ggraph igraph MuMIn pbapply phylolm purrr tibble]; };
   phyloseqGraphTest = derive2 { name="phyloseqGraphTest"; version="0.0.2"; sha256="1xgv2kf7j3ia5vk10r7w9588rfv7asdaf8f3yxwp5q7aqn3krm6q"; depends=[ggnetwork ggplot2 igraph intergraph phyloseq]; };
   phylosignal = derive2 { name="phylosignal"; version="1.2.1"; sha256="10ds4vn5rw3nrgvsg2n0b53bivy54p5j7fmnqn81alzz9irgrkcs"; depends=[adephylo ape boot DBI igraph phylobase Rcpp RcppArmadillo]; };
-  phylosim = derive2 { name="phylosim"; version="3.0.4"; sha256="08ajpb3gjglgx2s4jqbpgpcm01hz4p9c3wacfmq0wl1l7sjgsnrs"; depends=[ape compoisson ggplot2 R_methodsS3 R_oo]; };
+  phylosim = derive2 { name="phylosim"; version="3.0.5"; sha256="07adqgkxng0jj51nhwlsxxnd0bdxrk54lvj1fs53yxy236q6xwkf"; depends=[ape compoisson ggplot2 R_methodsS3 R_oo]; };
   phylotaR = derive2 { name="phylotaR"; version="1.0.0"; sha256="0plxc3l9fxxj9mfnhnpp5wrxyvxm292fxrwx2g8xysasmjb301v9"; depends=[ggplot2 igraph R_utils rentrez sys treeman treemapify XML]; };
   phylotate = derive2 { name="phylotate"; version="1.3"; sha256="092kvn32j06vm8ilwjkgidcz11r3qhsmi0cb0g0nnykw0a0vii4p"; depends=[]; };
   phylotools = derive2 { name="phylotools"; version="0.2.2"; sha256="1dhk1ncp5zi4zl1xfnjz64v983dm7bq7iimfjin80j0bdcpps44w"; depends=[ape]; };
+  phyr = derive2 { name="phyr"; version="1.0.2"; sha256="1qk4mbchi5dcz6vsmwb93gj5ihp2ygvm1ya63mkw11vkyy2nv67c"; depends=[ape dplyr gridExtra latticeExtra lme4 Matrix mvtnorm nloptr Rcpp RcppArmadillo]; };
   phyreg = derive2 { name="phyreg"; version="1.0.2"; sha256="0m1psq79zl7h8791pl8g6i0ybda7vgddza8r9mwqhg4sw1q4bzcp"; depends=[]; };
   physiology = derive2 { name="physiology"; version="1.2.1"; sha256="1z7xymwgj7bqn0yvcz3q8pvwhpr5vx5qd0x8sayal1vgpqc0nccb"; depends=[Rcpp]; };
   phytools = derive2 { name="phytools"; version="0.6-99"; sha256="03rrcx2r8sbf6510xdd0259p02apy2z84ifk7f076pvwlz5k5x9f"; depends=[animation ape clusterGeneration coda combinat expm gtools maps MASS mnormt nlme numDeriv phangorn plotrix scatterplot3d]; };
@@ -11087,21 +11547,22 @@ in with self; {
   picante = derive2 { name="picante"; version="1.8"; sha256="1bcq2j7fs89c2jib68qq6la67rxyg9raryf162mwvjakpf6k19l1"; depends=[ape nlme vegan]; };
   picasso = derive2 { name="picasso"; version="1.3.1"; sha256="1z7zm88wjp7fia7054l7i55f152iddrjj9wbcpcskhc8s6kfg53c"; depends=[MASS Matrix]; };
   pid = derive2 { name="pid"; version="0.50"; sha256="05s3xqf95d4avh7gkr49jsm8jzacbv694c3wgppkkc40zip6vkc7"; depends=[DoE_base FrF2 FrF2_catlg128 ggplot2 png]; };
-  piecepackr = derive2 { name="piecepackr"; version="1.0.2"; sha256="108nq35xgbwzhab900pn2dqdqhxycqiigf5cvliswpxx0zddp0n7"; depends=[grImport2 purrr R6 stringr tibble]; };
+  piecepackr = derive2 { name="piecepackr"; version="1.1.1"; sha256="1s5qkawjsqv0nz1ixk87nlr6sg1jxc3jf8sxfphl4bgvhkyx0f5j"; depends=[grImport2 purrr R6 stringr tibble]; };
   piecewiseSEM = derive2 { name="piecewiseSEM"; version="2.0.2"; sha256="07vz90cghkbmcar9ps94wydvg4r7mj32pa7vjdmgm5j8dhxq8max"; depends=[car lme4 MASS nlme pbkrtest]; };
   pifpaf = derive2 { name="pifpaf"; version="1.0.1"; sha256="0wj1fbhd871fnw7fjlbh0gdjz848mbwl1bzjp3cgmh9s7jnd2kci"; depends=[ggplot2 gridExtra MASS matrixcalc numDeriv sfsmisc]; };
   piggyback = derive2 { name="piggyback"; version="0.0.10"; sha256="08d7jxw7mvfyhjbr8zy95p952j2p94ii6zq38b8xw96g6k1380bz"; depends=[clisymbols crayon fs gh git2r httr jsonlite lubridate magrittr memoise usethis]; };
   pillar = derive2 { name="pillar"; version="1.4.2"; sha256="0988047mf0xdhdkqqmavzx4ifjhndjnxniyrrhrdq1nvnrvbpfms"; depends=[cli crayon fansi rlang utf8 vctrs]; };
   pim = derive2 { name="pim"; version="2.0.1"; sha256="1m804clxc8m4nyzi4hhfy118527lgf2sb7589qd61fb83yh6hi8p"; depends=[BB nleqslv]; };
-  pimeta = derive2 { name="pimeta"; version="1.1.2"; sha256="06x22l3x0l4qg4b4mkj069mqw2ylkb6sqad7s613fp2xhry5crbr"; depends=[ggplot2 Rcpp RcppEigen]; };
+  pimeta = derive2 { name="pimeta"; version="1.1.3"; sha256="1mx0m438db4n041bns6sm8sr8vrj6w8b2kvpmrkkp0bly2vpv40q"; depends=[ggplot2 Rcpp RcppEigen scales]; };
   pinbasic = derive2 { name="pinbasic"; version="1.2.2"; sha256="0mcw68wrixz2jf62nfifdgg8bnp4h1p3byivz28wi61blj8iaa75"; depends=[fastcluster ggplot2 lubridate Rcpp reshape2 scales]; };
   pinfsc50 = derive2 { name="pinfsc50"; version="1.1.0"; sha256="1fja8xdqwsm4g223wmb2yg5fqmsg94hchzjd4qrqah1zb8vbdfdn"; depends=[]; };
   pingers = derive2 { name="pingers"; version="0.1.1"; sha256="09np6aph6rhvdh6mwky8a57i38bi2amwi7x91p9kfb2mzkql8k8w"; depends=[data_table dplyr lubridate plotly reshape2 stringr tibble tictoc tidyselect]; };
-  pingr = derive2 { name="pingr"; version="1.1.2"; sha256="17fh2gjlmwy6wy8i24q76fivjig8jm05g9kvfz81q0h6b5zxnpmg"; depends=[]; };
+  pingr = derive2 { name="pingr"; version="2.0.0"; sha256="0fyzm8hlksqyzp1mrb5b10qprnqd9jhk8lsdyb4j4h4ap94wwzb7"; depends=[processx]; };
   pinnacle_API = derive2 { name="pinnacle.API"; version="2.3.3"; sha256="1b6adns1xr3cgcj2mdjvl16cm2vjjgsj2l8m2c47plyc5jh05qmb"; depends=[data_table httr jsonlite magrittr openssl purrr rjson uuid]; };
   pinnacle_data = derive2 { name="pinnacle.data"; version="0.1.4"; sha256="1sl36i2857b3xwx7iwgy8mkgjvz7nfa74ch1n8kcxbj59ib7mp8p"; depends=[tibble]; };
   pinochet = derive2 { name="pinochet"; version="0.1.0"; sha256="0qy18mlw34cv9p7b3qb5bidxyq44k0hzj91hm5vp6wkjhik4knvi"; depends=[]; };
-  pinp = derive2 { name="pinp"; version="0.0.7"; sha256="0m7k8z6gnkqwxf5iggdxgi4i1g0xnw2s3w94srz2mmwmyqa4zfpi"; depends=[knitr rmarkdown]; };
+  pinp = derive2 { name="pinp"; version="0.0.9"; sha256="1hdj0mqwz0hwl6jsh5zknbgg10bj49giqnr4y3lavfbk8d7qmmvs"; depends=[knitr rmarkdown]; };
+  pins = derive2 { name="pins"; version="0.3.0"; sha256="17hzp8rcif85bc4svazwhyv434aqilzm7ir019l8y7bwhsfnbilw"; depends=[base64enc crayon httr jsonlite magrittr mime openssl rappdirs withr yaml zip]; };
   pinyin = derive2 { name="pinyin"; version="1.1.6"; sha256="0rw9qd5hbcmpi30vdqs31ijy37d8jlpqv0xif2nndb8cwj8x5bw2"; depends=[data_table splitstackshape]; };
   pipe_design = derive2 { name="pipe.design"; version="0.5.1"; sha256="0r0szkdzifxmnnbr6675w8ij4zwqgxj3gwahc7a74mxr51f7qh8j"; depends=[ggplot2 gtools xtable]; };
   pipeGS = derive2 { name="pipeGS"; version="0.4"; sha256="0ki4i70r5f195b4jfv3hxlxz3zj57mhy2yf4984bwr11impilz5w"; depends=[]; };
@@ -11114,32 +11575,35 @@ in with self; {
   piton = derive2 { name="piton"; version="0.1.1"; sha256="1265y4lv2m5nwrh25sahjkxwmivpxgh9shrdidlmaman7zs6cclr"; depends=[Rcpp]; };
   pivmet = derive2 { name="pivmet"; version="0.2.0"; sha256="0xcm0pb5qn2vikhnf7fnp6942syq0xax7fgwmspixa6la5bdkksg"; depends=[bayesmix cluster corpcor MASS mclust mvtnorm RcmdrMisc rjags rstan runjags]; };
   pivotaltrackR = derive2 { name="pivotaltrackR"; version="0.1.0"; sha256="024srncm288mn3bz6hv7ljzkchmnljk4yc2d4z7i05vsn7dzd2c6"; depends=[curl httr]; };
-  pivottabler = derive2 { name="pivottabler"; version="1.2.0"; sha256="07d69r367h7dzyfd8gg9d63xjnanrkw7qdgpmhcpngxnqpmir79i"; depends=[data_table dplyr htmltools htmlwidgets jsonlite R6]; };
+  pivottabler = derive2 { name="pivottabler"; version="1.2.3"; sha256="08aapjisah7q0lyw70cfiqkyic633z8cfiq760nnngh88cp1hkc7"; depends=[data_table dplyr htmltools htmlwidgets jsonlite R6]; };
   pixels = derive2 { name="pixels"; version="0.1.0"; sha256="0lna0z2shs49kh48ipjnyigaa22wb9gm4mq970ldhh9msb7wcv55"; depends=[htmlwidgets miniUI shiny]; };
   pixiedust = derive2 { name="pixiedust"; version="0.8.6"; sha256="1dajiblpm51szndz026lmwh6swx8f9f03s6md26d84awcx0q1dpc"; depends=[broom checkmate dplyr htmltools knitr labelVector magrittr scales tidyr]; };
   pixmap = derive2 { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
-  pkgKitten = derive2 { name="pkgKitten"; version="0.1.4"; sha256="0c44zrvpyz87s5mjhsqdrkyrvyzhyldnq371bwnn9crbpbac3wnd"; depends=[]; };
-  pkgbuild = derive2 { name="pkgbuild"; version="1.0.3"; sha256="0k8zwa66rm1ncx19ld5mbaxcjxkswiczpdqyssy44vl8k6scwfn9"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
+  pkgKitten = derive2 { name="pkgKitten"; version="0.1.5"; sha256="0nnib0gv9g22b9p01xigsgj04jv29fv7f444invfphfh9cc866m4"; depends=[]; };
+  pkgbuild = derive2 { name="pkgbuild"; version="1.0.6"; sha256="0xnlz6ivhkbmncg9hfw5p69lm4rjy3wn5lyxmygxyf4rrfnnqwxx"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
   pkgcache = derive2 { name="pkgcache"; version="1.0.5"; sha256="0d0w3gqw3429dwmfc9804f9pl71l14phh03ppk2q5q1kyp49xw92"; depends=[assertthat cli cliapp crayon curl digest filelock glue prettyunits R6 rappdirs rematch2 rlang tibble uuid withr]; };
   pkgcond = derive2 { name="pkgcond"; version="0.1.0"; sha256="0pxj798042g23cf19r67nbgdyhpd868n2pkqjvjgrgr8ivwnkf1h"; depends=[]; };
-  pkgconfig = derive2 { name="pkgconfig"; version="2.0.2"; sha256="1jk9ip549xphb3anfixqv1yx5kidnndqgy9v3qjpmgmds5a7g695"; depends=[]; };
-  pkgdown = derive2 { name="pkgdown"; version="1.3.0"; sha256="1avjd93hnnh1yicx46gnbv8ps0cifg8rrjgvhw03k674gw11mgb7"; depends=[callr cli crayon desc digest evaluate fansi fs highlight httr magrittr MASS memoise openssl pkgload processx purrr R6 rematch2 rlang rmarkdown roxygen2 rsconnect rstudioapi tibble whisker withr xml2 yaml]; };
+  pkgconfig = derive2 { name="pkgconfig"; version="2.0.3"; sha256="0l1qph8zyi2sic3k2qcd7vlfl7rzfh1q7z7zvjkl5f7y1x2fy3rk"; depends=[]; };
+  pkgdown = derive2 { name="pkgdown"; version="1.4.1"; sha256="1y0mnsiq05snzschh2y5a0y1wrwh79c4jclsljjyflibbffhxxcf"; depends=[callr cli crayon desc digest evaluate fansi fs highlight httr magrittr MASS memoise openssl processx purrr rematch2 rlang rmarkdown rstudioapi tibble whisker withr xml2 yaml]; };
+  pkgfilecache = derive2 { name="pkgfilecache"; version="0.1.2"; sha256="07x63w19fg7sl547501r2dx2ds5sfdfb29xvqrvjibf8265x25fw"; depends=[downloader rappdirs]; };
   pkggraph = derive2 { name="pkggraph"; version="0.2.3"; sha256="1isiywgm20rypc5qr03p0k7lis76zzd96x5ncbvia644d2n13brm"; depends=[curl data_table dplyr ggnetwork ggplot2 htmltools igraph intergraph Matrix network networkD3 plyr RColorBrewer tibble]; };
   pkgload = derive2 { name="pkgload"; version="1.0.2"; sha256="0z7jvharafahi2gv5547mk1n499isjzw06kfwymmxc0gd575d1ii"; depends=[desc pkgbuild rlang rprojroot rstudioapi withr]; };
   pkgmaker = derive2 { name="pkgmaker"; version="0.27"; sha256="0spcamjncj78kzjps2rw4v1a4494yazv6xvhn0vmdflnypc8k8hp"; depends=[bibtex codetools digest magrittr registry stringi stringr withr xtable]; };
   pkgnet = derive2 { name="pkgnet"; version="0.4.0"; sha256="0da139p57xvy2v5ld3mnddgak59zjr58ndnbgg3y8msni80g52gq"; depends=[assertthat covr data_table DT futile_logger glue igraph knitr magrittr R6 rlang rmarkdown visNetwork]; };
-  pkgsearch = derive2 { name="pkgsearch"; version="2.0.1"; sha256="00wi4lym0zjb29qdalgwlbcdxi4k39pxxm6a2qhllfcbgc099mlb"; depends=[httr jsonlite magrittr parsedate prettyunits]; };
+  pkgsearch = derive2 { name="pkgsearch"; version="3.0.1"; sha256="0gkc8dnsfp6df8y1s09m52faz069vsv7kgpkjw1w2fw93nl1354f"; depends=[assertthat httr jsonlite parsedate prettyunits tibble]; };
   pkgverse = derive2 { name="pkgverse"; version="0.0.1"; sha256="0lsv7s9vsjvfpy19nxbdlbm363j01wwqqnrp0nlrik590hfq4w83"; depends=[devtools usethis]; };
   pkmon = derive2 { name="pkmon"; version="1.0"; sha256="0j2v4zlf7vgy5gld29xiii15m9i85cpiwc25rmzjm02cz2p32c72"; depends=[]; };
   pkr = derive2 { name="pkr"; version="0.1.2"; sha256="0m045dlcq3rls1w0smy4jvk3c57ckpqdv8xnz261k1gnnyjmz1k2"; depends=[binr foreign forestplot rtf]; };
   pks = derive2 { name="pks"; version="0.4-1"; sha256="1lwm65s2b9y6vr1yr683n535yz8hbzc6j289a6yp45v2yai72m07"; depends=[sets]; };
-  pksensi = derive2 { name="pksensi"; version="1.1.2"; sha256="16p2h15xya711i64s7m324x982zgvnxkd5z9045vsqi7ay4syjr0"; depends=[data_table deSolve dplyr getPass ggplot2 magrittr reshape]; };
+  pksensi = derive2 { name="pksensi"; version="1.1.4"; sha256="0bsl7w96z6hsljdsg9g9xng1sspq2h3ik064g238firxvdyclb46"; depends=[data_table deSolve dplyr getPass ggplot2 magrittr reshape]; };
   plRasch = derive2 { name="plRasch"; version="1.0"; sha256="1rnpvxw6pzl5f6zp4xl2wfndgvqz5l3kiv9sh4cpvhga0gl8zjaw"; depends=[survival]; };
   pla = derive2 { name="pla"; version="0.2"; sha256="1qb71zjcxvs3zbfy0sryyxizwix0nw530zsfw661a8vm8sk054kw"; depends=[]; };
   plac = derive2 { name="plac"; version="0.1.1"; sha256="08kqnjzbfygnbqvqg5wyw148kfhjqxy46y4vaiq9zzwzj58w8vzn"; depends=[Rcpp RcppEigen survival]; };
+  placer = derive2 { name="placer"; version="0.1.3"; sha256="0d7b6mkyyrcjn1pqxlj9mjis6vzks986i7vhc8ffkp8hz8sc7271"; depends=[]; };
   plainview = derive2 { name="plainview"; version="0.1.0"; sha256="0yvw357p1hwrlj4c2sjr4klmy6j98a3kbdfwg0snaiv0drdyhznk"; depends=[gdalUtils htmltools htmlwidgets lattice png raster viridisLite]; };
   plan = derive2 { name="plan"; version="0.4-3"; sha256="0j3mvcy97r7adcs7q6z0w9ng74jcfwii1xp8kcl2cwbzs2fd425r"; depends=[]; };
   planar = derive2 { name="planar"; version="1.6"; sha256="0x5xdb2afpc1w8s217hy765mz938kg5b5j7vzqzhlsh2dzdjccpj"; depends=[cubature dielectric ggplot2 plyr Rcpp RcppArmadillo reshape2 statmod]; };
+  planets = derive2 { name="planets"; version="0.1.0"; sha256="01zh7lgaykr9p186yy0vksn2pmc69b3xxh78w7z6wclvqjb7zh1p"; depends=[]; };
   planor = derive2 { name="planor"; version="1.5-1"; sha256="06xkn12v7ld5fxqjvpmx01jb0a87hnzs8d2clia67sk2h33nlnka"; depends=[bit64 conf_design Rcpp RcppArmadillo]; };
   plantecophys = derive2 { name="plantecophys"; version="1.4-4"; sha256="005js9r7xg4jf2aqgsqddkkxhcdnhsiyzc1cqa7j59r4g5xbmh1j"; depends=[]; };
   plaqr = derive2 { name="plaqr"; version="2.0"; sha256="15pdb57123m3cahvcsyrrvxjwxvs2f389yxip91gjxn68jf6cx1l"; depends=[quantreg]; };
@@ -11152,38 +11616,37 @@ in with self; {
   plfMA = derive2 { name="plfMA"; version="1.0.4"; sha256="0q6wiiknmgw812kcf9qq309zlizyry7ldn6m08lkw6xq6i4f4s85"; depends=[cairoDevice gWidgets gWidgetsRGtk2 limma RGtk2]; };
   plfm = derive2 { name="plfm"; version="2.2.2"; sha256="1jgf3jrkdpsf77i4lf68s6sxax95c9is4nryhnzanq9i5f23j24v"; depends=[abind sfsmisc]; };
   plgp = derive2 { name="plgp"; version="1.1-7"; sha256="02g6saabrsd8pra0szbwcbilf6w5ywg2gxqb5zdvbxds2vw36hn0"; depends=[mvtnorm tgp]; };
-  pliable = derive2 { name="pliable"; version="1.1"; sha256="0z1hm4k0q3dgwgd1dy6wl0ydsqzygmn85m6yimffzqvnlmrq3vjg"; depends=[class glmnet]; };
   plink = derive2 { name="plink"; version="1.5-1"; sha256="0rn2i9i8af9aq0xgxhpcdchs2952lq2d2sg8x3js0zi3vcml76k0"; depends=[lattice MASS statmod]; };
-  plinkQC = derive2 { name="plinkQC"; version="0.2.2"; sha256="16kjzfp1prqhai16kvh5sp7wqk54pidydkwn717q6dij1sh0jlaf"; depends=[cowplot data_table dplyr ggforce ggplot2 ggrepel optparse R_utils sys UpSetR]; };
-  plm = derive2 { name="plm"; version="2.1-0"; sha256="0dw6nmjc8acmlbpwvsjdwbf3cxgrjf5sli92rbd3j6snxnsg4qps"; depends=[bdsmatrix Formula lattice lmtest MASS maxLik nlme Rdpack sandwich zoo]; };
+  plinkQC = derive2 { name="plinkQC"; version="0.3.0"; sha256="1s458cg4y1zisjk3var3fnm1q54hfbl228i9qdxgzkkrhzc9mghw"; depends=[cowplot data_table dplyr ggforce ggplot2 ggrepel igraph optparse R_utils sys UpSetR]; };
+  plm = derive2 { name="plm"; version="2.2-0"; sha256="0sn8a3f5xaa1c98br454c6h5jfba7s3jscl61km1gm47qcr8a0vz"; depends=[bdsmatrix Formula lattice lmtest MASS maxLik nlme Rdpack sandwich zoo]; };
   plmm = derive2 { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[Formula nlme sm]; };
   pln = derive2 { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
   plogr = derive2 { name="plogr"; version="0.2.0"; sha256="0a8dhzlna79ggyhfr0nncgh15a9n6r0dsz664pz0ah323wpblqqf"; depends=[]; };
   plot_matrix = derive2 { name="plot.matrix"; version="1.2"; sha256="1d2vhqqnkr113z3rw7vcr5m8izjzz0hn2rggbr5rf23kjdbyrzjj"; depends=[]; };
   plot3D = derive2 { name="plot3D"; version="1.1.1"; sha256="0chn70fqwyca8lbnjnpbcj08ni0dfbax2gjmzhk2c4w72c04mzpn"; depends=[misc3d]; };
   plot3Drgl = derive2 { name="plot3Drgl"; version="1.0.1"; sha256="12p4qc9vmhr86ssx6xnz3cmx84q5jgd28bw9dp4wjrn04n6l4va6"; depends=[plot3D rgl]; };
-  plot3logit = derive2 { name="plot3logit"; version="1.0.1"; sha256="14abmxx2fgngximvgrrj8pjy4nyvliydhkp1h7p9xicdfj74pwl5"; depends=[ggplot2 ggtern magrittr reshape2 Ternary]; };
+  plot3logit = derive2 { name="plot3logit"; version="1.0.2"; sha256="0pgqlq8rpkrv277d1mfy2z22mkykc5zmhvkg07wsz3hdxr0ifx80"; depends=[ellipse ggplot2 ggtern magrittr reshape2 Ternary]; };
   plotGMM = derive2 { name="plotGMM"; version="0.2.1"; sha256="1gp99gvb886kcwjk9yvfd7s6mgy3jf3x0zhpaj9zp0fky12ivz7b"; depends=[amerika ggplot2 wesanderson]; };
   plotGoogleMaps = derive2 { name="plotGoogleMaps"; version="2.2"; sha256="0qv57k46ncg0wrgma0sbr3xf0j9j8cii3ppk3gs65ardghs3bf6b"; depends=[lattice maptools raster rgdal sp spacetime]; };
-  plotKML = derive2 { name="plotKML"; version="0.5-9"; sha256="08pbpa3j4m4vngl902z7hr1p7yjimhxmajx7lw45p226x654x6xr"; depends=[aqp classInt colorRamps colorspace dismo gstat pixmap plotrix plyr raster RColorBrewer rgdal RSAGA scales sp spacetime stringr XML zoo]; };
+  plotKML = derive2 { name="plotKML"; version="0.6-0"; sha256="18c2lwdlxbzlfhlf0bip825v2mfrnqd9gg30l967zv112j7x0hrf"; depends=[aqp classInt colorRamps colorspace dismo gstat pixmap plotrix plyr raster RColorBrewer rgdal RSAGA scales sp spacetime stringr XML zoo]; };
   plotMCMC = derive2 { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; };
   plotMElm = derive2 { name="plotMElm"; version="0.1.5"; sha256="0wwqzrpkmq9gzazdzlk62qig6vz43niada6fxh1wcsjqjwkcccgp"; depends=[ggplot2 interactionTest]; };
   plotROC = derive2 { name="plotROC"; version="2.2.1"; sha256="0bk8j2lp80zcz4kkig1y5a1ig8vbjh7b4inzc46bn07ns1rdjgzg"; depends=[ggplot2 gridSVG plyr rlang shiny]; };
   plotSEMM = derive2 { name="plotSEMM"; version="2.4"; sha256="0fircrayhz92zvkigkyb1zpn07bvssqs1ip15p926zj3rl77fqgy"; depends=[MplusAutomation plotrix plyr Rcpp shiny]; };
-  plotdap = derive2 { name="plotdap"; version="0.0.3"; sha256="0ymgbg24k1v853jfd621swhh4g8i77sywbxjzm7pjqcg7wrb1z44"; depends=[dplyr gganimate ggplot2 lazyeval lubridate magrittr maps maptools raster rerddap rgdal rgeos scales sf tidyr]; };
+  plotdap = derive2 { name="plotdap"; version="0.0.4"; sha256="1lal5vqy7s9g5wj39d5d5kw8lzpl9gvq0p2wig8s1w3m7cb2ignx"; depends=[dplyr gganimate ggplot2 lazyeval lubridate magrittr maps raster rerddap rgeos scales sf tidyr]; };
   plotfunctions = derive2 { name="plotfunctions"; version="1.3"; sha256="0cnmwkfjg45187j490sf01gxijhajrpi6j13hfckli2ysn6xrgz3"; depends=[]; };
-  plothelper = derive2 { name="plothelper"; version="0.1.4"; sha256="0qmzbks70rjhkih0g2xvwd4zsfykxh0i18l61phz77zz71w4nbr1"; depends=[ggfittext ggplot2 gridExtra magick plyr scales]; };
+  plothelper = derive2 { name="plothelper"; version="0.1.5"; sha256="1bvk45cfajcjwr4b4ajw33xk5p9hwqw833n05vxhhgrwnmsla2ag"; depends=[ggfittext ggplot2 gridExtra magick plyr scales]; };
   plotluck = derive2 { name="plotluck"; version="1.1.1"; sha256="16wqj4xfa8b7kal6v8mp2zlhwf9l3y6y5n44qbpvy652gzb2rw2z"; depends=[ggplot2 hexbin Hmisc plyr quantreg RColorBrewer scales]; };
-  plotly = derive2 { name="plotly"; version="4.9.0"; sha256="1kz2hm7vnkn4clxr6yyxxnmdmkz9zwjq6bzysw7j27r3721i8qgp"; depends=[base64enc crosstalk data_table digest dplyr ggplot2 hexbin htmltools htmlwidgets httr jsonlite lazyeval magrittr promises purrr RColorBrewer rlang scales tibble tidyr viridisLite]; };
+  plotly = derive2 { name="plotly"; version="4.9.1"; sha256="0gadam4qw81q9gpjp7sqrpd7ikmcdsc78d8vjn39g0xzs5j8r845"; depends=[base64enc crosstalk data_table digest dplyr ggplot2 hexbin htmltools htmlwidgets httr jsonlite lazyeval magrittr promises purrr RColorBrewer rlang scales tibble tidyr viridisLite]; };
   plotlyGeoAssets = derive2 { name="plotlyGeoAssets"; version="0.0.2"; sha256="1c6i4dz5qmym1pcddgffcqgb76jz84252xldprg2caylrqvzv6b7"; depends=[]; };
-  plotmo = derive2 { name="plotmo"; version="3.5.5"; sha256="0wdpdik6kn21pf3fmb0qxm9pwsh3l59wgsd8a1789mfvi2a7f37f"; depends=[Formula plotrix TeachingDemos]; };
+  plotmo = derive2 { name="plotmo"; version="3.5.6"; sha256="15555b7y62sc0z3r41gb56fmc6rmj1icnanyibx22v8kjz48vw3q"; depends=[Formula plotrix TeachingDemos]; };
   plotpc = derive2 { name="plotpc"; version="1.0.4"; sha256="1sf7n7mfyaijldm24bc8r8pfm8pp9cyaja7am14z2wpj2j9f9vyq"; depends=[]; };
   plotprotein = derive2 { name="plotprotein"; version="1.0"; sha256="14kfb4xxpfp8klz31kb7cpc39636ax2cx2483vqqkciccb28f0ks"; depends=[ade4 plotrix plyr seqinr XML]; };
   plotrix = derive2 { name="plotrix"; version="3.7-6"; sha256="0ijfjlr7ls5hvfyzdmwab6bx0w3nvp0c8fgynj4355cj8mbzgmc3"; depends=[]; };
   plotrr = derive2 { name="plotrr"; version="1.0.0"; sha256="07ilqpa3ypqb2gpnq23r9v4kkfxz06mcak9si9adr9sf6c7gqwxz"; depends=[dplyr ggplot2]; };
   plotscale = derive2 { name="plotscale"; version="0.1.6"; sha256="0h2g0rv1lh70nqmqydgg5swwnwmy08wbjajxyb1c2a716rad765j"; depends=[]; };
   plotwidgets = derive2 { name="plotwidgets"; version="0.4"; sha256="1w7c9grw4pyyra230196yq32snr4wdg6xi8vh4dx5df2v500wz22"; depends=[]; };
-  pls = derive2 { name="pls"; version="2.7-1"; sha256="0jw3zl5z06023zxr74phnvwax8m3i4a4i6lsqiq6j15aq9zq3zgq"; depends=[]; };
+  pls = derive2 { name="pls"; version="2.7-2"; sha256="121byimd6bg7jbrq5wz5fpi0vxq0vh8g724vkhnjzszbvcv1xsb7"; depends=[]; };
   plsRbeta = derive2 { name="plsRbeta"; version="0.2.5"; sha256="1p6vj9sw3hm6nax3vahmr6z58bgc8wl787949dszckn03pxhgvpb"; depends=[betareg boot Formula MASS mvtnorm plsRglm]; };
   plsRcox = derive2 { name="plsRcox"; version="1.7.4"; sha256="1cpbhz85c8zpxcwi7ads981dynf83r5ka2zqy6i2swbi83jb5p4x"; depends=[kernlab lars mixOmics pls plsRglm risksetROC rms survAUC survcomp survival]; };
   plsRglm = derive2 { name="plsRglm"; version="1.2.5"; sha256="004x934c34rgggwb25pcfm3vlj6gc1nfnigjxnxycxjqlx8g567b"; depends=[bipartite boot car MASS mvtnorm]; };
@@ -11191,7 +11654,7 @@ in with self; {
   plsdepot = derive2 { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
   plsdof = derive2 { name="plsdof"; version="0.2-9"; sha256="1g41nbycgzjwrackbdf08q1phqpyy6zihm5ak2728683vd88fxzv"; depends=[MASS]; };
   plsgenomics = derive2 { name="plsgenomics"; version="1.5-2"; sha256="1pvb50nv6jc99bm2hsxpzazg26y49yi24wwwim5xcjj6j1szbip4"; depends=[boot fields MASS plyr reshape2 RhpcBLASctl]; };
-  plsmselect = derive2 { name="plsmselect"; version="0.1.3"; sha256="0j5g0hlm2zk02ygp0692b3721xdhdy7lf8pmwbfq5dkrxq805jhj"; depends=[dplyr glmnet mgcv survival]; };
+  plsmselect = derive2 { name="plsmselect"; version="0.2.0"; sha256="044mwdqv5vw0apmx3yhn6xkdmw6baalvb8c6hhmawcs279kwi1m9"; depends=[dplyr glmnet mgcv survival]; };
   plspm = derive2 { name="plspm"; version="0.4.9"; sha256="03aj1ffq11hh931dbkxy9ba74xyvzmr1ylrj4fw1rbryrwqg89v6"; depends=[amap diagram shape tester turner]; };
   plspm_formula = derive2 { name="plspm.formula"; version="1.0.1"; sha256="1i2d1q8pz21js1ci8afnqzcky430hh1iwf5f6jr3j9yr9gs365k5"; depends=[plspm]; };
   plsr = derive2 { name="plsr"; version="0.0.1"; sha256="0l413m49zjpb35v0zw8dlxn53nh7fghinbmwfmldl3jgdvay2s7x"; depends=[boot ggplot2 reshape2 shiny]; };
@@ -11207,15 +11670,16 @@ in with self; {
   pmc = derive2 { name="pmc"; version="1.0.3"; sha256="06bsab09i9ydgsjx5i50kdb22ldp4g1v83a01kz3mswybi4lv9w2"; depends=[dplyr geiger ggplot2 ouch tidyr]; };
   pmcgd = derive2 { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; };
   pmclust = derive2 { name="pmclust"; version="0.2-0"; sha256="1bpfix76ylmn5ds6y0v40mfad7znaa6dj5ngr4mzv96yy6mg13ns"; depends=[MASS pbdBASE pbdDMAT pbdMPI]; };
-  pmd = derive2 { name="pmd"; version="0.1.1"; sha256="07s5b2izsqzryrcasdpa9z7cva03afl2zkb7cpxqgs4bjrd6vprw"; depends=[RColorBrewer rmarkdown shiny]; };
+  pmd = derive2 { name="pmd"; version="0.1.5"; sha256="18a7j5lvsl2jsay4g7790slj12xkljlnrpvg66cq5cvsid8qm8x8"; depends=[rcdk RColorBrewer rmarkdown shiny]; };
+  pmdplyr = derive2 { name="pmdplyr"; version="0.3.0"; sha256="1gyd55h718zf3crhgkdln48jw7y7djgsdjf4j06zr3rgy5mk2sp3"; depends=[dplyr lubridate magrittr pillar rlang tibble tidyr tidyselect vctrs]; };
   pmhtutorial = derive2 { name="pmhtutorial"; version="1.5"; sha256="1hcw8hwpsivbhz86lnzy08q9n8vahnq8f7rmi4xkmg6b44582cqx"; depends=[mvtnorm Quandl]; };
-  pmml = derive2 { name="pmml"; version="2.0.0"; sha256="0w2324v4rlmxa9gnlvrz8r17ih70ln51ad3fyhd2x21j9m75ygyd"; depends=[stringr XML]; };
+  pmml = derive2 { name="pmml"; version="2.1.0"; sha256="0vcfwc4gwc2cgf1v2008wf3mkbw77vq5dqziw13ivir49qnzjf2g"; depends=[stringr XML]; };
   pmmlTransformations = derive2 { name="pmmlTransformations"; version="1.3.3"; sha256="0315kb5x04pidpzr04yaxyynp0mz4ilzp7vkspq4agjkds5hyc88"; depends=[]; };
-  pmpp = derive2 { name="pmpp"; version="0.1.0"; sha256="1vmv7aav0rvp7kd5f16ym422ygw1wpnwrhmmp2w1c2fl8i263zh9"; depends=[data_table dplyr ggplot2 magrittr MASS Matrix minqa moments plm pracma]; };
+  pmpp = derive2 { name="pmpp"; version="0.1.1"; sha256="1srmkih6zsyf8yf1f045xy1afcz0if6nf1ncslgrq6rgm7330lkw"; depends=[data_table dplyr ggplot2 magrittr MASS Matrix minqa moments plm pracma]; };
   pmr = derive2 { name="pmr"; version="1.2.5"; sha256="0dq97dfjmgxlhr3a2n20vyyzfmamcicw878hdxpw31lw02xs6yls"; depends=[]; };
-  pmsampsize = derive2 { name="pmsampsize"; version="1.0.1"; sha256="1463pw28f09f9yvn4lhlsiz1cv017i693i73rvlq94qb3fzar5yw"; depends=[]; };
+  pmsampsize = derive2 { name="pmsampsize"; version="1.0.2"; sha256="1jb6vpbc3p7xpskjs7cfkird096fl1faczmp3nfawf7pnvf679jg"; depends=[]; };
   pmultinom = derive2 { name="pmultinom"; version="1.0.0"; sha256="0p2amb3y4jl24r21fii1qpmdbn5pfgywrx8k7x1jxpg49rk7k0rp"; depends=[fftw]; };
-  pmxTools = derive2 { name="pmxTools"; version="0.1.1"; sha256="0ryvbrk0f5x6b8rx479ifhk651wzg32zb4kn75dbjgh9q2qnsqhl"; depends=[GGally ggplot2 magrittr MASS PKNCA plyr stringr XML]; };
+  pmxTools = derive2 { name="pmxTools"; version="0.1.3"; sha256="0v1q83hgql2qpkc199m1sf0kwmacda3i06lbs4ws02had3r4nv8s"; depends=[ggplot2 ggrepel gridExtra MASS stringr XML]; };
   png = derive2 { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[]; };
   pnmtrem = derive2 { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
   pnn = derive2 { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
@@ -11225,14 +11689,14 @@ in with self; {
   poibin = derive2 { name="poibin"; version="1.3"; sha256="0lkqxpk5f27ghjia2akzi1c51hk9p9qkw8vysa0qwkbsgasq86p3"; depends=[]; };
   poilog = derive2 { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
   pointRes = derive2 { name="pointRes"; version="1.1.3"; sha256="0yfzidc93ghpf116lxbx4fr0d71wl79y3nz6mkirx4pli6gb8x8d"; depends=[ggplot2 gridExtra plyr TripleR]; };
-  pointblank = derive2 { name="pointblank"; version="0.2.0"; sha256="102ra763wwz0445wlvsr975ynrf4ywgggjw8hvwrqkjcvrk4rq8x"; depends=[commonmark DBI dplyr glue httr magrittr purrr readr rlang rmarkdown RMySQL RPostgreSQL stringr tibble tidyr]; };
+  pointblank = derive2 { name="pointblank"; version="0.2.1"; sha256="01rg3fpnvrrp1cvg472fnk1q872ncalsrig4jipnpyzkgi2y4xcq"; depends=[commonmark DBI dplyr glue htmltools httr lubridate magrittr messaging purrr readr rlang rmarkdown RMySQL RPostgreSQL stringr tibble]; };
   pointdensityP = derive2 { name="pointdensityP"; version="0.3.4"; sha256="0vv8j1yz8n2vmmp6bg2i8w3dchdbybsdxn3sk5d1ync2knih8l2s"; depends=[data_table]; };
   pointdexter = derive2 { name="pointdexter"; version="0.1.1"; sha256="058iv9pk3byyvddbkm8g1vc7kmrkbwglbw0v2ns6w066fwiysv70"; depends=[sp splancs]; };
   poio = derive2 { name="poio"; version="0.0-3"; sha256="1smbnqjlicaqq2hswl910yiirzb9zikbk4pqxm9pwpixywj0nkys"; depends=[assertive_base assertive_files assertive_properties assertive_sets assertive_strings assertive_types devtools digest dplyr magrittr R6 stringi tibble whoami]; };
   poisDoubleSamp = derive2 { name="poisDoubleSamp"; version="1.1"; sha256="13wyj9jf161218y4zjv2haavlmanihp9l59cvh7x8pfr9dh2dwr8"; depends=[Rcpp]; };
   poisFErobust = derive2 { name="poisFErobust"; version="1.0.1"; sha256="0qgwl5gb2rw043zb0h1rrv038ymsd72r8h9gqdr2xkfbi3mnr24r"; depends=[data_table glmmML]; };
   poisbinom = derive2 { name="poisbinom"; version="1.0.1"; sha256="0mjxg0s3nck7qrmq4bbrhwxfwr6fqml54s9k8q1mkfzlifa7qyf7"; depends=[Rcpp]; };
-  poismf = derive2 { name="poismf"; version="0.1.1"; sha256="0pwf8wazqmg7lw36ypzzx4ygv4by1kbl0614i5g180qpzmw2jg1j"; depends=[Matrix nonneg_cg Rcpp SparseM]; };
+  poismf = derive2 { name="poismf"; version="0.1.3"; sha256="19jznsz59ch3ksgxii9j7lzaqlpc0wlvxx59ax60w76w2c9m0ify"; depends=[Matrix nonneg_cg Rcpp SparseM]; };
   poisson = derive2 { name="poisson"; version="1.0"; sha256="1diyf1b84sr6iai3ghd3kcp6fc6w7fan49wzs1lzvxxsmp15ag2d"; depends=[]; };
   poisson_glm_mix = derive2 { name="poisson.glm.mix"; version="1.2"; sha256="0328m279jfa1fasi9ha304k4wcybzr7hldww7wn0cl7anfxykbv8"; depends=[]; };
   poissonMT = derive2 { name="poissonMT"; version="0.3-5"; sha256="14qkc8qz3423b13gp6gsp8cbb1nv9wwjjfa4i9zc15qy5i99ha26"; depends=[checkmate MASS robcbi robustbase]; };
@@ -11240,13 +11704,14 @@ in with self; {
   poker = derive2 { name="poker"; version="0.8.8"; sha256="14ik77440z22k4kwq0p1fn7adzi0p8mh8j8hd7ayinvrab4b5r85"; depends=[]; };
   polidata = derive2 { name="polidata"; version="0.1.0.1"; sha256="0mfjcjhv2prc2xdg9672z1cjxd2wp541hb7lz497cqlig2p6qgb4"; depends=[jsonlite RCurl]; };
   poliscidata = derive2 { name="poliscidata"; version="2.2.3"; sha256="18mmdzf9hrfz36rh1rg1j5q1m131xadppy272y4f4yay0ljafbm2"; depends=[abind car descr ENmisc gplots Hmisc plotrix plyr survey weights xtable]; };
-  politeness = derive2 { name="politeness"; version="0.3.2"; sha256="0c0ag3g8kwiy835mfc0nacxybk1lc210k26ngc546qzi9kpljx34"; depends=[data_table ggplot2 glmnet quanteda spacyr stringr textir tm]; };
+  polite = derive2 { name="polite"; version="0.1.1"; sha256="15hiifaf63hx0xn453lr0xhdnxqifrgyrgrymp0a9k3j7qja59jk"; depends=[here httr magrittr memoise ratelimitr robotstxt rvest usethis]; };
+  politeness = derive2 { name="politeness"; version="0.4.1"; sha256="0jb5s62qbf5904j0990iv4z1zlqmyvci4dbahkd2lzxsz51ykdq3"; depends=[data_table ggplot2 glmnet quanteda spacyr stringr textir tm]; };
   politicaldata = derive2 { name="politicaldata"; version="0.1.3"; sha256="1n25k53mmlmmg9p9a36jh4z6xhl1yyv9v1c56mav873105h359wi"; depends=[]; };
   pollen = derive2 { name="pollen"; version="0.71.0"; sha256="0g0g6n8y87jyk7l4s6xpdk60dz4lkg2xp5c5agakkrah8a233920"; depends=[dplyr lubridate purrr]; };
   pollimetry = derive2 { name="pollimetry"; version="1.0.1"; sha256="09zmcwlgzl4fnkdg2m424ibv3izzrm595c7pi4mc3bd1g8sa2ypn"; depends=[brms repmis]; };
   pollstR = derive2 { name="pollstR"; version="2.0.1"; sha256="13g5z1hix1bmsxznq5qx82yf445rvvyn67ch9bihxm1hr4cr4sbl"; depends=[httr lubridate purrr stringr]; };
   polmineR = derive2 { name="polmineR"; version="0.7.11"; sha256="0vifxnvzh2nvrykpx8y9waps1aqzplvjpxxcfy2z31lyfca646kz"; depends=[data_table DT jsonlite knitr Matrix pbapply R6 RcppCWB slam stringi tm xml2]; };
-  polspline = derive2 { name="polspline"; version="1.1.15"; sha256="19zs4kpagsrzhng1byjbz1c4jxnfk58h4rgr096ml1bjwrgamnwc"; depends=[]; };
+  polspline = derive2 { name="polspline"; version="1.1.17"; sha256="0c7fnxpqpy3hibiim4yib6l6bq363s97wwvllxp4lp8h06fjcyyn"; depends=[]; };
   polyCub = derive2 { name="polyCub"; version="0.7.1"; sha256="0ln1n5w64vgq63gm4mm9wzl9lbp7ppgaxg0ba0yw0xsr5cmkyp37"; depends=[sp]; };
   polyPK = derive2 { name="polyPK"; version="3.1.0"; sha256="0cb83sq8iz4swr73vwhh8n4k62p6321nsy1sz5fba0wiicycxf55"; depends=[circlize corrplot gplots Hmisc impute imputeLCMD mixOmics pcaMethods pkr plyr ropls sqldf xlsx]; };
   polyRAD = derive2 { name="polyRAD"; version="1.1"; sha256="04rhff7yzswilx67ak56vsr4sxfjzhd3d9fihnx2mnyddf1mhamq"; depends=[fastmatch pcaMethods Rcpp]; };
@@ -11255,7 +11720,7 @@ in with self; {
   polyaAeppli = derive2 { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
   polyapost = derive2 { name="polyapost"; version="1.5"; sha256="0r2h51l2y0sj0xahdzfy1lyq4kh166crh2j02sk85q577q9d883y"; depends=[boot rcdd]; };
   polyclip = derive2 { name="polyclip"; version="1.10-0"; sha256="0jyk4maqiblvj095jd59dr76kbniyli3v3xvy0a72ljszq6vrnkl"; depends=[]; };
-  polycor = derive2 { name="polycor"; version="0.7-9"; sha256="0d0756faksviic5jrc47fg6l3wsm9r2wlbnxiw08563rv7shbvb7"; depends=[Matrix mvtnorm]; };
+  polycor = derive2 { name="polycor"; version="0.7-10"; sha256="0wzwzklflbhi8sv9m7ijwr16v9zmkk0j0v4pbcpf32f8lbn3psna"; depends=[Matrix mvtnorm]; };
   polyfreqs = derive2 { name="polyfreqs"; version="1.0.2"; sha256="13859vbpys5yj1qiapyzv9wlvi6x6k0rm335bsi1v07ch3x2bh3b"; depends=[Rcpp]; };
   polyglot = derive2 { name="polyglot"; version="0.2.1"; sha256="1w52vhix5pynx2gz9f71yi9x5cdkp4sbs98zz2d5z993qbbf1wyq"; depends=[magick]; };
   polylabelr = derive2 { name="polylabelr"; version="0.1.0"; sha256="1bki35p6a8bgmdwll9sczdicdkvmxcl55vbx5xiabkz58imvcmym"; depends=[Rcpp]; };
@@ -11267,20 +11732,19 @@ in with self; {
   polywog = derive2 { name="polywog"; version="0.4-1"; sha256="02qk1cyvkd77mwlvhj1zzzi0bmy7qxz29j2v730wp7rz4w7h5x5n"; depends=[foreach Formula glmnet iterators Matrix miscTools ncvreg Rcpp stringr]; };
   pom = derive2 { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
   pomdp = derive2 { name="pomdp"; version="0.9.1-1"; sha256="16vbriv5ssb75qcp6c6gaz796wryf5b4d09vc9i3dd37gdf09d4s"; depends=[igraph]; };
-  pomp = derive2 { name="pomp"; version="2.2"; sha256="1314d7878535a9wvrpx86my9v6n66cmyag35p7a3v2v6ii4wyky9"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
+  pomp = derive2 { name="pomp"; version="2.4"; sha256="19j8aqsxx54xacw6vd3yva8jznqrycc831zs5f08x9r2q1ld6yjp"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
   pompom = derive2 { name="pompom"; version="0.2.0"; sha256="1alz3lrj7m16vhymsvvrcmf0kmgx88q2f3v4j6wiciqv77bnyai1"; depends=[ggplot2 lavaan qgraph reshape2]; };
   pooh = derive2 { name="pooh"; version="0.3-2"; sha256="0qwa5j91aypasvsf4xcfbl6lz7llawdr38jiflzmfak2ad72rv7j"; depends=[]; };
-  pool = derive2 { name="pool"; version="0.1.4.2"; sha256="19xspgzvhj9kzdk4pmsh8qd0lz3ly5qvxyp49l8qbgwrnj4jvza6"; depends=[DBI dbplyr dplyr later R6]; };
+  pool = derive2 { name="pool"; version="0.1.4.3"; sha256="065pbvhgvvgv00df4kj4zn7mlbrv2iqa1583k0hlgavn15gfm6d2"; depends=[DBI dbplyr dplyr later R6]; };
   poolVIM = derive2 { name="poolVIM"; version="1.0.0"; sha256="19yw6pp5l3jmla4wjbvpjq132f645yks49pzsdv123f3qfr8f0m6"; depends=[EmpiricalBrownsMethod Hmisc ranger]; };
-  poolfstat = derive2 { name="poolfstat"; version="1.1.0"; sha256="126rlvjnssh7s0r637in75wzjyv9f1pb35ivfinib5paw2nx1sy5"; depends=[doParallel foreach]; };
+  poolfstat = derive2 { name="poolfstat"; version="1.1.1"; sha256="12iwhfj1a87mbis7whgp4z3qg97xkj90rw8b9jsqnfmzhz6fn0yp"; depends=[doParallel foreach]; };
   pooling = derive2 { name="pooling"; version="1.1.1"; sha256="0011w80pxz01scj2sa69m1bcfq797hq3ihpw46fdlxsxavz8prwy"; depends=[cubature dplyr dvmisc ggplot2 ggrepel mvtnorm pracma]; };
   pop = derive2 { name="pop"; version="0.1"; sha256="0hbxdrkasb69x7ipddvyrzl5vvc7dd6rzj1vy7v3chg3rzgq89cj"; depends=[igraph MASS]; };
   pop_wolf = derive2 { name="pop.wolf"; version="0.1"; sha256="19n00xv47v9j7slvm2ykzlksjfwjzimf88b3nk0y0192c29sdc9x"; depends=[abind]; };
-  popEpi = derive2 { name="popEpi"; version="0.4.7"; sha256="0215r779141b8a2wnbxgsapn13k4p5cx1mr30c0ka7szv6bsgnqm"; depends=[data_table Epi survival]; };
+  popEpi = derive2 { name="popEpi"; version="0.4.8"; sha256="1gc7kyik0209pc8mvl6c69lzb3dnkif0mby4l4pq8zfdz73lmi06"; depends=[data_table Epi survival]; };
   popKorn = derive2 { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
-  popRange = derive2 { name="popRange"; version="1.1.3"; sha256="0kkz6va0p8zv3skaqqcpw42014d9x9x4ilx0czz91qf46h61jgb0"; depends=[findpython]; };
-  popReconstruct = derive2 { name="popReconstruct"; version="1.0-5"; sha256="0fvrjb3b3bahi5da0ikzv164p49zvgm43mskqd7p9dgadbg1xpi2"; depends=[coda]; };
-  popbio = derive2 { name="popbio"; version="2.4.4"; sha256="165rs8w9h71qip3aw47wq48xnzv8zg8ixm7r6qqmkg3knw095hwh"; depends=[]; };
+  popReconstruct = derive2 { name="popReconstruct"; version="1.0-6"; sha256="0nmf93dy2qf7z9mafpy99ry53aapbxlismn7drn732r8gvravapx"; depends=[coda]; };
+  popbio = derive2 { name="popbio"; version="2.6"; sha256="1j8q4rdq8b9r56p0slwkfsknv6linjnmcprrzbck9yr99zfqp067"; depends=[]; };
   popdemo = derive2 { name="popdemo"; version="1.3-0"; sha256="0760ajqaq822m0j092gdqzhgw1mk413k09mmmwyzb0jzj6bd15q3"; depends=[expm MCMCpack]; };
   popkin = derive2 { name="popkin"; version="1.2.2"; sha256="1dc1p791v20zq6wxc3n45g6bqpvjvhy9pn4s5v1y6sw69myxlhj3"; depends=[RColorBrewer Rcpp RcppEigen]; };
   poplite = derive2 { name="poplite"; version="0.99.23"; sha256="0kf5k4iz4cvzd3avq753jn1gkpnhzi9m4148lq7rgv7h433qydwn"; depends=[DBI dbplyr dplyr igraph lazyeval RSQLite]; };
@@ -11290,18 +11754,22 @@ in with self; {
   poptrend = derive2 { name="poptrend"; version="0.1.0"; sha256="0hypxpb18azg6q1mqrphbx3x262h9ybwhlkb8fyd6vr7jjb5wn3h"; depends=[mgcv]; };
   population = derive2 { name="population"; version="0.2"; sha256="1k0hwh17dyfbbyw8gprsz1klx6l2ncq5mxkmnjmknlnrkpah0bbl"; depends=[abind]; };
   populationPDXdesign = derive2 { name="populationPDXdesign"; version="1.0.3"; sha256="0p73ddv3j1s1vs4j3axnsf39n626qjv0w1qlq9p7km4s6729bhgv"; depends=[devtools ggplot2 plyr roxygen2 shiny shinycssloaders]; };
-  portalr = derive2 { name="portalr"; version="0.2.6"; sha256="08d29xg377vrrxzdzbsivm2zvh795fwhhz8aw53gbg4xxz23ydkj"; depends=[clisymbols crayon dplyr forecast httr jsonlite lubridate lunar magrittr rlang tibble tidyr usethis]; };
+  porridge = derive2 { name="porridge"; version="0.0.2"; sha256="04w31avmjhb997vdzxg5mxddjgjzbhphw4a0l2xck7x374v3qqh7"; depends=[MASS mvtnorm Rcpp RcppArmadillo]; };
+  portalr = derive2 { name="portalr"; version="0.2.7"; sha256="09l61ncxs0v65x43yp189yj53sl4wdrgsiiz89c4lhasjh5q64h7"; depends=[clisymbols crayon dplyr forecast httr jsonlite lubridate lunar magrittr rlang tibble tidyr usethis]; };
   portes = derive2 { name="portes"; version="3.0"; sha256="144fipskh6yb6xcz3m5bgh2kwjwa58zaw24y88hzzrdvh9glvyrc"; depends=[forecast]; };
   portfolio = derive2 { name="portfolio"; version="0.4-7"; sha256="0gs1a4qh68xsvl7yi6mz67lamwlqyqjbljpyax795piv46kkm06p"; depends=[lattice nlme]; };
   portfolio_optimization = derive2 { name="portfolio.optimization"; version="1.0-0"; sha256="1rdhwffsjc1pa1qq7rqy6dwk8yrcblkmijz94p2w7sf2v4jmwxxr"; depends=[magrittr MASS modopt_matlab xts]; };
-  portfolioBacktest = derive2 { name="portfolioBacktest"; version="0.1.1"; sha256="1g1iwla5ldan94vs4dhpggfj9q9hgs9nxjimrcnjg2i3x7cj1kmg"; depends=[doSNOW evaluate foreach PerformanceAnalytics quantmod R_utils snow xts zoo]; };
+  portfolioBacktest = derive2 { name="portfolioBacktest"; version="0.2.1"; sha256="15yh3vi8qdahmsy2lic77vfv9c5ssalw08lmhq6vk9dbcl04z5n1"; depends=[digest doSNOW evaluate foreach ggplot2 PerformanceAnalytics quantmod R_utils rlang snow xts zoo]; };
   portfolioSim = derive2 { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
   portsort = derive2 { name="portsort"; version="0.1.0"; sha256="0swl39dn7lzwvps18bva4l64a441gkf6lbwcwrhlf93f1ardvxji"; depends=[xts zoo]; };
-  postGIStools = derive2 { name="postGIStools"; version="0.2.3"; sha256="1ig404p1ym4v1cw0a7jk2zjy9vdpg1y39mckkn8mpic29w9ra4b1"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
+  postDoubleR = derive2 { name="postDoubleR"; version="1.4.12"; sha256="19z8wisi16g7a78gw16r72dkxh3x5qh888qz260ih5naq0p8vy71"; depends=[doParallel ggplot2 glmnet grf neuralnet progress]; };
+  postGIStools = derive2 { name="postGIStools"; version="0.2.4"; sha256="04d6iqnk7j2lgv1h5c94j6y89jk75pmv26sxa51s5iwkjq7rchym"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
+  posterdown = derive2 { name="posterdown"; version="1.0"; sha256="13plrrnylw3yldm0md1gr5drccfjk9f2wwlhz6lrmb3px7w5nqs0"; depends=[pagedown rmarkdown yaml]; };
   postinfectious = derive2 { name="postinfectious"; version="0.1.0"; sha256="1v327zxxiwc1cdksk6s39lkkgck5dxg169pp3jiqmm7xs35dcl6y"; depends=[]; };
   postlightmercury = derive2 { name="postlightmercury"; version="1.2"; sha256="1345ckp50jplcdqp3a250c6mhapqh9322jzpxj5dyqmbg2nmgp9i"; depends=[crul jsonlite purrr rvest tibble xml2]; };
   postlogic = derive2 { name="postlogic"; version="0.1.0"; sha256="1m4z92y9kjjgz5xh0x74i1sgsybm8gv36l25fbbcwlg1jazwgrwn"; depends=[]; };
   potts = derive2 { name="potts"; version="0.5-8"; sha256="0j3c7sh50r1lqd8gl0rq7pq8j9v33wcz46gv7lm0n7y89qj6f45x"; depends=[]; };
+  povcalnetR = derive2 { name="povcalnetR"; version="0.1.0"; sha256="11hwb52lrvdxplsx85ps54k2k7cvr0k4g5s2cj2a5l3rlqbyayx8"; depends=[dplyr ggplot2 ggthemes httr js jsonlite memoise naniar purrr readr stringr tibble tidyr]; };
   powdR = derive2 { name="powdR"; version="1.0.0"; sha256="1pc9s7kh19ri9p7fwz3g8binab8nlcypzgmg56gn0qwpgnjvzdx1"; depends=[baseline ggplot2 ggpubr memisc nnls plotly reshape shiny shinyWidgets tidyr]; };
   powdist = derive2 { name="powdist"; version="0.1.4"; sha256="1my88ag5q9hwkn2wy79jl9008gpvg0bsrnyc81gkdfi7pjh2mp1z"; depends=[gamlss_dist normalp rmutil]; };
   poweRlaw = derive2 { name="poweRlaw"; version="0.70.2"; sha256="1asr6ikr7hmj78jyg8r1gwvcjg14addkxdiz92nh06lv71a183r4"; depends=[VGAM]; };
@@ -11318,9 +11786,10 @@ in with self; {
   ppcSpatial = derive2 { name="ppcSpatial"; version="0.2.0"; sha256="1gi57zngc42wcrihg29nn7qa3gaq105ckp76qmczkldshlpd7x4r"; depends=[dplyr ggplot2 htmltools htmlwidgets leaflet magrittr PakPC2017 rgdal scales shiny tidyr tmap]; };
   ppcc = derive2 { name="ppcc"; version="1.1"; sha256="0c22nkp6c6rl2d6c868pnrda1l6h9bxssmdbca3pdc5s8wjxi0nd"; depends=[]; };
   ppclust = derive2 { name="ppclust"; version="0.1.3"; sha256="1480fcjzz1vfmz3sgcdrpfilqklmb1f0h4vna6xkfib5xh624lxb"; depends=[inaparc MASS]; };
+  ppcong = derive2 { name="ppcong"; version="0.0.1"; sha256="1maf9lyb24v3q48x1zn9i25lqdsjpwl0hzsq8spljdzvjiyl84rb"; depends=[curl jsonlite tfse tibble]; };
   ppcor = derive2 { name="ppcor"; version="1.1"; sha256="1x9b2kb8s0bp92b17gby0jwzzr3i4cf3ap9c4nq7m8fav72g0y3a"; depends=[MASS]; };
   ppgmmga = derive2 { name="ppgmmga"; version="1.2"; sha256="1dq0p3xna5r1kiyhiziz3wc78dfqh362qhna5hmkjzhljawr9jg0"; depends=[cli crayon GA ggplot2 ggthemes mclust Rcpp RcppArmadillo]; };
-  ppitables = derive2 { name="ppitables"; version="0.5.0"; sha256="0k4ql8za6kdplz7fq4cas2rz8vad5ssbiyv95iaqwzgslwnr7m3m"; depends=[tibble tidyr]; };
+  ppitables = derive2 { name="ppitables"; version="0.5.1"; sha256="1gc0hh2g1wmqk49cmswq9drxw8h94xpriibs76n287nmvrg6ip7d"; depends=[tibble tidyr]; };
   ppls = derive2 { name="ppls"; version="1.6-1.1"; sha256="1zyrisy3c4cz896j1bjh61sf57wdl9p8ywdq268cl819szfq78mx"; depends=[MASS]; };
   ppmlasso = derive2 { name="ppmlasso"; version="1.1"; sha256="1w13p1wjl1csds1xfc79m44rlym9id9gwnp3q0bzw05f35zbfryg"; depends=[spatstat]; };
   pps = derive2 { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; };
@@ -11333,16 +11802,17 @@ in with self; {
   prais = derive2 { name="prais"; version="1.1.1"; sha256="027qsa1nc680bcs61dlyz0wwap5pgxdfzasg9ny37a55hnikxid5"; depends=[lmtest sandwich]; };
   praise = derive2 { name="praise"; version="1.0.0"; sha256="1gfyypnvmih97p2r0php9qa39grzqpsdbq5g0fdsbpq5zms5w0sw"; depends=[]; };
   praktikum = derive2 { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
-  praznik = derive2 { name="praznik"; version="6.0.0"; sha256="170cwkjfbmnc3ph8brhf1ii3x2z711v6c7bxg9ingv46i2a9ibl6"; depends=[]; };
+  praznik = derive2 { name="praznik"; version="7.0.0"; sha256="0v0z8d2cxisfqci9kr19z8q15pckzmh8z5n753b8kahg2xn0zhj4"; depends=[]; };
   prc = derive2 { name="prc"; version="2019.1-23"; sha256="1aw02sj7kkzzkrxs1jpm2skfz2jrd7fyqlfc1mvkqwac39c6a9ma"; depends=[kyotil nlme]; };
   prcbench = derive2 { name="prcbench"; version="0.8"; sha256="0bidf7268c130xj4c2pxljgkrppvjg8bmivj9zq0cm9nwhm0fdf5"; depends=[assertthat ggplot2 gridExtra memoise precrec PRROC R6 rJava ROCR]; };
   prclust = derive2 { name="prclust"; version="1.3"; sha256="0p0sf8248aigs99py8mpzz743jnrf7n1nv5shag15arxz9yx7zn3"; depends=[Rcpp]; };
   prcr = derive2 { name="prcr"; version="0.1.5"; sha256="1hfr0jijnj5nd25rh16i81bsz8kwz0q9vmn7bqgy467cwvypg9k2"; depends=[class dplyr ggplot2 irr lpSolve purrr tibble tidyr]; };
-  pre = derive2 { name="pre"; version="0.7.1"; sha256="1saz7by3r0vj97bm6jdyyyaf1041dvcs8kbj12ir6xsx6iv355s7"; depends=[earth Formula glmnet Matrix MatrixModels partykit rpart stringr survival]; };
+  pre = derive2 { name="pre"; version="0.7.2"; sha256="156wgyv88a5qvdksfhyyim2h1igaba8gf4mgaq6ii6sxppmik4a8"; depends=[earth Formula glmnet Matrix MatrixModels partykit rpart stringr survival]; };
   preText = derive2 { name="preText"; version="0.6.2"; sha256="0pcnqssv542cfajzrqfsbq0jf628nnmcb3nryvd7d5wk4wdkji4q"; depends=[cowplot ecodist ggplot2 proxy quanteda reshape2 topicmodels vegan]; };
   precintcon = derive2 { name="precintcon"; version="2.3.0"; sha256="1sf0mfqa77aqhbx3hg8pv582ibmfnv6vigqcd3xqsbq7nigy2ms9"; depends=[ggplot2 scales]; };
   precrec = derive2 { name="precrec"; version="0.10.1"; sha256="008vcnbg0rl9x70ly1xzz1xn4fs7mjhnp2c0a7jxzwiri5gymh09"; depends=[assertthat data_table ggplot2 gridExtra Rcpp]; };
-  predict3d = derive2 { name="predict3d"; version="0.1.0"; sha256="0jas5vizl5hn04kkqdd4kr54kk91gywri9jk2j5zxzq16js6292i"; depends=[dplyr ggiraphExtra ggplot2 magrittr modelr plyr prediction purrr reshape2 rgl rlang stringr TH_data tidyr]; };
+  predhy = derive2 { name="predhy"; version="0.1.0"; sha256="1m4ysryh66blqnvnskfwmjbz85pziqlii12jv9gpf2a3jnl5dvij"; depends=[]; };
+  predict3d = derive2 { name="predict3d"; version="0.1.3.3"; sha256="1kb3jacpgzln1ddnkfzhvfpzzf9wig60lppca6iy0fvq5cm8ddr4"; depends=[dplyr ggiraphExtra ggplot2 magrittr modelr moonBook plyr prediction purrr reshape2 rgl rlang stringr TH_data tidyr]; };
   prediction = derive2 { name="prediction"; version="0.3.14"; sha256="0awlq5lxfia6m2b91w73rksp93rbwv5gwqb36wbji4rgq41rzbrx"; depends=[data_table]; };
   predictionInterval = derive2 { name="predictionInterval"; version="1.0.0"; sha256="029hc57cblfcbqckrghf95l2rkn7acgb4yr36da01bx8bmpww0bn"; depends=[ggplot2 MASS MBESS pbapply]; };
   predictmeans = derive2 { name="predictmeans"; version="1.0.1"; sha256="06zspg1v0x1qqaah7xj5jdaqjv7asnzmgybyyzx3j26v4h59p350"; depends=[ggplot2 lme4 Matrix nlme numDeriv pbkrtest plyr]; };
@@ -11362,12 +11832,14 @@ in with self; {
   preputils = derive2 { name="preputils"; version="1.0.2"; sha256="0cww3x7375ck56cm14ssalvpgvsdi4myr3p19zy4fcjy6fgyyxc5"; depends=[data_table]; };
   prereg = derive2 { name="prereg"; version="0.4.0"; sha256="1jhlgp7ajq6mx7gn4kf3b7wqzs3v0678pa1r6p4mgvvynic8rnqj"; depends=[rmarkdown]; };
   presens = derive2 { name="presens"; version="2.1.0"; sha256="175nr9pqn3m6kh9bcc1gxqmqv05xdsqdw9lx385lmm1g947d2159"; depends=[marelac measurements]; };
+  presentes = derive2 { name="presentes"; version="0.1.0"; sha256="0d6zhishc7wxcvvglgw44pc6c172qpxb8i4iw3lqbmji7ash5zpx"; depends=[]; };
   preseqR = derive2 { name="preseqR"; version="4.0.0"; sha256="1g2rnnmi45649vpy6z45v5i3wxm54s138ajqrzwi3a5r7x3xnhq1"; depends=[polynom]; };
+  presmTP = derive2 { name="presmTP"; version="1.1.0"; sha256="134p58zzk8i0whscvl5qdfn4niksypyxavq1m15cvw4zzk4dk6fw"; depends=[mgcv survPresmooth]; };
   prettyB = derive2 { name="prettyB"; version="0.2.1"; sha256="1qpqr490bpvmj1ybjbh4lhiznqa0n3chn09m7bhn9wfm3ic56s0p"; depends=[]; };
   prettyGraphs = derive2 { name="prettyGraphs"; version="2.1.6"; sha256="0yjpwxdy9mkj2k33zvd5klyv4ava46i19yls87n0bvf79y90ikpy"; depends=[]; };
   prettyR = derive2 { name="prettyR"; version="2.2-3"; sha256="1rs90cmr5dyry724php90mp41qwzzk1z3gxfwcj1k157qawacyhr"; depends=[]; };
   prettycode = derive2 { name="prettycode"; version="1.0.2"; sha256="0yz75qqpvrk4p9mypjnmrg1xwlrhh2iax2897f11cfk8rjj784jg"; depends=[crayon withr]; };
-  prettydoc = derive2 { name="prettydoc"; version="0.3.0"; sha256="1bjgcr9kxyzm8q5hilc6kfjy32rwy10cdfajb90w8drc91g0g9n9"; depends=[rmarkdown]; };
+  prettydoc = derive2 { name="prettydoc"; version="0.3.1"; sha256="02x4vf7rr4gazz6mmygynqnjs016jhjb2gg109sqrs0nwk1blcm9"; depends=[rmarkdown]; };
   prettymapr = derive2 { name="prettymapr"; version="0.2.2"; sha256="151jp0l728krmxcyzwjh01mvd1zhqijq0nsgjaqsh0q8n3jmndi0"; depends=[digest httr plyr rjson]; };
   prettyunits = derive2 { name="prettyunits"; version="1.0.2"; sha256="0p3z42hnk53x7ky4d1dr2brf7p8gv3agxr71i99m01n2hq2ri91m"; depends=[assertthat magrittr]; };
   prevR = derive2 { name="prevR"; version="3.4.0"; sha256="1y61ggqjf3b2a5f9zprbp9ylfkcfk0jiqfymkyqci9figsnahdy1"; depends=[directlabels fields foreign GenKern ggplot2 gstat maptools rgdal sp]; };
@@ -11375,20 +11847,22 @@ in with self; {
   prevederer = derive2 { name="prevederer"; version="0.0.1"; sha256="0vkx9nrlgp36xbl95lrb5sb5yivxlcw4yvbs8hgbm31kh0vbz32f"; depends=[httr]; };
   prevtoinc = derive2 { name="prevtoinc"; version="0.12.0"; sha256="0ypdxcx9gh87a7ih3cw3yai47rzv41qwh4kpk6007ai8jkjv4n9w"; depends=[dplyr purrr rlang tibble]; };
   priceR = derive2 { name="priceR"; version="0.1.0"; sha256="09jlf8c1lfiqmpm2vdgkacsracwcjgi6xgvlakny2c4iyir45sh5"; depends=[dplyr gsubfn stringr]; };
-  pricesensitivitymeter = derive2 { name="pricesensitivitymeter"; version="1.0.1"; sha256="0sgpnfx4qs7xzcwnlwjkwrqj39w5b4h8133ma527z845nkfixncl"; depends=[survey]; };
+  pricesensitivitymeter = derive2 { name="pricesensitivitymeter"; version="1.1.1"; sha256="0zlvrzrqndnrwawwzqwpj7c7r86mb80njhv7dcm8l5qygnc4xz3b"; depends=[survey]; };
   prim = derive2 { name="prim"; version="1.0.16"; sha256="0i5jpk798qbvyv9adgjbzpg4dvf7x51bcgbdp38fzdnam6g88y5a"; depends=[misc3d rgl]; };
   primePCA = derive2 { name="primePCA"; version="1.0"; sha256="0kpyqv3l58xcyd98a7c7ggsna30j6k62aliidlyxgv2ya0g0dshv"; depends=[MASS Matrix softImpute]; };
   primefactr = derive2 { name="primefactr"; version="0.1.1"; sha256="11hi75jwjxrl9p5m8yjwjb20pc9y9vkhi8sjrnisdq2hm53m483w"; depends=[]; };
-  primer = derive2 { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; };
+  primer = derive2 { name="primer"; version="1.1.1"; sha256="1hw7qd0xq3bvzk5ms9q568a3nkj3ws4jnzbmlypy8c5x3ly6pl1d"; depends=[deSolve lattice]; };
   primerTree = derive2 { name="primerTree"; version="1.0.4"; sha256="15am88swc9h8igjnjqr4jg105i91lsl28nncqly03cgy4vm814kk"; depends=[ape directlabels foreach ggplot2 gridExtra httr lubridate plyr reshape2 scales stringr XML]; };
   primes = derive2 { name="primes"; version="0.1.0"; sha256="0hhkgpkadvai9xcivfalsvr5w0irsxygyz3p2zngwl3g5rvvh5g9"; depends=[Rcpp]; };
   princurve = derive2 { name="princurve"; version="2.1.4"; sha256="1b3grra328wkfsmqkkwp3lwdzhbdiwyq380qi5pl9r2jc6arnppj"; depends=[Rcpp]; };
   prinsimp = derive2 { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
   printr = derive2 { name="printr"; version="0.1"; sha256="13yqqcwfqnbhvcxwrr6j45qhnbxng3qwn2ygkr809gibg9grw471"; depends=[knitr]; };
-  prioritizr = derive2 { name="prioritizr"; version="4.1.1"; sha256="162hwgypjd0j5sfclbg8kp0f5acyj3pd4d4c6f7w7qksb85zy4jh"; depends=[ape assertthat BH data_table doParallel igraph magrittr Matrix plyr proto raster Rcpp RcppArmadillo rgeos sp tibble uuid]; };
+  prioGene = derive2 { name="prioGene"; version="0.99.0"; sha256="0ksbv1qqbq6wabykrkhiak3rmnn2x74i3j090bvwgax5a2dma5s2"; depends=[]; };
+  prioritizr = derive2 { name="prioritizr"; version="4.1.4"; sha256="1z8p9faacbi61sfxyqz0k7zlxyqc03gg9rc9f4a5zbdcnx83bhf3"; depends=[ape assertthat BH data_table doParallel igraph magrittr Matrix plyr proto raster Rcpp RcppArmadillo rgeos sp tibble uuid]; };
   prioritizrdata = derive2 { name="prioritizrdata"; version="0.2.2"; sha256="1gljrll89r2y6nb4jwcp1pyjs5qrahqawi84kgg74w2q6xq65kga"; depends=[raster sp]; };
   prioritylasso = derive2 { name="prioritylasso"; version="0.2.2"; sha256="1wdnizwq0mgjqbaxp6swf3z4wkdfig390i2d8jy86lg0q7gym5af"; depends=[glmnet survival]; };
   prism = derive2 { name="prism"; version="0.1.0"; sha256="0d2llrpw5y0svrdzbk52pjrfp76lknrw4r8ciqq0cq3l6kbynh9r"; depends=[dplyr ggplot2 httr lubridate magrittr purrr raster readr stringr]; };
+  prismatic = derive2 { name="prismatic"; version="0.2.0"; sha256="0j077khvagzs9lxrryi4q1czk1129r93cqf1i1hiz0b3wij2bwsg"; depends=[farver]; };
   prisonbrief = derive2 { name="prisonbrief"; version="0.1.0"; sha256="1fnhg6vqdabdnhvgd19vnkfrdgz8a53snfrx6m6mmdwb6cvavb8m"; depends=[data_table dplyr httr magrittr passport rlang rnaturalearth rnaturalearthdata rvest stringr tibble tidyr xml2]; };
   prithulib = derive2 { name="prithulib"; version="1.0.2"; sha256="12ybksrvxzc5gjz8m38cs35b7r3kd8m0zqm2c67pqw38vq82sjxm"; depends=[]; };
   prnsamplr = derive2 { name="prnsamplr"; version="0.1.0"; sha256="0hdxbdkmxfd3ax1qfc4fj9bbxz8cv08qzcjwpxgkapgm2jwgxpgc"; depends=[]; };
@@ -11404,14 +11878,14 @@ in with self; {
   proccalibrad = derive2 { name="proccalibrad"; version="0.14"; sha256="0vr55rpcqh9wvy3bklssrimp42x85w3sanjgshfij657v68vmx46"; depends=[]; };
   processR = derive2 { name="processR"; version="0.1.0"; sha256="1c36f1l9ylj01hr5fs1413kixd3jx6fdhha4rw1mpcjbn9cxnjgq"; depends=[diagram dplyr flextable ggiraphExtra ggplot2 jtools lavaan magrittr modelr mycor officer prediction psych purrr rlang rrtable semTools shiny shinyWidgets stringr TH_data tidyr tidyselect]; };
   processanimateR = derive2 { name="processanimateR"; version="1.0.1"; sha256="0dd09s7k46snwqjznpl38kz9xhlx9qd2n3h3y4ai7p7hpa96c22d"; depends=[bupaR DiagrammeR dplyr htmlwidgets magrittr processmapR rlang tidyr]; };
-  processcheckR = derive2 { name="processcheckR"; version="0.1.0"; sha256="1arckp3m9z9idq8dq6aghijc6h8i6giir606h1viivrwj0ks0f90"; depends=[bupaR dplyr edeaR glue rlang stringr]; };
+  processcheckR = derive2 { name="processcheckR"; version="0.1.2"; sha256="1l8qx7ivw6vwmw7d7x7dawv11aklbyjwpyial3crhamnj5389ngj"; depends=[bupaR dplyr edeaR glue rlang stringr]; };
   processcontrol = derive2 { name="processcontrol"; version="0.1.0"; sha256="0c0bksgq24blfkdgp5bn49sjnaajrg5bag8qzb5zffxbhnm4s30x"; depends=[plyr]; };
   processmapR = derive2 { name="processmapR"; version="0.3.3"; sha256="0skiavjays0qp9yvxfdzhp7iagz3zirq90m08lcl6sa83n5dj8rr"; depends=[bupaR data_table DiagrammeR dplyr edeaR forcats ggplot2 ggthemes glue hms miniUI plotly purrr RColorBrewer rlang scales shiny stringr tidyr]; };
   processmonitR = derive2 { name="processmonitR"; version="0.1.0"; sha256="1ckr438yifpsh095j6bb65dq3rdm7cfm8k7qsjmcqwjkww4j74z8"; depends=[bupaR dplyr edeaR ggplot2 magrittr miniUI shiny]; };
   processx = derive2 { name="processx"; version="3.4.1"; sha256="1g6ipcaxg9y94lyrnbp7kkbqfkcdh1fyrqjjclbjp3x7iysdvazi"; depends=[ps R6]; };
   prodest = derive2 { name="prodest"; version="1.0.1"; sha256="16nqgd9wrjfxymwbxrnlak54cagbv3fxgbql0w5bxnmyrbbqy509"; depends=[AER DEoptim dplyr Matrix Rsolnp]; };
   prodigenr = derive2 { name="prodigenr"; version="0.5.0"; sha256="1h15fwd4rclja0q80y119sah1qbyjlbaqxg360ywq9ig151lxsjq"; depends=[fs git2r rmarkdown rprojroot usethis withr]; };
-  prodlim = derive2 { name="prodlim"; version="2018.04.18"; sha256="1aslq87sqwikh8chxc378r38146y7kv79zz0kcq3j93ivx7va8jb"; depends=[KernSmooth lava Rcpp survival]; };
+  prodlim = derive2 { name="prodlim"; version="2019.11.13"; sha256="03wvh3kirp1prac5nky6a5whs97rvaf4hc27x0fnh51sa17r42b8"; depends=[KernSmooth lava Rcpp survival]; };
   productivity = derive2 { name="productivity"; version="1.1.0"; sha256="1g8b4vlyqq3xyzd4dki01glhc3g9j3ywgwpxylkmzp0ivqic53yc"; depends=[doParallel foreach iterators lpSolveAPI]; };
   productplots = derive2 { name="productplots"; version="0.1.1"; sha256="1igs6d0qwgsfk0z3vxabgv5kva9w2kpzi535gjfdrbx34j4pf3gx"; depends=[ggplot2 plyr]; };
   prof_tree = derive2 { name="prof.tree"; version="0.1.0"; sha256="0mjvxaacrgkzl0f1wn3fpgah4jh720safni66ri0dnriwcxis6rz"; depends=[data_tree]; };
@@ -11427,12 +11901,12 @@ in with self; {
   progenyClust = derive2 { name="progenyClust"; version="1.2"; sha256="0azp5pvk316s8xbawcqwqfd80fxb4xn8hc6aq87xwksc6fhwp94l"; depends=[Hmisc]; };
   prognosticROC = derive2 { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
   progress = derive2 { name="progress"; version="1.2.2"; sha256="0dgzb362641aqm8xd88iqa8jmpdm43xs0aba0d5kk6fvapnxi95l"; depends=[crayon hms prettyunits R6]; };
-  proj4 = derive2 { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; };
+  proj4 = derive2 { name="proj4"; version="1.0-8.1"; sha256="0zhal76wd9k8l1hjm00sgzlxi6c2sc7l8msr9firzmsg07qai8m3"; depends=[]; };
   projections = derive2 { name="projections"; version="0.3.1"; sha256="12vskql6x04jzik72a0vx83amfj01w9f7mxn052vsv7aaljbi124"; depends=[distcrete ggplot2 incidence]; };
-  projector = derive2 { name="projector"; version="0.0.2"; sha256="15n5b2xgs0zj87pc3svlmnkjrxgkjkx941g8bs3ms90fg7nh2drc"; depends=[assertthat dbscan plotly RColorBrewer RcppAnnoy Rtsne shiny shinyjs shinythemes]; };
-  projects = derive2 { name="projects"; version="1.3.0"; sha256="1wl23xyzr772qcn94zqh5s2p97lpd1n8f94qq653c8ghz5w5zq7s"; depends=[dplyr fs magrittr purrr readr rlang rstudioapi sessioninfo stringr tibble zip]; };
-  projpred = derive2 { name="projpred"; version="1.1.2"; sha256="1df26cpk1ksfjbcl2k9h6b14n7kx6137h5i33n0vc308722yrjph"; depends=[ggplot2 loo Rcpp RcppArmadillo]; };
-  promises = derive2 { name="promises"; version="1.0.1"; sha256="0n2mlv6bvfb4yhgcml696l9vkbw21pz0smqylivr606z99rwgny2"; depends=[later magrittr R6 Rcpp rlang]; };
+  projects = derive2 { name="projects"; version="2.0.0"; sha256="0m9177ldp0d3f9k2ifrbww5snhvaql8h96shcdm46i1kjnzj4070"; depends=[dplyr fs lubridate magrittr purrr readr rlang rstudioapi sessioninfo stringr tibble zip]; };
+  projmgr = derive2 { name="projmgr"; version="0.1.0"; sha256="1iysxcl6awvp7zbm04zyq4d9659fcz3sy711jnycsxhsk8hsvmc2"; depends=[gh magrittr]; };
+  projpred = derive2 { name="projpred"; version="1.1.4"; sha256="1zlay8pj86mj68nh332ki53pz1lpdbl1k181lpmkh9dxpak0nwg0"; depends=[ggplot2 loo Rcpp RcppArmadillo]; };
+  promises = derive2 { name="promises"; version="1.1.0"; sha256="01l0ydjvvy6afcg5d6pzvk1ikd3djq8n2flv8c831ksn68z0zsn8"; depends=[later magrittr R6 Rcpp rlang]; };
   promote = derive2 { name="promote"; version="1.1.1"; sha256="1cdz4xqinyzpbbgkxxd4f86n1h8zj88vp5z6w01cxd5ykyjf5411"; depends=[httr jsonlite stringr]; };
   promotionImpact = derive2 { name="promotionImpact"; version="0.1.2"; sha256="1mx745q37fqgn46y9qj3ql54r747qfab1yq8878g08cq6y696rmp"; depends=[crayon data_table dplyr ggplot2 ggpubr KernSmooth lmtest prophet Rcpp reshape2 scales stringr strucchange]; };
   prop_comb_RR = derive2 { name="prop.comb.RR"; version="1.2"; sha256="10s52fkq7rv6v4gw1yd46f0fbg89ksim0qhgb5jbglzrqh585ny5"; depends=[rootSolve]; };
@@ -11443,21 +11917,22 @@ in with self; {
   proportion = derive2 { name="proportion"; version="2.0.0"; sha256="0a71f6hz6blb7550m9x0di84vp51yjhnn952301rwlrh3axf6dbr"; depends=[ggplot2 TeachingDemos]; };
   propr = derive2 { name="propr"; version="4.1.6"; sha256="1zpqx0xcf0di3p8x48g8icjwisfans0b1x902mq9fcal0qyc5mi1"; depends=[fastcluster ggplot2 igraph Rcpp]; };
   prospectr = derive2 { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[foreach iterators Rcpp RcppArmadillo]; };
-  protViz = derive2 { name="protViz"; version="0.4.0"; sha256="150i2q4nakz28f39kmhrchz4qsr8ax6y02512md94k8hq4hamxg1"; depends=[Rcpp]; };
+  protViz = derive2 { name="protViz"; version="0.5.1"; sha256="0cznzm1ijlq33yd5wsa61prav77y2vi698w0n2fx1xcv504c4bjv"; depends=[Rcpp]; };
+  protag = derive2 { name="protag"; version="1.0.0"; sha256="1iaw2w1d7hdvlg5vplpqc49wq08dgmm0ifvp2v0ggqb8invvdnw8"; depends=[dplyr ggplot2 RColorBrewer]; };
   proteomicdesign = derive2 { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
   proteomics = derive2 { name="proteomics"; version="0.2"; sha256="01cd4sb79gcx8gbzl624scvjbwhgcsca1wdvvfkhsv7jfwdd2ry2"; depends=[foreach ggplot2 plyr reshape2]; };
   protiq = derive2 { name="protiq"; version="1.2"; sha256="1d5wr9w540a79i57nr0arn5xg7s6jhhy5nrgsk8r3ljidld2s2sa"; depends=[graph mvtnorm RBGL]; };
   proto = derive2 { name="proto"; version="1.0.0"; sha256="1l843p8vckjckdhgv37ngv47fga5jzy0n00pmipvp05nnaixk54j"; depends=[]; };
   protoclass = derive2 { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; };
   protoclust = derive2 { name="protoclust"; version="1.6.3"; sha256="1jwfzlxyi2mx3mry2xr2glc6fm6a9jc8fhsdzjbb4zgx7vx2vpqv"; depends=[]; };
-  protolite = derive2 { name="protolite"; version="1.9"; sha256="18k2909af314k3av7vwnkcz0k7ykfwjk2891pyqnlkxmknmg69z6"; depends=[jsonlite Rcpp]; };
+  protolite = derive2 { name="protolite"; version="2.0"; sha256="0vzdsngns3s4r272vh783d2v7576p4fgxbahzn2c9c6vfw7539vg"; depends=[jsonlite Rcpp]; };
   proton = derive2 { name="proton"; version="1.0"; sha256="1mgaw54is8l6ac1rf8s70rj7kv9xgsfdrlvjz01ggfwg7c6pyr3s"; depends=[digest]; };
   prototest = derive2 { name="prototest"; version="1.2"; sha256="07g58hq2qdpczqhjsv6dq1bya9rs958r103n91icw5yc19bvyhi2"; depends=[glmnet intervals MASS Rcpp RcppArmadillo]; };
   protr = derive2 { name="protr"; version="1.6-2"; sha256="13vgiqkqqq1w2yj5f6i6scag0mr189zmisyvi6fgaw8g9dgxpxan"; depends=[]; };
   proustr = derive2 { name="proustr"; version="0.4.0"; sha256="1qp4v4vb1qh137qn7zi1d2g999z17kq6kpyxy9355mj8c49iy8pn"; depends=[attempt rlang SnowballC stringr tidyr tokenizers]; };
-  provParseR = derive2 { name="provParseR"; version="0.1.2"; sha256="156dd74dxh2i51fyb3axmyq39lna51j7scfzypwrjl05vm393l0n"; depends=[jsonlite]; };
-  provSummarizeR = derive2 { name="provSummarizeR"; version="1.1"; sha256="0kjqbfkvsdshvb34k1y958abp9i513zngd3q4fji1i4qrym0a6ib"; depends=[dplyr provParseR]; };
-  provViz = derive2 { name="provViz"; version="1.0.5"; sha256="11gzc9wjich7hmb47aj1fxsz39hmfq1629wag0p7l7205p0vsadl"; depends=[]; };
+  provParseR = derive2 { name="provParseR"; version="0.2"; sha256="13fb4fl395aqjcs2kyvm5z1ac5jkqn5nh2ylzig2p54h313bg0dk"; depends=[jsonlite]; };
+  provSummarizeR = derive2 { name="provSummarizeR"; version="1.2"; sha256="1vdiqw9yzbihrdqqaf6796dhvw1xh93cb9wnyh804b4xvfmj1by8"; depends=[dplyr provParseR]; };
+  provViz = derive2 { name="provViz"; version="1.0.6"; sha256="0pnrprybn48jb02888pzn2y7vi1l24fxk6063sv6aiwpncminf9n"; depends=[]; };
   provenance = derive2 { name="provenance"; version="2.3"; sha256="1nzgnjfy91r9995jhn7s96jqqlc35s4kxhqscpj9jv93ngddq3zd"; depends=[IsoplotR MASS]; };
   proxy = derive2 { name="proxy"; version="0.4-23"; sha256="17b6qfllqrhzrxqgx7dccffgybnkcria5a68ap5ly3plg04ypm4x"; depends=[]; };
   proxyC = derive2 { name="proxyC"; version="0.1.5"; sha256="159bc42x4shm6n3rh9fc8ziv3ivq0ipmpbasrh279hhn1prc8gg6"; depends=[Matrix Rcpp RcppArmadillo RcppParallel]; };
@@ -11466,7 +11941,7 @@ in with self; {
   pryr = derive2 { name="pryr"; version="0.1.4"; sha256="06vj5xl9x37kbd3l5bw7sbgfdnp37spvrjrn976rxi04clqk966k"; depends=[codetools Rcpp stringr]; };
   ps = derive2 { name="ps"; version="1.3.0"; sha256="1lcq7r0q4jb8x6k023zr2ydj2dg925bqqbkhx1phpnyjrk897498"; depends=[]; };
   psData = derive2 { name="psData"; version="0.2.2"; sha256="013hb6lk9rm2w08m5jbw90ndrcd4wyy2h125jx07c9bs60wh4mp4"; depends=[countrycode DataCombine reshape2 rio xlsx]; };
-  psSubpathway = derive2 { name="psSubpathway"; version="0.1.0"; sha256="164klphmhszcrmlxq9aj141j3ra2kc8yc94k9q59s2mzpvcnkzlm"; depends=[GSVA igraph mpmi pheatmap]; };
+  psSubpathway = derive2 { name="psSubpathway"; version="0.1.1"; sha256="1jzymhh1dy5w735fppqza7ilspsvyidkrdpq2yd3j5xfjckzfh5w"; depends=[GSVA igraph mpmi pheatmap]; };
   psbcGroup = derive2 { name="psbcGroup"; version="1.4"; sha256="0l1hmgw4sislryws8hv7r2nglhcs6g9khg0372a70djvhz2l6gfi"; depends=[LearnBayes mvtnorm SuppDists]; };
   pscl = derive2 { name="pscl"; version="1.5.2"; sha256="1phf3awsfr4ncqfqzin5m1pz0g7y1zhbcm2sz7358ssw914fd7rc"; depends=[MASS]; };
   pscore = derive2 { name="pscore"; version="0.1-2"; sha256="1sfkxs2kv8lq87j3q9ci7j38c7gzfkp2l36lwcdhiidr2nls2x0c"; depends=[ggplot2 lavaan reshape2]; };
@@ -11486,10 +11961,11 @@ in with self; {
   pspline = derive2 { name="pspline"; version="1.0-18"; sha256="1iwsw52miil1v1yl99mzl28qi8gdjr56rlasmh8faqjlpn9z477p"; depends=[]; };
   pssm = derive2 { name="pssm"; version="1.1"; sha256="0r3d1mzc7bcz238lqq4y518400m2dqm5a1fb9gkfiari1ax099lv"; depends=[abind MASS MHadaptive numDeriv]; };
   pssmooth = derive2 { name="pssmooth"; version="1.0.2"; sha256="09x5dhwx40j1fy7bzj0z0lj7sbjlwrqn2b8ph0387prbbp9q2lxs"; depends=[chngpt MASS np osDesign]; };
+  pstest = derive2 { name="pstest"; version="0.1.3.900"; sha256="1rhd4vgqpr9yq0pc3xql3nfgl30v20ldywapp9n967ky2dja4k0z"; depends=[glmx MASS]; };
   psy = derive2 { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; };
   psych = derive2 { name="psych"; version="1.8.12"; sha256="0hvp0dkkkn0szaf5rkirr3kb8qmr4bxwl775m5wmpvn1kc25w5vf"; depends=[foreign lattice mnormt nlme]; };
   psychNET = derive2 { name="psychNET"; version="0.0.1"; sha256="0lrc6klf0q8h49f3yphzmd8b9zi1ljhj7bb6vzgd5m5n8q3jyr4b"; depends=[bigtime car crayon fastDummies glmnet graphicalVAR gtools Hmisc igraph imputeTS longitudinal MASS Matrix mgm mlVAR networktools ordinalNet qgraph SparseTSCGM sparsevar vars]; };
-  psychReport = derive2 { name="psychReport"; version="0.4"; sha256="0025m39gxjv63p230xg6vmyndni8bqx5nfs6dzz7xlc8qys56jqs"; depends=[cli crayon dplyr ez testthat xtable]; };
+  psychReport = derive2 { name="psychReport"; version="0.7"; sha256="1dapzq20aw9l4r5grfjd2sf14ga3wcxg67pq5fj6q4bcg5dggc9l"; depends=[cli crayon dplyr ez testthat xtable]; };
   psychTools = derive2 { name="psychTools"; version="1.9.5.26"; sha256="1a6g78glnml22mvfkn4gjzbpmqkznsgv1pga6c0dkx4db94pcfn2"; depends=[foreign psych]; };
   psychmeta = derive2 { name="psychmeta"; version="2.3.3"; sha256="1skvhbhkidfi9v8yk2r1qpvsmc6axvvjaiqr0rsa8wc2idavfjhd"; depends=[boot cli crayon data_table dplyr ggplot2 MASS metafor nor1mix progress purrr RCurl reshape2 rlang stringi stringr tibble tidyr tmvtnorm xml2]; };
   psycho = derive2 { name="psycho"; version="0.4.91"; sha256="0yfjgsxkbp878phjvxyb2caiy5nkknkv66294arqvmadh4an7ip3"; depends=[BayesFactor blavaan broom DescTools dplyr emmeans ggcorrplot ggplot2 lavaan lme4 lmerTest loo MASS MuMIn nFactors ppcor psych purrr qgraph rstanarm rstantools scales stringr tibble tidyr]; };
@@ -11504,33 +11980,34 @@ in with self; {
   pterrace = derive2 { name="pterrace"; version="1.0"; sha256="15k5149jqjy20cck5121zsv2mk63amn5b8qgdlacivri9dpxjns1"; depends=[doParallel foreach plotly TDA viridis]; };
   ptest = derive2 { name="ptest"; version="1.0-8"; sha256="1d30a23yknf7xgqj8adgr36pnh9dpffl1v5fq682f26fk3ss30qp"; depends=[quantreg]; };
   ptinpoly = derive2 { name="ptinpoly"; version="2.4"; sha256="1jbj8z7lqg7w1mqdh230qjaydx2yb6ffgkc39k7dx8xl30g00i5b"; depends=[misc3d]; };
-  ptmixed = derive2 { name="ptmixed"; version="0.2.1"; sha256="03mr26xx4i93pa6hjkp5pfd9i4pialpcwxiw8pnk3zifqiq3168b"; depends=[GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
+  ptmixed = derive2 { name="ptmixed"; version="0.4.1"; sha256="0sqlg4pk383xig3q86c6x5dyb0ws4ccijr8v1w9526zcrabi4b8v"; depends=[aod GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
   pts2polys = derive2 { name="pts2polys"; version="0.1.1"; sha256="1pnh8ajh95c8xzfa4bvd2w41fi7h0jcg003rsji6xsasly3q34vr"; depends=[Rcpp]; };
   ptstem = derive2 { name="ptstem"; version="0.0.4"; sha256="0dx677c7qh7rbalsys1n3xv4hjdhd6qypjd1mrggfwz1bd4vig4j"; depends=[dplyr hunspell magrittr rslp SnowballC stringr tidyr tokenizers]; };
   ptsuite = derive2 { name="ptsuite"; version="1.0.0"; sha256="1df273p8v6zvhy2jj6imhjigwj77grx6sxqmg0sidxwqny5d1d9c"; depends=[Rcpp]; };
-  ptw = derive2 { name="ptw"; version="1.9-13"; sha256="0iighsx6xn8nbw4qpzmwgi4czmr5m8yrr7fzm7mx7cvx2r5ffmbq"; depends=[nloptr]; };
+  ptw = derive2 { name="ptw"; version="1.9-15"; sha256="0ikvzc5vfcs50jl5n49mhk39pcijyfdxd26adgs01h0b50zh1yi2"; depends=[nloptr]; };
   ptwikiwords = derive2 { name="ptwikiwords"; version="0.0.3"; sha256="129dad1vy52sf97dqrkwa49vjhv2kvs4pmd5zvq8pxd51hqm6wy9"; depends=[]; };
   ptycho = derive2 { name="ptycho"; version="1.1-4"; sha256="1llk3rpk0lf80vwvs23d6dqhgyic3a6sfjc393csj69hh01nrdvc"; depends=[coda plyr reshape2]; };
   pubchunks = derive2 { name="pubchunks"; version="0.2.0"; sha256="119ihi6xi9k3p5lv2qkch2jc2fqmf8h0wi7mqh57asg7n6f0qb6r"; depends=[data_table rcrossref xml2]; };
   pubh = derive2 { name="pubh"; version="0.4.3"; sha256="18n6jyidq01gxbqvfal7ipgpjvfkdy71niy7w24dvvxnvcy7hc4l"; depends=[bookdown car desctable effects Epi epiR epitools knitr latex2exp lattice latticeExtra lme4 lmtest MASS multcomp nlme nnet ordinal pander papeR sandwich survival tactile]; };
   pubmed_mineR = derive2 { name="pubmed.mineR"; version="1.0.16"; sha256="1dcviy347lypbzwwz506d37wy5swla2vjgyqijwc37daic71bnih"; depends=[boot R2HTML RCurl XML]; };
-  pubtatordb = derive2 { name="pubtatordb"; version="0.1.3"; sha256="0k16nq7fbsd07wkv6zys0jqdd35ikq3aiax3jdihk94gq46raqc1"; depends=[assertthat DBI dplyr R_utils readr RSQLite]; };
+  pubtatordb = derive2 { name="pubtatordb"; version="0.1.4"; sha256="0i5azbf75bwxxzpsr5fc2hh22pbwix00hz9dcdpn5jgp2957f7wx"; depends=[assertthat DBI dplyr R_utils readr RSQLite]; };
   pullword = derive2 { name="pullword"; version="0.2"; sha256="14rln0nbd4k2cvf18iwvc56776b9g3m3cs67i7fgzabfrgj8y6db"; depends=[RCurl]; };
-  pulsar = derive2 { name="pulsar"; version="0.3.5"; sha256="0n16jcjxaz19gc12idj3vva9bb0ljxwimgcgil57pi9rmflv9jm1"; depends=[Matrix]; };
+  pulsar = derive2 { name="pulsar"; version="0.3.6"; sha256="0r1myng3wmirlp1ixqkkzlgv5i0my37irligah3wwfh0cprip1dm"; depends=[Matrix]; };
   pulseTD = derive2 { name="pulseTD"; version="0.1.0"; sha256="0sdnswinpnm0vvplrh5gl9gx4p03dx175mqxzg5r52rkzd3rfbsr"; depends=[AnnotationDbi Biobase GenomicAlignments GenomicFeatures ggplot2 Rsamtools S4Vectors SummarizedExperiment]; };
   pumilioR = derive2 { name="pumilioR"; version="1.3.1"; sha256="1791r5lkr6hafd2rz9f9nfy5vc03c4833f292khvd2cg43sb0bfc"; depends=[RCurl XML]; };
-  puniform = derive2 { name="puniform"; version="0.1.1"; sha256="1im6sa2vhcv5yszrsrp5dy0qdnjijm153cjvb0w0v2yzhf0kfhzb"; depends=[ADGofTest metafor Rcpp]; };
+  puniform = derive2 { name="puniform"; version="0.2.1"; sha256="0pizpq3v0jlvl41pqypk5i5ghyg2na8mysf2pcvihx4ha7415i51"; depends=[ADGofTest metafor Rcpp]; };
   purge = derive2 { name="purge"; version="0.2.1"; sha256="1faf8mkaxsnj63wnig5rs50hd3j6vzaj0xkdz8kn0j7y2vvshp9p"; depends=[]; };
   purging = derive2 { name="purging"; version="1.0.0"; sha256="1b8f87jn6wyh4fp6b1660bd484wcf7xiajdg9dz2594aj1r94qsr"; depends=[MASS]; };
-  purrr = derive2 { name="purrr"; version="0.3.2"; sha256="0ccs78a2ylr60f3z0f7iywi8h1pwr8mz4ga78bs4pwgnwkclvir7"; depends=[magrittr rlang]; };
+  purrr = derive2 { name="purrr"; version="0.3.3"; sha256="17lyys7dxjrwsfkq7a7hw65iy3qn3pp1sn70srdy64jf8adahc8g"; depends=[magrittr rlang]; };
   purrrlyr = derive2 { name="purrrlyr"; version="0.0.5"; sha256="0rcamyf7d01rpd9izh8xp66j130aqarfbc24p898dqhghb6q1ryq"; depends=[BH dplyr magrittr purrr Rcpp]; };
   purrrogress = derive2 { name="purrrogress"; version="0.1.1"; sha256="1l7wr7jjpang9gx61pfw9qiapsviwpp13kbylmxvw7lz7q0khzcz"; depends=[assertthat glue hms pkgcond purrr R6 rlang testextra]; };
   pushbar = derive2 { name="pushbar"; version="0.1.0"; sha256="1gxarv6x32y6ssrhsq3pyihzcvpnnj7bg0jf2cpcr99da78n1d9b"; depends=[jsonlite shiny]; };
   pushoverr = derive2 { name="pushoverr"; version="1.0.0"; sha256="1zazrx0szx21ymn7zlkfqkhid0ar8jblnpnf5nycj0p7dbh6d0bd"; depends=[assertthat httr]; };
-  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.4.0"; sha256="1cvym37l3vyanfvbb845fcdcy8xsqinj8vnz64wiqyb83hnq3cq7"; depends=[ggplot2 scales zipfR]; };
+  puzzle = derive2 { name="puzzle"; version="0.0.1"; sha256="073n074irsvn4w1jy5xmr6l24a209kn0ypvf1d2zn3p6yd93wzss"; depends=[dplyr kableExtra lubridate plyr readr readxl reshape reshape2 sqldf tidyverse]; };
+  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.5.0"; sha256="0gch4fkb7fdmqvckanpskfm51kw6dk86i77s74w2qhy3ig6vvi3c"; depends=[ggplot2 scales zipfR]; };
   pvar = derive2 { name="pvar"; version="2.2.5"; sha256="1a5dxhki5nd5s1d5wwnc1dkg7mdib2s8w1i0l8mdg3f1g3l00klz"; depends=[Rcpp]; };
   pvclass = derive2 { name="pvclass"; version="1.4"; sha256="1g6x75qz3xybq1xnik0hzi7mcs0gzzqd3f0iwfkzi5d1zcddnw13"; depends=[Matrix]; };
-  pvclust = derive2 { name="pvclust"; version="2.0-0"; sha256="0hfpf257k5f1w59m0zq6sk0gaamflc3ldkw6qzbpyc4j94hiaihs"; depends=[]; };
+  pvclust = derive2 { name="pvclust"; version="2.2-0"; sha256="0082icm54k2yq60k06qpr92a626k39j2jr0046lva4ylmhxqb4kq"; depends=[]; };
   pvsR = derive2 { name="pvsR"; version="0.3"; sha256="1ijmqlcsc8z0aphdd3j37ci8yqsy50wnr2fwn7h8fxbyd12ax2nj"; depends=[httr nnet XML]; };
   pwr = derive2 { name="pwr"; version="1.2-2"; sha256="0r5g781lr677vp3zyhgmi7r68c87l8gd05l1s3ffnxgn5wf043sm"; depends=[]; };
   pwr2 = derive2 { name="pwr2"; version="1.0"; sha256="0zfv7z5yymw310r1sqm8ivsc2pv6dgk2k4b1axmm92gsaj53cn7p"; depends=[]; };
@@ -11543,6 +12020,7 @@ in with self; {
   pwt9 = derive2 { name="pwt9"; version="9.1-0"; sha256="0m2df89lali9945avcv4gdjpxch9in7vdd042nx0q8nv0alb4ijd"; depends=[]; };
   pxR = derive2 { name="pxR"; version="0.42.2"; sha256="1q1xwsrs1ch1a1d1clz6sl7vnsyz5wjqivczk5n5d772y4w60bz5"; depends=[plyr reshape2 RJSONIO stringr]; };
   pxweb = derive2 { name="pxweb"; version="0.9.1"; sha256="00xp7idhsirmpl970yxnxp6xn128jm5kwsmdwhys32wlbd9kzspc"; depends=[checkmate httr jsonlite]; };
+  pyMTurkR = derive2 { name="pyMTurkR"; version="1.1"; sha256="0pvv8fgg40vv36mf3cc8ysrjj3gk9hnmzyvwix2ndxvc1nlzzahc"; depends=[curl reticulate XML]; };
   pycno = derive2 { name="pycno"; version="1.2"; sha256="0ha5css95xb98dq6qk98gnp1al32gy6w5fkz74255vs4hmkwfzw2"; depends=[maptools rgeos sp]; };
   pyinit = derive2 { name="pyinit"; version="1.0.3"; sha256="0sj7r52a53x57ff8b34s6p2y638b85fin0cxrndhpsk392sds0ki"; depends=[robustbase]; };
   pyramid = derive2 { name="pyramid"; version="1.5"; sha256="0lakn9knmhqvhrp98sc3hhwd4bilpplxbr5j9bv8w6li0qd3d04a"; depends=[]; };
@@ -11551,7 +12029,7 @@ in with self; {
   qCBA = derive2 { name="qCBA"; version="0.3.1"; sha256="0lr97hig9c4l9k7vjalvgar4f1dic1lqf91li4q63j07lgdyvh4c"; depends=[arc arules rJava]; };
   qGaussian = derive2 { name="qGaussian"; version="0.1.8"; sha256="02xy35xg4swr1ldnsbywnz2h0ga1pbsivnj0aqmpll7kvwl9qz4c"; depends=[Rcpp robustbase zipfR]; };
   qLearn = derive2 { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
-  qMRI = derive2 { name="qMRI"; version="1.0.1"; sha256="1b6wa3s9km22ymwhd7a1hxnaish4zhdi23w96mydjb32bf28x0rp"; depends=[adimpro aws awsMethods dti oro_nifti stringr]; };
+  qMRI = derive2 { name="qMRI"; version="1.1.1"; sha256="05r5kzndmwxad3rkq4jrrg1i7gzclv32zfibsk84dwv90c4qrlyv"; depends=[adimpro aws awsMethods dti oro_nifti stringr]; };
   qVarSel = derive2 { name="qVarSel"; version="1.0"; sha256="13x2hnqjsm0ifzmqkkl9ilhykrh80q04lhlkkp06hkysmh5w9rkx"; depends=[lpSolveAPI Rcpp]; };
   qad = derive2 { name="qad"; version="0.1.1"; sha256="11v291swfl4llgzfffm786xqp9cn82vl8xlqjlma5wah7ig73rgh"; depends=[copula data_table doParallel foreach ggplot2 plyr viridis]; };
   qap = derive2 { name="qap"; version="0.1-1"; sha256="0d2d1ni1camixyi45lfy00f4pn3p063k7bsi8gj5scp6n15mdgb0"; depends=[]; };
@@ -11569,8 +12047,8 @@ in with self; {
   qdm = derive2 { name="qdm"; version="0.1-0"; sha256="0cfxyy8s5zfb7867f9xv9scq9blq2qnw68x66m7y7nqlrrff5xdr"; depends=[]; };
   qfasar = derive2 { name="qfasar"; version="1.2.0"; sha256="067wnwwz8s0yxig13wrjq37w62kf8p5pa8my5lfpc1ik1b7iysby"; depends=[Rsolnp]; };
   qgam = derive2 { name="qgam"; version="1.3.0"; sha256="0i0irz2jqi73d97zyy8xz2yi95y93kw3sr9xf4hmrjdd4k15l0wk"; depends=[doParallel mgcv plyr shiny]; };
-  qgcomp = derive2 { name="qgcomp"; version="1.1.0"; sha256="1nh6z45rzfiv8zymxdigz6zd86x751ciwrmc85s1g3awn5bf6r1p"; depends=[ggplot2 gridExtra survival]; };
-  qgraph = derive2 { name="qgraph"; version="1.6.3"; sha256="0makwk8kygqfi4hqzhfzd2jbljlwvs24mv7psr5wyh76g8392drn"; depends=[abind BDgraph colorspace corpcor d3Network fdrtool ggm ggplot2 glasso gtools Hmisc huge igraph jpeg lavaan Matrix pbapply plyr png psych Rcpp reshape2]; };
+  qgcomp = derive2 { name="qgcomp"; version="1.2.0"; sha256="1kpg0hjnmfvakzq45qpng92dhi3nfvm7qd5fgqy58z453hpg5hn4"; depends=[arm future future_apply ggplot2 gridExtra survival]; };
+  qgraph = derive2 { name="qgraph"; version="1.6.4"; sha256="1glg814h7fwl1jfm6dw1d9i80bilmj5jcjjrfln15byrdh4mm1j3"; depends=[abind BDgraph colorspace corpcor d3Network dplyr fdrtool ggm ggplot2 ggraph glasso gtools Hmisc huge igraph jpeg lavaan Matrix pbapply plyr png psych Rcpp reshape2 tidygraph]; };
   qgtools = derive2 { name="qgtools"; version="1.0"; sha256="0irqfaj2qqx7n1jfc0kmfpgzqrhwwlj0qizsmya94zk9d27bcpn5"; depends=[MASS Matrix]; };
   qha = derive2 { name="qha"; version="0.0.8"; sha256="0sdf6g6884wn73i237xkwszg2mq8xddhvyy225qzpplh5za4pnhl"; depends=[ade4 FactoClass FactoMineR]; };
   qicharts = derive2 { name="qicharts"; version="0.5.5"; sha256="0bl1f64b5n8q9jhzh3rqfyh9613qiy9mhcy2xsn16jyrj4hmj0jd"; depends=[ggplot2 lattice latticeExtra scales]; };
@@ -11595,7 +12073,7 @@ in with self; {
   qrLMM = derive2 { name="qrLMM"; version="1.3"; sha256="1k85d09yvhx3pgmvqrsmhd14hqaah4pdr87vp4kg60dp9w5sydjz"; depends=[ald ghyp matrixcalc mvtnorm psych quantreg]; };
   qrNLMM = derive2 { name="qrNLMM"; version="1.4"; sha256="0h1jra247flipv4pwww8rn61pj8jxpiaw74f2czs950klnznp1xm"; depends=[ald ghyp matrixcalc mvtnorm psych quantreg]; };
   qrage = derive2 { name="qrage"; version="1.0"; sha256="00j74bnkcpp0h8v44jwzj67q9aaw47ajc2fvgr6dckj9rymydinl"; depends=[htmlwidgets]; };
-  qrandom = derive2 { name="qrandom"; version="1.1"; sha256="0sdi2xv2y2gxw1qvpzamgn6s6j4x280bxk84b3nxbpl77rviqy15"; depends=[curl jsonlite Rmpfr]; };
+  qrandom = derive2 { name="qrandom"; version="1.2"; sha256="1y8yybb2q4ngxvsgzm44xmhl98pdr85i80f2a7hqi8i520clwl4q"; depends=[curl jsonlite Rmpfr]; };
   qrcm = derive2 { name="qrcm"; version="2.1"; sha256="0wp6ynckh66gxi569wbvn5szwih4g0c21zrrpz3zfavhqwk7srgf"; depends=[pch survival]; };
   qrcmNP = derive2 { name="qrcmNP"; version="0.1.2"; sha256="0psgnz2fdj530wjj14pv5x2889yzphnlsg10lry9i6dvmxd8m47k"; depends=[qrcm survival]; };
   qrcode = derive2 { name="qrcode"; version="0.1.1"; sha256="12j0db8vidlgkp0dcjyrw5mhhvazl7v7gpn9wsf2m0qnz1rm4igq"; depends=[R_utils stringr]; };
@@ -11604,15 +12082,16 @@ in with self; {
   qrmdata = derive2 { name="qrmdata"; version="2016-01-03-1"; sha256="192dcsmvl3xbzlk658cfp2sk5fkgbjhjd4g1mrcs8s63hmzbwdzc"; depends=[xts]; };
   qrmix = derive2 { name="qrmix"; version="0.9.0"; sha256="1r695d9bmmngvblh9jj0rnjymdaln9w0jywz51wla0bdssssf845"; depends=[MASS quantreg]; };
   qrmtools = derive2 { name="qrmtools"; version="0.0-10"; sha256="0mkd4xigz1cg52dldbws3va7251pjzss8z0al25izmp9dbknb3gw"; depends=[lattice Quandl quantmod rugarch xts zoo]; };
-  qrng = derive2 { name="qrng"; version="0.0-5"; sha256="0ddwbbw5w7y8vns83z4dyh8inl976k2cg55rxbynaks8bdxr38mj"; depends=[]; };
-  qrnn = derive2 { name="qrnn"; version="2.0.4"; sha256="0i0hyb97xb3kwpvg6cqkwvl612cx11bszkm7pzhiy6ss598r6wwi"; depends=[]; };
+  qrng = derive2 { name="qrng"; version="0.0-7"; sha256="1dw1qqajxavlnfyh6xn58069fpfza28x1xjzd3diqlcxxlb4hjaf"; depends=[copula randtoolbox]; };
+  qrnn = derive2 { name="qrnn"; version="2.0.5"; sha256="0ligz67kbfg5cmvacnb7y0ms1v0c7mbvbcfsxyfiz543ppl3xn1v"; depends=[]; };
   qrsvm = derive2 { name="qrsvm"; version="0.2.1"; sha256="0qpj3c8qwrwr2asvp921av0mbdba1ayz0pdq4a52i1waqng4fgis"; depends=[doParallel foreach kernlab Matrix quadprog]; };
-  qs = derive2 { name="qs"; version="0.17.3"; sha256="1z0q9kgyf1rkkbjl8b4rm444c3war4drqbi2lgbvzm6q8jy6pdh1"; depends=[RApiSerialize Rcpp]; };
+  qs = derive2 { name="qs"; version="0.20.2"; sha256="12iqfa5rmcvw8dhprg4w8xvk2qd5796rmdsl9bsj59ijzr7zwg82"; depends=[RApiSerialize Rcpp]; };
   qsort = derive2 { name="qsort"; version="0.2.3"; sha256="1xvp29dijfa2207wyw3z09rmffn61fngfy0f00qjk284n1jnnvrg"; depends=[cowplot ggplot2 gridExtra purrr]; };
   qsub = derive2 { name="qsub"; version="1.1.0"; sha256="0i52bibc782k09f5hp3ic9ll14fsrwjnkdxlb0mhkjvsqm7m5hc5"; depends=[dplyr glue pbapply processx purrr random readr ssh stringr tidyr]; };
   qtbase = derive2 { name="qtbase"; version="1.0.14"; sha256="1pcgjycq61x9h52sqr6fz83qjnlpbawvpavnn9hyw2b7jlv3nwfd"; depends=[]; };
   qte = derive2 { name="qte"; version="1.3.0"; sha256="0x65n2qyq1py0nrachxkqd273mywkw433ai5x6ni3ak4ckbp3g66"; depends=[BMisc formula_tools ggplot2 Hmisc knitr msm pbapply quantreg texreg]; };
   qtl = derive2 { name="qtl"; version="1.44-9"; sha256="03lmvydln8b7666b6w46qbryhf83vsd11d4y2v95rfgvqgq66l1i"; depends=[]; };
+  qtl2pleio = derive2 { name="qtl2pleio"; version="1.2.3"; sha256="0ihlp6glsw4pk97vpqlcbd6zmg0qww3i19c1b76vx1wkazjg6pd8"; depends=[dplyr gemma2 ggplot2 magrittr MASS Matrix Rcpp RcppEigen rlang stringr testthat tibble]; };
   qtlDesign = derive2 { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
   qtlbook = derive2 { name="qtlbook"; version="0.18-8"; sha256="1c849xy2ki7niddajv5wnsm0zdp5381w8zm9lc8rvkdbs2v6rhf4"; depends=[]; };
   qtlc = derive2 { name="qtlc"; version="1.0"; sha256="17ij4alx4qg556b5kq7qsjygj5jf8iyx1f0v52pvx1z2sm6nppww"; depends=[plot3D rgl tiff]; };
@@ -11625,30 +12104,32 @@ in with self; {
   quad = derive2 { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
   quadmatrix = derive2 { name="quadmatrix"; version="0.1.0"; sha256="0nngrvvbalmrr6g9bq9f5qrllvwfq5p1b9yhs4zb098s3wga8jms"; depends=[geigen matrixcalc]; };
   quadmesh = derive2 { name="quadmesh"; version="0.4.0"; sha256="196p1qiis1hbs8yxd5570cqln0zcp3ngbajf3rsc0rwgjzqgm3wv"; depends=[geometry gridBase png raster reproj scales sp viridis]; };
-  quadprog = derive2 { name="quadprog"; version="1.5-7"; sha256="0vg7i9p241bwvfdspjbydjrsvgipl6nsb8bjigp0hbbgvxbixx0s"; depends=[]; };
+  quadprog = derive2 { name="quadprog"; version="1.5-8"; sha256="1ka9g8zak8sg4y2xbz93dfrldznlk9qpd4pq9z21cdcdn3b8s4i2"; depends=[]; };
   quadprogXT = derive2 { name="quadprogXT"; version="0.0.4"; sha256="1bqjlqihb371ggds60219x474b6n4wsl6fnia8hd410iyn9wm05g"; depends=[quadprog]; };
-  quadrupen = derive2 { name="quadrupen"; version="0.2-6"; sha256="0din0b4iaixjfkdiy4gbl83hq6z7v7aca2xk65hzfsalp6llk91x"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 scales]; };
+  quadrupen = derive2 { name="quadrupen"; version="0.2-7"; sha256="05yn9cnnc1481k8yqc6dg5hcv0ll4v3h2yw3qyaarwhgyxiips11"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 scales]; };
   qualCI = derive2 { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
   qualV = derive2 { name="qualV"; version="0.3-3"; sha256="1yyqk223ydcc0125gsn33a4mcdp8bd76fpn8kj9bfz9g78b8dqmx"; depends=[KernSmooth]; };
   qualityTools = derive2 { name="qualityTools"; version="1.55"; sha256="1c2p78dhwqvzb2k01dvwb41a6hlr2iwpw6fv91036x30rphjzb88"; depends=[MASS Rsolnp]; };
   qualmap = derive2 { name="qualmap"; version="0.1.1"; sha256="1z085zyqxnizpx4y1891shhijs2a9gg5ap800ryvfxncg6gk35wa"; depends=[dplyr glue leaflet purrr rlang sf]; };
   qualpalr = derive2 { name="qualpalr"; version="0.4.3"; sha256="1hlssqj2129796d00gnip3ih5b705qasw0hkj25xfz7xak0vdbkm"; depends=[assertthat randtoolbox Rcpp RcppArmadillo RcppParallel]; };
-  qualtRics = derive2 { name="qualtRics"; version="3.1.0"; sha256="06lbjck0a7rnh5j67y8x1r1ryzy1pjmhvzdzxj9r7sdqgw767p26"; depends=[assertthat dplyr httr jsonlite readr rlang sjlabelled stringr yaml]; };
+  qualtRics = derive2 { name="qualtRics"; version="3.1.1"; sha256="092f8d59g5b5619q6v4vkpjw8za5rrmhv805xg95m3z0xcscg1rl"; depends=[assertthat dplyr httr jsonlite purrr readr rlang sjlabelled stringr tibble yaml]; };
   qualvar = derive2 { name="qualvar"; version="0.2.0"; sha256="1c7b7lcyq2l46sslk185r6xfh5fb35z9qihrhnh294sw1k52bffa"; depends=[]; };
+  qualypsoss = derive2 { name="qualypsoss"; version="1.0.0"; sha256="1pvf9b9yw8317wnh1x1jkmwl4cl0r9q7npfw0xzgbs8mfpl9j2ah"; depends=[doParallel foreach MASS mvtnorm]; };
   quantable = derive2 { name="quantable"; version="0.3.6"; sha256="15q4phc2j7aihl8f4qzpdwxcvshq2cfzkfcxc8k4qypsxk9a00sb"; depends=[caret dplyr e1071 ggplot2 ggrepel gplots Matrix plyr pROC RColorBrewer readr reshape2 rlang scales stringr tibble tidyr]; };
-  quanteda = derive2 { name="quanteda"; version="1.5.1"; sha256="08hzgqza853jrk0r6cgn5398k0llfpm6jk4hs4rw8l2dn0520nq5"; depends=[data_table extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network proxyC Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi xml2 yaml]; };
+  quanteda = derive2 { name="quanteda"; version="1.5.2"; sha256="0iv25rpx5cl9ansazjs0qb97pniajrxf4mqsnb5q98y2hil9ipd3"; depends=[data_table extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network proxyC Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi xml2 yaml]; };
   quantification = derive2 { name="quantification"; version="0.2.0"; sha256="116cp88q9cmizxc2a8lsysa1vwyp1y86457fx5qkq5dcm4g721g8"; depends=[car]; };
   quantileDA = derive2 { name="quantileDA"; version="1.1"; sha256="0jbklxsy33j7clcw97qq4ijwkrb94v2m11gjcfa38vplfxm9913q"; depends=[]; };
-  quantities = derive2 { name="quantities"; version="0.1.2"; sha256="01h0d2cmqqyqch98d8pgv3n2rvp3vc3sby95srahgcrrlxmmrrvj"; depends=[errors Rcpp units]; };
+  quantities = derive2 { name="quantities"; version="0.1.3"; sha256="0crcwcr53bpqj07q5hvqkpq1sg9ikwz3nig2ifshqq5g2a3m57qs"; depends=[errors Rcpp units]; };
   quantmod = derive2 { name="quantmod"; version="0.4-15"; sha256="0lyzaf5ypk93v6zj9gdghy05cc7cxgn9yasv1apx5r6qsjcfgwky"; depends=[curl TTR xts zoo]; };
   quantoptr = derive2 { name="quantoptr"; version="0.1.3"; sha256="0f9vy9yhya4wpya8n345s6n7a5sb29chdkl5fz6dwa31lp1mvvj3"; depends=[quantreg Rdpack rgenoud stringr]; };
-  quantreg = derive2 { name="quantreg"; version="5.42.1"; sha256="1aycnghci329yqw63kybv7sfjjx5whq3xs7xzic4wsaj7j4b1hjc"; depends=[Matrix MatrixModels SparseM]; };
+  quantreg = derive2 { name="quantreg"; version="5.52"; sha256="0rq9as31wiz41lmi9hmdq3gknpcbpwqzfcn065ysjdxzjdb57dcy"; depends=[Matrix MatrixModels SparseM]; };
   quantreg_nonpar = derive2 { name="quantreg.nonpar"; version="1.0"; sha256="1f9120awnkwsgdiqg98lg7xs5l4y80930869x6k9q76595r5m92k"; depends=[fda mnormt quantreg Rearrangement]; };
   quantregForest = derive2 { name="quantregForest"; version="1.3-7"; sha256="0lk7r02i6zpx9sdl2rp0r7fc3a84s8qhg49nh2x7k3vxwa095pjz"; depends=[randomForest RColorBrewer]; };
   quantregGrowth = derive2 { name="quantregGrowth"; version="0.4-3"; sha256="0q2yk51hcn7jnvh14nxa7szfj4pr9grh5rdfwazaziilbwqdmw4f"; depends=[quantreg]; };
   quantregRanger = derive2 { name="quantregRanger"; version="1.0"; sha256="1a9q2prr790bpw6s0y5ni5ppd3vqkjr0v4nqp6ywcj5n3sk69pvx"; depends=[ranger Rcpp]; };
   quantspec = derive2 { name="quantspec"; version="1.2-1"; sha256="0kvwifdwy3big0lls5h3wcb48v3jvlfp1l0zjd07jnvj43zj3ysd"; depends=[abind quantreg Rcpp snowfall zoo]; };
   quarrint = derive2 { name="quarrint"; version="1.0.0"; sha256="13fdmmrgn23xd9vpywmcl7pf729gmcxjfl1wxs30axsbp4h1s6rk"; depends=[neuralnet]; };
+  queryparser = derive2 { name="queryparser"; version="0.1.1"; sha256="1rnw653y7jykqs2knfhyjwsnq22lx7x47rli5v1b7lvgly7b2agr"; depends=[]; };
   questionr = derive2 { name="questionr"; version="0.7.0"; sha256="1cschww3g2jhrfh87bxcaaig84yr0zcj0virmpx033yal606hmn4"; depends=[classInt highr htmltools labelled miniUI rstudioapi shiny]; };
   queuecomputer = derive2 { name="queuecomputer"; version="0.8.3"; sha256="0ravk2bxzq3zhk6mmh6iv11ql3bkpp2318vvrl39ghm5bh6pp6mg"; depends=[dplyr Rcpp RcppArmadillo tidyr]; };
   queueing = derive2 { name="queueing"; version="0.2.11"; sha256="1rgavpivvxwww1qiphbjm25d1avhjcjv31imsrzrkwh1d12b2k7x"; depends=[]; };
@@ -11658,7 +12139,7 @@ in with self; {
   quickblock = derive2 { name="quickblock"; version="0.2.0"; sha256="0ij4ivpnkjzdixbq7pg4g1xkb031qawadr22qhzp0q210qhmhc0m"; depends=[distances scclust]; };
   quickmapr = derive2 { name="quickmapr"; version="0.3.0"; sha256="0962qm8ak0wpqld8nrb8rvvb78743zfrfsq2xrwdlql681j2nv8c"; depends=[httr raster rgdal rgeos sf sp]; };
   quickmatch = derive2 { name="quickmatch"; version="0.2.1"; sha256="1qfslhjlbjpzigz8n6b7w41g8pwdiwri091ivd5igp1xy5pv8a3w"; depends=[distances sandwich scclust]; };
-  quickpsy = derive2 { name="quickpsy"; version="0.1.5"; sha256="0r1xjcx02p0fsgfcd2h0dxcagzxxan405cjwh8sjdgi5p01jrym8"; depends=[DEoptim dplyr ggplot2 MPDiR]; };
+  quickpsy = derive2 { name="quickpsy"; version="0.1.5.1"; sha256="0dfqlpghnw79idw3ir03cxx9n88sqs5p14jz7jgpkdwvjpw1y4q9"; depends=[DEoptim dplyr ggplot2 MPDiR]; };
   quickregression = derive2 { name="quickregression"; version="0.2"; sha256="1z0sspi8q7dvgxqbj5na56v458pv6jhxrssnm6j23156dchgw39h"; depends=[car]; };
   quiddich = derive2 { name="quiddich"; version="1.0.0"; sha256="10kiyn1all58klyygmz6zw0w9nfl9vq19qybmkqh410rd5ryjz3p"; depends=[ape]; };
   quietR = derive2 { name="quietR"; version="0.1.0"; sha256="1f923dllhchgf49bp2d9186v3cxzdya6i56ww6cj0n0mh8gfi27z"; depends=[]; };
@@ -11666,8 +12147,8 @@ in with self; {
   quokar = derive2 { name="quokar"; version="0.1.0"; sha256="1qnl3x1aa665xpyb3ac07xrnnjdwbmj645p103144k5is5b8likc"; depends=[ald ALDqr bayesQR dplyr ggplot2 GIGrvg gridExtra knitr magrittr MCMCpack purrr quantreg robustbase tidyr]; };
   quotedargs = derive2 { name="quotedargs"; version="0.1.3"; sha256="11cswg9bmddsl1axxcdz11flq46p1zkpv022526f2vgl4qsprwbm"; depends=[]; };
   qut = derive2 { name="qut"; version="2.1"; sha256="1wkk4c4f10a1whrspr5yalp7flcxckzxlx187ymmpnz7qcncz619"; depends=[flare glmnet lars Matrix]; };
-  qvcalc = derive2 { name="qvcalc"; version="1.0.0"; sha256="1x8ywx0vzssvjk99a7hp4razcvnggd7bhpgqn14zg74w07fmjgvc"; depends=[]; };
-  qwraps2 = derive2 { name="qwraps2"; version="0.4.1"; sha256="0p1fc9h2c6ax3iz6dw03ljr394sbj1p9j2wsd26anc1pr047jy25"; depends=[dplyr ggplot2 knitr magrittr Rcpp RcppArmadillo rlang tidyr]; };
+  qvcalc = derive2 { name="qvcalc"; version="1.0.1"; sha256="1wr5zivnfwscrzhw9myc5llpac0xjkz51s6hravjhflmp8s8lm7k"; depends=[]; };
+  qwraps2 = derive2 { name="qwraps2"; version="0.4.2"; sha256="14h9xwv6x5lci17hg048a6n0cp3d2rif4v0g7dr05w504h157kw9"; depends=[dplyr ggplot2 knitr magrittr Rcpp RcppArmadillo rlang tidyr]; };
   r_blip = derive2 { name="r.blip"; version="1.1"; sha256="1p33g6i6fq9c27d5ix9nd8prv90i4hrf91x34bldlw8041sjqxm0"; depends=[bnlearn foreign]; };
   r_jive = derive2 { name="r.jive"; version="2.1"; sha256="0l0bhhp6bdc84pzxi7gnsxx3scycw0zahrnc496wx3j43np9hlsg"; depends=[abind gplots SpatioTemporal]; };
   r2d2 = derive2 { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
@@ -11677,12 +12158,12 @@ in with self; {
   r2pmml = derive2 { name="r2pmml"; version="0.23.0"; sha256="1md7fzx7yc6b3plflcq4c109v2plhvb1a6dg628bhyiicjs1s83c"; depends=[]; };
   r2stl = derive2 { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; };
   r4lineups = derive2 { name="r4lineups"; version="0.1.1"; sha256="1p0dnrp21zx1l9lqx01jnq54d5ppb8siibv47i4gsp7c7db9ymxc"; depends=[boot dplyr ggplot2 ggrepel here magick magrittr pROC psych purrr]; };
-  r4ss = derive2 { name="r4ss"; version="1.24.0"; sha256="1kifzfg2zx6lq2c8qqbhb096z1wgdayhg5qzx5hnkwpn05w5cma3"; depends=[coda corpcor gplots gtools maps pso truncnorm]; };
+  r4ss = derive2 { name="r4ss"; version="1.36.1"; sha256="03xin7avdbg5ayrcdbw5rx9sh6ingjq2kv3405h01vqf1jhkfsxk"; depends=[coda corpcor gdata gplots gtools kableExtra pso truncnorm]; };
   r511 = derive2 { name="r511"; version="0.1.1"; sha256="1njsnjf0746cv6x7fznq4cg556fczqcfawwb869r3w9zv0zj1iy9"; depends=[assertthat dplyr httr tibble xml2]; };
   r6extended = derive2 { name="r6extended"; version="0.1.2"; sha256="1kq1j5rx57053mslj8jx1s0wjvhis7x3y264zw44q4k2x48q9wxs"; depends=[digest hellno magrittr R6]; };
   rARPACK = derive2 { name="rARPACK"; version="0.11-0"; sha256="12h2y46xcfldhjdmm960swgn9b23zvkj5vg2bi42s9qxwgi02d63"; depends=[RSpectra]; };
   rAltmetric = derive2 { name="rAltmetric"; version="0.7.0"; sha256="1vbvjv273vg3pi30vxxa2bivlajfsbqrzflk3payp6ym9myi27mg"; depends=[httr jsonlite rlist]; };
-  rAmCharts = derive2 { name="rAmCharts"; version="2.1.10"; sha256="1yp45ppg8hwnh3l6f394b0x29jw997mqii83mbv821b6i2p9whgp"; depends=[data_table htmltools htmlwidgets knitr pipeR yaml zoo]; };
+  rAmCharts = derive2 { name="rAmCharts"; version="2.1.12"; sha256="16ha5f21xlvpk59sxrwks5l5bsw4ldz0psgs0l2sq7cz144qls5f"; depends=[data_table htmltools htmlwidgets knitr pipeR yaml zoo]; };
   rAverage = derive2 { name="rAverage"; version="0.5-8"; sha256="09yap3qv02k5nidi6a4png9xa5yy7cb8hg8s2dq99wnc88s42d26"; depends=[]; };
   rAvis = derive2 { name="rAvis"; version="0.1.4"; sha256="0svplnrn8rrr59v04nr1pz7d5r4dr1kdl0bd3kg8c3azxv47mxbp"; depends=[gdata maptools raster RCurl rgdal scales scrapeR sp stringr XML]; };
   rBayesianOptimization = derive2 { name="rBayesianOptimization"; version="1.1.0"; sha256="194j445nirvvkz880ax0zw2q1mkiy0khdfjl7bwiwj8knhhvkrhw"; depends=[data_table foreach GPfit magrittr]; };
@@ -11698,11 +12179,12 @@ in with self; {
   rDEA = derive2 { name="rDEA"; version="1.2-5"; sha256="1wsi2dkq9izvbhdqmd4qk8i277r1j38dk59fcmnxnwqvk6ar6nrb"; depends=[maxLik slam truncnorm truncreg]; };
   rDNAse = derive2 { name="rDNAse"; version="1.1-1"; sha256="0cl51q61kwvdsm5f49cjjbzggqam1fnr6gp15cmy6m2yahyxg1lk"; depends=[]; };
   rDotNet = derive2 { name="rDotNet"; version="0.9.1"; sha256="18cd5373pdfi1x958llb4cgjqdi1fb7h7m5nkdwcd4xw9hxhinzd"; depends=[Rcpp testthat]; };
-  rEDM = derive2 { name="rEDM"; version="0.7.2"; sha256="1k7i8idn3aybkwld0093ixkn7ijqfrgqprgan5a9xmipp4divla4"; depends=[Rcpp RcppEigen]; };
+  rEDM = derive2 { name="rEDM"; version="0.7.3"; sha256="1k5k5qpm5icgsdl859my9gx3p27fldlbbcsdzr378aaqg351pvqx"; depends=[Rcpp RcppEigen]; };
   rEMM = derive2 { name="rEMM"; version="1.0-11"; sha256="0ynjn10gcmxs8qnh6idb34ppmki91l8sl720x70xkzcqpahy0nic"; depends=[cluster clusterGeneration igraph MASS proxy]; };
-  rENA = derive2 { name="rENA"; version="0.1.6.1"; sha256="1j1nli1mk737ksy6j499vyi0lblwyrr7h28rmpiriy0w9hh54dh1"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppEigen RcppParallel scales]; };
+  rENA = derive2 { name="rENA"; version="0.2.0.0"; sha256="0hr45rcd756fny7sk79p2sav34jdnrc67887jgncm4jwh3bd9d6l"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppParallel scales]; };
   rERR = derive2 { name="rERR"; version="0.1"; sha256="1ymf0v3r2sv9m72c19csk38fy5kmld3i18jh06rir5kxkb5l245p"; depends=[dplyr ggplot2 numDeriv plyr reshape2 survival]; };
   rFDSN = derive2 { name="rFDSN"; version="0.0.0"; sha256="1ffiqpdzy4ipy2aci22zkih4373ifkjkpvsrza8awhyf9fwqwdsl"; depends=[XML]; };
+  rFIA = derive2 { name="rFIA"; version="0.1.1"; sha256="0yd20kgcr3lszqx63ihg05lkpnw80xlnarn4lq96yay93icmarx8"; depends=[bit64 data_table dplyr gganimate ggplot2 progress sf sp stringr tidyr]; };
   rFSA = derive2 { name="rFSA"; version="0.9.1"; sha256="14qpxmzy4vy1fydn8yqh1001mqrgv1i67ai42w61dkk0d4m75z60"; depends=[hashmap tibble]; };
   rFerns = derive2 { name="rFerns"; version="3.0.0"; sha256="0z12201y1b9d3rd02k4y64hpnlrgkg7pi1jpzsh1br4pchdf7rrm"; depends=[]; };
   rGammaGamma = derive2 { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
@@ -11721,11 +12203,11 @@ in with self; {
   rLDCP = derive2 { name="rLDCP"; version="1.0.2"; sha256="0k7zc1xyqmcl7070hhpqw1d2k1ij6bd4wjym8cw263pds2n7nx21"; depends=[XML]; };
   rLTP = derive2 { name="rLTP"; version="0.1.4"; sha256="04w432m03xwh0szshsrfw5h7wy43q4lj8z0y07k8w6gsf27cy5bx"; depends=[RCurl]; };
   rLakeAnalyzer = derive2 { name="rLakeAnalyzer"; version="1.11.4.1"; sha256="1bwg8mzddsc39km85b41bxp2hwqmb4g5a3010f6yp1qlgcb9rmj1"; depends=[plyr]; };
-  rLandsat = derive2 { name="rLandsat"; version="0.1.1"; sha256="0zbmd36fs2rwdw4x2aphp44q3abyh4zj3dvx9z6jbkgwlsxvck0v"; depends=[dplyr httr jsonlite RCurl readr stringr svMisc]; };
   rLiDAR = derive2 { name="rLiDAR"; version="0.1.1"; sha256="1w0yi4ygw0l9ydbllqjylp30d401bsf7b6fng6qg3pssbi9v3kln"; depends=[bitops deldir geometry plyr raster rgl sp spatstat]; };
   rLindo = derive2 { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
   rMEA = derive2 { name="rMEA"; version="1.1.0"; sha256="1aarnik0qjxg6h55xpskx1dwkp78nfdyrwpy9r6ffyxhz9jbplnj"; depends=[]; };
   rMR = derive2 { name="rMR"; version="1.1.0"; sha256="0da1hclfnnlkp9by6zf2p079643p8nimplr9p3ipbjdy739j344z"; depends=[biglm]; };
+  rMVP = derive2 { name="rMVP"; version="0.99.17"; sha256="1ddnvpi5m3z52z0prcsi9bd2cp2axgl7nry50rmgxjfv7nal61bl"; depends=[BH bigmemory MASS Rcpp RcppArmadillo RcppEigen RcppProgress]; };
   rMouse = derive2 { name="rMouse"; version="0.1"; sha256="0pzxasap5kwxqq36mb4zi139jllsl4vk06dw2pv9xnwdxiszr3gp"; depends=[rJava]; };
   rNMF = derive2 { name="rNMF"; version="0.5.0"; sha256="1nz6h0j5ywdh48m0swmhp34hbkycd7n13rclrxaw85qi9wc42597"; depends=[knitr nnls]; };
   rNOMADS = derive2 { name="rNOMADS"; version="2.4.1"; sha256="0qag0riwkrzgybwfbhpkapjcf7ccqrqa4j8zqh3xx0548k8mm37l"; depends=[fields GEOmap MBA RCurl rvest stringr uuid XML]; };
@@ -11739,10 +12221,11 @@ in with self; {
   rQCC = derive2 { name="rQCC"; version="0.19.8.2"; sha256="091c53jggq3k9sf48pnds8s4kkqia6x268lbkb2fx88b408i0iny"; depends=[]; };
   rRAP = derive2 { name="rRAP"; version="1.1"; sha256="1nzvs8bjkbjraa33azxf9mrxsxh87qhh3qlldrcs5y4fq4ancyqb"; depends=[lars lassoshooting MASS]; };
   rSCA = derive2 { name="rSCA"; version="3.0"; sha256="1ka8p1slqb3a9hfc8z4j7v90k0wn6y35vmwxqaf8jlgwfhhc1v9f"; depends=[]; };
-  rSEA = derive2 { name="rSEA"; version="1.0.1"; sha256="0a1lx1x2xd05a07qbqg5d1v21fqqknlmrl9gbjg3k6wmydxwcly8"; depends=[hommel]; };
+  rSEA = derive2 { name="rSEA"; version="2.1.0"; sha256="0zym2kg7vzi61xiglwr3dw5kvavjqcgjj56219aqyclkqrnf67rc"; depends=[hommel]; };
   rSFA = derive2 { name="rSFA"; version="1.04"; sha256="0gd6ji1ynbb04rfv8jfdmp7dqnyz8pxcl5636fypd9a81fggl0gs"; depends=[MASS]; };
   rSHAPE = derive2 { name="rSHAPE"; version="0.3.2"; sha256="0z6dizsxlkmaymbd24b1m1i8kmndcf21nxxnyfzq6gvdii7bal4h"; depends=[abind DBI doParallel evd foreach RSQLite sn VGAM]; };
-  rSPARCS = derive2 { name="rSPARCS"; version="0.0.4"; sha256="1w2w5gx82dd4s0zbqk376195svs0z9f9cgx8zcy7gig94ilbrv5l"; depends=[data_table foreign geosphere plyr raster sp spatialEco tigris]; };
+  rSPARCS = derive2 { name="rSPARCS"; version="0.0.7"; sha256="0z9l7d03r5qxnnl9as2dl1z8r8a28qbwp8n69sxrnd7rffcwm17l"; depends=[data_table geosphere plyr raster sp spatialEco tigris]; };
+  rSPDE = derive2 { name="rSPDE"; version="0.4.6"; sha256="1fdk7mhrkp5r7lr9rn9wz1rbxinrr8yvfcss9ky8namp7f65vwa1"; depends=[Matrix]; };
   rSQM = derive2 { name="rSQM"; version="1.3.14"; sha256="0m69n2pnfv2085dln6p149a5gw0gif9xk00xmad5s9j68hwjdmym"; depends=[dplyr EcoHydRology ggplot2 gsubfn mise ncdf4 qmap reshape2 stringr yaml zoo]; };
   rSymPy = derive2 { name="rSymPy"; version="0.2-1.2"; sha256="0jdl8ss3dbgjqrmmppb0ix1gqk9g28pbh6w5sybil046ic83s13i"; depends=[rJython]; };
   rSymbiota = derive2 { name="rSymbiota"; version="1.0.0"; sha256="0dld8li5b8ylhdmll6iz5pk4pxh2dk37hbx0458jn0zhd4fl1cm7"; depends=[crayon dplyr ggplot2 Hmisc httr knitr magick maps mapview RCurl RSelenium rvest rworldmap sf sp stringr sys treemap XML xml2]; };
@@ -11750,19 +12233,21 @@ in with self; {
   rTableICC = derive2 { name="rTableICC"; version="1.0.7"; sha256="1z896675kmm9p5dnmcnsz2205ynf05laqcxvlc9y0g5i0x8rf8v6"; depends=[aster partitions]; };
   rTensor = derive2 { name="rTensor"; version="1.4"; sha256="08i94vvk5i25j40dwn497svgrmz90iwzp6qgiir37wgvx355xwzr"; depends=[]; };
   rTephra = derive2 { name="rTephra"; version="0.1"; sha256="045f2sp2j4hiwa9k1vs6cxr59x1yr34jq1z2crasxflsxbwa3xz8"; depends=[]; };
+  rTorch = derive2 { name="rTorch"; version="0.0.3"; sha256="1v7zvjkbllcjria7slv958bpwv1r0p3li2i8wq55hgm7g7iyfz1j"; depends=[data_table jsonlite logging R6 reticulate rstudioapi]; };
   rUnemploymentData = derive2 { name="rUnemploymentData"; version="1.1.0"; sha256="0p5hba8iv060szp23s05hvpmwan518ykakm6vqzdcki0inxw0hyv"; depends=[choroplethr rvest stringr]; };
   rWBclimate = derive2 { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr jsonlite plyr reshape2 rgdal sp]; };
   rWind = derive2 { name="rWind"; version="1.1.3"; sha256="1q9f7mrjks7nb9lgkmi6w774dz479d2hhzhns0v0mrllmv9nck1s"; depends=[gdistance lubridate Matrix raster]; };
-  rWishart = derive2 { name="rWishart"; version="0.1.1"; sha256="1zv35l2nvwwidx5zxfh7a4jgiaq2mqk69xf974994k1ksfvibkmi"; depends=[lazyeval MASS Matrix]; };
+  rWishart = derive2 { name="rWishart"; version="0.1.2"; sha256="0wzijc454mrvmggb7a5jqwjbmk0kzr4bmy0iwniz5cn343pr1rri"; depends=[lazyeval MASS Matrix]; };
   rYoutheria = derive2 { name="rYoutheria"; version="1.0.3"; sha256="1r63ggy4knwzxnpjkmsn7zwmwfaznm8mmxl7r9ph10wz4sblgygl"; depends=[plyr RCurl reshape2 RJSONIO]; };
   rabhit = derive2 { name="rabhit"; version="0.1.1"; sha256="010ayd8hyk02gwpnpa06n2rymxl1hy3j4jm5cn4x2xl3mj2kzg8h"; depends=[alakazam cowplot data_table dendextend dplyr ggdendro ggplot2 gridExtra gtable gtools htmlwidgets plotly RColorBrewer reshape2 rlang stringi tidyr tigger]; };
   rabi = derive2 { name="rabi"; version="1.0.0"; sha256="1ljs6wgdw045q1acdmci5b3p8qxhhm4d6bdj64nha76fnq2rr76x"; depends=[numbers polynom shiny stringdist]; };
+  raceland = derive2 { name="raceland"; version="1.0.3"; sha256="0gd5x3k1mdk6s1svgv9vgy2bzml6qg74rfr6p009g2bkbxpcjydy"; depends=[comat fasterize plotwidgets raster Rcpp RcppArmadillo sf]; };
   radar = derive2 { name="radar"; version="1.0.0"; sha256="1wh5j3cfbj01jx2kbm9ca5cqhbb0vw7ifjn426bllm4lbbd8l273"; depends=[]; };
   radarBoxplot = derive2 { name="radarBoxplot"; version="1.0.0"; sha256="16s38yy984mb1hmsdw17z4nk2z4xg03xi0yrp7445yqv3fs1fghl"; depends=[]; };
   radarchart = derive2 { name="radarchart"; version="0.3.1"; sha256="0gcxnbgj8ja1m4wzhbjy67m6zphf0c5ni9yx7sr7f0abm03ry753"; depends=[htmltools htmlwidgets]; };
   radiant = derive2 { name="radiant"; version="0.9.9.1"; sha256="18zj6lbs04vqslm4zgga6fvm868a0m55sk45kj5vl46jadb6a52f"; depends=[r_import radiant_basics radiant_data radiant_design radiant_model radiant_multivariate shiny]; };
   radiant_basics = derive2 { name="radiant.basics"; version="1.0.0"; sha256="188dzsr8lwbam9hvvwqgcf08aj4ja04fvfcw315g4jy1nbhbvg33"; depends=[dplyr ggplot2 gridExtra magrittr psych r_import radiant_data scales shiny tidyr]; };
-  radiant_data = derive2 { name="radiant.data"; version="1.0.0"; sha256="0b35jn4mcj10hqra18l8pi6s4pvj6fxipslbn6hkr4zza1z27gzw"; depends=[base64enc broom car curl dplyr DT ggplot2 glue gridExtra jsonlite knitr lubridate magrittr markdown plotly psych r_import readr readxl rlang rmarkdown rstudioapi scales shiny shinyAce shinyFiles stringi tibble tidyr writexl]; };
+  radiant_data = derive2 { name="radiant.data"; version="1.0.6"; sha256="08x7zasxf429m021482p86lx3zc6dqz2mih0id8s34isg4gafapg"; depends=[base64enc broom car curl dplyr DT ggplot2 glue gridExtra jsonlite knitr lubridate magrittr markdown plotly psych r_import readr readxl rlang rmarkdown rstudioapi scales shiny shinyAce shinyFiles stringi tibble tidyr writexl]; };
   radiant_design = derive2 { name="radiant.design"; version="0.9.9"; sha256="1d5ds24b7mp8xad5pgzvjr17akr7p8m6w0ryd5fkwylnfgnhznrb"; depends=[AlgDesign dplyr mvtnorm polycor pwr r_import radiant_data shiny]; };
   radiant_model = derive2 { name="radiant.model"; version="1.0.0"; sha256="14zk2yl40694kyri5wr7czc2ymwqa68n7jzk6j1a28l7cbgs8xfx"; depends=[car data_tree DiagrammeR dplyr e1071 ggplot2 gridExtra lubridate magrittr NeuralNetTools nnet psych r_import radiant_basics radiant_data rlang rpart sandwich shiny stringr tidyr yaml]; };
   radiant_multivariate = derive2 { name="radiant.multivariate"; version="0.9.9.1"; sha256="154q06vbj13y15rz2apvy521gda8jh66yhr87kqvlv9mh2k9ws2h"; depends=[car dplyr ggplot2 ggrepel Gmedian GPArotation gridExtra magrittr MASS psych r_import radiant_data radiant_model rlang scales shiny]; };
@@ -11774,16 +12259,14 @@ in with self; {
   radmixture = derive2 { name="radmixture"; version="0.0.1"; sha256="0rs60xjd43lg5c9972qhpg6bsqfg2578qvrz7gz3bdip10jb1ryj"; depends=[magrittr MCMCpack plyr quadprog]; };
   radsafer = derive2 { name="radsafer"; version="2.0.1"; sha256="0qzd7zzflyr5gzk1ad3wwn8mxrzijzv9fnj76q43qb1mgr4d5sww"; depends=[dplyr ggplot2 magrittr RadData readr rlang stringr]; };
   rafalib = derive2 { name="rafalib"; version="1.0.0"; sha256="1dmxjl66bfdgrybhwyaa8d4i460liqcdw8b29a6w7shgksh29m0k"; depends=[RColorBrewer]; };
-  ragg = derive2 { name="ragg"; version="0.1.2"; sha256="0bb6sa8zs42p5p4hcyip89rlgyzymzfdr7n7bxfyb61l2aj5x9db"; depends=[systemfonts]; };
+  ragg = derive2 { name="ragg"; version="0.1.3"; sha256="116dmzy81y3r4jpbv7gqx76y33rgrsdzklr0vhblzsph52a59i7m"; depends=[systemfonts]; };
   rags2ridges = derive2 { name="rags2ridges"; version="2.2.1"; sha256="0xiv4dhzxbxy9bqjpz8rfrh0pzxbsnkg5wgz61c643slidgs0h0d"; depends=[expm fdrtool ggplot2 graph gRbase Hmisc igraph RBGL Rcpp RcppArmadillo reshape RSpectra sfsmisc snowfall]; };
   ragt2ridges = derive2 { name="ragt2ridges"; version="0.3.2"; sha256="03613amz11ixgkjhc8rg4vp3ih60g1ibhdjrldr9mazzkak46y91"; depends=[abind expm fdrtool igraph MASS Matrix mvtnorm rags2ridges Rcpp RcppArmadillo]; };
   ragtop = derive2 { name="ragtop"; version="1.1.0"; sha256="1gz4hdfb4yxjqcmclxw2yacpk0km29n3gfpqkcj48wr1s6vv7djb"; depends=[futile_logger limSolve]; };
   rai = derive2 { name="rai"; version="1.0.0"; sha256="0qimfzchbrarkwmv3mxxbdgvqzk16sc8m1h140zm0cnfgr2pvi5p"; depends=[dplyr ggplot2 readr rlang]; };
-  railtrails = derive2 { name="railtrails"; version="0.1.1"; sha256="1hi55rcxmr7k3na3rpjqmd5fpgn51bymrp7yxmw45ff7mlzpa5h6"; depends=[tibble]; };
   rainbow = derive2 { name="rainbow"; version="3.6"; sha256="11vfcck17d2xjc049ci5i8l1nqv345anmd110gdz7654i1pj9lb3"; depends=[cluster colorspace hdrcde ks MASS pcaPP]; };
   raincpc = derive2 { name="raincpc"; version="0.4"; sha256="0yzpyidvf24frf82pj7rarjh0ncm5dhm0mmpsf2ycqlvp0qld10i"; depends=[SDMTools]; };
   rainfarmr = derive2 { name="rainfarmr"; version="0.1"; sha256="1gasnmyjnis6vv0krx6299ck2a6v9v1fgqajzqdpjaz2fsxn245i"; depends=[]; };
-  rainfreq = derive2 { name="rainfreq"; version="0.3"; sha256="0985ck2bglg22gfj7m0hc7kpk0apljsbssf1ci99mgk47yi8fk9v"; depends=[RCurl SDMTools]; };
   rakeR = derive2 { name="rakeR"; version="0.2.1"; sha256="0cd89q6k0y9z1qk9k06iw56lhj4c52ckr0g4qv6q95lkyrbi3qg8"; depends=[ipfp wrswoR]; };
   ramchoice = derive2 { name="ramchoice"; version="1.1"; sha256="1im9r95109919hfmici6avdqxh3a375wmg2lfy75z1gjivvcygbr"; depends=[MASS]; };
   ramcmc = derive2 { name="ramcmc"; version="0.1.0-1"; sha256="0x8q0bah8fcyqlwap9iw52xhl6b989va5c144kgmfimh2b4yinc7"; depends=[Rcpp RcppArmadillo]; };
@@ -11799,30 +12282,31 @@ in with self; {
   random = derive2 { name="random"; version="0.2.6"; sha256="0sdhagwjlhldb8hn6h4nd1sflzhwkapzybdlb8hzisy3w2ygjn9b"; depends=[curl]; };
   random_polychor_pa = derive2 { name="random.polychor.pa"; version="1.1.4-2"; sha256="1ybwfn3hdwisxjn85vqrib1zhk8dcddbarbwjdf1vn27ih3c4h2c"; depends=[boot MASS mvtnorm nFactors psych sfsmisc]; };
   randomForest = derive2 { name="randomForest"; version="4.6-14"; sha256="0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l"; depends=[]; };
-  randomForestExplainer = derive2 { name="randomForestExplainer"; version="0.9"; sha256="0gqqm3784krl6xdx7j6xvvyi2rjbyi6c8shm44yvq59is5i7fypc"; depends=[data_table dplyr DT dtplyr GGally ggplot2 ggrepel MASS randomForest reshape2 rmarkdown]; };
-  randomForestSRC = derive2 { name="randomForestSRC"; version="2.9.1"; sha256="1vylj5mdhy11nda644yn7mdz9kf64a9zz8j317y5n1jmzvx4fyii"; depends=[]; };
+  randomForestExplainer = derive2 { name="randomForestExplainer"; version="0.10.0"; sha256="08j4mj6r595kzkrgkvjhkda9x6w275nmnvmmhmyk0knq2p2g7p2r"; depends=[data_table dplyr DT GGally ggplot2 ggrepel randomForest ranger reshape2 rmarkdown]; };
+  randomForestSRC = derive2 { name="randomForestSRC"; version="2.9.2"; sha256="0x3d9sycrn4yfsdx8b543d1jnrw7i0klsvapvzx7c9hbr83vq3vq"; depends=[]; };
   randomGLM = derive2 { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[doParallel foreach MASS]; };
   randomLCA = derive2 { name="randomLCA"; version="1.0-15"; sha256="10rx2ah50dcjxz5y492c59d3pn0dvlgjaxfdf8sknkf6s4pmwkis"; depends=[boot fastGHQuad lattice Matrix]; };
   randomNames = derive2 { name="randomNames"; version="1.4-0.0"; sha256="1kchngfjv53n32z2qjrplp2xmssl8gjx1y3m7bxsfq1wjzj52qf5"; depends=[crayon data_table toOrdinal]; };
   randomUniformForest = derive2 { name="randomUniformForest"; version="1.1.5"; sha256="1amr3m7h5xcb8gahrr58233chsnx1naf9x5vpjy9p5ivh71xcxf7"; depends=[cluster doParallel foreach ggplot2 gtools iterators MASS pROC Rcpp]; };
-  randomcoloR = derive2 { name="randomcoloR"; version="1.1.0"; sha256="0sirxgrf7xf470d7lls45c698l6c078hqjkjcswmwz6kphykrzhg"; depends=[cluster colorspace Rtsne scales stringr V8]; };
+  randomcoloR = derive2 { name="randomcoloR"; version="1.1.0.1"; sha256="0rqh1zrdza12qq7475f77yvryhh4hj0pg25lb8ywrcljgaj53bnb"; depends=[cluster colorspace Rtsne scales stringr V8]; };
   randomizationInference = derive2 { name="randomizationInference"; version="1.0.3"; sha256="0x36r9bjmpx90fz47cha4hbas4b31mpnbd8ziw2wld4580jkd6mk"; depends=[matrixStats permute]; };
-  randomizeBE = derive2 { name="randomizeBE"; version="0.3-4"; sha256="1x1lh1rrw7ma2wls0dflz18lk9h0qdy9gb11af95hqpabqc85rd7"; depends=[]; };
-  randomizeR = derive2 { name="randomizeR"; version="1.4.2"; sha256="0jv0mc40cy4w17jrsb2023l7k7cnzl9czdigl4shq9nx67mccdwx"; depends=[ggplot2 plotrix]; };
-  randomizr = derive2 { name="randomizr"; version="0.18.0"; sha256="115c8wzimblc9vd7m9wn530l8saarg3595758b8rlkz7dhds5rpk"; depends=[]; };
+  randomizeBE = derive2 { name="randomizeBE"; version="0.3-5"; sha256="08yfdrf56i8php48ycilc79jk7ms0f6k40swg56mccnqm2yb3b12"; depends=[]; };
+  randomizeR = derive2 { name="randomizeR"; version="2.0.0"; sha256="1bcdh245lh5a2yim00m2cgcmlcjm2vyba813026v0a4c42gr3b8x"; depends=[ggplot2 plotrix survival]; };
+  randomizr = derive2 { name="randomizr"; version="0.20.0"; sha256="0dljyfldnardaps3fq6vi5wcs9x6qfaq5apapa78c51lnaa6fn9h"; depends=[]; };
   randomsearch = derive2 { name="randomsearch"; version="0.2.0"; sha256="0ywr4ms66p5nmq8bzy04gbvmpp0nhfyf8rvynhr2c4alqva9x3yi"; depends=[checkmate fs parallelMap ParamHelpers smoof]; };
-  randquotes = derive2 { name="randquotes"; version="0.1.0"; sha256="1rpcmxkpq8lgfzrjaipf5x573gm6rc31c9fafghiy99c0iphf46w"; depends=[curl jsonlite xml2]; };
+  randquotes = derive2 { name="randquotes"; version="0.1.1"; sha256="0fj9vx0c4059511wka7ip30yz87y144pz7ny840gp72qm73pp8li"; depends=[curl httr jsonlite xml2]; };
   randstr = derive2 { name="randstr"; version="0.2.0"; sha256="17593lbk6r089yasafd21i3v90ya9n92rflpzl0qicd2kqqk2gdh"; depends=[random stringi truncnorm]; };
   randtests = derive2 { name="randtests"; version="1.0"; sha256="03z3kxl4x0l91dsv65ld9kgc58z82ld1f4lk18i18dpvwcgkqk82"; depends=[]; };
   randtoolbox = derive2 { name="randtoolbox"; version="1.30.0"; sha256="141p13ajgzmb2s89rlac7zrra92mi1izvpfrngb4kqzlf3igdsqd"; depends=[rngWELL]; };
   rangeBuilder = derive2 { name="rangeBuilder"; version="1.4"; sha256="1jjy1d3kljysm3mqgdszdi6incbmg2di63akxswfaiqcp1m68a6y"; depends=[alphahull cleangeo pbapply raster Rcpp rgdal rgeos sp stringi]; };
-  rangeMapper = derive2 { name="rangeMapper"; version="0.3-5"; sha256="1y34b23mayx8h12lvgv4dvnv009pvs145xh1csnzvg15x4s2z6fa"; depends=[classInt data_table doFuture foreach future future_apply ggplot2 gridExtra lattice magrittr maptools raster RColorBrewer rgdal rgeos RSQLite sp]; };
+  rangeMapper = derive2 { name="rangeMapper"; version="0.3-7"; sha256="0b457qxlhwcnsw9x60mccvivq7a5cg7lkyfmsfva7qaipnjixcmh"; depends=[classInt data_table doFuture foreach future future_apply ggplot2 gridExtra lattice magrittr maptools raster RColorBrewer rgdal rgeos RSQLite sp]; };
   rangeModelMetadata = derive2 { name="rangeModelMetadata"; version="0.1.2"; sha256="1d31nz2izppkj0zsm6iq74py5s7zg4w3vvjjxzbzprnj2x6r9zlw"; depends=[biomod2 dismo dplyr ecospat ENMeval googlesheets jsonlite MASS raster rgbif rgdal rgeos shiny sp spatstat spocc spThin]; };
   rangemodelR = derive2 { name="rangemodelR"; version="1.0.4"; sha256="0y8hdqi04n3pc3iwz82gikn61h42bmfi7iccwgbglk8wkrkg4gy0"; depends=[]; };
   ranger = derive2 { name="ranger"; version="0.11.2"; sha256="1sxyzxmjc6lm8wcmq15j6sscnza7aay4mr3dyri2zngx6fa8mb0k"; depends=[Matrix Rcpp RcppEigen]; };
   rankFD = derive2 { name="rankFD"; version="0.0.3"; sha256="0cqvr01hbq3cz2zxmysl2k88wfckyvnlsdk8ypdxdkap4gavnvqv"; depends=[coin lattice MASS Matrix]; };
   rankdist = derive2 { name="rankdist"; version="1.1.4"; sha256="1xqrkss8d5vv3blqpvrvdczsygphbx259hy9j7w9b2ahssw8cjr5"; depends=[hash optimx permute Rcpp]; };
   rankhazard = derive2 { name="rankhazard"; version="1.1.0"; sha256="0kljn9b74alrd22b5pwfnamdbaqi2wa2z6yzpmgpfs3x0hv72fw7"; depends=[survival]; };
+  rapbase = derive2 { name="rapbase"; version="1.10.0"; sha256="0x1xr0qw5qq9rsas3ysxlvmim3jhkf5za4lxr6f15vx4rjfx77wv"; depends=[DBI devtools digest gistr httr knitr magrittr readr RJDBC RMariaDB sendmailR shiny yaml]; };
   rapiclient = derive2 { name="rapiclient"; version="0.1.2"; sha256="072rlr7z9rj4agkzmy12cz4axh4pajavfd83lpcx2b1lgxpj6ck4"; depends=[httr jsonlite]; };
   rapidjsonr = derive2 { name="rapidjsonr"; version="1.1"; sha256="0h4phjjhykbb45rg5b1xn48vqxdcvcngbm0416ds8in7j469wbwd"; depends=[]; };
   rapidraker = derive2 { name="rapidraker"; version="0.1.0"; sha256="17jzkzm5hvd8vcqql40bwl89sfgz8yicvi0753nzgkmbvanzjhjx"; depends=[openNLPdata rJava slowraker]; };
@@ -11834,16 +12318,17 @@ in with self; {
   rare = derive2 { name="rare"; version="0.1.1"; sha256="0j78ilswiaxdp9107psiw8ibxncd7i81z2njhfqf0n7532pbvjss"; depends=[glmnet Matrix Rcpp RcppArmadillo]; };
   rareGE = derive2 { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
   rareNMtests = derive2 { name="rareNMtests"; version="1.1"; sha256="13r2hipqsf8z9k48ha5bh53n3plw1whb7crpy8zqqkcac8444b2z"; depends=[vegan]; };
-  rarhsmm = derive2 { name="rarhsmm"; version="1.0.7"; sha256="0pvqa6f0ib1jb0rwc6wv6hfinncb21v2g0y0hsy5l33gdagjw2sz"; depends=[glmnet Rcpp RcppArmadillo]; };
   rasciidoc = derive2 { name="rasciidoc"; version="2.0.0"; sha256="1bqabjr8h0ldhmf7mirk0fkv6nrv80zrm2vrx836ib5cxb2hw1yv"; depends=[document highr knitr]; };
   rasclass = derive2 { name="rasclass"; version="0.2.2"; sha256="1lsmv8kh519mz3szb4k9s17fz1480cw0i4qk12givhhm2rpzjy50"; depends=[car e1071 nnet randomForest RSNNS]; };
   rase = derive2 { name="rase"; version="0.3-3"; sha256="03jqf5y5vj354m9psp81wzw6d7dfqr76bfjqv9kannsakkj587sy"; depends=[ape mvtnorm polyCub rgl sm spatstat]; };
-  raster = derive2 { name="raster"; version="2.9-23"; sha256="1brqigic8ygr223bp2hgk5qjz3q03r4sfglrv4an0ghy7fgfralh"; depends=[Rcpp sp]; };
-  rasterImage = derive2 { name="rasterImage"; version="0.3.0"; sha256="0csx7wqwxdsddypd1c9wv74gcyymasn9n6pn05a35j6xhqbk2zp3"; depends=[plotrix]; };
+  raster = derive2 { name="raster"; version="3.0-7"; sha256="0faxv71hlxkblvbi3ps1vfzm3wwi0brwzmpsr5114bddcqyiqkvn"; depends=[Rcpp sp]; };
+  rasterImage = derive2 { name="rasterImage"; version="0.4.0"; sha256="191m5k1rbbwziznmxbsq4g55afkw8gb5011i70f3wx3dscr3phxz"; depends=[plotrix]; };
   rasterKernelEstimates = derive2 { name="rasterKernelEstimates"; version="1.0.1"; sha256="1733ic1hxym3gyibk2ysy5zzq7s9rbf6jx63x7irnrcavq151f8s"; depends=[raster]; };
   rasterList = derive2 { name="rasterList"; version="0.5.8"; sha256="0q7apglxzpah04463z07cpkzyd6l6dbbdhm601brzh6yk75z20vh"; depends=[raster]; };
   rasterVis = derive2 { name="rasterVis"; version="0.46"; sha256="0lzjqkm22qfcmzgnjv9k9b49hx9xa3vjwcl9935a5kjqsn57ipdy"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp viridisLite zoo]; };
   rasterize = derive2 { name="rasterize"; version="0.1"; sha256="18nrhmq1qmi05rkyr86xsyc8nz0fbdpf2d45h62bbfzbfynqd4qy"; depends=[png]; };
+  rasterly = derive2 { name="rasterly"; version="0.1.0"; sha256="128699nc1y2parfwqfx31afdy3f91z5iarpx8q1v5qfmbmb12ppx"; depends=[data_table ggplot2 magrittr plotly Rcpp rlang]; };
+  rasterpdf = derive2 { name="rasterpdf"; version="0.1.1"; sha256="0zi54nifbb4dzb29i8rskynblw3z42vzaykwbq30ia5zs9q1bvm5"; depends=[png]; };
   ratelimitr = derive2 { name="ratelimitr"; version="0.4.1"; sha256="06x759jxr5zcnvg9q120n5bpipkb16piw15kxrpk7i918mby889b"; depends=[assertthat]; };
   ratematrix = derive2 { name="ratematrix"; version="1.2.1"; sha256="0hbwfgwkkd5a83f3nqk5gdyiqbpzsgshvcjcslaz73si05zsrkgs"; depends=[ape coda corpcor ellipse geiger MASS mvMORPH phylolm Rcpp RcppArmadillo readr]; };
   rateratio_test = derive2 { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
@@ -11855,9 +12340,12 @@ in with self; {
   rattle_data = derive2 { name="rattle.data"; version="1.0.2"; sha256="0cnmyzvy23jc4vz521c3jg0w4165waycvy5014l5773fy19zq75c"; depends=[]; };
   raustats = derive2 { name="raustats"; version="0.1.0"; sha256="0wyq45v4d5gyrn2zbn0qj7wm4a0jh0xjlp6wzzpdiy2w3c9xwx5z"; depends=[dplyr httr jsonlite lubridate readxl rvest tidyr xml2]; };
   raw = derive2 { name="raw"; version="0.1.6"; sha256="0hnqwa9pwj3k2y0bs6hxrvbwksjyq0q6m73c9hhlafg8g3lkyxnf"; depends=[]; };
+  rawr = derive2 { name="rawr"; version="0.1.0"; sha256="1a8r1vyvki3z2ms4miqv6wq9pzympgifsjx0pzzs6f4b40m083lq"; depends=[dplyr jsonlite rvest xml2]; };
   raws_profile = derive2 { name="raws.profile"; version="0.1.0"; sha256="04f7wk7x9j3rb6nn3zqss9vw0h9a4vpcjyilc2vqy0fm2by41xkg"; depends=[stringr tibble withr]; };
-  rayshader = derive2 { name="rayshader"; version="0.11.5"; sha256="1sycybfpw0d5d7f2579047jr60vay26hzqlvj8a5c9czdyrvlcxs"; depends=[doParallel foreach ggplot2 imager magrittr png progress raster Rcpp RcppArmadillo rgl scales]; };
+  rayrender = derive2 { name="rayrender"; version="0.4.2"; sha256="070h6p7dmai0rrdiyghr97i3jn9yj86ak74zvw019b6g50rid6h6"; depends=[assertthat magrittr png progress purrr raster Rcpp RcppThread tibble]; };
+  rayshader = derive2 { name="rayshader"; version="0.13.1"; sha256="0szwa07kyakgyd0cgj9fl9v7szchi8bqg2j2v8pqmxzs6i103qhr"; depends=[doParallel foreach ggplot2 imager magrittr png progress raster rayrender Rcpp RcppArmadillo rgl scales]; };
   rbacon = derive2 { name="rbacon"; version="2.3.9.1"; sha256="0gnvi0aaw4yyg1cvrdyps2590gx1lwcjl21y4q9zn3k00mnwmc12"; depends=[coda Rcpp]; };
+  rbamtools = derive2 { name="rbamtools"; version="2.16.17"; sha256="0qj37ljdva3v29s01dkrbg31mcfzy3bl145cp40d54v4h9xhcghc"; depends=[refGenome]; };
   rbart = derive2 { name="rbart"; version="1.0"; sha256="1byfm1ycw9nfhdblqklyn8pxn6b9q5fa3inbgfpynqpsid97ig35"; depends=[Rcpp]; };
   rbefdata = derive2 { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[RColorBrewer RCurl rjson rtematres wordcloud XML]; };
   rbenchmark = derive2 { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
@@ -11866,15 +12354,16 @@ in with self; {
   rbi = derive2 { name="rbi"; version="0.10.2"; sha256="158yi9d8pxgb5b1x1qpjzrfnq673vmsbmgm00w0dbk03akcvlfzc"; depends=[data_table ncdf4 processx reshape2]; };
   rbi_helpers = derive2 { name="rbi.helpers"; version="0.3.1"; sha256="0hngqbdydvvp4zmicvnnmwz3fw6pjvgdxp7h80zk1qczid2yg4x5"; depends=[data_table lubridate Matrix rbi reshape2]; };
   rbin = derive2 { name="rbin"; version="0.1.1"; sha256="1rbwm5xc61sva1m3n5hd9vsh7gm4hamswny35zm7j0fyc4v4bzxz"; depends=[DescTools dplyr forcats ggplot2 glue magrittr miniUI purrr recipes rlang rstudioapi shiny tibble]; };
-  rbiouml = derive2 { name="rbiouml"; version="1.8"; sha256="0qvc896sf6idczbxix3klf56paxf0wpfbmga8qqlcyjasv1dsdql"; depends=[RCurl RJSONIO]; };
+  rbiouml = derive2 { name="rbiouml"; version="1.9"; sha256="01ysjq49nhawp0r2by7b15s4b7bzsbn2xhdcyyrh38vrl04rpf57"; depends=[RCurl RJSONIO]; };
   rbison = derive2 { name="rbison"; version="0.8.0"; sha256="0x2yiq1wvm6mzmhfa3ds8mmhidv91hxi14nhz4nib6nmna3c9al2"; depends=[crul data_table dplyr ggplot2 jsonlite mapproj plyr sp]; };
   rbit = derive2 { name="rbit"; version="1.0.0"; sha256="09ywr711gv0vgfims2vfcxk3rnd0iadzlksil0q9159yarapfc59"; depends=[R6]; };
   rbitcoinchartsapi = derive2 { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RCurl RJSONIO]; };
-  rblt = derive2 { name="rblt"; version="0.2.4.3"; sha256="0s205cyhndcs3gjyh311fii9pmckp5mp4w9sagdpa4qsjh5x1hx4"; depends=[data_table dygraphs h5 shiny xts]; };
+  rblt = derive2 { name="rblt"; version="0.2.4.4"; sha256="0psxv9rrbyk4j4nh60fwcn67xk2czhyzdjvjn52256ag192z6lms"; depends=[data_table dygraphs h5 shiny xts]; };
   rbmn = derive2 { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
   rbokeh = derive2 { name="rbokeh"; version="0.5.0"; sha256="1lpbph6bhh9rf5rs0ivp8dchx8i8ylz5nr7xc2xv9bnwlwj35729"; depends=[digest ggplot2 gistr hexbin htmlwidgets jsonlite lazyeval magrittr maps pryr scales]; };
   rbounds = derive2 { name="rbounds"; version="2.1"; sha256="1h334bc37r1vbwz1b08jazsdrf6qgzpzkil9axnq5q04jf4rixs3"; depends=[Matching]; };
   rbraries = derive2 { name="rbraries"; version="0.1.0"; sha256="12vdci4rzjvd419nxh99hpkhjlx86nsmrbjca0am5q0rkc68dgmj"; depends=[crul data_table fauxpas jsonlite tibble]; };
+  rbridge = derive2 { name="rbridge"; version="1.0"; sha256="1ggak2rp20vs3zzpl86yaa9dkxxwmnznbzxcy4wzdgsllmfij628"; depends=[dplyr Matrix Rcpp RcppArmadillo]; };
   rbtc = derive2 { name="rbtc"; version="0.1-6"; sha256="1z5p1jn5b0hzwcbdpiwj224h45x01bbsgkskllir5j13l416561p"; depends=[gmp httr openssl rjson]; };
   rbtt = derive2 { name="rbtt"; version="0.1.0"; sha256="1gbsb0vmqxcl28c5nn0rz95bxrvl7i0b17lq90cj5ahbk6x9jblz"; depends=[data_table]; };
   rbundler = derive2 { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
@@ -11898,14 +12387,14 @@ in with self; {
   rcicr = derive2 { name="rcicr"; version="0.3.4.1"; sha256="1sa13sbhx64cf8szr2811iq4a1asb8d3k0igxw6fbssij2lwbxzp"; depends=[aspace dplyr jpeg matlab scales]; };
   rcites = derive2 { name="rcites"; version="1.0.1"; sha256="1rpalysmv0c7f23aj3k6h80cw9cmsv0vn82da07km5qfll5pis6y"; depends=[cli httr jsonlite]; };
   rcitoid = derive2 { name="rcitoid"; version="0.1.0"; sha256="11iqdj1q983w28fh17rqvmhs41ks09b24p408nl7hz4iqg9c7lpi"; depends=[crul curl fauxpas jsonlite]; };
-  rclimateca = derive2 { name="rclimateca"; version="1.0.2"; sha256="012p6vj78m43y8n85diaf5z11h4v0p4s898jmlipvsha11q60csn"; depends=[digest dplyr httr lubridate magrittr mudata2 prettymapr purrr readr reshape2 rlang stringr tibble tidyr]; };
   rclipboard = derive2 { name="rclipboard"; version="0.1.2"; sha256="04vkxz2wqb3q3igjqgaaim3sb71h046c2b8rhvg51hkp1win8s5w"; depends=[shiny]; };
   rcmdcheck = derive2 { name="rcmdcheck"; version="1.3.3"; sha256="1d4kzgfqy72r6b7bn1j4znyksrycgypx1jjvpv9lrmvn37mpkdhs"; depends=[callr cli crayon desc digest pkgbuild prettyunits R6 rprojroot sessioninfo withr xopen]; };
-  rcompanion = derive2 { name="rcompanion"; version="2.2.2"; sha256="1jlyd4cgzksxw7sjhjdvl10vr741ybidml95qi2gwp2r3x3nw4a3"; depends=[boot coin DescTools EMT lmtest multcompView nortest plyr]; };
+  rcompanion = derive2 { name="rcompanion"; version="2.3.7"; sha256="19s39khwnlilqgrq7a0dxphw5d5nzrb5550db3c61j2m1fxvy15z"; depends=[boot coin DescTools EMT lmtest multcompView nortest plyr]; };
   rcoreoa = derive2 { name="rcoreoa"; version="0.3.0"; sha256="0z9kllhk1j7c4sgnd88ngxv7xvr396azg9vr9p6i72ficr7flr64"; depends=[crul hoardr jsonlite pdftools]; };
   rcorpora = derive2 { name="rcorpora"; version="2.0.0"; sha256="1b8xa81mn3afadz77576vda9b0d99f1k096drxrpqd989g993aqy"; depends=[jsonlite]; };
   rcosmo = derive2 { name="rcosmo"; version="1.1.1"; sha256="195cxjgkcgz9qx51hsg9bd2y7c96dk69c8yvy9s2w59jy9iy5i7y"; depends=[cli entropy FITSio geoR mmap nnls Rcpp rgl tibble]; };
   rcreds = derive2 { name="rcreds"; version="0.6.6"; sha256="1sdrdgn53kgcdnxfjs8jh0h538vb3b9ixz74lbnp54yp09jpqsri"; depends=[collectArgs digest jsonlite magrittr]; };
+  rcrimeanalysis = derive2 { name="rcrimeanalysis"; version="0.1.0"; sha256="17s5k0p24vgy34gp213sxy7d7fd3fl8zyhiibszm2z81aknpszz8"; depends=[dplyr forecast ggmap htmltools igraph KernSmooth leaflet lubridate raster rgdal sp]; };
   rcrossref = derive2 { name="rcrossref"; version="0.9.2"; sha256="1383xlwy3vj08hhghx5zsy0890zsm402x9hdqzs5x5q7mxkqdwjq"; depends=[bibtex crul dplyr DT jsonlite miniUI plyr R6 shiny stringr xml2]; };
   rcrtan = derive2 { name="rcrtan"; version="0.1.1"; sha256="0kcp3gnjmp00i1hsjagpp0dlr6zgpc4y5ihpx93hm4m3fnzcmn7x"; depends=[dplyr magrittr purrrlyr tibble tidyr]; };
   rcrypt = derive2 { name="rcrypt"; version="0.1.1"; sha256="002r5wr0bmqbj014iz8wacj883j6gqcxc786m6p9a7zdrjpx2pqi"; depends=[]; };
@@ -11916,7 +12405,7 @@ in with self; {
   rda = derive2 { name="rda"; version="1.0.2-2.1"; sha256="1y4fawslr3i6crjaxhsdb47kfsqkyszdx6avq3r5far5a4pvc639"; depends=[]; };
   rdatacite = derive2 { name="rdatacite"; version="0.4.2"; sha256="0ix2z8xrnv16qwnwhil7d0zr9bnzhhgd3i7r4m9xylayj80r0pcd"; depends=[crul jsonlite oai solrium]; };
   rdataretriever = derive2 { name="rdataretriever"; version="2.0.0"; sha256="0gnvvxvlfh6j887y5w83q5kg6lqqcb0c54lfcx9qp3r28hpdlxkz"; depends=[reticulate]; };
-  rdbnomics = derive2 { name="rdbnomics"; version="0.4.7"; sha256="1qbng6hml3nafs9vv1vrpaj0755di6bcxrzvp2ng9psh2yv0plz2"; depends=[curl data_table jsonlite]; };
+  rdbnomics = derive2 { name="rdbnomics"; version="0.5.0"; sha256="04zmipmkx8yr09q8kbdl4a76hly5yy3v67fcqny14xnx3iga3vja"; depends=[curl data_table jsonlite]; };
   rdd = derive2 { name="rdd"; version="0.57"; sha256="1lpkzcjd18x51wzr4d1prdjfsw5978z6zap65psfs02nszy69nqp"; depends=[AER Formula lmtest sandwich]; };
   rddapp = derive2 { name="rddapp"; version="1.1.0"; sha256="0zdm54hlxqp7r21fwdka33syjsrf6flrvwqm86hpwhg95880ixkk"; depends=[AER Formula lmtest R_utils sandwich shiny]; };
   rddensity = derive2 { name="rddensity"; version="1.0"; sha256="0v94izsghy35b33dq5b28p2lqs1fw1snyipdf9vgjz5s3qkzjkd8"; depends=[ggplot2 lpdensity]; };
@@ -11930,34 +12419,35 @@ in with self; {
   rdian = derive2 { name="rdian"; version="0.1.1"; sha256="0i4ljcqhmrwrqbhi321iffypxj4kndx47ssljnixr3fx2lmqh0q1"; depends=[curl httr]; };
   rdist = derive2 { name="rdist"; version="0.0.3"; sha256="1jp3s4293h973dpz0waq9abpd8ibp4gxdyk3bwn7a32zfpk4kjza"; depends=[Rcpp RcppArmadillo]; };
   rdiversity = derive2 { name="rdiversity"; version="1.2.1"; sha256="0j67b9mnq2xfbi2hrn1x9vgdv63779d0rcbzndljh37b1x5zlr22"; depends=[ape ggplot2 ggthemes phangorn phytools plyr reshape2 tibble tidyr]; };
-  rdlocrand = derive2 { name="rdlocrand"; version="0.4"; sha256="06cm6lsb4fzw26bip6l2ggpins5wp07lw7rnpr573klbwfnw5ksm"; depends=[AER sandwich]; };
-  rdmulti = derive2 { name="rdmulti"; version="0.2"; sha256="1sl677kaq5qr2m9nzxfslwzai7h07mdfqjjzrak2xbpgqa44288z"; depends=[rdrobust]; };
+  rdlocrand = derive2 { name="rdlocrand"; version="0.5"; sha256="1dadb3yazk9kn051rswq3568m77x44485l2268ahm0im6bj2i7al"; depends=[AER sandwich]; };
+  rdmulti = derive2 { name="rdmulti"; version="0.3"; sha256="0s65zpy4zlqzdg34wq1bf2g0r97iak3fscrik2p83p4ah4gf4raw"; depends=[rdrobust]; };
   rdnb = derive2 { name="rdnb"; version="0.1-3"; sha256="0g85masa1a2c26l12i6ck1hdjvm2saqdlqnwb2p29rm9spmc04qg"; depends=[brew httr stringr xml2]; };
   rdoc = derive2 { name="rdoc"; version="0.1.0"; sha256="0ac6413jyrr7m25z30n3bpiafsvjx38ik6rrjzsiqxrfp41j6l9x"; depends=[cli crayon prettycode R6]; };
   rdoxygen = derive2 { name="rdoxygen"; version="1.0.0"; sha256="16907969w66xvy62k45rw10qfv4x8z6jkkc6i97vppkgnlvf4d4b"; depends=[devtools]; };
   rdpla = derive2 { name="rdpla"; version="0.2.0"; sha256="0d32bp68z1agymcmjwnds4fkblhjrcx8i2q6f5b7sl4kdfdbjchf"; depends=[crul data_table hoardr jsonlite tibble]; };
-  rdpower = derive2 { name="rdpower"; version="0.3"; sha256="1jdr18xrnws07iczi1f52l3py9fhxgvpina230jyr713hz99hzm3"; depends=[rdrobust]; };
+  rdpower = derive2 { name="rdpower"; version="0.4"; sha256="050yy1zwkxniqails24nmmaglcmlx50niqqqw5sgqfyn64yxndk1"; depends=[rdrobust]; };
   rdrobust = derive2 { name="rdrobust"; version="0.99.4"; sha256="0ykz9lgkr95l6h7jk9k8k0yv26hd4iyvgr9j298l388ry9w1ph9w"; depends=[]; };
   rdrop2 = derive2 { name="rdrop2"; version="0.8.1"; sha256="1f4ysck58dm40k4wn9nfjaxym0mbgfkm146iidfkz7agmd1x0xyl"; depends=[assertive digest dplyr httr jsonlite magrittr purrr]; };
   rdryad = derive2 { name="rdryad"; version="0.4.0"; sha256="19ca618hymvpk5byrrglc6iidsgm6wn43fypspssa7b3r1c4xhdc"; depends=[crul curl data_table oai solrium tibble xml2]; };
-  rdtLite = derive2 { name="rdtLite"; version="1.1.0"; sha256="1kbvfyfah217z8pdr2i9c6wvkhxi28yjpy5mg70k6apiwf4lxd14"; depends=[curl digest ggplot2 gtools jsonlite knitr sessioninfo XML]; };
-  rdwd = derive2 { name="rdwd"; version="1.1.0"; sha256="1zx00bbfh0nqycs3h2f05kridikxqq59xaqkvbxv4rm827y8356x"; depends=[berryFunctions pbapply]; };
+  rdtLite = derive2 { name="rdtLite"; version="1.2"; sha256="1g4y8rsq7hy8kwradlmkmf4r309128mb3mfdyxjb24acazmaybyl"; depends=[curl digest ggplot2 gtools jsonlite knitr rmarkdown sessioninfo stringi XML]; };
+  rdwd = derive2 { name="rdwd"; version="1.2.0"; sha256="1vcw5pcvcw1rx6dwwwh9j9g2pb1m81g812abd5h8zq5n7plkd2jk"; depends=[berryFunctions pbapply]; };
   re2r = derive2 { name="re2r"; version="0.2.0"; sha256="0xv355h4bps4a0picxmi6i15niq4knlail80fp9xvszyn72pm8gq"; depends=[htmlwidgets Rcpp RcppParallel stringi]; };
   reGenotyper = derive2 { name="reGenotyper"; version="1.2.0"; sha256="13g4fhj25kdk6wbl1hcabcaxcpv0dj0hj2l502wl1aywk1fvmy8m"; depends=[gplots MatrixEQTL zoo]; };
-  reReg = derive2 { name="reReg"; version="1.1.6"; sha256="198vgf3294if9zmvl54pgx6ram63pswpjnh44fy7n60g8nza44bb"; depends=[BB dplyr ggplot2 MASS nleqslv plyr purrr SQUAREM survival tibble tidyr]; };
+  reReg = derive2 { name="reReg"; version="1.2.1"; sha256="0nfi02wlmb1n8j134qgv3p03z2j200kkrwhvd5i17ybhzpwfndri"; depends=[BB ggplot2 MASS nleqslv reda scam SQUAREM survival]; };
   reactR = derive2 { name="reactR"; version="0.4.1"; sha256="0fzx0qy9s366gd81xiz36k3v4d9sdsrrf3m5azlghvbvq5h42wxv"; depends=[htmltools]; };
+  reactable = derive2 { name="reactable"; version="0.1.0"; sha256="00ydsx8g27a40qwnkp593dd9pn62r32riry9ayhv3nzqa6mwzb4d"; depends=[digest htmltools htmlwidgets jsonlite reactR]; };
   reactlog = derive2 { name="reactlog"; version="1.0.0"; sha256="1pajxd9k208s06sava2gqip22pzwlyslnfvkbkfw47mp4wb7zmk9"; depends=[jsonlite]; };
   read_dbc = derive2 { name="read.dbc"; version="1.0.5"; sha256="1vrvxkcrk3iw5am9rsadxzf0wsr7z2mdpa5wb0v9jbhda710b4yf"; depends=[foreign]; };
   read_gb = derive2 { name="read.gb"; version="1.6"; sha256="17py6al9cwq4jmab7k2164f7hi8943gi8a50d8zpn1xms9l2cnld"; depends=[]; };
   readABF = derive2 { name="readABF"; version="1.0.1"; sha256="0w85v8dl337lsyfad3hxwavma1gnhi4wyszdj8npaz37y12nk2gy"; depends=[]; };
   readBrukerFlexData = derive2 { name="readBrukerFlexData"; version="1.8.5"; sha256="1qmimfxwh6d7s5qrnnk20i2f9l5j1ci3wpfs3qlmggz69jzf589m"; depends=[]; };
   readHAC = derive2 { name="readHAC"; version="1.0"; sha256="0z80ai6xfswwgdfh83l9sq279c97n0wz25bk2l7xfb6w0sndzq53"; depends=[]; };
-  readJDX = derive2 { name="readJDX"; version="0.3.250"; sha256="0h7yfc0y4b67rhh949zknqyjx0jknsld1099y9x563a5lhzwrchv"; depends=[stringr]; };
+  readJDX = derive2 { name="readJDX"; version="0.4.29"; sha256="0hy8lcy8n2qf17b5q7q67mmv23m155nd9dcnlpgvzcr6hsify78q"; depends=[stringr]; };
   readMLData = derive2 { name="readMLData"; version="0.9-7"; sha256="0l752j1jq37j9pdcsbmcb23b5l8fkfsbisfr3yjy3q4rxsphc7k6"; depends=[XML]; };
   readMzXmlData = derive2 { name="readMzXmlData"; version="2.8.1"; sha256="03lnhajj75i3imy95n2npr5qpm4birbli922kphj0w3458nq8g8w"; depends=[base64enc digest XML]; };
   readODS = derive2 { name="readODS"; version="1.6.7"; sha256="1nvkhjv3i6l7d15v2abxg4141hrgv2jmc4agxi2d0wv6j1fc1ya1"; depends=[cellranger readr stringi xml2]; };
   readOffice = derive2 { name="readOffice"; version="0.2.2"; sha256="0dg7fwxdl41nrjqnxvh9rpz0la99iid0wy51gncjwrh3s85fj2ks"; depends=[magrittr purrr rvest xml2]; };
-  readabs = derive2 { name="readabs"; version="0.4.0"; sha256="0qf35milmxjawx5qahjra1ixj3i0xvwv93wzxbpmmzyxk4jphf3k"; depends=[curl dplyr purrr readr readxl rsdmx stringr tibble tidyr XML]; };
+  readabs = derive2 { name="readabs"; version="0.4.2"; sha256="08lkddcfvb3j4nlkbnqwxb7w7a95hklfgky6jhlk119r1czb5ycd"; depends=[curl dplyr purrr readr readxl rsdmx stringr tibble tidyr XML]; };
   readbitmap = derive2 { name="readbitmap"; version="0.1.5"; sha256="14825906l326w59g6apy00j55jg3h5kx2r6s031f4gdkbrc7szbk"; depends=[bmp jpeg png tiff]; };
   readbulk = derive2 { name="readbulk"; version="1.1.2"; sha256="0341sp9jqqci62zx6my4r50dwrysgjppjasx2lf1dj8w5bv559rd"; depends=[jsonlite plyr]; };
   reader = derive2 { name="reader"; version="1.0.6"; sha256="1x489q3ljap4zpny68mx83mgxaqiwlkglcy57whwhnh33dd7qp4h"; depends=[NCmisc]; };
@@ -11966,14 +12456,15 @@ in with self; {
   readobj = derive2 { name="readobj"; version="0.3.2"; sha256="0n25n02f5kn8zv90n2xzdasjnrqisl4n5szb667jw57v40b726cw"; depends=[Rcpp]; };
   readr = derive2 { name="readr"; version="1.3.1"; sha256="1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k"; depends=[BH clipr crayon hms R6 Rcpp tibble]; };
   readroper = derive2 { name="readroper"; version="0.9.1"; sha256="153iy144c4yxcs2cwr73czy69b4fj4q1g77rb8qmvp6blfwdcd71"; depends=[readr]; };
-  readsdmx = derive2 { name="readsdmx"; version="0.2.2"; sha256="1ja6fpjsbx5jzv9ys12wkcn3jrj8a2gnxpbswqk6ppckryi9hnp7"; depends=[Rcpp]; };
+  readsdmx = derive2 { name="readsdmx"; version="0.3.0"; sha256="188yzkjblbjly032312w0fazj7k7j4ynqfc69xpblnw4gs708sx0"; depends=[Rcpp]; };
   readstata13 = derive2 { name="readstata13"; version="0.9.2"; sha256="02mqwpzn7n3pqjxivnd1vlfc47xkyiywfz594x0f6vd2dym8rdwd"; depends=[Rcpp]; };
   readtext = derive2 { name="readtext"; version="0.75"; sha256="0xbl4q3y4kzigr6rgqb04sq1xqddfzqivkjmbd0v5sfammrhla8n"; depends=[antiword data_table digest httr jsonlite pdftools readODS readxl streamR stringi striprtf tibble xml2]; };
+  readthat = derive2 { name="readthat"; version="0.0.1"; sha256="04vnpvfa8in3gxi6nv3si59hr8hj17wq3a5n8rnpiaczg46qr1dr"; depends=[curl Rcpp]; };
   readwritesqlite = derive2 { name="readwritesqlite"; version="0.0.2"; sha256="064imgjl197avdsjhqvlg9yzgsp4p4yisvk62l6arcnkixwlz086"; depends=[checkr DBI dttr2 err hms RSQLite sf tibble units]; };
   readxl = derive2 { name="readxl"; version="1.3.1"; sha256="15mambxr8c7k2ikdfsl1w3vxvm54dsnk0cl1qvks6iig7rql3d14"; depends=[cellranger progress Rcpp tibble]; };
-  realestateDK = derive2 { name="realestateDK"; version="0.1.0"; sha256="02y3c2zww9jakh9a0jqxkgcwshjz1hd5mw63603hyic7q4a07iv3"; depends=[statsDK]; };
+  readxlsb = derive2 { name="readxlsb"; version="0.1.2"; sha256="0vm1hl8rjmcly6wkq06x9q5yswcdxasdc66xgpvhvw8mf0q6rlkd"; depends=[cellranger Rcpp xml2]; };
   reams = derive2 { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
-  rebird = derive2 { name="rebird"; version="1.0.0"; sha256="0gp8afj6y3vss2b11v0fqyc3ai67kilicr4fnk5zghljfvbxsxm8"; depends=[assertthat dplyr httr jsonlite]; };
+  rebird = derive2 { name="rebird"; version="1.1.0"; sha256="0l1wignhs4hsy0yshr9gh9mwy8h794injkl5f7flkl1m4c39rz8w"; depends=[assertthat dplyr httr jsonlite]; };
   rebmix = derive2 { name="rebmix"; version="2.10.3"; sha256="0yhazicibq8h2d7ldv59isapc6f68psawa3vrs1fdzwkrraj6893"; depends=[mvtnorm]; };
   rebus = derive2 { name="rebus"; version="0.1-3"; sha256="0ms3dm6g0fq3jycpgjl7q7kyljxc97cczy2jj0lyviwmipdgjg9d"; depends=[rebus_base rebus_datetimes rebus_numbers rebus_unicode]; };
   rebus_base = derive2 { name="rebus.base"; version="0.0-3"; sha256="1n2khszcya9k6379bdkq47xi2nw9jngiwj7z8a14wfswqydczv6y"; depends=[]; };
@@ -11982,33 +12473,31 @@ in with self; {
   rebus_unicode = derive2 { name="rebus.unicode"; version="0.0-2"; sha256="185313wh4zpp6addfdr78pjhxzazlfwgsddwk02zrzblf4iwzjdm"; depends=[rebus_base]; };
   recexcavAAR = derive2 { name="recexcavAAR"; version="0.3.0"; sha256="0b91jbgqzkgzvk658ckk639yyz1daa0xql3qgl0kzgqg68d53x20"; depends=[kriging Rcpp]; };
   rechonest = derive2 { name="rechonest"; version="1.2"; sha256="0vpff8q5p6in7vjyl62bx3wmksravcg4mpx20qlgy5ia47vyhqp2"; depends=[httr jsonlite RCurl]; };
-  recipes = derive2 { name="recipes"; version="0.1.6"; sha256="1ndz9h0zvdj141r63l8047wbhaj0x8fwzzyq7b8mh78pvrrdpq2i"; depends=[dplyr generics glue gower ipred lubridate magrittr Matrix purrr rlang tibble tidyr tidyselect timeDate withr]; };
+  recipes = derive2 { name="recipes"; version="0.1.7"; sha256="1gw8x7vqj7k18mfpiqinyfwzv9i5r0pb51k7xcfxsjap6m9nks98"; depends=[dplyr generics glue gower ipred lubridate magrittr Matrix purrr rlang tibble tidyr tidyselect timeDate withr]; };
   reclin = derive2 { name="reclin"; version="0.1.1"; sha256="15qrdgjmclffivnljgmmipws9ks41fj4q40wnq0fk14mbv2045g2"; depends=[dplyr ldat lpSolve lvec Rcpp stringdist]; };
   recluster = derive2 { name="recluster"; version="2.8"; sha256="05g8k10813zbkgja6gvgscdsjd99q124jx31whncc4awdsgk69s4"; depends=[ape cluster phangorn phytools picante vegan]; };
   recmap = derive2 { name="recmap"; version="1.0.5"; sha256="1xl2j6zjk1vyf2zz8zcl4532k0c1jkrjqhp3vndnl5ynqr5nqlph"; depends=[GA Rcpp sp]; };
   recoder = derive2 { name="recoder"; version="0.1"; sha256="0wh0lqp7hfd4lx2xnmszv1m932ax87k810aqxdb6liwbmvwqnfgd"; depends=[stringr]; };
   recombinator = derive2 { name="recombinator"; version="1.0.1"; sha256="1dbsqig2jjp3zypcqxf9c2brb09pv6xikmh6fhz5vgxy5wkyivks"; depends=[crayon]; };
-  recommenderlab = derive2 { name="recommenderlab"; version="0.2-4"; sha256="1bpnag4sizqn9r6m5p3w3p8sv1r1jb7y9hz92v3bryrbl8z93fkp"; depends=[arules irlba Matrix proxy registry]; };
+  recommenderlab = derive2 { name="recommenderlab"; version="0.2-5"; sha256="1mhs7yniabpbjpq7w04jfrzng3apz2lcg5izjk8hjnl5pww684hk"; depends=[arules irlba Matrix proxy recosystem registry]; };
   recommenderlabBX = derive2 { name="recommenderlabBX"; version="0.1-1"; sha256="042yh0h8qxj7n9hysrfdxnpb3g0zb6s5b683s7hn5mjc55q7nn4g"; depends=[recommenderlab]; };
   recommenderlabJester = derive2 { name="recommenderlabJester"; version="0.1-2"; sha256="0kr9xc2gih2myn1a8h8dxxmdhibv1sjwjsvlrj9d5hvd1mgfhks5"; depends=[recommenderlab]; };
   reconstructr = derive2 { name="reconstructr"; version="2.0.2"; sha256="0pzpd2l1b6y1b1lnd95lpc5s8niz7p56vkmxgyi6g6b25vh9c2vi"; depends=[openssl Rcpp]; };
   recorder = derive2 { name="recorder"; version="0.8.2"; sha256="1j3fqqp5vi8z3hxqgb887v9r8x0cl5jikiyx3c7arwna7k89215a"; depends=[crayon data_table]; };
   recosystem = derive2 { name="recosystem"; version="0.4.2"; sha256="1bn6l23gqmfpr6w60ph7zgv53vy3vnq9zdy5x0a8n1yp6b0lw48x"; depends=[Rcpp RcppProgress]; };
-  recurse = derive2 { name="recurse"; version="1.1.0"; sha256="1zgzzhbvdzqgmgzj43yvpyc7ahbkn96l5wyr1iqpnn3ha78fy0p3"; depends=[Rcpp]; };
   red = derive2 { name="red"; version="1.4.0"; sha256="1z8ja8qbwgpbmy4ira9q6x482nw5rm4bksm82y0vc4gwpdxls5z3"; depends=[BAT dismo geosphere jsonlite maptools raster rgdal rgeos sp]; };
   redR = derive2 { name="redR"; version="1.0.1"; sha256="0bd1jzjip6p449m9ysi4kybxqljh2wj8z9mrgyk1cy08bjivd1cd"; depends=[imager]; };
-  reda = derive2 { name="reda"; version="0.4.1"; sha256="0aq6c2h694kdmjis12g4nxq5hdlzsi42nbnpzq7wic305l5r7nxl"; depends=[ggplot2 Rcpp RcppArmadillo splines2]; };
+  reda = derive2 { name="reda"; version="0.5.0"; sha256="05lbhamd8z0bhc7cvpd24nmgsc5lfzidjynbi0dzbvkn2gphpdzs"; depends=[ggplot2 Rcpp RcppArmadillo splines2]; };
   redcapAPI = derive2 { name="redcapAPI"; version="2.2"; sha256="0bszw9px7ddcwnc1p3zpd8426mwym5369hglz3qm5x92va1j4036"; depends=[checkmate chron DBI httr labelVector lubridate readr stringr tidyr]; };
   reddPrec = derive2 { name="reddPrec"; version="0.4.0"; sha256="0zmkaiivvjq8mcaz310zgjjc7y0wgsqv29bf8nhli5qawaczvb9a"; depends=[fields snowfall]; };
   redist = derive2 { name="redist"; version="1.3-3"; sha256="18asjam8hvayvnfysyjzbazjn27ds7163qhdq0p9aqlx03v89aa9"; depends=[coda doParallel foreach Rcpp RcppArmadillo sp spdep]; };
-  redland = derive2 { name="redland"; version="1.0.17-10"; sha256="0k28896jsxy1qxnn6iyx3xxasq4y171xfjragqkj568nn9lmzfi8"; depends=[roxygen2]; };
+  redland = derive2 { name="redland"; version="1.0.17-11"; sha256="1xbzz6iv4yal1gwplnb9d4z0xzrv25hnqmr6ima2aq9mirwr1l5b"; depends=[roxygen2]; };
   redlistr = derive2 { name="redlistr"; version="1.0.3"; sha256="003jxfmj1gryw77vnrvaxmpvjbshlq53wgcrj02mcywfcqzg4jcr"; depends=[plyr raster rgeos sp]; };
   redshiftTools = derive2 { name="redshiftTools"; version="1.0.1"; sha256="0rg9s9i7cdy2qm45bpm50d7859pqx1kmk4m8gpazkp0kgr7alb7l"; depends=[aws_s3 DBI progress purrr]; };
   redux = derive2 { name="redux"; version="1.1.0"; sha256="0a551w7fph338mqzxda6y21lsad19dway7w18jw9cv1rgvcp9nvc"; depends=[R6 storr]; };
   ref_ICAR = derive2 { name="ref.ICAR"; version="1.0"; sha256="0k6czsbjclgmi7vp5hl50jghkzm573s50993iz3dcv55mv662251"; depends=[coda MCMCglmm mvtnorm Rdpack rgdal spdep]; };
   refGenome = derive2 { name="refGenome"; version="1.7.7"; sha256="1za89bn3am1zgvm641qi1ab6kaqpll4rb9p9f1sjwvcgqq6065g5"; depends=[DBI doBy RSQLite]; };
   referenceIntervals = derive2 { name="referenceIntervals"; version="1.1.1"; sha256="04199nxh216msaghkp66zsi96h76a7c42ldml0fm66v2vamcslg8"; depends=[boot car extremevalues outliers]; };
-  refimpact = derive2 { name="refimpact"; version="1.0.0"; sha256="0qifqhar2pv81npsxl2pj713vgldyap7y79fq20jpk7qigzf9573"; depends=[checkmate curl httr jsonlite tibble xml2]; };
   refinr = derive2 { name="refinr"; version="0.3.1"; sha256="0q76sr050pg3ahwzcxj08mjig0k2jq8yh7nv6d914pwg3dhq05sn"; depends=[Rcpp stringdist stringi]; };
   refnr = derive2 { name="refnr"; version="0.1.0"; sha256="1gjjzxpyxm1kf1pqk99bd7f2j85rzmww3r1268bccivf19rs881i"; depends=[]; };
   refset = derive2 { name="refset"; version="0.1.1"; sha256="1xbwvm9066g3f7pd34z5jh04vph4ddy2lkcgmf4kiwa1k5czpwg1"; depends=[]; };
@@ -12026,14 +12515,13 @@ in with self; {
   regplot = derive2 { name="regplot"; version="0.2"; sha256="0j2mra5fqcixyl4wqwpzfng98rdh4xnl79ka7ilfi0jvz2jix84x"; depends=[beanplot sm survival vioplot]; };
   regpro = derive2 { name="regpro"; version="0.1.1"; sha256="02axbq63hsqwg3q2ixr0lpsdai9q6wj57s5k1343q9m0pw90vr73"; depends=[denpro]; };
   regress = derive2 { name="regress"; version="1.3-15"; sha256="1cgr0r49cmr8nzs2lr2cm8lli1i8azyas0lbnf1681kyab15c0r7"; depends=[]; };
-  regressoR = derive2 { name="regressoR"; version="1.1.7"; sha256="01qgl58vgq9dp7588dkfd2rd1417h0zgqr32jjw41ksgy12gpx0g"; depends=[colourpicker corrplot dplyr DT e1071 flexdashboard gbm ggplot2 glmnet htmltools kknn neuralnet pls randomForest rattle ROCR rpart shiny shinyAce shinydashboardPlus shinyjs shinyWidgets xgboost zip]; };
+  regressoR = derive2 { name="regressoR"; version="1.1.8"; sha256="1a8whcr32sjv6lncch8y1n7xs44djm3nx90lpvh8z8r5ggc8bw21"; depends=[colourpicker corrplot dplyr DT e1071 flexdashboard gbm ggplot2 glmnet htmltools kknn neuralnet pls randomForest rattle ROCR rpart shiny shinyAce shinydashboardPlus shinyjs shinyWidgets xgboost zip]; };
   regrrr = derive2 { name="regrrr"; version="0.1.0"; sha256="0h9vag1ypf5ycvz5fbfvw4nh4l8dgn2kmsgzq9kmn7hw2qsjwbbl"; depends=[dplyr ggplot2 magrittr MuMIn purrr rlang robustbase scales spatstat stringr tidyr usdm]; };
-  regsel = derive2 { name="regsel"; version="0.2"; sha256="0wwwpawqsqimaldy0zxnqsy23nwp30ypa5dnrnndwhbs4qz99c9w"; depends=[elasticnet glmnet]; };
   regsem = derive2 { name="regsem"; version="1.3.9"; sha256="1klml4bp76mplipxaca7fk653cjxgdmmiciksxgiglxkzmf2bdps"; depends=[lavaan Rcpp RcppArmadillo Rsolnp]; };
   regspec = derive2 { name="regspec"; version="2.4"; sha256="18i6k2wqaddrc0dz7v8x3s9205dcfwanqhpnxa9hkpyqzbb17pd3"; depends=[]; };
   regsubseq = derive2 { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
   regtest = derive2 { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; };
-  regtools = derive2 { name="regtools"; version="1.0.1"; sha256="0807r8721qmdl8ahvlzcvqaq2rfvlvhblwbwdpi79fm7dk8vvq1i"; depends=[car dummies FNN mvtnorm]; };
+  regtools = derive2 { name="regtools"; version="1.1.0"; sha256="1kia4h4bwjjfq7jm57ihdgspbqfn683ssbzngp5r069ki931h3nb"; depends=[dummies FNN mvtnorm sandwich]; };
   rehh = derive2 { name="rehh"; version="3.0.1"; sha256="061nk9xmlbllisszpscfpa95653745v645jm3qls1cp42d73rz6k"; depends=[rehh_data]; };
   rehh_data = derive2 { name="rehh.data"; version="1.0.0"; sha256="1jkvwmnnmfa7iyvrabgcfzw3vfzx0dlgq47s6yf4zayi437v4di0"; depends=[]; };
   rehydratoR = derive2 { name="rehydratoR"; version="0.5.2"; sha256="1d94m9hv1l72l9lph2vzbq4qqbfcgyhv2qk82p9vb8l2ckavjzvv"; depends=[dplyr jsonlite rtweet tibble]; };
@@ -12048,8 +12536,7 @@ in with self; {
   relabeLoadings = derive2 { name="relabeLoadings"; version="1.0"; sha256="16gxdrhkaaa33hypnsacn4vd1g3lbqdl3j8p8va54v777c561g81"; depends=[]; };
   relaimpo = derive2 { name="relaimpo"; version="2.2-3"; sha256="0pbffalyhmfigyynkl6il60dyyf2aw1i71sncwrqcp18qgx4bxq9"; depends=[boot corpcor MASS mitools survey]; };
   relatable = derive2 { name="relatable"; version="1.0.0"; sha256="0147gin6dn76gg7gassar64f0w2gny1sh0k60v7914qhb4sj4s7i"; depends=[compare]; };
-  relations = derive2 { name="relations"; version="0.6-8"; sha256="0zld95ak07g3gqgjq80p18sww2ib5xg45idrvhxjvn19wddy87vz"; depends=[cluster sets slam]; };
-  relaxnet = derive2 { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; };
+  relations = derive2 { name="relations"; version="0.6-9"; sha256="0vq4wawj9k3a9n70i7y6c7k2jylmyczsi6iqssydn5z5h48m15fj"; depends=[cluster sets slam]; };
   relaxo = derive2 { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
   reldist = derive2 { name="reldist"; version="1.6-6"; sha256="09vips7spcz0fahrpy0bl15hk43zgnq74h189hmygyi41l95aywa"; depends=[Hmisc mgcv]; };
   relen = derive2 { name="relen"; version="1.0.1"; sha256="0br7c3j30a1yc61pyinmk5lvk8zw9rivd0z2096g6crgmbzix8ml"; depends=[]; };
@@ -12066,15 +12553,17 @@ in with self; {
   remote = derive2 { name="remote"; version="1.2.1"; sha256="1ihzjxbvas7396cwsi9am4pl94naxa9dnhbnh8k0l5p4a50mk33w"; depends=[gridExtra latticeExtra mapdata raster Rcpp scales]; };
   remoter = derive2 { name="remoter"; version="0.4-0"; sha256="1a7m63l8phv5jnazvdqdrqkaqjwqzaac5y4jm2jn0ypy4n8jvkfl"; depends=[argon2 getPass pbdZMQ png]; };
   remotes = derive2 { name="remotes"; version="2.1.0"; sha256="19v8dmnk9l4i9m64p7zgmj7y1vhnnwhi5kyn0k5d034zzkvchi49"; depends=[]; };
+  remss = derive2 { name="remss"; version="1.0.0"; sha256="0dl7iqg65qgafq7s1srcymqzvplkpzplpn6g68lb1mqirqzvgpqw"; depends=[survival]; };
   renpow = derive2 { name="renpow"; version="0.1-1"; sha256="0kbfpzr17fvf5zzxpzdhvfmrqmlkba2w3rzxl5q5ac1w3h75gfhc"; depends=[]; };
   rentrez = derive2 { name="rentrez"; version="1.2.2"; sha256="0ghrvh1czf2kbz7p5fh5c20wiwppg6x6fdns247fvlh6zmjl5jz5"; depends=[httr jsonlite XML]; };
+  renv = derive2 { name="renv"; version="0.8.3"; sha256="0034jlaq7z40q3hcpkjlaff37dpn46kvxvzw4scbwlw4x9q8sx9j"; depends=[]; };
   repeated = derive2 { name="repeated"; version="1.1.2"; sha256="19kcsj96i1zpnwfan3gz5vrzc2gqlah0wrdr9vb4vvacz45wcdfq"; depends=[rmutil]; };
   repec = derive2 { name="repec"; version="0.1.0"; sha256="0alr9fbmfxmnnnn1qymy65crcycynwz435jj0vangbb4p0qhv8pm"; depends=[jsonlite]; };
   repfdr = derive2 { name="repfdr"; version="1.2.3"; sha256="0jpk44arg1jib0h2w90h851bs5cd1ss32fab9bfvf9iir2jk8985"; depends=[Rcpp]; };
-  replicateBE = derive2 { name="replicateBE"; version="1.0.10"; sha256="0f9ws632b1gi5v3q0zxp94b30m4rzz6cg7p5vqbq88fsab1hm52a"; depends=[lmerTest nlme pbkrtest PowerTOST readxl]; };
+  replicateBE = derive2 { name="replicateBE"; version="1.0.12"; sha256="1vvl88vak56s2q96crr34q8lpwp0davpqysvzxrs5y1sswb6xb3b"; depends=[lmerTest nlme pbkrtest PowerTOST readxl]; };
   replicatedpp2w = derive2 { name="replicatedpp2w"; version="0.1-2"; sha256="0nskwkqm9z2aphpim6pvykhc3fphlsbap3r49nghkwjpngd0qzj8"; depends=[spatstat spatstat_utils]; };
   replicationInterval = derive2 { name="replicationInterval"; version="2.0.1"; sha256="1jyvyqr8r2fs1cmbz7zjcc8p116bnkslvx27pqi92y5pxgqvsqvr"; depends=[ggplot2 MASS MBESS pbapply]; };
-  replyr = derive2 { name="replyr"; version="1.0.4"; sha256="1vz2lw2b587c7yc2l9x2rx9wdb2l3nfr3cjv1jy0h4y9k5rmzfpg"; depends=[DBI dbplyr dplyr rlang wrapr]; };
+  replyr = derive2 { name="replyr"; version="1.0.5"; sha256="0k77rz0vwgyhdgvry3j2i290w1378fjjfkfrykb0b6wjs7pq4q4b"; depends=[DBI dbplyr dplyr rlang wrapr]; };
   repmis = derive2 { name="repmis"; version="0.5"; sha256="0z5mjbsl24yjbl0aawr35grcal44rf2xbwv1hy7bdkms94ix79b5"; depends=[data_table digest httr plyr R_cache]; };
   repo = derive2 { name="repo"; version="2.1.3"; sha256="1g72zvj2mg8cxfy1w3d46lkk4hayad64ns5w1y43731whzraxk95"; depends=[digest]; };
   repolr = derive2 { name="repolr"; version="3.4"; sha256="13kmy09c7lk8p1mkdss0krcsfb6d7zcnqpwnl38zkanvh8q3fqhm"; depends=[Matrix Rcpp RcppArmadillo]; };
@@ -12086,34 +12575,34 @@ in with self; {
   reporttools = derive2 { name="reporttools"; version="1.1.2"; sha256="1i87xmp7zchcb8w8g7nypid06l2439qyrvpwsjz6qny954w6fa2b"; depends=[xtable]; };
   repr = derive2 { name="repr"; version="1.0.1"; sha256="0jy43g34r38fqprcdys0p9pliahrj5l64a9bbkzy206qgz0j5ppc"; depends=[base64enc htmltools jsonlite pillar]; };
   represent = derive2 { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
-  represtools = derive2 { name="represtools"; version="0.1.2"; sha256="1zkabch49q23kd1786km5cb9wcaccbxds11v9hwjzsgrs15g5w35"; depends=[whisker]; };
+  represtools = derive2 { name="represtools"; version="0.1.3"; sha256="00hnvzkkcl9d3k115i5l9gs0wah5d11amn7q62m1j158lkqlcfza"; depends=[whisker]; };
   reprex = derive2 { name="reprex"; version="0.3.0"; sha256="0v7vxzs8alwz8y1cjicpimp5yimf1g9gb8x5wy3zhvrz6kk2lg10"; depends=[callr clipr fs rlang rmarkdown whisker withr]; };
   reproducer = derive2 { name="reproducer"; version="0.3.0"; sha256="0z0gkikr5219wb20hndqlflxar1mn3638zn2095ja0b2d1cn40nk"; depends=[dplyr GetoptLong ggplot2 gridExtra httr jsonlite lme4 magrittr MASS metafor openxlsx readr reshape stringr tibble tidyr xtable]; };
-  reproducible = derive2 { name="reproducible"; version="0.2.9"; sha256="1q7lvvz7sxd5a6248rzgyx3smqih0gjncz3y05qbmy77rpkv0h7x"; depends=[archivist backports crayon data_table digest dplyr fastdigest fasterize fpCompare gdalUtils git2r googledrive httr magrittr memoise quickPlot R_utils raster RCurl remotes rgdal rgeos rlang sf sp testthat versions]; };
+  reproducible = derive2 { name="reproducible"; version="0.2.11"; sha256="08pjmhhcgcrnrr8w6sdc3phz2ymp2b7gml0848f384blqkg9wavj"; depends=[archivist backports crayon data_table digest dplyr fastdigest fasterize fpCompare gdalUtils git2r googledrive httr magrittr memoise quickPlot R_utils raster RCurl remotes rgdal rgeos rlang sf sp testthat versions]; };
   reproj = derive2 { name="reproj"; version="0.4.0"; sha256="0liwv4sgxdm42vyykjyc3jihcxk3b5q0d7cwgai8349nn1ah0wdh"; depends=[proj4 tibble]; };
   repurrrsive = derive2 { name="repurrrsive"; version="1.0.0"; sha256="1nmy88h2bfv2bad282kbrmnkjx9d8klgzv4mm8nspm049s09ydmz"; depends=[tibble]; };
-  reqres = derive2 { name="reqres"; version="0.2.2"; sha256="18ib0qbfw3sih7xs1z4szjqppr7lbj5wx0w0kx80g810m7q27wyp"; depends=[assertthat brotli jsonlite R6 stringi urltools webutils xml2]; };
+  reqres = derive2 { name="reqres"; version="0.2.3"; sha256="0dly09h8dpjlmvrd1wfg1gqcqhm03ax97qr0nd1p0fg9y0pdapya"; depends=[assertthat brotli jsonlite R6 stringi urltools webutils xml2]; };
   request = derive2 { name="request"; version="0.1.0"; sha256="1q7zd6q00gdqmgq7s7nq1ixmns8zn2amr5zah9rwnsn8dkllj9yh"; depends=[curl httr jsonlite lazyeval magrittr R6 whisker]; };
   requireR = derive2 { name="requireR"; version="1.0.0.1"; sha256="192l7i3q7s2a6n737an3fn258agjsdzh0q2w0vc8jbz7v4f3i92d"; depends=[]; };
   rerddap = derive2 { name="rerddap"; version="0.6.5"; sha256="1pmpf9jdgp71ganzslwlp5qhkxhy7snaxgbrrym7swx6v2jnwhmv"; depends=[crul data_table digest dplyr hoardr jsonlite ncdf4 tibble xml2]; };
-  rerddapXtracto = derive2 { name="rerddapXtracto"; version="0.4.0"; sha256="1a99acffmpywv9lx59fphy2p27xdmxsrmf9crj4m6ykj5rack7fj"; depends=[abind dplyr ggplot2 httr maps ncdf4 parsedate plotdap readr rerddap sf sp]; };
+  rerddapXtracto = derive2 { name="rerddapXtracto"; version="0.4.5"; sha256="1c185qckr931a0rqr5l1c4vpcqy1ll8387ssb0lfrwbah41j11sj"; depends=[abind dplyr ggplot2 httr maps ncdf4 parsedate plotdap readr rerddap sf sp]; };
   rerf = derive2 { name="rerf"; version="2.0.4"; sha256="0ykgxdmkqapdpk5zwi8h1cbsvjv6jpscqpr5cjmdzdan22m09l6k"; depends=[dummies mclust Rcpp RcppArmadillo RcppZiggurat]; };
   resample = derive2 { name="resample"; version="0.4"; sha256="1rckzm2p0rkf42isc47x72j17xqrg8b7jpc440kn24mqw4szgmgh"; depends=[]; };
-  resampledata = derive2 { name="resampledata"; version="0.3.0"; sha256="09hp97zk31f016d65vq64gv413c6bx1dwqy74ai34xk00flkwady"; depends=[]; };
+  resampledata = derive2 { name="resampledata"; version="0.3.1"; sha256="1nxjqvxxvycccmh1n7lpc4k8zmwnciicfr5rzfid1icij5fzw3ak"; depends=[]; };
   resautonet = derive2 { name="resautonet"; version="1.0"; sha256="0kp6gp79j8cc5xbwr94vf6nh41msw7sqgrz9xkjzrj4asb9yjln5"; depends=[dplyr keras magrittr Rcpp RcppArmadillo rstack]; };
   resemble = derive2 { name="resemble"; version="1.2.2"; sha256="189a6b1y720w9ff8cyqazd2d3v1msbfw8zdqr5rmilxvxmnspccs"; depends=[foreach iterators Rcpp RcppArmadillo]; };
   reservoir = derive2 { name="reservoir"; version="1.1.5"; sha256="1qvjq8j2gxp6b8m3k3822f9na8a1kbwzzsmq70m763dcq293rgiz"; depends=[gtools]; };
   reshape = derive2 { name="reshape"; version="0.8.8"; sha256="0s6i0sqxg1vldxs6miv8mi0zydxbqzgpmzfiwkj8y7jix3yrfmad"; depends=[plyr]; };
   reshape2 = derive2 { name="reshape2"; version="1.4.3"; sha256="03ki5ka1dj208fc0dclbm0b4xp9d769pah2j9cs34l776p4r9zwa"; depends=[plyr Rcpp stringr]; };
   reshapeGUI = derive2 { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[gWidgets gWidgetsRGtk2 plyr reshape2]; };
-  respirometry = derive2 { name="respirometry"; version="1.0.0"; sha256="1cwgs951sy36fyzcm256wqbwadl4j3kvbhzw991vnlml1b48c0cy"; depends=[birk lubridate marelac measurements minpack_lm PKNCA seacarb segmented]; };
-  restatapi = derive2 { name="restatapi"; version="0.2.3"; sha256="1rf6kl6r0i13l2zrir2y8ha3lmy3zgbjr1fwbsg1dnkgg4lq7rrc"; depends=[data_table rjson rsdmx xml2]; };
+  respirometry = derive2 { name="respirometry"; version="1.0.1"; sha256="1syc2gf3jri90pi0qmrhwg472rn6dx8abpr9yb8jb5q1f1qs07p0"; depends=[birk lubridate marelac measurements minpack_lm PKNCA seacarb segmented]; };
+  restatapi = derive2 { name="restatapi"; version="0.4.0"; sha256="0syacz5fy0hcqfzj0x0ymkdwb61j9qn9s4maijywpd3yhrk2ijjs"; depends=[data_table rjson rsdmx xml2]; };
   restfulr = derive2 { name="restfulr"; version="0.0.13"; sha256="1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv"; depends=[RCurl rjson S4Vectors XML yaml]; };
   restimizeapi = derive2 { name="restimizeapi"; version="1.0.0"; sha256="1ss6fng5pmqg6cafc256g9ddz8f660c68ysxfan6mn4gdaigz7lb"; depends=[RCurl RJSONIO]; };
   restlos = derive2 { name="restlos"; version="0.2-2"; sha256="083w1ldax8bnf3w4119damma2nz75c3ki187b0275i1mqxqrixp7"; depends=[geometry igraph limSolve rgl som]; };
   restorepoint = derive2 { name="restorepoint"; version="0.2"; sha256="0pjp5dvycvfg75hhj8lrr2lrjn6n6bqj0ziwyd87lyi15b9j8w4s"; depends=[]; };
   restrictedMVN = derive2 { name="restrictedMVN"; version="1.0"; sha256="0qynkg244gzq0yjb0716w7g1sxdq66i11ss8jij86h2mz3ykj137"; depends=[MASS]; };
-  restriktor = derive2 { name="restriktor"; version="0.2-15"; sha256="1m3ng5cmkiim5gwi3v18d0987ghw1pkxxyw37pyz02iwlhzdj06s"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
+  restriktor = derive2 { name="restriktor"; version="0.2-250"; sha256="0ks6fg76y1h7mgdxgl0w895ykwp3dri6if2va08aj4sqxcgg1rpa"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
   resumer = derive2 { name="resumer"; version="0.0.3"; sha256="0ilya3v75989zqm16x69w4599ax2s5j2n6f16bmhwydrmzxs1g48"; depends=[dplyr rmarkdown useful]; };
   rethinker = derive2 { name="rethinker"; version="1.1.0"; sha256="02zfx08s5xisv1v4y16iqbddi9kb3fcr249b3414fzvs4nm5as94"; depends=[rjson]; };
   reticulate = derive2 { name="reticulate"; version="1.13"; sha256="1qwxh7zq9igl7dxl5g5qjbvv0mlac3w80djnkm0w8rxnaval3gmd"; depends=[jsonlite Matrix Rcpp]; };
@@ -12123,8 +12612,8 @@ in with self; {
   retrodesign = derive2 { name="retrodesign"; version="0.1.0"; sha256="173jrpzasimplv8vbm8gzpl8aibnsjkgvhz1hd75is0b2l8gnbxy"; depends=[]; };
   reutils = derive2 { name="reutils"; version="0.2.3"; sha256="09dhf4s7wz3anrkzqi16abx64gk8ck2142kfd8pv71mjy3x548l7"; depends=[assertthat jsonlite RCurl tibble XML]; };
   reval = derive2 { name="reval"; version="2.0.0"; sha256="1yxkyc6wdp5h3cp8i42a9cf0b1cwr4nmpd7svlp7bpfxlcnqqa0d"; depends=[doParallel foreach]; };
-  revdbayes = derive2 { name="revdbayes"; version="1.3.4"; sha256="0aqj2hvav3k4b1xiaz2adrqjdm87074a14p58ddclywq609cy2zk"; depends=[bayesplot Rcpp RcppArmadillo rust]; };
-  revealedPrefs = derive2 { name="revealedPrefs"; version="0.4"; sha256="1xd1bvji99mgnz772naz95i0xnrvqdkwxjj7mjblk2qdym95s1d0"; depends=[pso Rcpp RcppArmadillo]; };
+  revdbayes = derive2 { name="revdbayes"; version="1.3.6"; sha256="15nrmnl3g4l8yn6x1xvbfjn4fznryvgkvaqyxjr929v05rrf3fl0"; depends=[bayesplot Rcpp RcppArmadillo rust]; };
+  revealedPrefs = derive2 { name="revealedPrefs"; version="0.4.1"; sha256="1m8y1mj39bnf9q0n9mi0ashvb79lksx5dfkxb04qj2h5kkyxg49g"; depends=[pso Rcpp RcppArmadillo]; };
   revealjs = derive2 { name="revealjs"; version="0.9"; sha256="0h4csxrcl1rzmj3g01nf0mr990zc8swrf4jvmxwqsyzx9v2cqbnc"; depends=[rmarkdown]; };
   revengc = derive2 { name="revengc"; version="1.0.4"; sha256="1nipkff9zmkdi509qfdrmvsq5c643xd7bzzw5bchxd8nmfqb412i"; depends=[dplyr mipfp stringr truncdist]; };
   reverseR = derive2 { name="reverseR"; version="0.1"; sha256="0pzk97q1zs5g1v4ngqd6bkwwxcp89j890nycpc99ipycbgm2r9yw"; depends=[DT knitr markdown shiny]; };
@@ -12132,18 +12621,18 @@ in with self; {
   revtools = derive2 { name="revtools"; version="0.4.0"; sha256="138k9pcdv1gxfh52wlxavy6dinwqigrnckwka8bg3rwhdw0j8cky"; depends=[ade4 modeltools NLP plotly shiny shinydashboard SnowballC stringdist tm topicmodels viridisLite]; };
   reweight = derive2 { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
   rex = derive2 { name="rex"; version="1.1.2"; sha256="0alsadgjgass3wr8y5d247j12qqzg454sc84vpskclrkmz778g5x"; depends=[lazyeval magrittr]; };
-  rexpokit = derive2 { name="rexpokit"; version="0.26.6.4"; sha256="0flqf57zsf0a70yrkgp9jfq3bmj36wyfzwldpkmfvw3qvfhddysw"; depends=[Rcpp]; };
+  rexpokit = derive2 { name="rexpokit"; version="0.26.6.6"; sha256="13dxra3s68i499g21z9i93mbn6n8s4xay5zmvslafaccbq3q1ray"; depends=[Rcpp]; };
   rfPermute = derive2 { name="rfPermute"; version="2.1.7"; sha256="0dhgxm9b2djgadr1wnwgd0gbqv7751y0ln4jis32p0qmwi30v76d"; depends=[abind dplyr ggplot2 gridExtra magrittr plyr randomForest reshape2 rlang scales swfscMisc tibble tidyr]; };
-  rfUtilities = derive2 { name="rfUtilities"; version="2.1-4"; sha256="15784vhfp5sxmy58p2xgmc1v3bxx2f78i1pzc186q77zs88c5sq9"; depends=[cluster randomForest]; };
+  rfUtilities = derive2 { name="rfUtilities"; version="2.1-5"; sha256="1anwvmxn3xrc1aqxl75rzlk4wby8l54rmkp0bgi8dgbz2l223xr0"; depends=[cluster randomForest]; };
   rfVarImpOOB = derive2 { name="rfVarImpOOB"; version="1.0"; sha256="1341bicd65qw3pz1j8d6c9baj9d6s70ljdaaf87xvx8pjnajrfsw"; depends=[binaryLogic dplyr ggplot2 ggpubr magrittr prob randomForest titanic]; };
-  rfacebookstat = derive2 { name="rfacebookstat"; version="1.9.1"; sha256="04jd2w5g0y9m6wbk09rqfskcwixvxvv2j7blxid791jvj4jn8c74"; depends=[bitops data_table dplyr httr jsonlite purrr RCurl stringr tidyr]; };
+  rfacebookstat = derive2 { name="rfacebookstat"; version="1.10.1"; sha256="0a0qd9ha520z0smkb3pkjqc6a2f6vhy5m311wh9cmldnq633ycck"; depends=[bitops data_table dplyr httr jsonlite purrr RCurl stringr tidyr]; };
   rfbCNPJ = derive2 { name="rfbCNPJ"; version="0.1.1"; sha256="0zvpazxi184ia2wql0120kw7665dn9cs8a2kv91n79pncabb4xfg"; depends=[fs glue httr magrittr progress purrr readr stringr tibble xml2]; };
   rfigshare = derive2 { name="rfigshare"; version="0.3.7"; sha256="1qgzn0mpjy4czy0pnbi395fxxx84arkg8r7rk8aidmd34584gjiq"; depends=[ggplot2 httpuv httr plyr RJSONIO XML yaml]; };
   rfinterval = derive2 { name="rfinterval"; version="1.0.0"; sha256="1z7v0sbql6g2h3fr1268nj79rbx1d33hjfaraxhbikrjgb8mbp0w"; depends=[MASS ranger]; };
   rfishbase = derive2 { name="rfishbase"; version="3.0.4"; sha256="1km3xjbf3l81sfmmjs55criq4xw6l3xa74f8g1rxsbr5bci9xlia"; depends=[dplyr gh magrittr memoise purrr readr rlang stringr]; };
   rfisheries = derive2 { name="rfisheries"; version="0.2"; sha256="16j3hn1py8khqadmh81qsg76c62wzqkaq3fn39z0z5mgynmcm62j"; depends=[assertthat data_table ggplot2 httr rjson]; };
-  rflexscan = derive2 { name="rflexscan"; version="0.1"; sha256="1akja9nm7hzkf2q6r2vd29g0xsb6hivkjx40cvdg1di6zc7q9dnq"; depends=[igraph Rcpp rgdal sp]; };
-  rflights = derive2 { name="rflights"; version="0.1.0"; sha256="0jzmsv90waw8l3816qk4mprzagysfg5mhcqd05rqlnlszwyvb1r2"; depends=[httr]; };
+  rflexscan = derive2 { name="rflexscan"; version="0.2.0"; sha256="008xpbdqix18lwdqcx0mixwhv8v47kzpkblr53igp5766l04nfyj"; depends=[igraph Rcpp rgdal sp]; };
+  rflights = derive2 { name="rflights"; version="0.1.103"; sha256="1gxfsc3dhlzy6bpqjdxk5x309jmjgvxr8d9amnhrjdygzj6icf18"; depends=[httr]; };
   rfm = derive2 { name="rfm"; version="0.2.0"; sha256="1d07bms5ykfkw0ynfl21fhs9s6yvs44fn570vzi2dj8h5ywbsz15"; depends=[assertthat dplyr forcats ggplot2 ggthemes lubridate magrittr purrr RColorBrewer rlang tidyr xplorerr]; };
   rfml = derive2 { name="rfml"; version="0.1.0"; sha256="133adpfjpp14m47841k6ybq9lrvby9bxgr5zs4i3akjr2575nq1j"; depends=[httr jsonlite PKI XML]; };
   rfoaas = derive2 { name="rfoaas"; version="2.0.0"; sha256="04wx3d6v9zci6i5k3c4nfdycgjmng7f533b9k84kf1pa4lwp45ad"; depends=[httr]; };
@@ -12151,37 +12640,37 @@ in with self; {
   rforensicbatwing = derive2 { name="rforensicbatwing"; version="1.3.1"; sha256="1i521h2nmlkhcxfxqir8jfjv0llwr6cz0ck5w6hzplk48044bn16"; depends=[Rcpp]; };
   rfviz = derive2 { name="rfviz"; version="1.0.0"; sha256="0rzyy7r2ybqjnp1g5bbkxydpa93h8q4r71kdaj77r475m2i4kb6b"; depends=[loon randomForest]; };
   rgabriel = derive2 { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
-  rgbif = derive2 { name="rgbif"; version="1.3.0"; sha256="1lamyylaj51vn693964xhgmx2fyrnlc4yljh63cb74gx9qjc9yga"; depends=[crul data_table geoaxe ggplot2 jsonlite lazyeval magrittr oai tibble whisker wicket xml2]; };
-  rgdal = derive2 { name="rgdal"; version="1.4-4"; sha256="1my56hdc9x40ynxx1qwqwqxjvjxybmm00w4xg5gi8zgj19pffci5"; depends=[sp]; };
+  rgbif = derive2 { name="rgbif"; version="1.4.0"; sha256="00ik9aab13zq6n5r7sa8199nczrxb77xcf9j5bn2v8x0b7kyj4l9"; depends=[crul data_table geoaxe ggplot2 jsonlite lazyeval magrittr oai tibble whisker wicket xml2]; };
+  rgdal = derive2 { name="rgdal"; version="1.4-8"; sha256="1jd691amf3ghznq5im15gvhl6v6k25klpl75m4ngrqf9xlxaa3as"; depends=[sp]; };
   rgdax = derive2 { name="rgdax"; version="1.0.0"; sha256="16ph6n1nyl2v2w51ih6wzkpw0j0hfa3f60q1g6p9zis59j0rh7d9"; depends=[digest httr jsonlite RCurl]; };
   rgen = derive2 { name="rgen"; version="0.0.1"; sha256="0gl82v09q1ha58wd1014s46wzkx1yf348bc7jkl6s4qdc6c4vsb8"; depends=[]; };
   rgenoud = derive2 { name="rgenoud"; version="5.8-3.0"; sha256="0p93wf6ghgz2nifxbscb6bhahh5jd2ba7nh1c2mb6fmbxnsi3swv"; depends=[]; };
   rgeolocate = derive2 { name="rgeolocate"; version="1.0.1"; sha256="1v9kd71wpxna1war0rbp91pc5wdqlganmj2c2fc5m5176dnxd2v3"; depends=[httr Rcpp]; };
   rgeopat2 = derive2 { name="rgeopat2"; version="0.2.6"; sha256="04r8q3mig7sp38f3m9g20xlb0h046c04hhrzg4n06b5wkn7298s5"; depends=[readr sf stringr]; };
-  rgeos = derive2 { name="rgeos"; version="0.4-3"; sha256="19z01mw8kkvcdnyhrwr78lmg5bk76sv164m69w6jszqmzj5fr1hy"; depends=[sp]; };
+  rgeoprofile = derive2 { name="rgeoprofile"; version="0.1.0"; sha256="1s72l7gl370gfcwdhv1qqsyiq8qb530yi1dn4frslf6ay00yash9"; depends=[aspace geosphere leaflet pals RANN_L1 raster sp splancs]; };
+  rgeos = derive2 { name="rgeos"; version="0.5-2"; sha256="0ajrrxfwfp184c6rnby3dq54hzp3rrx3px72dn7gbdn6c4li2bqz"; depends=[sp]; };
   rgexf = derive2 { name="rgexf"; version="0.15.3"; sha256="0iw1vk32ad623aasf6f8hl0qkj59f1dsc2riwqc775zvs5w7k2if"; depends=[igraph Rook XML]; };
   rggobi = derive2 { name="rggobi"; version="2.1.22"; sha256="1g7k4xais9xkjlbvrkadr5d6c5rw4jp9c0gljhm71pa1fc9fcqff"; depends=[RGtk2]; };
-  rgho = derive2 { name="rgho"; version="1.0.1"; sha256="0jkfmyn3i50vsqciy96wd2fpik6yfg0sz6rrhwb04jv1dmyz2nfa"; depends=[curl dplyr httr jsonlite lazyeval magrittr memoise readr tibble tidyr]; };
-  rgl = derive2 { name="rgl"; version="0.100.26"; sha256="0h77akviwjd86j2qyx326xynbmwhypd6ydprzlwqnidd4ckrr271"; depends=[crosstalk htmltools htmlwidgets jsonlite knitr magrittr manipulateWidget shiny]; };
-  rglobi = derive2 { name="rglobi"; version="0.2.19"; sha256="13mzx7gmpz5zhp4nplkzigipyn3vkp8d5whz617fqrv8n3hy8ybm"; depends=[curl RCurl rjson]; };
+  rgl = derive2 { name="rgl"; version="0.100.30"; sha256="0rzqzskcwf2ah4yr62x5rjwf7yh90d43h39gk7jmfc5lc08zaxc5"; depends=[crosstalk htmltools htmlwidgets jsonlite knitr magrittr manipulateWidget shiny]; };
+  rglobi = derive2 { name="rglobi"; version="0.2.20"; sha256="0fygxl5bfkkl5d2wadpbk5xg0y6kab4c99mliwlzvl9d3mqpnpsp"; depends=[curl RCurl readr rjson]; };
   rglwidget = derive2 { name="rglwidget"; version="0.2.1"; sha256="0siqxn3gyl98i84p0yha821b4rdrp2i0942mkx819wnf7qwrpqcv"; depends=[rgl]; };
   rgoogleslides = derive2 { name="rgoogleslides"; version="0.3.1"; sha256="06i1ljrib0ap87bxlbpnvx5fr05pwzcmza48gbicvg7fwhz9hs05"; depends=[assertthat httr jsonlite R6]; };
   rgr = derive2 { name="rgr"; version="1.1.15"; sha256="1mrnmbh2crhkwdi37q59hx76afvkhgzgaacg3688q7jp23d58z6x"; depends=[fastICA MASS]; };
-  rgrass7 = derive2 { name="rgrass7"; version="0.1-12"; sha256="1gsy45j6nq4i6lbr4gyhgmnc9l8g6qxbhsqby9r59d6xz49b2xlv"; depends=[sp XML]; };
+  rgrass7 = derive2 { name="rgrass7"; version="0.2-1"; sha256="0rhizda58hmglgr4aq6sr5y11y615w0pwpgdk3mylm9pjgj5i5vn"; depends=[XML]; };
   rgsp = derive2 { name="rgsp"; version="0.2.0"; sha256="1fk0k479srfr0f4a5abyzcrzwy9hr1v5xf0jgs36fbim9bh7njlc"; depends=[dplyr magrittr tibble]; };
   rgw = derive2 { name="rgw"; version="0.1.0"; sha256="12f7bsfg24cld9y47jyqxswgc1bk4adbhhdpycapinbcfhyzc91p"; depends=[]; };
   rhandsontable = derive2 { name="rhandsontable"; version="0.3.7"; sha256="1y6dlpzid5apjx0gphkym7gq3lhwp0bxan8ca274pg170xyb33h8"; depends=[htmlwidgets jsonlite magrittr]; };
-  rhierbaps = derive2 { name="rhierbaps"; version="1.1.2"; sha256="0xi52wx4vswh7i4flg6y2pcrrbx6syk6pw43gkjccddwb4rf87sq"; depends=[ape ggplot2 gmp matrixStats purrr]; };
   rhli = derive2 { name="rhli"; version="0.0.2"; sha256="1mb6bizqkg7zd8nc5a81fw7d0y0vcv6zh6y28k9vikqmc5l1n21q"; depends=[]; };
   rhmc = derive2 { name="rhmc"; version="1.0.0"; sha256="1m79f1hx404y0k8lk3n6jnzhr6wwrk83xiym68sq1zvj0wjqiqmw"; depends=[]; };
   rhmmer = derive2 { name="rhmmer"; version="0.1.0"; sha256="0875b29i8rl9iypxp7vw514avq0ac4abdlfq3861cdd3kgycw8jh"; depends=[dplyr magrittr readr rlang tidyr]; };
   rhnerm = derive2 { name="rhnerm"; version="1.1"; sha256="1fkh2pr4kzvqvagdyjlyab7p591s913104gyq05q170gmvlpmiww"; depends=[]; };
-  rhoR = derive2 { name="rhoR"; version="1.2.1.1"; sha256="0jinacyaibf4yk5dizkyxaz0bi0lx8f5av0gzqzs15870vb8ybil"; depends=[]; };
+  rhoR = derive2 { name="rhoR"; version="1.3.0.0"; sha256="1nmnrib3dlsf2cswnx19l63449cv4yl6nbq5ih5j7m9ygxr8b8s8"; depends=[Rcpp RcppArmadillo]; };
   rhosp = derive2 { name="rhosp"; version="1.10"; sha256="1k0rb4fchjlzinky6ysdvyk0xjsx5986aqwn3yc6s7m3v7y9wb9m"; depends=[]; };
   rhub = derive2 { name="rhub"; version="1.1.1"; sha256="05b4phrny85fshismspjbaz1h0klg1fpy4b309si94pnqffxaqx6"; depends=[assertthat callr cli crayon desc digest httr jsonlite parsedate pillar prettyunits processx R6 rappdirs rcmdcheck rematch tibble uuid whoami withr]; };
   rhymer = derive2 { name="rhymer"; version="1.0.0"; sha256="1k15sd5q6a1ijayl585vc54d1zs4nyrxsfck9bn4nlfdiwc5arwf"; depends=[httr jsonlite]; };
   ri = derive2 { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
   ri2 = derive2 { name="ri2"; version="0.1.2"; sha256="0z6mbhrda7fh7a4y2kx3mf1zc1p0k4d76phw3187w50kwvkpb737"; depends=[estimatr generics ggplot2 pbapply randomizr]; };
+  ribd = derive2 { name="ribd"; version="1.0.0"; sha256="1r3w8zfihs5i1al0g136319zaj2dr0x52s3spxrcvd0irq9r4v8b"; depends=[glue kinship2 pedtools slam]; };
   riceware = derive2 { name="riceware"; version="0.4"; sha256="0pky0bwf10qcdgg9fgysafr35xbmnr9q0jbh56fawj99nbyj3m70"; depends=[random]; };
   rich = derive2 { name="rich"; version="1.0.1"; sha256="0kasr9gb85qhngfayqy3fvrsr0a066krwxsx21nsxcnss0mrqygr"; depends=[boot vegan]; };
   ridge = derive2 { name="ridge"; version="2.4"; sha256="18a16653k850sfxw9rmk4spy44hn93i97b2a0jfx41qh43hmkgqy"; depends=[]; };
@@ -12198,15 +12687,15 @@ in with self; {
   rio = derive2 { name="rio"; version="0.5.16"; sha256="0rfl56fdawlhc98451a9lcb6a6m56kw0i7dvd5hx58z025d8vsyk"; depends=[curl data_table foreign haven openxlsx readxl tibble]; };
   rioja = derive2 { name="rioja"; version="0.9-21"; sha256="01vc7zfw13zdri0rx93adx86gprzcmw9d454848ach95hdkwipk5"; depends=[mgcv vegan]; };
   rise = derive2 { name="rise"; version="1.0.4"; sha256="12r7mbaxp9pjypbpjxlsbqg7spw80gjgm2w0lsvgvclffc50a6ni"; depends=[dplyr ggplot2]; };
-  riskParityPortfolio = derive2 { name="riskParityPortfolio"; version="0.1.2"; sha256="0bn2yyb828q3kw5q4wvybspvalrzrjvwxamcn79s0a79i9swssa8"; depends=[alabama nloptr quadprog Rcpp RcppEigen]; };
+  riskParityPortfolio = derive2 { name="riskParityPortfolio"; version="0.2.1"; sha256="0l51spflm7wwwz5yrkw1i5534d1840wyyh2w3mz8apaxac76l0xz"; depends=[alabama Matrix nloptr quadprog Rcpp RcppEigen]; };
   riskPredictClustData = derive2 { name="riskPredictClustData"; version="0.2.6"; sha256="0mvy9299pg374gvvqs9lmj2j0f3bzyy279kjpz7jq35hkgz5wif3"; depends=[gee Hmisc MASS mvtnorm]; };
   riskR = derive2 { name="riskR"; version="1.1"; sha256="1qadfyb07idfw0bs006kb3917rzda83di6jmsr22941gv78z1wyv"; depends=[]; };
-  riskRegression = derive2 { name="riskRegression"; version="2019.01.29"; sha256="0nvp42j2bzqmiffni2yxg7170z1hl9xli614v6ji65nhy27gnr85"; depends=[abind cmprsk data_table doParallel foreach ggplot2 lava plotrix prodlim ranger Rcpp RcppArmadillo rms survival timereg]; };
+  riskRegression = derive2 { name="riskRegression"; version="2019.11.03"; sha256="15mz89cdzd6pjrlf61qs6vlcwx10rqxmz8ggpynyclhm9327skbb"; depends=[cmprsk data_table doParallel foreach ggplot2 lattice lava plotrix prodlim ranger Rcpp RcppArmadillo rms survival timereg]; };
   riskSimul = derive2 { name="riskSimul"; version="0.1"; sha256="0s2a1mn6g11m96gqscb916caj2aykcs3rkacpqcdnlyzryk1gsnb"; depends=[Runuran]; };
-  riskclustr = derive2 { name="riskclustr"; version="0.1.0"; sha256="016479l8q28mblapc7rhm16wr99fp4127h03yv62cxphiw90pvyg"; depends=[aod gtools knitr mlogit usethis]; };
+  riskclustr = derive2 { name="riskclustr"; version="0.2"; sha256="0j5gcm9a57yrg5ppqmacdjr16b9d8rwqkhq1mawy1fjpf18d2max"; depends=[aod gtools Matrix mlogit stringr]; };
   risksetROC = derive2 { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[MASS survival]; };
   riskyr = derive2 { name="riskyr"; version="0.2.0"; sha256="0zq5qybqisbh9k7i57s8yw9xcm7yckcjk17h4ybcx4p8788gg5m3"; depends=[]; };
-  ritis = derive2 { name="ritis"; version="0.7.6"; sha256="1a1q44dmagzf4k67pxa5x0s5s5jx9kpqg4s193c8r3m7kk3xwna6"; depends=[crul data_table jsonlite solrium tibble]; };
+  ritis = derive2 { name="ritis"; version="0.8.0"; sha256="1ggcchavhxcd3pawcf631ca8w1y4v0ygm1hflvkmzhk4k9ci3g13"; depends=[crul data_table jsonlite solrium tibble]; };
   riv = derive2 { name="riv"; version="2.0-5"; sha256="0n19jlrs12iysq45xyi3zvghkircg0ww5vbsfpnqkw5b22zsv30s"; depends=[MASS quantreg rrcov]; };
   riverdist = derive2 { name="riverdist"; version="0.15.0"; sha256="145mvqnhv12dcvss54wdycgb3wwk95phl4kx5z0jnh3kmm1zsdl4"; depends=[rgdal sp]; };
   rivernet = derive2 { name="rivernet"; version="1.2"; sha256="0lvl7m1y779g7jsbbc2gh1h6giy1m293j0ky9759c0w17fm454fd"; depends=[]; };
@@ -12214,10 +12703,10 @@ in with self; {
   rivervis = derive2 { name="rivervis"; version="0.46.0"; sha256="19jsl5g46jcbc0kg47bsif1wrw9z9brgvwdcxqjc89shnx3hzzfv"; depends=[]; };
   rivr = derive2 { name="rivr"; version="1.2-1"; sha256="17kh5kin2id8imarvwkjikrmz266x2ldja6b7xpj34s35dzap682"; depends=[Rcpp]; };
   rjade = derive2 { name="rjade"; version="0.1"; sha256="0f1jljj6m1almz0na984n0g314y0rl6a0mx04rbrpipgfgz1h37c"; depends=[V8]; };
-  rjags = derive2 { name="rjags"; version="4-8"; sha256="17xmjksj69f9wk4x71jxk4cgiqhaf2fj6bjm0mgzp4qln5x84a8m"; depends=[coda]; };
+  rjags = derive2 { name="rjags"; version="4-10"; sha256="1nhaim84ww8fd6m8xlpmngqcnp2qpql29ahc38366fxja3ghngmx"; depends=[coda]; };
   rjazz = derive2 { name="rjazz"; version="0.1.7"; sha256="0wmqlpgcr98dvapfmdcph5mdv202rzzsvb06iy5sqvpizpg7pbsz"; depends=[RCurl]; };
   rjdqa = derive2 { name="rjdqa"; version="0.1.0"; sha256="07qvvy3i0ak7p717wf68gx8d1m9l4lhibf0ynmc0jny58i56fiw8"; depends=[plotrix RJDemetra]; };
-  rje = derive2 { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
+  rje = derive2 { name="rje"; version="1.10.10"; sha256="1i0v8v5sdc9dwwljgnv3365sxyshp9dqbmamr3fa5gmhsjly3zs2"; depends=[knitr]; };
   rjmcmc = derive2 { name="rjmcmc"; version="0.4.5"; sha256="14rzvp6z5avlcnmlmvb6w4gvlh6v4ncbcai3v4c4svnjv555vz45"; depends=[coda madness mvtnorm]; };
   rjson = derive2 { name="rjson"; version="0.2.20"; sha256="0v1zvdd3svnavklh7y5xbwrrkbvx6053r4c5hgnk7hz7bqg7qa1s"; depends=[]; };
   rjsonapi = derive2 { name="rjsonapi"; version="0.1.0"; sha256="0qshll0y8b6lbfrqmp69w9kc9hgfrz94dk68nddshk9ilg14lx4d"; depends=[crul jsonlite plumber R6]; };
@@ -12228,33 +12717,36 @@ in with self; {
   rknn = derive2 { name="rknn"; version="1.2-1"; sha256="1x9r01314q0wgqwqzd7d13ycjzb4jzghzd3whgjvm2rsmnabai95"; depends=[gmp]; };
   rkt = derive2 { name="rkt"; version="1.5"; sha256="1rgf7dnk4d1b46rns2mb2s1ilxq7hqrh057vrrl00324r4h8bs1k"; depends=[]; };
   rkvo = derive2 { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
-  rlang = derive2 { name="rlang"; version="0.4.0"; sha256="038mmbmklw17ncgz53vrdx2506c1jj6di3y165bbx2sl2yia8j4p"; depends=[]; };
-  rlas = derive2 { name="rlas"; version="1.3.2"; sha256="0sd1lwkvw4k4s52x9ym5xlr1aqjq0i05k781lkx4chjwk69y40nq"; depends=[BH data_table Rcpp]; };
+  rlang = derive2 { name="rlang"; version="0.4.2"; sha256="0fczcp17kaz3s4p0nd4126bppwl20vpxfybhsndpcky9h75wklgv"; depends=[]; };
+  rlas = derive2 { name="rlas"; version="1.3.4"; sha256="0ccdbg634ibdjh1c7bri4l6achfrb4agy4iilr4z1pc1yzgsnk6r"; depends=[BH data_table Rcpp]; };
+  rlc = derive2 { name="rlc"; version="0.1.0"; sha256="1f0ibhnj43aalks7z9w2sbnqwccjvff1lbkkykr5fqllybnsn05r"; depends=[httpuv hwriter jrc jsonlite plyr stringr]; };
   rld = derive2 { name="rld"; version="1.0"; sha256="1glv4q25z14hcwifwg623h77p4awpsn3nk843pnph4sb3p5qbmn3"; depends=[emdbook MASS survival]; };
   rleafmap = derive2 { name="rleafmap"; version="0.2"; sha256="1i2qczipg7lr6fl35lcl896r54jia7libxx83darrfzc1hd9sdcq"; depends=[knitr raster sp]; };
-  rlecuyer = derive2 { name="rlecuyer"; version="0.3-4"; sha256="0d5mcdzn6f5nhwzs165a24z36d0b8gd0cyfyzffvr6p96h8qydy7"; depends=[]; };
+  rlecuyer = derive2 { name="rlecuyer"; version="0.3-5"; sha256="09mniai7v8gapr6hd3zm8sm3vi1zcyhgym389904ykb2yx7l68s7"; depends=[]; };
   rless = derive2 { name="rless"; version="0.1.1"; sha256="0ham8kf2hbswrcnc5i5b3svywdwq3kwp9n66n4k9sllahl4x9jdn"; depends=[V8]; };
-  rlfsm = derive2 { name="rlfsm"; version="0.3.0"; sha256="1b8wkj333x845ss2j8daxixzhgk81pc0b3a1ahz159n2a1ha0afr"; depends=[doParallel elliptic foreach ggplot2 plyr Rdpack reshape2 stabledist]; };
+  rlfsm = derive2 { name="rlfsm"; version="1.0.0"; sha256="06dar7hfxpah3dm8zlfq5g0n2gwr9wjch1dy08f8dj22600spbya"; depends=[doParallel foreach ggplot2 plyr Rdpack reshape2 stabledist]; };
   rlist = derive2 { name="rlist"; version="0.4.6.1"; sha256="08awy2p7rykc272wvvya4ddszbr7b7s7qv4wr3hs8ylr4jqlh0dv"; depends=[data_table jsonlite XML yaml]; };
   rlm = derive2 { name="rlm"; version="1.2"; sha256="18y735z05k9pms6iv1739qg3q12w099qhs42icxhqs5gcdhz92fm"; depends=[]; };
-  rlmDataDriven = derive2 { name="rlmDataDriven"; version="0.3.0"; sha256="0xq5dh3p94cqnhbbippqflmdlwy3f53hx8rph2bhdgkrwqm1751i"; depends=[MASS tseries]; };
+  rlmDataDriven = derive2 { name="rlmDataDriven"; version="0.4.0"; sha256="1fhh2siafpqmvpxi2piccxvvn5n38s5d6as6iyn43rgpsslswc8g"; depends=[MASS tseries]; };
   rlme = derive2 { name="rlme"; version="0.5"; sha256="0p26mw4g12l279lh80vqcjs3pvjr759ap2m622490k1i2ralxzif"; depends=[magic MASS mgcv nlme quantreg Rcpp robustbase stringr]; };
   rlo = derive2 { name="rlo"; version="0.3.2"; sha256="0abq42dhapzmh6hvmildbn8zya29c6p1aqbv8avc03g014dwbrd0"; depends=[PythonInR]; };
   rly = derive2 { name="rly"; version="1.6.2"; sha256="1bb55g3rip524dccaxvahjxsi2cimxqvzc897pxplv3bb10pm0r2"; depends=[futile_logger R6]; };
+  rmRNAseq = derive2 { name="rmRNAseq"; version="0.1.0"; sha256="0hh44bn7z7945aw722haazw8dx7fwzym67jismkygzhnksh59wqi"; depends=[AUC Biobase DESeq2 edgeR limma MASS Matrix nlme reshape rlang splineTimeR statmod]; };
   rma_exact = derive2 { name="rma.exact"; version="0.1.0"; sha256="1igs92la79akyqj84ah23lpcay7i33k7zgzcwm7sii782fhirivx"; depends=[abind metafor]; };
   rmaf = derive2 { name="rmaf"; version="3.0.1"; sha256="0w247mamwgibr5576p5c2lzaiz2lv2c25n7gw9q99s7rc4bps7j7"; depends=[]; };
   rmake = derive2 { name="rmake"; version="1.1.0"; sha256="00qlki2vps505nxzmfykf1iyq4b0y20nb75hbfcj63ap46z7zk3c"; depends=[assertthat pryr rmarkdown visNetwork]; };
+  rmangal = derive2 { name="rmangal"; version="2.0.0"; sha256="0vn5i6hwi64kzi481m3y696cqdxz6frv1n7xxm72a3vbz1jsqcrf"; depends=[httr igraph jsonlite memoise purrr]; };
   rmapshaper = derive2 { name="rmapshaper"; version="0.4.1"; sha256="0kd8hppn4d3z527s3kqz0mll7qjy0pbxbif46dfqx3rci6m62a68"; depends=[geojsonio geojsonlint jsonlite readr sf sp V8]; };
-  rmapzen = derive2 { name="rmapzen"; version="0.4.1"; sha256="1vql1cy38c4kv8pyl81877s587kq4l9sx9nslbgk3l41wvyyvphk"; depends=[assertthat digest dplyr geojsonio httr jsonlite maps maptools purrr rgdal sf sp tibble tidyr]; };
+  rmapzen = derive2 { name="rmapzen"; version="0.4.2"; sha256="1vybg3lmrqghvd23jwpfmypvqz2b65bc0m2pwbpizwkkg35iza70"; depends=[assertthat digest dplyr geojsonio httr jsonlite maps maptools purrr rgdal sf sp tibble tidyr]; };
   rmargint = derive2 { name="rmargint"; version="1.0.2"; sha256="1hl2nxmgknw74jvmc05wz6zkf7i151xl7h7hdpcivvm60yizlx8i"; depends=[]; };
-  rmarkdown = derive2 { name="rmarkdown"; version="1.14"; sha256="0qfw5rkvwqpgix32g6qy9xrr50awmm146aqbm836xravih2b2dpn"; depends=[base64enc evaluate htmltools jsonlite knitr mime stringr tinytex xfun yaml]; };
+  rmarkdown = derive2 { name="rmarkdown"; version="1.18"; sha256="0fykzbb5kjsqc8v6gjcdma7rmq0gailp30qij6plgna4d8nhjw3w"; depends=[base64enc evaluate htmltools jsonlite knitr mime stringr tinytex xfun yaml]; };
   rmatio = derive2 { name="rmatio"; version="0.14.0"; sha256="072fxg81r4rsc71qrf5p6lr5s3gchbgvxhyzwlx3wxw7y2px6w7y"; depends=[Matrix]; };
   rmcfs = derive2 { name="rmcfs"; version="1.3.0"; sha256="0mvrf6d2pfdvsgfgwkkb7k7q367k5i71wbq96gjhfimxr2lxwf7f"; depends=[data_table dplyr ggplot2 gridExtra igraph reshape2 rJava stringi yaml]; };
   rmcorr = derive2 { name="rmcorr"; version="0.3.0"; sha256="1p05ln653yrd02wmn8wfzawiw6a924d8an0568fcbgl1pdna43b1"; depends=[psych RColorBrewer]; };
   rmd = derive2 { name="rmd"; version="0.1.4"; sha256="01ib000hq6acklvysdxnyjmlypnxznsk0zymj1f6vs9vwh711f00"; depends=[blogdown bookdown bookdownplus citr cli crayon curl devtools dplyr DT magrittr mindr miniUI pagedown purrr rappdirs rmarkdown rstudioapi rticles rvest shiny shinyjs tibble tinytex xaringan xml2]; };
   rmdHelpers = derive2 { name="rmdHelpers"; version="1.2"; sha256="1ahzbs8z7wvh1dwbq1kq8wrjrknxi2gck63k70gj0swjvgk0ih5r"; depends=[dplyr knitr]; };
   rmda = derive2 { name="rmda"; version="1.6"; sha256="1m7j79jwii9la47w34ka3yl1n7nql8pfn32if0aycn4yw5sy8dmc"; depends=[caret MASS pander reshape]; };
-  rmdcev = derive2 { name="rmdcev"; version="0.9.0"; sha256="0bcriwrfynhvw27z57374hc7llsv5l58baplqkw4diq16gpqx5ik"; depends=[BH dplyr purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidyr tidyselect tmvtnorm]; };
+  rmdcev = derive2 { name="rmdcev"; version="1.1.1"; sha256="0pz60hzd3gvmrzcb29h0h4zb4lr5sdyw3nsa84hixsph00cf4lm0"; depends=[BH dplyr Formula purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidyr tidyselect tmvtnorm]; };
   rmdfiltr = derive2 { name="rmdfiltr"; version="0.1.0"; sha256="05hr6lrlsdp8g9y41g3zz875x9gg1533as95krb37ywp3rr4p819"; depends=[assertthat rmarkdown]; };
   rmdformats = derive2 { name="rmdformats"; version="0.3.5"; sha256="16ncawidfkkzh67ak6043kg504glli5g9npfg7vsrw168r7mmyci"; depends=[bookdown htmltools knitr questionr rmarkdown]; };
   rmdplugr = derive2 { name="rmdplugr"; version="0.4.0"; sha256="10xwaxjhrkkinahv9n29br0znkfvbyvx7yjva7ycrlibndm55bxq"; depends=[bookdown rmarkdown]; };
@@ -12262,22 +12754,22 @@ in with self; {
   rmeta = derive2 { name="rmeta"; version="3.0"; sha256="0vkbnxp579v8zmcv1isdbzj5swpr6fq17zwparxcvzswjc2x9ydr"; depends=[]; };
   rmetalog = derive2 { name="rmetalog"; version="1.0.0"; sha256="1ndw8drzhf74sjx31zfhhx9q1l6pdn4yx2i8l7klp38d5bsc27xm"; depends=[ggplot2 lpSolve]; };
   rmetasim = derive2 { name="rmetasim"; version="3.1.7"; sha256="0sz4mdprdi6sgkfwfdvh2hr9nxiwq17sw0vggq3cvs7lzb0i6m9r"; depends=[ade4 adegenet gtools pegas]; };
-  rmgarch = derive2 { name="rmgarch"; version="1.3-6"; sha256="0x1zc9i0hpzxsng2lg4k0jikj3jd705lh6229jmhrh1zk77jzskd"; depends=[Bessel corpcor ff MASS Matrix pcaPP Rcpp RcppArmadillo Rsolnp rugarch shape spd xts zoo]; };
+  rmgarch = derive2 { name="rmgarch"; version="1.3-7"; sha256="108wrbqj4c02c9cyv5m5xlswb1mlfdrhggb005sixr2dcqghb163"; depends=[Bessel corpcor ff MASS Matrix pcaPP Rcpp RcppArmadillo Rsolnp rugarch shape spd xts zoo]; };
   rmi = derive2 { name="rmi"; version="0.1.1"; sha256="1y0395l9lhskdrk3x9ps2dmv0sznsba0n6a9fmma33dc9dhywgf9"; depends=[BH Rcpp RcppArmadillo]; };
   rminer = derive2 { name="rminer"; version="1.4.2"; sha256="1hjgcawjrwsf0nv2hlznr1cvpm445yyxc6cq28k2yzyivk74si34"; depends=[adabag Cubist e1071 glmnet kernlab kknn lattice MASS mda nnet party plotrix pls randomForest rpart xgboost]; };
   rmio = derive2 { name="rmio"; version="0.1.2"; sha256="0lhfwjmi5s7ysm4jrb0r18cm3sdcswdrsx9kps4dv7v2yab4jkvx"; depends=[]; };
   rmonad = derive2 { name="rmonad"; version="0.5.0"; sha256="0m7hhmn87rfh49hxrjlcxcq6q36niyxlh3w2frld68jkbks71jn5"; depends=[digest glue igraph magrittr pryr]; };
   rmpw = derive2 { name="rmpw"; version="0.0.4"; sha256="1a49rvdwvmccv4gfir48fw0b9jyrpc2q9zfyk5j9b7nxsx6x7abl"; depends=[gtools MASS]; };
-  rms = derive2 { name="rms"; version="5.1-3.1"; sha256="0drbr3g0x5pbxyzy50wnf92rbal8izizrcqslqhg0gsfg9adjih9"; depends=[ggplot2 Hmisc htmlTable htmltools lattice multcomp nlme polspline quantreg rpart SparseM survival]; };
+  rms = derive2 { name="rms"; version="5.1-4"; sha256="19knh1sw0icw6jh9wfb2hq5jf49i2qfvp9myvqm5paa495689x9q"; depends=[ggplot2 Hmisc htmlTable htmltools lattice multcomp nlme polspline quantreg rpart SparseM survival]; };
   rms_gof = derive2 { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; };
   rmsfact = derive2 { name="rmsfact"; version="0.0.3"; sha256="05s23rfs9prr2ia3h4h9y614xhv91lbgppgf3mrrssxkwz220kd5"; depends=[]; };
   rmsfuns = derive2 { name="rmsfuns"; version="0.0.0.2"; sha256="0by2d6l25lf5vidxbkcxghpxycffyldzzbxcw6h4rm86zmkkv1m0"; depends=[magrittr purrr readr tidyverse xts zoo]; };
-  rmumps = derive2 { name="rmumps"; version="5.1.2-6"; sha256="158h0h9478w00ikjqprkdc182xzvv591m9nyay8s5n1iwzcflpmx"; depends=[Rcpp]; };
+  rmumps = derive2 { name="rmumps"; version="5.2.1-6"; sha256="1a0y4iaq2697z34b8jr9pm12n4qa5knxb1q995bli50pygz8zyl8"; depends=[Rcpp]; };
   rmutil = derive2 { name="rmutil"; version="1.1.3"; sha256="1nl20nyahnm55z41d096ni9iqhn19ab98i9c13ja1i6ik4gg9fks"; depends=[]; };
   rmweather = derive2 { name="rmweather"; version="0.1.3"; sha256="1qdf511vmpffrdfcxlll54km2s0pf6pdswj8401k4ymv5iif91hl"; depends=[dplyr ggplot2 lubridate magrittr pdp purrr ranger stringr strucchange tibble viridis]; };
-  rmytarget = derive2 { name="rmytarget"; version="2.1.7"; sha256="1n6cazd0p28da8y1p8byggk86zh826c6x41cidih0mmbrsdqww9z"; depends=[dplyr httr lubridate purrr stringr]; };
+  rmytarget = derive2 { name="rmytarget"; version="2.1.8"; sha256="1sn1pncxnv2jgxhmbm4zlq6zyi8nsz90x8b7697qlqf2la837v96"; depends=[dplyr httr lubridate purrr stringr]; };
   rnaseqWrapper = derive2 { name="rnaseqWrapper"; version="1.0-1"; sha256="1fa3hmwrpccf09dlpginl31lcxpj5ypxspa0mlraynlfl5jrivch"; depends=[ecodist gplots gtools]; };
-  rnassqs = derive2 { name="rnassqs"; version="0.4.0"; sha256="1vzkcw1rmrc4vq453jz63ldypnagv5vlwvczv5c938574g2yjwix"; depends=[httr jsonlite]; };
+  rnassqs = derive2 { name="rnassqs"; version="0.5.0"; sha256="1mbkv32zidax9i6km93bbi3m7xpnsy805cz4ikdrid84qg94an09"; depends=[httr jsonlite]; };
   rnaturalearth = derive2 { name="rnaturalearth"; version="0.1.0"; sha256="193b31a7n9jhc607mhwxbpx5gr0fpj3qasm9dbi6kcc7vac3ilgm"; depends=[sf sp]; };
   rnaturalearthdata = derive2 { name="rnaturalearthdata"; version="0.1.0"; sha256="1z32j5lz2lb8xgpkr73majw22k0b49iazj6jjc7j4w9k4zxxa102"; depends=[sp]; };
   rnbp = derive2 { name="rnbp"; version="0.1.0"; sha256="01hx9r7ai42kcj8l7bmqrma8w3l1f9bmg2ingpqxirimxkfwv2k8"; depends=[curl httr jsonlite]; };
@@ -12289,11 +12781,11 @@ in with self; {
   rngtools = derive2 { name="rngtools"; version="1.4"; sha256="1kivj594bn774lbn29ws2rmzy2km99sza0j3jqvhal6hwmk27a9s"; depends=[digest pkgmaker stringr]; };
   rngwell19937 = derive2 { name="rngwell19937"; version="0.6-0"; sha256="0m6icqf7nckdxxvmqvwfkrpjs10hc7l8xisc65q8iqpnpwl5p2f6"; depends=[]; };
   rnn = derive2 { name="rnn"; version="0.9.8"; sha256="1f1h7x9vff0jrdkv1gpxlmlr5v1c81gsfxy4z83rq3v0drpxahnv"; depends=[shiny sigmoid]; };
-  rnoaa = derive2 { name="rnoaa"; version="0.8.4"; sha256="1gyvsaz3whql4jzphrlawv3rrzyjp852kwzgq4wgdm8x25qyg6pv"; depends=[crul dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate rappdirs scales tibble tidyr XML xml2]; };
+  rnoaa = derive2 { name="rnoaa"; version="0.9.5"; sha256="123gzgycv8lnx9dikkqjn2fhnpzlwgxdmzkvdvf3kgwl1gw9170b"; depends=[crul dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate rappdirs scales tibble tidyr tidyselect XML xml2]; };
   rnpn = derive2 { name="rnpn"; version="0.1.0"; sha256="10xx8fxgdknv71ks42xxvf38xsmjy6s87y67wi21673v0n07fxb5"; depends=[data_table httr jsonlite plyr]; };
   rnr = derive2 { name="rnr"; version="0.2.1"; sha256="1z9bab3qmq8d79bcvjzldbxlah2w8mqp2ifd0cn1348dafwa0dhi"; depends=[assertthat purrr]; };
-  rnrfa = derive2 { name="rnrfa"; version="2.0"; sha256="0ymfgas1hzmmmf56ax47nfjm9mf9yzj48np1fzyshhzavnlymg0s"; depends=[curl dplyr ggmap ggplot2 httr jsonlite lubridate rgdal sp tibble xts]; };
-  roadoi = derive2 { name="roadoi"; version="0.5.2"; sha256="0fzvg75m5yyz2181n2i208525cixyiwclfij47qd3d61qqzlmlp3"; depends=[dplyr httr jsonlite miniUI plyr purrr shiny tibble tidyr]; };
+  rnrfa = derive2 { name="rnrfa"; version="2.0.1"; sha256="1p7wc3czp0i6il16nc1syp51i5gnb1hjx32j35ms8v20ficyb1zp"; depends=[curl dplyr ggmap ggplot2 httr jsonlite lubridate rgdal sp tibble xts]; };
+  roadoi = derive2 { name="roadoi"; version="0.6"; sha256="1mlf63018qpgyqma51fas1nvags7qcrsw11hm6c1idnxjh0sz82z"; depends=[dplyr httr jsonlite miniUI plyr purrr shiny tibble tidyr]; };
   roahd = derive2 { name="roahd"; version="1.4.1"; sha256="0d89d21s32bsjkm8bdiqrbccd3m9badh87vrsb1laawhl4hr3dn9"; depends=[dplyr magrittr robustbase scales]; };
   robCompositions = derive2 { name="robCompositions"; version="2.1.0"; sha256="17kpl35lynm1fwsl8ljwl6yjph1fps8vk2m8qxsx0x64wwfvccim"; depends=[car cluster cvTools data_table e1071 fpc GGally ggplot2 kernlab MASS mclust pls Rcpp robustbase rrcov sROC tidyr VIM zCompositions]; };
   robFitConGraph = derive2 { name="robFitConGraph"; version="0.1.0"; sha256="092nc0xnjs2zxd9ij0dl1xggb8mwl8nly284yjhhygmwlwsvhzxm"; depends=[MASS mvtnorm Rcpp]; };
@@ -12302,12 +12794,14 @@ in with self; {
   robcp = derive2 { name="robcp"; version="0.2.4"; sha256="1pvd8dw0kgwxrwnafaraya1qm3cwnp2c3ma569i7nwm2xsys76xj"; depends=[]; };
   robeth = derive2 { name="robeth"; version="2.7-5"; sha256="0jz3ivck9ma8x03sz41zkln3qh70ckfm5c2l57nlxi0ci5h0dfh2"; depends=[]; };
   robets = derive2 { name="robets"; version="1.4"; sha256="0lvzfpv6569pjysblhadd05sglx0qvyr9wipb9cpiya4a1992n61"; depends=[forecast Rcpp]; };
-  robfilter = derive2 { name="robfilter"; version="4.1.1"; sha256="1fxqva2khk16sj5ka5zdpaknh2w9n925ys0i4v7ahqvzhnxg6l3b"; depends=[lattice MASS robustbase]; };
+  robfilter = derive2 { name="robfilter"; version="4.1.2"; sha256="0mvpaf6g694b7175bl3yr6lxbwla4pwp7g4y34qb4klgl5n3nw03"; depends=[lattice MASS robustbase]; };
+  robin = derive2 { name="robin"; version="0.99.1"; sha256="0ghlfkpcfnywfb8psszbkzrljlissw11y4n52hhgm9ivk2ds4lk5"; depends=[DescTools fdatest ggplot2 gprege igraph networkD3]; };
   robis = derive2 { name="robis"; version="2.1.8"; sha256="1qi6ay0v3vc2gz5xalgj8vfx7zaiz5726mkkgwawxfj35gmdq0mk"; depends=[dplyr ggplot2 httr jsonlite leaflet]; };
-  robmed = derive2 { name="robmed"; version="0.3.0"; sha256="1q5l11khsx0wilcdp157jp3jfkks88rfraf2rcwjhcq28yw1sjcj"; depends=[boot ggplot2 quantreg robustbase shiny]; };
+  robmed = derive2 { name="robmed"; version="0.5.0"; sha256="02kavd5vllp3mf2gir66kf00n1ppc19k47zg4agfm2rhcn8whz9s"; depends=[boot ggplot2 quantreg robustbase shiny]; };
   robmixglm = derive2 { name="robmixglm"; version="1.0-2"; sha256="0z23frjv9yscw0q33s5vlrmisg9an5hksyhcrgcnlan6x63r91kq"; depends=[actuar bbmle boot fastGHQuad MASS numDeriv Rcpp VGAM]; };
   robotstxt = derive2 { name="robotstxt"; version="0.6.2"; sha256="1c1rhiwkdzvbspwa5km6gp3sjhzmb60ljibb2pf26s931lkr5b6l"; depends=[future future_apply httr magrittr spiderbar stringr]; };
   robreg3S = derive2 { name="robreg3S"; version="0.3"; sha256="0rv8qh98wws1f40d1kmysyy9qin0ngsvwq63cnxbwi290wsnrvls"; depends=[GSE MASS robustbase]; };
+  robregcc = derive2 { name="robregcc"; version="1.0"; sha256="159ms69jqjkf8bhi4hkm929hpwqi8qbcfyaahcjlkyximv7qnqaz"; depends=[magrittr MASS Rcpp RcppArmadillo]; };
   robsurvey = derive2 { name="robsurvey"; version="0.1.1"; sha256="0rf2sd7maz565hlgpyhvkswqyck01hif4mg5isbnnky9n3nc98pi"; depends=[survey]; };
   robumeta = derive2 { name="robumeta"; version="2.0"; sha256="1ynlfxlzh442jd1cf02j0f948m16d536a30gb4bf7208baqri1vg"; depends=[]; };
   robust = derive2 { name="robust"; version="0.4-18.1"; sha256="0xs098pfw5zdcdk3rsxkylfl6d2pyp566s5v92bzhgl7h8c90cfy"; depends=[fit_models lattice MASS robustbase rrcov]; };
@@ -12327,19 +12821,19 @@ in with self; {
   robustrao = derive2 { name="robustrao"; version="1.0-3"; sha256="0gcxxizsg380blrv55vl9f3az8gnr274c6idi0pimhh5c26h7ma6"; depends=[doParallel foreach gmp igraph iterpc quadprog]; };
   robustreg = derive2 { name="robustreg"; version="0.1-11"; sha256="08c6dyzki68hzl006s12bkjiirlw2n2isirjh8b79sd6zjrjlh72"; depends=[Matrix Rcpp RcppArmadillo]; };
   robustsae = derive2 { name="robustsae"; version="0.1.0"; sha256="0fi1fpqnfj6vkmidlr90kqbn1bxxxqb5qpqqrz9rrimlsvrc4ddl"; depends=[coda lattice MCMCpack mvtnorm pscl]; };
+  robvis = derive2 { name="robvis"; version="0.3.0"; sha256="0xzvx3230ydd082jmdlm70vyhjizknngfzhvcbqpdcm403klni5h"; depends=[ggplot2 scales tidyr]; };
   rocNIT = derive2 { name="rocNIT"; version="1.0"; sha256="18vxyh1wcq6dv62xf2dyl4226cd00n4hlbaqnynl9j5gnrmmsvi1"; depends=[]; };
-  rocTree = derive2 { name="rocTree"; version="1.0.0"; sha256="0zq2w4jjkh6b657b92knkmnl121xiybnxq81x4xzz5nsg1sc8w1q"; depends=[data_tree DiagrammeR dplyr flexsurv ggplot2 MASS survival tibble]; };
   rocc = derive2 { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; };
   roccv = derive2 { name="roccv"; version="1.2"; sha256="18kq2gzcbz97dw168xppql8k3slpkfl8yv1d8ac48damlhvipif1"; depends=[glmnet pROC]; };
-  rock = derive2 { name="rock"; version="0.0.1"; sha256="1kss47w89rbdzzh92p7fwci76n6ld7pnxw9s6rjii039q7zrywk0"; depends=[data_tree DiagrammeR dplyr glue purrr yum]; };
+  rock = derive2 { name="rock"; version="0.1.0"; sha256="0plyn9n3ngbdakdv98ywakr5xgkwqkwspla3pdmsi6w12zsvkak8"; depends=[data_tree DiagrammeR dplyr glue purrr yum]; };
   rockchalk = derive2 { name="rockchalk"; version="1.8.144"; sha256="07dp1n155b9gfvk8l30h6bhjbhbylsjxfzns08mryn4mxj3nqpnb"; depends=[carData kutils lme4 MASS]; };
   rococo = derive2 { name="rococo"; version="1.1.7"; sha256="1fp3kk5j9kc0vyr50rlbsxjc9p3qz5137sifxsbd297p7zj1fcs2"; depends=[Rcpp]; };
   rocsvm_path = derive2 { name="rocsvm.path"; version="0.1.0"; sha256="1pd59bzcz96sxpp725pqa7pjh2gdrfapbilp4wccjkf5290zw56v"; depends=[quadprog svmpath]; };
   rodd = derive2 { name="rodd"; version="0.2-1"; sha256="01zrkw4lr21vxk2grfc37iyrcipfdcj5m0i7gnxsvs435y9fqagd"; depends=[Matrix matrixcalc numDeriv quadprog rootSolve]; };
-  rodeo = derive2 { name="rodeo"; version="0.7.4"; sha256="16yzj12m9wvcrqxc33rpbyzbq019swi5jxnbda9crfwjdvafaa0d"; depends=[deSolve R6]; };
+  rodeo = derive2 { name="rodeo"; version="0.7.5"; sha256="0825py3a41ccbd1dplkv1hci11wcp0ai5m37489cjg4gqaka7qgn"; depends=[deSolve R6]; };
   rodham = derive2 { name="rodham"; version="0.1.1"; sha256="15mrlx7azvwkwjgfplvs5fhk2nwlg9pay2l99q327p8hx87jr8ra"; depends=[jsonlite plyr splitstackshape stringr tibble]; };
-  roll = derive2 { name="roll"; version="1.1.2"; sha256="16s60r8p85q176k5smzcdcqzx9snf62v8q6r3ddvpp7mh5l9clgj"; depends=[Rcpp RcppArmadillo RcppParallel]; };
-  rollRegres = derive2 { name="rollRegres"; version="0.1.2"; sha256="1cgdg4a40dqy7kc7bx567w8hirlwzg5aqn41hi5m1plzzprmcfzm"; depends=[checkmate Rcpp RcppArmadillo]; };
+  roll = derive2 { name="roll"; version="1.1.3"; sha256="1fhxsvxhvf7m01n1fyyq9pc65w16wpw76ww4l538m9m54g49xs8g"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  rollRegres = derive2 { name="rollRegres"; version="0.1.3"; sha256="1rf6hdbndindq6kr5yzyqq4jy1c11shfdvjb8mwm957dd0kbs3rx"; depends=[checkmate Rcpp RcppArmadillo]; };
   rollbar = derive2 { name="rollbar"; version="0.1.0"; sha256="1q2ym0vkgbdnibxmwx0bp9c20g3bm8fzwwgs3j4bxg1ydg3gnkj4"; depends=[httr]; };
   rolldown = derive2 { name="rolldown"; version="0.1"; sha256="1awr8lcxz7y9mjhia4p85jvixc72gj525gk2jjl13njgq6shp0b5"; depends=[bookdown htmltools jsonlite]; };
   rollmatch = derive2 { name="rollmatch"; version="2.0.1"; sha256="1nyxsl2n8bnx31i78pzq0b19d58w70rqdn62bzrxdd11h9ph2dpr"; depends=[dplyr magrittr]; };
@@ -12347,11 +12841,12 @@ in with self; {
   rolocISCCNBS = derive2 { name="rolocISCCNBS"; version="0.1"; sha256="100jh5m2c1zp5wg3wd4y2i47dzx1j0g6lfwyqmwk4bz99yzzz5am"; depends=[colorspace roloc]; };
   rolr = derive2 { name="rolr"; version="1.0.0"; sha256="04nm4q0mlr4w6jb0frykzlyknfn3gn02ysqr5ll5jch6wawichy2"; depends=[survival]; };
   rolypoly = derive2 { name="rolypoly"; version="0.1.0"; sha256="11nf7in6n03675l11ynl4rp20rlzy7jli3m518s4sqqxdm8f8ci7"; depends=[data_table dplyr foreach ggplot2 glmnet MASS Matrix matrixcalc]; };
-  rootSolve = derive2 { name="rootSolve"; version="1.7"; sha256="08ic6ggcc5dw4nv9xsqkm3vnvswmxyhnqnv1rdjv1h2gy1ivpcq8"; depends=[]; };
+  rootSolve = derive2 { name="rootSolve"; version="1.8.1"; sha256="0skrspq7sd7gaq73w91km14v8znc8chncgy64hvjgcng2xw15phx"; depends=[]; };
   rootWishart = derive2 { name="rootWishart"; version="0.4.1"; sha256="1l9pr3i20hi5k02qnlb3blxhlvp2j0njn74xslw3gcjvyzjlr12j"; depends=[BH Rcpp RcppEigen]; };
   roots = derive2 { name="roots"; version="1.0"; sha256="1ssmmmrg18xmqxs6f7dqv07357iwcvk21j1gxsl8s9njbj2plxai"; depends=[animation igraph rARPACK]; };
   rope = derive2 { name="rope"; version="1.0"; sha256="06qp6h8cjnz0yacm4r39k99hrw74iyq16h5mqfcki7sf3zqbfm7r"; depends=[]; };
   ropenaq = derive2 { name="ropenaq"; version="0.2.7"; sha256="161yc2d82iivxaqpl5kzvxcmcqjpv6s5jj9pa304vj8cz0rnxgfr"; depends=[crul dplyr jsonlite lazyeval lubridate tidyr]; };
+  ropenblas = derive2 { name="ropenblas"; version="0.1.0"; sha256="1lbdkiagbgpdj7zvy7vszbwh7zdz2bfcmjgj4hi3lry9qq9k6w1a"; depends=[fs getPass git2r glue magrittr rstudioapi stringr]; };
   ropendata = derive2 { name="ropendata"; version="0.1.0"; sha256="1bv6y241abs6pb4wq5ybx9x4zh72kf8ffs3vlcgdsmhw4jwrsxdl"; depends=[httr jsonlite]; };
   ropensecretsapi = derive2 { name="ropensecretsapi"; version="1.0.1"; sha256="0d4yl0h4am3blskdnzk119hk374c3vx0cg99r20w07yh8jfafrw7"; depends=[RCurl RJSONIO]; };
   roperators = derive2 { name="roperators"; version="1.1.0"; sha256="0klmk1jmh1iysgf345qa6qyjmn1pkz072ha254k90flprgicg7c6"; depends=[]; };
@@ -12360,28 +12855,28 @@ in with self; {
   roptim = derive2 { name="roptim"; version="0.1.2"; sha256="0kamdhyc7s1i7mbgzf6zbdbcs2qjjq4wgl1v181xzhq6gpv7fhy6"; depends=[Rcpp RcppArmadillo]; };
   rorcid = derive2 { name="rorcid"; version="0.5.0"; sha256="0508dc3av593bqylrq5zysav56p9243hg35gs8vhnbqjngfm1pib"; depends=[crul data_table fauxpas httr jsonlite tibble xml2]; };
   rorutadis = derive2 { name="rorutadis"; version="0.4.2"; sha256="13a7xj4qw1nd8xgrqhrki3php960lgy9gy38sg4kpvs4j2rwijzc"; depends=[ggplot2 gridExtra hitandrun Rglpk]; };
-  rosetta = derive2 { name="rosetta"; version="0.1.1"; sha256="0q2rhz9icx4w7ihb289v1bzngbi3dnsvyviv6mvg32il1xfw8ji9"; depends=[car ggplot2 ggrepel gridExtra lme4 multcompView pander plyr psych pwr rio ufs]; };
-  rosetteApi = derive2 { name="rosetteApi"; version="1.12.1"; sha256="1b3cwxg7ja7g3bdl13j23xs8lw6ip70r4bah92pqs5pzmb5hx0wz"; depends=[httr jsonlite]; };
+  rosetta = derive2 { name="rosetta"; version="0.2.0"; sha256="0b5xcy9gzw8d71m2pyx1m71mnbdggckhd42c7pzhkivkl79n5wdz"; depends=[car ggplot2 ggrepel gridExtra lavaan lme4 multcompView pander plyr psych pwr rio ufs]; };
+  rosetteApi = derive2 { name="rosetteApi"; version="1.14.3"; sha256="1fq5wg2rgcqv4x5045zgccpawgi6ac47hykfam9waqjnqy7r4y1a"; depends=[httr jsonlite]; };
   rosm = derive2 { name="rosm"; version="0.2.5"; sha256="10n3yzhk29i3mzbcg6nkjqgvwc9n53ax0d7imn9l4a9msa06as07"; depends=[abind curl jpeg plyr png prettymapr rgdal rjson sp]; };
   rospca = derive2 { name="rospca"; version="1.0.4"; sha256="1pxm34xsc2610n0i6dwcm4rhn016yqb03f8vrm93r7285c04n4q7"; depends=[elasticnet mrfDepth mvtnorm pcaPP pracma robustbase rrcov rrcovHD]; };
   rosqp = derive2 { name="rosqp"; version="0.1.0"; sha256="0975g7p75bq238g7lr200svsqm9i11z7l331r0igm5ycahljrlsm"; depends=[Matrix R6 Rcpp]; };
   rosr = derive2 { name="rosr"; version="0.0.8"; sha256="1v1lllqim6m6c2j3s7zgd9nxbxja719995lqlawijifrksrkncds"; depends=[blogdown bookdown bookdownplus clipr devtools htmlwidgets knitr mindr rmarkdown rstudioapi shiny tinytex]; };
-  rotasym = derive2 { name="rotasym"; version="1.0-5"; sha256="15kw50c08vdamsxmi2ybripzh0vqif14jyrclyyflihrsw9l8p9p"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
+  rotasym = derive2 { name="rotasym"; version="1.0-6"; sha256="134gpkcryqy4kwnm89d0ihzx4s7m7bs1wypq6mp2ajdnn8qh6zv1"; depends=[Rcpp RcppArmadillo]; };
   rotationForest = derive2 { name="rotationForest"; version="0.1.3"; sha256="1z2wk3mcs5hrahsxralidbc0dd8gxdbwjpr2f71g4g3isfx1ic8d"; depends=[rpart]; };
   rotations = derive2 { name="rotations"; version="1.5"; sha256="1zksh6hyxdkm0lvvrld6dgkmhszn6wsjrjzr2xbn3af3gsvsydaa"; depends=[ggplot2 Rcpp RcppArmadillo rgl sphereplot]; };
-  rotl = derive2 { name="rotl"; version="3.0.9"; sha256="10kgaaghb8yh6nkchb24difzpkaa9lsxci6qw878ywxlh9my8yyc"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
+  rotl = derive2 { name="rotl"; version="3.0.10"; sha256="0fh7fmaylv9490yhw6sknv03xmx5isp29mlr0xypyh6mwagngd1q"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
   rotor = derive2 { name="rotor"; version="0.2.3"; sha256="1gydvlaby84mw5av6sgv6lsvzp2p4znc3mqsdv5gdx1l2sngfmcm"; depends=[dint R6]; };
   roughrf = derive2 { name="roughrf"; version="1.0"; sha256="0nwdynqfb9yzjvi1lykgdkch3b4g09aj8vbd6sf5pyx473s066y4"; depends=[mice nnet randomForest]; };
   roundhouse = derive2 { name="roundhouse"; version="0.0.1"; sha256="142dw9ky6fyp5n8zf5lymx083gi56q6wxj4jm0m8cjb0khiqw2lq"; depends=[httr jsonlite]; };
-  routr = derive2 { name="routr"; version="0.3.0"; sha256="1mjf1vwrh1k1kjl1kcgqs29zb8h9m05630czsjkz7li3pmvy9mrv"; depends=[assertthat digest httpuv R6 reqres stringi uuid]; };
+  routr = derive2 { name="routr"; version="0.4.0"; sha256="1vswq7vm80nwb50grr4cs290kbq5lx9b19dq0c2wlp9d2dxk50si"; depends=[assertthat digest httpuv R6 reqres stringi uuid]; };
   rowr = derive2 { name="rowr"; version="1.1.3"; sha256="1f93c2yni956flwnxgphn340pc7p6yagr5xnmhinjgk9kvsd07yh"; depends=[]; };
-  roxygen2 = derive2 { name="roxygen2"; version="6.1.1"; sha256="0wq29ilqas8yn2z8v49fk0hbgchg29nmyyhwczgdipz0cbhbfipd"; depends=[brew commonmark desc digest pkgload purrr R6 Rcpp stringi stringr xml2]; };
+  roxygen2 = derive2 { name="roxygen2"; version="7.0.2"; sha256="162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq"; depends=[brew commonmark desc digest pkgload purrr R6 Rcpp rlang stringi stringr xml2]; };
   roxygen2md = derive2 { name="roxygen2md"; version="1.0.0"; sha256="1gvrfy0sk5qi8d93zxj5f7xgnnw0w38zyxdik4ckf0pkk0zdm27a"; depends=[desc devtools enc rex rlang tibble usethis withr]; };
   royston = derive2 { name="royston"; version="1.2"; sha256="1rywc89qzx0hldbq10201bjdhz60pq2gmgd9b9j52mza3w4canjz"; depends=[moments nortest]; };
-  rpact = derive2 { name="rpact"; version="2.0.2"; sha256="0g5r0mqrp48bl3jsq83ga0b7b7fypv84idwxfgnrsj0gvjyzrgny"; depends=[Rcpp]; };
+  rpact = derive2 { name="rpact"; version="2.0.5"; sha256="0mj4l1sdwqbxccsailx2b252qswq92kjl7cq0b2s5c41jxjc97k4"; depends=[Rcpp]; };
   rpanel = derive2 { name="rpanel"; version="1.1-4"; sha256="0yzasb4k5jcx3wfsll9k9alyrwc0l1x6pk91nj7cqrdiapw8j519"; depends=[]; };
   rpart = derive2 { name="rpart"; version="4.1-15"; sha256="0p5frya963ppn476p5dxs2mnarsalksr6gw9zzmjsn8ikq7bx3ib"; depends=[]; };
-  rpart_plot = derive2 { name="rpart.plot"; version="3.0.7"; sha256="0i4ix8vabnfvcaf7vs2mvyx85ix0wkxfrhr98nvhfxchzanzrrq4"; depends=[rpart]; };
+  rpart_plot = derive2 { name="rpart.plot"; version="3.0.8"; sha256="0y8054jw44jkjg8ijp3p2grsqwrmsdfzk8vps9ksgm7mgfq5732d"; depends=[rpart]; };
   rpart_utils = derive2 { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
   rpartScore = derive2 { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; };
   rpartitions = derive2 { name="rpartitions"; version="0.1"; sha256="1gklsi4pqhk16xp9s49n1lr9ldm1vx61pvphjqsqkzrlxwcpx3j8"; depends=[hash]; };
@@ -12398,34 +12893,34 @@ in with self; {
   rpivotTable = derive2 { name="rpivotTable"; version="0.3.0"; sha256="0ndhsw4nnz6wf0v8dh4sz8867m01jjkzw6aq7f490z1ypa3d9fv5"; depends=[htmlwidgets]; };
   rplos = derive2 { name="rplos"; version="0.8.6"; sha256="1i5dzlv57bpddf9qsnq0azc0fsbmzqz9bkrijabp2qwxg0w76mcx"; depends=[crul dplyr ggplot2 jsonlite lubridate plyr reshape2 solrium whisker]; };
   rplotengine = derive2 { name="rplotengine"; version="1.0-7"; sha256="1bbciq84l0h6g4qajlcqg3v66g2rspflv6k7x5h5qzwlcb4p4dps"; depends=[xtable]; };
+  rpmodel = derive2 { name="rpmodel"; version="1.0.2"; sha256="0daldm91lmmk6ivsj3rknn60w5fa9wakrnxxp77xm88bf1fr5yda"; depends=[rlang]; };
   rpms = derive2 { name="rpms"; version="0.4.0"; sha256="10zw0xln0vjrzrilyn67nnw13aadnskzca1930fvb483c691bm36"; depends=[Rcpp RcppArmadillo]; };
   rpnf = derive2 { name="rpnf"; version="1.0.5"; sha256="07byg0ym4d2cr6fp74z379jhsaw4c0xrwf622dvhwa4frn4anl60"; depends=[]; };
   rportfolios = derive2 { name="rportfolios"; version="1.0-1"; sha256="00xxh85jpl0rw8fv84i7zmq0psc92pq7hharnr4szbmhgz8kbc35"; depends=[truncdist]; };
-  rpostgis = derive2 { name="rpostgis"; version="1.4.2"; sha256="0zbq9605jk26r2mdkigi2pgn2s5ssrp5dvm4kbgk7fscnm1r6fbs"; depends=[DBI raster rgeos RPostgreSQL sp]; };
+  rpostgis = derive2 { name="rpostgis"; version="1.4.3"; sha256="04x5qdz0kznxnp9kygp0m2rjxyhqfz3mc81mcr4aw6cy5p4zp9aq"; depends=[DBI raster rgeos RPostgreSQL sp]; };
   rpostgisLT = derive2 { name="rpostgisLT"; version="0.6.0"; sha256="1adwpkfndm6n3s9xcx8zrwnj6bmgvq4nzs072fnl5i6kjy6ngjm6"; depends=[adehabitatLT DBI htmltools leaflet lubridate magrittr mapview rpostgis RPostgreSQL sf shiny shinyWidgets sp]; };
-  rppo = derive2 { name="rppo"; version="1.0"; sha256="0agqys52l8bb3mc3bpawym12phl5r1ymalfvgrq5w6n78lpzcxls"; depends=[httr jsonlite plyr readr]; };
   rpql = derive2 { name="rpql"; version="0.7"; sha256="18llgwk1jfwf3y1dabpc508kfb1k4yh4cr4k76azkziv11arbh0c"; depends=[gamlss_dist lme4 MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
   rprev = derive2 { name="rprev"; version="1.0.2"; sha256="0gdragdnakq9476df116viw8nyv0iahsfm1a3insv01j8x1y5l8c"; depends=[data_table dplyr ggplot2 lazyeval lubridate magrittr survival tidyr]; };
   rprime = derive2 { name="rprime"; version="0.1.0"; sha256="1v6n1qi0i7x8xgizbyvp1mnwc316lsan4rvam44fgjj45fcd79gd"; depends=[assertthat plyr stringi stringr]; };
   rprintf = derive2 { name="rprintf"; version="0.2.1"; sha256="0rwqpln0igxb4m6d6jyp7h3shfb8sbp0kj7cgkffjp88hn9qm4h3"; depends=[stringi]; };
   rprojroot = derive2 { name="rprojroot"; version="1.3-2"; sha256="12r3fdxmi2pmwn6ic3rhg0b20ll5z420m0d8fziv1n21961namnz"; depends=[backports]; };
-  rpsftm = derive2 { name="rpsftm"; version="1.2.5"; sha256="1l8i1v4si5x6g8mn7n6vllfdywzcpmxik7mg91ig1dci9bgcd9ya"; depends=[ggplot2 rootSolve survival]; };
+  rpsftm = derive2 { name="rpsftm"; version="1.2.6"; sha256="1bidxyvn8r3pdd3yf1clcc4dil3wsl3hc4kznyhhk67870p25n6s"; depends=[ggplot2 rootSolve survival]; };
   rpst = derive2 { name="rpst"; version="1.0.0"; sha256="10cbgj67lqgh5bawwa0nwj9kfl3jg4vdm121kc61q199v8dw7nrz"; depends=[plotrix survival]; };
   rpsychi = derive2 { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; };
   rptR = derive2 { name="rptR"; version="0.9.22"; sha256="0vvjc6qiq71d5wckl77z606q1fp43mgrfzp1bxcab96n5whb2r9k"; depends=[lme4 pbapply]; };
   rpubchem = derive2 { name="rpubchem"; version="1.5.10"; sha256="06j9ir65ykky5hdbyv74fnddwqd39jxvr6jig0kjqisc75k4spjz"; depends=[base64enc car data_table fingerprint iterators itertools RCurl RJSONIO stringr XML]; };
   rqPen = derive2 { name="rqPen"; version="2.1"; sha256="195s2l60llw2hb5abykydajadzg44700j5kahkw57413hh86qrh0"; depends=[quantreg regpro]; };
-  rqdatatable = derive2 { name="rqdatatable"; version="1.1.9"; sha256="1j8cczhid1im0afxnfhqcsy36vmcyrnqfwfbvns11ysjw5i6gh2v"; depends=[data_table rquery wrapr]; };
-  rquery = derive2 { name="rquery"; version="1.3.7"; sha256="05zygsf02p3dlbaap1mfi5whhq55mwj2h2p0wcx60hqwbfq2xj4k"; depends=[wrapr]; };
+  rqdatatable = derive2 { name="rqdatatable"; version="1.2.4"; sha256="01q4pzipn3kbbbb9fika5n727rbjca66mldfh0kn5gx8mlsf08ny"; depends=[data_table rquery wrapr]; };
+  rquery = derive2 { name="rquery"; version="1.4.0"; sha256="0dnbdi9fn5r2s2p0f9z1qnszxnbbsvwgnbql5awrk5zjbajybxgy"; depends=[wrapr]; };
   rr = derive2 { name="rr"; version="1.4"; sha256="1c2h6ibjfwrjfqh1if3c90pdh0g2rf3p71j4p9w23xbbrx2l80pl"; depends=[arm coda magic MASS]; };
   rr2 = derive2 { name="rr2"; version="1.0.2"; sha256="099vjg91ni2bnxlra18pvgsvzrl28zrj639cdjrh3wkpqv99d04q"; depends=[ape lme4 Matrix nlme phylolm]; };
   rrBLUP = derive2 { name="rrBLUP"; version="4.6"; sha256="1bw4pjj9hm9ik5bvvklnlkykhlqm6k7pbkma1iwc3kbg8shpbd18"; depends=[]; };
-  rrBlupMethod6 = derive2 { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; };
+  rrat = derive2 { name="rrat"; version="1.0.0"; sha256="1j1jd32pgggn5cqv66l63sw5p4hblgpznf33wd0zdbfapwy8rx4r"; depends=[quantreg]; };
   rray = derive2 { name="rray"; version="0.1.0"; sha256="0x4wavvjsiy8b9bhgxddisx82k6q52qhngr2am50bf38d3x2n58h"; depends=[glue Rcpp rlang vctrs xtensor]; };
-  rrcov = derive2 { name="rrcov"; version="1.4-7"; sha256="14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b"; depends=[cluster lattice mvtnorm pcaPP robustbase]; };
+  rrcov = derive2 { name="rrcov"; version="1.4-9"; sha256="11zvxidlb1pr2j5dzvmbjqdgsmmicsq8ppjf5wcfykfyf2fkcmz7"; depends=[cluster lattice mvtnorm pcaPP robustbase]; };
   rrcov3way = derive2 { name="rrcov3way"; version="0.1-10"; sha256="0ybl759mfva185z2mjs5s8cjim9h8dk4gkqnva2rj9kxp7i45srd"; depends=[robustbase rrcov ThreeWay]; };
-  rrcovHD = derive2 { name="rrcovHD"; version="0.2-5"; sha256="1wv50lcjf0fsxb1zagxbrcx68ilfmnmkc8ccpy9hw3qql5p368ij"; depends=[pcaPP pls robustbase robustHD rrcov spls]; };
-  rrcovNA = derive2 { name="rrcovNA"; version="0.4-9"; sha256="1qc9xqm5x55dqjx1y7s4a2nwc07v32rygicbb8469knxasf92cs3"; depends=[cluster lattice norm robustbase rrcov]; };
+  rrcovHD = derive2 { name="rrcovHD"; version="0.2-6"; sha256="03dr42np7a0yl3hi2iz4xp5b6yrazx6vlsjrby6fcn9r8y1fmac9"; depends=[pcaPP pls Rcpp robustbase robustHD rrcov spls]; };
+  rrcovNA = derive2 { name="rrcovNA"; version="0.4-13"; sha256="1nq37iaay2w7y573ni5dgi4vzx5rnzibjimb97k6gzn3si6r68g9"; depends=[cluster lattice norm robustbase rrcov]; };
   rrd = derive2 { name="rrd"; version="0.2.2"; sha256="104iz2y49vzm92a8nrvgzrjyljxl467mp1hjnjmzl4rhf9kl809y"; depends=[assertthat tibble]; };
   rrecsys = derive2 { name="rrecsys"; version="0.9.7.3.1"; sha256="1qnjriv1xq4gjjhzz8jxrbk88mw5xddl2l2i4bmfhnxhi51d2rk3"; depends=[ggplot2 knitr MASS Rcpp registry]; };
   rredis = derive2 { name="rredis"; version="1.7.0"; sha256="0wzamwpmx20did8xj8x9dllri2ps83viyqjic18ari7i4h1bpixv"; depends=[]; };
@@ -12438,7 +12933,7 @@ in with self; {
   rrlda = derive2 { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[glasso matrixcalc mvoutlier pcaPP]; };
   rroad = derive2 { name="rroad"; version="0.0.5"; sha256="09q5r9wq3vm5wy5aigx9wffv7m0njlp3sma1djm6cp7hhwgss0nj"; depends=[]; };
   rromeo = derive2 { name="rromeo"; version="0.1.0"; sha256="0dab3gcdpc5w9nxjw02348vj8cbrr8324aw982kjlrwkpjnvmfv5"; depends=[httr xml2]; };
-  rrpack = derive2 { name="rrpack"; version="0.1-7"; sha256="0svrw2ik59hjyfb0kag4nv8ilcaz7irmkp7ndbxxn0jg7dacb411"; depends=[ggplot2 glmnet lassoshooting MASS Rcpp RcppArmadillo]; };
+  rrpack = derive2 { name="rrpack"; version="0.1-11"; sha256="1bchha6dbkgc1raiks22cjmqzsias0c0frz8il67napkgmwlqk6d"; depends=[ggplot2 glmnet lassoshooting MASS Rcpp RcppArmadillo]; };
   rrr = derive2 { name="rrr"; version="1.0.0"; sha256="0sv6k70mv325yjm8yjy4dw8cqc0xc071iiv94fk1l1yfz0n67prz"; depends=[dplyr GGally ggplot2 magrittr MASS plotly Rcpp]; };
   rrscale = derive2 { name="rrscale"; version="0.1.3"; sha256="0pf5pac883f1p6gidy2k1nrbrygi1va8r5h785449dhphx806bf5"; depends=[abind DEoptim doParallel foreach]; };
   rrtable = derive2 { name="rrtable"; version="0.1.0"; sha256="1rvqb32fr63dkm5kz291pxzli8yi10k76v0lm1qdn28cx1l6ff3y"; depends=[devEMF editData flextable ggplot2 magrittr moonBook officer purrr readr rmarkdown rvg shiny stringr ztable]; };
@@ -12447,44 +12942,46 @@ in with self; {
   rsae = derive2 { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; };
   rsample = derive2 { name="rsample"; version="0.0.5"; sha256="0lkwhydb8csg24zkpsblyykzfsjqr930h46kbpm2wk9kgygkfspd"; depends=[dplyr furrr generics purrr rlang tibble tidyr tidyselect]; };
   rsatscan = derive2 { name="rsatscan"; version="0.3.9200"; sha256="00vgby24jknq8nl7rnqcwg7gawcxhwq8b7m98vjx2hkqx39n4g21"; depends=[foreign]; };
-  rscala = derive2 { name="rscala"; version="3.2.15"; sha256="1d1aiy07cgfnp51vpqfypypkfwzmvw3y81xi81i33p6ylk3mmzi8"; depends=[]; };
+  rscala = derive2 { name="rscala"; version="3.2.16"; sha256="0c07lq3qhg4h5n0g0s1i11q5jrlijvidrdy3h1ln262mn2wqn8az"; depends=[]; };
+  rscielo = derive2 { name="rscielo"; version="1.0.0"; sha256="005nmi18831a2krl2xhj74ya9mfjq8zzccjafnfxha89x8ygxsa3"; depends=[dplyr httr magrittr purrr rvest stringr tibble xml2]; };
   rscimark = derive2 { name="rscimark"; version="1.0"; sha256="1jsjz4d5bnxb90qqzz42m4nyvm8d8w8bs0m1r5g2n78zmckqb8vy"; depends=[checkmate]; };
   rsconnect = derive2 { name="rsconnect"; version="0.8.15"; sha256="018cdbcxlbvqpwzv0qxvvz8yhl0d6gcavpbk1m5fyrgpvys1brri"; depends=[curl jsonlite openssl packrat rstudioapi yaml]; };
-  rscopus = derive2 { name="rscopus"; version="0.6.3"; sha256="1fplb7wmzp78a1xi9b4bw6xis16gixhvl227yfhip650ib4srpv1"; depends=[dplyr httr plyr tidyr]; };
-  rscorecard = derive2 { name="rscorecard"; version="0.12.0"; sha256="112gcziyg8cpdw5aiyzc8473sqp8nr9q1ih4hh68hpvmxk8b407p"; depends=[dplyr httr jsonlite lazyeval magrittr tidyselect]; };
+  rscontract = derive2 { name="rscontract"; version="0.1.0"; sha256="0hhhndvrk9z6izdq4vh95bi9879k0svgpmhajrnm20xc5sb136jf"; depends=[]; };
+  rscopus = derive2 { name="rscopus"; version="0.6.6"; sha256="0kl6rv0j2396b8izvy0lp1f588il6w3yhq6d4swv8x8z14rsgcpw"; depends=[dplyr glue httr jsonlite plyr tidyr]; };
+  rscorecard = derive2 { name="rscorecard"; version="0.13.0"; sha256="1iahfdgjslcnhm24ynvyzdvlrkdkjy1s6hhxqaqc56wprd5bhx27"; depends=[dplyr httr jsonlite lazyeval magrittr tidyselect]; };
   rsdepth = derive2 { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
   rsdmx = derive2 { name="rsdmx"; version="0.5-13"; sha256="1lgy5nbrl4frfn805lghyx1gl2h8lkvgk07365jyvb8rzfcl43av"; depends=[plyr RCurl XML]; };
   rsed = derive2 { name="rsed"; version="0.1.2"; sha256="1rk7wkidvdn1d39a11cbgglz2dg74bbv3v1ijjdx903kgwg3nnrc"; depends=[Smisc]; };
   rseedcalc = derive2 { name="rseedcalc"; version="1.3"; sha256="18zmpjv6g8f7pmvqlp6khxyys9kdnq5x4zxwb6gwybsh4jxrymkp"; depends=[]; };
   rsem = derive2 { name="rsem"; version="0.4.6"; sha256="16nsbp4s20396h2in0zymbpmsn24gqlbik0vgv86zhy1yg1rz9ia"; depends=[lavaan MASS]; };
+  rsf = derive2 { name="rsf"; version="0.2.0"; sha256="0p9h61nvr5p42c7cjqgsvv45ycircw8jd4h3075rly08jbp02nim"; depends=[bookdown knitr magrittr rlang usethis yaml ymlthis]; };
   rsgcc = derive2 { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene snowfall stringr]; };
-  rsggm = derive2 { name="rsggm"; version="0.3"; sha256="17yzvd5vs2avp0nzk7x9bi4d7p6n9nv7675qpgfpwkfqp25lax73"; depends=[glasso MASS Matrix QUIC]; };
-  rsimsum = derive2 { name="rsimsum"; version="0.6.0"; sha256="0awb07dqi8cb6pqh81nw522aqrx29v981vpv62281nak9s4bjryg"; depends=[checkmate ggplot2 ggridges rlang scales]; };
+  rsimsum = derive2 { name="rsimsum"; version="0.7.0"; sha256="1c63nzvyrnjva99hh3ikijpgsmnks8y8qsqxshxn9s1gjix7il5p"; depends=[checkmate ggplot2 ggridges rlang scales]; };
   rsinaica = derive2 { name="rsinaica"; version="0.6.1"; sha256="1ba19b2fgnnl50qp6hgjppgxbadghq68qap9f0m51k2k3ijgfiwn"; depends=[dplyr httr jsonlite lubridate stringr]; };
   rskey = derive2 { name="rskey"; version="0.4.1"; sha256="0l9z5zbii4wi7da6cl9mr62zn72pc3dgfhk6dp8sjx4jbzpa94s3"; depends=[berryFunctions miniUI rstudioapi shiny]; };
   rsleep = derive2 { name="rsleep"; version="1.0.1"; sha256="0kjb5sgv1y50cqg54dy5cx9ngr64hx2bhfav314vm2alnxsk19jh"; depends=[edfReader ggplot2 jsonlite phonTools signal]; };
   rslp = derive2 { name="rslp"; version="0.1.0"; sha256="06glpdsd309058kxww114j9sshvj6gw9g5sdm4zkmzq3cl91fa6h"; depends=[magrittr plyr stringi stringr]; };
-  rslurm = derive2 { name="rslurm"; version="0.4.0"; sha256="1ck4ky5d0pf8hnxz1ijbjk0nfyj1hfnhf9la5qrqw2spa09z82ki"; depends=[whisker]; };
+  rslurm = derive2 { name="rslurm"; version="0.5.0"; sha256="0dpxglcsqa2k0nak10515ga13c46rb4mrbpbr3gv7xckg6347zqg"; depends=[whisker]; };
   rsm = derive2 { name="rsm"; version="2.10"; sha256="0a6bxrb0qad40lnigqjv2pnwwzcwi1rcmh9gb1a1b00k1n3mnmlc"; depends=[estimability]; };
   rsnps = derive2 { name="rsnps"; version="0.3.0"; sha256="1ym58gqpvn708228pbkq1klvl60a60bwxwm0arzzad3wh1wansxj"; depends=[crul data_table jsonlite plyr stringr XML xml2]; };
   rsoi = derive2 { name="rsoi"; version="0.5.0"; sha256="0y7883b4zw95rhndxl66ji513a1m4riacbkbvd1bzkzq4jb3a8fc"; depends=[curl]; };
   rsolr = derive2 { name="rsolr"; version="0.0.9"; sha256="1mxvzb7wvm1agv35r82pr1hxa3fimixcwf36j98qjlxj9p7valrw"; depends=[BiocGenerics graph RCurl restfulr rjson S4Vectors XML]; };
   rspa = derive2 { name="rspa"; version="0.2.5"; sha256="0jvrr3jaw66zqi5pal9dycpac24dn9v7lf2m63q01wmd8m3mlnv9"; depends=[lintools validate]; };
   rsparkling = derive2 { name="rsparkling"; version="0.2.18"; sha256="0lhq9jxxib2krl298hy3sglh5lm5lyibknigpbxx68pn71jwp1hm"; depends=[h2o sparklyr]; };
-  rsparse = derive2 { name="rsparse"; version="0.3.3.3"; sha256="0kdgyn9qcmblwqmz8c0hwcysvz38bjf98b6sj9qsg83kq7prj8zg"; depends=[data_table float lgr Matrix mlapi Rcpp RcppArmadillo RhpcBLASctl]; };
+  rsparse = derive2 { name="rsparse"; version="0.3.3.4"; sha256="1n4h33vrbgia9pm04clji3qgvnamn53v334mj7z1ksx121avli38"; depends=[data_table float lgr Matrix mlapi Rcpp RcppArmadillo RhpcBLASctl]; };
   rsppfp = derive2 { name="rsppfp"; version="1.0.4"; sha256="123yv54i58xj4wx9n08qp50mm4l271fm1zhzimrxx22wn2bg8zy5"; depends=[doParallel dplyr foreach igraph stringr tidyr]; };
   rsq = derive2 { name="rsq"; version="1.1"; sha256="0pvnyf875jybid16mg1y3dmnlrk1vahckhr5zaai1a0k4i6mh4jf"; depends=[MASS]; };
   rstack = derive2 { name="rstack"; version="1.0.0"; sha256="19vbfmkd6ymadah1y1w5rn52f4hviddccyc6qj2cv5viqwbwws2z"; depends=[R6]; };
   rstackdeque = derive2 { name="rstackdeque"; version="1.1.1"; sha256="0i1qqbfj0yrqbkad8bqc1qlxmyxpn7zycbnq83cdmfbilcmi87ql"; depends=[]; };
   rstan = derive2 { name="rstan"; version="2.19.2"; sha256="1nh8sm97ck1fwmqj5ia70p5w8alcagx7y2956a3n5k97qfwwxr1i"; depends=[BH ggplot2 gridExtra inline loo pkgbuild Rcpp RcppEigen StanHeaders]; };
-  rstanarm = derive2 { name="rstanarm"; version="2.18.2"; sha256="0jflfj7g1rx0zhq0kbi1b1zwad1m7lhbvymz43g5c9cx3hh4gi68"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen rstan rstantools shinystan StanHeaders survival]; };
-  rstanemax = derive2 { name="rstanemax"; version="0.1.0"; sha256="0xwacxaj99qz4i2npgpiq4jggx73q53il3jm4qlhmpapbwrkbl5f"; depends=[BH dplyr ggplot2 magrittr Rcpp RcppEigen rstan rstantools StanHeaders tidyr]; };
-  rstantools = derive2 { name="rstantools"; version="1.5.1"; sha256="11dlrz3mj1j9qigh2qff0ixdcfds4ppxd37112yq8bn16b0idasw"; depends=[]; };
+  rstanarm = derive2 { name="rstanarm"; version="2.19.2"; sha256="1k4sal4pmyyfb0n9k0x6n7kd04xq75scr6j357vpryaz8dfn46iz"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen rstan rstantools shinystan StanHeaders survival]; };
+  rstanemax = derive2 { name="rstanemax"; version="0.1.1"; sha256="0yvinnz0ybrarl1p36ibaiflava1hhdnh4avjgc5iq0b3nr6x42g"; depends=[BH dplyr ggplot2 magrittr purrr Rcpp RcppEigen rstan rstantools StanHeaders tidyr]; };
+  rstantools = derive2 { name="rstantools"; version="2.0.0"; sha256="1il0pn4ksbdkska5fmhvgaicvwnnc6cs08g6ags9fj1xkjiqmrsa"; depends=[desc Rcpp]; };
   rstap = derive2 { name="rstap"; version="1.0.3"; sha256="176z39k54l5r60md6wziz828c46alv2pmqivvmhvb358crrb8x7n"; depends=[abind bayesplot BH dplyr ggplot2 lme4 loo Matrix nlme pracma Rcpp RcppEigen rstan rstantools StanHeaders]; };
-  rstatix = derive2 { name="rstatix"; version="0.1.2"; sha256="0jww4div56b57bnf7pxkhnhgrdbyf6wfbxlbd74bl974vdg0dxv3"; depends=[broom car corrplot dplyr magrittr purrr rlang tibble tidyr tidyselect]; };
+  rstatix = derive2 { name="rstatix"; version="0.3.0"; sha256="0rg1wfvjap09x0lc4hfiwsdk0ghldiy33lb97i9w5xs4napkj04d"; depends=[broom car corrplot dplyr magrittr purrr rlang tibble tidyr tidyselect]; };
   rstatscn = derive2 { name="rstatscn"; version="1.1.3"; sha256="07w7ixq1faq7mif2ksxcgl8n6ali9h0wx0nb2yz4kbdgvz68r7b9"; depends=[httr jsonlite]; };
   rstiefel = derive2 { name="rstiefel"; version="1.0.0"; sha256="0g09fpp3432v78gqgn0hiva6zqr8yqn379wz4428wanmiskqr3f0"; depends=[]; };
-  rstpm2 = derive2 { name="rstpm2"; version="1.4.5"; sha256="0xdvv27cf3b45ahvlzbn8n0kmj4kyc7sl52xjr71757ymf154q3g"; depends=[bbmle fastGHQuad mgcv Rcpp RcppArmadillo survival]; };
+  rstpm2 = derive2 { name="rstpm2"; version="1.5.1"; sha256="0p1zqqjss8i5wca4qvr56d6p9ak20ki4cfbxja1wrhkp4kii29r6"; depends=[bbmle deSolve fastGHQuad mgcv Rcpp RcppArmadillo survival]; };
   rstream = derive2 { name="rstream"; version="1.3.5"; sha256="1wprsnwl63cc4a6j5h18r09wlh32bq5z6hj6r5klp7rkpjchsplp"; depends=[]; };
   rstudioapi = derive2 { name="rstudioapi"; version="0.10"; sha256="15mbw607ncdf53mgga76n3va5zzdcjqz14nb0jcn9axwccqamic0"; depends=[]; };
   rsubgroup = derive2 { name="rsubgroup"; version="0.6"; sha256="1hz8rnbsl97ch6sjwxdicn2sjyn6cajg2zwmfp03idzpb3ixlk7l"; depends=[foreign rJava]; };
@@ -12496,21 +12993,22 @@ in with self; {
   rt_test = derive2 { name="rt.test"; version="1.18.7.9"; sha256="0ywkdjvfzmrmmsfkz4jbhwzbzv7wivx80xy8wr92dch1862h6ias"; depends=[]; };
   rt3 = derive2 { name="rt3"; version="0.1.2"; sha256="1fqbymkz4csavkxrs26glzrh0kw3qy9x5smgddgda9a1dxh9ljkm"; depends=[]; };
   rtape = derive2 { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
-  rtdists = derive2 { name="rtdists"; version="0.9-0"; sha256="14ccpn67xdsx5fhwiw32z55gldzdcpaparqb1zpls2r233wg0v99"; depends=[evd gsl msm Rcpp]; };
+  rtdists = derive2 { name="rtdists"; version="0.10-0"; sha256="0dm4nx94xfg6bs7v2m4makk4qx4zw1xh49nihpsaj8vx1ng4lp89"; depends=[evd gsl msm Rcpp]; };
   rtematres = derive2 { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[gdata plyr RCurl XML]; };
   rtext = derive2 { name="rtext"; version="0.1.21"; sha256="0j2jfz0mz9552dwa78d527lxipmj5ql8q8np8qq5jw4ka6wj5lbs"; depends=[digest hellno magrittr R6 Rcpp RSQLite stringb]; };
   rtf = derive2 { name="rtf"; version="0.4-14"; sha256="1v4vb2ijqlbqcjqdhf85kfzs67whkhm6ygp5cw8xa6qw179vkgd5"; depends=[R_methodsS3 R_oo]; };
   rtfbs = derive2 { name="rtfbs"; version="0.3.9"; sha256="02irj6c7nfgp42yb5zdmhbr5pi09xgx0z76d1ccfczjf0r1cyvfz"; depends=[rphast]; };
-  rticles = derive2 { name="rticles"; version="0.9"; sha256="19kp0fk2skdnsk6vmgf5p9m9c2lf112kir1kpw33hmzyn8cf1fjv"; depends=[knitr rmarkdown tinytex xfun yaml]; };
+  rticles = derive2 { name="rticles"; version="0.12"; sha256="1zc8cpm3621a9qnwa15clqkn3qf2n55xrj1ncpz6gmcqkw2gxs0g"; depends=[knitr rmarkdown tinytex xfun yaml]; };
   rtide = derive2 { name="rtide"; version="0.0.5"; sha256="0ns79xkkl141bbns8zlvx3gf48k4a03qa21pjyhnhgkm9lsihwfc"; depends=[abind checkr lubridate]; };
-  rtiff = derive2 { name="rtiff"; version="1.4.6"; sha256="09p4rki1z6zy79z9hb8pajglznnklr4hg7fcyrdxnqs1sjbw1iwy"; depends=[pixmap]; };
+  rtiff = derive2 { name="rtiff"; version="1.4.7"; sha256="0l0chjbn8kipnhi37zshphxmxga6id39rm5gzz5gjrv8bnaaxxqb"; depends=[pixmap]; };
   rtika = derive2 { name="rtika"; version="1.22"; sha256="1vlv2v7s7p6plahph1wvki68ssyqq8l49brj3pp3r0cnz082askl"; depends=[curl digest rappdirs sys]; };
   rtimicropem = derive2 { name="rtimicropem"; version="1.4.0"; sha256="0z6bnzks8mcb871m3z5b3cd883hj1i17swjgly005hvwbvi9h61f"; depends=[changepoint dplyr fs ggplot2 knitr lazyeval lubridate R6 rbokeh readr stringr tibble tidyr]; };
   rtip = derive2 { name="rtip"; version="1.1.1"; sha256="0lfny8nvgnf90xsmgmr32nzjbw8117m4vw7d0bc3xm4pzpnymjdq"; depends=[boot ggplot2 mvtnorm plyr rootSolve]; };
   rtk = derive2 { name="rtk"; version="0.2.5.7"; sha256="0h2664z7rbpj0zqnixb5swkkpjbbsgiagmd6dl92k10zphw0c8i0"; depends=[Rcpp]; };
   rtkore = derive2 { name="rtkore"; version="1.5.5"; sha256="0srk0ih4gbmhb1pl6zf8sjwrkdmgws9cl1397fcqv6l3bc376622"; depends=[inline Rcpp]; };
+  rtmpt = derive2 { name="rtmpt"; version="0.1-17"; sha256="0hp4hia8fp9kbs25hgbjv2nr3h0lkn4v4b0j0c4a9bfm2mrvy0l9"; depends=[coda data_table LaplacesDemon loo stringr truncnorm]; };
   rtop = derive2 { name="rtop"; version="0.5-14"; sha256="1wwllckginnzisapbklpsizy47db24r83xahq4qsd8zhqvv9yj33"; depends=[gstat sp]; };
-  rtrek = derive2 { name="rtrek"; version="0.2.0"; sha256="0xp97vzbd5lmad7zd1n14y3x6l7kdqrl9kzj5ncmikwxa5iavcn2"; depends=[downloader dplyr ggplot2 jpeg jsonlite magrittr memoise purrr rvest tibble tidyr xml2]; };
+  rtrek = derive2 { name="rtrek"; version="0.2.5"; sha256="0b7j0y20damrzih3ibj4jf7gpa0sjqqxh31h9cs6r41mn5m7pyj2"; depends=[downloader dplyr ggplot2 jpeg jsonlite magrittr memoise purrr rvest tibble tidyr xml2]; };
   rtrends = derive2 { name="rtrends"; version="0.1.0"; sha256="04xdggf36m294drb9z8khdjr6fgsg4bwkb4mmbbvqfzjpq4mq4y1"; depends=[dplyr lubridate tidyr]; };
   rtrim = derive2 { name="rtrim"; version="2.0.6"; sha256="18fvi8zbf9dqwi5x0sgy2aay5565ldvqpispqqb5gx2lwb9qra2r"; depends=[]; };
   rts = derive2 { name="rts"; version="1.0-49"; sha256="086zlmcjsv7a38k1jfzq2vhlmx7nivhffcz83i57hl6wbkjl7gv2"; depends=[raster RCurl sp xts zoo]; };
@@ -12528,33 +13026,34 @@ in with self; {
   ruin = derive2 { name="ruin"; version="0.1.1"; sha256="124xs1c2mjfy6z0bp83rwkqw2y73g77xwn3q4yd2xw0v2frnpvpz"; depends=[ggplot2]; };
   ruler = derive2 { name="ruler"; version="0.2.1"; sha256="01b5qn6b69hhl9df6sr187w16z5hj6vxb8yi77y2rghkcrnm12i9"; depends=[dplyr keyholder rlang tibble tidyr]; };
   runittotestthat = derive2 { name="runittotestthat"; version="0.0-2"; sha256="15zdcvqkr5ivq6wk6dw8k6diginc6z7mdc18pswim90d99j2g9sm"; depends=[assertive RUnit]; };
-  runjags = derive2 { name="runjags"; version="2.0.4-2"; sha256="035sxmh0b0m6dwz8qbpsmw2p7ihkx3cxgkhj27i0j6dsjryl3x4p"; depends=[coda lattice]; };
-  runner = derive2 { name="runner"; version="0.2.0"; sha256="17scm3kvv4gklwfqwc8kjxa4ycdk0f7vxi8ixfy29lif9wlanmrw"; depends=[Rcpp]; };
-  runstats = derive2 { name="runstats"; version="1.0.1"; sha256="05kaw3wkvr6csaa17ivib0hssh2c4nmmkqyba796zpixwmmmb7wq"; depends=[]; };
+  runjags = derive2 { name="runjags"; version="2.0.4-4"; sha256="0wqc3kmilvn3szyqvwrvqlins6smpvwv2fj80yflxcr553kph7xd"; depends=[coda lattice]; };
+  runner = derive2 { name="runner"; version="0.2.3"; sha256="1vnq8lchsffdi8bwi9bv4n6aw2ha1gykwsm0wrm2nhsfp7i1y164"; depends=[Rcpp]; };
+  runstats = derive2 { name="runstats"; version="1.1.0"; sha256="0n9348af60j8a2mwgbafabspb4nm45ry92zlzmynja06zyx8lb2d"; depends=[fftwtools]; };
   rusda = derive2 { name="rusda"; version="1.0.8"; sha256="0xx72jjf1pyixwpnvvgx5n2vc5gl46bam1caav043iqki68wb338"; depends=[foreach httr plyr RCurl stringr taxize testthat XML]; };
   rusk = derive2 { name="rusk"; version="0.1.1"; sha256="0a6vbcnfzlfq9fmibiy0cwcfix65qhxq4f7wc7d53riga82s00lk"; depends=[dplyr ggforce ggplot2 reshape2 shiny tidyr]; };
-  rust = derive2 { name="rust"; version="1.3.6"; sha256="1qh7cf9h1v1fhh2cibrz5afdri6zhcdx0nv0d2y2i6mam0xljf6x"; depends=[Rcpp RcppArmadillo spatstat]; };
+  rust = derive2 { name="rust"; version="1.3.7"; sha256="0d92vqm7hvdwy0glsjg7l1w324zmnq1igypb7f2ymsj7bls0h61d"; depends=[Rcpp RcppArmadillo spatstat]; };
   ruta = derive2 { name="ruta"; version="1.1.0"; sha256="1qr2ryz55h2j3wlwg0535lhmk2ydm0idfxl07rlfxq1pi32cjms1"; depends=[keras purrr R_utils]; };
-  ruv = derive2 { name="ruv"; version="0.9.7"; sha256="1ynxmax9sz74s8abmmizla6jas385mn5ij151mq35k0yv1xszzj5"; depends=[ggplot2 gridExtra scales]; };
+  ruv = derive2 { name="ruv"; version="0.9.7.1"; sha256="1n4q9mrp9f644spbns6bbnzmlabrg90hwkdfg3hnm3rxp9b4xid0"; depends=[ggplot2 gridExtra scales]; };
   rv = derive2 { name="rv"; version="2.3.3"; sha256="1h5lhy87v88b70a7pbq5xirskm6ih9fk90n6mzp1nmkr7w1d3zai"; depends=[]; };
   rvHPDT = derive2 { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
   rvTDT = derive2 { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
   rvalues = derive2 { name="rvalues"; version="0.6.3"; sha256="1bsdvwcijb75f27c8padjx8663as667axc4skwa6xgv5y423kbd0"; depends=[]; };
-  rvcheck = derive2 { name="rvcheck"; version="0.1.3"; sha256="1i2g6gyiqyd1pn6y0h6vmlcmg1qb5pv7rym8mkw8jnyc3in9hn8b"; depends=[rlang]; };
+  rvcheck = derive2 { name="rvcheck"; version="0.1.7"; sha256="1a3xlzi4n1rqiapfa180aif7n7nws8pbg8k3nk7ccaczvmni38aw"; depends=[BiocManager rlang]; };
   rversions = derive2 { name="rversions"; version="2.0.0"; sha256="0mkg9zrjxlbwqzijiysivrs523x48syqj30xdfp88clpkqfk435m"; depends=[curl xml2]; };
   rvertnet = derive2 { name="rvertnet"; version="0.7.0"; sha256="01z3ij5z21v901hz4l9173r4pa9jz2nl7bx086ka1bxvcy0dgqgj"; depends=[crul dplyr ggplot2 jsonlite maps]; };
-  rvest = derive2 { name="rvest"; version="0.3.4"; sha256="0ji5lk8g1gbv4d9c4jg1fg6rgsqrrwkm05j1id7drdw9kqdifgj1"; depends=[httr magrittr selectr xml2]; };
-  rvg = derive2 { name="rvg"; version="0.2.1"; sha256="0j61qlswrivz4a4jx8laprcyfzm867x3qibr65vd0fyvf7m6dl8p"; depends=[gdtools officer Rcpp rlang xml2]; };
+  rvest = derive2 { name="rvest"; version="0.3.5"; sha256="0r0a5jic09xw5pk0x42pr99r3zab5m9s4x85ymx1sl769jz42zqf"; depends=[httr magrittr selectr xml2]; };
+  rvg = derive2 { name="rvg"; version="0.2.2"; sha256="0f74ja8frkfgb5hhsdydirn7v6hhylmq5wbay9p0z2ac16xrslrd"; depends=[gdtools officer Rcpp rlang xml2]; };
   rvgtest = derive2 { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
   rviewgraph = derive2 { name="rviewgraph"; version="1.2"; sha256="0qw1fdfwg2763a1k1qmryblw5rpagsi5p70rs7fj256zfcjvwrz8"; depends=[rJava]; };
-  rvinecopulib = derive2 { name="rvinecopulib"; version="0.3.2.1.1"; sha256="093iy7jy7iair3qiqifmbml420bkyzyj8xd09vyffwnw1q3cri1d"; depends=[assertthat BH cctools kde1d lattice Rcpp RcppEigen RcppThread wdm]; };
+  rvinecopulib = derive2 { name="rvinecopulib"; version="0.5.1.1.0"; sha256="1616xqchjyqqf2nmgx5rlpnw8g4696lvlpmrx7jav2cnvkff7s2i"; depends=[assertthat BH kde1d lattice Rcpp RcppEigen RcppThread wdm]; };
   rvkstat = derive2 { name="rvkstat"; version="2.6.2"; sha256="11jaxmf24rkzmymx5dvfjbw2i6lxw4n4g4f83kpjf2768cvscyp2"; depends=[httr jsonlite RCurl tidyr]; };
-  rwalkr = derive2 { name="rwalkr"; version="0.4.0"; sha256="01ia1wkmbigly45kyc1ydrah0yzxlymsnj3vy6wf8ck24lv51dif"; depends=[dplyr httr tidyr]; };
+  rwalkr = derive2 { name="rwalkr"; version="0.5.0"; sha256="1sf3f072j8lywik0j8dhnpd34svlv2j4j47nvyym9ykw4w4apm2a"; depends=[dplyr hms httr tidyr]; };
   rwars = derive2 { name="rwars"; version="1.0.0"; sha256="0kmwpr6gn3xsf0pqx153vblpjbhc34mzlgyv8xb2nw78nf8znfij"; depends=[httr]; };
   rwavelet = derive2 { name="rwavelet"; version="0.4.0"; sha256="0wb3kd97inyh985q1hspnzwxfawfdps43r3zzdpw0jd8sgd7zqxp"; depends=[signal]; };
   rwc = derive2 { name="rwc"; version="1.11"; sha256="1qhgkbkp4nz0wq5c4x8232xiszpiyzcdklfgvpnx4cbp3bbfdi4g"; depends=[MASS Matrix mvtnorm raster]; };
   rwebstat = derive2 { name="rwebstat"; version="1.0.2"; sha256="14mzqs4qjb3qgpci1a1c4sj803mjnzv9j910zmhkg5l8bx9nj5xw"; depends=[dplyr getPass httr readr]; };
   rwfec = derive2 { name="rwfec"; version="0.2"; sha256="0wmalfms59zi8jdn2s2qbcdckfkifl9vg19hzx4389mm5gk6qsbh"; depends=[Rcpp]; };
+  rwhatsapp = derive2 { name="rwhatsapp"; version="0.2.0"; sha256="124jy73nb9w5gwzg6007nffgvmii8528vn93pqqh8q78ays198qq"; depends=[dplyr rlang stringi tibble tidytext]; };
   rworldmap = derive2 { name="rworldmap"; version="1.3-6"; sha256="1q1h0n9qr0m5pdx10swrh9ddsvdj8kv5nqngrf3lnx9rg9iwivjk"; depends=[fields maptools sp]; };
   rworldxtra = derive2 { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; };
   rwt = derive2 { name="rwt"; version="1.0.0"; sha256="112wp682z4gkxsd3bqnlkdrh42bfzwnnhzyangxi2dh0qw63bgcr"; depends=[matlab]; };
@@ -12562,15 +13061,15 @@ in with self; {
   rwunderground = derive2 { name="rwunderground"; version="0.1.8"; sha256="02p26gkicd5v511kb04p1h3wxj57r7j5vr97n3ibywc6ivz7nqxa"; depends=[countrycode dplyr httr lubridate tibble]; };
   rxSeq = derive2 { name="rxSeq"; version="0.99.3"; sha256="0g0n2pzbssz61psghjp1vrlspgph4s39x1k1zhcz7ivdn5pjb2nx"; depends=[MASS numDeriv VGAM]; };
   rxylib = derive2 { name="rxylib"; version="0.2.4"; sha256="0va7kw40nycjn8gh9blzpbph4z319r5a16yim8lwx3hi6rs9myhr"; depends=[BH Rcpp]; };
-  ryandexdirect = derive2 { name="ryandexdirect"; version="3.2.0"; sha256="0mzdxkbndyjqn0hx2hchcfnpfj2n2fc1gfgfgrj66r3cdvxsazsy"; depends=[bitops data_table dplyr httr jsonlite magrittr readr xml2]; };
+  ryandexdirect = derive2 { name="ryandexdirect"; version="3.2.2"; sha256="0ga6kx4mpd1dw6b8nbnmc7cly7kcmkplldgdy6jaiz3jmsiy2vgn"; depends=[bitops data_table dplyr httr jsonlite magrittr readr xml2]; };
   rym = derive2 { name="rym"; version="0.5.2"; sha256="1j69fmc0wgj8w5y68ix13kh3rsc4blmyc9hsmp41crgr10mi3nvi"; depends=[httr stringr]; };
   ryouready = derive2 { name="ryouready"; version="0.4"; sha256="1d9z3paxcrkwsgn5g83x57jwz2iqarks30x0bwg48i5ispw6xbr3"; depends=[car ggplot2 stringr]; };
   rysgran = derive2 { name="rysgran"; version="2.1.0"; sha256="1l2mx297iyipap8cw2wcw5gm7jq4076bf4gvgvij4q35vp62m85z"; depends=[lattice soiltexture]; };
   rzeit2 = derive2 { name="rzeit2"; version="0.2.3"; sha256="0fvkpc6l57s64m0zx8fzazvyhpn5wxa1cb185h20x8hjf069i5lf"; depends=[anytime httr jsonlite openssl rvest stringr xml2]; };
   rzmq = derive2 { name="rzmq"; version="0.9.6"; sha256="05j34fwwqlzq9nfkaafl39aqc0nvljf22pndqhj151gpnrpgr8w0"; depends=[]; };
-  s2 = derive2 { name="s2"; version="0.4-0"; sha256="1mpivllq3r3kn7msb7qn9h8fr31jl5cvfg1pdq1wi69k4bznd8y0"; depends=[Rcpp]; };
+  s2 = derive2 { name="s2"; version="0.4-2"; sha256="17r3xn2ldlz7qpdwrp0mdm7pfrdfwibyv8biaxq4b6qx0p7wvw6n"; depends=[Rcpp]; };
   s20x = derive2 { name="s20x"; version="3.1-28"; sha256="1fx5206gy7cq4n0xrdxcvnd913i08yjjz39ldjm3a98sfz6xj636"; depends=[]; };
-  s2dverification = derive2 { name="s2dverification"; version="2.8.5"; sha256="1y4sj5dkjr9kx3m0iwxpsrq7x1rqjfrz2wxbngk1a6qnxyk52aim"; depends=[abind bigmemory GEOmap geomapdata mapproj maps NbClust ncdf4 plyr SpecsVerification]; };
+  s2dverification = derive2 { name="s2dverification"; version="2.8.6"; sha256="1nvmc3mpdqrcnv17vk8rjd7mh55pj68y2ffiia09lc8h84r3zxil"; depends=[abind bigmemory GEOmap geomapdata mapproj maps NbClust ncdf4 plyr SpecsVerification]; };
   s4vd = derive2 { name="s4vd"; version="1.1-1"; sha256="1rp3z42nxmrvb942h3c5cl544lngzx7nrnnr4zjw7dq495bym7yp"; depends=[biclust foreach irlba]; };
   sAIC = derive2 { name="sAIC"; version="1.0"; sha256="1ih63cfs98kb61gwbmrx2yq7iacb5qa1qrh1a264041qd27r5pj5"; depends=[]; };
   sBF = derive2 { name="sBF"; version="1.1.1"; sha256="0dankakl4rwl9apl46hk57ps4mvn2l1crw4gdqds26fc8w6f6rab"; depends=[]; };
@@ -12584,7 +13083,8 @@ in with self; {
   sSDR = derive2 { name="sSDR"; version="1.2.0"; sha256="1fqsglqzsbzdvcdnwwf7mg6x20zfpw66x63r6avac3w1pz3n7kvx"; depends=[MASS Matrix]; };
   sValues = derive2 { name="sValues"; version="0.1.6"; sha256="0830f4w6jgpiysk0vz0bxaxwa8m3k94fgj9l3qb42r3jjf9cdn29"; depends=[ggplot2 reshape2]; };
   saasCNV = derive2 { name="saasCNV"; version="0.3.4"; sha256="12h5vrl55sb4wmx0hzib5iax8p0q2qzk19h15r0asfkh9l7qz94l"; depends=[DNAcopy RANN]; };
-  sabre = derive2 { name="sabre"; version="0.3.1"; sha256="0yqw126yr7syjdwq780b395b9qwncqr86vjkmwcvs2w6v1j3nppi"; depends=[dplyr entropy raster rlang sf tibble tidyr]; };
+  sabarsi = derive2 { name="sabarsi"; version="0.1.0"; sha256="14c94zby3jjm6jr28nrg3qp6r6iw68wsb5l5bpd6jjz9pkljrk9i"; depends=[]; };
+  sabre = derive2 { name="sabre"; version="0.3.2"; sha256="14rvc8in8lfs9vg96jkqm3xg7bszwss5zd78vngp36x4yay007b6"; depends=[dplyr entropy raster rlang sf tibble tidyr]; };
   sac = derive2 { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; };
   saccades = derive2 { name="saccades"; version="0.1-1"; sha256="138a6g3hjmcyvflpxx1lhgxnb8svrynplrjnvzij7c4bzkp8zip6"; depends=[zoom]; };
   sadists = derive2 { name="sadists"; version="0.2.3"; sha256="17jlzx5h5l1w7riz0rs99w31n6lxnnxwzbzqn2z5r292j2nxvmkw"; depends=[hypergeo orthopolynom PDQutils]; };
@@ -12599,12 +13099,14 @@ in with self; {
   safer = derive2 { name="safer"; version="0.2.1"; sha256="1lmhaj9y0hi4ybxfkllxl99vsagcg73sy4kkcmlvn3bs69jky1r9"; depends=[assertthat base64enc sodium]; };
   safetyGraphics = derive2 { name="safetyGraphics"; version="1.0.0"; sha256="0vkl31bwh2ishijby2xhp5jcnjxzvy6bsv83f3cfpv4qcw4wbd4k"; depends=[dplyr DT haven htmlwidgets jsonlite magrittr purrr rlang rmarkdown shiny shinyjs shinyWidgets stringr tibble tidyr]; };
   salesforcer = derive2 { name="salesforcer"; version="0.1.3"; sha256="1nhw7l6bg375dqqcaxjfvhjm9sb1jsil5wayhffdxc9lqdxrd5a2"; depends=[data_table dplyr httr jsonlite lubridate purrr readr XML xml2]; };
+  salso = derive2 { name="salso"; version="0.1.9"; sha256="1an0viw8j1mnafc16hdgiynnaxxvwi3nf4pwaig5zagpzg4kl6im"; depends=[]; };
   salty = derive2 { name="salty"; version="0.1.0"; sha256="1dxq62yrkv416fy09l03slc7ci6mnwiyvjlsxhbqnj8yjy3kbhr6"; depends=[assertthat purrr stringr]; };
   sambia = derive2 { name="sambia"; version="0.1.0"; sha256="15yz5lrjav5bs8m52crg3l43xmi4gf7wydji76p181ssyg43z2ln"; depends=[dplyr e1071 FNN mvtnorm pROC ranger smotefamily]; };
+  samc = derive2 { name="samc"; version="1.0.3"; sha256="1jhlxyh1h4p29axrpncpjhqxaziybf8hpfa52nxgnif0c9hwjn4b"; depends=[gdistance Matrix raster Rcpp RcppEigen]; };
   samon = derive2 { name="samon"; version="4.0.0"; sha256="0pvv93ahh0i69ncc3sic9481wd5rv5dfxysxyzkl61ds3yvrr09v"; depends=[]; };
   sampSurf = derive2 { name="sampSurf"; version="0.7-4"; sha256="0azs8d1d4cp5vzrlzpn2lbqmbha6rxq109apg6hr2hf7i81g19d7"; depends=[boot lattice latticeExtra raster rasterVis sp]; };
   sampleSelection = derive2 { name="sampleSelection"; version="1.2-6"; sha256="1ph26v78sy8341d9iir6243vmvnrnan7gj5mr31913kpgkblcwfj"; depends=[Formula maxLik miscTools mvtnorm systemfit VGAM]; };
-  sampler = derive2 { name="sampler"; version="0.2.3"; sha256="0kp11b252d20kjcb9w92057mm4kzp9z6zcz44vcc5wsjmrg1nc09"; depends=[dplyr purrr reshape tidyr]; };
+  sampler = derive2 { name="sampler"; version="0.2.4"; sha256="12jjx3ci1yss8dj64bjdmz73cyjfkwb7b9zk4zm48lqv78k6wlv7"; depends=[dplyr purrr reshape tidyr]; };
   samplesize = derive2 { name="samplesize"; version="0.2-4"; sha256="0n6z7jmf665lbj3g1mjy87a9fh53z85546bhrkmkgsysb0r9q6iq"; depends=[]; };
   samplesize4surveys = derive2 { name="samplesize4surveys"; version="3.7.5.1"; sha256="01d42sj5sq95h14hdkrq4191pn66c3hhmymqvgl90mrpbcgzk5bw"; depends=[TeachingSampling timeDate]; };
   samplesizeCMH = derive2 { name="samplesizeCMH"; version="0.0.0"; sha256="0gdywqmylid4fkz5syzf1wgcan71whhm9gjylmsg4p05hlwvpv1d"; depends=[]; };
@@ -12620,6 +13122,7 @@ in with self; {
   sandwich = derive2 { name="sandwich"; version="2.5-1"; sha256="1mk685b9wq7k566pbml52rj96i5h6b3vf215k9picgmq296nzvyv"; depends=[zoo]; };
   sanitizers = derive2 { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
   sankey = derive2 { name="sankey"; version="1.0.2"; sha256="0jvcr2bn69aklfbgj4hbsrc047mymrx0jmsg26m0g6w7n1igqvcw"; depends=[simplegraph]; };
+  sankeywheel = derive2 { name="sankeywheel"; version="0.1.0"; sha256="1sigj4jz13qj4s8vxk0dl2xsddqgyfxabj8yggkasawm7pryvbyy"; depends=[htmlwidgets]; };
   sanon = derive2 { name="sanon"; version="1.5"; sha256="1iikm7ivlz87kbq0ax9r1dz29zdq1kmhxd2imzc4hkvr1rwgciv6"; depends=[]; };
   santaR = derive2 { name="santaR"; version="1.0"; sha256="10g4z951mpxw9d21s5f6zwfch5xs9vx812fb0wyrbw9s8drmlbkh"; depends=[doParallel foreach ggplot2 gridExtra iterators pcaMethods plyr reshape2 shiny shinythemes]; };
   saotd = derive2 { name="saotd"; version="0.2.0"; sha256="1rhkhsnmh3nf7y0x5sl3mmr5mismz8m92gj0v12niysalcywiarh"; depends=[dplyr ggplot2 ggraph igraph ldatuning lubridate magrittr maps plyr purrr reshape2 scales stringr tidyr tidytext topicmodels twitteR widyr]; };
@@ -12630,13 +13133,13 @@ in with self; {
   sars = derive2 { name="sars"; version="1.2.0"; sha256="03pqdnfchin541fb5awb5i5xl8ryh382wh898hxgxi05qaz1cv07"; depends=[cli crayon dplyr nortest numDeriv]; };
   sas7bdat = derive2 { name="sas7bdat"; version="0.5"; sha256="0qxlapb6wdhzpwlmzlhscy3av7va3h6gkzsppn4sx5q960310an3"; depends=[]; };
   sasMap = derive2 { name="sasMap"; version="1.0.0"; sha256="11vhhxhakqm1gsb3p4s4966sapmrqfyw79zfppbx5lnqi3xr0ngn"; depends=[readr stringi stringr]; };
+  sass = derive2 { name="sass"; version="0.1.2.1"; sha256="02a5n0l8wya5v1iq2rb4hvc0gm23790jnjl7i3pzw2b5vkqd3l7s"; depends=[digest]; };
   satellite = derive2 { name="satellite"; version="1.0.1"; sha256="1g8zzlsdvb56l2jph7i5wjgbpyx5dkwa3nv8mzmg0qyh3zd9pyi0"; depends=[plyr raster Rcpp]; };
   satscanMapper = derive2 { name="satscanMapper"; version="1.0.1"; sha256="1qr7xz7qp39nylkrx3smzga7rvi2z9yws8kbpmfk13avixr4asvy"; depends=[foreign RColorBrewer SeerMapper sp stringr]; };
   saturnin = derive2 { name="saturnin"; version="1.1.1"; sha256="0cjp4h1s9ivn17v8ar48mxflaj9vgv92c8p9l2k5bc9yqx9mcs36"; depends=[Rcpp RcppEigen]; };
   saves = derive2 { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
   saws = derive2 { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; };
-  sazedR = derive2 { name="sazedR"; version="2.0.0"; sha256="0jaqjp9xnnq6par44i2vbcirwgnma44zjaccir3ma86kgj9wzdbi"; depends=[bspec dplyr fftwtools pracma zoo]; };
-  sbart = derive2 { name="sbart"; version="0.1.1"; sha256="0552dbdj7rm1h7dbl34m4r4disra6x3p919d9c4719ks88i78255"; depends=[LaplacesDemon msm Rcpp]; };
+  sazedR = derive2 { name="sazedR"; version="2.0.1"; sha256="1y8vlffvw7ff6j6pqwd0r2zxx1an846znajgcl8mdcbjimvf7fg5"; depends=[bspec dplyr fftwtools pracma zoo]; };
   sbfc = derive2 { name="sbfc"; version="1.0.1"; sha256="1xz8h1m5d5ahrz4wsy55amd5mxh3acjs5qmcn7gl6yh3pn0c8phf"; depends=[DiagrammeR discretization Matrix Rcpp RcppArmadillo]; };
   sbgcop = derive2 { name="sbgcop"; version="0.980"; sha256="0vmg8b4462qghlyx6hq0raf9xqvygzgwi5y0cbqcljhmbmqjrwxs"; depends=[]; };
   sbioPN = derive2 { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
@@ -12646,35 +13149,36 @@ in with self; {
   sbpiper = derive2 { name="sbpiper"; version="1.9.0"; sha256="0pjq88ixk494wlz4nh5anbsn59mmh9wg564qh3vzwwqgxf1k61cg"; depends=[colorRamps data_table factoextra FactoMineR ggplot2 Hmisc reshape2 scales stringr]; };
   sbrl = derive2 { name="sbrl"; version="1.2"; sha256="1d0f2mlzzcghhvqagrr954qa69b5v47milw3iazxihh8q1qlird2"; depends=[arules Rcpp]; };
   scBio = derive2 { name="scBio"; version="0.1.5"; sha256="12wch9dp7n9vigv7rp7i5b5sckn9vvckpclylinnbi1mhawxprv9"; depends=[doSNOW fields foreach LiblineaR limma raster sp]; };
-  scModels = derive2 { name="scModels"; version="1.0.0"; sha256="1f7inj7fr9yig7af2kz6j5fkb0gmmrbhmkanjwcc6q12xlg1l1rc"; depends=[Rcpp]; };
+  scModels = derive2 { name="scModels"; version="1.0.1"; sha256="0n2sc2l3wy08i0xq7jwigkr42wz9gyhlirmjmma9plnmkbrx0rp4"; depends=[Rcpp]; };
   scPDSI = derive2 { name="scPDSI"; version="0.1.3"; sha256="00z5qk14c1ndrd63rhvknkp3dn3ad8z8mf00p9sb8wbsi908md44"; depends=[Rcpp]; };
   scRNAtools = derive2 { name="scRNAtools"; version="1.0"; sha256="0x0lniqhq6q87y08kkkyvmk1g5b8i73hm3h86ba8rcv0v0n7ap9a"; depends=[ALL ConsensusClusterPlus corrplot edgeR foreach ggplot2 ggthemes Hmisc igraph lattice limma PerformanceAnalytics plyr reshape2 Rmisc Rtsne scatterplot3d survival TPEA]; };
   scaRabee = derive2 { name="scaRabee"; version="1.1-3"; sha256="1yap3hi36f8hk93jn59nxrbgq8iw0xwkkm3pc2gb50cpcpaq41pd"; depends=[deSolve lattice neldermead]; };
   scagnostics = derive2 { name="scagnostics"; version="0.2-4.1"; sha256="1azg1xlid63l9mcyns9yyl3a3hykbl0sl0h5jhyvzjzahfyanq53"; depends=[rJava]; };
   scaleboot = derive2 { name="scaleboot"; version="0.3-4"; sha256="16shdj4b8pbdbphqzw7r5xzx6k2qfkr729inv21gkp9qcp4h0vrm"; depends=[mvtnorm pvclust]; };
-  scales = derive2 { name="scales"; version="1.0.0"; sha256="0353dkh3d7x78463c6ds80hcml59lrqwr8rlv82a8dnkxla4l7qc"; depends=[labeling munsell R6 RColorBrewer Rcpp viridisLite]; };
+  scales = derive2 { name="scales"; version="1.1.0"; sha256="00rdbfj5mwc3kr8pskidn3n2zkp4ms6cx36xazz54pxw3pysdr0y"; depends=[farver labeling lifecycle munsell R6 RColorBrewer viridisLite]; };
   scalpel = derive2 { name="scalpel"; version="1.0.1"; sha256="18mapg96xl9a1g85h5xhqsz1333hkc28z0ivfjaff933p1kc6sng"; depends=[gam igraph Matrix protoclust R_matlab SDMTools]; };
   scalreg = derive2 { name="scalreg"; version="1.0.1"; sha256="0kfcgl9cpp6g1qx23s1yrjzn0hi74vmrw567vy9wpsmhk04a5bkx"; depends=[lars]; };
-  scam = derive2 { name="scam"; version="1.2-4"; sha256="058jwvsrk5ygh0ripc9n1v07yjw4kilyrbwv3hk1hw2wvznli0j3"; depends=[Matrix mgcv]; };
-  scan = derive2 { name="scan"; version="0.20"; sha256="1xyng9dlfmp7n2h91n4xy9lx3jm205gjiizdqk1yj1qw8mmahvqc"; depends=[nlme]; };
+  scam = derive2 { name="scam"; version="1.2-5"; sha256="0c8pp2cr3khaibpv3m8kkw73q2pdx6931kh8w64s38wgvjv293fp"; depends=[Matrix mgcv]; };
+  scan = derive2 { name="scan"; version="0.40"; sha256="1khmg05dzs1va66bm26wxx440nlkl0r70wbh814fdlmij3py7m54"; depends=[car kableExtra knitr MASS mblm nlme readxl]; };
   scanstatistics = derive2 { name="scanstatistics"; version="1.0.1"; sha256="147fhq34vqkq50bw0g3a112048s5jaxxcwm3iv5wykp8zl45msmz"; depends=[dplyr emdbook ismev magrittr plyr purrr Rcpp RcppArmadillo reliaR sets tibble tidyr]; };
   scape = derive2 { name="scape"; version="2.3-2"; sha256="1i3k37r7lisrj1pblni5xn76kf6py52s4yd51fm78c3286yfaasf"; depends=[coda Hmisc lattice]; };
   scar = derive2 { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
   scatr = derive2 { name="scatr"; version="1.0.1"; sha256="1c2z722i7d7qflh4mzb8kkix5i22wph98kwz2p98x2mhaml8802d"; depends=[cowplot ggplot2 ggridges ggstance jmvcore R6]; };
   scatterD3 = derive2 { name="scatterD3"; version="0.9"; sha256="0miadn406viqzw1sc27fl3xb1l0vvachrfiv72jl9r7qgk2ga5jv"; depends=[digest ellipse htmlwidgets]; };
-  scatterpie = derive2 { name="scatterpie"; version="0.1.2"; sha256="0r3m3781jvzxr0ry7rhd085c0xl5620sf5zcq9nnfl613imwxj2b"; depends=[ggforce ggplot2 rlang rvcheck tidyr]; };
+  scatterpie = derive2 { name="scatterpie"; version="0.1.4"; sha256="0g5sn0iv6c1q7y51j4gbbbnil5089dgk1w4q94c7h5y3x7wfrzqb"; depends=[ggforce ggplot2 rlang rvcheck tidyr]; };
   scatterplot3d = derive2 { name="scatterplot3d"; version="0.3-41"; sha256="152xqz9c70qab86mpgng049gxsg5f4fpf1m8dh93fb9v1avjd0sc"; depends=[]; };
   scbursts = derive2 { name="scbursts"; version="1.6"; sha256="09yxnq6m35xmp0priavjnh0bdcwkr5hhy7j33cz13xwkrd1cgw5j"; depends=[readxl tibble]; };
   scclust = derive2 { name="scclust"; version="0.2.2"; sha256="0w0qwz8wfdprs2bgv1cjvd2yb6g12jylad21a9rr3w5bkgxprcrp"; depends=[distances]; };
+  sccr = derive2 { name="sccr"; version="2.0"; sha256="1r5hmkij73l0z19smq080gr66nnlqk4v5sq0wcmidbxxsjpzwb45"; depends=[dplyr]; };
   scdensity = derive2 { name="scdensity"; version="1.0.2"; sha256="173xm3bf8vxl30zk4n451al7m003byg9q4d1l1pfyfa4xnv8qdg9"; depends=[lpSolve quadprog]; };
   scdhlm = derive2 { name="scdhlm"; version="0.3.1"; sha256="1b5x4kqvmkpb8wbgfhnwqakisw6hfnvama2bsnd8kvw4alfanxhm"; depends=[nlme]; };
   scenario = derive2 { name="scenario"; version="1.0"; sha256="0v1b00kiny21yx4qkk2x51cy1zqibdnd68z76qia7h5py28yhxsi"; depends=[]; };
   scgwr = derive2 { name="scgwr"; version="0.1.0"; sha256="1pyq6qnfhnzbkla1yp49sfkx5y4g26ccgi803axivyjyp5zvwc1b"; depends=[dplyr FNN spData]; };
-  schoRsch = derive2 { name="schoRsch"; version="1.6"; sha256="0n6mgw185q0d31sxqvqqxc6w79rybmr66wsaqvcxp8ny13l82lr7"; depends=[]; };
+  schoRsch = derive2 { name="schoRsch"; version="1.7"; sha256="19h721v4a7rb1dlkbpb9s24x87fvz3q449ndi0rn0yc0m6mhmcvi"; depends=[]; };
   schoenberg = derive2 { name="schoenberg"; version="2.0.2"; sha256="17pbw9266r9lv9blygmvq9285kcrcy07jaqrj3zfa2pg0zyvhjvm"; depends=[crayon]; };
   scholar = derive2 { name="scholar"; version="0.1.7"; sha256="142iwrips1589fa0g1178a6s1cz4dfcv9b0qs570q6b6ccfjxi6r"; depends=[dplyr ggplot2 ggraph httr R_cache rvest stringr tidygraph xml2]; };
   schoolmath = derive2 { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; };
-  schumaker = derive2 { name="schumaker"; version="1.1"; sha256="09ggzhi60lzqwmc344h6f31zdz0b22mzvj0jpfpdp9lllqb25amf"; depends=[]; };
+  schumaker = derive2 { name="schumaker"; version="1.2"; sha256="1whfmnjmib7lh72src7cnbw3mswzaxq8vd50x5x9cv0031n0y6l7"; depends=[]; };
   scico = derive2 { name="scico"; version="1.1.0"; sha256="0c52a4mhsd9y5vhz3h6f7j2fa5cq0lkks5qa449w6kra5cqpbx34"; depends=[]; };
   scidb = derive2 { name="scidb"; version="2.0.0"; sha256="079akdsxxjnca5jsv0grw1c2nd3dl368xhy4mzm94mh5j6ghi57l"; depends=[bit64 curl data_table digest openssl]; };
   scientoText = derive2 { name="scientoText"; version="0.1"; sha256="0f18hg9s50lbbgl0fqjv45yhynpnsxj8wwm07g126snzr68gbd21"; depends=[stringr tm]; };
@@ -12682,15 +13186,17 @@ in with self; {
   scio = derive2 { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; };
   sciplot = derive2 { name="sciplot"; version="1.1-1"; sha256="1ydwx9kh778z3x7s3i6gqinqi6bmsf6bslaf0mgszj0nrgcmj6y3"; depends=[]; };
   sclero = derive2 { name="sclero"; version="0.2"; sha256="1vqysby822s958msnwcqmz78193vrgmpf6si1jnfb9cj90hh7wgg"; depends=[plyr RImageJROI spatstat]; };
+  sclr = derive2 { name="sclr"; version="0.3.0"; sha256="1qm9jds7kxaz1g6v71z2vfmih2sr4c2n26xxjs6ic9hr9dd15y9y"; depends=[broom dplyr rlang tibble]; };
   scmamp = derive2 { name="scmamp"; version="0.2.55"; sha256="17qhj9l1akxachaimy9d5rls8adph8aalj3qr6ckip29a8ma9gf7"; depends=[ggplot2 graph reshape2 Rgraphviz]; };
-  scoper = derive2 { name="scoper"; version="0.1.0"; sha256="1a170x1h2wglsmqp0fjga2q29yfnfdbgjcm62412n575j9d4xp5n"; depends=[alakazam doParallel dplyr foreach ggplot2 iterators lazyeval shazam stringi]; };
+  scoper = derive2 { name="scoper"; version="0.2.0"; sha256="1b4kyrml5yk46fw9hrp21i6w6ylck5qs64y0mzkbqr2wf1x4ncvs"; depends=[alakazam data_table doParallel dplyr foreach ggplot2 Rcpp rlang seqinr shazam stringi stringr]; };
   scopr = derive2 { name="scopr"; version="0.3.3"; sha256="1j45l5zcrpc4dnb6ik1v0jlqizpkijl0p656s869jhhvv55r6v2i"; depends=[behavr data_table memoise readr RSQLite stringr]; };
   score = derive2 { name="score"; version="1.0.2"; sha256="1p289k1vmc7qg70rv15x05dyb92r7s6315whr1ibi40sqln62a5s"; depends=[msm]; };
-  scorecard = derive2 { name="scorecard"; version="0.2.5"; sha256="1amy5qbc7xcqa46rk9dbcvkpsndvjv7hm2vl9lvylv44xg98sb8a"; depends=[data_table doParallel foreach ggplot2 gridExtra openxlsx]; };
+  scorecard = derive2 { name="scorecard"; version="0.2.7"; sha256="1fp7qd1wy0ki0wwsa2ir0wyqrwjvq5g0b023c5gvzs5y6k7hg4jj"; depends=[data_table doParallel foreach ggplot2 gridExtra openxlsx]; };
   scorecardModelUtils = derive2 { name="scorecardModelUtils"; version="0.0.1.0"; sha256="09znaxrv14m58hsk5pac458xbpcsidc6ygcsw4q9j0p4yd80qbvl"; depends=[car e1071 gbm ggplot2 partykit randomForest reshape2 sqldf stringr]; };
+  scorepeak = derive2 { name="scorepeak"; version="0.1.2"; sha256="1g9n7kjqb9qk5b7hw8ysrc069w9dzc4z29ay6z1kbm0v4kkzp7bi"; depends=[checkmate Rcpp]; };
   scorer = derive2 { name="scorer"; version="0.2.0"; sha256="1mc4hxcrqzh4dmz5fy40740bnrp4fxia81fj3cdw9382p67ivhim"; depends=[Rcpp]; };
   scoring = derive2 { name="scoring"; version="0.6"; sha256="114jlpbnm15fdan5lr40adxdzwajy3yhdw6dm4kvkvky6qhcx7q5"; depends=[]; };
-  scoringRules = derive2 { name="scoringRules"; version="0.9.6"; sha256="1kjxi7d2qp3b302pikkscgk3z3blp2w5g9p1v0f390x6xmwkcjcm"; depends=[knitr MASS Rcpp RcppArmadillo]; };
+  scoringRules = derive2 { name="scoringRules"; version="1.0.0"; sha256="1jksv22hy8kazqwy6yjdjl32k7i558vcn7i13wc7fmary7v500km"; depends=[knitr MASS Rcpp RcppArmadillo]; };
   scout = derive2 { name="scout"; version="1.0.4"; sha256="0vr497g7g1xhf75cwjbjsns2fvdzy86iibbf5w0g2xylw82s4lh2"; depends=[glasso]; };
   scpm = derive2 { name="scpm"; version="1.0-2"; sha256="0jrr90lcalchfqmq5c8ja7ws88rpri3gjdc5z4jfpazn2vznx26n"; depends=[geoR interp lattice MASS Matrix mvtnorm RandomFields rgl]; };
   scraEP = derive2 { name="scraEP"; version="1.1"; sha256="0dimvdjlgaymjmd3gf60hxcavpr58bpffrfhlksnrfzbb7an65dd"; depends=[data_table RCurl XML]; };
@@ -12701,19 +13207,20 @@ in with self; {
   scriptexec = derive2 { name="scriptexec"; version="0.3.1"; sha256="0k10x0npdga1nmchzz9xxv0qijnq2n9pb49z1g06bmva1z8wb4wg"; depends=[]; };
   scriptuRs = derive2 { name="scriptuRs"; version="0.1.0"; sha256="1wbvfqcc0raazhdc6pyp93q859ilxfz9rz338p3sb7fjyxvparbl"; depends=[]; };
   scrm = derive2 { name="scrm"; version="1.7.3-1"; sha256="090gsa23l9s4x92q4n7ggp491fc8ghgnjw5p7j67gd1i1iwr55n8"; depends=[Rcpp]; };
-  scrobbler = derive2 { name="scrobbler"; version="0.1.0"; sha256="166ria9pw1v8ky4975xb0jhqrl9jr3y95p7jl8bsmsgyii6lxcia"; depends=[anytime]; };
+  scrobbler = derive2 { name="scrobbler"; version="0.2.12"; sha256="0zqz5hpq9kabcz2q0zdmbygwj9xgdvs9mmv5k6h4gdbfjbzl4fiy"; depends=[anytime httr jsonlite]; };
   scrubr = derive2 { name="scrubr"; version="0.1.1"; sha256="0dqsk6vvc79qmjcr1gdksqzbd064nkyqfj2mxg6z7aifqgxs8zzz"; depends=[lazyeval magrittr Matrix qlcMatrix]; };
-  scs = derive2 { name="scs"; version="1.2-3"; sha256="0kljqx0f6x1s98896vwckd3yhmzrilh3k27mvmyvw8nxadkapys7"; depends=[]; };
+  scrypt = derive2 { name="scrypt"; version="0.1.3"; sha256="14iblgbp9v2by8fjbrpsd59iknp5babcz7j3yv1yxxzcwyb6wrrm"; depends=[Rcpp]; };
+  scs = derive2 { name="scs"; version="1.3-2"; sha256="10z5619gbnnygk8pkdx2qji56jlv1q6c1z4581pdkd9sfnhg1yp3"; depends=[]; };
   sctransform = derive2 { name="sctransform"; version="0.2.0"; sha256="1r5kiqqs318q59h2i8m7c6nhghp9w6q26ss2y5a390lkhsawgx6p"; depends=[future future_apply ggplot2 gridExtra MASS Matrix Rcpp RcppEigen reshape2]; };
   scuba = derive2 { name="scuba"; version="1.9-1"; sha256="1b92b6p9dn54rmcaw2ng41pvvvkmrzgg12d6zcr3yh8qgi89pvdi"; depends=[]; };
   sdPrior = derive2 { name="sdPrior"; version="1.0-0"; sha256="0g4crlasnvxz752n3az5jc681jvvj2g87c3a8s2h1i2vh64p5h37"; depends=[doParallel GB2 MASS mgcv mvtnorm pscl]; };
   sdStaf = derive2 { name="sdStaf"; version="1.0.2"; sha256="0r7lqj30r3f0b18kpahi63zsdizcw2zjf1vvvs04s4cg1djjbcp3"; depends=[dismo dplyr ggplot2 raster rasterVis rgdal rgeos sp tidyr]; };
   sda = derive2 { name="sda"; version="1.3.7"; sha256="1v0kp6pnjhazr8brz1k9lypchz8k8gdaby8sqpqzjsj8klghlcjp"; depends=[corpcor entropy fdrtool]; };
   sdat = derive2 { name="sdat"; version="1.1"; sha256="1mxijw2yfblqjvqqb2xrzhfn9c872i1q9ggw24xicvr2fk4lvjw6"; depends=[]; };
-  sdcHierarchies = derive2 { name="sdcHierarchies"; version="0.18.1"; sha256="0k7kks4kg62pk00zs7y5gbikaz2fpgkldw9p5jzhghdlkykz03xw"; depends=[cli data_table jsonlite rlang shiny shinyjs shinythemes shinyTree]; };
-  sdcMicro = derive2 { name="sdcMicro"; version="5.4.0"; sha256="0qh9rcjg5pbq2lnymjzf5xh3h22f0j30xmq5hqsk9lkhr863mbn6"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase sets shiny shinyBS VIM xtable]; };
+  sdcHierarchies = derive2 { name="sdcHierarchies"; version="0.18.2"; sha256="09f9b6padx6jsjhh0d7qa7qs99rar4j9fbmyp9569ywc9ld7z7mm"; depends=[cli data_table jsonlite rlang shiny shinyjs shinythemes shinyTree]; };
+  sdcMicro = derive2 { name="sdcMicro"; version="5.5.0"; sha256="0qskj65994kmv1s0rpz1a4dvlji1s4sn3y6lfqsh1zdf6lfdvhpn"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase shiny shinyBS VIM xtable]; };
   sdcSpatial = derive2 { name="sdcSpatial"; version="0.1.1"; sha256="1szv2nb758k3x5scxml2ns11fi99rlmd11r3fhzy3dgylf0m0xnm"; depends=[raster]; };
-  sdcTable = derive2 { name="sdcTable"; version="0.28"; sha256="1r15gz107mm2s3bnbxbrn2py80ran0753qcbqlgy61kr9dwbhh5x"; depends=[data_table knitr lpSolveAPI Rcpp Rglpk rlang sdcHierarchies slam stringr]; };
+  sdcTable = derive2 { name="sdcTable"; version="0.30"; sha256="1sbdnm2na36jx76hcpfks3kr5milid5sn0cpzjky90ldfii2pqf9"; depends=[data_table knitr lpSolveAPI Rcpp Rglpk rlang sdcHierarchies slam stringr]; };
   sdcTarget = derive2 { name="sdcTarget"; version="0.9-11"; sha256="18cf276mh1sv16xn0dn8par4zg8k7y8710byxiih6db4i616fjpi"; depends=[doParallel foreach magic tuple]; };
   sddpack = derive2 { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; };
   sde = derive2 { name="sde"; version="2.0.15"; sha256="0gxyhq9lafd62y68h7fd746a3jz3jdsm0shgwm2ylmp4a2f5cdmm"; depends=[fda MASS zoo]; };
@@ -12722,7 +13229,7 @@ in with self; {
   sdmpredictors = derive2 { name="sdmpredictors"; version="0.2.8"; sha256="18374f2bnhh3nb62xf1h6fbqgpimlnkc2vbx5xkg5gyfylydz0v9"; depends=[R_utils raster rgdal]; };
   sdmvspecies = derive2 { name="sdmvspecies"; version="0.3.2"; sha256="19avkag13ij1k65vqhmvcy8j50j8vrgw4mjc49x8i63w3d4z1wxh"; depends=[psych raster]; };
   sdnet = derive2 { name="sdnet"; version="2.4.1"; sha256="0z0wqc4hcmxqbavj9zma9j3dkg978l8dxcbyh9mlsbpfi4d1zph8"; depends=[]; };
-  sdols = derive2 { name="sdols"; version="1.7.5"; sha256="0pdd63pm56prvy7b3bagpnc5ri6n0xj7p0jkndyfzj9cvgwbhb0f"; depends=[commonsMath rscala]; };
+  sdols = derive2 { name="sdols"; version="2.0.0"; sha256="0rwdfb34g1l58ad02jf7wxidgqlccqvijdsvdxqdq8f5p15cl30m"; depends=[salso]; };
   sdprisk = derive2 { name="sdprisk"; version="1.1-6"; sha256="061x78irryc5phd8bv9cs2mfgiajgwmr85ryp1r47anadydb2haa"; depends=[numDeriv PolynomF rootSolve]; };
   sdpt3r = derive2 { name="sdpt3r"; version="0.3"; sha256="02qv889mkzcilxzszzqcqgn9z5zmki0093mdriradbl1y8a27bp5"; depends=[Matrix]; };
   sdtoolkit = derive2 { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; };
@@ -12730,7 +13237,7 @@ in with self; {
   seaaroundus = derive2 { name="seaaroundus"; version="1.2.0"; sha256="09nyypzylb0y04ssd9ak2cw8wpy6a3nmabg9p7jrc8qz54wl6z4q"; depends=[crul ggplot2 jsonlite maps rgdal scales sp wicket]; };
   seacarb = derive2 { name="seacarb"; version="3.2.12"; sha256="1gb7ma2qpw8vnwfblwhalagar1cjqfd4la61bw652kk28v98y9bs"; depends=[gsw oce]; };
   sealasso = derive2 { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; };
-  searchConsoleR = derive2 { name="searchConsoleR"; version="0.3.0"; sha256="1z8bdlxq2sk8bcg164wy0yrmsx0inf0aj5ya2pybvadss8wr0qlr"; depends=[googleAuthR stringr]; };
+  searchConsoleR = derive2 { name="searchConsoleR"; version="0.4.0"; sha256="1ffg5359pbwylw265wbahwl3hy1b0qqv4al71v5r8lgfircibn0j"; depends=[googleAuthR stringr]; };
   searchable = derive2 { name="searchable"; version="0.3.3.1"; sha256="0xc87i2q42j7dviv9nj4hkgjvpfiprkkjpgzwsy47vp7q8024dv0"; depends=[magrittr stringi]; };
   searcher = derive2 { name="searcher"; version="0.0.4"; sha256="0xxawwa95vfcbq8gg61ylnsg1qg6q1ng9iq4r1a1ai9440p5mvh3"; depends=[]; };
   seas = derive2 { name="seas"; version="0.5-2"; sha256="0hn4d5dc01zyycd7l3vj1sx6bq668n7fzffw9ypaa5l20fizs0ay"; depends=[MASS]; };
@@ -12739,14 +13246,14 @@ in with self; {
   seasonalview = derive2 { name="seasonalview"; version="0.3"; sha256="1l705yc7ssldsfckbgnvd95sh3zzhpkmf1rr6ar2s60s3wsyly4n"; depends=[dygraphs htmlwidgets openxlsx seasonal shiny shinydashboard xtable xts zoo]; };
   seastests = derive2 { name="seastests"; version="0.14.2"; sha256="04kx4sijnpsarq4iaclxvckgr5y0gmz5a0fmkkqjmfi3hm1kvw3d"; depends=[forecast xts zoo]; };
   seawaveQ = derive2 { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[lubridate NADA survival]; };
-  secr = derive2 { name="secr"; version="3.2.1"; sha256="1612zbbpcm5xbvki7qz1jsk09wdxf64285f87a3dmh1479fnc16q"; depends=[abind MASS mgcv nlme raster sp stringr]; };
+  secr = derive2 { name="secr"; version="4.0.2"; sha256="07b8prqx9yy9k2pzm69mf6lahcwzb6z8x52bgph6ljxwji53vyk6"; depends=[abind MASS mgcv nlme raster Rcpp RcppParallel sp stringr]; };
   secrdesign = derive2 { name="secrdesign"; version="2.5.7"; sha256="064c9vwcn0pn0hd461j60fzzc21k22gqlm5zcsz2qqvv5c64ynic"; depends=[abind openCR secr]; };
   secret = derive2 { name="secret"; version="1.0.0"; sha256="09b28f7ndc167bbanbdydralykq718fixnrgs5xr9d3fbdhz1vdl"; depends=[assertthat curl jsonlite openssl rprojroot]; };
   secrlinear = derive2 { name="secrlinear"; version="1.1.1"; sha256="0jcvraypkss1gphh4cjb0b4v9460fj4dw80yd057ah11p9942ggs"; depends=[igraph maptools MASS rgdal secr sp]; };
   secsse = derive2 { name="secsse"; version="2.0.0"; sha256="0qsbn56vc6y19hmc94bimv1mf86ayxa8rj38qvvsxjfm9czmw2ac"; depends=[ape apTreeshape DDD deSolve doParallel foreach geiger phylobase]; };
   secure = derive2 { name="secure"; version="0.5"; sha256="16pv5m7rrcs8hcjj3kylq7smyzf2qk8rkg9m1b421w0ac7lg04x1"; depends=[MASS Rcpp RcppArmadillo]; };
-  securitytxt = derive2 { name="securitytxt"; version="0.1.0"; sha256="117xmhclv219ci8vki8ni8yqvlnwgj0pd8n0r752wd8333y130wr"; depends=[Rcpp]; };
-  see = derive2 { name="see"; version="0.2.1"; sha256="0c4hw3x30zip8rp04knw07b3cvczfkpx7zi7m6n411d5bl90xiij"; depends=[bayestestR dplyr ggplot2 ggridges gridExtra insight magrittr rlang scales]; };
+  securitytxt = derive2 { name="securitytxt"; version="0.1.1"; sha256="0yrydcc68qcsq5wrdfgwfi347pdd0zc8hp2ikmw3iz31anm3b4yw"; depends=[Rcpp]; };
+  see = derive2 { name="see"; version="0.3.0"; sha256="0qcnfv2v7p2day4p6839jlwf6jr9ls8049zw9qfl0xynxnxz66s1"; depends=[bayestestR dplyr effectsize ggplot2 ggridges gridExtra insight magrittr parameters rlang scales]; };
   seeclickfixr = derive2 { name="seeclickfixr"; version="1.1.0"; sha256="1agsqq2msrqrssffc6liyjjs6nqm90xy2inlcjbkdac5dhinjc4n"; depends=[jsonlite RCurl]; };
   seedCCA = derive2 { name="seedCCA"; version="1.0"; sha256="1grs6ykiyp8p5gh93hgb4niggppbh2wzwl6yx0l1qs9fkcz5zvy7"; depends=[CCA corpcor]; };
   seedwater = derive2 { name="seedwater"; version="1.0"; sha256="0qqhjax16lnyriv6q9n89g93bs1zy8xwx9jp0xbilba7djzjh33g"; depends=[rpanel tkrplot]; };
@@ -12758,8 +13265,8 @@ in with self; {
   segmag = derive2 { name="segmag"; version="1.2.4"; sha256="1i717xg1z7s35pkwzywgjf9wx7zj9xksv0k87h7p1q62y073qbqm"; depends=[plyr Rcpp]; };
   segmenTier = derive2 { name="segmenTier"; version="0.1.2"; sha256="01xbcddinjbkbqkwq2lnsxd3gw8fxys58p498dc2lw8psz3g2wgc"; depends=[Rcpp]; };
   segmented = derive2 { name="segmented"; version="1.0-0"; sha256="1igsfkffpa60zn6j45lhw1zgr5pz6rjknv2f3sylnx5l9fdwibgf"; depends=[]; };
-  segmentr = derive2 { name="segmentr"; version="0.1.1"; sha256="0lil0fgbg8ah99frap2hnkmn3dsg93lylppz81rs5ggbg654sfh4"; depends=[foreach glue Rcpp]; };
-  segregation = derive2 { name="segregation"; version="0.2.0"; sha256="0ly4r93f6abkbz0g8wi9l21c9zh3pdxwbc3idkvkjkpk6aavijic"; depends=[data_table]; };
+  segmentr = derive2 { name="segmentr"; version="0.2.0"; sha256="0q5kxxiw0akpk7w2a2l9zp7v4pvqblzdvrld5fjyl5f6h8hsb40z"; depends=[foreach glue Rcpp]; };
+  segregation = derive2 { name="segregation"; version="0.3.0"; sha256="0bx3w2dhbikx7vk5gs0b2jc4q4zvwlrj4crv6agmc2pn3ap7i88k"; depends=[data_table]; };
   seismic = derive2 { name="seismic"; version="1.0"; sha256="02d11c3filzghi8cvryikaidmk40d4z3qxsqs7bjdhxyf814caw8"; depends=[]; };
   seismicRoll = derive2 { name="seismicRoll"; version="1.1.3"; sha256="1868g8mlmhhlc6d6p86xlp6qhfbbrhba02dmx1zcvydsbqdvnpjj"; depends=[Rcpp]; };
   sejmRP = derive2 { name="sejmRP"; version="1.3.4"; sha256="1j3sadbp12fip3n96s0hx1sg4kzwx8z01p1c905kv8gffhkz9bh0"; depends=[cluster DBI dplyr factoextra RPostgreSQL rvest stringi tidyr XML xml2]; };
@@ -12767,34 +13274,37 @@ in with self; {
   selectMeta = derive2 { name="selectMeta"; version="1.0.8"; sha256="0i0wzx5ggd60y26lnn4qk4n8h27ahll9732026ppks1djx14cdy0"; depends=[DEoptim]; };
   selectapref = derive2 { name="selectapref"; version="0.1.1"; sha256="0pn0s8dxbshwmv0qdrf670cjk3inf5w7jgac3fq29gmcx4f3fhl2"; depends=[]; };
   selectiongain = derive2 { name="selectiongain"; version="2.0.591"; sha256="11gd9xdn3jl3mg3c9ykw8bqvcxhihn19iqsy8dl8bacijjv84bva"; depends=[mvtnorm]; };
-  selectiveInference = derive2 { name="selectiveInference"; version="1.2.4"; sha256="1k7lnf6fplnxp3giwinldg9g5spi21infln21k413dv3wkksk71f"; depends=[glmnet intervals survival]; };
-  selectr = derive2 { name="selectr"; version="0.4-1"; sha256="1jp27rxks4w29l47k42869hp8hnkzq2rnvsqbr44wd19fqb2zm4b"; depends=[R6 stringr]; };
+  selectiveInference = derive2 { name="selectiveInference"; version="1.2.5"; sha256="07kzpvdmflca1sriqfzn20f84fx2b9kwwiqm91lqjpx854bsx5kh"; depends=[adaptMCMC glmnet intervals MASS Rcpp survival]; };
+  selectr = derive2 { name="selectr"; version="0.4-2"; sha256="09y1n3iy297g49xlpl7xrjpwgnm57pskx5991lyfcpizbz8ax22m"; depends=[R6 stringr]; };
   selectspm = derive2 { name="selectspm"; version="0.2"; sha256="0wvhlzhl0janhms107xczmilpmr4y26jgk0ag3g34iqba7fbnfqd"; depends=[ecespa spatstat]; };
   seleniumPipes = derive2 { name="seleniumPipes"; version="0.3.7"; sha256="1krpzh2gy3yl07c2n1d8q21xjc2qcv5ac1kv7212710bxkdyfad6"; depends=[httr jsonlite magrittr whisker xml2]; };
   selfea = derive2 { name="selfea"; version="1.0.1"; sha256="0zyxbd5vg8nhigill3ndcvavzbb9sbh5bz6yrdsvzy8i5gzpspvx"; depends=[ggplot2 MASS plyr pwr]; };
   selfingTree = derive2 { name="selfingTree"; version="0.2"; sha256="18ylxmg2ms4ccgm4ahzfl65x614wiq5id7zazjjz5y75h8gs7gzj"; depends=[foreach]; };
   sem = derive2 { name="sem"; version="3.1-9"; sha256="1f9c6g6pfx66gd2pappcsqh484ah6a0x4z47hpd46rah0817hcsa"; depends=[boot MASS matrixcalc mi]; };
+  semEff = derive2 { name="semEff"; version="0.1.0"; sha256="0mch1xzm4j2i612qs6002756zzdl7wmrgjmlp047dpa89dlp2yly"; depends=[boot lme4]; };
   semPLS = derive2 { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
-  semPlot = derive2 { name="semPlot"; version="1.1.1"; sha256="1xbq5rbajfpfdsi1hw3spmbri9sn87034k8vxb6nvjxsr2gkivw2"; depends=[colorspace corpcor igraph lavaan lisrelToR OpenMx plyr qgraph regsem rockchalk sem semTools XML]; };
+  semPlot = derive2 { name="semPlot"; version="1.1.2"; sha256="0l1v9yi1pv59iwfknw4dh9qskk5y8r347jq1vq13gnfd3bmd71xr"; depends=[colorspace corpcor igraph lavaan lisrelToR OpenMx plyr qgraph regsem rockchalk sem XML]; };
   semPower = derive2 { name="semPower"; version="1.0.0"; sha256="0wciz5qrd40q4mxq96pibnya11ac42n37c9xhjd4zfhznhjz06bb"; depends=[]; };
   semTable = derive2 { name="semTable"; version="1.6"; sha256="125dhdyy4idyxnn8j2ijbj9ikvz78hymr3m3x122ydsln89phsy1"; depends=[kutils lavaan plyr stationery xtable]; };
-  semTools = derive2 { name="semTools"; version="0.5-1"; sha256="0lh10yw888hcj1mdl96p5pw8gi0a1dj8panclghry6b8xaa3w7ni"; depends=[lavaan]; };
+  semTools = derive2 { name="semTools"; version="0.5-2"; sha256="1zj841pszfsikzp82cmh463qyc4xhdrqjqcnhc2r8mcflv12irv6"; depends=[lavaan]; };
   semantic_dashboard = derive2 { name="semantic.dashboard"; version="0.1.1"; sha256="0fd5qnw5jcmf5akkv59z1zjizsczwlmnpkfd8bfminhpa89sgp1y"; depends=[shiny shiny_semantic]; };
   semdiag = derive2 { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; };
   semdrw = derive2 { name="semdrw"; version="0.1.0"; sha256="16hm1ifgspnxnlf3rfg5ylmql2fq91ig8nc5953ggyhfrjwbqx15"; depends=[dplyr lavaan psych semPlot semTools shiny shinyAce]; };
   semds = derive2 { name="semds"; version="0.9-6"; sha256="10kvcmcy6qa2r5sram6azqgzl528rghfxgw2f2bq2fvhhq127dzq"; depends=[minpack_lm pracma]; };
   semiArtificial = derive2 { name="semiArtificial"; version="2.3.1"; sha256="1rjf8wsbwi6kfwsh89kblhl0f3m7rrma7gly7b4xm7bj7jdkljkr"; depends=[cluster CORElearn flexclust fpc ks logspline MASS mcclust nnet robustbase RSNNS StatMatch timeDate]; };
-  seminr = derive2 { name="seminr"; version="0.7.0"; sha256="1zf3qyqvlk8f7a5q39980cyci8smn2z326qlp275qs23yawnch9c"; depends=[]; };
+  seminr = derive2 { name="seminr"; version="1.0.0"; sha256="1nq057mgafq7wffsb9bcyvgkmwnbd1cndyaky5k6n304g4bsacsx"; depends=[]; };
   semnar = derive2 { name="semnar"; version="0.7.1"; sha256="0g6l4377i9wdwbcrdhdmsph68bd6qwc5mjlw824mpxn0ggg6vx72"; depends=[jsonlite leaflet lubridate magrittr urlshorteneR]; };
   semsfa = derive2 { name="semsfa"; version="1.1"; sha256="1k6i1m4r9y7j85rlrsgfjm8w15ax4xgf70xyvqwsszmf9950ldxx"; depends=[doParallel foreach gamlss iterators mgcv moments np]; };
   semtree = derive2 { name="semtree"; version="0.9.13"; sha256="0am7fm7f9kgq6kmd17axrswlg191ny3pq6b5sf731diz1ghyncmp"; depends=[bitops cluster digest OpenMx plotrix rpart rpart_plot sets stringr]; };
   semver = derive2 { name="semver"; version="0.2.0"; sha256="10wpkyms2cix3bsin2q0qhkbl445pwwpa5gm2s4jjw1989namkxy"; depends=[assertthat Rcpp]; };
+  sen2r = derive2 { name="sen2r"; version="1.2.1"; sha256="19rzh7xxq6b9rbiqmmk4rwh5x0w3h8p8yk7c3111fggm67jy62dv"; depends=[data_table doParallel foreach geojsonio httr jsonlite leaflet leaflet_extras magrittr mapedit raster reticulate sf shiny shinydashboard shinyFiles shinyjs shinyWidgets stars units XML]; };
   sendmailR = derive2 { name="sendmailR"; version="1.2-1"; sha256="0z7ipywnzgkhfvl4zb2fjwl1xq7b5wib296vn9c9qgbndj6b1zh4"; depends=[base64enc]; };
   sendplot = derive2 { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; };
   sensR = derive2 { name="sensR"; version="1.5-1"; sha256="0hqnk6gvlkl9harz7rh5ikbp0s0vjwi63gxixqjfhkyk02ilaa3z"; depends=[MASS multcomp numDeriv]; };
+  sensemakr = derive2 { name="sensemakr"; version="0.1.2"; sha256="0p5rh511fymbh8vkfwdv62xxwflkmrqwas1b16m0hlzjwyzdn03m"; depends=[]; };
   sensiPhy = derive2 { name="sensiPhy"; version="0.8.3"; sha256="03qrxal0wvgiyr5vnnzc8n95h4460p11idnmr6vnr73c5f8q905h"; depends=[ape caper geiger ggplot2 phylolm phytools]; };
   sensibo_sky = derive2 { name="sensibo.sky"; version="1.0.0"; sha256="0s8gbj7qrcbcnflp7v0s93ykh2xgk7jwpyvzndj1f90hjy20x3bc"; depends=[glue httr jsonlite]; };
-  sensitivity = derive2 { name="sensitivity"; version="1.16.1"; sha256="1qzkj0bzyyh42n40a6ihzs08bngrd8bq62rssrgzj7vfs7a14wi3"; depends=[boot ggplot2]; };
+  sensitivity = derive2 { name="sensitivity"; version="1.16.2"; sha256="1y9w7vxzkw0rx6sbgvs5b0czmksqxcf1c6iycmw6yf4hgwjf5clm"; depends=[boot ggplot2]; };
   sensitivity2x2xk = derive2 { name="sensitivity2x2xk"; version="1.01"; sha256="1r829k939zzmi0j4chdaniajchcflmmjrl3a9hwnkg0wkfnjbvdl"; depends=[BiasedUrn mvtnorm]; };
   sensitivityCalibration = derive2 { name="sensitivityCalibration"; version="0.0.1"; sha256="1fn07dra7dhpsg6f1yn1ayfpmvwaxma8cps94070nrpfwmdvi04g"; depends=[ggplot2 ggrepel plotly relaimpo splitstackshape stringi]; };
   sensitivityPStrat = derive2 { name="sensitivityPStrat"; version="1.0-6"; sha256="0rfzvkpz7dll3173gll6np65dyb40zms63fkvaiwn0lk4aryinlh"; depends=[survival]; };
@@ -12803,21 +13313,22 @@ in with self; {
   sensitivitymv = derive2 { name="sensitivitymv"; version="1.4.3"; sha256="1ga8mf92niiv1z3g3kv5ha5xdd1089aaqp19dz68kv8a396vhy1j"; depends=[]; };
   sensitivitymw = derive2 { name="sensitivitymw"; version="1.1"; sha256="1bknnfkkqgmchabcjdfikm37sn5k41ar8lpnjw58i8qh7yzq237i"; depends=[]; };
   sensmediation = derive2 { name="sensmediation"; version="0.3.0"; sha256="0pmhlc5aqz1vwl4fpn38nkqy63pbq6q62fk9xjja4khrq35zh9yb"; depends=[maxLik mvtnorm]; };
-  sensobol = derive2 { name="sensobol"; version="0.2.0"; sha256="0fc8f0qlp4qb007ilna6prnvyx8av1lqydl3xjqk7a8zajl9mym3"; depends=[boot data_table ggplot2 magrittr matrixStats randtoolbox Rdpack rlang scales stringr]; };
+  sensobol = derive2 { name="sensobol"; version="0.2.1"; sha256="0m6iqr4wylqgg2r3nqylbzblg2sxa3j4b1rakk99l1giqxlql8nc"; depends=[boot data_table ggplot2 magrittr matrixStats randtoolbox Rdpack rlang scales stringr]; };
   sensors4plumes = derive2 { name="sensors4plumes"; version="0.9.3"; sha256="1r9sddnlxpjck7rhm2w7z8jak7wmrxg3d62dydc5dqcqhgp54r6p"; depends=[automap conf_design emdist FNN genalg gstat lattice raster rgdal sp]; };
   sensory = derive2 { name="sensory"; version="1.1"; sha256="1zd0ajrymxi6gygcq9fqgwgy0g6c3cqz53x0k5m0ihbmh11rc7s7"; depends=[gtools MASS Matrix]; };
   senstrat = derive2 { name="senstrat"; version="1.0.3"; sha256="0j6mb55v5ivqvk8nn8fjlzrbdgj6csa58yc6gy1g07m7gk2qz2np"; depends=[BiasedUrn MASS]; };
   sentimentr = derive2 { name="sentimentr"; version="2.7.1"; sha256="13myh7w9pynmgvqspsxpnj8mz8jz8nwkwjyax4hahvwb9707hf2s"; depends=[data_table ggplot2 lexicon stringi syuzhet textclean textshape]; };
-  sentometrics = derive2 { name="sentometrics"; version="0.5.6"; sha256="073xhygj833a8k249kw5sbg7jmmcs9k4fsva88say5xhkbq62yqr"; depends=[caret data_table foreach ggplot2 glmnet ISOweek quanteda Rcpp RcppArmadillo RcppParallel RcppRoll stringi]; };
+  sentometrics = derive2 { name="sentometrics"; version="0.7.6"; sha256="1yjli4lkh164m68qhf5fnz7gvv0wpxb4cwx9vqc3n75m7ybc45vw"; depends=[caret data_table foreach ggplot2 glmnet ISOweek quanteda Rcpp RcppArmadillo RcppParallel RcppRoll stringi]; };
   separationplot = derive2 { name="separationplot"; version="1.1"; sha256="0qfkrk8n6jj8l7ywngwsaikfwmd9hbrpr43x0l9wkjjp1asgs5l6"; depends=[]; };
   seplyr = derive2 { name="seplyr"; version="0.8.4"; sha256="18z3nfxghzzcn23ilgsimbxz8mqi3q45i7b3ihdmkllc3ln1f0vk"; depends=[dplyr rlang tidyr wrapr]; };
   seqCBS = derive2 { name="seqCBS"; version="1.2.1"; sha256="176ggpdcgmpsjixmz0ldknyd0vw120kjyrid3bq2bn4cgkwzb74z"; depends=[clue]; };
   seqDesign = derive2 { name="seqDesign"; version="1.2"; sha256="10p8ldj83mvhpcz1yas4xns5qh8zbs533na8nv87phngi8dsb76m"; depends=[survival]; };
-  seqHMM = derive2 { name="seqHMM"; version="1.0.13"; sha256="1kg0vjwbmapvrwh0cn2rfzsbkp8f2l0hlaw4qd5hxjij177h0whx"; depends=[gridBase igraph Matrix nloptr numDeriv Rcpp RcppArmadillo TraMineR]; };
+  seqHMM = derive2 { name="seqHMM"; version="1.0.14"; sha256="0ybdp5364jddakkd7rawrfk87hn30fgjpsirlz2440w600m69ydr"; depends=[gridBase igraph Matrix nloptr numDeriv Rcpp RcppArmadillo TraMineR]; };
   seqICP = derive2 { name="seqICP"; version="1.1"; sha256="1dfhl7g47icjw38p9c0hyvnn3pwzw7pndywk22vgcyfhiz23xjcp"; depends=[dHSIC mgcv]; };
   seqMeta = derive2 { name="seqMeta"; version="1.6.7"; sha256="11dscdrlnk5jzg0q2g59qis4xjr4xs86bi463jmhq53n9gsb4i1l"; depends=[CompQuadForm coxme Matrix survival]; };
   seqRFLP = derive2 { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; };
-  seqinr = derive2 { name="seqinr"; version="3.4-5"; sha256="17zv0n5cji17izwmwg0jcbxbjl3w5rls91w15svcnlpxjms38ahn"; depends=[ade4 segmented]; };
+  seqgendiff = derive2 { name="seqgendiff"; version="1.1.1"; sha256="0kj36zbrc96zjha57qx2f2n7wq6fay7c8x49n0jpnmjs66daaxlh"; depends=[assertthat cate clue irlba matchingR pdist sva]; };
+  seqinr = derive2 { name="seqinr"; version="3.6-1"; sha256="0j30za6kji6y3v09cvcydiacnp65pv6ig8aw7cydl47l5s9chky4"; depends=[ade4 segmented]; };
   seqminer = derive2 { name="seqminer"; version="7.1"; sha256="1jydcpkw4rwfp983j83kipvsvr10as9pb49zzn3c2v09k1gh3ymy"; depends=[]; };
   seqmon = derive2 { name="seqmon"; version="2.3"; sha256="0lvjb3mx1h5nbbn3kmjwviy9gzsv9k1bs57jdfc09kid7kisaqmn"; depends=[]; };
   seqtest = derive2 { name="seqtest"; version="0.1-0"; sha256="1bdfww9szh7h278id5xpfc39mxkcix3yvsdwc68wx3q3x0wxhqhq"; depends=[]; };
@@ -12826,25 +13337,27 @@ in with self; {
   sequoia = derive2 { name="sequoia"; version="1.3.3"; sha256="0k0vl7rz9jylry80w8lbqyg3ws3bhkg8axpzy0rrd8xw1lxbpf93"; depends=[plyr]; };
   sergeant = derive2 { name="sergeant"; version="0.5.2"; sha256="02chkyvmwd4nimw62v82rfbid1xqw5b1335na44pdi675g904250"; depends=[DBI dbplyr dplyr htmltools httr jsonlite purrr readr scales]; };
   serial = derive2 { name="serial"; version="2.1.4"; sha256="1wvs3aa9h1dff2jrxszqwrfv2b281zap1dj2mhlx2w4k8hnggas0"; depends=[]; };
-  seriation = derive2 { name="seriation"; version="1.2-7"; sha256="0dbz5b5msy4fr2whhphyriqk1xc6305zpjq59rrwxyz3d7rzwpa6"; depends=[cluster colorspace dendextend gclus gplots MASS qap registry TSP]; };
+  seriation = derive2 { name="seriation"; version="1.2-8"; sha256="1zbdxq0s5rc5v307b69fw9k52m0654ls7pf22lh35ggirig6lwsk"; depends=[cluster colorspace dendextend gclus gplots MASS qap registry TSP]; };
   serieslcb = derive2 { name="serieslcb"; version="0.4.0"; sha256="1ip4k2xzg06hwsni62ai1whs1zzhwlf94507inpfpqz3jmmafrhq"; depends=[gplots shiny]; };
   seroincidence = derive2 { name="seroincidence"; version="2.0.0"; sha256="0sam4y7w6prswz0izkm1a9v2k5rv7z22g1ajy15n9xix9aml5ms4"; depends=[]; };
   serrsBayes = derive2 { name="serrsBayes"; version="0.4-0"; sha256="060zs1n5h9ns9dd004f69qmbwbbqla97bhbldm8narhm84f8pf6i"; depends=[Matrix Rcpp RcppEigen truncnorm]; };
   servosphereR = derive2 { name="servosphereR"; version="0.1.1"; sha256="0m1fjd3f1s2ss54xmcrm3p0c33hhi2dj0vim790g4y0mw2aicc8l"; depends=[data_table dplyr magrittr purrr rlang]; };
-  servr = derive2 { name="servr"; version="0.14"; sha256="0zjjnfgas9d16fihksyk24kgkkqswb4sd0rz51id2ni1ymdyasjk"; depends=[httpuv jsonlite mime xfun]; };
+  servr = derive2 { name="servr"; version="0.15"; sha256="199k9aghwk9rf1rm8pjg60xacqww25cza259h5dfj1ixil0m6dxi"; depends=[httpuv jsonlite mime xfun]; };
   sesem = derive2 { name="sesem"; version="1.0.2"; sha256="0b1xzv38wpkhhlq87xrvlh45b8ksbi8bg4ar5hrf8gxa19r9rmi5"; depends=[gplots lavaan mgcv]; };
   session = derive2 { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
   sessioninfo = derive2 { name="sessioninfo"; version="1.1.1"; sha256="0j5f3l58fynxx3v0w62vqpii7miabszgljpja36xx9s8hikh8sqn"; depends=[cli withr]; };
+  set = derive2 { name="set"; version="1.0"; sha256="0v17pfrrlncb55n1ag8q9qg9q4c9bq535ax0m0m7jdlpaprnwnf5"; depends=[do]; };
   setRNG = derive2 { name="setRNG"; version="2013.9-1"; sha256="02198cikj769yc32v8m2qrv5c01l2fxmx61l77m5ysm0hab3j6hs"; depends=[]; };
   sets = derive2 { name="sets"; version="1.0-18"; sha256="16v7650p47khqrbbw0z98llmwmmhswqmhri0n7nrfhdqwmby1lbl"; depends=[]; };
   setter = derive2 { name="setter"; version="0.0-1"; sha256="10fwrx8yysp99rrkbnn3rbz79vyzr2h3p7zxxlqapw1k2lllp0r5"; depends=[assertive_base]; };
   settings = derive2 { name="settings"; version="0.2.4"; sha256="092sv6nccm6p2d695l9w0zfi2xgymk12c8p8lhl9nb86mxrb3nry"; depends=[]; };
   severity = derive2 { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
-  sf = derive2 { name="sf"; version="0.7-7"; sha256="192hw52x1qlif8zyai1kff1wiyr3yl5f7jj1rk3k0nr8das0qy6i"; depends=[classInt DBI magrittr Rcpp units]; };
+  sf = derive2 { name="sf"; version="0.8-0"; sha256="05dyq0vcz2f1fl03hk3v1a4nz4s84yyqw4rc9w9cwfq71gvm9qwf"; depends=[classInt DBI magrittr Rcpp units]; };
   sfa = derive2 { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
   sfadv = derive2 { name="sfadv"; version="1.0.1"; sha256="1rfpm6km5pckwhqgpvidm6qsj5sjdaqqj5b0sgvpslivfa4c80cr"; depends=[gmm minpack_lm]; };
   sfc = derive2 { name="sfc"; version="0.1.0"; sha256="0cm4mfcfd9bhf2j5fppsihzrfipnldb6q3xradd88z9pwgrkfx2a"; depends=[dplyr sna tidyr triangle zoo]; };
   sfdct = derive2 { name="sfdct"; version="0.0.6"; sha256="0ilh89mfwp1yqn44yn80vz1a6g65hryk6w87ngzvak3pd6jxq6aa"; depends=[dplyr RTriangle sf sp tibble]; };
+  sfheaders = derive2 { name="sfheaders"; version="0.0.2"; sha256="1bl76g27kv8szivxrp8pki7z16ghk9v50nhwbkl2x66r9d6n778x"; depends=[Rcpp]; };
   sfinx = derive2 { name="sfinx"; version="1.7.99"; sha256="14v47y00qwvc2s0vzjw19hwn85nzj8lna539c75qq6zkn6kir6va"; depends=[]; };
   sfsmisc = derive2 { name="sfsmisc"; version="1.1-4"; sha256="0zaw617zarmwir8l60riky0z6r1j3mwfnm1f32vqcbljb74akdj4"; depends=[]; };
   sft = derive2 { name="sft"; version="2.2-1"; sha256="0fxz64ba58n6ghfqsgq64n1c7qkvi8c3lsa86732mil9w71yxw33"; depends=[fda SuppDists]; };
@@ -12857,66 +13370,67 @@ in with self; {
   sglasso = derive2 { name="sglasso"; version="1.2.3"; sha256="1xf4jni7gybk66wp542p92jxrp4lf63ypbwsnb3av5db04bis7ll"; depends=[igraph Matrix]; };
   sglg = derive2 { name="sglg"; version="0.1.5"; sha256="0b2lksn887h92y8l1gjmhm2pxzfn6kk0rjvyh9k2b1j4plkvp73b"; depends=[AdequacyModel Formula ggplot2 gridExtra moments robustloggamma ssym survival]; };
   sglr = derive2 { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
-  sgmcmc = derive2 { name="sgmcmc"; version="0.2.4"; sha256="1bivg3rw5c98355z4d596pwf4ciibbrmr3ay2ixj16dqd7g23j94"; depends=[reticulate tensorflow]; };
+  sgmcmc = derive2 { name="sgmcmc"; version="0.2.5"; sha256="0lq79c7i6bklh8c63wx3k6h9mk8s1abbr0hc41drcm96bbbg0aal"; depends=[reticulate tensorflow]; };
   sgmodel = derive2 { name="sgmodel"; version="0.1.0"; sha256="03s9z7n7w3pys5dp1z5x91bszgv3q1sax5z591dz9rvmn5glp2lj"; depends=[ggplot2 ramify Rtauchen tidyverse]; };
   sgof = derive2 { name="sgof"; version="2.3"; sha256="12bpyvg5df1m2ar6frpi10zlj3dk9h61r13rzn3w5a3nyk8gljsg"; depends=[poibin]; };
   sgr = derive2 { name="sgr"; version="1.3"; sha256="0zxmrbv3fyb686hcgfy2w1w2jffxf41ab8yc90dsgf931s9c55wn"; depends=[MASS]; };
   sgt = derive2 { name="sgt"; version="2.0"; sha256="0qb3maj5idwafs40fpdfrwzkadnh5yg8fvfzfs51p9yy69kbmlkx"; depends=[numDeriv optimx]; };
   shades = derive2 { name="shades"; version="1.4.0"; sha256="1zg95sjhrfvbdlfc387g9p0vnb8nb6agdk1mb3wq3kwkm2da0bqj"; depends=[]; };
-  shadow = derive2 { name="shadow"; version="0.6.1"; sha256="1jlbjx2wcl3rdvidkp8cg33br9z87bic98s8dr74768cgc36hg4k"; depends=[plyr raster rgeos sp]; };
-  shadowtext = derive2 { name="shadowtext"; version="0.0.5"; sha256="1hnkn2pfbsz2ziymx4da34mqxsxa4av9f5ig2q9543227amxb0sk"; depends=[ggplot2 scales]; };
-  shallot = derive2 { name="shallot"; version="0.4.6"; sha256="0p8rbkjizgl9fvl480s53rcc5kwifirlghf5616rb295c512l4vk"; depends=[rscala sdols]; };
+  shadow = derive2 { name="shadow"; version="0.6.3"; sha256="0xm3d3x02z2lk1n9z5ny7cdybyvxxznwrfn76nk1jx5dshqhrwpr"; depends=[plyr raster rgeos sp]; };
+  shadowtext = derive2 { name="shadowtext"; version="0.0.7"; sha256="1s1ip8zfr684a3ld7hvf524bhn2j31k6d1wbhh1ni0flsggv2ckf"; depends=[ggplot2 scales]; };
+  shallot = derive2 { name="shallot"; version="0.4.7"; sha256="0lvvnia3yngywp7gm68kdwgfmvag4llhzim8nqcbl6iq52lvlj2g"; depends=[commonsMath rscala salso]; };
   shape = derive2 { name="shape"; version="1.4.4"; sha256="0hadk3mapkhbh8xjkiz52vxdagmmgvm15xwpzb90ikw4giyipjzl"; depends=[]; };
   shapeR = derive2 { name="shapeR"; version="0.1-5"; sha256="17fq4gsdvyniq7n4x1xdvb5kk50184i7why3pdf1djjhknym087j"; depends=[gplots jpeg MASS pixmap vegan wavethresh]; };
   shapefiles = derive2 { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; };
-  shapes = derive2 { name="shapes"; version="1.2.4"; sha256="1zqykhx8rz1k2ahi2lmmzll1c8k0as6vw4gbd3rpfb5fvpni3ni0"; depends=[MASS minpack_lm rgl scatterplot3d]; };
+  shapes = derive2 { name="shapes"; version="1.2.5"; sha256="0gfpdydfysp5mwg7qmkn73s67gvh2szb40mzqrx97h41ijgcgd8s"; depends=[MASS minpack_lm rgl scatterplot3d]; };
   shapper = derive2 { name="shapper"; version="0.1.2"; sha256="0z2ad0hk1gwxbr4kqbk26lzl25hrcifcp92i3am5j6y0ys71dwsx"; depends=[ggplot2 reticulate]; };
-  shar = derive2 { name="shar"; version="0.5"; sha256="1vscs19ca5m8hiq280gra7cwwwk6yf4nlab02fd7czvxv6zhlyy1"; depends=[classInt raster Rcpp spatstat]; };
-  sharpData = derive2 { name="sharpData"; version="1.1"; sha256="05gvbf2j3mfrinl4rr8cjrglr6hbjf5xgzyjh2v7j76i1ckkpz4h"; depends=[KernSmooth]; };
+  shar = derive2 { name="shar"; version="1.1"; sha256="157b1pia21qygb7pqb97v8b3bklnfq40xf8y7wg6p2ixkab0ws6c"; depends=[classInt raster Rcpp spatstat]; };
+  sharpData = derive2 { name="sharpData"; version="1.2"; sha256="0pvaq8i1vrra3d0wf6yyqkbin0zgsd1kvdzh4bfnyps6pzn5k789"; depends=[KernSmooth quadprog]; };
   sharpeRratio = derive2 { name="sharpeRratio"; version="1.1"; sha256="0rgsad8idhjyjgwlzk358jlqkqf6sk7g6vl3fchkamjzxnhbb8p9"; depends=[ghyp Rcpp]; };
   sharpr2 = derive2 { name="sharpr2"; version="1.1.1.0"; sha256="1r7anfr296l5sbhgry6rb15hlca6mpcm24qssdzz9bckavyfvqgi"; depends=[Matrix mvtnorm]; };
-  sharpshootR = derive2 { name="sharpshootR"; version="1.0"; sha256="1x9cava7b9lg8qpmjqlbkqmpc9a2dn8k4kl71s4himr4wzp9z4y3"; depends=[ape aqp circular cluster digest Hmisc igraph lattice latticeExtra plyr RColorBrewer reshape2 scales soilDB sp vegan]; };
+  sharpshootR = derive2 { name="sharpshootR"; version="1.5"; sha256="1r9pmrbdbncph1xjvwa29pzfw0xvw0p0giy098jswiyzfipsjv6k"; depends=[ape aqp circular cluster digest e1071 Hmisc igraph lattice latticeExtra plyr RColorBrewer reshape2 scales soilDB sp stringi vegan]; };
   sharx = derive2 { name="sharx"; version="1.0-5"; sha256="10sfjg6946jfk4051da0w1v89503av40wckqaabr12syf8kn0aw8"; depends=[dclone dcmle Formula]; };
   shazam = derive2 { name="shazam"; version="0.2.1"; sha256="1qqrjddkj29b7c9vgc2x4w6ya0gilgc983sqbgmm60ljl1ihl958"; depends=[alakazam ape diptest doParallel dplyr foreach ggplot2 igraph iterators kedd KernSmooth lazyeval MASS progress rlang scales SDMTools seqinr stringi tidyr]; };
   shelltrace = derive2 { name="shelltrace"; version="3.5.1"; sha256="1xgbavaa26185i6q3907ds3bzq4xrw027x1sw5vsybqrxdz04jiz"; depends=[bmp tiff xlsx]; };
   shiftR = derive2 { name="shiftR"; version="1.5"; sha256="18y2qzqx8hd6yph1wnsq4ygm16pcdszynh174xsrxrhvx2h9mi4x"; depends=[]; };
-  shiny = derive2 { name="shiny"; version="1.3.2"; sha256="0ky2w2f1lgak2q5a3ym44g0mlna7j8vw25g8yr2shv0rdjp53f18"; depends=[crayon digest htmltools httpuv jsonlite later mime promises R6 rlang sourcetools xtable]; };
+  shiny = derive2 { name="shiny"; version="1.4.0"; sha256="0jvcxs0vdxdlbriahxjzzcmg8v8if21k3xvdgk59iskw71ch81qc"; depends=[crayon digest fastmap htmltools httpuv jsonlite later mime promises R6 rlang sourcetools xtable]; };
   shiny_i18n = derive2 { name="shiny.i18n"; version="0.1.0"; sha256="15llwr4yrx6rlk32b92wcq3dn360y5cvy4mh2aqkza9ikcvlhcvv"; depends=[jsonlite yaml]; };
   shiny_router = derive2 { name="shiny.router"; version="0.1.1"; sha256="0biwni6bk39qafvsh8w32crlgm4hf8r9kwkmnlc3w5za2x2fja4c"; depends=[magrittr shiny]; };
   shiny_semantic = derive2 { name="shiny.semantic"; version="0.2.1"; sha256="0m0f22qlmf7f2cf33myn72dm48yslqyx4kwzb96i78a3yz6a2awp"; depends=[htmltools htmlwidgets jsonlite magrittr purrr shiny]; };
-  shinyAce = derive2 { name="shinyAce"; version="0.4.0"; sha256="0hvih5g0pswlnz5rf3blx5yqw11ssxvm8w4klxddp1ap20ncbgl1"; depends=[jsonlite shiny]; };
+  shinyAce = derive2 { name="shinyAce"; version="0.4.1"; sha256="1m33dfm2kjirvgix7ybv1kbzgjkicdpv411g9c0q3fw6rnyhfxxn"; depends=[jsonlite shiny]; };
   shinyBS = derive2 { name="shinyBS"; version="0.61"; sha256="0rhim4mbp4x9vvm7xkmpl7mhb9qd1gr96cr4dv330v863ra2kgji"; depends=[htmltools shiny]; };
   shinyDND = derive2 { name="shinyDND"; version="0.1.0"; sha256="0nkvz4hmjzmxlzj4vkjrdy8xlbxapg1amk180irgvwicqldi4jpm"; depends=[htmltools shiny]; };
   shinyEffects = derive2 { name="shinyEffects"; version="0.1.0"; sha256="03fm2i1ydlp90w299nvz7dqs9724g0m2f0bc44ni8m2gz9cfpccs"; depends=[htmltools shiny shinydashboard]; };
   shinyEventLogger = derive2 { name="shinyEventLogger"; version="0.1.1"; sha256="1piycfg9j0dg3fgq9f88gs7zvhldmrzn7ggy2ijbh6r7iwipwgdm"; depends=[bupaR jsonlite mongolite purrr R_utils shiny stringr]; };
   shinyFeedback = derive2 { name="shinyFeedback"; version="0.1.0"; sha256="01qp75c5dsvc4xs1id1yhn81gmjl0hnjz8msf8mkvf4ifqal563f"; depends=[digest shiny]; };
-  shinyFiles = derive2 { name="shinyFiles"; version="0.7.3"; sha256="01as3l9ffj5dwac0vviais2x5l3027zxlj67kcvkdwxaj5hql33i"; depends=[fs htmltools jsonlite shiny tibble]; };
+  shinyFiles = derive2 { name="shinyFiles"; version="0.7.5"; sha256="1143m941hma9hc77c3xcw26c0ygfhn9ii2sbp9wrydxv4gc7mr8a"; depends=[fs htmltools jsonlite shiny tibble]; };
   shinyHeatmaply = derive2 { name="shinyHeatmaply"; version="0.1.0"; sha256="1vl80vp7yslnh0dvcrpysfn5rndjavphy31y15546q7ax7d0fn6v"; depends=[dplyr DT heatmaply htmltools htmlwidgets jsonlite plotly RColorBrewer readxl shiny viridis xtable]; };
   shinyKGode = derive2 { name="shinyKGode"; version="1.0.5"; sha256="004zwz4kqfijzvvwkq8v1gi25w1wrdlg8230g93w36gbi6cl2vk1"; depends=[ggplot2 gridExtra KGode mvtnorm pracma pspline reshape2 shiny shinyjs XML]; };
   shinyLP = derive2 { name="shinyLP"; version="1.1.2"; sha256="1sjcll10ciq6pj9h8c6ybjqp8763wc423hddlalcblxxpajf6avz"; depends=[shiny]; };
-  shinyML = derive2 { name="shinyML"; version="0.1.0"; sha256="17400crygl4zz7v6p8if4i3af3r1rz3sjc7281z6cyl82ba7a0wl"; depends=[data_table dplyr DT dygraphs ggplot2 h2o plotly shiny shinycssloaders shinydashboard shinyWidgets sparklyr tidyr]; };
-  shinyMatrix = derive2 { name="shinyMatrix"; version="0.1.0"; sha256="14933x96cchkbdy0pw555vva7d83z5qyyjxxpz3gm6qwiipr9r3q"; depends=[jsonlite shiny]; };
+  shinyML = derive2 { name="shinyML"; version="0.2.0"; sha256="1x7fshfq85cbaydhhqx1lcfybv6qlrc6rmajsbcvvnbnbp1m5ysb"; depends=[data_table dplyr DT dygraphs ggplot2 h2o plotly shiny shinycssloaders shinydashboard shinyWidgets sparklyr tidyr]; };
+  shinyMatrix = derive2 { name="shinyMatrix"; version="0.3.0"; sha256="0gakbwfrqyxbm946rgxk3xc4qh4i3631hg8q37058ji63bxqzadc"; depends=[jsonlite shiny]; };
+  shinyMobile = derive2 { name="shinyMobile"; version="0.1.0"; sha256="1jk4dpg78qxpsqnj44ia3z668bhf8mfziiz8v4zp7mmpp7x5447b"; depends=[htmltools jsonlite magrittr shiny]; };
   shinyMolBio = derive2 { name="shinyMolBio"; version="0.2"; sha256="09lq5pvis450il1agcq5n9cilnq84rfv08w2dz1d0bbq1qgrgnvg"; depends=[checkmate dplyr plotly purrr RColorBrewer RDML shiny stringr whisker]; };
   shinyRGL = derive2 { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
   shinyShortcut = derive2 { name="shinyShortcut"; version="0.1.0"; sha256="101wz9s4rk7fbaqgm0r2v3v8za20vdxwq4vhkz8xr7y5pr65sxiq"; depends=[]; };
-  shinyTime = derive2 { name="shinyTime"; version="1.0.0"; sha256="16gv01fbvnrn64kxf9kmard2cjjd99n3s37b1hp90ziqw479sgz4"; depends=[htmltools shiny]; };
+  shinyTime = derive2 { name="shinyTime"; version="1.0.1"; sha256="1d830wf7d5ki7frbr1vgy9d0vllyfcylq7pfkspjkz64b2xfhah3"; depends=[htmltools shiny]; };
   shinyTree = derive2 { name="shinyTree"; version="0.2.7"; sha256="0jfx2capckv7hf2yx3fn8i4rcmhi222ah91jnmhg497x8wgz31s3"; depends=[htmlwidgets jsonlite promises shiny stringr]; };
-  shinyWidgets = derive2 { name="shinyWidgets"; version="0.4.8"; sha256="1s4j3w9h843n7x7jkibc29kz9dqgc9dy861470mrc47wmhnbibz2"; depends=[htmltools jsonlite scales shiny]; };
+  shinyWidgets = derive2 { name="shinyWidgets"; version="0.5.0"; sha256="111w6f23m16w6zb5bg85brg90gsyw50rad6c4qqm1y5k3ny1gzgb"; depends=[htmltools jsonlite scales shiny]; };
   shinyaframe = derive2 { name="shinyaframe"; version="1.0.1"; sha256="1flhgsm4q7p5acb41v73pf8ni92y9dwdppxjb9czlz1sxwf03p1s"; depends=[htmltools htmlwidgets shiny]; };
   shinyalert = derive2 { name="shinyalert"; version="1.0"; sha256="0ngmpbzw6fw1gs6sv9m3xv2c9bmrxg0bs6lnvxn8hm8cwr4440xi"; depends=[digest shiny]; };
   shinyanimate = derive2 { name="shinyanimate"; version="0.3.0"; sha256="0vshid5mfq006cprjj61d0g7ajyc3plc66x55c5jjmijwbp6pw7a"; depends=[shiny]; };
   shinybootstrap2 = derive2 { name="shinybootstrap2"; version="0.2.1"; sha256="17634l3swlvgj1sv56nvrpgd6rqv7y7qjq0gygljbrgpwmfj198c"; depends=[htmltools jsonlite shiny]; };
-  shinybusy = derive2 { name="shinybusy"; version="0.1.2"; sha256="1i8ch9r38j2km5yvim5r7lxh0mhl9k6i4ywh8izn94828mqzcdc4"; depends=[htmltools jsonlite shiny]; };
+  shinybusy = derive2 { name="shinybusy"; version="0.2.0"; sha256="1zhi4nfnwwxn25r47fa8c5dq0wfvxmmdzrr8vfiq3qjj46bi1alf"; depends=[htmltools htmlwidgets jsonlite shiny]; };
   shinycssloaders = derive2 { name="shinycssloaders"; version="0.2.0"; sha256="1bpzsm7m7c366sjl1qndp4m5dg2vlm68rjgdy9n1ija9xbp0r2g4"; depends=[digest glue shiny]; };
   shinycustomloader = derive2 { name="shinycustomloader"; version="0.9.0"; sha256="1klx71vr26g0gjf6hbiia1qidqii5d467i1sdjvlrg1hxdcggqff"; depends=[glue shiny]; };
   shinydashboard = derive2 { name="shinydashboard"; version="0.7.1"; sha256="0khac8b27q3swdw07kl609hm0fjfjsjv591b388q99mqqr2rk92i"; depends=[htmltools promises shiny]; };
   shinydashboardPlus = derive2 { name="shinydashboardPlus"; version="0.7.0"; sha256="0hxg9gxravalfbrh05jixk9pz1qsq92pspysgx0vn2smgvp7rzlb"; depends=[htmltools shiny shinydashboard]; };
-  shinyglide = derive2 { name="shinyglide"; version="0.1.1"; sha256="1jl48s4pl0f69j3gg9y1zpxnx0l4p6f4czjr27g6cs9y780z3r96"; depends=[htmltools shiny]; };
-  shinyhelper = derive2 { name="shinyhelper"; version="0.3.1"; sha256="1z3wb3vdpz9pcn6rfmpbxky05cf8bxldhpwzldrmhn03spz3n987"; depends=[markdown shiny]; };
+  shinyglide = derive2 { name="shinyglide"; version="0.1.2"; sha256="0i98k3gl83kfzp3vs1his05idhwj1n0bw98ik7d62cgn4rqi6ar4"; depends=[htmltools shiny]; };
+  shinyhelper = derive2 { name="shinyhelper"; version="0.3.2"; sha256="1c4hvf19j3yyh8r12nx85ldkxs89g98q74csnqs5ml5l79a65vgp"; depends=[markdown shiny]; };
   shinyhttr = derive2 { name="shinyhttr"; version="1.0.0"; sha256="1l02g0qgvycwpfr6wl7svnms128fhlzbn9p7i4mr7ghgsd5qr58a"; depends=[shinyWidgets]; };
   shinyjqui = derive2 { name="shinyjqui"; version="0.3.2"; sha256="1a73vsq1wc3xf14y64hkgnk5jgxj98b8aj3g0fs7mgayar3an5g0"; depends=[htmltools htmlwidgets jsonlite shiny]; };
   shinyjs = derive2 { name="shinyjs"; version="1.0"; sha256="113zpijri0l80rlgrvqn6bxk0sdqgl79h7yhja2p76f9dc9i2sr8"; depends=[digest htmltools jsonlite shiny]; };
-  shinylogs = derive2 { name="shinylogs"; version="0.1.6"; sha256="0lk69snnazns2883szw0ihlyr6gdihqs28fj92qm9vdn6awjxy9d"; depends=[anytime bit64 data_table DBI digest htmltools jsonlite nanotime RSQLite shiny]; };
+  shinylogs = derive2 { name="shinylogs"; version="0.1.7"; sha256="1b4p0g1vf9wn643rybf382mw6mrrl49qsykh7npa3agcarwznmgr"; depends=[anytime bit64 data_table DBI digest htmltools jsonlite nanotime RSQLite shiny]; };
   shinymanager = derive2 { name="shinymanager"; version="1.0"; sha256="0hg92ij4ixn4xp0fqhpvyfxvnpyzyr88ymzxxk7n55hr50l8vbqi"; depends=[billboarder DBI DT htmltools openssl R_utils R6 RSQLite shiny]; };
   shinymaterial = derive2 { name="shinymaterial"; version="0.5.5"; sha256="0wbi2ccnxjyq4y5xijvn0a38sv56s9cab0c8k86cv5gapyzdzs7x"; depends=[jsonlite shiny]; };
   shinyrecap = derive2 { name="shinyrecap"; version="0.1.0"; sha256="1mic7azxz2in67g3a2ir550w8psh6kc75p6hja6m62a0yy7j2n92"; depends=[CARE1 coda conting dga future ggplot2 ipc LCMCR promises Rcapture reshape shiny shinycssloaders testthat]; };
@@ -12924,20 +13438,22 @@ in with self; {
   shinytest = derive2 { name="shinytest"; version="1.3.1"; sha256="1qn46kgqxfbfimghy5d200rmxpmbp7ckl7dm82m4bnrsf9ivzlgg"; depends=[assertthat callr crayon debugme digest htmlwidgets httpuv httr jsonlite parsedate pingr R6 rematch rstudioapi shiny testthat webdriver withr]; };
   shinythemes = derive2 { name="shinythemes"; version="1.1.2"; sha256="12miz44n2zxfswnia7p8dirxj3miw0aqn4pkx2111ikz67ax84rf"; depends=[shiny]; };
   shinytoastr = derive2 { name="shinytoastr"; version="2.1.1"; sha256="01j2z4gf1wxblrjayykwxdr2s8394i7k930x8g4hmrj7c9pv264n"; depends=[shiny]; };
-  shipunov = derive2 { name="shipunov"; version="1.2"; sha256="020xfdq5k6fw0nisskh7lysj5xrmf4b7n7vajwr6273hx6m08bbi"; depends=[]; };
+  shipunov = derive2 { name="shipunov"; version="1.3"; sha256="0bja3gb837ccyqxncm666749abnlr8bn88k788x0z4mnc8x32zak"; depends=[]; };
   shock = derive2 { name="shock"; version="1.0"; sha256="11m52al591xjznl62q1waxsg5m1a1afmd0yqcc5zsjlrplykg4lp"; depends=[capushe GGMselect glasso igraph mvtnorm]; };
   shopifyr = derive2 { name="shopifyr"; version="1.0.0"; sha256="05hih1v5vvr7vmwarizsdx8517g74s96fdsz3klcz3g12idx1nqn"; depends=[curl jsonlite R6]; };
+  shortcuts = derive2 { name="shortcuts"; version="1.3.0"; sha256="0y35civsrm8lc508khiwg5igzl1xb141p8012d9civ3pvv7i5vd7"; depends=[rstudioapi]; };
   shotGroups = derive2 { name="shotGroups"; version="0.7.5.1"; sha256="0il6hlv2hnfx5rmj3vk3q9p24xqii77z6hdz5fsgyh4i3kgcyrjy"; depends=[boot coin CompQuadForm KernSmooth robustbase]; };
   showimage = derive2 { name="showimage"; version="1.0.0"; sha256="1c0x3iqjdjsz3cdhc02b3qm2pwxjr1q2k87jwvxj9lnzzw81f1pl"; depends=[png]; };
   showtext = derive2 { name="showtext"; version="0.7"; sha256="1ihgqzfia36b0n9aa41p1w98wxxvs1lxh1zz0570hbfqmph1sk73"; depends=[showtextdb sysfonts]; };
   showtextdb = derive2 { name="showtextdb"; version="2.0"; sha256="1qwwj9x2jvadvwn60h75k99c9xi7yhqjsgaakahz5paxgj583bsh"; depends=[sysfonts]; };
   shp2graph = derive2 { name="shp2graph"; version="0-5"; sha256="1l9mg98hkb0bvr5dzd2p26g8mw5hqjxrym2gmbm10kyapvccfk56"; depends=[igraph maptools sp]; };
   shrink = derive2 { name="shrink"; version="1.2.1"; sha256="0pd967wsys8fd7gyvr9y08km118yamfk5c1a1i2k8nr2ifpqmy0w"; depends=[MASS mfp rms survival]; };
-  shrinkTVP = derive2 { name="shrinkTVP"; version="1.0.1"; sha256="1nf6lpl38jyrd4mnfx2gk4wfpccw2mjy9ajlsy0rwnd9dk81wx4n"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol]; };
+  shrinkTVP = derive2 { name="shrinkTVP"; version="1.1.1"; sha256="0dl6dpbjq6ykh813344qs3n6kp8xgif354wjz7lzv1ik4kl3a71s"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol zoo]; };
   shuffle = derive2 { name="shuffle"; version="1.0.1"; sha256="0aqb11h340picx7z2jg3k46l3pr6fkknlpyzc0z89hhrc90pss48"; depends=[]; };
   shuffleCI = derive2 { name="shuffleCI"; version="0.1.0"; sha256="1n9k28m1fcnw1my9a7v0gy9waygd48lab45vj9k2wwijbc325zai"; depends=[plotrix]; };
   shutterstock = derive2 { name="shutterstock"; version="0.1.0"; sha256="1vqbrjbwl2gdcf607f51cdzkjbkmk11n08mzx01j7bwcd278ny8r"; depends=[httr jsonlite]; };
   siar = derive2 { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[bayesm coda hdrcde MASS mnormt spatstat]; };
+  sicegar = derive2 { name="sicegar"; version="0.2.3"; sha256="0q0sp3aqvd4jh8ncfnls194iqikyxyk28zsyq65jkqd8z26s2dq4"; depends=[dplyr fBasics ggplot2 minpack_lm]; };
   sideChannelAttack = derive2 { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[ade4 corpcor infotheo MASS mmap]; };
   sidier = derive2 { name="sidier"; version="4.0.3"; sha256="0pfzx0a5f597iqigq9xidm9b9xv18zaiqa35yp4xlk1y7gv0nj6c"; depends=[ape ggmap ggplot2 gridBase igraph network]; };
   sidrar = derive2 { name="sidrar"; version="0.2.4"; sha256="1zwxafc4xaa4386a9jdg3gwflpdxql3f33bkqx1l2yl30x3517rw"; depends=[dplyr magrittr RCurl rjson rvest stringr tidyr xml2]; };
@@ -12954,9 +13470,11 @@ in with self; {
   signal = derive2 { name="signal"; version="0.7-6"; sha256="1vsxramz5qd9q9s3vlqzmfdpmwl2rhlb2n904zw6f0fg0xxjfq3b"; depends=[MASS]; };
   signalHsmm = derive2 { name="signalHsmm"; version="1.5"; sha256="1d4v6cbvcbi8pb5zmn58s01h3jb0kv7yr7qvcnx4p2v82knvhik7"; depends=[Rcpp seqinr shiny]; };
   signmedian_test = derive2 { name="signmedian.test"; version="1.5.1"; sha256="05n7a4h2bibv2r64cqschzhjnm204m2lm1yrwxvx17cwdp847hkm"; depends=[]; };
-  sigora = derive2 { name="sigora"; version="3.0.1"; sha256="1pz9jibxjvvbc0wmd7sj2fss6hd8h1fvcg8vg72qwqvfy3f9jdry"; depends=[]; };
+  signs = derive2 { name="signs"; version="0.1.1"; sha256="1pcn5pf3gc8fl5nrfjqafx1ap9s23q7kqnxwkknqbabqhl7d1453"; depends=[rlang scales]; };
+  sigora = derive2 { name="sigora"; version="3.0.5"; sha256="1240q42kpb4l1idanywzal7c85kp3ncdl5m2irh8qs5xrs02gdc7"; depends=[]; };
   sigr = derive2 { name="sigr"; version="1.0.6"; sha256="01crx8r9bcq1kwlq66vypnv1r48fp3hbl06ykd8g2k5zm06w0yyi"; depends=[wrapr]; };
   siland = derive2 { name="siland"; version="1.2"; sha256="1njn5a4gr4rpf8xwbfvxiyg7h64pfzxijakn9sbhb1agspn5z1zz"; depends=[ggforce ggplot2 lme4 raster rgdal sp]; };
+  silicate = derive2 { name="silicate"; version="0.2.0"; sha256="19386cd46jil4fhs6340wbk96igi9jlfgghbm88c0j5ff4ah1bsj"; depends=[decido dplyr geometry gibble gridBase magrittr purrr rlang tibble tidyr unjoin]; };
   sim1000G = derive2 { name="sim1000G"; version="1.40"; sha256="1avq6xfc34izavvp9vb5ccc2b9nc4m7cwr06ygnsmpgwi5nswbb8"; depends=[hapsim MASS readr stringr]; };
   simEd = derive2 { name="simEd"; version="1.0.3"; sha256="1yq0qblrz0zddx682rzwdaa0k0r223i123la7wbp73spnn38g4br"; depends=[rstream]; };
   simExam = derive2 { name="simExam"; version="1.0.0"; sha256="10p3y67cli5is2gj23cjy8y7zpbnn2jbxmfiq01ls0hc1jind82w"; depends=[Matrix msm]; };
@@ -12965,16 +13483,17 @@ in with self; {
   simLife = derive2 { name="simLife"; version="0.5.2"; sha256="1dhrjszfgxr0j4dkc2bwykyj515ji5rkb572nmnyjgkyi652j01v"; depends=[splancs]; };
   simMP = derive2 { name="simMP"; version="0.17.3"; sha256="1pzg79dd08ds3pfzxnk9h95gaibicv00mnm0jb4i8v5is4gzrdhr"; depends=[Biostrings BSgenome doParallel foreach GenomeInfoDb GenomicRanges IRanges XVector]; };
   simMSM = derive2 { name="simMSM"; version="1.1.41"; sha256="04icijrdc269b4hwbdl3qz2lyxcxx6z63y2wbak1884spn6bzbs8"; depends=[mvna survival]; };
-  simPATHy = derive2 { name="simPATHy"; version="0.2"; sha256="0ai5wmjz8k0glbwkclgg3m3ncsjghja4iys2mn1psn3r8gxk79yc"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
+  simPATHy = derive2 { name="simPATHy"; version="0.3"; sha256="09ss23sh90b8ggmw26pldx3jnbvh9l0rr27268xf4sri013y7hiq"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
   simPH = derive2 { name="simPH"; version="1.3.10"; sha256="0br32m28ynmhr4xal69bsv925rlmih898rk5bskn1s6bhsshalqq"; depends=[data_table dplyr ggplot2 gridExtra lazyeval MASS mgcv quadprog stringr survival]; };
   simPop = derive2 { name="simPop"; version="1.2.0"; sha256="05f1azdz202bap4pkqxiacj7wqkbmw3naw6p7xgmvx8nlh5xl40h"; depends=[colorspace data_table doParallel e1071 EnvStats fitdistrplus foreach laeken lattice MASS nnet party plyr ranger Rcpp RcppArmadillo vcd VIM wrswoR]; };
   simSummary = derive2 { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind gdata svUnit]; };
-  simTool = derive2 { name="simTool"; version="1.1.3"; sha256="1vjl2hf6nw108vidbrc6hxsl6qdkr56ahldavx2s9klkqg2kmhwr"; depends=[dplyr plyr purrr reshape tibble tidyr]; };
+  simTargetCov = derive2 { name="simTargetCov"; version="1.0"; sha256="0r34jkrkq382a7afy4nqrw1ci9yh8aq3mfixw11asxjb7m16c1j2"; depends=[MASS]; };
+  simTool = derive2 { name="simTool"; version="1.1.4"; sha256="1jb5r32kwyfv38vij236f3mb2ijqm48iz427zya27dyhps8i305s"; depends=[dplyr plyr purrr reshape tibble tidyr]; };
   simba = derive2 { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
   simboot = derive2 { name="simboot"; version="0.2-6"; sha256="0bgibrqb9j62p1chldi1lvdsgc6sgsr7afyq4lvyrc2h861f3j9d"; depends=[boot mvtnorm]; };
   simcausal = derive2 { name="simcausal"; version="0.5.5"; sha256="0k1dbg10bmpxc37nq9vk849qsdi09whc8r85rj08pbcfaac8cgfv"; depends=[assertthat data_table igraph Matrix R6 stringr]; };
   simcdm = derive2 { name="simcdm"; version="0.1.1"; sha256="1qzxxpz3nvqf9801k6zgphv6vd8alf2sf6cvzggk7cz6x5jc3w1r"; depends=[Rcpp RcppArmadillo]; };
-  simctest = derive2 { name="simctest"; version="2.5"; sha256="038ipxww0n09sh8al5isbm1fikr8kazwxn9cj2d0wgm6cdpy681n"; depends=[]; };
+  simctest = derive2 { name="simctest"; version="2.6"; sha256="0igwn82zfx6ajv42gpyx6969aldygldkpdc9ik6601511sscvf2a"; depends=[]; };
   simdistr = derive2 { name="simdistr"; version="1.0.1"; sha256="16fsj42zr627i57q1q72l1nhin7g6rxq9hfy487hf1ywd6rvns18"; depends=[]; };
   simecol = derive2 { name="simecol"; version="0.8-13"; sha256="0641qh5ih1mkbdr0a5qg9i280qkzdvdjyzw56awlv66zqbjqvqq8"; depends=[deSolve minqa]; };
   simest = derive2 { name="simest"; version="0.4"; sha256="1wp08dkbshn5parq69d7iizp4g16qzpdim37kcg09pgsc3aghwaj"; depends=[cobs nnls]; };
@@ -12986,7 +13505,7 @@ in with self; {
   simmer_plot = derive2 { name="simmer.plot"; version="0.1.15"; sha256="0g13d6qw6cl7bzmpkckiswvg9n4mrrdbs195r3pyljaw5c5bmvhp"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
   simml = derive2 { name="simml"; version="0.1.0"; sha256="0j3vv3kp8rl4an6r0vzzn6syzi9h058v9040pshz0hldkhi21pby"; depends=[mgcv plyr]; };
   simmr = derive2 { name="simmr"; version="0.4.1"; sha256="0903fh8vhl7r9cspanzkrn23kq68dkxhn01bjhyhf3c8wc9zfdy5"; depends=[bayesplot boot compositions ggplot2 MASS R2jags reshape2 viridis]; };
-  simode = derive2 { name="simode"; version="1.1.4"; sha256="04ld7mf2xi3s7jrcs1w9wqbbnrjjb0kbzn8bn58ma2kxxb4cygq0"; depends=[deSolve pracma quadprog]; };
+  simode = derive2 { name="simode"; version="1.1.8"; sha256="19l4xwbc7n53sgjbirpssppz5ps6alghxia4asv239fm2251r2jx"; depends=[deSolve pracma quadprog]; };
   simone = derive2 { name="simone"; version="1.0-4"; sha256="09d8kdg2wxpmjgcn4dk6yqr6nmf7mzqqi6x1rz3fv7qknja6l1xi"; depends=[blockmodels]; };
   simpleCache = derive2 { name="simpleCache"; version="0.4.1"; sha256="1prhahphyb4dg9qv813ahpwfngmr9blirb97pvypc5npzvahj5lv"; depends=[]; };
   simpleNeural = derive2 { name="simpleNeural"; version="0.1.1"; sha256="0rm6kvz1mppvgcvwsgg3nz6ci37l95ins64g0jh4rw6lfmy0grjc"; depends=[]; };
@@ -13000,8 +13519,9 @@ in with self; {
   simrel = derive2 { name="simrel"; version="2.0"; sha256="1wshbnmq9yqh01f9mjvfhhr3d76dshkxmqchxk11v4yx4apd8b4z"; depends=[FrF2 ggplot2 gridExtra jsonlite magrittr miniUI purrr reshape2 rlang rstudioapi scales sfsmisc shiny testthat tibble tidyr]; };
   simsalapar = derive2 { name="simsalapar"; version="1.0-10"; sha256="1q7kh44xl7q48vpqbyrp85my6x97l4fqq36bry8vg3k5riihirzf"; depends=[colorspace gridBase sfsmisc]; };
   simsem = derive2 { name="simsem"; version="0.5-14"; sha256="1sg1zmngpviqpbsy8kxnw4f4x93gy3gh02ykmcw8j9falfnd7g6i"; depends=[lavaan]; };
+  simsl = derive2 { name="simsl"; version="0.1.0"; sha256="09d6k61c2m0n03xpqvig7310bpgddxl8vzfjgn6wbr21s73b9xis"; depends=[mgcv]; };
   simstandard = derive2 { name="simstandard"; version="0.3.0"; sha256="0fg5y6n5ydn6qxbd5sdbxh3aqj4i7qk7h9c28i3s5z4s9rxgycdj"; depends=[lavaan magrittr mvtnorm purrr rlang tibble]; };
-  simstudy = derive2 { name="simstudy"; version="0.1.13"; sha256="06lf8srcz5i5glz09sjg61v1a5blr6iv1s4v24syl28pf6f627i8"; depends=[data_table mvnfast mvtnorm Rcpp]; };
+  simstudy = derive2 { name="simstudy"; version="0.1.15"; sha256="14jynqvxfp8lc7vxa3lc5cfwmvxkg9ssrh78nq0x80rj7lwx8916"; depends=[data_table mvnfast mvtnorm Rcpp]; };
   simsurv = derive2 { name="simsurv"; version="0.2.3"; sha256="0jlacjgrnnlmcl6k83clfkdfb1kr2xbyz2zcmq1f3xg2z0zwypjq"; depends=[]; };
   simtimer = derive2 { name="simtimer"; version="4.0.0"; sha256="1c5017xmh4767d75k4rs1pssyn7p5w41bcsjjmwk4c9g6w1jgx1w"; depends=[]; };
   simts = derive2 { name="simts"; version="0.1.1"; sha256="1b76grf7c14pgyhphplnil4lkzbwn3dih4pv4xdy721ih9n9llby"; depends=[broom dplyr magrittr purrr Rcpp RcppArmadillo robcor scales tidyr]; };
@@ -13009,13 +13529,14 @@ in with self; {
   simulator = derive2 { name="simulator"; version="0.2.0"; sha256="18x0c9bf9anbykq9f46fxnnx7g36bh01s4cdmrn7mdygs6ac9c8z"; depends=[magrittr]; };
   simule = derive2 { name="simule"; version="1.3.0"; sha256="0jzyk1r2jfs7qivmy9x44c5bagy55jpy3hf0xpl9xnk409c3y2wd"; depends=[igraph lpSolve pcaPP]; };
   sinaplot = derive2 { name="sinaplot"; version="1.1.0"; sha256="0zfq6l8wjvdj7rndsfyh0a2xjlxmn2ij1q50hg3xjfpwrjxcsck8"; depends=[plyr]; };
-  sindyr = derive2 { name="sindyr"; version="0.2.1"; sha256="0977qb9f2247y6bzlsp9lqfbmncq2prqr57myrgd6f60jc09n3mj"; depends=[arrangements crqa igraph matrixStats pracma]; };
+  sindyr = derive2 { name="sindyr"; version="0.2.2"; sha256="1clcn864p0kx1rlb9rr9gl2cjsyr5rrbvqd00rsf90vgq2p2aj8x"; depends=[arrangements crqa igraph matrixStats pracma]; };
   sinew = derive2 { name="sinew"; version="0.3.8"; sha256="1ggx7wgmgnsv69nnc55mg9g7rzjv5m23sygz7x8q68pybmjr7fc1"; depends=[cli crayon miniUI rematch2 rstudioapi shiny sos stringi yaml]; };
   sinib = derive2 { name="sinib"; version="1.0.0"; sha256="08x2a5hn41vcsai3r36w1kgzka4ks53pkp6dxn90bsqh40ydb0db"; depends=[]; };
   sinx = derive2 { name="sinx"; version="0.0.12"; sha256="0hv54n6pc8qdxl1kmwbrnnmgmd8mz6fzlplz9nr7iws1y1v0ckf5"; depends=[bookdownplus clipr cowsay crayon jsonlite multicolor pagedown rmsfact rosr xaringan]; };
   siplab = derive2 { name="siplab"; version="1.4"; sha256="1kayskawq9dqwwmk17akl68xw9kwllkmh4i251gdqkfcz61j3bb4"; depends=[spatstat]; };
   sirad = derive2 { name="sirad"; version="2.3-3"; sha256="0vhmk2fmq4797gj6c8803zw1ipmdxfvdfgi2bygzxbn5bqd4da2n"; depends=[raster zoo]; };
-  sirt = derive2 { name="sirt"; version="3.6-21"; sha256="0khjjps3q1gdanszmgzi30yrk5qcwi2fxf8jq71raj77hfvgd2s8"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
+  sirt = derive2 { name="sirt"; version="3.7-40"; sha256="18adv3gnk1cg9i3jrv6mxfdn68gpdak8451jpwkagz7n9hr0x6dj"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
+  sirus = derive2 { name="sirus"; version="0.1.2"; sha256="1ryi9b6vadgmv3ybb2vw7sqy4nr8f8zxb3by0s6f8xqn6vfpmmbg"; depends=[ggplot2 Matrix Rcpp ROCR]; };
   sisVIVE = derive2 { name="sisVIVE"; version="1.4"; sha256="1vh53irxgk8ahw52cdqbbm89dvmzyf54izg4lm8a3v92k5p6nzwz"; depends=[lars]; };
   sisal = derive2 { name="sisal"; version="0.46"; sha256="00szc3l69i0cksxmd0lyrs4p6plf05sl4vxs3nl4gkbja5y4lvpc"; depends=[boot digest lattice mgcv R_matlab R_methodsS3]; };
   sismonr = derive2 { name="sismonr"; version="1.1.4"; sha256="0dimah8lzscg9bx5vd3ll32zyp74va7a4nk9j9k5nzzyg06rs3l4"; depends=[dplyr ggplot2 ggpubr igraph jsonlite magrittr rlang scales stringr tictoc tidyr truncnorm XR XRJulia]; };
@@ -13026,36 +13547,37 @@ in with self; {
   sitreeE = derive2 { name="sitreeE"; version="0.0-5"; sha256="16m8w0rxb40pimzd06znqskz74jk4rrki4gjy8nk24r1zih2cjq1"; depends=[data_table sitree]; };
   sivipm = derive2 { name="sivipm"; version="1.1-4.2"; sha256="0y1wpzvndbyyzf063mzisqdk9ndj29ygiipmmz7i4xdpwidv21p6"; depends=[seqinr]; };
   sizeMat = derive2 { name="sizeMat"; version="1.1.0"; sha256="1pxb99gd0zfrpbq2ndmhciv2bc8xdfgm0q1y771f6ji5665qxgfw"; depends=[MASS matrixStats MCMCpack]; };
-  sjPlot = derive2 { name="sjPlot"; version="2.7.0"; sha256="1m0gy991fmxvqry91kkzdkdapyalhrwql25d0hg2a2naxgfw4zpk"; depends=[bayestestR broom dplyr forcats ggeffects ggplot2 ggrepel glmmTMB insight knitr lme4 magrittr MASS modelr nlme performance psych purrr rlang scales sjlabelled sjmisc sjstats tidyr]; };
+  sjPlot = derive2 { name="sjPlot"; version="2.8.0"; sha256="0ahz6v6bhvq1537inwakmrafs44hs2m9w0ra8q17fz626nn9rb9b"; depends=[bayestestR dplyr effectsize forcats ggeffects ggplot2 ggrepel glmmTMB insight knitr lme4 magrittr MASS modelr parameters performance psych purrr rlang scales sjlabelled sjmisc sjstats tidyr]; };
   sjdbc = derive2 { name="sjdbc"; version="1.6.0"; sha256="17ncgj2s2pjn3w3c1dgxv8g7y17h4p78iic86gsj2ahn0xpsmkcc"; depends=[rJava]; };
-  sjlabelled = derive2 { name="sjlabelled"; version="1.1.0"; sha256="0rnmlwpp41h04dzfjd5ncvzjzs43slaimb4v2in1axznv3haafyc"; depends=[haven insight magrittr purrr rlang tidyselect]; };
-  sjmisc = derive2 { name="sjmisc"; version="2.8.1"; sha256="1a30n3cyd9h9ilaiai9ywy53f03nikafc47rvpws2c2vghc8mbn7"; depends=[dplyr insight magrittr purrr rlang sjlabelled]; };
-  sjstats = derive2 { name="sjstats"; version="0.17.5"; sha256="1x9ybvz84vgaabmqp4z6crbv5q6kqjg6msk1spbr11zx9dbj06ca"; depends=[bayestestR broom dplyr emmeans insight lme4 magrittr MASS modelr performance purrr rlang sjlabelled sjmisc tidyr]; };
+  sjlabelled = derive2 { name="sjlabelled"; version="1.1.1"; sha256="0c9wy0gsr2sbkrv2638xbi7qm0gl6jyr6sfricavhkm7l4hljjkz"; depends=[haven insight magrittr purrr rlang tidyselect]; };
+  sjmisc = derive2 { name="sjmisc"; version="2.8.2"; sha256="0rl0bmk91wc4dxdgy008fl0dwkx3ffvys30vgpnr78lb4pk45nb2"; depends=[dplyr insight magrittr purrr rlang sjlabelled tidyselect]; };
+  sjstats = derive2 { name="sjstats"; version="0.17.7"; sha256="029rl05p88bp01favz300m980r1khcx2a2kn88yqbnbgkjjgqqc6"; depends=[bayestestR broom dplyr emmeans insight lme4 magrittr MASS modelr parameters performance purrr rlang sjlabelled sjmisc tidyr]; };
   skda = derive2 { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
   skeleSim = derive2 { name="skeleSim"; version="0.9.8"; sha256="1wxdl30cy8vr1cd0wcjxyklp6crw4bv8r77ma2dkzmxm2ma5jw92"; depends=[adegenet ape hierfstat igraph markdown pegas reshape2 rmetasim shiny shinyFiles strataG swfscMisc]; };
   skeletor = derive2 { name="skeletor"; version="1.0.4"; sha256="1jfbfbkjx8mdwamsrkhvcnyn470in702vgcyw3g2dbgs84gl29q8"; depends=[]; };
   skellam = derive2 { name="skellam"; version="0.2.0"; sha256="0r5wbs5h7xc3k2vjxd4axwnxr9cmwm008fcyj1vyixkg8fa680gx"; depends=[]; };
   skewt = derive2 { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
-  skimr = derive2 { name="skimr"; version="1.0.7"; sha256="0zbmj8vx4m7z66lf7phr3cj8dzp1ry5xc705w401154h2f5a4fk9"; depends=[cli dplyr knitr magrittr pander purrr rlang stringr tibble tidyr tidyselect]; };
+  skimr = derive2 { name="skimr"; version="2.0.2"; sha256="1310fgmg1mzgy1xw6rbnr0v5habzi0v18383cpwkgir38ild9llk"; depends=[cli crayon dplyr knitr magrittr purrr repr rlang stringr tibble tidyr tidyselect]; };
   sklarsomega = derive2 { name="sklarsomega"; version="2.0"; sha256="05ar391bsaixv83dah3qzfi50avsjhn85niyq5n05sb8d5943z9h"; depends=[extraDistr hash LaplacesDemon Matrix mcmcse numDeriv spam]; };
   skm = derive2 { name="skm"; version="0.1.5.4"; sha256="06g3bdncq2r56d8k3dr87gqnibypbsps0gj4jxkw9q1sq1yaff3v"; depends=[data_table magrittr plyr Rcpp RcppArmadillo RcppParallel]; };
   skmeans = derive2 { name="skmeans"; version="0.2-11"; sha256="1a8nwlym6pf0z13nnw1id2wls9lq788860yhjaqd56c3slzfsymn"; depends=[clue cluster slam]; };
-  skpr = derive2 { name="skpr"; version="0.57.0"; sha256="0n33ymjaf3dx6gb753r03fnjqiwsjk997cy81xv9631n2zfn2aa5"; depends=[car doParallel doRNG foreach future iterators kableExtra knitr lme4 magrittr nlme promises Rcpp RcppEigen rintrojs shiny shinyjs shinythemes survival viridis]; };
+  skpr = derive2 { name="skpr"; version="0.62.0"; sha256="07i6k3dzhwy7yblja3dpds0mihnzy9m9hip00p9n5plw65hywi2n"; depends=[car doParallel doRNG foreach future iterators kableExtra knitr lazyeval lme4 lmerTest magrittr nlme promises Rcpp RcppEigen rintrojs shiny shinyjs shinythemes survival viridis]; };
   skynet = derive2 { name="skynet"; version="1.3.0"; sha256="02kkgrqcrg1x61fip47w6vzi8nya12rxg47qjhn4lw4czaympqpx"; depends=[data_table dplyr ggplot2 ggrepel httr igraph maps stringr]; };
   skyscapeR = derive2 { name="skyscapeR"; version="0.2.2"; sha256="08h3vvn9zglw3xrl0xpyj95r1n3v6lk835a4nbanxdvi21mgpi77"; depends=[astrolibR doParallel foreach MESS numDeriv oce plotrix png pracma RColorBrewer rootSolve]; };
   slackr = derive2 { name="slackr"; version="1.4.2"; sha256="1vm2h5fzcss3xx1annx68wrvv6c0s6h2ci0bipxmdl9amdaqw85w"; depends=[dplyr ggplot2 httr jsonlite]; };
-  slam = derive2 { name="slam"; version="0.1-45"; sha256="0xvj8va6xd7zkn3l4a5ad7v62s7xmkz8frq7gpcl3b6vqwckkaw4"; depends=[]; };
+  slam = derive2 { name="slam"; version="0.1-46"; sha256="1ihhbx76miwys35gsbhijriadvrw4f51lc3v45pnn6cvcfd9hr0b"; depends=[]; };
   sld = derive2 { name="sld"; version="0.3.2"; sha256="0za5pw7ki419ni9pqqzddb10d16nvv5rh5jrkl4f77j0ps2ajylp"; depends=[lmom]; };
   sleekts = derive2 { name="sleekts"; version="1.0.2"; sha256="0syk244xrsv8hz5sxm7wizk0kyn1nc6z4c63c8xn57fz130zj75k"; depends=[]; };
   sleepr = derive2 { name="sleepr"; version="0.3.0"; sha256="1ka4pl6a09d1qga5svcirc5ywmzz9pcml09053745lz3p1v8fnn3"; depends=[behavr data_table]; };
-  sleepwalk = derive2 { name="sleepwalk"; version="0.1.0"; sha256="1vfvpxzq16dmh6qrh7kwbndyfnr209frdz5hck3ry4gfz9rqzm5f"; depends=[cowplot ggplot2 httpuv jrc jsonlite scales]; };
+  sleepwalk = derive2 { name="sleepwalk"; version="0.2.1"; sha256="0ddjkqfh9jlafmbif1yr5gfnv1g8fq459rkmxf0v6p8w01a3d867"; depends=[cowplot ggplot2 httpuv jrc jsonlite scales]; };
   slfm = derive2 { name="slfm"; version="1.0.0"; sha256="1q4hm1lp498fqcnwr59agg08l1rh5gd8jqrjgkk4mh89zp3x5vaw"; depends=[coda lattice Rcpp RcppArmadillo]; };
-  slickR = derive2 { name="slickR"; version="0.2.4"; sha256="14y4rwa450xqw6prdgp2l7xs9vv6zqbxwg7hc3hjgq47jy8qsdm1"; depends=[base64enc htmltools htmlwidgets xml2]; };
+  slga = derive2 { name="slga"; version="1.1.0"; sha256="09jrwwms9x9pqbpf9g2gm09nla31m5n1x23czhghj6ih0vp7804r"; depends=[httr raster sf xml2]; };
+  slickR = derive2 { name="slickR"; version="0.4.4"; sha256="0b2d68kmjcrjv0ivp73abrfnvlfg178zx0xdbqb0ilb35ja92ai7"; depends=[base64enc htmltools htmlwidgets lifecycle magick xml2]; };
   slideview = derive2 { name="slideview"; version="0.1.0"; sha256="0zq5s6qdxn6ri88pp0wf2kg2k4byrrsfvwh0ai892p4szqbc3w4v"; depends=[htmltools htmlwidgets lattice raster viridisLite]; };
   slim = derive2 { name="slim"; version="0.1.1"; sha256="0x9bk6w6lmw15s85gw9g8d1wlb57kkvnmx1wsyasn93x9llkjva1"; depends=[data_table MASS]; };
   slimrec = derive2 { name="slimrec"; version="0.1.0"; sha256="1qzcvk7z8y11hwmybvppk1gf8di596zxy7qs22fclp6h6y18s377"; depends=[assertthat bigmemory glmnet Matrix pbapply]; };
   slippymath = derive2 { name="slippymath"; version="0.3.1"; sha256="0dqnv089mcfxvpsc1px7mblim6m77n59xpcysz75jrvpc5q4lsrg"; depends=[png purrr raster]; };
-  slm = derive2 { name="slm"; version="1.0.0"; sha256="06r04kamg9y491q9wl4cvnvl301y7a47l70sl25vzi2q7y3bcf8y"; depends=[capushe ltsa]; };
+  slm = derive2 { name="slm"; version="1.1.0"; sha256="1y9pw9lgxp2xz6smbhg0rayjszm83kxf2an9rk9pdhlmx6670bbf"; depends=[capushe expm ltsa sandwich]; };
   sloop = derive2 { name="sloop"; version="1.0.1"; sha256="00fk5fr5zsk2qxc1kfhmshhjxgnamm3401089sx8m2l529zd6r8j"; depends=[codetools crayon purrr rlang tibble]; };
   slouch = derive2 { name="slouch"; version="2.1.2"; sha256="0xf2saf4q0ywmng3avl6hjd2wjjzfpbwlnagggvs8ri41jyk7gma"; depends=[ape memoise]; };
   slowraker = derive2 { name="slowraker"; version="0.1.1"; sha256="0glc3ldvbqkvzfvhs4s5mzx1kfz05px4k7rx5jfp9dm9d0gfpvsx"; depends=[NLP openNLP SnowballC]; };
@@ -13070,7 +13592,7 @@ in with self; {
   smapr = derive2 { name="smapr"; version="0.2.1"; sha256="1gcq66gs6968c5h303dqd2jyw2rcdwxv642ki1cmpdj6ix665dpr"; depends=[httr rappdirs raster rhdf5 rvest xml2]; };
   smartR = derive2 { name="smartR"; version="0.62.0"; sha256="1jc2zvys05xs8y24fsrqkfvg77dpcqd2ydq1rknh0j9m4qhd9x9i"; depends=[caret chron clues cluster foreign ggplot2 ggrepel ggthemes gridExtra gstat gsubfn gWidgets2 gWidgets2RGtk2 igraph jpeg jsonlite lattice mapdata mapproj maps maptools marmap mtsdi nnls PBSmapping plyr R6 RColorBrewer reshape2 rgdal rgeos rjags ROCR rpart scales shape sp spdep sqldf vegan]; };
   smartdata = derive2 { name="smartdata"; version="1.0.2"; sha256="1j1ngvlaj0kx0kp8ffvndcd5kk8zamjrgx2dn156zp4zjsd27vhv"; depends=[adaptiveGPCA Amelia Boruta checkmate class clusterSim denoiseR discretization DMwR FSelector functional imbalance infotheo lle magrittr mice missForest missMDA MVN NoiseFiltersR outliers RoughSets unbalanced VIM]; };
-  smartsizer = derive2 { name="smartsizer"; version="1.0.1"; sha256="0m474f6dz0izwdh2xvgx6shsbkpr969ckcld56d7c589kjhapbrl"; depends=[MASS]; };
+  smartsizer = derive2 { name="smartsizer"; version="1.0.2"; sha256="1w2vf6q3f7bywkvazgxn9gh7f2bqy4rg74mm4r6izw4gx7r81ls6"; depends=[MASS]; };
   smatr = derive2 { name="smatr"; version="3.4-8"; sha256="0qqqbg65flxh48sw7x90zvgzbpcfzb1811h0pz3zlhdw9a7khs9n"; depends=[]; };
   smbinning = derive2 { name="smbinning"; version="0.9"; sha256="1sr0nsqqzxdf402g9qx1ycigbh330idl9n2cyli4x4zxj1nqm3yv"; depends=[Formula gsubfn partykit sqldf]; };
   smcfcs = derive2 { name="smcfcs"; version="1.4.0"; sha256="0dlk2i2g8scbqy573drpf5252g0aa2i1v63172jswjmy5hl28byf"; depends=[MASS survival VGAM]; };
@@ -13080,13 +13602,13 @@ in with self; {
   smdc = derive2 { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; };
   smds = derive2 { name="smds"; version="1.0"; sha256="0aqf3wfn6mlsl8a32gaf9qdpyxwsx19g6mma8qzgaysdmk6vhbpd"; depends=[MASS]; };
   sme = derive2 { name="sme"; version="1.0.2"; sha256="0gszpy1sx2qsypps3iza79sab475wcrscl7wnbbrv97a3ry0ybp6"; depends=[lattice]; };
-  smerc = derive2 { name="smerc"; version="1.0.1"; sha256="0gxqz5v33w428sqalhzx7nrjjkn3sqpx3jk5a7i9g0786m3y9azj"; depends=[maps matrixStats pbapply randtoolbox smacpod sp]; };
+  smerc = derive2 { name="smerc"; version="1.1"; sha256="0kbjb1335wcljwj2nyxipxndzrsrrrims90zbplpdlz3h6afshii"; depends=[maps matrixStats pbapply randtoolbox smacpod sp]; };
   smfsb = derive2 { name="smfsb"; version="1.3"; sha256="1328w7zpwd3nam6ha4bh14g919jjl87v323ijmbp1j71gc64nn2i"; depends=[abind]; };
   smicd = derive2 { name="smicd"; version="1.0.3"; sha256="0z7j14ijyccy6m4mnh3xn1m4pppmm8apbgm5x3cdpfiwfksw3j37"; depends=[formula_tools ineq laeken lme4 MuMIn mvtnorm spatstat truncnorm weights]; };
   smirnov = derive2 { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
   smnet = derive2 { name="smnet"; version="2.1.1"; sha256="0fa47zgm7jxvs3jfai54wsc6qa9ycqw4f3yr941fvkczwzh4ch02"; depends=[DBI RSQLite spam SSN]; };
   smoof = derive2 { name="smoof"; version="1.5.1"; sha256="01jkldmxn86vmcmmz81mdlhpm1m3bddj4sv550a3b4wm1r3gddng"; depends=[BBmisc checkmate ggplot2 mco ParamHelpers plot3D plotly RColorBrewer Rcpp RcppArmadillo RJSONIO]; };
-  smooth = derive2 { name="smooth"; version="2.5.2"; sha256="08ifnvldjcpnwpmkkg9r6dr2p8k1i1jihjz1g3qdb34axf08jql1"; depends=[forecast greybox nloptr Rcpp RcppArmadillo zoo]; };
+  smooth = derive2 { name="smooth"; version="2.5.4"; sha256="0apjjqzb36z71500lyccm9jdss7h7736g8lrs3rfz5f6d2k5yqf6"; depends=[forecast greybox nloptr Rcpp RcppArmadillo zoo]; };
   smoothAPC = derive2 { name="smoothAPC"; version="0.3"; sha256="11f34qqdm8m0hmy9jf29q439slchvmqgdfrmak7vcdhfnjcylr5r"; depends=[colorspace lmtest quantreg rgl SparseM]; };
   smoothHR = derive2 { name="smoothHR"; version="1.0.2"; sha256="0l33xg3p9pyfrp4rhavz8m1jakk4wr8i14g6jjiizb03rpxdpzqy"; depends=[survival]; };
   smoothROCtime = derive2 { name="smoothROCtime"; version="0.1.0"; sha256="03iihjxb5xdaf74cm9cajqqjli754mdmv5v1y4hla9vv23017ca1"; depends=[ks]; };
@@ -13096,15 +13618,16 @@ in with self; {
   smoothmest = derive2 { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
   smoothr = derive2 { name="smoothr"; version="0.1.1"; sha256="03pqvblrw0qj55gncn6a3hb0y0y64k8v1a2a8g64p53jjmlrw9nv"; depends=[sf units]; };
   smoothtail = derive2 { name="smoothtail"; version="2.0.5"; sha256="1sqkwniz9m03k23nba9ndmdm0g03mdshzm8risr6wz98jcqjilrk"; depends=[logcondens]; };
+  smoots = derive2 { name="smoots"; version="1.0.1"; sha256="1kk1hvfqxslg76gy8gzaidv3d55pflyvbv3ski6rkk0l9lwbb2q1"; depends=[]; };
   smotefamily = derive2 { name="smotefamily"; version="1.3.1"; sha256="062yps71bqnyff1hzqb7yvigvqg2lnc24r9gfp8m3zhvmyprk3cp"; depends=[dbscan FNN igraph]; };
-  smovie = derive2 { name="smovie"; version="1.0.1"; sha256="0nh228vp06w83wm826vw62gzy0zk66ng61safwvhl8lgaxkbwqmj"; depends=[revdbayes rpanel SuppDists]; };
+  smovie = derive2 { name="smovie"; version="1.1.1"; sha256="10mqzk9xrd3iicldz8n49v0nj81rjwy6fds4kxwa7vzsqapdw1g2"; depends=[revdbayes rpanel SuppDists]; };
   smpic = derive2 { name="smpic"; version="0.1.0"; sha256="0ff2146gjcrc6nvrbf4779jh076abhb843zzlk2zvqir13qfap61"; depends=[ggplot2 imager stringr]; };
   sms = derive2 { name="sms"; version="2.3.1"; sha256="0vr5jy8bxbczaqr9kg0fnanxhv9nj51yzgacrb63k33cs85p981m"; depends=[doParallel foreach iterators]; };
   smss = derive2 { name="smss"; version="1.0-2"; sha256="04lgfdcvnzpnpplyl62fy7slyiy8wkqpjjrzmclgqis3c9zkkncp"; depends=[]; };
-  smurf = derive2 { name="smurf"; version="1.0.1"; sha256="1jp0dziqpiffj08kkm28bg4jzsijs30xlz237q8xdxdrf64igvik"; depends=[catdata glmnet MASS Matrix mgcv RColorBrewer Rcpp RcppArmadillo speedglm]; };
+  smurf = derive2 { name="smurf"; version="1.0.2"; sha256="08k64y0wb9da7ji94zra411zwcvssi0lb1drh98p6w9pwvn552rf"; depends=[catdata glmnet MASS Matrix mgcv RColorBrewer Rcpp RcppArmadillo speedglm]; };
   sn = derive2 { name="sn"; version="1.5-4"; sha256="0x46gxkplxbnhaqbpiav1r4xlv4ib7n57kxmca7scqwj22y7wrs6"; depends=[mnormt numDeriv]; };
   sna = derive2 { name="sna"; version="2.4"; sha256="1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2"; depends=[network statnet_common]; };
-  snahelper = derive2 { name="snahelper"; version="0.3.0"; sha256="036pwzs4x1qgb4bsn39afv1c34fxky259vl0zbac6l12wmysnpqv"; depends=[colourpicker DT formatR ggplot2 ggraph graphlayouts igraph miniUI rstudioapi shiny]; };
+  snahelper = derive2 { name="snahelper"; version="1.0.0"; sha256="15x7qp36lzs61ll3gqyjmxix0pqnyf2rz799mxzkzxzwqsp0srwi"; depends=[colourpicker formatR ggplot2 ggraph graphlayouts igraph miniUI rstudioapi shiny]; };
   snakecase = derive2 { name="snakecase"; version="0.11.0"; sha256="1ky1x2cp5rd0ffd9m1fji9sq4z4jsrpxzg30brw8bb4ihfjj114r"; depends=[stringi stringr]; };
   snappier = derive2 { name="snappier"; version="0.1.0"; sha256="0334zwhqdl3lfw7rg8ql7z10qj8jjrm17yi9mgdcxnzaf3f1p859"; depends=[]; };
   snapshot = derive2 { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; };
@@ -13127,12 +13650,13 @@ in with self; {
   snpar = derive2 { name="snpar"; version="1.0"; sha256="0c9myg748jm7khqs8yhg2glxgar1wcf6gyg0xwbmw0qc41myzfnq"; depends=[]; };
   snplist = derive2 { name="snplist"; version="0.18.1"; sha256="14x31h8h3lx25rm30vhp89byrzy3qrmawi07pmzy4xpxdf0rxm4s"; depends=[biomaRt DBI R_utils Rcpp RSQLite]; };
   sns = derive2 { name="sns"; version="1.1.2"; sha256="132zd57xb2y0nshw4lakf49r2mvvkv7j32f7l7hqrh91mw7wyqpr"; depends=[coda mvtnorm numDeriv]; };
+  sobir = derive2 { name="sobir"; version="0.1.1"; sha256="1v9ic35s1qm27hj2fihli68x2b5lxhddca6hgvdnpwq4hpz4vlmj"; depends=[ggplot2 raster rlang scales sp statmod tidyr]; };
   sobolnp = derive2 { name="sobolnp"; version="0.1.0"; sha256="00rmigjyd3fsmhrhbvjzrfsl4ir0xpfr4xbgjws6vkx2rmcqnq1s"; depends=[minqa np pbmcapply]; };
   soc_ca = derive2 { name="soc.ca"; version="0.7.3"; sha256="0z3phmvgwd3s6swfaywq851my12a2n48i6k26vhggc6pf9d28phl"; depends=[ellipse ggplot2 ggrepel gridExtra reshape2 shiny]; };
   socceR = derive2 { name="socceR"; version="0.1.1"; sha256="1vd0r3vixavg1br2q3kfn3nvl7dw854vkcfwcvyw411k84ivb13y"; depends=[Rcpp]; };
   social = derive2 { name="social"; version="1.0"; sha256="0ny81bhj80rlwwa6cgbkdz2rxz6bp0f3nvjr1sqxr4s8l8rnf4ic"; depends=[Rcpp]; };
-  socialmixr = derive2 { name="socialmixr"; version="0.1.4"; sha256="0mwbdqbnqii80rgy6yk7q2b427wmqw7inciywrq7mbradqqyag48"; depends=[countrycode curl data_table httr jsonlite oai stringr wpp2015 XML]; };
-  sociome = derive2 { name="sociome"; version="1.0.2"; sha256="0nvzxxchcml8aprva4gn0hlqgik7y3dssl78mw11zbaacldlv99s"; depends=[dplyr magrittr mice psych purrr rlang stringr tibble tidycensus tidyr]; };
+  socialmixr = derive2 { name="socialmixr"; version="0.1.5"; sha256="1kkvhrw28cgijnhcyc8phbq797pcal5h40av8brpbvvcf82yx0xd"; depends=[countrycode curl data_table httr jsonlite oai stringr wpp2015 XML]; };
+  sociome = derive2 { name="sociome"; version="1.3.0"; sha256="0anynmpb6i8hwp5b0axkmfwsdyfzwd28g26ril2i3mlcivkgjyg4"; depends=[censusapi dplyr magrittr mice psych purrr rlang stringr tidycensus tidyr]; };
   socviz = derive2 { name="socviz"; version="1.0.0"; sha256="14713g5saa167c5wk06i9v5708cj60znc8a7c3a2wpk0h2idfjlb"; depends=[dplyr fs magrittr rlang tibble]; };
   sodavis = derive2 { name="sodavis"; version="1.2"; sha256="1jf5sml51qxlpgv5b1rvyig4dm4ijw2hpnk85zf790jp22xm64jw"; depends=[MASS mvtnorm nnet]; };
   sodium = derive2 { name="sodium"; version="1.1"; sha256="1zxzi8xvxnhgcd5qrylf08nz1cdq3aslrswjas440qg63ypmbf6w"; depends=[]; };
@@ -13140,7 +13664,8 @@ in with self; {
   softImpute = derive2 { name="softImpute"; version="1.4"; sha256="07cxbzkl08q58m1455i139952rmryjlic4s2f2hscl5zxxmfdxcq"; depends=[Matrix]; };
   softclassval = derive2 { name="softclassval"; version="1.0-20160527"; sha256="1f5qj5sajy3dg0mgss6f9w6v5a2prcypld9jcv457bd4n4a409kr"; depends=[arrayhelpers svUnit]; };
   softmaxreg = derive2 { name="softmaxreg"; version="1.2"; sha256="0y1r4n83sv2744lpli65aip0c0cq823asb8gw9yy9yjjc9sbyr9s"; depends=[]; };
-  soilDB = derive2 { name="soilDB"; version="2.3.5"; sha256="1qljwr9b09ag51bh0ip5532fs6q6qagkm8rbjbi9xr869iw16zal"; depends=[aqp curl Hmisc plyr raster reshape2 sp xml2]; };
+  soilDB = derive2 { name="soilDB"; version="2.4.1"; sha256="0ac4pqfnpzjv6bgsyd759zkqs427jbsj5jl7zq3sdqhsq2xawjap"; depends=[aqp curl lattice plyr raster reshape2 sp xml2]; };
+  soilassessment = derive2 { name="soilassessment"; version="0.1.0"; sha256="0xap6x41my7ardjpcp6rp3wvvkbjcvf6p2wla4zg2l72zb55s710"; depends=[arm caret Cubist e1071 FuzzyAHP Hmisc kernlab maptools randomForest raster rgdal rpart soiltexture sp]; };
   soilcarbon = derive2 { name="soilcarbon"; version="1.2.0"; sha256="1gxq7np5xh3jcqbsf8xva4b82rv6rab2j23mbkc4pjs6nbnzvzba"; depends=[devtools ggplot2 openxlsx shiny]; };
   soilphysics = derive2 { name="soilphysics"; version="3.1"; sha256="11c094bqbwhggh0n3hdva1321gqzz2k1b7v3767wyyk1xpgzg98r"; depends=[boot MASS rpanel tkrplot]; };
   soiltexture = derive2 { name="soiltexture"; version="1.5.1"; sha256="1l9npvk910488qzd45ibc7ss557hnkb78lx1p6fs3nhl8sacgyxh"; depends=[MASS sp]; };
@@ -13150,57 +13675,58 @@ in with self; {
   solarPos = derive2 { name="solarPos"; version="1.0"; sha256="0004da7vqpq14q5lhs8vyvjl99j8gzxd5wrlw5d1vwfns3ica0q5"; depends=[]; };
   solarius = derive2 { name="solarius"; version="0.3.0.2"; sha256="17c765nxq81xshyyl4lfhqjmgvmhn9xyzc6x4qd33wvhh4148f38"; depends=[data_table ggplot2 plyr]; };
   solartime = derive2 { name="solartime"; version="0.0.1"; sha256="0q6la6d281zgf1kxhrdvi3b91na60szknq0fvldvlnszlqb5vkgs"; depends=[lubridate]; };
-  solitude = derive2 { name="solitude"; version="0.1.3"; sha256="0kgj7psj5q9zz1grj3jpp55gn8d62v84fsiiihlzzmkgkgir0xcy"; depends=[data_table future_apply igraph ranger]; };
+  solitude = derive2 { name="solitude"; version="0.2.0"; sha256="1wvhvzak1jy31z3q0s2m25kbkkn725qdvawpdr4gkcswk3vvr22x"; depends=[data_table future_apply igraph R6 ranger]; };
   solrad = derive2 { name="solrad"; version="1.0.0"; sha256="13ybllvmig1yqsy4md4kazs83hxb9lrlwy64yw1wwr1w6sxpbnp6"; depends=[]; };
-  solrium = derive2 { name="solrium"; version="1.0.2"; sha256="011yyn2fwk222w3cn0zr7pf4d8fxwxqp2i6x6b89ns58lipcrbhd"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
-  solvebio = derive2 { name="solvebio"; version="2.6.1"; sha256="17zcnfmccfl2njv1ph40jchxb06x0qhgn82fz4yg8nqyf8b9cq5h"; depends=[dplyr httr jsonlite mime]; };
+  solrium = derive2 { name="solrium"; version="1.1.4"; sha256="0x83s83r4sr4r9cgk9fgcw6xz778m4gg14fzwib3qja6ax2xpk2z"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
+  solvebio = derive2 { name="solvebio"; version="2.7.0"; sha256="0xgwpng5264q47axryxr19x70fljyj9frc100ys7q30b325w963h"; depends=[dplyr httr jsonlite mime]; };
   som = derive2 { name="som"; version="0.3-5.1"; sha256="1fbza1jxvwrkf5x3inkj36vshhkn7mz0ajqlxalbfmk6ngjw1x56"; depends=[]; };
   som_nn = derive2 { name="som.nn"; version="1.1.0"; sha256="0mw2c2lqvdq9bhndpjyawjy43l4x7clcsx2350j45g7fnchhy602"; depends=[class hexbin kohonen som]; };
   soma = derive2 { name="soma"; version="1.1.1"; sha256="1mc1yr9sq9h2z60v40aqmil0xswj5hgxfdh4racq297qw3a97my4"; depends=[reportr]; };
   someKfwer = derive2 { name="someKfwer"; version="1.2"; sha256="0widny5l04ja91fy16x4giwrabwqhx0fs3yl48pv9xh4zj6sx563"; depends=[]; };
   someMTP = derive2 { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
   somebm = derive2 { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
-  sommer = derive2 { name="sommer"; version="4.0.1"; sha256="1yzi090kj9rqygsjwl80yzf6dlnll68gpnyp1wpp018f6lyg7xww"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo]; };
+  sommer = derive2 { name="sommer"; version="4.0.8"; sha256="0czizds24y2dj2w3611kydcs40lcg71pa9v2v7j4z73vks2p17mc"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo]; };
   somplot = derive2 { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
   somspace = derive2 { name="somspace"; version="1.0.0"; sha256="1cp7mprapidzfphis697r3jipm1ig5198580mmdygvbajxcjib75"; depends=[data_table ggplot2 kohonen maps]; };
   sonar = derive2 { name="sonar"; version="1.0.2"; sha256="1f0f5iqi3y9vnxyym14nm8dqxw0vcpnxmvvkx4sm612i4fclg1f9"; depends=[]; };
   sonicLength = derive2 { name="sonicLength"; version="1.4.6"; sha256="0jh9zk908afqxacccsph6477cc8sbcc1vxbv7jz8ppgc20imw932"; depends=[]; };
+  sonicscrewdriver = derive2 { name="sonicscrewdriver"; version="0.0.1"; sha256="03v53blb8f67ybhqys4n0zxf7pk9g024ncq0g9rnj9qpr740zclb"; depends=[ggplot2 seewave tuneR]; };
   sonify = derive2 { name="sonify"; version="0.0-1"; sha256="1wkqqgf8fhhaz1dmri2zzr8cdwmx3cgrxbprrz3yily5r1m17d15"; depends=[tuneR]; };
   soobench = derive2 { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; };
-  sophisthse = derive2 { name="sophisthse"; version="0.7.0"; sha256="08vr5y5cvn2q7410krg7620cqv7jmprh96bv43yhh3mk6ixd21dl"; depends=[dplyr RCurl stringr XML zoo]; };
   soptdmaeA = derive2 { name="soptdmaeA"; version="1.0.0"; sha256="03n1y82myq0rz14awjnx9nx1dz3dxqq58m13cw7a7ncap7fmw9r5"; depends=[igraph MASS Matrix]; };
   soql = derive2 { name="soql"; version="0.1.1"; sha256="12wvbxy9xx140b7mga4ma7hkg4q6kv549gkq15fnf4dn8q43x8nf"; depends=[]; };
+  sortable = derive2 { name="sortable"; version="0.4.2"; sha256="08v78r0vibr0lk09lxm0s0vfkzpp03asqnqpl8jqa6rxcb484fri"; depends=[assertthat ellipsis htmltools htmlwidgets jsonlite learnr shiny]; };
   sorvi = derive2 { name="sorvi"; version="0.7.26"; sha256="19lfrc4bdiljs437w3a2bpf7abnkv0934dh929bbj2w1w8rzghjn"; depends=[dplyr ggplot2 RColorBrewer reshape2]; };
   sos = derive2 { name="sos"; version="2.0-0"; sha256="0fwv76m0iihzy60kglsdjnlp6800qsll6h0v2435a50lcr53jj8g"; depends=[brew]; };
-  sos4R = derive2 { name="sos4R"; version="0.3.0"; sha256="0ph18zpz3r6gby6bapv7v3c13v7idlfngck4wpzgnbnyd3gvj1n2"; depends=[httr sp stringr xml2]; };
+  sos4R = derive2 { name="sos4R"; version="0.3.1"; sha256="0zcrk8fgg2jsp29wvbw448yp15m4lz0sbf570nyjg3admnpf5whs"; depends=[httr sp stringr xml2]; };
   sotkanet = derive2 { name="sotkanet"; version="0.9.48"; sha256="1jw9agj92zzgad5kk9z6smjacimwinci6aaqlzmshivb8g8rv8zp"; depends=[RCurl rjson]; };
   sotu = derive2 { name="sotu"; version="1.0.2"; sha256="0aqwkawaydsm91hz13msjg1a5llg7xmv6hxmfmsaganrl7iaym3c"; depends=[]; };
   sound = derive2 { name="sound"; version="1.4.5"; sha256="1kbbb614d0fmj9l0yjiwf5yqnl7sby4xklp7qwp6rwjvq9bnm0ab"; depends=[]; };
   soundecology = derive2 { name="soundecology"; version="1.3.3"; sha256="16h6gbdlyav7wbfisdv1f2zsqhr45liidgj7qqk8giwjxgan8q97"; depends=[ineq oce pracma seewave tuneR vegan]; };
-  soundgen = derive2 { name="soundgen"; version="1.4.1"; sha256="13xq7ak4ggrqlpfb2c6xav1kpafvm3i9k1vk9vj28mcack870961"; depends=[dtw mvtnorm phonTools plyr reshape2 seewave shiny tuneR zoo]; };
+  soundgen = derive2 { name="soundgen"; version="1.5.1"; sha256="0mzxqwi0qqvlaf48m901szbfqn8riwkghxjqbcpcwrx77rph22gp"; depends=[dtw mvtnorm phonTools reshape2 seewave shiny shinyBS shinyjs tuneR zoo]; };
   source_gist = derive2 { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
   sourceR = derive2 { name="sourceR"; version="1.0.1"; sha256="01qxa44s9szaxl0rdcx4p0wn4vby17hdzdjzpsbls3prsnr0jaad"; depends=[assertthat cluster dplyr gplots gtools hashmap R6 reshape2 SPIn tensorA]; };
   sourcetools = derive2 { name="sourcetools"; version="0.1.7"; sha256="1jnjir0q2dj724f1mjm6p5h77yzyx6xcqy9r2g7gmcxkxw349627"; depends=[]; };
-  sp = derive2 { name="sp"; version="1.3-1"; sha256="17xm1ig80p9wc860hm3bgishz6lj9fxgwqidj7rkbk4ap99qp62p"; depends=[lattice]; };
+  sp = derive2 { name="sp"; version="1.3-2"; sha256="0kpjsqh3lzqp1m0avsvm54lazlgwfx3hyf0av3mvbyslsanj42ll"; depends=[lattice]; };
   sp23design = derive2 { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
-  spANOVA = derive2 { name="spANOVA"; version="0.99.0"; sha256="09zzwgl6w3lwynh4b65c5hg9mgx6wn5miv48fj6fwgj9bz3kkb3y"; depends=[ape car devtools DT geoR gtools knitr MASS Matrix multcomp multcompView mvtnorm rmarkdown ScottKnott shiny shinyBS shinythemes spatialreg spdep xtable]; };
+  spANOVA = derive2 { name="spANOVA"; version="0.99.1"; sha256="0dsi1cj0i5gm3b1wlrb2r5nbw1zmnqiwvgz41s0wmm7wwjsbva3x"; depends=[ape car DT geoR gtools knitr MASS Matrix multcomp multcompView mvtnorm rmarkdown ScottKnott shiny shinyBS shinycssloaders shinythemes spatialreg spdep xtable]; };
   spAddins = derive2 { name="spAddins"; version="0.2.0"; sha256="19wbcghcf0f9qvqy92jhsdcpmd9b4lkhxndvr71cyhzga539lh1n"; depends=[magrittr purrr rstudioapi stringr]; };
+  spBFA = derive2 { name="spBFA"; version="1.0"; sha256="0w50zzizh8ki0ngwjaj92g0lcj79ssllv75a1b4i37hiy4qh4z1m"; depends=[msm mvtnorm pgdraw Rcpp RcppArmadillo]; };
   spBayes = derive2 { name="spBayes"; version="0.4-2"; sha256="0qmh8sdawhssr1jmx9dc56mxxwsgya8spsss88jgg0npvmpl5khb"; depends=[abind coda Formula magic Matrix]; };
   spBayesSurv = derive2 { name="spBayesSurv"; version="1.1.3"; sha256="0syb4x05j878jhcql8prfw1aqxmpi1idxk1d4xl52j32wngkpn8b"; depends=[coda fields MASS Rcpp RcppArmadillo survival]; };
   spCP = derive2 { name="spCP"; version="1.2"; sha256="0y00k96p96jgp84wbdhqfwsq2fg8c68gc5310rnzpiv3clws27fb"; depends=[msm mvtnorm Rcpp RcppArmadillo]; };
-  spData = derive2 { name="spData"; version="0.3.0"; sha256="162cqb331ki43jx4r8lpkjpn2l712figd896rnawg9j1jmjyl96y"; depends=[]; };
+  spData = derive2 { name="spData"; version="0.3.2"; sha256="190msrrpn226x27pcnck4ac34f9k4xcn26cyz2apdri2nzkr6zbw"; depends=[]; };
   spFSR = derive2 { name="spFSR"; version="1.0.0"; sha256="0094plnjlyhnnjqw3i4an5q95bw6hjy1gzc7zr6wy77faivqsbms"; depends=[class ggplot2 mlbench mlr parallelMap tictoc]; };
-  spGARCH = derive2 { name="spGARCH"; version="0.1.6"; sha256="10ksbqk5s9qq6lz17h07kmg2gr1ppq2rjm06kipscs9v0zldki9l"; depends=[Matrix Rcpp RcppEigen Rsolnp spdep truncnorm]; };
+  spGARCH = derive2 { name="spGARCH"; version="0.2.0"; sha256="03jn5v5szq2nfihwvv3v966bv48wng2bahyaxlkvik2firdl8j9y"; depends=[Matrix nleqslv Rcpp RcppEigen Rsolnp spdep truncnorm]; };
   spMC = derive2 { name="spMC"; version="0.3.10"; sha256="0p0s6w7sif02b91b73a0zb2i4i95a8m86dkqmgx6w1jk9h2mgqaz"; depends=[]; };
-  spMaps = derive2 { name="spMaps"; version="0.3"; sha256="0w4rrzbybaf9zgb09zg0zkf2hgvfrwx57yzbxm4px1ygdfxyi4cm"; depends=[raster rgeos sp]; };
-  spNNGP = derive2 { name="spNNGP"; version="0.1.1"; sha256="0b55arvy5xr592bs2082djyzaa48jbv0y85h7nnj479f8c31grqp"; depends=[coda Formula RANN]; };
+  spMaps = derive2 { name="spMaps"; version="0.4.0"; sha256="0n9693aam7gsclfhijq7cy61l0w4mm5vf3rjaz5w0jrz77lrkprh"; depends=[raster rgeos sp]; };
+  spNNGP = derive2 { name="spNNGP"; version="0.1.2"; sha256="0zr2lfvrjlpi6j3xswi974spvhmkbf1ddfb6d8f2zddkfhppfg00"; depends=[coda Formula RANN]; };
   spTDyn = derive2 { name="spTDyn"; version="2.0"; sha256="0wandd5iqyqb474096lky04rrgj31gnyqnlmgw8ypxsypd0gqdy0"; depends=[coda sp spacetime spTimer]; };
-  spTest = derive2 { name="spTest"; version="0.2.5"; sha256="11x2wq3031mqbj4n6hvb4l3sp4382qankdl1v1qh7ab2xa0h6xw8"; depends=[geoR sp]; };
-  spThin = derive2 { name="spThin"; version="0.1.0.1"; sha256="1cj859q0i5ldqvndky2jwr5jwnpgj01mfqkw8hb8pibpwaknmy7y"; depends=[fields knitr spam]; };
+  spThin = derive2 { name="spThin"; version="0.2.0"; sha256="0j10j1cbbwp3baqm3b59rxlnd643mkx1mirlxpnr1ad2g7xpm69f"; depends=[fields knitr spam]; };
   spTimer = derive2 { name="spTimer"; version="3.3"; sha256="0vzqig9dq4k6p5s2gbm5arqiih28ghzjx0fs7ml70vx2f181jrxi"; depends=[coda extraDistr sp spacetime]; };
   spaMM = derive2 { name="spaMM"; version="3.0.0"; sha256="1rwgwh4lvpgbplbzrxi08cdmay9q44dv0szcdfnz74wdsgmpxjjs"; depends=[MASS Matrix nlme nloptr pbapply proxy Rcpp RcppEigen]; };
   spaa = derive2 { name="spaa"; version="0.2.2"; sha256="163iipz1knxx1lzby9a3n1f014yqkf25z1wpwwy4gbx7sia499d5"; depends=[]; };
-  space = derive2 { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
+  space = derive2 { name="space"; version="0.1-1.1"; sha256="09dpksbda4lg5hax47a9h9shjmggza6583slvdj0fldblykpyxck"; depends=[]; };
   spaceNet = derive2 { name="spaceNet"; version="1.2"; sha256="1s2672icxs0qvdhl52xhllgvh1i9mjfrn5j3icyw6h61ljbnhy11"; depends=[MASS mclust permute RcppTN Rfast sna vegan]; };
   spacejam = derive2 { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
   spacesRGB = derive2 { name="spacesRGB"; version="1.2-2"; sha256="0rl5xh4pa29ab3ckqhb4pq7s8x76738na320kzhidyhj6x39a6kf"; depends=[]; };
@@ -13211,18 +13737,18 @@ in with self; {
   spacyr = derive2 { name="spacyr"; version="1.2"; sha256="1xsiz6zx89vs6ykrkkp011d8fz4ksdgnf5nyaq5ynjr6zv865vks"; depends=[data_table reticulate]; };
   spaero = derive2 { name="spaero"; version="0.5.0"; sha256="1r3rgvmkcrkzm6ikbbmnm4rfdrnwgmn4wq21mxgjs2bzg2r72mw6"; depends=[]; };
   spagmix = derive2 { name="spagmix"; version="0.3-1"; sha256="0xfrm4i28sy490g5324bc43dxlrgcnzxg27gsd5b81mqi03sry9j"; depends=[abind mvtnorm RandomFields sparr spatstat]; };
-  spam = derive2 { name="spam"; version="2.2-2"; sha256="024dgfnjfxvsiymbzrhadinamj6qy509f4sbd1zxql8ymkyxn7vi"; depends=[dotCall64]; };
-  spam64 = derive2 { name="spam64"; version="2.2-2"; sha256="15fgspaywfwg06ic2n3cx3mckyc26p17h3vilf5vk0sn0jqp7byy"; depends=[]; };
+  spam = derive2 { name="spam"; version="2.4-0"; sha256="0xb7a0x1i93kzijr518m9plzmg8s3mxh5anwfx9xrkg5ipldvz10"; depends=[dotCall64]; };
+  spam64 = derive2 { name="spam64"; version="2.4-0"; sha256="1s2kjjyzrvj9yc57x5f03pkc4p2xclfnny14xch6dcv6rkkk6izq"; depends=[]; };
   spanel = derive2 { name="spanel"; version="0.1"; sha256="1riyvvfij277mclgik41gyi01qv0k466wyk2wbqqhlvrlj79yzsc"; depends=[]; };
   spanish = derive2 { name="spanish"; version="0.4.2"; sha256="15drc11lh0qxpww50p0smi8qxfbln82bx0yd74jqf71irhk5jxyp"; depends=[magrittr xml2]; };
-  spant = derive2 { name="spant"; version="0.14.0"; sha256="0zz75i8z64w474s5c142rzdc5483xyxamx5gzcxaipqd7vqaracz"; depends=[abind complexplus foreach magrittr matrixcalc minpack_lm nnls plyr pracma readr signal smoother stringr svd tibble tkrplot]; };
+  spant = derive2 { name="spant"; version="0.18.0"; sha256="047xk0a2a93pzda8ygsxbvhdd2ycs95rqrkljwgrd698l9fkqsc4"; depends=[abind complexplus fields foreach magrittr MASS matrixcalc miniUI minpack_lm mmand nnls oro_dicom plyr pracma ptw readr RNifti RNiftyReg shiny signal smoother stringr svd tibble viridisLite]; };
   sparcl = derive2 { name="sparcl"; version="1.0.4"; sha256="138krflvfdlx4hlh90mswds51i8aw2vv00gm5lgkfsvxj4w324jg"; depends=[]; };
   spark_sas7bdat = derive2 { name="spark.sas7bdat"; version="1.2"; sha256="1kvzfjhf1q5jzlq5d04s7d96j63vnvqqrh8s03rwkl79h1dhqhhp"; depends=[sparklyr]; };
   sparkTable = derive2 { name="sparkTable"; version="1.3.0"; sha256="1fc2nihxfrjpmxm9g9296mz5czd3ydvi1v37g8qgb20j7b73c64h"; depends=[boot Cairo ggplot2 gridExtra pixmap Rglpk RGraphics shiny StatMatch xtable]; };
   sparkavro = derive2 { name="sparkavro"; version="0.2.0"; sha256="005pdfb08clq2fsabdxcbmd4n8nj5ix6yqk5pxpv3gvrzw8s7y32"; depends=[DBI dplyr sparklyr]; };
   sparkbq = derive2 { name="sparkbq"; version="0.1.0"; sha256="0jcxnivi5zfbixmdywhn1v42lxi085wh7r4c26laclz9j2wvj8mk"; depends=[sparklyr]; };
   sparkline = derive2 { name="sparkline"; version="2.0"; sha256="0lrr1lm7603di7x3mf53cp13d9ssjh9gmb43wa6z9yqapis2djm2"; depends=[htmltools htmlwidgets]; };
-  sparklyr = derive2 { name="sparklyr"; version="1.0.2"; sha256="06l1rjmmgxdg5ala6hzrbnx0swpn9qyv81i98ab8dpfw70lk1fhi"; depends=[assertthat base64enc config DBI dbplyr digest dplyr ellipsis forge generics httr jsonlite openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi tibble tidyr withr xml2]; };
+  sparklyr = derive2 { name="sparklyr"; version="1.0.5"; sha256="1sh023f6djxm2bmjhrbgly8x3y87vlcjx00p7s3vkc2zl3mpydy5"; depends=[assertthat base64enc config DBI dbplyr digest dplyr ellipsis forge generics httr jsonlite openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi tibble tidyr withr xml2]; };
   sparklyr_nested = derive2 { name="sparklyr.nested"; version="0.0.3"; sha256="0lva7fbjp253kxq3970h52cr8s52xycbi03d5shsyna8grhkbczj"; depends=[dplyr jsonlite listviewer purrr rlang sparklyr]; };
   sparktex = derive2 { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
   sparktf = derive2 { name="sparktf"; version="0.1.0"; sha256="0jd018n7553q0ldv6whxbj2s38myig0m8zq4fbp8fsv34q5wnsx4"; depends=[sparklyr]; };
@@ -13231,7 +13757,7 @@ in with self; {
   sparr = derive2 { name="sparr"; version="2.2-13"; sha256="1cn8bzlfairfrxfwwdap0pnaa97rn9h13jz54il8cn9zacnzb8yc"; depends=[doParallel foreach misc3d spatstat spatstat_utils]; };
   sparseBC = derive2 { name="sparseBC"; version="1.2"; sha256="0a1siyi9kc805qji4alnw3c21spf4iw4wpsbfl50zvs52p8vl8w2"; depends=[fields glasso]; };
   sparseEigen = derive2 { name="sparseEigen"; version="0.1.0"; sha256="0vqcy61rarmp3liz8fr3vs3y40hkb3wfw89b5xsj1byaiap4772s"; depends=[]; };
-  sparseFLMM = derive2 { name="sparseFLMM"; version="0.2.2"; sha256="12143qij3p8vry9i02i52nj00m1ckkwg2rq99dq00dq43axcpvgw"; depends=[data_table MASS Matrix mgcv refund]; };
+  sparseFLMM = derive2 { name="sparseFLMM"; version="0.3.0"; sha256="0xl4zymdl9nxarn0nz8zhb1926lblb7jmyi7h1vp9cdl0hjwbiyy"; depends=[data_table MASS Matrix mgcv refund]; };
   sparseHessianFD = derive2 { name="sparseHessianFD"; version="0.3.3.4"; sha256="1vm853x5vvk745mm68wx0bkimmgwnbrdhj2rwy1nmgpk1lzi8vq6"; depends=[Matrix Rcpp RcppEigen]; };
   sparseIndexTracking = derive2 { name="sparseIndexTracking"; version="0.1.1"; sha256="0bgh29j22jm1yg2jp75xvv9jmqacb66vgv7ygf0xgnrwyrkxkm66"; depends=[]; };
   sparseLDA = derive2 { name="sparseLDA"; version="0.1-9"; sha256="1k3sw9kc40yxnfss4vrsx34qxmv8ssddyhbfjhxrdldvblhbwchb"; depends=[elasticnet MASS mda]; };
@@ -13240,52 +13766,53 @@ in with self; {
   sparseMatEst = derive2 { name="sparseMatEst"; version="1.0.0"; sha256="06y061zl6id7cfw3cqzvwykzlijmala8hj61i04mgc491ngybimv"; depends=[glasso]; };
   sparseSEM = derive2 { name="sparseSEM"; version="2.5"; sha256="0ig8apsi94kvbcq3i8nzmywbdizlss7c6r9bppcyl9lxgikc3cds"; depends=[]; };
   sparseSVM = derive2 { name="sparseSVM"; version="1.1-6"; sha256="0b0qiikjyyh9qfd4jl69zqnlp7adxq63mwsxvgwvyc0pv5ccg8i0"; depends=[]; };
-  sparsebn = derive2 { name="sparsebn"; version="0.0.5"; sha256="19315nzj9pz98498amlhas6ii3vwvn3qxz5a6136nh2xfwfg2bhc"; depends=[ccdrAlgorithm discretecdAlgorithm sparsebnUtils]; };
+  sparsebn = derive2 { name="sparsebn"; version="0.1.0"; sha256="1f6b6wb5lg3avcgwcr2dbaikcrrvk0vb5ag5c1c30j0xckgl3n1v"; depends=[ccdrAlgorithm discretecdAlgorithm sparsebnUtils]; };
   sparsebnUtils = derive2 { name="sparsebnUtils"; version="0.0.7"; sha256="1a810wrjvgzqmlgcx1lnvxz8j1v8ycfqwk9acnm84c4lmb8rkyx0"; depends=[Matrix nnet]; };
   sparseinv = derive2 { name="sparseinv"; version="0.1.3"; sha256="06inzix9m7b5g7c97lyvyl2g7fdr4iz60791hl2w9mah7nd6bfja"; depends=[Matrix Rcpp spam]; };
-  sparsenet = derive2 { name="sparsenet"; version="1.3"; sha256="1n95imjvs0c0yp4bmayaib5yab0abrr0zyq1crp5gg8686dzcbjc"; depends=[glmnet Matrix shape]; };
+  sparsenet = derive2 { name="sparsenet"; version="1.4"; sha256="1r7xmpn3r8dq1zm6ghygks3l014kqlrpfgsl8q23w7rly8ksw3m9"; depends=[Matrix shape]; };
   sparsepca = derive2 { name="sparsepca"; version="0.1.2"; sha256="0wk2nm37p15gb8i4s45izzzdmwywr56kv4g0j3jd5s3slm224vv4"; depends=[rsvd]; };
   sparsepp = derive2 { name="sparsepp"; version="1.22"; sha256="0wa1585pkbn3y11apyim4z1ixn300c1yyv9bf2qldb6cjfiv7699"; depends=[]; };
   sparsereg = derive2 { name="sparsereg"; version="1.2"; sha256="1ipsang2fppmjx4h5ljgzx3c44z3lggc376ghrqqgmxb5ql8bcp3"; depends=[coda ggplot2 GIGrvg glmnet gridExtra MASS MCMCpack msm Rcpp RcppArmadillo VGAM]; };
   sparsestep = derive2 { name="sparsestep"; version="1.0.0"; sha256="0f3wrwiyn990sn3x9r50zgs8cr76nmyisdc7qismgx1nn5yx5z0g"; depends=[Matrix]; };
   sparsesvd = derive2 { name="sparsesvd"; version="0.2"; sha256="1xm969fjq3fv1p2sqza2apz8picibj4s2agpwf1sx9nwn3b587qs"; depends=[Matrix]; };
-  sparsevar = derive2 { name="sparsevar"; version="0.0.10"; sha256="069r0kbypmx7pw3z2v9l17qidw3d73rzf5zs6yn1adyvpsddjxi8"; depends=[doParallel flare ggplot2 glmnet Matrix mvtnorm ncvreg picasso reshape2]; };
+  sparsevar = derive2 { name="sparsevar"; version="0.0.11"; sha256="18cylbi788ibpry6h9yphrwx2wwsaa25bq2s13h0dcfxyicl2f9p"; depends=[corpcor doParallel ggplot2 glmnet Matrix mvtnorm ncvreg picasso reshape2]; };
   sparsio = derive2 { name="sparsio"; version="1.0.0"; sha256="12nbydgzl3qlanlsfdy8bvg6rxa439lv0z0vbyqssqwky3mmg5c3"; depends=[Matrix Rcpp]; };
   spartan = derive2 { name="spartan"; version="3.0.2"; sha256="040iq7y5fk93zcvbinnmlhj9l8w3bjq3yqcf7v715i77hx5d18bs"; depends=[e1071 ggplot2 gplots lhs mco mlegp neuralnet plotrix psych randomForest XML]; };
-  spate = derive2 { name="spate"; version="1.5"; sha256="1hlh4iwx1lrl8r2gag33z2xdv6k4hg86ch4f0jlqnqkhm9hapshf"; depends=[mvtnorm truncnorm]; };
+  spate = derive2 { name="spate"; version="1.6"; sha256="0jy9rj5xd1f8y97kyx1sx0kml2g7q88m4fz7v8kh0hinc6dzh2sk"; depends=[mvtnorm truncnorm]; };
   spatgraphs = derive2 { name="spatgraphs"; version="3.2-1"; sha256="0n7f3r4ahv1w5mwx5mnib3g4263kz73rh1fcfk5wb12y52x8n1iz"; depends=[Matrix Rcpp]; };
   spatial = derive2 { name="spatial"; version="7.3-11"; sha256="04aw8j533sn63ybyrf4hyhrqm4058vfcb7yhjy07kq92mk94hi32"; depends=[]; };
   spatial_gev_bma = derive2 { name="spatial.gev.bma"; version="1.0"; sha256="1rjn0gsbgiv69brhnm0zj25ya3nyfh4yf6jizng85mvss3viv3hj"; depends=[coda msm SpatialExtremes]; };
   spatial_tools = derive2 { name="spatial.tools"; version="1.6.0"; sha256="1jh9psc2im0mp52mmz596x5h64m6w1d8hibnm7x52di5j2jp29vz"; depends=[abind doParallel foreach iterators mmap raster rgdal sp]; };
   spatialClust = derive2 { name="spatialClust"; version="1.1.1"; sha256="042yrmh1rb0hxynxlbdpcissgy9zazs5aqx7vj388ibynzijck3r"; depends=[ggplot2 maptools rgeos sp]; };
   spatialCovariance = derive2 { name="spatialCovariance"; version="0.6-9"; sha256="1m86s9a059spp97y37dcirrgjshcqzpdj11cq92vji624w4nrhlb"; depends=[]; };
-  spatialEco = derive2 { name="spatialEco"; version="1.2-0"; sha256="110kzq8qhfjqqc2dcvy43a4m2q4a8vs2009kzhcnl1r8j843ibni"; depends=[cluster EnvStats maptools MASS RANN raster RCurl readr rgeos rms SDMTools sf sp SpatialPack spatstat spdep yaImpute]; };
+  spatialEco = derive2 { name="spatialEco"; version="1.2-1"; sha256="12viar7ym2k5w7a6hjwf0vanpm38l6v3fpk8qd3amc162aw8p7nj"; depends=[cluster dplyr EnvStats fasterize maptools MASS RANN raster RCurl readr rgeos rms SDMTools sf sp SpatialPack spatstat spdep yaImpute]; };
   spatialTailDep = derive2 { name="spatialTailDep"; version="1.0.2"; sha256="107yldc43pgbadxdisnc7vq8vyvcps1b1isyvxd0kyf59xldiq47"; depends=[cubature mvtnorm SpatialExtremes]; };
   spatialfil = derive2 { name="spatialfil"; version="0.15"; sha256="01fbn9zblz7rjsgqy3ikdqpf0p0idvb6m96mf7m7qi2ps5f48vzj"; depends=[abind fields]; };
   spatialfusion = derive2 { name="spatialfusion"; version="0.6"; sha256="13bpiw1f847nlrsvg6bpgb62pfgm5j47v7cy7x4bqxh497ci263b"; depends=[fields geoR Rcpp rstan SDraw sp]; };
   spatialkernel = derive2 { name="spatialkernel"; version="0.4-23"; sha256="0kvhirh7afk2gfy21pa6117yk6kzbaf2dxfkr1ax3b554rnrv4p0"; depends=[spatstat]; };
   spatialnbda = derive2 { name="spatialnbda"; version="1.0"; sha256="14mx5jybymasyia752f3vnr5vmswcavbz8bpqr69vlxphw27qkwk"; depends=[mvtnorm SocialNetworks]; };
   spatialprobit = derive2 { name="spatialprobit"; version="0.9-11"; sha256="1cpxxylc0pm7h9m83m2cklrh4jni5x79r5m5gibxi6viahwxn9kc"; depends=[Matrix mvtnorm spdep tmvtnorm]; };
-  spatialreg = derive2 { name="spatialreg"; version="1.1-3"; sha256="1004rz4x34i0nmm46ac2vq7ddxp31cvbbdhd79jd49z4vzycs2bn"; depends=[boot coda expm gmodels LearnBayes MASS Matrix nlme spData spdep]; };
-  spatialrisk = derive2 { name="spatialrisk"; version="0.6.2"; sha256="1n7akj7jhl6m3gqa51wi4cmbi3bblzrja3ss6ni664pargnkvd0q"; depends=[classInt dplyr ggplot2 Rcpp RcppProgress sf shiny tmap viridis]; };
+  spatialreg = derive2 { name="spatialreg"; version="1.1-5"; sha256="0zdj67rvfvssjch5hwyi4gvyr7pjgfjrkbhnc4q9psfjp9rhggyx"; depends=[boot coda expm gmodels LearnBayes MASS Matrix nlme spData spdep]; };
+  spatialrisk = derive2 { name="spatialrisk"; version="0.6.5"; sha256="0qgy4imk1p35vglj8ahfaf8gy7ixqzdwp75nf1q2y22gjq45d1xa"; depends=[automap classInt dplyr fs ggplot2 gstat lubridate mgcv Rcpp RcppProgress sf sp tmap viridis vroom]; };
   spatialsegregation = derive2 { name="spatialsegregation"; version="2.45"; sha256="04ibvk6shs15b8piln2lcnlj8s5gy6r7wraz6591dbc31grzaa36"; depends=[spatstat]; };
   spatialwarnings = derive2 { name="spatialwarnings"; version="1.3.1"; sha256="139m6jaw6f5gglwqrd4f5mzr4vkqk2r1a069971y7ap2klzzbhns"; depends=[ggplot2 plyr Rcpp RcppArmadillo reshape2 tidyr VGAM]; };
   spatialwidget = derive2 { name="spatialwidget"; version="0.2"; sha256="105pgsv4dq3pmk9bylb3fxzvp44frfp6xcvq5d01ja4gnwmb35p2"; depends=[BH colourvalues geojsonsf jsonify rapidjsonr Rcpp]; };
   spatsoc = derive2 { name="spatsoc"; version="0.1.9"; sha256="1s7vhn3ywsdp91z4psx7nairxcfhblzyvx44v4an4rwhvvhvys3c"; depends=[adehabitatHR data_table igraph rgeos sp]; };
-  spatstat = derive2 { name="spatstat"; version="1.60-1"; sha256="1xq5za4a6679n66z095kivw7pzp01zzsv7axh04przkgx4qkzbk4"; depends=[abind deldir goftest Matrix mgcv nlme polyclip rpart spatstat_data spatstat_utils tensor]; };
+  spatstat = derive2 { name="spatstat"; version="1.61-0"; sha256="01jr9krizch11mhhkn4134x9p517q83chxyjvm36rn0qs1d6l785"; depends=[abind deldir goftest Matrix mgcv nlme polyclip rpart spatstat_data spatstat_utils tensor]; };
+  spatstat_Knet = derive2 { name="spatstat.Knet"; version="1.11-2"; sha256="0jkpj4m44cqid5jdn7fwg3cl15lsmc0dp3bzp6759spivsx1yzq1"; depends=[Matrix spatstat spatstat_utils]; };
   spatstat_data = derive2 { name="spatstat.data"; version="1.4-0"; sha256="137cf9x6qcp7lw3rpjqizsy73z99yihff8gr434wlz7b5fwmn7hj"; depends=[spatstat_utils]; };
   spatstat_local = derive2 { name="spatstat.local"; version="3.6-0"; sha256="19kv85smy8jp2bx1mgppav50k07xm8zvmf7snzj29rrspiws7sig"; depends=[spatstat spatstat_utils tensor]; };
-  spatstat_utils = derive2 { name="spatstat.utils"; version="1.13-0"; sha256="0wijib2fmmvz5sf2sp212ms88ffhcz9c1d0j2ljdxf222lp6v8l1"; depends=[]; };
+  spatstat_utils = derive2 { name="spatstat.utils"; version="1.15-0"; sha256="031ar9yycg8kwknn0aa0pn12qjw722payff9jdzz8fb91drpvq4h"; depends=[]; };
   spatsurv = derive2 { name="spatsurv"; version="1.2"; sha256="0acg6n5qs3z9c7y2n3amla61dm3z1p16njkx0h52dlgdbj5v1nhn"; depends=[fields geostatsp iterators lubridate Matrix OpenStreetMap RandomFields raster RColorBrewer rgeos rgl sp spatstat stringr survival]; };
   spbabel = derive2 { name="spbabel"; version="0.5.0"; sha256="0jwv3mirm5wkfqja0nwy25nfndis8px4awpjh4hk9bi77dfy14bf"; depends=[dplyr sp tibble]; };
-  spc = derive2 { name="spc"; version="0.6.1"; sha256="0pwmwyizpxky50nlm0k7i3rn0985wg0vg7d58a1jphzf2r8pdcp2"; depends=[]; };
-  spc4sts = derive2 { name="spc4sts"; version="0.4.2"; sha256="0sriby7p9p3w886mxc31ii2llk1qr9v7wvpc1kifnc09jjbmw5g1"; depends=[gridExtra rpart]; };
+  spc = derive2 { name="spc"; version="0.6.3"; sha256="0ik5qmf0f0l77rbg78rp8v606h0d1qp4kccl6j3vqfb2hjsqb7r0"; depends=[]; };
+  spc4sts = derive2 { name="spc4sts"; version="0.5.1"; sha256="0fvmzp222qsprl7jhmj9yz23kf1n7xl4i05infms3nasgac20hcb"; depends=[gridExtra LS2Wstat rpart]; };
   spcadjust = derive2 { name="spcadjust"; version="1.1"; sha256="016i3zaaq800x4niz4fixa57nfj1m10sz5xskff4vq4v9fjn2sl0"; depends=[]; };
   spcosa = derive2 { name="spcosa"; version="0.3-8"; sha256="1hw3njn2c8wj8bk2qpnbi2mbhj485q3gpbjf1gq9k6my4brdp86b"; depends=[ggplot2 rJava sp]; };
   spcov = derive2 { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
   spcr = derive2 { name="spcr"; version="2.0"; sha256="1n0lva9brpzxysw6p7l88cj8d46jng2zd7zvr5brqldzd3yl63l9"; depends=[]; };
   spd = derive2 { name="spd"; version="2.0-1"; sha256="00zxh4ri47b61jkcjf5idl9hhlfld6rhczsnhmjsax59884f2i8m"; depends=[KernSmooth]; };
-  spdep = derive2 { name="spdep"; version="1.1-2"; sha256="06mk81kc1ml2wjc8wwwgr0wasjcr4mwrxpfa8vfc373bmnha635s"; depends=[boot coda deldir expm gmodels LearnBayes MASS Matrix nlme sf sp spData]; };
+  spdep = derive2 { name="spdep"; version="1.1-3"; sha256="1f8cjffqqc6rnb3n4qym70ca6nz2kvrsd3g587wrqdr79nnbwnrk"; depends=[boot coda deldir expm gmodels LearnBayes MASS Matrix nlme sf sp spData]; };
   spdownscale = derive2 { name="spdownscale"; version="0.1.0"; sha256="0pl560km9629iwy13h7359ab7ixzs09hg986kvk0xbnc348srb86"; depends=[]; };
   spdplyr = derive2 { name="spdplyr"; version="0.3.0"; sha256="1fx0x1p860rq568dzppjvc7npmc6k606m34pqnhf8g13ybzyn878"; depends=[dplyr lazyeval rlang sp spbabel tibble]; };
   spduration = derive2 { name="spduration"; version="0.17.1"; sha256="1hsz4hcw85f1rj2pd8ppzsd1r8fh4yf6axc11yf2hd287ghzzxzy"; depends=[corpcor forecast MASS plyr Rcpp RcppArmadillo separationplot xtable]; };
@@ -13301,7 +13828,7 @@ in with self; {
   spectral_methods = derive2 { name="spectral.methods"; version="0.7.2.133"; sha256="0k8kpk94d2qzqdk3fnf6h9jmwdyp8h3klr0ilm5siwq5wkcz339l"; depends=[abind DistributionUtils foreach JBTools ncdf_tools nnet raster RColorBrewer RNetCDF Rssa]; };
   spectralAnalysis = derive2 { name="spectralAnalysis"; version="3.12.0"; sha256="0mz01hx86qi65k6vzz9k1j9q7gi10dh14cqvrlfy93f3kmi52q0x"; depends=[baseline BiocGenerics data_table ggplot2 hNMF jsonlite magrittr NMF nnls plotly plyr RColorBrewer signal viridis]; };
   spectralGP = derive2 { name="spectralGP"; version="1.3.3"; sha256="1jf09nsil4r90vdj7n1k6ma9dzzx3bwv0fa7svil9pxrd2zlbkbs"; depends=[]; };
-  spectralGraphTopology = derive2 { name="spectralGraphTopology"; version="0.1.1"; sha256="194ibgxkj13gkmyzhw9n5d93p5mi86h7lx59yvqkxg9c7h4774mk"; depends=[MASS Matrix osqp progress Rcpp RcppArmadillo RcppEigen rlist]; };
+  spectralGraphTopology = derive2 { name="spectralGraphTopology"; version="0.2.0"; sha256="02j374zsz4ba8ldy52x43rih1p77b56cv5xlbycj5wmkzny2gzx1"; depends=[MASS Matrix progress Rcpp RcppArmadillo RcppEigen rlist]; };
   spectrolab = derive2 { name="spectrolab"; version="0.0.8"; sha256="1hjvi9na94f7n7yr64p0bvh0mzckwmfh36d6zxisrxr08zxwyxzz"; depends=[devtools prospectr RColorBrewer shiny shinyjs usethis]; };
   speedglm = derive2 { name="speedglm"; version="0.3-2"; sha256="1b25zimk0z7ad62yacqdg0zk0qs0jja4i918ym942xfw4j1z3jjz"; depends=[MASS Matrix]; };
   spef = derive2 { name="spef"; version="1.0.8"; sha256="1c4hpm19zqh869z8qbixkfbidnygc3fy91d0m2l4bp2s6bq1wdnz"; depends=[BB ggplot2 nleqslv plyr sm SQUAREM survival]; };
@@ -13321,15 +13848,17 @@ in with self; {
   sphet = derive2 { name="sphet"; version="1.7"; sha256="0savvqz3v5awsr7kcghg6yzkqdpm01kwp7jrg9ajfb3146gg8mlq"; depends=[Matrix nlme sp spdep]; };
   spi = derive2 { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; };
   spider = derive2 { name="spider"; version="1.5.0"; sha256="1y034v42jxjl3vj87iz5kaizq7fwppmn56z7yyvrrmk5ps4nqr1j"; depends=[ape pegas]; };
-  spiderbar = derive2 { name="spiderbar"; version="0.2.1"; sha256="1mm9g58riyjxpfwjj28shlw9zlycsgcxl6xw8im0gm815v2plyhv"; depends=[Rcpp]; };
+  spiderbar = derive2 { name="spiderbar"; version="0.2.2"; sha256="1ardf7i0s17k8psch7vv29xnvrhw427id5hx3b8jca5cbz1l2ylb"; depends=[Rcpp]; };
   spiders = derive2 { name="spiders"; version="1.2"; sha256="1qklm178bgkgpvrjf024jphsdh9can8300sf0702l4h0rk2daqbq"; depends=[plyr]; };
   spikeSlabGAM = derive2 { name="spikeSlabGAM"; version="1.1-14"; sha256="1ha2ngs5jkrcd3ay26vynrd31fqf9pva5r0p954dyfbpbinizxgf"; depends=[akima cluster coda ggplot2 gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
   spikes = derive2 { name="spikes"; version="1.1"; sha256="080sna0sgii61kai5sirs6cijnvk1012djwfw705di9y2lvk1hqk"; depends=[emdbook]; };
   spikeslab = derive2 { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
   spinBayes = derive2 { name="spinBayes"; version="0.1.0"; sha256="1qgqxxk4n17wj3q07irm2qj6lwc5188iwwbdkf588hvfy86lwpj8"; depends=[glmnet MASS Rcpp RcppArmadillo]; };
   spind = derive2 { name="spind"; version="2.2.0"; sha256="1qswvj8hcjds3mjffzlxq87g79gijsk3mw26lfr81vyf5zmwm4w4"; depends=[gee geepack ggplot2 lattice MASS RColorBrewer rje rlang splancs stringr waveslim]; };
+  spinebil = derive2 { name="spinebil"; version="0.1.0"; sha256="137ln9av551gp85qbdpvpa1iw738571vsbkry7bpzfwmbc4fz40z"; depends=[dplyr ggplot2 magrittr tibble tictoc tidyr tourr]; };
   spinifex = derive2 { name="spinifex"; version="0.1.0"; sha256="0z6jbxfrj8r3xlw4rkhq9s8yn0zl58wrzir9gyz66qj5f6c3s716"; depends=[dplyr GGally ggplot2 plotly tibble tourr webshot]; };
   spinyReg = derive2 { name="spinyReg"; version="0.1-0"; sha256="0kbg7rncrrl5xdsaw9vj909x97mfp77mjnvghczplmnwmmanyn72"; depends=[]; };
+  spiritR = derive2 { name="spiritR"; version="0.1.1"; sha256="1fjr63rl9hwqxzgm4lkb9v74cxxpi4lrlcgjixdm7zgccm8ihdvh"; depends=[httr magrittr xml2]; };
   splancs = derive2 { name="splancs"; version="2.01-40"; sha256="0qs3lwyllrkahnvqbm8bzrf03bm9zk4s7p1n19s638y4xf0l6x3r"; depends=[sp]; };
   splashr = derive2 { name="splashr"; version="0.6.0"; sha256="0l57w5gwr0p2049z1201nlqsy23h37gsybd1lj3vycxz43ir7213"; depends=[curl dplyr formatR HARtools httr jsonlite lubridate magick openssl purrr scales stevedore stringi xml2]; };
   splines2 = derive2 { name="splines2"; version="0.2.8"; sha256="0ygzqq0swhcss5v8bn7qg98fpvp3wibbnbzkbpw4nvfd8bg51m1v"; depends=[]; };
@@ -13340,7 +13869,7 @@ in with self; {
   splithalfr = derive2 { name="splithalfr"; version="1.0.10"; sha256="08gl60dbjb4nq6ab0w7yj7ac0gnj0zxbvzlg3rkqczvx4r3gwkip"; depends=[dplyr rlang]; };
   splitstackshape = derive2 { name="splitstackshape"; version="1.4.8"; sha256="0mpyf2kkfdl69pdc6brl1r6101vyc6pgr7z17s55ppg3y71k4q35"; depends=[data_table]; };
   splm = derive2 { name="splm"; version="1.4-11"; sha256="15app94mxs6xlmqqhpa0q041skc4n4l2wfi6pmmhwinrgcqgncln"; depends=[bdsmatrix ibdreg MASS Matrix maxLik nlme plm spam spdep]; };
-  splot = derive2 { name="splot"; version="0.4.2"; sha256="1f2bxcq6likg4nl7k63mxh858b7ckss97szcdqh5aidc42rhamg1"; depends=[]; };
+  splot = derive2 { name="splot"; version="0.5.0"; sha256="0r05lbx9zi8prhcc8pb1680amlq32dhpg7vwfssii9bm9xkznlwl"; depends=[]; };
   spls = derive2 { name="spls"; version="2.2-3"; sha256="0bmb0ai5z80njhypd342i711x0bdkwcvlyn374lyyzj8h3d97mmv"; depends=[MASS nnet pls]; };
   splus2R = derive2 { name="splus2R"; version="1.2-2"; sha256="0xrbj8vxy0pc6hl7m8abv71d3hjw47cl51s7j7priadyqczkq6sz"; depends=[]; };
   splusTimeDate = derive2 { name="splusTimeDate"; version="2.5.0-142"; sha256="0l1cb6gvwysca5psnsppllsvmsq7gfrybxy7aiw7phnm6bhb4w67"; depends=[]; };
@@ -13349,8 +13878,8 @@ in with self; {
   spm12r = derive2 { name="spm12r"; version="2.8.1"; sha256="1ndak1ba6gh3hij0x4njr4hv6nfvq91dpgb0zdw0nl11bi6999b0"; depends=[git2r matlabr neurobase oro_nifti R_utils]; };
   spmoran = derive2 { name="spmoran"; version="0.1.7.1"; sha256="0nxg1xl3m4lkpxrkfcbnmf1x0gf43llz7095rj6i3flgmymirnxh"; depends=[doParallel fields foreach ggplot2 Matrix rARPACK spdep vegan]; };
   spnet = derive2 { name="spnet"; version="0.9.1-0"; sha256="1fy0fpgz2k985brfqyza1l49y0w2j9z308n542pgmkzqsnsdscpw"; depends=[shape sp]; };
-  spnn = derive2 { name="spnn"; version="1.1"; sha256="0i77lpxrfa1jxi9znlmn5knmcjpf17q4hf8999b1x8lhqlhiizc1"; depends=[MASS]; };
-  spocc = derive2 { name="spocc"; version="0.9.0"; sha256="1azid8girmj4f0j4x9irljpxbsdpsxz572grb4fdjdxmlzpls7sy"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble whisker wicket]; };
+  spnn = derive2 { name="spnn"; version="1.2"; sha256="1pfgffcaycv8ym9sal24s7h3zycjnnkkwhp4c2drigh6qvq8bly6"; depends=[MASS Rcpp RcppArmadillo]; };
+  spocc = derive2 { name="spocc"; version="1.0.2"; sha256="1mglkbbr2zhy884ilhxy2dkcjlr4aq16z08vs9gc44258i59kzy0"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble whisker wicket]; };
   spongebob = derive2 { name="spongebob"; version="0.4.0"; sha256="1ar5173fwx1am5rgjlnczfla6b49g0azl0h9vn89ipw7f71rr5j7"; depends=[]; };
   spongecake = derive2 { name="spongecake"; version="0.1.2"; sha256="13fxizbfjvqkhkmxk5bwv2fj2xyjkbxrxicpdgwpg0wsk4dhj3s8"; depends=[ggplot2 jpeg magrittr plyr]; };
   sporm = derive2 { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
@@ -13359,10 +13888,11 @@ in with self; {
   spotifyr = derive2 { name="spotifyr"; version="2.1.1"; sha256="0d3n75gyyqi5vgp3z4v3g9l7963xgadi98p1b5iag78zzz1zkcz8"; depends=[dplyr genius httr jsonlite lubridate purrr readr rvest stringr tibble tidyr]; };
   spp = derive2 { name="spp"; version="1.16.0"; sha256="08zxxgyp0h6733b08jmml7k4rhfd3mi5dda3jrzid0s184y0z29w"; depends=[BH caTools Rcpp Rsamtools]; };
   sppmix = derive2 { name="sppmix"; version="1.0.2"; sha256="1924lrxjlijlbvjbkkwb3pfa4klg49ph6hz66b7kyy1371wa2b9y"; depends=[fields ggplot2 mvtnorm Rcpp RcppArmadillo rgl spatstat]; };
-  spray = derive2 { name="spray"; version="1.0-6"; sha256="19j3fmgxwvni73xmldwaf6n8czxrwlhb9psl7iry0skw8vmdp4jy"; depends=[magic partitions Rcpp]; };
+  spray = derive2 { name="spray"; version="1.0-8"; sha256="0gkzfzidwccznbf17qkmyppr7qsl8w7jn5ghqxgaqwkz6k8ad93f"; depends=[magic partitions Rcpp]; };
+  spread = derive2 { name="spread"; version="2019.8.5"; sha256="1mc25abh1jxgis9p78pdy91a45kanr7y32xbqypyd514jjylnc52"; depends=[data_table fhidata Rcpp RcppProgress readxl stringr zoo]; };
   spreadr = derive2 { name="spreadr"; version="0.1.0"; sha256="1azf1543ijlgmry0f2sxivpy4hk9mcwnn5kqggzwwzwla2ql3lhj"; depends=[extrafont ggplot2 igraph Rcpp]; };
   sprex = derive2 { name="sprex"; version="1.4.1"; sha256="14idml4mipd4wyza7hqf49ww4dparmwaps35hxm8jg5h0w1pgh7j"; depends=[swfscMisc]; };
-  sprinter = derive2 { name="sprinter"; version="1.1.0"; sha256="12v4l4fxijh2d46yzs0w4235a8raip5rfbxskl0dw7701ryh7n8g"; depends=[CoxBoost GAMBoost LogicReg randomForestSRC survival]; };
+  sprintr = derive2 { name="sprintr"; version="0.9.0"; sha256="0nnzjn7zrcgcmk3rs0hn56jcjrzrn5z0kc77bv4zzvbz5vr8gbwj"; depends=[glmnet Rcpp RcppArmadillo]; };
   sprm = derive2 { name="sprm"; version="1.2.2"; sha256="0iyijkjnyz4yx2cmazlnhkk0f5ls0c2q2aikwlzl13w6zbj040a8"; depends=[cvTools ggplot2 pcaPP reshape2 robustbase]; };
   sprsmdl = derive2 { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
   spsann = derive2 { name="spsann"; version="2.2.0"; sha256="00nlrwk50ch128brzvfxld0pcpq1syks9rvwdrcf1i2pcxnva7d0"; depends=[pedometrics Rcpp sp SpatialTools]; };
@@ -13370,23 +13900,24 @@ in with self; {
   spsh = derive2 { name="spsh"; version="1.0.4"; sha256="11xfbhj9g8c99npzs76y30j829gfvhi9zrq2dn97c1idd08200c9"; depends=[DEoptim FME lhs pracma]; };
   spsi = derive2 { name="spsi"; version="0.1"; sha256="0q995hdp7knic6nca0kf5yzkvv8rsskisbzpkh9pijxjmp1wnjrx"; depends=[plot3D]; };
   spsur = derive2 { name="spsur"; version="1.0.0.3"; sha256="101k39g0psvvrf8qkic9ijh2sps444i5bl1z3fr9c4i29yfgzvnm"; depends=[Formula MASS Matrix minqa numDeriv sparseMVN spdep]; };
-  spsurvey = derive2 { name="spsurvey"; version="4.0.0"; sha256="0bx3x4cddsr5r402cxi0321628ab7hjajgcv937ah4km3g2z9ihs"; depends=[crossdes deldir foreign Hmisc MASS rgeos sp]; };
+  spsurvey = derive2 { name="spsurvey"; version="4.1.0"; sha256="1f48jddws3whaakvkcps7kvg179q74mjprh0rs3y6wfhfn0w67hm"; depends=[crossdes deldir foreign Hmisc MASS rgeos sf sp]; };
   spt = derive2 { name="spt"; version="2.5.1"; sha256="04j38d2b35p4798znnc49vqrg8r8bygwi07vybfj3nzimlp2mkrn"; depends=[]; };
   sptemExp = derive2 { name="sptemExp"; version="0.1.4"; sha256="16rp20l65id6jiqify7hii0xpgkiyhgp9xg89b002n0jsy10pgph"; depends=[automap BayesX BayesXsrc bcv deldir doParallel foreach limSolve ncdf4 plyr R2BayesX raster Rcpp RcppEigen rgdal rgeos sp SpatioTemporal]; };
-  sptm = derive2 { name="sptm"; version="17.12-7"; sha256="1l5in0jkqg44rr2id3h25jrfbn7x855p31z338hnmdpfwkpm2b1a"; depends=[kyotil survey survival]; };
+  sptm = derive2 { name="sptm"; version="2019.11-25"; sha256="1hdymzngdppmh56dqh0k88n9hg68pbx9rgmimbz4ihnfx2plvadh"; depends=[kyotil survey survival]; };
   spuRs = derive2 { name="spuRs"; version="2.0.2"; sha256="00c0hnyrcbkbj269czxbfgmgi88y0vxzm79sxclllkzr9rdd1p53"; depends=[lattice MASS]; };
   spup = derive2 { name="spup"; version="1.3-1"; sha256="0xq9z9iy3bwqhzq783qydgmczxvh7knkk9vdvwnbpbk0rbjgq3kn"; depends=[gstat magrittr mvtnorm purrr raster whisker]; };
   sqldf = derive2 { name="sqldf"; version="0.4-11"; sha256="0q12vsb53p2wchgp8wfz5bk08wfnm0jxjrakclj4jyy6x3a7ksff"; depends=[chron DBI gsubfn proto RSQLite]; };
   sqliter = derive2 { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[DBI functional RSQLite stringr]; };
+  sqlparseR = derive2 { name="sqlparseR"; version="0.1.0"; sha256="0zcna9y61v1qklpnhrwgv1djg4hyx3k5an32caapszi8qm9nq3x8"; depends=[reticulate]; };
   sqlscore = derive2 { name="sqlscore"; version="0.1.4"; sha256="1wvjiy7g0rxfy10vssdrv5li5sbvrin9wjy0ai0nxk503kw7g74k"; depends=[dbplyr]; };
   sqlutils = derive2 { name="sqlutils"; version="1.2"; sha256="0dq4idg8i4hv9xg8jllllizqf3s75pdfm1wgncdjj52xhxh169pf"; depends=[DBI roxygen2 stringr]; };
   squash = derive2 { name="squash"; version="1.0.8"; sha256="1x1rw0ny2kas0x8y5vv9czyqmwml7s5d2c8a33vqap0x8q52r4z6"; depends=[]; };
-  squid = derive2 { name="squid"; version="0.1.1"; sha256="0qv9lazgiqazhq096ybmllalm2l2h794ry4p1r93c10msxg37sdp"; depends=[arm data_table ggplot2 lme4 MASS shiny]; };
+  squid = derive2 { name="squid"; version="0.1.2"; sha256="1sf7q9pp68inr4ikaxm51f31gwxq9ixrsismrnnsby3agq6nsmkb"; depends=[arm data_table ggplot2 lme4 MASS shiny]; };
   sra = derive2 { name="sra"; version="0.1.1"; sha256="03nqjcydl58ld0wq1f9f5p666qnvdfxb5vhd584sdilw1b730ykd"; depends=[]; };
-  srm = derive2 { name="srm"; version="0.1-166"; sha256="1rqlvmynbcqp8j6jkyrimwkma0x1a4zw8vf0xx84q01qgqf0i8ar"; depends=[Rcpp RcppArmadillo]; };
+  srm = derive2 { name="srm"; version="0.2-10"; sha256="1vcggiifp3h12pb4dcdyz4345n2sr5yjszdjgn6s4jsc99lzmj0a"; depends=[Rcpp RcppArmadillo]; };
   srp = derive2 { name="srp"; version="1.2.0"; sha256="0xdzfvi7z78xmyxwd8fha3lr86jwmgjba1w8hhn4sv3v5gc9vlkh"; depends=[fda mgcv]; };
-  srvyr = derive2 { name="srvyr"; version="0.3.5"; sha256="0yy18jaja7w7q6lbc2ky2lranjr6j23s88nplrvvn5a28n72mkdp"; depends=[dplyr magrittr rlang survey tibble tidyselect]; };
-  ss3sim = derive2 { name="ss3sim"; version="0.9.5"; sha256="0rdb49bfxvyh0jrqycrv1hxvh7y4kvw81jccjg5ma734x44q0vm5"; depends=[bbmle dplyr foreach ggplot2 gtools lubridate magrittr plyr r4ss]; };
+  srvyr = derive2 { name="srvyr"; version="0.3.6"; sha256="0d8mqi0cf8kxkw802vhrvnazg3kdnqzg8x5myfmz3a3m8cbk8w8q"; depends=[dplyr magrittr rlang survey tibble tidyselect]; };
+  ss3sim = derive2 { name="ss3sim"; version="1.0.3"; sha256="0s2yajlhi07fvqc0rr4msd9g2jrswb83dx55wsxnw925vikqa5kz"; depends=[bbmle foreach ggplot2 gtools r4ss]; };
   ssMousetrack = derive2 { name="ssMousetrack"; version="1.1.5"; sha256="069jsp2l63jp4fv2hwadqxpkp89aqmbh439zy66rx55kws75b556"; depends=[BH CircStats cowplot dtw ggplot2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   ssa = derive2 { name="ssa"; version="1.3.0"; sha256="0lbwvw8f88wvlhzd469fww0av0nbi6l76vmmxbps0ifw2q87l00d"; depends=[iterators]; };
   ssanv = derive2 { name="ssanv"; version="1.1"; sha256="17a4a5azxm5h2vxia16frcwdyd36phpfm7fi40q6mnnrwbpkzsjd"; depends=[]; };
@@ -13394,19 +13925,21 @@ in with self; {
   sscor = derive2 { name="sscor"; version="0.2"; sha256="1kcrr90cxg6k4qkc3pidhkwf4dsnlgbxczxigr2afwpd9cpf104c"; depends=[mvtnorm pcaPP robustbase]; };
   ssd = derive2 { name="ssd"; version="0.3"; sha256="1z61n9m6vn0ijawyz924ak0zfl9z13jsb4k4575b7c424ci2p6gy"; depends=[]; };
   ssdtools = derive2 { name="ssdtools"; version="0.0.3"; sha256="1q6mg28bp48bgzr2ahbw16d9zbadhpq3mnd91c15cm4dq1airksv"; depends=[checkr FAdist fitdistrplus ggplot2 scales VGAM]; };
+  sse = derive2 { name="sse"; version="0.7-13"; sha256="0h2fgp66jyqyfizlz644wdyhdabcflgawx9nqsfibyyqigkicm97"; depends=[lattice]; };
   ssev = derive2 { name="ssev"; version="0.1.0"; sha256="1iw07gw9vhg073s5kkxh5f1si6p998rc1i2zglnpk5c3pi3l55wp"; depends=[MESS pwr]; };
   ssfa = derive2 { name="ssfa"; version="1.1"; sha256="0fkyalhsjmx2sf8xxkppf4vd272n99nbkxh1scidrsgp4jk6z7fx"; depends=[Matrix maxLik sp spdep]; };
   ssfit = derive2 { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; };
-  ssgraph = derive2 { name="ssgraph"; version="1.8"; sha256="0047h8cg7rv4qckhv3ixplfbpilj9sshd6vvg20zzb4wqnk5h1cr"; depends=[BDgraph igraph]; };
+  ssgraph = derive2 { name="ssgraph"; version="1.10"; sha256="1fd83mfnzhsbvx77ddmmv0zmi3dq3hzvaj3g9x6xa47z0pf057vr"; depends=[BDgraph]; };
   ssh = derive2 { name="ssh"; version="0.6"; sha256="0hsql86hc30lc4aaz0j5pg28gz67fbd1kjvv4mlnfar8f5p8rk8c"; depends=[askpass credentials]; };
   ssh_utils = derive2 { name="ssh.utils"; version="1.0"; sha256="08313zzzgcyvzkrkq0w0yf748ya1a9shx5xnan5891v0lah9v0b1"; depends=[stringr]; };
   ssize_fdr = derive2 { name="ssize.fdr"; version="1.2"; sha256="0y723lwsnmk3rxbhlsrny9hiy07a5p255ygy9qkj6mri64gk1hby"; depends=[]; };
-  ssizeRNA = derive2 { name="ssizeRNA"; version="1.3.1"; sha256="08gkmmn71qra34x00r1vl6zyfwz7bwkbsax09vkqi7a15k1c3dph"; depends=[Biobase edgeR limma MASS qvalue ssize_fdr]; };
+  ssizeRNA = derive2 { name="ssizeRNA"; version="1.3.2"; sha256="1qw10yswzpg28fhvr6rsq0gh7xivfapw64gxc0hakb1nc31jf8ky"; depends=[Biobase edgeR limma MASS qvalue ssize_fdr]; };
   ssmn = derive2 { name="ssmn"; version="1.1"; sha256="1rab9yjb05g5rphqlhwvdwmsyqlv1f4m0rqxfv8c5pbh170nbwbc"; depends=[mnormt moments sn truncdist]; };
   ssmrob = derive2 { name="ssmrob"; version="0.7"; sha256="0asf0r83rzar96lcjm38i85qscbs9gbsrwbd1nfwzz9yl08mh07k"; depends=[MASS robustbase sampleSelection]; };
   ssmsn = derive2 { name="ssmsn"; version="0.2.0"; sha256="0fzqdkqhj5hh8pzcwh7i0rglgdq22a5mriyis8r1vhlkdc7n5m39"; depends=[MCMCpack]; };
   sspline = derive2 { name="sspline"; version="0.1-6"; sha256="0d6ms8szyn39c7v0397d5ar2hrl8v1l2b7m8hlj37hgp70b9s55h"; depends=[]; };
   sspse = derive2 { name="sspse"; version="0.6"; sha256="1296893wgg0s6z5bv9a3k39gbxazvljl4dxiv4ma1s73nhz0xan9"; depends=[coda RDS scam]; };
+  ssr = derive2 { name="ssr"; version="0.1.1"; sha256="0l2f8lsmwv2f4y708g32jy2s4jj0j686830qp4a5ailyrdbbz1ix"; depends=[caret e1071]; };
   ssrm_logmer = derive2 { name="ssrm.logmer"; version="0.1"; sha256="1i9rrsixl3swd04w1gf9gf1r2wb9nkvwhc8ld4bx4zxzm1031f67"; depends=[sfsmisc statmod]; };
   sss = derive2 { name="sss"; version="0.1-0"; sha256="1qg56g60h8c52l8lpxihxsdgnqkxiag1mzh3p388r9hhff7g3g0k"; depends=[assertthat xml2]; };
   sssc = derive2 { name="sssc"; version="1.0.0"; sha256="00m5zfd3jnbxa8x76v4pfyl4qdfq90n8rqx4hngany0ka1z5g7m6"; depends=[changepoint e1071 ggplot2 VGAM]; };
@@ -13416,7 +13949,7 @@ in with self; {
   st = derive2 { name="st"; version="1.2.5"; sha256="0dnyfjcz37gjjv87nrabb11gw2dlkqhq3mrxdpkzahx0w0g0q0pb"; depends=[corpcor fdrtool sda]; };
   stR = derive2 { name="stR"; version="0.4"; sha256="120k8k1l8cfy8x746808jym7lnaplgh4s3lycgyq2wia2c35r0rc"; depends=[foreach forecast Matrix quantreg rgl SparseM]; };
   stUPscales = derive2 { name="stUPscales"; version="1.0.3.4"; sha256="0a6b38lhi1p0n2hjq2j8aw2vkasdv50cpgllxfxla7ddwbhbk3nk"; depends=[data_table doParallel EmiStatR foreach ggplot2 hydroGOF lattice lmom mAr moments msm xts zoo]; };
-  staRdom = derive2 { name="staRdom"; version="1.0.14"; sha256="07j6wa5rspa92b0n98a2c54kqs662qq0231af87yy3j5h4r0v0zr"; depends=[cdom data_table doParallel dplyr drc eemR foreach GGally ggplot2 matrixStats MBA multiway pracma R_matlab readr stringr tibble tidyr zoo]; };
+  staRdom = derive2 { name="staRdom"; version="1.1.1"; sha256="089fks6qik8wplsfibdvj7r6m89329n3grlm7sdhg4m0m7x2z8yc"; depends=[cdom data_table doParallel dplyr drc eemR foreach GGally ggplot2 gtools matrixStats MBA multiway pracma R_matlab readr stringr tibble tidyr zoo]; };
   staTools = derive2 { name="staTools"; version="0.1.0"; sha256="1ksr0sjkhlwh0fkwcxjcxzbyxs1g78m4spkhrmgdpfzmk5zskqf9"; depends=[magicaxis Rcpp VGAM]; };
   stability = derive2 { name="stability"; version="0.5.0"; sha256="0mz7ikfhpfbdcp72klq7fi4zfmx2w18gz46yhwywcc4dyi277m11"; depends=[dplyr ggfortify ggplot2 lme4 magrittr matrixStats reshape2 rlang scales tibble tidyr]; };
   stable = derive2 { name="stable"; version="1.1.4"; sha256="01azqg4yi5wl6wfdpjq57w41x5z2b4dsp5n3vpkz24b9avk6rm8s"; depends=[rmutil stabledist]; };
@@ -13430,6 +13963,7 @@ in with self; {
   stacomiR = derive2 { name="stacomiR"; version="0.5.4.2"; sha256="0dhf91wmv3mz120g9bwspgq9qs6d8sk1a2vxd7xl0jibgx6fk22x"; depends=[dplyr ggplot2 gWidgets gWidgetsRGtk2 Hmisc intervals lattice lubridate magrittr mgcv RColorBrewer reshape2 RGtk2 RODBC RPostgreSQL sqldf stacomirtools stringr xtable]; };
   stacomirtools = derive2 { name="stacomirtools"; version="0.5.3"; sha256="00zpsfrw0gcjbjr3xdxf2wacrr1zfw6wq7a2ycq32pbh2smbkz4k"; depends=[RODBC xtable]; };
   stagePop = derive2 { name="stagePop"; version="1.1-1"; sha256="0949r5ibl3sb10sr5xsswxap3wd824riglrylk7fx43ynsv5hzpy"; depends=[deSolve PBSddesolve]; };
+  stagedtrees = derive2 { name="stagedtrees"; version="1.0.0"; sha256="0jlblkinbf979dpdlsn9zls6wx3l2mmnvlrq4zm38nc5i241ipyz"; depends=[]; };
   stam = derive2 { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
   stampr = derive2 { name="stampr"; version="0.2"; sha256="10mc71kgnw5712q2gvzd4bmjaw1879r7s599hfsjap21idqb2k2m"; depends=[deldir maptools raster rgdal rgeos sp spdep]; };
   standardize = derive2 { name="standardize"; version="0.2.1"; sha256="0ijyqy09fl478cvqnqwv7fpdmf2yvihw18abkkmgwdnm2v3xqphp"; depends=[lme4 MASS stringr]; };
@@ -13438,29 +13972,31 @@ in with self; {
   stargazer = derive2 { name="stargazer"; version="5.2.2"; sha256="1pij76r60hkjlvxw6zw1v7gkib81smiqmjq7mwszn6xclq9lmsvh"; depends=[]; };
   starma = derive2 { name="starma"; version="1.3"; sha256="07r0kyabhgbm2v39fcrw0qhxcxj9a9cb45g9chzcnn9qmvramcwx"; depends=[ggplot2 Rcpp RcppArmadillo scales]; };
   starmie = derive2 { name="starmie"; version="0.1.2"; sha256="06cvl8gk78c55kcf4rd27d4gfzh2lcg7ldynvx4hclvbw7ak9zdq"; depends=[combinat data_table ggdendro ggplot2 ggrepel gridExtra iterpc label_switching MCL MCMCpack proxy purrr readr stringr tidyr]; };
-  stars = derive2 { name="stars"; version="0.3-1"; sha256="1bcvv4y4fcnvw5lgxwab89wz27ajqqwhn4q8rqsk6lsa8259qz4v"; depends=[abind classInt rlang sf units]; };
+  stars = derive2 { name="stars"; version="0.4-0"; sha256="1wby9mkqybq17aakplhz22xp3xkpih9y5b2kc5mhgsl7s07glh42"; depends=[abind classInt lwgeom rlang sf units]; };
   startR = derive2 { name="startR"; version="0.0.1"; sha256="12y57n3yip5rz4rln41896a15zv5b4c67k164282fh1p6ww9gr3r"; depends=[abind bigmemory future]; };
-  startup = derive2 { name="startup"; version="0.12.0"; sha256="1lan8rzl8b4zh4msh9w97kcj5d93wvwga81g9jh39gyl7xjbyqyl"; depends=[]; };
+  startup = derive2 { name="startup"; version="0.13.0"; sha256="0xwilml9yv26l5bygnn9158nc0z0b8aydf09klxzsyycmsp0r2y8"; depends=[]; };
   startupmsg = derive2 { name="startupmsg"; version="0.9.6"; sha256="0vkqxir4ady4dn9s70dfg1fxck2xg8vnmrmxjzvk01i6pc9zyq0x"; depends=[]; };
-  statGraph = derive2 { name="statGraph"; version="0.2.0"; sha256="03cxm3kvs88q7p8v859xzma97vlklx50yh3kgmmfzf4axdm6dcgm"; depends=[igraph MASS]; };
+  statGraph = derive2 { name="statGraph"; version="0.3.0"; sha256="1xc10pkv3dq7x98xjqkg7ily89qj2r637y5qlnfvk08n6mzhn8w0"; depends=[igraph MASS]; };
   statVisual = derive2 { name="statVisual"; version="1.1.8"; sha256="06l6f9zbycwrm47hi564v1lnxx8xjmrn79kva84n0gliblci8nx8"; depends=[Biobase dplyr factoextra forestplot gbm GGally ggdendro ggfortify ggplot2 ggrepel glmnet gplots gridExtra knitr limma magrittr multigroup pheatmap pROC pvca randomForest RColorBrewer reshape2 rmarkdown rpart_plot tibble tidyverse]; };
   statar = derive2 { name="statar"; version="0.7.1"; sha256="0gxchf3mnjvxcp7dg8f1dxbm16hx4ks92z0h0ig7m9l6k6f8adkv"; depends=[data_table dplyr ggplot2 lazyeval matrixStats rlang stringr tidyr tidyselect]; };
   statcheck = derive2 { name="statcheck"; version="1.3.0"; sha256="0ivybdcrymlsfv6pg6p5bv70qdvgxf2vgp0kf4r0pf2fcvav1mcp"; depends=[ggplot2 plyr rmarkdown]; };
+  statcomp = derive2 { name="statcomp"; version="0.1.0"; sha256="0793k14rxiwq98zlrbsmbbkjn5z2ny5c90pia7cx3s77a3wdc96l"; depends=[Matrix zoo]; };
   statebins = derive2 { name="statebins"; version="1.2.2"; sha256="0qfs796dk5x983qah32w3npv9mxzljp3g7kffdd0ansn3z7i1zbb"; depends=[ggplot2 gridExtra RColorBrewer scales]; };
   states = derive2 { name="states"; version="0.2.2"; sha256="1lw1gljmkn8i8fd4ng5c3jpqrwr0gkiyazppy19dp8xl94m1xa4b"; depends=[dplyr]; };
-  stationery = derive2 { name="stationery"; version="0.98.6"; sha256="0qvvalck0j2bgzvmnl4dl54wx3b2v9mr88ii26zb5hvm7i2i4x9f"; depends=[knitr kutils rmarkdown]; };
-  statip = derive2 { name="statip"; version="0.2.0"; sha256="012caxqa04qv3z49cz09qzh9crfbdc4il2d2b96l5d3qnqv9xbh9"; depends=[bazar clue rpart]; };
+  stationaRy = derive2 { name="stationaRy"; version="0.5.0"; sha256="1h6c7iivjqir45rk6qdfr8driqjliqn09sjdm521kkb3c5qv334r"; depends=[downloader dplyr lubridate lutz magrittr progress readr stringr tidyr]; };
+  stationery = derive2 { name="stationery"; version="0.98.24"; sha256="06qn3ck2cgcyrx8l27ka1y5dq8hyf01wq3hky6876a5g65b1wax2"; depends=[knitr kutils rmarkdown]; };
+  statip = derive2 { name="statip"; version="0.2.3"; sha256="0kymc3ds1nx0h11ffmm3vmqr1w34gd0k788vf72x2v45h8c1ma2n"; depends=[clue rpart]; };
   statmod = derive2 { name="statmod"; version="1.4.32"; sha256="083yyp84xj85zg4bhz7i90bqzl3p6155ch4abwsfc9k1lv7s2rrg"; depends=[]; };
   statnet = derive2 { name="statnet"; version="2019.6"; sha256="17dj6vjnjyqrfhzjq1lys5b29j942kd15zffb69jidni3slf20q9"; depends=[ergm ergm_count network networkDynamic sna statnet_common tergm tsna]; };
   statnet_common = derive2 { name="statnet.common"; version="4.3.0"; sha256="0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3"; depends=[coda]; };
   statnetWeb = derive2 { name="statnetWeb"; version="0.5.5"; sha256="1v2zgbfl975gqhkhxvgdfhgbw7yf9y3p6kqqxldr9zskhmrn7p1x"; depends=[ergm lattice latticeExtra network RColorBrewer shiny sna]; };
   statprograms = derive2 { name="statprograms"; version="0.2.0"; sha256="0m7px7fmpz2zzlfdi7rbllcjvcjp8iy94f6fa1w4xinh7vz3y6vq"; depends=[]; };
   statquotes = derive2 { name="statquotes"; version="0.2.2"; sha256="1xzc3ndddjrlyld0p4zcwwxkj7i3m3adj7c78x9l4lhlw9mxbbqg"; depends=[stringr tidytext wordcloud]; };
-  stats19 = derive2 { name="stats19"; version="1.0.0"; sha256="1lm2qif0g710n5i7gzqhbwhxm76cabs5zm6504wja343fk3vzb54"; depends=[readr sf]; };
-  statsDK = derive2 { name="statsDK"; version="0.1.1"; sha256="0insx4sivac0nfxaa11iz9dd7374g51fcndsgljj3f14zw1xyq66"; depends=[dplyr ggplot2 httr jsonlite lubridate readr stringr tibble tidyr]; };
+  stats19 = derive2 { name="stats19"; version="1.1.0"; sha256="163v39dvy0gahw2ra0pvri21k02iv9waqb8pv6j55nicvpvha7jm"; depends=[readr sf]; };
+  statsExpressions = derive2 { name="statsExpressions"; version="0.1.1"; sha256="11f3ikrznp21sxk7r8m417f1sad0a7y63g623crvpyjr0cg0zq53"; depends=[BayesFactor boot broomExtra crayon dplyr ellipsis ez groupedstats magrittr MCMCpack psych rcompanion rlang tibble tidyr WRS2]; };
   statsguRu = derive2 { name="statsguRu"; version="0.1.0"; sha256="0pqz0la86mk6zp65zzbfwhxyrqqx040p8mrm2j9wqb53r8fbnmqc"; depends=[devtools htmltab plotrix]; };
   statsr = derive2 { name="statsr"; version="0.1-0"; sha256="1z0wfj1jxz02x7vl6sr651v85k88wg8rx0k2kkrwzc4ynim8shms"; depends=[BayesFactor broom cubature dplyr ggplot2 gridExtra knitr rmarkdown shiny tidyr]; };
-  stcos = derive2 { name="stcos"; version="0.1.0"; sha256="0af36d75miwflq4r6nnw579dqy7bsg1s0kgyykx73bc6ksg5liix"; depends=[Matrix R6 Rcpp RcppArmadillo sf]; };
+  stcos = derive2 { name="stcos"; version="0.2.0"; sha256="0h6j6nypj6siy6ykkksj9zv89b5jd4gm5vgvncm3h1dxxn2b9mcm"; depends=[dplyr Matrix R6 Rcpp RcppArmadillo sf]; };
   stcov = derive2 { name="stcov"; version="0.1.0"; sha256="166w929sgd7nanw1zjhzwv50hd5vqhgsrgxnsga4dzrcvndalw70"; depends=[]; };
   stdReg = derive2 { name="stdReg"; version="3.3.0"; sha256="0m907dcgqprnasq17z3wyx7fampsqhwjvg2r0nji5bg9gzag4253"; depends=[data_table drgee numDeriv survival]; };
   stddiff = derive2 { name="stddiff"; version="2.0"; sha256="0mik01a8agcdpjq4r7lcdf3w2jcy6s9gx9zl7plzvnl2r3s5xw5b"; depends=[]; };
@@ -13472,7 +14008,7 @@ in with self; {
   stemmatology = derive2 { name="stemmatology"; version="0.3.2"; sha256="1l2y4jlszz1dnafdl2wqqfgdjis07i3gzfnp1v1af32pvjy4zqhw"; depends=[cluster igraph xml2]; };
   stepPenal = derive2 { name="stepPenal"; version="0.2"; sha256="08gizl6c606ibbv7x2rdvfw37rghkrprwszha79yngkzpajw8gql"; depends=[caret dfoptim glmnet mvtnorm pROC]; };
   stepPlr = derive2 { name="stepPlr"; version="0.93"; sha256="1i54nyz8z5vq3mzfh6h2vd1q0hsdazc4mhrj9ad0zdvn0qnz61lv"; depends=[]; };
-  stepR = derive2 { name="stepR"; version="2.0-3"; sha256="1vz7mr2zycn4w0zv4rg2dn4v4dbbpxv8vy20sl9nphya0w0w4mrg"; depends=[digest R_cache Rcpp]; };
+  stepR = derive2 { name="stepR"; version="2.0-4"; sha256="1jv2mv1glzap7nsyxwzil9wif3q3p4y9q0c3kphz49hwwrg20k79"; depends=[digest R_cache Rcpp]; };
   stepp = derive2 { name="stepp"; version="3.2.0.0"; sha256="0fnjqbncadscv6ryvqyqf8qqgpfzh2hka5ld2zvw39mjqzy5gadi"; depends=[car survival]; };
   steps = derive2 { name="steps"; version="0.2.1"; sha256="1ccghvhrbk0d2m1896wbnzf55i1rlvwmdnr5dikr9h9sc79dahla"; depends=[future future_apply memuse raster rasterVis Rcpp viridisLite]; };
   stepwise = derive2 { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
@@ -13484,14 +14020,15 @@ in with self; {
   stinepack = derive2 { name="stinepack"; version="1.4"; sha256="0crl77gr4x2bz2zp0a0lqiw5iqlrcx7vj67igkbzg64d1fxai85d"; depends=[]; };
   stlcsb = derive2 { name="stlcsb"; version="0.1.2"; sha256="08pnj1yb4xcbhnrp2wny8lq9rvcvmsgaza07k4358csfksvmcira"; depends=[dplyr lubridate purrr readr readxl rlang rvest sf stringr tibble xml2]; };
   stlplus = derive2 { name="stlplus"; version="0.5.1"; sha256="14728xsm982z9sg4rbqg307pbwqlsiyzj8z3sr9wr6fi0dayf6z5"; depends=[lattice Rcpp yaImpute]; };
-  stm = derive2 { name="stm"; version="1.3.3"; sha256="1b1i4r161i92f5q63zjfghzg39bw9d2rqdxx0y6zjd8n2p0ni3wv"; depends=[data_table glmnet lda Matrix matrixStats quadprog quanteda Rcpp RcppArmadillo slam stringr]; };
+  stm = derive2 { name="stm"; version="1.3.4"; sha256="0w8adswwrdkgv5pc5g2v60r63qhqlg7f4zkcg1x09bi9hc1i6qgv"; depends=[data_table glmnet lda Matrix matrixStats quadprog quanteda Rcpp RcppArmadillo slam stringr]; };
   stmCorrViz = derive2 { name="stmCorrViz"; version="1.3"; sha256="1a4pckrbzsihyf1bqvw3cl0hxrc4yq1pnkgxgf4b8jday6zkxwcv"; depends=[jsonlite SnowballC stm tm]; };
-  stmgp = derive2 { name="stmgp"; version="1.0.1"; sha256="0rbskcggshn880d1pcl95ixbg16pzyhy14j1x44ipby5md737w89"; depends=[MASS]; };
+  stmgp = derive2 { name="stmgp"; version="1.0.2"; sha256="14d7aivnm2y5cb6wm3cj1fgaqhv0i59jb4khvrjwqihzcnii90x5"; depends=[MASS]; };
   stmgui = derive2 { name="stmgui"; version="0.1.6"; sha256="1fn2m5l7y3p1riw39g6r3hpjxdccygih7yipp7dvc4msl9fm4h5c"; depends=[markdown shiny shinyBS shinyjs shinythemes stm tm]; };
   stminsights = derive2 { name="stminsights"; version="0.3.0"; sha256="11lhsk7l11bcxsmc7hm8pnwj75634m5gkigr714i16ai2dkvzqpq"; depends=[dplyr ggplot2 ggraph ggrepel huge igraph purrr readr scales shiny shinyBS shinydashboard shinyjs stm stringr tibble tidygraph]; };
   stoRy = derive2 { name="stoRy"; version="0.1.3"; sha256="146xs8as5f8ig2xpj9k2san4bllqxddsnlflnhl0sy6132vshyr1"; depends=[data_tree R6]; };
   stocc = derive2 { name="stocc"; version="1.30"; sha256="0xpf9101094l5l75p9lr64gwh2b8jh4saw6z6m2nbn197la3acpw"; depends=[coda fields Matrix rARPACK truncnorm]; };
-  stochprofML = derive2 { name="stochprofML"; version="1.2"; sha256="0gqfm2l2hq1dy3cvg9v2ksphydqdmaj8lppl5s5as2khnh6bd1l1"; depends=[MASS numDeriv]; };
+  stochQN = derive2 { name="stochQN"; version="0.1.2"; sha256="1zwxw95jrpkqgbgwhwdy907v9gqmvn5as4v35a75wvy3nhawka9a"; depends=[]; };
+  stochprofML = derive2 { name="stochprofML"; version="2.0.0"; sha256="1101jshd1k3b1gy6fqdirnc17qa2fgjg48rlf8kc3jklmx4n1hfs"; depends=[MASS numDeriv]; };
   stochvol = derive2 { name="stochvol"; version="2.0.4"; sha256="1hb2fgnyn8zxq1j74x00msq3j807y70yxx2s3fq4csrb1935vr85"; depends=[coda Rcpp RcppArmadillo]; };
   stockR = derive2 { name="stockR"; version="1.0.68"; sha256="0pgyxh19csv21vgji1sjpqaaqb1wwz62mnsf85a97ba9aph9lxwb"; depends=[gtools]; };
   stocks = derive2 { name="stocks"; version="1.1.4"; sha256="0b6rl7pfkgzbpwnv7zzkr36hs5f1zb60d16ijslf7g9m25vvcyg6"; depends=[dvmisc Hmisc lubridate quantmod rbenchmark RColorBrewer Rcpp TTR zoo]; };
@@ -13500,52 +14037,55 @@ in with self; {
   stormwindmodel = derive2 { name="stormwindmodel"; version="0.1.1"; sha256="16w6si2icpsyhkn0d3l6sh64nj6ynyymp7jxfwa792ds2wrz2mkm"; depends=[dplyr ggplot2 lubridate maps plyr stringr tidyr weathermetrics]; };
   storr = derive2 { name="storr"; version="1.2.1"; sha256="0409gb6wji3cjxkdcd0wc3jvsx61h3rxd8a3nr018y8rh1rpsaj6"; depends=[digest R6]; };
   stosim = derive2 { name="stosim"; version="0.0.14"; sha256="10k8j7manskjsrjc1l44yhy682b1qh0k2jx3cs5k69j2z42mnhmk"; depends=[Rcpp]; };
-  stplanr = derive2 { name="stplanr"; version="0.3.0"; sha256="0jzwpr4gbif44j8c2s0gjfx21lnskwj2vpqi8hx2m9n6lgr2348p"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate lwgeom magrittr maptools nabor openxlsx R_utils raster Rcpp RcppArmadillo readr rgeos rlang sf sp stringi stringr]; };
+  stplanr = derive2 { name="stplanr"; version="0.4.1"; sha256="0kgs3ccyhm2hi8aia7misxwj45c5fy686sqliz7vdk8jayzdsqv1"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate lwgeom magrittr maptools nabor openxlsx raster Rcpp RcppArmadillo readr rgeos rlang sf sp stringr]; };
   stpm = derive2 { name="stpm"; version="1.7.7"; sha256="1l40zb9qwshg7saqmgi7c49a3jd93ycrbvmysgzs0q8pl94vgcfs"; depends=[knitcitations MASS nloptr Rcpp RcppArmadillo sas7bdat survival]; };
   stpp = derive2 { name="stpp"; version="2.0-3"; sha256="18icnfrlrcibrpw7vqkrhzfx880ak24xk6llwgiqw18r929mq1hw"; depends=[ggplot2 gridExtra KernSmooth plot3D rgl rpanel spatstat splancs]; };
   strandCet = derive2 { name="strandCet"; version="1.0"; sha256="019cacj0g9f6i8v03rq7qyph7f14d8n0qw0axvczijvnk99q602a"; depends=[boot corpcor MASS minpack_lm mvtnorm numDeriv]; };
   strap = derive2 { name="strap"; version="1.4"; sha256="0gdvx02w0dv1cq9bb2yvap00lsssklfnqw0mwsgblcy2j6fln7b0"; depends=[ape geoscale]; };
-  strapgod = derive2 { name="strapgod"; version="0.0.3"; sha256="1sh716zqh6cc2qddn8v9pwdyf4xq9a59k7h797swzlk0r50y83h9"; depends=[dplyr rlang tibble tidyr]; };
+  strapgod = derive2 { name="strapgod"; version="0.0.4"; sha256="19v4g2wny21lb76crais5wxqkgq4hjh7gn961pr2w10kf4ll1vvx"; depends=[dplyr lifecycle rlang tibble tidyr]; };
   strat = derive2 { name="strat"; version="0.1"; sha256="1axxrp750kjzcgxjdqfscjmryv1mkv4l23zk8k23z8l4ymhd2f5w"; depends=[Hmisc Rcpp RcppArmadillo]; };
   stratEst = derive2 { name="stratEst"; version="0.1.2"; sha256="045wmvkv9jxmazvy0p2dkf3200vy5gf124cv78132ysrnh2vcd4v"; depends=[Rcpp RcppArmadillo]; };
   strataG = derive2 { name="strataG"; version="2.0.2"; sha256="1rf1xf07yb0dzasgig9sfm4i9ggdkjgy5iiysqgdapk3sxs26c8r"; depends=[adegenet ape apex copula data_table DT ggplot2 gridExtra Hmisc pegas phangorn RColorBrewer Rcpp shiny shinyFiles survival swfscMisc]; };
+  stratamatch = derive2 { name="stratamatch"; version="0.1.2"; sha256="0lpvz5ma7afyb08d1fn0nsdakpxd4i61vjdr774kx8f2akjrhqf2"; depends=[dplyr Hmisc magrittr rlang survival]; };
   stratbr = derive2 { name="stratbr"; version="1.2"; sha256="15vkymmc61yz9szhfhc5663hfyqvh499ahwhr9mv1lhv5bikk0kb"; depends=[Rglpk snowfall stratification]; };
   strategicplayers = derive2 { name="strategicplayers"; version="1.0"; sha256="19vijrlzawd701vvk9ig7yhzbirh39dxxcwfz8ywwvxxiaky5x55"; depends=[sna]; };
   stratification = derive2 { name="stratification"; version="2.2-6"; sha256="1jlks3g8wpqlpci6v0ryyv93agiabdiklmk6ij0pc5icrfiynbhw"; depends=[]; };
-  stratifyR = derive2 { name="stratifyR"; version="1.0-1"; sha256="0w135smkgryx29ppa7khpay8w04b3g2pxka0wsqlhksrp5pqa086"; depends=[actuar fitdistrplus mc2d triangle zipfR]; };
+  stratifyR = derive2 { name="stratifyR"; version="1.0-2"; sha256="10qlxkdbym206bvl2wc8ig00fvj1n7553vmjk6rs2n4p945qd47g"; depends=[actuar fitdistrplus mc2d triangle zipfR]; };
   stratvns = derive2 { name="stratvns"; version="1.0"; sha256="1bw9l389lxiji4h7hrsshf24v135h6la9dg3xxjly53d4fi56ifh"; depends=[MultAlloc Rglpk sampling snowfall stratification]; };
+  straweib = derive2 { name="straweib"; version="1.1"; sha256="0hi59p580yg6rj72grq4jx6grv7lmpi2cimp0rbxhkjpj6i1hav9"; depends=[]; };
   stream = derive2 { name="stream"; version="1.3-1"; sha256="09f26m0fajaw77mb6pk9qkinzkhxpghagd1qhc3nkvcki3vwlcxa"; depends=[BH clue cluster clusterGeneration dbscan fpc MASS mlbench proxy Rcpp]; };
   streamDepletr = derive2 { name="streamDepletr"; version="0.1.0"; sha256="0a8cihwjr5bzw5dw07x2kisi4qycwmxpj5hhv9b4pjvfghdwq4b8"; depends=[dplyr magrittr Rmpfr]; };
   streamMOA = derive2 { name="streamMOA"; version="1.2-2"; sha256="1zm7bcdsyazqksizir5rqibgw6w1bz85gdga0ncirh2s1z0dhi79"; depends=[rJava stream]; };
   streamR = derive2 { name="streamR"; version="0.4.5"; sha256="1clx3b0j2515r1nmnl6ki7qw5n54q3x2jvqv3zrc00kq71mlj7ix"; depends=[ndjson RCurl rjson]; };
-  streambugs = derive2 { name="streambugs"; version="1.0"; sha256="1dyh5rwi47dn584nyy7f7vg5j5nlpz7ygcl8lwkj7prahplmzg5d"; depends=[deSolve]; };
+  streambugs = derive2 { name="streambugs"; version="1.1"; sha256="1r0fnvpmj2z34j3w2nbdvxlw9jnz8y3x1xx9ih3vxna50ldrg2z2"; depends=[deSolve]; };
   stressr = derive2 { name="stressr"; version="1.0.0"; sha256="00b93gfh1jd5r7i3dhsfqjidrczf693kyqlsa1krdndg8f0jkyj7"; depends=[lattice latticeExtra XML xts]; };
-  strex = derive2 { name="strex"; version="1.1.1"; sha256="0c4fciixckz4imp1sjsb9ncq3snx3fhsakxycvdvj977w47mv457"; depends=[checkmate glue magrittr matrixStats ore processx Rcpp rlang stringi stringr tibble]; };
+  strex = derive2 { name="strex"; version="1.2.0"; sha256="1vshbq83szgig93ljhnwqwdsdskayszdzwk85n1n650clriv0b85"; depends=[checkmate glue magrittr matrixStats ore processx Rcpp rlang stringi stringr tibble]; };
   strider = derive2 { name="strider"; version="1.2"; sha256="0kfwanz80ki41yr5m0xw4nbbqgzl6zfvwqx906bxywlqiqi47cb6"; depends=[BH Rcpp]; };
   stringb = derive2 { name="stringb"; version="0.1.13"; sha256="004bp75yhrgr480v9774kfq7z5l9z0761cnrwj4yk7fxygk89a1x"; depends=[backports]; };
-  stringdist = derive2 { name="stringdist"; version="0.9.5.2"; sha256="0nw8c317qkfq63pr0prl0hx522ddfq4cbgixb5r4pq3fxk9z303l"; depends=[]; };
+  stringdist = derive2 { name="stringdist"; version="0.9.5.5"; sha256="1dqfakclzaf878x7mhwmqrcpcql2h9cv19fz5f3ygpajf3si5kqi"; depends=[]; };
   stringformattr = derive2 { name="stringformattr"; version="0.1.2"; sha256="0x56k30clj5ajk0qg5sr8b9l0asz6ldivwr1ddy1vp1djliih1fx"; depends=[stringr]; };
   stringi = derive2 { name="stringi"; version="1.4.3"; sha256="1vbr6g9p1iyzdj7wfw6afyizvnd1a2srfvkl72pq23vhdcwwpkhk"; depends=[]; };
   stringr = derive2 { name="stringr"; version="1.4.0"; sha256="1p9ip7p87gbbg4s6d3d392svvzz2b5dqdq2c8ilgvn4s78nlsq47"; depends=[glue magrittr stringi]; };
   strip = derive2 { name="strip"; version="1.0.0"; sha256="1j3kq6w8k66z45rpd1cgxplpnldzbyqklgs4bnbv906pyd8wk9ak"; depends=[rlist]; };
   stripless = derive2 { name="stripless"; version="1.0-3"; sha256="08mdp7kq6r5bk77j09477d1dnn7iwa346pr24b5bqsxwnbknyrsr"; depends=[lattice]; };
   striprtf = derive2 { name="striprtf"; version="0.5.2"; sha256="1ra6aalalig6drsj26z9s24lmb10zssagqrvgqqi4358zbm8gwcd"; depends=[magrittr Rcpp stringr]; };
-  strucchange = derive2 { name="strucchange"; version="1.5-1"; sha256="0cdgvl6kphm2i59bmnppn1y3kv65ml111bk7yzpcx7vv8wh2w3kl"; depends=[sandwich zoo]; };
+  strucchange = derive2 { name="strucchange"; version="1.5-2"; sha256="1y022363a4pp0mnji91sjh1qiyspkh09sybqwj03r9pmwrd7q93x"; depends=[sandwich zoo]; };
   structSSI = derive2 { name="structSSI"; version="1.1.1"; sha256="06rwmrgqc4qy4x0bhlshjdsjxfmp5fr9d1wjglhlb1gbp72fmkdv"; depends=[ggplot2 igraph multtest reshape2 rjson]; };
-  structree = derive2 { name="structree"; version="1.1.5"; sha256="0m14jzhmkfn8dpxjzj8xh9zf6cggqj3awnfz7zh1xlkkka91jz8d"; depends=[lme4 mgcv penalized]; };
+  structree = derive2 { name="structree"; version="1.1.6"; sha256="0d3ww07grprp908i3h1xaz3jw92g0g0s3gjdnb63wl10yqqsq2vj"; depends=[lme4 mgcv penalized]; };
   strum = derive2 { name="strum"; version="0.6.2"; sha256="0f5cb7cfvqhmnv4sjfr58lns4fclmr8iyka595zddy9f6dv5rqp1"; depends=[graph MASS Matrix pedigree Rcpp RcppArmadillo Rgraphviz]; };
   strvalidator = derive2 { name="strvalidator"; version="2.2.0"; sha256="0pfc6bj5sdik6a3qxsxshd6n3jp27kzap3hp6zlldknwybsavrl3"; depends=[data_table ggplot2 gridExtra gtable gWidgets2 gWidgets2tcltk MASS plyr scales]; };
   stsm = derive2 { name="stsm"; version="1.9"; sha256="18ypmkd7l7m7qkahb0nqf8f1m8g4irxlw48v2ms0dq1bsnhbzx7j"; depends=[KFKSDS]; };
   stsm_class = derive2 { name="stsm.class"; version="1.3"; sha256="19jrja5ff31gh5k2zqhqsyd7w2ivr4s6bkliash6x8fmd22h5zs8"; depends=[]; };
-  stuart = derive2 { name="stuart"; version="0.7.3"; sha256="0xd85ijshhsyzkm22vacjl2p7ni8x3zfypmrwmvvba5x9l82s3hi"; depends=[]; };
+  stuart = derive2 { name="stuart"; version="0.8.0"; sha256="1hcb1jybra0cpibxc1k31nr6xciwd2chxjfdnir4kfzxn2bd2cxd"; depends=[]; };
   stubthat = derive2 { name="stubthat"; version="1.2.1"; sha256="130naxzvswcyadwcgldvwnxxdxbfwx5vljac7901vn3ahjp75d8z"; depends=[testthat]; };
   studentlife = derive2 { name="studentlife"; version="1.0.0"; sha256="1snrsaapjwvcifa91hg5xcbg7n70aqcdyyq69gg20168qg8abkws"; depends=[crayon dplyr ggplot2 jsonlite purrr R_utils readr skimr tibble tidyr visdat]; };
-  styler = derive2 { name="styler"; version="1.1.1"; sha256="1k660lpjvd64gnf6bndcb1cq3qxsvik928kcn6271zmkhja5rgyb"; depends=[backports cli magrittr purrr rematch2 rlang rprojroot tibble withr xfun]; };
+  styler = derive2 { name="styler"; version="1.2.0"; sha256="0rdbz60x8bymis6r6188ia1y0ip3nhf5y363i4cmakr618irjab9"; depends=[backports cli magrittr purrr rematch2 rlang rprojroot tibble withr xfun]; };
   stylest = derive2 { name="stylest"; version="0.1.0"; sha256="0dr7j9fh8kp6wsqql38s3rk596xl6m9nx0w1l5v25hv2bphidxzr"; depends=[corpus Matrix]; };
-  stylo = derive2 { name="stylo"; version="0.6.9"; sha256="14kr12gjbk7l6f4lz5m4j51vsjkyhnpgbiflsl327az5l0nrr5vw"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
+  stylo = derive2 { name="stylo"; version="0.7.1"; sha256="0l7z4d8q4kp9m0di0hch2zpbxmf7im4h0n95mrylqw93w768z76s"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
   suRtex = derive2 { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
   subcopem2D = derive2 { name="subcopem2D"; version="1.3"; sha256="06wwd847g9pxd0z2a8494h3nc9s280a3s1510bir24m3z7w1pqf3"; depends=[]; };
   subdetect = derive2 { name="subdetect"; version="1.1"; sha256="1bcc13avs5w9vmwyf71cnjd2kwmcavmzpwyv8gvsn61n7b4j8wlk"; depends=[]; };
+  subformula = derive2 { name="subformula"; version="0.1.0"; sha256="0nsl0nzj79z6aib12b5qijyab0yxlljfssiq9p8xgcgbxy4a7syy"; depends=[]; };
   subgroup = derive2 { name="subgroup"; version="1.1"; sha256="1n3qw7vih1rngmp4fwjbs050ngby840frj28i8x7d7aa52ha2syf"; depends=[]; };
   subgroup_discovery = derive2 { name="subgroup.discovery"; version="0.2.1"; sha256="15yvkymcig19y9h8362izap0qbv1igmd0s0yxdgv0n0l1xgfsywj"; depends=[]; };
   subgxe = derive2 { name="subgxe"; version="0.9.0"; sha256="0faww87ncylqixb640hc2axvn4i50d2r2ggngmd7s9wazbb6sd55"; depends=[]; };
@@ -13562,34 +14102,36 @@ in with self; {
   subspace = derive2 { name="subspace"; version="1.0.4"; sha256="0p2j0lnwj3ym1v4xla6r97zjikb8alnibdc690xn9c0z21hmv43v"; depends=[colorspace ggvis rJava stringr]; };
   subtee = derive2 { name="subtee"; version="0.3-5"; sha256="14pvfghsd17n9qkznik4vdalqfv5ykgqrhk2g33idl8chi9q7jjn"; depends=[ggplot2 MASS matrixStats survival]; };
   subtype = derive2 { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
-  suddengains = derive2 { name="suddengains"; version="0.2.1"; sha256="0s6g3z6drysza9jbg1lhdw933lbmnq9iliw9ryjwrzx4yl2df310"; depends=[dplyr ggplot2 ggrepel magrittr psych readr rlang stringr tibble tidyr]; };
+  suddengains = derive2 { name="suddengains"; version="0.4.0"; sha256="1606lj9x4qlkg5sm7i7xgp8bd2ivzngz0phc7bs06akwd7xbbnra"; depends=[dplyr ggplot2 ggrepel magrittr psych readr rlang stringr tibble tidyr]; };
   sudoku = derive2 { name="sudoku"; version="2.6"; sha256="13j7m06m38s654wn75kbbrin5nqda4faiawlsharxgrljcibcbrk"; depends=[]; };
   sudokuAlt = derive2 { name="sudokuAlt"; version="0.2-0"; sha256="0d530hb4d8i0qziw5iaf5r5c46c9d9ns7n5c1kcb3ffw2c1xi1pl"; depends=[magrittr]; };
-  sugarbag = derive2 { name="sugarbag"; version="0.1.0"; sha256="0iryilbnnb7kiqxbjsaxmycamcc9v5zdqrdkqvi6wygf5kqq9fyl"; depends=[dplyr geosphere purrr rlang rmapshaper sf tibble tidyr]; };
+  sugarbag = derive2 { name="sugarbag"; version="0.1.1"; sha256="1wldsqfgw8mqhwikgaasrz7qrnpj51f0kwi9i7v6hil756y5bhjv"; depends=[dplyr geosphere purrr rlang rmapshaper sf tibble tidyr]; };
   sugrrants = derive2 { name="sugrrants"; version="0.2.4"; sha256="04qfa3falpkbdnjks5vd0izjpp5pmc3wf4bkv0ha89ya556306jv"; depends=[dplyr ggplot2 gtable lubridate rlang]; };
   sumFREGAT = derive2 { name="sumFREGAT"; version="1.1.0"; sha256="1ycdnf5ghrv3czi4lh5yc8n8690m3b8i85s46k7lya2k0rasvac4"; depends=[GBJ Matrix seqminer]; };
   summariser = derive2 { name="summariser"; version="0.1.0"; sha256="0a6wyb0r1i0cynld002q96ylr58jz76n5jqjz8gm6a3csjn9qss7"; depends=[dplyr ggplot2 lazyeval plotrix]; };
-  summarytools = derive2 { name="summarytools"; version="0.9.3"; sha256="1wfbkgvicaic37zgpr6zcm4a58yx43p59h0sqggdj44ncqs7147f"; depends=[checkmate dplyr htmltools lubridate magick matrixStats pander pryr rapportools RCurl tibble tidyr]; };
-  sunburstR = derive2 { name="sunburstR"; version="2.1.1"; sha256="0r46ca3pvnvak7dqslbn64dg8h6d50nlhh0wrsxi8vcwgsycaf6y"; depends=[d3r dplyr htmltools htmlwidgets]; };
+  summarytools = derive2 { name="summarytools"; version="0.9.4"; sha256="1n695baz56mg4f13xjjadfq0xalw5xsn6xicil0yap5hgi8fsr3a"; depends=[checkmate dplyr htmltools lubridate magick matrixStats pander pryr rapportools RCurl tibble tidyr]; };
+  sunburstR = derive2 { name="sunburstR"; version="2.1.3"; sha256="1zxy1zyi8sp26vicxjh7jx167qwnmvj1h6hpyj6398cbzcx7dvy7"; depends=[d3r dplyr htmltools htmlwidgets]; };
   suncalc = derive2 { name="suncalc"; version="0.5.0"; sha256="1chkl297km313m89h9mbp7vnpz188fhzz5dn8x5cjkqy0mm6c0qc"; depends=[data_table lubridate magrittr]; };
   sundialr = derive2 { name="sundialr"; version="0.1.3"; sha256="1bpqfxbg187g113nzsgk5pnfw9ldg9v7x52frrw8wjjs8b3c0v8z"; depends=[Rcpp]; };
-  supc = derive2 { name="supc"; version="0.2.1"; sha256="121dy7ymvxvq3ksf17hg0df74ycd2nag2z2ggnw4p2rwzj99vgc5"; depends=[BH Rcpp]; };
+  supc = derive2 { name="supc"; version="0.2.2"; sha256="0b7safpg766mzi2qiwyyf9wn5pcpcb9w7dn5qb3kjalijvcqz7mp"; depends=[BH Rcpp]; };
   supclust = derive2 { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[class rpart]; };
   supcluster = derive2 { name="supcluster"; version="1.0"; sha256="1rkd4bpzzvzbmqaj907pqv53hxcgic0jklbsf5iayf0ra768b5w6"; depends=[gtools mvtnorm]; };
   superMDS = derive2 { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
   superbiclust = derive2 { name="superbiclust"; version="1.1"; sha256="1gzjbzbl8y1nzdfhyd6dlrwjq8mwj43a26qav84s1bdzwx6dra48"; depends=[biclust fabia Matrix]; };
   superdiag = derive2 { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[boa coda]; };
   superheat = derive2 { name="superheat"; version="0.1.0"; sha256="01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83"; depends=[dplyr ggdendro ggplot2 gtable magrittr plyr scales]; };
-  superml = derive2 { name="superml"; version="0.4.0"; sha256="0lq2mjlapihnz8pfb8y3zzv460pdplkyh0dbsm7cdhr01shwz4n9"; depends=[assertthat data_table doParallel Metrics R6]; };
-  supernova = derive2 { name="supernova"; version="2.0.0"; sha256="0nj7r0nqqhhi6hlwx4c6i57n26gbc4csml58spvmbnsbypbvc7c9"; depends=[]; };
+  superml = derive2 { name="superml"; version="0.5.0"; sha256="1h5jpafriw5drkmwyyk42fn33qq9qvc19wmi13mfnpkhc67xmlyp"; depends=[assertthat data_table doParallel Metrics R6]; };
+  supernova = derive2 { name="supernova"; version="2.1.1"; sha256="1vjx0mfnqksgvcgn8hfvpx8j3q8791yifdsaqjqkhc7h56r9gcc5"; depends=[magrittr stringr]; };
   superpc = derive2 { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
   supervisedPRIM = derive2 { name="supervisedPRIM"; version="2.0.0"; sha256="1j5gsy119pvrhkkg048lyk6hjvn9x1bhmfy5g824gj3k1w5slrib"; depends=[prim]; };
   suppdata = derive2 { name="suppdata"; version="1.1-1"; sha256="1sysd5w59y9hkm1ab8m9i1d976dv6cxchssc86s27bsibhsj2blc"; depends=[httr jsonlite rcrossref xml2]; };
   support = derive2 { name="support"; version="0.1.4"; sha256="1yahhb9l2f3129av4cj4q77q1s0nfszzd6z7dqkfpnjvvk8gzdq7"; depends=[BH MHadaptive randtoolbox Rcpp RcppArmadillo]; };
-  support_BWS = derive2 { name="support.BWS"; version="0.2-0"; sha256="1yfjpr9v9zsbkysm3r6zk9r0a072g038lmj9wk4014a3rk9kmm80"; depends=[]; };
-  support_BWS2 = derive2 { name="support.BWS2"; version="0.2-2"; sha256="1pykq297gz42n6scl5s6zjy33wjvcb5590vcrgysdigf3hqb22ra"; depends=[]; };
+  support_BWS = derive2 { name="support.BWS"; version="0.3-0"; sha256="1mylc1jys8j56qciscy8ra4dv0ig0swh2gyf3wv5q00v85n1wf92"; depends=[]; };
+  support_BWS2 = derive2 { name="support.BWS2"; version="0.3-0"; sha256="0k9yvg0n4lzsq43r53r9f70hq1q3zfljjafj9ds2p3c6qzgs9chi"; depends=[]; };
+  support_BWS3 = derive2 { name="support.BWS3"; version="0.2-0"; sha256="012kcvscz7m2is92r71731zc7xnp7pwyx30vivwjazrigp9bq1kl"; depends=[]; };
   support_CEs = derive2 { name="support.CEs"; version="0.4-1"; sha256="1rbyl7v6m07dsp08kkk9020bh39rhx89q7d05rc5kxb6f7y66jyz"; depends=[DoE_base MASS RCurl simex XML]; };
   supportInt = derive2 { name="supportInt"; version="1.1"; sha256="14fh75sds05c06xkcfbijd8my3sa9kpnczzh96xx0gwj1193yya9"; depends=[ProfileLikelihood]; };
+  sur = derive2 { name="sur"; version="1.0.2"; sha256="13mkn153x9sgkmj2vchma5qz1zggxw5vf28v8sfbg0n77f4wjc1p"; depends=[learnr]; };
   sure = derive2 { name="sure"; version="0.2.0"; sha256="0gwr2j321i2vq98rin5b1m4sl123dm1nih1ghcmj0zd1wd6x5x54"; depends=[ggplot2 goftest gridExtra]; };
   surface = derive2 { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape geiger MASS ouch]; };
   suropt = derive2 { name="suropt"; version="0.1.1"; sha256="0fm3vq3d0r4ahjgdmxm06yyakngssryzvdd1w0my34m0nvk6cbq4"; depends=[DiceKriging DiceOptim dplyr emoa GenSA ggplot2 GPareto lhs mco pso purrr rgenoud tibble tidyr]; };
@@ -13606,12 +14148,12 @@ in with self; {
   survJamda = derive2 { name="survJamda"; version="1.1.4"; sha256="14ly1g548ysm8jgsyrhj12zmd6i2lca7rsgby3jbwikyqyk1mx5q"; depends=[ecodist survcomp survival survivalROC survJamda_data]; };
   survJamda_data = derive2 { name="survJamda.data"; version="1.0.2"; sha256="0a010v2ar48i5m0jiqjvdyqm93ckfgfmcmym9a02h0rclnizd75r"; depends=[]; };
   survMisc = derive2 { name="survMisc"; version="0.5.5"; sha256="00nvvl8gz4477ab24rd0xvfksm8msv8h021b9ld5c9cizc41n2bm"; depends=[data_table ggplot2 gridExtra km_ci KMsurv knitr survival xtable zoo]; };
-  survPen = derive2 { name="survPen"; version="1.1.0"; sha256="1chmpwld48cwygrg4rm6c6771pa7nb2x1a9v90ysa0jlmw156fhr"; depends=[statmod]; };
+  survPen = derive2 { name="survPen"; version="1.2.0"; sha256="0x030p6ihw769mjwjxzprmv3nbza0564mh1zfymwn8s94v86ybkl"; depends=[statmod]; };
   survPresmooth = derive2 { name="survPresmooth"; version="1.1-10"; sha256="0m1037v857g140lypck5zq2zf52rkdxzaqlj9kjn7h7lp6gif6ia"; depends=[]; };
   survRM2 = derive2 { name="survRM2"; version="1.0-2"; sha256="0pvp65c1kkbkcci4l3cvq4a5krmv58jwb9abz5225ql6jyawzlsw"; depends=[survival]; };
   survRM2adapt = derive2 { name="survRM2adapt"; version="1.0-1"; sha256="1r3jvjbc2sb7b00s95b3sdx4d99rmrnd573fx1n4914ydiggi9nn"; depends=[survival]; };
   survSNP = derive2 { name="survSNP"; version="0.24"; sha256="0mzwcp8zfqvsiapa446si9qb6wyymnw5zj6acj6f2cfjpyi76k4w"; depends=[foreach lattice Rcpp survival xtable]; };
-  surveillance = derive2 { name="surveillance"; version="1.17.0"; sha256="0c1y9c850kjwpjanynd67s2lx8iv2jgg7ryf1323yqp7jr66idri"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat xtable]; };
+  surveillance = derive2 { name="surveillance"; version="1.17.2"; sha256="1gnyylil70qw06fnyhg38xqh9pmzqj5ykf79p66dvhv7zhjq95r7"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat xtable]; };
   survexp_fr = derive2 { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
   survey = derive2 { name="survey"; version="3.36"; sha256="0xclsy4ram4k48vzh5m5bpmknnpwxnss85v73s4czsjj5ffjxwwh"; depends=[lattice Matrix minqa mitools numDeriv survival]; };
   surveybootstrap = derive2 { name="surveybootstrap"; version="0.0.1"; sha256="13rp6gj1dgdzcjbi2403pldygp1dyqx8zj0r1nvyghpi06x5gpb7"; depends=[dplyr functional plyr Rcpp RcppArmadillo stringr]; };
@@ -13622,12 +14164,12 @@ in with self; {
   surveysd = derive2 { name="surveysd"; version="1.1.0"; sha256="0ab1f3z86idv3cy9nycqh4nnkcwachlm27pynlrn6g4jmcvcbj9b"; depends=[data_table dplyr ggplot2 laeken matrixStats Rcpp]; };
   survidm = derive2 { name="survidm"; version="1.2.0"; sha256="0dgcxhf8x1aavr4n4aqanfc23zd62dyk3h05sa04611h6n9l8j9c"; depends=[doParallel doRNG foreach KernSmooth np survival TPmsm]; };
   survivALL = derive2 { name="survivALL"; version="0.9.3"; sha256="0lnvs7b097sl21gvnfafdprzvh197p1q4nzzagkdf4xm1xw8pj0h"; depends=[cowplot desiR ggplot2 ggthemes survcomp survival viridis]; };
-  survival = derive2 { name="survival"; version="2.44-1.1"; sha256="1faiwyg7x8y2kfzb66l4yc8br0mdlz4k20znmjrwq96dbzhm3cam"; depends=[Matrix]; };
+  survival = derive2 { name="survival"; version="3.1-7"; sha256="1ij77bgfcjx29xkx5bck0sv4ybglpcmzzv9ilkinj8fqhhclbs8p"; depends=[Matrix]; };
   survivalAnalysis = derive2 { name="survivalAnalysis"; version="0.1.1"; sha256="0y4hgskc36jrriy6577bnkvg1gmxs0x3pxiv3lma38a9lj71ivwf"; depends=[cowplot dplyr forcats ggplot2 gridExtra magrittr purrr rlang scales stringr survival survminer tibble tidyr tidytidbits]; };
   survivalMPL = derive2 { name="survivalMPL"; version="0.2"; sha256="05bfa9fx841kh9g2jcs1dimsxkjnf4bxgamcnjpisx3a644c1gkn"; depends=[MASS survival]; };
   survivalROC = derive2 { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
   survivalsvm = derive2 { name="survivalsvm"; version="0.0.5"; sha256="1b4hrdrqq1z0kfn8vpdwg54388m25df2s6w9i574x3mkxkmkjkga"; depends=[Hmisc kernlab Matrix pracma quadprog survival]; };
-  survminer = derive2 { name="survminer"; version="0.4.5"; sha256="03dx3wb2s5yl617sgxb7x002wf0mgdz29c4jhgp260wvibh0b3rm"; depends=[broom dplyr ggplot2 ggpubr gridExtra magrittr maxstat purrr scales survival survMisc tibble tidyr]; };
+  survminer = derive2 { name="survminer"; version="0.4.6"; sha256="0c5q5pp78wsv00rrbhbfl1yrdng8n7z1mgqlrqzgb0pswlvv2w3z"; depends=[broom dplyr ggplot2 ggpubr gridExtra magrittr maxstat purrr scales survival survMisc tibble tidyr]; };
   survsim = derive2 { name="survsim"; version="1.1.5"; sha256="0194w1h3v4p546wibp3xyhy2r84w3p9r6ggzhlf11v8467mjy0l9"; depends=[eha statmod]; };
   survsup = derive2 { name="survsup"; version="0.0.2"; sha256="0q41hn8iqib2w6gkz2mll4h46vr9ca25jrg0g5jr9wgrzsnf5jci"; depends=[broom colorspace dplyr ggplot2 gridExtra survival]; };
   survtmle = derive2 { name="survtmle"; version="1.1.1"; sha256="1l13rvwq4915ij2a55fxdj3b3wkgjca1fbqzcgkjlpzkcn97k1nj"; depends=[dplyr ggplot2 ggsci Matrix plyr speedglm stringr SuperLearner tidyr]; };
@@ -13647,9 +14189,9 @@ in with self; {
   svUnit = derive2 { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; };
   svWidgets = derive2 { name="svWidgets"; version="0.9-45"; sha256="08cpsy4abypjnv33arsgxk5i0gpdvdzj60wa1b22ca1n7d35mc80"; depends=[svMisc]; };
   svapls = derive2 { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; };
-  svars = derive2 { name="svars"; version="1.3.1"; sha256="15lmgf1q6cd987f56nf3r8z4mmwjyfs5s9avav8jl7d1l73rzhiw"; depends=[clue copula DEoptim expm ggplot2 pbapply Rcpp RcppArmadillo reshape2 steadyICA strucchange tsDyn vars zoo]; };
+  svars = derive2 { name="svars"; version="1.3.2"; sha256="160y7i39rsqqccv6j13kdjcf4ma81ca2iirq2vqj45gxyf62m9l6"; depends=[clue copula DEoptim expm ggplot2 pbapply Rcpp RcppArmadillo reshape2 steadyICA strucchange tsDyn vars zoo]; };
   svcm = derive2 { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; };
-  svd = derive2 { name="svd"; version="0.4.3"; sha256="0wlvzqak6fng6v5473hyphrfxrfc2apw5f3fgvg7bz2fj6nzcry4"; depends=[]; };
+  svd = derive2 { name="svd"; version="0.5"; sha256="18bi42pgml9i8jflfk29ws0bfblkj3f69z9p9mkd0m8kcx4d8hnh"; depends=[]; };
   svdvisual = derive2 { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; };
   svenssonm = derive2 { name="svenssonm"; version="0.1.0"; sha256="0pvay9vfrcafaq270pq6glp2b74zdfgldksl13cwdb0wk7qx7731"; depends=[]; };
   svgPanZoom = derive2 { name="svgPanZoom"; version="0.3.3"; sha256="09gfa2943bvmjpnhnc2nr85wddkv662k30pxsqvvvq1va64rzpkc"; depends=[htmlwidgets]; };
@@ -13662,21 +14204,22 @@ in with self; {
   svs = derive2 { name="svs"; version="1.1.0"; sha256="0575msaxg04ck76mbr815m29y895qvg8b9qg4y0ggv6b1lvwp5p6"; depends=[gtools]; };
   svyPVpack = derive2 { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
   svydiags = derive2 { name="svydiags"; version="0.3"; sha256="0xgizswdqs8cjac200sqv3ygvrnbcy74h92kgx4r6nv1fhlcljl3"; depends=[MASS Matrix survey]; };
-  swCRTdesign = derive2 { name="swCRTdesign"; version="2.2"; sha256="0kggniy5p900cj074swh7g47zf8bhwjmqph9b5frw86nycxwyn3v"; depends=[]; };
+  swCRTdesign = derive2 { name="swCRTdesign"; version="3.1"; sha256="18ln02fnxkpjqi8a36wr2qr427hxrghkhfjx0384grmdg1mmkbf5"; depends=[]; };
   swa = derive2 { name="swa"; version="0.8.1"; sha256="1zy1a6c17vmdkmkwp8vv3niww2zs1m0hylsa0b2cz68vfhnmpim4"; depends=[ggplot2 reshape ROCR]; };
   swagger = derive2 { name="swagger"; version="3.9.2"; sha256="13scbzv65qzxh7kfwlb2k47zgvv7fz085g5lki6zr5w6a33g45q9"; depends=[]; };
   swamp = derive2 { name="swamp"; version="1.4.1"; sha256="01w44d7rqh6q9wpapd3g7rzllhbm2brwilmna9vk2dwqx57jyim6"; depends=[amap gplots impute MASS]; };
   swapClass = derive2 { name="swapClass"; version="1.0.1"; sha256="0wg6km261xdywakxi64dw4wwprbrkw217q4c6622z0mgm9sjgpym"; depends=[inline]; };
   swatches = derive2 { name="swatches"; version="0.5.0"; sha256="1kivscgka8gn44rjj0s5sjan1s04znnyn0nd37a74zaik0hm8zs0"; depends=[colorspace httr pack stringr xml2]; };
   swdft = derive2 { name="swdft"; version="1.0.0"; sha256="0529rw8nsl48hwiy741alvrzg5d5q1nhnjshrsfwchm5kdv0igva"; depends=[]; };
-  sweep = derive2 { name="sweep"; version="0.2.1.1"; sha256="0hfvgvzr5mh9niwpsr9jcly426dz457afrg4q5w13ahsasx7c9jg"; depends=[broom devtools dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
+  sweep = derive2 { name="sweep"; version="0.2.2"; sha256="12mbkkinvv11s96bn61vww79xjivjshhg9m3lmza5y0512zm89k5"; depends=[broom dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
   sweidnumbr = derive2 { name="sweidnumbr"; version="1.4.1"; sha256="014zbp6a66gv7b0f2gmzvifllz266zrc14ihawksvyp1mcxz2ipg"; depends=[lubridate stringr]; };
-  swephR = derive2 { name="swephR"; version="0.2.1"; sha256="0vrhgkz3bafkb6a46g5dx5qyh52ind5fwch0lbn7dnhwibdy209a"; depends=[Rcpp]; };
+  swephR = derive2 { name="swephR"; version="0.3.0"; sha256="0fk5wih3i5vpkcc9y1n30xwc1hyqgfgnad9jkdgdx0m31pn1y9j5"; depends=[Rcpp]; };
   swfscMisc = derive2 { name="swfscMisc"; version="1.2"; sha256="08p2crsx8zi6qprs14mhdyq9x5sjlp3a46c1zzvp6741an4fy640"; depends=[ggplot2 mapdata maps reshape2 spatstat]; };
   swgee = derive2 { name="swgee"; version="1.4"; sha256="1a6zr4nkpj52b0rk01qbwzi8y0c798wlxzw69wyyv576k148rgfq"; depends=[gee geepack mvtnorm]; };
   swirl = derive2 { name="swirl"; version="2.4.4"; sha256="1pw0p72gkrv1cy4ck3jfv2j00qzlm44gk61vxl7zn0jb2yrd913r"; depends=[digest httr RCurl stringr testthat yaml]; };
   swirlify = derive2 { name="swirlify"; version="0.5.3"; sha256="1bpg6yz2adgspjlwsf2q83j1bq0iyvp9938smgc41861nsclngwr"; depends=[base64enc readr rmarkdown shiny shinyAce stringr swirl whisker yaml]; };
   swissMrP = derive2 { name="swissMrP"; version="0.62"; sha256="1vy6h6c4v49zlsli77ilj4df8cfh67rqmki71v6j1aqw6kf3b649"; depends=[arm blme lme4 maptools sp]; };
+  swissdd = derive2 { name="swissdd"; version="1.0.1"; sha256="101na2c5bzsg4glyss8cj34ihly3yih4n05qbwsm2n5qbda63yxd"; depends=[curl dplyr jsonlite magrittr purrr tibble tidyr]; };
   switchnpreg = derive2 { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[expm fda HiddenMarkov MASS]; };
   switchr = derive2 { name="switchr"; version="0.13.5"; sha256="11y9f8h5qkaykkdk5ya1z8dyw98z5svny56hx0q2b1z2f0iszwc3"; depends=[RCurl RJSONIO]; };
   switchrGist = derive2 { name="switchrGist"; version="0.2.4"; sha256="137kz944qqqrislbm6anknw6n303j441mfhfcrzh33xcb19z320v"; depends=[gistr httpuv RJSONIO switchr]; };
@@ -13691,8 +14234,9 @@ in with self; {
   sylly_en = derive2 { name="sylly.en"; version="0.1-3"; sha256="0jw48qin172vv7skcpvcpi9wzgav5l9afzb09hhgcxvivbz6dl93"; depends=[sylly]; };
   sym_arma = derive2 { name="sym.arma"; version="1.0"; sha256="13fhmgzd50mwlnz9m6nnn4arr4jdqf5h7dgli5lk08da9wx6cy69"; depends=[]; };
   symDMatrix = derive2 { name="symDMatrix"; version="2.0.2"; sha256="1lf0yhid47107c2vnr4g7xz4hrjb2cgr5zpgik4xf5gypli6xh6x"; depends=[bit ff LinkedMatrix]; };
-  symbolicDA = derive2 { name="symbolicDA"; version="0.6-1"; sha256="0daac2ncfxfj07h1bdbgdc6l29cwa5hwi65wx1zgrycj1zp79a2x"; depends=[ade4 cluster clusterSim e1071 rgl RSDA shapes XML]; };
+  symbolicDA = derive2 { name="symbolicDA"; version="0.6-2"; sha256="0fd36dndzs0n0xwz38px5182gc6ng174n433rgch1s1g6bh8dn4s"; depends=[ade4 cluster clusterSim e1071 rgl RSDA shapes XML]; };
   symbols = derive2 { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; };
+  symmetry = derive2 { name="symmetry"; version="0.1.1"; sha256="1f4l058sdrdg7jl1rklyd0a3ik9lnnsf2imgaymr56iaxn7y0m79"; depends=[Rcpp RcppArmadillo Rdpack]; };
   symmoments = derive2 { name="symmoments"; version="1.2"; sha256="074k0285c0yri39zags420kjls6kjlvlhymg3r7y24h42zdy82d4"; depends=[combinat cubature multipol mvtnorm]; };
   synRNASeqNet = derive2 { name="synRNASeqNet"; version="1.0"; sha256="05ncwbv8kvvhqqrxa8qq7s0jc6krs5a56ph04z50iwgd91rzyi7x"; depends=[GenKern igraph KernSmooth parmigene]; };
   synbreed = derive2 { name="synbreed"; version="0.12-9"; sha256="0h85z9bhzgsr783qx3zjqyi461a0q52wbqifwm3gc1kapl5irxhd"; depends=[abind BGLR doBy doParallel foreach igraph lattice LDheatmap MASS qtl regress]; };
@@ -13704,7 +14248,7 @@ in with self; {
   syntaxr = derive2 { name="syntaxr"; version="0.8.0"; sha256="1iik9b3x9jx7w31j7hyi3sixg30l5a6w40svhqj1xlchsk60yykn"; depends=[magrittr]; };
   synthACS = derive2 { name="synthACS"; version="1.5.2"; sha256="1y9kvp4fq1602c9876jc8102iidxzqkqsh89ix3m5qf63ldx071f"; depends=[acs data_table Rcpp]; };
   synthpop = derive2 { name="synthpop"; version="1.5-1"; sha256="0cd9g0aa4598l3gyqpywalmkmvibhqkxhkm2qkln11rkwv12lcyv"; depends=[classInt foreign ggplot2 lattice MASS mipfp nnet party plyr polspline proto randomForest rpart]; };
-  sys = derive2 { name="sys"; version="3.2"; sha256="1k5vk5q9wa5sin0n226i05nymg469s24f6lx64yyhb7yc624j698"; depends=[]; };
+  sys = derive2 { name="sys"; version="3.3"; sha256="14wvy46i2iz9jn7lj3cvifmps932s3395wq681hniva0f8m7q8d6"; depends=[]; };
   sysfonts = derive2 { name="sysfonts"; version="0.8"; sha256="0wng902plryf2d8fc7k7m3jx11acz51kb2d91cqbyhq7xpk06z43"; depends=[]; };
   sysid = derive2 { name="sysid"; version="1.0.4"; sha256="0fr9gf5yjin3zvz850z4r4pqc1r4mwx8d46sl64i4csdm9qnqagy"; depends=[bitops ggplot2 polynom reshape2 signal tframe zoo]; };
   systemfit = derive2 { name="systemfit"; version="1.1-22"; sha256="19nmhidnzyk2wcwi5v28n9lkvylfw4in63vg5naqlk3w4fbwm2wb"; depends=[car lmtest MASS Matrix sandwich]; };
@@ -13716,8 +14260,9 @@ in with self; {
   taRifx = derive2 { name="taRifx"; version="1.0.6.1"; sha256="1qnp2562irhb516jfapmpg4260172ckc8jc3vxfkjsj7dnr35j6l"; depends=[plyr reshape2]; };
   tab = derive2 { name="tab"; version="4.1.1"; sha256="0ds8n6gncidb66in7hlqkcmil5yfsf7ihqvmls789hrm2iz9xlfm"; depends=[dplyr gee knitr MASS survey survival xtable]; };
   taber = derive2 { name="taber"; version="0.1.0"; sha256="07a18kn65b4cxxf1z568n7adp6y3qx96nrff3a3714x241sd5p6i"; depends=[dplyr magrittr]; };
+  tabit = derive2 { name="tabit"; version="0.1.1"; sha256="0fk670ws7df77sxf89kp8h608z5400gaia79zj3w9jv3jmfyj1i0"; depends=[]; };
   tablaxlsx = derive2 { name="tablaxlsx"; version="1.2.2"; sha256="1q7ap1dmymf3aj5g860794jfn9zrn3qiwwcdzl95lsbpkhgyspmz"; depends=[openxlsx]; };
-  table_express = derive2 { name="table.express"; version="0.3.0"; sha256="0yrvq0psf6j11cbyhbk3aqskxqm3v9a9dkakmknmynzx4zp6p9fv"; depends=[data_table dplyr magrittr R6 rlang tidyselect]; };
+  table_express = derive2 { name="table.express"; version="0.3.1"; sha256="00f5xi2dkx1h0mv8ld3ds15w30d9vgvmjrldg43z7zskprshqsxx"; depends=[data_table dplyr magrittr R6 rlang tidyselect]; };
   table1 = derive2 { name="table1"; version="1.1"; sha256="01r6zlhv3d0ggniv6aaszmzqbappy9zycayiwwlknbwrgiwkp58z"; depends=[Formula htmltools knitr]; };
   table1xls = derive2 { name="table1xls"; version="0.4.0"; sha256="0ixbshbp9hkcg12hj32vgb5bp0pj4rbc3i6g1xdg2zhqp7zanics"; depends=[XLConnect]; };
   tableHTML = derive2 { name="tableHTML"; version="2.0.0"; sha256="19sa5sda4v5dr449ip9z9ah5hdph9q6vb6zbs93jn4rpkvyijny3"; depends=[htmltools jpeg magrittr png shiny webshot]; };
@@ -13727,13 +14272,14 @@ in with self; {
   tablerDash = derive2 { name="tablerDash"; version="0.1.0"; sha256="1mnp6lxa7d669r325aynq1n3f35r9sy4v1fvdh4cymbf33s8mkmm"; depends=[htmltools knitr shiny]; };
   tables = derive2 { name="tables"; version="0.8.8"; sha256="1cgfwrnmgi1jhv9kj918mv0ib75hvprqjg0nb7ppih73kqpaw5m2"; depends=[Hmisc knitr]; };
   tableschema_r = derive2 { name="tableschema.r"; version="1.1.0"; sha256="0ny683p9kaidj5bayz77hyvsaqg3jk87pb95271znk8hzhl2jlcj"; depends=[config future httr iterators jsonlite jsonvalidate lubridate purrr R6 RCurl rlist stringr urltools]; };
-  tabplot = derive2 { name="tabplot"; version="1.3-2"; sha256="0rhj4gz1w1291w4kjh7y71qqm54iavmna70b3gn7zql444wmk59r"; depends=[bit ff ffbase]; };
-  tabr = derive2 { name="tabr"; version="0.3.0"; sha256="0723yzjnv30bfs4v7ircn17hhpjx0w1hzls6bcqc3xi3awqzkbg3"; depends=[crayon dplyr ggplot2 magrittr purrr]; };
+  tabplot = derive2 { name="tabplot"; version="1.3-3"; sha256="0gv27igixcy5vqrk71ckyhlk4yhcprm8r2a2l0lgmn4rbsm20c6h"; depends=[bit ff ffbase]; };
+  tabr = derive2 { name="tabr"; version="0.3.5"; sha256="14lsqkn5xzxmnh23ppmv9b0pkqiyw82b2nnmnv56cpgv2ds6bv4h"; depends=[crayon dplyr ggplot2 magrittr purrr tidyr]; };
   tabuSearch = derive2 { name="tabuSearch"; version="1.1.1"; sha256="0396a8hla508na1hmyyhfbl8w10dbg810cln2xyhhvxi7rr223dj"; depends=[]; };
-  tabula = derive2 { name="tabula"; version="1.2.0"; sha256="14zbm46ass0whd9pihy7rvivbc2asd10davhwy5fvb76k9n371w2"; depends=[dplyr FactoMineR ggplot2 magrittr plyr rlang tidyr]; };
+  tabula = derive2 { name="tabula"; version="1.3.0"; sha256="12fqkqky2amg9lzm7q1dc7j2i71cbm1mdpzgfkyjwgjkv87b896k"; depends=[ca ggplot2 rlang]; };
   tabularaster = derive2 { name="tabularaster"; version="0.5.0"; sha256="0cqax6hq0pbxmqls3cs21cc86662wdzjyx4lkxw42dbw4v13f728"; depends=[dplyr fasterize gibble magrittr raster rlang sp spatstat spbabel spex tibble viridis]; };
   tabulizer = derive2 { name="tabulizer"; version="0.2.2"; sha256="0zd5cfqwgirqchw1mvziscxvzl8pb1y6rbfywkn9i9pxfydkm5vi"; depends=[png rJava tabulizerjars]; };
   tabulizerjars = derive2 { name="tabulizerjars"; version="1.0.1"; sha256="005n2gyzzmq8h0mpj8xs6ri6llzwag7nqzpm4vnzp81vwy8kmf92"; depends=[rJava]; };
+  tabulog = derive2 { name="tabulog"; version="0.1.1"; sha256="0n6qjd7kmvxx5na71f358pw3bbwa69vh8qjkrs5mkb3izxabcq67"; depends=[yaml]; };
   tacmagic = derive2 { name="tacmagic"; version="0.3.0"; sha256="114qxi2ks5v8p7lr2i7fn1wi5lwzw1dpvbbg515gc8yplccpxwny"; depends=[pracma R_matlab]; };
   tactile = derive2 { name="tactile"; version="0.2.0"; sha256="0jjfbsadxbf9s6vzi82rw5qa6hdc8iz4jci9xpbzwrjkb90dzd08"; depends=[gridExtra lattice latticeExtra MASS RColorBrewer]; };
   tadaatoolbox = derive2 { name="tadaatoolbox"; version="0.16.1"; sha256="0xqvg73l00kskgg7ipcc19rvi9n5ylwnaph5g5x8iwgim5dhcb9s"; depends=[broom car DescTools ggplot2 magrittr nortest pixiedust pwr viridis]; };
@@ -13743,9 +14289,11 @@ in with self; {
   tailr = derive2 { name="tailr"; version="0.1.3"; sha256="0agm83zwj6f3bpicbn2pcwira05v2pbv0g7myc1x06jxbw1qbfwp"; depends=[foolbox glue rlang]; };
   taipan = derive2 { name="taipan"; version="0.1.2"; sha256="192sy5pgq74vs31p7jfn6svdzf9mk9ybppzhp1rlki1bagmm5f1r"; depends=[shiny]; };
   takos = derive2 { name="takos"; version="0.1.0"; sha256="0a26jmxccpyk36sah9nz7pqpkc1rd9kbwrvwh0r0zp7lwvxbjb8w"; depends=[baseline broom colorRamps data_table devEMF MASS minpack_lm pracma segmented sfsmisc smoother]; };
-  tanaka = derive2 { name="tanaka"; version="0.1.0"; sha256="1j0xjklwrlzrh0078bk34qzk2fvv0fb3r2rak571hkm3xpl2g5zn"; depends=[isoband lwgeom raster sf]; };
+  tanaka = derive2 { name="tanaka"; version="0.1.1"; sha256="0d7kqgl4kdmgvc8an0h1jqh8h4qw7mgdqmghxs49ssw3db6ir6lh"; depends=[isoband lwgeom raster sf]; };
+  tangles = derive2 { name="tangles"; version="0.8.1"; sha256="06a5hn5hkvgr6pcjz3n0vi1zwmv00wypi5f62agqh8mas80v44vh"; depends=[digest raster sp]; };
   tangram = derive2 { name="tangram"; version="0.4"; sha256="1yj5vwc8jkiic4zjag9k7w3j6dibqw5zsi78q6gssshsi9z0zbgy"; depends=[base64enc digest htmltools magrittr R6 stringi stringr]; };
-  tapkee = derive2 { name="tapkee"; version="1.0"; sha256="0cd1zkyhrfn33hhy6kdqwnmrs31d9b20750zgq0zm4c68qsnz506"; depends=[]; };
+  tapkee = derive2 { name="tapkee"; version="1.1"; sha256="1s8710m4drhnycfv27bv1w7vqc99dvbcn8zxkahq0lrsx7q8i5mz"; depends=[]; };
+  tashu = derive2 { name="tashu"; version="0.1.0"; sha256="04xvmbcwi84zg1pqw21nmrbnkyx184wc200vl1vhmwxggq1i60np"; depends=[dplyr drat ggplot2 lubridate plyr randomForest RColorBrewer reshape2]; };
   tatest = derive2 { name="tatest"; version="1.0"; sha256="1yd9pdpdhxwpllnj5wxa7ly29qiw8qywx9lx0w3nizczlx35fgjy"; depends=[]; };
   tatoo = derive2 { name="tatoo"; version="1.1.1"; sha256="0w9rm6cnc1mpfyklb8njzjwph2c38niinzxiflrqjqfdp7nd8281"; depends=[assertthat colt crayon data_table magrittr openxlsx stringi withr]; };
   tau = derive2 { name="tau"; version="0.0-21"; sha256="08wfl0pv865clpcvzmzb3rw3hl76f16n3j61fbmrzi50xf2diyx7"; depends=[]; };
@@ -13753,7 +14301,7 @@ in with self; {
   tawny = derive2 { name="tawny"; version="2.1.7"; sha256="1b2v0cgkmhzxy36dcdn6hnbqk6l5ac5c3myvwryf7wlp19xi786d"; depends=[futile_logger futile_matrix lambda_r lambda_tools PerformanceAnalytics quantmod tawny_types xts zoo]; };
   tawny_types = derive2 { name="tawny.types"; version="1.1.5"; sha256="1vg0hv91dif6cfqfzrf7m1qbk57fp8v97fp88whwmvs83yd521hq"; depends=[futile_logger futile_options lambda_r lambda_tools quantmod xts zoo]; };
   taxa = derive2 { name="taxa"; version="0.3.2"; sha256="1kiffyfpgapap6m2k3wx7p89kzpdyk48nwbmqvfa883kvg0ddzcy"; depends=[crayon dplyr jsonlite knitr lazyeval magrittr R6 rlang stringr taxize tibble tidyr]; };
-  taxize = derive2 { name="taxize"; version="0.9.8"; sha256="11b486jyd447np8ri4s0ywry7n0xdyw42vspcdpxb11pli9x4x45"; depends=[ape bold cli crayon crul data_table foreach jsonlite natserv phangorn plyr R6 reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2 zoo]; };
+  taxize = derive2 { name="taxize"; version="0.9.91"; sha256="0ncglmj0nzk60dvmngzskr2psn0bi2wj8jr628kczln2qz2hagff"; depends=[ape bold cli crayon crul data_table foreach jsonlite natserv phangorn plyr R6 reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2 zoo]; };
   taxizedb = derive2 { name="taxizedb"; version="0.1.4"; sha256="15gj9i18ysd83v9fidrrvw938dah04i10ahi3wh5dgjs5fd5ch2s"; depends=[curl DBI dbplyr dplyr hoardr magrittr RMySQL RPostgreSQL RSQLite]; };
   taxlist = derive2 { name="taxlist"; version="0.1.6"; sha256="0p68izdhqggra14g6n93124qnwrxmdy5f9x0617fmix5yc23rww3"; depends=[foreign stringdist taxize vegdata]; };
   taxonomizr = derive2 { name="taxonomizr"; version="0.5.3"; sha256="0hxvcbyr5b3sxqy5kw1q17qx7c2q90a6x79r9bmjn6c2lnrqn83i"; depends=[data_table R_utils RSQLite]; };
@@ -13762,28 +14310,29 @@ in with self; {
   tbd = derive2 { name="tbd"; version="0.1.0"; sha256="1wmfy3p82gckhfsslxzapryfygmircii7x24j6ysfyx52gy8iwf5"; depends=[numDeriv]; };
   tbdiag = derive2 { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; };
   tbl2xts = derive2 { name="tbl2xts"; version="0.1.3"; sha256="0yy0cpsflwx7fbql3vh0l87cvqgn0ghdqal4m7l9aplqhzdwxs3r"; depends=[dplyr lazyeval PerformanceAnalytics xts zoo]; };
-  tbm = derive2 { name="tbm"; version="0.3-0"; sha256="03bh98jn5rm3c159sbyx830cjf8yhpbn8jdgrmnqrwgr1fp5hdqf"; depends=[basefun coneproj mboost mlt sandwich variables]; };
-  tbrf = derive2 { name="tbrf"; version="0.1.2"; sha256="03n9s2n5y9d669l78v6s2dbk3sz51g5v28301ng2w082njrsvxhv"; depends=[boot dplyr lubridate purrr rlang tibble tidyr]; };
+  tbm = derive2 { name="tbm"; version="0.3-1"; sha256="1nakiixh833jwfz5zp3kz9zc09373zd8ydy94x4v9vxxwqp3zvl5"; depends=[basefun coneproj mboost mlt sandwich variables]; };
+  tbrf = derive2 { name="tbrf"; version="0.1.3"; sha256="1g6ll9vqhszas3czpnvvxhrih4b1h10dhn40ljh4206m27mzl8v9"; depends=[boot dplyr lubridate purrr rlang tibble tidyr]; };
   tcR = derive2 { name="tcR"; version="2.2.4"; sha256="17g26cq6zpcmg9kv32v0rvyqmml5wkbwra7p8f1cdzyc0zajbvn2"; depends=[data_table dplyr ggplot2 gridExtra gtable igraph Rcpp reshape2 scales stringdist]; };
   tcgsaseq = derive2 { name="tcgsaseq"; version="1.8.1"; sha256="1v5b3qghygb81lqc2h1fijgw856b1778xndppq7r4b0zhhvb81ac"; depends=[CompQuadForm ggplot2 GSA KernSmooth statmod]; };
+  tcl = derive2 { name="tcl"; version="0.1.0"; sha256="1ssqx50ii6j2y5n2nxn5ndp20nrjss0xf0fqp8aiwlgnm3d1zggn"; depends=[eRm lattice MASS Matrix numDeriv]; };
   tcltk2 = derive2 { name="tcltk2"; version="1.2-11"; sha256="1ibxld379600xx7kiqq3fck083s8psry12859980218rnzikl65d"; depends=[]; };
   tclust = derive2 { name="tclust"; version="1.4-1"; sha256="17md6l9v9dl9b72l84df01b52h2xiynbcjm437mv9mzcr09fc2sb"; depends=[]; };
   tcpl = derive2 { name="tcpl"; version="2.0.2"; sha256="0xic4jy8ldawmkvvwckiyy57ai5wif9yn7hyfndbxr6mvjl3rbbc"; depends=[data_table DBI numDeriv RColorBrewer RMySQL sqldf]; };
   tdROC = derive2 { name="tdROC"; version="1.0"; sha256="137j1m9pysjcz1gsfcym0438by3c7na21ccjlqf7xfccr1y8k2k6"; depends=[survival]; };
   tdigest = derive2 { name="tdigest"; version="0.3.0"; sha256="17axsir4xig3vm3sc2gziy9n0p80b14vg52nwys23bzkfp0n63bm"; depends=[magrittr]; };
   tdr = derive2 { name="tdr"; version="0.13"; sha256="0i0hnb3fc4d1mbbxcpzmyfh1w2rahfjabg5iyxym3yjd6377al15"; depends=[ggplot2 lattice RColorBrewer]; };
-  tdsc = derive2 { name="tdsc"; version="1.0.0.1"; sha256="17nr5fa4f16ww8si8qikbqmixl38jxjy185b80ff2i5v4129mnwd"; depends=[data_table]; };
-  tdthap = derive2 { name="tdthap"; version="1.1-9"; sha256="0y01x0hcf0rw06cpn4pk17b0shf4v2c9was7vfs0zhsbq8qcwx7r"; depends=[]; };
+  tdsc = derive2 { name="tdsc"; version="1.0.2"; sha256="19wd7gbpb23x55jzp0snnqm8ccnga3bfgr0mbhh31frkf6453721"; depends=[data_table moments]; };
+  tdthap = derive2 { name="tdthap"; version="1.1-11"; sha256="15qlj2bivvz3pizd8dq34wczbkbxhzqh3cqp1ixkdkprlyvcxj5k"; depends=[]; };
   tea = derive2 { name="tea"; version="1.0"; sha256="03wxhbgx17hl9bbzbfjmfa30q4fqszhs5y9imbp768fmzwbppn24"; depends=[eva]; };
   teachingApps = derive2 { name="teachingApps"; version="1.0.4"; sha256="0wi25wdpkz7kh8r1s42wa9kiky8ilmcg8kgw0j1caygwg0bml2fa"; depends=[actuar BH d3heatmap data_table devtools diagram DiagrammeR dplyr DT dygraphs ggplot2 knitr leaflet magrittr markdown metricsgraphics miniUI networkD3 pacman plotly radarchart Rcpp RcppEigen RcppNumerical rprojroot scales shiny shinyAce shinydashboard shinythemes threejs tidyr visNetwork yaml]; };
   tealeaves = derive2 { name="tealeaves"; version="1.0.0"; sha256="0hzih93h8c9gqvsmfaldq9jaw8hgvd4kmrlqlaqr6xhi6zhjqhf1"; depends=[crayon dplyr furrr future ggplot2 glue magrittr purrr rlang stringr tidyr units]; };
-  teamcolors = derive2 { name="teamcolors"; version="0.0.2"; sha256="1dns9z03n2bf8bda965wx243dacdm6ixp7zgzkvqr5mifcgmfafh"; depends=[dplyr ggplot2]; };
+  teamcolors = derive2 { name="teamcolors"; version="0.0.3"; sha256="1p2fx30j4wplicd30b8677jdmg78fpp6cbd3nqmx8xbs01gwix9w"; depends=[dplyr ggplot2]; };
   teamr = derive2 { name="teamr"; version="0.0.1"; sha256="01gngws8lf093598wlzrv4ls74avsli6ij33v1plqgc0znyaw4s2"; depends=[httr jsonlite R6]; };
   teda = derive2 { name="teda"; version="0.1.1"; sha256="0yx469jbkw9cgx73zi5mkykrdn16kn01zh524x9411314aa32avx"; depends=[]; };
   teigen = derive2 { name="teigen"; version="2.2.2"; sha256="1k5k3lj6av5pyx130w1j7avd0jdmm12ryc71mi5mq49sp95ndl4v"; depends=[]; };
   telefit = derive2 { name="telefit"; version="1.0.1"; sha256="05qnnp7bsv6q9230kikwk1r80f6v809cc2nv117w08nax4423vwx"; depends=[abind coda cowplot doRNG dplyr fields foreach ggplot2 gtable itertools mvtnorm raster Rcpp RcppArmadillo RcppEigen reshape2 scales scoringRules SDMTools sp stringr]; };
   telegram = derive2 { name="telegram"; version="0.6.0"; sha256="02wwa115f0vz2d9y4nf01397hjkpc3cv2gdl47snrajrm41gji7y"; depends=[curl httr jsonlite R6]; };
-  telegram_bot = derive2 { name="telegram.bot"; version="2.3.1"; sha256="1mzmc3gvma90mrzyn3w8s3jwmq7apqy4wacv0j6zd99a96nj855b"; depends=[curl httr jsonlite R6]; };
+  telegram_bot = derive2 { name="telegram.bot"; version="2.4.0"; sha256="1bvfnr6k0zxdawrf63yh8wj9hcgq1xvy791xbqhiy0isaa86yfw9"; depends=[curl httr jsonlite R6]; };
   tempR = derive2 { name="tempR"; version="0.9.9.15"; sha256="00xxrwzbqcsvb50xcrr4aii4fjcfa8bc25jn0zvg4dxmww8w4s1r"; depends=[]; };
   tempcyclesdata = derive2 { name="tempcyclesdata"; version="1.0.1"; sha256="0hciachv59kjpjs119r4z24jskzgnassi1yjg3cgl2r0hyglxxc3"; depends=[]; };
   tempdisagg = derive2 { name="tempdisagg"; version="0.25.0"; sha256="0zi11jqb3i5kd2z1bbkz8y7g16kmkcn3xpkwj2brv0s86wxwsny7"; depends=[]; };
@@ -13795,22 +14344,26 @@ in with self; {
   tensorA = derive2 { name="tensorA"; version="0.36.1"; sha256="176hjy3bvg3in62r97wxbhq187sjz6c1gwy9x6spaxl6k4my3zy7"; depends=[]; };
   tensorBF = derive2 { name="tensorBF"; version="1.0.2"; sha256="1dw1a6xqcsl4isbzbfiplgqq5nak5n9ffzm23mzzmkh1r1a8kl1y"; depends=[tensor]; };
   tensorBSS = derive2 { name="tensorBSS"; version="0.3.5"; sha256="1m4g9jr2s37xys2q4gv6rqknrznd4nrppa7qrgygqywwlmnyid44"; depends=[ggplot2 ICtest JADE Rcpp RcppArmadillo tensor tsBSS]; };
-  tensorflow = derive2 { name="tensorflow"; version="1.14.0"; sha256="0lw1k6s9x975w2nly32vp0157qc8jvmda2i6bpfmvf2xmadq0dr8"; depends=[config jsonlite processx reticulate rstudioapi tfruns yaml]; };
+  tensorflow = derive2 { name="tensorflow"; version="2.0.0"; sha256="1cz0l6blr8wan47lslq4lx0aafk61gjxwm6b3nn8zwgx849nqyr4"; depends=[config jsonlite processx reticulate rstudioapi tfruns yaml]; };
   tensorr = derive2 { name="tensorr"; version="0.1.1"; sha256="18xdvp328h96jn8y1iayxh7cyz2s8j5nn43nq18pyaxq271hkfyh"; depends=[assertive_base assertive_properties assertive_types Matrix purrr]; };
+  tensorregress = derive2 { name="tensorregress"; version="1.0"; sha256="0gx2skh175gs2cmihqaklwadnp777xcfimd66w3wh18qiz66ggaz"; depends=[MASS pracma rTensor speedglm]; };
+  tensorsparse = derive2 { name="tensorsparse"; version="1.0"; sha256="1qy6s58nkqq4spg7sapq3jafmxda0mx0j0cqjaj9pd34qqxifglf"; depends=[clues fields glasso glmnet HDCI mvtnorm RColorBrewer reshape rgl rTensor viridis]; };
   tensr = derive2 { name="tensr"; version="1.0.1"; sha256="1z6b3ra7fgn88mxbhsq65x3frj5j7p17n119s9kbw7sg9y633vfx"; depends=[assertthat]; };
   tergm = derive2 { name="tergm"; version="3.6.1"; sha256="03yd4l317airz84jfjyczjx43wi6sraid58lmxivm29xjk52xpi1"; depends=[coda ergm MASS network networkDynamic nlme robustbase statnet_common]; };
   ternvis = derive2 { name="ternvis"; version="1.2"; sha256="057i6i3ygxrin0npc18gsg3dpdldzafyb5sr6lix5mhy6b09lkxf"; depends=[dichromat maps quadprog]; };
   tesseract = derive2 { name="tesseract"; version="4.1"; sha256="1a7cf48n7hdd6inqz23ifqhq6kx6wxri34a79ns2vxaj6f4llxf0"; depends=[curl digest pdftools rappdirs Rcpp]; };
+  test2norm = derive2 { name="test2norm"; version="0.1.1"; sha256="11by5a1j6613akxj1nc16r07jfwxr1izkpvymr9yycnddiqyp42c"; depends=[mfp]; };
   testDriveR = derive2 { name="testDriveR"; version="0.5.1"; sha256="0wjdqvsyv33fsg1lljp9m0bhz38mpfgpgickgj4zdspc9x6lbnv6"; depends=[]; };
   testassay = derive2 { name="testassay"; version="0.1.0"; sha256="06gks3k04m45kn946i525261v33ymwxpvgdy84kc7sp01xxx4rfv"; depends=[]; };
+  testequavar = derive2 { name="testequavar"; version="0.1.2"; sha256="12qfy53rkrasxphcfmch5bmdlvlybd27jfg3azsi3fg4zk4qgdw2"; depends=[]; };
   tester = derive2 { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
   testextra = derive2 { name="testextra"; version="0.1.0"; sha256="0n5d3a4fnqb9bc47sha5zyi18gd9k6hm1jkjlb7apk43zry6n0y8"; depends=[assertthat parsetools pkgcond postlogic purrr rlang stringi testthat]; };
   testforDEP = derive2 { name="testforDEP"; version="0.2.0"; sha256="1mgzhj8b35r5cm4bl0nnyxj0h7rwd28d17qvgvaky2kvm2r83cf9"; depends=[Hmisc minerva Rcpp]; };
-  testit = derive2 { name="testit"; version="0.9"; sha256="0mayvbzfg7zkr9n38h0z9rkzxgpsck5vimfbgm70ww1ckggv7xlw"; depends=[]; };
-  testthat = derive2 { name="testthat"; version="2.2.1"; sha256="0y0bvggm4pzkzp6xn7b8cf3ybqp9ijxkhhyp3z49a9iipc90bvk7"; depends=[cli crayon digest evaluate magrittr praise R6 rlang withr]; };
+  testit = derive2 { name="testit"; version="0.11"; sha256="13iq4p8xzng88miizf04yv6z8vk7zhg1c8kd2h6swcmhqzq29yqj"; depends=[]; };
+  testthat = derive2 { name="testthat"; version="2.3.1"; sha256="0m8xchdpgn9iwj6gb2qw46zr85v9zf1gkbr9nnahmy5sp1s9bbky"; depends=[cli crayon digest ellipsis evaluate magrittr pkgload praise R6 rlang withr]; };
   testthis = derive2 { name="testthis"; version="1.1.0"; sha256="1ci7q25f8lq7mvigdj48gvpi75j08s0kll72kwa88xyfx9q8m3yl"; depends=[assertthat devtools fs magrittr pkgload rprojroot stringi testthat usethis]; };
   tetraclasse = derive2 { name="tetraclasse"; version="0.1.21"; sha256="1cl2cah0xi6x3rvvdy56iszai6rkbxc1w3x13v0l1z1nryff7c6a"; depends=[dplyr FactoMineR ggplot2 ggrepel magrittr reshape2 tibble tidyr]; };
-  texPreview = derive2 { name="texPreview"; version="1.3.2"; sha256="0gg46iy4s17gri28g0nvqibm8wy4c6mj1hc5iyj6dsn4jskvpfmy"; depends=[base64enc htmltools magick rematch2 rstudioapi svgPanZoom whisker xml2]; };
+  texPreview = derive2 { name="texPreview"; version="1.4.1"; sha256="0vjplajgrzz97a9lrrx43vx05djyi5dq22l6smjywn7m1ij6c9gv"; depends=[base64enc details fs htmltools knitr lifecycle magick magrittr rematch2 rstudioapi svgPanZoom whisker xml2]; };
   texmex = derive2 { name="texmex"; version="2.4.2"; sha256="01qx4f5f0gf0xz85lzxxv79fp7syd7x484iw711rbnv0nw3aqwa2"; depends=[ggplot2 mvtnorm Rcpp]; };
   texreg = derive2 { name="texreg"; version="1.36.23"; sha256="0yxaqimd7cyfrfpia6fnqm15lgs0bf5zyjzmnfm1v4qmf8kj8x6v"; depends=[]; };
   text2speech = derive2 { name="text2speech"; version="0.2.5"; sha256="0wc9c6sgv2p6qq8n9cmf143gn8ijps5ncwnkjq3q8m7558m6f24j"; depends=[aws_polly aws_signature dplyr googleAuthR googleLanguageR httr magrittr mscstts tuneR]; };
@@ -13818,9 +14371,9 @@ in with self; {
   textTinyR = derive2 { name="textTinyR"; version="1.1.3"; sha256="0z9k978yk54zxrrjajcb0nanfhfpxm2bq2vbmk6w5s194da6y3xl"; depends=[BH data_table Matrix R6 Rcpp RcppArmadillo]; };
   textcat = derive2 { name="textcat"; version="1.0-6"; sha256="0639b1qbi8779lskk5ms0sbbnmy2s73b3w96abbr70mrh0s2f9rw"; depends=[slam tau]; };
   textclean = derive2 { name="textclean"; version="0.9.3"; sha256="0kgjh6c4f14qkjc4fds7q7rpf4nkma3p0igm54fplmm3p853nvrz"; depends=[data_table english glue lexicon mgsub qdapRegex stringi textshape]; };
-  textdata = derive2 { name="textdata"; version="0.2.0"; sha256="1rksgkkwm4il3bw3vg19207r331rs0i3aqcn1x83y9cyvn15y8wm"; depends=[fs rappdirs readr tibble]; };
+  textdata = derive2 { name="textdata"; version="0.3.0"; sha256="0khf3j9hwl5jz3mzwzsmisrqchlf19phl4r3x8sk2cdhkb1qf3ix"; depends=[fs rappdirs readr tibble]; };
   texteffect = derive2 { name="texteffect"; version="0.3"; sha256="1qcbr18h3vakh6ymw4axzqcqrpss6z68a592xl879b82l2nlq8a7"; depends=[boot ggplot2 MASS]; };
-  textfeatures = derive2 { name="textfeatures"; version="0.3.2"; sha256="0k0qcw1r76d3igmphw0kg1ncd26zfqz4hbrhf6s3r0j16i14jlx0"; depends=[dplyr purrr rlang text2vec tfse tibble tokenizers]; };
+  textfeatures = derive2 { name="textfeatures"; version="0.3.3"; sha256="0x67kms7ipsadymc9jwja7wymav8y9kc5sbmp2vw4n4l89n32raa"; depends=[dplyr purrr rlang text2vec tfse tibble tokenizers]; };
   textgRid = derive2 { name="textgRid"; version="1.0.1"; sha256="1wi5vq5f7ixhz39l5hqi2jlmjjacx4lyrs4h8xfbd47pj6g16lc6"; depends=[]; };
   textile = derive2 { name="textile"; version="0.1.2"; sha256="067zli6sl7bp9843spgx47hmw55aq61yinqw1lqifmrpk7b0ywk5"; depends=[]; };
   textir = derive2 { name="textir"; version="2.0-5"; sha256="0ban5qiinlxizqpcgafv4b5gwxlil6jdfarjd6l1m48awxh3mlnb"; depends=[distrom gamlr Matrix]; };
@@ -13829,37 +14382,40 @@ in with self; {
   textometry = derive2 { name="textometry"; version="0.1.4"; sha256="17k3v9r5d5yqgp25bz69pj6sw2j55dxdchq63wljxqkhcwxyy9lh"; depends=[]; };
   textrank = derive2 { name="textrank"; version="0.3.0"; sha256="1sjzllz3ixxr043hbmbvwkwvj5wzh3m08x9z7h6hvy8ld8nzmn74"; depends=[data_table digest igraph]; };
   textreadr = derive2 { name="textreadr"; version="0.9.0"; sha256="04nyjrfxgwq8g3bdj12nnkia2xn2zngk1rprlkpyicrisgq36agk"; depends=[antiword curl data_table pdftools readxl rvest striprtf textshape xml2]; };
-  textrecipes = derive2 { name="textrecipes"; version="0.0.1"; sha256="1nnm7cpp99jlahhdl6aqz38dsr9wgm8z1pxblwqqribfh354vm5c"; depends=[dplyr generics magrittr purrr recipes rlang SnowballC stopwords stringr text2vec tibble tokenizers]; };
+  textrecipes = derive2 { name="textrecipes"; version="0.0.2"; sha256="1wks8z8wggx318haplyw4km2nh1vrl805gvyckb79n569f8ks9ah"; depends=[dplyr generics lifecycle magrittr purrr recipes rlang SnowballC stopwords stringr text2vec textfeatures tibble tokenizers]; };
   textreg = derive2 { name="textreg"; version="0.1.5"; sha256="0h44z5hyndnvzd9axix7gpmhbdx347dfgxw9r8w38kyw6dklbjy6"; depends=[NLP Rcpp tm]; };
   textreuse = derive2 { name="textreuse"; version="0.1.4"; sha256="0qfp7ffzb5p3k3wiw8i1zjskni8f38rzkjnss97j9f3vhhb8j4r7"; depends=[assertthat BH digest dplyr NLP Rcpp RcppProgress stringr tidyr]; };
   textshape = derive2 { name="textshape"; version="1.6.0"; sha256="1pl85wjq5rl25gdlh4cp0l14hn76rrmpl7l1fn7kq9lwj9yfpcs8"; depends=[data_table slam stringi]; };
   textstem = derive2 { name="textstem"; version="0.1.4"; sha256="1pbhi5ia3w16vsix2x3if51zd2v9bcv0j4lj9hfikgq1yz9zxmw2"; depends=[dplyr hunspell koRpus koRpus_lang_en lexicon quanteda SnowballC stringi textclean textshape]; };
   textutils = derive2 { name="textutils"; version="0.1-11"; sha256="12vx89k49js7k7h2ay1qx345infr5gns8bhvlm3jinrm9saj0f54"; depends=[]; };
   tfCox = derive2 { name="tfCox"; version="0.1.0"; sha256="06mbiz1jwp8mv5dbwyvdvy1wpp8s3xp9hhsm94vrbvjaxg680g28"; depends=[Rcpp survival]; };
+  tfautograph = derive2 { name="tfautograph"; version="0.1.0"; sha256="0bia0hqwwhf2iwbzy6wa9r72fl00k8pm5ll74bb9w372r129i5wh"; depends=[reticulate tensorflow]; };
   tfdatasets = derive2 { name="tfdatasets"; version="1.13.1"; sha256="19szgpb040v33hicrqdigjpg3z6jph0fxx6rh8ln16hk4sb2rd2d"; depends=[magrittr reticulate rlang tensorflow tidyselect]; };
   tfdeploy = derive2 { name="tfdeploy"; version="0.6.1"; sha256="1vbxyvmzaafbwp1pmvzn16zyl4nz85787m79gn7iazh9zw9f7j34"; depends=[httpuv httr jsonlite magrittr reticulate swagger tensorflow]; };
   tfer = derive2 { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
   tfestimators = derive2 { name="tfestimators"; version="1.9.1"; sha256="0da34iy7fyfzhbvaj8494sl6nrmhcfbqcr71l95ziaxgb8285ndm"; depends=[forge magrittr progress purrr reticulate rlang tensorflow tfruns tibble tidyr tidyselect]; };
   tfio = derive2 { name="tfio"; version="0.4.0"; sha256="1ah37sf3qf099bv50gsz1ny13vrp67ry0famabihc5kmqk9viyhg"; depends=[forge magrittr reticulate tensorflow tfdatasets]; };
   tfplot = derive2 { name="tfplot"; version="2015.12-1"; sha256="1x007j6ibbzfr0kncvsr4c7295jv3c4amg2dpyjvdir9h665nc23"; depends=[tframe]; };
+  tfprobability = derive2 { name="tfprobability"; version="0.8.0.0"; sha256="1h32r15yxxzmvqp0gs2k5m2c6z1jkgfwj757sl6pfhwpr7av9zqp"; depends=[keras magrittr reticulate tensorflow]; };
   tframe = derive2 { name="tframe"; version="2015.12-1.1"; sha256="1yff22jzh1mp73zbz2mav6z8m42lylfjhb8dgxj4337fv3if3i13"; depends=[]; };
   tframePlus = derive2 { name="tframePlus"; version="2016.7-1"; sha256="12xi2xw4pr78n3cppfknpxmjp2263pb4kqj9v412yxwp82rgb6yk"; depends=[tframe timeSeries]; };
   tfruns = derive2 { name="tfruns"; version="1.4"; sha256="1mqv5m13qm1dqz0622jd5ayb3nk76lfa657y2hyqv261flxizhvg"; depends=[base64enc config jsonlite magrittr reticulate rlang rstudioapi tidyselect whisker yaml]; };
   tfse = derive2 { name="tfse"; version="0.5.0"; sha256="05q75xsiy955xwgchagk7l7725y6mylp5lj5284xm7y2xh197zp3"; depends=[dapr magrittr]; };
-  tgcd = derive2 { name="tgcd"; version="2.1"; sha256="0anaycfsjax62iasly9b0mmmhqfcl11a8ncavr1c1i7rikandj0i"; depends=[]; };
   tggd = derive2 { name="tggd"; version="0.1.1"; sha256="1izar1b3w148vp2r8gv3vpwfndib8ilxcjxgbfzbxn7q5mr73mwa"; depends=[gsl]; };
   tgp = derive2 { name="tgp"; version="2.4-14"; sha256="1l3kssjkh5sbrh75qdpmynjfnidgz8vmzq1jml1qm1yfwval8ak1"; depends=[maptree]; };
   tgram = derive2 { name="tgram"; version="0.2-3"; sha256="0vlnry8drq3fqfy8dk50pcwcx9dj657kx6s19fs2b6acigkr4g7w"; depends=[zoo]; };
   thankr = derive2 { name="thankr"; version="1.0.0"; sha256="089ikp85d5ia6a1qzmw8dkgcmz628cibmwfzcpk7m3ii8acxq91w"; depends=[]; };
+  thectar = derive2 { name="thectar"; version="1.0.0"; sha256="1qh0qzg0ybb38kzm56xxlvhm201pdjm16aky5f1fdflcsszgy8mx"; depends=[proxy smacof]; };
   theiaR = derive2 { name="theiaR"; version="0.2.0"; sha256="1zvgg3xs1xlmg7gkv7pax7w5xgarvya4nvv4d78iv7p02bzckbxv"; depends=[askpass httr R6 raster tiff XML]; };
   themetagenomics = derive2 { name="themetagenomics"; version="0.1.0"; sha256="1p8qyvll6a9yx2akny1087f73r6p5zi6cf1si7b8i786bcs9khwj"; depends=[ggplot2 lda lme4 Matrix plotly Rcpp rstan scales shiny stm]; };
   thermocouple = derive2 { name="thermocouple"; version="1.0.2"; sha256="1rlvhw3i83iq1vibli84gj67d98whvgkxafwpmisva1m4s1bmij4"; depends=[]; };
   theseus = derive2 { name="theseus"; version="0.1.0"; sha256="1f6vl0m8fcchafn78vrfw610d0sp9rf8kd3q5n7b0zd2yby10dq0"; depends=[dplyr ggplot2 gridExtra magrittr phyloseq ShortRead splancs tidyr tidyverse vegan viridis]; };
   thgenetics = derive2 { name="thgenetics"; version="0.4-2"; sha256="1314gry3xs9v4jy13g08q16qy4ax3s0bc7d74gi0wbpkgdrk3lql"; depends=[]; };
+  thickmatch = derive2 { name="thickmatch"; version="0.3.0"; sha256="0j5wajrc0ngmal01hnfw6vbqvmnqfrgii68ws8ypig934h2kv05g"; depends=[DiPs liqueueR mvnfast plyr rcbalance]; };
   thief = derive2 { name="thief"; version="0.3"; sha256="12ymkkisg5p0g1gmvlczhp4dc7mirjg55fqqmz2d90673vlg6rfq"; depends=[forecast ggplot2 hts]; };
   thinkr = derive2 { name="thinkr"; version="0.13"; sha256="1j43mjznriq8d5ki50rb41vgmzj2gq8sahvhj11742ggxd0bzvdb"; depends=[assertthat devtools dplyr ggplot2 lazyeval lubridate magrittr officer rvg stringi stringr tidyr]; };
   thor = derive2 { name="thor"; version="1.1.0"; sha256="0ard98z5kb9r6k4qvnbqq4mx4x6ydhd4b6ppzrp19yilvdb8wgjp"; depends=[R6 storr]; };
-  threeBrain = derive2 { name="threeBrain"; version="0.1.2"; sha256="0gyqkvn9fgxwl0y3vachwbppxjlrqjsczcszima14hh2j7g689ns"; depends=[base64enc crayon future htmltools htmlwidgets jsonlite R6 rlang shiny stringr]; };
+  threeBrain = derive2 { name="threeBrain"; version="0.1.4"; sha256="1lp1wy7c9927156nvchah7rhdgblfg8vx178k106nhaa1a56in04"; depends=[base64enc crayon gifti htmltools htmlwidgets jsonlite oro_nifti R6 reticulate shiny startup stringr]; };
   threeboost = derive2 { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
   threejs = derive2 { name="threejs"; version="0.3.1"; sha256="1s3rdlzy7man6177ycayg6xsh6k8y1r9rdj9yzn3b93j2rs0nxbi"; depends=[base64enc crosstalk htmlwidgets igraph]; };
   threewords = derive2 { name="threewords"; version="0.1.0"; sha256="083y5i4qyl1wj017wy5ywl2yx9wvrpjl9g9k9clvnrbwzbycx2cg"; depends=[httr]; };
@@ -13868,42 +14424,52 @@ in with self; {
   threshr = derive2 { name="threshr"; version="1.0.1"; sha256="1v9aba5w1lrjy2ngx9kc2ih8sd4dhq45j8y6vn4mbs3y8f5dvhr0"; depends=[revdbayes rust]; };
   thriftr = derive2 { name="thriftr"; version="1.1.5"; sha256="1s8fn0imja6gh5bb0h2g1pmvkwk5v0dmpml9yvcd5dhz9lxy6vdj"; depends=[R6 rly stringi]; };
   thsls = derive2 { name="thsls"; version="0.1"; sha256="18z7apskydkg7iqrs2hgnzby578qsvyd73wx8v4z3aa338lssdi7"; depends=[Formula]; };
+  thurstonianIRT = derive2 { name="thurstonianIRT"; version="0.9.0"; sha256="0jjrdx5f581h8vh0fw4p85mlqfym467azp7cln48wzi1s28m9mn2"; depends=[BH dplyr lavaan magrittr MplusAutomation mvtnorm Rcpp RcppEigen rlang rstan rstantools StanHeaders tibble tidyr]; };
   tibble = derive2 { name="tibble"; version="2.1.3"; sha256="06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s"; depends=[cli crayon fansi pillar pkgconfig rlang]; };
-  tibbletime = derive2 { name="tibbletime"; version="0.1.2"; sha256="0hv929zcfwhg1by2jkdjh2h42dqis4291ph7k0zlrywmpm4zn6n8"; depends=[assertthat dplyr glue hms lubridate purrr Rcpp rlang tibble zoo]; };
+  tibbleOne = derive2 { name="tibbleOne"; version="0.1.0"; sha256="01v3jqxps0d27hg50d38zzh8lypr5735xsdggpc6zmqd39cbnjsp"; depends=[dplyr flextable forcats glue kableExtra knitr labelled lifecycle magrittr officer purrr rlang stringr tibble tidyr tidyselect vctrs]; };
+  tibbletime = derive2 { name="tibbletime"; version="0.1.3"; sha256="0p42g73cmw460v372317as50ijvsg49avg9cf222ypf1v0ls3ig1"; depends=[assertthat dplyr glue hms lifecycle lubridate purrr Rcpp rlang tibble tidyselect vctrs zoo]; };
   tibbrConnector = derive2 { name="tibbrConnector"; version="1.5.1"; sha256="1r58myi7x4hqqvyrphxy4ppa1lnad6x2ginfq2j52ax53zr07ajp"; depends=[RCurl rjson]; };
   tictactoe = derive2 { name="tictactoe"; version="0.2.2"; sha256="1fx8plj5zr04xwk5hfj3zqhcknidxlzya2q14cf0m3y33a86lx42"; depends=[hash]; };
   tictoc = derive2 { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
-  tidyLPA = derive2 { name="tidyLPA"; version="1.0.3"; sha256="0vx2zzajisf2hcwbd1r6b0qmp330pp5x1w4sikm5zdbxrq0ws7y3"; depends=[dplyr ggplot2 mclust mix MplusAutomation tibble]; };
+  tidyLPA = derive2 { name="tidyLPA"; version="1.0.4"; sha256="154jikhm1dnriwdib5ncmkjixlihs3b74ilpi225h8ijq84n31ai"; depends=[dplyr ggplot2 mclust mix MplusAutomation tibble]; };
   tidyRSS = derive2 { name="tidyRSS"; version="1.2.11"; sha256="0ikizs24frvv888zxris6j41lfcvy7hrp5z3h3mk5vxdlqi3rag7"; depends=[dplyr httr jsonlite lubridate magrittr purrr sf stringr testthat tibble xml2]; };
+  tidyUSDA = derive2 { name="tidyUSDA"; version="0.2.4"; sha256="0mlvjrhrbnvck7d1ml48yzaq4gks5m5r9cdnz8kqvaffwjwbyr2q"; depends=[crayon curl dplyr fuzzyjoin ggplot2 jsonlite keyring magrittr nlme rgdal sf stringi tigris usethis]; };
   tidybayes = derive2 { name="tidybayes"; version="1.1.0"; sha256="1mq6gqr66pqrwdmnk3fmfi508ds086k7jnlazi5mczn4r6pdyzd7"; depends=[arrayhelpers coda dplyr forcats ggplot2 ggstance HDInterval magrittr plyr purrr rlang tibble tidyr tidyselect]; };
   tidyboot = derive2 { name="tidyboot"; version="0.1.1"; sha256="0nss1ci763g9p5f33g163ppamx72axc8xhrils0cql3ka8439pmn"; depends=[dplyr modelr purrr rlang tidyr]; };
+  tidycells = derive2 { name="tidycells"; version="0.2.1"; sha256="161g06ga4wk1sn2qp9ljjq9mrjmvwl2dcs1nc352alk6p7bjbj8p"; depends=[dplyr ggplot2 magrittr purrr rlang stringr tibble tidyr unpivotr]; };
   tidycensus = derive2 { name="tidycensus"; version="0.9.2"; sha256="0dlm5f24rw7zyf5wx1v1rsx1zkkff1c4zqgbysm9xzya059m4m14"; depends=[dplyr httr jsonlite purrr rappdirs readr rvest sf stringr tidyr tigris units xml2]; };
   tidycode = derive2 { name="tidycode"; version="0.1.0"; sha256="16chz6bbj28aa039s57j48qa5fhj9hlj8ijsqmbfp5ib8bnijgc4"; depends=[glue matahari pryr purrr rlang tibble]; };
-  tidygenomics = derive2 { name="tidygenomics"; version="0.1.1"; sha256="186c9hr6ysy3ibm0d2fsyjbzvjlxaxmlqwnwbygnjjp95643wnbx"; depends=[dplyr fuzzyjoin IRanges purrr Rcpp rlang tidyr]; };
+  tidycomm = derive2 { name="tidycomm"; version="0.1.0"; sha256="0xas6nr7fy612r0b5h8ncvirxhzy099zvhdzxbnskm3sa21046ni"; depends=[broom dplyr forcats glue magrittr MBESS purrr rlang stringr tibble tidyr]; };
+  tidycwl = derive2 { name="tidycwl"; version="1.0.3"; sha256="0m92g6ykglpdygb41jacixanzwrn60lk8az0ygs6diffikyv8sk3"; depends=[dplyr htmlwidgets jsonlite magrittr visNetwork webshot yaml]; };
+  tidydice = derive2 { name="tidydice"; version="0.0.4"; sha256="01ahmyk7jpsp03kffazy2b73i5z6466jh7y66flpqk5jyszghyr2"; depends=[assertthat dplyr ggplot2 magrittr purrr tibble]; };
+  tidygenomics = derive2 { name="tidygenomics"; version="0.1.2"; sha256="1cnwmmmzp9kg4k7iy2kgb22bdllpnz257pv1ahy3l11zy6bl48fc"; depends=[dplyr fuzzyjoin IRanges purrr Rcpp rlang tidyr]; };
+  tidygeocoder = derive2 { name="tidygeocoder"; version="0.2.4"; sha256="0r37s3hfyqz4zqs7cwp72dhc6f1y7zfc22v9b0705bdbqnfllahn"; depends=[dplyr httr jsonlite purrr rlang stringr tibble tidyr tmaptools]; };
   tidygraph = derive2 { name="tidygraph"; version="1.1.2"; sha256="1zpsarm74afbc7p5dlyb0whc09670qdcddw1ckb25cfc9hfh0hjn"; depends=[dplyr igraph magrittr pillar R6 Rcpp rlang tibble tidyr]; };
-  tidyhydat = derive2 { name="tidyhydat"; version="0.4.0"; sha256="0k239xixq6x9xb51ipmxn7ph72ibqa9s9sp79gkabgawc0lij6q0"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr rlang RSQLite tidyr]; };
+  tidyhydat = derive2 { name="tidyhydat"; version="0.5.0"; sha256="0bf8rnk0yhdjjs79d4s833z9j165cwvg3xdmqg3kc5yzc31m4hsg"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr rlang RSQLite tidyr]; };
   tidyimpute = derive2 { name="tidyimpute"; version="0.1.0"; sha256="03b475nn206hxq3i0n7j1qws82rwwk5vqivmdg5mff44dvz4gl5s"; depends=[dplyr na_tools rlang]; };
-  tidylog = derive2 { name="tidylog"; version="0.1.0"; sha256="0mwd9crb0a0c8gpchsdjcap56fc602h1x7bk5f0rvvmw41xz06kn"; depends=[dplyr glue]; };
+  tidyjson = derive2 { name="tidyjson"; version="0.2.4"; sha256="1nbg7wg8r38ydvcp3kbxmmnayxrdkl3p7x0fjxny3bj9a0fp99y7"; depends=[assertthat dplyr jsonlite magrittr purrr tibble tidyr]; };
+  tidylog = derive2 { name="tidylog"; version="0.2.0"; sha256="04l9bjfjnc706ya19swywr489wldkr7n9cm6kkyws56kqb571zxv"; depends=[clisymbols dplyr glue tidyr]; };
   tidymargins = derive2 { name="tidymargins"; version="0.1.0"; sha256="1r782h6a5fhk9yb9ixjbpq3a9g56j3xz1871fsndkfigbzz39w51"; depends=[assertthat dplyr forcats magrittr pkgcond purrr rlang tidyr tidyselect]; };
-  tidymodels = derive2 { name="tidymodels"; version="0.0.2"; sha256="1hidjrayqxz1g7bn20pqs1bwyx4cxxqx9dq5lwqyfsij0ir0lia9"; depends=[broom cli crayon dials dplyr ggplot2 infer magrittr parsnip pillar purrr recipes rlang rsample rstudioapi tibble tidyposterior tidypredict tidytext yardstick]; };
+  tidymodels = derive2 { name="tidymodels"; version="0.0.3"; sha256="07l33slvh38lpycz2v4slwz06v33ni9jqr5wv672gzcgirw5xy7p"; depends=[broom cli crayon dials dplyr ggplot2 infer magrittr parsnip pillar purrr recipes rlang rsample rstudioapi tibble tidyposterior tidypredict tidytext yardstick]; };
   tidymv = derive2 { name="tidymv"; version="2.2.0"; sha256="0g550b0frgk4wy3sicsqqinffrlbqzghhcnvh3snci6xd7j37hmm"; depends=[dplyr ggplot2 itsadug magrittr mgcv rlang tibble tidyr]; };
-  tidync = derive2 { name="tidync"; version="0.2.1"; sha256="1w6ciyk4024aad6japfar1pq4q9bygcgl5avzg2l8c7mcqd58rvl"; depends=[dplyr forcats magrittr ncdf4 ncmeta purrr rlang RNetCDF tibble tidyr]; };
+  tidync = derive2 { name="tidync"; version="0.2.3"; sha256="1wjw3fmyj8f95f94zai58h8b6h0vqqlrw4c629jjgg8ayy7aay9p"; depends=[dplyr forcats magrittr ncdf4 ncmeta purrr rlang RNetCDF tibble tidyr]; };
   tidypmc = derive2 { name="tidypmc"; version="1.7"; sha256="1fijlvdiw4vwm34wizm4xlm0x10vvpkldzk7rrla44apq7y2w3yq"; depends=[dplyr readr stringr tibble tokenizers xml2]; };
   tidyposterior = derive2 { name="tidyposterior"; version="0.0.2"; sha256="1sdbar3ycnjqyjy664zyhr9xks48l6g6mw8p5scp31x3gdh352rs"; depends=[dplyr generics ggplot2 purrr rlang rsample rstanarm tibble tidyr]; };
-  tidypredict = derive2 { name="tidypredict"; version="0.4.2"; sha256="16lrn7gj9vrshhk3kfk57m7pllicmy7f98fm05y12ir5a8mbz9d1"; depends=[dplyr generics knitr purrr rlang tibble]; };
-  tidyquant = derive2 { name="tidyquant"; version="0.5.6"; sha256="0mnhn00fw3xl2k11m4c1ngfh0p6fz2am0dv1pv8hnfp1mp31bxrv"; depends=[dplyr ggplot2 httr lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod rlang stringr tibble tidyr tidyverse timetk TTR xml2 xts]; };
+  tidypredict = derive2 { name="tidypredict"; version="0.4.3"; sha256="1mn14rd33irgcfrhm9d3zd71jdwdjay5z5xsmas8d9zmf05g0bcr"; depends=[dplyr generics knitr purrr rlang tibble]; };
+  tidyquant = derive2 { name="tidyquant"; version="0.5.8"; sha256="1wg2r2197j846kapra58z51r6xgp38g0m6rb3dvmz5awlkb9mdz8"; depends=[cli crayon dplyr ggplot2 httr lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod rlang rstudioapi stringr tibble tidyr timetk TTR xml2 xts]; };
+  tidyquery = derive2 { name="tidyquery"; version="0.1.0"; sha256="0jbkzm2vlzjfwn1849skkinywh7xa0n772qyrdhya7cg53xqp5vd"; depends=[dplyr lubridate queryparser stringr]; };
   tidyqwi = derive2 { name="tidyqwi"; version="0.1.1"; sha256="0qrwclaz6cf2wg3rkg2nqjygflj0a1mx4cfbv5lx4r194km2dmr9"; depends=[dplyr furrr future httr jsonlite labelled magrittr purrr stringr tidyr xml2]; };
-  tidyr = derive2 { name="tidyr"; version="0.8.3"; sha256="0dyc4b03wi65bk7j0ma0y188syh37h57wgxji82i0h8j6pn593x1"; depends=[dplyr glue magrittr purrr Rcpp rlang stringi tibble tidyselect]; };
+  tidyr = derive2 { name="tidyr"; version="1.0.0"; sha256="1403j0xd93l0r7qj738ryd5zc79hbcghrzybib3c3hrnaq5s78cj"; depends=[dplyr ellipsis glue lifecycle magrittr purrr Rcpp rlang stringi tibble tidyselect vctrs]; };
   tidyrules = derive2 { name="tidyrules"; version="0.1.0"; sha256="1pwbgk48rrxcxwjnqfjg4718fw059h4qh3vfni8psgd5snfbsjql"; depends=[assertthat magrittr partykit purrr stringr tibble]; };
   tidyselect = derive2 { name="tidyselect"; version="0.2.5"; sha256="0x3cp36byhfjajikr1lwffjm85ayw3bcs7d7kb0cydgs61ifiqjw"; depends=[glue purrr Rcpp rlang]; };
-  tidystats = derive2 { name="tidystats"; version="0.3"; sha256="11bl4m14n29fcy9g3b0sx10fx2kl6949fczzdzw2cllqn2krfx45"; depends=[dplyr kableExtra knitr magrittr miniUI purrr readr rlang shiny stringr tibble tidyr]; };
+  tidystats = derive2 { name="tidystats"; version="0.4"; sha256="1jxn8la5s3mdh9kbkbvlc5icwa7ymingaxrl0q49ykifrsnbpd4a"; depends=[dplyr jsonlite purrr readr stringr tibble tidyr]; };
   tidystopwords = derive2 { name="tidystopwords"; version="0.9.0"; sha256="1zw6rz8fs8mynaqhrxidrar8vyiq73i8hl4h2lrfz83rxrihbq39"; depends=[dplyr stringr]; };
   tidystringdist = derive2 { name="tidystringdist"; version="0.1.4"; sha256="1srxh5gyspcghzvnmpyq36ky608ipf71vv0s1jg01mgf2i5pdkf4"; depends=[attempt rlang stringdist tibble]; };
   tidytext = derive2 { name="tidytext"; version="0.2.2"; sha256="1h1fpy86fha3jidb1xz0n3mfn7110mmf3dz9hpyfczqpyd62k3qq"; depends=[dplyr generics hunspell janeaustenr Matrix purrr rlang stopwords stringr tokenizers]; };
   tidytidbits = derive2 { name="tidytidbits"; version="0.2.1"; sha256="1hyqk8p4w1mjk9f497f2lh8hlic6fs37jnawqpfmrl39ylx4z6r7"; depends=[dplyr extrafont forcats magrittr purrr rlang stringr tibble tidyr tidyselect]; };
-  tidytransit = derive2 { name="tidytransit"; version="0.5.1"; sha256="1vbcaqjr020qxgx4fpca2hhgjcq2j86rzyhxmsizjj68fr9963p9"; depends=[assertthat data_table digest dplyr here hms htmltools httr lubridate magrittr readr rlang scales sf stringr tibble tidyr zip]; };
-  tidytree = derive2 { name="tidytree"; version="0.2.5"; sha256="0vfjv33352dmk9cr2qn0knzg761068rdk6jg32csd9vpmcma8awp"; depends=[ape dplyr lazyeval magrittr rlang tibble]; };
-  tidyverse = derive2 { name="tidyverse"; version="1.2.1"; sha256="0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd"; depends=[broom cli crayon dbplyr dplyr forcats ggplot2 haven hms httr jsonlite lubridate magrittr modelr purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
+  tidytransit = derive2 { name="tidytransit"; version="0.6.1"; sha256="0gm33d73k5rygdk6waaqlknkm65gg5xc6w85m3qhllch2akphh1j"; depends=[assertthat data_table digest dplyr hms httr lubridate magrittr readr rlang sf tibble tidyr zip]; };
+  tidytree = derive2 { name="tidytree"; version="0.3.0"; sha256="1sbfwcxf9v1lhpa0392b49b6qfjrq7nlqz2djqzk5aknj9j64zvy"; depends=[ape dplyr lazyeval magrittr rlang tibble]; };
+  tidyverse = derive2 { name="tidyverse"; version="1.3.0"; sha256="02gyys08qv2v4cl2d66gml4d31ipxay0iyfwwksvxyclx60wp2kd"; depends=[broom cli crayon dbplyr dplyr forcats ggplot2 haven hms httr jsonlite lubridate magrittr modelr pillar purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
   tidyxl = derive2 { name="tidyxl"; version="1.0.4"; sha256="19kcm9lfbkf61z0whfkn69b8m36qd1rvyhyk5y0cqbzkxvq8f70i"; depends=[piton Rcpp]; };
   tiff = derive2 { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
   tiger = derive2 { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin klaR lattice qualV som]; };
@@ -13913,9 +14479,9 @@ in with self; {
   tightClust = derive2 { name="tightClust"; version="1.1"; sha256="0vqkp2g6z8y3b6dhzglmacjhf2qi1sg80kb941mwfafin2k40zbm"; depends=[]; };
   tigreBrowserWriter = derive2 { name="tigreBrowserWriter"; version="0.1.5"; sha256="0izgx1khci6qc6pz85dxj75kzxvpr30l0vhcv9476jrcbwqs4k8m"; depends=[DBI RSQLite]; };
   tigris = derive2 { name="tigris"; version="0.8.2"; sha256="03hlwykm14j8il53yslii8npfr42plj87maq120crhijafr6m3gd"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
-  tikzDevice = derive2 { name="tikzDevice"; version="0.12"; sha256="0srp7q91714sday4n2nbhnkwjy84q6kw7iihlskr7ckjdcqk7s3v"; depends=[filehash png]; };
+  tikzDevice = derive2 { name="tikzDevice"; version="0.12.3"; sha256="1d8cxb3srmfv54c61c25myiknkm43ysl69lqjknhaj682x0nyz2r"; depends=[filehash png]; };
   tilegramsR = derive2 { name="tilegramsR"; version="0.2.0"; sha256="11cnyvlghg8z7lr9ahzsjpyjrqnxqs77wdcydqvavrsqj745xvi2"; depends=[sf sp]; };
-  tiler = derive2 { name="tiler"; version="0.2.1"; sha256="19w772wwv764i2b8i9ym6scf18kyci3albz27hw3mdhjy7i0acm3"; depends=[png raster rgdal sp]; };
+  tiler = derive2 { name="tiler"; version="0.2.4"; sha256="1j1952vp0gnx0pnhqydipj4qw3cm05im502jc77wb2r1vklwimgb"; depends=[png raster rgdal sp]; };
   tilting = derive2 { name="tilting"; version="1.1.1"; sha256="0srvxjv3sg35n7f8pam45ny1z1dxwqjkrz9d91hf67a3fi34f5gk"; depends=[mvtnorm]; };
   time2event = derive2 { name="time2event"; version="0.1.0"; sha256="1xkvarw53lcn07wqq7ly5znr6vjq7x72xb0piq5igdmwqmg2y26g"; depends=[survival timereg]; };
   timeDate = derive2 { name="timeDate"; version="3043.102"; sha256="0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p"; depends=[]; };
@@ -13929,10 +14495,11 @@ in with self; {
   timelineR = derive2 { name="timelineR"; version="0.1.0"; sha256="1a2pdy5b9nca66khydrb50yzjglr78lxrgzisw6bp2simk5cix51"; depends=[dplyr futile_logger ggplot2 gtable lubridate mtconnectR stringr]; };
   timelineS = derive2 { name="timelineS"; version="0.1.1"; sha256="076w8ckzzl59bc1gnwjgdwynnz86320hyfmzb0k26hl3k13jlmxs"; depends=[dplyr ggplot2 lubridate magrittr]; };
   timeordered = derive2 { name="timeordered"; version="0.9.9"; sha256="0rfga5i6kckmlz2dzqb1pp634dl93wxp7v3kisxlbjl7mgnbck3k"; depends=[igraph plyr]; };
+  timeperiodsR = derive2 { name="timeperiodsR"; version="0.2.0"; sha256="04m4dgz8xxvrpqhiz7rnf8in2cdbms9xj740p969zgybp1vlww7x"; depends=[lubridate]; };
   timereg = derive2 { name="timereg"; version="1.9.4"; sha256="0jxm3h2sjc83klxdry5r1wgliadk6967cmiifycfpz282vpfxx7v"; depends=[lava numDeriv survival]; };
   timesboot = derive2 { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
   timeseriesdb = derive2 { name="timeseriesdb"; version="0.4.1"; sha256="1ghb3lg63fs9zx34l5qczv39mdccnmqzlc74l1zhb8qmsg8sm1g2"; depends=[data_table DBI jsonlite openxlsx RPostgreSQL shiny xtable xts zoo]; };
-  timetk = derive2 { name="timetk"; version="0.1.1.1"; sha256="0ca6xnsidc98yjb52gbafvfgxzdgszj8l9hvc77mwgc33g0ydvs1"; depends=[devtools dplyr forecast lazyeval lubridate padr purrr readr stringi tibble tidyr xts zoo]; };
+  timetk = derive2 { name="timetk"; version="0.1.2"; sha256="0dp7pjydqcdi2nn4q73nqr4i4d9n4md9vb5y3znrlf1m8m9m4k4a"; depends=[dplyr lazyeval lubridate padr purrr readr stringi tibble tidyr xts zoo]; };
   timetools = derive2 { name="timetools"; version="1.14"; sha256="13jchgd9fc8hxj74wm1kg4rwcng4yxblkq04i33djsqghgb5f9mj"; depends=[]; };
   timetree = derive2 { name="timetree"; version="1.0"; sha256="1fpdp6mkwm67svqvkfflvqxn52y2041zl09rxrms28ybbd5f84c0"; depends=[phangorn XML]; };
   timevis = derive2 { name="timevis"; version="0.5"; sha256="1psmnl6pkbizi2kjpaz9w32z2dkxlh4r229mfxsfqnjvf9sc34kj"; depends=[htmltools htmlwidgets jsonlite lubridate magrittr rmarkdown shiny]; };
@@ -13942,8 +14509,8 @@ in with self; {
   tint = derive2 { name="tint"; version="0.1.2"; sha256="0afqlyi6d72x30pzzvmznz1l5pq4n30qiqa9ncbf0wjvqji7a182"; depends=[htmltools knitr rmarkdown]; };
   tinter = derive2 { name="tinter"; version="0.0.1"; sha256="1zw5a79mryqighf8b6gidsi30001749sllpwqwbck26cyal6m8y6"; depends=[checkr]; };
   tinyProject = derive2 { name="tinyProject"; version="0.6.1"; sha256="0cflnfp5mib3j1y3n5yvi867h5a7z6xr6163gq9y9b6nrl2skxfk"; depends=[brew R_utils]; };
-  tinytest = derive2 { name="tinytest"; version="0.9.6"; sha256="0bz37dk875s66niaq301v4gh4b8xxmn776shm5s9lp34kfzqyvfg"; depends=[]; };
-  tinytex = derive2 { name="tinytex"; version="0.14"; sha256="0aab7ybc6kkxxk3lzdmbla8zcpp6nmlahchc33miv28cmnqw363w"; depends=[xfun]; };
+  tinytest = derive2 { name="tinytest"; version="1.1.0"; sha256="1y3f0x56xagf9m5wr2b26qahww13p8i2s66yr51xy9pqxdyjh2yl"; depends=[]; };
+  tinytex = derive2 { name="tinytex"; version="0.17"; sha256="0mgxrbj4gam2gvxfk26nq820vsfjggj81m2l7j9m8vp361k15r0w"; depends=[xfun]; };
   tiobeindexr = derive2 { name="tiobeindexr"; version="0.1.1"; sha256="09vw83hkf7lgd3xyhbmqkyv57g3dz856230xkf8630jiicfvcg3b"; depends=[rvest xml2]; };
   tipom = derive2 { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
   tippy = derive2 { name="tippy"; version="0.0.1"; sha256="0kkyi4s4ffpyjyfl89cd5y788ab1p253rx179k422y3y1z6w1md7"; depends=[htmltools htmlwidgets jsonlite shiny]; };
@@ -13953,28 +14520,29 @@ in with self; {
   titanic = derive2 { name="titanic"; version="0.1.0"; sha256="0mdmh0ciwfig00847bmvp50cyvj8pra6q4i4vdg7md19z5rjlx3j"; depends=[]; };
   titeIR = derive2 { name="titeIR"; version="0.1.0"; sha256="047vidn3zydbjijwgz6qm2d9j2ny8ng2sv5jzm8zb300y7k2426c"; depends=[Iso]; };
   titrationCurves = derive2 { name="titrationCurves"; version="0.1.0"; sha256="0z127sihd262mdik46sq9vcf05s7jsqmkpm3p4d779viw74bl768"; depends=[]; };
-  tkRplotR = derive2 { name="tkRplotR"; version="0.1.1"; sha256="0fr30c2xjgpjh0pkqv0m7g413wkzzffbak7ak26k7bsi2ls341qa"; depends=[]; };
+  tkRplotR = derive2 { name="tkRplotR"; version="0.1.2"; sha256="146jqjnbxqsph804ysd2jrcmm5qvqa7yi4f41sq0myjlkqvd6ndk"; depends=[]; };
   tkrgl = derive2 { name="tkrgl"; version="0.8"; sha256="1c5jiahqpf3nfybkzmks785dlkchjdisvknxkb0biv3xj9nzgz14"; depends=[rgl]; };
   tkrplot = derive2 { name="tkrplot"; version="0.0-24"; sha256="04gk48vm8ilj1n3b3ir66pcfv504ra4rlgc0ll4ixbnp6w566wr8"; depends=[]; };
   tlemix = derive2 { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
   tlm = derive2 { name="tlm"; version="0.1.5"; sha256="1iw08pa70nb25fnv64834s5c8vl456a2rcng7x6v9vs5q37610g6"; depends=[boot]; };
   tlmec = derive2 { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
+  tlrmvnmvt = derive2 { name="tlrmvnmvt"; version="1.0.0"; sha256="0qfpmh8kbakx7am64pvlcfw5w33p72c15gj53chmyc119l4vv1lg"; depends=[BH Rcpp RcppEigen]; };
   tls = derive2 { name="tls"; version="0.1.0"; sha256="183b5m70s2whlgp9s1gb4xnylhlp4hnh3lw6b8f2vx4kahaid763"; depends=[]; };
   tm = derive2 { name="tm"; version="0.7-6"; sha256="0spv43kjbpxq3rdxx8ysgrncjyc35ydiwk7gp8n4sig45iqyz59r"; depends=[BH NLP Rcpp slam xml2]; };
   tm_plugin_alceste = derive2 { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
   tm_plugin_dc = derive2 { name="tm.plugin.dc"; version="0.2-8"; sha256="0z843i2wlmx75748p95jz3j45d9bzmlmqa3awgya24k7bdhpd6kd"; depends=[DSL NLP slam tm]; };
   tm_plugin_europresse = derive2 { name="tm.plugin.europresse"; version="1.4"; sha256="03qi9rkfwgjvir4cjpi9imc8zaldvan42v9lqfr5d6zhr0ajy6wx"; depends=[NLP tm XML]; };
-  tm_plugin_factiva = derive2 { name="tm.plugin.factiva"; version="1.7"; sha256="1zcddarjd083p3sly49wvsnbn6bmpx5wd1bqm3acgydxk8y84nif"; depends=[NLP rvest tm xml2]; };
-  tm_plugin_lexisnexis = derive2 { name="tm.plugin.lexisnexis"; version="1.4.0"; sha256="0q4njhfpwqym9d8xfbb577vn6g9ks4nkpb4bh6j31nzg7yp96av7"; depends=[ISOcodes NLP tm xml2]; };
+  tm_plugin_factiva = derive2 { name="tm.plugin.factiva"; version="1.8"; sha256="1gdkflz2g1vmqzv4p65w6zfynnx0fls7xyvhzg4li4kjg2xf6l75"; depends=[NLP rvest tm xml2]; };
+  tm_plugin_lexisnexis = derive2 { name="tm.plugin.lexisnexis"; version="1.4.1"; sha256="0c094z83mcq8blc8w7kvy91d28qqcx6f6193p3frpviznlaq21xk"; depends=[ISOcodes NLP tm xml2]; };
   tm_plugin_mail = derive2 { name="tm.plugin.mail"; version="0.2-1"; sha256="0rn8jqv622qmc0zkz534ka5qnbca2rlabxm3vjbqplr6fh1ahwb1"; depends=[NLP tm]; };
   tm_plugin_webmining = derive2 { name="tm.plugin.webmining"; version="1.3"; sha256="1694jidf01ilyk286q43bjchh1gg2fk33a2cwsf5jxv7jky3gl7h"; depends=[boilerpipeR NLP RCurl RJSONIO tm XML]; };
-  tm1r = derive2 { name="tm1r"; version="1.1.2"; sha256="0ssxp1qfc4fa98l8qy2wnsfqg0hhmq0qs7rhsjp4jgrw1wdff4jk"; depends=[httr jsonlite]; };
-  tmap = derive2 { name="tmap"; version="2.3"; sha256="1vkh2dkyp96d0wpvwkflmhjsi8vhycdchxd0imixpqi4hg5037v2"; depends=[classInt htmltools htmlwidgets leaflet leafsync raster RColorBrewer sf tmaptools units viridisLite]; };
+  tm1r = derive2 { name="tm1r"; version="1.1.3"; sha256="1r1va052aaya70pvvn950833w0q0sbd67yyg3m2qdikgniq3dn6z"; depends=[httr jsonlite]; };
+  tmap = derive2 { name="tmap"; version="2.3-1"; sha256="1d4n5mn7hdyjmmxsprjn9hih0bkg9hsc6vh6rxlgjrjcpv3xcn2s"; depends=[classInt htmltools htmlwidgets leaflet leafsync lwgeom raster RColorBrewer sf tmaptools units viridisLite]; };
   tmaptools = derive2 { name="tmaptools"; version="2.0-2"; sha256="1n8m4c3q7i60p8r2xfhw8rfqmflyaicf8y1bkfkmx74afz6hv184"; depends=[classInt dichromat KernSmooth lwgeom magrittr raster RColorBrewer rgdal rgeos sf sp units viridisLite XML]; };
   tmbstan = derive2 { name="tmbstan"; version="1.0.2"; sha256="1g4b415k36wij028xz15kwpv8hmx92kznsp231bnrprzw2vrninr"; depends=[BH Rcpp RcppEigen rstan StanHeaders TMB]; };
-  tmcn = derive2 { name="tmcn"; version="0.2-12"; sha256="1gqmq3f0plgd44056905l5jd7x9k4ls06hcp006w8skxj1rnwzb9"; depends=[]; };
+  tmcn = derive2 { name="tmcn"; version="0.2-13"; sha256="0rf8mz6kdm83pm85kzfyzb8kd3iwaxv5bgphjpxlnq6z32m9yds7"; depends=[]; };
   tmg = derive2 { name="tmg"; version="0.3"; sha256="0yqavibinzsdh85izzsx8b3bb9l36vzkp5a3bdwdbh410s62j68a"; depends=[Rcpp RcppEigen]; };
-  tmle = derive2 { name="tmle"; version="1.3.0-2"; sha256="0krcyky19p60mkq29dvmcfc5jrv38wy0jv8xqqq5glh6yjyyslaj"; depends=[SuperLearner]; };
+  tmle = derive2 { name="tmle"; version="1.4.0.1"; sha256="009mndjjbbq8g02a053gdisxnxj4p06ysnmkbrw04vj9w1zpnph7"; depends=[glmnet SuperLearner]; };
   tmle_npvi = derive2 { name="tmle.npvi"; version="0.10.0"; sha256="00jav1ql3lv18wh9msxnjvz36z2ds44fdi6lrp1pfphh1in4vdcl"; depends=[geometry MASS Matrix R_methodsS3 R_oo R_utils]; };
   tmod = derive2 { name="tmod"; version="0.40"; sha256="157m5jjkfd7g9aih5zylxzwkkdryj9l6yapgwjqydvwj6ab6k67l"; depends=[beeswarm plotwidgets tagcloud XML]; };
   tmpm = derive2 { name="tmpm"; version="1.0.3"; sha256="1fqk39zyc07gh0ygi7pfljlnj6ih37jsb7bcxm05zcd4796wil8j"; depends=[reshape2]; };
@@ -13987,13 +14555,14 @@ in with self; {
   toOrdinal = derive2 { name="toOrdinal"; version="1.1-0.0"; sha256="0zg4zk7jx8s57g8nb0jw7r7gss00349jmkglf6sz26p7jldpgmff"; depends=[crayon testthat]; };
   todor = derive2 { name="todor"; version="0.0.5"; sha256="1zv6bky5v14csq3pmyy7qzmy680pg3qrj1zghqixsf54aqm7h96q"; depends=[rex rstudioapi stringr]; };
   togglr = derive2 { name="togglr"; version="0.1.33"; sha256="105c9vxa67bqccj31ksk5myfd0v7v0wbz6qqjhxqndlg7v6ggfzc"; depends=[assertthat dplyr getPass glue httr jsonlite keyring lubridate magrittr parsedate prettyunits purrr rstudioapi]; };
-  tokenbrowser = derive2 { name="tokenbrowser"; version="0.1.0"; sha256="1kbw5bsghhpxd1742wgq2pw2y52s2vhbk0w8qiw6qagvx2dq5z52"; depends=[Rcpp stringi]; };
+  tokenbrowser = derive2 { name="tokenbrowser"; version="0.1.1"; sha256="0sslli1m4lrg8bf5rzjndvf9hsw3c6mqwj8cp27mgn8ibxckrjd2"; depends=[Rcpp stringi]; };
   tokenizers = derive2 { name="tokenizers"; version="0.2.1"; sha256="006xf1vdrmp9skhpss9ldhmk4cwqk512cjp1pxm2gxfybpf7qq98"; depends=[Rcpp SnowballC stringi]; };
   tokenizers_bpe = derive2 { name="tokenizers.bpe"; version="0.1.0"; sha256="1pwgjrzdcsafpv9rlyly6fckcjiymz0xcjm9byavj069kc4c69mi"; depends=[Rcpp]; };
   tolBasis = derive2 { name="tolBasis"; version="1.0"; sha256="0g4jdwklx92dffrz38kpm1sjzmvhdqzv6mj6hslsjii6sawiyibh"; depends=[lubridate polynom]; };
   tolerance = derive2 { name="tolerance"; version="1.3.0"; sha256="17qh4ad1f3fbcpwlxxqh8qr9bnwjcl4yxk0l3fkbr6b2l4rc5p86"; depends=[rgl]; };
   toolmaRk = derive2 { name="toolmaRk"; version="0.0.1"; sha256="0pdr8lq4c11ia03v68lbfq38p3qp770mbj0nsbjsgbqi0pv9i1vx"; depends=[dplyr ggplot2 plyr reshape2]; };
   tools4uplift = derive2 { name="tools4uplift"; version="0.1-1"; sha256="0difrjqgj8amc49mwh059ca9mr0z1fzy0g43vk43alsyl8lvajc4"; depends=[dplyr glmnet]; };
+  topicdoc = derive2 { name="topicdoc"; version="0.1.0"; sha256="0qliy6y8l09nblch1swlywam2awzwjl5xx0w8c3kiz48jxfysw0j"; depends=[slam topicmodels]; };
   topicmodels = derive2 { name="topicmodels"; version="0.2-8"; sha256="19msp5cz67ff4v1gfd8vhjnnsmwfkxiv08ym4k506j2mhaklipci"; depends=[modeltools slam tm]; };
   topmodel = derive2 { name="topmodel"; version="0.7.3"; sha256="15w9id90d6l0i0ji3ln3sxnpispb6pgabk4waysqn0nh6y4lfdgb"; depends=[]; };
   topoDistance = derive2 { name="topoDistance"; version="1.0.1"; sha256="055z3gvqlb8nyy58ix89w7miav9gj3h43a4wcfc3kagd97xc3222"; depends=[gdistance igraph plotly raster RColorBrewer scales sp]; };
@@ -14002,50 +14571,53 @@ in with self; {
   tor = derive2 { name="tor"; version="1.1.1"; sha256="0vibnjm0q8rn73c5xdbfw5z4pk4ja1m1mx9c6p423pz72znwrcpw"; depends=[fs readr rlang tibble]; };
   tosca = derive2 { name="tosca"; version="0.1-4"; sha256="1c7x89b2vh2xl5bc1xgclmnk2gajqalxmz4ipqlwp9axz91w85gs"; depends=[data_table htmltools lda lubridate quanteda RColorBrewer stringr tm WikipediR]; };
   tosls = derive2 { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
-  totalcensus = derive2 { name="totalcensus"; version="0.6.1"; sha256="1ks49iaay0sz345cm77kv61mxsnin5dsggdjabcc4mnsgwh6k1sb"; depends=[data_table magrittr purrr stringr]; };
-  touch = derive2 { name="touch"; version="0.1-4"; sha256="0xz3mvwhyn7wbqhbfp2klrnf89gvsncrv5y7fmk9ym3nkq7z26cg"; depends=[Rcpp]; };
+  totalcensus = derive2 { name="totalcensus"; version="0.6.2"; sha256="1z0awdzi93r4mmaymdahansss7ccb0y3ym1sqja0jr3dx71zy4jn"; depends=[data_table magrittr purrr stringr]; };
+  touch = derive2 { name="touch"; version="0.1-5"; sha256="0dan4mlvc5lg9v4zj9w6gk3c4cy64kaa984y495xpc1bzmv5c6jd"; depends=[Rcpp]; };
   touchard = derive2 { name="touchard"; version="2.0.1"; sha256="06491r4x3ycmv3ddbqwig334wj9qvm395xlaifx4hjjyyi65xb3q"; depends=[MASS nleqslv numDeriv plotrix]; };
   tourr = derive2 { name="tourr"; version="0.5.6"; sha256="028pbprq1hjfbzvybpdkwi49arsg9r7ayjb52flw33szfqdpcimw"; depends=[MASS]; };
-  tourrGui = derive2 { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[Cairo colorspace gWidgets RGtk2 tourr]; };
-  toxEval = derive2 { name="toxEval"; version="1.0.4"; sha256="1jz2d1wxw1jnyygsp34y3py8mwxjrnvj64smsifac32mvvi6ka5s"; depends=[dplyr DT ggplot2 leaflet magrittr RColorBrewer readxl shiny shinyAce shinycssloaders shinydashboard tidyr]; };
+  toxEval = derive2 { name="toxEval"; version="1.1.0"; sha256="1zdgk91girmlxqq6zz3vzhj9m9q4r5ckn073cd7dpfdxl87444hh"; depends=[dplyr DT ggplot2 leaflet magrittr RColorBrewer readxl shiny shinyAce shinycssloaders shinydashboard tidyr]; };
   toxtestD = derive2 { name="toxtestD"; version="2.0"; sha256="0b7hmpfhwg626r8il12shni0kw94cqnbj49y4vfh8gn98x1s6m48"; depends=[]; };
   tpAUC = derive2 { name="tpAUC"; version="2.1.1"; sha256="0wix9qwcidj7xfqhh7bmrpnadd9qlkvg3515gaamdxkjbz2kyydc"; depends=[pROC]; };
   tpe = derive2 { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
   tpr = derive2 { name="tpr"; version="0.3-1.2"; sha256="0fnvzvis75gfkmxhyx6h3g4ps4rs07abk36r03108qwsmhcfk3y7"; depends=[lgtdl]; };
   tracer = derive2 { name="tracer"; version="1.0.0"; sha256="1jdh4ljcz7d0w2y5miggqkvv397jdx7fn108hbjw93af2gnh698q"; depends=[clisymbols crayon prettycode]; };
-  tracerer = derive2 { name="tracerer"; version="2.0.1"; sha256="0w8si9fgdh28swqba5jvb0zqgpkb33nq9vyq9rga83sfzn2wkik8"; depends=[jsonlite Rcpp testit]; };
+  tracerer = derive2 { name="tracerer"; version="2.0.2"; sha256="0xh95qrd63s04zs69fcrmvwscn153qlpw2xlkzn8h6jwsd92amv9"; depends=[jsonlite Rcpp testit]; };
   tracheideR = derive2 { name="tracheideR"; version="0.1.1"; sha256="1x1jwzgs2aqb3k17mm9mhfhnbwcmilhkjaz9rl40rcg84xjqdrpl"; depends=[tgram]; };
   track = derive2 { name="track"; version="1.1.9"; sha256="1d0hab7xyayyhyyrbv8nvpka1kzry4yx10fg8aqwkca3nm7n2q3c"; depends=[]; };
-  trackdem = derive2 { name="trackdem"; version="0.4.3"; sha256="04gjvm4dxdy7nwaq6f0nbvqb2hbvmava5x6q5kvyy7snsr8mx25f"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo SDMTools shiny]; };
+  trackdem = derive2 { name="trackdem"; version="0.5"; sha256="12p6pg2gvqa55j9sxfvdjc3ah00w0av5cpmi400szkc2lr1gpb9s"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo SDMTools shiny]; };
   trackdf = derive2 { name="trackdf"; version="0.2.1"; sha256="18kiwbrfalj19gjp2v3yhxlmc6liw5scfnwx2svq5f5h3h54a7iz"; depends=[data_table lubridate rgdal sp tibble]; };
   trackeR = derive2 { name="trackeR"; version="1.5.2"; sha256="1f3giz6naxxyicgy9v0391ang43srwhy9zbiv4zmlc8i9v05b57i"; depends=[fda foreach ggmap ggplot2 ggridges gridExtra gtable jsonlite leaflet raster RSQLite scam sp xml2 zoo]; };
   trackeRapp = derive2 { name="trackeRapp"; version="1.0"; sha256="05r012kcf86j45q00y6ynz9srd0by45w41bpx9mf7q4h8m5nm0jn"; depends=[changepoint colorspace DT foreach mapdeck mgcv plotly sf shiny shinydashboard shinyjs shinyWidgets trackeR V8 zoo]; };
   trackr = derive2 { name="trackr"; version="0.10.5"; sha256="0cngwszax3i9p0095kxrz7w4rnryc0lmylckixzrmhx80qkxcaw1"; depends=[CodeDepends fastdigest ggplot2 gridGraphics histry htmltools lattice miniUI RJSONIO rlang rmarkdown roprov rsolr shiny]; };
+  trackter = derive2 { name="trackter"; version="0.1.0"; sha256="19fjxih3pgiz054x7lind5njc6ddxiq6qh9fnh42i5qplfgrlgk8"; depends=[animation data_table dplyr EBImage features ggplot2 jpeg Momocs pastecs plyr raster wesanderson zoo]; };
   tractor_base = derive2 { name="tractor.base"; version="3.3.2"; sha256="0y5gm0y4chl30f5qqq8qiiw4j8g32s4i9xrvyp3cwg902kf2p86i"; depends=[ore reportr RNifti shades]; };
   trade = derive2 { name="trade"; version="0.5.4"; sha256="05skmm2j826wjhmxdvkln50y0mjy74qcl2hay2l1322qqs7phin6"; depends=[antitrust]; };
-  tradestatistics = derive2 { name="tradestatistics"; version="0.2"; sha256="0g2ag7ns1y1b76q6aygkr15dp7zd51fa01nm7q9fd7had07x3sgd"; depends=[crul dplyr jsonlite magrittr purrr rlang stringr]; };
+  tradestatistics = derive2 { name="tradestatistics"; version="0.2.5"; sha256="0y6xyba3lr7mdd8q4ar8x7v8shkknbd0qhkvnz2ad9kfbwbxv7v1"; depends=[crul dplyr jsonlite magrittr purrr rlang stringr]; };
   trafo = derive2 { name="trafo"; version="1.0.1"; sha256="0gq3snjpkw0ncny7pkfi686qkgdhd8id73jxjk3chhqf5mzrrsbc"; depends=[FNN lmtest moments pryr]; };
+  traineR = derive2 { name="traineR"; version="1.0.0"; sha256="0m0k9hxdpx8dzxdy8i0k2rqmibm78fkw8fykkm5r56g7zjh3b7g0"; depends=[ada dplyr dummies e1071 kknn neuralnet nnet randomForest rpart stringr xgboost]; };
   traipse = derive2 { name="traipse"; version="0.1.0"; sha256="0174rxc3p3s848s9ynkkw32f33dq9gnq7zd14i3b9xnp8zr9jnph"; depends=[geodist geosphere magrittr]; };
-  traitdataform = derive2 { name="traitdataform"; version="0.5.5"; sha256="1gf03gyva4f00bhzcb1x1hsghra15yrhfrr9cprmvax6bgrq64bp"; depends=[data_table getPass plyr RCurl reshape2 taxize units XML]; };
+  traitdataform = derive2 { name="traitdataform"; version="0.5.6"; sha256="0wp3z9l9vpniaa2b53qq6a77ya0my9cvkqd8i831zsxyj63vaabl"; depends=[data_table getPass plyr RCurl reshape2 taxize units XML]; };
   traitr = derive2 { name="traitr"; version="0.14"; sha256="1pkc8wcq55229wkwb54hg9ndbhlxziv51n8880z6yq73zac1hbmf"; depends=[digest gWidgets proto]; };
   traits = derive2 { name="traits"; version="0.4.2"; sha256="1aiy7mdwji72rrmf8gwmnpkhfbqbqbblffxghniw5pfpv55j6mib"; depends=[crul data_table hoardr httr jsonlite readr rvest taxize tibble xml2]; };
   traj = derive2 { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster GPArotation NbClust pastecs psych]; };
   trajectories = derive2 { name="trajectories"; version="0.2-1"; sha256="0sw1gcwmz2d27ck8gm5xa9bmmpgpy483brdyi74wccchwb3nfw2m"; depends=[lattice sp spacetime zoo]; };
   trajr = derive2 { name="trajr"; version="1.3.0"; sha256="1p092kqvwg3ncbk9hh8dij2grl1hfs3j5j64cqn227nr5b3xn1rc"; depends=[plotrix signal]; };
-  tram = derive2 { name="tram"; version="0.2-6"; sha256="1vlqc41g22lbsl9wa0zlfsb940frf3ddzyh2b6s5257nkpf17f9d"; depends=[basefun Formula mlt multcomp sandwich survival variables]; };
+  tram = derive2 { name="tram"; version="0.3-1"; sha256="1qpnm498w5z9qhmhhh5dvm76hcdiv60s10njl8w9dhl0ljd21x68"; depends=[basefun Formula Matrix mlt multcomp sandwich survival variables]; };
   tranSurv = derive2 { name="tranSurv"; version="1.2.0"; sha256="0r698s2yg7ypyzid52a46p0bhl3xi4rh50bfnx0pacc65rigjr6f"; depends=[SQUAREM survival]; };
   transcribeR = derive2 { name="transcribeR"; version="0.0.0"; sha256="0y2kxg2da71i962fhsjxsr2ic3b31fmffhj3gg97b0nykfpcviib"; depends=[httr]; };
   transformr = derive2 { name="transformr"; version="0.1.1"; sha256="186n789zzf2p9ggw9j7gmd4knfq051jhl35x1585jgll2karyn2c"; depends=[lpSolve Rcpp rlang sf tweenr]; };
   translate = derive2 { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[functional lisp RCurl RJSONIO]; };
   translateR = derive2 { name="translateR"; version="1.0"; sha256="11kh9hjpsj5rfmzybnh345n1gzb0pdksrjp04nzlv948yc0mg5gm"; depends=[httr RCurl RJSONIO textcat]; };
   translation_ko = derive2 { name="translation.ko"; version="0.0.1.5.2"; sha256="1w5xibg4znhd39f3i0vsqckp6iia43nblqxnzgj0ny6s7zmdq1wd"; depends=[]; };
-  transport = derive2 { name="transport"; version="0.11-2"; sha256="1lpzivhv0fbcas6yhri064z2hian8flslz2zq3m33fh43jqqs1qg"; depends=[Rcpp]; };
+  transport = derive2 { name="transport"; version="0.12-1"; sha256="04ds3i372ri0w3qy1nn6gjrhip89978zbpvi9c5dlsbh8wwk583l"; depends=[data_table Rcpp RcppEigen]; };
   trapezoid = derive2 { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; };
   trawl = derive2 { name="trawl"; version="0.2.1"; sha256="1ns4nk8zdnl2z9clc2q38sbb1ijkj86lcifxq7d111mcwsmpb6fi"; depends=[DEoptim MASS rootSolve Runuran squash TSA]; };
   tree = derive2 { name="tree"; version="1.0-40"; sha256="1rr6ws62j9h36f3nl713f8h3ndkh95mv46l055jvgmby5lw1dazz"; depends=[]; };
   tree_bins = derive2 { name="tree.bins"; version="0.1.1"; sha256="1flrkhdqimsn8dxn97xzl1fykx916i1dis1bfany44yk0cjmd85g"; depends=[data_table dplyr rpart rpart_utils]; };
+  tree_interpreter = derive2 { name="tree.interpreter"; version="0.1.0"; sha256="17yci49zsz05ydjzs0zbz8xg2vdjmh8xq6cfxchrq488kvjyjzsz"; depends=[Rcpp RcppArmadillo]; };
   treeClust = derive2 { name="treeClust"; version="1.1-7"; sha256="1s7kh6q0bkixsygrip95zf1bi10ihddsa5lq9dfxd68yh8rsby6z"; depends=[cluster rpart]; };
   treeDA = derive2 { name="treeDA"; version="0.0.4"; sha256="0zhzb21lvxk278ysl275g39y2r8dlgqdix5rfg2pwv3nzj2531rc"; depends=[ggplot2 gtable Matrix mvtnorm phyloseq reshape2 sparseLDA]; };
+  treeHMM = derive2 { name="treeHMM"; version="0.1.0"; sha256="1iasvqfy62psj7md9sv97hqm1lcvkiw1qapsfsjcc6bdx5zflnxq"; depends=[future gtools Matrix matrixStats PRROC]; };
   treebase = derive2 { name="treebase"; version="0.1.4"; sha256="1bx31jahb0wy2g8wl1z71vy659lfi8fq1sbbaxvyixzcwymix1wq"; depends=[ape httr RCurl XML]; };
   treeclim = derive2 { name="treeclim"; version="2.0.3"; sha256="03d734zxz4vjrx7xw9r8y8lcsacn0p92q09n05vqfx4p7wvpwp26"; depends=[abind boot ggplot2 lmodel2 lmtest np plyr Rcpp RcppArmadillo]; };
   treecm = derive2 { name="treecm"; version="1.2.2"; sha256="0vrawg4vvy270dn20gb2k99xi4q89l4mjz0mm7ikpz8wxqypzq2l"; depends=[plyr]; };
@@ -14054,40 +14626,43 @@ in with self; {
   treeman = derive2 { name="treeman"; version="1.1.3"; sha256="0xvazizpi3dbdgjd48ff4kg4dhsi2yzbnkk43pgyi21zii673yyn"; depends=[ape bigmemory plyr RJSONIO stringr]; };
   treemap = derive2 { name="treemap"; version="2.4-2"; sha256="15bdgkdwryb55v82b3hpcx4ykfg5z7zf10h0wwknf6kl1kn34v90"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
   treemapify = derive2 { name="treemapify"; version="2.5.3"; sha256="1y6fyzxk542fp4h975xfgajz7cjym3rjs6asal9arv94a9cqra33"; depends=[ggfittext ggplot2]; };
+  treenomial = derive2 { name="treenomial"; version="1.0.0"; sha256="1052f4k96p6849y9jsqjirqqbgg7kaabxh6f7fwflp7g8y6jkyd2"; depends=[ape Rcpp RcppArmadillo RcppThread]; };
   treeperm = derive2 { name="treeperm"; version="1.6"; sha256="0mz7p9khrsq4dbkijymfvlwr01y4fvs0x6si4x5xid16s2zsnmm4"; depends=[]; };
   treeplyr = derive2 { name="treeplyr"; version="0.1.7"; sha256="11y15dslalwifarz79zyc5vxszyajkjyzm98p0w1n8gfr6lrq9yy"; depends=[ape dplyr geiger lazyeval phytools Rcpp]; };
   treespace = derive2 { name="treespace"; version="1.1.3.1"; sha256="0wnzc4fw23yi28a5hdl381kbkqxsqwyq3b3ljw1hfy89rpyy2v8c"; depends=[ade4 adegenet adegraphics adephylo ape combinat distory fields htmlwidgets MASS phangorn phytools Rcpp rgl RLumShiny scatterD3 shiny shinyBS]; };
   treestartr = derive2 { name="treestartr"; version="0.1.0"; sha256="05rxy9lmb77ng4266871sd881mlp4rd5qalvsd7ps2x2j4plaqf4"; depends=[ape phytools]; };
   treethresh = derive2 { name="treethresh"; version="0.1-11"; sha256="1fksyn9mycr6dpw1yh5b3fa7fk7ndz7q39174daplm55jbrz1dr5"; depends=[EbayesThresh wavethresh]; };
+  trekcolors = derive2 { name="trekcolors"; version="0.1.1"; sha256="1fw2wgkkky79vy9sc3cn42vmfcdnsjsnhb81wvalwi6ww64fzrkh"; depends=[ggplot2]; };
   trekfont = derive2 { name="trekfont"; version="0.9.3"; sha256="15p1r5q36fbajhwidjhhvvldckvz5js08w4cnj47gqr4lpmmpbx7"; depends=[]; };
   trelliscopejs = derive2 { name="trelliscopejs"; version="0.1.18"; sha256="1i13l3a74cxppkffzbpnyh2faqdwj3gy55s4s0fck1fwpvlkn5zr"; depends=[autocogs base64enc digest DistributionUtils dplyr ggplot2 gtable htmltools htmlwidgets jsonlite knitr progress purrr rlang tidyr webshot]; };
   trelloR = derive2 { name="trelloR"; version="0.1.0"; sha256="0d549yw9pfxs8a3q716z08fzg68bkm5l09cv5iqqkm4gyasrxsf4"; depends=[dplyr httr jsonlite]; };
   trend = derive2 { name="trend"; version="1.1.1"; sha256="1bd567n15k2vpmgbx02584k5kglrc58mlb5kgd07wdss3knpa48q"; depends=[extraDistr]; };
-  trendchange = derive2 { name="trendchange"; version="0.1.0"; sha256="0j5rrahs0dsdnxs8g6qmkzvsahpfjhnf27a75k9kkxkhj0sj6xv4"; depends=[]; };
+  trendchange = derive2 { name="trendchange"; version="1.1"; sha256="19r0kmwsim78ynssyh6j0zd99cz96cacy3hmyrjabwwvz0f8sk3h"; depends=[]; };
   trendsegmentR = derive2 { name="trendsegmentR"; version="1.0.0"; sha256="0zgm5nbm5azmz6x0xg4aphc80q6x1cvijry9pznyi0mg14743g86"; depends=[]; };
   trendyy = derive2 { name="trendyy"; version="0.1.1"; sha256="03n7qdfc197hds8bdwl20b0nn62nqnz9r35v1q315nm3ccdifl1p"; depends=[crayon dplyr gtrendsR magrittr purrr stringr tibble]; };
   trialr = derive2 { name="trialr"; version="0.1.2"; sha256="1pwg6n11642a8zn7443a73w18yxrwqdniriaj7iq7ajnj31dbi70"; depends=[BH binom coda dplyr ggplot2 gtools magrittr MASS purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidybayes tidyr]; };
   triangle = derive2 { name="triangle"; version="0.12"; sha256="1cv3l97myhkyl0c4xjympqghlk0av8xfk00av8kj93ndgkv5bfj7"; depends=[]; };
   triangulation = derive2 { name="triangulation"; version="0.5.0"; sha256="1zp09g0s0qpqgz2k6jx32pswh2zqyyd0b62lf1dx1p46m28dafkn"; depends=[]; };
-  tribe = derive2 { name="tribe"; version="0.1.7"; sha256="1k12yzicf3p5wpgzpsv4kk5xzrdfx712z67kj9xmcr1mbs8l5skb"; depends=[bazar dplyr lazyeval magrittr rlist rstudioapi]; };
+  tribe = derive2 { name="tribe"; version="0.1.8"; sha256="01z1b9k3j4xi5fp9pkpr991yr7x8vk8vysipy7iwdmdr7xg4w4p0"; depends=[dplyr lazyeval magrittr rlang rstudioapi]; };
   tricolore = derive2 { name="tricolore"; version="1.2.1"; sha256="04ihsgy6l8nlfp1q8c14g56v2inpw48mlhni4xqfqb7mzvalvhf8"; depends=[assertthat ggplot2 ggtern shiny]; };
   triebeard = derive2 { name="triebeard"; version="0.3.0"; sha256="1hqyz57gph02c9fdc07lxz113bbklif3g18sw8jan6pakhhdc7dz"; depends=[Rcpp]; };
   trigpoints = derive2 { name="trigpoints"; version="1.0.0"; sha256="1hckjh2gb0fvd2c8x6mj0idpk3im7b831y7mbli1hqhry6qqdw15"; depends=[sf tibble]; };
   trimTrees = derive2 { name="trimTrees"; version="1.2"; sha256="0v75xf5186dy76332x4w7vdwcz7zpqga8mxrb5all2miq2v45fi8"; depends=[mlbench randomForest]; };
   trimcluster = derive2 { name="trimcluster"; version="0.1-2.1"; sha256="0013bpyq6mkvjn38qsmwnsxfiwxgwngnqxycxvgpgmiadhm8fjmn"; depends=[]; };
   trimr = derive2 { name="trimr"; version="1.0.1"; sha256="0gcn18nwxmax9c35is0nldyh74cw8rg3gj60cixzs9qjnpb9xx3d"; depends=[]; };
-  trinROC = derive2 { name="trinROC"; version="0.3"; sha256="0i8f6sy7hl2v6kb5j74lzxmwndcs5rh8nm2skprh4k4bw3nyakjp"; depends=[ggplot2 gridExtra rgl]; };
+  trinROC = derive2 { name="trinROC"; version="0.3.1"; sha256="12kmpypbq3ldh8vn38w7agfq5bn98vp27qyvivvbqryc18y0isk3"; depends=[ggplot2 gridExtra rgl]; };
   trioGxE = derive2 { name="trioGxE"; version="0.1-1"; sha256="1ra86l3i7fhb6nsy8izixyvm6z23shv7fcjmnnpil54995j15ax4"; depends=[gtools mgcv msm]; };
   trip = derive2 { name="trip"; version="1.6.0"; sha256="089wwdbf3mqz2gxskr9pwi124qbmjf6s9gq7vfrjyhcbp4xx8hwp"; depends=[geodist glue maptools MASS raster sp spatstat viridis]; };
   tripEstimation = derive2 { name="tripEstimation"; version="0.0-44"; sha256="1ylpyzlqr6l5haxq4icnlxw6vgvc2lsfz5sm2wqqm4m6h3p0i6s6"; depends=[lattice mgcv rgdal sp zoo]; };
   tripack = derive2 { name="tripack"; version="1.3-8"; sha256="0pf707z6xysxvcs508nadga3mglpvmfk6r061qda8acn58ll1cvb"; depends=[]; };
+  tripsAndDipR = derive2 { name="tripsAndDipR"; version="0.1.0"; sha256="1gm96fxgql9y08w177nyxw0bahyafcs75maz743a9hfb0gjixvy2"; depends=[]; };
   triversity = derive2 { name="triversity"; version="1.0"; sha256="1bar2bpy8jvj91jmzzdwy6rlvirsbxrzqnx4r825irqhc69gc53r"; depends=[data_tree Matrix]; };
   tropAlgebra = derive2 { name="tropAlgebra"; version="0.1.1"; sha256="1idvhxhw2f6z8iq0nfdj6jmzy8913vid84rvln6rx2dkzw3s9wnl"; depends=[]; };
   tropicalSparse = derive2 { name="tropicalSparse"; version="0.1.0"; sha256="1ay6i3pzz5lpvznxqln31mijp86p6z0df7rvp0gm4lxvn294m7f8"; depends=[]; };
   trotter = derive2 { name="trotter"; version="0.6"; sha256="0i8r2f2klkkfnjm7jhvga3gx6m7r97pd73d88004jzlm9ficspgy"; depends=[]; };
   trread = derive2 { name="trread"; version="0.2.7"; sha256="158mwnwkmwjvir8caz42jqc599xn9qkqx6bsi76m8l6szf09s0sl"; depends=[assertthat data_table dplyr here hms htmltools httr lubridate magrittr readr rlang scales stringr tibble tidyr zip]; };
-  trtf = derive2 { name="trtf"; version="0.3-5"; sha256="173xcf9km9016s020hpcjag5rg738q7lkd0n5ir2r8cyxvfwqgbr"; depends=[Formula libcoin mlt partykit sandwich variables]; };
-  truelies = derive2 { name="truelies"; version="0.1.0"; sha256="1kp14zic09r3xhcm3h6lm98wspxlqf83jgf2b9hjzsl8ksbj778j"; depends=[hdrcde]; };
+  trtf = derive2 { name="trtf"; version="0.3-6"; sha256="1h90d3bpfq3nr2c44lynan1scz650nbzjry5i687wxa1c348lvb6"; depends=[Formula libcoin mlt partykit sandwich variables]; };
+  truelies = derive2 { name="truelies"; version="0.2.0"; sha256="1qxzw7x7xgp9x6klnq6jv0fl8al2l24br2sd59r5gq076gkqc47k"; depends=[hdrcde]; };
   trueskill = derive2 { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; };
   truncSP = derive2 { name="truncSP"; version="1.2.2"; sha256="1hdi518j3sg9273g01l1jqlmqya3ppim82ma7zakwqpmsjmzw18q"; depends=[boot truncreg]; };
   truncdist = derive2 { name="truncdist"; version="1.0-2"; sha256="02ihw4ixhadwr3sqm6r264i8vpcaz8pn69vkzabd8fwqvn5vcj5q"; depends=[evd]; };
@@ -14097,17 +14672,17 @@ in with self; {
   trust = derive2 { name="trust"; version="0.1-7"; sha256="013gmiqb6frzsl6fsb5pqfdapwdxas0llg954hlcvgki9al5mlg3"; depends=[]; };
   trustOptim = derive2 { name="trustOptim"; version="0.8.6.2"; sha256="1nsl8jd6cna52b5dd92jw3sh84jqpg7gazskn7166bcjbph19bf7"; depends=[Matrix Rcpp RcppEigen]; };
   trustedtimestamping = derive2 { name="trustedtimestamping"; version="0.2.6"; sha256="1rx7ypy331mq5ni5hxhqcfnicvwdgg9j2pm3aj097a5hhigibdrq"; depends=[digest httr jsonlite]; };
-  tryCatchLog = derive2 { name="tryCatchLog"; version="1.1.4"; sha256="0iahbm1zjgrb5x5awlvy1jgylw47p7qa1cxhrzg2mjknwpsd4vwm"; depends=[]; };
-  tsBSS = derive2 { name="tsBSS"; version="0.5.2"; sha256="00brzy0dkvdwrsf5jlpyp6ggwc2wkmdkb3l6h8fx1i3lmhnaqhkg"; depends=[boot forecast ICtest JADE Rcpp RcppArmadillo]; };
+  tryCatchLog = derive2 { name="tryCatchLog"; version="1.1.6"; sha256="0ik2y2ac771z9r0wb4av2xhr3xv36n4wcv8cqx0vid3wcmbl6prc"; depends=[]; };
+  tsBSS = derive2 { name="tsBSS"; version="0.5.5"; sha256="19i9raw3wiig66a84msqqwwxd9br4ayk108v7d9j78d0ynm6ki84"; depends=[boot forecast ICtest JADE Rcpp RcppArmadillo xts zoo]; };
   tsDyn = derive2 { name="tsDyn"; version="0.9-48.1"; sha256="0r8xxzr2z7r7xzpvi3sani169j3irw866gdmml0798czbdarq1qd"; depends=[foreach forecast MASS Matrix mgcv mnormt nnet tseries tseriesChaos urca vars]; };
   tsModel = derive2 { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
   tsPI = derive2 { name="tsPI"; version="1.0.2"; sha256="0lw4s7gxn4xldsk5f3dz27bb9jywa14195703b5q1497h9j966gk"; depends=[KFAS]; };
   tsSelect = derive2 { name="tsSelect"; version="0.1.8"; sha256="0ysijzhhwaj5n7h50jacshnla6d0h61q0f6lj19ic0lwvlz4yazy"; depends=[forecast]; };
   tsallisqexp = derive2 { name="tsallisqexp"; version="0.9-3"; sha256="0mzqplsj2w4a7jnav43afyk8ymy6p444j7km6kc8c2g4aifpgxcb"; depends=[]; };
-  tsbox = derive2 { name="tsbox"; version="0.1.0"; sha256="0zq7ph5mh200wjmwg5a3lqwv5ggbcsqd1cbby0zmnvjwdxri9s1v"; depends=[anytime data_table]; };
+  tsbox = derive2 { name="tsbox"; version="0.2.0"; sha256="0kyw276qi20801ps3kd61k1s4vs0znsyzzy8mwjq312cbjisg6mc"; depends=[anytime data_table]; };
   tsc = derive2 { name="tsc"; version="1.0-3"; sha256="1acsdkxizlkix1sskwqv2a80rshw6f14zvcsjhrmmdfd4bmwh36y"; depends=[]; };
   tscount = derive2 { name="tscount"; version="1.4.1"; sha256="0bnzv06wxc1kzjlysljndsjimjsn3g8v6s1vbics1cwcs5jkjwr4"; depends=[ltsa]; };
-  tsdb = derive2 { name="tsdb"; version="0.6-2"; sha256="1kr9dw1wiz376xzal0qn7733va7rf19y7hd3j8g6jjqfwz8vf78g"; depends=[datetimeutils fastmatch zoo]; };
+  tsdb = derive2 { name="tsdb"; version="0.7-1"; sha256="0ngy897fmf48c7k54zq8lx2fyv45c0kzn3bxm5054ay2lkv02idz"; depends=[datetimeutils fastmatch zoo]; };
   tsdecomp = derive2 { name="tsdecomp"; version="0.2"; sha256="1wy37gjp49dr60s4zhwv19iv3mzr1fjz5yilqmqgy78j5d45ns15"; depends=[]; };
   tsdf = derive2 { name="tsdf"; version="1.1-7"; sha256="1c6fmvbpwvzy654c7hs56nxdp27wy9vyb521rdw33mgxvnyjbjqn"; depends=[]; };
   tsdisagg2 = derive2 { name="tsdisagg2"; version="0.1.0"; sha256="1vjypf9d4rdprpgxfsgpccn412kvar59v341ridq2hcdp7hfb70s"; depends=[]; };
@@ -14117,10 +14692,11 @@ in with self; {
   tseriesEntropy = derive2 { name="tseriesEntropy"; version="0.6-0"; sha256="04clfkpkiy5p5nxcq59c7f4v1llj1d95lvck23h1px50lvb993fv"; depends=[cubature ks]; };
   tsfa = derive2 { name="tsfa"; version="2014.10-1"; sha256="0gkgl55v08dr288nf8r769f96qri7qbi5src7y6azrykb37nz6iz"; depends=[dse EvalEst GPArotation setRNG tfplot tframe]; };
   tsfeatures = derive2 { name="tsfeatures"; version="1.0.1"; sha256="11ysmi9jd3x92fcylw6jbg62fdmdbi58nnasz0pm3ji46knwnd5n"; depends=[ForeCA forecast fracdiff furrr future purrr RcppRoll tibble tseries urca]; };
+  tsfgrnn = derive2 { name="tsfgrnn"; version="0.1.0"; sha256="1kx4q1a12yrngg1jps4jk2k5svnmsl1lhybb6ziypza20hmmzral"; depends=[ggplot2]; };
   tsfknn = derive2 { name="tsfknn"; version="0.3.0"; sha256="0h44s8bvnd68nhl0rbwvs0sycsjlmpnni0nr2169429a9y3f91f1"; depends=[ggplot2]; };
   tsgui = derive2 { name="tsgui"; version="0.0.3"; sha256="16cx68gq2f63wx7mhbv0aq6pr71wfbc035kjbjjsfrbagaq4ib13"; depends=[RandomFieldsUtils tcltk2 tkrplot]; };
   tsiR = derive2 { name="tsiR"; version="0.4.2"; sha256="1yc9kcyj8yg7zsdkqsxkr7czv3i5gf2146z5h89qfqifrrzmjifa"; depends=[ggplot2 kernlab reshape2]; };
-  tsibble = derive2 { name="tsibble"; version="0.8.3"; sha256="1gvnbnl818jh7vxwdssghsnqh3xwg5rhj6gg7jb8r6zzqjq56l57"; depends=[anytime dplyr lubridate purrr rlang tibble tidyr tidyselect]; };
+  tsibble = derive2 { name="tsibble"; version="0.8.5"; sha256="1xm5zwx0p101gr4qf4yc1p33fhck44ppdk104pcwbhxwbza6mh3y"; depends=[anytime dplyr lifecycle lubridate purrr rlang tibble tidyselect vctrs]; };
   tsibbledata = derive2 { name="tsibbledata"; version="0.1.0"; sha256="17qvjfkppg1z4pxgax37ikx2x28ib39syps5vhppc1y3yn8441vq"; depends=[tsibble]; };
   tsintermittent = derive2 { name="tsintermittent"; version="1.9"; sha256="1mrb6yrsjwj6j40n97sgg42ddvwhjnaiq9k7ka249bbq01gf2975"; depends=[MAPA]; };
   tsmp = derive2 { name="tsmp"; version="0.3.5"; sha256="1gilzxxgaa1qqsk56s7ynlqhz6bssxrpc1h7fxkjp0z9amajvb5h"; depends=[audio doSNOW foreach magrittr progress]; };
@@ -14132,12 +14708,13 @@ in with self; {
   tstools = derive2 { name="tstools"; version="0.3.8"; sha256="0daxrp91hxc367hlzla0s7x5dddnx462239jcq0ickx6awkk753g"; depends=[data_table jsonlite xts zoo]; };
   tsutils = derive2 { name="tsutils"; version="0.9.0"; sha256="09xv5iv6icjbj5rhcsspbs8n2rl9k9gml0iizq8rd5a01153zlsm"; depends=[forecast MAPA RColorBrewer]; };
   tsviz = derive2 { name="tsviz"; version="0.1.0"; sha256="099ga750kr9hrkd8vaxhz6h4gha6zfr9jzqwrmgms2h2h1a7jxr7"; depends=[dplyr forecast ggplot2 lubridate magrittr miniUI plotly shiny shinyhelper]; };
-  tsvr = derive2 { name="tsvr"; version="1.0.0"; sha256="07ifcnij78lw29h1yxjyws3z5mxvk4lz33vgs2dr8ka5mwafbbc0"; depends=[]; };
+  tsvr = derive2 { name="tsvr"; version="1.0.1"; sha256="1lkb6lj3lsx25d671gb804brbv74isrjbj9pd09q84qp7jgrpgyd"; depends=[]; };
   tswge = derive2 { name="tswge"; version="1.0.0"; sha256="0wj0kyb1dcwfn8wjp7skgcflc48cr4va0i0jg8x970658if7z6fz"; depends=[astsa MASS PolynomF signal waveslim]; };
   tsxtreme = derive2 { name="tsxtreme"; version="0.3.2"; sha256="1lmvwk83186qb59k3i4ppv85dvz7fww8wr97mvkl8457mf4n6kg0"; depends=[evd MASS mvtnorm]; };
   ttScreening = derive2 { name="ttScreening"; version="1.6"; sha256="1i8c9l3sdkzl99zxxyfqm84vkh6wjdh3a32l5q8ikf74g9dhxkf4"; depends=[corpcor limma MASS matrixStats simsalapar sva]; };
   ttTensor = derive2 { name="ttTensor"; version="0.99.2"; sha256="1qhpsaa0m8g61mhdffnrpfsc66iwm240na2wsa3cnmydk1mqjlxd"; depends=[Matrix PTAk rTensor tensorr]; };
   ttbbeer = derive2 { name="ttbbeer"; version="1.1.0"; sha256="1azffcizm3460kxvrxxkilc6qxspyi247x8drrw5ywfichwhmdhc"; depends=[]; };
+  ttdo = derive2 { name="ttdo"; version="0.0.4"; sha256="1hq1s2rsngx496mhrf9pnpvp25805f17pfj7l0dm5g7lmiq24rr8"; depends=[diffobj tinytest]; };
   ttestshiny = derive2 { name="ttestshiny"; version="0.1.0"; sha256="186569p9h3597z9lxyzm7fj8k6bzgm2kw757dcv2qhhf2k7nfch9"; depends=[dplyr shiny shinyAce shinyjs]; };
   tth = derive2 { name="tth"; version="4.3-2-1"; sha256="19rvmyprl1nk9mmngk6dax8rnli10msfvm3vzp86pbdjxnsh3hjc"; depends=[]; };
   tttplot = derive2 { name="tttplot"; version="1.1.1"; sha256="0rmgp1888y07w0h8kwq1azpr6bysjq4pyjf6ygpra75jj4563wx9"; depends=[]; };
@@ -14159,10 +14736,12 @@ in with self; {
   turner = derive2 { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
   tutorial = derive2 { name="tutorial"; version="0.4.3"; sha256="0sxdlpw0w4azlaxdlk36ycrric6pbj2zi4nyv26pgsp0cr1hrx6r"; depends=[base64enc knitr markdown rjson]; };
   tuts = derive2 { name="tuts"; version="0.1.1"; sha256="0mwc6lsnhxww041wh3020wz7w812asp1d6djv4n9pl7jil0kvkry"; depends=[coda doParallel foreach lomb mcmcplots rjags truncnorm]; };
-  tvR = derive2 { name="tvR"; version="0.3.0"; sha256="1pg13bvndqyyi2yl1bg3bkdh2xq060ihl25j3a91nahwasy3225m"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
+  tvR = derive2 { name="tvR"; version="0.3.1"; sha256="056a241m3c1jhf8idly1bm4xja349cg5yzz19l45zyggml82snin"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
   tvReg = derive2 { name="tvReg"; version="0.4.2"; sha256="1ma6jiqlj5jlsyk37vcddyv427xi8980cbplb40ppync18f7psmp"; depends=[bvarsv MASS Matrix systemfit vars]; };
   tvd = derive2 { name="tvd"; version="0.1.0"; sha256="07al7gpm81a16q5nppsyc5rhv6zzkcvw72isx955b1q189v073aw"; depends=[Rcpp]; };
+  tvgeom = derive2 { name="tvgeom"; version="1.0.0"; sha256="18vqkxqikj87nhcayp7f5amh1mzfpnv2lfb9wg900wi5xpzg4n1q"; depends=[knitr testthat]; };
   tvm = derive2 { name="tvm"; version="0.4.0"; sha256="0v5b9s35q08a4z2ccph7g9q211w04x99sh72lrfby43fgl2jwyd1"; depends=[ggplot2 reshape2]; };
+  tvthemes = derive2 { name="tvthemes"; version="1.1.0"; sha256="0bc9li8vgmm4r6dshm52ll2d69gcynv1xrv8n7jhbyn7xmx3q3kz"; depends=[extrafont ggplot2 glue magick scales]; };
   twang = derive2 { name="twang"; version="1.5"; sha256="1sp1vb6l0mwpy9b9my5d3spc0q0zs7xg4dkmi4cl7hy7m9xy1dbk"; depends=[gbm lattice latticeExtra survey xtable]; };
   tweedie = derive2 { name="tweedie"; version="2.3.2"; sha256="10fv998qjxsyx0h94fi0xbh6xbf24nwgh254n9zfnmix9vk2cqls"; depends=[]; };
   tweenr = derive2 { name="tweenr"; version="1.0.1"; sha256="0sq90pbln6lkc2q3zflhkxxwpqdw5dd7igrxhdnlynkdrmi83mpg"; depends=[farver magrittr Rcpp rlang]; };
@@ -14177,97 +14756,101 @@ in with self; {
   twostageTE = derive2 { name="twostageTE"; version="1.3"; sha256="0mkxs3lmzja51zdrf5himhwcdygpj6czhdd2bydakm26kvw7znwr"; depends=[isotone]; };
   twoway = derive2 { name="twoway"; version="0.6.2"; sha256="0q053jvb2sa762bjnpzkxzdcq1wk82ynp4rjl4j6qncqccvqq0c3"; depends=[]; };
   txtplot = derive2 { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
-  txtq = derive2 { name="txtq"; version="0.1.4"; sha256="0qvxz3k7as70wvqnxm5myk8ppan6f3c2vnnk5hqvxa370r3b8a9x"; depends=[base64url filelock R6]; };
+  txtq = derive2 { name="txtq"; version="0.2.0"; sha256="1w4dmws2l0r5bbx2n2g79dfrpa8dz4hlg8raphgh8mimf1skfb3h"; depends=[base64url filelock R6]; };
   types = derive2 { name="types"; version="1.0.0"; sha256="01shcin8wjbhbmzl979fj3008xqxssw90g3bjg42cnjxkmnaql59"; depends=[]; };
   uCAREChemSuiteCLI = derive2 { name="uCAREChemSuiteCLI"; version="0.2.0"; sha256="1nccgkxv57inhgvgmhwm4fr8cp28sj8n83za5gam9xx1f42mzsqk"; depends=[ChemmineR usethis]; };
-  uGMAR = derive2 { name="uGMAR"; version="3.1.0"; sha256="0dlks1mm5li72ir18nnd4s9ll20700plha0d82h9wxpkkhwzqzng"; depends=[Brobdingnag pbapply]; };
+  uGMAR = derive2 { name="uGMAR"; version="3.2.0"; sha256="09x7wf5lgqrz5vpgbsl13c4p57amf3wp6yaib10zh1xnmw3fa2i6"; depends=[Brobdingnag pbapply]; };
   uHMM = derive2 { name="uHMM"; version="1.0"; sha256="1516ipadxi7rc1dbinr5rva2fbcr5i2zg3rlli5wy7r6naf8fzzl"; depends=[chron class cluster clValid corrplot FactoMineR HMM tcltk2 tkrplot]; };
   uaparserjs = derive2 { name="uaparserjs"; version="0.1.0"; sha256="1zhz39jrvi64sj0wvwkm4y8gakfp6kz1knw4wn08kk4fa9ymyjvq"; depends=[dplyr purrr V8]; };
   uavRmp = derive2 { name="uavRmp"; version="0.5.4"; sha256="0djx6z9489pr03bf01y2d79ar840q4ffj39j72c8phz27yz40y04"; depends=[brew data_table devtools gdalUtils geosphere htmltools htmlwidgets log4r maptools raster rgdal rgeos roxygen2 sf sp spatial_tools stringr zoo]; };
-  ubci = derive2 { name="ubci"; version="0.0.5"; sha256="1470cvnniwa8pn4yvqg82d5b2zg8n1l4yjdbg0jmqyiw7bf41m0b"; depends=[dplyr httr lubridate magrittr tibble tidyr]; };
+  ubiquity = derive2 { name="ubiquity"; version="1.0.0"; sha256="065jygsqsz2sczpri4xdw7gjjk1pp6z87nl3v5a6a6lsmkzkwlhz"; depends=[deSolve digest doParallel doRNG flextable foreach gdata ggplot2 gridExtra knitr MASS officer optimx PKNCA pso rhandsontable rmarkdown rstudioapi shiny]; };
   ucbthesis = derive2 { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
+  uchardet = derive2 { name="uchardet"; version="1.0.1"; sha256="1h6vkf3kbh7bzb1vp5rdss1r52lgvd4m3c73r89ba3kpsnwyzcvq"; depends=[Rcpp]; };
   uclust = derive2 { name="uclust"; version="0.1.0"; sha256="0b4cj1np4b7m3nfk3crisw9qznk86lbh7x9xb70lwjmcjjgxkw8q"; depends=[dendextend robcor]; };
   ucminf = derive2 { name="ucminf"; version="1.1-4"; sha256="01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2"; depends=[]; };
   udapi = derive2 { name="udapi"; version="0.1.3"; sha256="0qyn6fdh8ia913hn2dl0x99xsm20ps8zm52snswlyb00prinm668"; depends=[curl httr]; };
   udpipe = derive2 { name="udpipe"; version="0.8.3"; sha256="1ys4ss700h3xk4z72lsjavd6vic4ihm00b1mzidq41klrgpwzcb0"; depends=[data_table Matrix Rcpp]; };
   udunits2 = derive2 { name="udunits2"; version="0.13"; sha256="0yav7rm2afcx67xqrknybxgz7x63w78zyxa0xifvc0k2gz0d6mfi"; depends=[]; };
-  ufs = derive2 { name="ufs"; version="0.3.0"; sha256="02w784fjkpx6jq9vbrkxvn7c6vjabna1f7gx9jcrgp77xr2b1d4q"; depends=[digest diptest dplyr GGally ggplot2 ggrepel ggridges gridExtra gtable knitr pander plyr scales SuppDists viridis]; };
-  ui = derive2 { name="ui"; version="0.1.0"; sha256="1pc18v99n1psiiv7jxy3as1qwg2y41i1syrpvkbk05yii1qzsw2b"; depends=[Matrix maxLik mvtnorm numDeriv]; };
-  uiucthemes = derive2 { name="uiucthemes"; version="0.2.1"; sha256="1l96mch9r5npsdv1v4qfyj43ana7a2ff7yj04q6fzhh27v0fx7ak"; depends=[rmarkdown]; };
+  ufs = derive2 { name="ufs"; version="0.3.1"; sha256="079azpicvimjq7qw1790j5f0vq5jis67lv4r28x3390r9fh04m6l"; depends=[digest diptest dplyr GGally ggplot2 ggrepel ggridges gridExtra gtable knitr pander plyr scales SuppDists viridis]; };
+  ui = derive2 { name="ui"; version="0.1.1"; sha256="15hcdzaj75ip6j7yglx8rqhp4y3yf3aw5cpbjgk1mjr4cya7lvzi"; depends=[Matrix maxLik mvtnorm numDeriv]; };
+  uiucthemes = derive2 { name="uiucthemes"; version="0.3.0"; sha256="0bby3a1fdh3y7yia38qy2gjgcqxkkvp4k13b6iabj219yck9a4lq"; depends=[rmarkdown xaringan]; };
   ukbabynames = derive2 { name="ukbabynames"; version="0.1.1"; sha256="0vrwcf3hixd40ag6kb289anq2ys2k6vdhhsrjbizvndkyn8sr0r0"; depends=[]; };
   ukbtools = derive2 { name="ukbtools"; version="0.11.3"; sha256="1j5p9ypn3s781582all64kvywih1ry0lqsh1zirr35g7r46fy783"; depends=[data_table doParallel dplyr foreach ggplot2 magrittr purrr readr scales stringr tibble tidyr XML]; };
-  ukgasapi = derive2 { name="ukgasapi"; version="0.16"; sha256="0bj1dpsz4709dcb297b9rcb4nbzvxxhrqh5sv2qbrcypdh0x2m3b"; depends=[RCurl XML]; };
+  ukgasapi = derive2 { name="ukgasapi"; version="0.17"; sha256="1jly1bzisvvx8pcsw0fb35xxvjgq7ydpxianf3dbxa88msdjr02d"; depends=[RCurl XML]; };
   ukpolice = derive2 { name="ukpolice"; version="0.1.2"; sha256="0jwc57360cr9fkqzs5j2jmnfagci86jzi6p5d5mpm35drsrzm1ca"; depends=[jsonlite purrr tibble]; };
   ulid = derive2 { name="ulid"; version="0.3.0"; sha256="0xxkqrnlz3pkb3s1gacfzqav54w97gc0w8rh0fn1qy5rkmg2bplv"; depends=[Rcpp]; };
-  umap = derive2 { name="umap"; version="0.2.2.0"; sha256="1s82w9gy1387h7cprjfbhp49l89zbmn3gc9s0wzqb1s73nza9n31"; depends=[Rcpp reticulate RSpectra]; };
+  umap = derive2 { name="umap"; version="0.2.3.1"; sha256="0rzz1s029cn1w1bf5va2pav2lg9j1mq97ibwcln39drvm67kj76d"; depends=[openssl Rcpp reticulate RSpectra]; };
   ump = derive2 { name="ump"; version="0.5-8"; sha256="1sg226caq9y41cwl7wr5s9z3bpq2j5p6rj6fy2pasbzimgzw0byx"; depends=[]; };
-  umx = derive2 { name="umx"; version="2.10.0"; sha256="0sh16dwzkib1gzaj18nk2zdp8pq6ri7hwknzzpz1632r956kd7cy"; depends=[cowplot DiagrammeR ggplot2 knitr lavaan MASS Matrix MuMIn mvtnorm nlme numDeriv OpenMx polycor R2HTML RCurl sfsmisc xtable]; };
+  umx = derive2 { name="umx"; version="3.0.0"; sha256="1d72b2i6qcflaqsabl7cy7ndqvw5r0chji15x925s4mm4cd92gvk"; depends=[cowplot DiagrammeR ggplot2 knitr lavaan MASS Matrix MuMIn mvtnorm nlme numDeriv OpenMx polycor R2HTML RCurl sfsmisc xtable]; };
   unbalanced = derive2 { name="unbalanced"; version="2.0"; sha256="18hy9nnq42s1viij0a5i9wzrrfmmbf7y3yzjzymz2wnrx4f2pqwv"; depends=[doParallel FNN foreach mlr RANN]; };
   unbalhaar = derive2 { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
   uncertainty = derive2 { name="uncertainty"; version="0.2.0"; sha256="1mq14ny7l3gy3wjsqijnm37azavyapxszjnckd861h4hgcpdcdjz"; depends=[mvtnorm triangle]; };
-  uncmbb = derive2 { name="uncmbb"; version="0.2.0"; sha256="0cvbh7a81g52hd2qzp23jwwjd5406iszf4wilgrz8sjfrfgybgfm"; depends=[dplyr rlang]; };
-  understandBPMN = derive2 { name="understandBPMN"; version="1.1.0"; sha256="11ijxr5nzg6ivx2c9shgba9nfjb8ixypbj8jvhl7zjkwjrpb6f1y"; depends=[devtools dplyr purrr R_utils Rcpp tibble tidyr XML]; };
+  uncmbb = derive2 { name="uncmbb"; version="0.2.1"; sha256="0ilbsl6hww613i6in9x4v8knx9vlv6hiycgl2879aiq456ghx91m"; depends=[dplyr rlang]; };
+  understandBPMN = derive2 { name="understandBPMN"; version="1.1.1"; sha256="04wnyxplrn5c6jb76dw25pawwcvvn5xq80lqn5imsf31nbwybpm5"; depends=[devtools dplyr purrr R_utils Rcpp tibble tidyr usethis XML]; };
   unfoldr = derive2 { name="unfoldr"; version="0.7"; sha256="18qjsmlbqy9nhwyv288r9n3plv22fgb4g73jpyjyzy3hzfamcb17"; depends=[]; };
+  unglue = derive2 { name="unglue"; version="0.0.1"; sha256="0avk5d4dgbmqvmqlr5kbhg3qsyg5rxmw9icadivaahzf4znav5x4"; depends=[]; };
   ungroup = derive2 { name="ungroup"; version="1.1.1"; sha256="0jrxxp93ak9bva98j3nmkhrb7znz7lpywk56415k4b2rzpy3j7fs"; depends=[MortalitySmooth pbapply Rcpp RcppEigen Rdpack rgl]; };
   uniReg = derive2 { name="uniReg"; version="1.1"; sha256="0wjc7pgaisvk26j7grxp2ypsabb5my9wg6c9i5w9zhh5jdx1fdab"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
   uniah = derive2 { name="uniah"; version="1.0"; sha256="19zwy33gwa749i81mi9h05k8k3l4xbbln3k6q70fa7ic5lqbbdzj"; depends=[ahaz Iso survival]; };
-  unifDAG = derive2 { name="unifDAG"; version="1.0.2"; sha256="0az9knspvf49mvp41m64lpm1a0nzvkygg957pb81mm9kh6cjbhfs"; depends=[gmp graph]; };
-  unifed = derive2 { name="unifed"; version="1.1.1"; sha256="0bh15cvpasgd0ypcmybbss5s9hsilfxgqj4b0mppj44vxm15bzk6"; depends=[]; };
+  unifDAG = derive2 { name="unifDAG"; version="1.0.3"; sha256="052qjrnj04imhj6i62k8jdx9rs8r70n0qrmd2z45x4fimn5py6j5"; depends=[gmp graph]; };
+  unifed = derive2 { name="unifed"; version="1.1.2"; sha256="04598l4ngf0v9j49m9gzxls7z2aal76pddprliqh1qbb694yq44r"; depends=[]; };
   uniformly = derive2 { name="uniformly"; version="0.1.0"; sha256="0n3s0x05v4d79jn51nwj06gm074rgy269f57y2q5z0bkwyp6yc7n"; depends=[pgnorm]; };
   uniftest = derive2 { name="uniftest"; version="1.1"; sha256="0a37m7l3lc6rznx10w9h9krnn5paim2i2wvw47ckwag7bv0d4pm4"; depends=[orthopolynom]; };
-  unikn = derive2 { name="unikn"; version="0.1.0"; sha256="08ykiwb7379rrrqxi1363vfrm6cq3vdmfas2plf26jkx4n806rm2"; depends=[]; };
+  unikn = derive2 { name="unikn"; version="0.2.0"; sha256="1lw3wn93bb8y76phnqwhvgn14zrs68rq8xx9hl2wbngispvwpwn1"; depends=[ggplot2]; };
   unine = derive2 { name="unine"; version="0.2.0"; sha256="051dk8fss19h4d9815a7994krr1s3n5q0pxq9gir6zns0vvn05pw"; depends=[Rcpp]; };
   uniqtag = derive2 { name="uniqtag"; version="1.0"; sha256="025q71mzdv3n1jw1fa37bbw8116msnfzcia01p1864si04ch5358"; depends=[]; };
   unitedR = derive2 { name="unitedR"; version="0.3.1"; sha256="06plbhjbn1gflpxarn21knhiwfr02vxprak9qcghl30fkkymd02r"; depends=[plyr]; };
   unitizer = derive2 { name="unitizer"; version="1.4.8"; sha256="1q2l32lkxv87vaih5wqfn6n2a2q6mlaw83mgrn4g5ircp5z3r98j"; depends=[crayon diffobj]; };
-  units = derive2 { name="units"; version="0.6-3"; sha256="0kx640h60s3zzkdr302asap7diap6vri6d41scnx507yvkcqiph3"; depends=[Rcpp]; };
-  unittest = derive2 { name="unittest"; version="1.3-0"; sha256="0haf3s3pc5bhsm6y5njghr9w8ifsjxczm5r7g0ynylwzvd019n8b"; depends=[]; };
-  univOutl = derive2 { name="univOutl"; version="0.1-4"; sha256="041cc1jn95zababc4i84c378i204zkn865k2vd7mk1piwm3qkrj5"; depends=[Hmisc robustbase]; };
+  units = derive2 { name="units"; version="0.6-5"; sha256="02nls8m0r1r7kljs4x35naz3szq62hyqyd5vracf1xwi1kz5kdsh"; depends=[Rcpp]; };
+  unittest = derive2 { name="unittest"; version="1.4-0"; sha256="1wyiikccnkw8fzrjrb2a80lw2xyiii4zb0hrbzfszy2bd6prqxx4"; depends=[]; };
+  univOutl = derive2 { name="univOutl"; version="0.1-5"; sha256="193wrpkvgmlrx43nag8w3ivrlqm37nm6g86wcvd3bgw3hchs70gi"; depends=[Hmisc robustbase]; };
   unival = derive2 { name="unival"; version="1.0.2"; sha256="1sw0z7dmicmka3znrc1c5v0s9g8cpqapacdjzl5i4k5ak2qq35qp"; depends=[optimbase psych]; };
   unix = derive2 { name="unix"; version="1.5"; sha256="0sgm1gzfkfilrsgmv567ld79azmfk076xl998sv139kh9dvwgsyx"; depends=[]; };
   unjoin = derive2 { name="unjoin"; version="0.0.3"; sha256="08vjgl4dnh9kycrvdq5ngf57fy61n0nc582bi4znv06pq696rkwp"; depends=[dplyr rlang tibble]; };
-  unmarked = derive2 { name="unmarked"; version="0.12-3"; sha256="0cbi3saga4g39x68xxhvk07wd0qwjx9jih3g5lhz0zidz4fp3g40"; depends=[lattice Matrix plyr raster Rcpp RcppArmadillo reshape2]; };
+  unmarked = derive2 { name="unmarked"; version="0.13-0"; sha256="02i6iz4fqzb2frpscgq2kb7ywk2kpwsa3k9lx4c06p4x5zfhqfyj"; depends=[lattice MASS Matrix plyr raster Rcpp RcppArmadillo reshape2]; };
   unpivotr = derive2 { name="unpivotr"; version="0.5.1"; sha256="0j2q98xm3gg3mscn9ckl4pcihwc4p5gn4sk5sr1nqi4ghc047qaf"; depends=[cellranger dplyr forcats magrittr pillar purrr rlang tibble tidyr tidyselect xml2]; };
   unrepx = derive2 { name="unrepx"; version="1.0"; sha256="1dzvwpza60y9p7kz1f0bm20wid5jyxx9pma4w41az9shq5kkr0aj"; depends=[]; };
   unrtf = derive2 { name="unrtf"; version="1.3"; sha256="06v6hjpbybv07vqfq23i2s6j0ic035vnm0i4wfqgiw0pw6c85242"; depends=[sys]; };
   unsystation = derive2 { name="unsystation"; version="0.2.0"; sha256="02da7wzzk5bwd475i67v5x04ay2bn5yd5xffl1asqcqxcc5sy0m8"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
   untb = derive2 { name="untb"; version="1.7-4"; sha256="1i7m4vfslsix98dwx4jlrsldm7fhhfp25gr7aapcxqxms7ryaby6"; depends=[Brobdingnag partitions polynom]; };
   unvotes = derive2 { name="unvotes"; version="0.2.0"; sha256="0wanvivwm1nmqadq2vapg27kasnjnr0a4np2kw54wj9pg21izqic"; depends=[]; };
-  updog = derive2 { name="updog"; version="1.1.0"; sha256="0zyb9n7wlxvigi4w4rz0nrhpzdycvvdgz6hc4bg4v4bk0k8dnkmk"; depends=[assertthat doParallel foreach ggplot2 ggthemes Rcpp RcppArmadillo stringr]; };
+  updog = derive2 { name="updog"; version="1.1.3"; sha256="0dnvf205x39sb236652rsa2c9wlb8a6c93i8ldr2f9mhrhwndzbp"; depends=[assertthat doParallel foreach ggplot2 ggthemes Rcpp RcppArmadillo stringr]; };
   uplift = derive2 { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[coin MASS penalized RItools tables]; };
   uplifteval = derive2 { name="uplifteval"; version="0.1.0"; sha256="1gnn40c47rpx40j210bz6fb48d70p6spv3drr8hd5b3vzfz6686c"; depends=[dplyr ggplot2 gridExtra whisker]; };
   upmfit = derive2 { name="upmfit"; version="0.1.0"; sha256="0f0rk606v17abgw3mwlwihl6fsxprp44h2xbhv1675i18i36vbgx"; depends=[mcmcplots R2jags]; };
-  uptasticsearch = derive2 { name="uptasticsearch"; version="0.3.1"; sha256="0marsngdcpaavkdxdcqv1k2rvivkh4a0kzh977idjc4lm86c9bdl"; depends=[assertthat data_table futile_logger httr jsonlite purrr stringr uuid]; };
+  uptasticsearch = derive2 { name="uptasticsearch"; version="0.4.0"; sha256="19sf3zdj424pz4ms0xg4asplf2bczvhl8p22y13jna1g51xyv92a"; depends=[assertthat data_table futile_logger httr jsonlite purrr stringr uuid]; };
   uptimeRobot = derive2 { name="uptimeRobot"; version="1.0.0"; sha256="1sbr0vs6jqcyxjbs7q45bsfdnp3bc59phw0h3fwajqq1cxjgzdww"; depends=[plyr RCurl rjson]; };
   upwaver = derive2 { name="upwaver"; version="1.2.0"; sha256="0zz8l7nav59l1n5g7bnqzkw3sh9v857zm0ld68ycmdjy9d0q0yb8"; depends=[assertthat httr rjson XLConnect xlsx]; };
   uqr = derive2 { name="uqr"; version="1.0.0"; sha256="0f7isjfb5almp1zypxzw3lfkygkcixmg0xdsw0zznf61r6qhbqyr"; depends=[gtools Hmisc]; };
   urbin = derive2 { name="urbin"; version="0.1-8"; sha256="0nbcs4rjqdqmyq046kx3nnvaxxzi0rxcxjma11lpn4ws1wdm6bng"; depends=[]; };
   urca = derive2 { name="urca"; version="1.3-0"; sha256="1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732"; depends=[nlme]; };
-  urlshorteneR = derive2 { name="urlshorteneR"; version="1.1.1"; sha256="091ycw98cqgxsxky3n60iilhgnf3j9vp9k3c2aspfc646c9z7zm1"; depends=[assertthat httr jsonlite lubridate stringr]; };
+  urlshorteneR = derive2 { name="urlshorteneR"; version="1.1.2"; sha256="1gxyc9a81lsn72x7c29lz6k9k5ylqd0j65yhy2qj8lslnmg869vz"; depends=[assertthat httr jsonlite lubridate stringr]; };
   urltools = derive2 { name="urltools"; version="1.7.3"; sha256="04x3my655dd287cbsszbnf75q0swmjlxxrblcsay7a8n3df3a830"; depends=[Rcpp triebeard]; };
-  uroot = derive2 { name="uroot"; version="2.0-10"; sha256="004f5rzrvvm5s63p4inznvisfj2lr8ndimf6dr44699vbpwljdkj"; depends=[]; };
+  uroot = derive2 { name="uroot"; version="2.1-0"; sha256="1hhq7ns2pyiziwx6sx7sb6445p3nynv7l04rksjngai2vpdaj0iw"; depends=[]; };
   usdarnass = derive2 { name="usdarnass"; version="0.1.0"; sha256="10fh9anpmbb7i70q3hjxbplrkqa1q86zgh8nldsf2i526p62hpm1"; depends=[httr jsonlite readr]; };
   usdm = derive2 { name="usdm"; version="1.1-18"; sha256="1sis47fri2lrbx2ll5ps7bvycjqhncnia800izf11szgayim5lrv"; depends=[raster sp]; };
-  usedist = derive2 { name="usedist"; version="0.1.0"; sha256="17mldp0888ig2xc8cp1nhldj5g3srwmbx3mfcnzz21n1fz31jkmg"; depends=[]; };
+  usedist = derive2 { name="usedist"; version="0.3.0"; sha256="11bklq2fzmk49rnmlrpjlf9qn4lzdzx52722wy0mfd3qsg9mpcbm"; depends=[]; };
   useful = derive2 { name="useful"; version="1.2.6"; sha256="0n50v1q75k518sq23id14jphwla35q4sasahrnrnllwrachl67v1"; depends=[assertthat dplyr ggplot2 magrittr Matrix plyr purrr scales]; };
+  usefun = derive2 { name="usefun"; version="0.4.1"; sha256="1fv10s73hk0xnwrigri9713bxa03jhrf8lafc110syihdj7d5kvx"; depends=[]; };
   userfriendlyscience = derive2 { name="userfriendlyscience"; version="0.7.2"; sha256="17arxxha8qr876nrf9szpymgamxlvacj3lfbmpiv973kyi3hr7m4"; depends=[BiasedUrn car data_tree DiagrammeR digest diptest GGally ggplot2 ggrepel ggridges GPArotation gridExtra gtable knitr lavaan lme4 MASS MBESS minpack_lm pander plyr psych pwr RColorBrewer rio scales SCRT SuppDists ufs viridis XML xtable]; };
   usethis = derive2 { name="usethis"; version="1.5.1"; sha256="07an5wbikilg7cb3q6x5aykw8dfqnjrc3wpfb7gjmy0d9fh20fcy"; depends=[clipr clisymbols crayon curl desc fs gh git2r glue purrr rlang rprojroot rstudioapi whisker withr yaml]; };
   usfertilizer = derive2 { name="usfertilizer"; version="0.1.5"; sha256="05zjn39hqjjzzp4v4b1zbqq59205s7k0kikms951h57kbyvjz6vk"; depends=[tidyverse]; };
+  ushr = derive2 { name="ushr"; version="0.1.0"; sha256="1m25pi96hkv4v2933clgzyknp36mvn9hsay8k4phqar4xxarrm11"; depends=[dplyr ggplot2 tidyr]; };
   uskewFactors = derive2 { name="uskewFactors"; version="2.0"; sha256="0ndi5987ak8sa7krgiglsibfg0k7z9j8fg47hg1m8ar0sq4r1yj6"; depends=[MASS MCMCpack mvtnorm tmvtnorm]; };
   usl = derive2 { name="usl"; version="1.8.0"; sha256="04w7p9i08a51smgg11kh4hablic5rjmr5hndrnlg49j5h20i7w1v"; depends=[nlsr]; };
-  usmap = derive2 { name="usmap"; version="0.4.0"; sha256="1sslvh2wbc52dnc9sy8m312amykcl5bvqhws1lvma5d21jn3scmh"; depends=[]; };
+  usmap = derive2 { name="usmap"; version="0.5.0"; sha256="0fjmmw8xhba31gv8mx9k55881yb94z518csbqas3bvssq5s7048f"; depends=[]; };
   ustyc = derive2 { name="ustyc"; version="1.0.0"; sha256="1267bng2dz3229cbbq47w22i2yq2ydpw26ngqa1nbi3ma6hwqsv4"; depends=[plyr XML]; };
   utc = derive2 { name="utc"; version="0.1.5"; sha256="1lhm5rhr78cxp3cz5n6j2zkhjphj7csk026xvvhkjqdi39rrq6i4"; depends=[]; };
   utf8 = derive2 { name="utf8"; version="1.1.4"; sha256="0m0ywg8k3blfiahxvh1i4zn9dksrlc937d2lbza5fc38zjnrrnpn"; depends=[]; };
-  utile_tables = derive2 { name="utile.tables"; version="0.1.5"; sha256="0z3frv84q1hq60b2qdj7wfxqv62cs9986r0dki7lc0vfs7cyai2h"; depends=[dplyr magrittr purrr rlang survival tibble tidyr utile_tools]; };
-  utile_tools = derive2 { name="utile.tools"; version="0.2.0"; sha256="0k3lj94k6ajfpy36rrzwl8b3w2dccshrsmwn8zl70y5159ivm1z2"; depends=[dplyr lubridate purrr rlang stringr tibble]; };
-  utile_visuals = derive2 { name="utile.visuals"; version="0.2.0"; sha256="1wh41iiqi1lwsjifglr5ip1ajz8vhnijzjpb7l9lwbvivphhlcwh"; depends=[ggplot2 gridExtra purrr utile_tools]; };
-  utility = derive2 { name="utility"; version="1.4.3"; sha256="12g2y9xzzi2sl3ya3va1p7nc7hrjhr4arsz06f8xlxw5n8kvdxag"; depends=[]; };
+  utile_tables = derive2 { name="utile.tables"; version="0.1.8"; sha256="0zxy5y8d34lssg5jr7hzqkwf92k3yy52p1qjd505zrp90sgz9cjj"; depends=[dplyr purrr rlang survival tibble utile_tools]; };
+  utile_tools = derive2 { name="utile.tools"; version="0.2.3"; sha256="0jlyrd7a96gpvs6i62smg4mcds9660y65lykqjs0dvm42c1j0823"; depends=[dplyr lubridate purrr rlang stringr tibble]; };
+  utile_visuals = derive2 { name="utile.visuals"; version="0.2.3"; sha256="1748nbj2vzigw0q97z9c6pgxa9x8h9rllh8asaahdybachwal7kh"; depends=[dplyr ggplot2 gridExtra purrr utile_tools]; };
+  utility = derive2 { name="utility"; version="1.4.4"; sha256="18ariimhlmh4gi01jdywidk3gwfcm2yhl4d0dbr8ymdxlg1f1w8g"; depends=[]; };
   utilsIPEA = derive2 { name="utilsIPEA"; version="0.0.6"; sha256="07avc0j6qkzqmznbydn0zdg743g7g7kn2bcx5n03m3wg0fqyggr7"; depends=[data_table dplyr RCurl stringdist stringr]; };
   utiml = derive2 { name="utiml"; version="0.1.5"; sha256="02wxsg1gg2y83cii5ly7r8lk376kas261f9qyl03z55p5m72w9zy"; depends=[mldr ROCR]; };
   uuid = derive2 { name="uuid"; version="0.1-2"; sha256="1gmisd630fc8ybg845hbg13wmm3pk3npaamrh5wqbc1nqd6p0wfx"; depends=[]; };
   uwIntroStats = derive2 { name="uwIntroStats"; version="0.0.7"; sha256="0lihcjd79sqnw64bd2d4p02rl7fmzpyykrdi7b5dsnnwjhr0ks6r"; depends=[Exact geepack plyr sandwich survival]; };
-  uwot = derive2 { name="uwot"; version="0.1.3"; sha256="1mq6qi8q9xslh1b99srj480s2a08pfv4bs9m2ykyijj44j9fcdj9"; depends=[dqrng FNN irlba Matrix Rcpp RcppAnnoy RcppParallel RcppProgress RSpectra]; };
+  uwot = derive2 { name="uwot"; version="0.1.4"; sha256="1y9wpzs92d1fl2x5figfywd48lkyhwx37j542z0rf6ckrl46n89n"; depends=[dqrng FNN irlba Matrix Rcpp RcppAnnoy RcppParallel RcppProgress RSpectra]; };
   vMask = derive2 { name="vMask"; version="1.0"; sha256="14zfmgidlvlmm9anjcz3wvz4crc24ysq7jj1j1078fp7px5vvr8z"; depends=[]; };
   vaersNDvax = derive2 { name="vaersNDvax"; version="1.0.4"; sha256="0hvw7vbxs87c9xkdv3617fkjwz2dbawscbd7dgaixhdhcr3k823a"; depends=[]; };
   vaersvax = derive2 { name="vaersvax"; version="1.0.5"; sha256="0bfbpdjnykvb9r0p28bz8lrqxksy4jvwnd28y6gdlprpisiipiic"; depends=[]; };
@@ -14275,19 +14858,22 @@ in with self; {
   vagam = derive2 { name="vagam"; version="1.0"; sha256="01bij09nzb6lg2rac2yjnbpywvllgk5dnm50a5k3qffp6fhywa80"; depends=[gamm4 Matrix mgcv mvtnorm truncnorm]; };
   valaddin = derive2 { name="valaddin"; version="1.0.0"; sha256="0dws2mcjpyw0jn0h6badhlnxg88c6mgzvcp2fjjrpr5mpcgps1c8"; depends=[lazyeval]; };
   valection = derive2 { name="valection"; version="1.0.0"; sha256="0104zcg3cw57ksgmb321hnyv095mn3frxci9vikj1smwarpnrpzc"; depends=[testthat]; };
+  valetr = derive2 { name="valetr"; version="0.1.0"; sha256="0lwdqx3wn8dn5cxypnmhwr8py461iyccgq437az0209akc72a7z4"; depends=[curl jsonlite]; };
   validann = derive2 { name="validann"; version="1.2.1"; sha256="00c0hkjiv8n7mksx6sknb4xkkivxr1ml31k697csv4imwrk09dy5"; depends=[moments]; };
-  validate = derive2 { name="validate"; version="0.2.6"; sha256="0aadfqk02c3qjzyn0n7g62b5dv1mhyic76xprfa2cdy3sg8vp8jd"; depends=[settings yaml]; };
+  validate = derive2 { name="validate"; version="0.9.2"; sha256="1zy94dipyw7cgfq3cp7a5dmri7lw6h4m0nrzgf5gq49dsqpyvnlz"; depends=[settings yaml]; };
   validateRS = derive2 { name="validateRS"; version="1.0.0"; sha256="1ivw9ddr6z2wrsqvhbn87p5pikhkxlz8p45pb5nq13dvs359vkww"; depends=[data_table reshape2 triangle truncnorm]; };
   validatejsonr = derive2 { name="validatejsonr"; version="1.0.4"; sha256="1n8jf7j3hvz47z1x3gqz5yj5wxfjzz0zgzkgckdvy1nbsqf7w3cr"; depends=[Rcpp]; };
   validatetools = derive2 { name="validatetools"; version="0.4.6"; sha256="19qn2azx3yhjmz286bbn37kgvilmhg13mpnxwqj1qaa3791jhq8r"; depends=[lpSolveAPI validate]; };
   valorate = derive2 { name="valorate"; version="1.0-1"; sha256="06vczszpkipsxfs7h6ld33vvxb5ci62rwg3cglwy3lcfifhbnsfi"; depends=[survival]; };
   valottery = derive2 { name="valottery"; version="0.0.1"; sha256="0rlv8agm9ng4jcb9ixqifh7kjczvkx7047brq8yf9kg7rb8mzgpz"; depends=[]; };
   valr = derive2 { name="valr"; version="0.5.0"; sha256="14jhrwkiwmha3vlmm7b50n2xxyizj6ddmy89gb20mpzq7qhz1ika"; depends=[broom dplyr ggplot2 Rcpp readr rlang stringr tibble]; };
+  valueEQ5D = derive2 { name="valueEQ5D"; version="0.5.0"; sha256="0835p71lipihxks8mzb4wisrjlnlqb794khzw0bh6f6j5s3kaspb"; depends=[rstudioapi testthat]; };
   valuer = derive2 { name="valuer"; version="1.1.2"; sha256="0mbwzsvy34ppngyxdzpd9w1r4f00cik4maqab9kpiflrrv9xdp78"; depends=[ggplot2 orthopolynom R6 Rcpp RcppEigen timeDate yuima]; };
   vamc = derive2 { name="vamc"; version="0.1.0"; sha256="1rcyj2zsx33rxmhw7p1i45cm6z6380df0bayxlyizi7vh43ggy6p"; depends=[Rdpack]; };
   vanddraabe = derive2 { name="vanddraabe"; version="1.1.1"; sha256="094kd72slq0n3pk0p6zps241aszb9yql49h4mr007zf0kn8wlf8v"; depends=[bio3d cowplot fastcluster ggplot2 openxlsx reshape2 scales]; };
   vanquish = derive2 { name="vanquish"; version="1.0.0"; sha256="01di1j36npl7vnyhgsagvyf6j8bxcw867dwf9dgi7l1328s7lf0l"; depends=[changepoint e1071 ggplot2 VGAM]; };
-  vapour = derive2 { name="vapour"; version="0.2.0"; sha256="1dqf9avd7nirajy98pz2jsk0nhar4msg5q900brb2kkhpg0kvn3p"; depends=[Rcpp]; };
+  vapour = derive2 { name="vapour"; version="0.4.0"; sha256="0vv8vd5gkhf7vjicm1r3c6liibgvdfnm030b1p7fm71jb7ycg49p"; depends=[Rcpp]; };
+  varEst = derive2 { name="varEst"; version="0.1.0"; sha256="0i6nsxl5w4zipzrmdvx8plmxr33n405w2qhks3s7zzs3kcys32v6"; depends=[caret glmnet lm_beta SAM]; };
   varImp = derive2 { name="varImp"; version="0.3"; sha256="08kqnqv29bmw2lqnsyffnbwr3a0f97mf593pkwzak6wy0mkqrm5z"; depends=[measures party]; };
   varSel = derive2 { name="varSel"; version="0.1"; sha256="0ddj3swfxzchs75kfi6h25h3c33hpapnd5kcwcijnqhlh902b1r0"; depends=[]; };
   varSelRF = derive2 { name="varSelRF"; version="0.7-8"; sha256="0h49rl1j13yfh97rsfsyh9s2c4wajny4rzms2qw77d0cavxqg53i"; depends=[randomForest]; };
@@ -14296,8 +14882,8 @@ in with self; {
   varbvs = derive2 { name="varbvs"; version="2.5-16"; sha256="0pji7vqpbih01y7n0q6zpxhfszznzig4z3hmmpr4jqpdplv13x8d"; depends=[lattice latticeExtra Matrix nor1mix Rcpp]; };
   varclust = derive2 { name="varclust"; version="0.9.4"; sha256="0knmfq3pn38j8p29j6sqapdv3g5335si3gwiw932ml5z49a8ga5m"; depends=[doParallel doRNG foreach pesel RcppEigen]; };
   vardiag = derive2 { name="vardiag"; version="0.2-1"; sha256="07i0wv84sw035bpjil3cfw69fdgbcf2j8wq4k22narkrz83iyi2z"; depends=[]; };
-  vardpoor = derive2 { name="vardpoor"; version="0.15.0"; sha256="1zz3gqri7g24wbz1b76qmsl8s79ry7vdi0dj77hd6zncdgch1bzv"; depends=[data_table foreach ggplot2 laeken MASS plyr pracma stringr surveyplanning]; };
-  varhandle = derive2 { name="varhandle"; version="2.0.3"; sha256="11yisjgqc8fq0sj1kzgp51i926cs4yqkpfmbis5ak786wqalc6na"; depends=[]; };
+  vardpoor = derive2 { name="vardpoor"; version="0.16.0"; sha256="09dy1q1lx3b53an7qdszqzl5r4aswddy3046cvz997k1f692mwda"; depends=[data_table foreach ggplot2 laeken MASS plyr pracma stringr surveyplanning]; };
+  varhandle = derive2 { name="varhandle"; version="2.0.4"; sha256="17hvn991268xdfmxx9a03k04zy9gbd4jihyl0750pm3flsldarrl"; depends=[]; };
   variables = derive2 { name="variables"; version="1.0-2"; sha256="02q1fyd7r0xclvwbiqz07dr6y5g2sqfjj1qv5hvvhs0vmx93w7f9"; depends=[]; };
   varian = derive2 { name="varian"; version="0.2.2"; sha256="0jyw46qx2w19h02mrwv3w3n8qc1n4b3ckm38qly1y4a4w9ib6c2i"; depends=[Formula ggplot2 gridExtra MASS rstan]; };
   variantspark = derive2 { name="variantspark"; version="0.1.1"; sha256="13hkp6l64hi7xlll09gin7kdlkqrkn0lggrw8147zy9ivhknhk59"; depends=[sparklyr]; };
@@ -14305,6 +14891,8 @@ in with self; {
   varjmcm = derive2 { name="varjmcm"; version="0.1.0"; sha256="02l0d896faakh9pdq2rzl2psmrj7l2pvacz7nk3r6552glsk7h18"; depends=[expm jmcm MASS Matrix]; };
   varrank = derive2 { name="varrank"; version="0.2"; sha256="19c40wwiadyqwn4z7nd22ynpa4wxr2anr2487mllmpg1d7wz3y38"; depends=[FNN]; };
   vars = derive2 { name="vars"; version="1.5-3"; sha256="0zc6v827ll19n088n31afgjf65zqwvyzmmj4q3ab1xhqzxfsgbw6"; depends=[lmtest MASS sandwich strucchange urca]; };
+  varsExplore = derive2 { name="varsExplore"; version="0.1.0"; sha256="1sscz565i288nmk7sv03kj2xysfppvil4nl2lxxbvp3y4mrkz09b"; depends=[dplyr DT glue magrittr purrr rio rstudioapi stringr tidyr]; };
+  varycoef = derive2 { name="varycoef"; version="0.2.9"; sha256="1hc6w5bmmp98bnly7wyb10ljdsfl40xy2i60lmrask93zk80br7f"; depends=[fields RandomFields sp spam]; };
   vaultr = derive2 { name="vaultr"; version="1.0.2"; sha256="1b7g0jplp5dw1img7d6wm75gaycb3z8a8mzc6s0iwvhbfl8vf574"; depends=[getPass httr jsonlite R6]; };
   vbdm = derive2 { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; };
   vbsr = derive2 { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
@@ -14312,7 +14900,7 @@ in with self; {
   vcdExtra = derive2 { name="vcdExtra"; version="0.7-1"; sha256="163x9hhvhgdmrqbcig7b120lk63svy0y652scbrcb11f85zrgb0c"; depends=[ca gnm MASS vcd]; };
   vcfR = derive2 { name="vcfR"; version="1.8.0"; sha256="1684lamsivwaqzvmwzhrrziwczkaqn3mhbdr86zbjdhr1jcgkz2z"; depends=[ape dplyr magrittr memuse pinfsc50 Rcpp stringr tibble vegan viridisLite]; };
   vcov = derive2 { name="vcov"; version="0.0.1"; sha256="1w89mr8dk6436bxap28rszajgm9k7sjfqsr1i4p68dlhw8zk4yq1"; depends=[]; };
-  vcr = derive2 { name="vcr"; version="0.2.6"; sha256="0gqsiphlnq1lh6mqg9ikipxfzyzdiqxcvbwi0gpgfjk10gjj8f13"; depends=[base64enc crul httr lazyeval R6 urltools webmockr yaml]; };
+  vcr = derive2 { name="vcr"; version="0.3.0"; sha256="0wbd6mf2v769rl0h1dw4fzznypaavfr1gw51sk100qiln46jvz05"; depends=[base64enc crul httr lazyeval R6 urltools webmockr yaml]; };
   vcrpart = derive2 { name="vcrpart"; version="1.0-2"; sha256="1xfvsxgyf39d2qxnm40nzkqp7q12y8nbpn9h154n876zxxfs7gh1"; depends=[formula_tools nlme numDeriv partykit rpart sandwich strucchange ucminf zoo]; };
   vctrs = derive2 { name="vctrs"; version="0.2.0"; sha256="05h0y8qzwc899qj84gkhg4jwzscd065as00d4d8smv42h4i8zkjv"; depends=[backports digest ellipsis glue rlang zeallot]; };
   vcvComp = derive2 { name="vcvComp"; version="1.0.1"; sha256="1103hjzd29f8gpsfbagdryq52m6fkhhh9dbqhbmhixxlimc7sd03"; depends=[]; };
@@ -14323,20 +14911,18 @@ in with self; {
   veccompare = derive2 { name="veccompare"; version="0.1.0"; sha256="03nyyxvhhwfxxg5w6qflk7q234ipbhj9fd4abcp50sxz3diabch1"; depends=[corrplot gtools pander purrr qgraph reshape2 VennDiagram]; };
   vecsets = derive2 { name="vecsets"; version="1.2.1"; sha256="086af6swjpbkd140yvb76affy5gn4p9xm41m3akm8axc3qk0hybg"; depends=[]; };
   vegalite = derive2 { name="vegalite"; version="0.6.1"; sha256="0dlzhvrg3nj6knyycdgg3d1vzq3dn9vxb34fjin9hzilszqmarbk"; depends=[base64 clipr digest htmltools htmlwidgets jsonlite magrittr webshot]; };
-  vegan = derive2 { name="vegan"; version="2.5-5"; sha256="0wb90ng02gi13854bjq0b8a2vrknyhb0s0l1v3z38c4zy9k54sw7"; depends=[cluster lattice MASS mgcv permute]; };
+  vegan = derive2 { name="vegan"; version="2.5-6"; sha256="0g60rgn1i7wqf9pf5m1yki1m45gcp7i5hmjic0ci0f6vng70mh5k"; depends=[cluster lattice MASS mgcv permute]; };
   vegan3d = derive2 { name="vegan3d"; version="1.1-2"; sha256="01yyhrapdvs6rr5hw1ij4jnpz7mq005s35pn96snpy8ngn6ir386"; depends=[cluster rgl scatterplot3d vegan]; };
   vegawidget = derive2 { name="vegawidget"; version="0.2.1"; sha256="1afmz3bpd863hghvfbv3yicy9hf29fr9ga741yxbkx5jd8grxzzs"; depends=[assertthat glue htmltools htmlwidgets jsonlite magrittr rlang]; };
   vegclust = derive2 { name="vegclust"; version="1.7.7"; sha256="0f81jw429ib601lvbzi4q23kb5n6lvavlgw56wfqdmvvkl68vwlc"; depends=[circular Kendall MASS Rcpp sp vegan]; };
-  vegdata = derive2 { name="vegdata"; version="0.9.5"; sha256="145frmlsdb7m5z8qa03js4061pqmgvy3gykxkpiv1wv2wnfzyvnr"; depends=[foreign XML]; };
+  vegdata = derive2 { name="vegdata"; version="0.9.7"; sha256="1cfb993p8sgm08g5859v4q9mil3a64yzhx3hzddvp536pq7jsc86"; depends=[foreign plyr xml2]; };
   vegetarian = derive2 { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
   vegperiod = derive2 { name="vegperiod"; version="0.2.6"; sha256="0v8bpxaa0xp8ywnycxs3613scncrhv8g7p99j6n5hs26m4h1km49"; depends=[]; };
-  vegtable = derive2 { name="vegtable"; version="0.1.4"; sha256="1gk80i4gi98nigiya4n8ng8d2y7l3j63i1ijg4g80nfr5w64qh5w"; depends=[foreign plotKML qdapRegex sp stringi taxlist vegdata]; };
-  vein = derive2 { name="vein"; version="0.7.12"; sha256="1f2x8bdhfsj5v6gql1qq8g2lrxjj5z9pji2iirsy1samqxnnpirk"; depends=[data_table eixport sf sp units]; };
+  vein = derive2 { name="vein"; version="0.8.0"; sha256="1yaz7vxcb6sspalsdzjjb0i08w0s2f0p3ms0gli1v8z4qfgg5izz"; depends=[data_table eixport sf sp units]; };
   velociraptr = derive2 { name="velociraptr"; version="1.1.0"; sha256="0a67vmv05cxc9f27aqzr6nkgy2mj3fhykwj5nb23qwfqa669a5hi"; depends=[sf]; };
   velox = derive2 { name="velox"; version="0.2.0"; sha256="1jrarfsfflvpc0dqh5gnw92fk8zic222n7pr7hd0lhr5d389k6d0"; depends=[BH raster Rcpp rgdal rgeos sf sp]; };
   vembedr = derive2 { name="vembedr"; version="0.1.3"; sha256="0zg6j0g9l7j36ifwabhxrin5z0dics66bqkc7x6rqijmizk1xpba"; depends=[htmltools httr magrittr stringr]; };
   venn = derive2 { name="venn"; version="1.7"; sha256="0lll5bcwx64di4m0k56f00vsfaas2l2mkcbblniq302v0g12v8cj"; depends=[]; };
-  vennLasso = derive2 { name="vennLasso"; version="0.1.5"; sha256="05msl15kgscj8dhnvb9ngkqldasgvw4jrfmkbfrfajbw1w3qbqm3"; depends=[foreach igraph MASS Matrix Rcpp RcppEigen RcppNumerical survival VennDiagram visNetwork]; };
   venneuler = derive2 { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
   vennplot = derive2 { name="vennplot"; version="1.0"; sha256="0x59awa1zsjwk5qb1jzv6d2mn2fm4aq1lq8zlbnf1da0h4837yab"; depends=[Rcpp rgl stringr]; };
   verification = derive2 { name="verification"; version="1.42"; sha256="0pdqvg7cm9gam49lhc2xy42w788hh2zd06apydc95q2gj95xnaiw"; depends=[boot CircStats dtw fields MASS]; };
@@ -14347,49 +14933,52 @@ in with self; {
   vetr = derive2 { name="vetr"; version="0.2.7"; sha256="1gwaa5wz675g6hgifwvskix929ar1jk2h0gpfyhxifzdb6dp2mw4"; depends=[]; };
   vfcp = derive2 { name="vfcp"; version="1.4.0"; sha256="0zj1ihqdx5x1695al1xyi8k001yw8x7gdss72myxlnh7b4flnp9m"; depends=[copula extraDistr stringr]; };
   vfprogression = derive2 { name="vfprogression"; version="0.7.1"; sha256="0kgw1jx0rl9v8qy8qg7zjzdgvwqdi7k1lsvsx3lnpw4sfpkzsq23"; depends=[]; };
+  vhcub = derive2 { name="vhcub"; version="1.0.0"; sha256="04a8hdm4pxl8fzwy9q2wqc9q0dl5r49xwbid70yj9qlflh683id0"; depends=[Biostrings coRdon ggplot2 seqinr stringr]; };
   vhica = derive2 { name="vhica"; version="0.2.4"; sha256="0km49lrzn9rm3wxadwxc290dvx3bsblbmna7f9lnkq6g1z5jdqwg"; depends=[]; };
   viafr = derive2 { name="viafr"; version="0.1.0"; sha256="14y5k1vskfzxfpzjkk9602p8mvvyfrf3qpr517zdb714wv3gwk3h"; depends=[assertthat crul dplyr jsonlite magrittr purrr rlang stringr tibble tidyr utf8]; };
+  vici = derive2 { name="vici"; version="0.5.2"; sha256="0qad8ab04ndd29kcmd388piiymablfc7xlv6iml4sxkid7z5kgby"; depends=[cowplot DT ggplot2 ggpubr nlme shiny tidyr]; };
   vietnamcode = derive2 { name="vietnamcode"; version="0.1.1"; sha256="0vc0c1fg30afar2dkch5h27b8jbglcd9ja6d5hcypnibqz4c68vz"; depends=[]; };
   viewshed3d = derive2 { name="viewshed3d"; version="2.0.0"; sha256="0wil1k64clfzjl2j5gl4xi4m4q0l15frxsphvsajp5hqgfpk6fn0"; depends=[data_table doParallel foreach iterators rgl tcltk2 viridis VoxR]; };
-  vimp = derive2 { name="vimp"; version="1.1.4"; sha256="146z6xismk97613cdiz508hn0mgg0w0rqnjb9as66sq57kqgn5yn"; depends=[SuperLearner]; };
-  vinereg = derive2 { name="vinereg"; version="0.5.0"; sha256="17qni21jaizmfzl975xd39ahlc5flfnmy6xy7n9adfv346f3zwp0"; depends=[cctools furrr future kde1d rvinecopulib]; };
+  vimp = derive2 { name="vimp"; version="1.1.6"; sha256="1jczlg8sa62f9skn32gbc094lbm41w5hp65w1k1imqxcvb43n8ql"; depends=[SuperLearner]; };
+  vinereg = derive2 { name="vinereg"; version="0.7.0"; sha256="1fviqzs879n7rin3b0jks8dfvcxiay8jssqy7salslghpj7rkm84"; depends=[assertthat BH kde1d Rcpp RcppEigen RcppThread rvinecopulib wdm]; };
   vines = derive2 { name="vines"; version="1.1.5"; sha256="057d2fdh03cq9kh4vz94arqscahmz14xbr2g59l0vn205lnyilf1"; depends=[ADGofTest copula cubature TSP]; };
   violinmplot = derive2 { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; };
-  vioplot = derive2 { name="vioplot"; version="0.3.2"; sha256="13kfjp747bnzksai8j39y2hyl3ljc6n53c2cfhaw78q3d63x0lbv"; depends=[sm zoo]; };
+  vioplot = derive2 { name="vioplot"; version="0.3.4"; sha256="1fsklymilspzz5fzlj7666x09aglaw0v4x0yfjjzy4vr5qpjc529"; depends=[sm zoo]; };
   viopoints = derive2 { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
   vip = derive2 { name="vip"; version="0.1.3"; sha256="140sv4rp7g600adh0mq8k8m8v6qdb6rkan87fh6i0svw67vbjr16"; depends=[ggplot2 gridExtra magrittr ModelMetrics pdp plyr tibble]; };
   vipor = derive2 { name="vipor"; version="0.4.5"; sha256="112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"; depends=[]; };
   viridis = derive2 { name="viridis"; version="0.5.1"; sha256="060rf1jn29dq53y3nhb0hykvcap6rqsk04rq544ypiiqb18ngwnx"; depends=[ggplot2 gridExtra viridisLite]; };
   viridisLite = derive2 { name="viridisLite"; version="0.3.0"; sha256="1by2l05f0yabwvv64lhnv7bbhx0w683s3wr9j2xda920ghpa23kq"; depends=[]; };
+  viromeBrowser = derive2 { name="viromeBrowser"; version="1.0.0"; sha256="0adyf6ssi0ph7x880inj1vfmpjfbsaavjavjnrpr9cb6p0qdmvyc"; depends=[Biostrings data_table DT ggplot2 markdown plyr rbokeh reshape Rsamtools shiny shinycssloaders shinydashboard shinyWidgets stringr]; };
   virtualPollen = derive2 { name="virtualPollen"; version="1.0.0"; sha256="16q1smwh3ryids3pa7lb4i4pxmjjyl449w6fikkrm9ybj1k8gfcf"; depends=[cowplot ggplot2 mgcv plyr tidyr viridis]; };
   virtualspecies = derive2 { name="virtualspecies"; version="1.5"; sha256="1n6qrh53a12n8ir4r16slb1qxxwm6h5kj96hpxalaqlbrr1sm3yz"; depends=[ade4 raster rworldmap sp]; };
   virtuoso = derive2 { name="virtuoso"; version="0.1.3"; sha256="12rpqrhsj0n3f360w2gh1mwjjd6w9mv42116z86zaxvic8hf5694"; depends=[curl DBI digest fs ini odbc processx ps rappdirs]; };
   virustotal = derive2 { name="virustotal"; version="0.2.1"; sha256="0lky75al8zcvmfgx7a2s3bij8ya4avdsnv046lk7564zfd8rbymw"; depends=[httr plyr]; };
-  visNetwork = derive2 { name="visNetwork"; version="2.0.7"; sha256="0a2ihqg2n9b5nzdb63r4q6d6lnssh1930x763f8f269sd9ih3b8m"; depends=[htmltools htmlwidgets jsonlite magrittr]; };
+  visNetwork = derive2 { name="visNetwork"; version="2.0.8"; sha256="0l9h14k69vfpw64qggjcqy7vv86dvhjsy3aq2hrm2h6bpz503jl9"; depends=[htmltools htmlwidgets jsonlite magrittr]; };
   visTree = derive2 { name="visTree"; version="0.8.1"; sha256="1l07zfr2hagjpdxfw5290wa3ki4bl7iqxrrhda0d1bp3wmwfz0ai"; depends=[colorspace partykit rpart]; };
   visdat = derive2 { name="visdat"; version="0.5.3"; sha256="1ikqp29nncbw1xlwyb9dqqgcdk9q0bs3wxhnhnjpb11vcjv7cz2j"; depends=[dplyr ggplot2 glue magrittr purrr readr tibble tidyr]; };
-  visreg = derive2 { name="visreg"; version="2.5-1"; sha256="106i8y16iam1kbfqd56447vfhk5mixkm92gpqcl8rf6ycd6vi5y5"; depends=[lattice]; };
+  visit = derive2 { name="visit"; version="2.1"; sha256="0kkspih7m18g5pqlwrxpgjdwqxpp23c3xyvcnvv247abl9aq81rd"; depends=[BH Rcpp RcppEigen rstan sqldf StanHeaders]; };
+  visreg = derive2 { name="visreg"; version="2.6-0"; sha256="0an58wrgn8qxmigc3nvykvglh41asdz8bn4zrzpg34dxiqykqb4b"; depends=[lattice]; };
   vistime = derive2 { name="vistime"; version="0.8.1"; sha256="0nm7sdbj99nlb46rfs5w2k62v1iikfymmz934rb21rn7cj8hs99p"; depends=[plotly RColorBrewer]; };
   vistributions = derive2 { name="vistributions"; version="0.1.1"; sha256="1s68dpcy55v6yw7ivh2xpshz6qc0qaifjd15h7rjg3zl1cx81mh3"; depends=[ggplot2 magrittr shiny]; };
   visualFields = derive2 { name="visualFields"; version="0.6"; sha256="1w6wkyzjakj6ss9nv4gzkgva4m21jbsz10c2jy660bjb25rf59ih"; depends=[deldir flip gtools Hmisc matrixStats spatstat]; };
-  visualR = derive2 { name="visualR"; version="2.0.1"; sha256="1q0vzxh6zy76yr5bd55781fk9cb7xr1bpf1fywzsi6341ds5qxys"; depends=[dplyr jsonlite optionstrat plotly quantmod zoo]; };
   visualize = derive2 { name="visualize"; version="4.3.0"; sha256="1s49sx828f25d4n93mn28xdbc81zflk2sr3h8ffs2mkjr888qd8y"; depends=[]; };
-  visvow = derive2 { name="visvow"; version="0.6.0"; sha256="0f6w7gv8pglzvnixxk0x418wva2yzc108hm0rr99rdxqixl56lyc"; depends=[Cairo DT ggdendro ggplot2 ggrepel MASS plot3D plyr pracma psych Rdpack readxl Rtsne shiny shinyBS splitstackshape svglite WriteXLS]; };
+  visvow = derive2 { name="visvow"; version="0.8.0"; sha256="1h88sbsdwbf7cpy4y6glhqla9rhi8sbzi3lxxza7yaawhg567pp9"; depends=[Cairo DT ggdendro ggplot2 ggrepel MASS plot3D plyr pracma psych Rdpack readxl Rtsne shiny shinyBS splitstackshape svglite WriteXLS]; };
   vita = derive2 { name="vita"; version="1.0.0"; sha256="114p2lzcr8rn68f0z4kmjdnragqlmi18axda9ma4sbqh8mrmjs9v"; depends=[randomForest Rcpp]; };
   vitae = derive2 { name="vitae"; version="0.2.0"; sha256="0wxd4dlw8s5wi3x9nb6kn1yb3fjg1fbswx4dfg7pl6w19gx8ff4v"; depends=[bookdown dplyr glue knitr RefManageR rlang rmarkdown]; };
   vitality = derive2 { name="vitality"; version="1.3"; sha256="17micfmlksnw167vavvhlk431fm20k74y5ggs47pgz5fwpm854zp"; depends=[]; };
-  vivo = derive2 { name="vivo"; version="0.1.0"; sha256="1xsx7qv30m9zyfqckdzycml563z1xrm0jmsbahs7il55xwg2pndh"; depends=[dplyr ggplot2 ingredients]; };
+  vivo = derive2 { name="vivo"; version="0.1.1"; sha256="0qqzlf1hhalbblx6qsl1i9s4l7hybdpd5xpwjwcv4zgjizvzgbpx"; depends=[DALEX dplyr ggplot2 ingredients]; };
   vkR = derive2 { name="vkR"; version="0.1"; sha256="0rb66am3y009wli8ykl58i02kzm6cdqz5v5d4vvzlbngz8crdkyy"; depends=[httr jsonlite XML]; };
   vlad = derive2 { name="vlad"; version="0.2.0"; sha256="0bq91n51f9cnvbqskk0vg6xn559z3a33csbvyhvcvhyjcws2yahp"; depends=[Rcpp RcppArmadillo]; };
   vmd = derive2 { name="vmd"; version="0.1.0"; sha256="17c06a9l6i90ivpvf3rgv6yrsqv36qmywmmy92y5b81zqhgmh907"; depends=[ggplot2 magrittr R6 Rcpp reshape2 scales]; };
   vmsbase = derive2 { name="vmsbase"; version="2.2.0"; sha256="1hmgi63qwf7530pxl6w8cv74sjnngf83rb5hx7icjlqr1z6x2hms"; depends=[AMORE cairoDevice chron cluster DBI ecodist fields foreign ggmap ggplot2 gmt gsubfn gWidgets gWidgetsRGtk2 intervals mapdata maps maptools marmap outliers PBSmapping plotrix R6 RSQLite sp sqldf VennDiagram]; };
   vocaldia = derive2 { name="vocaldia"; version="0.8.2"; sha256="15314sq2gbi1z47ppvy8y3ljjk12jq4k5a1dfyi56h2lpzrc76ny"; depends=[]; };
-  volesti = derive2 { name="volesti"; version="1.0.2"; sha256="1pqg96dkhiqp2wqpl18hivsxddvvf6ym3zp0rglsnmaxlmqyky1v"; depends=[BH Rcpp RcppEigen]; };
+  volesti = derive2 { name="volesti"; version="1.0.3"; sha256="099c49dy9iqrvmrmcm6h8af4q50q6b0ymnkk0s2bzaqczbpkwibj"; depends=[BH Rcpp RcppEigen]; };
   volleystat = derive2 { name="volleystat"; version="0.2.0"; sha256="0n1r0bvvmba21cs3qgpnw9jxpgl2n82fhxa40sa1w2gav5rch5i6"; depends=[]; };
   voronoiTreemap = derive2 { name="voronoiTreemap"; version="0.2.0"; sha256="1wvnqdrvba4ss4f3k8gzb720irdq2brv2aaq16ywifv8fnjf02r3"; depends=[data_tree DT htmlwidgets rlang shiny shinyjs]; };
   vortexR = derive2 { name="vortexR"; version="1.1.6"; sha256="113ndhf2f3hlhmgbg6gh5fq1az6d314fwl872dwypj2zsvfm7x03"; depends=[betareg data_table GGally ggplot2 glmulti gtools irr plyr R_utils stringr vortexRdata]; };
   vortexRdata = derive2 { name="vortexRdata"; version="1.0.5"; sha256="0b47q3aslz4110a1bfaa103i098y2ngzrjh01rwasq3gd6xbif9n"; depends=[]; };
-  vosonSML = derive2 { name="vosonSML"; version="0.27.2"; sha256="0a2qqs6kf48l5ik3dsw40xsw1wzq7bnc3vdh33jiqh2fm93nzvrp"; depends=[data_table dplyr Hmisc httpuv httr igraph magrittr RCurl RedditExtractoR rlang rtweet stringr textutils tictoc tm]; };
+  vosonSML = derive2 { name="vosonSML"; version="0.29.4"; sha256="0ngipwg83xw832ikaaqbyh2zxkwwwxalp6xrb60dk96z2r7qgj2r"; depends=[data_table dplyr Hmisc httpuv httr igraph magrittr purrr RCurl RedditExtractoR rlang rtweet stringr textutils tibble tictoc tm]; };
   vote = derive2 { name="vote"; version="1.1-0"; sha256="1kxbv4062g4x9vn4gh74c6zwdshysw5n7vx9qljhq2wrdnqzjpyg"; depends=[formattable knitr]; };
   voteogram = derive2 { name="voteogram"; version="0.3.1"; sha256="12xv0c3g4vr23c8adkk8z7m7sx31w5mjvdg9h4qbvaimb99p2r7z"; depends=[dplyr ggplot2 jsonlite scales]; };
   votesys = derive2 { name="votesys"; version="0.1.1"; sha256="1z7cx3rj3bfrkb6jkmf1m1wad5ff46zrab5vhk69wf3jbwd9h920"; depends=[data_table gtools Matrix]; };
@@ -14407,8 +14996,8 @@ in with self; {
   vsgoftest = derive2 { name="vsgoftest"; version="0.3-2"; sha256="020kghcfv8h0i7fzq3p2grhhbwvqmc9ya9r7lc1kiqg1bfgljg91"; depends=[fitdistrplus Rcpp]; };
   vstsr = derive2 { name="vstsr"; version="1.0.0"; sha256="0flsw5yw1vmj5x866klxmjqz5aimkvjiwl1zdciz63p9zffmb4gz"; depends=[httr jsonlite magrittr R6 RCurl xml2]; };
   vtable = derive2 { name="vtable"; version="0.5.0"; sha256="02dagwaakf08v9y2lm5j2r5bfz8sg6ac0hv6akmjp0llq2bd725d"; depends=[sjlabelled]; };
-  vtreat = derive2 { name="vtreat"; version="1.4.4"; sha256="0wsa2aaggscaig6zgnxl7xi9a2r6256j6dw85493b3lfifb6bdq4"; depends=[wrapr]; };
-  vtree = derive2 { name="vtree"; version="2.0.0"; sha256="1zxsvzbyq6nkghg9dx1zxs2mnxzwv54nv317fh3vq45c6wdj43cn"; depends=[DiagrammeR DiagrammeRsvg rsvg]; };
+  vtreat = derive2 { name="vtreat"; version="1.4.7"; sha256="1x2z1sc45jnbnj3p2nfb7v1r2f4lca86ky0znl5hlvk174d2nxyf"; depends=[wrapr]; };
+  vtree = derive2 { name="vtree"; version="3.0.0"; sha256="0la03f34pnrghsaszp97xl0bri71v23cqylsaqz077077aryj1m2"; depends=[DiagrammeR DiagrammeRsvg rsvg]; };
   vudc = derive2 { name="vudc"; version="1.1"; sha256="0zxz6n3ixa3xjzcinky8ymqjx9w8y8z65mz8d84dl00mxzkmkz4h"; depends=[]; };
   vwline = derive2 { name="vwline"; version="0.2-2"; sha256="1hilr996xn5wh8kfyab55w2i1c02a8x909h4ahag5q6s7603qng5"; depends=[gridBezier polyclip]; };
   vwr = derive2 { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[lattice latticeExtra stringdist]; };
@@ -14423,18 +15012,18 @@ in with self; {
   waffect = derive2 { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; };
   waffle = derive2 { name="waffle"; version="0.7.0"; sha256="1qjmai33p96cyavi9lgi6k30h6fj7db5sr569v9jf4kwx92c61df"; depends=[extrafont ggplot2 gridExtra gtable RColorBrewer]; };
   wahc = derive2 { name="wahc"; version="1.0"; sha256="1324xhajgmxq6dxzpnkcvxdpm2m3g47drhyb2b3h227cn3aakxyg"; depends=[]; };
-  waiter = derive2 { name="waiter"; version="0.0.1"; sha256="1zl95v01qbnrs7nh2rcmhjny57wvfylzrdm7gpyyxj753mzwla6b"; depends=[shiny]; };
+  waiter = derive2 { name="waiter"; version="0.0.6"; sha256="1hxp525zk422cw88cnap5kc773qff9gc840jqa0k88hh34yhyybb"; depends=[magrittr R6 shiny]; };
   wakefield = derive2 { name="wakefield"; version="0.3.3"; sha256="05z9a6g1cdavalp50wss7klnlcdbv3y1jvz1v8ry1x2bziy216y2"; depends=[chron dplyr ggplot2 stringi]; };
   walkalytics = derive2 { name="walkalytics"; version="0.1.0"; sha256="1kl6kwwnl67d45akna01xp389wjxsxlc84l0bcpadbipsqyb3kd1"; depends=[base64enc dplyr httr purrr sp stringr tibble]; };
-  walker = derive2 { name="walker"; version="0.2.5"; sha256="0y2g0pqv2147x6sa5ksyaj6hg6zs14z935cyw06vxc6bbia2isw6"; depends=[bayesplot BH dplyr ggplot2 KFAS Rcpp RcppArmadillo RcppEigen rstan StanHeaders]; };
+  walker = derive2 { name="walker"; version="0.3.0"; sha256="0p45mq6xfpzr82y8pbfv04r85prvygm6z01xda4paicmimynd2r4"; depends=[bayesplot BH dplyr ggplot2 KFAS Rcpp RcppArmadillo RcppEigen rstan StanHeaders]; };
   walkr = derive2 { name="walkr"; version="0.4.0"; sha256="1lra3ard90nzlpwwfiq50ghd3qv5xnmsp8rjhlq9rkpa7xazsnx8"; depends=[hitandrun limSolve MASS Rcpp RcppEigen shinystan]; };
   walkscoreAPI = derive2 { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
   wallace = derive2 { name="wallace"; version="1.0.6"; sha256="0pnkwdfmimnvyygbz1iz1b9fhcdi7k53wjw44kmnr2b7ln9pbcl2"; depends=[dismo dplyr DT ENMeval leaflet leaflet_extras magrittr maptools raster RColorBrewer rgdal rgeos rmarkdown shiny shinyjs shinythemes spocc spThin XML zip]; };
-  wally = derive2 { name="wally"; version="1.0.9"; sha256="1g6dywny8s8fpdnfvrlbzsp9d9dhxdxrm1j4dd3b9r6rpiajf964"; depends=[data_table prodlim riskRegression]; };
+  wally = derive2 { name="wally"; version="1.0.10"; sha256="1d03vxn6q7v0nsrkd7dxkkv3siysgicv6c13fkvwmypln9vsl6sl"; depends=[data_table prodlim riskRegression]; };
   walmartAPI = derive2 { name="walmartAPI"; version="0.1.5"; sha256="1nng8izncj2nmmpywn1ggpzvjh8q7y3q6260qhy9kbmvrrl26spf"; depends=[dplyr glue httr magrittr purrr stringr tibble]; };
   walrus = derive2 { name="walrus"; version="1.0.3"; sha256="1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj"; depends=[ggplot2 jmvcore R6 WRS2]; };
   wand = derive2 { name="wand"; version="0.5.0"; sha256="0y9xmh9a93lnadg83i223j2nf77jazz8m1ck1bmdf5jwj4vyzaqa"; depends=[]; };
-  warbleR = derive2 { name="warbleR"; version="1.1.15"; sha256="1vd2yvb1crzxbrbfk8iv31ir09xc646m8glfgqkgazhnj0y6l6yr"; depends=[bioacoustics bitops dtw fftw iterators jpeg maps monitoR NatureSounds pbapply pracma RCurl rjson seewave Sim_DiffProc soundgen tuneR]; };
+  warbleR = derive2 { name="warbleR"; version="1.1.18"; sha256="10kwr7x4m210hmhjn15rxg72mm24imibswqasdx7pkxpfbavccq1"; depends=[dtw fftw maps monitoR NatureSounds pbapply pracma RCurl rjson seewave Sim_DiffProc tuneR]; };
   warpMix = derive2 { name="warpMix"; version="0.1.0"; sha256="13zbl4aifhg7j5b3vpwgzgs09hr7yblz0rckmj5qh40s78j8cpfn"; depends=[fda fields lme4 MASS nlme reshape2]; };
   washdata = derive2 { name="washdata"; version="0.1.2"; sha256="01cnlhymh3qg9c7fda8s6lvm4j2vklmb72dfk17sn4p0kkikf9m8"; depends=[]; };
   washeR = derive2 { name="washeR"; version="0.1.2"; sha256="0sb5sgwf7y9sd291qfj1az3x6h6gmznnnsdmqizkmv2xz9029rxz"; depends=[gplots]; };
@@ -14461,28 +15050,28 @@ in with self; {
   wdm = derive2 { name="wdm"; version="0.2.1"; sha256="05yc366g2lii305ljrhh9939gf8sf517alw5xcr2sdclr00qxal4"; depends=[Rcpp]; };
   wdman = derive2 { name="wdman"; version="0.2.4"; sha256="00q9qk8qgz7fjbd9j8pxknrw8lk1ardifg8w4agyrk8r4q56b1a0"; depends=[assertthat binman semver subprocess yaml]; };
   wdpar = derive2 { name="wdpar"; version="1.0.0"; sha256="1039pf3hz5nym2y00wqwj027dc8m5ny2a1pqavbybn6cxbq0m2r1"; depends=[assertthat cli countrycode curl httr lwgeom progress rappdirs RSelenium sf sp wdman xml2]; };
-  weathercan = derive2 { name="weathercan"; version="0.2.8"; sha256="1hspjij4rhlnl3k1hidpa9sclml95q9igwf9dsy0kihlsl0g35h1"; depends=[dplyr httr lubridate purrr rlang stringi tidyr xml2]; };
+  weathercan = derive2 { name="weathercan"; version="0.3.1"; sha256="1xvbqb6w9w9ynbxgpjr56sq43c7p8hncqy2pdl5hxgc32d51wlkc"; depends=[dplyr httr lubridate purrr rlang rvest stringi tidyr xml2]; };
   weathermetrics = derive2 { name="weathermetrics"; version="1.2.2"; sha256="1hjhgsy3v8328hv4czxxz7kp68sxc10sy10f3dv5j8f6pka6qlsp"; depends=[]; };
   weatherr = derive2 { name="weatherr"; version="0.1.2"; sha256="11sb5bmqccqkvlabsw4siy9n6ivsrvxavywvaffgrs3blmnygql9"; depends=[ggmap lubridate RJSONIO XML]; };
-  webTRISr = derive2 { name="webTRISr"; version="0.1.1"; sha256="044a079fj4ryykj2n8zlfipmjyrfyfvhrqcd1wbb6r440yjkvali"; depends=[dplyr httr jsonlite lubridate magrittr purrr readr stringr]; };
+  webTRISr = derive2 { name="webTRISr"; version="0.2.0"; sha256="10xj8qvibhnywsxd1yb4laz6b38qwn483a7bflizsndsgrbzdi5n"; depends=[dplyr httr jsonlite lubridate magrittr purrr readr sf stringr]; };
   webchem = derive2 { name="webchem"; version="0.4.0"; sha256="032bsfnkn7s33y42fyf8yradsh8jhms4ryjkh0r76hqnx3j00ph0"; depends=[httr jsonlite RCurl rvest stringr xml2]; };
   webddx = derive2 { name="webddx"; version="0.1.0"; sha256="0w72pp0f77glq460mjagm30y3nd9dmhjkbb0w06ycsjdqvr8qji7"; depends=[jsonlite]; };
   webdriver = derive2 { name="webdriver"; version="1.0.5"; sha256="0l3nz7gf62jlkvkn5sfxfvn0prxz3ds7nlpfb1yhnmdljhbzrgzf"; depends=[base64enc callr curl debugme httr jsonlite R6 showimage withr]; };
   webex = derive2 { name="webex"; version="0.9.1"; sha256="0z85cfnjicy3q1n77ilrh43h6xh6bpr1f1iinzfk1r64031h90yl"; depends=[jsonlite knitr rmarkdown]; };
   webglobe = derive2 { name="webglobe"; version="1.0.2"; sha256="1277d6fkgrgixlhikfwf0r6z8g5b7mah905xi219qsfycxmifgn9"; depends=[geojsonio httpuv jsonlite]; };
-  webmockr = derive2 { name="webmockr"; version="0.3.4"; sha256="0dq92xdrmrk42q6f141bj0cpiqgp04ilssbly53nf3fgnlq0h8aw"; depends=[crul curl fauxpas jsonlite magrittr R6 urltools]; };
+  webmockr = derive2 { name="webmockr"; version="0.4.0"; sha256="07bw1clrhl7769xlgkqn4k3dn2lqbj1g9nmz7pl6iyvw0rmllrgb"; depends=[crul curl fauxpas jsonlite magrittr R6 urltools]; };
   webp = derive2 { name="webp"; version="1.0"; sha256="1h17g2zaq6ipsb1w6ix9m68ddmp7dspmaqflqkskylh2n8jhk8cd"; depends=[]; };
   webr = derive2 { name="webr"; version="0.1.0"; sha256="0fjbk933034cgmqd41cw7q5xcvrwgylcic6lxav9jv3b2sspzw06"; depends=[ggplot2 moonBook stringr]; };
   webreadr = derive2 { name="webreadr"; version="0.4.0"; sha256="0l3l5g4zj5faxqi1kqwx9lq91gbj40z2q3csrsmpal08qnwkxs90"; depends=[Rcpp readr]; };
   websearchr = derive2 { name="websearchr"; version="0.0.3"; sha256="1c6dwm5g5rjq0b12zrwwi5k9760jb0ph83v4j2gm8zm0x9dhiqm9"; depends=[]; };
-  webshot = derive2 { name="webshot"; version="0.5.1"; sha256="08sb1xi376pfy1vwilk2d68zljsg9yiv04n2dkqz383gdhh0sxdr"; depends=[callr jsonlite magrittr]; };
-  websocket = derive2 { name="websocket"; version="1.0.0"; sha256="1by8xsfwvjpwnh4480wlw3m1i0d4qxl0qiri0pakcvx2srh69fx7"; depends=[AsioHeaders BH later R6 Rcpp]; };
+  webshot = derive2 { name="webshot"; version="0.5.2"; sha256="0gq4h8cw51z95yvsnf38kj5l58wgljkm0dalmi8mn1sp06bxr0zi"; depends=[callr jsonlite magrittr]; };
+  websocket = derive2 { name="websocket"; version="1.1.0"; sha256="1qw3cb48ha579cijasq23w946p138k2x9yl37kpf51lyaagikzg1"; depends=[AsioHeaders BH later R6 Rcpp]; };
   webuse = derive2 { name="webuse"; version="0.1.3"; sha256="09xvw0v991cq1ck2kfxblp5cngfh9j6swvh5xv420mvky0kshv32"; depends=[haven]; };
-  webutils = derive2 { name="webutils"; version="0.6"; sha256="1basl7q2m8y9nw5ksi1kdz6an9pybvsmdd4snrm7a37041xymnps"; depends=[curl jsonlite]; };
+  webutils = derive2 { name="webutils"; version="1.0"; sha256="0khvvfrjhzcjbnsjshbsjgqk2pcvhkw34248f9wglwjmmsh6wbs1"; depends=[curl jsonlite]; };
   wec = derive2 { name="wec"; version="0.4-1"; sha256="10lqh43536d44d6082rpp11q1323pmjbmgrgb8v9mrk9c1ysf50w"; depends=[dplyr]; };
   weco = derive2 { name="weco"; version="1.2"; sha256="1prk8hn782pd8g2rbbaj7y10vjimqs9n8i4rab6aw6fc3k759d6b"; depends=[]; };
-  wedge = derive2 { name="wedge"; version="1.0-2"; sha256="1v9fyxdcy86hfx3zdy3wpyhcfjxiy7bzlvccipa690s6qayqqi0s"; depends=[magrittr partitions permutations spray]; };
-  weibullness = derive2 { name="weibullness"; version="1.18.6"; sha256="046fs6b5yb6ckddcb9vplc5478c7xprnafsj4rvzb1gmcpcrqqck"; depends=[]; };
+  wedge = derive2 { name="wedge"; version="1.0-3"; sha256="17w6987b8yh6gxsfn5vchzha8fznyganqp92zxc96h9iv7b40kkj"; depends=[magrittr partitions permutations spray]; };
+  weibullness = derive2 { name="weibullness"; version="1.19.8"; sha256="19s44mxxcnhngifxshsyjr3a9zvbwywmqgby5dxd73yid1p2k9mr"; depends=[]; };
   weibulltools = derive2 { name="weibulltools"; version="1.0.1"; sha256="06blip2dqaz2f3wnghp8yj0qj23s242k3r7bfcka1n52msc58xjz"; depends=[dplyr LearnBayes magrittr plotly Rcpp RcppArmadillo sandwich segmented SPREDA survival]; };
   weightQuant = derive2 { name="weightQuant"; version="1.0"; sha256="1ngz51wr5qpnb98lfbddwvipcra86dq5whm6z8c4xd921anb15bx"; depends=[doParallel foreach quantreg]; };
   weightTAPSPACK = derive2 { name="weightTAPSPACK"; version="0.1"; sha256="0kpfw477qka5qrc6sh73had38xbrwrqp1yv0dj2qiihkiyrp67ks"; depends=[HotDeckImputation mice plyr survey]; };
@@ -14490,20 +15079,20 @@ in with self; {
   weightr = derive2 { name="weightr"; version="2.0.2"; sha256="1qsyak91kdgv48wf6qhpfbiirlg4ba9w6rw8ynjcsnqqdvmly1lb"; depends=[ggplot2 scales]; };
   weights = derive2 { name="weights"; version="1.0"; sha256="0186bfpkhxngrshac6bpg37alp6slwhwd43inrm8hqg0vhpfgc4c"; depends=[gdata Hmisc mice]; };
   weirs = derive2 { name="weirs"; version="0.25"; sha256="17a0ppi7ghikrwn39zvhg2cvhmnr3w0qi7r9lj22x65ii9nzadd7"; depends=[]; };
-  welchADF = derive2 { name="welchADF"; version="0.3.1"; sha256="0vzvbibaxr6baq75ldccv0f3wifabdh9i4qgpmfsn7zv0rypal7v"; depends=[lme4]; };
+  welchADF = derive2 { name="welchADF"; version="0.3.2"; sha256="02a8w1dhc2nd74hml4z3cdlx0d2a9rcx47v341kgav620i8bn88g"; depends=[lme4]; };
   wellknown = derive2 { name="wellknown"; version="0.5.0"; sha256="1y3hi5ajqaxx3s40cx24ayfcd3c6d1ydlhsm0gg2fxgmidm6bhwy"; depends=[jsonlite V8]; };
   wesanderson = derive2 { name="wesanderson"; version="0.3.6"; sha256="09mr6p2jmqdjq27cz974w5hyxgn929zp9z3inhxqmmh1582fmdi2"; depends=[]; };
-  wevid = derive2 { name="wevid"; version="0.6.1"; sha256="1r4ss3vk8yc3vkplf7a24nm3vvbkbk1iz1glrsg3azr0qffyyklk"; depends=[ggplot2 mclust pROC reshape2 zoo]; };
+  wevid = derive2 { name="wevid"; version="0.6.2"; sha256="1ranmqhgfkrky7r4qk563n9nlz2syn3vj85lmfajq01csadzjdpl"; depends=[ggplot2 mclust pROC reshape2 zoo]; };
   wfe = derive2 { name="wfe"; version="1.9.1"; sha256="0lcg7hzdll1wqdwydkk96m4n715h8sjn3qwhabm245m0hqhdf7is"; depends=[arm MASS Matrix]; };
   wfg = derive2 { name="wfg"; version="0.1"; sha256="1r6wb8v42mpapjfhmkmghm9fq21c3s4zmdxy8nlh31nsja71c37d"; depends=[igraph]; };
   wfindr = derive2 { name="wfindr"; version="0.1.0"; sha256="0m5xj50hqdjj4lpbgx1kp3my4njr0nz09hd63rf4qf1ls8r7zil9"; depends=[dplyr magrittr]; };
-  wgaim = derive2 { name="wgaim"; version="1.4-11"; sha256="1jjyp100dcjjczp61xlvhmy48ynniqcys535vzbgswhr7fvijymg"; depends=[lattice qtl]; };
+  wgaim = derive2 { name="wgaim"; version="2.0-1"; sha256="1qiyfkpsbzjr9xsq5kqq6rlqpndngkn2irdfh3gyi45h6hn118j4"; depends=[ggplot2 qtl]; };
   wgeesel = derive2 { name="wgeesel"; version="1.5"; sha256="0lybvsq5168cjybzv2dbyx2z8aakcx7i7ivm8zc90haiispm9n5x"; depends=[bindata CRTgeeDR geepack MASS PoisNor]; };
   wheatmap = derive2 { name="wheatmap"; version="0.1.0"; sha256="1c1xvzy194vw3idkwkqp9kyrfldzczj30cl15jw1bbnw87zcwdzy"; depends=[colorspace RColorBrewer]; };
-  whereami = derive2 { name="whereami"; version="0.1.8.1"; sha256="007a5wcg80gapqhn3s0sax83fxm55zx36l8rmipkr0c58wi0nr72"; depends=[cli rstudioapi]; };
+  whereami = derive2 { name="whereami"; version="0.1.9"; sha256="0mjq9haacsf0zkgh7xxx8dr67hnw5ijjdhaz8c69mfjmd2zfzfwq"; depends=[cli jsonlite rstudioapi]; };
   whereport = derive2 { name="whereport"; version="0.1"; sha256="1gdqzr2hrnpxbwl7cfps4m3xja8wkgwfs50i2nailybympvdnxm4"; depends=[dplyr]; };
   whiboclustering = derive2 { name="whiboclustering"; version="0.1.2"; sha256="0bzzr71kbynzj28i8g5li5j40653nyh08ywgs2xww49qxjm3b9lj"; depends=[cluster clusterCrit]; };
-  whisker = derive2 { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; };
+  whisker = derive2 { name="whisker"; version="0.4"; sha256="1a7vz0dk95xfjvi38wbpw8vmf5qn3g8p490msz2rw0piwidmk1ks"; depends=[]; };
   whitechapelR = derive2 { name="whitechapelR"; version="0.3.0"; sha256="0mnq5m59mw8w5g1p0h2xzlz738j397b3444km59bm5yln3j0nsbi"; depends=[igraph plyr]; };
   whitening = derive2 { name="whitening"; version="1.1.1"; sha256="0madrdy2pvr7q4lhznw2kyhs7x927npwmpqwfwkv6v5c4zv7mbjp"; depends=[corpcor]; };
   whoa = derive2 { name="whoa"; version="0.0.1"; sha256="1gkm3l0kjf52yc6y437dsfx3hc9bfhnb049hm4qii46nr1plz69x"; depends=[dplyr ggplot2 magrittr Rcpp tibble tidyr vcfR viridis]; };
@@ -14511,22 +15100,23 @@ in with self; {
   whoapi = derive2 { name="whoapi"; version="0.1.2"; sha256="0ib0an08xsxan24q8mb5ai375njmkdc61lh4321rzgr25iqvi682"; depends=[httr]; };
   wicket = derive2 { name="wicket"; version="0.4.0"; sha256="1lizzmj69bswzlk18fv2v4yxxc6dynvmkymdiafznzcyyz4a8xnf"; depends=[BH Rcpp]; };
   widals = derive2 { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
-  widenet = derive2 { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
   widgetframe = derive2 { name="widgetframe"; version="0.3.1"; sha256="0j0d73m72nzfc1wyrgsqr99ldx72adis6pd57mpim55hz0n9l224"; depends=[htmltools htmlwidgets magrittr purrr]; };
-  widyr = derive2 { name="widyr"; version="0.1.1"; sha256="14r1qiq4i7lmn3i76aa0d9wcjw1jclm1jf371j25s92w8z36mdln"; depends=[broom dplyr Matrix purrr reshape2 tidyr tidytext]; };
+  widyr = derive2 { name="widyr"; version="0.1.2"; sha256="0mqj9w5sy8m2vqhjxmjrf68bfixbvmkigrsdzfnwvxp18hhfw5mj"; depends=[broom dplyr Matrix purrr reshape2 tidyr tidytext]; };
+  wiesbaden = derive2 { name="wiesbaden"; version="1.2.0"; sha256="09nf25s134livlcgfl0aq5njg50kcw82nmiin6jqzwpjkd35x6vp"; depends=[httr jsonlite keyring readr stringi stringr xml2]; };
   wikibooks = derive2 { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
   wikifacts = derive2 { name="wikifacts"; version="0.1.0"; sha256="01mwzqign59lh7wvf8q8kwkgnfxi9nkk6n0qwfh27q64fajw8clg"; depends=[magrittr rvest xml2]; };
   wikilake = derive2 { name="wikilake"; version="0.4"; sha256="0pm0brzkf2k6aknwl4b3fba5ly7mhah8qfb0h94fckiaqbnpyx9v"; depends=[maps rvest selectr sp stringi stringr units WikipediR xml2]; };
-  wikipediatrend = derive2 { name="wikipediatrend"; version="1.1.14"; sha256="00i38py9n4l0iqkn3257a3jbiwh3hrmx1p9x6rfh9sgfcch8yyj5"; depends=[hellno httr jsonlite RColorBrewer rvest stringr xml2]; };
+  wikipediatrend = derive2 { name="wikipediatrend"; version="2.1.4"; sha256="1skmlw2vmipddrmqmwycb9abq4cgva4lfjdcp9ijk6sgywiz70is"; depends=[ggplot2 glue hellno httr pageviews rvest stringr xml2]; };
   wikisourcer = derive2 { name="wikisourcer"; version="0.1.4"; sha256="0x6yp7hmrasrxpwlbsabzrr316d5yxynafmv0jh6yhx4i36l08wf"; depends=[magrittr purrr rvest tibble urltools xml2]; };
   wikitaxa = derive2 { name="wikitaxa"; version="0.3.0"; sha256="0v681qac33dlcdlah20qf5qb9g5h917rpzv67brx1handjnapnqh"; depends=[crul curl data_table jsonlite tibble WikidataR xml2]; };
   wildcard = derive2 { name="wildcard"; version="1.1.0"; sha256="0qkzab84z95g5f4fv3v4wisccgd7k9m3210pz4nvm1x8rfaqfjf1"; depends=[magrittr stringi]; };
   wildlifeDI = derive2 { name="wildlifeDI"; version="0.3.0"; sha256="1aqiazrr2sp76777m0isscainhdnn9qp87dwpr4cspk7grbsa53k"; depends=[adehabitatLT rgeos sp]; };
   wildpoker = derive2 { name="wildpoker"; version="1.1"; sha256="1302ain55spz34irmq49sp9b1pvrn2nxmzmqs8m9wdk6g82h3s27"; depends=[]; };
-  wilson = derive2 { name="wilson"; version="2.0.2"; sha256="0ivd3cm6swhbcg38f66505rwf8h19wcg69mf3p4f9vjif8l13q4s"; depends=[circlize colourpicker ComplexHeatmap data_table DESeq2 DT factoextra FactoMineR ggplot2 ggrepel gplots heatmaply log4r openssl plotly plyr R6 RColorBrewer reshape rintrojs rje rjson RJSONIO scales shiny shinycssloaders shinydashboard shinyjs viridis]; };
+  wilson = derive2 { name="wilson"; version="2.3.1"; sha256="040hq68l2ja37gx8g6q1nrr9b15v4gmc2l23c772vr4gq9k97977"; depends=[circlize colourpicker ComplexHeatmap data_table DESeq2 DT factoextra FactoMineR ggplot2 ggrepel gplots heatmaply log4r magrittr openssl plotly plyr R6 RColorBrewer reshape rintrojs rje rjson RJSONIO scales shiny shinycssloaders shinydashboard shinyjs viridis zip]; };
   winRatioAnalysis = derive2 { name="winRatioAnalysis"; version="0.1.0"; sha256="1msvc06bfzw9clinxbvr5fdw38dff0c0xii46182nwnk5kj0libr"; depends=[data_table JM Matrix MLEcens mvtnorm nlme plyr pssm survival]; };
+  windAC = derive2 { name="windAC"; version="1.2.0"; sha256="1dwnj0spxq9n73vg938j5jn0vvzvlqnfb4j0slzxp6lvkkyd2sc4"; depends=[mvtnorm sf]; };
   windex = derive2 { name="windex"; version="1.0"; sha256="0ci10x6mm5i03j05fyadxa0ic0ngpyp5nsn05p9m7v1is5jhxci0"; depends=[ape geiger scatterplot3d]; };
-  windfarmGA = derive2 { name="windfarmGA"; version="2.2.1"; sha256="0pbnq2bd0pn9w09cqp9mbkzqmr9sffhldv85vgcn1014kj57xj1p"; depends=[calibrate doParallel foreach ggplot2 gstat leaflet magrittr maptools plyr raster rayshader RColorBrewer Rcpp rgdal rgeos rworldmap sf sp spatstat]; };
+  windfarmGA = derive2 { name="windfarmGA"; version="2.2.2"; sha256="0gj62b0ppk478xz5f5cwqkb4rhs7fabpx8zl6p0zm1z6dzclq1rc"; depends=[calibrate doParallel foreach ggplot2 gstat leaflet magrittr raster RColorBrewer Rcpp rgdal rworldmap sf sp spatstat]; };
   wingui = derive2 { name="wingui"; version="0.2"; sha256="0yf6k33qpcjzyb7ckwsxpdw3pcsja2wsf08vaca7qw27yxrbmaa3"; depends=[Rcpp]; };
   wiod = derive2 { name="wiod"; version="0.3.0"; sha256="1f151xmc6bm5d28w5123nm0hv7j1v8hay4jk5fk8pwn6yljl1pah"; depends=[decompr gvc]; };
   wiqid = derive2 { name="wiqid"; version="0.2.2"; sha256="0rfv8vnz585p970slm9rw1ikp9ryv8qixvbq4lq3prawhk3x1vhp"; depends=[coda HDInterval MASS truncnorm]; };
@@ -14535,6 +15125,7 @@ in with self; {
   wkb = derive2 { name="wkb"; version="0.3-0"; sha256="0s7libkg27jdmcw5qmk5j0cmz3nqq7ny4q8gy4vhbgsgj4gbbdn9"; depends=[sp]; };
   wktmo = derive2 { name="wktmo"; version="1.0.5"; sha256="05pjyk0xsdazbi1x7xfmg097ybybd60zmzzm7sch1ikp05hzn0wb"; depends=[]; };
   wmlf = derive2 { name="wmlf"; version="0.1.2"; sha256="0zxw84l5v12r15hpyd1kbajjz3cbkn5g884kmj72y7yi0yi1b6d6"; depends=[waveslim]; };
+  wmm = derive2 { name="wmm"; version="1.0.0"; sha256="0f46a69vcz1cb4qmz68gf8h0hq5amilsp9h4gmacmprad49n702g"; depends=[]; };
   wmtsa = derive2 { name="wmtsa"; version="2.0-3"; sha256="1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6"; depends=[ifultools MASS splus2R]; };
   wmwpow = derive2 { name="wmwpow"; version="0.1.2"; sha256="0f7gkpr64g2wl9ag70hikyjfqbr4c5nwzyfjwfpdl4a26c2k5xz6"; depends=[lamW MASS smoothmest]; };
   wnl = derive2 { name="wnl"; version="0.5.1"; sha256="09xm9x3wz0p9srncw5527slkqrqr37d6kgbzlc2g9zf9frmdlpmb"; depends=[numDeriv]; };
@@ -14551,7 +15142,7 @@ in with self; {
   wordmatch = derive2 { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
   wordnet = derive2 { name="wordnet"; version="0.1-14"; sha256="12a21zlc7h973gi1632gngbk8b09vhp3sldh1mh9b5n6h18ga25p"; depends=[rJava]; };
   wordspace = derive2 { name="wordspace"; version="0.2-5"; sha256="1xrnzq5hmdwdd7692as4ddjkr64bfgl141xx2gvcla308rxql9yp"; depends=[cluster iotools MASS Matrix Rcpp sparsesvd]; };
-  workflowr = derive2 { name="workflowr"; version="1.4.0"; sha256="1m7x89wmivcpj4p8qi6dlpf25j4r7l5axa602qq1bx0r050hajrm"; depends=[callr fs getPass git2r glue httr knitr rmarkdown rprojroot rstudioapi stringr whisker yaml]; };
+  workflowr = derive2 { name="workflowr"; version="1.5.0"; sha256="0jvdm6kgny84rxmriqq2hrabgdx9v3m5wmypsc5nbwyka94578gl"; depends=[callr fs getPass git2r glue httpuv httr knitr rmarkdown rprojroot rstudioapi stringr whisker yaml]; };
   worldmet = derive2 { name="worldmet"; version="0.8.7"; sha256="1hhh3a28xxi5265053gclsbihv41372f64isz9xc5sjdjnpcv6g4"; depends=[doParallel dplyr foreach leaflet openair readr zoo]; };
   worms = derive2 { name="worms"; version="0.2.2"; sha256="183chjdi5qvsmdznvc9igcxaz769a37rwh5nzgvf5zf012a85wir"; depends=[httr plyr]; };
   worrms = derive2 { name="worrms"; version="0.4.0"; sha256="0nb02k0aimf6z1fw4y5qzja4xwgwff7gdzh364w2lrhj8imcb044"; depends=[crul data_table jsonlite tibble]; };
@@ -14561,27 +15152,31 @@ in with self; {
   wpp2012 = derive2 { name="wpp2012"; version="2.2-1"; sha256="00283s4r36zzwn67fydrl7ldg6jhn14qkf47h0ifmsky95bd1n5k"; depends=[]; };
   wpp2015 = derive2 { name="wpp2015"; version="1.1-2"; sha256="07bnbmrshlqnlpca5djpq5crnpsmz228wmbpv1ah7ywnjvks6fyx"; depends=[plyr]; };
   wpp2017 = derive2 { name="wpp2017"; version="1.2-1"; sha256="1hg3fj92ja93kw226crfxjvnjb7p0svdbi6pr3sqkg9w5zpwfwp1"; depends=[]; };
-  wpp2019 = derive2 { name="wpp2019"; version="1.0-0"; sha256="0652jbwm5xa1031lhpghlh9q1w4xqng21q8ykb759fnqvj1744vm"; depends=[]; };
-  wppExplorer = derive2 { name="wppExplorer"; version="2.1-1"; sha256="0n0ayn8bxkrabw2iyqv3hfkdchbk9bzv1lhkjpxnjb6z3zl1sggl"; depends=[DT ggplot2 googleVis Hmisc plyr reshape2 shiny shinyjs shinythemes wpp2017]; };
+  wpp2019 = derive2 { name="wpp2019"; version="1.1-0"; sha256="0gx8rgz9lg6crn6ss76sg4xj8dsiwj08fkq5f67slvx4c0cjfhc5"; depends=[]; };
+  wppExplorer = derive2 { name="wppExplorer"; version="2.3-2"; sha256="05cvdwfmflciq42zr6v0279fhmsmsgdmqva2zvka95sch09kxci6"; depends=[DT ggplot2 googleVis Hmisc plyr reshape2 shiny shinyjs shinythemes wpp2019]; };
   wql = derive2 { name="wql"; version="0.4.9"; sha256="0m16l807mhcjkbqhlzhc24pw4hl78fjyykiszlg337x3qs803fg2"; depends=[ggplot2 reshape2 zoo]; };
   wqs = derive2 { name="wqs"; version="0.0.1"; sha256="14qaa9g9v4nqrv897laflib3wwhflyfaf9wpllmbi5xfv9223rcg"; depends=[glm2 Rsolnp]; };
+  wrMisc = derive2 { name="wrMisc"; version="1.0.4"; sha256="042by7n3xr0ggwna3jlaq56sp8027q0iivs88mqc6mr6pngrs53f"; depends=[MASS]; };
   wrangle = derive2 { name="wrangle"; version="0.5.2"; sha256="1b6qgwdjvwbrarp9ylgkb5ia1p5a5g7ws0jyqrwc6hii8z5yj2qb"; depends=[dplyr lazyeval magrittr rlang tidyr]; };
-  wrapr = derive2 { name="wrapr"; version="1.8.9"; sha256="153zs72cpm3phcl74ip4l2lgr65jn41509j3xkh34nala02kd8vw"; depends=[]; };
+  wrapr = derive2 { name="wrapr"; version="1.9.3"; sha256="1spkjpbx9plyiyr9ndni63cxxb3nxwzwszj2brdz5wj18qhvn86i"; depends=[]; };
   wrassp = derive2 { name="wrassp"; version="0.1.8"; sha256="052x0lxpchr6f97yfj3vmhh8gc8qg5pp1m91h5akrav4yfawbs7k"; depends=[]; };
   write_snns = derive2 { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
-  writexl = derive2 { name="writexl"; version="1.1"; sha256="0w4wnpl3yhaqp63p32bk60xrbmd7xd11kxifjbzrghi7d4483a46"; depends=[]; };
+  writexl = derive2 { name="writexl"; version="1.2"; sha256="09fhdip6igcg97fjx4c7727cx2lb49l4d74l4i8rg2bag2s5lrj3"; depends=[]; };
   wrswoR = derive2 { name="wrswoR"; version="1.1"; sha256="0jnb818xz841bx2i03k3hhy4hxcwpxblskg9nrc8kgbc22rxx4lz"; depends=[logging Rcpp]; };
   wrswoR_benchmark = derive2 { name="wrswoR.benchmark"; version="0.2"; sha256="0vzs2lqq48kzk63xz2k9b7qcy0ph5yyvih6z98jfz36kpdfhdps9"; depends=[curl lazyeval]; };
   wru = derive2 { name="wru"; version="0.1-9"; sha256="0xrm3f1khggcvdzzk65mnbfcyji3kjz8hrk9d2n4y15nhpbw8p8h"; depends=[devtools]; };
   wskm = derive2 { name="wskm"; version="1.4.28"; sha256="0d9hcriakg6fxzc8wjsahc4zkyjza31mb9dv2h4xcf8298xa96i4"; depends=[clv lattice latticeExtra]; };
   wsrf = derive2 { name="wsrf"; version="1.7.17"; sha256="0gmlvfcy2iqa5sqhwps3hx0hl9fir8nf5xq62f25sn8i3llw752z"; depends=[Rcpp]; };
   wsyn = derive2 { name="wsyn"; version="1.0.1"; sha256="1lsaah5dndg1myx3qgbm4hih2wr1zgjfaracnyljfrri2cb436n6"; depends=[fields MASS]; };
-  wtest = derive2 { name="wtest"; version="3.1"; sha256="1rlas9jn57mcyjic9dhkqj355djldc95q07b076w847cd4pmzqvb"; depends=[]; };
-  wtss = derive2 { name="wtss"; version="1.1.0"; sha256="019zvmq4z5xy5dwcf4g0z43x2mb14d1lgqhs1zp6821izffpbd0s"; depends=[jsonlite lubridate RCurl roxygen2 zoo]; };
+  wtest = derive2 { name="wtest"; version="3.2"; sha256="063ax9mbb2dy33l1cl533mjzpvhf2akw3613pklfjg6bhprlniz7"; depends=[]; };
   wux = derive2 { name="wux"; version="2.2-1"; sha256="0iw0kf0wfspnpc83v7gxhcakmp0z34cccnm0jn9c2za9ay9l2swv"; depends=[abind class corpcor fields gdata Hmisc ncdf4 reshape rgdal rgeos rworldmap sp stringr]; };
+  wv = derive2 { name="wv"; version="0.1.0"; sha256="13avx4dydy91aak9bjcqjj2hsbk9f0l4imqmwpg1fdmg6zx7694z"; depends=[coda Rcpp RcppArmadillo simts]; };
   wvtool = derive2 { name="wvtool"; version="1.0"; sha256="0x9awj6g5lzqp2lhwgh9ib7jmfdzyhwazrjvw1vwacqqfhbz8qxv"; depends=[]; };
   wwntests = derive2 { name="wwntests"; version="1.0.0"; sha256="1wsqbhsnzkishqwxz5kjcb5xawafizi3ip4yzxj05p9rx9wja1yc"; depends=[ftsa MASS rainbow sde]; };
-  wyz_code_offensiveProgramming = derive2 { name="wyz.code.offensiveProgramming"; version="1.1.8"; sha256="00zhi7xzay5lppx49j9g18vp4czdzcjajqcy6qf5m4lhxjv2bhw7"; depends=[data_table lubridate tidyr]; };
+  wyz_code_metaTesting = derive2 { name="wyz.code.metaTesting"; version="1.1.4"; sha256="0npk9axsg6x8pgf3f19y2544jlrzf88269604cfdynp724l2dwb9"; depends=[crayon data_table lubridate tidyr wyz_code_offensiveProgramming]; };
+  wyz_code_offensiveProgramming = derive2 { name="wyz.code.offensiveProgramming"; version="1.1.14"; sha256="0zh3sqgwrv172dlmiiw5z86pyf1m32xkylixpdlillq731ag79v9"; depends=[crayon data_table lubridate R6 stringr tidyr]; };
+  wyz_code_rdoc = derive2 { name="wyz.code.rdoc"; version="1.1.7"; sha256="0rravk8hl2pbr3blsx96xas2zi7c9d83mpzhrqqqna66hg88zq5q"; depends=[data_table lubridate R6 tidyr wyz_code_offensiveProgramming]; };
+  wyz_code_testthat = derive2 { name="wyz.code.testthat"; version="1.1.9"; sha256="0i4jmww0sg5w8ffvk4302jdi3m5bfrbywbx5756r4dijfhv9n2kq"; depends=[data_table lubridate R6 tidyr wyz_code_offensiveProgramming]; };
   x_ent = derive2 { name="x.ent"; version="1.1.7"; sha256="15qra77dqhj27g3qx92gram4mq4n9fdidygdpvxfmcx7ww3vc6yh"; depends=[ggplot2 jsonlite statmod stringr xtable]; };
   x12 = derive2 { name="x12"; version="1.9.0"; sha256="0hrcw1d52yp5rr4r120lcnfxw2rgs95njg37m28blcnfbq2flfc2"; depends=[stringr x13binary]; };
   x12GUI = derive2 { name="x12GUI"; version="0.13.0"; sha256="1mga7g9gwb3nv2qs27lz4n9rp6j3svads28hql88sxaif6is3nk1"; depends=[cairoDevice Hmisc lattice RGtk2 stringr x12]; };
@@ -14592,35 +15187,37 @@ in with self; {
   xRing = derive2 { name="xRing"; version="0.1.0"; sha256="17f1jif8yw2508k86p8mjgw1h20ml5wzaff04ix9xq96plqzi8ma"; depends=[dplR imager tcltk2 tkRplotR]; };
   xSub = derive2 { name="xSub"; version="2.0.2"; sha256="00mahp8fi6iskjaf5nwka67a7hqb3i08j8yrd4d2av39zfs268h2"; depends=[countrycode haven RCurl]; };
   xVA = derive2 { name="xVA"; version="0.8.1"; sha256="0wr4i37sya5gg6v63ka16g9077gxbhvjqyqfaahhban8skzl2adf"; depends=[SACCR Trading]; };
-  xaringan = derive2 { name="xaringan"; version="0.11"; sha256="0020vrfimny7a2wa1v5jkfvb040bp17zr6l2wmz9nl505qlqs2j9"; depends=[htmltools knitr rmarkdown servr xfun]; };
-  xbreed = derive2 { name="xbreed"; version="1.0.1"; sha256="0grrfra9j0k3mqikmrif5qawh4260ayr40irskzpp9ywsixim63h"; depends=[BGLR]; };
+  xaringan = derive2 { name="xaringan"; version="0.13"; sha256="1xbrjqa676m7bv6vbr4ydf7c8v6bgpcqiqzjy90vz78rg8c1hcc2"; depends=[htmltools knitr rmarkdown servr xfun]; };
+  xbreed = derive2 { name="xbreed"; version="1.0.1.1"; sha256="032i04ginyf9dyabfkygnhrkq7lqdvvyw7s41vjimy2kvjrnkkkx"; depends=[BGLR]; };
   xdcclarge = derive2 { name="xdcclarge"; version="0.1.0"; sha256="1j8wsidwmfjygqlwavxinv4bqc6rddy42jdmlknsjfrrs49yj8kn"; depends=[nlshrink Rcpp RcppArmadillo]; };
   xergm = derive2 { name="xergm"; version="1.8.3"; sha256="155469550rsdwszrhw7vdgwz2h0d72a8f4hirrb6hny7f1q63ykk"; depends=[btergm GERGM rem tnam xergm_common]; };
   xergm_common = derive2 { name="xergm.common"; version="1.7.7"; sha256="0nfls8a1knmnjjrrw0q93qsfrrb9p3yqsm5dxp13z0780vrzxvcj"; depends=[ergm network]; };
   xesreadR = derive2 { name="xesreadR"; version="0.2.3"; sha256="1pvdx0mxg2f885bhy4hb3kqzcgva4q7hzzaipkfzyi5lnjdsbc81"; depends=[bupaR data_table dplyr lubridate purrr stringr tidyr XML xml2]; };
-  xfun = derive2 { name="xfun"; version="0.8"; sha256="05jlbi5byqpw0fkhmmxqglnaxh9gwbcigx77kcpw1pkxnpwfry62"; depends=[]; };
+  xfun = derive2 { name="xfun"; version="0.11"; sha256="0dncw6bqkal7nyarrrrj9arxy0y3nkdzmrbibcjh84m1cxd4phiw"; depends=[]; };
   xgb2sql = derive2 { name="xgb2sql"; version="0.1.2"; sha256="1gw5dw0ck5hip8mv347zaswrggk395bg2hgn02bvqs0d31jhmgvi"; depends=[data_table xgboost]; };
   xgboost = derive2 { name="xgboost"; version="0.90.0.2"; sha256="1gy9rzg43mjpfis893vf15drmbigfn0481zrzss9ajnmnk0q8194"; depends=[data_table magrittr Matrix stringi]; };
   xgobi = derive2 { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
+  xgxr = derive2 { name="xgxr"; version="1.0.5"; sha256="0q97lavhlq66cfkcq1p3jqrknd5dxgsfrsiccgzk84bd8ab42i8h"; depends=[assertthat binom dplyr ggplot2 labeling magrittr pander png scales tibble]; };
   xhmmScripts = derive2 { name="xhmmScripts"; version="1.1"; sha256="1qryyb34jx9c64l8bnwp40b08y81agdj5w0icj8dk052x50ip1hl"; depends=[gplots plotrix]; };
   xkcd = derive2 { name="xkcd"; version="0.0.6"; sha256="1z2y0ihn68ppay7xkglhw7djki5654g6z4bbpyy41if57z9q554f"; depends=[extrafont ggplot2 Hmisc]; };
   xkcdcolors = derive2 { name="xkcdcolors"; version="1.0"; sha256="07fnjv01r3b951dqca2zs9b9f6hsgbpbpsrggvb8rps53kpid0i7"; depends=[FNN]; };
-  xlink = derive2 { name="xlink"; version="1.0.0"; sha256="0q5fsd7h067jwh7kgqn534dvnwnbr1xs3iwcpa4ygblp94b50rgm"; depends=[survival]; };
+  xlink = derive2 { name="xlink"; version="1.0.1"; sha256="02ahgjampy92gcwhv269px5w8651a7j50dn1295zwqxj44lk4g9q"; depends=[survival]; };
   xlsimple = derive2 { name="xlsimple"; version="0.0.1"; sha256="1x0b2pb1sg2sqmh4z03bchsc9fhcphi6mxk4nbb6my2cr0kqrrdq"; depends=[]; };
   xlsx = derive2 { name="xlsx"; version="0.6.1"; sha256="1d58qlzdj4vrk4vnlyzri600ix7z3wnc30gnbcc1qz27nlbbv055"; depends=[rJava xlsxjars]; };
+  xlsx2dfs = derive2 { name="xlsx2dfs"; version="0.1.0"; sha256="0bdawr80grks91sy221d33fsk75g20zh3wjg6gvd0zj0m1zvvwvd"; depends=[openxlsx]; };
   xlsxjars = derive2 { name="xlsxjars"; version="0.6.1"; sha256="1rka5smm7yqnhhlblpihhciydfap4i6kjaa4a7isdg7qjmzm3h9p"; depends=[rJava]; };
   xltabr = derive2 { name="xltabr"; version="0.1.2"; sha256="0pwbpcdiqkhvzxsi6yxly4zza12bw7zc7ji8cvhldw4yl5sxkz1l"; depends=[magrittr openxlsx]; };
   xlutils3 = derive2 { name="xlutils3"; version="0.1.0"; sha256="1cxishi62bd36zlsy5qhzix1p68akdf9kpjg9gfm9aqpcijzccb9"; depends=[magrittr readxl]; };
-  xmeta = derive2 { name="xmeta"; version="1.1-4"; sha256="1y9jldi8qn4jpr05g8fnvb23gig180hh36pc2v4y8n8289s9yvg2"; depends=[aod glmmML metafor mvmeta numDeriv]; };
-  xml2 = derive2 { name="xml2"; version="1.2.1"; sha256="0186d7r36xw1z9f8ajz35a0dz4ch6hmrjl9536yc7vq78v4vn5an"; depends=[Rcpp]; };
-  xmlparsedata = derive2 { name="xmlparsedata"; version="1.0.2"; sha256="1npf4ng9d34k56ib1ac4cb3p2x8gqm3jha1sc25nv6546ahcrcjh"; depends=[]; };
+  xmeta = derive2 { name="xmeta"; version="1.1-5"; sha256="1r2mqrrcl7vmbyydw3kzpskinkiqr919bxgq69i1y6pbfim7jzag"; depends=[aod glmmML metafor mvmeta numDeriv]; };
+  xml2 = derive2 { name="xml2"; version="1.2.2"; sha256="1x3q3a0xv8j0nx3hs4d3pfjm5g9nvaxmfrapba9f4nrkqi3z2l1h"; depends=[Rcpp]; };
+  xmlparsedata = derive2 { name="xmlparsedata"; version="1.0.3"; sha256="0gjr3l5z5dp276lchr2649as1rkj56d2mlvbr66yg393zzw50lsh"; depends=[]; };
   xmlrpc2 = derive2 { name="xmlrpc2"; version="1.1"; sha256="13rfw0civp3hzi4hn31x1idliid1qb73495x4c31z5msd35lzxrs"; depends=[base64enc curl xml2]; };
   xmrr = derive2 { name="xmrr"; version="1.0.36"; sha256="0xxi8z9sp156508y5a7f4ax8yry7lg4qmn0hyk04dn1xr7syd4gs"; depends=[dplyr ggplot2 tidyr]; };
   xoi = derive2 { name="xoi"; version="0.68-3"; sha256="0swi9zilghkfm17b39sdn7im4pcxcw7fk77jqxwib29q7x6574bk"; depends=[qtl]; };
   xopen = derive2 { name="xopen"; version="1.0.0"; sha256="1vrvgdika1d63dwygynbv2wmd87ll8dji5dy89hj576n8hw601z2"; depends=[processx]; };
   xplain = derive2 { name="xplain"; version="0.2.1"; sha256="01hl9dxiqqxzdixqccga0sywlhv97pi1l51r9sr7v106s7q11jxn"; depends=[RCurl readr XML]; };
   xplorerr = derive2 { name="xplorerr"; version="0.1.1"; sha256="17h8z9rmqkmm6lm9gipa33mr7zxpzd5xbjk251592mwr79lwsh8n"; depends=[magrittr shiny]; };
-  xpose = derive2 { name="xpose"; version="0.4.4"; sha256="0ps9v2iiygrzpj1zvw0xbg0cscpvsph3b2w2cv4m602iwkd6372r"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
+  xpose = derive2 { name="xpose"; version="0.4.5"; sha256="08z0n78ah27waj16rlzkvpgr9dy8z93j1lc9pfd3yip2nb9yxx45"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
   xpose4 = derive2 { name="xpose4"; version="4.6.1"; sha256="1722ai8r94dmy4d2r728iir0hl2b2gmym8xjsqscfc6jw070734i"; depends=[dplyr gam Hmisc lattice lazyeval readr survival]; };
   xptr = derive2 { name="xptr"; version="1.1.1"; sha256="1xjmplalf5w7iqkc5dk57g7lvx4jlndg4b2hvqpn05g628bxxdx2"; depends=[]; };
   xray = derive2 { name="xray"; version="0.2"; sha256="1ibj92ljlj8a5rmbrci691yhpd4kwrfyl944nzl2dcbf58l01dzq"; depends=[dplyr foreach ggplot2 lubridate scales]; };
@@ -14628,7 +15225,7 @@ in with self; {
   xseq = derive2 { name="xseq"; version="0.2.1"; sha256="0bsakbfvkfv39q2ch2g21b17g84470sq4v73355cljlshsi6404i"; depends=[e1071 gptk impute preprocessCore RColorBrewer sfsmisc]; };
   xslt = derive2 { name="xslt"; version="1.3"; sha256="0giqzmdby9ax8gwx9b7xqka28k3hgymv4289k8p8dvg26d683p3l"; depends=[Rcpp xml2]; };
   xsp = derive2 { name="xsp"; version="0.1.2"; sha256="1jbmxa234v52qji8sz4bkg24c2n65b0zh9py1wyyfzw9n1wx5w0r"; depends=[ggplot2 reshape2]; };
-  xspliner = derive2 { name="xspliner"; version="0.0.2"; sha256="07niy8dl4fcp1pv8dl4h9vyw8slxvhjj7qc5x7ywabyfh140pvyh"; depends=[dplyr ggplot2 magrittr mgcv pdp purrr tidyr]; };
+  xspliner = derive2 { name="xspliner"; version="0.0.4"; sha256="1j3wlw39r3ahhdfq3rks1zhnlmz14f4wk7bl7gf94yffasqg6k2r"; depends=[dplyr ggplot2 magrittr mgcv pdp pROC purrr tidyr]; };
   xtable = derive2 { name="xtable"; version="1.8-4"; sha256="077xfm0gphvhsay75amd9v90zk57kjgrrlgih04fyrbqqblc1gjs"; depends=[]; };
   xtal = derive2 { name="xtal"; version="1.15"; sha256="1zq3vd5x3vw6acn47yd2x7kflr9sm3znmdkm68cs64ha54jbl3vs"; depends=[]; };
   xtensor = derive2 { name="xtensor"; version="0.11.1-0"; sha256="1l9216z46m45vnc69j4qx336ln82qgpagi5m9qa5pabvcpz9b23p"; depends=[Rcpp]; };
@@ -14643,8 +15240,8 @@ in with self; {
   yacca = derive2 { name="yacca"; version="1.1.1"; sha256="1hxgkyxipk27p74vdkiy8a3wjymhcsc6ad3y9mf15qsl2xim6wwl"; depends=[]; };
   yakmoR = derive2 { name="yakmoR"; version="0.1.1"; sha256="09aklz79s0911p2wnpd7gc6vrbr9lmiskhkahsc63pdigggmq9f7"; depends=[BBmisc checkmate Rcpp]; };
   yaml = derive2 { name="yaml"; version="2.2.0"; sha256="0in562nd0i23cg91a8kdbqgim656fgscykwi0icsnq53xj3srg2m"; depends=[]; };
-  yardstick = derive2 { name="yardstick"; version="0.0.3"; sha256="1hfj4m35nv96r4qv3rj2dcj5nhr1ldkigvi03gsqqy7hz4fvx02m"; depends=[dplyr generics pROC Rcpp rlang tidyselect]; };
-  yarr = derive2 { name="yarr"; version="0.1.1"; sha256="1bqg188msjfrqnvmwlkqdgc9vhskb26dxlfzpsx261ibwcaqs12y"; depends=[]; };
+  yardstick = derive2 { name="yardstick"; version="0.0.4"; sha256="03pq8wmb6467mkp7ax1gpydg5c6q82r1byhdzjl92g7986p7h3mv"; depends=[dplyr generics pROC Rcpp rlang tidyselect]; };
+  yarr = derive2 { name="yarr"; version="0.1.2"; sha256="16q109jrydckz7s1rkmr2sh8q92cgr1c534fvpbh3h0bc3fvvf8g"; depends=[]; };
   yarrr = derive2 { name="yarrr"; version="0.1.5"; sha256="1258bj7x4icaxfabnnd3fgwydnqbzxkih7zw0sdlwdax3q8fw5c5"; depends=[BayesFactor circlize jpeg]; };
   yasp = derive2 { name="yasp"; version="0.2.0"; sha256="0fza8h9y1wmarsmjcvw4r970d6j4ii795pd2h4xh9nlsirv50adi"; depends=[]; };
   yatah = derive2 { name="yatah"; version="0.0.1"; sha256="1w76a34k3jyiv1ql2bkyh1d77p1lqsyvy2p0ip3sdrsi043a5s4y"; depends=[ape purrr stringr]; };
@@ -14654,15 +15251,16 @@ in with self; {
   yhatr = derive2 { name="yhatr"; version="0.15.1"; sha256="18g2cr1kjxnfw6cwzl62ynppfv1zz732kbx18zq8918l85kx6wbw"; depends=[httr jsonlite stringr]; };
   ykmeans = derive2 { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[foreach plyr]; };
   yll = derive2 { name="yll"; version="1.0.0"; sha256="0lf3cd6pfzki29nk2iy0vd6v4dw6zlsbrjh2839zq5vlpiimsvck"; depends=[]; };
-  yonder = derive2 { name="yonder"; version="0.1.1"; sha256="0sb0sahxab1n42cy0kwi6dn9nhbw6vkpdd3k20a62baplxcwabn5"; depends=[htmltools magrittr shiny]; };
+  ymlthis = derive2 { name="ymlthis"; version="0.1.1"; sha256="04vf722n0yk50bclv25m11rfvqjja5kjzkn9bbdf8pw3kw83brqa"; depends=[crayon fs glue magrittr miniUI purrr rlang rmarkdown rstudioapi shiny shinyBS stringr usethis whoami withr yaml]; };
+  yonder = derive2 { name="yonder"; version="0.1.2"; sha256="0xw78nmixhp8rb6vd7pgsjqgxdrig8f652hzpiirmqcc87f80ksk"; depends=[htmltools magrittr shiny]; };
   yorkr = derive2 { name="yorkr"; version="0.0.7"; sha256="035pmvignq4lip3y5670kxj1n70ff04yy2jwi4837pimr9d0qjhv"; depends=[dplyr ggplot2 gridExtra reshape2 rpart_plot yaml]; };
-  youtubecaption = derive2 { name="youtubecaption"; version="0.1.1"; sha256="0q6ifhgmaby3lj089hld7mwaq81522r2d1zsgijc9a9xfcwfqgv0"; depends=[dplyr magrittr purrr reticulate stringr tibble writexl]; };
+  youtubecaption = derive2 { name="youtubecaption"; version="0.1.2"; sha256="183zbkzczcidd773ivahfjlsxfayczql10s8qxi3cpdr83f5dv6x"; depends=[dplyr magrittr purrr reticulate stringr tibble writexl]; };
   ypr = derive2 { name="ypr"; version="0.3.1"; sha256="0yir9c34i5yncijf6yiliv38glzbfmlr5781nvsnckh8wdb9flgx"; depends=[checkr ggplot2 scales]; };
   yuima = derive2 { name="yuima"; version="1.8.1"; sha256="1jzk3623c1cpw9j8d9b96x6n0jwz8h2izzhrdp01cwwskbnv3hq2"; depends=[boot cubature expm mvtnorm Rcpp RcppArmadillo zoo]; };
   yuimaGUI = derive2 { name="yuimaGUI"; version="1.3.0"; sha256="1znwfkhnmv9m32izikziqpgxx8gpw50786r81va808x7q058cp5n"; depends=[DT ggplot2 ghyp plotly quantmod sde shiny shinyBS shinydashboard shinyjs yuima]; };
   yum = derive2 { name="yum"; version="0.0.1"; sha256="1q8yxn18nia7jh6g2016hxm81d2jak8pwylr6nai9kfynv9wri0g"; depends=[yaml]; };
   yummlyr = derive2 { name="yummlyr"; version="0.1.1"; sha256="0xrk6g58laksz92d8mxck923sk4j92g55szrkxk123wjp5kg9vx6"; depends=[httr jsonlite]; };
-  zCompositions = derive2 { name="zCompositions"; version="1.3.2-1"; sha256="0xd0vgb6hvhxaqjkxwbgjfkx3mly4wkp40vzlsn2dph720vj87b7"; depends=[MASS NADA truncnorm]; };
+  zCompositions = derive2 { name="zCompositions"; version="1.3.3"; sha256="14f4gnvwcw7mcs08dfnrjmrdifvv0h15zaz9ajxkzsazd619mkpj"; depends=[MASS NADA truncnorm]; };
   zFactor = derive2 { name="zFactor"; version="0.1.9"; sha256="1x0cfcmnmpb8dq6wn6538ghlz9cm00grv54dj91hvb09i96cp95x"; depends=[covr data_table dplyr ggplot2 knitcitations logging rootSolve tibble tidyr]; };
   zTree = derive2 { name="zTree"; version="1.0.6"; sha256="1mywxrx6bw7dzhrdwyxbjzc8ikgvw423zycyji0jjr69cfhpmywv"; depends=[plyr]; };
   zbank = derive2 { name="zbank"; version="0.1.0"; sha256="0vzvlri3sncvbz2cdg8wzlpskm1lq9ji0jrfy5cx4ib19m6gxhpc"; depends=[crul jsonlite tibble]; };
@@ -14670,21 +15268,22 @@ in with self; {
   zebu = derive2 { name="zebu"; version="0.1.2"; sha256="0f9fsb4z8s7k5jnz2ayd52dzri0z46kjbm0gi5rfqjlmk13bhgk4"; depends=[foreach ggplot2 iterators plyr reshape2]; };
   zeitgebr = derive2 { name="zeitgebr"; version="0.3.3"; sha256="1g2bqc1xx42q54i6ck0ihpxkzw3hmxqn3cvv416afjc0cm45zw8d"; depends=[behavr data_table lomb pracma]; };
   zeligverse = derive2 { name="zeligverse"; version="0.1.1"; sha256="1hf3hbgzdlhhyy2gvg984dwp8d0qm0ziyn8i9h5x00gwf74vn9dr"; depends=[Amelia dplyr MatchIt purrr rstudioapi tibble WhatIf Zelig ZeligChoice ZeligEI]; };
-  zen4R = derive2 { name="zen4R"; version="0.2"; sha256="064brdzjb42r034mfhwdhq6win6rn5zqwapnbbkk8m7yqbs1xvii"; depends=[httr jsonlite R6 rvest xml2]; };
+  zen4R = derive2 { name="zen4R"; version="0.3"; sha256="029wjw0bay9p4fgd4rnmqzhrpn5q2azx0w9fvlr4mcsnwzjk9kib"; depends=[httr jsonlite R6 rvest xml2]; };
   zendeskR = derive2 { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
   zenplots = derive2 { name="zenplots"; version="1.0.0"; sha256="0jz7b52caymsw010dbls5rbakkilmkl6jnnhwbizybllnf2dg578"; depends=[graph loon MASS PairViz]; };
   zeroEQpart = derive2 { name="zeroEQpart"; version="0.1.0"; sha256="1n24nqyl0irpyspwx4b73xy228a84aa8zsn9fcf2lrlni5vyzmm0"; depends=[MASS ppcor]; };
   zetadiv = derive2 { name="zetadiv"; version="1.1.1"; sha256="0laxp2pd5s0s9wcnvs1r4shid2gi8ap4y9py6gpl207ywq6cxmgz"; depends=[car glm2 Imap mgcv nnls scam vegan]; };
   zfa = derive2 { name="zfa"; version="1.0"; sha256="0lddwpifkzggzvy56ans5pfknfr8laxcg264f3ph2z150gw1plsh"; depends=[SKAT]; };
   zic = derive2 { name="zic"; version="0.9.1"; sha256="1vd64ljigf6iwgzlgdxgj65nlwir176h7ddznddpaz2abh6n6zwp"; depends=[coda Rcpp RcppArmadillo]; };
-  zip = derive2 { name="zip"; version="2.0.3"; sha256="0zii05jg9v9ljd0wd67g9x4bhlmpmsy5dzd093sbnc5n3vjbi32a"; depends=[]; };
+  zip = derive2 { name="zip"; version="2.0.4"; sha256="1c02amk3pl6xir5jnbfiwiv2wvpkpbkkb1w71y6lf2yk7g3d0pdb"; depends=[]; };
   zipR = derive2 { name="zipR"; version="0.1.1"; sha256="1aaw3dslhsw3zgxvkc1v60vsk44x64i4qmjwx0gq4f7dad1rbiqp"; depends=[]; };
+  zipangu = derive2 { name="zipangu"; version="0.1.0"; sha256="1scl047mj7vpkrpgg2glvrr958p5nrwwcpymbkh4mqbhb90s79bg"; depends=[dplyr lifecycle magrittr purrr rlang stringr]; };
   zipcode = derive2 { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
-  zipfR = derive2 { name="zipfR"; version="0.6-10"; sha256="16h5saj0b2qm3qwd7arzamn0n05hn31ybgzq4pb10ri0ajs1cvic"; depends=[]; };
-  zipfextR = derive2 { name="zipfextR"; version="1.0.0"; sha256="007pw5z9rz8ng0llyd2088qxldc3sf0s35pcfqmm85qb94fdksdd"; depends=[tolerance VGAM]; };
+  zipfR = derive2 { name="zipfR"; version="0.6-66"; sha256="0fjqa9a4z2p21ywy8h3pg0gwq4gwzjnrl78kn1nswly3w637574h"; depends=[]; };
+  zipfextR = derive2 { name="zipfextR"; version="1.0.1"; sha256="14p17xxnpnvvinbgjkfxjcmipfanj6vabfh8bzw78k30rl7bj32b"; depends=[copula tolerance VGAM]; };
   ziphsmm = derive2 { name="ziphsmm"; version="2.0.6"; sha256="0lm6m2g9jd1v7gxv4viych8c59phbvz1yly1ydgajl8q251d8n87"; depends=[pracma Rcpp RcppArmadillo]; };
   zoeppritz = derive2 { name="zoeppritz"; version="1.0-7"; sha256="14j9jl2g7gn94nzs96mwsgwlxnfbr1crjfmfwbi3rk367xi197jb"; depends=[]; };
-  zoib = derive2 { name="zoib"; version="1.5.1"; sha256="0lsyr8hfhk4dk129x2l1793v6nmf2k97wnsc44ir6ymip3i4zfld"; depends=[abind coda Formula matrixcalc rjags]; };
+  zoib = derive2 { name="zoib"; version="1.5.4"; sha256="10hv5li1l9gm1bl3k3c9qcmzkqa4ri0kccrsgw1mn8ddn11g9m0a"; depends=[abind coda Formula matrixcalc rjags]; };
   zoltr = derive2 { name="zoltr"; version="0.2.2"; sha256="0nxg37h6vlj5g6rxmgzy060h3lwfgjxvcf5gfpsgpg1mjg9h4k3f"; depends=[base64url httr jsonlite mockery readr webmockr]; };
   zoo = derive2 { name="zoo"; version="1.8-6"; sha256="1k1pmzr9nfwbxq1xf0jzn3nawv4sgnkxkgzxnm1i887jcbrs85r2"; depends=[lattice]; };
   zooaRch = derive2 { name="zooaRch"; version="1.2"; sha256="0grc378xppv0303sf4flfqz5002vq5a23nzbq4bsff41rww7dihc"; depends=[ggplot2]; };
@@ -14693,8 +15292,8 @@ in with self; {
   zooimage = derive2 { name="zooimage"; version="5.5.2"; sha256="0ck8w0zb9l1n9xvjwqshq9q9l8pigy3yslq2hnfbgcwk17kk9mp8"; depends=[digest DT filehash jpeg MASS mda mlearning png shiny svDialogs svMisc tiff]; };
   zoom = derive2 { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; };
   zoomgrid = derive2 { name="zoomgrid"; version="1.0.0"; sha256="1bjm2b1ll5ikym21ia7k6gfiw1bcplcn4p6fls2298nf20q63kaa"; depends=[]; };
-  zoon = derive2 { name="zoon"; version="0.6.3"; sha256="11accyiv9n2zk7fq5bapbmv1ixadab19666i8w41bw642lafgivq"; depends=[dismo plyr randomForest raster RCurl rfigshare rgdal roxygen2 rworldmap SDMTools sp testthat]; };
-  zscorer = derive2 { name="zscorer"; version="0.2.0"; sha256="03crixz3w1v1ahw2fk5qwmz1il07kywrl1445z09yxymgnpcs7gm"; depends=[tidyr]; };
+  zoon = derive2 { name="zoon"; version="0.6.4"; sha256="1pdhsglp5w2y2pm4irnp849389iakvp03942hhgl9dzc93ad2k14"; depends=[dismo plyr randomForest raster RCurl rfigshare rgdal roxygen2 rworldmap SDMTools sp testthat]; };
+  zscorer = derive2 { name="zscorer"; version="0.3.1"; sha256="0aijhs0fyird5gq68x4dxchb02mxa7ijk10k9zjhngghxbjj7iqn"; depends=[shiny]; };
   ztable = derive2 { name="ztable"; version="0.2.0"; sha256="0g7khk5ifsdh9p31wlwh2l5mn1hzxzpv6qcn1wh34vsfjdmijjwy"; depends=[flextable magrittr moonBook officer RColorBrewer scales stringr]; };
   ztype = derive2 { name="ztype"; version="0.1.0"; sha256="0brbq2rgkl4mhjbb70kkfv47lzs66k9ppfs2klavcbripirxn5fx"; depends=[assertthat dplyr ggplot2 lubridate magrittr rvest stringr]; };
   zyp = derive2 { name="zyp"; version="0.10-1.1"; sha256="03cxpkfbhrx1fy8l0dl9a13ghz93cqq6877wa8rig09ksdiivaw9"; depends=[Kendall]; };
diff --git a/nixpkgs/pkgs/development/r-modules/default.nix b/nixpkgs/pkgs/development/r-modules/default.nix
index a9bb3487813e..2019ee45f3cd 100644
--- a/nixpkgs/pkgs/development/r-modules/default.nix
+++ b/nixpkgs/pkgs/development/r-modules/default.nix
@@ -249,7 +249,7 @@ let
     ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ];
     cit = [ pkgs.gsl_1 ];
     curl = [ pkgs.curl.dev ];
-    data_table = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
+    data_table = [pkgs.zlib.dev] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
     diversitree = [ pkgs.gsl_1 pkgs.fftw ];
     EMCluster = [ pkgs.liblapack ];
@@ -276,8 +276,8 @@ let
     jqr = [ pkgs.jq.dev ];
     KFKSDS = [ pkgs.gsl_1 ];
     kza = [ pkgs.fftw.dev ];
-    libamtrack = [ pkgs.gsl_1 ];
     magick = [ pkgs.imagemagick.dev ];
+    ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     mvabund = [ pkgs.gsl_1 ];
     mwaved = [ pkgs.fftw.dev ];
     ncdf4 = [ pkgs.netcdf ];
@@ -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 ];
@@ -325,7 +325,7 @@ let
     rmatio = [ pkgs.zlib.dev ];
     Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ];
     Rmpi = [ pkgs.openmpi ];
-    RMySQL = [ pkgs.zlib pkgs.mysql.connector-c pkgs.openssl.dev ];
+    RMySQL = [ pkgs.zlib pkgs.libmysqlclient pkgs.openssl.dev ];
     RNetCDF = [ pkgs.netcdf pkgs.udunits ];
     RODBCext = [ pkgs.libiodbc ];
     RODBC = [ pkgs.libiodbc ];
@@ -358,6 +358,7 @@ let
     stringi = [ pkgs.icu.dev ];
     survSNP = [ pkgs.gsl_1 ];
     sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
+    systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
     TAQMNGR = [ pkgs.zlib.dev ];
     tesseract = [ pkgs.tesseract pkgs.leptonica ];
     tiff = [ pkgs.libtiff.dev ];
@@ -425,6 +426,7 @@ let
     spate = [ pkgs.pkgconfig ];
     stringi = [ pkgs.pkgconfig ];
     sysfonts = [ pkgs.pkgconfig ];
+    systemfonts = [ pkgs.pkgconfig ];
     tesseract = [ pkgs.pkgconfig ];
     Cairo = [ pkgs.pkgconfig ];
     Rsymphony = [ pkgs.pkgconfig pkgs.doxygen pkgs.graphviz pkgs.subversion ];
@@ -452,6 +454,7 @@ let
     randomForest = [ pkgs.libiconv ];
     sundialr = [ pkgs.libiconv ];
     ucminf = [ pkgs.libiconv ];
+    glmnet = [ pkgs.libiconv ];
   };
 
   packagesRequireingX = [
@@ -647,7 +650,6 @@ let
     "SimpleTable"
     "SOLOMON"
     "soundecology"
-    "SPACECAP"
     "spacodiR"
     "spatsurv"
     "sqldf"
@@ -735,6 +737,11 @@ let
         + lib.optionalString stdenv.isDarwin " -fopenmp";
     });
 
+    ModelMetrics = old.ModelMetrics.overrideDerivation (attrs: {
+      NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
+        + lib.optionalString stdenv.isDarwin " -fopenmp";
+    });
+
     rpf = old.rpf.overrideDerivation (attrs: {
       patchPhase = "patchShebangs configure";
     });
@@ -814,7 +821,7 @@ let
     });
 
     RMySQL = old.RMySQL.overrideDerivation (attrs: {
-      MYSQL_DIR=pkgs.mysql.connector-c;
+      MYSQL_DIR="${pkgs.libmysqlclient}";
       preConfigure = ''
         patchShebangs configure
       '';
@@ -846,6 +853,11 @@ let
       PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
     });
 
+    websocket = old.websocket.overrideDerivation (attrs: {
+      PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
+    });
+
     Rserve = old.Rserve.overrideDerivation (attrs: {
       patches = [ ./patches/Rserve.patch ];
       configureFlags = [
@@ -949,6 +961,10 @@ let
       preConfigure = "patchShebangs configure";
     });
 
+    systemfonts = old.systemfonts.overrideDerivation (attrs: {
+      preConfigure = "patchShebangs configure";
+    });
+
     littler = old.littler.overrideAttrs (attrs: with pkgs; {
       buildInputs = [ pcre lzma zlib bzip2 icu which ] ++ attrs.buildInputs;
       postInstall = ''
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix b/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
index a093cc4dc95c..35307a3fbd93 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
@@ -64,7 +64,7 @@ in rec {
         "${ruby}/bin/ruby" \
         "${confFiles}/Gemfile" \
         "$out/${ruby.gemPath}" \
-        "${bundler}/${ruby.gemPath}" \
+        "${bundler}/${ruby.gemPath}/gems/bundler-${bundler.version}" \
         ${lib.escapeShellArg binPaths} \
         ${lib.escapeShellArg groups}
     '';
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb b/nixpkgs/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
index fe8c43f55ed1..add5db56d1d0 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
+++ b/nixpkgs/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
@@ -8,7 +8,7 @@ out = ENV["out"]
 ruby = ARGV[0]
 gemfile = ARGV[1]
 bundle_path = ARGV[2]
-bundler_gem_path = ARGV[3]
+bundler_path = ARGV[3]
 paths = ARGV[4].split
 groups = ARGV[5].split
 
@@ -35,7 +35,7 @@ ENV["BUNDLE_GEMFILE"] = #{gemfile.dump}
 ENV["BUNDLE_PATH"] = #{bundle_path.dump}
 ENV['BUNDLE_FROZEN'] = '1'
 
-Gem.use_paths(#{bundler_gem_path.dump}, ENV["GEM_PATH"])
+$LOAD_PATH.unshift #{bundler_path.dump} + "/lib"
 
 require 'bundler'
 Bundler.setup(#{groups.map(&:dump).join(', ')})
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
index decde250ac23..6190b4210cd2 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.17.2";
-  source.sha256 = "0dbnq6703mjvgsri45vaw7b4wjqr89z1h8xkzsacqcp24a706m5r";
+  version = "1.17.3";
+  source.sha256 = "0ln3gnk7cls81gwsbxvrmlidsfd78s6b2hzlm4d4a9wbaidzfjxw";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
index a03e40e8097c..c1eb82c5fa80 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
@@ -18,10 +18,10 @@
 # (to make gems behave if necessary).
 
 { lib, fetchurl, writeScript, ruby, kerberos, libxml2, libxslt, python, stdenv, which
-, libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
+, libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi
-, cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl
-, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
+, cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl
+, 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
@@ -29,8 +29,6 @@
 }@args:
 
 let
-  v8 = v8_3_16_14;
-
   rainbow_rake = buildRubyGem {
     pname = "rake";
     gemName = "rake";
@@ -72,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 ];
   };
@@ -243,7 +236,7 @@ in
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ openssl ];
     hardeningDisable = [ "format" ];
-    NIX_CFLAGS_COMPILE = [
+    NIX_CFLAGS_COMPILE = toString [
       "-Wno-error=stringop-overflow"
       "-Wno-error=implicit-fallthrough"
       "-Wno-error=sizeof-pointer-memaccess"
@@ -251,6 +244,7 @@ in
       "-Wno-error=class-memaccess"
       "-Wno-error=ignored-qualifiers"
       "-Wno-error=tautological-compare"
+      "-Wno-error=stringop-truncation"
     ];
     dontBuild = false;
     postPatch = ''
@@ -349,11 +343,11 @@ in
   };
 
   mysql = attrs: {
-    buildInputs = [ mysql.connector-c zlib openssl ];
+    buildInputs = [ libmysqlclient zlib openssl ];
   };
 
   mysql2 = attrs: {
-    buildInputs = [ mysql.connector-c zlib openssl ];
+    buildInputs = [ libmysqlclient zlib openssl ];
   };
 
   ncursesw = attrs: {
@@ -502,23 +496,22 @@ in
   sassc = attrs: {
     nativeBuildInputs = [ rake ];
     dontBuild = false;
-    SASS_LIBSASS_PATH = libsass;
+    SASS_LIBSASS_PATH = toString libsass;
     postPatch = ''
       substituteInPlace lib/sassc/native.rb \
         --replace 'gem_root = spec.gem_dir' 'gem_root = File.join(__dir__, "../../")'
     '';
-  } // (if stdenv.isDarwin then {
+  } // (lib.optionalAttrs stdenv.isDarwin {
     # https://github.com/NixOS/nixpkgs/issues/19098
-    buildFlags = "--disable-lto";
-  } else {});
+    buildFlags = [ "--disable-lto" ];
+  });
 
-  scrypt = attrs:
-    if stdenv.isDarwin then {
-      dontBuild = false;
-      postPatch = ''
-        sed -i -e "s/-arch i386//" Rakefile ext/scrypt/Rakefile
-      '';
-    } else {};
+  scrypt = attrs: lib.optionalAttrs stdenv.isDarwin {
+    dontBuild = false;
+    postPatch = ''
+      sed -i -e "s/-arch i386//" Rakefile ext/scrypt/Rakefile
+    '';
+  };
 
   semian = attrs: {
     buildInputs = [ openssl ];
@@ -543,7 +536,7 @@ in
     dontBuild = false;
     postPatch = ''
       substituteInPlace lib/rbreadline.rb \
-        --replace 'infocmp' '${ncurses.dev}/bin/infocmp'
+        --replace 'infocmp' '${ncurses}/bin/infocmp'
     '';
   };
 
@@ -567,14 +560,6 @@ in
     buildInputs = [ freetds ];
   };
 
-  therubyracer = attrs: {
-    buildFlags = [
-      "--with-v8-dir=${v8}"
-      "--with-v8-include=${v8}/include"
-      "--with-v8-lib=${v8}/lib"
-    ];
-  };
-
   typhoeus = attrs: {
     buildInputs = [ curl ];
   };
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem/default.nix b/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
index 7b92a586b54c..af38160a5fa2 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
     runHook preUnpack
 
     if [[ -f $src && $src == *.gem ]]; then
-      if [[ -z "$dontBuild" ]]; then
+      if [[ -z "''${dontBuild-}" ]]; then
         # we won't know the name of the directory that RubyGems creates,
         # so we'll just use a glob to find it and move it over.
         gempkg="$src"
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb b/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
index 142d2da9bee2..0d501bd9add7 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
+++ b/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
@@ -5,6 +5,7 @@ require 'rubygems/command'
 require 'fileutils'
 require 'pathname'
 require 'tmpdir'
+require 'shellwords'
 
 if defined?(Encoding.default_internal)
   Encoding.default_internal = Encoding::UTF_8
@@ -31,7 +32,7 @@ bin_dir = File.join(ENV["out"], "bin")
 type        = ARGV[0]
 name        = ARGV[1]
 version     = ARGV[2]
-build_flags = ARGV[3]
+build_flags = Shellwords.split(ARGV[3])
 if type == "git"
   uri         = ARGV[4]
   REPO        = ARGV[5]
@@ -117,7 +118,7 @@ else
   source = Bundler::Source::Path.new(options)
 end
 spec = source.specs.search_all(name).first
-Bundler.rubygems.with_build_args [build_flags] do
+Bundler.rubygems.with_build_args build_flags do
   source.install(spec)
 end
 
diff --git a/nixpkgs/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/nixpkgs/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index 042c0366ffbf..c2e4840eab06 100644
--- a/nixpkgs/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/nixpkgs/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -3,19 +3,18 @@ GEM
   specs:
     ast (2.4.0)
     backport (1.1.2)
-    htmlentities (4.3.4)
-    jaro_winkler (1.5.3)
-    kramdown (1.17.0)
+    jaro_winkler (1.5.4)
+    maruku (0.7.3)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.3)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
-    parallel (1.17.0)
-    parser (2.6.3.0)
+    parallel (1.19.1)
+    parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
-    reverse_markdown (1.1.0)
+    reverse_markdown (1.3.0)
       nokogiri
-    rubocop (0.74.0)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
@@ -23,12 +22,12 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 1.7)
     ruby-progressbar (1.10.1)
-    solargraph (0.35.2)
+    solargraph (0.38.0)
       backport (~> 1.1)
       bundler (>= 1.17.2)
-      htmlentities (~> 4.3, >= 4.3.4)
       jaro_winkler (~> 1.5)
-      kramdown (~> 1.16)
+      maruku (~> 0.7, >= 0.7.3)
+      nokogiri (~> 1.9, >= 1.9.1)
       parser (~> 2.3)
       reverse_markdown (~> 1.0, >= 1.0.5)
       rubocop (~> 0.52)
@@ -36,7 +35,7 @@ GEM
       tilt (~> 2.0)
       yard (~> 0.9)
     thor (0.20.3)
-    tilt (2.0.9)
+    tilt (2.0.10)
     unicode-display_width (1.6.0)
     yard (0.9.20)
 
@@ -47,4 +46,4 @@ DEPENDENCIES
   solargraph!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/development/ruby-modules/solargraph/gemset.nix b/nixpkgs/pkgs/development/ruby-modules/solargraph/gemset.nix
index 2f0c60404bc3..e1ea15fb4e16 100644
--- a/nixpkgs/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -19,35 +19,25 @@
     };
     version = "1.1.2";
   };
-  htmlentities = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
-      type = "gem";
-    };
-    version = "4.3.4";
-  };
   jaro_winkler = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
-  kramdown = {
+  maruku = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      sha256 = "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "0.7.3";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -65,20 +55,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.5";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -86,10 +76,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn";
+      sha256 = "09davv4ld6caqlczw64vhwf8hr41apys3cj8v2h96yxs4qg1m2iw";
       type = "gem";
     };
-    version = "2.6.3.0";
+    version = "2.6.5.0";
   };
   rainbow = {
     groups = ["default"];
@@ -107,10 +97,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w7y5n74daajvl9gixr91nh8670d7mkgspkk3ql71m8azq3nffbg";
+      sha256 = "1zb9n227b5s4cg942sc0g3n1bdx9fpcvq5m6w7ap0yc116ivv5w2";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.3.0";
   };
   rubocop = {
     dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
@@ -118,10 +108,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wpyass9qb2wvq8zsc7wdzix5xy2ldiv66wnx8mwwprz2dcvzayk";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.74.0";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -134,15 +124,15 @@
     version = "1.10.1";
   };
   solargraph = {
-    dependencies = ["backport" "htmlentities" "jaro_winkler" "kramdown" "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 = "1r0a7nfb0cwg2d7awbmvzk14594w7vkx844sshl9jpzkjx1asa9n";
+      sha256 = "1pdqpxvjj6r6gzrz9rmxfg85cmfjs4y2lyq8p5qfg3kfpqx4rhpw";
       type = "gem";
     };
-    version = "0.35.2";
+    version = "0.38.0";
   };
   thor = {
     groups = ["default"];
@@ -159,10 +149,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
+      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   unicode-display_width = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile b/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
index 0cd04f07b94b..3454ce3df74b 100644
--- a/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
+++ b/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
@@ -144,7 +144,6 @@ source 'https://rubygems.org' do
   gem 'snappy'
   gem 'sqlite3'
   gem 'taglib-ruby'
-  gem 'therubyracer'
   gem 'thrift'
   gem 'tilt'
   gem 'tiny_tds'
diff --git a/nixpkgs/pkgs/development/ruby-modules/with-packages/test.nix b/nixpkgs/pkgs/development/ruby-modules/with-packages/test.nix
index 73f8f02b27b3..dc1da3de4924 100644
--- a/nixpkgs/pkgs/development/ruby-modules/with-packages/test.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/with-packages/test.nix
@@ -9,6 +9,7 @@ let
     ruby_2_4
     ruby_2_5
     ruby_2_6
+    ruby_2_7
   ];
 
   gemTests =
diff --git a/nixpkgs/pkgs/development/tools/alloy/default.nix b/nixpkgs/pkgs/development/tools/alloy/default.nix
index 056bbd859164..0b34055274d0 100644
--- a/nixpkgs/pkgs/development/tools/alloy/default.nix
+++ b/nixpkgs/pkgs/development/tools/alloy/default.nix
@@ -59,14 +59,14 @@ in rec {
     };
   };
 
-  alloy5 = let version = "5.0.0.1"; in generic {
+  alloy5 = let version = "5.1.0"; in generic {
     major = "5";
     inherit version;
     src = fetchurl {
-      sha256 = "0kz6i9av9ksjk62lx0dxx8xr542iqvbqd14m1f9h8xpf72c25xw4";
-      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/Alloy-${version}.jar";
+      sha256 = "02k9khs4k5nc86x9pp5k3vcb0kiwdgcin46mlap4fycnr673xd53";
+      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/org.alloytools.alloy.dist.jar";
     };
   };
 
-  alloy = alloy4;
+  alloy = alloy5;
 }
diff --git a/nixpkgs/pkgs/development/tools/ameba/default.nix b/nixpkgs/pkgs/development/tools/ameba/default.nix
new file mode 100644
index 000000000000..5ac6c5afa913
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ameba/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchFromGitHub, crystal, shards }:
+
+stdenv.mkDerivation rec {
+  pname = "ameba";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner  = "crystal-ameba";
+    repo   = "ameba";
+    rev    = "v${version}";
+    sha256 = "0zjv59f555q2w8ahrvmpdzasrifwjgr0mk6rly9yss4ab3rj8cy2";
+  };
+
+  nativeBuildInputs = [ crystal shards ];
+
+  buildPhase = ''
+    runHook preBuild
+    shards build --release
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 -t $out/bin bin/ameba
+    runHook postInstall
+  '';
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    crystal spec
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A static code analysis tool for Crystal";
+    homepage = https://crystal-ameba.github.io;
+    license = licenses.mit;
+    maintainers = with maintainers; [ kimburgess ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ammonite/default.nix b/nixpkgs/pkgs/development/tools/ammonite/default.nix
index d44a6666ee9f..69e81596574b 100644
--- a/nixpkgs/pkgs/development/tools/ammonite/default.nix
+++ b/nixpkgs/pkgs/development/tools/ammonite/default.nix
@@ -8,7 +8,7 @@ let
 common = { scalaVersion, sha256 }:
 stdenv.mkDerivation rec {
   pname = "ammonite";
-  version = "1.7.1";
+  version = "1.7.4";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
@@ -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 = {
@@ -39,6 +40,6 @@ stdenv.mkDerivation rec {
   };
 };
 in {
-  ammonite_2_12 = common { scalaVersion = "2.12"; sha256 = "0isg9flnzc2ldbx6q0lg0xyg9lnvqkd8qhgfln8p1hbzdq0n6jd0"; };
-  ammonite_2_13 = common { scalaVersion = "2.13"; sha256 = "01dyc6bilhcr1mwrpmhjc8nhzfqgjh44bx36gd3gk9mkvlbys5mp"; };
+  ammonite_2_12 = common { scalaVersion = "2.12"; sha256 = "0d2xjhxrly4cv5fpjv1i0a74ayij7c2x5sb6lsgzxpq7jj0bk1m6"; };
+  ammonite_2_13 = common { scalaVersion = "2.13"; sha256 = "0hmdizzf8l8i07vdfik24iby39xg1vjfp1cwgjpbcmxv8klf50b0"; };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/autoflake/default.nix b/nixpkgs/pkgs/development/tools/analysis/autoflake/default.nix
index 16b4be47d8b7..7ae563c058bf 100644
--- a/nixpkgs/pkgs/development/tools/analysis/autoflake/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/autoflake/default.nix
@@ -3,11 +3,11 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "autoflake";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wzrvrn6279fijg8jkqbs6313f7b5ll5d22pk5s0fc1fp2wyanbb";
+    sha256 = "0nzr057dbmgprp4a52ymafdkdd5zp2wcqf42913xc7hhvvdbj338";
   };
 
   propagatedBuildInputs = [ pyflakes ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix b/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
index 5fd6b402e0b0..2367e197f849 100644
--- a/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bingrep";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "m4b";
     repo = pname;
-    # Currently doesn't tag versions so we're using the raw revision
-    rev = "33d56a4b020c4a3c111294fe41c613d5e8e9c7af";
-    sha256 = "0lg92wqknr584b44i5v4f97js56j89z7n8p2zpm8j1pfhjmgcigs";
+    rev = "v${version}";
+    sha256 = "1xig3lrw0jdaxibzirqnm50l8nj4si9pa9w0jypmyhf1lr6yzd0g";
   };
 
-  cargoSha256 = "1yxm7waldhilx7wh1ag79rkp8kypb9k1px4ynmzq11r72yl2p4m7";
+  cargoSha256 = "1fsp1ycfswrzldwnjw5cdwi809fd37pwshvrpf7sp0wmzx2bqhgm";
 
   meta = with stdenv.lib; {
     description = "Greps through binaries from various OSs and architectures, and colors them";
diff --git a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
index 9c3efd02de03..edf37efbce99 100644
--- a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
@@ -4,13 +4,13 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "brakeman";
-  version = "4.6.1";
-  source.sha256 = "04chxflc5n6q0kz93c9dc6jwqrz0mrrlpm4iqncb39yyvg4ghcbf";
+  version = "4.7.2";
+  source.sha256 = "1j1svldxvbl27kpyp9yngfwa0fdqal926sjk0cha7h520wvnz79k";
 
   meta = with lib; {
     description = "Static analysis security scanner for Ruby on Rails";
-    homepage = https://brakemanscanner.org/;
-    license = [ licenses.cc-by-nc-sa-40 licenses.mit ];
+    homepage = "https://brakemanscanner.org/";
+    license = [ licenses.unfreeRedistributable ];
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
index ac2c6795a428..985dd8dfd8cb 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.23";
+  version = "8.28";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "0k161c687q33rlm4r8h3f0ks5p2w8pj6kh258zdzk8kjfigfxkmx";
+    sha256 = "014jsj6pbpf3y4c1vx606f82c7pic6q4lcsbl7wwqn67dr0g0v1m";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
new file mode 100644
index 000000000000..e5770800199a
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, fetchzip
+, zlib
+, xorg
+, freetype
+, alsaLib
+, jdk11
+, curl
+, lttng-ust
+, autoPatchelfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "codeql";
+  version = "2.0.0";
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontStrip = true;
+
+  src = fetchzip {
+    url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
+    sha256 = "1v6wzjdhfws77fr5r15s03f1ipzc1gh7sl8gvw1fb4pplpa2d08s";
+  };
+
+  nativeBuildInputs = [
+    zlib
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXtst
+    xorg.libXrender
+    freetype
+    alsaLib
+    jdk11
+    stdenv.cc.cc.lib
+    curl
+    lttng-ust
+    autoPatchelfHook
+  ];
+
+  installPhase = ''
+    # codeql directory should not be top-level, otherwise,
+    # it'll include /nix/store to resolve extractors.
+    mkdir -p $out/{codeql,bin}
+    cp -R * $out/codeql/
+
+    ln -sf $out/codeql/tools/linux64/lib64trace.so $out/codeql/tools/linux64/libtrace.so
+
+    sed -i 's;"$CODEQL_DIST/tools/$CODEQL_PLATFORM/java/bin/java";"${jdk11}/bin/java";' $out/codeql/codeql
+
+    ln -s $out/codeql/codeql $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Semantic code analysis engine";
+    homepage = "https://semmle.com/codeql";
+    maintainers = [ maintainers.dump_stack ];
+    license = licenses.unfree;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/analysis/coz/default.nix b/nixpkgs/pkgs/development/tools/analysis/coz/default.nix
new file mode 100644
index 000000000000..1ef3457e8e9c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/analysis/coz/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchFromGitHub
+, libelfin
+, ncurses
+, python3
+, makeWrapper
+}:
+stdenv.mkDerivation rec {
+  pname = "coz";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "plasma-umass";
+    repo = "coz";
+    rev = version;
+    sha256 = "0a55q3s8ih1r9x6fp7wkg3n5h1yd9pcwg74k33d1r94y3j3m0znr";
+  };
+
+  postConfigure = ''
+    # This is currently hard-coded. Will be fixed in the next release.
+    sed -e "s|/usr/lib/|$out/lib/|" -i ./coz
+  '';
+
+  nativeBuildInputs = [
+    ncurses
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libelfin
+    (python3.withPackages (p: [ p.docutils ]))
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/man/man1
+    make install prefix=$out
+
+    # fix executable includes
+    chmod -x $out/include/coz.h
+
+    # make sure that PYTHONPATH doesn't leak from the environment
+    wrapProgram $out/bin/coz \
+      --unset PYTHONPATH
+  '';
+
+  meta = {
+    homepage = "https://github.com/plasma-umass/coz";
+    description = "Coz: Causal Profiling";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
index 8b6eb71f90ff..1b7467608be3 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pcre ];
   nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ];
 
-  makeFlags = ''PREFIX=$(out) CFGDIR=$(out)/cfg HAVE_RULES=yes'';
+  makeFlags = [ "PREFIX=$(out)" "CFGDIR=$(out)/cfg" "HAVE_RULES=yes" ];
 
   outputs = [ "out" "man" ];
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/cpplint/default.nix b/nixpkgs/pkgs/development/tools/analysis/cpplint/default.nix
index 10ed99e3ffe6..8b4a68adba30 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cpplint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cpplint/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "cpplint";
   version = "1.3.0";
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index 2d7d99bb3937..ecd8f3a17ec9 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/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.108.0";
+  version = "0.114.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "13irr1hkv7mxvq57pywmjmqdf5fv359vl5d19w3sra3rqg7vi3ws";
+    sha256 = "1dkp3v898b5vd0a9fl5xknwbbqv23v0icqml8ypyhzrv6wz5qiy3";
   };
 
   installPhase = ''
@@ -19,9 +19,18 @@ 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/;
+    changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
     maintainers = with maintainers; [ marsam puffnfresh ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
index 8f1709933707..701db7a158fc 100644
--- a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
@@ -23,13 +23,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "19.0";
+  version = "19.1";
   slang   = "Potassium";
 
   src = fetchurl {
     url    = "http://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    sha256 = "190n1n4k0xbycz25bn0d2gnfxd8w6scz3nlixl7w2k2jvpqlcs3n";
-
+    sha256 = "16xsc4jv3ycs5dqprpkh9isr6l2w6i4bq83msqmkdc7l7hf53vrd";
   };
 
   preConfigure = lib.optionalString stdenv.cc.isClang "configureFlagsArray=(\"--with-cpp=clang -E -C\")";
diff --git a/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix b/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
index 89ffbff3db71..fc7cd2ffe193 100644
--- a/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
@@ -1,4 +1,5 @@
 { stdenv,
+  mkDerivation,
   cmake,
   elfutils,
   extra-cmake-modules,
@@ -14,7 +15,7 @@
   threadweaver,
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "hotspot";
   version = "1.2.0";
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix b/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
index 6f3df32f3c04..a882d158f32d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ cmake boost gmp clang llvm sqlite python
                   ocamlPackages.apron mpfr ppl doxygen graphviz ];
 
-  cmakeFlags = "-DAPRON_ROOT=${ocamlPackages.apron}";
+  cmakeFlags = [ "-DAPRON_ROOT=${ocamlPackages.apron}" ];
 
   postBuild = "make doc";
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/include-what-you-use/default.nix b/nixpkgs/pkgs/development/tools/analysis/include-what-you-use/default.nix
index c05d47e396cf..424d83822e87 100644
--- a/nixpkgs/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   pname = "include-what-you-use";
   # Also bump llvmPackages in all-packages.nix to the supported version!
-  version = "0.12";
+  version = "0.13";
 
   src = fetchurl {
-    sha256 = "09b0h704fh7r4f5h92p5997cj3zk1v04bqp4jk1j1f6cmfq2z2d5";
+    sha256 = "1jav4qf7d303by9iy6v08w73wfwzj76i54inh90w1s34m9q44aa9";
     url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix b/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix
new file mode 100644
index 000000000000..5895be0208b5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, parallel-io
+, fixplate
+, pandoc
+, tasty
+, tasty-hunit
+, tasty-th
+, streamly
+, mtl
+, path-io
+, path
+, pretty-terminal
+, text
+, base
+, aeson
+, cmdargs
+, containers
+, hnix
+, bytestring
+}:
+
+mkDerivation rec {
+  pname = "nix-linter-unstable";
+  version = "2019-04-26";
+
+  src = fetchFromGitHub {
+    owner = "Synthetica9";
+    repo = "nix-linter";
+    rev = "4aaf60195cd2d9f9e2345fbdf4aac48e1451292c";
+    sha256 = "0c7rcjaxd8z0grwambsw46snv7cg66h3pszw3549z4xz0i60yq87";
+  };
+
+  isLibrary = false;
+  isExecutable = true;
+  libraryHaskellDepends = [ parallel-io fixplate pandoc ];
+  executableHaskellDepends = [ streamly mtl path-io path pretty-terminal text base aeson cmdargs containers hnix bytestring ];
+  testHaskellDepends = [ tasty tasty-hunit tasty-th ];
+
+  description = "Linter for Nix(pkgs), based on hnix";
+  homepage = "https://github.com/Synthetica9/nix-linter";
+  license = lib.licenses.bsd3;
+  maintainers = [ lib.maintainers.marsam ];
+}
diff --git a/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix b/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
index 4d1b22a72b5c..f5e649d0354c 100644
--- a/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oclgrind";
-  version = "18.3"; # see comment in all-packages.nix
+  version = "19.10";
 
   src = fetchFromGitHub {
     owner = "jrprice";
     repo = "oclgrind";
     rev = "v${version}";
-    sha256 = "0s42z3dg684a0gk8qyx2h08cbh95zkrdaaj9y71rrc5bjsg8197x";
+    sha256 = "12v5z5x3ls26p3y3yc4mqmh12cazc0nlrwvmfbn6cyg4af9dp0zn";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/cutter.nix b/nixpkgs/pkgs/development/tools/analysis/radare2/cutter.nix
index 84c56a9b5691..252e95e5793d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/cutter.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/radare2/cutter.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "radare2-cutter";
-  version = "1.8.3";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "03f3cdckh51anx9gd1b0ndb2fg7061hqngvygf32ky29mm2m2lyv";
+    sha256 = "1ln55ssrasbaam267lwc2vxnm8j0c2x35qsda44xi2p8hqxslf8k";
   };
 
   postUnpack = "export sourceRoot=$sourceRoot/src";
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
index 41949b0ad42d..667f689b8e73 100644
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
@@ -110,22 +110,22 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "22775";
-    gittap = "3.9.0";
-    gittip = "2afe613741d07f35a5d80bc4e2dade2113ae6a74";
-    rev = "3.9.0";
-    version = "3.9.0";
-    sha256 = "0jzz3fzcr9xm8q6n86mhrf30h6cbh147ss9h993cm34fd4d5z7ah";
+    version_commit = "23159";
+    gittap = "4.0.0";
+    gittip = "e97047299af43e9b4e658c246816a2b48bdc087e";
+    rev = "4.0.0";
+    version = "4.0.0";
+    sha256 = "15b79hska3skrlbrig7fl405kmbvy4410m93lfsfmkwxs0wr9jis";
     cs_ver = "4.0.1";
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
   r2-for-cutter = generic {
-    version_commit = "22775";
-    gittap = "3.6.0";
-    gittip = "ff3bb6e3b2e6a519b4c975d05758c171a5186389";
-    rev = "ff3bb6e3b2e6a519b4c975d05758c171a5186389";
-    version = "2019-06-24";
-    sha256 = "0vp94qzznqv87vvjbyyj6swkm6gl7byqvb1jv23i8i42zi5n7qmd";
+    version_commit = "22888";
+    gittap = "3.8.0";
+    gittip = "b4860e4eecad2053202965926f16296864b2f1e5";
+    rev = "b4860e4eecad2053202965926f16296864b2f1e5";
+    version = "2019-09-03";
+    sha256 = "0rx6az2vpqy12lvzpxx9pappqj84d88daj8bis3zsffqgmhsafcd";
     cs_ver = "4.0.1";
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/update.py b/nixpkgs/pkgs/development/tools/analysis/radare2/update.py
index 794581bca7ad..b9e72e623660 100755
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/update.py
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/rr/default.nix b/nixpkgs/pkgs/development/tools/analysis/rr/default.nix
index 844fd38d9be6..a8d95eb05deb 100644
--- a/nixpkgs/pkgs/development/tools/analysis/rr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
index 39e9830dd5d1..79dedb3afba1 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,22 +2,23 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.11.2";
+  version = "0.13.3";
 
   src = fetchFromGitHub {
-    owner = "wata727";
+    owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lhg81bsmzxs46329rlayf8k2y7fbjlmxj09rqbygr9f0693rzgy";
+    sha256 = "13azczm5lg9v5mvf1jx165qy2nj2941qlr9vvxa7q3gqmhxcg271";
   };
 
-  modSha256 = "10za02363yglhj0pbsd2591rflrrcq12gxx9d53pg9hb7lrxj9ij";
+  modSha256 = "0xckzyfc144bc212amw1n63jkmdljbmj0rq0midr37h6bg5a10q3";
 
   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";
+    changelog = "https://github.com/terraform-linters/tflint/releases/tag/v${version}";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
new file mode 100644
index 000000000000..953e9f5b95af
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "tfsec";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1nv7wdchbgf3y265kghhy8rbyvbs03ys5gv9622v0f2kswscy9xl";
+  };
+
+  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/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix b/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
index c362ae5734cb..8e2db5caab1b 100644
--- a/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
@@ -8,15 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21";
   };
 
-  # Perl is needed for `cg_annotate'.
-  nativeBuildInputs = [ perl ];
-
   outputs = [ "out" "dev" "man" "doc" ];
 
   hardeningDisable = [ "stackprotector" ];
 
   # GDB is needed to provide a sane default for `--db-command'.
-  buildInputs = [ gdb ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
+  # Perl is needed for `callgrind_{annotate,control}'.
+  buildInputs = [ gdb perl ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
+
+  # Perl is also a native build input.
+  nativeBuildInputs = [ perl ];
 
   enableParallelBuilding = true;
   separateDebugInfo = stdenv.isLinux;
diff --git a/nixpkgs/pkgs/development/tools/apktool/default.nix b/nixpkgs/pkgs/development/tools/apktool/default.nix
index 56f9f98856cc..76037f98e1b5 100644
--- a/nixpkgs/pkgs/development/tools/apktool/default.nix
+++ b/nixpkgs/pkgs/development/tools/apktool/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apktool";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchurl {
     urls = [
       "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
       "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
     ];
-    sha256 = "1hdwgsw3ggmdzv523wq037kjxhxqp1xq8n8m1qb22vvdj7l1dwd0";
+    sha256 = "0ljsh8nx065isnyzzrwddypikkfhyqsww0w02cgwgh8x3lhndsxx";
   };
 
   phases = [ "installPhase" ];
diff --git a/nixpkgs/pkgs/development/tools/async/default.nix b/nixpkgs/pkgs/development/tools/async/default.nix
new file mode 100644
index 000000000000..1b06d8e1adcc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/avro-tools/default.nix b/nixpkgs/pkgs/development/tools/avro-tools/default.nix
index 678988480ece..6b51e2c482cf 100644
--- a/nixpkgs/pkgs/development/tools/avro-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/avro-tools/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-tools";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchurl {
     url =
     "https://repo1.maven.org/maven2/org/apache/avro/avro-tools/${version}/${pname}-${version}.jar";
-    sha256 = "164mcz7ljd2ikwsq9ba98galcjar4g4n6ag7kkh466nwrpbmd2zi";
+    sha256 = "0d73qbfx59pa4mgsjwgl5dvc4895rm90pdwr4sbd77biscjad94s";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
index 0e511271e1c1..43cb26a30d86 100644
--- a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,21 +5,25 @@
 let
   py = python.override {
     packageOverrides = self: super: {
-      click = super.click.overridePythonAttrs (oldAttrs: rec {
-        version = "6.7";
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
+          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
         };
       });
 
-      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
-        version = "1.10.0";
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "3.1.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "0e1fa094c6791b233f5e73f2f0803ec6e0622f2320ec5a969f0986855221b92b";
+          sha256 = "0grwi50v3vahvcijlw6g6q55yc5jyj0p1cmiq3rkycxnfr16i81g";
         };
+        nativeBuildInputs = [ super.setuptools_scm ];
+        propagatedBuildInputs = with super; oldAttrs.propagatedBuildInputs ++ [ pyrsistent attrs importlib-metadata ];
+        doCheck = false;
       });
+
     };
   };
 
@@ -29,11 +33,11 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "0.16.1";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2dd68800723c76f52980141ba704e105d77469b6ba465781fbc9120e8121e76c";
+    sha256 = "1ndgcbd6zr23lvmqn4wikgvnlwl0gj0wgyawaspwm3b0jlvxadik";
   };
 
   # Tests are not included in the PyPI package
@@ -53,12 +57,17 @@ buildPythonApplication rec {
     requests
     serverlessrepo
     six
+    tomlkit
   ];
 
+  # fix over-restrictive version bounds
   postPatch = ''
-    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.22.0"
-    substituteInPlace requirements/base.txt --replace "six~=1.11.0" "six~=1.12.0"
-    substituteInPlace requirements/base.txt --replace "PyYAML~=3.12" "PyYAML~=5.1"
+    substituteInPlace requirements/base.txt \
+      --replace "requests==2.20.1" "requests==2.22.0" \
+      --replace "serverlessrepo==0.1.9" "serverlessrepo~=0.1.9" \
+      --replace "six~=1.11.0" "six~=1.12.0" \
+      --replace "python-dateutil~=2.6, <2.8.1" "python-dateutil~=2.6" \
+      --replace "PyYAML~=3.12" "PyYAML~=5.1"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/azcopy/default.nix b/nixpkgs/pkgs/development/tools/azcopy/default.nix
index 403d0ab745a9..e3e85ffcd406 100644
--- a/nixpkgs/pkgs/development/tools/azcopy/default.nix
+++ b/nixpkgs/pkgs/development/tools/azcopy/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.0.1-pre";
-  revision = "10.0.1";
-  goPackagePath = "github.com/Azure/azure-storage-azcopy";
-
-  goDeps= ./deps.nix;
+  version = "10.3.2";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
-    rev = revision;
-    sha256 = "0v1qli01nnx81186q1d2556w457qkbwypq6yy89ns52pqg941arp";
+    rev = "v${version}";
+    sha256 = "0n4yns81kwwx725smsgqg8hc693ygqlzrgkqdrhrfszkpm205479";
   };
 
+  subPackages = [ "." ];
+
+  modSha256 = "07cy2zi7m2pkbfdcy659x4k5j2w60cmjy8kxv1dcii3dc6ls4bvb";
+
+  postInstall = ''
+    ln -rs "$out/bin/azure-storage-azcopy" "$out/bin/azcopy"
+  '';
+
   meta = with stdenv.lib; {
     maintainers = with maintainers; [ colemickens ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/azcopy/deps.nix b/nixpkgs/pkgs/development/tools/azcopy/deps.nix
deleted file mode 100644
index cef400200d06..000000000000
--- a/nixpkgs/pkgs/development/tools/azcopy/deps.nix
+++ /dev/null
@@ -1,129 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/Azure/azure-pipeline-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-pipeline-go";
-      rev =  "7571e8eb0876932ab505918ff7ed5107773e5ee2";
-      sha256 = "0i8n7jna9prq3zdbj0bsr1ha271lgg9233n71dw8li5qsiyg8bs2";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/azure-storage-blob-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-storage-blob-go";
-      rev =  "197d1c0aea1b9eedbbaee0a1a32bf81e879bde80";
-      sha256 = "0wslfah8x1i5l98ss4wxv47ddxfp8mbc90cnfi81v7qnf0bpjp2g";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/azure-storage-file-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-storage-file-go";
-      rev =  "9227fd295d972e4395fd601e6f48cee2f5cda02b";
-      sha256 = "0sr5iqiddjs2lnma5ixrrdik9zciqqd74priivvpycgi3cyxyxyn";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/go-autorest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev =  "39013ecb48eaf6ced3f4e3e1d95515140ce6b3cf";
-      sha256 = "1cbf1ay68lghr4swy2a0asfcjpzkamvz1cqxpdm6691b76j2x6cm";
-    };
-  }
-  {
-    goPackagePath  = "github.com/JeffreyRichter/enum";
-    fetch = {
-      type = "git";
-      url = "https://github.com/JeffreyRichter/enum";
-      rev =  "2567042f9cda26772f0afe08bab6e5105745f298";
-      sha256 = "1d2sjjlp0r2ynk1fb3sb7dgbqzbq4czipb7ffm9zdmjbz0gp6crr";
-    };
-  }
-  {
-    goPackagePath  = "github.com/dgrijalva/jwt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgrijalva/jwt-go";
-      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
-      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
-    };
-  }
-  {
-    goPackagePath  = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath  = "github.com/jiacfan/keychain";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jiacfan/keychain";
-      rev =  "55285221316b0547171a4258015906e3a4da4721";
-      sha256 = "0nfpmqmj33953awysp1948y6k28cmh4770q0i60jv88k35p10s56";
-    };
-  }
-  {
-    goPackagePath  = "github.com/jiacfan/keyctl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jiacfan/keyctl";
-      rev =  "988d05162bc59cf7789c35af405be8f1599a87a3";
-      sha256 = "1q4svv9z3s3n2x4ff8cyr53g5ln1yfrcmc3bvznhhwq190dhm94c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev =  "73f6ac0b30a98e433b289500d779f50c1a6f0712";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath  = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev =  "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev =  "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev =  "9a97c102cda95a86cec2345a6f09f55a939babf5";
-      sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-check/check";
-      rev =  "788fd78401277ebd861206a03c884797c6ec5541";
-      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
-    };
-  }
-]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/bazelisk/default.nix b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
index 6c0532eac48d..f6dd4687dab3 100644
--- a/nixpkgs/pkgs/development/tools/bazelisk/default.nix
+++ b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0516rx3qx6nxavy0a1qxjx2rcvdfb2ggig0q4n7fkmrxbnwxh2c9";
+    sha256 = "1rjv21jwq2lkyq60qqg6bd8226dz90hanl3zd9fjlms3vm0zarf8";
   };
 
-  modSha256 = "1f73j6ryidzi3kfy3rhsqx047vzwvzaqcsl7ykhg87rn2l2s7fdl";
+  modSha256 = "0gs8y618izqi0gfa46jqh79yj8lzsmc6yj95fakhp2f5i8v1xrmx";
 
   meta = with stdenv.lib; {
     description = "A user-friendly launcher for Bazel";
diff --git a/nixpkgs/pkgs/development/tools/boomerang/default.nix b/nixpkgs/pkgs/development/tools/boomerang/default.nix
index 2623787993c6..9e567ef59b0d 100644
--- a/nixpkgs/pkgs/development/tools/boomerang/default.nix
+++ b/nixpkgs/pkgs/development/tools/boomerang/default.nix
@@ -1,41 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase, capstone, bison, flex }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "boomerang";
-  version = "0.4.0-alpha-2018-07-03";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
-    owner = "ceeac";
-    repo = "boomerang";
-    rev = "377ff2d7db93d892c925e2d3e61aef818371ce7d";
-    sha256 = "1ljbyj3b8xckr1wihyii3h576zgq0q88vli0ylpr3p4jxy5sm57j";
+    owner = "BoomerangDecompiler";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "046ba4km8c31kbnllx05nbqhjmk7bpi56d3n8md8bsr98nj21a2j";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase ];
-
-  postPatch =
-  # Look in installation directory for required files, not relative to working directory
-  ''
-    substituteInPlace src/boomerang/core/Settings.cpp \
-      --replace "setDataDirectory(\"../share/boomerang\");" \
-                "setDataDirectory(\"$out/share/boomerang\");" \
-      --replace "setPluginDirectory(\"../lib/boomerang/plugins\");" \
-                "setPluginDirectory(\"$out/lib/boomerang/plugins\");"
-  ''
-  # Fixup version:
-  # * don't try to inspect with git
-  #   (even if we kept .git and such it would be "dirty" because of patching)
-  # * use date so version is monotonically increasing moving forward
-  + ''
-    sed -i cmake-scripts/boomerang-version.cmake \
-      -e 's/set(\(PROJECT\|BOOMERANG\)_VERSION ".*")/set(\1_VERSION "${version}")/'
-  '';
+  nativeBuildInputs = [ cmake bison flex ];
+  buildInputs = [ qtbase capstone ];
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
-    homepage = http://boomerang.sourceforge.net/;
+  meta = with lib; {
+    homepage = https://github.com/BoomerangDecompiler/boomerang;
     license = licenses.bsd3;
     description = "A general, open source, retargetable decompiler";
     maintainers = with maintainers; [ dtzWill ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
index 0a86aaeb6ca0..661e16d83e82 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
@@ -46,14 +46,14 @@ stdenv.mkDerivation {
       # JRE by looking for java.  The latter allows just the JRE to be
       # used with (say) ECJ as the compiler.  Finally, allow the GNU
       # JVM.
-      if [ -z "\$JAVA_HOME" ]; then
+      if [ -z "\''${JAVA_HOME-}" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
                   export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
-          if [ -z "\$JAVA_HOME" ]; then
+          if [ -z "\''${JAVA_HOME-}" ]; then
               echo "\$0: cannot find the JDK or JRE" >&2
               exit 1
           fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix
index 8d1e09eeb338..28e86e291755 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -46,14 +46,14 @@ stdenv.mkDerivation {
       # JRE by looking for java.  The latter allows just the JRE to be
       # used with (say) ECJ as the compiler.  Finally, allow the GNU
       # JVM.
-      if [ -z "\$JAVA_HOME" ]; then
+      if [ -z "\''${JAVA_HOME-}" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
                   export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
-          if [ -z "\$JAVA_HOME" ]; then
+          if [ -z "\''${JAVA_HOME-}" ]; then
               echo "\$0: cannot find the JDK or JRE" >&2
               exit 1
           fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
index ef339e658c10..9194eda33616 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -2,7 +2,7 @@
 
 assert jdk != null;
 
-let version = "3.6.1"; in
+let version = "3.6.3"; in
 stdenv.mkDerivation rec {
   pname = "apache-maven";
   inherit version;
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "1rv97g9qr6sifl88rxbsqnz5i79m6ifs36srri08j3y3k5dc6a15";
+    sha256 = "1i9qlj3vy4j1yyf22nwisd0pg88n9qzp9ymfhwqabadka7br3b96";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/0.4.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/0.4.nix
deleted file mode 100644
index 334d09622530..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/0.4.nix
+++ /dev/null
@@ -1,100 +0,0 @@
-{ stdenv, lib, fetchurl, jdk, zip, unzip, bash, makeWrapper, which, coreutils
-# Always assume all markers valid (don't redownload dependencies).
-# Also, don't clean up environment variables.
-, enableNixHacks ? false
-}:
-
-stdenv.mkDerivation rec {
-
-  version = "0.4.5";
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/bazelbuild/bazel/;
-    description = "Build tool that builds code quickly and reliably";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan philandstuff ];
-    platforms = platforms.linux;
-    broken = true; # 2018-08-07
-  };
-
-  pname = "bazel";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "0asmq3kxnl4326zhgh13mvcrc8jvmiswjj4ymrq0943q4vj7nwrb";
-  };
-
-  preUnpack = ''
-    mkdir bazel
-    cd bazel
-  '';
-  sourceRoot = ".";
-
-  patches = lib.optional enableNixHacks ./nix-hacks-0.4.patch;
-
-  postPatch = ''
-    for f in $(grep -l -r '/bin/bash'); do
-      substituteInPlace "$f" --replace '/bin/bash' '${bash}/bin/bash'
-    done
-    for f in $(grep -l -r '/usr/bin/env'); do
-      substituteInPlace "$f" --replace '/usr/bin/env' '${coreutils}/bin/env'
-    done
-  '' + lib.optionalString stdenv.isDarwin ''
-    sed -i 's,/usr/bin/xcrun clang,clang,g' \
-      scripts/bootstrap/compile.sh \
-      src/tools/xcode/realpath/BUILD \
-      src/tools/xcode/stdredirect/BUILD \
-      src/tools/xcode/xcrunwrapper/xcrunwrapper.sh
-    sed -i 's,/usr/bin/xcrun "''${TOOLNAME}","''${TOOLNAME}",g' \
-      src/tools/xcode/xcrunwrapper/xcrunwrapper.sh
-    sed -i 's/"xcrun", "clang"/"clang"/g' tools/osx/xcode_configure.bzl
-  '';
-
-  buildInputs = [
-    jdk
-    zip
-    unzip
-    makeWrapper
-    which
-  ];
-
-  # These must be propagated since the dependency is hidden in a compressed
-  # archive.
-
-  propagatedBuildInputs = [
-    bash
-  ];
-
-  buildPhase = ''
-    export TMPDIR=/tmp/.bazel-$UID
-    ./compile.sh
-    ./output/bazel --output_user_root=$TMPDIR/.bazel build //scripts:bash_completion \
-      --spawn_strategy=standalone \
-      --genrule_strategy=standalone
-    cp bazel-bin/scripts/bazel-complete.bash output/
-  '';
-
-  # Build the CPP and Java examples to verify that Bazel works.
-
-  doCheck = true;
-  checkPhase = ''
-    export TEST_TMPDIR=$(pwd)
-    ./output/bazel test --test_output=errors \
-        examples/cpp:hello-success_test \
-        examples/java-native/src/test/java/com/example/myproject:hello
-  '';
-
-  # Bazel expects gcc and java to be in the path.
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv output/bazel $out/bin
-    wrapProgram "$out/bin/bazel" --prefix PATH : "${stdenv.cc}/bin:${jdk}/bin"
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv output/bazel-complete.bash $out/share/bash-completion/completions/
-    cp scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
index cd0c5f6c081b..b67a5ab22341 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
@@ -36,7 +36,7 @@ let
 
     bazelScript = ''
       ${bazel}/bin/bazel build :tool_usage --distdir=${distDir}
-      cp bazel-genfiles/output.txt $out
+      cp bazel-bin/output.txt $out
       echo "Testing content" && [ "$(cat $out | wc -l)" == "2" ] && echo "OK"
     '';
   };
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
new file mode 100644
index 000000000000..a599ac3ec723
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc
+index 8f8f15685f..a7ae52d1e4 100644
+--- a/src/main/cpp/option_processor.cc
++++ b/src/main/cpp/option_processor.cc
+@@ -56,7 +56,7 @@ OptionProcessor::OptionProcessor(
+     : workspace_layout_(workspace_layout),
+       startup_options_(std::move(default_startup_options)),
+       parse_options_called_(false),
+-      system_bazelrc_path_(BAZEL_SYSTEM_BAZELRC_PATH) {}
++      system_bazelrc_path_("@bazelSystemBazelRCPath@") {}
+ 
+ OptionProcessor::OptionProcessor(
+     const WorkspaceLayout* workspace_layout,
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
index 01619e0cb117..da69000a5e49 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
@@ -5,7 +5,7 @@
 , lr, xe, zip, unzip, bash, writeCBin, coreutils
 , which, gawk, gnused, gnutar, gnugrep, gzip, findutils
 # updater
-, python3, writeScript
+, python27, python3, writeScript
 # Apple dependencies
 , cctools, libcxx, CoreFoundation, CoreServices, Foundation
 # Allow to independently override the jdks used to build and run respectively
@@ -19,14 +19,17 @@
 , enableNixHacks ? false
 , gcc-unwrapped
 , autoPatchelfHook
+, file
+, substituteAll
+, writeTextFile
 }:
 
 let
-  version = "0.29.0";
+  version = "2.0.0";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "01cb6f2e808bd016cf0e217e12373c9efb808123e58b37885be8364458d3a40a";
+    sha256 = "1fvc7lakdczim1i99hrwhwx2w75afd3q9fgbhrx7i3pnav3a6kbj";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -46,15 +49,16 @@ let
       srcs.io_bazel_rules_sass
       srcs.platforms
       (if stdenv.hostPlatform.isDarwin
-       then srcs."java_tools_javac11_darwin-v4.0.zip"
-       else srcs."java_tools_javac11_linux-v4.0.zip")
-      srcs."coverage_output_generator-v1.0.zip"
+       then srcs."java_tools_javac11_darwin-v7.0.zip"
+       else srcs."java_tools_javac11_linux-v7.0.zip")
+      srcs."coverage_output_generator-v2.0.zip"
       srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.8.tar.gz"
-      srcs."0.27.1.tar.gz"
+      srcs."android_tools_pkg-0.12.tar.gz"
+      srcs."0.28.3.tar.gz"
       srcs.rules_pkg
       srcs.rules_cc
       srcs.rules_java
+      srcs.rules_proto
       ]);
 
   distDir = runCommand "bazel-deps" {} ''
@@ -90,7 +94,7 @@ let
     #        ],
     #     )
     #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
+    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
 
   # Java toolchain used for the build and tests
   javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
@@ -106,7 +110,7 @@ let
   remote_java_tools = stdenv.mkDerivation {
     name = "remote_java_tools_${system}";
 
-    src = srcDepsSet."java_tools_javac11_${system}-v4.0.zip";
+    src = srcDepsSet."java_tools_javac11_${system}-v7.0.zip";
 
     nativeBuildInputs = [ autoPatchelfHook unzip ];
     buildInputs = [ gcc-unwrapped ];
@@ -123,6 +127,18 @@ let
     '';
   };
 
+  bazelRC = writeTextFile {
+    name = "bazel-rc";
+    text = ''
+      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
+      build --distdir=${distDir}
+      startup --server_javabase=${runJdk}
+
+      # load default location for the system wide configuration
+      try-import /etc/bazel.bazelrc
+    '';
+  };
+
 in
 stdenv.mkDerivation rec {
   pname = "bazel";
@@ -144,6 +160,24 @@ stdenv.mkDerivation rec {
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
     ./trim-last-argument-to-gcc-if-empty.patch
+
+    # --experimental_strict_action_env (which may one day become the default
+    # see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a non hermetic value (e.g. "/usr/local/bin").
+    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
+    # So we are replacing this bazel paths by defaultShellPath,
+    # improving hermeticity and making it work in nixos.
+    (substituteAll {
+      src = ./strict_action_env.patch;
+      strictActionEnvPatch = defaultShellPath;
+    })
+
+    # bazel reads its system bazelrc in /etc
+    # override this path to a builtin one
+    (substituteAll {
+      src = ./bazel_rc.patch;
+      bazelSystemBazelRCPath = bazelRC;
+    })
   ] ++ lib.optional enableNixHacks ./nix-hacks.patch;
 
 
@@ -221,7 +255,10 @@ stdenv.mkDerivation rec {
         sha256 = "03c1bwlq5bs3hg96v4g4pg2vqwhqq6w538h66rcpw02f83yy7fs8";
       };
 
-    in {
+    in (if !stdenv.hostPlatform.isDarwin then {
+      # `extracted` doesn’t work on darwin
+      shebang = callPackage ./shebang-test.nix { inherit runLocal extracted bazelTest distDir; };
+    } else {}) // {
       bashTools = callPackage ./bash-tools-test.nix { inherit runLocal bazelTest distDir; };
       cpp = callPackage ./cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
       java = callPackage ./java-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
@@ -305,7 +342,7 @@ stdenv.mkDerivation rec {
       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1"
 
       # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -e "s;/usr/bin/xcrun clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \
+      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \
         scripts/bootstrap/compile.sh \
         src/tools/xcode/realpath/BUILD \
         src/tools/xcode/stdredirect/BUILD \
@@ -326,10 +363,12 @@ stdenv.mkDerivation rec {
     '';
 
     genericPatches = ''
-      # Substitute python's stub shebang to plain python path. (see TODO add pr URL)
-      # See also `postFixup` where python is added to $out/nix-support
-      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt \
-          --replace "#!/usr/bin/env python" "#!${python3}/bin/python"
+      # Substitute j2objc and objc wrapper's python shebang to plain python path.
+      # These scripts explicitly depend on Python 2.7, hence we use python27.
+      # See also `postFixup` where python27 is added to $out/nix-support
+      substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
 
       # md5sum is part of coreutils
       sed -i 's|/sbin/md5|md5sum|' \
@@ -339,8 +378,12 @@ stdenv.mkDerivation rec {
       grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
         # If you add more replacements here, you must change the grep above!
         # Only files containing /bin are taken into account.
+        # We default to python3 where possible. See also `postFixup` where
+        # python3 is added to $out/nix-support
         substituteInPlace "$path" \
           --replace /bin/bash ${customBash}/bin/bash \
+          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
+          --replace "/usr/bin/env python" ${python3}/bin/python \
           --replace /usr/bin/env ${coreutils}/bin/env \
           --replace /bin/true ${coreutils}/bin/true
       done
@@ -380,14 +423,6 @@ stdenv.mkDerivation rec {
           -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
           -i scripts/bootstrap/compile.sh
 
-      # --experimental_strict_action_env (which will soon become the
-      # default, see bazelbuild/bazel#2574) hardcodes the default
-      # action environment to a value that on NixOS at least is bogus.
-      # So we hardcode it to something useful.
-      substituteInPlace \
-        src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
-        --replace /bin:/usr/bin ${defaultShellPath}
-
       # This is necessary to avoid:
       # "error: no visible @interface for 'NSDictionary' declares the selector
       # 'initWithContentsOfURL:error:'"
@@ -403,12 +438,6 @@ stdenv.mkDerivation rec {
       mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
 
       patchShebangs .
-
-      # bazel reads its system bazelrc in /etc
-      # override this path to a builtin one
-      substituteInPlace \
-        src/main/cpp/option_processor.cc \
-        --replace BAZEL_SYSTEM_BAZELRC_PATH "\"$out/etc/bazelrc\""
     '';
     in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
      + genericPatches;
@@ -460,15 +489,6 @@ stdenv.mkDerivation rec {
     cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
     mv ./bazel_src/output/bazel $out/bin/bazel-real
 
-    wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"
-
-    # generates the system bazelrc
-    # warning: the name of the repository depends on the system, hence
-    # the reference to .name
-    mkdir $out/etc
-    echo "build --override_repository=${remote_java_tools.name}=${remote_java_tools}" > $out/etc/bazelrc
-    echo "build --distdir=${distDir}" >> $out/etc/bazelrc
-
     # shell completion files
     mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
     mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
@@ -516,6 +536,10 @@ stdenv.mkDerivation rec {
     echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
     # The templates get tar’d up into a .jar,
     # so nix can’t detect python is needed in the runtime closure
+    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
+    # default to using python3. Therefore, both python27 and python3 are
+    # runtime dependencies.
+    echo "${python27}" >> $out/nix-support/depends
     echo "${python3}" >> $out/nix-support/depends
   '' + lib.optionalString stdenv.isDarwin ''
     echo "${cctools}" >> $out/nix-support/depends
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch
deleted file mode 100644
index 563fe635e6b0..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-index eafa09fb5..d2d5e40e8 100644
---- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-@@ -287,21 +287,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
-           markerData.put(key, value);
-         }
-       }
--      boolean result = false;
--      if (markerRuleKey.equals(ruleKey)) {
--        result = handler.verifyMarkerData(rule, markerData, env);
--        if (env.valuesMissing()) {
--          return null;
--        }
--      }
- 
--      if (result) {
--        return new Fingerprint().addString(content).digestAndReset();
--      } else {
--        // So that we are in a consistent state if something happens while fetching the repository
--        markerPath.delete();
--        return null;
--      }
-+      return new Fingerprint().addString(content).digestAndReset();
- 
-     } catch (IOException e) {
-       throw new RepositoryFunctionException(e, Transience.TRANSIENT);
-diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-index a7ebc8f7a..40f2049fa 100644
---- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-+++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-@@ -129,7 +129,6 @@ public class JavaSubprocessFactory implements SubprocessFactory {
-     ProcessBuilder builder = new ProcessBuilder();
-     builder.command(params.getArgv());
-     if (params.getEnv() != null) {
--      builder.environment().clear();
-       builder.environment().putAll(params.getEnv());
-     }
- 
-diff --git a/src/main/java/com/google/devtools/build/lib/worker/Worker.java b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-index 0268d1b2b..637364657 100644
---- a/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-+++ b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-@@ -77,7 +77,6 @@ class Worker {
-         new ProcessBuilder(command)
-             .directory(workDir.getPathFile())
-             .redirectError(Redirect.appendTo(logFile.getPathFile()));
--    processBuilder.environment().clear();
-     processBuilder.environment().putAll(workerKey.getEnv());
- 
-     this.process = processBuilder.start();
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix
new file mode 100644
index 000000000000..fd94f97a7659
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix
@@ -0,0 +1,49 @@
+{
+  bazel
+, bazelTest
+, distDir
+, extracted
+, runLocal
+, unzip
+}:
+
+# Tests that all shebangs are patched appropriately.
+# #!/usr/bin/... should be replaced by Nix store references.
+# #!.../bin/env python should be replaced by Nix store reference to the python interpreter.
+
+let
+
+  workspaceDir = runLocal "our_workspace" {} "mkdir $out";
+
+  testBazel = bazelTest {
+    name = "bazel-test-shebangs";
+    inherit workspaceDir;
+    bazelPkg = bazel;
+    bazelScript = ''
+      set -ueo pipefail
+      FAIL=
+      check_shebangs() {
+        local dir="$1"
+        { grep -Re '#!/usr/bin' $dir && FAIL=1; } || true
+        { grep -Re '#![^[:space:]]*/bin/env' $dir && FAIL=1; } || true
+      }
+      BAZEL_EXTRACTED=${extracted bazel}/install
+      check_shebangs $BAZEL_EXTRACTED
+      while IFS= read -r -d "" zip; do
+        unzipped="./$zip/UNPACKED"
+        mkdir -p "$unzipped"
+        unzip -qq $zip -d "$unzipped"
+        check_shebangs "$unzipped"
+        rm -rf unzipped
+      done < <(find $BAZEL_EXTRACTED -type f -name '*.zip' -or -name '*.jar' -print0)
+      if [[ $FAIL = 1 ]]; then
+        echo "Found files in the bazel distribution with illegal shebangs." >&2
+        echo "Replace those by explicit Nix store paths." >&2
+        echo "Python scripts should not use \`bin/env python' but the Python interpreter's store path." >&2
+        exit 1
+      fi
+    '';
+    buildInputs = [ unzip ];
+  };
+
+in testBazel
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
index f93794249ec7..171b1f9fc64e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
@@ -7,36 +7,20 @@
             "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
         ]
     },
-    "0.27.1.tar.gz": {
-        "name": "0.27.1.tar.gz",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
+    "0.28.3.tar.gz": {
+        "name": "0.28.3.tar.gz",
+        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
         ]
     },
-    "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip": {
-        "name": "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
+    "46993efdd33b73649796c5fc5c9efb193ae19d51.zip": {
+        "name": "46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+        "sha256": "66184688debeeefcc2a16a2f80b03f514deac8346fe888fb7e691a52c023dd88",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz": {
-        "name": "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
-        ]
-    },
-    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
-        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+            "https://github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip"
         ]
     },
     "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
@@ -47,6 +31,14 @@
             "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
         ]
     },
+    "8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip": {
+        "name": "8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
+        "sha256": "1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip"
+        ]
+    },
     "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
         "name": "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
         "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
@@ -55,19 +47,19 @@
             "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
         ]
     },
-    "android_tools_pkg-0.8.tar.gz": {
-        "name": "android_tools_pkg-0.8.tar.gz",
-        "sha256": "a9eac6e1b27d5549edaaa724b20eb1cdae6253b84f44d5744c30372bd523cfcd",
+    "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz": {
+        "name": "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
+        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.8.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
-    "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz": {
-        "name": "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
+    "android_tools_pkg-0.12.tar.gz": {
+        "name": "android_tools_pkg-0.12.tar.gz",
+        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz"
         ]
     },
     "bazel_j2objc": {
@@ -75,7 +67,7 @@
         "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
         "strip_prefix": "j2objc-2.5",
         "urls": [
-            "https://miirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
+            "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
             "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip"
         ]
     },
@@ -90,11 +82,11 @@
     },
     "bazel_toolchains": {
         "name": "bazel_toolchains",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
-        "strip_prefix": "bazel-toolchains-0.27.1",
+        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
+        "strip_prefix": "bazel-toolchains-0.28.3",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
         ]
     },
     "build_bazel_rules_nodejs": {
@@ -106,20 +98,28 @@
             "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
         ]
     },
+    "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz": {
+        "name": "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
+        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
+            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz"
+        ]
+    },
     "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-v1.0.zip": {
-        "name": "coverage_output_generator-v1.0.zip",
-        "sha256": "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889",
+    "coverage_output_generator-v2.0.zip": {
+        "name": "coverage_output_generator-v2.0.zip",
+        "sha256": "3a6951051272d51613ac4c77af6ce238a3db321bf06506fde1b8866eb18a89dd",
         "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip"
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.0.zip"
         ]
     },
     "desugar_jdk_libs": {
@@ -158,32 +158,32 @@
     },
     "io_bazel_skydoc": {
         "name": "io_bazel_skydoc",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "strip_prefix": "skydoc-41c28e43dffbae39c52dd4b91932d1209e5a8893",
+        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
+        "strip_prefix": "skydoc-c7bbde2950769aac9a99364b0926230060a3ce04",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
+            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz"
         ]
     },
-    "java_tools_javac11_darwin-v4.0.zip": {
-        "name": "java_tools_javac11_darwin-v4.0.zip",
-        "sha256": "fbf5bf22e9aab9c622e4c8c59314a1eef5ea09eafc5672b4f3250dc0b971bbcc",
+    "java_tools_javac11_darwin-v7.0.zip": {
+        "name": "java_tools_javac11_darwin-v7.0.zip",
+        "sha256": "373a4226906ae9ba908550da16e133c4cd1f01b8973af82b9a2eb6903cb4d645",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_darwin-v4.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_darwin-v7.0.zip"
         ]
     },
-    "java_tools_javac11_linux-v4.0.zip": {
-        "name": "java_tools_javac11_linux-v4.0.zip",
-        "sha256": "96e223094a12c842a66db0bb7bb6866e88e26e678f045842911f9bd6b47161f5",
+    "java_tools_javac11_linux-v7.0.zip": {
+        "name": "java_tools_javac11_linux-v7.0.zip",
+        "sha256": "3ff465e82954a70f49982610dd63f6f651beaa83c707dd637870b0e41cdcd2f0",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_linux-v4.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_linux-v7.0.zip"
         ]
     },
-    "java_tools_javac11_windows-v4.0.zip": {
-        "name": "java_tools_javac11_windows-v4.0.zip",
-        "sha256": "a1de51447b2ba2eab923d589ba6c72c289c16e6091e6a3bb3e67a05ef4ad200c",
+    "java_tools_javac11_windows-v7.0.zip": {
+        "name": "java_tools_javac11_windows-v7.0.zip",
+        "sha256": "11d90a147919e74d11870cdd58c4ee5de3062c08d11b16aa72d3f3bbfa9497a0",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_windows-v4.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_windows-v7.0.zip"
         ]
     },
     "java_tools_langtools_javac10": {
@@ -362,20 +362,20 @@
     },
     "platforms": {
         "name": "platforms",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
+        "sha256": "66184688debeeefcc2a16a2f80b03f514deac8346fe888fb7e691a52c023dd88",
+        "strip_prefix": "platforms-46993efdd33b73649796c5fc5c9efb193ae19d51",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+            "https://github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip"
         ]
     },
     "rules_cc": {
         "name": "rules_cc",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "strip_prefix": "rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c",
+        "sha256": "1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f",
+        "strip_prefix": "rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip"
         ]
     },
     "rules_java": {
@@ -405,11 +405,11 @@
     },
     "rules_proto": {
         "name": "rules_proto",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
-        "strip_prefix": "rules_proto-b0cc14be5da05168b01db282fe93bdf17aa2b9f4",
+        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
+        "strip_prefix": "rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
     "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
new file mode 100644
index 000000000000..1402c20f6bdb
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+index a70b5559bc..10bdffe961 100644
+--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+@@ -466,7 +466,7 @@ public class BazelRuleClassProvider {
+       // Note that --action_env does not propagate to the host config, so it is not a viable
+       // workaround when a genrule is itself built in the host config (e.g. nested genrules). See
+       // #8536.
+-      return "/bin:/usr/bin:/usr/local/bin";
++      return "@strictActionEnvPatch@";
+     }
+
+     String newPath = "";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
index 23ffe2868241..ce656d4d78ff 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix b/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix
index 30e88b497ad9..41fc0940b9d0 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "buck";
-  version = "2019.06.17.01";
+  version = "2019.10.17.01";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nmphjxqwp51j16qajgvi853dm7654x1w1737xr81zzpcbjw6qig";
+    sha256 = "1irgp8yq1z11bq3b83yxvj35wqqq7y7b8q4d4y0hc05ac19ja0vj";
   };
 
   patches = [ ./pex-mtime.patch ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch
index 0373ca2d67cd..e0399d0a6c6e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch
@@ -23,12 +23,12 @@ index e353a37..b06f842 100644
  
  struct cmLinkImplementation;
  
--#if defined(CMAKE_BUILD_WITH_CMAKE) && defined(__APPLE__)
+-#if !defined(CMAKE_BOOTSTRAP) && defined(__APPLE__)
 -#  define HAVE_APPLICATION_SERVICES
 -#  include <ApplicationServices/ApplicationServices.h>
 -#endif
 -
- #if defined(CMAKE_BUILD_WITH_CMAKE)
+ #if !defined(CMAKE_BOOTSTRAP)
  #  include "cmXMLParser.h"
  
 diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
index 5bad0100a032..93e75a855d3d 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/nixpkgs/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.1";
+  version = "3.16.2";
 
   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 = "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq";
+    sha256 = "1ag65ignli58kpmji6gjhj8xw4w1qdr910i99hsvx8hcqrp7h2cc";
   };
 
   patches = [
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
 
     # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
     ./libuv-application-services.patch
+
   ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
 
   outputs = [ "out" ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch
index c5b9cdff1d07..eb3df1e4ff6a 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch
@@ -31,8 +31,8 @@ diff -ur cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c cmake-3.12.1-patched
  #include "uv.h"
  #include "internal.h"
  
--#if TARGET_OS_IPHONE
-+#if !HAVE_CORESERVICES_CORESERVICES_H
+-#if TARGET_OS_IPHONE || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
++#if !HAVE_CORESERVICES_CORESERVICES_H || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
  
  /* iOS (currently) doesn't provide the FSEvents-API (nor CoreServices) */
  
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 29fe6fd79de4..6f3d33bcaa7c 100755
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -20,17 +20,17 @@ cmakeConfigurePhase() {
         export CTEST_PARALLEL_LEVEL=$NIX_BUILD_CORES
     fi
 
-    if [ -z "$dontFixCmake" ]; then
+    if [ -z "${dontFixCmake-}" ]; then
         fixCmakeFiles .
     fi
 
-    if [ -z "$dontUseCmakeBuildDir" ]; then
+    if [ -z "${dontUseCmakeBuildDir-}" ]; then
         mkdir -p build
         cd build
         cmakeDir=${cmakeDir:-..}
     fi
 
-    if [ -z "$dontAddPrefix" ]; then
+    if [ -z "${dontAddPrefix-}" ]; then
         cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags"
     fi
 
@@ -84,7 +84,7 @@ cmakeConfigurePhase() {
     cmakeFlags="-DCMAKE_INSTALL_LOCALEDIR=${!outputLib}/share/locale $cmakeFlags"
 
     # Don’t build tests when doCheck = false
-    if [ -z "$doCheck" ]; then
+    if [ -z "${doCheck-}" ]; then
         cmakeFlags="-DBUILD_TESTING=OFF $cmakeFlags"
     fi
 
@@ -96,10 +96,10 @@ cmakeConfigurePhase() {
     # and unecessary attempts to access non-existent home folder
     # https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#disabling-the-package-registry
     cmakeFlags="-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
-    cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
-    cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON $cmakeFlags"
+    cmakeFlags="-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF $cmakeFlags"
+    cmakeFlags="-DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF $cmakeFlags"
 
-    if [ "$buildPhase" = ninjaBuildPhase ]; then
+    if [ "${buildPhase-}" = ninjaBuildPhase ]; then
         cmakeFlags="-GNinja $cmakeFlags"
     fi
 
@@ -115,7 +115,7 @@ cmakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseCmakeConfigure-}" -a -z "${configurePhase-}" ]; then
     setOutputFlags=
     configurePhase=cmakeConfigurePhase
 fi
@@ -124,25 +124,33 @@ addEnvHooks "$targetOffset" addCMakeParams
 
 makeCmakeFindLibs(){
   isystem_seen=
-  for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do
+  iframework_seen=
+  for flag in ${NIX_CFLAGS_COMPILE-} ${NIX_LDFLAGS-}; do
     if test -n "$isystem_seen" && test -d "$flag"; then
       isystem_seen=
-      export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag}"
+      export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag}"
+    elif test -n "$iframework_seen" && test -d "$flag"; then
+      iframework_seen=
+      export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag}"
     else
       isystem_seen=
+      iframework_seen=
       case $flag in
         -I*)
-          export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
+          export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag:2}"
           ;;
         -L*)
-          export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
+          export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH-}${CMAKE_LIBRARY_PATH:+:}${flag:2}"
           ;;
         -F*)
-          export CMAKE_FRAMEWORK_PATH="$CMAKE_FRAMEWORK_PATH${CMAKE_FRAMEWORK_PATH:+:}${flag:2}"
+          export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag:2}"
           ;;
         -isystem)
           isystem_seen=1
           ;;
+        -iframework)
+          iframework_seen=1
+          ;;
       esac
     fi
   done
diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
index ce7b08710441..59b1b14ac5fa 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/doit/default.nix b/nixpkgs/pkgs/development/tools/build-managers/doit/default.nix
index 6fc03a550940..8fd2514c4a06 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/doit/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/doit/default.nix
@@ -3,14 +3,14 @@
 let
 
   name = "doit";
-  version = "0.31.1";
+  version = "0.32.0";
 
 in python3Packages.buildPythonApplication {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz";
-    sha256 = "1spm8vfjh4kvalaj0i2ggbdln1yy5k68d8mfwfnpqlzxxx4ikl5s";
+    sha256 = "033m6y9763l81kgqd07rm62bngv3dsm3k9p28nwsn2qawl8h8g9j";
   };
 
   buildInputs = with python3Packages; [ mock pytest ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh
index 75d2edcaf1c6..850f18948cad 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh
@@ -9,6 +9,6 @@ gnConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseGnConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseGnConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=gnConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index b543565758c1..37467f225eab 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn";
   };
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   patches = [
     # Purity: don't look for library dependencies (of the form `-lfoo') in /lib
     # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
index 5e01438844c6..a15eb2752317 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
@@ -54,12 +54,12 @@ rec {
   gradle_latest = gradle_5_6;
 
   gradle_5_6 = gradleGen rec {
-    name = "gradle-5.6.1";
+    name = "gradle-5.6.4";
     nativeVersion = "0.18";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "04pccfcry5c59xwm6rr4r3baanwbfr5yrwhxv4r5v8z4414291h9";
+      sha256 = "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix
index 1d1bee9c04f6..48a719c7c267 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "icmake";
-  version = "9.02.08";
+  version = "9.02.09";
 
   src = fetchFromGitLab {
-    sha256 = "1pr5lagmdls3clzwa2xwcfa3k5750rf7i0j3zld0xirb41zx07q2";
+    sha256 = "0f4vyqgjribwa60j3a1c2xv69zllc7rfhaafq0jj1mdy8hdzvxpd";
     rev = version;
     repo = "icmake";
     owner = "fbb-git";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
index 7314643530e8..2d94b48ba547 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, yacc }:
 
 stdenv.mkDerivation rec {
-  name = "jam-2.6";
+  name = "jam-2.6.1";
 
   src = fetchurl {
     url = "https://swarm.workshop.perforce.com/projects/perforce_software-jam/download/main/${name}.tar";
-    sha256 = "0j4r7xcjz15ksnnpjw56qi99q4lpjmx097pkwwkl1hq3hqml1zhn";
+    sha256 = "19xkvkpycxfsncxvin6yqrql3x3z9ypc1j8kzls5k659q4kv5rmc";
   };
 
   nativeBuildInputs = [ yacc ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix b/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix
index 03cc0518ab51..05834565f931 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
index fad5bc9e630d..e4d4994a7814 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,22 +1,30 @@
-{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
+{ lib
+, python3Packages
+, fetchpatch
+, stdenv
+, writeTextDir
+, substituteAll
+, targetPackages
+}:
 
 let
   # See https://mesonbuild.com/Reference-tables.html#cpu-families
   cpuFamilies = {
-    aarch64 = "aarch64";
-    armv6l  = "arm";
-    armv7l  = "arm";
-    i686    = "x86";
-    x86_64  = "x86_64";
+    aarch64  = "aarch64";
+    armv5tel = "arm";
+    armv6l   = "arm";
+    armv7l   = "arm";
+    i686     = "x86";
+    x86_64   = "x86_64";
   };
 in
 python3Packages.buildPythonApplication rec {
   pname = "meson";
-  version = "0.51.2";
+  version = "0.52.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0cqhkjbab1mbvxmbjvyfrbjfkm7bh436svqpjapca36c2k9h1vwr";
+    sha256 = "02fnrk1fjf3yiix0ak0m9vgbpl4h97fafii5pmw7phmvnlv9fyan";
   };
 
   postFixup = ''
@@ -54,14 +62,14 @@ python3Packages.buildPythonApplication rec {
       src = ./fix-rpath.patch;
       inherit (builtins) storeDir;
     })
-  ] ++ lib.optionals stdenv.isDarwin [
-    # We use custom Clang, which makes Meson think *not Apple*, while still
-    # relying on system linker. When it detects standard Clang, Meson will
-    # pass it `-Wl,-O1` flag but optimizations are not recognized by
-    # Mac linker.
-    # https://github.com/mesonbuild/meson/issues/4784
-    # Should be fixed in 0.52
-    ./fix-objc-linking.patch
+
+    # Fix detecting incorrect compiler in the store path hash.
+    # https://github.com/NixOS/nixpkgs/issues/73417#issuecomment-554077964
+    # https://github.com/mesonbuild/meson/pull/6185
+    (fetchpatch {
+      url = "https://github.com/mesonbuild/meson/commit/972ede1d14fdf17fe5bb8fb99be220f9395c2392.patch";
+      sha256 = "19bfsylhpy0b2xv3ks8ac9x3q6vvvyj1wjcy971v9d5f1455xhbb";
+    })
   ];
 
   setupHook = ./setup-hook.sh;
@@ -96,7 +104,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/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
deleted file mode 100644
index 996e0c3420e2..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index dc8f099b..d8581fcf 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -944,7 +944,7 @@
-                 compiler_type = self.get_gnu_compiler_type(defines)
-                 version = self.get_gnu_version_from_defines(defines)
-                 return GnuObjCCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
--            if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
-+            if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
-                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
-             if 'windows' in out:
-                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)
-@@ -974,7 +974,7 @@
-                 compiler_type = self.get_gnu_compiler_type(defines)
-                 version = self.get_gnu_version_from_defines(defines)
-                 return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
--            if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
-+            if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
-                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
-             if 'windows' in out:
-                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
index 1a5f8cb89dce..6cf7afc2bdf3 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
@@ -1,21 +1,34 @@
---- a/mesonbuild/compilers/compilers.py
-+++ b/mesonbuild/compilers/compilers.py
-@@ -1202,8 +1202,10 @@
-             # In order to avoid relinking for RPATH removal, the binary needs to contain just
-             # enough space in the ELF header to hold the final installation RPATH.
-             paths = ':'.join(all_paths)
--            if len(paths) < len(install_rpath):
--                padding = 'X' * (len(install_rpath) - len(paths))
-+            store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
-+            extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
-+            if extra_space_needed > 0:
-+                padding = 'X' * extra_space_needed
-                 if not paths:
-                     paths = padding
-                 else:
+--- a/mesonbuild/linkers.py
++++ b/mesonbuild/linkers.py
+@@ -527,8 +527,10 @@ class GnuLikeDynamicLinkerMixin:
+         # In order to avoid relinking for RPATH removal, the binary needs to contain just
+         # enough space in the ELF header to hold the final installation RPATH.
+         paths = ':'.join(all_paths)
+-        if len(paths) < len(install_rpath):
+-            padding = 'X' * (len(install_rpath) - len(paths))
++        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
++        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++        if extra_space_needed > 0:
++            padding = 'X' * extra_space_needed
+             if not paths:
+                 paths = padding
+             else:
+@@ -902,8 +904,10 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
+         # In order to avoid relinking for RPATH removal, the binary needs to contain just
+         # enough space in the ELF header to hold the final installation RPATH.
+         paths = ':'.join(all_paths)
+-        if len(paths) < len(install_rpath):
+-            padding = 'X' * (len(install_rpath) - len(paths))
++        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
++        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++        if extra_space_needed > 0:
++            padding = 'X' * extra_space_needed
+             if not paths:
+                 paths = padding
+             else:
 --- a/mesonbuild/scripts/depfixer.py
 +++ b/mesonbuild/scripts/depfixer.py
-@@ -303,6 +303,14 @@
+@@ -303,6 +303,14 @@ class Elf(DataSizes):
              return
          self.bf.seek(rp_off)
          old_rpath = self.read_str()
@@ -30,7 +43,7 @@
          if len(old_rpath) < len(new_rpath):
              sys.exit("New rpath must not be longer than the old one.")
          # The linker does read-only string deduplication. If there is a
-@@ -316,6 +324,10 @@
+@@ -316,6 +324,10 @@ class Elf(DataSizes):
          if not new_rpath:
              self.remove_rpath_entry(entrynum)
          else:
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
index 7a33d4127fae..e59795486aa8 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
@@ -1,8 +1,8 @@
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -805,6 +805,13 @@
-         scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
-         scan_command += list(external_ldflags)
+@@ -801,6 +801,13 @@ class GnomeModule(ExtensionModule):
+             scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_source_dir(), self.interpreter.subproject_dir, state.subproject)]
+             scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_build_dir(), self.interpreter.subproject_dir, state.subproject)]
  
 +        if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1:
 +            raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh
index 6e8d94523e14..8d76ecdaf32b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh
@@ -1,7 +1,7 @@
 mesonConfigurePhase() {
     runHook preConfigure
 
-    if [ -z "$dontAddPrefix" ]; then
+    if [ -z "${dontAddPrefix-}" ]; then
         mesonFlags="--prefix=$prefix $mesonFlags"
     fi
 
@@ -36,7 +36,7 @@ mesonConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseMesonConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then
     setOutputFlags=
     configurePhase=mesonConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
index a07fc2643f6c..6a4431be0eb4 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}";
-    sha256 = "1y5044m0qlwa1wlg7xkhg76agmfn7bgcf040wf56fvxhf0w78zjw";
+    sha256 = "1m4p0d15qgayfnknvl99sd1kpgrqfaj1yczvwh7ip0gxcladn1wv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
     runHook preInstall
     install -Dm555 "$src" "$out/bin/.mill-wrapped"
     # can't use wrapProgram because it sets --argv0
-    makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" --set JAVA_HOME "${jre}"
+    makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" \
+      --prefix PATH : "${jre}/bin" \
+      --set JAVA_HOME "${jre}" \
+      --set MILL_VERSION "${version}"
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
index e3c67bd139dd..7d8087ad1342 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
@@ -19,7 +19,7 @@ ninjaBuildPhase() {
     runHook postBuild
 }
 
-if [ -z "$dontUseNinjaBuild" -a -z "$buildPhase" ]; then
+if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then
     buildPhase=ninjaBuildPhase
 fi
 
@@ -38,7 +38,7 @@ ninjaInstallPhase() {
     runHook postInstall
 }
 
-if [ -z "$dontUseNinjaInstall" -a -z "$installPhase" ]; then
+if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then
     installPhase=ninjaInstallPhase
 fi
 
@@ -73,6 +73,6 @@ ninjaCheckPhase() {
     runHook postCheck
 }
 
-if [ -z "$dontUseNinjaCheck" -a -z "$checkPhase" ]; then
+if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then
     checkPhase=ninjaCheckPhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
index 3d2759f025cc..0649cd7c5957 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.13.1";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "1a9mydfsax5pzbnx8g8f9blc4xpk5rdjq8fvkdaiwapdczban1ya";
+    sha256 = "0hq2lx5w5lsiy9c69bcps4wyn2sa9s88hj0bq95p93sfiwq6mxlr";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
index 341585744a6e..4ebeb7f05284 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,11 +1,9 @@
 { stdenv, fetchFromGitHub,
   fetchHex, erlang,
-  tree, hexRegistrySnapshot }:
+  tree }:
 
 let
-  version = "3.11.1";
-
-  bootstrapper = ./rebar3-nix-bootstrap;
+  version = "3.12.0";
 
   erlware_commons = fetchHex {
     pkg = "erlware_commons";
@@ -77,18 +75,12 @@ stdenv.mkDerivation rec {
     owner = "erlang";
     repo = pname;
     rev = version;
-    sha256 = "124l1alf7wx4hqjpf63l0nx70q68lilmgh582c1d413fz5ip0byd";
+    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/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
index 802f47af6adf..f1deed1df352 100755
--- a/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
index cf19862b0056..33e8e7cad5d8 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk }:
 
 let
-  rev = "53f1edc685d8f269ac551336809e34faf7cd29a6";
-  version = "2019-08-14";
+  rev = "f0669e9b6745b65fae3ec58c2d6a2bef133db456";
+  version = "2019-10-21";
 in
 stdenv.mkDerivation {
   name = "sbt-extras-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "1fyfwcnr30c0rgq6xfd2is9a8j1hsrl2p0xqicwqi4bzijy4r6gw";
+    sha256 = "1pc8l78qp51ixa26z0n1djwmazpxw1p4j4w4njil7ywxl9xvr92i";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
index d32eba51ce17..bd0c667fdad6 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,15 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.2.8";
+  version = "1.3.5";
 
   src = fetchurl {
     urls = [
-      "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${pname}-${version}.tgz"
+      "https://piccolo.link/sbt-${version}.tgz"
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
-      "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "0n7yghnb1q3lyjpv721znvslk5lwib7y84mxwz66yv8p84jj3fcv";
+    sha256 = "1c1ha4w3c36l7w2ncmwvry05hwcj8pv7dkpq23wdc25w1yj0l7sn";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
index 1655c154d4e5..0afe2fbe9281 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
@@ -8,7 +8,7 @@ in {
     sha256 = "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4";
   };
   scons_latest = mkScons {
-    version = "3.1.1";
-    sha256 = "19a3j6x7xkmr2srk2yzxx3wv003h9cxx08vr81ps76blvmzl3sjc";
+    version = "3.1.2";
+    sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh
index 55159aa5a93a..0b908f68286b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh
@@ -71,14 +71,14 @@ sconsCheckPhase() {
     runHook postCheck
 }
 
-if [ -z "$buildPhase" ]; then
+if [ -z "${buildPhase-}" ]; then
     buildPhase=sconsBuildPhase
 fi
 
-if [ -z "$dontUseSconsInstall" -a -z "$installPhase" ]; then
+if [ -z "${dontUseSconsInstall-}" -a -z "${installPhase-}" ]; then
     installPhase=sconsInstallPhase
 fi
 
-if [ -z "$checkPhase" ]; then
+if [ -z "${checkPhase-}" ]; then
     checkPhase=sconsCheckPhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index 9e7856c9e3a9..db01a068c00c 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "0mbmb7994dcv8i41zgiqmb6qp5hawgygzam7mi4pmdygkx4ckkxw";
+    sha256 = "0lsjsfp6ls38vlgibbnsyd1m7jvmjwdmpyrd0qigp4aa2abwi4dg";
   };
 
   outputs = [ "bin" "man" "out" ];
@@ -18,9 +18,15 @@ buildGoPackage rec {
   goPackagePath = "github.com/containers/buildah";
   excludedPackages = [ "tests" ];
 
+  # Disable module-mode, because Go 1.13 automatically enables it if there is
+  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
+  GO111MODULE = "off";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
+  patches = [ ./disable-go-module-mode.patch ];
+
   buildPhase = ''
     pushd go/src/${goPackagePath}
     make GIT_COMMIT="unknown"
@@ -35,6 +41,6 @@ buildGoPackage rec {
     description = "A tool which facilitates building OCI images";
     homepage = "https://github.com/containers/buildah";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Profpatsch vdemeester ];
+    maintainers = with maintainers; [ Profpatsch vdemeester saschagrunert ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/buildah/disable-go-module-mode.patch b/nixpkgs/pkgs/development/tools/buildah/disable-go-module-mode.patch
new file mode 100644
index 000000000000..a6f211412ea1
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/buildah/disable-go-module-mode.patch
@@ -0,0 +1,33 @@
+From e2d12e52b3638a320a8d69ea4b392b60f44ea57f Mon Sep 17 00:00:00 2001
+From: Mario Rodas <marsam@users.noreply.github.com>
+Date: Wed, 4 Dec 2019 21:07:33 -0500
+Subject: [PATCH] Do not check Go module-mode availability
+
+Since buildah vendorizes its dependencies we use buildGoPackage which
+does not uses Go module-mode.  The module-mode check will be true
+because nixpkgs uses Go 1.13 by default, and building go modules with
+buildGoPackage may lead to inconsistencies.
+---
+ Makefile | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9d04177d..4cf9b6a2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,12 +15,7 @@ BUILDAH := buildah
+ GO := go
+ GO110 := 1.10
+ GOVERSION := $(findstring $(GO110),$(shell go version))
+-# test for go module support
+-ifeq ($(shell go help mod >/dev/null 2>&1 && echo true), true)
+-export GO_BUILD=GO111MODULE=on $(GO) build -mod=vendor
+-else
+ export GO_BUILD=$(GO) build
+-endif
+ 
+ GIT_COMMIT ?= $(if $(shell git rev-parse --short HEAD),$(shell git rev-parse --short HEAD),$(error "git failed"))
+ SOURCE_DATE_EPOCH ?= $(if $(shell date +%s),$(shell date +%s),$(error "date failed"))
+-- 
+2.24.0
+
diff --git a/nixpkgs/pkgs/development/tools/buildpack/default.nix b/nixpkgs/pkgs/development/tools/buildpack/default.nix
new file mode 100644
index 000000000000..23afc8b53f29
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/buildpack/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "pack";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "buildpacks";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00v4kb9cv6nn7vrybjkv0kgcvfm5dsg0168dv253mrp9xmv8kd9l";
+  };
+
+  goPackagePath = "github.com/buildpacks/pack";
+
+  subPackages = [ "cmd/pack" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/buildpacks/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/nixpkgs/pkgs/development/tools/cargo-flamegraph/default.nix b/nixpkgs/pkgs/development/tools/cargo-flamegraph/default.nix
index 442035d0f5f8..26b737f13a7b 100644
--- a/nixpkgs/pkgs/development/tools/cargo-flamegraph/default.nix
+++ b/nixpkgs/pkgs/development/tools/cargo-flamegraph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform
+{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, perf
 , Security
 }:
 
@@ -15,11 +15,19 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "0kmw2n4j5bisac0bv3npbwfz2z00ncd6w8ichwaz5hac5mi1a72f";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
+  buildInputs = lib.optionals stdenv.isDarwin [
     Security
   ];
 
-  meta = with stdenv.lib; {
+  postFixup = lib.optionalString stdenv.isLinux ''
+    wrapProgram $out/bin/cargo-flamegraph \
+      --suffix PATH ':' ${perf}/bin
+    wrapProgram $out/bin/flamegraph \
+      --suffix PATH ':' ${perf}/bin
+  '';
+
+  meta = with lib; {
     description = "Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3";
     homepage = https://github.com/ferrous-systems/flamegraph;
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/nixpkgs/pkgs/development/tools/ccloud-cli/default.nix b/nixpkgs/pkgs/development/tools/ccloud-cli/default.nix
new file mode 100644
index 000000000000..7fa530297722
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/chefdk/default.nix b/nixpkgs/pkgs/development/tools/chefdk/default.nix
index d5c742014189..d30c0aaeb496 100644
--- a/nixpkgs/pkgs/development/tools/chefdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/chit/default.nix b/nixpkgs/pkgs/development/tools/chit/default.nix
index b312b888e908..e939ddb1334e 100644
--- a/nixpkgs/pkgs/development/tools/chit/default.nix
+++ b/nixpkgs/pkgs/development/tools/chit/default.nix
@@ -6,16 +6,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "chit";
-  version = "0.1.14";
+  version = "0.1.15";
 
   src = fetchFromGitHub {
     owner = "peterheesterman";
     repo = pname;
     rev = version;
-    sha256 = "1rzy15xwlf87c8kpy9pwvir6s9z3qc8d9iz4pk0gfdj2il3vmjwv";
+    sha256 = "0iixczy3cad44j2d7zzj8f3lnmp4jwnb0snmwfgiq3vj9wrn28pz";
   };
 
-  cargoSha256 = "1jqnnf4jgjpm1i310hda15423nxfw9frgpmc2kbrs66qcsj7avaw";
+  cargoSha256 = "0k6z69a09ps55w2rdgnf92yscw6rlbcpb4q9yf3rsav15pgpqvw8";
 
   nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkgconfig ];
   buildInputs = []
diff --git a/nixpkgs/pkgs/development/tools/clang-tools/default.nix b/nixpkgs/pkgs/development/tools/clang-tools/default.nix
index 0abea99f64ae..2e8f48901aba 100644
--- a/nixpkgs/pkgs/development/tools/clang-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/clang-tools/wrapper b/nixpkgs/pkgs/development/tools/clang-tools/wrapper
new file mode 100644
index 000000000000..53c99a67f2d3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/clj-kondo/default.nix b/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
index 919061c6d963..8317473570da 100644
--- a/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
+++ b/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec{
   pname = "clj-kondo";
-  version = "2019.07.31-alpha";
+  version = "2019.12.14";
 
   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 = "03ipl7br9pgx2hdbiaxv9ip0ibafkyzkc8qlx8xyi528bcfi54bf";
+    sha256 = "1mprwqc5ydqn2wkssrj2g3wbpjss7flv584wss9j0jjfgy7jc4s1";
   };
 
   dontUnpack = true;
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec{
     homepage = https://github.com/borkdude/clj-kondo;
     license = licenses.epl10;
     platforms = graalvm8.meta.platforms;
-    maintainers = with maintainers; [ jlesquembre ];
+    maintainers = with maintainers; [ jlesquembre bandresen ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/cloudflare-wrangler/default.nix b/nixpkgs/pkgs/development/tools/cloudflare-wrangler/default.nix
new file mode 100644
index 000000000000..efca438ada36
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/cloudflare-wrangler/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cloudflare-wrangler";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = "wrangler";
+    rev = "v" + version;
+    sha256 = "1agl1cg34iklvniygrkq8dqsampvg17d3nsm0dcr6c3n5rj09gbi";
+  };
+
+  cargoSha256 = "0c2g6yghwqjy21yfdcri4v9aqizd06ww3zx2snns51gnqqk8r57k";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
+
+  # tries to use "/homeless-shelter" and fails
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A CLI tool designed for folks who are interested in using Cloudflare Workers.";
+    homepage = https://github.com/cloudflare/wrangler;
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/cmake-format/default.nix b/nixpkgs/pkgs/development/tools/cmake-format/default.nix
new file mode 100644
index 000000000000..837e1484583c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/cmake-format/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, autopep8
+, flake8
+, jinja2
+, pylint
+, pyyaml
+}:
+
+buildPythonApplication rec {
+  pname = "cmake-format";
+  version = "0.6.5";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "cmake_format";
+    sha256 = "0fzfczf66df81szp488zwdz6phx6lcq6wkb0dzpzq6ni39r7kvw8";
+  };
+
+  propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Source code formatter for cmake listfiles";
+    homepage = "https://github.com/cheshirekow/cmake_format";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.tobim ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/conftest/default.nix b/nixpkgs/pkgs/development/tools/conftest/default.nix
index 4c8792cc6aa0..ae35170cd193 100644
--- a/nixpkgs/pkgs/development/tools/conftest/default.nix
+++ b/nixpkgs/pkgs/development/tools/conftest/default.nix
@@ -2,28 +2,22 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.12.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "instrumenta";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "0blrbbnvnnxyw0idhglqdz16i7g6g86a6kw2iw707bg0yfdl1ncq";
+    sha256 = "0lb644fj80r4igxbslbd5pksirnyf6slz4yn0mznyx8i2bd1g4ic";
   };
 
-  patches = [
-    # Version 0.12.0 does not build with go 1.13. See https://github.com/instrumenta/conftest/pull/85.
-    # TODO: Remove once https://github.com/instrumenta/conftest/pull/85 is merged and lands in a release.
-    ./go-1.13-deps.patch
-  ];
+  modSha256 = "1p7fjg1vcrcxb4f5hd00qxx4fqcl051klcjs6ljn4v46qcpn6dcn";
 
   buildFlagsArray = ''
     -ldflags=
         -X main.version=${version}
   '';
 
-  modSha256 = "11999ywy73ng45gl1qypky8342jvishcp11bdxbigvqhwl2zbpav";
-
   meta = with lib; {
     description = "Write tests against structured configuration data";
     homepage = https://github.com/instrumenta/conftest;
diff --git a/nixpkgs/pkgs/development/tools/conftest/go-1.13-deps.patch b/nixpkgs/pkgs/development/tools/conftest/go-1.13-deps.patch
deleted file mode 100644
index d03d4ed742a3..000000000000
--- a/nixpkgs/pkgs/development/tools/conftest/go-1.13-deps.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff --git a/go.mod b/go.mod
-index a552a6b..a39703d 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,6 +1,6 @@
- module github.com/instrumenta/conftest
- 
--go 1.12
-+go 1.13
- 
- require (
- 	cloud.google.com/go v0.39.0 // indirect
-@@ -43,12 +43,16 @@ require (
- 	golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f // indirect
- 	golang.org/x/oauth2 v0.0.0-20190523182746-aaccbc9213b0 // indirect
- 	golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09 // indirect
-+	golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect
- 	google.golang.org/appengine v1.6.0 // indirect
- 	google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 // indirect
- )
- 
- replace (
-+	git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999
- 	github.com/containerd/containerd => github.com/containerd/containerd v1.2.6
- 	github.com/docker/docker => github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd
- 	github.com/golang/lint => golang.org/x/lint v0.0.0-20190409202823-959b441ac422
-+	github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e => github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e
-+	golang.org/x/crypto v0.0.0-20190129210102-0709b304e793 => golang.org/x/crypto v0.0.0-20180904163835-0709b304e793
- )
-diff --git a/go.sum b/go.sum
-index 2441c4e..212ac69 100644
---- a/go.sum
-+++ b/go.sum
-@@ -10,7 +10,6 @@ dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl
- dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
- dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
- dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
--git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
- github.com/Azure/azure-sdk-for-go v21.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
- github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
- github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
-@@ -43,6 +42,7 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYU
- github.com/antchfx/xpath v0.0.0-20190129040759-c8489ed3251e/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
- github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzDP8/dyiCKFp31He4m2GPjl0AFyzDtZzUu9M=
- github.com/apache/thrift v0.0.0-20161221203622-b2a4d4ae21c7/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
-+github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
- github.com/apparentlymart/go-cidr v1.0.0 h1:lGDvXx8Lv9QHjrAVP7jyzleG4F9+FkRhJcEsDFxeb8w=
- github.com/apparentlymart/go-cidr v1.0.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
- github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
-@@ -132,13 +132,8 @@ github.com/docker/cli v0.0.0-20190511004558-53fc257292ad/go.mod h1:JLrzqnKDaYBop
- github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
- github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
- github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
--github.com/docker/docker v0.0.0-20180531152204-71cd53e4a197/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
- github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd h1:h98Vus5/NAC3I4k243/B/KgCdpjCUK4lfxNEw2p/HAc=
- github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
--github.com/docker/docker v1.14.0-0.20190131205458-8a43b7bb99cd h1:adRHD5aU4yFK0L4yZwjY3SyWapVmPdq1h19eJdgYUfs=
--github.com/docker/docker v1.14.0-0.20190131205458-8a43b7bb99cd/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
--github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c h1:rZ+3jNsgjvYgdZ0Nrd4Udrv8rneDbWBohAPuXsTsvGU=
--github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
- github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
- github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
- github.com/docker/docker-credential-helpers v0.6.2 h1:CrW9H1VMf3a4GrtyAi7IUJjkJVpwBBpX0+mvkvYJaus=
-@@ -214,6 +209,7 @@ github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPg
- github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
- github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
- github.com/google/shlex v0.0.0-20150127133951-6f45313302b9/go.mod h1:RpwtwJQFrIEPstU94h88MWPXP2ektJZ8cZ0YntAmXiE=
-+github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU=
- github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
- github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg=
- github.com/googleapis/gax-go/v2 v2.0.4 h1:hU4mGcQI4DaAYW+IbTun+2qEZVFxK0ySjQLTbS0VQKc=
-@@ -407,8 +403,8 @@ github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zM
- github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y=
- github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
- github.com/opencontainers/runc v1.0.0-rc6/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
--github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e h1:+uPGJuuDl61O9GKN/rLHkUCf597mpxmJI06RqMQX81A=
--github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
-+github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e h1:9wcty7nGPPNkY8/VsiZkjmMB8x7SydrklJE+vCr4uDg=
-+github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
- github.com/opencontainers/runtime-spec v0.0.0-20180909173843-eba862dc2470/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
- github.com/opentracing-contrib/go-stdlib v0.0.0-20171029140428-b1a47cfbdd75/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w=
- github.com/opentracing/opentracing-go v0.0.0-20171003133519-1361b9cd60be/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-@@ -587,7 +583,6 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf
- golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
--golang.org/x/crypto v0.0.0-20190129210102-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20190129210102-ccddf3741a0c/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-@@ -679,6 +674,8 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262 h1:qsl9y/CJx34tuA7QCPNp86J
- golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
- golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373 h1:PPwnA7z1Pjf7XYaBP9GL1VAMZmcIWyFz7QCMSIIa3Bg=
- golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
-+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
- google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
- google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
- google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y=
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
index b20d5cfbeee1..1a3105a2269e 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
@@ -1,19 +1,23 @@
-# with import <nixpkgs>{};
-{ stdenv, fetchFromGitHub, buildGoPackage }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+let version = "1.2.0";
+in buildGoModule rec {
+  inherit version;
   pname = "drone-cli";
-  version = "0.8.6";
   revision = "v${version}";
   goPackagePath = "github.com/drone/drone-cli";
 
-  goDeps= ./deps.nix;
+  modSha256 = "0jvhnrvqi1axypyzgjzbv44s7w1j53y6wak6xlkxdm64qw6pf1hc";
+
+  preBuild = ''
+    buildFlagsArray+=("-ldflags" "-X main.version=${version}")
+  '';
 
   src = fetchFromGitHub {
     owner = "drone";
     repo = "drone-cli";
     rev = revision;
-    sha256 = "1vvilpqyx9jl0lc9hr73qxngwhwbyk81fycal7ys1w59gv9hxrh9";
+    sha256 = "1b1c3mih760z3hx5xws9h4m1xhlx1pm4qhm3sm31cyim9p8rmi4s";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/deps.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/deps.nix
deleted file mode 100644
index d6486db13951..000000000000
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/deps.nix
+++ /dev/null
@@ -1,274 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/Microsoft/go-winio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Microsoft/go-winio";
-      rev =  "7da180ee92d8bd8bb8c37fc560e673e6557c392f";
-      sha256 = "19gjjhmzswhm11wzj38r5alxypmflmy0z42flhc3czhmmwv7b1av";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Sirupsen/logrus";
-      rev =  "d682213848ed68c0a260ca37d6dd5ace8423f5ba";
-      sha256 = "0nzyqwzx3k7nqfq8q7yv32gaf3ymq3bpwhkmw1hj2zakq5a93d8x";
-    };
-  }
-  {
-    goPackagePath  = "github.com/cncd/pipeline";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cncd/pipeline";
-      rev =  "3a09486affc9215ba52f55b1f6e10182458d1aba";
-      sha256 = "17v9bwmqhr9pqppsqpb2qg7klip5jmks5c5kq6lxw6iq75q3p5zm";
-    };
-  }
-  {
-    goPackagePath  = "github.com/docker/distribution";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/distribution";
-      rev =  "7dba427612198a11b161a27f9d40bb2dca1ccd20";
-      sha256 = "0sv2044znv2cjcll0lc45wbjhsy0hpfkbczhl07m81i62r929l27";
-    };
-  }
-  {
-    goPackagePath  = "github.com/docker/docker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/docker";
-      rev =  "f645ffca04abf2dd6c89ac9057a1eb7d2b0ac338";
-      sha256 = "0ic848invzfyzj9psbd8d3wvqddxbxbpj8vy2dbdqcwl26qabaqf";
-    };
-  }
-  {
-    goPackagePath  = "github.com/docker/go-connections";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/go-connections";
-      rev =  "eb315e36415380e7c2fdee175262560ff42359da";
-      sha256 = "0jsci3f0dc3bd0bab7byq24qvwpd6dw34hnd2kmvvgrg31xzb73f";
-    };
-  }
-  {
-    goPackagePath  = "github.com/docker/go-units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/go-units";
-      rev =  "f2145db703495b2e525c59662db69a7344b00bb8";
-      sha256 = "0ql76imazd27h1dnnala49qsaw2dl6hspcwzh20bgm9ajcv0fwd0";
-    };
-  }
-  {
-    goPackagePath  = "github.com/docker/libcompose";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/libcompose";
-      rev =  "1c4bd4542afb20db0b51afd71d9ebceaf206e2dd";
-      sha256 = "1prm5w6d0zvc39jq7wxdgis3pzzra2wdqxqn68ip5dhf3m32c8vn";
-    };
-  }
-  {
-    goPackagePath  = "github.com/drone/drone-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/drone/drone-go";
-      rev =  "7f20e6c113d3ffa2af80401c4eba7d510c8fd875";
-      sha256 = "1qm5nmzqmvjl8c2nfhhbp5a4ij1zfw4dinx278ns9qb0w973614k";
-    };
-  }
-  {
-    goPackagePath  = "github.com/drone/envsubst";
-    fetch = {
-      type = "git";
-      url = "https://github.com/drone/envsubst";
-      rev =  "f4d1a8ef8670afc9eea1fb95ee09a979fd2763a3";
-      sha256 = "10rj5zskp6f0bw648c1fn76v18jlidjd7ri76kk3csz2bwjm3m9c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev =  "507f6050b8568533fb3f5504de8e5205fa62a114";
-      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
-    };
-  }
-  {
-    goPackagePath  = "github.com/flynn/go-shlex";
-    fetch = {
-      type = "git";
-      url = "https://github.com/flynn/go-shlex";
-      rev =  "3f9db97f856818214da2e1057f8ad84803971cff";
-      sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
-    };
-  }
-  {
-    goPackagePath  = "github.com/ghodss/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev =  "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
-      sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
-    };
-  }
-  {
-    goPackagePath  = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev =  "925541529c1fa6821df4e44ce2723319eb2be768";
-      sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa";
-    };
-  }
-  {
-    goPackagePath  = "github.com/google/go-jsonnet";
-    fetch = {
-      type = "git";
-      url = "https://github.com/drone/go-jsonnet.git";
-      rev =  "0274286eef945e5e24be6ebfc13a9deefdd312ee";
-      # sha256 = "105jqawa401z5kcsbpan3cg9lryxlnnrclg6s9xnzslwd9wxyfrl";
-      sha256 = "0crbsmwgy9iav7rnhkgkqv8cbyl6q60bjkbfcaqxb6m47q3d544a";
-    };
-  }
-  {
-    goPackagePath  = "github.com/jackspirou/syscerts";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jackspirou/syscerts";
-      rev =  "b68f5469dff16e102bd6a2d5b3e79341c938d736";
-      sha256 = "0mjz64qnysmy9lh0hrjvwir5ndlh5li13m6zvfrl0s5gi7m9v0kd";
-    };
-  }
-  {
-    goPackagePath  = "github.com/joho/godotenv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/joho/godotenv";
-      rev =  "a79fa1e548e2c689c241d10173efd51e5d689d5b";
-      sha256 = "09610yqswxa02905mp9cqgsm50r76saagzddc55sqav4ad04j6qm";
-    };
-  }
-  {
-    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 =  "0360b2af4f38e8d38c7fce2a9f4e702702d73a39";
-      sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
-    };
-  }
-  {
-    goPackagePath  = "github.com/opencontainers/go-digest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opencontainers/go-digest";
-      rev =  "279bed98673dd5bef374d3b6e4b09e2af76183bf";
-      sha256 = "01gc7fpn8ax429024p2fcx3yb18axwz5bjf2hqxlii1jbsgw4bh9";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pkg/browser";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/browser";
-      rev =  "c90ca0c84f15f81c982e32665bffd8d7aac8f097";
-      sha256 = "05xpqsns08blmwdh8aw5kpq2d9x4fl91535j6np1ylw1q2b67b8i";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  {
-    goPackagePath  = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev =  "cfb38830724cc34fedffe9a2a29fb54fa9169cd1";
-      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev =  "650f4a345ab4e5b245a3034b110ebc7299e68186";
-      sha256 = "0r1ij3lq07d6kg3dlpj508vwkwmz0qpwcrbismisw6vkl7ls7w89";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev =  "f5dfe339be1d06f81b22525fe34671ee7d2c8904";
-      sha256 = "01y9j7pjnnld4ipmzjvs0hls0hh698f2sga8cxaw5y6r5j7igaah";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev =  "543e37812f10c46c622c9575afd7ad22f22a12ba";
-      sha256 = "0kc816fq1zj5wdw4mfa7w2q26rnh273157w8n0d30xpzl8ba2isr";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev =  "fd80eb99c8f653c847d294a001bdf2a3a6f768f5";
-      sha256 = "12lzldlj1cqc1babp1hkkn76fglzn5abkqvmbpr4f2j95mf9x836";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "37707fdb30a5b38865cfb95e5aab41707daec7fd";
-      sha256 = "1abrr2507a737hdqv4q7pw7hv6ls9pdiq9crhdi52r3gcz6hvizg";
-    };
-  }
-  {
-    goPackagePath  = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev =  "150dc57a1b433e64154302bdc40b6bb8aefa313a";
-      sha256 = "0w3knznv39k8bm85ri62f83czcrxknql7dv6p9hk1a5jx3xljgxq";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-yaml/yaml";
-      rev =  "d670f9405373e636a5a2765eea47fac0c9bc91a4";
-      sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
index 53ad6f4c2f61..8e63daab2d61 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -1,26 +1,21 @@
-{ stdenv, fetchFromGitHub, buildGoPackage, go-bindata, go-bindata-assetfs }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
-  pname = "drone.io";
-  version = "0.8.6-20180727-${stdenv.lib.strings.substring 0 7 revision}";
-  revision = "c48150767c2700d35dcc29b110a81c8b5969175e";
+buildGoModule rec {
+  name = "drone.io-${version}";
+  version = "1.6.0";
   goPackagePath = "github.com/drone/drone";
 
-  # These dependencies pulled (in `drone` buildprocess) via Makefile,
-  # so I extracted them here, all revisions pinned by same date, as ${version}
-  goDeps= ./deps.nix;
-
-  nativeBuildInputs = [ go-bindata go-bindata-assetfs ];
+  modSha256 = "0l33qib9riknrjdpsvd7n6slqp485vx66xl6w7m24b5sc7yfsg7m";
 
   src = fetchFromGitHub {
     owner = "drone";
     repo = "drone";
-    rev = revision;
-    sha256 = "0miq2012nivvr1ysi3aa2xrr5ak3mf0l3drybyc83iycy0kp4bda";
+    rev = "v${version}";
+    sha256 = "0ij4a6rh17ib360bxrpncf8lp839b6sl17bd0fp3xvwmibk6xgjz";
   };
 
   meta = with stdenv.lib; {
-    maintainers = with maintainers; [ avnik vdemeester ];
+    maintainers = with maintainers; [ elohmeier vdemeester ];
     license = licenses.asl20;
     description = "Continuous Integration platform built on container technology";
   };
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone/deps.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone/deps.nix
deleted file mode 100644
index 86059fba28d9..000000000000
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone/deps.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/drone/drone-ui";
-    fetch = {
-      type = "git";
-      url = "https://github.com/drone/drone-ui";
-      rev = "5a497bd6cd5c3c17c53b00d40bcda1bf6f68f475";
-      sha256 = "1666xlz3dg468izfwprg17sgb3f4ppn5sj5klds3wgdfrjjm4v57";
-    };
-  }
-  {
-    goPackagePath = "github.com/drone/mq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/drone/mq";
-      rev = "280af2a3b9c7d9ce90d625150dfff972c6c190b8";
-      sha256 = "10a24yq3ya8mvs7j6m7lqhyws7jd923rnih75ciq1g327qxf743s";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/net";
-      rev = "dfa909b99c79129e1100513e5cd36307665e5723";
-      sha256 = "0nsansy1yqy1kzh5wpv3zi85s0chxfq0ha8knhgnfa0wj0k8q0il";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
-      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
index 3f394472c40f..1a56be02a284 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "5.4.1";
+  version = "5.7.2";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "15lkhdvxqcryn5k7qflkby666ddj66gpqzga13yxjgjjp7zx2mi3";
+    sha256 = "1jhc2h00rh6lpgdq3n2d1sk7gdzmhkigyra04gf70s6kjb903igw";
   };
 
-  modSha256 = "0wz0v7w2di23cvqpg35zzqs2hvsbjgcrl7pr90ymmpsspq97fkf7";
+  modSha256 = "00qagz28iz1z5kjshs1m74bf12qlhjbkf4pbchy7lzf09bd291pg";
 
   subPackages = [ "fly" ];
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d8b18fcd121e..214e48b14b6d 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "12.2.0";
+  version = "12.6.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 = "0r0jy571dxcspsl0q31wyw4017rfq7i4rxsgf83jqdjqaigas8dk";
+    sha256 = "14wp9dyacbldfvykc68pa0mj59anf0zfadxsr9bqwyl795zsxh7g";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1pbzyfvfgwp9r67a148nr4gh2p9lrmnn4hxap37abb5q5209pjir";
+    sha256 = "1iln85xy4qkz7ps2vr4qlbvn4p1b8137a75r4s24bc7g6apzyyvs";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0id0ivysn0396dwi357iig28d4xr2wd7q05r6ksgml8xyfijdgd3";
+    sha256 = "08vxgv6m83wqxksy0vj7nx6bb55sxn9c7l0sdpg0nblps0n8fzxm";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index cdc4e6db2c2d..adee52d967ea 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 8982ca5f77ad..c0fabdeb5a16 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 26647370821a..2e69c7df2a3c 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.176.3";
+  version = "2.204.1";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "18wsggb4fhlacpxpxkd04zwj56gqjccrbkhs35vkyixwwazcf1ll";
+    sha256 = "112jimw5sf6n9nszmpsllz9sb06d3d8i45fin3m1vkdikszypf8j";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh
index 66d1b4ceff66..4f2f6527eccc 100755
--- a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cue/default.nix b/nixpkgs/pkgs/development/tools/cue/default.nix
index 754c014ee165..98bf5249b626 100644
--- a/nixpkgs/pkgs/development/tools/cue/default.nix
+++ b/nixpkgs/pkgs/development/tools/cue/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.0.11";
+  version = "0.0.15";
 
   src = fetchgit {
     url = "https://cue.googlesource.com/cue";
     rev = "v${version}";
-    sha256 = "146h3nxx72n3byxr854lnxj7m33ipbmg6j9dy6dlwvqpa7rndrmp";
+    sha256 = "0mipzci2zjp6yh4lxg9jrdxn03ska188zg3jl6g1zr8rn0ry274h";
   };
 
-  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/nixpkgs/pkgs/development/tools/database/dbmate/default.nix b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
index 11b84648632d..efc20b6972be 100644
--- a/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "dbmate";
-  version = "1.4.1";
-
-  goPackagePath = "github.com/amacneil/dbmate";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "v${version}";
-    sha256 = "0s3l51kmpsaikixq1yxryrgglzk4kfrjagcpf1i2bkq4wc5gyv5d";
+    sha256 = "0jvizj616rsh3aw9z3bijk7ixpbnqmm3xqmdxznjzqd46avr54c3";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "12x3m5bjyx3blh5i51pd99phv73m96pmm6i3ir4vf2kms3viif9i";
 
   meta = with stdenv.lib; {
     description = "Database migration tool";
-    homepage = https://dbmate.readthedocs.io;
+    homepage = https://github.com/amacneil/dbmate;
     license = licenses.mit;
     maintainers = [ maintainers.manveru ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix b/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix
index 8feca8c62ca8..ae511824569e 100644
--- a/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, postgresql, getopt, makeWrapper }:
 stdenv.mkDerivation rec {
   pname = "ephemeralpg";
-  version = "2.5";
+  version = "2.9";
   src = fetchurl {
     url = "http://ephemeralpg.org/code/${pname}-${version}.tar.gz";
-    sha256 = "004fcll7248h73adkqawn9bhkqj9wsxyi3w99x64f7s37r2518wk";
+    sha256 = "1ghp3kya4lxvfwz3c022cx9vqf55jbf9sjw60bxjcb5sszklyc89";
   };
   buildInputs = [ makeWrapper ];
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
index 31ffff3804f0..4038ad7010f6 100644
--- a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
@@ -1,37 +1,34 @@
-{ lib, python3Packages, fetchpatch }:
+{ buildPythonApplication, lib, fetchPypi, isPy3k
+, cli-helpers, click, configobj, humanize, prompt_toolkit, psycopg2
+, pygments, sqlparse, pgspecial, setproctitle, keyring, pytest, mock
+}:
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "pgcli";
-  version = "2.0.2";
+  version = "2.2.0";
 
-  # Python 2 won't have prompt_toolkit 2.x.x
-  # See: https://github.com/NixOS/nixpkgs/blob/f49e2ad3657dede09dc998a4a98fd5033fb52243/pkgs/top-level/python-packages.nix#L3408
-  disabled = python3Packages.isPy27;
+  disabled = !isPy3k;
 
-  src = python3Packages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "1p4j2dbcfxd3kz86qi519jkqjx1mg5wdgn1gxdjx3lk1vpsd7x04";
+    sha256 = "54138a31e6736a34c63b84a6d134c9292c9a73543cc0f66e80a0aaf79259d39b";
   };
 
-  patches = [
-    (fetchpatch {
-      # TODO: Remove with next pgcli release. Fixes TypeError in tests
-      # https://github.com/dbcli/pgcli/pull/1006
-      url = https://github.com/dbcli/pgcli/commit/351135b61ef9ad3184c49a406544708daf589fe3.patch;
-      sha256 = "08131y0lv1v760i0ypcx2hljx066ks93kp96xkv3bycxnavvcl53";
-      excludes = [ "changelog.rst" ];
-    })
-  ];
-
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = [
     cli-helpers click configobj humanize prompt_toolkit psycopg2
     pygments sqlparse pgspecial setproctitle keyring
   ];
 
-  checkInputs = with python3Packages; [ pytest mock ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "prompt_toolkit>=2.0.6,<3.0.0" "prompt_toolkit"
+  '';
+
+  checkInputs = [ pytest mock ];
 
+  # `test_application_name_db_uri` fails: https://github.com/dbcli/pgcli/issues/1104
   checkPhase = ''
-    pytest
+    pytest --deselect=tests/test_main.py::test_application_name_db_uri
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix b/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
index d4e57adc140c..00309c343d20 100644
--- a/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, jre, makeWrapper, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "6.0.0-rc2";
+  version = "6.1.0";
   pname = "schemaspy";
 
   src = fetchurl {
     url = "https://github.com/schemaspy/schemaspy/releases/download/v${version}/${pname}-${version}.jar";
-    sha256 = "0ph1l62hy163m2hgybhkccqbcj6brna1vdbr7536zc37lzjxq9rn";
+    sha256 = "0lgz6b17hx9857fb2l03ggz8y3n8a37vrcsylif0gmkwj1v4qgl7";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
index 7813eba04361..0ec4b1510e91 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -1,29 +1,22 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, antlr
-, qtbase, qttools, sqlite }:
+, qtbase, qttools, qscintilla, sqlite }:
 
 mkDerivation rec {
-  version = "3.11.2";
   pname = "sqlitebrowser";
+  version = "3.11.2";
 
   src = fetchFromGitHub {
-    repo   = pname;
     owner  = pname;
+    repo   = pname;
     rev    = "v${version}";
     sha256 = "0ydd5fg76d5d23byac1f7f8mzx3brmd0cnnkd58qpmlzi7p9hcvx";
   };
 
-  buildInputs = [ qtbase sqlite ];
-
-  nativeBuildInputs = [ cmake antlr qttools ];
+  buildInputs = [ antlr qtbase qscintilla sqlite ];
 
-  # Use internal `qscintilla` rather than our package to fix the build
-  # (https://github.com/sqlitebrowser/sqlitebrowser/issues/1348#issuecomment-374170936).
-  # This can probably be removed when https://github.com/NixOS/nixpkgs/pull/56034 is merged.
-  cmakeFlags = [ "-DFORCE_INTERNAL_QSCINTILLA=ON" ];
+  nativeBuildInputs = [ cmake qttools ];
 
-  NIX_LDFLAGS = [
-    "-lQt5PrintSupport"
-  ];
+  NIX_LDFLAGS = "-lQt5PrintSupport";
 
   enableParallelBuilding = true;
 
@@ -31,7 +24,7 @@ mkDerivation rec {
     description = "DB Browser for SQLite";
     homepage = http://sqlitebrowser.org/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ma27 ];
-    platforms = platforms.linux; # can only test on linux
+    maintainers = with maintainers; [  ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix b/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix
index ca04d209fabb..717dc2d79519 100644
--- a/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -5,14 +5,14 @@
 , drivers ? []
 }:
 let
-  version = "3.9.1";
+  version = "4.0.0";
 in stdenv.mkDerivation rec {
   pname = "squirrel-sql";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip";
-    sha256 = "1xpkh9kwdjzd0zks8c4mq3add9ivc24hb0hflp11dl32dsdmzrai";
+    sha256 = "06njdp2248zxm7zlcpyawx1s7j6hffp5a9mwam3cb53gsmzcz126";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/nixpkgs/pkgs/development/tools/devpi-client/default.nix b/nixpkgs/pkgs/development/tools/devpi-client/default.nix
index 3108ffdcbba9..dc105a846876 100644
--- a/nixpkgs/pkgs/development/tools/devpi-client/default.nix
+++ b/nixpkgs/pkgs/development/tools/devpi-client/default.nix
@@ -1,40 +1,65 @@
 { stdenv
-, pythonPackages
+, buildPythonApplication
+, fetchPypi
+# buildInputs
 , glibcLocales
+, pkginfo
+, check-manifest
+# propagatedBuildInputs
+, py
+, devpi-common
+, pluggy
+, setuptools
+# CheckInputs
+, pytest
+, pytest-flake8
+, webtest
+, mock
 , devpi-server
+, tox
+, sphinx
+, wheel
 , git
 , mercurial
 } :
 
-pythonPackages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "devpi-client";
-  version = "4.1.0";
+  version = "5.0.0";
 
-  src = pythonPackages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "0f5jkvxx9fl8v5vwbwmplqhjsdfgiib7j3zvn0zxd8krvi2s38fq";
+    sha256 = "0hyj3xc5c6658slk5wgcr9rh7hwi5r3hzxk1p6by61sqx5r38v3q";
   };
 
-  checkInputs = with pythonPackages; [
-                    pytest pytest-flakes webtest mock
-                    devpi-server tox
-                    sphinx wheel git mercurial detox
-                    setuptools
-                    ];
+  buildInputs = [ glibcLocales pkginfo check-manifest ];
+
+  propagatedBuildInputs = [ py devpi-common pluggy setuptools ];
+
+  checkInputs = [
+    pytest pytest-flake8 webtest mock
+    devpi-server tox
+    sphinx wheel git mercurial
+  ];
+
   checkPhase = ''
     export PATH=$PATH:$out/bin
     export HOME=$TMPDIR # fix tests failing in sandbox due to "/homeless-shelter"
 
-    # setuptools do not get propagated into the tox call (cannot import setuptools)
-    rm testing/test_test.py
+    # test_pypi_index_attributes: tries to connect to upstream pypi
+    # test_test: setuptools does not get propagated into the tox call (cannot import setuptools), also no detox
+    # test_index: hangs forever
+    # test_upload: fails multiple times with
+    # > assert args[0], args
+    # F AssertionError: [None, local('/build/pytest-of-nixbld/pytest-0/test_export_attributes_git_set0/repo2/setupdir/setup.py'), '--name']
 
-    # test_pypi_index_attributes tries to connect to upstream pypi
-    py.test -k 'not test_pypi_index_attributes' testing
+    py.test -k 'not test_pypi_index_attributes \
+                and not test_test \
+                and not test_index \
+                and not test_upload' testing
   '';
 
   LC_ALL = "en_US.UTF-8";
-  buildInputs = with pythonPackages; [ glibcLocales pkginfo check-manifest ];
-  propagatedBuildInputs = with pythonPackages; [ py devpi-common pluggy setuptools ];
 
   meta = with stdenv.lib; {
     homepage = http://doc.devpi.net;
diff --git a/nixpkgs/pkgs/development/tools/devpi-server/default.nix b/nixpkgs/pkgs/development/tools/devpi-server/default.nix
index d42152882674..4c8d0276d1ad 100644
--- a/nixpkgs/pkgs/development/tools/devpi-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/devpi-server/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "devpi-server";
-  version = "5.1.0";
+  version = "5.2.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "254fceee846532a5fec4e6bf52a59eb8f236efc657678a542b5200da4bb3abbc";
+    sha256 = "1dapd0bis7pb4fzq5yva7spby5amcsgl1970z5nq1rlprf6qbydg";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -33,8 +33,11 @@ python3Packages.buildPythonApplication rec {
   ] ++ stdenv.lib.optionals isPy27 [ mock ];
 
   # test_genconfig.py needs devpi-server on PATH
+  # root_passwd_hash tries to write to store
   checkPhase = ''
-    PATH=$PATH:$out/bin pytest ./test_devpi_server --slow -rfsxX
+    PATH=$PATH:$out/bin HOME=$TMPDIR pytest \
+      ./test_devpi_server --slow -rfsxX \
+      -k 'not root_passwd_hash_option'
   '';
 
   meta = with stdenv.lib;{
diff --git a/nixpkgs/pkgs/development/tools/diesel-cli/default.nix b/nixpkgs/pkgs/development/tools/diesel-cli/default.nix
index f6a67b051146..0fdd026d875f 100644
--- a/nixpkgs/pkgs/development/tools/diesel-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/diesel-cli/default.nix
@@ -65,13 +65,13 @@ rustPlatform.buildRustPackage rec {
 
   # Fix the build with mariadb, which otherwise shows "error adding symbols:
   # DSO missing from command line" errors for libz and libssl.
-  NIX_LDFLAGS = lib.optional mysqlSupport "-lz -lssl -lcrypto";
+  NIX_LDFLAGS = lib.optionalString mysqlSupport "-lz -lssl -lcrypto";
 
   meta = with lib; {
     description = "Database tool for working with Rust projects that use Diesel";
     homepage = https://github.com/diesel-rs/diesel/tree/master/diesel_cli;
     license = with licenses; [ mit asl20 ];
     platforms = platforms.all;
-    maintainers = with maintainers; [ ivan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/distgen/default.nix b/nixpkgs/pkgs/development/tools/distgen/default.nix
index dd4cf4d8eb1b..7db4db246891 100644
--- a/nixpkgs/pkgs/development/tools/distgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/distgen/default.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "distgen";
-  version = "1.3";
+  version = "1.4";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "03jwy08wgp1lp6208vks1hv9g1f3aj45cml6k99mm3nw1jfnlbbq";
+    sha256 = "13k940xgpci754gmmnhz3j5rfvlg9hdh21j4yjh8dlr6g88qjc1x";
   };
 
   checkInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/development/tools/dive/default.nix b/nixpkgs/pkgs/development/tools/dive/default.nix
index 5ce57ee80556..2113e319f19a 100644
--- a/nixpkgs/pkgs/development/tools/dive/default.nix
+++ b/nixpkgs/pkgs/development/tools/dive/default.nix
@@ -1,19 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, pkg-config, btrfs-progs, gpgme, lvm2 }:
 
 buildGoModule rec {
   pname = "dive";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "wagoodman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pyrdff5qqc0l3h4nssa9a7qnfqwy2p6ywc8nbwyc7wvzgdiczb8";
+    sha256 = "0bqmrva7rx6al50fmy4gvf853csascc5mj6ihgg7ydsy0d99j5qn";
   };
 
-  modSha256 = "1fk9z7a6wghrs15pc28g5ri7rkbb1ifjb91rscwqsmh10r2wik4w";
+  modSha256 = "0hb7bq8v6xr8xqni1iv3zkqdnknfy539sm0vxqal1mhvs5yg06m0";
 
-  meta = with lib; {
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
+
+  meta = with stdenv.lib; {
     description = "A tool for exploring each layer in a docker image";
     homepage = https://github.com/wagoodman/dive;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/doctl/default.nix b/nixpkgs/pkgs/development/tools/doctl/default.nix
index edad5d6276bc..2aead3940ad8 100644
--- a/nixpkgs/pkgs/development/tools/doctl/default.nix
+++ b/nixpkgs/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   pname = "doctl";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "31";
-  patch = "2";
+  minor = "35";
+  patch = "0";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner  = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "1q71kfjiav8xfw1bb3dziik1d0jr84hl83d3sx3cak0nd9nmakgs";
+    sha256 = "1blg4xd01vvr8smpii60jlk7rg1cg64115azixw9q022f7cnfiyw";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/documentation/antora/default.nix b/nixpkgs/pkgs/development/tools/documentation/antora/default.nix
index 9f1aa0370871..6427fa461dde 100644
--- a/nixpkgs/pkgs/development/tools/documentation/antora/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
index d7dcb4259633..af73ce25d422 100644
--- a/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetchurl, perl, python, flex, bison, qt4, CoreServices, libiconv }:
+{ stdenv, cmake, fetchurl, python3, flex, bison, qt4, CoreServices, libiconv }:
 
 stdenv.mkDerivation rec {
 
@@ -12,11 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "bd9c0ec462b6a9b5b41ede97bede5458e0d7bb40d4cfa27f6f622eb33c59245d";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+    python3
+    flex
+    bison
+  ];
 
   buildInputs =
-    [ perl python flex bison ]
-    ++ stdenv.lib.optional (qt4 != null) qt4
+       stdenv.lib.optional (qt4 != null) qt4
     ++ stdenv.lib.optional stdenv.isSunOS libiconv
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
 
@@ -25,7 +29,7 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional (qt4 != null) "-Dbuild_wizard=YES";
 
   NIX_CFLAGS_COMPILE =
-    stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9";
+    stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9";
 
   enableParallelBuilding = true;
   doCheck = false; # fails
diff --git a/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 2f29fb2fbad2..54c37fa61837 100644
--- a/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -29,6 +29,11 @@ python2Packages.buildPythonApplication rec {
     };
   };
 
+  postFixup = ''
+    # Do not propagate Python
+    rm $out/nix-support/propagated-build-inputs
+  '';
+
   meta = with stdenv.lib; {
     description = "Collection of documentation utilities for the GNOME project";
     homepage = "https://gitlab.gnome.org/GNOME/gnome-doc-utils";
diff --git a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch
deleted file mode 100644
index f7e37a1a5e5a..000000000000
--- a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/0001-highlight-fix-permission-on-file-style.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 95a75c95c5c4e641ce7cda0ded968d66f07f822a Mon Sep 17 00:00:00 2001
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Sat, 18 May 2019 14:44:08 -0400
-Subject: [PATCH] highlight: fix permission on file style
-
----
- gtkdoc/highlight.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gtkdoc/highlight.py b/gtkdoc/highlight.py
-index 8f6e470..d11c432 100644
---- a/gtkdoc/highlight.py
-+++ b/gtkdoc/highlight.py
-@@ -47,6 +47,6 @@ def highlight_code(code, lang='c'):
- 
- 
- def append_style_defs(css_file_name):
--    os.chmod(css_file_name, stat.S_IWRITE)
-+    os.chmod(css_file_name, 0o664)
-     with open(css_file_name, 'at', newline='\n', encoding='utf-8') as css:
-         css.write(HTML_FORMATTER.get_style_defs())
--- 
-2.21.0
-
diff --git a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
index 7792d14775c9..3c0b0cff548f 100644
--- a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -2,9 +2,8 @@
 , fetchFromGitLab
 , meson
 , ninja
-, pkgconfig
+, pkg-config
 , python3
-, libxml2Python
 , docbook_xml_dtd_43
 , docbook_xsl
 , libxslt
@@ -13,57 +12,62 @@
 , withDblatex ? false, dblatex
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "gtk-doc";
-  version = "1.30";
+  version = "1.32";
+
+  format = "other";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
     rev = "GTK_DOC_${stdenv.lib.replaceStrings ["."] ["_"] version }";
-    sha256 = "05lr6apj3pd3s59a7k6p45k9ywwrp577ra4pvkhxvb5p7v90c2fi";
+    sha256 = "14fihxj662gg4ln1ngff6s52zzkpbcc58qa0nxysxypnhp0h4ypk";
   };
 
   patches = [
     passthru.respect_xml_catalog_files_var_patch
-    # https://gitlab.gnome.org/GNOME/gtk-doc/issues/84
-    ./0001-highlight-fix-permission-on-file-style.patch
   ];
 
   outputDevdoc = "out";
 
   nativeBuildInputs = [
+    pkg-config
     gettext
     meson
     ninja
+    libxslt # for xsltproc
   ];
 
   buildInputs = [
     docbook_xml_dtd_43
     docbook_xsl
     libxslt
-    pkgconfig
-    python3
-    libxml2Python
-  ]
-  ++ stdenv.lib.optional withDblatex dblatex
-  ;
+  ] ++ stdenv.lib.optionals withDblatex [
+    dblatex
+  ];
+
+  pythonPath = with python3.pkgs; [
+    pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42
+    (anytree.override { withGraphviz = false; })
+    lxml
+  ];
 
   mesonFlags = [
     "-Dtests=false"
     "-Dyelp_manual=false"
   ];
 
-  # Make pygments available for binaries, python.withPackages creates a wrapper
-  # but scripts are not allowed in shebangs so we link it into sys.path.
-  postInstall = ''
-    ln -s ${python3.pkgs.pygments}/${python3.sitePackages}/* $out/share/gtk-doc/python/
-  '';
-
   doCheck = false; # requires a lot of stuff
   doInstallCheck = false; # fails
 
+  postFixup = ''
+    # Do not propagate Python
+    substituteInPlace $out/nix-support/propagated-build-inputs \
+      --replace "${python3}" ""
+  '';
+
   passthru = {
     # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch
     respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch;
@@ -77,6 +81,6 @@ stdenv.mkDerivation rec {
     description = "Tools to extract documentation embedded in GTK and GNOME source code";
     homepage = "https://www.gtk.org/gtk-doc";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub worldofpeace ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/documentation/mdsh/default.nix b/nixpkgs/pkgs/development/tools/documentation/mdsh/default.nix
index a88963c6e2cd..2ca2ef29dd26 100644
--- a/nixpkgs/pkgs/development/tools/documentation/mdsh/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/mdsh/default.nix
@@ -2,16 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdsh";
-  version = "0.1.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "zimbatm";
     repo = "mdsh";
     rev = "v${version}";
-    sha256 = "0m3f5mrdmnmkfsy7mc6x3jf4ainmq0z42mv935ikcdbjwwjbd5gq";
+    sha256 = "1a9i6h8fzrrfzjyfxaps73lxgkz92k0bnmwbjbwdmiwci4qgi9ms";
   };
 
-  cargoSha256 = "11kzl0ns84xhdacn0k7nilgzgpwazmaaqdjf2kcarxf2h01b0rjv";
+  cargoSha256 = "0rarpzfigyxr6s0ba13z00kvnms29qkjfbfjkay72mb6xn7f1059";
+  verifyCargoDeps = true;
 
   meta = with stdenv.lib; {
     description = "Markdown shell pre-processor";
diff --git a/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix b/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix
index 5f3dff95e358..e9e116280a03 100644
--- a/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/erlang/cuter/default.nix b/nixpkgs/pkgs/development/tools/erlang/cuter/default.nix
index 736640eba8ea..dccf4a558317 100644
--- a/nixpkgs/pkgs/development/tools/erlang/cuter/default.nix
+++ b/nixpkgs/pkgs/development/tools/erlang/cuter/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook makeWrapper which ];
   buildInputs = [ python python.pkgs.setuptools z3.python erlang ];
 
-  buildFlags = "PWD=$(out)/lib/erlang/lib/cuter-${version} cuter_target";
+  buildFlags = [ "PWD=$(out)/lib/erlang/lib/cuter-${version}" "cuter_target" ];
   configurePhase = ''
     autoconf
     ./configure --prefix $out
diff --git a/nixpkgs/pkgs/development/tools/erlang/hex2nix/default.nix b/nixpkgs/pkgs/development/tools/erlang/hex2nix/default.nix
deleted file mode 100644
index 5155632169f4..000000000000
--- a/nixpkgs/pkgs/development/tools/erlang/hex2nix/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ fetchFromGitHub, fetchRebar3Deps, rebar3Relx }:
-
-rebar3Relx rec {
-    name = "hex2nix";
-    version = "0.0.6-42d7b2ec";
-
-    releaseType = "escript";
-
-    checkouts = fetchRebar3Deps {
-      inherit name version;
-      src = "${src}/rebar.config";
-      sha256 = "0z6v1f6hagl3qyj97frqr2ww3adrwgfwdyb2zshaai0d3xchg3ly";
-    };
-
-    src = fetchFromGitHub {
-      owner  = "erlang-nix";
-      repo   = "hex2nix";
-      rev    = "42d7b2ec64f61f21061066b192003cf7f460bf43";
-      sha256 = "0ac1fmckvid5077djg3ajycxn7gwbf7pdk1knhfp8yva3c5qq58r";
-    };
-}
diff --git a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
index 3f3f77795281..731eb80b261b 100644
--- a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
+++ b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
@@ -4,14 +4,14 @@
 , lib }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "1.1.4";
+  version = "1.1.6";
   pname = "fdroidserver";
 
   src = fetchFromGitLab {
     owner = "fdroid";
     repo = "fdroidserver";
     rev = version;
-    sha256 = "020b6w2vhqgkpbrc1d08zh6mkh704mqhqqly14hir2bvay9rr9li";
+    sha256 = "0bz3pb34bkdg3l6dvpzynnfhblv18x88a5bh2dm8v31g5f9agh7r";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/fedpkg/default.nix b/nixpkgs/pkgs/development/tools/fedpkg/default.nix
index 5548b20de83c..f257ae8adbf6 100644
--- a/nixpkgs/pkgs/development/tools/fedpkg/default.nix
+++ b/nixpkgs/pkgs/development/tools/fedpkg/default.nix
@@ -31,5 +31,6 @@ in buildPythonApplication rec {
     homepage = https://pagure.io/fedpkg;
     license = licenses.gpl2;
     maintainers = with maintainers; [ ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/flamegraph/default.nix b/nixpkgs/pkgs/development/tools/flamegraph/default.nix
index a351c325ea24..23ada99eac0f 100644
--- a/nixpkgs/pkgs/development/tools/flamegraph/default.nix
+++ b/nixpkgs/pkgs/development/tools/flamegraph/default.nix
@@ -1,27 +1,32 @@
 { stdenv, fetchFromGitHub, perl }:
 
-stdenv.mkDerivation {
-  name = "FlameGraph-2017-07-01";
+stdenv.mkDerivation rec {
+  pname = "FlameGraph";
+  version = "2019-02-16";
 
   src = fetchFromGitHub {
     owner = "brendangregg";
-    repo = "FlameGraph";
-    rev = "a93d905911c07c96a73b35ddbcb5ddb2f39da4b6";
-    sha256 = "07z2ffnab41dz833wwgr875vjccqyh0238357g7ml1yg5445x2jy";
+    repo = pname;
+    rev = "1b1c6deede9c33c5134c920bdb7a44cc5528e9a7";
+    sha256 = "1flvkmv2gbb003d51myl7r0wyhyw1bk9p7v19xagb8xjj4ci947b";
   };
 
   buildInputs = [ perl ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     for x in $src/*.pl $src/*.awk $src/dev/*.pl $src/dev/*.d; do
       cp $x $out/bin
     done
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
-    license = licenses.cddl;
-    homepage = http://www.brendangregg.com/flamegraphs.html;
+    license = with licenses; [ asl20 cddl gpl2Plus ];
+    homepage = "http://www.brendangregg.com/flamegraphs.html";
     description = "Visualization for profiled code";
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
index d190ee32fca4..1bb5c23645d6 100644
--- a/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
+++ b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchurl
 , substituteAll
+, nixosTests
 
 , autoreconfHook
 , docbook_xml_dtd_412
@@ -43,7 +44,7 @@
 let
   installed_testdir = "${placeholder "installedTests"}/libexec/installed-tests/flatpak-builder";
   installed_test_metadir = "${placeholder "installedTests"}/share/installed-tests/flatpak-builder";
-  version = "1.0.8";
+  version = "1.0.9";
 in stdenv.mkDerivation rec {
   pname = "flatpak-builder";
   inherit version;
@@ -52,7 +53,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0ns1vv2phhd3vsi2749cajwapapx7xa841kkvssixwgfa575d912";
+    sha256 = "00qd770qjsiyd8qhhhyn7zg6jyi283ix5dhjzcfdn9yr3h53kvyn";
   };
 
   nativeBuildInputs = [
@@ -131,7 +132,16 @@ in stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    installedTestsDependencies = [ gnupg ostree python2 gnumake ];
+    installedTestsDependencies = [
+      gnupg
+      ostree
+      python2
+      gnumake
+    ];
+
+    tests = {
+      installedTests = nixosTests.installed-tests.flatpak-builder;
+    };
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/flyway/default.nix b/nixpkgs/pkgs/development/tools/flyway/default.nix
index b57c9841978f..2c86cffeaab5 100644
--- a/nixpkgs/pkgs/development/tools/flyway/default.nix
+++ b/nixpkgs/pkgs/development/tools/flyway/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "5.2.4";
+    version = "6.1.2";
   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 = "sha256:1rh1p50mwwlmwwdlcx7pzlsrg1dcl7gdsjbi7kyz0m71fbnn0bnv";
       };
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
@@ -15,14 +15,22 @@
       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/*'" \
-          --add-flags "org.flywaydb.commandline.Main"
+          --add-flags "org.flywaydb.commandline.Main" \
+          --add-flags "-jarDirs='$out/share/flyway/jars'"
       '';
       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/nixpkgs/pkgs/development/tools/gamecube-tools/default.nix b/nixpkgs/pkgs/development/tools/gamecube-tools/default.nix
index 872c8fae527d..7c31f691b4e8 100644
--- a/nixpkgs/pkgs/development/tools/gamecube-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/gir/default.nix b/nixpkgs/pkgs/development/tools/gir/default.nix
new file mode 100644
index 000000000000..b8dbda2a1f82
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/gir/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gir";
+  version = "2019-10-16";
+
+  src = fetchFromGitHub {
+    owner = "gtk-rs";
+    repo = "gir";
+    rev = "241d790085a712db7436c5c25b210ccb7d1a08d5";
+    sha256 = "1kn5kgdma9j6dwpmv6jmydak7ajlgdkw9sfkh3q7h8c2a8yikvxr";
+  };
+
+  cargoSha256 = "1ybd9h2f13fxmnkzbacd39rcyzjcjd2ra52y8kncg1s0dc0m8rjb";
+
+  meta = with stdenv.lib; {
+    description = "Tool to generate rust bindings and user API for glib-based libraries";
+    homepage = https://github.com/gtk-rs/gir/;
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ ekleog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/git-quick-stats/default.nix b/nixpkgs/pkgs/development/tools/git-quick-stats/default.nix
index 6bb8719d5d64..b08300040b96 100644
--- a/nixpkgs/pkgs/development/tools/git-quick-stats/default.nix
+++ b/nixpkgs/pkgs/development/tools/git-quick-stats/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.0.8";
+  version = "2.0.11";
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "1px1sk7b6mjnbclsr1jn33m9k4wd8wqyw4d6w1rgj0ii29lhzmqi";
+    sha256 = "19chwnc936bxf0bnxsvw6nhfxnj0216jx9ajjckw3q440l932799";
   };
   PREFIX = builtins.placeholder "out";
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/git-series/default.nix b/nixpkgs/pkgs/development/tools/git-series/default.nix
index 5faceca57166..0a7c9e7ebe13 100644
--- a/nixpkgs/pkgs/development/tools/git-series/default.nix
+++ b/nixpkgs/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl_1_0_2, cmake, perl, pkgconfig, zlib }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform
+, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2, libssh2
+}:
 
 with rustPlatform;
 
@@ -13,21 +15,29 @@ buildRustPackage rec {
     sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014";
   };
 
-  cargoSha256 = "07b25pcndhwvpwa5khdh8y1fl44hdv6ff2pfj1mjc0wchbspqm6q";
-
-  cargoDepsHook = ''
-    (
-      cd */
-      # see https://github.com/git-series/git-series/pull/56
-      patch -p1 < ${fetchpatch {
-        url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
-        sha256 = "06v8br9skvy75kcw2zgbswxyk82sqzc8smkbqpzmivxlc2i9rnh0";
-      }}
-    )
-  '';
-
+  cargoSha256 = "16qjbvppc01yxk8x9jk7gs8jaag5nkfl30j3lyv3dc27vv9mckjv";
+
+  cargoPatches = [
+    (fetchpatch {
+      url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
+      sha256 = "06v8br9skvy75kcw2zgbswxyk82sqzc8smkbqpzmivxlc2i9rnh0";
+    })
+    # Update Cargo.lock to allow using OpenSSL 1.1
+    (fetchpatch {
+      url = "https://github.com/edef1c/git-series/commit/11fe70ffcc18200e5f2a159c36aab070e8ff4228.patch";
+      sha256 = "0clwllf9mrhq86dhzyyhkw1q2ggpgqpw7s05dvp3gj9zhfsyya4s";
+    })
+    # Cargo.lock: Update url, which fixes incompatibility with NLL
+    (fetchpatch {
+      url = "https://github.com/edef1c/git-series/commit/27ff2ecf2d615dae1113709eca0e43596de12ac4.patch";
+      sha256 = "1byjbdcx56nd0bbwz078bl340rk334mb34cvaa58h76byvhpkw10";
+    })
+  ];
+
+  LIBGIT2_SYS_USE_PKG_CONFIG = true;
+  LIBSSH2_SYS_USE_PKG_CONFIG = true;
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl_1_0_2 zlib ];
+  buildInputs = [ openssl zlib curl libgit2 libssh2 ];
 
   postBuild = ''
     install -D "$src/git-series.1" "$out/man/man1/git-series.1"
@@ -43,6 +53,6 @@ buildRustPackage rec {
     homepage = https://github.com/git-series/git-series;
 
     license = licenses.mit;
-    maintainers = [ maintainers.vmandela ];
+    maintainers = with maintainers; [ edef vmandela ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/godot/default.nix b/nixpkgs/pkgs/development/tools/godot/default.nix
index 20c031ead4ab..e31d27f710bc 100644
--- a/nixpkgs/pkgs/development/tools/godot/default.nix
+++ b/nixpkgs/pkgs/development/tools/godot/default.nix
@@ -10,13 +10,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "godot";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
     rev    = "${version}-stable";
-    sha256 = "0lplkwgshh0x7r1daai9gflzwjnp3yfx4724h1myvidaz234v2wh";
+    sha256 = "12305wj2i4067jc50l8r0wmb7zjcna24fli8vb8kiaild0jrlip6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
index b8026a9f8852..8304d95d99f2 100644
--- a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
@@ -1,19 +1,19 @@
-{ buildGoPackage, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.17.1";
-  goPackagePath = "github.com/golangci/golangci-lint";
-
-  subPackages = [ "cmd/golangci-lint" ];
+  version = "1.22.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "1hs24nimv11c63a90ds8ps1lli16m3apsbrd9vpbq2rmxdbpwqac";
+    sha256 = "1wwp6ppm5p2cf7jbcgmqm6alzaj34sa079d98afw21yr81qxvvid";
   };
 
+  modSha256 = "02j2cf5778ds0vwz0kkd9c1x5ap732vkq20bfg440spfajscvndm";
+  subPackages = [ "cmd/golangci-lint" ];
+
   meta = with lib; {
     description = "Linters Runner for Go. 5x faster than gometalinter. Nice colored output.";
     homepage = https://golangci.com/;
diff --git a/nixpkgs/pkgs/development/tools/gotestsum/default.nix b/nixpkgs/pkgs/development/tools/gotestsum/default.nix
index 36e41bddf25d..839c12c04af6 100644
--- a/nixpkgs/pkgs/development/tools/gotestsum/default.nix
+++ b/nixpkgs/pkgs/development/tools/gotestsum/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotestsum";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     rev = "v${version}";
-    sha256 = "1d4sbvk9wqzl3g3da8inqdkvd43rkwvmq969jlgl1k1agv5xjxqv";
+    sha256 = "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0";
   };
 
   modSha256 = "1dgs643pmcw68yc003zss52hbvsy6hxzwkrhr0qmsqkmzxryb3bn";
diff --git a/nixpkgs/pkgs/development/tools/gotools/default.nix b/nixpkgs/pkgs/development/tools/gotools/default.nix
index 4c662f9b5c0e..59416f031346 100644
--- a/nixpkgs/pkgs/development/tools/gotools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/grabserial/default.nix b/nixpkgs/pkgs/development/tools/grabserial/default.nix
index ab32674f1881..5e06e9f771d9 100644
--- a/nixpkgs/pkgs/development/tools/grabserial/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/hcloud/default.nix b/nixpkgs/pkgs/development/tools/hcloud/default.nix
index 9b64dc8a3b16..480456ff21d8 100644
--- a/nixpkgs/pkgs/development/tools/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/tools/hcloud/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hcloud";
-  version = "1.13.0";
+  version = "1.14.0";
 
   goPackagePath = "github.com/hetznercloud/cli";
 
@@ -10,24 +10,24 @@ buildGoPackage rec {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1bin9gcmmj3i6a11rv7czvnryl8bv7cjz3pi2cqx8baycg3hia5j";
+    sha256 = "167x64ni4xm0d9b02gy8zvc8knhsvb1c9jhysw7svi7iaw5f2ds5";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "1g81szkrkxmv51l78v0d39i8dvrrdhf8wh38rwxvnay3iajgrnqk";
 
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
     mkdir -p \
-      $bin/etc/bash_completion.d \
-      $bin/share/zsh/vendor-completions
+      $out/etc/bash_completion.d \
+      $out/share/zsh/vendor-completions
 
     # Add bash completions
-    $bin/bin/hcloud completion bash > "$bin/etc/bash_completion.d/hcloud"
+    $out/bin/hcloud completion bash > "$out/etc/bash_completion.d/hcloud"
 
     # Add zsh completions
-    echo "#compdef hcloud" > "$bin/share/zsh/vendor-completions/_hcloud"
-    $bin/bin/hcloud completion zsh >> "$bin/share/zsh/vendor-completions/_hcloud"
+    echo "#compdef hcloud" > "$out/share/zsh/vendor-completions/_hcloud"
+    $out/bin/hcloud completion zsh >> "$out/share/zsh/vendor-completions/_hcloud"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/hcloud/deps.nix b/nixpkgs/pkgs/development/tools/hcloud/deps.nix
deleted file mode 100644
index 01bde6f302a5..000000000000
--- a/nixpkgs/pkgs/development/tools/hcloud/deps.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
-      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "878a968ab22548362a09bdb3322f98b00f470d46";
-      sha256 = "15nkffa8ylr5kkv52gyry675l8bzv3c0xx39j0fzz0vp2kcjyy8x";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uilive";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uilive";
-      rev = "4512d98b127f3f3a1b7c3cf1104969fdd17b31d9";
-      sha256 = "12n3kjgdzrb50jhkcb2ac3437mdhxh33zrcz7mi4gpji20jz4ai7";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uiprogress";
-      rev = "4442fea128d2bc91caf276b08518bdf4582561c8";
-      sha256 = "1g6xjknm0981h3b1drbvm6vd66hiah1cylpdck9cqd18kyxd6bpd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/cli";
-      rev = "d6ec656f964aac4382d9c724edd27a8608e7b354";
-      sha256 = "0ng7hihzplwyz4sdipms4m9qq2bcj92qczzd5adhm6da851jxpbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/hcloud-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/hcloud-go";
-      rev = "70b166c92266125ee6a621dcc6089023a5f8d055";
-      sha256 = "02hh214qk8qrhl9rpaywv2z5jpkzx3y2j8gv5xmdprdamrjwwlbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "84da2c4a25c585816f2c4211b699228d111d18ab";
-      sha256 = "1zh5kswqckz7aaz4kpd1kxbxnlhlmprba1ghkl742x6mbv3w08bm";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1c9c46d5c1cc2aaebdd1898c0680e85e8a44b36d";
-      sha256 = "0mxliq4gfvdazga8mapc2sazi915rz1h6prnark9hwbbsz0xn0r3";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "24fa6976df40757dce6aea913e7b81ade90530e1";
-      sha256 = "0rf6prz6gl0l1b3wijzdgq887cdwigvzxvz6gqbm5l8pkq3fx1m9";
-    };
-  }
-  {
-    goPackagePath = "github.com/thcyron/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/thcyron/uiprogress";
-      rev = "25e98ffb0e98b5192b475d8f2fd78083bfe9a67e";
-      sha256 = "1avb0jykn3qbjrvhc8i50ahisf9rsfy74ysrwfqbqqkpvhdxv12i";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
-      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fc99dfbffb4e5ed5758a37e31dd861afe285406b";
-      sha256 = "186x8bg926qb9sprs5zpd97xzvvhc2si7q1nhvyg12r5cd6v7zjd";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/development/tools/heroku/default.nix b/nixpkgs/pkgs/development/tools/heroku/default.nix
index 4b2d107aa91b..58e9c67dd449 100644
--- a/nixpkgs/pkgs/development/tools/heroku/default.nix
+++ b/nixpkgs/pkgs/development/tools/heroku/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "heroku";
-  version = "7.27.1";
+  version = "7.35.1";
 
   src = fetchurl {
     url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
-    sha256 = "0aq89kvv80mz67j4dgl84ff5j58q5p3k82bbnvxs5nhf2jcandym";
+    sha256 = "1b48jhl7a9nzvgankys32mfnv6i2kx11z874k7fz9px3kx8s7pbb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/icestorm/default.nix b/nixpkgs/pkgs/development/tools/icestorm/default.nix
index b3ce4f8f6a71..a7af74a8dc8f 100644
--- a/nixpkgs/pkgs/development/tools/icestorm/default.nix
+++ b/nixpkgs/pkgs/development/tools/icestorm/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "icestorm";
-  version = "2019.08.31";
+  version = "2019.09.13";
 
   pythonPkg = if usePyPy then pypy3 else python3;
   pythonInterp = pythonPkg.interpreter;
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "04f1eb78ed8fd50516aee50102675041a8fd40cd";
-    sha256 = "10jdiw4mw0afcjq7xl3xs8z733mlrx927x620vs2yz91p757jxbd";
+    rev    = "0ec00d892a91cc68e45479b46161f649caea2933";
+    sha256 = "1qlh99fafb7xga702k64fmc9m700nsddrfgcq4x8qn8fplsb64f1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/imatix_gsl/default.nix b/nixpkgs/pkgs/development/tools/imatix_gsl/default.nix
index 549a4d1b8266..c4d290bf9671 100644
--- a/nixpkgs/pkgs/development/tools/imatix_gsl/default.nix
+++ b/nixpkgs/pkgs/development/tools/imatix_gsl/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   postPatch = "sed -e 's,/usr/bin/install,install,g' -i src/Makefile";
   preBuild = "cd src";
-  installFlags = "DESTDIR=$(out)";
+  installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/development/tools/irony-server/default.nix b/nixpkgs/pkgs/development/tools/irony-server/default.nix
index f2c926a6f391..228a82f6008b 100644
--- a/nixpkgs/pkgs/development/tools/irony-server/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/java/cfr/default.nix b/nixpkgs/pkgs/development/tools/java/cfr/default.nix
index 382ef28c0147..1d928292cd52 100644
--- a/nixpkgs/pkgs/development/tools/java/cfr/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/cfr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cfr";
-  version = "0.146";
+  version = "0.148";
 
   src = fetchurl {
     url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
-    sha256 = "16pmn3shhb00x3ba2zazbkprwvc34a6dds8ghc53winbf371xi3c";
+    sha256 = "04nhbzcb0n5xckkbl1rz4xa2bz53hrlm938wrh0gfkzrwwgzj1ql";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
index 04d5a0b2e768..4dd6c1efc900 100644
--- a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gtk2, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.3";
+  version = "1.4.4";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "0pnziy24mdjnphvbw9wcjdxxc2bn7fqmsc19vabvfcck49w9rbvb";
+    sha256 = "04x4z1013nzjgz9nhs743sphjgg7d3yjn0phxfmxdjzqpff9l133";
   };
 
   desktopItem = makeDesktopItem {
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
       capability of monitoring and performance analysis for the Java
       SE platform.
     '';
-    homepage = https://visualvm.java.net/;
+    homepage = "https://visualvm.github.io";
     license = licenses.gpl2ClasspathPlus;
     platforms = platforms.all;
     maintainers = with maintainers; [ michalrus moaxcp ];
diff --git a/nixpkgs/pkgs/development/tools/jazzy/Gemfile.lock b/nixpkgs/pkgs/development/tools/jazzy/Gemfile.lock
index 28bd27ecc761..210dc101a245 100644
--- a/nixpkgs/pkgs/development/tools/jazzy/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/jazzy/Gemfile.lock
@@ -1,24 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.1)
+    CFPropertyList (3.0.2)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
+    algoliasearch (1.27.1)
+      httpclient (~> 2.8, >= 2.8.3)
+      json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.7.5)
+    cocoapods (1.8.4)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.7.5)
+      cocoapods-core (= 1.8.4)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
       cocoapods-search (>= 1.0.0, < 2.0)
       cocoapods-stats (>= 1.0.0, < 2.0)
-      cocoapods-trunk (>= 1.3.1, < 2.0)
+      cocoapods-trunk (>= 1.4.0, < 2.0)
       cocoapods-try (>= 1.1.0, < 2.0)
       colored2 (~> 3.1)
       escape (~> 0.0.4)
@@ -27,31 +30,34 @@ GEM
       molinillo (~> 0.6.6)
       nap (~> 1.0)
       ruby-macho (~> 1.4)
-      xcodeproj (>= 1.10.0, < 2.0)
-    cocoapods-core (1.7.5)
+      xcodeproj (>= 1.11.1, < 2.0)
+    cocoapods-core (1.8.4)
       activesupport (>= 4.0.2, < 6)
+      algoliasearch (~> 1.0)
+      concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
     cocoapods-deintegrate (1.0.4)
-    cocoapods-downloader (1.2.2)
+    cocoapods-downloader (1.3.0)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
     cocoapods-stats (1.1.0)
-    cocoapods-trunk (1.4.0)
+    cocoapods-trunk (1.4.1)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.1.0)
     colored2 (3.1.2)
     concurrent-ruby (1.1.5)
     escape (0.0.4)
-    ffi (1.11.1)
+    ffi (1.11.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
+    httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jazzy (0.11.1)
+    jazzy (0.13.1)
       cocoapods (~> 1.5)
       mustache (~> 1.1)
       open4
@@ -60,26 +66,27 @@ GEM
       sassc (~> 2.1)
       sqlite3 (~> 1.3)
       xcinvoke (~> 0.3.0)
+    json (2.3.0)
     liferaft (0.0.6)
-    minitest (5.11.3)
+    minitest (5.13.0)
     molinillo (0.6.6)
-    mustache (1.1.0)
+    mustache (1.1.1)
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
     open4 (1.3.4)
     redcarpet (3.5.0)
-    rouge (3.11.0)
+    rouge (3.14.0)
     ruby-macho (1.4.0)
     sassc (2.2.1)
       ffi (~> 1.9)
-    sqlite3 (1.4.1)
+    sqlite3 (1.4.2)
     thread_safe (0.3.6)
-    tzinfo (1.2.5)
+    tzinfo (1.2.6)
       thread_safe (~> 0.1)
     xcinvoke (0.3.0)
       liferaft (~> 0.0.6)
-    xcodeproj (1.12.0)
+    xcodeproj (1.14.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -93,4 +100,4 @@ DEPENDENCIES
   jazzy
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/development/tools/jazzy/gemset.nix b/nixpkgs/pkgs/development/tools/jazzy/gemset.nix
index 19ec06b6a2bc..872b62967866 100644
--- a/nixpkgs/pkgs/development/tools/jazzy/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/jazzy/gemset.nix
@@ -10,6 +10,17 @@
     };
     version = "4.2.11.1";
   };
+  algoliasearch = {
+    dependencies = ["httpclient" "json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ayg8j3819ay2d8618jv32ca16fh8qsgjsiq9j32yd016c170nkj";
+      type = "gem";
+    };
+    version = "1.27.1";
+  };
   atomos = {
     groups = ["default"];
     platforms = [];
@@ -25,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+      sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   claide = {
     groups = ["default"];
@@ -46,21 +57,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02gnm6l7f3pxmy7bqns0dhxmanlqp01hkpvng5cxryww17zrq2qz";
+      sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "1.8.4";
   };
   cocoapods-core = {
-    dependencies = ["activesupport" "fuzzy_match" "nap"];
+    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i53x5lhlvyirls2ch45x9wsrfqk7s3zp85lbnwps9abimxj4nh4";
+      sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "1.8.4";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -77,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+      sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -115,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m0p27aij7d0n0b8h7nvyv3q3prcpwisbj7sla0fp2hvn4lqarl5";
+      sha256 = "0vrwsgaq3nf7v3pwksgqy0mhswrp3ipczrc96vl3ii2pcc9ilwkw";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   cocoapods-try = {
     source = {
@@ -159,10 +170,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.3";
   };
   fourflusher = {
     groups = ["default"];
@@ -192,6 +203,16 @@
     };
     version = "1.1.3";
   };
+  httpclient = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
+      type = "gem";
+    };
+    version = "2.8.3";
+  };
   i18n = {
     dependencies = ["concurrent-ruby"];
     groups = ["default"];
@@ -209,10 +230,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kdja4bhzak79xvfpwwakqsjw07vfg458d62k08a416im7xcfcmc";
+      sha256 = "0917v3dk9ks0apr0srk9sm6agk47iyh5bzfxqpkhd4dfgb4vpvjx";
+      type = "gem";
+    };
+    version = "0.13.1";
+  };
+  json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "2.3.0";
   };
   liferaft = {
     source = {
@@ -227,10 +258,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   molinillo = {
     groups = ["default"];
@@ -247,10 +278,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1698xpwxmfvj39ii5vv8a4aka54p3fpk5i4rf8z9lfxrh4948rbk";
+      sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   nanaimo = {
     groups = ["default"];
@@ -301,10 +332,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
+      sha256 = "0k5jrp0qc9p61mfcwyn1a7dajmkw04z6y76wa8a0axh1v2wrw8ld";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.14.0";
   };
   ruby-macho = {
     groups = ["default"];
@@ -332,10 +363,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v903nbcws3ifm6jnxrdfcpgl1qg2x3lbif16mhlbyfn0npzb494";
+      sha256 = "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.4.2";
   };
   thread_safe = {
     source = {
@@ -351,10 +382,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
+      sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "1.2.6";
   };
   xcinvoke = {
     dependencies = ["liferaft"];
@@ -371,9 +402,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162gwhrl7ppj6hlmnpp1scvy1ylcv5xqk51826v075sckdqjp8c8";
+      sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.0";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/jo/default.nix b/nixpkgs/pkgs/development/tools/jo/default.nix
index 2417f4cbfd1d..9e5d29a6bb23 100644
--- a/nixpkgs/pkgs/development/tools/jo/default.nix
+++ b/nixpkgs/pkgs/development/tools/jo/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchFromGitHub, autoreconfHook}:
+{stdenv, fetchFromGitHub, autoreconfHook, pandoc, pkgconfig}:
 
 stdenv.mkDerivation rec {
   pname = "jo";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner  = "jpmens";
     repo = "jo";
     rev = version;
-    sha256 ="03b22zb5034ccqyp4ynfzknxagb3jz2dppl0kqz2nv4a08aglpmy";
+    sha256 ="11miqg0i83drwkn66b4333vhfdw62al11dyfgp30alg6pcab3icl";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pandoc pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "A small utility to create JSON objects";
diff --git a/nixpkgs/pkgs/development/tools/jtc/default.nix b/nixpkgs/pkgs/development/tools/jtc/default.nix
new file mode 100644
index 000000000000..84dff0277ef7
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/jtc/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "jtc";
+  version = "1.75c";
+
+  src = fetchFromGitHub {
+    owner = "ldn-softdev";
+    repo = pname;
+    rev = version;
+    sha256 = "0q72vak1sbhigqq1a0s873knnm666sz1k3sdxbbi3bzq1x8mnykd";
+  };
+
+  buildPhase = ''
+    runHook preBuild
+
+    $CXX -o jtc -Wall -std=gnu++14 -Ofast jtc.cpp
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 -t $out/bin jtc
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "JSON manipulation and transformation tool";
+    homepage = "https://github.com/ldn-softdev/jtc";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/just/default.nix b/nixpkgs/pkgs/development/tools/just/default.nix
index 447cc51ac39b..7628bd9558ac 100644
--- a/nixpkgs/pkgs/development/tools/just/default.nix
+++ b/nixpkgs/pkgs/development/tools/just/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06k1pl2qmmr9q0ffw6l0dzqqfgpckmrdzjpzn9cw23shhihv99a8";
+    sha256 = "0a4bml9nxvyh110a60l4lc11yr2ds5r8d3iplslccrkq1ka96av9";
   };
 
-  cargoSha256 = "1blsdl9dsq24vhm8cg1ja9m4b3h343lndibq6wz2kcwdq4i8jhd0";
+  cargoSha256 = "0dbgjc21q0zaadsjvq3s6y6f4dmsybxb6g2sg8w2d3phkm9j921z";
 
   checkInputs = [ coreutils bash dash ];
 
diff --git a/nixpkgs/pkgs/development/tools/kafkacat/default.nix b/nixpkgs/pkgs/development/tools/kafkacat/default.nix
index 076cea38a9e5..7de5cd6340ad 100644
--- a/nixpkgs/pkgs/development/tools/kafkacat/default.nix
+++ b/nixpkgs/pkgs/development/tools/kafkacat/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "kafkacat";
 
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "kafkacat";
     rev = version;
-    sha256 = "0zs2nmf3ghm9iar7phc0ncqsb9nhipav94v6qmpxkfwxd2ljkpds";
+    sha256 = "0lf2pf3zqncd4a44h0mjm66qnw02k9kvz1hjkah6p6gp7mx3ksjv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/kcli/default.nix b/nixpkgs/pkgs/development/tools/kcli/default.nix
new file mode 100644
index 000000000000..a3944ff41269
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kcli/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kcli";
+  version = "1.8.2";
+
+  src = fetchFromGitHub {
+    owner = "cswank";
+    repo = "kcli";
+    rev = version;
+    sha256 = "1m9967f9wk1113ap2qmqinqg7gvpmg5y2g1ji0q818qbandzlh23";
+  };
+
+  modSha256 = "1wcqh3306q9wxb6pnl8cpk73vmy36bjv2gil03j7j4pajs1f2lwn";
+
+  subPackages = [ "." ];
+
+  meta = with stdenv.lib; {
+    description = "A kafka command line browser";
+    homepage = "https://github.com/cswank/kcli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cswank ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/kind/default.nix b/nixpkgs/pkgs/development/tools/kind/default.nix
index 4ac57d0e8502..411b6a261d67 100644
--- a/nixpkgs/pkgs/development/tools/kind/default.nix
+++ b/nixpkgs/pkgs/development/tools/kind/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 with stdenv.lib;
 
 buildGoPackage rec {
   pname = "kind";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "kubernetes-sigs";
     repo   = "kind";
-    sha256 = "12bjvma98dlxybqs43dggnd6cihxm18xz68a5jw8dzf0cg738gs8";
+    sha256 = "165nwkhsa12z043rvkdf977jndhp82x7sccqfy75pkx99mzz43r2";
   };
 
   goDeps = ./deps.nix;
   goPackagePath = "sigs.k8s.io/kind";
   subPackages = [ "." ];
 
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    $bin/bin/kind completion bash > kind.bash
+    $bin/bin/kind completion zsh > kind.zsh
+    installShellCompletion kind.{bash,zsh}
+  '';
+
   meta = {
     description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
     homepage    = https://github.com/kubernetes-sigs/kind;
diff --git a/nixpkgs/pkgs/development/tools/kind/deps.nix b/nixpkgs/pkgs/development/tools/kind/deps.nix
index c5557c2aa49d..99a73291d713 100644
--- a/nixpkgs/pkgs/development/tools/kind/deps.nix
+++ b/nixpkgs/pkgs/development/tools/kind/deps.nix
@@ -1,6 +1,15 @@
 # file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
     goPackagePath = "github.com/NYTimes/gziphandler";
     fetch = {
       type = "git";
@@ -14,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.1.1";
-      sha256 = "0c525frsxmalrn55hzzsxy17ng8avkd40ga0wxfw9haxsdjgqdqy";
+      rev = "v1.0.0";
+      sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1";
     };
   }
   {
@@ -23,8 +32,62 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "de5bf2ad4578";
-      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
+      rev = "5bd2802263f2";
+      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/alessio/shellescape";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alessio/shellescape";
+      rev = "b115ca0f9053";
+      sha256 = "0z4jq94yn0jjj56bzrpdazb3pv1jg0r7z0ikq3gjaa51h423wk4z";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v1.0.10";
+      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
     };
   }
   {
@@ -37,12 +100,30 @@
     };
   }
   {
+    goPackagePath = "github.com/docker/spdystream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/spdystream";
+      rev = "449fdfce4d96";
+      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev = "c4fc26588b6e";
+      sha256 = "1s3v02px61a3hmvb47rqk598z5visayxq46k3c8dcrayhhngv2fw";
+    };
+  }
+  {
     goPackagePath = "github.com/emicklei/go-restful";
     fetch = {
       type = "git";
       url = "https://github.com/emicklei/go-restful";
-      rev = "v2.9.6";
-      sha256 = "0dgjld5240xhz45rj929ffm452n931qfw3fx8x99vhlnii9qrwz2";
+      rev = "ff4f55a20633";
+      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
     };
   }
   {
@@ -73,12 +154,21 @@
     };
   }
   {
+    goPackagePath = "github.com/go-logr/logr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logr/logr";
+      rev = "v0.1.0";
+      sha256 = "0fhijjhxz4n2j5i24ckzv8r9kri3v44jdyklgbqjfq0xm7izqg14";
+    };
+  }
+  {
     goPackagePath = "github.com/go-openapi/jsonpointer";
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonpointer";
-      rev = "v0.19.2";
-      sha256 = "1s3cqf4svrbygvvpvi7hf122szsgihas52vqh0bba3avf4w03g9n";
+      rev = "46af16f9f7b1";
+      sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc";
     };
   }
   {
@@ -86,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonreference";
-      rev = "v0.19.2";
-      sha256 = "0v933yvcwyzzlpdxwb9204ki7lls2rwfd96ww2i901ndvz37kdf8";
+      rev = "13c6e3589ad9";
+      sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis";
     };
   }
   {
@@ -95,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/spec";
-      rev = "v0.19.2";
-      sha256 = "1r2my46qc85fp1j4lbddmd6c1n0am9bq1wyqsnw7x8raiznqxp5l";
+      rev = "6aced65f8501";
+      sha256 = "0yf0nw7167yjpiqrikns5djarjpf2r07q6xnq9xb1cfsc4m7ynm4";
     };
   }
   {
@@ -104,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/swag";
-      rev = "v0.19.2";
-      sha256 = "1mlxlajx2p9wjm72rmqjrx5g49q2sn04y45s3nrykkf6jqlq1v4z";
+      rev = "1d0bd113de87";
+      sha256 = "0fmk42chj20679n87n6sig3czs25lavyj6w208000n6kccv1ns3c";
     };
   }
   {
@@ -113,8 +203,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/gogo/protobuf";
-      rev = "v1.2.1";
-      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+      rev = "65acae22fc9d";
+      sha256 = "0700alky9z0g9akhrzn20wf4jr1600d0clhs32sm8chnlbvidy46";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/groupcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/groupcache";
+      rev = "02826c3e7903";
+      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
     };
   }
   {
@@ -122,8 +221,17 @@
     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.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
     };
   }
   {
@@ -149,8 +257,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gnostic";
-      rev = "v0.3.0";
-      sha256 = "0bnxpkxw9kmwm27rxhgv3i0jn362wp9whmqrv0lb77874s5iz2lc";
+      rev = "0c5108395e2d";
+      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -176,8 +302,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/json-iterator/go";
-      rev = "v1.1.6";
-      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+      rev = "v1.1.8";
+      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
     };
   }
   {
@@ -185,8 +311,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kisielk/errcheck";
-      rev = "v1.1.0";
-      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
     };
   }
   {
@@ -199,15 +325,6 @@
     };
   }
   {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
-    };
-  }
-  {
     goPackagePath = "github.com/kr/pretty";
     fetch = {
       type = "git";
@@ -221,8 +338,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kr/pty";
-      rev = "v1.1.5";
-      sha256 = "1bpq77b90z72cv9h66dvxsg2j197ylpgcps23xsjfbs752bykfw1";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
     };
   }
   {
@@ -235,12 +352,48 @@
     };
   }
   {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
     goPackagePath = "github.com/mailru/easyjson";
     fetch = {
       type = "git";
       url = "https://github.com/mailru/easyjson";
-      rev = "da37f6c1e481";
-      sha256 = "0yhamddd1jyqslp0hm5g07ki82sp52f0idfiqylx6fm24fin74gh";
+      rev = "d5b7844b561a";
+      sha256 = "1g84l4wns28xjpn6nl1g33dcj3sfgxlkqqsa6w8fbq2kwyd50xka";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.10";
+      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
     };
   }
   {
@@ -271,12 +424,21 @@
     };
   }
   {
+    goPackagePath = "github.com/mxk/go-flowrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mxk/go-flowrate";
+      rev = "cca7078d478f";
+      sha256 = "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.8.0";
-      sha256 = "1326s5fxgasdpz1qqwrw4n5p3k0vz44msnyz14knrhlw5l97lx33";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -284,8 +446,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.5.0";
-      sha256 = "1n7i4hksdgv410m43v2sw14bl5vy59dkp6nlw5l76nibbh37syr9";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
     };
   }
   {
@@ -307,12 +478,30 @@
     };
   }
   {
-    goPackagePath = "github.com/sirupsen/logrus";
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
     fetch = {
       type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.1";
-      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.1.2";
+      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
     };
   }
   {
@@ -320,8 +509,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "v0.0.3";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+      rev = "v0.0.5";
+      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
     };
   }
   {
@@ -329,8 +527,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+      rev = "v1.0.5";
+      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
     };
   }
   {
@@ -338,8 +545,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/objx";
-      rev = "v0.2.0";
-      sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
     };
   }
   {
@@ -347,8 +554,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "d75b2dcb6bc8";
+      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
     };
   }
   {
@@ -356,8 +581,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "5c40567a22f8";
-      sha256 = "17g8fb9vy2sqq8vgz8jdvf6c6d2290gm2qs0i4yzsd86mgn4dlrg";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
     };
   }
   {
@@ -365,8 +590,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "13f9640d40b9";
+      sha256 = "1ba2767lvklnmfvb9jkwvd4m7z6326gaiz3rgylh795g88hy34g1";
     };
   }
   {
@@ -374,8 +599,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+      rev = "1d60e4601c6f";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
     };
   }
   {
@@ -383,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d432491b9138";
-      sha256 = "0ijq720jr76yxdd6mh1rdpxh7q93w6149paclb4g39vhr84hfiv8";
+      rev = "c1f44814a5cd";
+      sha256 = "1a6hb4326hk8hvcbs0pqypalsxzqc8xasnglrrwd6ai0njgh18pg";
     };
   }
   {
@@ -401,8 +626,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "5aca471b1d59";
-      sha256 = "1i4h3q83w4y9s065w0wnnnwlssy69jbrj08k47ppsa8dnv85kyrf";
+      rev = "6c7e314b6563";
+      sha256 = "1m1n6r8v6mrlh0yvlz3qxz4s7jc7nis0zf3dfl1i6hqh5xblkwnw";
     };
   }
   {
@@ -446,17 +671,17 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+      rev = "v2.2.5";
+      sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
     };
   }
   {
-    goPackagePath = "k8s.io/api";
+    goPackagePath = "gopkg.in/yaml.v3";
     fetch = {
       type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "6e4e0e4f393b";
-      sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1";
+      url = "https://gopkg.in/yaml.v3";
+      rev = "e228e37189d3";
+      sha256 = "06sc63lqhkqjh188md1cywvscxq40cqgmdl8ccd3q891b1xpajl4";
     };
   }
   {
@@ -464,17 +689,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/apimachinery";
-      rev = "6a84e37a896d";
-      sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "v11.0.0";
-      sha256 = "006007k55b5q95fa0vih4bprwvx5sk4a5chvsn46baqa5znphyn1";
+      rev = "v0.17.0";
+      sha256 = "1418y3p2fx7zsf1anpwcma1fqnaymal12d6x33j600jf1y0j9g8i";
     };
   }
   {
@@ -491,8 +707,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/klog";
-      rev = "v0.3.3";
-      sha256 = "1gk1jhhyzsqcb4wnb02hkp8fwmk3ac924yzk87hfc6sgz43jplpn";
+      rev = "v1.0.0";
+      sha256 = "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn";
     };
   }
   {
@@ -500,17 +716,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/kube-openapi";
-      rev = "db7b694dc208";
-      sha256 = "11pmxz6if6gphspyyjqrphwclg02mgnp30mn1i0lr8r21d64m148";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/kustomize/v3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/kustomize";
-      rev = "4b67a6de1296";
-      sha256 = "1qi5swzs3qix9mimrc660hxh9qgcrbcw49z4w27hdv27xl5fa0rd";
+      rev = "30be4d16710a";
+      sha256 = "13pksn2xzyhrz569zihqy78y9ckn4sf4f4x31w1czfwbs87n00gf";
     };
   }
   {
diff --git a/nixpkgs/pkgs/development/tools/ktlint/default.nix b/nixpkgs/pkgs/development/tools/ktlint/default.nix
index c98d397953ec..0c55dc9fdb18 100644
--- a/nixpkgs/pkgs/development/tools/ktlint/default.nix
+++ b/nixpkgs/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.34.2";
+  version = "0.36.0";
 
   src = fetchurl {
     url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "1v1s4y8ads2s8hjsjacxni1j0dbmnhilhnfs0xabr3aljqs15wb2";
+    sha256 = "0pjxd4z0byqrr5qbk3k38vr1ln052m5vhlrky4agmhg5zhn38mm6";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/kubectx/default.nix b/nixpkgs/pkgs/development/tools/kubectx/default.nix
index 0f9fb36a3f4e..b3116a9b2f9d 100644
--- a/nixpkgs/pkgs/development/tools/kubectx/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubectx/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubectx";
-  version = "0.6.3";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nb867llpvjmkxv5bbqnyjrc4z74kibqg1d3dw7m47d5a5hn8525";
+    sha256 = "0mv40jh94by99i5wkf3p52wk4l68hvly1k5gnn7zsy9avc8fjd0p";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/kubeprompt/default.nix b/nixpkgs/pkgs/development/tools/kubeprompt/default.nix
new file mode 100644
index 000000000000..7c6f3f3396cf
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kubeprompt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeprompt";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jlesquembre";
+    repo = pname;
+    rev = version;
+    sha256 = "1a0xi31bd7n2zrx2z4srhvixlbj028h63dlrjzqxgmgn2w6akbz2";
+  };
+
+  preBuild = ''
+    export buildFlagsArray+=(
+      "-ldflags=
+        -w -s
+        -X ${goPackagePath}/pkg/version.Version=${version}")
+  '';
+
+  goPackagePath = "github.com/jlesquembre/kubeprompt";
+  modSha256 = "0rbpdk2dixywn3wcdgz48f3xw3b7fk8xh7mrlx27wz7fq5wj9v8f";
+
+  meta = with stdenv.lib; {
+    description = "Kubernetes prompt";
+    homepage = "https://github.com/jlesquembre/kubeprompt";
+    license = licenses.epl20;
+    maintainers = with maintainers; [ jlesquembre ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix
index 07d2357a50b6..e60181e9bc4c 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/default.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/default.nix
@@ -1,29 +1,29 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, tree }:
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "3.1.0";
-  # rev is the 3.1.0 commit, mainly for kustomize version command output
-  rev = "95f3303493fdea243ae83b767978092396169baf";
+  version = "3.3.1";
+  # rev is the 3.3.1 commit, mainly for kustomize version command output
+  rev = "f2ac5a2d0df13c047fb20cbc12ef1a3b41ce2dad";
 
-  goPackagePath = "sigs.k8s.io/kustomize";
-  subPackages = [ "cmd/kustomize" ];
-
-  buildFlagsArray = let t = "${goPackagePath}/v3/pkg/commands/misc"; in ''
+  buildFlagsArray = let t = "sigs.k8s.io/kustomize/v3/provenance"; in ''
     -ldflags=
-      -s -X ${t}.kustomizeVersion=${version}
+      -s -X ${t}.version=${version}
          -X ${t}.gitCommit=${rev}
          -X ${t}.buildDate=unknown
   '';
 
   src = fetchFromGitHub {
-    sha256 = "0kigcirkjvnj3xi1p28p9yp3s0lff24q5qcvf8ahjwvpbwka14sh";
-    rev = "v${version}";
-    repo = pname;
     owner = "kubernetes-sigs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yxxz0b56r18w178y32s619zy8ci6l93c6vlzx11hhxhbw43f6v6";
   };
 
-  modSha256 = "0w8sp73pmj2wqrg7x7z8diglyfq6c6gn9mmck0k1gk90nv7s8rf1";
+  # avoid finding test and development commands
+  sourceRoot = "source/kustomize";
+
+  modSha256 = "1bas6al14ck0d2ccb4235426a5hldqsm0nf8vi76chz4nahzb71g";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
diff --git a/nixpkgs/pkgs/development/tools/lazygit/default.nix b/nixpkgs/pkgs/development/tools/lazygit/default.nix
index f91938fb62e3..a825d84027e6 100644
--- a/nixpkgs/pkgs/development/tools/lazygit/default.nix
+++ b/nixpkgs/pkgs/development/tools/lazygit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "lazygit";
-  version = "0.8";
+  version = "0.12.3";
 
   goPackagePath = "github.com/jesseduffield/lazygit";
 
@@ -12,13 +12,13 @@ buildGoPackage rec {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zynw5gr96a59x1qshzhhvld883ndf1plnw6l9dbhmff0wcfv6l1";
+    sha256 = "1r20543dydp5m9ciw01y8wlw8kxwmjn6zabfalnb13y1pa0zm76q";
   };
 
   meta = with stdenv.lib; {
     description = "Simple terminal UI for git commands";
     homepage = "https://github.com/jesseduffield/lazygit";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz equirosa filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix b/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
index a91ab763beaf..b9c149af531d 100644
--- a/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
 
 stdenv.mkDerivation rec {
-  name = "libsigrokdecode-0.5.2";
+  name = "libsigrokdecode-0.5.3";
 
   src = fetchurl {
     url = "https://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
-    sha256 = "1w434nl1syjkvwl08lji3r9sr60lbxp1nqys8hqwzv2lgiwrx3g0";
+    sha256 = "1h1zi1kpsgf6j2z8j8hjpv1q7n49i3fhqjn8i178rka3cym18265";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
index 43cb6e6c2c75..7a2252c6b273 100644
--- a/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -39,7 +39,7 @@ let noweb = stdenv.mkDerivation rec {
     mkdir -p "$tex/tex/latex/noweb"
   '';
 
-  installTargets = "install-code install-tex install-elisp";
+  installTargets = [ "install-code" "install-tex" "install-elisp" ];
 
   postInstall = ''
     substituteInPlace "$out/bin/cpif" --replace "PATH=/bin:/usr/bin" ""
@@ -57,7 +57,7 @@ let noweb = stdenv.mkDerivation rec {
 
     # HACK: This is ugly, but functional.
     PATH=$out/bin:$PATH make -BC xdoc
-    make $installFlags install-man
+    make "''${installFlags[@]}" install-man
 
     ln -s "$tex" "$out/share/texmf"
   '';
diff --git a/nixpkgs/pkgs/development/tools/metals/default.nix b/nixpkgs/pkgs/development/tools/metals/default.nix
new file mode 100644
index 000000000000..415479edc84d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/metals/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, lib, coursier, jdk, jre, makeWrapper }:
+
+let
+  baseName = "metals";
+  version = "0.7.6";
+  deps = stdenv.mkDerivation {
+    name = "${baseName}-deps-${version}";
+    buildCommand = ''
+      export COURSIER_CACHE=$(pwd)
+      ${coursier}/bin/coursier fetch org.scalameta:metals_2.12:${version} \
+        -r bintray:scalacenter/releases \
+        -r sonatype:snapshots > deps
+      mkdir -p $out/share/java
+      cp -n $(< deps) $out/share/java/
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = "03vx8n77mndpqbvq14cy3k9r4jwgjacrv56v5n87da8rqiclx37j";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk deps ];
+
+  phases = [ "installPhase" ];
+
+  extraJavaOpts = "-XX:+UseG1GC -XX:+UseStringDeduplication -Xss4m -Xms100m";
+
+  installPhase = ''
+    mkdir -p $out/bin
+
+    makeWrapper ${jre}/bin/java $out/bin/metals-emacs \
+      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
+      --add-flags "${extraJavaOpts} -Dmetals.client=emacs -cp $CLASSPATH scala.meta.metals.Main"
+
+    makeWrapper ${jre}/bin/java $out/bin/metals-vim \
+      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
+      --add-flags "${extraJavaOpts} -Dmetals.client=coc.nvim -cp $CLASSPATH scala.meta.metals.Main"
+
+    makeWrapper ${jre}/bin/java $out/bin/metals-vim-lsc \
+      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
+      --add-flags "${extraJavaOpts} -Dmetals.client=vim-lsc -cp $CLASSPATH scala.meta.metals.Main"
+
+    makeWrapper ${jre}/bin/java $out/bin/metals-sublime \
+      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
+      --add-flags "${extraJavaOpts} -Dmetals.client=sublime -cp $CLASSPATH scala.meta.metals.Main"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://scalameta.org/metals/;
+    license = licenses.asl20;
+    description = "Work-in-progress language server for Scala";
+    maintainers = with maintainers; [ ceedubs tomahna ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/micronaut/default.nix b/nixpkgs/pkgs/development/tools/micronaut/default.nix
index 102f911bf85a..7b9223ddec0c 100644
--- a/nixpkgs/pkgs/development/tools/micronaut/default.nix
+++ b/nixpkgs/pkgs/development/tools/micronaut/default.nix
@@ -1,35 +1,37 @@
-{ stdenv, fetchzip, jdk, makeWrapper }:
+{ stdenv, fetchzip, jdk, makeWrapper, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "1.2.1";
+  version = "1.2.8";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-core/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "0lfl2hfakpdcfii3a3jr6kws731jamy4fb3dmlnj5ydk0zbnmk6r";
+    sha256 = "1znrgmwi11pnanvlaqlrffp5y3pz2ql6vrglbzqx8m9ydvdn1cp1";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   installPhase = ''
+    runHook preInstall
     rm bin/mn.bat
     cp -r . $out
     wrapProgram $out/bin/mn \
       --prefix JAVA_HOME : ${jdk} 
+    installShellCompletion --bash --name mn.bash bin/mn_completion
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
-    description = ''
-      A modern, JVM-based, full-stack framework for building modular, 
-      easily testable microservice and serverless applications.
-    '';
+    description = "Modern, JVM-based, full-stack framework for building microservice applications";
     longDescription = ''
+      Micronaut is a modern, JVM-based, full stack microservices framework
+      designed for building modular, easily testable microservice applications.
       Reflection-based IoC frameworks load and cache reflection data for 
       every single field, method, and constructor in your code, whereas with 
       Micronaut, your application startup time and memory consumption are 
       not bound to the size of your codebase.
     '';
-    homepage = https://micronaut.io/;
+    homepage = "https://micronaut.io/";
     license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ moaxcp ];
diff --git a/nixpkgs/pkgs/development/tools/misc/act/default.nix b/nixpkgs/pkgs/development/tools/misc/act/default.nix
new file mode 100644
index 000000000000..bf1cae3edc72
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/act/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "act";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "nektos";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1y1bvk93dzsxwjakmgpb5qyy3lqng7cdabi64b555c1z6b42mf58";
+  };
+
+  modSha256 = "00d0wjnr5y3bl95lma8sdwvqqs7fd0k43azawp1kb29kqnrlismg";
+
+  meta = with lib; {
+    description = "Run your GitHub Actions locally";
+    homepage = "https://circleci.com/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix b/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
index b3d380b0a0ad..3df5794e3870 100644
--- a/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
@@ -4,19 +4,19 @@ let
   libphutil = fetchFromGitHub {
     owner = "phacility";
     repo = "libphutil";
-    rev = "3215e4e291ed4468faeed4542d47a571b5bc559a";
-    sha256 = "0bbinaxny0j4iniz2grf0s9cysbl3x24yc32f3jra9mwsgh2v2zj";
+    rev = "39ed96cd818aae761ec92613a9ba0800824d0ab0";
+    sha256 = "1w55avn056kwa4gr25h09b7xhvyp397myrfzlmd1ggx7vj87vw1q";
   };
   arcanist = fetchFromGitHub {
     owner = "phacility";
     repo = "arcanist";
-    rev = "2650e8627a20e1bfe334a4a2b787f44ef5d6ebc5";
-    sha256 = "0x0xxiar202ypbgxh19swzjil546bbp8li4k5yrpvab55y8ymkd4";
+    rev = "3cdfe1fff806d2b54a2df631cf90193e518f42b7";
+    sha256 = "1dngq8p4y4hln87hhgdm6hv68ld626j57lifw0821rvpnnmspw6j";
   };
 in
 stdenv.mkDerivation {
   pname = "arcanist";
-  version = "20180916";
+  version = "20190905";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/nixpkgs/pkgs/development/tools/misc/argbash/default.nix b/nixpkgs/pkgs/development/tools/misc/argbash/default.nix
new file mode 100644
index 000000000000..b8e3ff4a9dfe
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/argbash/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoconf }:
+
+stdenv.mkDerivation rec {
+  pname = "argbash";
+
+  version = "2.8.1";
+
+  src = fetchFromGitHub {
+    owner = "matejak";
+    repo = "argbash";
+    rev = "${version}";
+    sha256 = "0zara7v3pnwiwkpb0x0g37pxhmim4425q4gba712f6djj115r1mr";
+  };
+
+  sourceRoot = "${src}/resources";
+
+  nativeBuildInputs = [ autoconf ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Bash argument parsing code generator";
+    homepage = "https://argbash.io/";
+    license = licenses.free; # custom license.  See LICENSE in source repo.
+    maintainers = with maintainers; [ rencire ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
index e1aeb025c30f..f1a486446170 100644
--- a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./help2man-SOURCE_DATE_EPOCH-support.patch ];
+
   # Disable indented log output from Make, otherwise "make.test" will
   # fail.
   preCheck = "unset NIX_INDENT_MAKE";
diff --git a/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch b/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
new file mode 100644
index 000000000000..048f75e63343
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
@@ -0,0 +1,41 @@
+From 2e3357d7f0d63f1caeb40d9644c2436a5cd0da5f Mon Sep 17 00:00:00 2001
+From: David Terry <me@xwvvvvwx.com>
+Date: Fri, 18 Oct 2019 10:23:11 +0200
+Subject: [PATCH] help2man: add support for SOURCE_DATE_EPOCH
+
+---
+ doc/help2man | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/doc/help2man b/doc/help2man
+index af4306f..4a64167 100755
+--- a/doc/help2man
++++ b/doc/help2man
+@@ -213,11 +213,23 @@ sub get_option_value;
+ my $help_text   = get_option_value $ARGV[0], $help_option;
+ $version_text ||= get_option_value $ARGV[0], $version_option;
+ 
++# By default the generated manual pages will include the current date.  This may
++# however be overriden by setting the environment variable $SOURCE_DATE_EPOCH
++# to an integer value of the seconds since the UNIX epoch.  This is primarily
++# intended to support reproducible builds (wiki.debian.org/ReproducibleBuilds)
++# and will additionally ensure that the output date string is UTC.
++my $epoch_secs = time;
++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
++{
++    $epoch_secs = $1;
++    $ENV{TZ} = 'UTC';
++}
++
+ # Translators: the following message is a strftime(3) format string, which in
+ # the English version expands to the month as a word and the full year.  It
+ # is used on the footer of the generated manual pages.  If in doubt, you may
+ # just use %x as the value (which should be the full locale-specific date).
+-my $date = enc strftime _("%B %Y"), localtime;
++my $date = enc strftime _("%B %Y"), localtime $epoch_secs;
+ (my $program = $ARGV[0]) =~ s!.*/!!;
+ my $package = $program;
+ my $version;
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index 210659289d1e..82365d986b8a 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/ccls/default.nix b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
index e42c3e58db8e..8748cdf52b4f 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20190823";
+  version = "0.20190823.5";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "1qy1kf83mrvbhwl8m0h7ralwd3sid8y8fpk7pmy81y1nq8f1cf6f";
+    sha256 = "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     homepage    = https://github.com/MaskRay/ccls;
     license     = licenses.asl20;
     platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
index f8d7b9eb3fea..155e6d4f6474 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
@@ -9,4 +9,4 @@ fi
 
 initString+="]}}"
 
-exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix b/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix
index 956a8df69cea..3cae6aa2ae6b 100644
--- a/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/cli11/default.nix b/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
index a3579b734084..6261ffc9b018 100644
--- a/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, cmake, gtest, python, boost }:
+{
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  gtest,
+  python,
+  boost
+}:
 
 stdenv.mkDerivation rec {
   pname = "cli11";
@@ -20,6 +27,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     rm -rfv extern/googletest
     ln -sfv ${gtest.src} extern/googletest
+    sed -i '/TrueFalseTest/d' tests/CMakeLists.txt
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
new file mode 100644
index 000000000000..17d936792850
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  pname = "clojure-lsp";
+  version = "20200106T233511";
+
+  src = fetchurl {
+    url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
+    sha256 = "0z550c15sywbaxbfi1nxx19whfysq4whl4na4fjihnin8ab5sh2x";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    install -Dm755 $src $out/bin/clojure-lsp
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Language Server Protocol (LSP) for Clojure";
+    homepage = "https://github.com/snoe/clojure-lsp";
+    license = licenses.mit;
+    maintainers = [ maintainers.ericdallo ];
+    platforms = jre.meta.platforms;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/cquery/wrapper b/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
index 534f900f94af..8b3e57290429 100644
--- a/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
+++ b/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
@@ -9,4 +9,4 @@ fi
 
 initString+="]}"
 
-exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
index c51a5f504741..1ff969187668 100644
--- a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gcc44.patch ];
 
+  NIX_CFLAGS_COMPILE = "-fpermissive";
+
   meta = {
     homepage = https://www.gnu.org/software/ddd;
     description = "Graphical front-end for command-line debuggers";
diff --git a/nixpkgs/pkgs/development/tools/misc/dialog/default.nix b/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
index 378cc4683b41..b82429cdac5f 100644
--- a/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     "--with-libtool-opts=${stdenv.lib.optionalString enableShared "-shared"}"
   ];
 
-  installTargets = "install${stdenv.lib.optionalString withLibrary "-full"}";
+  installTargets = [ "install${stdenv.lib.optionalString withLibrary "-full"}" ];
 
   meta = {
     homepage = https://invisible-island.net/dialog/dialog.html;
diff --git a/nixpkgs/pkgs/development/tools/misc/direvent/default.nix b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
new file mode 100644
index 000000000000..0ae1884646d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  name = "direvent-${version}";
+  version = "5.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/direvent/${name}.tar.gz";
+    sha256 = "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Directory event monitoring daemon";
+    homepage = "https://www.gnu.org.ua/software/direvent/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ puffnfresh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
index 9975f0f5465c..fe86a22b7f49 100644
--- a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   };
   buildInputs = [ python ];
   
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   
   preInstall = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
new file mode 100644
index 000000000000..cbb6a38f67a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -0,0 +1,22 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "editorconfig-checker";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "editorconfig-checker";
+    repo = "editorconfig-checker";
+    rev = "${version}";
+    sha256 = "0v2ml9r8b5admi3sv80wa1pwl9qnz03q2p84vgcmgg2nv1v6yxf3";
+  };
+
+  modSha256 = "09b1v9gyh6827yqlfxxxq3lcqhd5snn3n7gdlbjmga3wyp2x4g2r";
+
+  meta = with lib; {
+    description = "A tool to verify that your files are in harmony with your .editorconfig";
+    homepage = "https://editorconfig-checker.github.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ uri-canva ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix b/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix
index c7eaafd9c7a8..288e8bf96998 100644
--- a/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix b/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
index 152792dcee25..b8202f94ce9b 100644
--- a/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
@@ -2,23 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "fsatrace";
-  version = "0.0.1-160";
+  version = "0.0.1-324";
 
   src = fetchFromGitHub {
     owner = "jacereda";
     repo = "fsatrace";
-    rev = "2bf89d836e0156e68f121b0ffeedade7c9381f77";
-    sha256 = "0bndfmm0y738azwzf6m6xg6gjnrwcqlfjsampk67vga40yylwkbw";
+    rev = "41fbba17da580f81ababb32ec7e6e5fd49f11473";
+    sha256 = "1ihm2v723idd6m0kc1z9v73hmfvh2v0vjs8wvx5w54jaxh3lmj1y";
   };
 
-  preConfigure = ''
-    mkdir -p $out/libexec/${pname}-${version}
-    export makeFlags=INSTALLDIR=$out/libexec/${pname}-${version}
+  installDir = "libexec/${pname}-${version}";
+
+  makeFlags = [ "INSTALLDIR=$(out)/$(installDir)" ];
+
+  preInstall = ''
+    mkdir -p $out/$installDir
   '';
 
   postInstall = ''
     mkdir -p $out/bin
-    ln -s $out/libexec/${pname}-${version}/fsatrace $out/bin/
+    ln -s $out/$installDir/fsatrace $out/bin/fsatrace
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
index f7dc2874aff5..e125b7418f6b 100644
--- a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
@@ -1,19 +1,24 @@
-{ stdenv
+{ stdenv, targetPackages
 
 # Build time
 , fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
-, ncurses, readline, gmp, mpfr, expat, zlib, dejagnu
+, ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu
 
 , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
-
+, safePaths ? [
+   # $debugdir:$datadir/auto-load are whitelisted by default by GDB
+   "$debugdir" "$datadir/auto-load"
+   # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb
+   targetPackages.stdenv.cc.cc.lib
+  ]
 }:
 
 let
   basename = "gdb-${version}";
-  version = "8.3";
+  version = "8.3.1";
 in
 
 assert pythonSupport -> python3 != null;
@@ -26,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "0bnpzz0rl672xg5547q5qck2sxi6cnyixmk8bbb4gifw17ipwbw0";
+    sha256 = "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y";
   };
 
   postPatch = if stdenv.isDarwin then ''
@@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ];
 
-  buildInputs = [ ncurses readline gmp mpfr expat zlib guile ]
+  buildInputs = [ ncurses readline gmp mpfr expat libipt zlib guile ]
     ++ stdenv.lib.optional pythonSupport python3
     ++ stdenv.lib.optional doCheck dejagnu;
 
@@ -70,6 +75,7 @@ stdenv.mkDerivation rec {
     "--with-gmp=${gmp.dev}"
     "--with-mpfr=${mpfr.dev}"
     "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+    "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
   ] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
 
   postInstall =
diff --git a/nixpkgs/pkgs/development/tools/misc/global/default.nix b/nixpkgs/pkgs/development/tools/misc/global/default.nix
index 2d756a655a43..edcca88c71d4 100644
--- a/nixpkgs/pkgs/development/tools/misc/global/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/global/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "global";
-  version = "6.6.3";
+  version = "6.6.4";
 
   src = fetchurl {
     url = "mirror://gnu/global/${pname}-${version}.tar.gz";
-    sha256 = "0735pj47dnspf20n0j1px24p59nwjinlmlb2n32ln1hvdkprivnb";
+    sha256 = "1515642wsjz7x3rsgaqk4sc7n0z2znl7idsk8jz8wgy5aswqqzlq";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix b/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
index 37a7a8c931c3..2ad496bfb887 100644
--- a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://gputils.sourceforge.io/;
+    homepage = "https://gputils.sourceforge.io";
+    description = "A collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib";
     license = licenses.gpl2;
     maintainers = with maintainers; [ yorickvp ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix b/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
index 02b4d1557678..efb61c4730fd 100644
--- a/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk2, pkgconfig, hicolor-icon-theme }:
+{stdenv, fetchurl, gtk2, pkgconfig }:
 
 stdenv.mkDerivation {
   name = "gtkdialog-0.8.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 hicolor-icon-theme ];
+  buildInputs = [ gtk2 ];
 
   meta = {
     homepage = https://code.google.com/archive/p/gtkdialog/;
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
index 24ca98118bdc..79ef81d09e1c 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1jdlmc45hwblcxs6hvy3gi2dr7qyzs1sg5zr26jrpxrbvqqzrdhc";
   };
 
-  cargoSha256 = "0dqj2pdqfbgg8r3h2s07p3m9zgl9xl4vislbqs6a0f1ahrczlda5";
+  cargoSha256 = "11y82np52f7lgfzhzs24kkawcfzzc6070x4rj5d6iv5csf6c03ny";
 
   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
index 4a65d0888347..3e5c12e183aa 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
@@ -15,7 +15,7 @@ else
 let
   perlDeps = buildEnv {
     name = "hydra-perl-deps";
-    paths = with perlPackages;
+    paths = with perlPackages; lib.closePropagation
       [ ModulePluggable
         CatalystActionREST
         CatalystAuthenticationStoreDBIxClass
@@ -27,7 +27,7 @@ let
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginStackTrace
-        CatalystRuntime
+        CatalystPluginUnicodeEncoding
         CatalystTraitForRequestProxyBase
         CatalystViewDownload
         CatalystViewJSON
@@ -51,6 +51,7 @@ let
         LWP
         LWPProtocolHttps
         NetAmazonS3
+        NetPrometheus
         NetStatsd
         PadWalker
         Readonly
@@ -58,6 +59,8 @@ let
         SetScalar
         Starman
         SysHostnameLong
+        TermSizeAny
+        TestMore
         TextDiff
         TextTable
         XMLSimple
@@ -69,15 +72,15 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "hydra";
-  version = "2019-08-30";
+  version = "2019-11-13";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = pname;
-    rev = "242b8b7a314759ed33f69205d26a1b7c337511e0";
-    sha256 = "167ijcf9qdm10kjvqax3hcvs5mpa4mx2y2i9idwwc6xfvn8fhs84";
+    rev = "20dd0bbe6a90d9066e635ee82e98efec23b17e51";
+    sha256 = "06chiaa7p54zxngmy2q3ps7bbiqpdv9h2rfmprh83qz36xps9rs2";
   };
 
   buildInputs =
@@ -99,7 +102,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
 
-  NIX_CFLAGS_COMPILE = [ "-pthread" ];
+  NIX_CFLAGS_COMPILE = "-pthread";
 
   shellHook = ''
     PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
diff --git a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 12197c2de40c..a56ab127235a 100644
--- a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     libXext libXv libXrandr glib bison libunwind python3 procps
     gtk-doc openssl peg ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=array-bounds" ];
+
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/nixpkgs/pkgs/development/tools/misc/itstool/default.nix b/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
index 9368a3c1acf8..a5c3623b699c 100644
--- a/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
@@ -1,24 +1,14 @@
-{ stdenv, fetchurl, python2, libxml2Python }:
-# We need the same Python as is used to build libxml2Python
+{ stdenv, fetchurl, python3 }:
 
 stdenv.mkDerivation rec {
-  # 2.0.3+ breaks the build of gnome3.gnome-desktop
-  # https://github.com/itstool/itstool/issues/17
-  name = "itstool-2.0.2";
+  name = "itstool-2.0.6";
 
   src = fetchurl {
     url = "http://files.itstool.org/itstool/${name}.tar.bz2";
-    sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a";
+    sha256 = "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2";
   };
 
-  buildInputs = [ python2 libxml2Python ];
-
-  patchPhase =
-    ''
-      sed -e '/import libxml2/i import sys\
-      sys.path.append("${libxml2Python}/lib/${python2.libPrefix}/site-packages")' \
-      -i itstool.in
-    '';
+  buildInputs = [ (python3.withPackages(ps: with ps; [ libxml2 ])) ];
 
   meta = {
     homepage = http://itstool.org/;
diff --git a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
index 83651e6d17ee..a0f2f8f546aa 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
@@ -18,12 +18,12 @@ let
   shas =
     if enableUnfree
     then {
-      x86_64-linux  = "0sc5709k3z7lb8qcjpj49s6vfv69ds2wc8319ag9x776nyz1pqxi";
-      x86_64-darwin = "0zh4q46vfdwaihs838ck8fap92i3b4x10wbpmx8mcwyfk5v0fkch";
+      x86_64-linux  = "1wq4fc2fifkg1qz7nxdfb4yi2biay8cgdz7kl5k0p37sxn0sbkja";
+      x86_64-darwin = "06346kj7bv49py49pmmnmh8m24322m88v1af19909pj9cxgd0p6v";
     }
     else {
-      x86_64-linux  = "1pq17fasryharvw4byybvmcf5172hcmy6cp0m8bxhkxagwilprba";
-      x86_64-darwin = "11crpx2qs2nzkzv6fvs1gqn9v4zalxkzsc5br0fy1y02lzm26zbm";
+      x86_64-linux  = "0ygpmcm6wdcnvw8azwqc5257lyic7yw31rqvm2pw3afhpha62lpj";
+      x86_64-darwin = "0xy81g0bhxp47p29kkkh5llfzqkzqzr5dk50ap2hy0hjw33ld6g1";
     };
 
 in stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/development/tools/misc/lsof/default.nix b/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
index 1298346ef31c..274577c4a4c5 100644
--- a/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
@@ -34,6 +34,10 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    # Fix references from man page https://github.com/lsof-org/lsof/issues/66
+    substituteInPlace Lsof.8 \
+      --replace ".so ./00DIALECTS" "" \
+      --replace ".so ./version" ".ds VN ${version}"
     mkdir -p $out/bin $out/man/man8
     cp Lsof.8 $out/man/man8/lsof.8
     cp lsof $out/bin
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
index 17837a548772..815d5aac4069 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-tools";
-  version = "2.10.7";
+  version = "2.11.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
-    sha256 = "04hkga0hnyjmv42mxj3njaykqmq9x4abd5qfyds5r62x1khfnwgd";
+    sha256 = "1g0g7ypxvc7wd5x4d4ixmfgl9yk0lxax3ymm95hcjwxn5p497r6w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
index ad5276e5e1a9..4b0be0f0fa45 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-ust";
-  version = "2.10.4";
+  version = "2.10.5";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${pname}-${version}.tar.bz2";
-    sha256 = "0rx9q5r9qcdx3i9i0rx28p33yl52sd6f35qj7qs4li2w42xv9mbm";
+    sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
   };
 
   buildInputs = [ python ];
diff --git a/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix b/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix
new file mode 100644
index 000000000000..9fbafebb10c5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix
@@ -0,0 +1,38 @@
+{
+  pkgs
+, stdenv
+, libusb
+, fetchFromGitHub
+, lib
+}:
+stdenv.mkDerivation rec {
+   pname = "micronucleus";
+   version = "2.04";
+
+   sourceRoot = "source/commandline";
+
+   src = fetchFromGitHub {
+     owner = "micronucleus";
+     repo = "micronucleus";
+     rev = version;
+     sha256 = "14msy9amlbflw5mqrbs57b7bby3nsgx43srr7215zyhfdgsla0in";
+   };
+
+   buildInputs = [ libusb ];
+   makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+
+   installPhase = ''
+     mkdir -p $out/bin
+     mkdir -p $out/lib/udev
+     cp micronucleus $out/bin
+     cp 49-micronucleus.rules $out/lib/udev
+   '';
+
+   meta = with lib; {
+     description = "Upload tool for micronucleus";
+     homepage = "https://github.com/micronucleus/micronucleus";
+     license = licenses.gpl3;
+     maintainers = [ maintainers.cab404 ];
+   };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
index b9b1f83322d1..ae0a4a6dfe21 100644
--- a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/openocd/default.nix b/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
index 80203dd0df9c..7e1412709041 100644
--- a/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libftdi1, libusb1, pkgconfig, hidapi }:
+{ stdenv, lib, fetchurl, fetchpatch, libftdi1, libusb1, pkgconfig, hidapi }:
 
 stdenv.mkDerivation rec {
   pname = "openocd";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1bhn2c85rdz4gf23358kg050xlzh7yxbbwmqp24c0akmh3bff4kk";
   };
 
+  patches = [
+    # Fix FTDI channel configuration for SheevaPlug
+    # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837989
+    (fetchpatch {
+      url = "https://salsa.debian.org/electronics-team/openocd/raw/9a94335daa332a37a51920f87afbad4d36fad2d5/debian/patches/fix-sheeva.patch";
+      sha256 = "01x021fagwvgxdpzk7psap7ryqiya4m4mi4nqr27asbmb3q46g5r";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libftdi1 libusb1 hidapi ];
 
@@ -25,12 +34,13 @@ stdenv.mkDerivation rec {
     "--enable-remote-bitbang"
   ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
+  NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
     "-Wno-implicit-fallthrough"
     "-Wno-format-truncation"
     "-Wno-format-overflow"
     "-Wno-error=tautological-compare"
-  ];
+    "-Wno-error=array-bounds"
+  ]);
 
   postInstall = lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/etc/udev/rules.d"
diff --git a/nixpkgs/pkgs/development/tools/misc/pahole/default.nix b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
index 5b17f111b45a..015fc534f6b3 100644
--- a/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pahole";
-  version = "1.15";
+  version = "1.16";
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/devel/pahole/pahole.git;
     rev = "v${version}";
-    sha256 = "10af9mh3qxbx0hgjcmh0vjbg22bgxzhbpd9395ymasyw4npg6l9x";
+    sha256 = "1gfc9v4dgs811v1zjk0d9hsgmizllw2hibc83ykmakzysimaxsy3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
index bc1cddd4879c..576b9ca2103e 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
@@ -2,7 +2,7 @@
 # directories from the RPATH of every library or executable in every
 # output.
 
-fixupOutputHooks+=('if [ -z "$dontPatchELF" ]; then patchELF "$prefix"; fi')
+fixupOutputHooks+=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi')
 
 patchELF() {
     local dir="$1"
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
index c673bd261098..f5ff1c74bcc9 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,24 +1,18 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  pname = "patchelf";
-  version = "0.10-pre-20190328";
+  name = "patchelf-${version}";
+  version = "0.10";
 
-  src = fetchFromGitHub {
-    owner = "NixOS";
-    repo = "patchelf";
-    rev = "e1e39f3639e39360ceebb2f7ed533cede4623070";
-    sha256 = "09q1b1yqfzg1ih51v7qjh55vxfdbd8x5anycl8sfz6qy107wr02k";
+  src = fetchurl {
+    url = "https://nixos.org/releases/patchelf/${name}/${name}.tar.bz2";
+    sha256 = "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n";
   };
 
   # Drop test that fails on musl (?)
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace tests/Makefile.am \
       --replace "set-rpath-library.sh" ""
-  '' +
-  # extend version identifier to more informative than "0.10".
-  ''
-    echo -n ${version} > version
   '';
 
   setupHook = [ ./setup-hook.sh ];
@@ -28,11 +22,11 @@ stdenv.mkDerivation rec {
 
   doCheck = !stdenv.isDarwin;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://nixos.org/patchelf.html;
-    license = "GPL";
+    license = licenses.gpl3;
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
index ba06ea2c7617..6e65e9e8c73f 100644
--- a/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -14,6 +14,6 @@ premakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$configurePhase" ]; then
+if [ -z "${configurePhase-}" ]; then
     configurePhase=premakeConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
index 7182144fd200..449d9ee09848 100644
--- a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
@@ -1,33 +1,12 @@
 { stdenv
+, python3
 , fetchFromGitHub
 , makeWrapper
 , gdb
-, future
-, isort
-, psutil
-, pycparser
-, pyelftools
-, python-ptrace
-, ROPGadget
-, six
-, unicorn
-, pygments
-, }:
+}:
 
-stdenv.mkDerivation rec {
-  pname = "pwndbg";
-  version = "2019.01.25";
-
-  src = fetchFromGitHub {
-    owner = "pwndbg";
-    repo = "pwndbg";
-    rev = version;
-    sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  propagatedBuildInputs = [
+let
+  pythonPath = with python3.pkgs; makePythonPath [
     future
     isort
     psutil
@@ -40,21 +19,32 @@ stdenv.mkDerivation rec {
     pygments
   ];
 
+in stdenv.mkDerivation rec {
+  pname = "pwndbg";
+  version = "2019.01.25";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "pwndbg";
+    repo = "pwndbg";
+    rev = version;
+    sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
     mkdir -p $out/share/pwndbg
     cp -r *.py pwndbg $out/share/pwndbg
+    chmod +x $out/share/pwndbg/gdbinit.py
     makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
-      --add-flags "-q -x $out/share/pwndbg/gdbinit.py"
-  '';
-
-  preFixup = ''
-    sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')" \
-      $out/share/pwndbg/gdbinit.py
+      --add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
+      --set NIX_PYTHONPATH ${pythonPath}
   '';
 
   meta = with stdenv.lib; {
     description = "Exploit Development and Reverse Engineering with GDB Made Easy";
-    homepage = http://pwndbg.com;
+    homepage = "https://github.com/pwndbg/pwndbg";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
diff --git a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
index 65a7c9eef397..2b20b3bd5470 100644
--- a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.9.12";
+  version = "0.9.14";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r7y8nbpwfbvinpapv6lgnlc93kwn4b6722cp5ihyf361fklcd02";
+    sha256 = "1npawdvryrxrdfkv4j1jk63l3mwsdgsj85k9yqyhrrphk2w4s1cr";
   };
 
-  modSha256 = "1ydfirjhw238zbia5mk90fx9rrg3kvm2h54zjhiimlvnpls5y8c9";
+  modSha256 = "0a6bmwysgvwpddh2mp228s2brb0kqfcxqjffs2pabf7ym5flmz0g";
 
   subPackages = [ "cmd/reviewdog" ];
 
-  buildFlagsArray = [ "-ldflags=-X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
 
   meta = with lib; {
     description = "Automated code review tool integrated with any code analysis tools regardless of programming language";
diff --git a/nixpkgs/pkgs/development/tools/misc/scc/default.nix b/nixpkgs/pkgs/development/tools/misc/scc/default.nix
new file mode 100644
index 000000000000..47a914823273
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/scc/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "scc";
+  version = "2.10.1";
+
+  src = fetchFromGitHub {
+    owner = "boyter";
+    repo = "scc";
+    rev = "v${version}";
+    sha256 = "1g55aahr8j93jc1k2zgpnyxgp7ddn5137vjf8dafsmqp4m2qjq6g";
+  };
+
+  goPackagePath = "github.com/boyter/scc";
+
+  # scc has a scripts/ sub-package that's for testing.
+  subPackages = [ "./" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/boyter/scc";
+    description = "A very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go";
+    maintainers = with maintainers; [ sigma filalex77 ];
+    license = with licenses; [ unlicense /* or */ mit ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
index 998abe112a6f..16a3f9557d28 100644
--- a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cargo, rustc, rustPlatform, pkgconfig, glib, openssl, darwin }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.2.11";
+  version = "0.2.12";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = version;
-    sha256 = "0084ddvzjgdpkwqc38kvzaz8n6av9ml3qqlkjma70hsis8w8gqjz";
+    sha256 = "1yd3rfp032crwlmfn2p3z12f67q7bxm78fhvdlc7azm2a4hkif4k";
   };
   cargoSha256 = "1bkglgrasyjyzjj9mwm32d3g3mg5yv74jj3zl7jf20dlq3rg3fh6";
 
diff --git a/nixpkgs/pkgs/development/tools/misc/sipp/default.nix b/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
index 004975f10d8a..eec1f32b4df8 100644
--- a/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
@@ -1,21 +1,17 @@
-{stdenv, fetchFromGitHub, autoreconfHook, ncurses, libpcap }:
+{stdenv, fetchurl, ncurses, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.1";
+  version = "3.6.0";
 
   pname = "sipp";
 
-  src = fetchFromGitHub {
-    owner = "SIPp";
-    repo = "sipp";
-    rev = "v${version}";
-    sha256 = "179a1fvqyk3jpxbi28l1xfw22cw9vgvxrn19w5f38w74x0jwqg5k";
+  src = fetchurl {
+    url = "https://github.com/SIPp/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "1fx1iy2n0m2kr91n1ii30frbscq375k3lqihdgvrqxn0zq8pnzp4";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
-    sed -i -e "s|AC_CHECK_LIB(curses|AC_CHECK_LIB(ncurses|" configure.ac
-    echo "#define SIPP_VERSION \"v${version}\"" > include/version.h
   '';
 
   configureFlags = [
@@ -29,8 +25,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ncurses libpcap];
 
-  nativeBuildInputs = [ autoreconfHook ];
-
   meta = with stdenv.lib; {
     homepage = http://sipp.sf.net;
     description = "The SIPp testing tool";
diff --git a/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix b/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
index 965f0ed096cd..4d63e2c6a15a 100644
--- a/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = "PREFIX=$(out) CC=cc";
+  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
 
   doCheck = true;
   checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test'';
diff --git a/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix b/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
index a077367622eb..66d40ae31279 100644
--- a/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
@@ -1,4 +1,4 @@
-{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule }:
+{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule, shortenPerlShebang }:
 
 stdenv.mkDerivation {
   name = "${name}-${sqitchModule.version}";
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
   src = sqitchModule;
   dontBuild = true;
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+
   installPhase = ''
     mkdir -p $out/bin
     for d in bin/sqitch etc lib share ; do
@@ -17,6 +19,8 @@ stdenv.mkDerivation {
         ln -s ${sqitchModule}/$d $out/$d
       fi
     done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/sqitch
   '';
   dontStrip = true;
   postFixup = "wrapProgram $out/bin/sqitch --prefix PERL5LIB : $PERL5LIB";
diff --git a/nixpkgs/pkgs/development/tools/misc/srecord/default.nix b/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
index a76a180741ef..fd8105552967 100644
--- a/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
@@ -10,9 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ boost libtool groff ghostscript libgcrypt ];
 
-  configureFlags = [
-    (stdenv.lib.optional (libgcrypt == null) "--without-gcrypt")
-  ];
+  configureFlags = stdenv.lib.optional (libgcrypt == null) "--without-gcrypt";
 
   meta = with stdenv.lib; {
     description = "Collection of powerful tools for manipulating EPROM load files";
diff --git a/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix b/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix
new file mode 100644
index 000000000000..53336ab417cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, requireFile, makeDesktopItem, libicns, imagemagick, zstd, jre }:
+
+let
+  version = "5.3.0";
+  desktopItem = makeDesktopItem {
+    name = "stm32CubeMX";
+    exec = "stm32cubemx";
+    desktopName = "STM32CubeMX";
+    categories = "Application;Development;";
+    icon = "stm32cubemx";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "stm32cubemx";
+  inherit version;
+
+  src = requireFile rec {
+    name = "STM32CubeMX.tar.zst";
+    message = ''
+      Unfortunately, we cannot download file ${name} automatically.
+      Please proceed with the following steps to download and add it to the Nix
+      store yourself:
+
+      1. get en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      2. unzip en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      3. run the setup: java -jar SetupSTM32CubeMX-${version}.exe
+      4. create a tar from created folder: tar --zstd -cf ${name} STM32CubeMX
+      5. add the result to the store: nix-prefetch-url file://\$PWD/${name}
+
+      Notice: The setup will quit with an error about /bin/chmod
+    '';
+    sha256 = "1r5k5wmsvw1w2nfs3nb4gc6pb3j0x6bqljn9jzc4r8y5bxc34rr8";
+  };
+
+  nativeBuildInputs = [ libicns imagemagick zstd ];
+
+  buildCommand = ''
+    mkdir -p $out/{bin,opt,share/applications}
+
+    tar --extract --zstd --file $src --directory $out/opt/
+    chmod +rx $out/opt/STM32CubeMX/STM32CubeMX.exe
+
+    cat << EOF > $out/bin/${pname}
+    #!${stdenv.shell}
+    ${jre}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX.exe
+    EOF
+    chmod +x $out/bin/${pname}
+
+    icns2png --extract $out/opt/STM32CubeMX/${pname}.icns
+    ls
+    for size in 16 24 32 48 64 128 256; do
+      mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
+      if [ -e ${pname}_"$size"x"$size"x32.png ]; then
+        mv ${pname}_"$size"x"$size"x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      else
+        convert -resize "$size"x"$size" ${pname}_256x256x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      fi
+    done;
+
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A graphical tool that allows a very easy configuration of STM32
+      microcontrollers and microprocessors, as well as the generation of the
+      corresponding initialization C code for the Arm® Cortex®-M core or a
+      partial Linux® Device Tree for Arm® Cortex®-A core), through a
+      step-by-step process.        
+    '';
+    homepage = "https://www.st.com/en/development-tools/stm32cubemx.html";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index c809437f6fb9..2ecabb68670c 100644
--- a/nixpkgs/pkgs/development/tools/misc/strace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.2";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym";
+    sha256 = "0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://strace.io/;
+    homepage = "https://strace.io/";
     description = "A system call tracer for Linux";
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/misc/swig/4.nix b/nixpkgs/pkgs/development/tools/misc/swig/4.nix
index 68febba38134..079c5e7ef3cd 100644
--- a/nixpkgs/pkgs/development/tools/misc/swig/4.nix
+++ b/nixpkgs/pkgs/development/tools/misc/swig/4.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swig";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "swig";
     repo = "swig";
     rev = "rel-${version}";
-    sha256 = "0yx33972jd3214xr3mrap0j5clma9bvs42qz8x38dfz62xlsi78v";
+    sha256 = "1i1gl5gd6b5i1hiazq7m4nvlq86zd0fhk052xhwlnb596pjhgyhf";
   };
 
   PCRE_CONFIG = "${pcre.dev}/bin/pcre-config";
diff --git a/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix b/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
index e2d507ab8013..dbb8057292b3 100644
--- a/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, mysql
-, libaio }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, libmysqlclient, libaio
+}:
 
-stdenv.mkDerivation {
-  name = "sysbench-1.0.17";
+stdenv.mkDerivation rec {
+  pname = "sysbench";
+  version = "1.0.19";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ vim mysql.connector-c libaio ];
+  buildInputs = [ libmysqlclient libaio ];
 
   src = fetchFromGitHub {
     owner = "akopytov";
-    repo = "sysbench";
-    rev = "1.0.17";
-    sha256 = "02i9knvp0bjw6ri848xxiy2dbww2xv70nah9yn67a6zgw617hwa6";
+    repo = pname;
+    rev = version;
+    sha256 = "1zgqb9cr7ld3vw4a3jhq1mlszhcyjlpr0c8q1jcp1d27l9dcvd1w";
   };
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
+    homepage = https://github.com/akopytov/sysbench;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
index 832a2285569d..26aa50f7f7a1 100644
--- a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
@@ -2,16 +2,20 @@
 
 buildGoModule rec {
   pname = "terracognita";
-  version = "0.1.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "cycloidio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ljh9dyn919k5f0yaca5an2vczj8cd5cb6qb4i5bdgmlh3wijiag";
+    sha256 = "1d5yi2jxmk04wcz8rjwa5kz9525j8s90d4rj2d4cbgd3lbbk45qq";
   };
 
-  modSha256 = "1ssz6rhdqma79x75qsxpa9is5zw1nlc0rv1h23dfsk8vla3p84ml";
+  modSha256 = "0xlhp8pa5g6an10m56g237pixc4h6ay89hkp1ijdz45iyfn9fk91";
+
+  subPackages = [ "." ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/cycloidio/terracognita/cmd.Version=${version}" ];
 
   meta = with lib; {
     description = "Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration";
diff --git a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix b/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
index 7741f2d4ffbc..56ae48b71337 100644
--- a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
+++ b/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
@@ -6,6 +6,10 @@
 , interactive ? false, ncurses, procps
 }:
 
+let
+  crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform;
+in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
@@ -17,7 +21,13 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  patches = optional (version == "6.5") ./perl.patch;
+  patches = optional (version == "6.5") ./perl.patch
+    ++ optional crossBuildTools ./cross-tools-flags.patch;
+
+  # ncurses is required to build `makedoc'
+  # this feature is introduced by the ./cross-tools-flags.patch
+  NATIVE_TOOLS_CFLAGS = if crossBuildTools then "-I${getDev buildPackages.ncurses}/include" else null;
+  NATIVE_TOOLS_LDFLAGS = if crossBuildTools then "-L${getLib buildPackages.ncurses}/lib" else null;
 
   # We need a native compiler to build perl XS extensions
   # when cross-compiling.
@@ -30,10 +40,8 @@ stdenv.mkDerivation {
   configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
     ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
-  preInstall = ''
-    installFlags="TEXMF=$out/texmf-dist";
-    installTargets="install install-tex";
-  '';
+  installFlags = [ "TEXMF=$(out)/texmf-dist" ];
+  installTargets = [ "install" "install-tex" ];
 
   checkInputs = [ procps ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch b/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
new file mode 100644
index 000000000000..f0e4230d7ec2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
@@ -0,0 +1,12 @@
+diff -ur texinfo-6.5/configure texinfo-6.5-patched/configure
+--- texinfo-6.5/configure	2017-09-13 03:50:18.000000000 +0900
++++ texinfo-6.5-patched/configure	2019-12-28 17:39:06.692818866 +0900
+@@ -23281,7 +23281,7 @@
+   # env -i gives this build host configure a clean environment;
+   # consequently, we have to re-initialize $PATH.
+   env -i CC="$BUILD_CC" AR="$BUILD_AR" RANLIB="$BUILD_RANLIB" \
+-      PATH="$PATH" \
++      PATH="$PATH" CFLAGS="$NATIVE_TOOLS_CFLAGS" LDFLAGS="$NATIVE_TOOLS_LDFLAGS" \
+       tools_only=1 \
+     ${confdir}/configure --build=${build} --host=${build} \
+                          --disable-rpath --disable-nls
diff --git a/nixpkgs/pkgs/development/tools/misc/texlab/default.nix b/nixpkgs/pkgs/development/tools/misc/texlab/default.nix
new file mode 100644
index 000000000000..1e8b3b2cbab2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/texlab/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, nodejs
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "texlab";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "latex-lsp";
+    repo = pname;
+    # 1.9.0 + patches for building citeproc-db, see https://github.com/latex-lsp/texlab/pull/137
+    rev = "e38fe4bedc9d8094649a9d2753ca9855e0c18882";
+    sha256 = "0j87gmzyqrpgxrgalvlfqj5cj8j0h23hbbv8vdz2dhc847xhhfq1";
+  };
+
+  cargoSha256 = "09d9r7aal1q00idv08zdw7dygyasyp5l6jrh96cdclf63h1p4fk9";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    description = "An implementation of the Language Server Protocol for LaTeX";
+    homepage = https://texlab.netlify.com/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ doronbehar metadark ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch b/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch
deleted file mode 100644
index 46bd80a218da..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index db09bc4..1e4892d 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -961,7 +961,7 @@ dependencies = [
- 
- [[package]]
- name = "tokei"
--version = "10.0.0"
-+version = "10.0.1"
- dependencies = [
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
index 104aa4691ab1..96eb98bbbeff 100644
--- a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
@@ -2,19 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
-  version = "10.0.1";
+  version = "10.1.1";
 
   src = fetchFromGitHub {
     owner = "XAMPPRocky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0g8p4f8g9zb1fqzzb1qi28idskahi5nldsma6rydjyrgi9gynpa0";
+    sha256 = "0wndjb4rvj8548wz0svwgnk94qlg5w2fv75fn2jgriq6fh6v43yg";
   };
 
-  cargoSha256 = "0pwq1scll5ga8rw4lx97s915zvp7v171b6316cin54f2zzpbrxx5";
-
-  # Patch for v10.0.1 Cargo.lock issue
-  patches = [ ./Cargo.lock.patch ];
+  cargoSha256 = "1lpa4xfh3bcm51amwxvkzpvmi4b2c4q5qwxxigcbzw76l7rqp2w9";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security
diff --git a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile
index 0a470854aaf5..3da9975913e8 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock
index c5ac09cb9e6a..a29f329ca8af 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix b/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix
index 09d5d41454e5..a12a891b3e78 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/trv/default.nix b/nixpkgs/pkgs/development/tools/misc/trv/default.nix
index 44744413138f..2e056306db4f 100644
--- a/nixpkgs/pkgs/development/tools/misc/trv/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/trv/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
   dontStrip = true;
 
-  installFlags = "SEMVER=${version} PREFIX=$(out)";
+  installFlags = [ "SEMVER=${version}" "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/afiniate/trv;
diff --git a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
index d85cd1a82164..01ed66030188 100644
--- a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix b/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
index 47aa49178141..c104adc78cc3 100644
--- a/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages, libiconv }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages, libiconv, jansson }:
 
 stdenv.mkDerivation {
   pname = "universal-ctags";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig pythonPackages.docutils ];
-  buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
+  buildInputs = [ jansson ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   # to generate makefile.in
   autoreconfPhase = ''
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
-  checkFlags = "units";
+  checkFlags = [ "units" ];
 
   meta = with stdenv.lib; {
     description = "A maintained ctags implementation";
diff --git a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
index fb43ff61a81c..d2b80011dea0 100644
--- a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch-data";
-  version = "20170806";
+  version = "20191128";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
+    sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz";
   };
 
   inherit (usb-modeswitch) makeFlags;
diff --git a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 7c119c929431..a0e1b8eb8ceb 100644
--- a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb";
+    sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
index e1726efc40c1..64e04455abe6 100644
--- a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -1,20 +1,19 @@
 { stdenv, bundlerEnv, ruby, bundlerUpdateScript }:
 
-
 stdenv.mkDerivation rec {
   pname = "watson-ruby";
   version = (import ./gemset.nix).watson-ruby.version;
 
-  env = bundlerEnv {
-    name = "watson-ruby-gems-${version}";
-    inherit ruby;
-    # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
-    gemdir = ./.;
-  };
-
   phases = [ "installPhase" ];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "watson-ruby-gems-${version}";
+      inherit ruby;
+      # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     ln -s ${env}/bin/watson $out/bin/watson
   '';
diff --git a/nixpkgs/pkgs/development/tools/nrpl/default.nix b/nixpkgs/pkgs/development/tools/nrpl/default.nix
index 068028c7da91..d8dab6b03587 100644
--- a/nixpkgs/pkgs/development/tools/nrpl/default.nix
+++ b/nixpkgs/pkgs/development/tools/nrpl/default.nix
@@ -21,9 +21,7 @@ stdenv.mkDerivation {
     })
   ];
 
-  NIX_LDFLAGS = [
-    "-lpcre"
-  ];
+  NIX_LDFLAGS = "-lpcre";
 
   buildPhase = ''
     HOME=$TMPDIR
diff --git a/nixpkgs/pkgs/development/tools/nsis/default.nix b/nixpkgs/pkgs/development/tools/nsis/default.nix
index 0539e8de92be..f8beae4d527a 100644
--- a/nixpkgs/pkgs/development/tools/nsis/default.nix
+++ b/nixpkgs/pkgs/development/tools/nsis/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   '';
 
   prefixKey = "PREFIX=";
-  installTargets = "install-compiler";
+  installTargets = [ "install-compiler" ];
 
   meta = with stdenv.lib; {
     description = "NSIS is a free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge";
diff --git a/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
index 09de5b02737b..309c44d6d463 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
     export NIX_CFLAGS_COMPILE+=" -isystem $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
     export NIX_LDFLAGS+=" -L $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
   '';
diff --git a/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
index a7ef6d7bedd3..de5da5674a2c 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -1,5 +1,9 @@
 { stdenv, fetchzip, which, ocaml, ocamlbuild }:
 
+if stdenv.lib.versionAtLeast ocaml.version "4.09"
+then throw "camlp4 is not available for OCaml ${ocaml.version}"
+else
+
 let param = {
   "4.02" = {
      version = "4.02+6";
@@ -51,9 +55,9 @@ stdenv.mkDerivation rec {
     --replace +camlp4 $out/lib/ocaml/${ocaml.version}/site-lib/camlp4
   '';
 
-  makeFlags = "all";
+  makeFlags = [ "all" ];
 
-  installTargets = "install install-META";
+  installTargets = [ "install" "install-META" ];
 
   dontStrip = true;
 
diff --git a/nixpkgs/pkgs/development/tools/ocaml/camlp5/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlp5/default.nix
index 4dd216713251..c3fbb5863497 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   preConfigure = "configureFlagsArray=(--strict" +
                   " --libdir $out/lib/ocaml/${ocaml.version}/site-lib)";
 
-  buildFlags = "world.opt";
+  buildFlags = [ "world.opt" ];
 
   dontStrip = true;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl
+      maggesi vbgl
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/cppo/default.nix b/nixpkgs/pkgs/development/tools/ocaml/cppo/default.nix
index bde5cce6048f..d6327010e30e 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/nixpkgs/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";
 
@@ -18,7 +18,7 @@ let param =
     sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8";
     extra = {
       createFindlibDestdir = true;
-      makeFlags = "PREFIX=$(out)";
+      makeFlags = [ "PREFIX=$(out)" ];
       preBuild = ''
         mkdir $out/bin
       '';
diff --git a/nixpkgs/pkgs/development/tools/ocaml/crunch/default.nix b/nixpkgs/pkgs/development/tools/ocaml/crunch/default.nix
new file mode 100644
index 000000000000..e48707dcb9af
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ocaml/crunch/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl, ocaml, cmdliner, opaline, ptime }:
+
+buildDunePackage rec {
+
+  pname = "crunch";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-crunch/releases/download/v${version}/crunch-v${version}.tbz";
+    sha256 = "0d26715a4h9r1wibnc12xy690m1kan7hrcgbb5qk8x78zsr67lnf";
+  };
+
+  propagatedBuildInputs = [ cmdliner ptime ];
+
+  outputs = [ "lib" "bin" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib/
+  '';
+
+  meta = {
+    homepage = "https://github.com/mirage/ocaml-crunch";
+    description = "Convert a filesystem into a static OCaml module";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
new file mode 100644
index 000000000000..adb6947b5c91
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+if stdenv.lib.versionOlder ocaml.version "4.07"
+then throw "dune is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  pname = "dune";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
+    sha256 = "0z5anyyfiydpk4l45p64k2ravypawnlllixq0h5ir450dw0ifi5i";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  buildFlags = "release";
+
+  dontAddPrefix = true;
+
+  installFlags = [ "PREFIX=${placeholder "out"}" "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
+
+  meta = {
+    homepage = "https://dune.build/";
+    description = "A composable build system";
+    maintainers = [ stdenv.lib.maintainers.vbgl stdenv.lib.maintainers.marsam ];
+    license = stdenv.lib.licenses.mit;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix
index e6f9da869a7c..ef0f5c4fabd4 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix
@@ -6,15 +6,15 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "1.11.3";
+  version = "1.11.4";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-build-info-${version}.tbz";
-    sha256 = "1lmvsis6dk8mccbwpypz9qdxr134gjhdwshxw6q12mi4x3kn6fn8";
+    sha256 = "1rkc8lqw30ifjaz8d81la6i8j05ffd0whpxqsbg6dci16945zjvp";
   };
 
   buildInputs = [ ocaml findlib ];
 
-  buildFlags = "release";
+  buildFlags = [ "release" ];
 
   dontAddPrefix = true;
 
diff --git a/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix b/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix
index fb1eb4276d62..9db5ed10c842 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
   setupHook = writeText "setupHook.sh" ''
     addOCamlPath () {
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
-            export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
+            export OCAMLPATH="''${OCAMLPATH-}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
         fi
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"; then
-            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
+            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
         fi
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
-        if test -n "$createFindlibDestdir"; then
+        if test -n "''${createFindlibDestdir-}"; then
           mkdir -p $OCAMLFIND_DESTDIR
         fi
     }
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.vbmithr
     ];
   };
diff --git a/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
index d1ff9eee8179..9ca6ca67421f 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation {
-	pname = "js_of_ocaml"; 
+  pname = "js_of_ocaml"; 
 
-	inherit (js_of_ocaml-compiler) version src installPhase meta;
+  inherit (js_of_ocaml-compiler) version src installPhase meta;
 
-	buildInputs = [ ocaml findlib dune ocaml-migrate-parsetree ppx_tools_versioned ];
+  buildInputs = [ findlib ocaml-migrate-parsetree ppx_tools_versioned ];
+  nativeBuildInputs = [ ocaml findlib dune ];
 
   postPatch = "patchShebangs lib/generate_stubs.sh";
 
diff --git a/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index c449c0f90024..801e41427804 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, buildDunePackage
-, cmdliner, cppo, yojson
+, ocaml, findlib, cmdliner, dune, cppo, yojson
 }:
 
 buildDunePackage rec {
@@ -13,8 +13,10 @@ buildDunePackage rec {
 		sha256 = "0c537say0f3197zn8d83nrihabrxyn28xc6d7c9c3l0vvrv6qvfj";
 	};
 
-	buildInputs = [ cmdliner cppo ];
+	nativeBuildInputs = [ ocaml findlib dune cppo ];
+  buildInputs = [ cmdliner ];
 
+  configurePlatforms = [];
 	propagatedBuildInputs = [ yojson ];
 
 	meta = {
diff --git a/nixpkgs/pkgs/development/tools/ocaml/merlin/default.nix b/nixpkgs/pkgs/development/tools/ocaml/merlin/default.nix
index 67acf874baff..ed3d5efc789d 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, yojson }:
+{ lib, fetchurl, buildDunePackage, yojson }:
 
 buildDunePackage rec {
   pname = "merlin";
-  version = "3.3.2";
+  version = "3.3.3";
 
   minimumOCamlVersion = "4.02.1";
 
-  src = fetchFromGitHub {
-    owner = "ocaml";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1z9mcxflraj15sbz6q7f84n31n9fsialw7z8bi3r1biz68nypva9";
+  src = fetchurl {
+    url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-v${version}.tbz";
+    sha256 = "05dfkbpbb7nvs4g6y0iw7a9f73ygvhs9l45l2g56y7zagvs9x43j";
   };
 
   buildInputs = [ yojson ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/ocaml/oasis/default.nix b/nixpkgs/pkgs/development/tools/ocaml/oasis/default.nix
index 04aeab5f4319..b13d98acd0df 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/oasis/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      vbgl z77z
+      vbgl maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocaml-top/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocaml-top/default.nix
index 7336439240d5..3ceb9b1622c1 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchzip, ncurses, ocamlPackages }:
+{ lib, fetchzip, ncurses, ocamlPackages }:
 
 with ocamlPackages; buildDunePackage rec {
   pname = "ocaml-top";
-  version = "1.1.5";
+  version = "1.2.0-rc";
 
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocaml-top/archive/${version}.tar.gz";
-    sha256 = "1d4i6aanrafgrgk4mh154k6lkwk0b6mh66rykz33awlf5pfqd8yv";
+    sha256 = "1r290m9vvr25lgaanivz05h0kf4fd3h5j61wj4hpp669zffcyyb5";
   };
 
-  buildInputs = [ ncurses ocp-build lablgtk ocp-index ];
+  buildInputs = [ ncurses ocp-build lablgtk3-sourceview3 ocp-index ];
 
   configurePhase = ''
     export TERM=xterm
@@ -18,8 +18,8 @@ with ocamlPackages; buildDunePackage rec {
 
   meta = {
     homepage = https://www.typerex.org/ocaml-top.html;
-    license = stdenv.lib.licenses.gpl3;
+    license = lib.licenses.gpl3;
     description = "A simple cross-platform OCaml code editor built for top-level evaluation";
-    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    maintainers = with lib.maintainers; [ vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
index 4eb1cc858ad0..d599fb7ade14 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
@@ -1,16 +1,14 @@
-{ lib, fetchFromGitHub, ocamlPackages }:
+{ lib, fetchurl, ocamlPackages }:
 
 with ocamlPackages; buildDunePackage rec {
   pname = "ocamlformat";
-  version = "0.11.0";
+  version = "0.12";
 
   minimumOCamlVersion = "4.06";
 
-  src = fetchFromGitHub {
-    owner = "ocaml-ppx";
-    repo = pname;
-    rev = version;
-    sha256 = "0zvjn71jd4d3znnpgh0yphb2w8ggs457b6bl6cg1fmpdgxnds6yx";
+  src = fetchurl {
+    url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/ocamlformat-${version}.tbz";
+    sha256 = "1zi8x597dhp2822j6j28s84yyiqppl7kykpwqqclx6ybypvlzdpj";
   };
 
   buildInputs = [
@@ -25,7 +23,7 @@ with ocamlPackages; buildDunePackage rec {
   ];
 
   meta = {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/ocaml-ppx/ocamlformat";
     description = "Auto-formatter for OCaml code";
     maintainers = [ lib.maintainers.Zimmi48 ];
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlify/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlify/default.nix
index df480903d154..5465e9dcb6f5 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     platforms = ocaml.meta.platforms or [];
     license = stdenv.lib.licenses.lgpl21;
     maintainers = with stdenv.lib.maintainers; [
-      z77z
+      maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix
index 91e2e67eaf1b..522cb7c199dc 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     description = "Generate OCaml modules from source files";
     platforms = ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [
-      z77z
+      maggesi
     ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlscript/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlscript/default.nix
index 28efaf4cf3d2..33b729f938df 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlscript/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlscript/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
 
   patches = [ ./Makefile.patch ];
 
-  buildFlags = "PREFIX=$(out)";
-  installFlags = "PREFIX=$(out)";
+  buildFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=$(out)" ];
 
   preInstall = "mkdir $out/bin";
   createFindlibDestdir = true;
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
index 7ecc15da2b50..6f8d80df564e 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchzip, buildDunePackage, cmdliner }:
 
 buildDunePackage rec {
-  version = "1.7.0";
+  version = "1.8.1";
   pname = "ocp-indent";
 
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz";
-    sha256 = "006x3fsd61vxnxj4chlakyk3b2s10pb0bdl46g0ghf3j8h33x7hc";
+    sha256 = "0h4ysh36q1fxc40inhsdq2swqpfm15lpilqqcafs5ska42pn7s68";
   };
 
   minimumOCamlVersion = "4.02";
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
index 79be6a8170ca..9ea01a8dca72 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -1,29 +1,24 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, dune, ocp-build, ocp-indent, cmdliner, re }:
-
-stdenv.mkDerivation rec {
+{ stdenv, fetchFromGitHub, buildDunePackage, ocp-build, ocp-indent, cmdliner, re,  }:
 
+buildDunePackage rec {
+  pname = "ocp-index";
   version = "1.1.9";
-  name = "ocaml${ocaml.version}-ocp-index-${version}";
 
   src = fetchFromGitHub {
     owner = "OCamlPro";
-    repo = "ocp-index";
+    repo = pname;
     rev = version;
     sha256 = "0dq1kap16xfajc6gg9hbiadax782winpvxnr3dkm2ncznnxds37p";
   };
 
-  buildInputs = [ ocaml findlib dune ocp-build cmdliner re ];
-  propagatedBuildInputs = [ ocp-indent ];
-
-  buildPhase = "dune build -p ocp-index";
+  buildInputs = [ ocp-build cmdliner re ];
 
-  inherit (dune) installPhase;
+  propagatedBuildInputs = [ ocp-indent ];
 
   meta = {
     homepage = http://typerex.ocamlpro.com/ocp-index.html;
     description = "A simple and light-weight documentation extractor for OCaml";
     license = stdenv.lib.licenses.lgpl3;
-    platforms = ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [ vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 1ea1cd4ab380..6a3c0c20d85f 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     url = "https://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
     sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
   };
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
   patches = [ ./warn.patch ];
 
   buildInputs = [ ocaml makeWrapper ncurses ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 #
 #  configureFlags = if transitional then "--transitional" else "--strict";
 #
-#  buildFlags = "world.opt";		
+#  buildFlags = [ "world.opt" ];		
 
   meta = {
     description = "Omake build system";
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
index f74ac84ca6b2..13aa7a895708 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
@@ -64,7 +64,7 @@ index 00000000..3ea84e2d
 +header() { echo "$1"; }
 +stopNest() { true; }
 +
-+fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
++fixupOutputHooks+=('if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
 +
 +patchShebangs() {
 +    local dir="$1"
diff --git a/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
index 28ad85b42e94..c0aa1d16374e 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,27 +1,25 @@
 { stdenv, fetchurl, ocaml, findlib, dune
-, lambdaTerm, cppo, makeWrapper
+, lambdaTerm, cppo, makeWrapper, buildDunePackage
 }:
 
 if !stdenv.lib.versionAtLeast ocaml.version "4.03"
 then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "utop";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
-    url = "https://github.com/diml/utop/archive/${version}.tar.gz";
-    sha256 = "0kbg7sfn7jaic7xcy7dm543yzsywirxbgpiv2rzwnp9ny2510f9g";
+    url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
+    sha256 = "0y2v8rkfz19nlz8gh0lkh5wx5hyvw5gl4nw1kg8j2pw9jnilq5nb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml findlib cppo dune ];
+  buildInputs = [ cppo ];
 
   propagatedBuildInputs = [ lambdaTerm ];
 
-  inherit (dune) installPhase;
-
   postFixup =
    let
      path = "etc/utop/env";
@@ -39,6 +37,7 @@ stdenv.mkDerivation rec {
        installPhase = ''
          mkdir -p "$out"/${path}
          for e in OCAMLPATH CAML_LD_LIBRARY_PATH; do
+           [[ -v "$e" ]] || continue
            printf %s "''${!e}" > "$out"/${path}/$e
          done
        '';
diff --git a/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix b/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix
index cc33b675954a..e62827c67b49 100644
--- a/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch b/nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
deleted file mode 100644
index e2e9dcebd6bc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
new file mode 100644
index 000000000000..d1ecdd1efd96
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "open-policy-agent";
+  version = "0.15.0";
+
+  goPackagePath = "github.com/open-policy-agent/opa";
+  src = fetchFromGitHub {
+    owner = "open-policy-agent";
+    repo = "opa";
+    rev = "v${version}";
+    sha256 = "0i9735v73a7wfq02p4hsy61g7d7bip6zmb8bnsiz2ma84g2g533w";
+  };
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "General-purpose policy engine";
+    homepage = "https://www.openpolicyagent.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lewo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/open-policy-agent/deps.nix b/nixpkgs/pkgs/development/tools/open-policy-agent/deps.nix
new file mode 100644
index 000000000000..ba9eed180d57
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/open-policy-agent/deps.nix
@@ -0,0 +1,408 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/OneOfOne/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/OneOfOne/xxhash";
+      rev = "v1.2.3";
+      sha256 = "0hxyvv77ghja6vim210s7fa1n2zlvykvjak8s3k3nkj85h611kwb";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev = "v1.1.0";
+      sha256 = "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x";
+    };
+  }
+  {
+    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/ghodss/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ghodss/yaml";
+      rev = "c7ce16629ff4";
+      sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/glob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
+      rev = "v0.2.3";
+      sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.3.0";
+      sha256 = "0slfyrmbpdcppf0z3waar90bpszdhi2gv705ys1b0zx5x6ax8f1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "d3de96c4c28e";
+      sha256 = "0k41z9dybs3fvgb1jzgnxr91qad9rnf9a269l95jics58m3kn7f5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev = "521ea7b17d02";
+      sha256 = "0bd83nd6jc2vsddwnb8w6gpw6qpfg449n6wb4dmk12ybmdhkwrvf";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "b20a3daf6a39";
+      sha256 = "0crivpncmh22696d5cy7k15ll5yqfjcigk0xy73wb6g1q6vnfxs7";
+    };
+  }
+  {
+    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/mna/pigeon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mna/pigeon";
+      rev = "bb0192cfc2ae";
+      sha256 = "1yid3pm46hjszikbap2wbfh97vpnha0qncywlnm1mk1pzglfgdy9";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "v0.0.1";
+      sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
+    };
+  }
+  {
+    goPackagePath = "github.com/peterh/liner";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterh/liner";
+      rev = "bf27d3ba8e1d";
+      sha256 = "0xx9923l4a46kjd1wpscqw31p4am28xrhd17xgw1cnx06bznb36v";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "059132a15dd0";
+      sha256 = "0bxkbh2rq40kdk8i05am5np77cnskx3571v2k300j5mmj1rl1ijg";
+    };
+  }
+  {
+    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 = "f30f42803563";
+      sha256 = "0d3a9igvpdx516wpvj3b1ki1c4n2lvp5ghvzpqk95j2fxzyyzcxg";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "5c3871d89910";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "7e9e6cabbd39";
+      sha256 = "00nmyp6k6x53gl7csca6bja010wnxf2p2pxfph3y0l2ap44qb38w";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "185b4288413d";
+      sha256 = "0d85429kdw5dgj5zhyiz1sq3i5691vj2gjnda93nnxxzx9acg8cv";
+    };
+  }
+  {
+    goPackagePath = "github.com/rcrowley/go-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rcrowley/go-metrics";
+      rev = "3113b8401b8a";
+      sha256 = "1m5q5dsvkqz809aag6dyan74wdrp69g2mb9killbv7z4ls2mlfr3";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.4.1";
+      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "f09979ecbc72";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "fe5e611709b0";
+      sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "082b515c9490";
+      sha256 = "03jil8szw5hsp0x4pgzdxas2njqij2466p20q1ag18lmgncjl50m";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath = "github.com/yashtewari/glob-intersection";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yashtewari/glob-intersection";
+      rev = "5c77d914dd0b";
+      sha256 = "1mfdk6iwqbhikcccds81knqlrj1phf9pad39fs2y8bzr6n7nqfzz";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "1baf3a9d7d67";
+      sha256 = "0aql4lb9cf2kcb9jx90bvpp9chrmic2y3fwfvdq76hq2qvr4818d";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3b0461eec859";
+      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "d0b11bdaac8a";
+      sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "5eefd052ad72";
+      sha256 = "1bgpq8j3a1mwsd9cbp9hqmb5ms6vp4b0a2xsrlpwrfpyswnyagi0";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a985d3407aa7";
+      sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "11092d34479b";
+      sha256 = "12qcrjq658zga5fj4n0wgm11pzpr3gafwg25cinl5qcq4p9cnl0r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/development/tools/out-of-tree/default.nix b/nixpkgs/pkgs/development/tools/out-of-tree/default.nix
index 0e4810f0ba41..725694063a3f 100644
--- a/nixpkgs/pkgs/development/tools/out-of-tree/default.nix
+++ b/nixpkgs/pkgs/development/tools/out-of-tree/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "out-of-tree";
-  version = "1.1.1";
+  version = "1.2.1";
 
   buildInputs = [ makeWrapper ];
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchgit {
     rev = "refs/tags/v${version}";
     url = "https://code.dumpstack.io/tools/${pname}.git";
-    sha256 = "048jda3vng11mg62fd3d8vs9yjsp569zlfylnkqv8sb6wd1qn66d";
+    sha256 = "0wh4yh865wgl3hs203ncdjh1gaxznmhxdg56mciibng0dghgyw7n";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/development/tools/overcommit/Gemfile b/nixpkgs/pkgs/development/tools/overcommit/Gemfile
new file mode 100644
index 000000000000..39325c7561b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/overcommit/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'overcommit'
diff --git a/nixpkgs/pkgs/development/tools/overcommit/Gemfile.lock b/nixpkgs/pkgs/development/tools/overcommit/Gemfile.lock
new file mode 100644
index 000000000000..bf88c1bb1483
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/overcommit/default.nix b/nixpkgs/pkgs/development/tools/overcommit/default.nix
new file mode 100644
index 000000000000..84529ca4b6fe
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/overcommit/gemset.nix b/nixpkgs/pkgs/development/tools/overcommit/gemset.nix
new file mode 100644
index 000000000000..b7d58c0ea708
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/packer/default.nix b/nixpkgs/pkgs/development/tools/packer/default.nix
index 9e0da00dd529..bfc330276b0e 100644
--- a/nixpkgs/pkgs/development/tools/packer/default.nix
+++ b/nixpkgs/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   pname = "packer";
-  version = "1.4.1";
+  version = "1.5.1";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "13pj48pbhl47rwyi6gd6dhq9wq0z2h8kzjkahhqhf62dfssv35db";
+    sha256 = "0cj5nr2wjpw676wwx97pk4vfal4n13hm95bjl6600fj6m3491sh0";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/parinfer-rust/default.nix b/nixpkgs/pkgs/development/tools/parinfer-rust/default.nix
index fac5b8e58309..0d7c806d2f46 100644
--- a/nixpkgs/pkgs/development/tools/parinfer-rust/default.nix
+++ b/nixpkgs/pkgs/development/tools/parinfer-rust/default.nix
@@ -1,21 +1,29 @@
-{ stdenv, rustPlatform, fetchFromGitHub }:
+{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages }:
 
 rustPlatform.buildRustPackage rec {
   pname = "parinfer-rust";
-  version = "0.3.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "eraserhd";
     repo = "parinfer-rust";
     rev = "v${version}";
-    sha256 = "0w7fcg33k8k16q8wzax44ck8csa2dr7bmwcz1g57dz33vhxi8ajc";
+    sha256 = "1k2kr1zlxx3w3kwb634kngzx8vl5iif1yr6zk2xh46gjwqb3223l";
   };
 
-  cargoSha256 = "17fkzpvfaxixllr9nxx7dnpqxkiighggryxf30j3lafghyrx987f";
+  cargoSha256 = "0i5wy15w985nxwl4b6rzb06hchzjwph6ygzjkkmigm9diw9jcycn";
+
+  buildInputs = [ llvmPackages.libclang llvmPackages.clang ];
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   postInstall = ''
     mkdir -p $out/share/kak/autoload/plugins
     cp rc/parinfer.kak $out/share/kak/autoload/plugins/
+
+    rtpPath=$out/share/vim-plugins/parinfer-rust
+    mkdir -p $rtpPath/plugin
+    sed "s,let s:libdir = .*,let s:libdir = '${placeholder "out"}/lib'," \
+      plugin/parinfer.vim >$rtpPath/plugin/parinfer.vim
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/parsing/antlr/4.7.nix b/nixpkgs/pkgs/development/tools/parsing/antlr/4.7.nix
index fcd7e445b8a2..05f08e5f0608 100644
--- a/nixpkgs/pkgs/development/tools/parsing/antlr/4.7.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/antlr/4.7.nix
@@ -2,12 +2,12 @@
 , fetchFromGitHub, cmake, ninja, pkgconfig, libuuid, darwin }:
 
 let
-  version = "4.7.1";
+  version = "4.7.2";
   source = fetchFromGitHub {
     owner = "antlr";
     repo = "antlr4";
     rev = version;
-    sha256 = "1xb4d9bd4hw406v85s64gg8gwcrrsrw171vhga1gz4xj6pzfwxz7";
+    sha256 = "1pl0zs6c6wx9nmq30s7ccpc3dl72az55i8vfp574fw9sywmvxmlj";
   };
 
   runtime = {
@@ -38,9 +38,10 @@ let
   antlr = stdenv.mkDerivation {
     pname = "antlr";
     inherit version;
+
     src = fetchurl {
       url ="https://www.antlr.org/download/antlr-${version}-complete.jar";
-      sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl";
+      sha256 = "1d40nfkq3ws8g4ksx4gj6l6m2l9j4b605q6sf68z5vvmg5nkhlk8";
     };
 
     dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix b/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
index bbcecae8f04f..0253fa27dc0d 100644
--- a/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bison";
-  version = "3.4.1";
+  version = "3.5";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "15ah05gharrzcxs8q5pm9mli5dp5lw19nd95apzzmyqnqa4zq1vh";
+    sha256 = "1l8k2fcklwy0y57yidxvk5lbf0kb96ci3zffg2djivk8k05j0dhb";
   };
 
   nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
diff --git a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix b/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
index 23ea39c6fa9f..79e171d5fd73 100644
--- a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20190617";
+  version = "20191125";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "13ai0az00c86s4k94cpgh48nf5dfccpvccpw635z42wjgcb6hy7q";
+    sha256 = "1phw8410ly3msv03dmjfi8xkmrl1lrrk928fp1489amg6sz2w707";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/tools/parsing/peg/default.nix b/nixpkgs/pkgs/development/tools/parsing/peg/default.nix
index 5b8b16ef1922..458ddc007f5e 100644
--- a/nixpkgs/pkgs/development/tools/parsing/peg/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/peg/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
   preBuild="makeFlagsArray+=( PREFIX=$out )";
 
   meta = with stdenv.lib; {
-    homepage = http://piumarta.com/software/peg/;
+    homepage = "http://piumarta.com/software/peg/";
+    description = "Tools for generating recursive-descent parsers: programs that perform pattern matching on text";
     platforms = platforms.all;
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix b/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
index 2f4db7982b71..12c9b9d57f8f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
@@ -21,7 +21,7 @@ let
 
       configureFlags = [ "--with-colm=${colm}" ];
 
-      NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isGNU "-std=gnu++98";
+      NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-std=gnu++98";
 
       doCheck = true;
 
diff --git a/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix b/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix
index f6e35f086396..dddd407d0da2 100644
--- a/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "re2c";
-  version = "1.0.3";
-
-  sourceRoot = "${src.name}/re2c";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner  = "skvadrik";
     repo   = "re2c";
     rev    = version;
-    sha256 = "0grx7nl9fwcn880v5ssjljhcb9c5p2a6xpwil7zxpmv0rwnr3yqi";
+    sha256 = "1qj0ck9msb9h8g9qb1lr57jmlj8x68ini3y3ccdifjjahhhr0hd4";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  doCheck = true;
+  enableParallelBuilding = true;
+
   preCheck = ''
     patchShebangs run_tests.sh
   '';
diff --git a/nixpkgs/pkgs/development/tools/pet/default.nix b/nixpkgs/pkgs/development/tools/pet/default.nix
index 7953a55c7d97..e7f4fce3c4d4 100644
--- a/nixpkgs/pkgs/development/tools/pet/default.nix
+++ b/nixpkgs/pkgs/development/tools/pet/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pet";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchFromGitHub {
     owner = "knqyf263";
     repo = "pet";
     rev = "v${version}";
-    sha256 = "03fzvvdmb06kf2zglaf8jkqxqv9h1kl7n586ww61z3n3mmp1x4rd";
+    sha256 = "1na3az7vicjq1rxd3ybid47yrblsdazgli0dchkbwh8zchwhqj33";
   };
 
   modSha256 = "06ham8lsx5c1vk5jkwp1aa9g4q4g7sfq7gxz2gkffa98x2vlawyf";
diff --git a/nixpkgs/pkgs/development/tools/phantomjs2/default.nix b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
index 29b8d4d5ae1e..f50e7670b463 100644
--- a/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
+++ b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
@@ -69,6 +69,10 @@ in stdenv.mkDerivation rec {
       --replace "QT_MINOR_VERSION, 5" "QT_MINOR_VERSION, 9"
   '';
 
+  # Avoids error in webpage.cpp:80:89:
+  # invalid suffix on literal; C++11 requires a space between litend identifier
+  NIX_CFLAGS_COMPILE = "-Wno-reserved-user-defined-literal";
+
   __impureHostDeps = stdenv.lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/pipenv/default.nix b/nixpkgs/pkgs/development/tools/pipenv/default.nix
index cb8e61e119d9..37d5c8a7890d 100644
--- a/nixpkgs/pkgs/development/tools/pipenv/default.nix
+++ b/nixpkgs/pkgs/development/tools/pipenv/default.nix
@@ -1,16 +1,22 @@
 { lib
-, buildPythonApplication
-, flake8
-, invoke
-, parver
-, pip
-, requests
-, virtualenv
-, fetchPypi
-, virtualenv-clone
+, python3
 }:
 
-buildPythonApplication rec {
+with python3.pkgs;
+
+let
+
+  runtimeDeps = [
+    certifi
+    setuptools
+    pip
+    virtualenv
+    virtualenv-clone
+  ];
+
+  pythonEnv = python3.withPackages(ps: with ps; [ virtualenv ]);
+
+in buildPythonApplication rec {
   pname = "pipenv";
   version = "2018.11.26";
 
@@ -21,22 +27,24 @@ buildPythonApplication rec {
 
   LC_ALL = "en_US.UTF-8";
 
-  propagatedBuildInputs = [
-    flake8
-    invoke
-    parver
-    pip
-    requests
-    virtualenv
-    virtualenv-clone
-  ];
+  postPatch = ''
+    # pipenv invokes python in a subprocess to create a virtualenv
+    # it uses sys.executable which will point in our case to a python that
+    # does not have virtualenv.
+    substituteInPlace pipenv/core.py \
+      --replace "vistir.compat.Path(sys.executable).absolute().as_posix()" "vistir.compat.Path('${pythonEnv.interpreter}').absolute().as_posix()"
+  '';
 
-  doCheck = false;
+  nativeBuildInputs = [ invoke parver ];
 
-  makeWrapperArgs = [
-    "--set PYTHONPATH \".:$PYTHONPATH\""
-    "--set PIP_IGNORE_INSTALLED 1"
-  ];
+  propagatedBuildInputs = runtimeDeps;
+
+  doCheck = true;
+  checkPhase = ''
+    export HOME=$(mktemp -d)
+    cp -r --no-preserve=mode ${wheel.src} $HOME/wheel-src
+    $out/bin/pipenv install $HOME/wheel-src
+  '';
 
   meta = with lib; {
     description = "Python Development Workflow for Humans";
diff --git a/nixpkgs/pkgs/development/tools/poetry/default.nix b/nixpkgs/pkgs/development/tools/poetry/default.nix
new file mode 100644
index 000000000000..6a4ca2a3057d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry/default.nix
@@ -0,0 +1,69 @@
+{ lib, poetry2nix, python, fetchFromGitHub, runtimeShell }:
+
+poetry2nix.mkPoetryApplication {
+
+  inherit python;
+
+  pyproject = ./pyproject.toml;
+  poetrylock = ./poetry.lock;
+
+  src = fetchFromGitHub {
+    owner = "sdispater";
+    repo = "poetry";
+    rev = "1.0.0";
+    sha256 = "05xlx9wnlrsjj3i4wawnvxadvqwsdh03401wpgingkbq0c50aimi";
+  };
+
+  # "Vendor" dependencies (for build-system support)
+  postPatch = ''
+    for path in ''${PYTHONPATH//:/ }; do
+      echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
+    done
+  '';
+
+  # Poetry is a bit special in that it can't use itself as the `build-system` property in pyproject.toml.
+  # That's why we need to hackily install outputs completely manually.
+  #
+  # For projects using poetry normally overriding the installPhase is not required.
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib/${python.libPrefix}/site-packages
+    cp -r poetry $out/lib/${python.libPrefix}/site-packages
+
+    mkdir -p $out/bin
+    cat > $out/bin/poetry <<EOF
+    #!${python.interpreter}
+    import sys
+
+    if __name__ == '__main__':
+        sys.path.append("$out/lib/${python.libPrefix}/site-packages")
+        from poetry.console import main
+        main()
+    EOF
+    chmod +x $out/bin/poetry
+
+    mkdir -p "$out/share/bash-completion/completions"
+    "$out/bin/poetry" completions bash > "$out/share/bash-completion/completions/poetry"
+    mkdir -p "$out/share/zsh/vendor-completions"
+    "$out/bin/poetry" completions zsh > "$out/share/zsh/vendor-completions/_poetry"
+    mkdir -p "$out/share/fish/vendor_completions.d"
+    "$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish"
+
+    runHook postInstall
+  '';
+
+  # Propagating dependencies leads to issues downstream
+  # We've already patched poetry to prefer "vendored" dependencies
+  postFixup = ''
+    rm $out/nix-support/propagated-build-inputs
+  '';
+
+  # Fails because of impurities (network, git etc etc)
+  doCheck = false;
+
+  meta = with lib; {
+    platforms = platforms.all;
+    maintainers = with maintainers; [ adisbladis jakewaksbaum ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry/poetry.lock b/nixpkgs/pkgs/development/tools/poetry/poetry.lock
new file mode 100644
index 000000000000..51fe6c42c7a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry/poetry.lock
@@ -0,0 +1,1886 @@
+[[package]]
+category = "dev"
+description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+marker = "python_version >= \"3.6\" and python_version < \"4.0\""
+name = "appdirs"
+optional = false
+python-versions = "*"
+version = "1.4.3"
+
+[[package]]
+category = "dev"
+description = "A few extensions to pyyaml."
+name = "aspy.yaml"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.3.0"
+
+[package.dependencies]
+pyyaml = "*"
+
+[[package]]
+category = "dev"
+description = "Atomic file writes."
+name = "atomicwrites"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.3.0"
+
+[[package]]
+category = "main"
+description = "Classes Without Boilerplate"
+name = "attrs"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "19.3.0"
+
+[package.extras]
+azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
+dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"]
+docs = ["sphinx", "zope.interface"]
+tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
+
+[[package]]
+category = "dev"
+description = "The uncompromising code formatter."
+marker = "python_version >= \"3.6\" and python_version < \"4.0\""
+name = "black"
+optional = false
+python-versions = ">=3.6"
+version = "19.10b0"
+
+[package.dependencies]
+appdirs = "*"
+attrs = ">=18.1.0"
+click = ">=6.5"
+pathspec = ">=0.6,<1"
+regex = "*"
+toml = ">=0.9.4"
+typed-ast = ">=1.4.0"
+
+[package.extras]
+d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
+
+[[package]]
+category = "main"
+description = "httplib2 caching for requests"
+name = "cachecontrol"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.12.5"
+
+[package.dependencies]
+msgpack = "*"
+requests = "*"
+
+[package.dependencies.lockfile]
+optional = true
+version = ">=0.9"
+
+[package.extras]
+filecache = ["lockfile (>=0.9)"]
+redis = ["redis (>=2.10.5)"]
+
+[[package]]
+category = "main"
+description = "Cachy provides a simple yet effective caching library."
+name = "cachy"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.3.0"
+
+[package.extras]
+memcached = ["python-memcached (>=1.59,<2.0)"]
+msgpack = ["msgpack-python (>=0.5,<0.6)"]
+redis = ["redis (>=3.3.6,<4.0.0)"]
+
+[[package]]
+category = "main"
+description = "Python package for providing Mozilla's CA Bundle."
+name = "certifi"
+optional = false
+python-versions = "*"
+version = "2019.11.28"
+
+[[package]]
+category = "main"
+description = "Foreign Function Interface for Python calling C code."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.4\" and python_version < \"3.5\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"linux\""
+name = "cffi"
+optional = false
+python-versions = "*"
+version = "1.13.2"
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+category = "dev"
+description = "Validate configuration and produce human readable error messages."
+name = "cfgv"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.0.1"
+
+[package.dependencies]
+six = "*"
+
+[[package]]
+category = "main"
+description = "Universal encoding detector for Python 2 and 3"
+name = "chardet"
+optional = false
+python-versions = "*"
+version = "3.0.4"
+
+[[package]]
+category = "main"
+description = "Cleo allows you to create beautiful and testable command-line interfaces."
+name = "cleo"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.7.6"
+
+[package.dependencies]
+clikit = ">=0.4.0,<0.5.0"
+
+[[package]]
+category = "dev"
+description = "Composable command line interface toolkit"
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\" or python_version >= \"3.6\" and python_version < \"4.0\""
+name = "click"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "7.0"
+
+[[package]]
+category = "main"
+description = "CliKit is a group of utilities to build beautiful and testable command line interfaces."
+name = "clikit"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.4.1"
+
+[package.dependencies]
+pastel = ">=0.1.0,<0.2.0"
+pylev = ">=1.3,<2.0"
+
+[package.dependencies.enum34]
+python = ">=2.7,<2.8"
+version = ">=1.1,<2.0"
+
+[package.dependencies.typing]
+python = ">=2.7,<2.8 || >=3.4,<3.5"
+version = ">=3.6,<4.0"
+
+[[package]]
+category = "dev"
+description = "Cross-platform colored terminal text."
+marker = "sys_platform == \"win32\""
+name = "colorama"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.4.1"
+
+[[package]]
+category = "dev"
+description = "Cross-platform colored terminal text."
+marker = "sys_platform == \"win32\""
+name = "colorama"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+version = "0.4.3"
+
+[[package]]
+category = "main"
+description = "Updated configparser from Python 3.7 for Python 2.6+."
+marker = "python_version == \"2.7\" and python_version < \"2.8\" or python_version < \"3\""
+name = "configparser"
+optional = false
+python-versions = ">=2.6"
+version = "4.0.2"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2)", "pytest-flake8", "pytest-black-multipy"]
+
+[[package]]
+category = "main"
+description = "Backports and enhancements for the contextlib module"
+marker = "python_version < \"3\""
+name = "contextlib2"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.6.0.post1"
+
+[[package]]
+category = "dev"
+description = "Code coverage measurement for Python"
+name = "coverage"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4"
+version = "4.5.4"
+
+[[package]]
+category = "main"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.4\" and python_version < \"3.5\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"linux\""
+name = "cryptography"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+version = "2.8"
+
+[package.dependencies]
+cffi = ">=1.8,<1.11.3 || >1.11.3"
+six = ">=1.4.1"
+
+[package.dependencies.enum34]
+python = "<3"
+version = "*"
+
+[package.dependencies.ipaddress]
+python = "<3"
+version = "*"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5,<1.8.0 || >1.8.0)", "sphinx-rtd-theme"]
+docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+idna = ["idna (>=2.1)"]
+pep8test = ["flake8", "flake8-import-order", "pep8-naming"]
+test = ["pytest (>=3.6.0,<3.9.0 || >3.9.0,<3.9.1 || >3.9.1,<3.9.2 || >3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,<3.79.2 || >3.79.2)"]
+
+[[package]]
+category = "main"
+description = "Discover and load entry points from installed packages."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\""
+name = "entrypoints"
+optional = false
+python-versions = ">=2.7"
+version = "0.3"
+
+[package.dependencies]
+[package.dependencies.configparser]
+python = ">=2.7,<2.8"
+version = ">=3.5"
+
+[[package]]
+category = "main"
+description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\")"
+name = "enum34"
+optional = false
+python-versions = "*"
+version = "1.1.6"
+
+[[package]]
+category = "dev"
+description = "A platform independent file lock."
+name = "filelock"
+optional = false
+python-versions = "*"
+version = "3.0.12"
+
+[[package]]
+category = "dev"
+description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+"
+marker = "python_version < \"3.0\""
+name = "funcsigs"
+optional = false
+python-versions = "*"
+version = "1.0.2"
+
+[[package]]
+category = "main"
+description = "Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version < \"3\""
+name = "functools32"
+optional = false
+python-versions = "*"
+version = "3.2.3-2"
+
+[[package]]
+category = "dev"
+description = "Backport of the concurrent.futures package from Python 3"
+marker = "python_version < \"3.2\""
+name = "futures"
+optional = false
+python-versions = ">=2.6, <3"
+version = "3.3.0"
+
+[[package]]
+category = "main"
+description = "Version of the glob module that can capture patterns and supports recursive wildcards"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\""
+name = "glob2"
+optional = false
+python-versions = "*"
+version = "0.6"
+
+[[package]]
+category = "main"
+description = "HTML parser based on the WHATWG HTML specification"
+name = "html5lib"
+optional = false
+python-versions = "*"
+version = "1.0.1"
+
+[package.dependencies]
+six = ">=1.9"
+webencodings = "*"
+
+[package.extras]
+all = ["genshi", "chardet (>=2.2)", "datrie", "lxml"]
+chardet = ["chardet (>=2.2)"]
+datrie = ["datrie"]
+genshi = ["genshi"]
+lxml = ["lxml"]
+
+[[package]]
+category = "dev"
+description = "HTTP client mock for Python"
+name = "httpretty"
+optional = false
+python-versions = "*"
+version = "0.9.7"
+
+[package.dependencies]
+six = "*"
+
+[[package]]
+category = "dev"
+description = "File identification library for Python"
+name = "identify"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+version = "1.4.8"
+
+[package.extras]
+license = ["editdistance"]
+
+[[package]]
+category = "main"
+description = "Internationalized Domain Names in Applications (IDNA)"
+name = "idna"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.8"
+
+[[package]]
+category = "main"
+description = "Read metadata from Python packages"
+name = "importlib-metadata"
+optional = false
+python-versions = ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3"
+version = "0.23"
+
+[package.dependencies]
+zipp = ">=0.5"
+
+[package.dependencies.configparser]
+python = "<3"
+version = ">=3.5"
+
+[package.dependencies.contextlib2]
+python = "<3"
+version = "*"
+
+[package.extras]
+docs = ["sphinx", "rst.linker"]
+testing = ["packaging", "importlib-resources"]
+
+[[package]]
+category = "dev"
+description = "Read resources from Python packages"
+marker = "python_version < \"3.7\""
+name = "importlib-resources"
+optional = false
+python-versions = ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3"
+version = "1.0.2"
+
+[package.dependencies]
+[package.dependencies.pathlib2]
+python = "<3"
+version = "*"
+
+[package.dependencies.typing]
+python = "<3.5"
+version = "*"
+
+[[package]]
+category = "main"
+description = "IPv4/IPv6 manipulation library"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\")"
+name = "ipaddress"
+optional = false
+python-versions = "*"
+version = "1.0.23"
+
+[[package]]
+category = "main"
+description = "Low-level, pure Python DBus protocol wrapper."
+marker = "python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"linux\""
+name = "jeepney"
+optional = false
+python-versions = ">=3.5"
+version = "0.4.1"
+
+[package.extras]
+dev = ["testpath"]
+
+[[package]]
+category = "dev"
+description = "A very fast and expressive template engine."
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "jinja2"
+optional = false
+python-versions = "*"
+version = "2.10.3"
+
+[package.dependencies]
+MarkupSafe = ">=0.23"
+
+[package.extras]
+i18n = ["Babel (>=0.8)"]
+
+[[package]]
+category = "main"
+description = "An implementation of JSON Schema validation for Python"
+name = "jsonschema"
+optional = false
+python-versions = "*"
+version = "3.2.0"
+
+[package.dependencies]
+attrs = ">=17.4.0"
+pyrsistent = ">=0.14.0"
+setuptools = "*"
+six = ">=1.11.0"
+
+[package.dependencies.functools32]
+python = "<3"
+version = "*"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = "*"
+
+[package.extras]
+format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"]
+format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
+
+[[package]]
+category = "main"
+description = "Store and access your passwords safely."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\""
+name = "keyring"
+optional = false
+python-versions = ">=2.7"
+version = "18.0.1"
+
+[package.dependencies]
+entrypoints = "*"
+pywin32-ctypes = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1"
+
+[package.dependencies.secretstorage]
+python = "<3.5"
+version = "<3"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs", "pytest-flake8"]
+
+[[package]]
+category = "main"
+description = "Store and access your passwords safely."
+marker = "python_version >= \"3.5\" and python_version < \"4.0\""
+name = "keyring"
+optional = false
+python-versions = ">=3.5"
+version = "19.3.0"
+
+[package.dependencies]
+pywin32-ctypes = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1"
+secretstorage = "*"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = "*"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black-multipy", "pytest-cov"]
+
+[[package]]
+category = "dev"
+description = "Python LiveReload is an awesome tool for web developers"
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "livereload"
+optional = false
+python-versions = "*"
+version = "2.6.1"
+
+[package.dependencies]
+six = "*"
+tornado = "*"
+
+[[package]]
+category = "main"
+description = "Platform-independent file locking module"
+name = "lockfile"
+optional = false
+python-versions = "*"
+version = "0.12.2"
+
+[[package]]
+category = "dev"
+description = "Python implementation of Markdown."
+name = "markdown"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+version = "3.0.1"
+
+[[package]]
+category = "dev"
+description = "Python implementation of Markdown."
+name = "markdown"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
+version = "3.1.1"
+
+[package.dependencies]
+setuptools = ">=36"
+
+[package.extras]
+testing = ["coverage", "pyyaml"]
+
+[[package]]
+category = "dev"
+description = "This is an extension to Python-Markdown which provides an \"include\" function, similar to that found in LaTeX (and also the C pre-processor and Fortran). I originally wrote it for my FORD Fortran auto-documentation generator."
+name = "markdown-include"
+optional = false
+python-versions = "*"
+version = "0.5.1"
+
+[package.dependencies]
+markdown = "*"
+
+[[package]]
+category = "dev"
+description = "Safely add untrusted strings to HTML/XML markup."
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "markupsafe"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+version = "1.1.1"
+
+[[package]]
+category = "dev"
+description = "Project documentation with Markdown."
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "mkdocs"
+optional = false
+python-versions = ">=2.7.9,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+version = "1.0.4"
+
+[package.dependencies]
+Jinja2 = ">=2.7.1"
+Markdown = ">=2.3.1"
+PyYAML = ">=3.10"
+click = ">=3.3"
+livereload = ">=2.5.1"
+tornado = ">=5.0"
+
+[[package]]
+category = "dev"
+description = "Rolling backport of unittest.mock for all Pythons"
+marker = "python_version < \"3.0\""
+name = "mock"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "3.0.5"
+
+[package.dependencies]
+six = "*"
+
+[package.dependencies.funcsigs]
+python = "<3.3"
+version = ">=1"
+
+[package.extras]
+build = ["twine", "wheel", "blurb"]
+docs = ["sphinx"]
+test = ["pytest", "pytest-cov"]
+
+[[package]]
+category = "main"
+description = "More routines for operating on iterables, beyond itertools"
+marker = "python_version < \"3.8\""
+name = "more-itertools"
+optional = false
+python-versions = "*"
+version = "5.0.0"
+
+[package.dependencies]
+six = ">=1.0.0,<2.0.0"
+
+[[package]]
+category = "main"
+description = "More routines for operating on iterables, beyond itertools"
+name = "more-itertools"
+optional = false
+python-versions = ">=3.4"
+version = "7.2.0"
+
+[[package]]
+category = "main"
+description = "More routines for operating on iterables, beyond itertools"
+marker = "python_version >= \"3.5\" and python_version < \"3.8\" or python_version < \"3.8\" or python_version > \"2.7\""
+name = "more-itertools"
+optional = false
+python-versions = ">=3.5"
+version = "8.0.2"
+
+[[package]]
+category = "main"
+description = "MessagePack (de)serializer."
+name = "msgpack"
+optional = false
+python-versions = "*"
+version = "0.6.2"
+
+[[package]]
+category = "dev"
+description = "Node.js virtual environment builder"
+name = "nodeenv"
+optional = false
+python-versions = "*"
+version = "1.3.3"
+
+[[package]]
+category = "dev"
+description = "Core utilities for Python packages"
+name = "packaging"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "19.2"
+
+[package.dependencies]
+pyparsing = ">=2.0.2"
+six = "*"
+
+[[package]]
+category = "main"
+description = "Bring colors to your terminal."
+name = "pastel"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.1.1"
+
+[[package]]
+category = "main"
+description = "Object-oriented filesystem paths"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\" or python_version < \"3.6\""
+name = "pathlib2"
+optional = false
+python-versions = "*"
+version = "2.3.5"
+
+[package.dependencies]
+six = "*"
+
+[package.dependencies.scandir]
+python = "<3.5"
+version = "*"
+
+[[package]]
+category = "dev"
+description = "Utility library for gitignore style pattern matching of file paths."
+marker = "python_version >= \"3.6\" and python_version < \"4.0\""
+name = "pathspec"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.6.0"
+
+[[package]]
+category = "dev"
+description = "Backport of PEP 562."
+name = "pep562"
+optional = false
+python-versions = "*"
+version = "1.0"
+
+[[package]]
+category = "main"
+description = "Pexpect allows easy control of interactive console applications."
+name = "pexpect"
+optional = false
+python-versions = "*"
+version = "4.7.0"
+
+[package.dependencies]
+ptyprocess = ">=0.5"
+
+[[package]]
+category = "main"
+description = "Query metadatdata from sdists / bdists / installed packages."
+name = "pkginfo"
+optional = false
+python-versions = "*"
+version = "1.5.0.1"
+
+[package.extras]
+testing = ["nose", "coverage"]
+
+[[package]]
+category = "dev"
+description = "plugin and hook calling mechanisms for python"
+name = "pluggy"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.13.1"
+
+[package.dependencies]
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = ">=0.12"
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+
+[[package]]
+category = "dev"
+description = "A framework for managing and maintaining multi-language pre-commit hooks."
+name = "pre-commit"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.18.3"
+
+[package.dependencies]
+"aspy.yaml" = "*"
+cfgv = ">=2.0.0"
+identify = ">=1.0.0"
+importlib-metadata = "*"
+nodeenv = ">=0.11.1"
+pyyaml = "*"
+six = "*"
+toml = "*"
+virtualenv = ">=15.2"
+
+[package.dependencies.importlib-resources]
+python = "<3.7"
+version = "*"
+
+[[package]]
+category = "dev"
+description = "A framework for managing and maintaining multi-language pre-commit hooks."
+name = "pre-commit"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+version = "1.20.0"
+
+[package.dependencies]
+"aspy.yaml" = "*"
+cfgv = ">=2.0.0"
+identify = ">=1.0.0"
+nodeenv = ">=0.11.1"
+pyyaml = "*"
+six = "*"
+toml = "*"
+virtualenv = ">=15.2"
+
+[package.dependencies.futures]
+python = "<3.2"
+version = "*"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = "*"
+
+[package.dependencies.importlib-resources]
+python = "<3.7"
+version = "*"
+
+[[package]]
+category = "main"
+description = "Run a subprocess in a pseudo terminal"
+name = "ptyprocess"
+optional = false
+python-versions = "*"
+version = "0.6.0"
+
+[[package]]
+category = "dev"
+description = "library with cross-python path, ini-parsing, io, code, log facilities"
+name = "py"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.8.0"
+
+[[package]]
+category = "main"
+description = "C parser in Python"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.4\" and python_version < \"3.5\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"linux\""
+name = "pycparser"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.19"
+
+[[package]]
+category = "dev"
+description = "Pygments is a syntax highlighting package written in Python."
+name = "pygments"
+optional = false
+python-versions = "*"
+version = "2.3.1"
+
+[[package]]
+category = "dev"
+description = "Pygments is a syntax highlighting package written in Python."
+name = "pygments"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+version = "2.5.2"
+
+[[package]]
+category = "dev"
+description = "Pygments Github custom lexers."
+name = "pygments-github-lexers"
+optional = false
+python-versions = "*"
+version = "0.0.5"
+
+[package.dependencies]
+pygments = ">=2.0.2"
+
+[[package]]
+category = "main"
+description = "A pure Python Levenshtein implementation that's not freaking GPL'd."
+name = "pylev"
+optional = false
+python-versions = "*"
+version = "1.3.0"
+
+[[package]]
+category = "dev"
+description = "Extension pack for Python Markdown."
+name = "pymdown-extensions"
+optional = false
+python-versions = "*"
+version = "6.0"
+
+[package.dependencies]
+Markdown = ">=3.0.1"
+
+[[package]]
+category = "dev"
+description = "Extension pack for Python Markdown."
+name = "pymdown-extensions"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
+version = "6.2"
+
+[package.dependencies]
+Markdown = ">=3.0.1"
+pep562 = "*"
+
+[[package]]
+category = "main"
+description = "Python parsing module"
+name = "pyparsing"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+version = "2.4.5"
+
+[[package]]
+category = "main"
+description = "Persistent/Functional/Immutable data structures"
+name = "pyrsistent"
+optional = false
+python-versions = "*"
+version = "0.14.11"
+
+[package.dependencies]
+six = "*"
+
+[[package]]
+category = "dev"
+description = "pytest: simple powerful testing with Python"
+name = "pytest"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+version = "4.6.7"
+
+[package.dependencies]
+atomicwrites = ">=1.0"
+attrs = ">=17.4.0"
+colorama = "*"
+packaging = "*"
+pluggy = ">=0.12,<1.0"
+py = ">=1.5.0"
+six = ">=1.10.0"
+wcwidth = "*"
+
+[[package.dependencies.more-itertools]]
+python = "<2.8"
+version = ">=4.0.0,<6.0.0"
+
+[[package.dependencies.more-itertools]]
+python = ">=2.8"
+version = ">=4.0.0"
+
+[package.dependencies.funcsigs]
+python = "<3.0"
+version = ">=1.0"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = ">=0.12"
+
+[package.dependencies.pathlib2]
+python = "<3.6"
+version = ">=2.2.0"
+
+[package.extras]
+testing = ["argcomplete", "hypothesis (>=3.56)", "nose", "requests", "mock"]
+
+[[package]]
+category = "dev"
+description = "Pytest plugin for measuring coverage."
+name = "pytest-cov"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.8.1"
+
+[package.dependencies]
+coverage = ">=4.4"
+pytest = ">=3.6"
+
+[package.extras]
+testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "virtualenv"]
+
+[[package]]
+category = "dev"
+description = "Thin-wrapper around the mock package for easier use with py.test"
+name = "pytest-mock"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.13.0"
+
+[package.dependencies]
+pytest = ">=2.7"
+
+[package.dependencies.mock]
+python = "<3.0"
+version = "*"
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+
+[[package]]
+category = "dev"
+description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)."
+name = "pytest-sugar"
+optional = false
+python-versions = "*"
+version = "0.9.2"
+
+[package.dependencies]
+packaging = ">=14.1"
+pytest = ">=2.9"
+termcolor = ">=1.1.0"
+
+[[package]]
+category = "main"
+description = ""
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and sys_platform == \"win32\" or python_version >= \"3.4\" and python_version < \"3.5\" and sys_platform == \"win32\" or python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"win32\""
+name = "pywin32-ctypes"
+optional = false
+python-versions = "*"
+version = "0.2.0"
+
+[[package]]
+category = "dev"
+description = "YAML parser and emitter for Python"
+name = "pyyaml"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "5.2"
+
+[[package]]
+category = "dev"
+description = "Alternative regular expression module, to replace re."
+marker = "python_version >= \"3.6\" and python_version < \"4.0\""
+name = "regex"
+optional = false
+python-versions = "*"
+version = "2019.12.9"
+
+[[package]]
+category = "main"
+description = "Python HTTP for Humans."
+name = "requests"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.21.0"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+chardet = ">=3.0.2,<3.1.0"
+idna = ">=2.5,<2.9"
+urllib3 = ">=1.21.1,<1.25"
+
+[package.extras]
+security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"]
+socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
+
+[[package]]
+category = "main"
+description = "Python HTTP for Humans."
+name = "requests"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+version = "2.22.0"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+chardet = ">=3.0.2,<3.1.0"
+idna = ">=2.5,<2.9"
+urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26"
+
+[package.extras]
+security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"]
+socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
+
+[[package]]
+category = "main"
+description = "A utility belt for advanced users of python-requests"
+name = "requests-toolbelt"
+optional = false
+python-versions = "*"
+version = "0.8.0"
+
+[package.dependencies]
+requests = ">=2.0.1,<3.0.0"
+
+[[package]]
+category = "main"
+description = "scandir, a better directory iterator and faster os.walk()"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\" or python_version < \"3.5\""
+name = "scandir"
+optional = false
+python-versions = "*"
+version = "1.10.0"
+
+[[package]]
+category = "main"
+description = "Python bindings to FreeDesktop.org Secret Service API"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" and (sys_platform == \"linux2\" or sys_platform == \"linux\") or python_version >= \"3.4\" and python_version < \"3.5\" and (sys_platform == \"linux2\" or sys_platform == \"linux\")"
+name = "secretstorage"
+optional = false
+python-versions = "*"
+version = "2.3.1"
+
+[package.dependencies]
+cryptography = "*"
+
+[package.extras]
+dbus-python = ["dbus-python"]
+
+[[package]]
+category = "main"
+description = "Python bindings to FreeDesktop.org Secret Service API"
+marker = "python_version >= \"3.5\" and python_version < \"4.0\" and sys_platform == \"linux\""
+name = "secretstorage"
+optional = false
+python-versions = ">=3.5"
+version = "3.1.1"
+
+[package.dependencies]
+cryptography = "*"
+jeepney = "*"
+
+[[package]]
+category = "main"
+description = "Tool to Detect Surrounding Shell"
+name = "shellingham"
+optional = false
+python-versions = ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3"
+version = "1.3.1"
+
+[[package]]
+category = "main"
+description = "Python 2 and 3 compatibility utilities"
+name = "six"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*"
+version = "1.13.0"
+
+[[package]]
+category = "main"
+description = "A backport of the subprocess module from Python 3 for use on 2.x."
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\""
+name = "subprocess32"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4"
+version = "3.5.4"
+
+[[package]]
+category = "dev"
+description = "ANSII Color formatting for output in terminal."
+name = "termcolor"
+optional = false
+python-versions = "*"
+version = "1.1.0"
+
+[[package]]
+category = "dev"
+description = "Python Library for Tom's Obvious, Minimal Language"
+name = "toml"
+optional = false
+python-versions = "*"
+version = "0.10.0"
+
+[[package]]
+category = "main"
+description = "Style preserving TOML library"
+name = "tomlkit"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.5.8"
+
+[package.dependencies]
+[package.dependencies.enum34]
+python = ">=2.7,<2.8"
+version = ">=1.1,<2.0"
+
+[package.dependencies.functools32]
+python = ">=2.7,<2.8"
+version = ">=3.2.3,<4.0.0"
+
+[package.dependencies.typing]
+python = ">=2.7,<2.8 || >=3.4,<3.5"
+version = ">=3.6,<4.0"
+
+[[package]]
+category = "dev"
+description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "tornado"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, != 3.3.*"
+version = "5.1.1"
+
+[[package]]
+category = "dev"
+description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
+marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_version >= \"3.4\" and python_version < \"4.0\""
+name = "tornado"
+optional = false
+python-versions = ">= 3.5"
+version = "6.0.3"
+
+[[package]]
+category = "dev"
+description = "tox is a generic virtualenv management and test command line tool"
+name = "tox"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "3.14.0"
+
+[package.dependencies]
+filelock = ">=3.0.0,<4"
+packaging = ">=14"
+pluggy = ">=0.12.0,<1"
+py = ">=1.4.17,<2"
+six = ">=1.0.0,<2"
+toml = ">=0.9.4"
+virtualenv = ">=14.0.0"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = ">=0.12,<1"
+
+[package.extras]
+docs = ["sphinx (>=2.0.0,<3)", "towncrier (>=18.5.0)", "pygments-github-lexers (>=0.0.5)", "sphinxcontrib-autoprogram (>=0.1.5)"]
+testing = ["freezegun (>=0.3.11,<1)", "pathlib2 (>=2.3.3,<3)", "pytest (>=4.0.0,<6)", "pytest-cov (>=2.5.1,<3)", "pytest-mock (>=1.10.0,<2)", "pytest-xdist (>=1.22.2,<2)", "pytest-randomly (>=1.2.3,<2)", "flaky (>=3.4.0,<4)", "psutil (>=5.6.1,<6)"]
+
+[[package]]
+category = "dev"
+description = "tox is a generic virtualenv management and test command line tool"
+name = "tox"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+version = "3.14.1"
+
+[package.dependencies]
+filelock = ">=3.0.0,<4"
+packaging = ">=14"
+pluggy = ">=0.12.0,<1"
+py = ">=1.4.17,<2"
+six = ">=1.0.0,<2"
+toml = ">=0.9.4"
+virtualenv = ">=16.0.0"
+
+[package.dependencies.importlib-metadata]
+python = "<3.8"
+version = ">=0.12,<1"
+
+[package.extras]
+docs = ["sphinx (>=2.0.0,<3)", "towncrier (>=18.5.0)", "pygments-github-lexers (>=0.0.5)", "sphinxcontrib-autoprogram (>=0.1.5)"]
+testing = ["freezegun (>=0.3.11,<1)", "pathlib2 (>=2.3.3,<3)", "pytest (>=4.0.0,<6)", "pytest-cov (>=2.5.1,<3)", "pytest-mock (>=1.10.0,<2)", "pytest-xdist (>=1.22.2,<2)", "pytest-randomly (>=1.0.0,<4)", "flaky (>=3.4.0,<4)", "psutil (>=5.6.1,<6)"]
+
+[[package]]
+category = "dev"
+description = "a fork of Python 2 and 3 ast modules with type comment support"
+marker = "python_version >= \"3.6\" and python_version < \"4.0\""
+name = "typed-ast"
+optional = false
+python-versions = "*"
+version = "1.4.0"
+
+[[package]]
+category = "main"
+description = "Type Hints for Python"
+marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\" or python_version < \"3.5\""
+name = "typing"
+optional = false
+python-versions = "*"
+version = "3.7.4.1"
+
+[[package]]
+category = "main"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+name = "urllib3"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
+version = "1.24.3"
+
+[package.extras]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
+
+[[package]]
+category = "main"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+name = "urllib3"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
+version = "1.25.7"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
+
+[[package]]
+category = "main"
+description = "Virtual Python Environment builder"
+name = "virtualenv"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+version = "16.7.8"
+
+[package.extras]
+docs = ["sphinx (>=1.8.0,<2)", "towncrier (>=18.5.0)", "sphinx-rtd-theme (>=0.4.2,<1)"]
+testing = ["pytest (>=4.0.0,<5)", "coverage (>=4.5.0,<5)", "pytest-timeout (>=1.3.0,<2)", "six (>=1.10.0,<2)", "pytest-xdist", "pytest-localserver", "pypiserver", "mock", "xonsh"]
+
+[[package]]
+category = "dev"
+description = "Measures number of Terminal column cells of wide-character codes"
+name = "wcwidth"
+optional = false
+python-versions = "*"
+version = "0.1.7"
+
+[[package]]
+category = "main"
+description = "Character encoding aliases for legacy web content"
+name = "webencodings"
+optional = false
+python-versions = "*"
+version = "0.5.1"
+
+[[package]]
+category = "main"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+name = "zipp"
+optional = false
+python-versions = ">=2.7"
+version = "0.6.0"
+
+[package.dependencies]
+more-itertools = "*"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pathlib2", "contextlib2", "unittest2"]
+
+[metadata]
+content-hash = "35feeab2d2e9415a82f714a41962c442ea8b302f0e8365c10ee188f31603684a"
+python-versions = "~2.7 || ^3.4"
+
+[metadata.files]
+appdirs = [
+    {file = "appdirs-1.4.3-py2.py3-none-any.whl", hash = "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"},
+    {file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"},
+]
+"aspy.yaml" = [
+    {file = "aspy.yaml-1.3.0-py2.py3-none-any.whl", hash = "sha256:463372c043f70160a9ec950c3f1e4c3a82db5fca01d334b6bc89c7164d744bdc"},
+    {file = "aspy.yaml-1.3.0.tar.gz", hash = "sha256:e7c742382eff2caed61f87a39d13f99109088e5e93f04d76eb8d4b28aa143f45"},
+]
+atomicwrites = [
+    {file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"},
+    {file = "atomicwrites-1.3.0.tar.gz", hash = "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"},
+]
+attrs = [
+    {file = "attrs-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"},
+    {file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"},
+]
+black = [
+    {file = "black-19.10b0-py36-none-any.whl", hash = "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b"},
+    {file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"},
+]
+cachecontrol = [
+    {file = "CacheControl-0.12.5.tar.gz", hash = "sha256:cef77effdf51b43178f6a2d3b787e3734f98ade253fa3187f3bb7315aaa42ff7"},
+]
+cachy = [
+    {file = "cachy-0.3.0-py2.py3-none-any.whl", hash = "sha256:338ca09c8860e76b275aff52374330efedc4d5a5e45dc1c5b539c1ead0786fe7"},
+    {file = "cachy-0.3.0.tar.gz", hash = "sha256:186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1"},
+]
+certifi = [
+    {file = "certifi-2019.11.28-py2.py3-none-any.whl", hash = "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3"},
+    {file = "certifi-2019.11.28.tar.gz", hash = "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"},
+]
+cffi = [
+    {file = "cffi-1.13.2-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:3c9fff570f13480b201e9ab69453108f6d98244a7f495e91b6c654a47486ba43"},
+    {file = "cffi-1.13.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:2c5e309ec482556397cb21ede0350c5e82f0eb2621de04b2633588d118da4396"},
+    {file = "cffi-1.13.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:19db0cdd6e516f13329cba4903368bff9bb5a9331d3410b1b448daaadc495e54"},
+    {file = "cffi-1.13.2-cp27-cp27m-win32.whl", hash = "sha256:5c4fae4e9cdd18c82ba3a134be256e98dc0596af1e7285a3d2602c97dcfa5159"},
+    {file = "cffi-1.13.2-cp27-cp27m-win_amd64.whl", hash = "sha256:32a262e2b90ffcfdd97c7a5e24a6012a43c61f1f5a57789ad80af1d26c6acd97"},
+    {file = "cffi-1.13.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:4a43c91840bda5f55249413037b7a9b79c90b1184ed504883b72c4df70778579"},
+    {file = "cffi-1.13.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:8169cf44dd8f9071b2b9248c35fc35e8677451c52f795daa2bb4643f32a540bc"},
+    {file = "cffi-1.13.2-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:71a608532ab3bd26223c8d841dde43f3516aa5d2bf37b50ac410bb5e99053e8f"},
+    {file = "cffi-1.13.2-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:7f627141a26b551bdebbc4855c1157feeef18241b4b8366ed22a5c7d672ef858"},
+    {file = "cffi-1.13.2-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:0b49274afc941c626b605fb59b59c3485c17dc776dc3cc7cc14aca74cc19cc42"},
+    {file = "cffi-1.13.2-cp34-cp34m-win32.whl", hash = "sha256:4424e42199e86b21fc4db83bd76909a6fc2a2aefb352cb5414833c030f6ed71b"},
+    {file = "cffi-1.13.2-cp34-cp34m-win_amd64.whl", hash = "sha256:7d4751da932caaec419d514eaa4215eaf14b612cff66398dd51129ac22680b20"},
+    {file = "cffi-1.13.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:ccb032fda0873254380aa2bfad2582aedc2959186cce61e3a17abc1a55ff89c3"},
+    {file = "cffi-1.13.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:dcd65317dd15bc0451f3e01c80da2216a31916bdcffd6221ca1202d96584aa25"},
+    {file = "cffi-1.13.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:135f69aecbf4517d5b3d6429207b2dff49c876be724ac0c8bf8e1ea99df3d7e5"},
+    {file = "cffi-1.13.2-cp35-cp35m-win32.whl", hash = "sha256:7b93a885bb13073afb0aa73ad82059a4c41f4b7d8eb8368980448b52d4c7dc2c"},
+    {file = "cffi-1.13.2-cp35-cp35m-win_amd64.whl", hash = "sha256:e570d3ab32e2c2861c4ebe6ffcad6a8abf9347432a37608fe1fbd157b3f0036b"},
+    {file = "cffi-1.13.2-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:0e3ea92942cb1168e38c05c1d56b0527ce31f1a370f6117f1d490b8dcd6b3a04"},
+    {file = "cffi-1.13.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5ecfa867dea6fabe2a58f03ac9186ea64da1386af2159196da51c4904e11d652"},
+    {file = "cffi-1.13.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:291f7c42e21d72144bb1c1b2e825ec60f46d0a7468f5346841860454c7aa8f57"},
+    {file = "cffi-1.13.2-cp36-cp36m-win32.whl", hash = "sha256:62f2578358d3a92e4ab2d830cd1c2049c9c0d0e6d3c58322993cc341bdeac22e"},
+    {file = "cffi-1.13.2-cp36-cp36m-win_amd64.whl", hash = "sha256:fd43a88e045cf992ed09fa724b5315b790525f2676883a6ea64e3263bae6549d"},
+    {file = "cffi-1.13.2-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:d75c461e20e29afc0aee7172a0950157c704ff0dd51613506bd7d82b718e7410"},
+    {file = "cffi-1.13.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:aa00d66c0fab27373ae44ae26a66a9e43ff2a678bf63a9c7c1a9a4d61172827a"},
+    {file = "cffi-1.13.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2e9c80a8c3344a92cb04661115898a9129c074f7ab82011ef4b612f645939f12"},
+    {file = "cffi-1.13.2-cp37-cp37m-win32.whl", hash = "sha256:d754f39e0d1603b5b24a7f8484b22d2904fa551fe865fd0d4c3332f078d20d4e"},
+    {file = "cffi-1.13.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6471a82d5abea994e38d2c2abc77164b4f7fbaaf80261cb98394d5793f11b12a"},
+    {file = "cffi-1.13.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74a1d8c85fb6ff0b30fbfa8ad0ac23cd601a138f7509dc617ebc65ef305bb98d"},
+    {file = "cffi-1.13.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:415bdc7ca8c1c634a6d7163d43fb0ea885a07e9618a64bda407e04b04333b7db"},
+    {file = "cffi-1.13.2-cp38-cp38-win32.whl", hash = "sha256:6d4f18483d040e18546108eb13b1dfa1000a089bcf8529e30346116ea6240506"},
+    {file = "cffi-1.13.2-cp38-cp38-win_amd64.whl", hash = "sha256:2781e9ad0e9d47173c0093321bb5435a9dfae0ed6a762aabafa13108f5f7b2ba"},
+    {file = "cffi-1.13.2.tar.gz", hash = "sha256:599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346"},
+]
+cfgv = [
+    {file = "cfgv-2.0.1-py2.py3-none-any.whl", hash = "sha256:fbd93c9ab0a523bf7daec408f3be2ed99a980e20b2d19b50fc184ca6b820d289"},
+    {file = "cfgv-2.0.1.tar.gz", hash = "sha256:edb387943b665bf9c434f717bf630fa78aecd53d5900d2e05da6ad6048553144"},
+]
+chardet = [
+    {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"},
+    {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"},
+]
+cleo = [
+    {file = "cleo-0.7.6-py2.py3-none-any.whl", hash = "sha256:9443d67e5b2da79b32d820ae41758dd6a25618345cb10b9a022a695e26b291b9"},
+    {file = "cleo-0.7.6.tar.gz", hash = "sha256:99cf342406f3499cec43270fcfaf93c126c5164092eca201dfef0f623360b409"},
+]
+click = [
+    {file = "Click-7.0-py2.py3-none-any.whl", hash = "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13"},
+    {file = "Click-7.0.tar.gz", hash = "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"},
+]
+clikit = [
+    {file = "clikit-0.4.1-py2.py3-none-any.whl", hash = "sha256:80b0bfee42310a715773dded69590c4c33fa9fc9a351fa7c262cb67f21d0758f"},
+    {file = "clikit-0.4.1.tar.gz", hash = "sha256:8ae4766b974d7b1983e39d501da9a0aadf118a907a0c9b50714d027c8b59ea81"},
+]
+colorama = [
+    {file = "colorama-0.4.1-py2.py3-none-any.whl", hash = "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"},
+    {file = "colorama-0.4.1.tar.gz", hash = "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d"},
+    {file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"},
+    {file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"},
+]
+configparser = [
+    {file = "configparser-4.0.2-py2.py3-none-any.whl", hash = "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c"},
+    {file = "configparser-4.0.2.tar.gz", hash = "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"},
+]
+contextlib2 = [
+    {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"},
+    {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"},
+]
+coverage = [
+    {file = "coverage-4.5.4-cp26-cp26m-macosx_10_12_x86_64.whl", hash = "sha256:eee64c616adeff7db37cc37da4180a3a5b6177f5c46b187894e633f088fb5b28"},
+    {file = "coverage-4.5.4-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:ef824cad1f980d27f26166f86856efe11eff9912c4fed97d3804820d43fa550c"},
+    {file = "coverage-4.5.4-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:9a334d6c83dfeadae576b4d633a71620d40d1c379129d587faa42ee3e2a85cce"},
+    {file = "coverage-4.5.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:7494b0b0274c5072bddbfd5b4a6c6f18fbbe1ab1d22a41e99cd2d00c8f96ecfe"},
+    {file = "coverage-4.5.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:826f32b9547c8091679ff292a82aca9c7b9650f9fda3e2ca6bf2ac905b7ce888"},
+    {file = "coverage-4.5.4-cp27-cp27m-win32.whl", hash = "sha256:63a9a5fc43b58735f65ed63d2cf43508f462dc49857da70b8980ad78d41d52fc"},
+    {file = "coverage-4.5.4-cp27-cp27m-win_amd64.whl", hash = "sha256:e2ede7c1d45e65e209d6093b762e98e8318ddeff95317d07a27a2140b80cfd24"},
+    {file = "coverage-4.5.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:dd579709a87092c6dbee09d1b7cfa81831040705ffa12a1b248935274aee0437"},
+    {file = "coverage-4.5.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:08907593569fe59baca0bf152c43f3863201efb6113ecb38ce7e97ce339805a6"},
+    {file = "coverage-4.5.4-cp33-cp33m-macosx_10_10_x86_64.whl", hash = "sha256:6b62544bb68106e3f00b21c8930e83e584fdca005d4fffd29bb39fb3ffa03cb5"},
+    {file = "coverage-4.5.4-cp34-cp34m-macosx_10_12_x86_64.whl", hash = "sha256:331cb5115673a20fb131dadd22f5bcaf7677ef758741312bee4937d71a14b2ef"},
+    {file = "coverage-4.5.4-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:bf1ef9eb901113a9805287e090452c05547578eaab1b62e4ad456fcc049a9b7e"},
+    {file = "coverage-4.5.4-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:386e2e4090f0bc5df274e720105c342263423e77ee8826002dcffe0c9533dbca"},
+    {file = "coverage-4.5.4-cp34-cp34m-win32.whl", hash = "sha256:fa964bae817babece5aa2e8c1af841bebb6d0b9add8e637548809d040443fee0"},
+    {file = "coverage-4.5.4-cp34-cp34m-win_amd64.whl", hash = "sha256:df6712284b2e44a065097846488f66840445eb987eb81b3cc6e4149e7b6982e1"},
+    {file = "coverage-4.5.4-cp35-cp35m-macosx_10_12_x86_64.whl", hash = "sha256:efc89291bd5a08855829a3c522df16d856455297cf35ae827a37edac45f466a7"},
+    {file = "coverage-4.5.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:e4ef9c164eb55123c62411f5936b5c2e521b12356037b6e1c2617cef45523d47"},
+    {file = "coverage-4.5.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:ff37757e068ae606659c28c3bd0d923f9d29a85de79bf25b2b34b148473b5025"},
+    {file = "coverage-4.5.4-cp35-cp35m-win32.whl", hash = "sha256:bf0a7aed7f5521c7ca67febd57db473af4762b9622254291fbcbb8cd0ba5e33e"},
+    {file = "coverage-4.5.4-cp35-cp35m-win_amd64.whl", hash = "sha256:19e4df788a0581238e9390c85a7a09af39c7b539b29f25c89209e6c3e371270d"},
+    {file = "coverage-4.5.4-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:60851187677b24c6085248f0a0b9b98d49cba7ecc7ec60ba6b9d2e5574ac1ee9"},
+    {file = "coverage-4.5.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:245388cda02af78276b479f299bbf3783ef0a6a6273037d7c60dc73b8d8d7755"},
+    {file = "coverage-4.5.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c0afd27bc0e307a1ffc04ca5ec010a290e49e3afbe841c5cafc5c5a80ecd81c9"},
+    {file = "coverage-4.5.4-cp36-cp36m-win32.whl", hash = "sha256:6ba744056423ef8d450cf627289166da65903885272055fb4b5e113137cfa14f"},
+    {file = "coverage-4.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:af7ed8a8aa6957aac47b4268631fa1df984643f07ef00acd374e456364b373f5"},
+    {file = "coverage-4.5.4-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:3a794ce50daee01c74a494919d5ebdc23d58873747fa0e288318728533a3e1ca"},
+    {file = "coverage-4.5.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0be0f1ed45fc0c185cfd4ecc19a1d6532d72f86a2bac9de7e24541febad72650"},
+    {file = "coverage-4.5.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:eca2b7343524e7ba246cab8ff00cab47a2d6d54ada3b02772e908a45675722e2"},
+    {file = "coverage-4.5.4-cp37-cp37m-win32.whl", hash = "sha256:93715dffbcd0678057f947f496484e906bf9509f5c1c38fc9ba3922893cda5f5"},
+    {file = "coverage-4.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:23cc09ed395b03424d1ae30dcc292615c1372bfba7141eb85e11e50efaa6b351"},
+    {file = "coverage-4.5.4-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:141f08ed3c4b1847015e2cd62ec06d35e67a3ac185c26f7635f4406b90afa9c5"},
+    {file = "coverage-4.5.4.tar.gz", hash = "sha256:e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c"},
+]
+cryptography = [
+    {file = "cryptography-2.8-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:fb81c17e0ebe3358486cd8cc3ad78adbae58af12fc2bf2bc0bb84e8090fa5ce8"},
+    {file = "cryptography-2.8-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:44ff04138935882fef7c686878e1c8fd80a723161ad6a98da31e14b7553170c2"},
+    {file = "cryptography-2.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:369d2346db5934345787451504853ad9d342d7f721ae82d098083e1f49a582ad"},
+    {file = "cryptography-2.8-cp27-cp27m-win32.whl", hash = "sha256:df6b4dca2e11865e6cfbfb708e800efb18370f5a46fd601d3755bc7f85b3a8a2"},
+    {file = "cryptography-2.8-cp27-cp27m-win_amd64.whl", hash = "sha256:7f09806ed4fbea8f51585231ba742b58cbcfbfe823ea197d8c89a5e433c7e912"},
+    {file = "cryptography-2.8-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:58363dbd966afb4f89b3b11dfb8ff200058fbc3b947507675c19ceb46104b48d"},
+    {file = "cryptography-2.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6ec280fb24d27e3d97aa731e16207d58bd8ae94ef6eab97249a2afe4ba643d42"},
+    {file = "cryptography-2.8-cp34-abi3-macosx_10_6_intel.whl", hash = "sha256:b43f53f29816ba1db8525f006fa6f49292e9b029554b3eb56a189a70f2a40879"},
+    {file = "cryptography-2.8-cp34-abi3-manylinux1_x86_64.whl", hash = "sha256:7270a6c29199adc1297776937a05b59720e8a782531f1f122f2eb8467f9aab4d"},
+    {file = "cryptography-2.8-cp34-abi3-manylinux2010_x86_64.whl", hash = "sha256:de96157ec73458a7f14e3d26f17f8128c959084931e8997b9e655a39c8fde9f9"},
+    {file = "cryptography-2.8-cp34-cp34m-win32.whl", hash = "sha256:02079a6addc7b5140ba0825f542c0869ff4df9a69c360e339ecead5baefa843c"},
+    {file = "cryptography-2.8-cp34-cp34m-win_amd64.whl", hash = "sha256:b0de590a8b0979649ebeef8bb9f54394d3a41f66c5584fff4220901739b6b2f0"},
+    {file = "cryptography-2.8-cp35-cp35m-win32.whl", hash = "sha256:ecadccc7ba52193963c0475ac9f6fa28ac01e01349a2ca48509667ef41ffd2cf"},
+    {file = "cryptography-2.8-cp35-cp35m-win_amd64.whl", hash = "sha256:90df0cc93e1f8d2fba8365fb59a858f51a11a394d64dbf3ef844f783844cc793"},
+    {file = "cryptography-2.8-cp36-cp36m-win32.whl", hash = "sha256:1df22371fbf2004c6f64e927668734070a8953362cd8370ddd336774d6743595"},
+    {file = "cryptography-2.8-cp36-cp36m-win_amd64.whl", hash = "sha256:a518c153a2b5ed6b8cc03f7ae79d5ffad7315ad4569b2d5333a13c38d64bd8d7"},
+    {file = "cryptography-2.8-cp37-cp37m-win32.whl", hash = "sha256:4b1030728872c59687badcca1e225a9103440e467c17d6d1730ab3d2d64bfeff"},
+    {file = "cryptography-2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:d31402aad60ed889c7e57934a03477b572a03af7794fa8fb1780f21ea8f6551f"},
+    {file = "cryptography-2.8-cp38-cp38-win32.whl", hash = "sha256:73fd30c57fa2d0a1d7a49c561c40c2f79c7d6c374cc7750e9ac7c99176f6428e"},
+    {file = "cryptography-2.8-cp38-cp38-win_amd64.whl", hash = "sha256:971221ed40f058f5662a604bd1ae6e4521d84e6cad0b7b170564cc34169c8f13"},
+    {file = "cryptography-2.8.tar.gz", hash = "sha256:3cda1f0ed8747339bbdf71b9f38ca74c7b592f24f65cdb3ab3765e4b02871651"},
+]
+entrypoints = [
+    {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
+    {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"},
+]
+enum34 = [
+    {file = "enum34-1.1.6-py2-none-any.whl", hash = "sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79"},
+    {file = "enum34-1.1.6-py3-none-any.whl", hash = "sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a"},
+    {file = "enum34-1.1.6.tar.gz", hash = "sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"},
+    {file = "enum34-1.1.6.zip", hash = "sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850"},
+]
+filelock = [
+    {file = "filelock-3.0.12-py3-none-any.whl", hash = "sha256:929b7d63ec5b7d6b71b0fa5ac14e030b3f70b75747cef1b10da9b879fef15836"},
+    {file = "filelock-3.0.12.tar.gz", hash = "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59"},
+]
+funcsigs = [
+    {file = "funcsigs-1.0.2-py2.py3-none-any.whl", hash = "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca"},
+    {file = "funcsigs-1.0.2.tar.gz", hash = "sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"},
+]
+functools32 = [
+    {file = "functools32-3.2.3-2.tar.gz", hash = "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"},
+    {file = "functools32-3.2.3-2.zip", hash = "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0"},
+]
+futures = [
+    {file = "futures-3.3.0-py2-none-any.whl", hash = "sha256:49b3f5b064b6e3afc3316421a3f25f66c137ae88f068abbf72830170033c5e16"},
+    {file = "futures-3.3.0.tar.gz", hash = "sha256:7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"},
+]
+glob2 = [
+    {file = "glob2-0.6.tar.gz", hash = "sha256:f5b0a686ff21f820c4d3f0c4edd216704cea59d79d00fa337e244a2f2ff83ed6"},
+]
+html5lib = [
+    {file = "html5lib-1.0.1-py2.py3-none-any.whl", hash = "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3"},
+    {file = "html5lib-1.0.1.tar.gz", hash = "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736"},
+]
+httpretty = [
+    {file = "httpretty-0.9.7.tar.gz", hash = "sha256:66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe"},
+]
+identify = [
+    {file = "identify-1.4.8-py2.py3-none-any.whl", hash = "sha256:9e7521e9abeaede4d2d1092a106e418c65ddf6b3182b43930bcb3c8cfb974488"},
+    {file = "identify-1.4.8.tar.gz", hash = "sha256:7782115794ec28b011702815d9f5e532244560cd2bf0789c4f09381d43befd90"},
+]
+idna = [
+    {file = "idna-2.8-py2.py3-none-any.whl", hash = "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"},
+    {file = "idna-2.8.tar.gz", hash = "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"},
+]
+importlib-metadata = [
+    {file = "importlib_metadata-0.23-py2.py3-none-any.whl", hash = "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af"},
+    {file = "importlib_metadata-0.23.tar.gz", hash = "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26"},
+]
+importlib-resources = [
+    {file = "importlib_resources-1.0.2-py2.py3-none-any.whl", hash = "sha256:6e2783b2538bd5a14678284a3962b0660c715e5a0f10243fd5e00a4b5974f50b"},
+    {file = "importlib_resources-1.0.2.tar.gz", hash = "sha256:d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078"},
+]
+ipaddress = [
+    {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"},
+    {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
+]
+jeepney = [
+    {file = "jeepney-0.4.1-py3-none-any.whl", hash = "sha256:f6a3f93464a0cf052f4e87da3c8b3ed1e27696758fb9739c63d3a74d9a1b6774"},
+    {file = "jeepney-0.4.1.tar.gz", hash = "sha256:13806f91a96e9b2623fd2a81b950d763ee471454aafd9eb6d75dbe7afce428fb"},
+]
+jinja2 = [
+    {file = "Jinja2-2.10.3-py2.py3-none-any.whl", hash = "sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f"},
+    {file = "Jinja2-2.10.3.tar.gz", hash = "sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de"},
+]
+jsonschema = [
+    {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"},
+    {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"},
+]
+keyring = [
+    {file = "keyring-18.0.1-py2.py3-none-any.whl", hash = "sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6"},
+    {file = "keyring-18.0.1.tar.gz", hash = "sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838"},
+    {file = "keyring-19.3.0-py2.py3-none-any.whl", hash = "sha256:9b80469783d3f6106bce1d389c6b8b20c8d4d739943b1b8cd0ddc2a45d065f9d"},
+    {file = "keyring-19.3.0.tar.gz", hash = "sha256:ee3d35b7f1ac3cb69e9a1e4323534649d3ab2fea402738a77e4250c152970fed"},
+]
+livereload = [
+    {file = "livereload-2.6.1-py2.py3-none-any.whl", hash = "sha256:78d55f2c268a8823ba499305dcac64e28ddeb9a92571e12d543cd304faf5817b"},
+    {file = "livereload-2.6.1.tar.gz", hash = "sha256:89254f78d7529d7ea0a3417d224c34287ebfe266b05e67e51facaf82c27f0f66"},
+]
+lockfile = [
+    {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"},
+    {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"},
+]
+markdown = [
+    {file = "Markdown-3.0.1-py2.py3-none-any.whl", hash = "sha256:c00429bd503a47ec88d5e30a751e147dcb4c6889663cd3e2ba0afe858e009baa"},
+    {file = "Markdown-3.0.1.tar.gz", hash = "sha256:d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c"},
+    {file = "Markdown-3.1.1-py2.py3-none-any.whl", hash = "sha256:56a46ac655704b91e5b7e6326ce43d5ef72411376588afa1dd90e881b83c7e8c"},
+    {file = "Markdown-3.1.1.tar.gz", hash = "sha256:2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a"},
+]
+markdown-include = [
+    {file = "markdown-include-0.5.1.tar.gz", hash = "sha256:72a45461b589489a088753893bc95c5fa5909936186485f4ed55caa57d10250f"},
+]
+markupsafe = [
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
+    {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
+]
+mkdocs = [
+    {file = "mkdocs-1.0.4-py2.py3-none-any.whl", hash = "sha256:8cc8b38325456b9e942c981a209eaeb1e9f3f77b493ad755bfef889b9c8d356a"},
+    {file = "mkdocs-1.0.4.tar.gz", hash = "sha256:17d34329aad75d5de604b9ed4e31df3a4d235afefdc46ce7b1964fddb2e1e939"},
+]
+mock = [
+    {file = "mock-3.0.5-py2.py3-none-any.whl", hash = "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8"},
+    {file = "mock-3.0.5.tar.gz", hash = "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3"},
+]
+more-itertools = [
+    {file = "more-itertools-5.0.0.tar.gz", hash = "sha256:38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4"},
+    {file = "more_itertools-5.0.0-py2-none-any.whl", hash = "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc"},
+    {file = "more_itertools-5.0.0-py3-none-any.whl", hash = "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9"},
+    {file = "more-itertools-7.2.0.tar.gz", hash = "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832"},
+    {file = "more_itertools-7.2.0-py3-none-any.whl", hash = "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"},
+    {file = "more-itertools-8.0.2.tar.gz", hash = "sha256:b84b238cce0d9adad5ed87e745778d20a3f8487d0f0cb8b8a586816c7496458d"},
+    {file = "more_itertools-8.0.2-py3-none-any.whl", hash = "sha256:c833ef592a0324bcc6a60e48440da07645063c453880c9477ceb22490aec1564"},
+]
+msgpack = [
+    {file = "msgpack-0.6.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:774f5edc3475917cd95fe593e625d23d8580f9b48b570d8853d06cac171cd170"},
+    {file = "msgpack-0.6.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:a06efd0482a1942aad209a6c18321b5e22d64eb531ea20af138b28172d8f35ba"},
+    {file = "msgpack-0.6.2-cp27-cp27m-win32.whl", hash = "sha256:8a3ada8401736df2bf497f65589293a86c56e197a80ae7634ec2c3150a2f5082"},
+    {file = "msgpack-0.6.2-cp27-cp27m-win_amd64.whl", hash = "sha256:b8b4bd3dafc7b92608ae5462add1c8cc881851c2d4f5d8977fdea5b081d17f21"},
+    {file = "msgpack-0.6.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:24149a75643aeaa81ece4259084d11b792308a6cf74e796cbb35def94c89a25a"},
+    {file = "msgpack-0.6.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:757bd71a9b89e4f1db0622af4436d403e742506dbea978eba566815dc65ec895"},
+    {file = "msgpack-0.6.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:32fea0ea3cd1ef820286863a6202dcfd62a539b8ec3edcbdff76068a8c2cc6ce"},
+    {file = "msgpack-0.6.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:db7ff14abc73577b0bcbcf73ecff97d3580ecaa0fc8724babce21fdf3fe08ef6"},
+    {file = "msgpack-0.6.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:187794cd1eb73acccd528247e3565f6760bd842d7dc299241f830024a7dd5610"},
+    {file = "msgpack-0.6.2-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:b24afc52e18dccc8c175de07c1d680bdf315844566f4952b5bedb908894bec79"},
+    {file = "msgpack-0.6.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:355f7fd0f90134229eaeefaee3cf42e0afc8518e8f3cd4b25f541a7104dcb8f9"},
+    {file = "msgpack-0.6.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:76df51492bc6fa6cc8b65d09efdb67cbba3cbfe55004c3afc81352af92b4a43c"},
+    {file = "msgpack-0.6.2-cp36-cp36m-win32.whl", hash = "sha256:f0f47bafe9c9b8ed03e19a100a743662dd8c6d0135e684feea720a0d0046d116"},
+    {file = "msgpack-0.6.2-cp36-cp36m-win_amd64.whl", hash = "sha256:c6e5024fc0cdf7f83b6624850309ddd7e06c48a75fa0d1c5173de4d93300eb19"},
+    {file = "msgpack-0.6.2-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:30b88c47e0cdb6062daed88ca283b0d84fa0d2ad6c273aa0788152a1c643e408"},
+    {file = "msgpack-0.6.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:229a0ccdc39e9b6c6d1033cd8aecd9c296823b6c87f0de3943c59b8bc7c64bee"},
+    {file = "msgpack-0.6.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4abdb88a9b67e64810fb54b0c24a1fd76b12297b4f7a1467d85a14dd8367191a"},
+    {file = "msgpack-0.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dedf54d72d9e7b6d043c244c8213fe2b8bbfe66874b9a65b39c4cc892dd99dd4"},
+    {file = "msgpack-0.6.2-cp37-cp37m-win32.whl", hash = "sha256:0cc7ca04e575ba34fea7cfcd76039f55def570e6950e4155a4174368142c8e1b"},
+    {file = "msgpack-0.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:1904b7cb65342d0998b75908304a03cb004c63ef31e16c8c43fee6b989d7f0d7"},
+    {file = "msgpack-0.6.2.tar.gz", hash = "sha256:ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830"},
+]
+nodeenv = [
+    {file = "nodeenv-1.3.3.tar.gz", hash = "sha256:ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a"},
+]
+packaging = [
+    {file = "packaging-19.2-py2.py3-none-any.whl", hash = "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108"},
+    {file = "packaging-19.2.tar.gz", hash = "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47"},
+]
+pastel = [
+    {file = "pastel-0.1.1-py2.py3-none-any.whl", hash = "sha256:a904e1659512cc9880a028f66de77cc813a4c32f7ceb68725cbc8afad57ef7ef"},
+    {file = "pastel-0.1.1.tar.gz", hash = "sha256:bf3b1901b2442ea0d8ab9a390594e5b0c9584709d543a3113506fe8b28cbace3"},
+]
+pathlib2 = [
+    {file = "pathlib2-2.3.5-py2.py3-none-any.whl", hash = "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db"},
+    {file = "pathlib2-2.3.5.tar.gz", hash = "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"},
+]
+pathspec = [
+    {file = "pathspec-0.6.0.tar.gz", hash = "sha256:e285ccc8b0785beadd4c18e5708b12bb8fcf529a1e61215b3feff1d1e559ea5c"},
+]
+pep562 = [
+    {file = "pep562-1.0-py2.py3-none-any.whl", hash = "sha256:d2a48b178ebf5f8dd31709cc26a19808ef794561fa2fe50ea01ea2bad4d667ef"},
+    {file = "pep562-1.0.tar.gz", hash = "sha256:58cb1cc9ee63d93e62b4905a50357618d526d289919814bea1f0da8f53b79395"},
+]
+pexpect = [
+    {file = "pexpect-4.7.0-py2.py3-none-any.whl", hash = "sha256:2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1"},
+    {file = "pexpect-4.7.0.tar.gz", hash = "sha256:9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb"},
+]
+pkginfo = [
+    {file = "pkginfo-1.5.0.1-py2.py3-none-any.whl", hash = "sha256:a6d9e40ca61ad3ebd0b72fbadd4fba16e4c0e4df0428c041e01e06eb6ee71f32"},
+    {file = "pkginfo-1.5.0.1.tar.gz", hash = "sha256:7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb"},
+]
+pluggy = [
+    {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
+    {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
+]
+pre-commit = [
+    {file = "pre_commit-1.18.3-py2.py3-none-any.whl", hash = "sha256:fa78ff96e8e9ac94c748388597693f18b041a181c94a4f039ad20f45287ba44a"},
+    {file = "pre_commit-1.18.3.tar.gz", hash = "sha256:1d3c0587bda7c4e537a46c27f2c84aa006acc18facf9970bf947df596ce91f3f"},
+    {file = "pre_commit-1.20.0-py2.py3-none-any.whl", hash = "sha256:c2e4810d2d3102d354947907514a78c5d30424d299dc0fe48f5aa049826e9b50"},
+    {file = "pre_commit-1.20.0.tar.gz", hash = "sha256:9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e"},
+]
+ptyprocess = [
+    {file = "ptyprocess-0.6.0-py2.py3-none-any.whl", hash = "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"},
+    {file = "ptyprocess-0.6.0.tar.gz", hash = "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"},
+]
+py = [
+    {file = "py-1.8.0-py2.py3-none-any.whl", hash = "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa"},
+    {file = "py-1.8.0.tar.gz", hash = "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"},
+]
+pycparser = [
+    {file = "pycparser-2.19.tar.gz", hash = "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"},
+]
+pygments = [
+    {file = "Pygments-2.3.1-py2.py3-none-any.whl", hash = "sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d"},
+    {file = "Pygments-2.3.1.tar.gz", hash = "sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a"},
+    {file = "Pygments-2.5.2-py2.py3-none-any.whl", hash = "sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b"},
+    {file = "Pygments-2.5.2.tar.gz", hash = "sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"},
+]
+pygments-github-lexers = [
+    {file = "pygments-github-lexers-0.0.5.tar.gz", hash = "sha256:aaca57e77cd6fcfce8d6ee97a998962eebf7fbb810519a8ebde427c62823e133"},
+    {file = "pygments_github_lexers-0.0.5-py3.4.egg", hash = "sha256:0f9e9fb607d351c127a1e55e82a6eb491ed1fc11b2d6a0444ba217dc6d1f82c1"},
+]
+pylev = [
+    {file = "pylev-1.3.0-py2.py3-none-any.whl", hash = "sha256:1d29a87beb45ebe1e821e7a3b10da2b6b2f4c79b43f482c2df1a1f748a6e114e"},
+    {file = "pylev-1.3.0.tar.gz", hash = "sha256:063910098161199b81e453025653ec53556c1be7165a9b7c50be2f4d57eae1c3"},
+]
+pymdown-extensions = [
+    {file = "pymdown-extensions-6.0.tar.gz", hash = "sha256:6cf0cf36b5a03b291ace22dc2f320f4789ce56fbdb6635a3be5fadbf5d7694dd"},
+    {file = "pymdown_extensions-6.0-py2.py3-none-any.whl", hash = "sha256:25b0a7967fa697b5035e23340a48594e3e93acb10b06d74574218ace3347d1df"},
+    {file = "pymdown-extensions-6.2.tar.gz", hash = "sha256:27953f071d37b63d418738f75d847d824c0e4430e93f085cfdd9f8dc08a8c5c3"},
+    {file = "pymdown_extensions-6.2-py2.py3-none-any.whl", hash = "sha256:328b9e114925729e0789558a94325be8e7ca9e0323ed2a2b705d9bc1de4d2716"},
+]
+pyparsing = [
+    {file = "pyparsing-2.4.5-py2.py3-none-any.whl", hash = "sha256:20f995ecd72f2a1f4bf6b072b63b22e2eb457836601e76d6e5dfcd75436acc1f"},
+    {file = "pyparsing-2.4.5.tar.gz", hash = "sha256:4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a"},
+]
+pyrsistent = [
+    {file = "pyrsistent-0.14.11.tar.gz", hash = "sha256:3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2"},
+]
+pytest = [
+    {file = "pytest-4.6.7-py2.py3-none-any.whl", hash = "sha256:65e92898fb5b61d0a1d7319c3e6dcf97e599e331cfdc2b27f20c0d87ece19239"},
+    {file = "pytest-4.6.7.tar.gz", hash = "sha256:9ea149066f566c943d3122f4b1cf1b577cab73189d11f490b54703fa5fa9df50"},
+]
+pytest-cov = [
+    {file = "pytest-cov-2.8.1.tar.gz", hash = "sha256:cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b"},
+    {file = "pytest_cov-2.8.1-py2.py3-none-any.whl", hash = "sha256:cdbdef4f870408ebdbfeb44e63e07eb18bb4619fae852f6e760645fa36172626"},
+]
+pytest-mock = [
+    {file = "pytest-mock-1.13.0.tar.gz", hash = "sha256:e24a911ec96773022ebcc7030059b57cd3480b56d4f5d19b7c370ec635e6aed5"},
+    {file = "pytest_mock-1.13.0-py2.py3-none-any.whl", hash = "sha256:67e414b3caef7bff6fc6bd83b22b5bc39147e4493f483c2679bc9d4dc485a94d"},
+]
+pytest-sugar = [
+    {file = "pytest-sugar-0.9.2.tar.gz", hash = "sha256:fcd87a74b2bce5386d244b49ad60549bfbc4602527797fac167da147983f58ab"},
+    {file = "pytest_sugar-0.9.2-py2.py3-none-any.whl", hash = "sha256:26cf8289fe10880cbbc130bd77398c4e6a8b936d8393b116a5c16121d95ab283"},
+]
+pywin32-ctypes = [
+    {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"},
+    {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"},
+]
+pyyaml = [
+    {file = "PyYAML-5.2-cp27-cp27m-win32.whl", hash = "sha256:35ace9b4147848cafac3db142795ee42deebe9d0dad885ce643928e88daebdcc"},
+    {file = "PyYAML-5.2-cp27-cp27m-win_amd64.whl", hash = "sha256:ebc4ed52dcc93eeebeae5cf5deb2ae4347b3a81c3fa12b0b8c976544829396a4"},
+    {file = "PyYAML-5.2-cp35-cp35m-win32.whl", hash = "sha256:38a4f0d114101c58c0f3a88aeaa44d63efd588845c5a2df5290b73db8f246d15"},
+    {file = "PyYAML-5.2-cp35-cp35m-win_amd64.whl", hash = "sha256:483eb6a33b671408c8529106df3707270bfacb2447bf8ad856a4b4f57f6e3075"},
+    {file = "PyYAML-5.2-cp36-cp36m-win32.whl", hash = "sha256:7f38e35c00e160db592091751d385cd7b3046d6d51f578b29943225178257b31"},
+    {file = "PyYAML-5.2-cp36-cp36m-win_amd64.whl", hash = "sha256:0e7f69397d53155e55d10ff68fdfb2cf630a35e6daf65cf0bdeaf04f127c09dc"},
+    {file = "PyYAML-5.2-cp37-cp37m-win32.whl", hash = "sha256:e4c015484ff0ff197564917b4b4246ca03f411b9bd7f16e02a2f586eb48b6d04"},
+    {file = "PyYAML-5.2-cp37-cp37m-win_amd64.whl", hash = "sha256:4b6be5edb9f6bb73680f5bf4ee08ff25416d1400fbd4535fe0069b2994da07cd"},
+    {file = "PyYAML-5.2-cp38-cp38-win32.whl", hash = "sha256:8100c896ecb361794d8bfdb9c11fce618c7cf83d624d73d5ab38aef3bc82d43f"},
+    {file = "PyYAML-5.2-cp38-cp38-win_amd64.whl", hash = "sha256:2e9f0b7c5914367b0916c3c104a024bb68f269a486b9d04a2e8ac6f6597b7803"},
+    {file = "PyYAML-5.2.tar.gz", hash = "sha256:c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c"},
+]
+regex = [
+    {file = "regex-2019.12.9-cp27-none-win32.whl", hash = "sha256:40b7d1291a56897927e08bb973f8c186c2feb14c7f708bfe7aaee09483e85a20"},
+    {file = "regex-2019.12.9-cp27-none-win_amd64.whl", hash = "sha256:c203c9ee755e9656d0af8fab82754d5a664ebaf707b3f883c7eff6a3dd5151cf"},
+    {file = "regex-2019.12.9-cp35-none-win32.whl", hash = "sha256:719978a9145d59fc78509ea1d1bb74243f93583ef2a34dcc5623cf8118ae9726"},
+    {file = "regex-2019.12.9-cp35-none-win_amd64.whl", hash = "sha256:75cf3796f89f75f83207a5c6a6e14eaf57e0369ef0ffff8e22bf36bbcfa0f1de"},
+    {file = "regex-2019.12.9-cp36-none-win32.whl", hash = "sha256:3dbd8333fd2ebd50977ac8747385a73aa1f546eb6b16fcd83d274470fe11f243"},
+    {file = "regex-2019.12.9-cp36-none-win_amd64.whl", hash = "sha256:ad9e3c7260809c0d1ded100269f78ea0217c0704f1eaaf40a382008461848b45"},
+    {file = "regex-2019.12.9-cp37-none-win32.whl", hash = "sha256:91235c98283d2bddf1a588f0fbc2da8afa37959294bbd18b76297bdf316ba4d6"},
+    {file = "regex-2019.12.9-cp37-none-win_amd64.whl", hash = "sha256:aaffd68c4c1ed891366d5c390081f4bf6337595e76a157baf453603d8e53fbcb"},
+    {file = "regex-2019.12.9-cp38-none-win32.whl", hash = "sha256:e865bc508e316a3a09d36c8621596e6599a203bc54f1cd41020a127ccdac468a"},
+    {file = "regex-2019.12.9-cp38-none-win_amd64.whl", hash = "sha256:77396cf80be8b2a35db863cca4c1a902d88ceeb183adab328b81184e71a5eafe"},
+    {file = "regex-2019.12.9.tar.gz", hash = "sha256:77a3799152951d6d14ae5720ca162c97c64f85d4755da585418eac216b736cad"},
+]
+requests = [
+    {file = "requests-2.21.0-py2.py3-none-any.whl", hash = "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"},
+    {file = "requests-2.21.0.tar.gz", hash = "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"},
+    {file = "requests-2.22.0-py2.py3-none-any.whl", hash = "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"},
+    {file = "requests-2.22.0.tar.gz", hash = "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4"},
+]
+requests-toolbelt = [
+    {file = "requests-toolbelt-0.8.0.tar.gz", hash = "sha256:f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5"},
+    {file = "requests_toolbelt-0.8.0-py2.py3-none-any.whl", hash = "sha256:42c9c170abc2cacb78b8ab23ac957945c7716249206f90874651971a4acff237"},
+]
+scandir = [
+    {file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"},
+    {file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"},
+    {file = "scandir-1.10.0-cp34-cp34m-win32.whl", hash = "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f"},
+    {file = "scandir-1.10.0-cp34-cp34m-win_amd64.whl", hash = "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e"},
+    {file = "scandir-1.10.0-cp35-cp35m-win32.whl", hash = "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f"},
+    {file = "scandir-1.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32"},
+    {file = "scandir-1.10.0-cp36-cp36m-win32.whl", hash = "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022"},
+    {file = "scandir-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4"},
+    {file = "scandir-1.10.0-cp37-cp37m-win32.whl", hash = "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173"},
+    {file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"},
+    {file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"},
+]
+secretstorage = [
+    {file = "SecretStorage-2.3.1.tar.gz", hash = "sha256:3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6"},
+    {file = "SecretStorage-3.1.1-py3-none-any.whl", hash = "sha256:7a119fb52a88e398dbb22a4b3eb39b779bfbace7e4153b7bc6e5954d86282a8a"},
+    {file = "SecretStorage-3.1.1.tar.gz", hash = "sha256:20c797ae48a4419f66f8d28fc221623f11fc45b6828f96bdb1ad9990acb59f92"},
+]
+shellingham = [
+    {file = "shellingham-1.3.1-py2.py3-none-any.whl", hash = "sha256:77d37a4fd287c1e663006f7ecf1b9deca9ad492d0082587bd813c44eb49e4e62"},
+    {file = "shellingham-1.3.1.tar.gz", hash = "sha256:985b23bbd1feae47ca6a6365eacd314d93d95a8a16f8f346945074c28fe6f3e0"},
+]
+six = [
+    {file = "six-1.13.0-py2.py3-none-any.whl", hash = "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd"},
+    {file = "six-1.13.0.tar.gz", hash = "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"},
+]
+subprocess32 = [
+    {file = "subprocess32-3.5.4-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:88e37c1aac5388df41cc8a8456bb49ebffd321a3ad4d70358e3518176de3a56b"},
+    {file = "subprocess32-3.5.4.tar.gz", hash = "sha256:eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d"},
+]
+termcolor = [
+    {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
+]
+toml = [
+    {file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"},
+    {file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},
+    {file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"},
+]
+tomlkit = [
+    {file = "tomlkit-0.5.8-py2.py3-none-any.whl", hash = "sha256:96e6369288571799a3052c1ef93b9de440e1ab751aa045f435b55e9d3bcd0690"},
+    {file = "tomlkit-0.5.8.tar.gz", hash = "sha256:32c10cc16ded7e4101c79f269910658cc2a0be5913f1252121c3cd603051c269"},
+]
+tornado = [
+    {file = "tornado-5.1.1-cp35-cp35m-win32.whl", hash = "sha256:732e836008c708de2e89a31cb2fa6c0e5a70cb60492bee6f1ea1047500feaf7f"},
+    {file = "tornado-5.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:0662d28b1ca9f67108c7e3b77afabfb9c7e87bde174fbda78186ecedc2499a9d"},
+    {file = "tornado-5.1.1-cp36-cp36m-win32.whl", hash = "sha256:8154ec22c450df4e06b35f131adc4f2f3a12ec85981a203301d310abf580500f"},
+    {file = "tornado-5.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:d4b3e5329f572f055b587efc57d29bd051589fb5a43ec8898c77a47ec2fa2bbb"},
+    {file = "tornado-5.1.1-cp37-cp37m-win32.whl", hash = "sha256:e5f2585afccbff22390cddac29849df463b252b711aa2ce7c5f3f342a5b3b444"},
+    {file = "tornado-5.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:8e9d728c4579682e837c92fdd98036bd5cdefa1da2aaf6acf26947e6dd0c01c5"},
+    {file = "tornado-5.1.1.tar.gz", hash = "sha256:4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409"},
+    {file = "tornado-6.0.3-cp35-cp35m-win32.whl", hash = "sha256:c9399267c926a4e7c418baa5cbe91c7d1cf362d505a1ef898fde44a07c9dd8a5"},
+    {file = "tornado-6.0.3-cp35-cp35m-win_amd64.whl", hash = "sha256:398e0d35e086ba38a0427c3b37f4337327231942e731edaa6e9fd1865bbd6f60"},
+    {file = "tornado-6.0.3-cp36-cp36m-win32.whl", hash = "sha256:4e73ef678b1a859f0cb29e1d895526a20ea64b5ffd510a2307b5998c7df24281"},
+    {file = "tornado-6.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:349884248c36801afa19e342a77cc4458caca694b0eda633f5878e458a44cb2c"},
+    {file = "tornado-6.0.3-cp37-cp37m-win32.whl", hash = "sha256:559bce3d31484b665259f50cd94c5c28b961b09315ccd838f284687245f416e5"},
+    {file = "tornado-6.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:abbe53a39734ef4aba061fca54e30c6b4639d3e1f59653f0da37a0003de148c7"},
+    {file = "tornado-6.0.3.tar.gz", hash = "sha256:c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9"},
+]
+tox = [
+    {file = "tox-3.14.0-py2.py3-none-any.whl", hash = "sha256:0bc216b6a2e6afe764476b4a07edf2c1dab99ed82bb146a1130b2e828f5bff5e"},
+    {file = "tox-3.14.0.tar.gz", hash = "sha256:c4f6b319c20ba4913dbfe71ebfd14ff95d1853c4231493608182f66e566ecfe1"},
+    {file = "tox-3.14.1-py2.py3-none-any.whl", hash = "sha256:1d1368ac86e8332f79e2bcef9fefe2b077469f08449eadf0183759b34f3b2070"},
+    {file = "tox-3.14.1.tar.gz", hash = "sha256:bcfa3e40abc1e9b70607b56adfd976fe7dc8286ad56aab44e3151daca7d2d0d0"},
+]
+typed-ast = [
+    {file = "typed_ast-1.4.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e"},
+    {file = "typed_ast-1.4.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b"},
+    {file = "typed_ast-1.4.0-cp35-cp35m-win32.whl", hash = "sha256:630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4"},
+    {file = "typed_ast-1.4.0-cp35-cp35m-win_amd64.whl", hash = "sha256:ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12"},
+    {file = "typed_ast-1.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631"},
+    {file = "typed_ast-1.4.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233"},
+    {file = "typed_ast-1.4.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1"},
+    {file = "typed_ast-1.4.0-cp36-cp36m-win32.whl", hash = "sha256:d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a"},
+    {file = "typed_ast-1.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c"},
+    {file = "typed_ast-1.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a"},
+    {file = "typed_ast-1.4.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e"},
+    {file = "typed_ast-1.4.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d"},
+    {file = "typed_ast-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36"},
+    {file = "typed_ast-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0"},
+    {file = "typed_ast-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fdc1c9bbf79510b76408840e009ed65958feba92a88833cdceecff93ae8fff66"},
+    {file = "typed_ast-1.4.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:7954560051331d003b4e2b3eb822d9dd2e376fa4f6d98fee32f452f52dd6ebb2"},
+    {file = "typed_ast-1.4.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:48e5b1e71f25cfdef98b013263a88d7145879fbb2d5185f2a0c79fa7ebbeae47"},
+    {file = "typed_ast-1.4.0-cp38-cp38-win32.whl", hash = "sha256:1170afa46a3799e18b4c977777ce137bb53c7485379d9706af8a59f2ea1aa161"},
+    {file = "typed_ast-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:838997f4310012cf2e1ad3803bce2f3402e9ffb71ded61b5ee22617b3a7f6b6e"},
+    {file = "typed_ast-1.4.0.tar.gz", hash = "sha256:66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34"},
+]
+typing = [
+    {file = "typing-3.7.4.1-py2-none-any.whl", hash = "sha256:c8cabb5ab8945cd2f54917be357d134db9cc1eb039e59d1606dc1e60cb1d9d36"},
+    {file = "typing-3.7.4.1-py3-none-any.whl", hash = "sha256:f38d83c5a7a7086543a0f649564d661859c5146a85775ab90c0d2f93ffaa9714"},
+    {file = "typing-3.7.4.1.tar.gz", hash = "sha256:91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23"},
+]
+urllib3 = [
+    {file = "urllib3-1.24.3-py2.py3-none-any.whl", hash = "sha256:a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb"},
+    {file = "urllib3-1.24.3.tar.gz", hash = "sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4"},
+    {file = "urllib3-1.25.7-py2.py3-none-any.whl", hash = "sha256:a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293"},
+    {file = "urllib3-1.25.7.tar.gz", hash = "sha256:f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"},
+]
+virtualenv = [
+    {file = "virtualenv-16.7.8-py2.py3-none-any.whl", hash = "sha256:b57776b44f91511866594e477dd10e76a6eb44439cdd7f06dcd30ba4c5bd854f"},
+    {file = "virtualenv-16.7.8.tar.gz", hash = "sha256:116655188441670978117d0ebb6451eb6a7526f9ae0796cc0dee6bd7356909b0"},
+]
+wcwidth = [
+    {file = "wcwidth-0.1.7-py2.py3-none-any.whl", hash = "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"},
+    {file = "wcwidth-0.1.7.tar.gz", hash = "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"},
+]
+webencodings = [
+    {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
+    {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
+]
+zipp = [
+    {file = "zipp-0.6.0-py2.py3-none-any.whl", hash = "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335"},
+    {file = "zipp-0.6.0.tar.gz", hash = "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e"},
+]
diff --git a/nixpkgs/pkgs/development/tools/poetry/pyproject.toml b/nixpkgs/pkgs/development/tools/poetry/pyproject.toml
new file mode 100644
index 000000000000..2aea5026835e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry/pyproject.toml
@@ -0,0 +1,118 @@
+[tool.poetry]
+name = "poetry"
+version = "1.0.0"
+description = "Python dependency management and packaging made easy."
+authors = [
+    "Sébastien Eustace <sebastien@eustace.io>"
+]
+license = "MIT"
+
+readme = "README.md"
+
+homepage = "https://python-poetry.org/"
+repository = "https://github.com/python-poetry/poetry"
+documentation = "https://python-poetry.org/docs"
+
+keywords = ["packaging", "dependency", "poetry"]
+
+classifiers = [
+    "Topic :: Software Development :: Build Tools",
+    "Topic :: Software Development :: Libraries :: Python Modules"
+]
+
+# Requirements
+[tool.poetry.dependencies]
+python = "~2.7 || ^3.4"
+cleo = "^0.7.6"
+clikit = "^0.4.1"
+requests = "^2.18"
+cachy = "^0.3.0"
+requests-toolbelt = "^0.8.0"
+jsonschema = "^3.1"
+pyrsistent = "^0.14.2"
+pyparsing = "^2.2"
+cachecontrol = { version = "^0.12.4", extras = ["filecache"] }
+pkginfo = "^1.4"
+html5lib = "^1.0"
+shellingham = "^1.1"
+tomlkit = "^0.5.8"
+pexpect = "^4.7.0"
+
+# The typing module is not in the stdlib in Python 2.7 and 3.4
+typing = { version = "^3.6", python = "~2.7 || ~3.4" }
+
+# Use pathlib2 for Python 2.7 and 3.4
+pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" }
+# Use glob2 for Python 2.7 and 3.4
+glob2 = { version = "^0.6", python = "~2.7 || ~3.4" }
+# Use virtualenv for Python 2.7 since venv does not exist
+virtualenv = { version = "^16.0", python = "~2.7" }
+# functools32 is needed for Python 2.7
+functools32 = { version = "^3.2.3", python = "~2.7" }
+keyring = [
+    { version = "^18.0", python = "~2.7 || ~3.4" },
+    { version = "^19.0", python = "^3.5" }
+]
+# Use subprocess32 for Python 2.7 and 3.4
+subprocess32 = { version = "^3.5", python = "~2.7 || ~3.4" }
+importlib-metadata = {version = "^0.23", python = "<3.8"}
+
+[tool.poetry.dev-dependencies]
+pytest = "^4.1"
+pytest-cov = "^2.5"
+mkdocs = { version = "^1.0", python = "~2.7.9 || ^3.4" }
+pymdown-extensions = "^6.0"
+pygments = "^2.2"
+pytest-mock = "^1.9"
+pygments-github-lexers = "^0.0.5"
+black = { version = "^19.10b0", python = "^3.6" }
+pre-commit = "^1.10"
+tox = "^3.0"
+pytest-sugar = "^0.9.2"
+httpretty = "^0.9.6"
+markdown-include = "^0.5.1"
+
+[tool.poetry.scripts]
+poetry = "poetry.console:main"
+
+
+[build-system]
+requires = ["intreehooks"]
+build-backend = "intreehooks:loader"
+
+[tool.intreehooks]
+build-backend = "poetry.masonry.api"
+
+
+[tool.isort]
+line_length = 88
+force_single_line = true
+atomic = true
+include_trailing_comma = true
+lines_after_imports = 2
+lines_between_types = 1
+multi_line_output = 3
+use_parentheses = true
+not_skip = "__init__.py"
+skip_glob = ["*/setup.py"]
+filter_files = true
+
+known_first_party = "poetry"
+known_third_party = [
+    "cachecontrol",
+    "cachy",
+    "cleo",
+    "clikit",
+    "html5lib",
+    "httpretty",
+    "jsonschema",
+    "keyring",
+    "pexpect",
+    "pkginfo",
+    "pyparsing",
+    "pytest",
+    "requests",
+    "requests_toolbelt",
+    "shellingham",
+    "tomlkit",
+]
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/README.md b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/README.md
new file mode 100644
index 000000000000..ac4861534f58
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/README.md
@@ -0,0 +1,6 @@
+Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
+
+The update procedure is as-follows:
+1. Send your change to the upstream poetry2nix repository
+2. Get it approved with tests passing
+3. Run the update script in pkgs/development/tools/poetry2nix
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
new file mode 100755
index 000000000000..95576b987f5c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+from concurrent.futures import ThreadPoolExecutor
+import subprocess
+import textwrap
+import argparse
+import toml
+import json
+import sys
+
+
+argparser = argparse.ArgumentParser(description="Generate overrides for git hashes",)
+argparser.add_argument(
+    "--lock", default="poetry.lock", help="Path to input poetry.lock",
+)
+argparser.add_argument(
+    "--out", default="poetry-git-overlay.nix", help="Output file",
+)
+
+
+def fetch_git(pkg):
+    return (
+        pkg["name"],
+        subprocess.run(
+            [
+                "nix-prefetch-git",
+                "--fetch-submodules",
+                "--url",
+                pkg["source"]["url"],
+                "--rev",
+                pkg["source"]["reference"],
+            ],
+            stdout=subprocess.PIPE,
+            stderr=subprocess.PIPE,
+        ),
+    )
+
+
+def indent(expr, spaces=2):
+    i = " " * spaces
+    return "\n".join([(i if l != "" else "") + l for l in expr.split("\n")])
+
+
+if __name__ == "__main__":
+    args = argparser.parse_args()
+
+    with open(args.lock) as lockf:
+        lock = toml.load(lockf)
+
+    pkgs = []
+    for pkg in lock["package"]:
+        if "source" in pkg:
+            pkgs.append(pkg)
+
+    with ThreadPoolExecutor() as e:
+        futures = []
+
+        for pkg in pkgs:
+            futures.append(e.submit(fetch_git, pkg))
+
+        lines = [
+            "{ pkgs }:",
+            "self: super: {",
+        ]
+
+        for f in futures:
+            drv_name, p = f.result()
+            if p.returncode != 0:
+                sys.stderr.buffer.write(p.stderr)
+                sys.stderr.buffer.flush()
+                exit(p.returncode)
+
+            meta = json.loads(p.stdout.decode())
+            lines.append(
+                indent(
+                    textwrap.dedent(
+                        """
+              %s = super.%s.overrideAttrs (
+                _: {
+                  src = pkgs.fetchgit {
+                    url = "%s";
+                    rev = "%s";
+                    sha256 = "%s";
+                  };
+                }
+              );"""
+                        % (drv_name, drv_name, meta["url"], meta["rev"], meta["sha256"])
+                    )
+                )
+            )
+
+        lines.extend(["", "}", ""])
+
+        expr = "\n".join(lines)
+
+    with open(args.out, "w") as f:
+        f.write(expr)
+
+    print(f"Wrote {args.out}")
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
new file mode 100644
index 000000000000..82759ce7174b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
@@ -0,0 +1,52 @@
+{ pkgs ? import <nixpkgs> {}
+, lib ? pkgs.lib
+, version
+}:
+
+let
+  inherit (pkgs) python3;
+
+in
+pkgs.stdenv.mkDerivation {
+  pname = "poetry2nix";
+  inherit version;
+
+  buildInputs = [
+    (python3.withPackages (ps: [ ps.toml ]))
+  ];
+
+  nativeBuildInputs = [
+    pkgs.makeWrapper
+  ];
+
+  src = ./bin;
+
+  dontConfigure = true;
+
+  buildPhase = ''
+    runHook preBuild
+    ${python3.pkgs.black}/bin/black --quiet --check poetry2nix
+    patchShebangs poetry2nix
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mv poetry2nix $out/bin
+
+    wrapProgram $out/bin/poetry2nix --prefix PATH ":" ${lib.makeBinPath [
+    pkgs.nix-prefetch-git
+  ]}
+
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "https://github.com/nix-community/poetry2nix";
+    description = "CLI to supplement sha256 hashes for git dependencies";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.adisbladis ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
new file mode 100644
index 000000000000..967f0d666cb4
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -0,0 +1,252 @@
+{ pkgs ? import <nixpkgs> {}
+, lib ? pkgs.lib
+, poetry ? null
+, poetryLib ? import ./lib.nix { inherit lib pkgs; }
+}:
+
+let
+  inherit (poetryLib) isCompatible readTOML;
+
+  # Poetry2nix version
+  version = "1.1.0";
+
+  /* The default list of poetry2nix override overlays */
+  defaultPoetryOverrides = (import ./overrides.nix { inherit pkgs lib; });
+
+  mkEvalPep508 = import ./pep508.nix {
+    inherit lib;
+    stdenv = pkgs.stdenv;
+  };
+
+  getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn;
+
+  getAttrDefault = attribute: set: default: (
+    if builtins.hasAttr attribute set
+    then builtins.getAttr attribute set
+    else default
+  );
+
+  # Map SPDX identifiers to license names
+  spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses)));
+  # Get license by id falling back to input string
+  getLicenseBySpdxId = spdxId: getAttrDefault spdxId spdxLicenses spdxId;
+
+  #
+  # Returns an attrset { python, poetryPackages } for the given lockfile
+  #
+  mkPoetryPython =
+    { poetrylock
+    , poetryPkg
+    , overrides ? [ defaultPoetryOverrides ]
+    , meta ? {}
+    , python ? pkgs.python3
+    , pwd ? null
+    }@attrs: let
+      lockData = readTOML poetrylock;
+      lockFiles = lib.getAttrFromPath [ "metadata" "files" ] lockData;
+
+      specialAttrs = [ "poetrylock" "overrides" ];
+      passedAttrs = builtins.removeAttrs attrs specialAttrs;
+
+      evalPep508 = mkEvalPep508 python;
+
+      # Filter packages by their PEP508 markers
+      partitions = let
+        supportsPythonVersion = pkgMeta: if pkgMeta ? marker then (evalPep508 pkgMeta.marker) else true;
+      in
+        lib.partition supportsPythonVersion lockData.package;
+
+      compatible = partitions.right;
+      incompatible = partitions.wrong;
+
+      # Create an overriden version of pythonPackages
+      #
+      # We need to avoid mixing multiple versions of pythonPackages in the same
+      # closure as python can only ever have one version of a dependency
+      baseOverlay = self: super:
+        let
+          getDep = depName: if builtins.hasAttr depName self then self."${depName}" else throw "foo";
+
+          lockPkgs = builtins.listToAttrs (
+            builtins.map (
+              pkgMeta: rec {
+                name = pkgMeta.name;
+                value = self.mkPoetryDep (
+                  pkgMeta // {
+                    inherit pwd;
+                    source = getAttrDefault "source" pkgMeta null;
+                    files = lockFiles.${name};
+                    pythonPackages = self;
+                  }
+                );
+              }
+            ) compatible
+          );
+        in
+          lockPkgs;
+
+      overlays = builtins.map getFunctorFn (
+        [
+          (
+            self: super: {
+              mkPoetryDep = self.callPackage ./mk-poetry-dep.nix {
+                inherit pkgs lib python poetryLib;
+              };
+              poetry = poetryPkg;
+            }
+          )
+          # Null out any filtered packages, we don't want python.pkgs from nixpkgs
+          (self: super: builtins.listToAttrs (builtins.map (x: { name = x.name; value = null; }) incompatible))
+          # Create poetry2nix layer
+          baseOverlay
+        ] ++ # User provided overrides
+        overrides
+      );
+
+      packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) overlays;
+
+      py = python.override { inherit packageOverrides; self = py; };
+    in
+      {
+        python = py;
+        poetryPackages = map (pkg: py.pkgs.${pkg.name}) compatible;
+      };
+
+  /* Returns a package with a python interpreter and all packages specified in the poetry.lock lock file.
+
+     Example:
+       poetry2nix.mkPoetryEnv { poetrylock = ./poetry.lock; python = python3; }
+  */
+  mkPoetryEnv =
+    { poetrylock
+    , overrides ? [ defaultPoetryOverrides ]
+    , meta ? {}
+    , pwd ? null
+    , python ? pkgs.python3
+    }:
+      let
+        poetryPkg = poetry.override { inherit python; };
+        py = mkPoetryPython (
+          {
+            inherit poetryPkg poetrylock overrides meta python pwd;
+          }
+        );
+      in
+        py.python.withPackages (_: py.poetryPackages);
+
+  /* Creates a Python application from pyproject.toml and poetry.lock */
+  mkPoetryApplication =
+    { src
+    , pyproject
+    , poetrylock
+    , overrides ? [ defaultPoetryOverrides ]
+    , meta ? {}
+    , python ? pkgs.python3
+    , pwd ? null
+    , ...
+    }@attrs: let
+      poetryPkg = poetry.override { inherit python; };
+
+      py = (
+        mkPoetryPython {
+          inherit poetryPkg poetrylock overrides meta python pwd;
+        }
+      ).python;
+
+      pyProject = readTOML pyproject;
+
+      specialAttrs = [ "pyproject" "poetrylock" "overrides" ];
+      passedAttrs = builtins.removeAttrs attrs specialAttrs;
+
+      getDeps = depAttr: let
+        deps = getAttrDefault depAttr pyProject.tool.poetry {};
+        depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps);
+      in
+        builtins.map (dep: py.pkgs."${dep}") depAttrs;
+
+      getInputs = attr: getAttrDefault attr attrs [];
+      mkInput = attr: extraInputs: getInputs attr ++ extraInputs;
+
+      buildSystemPkgs = poetryLib.getBuildSystemPkgs {
+        inherit pyProject;
+        pythonPackages = py.pkgs;
+      };
+
+    in
+      py.pkgs.buildPythonApplication (
+        passedAttrs // {
+          pname = pyProject.tool.poetry.name;
+          version = pyProject.tool.poetry.version;
+
+          format = "pyproject";
+
+          nativeBuildInputs = [ pkgs.yj ];
+          buildInputs = mkInput "buildInputs" buildSystemPkgs;
+          propagatedBuildInputs = mkInput "propagatedBuildInputs" (getDeps "dependencies") ++ ([ py.pkgs.setuptools ]);
+          checkInputs = mkInput "checkInputs" (getDeps "dev-dependencies");
+
+          passthru = {
+            python = py;
+          };
+
+          postPatch = (getAttrDefault "postPatch" passedAttrs "") + ''
+            # Tell poetry not to resolve the path dependencies. Any version is
+            # fine !
+            yj -tj < pyproject.toml | python ${./pyproject-without-path.py} > pyproject.json
+            yj -jt < pyproject.json > pyproject.toml
+            rm pyproject.json
+          '';
+
+          meta = meta // {
+            inherit (pyProject.tool.poetry) description homepage;
+            license = getLicenseBySpdxId (getAttrDefault "license" pyProject.tool.poetry "unknown");
+          };
+
+        }
+      );
+
+  /* Poetry2nix CLI used to supplement SHA-256 hashes for git dependencies  */
+  cli = import ./cli.nix { inherit pkgs lib version; };
+
+  /* Poetry2nix documentation  */
+  doc = pkgs.stdenv.mkDerivation {
+    pname = "poetry2nix-docs";
+    inherit version;
+
+    src = pkgs.runCommandNoCC "poetry2nix-docs-src" {} ''
+      mkdir -p $out
+      cp ${./default.nix} $out/default.nix
+    '';
+
+    buildInputs = [
+      pkgs.nixdoc
+    ];
+
+    buildPhase = ''
+      nixdoc --category poetry2nix --description "Poetry2nix functions" --file ./default.nix > poetry2nix.xml
+    '';
+
+    installPhase = ''
+      mkdir -p $out
+      cp poetry2nix.xml $out/
+    '';
+
+  };
+
+in
+{
+  inherit mkPoetryEnv mkPoetryApplication cli doc;
+
+  /*
+  The default list of poetry2nix override overlays
+
+  Can be overriden by calling defaultPoetryOverrides.overrideOverlay which takes an overlay function
+  */
+  defaultPoetryOverrides = {
+    __functor = defaultPoetryOverrides;
+    overrideOverlay = fn: self: super: let
+      defaultSet = defaultPoetryOverrides self super;
+      customSet = fn self super;
+    in defaultSet // customSet;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json
new file mode 100644
index 000000000000..2cce8e2ea085
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json
@@ -0,0 +1,14 @@
+[
+  "tar",
+  "tar.bz2",
+  "tar.gz",
+  "tar.lz",
+  "tar.lzma",
+  "tar.xz",
+  "tbz",
+  "tgz",
+  "tlz",
+  "txz",
+  "whl",
+  "zip"
+]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
new file mode 100644
index 000000000000..9ec76defb7da
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -0,0 +1,79 @@
+{ lib, pkgs }:
+let
+  inherit (import ./semver.nix { inherit lib; }) satisfiesSemver;
+
+  # Returns true if pythonVersion matches with the expression in pythonVersions
+  isCompatible = pythonVersion: pythonVersions:
+    let
+      operators = {
+        "||" = cond1: cond2: cond1 || cond2;
+        "," = cond1: cond2: cond1 && cond2; # , means &&
+      };
+      # split string at "," and "||"
+      tokens = builtins.filter (x: x != "") (builtins.split "(,|\\|\\|)" pythonVersions);
+      combine = acc: v:
+        let
+          isOperator = builtins.typeOf v == "list";
+          operator = if isOperator then (builtins.elemAt v 0) else acc.operator;
+        in
+          if isOperator then (acc // { inherit operator; }) else {
+            inherit operator;
+            state = operators."${operator}" acc.state (satisfiesSemver pythonVersion v);
+          };
+      initial = { operator = ","; state = true; };
+    in
+      (builtins.foldl' combine initial tokens).state;
+
+  readTOML = path: builtins.fromTOML (builtins.readFile path);
+
+  #
+  # Returns the appropriate manylinux dependencies and string representation for the file specified
+  #
+  getManyLinuxDeps = f:
+    let
+      ml = pkgs.pythonManylinuxPackages;
+    in
+      if lib.strings.hasInfix "manylinux1" f then { pkg = [ ml.manylinux1 ]; str = "1"; }
+      else if lib.strings.hasInfix "manylinux2010" f then { pkg = [ ml.manylinux2010 ]; str = "2010"; }
+      else if lib.strings.hasInfix "manylinux2014" f then { pkg = [ ml.manylinux2014 ]; str = "2014"; }
+      else { pkg = []; str = null; };
+
+  # Fetch the artifacts from the PyPI index. Since we get all
+  # info we need from the lock file we don't use nixpkgs' fetchPyPi
+  # as it modifies casing while not providing anything we don't already
+  # have.
+  #
+  # Args:
+  #   pname: package name
+  #   file: filename including extension
+  #   hash: SRI hash
+  #   kind: Language implementation and version tag https://www.python.org/dev/peps/pep-0427/#file-name-convention
+  fetchFromPypi = lib.makeOverridable (
+    { pname, file, hash, kind }:
+      pkgs.fetchurl {
+        url = "https://files.pythonhosted.org/packages/${kind}/${lib.toLower (builtins.substring 0 1 file)}/${pname}/${file}";
+        inherit hash;
+      }
+  );
+
+  getBuildSystemPkgs =
+    { pythonPackages
+    , pyProject
+    }: let
+      buildSystem = lib.getAttrFromPath [ "build-system" "build-backend" ] pyProject;
+      drvAttr = builtins.elemAt (builtins.split "\\.|:" buildSystem) 0;
+    in
+      if buildSystem == "" then [] else (
+        [ pythonPackages.${drvAttr} or (throw "unsupported build system ${buildSystem}") ]
+      );
+
+in
+{
+  inherit
+    fetchFromPypi
+    getManyLinuxDeps
+    isCompatible
+    readTOML
+    getBuildSystemPkgs
+    ;
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
new file mode 100644
index 000000000000..3631cbd228ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -0,0 +1,100 @@
+{ autoPatchelfHook
+, pkgs
+, lib
+, python
+, buildPythonPackage
+, pythonPackages
+, poetryLib
+}:
+{ name
+, version
+, files
+, source
+, dependencies ? {}
+, pythonPackages
+, python-versions
+, pwd
+, supportedExtensions ? lib.importJSON ./extensions.json
+, ...
+}: let
+
+  inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi;
+
+  inherit (import ./pep425.nix {
+    inherit lib python;
+    inherit (pkgs) stdenv;
+  }) selectWheel
+    ;
+
+  fileCandidates = let
+    supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")");
+    matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null;
+    hasSupportedExtension = fname: builtins.match supportedRegex fname != null;
+  in
+    builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file) files;
+
+  toPath = s: pwd + "/${s}";
+
+  isSource = source != null;
+  isGit = isSource && source.type == "git";
+  isLocal = isSource && source.type == "directory";
+
+  localDepPath = toPath source.url;
+  pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml");
+
+  buildSystemPkgs = poetryLib.getBuildSystemPkgs {
+    inherit pythonPackages pyProject;
+  };
+
+  fileInfo = let
+    isBdist = f: lib.strings.hasSuffix "whl" f.file;
+    isSdist = f: ! isBdist f;
+    binaryDist = selectWheel fileCandidates;
+    sourceDist = builtins.filter isSdist fileCandidates;
+    lockFileEntry = if (builtins.length sourceDist) > 0 then builtins.head sourceDist else builtins.head binaryDist;
+  in
+    rec {
+      inherit (lockFileEntry) file hash;
+      name = file;
+      format = if lib.strings.hasSuffix ".whl" name then "wheel" else "setuptools";
+      kind = if format == "setuptools" then "source" else (builtins.elemAt (lib.strings.splitString "-" name) 2);
+    };
+
+in
+buildPythonPackage {
+  pname = name;
+  version = version;
+
+  doCheck = false; # We never get development deps
+  dontStrip = true;
+  format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format;
+
+  nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else [];
+  buildInputs = if !isSource then (getManyLinuxDeps fileInfo.name).pkg else [];
+
+  propagatedBuildInputs =
+    let
+      # Some dependencies like django gets the attribute name django
+      # but dependencies try to access Django
+      deps = builtins.map (d: lib.toLower d) (builtins.attrNames dependencies);
+    in
+      (builtins.map (n: pythonPackages.${n}) deps) ++ (if isLocal then buildSystemPkgs else []);
+
+  meta = {
+    broken = ! isCompatible python.version python-versions;
+    license = [];
+  };
+
+  # We need to retrieve kind from the interpreter and the filename of the package
+  # Interpreters should declare what wheel types they're compatible with (python type + ABI)
+  # Here we can then choose a file based on that info.
+  src = if isGit then (
+    builtins.fetchGit {
+      inherit (source) url;
+      rev = source.reference;
+    }
+  ) else if isLocal then (localDepPath) else fetchFromPypi {
+    pname = name;
+    inherit (fileInfo) file hash kind;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
new file mode 100644
index 000000000000..84d77cef3b5a
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -0,0 +1,405 @@
+{ pkgs ? import <nixpkgs> {}
+, lib ? pkgs.lib
+, stdenv ? pkgs.stdenv
+}:
+
+self: super:
+
+let
+
+  addSetupTools = drv: if drv == null then null else drv.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.setuptools_scm
+      ];
+    }
+  );
+
+  getAttrDefault = attribute: set: default:
+    if builtins.hasAttr attribute set
+    then builtins.getAttr attribute set
+    else default;
+
+in
+{
+
+  asciimatics = super.asciimatics.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.setuptools_scm
+      ];
+    }
+  );
+
+  av = super.av.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [
+        pkgs.pkgconfig
+      ];
+      buildInputs = old.buildInputs ++ [ pkgs.ffmpeg_4 ];
+    }
+  );
+
+  bcrypt = super.bcrypt.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ pkgs.libffi ];
+    }
+  );
+
+  cffi = super.cffi.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ pkgs.libffi ];
+    }
+  );
+
+  cftime = super.cftime.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.cython
+      ];
+    }
+  );
+
+  configparser = addSetupTools super.configparser;
+
+  cbor2 = addSetupTools super.cbor2;
+
+  cryptography = super.cryptography.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ pkgs.openssl ];
+    }
+  );
+
+  django = (
+    super.django.overrideAttrs (
+      old: {
+        propagatedNativeBuildInputs = (getAttrDefault "propagatedNativeBuildInputs" old [])
+        ++ [ pkgs.gettext ];
+      }
+    )
+  );
+
+  django-bakery = super.django-bakery.overrideAttrs (
+    old: {
+      configurePhase = ''
+        if ! test -e LICENSE; then
+          touch LICENSE
+        fi
+      '' + (getAttrDefault "configurePhase" old "");
+    }
+  );
+
+  # Environment markers are not always included (depending on how a dep was defined)
+  enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
+
+  grandalf = super.grandalf.overrideAttrs (
+    old: {
+      postPatch = ''
+        substituteInPlace setup.py --replace "setup_requires=['pytest-runner',]," "setup_requires=[]," || true
+      '';
+    }
+  );
+
+  horovod = super.horovod.overrideAttrs (
+    old: {
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.openmpi ];
+    }
+  );
+
+  hypothesis = addSetupTools super.hypothesis;
+
+  importlib-metadata = addSetupTools super.importlib-metadata;
+
+  inflect = super.inflect.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.setuptools_scm
+      ];
+    }
+  );
+
+  jsonschema = addSetupTools super.jsonschema;
+
+  keyring = addSetupTools super.keyring;
+
+  lap = super.lap.overrideAttrs (
+    old: {
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [
+        self.numpy
+      ];
+    }
+  );
+
+  llvmlite = super.llvmlite.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.llvm ];
+
+      # Disable static linking
+      # https://github.com/numba/llvmlite/issues/93
+      postPatch = ''
+        substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" ""
+
+        substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
+      '';
+
+      # Set directory containing llvm-config binary
+      preConfigure = ''
+        export LLVM_CONFIG=${pkgs.llvm}/bin/llvm-config
+      '';
+
+      __impureHostDeps = pkgs.stdenv.lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
+
+      passthru = old.passthru // { llvm = pkgs.llvm; };
+    }
+  );
+
+  lockfile = super.lockfile.overrideAttrs (
+    old: {
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pbr ];
+    }
+  );
+
+  lxml = super.lxml.overrideAttrs (
+    old: {
+      nativeBuildInputs = with pkgs; old.nativeBuildInputs ++ [ pkgconfig libxml2.dev libxslt.dev ];
+      buildInputs = with pkgs; old.buildInputs ++ [ libxml2 libxslt ];
+    }
+  );
+
+  markupsafe = super.markupsafe.overrideAttrs (
+    old: {
+      src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; };
+    }
+  );
+
+  matplotlib = super.matplotlib.overrideAttrs (
+    old: {
+      NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1";
+
+      XDG_RUNTIME_DIR = "/tmp";
+
+      nativeBuildInputs = old.nativeBuildInputs ++ [
+        pkgs.pkgconfig
+      ];
+
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [
+        pkgs.libpng
+        pkgs.freetype
+      ];
+
+      inherit (super.matplotlib) patches;
+    }
+  );
+
+  mccabe = super.mccabe.overrideAttrs (
+    old: {
+      postPatch = ''
+        substituteInPlace setup.py --replace "setup_requires=['pytest-runner']," "setup_requires=[]," || true
+      '';
+    }
+  );
+
+  netcdf4 = super.netcdf4.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.cython
+      ];
+
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [
+        pkgs.zlib
+        pkgs.netcdf
+        pkgs.hdf5
+        pkgs.curl
+        pkgs.libjpeg
+      ];
+
+      # Variables used to configure the build process
+      USE_NCCONFIG = "0";
+      HDF5_DIR = lib.getDev pkgs.hdf5;
+      NETCDF4_DIR = pkgs.netcdf;
+      CURL_DIR = pkgs.curl.dev;
+      JPEG_DIR = pkgs.libjpeg.dev;
+    }
+  );
+
+  numpy = super.numpy.overrideAttrs (
+    old: let
+      blas = pkgs.openblasCompat;
+      blasImplementation = lib.nameFromURL blas.name "-";
+      cfg = pkgs.writeTextFile {
+        name = "site.cfg";
+        text = (
+          lib.generators.toINI {} {
+            ${blasImplementation} = {
+              include_dirs = "${blas}/include";
+              library_dirs = "${blas}/lib";
+            } // lib.optionalAttrs (blasImplementation == "mkl") {
+              mkl_libs = "mkl_rt";
+              lapack_libs = "";
+            };
+          }
+        );
+      };
+    in
+      {
+        nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
+        buildInputs = old.buildInputs ++ [ blas ];
+        enableParallelBuilding = true;
+        preBuild = ''
+          ln -s ${cfg} site.cfg
+        '';
+        passthru = old.passthru // {
+          blas = blas;
+          inherit blasImplementation cfg;
+        };
+      }
+  );
+
+  pillow = super.pillow.overrideAttrs (
+    old: {
+      nativeBuildInputs = [ pkgs.pkgconfig ] ++ old.nativeBuildInputs;
+      buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ old.buildInputs;
+    }
+  );
+
+  pluggy = addSetupTools super.pluggy;
+
+  psycopg2 = super.psycopg2.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
+    }
+  );
+
+  psycopg2-binary = super.psycopg2-binary.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
+    }
+  );
+
+  py = addSetupTools super.py;
+
+  pyarrow = super.pyarrow.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.cython
+      ];
+    }
+  );
+
+  pycairo = (
+    drv: (
+      drv.overridePythonAttrs (
+        _: {
+          format = "other";
+        }
+      )
+    ).overrideAttrs (
+      old: {
+
+        nativeBuildInputs = old.nativeBuildInputs ++ [
+          pkgs.meson
+          pkgs.ninja
+          pkgs.pkgconfig
+        ];
+
+        propagatedBuildInputs = old.propagatedBuildInputs ++ [
+          pkgs.cairo
+          pkgs.xlibsWrapper
+        ];
+
+        mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ];
+      }
+    )
+  ) super.pycairo;
+
+  pycocotools = super.pycocotools.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.cython
+        self.numpy
+      ];
+    }
+  );
+
+  pygobject = super.pygobject.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ];
+      buildInputs = old.buildInputs ++ [ pkgs.glib pkgs.gobject-introspection ];
+    }
+  );
+
+  pyopenssl = super.pyopenssl.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ pkgs.openssl ];
+    }
+  );
+
+  pytest = addSetupTools super.pytest;
+
+  pytest-mock = addSetupTools super.pytest-mock;
+
+  python-dateutil = addSetupTools super.python-dateutil;
+
+  python-prctl = super.python-prctl.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [
+        self.setuptools_scm
+        pkgs.libcap
+      ];
+    }
+  );
+
+  scaleapi = super.scaleapi.overrideAttrs (
+    old: {
+      postPatch = ''
+        substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true
+      '';
+    }
+  );
+
+  scipy = super.scipy.overrideAttrs (
+    old: {
+      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
+      setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
+      enableParallelBuilding = true;
+      buildInputs = old.buildInputs ++ [ self.numpy.blas ];
+      preConfigure = ''
+        sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
+        export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
+      '';
+      preBuild = ''
+        ln -s ${self.numpy.cfg} site.cfg
+      '';
+    }
+  );
+
+  shapely = super.shapely.overrideAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ pkgs.geos self.cython ];
+      inherit (super.shapely) patches GEOS_LIBRARY_PATH;
+    }
+  );
+
+  six = addSetupTools super.six;
+
+  urwidtrees = super.urwidtrees.overrideAttrs (
+    old: {
+      propagatedBuildInputs = old.propagatedBuildInputs ++ [
+        self.urwid
+      ];
+    }
+  );
+
+  # TODO: Figure out getting rid of this hack
+  wheel = (
+    pkgs.python3.pkgs.override {
+      python = self.python;
+    }
+  ).wheel.overridePythonAttrs (
+    _: {
+      inherit (super.wheel) pname name version src;
+    }
+  );
+
+  zipp = addSetupTools super.zipp;
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
new file mode 100644
index 000000000000..b2e11205c36c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -0,0 +1,106 @@
+{ lib, stdenv, python, isLinux ? stdenv.isLinux }:
+
+let
+  inherit (lib.strings) hasSuffix hasInfix splitString removeSuffix;
+
+  # The 'cpxy" as determined by `python.version`
+  #
+  # e.g "2.7.17" -> "cp27"
+  #     "3.5.9"  -> "cp35"
+  pythonTag =
+    let
+      ver = builtins.splitVersion python.version;
+      major = builtins.elemAt ver 0;
+      minor = builtins.elemAt ver 1;
+    in
+      "cp${major}${minor}";
+
+  abiTag = "${pythonTag}m";
+
+  #
+  # Parses wheel file returning an attribute set
+  #
+  toWheelAttrs = str:
+    let
+      entries = splitString "-" str;
+      p = removeSuffix ".whl" (builtins.elemAt entries 4);
+    in
+      {
+        pkgName = builtins.elemAt entries 0;
+        pkgVer = builtins.elemAt entries 1;
+        pyVer = builtins.elemAt entries 2;
+        abi = builtins.elemAt entries 3;
+        platform = p;
+      };
+
+  #
+  # Builds list of acceptable osx wheel files
+  #
+  # <versions>   accepted versions in descending order of preference
+  # <candidates> list of wheel files to select from
+  findBestMatches = versions: candidates:
+    let
+      v = lib.lists.head versions;
+      vs = lib.lists.tail versions;
+    in
+      if (builtins.length versions == 0)
+      then []
+      else (builtins.filter (x: hasInfix v x.file) candidates) ++ (findBestMatches vs candidates);
+
+  # pyver = "cpXX"
+  # x     = "cpXX" | "py2" | "py3" | "py2.py3"
+  isPyVersionCompatible = pyver: x:
+    let
+      normalize = y: ''cp${lib.strings.removePrefix "cp" (lib.strings.removePrefix "py" y)}'';
+      isCompat = p: x: lib.strings.hasPrefix (normalize x) p;
+    in
+      lib.lists.any (isCompat pyver) (lib.strings.splitString "." x);
+
+  #
+  # Selects the best matching wheel file from a list of files
+  #
+  selectWheel = files:
+    let
+      filesWithoutSources = (builtins.filter (x: hasSuffix ".whl" x.file) files);
+
+      isPyAbiCompatible = pyabi: x: x == "none" || pyabi == x;
+
+      withPython = ver: abi: x: (isPyVersionCompatible ver x.pyVer) && (isPyAbiCompatible abi x.abi);
+
+      withPlatform = if isLinux
+      then (
+        x: x.platform == "manylinux1_${stdenv.platform.kernelArch}"
+        || x.platform == "manylinux2010_${stdenv.platform.kernelArch}"
+        || x.platform == "manylinux2014_${stdenv.platform.kernelArch}"
+        || x.platform == "any"
+      )
+      else (x: hasInfix "macosx" x.platform || x.platform == "any");
+
+      filterWheel = x:
+        let
+          f = toWheelAttrs x.file;
+        in
+          (withPython pythonTag abiTag f) && (withPlatform f);
+
+      filtered = builtins.filter filterWheel filesWithoutSources;
+
+      choose = files:
+        let
+          osxMatches = [ "10_12" "10_11" "10_10" "10_9" "any" ];
+          linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ];
+          chooseLinux = x: lib.singleton (builtins.head (findBestMatches linuxMatches x));
+          chooseOSX = x: lib.singleton (builtins.head (findBestMatches osxMatches x));
+        in
+          if isLinux
+          then chooseLinux files
+          else chooseOSX files;
+
+    in
+      if (builtins.length filtered == 0)
+      then []
+      else choose (filtered);
+
+in
+{
+  inherit selectWheel toWheelAttrs isPyVersionCompatible;
+}
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
new file mode 100644
index 000000000000..bf1893931cd1
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
@@ -0,0 +1,218 @@
+{ lib, stdenv }: python:
+
+let
+
+  # Like builtins.substring but with stop being offset instead of length
+  substr = start: stop: s: builtins.substring start (stop - start) s;
+
+  # Strip leading/trailing whitespace from string
+  stripStr = s: lib.elemAt (builtins.split "^ *" (lib.elemAt (builtins.split " *$" s) 0)) 2;
+
+  findSubExpressionsFun = acc: c: (
+    if c == "(" then (
+      let
+        posNew = acc.pos + 1;
+        isOpen = acc.openP == 0;
+        startPos = if isOpen then posNew else acc.startPos;
+      in
+        acc // {
+          inherit startPos;
+          exprs = acc.exprs ++ [ (substr acc.exprPos (acc.pos - 1) acc.expr) ];
+          pos = posNew;
+          openP = acc.openP + 1;
+        }
+    ) else if c == ")" then (
+      let
+        openP = acc.openP - 1;
+        exprs = findSubExpressions (substr acc.startPos acc.pos acc.expr);
+      in
+        acc // {
+          inherit openP;
+          pos = acc.pos + 1;
+          exprs = if openP == 0 then acc.exprs ++ [ exprs ] else acc.exprs;
+          exprPos = if openP == 0 then acc.pos + 1 else acc.exprPos;
+        }
+    ) else acc // { pos = acc.pos + 1; }
+  );
+
+  # Make a tree out of expression groups (parens)
+  findSubExpressions = expr: let
+    acc = builtins.foldl' findSubExpressionsFun {
+      exprs = [];
+      expr = expr;
+      pos = 0;
+      openP = 0;
+      exprPos = 0;
+      startPos = 0;
+    } (lib.stringToCharacters expr);
+    tailExpr = (substr acc.exprPos acc.pos expr);
+    tailExprs = if tailExpr != "" then [ tailExpr ] else [];
+  in
+    acc.exprs ++ tailExprs;
+
+  parseExpressions = exprs: let
+    splitCond = (
+      s: builtins.map
+        (x: stripStr (if builtins.typeOf x == "list" then (builtins.elemAt x 0) else x))
+        (builtins.split " (and|or) " (s + " "))
+    );
+
+    mapfn = expr: (
+      if (builtins.match "^ ?$" expr != null) then null  # Filter empty
+      else if (builtins.elem expr [ "and" "or" ]) then {
+        type = "bool";
+        value = expr;
+      }
+      else {
+        type = "expr";
+        value = expr;
+      }
+    );
+
+    parse = expr: builtins.filter (x: x != null) (builtins.map mapfn (splitCond expr));
+
+  in
+    builtins.foldl' (
+      acc: v: acc ++ (
+        if builtins.typeOf v == "string" then parse v else [ (parseExpressions v) ]
+      )
+    ) [] exprs;
+
+  # Transform individual expressions to structured expressions
+  # This function also performs variable substitution, replacing environment markers with their explicit values
+  transformExpressions = exprs: let
+    variables = {
+      os_name = "posix"; # TODO: Check other platforms
+      sys_platform = (
+        if stdenv.isLinux then "linux"
+        else if stdenv.isDarwin then "darwin"
+        else throw "Unsupported platform"
+      );
+      platform_machine = stdenv.platform.kernelArch;
+      platform_python_implementation = "CPython"; # Only CPython supported for now
+      platform_release = ""; # Field not reproducible
+      platform_system = (
+        if stdenv.isLinux then "Linux"
+        else if stdenv.isDarwin then "Darwin"
+        else throw "Unsupported platform"
+      );
+      platform_version = ""; # Field not reproducible
+      python_version = python.passthru.pythonVersion;
+      python_full_version = python.version;
+      implementation_name = "cpython"; # Only cpython supported for now
+      implementation_version = python.version;
+      extra = "";
+    };
+
+    substituteVar = value: if builtins.hasAttr value variables then (builtins.toJSON variables."${value}") else value;
+
+    processVar = value: builtins.foldl' (acc: v: v acc) value [
+      stripStr
+      substituteVar
+    ];
+
+  in
+    if builtins.typeOf exprs == "set" then (
+      if exprs.type == "expr" then (
+        let
+          mVal = ''[a-zA-Z0-9\'"_\. ]+'';
+          mOp = "in|[!=<>]+";
+          e = stripStr exprs.value;
+          m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);
+        in
+          {
+            type = "expr";
+            value = {
+              op = builtins.elemAt m 1;
+              values = [
+                (processVar (builtins.elemAt m 0))
+                (processVar (builtins.elemAt m 2))
+              ];
+            };
+          }
+      ) else exprs
+    ) else builtins.map transformExpressions exprs;
+
+  # Recursively eval all expressions
+  evalExpressions = exprs: let
+    unmarshal = v: (
+      # TODO: Handle single quoted values
+      if v == "True" then true
+      else if v == "False" then false
+      else builtins.fromJSON v
+    );
+    hasElem = needle: haystack: builtins.elem needle (builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " haystack));
+    # TODO: Implement all operators
+    op = {
+      "<=" = x: y: (unmarshal x) <= (unmarshal y);
+      "<" = x: y: (unmarshal x) < (unmarshal y);
+      "!=" = x: y: x != y;
+      "==" = x: y: x == y;
+      ">=" = x: y: (unmarshal x) >= (unmarshal y);
+      ">" = x: y: (unmarshal x) > (unmarshal y);
+      "~=" = null;
+      "===" = null;
+      "in" = x: y: let
+        values = builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " (unmarshal y));
+      in
+        builtins.elem (unmarshal x) values;
+    };
+  in
+    if builtins.typeOf exprs == "set" then (
+      if exprs.type == "expr" then (
+        let
+          expr = exprs;
+          result = (op."${expr.value.op}") (builtins.elemAt expr.value.values 0) (builtins.elemAt expr.value.values 1);
+        in
+          {
+            type = "value";
+            value = result;
+          }
+      ) else exprs
+    ) else builtins.map evalExpressions exprs;
+
+  # Now that we have performed an eval all that's left to do is to concat the graph into a single bool
+  reduceExpressions = exprs: let
+    cond = {
+      "and" = x: y: x && y;
+      "or" = x: y: x || y;
+    };
+    reduceExpressionsFun = acc: v: (
+      if builtins.typeOf v == "set" then (
+        if v.type == "value" then (
+          acc // {
+            value = cond."${acc.cond}" acc.value v.value;
+          }
+        ) else if v.type == "bool" then (
+          acc // {
+            cond = v.value;
+          }
+        ) else throw "Unsupported type"
+      ) else if builtins.typeOf v == "list" then (
+        let
+          ret = builtins.foldl' reduceExpressionsFun {
+            value = true;
+            cond = "and";
+          } v;
+        in
+          acc // {
+            value = cond."${acc.cond}" acc.value ret.value;
+          }
+      ) else throw "Unsupported type"
+    );
+  in
+    (
+      builtins.foldl' reduceExpressionsFun {
+        value = true;
+        cond = "and";
+      } exprs
+    ).value;
+
+in
+e: builtins.foldl' (acc: v: v acc) e [
+  findSubExpressions
+  parseExpressions
+  transformExpressions
+  evalExpressions
+  reduceExpressions
+]
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pyproject-without-path.py b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pyproject-without-path.py
new file mode 100644
index 000000000000..bb61e4a5cb4b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pyproject-without-path.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+# Patch out path dependencies from a pyproject.json file
+
+import json
+import sys
+
+data = json.load(sys.stdin)
+
+for dep in data['tool']['poetry']['dependencies'].values():
+    if isinstance(dep, dict):
+        try:
+            del dep['path'];
+        except KeyError:
+            pass
+        else:
+            dep['version'] = '*'
+
+json.dump(data, sys.stdout, indent=4)
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
new file mode 100644
index 000000000000..620bb25ad974
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
@@ -0,0 +1,80 @@
+{ lib }:
+
+let
+  inherit (builtins) elemAt match;
+
+  # Replace a list entry at defined index with set value
+  ireplace = idx: value: list: let
+    inherit (builtins) genList length;
+  in
+    genList (i: if i == idx then value else (elemAt list i)) (length list);
+
+  operators = let
+    matchWildCard = s: match "([^\*])(\.[\*])" s;
+    mkComparison = ret: version: v: builtins.compareVersions version v == ret;
+    mkIdxComparison = idx: version: v: let
+      ver = builtins.splitVersion v;
+      minor = builtins.toString (lib.toInt (elemAt ver idx) + 1);
+      upper = builtins.concatStringsSep "." (ireplace idx minor ver);
+    in
+      operators.">=" version v && operators."<" version upper;
+    dropWildcardPrecision = f: version: constraint: let
+      m = matchWildCard constraint;
+      hasWildcard = m != null;
+      c = if hasWildcard then (elemAt m 0) else constraint;
+      v =
+        if hasWildcard then (builtins.substring 0 (builtins.stringLength c) version)
+        else version;
+    in
+      f v c;
+  in
+    {
+      # Prefix operators
+      "==" = dropWildcardPrecision (mkComparison 0);
+      ">" = dropWildcardPrecision (mkComparison 1);
+      "<" = dropWildcardPrecision (mkComparison (-1));
+      "!=" = v: c: ! operators."==" v c;
+      ">=" = v: c: operators."==" v c || operators.">" v c;
+      "<=" = v: c: operators."==" v c || operators."<" v c;
+      # Semver specific operators
+      "~" = mkIdxComparison 1; #
+      "^" = mkIdxComparison 0;
+      # Infix operators
+      "-" = version: v: operators.">=" version v.vl && operators."<=" version v.vu;
+    };
+
+  re = {
+    operators = "([=><!~\^]+)";
+    version = "([0-9\.\*x]+)";
+  };
+
+  parseConstraint = constraint: let
+    constraintStr = builtins.replaceStrings [ " " ] [ "" ] constraint;
+    # The common prefix operators
+    mPre = match "${re.operators} *${re.version}" constraintStr;
+    # There is also an infix operator to match ranges
+    mIn = match "${re.version} *(-) *${re.version}" constraintStr;
+  in
+    (
+      if mPre != null then {
+        op = elemAt mPre 0;
+        v = elemAt mPre 1;
+      }
+        # Infix operators are range matches
+      else if mIn != null then {
+        op = elemAt mIn 1;
+        v = {
+          vl = (elemAt mIn 0);
+          vu = (elemAt mIn 2);
+        };
+      }
+      else throw "Constraint \"${constraintStr}\" could not be parsed"
+    );
+
+  satisfiesSemver = version: constraint: let
+    inherit (parseConstraint constraint) op v;
+  in
+    if constraint == "*" then true else operators."${op}" version v;
+
+in
+{ inherit satisfiesSemver; }
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/update b/nixpkgs/pkgs/development/tools/poetry2nix/update
new file mode 100755
index 000000000000..a5d367590be1
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/update
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+pwd=$(pwd)
+workdir=$(mktemp -d)
+
+function cleanup {
+    cd "$pwd"
+    rm -rf $workdir
+}
+trap cleanup EXIT
+
+cd "$workdir"
+
+curl -L -s https://github.com/nix-community/poetry2nix/archive/master.tar.gz | tar -xz
+mv poetry2nix-master/* .
+
+mkdir build
+cp *.nix *.json *.py build/
+cp -r bin build/
+rm build/shell.nix build/generate.py build/overlay.nix build/flake.nix
+
+cat > build/README.md << EOF
+Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
+
+The update procedure is as-follows:
+1. Send your change to the upstream poetry2nix repository
+2. Get it approved with tests passing
+3. Run the update script in pkgs/development/tools/poetry2nix
+EOF
+
+rm -rf "$pwd/poetry2nix"
+mv build "$pwd/poetry2nix"
diff --git a/nixpkgs/pkgs/development/tools/profiling/EZTrace/default.nix b/nixpkgs/pkgs/development/tools/profiling/EZTrace/default.nix
index b02ae3c544fa..e856c1f718a4 100644
--- a/nixpkgs/pkgs/development/tools/profiling/EZTrace/default.nix
+++ b/nixpkgs/pkgs/development/tools/profiling/EZTrace/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tool that aims at generating automatically execution trace from HPC programs";
     license = stdenv.lib.licenses.cecill-b;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/profiling/pyflame/default.nix b/nixpkgs/pkgs/development/tools/profiling/pyflame/default.nix
deleted file mode 100644
index 2467769ad3de..000000000000
--- a/nixpkgs/pkgs/development/tools/profiling/pyflame/default.nix
+++ /dev/null
@@ -1,143 +0,0 @@
-{ stdenv, autoreconfHook, coreutils, fetchFromGitHub, fetchpatch, pkgconfig, procps
-# pyflame needs one python version per ABI
-# are currently supported
-# * 2.6 or 2.7 for 2.x ABI
-# * 3.4 or 3.5 for 3.{4,5} ABI
-# * 3.6        for 3.6 ABI
-# * 3.7        for 3.7+ ABI
-# to disable support for an ABI, make the corresponding argument null
-, python2, python35, python36, python37, python3
-}:
-stdenv.mkDerivation rec {
-  pname = "pyflame";
-  version = "1.6.7";
-  src = fetchFromGitHub {
-    owner = "uber";
-    repo = "pyflame";
-    rev = "v${version}";
-    sha256 = "0hz1ryimh0w8zyxx4y8chcn54d6b02spflj5k9rcg26an2chkg2w";
-  };
-
-  # Uber's abandoned this since Jun 2018, so we have to patch a lot.
-  # Yay.
-  patches = let
-    # "Add support for Python3.7 (#151)":
-    py37-support = [ # https://github.com/uber/pyflame/pull/153
-      (fetchpatch { # "Add support for python3.7"
-        url = "https://github.com/uber/pyflame/commit/5ee674c4b09a29b82a0e2d7a4ce064fea3df1f4c.patch";
-        sha256 = "19v0yl8frbsq1dkvcmr1zsxf9v75bs8hvlkiv2x8cwylndvz2g5n";
-      })
-      (fetchpatch { # "Add python3.7 to travis test matrix"
-        url = "https://github.com/uber/pyflame/commit/610b5281502ff6d57471e84071f17a33d30f3bcf.patch";
-        sha256 = "13kwzrz0zwmdiirg061wvz7zvdl2w9dnrc81xbkxpm1hh8h0mi9z";
-      })
-      (fetchpatch { # "Update ppa and Ubuntu version"
-        url = "https://github.com/uber/pyflame/commit/ec82a43c90da64815a87d4e3fe2a12ec3c93dc38.patch";
-        sha256 = "1rrcsj5095ns5iyk6ij9kylv8hsrflxjld7b4s5dbpk8jqkf3ndi";
-      })
-      (fetchpatch { # "Clang-Format"
-        url = "https://github.com/uber/pyflame/commit/fb81e40398d6209c38d49d0b6758d9581b3c2bba.patch";
-        sha256 = "024namalrsai8ppl87lqsalfgd2fbqsnbkhpg8q93bvsdxldwc6r";
-      })
-    ];
-
-    # "Fix pyflame for code compiled with ld -z separate-code":
-    separate-code-support = [ # https://github.com/uber/pyflame/pull/170
-      (fetchpatch { # "Fix for code compiled with ld -z separate-code"
-        url = "https://github.com/uber/pyflame/commit/739a77d9b9abf9599f633d49c9ec98a201bfe058.patch";
-        sha256 = "03xhdysr5s73bw3a7nj2h45dylj9a4c1f1i3xqm1nngpd6arq4y6";
-      })
-    ];
-
-    # "Improve PtraceSeize error output"
-    full-ptrace-seize-errors = [ # https://github.com/uber/pyflame/pull/152
-      (fetchpatch { # "Print whole error output from PtraceSeize"
-        url = "https://github.com/uber/pyflame/commit/4b0e2c1b442b0f0c6ac5f56471359cea9886aa0f.patch";
-        sha256 = "0nkqs5zszf78cna0bavcdg18g7rdmn72li3091ygpkgxn77cnvis";
-      })
-      (fetchpatch { # "Print whole error for PtraceSeize"
-        url = "https://github.com/uber/pyflame/commit/1abb23abe4912c4a27553f0b3b5c934753f41f6d.patch";
-        sha256 = "07razp9rlq3s92j8a3iak3qk2h4x4xwz4y915h52ivvnxayscj89";
-      })
-    ];
-  in stdenv.lib.concatLists [
-    py37-support
-    # Without this, tests will leak memory and run forever.
-    separate-code-support
-    full-ptrace-seize-errors
-  ];
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig procps ];
-  buildInputs = [ python37 python36 python2 python35 ];
-
-  postPatch = ''
-    patchShebangs .
-
-    # some tests will fail in the sandbox
-    substituteInPlace tests/test_end_to_end.py \
-      --replace 'skipif(IS_DOCKER' 'skipif(True'
-
-    # don't use patchShebangs here to be explicit about the python version
-    substituteInPlace utils/flame-chart-json \
-      --replace '#!usr/bin/env python' '#!${python3.interpreter}'
-
-    # Many tests require the build machine to have kernel.yama.ptrace_scope = 0,
-    # but hardened machines have it set to 1. On build machines that cannot run
-    # these tests, skip them to avoid breaking the build.
-    if [[ $(sysctl -n kernel.yama.ptrace_scope || echo 0) != "0" ]]; then
-      for test in \
-        test_monitor \
-        test_non_gil \
-        test_threaded \
-        test_unthreaded \
-        test_legacy_pid_handling \
-        test_exclude_idle \
-        test_exit_early \
-        test_sample_not_python \
-        test_include_ts \
-        test_include_ts_exclude_idle \
-        test_thread_dump \
-        test_no_line_numbers \
-        test_utf8_output; do
-
-        substituteInPlace tests/test_end_to_end.py \
-          --replace "def $test(" "\
-@pytest.mark.skip('build machine had kernel.yama.ptrace_scope != 0')
-def $test("
-      done
-    fi
-  '';
-
-  postInstall = ''
-    install -D utils/flame-chart-json $out/bin/flame-chart-json
-  '';
-
-  doCheck = true;
-  # reproduces the logic of their test script, but without downloading pytest
-  # from the internet with pip
-  checkPhase = let inherit (stdenv) lib; in
-    lib.concatMapStringsSep "\n" (python: ''
-      set -x
-      PYMAJORVERSION=${lib.substring 0 1 python.version} \
-        PATH=${lib.makeBinPath [ coreutils ]}\
-        PYTHONPATH= \
-        ${python.pkgs.pytest}/bin/pytest -v tests/
-      set +x
-    '') (lib.filter (x: x != null) buildInputs);
-
-  meta = with stdenv.lib; {
-    description = "A ptracing profiler for Python ";
-    longDescription = ''
-      Pyflame is a high performance profiling tool that generates flame graphs
-      for Python. Pyflame uses the Linux ptrace(2) system call to collect
-      profiling information. It can take snapshots of the Python call stack
-      without explicit instrumentation, meaning you can profile a program
-      without modifying its source code.
-    '';
-    homepage = https://github.com/uber/pyflame;
-    license = licenses.asl20;
-    maintainers = [ maintainers.symphorien ];
-    # arm: https://github.com/uber/pyflame/issues/136
-    platforms = [ "i686-linux" "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/profiling/sysprof/default.nix b/nixpkgs/pkgs/development/tools/profiling/sysprof/default.nix
index 720544f4b6c6..b7538a2b388f 100644
--- a/nixpkgs/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/nixpkgs/pkgs/development/tools/profiling/sysprof/default.nix
@@ -5,6 +5,7 @@
 , glib
 , gtk3
 , itstool
+, libdazzle
 , libxml2
 , meson, ninja
 , pango
@@ -18,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sysprof";
-  version = "3.32.0";
+  version = "3.34.1";
 
   outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0kamsnnig56lzs4ziwcxm3b1xyis4z361s9nj3nca0c78sgac8pw";
+    sha256 = "1l4kr1av7933vb4zql9c5lgzivlw64hyky4nr8xin1v5if6vnjw4";
   };
 
   nativeBuildInputs = [
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     gnome3.adwaita-icon-theme
   ];
-  buildInputs = [ glib gtk3 pango polkit systemd.dev systemd.lib ];
+  buildInputs = [ glib gtk3 pango polkit systemd.dev systemd.lib libdazzle ];
 
   mesonFlags = [
     "-Dsystemdunitdir=lib/systemd/system"
diff --git a/nixpkgs/pkgs/development/tools/prototool/default.nix b/nixpkgs/pkgs/development/tools/prototool/default.nix
index 277944488936..37b0f1fdf8db 100644
--- a/nixpkgs/pkgs/development/tools/prototool/default.nix
+++ b/nixpkgs/pkgs/development/tools/prototool/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "prototool";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "uber";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0m6g5p3jyf0ja5j9rqmw8mhipdqxk7rcxm0plmh65bxk1n22fzjc";
+    sha256 = "1ssgvhcnqffhhdx8hnk4lmklip2f6g9i7ifblywfjylb08y7iqgd";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  modSha256 = "0l4nqb1c1lqqk70l9qwib1azavxlwghi2fv5siwrr5zw4jysz5ml";
+  modSha256 = "1gc8kc9mbi3mlh48zx4lcgpsrf8z879f1qj9wfyr66s7wd1ljazg";
 
   postInstall = ''
     wrapProgram "$out/bin/prototool" \
diff --git a/nixpkgs/pkgs/development/tools/pry/Gemfile b/nixpkgs/pkgs/development/tools/pry/Gemfile
new file mode 100644
index 000000000000..ec63e2251d5c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pry/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'pry'
diff --git a/nixpkgs/pkgs/development/tools/pry/Gemfile.lock b/nixpkgs/pkgs/development/tools/pry/Gemfile.lock
new file mode 100644
index 000000000000..e6025f50ca15
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pry/Gemfile.lock
@@ -0,0 +1,17 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    coderay (1.1.2)
+    method_source (0.9.2)
+    pry (0.12.2)
+      coderay (~> 1.1.0)
+      method_source (~> 0.9.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  pry
+
+BUNDLED WITH
+   1.17.2
diff --git a/nixpkgs/pkgs/development/tools/pry/default.nix b/nixpkgs/pkgs/development/tools/pry/default.nix
new file mode 100644
index 000000000000..974b61617fbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pry/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+
+bundlerApp {
+  pname = "pry";
+  gemdir = ./.;
+  exes = [ "pry" ];
+
+  passthru.updateScript = bundlerUpdateScript "pry";
+
+  meta = with lib; {
+    description = "A Ruby runtime developer console and IRB alternative";
+    homepage    = https://pryrepl.org;
+    license     = licenses.mit;
+    maintainers = [ maintainers.tckmn ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/pry/gemset.nix b/nixpkgs/pkgs/development/tools/pry/gemset.nix
new file mode 100644
index 000000000000..e779c48aebfc
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pry/gemset.nix
@@ -0,0 +1,33 @@
+{
+  coderay = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
+  method_source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
+  pry = {
+    dependencies = ["coderay" "method_source"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69";
+      type = "gem";
+    };
+    version = "0.12.2";
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/purescript/spago/default.nix b/nixpkgs/pkgs/development/tools/purescript/spago/default.nix
new file mode 100644
index 000000000000..2fc5efedb20b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/purescript/spago/default.nix
@@ -0,0 +1,14 @@
+{ haskellPackages
+, haskell
+, lib
+}:
+
+haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: {
+  maintainers = (oldAttrs.maintainers or []) ++ [
+    lib.maintainers.cdepillabout
+  ];
+
+  passthru = (oldAttrs.passthru or {}) // {
+    updateScript = ./update.sh;
+  };
+}))
diff --git a/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix b/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix
new file mode 100644
index 000000000000..c85cff2f03a4
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/purescript/spago/spago.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.13.0";
+  src = fetchgit {
+    url = "https://github.com/spacchetti/spago.git";
+    sha256 = "158xq5zn32iwswxmpma92763hl6kzq7kb01cyvphmmlilx55b6yk";
+    rev = "426838670ba9de4593f4c533a6947efb2d8ad4ba";
+    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/nixpkgs/pkgs/development/tools/purescript/spago/update.sh b/nixpkgs/pkgs/development/tools/purescript/spago/update.sh
new file mode 100755
index 000000000000..00c9c6d85f1d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/purescript/spago/update.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p cabal2nix curl jq
+#
+# This script will update the spago derivation to the latest version using
+# cabal2nix.
+#
+# Note that you should always try building spago after updating it here, since
+# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
+# need to be updated/changed.
+
+set -eo pipefail
+
+# This is the directory of this update.sh script.
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+
+# Spago derivation created with cabal2nix.
+spago_derivation_file="${script_dir}/spago.nix"
+
+# This is the current revision of spago in Nixpkgs.
+old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
+
+# This is the latest release version of spago on GitHub.
+new_version=$(curl --silent "https://api.github.com/repos/spacchetti/spago/releases" | jq '.[0].tag_name' --raw-output)
+
+echo "Updating spago from old version $old_version to new version $new_version."
+echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
+
+cabal2nix --revision "$new_version" "https://github.com/spacchetti/spago.git" > "$spago_derivation_file"
+
+echo "Finished."
diff --git a/nixpkgs/pkgs/development/tools/pypi2nix/default.nix b/nixpkgs/pkgs/development/tools/pypi2nix/default.nix
index 6a709cf8f9b1..76302824d9d2 100644
--- a/nixpkgs/pkgs/development/tools/pypi2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/pypi2nix/default.nix
@@ -1,107 +1,23 @@
-{ stdenv, fetchFromGitHub, fetchurl, pythonPackages, zip, makeWrapper, nix, nix-prefetch-git
-, nix-prefetch-hg
+{ python3
 }:
+with python3;
 
-let
-
-  version = "1.8.1";
-
-  src = fetchFromGitHub {
-    owner = "garbas";
-    repo = "pypi2nix";
-    rev = "v${version}";
-    sha256 = "039a2ys7ijzi2sa2haa6a8lbhncvd1wfsi6gcy9vm02gi31ghzyb";
-  };
-
-  click = fetchurl {
-    url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz";
-    sha256 = "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi";
-  };
-
-  requests = fetchurl {
-    url = "https://pypi.python.org/packages/16/09/37b69de7c924d318e51ece1c4ceb679bf93be9d05973bb30c35babd596e2/requests-2.13.0.tar.gz";
-    sha256 = "1s0wg4any4dsv5l3hqjxqk2zgb7pdbqhy9rhc8kh3aigfq4ws8jp";
-  };
-
-in stdenv.mkDerivation rec {
+pkgs.buildPythonApplication rec {
   pname = "pypi2nix";
-  inherit version;
-  srcs = [
-    src
+  version = "2.0.2";
+  src = pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "1kynyarqx49j89nxd7rx8mjncg8hkklscfcr36smham7cvj17nsv";
+  };
+  propagatedBuildInputs = with pkgs; [
+    attrs
     click
-    requests
+    jinja2
+    nix-prefetch-github
+    packaging
+    parsley
+    setuptools
+    toml
+    jsonschema
   ];
-  buildInputs = [
-    pythonPackages.python pythonPackages.flake8
-    zip makeWrapper nix.out nix-prefetch-git nix-prefetch-hg
-  ];
-
-  sourceRoot = ".";
-
-  postUnpack = ''
-    mkdir -p $out/pkgs
-
-    mv click-*/click                    $out/pkgs/click
-    mv requests-*/requests              $out/pkgs/
-
-    if [ -z "$IN_NIX_SHELL" ]; then
-      if [ -e git-export ]; then
-        mv git-export/src/pypi2nix      $out/pkgs/pypi2nix
-      else
-        mv source/src/pypi2nix          $out/pkgs/pypi2nix
-      fi
-    fi
-  '';
-
-  patchPhase = ''
-    sed -i -e "s|default='nix-shell',|default='${nix.out}/bin/nix-shell',|" $out/pkgs/pypi2nix/cli.py
-    sed -i -e "s|nix-prefetch-git|${nix-prefetch-git}/bin/nix-prefetch-git|" $out/pkgs/pypi2nix/stage2.py
-    sed -i -e "s|nix-prefetch-hg|${nix-prefetch-hg}/bin/nix-prefetch-hg|" $out/pkgs/pypi2nix/stage2.py
-  '';
-
-  commonPhase = ''
-    mkdir -p $out/bin
-
-    echo "#!${pythonPackages.python.interpreter}" >  $out/bin/pypi2nix
-    echo "import pypi2nix.cli" >> $out/bin/pypi2nix
-    echo "pypi2nix.cli.main()" >> $out/bin/pypi2nix
-
-    chmod +x $out/bin/pypi2nix
-
-    export PYTHONPATH=$out/pkgs:$PYTHONPATH
-  '';
-
-  # flake8 doesn't run on python3
-  doCheck = false;
-  checkPhase = ''
-    flake8 ${src}/src
-  '';
-
-  installPhase = commonPhase + ''
-    wrapProgram $out/bin/pypi2nix \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix PATH : "${nix-prefetch-git}/bin:${nix-prefetch-hg}/bin"
-  '';
-
-  shellHook = ''
-    export home=`pwd`
-    export out=/tmp/`pwd | md5sum | cut -f 1 -d " "`-$name
-
-    rm -rf $out
-    mkdir -p $out
-
-    cd $out
-    runHook unpackPhase
-    runHook commonPhase
-    cd $home
-
-    export PATH=$out/bin:$PATH
-    export PYTHONPATH=`pwd`/src:$PYTHONPATH
-  '';
-
-  meta = {
-    homepage = https://github.com/garbas/pypi2nix;
-    description = "A tool that generates nix expressions for your python packages, so you don't have to.";
-    maintainers = with stdenv.lib.maintainers; [ ];
-  };
 }
diff --git a/nixpkgs/pkgs/development/tools/pyre/default.nix b/nixpkgs/pkgs/development/tools/pyre/default.nix
deleted file mode 100644
index 060875924d80..000000000000
--- a/nixpkgs/pkgs/development/tools/pyre/default.nix
+++ /dev/null
@@ -1,137 +0,0 @@
-{ stdenv, fetchFromGitHub, ocamlPackages, writeScript
-, dune, python3, rsync, buck, watchman, sqlite }:
-let
-  # Manually set version - the setup script requires
-  # hg and git + keeping the .git directory around.
-  pyre-version = "0.0.22";  # also change typeshed revision below with $pyre-src/.typeshed-version
-  pyre-src = fetchFromGitHub {
-    owner = "facebook";
-    repo = "pyre-check";
-    rev = "v${pyre-version}";
-    sha256 = "057vy6zmgwsi0ag9n4m6sszhahmfk2s1ywm36nyfs7w4d0wnk92s";
-  };
-  versionFile = writeScript "version.ml" ''
-    cat > "./version.ml" <<EOF
-    open Core
-    let build_info () =
-    "pyre-nixpkgs ${pyre-version}"
-    let version () =
-    "${pyre-version}"
-
-    let log_version_banner () =
-      Log.info "Running as pid: %d" (Pid.to_int (Unix.getpid ()));
-      Log.info "Version: %s" (version ());
-      Log.info "Build info: %s" (build_info ())
-    EOF
-  '';
- pyre-bin = stdenv.mkDerivation {
-  name = "pyre-${pyre-version}";
-
-  src = pyre-src;
-
-  buildInputs = with ocamlPackages; [
-    ocaml
-    findlib
-    menhir
-    yojson
-    core
-    sedlex
-    ppx_deriving_yojson
-    ocamlbuild
-    ppxlib
-    dune
-    ounit
-    base64
-    sqlite.dev
-    # python36Packages.python36Full # TODO
-  ];
-
-  preBuild = ''
-    # build requires HOME to be set
-    export HOME=$TMPDIR
-
-    # "external" because https://github.com/facebook/pyre-check/pull/8/files
-    sed "s/%VERSION%/external/" dune.in > dune
-
-    ln -sf ${versionFile} ./scripts/generate-version-number.sh
-
-    mkdir $(pwd)/build
-    export OCAMLFIND_DESTDIR=$(pwd)/build
-    export OCAMLPATH=$OCAMLPATH:$(pwd)/build
-  '';
-
-  buildFlags = [ "release" ];
-
-  doCheck = true;
-  # ./scripts/run-python-tests.sh # TODO: once typeshed and python bits are added
-
-  # Note that we're not installing the typeshed yet.
-  # Improvement for a future version.
-  installPhase = ''
-    install -D ./_build/default/main.exe $out/bin/pyre.bin
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A performant type-checker for Python 3";
-    homepage = https://pyre-check.org;
-    license = licenses.mit;
-    platforms = ocamlPackages.ocaml.meta.platforms;
-    maintainers = with maintainers; [ teh ];
-  };
-};
-typeshed = stdenv.mkDerivation {
-  pname = "typeshed";
-  version = pyre-version;
-  src = fetchFromGitHub {
-    owner = "python";
-    repo = "typeshed";
-    rev = "0b49ce75b478fdf283dda5dd1368759ac342dfe2";
-    sha256 = "1w5aqbbcfk5ki8n9fgdikkyadjb318ipqyi517s9xnwlzi1jv0fh";
-  };
-  phases = [ "unpackPhase" "installPhase" ];
-  installPhase = "cp -r $src $out";
-};
-in python3.pkgs.buildPythonApplication {
-  pname = "pyre-check";
-  version = pyre-version;
-  src = pyre-src;
-  patches = [ ./pyre-bdist-wheel.patch ];
-
-  # The build-pypi-package script does some funky stuff with build
-  # directories - easier to patch it a bit than to replace it
-  # completely though:
-  postPatch = ''
-    mkdir ./build
-    substituteInPlace scripts/build-pypi-package.sh \
-        --replace 'NIX_BINARY_FILE' '${pyre-bin}/bin/pyre.bin' \
-        --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$PWD/build"
-    for file in client/pyre.py client/commands/initialize.py client/commands/tests/initialize_test.py; do
-      substituteInPlace "$file" \
-          --replace '"watchman"' '"${watchman}/bin/watchman"'
-    done
-    substituteInPlace client/buck.py \
-        --replace '"buck"' '"${buck}/bin/buck"'
-    substituteInPlace client/tests/buck_test.py \
-        --replace '"buck"' '"${buck}/bin/buck"'
-  '';
-
-  buildInputs = [ pyre-bin ];
-  nativeBuildInputs = [ rsync ]; # only required for build-pypi-package.sh
-  propagatedBuildInputs = with python3.pkgs; [
-    docutils
-    typeshed
-    click-log
-    ipython
-    sqlalchemy
-    munch
-    xxhash
-    ujson
-  ];
-  buildPhase = ''
-    bash scripts/build-pypi-package.sh --version ${pyre-version} --bundle-typeshed ${typeshed}
-    cp -r build/dist dist
-  '';
-  checkPhase = ''
-    bash scripts/run-python-tests.sh
-  '';
-}
diff --git a/nixpkgs/pkgs/development/tools/pyre/pyre-bdist-wheel.patch b/nixpkgs/pkgs/development/tools/pyre/pyre-bdist-wheel.patch
deleted file mode 100644
index 1b6fea024e03..000000000000
--- a/nixpkgs/pkgs/development/tools/pyre/pyre-bdist-wheel.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/scripts/build-pypi-package.sh b/scripts/build-pypi-package.sh
-index 1035591..bb8cbae 100755
---- a/scripts/build-pypi-package.sh
-+++ b/scripts/build-pypi-package.sh
-@@ -98,7 +98,7 @@ rsync -avm --filter='- tests/' --filter='+ */' --filter='-! *.py' "${SCRIPTS_DIR
- sed -i -e "/__version__/s/= \".*\"/= \"${PACKAGE_VERSION}\"/" "${BUILD_ROOT}/${MODULE_NAME}/version.py"
- 
- # Copy binary files.
--BINARY_FILE="${SCRIPTS_DIRECTORY}/../_build/default/main.exe"
-+BINARY_FILE="NIX_BINARY_FILE"
- if [[ ! -f "${BINARY_FILE}" ]]; then
-   echo "The binary file ${BINARY_FILE} does not exist."
-   echo "Have you run 'make' in the toplevel directory?"
-@@ -146,7 +146,7 @@ def find_typeshed_files(base):
-         result.append((target, files))
-     return result
- 
--with open('README.md') as f:
-+with open('README.md', encoding='utf8') as f:
-     long_description = f.read()
- 
- setup(
-@@ -205,20 +205,3 @@ fi
- 
- # Build.
- python3 setup.py bdist_wheel
--
--# Move artifact outside the build directory.
--mkdir -p "${SCRIPTS_DIRECTORY}/dist"
--files_count="$(find "${BUILD_ROOT}/dist/" -type f | wc -l | tr -d ' ')"
--[[ "${files_count}" == '1' ]] || \
--  die "${files_count} files created in ${BUILD_ROOT}/dist, but only one was expected"
--source_file="$(find "${BUILD_ROOT}/dist/" -type f)"
--destination="$(basename "${source_file}")"
--destination="${destination/%-any.whl/-${WHEEL_DISTRIBUTION_PLATFORM}.whl}"
--mv "${source_file}" "${SCRIPTS_DIRECTORY}/dist/${destination}"
--
--# Cleanup.
--cd "${SCRIPTS_DIRECTORY}"
--rm -rf "${BUILD_ROOT}"
--
--printf '\nAll done. Build artifact available at:\n  %s\n' "${SCRIPTS_DIRECTORY}/dist/${destination}"
--exit 0
diff --git a/nixpkgs/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch b/nixpkgs/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
index 8744b753a6e6..f0e8c3d2c5e1 100644
--- a/nixpkgs/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
+++ b/nixpkgs/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
@@ -1,15 +1,15 @@
 diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp
-index b514c46..5f96358 100644
+index b656f8e1..a830d3c3 100644
 --- a/src/plugins/cpptools/headerpathfilter.cpp
 +++ b/src/plugins/cpptools/headerpathfilter.cpp
-@@ -92,8 +92,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths, bool isMacOs)
+@@ -124,8 +124,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths)
  {
      // include/c++, include/g++, libc++\include and libc++abi\include
-     static const QString cppIncludes = R"((.*\/include\/.*(g\+\+|c\+\+).*))"
--                                       R"(|(.*libc\+\+\/include))"
--                                       R"(|(.*libc\+\+abi\/include))";
+     static const QString cppIncludes = R"((.*/include/.*(g\+\+|c\+\+).*))"
+-                                       R"(|(.*libc\+\+/include))"
+-                                       R"(|(.*libc\+\+abi/include))"
 +                                       R"(|(.*libc\+\+.*\/include))"
 +                                       R"(|(.*libc\+\+abi.*\/include))";
+                                        R"(|(/usr/local/include))";
      static const QRegularExpression includeRegExp("\\A(" + cppIncludes + ")\\z");
  
-     // The same as includeRegExp but also matches /usr/local/include
diff --git a/nixpkgs/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch b/nixpkgs/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch
new file mode 100644
index 000000000000..b0427e94c7c7
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch
@@ -0,0 +1,12 @@
+diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp
+index a830d3c3..80e2f933 100644
+--- a/src/plugins/cpptools/headerpathfilter.cpp
++++ b/src/plugins/cpptools/headerpathfilter.cpp
+@@ -157,7 +157,6 @@ void removeClangSystemHeaderPaths(HeaderPaths &headerPaths)
+ 
+ void HeaderPathFilter::tweakHeaderPaths()
+ {
+-    removeClangSystemHeaderPaths(builtInHeaderPaths);
+     removeGccInternalIncludePaths();
+ 
+     auto split = resourceIterator(builtInHeaderPaths);
diff --git a/nixpkgs/pkgs/development/tools/qtcreator/default.nix b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
index 7e592bf060ab..9e9ec6f0d3da 100644
--- a/nixpkgs/pkgs/development/tools/qtcreator/default.nix
+++ b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
@@ -1,14 +1,11 @@
 { mkDerivation, lib, fetchurl, fetchgit, fetchpatch
 , qtbase, qtquickcontrols, qtscript, qtdeclarative, qmake, llvmPackages_8
-, withDocumentation ? false
+, withDocumentation ? false, withClangPlugins ? true 
 }:
 
 with lib;
 
 let
-  baseVersion = "4.9";
-  revision = "1";
-
   # Fetch clang from qt vendor, this contains submodules like this:
   # clang<-clang-tools-extra<-clazy.
   clang_qt_vendor = llvmPackages_8.clang-unwrapped.overrideAttrs (oldAttrs: {
@@ -23,35 +20,28 @@ in
 
 mkDerivation rec {
   pname = "qtcreator";
-  version = "${baseVersion}.${revision}";
+  version = "4.11.0";
+  baseVersion = builtins.concatStringsSep "." (lib.take 2 (builtins.splitVersion version));
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/${pname}/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    sha256 = "10ddp1365rf0z4bs7yzc9hajisp3j6mzjshyd0vpi4ki126j5f3r";
+    sha256 = "0ibn7bapw7m26nmxl26dns1hnpawfdqk1i1mgg0gjssja8famszg";
   };
 
-  buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative llvmPackages_8.libclang clang_qt_vendor llvmPackages_8.llvm ];
+  buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ] ++ 
+    optionals withClangPlugins [ llvmPackages_8.libclang 
+                                 clang_qt_vendor 
+                                 llvmPackages_8.llvm ];
 
   nativeBuildInputs = [ qmake ];
 
   # 0001-Fix-clang-libcpp-regexp.patch is for fixing regexp that is used to
   # find clang libc++ library include paths. By default it's not covering paths
   # like libc++-version, which is default name for libc++ folder in nixos.
+  # ./0002-Dont-remove-clang-header-paths.patch is for forcing qtcreator to not 
+  # remove system clang include paths.
   patches = [ ./0001-Fix-clang-libcpp-regexp.patch
-
-    # Fix clazy plugin name. This plugin was renamed with clang8
-    # release, and patch didn't make it into 4.9.1 release. Should be removed
-    # on qtcreator update, if this problem is fixed.
-    (fetchpatch {
-      url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82";
-      sha256 = "1lanp7jg0x8jffajb852q8p4r34facg41l410xsz6s1k91jskbi9";
-    })
-
-    (fetchpatch {
-      url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangtools/clangtidyclazyrunner.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82";
-      sha256 = "1rl0rc2l297lpfhhawvkkmj77zb081hhp0bbi7nnykf3q9ch0clh";
-    })
-  ];
+              ./0002-Dont-remove-clang-header-paths.patch ];
 
   doCheck = true;
 
@@ -63,8 +53,8 @@ mkDerivation rec {
 
   preConfigure = ''
     substituteInPlace src/plugins/plugins.pro \
-      --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls'
-
+      --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls' 
+    '' + optionalString withClangPlugins ''
     # Fix paths for llvm/clang includes directories.
     substituteInPlace src/shared/clang/clang_defines.pri \
       --replace '$$clean_path($${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include)' '${clang_qt_vendor}/lib/clang/8.0.0/include' \
@@ -77,7 +67,9 @@ mkDerivation rec {
     # Fix paths to libclang library.
     substituteInPlace src/shared/clang/clang_installation.pri \
       --replace 'LIBCLANG_LIBS = -L$${LLVM_LIBDIR}' 'LIBCLANG_LIBS = -L${llvmPackages_8.libclang}/lib' \
-      --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang'
+      --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang' \
+      --replace 'LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}' 'LIBTOOLING_LIBS = -L${clang_qt_vendor}/lib' \
+      --replace 'LLVM_CXXFLAGS ~= s,-gsplit-dwarf,' '${lib.concatStringsSep "\n" ["LLVM_CXXFLAGS ~= s,-gsplit-dwarf," "    LLVM_CXXFLAGS += -fno-rtti"]}'
   '';
 
   preBuild = optional withDocumentation ''
diff --git a/nixpkgs/pkgs/development/tools/rdbtools/default.nix b/nixpkgs/pkgs/development/tools/rdbtools/default.nix
new file mode 100644
index 000000000000..5a81ae757ea7
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rdbtools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, python }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "rdbtools";
+  version = "0.1.14";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03vdwwkqz8py6c3wfgx402rn8pjjfn44w3gbxzr60lbkx27m63yj";
+  };
+
+  propagatedBuildInputs = [ redis python-lzf ];
+
+  # No tests in published package
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON";
+    homepage = https://github.com/sripathikrishnan/redis-rdb-tools;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix b/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
index dfa31b30a7e4..15c61da13c07 100644
--- a/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
+++ b/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
@@ -78,6 +78,6 @@ in stdenv.mkDerivation rec {
     homepage = https://github.com/jhen0409/react-native-debugger;
     license = licenses.mit;
     description = "The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
index acf9d03843d0..a727eebe0541 100644
--- a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "nexus";
-  version = "3.18.1-01";
+  version = "3.20.1-01";
 
   src = fetchurl {
     url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
-    sha256 = "0z3hb1ha0yvi09hrndrzzh95g3m42pfsi0gzw7hfx9r0n8r2qgkd";
+    sha256 = "0l8fwcnpbc35lqadyrsljvr4rr5kp9gkx5dxs9i35mg2f0z9bagv";
   };
 
+  preferLocalBuild = true;
+
   sourceRoot = "${pname}-${version}";
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/richgo/default.nix b/nixpkgs/pkgs/development/tools/richgo/default.nix
index 507402deed66..871ea0dc67a2 100644
--- a/nixpkgs/pkgs/development/tools/richgo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rtags/default.nix b/nixpkgs/pkgs/development/tools/rtags/default.nix
index 3a9ecb7697ab..c35018f4cc73 100644
--- a/nixpkgs/pkgs/development/tools/rtags/default.nix
+++ b/nixpkgs/pkgs/development/tools/rtags/default.nix
@@ -2,8 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rtags";
-  version = "2.16";
-
+  version = "2.34";
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ llvmPackages.llvm openssl emacs ]
     ++ lib.optionals stdenv.cc.isGNU [ llvmPackages.clang-unwrapped ]
@@ -13,7 +12,7 @@ stdenv.mkDerivation rec {
     rev = "refs/tags/v${version}";
     fetchSubmodules = true;
     url = "https://github.com/andersbakken/rtags.git";
-    sha256 = "15qmwkajw2zzfnw9hnv08p0asa6prg88nvqlxmv56c0dyhldjpkm";
+    sha256 = "1smp2r9lkvf9rpjjy7dink9ncdakgsa31f2kdxvcpyggfz275m1n";
     # unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation
     postFetch = ''
diff --git a/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock b/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
index df5bee57be6b..9d166f0fad53 100644
--- a/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
@@ -2,12 +2,12 @@ GEM
   remote: https://rubygems.org/
   specs:
     ast (2.4.0)
-    jaro_winkler (1.5.3)
-    parallel (1.17.0)
-    parser (2.6.3.0)
+    jaro_winkler (1.5.4)
+    parallel (1.19.1)
+    parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
-    rubocop (0.74.0)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
@@ -24,4 +24,4 @@ DEPENDENCIES
   rubocop
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/development/tools/rubocop/gemset.nix b/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
index 892d0d74d7b2..d7e1b9328dc1 100644
--- a/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
@@ -14,20 +14,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn";
+      sha256 = "09davv4ld6caqlczw64vhwf8hr41apys3cj8v2h96yxs4qg1m2iw";
       type = "gem";
     };
-    version = "2.6.3.0";
+    version = "2.6.5.0";
   };
   rainbow = {
     groups = ["default"];
@@ -56,10 +56,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wpyass9qb2wvq8zsc7wdzix5xy2ldiv66wnx8mwwprz2dcvzayk";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.74.0";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/development/tools/rucksack/default.nix b/nixpkgs/pkgs/development/tools/rucksack/default.nix
index 85a4d0fa23dc..9eb568040ffb 100644
--- a/nixpkgs/pkgs/development/tools/rucksack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rund/default.nix b/nixpkgs/pkgs/development/tools/rund/default.nix
new file mode 100644
index 000000000000..a2433da2997b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rund/default.nix
@@ -0,0 +1,49 @@
+{stdenv, lib, fetchFromGitHub, ldc ? null, dcompiler ? ldc }:
+
+assert dcompiler != null;
+
+stdenv.mkDerivation rec {
+  pname = "rund";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "dragon-lang";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10x6f1nn294r5qnpacrpcbp348dndz5fv4nz6ih55c61ckpkvgcf";
+  };
+
+  buildInputs = [ dcompiler ];
+  buildPhase = ''
+    for candidate in dmd ldmd2 gdmd; do
+      echo Checking for DCompiler $candidate ...
+      dc=$(type -P $candidate || echo "")
+      if [ ! "$dc" == "" ]; then
+        break
+      fi
+    done
+    if [ "$dc" == "" ]; then
+      exit "Error: could not find a D compiler"
+    fi
+    echo Using DCompiler $candidate
+    $dc -I=$src/src -i -run $src/make.d build --out $NIX_BUILD_TOP
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    $NIX_BUILD_TOP/rund make.d test
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv $NIX_BUILD_TOP/rund $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A compiler-wrapper that runs and caches D programs";
+    homepage = https://github.com/dragon-lang/rund;
+    license = lib.licenses.boost;
+    maintainers = with maintainers; [ jonathanmarler ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
index ca1c2fa45e9d..a87ef4d2228a 100644
--- a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
@@ -3,7 +3,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-bindgen";
-  version = "0.51.0";
+  version = "0.52.0";
 
   RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update
 
@@ -11,10 +11,10 @@ rustPlatform.buildRustPackage rec {
     owner = "rust-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hlak8b57pndmdfkpfl17xxc91a6b239698bcm4yzlvliyscjgz1";
+    sha256 = "0rf5sg9136f4j7s07iz2gd481h8gzdd106jc1jw1p5pw4zaiz5l0";
   };
 
-  cargoSha256 = "1311d0wjjj99m59zd2n6r4aq6lwbbpyj54ha2z9g4yd1hn344r91";
+  cargoSha256 = "1wy5xdkf9ql2l9qavi0fh7hwjvly108f4l2m1k947412fyjwr7x7";
 
   libclang = llvmPackages.libclang.lib; #for substituteAll
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
index b5c6f19ddc3d..32e369251d56 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.8.3";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "088px2kdcfjdb8zfmk7g409h7ij9dngywz336hj2ny82lrdjzazc";
+    sha256 = "0wzsc8azxgvavsbsdpd1i6g8i4sp07wn9iayr8dp8072ig5c4fhy";
   };
 
-  cargoSha256 = "11q8j8y7m59gc8047qhz6pp2825qjcpg9xwgj09l8a5aijf25avb";
+  cargoSha256 = "1jc1lx0yk8galkyc4a67d39ywsfrgc2sjjsz08p47gpz7228d64w";
 
   meta = with lib; {
     description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix
new file mode 100644
index 000000000000..01ca288fba8c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security, openssl, pkgconfig, libiconv, curl }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-crev";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "crev-dev";
+    repo = "cargo-crev";
+    rev = "v${version}";
+    sha256 = "15b4spz080y411h7niwzb1rshhyd9cx7rc6bpa0myd2kzrfky7yl";
+  };
+
+  cargoSha256 = "02bi6pzm1ys31zi1s5yzyw47dmdgclgkfjyyfa9h686640nakg8d";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];
+
+  meta = with stdenv.lib; {
+    description = "A cryptographically verifiable code review system for the cargo (Rust) package manager";
+    homepage = "https://github.com/crev-dev/cargo-crev";
+    license = with licenses; [ asl20 mit mpl20 ];
+    maintainers = with maintainers; [ b4dm4n ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
index 43b3a88f6ee3..cec7a509dc12 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/nixpkgs/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.17";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
+    sha256 = "043adbvc1slswwygibgghfl2ryry3ja1x3zjz39qqv63f81pd5id";
   };
 
-  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
+  cargoSha256 = "1dasyyy2nkr4i5nhlzlwij3b972h2a43j94kvlbc9kvnnb44aymn";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix
index 7ccc85283599..c5b45b92c812 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix
new file mode 100644
index 000000000000..1edeaeb9b467
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, lib, fetchFromGitHub
+, rustPlatform, pkgconfig, openssl
+# darwin dependencies
+, Security, CoreFoundation, libiconv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-geiger";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "anderejd";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0yn4m94bklxyg0cxzhqm1m976z66rbi58ri1phffvqz457mxj3hk";
+  };
+
+  cargoSha256 = "0608wvbdw4i9pp3x6dgny186if6bzlbivkvfd5lfp1x1f53534za";
+
+  # Multiple tests require internet connectivity, so they are disabled here.
+  # If we ever get cargo-insta (https://crates.io/crates/insta) in tree,
+  # we might be able to run these with something like
+  # `cargo insta review` in the `preCheck` phase.
+  checkPhase = ''
+    cargo test -- \
+    --skip test_package::case_2 \
+    --skip test_package::case_3 \
+    --skip test_package::case_6
+  '';
+
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  # FIXME: Use impure version of CoreFoundation because of missing symbols.
+  # CFURLSetResourcePropertyForKey is defined in the headers but there's no
+  # corresponding implementation in the sources from opensource.apple.com.
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  '';
+
+  meta = with lib; {
+    description = "Detects usage of unsafe Rust in a Rust crate and its dependencies.";
+    homepage = https://github.com/anderejd/cargo-geiger;
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ evanjs ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
index 144e1d71a110..c49739165aa1 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,23 +2,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ashleygwilliams";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "0n6na6xq4bvs9hc7vc86qqmlrkv824qdmja27b21l2wz3l77r4jb";
+    sha256 = "07hklya22ixklb44f3qp6yyh5d03a7rjcn0g76icqr36hvcjyjjh";
   };
 
-  cargoSha256 = "00fgzh1s63rr1vs3ahra604m81fc4imx3s09brw2y0n46syhwypi";
+  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/nixpkgs/pkgs/development/tools/rust/cargo-make/Cargo.lock b/nixpkgs/pkgs/development/tools/rust/cargo-make/Cargo.lock
new file mode 100644
index 000000000000..843f2eeef3fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -0,0 +1,738 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "aho-corasick"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.3.8 (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.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "atty"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.66 (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.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "backtrace"
+version = "0.3.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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.66 (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.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "base64"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "blake2b_simd"
+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.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)",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "c2-chacha"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cargo-make"
+version = "0.25.1"
+dependencies = [
+ "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+ "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "chrono"
+version = "0.4.10"
+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.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "ci_info"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "clap"
+version = "2.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cloudabi"
+version = "0.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)",
+]
+
+[[package]]
+name = "colored"
+version = "1.9.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)",
+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "constant_time_eq"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.6.6"
+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)",
+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "dirs"
+version = "2.0.2"
+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)",
+ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.4"
+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.66 (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)",
+]
+
+[[package]]
+name = "duckscript"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "duckscriptsdk"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "envmnt"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "failure"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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.6"
+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.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "fern"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "getrandom"
+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.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "git_info"
+version = "0.1.1"
+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 = "home"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.3.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)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "libc"
+version = "0.2.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "log"
+version = "0.4.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)",
+]
+
+[[package]]
+name = "memchr"
+version = "2.2.1"
+source = "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"
+dependencies = [
+ "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]]
+name = "num-traits"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "proc-macro2"
+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)",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.2"
+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)",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (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)",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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)",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rand_os"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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.66 (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)",
+]
+
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.1.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "redox_users"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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)",
+]
+
+[[package]]
+name = "regex"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "run_script"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rust-argon2"
+version = "0.5.1"
+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.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rust_info"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "scopeguard"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "serde"
+version = "1.0.104"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "serde_derive"
+version = "1.0.104"
+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.11 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "shell2batch"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "syn"
+version = "1.0.11"
+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)",
+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.3"
+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.11 (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 = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "unicode-width 0.1.7 (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"
+dependencies = [
+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "time"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.66 (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 = "toml"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.7"
+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"
+
+[[package]]
+name = "users"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "vec_map"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "wasi"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "winapi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[metadata]
+"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 arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
+"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
+"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 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 byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
+"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+"checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a"
+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+"checksum colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f930f8b286023ed451756fe2527d73484d667adf9e905e9932e81d52996a343a"
+"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
+"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 duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f34baed35ba3d92eaf95fd023b63f3206e429d408bb54bcd55c71e1e43c4cae8"
+"checksum duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db947cb1b8ef6fc232027e03ab36487fa8bd210de7ec9b4e0e70637dc5b8acf0"
+"checksum envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "39cdd9fdbf10b8cfa59dd70ef823cbaa83e33b86f4ad291ae67b16f4bd37bc69"
+"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.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+"checksum git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "add3a9c3c08c8905a2165ff06891dd1c3bb32d81b2a32d79528abc9793dfb06f"
+"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+"checksum home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
+"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
+"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
+"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"
+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+"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 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"
+"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
+"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
+"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
+"checksum run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc7ecc900fbff3d58006c8a41a84e987f13c3d590bc7268d747245f4b19878dc"
+"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
+"checksum rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e4e04a5022c08c95c2285b0beb4cdd24c9b20bc018a263d6fdb0372f7a597db"
+"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+"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.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
+"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
+"checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
+"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+"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.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
+"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+"checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
+"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
+"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-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
index 5b73752659bb..909a711b3c3b 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.22.1";
+  version = "0.25.1";
 
   src =
     let
@@ -10,22 +10,18 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1wsams41zl56mkb8671n5fqkkchs68jd9nvfzry8axxiv7n175gc";
-      };
-      cargo-lock = fetchurl {
-        url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/850e9830f4ab4bc65da6eb5cd8b0911970a7739f/cargo-make-Cargo.lock";
-        sha256 = "0knmzplxmh8vksmpg56l2p1a10hpqbr9hmbk3hv0aj63125rhhqy";
+        sha256 = "176qidyp9vmqs3i252r6wrhd6ayxbykwjfh7010nil3hgwjvrmb2";
       };
     in
     runCommand "cargo-make-src" {} ''
       cp -R ${source} $out
       chmod +w $out
-      cp ${cargo-lock} $out/Cargo.lock
+      cp ${./Cargo.lock} $out/Cargo.lock
     '';
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "18j0nflf997z4nwdxifxp1ji1rbwqbg6zm2256j21am4ak45krsy";
+  cargoSha256 = "1jzw24kc2i1p7775hi39db0ylbi5b4m40wnmldqvi8skcayh38ky";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-raze/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-raze/default.nix
index 1c4e176966dd..142edbdaf113 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-raze/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-raze/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-raze";
-  version = "0.2.8";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d87azip59bmkk38par23f5yvb9w8ikvdg6grn689zpgc3di2phx";
+    sha256 = "1fznh8jygzyzphw7762qc2jv0370z7qjqk1vkql0g246iqby8pq9";
   };
   sourceRoot = "source/impl";
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix
new file mode 100644
index 000000000000..829f9aa3740d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, CoreServices, Security, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-udeps";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "est31";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lrfnrxqmpp06fargb5s5fc9y4w4h0ahbd7rgibqqx1la23l9r5q";
+  };
+
+  cargoSha256 = "18rwzcsrlwds3nx90y03dkqm1hl4dpvclm32i9zy9bhpm9hkypwr";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security libiconv ];
+
+  meta = with stdenv.lib; {
+    description = "Find unused dependencies in Cargo.toml";
+    homepage = "https://github.com/est31/cargo-udeps";
+    license = licenses.mit;
+    maintainers = with maintainers; [ b4dm4n ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
index 5ea935babd19..55721df22d7f 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-watch";
-  version = "7.2.1";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "passcod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13zjsypj0ay9xb5j5fhl3yfn57kp2yngl138vmnyfk1h7gjdxpk3";
+    sha256 = "0l1aalb8ans7scljrza7akhi821jbpqgn6sa8kgd8sys83r93fkj";
   };
 
-  cargoSha256 = "1c3h9il3y0swvcdrrqgh5r7di522i1cc8zk1kfmx97chy8bhsqvg";
+  cargoSha256 = "0dlbln8nsvmrc9p99bl6yni57fravicias9gbv88fg7az904ilzz";
 
   buildInputs = lib.optional stdenv.isDarwin CoreServices;
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
index aac1cdd904f3..a5220775b52d 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xbuild";
-  version = "0.5.15";
+  version = "0.5.19";
 
   src = fetchFromGitHub {
     owner = "rust-osdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ck3gwgxbg03z864bhqy8vwcpm7al17fm380zsb6ijb1q2sk2r2n";
+    sha256 = "0j15d52bpl3k6jw0hzcxdvjayd2azdp5b9s2fq3ywd4zbda8rqp7";
   };
 
-  cargoSha256 = "1r9i79lymfwpbcx2lp509v435qpkl9bqly1ya369p41n5yprrcjv";
+  cargoSha256 = "1pj4x8y5vfpnn8vhxqqm3vicn29870r3jh0b17q3riq4vz1a2afp";
 
   meta = with stdenv.lib; {
     description = "Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc";
diff --git a/nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix b/nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix
index d58b848c87e9..fb71c2fbdff4 100644
--- a/nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,21 +2,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-cbindgen";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "1sh9kll3ky0d6chp7l7z8j91ckibxkfhi0v7imz2fgzzy2lbqy88";
+    sha256 = "0g82ikn5yricihl064q57dhrd4m475aykclrjf145hgl4qy2bjly";
   };
 
-  cargoSha256 = "1cn84xai1n0f8xwwwwig93dawk73g1w6n6zm4axg5zl4vrmq4j6w";
+  cargoSha256 = "1y96m2my0h8fxglxz20y68fr8mnw031pxvzjsq801gwz2p858d75";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
-  # https://github.com/eqrion/cbindgen/issues/338
-  RUSTC_BOOTSTRAP = 1;
+  checkFlags = [
+    # https://github.com/eqrion/cbindgen/issues/338
+    "--skip test_expand"
+  ];
 
   meta = with stdenv.lib; {
     description = "A project for generating C bindings from Rust code";
diff --git a/nixpkgs/pkgs/development/tools/rust/maturin/default.nix b/nixpkgs/pkgs/development/tools/rust/maturin/default.nix
index b152be414dac..98a2b0b7e0bd 100644
--- a/nixpkgs/pkgs/development/tools/rust/maturin/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/maturin/default.nix
@@ -5,16 +5,16 @@ let
   inherit (darwin.apple_sdk.frameworks) Security;
 in rustPlatform.buildRustPackage rec {
   name = "maturin-${version}";
-  version = "0.7.2";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    sha256 = "180dynm9qy3mliqai4jfwxbg01jdz2a95bfyar880qmp75f35wi8";
+    sha256 = "1siqd8k6grlbj9n1a75jq8px1pzvzpr2ph689g53rjngf1k44zqk";
   };
 
-  cargoSha256 = "1x61kxmbk5mazi3lmzfnixjl584cxkfv16si2smh8d9xhhz6gvpw";
+  cargoSha256 = "18678qzrzj044aj5nvyjn5hvby0i0x23gx26nhcf1nqcjn3fr32l";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/racer/default.nix b/nixpkgs/pkgs/development/tools/rust/racer/default.nix
index a06723fc28c8..de31057af14d 100644
--- a/nixpkgs/pkgs/development/tools/rust/racer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/racer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "racer";
-  version = "2.1.22";
+  version = "2.1.28";
 
   src = fetchFromGitHub {
     owner = "racer-rust";
     repo = "racer";
     rev = "v${version}";
-    sha256 = "1n808h4jqxkvpjwmj8jgi4y5is5zvr8vn42mwb3yi13mix32cysa";
+    sha256 = "1zifbcqy9hmcdbz7sl046l2631f5a3j65kyin38l7wm7vrqx9s3h";
   };
 
-  cargoSha256 = "0njaa9vk2i9g1c6sq20b7ls97nl532rfv3is7d8dwz51nrwk6jxs";
+  cargoSha256 = "1ys1yb939y144lhjr451cpqrayqn66r0zp71xm90fkqxsbv7wkqv";
 
   buildInputs = [ makeWrapper ]
                 ++ stdenv.lib.optional stdenv.isDarwin Security;
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   RUST_SRC_PATH = rustPlatform.rustcSrc;
   postInstall = ''
-    wrapProgram $out/bin/racer --set-default RUST_SRC_PATH $rustcSrc
+    wrapProgram $out/bin/racer --set-default RUST_SRC_PATH ${rustPlatform.rustcSrc}
   '';
 
   checkPhase = ''
@@ -31,7 +31,8 @@ rustPlatform.buildRustPackage rec {
       --skip util::test_get_rust_src_path_not_rust_source_tree \
       --skip extern --skip completes_pub_fn --skip find_crate_doc \
       --skip follows_use_local_package --skip follows_use_for_reexport \
-      --skip follows_rand_crate --skip get_completion_in_example_dir
+      --skip follows_rand_crate --skip get_completion_in_example_dir \
+      --skip test_resolve_global_path_in_modules
   '';
 
   doInstallCheck = true;
@@ -43,7 +44,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = https://github.com/racer-rust/racer;
     license = licenses.mit;
-    maintainers = with maintainers; [ jagajaga ];
+    maintainers = with maintainers; [ jagajaga ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rust/racerd/default.nix b/nixpkgs/pkgs/development/tools/rust/racerd/default.nix
index fab0dc05c450..9457a08556af 100644
--- a/nixpkgs/pkgs/development/tools/rust/racerd/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/racerd/default.nix
@@ -4,12 +4,12 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "racerd";
-  version = "2019-03-20";
+  version = "unstable-2019-09-02";
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = "racerd";
-    rev = "6f74488e58e42314a36ff000bae796fe54c1bdd1";
-    sha256 = "1lg7j2plxpn5l65jxhsm99vmy08ljdb666hm0y1nnmmzalrakrg1";
+    rev = "e3d380b9a1d3f3b67286d60465746bc89fea9098";
+    sha256 = "13jqdvjk4savcl03mrn2vzgdsd7vxv2racqbyavrxp2cm9h6cjln";
   };
 
   # a nightly compiler is required unless we use this cheat code.
@@ -17,10 +17,10 @@ buildRustPackage rec {
 
   doCheck = false;
 
-  cargoSha256 = "15894qr0kpp5kivx0p71zmmfhfh8in0ydkvfirxh2r12x0r2jhdd";
+  cargoSha256 = "07130587drrdkrk7aqb8pl8i3p485qr6xh1m86630ydlnb9z6s6i";
 
-  buildInputs = [ makeWrapper ]
-                ++ stdenv.lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   RUST_SRC_PATH = rustPlatform.rustcSrc;
 
diff --git a/nixpkgs/pkgs/development/tools/rust/rustup/default.nix b/nixpkgs/pkgs/development/tools/rust/rustup/default.nix
index ec0eb08bf238..ffae05f1c744 100644
--- a/nixpkgs/pkgs/development/tools/rust/rustup/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rustup/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustup";
-  version = "1.19.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
-    repo = "rustup.rs";
+    repo = "rustup";
     rev = version;
-    sha256 = "1c0qz9s09ikgy23yssd57v7b5s005y128sldmq0xd9i1fryp129z";
+    sha256 = "0d7l3j8js16zgdx37kykavr343v65vchldz88j38jjyc43pcm2pg";
   };
 
-  cargoSha256 = "0rjm01pnb2w39c0jrscmhhsx9gsi3sl9cxd838m77h9pzwsp1h40";
+  cargoSha256 = "0kn3sq99sgsh8msignyb4vjllv0wf1crqaw7sqp3ggmlkrdq35sd";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/development/tools/scalafmt/default.nix b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
index 1f789a6ade5d..8de74efad1db 100644
--- a/nixpkgs/pkgs/development/tools/scalafmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "2.0.1";
+  version = "2.2.2";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -13,7 +13,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "1k5qn0w6hqql8yqhlma67ilp8hf0xwxwkzvwg8bkky1jvsapjsl5";
+    outputHash     = "08qzcmps2biaf267nv945a924ca7rw8w7gzmjfv32r7aayz6pk1l";
   };
 in
 stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/development/tools/scry/default.nix b/nixpkgs/pkgs/development/tools/scry/default.nix
index 9a87f5f93694..7bd3fa38332d 100644
--- a/nixpkgs/pkgs/development/tools/scry/default.nix
+++ b/nixpkgs/pkgs/development/tools/scry/default.nix
@@ -1,51 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, crystal, shards, llvm, which }:
+{ lib, fetchFromGitHub, crystal }:
 
-stdenv.mkDerivation {
+crystal.buildCrystalPackage rec {
   pname = "scry";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
-    owner  = "crystal-lang-tools";
-    repo   = "scry";
-    rev    = "543c1c3f764298f9fff192ca884d10f72338607d";
-    sha256 = "1yq7jap3y5pr2yqc6fn6bxshzwv7dz3w97incq7wpcvi7ibb4lcn";
+    owner = "crystal-lang-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ii4k9l3dgm1c9lllc8ni9dar59lrxik0v9iz7gk3d6v62wwnq79";
   };
 
-  patches = lib.optional (lib.versionAtLeast crystal.version "0.28") ./fix_for_crystal_0_28_and_above.patch;
+  shardsFile = ./shards.nix;
+  crystalBinaries.scry.src = "src/scry.cr";
 
-  nativeBuildInputs = [ crystal shards llvm which ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    shards build --release
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 -t $out/bin bin/scry
-
-    runHook postInstall
-  '';
-
-  # https://github.com/crystal-lang-tools/scry/issues/138
-  doCheck = false;
-
-  checkPhase = ''
-    runHook preCheck
-
-    crystal spec
-
-    runHook postCheck
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Code analysis server for the Crystal programming language";
-    homepage = https://github.com/crystal-lang-tools/scry;
+    homepage = "https://github.com/crystal-lang-tools/scry";
     license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/scry/shards.nix b/nixpkgs/pkgs/development/tools/scry/shards.nix
new file mode 100644
index 000000000000..31660ef7cd2b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/scry/shards.nix
@@ -0,0 +1,8 @@
+{
+  lsp = {
+    owner = "crystal-lang-tools";
+    repo = "lsp";
+    rev = "v0.1.0";
+    sha256 = "1sgsdgm2dmkp92a2lbaf2pgf80gljdlqzp9xkqvwz0rr92la6810";
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix b/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix
index eff06daac064..aed384ba61f9 100644
--- a/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -6,12 +6,12 @@ let
   allSpecs = {
     x86_64-linux = {
       system = "linux64";
-      sha256 = "04wb6h57daxmnv3a3xrcsznawbx7r8wyi1vk1g26z2l2ppcnsbzv";
+      sha256 = "155yilj9w8a6jbkx1axhhkizwdc12krl4xixn10j7n94bvny4w2y";
     };
 
     x86_64-darwin = {
       system = "mac64";
-      sha256 = "0f8j7m8ardaaw8pv02vxhwkqbcm34366bln0np0j0ig21d4fag09";
+      sha256 = "0dzy9ihhbhx4byr2kalwfbn6jbk1hinacdqi25lvhaprdbrh2igh";
     };
   };
 
@@ -28,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "chromedriver";
-  version = "76.0.3809.68";
+  version = "78.0.3904.70";
 
   src = fetchurl {
     url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = https://sites.google.com/a/chromium.org/chromedriver;
     description = "A WebDriver server for running Selenium tests on Chrome";
     license = licenses.bsd3;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = [ maintainers.goibhniu maintainers.marsam ];
     platforms = attrNames allSpecs;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/simavr/default.nix b/nixpkgs/pkgs/development/tools/simavr/default.nix
index 71f488c760a4..a455f9e5fc76 100644
--- a/nixpkgs/pkgs/development/tools/simavr/default.nix
+++ b/nixpkgs/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 {
@@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
     "AVR=avr-"
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+
   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/nixpkgs/pkgs/development/tools/skaffold/default.nix b/nixpkgs/pkgs/development/tools/skaffold/default.nix
index 58dde8386921..498de0edecfc 100644
--- a/nixpkgs/pkgs/development/tools/skaffold/default.nix
+++ b/nixpkgs/pkgs/development/tools/skaffold/default.nix
@@ -2,9 +2,9 @@
 
 buildGoPackage rec {
   pname = "skaffold";
-  version = "0.36.0";
-  # rev is the 0.36.0 commit, mainly for skaffold version command output
-  rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89";
+  version = "1.0.1";
+  # rev is the 1.0.1 commit, mainly for skaffold version command output
+  rev = "934dd5ad304bef89cb3619b5b2ef53eb8cf04715";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng";
+    sha256 = "0pvidf8m6v56qa3dlqls55jcmjqb54spkx7xxynvhj3590pjw4qx";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/sourcetrail/default.nix b/nixpkgs/pkgs/development/tools/sourcetrail/default.nix
index d84322bb5474..3d068b06f407 100644
--- a/nixpkgs/pkgs/development/tools/sourcetrail/default.nix
+++ b/nixpkgs/pkgs/development/tools/sourcetrail/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "sourcetrail";
-  version = "2019.2.39";
+  version = "2019.3.46";
 
   src = fetchurl {
     name = "sourtrail.tar.gz";
     url = "https://www.sourcetrail.com/downloads/${version}/linux/64bit";
-    sha256 = "13kzfnsb5lf9v6bqw41qljp5bgz2rd3w163r6xg59hzd3dv8f90q";
+    sha256 = "0dnkxr3fijcsbn6pd20lyxhr9ns6ji1c4dffly9s16yq4x9ad5r4";
   };
 
   nativeBuildInputs = [ autoPatchelfHook ];
diff --git a/nixpkgs/pkgs/development/tools/spirv-tools/default.nix b/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
index 550cd9dce278..f6702229374a 100644
--- a/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, python3, spirv-headers }:
 let
   # Update spirv-headers rev in lockstep according to DEPs file
-  version = "2019.3";
+  version = "2019.4";
 in
 
 stdenv.mkDerivation rec {
@@ -12,11 +12,11 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
     rev = "v${version}";
-    sha256 = "1wvipjcjsi815ls08s3dz9hwlbb59dbl4syxkskg1k9d5jjph1a8";
+    sha256 = "17bbvhk4p42x4jlvcr5p9903xiiryw57c8yyfxmqik10s8601an9";
   };
   enableParallelBuilding = true;
 
-  buildInputs = [ cmake python3 ];
+  nativeBuildInputs = [ cmake python3 ];
 
   cmakeFlags = [ "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" ];
 
diff --git a/nixpkgs/pkgs/development/tools/spring-boot/default.nix b/nixpkgs/pkgs/development/tools/spring-boot/default.nix
new file mode 100644
index 000000000000..9e0e2b5dee48
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/spring-boot/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchzip, jdk, makeWrapper, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "spring-boot";
+  version = "2.1.9";
+
+  src = fetchzip {
+    url = "https://repo.spring.io/release/org/springframework/boot/${pname}-cli/${version}.RELEASE/${pname}-cli-${version}.RELEASE-bin.zip";
+    sha256 = "03iphh5l9w9sizksidkv217qnqx3nh1zpw6kdjnn40j3mlabfb7j";
+  };
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  installPhase = ''
+    runHook preInstall
+    rm bin/spring.bat
+    installShellCompletion --bash shell-completion/bash/spring
+    installShellCompletion --zsh shell-completion/zsh/_spring
+    rm -r shell-completion
+    cp -r . $out
+    wrapProgram $out/bin/spring \
+      --prefix JAVA_HOME : ${jdk}
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      CLI which makes it easy to create spring-based applications
+    '';
+    longDescription = ''
+      Spring Boot makes it easy to create stand-alone, production-grade 
+      Spring-based Applications that you can run. We take an opinionated view 
+      of the Spring platform and third-party libraries, so that you can get 
+      started with minimum fuss. Most Spring Boot applications need very 
+      little Spring configuration.
+
+      You can use Spring Boot to create Java applications that can be started 
+      by using java -jar or more traditional war deployments. We also provide 
+      a command line tool that runs “spring scripts”.
+    '';
+    homepage = https://spring.io/projects/spring-boot;
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/sslmate/default.nix b/nixpkgs/pkgs/development/tools/sslmate/default.nix
index 8683c75a696d..9fbdc2e2e872 100644
--- a/nixpkgs/pkgs/development/tools/sslmate/default.nix
+++ b/nixpkgs/pkgs/development/tools/sslmate/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vhppvy5vphipbycfilzxdly7nw12brscz4biawf3bl376yp7ljm";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [ perlPackages.perl makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/stagit/default.nix b/nixpkgs/pkgs/development/tools/stagit/default.nix
index f1a1ceb9bb19..8f4ee7ce6e53 100644
--- a/nixpkgs/pkgs/development/tools/stagit/default.nix
+++ b/nixpkgs/pkgs/development/tools/stagit/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0gh28spkry9wbmdj0hmvz3680fvbyzab9cifhj1p76f4fz27rnv9";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [ libgit2 ];
 
diff --git a/nixpkgs/pkgs/development/tools/tora/default.nix b/nixpkgs/pkgs/development/tools/tora/default.nix
index 74f1f22426f9..213c926521fe 100644
--- a/nixpkgs/pkgs/development/tools/tora/default.nix
+++ b/nixpkgs/pkgs/development/tools/tora/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeWrapper
-, boost, doxygen, openssl, mysql, postgresql, graphviz, loki
+, boost, doxygen, openssl, libmysqlclient, postgresql, graphviz, loki
 , qscintilla, qtbase, qttools }:
 
 mkDerivation {
@@ -16,7 +16,7 @@ mkDerivation {
   nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper qttools ];
 
   buildInputs = [
-    boost doxygen graphviz loki mysql.connector-c openssl postgresql qscintilla qtbase
+    boost doxygen graphviz loki libmysqlclient openssl postgresql qscintilla qtbase
   ];
 
   preConfigure = ''
@@ -40,14 +40,9 @@ mkDerivation {
   ];
 
   # these libraries are only searched for at runtime so we need to force-link them
-  NIX_LDFLAGS = [
-    "-lgvc"
-    "-lmysqlclient"
-    "-lecpg"
-    "-lssl"
-  ];
+  NIX_LDFLAGS = "-lgvc -lmysqlclient -lecpg -lssl";
 
-  NIX_CFLAGS_COMPILE = [ "-L${mysql.connector-c}/lib/mysql" "-I${mysql.connector-c}/include/mysql" ];
+  NIX_CFLAGS_COMPILE = "-L${libmysqlclient}/lib/mysql -I${libmysqlclient}/include/mysql";
 
   qtWrapperArgs = [
     ''--prefix PATH : ${lib.getBin graphviz}/bin''
diff --git a/nixpkgs/pkgs/development/tools/trellis/default.nix b/nixpkgs/pkgs/development/tools/trellis/default.nix
index c98529484d51..007f97753cdc 100644
--- a/nixpkgs/pkgs/development/tools/trellis/default.nix
+++ b/nixpkgs/pkgs/development/tools/trellis/default.nix
@@ -8,35 +8,34 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "trellis";
-  version = "2019.09.01";
+  version = "2019.10.13";
+  # git describe --tags
   realVersion = with stdenv.lib; with builtins;
-    "1.0-53-g${substring 0 7 (elemAt srcs 0).rev}";
+    "1.0-95-g${substring 0 7 (elemAt srcs 0).rev}";
 
   srcs = [
     (fetchFromGitHub {
-       owner  = "symbiflow";
+       owner  = "SymbiFlow";
        repo   = "prjtrellis";
-       rev    = "98871e0e2959bc8cb4de3c7ebe2b9eddc4efe00c";
-       sha256 = "1yq7ih2xvhfvdpijmbqjq6jcngl6710kiv66hkww5ih8j5dzsq5l";
+       rev    = "e2e10bfdfaa29fed5d19e83dc7460be9880f5af4";
+       sha256 = "0l59nliv75rdxnajl2plilib0r0bzbr3qqzc88cdal841x1m0izs";
        name   = "trellis";
      })
     (fetchFromGitHub {
-      owner  = "symbiflow";
+      owner  = "SymbiFlow";
       repo   = "prjtrellis-db";
-      rev    = "b4d626b6402c131e9a035470ffe4cf33ccbe7986";
-      sha256 = "0k26lq6c049ja8hhqcljwjb1y5k4gcici23l2n86gyp83jr03ilx";
-      name   = "database";
+      rev    = "5b5bb70bae13e6b8c971b4b2d26931f4a64b51bc";
+      sha256 = "1fi963zdny3gxdvq564037qs22i7b4y7mxc3yij2a1ww8rzrnpdj";
+      name   = "trellis-database";
     })
   ];
   sourceRoot = "trellis";
 
   buildInputs = [ boostWithPython3 ];
   nativeBuildInputs = [ cmake python3 ];
+  cmakeFlags = [ "-DCURRENT_GIT_VERSION=${realVersion}" ];
 
   preConfigure = with builtins; ''
-    substituteInPlace libtrellis/CMakeLists.txt \
-      --replace "git describe --tags" "echo ${realVersion}"
-
     rmdir database && ln -sfv ${elemAt srcs 1} ./database
 
     source environment.sh
diff --git a/nixpkgs/pkgs/development/tools/tychus/default.nix b/nixpkgs/pkgs/development/tools/tychus/default.nix
index 01531d23c781..5908ceb0f80d 100644
--- a/nixpkgs/pkgs/development/tools/tychus/default.nix
+++ b/nixpkgs/pkgs/development/tools/tychus/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
 
-  buildFlags = "--tags release";
+  buildFlags = [ "--tags" "release" ];
 
   meta = {
     description = "Command line utility to live-reload your application.";
diff --git a/nixpkgs/pkgs/development/tools/unityhub/default.nix b/nixpkgs/pkgs/development/tools/unityhub/default.nix
new file mode 100644
index 000000000000..f52d790c1063
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/unityhub/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
+
+appimageTools.wrapType2 rec {
+  name = "unityhub";
+
+  extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk_pixbuf glib libGL libGLU nss nspr
+    alsaLib cups gnome2.GConf libcap fontconfig freetype pango
+    cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
+    libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
+
+    libX11 libXcursor libXdamage libXfixes libXrender libXi
+    libXcomposite libXext libXrandr libXtst libSM libICE libxcb ]);
+
+  profile = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  src = fetchurl {
+    url = "https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage";
+    sha256 = "1rx7ih94ig3pd1yx1d3fpx7zpixq3j5birkpnzkh778qqsdrg0nf";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://unity3d.com/;
+    description = "Game development tool";
+    longDescription = ''
+      Popular development platform for creating 2D and 3D multiplatform games
+      and interactive experiences.
+    '';
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/vagrant/default.nix b/nixpkgs/pkgs/development/tools/vagrant/default.nix
index e5b23f14517d..4ef723c9a1fa 100644
--- a/nixpkgs/pkgs/development/tools/vagrant/default.nix
+++ b/nixpkgs/pkgs/development/tools/vagrant/default.nix
@@ -4,9 +4,9 @@
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.2.5";
+  version = "2.2.6";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "0a228f5185b24b72efcc5a3924f86fa9fabab6f7562c3c63c1d9d239aa72a7b1";
+  sha256 = "0nssq2i4riif0q72h5qp7dlxd4shqcyvm1bx9adppcacb77gpnhv";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
@@ -25,6 +25,17 @@ let
         inherit version;
       };
     } // lib.optionalAttrs withLibvirt (import ./gemset_libvirt.nix));
+
+    # This replaces the gem symlinks with directories, resolving this
+    # error when running vagrant (I have no idea why):
+    # /nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/i18n-1.1.1/lib/i18n/config.rb:6:in `<module:I18n>': uninitialized constant I18n::Config (NameError)
+    postBuild = ''
+      for gem in "$out"/lib/ruby/gems/*/gems/*; do
+        cp -a "$gem/" "$gem.new"
+        rm "$gem"
+        mv "$gem.new" "$gem"
+      done
+    '';
   };
 
 in buildRubyGem rec {
@@ -79,12 +90,7 @@ in buildRubyGem rec {
   '';
 
   installCheckPhase = ''
-    if [[ "$("$out/bin/vagrant" --version)" == "Vagrant ${version}" ]]; then
-      echo 'Vagrant smoke check passed'
-    else
-      echo 'Vagrant smoke check failed'
-      return 1
-    fi
+    HOME="$(mktemp -d)" $out/bin/vagrant init --output - > /dev/null
   '';
 
   # `patchShebangsAuto` patches this one script which is intended to run
diff --git a/nixpkgs/pkgs/development/tools/vagrant/gemset.nix b/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
index ad3422d8b599..f9aebbe6996d 100644
--- a/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
@@ -10,6 +10,8 @@
     version = "1.0.1";
   };
   builder = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
@@ -19,6 +21,8 @@
   };
   childprocess = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv";
@@ -36,14 +40,6 @@
     };
     version = "1.1.5";
   };
-  diff-lcs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
-      type = "gem";
-    };
-    version = "1.3";
-  };
   domain_name = {
     dependencies = ["unf"];
     groups = ["default"];
@@ -56,6 +52,8 @@
     version = "0.5.20190701";
   };
   ed25519 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
@@ -63,7 +61,19 @@
     };
     version = "1.2.4";
   };
+  erubi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
   erubis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
@@ -94,6 +104,8 @@
   };
   gyoku = {
     dependencies = ["builder"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
@@ -102,6 +114,8 @@
     version = "1.3.1";
   };
   hashicorp-checkpoint = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd";
@@ -111,6 +125,8 @@
   };
   http-cookie = {
     dependencies = ["domain_name"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
@@ -119,6 +135,8 @@
     version = "1.0.3";
   };
   httpclient = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
@@ -128,6 +146,8 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
@@ -137,6 +157,8 @@
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
@@ -145,6 +167,8 @@
     version = "3.1.5";
   };
   little-plugger = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
@@ -153,6 +177,8 @@
     version = "1.1.4";
   };
   log4r = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv";
@@ -162,6 +188,8 @@
   };
   logging = {
     dependencies = ["little-plugger" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
@@ -171,33 +199,39 @@
   };
   mime-types = {
     dependencies = ["mime-types-data"];
+    groups = ["default"];
+    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";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   net-scp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
@@ -207,6 +241,8 @@
   };
   net-sftp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
@@ -215,6 +251,8 @@
     version = "2.1.2";
   };
   net-ssh = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0jglf8rxvlw6is5019r6kwsdhw38zm3z39jbghdbj449r6h7h77n";
@@ -223,6 +261,8 @@
     version = "5.1.0";
   };
   netrc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
@@ -231,6 +271,8 @@
     version = "0.11.0";
   };
   nori = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
@@ -239,6 +281,8 @@
     version = "2.6.0";
   };
   rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
@@ -248,6 +292,8 @@
   };
   rb-inotify = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
@@ -257,6 +303,8 @@
   };
   rb-kqueue = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14mhzrhs2j43vj36i1qq4z29nd860shrslfik015f4kf1jiaqcrw";
@@ -266,6 +314,8 @@
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
@@ -273,51 +323,9 @@
     };
     version = "2.0.2";
   };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
-      type = "gem";
-    };
-    version = "3.5.4";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-support = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
   ruby_dep = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0v0qznxz999lx4vs76mr590r90i0cm5m76wwvgis7sq4y21l308l";
@@ -326,6 +334,8 @@
     version = "1.3.1";
   };
   rubyntlm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
@@ -338,21 +348,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
-      type = "gem";
-    };
-    version = "1.2.3";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
+      sha256 = "0i5dhyiavmk2yc7xyfwzp3m476f7d9mhigibsw37jqpdq4vmi4cv";
       type = "gem";
     };
-    version = "0.18.1";
+    version = "1.2.4";
   };
   unf = {
     dependencies = ["unf_ext"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
@@ -370,27 +374,20 @@
     };
     version = "0.0.7.6";
   };
-  vagrant-spec = {
-    dependencies = ["childprocess" "log4r" "rspec" "thor"];
-    source = {
-      fetchSubmodules = false;
-      rev = "abfc34474d122235d56e4c6b6fb5d3e35bedfa90";
-      sha256 = "08xy2c82lrxkwjlvrbx1v32968a6psni3952y3knriqgygv2kzbn";
-      type = "git";
-      url = "https://github.com/hashicorp/vagrant-spec.git";
-    };
-    version = "0.0.1";
-  };
   vagrant_cloud = {
     dependencies = ["rest-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0451x3ab869hbycffcq656dm7mmjwmnxcyhv6g7dpdv3acg64783";
+      sha256 = "16jpnq4xa7gavm024wk1rgmkfb850g89rv56f26dkh0rdhbqiqvs";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.3";
   };
   wdm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18";
@@ -399,32 +396,36 @@
     version = "0.1.1";
   };
   winrm = {
-    dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
+    dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vxrclxc5l8n2agwvv291740s6gna2phg3lkybjb0ldkmpi3sj2";
+      sha256 = "1sl14qdshkmficdsy9z57xmdp5z9riv7jc5lv005n0h04mg7d47b";
       type = "gem";
     };
-    version = "2.3.2";
+    version = "2.3.3";
   };
   winrm-elevated = {
-    dependencies = ["winrm" "winrm-fs"];
+    dependencies = ["erubi" "winrm" "winrm-fs"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1saqc3ffh075y6fdkc7iqmn0v3pnidvfw0sh09w9cn6jvpsdxizk";
+      sha256 = "13d0pjzffbqicg08fsx4dsl6ibsqda5vx5d9f6hsds2z6mdilrab";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   winrm-fs = {
-    dependencies = ["erubis" "logging" "rubyzip" "winrm"];
+    dependencies = ["erubi" "logging" "rubyzip" "winrm"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3";
+      sha256 = "0phhzliw47hmpi3ddygs500kfxa7il5yzmp7dw4ix2dvhrxrj7s6";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.3.3";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/vala-lint/default.nix b/nixpkgs/pkgs/development/tools/vala-lint/default.nix
new file mode 100644
index 000000000000..92fb6ebcc682
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/vala-lint/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchFromGitHub
+, glib
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, vala
+, gettext
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vala-lint-unstable";
+  version = "2019-10-11";
+
+  src = fetchFromGitHub {
+    owner = "vala-lang";
+    repo = "vala-lint";
+    rev = "a077bbec30dea128616a23583ce3f8364ff2ef11";
+    sha256 = "0w0rmaj4v42wc4vq2lfjnj6airag5ahv6522xkw3j1nmccxq3s72";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+  ];
+
+  # See https://github.com/vala-lang/vala-lint/issues/133
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/vala-lang/vala-lint;
+    description = "Check Vala code files for code-style errors";
+    longDescription = ''
+      Small command line tool and library for checking Vala code files for code-style errors.
+      Based on the elementary Code-Style guidelines.
+    '';
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/valadoc/default.nix b/nixpkgs/pkgs/development/tools/valadoc/default.nix
deleted file mode 100644
index 71c47a7394b7..000000000000
--- a/nixpkgs/pkgs/development/tools/valadoc/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, fetchurl, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobject-introspection, expat}:
-stdenv.mkDerivation rec {
-  version = "0.36.2";
-  pname = "valadoc";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/valadoc/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hfaskbm7y4z4jf6lxm8hg4c0b8621qn1gchxjxcngq0cpx79z9h";
-  };
-
-  nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobject-introspection ];
-  buildInputs = [ graphviz glib gnome3.libgee expat ];
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = "valadoc";
-    };
-  };
-
-  meta = with stdenv.lib; {
-    description = "A documentation generator for generating API documentation from Vala source code";
-    homepage    = https://valadoc.org;
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ sternenseemann ];
-    platforms   = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/vim-vint/default.nix b/nixpkgs/pkgs/development/tools/vim-vint/default.nix
index 27296edfac0b..382871ff6af4 100644
--- a/nixpkgs/pkgs/development/tools/vim-vint/default.nix
+++ b/nixpkgs/pkgs/development/tools/vim-vint/default.nix
@@ -1,31 +1,26 @@
-{ fetchFromGitHub, lib, python3Packages }:
+{ lib, python3Packages }:
 
 with python3Packages;
 
 buildPythonApplication rec {
   pname = "vim-vint";
-  version = "0.3.20";
+  version = "0.3.21";
 
-  src = fetchFromGitHub {
-    owner = "kuniwak";
-    repo = "vint";
-    rev = "v${version}";
-    sha256 = "0ij9br4z9h8qay6l41sicr4lbjc38hxsn3lgjrj9zpn2b3585syx";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "15qdh8fby9xgfjxidcfv1xmrqqrxxapky7zmyn46qx1abhp9piax";
   };
 
   # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails.
   disabled = ! pythonAtLeast "3.5";
 
-  # Prevent setup.py from adding dependencies in run-time and insisting on specific package versions
-  postPatch = ''
-    substituteInPlace setup.py --replace "return requires" "return []"
-  '';
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ ansicolor chardet pyyaml ] ;
+  checkInputs = [ pytest pytestcov ];
+  propagatedBuildInputs = [ ansicolor chardet pyyaml setuptools ];
 
-  # The acceptance tests check for stdout and location of binary files, which fails in nix-build.
-  checkPhase = ''
-    py.test -k "not acceptance"
+  # Unpin test dependency versions. This is fixed in master but not yet released.
+  preCheck = ''
+    sed -i 's/==.*//g' test-requirements.txt
+    sed -i 's/mock == 1.0.1/mock/g' setup.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/vogl/default.nix b/nixpkgs/pkgs/development/tools/vogl/default.nix
index e6dccbd332e1..266024d323de 100644
--- a/nixpkgs/pkgs/development/tools/vogl/default.nix
+++ b/nixpkgs/pkgs/development/tools/vogl/default.nix
@@ -52,5 +52,6 @@ mkDerivation {
     license = licenses.mit;
     maintainers = [ maintainers.deepfire ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/wabt/default.nix b/nixpkgs/pkgs/development/tools/wabt/default.nix
index f8936e27516a..4c7df9b12d8b 100644
--- a/nixpkgs/pkgs/development/tools/wabt/default.nix
+++ b/nixpkgs/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.11";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner  = "WebAssembly";
     repo   = "wabt";
     rev    = version;
-    sha256 = "0hn88vlqyclpk79v3wg3lrssd9vwhjdgvb41g03jqakygxxgnmp5";
+    sha256 = "1zlv3740wkqj4mn6sr84h0x6wk2lcp4pwwmqsh5yyqp1j1glbsa0";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/tools/wally-cli/default.nix b/nixpkgs/pkgs/development/tools/wally-cli/default.nix
new file mode 100644
index 000000000000..b7333e456442
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/wally-cli/deps.nix b/nixpkgs/pkgs/development/tools/wally-cli/deps.nix
new file mode 100644
index 000000000000..8edac40c0d57
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
new file mode 100644
index 000000000000..cd06dc30fbef
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
@@ -0,0 +1,2384 @@
+From db555b49901f6f9175abaa8e4a6c4ea0253c0acb Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Tue, 7 Jan 2020 21:24:10 +0100
+Subject: [PATCH] Add cargo.lock
+
+---
+ Cargo.lock | 2365 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2365 insertions(+)
+ create mode 100644 Cargo.lock
+
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 00000000..852644b8
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,2365 @@
++# 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.58",
++]
++
++[[package]]
++name = "adler32"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.26"
++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.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "ascii"
++version = "0.8.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "askama"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "askama_derive 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "askama_shared 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "askama_derive"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "askama_shared 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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)",
++]
++
++[[package]]
++name = "askama_shared"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "assert_cmd"
++version = "0.11.1"
++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.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)",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "backtrace"
++version = "0.3.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.66 (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.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.9.3"
++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.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "blake2b_simd"
++version = "0.5.10"
++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.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)",
++]
++
++[[package]]
++name = "buf_redux"
++version = "0.8.4"
++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.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.35",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.49"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "char"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "chrono"
++version = "0.4.10"
++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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "chunked_transfer"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "closures"
++version = "0.1.0"
++dependencies = [
++ "js-sys 0.3.35",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.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)",
++]
++
++[[package]]
++name = "color_quant"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "console_error_panic_hook"
++version = "0.1.6"
++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.58",
++]
++
++[[package]]
++name = "console_log"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.8.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)",
++ "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.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.2.1"
++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)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++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)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[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.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.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)",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.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.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "deflate"
++version = "0.7.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "diff"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "difference"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "dirs"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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)",
++]
++
++[[package]]
++name = "docopt"
++version = "1.1.0"
++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)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dom"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "either"
++version = "1.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "enum_primitive"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "escargot"
++version = "0.4.0"
++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)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (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.35",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "filetime"
++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.66 (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.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "futures-channel-preview"
++version = "0.3.0-alpha.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "futures-core-preview"
++version = "0.3.0-alpha.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "getrandom"
++version = "0.1.14"
++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.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "gif"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lzw 0.10.0 (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 = "guide-supported-types-examples"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.58",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "httparse"
++version = "1.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "id-arena"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "idna"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "image"
++version = "0.12.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "gif 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "jpeg-decoder 0.1.18 (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.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "import_js"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "inflate"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "jpeg-decoder"
++version = "0.1.18"
++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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "js-sys"
++version = "0.3.35"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-test 0.3.8",
++]
++
++[[package]]
++name = "julia_set"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "leb128"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libz-sys"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "log"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "log"
++version = "0.4.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)",
++]
++
++[[package]]
++name = "lzw"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memoffset"
++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 = "mime"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mime_guess"
++version = "1.8.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "multipart"
++version = "0.15.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quick-error 1.2.3 (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.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)",
++]
++
++[[package]]
++name = "no-std"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "nom"
++version = "4.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "normalize-line-endings"
++version = "0.2.2"
++source = "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"
++dependencies = [
++ "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]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.1.42"
++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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.1.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "openssl-src"
++version = "111.6.1+1.1.1d"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.53"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-src 111.6.1+1.1.1d (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "performance"
++version = "0.1.0"
++dependencies = [
++ "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "phf"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "png"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "deflate 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "predicates"
++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.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)",
++]
++
++[[package]]
++name = "predicates-core"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "predicates-tree"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "treeline 0.1.0 (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.7"
++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)",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[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.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.4.6"
++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.66 (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)",
++]
++
++[[package]]
++name = "rand"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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.66 (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)",
++]
++
++[[package]]
++name = "rand"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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)",
++ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_isaac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_jitter"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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)",
++]
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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.66 (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)",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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)",
++]
++
++[[package]]
++name = "rand_xorshift"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rayon"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rayon-core"
++version = "1.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.2.1 (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.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "raytrace-parallel"
++version = "0.1.0"
++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.35",
++ "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.7.0 (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.58",
++ "wasm-bindgen-futures 0.4.8",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "raytracer"
++version = "0.1.0"
++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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_users"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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)",
++]
++
++[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "request-animation-frame"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "rouille"
++version = "3.0.0"
++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.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.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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (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)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tiny_http 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-argon2"
++version = "0.5.1"
++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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-duck-typed-interfaces"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "safemem"
++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.35",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-test 0.3.8",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.16"
++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)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "scoped-tls"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "scoped_threadpool"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "serde"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.44"
++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.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "sha1"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "siphasher"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "smallvec"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "socket2"
++version = "0.3.11"
++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.66 (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 = "sourcefile"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "strsim"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[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.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (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 = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++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.66 (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)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "term"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wincolor 1.0.2 (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"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "threadpool"
++version = "1.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "time"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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 = "tiny_http"
++version = "0.6.2"
++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.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)",
++]
++
++[[package]]
++name = "todomvc"
++version = "0.1.0"
++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.35",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "toml"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "treeline"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "trybuild"
++version = "1.0.19"
++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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (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 = "twoway"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "typescript-tests"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "unicase"
++version = "1.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[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"
++
++[[package]]
++name = "url"
++version = "1.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "vcpkg"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "version_check"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "walrus"
++version = "0.14.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (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.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "walrus-macro"
++version = "0.14.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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.58"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.35",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-macro 0.2.58",
++ "wasm-bindgen-test 0.3.8",
++ "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.58"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.58"
++dependencies = [
++ "bumpalo 3.1.2 (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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-shared 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-benchmark"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "wasm-bindgen-cli"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (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.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "diff 0.1.12 (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.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.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.3.0 (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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-cli-support 0.2.58",
++ "wasm-bindgen-shared 0.2.58",
++ "wit-printer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-cli-support"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.9.3 (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.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-anyref-xform 0.2.58",
++ "wasm-bindgen-multi-value-xform 0.2.58",
++ "wasm-bindgen-shared 0.2.58",
++ "wasm-bindgen-threads-xform 0.2.58",
++ "wasm-bindgen-wasm-conventions 0.2.58",
++ "wasm-bindgen-wasm-interpreter 0.2.58",
++ "wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-futures"
++version = "0.4.8"
++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.35",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-test 0.3.8",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.58"
++dependencies = [
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trybuild 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-macro-support 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.58"
++dependencies = [
++ "proc-macro2 1.0.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.58",
++ "wasm-bindgen-shared 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-multi-value-xform"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-paint"
++version = "0.1.0"
++dependencies = [
++ "js-sys 0.3.35",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.58"
++
++[[package]]
++name = "wasm-bindgen-test"
++version = "0.3.8"
++dependencies = [
++ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.35",
++ "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-test-macro 0.3.8",
++]
++
++[[package]]
++name = "wasm-bindgen-test-crate-a"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-test-crate-b"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-test-macro"
++version = "0.3.8"
++dependencies = [
++ "proc-macro2 1.0.7 (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.58"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-wasm-conventions 0.2.58",
++]
++
++[[package]]
++name = "wasm-bindgen-wasm-conventions"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-wasm-interpreter"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (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.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-bindgen-webidl"
++version = "0.2.58"
++dependencies = [
++ "anyhow 1.0.26 (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.7 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.58",
++ "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-in-wasm"
++version = "0.1.0"
++dependencies = [
++ "js-sys 0.3.35",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++]
++
++[[package]]
++name = "wasm2js"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++]
++
++[[package]]
++name = "wasmparser"
++version = "0.42.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wasmprinter"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wast"
++version = "3.0.4"
++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 = "wast"
++version = "5.0.1"
++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.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "web-sys"
++version = "0.3.35"
++dependencies = [
++ "anyhow 1.0.26 (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.35",
++ "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-futures 0.4.8",
++ "wasm-bindgen-test 0.3.8",
++ "wasm-bindgen-webidl 0.2.58",
++]
++
++[[package]]
++name = "webaudio"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "webgl"
++version = "0.1.0"
++dependencies = [
++ "js-sys 0.3.35",
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "webidl-tests"
++version = "0.1.0"
++dependencies = [
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.35",
++ "wasm-bindgen 0.2.58",
++ "wasm-bindgen-test 0.3.8",
++ "wasm-bindgen-webidl 0.2.58",
++]
++
++[[package]]
++name = "websockets"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "weedle"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wincolor"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-parser"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-printer"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-schema-version"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wit-text"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-validator"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-walrus"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-writer"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "without-a-bundler"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[[package]]
++name = "without-a-bundler-no-modules"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.58",
++ "web-sys 0.3.35",
++]
++
++[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.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
++"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
++"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.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++"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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
++"checksum buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
++"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)" = "e450b8da92aa6f274e7c6437692f9f2ce6d701fb73bacfcf87897b3f89a4c20e"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"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.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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"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 diff 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
++"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.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.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.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
++"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.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
++"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"
++"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
++"checksum image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d95816db758249fe16f23a4e23f1a3a817fe11892dbfd1c5836f625324702158"
++"checksum inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb"
++"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++"checksum jpeg-decoder 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0256f0aec7352539102a9efbcb75543227b7ab1117e0f95450023af730128451"
++"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.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"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.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 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.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.1+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005"
++"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.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.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.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
++"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++"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.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
++"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
++"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
++"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
++"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
++"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
++"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
++"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++"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.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
++"checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
++"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"
++"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum rouille 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "112568052ec17fa26c6c11c40acbb30d3ad244bf3d6da0be181f5e7e42e5004f"
++"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.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.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++"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 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
++"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.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
++"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
++"checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
++"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"
++"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
++"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.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.19 (registry+https://github.com/rust-lang/crates.io-index)" = "987d6fdc45ddd7f3be5aa7386c8c8a844d1655c95b9ed948a9cd9cded8f2b79f"
++"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.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.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
++"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4d96e9ec3f81fdb3210b12b2b1e9e39369c8050a3a28e692e5247e3ab5196410"
++"checksum walrus-macro 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc16925d405153a91e01cdac2a5549aa25ca9148b5176e25e601f6536344d94"
++"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++"checksum wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1527c84a5bd585215f29c06b0e2a5274e478ad4dfc970d26ffad66fdc6cb311d"
++"checksum wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89101d1890503f4d87cc0512ff2568c00d6c13ed9de3880569e5c9c21556c06c"
++"checksum wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "233648f540f07fce9b972436f2fbcae8a750c1121b6d32d949e1a44b4d9fc7b1"
++"checksum wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8d1de68310854a9840d39487701a8c1acccb5c9f9f2650d5fce3cdfe6650c372"
++"checksum wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d916cc60b1b79ac1ca7683af8d6ec56b789167f7f696b3f1ab3d98961129f192"
++"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"
++"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 wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6bb31e17473db76d44713485a85dec22d7786958a9a9b9693cfe0d7162c1b4f5"
++"checksum wit-printer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8c76e17384f4feb766d109a42c309b78de75ea2b3745f663ac3f5f331633f77f"
++"checksum wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bfee4a6a4716eefa0682e7a3b836152e894a3e4f34a9d6c2c3e1c94429bfe36a"
++"checksum wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa19a002c984e25356af8938a8f4b7f0c9fe3963498e7ae1f90d64da9e563f5"
++"checksum wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "676e5641088526a9bdcab24dc2f675f464f4ca1a4714aa90307464aa6658b5ba"
++"checksum wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e14fbb9453201558c582d227c2b75df5c050409f467e8c220fcd57dc369280a"
++"checksum wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebeb128df9e103e61f8ddd8a190259f3c48b73fe86a5932f40f4de526ef357e8"
+-- 
+2.23.1
+
diff --git a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
new file mode 100644
index 000000000000..e949da2cf7e8
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -0,0 +1,28 @@
+{ rustPlatform, fetchFromGitHub, lib, openssl, pkgconfig, stdenv, curl, Security, ... }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wasm-bindgen-cli";
+  version = "0.2.58";
+
+  src = fetchFromGitHub {
+    owner = "rustwasm";
+    repo = "wasm-bindgen";
+    rev = version;
+    sha256 = "18n30i1pzrhm2wasa1737j9gihx1d6pwx77z552dcj1rdp7ar6ir";
+  };
+
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "1kkvgqvn08pv0654b7s40vs92myzfiv965561mwfzhj8fx8f1y18";
+  cargoPatches = [ ./0001-Add-cargo.lock.patch ];
+  cargoBuildFlags = [ "-p" pname ];
+
+  meta = with lib; {
+    homepage = https://rustwasm.github.io/docs/wasm-bindgen/;
+    license = licenses.asl20;
+    description = "Facilitating high-level interactions between wasm modules and JavaScript";
+    maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/wiiload/default.nix b/nixpkgs/pkgs/development/tools/wiiload/default.nix
index 8db830b3284e..95f54050184d 100644
--- a/nixpkgs/pkgs/development/tools/wiiload/default.nix
+++ b/nixpkgs/pkgs/development/tools/wiiload/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoconf, automake, zlib }:
 stdenv.mkDerivation rec {
-  version = "v0.5.1";
+  version = "0.5.1";
   pname = "wiiload";
 
   nativeBuildInputs = [ autoconf automake ];
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "devkitPro";
     repo  = "wiiload";
-    rev = version;
+    rev = "v${version}";
     sha256 = "0dffy603zggkqv7g1a2jninmi64vy519gpgkdfhjnijhdm9gs5m3";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/xcbuild/setup-hook.sh b/nixpkgs/pkgs/development/tools/xcbuild/setup-hook.sh
index 9dc03a61f62e..f4b5abf2d8d3 100644
--- a/nixpkgs/pkgs/development/tools/xcbuild/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/xcbuild/setup-hook.sh
@@ -20,7 +20,7 @@ xcbuildInstallPhase () {
 }
 
 buildPhase=xcbuildBuildPhase
-if [ -z "$installPhase" ]; then
+if [ -z "${installPhase-}" ]; then
     installPhase=xcbuildInstallPhase
 fi
 
diff --git a/nixpkgs/pkgs/development/tools/yarn/default.nix b/nixpkgs/pkgs/development/tools/yarn/default.nix
index 5dc0a63c26e2..154b228e0e11 100644
--- a/nixpkgs/pkgs/development/tools/yarn/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.17.3";
+  version = "1.21.1";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "050bd7bzn1kkva03q3ay2jlq574yp4k5g1pyrrdvk2cr60c4j1vj";
+    sha256 = "1yw3v62a6309f9hr189870i9jw2a15pkians1nnfjqczzh7r5pih";
   };
 
   buildInputs = [ nodejs ];
diff --git a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
index b15b40c4a043..fc9b149887a5 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index f5989390c4b0..22032e145d3f 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/yq/default.nix b/nixpkgs/pkgs/development/tools/yq/default.nix
index f93a24d56f9c..e9b54e67f5e2 100644
--- a/nixpkgs/pkgs/development/tools/yq/default.nix
+++ b/nixpkgs/pkgs/development/tools/yq/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "yq";
-  version = "2.7.2";
+  version = "2.8.1";
 
   propagatedBuildInputs = [ pyyaml xmltodict jq ];
 
@@ -11,7 +11,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fwvwy75n4rqzh6sxyp2jmjqc7939s0xmrhxw7zhdy6iacggvnpp";
+    sha256 = "042p3s011635rbjax9wvwjdrb1kyzw38a6qn59b0j0k7krz6rlr4";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index b0ede63fb6c1..796060de0b0a 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec{
   pname = "cypress";
-  version = "3.4.1";
+  version = "3.6.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "1gyl5c86gr5sv6z5rkg0afdxqrmsxmyrimm1p5q6jlrlyzki1bfs";
+    sha256 = "0vlfmhsz7zkp3bjsgqmp9n716d5znicl42hm0m9hl7ndvgm9z9z0";
   };
 
   # don't remove runtime deps
@@ -26,7 +26,11 @@ stdenv.mkDerivation rec{
     mkdir -p $out/bin $out/opt/cypress
     cp -vr * $out/opt/cypress/
     # Let's create the file binary_state ourselves to make the npm package happy on initial verification.
-    echo '{"verified": true}' > $out/opt/cypress/binary_state.json
+    # Cypress now verifies version by reading bin/resources/app/package.json
+    mkdir -p $out/bin/resources/app
+    printf '{"version":"%b"}' $version > $out/bin/resources/app/package.json
+    # Cypress now looks for binary_state.json in bin
+    echo '{"verified": true}' > $out/bin/binary_state.json
     ln -s $out/opt/cypress/Cypress $out/bin/Cypress
   '';
 
diff --git a/nixpkgs/pkgs/development/web/grails/default.nix b/nixpkgs/pkgs/development/web/grails/default.nix
index 5427f66478f3..1c5557f76243 100644
--- a/nixpkgs/pkgs/development/web/grails/default.nix
+++ b/nixpkgs/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "grails";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "13y0q3gcdpfwib3ahrgh36rhr4smbrq2g4xgvnk8c0a6wvmz85sx";
+    sha256 = "0igkzxqfm6lvp4s8w6kavdvjriq59q42jmj9ynbc669dvy6y6725";
   };
 
   buildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/web/insomnia/default.nix b/nixpkgs/pkgs/development/web/insomnia/default.nix
index 675564b789b9..00ffa9d1d62b 100644
--- a/nixpkgs/pkgs/development/web/insomnia/default.nix
+++ b/nixpkgs/pkgs/development/web/insomnia/default.nix
@@ -1,11 +1,9 @@
-{ stdenv, makeWrapper, fetchurl, dpkg
-, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype
-, gdk-pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2, at-spi2-atk
-, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
+{ stdenv, makeWrapper, fetchurl, dpkg, alsaLib, atk, cairo, cups, dbus, expat
+, fontconfig, freetype, gdk-pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2
+, at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
 , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
-, libudev0-shim, glibc, curl, openssl, autoPatchelfHook
-}:
+, libudev0-shim, glibc, curl, openssl, autoPatchelfHook }:
 
 let
   runtimeLibs = stdenv.lib.makeLibraryPath [
@@ -18,19 +16,16 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "6.6.2";
+  version = "7.0.5";
 
   src = fetchurl {
-    url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
-    sha256 = "0hlny3lac7whdbpp0pcyaa30h6x9536jsg95gj9irw2qjsx74xa7";
+    url =
+      "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
+    sha256 = "1zcxldfi4rxg7rr6r588blhihyh7ggcdy32vwzjklgq7ihsvx5bs";
   };
 
-  nativeBuildInputs = [
-    autoPatchelfHook
-    dpkg
-    makeWrapper
-    gobject-introspection wrapGAppsHook
-  ];
+  nativeBuildInputs =
+    [ autoPatchelfHook dpkg makeWrapper gobject-introspection wrapGAppsHook ];
 
   buildInputs = [
     alsaLib
@@ -87,11 +82,11 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://insomnia.rest/;
+    homepage = "https://insomnia.rest/";
     description = "The most intuitive cross-platform REST API Client";
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ markus1189 ];
+    maintainers = with maintainers; [ markus1189 babariviere ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/web/nodejs/disable-libatomic-darwin.patch b/nixpkgs/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
new file mode 100644
index 000000000000..7ac6c2ef8953
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
@@ -0,0 +1,11 @@
+--- a/node.gyp
++++ b/node.gyp
+@@ -289,7 +289,7 @@
+           '-Wl,-bnoerrmsg',
+         ],
+       }],
+-      ['OS in ("linux", "mac") and llvm_version != "0.0"', {
++      ['OS == "linux" and llvm_version != "0.0"', {
+         'libraries': ['-latomic'],
+       }],
+     ],
diff --git a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
index 6dc68750075c..ea23ad06cd21 100644
--- a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
@@ -53,12 +53,30 @@ in
     };
 
     buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ]
-      ++ [ python2 zlib libuv openssl http-parser icu ];
+      ++ [ zlib libuv openssl http-parser icu ];
 
-    nativeBuildInputs = [ which utillinux pkgconfig ]
+    nativeBuildInputs = [ which utillinux pkgconfig python2 ]
       ++ optionals stdenv.isDarwin [ xcbuild ];
 
-    configureFlags = sharedConfigureFlags ++ [ "--without-dtrace" ] ++ extraConfigFlags;
+    configureFlags = let
+      isCross = stdenv.hostPlatform != stdenv.buildPlatform;
+      host = stdenv.hostPlatform.platform;
+      isArm = stdenv.hostPlatform.isArm;
+    in sharedConfigureFlags ++ [
+      "--without-dtrace"
+    ] ++ (optionals isCross [
+      "--cross-compiling"
+      "--without-intl"
+      "--without-snapshot"
+    ]) ++ (optionals (isCross && isArm && hasAttr "fpu" host.gcc) [
+      "--with-arm-fpu=${host.gcc.fpu}"
+    ]) ++ (optionals (isCross && isArm && hasAttr "float-abi" host.gcc) [
+      "--with-arm-float-abi=${host.gcc.float-abi}"
+    ]) ++ (optionals (isCross && isArm) [
+      "--dest-cpu=arm"
+    ]) ++ extraConfigFlags;
+
+    configurePlatforms = [];
 
     dontDisableStatic = true;
 
@@ -96,7 +114,7 @@ in
     postInstall = ''
       PATH=$out/bin:$PATH patchShebangs $out
 
-      ${optionalString enableNpm ''
+      ${optionalString (enableNpm && stdenv.hostPlatform == stdenv.buildPlatform) ''
         mkdir -p $out/share/bash-completion/completions/
         $out/bin/npm completion > $out/share/bash-completion/completions/npm
         for dir in "$out/lib/node_modules/npm/man/"*; do
diff --git a/nixpkgs/pkgs/development/web/nodejs/v10.nix b/nixpkgs/pkgs/development/web/nodejs/v10.nix
index 939b065a55c2..a3b975e3718e 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v10.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v10.nix
@@ -5,6 +5,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "10.16.3";
-    sha256 = "1gbblbmvx7a0wkgp3fs2pf5c1hymdpnfc7zqp1slg5hmfhyi5wbv";
+    version = "10.18.0";
+    sha256 = "1ppycqffsy7ix6whdp6id7ld1qizwvjlzxyk12kxw4wphjmn49hb";
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v11.nix b/nixpkgs/pkgs/development/web/nodejs/v11.nix
deleted file mode 100644
index 7b60a3772d3c..000000000000
--- a/nixpkgs/pkgs/development/web/nodejs/v11.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ callPackage, openssl, enableNpm ? true }:
-
-let
-  buildNodejs = callPackage ./nodejs.nix { inherit openssl; };
-in
-  buildNodejs {
-    inherit enableNpm;
-    version = "11.15.0";
-    sha256 = "68a776c5d8b8b91a8f2adac2ca4ce4390ae1804883ec7ec9c0d6a6a64d306a76";
-  }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix
index ae74764384c6..8f84d24f70bd 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v12.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix
@@ -1,10 +1,12 @@
-{ callPackage, openssl, icu, enableNpm ? true }:
+{ stdenv, callPackage, openssl, icu, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix { inherit openssl icu; };
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.5.0";
-    sha256 = "08haqs104lw44l92bxfii18sdn7y1k07cz3p0ni9bhw7kh4vf5c7";
+    version = "12.14.1";
+    sha256 = "1nvsivl496fgaypbk2pqqh7py29g7wsggyjlqydy1c0q4f24nyw7";
+
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v13.nix b/nixpkgs/pkgs/development/web/nodejs/v13.nix
new file mode 100644
index 000000000000..1c32310a82d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/nodejs/v13.nix
@@ -0,0 +1,10 @@
+{ callPackage, openssl, icu, enableNpm ? true }:
+
+let
+  buildNodejs = callPackage ./nodejs.nix { inherit openssl icu; };
+in
+  buildNodejs {
+    inherit enableNpm;
+    version = "13.6.0";
+    sha256 = "0jf9nn5i1bijmrcgjvkp37fyz63lwwmxjh7nxipn2vw2qdx6ngsm";
+  }
diff --git a/nixpkgs/pkgs/development/web/postman/default.nix b/nixpkgs/pkgs/development/web/postman/default.nix
index 07bb13377456..3a0a8f343568 100644
--- a/nixpkgs/pkgs/development/web/postman/default.nix
+++ b/nixpkgs/pkgs/development/web/postman/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "7.6.0";
+  version = "7.14.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "sha256:03y82ydkj46l7dn35y944gnghbrrhc75y3yxdyidbh8fl3xvmlfv";
+    sha256 = "0565qvn5bnx1mc1ibxrqszzvls0gkg10js55439lwygfhkal0lvy";
     name = "${pname}.tar.gz";
   };
 
diff --git a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
index 61e7947a4796..d0de36d426a8 100644
--- a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bootstrap";
-  version = "4.3.1";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip";
-    sha256 = "08rkg4q8x36k03g1d81brhncrzb98sh8r53a5wg3i4p1nwqgv3w8";
+    sha256 = "1gdzp54f2xyvbw9hnyjlj4s69jvxkxr3hqclq1c8ajmx39s7rymz";
   };
 
   buildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/web/wml/default.nix b/nixpkgs/pkgs/development/web/wml/default.nix
index 57fedb78407e..6208bff15bc4 100644
--- a/nixpkgs/pkgs/development/web/wml/default.nix
+++ b/nixpkgs/pkgs/development/web/wml/default.nix
@@ -53,10 +53,10 @@ perlPackages.buildPerlPackage {
 
   enableParallelBuilding = false;
 
-  installTargets = "install";
+  installTargets = [ "install" ];
 
   meta = with stdenv.lib; {
-    homepage = http://thewml.org/;
+    homepage = "https://www.shlomifish.org/open-source/projects/website-meta-language/";
     description = "Off-line HTML generation toolkit for Unix";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/web/woff2/brotli-static.patch b/nixpkgs/pkgs/development/web/woff2/brotli-static.patch
new file mode 100644
index 000000000000..4ed6d7e741a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/woff2/brotli-static.patch
@@ -0,0 +1,36 @@
+diff a/cmake/FindBrotliDec.cmake b/cmake/FindBrotliDec.cmake
+--- a/cmake/FindBrotliDec.cmake
++++ b/cmake/FindBrotliDec.cmake
+@@ -18,10 +18,10 @@ find_path(BROTLIDEC_INCLUDE_DIRS
+     HINTS ${PC_BROTLIDEC_INCLUDEDIR}
+ )
+ 
+-find_library(BROTLIDEC_LIBRARIES
+-    NAMES brotlidec
+-    HINTS ${PC_BROTLIDEC_LIBDIR}
+-)
++if(NOT BUILD_SHARED_LIBS)
++  set(_S "STATIC_")
++endif()
++set(BROTLIDEC_LIBRARIES ${PC_BROTLIDEC_${_S}LIBRARIES})
+ 
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(BrotliDec
+diff a/cmake/FindBrotliEnc.cmake b/cmake/FindBrotliEnc.cmake
+--- a/cmake/FindBrotliEnc.cmake
++++ b/cmake/FindBrotliEnc.cmake
+@@ -18,10 +18,10 @@ find_path(BROTLIENC_INCLUDE_DIRS
+     HINTS ${PC_BROTLIENC_INCLUDEDIR}
+ )
+ 
+-find_library(BROTLIENC_LIBRARIES
+-    NAMES brotlienc
+-    HINTS ${PC_BROTLIENC_LIBDIR}
+-)
++if(NOT BUILD_SHARED_LIBS)
++  set(_S "STATIC_")
++endif()
++set(BROTLIENC_LIBRARIES ${PC_BROTLIENC_${_S}LIBRARIES})
+ 
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(BrotliEnc
diff --git a/nixpkgs/pkgs/development/web/woff2/default.nix b/nixpkgs/pkgs/development/web/woff2/default.nix
index b77184e56525..ff0484547fc2 100644
--- a/nixpkgs/pkgs/development/web/woff2/default.nix
+++ b/nixpkgs/pkgs/development/web/woff2/default.nix
@@ -1,4 +1,4 @@
-{ brotli, cmake, fetchFromGitHub, stdenv }:
+{ brotli, cmake, pkgconfig, fetchFromGitHub, stdenv, static ? false }:
 
 stdenv.mkDerivation rec {
   pname = "woff2";
@@ -13,18 +13,24 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "lib" ];
 
-  nativeBuildInputs = [ cmake ];
+  # Need to explicitly link to brotlicommon
+  patches = stdenv.lib.optional static ./brotli-static.patch;
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" ]
+    ++ stdenv.lib.optional static "-DCMAKE_SKIP_RPATH:BOOL=TRUE";
 
   propagatedBuildInputs = [ brotli ];
 
-  # without this binaries only get built if shared libs are disable
-  patchPhase = ''
+  postPatch = ''
+    # without this binaries only get built if shared libs are disable
     sed 's@^if (NOT BUILD_SHARED_LIBS)$@if (TRUE)@g' -i CMakeLists.txt
   '';
 
   meta = with stdenv.lib; {
     description = "Webfont compression reference code";
-    homepage = https://github.com/google/woff2;
+    homepage = "https://github.com/google/woff2";
     license = licenses.mit;
     maintainers = [ maintainers.hrdinka ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/games/0ad/game.nix b/nixpkgs/pkgs/games/0ad/game.nix
index ef285f8cb935..42464f71ae33 100644
--- a/nixpkgs/pkgs/games/0ad/game.nix
+++ b/nixpkgs/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,11 +22,11 @@ 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;
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-I${xorgproto}/include/X11"
     "-I${libX11.dev}/include/X11"
     "-I${libXcursor.dev}/include/X11"
diff --git a/nixpkgs/pkgs/games/adom/default.nix b/nixpkgs/pkgs/games/adom/default.nix
index 9766e58c15ae..2d3be1880de9 100644
--- a/nixpkgs/pkgs/games/adom/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/airstrike/default.nix b/nixpkgs/pkgs/games/airstrike/default.nix
index 19d2a01b4729..408f2817854a 100644
--- a/nixpkgs/pkgs/games/airstrike/default.nix
+++ b/nixpkgs/pkgs/games/airstrike/default.nix
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ makeWrapper SDL SDL_image ];
 
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   installPhase = ''
     ls -l
diff --git a/nixpkgs/pkgs/games/alienarena/default.nix b/nixpkgs/pkgs/games/alienarena/default.nix
index 89c74d83b490..5c27e3426fd7 100644
--- a/nixpkgs/pkgs/games/alienarena/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix
index 46eb054bc8ef..309ea244d713 100644
--- a/nixpkgs/pkgs/games/angband/default.nix
+++ b/nixpkgs/pkgs/games/angband/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ ncurses5 ];
-  installFlags = "bindir=$(out)/bin";
+  installFlags = [ "bindir=$(out)/bin" ];
 
   meta = with stdenv.lib; {
     homepage = http://rephial.org/;
diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index c3caf9105d05..c1ba8851f5c4 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/pkgs/games/anki/default.nix
@@ -163,10 +163,13 @@ buildPythonApplication rec {
     '';
 
     dontWrapQtApps = true;
-    makeWrapperArgs = [
-        ''--prefix PATH ':' "${lame}/bin:${mplayer}/bin"''
-        "\${qtWrapperArgs[@]}"
-    ];
+
+    preFixup = ''
+      makeWrapperArgs+=(
+        "''${qtWrapperArgs[@]}"
+        --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
+      )
+    '';
 
     # now wrapPythonPrograms from postFixup will add both python and qt env variables
 
diff --git a/nixpkgs/pkgs/games/armagetronad/default.nix b/nixpkgs/pkgs/games/armagetronad/default.nix
index 70c23664dc04..57373d39b54c 100644
--- a/nixpkgs/pkgs/games/armagetronad/default.nix
+++ b/nixpkgs/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";
@@ -14,12 +14,12 @@ stdenv.mkDerivation {
     sha256 = "157pp84wf0q3bdb72rnbm3ck0czwx2ply6lyhj8z7kfdc7csdbr3";
   };
 
-  NIX_LDFLAGS = [ "-lSDL_image" ];
+  NIX_LDFLAGS = "-lSDL_image";
 
   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/nixpkgs/pkgs/games/arx-libertatis/default.nix b/nixpkgs/pkgs/games/arx-libertatis/default.nix
index c224784e8f24..354787e0f074 100644
--- a/nixpkgs/pkgs/games/arx-libertatis/default.nix
+++ b/nixpkgs/pkgs/games/arx-libertatis/default.nix
@@ -2,7 +2,8 @@
 , openal, glm, freetype, libGLU, SDL2, epoxy
 , dejavu_fonts, inkscape, optipng, imagemagick
 , withCrashReporter ? !stdenv.isDarwin
-,   qt5  ? null
+,   qtbase ? null
+,   wrapQtAppsHook ? null
 ,   curl ? null
 ,   gdb  ? null
 }:
@@ -11,24 +12,23 @@ with stdenv.lib;
 
 stdenv.mkDerivation {
   pname = "arx-libertatis";
-  version = "2019-02-16";
+  version = "2019-07-22";
 
   src = fetchFromGitHub {
-    owner  = "arx";
-    repo   = "ArxLibertatis";
-    rev    = "fbce6ccbc7f58583f33f29b838c38ef527edc267";
-    sha256 = "0qrygp09dqhpb5q6a1zl6l03qh9bi7xcahd8hy9177z1cix3k0kz";
+    owner = "arx";
+    repo = "ArxLibertatis";
+    rev = "db77aa26bb8612f711b65e72b1cd8cf6481700c7";
+    sha256 = "0c88djyzjna17wjcvkgsfx3011m1rba5xdzdldy1hjmafpqgb4jj";
   };
 
-
   nativeBuildInputs = [
     cmake inkscape imagemagick optipng
-  ];
+  ] ++ optionals withCrashReporter [ wrapQtAppsHook ];
 
   buildInputs = [
     zlib boost openal glm
     freetype libGLU SDL2 epoxy
-  ] ++ optionals withCrashReporter [ qt5.qtbase curl ]
+  ] ++ optionals withCrashReporter [ qtbase curl ]
     ++ optionals stdenv.isLinux    [ gdb ];
 
   cmakeFlags = [
@@ -38,20 +38,23 @@ stdenv.mkDerivation {
   ];
 
   enableParallelBuilding = true;
+  dontWrapQtApps = true;
 
   postInstall = ''
     ln -sf \
       ${dejavu_fonts}/share/fonts/truetype/DejaVuSansMono.ttf \
       $out/share/games/arx/misc/dejavusansmono.ttf
+  '' + 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/nixpkgs/pkgs/games/astromenace/default.nix b/nixpkgs/pkgs/games/astromenace/default.nix
index 37593d3bd726..191428f66dbc 100644
--- a/nixpkgs/pkgs/games/astromenace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/bitsnbots/default.nix b/nixpkgs/pkgs/games/bitsnbots/default.nix
index 94a1e6ee91ab..c6c5176ecdf8 100644
--- a/nixpkgs/pkgs/games/bitsnbots/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/blackshades/default.nix b/nixpkgs/pkgs/games/blackshades/default.nix
index a35b449f92fd..608b32764bb9 100644
--- a/nixpkgs/pkgs/games/blackshades/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/blobby/default.nix b/nixpkgs/pkgs/games/blobby/default.nix
index d3eb2348a0d5..938d767c3d85 100644
--- a/nixpkgs/pkgs/games/blobby/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/boohu/default.nix b/nixpkgs/pkgs/games/boohu/default.nix
index e658ef9f5cba..3dcfe201d2c1 100644
--- a/nixpkgs/pkgs/games/boohu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/boohu/deps.nix b/nixpkgs/pkgs/games/boohu/deps.nix
index a785567adddf..c2dc3b41b973 100644
--- a/nixpkgs/pkgs/games/boohu/deps.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/bzflag/default.nix b/nixpkgs/pkgs/games/bzflag/default.nix
index 56d2866a2355..d07088a30a3e 100644
--- a/nixpkgs/pkgs/games/bzflag/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/cataclysm-dda/default.nix b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
index b1d8a27b5a22..ced19bffb31a 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/default.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation (common // rec {
     substituteInPlace lua/autoexec.lua --replace "/usr/share" "$out/share"
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=deprecated-copy";
+
   makeFlags = common.makeFlags ++ [
     "LUA=1"
   ];
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/git.nix b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
index b872e95d5896..8e3c3e33994f 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/git.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
@@ -10,15 +10,18 @@ let
 in
 
 stdenv.mkDerivation (common // rec {
-  version = "2019-05-03";
+  version = "2019-11-22";
   name = "cataclysm-dda-git-${version}";
 
   src = fetchFromCleverRaven {
-    rev = "65a05026e7306b5d1228dc6ed885c43447f128b5";
-    sha256 = "18yn0h6b4j9lx67sq1d886la3l6l7bqsnwj6mw2khidssiy18y0n";
+    rev = "a6c8ece992bffeae3788425dd4b3b5871e66a9cd";
+    sha256 = "0ww2q5gykxm802z1kffmnrfahjlx123j1gfszklpsv0b1fccm1ab";
   };
 
-  patches = [ ./patches/fix_locale_dir_git.patch ];
+  patches = [
+    # Locale patch required for Darwin builds, see: https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970
+    ./patches/fix_locale_dir_git.patch
+  ];
 
   makeFlags = common.makeFlags ++ [
     "VERSION=git-${version}-${substring 0 8 src.rev}"
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
index 1b92c8816614..79b442ff5c99 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
+++ b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
@@ -1,8 +1,8 @@
 diff --git a/src/translations.cpp b/src/translations.cpp
-index 0068a35785..c8034cbeac 100644
+index 067e2cd77d..5660d18b3d 100644
 --- a/src/translations.cpp
 +++ b/src/translations.cpp
-@@ -202,14 +202,12 @@ void set_language()
+@@ -211,14 +211,12 @@ void set_language()
      auto env = getenv( "LANGUAGE" );
      locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
                                "/LC_MESSAGES/cataclysm-dda.mo" );
@@ -16,5 +16,5 @@ index 0068a35785..c8034cbeac 100644
 -#else
 -    locale_dir = "lang/mo";
  #endif
- 
+
      const char *locale_dir_char = locale_dir.c_str();
diff --git a/nixpkgs/pkgs/games/chessx/default.nix b/nixpkgs/pkgs/games/chessx/default.nix
index 3b460daefd1a..f0b04489edac 100644
--- a/nixpkgs/pkgs/games/chessx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/construo/default.nix b/nixpkgs/pkgs/games/construo/default.nix
index 9528c6d06cb4..5c74b5962794 100644
--- a/nixpkgs/pkgs/games/construo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/crack-attack/default.nix b/nixpkgs/pkgs/games/crack-attack/default.nix
index bb06bec411bb..4741ac7bb684 100644
--- a/nixpkgs/pkgs/games/crack-attack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/crawl/default.nix b/nixpkgs/pkgs/games/crawl/default.nix
index 2179c2bff76d..e4cccdd6221b 100644
--- a/nixpkgs/pkgs/games/crawl/default.nix
+++ b/nixpkgs/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
@@ -8,29 +8,24 @@
 
 stdenv.mkDerivation rec {
   name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.23.2";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "1d6mip4rvp81839yf2xm63hf34aza5wg4g5z5hi5275j94szaacs";
+    sha256 = "1cdjd33z04gj70manavihc3lj9ckpmd75n09vvyw01z41s33fzs0";
   };
 
-  patches = [
-    ./crawl_purify.patch  # Patch hard-coded paths and remove force library builds
-    (fetchpatch {         # Use a nice high-res app icon
-      url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
-      sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
-    })
-  ];
+  # Patch hard-coded paths and remove force library builds
+  patches = [ ./crawl_purify.patch ];
 
   nativeBuildInputs = [ pkgconfig which perl pngcrush advancecomp ];
 
   # 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/nixpkgs/pkgs/games/crispy-doom/default.nix b/nixpkgs/pkgs/games/crispy-doom/default.nix
index 3897f29c657e..4fb4f301cfba 100644
--- a/nixpkgs/pkgs/games/crispy-doom/default.nix
+++ b/nixpkgs/pkgs/games/crispy-doom/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, autoreconfHook, pkgconfig, SDL2, SDL2_mixer, SDL2_net, fetchurl }:
+{ stdenv, autoreconfHook, pkgconfig, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "crispy-doom-5.6";
-  src = fetchurl {
-    url = "https://github.com/fabiangreffrath/crispy-doom/archive/${name}.tar.gz";
-    sha256 = "1icz3ivd7v3mvwlslwwd7s3bpjzr54x4lslihyjg1ckq23sl830j";
+  pname = "crispy-doom";
+  version = "5.6.3";
+
+  src = fetchFromGitHub {
+    owner = "fabiangreffrath";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0f319979wqfgm4pvsa6y5clg30p55l441kmrr8db0p5smyv3x2s4";
   };
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ SDL2 SDL2_mixer SDL2_net ];
-  patchPhase = ''
+
+  postPatch = ''
     sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
   '';
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ SDL2 SDL2_mixer SDL2_net ];
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://fabiangreffrath.github.io/crispy-doom;
+    homepage = "http://fabiangreffrath.github.io/crispy-doom";
     description = "A limit-removing enhanced-resolution Doom source port based on Chocolate Doom";
-    longDescription = "Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom. Its name means that 640x400 looks \"crisp\" and is also a slight reference to its origin.";
+    longDescription = ''
+      Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
+      Its name means that 640x400 looks \"crisp\" and is also a slight reference to its origin.
+    '';
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ neonfuz ];
diff --git a/nixpkgs/pkgs/games/crrcsim/default.nix b/nixpkgs/pkgs/games/crrcsim/default.nix
index b9d3a69d87b3..75ff970a16a8 100644
--- a/nixpkgs/pkgs/games/crrcsim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/devilutionx/default.nix b/nixpkgs/pkgs/games/devilutionx/default.nix
index 117ebcc1ac18..ac7d61b31c74 100644
--- a/nixpkgs/pkgs/games/devilutionx/default.nix
+++ b/nixpkgs/pkgs/games/devilutionx/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, SDL2_ttf, libsodium, pkg-config }:
-stdenv.mkDerivation {
-  version = "unstable-2019-07-28";
+stdenv.mkDerivation rec {
+  version = "1.0.0";
   pname = "devilutionx";
 
   src = fetchFromGitHub {
     owner = "diasurgical";
     repo = "devilutionX";
-    rev = "b2f358874705598ec139f290b21e340c73d250f6";
-    sha256 = "0s812km118qq5pzlzvzfndvag0mp6yzvm69ykc97frdiq608zw4f";
+    rev = version;
+    sha256 = "0lx903gchda4bgr71469yn63rx5ya6xv9j1azx18nrv3sskrphn4";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${SDL2_ttf}/include/SDL2";
-
-  # compilation will fail due to -Werror=format-security
-  hardeningDisable = [ "format" ];
+  NIX_CFLAGS_COMPILE = [
+    "-I${SDL2_ttf}/include/SDL2"
+    ''-DTTF_FONT_PATH="${placeholder "out"}/share/fonts/truetype/CharisSILB.ttf"''
+  ];
 
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ libsodium SDL2 SDL2_mixer SDL2_ttf ];
@@ -21,8 +21,15 @@ stdenv.mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin
-    cp devilutionx $out/bin
+  '' + (if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+    mv devilutionx.app $out/Applications
+  '' else ''
+    install -Dm755 -t $out/bin devilutionx
+    install -Dt $out/share/fonts/truetype ../Packaging/resources/CharisSILB.ttf
+
+    # TODO: icons and .desktop (see Packages/{debian,fedora}/*)
+  '') + ''
 
     runHook postInstall
   '';
@@ -30,6 +37,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     homepage = "https://github.com/diasurgical/devilutionX";
     description = "Diablo build for modern operating systems";
+    longDescription = "In order to play this game a copy of diabdat.mpq is required. Place a copy of diabdat.mpq in ~/.local/share/diasurgical/devilution before executing the game.";
     license = licenses.unlicense;
     maintainers = [ maintainers.karolchmist ];
     platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
diff --git a/nixpkgs/pkgs/games/dhewm3/default.nix b/nixpkgs/pkgs/games/dhewm3/default.nix
index 441e9f66981c..fd9729376403 100644
--- a/nixpkgs/pkgs/games/dhewm3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
index 71024f3d5c91..544fa26b21cc 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/dwarf-fortress/game.nix b/nixpkgs/pkgs/games/dwarf-fortress/game.nix
index 291e32b6406c..d3a265294243 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/game.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/game.nix
@@ -26,7 +26,7 @@ let
     i686-cygwin = "win32";
   };
 
-  dfVersionTriple = splitString "." dfVersion;
+  dfVersionTriple = splitVersion dfVersion;
   baseVersion = elemAt dfVersionTriple 1;
   patchVersion = elemAt dfVersionTriple 2;
 
diff --git a/nixpkgs/pkgs/games/dxx-rebirth/default.nix b/nixpkgs/pkgs/games/dxx-rebirth/default.nix
index 82806c7521cf..b7eb2f02568d 100644
--- a/nixpkgs/pkgs/games/dxx-rebirth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/eboard/default.nix b/nixpkgs/pkgs/games/eboard/default.nix
index 206ed02e69ce..af6bc4be3936 100644
--- a/nixpkgs/pkgs/games/eboard/default.nix
+++ b/nixpkgs/pkgs/games/eboard/default.nix
@@ -19,11 +19,8 @@ stdenv.mkDerivation {
     patchShebangs ./configure
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
-
-  NIX_LDFLAGS = [
-    "-ldl"
-  ];
+  NIX_CFLAGS_COMPILE = "-fpermissive";
+  NIX_LDFLAGS = "-ldl";
 
   meta = {
     homepage = http://www.bergo.eng.br/eboard/;
diff --git a/nixpkgs/pkgs/games/eduke32/default.nix b/nixpkgs/pkgs/games/eduke32/default.nix
index 2999da8fcaaf..242e0930db3b 100644
--- a/nixpkgs/pkgs/games/eduke32/default.nix
+++ b/nixpkgs/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,25 +26,22 @@ 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
   '';
 
-  NIX_CFLAGS_COMPILE = [
-    "-I${SDL2.dev}/include/SDL2"
-    "-I${SDL2_mixer}/include/SDL2"
-  ];
+  NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2 -I${SDL2_mixer}/include/SDL2";
 
   makeFlags = [
     "SDLCONFIG=${SDL2}/bin/sdl2-config"
diff --git a/nixpkgs/pkgs/games/egoboo/default.nix b/nixpkgs/pkgs/games/egoboo/default.nix
index 98ab4d27d5f5..c8a5f380900a 100644
--- a/nixpkgs/pkgs/games/egoboo/default.nix
+++ b/nixpkgs/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
@@ -44,9 +44,7 @@ stdenv.mkDerivation rec {
     '';
   */
 
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   meta = {
     description = "3D dungeon crawling adventure";
diff --git a/nixpkgs/pkgs/games/eidolon/cargo-lock.patch b/nixpkgs/pkgs/games/eidolon/cargo-lock.patch
new file mode 100644
index 000000000000..5aa09c526830
--- /dev/null
+++ b/nixpkgs/pkgs/games/eidolon/cargo-lock.patch
@@ -0,0 +1,19 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 8abf781..62511ef 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,3 +1,5 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
+ [[package]]
+ name = "adler32"
+ version = "1.0.3"
+@@ -229,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [[package]]
+ name = "eidolon"
+-version = "1.4.5"
++version = "1.4.6"
+ dependencies = [
+  "butlerd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/nixpkgs/pkgs/games/eidolon/default.nix b/nixpkgs/pkgs/games/eidolon/default.nix
new file mode 100644
index 000000000000..ab3d9647dc85
--- /dev/null
+++ b/nixpkgs/pkgs/games/eidolon/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, rustPlatform, pkgconfig, openssl }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "eidolon";
+  version = "1.4.6";
+
+  src = fetchgit {
+    url = "https://git.sr.ht/~nicohman/eidolon";
+    rev = "${version}";
+    sha256 = "1yn3k569pxzw43mmsk97088xpkdc714rks3ncchbb6ccx25kgxrr";
+  };
+  cargoPatches = [ ./cargo-lock.patch ];
+
+  cargoSha256 = "1887fjkk641cn6dpmyc5r3r2li61yw1nvfb0f2dp3169gycka15h";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl ];
+
+  meta = with stdenv.lib; {
+    description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu";
+    homepage = "https://github.com/nicohman/eidolon";
+    license = licenses.gpl3;
+    maintainers = [ maintainers."0x4A6F" ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/empty-epsilon/default.nix b/nixpkgs/pkgs/games/empty-epsilon/default.nix
index cee9be00a3ab..17d503de1f75 100644
--- a/nixpkgs/pkgs/games/empty-epsilon/default.nix
+++ b/nixpkgs/pkgs/games/empty-epsilon/default.nix
@@ -3,8 +3,8 @@
 let
 
   major = "2019";
-  minor = "05";
-  patch = "21";
+  minor = "11";
+  patch = "01";
 
   version = "${major}.${minor}.${patch}";
 
@@ -16,7 +16,7 @@ let
       owner = "daid";
       repo = "SeriousProton";
       rev = "EE-${version}";
-      sha256 = "0q6in9rfs3b3qrfj2j6aj64z110k1yall4iqpp68rpp9r1dsh26p";
+      sha256 = "1sc1z9n99jspa8jnk0pwdzynnadvcmb3pxl5cndw3z90xjwpzivw";
     };
 
     nativeBuildInputs = [ cmake ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     owner = "daid";
     repo = "EmptyEpsilon";
     rev = "EE-${version}";
-    sha256 = "0v2xz1wlji6m6311r3vpkdil3a7l1w5nsz5yqd1l8bimy11rdr55";
+    sha256 = "09jizc6h7jbsp8bzv05pvb5z24zadjzjx1slj5317axsb170v81p";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/games/endless-sky/default.nix b/nixpkgs/pkgs/games/endless-sky/default.nix
index 14bea8185c6f..5d1ed1c11a95 100644
--- a/nixpkgs/pkgs/games/endless-sky/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/endless-sky/fixes.patch b/nixpkgs/pkgs/games/endless-sky/fixes.patch
index cad7a6acaed0..359e2ee4af3b 100644
--- a/nixpkgs/pkgs/games/endless-sky/fixes.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/games/extremetuxracer/default.nix b/nixpkgs/pkgs/games/extremetuxracer/default.nix
index 30788c7ec5c8..c7c618c0c189 100644
--- a/nixpkgs/pkgs/games/extremetuxracer/default.nix
+++ b/nixpkgs/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
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     '';
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://sourceforge.net/projects/extremetuxracer/;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/games/exult/default.nix b/nixpkgs/pkgs/games/exult/default.nix
index 58fdaeb8f740..07f84d7a151a 100644
--- a/nixpkgs/pkgs/games/exult/default.nix
+++ b/nixpkgs/pkgs/games/exult/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "DESTDIR=$(out)" ];
 
-  NIX_LDFLAGS = [ "-lX11" ];
+  NIX_LDFLAGS = "-lX11";
 
   postInstall =
     ''
diff --git a/nixpkgs/pkgs/games/ezquake/default.nix b/nixpkgs/pkgs/games/ezquake/default.nix
index e06975e8db41..1c007cc6bb54 100644
--- a/nixpkgs/pkgs/games/ezquake/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/flare/default.nix b/nixpkgs/pkgs/games/flare/default.nix
index 551276b1b25d..2058abebb55e 100644
--- a/nixpkgs/pkgs/games/flare/default.nix
+++ b/nixpkgs/pkgs/games/flare/default.nix
@@ -16,7 +16,7 @@ buildEnv {
 
   meta = with lib; {
     description = "Fantasy action RPG using the FLARE engine";
-    homepage = "http://flarerpg.org/";
+    homepage = "https://flarerpg.org/";
     maintainers = [ maintainers.aanderse ];
     license = [ licenses.gpl3 licenses.cc-by-sa-30 ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/games/flightgear/default.nix b/nixpkgs/pkgs/games/flightgear/default.nix
index 9266428b5e7b..d3c3271710a0 100644
--- a/nixpkgs/pkgs/games/flightgear/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/freeorion/default.nix b/nixpkgs/pkgs/games/freeorion/default.nix
index d0f514f239d5..dfad954f0f0c 100644
--- a/nixpkgs/pkgs/games/freeorion/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/frotz/default.nix b/nixpkgs/pkgs/games/frotz/default.nix
index 3dbd7bd928b6..788280fd8208 100644
--- a/nixpkgs/pkgs/games/frotz/default.nix
+++ b/nixpkgs/pkgs/games/frotz/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0gjkk4gxzqmxfdirrz2lr0bms6l9fc31vkmlywigkbdlh8wxgypp";
   };
 
-  makeFlags = ''CC=cc PREFIX=$(out) CURSES=-lncurses'';
+  makeFlags = [ "CC=cc" "PREFIX=$(out)" "CURSES=-lncurses" ];
 
   buildInputs = [ ncurses ];
 
diff --git a/nixpkgs/pkgs/games/frozen-bubble/default.nix b/nixpkgs/pkgs/games/frozen-bubble/default.nix
new file mode 100644
index 000000000000..3b562ee44f2e
--- /dev/null
+++ b/nixpkgs/pkgs/games/frozen-bubble/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, perlPackages, pkgconfig, SDL, SDL_mixer, SDL_Pango, glib }:
+
+perlPackages.buildPerlModule {
+  pname = "frozen-bubble";
+  version = "2.212";
+
+  src = fetchurl {
+    url = "mirror://cpan/authors/id/K/KT/KTHAKORE/Games-FrozenBubble-2.212.tar.gz";
+    sha256 = "721e04ff69c5233060656bfbf4002aa1aeadd96c95351f0c57bb85b6da35a305";
+  };
+  patches = [ ./fix-compilation.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs =  [ glib SDL SDL_mixer SDL_Pango perlPackages.SDL perlPackages.FileSlurp ];
+  propagatedBuildInputs = with perlPackages; [ AlienSDL CompressBzip2 FileShareDir FileWhich IPCSystemSimple LocaleMaketextLexicon ];
+
+  perlPreHook = "export LD=$CC";
+
+  meta = {
+    description = "Puzzle with Bubbles";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ puckipedia ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/frozen-bubble/fix-compilation.patch b/nixpkgs/pkgs/games/frozen-bubble/fix-compilation.patch
new file mode 100644
index 000000000000..e87dd0668dc2
--- /dev/null
+++ b/nixpkgs/pkgs/games/frozen-bubble/fix-compilation.patch
@@ -0,0 +1,33 @@
+diff --git a/Build.PL b/Build.PL
+index b029d1e..8737395 100644
+--- a/Build.PL
++++ b/Build.PL
+@@ -16,13 +16,14 @@ use Games::FrozenBubble;
+ my $prefix = Alien::SDL->config('prefix');
+ my $cflags = '-I'
+   . File::Spec->catfile( $prefix, 'include' )
++  . ' ' . `pkg-config --cflags SDL_mixer`
+   ;
+ $cflags .= ' -fnested-functions' if $^O =~ /darwin/;
+ ###!!! this looks strange, you perhaps meant "$cflags .= ..."
+ ###!!! I intended Alien::SDL to add -I$prefix/include automatically, please tell me when it does not work (kmx)
+ my $devnull = File::Spec->devnull();
+ my @cflags =  ExtUtils::CBuilder->new->split_like_shell( $cflags );
+-my @linkers = ( ExtUtils::CBuilder->new->split_like_shell( Alien::SDL->config('libs', '-lSDL_mixer', '-lSDL_Pango') ) );
++my @linkers = ( ExtUtils::CBuilder->new->split_like_shell( Alien::SDL->config('libs', '-lSDL_Pango',`pkg-config --libs SDL_mixer`) ) );
+ push @linkers, '-liconv'
+   if $^O =~ /win/i;    ###!!! really only Win needs this? ; BEWARE this matches also 'darwin', 'cygwin'!!!!
+ 
+diff --git a/inc/My/Builder.pm b/inc/My/Builder.pm
+index 2ebaf91..c420b9a 100644
+--- a/inc/My/Builder.pm
++++ b/inc/My/Builder.pm
+@@ -123,7 +123,7 @@ sub ACTION_server {
+             push @ofiles, $cbuilder->compile(
+                 source               => catfile($server_directory, $cfile),
+                 extra_compiler_flags => [
+-                    qw(-g -Wall -Werror -pipe), # verbatim from Makefile
++                    qw(-g -pipe), # verbatim from Makefile
+                     '-I' . $server_directory, # does not seem to be necessary
+                     $cbuilder->split_like_shell(`pkg-config glib-2.0 --cflags`),
+                     $cbuilder->split_like_shell(`pkg-config glib-2.0 --libs`),
diff --git a/nixpkgs/pkgs/games/fsg/default.nix b/nixpkgs/pkgs/games/fsg/default.nix
index d334439cafb8..b8a0d5ff3c76 100644
--- a/nixpkgs/pkgs/games/fsg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gcompris/default.nix b/nixpkgs/pkgs/games/gcompris/default.nix
index 23d126027597..874276f27203 100644
--- a/nixpkgs/pkgs/games/gcompris/default.nix
+++ b/nixpkgs/pkgs/games/gcompris/default.nix
@@ -18,11 +18,11 @@
 
 mkDerivation rec {
   pname = "gcompris";
-  version = "0.96";
+  version = "0.97";
 
   src = fetchurl {
     url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz";
-    sha256 = "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52";
+    sha256 = "1vy2b7vb11glack6p8x1mchxvc2j4l4q8h5fmxacgq8z2ali329b";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/games/gcs/default.nix b/nixpkgs/pkgs/games/gcs/default.nix
index 3665467407a9..f1230b739bb1 100644
--- a/nixpkgs/pkgs/games/gcs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gl-117/default.nix b/nixpkgs/pkgs/games/gl-117/default.nix
index fb60808bab70..09a472f4dac8 100644
--- a/nixpkgs/pkgs/games/gl-117/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/globulation/default.nix b/nixpkgs/pkgs/games/globulation/default.nix
index edfb05d237cd..45c5013705f3 100644
--- a/nixpkgs/pkgs/games/globulation/default.nix
+++ b/nixpkgs/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"
@@ -41,9 +41,7 @@ stdenv.mkDerivation rec {
     sconsFlags+=" DATADIR=$out/share/globulation2/glob2"
   '';
 
-  NIX_LDFLAGS = [
-    "-lboost_system"
-  ];
+  NIX_LDFLAGS = "-lboost_system";
 
   meta = with stdenv.lib; {
     description = "RTS without micromanagement";
diff --git a/nixpkgs/pkgs/games/gltron/default.nix b/nixpkgs/pkgs/games/gltron/default.nix
index bd3ae0b2e123..0e70096ab53f 100644
--- a/nixpkgs/pkgs/games/gltron/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gmad/default.nix b/nixpkgs/pkgs/games/gmad/default.nix
index 78936ec19499..e51c326da195 100644
--- a/nixpkgs/pkgs/games/gmad/default.nix
+++ b/nixpkgs/pkgs/games/gmad/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     else if stdenv.isDarwin then "gmad_osx"
     else "gmad";
 
-  premakeFlags = "--bootil_lib=${bootil}/lib --bootil_inc=${bootil}/include";
+  premakeFlags = [ "--bootil_lib=${bootil}/lib" "--bootil_inc=${bootil}/include" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/games/gnujump/default.nix b/nixpkgs/pkgs/games/gnujump/default.nix
index 4bf460836d98..af2e924960a1 100644
--- a/nixpkgs/pkgs/games/gnujump/default.nix
+++ b/nixpkgs/pkgs/games/gnujump/default.nix
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
   };
   buildInputs = [ SDL SDL_image SDL_mixer ];
 
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   meta = with stdenv.lib; {
     homepage = https://jump.gnu.sinusoid.es/index.php?title=Main_Page;
diff --git a/nixpkgs/pkgs/games/gscrabble/default.nix b/nixpkgs/pkgs/games/gscrabble/default.nix
index f9dd851af8e9..7e89704324f3 100644
--- a/nixpkgs/pkgs/games/gscrabble/default.nix
+++ b/nixpkgs/pkgs/games/gscrabble/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonApplication, fetchFromGitHub
 , gtk3, wrapGAppsHook, gst_all_1, gobject-introspection
-, python3Packages, gnome3, hicolor-icon-theme }:
+, python3Packages, gnome3 }:
 
 buildPythonApplication {
   pname = "gscrabble";
@@ -19,7 +19,7 @@ buildPythonApplication {
 
   buildInputs = with gst_all_1; [
     gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
-    hicolor-icon-theme gnome3.adwaita-icon-theme gtk3 gobject-introspection
+    gnome3.adwaita-icon-theme gtk3 gobject-introspection
   ];
 
   propagatedBuildInputs = with python3Packages; [ gst-python pygobject3 ];
diff --git a/nixpkgs/pkgs/games/gweled/default.nix b/nixpkgs/pkgs/games/gweled/default.nix
new file mode 100644
index 000000000000..d5d4f5c40153
--- /dev/null
+++ b/nixpkgs/pkgs/games/gweled/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchbzr, intltool
+, gtk2, wrapGAppsHook, autoreconfHook, pkgconfig
+, libmikmod, librsvg, libcanberra-gtk2, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "gweled";
+  version = "unstable-2018-02-15";
+
+  src = fetchbzr {
+    url = "lp:gweled";
+    rev = "94";
+    sha256 = "01c38y4df5a06wqbsmsn8ysxx7hav9yvw6zdwbc9m5m55z7vmdb8";
+  };
+
+  doCheck = false;
+
+  nativeBuildInputs = [ wrapGAppsHook intltool autoreconfHook pkgconfig ];
+
+  buildInputs = [ gtk2 libmikmod librsvg hicolor-icon-theme libcanberra-gtk2 ];
+
+  configureFlags = [ "--disable-setgid" ];
+
+  meta = with stdenv.lib; {
+    description = "Bejeweled clone game";
+    homepage = "https://gweled.org";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.genesis ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix
index 3ccbdf525ce0..c0aea8927b97 100644
--- a/nixpkgs/pkgs/games/gzdoom/default.nix
+++ b/nixpkgs/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.2.0";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "0ifc10y8pdxb6ra38m55k26wb2cwdbjrblx3s24xivmsnkpbn7f6";
+    sha256 = "1fpdwgm6qx66q1kqg1x32lcm61hk3a033lhagk819kicdsib90b7";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
@@ -21,13 +21,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ];
+  NIX_CFLAGS_LINK = "-lopenal -lfluidsynth";
 
   preConfigure = ''
     sed -i \
       -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
       -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
-      src/sound/mididevices/music_fluidsynth_mididevice.cpp
+      libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp
   '';
 
   installPhase = ''
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     for i in *.pk3; do
       install -Dm644 "$i" "$out/lib/gzdoom/$i"
     done
+    for i in fm_banks/*; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
+    for i in soundfonts/*; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
     mkdir $out/bin
     makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom
   '';
diff --git a/nixpkgs/pkgs/games/harmonist/default.nix b/nixpkgs/pkgs/games/harmonist/default.nix
index a391a73069a6..19074a309dda 100644
--- a/nixpkgs/pkgs/games/harmonist/default.nix
+++ b/nixpkgs/pkgs/games/harmonist/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   pname = "harmonist";
-  version = "0.2";
+  version = "0.3.0";
 
   goPackagePath = "git.tuxfamily.org/harmonist/harmonist.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/harmonist/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r78v312x2k1v9rkxkxffs5vxn9sc0dcszm66yw10p7qy9lyvicd";
+    sha256 = "16bh4zzq7szwcw19n34bslkf81fz3i0p4zqkd8gdi5ixkbm998lm";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/games/harmonist/deps.nix b/nixpkgs/pkgs/games/harmonist/deps.nix
index c65c0e339984..68290823625c 100644
--- a/nixpkgs/pkgs/games/harmonist/deps.nix
+++ b/nixpkgs/pkgs/games/harmonist/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "eeb6cd0a176293eeb2c69270d83835972e3567bc";
-      sha256 = "14695dk07dj41s5f74l3wdf3xjj2flq4fq016i98f5xijh5f64i3";
+      rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d";
+      sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+      rev = "18c3d09a134a52720932bbaa92c798a0ab111004";
+      sha256 = "1snr8mk63vz2h44knq26dm81p83887v7kb09iywqmx0nqzngih66";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/games/hedgewars/default.nix b/nixpkgs/pkgs/games/hedgewars/default.nix
index bac7bd345f94..dffeb2ac556d 100644
--- a/nixpkgs/pkgs/games/hedgewars/default.nix
+++ b/nixpkgs/pkgs/games/hedgewars/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut
-, lib, fetchhg, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
+, lib, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
 , zlib, libpng, libGL, libGLU, physfs
 , qtbase, qttools
 , withServer ? true
@@ -14,14 +14,11 @@ let
 in
 mkDerivation rec {
   pname = "hedgewars";
-  version = "1.0.0-beta2";
+  version = "1.0.0";
 
-  # it's crazy slow to fetch the whole repo but the beta versions are not
-  # released as tarballs
-  src = fetchhg {
-    url = "https://hg.hedgewars.org/hedgewars/";
-    rev = "dff37ac61dcf";
-    sha256 = "1dsq6wfv3d7jfnr068b7ixpnqp0h6mj7zgby6h1viwblgbirri78";
+  src = fetchurl {
+    url = "https://www.hedgewars.org/download/releases/hedgewars-src-${version}.tar.bz2";
+    sha256 = "0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1";
   };
 
   nativeBuildInputs = [ cmake pkgconfig qttools ];
diff --git a/nixpkgs/pkgs/games/hexen/default.nix b/nixpkgs/pkgs/games/hexen/default.nix
deleted file mode 100644
index 48379da3a0a4..000000000000
--- a/nixpkgs/pkgs/games/hexen/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, SDL} :
-
-stdenv.mkDerivation {
-  name = "hexen-0.2.3";
-  src = fetchurl {
-    url = https://www.libsdl.org/projects/hexen/src/hexen-0.2.3.tar.gz;
-    sha256 = "c1433e930f2003c5f817f935406bb28ba15298a15b1c11f83f42df3e9f1f3bc4";
-  };
-
-  buildInputs = [ SDL ];
-
-  meta = {
-    homepage = http://www.libsdl.org/projects/hexen/;
-    description = "Port of Raven Software's popular Hexen 3-D shooter game";
-    license = stdenv.lib.licenses.free;
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/games/hyperrogue/default.nix b/nixpkgs/pkgs/games/hyperrogue/default.nix
index b4f5e4f7f630..09ecd4279e44 100644
--- a/nixpkgs/pkgs/games/hyperrogue/default.nix
+++ b/nixpkgs/pkgs/games/hyperrogue/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hyperrogue";
-  version = "10.5e";
+  version = "11.2d";
 
   src = fetchFromGitHub {
     owner = "zenorogue";
     repo = "hyperrogue";
-    rev = "v${version}";
-    sha256 = "1sjr26if3xv8xv52app1hkxs0bbgbviagydm4mdwbxjpd6v3d1aa";
+    rev = stdenv.lib.strings.stringAsChars (x: if x == "." then "" else x) "v${version}";
+    sha256 = "0aj4xy5xjdj32l5mk8796ldh9d7h8rx35kgc1vr7acb4fhpppb0f";
   };
 
   CPPFLAGS = "-I${SDL.dev}/include/SDL";
diff --git a/nixpkgs/pkgs/games/instead/default.nix b/nixpkgs/pkgs/games/instead/default.nix
index b25341da01d8..fff15b5c5b0c 100644
--- a/nixpkgs/pkgs/games/instead/default.nix
+++ b/nixpkgs/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
+{ stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "3.3.0";
+  version = "3.3.1";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,13 +33,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "0kskwrq2gy1gpp97134sjrw08ip1h6i5dc64zrbl9yv7jaz4by69";
+    sha256 = "10bppcdjnd0all71l5akdvy7fx0c8s8x0za9qxszs8cjmlv9z1q0";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL SDL_ttf SDL_image SDL_mixer lua zlib unzip ];
+  nativeBuildInputs = [ pkgconfig unzip ];
+  buildInputs = [ SDL2 SDL2_ttf SDL2_image SDL2_mixer lua zlib ];
 
   configurePhase = ''
     { echo 2; echo $out; } | ./configure.sh
@@ -47,9 +47,7 @@ stdenv.mkDerivation {
 
   inherit games;
 
-  installPhase = ''
-    make install
-
+  postInstall = ''
     pushd $out/share/instead/games
     for a in $games; do
       unzip $a
@@ -57,6 +55,8 @@ stdenv.mkDerivation {
     popd
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Simple text adventure interpreter for Unix and Windows";
     homepage = http://instead.syscall.ru/;
diff --git a/nixpkgs/pkgs/games/ivan/default.nix b/nixpkgs/pkgs/games/ivan/default.nix
index 86f3f7214466..8acab2eed0e8 100644
--- a/nixpkgs/pkgs/games/ivan/default.nix
+++ b/nixpkgs/pkgs/games/ivan/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_mixer, alsaLib, libpng, pcre }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_mixer, alsaLib, libpng
+, pcre, graphicsmagick, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
 
   pname = "ivan";
-  version = "056";
+  version = "057";
 
   src = fetchFromGitHub {
     owner = "Attnam";
     repo = "ivan";
     rev = "v${version}";
-    sha256 = "07mj3b2p3n3bq7rwi31y0vywnr4namqbcnz4c53kl38ajw9viyf0";
+    sha256 = "0mavmwikfsyr5sp65sl8dqknl1yz7c7ds53y1qkma24vsikz3k64";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig graphicsmagick ];
 
   buildInputs = [ SDL2 SDL2_mixer alsaLib libpng pcre ];
 
@@ -24,6 +25,26 @@ stdenv.mkDerivation rec {
   # Help CMake find SDL_mixer.h
   NIX_CFLAGS_COMPILE = "-I${SDL2_mixer}/include/SDL2";
 
+  # Create "ivan.desktop" file
+  ivanDesktop = makeDesktopItem {
+    name = pname;
+    exec = pname;
+    icon = "ivan.png";
+    desktopName = "IVAN";
+    genericName = pname;
+    categories = "Game;AdventureGame;RolePlaying;";
+    comment = meta.description;
+  };
+
+  # Create appropriate directories. Convert "Icon.bmp" to "ivan.png", then copy
+  # it and "ivan.desktop" to these directories.
+  postInstall = ''
+    mkdir -p $out/share/applications
+    mkdir -p $out/share/icons/hicolor/32x32/apps
+    gm convert $src/Graphics/Icon.bmp $out/share/icons/hicolor/32x32/apps/ivan.png
+    cp ${ivanDesktop}/share/applications/* $out/share/applications
+  '';
+
   meta = with stdenv.lib; {
     description = "Graphical roguelike game";
     longDescription = ''
diff --git a/nixpkgs/pkgs/games/kobodeluxe/default.nix b/nixpkgs/pkgs/games/kobodeluxe/default.nix
index b6d14085351e..38eff4f2fceb 100644
--- a/nixpkgs/pkgs/games/kobodeluxe/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/lgogdownloader/default.nix b/nixpkgs/pkgs/games/lgogdownloader/default.nix
index 505d98c92dbe..dc6ebd396ed9 100644
--- a/nixpkgs/pkgs/games/lgogdownloader/default.nix
+++ b/nixpkgs/pkgs/games/lgogdownloader/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, curl, boost, liboauth, jsoncpp
-, htmlcxx, rhash, tinyxml-2, help2man }:
+, htmlcxx, rhash, tinyxml-2, help2man, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "lgogdownloader";
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ curl boost liboauth jsoncpp htmlcxx rhash tinyxml-2 ];
 
+  patches = [
+    # Fix find_path for newer jsoncpp. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/Sude-/lgogdownloader/commit/ff353126ecda61824cf866d3807c9ebada96282e.patch";
+      sha256 = "1xr1lwxlrncrj662s9l1is1x1mhs1jbwlj8qafixz5hw2kx22w19";
+    })
+  ];
+
   meta = {
     homepage = https://github.com/Sude-/lgogdownloader;
     description = "Unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOGDownloader";
diff --git a/nixpkgs/pkgs/games/lincity/ng.nix b/nixpkgs/pkgs/games/lincity/ng.nix
index 3ec508040e7a..67f15be1ed3e 100644
--- a/nixpkgs/pkgs/games/lincity/ng.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/liquidwar/5.nix b/nixpkgs/pkgs/games/liquidwar/5.nix
index a4bd39f99982..5c42b8ecaab2 100644
--- a/nixpkgs/pkgs/games/liquidwar/5.nix
+++ b/nixpkgs/pkgs/games/liquidwar/5.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.raskin ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/games/macopix/default.nix b/nixpkgs/pkgs/games/macopix/default.nix
index 2639765c5d15..7879b68c857d 100644
--- a/nixpkgs/pkgs/games/macopix/default.nix
+++ b/nixpkgs/pkgs/games/macopix/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_LDFLAGS = [ "-lX11" ];
+  NIX_LDFLAGS = "-lX11";
 
   meta = {
     description = "Mascot Constructive Pilot for X";
diff --git a/nixpkgs/pkgs/games/mars/default.nix b/nixpkgs/pkgs/games/mars/default.nix
index 668605a9ae10..ed926461db21 100644
--- a/nixpkgs/pkgs/games/mars/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/minecraft/default.nix b/nixpkgs/pkgs/games/minecraft/default.nix
index 7abd6c162e0a..f71a0e4fd20e 100644
--- a/nixpkgs/pkgs/games/minecraft/default.nix
+++ b/nixpkgs/pkgs/games/minecraft/default.nix
@@ -15,6 +15,7 @@
 , cups
 , dbus
 , atk
+, gtk3-x11
 , gtk2-x11
 , gdk-pixbuf
 , glib
@@ -58,6 +59,7 @@ let
     glib
     gnome2.GConf
     gnome2.pango
+    gtk3-x11
     gtk2-x11
     nspr
     nss
@@ -82,11 +84,11 @@ in
  stdenv.mkDerivation rec {
   pname = "minecraft-launcher";
 
-  version = "2.1.5965";
+  version = "2.1.9618";
 
   src = fetchurl {
     url = "https://launcher.mojang.com/download/linux/x86_64/minecraft-launcher_${version}.tar.gz";
-    sha256 = "0wlc49s541li4cbxdmlw8fp34hp1q9m6ngr7l5hfdhv1i13s5845";
+    sha256 = "1wk7414i9n6yvhhc0g3cpqjs4ryklmdp2pxgvfdg9zibjdx0avvy";
   };
 
   icon = fetchurl {
diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix
index 52a911655373..f286c359e6fc 100644
--- a/nixpkgs/pkgs/games/minetest/default.nix
+++ b/nixpkgs/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
 }:
@@ -40,15 +40,15 @@ let
       "-DOpenGL_GL_PREFERENCE=GLVND"
     ];
 
-    NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
+    NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
     nativeBuildInputs = [ cmake doxygen graphviz ];
 
     buildInputs = [
       irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
     ] ++ optionals buildClient [
-      libpng libjpeg libGLU_combined openal libogg libvorbis xorg.libX11 libXxf86vm
-    ] ++ optional buildServer [
+      libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
+    ] ++ optionals buildServer [
       leveldb postgresql hiredis
     ];
 
@@ -73,9 +73,9 @@ let
   };
 
   v5 = {
-    version = "5.0.1";
-    sha256 = "11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay";
-    dataSha256 = "1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7";
+    version = "5.1.0";
+    sha256 = "184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z";
+    dataSha256 = "1r9fxz2j24q74a9injvbxbf2xk67fzabv616i676zw2cvgv9hn39";
   };
 
 in {
diff --git a/nixpkgs/pkgs/games/mnemosyne/default.nix b/nixpkgs/pkgs/games/mnemosyne/default.nix
index 99c369fdce80..5c65203c93a6 100644
--- a/nixpkgs/pkgs/games/mnemosyne/default.nix
+++ b/nixpkgs/pkgs/games/mnemosyne/default.nix
@@ -1,39 +1,50 @@
 { fetchurl
 , python
+, anki
 }:
 
 python.pkgs.buildPythonApplication rec {
   pname = "mnemosyne";
-  version = "2.6.1";
+  version = "2.7";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${version}/Mnemosyne-${version}.tar.gz";
-    sha256 = "0xcwikq51abrlqfn5bv7kcw1ccd3ip0w6cjd5vnnzwnaqwdj8cb3";
+    sha256 = "0lx70vl3pa3c42lr59s459b2bqi7fm0c80lsm06l34ggfwdadq24";
   };
 
+  nativeBuildInputs = with python.pkgs; [ wrapPython pyqtwebengine.wrapQtAppsHook ];
+
+  buildInputs = [ anki ];
+
   propagatedBuildInputs = with python.pkgs; [
+    pyqtwebengine
     pyqt5
     matplotlib
     cherrypy
     cheroot
     webob
-    pillow
   ];
 
-  # No tests/ directrory in tarball
-  doCheck = false;
-
   prePatch = ''
     substituteInPlace setup.py --replace /usr $out
     find . -type f -exec grep -H sys.exec_prefix {} ';' | cut -d: -f1 | xargs sed -i s,sys.exec_prefix,\"$out\",
   '';
 
+  # No tests/ directrory in tarball
+  doCheck = false;
+
   postInstall = ''
     mkdir -p $out/share
     mv $out/${python.sitePackages}/$out/share/locale $out/share
     rm -r $out/${python.sitePackages}/nix
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   meta = {
     homepage = https://mnemosyne-proj.org/;
     description = "Spaced-repetition software";
diff --git a/nixpkgs/pkgs/games/mudlet/default.nix b/nixpkgs/pkgs/games/mudlet/default.nix
index d2646bf8d67e..a402587ed8b4 100644
--- a/nixpkgs/pkgs/games/mudlet/default.nix
+++ b/nixpkgs/pkgs/games/mudlet/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, pcre, pugixml, qtbase, qtmultimedia, qttools, yajl, libzip, hunspell
+{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, git, pcre, pugixml, qtbase, libsForQt5, qtmultimedia, qttools, yajl, libzip, hunspell
 , boost, libGLU, lua, cmake,  which, }:
 
 let
@@ -6,19 +6,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mudlet";
-  version = "4.1.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "Mudlet";
     repo = "Mudlet";
     rev = "Mudlet-${version}";
     fetchSubmodules = true;
-    sha256 = "1d6r51cj8a71hmhzsayd2far4hliwz5pnrsaj3dn39m7c0iikgdn";
+    sha256 = "0qqdmivfwf9jmv5yx90z1fj99nlhnq762lfw6bcxgv74y4l4b4c0";
   };
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook qttools which ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook git qttools which ];
   buildInputs = [
-    pcre pugixml qtbase qtmultimedia luaEnv libzip libGLU yajl boost hunspell
+    pcre pugixml qtbase libsForQt5.qtkeychain qtmultimedia luaEnv libzip libGLU yajl boost hunspell
   ];
 
   WITH_FONTS = "NO";
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     makeQtWrapper $out/mudlet $out/bin/mudlet \
       --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
       --prefix LUA_PATH : "$NIX_LUA_PATH" \
+      --prefix LD_LIBRARY_PATH : "${libsForQt5.qtkeychain}/lib/" \
       --run "cd $out";
   '';
 
diff --git a/nixpkgs/pkgs/games/naev/default.nix b/nixpkgs/pkgs/games/naev/default.nix
index d8a4e32faaab..a1b525ff093b 100644
--- a/nixpkgs/pkgs/games/naev/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/newtonwars/default.nix b/nixpkgs/pkgs/games/newtonwars/default.nix
index a0ae03cefb75..093f071c7233 100644
--- a/nixpkgs/pkgs/games/newtonwars/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/nexuiz/default.nix b/nixpkgs/pkgs/games/nexuiz/default.nix
index 72235d9131bc..9f8d228e7167 100644
--- a/nixpkgs/pkgs/games/nexuiz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/odamex/default.nix b/nixpkgs/pkgs/games/odamex/default.nix
index 6c6bb9f78bab..2afb259ea43e 100644
--- a/nixpkgs/pkgs/games/odamex/default.nix
+++ b/nixpkgs/pkgs/games/odamex/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, cmake, fetchurl, pkgconfig, SDL, SDL_mixer, SDL_net }:
+{ stdenv, cmake, fetchurl, pkgconfig, SDL, SDL_mixer, SDL_net, wxGTK30 }:
+
+stdenv.mkDerivation rec {
+  pname = "odamex";
+  version = "0.8.1";
 
-stdenv.mkDerivation {
-  name = "odamex-0.7.0";
   src = fetchurl {
-    url = mirror://sourceforge/odamex/odamex-src-0.7.0.tar.bz2;
-    sha256 = "0cb6p58yv55kdyfj7s9n9xcwpvxrj8nyc6brw9jvwlc5n4y3cd5a";
+    url = "mirror://sourceforge/${pname}/${pname}-src-${version}.tar.bz2";
+    sha256 = "1dz0lqdx3vb62mylqddcdq3vxsl2mvv0w2xskvwgpg0p04fcic2c";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake SDL SDL_mixer SDL_net ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ SDL SDL_mixer SDL_net wxGTK30 ];
 
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://odamex.net/;
+    homepage = "http://odamex.net/";
     description = "A client/server port for playing old-school Doom online";
     license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ MP2E ];
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/games/onscripter-en/default.nix b/nixpkgs/pkgs/games/onscripter-en/default.nix
index 618e78553a54..2ad23a72368b 100644
--- a/nixpkgs/pkgs/games/onscripter-en/default.nix
+++ b/nixpkgs/pkgs/games/onscripter-en/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--no-werror" ];
 
   # Without this libvorbisfile.so is not getting linked properly for some reason.
-  NIX_CFLAGS_LINK = [ "-lvorbisfile" ];
+  NIX_CFLAGS_LINK = "-lvorbisfile";
 
   preBuild = ''
     sed -i 's/.dll//g' Makefile
diff --git a/nixpkgs/pkgs/games/openarena/default.nix b/nixpkgs/pkgs/games/openarena/default.nix
index 141e0151cfbd..1e839c46f0fe 100644
--- a/nixpkgs/pkgs/games/openarena/default.nix
+++ b/nixpkgs/pkgs/games/openarena/default.nix
@@ -16,27 +16,28 @@ stdenv.mkDerivation {
     gameDir = "$out/openarena-$version";
     interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
     libPath = stdenv.lib.makeLibraryPath [ SDL libglvnd libogg libvorbis curl openal ];
+    arch = {
+      "x86_64-linux" = "x86_64";
+      "i386-linux" = "i386";
+    }.${stdenv.hostPlatform.system};
   in ''
     mkdir -pv $out/bin
     cd $out
     unzip $src
 
-    ${if stdenv.hostPlatform.system == "x86_64-linux" then ''
-      patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.x86_64"
-      makeWrapper "${gameDir}/openarena.x86_64" "$out/bin/openarena" \
-        --prefix LD_LIBRARY_PATH : "${libPath}"
-    '' else ''
-      patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.i386"
-      makeWrapper "${gameDir}/openarena.i386" "$out/bin/openarena" \
-        --prefix LD_LIBRARY_PATH : "${libPath}"
-    ''}
+    patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.${arch}"
+    patchelf --set-interpreter "${interpreter}" "${gameDir}/oa_ded.${arch}"
+
+    makeWrapper "${gameDir}/openarena.${arch}" "$out/bin/openarena" \
+      --prefix LD_LIBRARY_PATH : "${libPath}"
+    makeWrapper "${gameDir}/oa_ded.${arch}" "$out/bin/oa_ded"
   '';
 
   meta = {
     description = "Crossplatform openarena client";
     homepage = http://openarena.ws/;
     maintainers = [ stdenv.lib.maintainers.wyvie ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "i386-linux" "x86_64-linux" ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/nixpkgs/pkgs/games/opendungeons/default.nix b/nixpkgs/pkgs/games/opendungeons/default.nix
index d59afc330a79..f6841abb1d07 100644
--- a/nixpkgs/pkgs/games/opendungeons/default.nix
+++ b/nixpkgs/pkgs/games/opendungeons/default.nix
@@ -15,9 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake ogre cegui boost sfml openal ois ];
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   meta = with stdenv.lib; {
     description = "An open source, real time strategy game sharing game elements with the Dungeon Keeper series and Evil Genius.";
diff --git a/nixpkgs/pkgs/games/openjk/default.nix b/nixpkgs/pkgs/games/openjk/default.nix
index 9109d2667c3f..fd12c9015833 100644
--- a/nixpkgs/pkgs/games/openjk/default.nix
+++ b/nixpkgs/pkgs/games/openjk/default.nix
@@ -21,13 +21,13 @@ let
   };
 in stdenv.mkDerivation {
   pname = "OpenJK";
-  version = "2019-06-24";
+  version = "2019-10-25";
 
   src = fetchFromGitHub {
     owner = "JACoders";
     repo = "OpenJK";
-    rev = "e8b5c135eccb05ddae67e00ff944001f373fddd4";
-    sha256 = "0qkbn59swhnb0anvy9gq945rkb58j6axlcfgb7sff0m4swqw2394";
+    rev = "e9116155052ef6a22135a1806a10e959aa9a1e00";
+    sha256 = "1f1bz1g2ksw4m3rnbh6fdsawcrpbfjdmq1gs2xj0q450yb840l3z";
   };
 
   dontAddPrefix = true;
diff --git a/nixpkgs/pkgs/games/openmw/tes3mp.nix b/nixpkgs/pkgs/games/openmw/tes3mp.nix
index 2bc34a6ec9d0..4bbddfbb1dfb 100644
--- a/nixpkgs/pkgs/games/openmw/tes3mp.nix
+++ b/nixpkgs/pkgs/games/openmw/tes3mp.nix
@@ -24,20 +24,20 @@ let
   coreScripts = fetchFromGitHub {
     owner = "TES3MP";
     repo = "CoreScripts";
-    # usually latest master
-    rev = "71e15fa3b1d5131b6607ba1589f41c06672ce376";
-    sha256 = "1kwii8rpsxjmz4dh06wb0qaix17hq5s1qsvysv6n6209vlclfxjg";
+    # usually latest in stable branch (e.g. 0.7.0)
+    rev = "506146f5b2297242b713a030a589966156df1e8e";
+    sha256 = "0p4a4bgigyxfmaczf3jnz6ik4hgvdaafzc4614hbmbm1qbn8wpf9";
   };
 in openmw.overrideAttrs (oldAttrs: rec {
-  version = "2019-06-09";
+  version = "2019-07-01";
   name = "openmw-tes3mp-${version}";
 
   src = fetchFromGitHub {
     owner = "TES3MP";
     repo = "openmw-tes3mp";
     # usually latest in stable branch (e.g. 0.7.0)
-    rev = "01804af100785bc2c162d568258d9662012627a3";
-    sha256 = "0j99v9vvmic0bqw3y4550k1dy058lwvs9s9qcjmxh1wkqkvrpdnp";
+    rev = "94a9292cc676a037496f98877b62da80cde2ac47";
+    sha256 = "0kc45xs33rsxac1aba248slzvljx90ybdk4ag9jwjjmsjmy7w2w5";
   };
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/openra/common.nix b/nixpkgs/pkgs/games/openra/common.nix
index b0d1f2a5455e..51f941771777 100644
--- a/nixpkgs/pkgs/games/openra/common.nix
+++ b/nixpkgs/pkgs/games/openra/common.nix
@@ -69,7 +69,7 @@ in {
       python
     ];
 
-    makeFlags = "prefix=$(out)";
+    makeFlags = [ "prefix=$(out)" ];
 
     doCheck = true;
 
diff --git a/nixpkgs/pkgs/games/openrct2/default.nix b/nixpkgs/pkgs/games/openrct2/default.nix
index d546ff8481e4..1dbb14c94974 100644
--- a/nixpkgs/pkgs/games/openrct2/default.nix
+++ b/nixpkgs/pkgs/games/openrct2/default.nix
@@ -5,27 +5,27 @@
 
 let
   name = "openrct2-${version}";
-  version = "0.2.3";
+  version = "0.2.4";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${version}";
-    sha256 = "01mj6jlbl2cn3wpk6sy34ldzdl0qykpn7fncznjykklj2nqzr4ig";
+    sha256 = "1rlw3w20llg36sj3bk50g661qw766ng8ma3p42sdkj8br9dw800h";
   };
 
   objects-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "objects";
-    rev = "v1.0.11";
-    sha256 = "1bh7mngpqnhzwnhhawq5y3a6hbvwxis2yagk4dcmc4w1fifq2y66";
+    rev = "v1.0.12";
+    sha256 = "0vfhyldc8nfvkg4d9kry669haxz2165walbxzgza7pqpnd7aqgrf";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
-    rev = "v0.1.2";
-    sha256 = "1yb1ynkfmiankii3fngr9km5wbc07rp30nh0apkj6wryrhy7imgm";
+    rev = "v0.1.2c";
+    sha256 = "1qdrm4q75bznmgdrpjdaiqvbf3q4vwbkkmls45izxvyg1djrpsdf";
   };
 in
 stdenv.mkDerivation {
@@ -33,9 +33,13 @@ stdenv.mkDerivation {
 
   src = openrct2-src;
 
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+  ];
+
   buildInputs = [
     SDL2
-    cmake
     curl
     fontconfig
     freetype
@@ -47,7 +51,6 @@ stdenv.mkDerivation {
     libzip
     libGLU
     openssl
-    pkgconfig
     speexdsp
     zlib
   ];
diff --git a/nixpkgs/pkgs/games/openrw/default.nix b/nixpkgs/pkgs/games/openrw/default.nix
index f35077c084aa..04d8afd2786b 100644
--- a/nixpkgs/pkgs/games/openrw/default.nix
+++ b/nixpkgs/pkgs/games/openrw/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchgit, cmake, sfml, libGLU_combined, bullet, glm, libmad, xlibsWrapper, openal
-, SDL2, boost, ffmpeg }:
+{ stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
+, SDL2, boost, ffmpeg, Cocoa, OpenAL }:
 
 stdenv.mkDerivation {
-  version = "2017-09-17";
+  version = "2019-10-26";
   pname = "openrw";
 
   src = fetchgit {
     url = "https://github.com/rwengine/openrw";
-    rev = "11e90c61e56b60240251cd080f175ddff7d7a101";
-    sha256 = "16qklk9yc4ssxxkicxvww4gmg1c7cm6vhyilyv287vhz1fq9sz49";
+    rev = "51b7264744d1aaa20de3b86a7a4e92a9930881ba";
+    sha256 = "04s088wfxkfmb4dxdvad611yxj8smxlnxdm5xy81zldfzybvx8dg";
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [ cmake ];
+
   buildInputs = [
-    cmake 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; {
     description = "Unofficial open source recreation of the classic Grand Theft Auto III game executable";
diff --git a/nixpkgs/pkgs/games/openspades/default.nix b/nixpkgs/pkgs/games/openspades/default.nix
index de05e1944f39..b00524461a49 100644
--- a/nixpkgs/pkgs/games/openspades/default.nix
+++ b/nixpkgs/pkgs/games/openspades/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_LINK = [ "-lopenal" ];
+  NIX_CFLAGS_LINK = "-lopenal";
 
   meta = with stdenv.lib; {
     description = "A compatible client of Ace of Spades 0.75";
diff --git a/nixpkgs/pkgs/games/openttd/default.nix b/nixpkgs/pkgs/games/openttd/default.nix
index d0828b8811bc..704ef3c327e9 100644
--- a/nixpkgs/pkgs/games/openttd/default.nix
+++ b/nixpkgs/pkgs/games/openttd/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     "--without-liblzo2"
   ];
 
-  makeFlags = "INSTALL_PERSONAL_DIR=";
+  makeFlags = [ "INSTALL_PERSONAL_DIR=" ];
 
   postInstall = ''
     mv $out/games/ $out/bin
diff --git a/nixpkgs/pkgs/games/openxcom/default.nix b/nixpkgs/pkgs/games/openxcom/default.nix
index 9b3d92a350d3..a77b8f2ba4c8 100644
--- a/nixpkgs/pkgs/games/openxcom/default.nix
+++ b/nixpkgs/pkgs/games/openxcom/default.nix
@@ -1,19 +1,19 @@
-{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.2018.10.08"; in
+let version = "1.0.0.2019.10.18"; in
 stdenv.mkDerivation {
   pname = "openxcom";
   inherit version;
   src = fetchFromGitHub {
-    owner = "SupSuper";
+    owner = "OpenXcom";
     repo = "OpenXcom";
-    rev = "13049d617fe762b91893faaf7c14ddefa49e2f1d";
-    sha256 = "0vpcfk3g1bnwwmrln14jkj2wvw2z8igxw2mdb7c3y66466wm93ig";
+    rev = "f9853b2cb8c8f741ac58707487ef493416d890a3";
+    sha256 = "0kbfawj5wsp1mwfcm5mwpkq6s3d13pailjm5w268gqpxjksziyq0";
   };
 
   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/nixpkgs/pkgs/games/openxray/default.nix b/nixpkgs/pkgs/games/openxray/default.nix
new file mode 100644
index 000000000000..c115833d848b
--- /dev/null
+++ b/nixpkgs/pkgs/games/openxray/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchFromGitHub, cmake, glew, freeimage,  liblockfile
+, openal, libtheora, SDL2, lzo, libjpeg, libogg, tbb
+, pcre, makeWrapper }:
+
+let
+  version = "558";
+
+  src = fetchFromGitHub {
+    owner = "OpenXRay";
+    repo = "xray-16";
+    rev = version;
+    sha256 = "1wnkx9g0ww4f5pljrb0wzs054jzkig1i5hlz1p509rfvnhc50afp";
+    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"}" ];
+
+  buildInputs = [
+    glew freeimage liblockfile openal cryptopp libtheora SDL2 lzo
+    libjpeg libogg tbb pcre
+  ];
+  nativeBuildInputs = [ cmake makeWrapper ];
+
+  preConfigure = ''
+    substituteInPlace src/xrCore/xrCore.cpp \
+      --replace /usr/share $out/share
+  '';
+
+  postInstall = ''
+    mv $out/var/empty/* $out
+    install -Dm755 $out/games/xr_3da $out/bin/xr_3da
+    install -Dm644 $src/License.txt $out/share/licenses/openxray/License.txt
+    rm -r $out/var $out/games
+
+    # needed because of SDL_LoadObject library loading code
+    wrapProgram $out/bin/xr_3da \
+      --prefix LD_LIBRARY_PATH : $out/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "X-Ray Engine 1.6 expansion. Original version was used in S.T.A.L.K.E.R.: Call of Pripyat";
+    homepage = src.meta.homepage;
+    license = licenses.unfree // {
+      url = https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt;
+    };
+    maintainers = [ maintainers.gnidorah ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/pingus/default.nix b/nixpkgs/pkgs/games/pingus/default.nix
index dc47e5aa58e8..628493a34b1b 100644
--- a/nixpkgs/pkgs/games/pingus/default.nix
+++ b/nixpkgs/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;
   };
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
       sha256 = "0nqyhznnnvpgfa6rfv8rapjfpw99b67n97jfqp9r3hpib1b3ja6p";
     })
   ];
-  makeFlags = "PREFIX=${placeholder "out"}";
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
   dontUseSconsInstall = true;
   meta = {
     inherit (s) version;
diff --git a/nixpkgs/pkgs/games/pioneer/default.nix b/nixpkgs/pkgs/games/pioneer/default.nix
index b6035918af7b..cb9fe730f195 100644
--- a/nixpkgs/pkgs/games/pioneer/default.nix
+++ b/nixpkgs/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 = "20190203";
+  version = "20191117";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "1g34wvgyvz793dhm1k64kl82ib0cavkbg0f2p3fp05b457ycljff";
+    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/nixpkgs/pkgs/games/pokerth/default.nix b/nixpkgs/pkgs/games/pokerth/default.nix
index e32bc06b8f5e..2e4ce270b828 100644
--- a/nixpkgs/pkgs/games/pokerth/default.nix
+++ b/nixpkgs/pkgs/games/pokerth/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     "pokerth.pro"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
+  NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/games/prboom/default.nix b/nixpkgs/pkgs/games/prboom/default.nix
index 520f6503edfd..ea6f8b01c71d 100644
--- a/nixpkgs/pkgs/games/prboom/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/privateer/default.nix b/nixpkgs/pkgs/games/privateer/default.nix
index d4945d43c7d7..607458f37986 100644
--- a/nixpkgs/pkgs/games/privateer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/pysolfc/default.nix b/nixpkgs/pkgs/games/pysolfc/default.nix
index 85424ebea9ba..48c06c0eab63 100644
--- a/nixpkgs/pkgs/games/pysolfc/default.nix
+++ b/nixpkgs/pkgs/games/pysolfc/default.nix
@@ -1,39 +1,48 @@
-{ fetchurl, python2, stdenv }:
-
-with python2.pkgs;
+{ stdenv, fetchzip, buildPythonApplication, python3Packages
+  , desktop-file-utils, freecell-solver }:
 
 buildPythonApplication rec {
   pname = "PySolFC";
-  version = "2.0";
+  version = "2.6.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2";
-    sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv";
+  src = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC/PySolFC-${version}/PySolFC-${version}.tar.xz";
+    sha256 = "1bd84law5b1yga3pryggdvlfvm0l62gci2q8y3q79cysdk3z4w3z";
   };
 
-  patches = [
-    ./pysolfc-datadir.patch
+  cardsets = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC-Cardsets/PySolFC-Cardsets-2.0/PySolFC-Cardsets-2.0.tar.bz2";
+    sha256 = "0h0fibjv47j8lkc1bwnlbbvrx2nr3l2hzv717kcgagwhc7v2mrqh";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    tkinter six random2
+    # optional :
+    pygame freecell-solver pillow
   ];
 
-  propagatedBuildInputs = [
-    tkinter
+  patches = [
+    ./pysolfc-datadir.patch
   ];
 
-  # No tests in archive
-  doCheck = false;
+  nativeBuildInputs = [ desktop-file-utils ];
+  postPatch = ''
+    desktop-file-edit --set-key Icon --set-value ${placeholder "out"}/share/icons/pysol01.png data/pysol.desktop
+    desktop-file-edit --set-key Comment --set-value "${meta.description}" data/pysol.desktop
+  '';
 
   postInstall = ''
-    # executables should not have an extension
-    pushd $out/bin
-    mv pysol.py pysol
-    rm pysol.pyc
-    popd
+    mkdir $out/share/PySolFC/cardsets
+    cp -r $cardsets/* $out/share/PySolFC/cardsets
   '';
 
+  # No tests in archive
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "A collection of more than 1000 solitaire card games";
-    homepage = http://pysolfc.sourceforge.net/;
+    homepage = https://pysolfc.sourceforge.io;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ kierdavis ];
+    maintainers = with maintainers; [ kierdavis genesis ];
   };
 }
diff --git a/nixpkgs/pkgs/games/qtads/default.nix b/nixpkgs/pkgs/games/qtads/default.nix
new file mode 100644
index 000000000000..dda7799aacba
--- /dev/null
+++ b/nixpkgs/pkgs/games/qtads/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, qmake
+, SDL2, fluidsynth, libsndfile, libvorbis, mpg123, qtbase
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qtads";
+  version = "2.1.99.2019-04-12";
+
+  src = fetchFromGitHub {
+    owner = "realnc";
+    repo = pname;
+    rev = "43289a830a18c66a293c2b1ee75a08e92e8dd5dc";
+    sha256 = "0zscf6nmjjc4i7c38iy8znv2s453xc49gn7knyi3g1l6iinjwbx7";
+  };
+
+  nativeBuildInputs = [ pkgconfig qmake ];
+
+  buildInputs = [ SDL2 fluidsynth libsndfile libvorbis mpg123 qtbase ];
+
+  meta = with lib; {
+    homepage = https://realnc.github.io/qtads/;
+    description = "Multimedia interpreter for TADS games";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/quake3/quake3e/default.nix b/nixpkgs/pkgs/games/quake3/quake3e/default.nix
new file mode 100644
index 000000000000..1e179f2f9564
--- /dev/null
+++ b/nixpkgs/pkgs/games/quake3/quake3e/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, curl, libGL, libX11, libXxf86dga, alsaLib, libXrandr, libXxf86vm, libXext, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "Quake3e";
+  version = "2019-11-29";
+
+  src = fetchFromGitHub {
+    owner = "ec-";
+    repo = pname;
+    rev = version;
+    sha256 = "1gpfl72rzwiawhcj3ir38sqdb95y7w7lm7wgj44lbn99z7bvkcn3";
+  };
+
+  buildInputs = [ curl libGL libX11 libXxf86dga alsaLib libXrandr libXxf86vm libXext ];
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    sed -i -e 's#OpenGLLib = dlopen( dllname#OpenGLLib = dlopen( "${libGL}/lib/libGL.so"#' code/unix/linux_qgl.c
+    sed -i -e 's#Sys_LoadLibrary( "libasound.so.2" )#Sys_LoadLibrary( "${alsaLib}/lib/libasound.so.2" )#' code/unix/linux_snd.c
+    sed -i -e 's#Sys_LoadLibrary( "libXrandr.so.2" )#Sys_LoadLibrary( "${libXrandr}/lib/libXrandr.so.2" )#' code/unix/x11_randr.c
+    sed -i -e 's#Sys_LoadLibrary( "libXxf86vm.so.1" )#Sys_LoadLibrary( "${libXxf86vm}/lib/libXxf86vm.so.1" )#' code/unix/x11_randr.c
+    sed -i -e 's#Sys_LoadLibrary( "libXxf86dga.so.1" )#Sys_LoadLibrary( "${libXxf86dga}/lib/libXxf86dga.so.1" )#' code/unix/x11_dga.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp build/*/*x64 $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ec-/Quake3e;
+    description = "Improved Quake III Arena engine";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pmiddend ];
+  };  
+}
diff --git a/nixpkgs/pkgs/games/quakespasm/vulkan.nix b/nixpkgs/pkgs/games/quakespasm/vulkan.nix
index 114f862888d4..e30065666b0f 100644
--- a/nixpkgs/pkgs/games/quakespasm/vulkan.nix
+++ b/nixpkgs/pkgs/games/quakespasm/vulkan.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  majorVersion = "1.01";
-  version = "${majorVersion}.0";
+  version = "1.03.0";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "1iwin8j5kbyrknbkhjgpy8nmm7pxqzr0daa9gn7p38qhg2mh0a39";
+    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
   };
 
   sourceRoot = "source/Quake";
diff --git a/nixpkgs/pkgs/games/redeclipse/default.nix b/nixpkgs/pkgs/games/redeclipse/default.nix
index fe8fb5243b84..3002fc75e632 100644
--- a/nixpkgs/pkgs/games/redeclipse/default.nix
+++ b/nixpkgs/pkgs/games/redeclipse/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "1.6.0";
 
   src = fetchurl {
-    url = "https://github.com/red-eclipse/base/releases/download/v${version}/redeclipse_${version}_nix.tar.bz2";
+    url = "https://github.com/redeclipse/base/releases/download/v${version}/redeclipse_${version}_nix.tar.bz2";
     sha256 = "0j98zk7nivdsap4y50dlqnql17hdila1ikvps6vicwaqb3l4gaa8";
   };
 
diff --git a/nixpkgs/pkgs/games/residualvm/default.nix b/nixpkgs/pkgs/games/residualvm/default.nix
index 79d657e668dc..9b0cfaa3b50d 100644
--- a/nixpkgs/pkgs/games/residualvm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/rigsofrods/default.nix b/nixpkgs/pkgs/games/rigsofrods/default.nix
index 09550339f83d..00faee7b9289 100644
--- a/nixpkgs/pkgs/games/rigsofrods/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/rogue/default.nix b/nixpkgs/pkgs/games/rogue/default.nix
index c8af2331b080..1e27d67eb03e 100644
--- a/nixpkgs/pkgs/games/rogue/default.nix
+++ b/nixpkgs/pkgs/games/rogue/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   buildInputs = [ ncurses ];
 
   # Fix build for recent ncurses versions
-  NIX_CFLAGS_COMPILE = [ "-DNCURSES_INTERNALS=1" ];
+  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
 
   meta = with stdenv.lib; {
     homepage = http://rogue.rogueforge.net/rogue-5-4/;
diff --git a/nixpkgs/pkgs/games/runelite/default.nix b/nixpkgs/pkgs/games/runelite/default.nix
index 77d1888b86e7..9b6ca4f7c057 100644
--- a/nixpkgs/pkgs/games/runelite/default.nix
+++ b/nixpkgs/pkgs/games/runelite/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, makeWrapper, jre, makeDesktopItem, lib }:
 
-  stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "runelite";
-  version = "1.6.0";
+  version = "2.0.0";
 
   src = fetchurl {
     url = "https://github.com/runelite/launcher/releases/download/${version}/RuneLite.jar";
-    sha256 = "0q2xx0wrnlg5mrv8nnmnh300r8mqfm8k2p028m7mr09kn18xvkzx";
+    sha256 = "0q0x8g43ggkvp5fgnymgygx59xfhnyyrhpi6ha333gqg97rr0rvw";
   };
 
   icon = fetchurl {
-    url = "https://github.com/runelite/runelite/raw/master/runelite-client/src/main/resources/runelite.png";
-    sha256 = "0fxzkpsin09giqp7h8z0plxznk5d5j60sv34v1lw61p7d5y2izvr";
+    url = "https://github.com/runelite/launcher/raw/${version}/appimage/runelite.png";
+    sha256 = "04fcjm7p546gr82g0jbh497j7rnh70lrvas0k171bff4v3knrjw1";
   };
 
   desktop = makeDesktopItem {
@@ -43,11 +43,11 @@
     --add-flags "-jar $out/share/runelite/RuneLite.jar"
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Open source Old School RuneScape client";
     homepage = "https://runelite.net/";
-    license = lib.licenses.bsd2;
-    maintainers = [ lib.maintainers.kmeakin ];
-    platforms = lib.platforms.all;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kmeakin ];
+    platforms = platforms.all;
   };
-  }
+}
diff --git a/nixpkgs/pkgs/games/sauerbraten/default.nix b/nixpkgs/pkgs/games/sauerbraten/default.nix
index 3a9635f67124..c4119ee43636 100644
--- a/nixpkgs/pkgs/games/sauerbraten/default.nix
+++ b/nixpkgs/pkgs/games/sauerbraten/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchsvn, libGLU_combined, SDL, SDL_image, SDL_mixer
-, libpng, zlib, libjpeg, imagemagick, libX11, runtimeShell
+{ stdenv, fetchsvn, SDL2, SDL2_image, SDL2_mixer
+, zlib, runtimeShell
 }:
 
 stdenv.mkDerivation rec {
   name = "sauerbraten-r${version}";
-  version = "5000";
+  version = "5492";
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/sauerbraten/code";
-    sha256 = "17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh";
+    sha256 = "0pin7ggy84fadjvran18db5v0l81qfv42faknpfaxx47xqz00l5s";
     rev = version;
   };
 
   buildInputs = [
-    libGLU_combined SDL SDL_image SDL_mixer libpng zlib libjpeg imagemagick
-    libX11
+    SDL2 SDL2_mixer SDL2_image
+    zlib
   ];
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/games/scorched3d/default.nix b/nixpkgs/pkgs/games/scorched3d/default.nix
index 1527f61c4d0f..c86df396ff15 100644
--- a/nixpkgs/pkgs/games/scorched3d/default.nix
+++ b/nixpkgs/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
     ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-fftw=${fftwSinglePrec.dev}" ];
 
-  NIX_LDFLAGS = [ "-lopenal" ];
+  NIX_LDFLAGS = "-lopenal";
 
   meta = with stdenv.lib; {
     homepage = http://scorched3d.co.uk/;
diff --git a/nixpkgs/pkgs/games/scummvm/default.nix b/nixpkgs/pkgs/games/scummvm/default.nix
index cb8223daa2b0..8ef6e0c8be57 100644
--- a/nixpkgs/pkgs/games/scummvm/default.nix
+++ b/nixpkgs/pkgs/games/scummvm/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, nasm
-, alsaLib, 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 {
   pname = "scummvm";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "http://scummvm.org/frs/scummvm/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0q6aiw97wsrf8cjw9vjilzhqqsr2rw2lll99s8i5i9svan6l314p";
+    sha256 = "6b50c6596a1536b52865f556dc05ded20f86b6ffabe4bccbd746b5587b15f727";
   };
 
   nativeBuildInputs = [ nasm ];
 
   buildInputs = [
-    alsaLib 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;
+
   enableParallelBuilding = true;
 
   configurePlatforms = [ "host" ];
diff --git a/nixpkgs/pkgs/games/sdlmame/default.nix b/nixpkgs/pkgs/games/sdlmame/default.nix
deleted file mode 100644
index 7811b4b7373f..000000000000
--- a/nixpkgs/pkgs/games/sdlmame/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, alsaLib, qt48, SDL, fontconfig, freetype, SDL_ttf, xorg }:
-
-stdenv.mkDerivation rec {
-  version = "0.151.u0-1";
-  pname = "sdlmame";
-
-  src = if stdenv.hostPlatform.system == "x86_64-linux"
-    then fetchurl {
-      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-x86_64.pkg.tar.xz";
-      sha256 = "1j9vjxhrhsskrlk5wr7al4wk2hh3983kcva42mqal09bmc8qg3m9";
-    }
-    else fetchurl {
-      url    = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-i686.pkg.tar.xz";
-      sha256 = "1i38j9ml66pyxzm0zzf1fv4lb40f6w47cdgaw846q91pzakkkqn7";
-    };
-
-  buildPhase = ''
-    sed -i "s|/usr|$out|" bin/sdlmame
-  '';
-
-  installPhase = ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${stdenv.lib.makeLibraryPath [ alsaLib qt48 SDL fontconfig freetype SDL_ttf xorg.libX11 xorg.libXinerama stdenv.cc.cc ]}" \
-      share/sdlmame/sdlmame
-
-    mkdir -p "$out/bin"
-    cp -r bin/sdlmame "$out/bin"
-    cp -r share "$out"
-  '';
-
-  dontPatchELF = true;
-  dontStrip    = true;
-
-  meta = with stdenv.lib; {
-    homepage    = http://sdlmame.lngn.net;
-    description = "A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support";
-    license     = "MAME";
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = [ "x86_64-linux" "i686-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/games/sgt-puzzles/default.nix b/nixpkgs/pkgs/games/sgt-puzzles/default.nix
index 428be470b3e7..8349be64264a 100644
--- a/nixpkgs/pkgs/games/sgt-puzzles/default.nix
+++ b/nixpkgs/pkgs/games/sgt-puzzles/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sgt-puzzles-r${version}";
-  version = "20190415.e2135d5";
+  version = "20191114.1c0c49d";
 
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "02p9kpvmqa0cm9y0lzdy7g8h4b4mqma8d9jfvgi2yysbgjfzq2ak";
+   sha256 = "01fi2f3w71bfbgcfr6gxdp5a9cxh4dshbflv83q2j5rxxs2ll870";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ];
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
-    homepage = http://www.chiark.greenend.org.uk/~sgtatham/puzzles/;
+    homepage = https://www.chiark.greenend.org.uk/~sgtatham/puzzles/;
   };
 }
diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
new file mode 100644
index 000000000000..f96f61764b54
--- /dev/null
+++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchurl
+, makeWrapper
+, fetchFromGitHub
+, gradle_5
+, perl
+, jre
+, xorg
+, openal
+}:
+
+let
+  pname = "shattered-pixel-dungeon";
+  version = "0.7.5f";
+
+  src = fetchFromGitHub {
+    owner = "00-Evan";
+    repo = "shattered-pixel-dungeon-gdx";
+    rev = "v${version}";
+    sha256 = "05awbbc7np9li50shdbpv9dgdgry6lra8d5gibwn578m2g9srbxx";
+  };
+
+  postPatch = ''
+    # disable gradle plugins with native code and their targets
+    perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
+    perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
+  '';
+
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    pname = "${pname}-deps";
+    inherit version src postPatch;
+    nativeBuildInputs = [ gradle_5 perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      gradle --no-daemon desktop:dist
+    '';
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "1k0v5scadw9ziq4dw2rckmh8x2xlmxslfsxmpw79zg78n3hvwhf1";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname version src postPatch;
+
+  nativeBuildInputs = [ gradle_5 perl makeWrapper ];
+
+  buildPhase = ''
+    export GRADLE_USER_HOME=$(mktemp -d)
+    # point to offline repo
+    sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle
+    gradle --offline --no-daemon desktop:dist
+  '';
+
+  installPhase = ''
+    install -Dm644 desktop/build/libs/desktop-${version}.jar $out/share/shattered-pixel-dungeon.jar
+    mkdir $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/shattered-pixel-dungeon \
+      --prefix LD_LIBRARY_PATH : ${xorg.libXxf86vm}/lib:${openal}/lib \
+      --add-flags "-jar $out/share/shattered-pixel-dungeon.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://shatteredpixel.com/";
+    downloadPage = "https://github.com/00-Evan/shattered-pixel-dungeon-gdx/releases";
+    description = "Traditional roguelike game with pixel-art graphics and simple interface";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/games/simutrans/default.nix b/nixpkgs/pkgs/games/simutrans/default.nix
index d8ab792bb62a..50be7b55203d 100644
--- a/nixpkgs/pkgs/games/simutrans/default.nix
+++ b/nixpkgs/pkgs/games/simutrans/default.nix
@@ -97,7 +97,7 @@ let
       cat > "$out/bin/simutrans" <<EOF
       #!${runtimeShell}
       cd "$out"/share/simutrans
-      exec "${binaries}/bin/simutrans" -use_workdir "\''${extraFlagsArray[@]}" "\$@"
+      exec "${binaries}/bin/simutrans" -use_workdir "\$@"
       EOF
       chmod +x "$out/bin/simutrans"
     '';
@@ -164,6 +164,7 @@ let
       license = with licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ kkallio vcunat phile314 ];
       platforms = with platforms; linux; # TODO: ++ darwin;
+      broken = true;
     };
   };
 
diff --git a/nixpkgs/pkgs/games/soi/default.nix b/nixpkgs/pkgs/games/soi/default.nix
index 2ffd3f3d053b..7179c4f48b51 100644
--- a/nixpkgs/pkgs/games/soi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/space-orbit/default.nix b/nixpkgs/pkgs/games/space-orbit/default.nix
index 2b69dfccad15..e9fe6257fb63 100644
--- a/nixpkgs/pkgs/games/space-orbit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/speed-dreams/default.nix b/nixpkgs/pkgs/games/speed-dreams/default.nix
index 17cb57d3fdbc..473409ffae95 100644
--- a/nixpkgs/pkgs/games/speed-dreams/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/spring/default.nix b/nixpkgs/pkgs/games/spring/default.nix
index 9bfd917d1aa0..8f43a6d84b1a 100644
--- a/nixpkgs/pkgs/games/spring/default.nix
+++ b/nixpkgs/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;
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom maintainers.qknight maintainers.domenkozar ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/games/stardust/default.nix b/nixpkgs/pkgs/games/stardust/default.nix
index 9de9bd37e8dc..1e2089b9c503 100644
--- a/nixpkgs/pkgs/games/stardust/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/steam/chrootenv.nix b/nixpkgs/pkgs/games/steam/chrootenv.nix
index 5c73e458c1ac..9229f4fbc93e 100644
--- a/nixpkgs/pkgs/games/steam/chrootenv.nix
+++ b/nixpkgs/pkgs/games/steam/chrootenv.nix
@@ -75,8 +75,11 @@ in buildFHSUserEnv rec {
     xorg.libX11
     xorg.libXfixes
     libGL
+    pkgsi686Linux.libva
 
     # Not formally in runtime but needed by some games
+    at-spi2-atk
+    at-spi2-core   # CrossCode
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-ugly
     libdrm
@@ -84,14 +87,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/nixpkgs/pkgs/games/stockfish/default.nix b/nixpkgs/pkgs/games/stockfish/default.nix
index eea92b43b520..07ca9223bb0c 100644
--- a/nixpkgs/pkgs/games/stockfish/default.nix
+++ b/nixpkgs/pkgs/games/stockfish/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   postUnpack = "sourceRoot+=/src";
   makeFlags = [ "PREFIX=$(out)" "ARCH=${arch}" ];
-  buildFlags = "build ";
+  buildFlags = [ "build" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/games/super-tux-kart/default.nix b/nixpkgs/pkgs/games/super-tux-kart/default.nix
index 0bdd1f9f62df..2db49165c5fb 100644
--- a/nixpkgs/pkgs/games/super-tux-kart/default.nix
+++ b/nixpkgs/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
   ];
 
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = https://supertuxkart.net/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ pyrolagus fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ pyrolagus peterhoeg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/games/supertux/default.nix b/nixpkgs/pkgs/games/supertux/default.nix
index 6cfabc4ee6a7..3b33296892f5 100644
--- a/nixpkgs/pkgs/games/supertux/default.nix
+++ b/nixpkgs/pkgs/games/supertux/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image , curl
-, libogg, libvorbis, libGLU_combined, openal, boost, glew
+, libogg, libvorbis, libGLU, libGL, openal, boost, glew
 , libpng, freetype
 }:
 
 stdenv.mkDerivation rec {
   pname = "supertux";
-  version = "0.6.0";
+  version = "0.6.1.1";
 
   src = fetchurl {
     url = "https://github.com/SuperTux/supertux/releases/download/v${version}/SuperTux-v${version}-Source.tar.gz";
-    sha256 = "1h1s4abirkdv4ag22zvyk6zkk64skqbjmcnnba67ps4hdzxfbhy4";
+    sha256 = "0n36qxwjlkdlksximz4s729az6pry2sdjavwgm7m65vfgdiz139f";
   };
 
   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/nixpkgs/pkgs/games/system-syzygy/default.nix b/nixpkgs/pkgs/games/system-syzygy/default.nix
new file mode 100644
index 000000000000..ee47bd545066
--- /dev/null
+++ b/nixpkgs/pkgs/games/system-syzygy/default.nix
@@ -0,0 +1,43 @@
+{lib, rustPlatform, fetchFromGitHub, fetchurl, SDL2, makeWrapper, makeDesktopItem}:
+
+let
+  desktopFile = makeDesktopItem {
+    name = "system-syzygy";
+    exec = "%out%/bin/syzygy";
+    comment = "A puzzle game";
+    desktopName = "System Syzygy";
+    categories = "Game;";
+  };
+in
+rustPlatform.buildRustPackage rec {
+  pname = "system-syzygy";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "mdsteele";
+    repo = "syzygy";
+    rev = "5ba148fed7aae14bf35108d7303e4194e8ffe5e8";
+    sha256 = "07mzwx8ql33q865snnw4gm3dgf0mnm60lnq1f5fgas2yjy9g9vwa";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ SDL2 ];
+
+  cargoSha256 = "03724z33dqxbbrzpvz172qh45qrgnyb801algjdcm32v8xsx81qg";
+
+  postInstall = ''
+    mkdir -p $out/share/syzygy/
+    cp -r ${src}/data/* $out/share/syzygy/
+    wrapProgram $out/bin/syzygy --set SYZYGY_DATA_DIR $out/share/syzygy
+    mkdir -p $out/share/applications
+    substituteAll ${desktopFile}/share/applications/system-syzygy.desktop $out/share/applications/system-syzygy.desktop
+  '';
+
+
+  meta = with lib; {
+    description = "A story and a puzzle game, where you solve a variety of puzzle";
+    homepage = "https://mdsteele.games/syzygy";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/tdm/default.nix b/nixpkgs/pkgs/games/tdm/default.nix
index f0a89adab572..949f5a3e2ab9 100644
--- a/nixpkgs/pkgs/games/tdm/default.nix
+++ b/nixpkgs/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,12 +86,12 @@ 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;
   sconsFlags = [ "BUILD=release" "TARGET_ARCH=x64" ];
-  NIX_CFLAGS_COMPILE = ["-Wno-error=format-security"];
+  NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
   meta = with stdenv.lib; {
     description = "The Dark Mod - stealth FPS inspired by the Thief series";
     homepage = "http://www.thedarkmod.com";
diff --git a/nixpkgs/pkgs/games/tibia/default.nix b/nixpkgs/pkgs/games/tibia/default.nix
index 02c55d7d06c9..1482b58a7b02 100644
--- a/nixpkgs/pkgs/games/tibia/default.nix
+++ b/nixpkgs/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
@@ -52,6 +52,6 @@ stdenv.mkDerivation {
     homepage = http://tibia.com;
     license = stdenv.lib.licenses.unfree;
     platforms = ["i686-linux"];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/games/tintin/default.nix b/nixpkgs/pkgs/games/tintin/default.nix
index eb4299a4092c..9b58725a3927 100644
--- a/nixpkgs/pkgs/games/tintin/default.nix
+++ b/nixpkgs/pkgs/games/tintin/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl, zlib, pcre }:
+{ stdenv, fetchurl, lib, zlib, pcre
+, tlsSupport ? true, gnutls ? null
+# ^ set { tlsSupport = false; } to reduce closure size by ~= 18.6 MB
+}:
+
+assert tlsSupport -> gnutls != null;
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.01.8";
+  name = "tintin-2.01.92";
 
   src = fetchurl {
     url    = "mirror://sourceforge/tintin/${name}.tar.gz";
-    sha256 = "056g82yi784mf4gbrida9fxqmz347m2l9vad2ksv2fhl7g553y2s";
+    sha256 = "0id8rd2yhh6ccjnlwyixflsay1rq3sw6pwlhz1ic3nzj22cd91ik";
   };
 
-  buildInputs = [ zlib pcre ];
+  nativeBuildInputs = lib.optional tlsSupport gnutls.dev;
+  buildInputs = [ zlib pcre ] ++ lib.optional tlsSupport gnutls;
 
   preConfigure = ''
     cd src
diff --git a/nixpkgs/pkgs/games/tome4/default.nix b/nixpkgs/pkgs/games/tome4/default.nix
index c4d5dcb41e71..b31b53922ffe 100644
--- a/nixpkgs/pkgs/games/tome4/default.nix
+++ b/nixpkgs/pkgs/games/tome4/default.nix
@@ -18,11 +18,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.5.10";
+  version = "1.6.5";
 
   src = fetchurl {
     url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
-    sha256 = "0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7";
+    sha256 = "0ifi057idid8xq7af8ybs99b6939hyfif1ml1ihjpx02vinmd419";
   };
 
   prePatch = ''
@@ -41,11 +41,7 @@ in stdenv.mkDerivation rec {
   # disable parallel building as it caused sporadic build failures
   enableParallelBuilding = false;
 
-  NIX_CFLAGS_COMPILE = [
-    "-I${SDL2.dev}/include/SDL2"
-    "-I${SDL2_image}/include/SDL2"
-    "-I${SDL2_ttf}/include/SDL2"
-  ];
+  NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2 -I${SDL2_image}/include/SDL2 -I${SDL2_ttf}/include/SDL2";
 
   makeFlags = [ "config=release" ];
 
diff --git a/nixpkgs/pkgs/games/trackballs/default.nix b/nixpkgs/pkgs/games/trackballs/default.nix
index b5ff38b93a10..b778579c9d78 100644
--- a/nixpkgs/pkgs/games/trackballs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/tremulous/default.nix b/nixpkgs/pkgs/games/tremulous/default.nix
index 802bdb08a87c..7ea83f80fefa 100644
--- a/nixpkgs/pkgs/games/tremulous/default.nix
+++ b/nixpkgs/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
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     cd ..
   '';
   patches = [ ./parse.patch ];
-  patchFlags = "-p 0";
+  patchFlags = [ "-p" "0" ];
   NIX_LD_FLAGS = ''
     -rpath ${stdenv.cc}/lib
     -rpath ${stdenv.cc}/lib64
diff --git a/nixpkgs/pkgs/games/trigger/default.nix b/nixpkgs/pkgs/games/trigger/default.nix
index 0050ef19cea2..34ae0762beaa 100644
--- a/nixpkgs/pkgs/games/trigger/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/ufoai/default.nix b/nixpkgs/pkgs/games/ufoai/default.nix
index f699a6a05c62..beff8ada96b4 100644
--- a/nixpkgs/pkgs/games/ufoai/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/ultimatestunts/default.nix b/nixpkgs/pkgs/games/ultimatestunts/default.nix
index a7ad366aa195..df80b3a555fb 100644
--- a/nixpkgs/pkgs/games/ultimatestunts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/ultrastardx/default.nix b/nixpkgs/pkgs/games/ultrastardx/default.nix
index 8dd8222e55e4..1c40d8f5800f 100644
--- a/nixpkgs/pkgs/games/ultrastardx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/uqm/default.nix b/nixpkgs/pkgs/games/uqm/default.nix
index 638900c9e898..3944050e9836 100644
--- a/nixpkgs/pkgs/games/uqm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/urbanterror/default.nix b/nixpkgs/pkgs/games/urbanterror/default.nix
index 999799de58d8..98ef32b0472a 100644
--- a/nixpkgs/pkgs/games/urbanterror/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/vdrift/default.nix b/nixpkgs/pkgs/games/vdrift/default.nix
index e018dfd664d3..3002216b9d4b 100644
--- a/nixpkgs/pkgs/games/vdrift/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/vitetris/default.nix b/nixpkgs/pkgs/games/vitetris/default.nix
index 7f552bdd5d66..fdc28d3a5390 100644
--- a/nixpkgs/pkgs/games/vitetris/default.nix
+++ b/nixpkgs/pkgs/games/vitetris/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  makeFlags = "INSTALL=install";
+  makeFlags = [ "INSTALL=install" ];
 
   meta = {
     description = "Terminal-based Tetris clone by Victor Nilsson";
diff --git a/nixpkgs/pkgs/games/voxelands/default.nix b/nixpkgs/pkgs/games/voxelands/default.nix
index 9ea9ec7bd12f..d8c16c9b7ced 100644
--- a/nixpkgs/pkgs/games/voxelands/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/wesnoth/default.nix b/nixpkgs/pkgs/games/wesnoth/default.nix
index 64231b9c39c7..e0f90d84b110 100644
--- a/nixpkgs/pkgs/games/wesnoth/default.nix
+++ b/nixpkgs/pkgs/games/wesnoth/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.14.7";
+  version = "1.14.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0j2yvkcggj5k0r2cqk8ndnj77m37a00srfd9qg7pdpqffbinqpj7";
+    sha256 = "1mhdrlflxxyknf54lwdbvs7fazlc1scf7z6vxxa3j746fks533ga";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/games/widelands/default.nix b/nixpkgs/pkgs/games/widelands/default.nix
index 6f3bc2c11959..e499f4ad1fcc 100644
--- a/nixpkgs/pkgs/games/widelands/default.nix
+++ b/nixpkgs/pkgs/games/widelands/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "widelands";
-  version = "19";
+  version = "20";
 
   meta = with stdenv.lib; {
     description = "RTS with multiple-goods economy";
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}-src-gcc7.tar.bz2";
-    sha256 = "0n2lb1c2dix32j90nir96zfqivn63izr1pmabjnhns3wbb7vhwzg";
+    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}.tar.bz2";
+    sha256 = "1cmwfwk7j6yi2pwmm4rm57s23sdzasqf53nx6567sdagqyc4sn9q";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/games/worldofgoo/default.nix b/nixpkgs/pkgs/games/worldofgoo/default.nix
index 7d8380e9f7ce..0889e52d8f86 100644
--- a/nixpkgs/pkgs/games/worldofgoo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/xbill/default.nix b/nixpkgs/pkgs/games/xbill/default.nix
index 119cd8f08769..8a6d4cf14cdc 100644
--- a/nixpkgs/pkgs/games/xbill/default.nix
+++ b/nixpkgs/pkgs/games/xbill/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXpm libXt motif ];
 
-  NIX_CFLAGS_LINK = [ "-lXpm" ];
+  NIX_CFLAGS_LINK = "-lXpm";
 
   configureFlags = [
     "--with-x"
diff --git a/nixpkgs/pkgs/games/xbomb/default.nix b/nixpkgs/pkgs/games/xbomb/default.nix
index 946bff79f975..54d6c320f187 100644
--- a/nixpkgs/pkgs/games/xbomb/default.nix
+++ b/nixpkgs/pkgs/games/xbomb/default.nix
@@ -9,10 +9,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXaw ];
 
-  preBuild = ''
-    substituteInPlace Makefile \
-      --replace /usr/local $out
-  '';
+  makeFlags = [
+    "INSTDIR=${placeholder ''out''}"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://www.gedanken.org.uk/software/xbomb/;
diff --git a/nixpkgs/pkgs/games/xmoto/default.nix b/nixpkgs/pkgs/games/xmoto/default.nix
index d9bba3fdbdce..34c9bf1f06d1 100644
--- a/nixpkgs/pkgs/games/xmoto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/xonotic/default.nix b/nixpkgs/pkgs/games/xonotic/default.nix
index ac7bf7973d77..f4ce3c86a646 100644
--- a/nixpkgs/pkgs/games/xonotic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/xpilot/bloodspilot-client.nix b/nixpkgs/pkgs/games/xpilot/bloodspilot-client.nix
index aefc8ad98767..4a1c25ee12e0 100644
--- a/nixpkgs/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/nixpkgs/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,10 +10,10 @@ 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" ];
+  NIX_LDFLAGS = "-lX11";
 
   meta = {
     description = ''A multiplayer space combat game (client part)'';
diff --git a/nixpkgs/pkgs/games/xpilot/default.nix b/nixpkgs/pkgs/games/xpilot/default.nix
index d0fe9f61896e..7d83dece333e 100644
--- a/nixpkgs/pkgs/games/xpilot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/xskat/default.nix b/nixpkgs/pkgs/games/xskat/default.nix
index 383bdb882844..086aaded9aa2 100644
--- a/nixpkgs/pkgs/games/xskat/default.nix
+++ b/nixpkgs/pkgs/games/xskat/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
       -e "s|.* BINDIR .*|   BINDIR = $out/bin|" \
       -e "s|.* MANPATH .*|  MANPATH = $out/man|"
   '';
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
   meta = {
     inherit (s) version;
     description = ''Famous german card game'';
diff --git a/nixpkgs/pkgs/games/zandronum/default.nix b/nixpkgs/pkgs/games/zandronum/default.nix
index ce32e435608b..754c48149454 100644
--- a/nixpkgs/pkgs/games/zandronum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/zod/default.nix b/nixpkgs/pkgs/games/zod/default.nix
index c14eda2968e0..888b7bd3d6aa 100644
--- a/nixpkgs/pkgs/games/zod/default.nix
+++ b/nixpkgs/pkgs/games/zod/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, unrar, unzip, SDL, SDL_image, SDL_ttf, SDL_mixer
-, mysql, makeWrapper }:
+, libmysqlclient, makeWrapper }:
 
 stdenv.mkDerivation {
   name = "zod-engine-2011-03-18";
@@ -24,9 +24,9 @@ stdenv.mkDerivation {
     sourceRoot=`pwd`/src
   '';
 
-  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer mysql.connector-c makeWrapper ];
+  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysqlclient makeWrapper ];
 
-  NIX_LDFLAGS = "-L${mysql.connector-c}/lib/mysql";
+  NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql";
 
   installPhase = ''
     mkdir -p $out/bin $out/share/zod
diff --git a/nixpkgs/pkgs/games/zoom/default.nix b/nixpkgs/pkgs/games/zoom/default.nix
index 449d7ae6e2d5..827fb351f1de 100644
--- a/nixpkgs/pkgs/games/zoom/default.nix
+++ b/nixpkgs/pkgs/games/zoom/default.nix
@@ -4,21 +4,15 @@
 
 stdenv.mkDerivation rec {
   name = "zoom-1.1.5";
-  
+
   src = fetchurl {
     url = "https://www.logicalshift.co.uk/unix/zoom/${name}.tar.gz";
     sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj";
   };
-  
+
   buildInputs = [ perl expat xlibsWrapper freetype ];
-  
-  NIX_CFLAGS_COMPILE = [
-    # Zoom doesn't add the right directory in the include path.
-    "-I" (freetype + "/include/freetype2")
 
-    # for gcc5; c11 inline semantics breaks the build
-    "-fgnu89-inline"
-  ];
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2 -fgnu89-inline";
 
   meta = with stdenv.lib; {
     description = "Player for Z-Code, TADS and HUGO stories or games";
diff --git a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix
index 5ff131dad9dd..27bef4cae449 100644
--- a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, pkgsCross, buildPackages }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, pkgsCross, buildPackages }:
 
 let
   buildArmTrustedFirmware = { filesToInstall
             , installDir ? "$out"
-            , platform
+            , platform ? null
             , extraMakeFlags ? []
             , extraMeta ? {}
             , version ? "2.1"
             , ... } @ args:
            stdenv.mkDerivation ({
 
-    name = "arm-trusted-firmware-${platform}-${version}";
+    name = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}-${version}";
     inherit version;
 
     src = fetchFromGitHub {
@@ -25,16 +25,18 @@ let
     # For Cortex-M0 firmware in RK3399
     nativeBuildInputs = [ pkgsCross.arm-embedded.stdenv.cc ];
 
+    buildInputs = [ openssl ];
+
     makeFlags = [
       "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
-      "PLAT=${platform}"
-    ] ++ extraMakeFlags;
+    ] ++ (lib.optional (platform != null) "PLAT=${platform}")
+      ++ extraMakeFlags;
 
     installPhase = ''
       runHook preInstall
 
       mkdir -p ${installDir}
-      cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir}
+      cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
 
       runHook postInstall
     '';
@@ -45,7 +47,7 @@ let
     # Fatal error: can't create build/sun50iw1p1/release/bl31/sunxi_clocks.o: No such file or directory
     enableParallelBuilding = false;
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/ARM-software/arm-trusted-firmware;
       description = "A reference implementation of secure world software for ARMv8-A";
       license = licenses.bsd3;
@@ -56,6 +58,22 @@ let
 in {
   inherit buildArmTrustedFirmware;
 
+  armTrustedFirmwareTools = buildArmTrustedFirmware rec {
+    extraMakeFlags = [
+      "HOSTCC=${stdenv.cc.targetPrefix}gcc"
+      "fiptool" "certtool" "sptool"
+    ];
+    filesToInstall = [
+      "tools/fiptool/fiptool"
+      "tools/cert_create/cert_create"
+      "tools/sptool/sptool"
+    ];
+    postInstall = ''
+      mkdir -p "$out/bin"
+      find "$out" -type f -executable -exec mv -t "$out/bin" {} +
+    '';
+  };
+
   armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec {
     platform = "sun50i_a64";
     extraMeta.platforms = ["aarch64-linux"];
@@ -85,4 +103,11 @@ in {
     extraMeta.platforms = ["aarch64-linux"];
     filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
   };
+
+  armTrustedFirmwareS905 = buildArmTrustedFirmware rec {
+    extraMakeFlags = [ "bl31" ];
+    platform = "gxbb";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = [ "build/${platform}/release/bl31.bin"];
+  };
 }
diff --git a/nixpkgs/pkgs/misc/beep/default.nix b/nixpkgs/pkgs/misc/beep/default.nix
index ce097bd5f231..b98560992e33 100644
--- a/nixpkgs/pkgs/misc/beep/default.nix
+++ b/nixpkgs/pkgs/misc/beep/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r";
   };
 
-  makeFlags = "INSTALL_DIR=\${out}/bin/ MAN_DIR=\${out}/man/man1/";
+  makeFlags = [ "INSTALL_DIR=\${out}/bin/" "MAN_DIR=\${out}/man/man1/" ];
 
   preInstall = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix b/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix
index 5e7596032b3d..6534d300e824 100644
--- a/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix
+++ b/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups }:
+{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "0.2.6";
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool ];
   buildInputs = [ glib polkit cups ];
 
+  patches = [
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/cups-pk-helper/cups-pk-helper/merge_requests/2.patch";
+      sha256 = "1kamhr5kn8c1y0q8xbip0fgr7maf3dyddlvab4n0iypk7rwwikl0";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "PolicyKit helper to configure cups with fine-grained privileges";
     homepage = http://www.freedesktop.org/wiki/Software/cups-pk-helper/;
diff --git a/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix
index 6e27fdb0a524..d18829673cc7 100644
--- a/nixpkgs/pkgs/misc/cups/default.nix
+++ b/nixpkgs/pkgs/misc/cups/default.nix
@@ -1,9 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, removeReferencesTo
-, zlib, libjpeg, libpng, libtiff, pam, dbus, systemd, acl, gmp, darwin
-, libusb ? null, gnutls ? null, avahi ? null, libpaper ? null
+{ stdenv
+, fetchurl
+, pkgconfig
+, removeReferencesTo
+, zlib
+, libjpeg
+, libpng
+, libtiff
+, pam
+, dbus
+, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
+, systemd ? null
+, acl
+, gmp
+, darwin
+, libusb ? null
+, gnutls ? null
+, avahi ? null
+, libpaper ? null
 , coreutils
 }:
 
+assert enableSystemd -> systemd != null;
+
 ### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test
 ### works at least for your platform.
 
@@ -12,7 +30,7 @@ stdenv.mkDerivation rec {
   pname = "cups";
 
   # After 2.2.6, CUPS requires headers only available in macOS 10.12+
-  version = if stdenv.isDarwin then "2.2.6" else "2.2.12";
+  version = if stdenv.isDarwin then "2.2.6" else "2.3.0";
 
   passthru = { inherit version; };
 
@@ -20,7 +38,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
     sha256 = if version == "2.2.6"
              then "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20"
-             else "1a4sgx5y7z16flmpnchd2ix294bnzy0v8mdkd96a4j27kr2anq8g";
+             else "19d1jpdpxy0fclq37pchi7ldnw9dssxx3zskcgqai3h0rwlh5bxc";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
@@ -33,7 +51,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig removeReferencesTo ];
 
   buildInputs = [ zlib libjpeg libpng libtiff libusb gnutls libpaper ]
-    ++ optionals stdenv.isLinux [ avahi pam dbus systemd acl ]
+    ++ optionals stdenv.isLinux [ avahi pam dbus ]
+    ++ optional enableSystemd systemd
+    # Separate from above only to not modify order, to avoid mass rebuilds; merge this with the above at next big change.
+    ++ optionals stdenv.isLinux [ acl ]
     ++ optionals stdenv.isDarwin (with darwin; [
       configd apple_sdk.frameworks.ApplicationServices
     ]);
@@ -48,6 +69,7 @@ stdenv.mkDerivation rec {
   ] ++ optionals stdenv.isLinux [
     "--enable-dbus"
     "--enable-pam"
+    "--with-dbusdir=${placeholder "out"}/share/dbus-1"
   ] ++ optional (libusb != null) "--enable-libusb"
     ++ optional (gnutls != null) "--enable-ssl"
     ++ optional (avahi != null) "--enable-avahi"
@@ -81,7 +103,6 @@ stdenv.mkDerivation rec {
       "STATEDIR=$(TMPDIR)/dummy"
       # Idem for /etc.
       "PAMDIR=$(out)/etc/pam.d"
-      "DBUSDIR=$(out)/etc/dbus-1"
       "XINETD=$(out)/etc/xinetd.d"
       "SERVERROOT=$(out)/etc/cups"
       # Idem for /usr.
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
index b6219e1c749e..adc4ead94b79 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index f38ed7f0309e..0c91b782117d 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
 
   buildInputs = [cups];
-  NIX_CFLAGS_COMPILE = "-include stdio.h";
+  NIX_CFLAGS_COMPILE = [ "-include stdio.h" "-Wno-error=stringop-truncation" ];
 
   meta = {
     description = "CUPS back-end for Canon printers";
diff --git a/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch
index fa7df5591dda..55f71369a001 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch
+++ b/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch
@@ -65,3 +65,16 @@ diff -rp dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-driv
   #include <cups/raster.h>
   #include "LabelWriterDriver.h"
   #include "LabelWriterLanguageMonitor.h"
+diff -rp dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp
+*** dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp	2019-12-16 19:37:23.429662838 +0000
+--- dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp	2019-12-16 19:41:48.506991614 +0000
+***************
+*** 23,28 ****
+--- 23,29 ----
+  #include "CupsPrintEnvironment.h"
+  #include <errno.h>
+  #include <cups/cups.h>
++ #include <cups/sidechannel.h>
+  #include <cassert>
+
+  namespace DymoPrinterDriver
diff --git a/nixpkgs/pkgs/misc/cups/filters.nix b/nixpkgs/pkgs/misc/cups/filters.nix
index 927755fdb743..76f68e507506 100644
--- a/nixpkgs/pkgs/misc/cups/filters.nix
+++ b/nixpkgs/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cups-filters";
-  version = "1.25.0";
+  version = "1.25.12";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
-    sha256 = "1laiscq8yvynw862calkgbz9irrdkmd5l821q6a6wik1ifd186c1";
+    sha256 = "1kv25011iyzvd33n5zmmn1z2p6pzk26hmmw6qvjjnx8p3sp7raqn";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/nixpkgs/pkgs/misc/drivers/epkowa/default.nix b/nixpkgs/pkgs/misc/drivers/epkowa/default.nix
index 5c9db63a63d9..13bb63ca7091 100644
--- a/nixpkgs/pkgs/misc/drivers/epkowa/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epkowa/default.nix
@@ -30,7 +30,15 @@ let plugins = {
     version = "2.30.4";
 
     src = fetchurl {
-      url = "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz";
+      # To find new versions, visit
+      # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
+      # some printer like for instance "WF-7210" to get to the most recent
+      # version.  
+      # NOTE: Don't forget to update the webarchive link too!
+      urls = [
+        "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
+        "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
+      ];
       sha256 = "16iq5gmfcgkvcx5hixggxgb8lwin5gjdhnq0zabgpfqg11n2w21q";
     };
 
@@ -57,7 +65,10 @@ let plugins = {
 
     nativeBuildInputs = [ autoPatchelfHook rpm ];
     src = fetchurl {
-      url = "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz";
+      urls = [
+        "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
+        "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
+      ];
       sha256 = "1cz4z3wz216s77z185m665jcgdslil5gn4dsi118nv1fm17z3jik";
     };
     installPhase = ''
@@ -84,7 +95,10 @@ let plugins = {
     nativeBuildInputs= [ autoPatchelfHook ];
     buildInputs = [ gcc.cc.lib ];
     src = fetchurl {
-      url = "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz";
+      urls = [
+        "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
+        "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
+      ];
       sha256 = "12rivh00n9mhagy5yjl1m0bv7ypbig6brqkxm0a12xy0mjq7yv8y";
     };
     installPhase = ''
@@ -111,7 +125,10 @@ let plugins = {
     nativeBuildInputs = [ autoPatchelfHook ];
     buildInputs = [ gcc.cc.lib libtool ];
     src = fetchurl {
-      url = "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz";
+      urls = [
+        "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
+        "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
+      ];
       sha256 = "1ran75zsxcdci00jakngkz6p9lj4q483hjapmf80p68rzhpmdr5y";
     };
     installPhase = ''
@@ -145,7 +162,10 @@ let plugins = {
     nativeBuildInputs = [ autoPatchelfHook ];
 
     src = fetchurl {
-      url = "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz";
+      urls = [
+        "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
+        "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
+      ];
       sha256 = "1l0y4dy88y91jdq66pxrxqmiwsxwy0rd7x4bh0cw08r4iyhjqprz";
     };
     installPhase = ''
@@ -179,7 +199,10 @@ let iscan-data = stdenv.mkDerivation rec {
   version = "1.39.1-2";
 
   src = fetchurl {
-    url = "http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz";
+    urls = [
+      "http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz"
+      "https://web.archive.org/web/http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz"
+    ];
     sha256 = "04zrvbnxf1k6zinrd13hwnbzscc3qhmwlvx3k2jhjys2lginw7w4";
   };
 
@@ -195,7 +218,10 @@ stdenv.mkDerivation rec {
   version = "2.30.4-2";
 
   src = fetchurl {
-    url = "http://support.epson.net/linux/src/scanner/iscan/iscan_${version}.tar.gz";
+    urls = [
+      "http://support.epson.net/linux/src/scanner/iscan/iscan_${version}.tar.gz"
+      "https://web.archive.org/web/http://support.epson.net/linux/src/scanner/iscan/iscan_${version}.tar.gz"
+    ];
     sha256 = "1ma76jj0k3bz0fy06fiyl4di4y77rcryb0mwjmzs5ms2vq9rjysr";
   };
 
@@ -211,12 +237,15 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch?h=b6e4c805d53b49da79a0f64ef16bb82d6d800fcf";
+      urls = [
+        "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch?h=b6e4c805d53b49da79a0f64ef16bb82d6d800fcf"
+        "https://web.archive.org/web/https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch?h=b6e4c805d53b49da79a0f64ef16bb82d6d800fcf"
+      ];
       sha256 = "04y70qjd220dpyh771fiq50lha16pms98mfigwjczdfmx6kpj1jd";
     })
     ./firmware_location.patch
     ];
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   configureFlags = [ "--enable-dependency-reduction" "--disable-frontend"];
 
diff --git a/nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix b/nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix
index 0fa637e040e2..448bac92ae80 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-201106w/default.nix
@@ -10,7 +10,12 @@ in
     inherit version;
 
     src = fetchurl {
-      url = "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm";
+      # NOTE: Don't forget to update the webarchive link too!
+      urls = [
+        "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm"
+        "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm"     
+      ];
+
       sha256 = "1yig1xrh1ikblbp7sx706n5nnc237wy4mbch23ymy6akbgqg4aig";
     };
 
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch b/nixpkgs/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
index fb546b6a25b7..b9f198b14b74 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
+++ b/nixpkgs/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
@@ -1,8 +1,8 @@
 diff --git a/configure b/configure_new
-index 699bcb5..89a1832 100755
+index 12b4662..6ec641c 100755
 --- a/configure
 +++ b/configure_new
-@@ -11585,55 +11585,8 @@ else
+@@ -12162,55 +12162,8 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -44,7 +44,7 @@ index 699bcb5..89a1832 100755
 -   if test -d "${cups_default_prefix}/share/ppd" ; then
 -      CUPS_PPD_DIR="${cups_default_prefix}/share/ppd"
 -   elif test "xyes" = "x$have_cups_config" ; then
--            CUPS_PPD_DIR="${cups_default_prefix}/`cups-config --datadir | sed -e 's,^/[^/][^/]*,,'`/model"
+-            CUPS_PPD_DIR="${cups_default_prefix}`cups-config --datadir | sed -e 's,^/[^/][^/]*,,'`/model"
 -   else
 -      CUPS_PPD_DIR="${cups_default_prefix}/share/cups/model"
 -   fi
@@ -58,5 +58,5 @@ index 699bcb5..89a1832 100755
 +CUPS_FILTER_DIR="${prefix}/lib/cups/filter"
 +CUPS_PPD_DIR="${prefix}/share/cups/model"
  
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
- $as_echo_n "checking for ANSI C header files... " >&6; }
+ # Check whether --enable-lsb was given.
+ if test "${enable_lsb+set}" = set; then :
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix b/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
index 3d6fb8f081ab..d90ef2c91f64 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
@@ -2,11 +2,19 @@
 
 stdenv.mkDerivation {
   pname = "epson-escpr";
-  version = "1.6.16";
+  version = "1.7.3";
 
   src = fetchurl {
-    url = "https://download3.ebz.epson.net/dsc/f/03/00/06/41/54/29588ed107f800e5bc3f91706661567efb369c1c/epson-inkjet-printer-escpr-1.6.16-1lsb3.2.tar.gz";
-    sha256 = "0v9mcih3dg3ws18hdcgm014k97hv6imga39hy2a84gnc6badp6n6";
+    # To find new versions, visit
+    # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
+    # some printer like for instance "WF-7110" to get to the most recent
+    # version.  
+    # NOTE: Don't forget to update the webarchive link too!
+    urls = [
+      "https://download3.ebz.epson.net/dsc/f/03/00/09/83/26/f90d0f70b33a9d7d77a2408364c47fba1ccbf943/epson-inkjet-printer-escpr-1.7.3-1lsb3.2.tar.gz"
+      "https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/09/83/26/f90d0f70b33a9d7d77a2408364c47fba1ccbf943/epson-inkjet-printer-escpr-1.7.3-1lsb3.2.tar.gz"
+    ];
+    sha256 = "0r3jkdfk33irha9gpyvhha056ans59p7dq9i153i292ifjsd8458";
   };
 
   patches = [ ./cups-filter-ppd-dirs.patch ];
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix b/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
index 2110de6e4c11..4edc08a3571b 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
@@ -2,11 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "epson-inkjet-printer-escpr2";
-  version = "1.0.29";
+  version = "1.1.1";
 
   src = fetchurl {
-    url = "https://download3.ebz.epson.net/dsc/f/03/00/09/02/31/a332507b6398c6e2e007c05477dd6c3d5a8e50eb/${pname}-${version}-1lsb3.2.src.rpm";
-    sha256 = "064br52akpw5yrxb2wqw2klv4jrvyipa7w0rjj974xgyi781lqs5";
+    # To find new versions, visit
+    # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
+    # some printer like for instance "WF-7210" to get to the most recent
+    # version.  
+    # NOTE: Don't forget to update the webarchive link too!
+    urls = [ 
+      "https://download3.ebz.epson.net/dsc/f/03/00/09/72/04/c6d928e83e558c4ba1e7e8bcb5c1fe080b8095eb/epson-inkjet-printer-escpr2-1.1.1-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/09/72/04/c6d928e83e558c4ba1e7e8bcb5c1fe080b8095eb/epson-inkjet-printer-escpr2-1.1.1-1lsb3.2.src.rpm"
+    ];
+    sha256 = "02vdlhvinsx6vsjq172b2c1vrfzkg0w9j5lbsnjvj6yq3yqz5b5q";
   };
 
   patches = [ ./cups-filter-ppd-dirs.patch ];
diff --git a/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix b/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
index 15a7ba3cd3c4..0cc5537180bd 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
@@ -13,7 +13,11 @@ in stdenv.mkDerivation rec {
   version = "1.0.1";
 
   src = fetchurl {
-    url = "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm";
+    # NOTE: Don't forget to update the webarchive link too!
+    urls = [
+      "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm"
+    ];
     sha256 = "19nb2h0y9rvv6rg7j262f8sqap9kjvz8kmisxnjg1w0v19zb9zf2";
   };
   sourceRoot = srcdirs.filter;
diff --git a/nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix b/nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix
index 9da1a8269ab1..fc854c007962 100644
--- a/nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson_201207w/default.nix
@@ -9,7 +9,11 @@ in
     inherit version;
 
     src = fetchurl {
-      url = "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm";
+      # NOTE: Don't forget to update the webarchive link too!
+      urls = [
+        "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm"
+        "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm"
+      ];
       sha256 = "1ixnhn2dk83nh9v8sdivzgc2bm9z2phvsbx8bc6ainbjq6vn7lns";
     };
 
diff --git a/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix b/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
index 580b473b0cd6..9bee05bfb254 100644
--- a/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   patches = [
     # for CVE-2015-8327 & CVE-2015-8560
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/foomatic-filters.git/plain/debian/patches/0500-r7406_also_consider_the_back_tick_as_an_illegal_shell_escape_character.patch";
+      url = "https://salsa.debian.org/debian/foomatic-filters/raw/a3abbef2d2f8c7e62d2fe64f64afe294563fdf8f/debian/patches/0500-r7406_also_consider_the_back_tick_as_an_illegal_shell_escape_character.patch";
       sha256 = "055nwi3sjf578nk40bqsch3wx8m2h65hdih0wmxflb6l0hwkq4p4";
     })
   ];
@@ -24,13 +24,12 @@ stdenv.mkDerivation rec {
       substituteInPlace foomaticrip.c --replace /bin/bash ${stdenv.shell}
     '';
 
-  installTargets = "install-cups";
+  installTargets = [ "install-cups" ];
 
-  installFlags =
-    ''
-      CUPS_FILTERS=$(out)/lib/cups/filter
-      CUPS_BACKENDS=$(out)/lib/cups/backend
-    '';
+  installFlags = [
+    "CUPS_FILTERS=$(out)/lib/cups/filter"
+    "CUPS_BACKENDS=$(out)/lib/cups/backend"
+  ];
 
   meta = {
     description = "Foomatic printing filters";
diff --git a/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix b/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix
index 779325c99b0b..3b03c300db3f 100644
--- a/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix
+++ b/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
-, net_snmp, openssl, nettools
+, cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils
+, net-snmp, openssl, nettools
 , bash, coreutils, utillinux
 , qtSupport ? true
 , withPlugin ? false
@@ -45,7 +45,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -55,7 +55,7 @@ pythonPackages.buildPythonApplication {
     libusb1
     sane-backends
     dbus
-    net_snmp
+    net-snmp
     openssl
   ];
 
@@ -63,7 +63,7 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python2Packages; [
     dbus
     pillow
     pygobject2
diff --git a/nixpkgs/pkgs/misc/drivers/hplip/3.18.5.nix b/nixpkgs/pkgs/misc/drivers/hplip/3.18.5.nix
index d95eb85168e2..ab1794c12514 100644
--- a/nixpkgs/pkgs/misc/drivers/hplip/3.18.5.nix
+++ b/nixpkgs/pkgs/misc/drivers/hplip/3.18.5.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends
+, cups, zlib, libjpeg, libusb1, python2Packages, sane-backends
 , dbus, file, ghostscript, usbutils
-, net_snmp, openssl, perl, nettools
+, net-snmp, openssl, perl, nettools
 , bash, coreutils, utillinux
 , withQt5 ? true
 , withPlugin ? false
@@ -47,7 +47,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -59,7 +59,7 @@ pythonPackages.buildPythonApplication {
     dbus
     file
     ghostscript
-    net_snmp
+    net-snmp
     openssl
     perl
     zlib
@@ -69,7 +69,7 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python2Packages; [
     dbus
     pillow
     pygobject2
diff --git a/nixpkgs/pkgs/misc/drivers/hplip/default.nix b/nixpkgs/pkgs/misc/drivers/hplip/default.nix
index 978fd9b9e039..ecb74f39ab9a 100644
--- a/nixpkgs/pkgs/misc/drivers/hplip/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/hplip/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends
+, cups, zlib, libjpeg, libusb1, python3Packages, sane-backends
 , dbus, file, ghostscript, usbutils
-, net_snmp, openssl, perl, nettools
+, net-snmp, openssl, perl, nettools
 , bash, coreutils, utillinux
 , withQt5 ? true
 , withPlugin ? false
@@ -46,7 +46,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python3Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -58,7 +58,7 @@ pythonPackages.buildPythonApplication {
     dbus
     file
     ghostscript
-    net_snmp
+    net-snmp
     openssl
     perl
     zlib
@@ -68,13 +68,14 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python3Packages; [
     dbus
     pillow
     pygobject2
     reportlab
     usbutils
     sip
+    dbus-python
   ] ++ stdenv.lib.optionals withQt5 [
     pyqt5
     enum-compat
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/default.nix b/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
index 328e8ce45625..ad7659d060a3 100644
--- a/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
@@ -1,64 +1,58 @@
-{ stdenv, fetchurl, autoreconfHook, boost, gtkmm2
-, pkg-config, libtool, udev, libjpeg, file, texlive
-, libusb, libtiff, imagemagick, sane-backends, tesseract }:
-
-/*
-Alternatively, this package could use the "community source" at 
-https://gitlab.com/utsushi/utsushi/
-Epson provides proprietary plugins for networking, ocr and some more
-scanner models. Those are not (yet ?) packaged here.
-*/
+{ stdenv, fetchFromGitLab, autoreconfHook, pkg-config, boost, gtkmm2
+, imagemagick, sane-backends, tesseract4, udev, libusb}:
 
 stdenv.mkDerivation rec {
   pname = "utsushi";
-  version = "3.57.0";
+  version = "3.59.2";
 
-  src = fetchurl {
-    url = "http://support.epson.net/linux/src/scanner/imagescanv3/common/imagescan_${version}.orig.tar.gz";
-    sha256 = "0qy6n6nbisbvy0q3idj7hpmj9i85cd0a18klfd8nsqsa2nkg57ny";
+  src = fetchFromGitLab{
+    owner = pname;
+    repo = "imagescan";
+    rev = version;
+    sha256 = "06gp97dfnf43l6kb988scmm66q9n5rc7ndwv3rykrdpyhy8rbi05";
   };
 
   nativeBuildInputs = [
-    pkg-config
     autoreconfHook
-    libtool
+    pkg-config
   ];
 
   buildInputs = [
-    boost
-    libusb
-    libtiff
-    libjpeg
-    udev
+    boost.dev
+    gtkmm2.dev
     imagemagick
     sane-backends
-    gtkmm2
-    file
-    tesseract
+    udev.dev
+    libusb.dev
   ];
 
-  patches = [
-    ./patches/absolute-path-to-convert.patch
-    ./patches/print-errors.patch
-    ./patches/absolute_path_for_tesseract.patch
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=parentheses -Wno-error=unused-variable";
 
   postPatch = ''
     # remove vendored dependencies
     rm -r upstream/boost
+
     # create fake udev and sane config
     mkdir -p $out/etc/{sane.d,udev/rules.d}
     touch $out/etc/sane.d/dll.conf
+
+    # absolute paths to conver & tesseract
+    substituteInPlace filters/magick.cpp \
+      --replace '"convert' '"${imagemagick}/bin/convert'
+    substituteInPlace filters/reorient.cpp \
+      --replace '"tesseract' '"${tesseract4}/bin/tesseract'
+    substituteInPlace filters/get-text-orientation \
+      --replace '=tesseract' '=${tesseract4}/bin/tesseract'
   '';
 
   configureFlags = [
     "--with-boost-libdir=${boost}/lib"
     "--with-sane-confdir=${placeholder "out"}/etc/sane.d"
     "--with-udev-confdir=${placeholder "out"}/etc/udev"
-    "--with-sane"
     "--with-gtkmm"
     "--with-jpeg"
     "--with-magick"
+    "--with-magick-pp"
     "--with-sane"
     "--with-tiff"
   ];
@@ -67,88 +61,78 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  doInstallCheck = true;
+
+  meta = with stdenv.lib; {
     description = "SANE utsushi backend for some Epson scanners";
     longDescription = ''
-        ImageScanV3 (aka utsushi) scanner driver.
-        Non-free plugins are not included so no network support.
-        To use the SANE backend, in /etc/nixos/configuration.nix:
+      ImageScanV3 (aka utsushi) scanner driver. Non-free plugins are not
+      included, so no network support. To use the SANE backend, in
+      <literal>/etc/nixos/configuration.nix</literal>:
 
-        hardware.sane = {
-          enable = true;
-          extraBackends = [ pkgs.utsushi ];
-        };
-        services.udev.packages = [ pkgs.utsushi ];
+      <literal>
+      hardware.sane = {
+        enable = true;
+        extraBackends = [ pkgs.utsushi ];
+      };
+      services.udev.packages = [ pkgs.utsushi ];
+      </literal>
 
-        Supported hardware: 
-        - DS-40
-        - DS-70
-        - DS-80W
-        - DS-410
-        - DS-510
-        - DS-520
-        - DS-530
-        - DS-535
-        - DS-535H
-        - DS-560
-        - DS-575W
-        - DS-760
-        - DS-775
-        - DS-780N
-        - DS-860
-        - DS-1630
-        - DS-5500
-        - DS-6500
-        - DS-7500
-        - DS-50000
-        - DS-60000
-        - DS-70000
-        - EP-10VA Series
-        - EP-808A Series
-        - EP-978A3 Series
-        - ES-50
-        - ES-55R
-        - ES-60W
-        - ES-65WR
-        - ES-300WR
-        - ES-400
-        - ES-500WR
-        - ES-8500
-        - ET-2500 Series
-        - ET-2550 Series
-        - ET-4500 Series
-        - ET-4550 Series
-        - Expression 1640XL
-        - FF-680W
-        - L220/L360 Series
-        - L365/L366 Series
-        - L380 Series
-        - L455 Series
-        - L565/L566 Series
-        - L655 Series
-        - PX-M840FX
-        - PX-M860F
-        - PX-M884F
-        - PX-M7050 Series
-        - PX-M7050FX Series
-        - WF-4720
-        - WF-6530 Series
-        - WF-6590 Series
-        - WF-8510/8590 Series
-        - WF-R8590 Series
-        - XP-220 Series
-        - XP-230 Series
-        - XP-235 Series
-        - XP-332 335 Series
-        - XP-430 Series
-        - XP-432 435 Series
-        - XP-530 Series
-        - XP-540
-        - XP-630 Series
-        - XP-640
-        - XP-830 Series
-        - XP-960 Series
-      '';
-      license = stdenv.lib.licenses.gpl3Plus;
+      Supported hardware:
+      DS-1610, DS-1630, DS-1660W, DS-310, DS-320, DS-360W, DS-40, DS-410,
+      DS-50000, DS-510, DS-520, DS-530, DS-535, DS-535H, DS-5500, DS-560,
+      DS-570W, DS-575W, DS-60000, DS-6500, DS-70, DS-70000, DS-7500, DS-760,
+      DS-770, DS-775, DS-780N, DS-80W, DS-860, EC-4020 Series, EC-4030 Series,
+      EC-4040 Series, EP-10VA Series, EP-30VA Series, EP-708A Series, EP-709A
+      Series, EP-710A Series, EP-711A Series, EP-712A Series, EP-808A Series,
+      EP-810A Series, EP-811A Series, EP-812A Series, EP-879A Series, EP-880A
+      Series, EP-881A Series, EP-882A Series, EP-978A3 Series, EP-979A3 Series,
+      EP-982A3 Series, EP-M570T Series, ES-200, ES-300W, ES-300WR, ES-400,
+      ES-50, ES-50, ES-500W, ES-500WR, ES-55R, ES-60W, ES-60WB, ES-60WW,
+      ES-65WR, ET-16500 Series, ET-2500 Series, ET-2550 Series, ET-2600 Series,
+      ET-2610 Series, ET-2650 Series, ET-2700 Series, ET-2710 Series, ET-2720
+      Series, ET-2750 Series, ET-2760 Series, ET-3600 Series, ET-3700 Series,
+      ET-3710 Series, ET-3750 Series, ET-3760 Series, ET-4500 Series, ET-4550
+      Series, ET-4700 Series, ET-4750 Series, ET-4760 Series, ET-7700 Series,
+      ET-7750 Series, ET-8700 Series, ET-M2140 Series, ET-M2170 Series,
+      ET-M3140 Series, ET-M3170 Series, ET-M3180 Series, EW-052A Series,
+      EW-452A Series, EW-M5071FT Series, EW-M571T Series, EW-M630T Series,
+      EW-M660FT Series, EW-M670FT Series, EW-M770T Series, EW-M970A3T Series,
+      FF-640, FF-680W, GT-S650, L1455 Series, L220 Series, L222 Series, L3050
+      Series, L3060 Series, L3070 Series, L3100 Series, L3110 Series, L3150
+      Series, L3160 Series, L360 Series, L362 Series, L364 Series, L365 Series,
+      L366 Series, L375 Series, L380 Series, L382 Series, L385 Series, L386
+      Series, L395 Series, L396 Series, L405 Series, L4150 Series, L4160
+      Series, L455 Series, L475 Series, L485 Series, L486 Series, L495 Series,
+      L5190 Series, L565 Series, L566 Series, L575 Series, L605 Series, L6160
+      Series, L6170 Series, L6190 Series, L655 Series, L7160 Series, L7180
+      Series, LX-10000F, LX-10000FK, LX-10010MF, LX-7000F, M2140 Series, M2170
+      Series, M3140 Series, M3170 Series, M3180 Series, PX-048A Series, PX-049A
+      Series, PX-M160T Series, PX-M270FT Series, PX-M270T Series, PX-M380F,
+      PX-M381FL, PX-M5080F Series, PX-M5081F Series, PX-M680F Series, PX-M7050
+      Series, PX-M7050FP, PX-M7050FX, PX-M7070FX, PX-M7110F, PX-M7110FP,
+      PX-M780F Series, PX-M781F Series, PX-M840FX, PX-M860F, PX-M880FX,
+      PX-M884F, PX-M885F, PX-M886FL, Perfection V19, Perfection V39, ST-2000
+      Series, ST-3000 Series, ST-4000 Series, ST-M3000 Series, WF-2750 Series,
+      WF-2760 Series, WF-2810 Series, WF-2830 Series, WF-2850 Series, WF-2860
+      Series, WF-3720 Series, WF-3730 Series, WF-4720 Series, WF-4730 Series,
+      WF-4740 Series, WF-6530 Series, WF-6590 Series, WF-7710 Series, WF-7720
+      Series, WF-8510 Series, WF-8590 Series, WF-C17590 Series, WF-C20590
+      Series, WF-C5710 Series, WF-C5790 Series, WF-C5790BA, WF-C579R Series,
+      WF-C579RB, WF-C8610 Series, WF-C8690 Series, WF-C8690B, WF-C869R Series,
+      WF-M20590 Series, WF-M5799 Series, WF-R8590 Series, XP-2100 Series,
+      XP-220 Series, XP-230 Series, XP-235 Series, XP-240 Series, XP-243 245
+      247 Series, XP-255 257 Series, XP-3100 Series, XP-332 335 Series, XP-340
+      Series, XP-342 343 345 Series, XP-352 355 Series, XP-4100 Series, XP-430
+      Series, XP-432 435 Series, XP-440 Series, XP-442 445 Series, XP-452 455
+      Series, XP-5100 Series, XP-530 Series, XP-540 Series, XP-6000 Series,
+      XP-6100 Series, XP-630 Series, XP-640 Series, XP-7100 Series, XP-830
+      Series, XP-8500 Series, XP-8600 Series, XP-900 Series, XP-960 Series,
+      XP-970 Series
+    '';
+    homepage = "https://gitlab.com/utsushi/imagescan";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch b/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch
deleted file mode 100644
index 2bc9422b061e..000000000000
--- a/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-Index: utsushi-0.57.0/configure.ac
-===================================================================
---- utsushi-0.57.0.orig/configure.ac
-+++ utsushi-0.57.0/configure.ac
-@@ -221,6 +221,9 @@ AS_IF([test xno != x$enable_code_coverag
-      [AC_MSG_ERROR([code coverage support requires a GNU C/C++ compiler])])
-   ])
- AM_PROG_AR
-+AC_PATH_PROG([AWK],[awk])
-+AC_DEFINE_UNQUOTED([AWK], ["$AWK"],
-+  [Path to awk.])
- 
- PKG_PROG_PKG_CONFIG
- 
-@@ -379,27 +382,31 @@ AM_CONDITIONAL([have_libmagick_pp], [tes
- AS_IF([test xno != "x$with_magick"],
-    AS_CASE("x$with_magick",
-      [xGraphicsMagick],
--       [AC_CHECK_PROGS([MAGICK_CONVERT], [gm])
--        AS_IF([test xgm != x$MAGICK_CONVERT],
-+       [[AC_PATH_PROG(MAGICK_CONVERT, gm)]
-+        AS_IF([test x == x$MAGICK_CONVERT],
-           [AC_MSG_ERROR([$with_magick requested but not found])])
-         AC_DEFINE([HAVE_GRAPHICS_MAGICK], [1])
--        MAGICK_CONVERT="gm convert"
-+        HAVE_MAGICK=1
-+        MAGICK_CONVERT="$MAGICK_CONVERT convert"
-        ],
-      [xImageMagick],
--       [AC_CHECK_PROGS([MAGICK_CONVERT], [convert])
--        AS_IF([test xconvert != x$MAGICK_CONVERT],
-+       [[AC_PATH_PROG(MAGICK_CONVERT, convert)]
-+        AS_IF([test x == x$MAGICK_CONVERT],
-           [AC_MSG_ERROR([$with_magick requested but not found])])
-         AC_DEFINE([HAVE_IMAGE_MAGICK], [1])
-+        HAVE_MAGICK=1
-        ],
-      [xyes|xcheck],
--       [AC_CHECK_PROGS([MAGICK_CONVERT], [gm convert])
-+       [[AC_PATH_PROGS([MAGICK_CONVERT], [gm convert])]
-         AS_CASE(x$MAGICK_CONVERT,
--          [xgm],
-+          [x*gm],
-             [AC_DEFINE([HAVE_GRAPHICS_MAGICK], [1])
--             MAGICK_CONVERT="gm convert"
-+             HAVE_MAGICK=1
-+             MAGICK_CONVERT="$MAGICK_CONVERT convert"
-             ],
--          [xconvert],
-+          [x*convert],
-             [AC_DEFINE([HAVE_IMAGE_MAGICK], [1])
-+            HAVE_MAGICK=1
-             ],
-           [dnl default case
-            AS_IF([test xcheck != "x$with_magick"],
-@@ -410,7 +417,7 @@ AS_IF([test xno != "x$with_magick"],
-       AC_MSG_ERROR([unknown value: --with-magick=$with_magick])
-      ]))
- AC_DEFINE_UNQUOTED([MAGICK_CONVERT], ["$MAGICK_CONVERT"])
--AM_CONDITIONAL([have_magick], [test x != "x$MAGICK_CONVERT"])
-+AM_CONDITIONAL([have_magick], [test x != "x$HAVE_MAGICK"])
- 
- AS_IF([test xno != "x$with_gtkmm"],
-   [PKG_CHECK_MODULES([LIBGTKMM], [gtkmm-2.4 >= 2.20],
-Index: utsushi-0.57.0/filters/magick.cpp
-===================================================================
---- utsushi-0.57.0.orig/filters/magick.cpp
-+++ utsushi-0.57.0/filters/magick.cpp
-@@ -81,19 +81,18 @@ chomp (char *str)
- }
- 
- bool
--magick_version_before_(const char *magick, const char *cutoff)
-+magick_version_before_(const char *cutoff)
- {
-   FILE *fp = NULL;
-   int errc = 0;
- 
--  if (0 == strcmp ("GraphicsMagick", magick))
--    fp = popen ("gm convert -version"
--                "| awk '/^GraphicsMagick/{print $2}'", "r");
--  if (fp) errc = errno;
--
--  if (0 == strcmp ("ImageMagick", magick))
--    fp  = popen ("convert -version"
--                 "| awk '/^Version:/{print $3}'", "r");
-+#if HAVE_GRAPHICS_MAGICK
-+  fp = popen (MAGICK_CONVERT " -version"
-+                "| " AWK " '/^GraphicsMagick/{print $2}'", "r");
-+#elif HAVE_IMAGE_MAGICK
-+  fp  = popen (MAGICK_CONVERT " -version"
-+                 "| " AWK " '/^Version:/{print $3}'", "r");
-+#endif
-   if (fp) errc = errno;
- 
-   if (fp)
-@@ -106,42 +105,32 @@ magick_version_before_(const char *magic
- 
-       if (version)
-         {
--          log::debug ("found %1%-%2%") % magick % version;
-+          log::debug ("found " MAGICK_CONVERT "version %1%") % version;
-           return (0 > strverscmp (version, cutoff));
-         }
-     }
- 
-   if (errc)
--    log::alert ("failure checking %1% version: %2%")
--      % magick
-+    log::alert ("failure checking " MAGICK_CONVERT " version: %1%")
-       % strerror (errc);
- 
-   return false;
- }
- 
- bool
--graphics_magick_version_before_(const char *cutoff)
--{
--  return magick_version_before_("GraphicsMagick", cutoff);
--}
--
--bool
--image_magick_version_before_(const char *cutoff)
--{
--  return magick_version_before_("ImageMagick", cutoff);
--}
--
--bool
- auto_orient_is_usable ()
- {
-   static int usable = -1;
- 
-   if (-1 == usable)
-     {
--      if (HAVE_GRAPHICS_MAGICK)         // version -auto-orient was added
--        usable = !graphics_magick_version_before_("1.3.18");
--      if (HAVE_IMAGE_MAGICK)            // version known to work
--        usable = !image_magick_version_before_("6.7.8-9");
-+#if HAVE_GRAPHICS_MAGICK
-+      // version -auto-orient was added
-+      usable = !magick_version_before_("1.3.18");
-+#elif HAVE_IMAGE_MAGICK
-+      // version known to work
-+      usable = !magick_version_before_("6.7.8-9");
-+#endif
-       if (-1 == usable)
-         usable = false;
-       usable = (usable ? 1 : 0);
-@@ -392,7 +381,7 @@ magick::arguments (const context& ctx)
-   if (color_correction_)
-     {
-       if (HAVE_IMAGE_MAGICK
--          && !image_magick_version_before_("6.6.1-0"))
-+          && !magick_version_before_("6.6.1-0"))
-         argv += " -color-matrix";
-       else
-         argv += " -recolor";
-@@ -416,7 +405,7 @@ magick::arguments (const context& ctx)
-       size_t mat_size = ((HAVE_IMAGE_MAGICK) ? 6 : 5);
- 
-       if (HAVE_IMAGE_MAGICK
--          && !image_magick_version_before_("6.6.1-0"))
-+          && !magick_version_before_("6.6.1-0"))
-         argv += " -color-matrix";
-       else
-         argv += " -recolor";
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch b/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch
deleted file mode 100644
index d4d444979210..000000000000
--- a/nixpkgs/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Index: utsushi-0.57.0/filters/reorient.cpp
-===================================================================
---- utsushi-0.57.0.orig/filters/reorient.cpp
-+++ utsushi-0.57.0/filters/reorient.cpp
-@@ -96,8 +96,8 @@ chomp (char *str)
- bool
- tesseract_version_before_(const char *cutoff)
- {
--  FILE *fp = popen ("tesseract --version 2>&1"
--                    "| awk '/^tesseract/{ print $2 }'", "r");
-+  FILE *fp = popen (TESSERACT " --version 2>&1"
-+                    "| " AWK " '/^tesseract/{ print $2 }'", "r");
-   int errc = errno;
- 
-   if (fp)
-@@ -126,7 +126,7 @@ tesseract_version_before_(const char *cu
- bool
- have_tesseract_language_pack_(const char *lang)
- {
--  std::string cmd("tesseract --list-langs 2>&1"
-+  std::string cmd(TESSERACT " --list-langs 2>&1"
-                   "| sed -n '/^");
-   cmd += lang;
-   cmd += "$/p'";
-@@ -291,7 +291,7 @@ reorient::reorient ()
- 
-   if (found)
-     {
--      if (have_tesseract_())  engine_ = "tesseract";
-+      if (have_tesseract_())  engine_ = TESSERACT;
-       if (have_ocr_engine_()) engine_ = abs_path_name;
-     }
-   freeze_options ();   // initializes option tracking member variables
-Index: utsushi-0.57.0/configure.ac
-===================================================================
---- utsushi-0.57.0.orig/configure.ac
-+++ utsushi-0.57.0/configure.ac
-@@ -196,6 +196,8 @@ AC_DEFINE([HAVE_IMAGE_MAGICK_PP],
-   [0], [Define to 1 if ImageMagick's C++ API is usable])
- AC_DEFINE([MAGICK_CONVERT],
-   [], [Define to an appropriate command-line invocation for convert])
-+AC_DEFINE([TESSERACT],
-+  [], [Define to an appropriate command-line invocation for tesseract])
- AC_DEFINE([WITH_INCLUDED_BOOST],
-   [0], [Define to 1 if using the included Boost sources])
- 
-@@ -419,6 +421,9 @@ AS_IF([test xno != "x$with_magick"],
- AC_DEFINE_UNQUOTED([MAGICK_CONVERT], ["$MAGICK_CONVERT"])
- AM_CONDITIONAL([have_magick], [test x != "x$HAVE_MAGICK"])
- 
-+AC_PATH_PROG([TESSERACT], [tesseract], [tesseract])
-+AC_DEFINE_UNQUOTED([TESSERACT], ["$TESSERACT"])
-+
- AS_IF([test xno != "x$with_gtkmm"],
-   [PKG_CHECK_MODULES([LIBGTKMM], [gtkmm-2.4 >= 2.20],
-      [AC_DEFINE([HAVE_LIBGTKMM], [1])],
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/patches/print-errors.patch b/nixpkgs/pkgs/misc/drivers/utsushi/patches/print-errors.patch
deleted file mode 100644
index 06660ebde988..000000000000
--- a/nixpkgs/pkgs/misc/drivers/utsushi/patches/print-errors.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: utsushi-0.57.0/lib/log.cpp
-===================================================================
---- utsushi-0.57.0.orig/lib/log.cpp
-+++ utsushi-0.57.0/lib/log.cpp
-@@ -26,8 +26,8 @@
- 
- namespace utsushi {
- 
--log::priority log::threshold = log::FATAL;
--log::category log::matching  = log::NOTHING;
-+log::priority log::threshold = log::ERROR;
-+log::category log::matching  = log::ALL;
- 
- template<>
- std::basic_ostream< char >&
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/patches/series b/nixpkgs/pkgs/misc/drivers/utsushi/patches/series
deleted file mode 100644
index de0964c758b1..000000000000
--- a/nixpkgs/pkgs/misc/drivers/utsushi/patches/series
+++ /dev/null
@@ -1,3 +0,0 @@
-absolute-path-to-convert.patch
-print-errors.patch
-absolute_path_for_tesseract.patch
diff --git a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix b/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
index 1ed279d2998b..e2f2bcc2f24b 100644
--- a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     sha256 = "0jx2wqmc7602dxyj19n3h8x0cpy929h7c0h39vcc5rf0q74fh3id";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ scons libX11 libusb1 boost glib dbus-glib ];
   dontUseSconsInstall = true;
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     homepage = https://pingus.seul.org/~grumbel/xboxdrv/;
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/atari800/default.nix b/nixpkgs/pkgs/misc/emulators/atari800/default.nix
index 228da6870947..38dc54ea9d7b 100644
--- a/nixpkgs/pkgs/misc/emulators/atari800/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/attract-mode/default.nix b/nixpkgs/pkgs/misc/emulators/attract-mode/default.nix
index a725d9c9b086..7e6694b28d97 100644
--- a/nixpkgs/pkgs/misc/emulators/attract-mode/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/blastem/default.nix b/nixpkgs/pkgs/misc/emulators/blastem/default.nix
index 39a7e38e0346..0d4c7ab7216a 100644
--- a/nixpkgs/pkgs/misc/emulators/blastem/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/blastem/default.nix
@@ -11,7 +11,7 @@ let
         rev = "244f8bbbdf64ae603f9f6c09a3067943837459ec";
         sha256 = "0x4y5q7ygxfjfy2wxijkps9khsjjfb169sbda410vaw0m88wqj5p";
       };
-      makeFlags = "CPU=m68k SYNTAX=mot";
+      makeFlags = [ "CPU=m68k" "SYNTAX=mot" ];
       installPhase = ''
         mkdir -p $out/bin
         cp vasmm68k_mot $out/bin
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix b/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
index e52cf7efc6b5..246dbb7dd350 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/cdemu/client.nix b/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
index dbf471d35d1d..087b15cecd16 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix b/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
index a80327ce91c0..db6ed7ddb47a 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix b/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
index e06853b8f736..599531950a21 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix b/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
index 0ead78305cd0..cc3118ace151 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix b/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
index 71beaf125481..df25fb96eb1c 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/citra/default.nix b/nixpkgs/pkgs/misc/emulators/citra/default.nix
index d8717b46eef4..ca6ad37b5aae 100644
--- a/nixpkgs/pkgs/misc/emulators/citra/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/citra/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, cmake, SDL2, qtbase, qtmultimedia, boost }:
 
-stdenv.mkDerivation { 
+stdenv.mkDerivation {
   pname = "citra";
-  version = "2019-05-25";
+  version = "2019-10-05";
 
   # Submodules
   src = fetchgit {
     url = "https://github.com/citra-emu/citra";
-    rev = "186ffc235f744dad315a603a98cce4597ef0f65f";
-    sha256 = "0w24an80yjmkfcxjzdvsbpahx46bmd90liq5m6qva5pgnpmxx7pn";
+    rev = "35690e3ac7a340d941d3bf56080cf5aa6187c5c3";
+    sha256 = "11a4mdjabn3qrh0nn4pjl5fxs9nhf1k27wd486csfx88q2q9jvq8";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/misc/emulators/desmume/01_use_system_tinyxml.patch b/nixpkgs/pkgs/misc/emulators/desmume/01_use_system_tinyxml.patch
new file mode 100644
index 000000000000..8cec26026e7f
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/desmume/01_use_system_tinyxml.patch
@@ -0,0 +1,231 @@
+From: Evgeni Golov <evgeni@debian.org>
+Subject: use the system tinyxml instead of the embedded copy
+Last-Update: 2015-08-09
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7b9e263..bc7ba8c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -81,12 +81,6 @@ libdesmume_a_SOURCES = \
+ 	utils/libfat/mem_allocate.h \
+ 	utils/libfat/partition.cpp \
+ 	utils/libfat/partition.h \
+-	utils/tinyxml/tinystr.cpp \
+-	utils/tinyxml/tinystr.h \
+-	utils/tinyxml/tinyxml.cpp \
+-	utils/tinyxml/tinyxml.h \
+-	utils/tinyxml/tinyxmlerror.cpp \
+-	utils/tinyxml/tinyxmlparser.cpp \
+ 	utils/glcorearb.h \
+ 	addons/slot2_auto.cpp addons/slot2_mpcf.cpp addons/slot2_paddle.cpp addons/slot2_gbagame.cpp addons/slot2_none.cpp addons/slot2_rumblepak.cpp addons/slot2_guitarGrip.cpp addons/slot2_expMemory.cpp addons/slot2_piano.cpp addons/slot2_passme.cpp addons/slot1_none.cpp addons/slot1_r4.cpp addons/slot1_retail_nand.cpp addons/slot1_retail_auto.cpp addons/slot1_retail_mcrom.cpp addons/slot1_retail_mcrom_debug.cpp addons/slot1comp_mc.cpp addons/slot1comp_mc.h addons/slot1comp_rom.h addons/slot1comp_rom.cpp addons/slot1comp_protocol.h addons/slot1comp_protocol.cpp \
+ 	cheatSystem.cpp cheatSystem.h \
+@@ -204,3 +198,4 @@ if HAVE_GDB_STUB
+ libdesmume_a_SOURCES += gdbstub.h
+ endif
+ libdesmume_a_LIBADD = fs-$(desmume_arch).$(OBJEXT)
++LIBS += -ltinyxml
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 9cf26a3..d9ff7b2 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -184,9 +184,6 @@ am__libdesmume_a_SOURCES_DIST = armcpu.cpp armcpu.h \
+ 	utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
+ 	utils/libfat/lock.h utils/libfat/mem_allocate.h \
+ 	utils/libfat/partition.cpp utils/libfat/partition.h \
+-	utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
+-	utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
+-	utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
+ 	utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
+ 	addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
+ 	addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
+@@ -324,10 +321,6 @@ am_libdesmume_a_OBJECTS = armcpu.$(OBJEXT) arm_instructions.$(OBJEXT) \
+ 	utils/libfat/libfat.$(OBJEXT) \
+ 	utils/libfat/libfat_public_api.$(OBJEXT) \
+ 	utils/libfat/lock.$(OBJEXT) utils/libfat/partition.$(OBJEXT) \
+-	utils/tinyxml/tinystr.$(OBJEXT) \
+-	utils/tinyxml/tinyxml.$(OBJEXT) \
+-	utils/tinyxml/tinyxmlerror.$(OBJEXT) \
+-	utils/tinyxml/tinyxmlparser.$(OBJEXT) \
+ 	addons/slot2_auto.$(OBJEXT) addons/slot2_mpcf.$(OBJEXT) \
+ 	addons/slot2_paddle.$(OBJEXT) addons/slot2_gbagame.$(OBJEXT) \
+ 	addons/slot2_none.$(OBJEXT) addons/slot2_rumblepak.$(OBJEXT) \
+@@ -475,7 +468,7 @@ LIBAGG_LIBS = @LIBAGG_LIBS@
+ LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
+ LIBGLADE_LIBS = @LIBGLADE_LIBS@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = @LIBS@ -ltinyxml
+ LIBSOUNDTOUCH_CFLAGS = @LIBSOUNDTOUCH_CFLAGS@
+ LIBSOUNDTOUCH_LIBS = @LIBSOUNDTOUCH_LIBS@
+ LTLIBOBJS = @LTLIBOBJS@
+@@ -625,9 +618,6 @@ libdesmume_a_SOURCES = armcpu.cpp armcpu.h arm_instructions.cpp \
+ 	utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
+ 	utils/libfat/lock.h utils/libfat/mem_allocate.h \
+ 	utils/libfat/partition.cpp utils/libfat/partition.h \
+-	utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
+-	utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
+-	utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
+ 	utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
+ 	addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
+ 	addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
+@@ -760,20 +750,6 @@ utils/libfat/lock.$(OBJEXT): utils/libfat/$(am__dirstamp) \
+ 	utils/libfat/$(DEPDIR)/$(am__dirstamp)
+ utils/libfat/partition.$(OBJEXT): utils/libfat/$(am__dirstamp) \
+ 	utils/libfat/$(DEPDIR)/$(am__dirstamp)
+-utils/tinyxml/$(am__dirstamp):
+-	@$(MKDIR_P) utils/tinyxml
+-	@: > utils/tinyxml/$(am__dirstamp)
+-utils/tinyxml/$(DEPDIR)/$(am__dirstamp):
+-	@$(MKDIR_P) utils/tinyxml/$(DEPDIR)
+-	@: > utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+-utils/tinyxml/tinystr.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
+-	utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+-utils/tinyxml/tinyxml.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
+-	utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+-utils/tinyxml/tinyxmlerror.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
+-	utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+-utils/tinyxml/tinyxmlparser.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
+-	utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+ addons/$(am__dirstamp):
+ 	@$(MKDIR_P) addons
+ 	@: > addons/$(am__dirstamp)
+@@ -1035,10 +1011,6 @@ mostlyclean-compile:
+ 	-rm -f utils/libfat/partition.$(OBJEXT)
+ 	-rm -f utils/md5.$(OBJEXT)
+ 	-rm -f utils/task.$(OBJEXT)
+-	-rm -f utils/tinyxml/tinystr.$(OBJEXT)
+-	-rm -f utils/tinyxml/tinyxml.$(OBJEXT)
+-	-rm -f utils/tinyxml/tinyxmlerror.$(OBJEXT)
+-	-rm -f utils/tinyxml/tinyxmlparser.$(OBJEXT)
+ 	-rm -f utils/vfat.$(OBJEXT)
+ 	-rm -f utils/xstring.$(OBJEXT)
+ 
+@@ -1175,10 +1147,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/libfat_public_api.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/lock.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/partition.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinystr.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxml.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlerror.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlparser.Po@am__quote@
+ 
+ .c.o:
+ @am__fastdepCC_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@@ -1449,8 +1417,6 @@ distclean-generic:
+ 	-rm -f utils/decrypt/$(am__dirstamp)
+ 	-rm -f utils/libfat/$(DEPDIR)/$(am__dirstamp)
+ 	-rm -f utils/libfat/$(am__dirstamp)
+-	-rm -f utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
+-	-rm -f utils/tinyxml/$(am__dirstamp)
+ 
+ maintainer-clean-generic:
+ 	@echo "This command is intended for maintainers to use"
+@@ -1460,7 +1426,7 @@ clean: clean-recursive
+ clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+ 
+ distclean: distclean-recursive
+-	-rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
++	-rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
+ 	-rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ 	distclean-tags
+@@ -1506,7 +1472,7 @@ install-ps-am:
+ installcheck-am:
+ 
+ maintainer-clean: maintainer-clean-recursive
+-	-rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
++	-rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
+ 	-rm -f Makefile
+ maintainer-clean-am: distclean-am maintainer-clean-generic
+ 
+diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
+index 1985209..d958323 100755
+--- a/src/cli/Makefile.am
++++ b/src/cli/Makefile.am
+@@ -5,7 +5,7 @@ AM_CPPFLAGS += $(SDL_CFLAGS) $(ALSA_CFLAGS) $(LIBAGG_CFLAGS) $(GLIB_CFLAGS) $(GT
+ 
+ bin_PROGRAMS = desmume-cli
+ desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
+-desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS)
++desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
+ if HAVE_GDB_STUB
+ desmume_cli_LDADD += ../gdbstub/libgdbstub.a
+ endif
+diff --git a/src/cli/Makefile.in b/src/cli/Makefile.in
+index 14efd77..f04ab7d 100644
+--- a/src/cli/Makefile.in
++++ b/src/cli/Makefile.in
+@@ -311,7 +311,7 @@ AM_LDFLAGS =
+ desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
+ desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) \
+ 	$(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) \
+-	$(LIBSOUNDTOUCH_LIBS) $(am__append_1)
++	$(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
+ all: all-recursive
+ 
+ .SUFFIXES:
+diff --git a/src/gtk-glade/Makefile.am b/src/gtk-glade/Makefile.am
+index b667fca..c79fdac 100755
+--- a/src/gtk-glade/Makefile.am
++++ b/src/gtk-glade/Makefile.am
+@@ -33,7 +33,7 @@ desmume_glade_SOURCES =  \
+ desmume_glade_LDADD = ../libdesmume.a \
+ 			$(SDL_LIBS) $(GTKGLEXT_LIBS) $(LIBGLADE_LIBS) \
+ 			$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
+-			$(LIBSOUNDTOUCH_LIBS)
++			$(LIBSOUNDTOUCH_LIBS) -ltinyxml
+ if HAVE_GDB_STUB
+ desmume_glade_LDADD += ../gdbstub/libgdbstub.a
+ endif
+diff --git a/src/gtk-glade/Makefile.in b/src/gtk-glade/Makefile.in
+index 5f77ec5..012aa72 100644
+--- a/src/gtk-glade/Makefile.in
++++ b/src/gtk-glade/Makefile.in
+@@ -367,7 +367,7 @@ desmume_glade_SOURCES = \
+ 
+ desmume_glade_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTKGLEXT_LIBS) \
+ 	$(LIBGLADE_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
+-	$(LIBSOUNDTOUCH_LIBS) $(am__append_1)
++	$(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
+ all: all-recursive
+ 
+ .SUFFIXES:
+diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am
+index 59cb1f2..e451102 100755
+--- a/src/gtk/Makefile.am
++++ b/src/gtk/Makefile.am
+@@ -32,7 +32,7 @@ desmume_SOURCES = \
+ 	../filter/videofilter.cpp ../filter/videofilter.h \
+ 	main.cpp main.h
+ desmume_LDADD = ../libdesmume.a \
+-	$(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS)
++	$(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
+ if HAVE_GDB_STUB
+ desmume_LDADD += ../gdbstub/libgdbstub.a
+ endif
+diff --git a/src/gtk/Makefile.in b/src/gtk/Makefile.in
+index e1a2c37..75f392f 100644
+--- a/src/gtk/Makefile.in
++++ b/src/gtk/Makefile.in
+@@ -382,7 +382,7 @@ desmume_SOURCES = \
+ 
+ desmume_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTK_LIBS) \
+ 	$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
+-	$(LIBSOUNDTOUCH_LIBS) $(am__append_1) $(am__append_2) \
++	$(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1) $(am__append_2) \
+ 	$(am__append_3)
+ UPDATE_DESKTOP = \
+   appsdir=$(DESTDIR)$(datadir)/applications ; \
+diff --git a/src/utils/advanscene.cpp b/src/utils/advanscene.cpp
+index 8d8f370..09c35bb 100755
+--- a/src/utils/advanscene.cpp
++++ b/src/utils/advanscene.cpp
+@@ -19,7 +19,7 @@
+ #include <time.h>

+ 

+ #define TIXML_USE_STL

+-#include "tinyxml/tinyxml.h"

++#include <tinyxml.h>

+ 

+ #include "advanscene.h"

+ #include "../common.h"

diff --git a/nixpkgs/pkgs/misc/emulators/desmume/default.nix b/nixpkgs/pkgs/misc/emulators/desmume/default.nix
index 6bb5be3c7137..d5d63cc26944 100644
--- a/nixpkgs/pkgs/misc/emulators/desmume/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/desmume/default.nix
@@ -2,9 +2,10 @@
 , pkgconfig, libtool, intltool
 , libXmu
 , lua
+, tinyxml
 , agg, alsaLib, soundtouch, openal
 , desktop-file-utils
-, gtk2, gtkglext, libglade, pangox_compat
+, gtk2, gtkglext, libglade
 , libGLU, libpcap, SDL, zziplib }:
 
 with stdenv.lib;
@@ -19,19 +20,17 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    (fetchpatch {
-      name = "gcc6_fixes.patch";
-      url = "https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/desmume/debian/patches/gcc6_fixes.patch?revision=15925";
-      sha256 = "0j3fmxz0mfb3f4biks03pyz8f9hy958ks6qplisl60rzq9v9qpks";
-     })
+    ./gcc6_fixes.patch
+    ./gcc7_fixes.patch
+    ./01_use_system_tinyxml.patch
   ];
 
   CXXFLAGS = "-fpermissive";
 
   buildInputs =
   [ pkgconfig libtool intltool libXmu lua agg alsaLib soundtouch
-    openal desktop-file-utils gtk2 gtkglext libglade pangox_compat
-    libGLU libpcap SDL zziplib ];
+    openal desktop-file-utils gtk2 gtkglext libglade
+    libGLU libpcap SDL zziplib tinyxml ];
 
   configureFlags = [
     "--disable-glade"  # Failing on compile step
diff --git a/nixpkgs/pkgs/misc/emulators/desmume/gcc6_fixes.patch b/nixpkgs/pkgs/misc/emulators/desmume/gcc6_fixes.patch
new file mode 100644
index 000000000000..6eb9576f649b
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/desmume/gcc6_fixes.patch
@@ -0,0 +1,59 @@
+From: zeromus
+Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
+Subject: fix GCC6 issues
+Bug: https://sourceforge.net/p/desmume/bugs/1570/
+Bug-Debian: http://bugs.debian.org/811691
+
+Index: desmume/src/MMU_timing.h
+===================================================================
+--- desmume/src/MMU_timing.h	(revision 5513)
++++ desmume/src/MMU_timing.h	(revision 5517)
+@@ -155,8 +155,8 @@
+ 	enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };

+ 	enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };

+ 	enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };

+-	enum { TAGMASK = (u32)(~0 << TAGSHIFT) };

+-	enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };

++	enum { TAGMASK = (u32)(~0U << TAGSHIFT) };

++	enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };

+ 	enum { WORDSIZE = sizeof(u32) };

+ 	enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };

+ 	enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };

+Index: desmume/src/ctrlssdl.cpp
+===================================================================
+--- desmume/src/ctrlssdl.cpp	(revision 5513)
++++ desmume/src/ctrlssdl.cpp	(revision 5517)
+@@ -200,7 +200,7 @@
+           break;
+         case SDL_JOYAXISMOTION:
+           /* Dead zone of 50% */
+-          if( (abs(event.jaxis.value) >> 14) != 0 )
++          if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
+             {
+               key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
+               if (event.jaxis.value > 0) {
+@@ -370,7 +370,7 @@
+          Note: button constants have a 1bit offset. */
+     case SDL_JOYAXISMOTION:
+       key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
+-      if( (abs(event->jaxis.value) >> 14) != 0 )
++      if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
+         {
+           if (event->jaxis.value > 0)
+             key_code |= 1;
+Index: desmume/src/wifi.cpp
+===================================================================
+--- desmume/src/wifi.cpp	(revision 5429)
++++ desmume/src/wifi.cpp	(revision 5430)
+@@ -320,9 +320,9 @@
+ 
+ #if (WIFI_LOGGING_LEVEL >= 1)
+ 	#if WIFI_LOG_USE_LOGC
+-		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
++		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
+ 	#else
+-		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
++		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
+ 	#endif
+ #else
+ #define WIFI_LOG(level, ...) {}
diff --git a/nixpkgs/pkgs/misc/emulators/desmume/gcc7_fixes.patch b/nixpkgs/pkgs/misc/emulators/desmume/gcc7_fixes.patch
new file mode 100644
index 000000000000..a4934ff6e611
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/desmume/gcc7_fixes.patch
@@ -0,0 +1,18 @@
+From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
+From: rogerman <rogerman@users.sf.net>
+Date: Mon, 17 Aug 2015 21:15:04 +0000
+Subject: Fix bug with libfat string handling.
+
+diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
+index 765d7ae5..b6d7f01f 100644
+--- a/src/utils/libfat/directory.cpp
++++ b/src/utils/libfat/directory.cpp
+@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
+ 	int bytes;
+ 	size_t count = 0;
+ 
+-	while (count < len-1 && src != '\0') {
++	while (count < len-1 && *src != '\0') {
+ 		bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
+ 		if (bytes > 0) {
+ 			*dst = (ucs2_t)tempChar;
diff --git a/nixpkgs/pkgs/misc/emulators/dlx/default.nix b/nixpkgs/pkgs/misc/emulators/dlx/default.nix
index 358cc59d3db0..ad111a615142 100644
--- a/nixpkgs/pkgs/misc/emulators/dlx/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/dlx/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ unzip ];
 
-  makeFlags = "LINK=gcc CFLAGS=-O2";
+  makeFlags = [ "LINK=gcc" "CFLAGS=-O2" ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix b/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix
index 303c2f82d9ef..cc49ef2aa1dc 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix b/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix
index e96b2e07890e..cec88918282e 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/nixpkgs/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
@@ -21,13 +21,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-10879";
+  version = "5.0-11109";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "c7fc9126aaf447a014af4aed195b17aa593dd49b";
-    sha256 = "1pf4mxacxhrkvvh9j49ackm8hahl8x0ligmann1pafsb4lw0xbnj";
+    rev = "93d7b3d15962a3393cf2971e14c4acf54d90cecd";
+    sha256 = "1kkx3agdsc0qmf3yymlzq315nypm34qvq04qpjqycpfhmpx8gdnq";
   };
 
   enableParallelBuilding = true;
@@ -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/nixpkgs/pkgs/misc/emulators/dosbox/default.nix b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
index e72504916085..5b770a6471ab 100644
--- a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix b/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix
index d8f5f1cbdb03..722f6b25429a 100644
--- a/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
-, freeimage, freetype, libGLU_combined, SDL2, alsaLib, libarchive }:
+, freeimage, freetype, libGLU, libGL, SDL2, alsaLib, libarchive
+, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "emulationstation";
@@ -12,14 +13,22 @@ stdenv.mkDerivation {
     sha256 = "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU_combined SDL2 ];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/Aloshi/EmulationStation/commit/49ccd8fc7a7b1dfd974fc57eb13317c42842f22c.patch";
+      sha256 = "1v5d81l7bav0k5z4vybrc3rjcysph6lkm5pcfr6m42wlz7jmjw0p";
+    })
+  ];
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ alsaLib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
 
-  buildPhase = "cmake . && make";
   installPhase = ''
     install -D ../emulationstation $out/bin/emulationstation
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "A flexible emulator front-end supporting keyboardless navigation and custom system themes";
     homepage = https://emulationstation.org;
diff --git a/nixpkgs/pkgs/misc/emulators/epsxe/default.nix b/nixpkgs/pkgs/misc/emulators/epsxe/default.nix
index 6950e12e889a..81202008db19 100644
--- a/nixpkgs/pkgs/misc/emulators/epsxe/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/epsxe/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
-  libX11, openssl, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook }:
+{ 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;
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "2.0.5";
 
   src = let
-    version2 = concatStrings (splitString "." version);
+    version2 = replaceStrings ["."] [""] version;
     platform = "linux" + (optionalString stdenv.is64bit "_x64");
   in fetchurl {
     url = "https://www.epsxe.com/files/ePSXe${version2}${platform}.zip";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
              else "1677lclam557kp8jwvchdrk27zfj50fqx2q9i3bcx26d9k61q3kl";
   };
 
-  nativeBuildInputs = [ unzip wrapGAppsHook ];
+  nativeBuildInputs = [ unzip wrapGAppsHook autoPatchelfHook ];
   sourceRoot = ".";
 
   buildInputs = [
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     libX11
-    libGLU_combined
-    openssl
+    libGLU libGL
+    openssl_1_0_2
     ncurses5
     SDL
     SDL_ttf
@@ -40,10 +40,6 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D ${if stdenv.is64bit then "epsxe_x64" else "ePSXe"} $out/bin/epsxe
-    patchelf \
-      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
-      --set-rpath ${makeLibraryPath buildInputs} \
-      $out/bin/epsxe
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix b/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
index eb7964cc017d..704cef52e5e4 100644
--- a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix b/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix
index 7e1272faf11b..9f092f91e2ef 100644
--- a/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix
+++ b/nixpkgs/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 = "2.8.4";
+  version = "3.0.2";
 
   src = fetchurl {
-    url = "https://fs-uae.net/fs-uae/stable/${version}/${pname}-${version}.tar.gz";
-    sha256 = "19ccb3gbpjwwazqc9pyin3jicjl27m2gyvy5bb5zysq0mxpzassj";
+    url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
+    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/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix b/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
new file mode 100644
index 000000000000..a3a379eb2cfd
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, perl, pkgconfig, wrapGAppsHook
+, SDL, bzip2, glib, gtk3, libgcrypt, libpng, libspectrum, libxml2, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fuse-emulator";
+  version = "1.5.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/fuse-${version}.tar.gz";
+    sha256 = "0kaynjr28w42n3iha60mgr7nxm49w8j0v49plyrc7ka24qzmiqph";
+  };
+
+  nativeBuildInputs = [ perl pkgconfig wrapGAppsHook ];
+
+  buildInputs = [ SDL bzip2 glib gtk3 libgcrypt libpng libspectrum libxml2 zlib ];
+
+  configureFlags = [ "--enable-desktop-integration" ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = http://fuse-emulator.sourceforge.net/;
+    description = "ZX Spectrum emulator";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix b/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
index da53b4f8c557..4120ec7ba6aa 100644
--- a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/hatari/default.nix b/nixpkgs/pkgs/misc/emulators/hatari/default.nix
index 3cb0f787ce76..278d8d8dc5f3 100644
--- a/nixpkgs/pkgs/misc/emulators/hatari/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/hatari/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   # For pthread_cancel
-  cmakeFlags = "-DCMAKE_EXE_LINKER_FLAGS=-lgcc_s";
+  cmakeFlags = [ "-DCMAKE_EXE_LINKER_FLAGS=-lgcc_s" ];
 
   buildInputs = [ zlib SDL cmake ];
 
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/higan/default.nix b/nixpkgs/pkgs/misc/emulators/higan/default.nix
index ad96ca36bc16..c1e64d26b476 100644
--- a/nixpkgs/pkgs/misc/emulators/higan/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/libdsk/default.nix b/nixpkgs/pkgs/misc/emulators/libdsk/default.nix
index edb70ba72648..cb64c30be495 100644
--- a/nixpkgs/pkgs/misc/emulators/libdsk/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/libdsk/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdsk";
-  version = "1.5.10";
+  version = "1.5.12";
 
   src = fetchurl {
     url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
-    sha256 = "0ndkwyf8dp252v4yhqphvi32gmz9m5kkdqwv0aw92cz7mfbnp36g";
+    sha256 = "0s2k9vkrf95pf4ydc6vazb29ysrnhdpcfjnf17lpk4nmlv1j3vyv";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/misc/emulators/mame/default.nix b/nixpkgs/pkgs/misc/emulators/mame/default.nix
new file mode 100644
index 000000000000..3c205a703759
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/mame/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper
+, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama
+, installShellFiles }:
+
+let
+  majorVersion = "0";
+  minorVersion = "217";
+
+  desktopItem = makeDesktopItem {
+    name = "MAME";
+    exec = "mame${stdenv.lib.optionalString stdenv.is64bit "64"}";
+    desktopName = "MAME";
+    genericName = "MAME is a multi-purpose emulation framework";
+    categories = "System;Emulator;";
+  };
+
+  dest = "$out/opt/mame";
+in mkDerivation {
+  pname = "mame";
+  version = "${majorVersion}.${minorVersion}";
+
+  src = fetchFromGitHub {
+    owner = "mamedev";
+    repo = "mame";
+    rev = "mame${majorVersion}${minorVersion}";
+    sha256 = "0yzn29fp72k2g5xgv47ss6fr3sk9wdxw9f52nwld1baxr2adc0qx";
+  };
+
+  hardeningDisable = [ "fortify" ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+
+  makeFlags = [ "TOOLS=1" ];
+
+  dontWrapQtApps = true;
+
+  buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
+  nativeBuildInputs = [ python pkgconfig which makeWrapper installShellFiles ];
+
+  # by default MAME assumes that paths with stock resources
+  # are relative and that you run MAME changing to
+  # install directory, so we add absolute paths here
+  patches = [ ./emuopts.patch ];
+
+  postPatch = ''
+    substituteInPlace src/emu/emuopts.cpp \
+      --subst-var-by mame ${dest}
+  '';
+
+  installPhase = ''
+    make -f dist.mak PTR64=${stdenv.lib.optionalString stdenv.is64bit "1"}
+    mkdir -p ${dest}
+    mv build/release/*/Release/mame/* ${dest}
+
+    mkdir -p $out/bin
+    find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
+    install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh
+
+    installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6
+
+    mv artwork plugins samples ${dest}
+
+    mkdir -p $out/share
+    ln -s ${desktopItem}/share/applications $out/share
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Is a multi-purpose emulation framework";
+    homepage = https://www.mamedev.org/;
+    license = with licenses; [ bsd3 gpl2Plus ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ gnidorah ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/mame/emuopts.patch b/nixpkgs/pkgs/misc/emulators/mame/emuopts.patch
new file mode 100644
index 000000000000..b85291f52f74
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/mame/emuopts.patch
@@ -0,0 +1,29 @@
+diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp
+index c42fcef848..d1bddae060 100644
+--- a/src/emu/emuopts.cpp
++++ b/src/emu/emuopts.cpp
+@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] =
+ 	{ nullptr,                                           nullptr,     OPTION_HEADER,     "CORE SEARCH PATH OPTIONS" },
+ 	{ OPTION_HOMEPATH,                                   ".",         OPTION_STRING,     "path to base folder for plugin data (read/write)" },
+ 	{ OPTION_MEDIAPATH ";rp;biospath;bp",                "roms",      OPTION_STRING,     "path to ROM sets and hard disk images" },
+-	{ OPTION_HASHPATH ";hash_directory;hash",            "hash",      OPTION_STRING,     "path to software definition files" },
+-	{ OPTION_SAMPLEPATH ";sp",                           "samples",   OPTION_STRING,     "path to audio sample sets" },
+-	{ OPTION_ARTPATH,                                    "artwork",   OPTION_STRING,     "path to artwork files" },
+-	{ OPTION_CTRLRPATH,                                  "ctrlr",     OPTION_STRING,     "path to controller definitions" },
+-	{ OPTION_INIPATH,                                    ".;ini;ini/presets",     OPTION_STRING,     "path to ini files" },
+-	{ OPTION_FONTPATH,                                   ".",         OPTION_STRING,     "path to font files" },
++	{ OPTION_HASHPATH ";hash_directory;hash",            "hash;@mame@/hash",      OPTION_STRING,     "path to software definition files" },
++	{ OPTION_SAMPLEPATH ";sp",                           "samples;@mame@/samples",   OPTION_STRING,     "path to audio sample sets" },
++	{ OPTION_ARTPATH,                                    "artwork;@mame@/artwork",   OPTION_STRING,     "path to artwork files" },
++	{ OPTION_CTRLRPATH,                                  "ctrlr;@mame@/ctrlr",     OPTION_STRING,     "path to controller definitions" },
++	{ OPTION_INIPATH,                                    ".;ini;ini/presets;@mame@/ini/presets",     OPTION_STRING,     "path to ini files" },
++	{ OPTION_FONTPATH,                                   ".;@mame@",         OPTION_STRING,     "path to font files" },
+ 	{ OPTION_CHEATPATH,                                  "cheat",     OPTION_STRING,     "path to cheat files" },
+ 	{ OPTION_CROSSHAIRPATH,                              "crosshair", OPTION_STRING,     "path to crosshair files" },
+-	{ OPTION_PLUGINSPATH,                                "plugins",   OPTION_STRING,     "path to plugin files" },
+-	{ OPTION_LANGUAGEPATH,                               "language",  OPTION_STRING,     "path to UI translation files" },
++	{ OPTION_PLUGINSPATH,                                "plugins;@mame@/plugins",   OPTION_STRING,     "path to plugin files" },
++	{ OPTION_LANGUAGEPATH,                               "language;@mame@/language",  OPTION_STRING,     "path to UI translation files" },
+ 	{ OPTION_SWPATH,                                     "software",  OPTION_STRING,     "path to loose software" },
+ 
+ 	// output directory options
diff --git a/nixpkgs/pkgs/misc/emulators/mednafen/default.nix b/nixpkgs/pkgs/misc/emulators/mednafen/default.nix
index 74c456cfb105..337d19804fc4 100644
--- a/nixpkgs/pkgs/misc/emulators/mednafen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/mess/default.nix b/nixpkgs/pkgs/misc/emulators/mess/default.nix
deleted file mode 100644
index fc63bf705f4e..000000000000
--- a/nixpkgs/pkgs/misc/emulators/mess/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchurl, unzip, pkgconfig, SDL, gtk2, GConf, libGLU_combined
-, expat, zlib }:
-
-let
-
-  version = "139";
-
-  mameSrc = fetchurl {
-    url = "https://github.com/mamedev/mame/releases/download/mame0139/mame0${version}s.zip";
-    sha256 = "1mpkwxfz38cgxzvlni2y3fxas3b8qmnzj2ik2zzbd8mr622jdp79";
-  };
-
-  messSrc = fetchurl {
-    url = "http://www.progettosnaps.net/MESS/src/mess0${version}s.zip";
-    name = "mess0139s.zip";
-    sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy";
-  };
-
-in
-
-stdenv.mkDerivation {
-  name = "mess-0.${version}";
-
-  unpackPhase =
-    ''
-      unzip ${mameSrc}
-      # Yes, the MAME distribution is a zip file containing a zip file...
-      unzip mame.zip
-      unzip -o ${messSrc}
-    '';
-
-  makeFlags = "TARGET=mess BUILD_EXPAT= BUILD_ZLIB= NOWERROR=1";
-
-  buildInputs =
-    [ unzip pkgconfig SDL gtk2 GConf libGLU_combined expat zlib ];
-
-  installPhase =
-    ''
-      mkdir -p $out/bin
-      cp mess* $out/bin/mess
-    '';
-
-  meta = {
-    homepage = https://www.mess.org/;
-    license = "non-commercial";
-    description = "Multi Emulator Super System, an emulator of many game consoles and computer systems";
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/emulators/mgba/default.nix b/nixpkgs/pkgs/misc/emulators/mgba/default.nix
index 6dc7bc30f322..c2b30f8ce47a 100644
--- a/nixpkgs/pkgs/misc/emulators/mgba/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/mgba/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "mgba";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "mgba-emu";
     repo = "mgba";
     rev = version;
-    sha256 = "0g0xa1mzvan0sl1p5c784j2g5mcw9kd2b7wiahy06gy0c1nmbcnp";
+    sha256 = "1wrmwh50rv8bd328r8cisrihq6h90kx2bfb0vmjfbsd3l1jvgrgm";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix b/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix
index 460dd7ad5fb5..ee3aab1834ab 100644
--- a/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, boost, dash, freetype, libpng, pkgconfig, SDL, which, zlib }:
+{stdenv, fetchurl, boost, dash, freetype, libpng, pkgconfig, SDL, which, zlib, nasm }:
 
 stdenv.mkDerivation rec {
   pname = "mupen64plus";
-  version = "2.5";
+  version = "2.5.9";
 
   src = fetchurl {
     url = "https://github.com/mupen64plus/mupen64plus-core/releases/download/${version}/mupen64plus-bundle-src-${version}.tar.gz";
-    sha256 = "0rmsvfn4zfvbhz6gf1xkb7hnwflv6sbklwjz2xk4dlpj4vcbjxcw";
+    sha256 = "1a21n4gqdvag6krwcjm5bnyw5phrlxw6m0mk73jy53iq03f3s96m";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig nasm ];
   buildInputs = [ boost dash freetype libpng SDL which zlib ];
 
   buildPhase = ''
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
     dash m64p_install.sh DESTDIR="$out" PREFIX=""
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Nintendo 64 Emulator";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     homepage = http://www.mupen64plus.org/;
-    maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.sander ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/nestopia/default.nix b/nixpkgs/pkgs/misc/emulators/nestopia/default.nix
index 4f02d0f147d4..20c7c39312a5 100644
--- a/nixpkgs/pkgs/misc/emulators/nestopia/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix b/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix
index 8f1e5e02c186..1035061d0570 100644
--- a/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix
@@ -14,35 +14,35 @@ stdenv.mkDerivation rec {
 
   patches = [
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/01_fix-i386-exec-stack.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/01_fix-i386-exec-stack.patch";
       sha256 = "17497wjxd6b92bj458s2769d9bpp68ydbvmfs9gp51yhnq4zl81x";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/02_disable-ppc-auto-dynarec.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/02_disable-ppc-auto-dynarec.patch";
       sha256 = "0v8n79z034w6cqdrzhgd9fkdpri42mzvkdjm19x4asz94gg2i2kf";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/03_fix-plugin-dir.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/03_fix-plugin-dir.patch";
       sha256 = "0vkl0mv6whqaz79kvvvlmlmjpynyq4lh352j3bbxcr0vjqffxvsy";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/04_update-homedir-symlinks.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/04_update-homedir-symlinks.patch";
       sha256 = "18r6n025ybr8fljfsaqm4ap31wp8838j73lrsffi49fkis60dp4j";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/05_format-security.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/05_format-security.patch";
       sha256 = "03m4kfc9bk5669hf7ji1anild08diliapx634f9cigyxh72jcvni";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/06_warnings.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/06_warnings.patch";
       sha256 = "0iz3g9ihnhisfgrzma9l74y4lhh57na9h41bmiam1millb796g71";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/07_non-linux-ip-addr.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/07_non-linux-ip-addr.patch";
       sha256 = "14vb9l0l4nzxcymhjjs4q57nmsncmby9qpdr7c19rly5wavm4k77";
     })
     ( fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/08_reproducible.patch?h=debian/1.9.94-2";
+      url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/08_reproducible.patch";
       sha256 = "1cx9q59drsk9h6l31097lg4aanaj93ysdz5p88pg9c7wvxk1qz06";
     })
 
diff --git a/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix b/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix
index 619938ba5c64..b976c1e8c27d 100644
--- a/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix
@@ -1,45 +1,69 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qtmultimedia
-, glew, libzip, snappy, zlib, withGamepads ? true, SDL2 }:
+{ SDL2
+, cmake
+, fetchFromGitHub
+, ffmpeg
+, glew
+, lib
+, libzip
+, mkDerivation
+, pkgconfig
+, python3
+, qtbase
+, qtmultimedia
+, snappy
+, zlib
+}:
 
-assert withGamepads -> (SDL2 != null);
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "ppsspp";
-  version = "1.4.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "hrydgard";
     repo = "ppsspp";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0m4qkhx7q496sm7ibg2n7rm3npxzfr93iraxgndk0vhfk8vy8w75";
+    sha256 = "17sym0vk72lzbh9a1501mhw98c78x1gq7k1fpy69nvvb119j37wa";
   };
 
-  patchPhase = ''
-    echo 'const char *PPSSPP_GIT_VERSION = "${src.rev}";' >> git-version.cpp
-    substituteInPlace UI/NativeApp.cpp --replace /usr/share $out/share
+  postPatch = ''
+    substituteInPlace git-version.cmake \
+      --replace unknown ${src.rev}
+    substituteInPlace UI/NativeApp.cpp \
+      --replace /usr/share $out/share
   '';
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase qtmultimedia glew libzip snappy zlib ]
-    ++ optionals withGamepads [ SDL2 SDL2.dev ];
+  nativeBuildInputs = [ cmake pkgconfig python3 ];
+
+  buildInputs = [
+    SDL2
+    ffmpeg
+    glew
+    libzip
+    qtbase
+    qtmultimedia
+    snappy
+    zlib
+  ];
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DUSING_QT_UI=ON" ];
+  cmakeFlags = [
+    "-DOpenGL_GL_PREFERENCE=GLVND"
+    "-DUSE_SYSTEM_FFMPEG=ON"
+    "-DUSE_SYSTEM_LIBZIP=ON"
+    "-DUSE_SYSTEM_SNAPPY=ON"
+    "-DUSING_QT_UI=ON"
+  ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/ppsspp
-    mv PPSSPPQt $out/bin/ppsspp
+    mkdir -p $out/share/ppsspp
+    install -Dm555 PPSSPPQt $out/bin/ppsspp
     mv assets $out/share/ppsspp
   '';
 
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://www.ppsspp.org/;
+  meta = with lib; {
     description = "A PSP emulator for Android, Windows, Mac and Linux, written in C++";
+    homepage = "https://www.ppsspp.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu AndersonTorres ];
-    platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
+    maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/qmc2/default.nix b/nixpkgs/pkgs/misc/emulators/qmc2/default.nix
index ca8d87b38005..660eba5fd03c 100644
--- a/nixpkgs/pkgs/misc/emulators/qmc2/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/qmc2/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/resim/default.nix b/nixpkgs/pkgs/misc/emulators/resim/default.nix
new file mode 100644
index 000000000000..81acdf81f2ec
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix b/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix
index fbde2ff54c9e..45ed31168f00 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix
+++ b/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchgit, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, retroarch
-, alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL
+{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch
+, alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, libGL
 , ffmpeg, pcre, libevdev, libpng, libjpeg, udev, libvorbis
-, miniupnpc, sfml, xorg, zlib }:
+, miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost }:
 
 let
 
   d2u = stdenv.lib.replaceChars ["-"] ["_"];
 
-  mkLibRetroCore = ({ core, src, description, license, ... }@a:
+  mkLibRetroCore = ({ core, src, description, license, broken ? false, ... }@a:
   stdenv.lib.makeOverridable stdenv.mkDerivation rec {
 
     name = "libretro-${core}-${version}";
-    version = "2017-06-04";
+    version = "2019-09-29";
     inherit src;
 
     buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@@ -58,12 +58,83 @@ in with stdenv.lib.licenses;
     core = "4do";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "52d881743dd8614d96b4de8bd153cb725b87d474";
-      sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72";
+      rev = "b6ad4bc8548f2f3792cd929ccf26d9078b73a1c0";
+      sha256 = "0j2bd9cnnd5k99l9qr4wd5q9b4ciplia6ywp90xg6422s1im2iw0";
     };
     description = "Port of 4DO/libfreedo to libretro";
     license = "Non-commercial";
   }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  atari800 = (mkLibRetroCore rec {
+    core = "atari800";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "efc0bc71e3cb8a4f957d07fe808cc002ed9c13b9";
+      sha256 = "150hmazi4p5p18gpjmkrn1k9j719cd9gy7jn0jiy3jbk2cxxsjn6";
+    };
+    description = "Port of Atari800 to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-snes = (mkLibRetroCore rec {
+    core = "mednafen-snes";
+    src = fetchRetro {
+      repo = "beetle-bsnes-libretro";
+      rev = "6aee84d454570bb17dff5975df28febdbcb72938";
+      sha256 = "0nk9xlypg3jhpbwd9z5bjbgzlkz842hy9rq14k1nwn0qz6d88kld";
+    };
+    description = "Port of Mednafen's SNES core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-gba = (mkLibRetroCore rec {
+    core = "mednafen-gba";
+    src = fetchRetro {
+      repo = "beetle-gba-libretro";
+      rev = "135afdbb9591655a3e016b75abba07e481f6d406";
+      sha256 = "0fc0x24qn4y7pz3mp1mm1ain31aj9pznp1irr0k7hvazyklzy9g3";
+    };
+    description = "Port of Mednafen's GameBoy Advance core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-lynx = (mkLibRetroCore rec {
+    core = "mednafen-lynx";
+    src = fetchRetro {
+      repo = "beetle-lynx-libretro";
+      rev = "928f7cf5b39f0363e55667572ff455e37489998e";
+      sha256 = "0f03wzdr6f0fpy889i9a2834jg5lvcriyl98pajp75m7whm9r9cc";
+    };
+    description = "Port of Mednafen's Lynx core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-ngp = (mkLibRetroCore rec {
+    core = "mednafen-ngp";
+    src = fetchRetro {
+      repo = "beetle-ngp-libretro";
+      rev = "6130e4057c3d8f9172f0c49bb9b6c61bd1a572d5";
+      sha256 = "10k7spjrhggjgzb370bwv7fgk0nb6xri9ym6cm4qvnrkcwxm7i9p";
+    };
+    description = "Port of Mednafen's NeoGeo Pocket core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
     buildPhase = "make";
   };
 
@@ -71,26 +142,42 @@ in with stdenv.lib.licenses;
     core = "mednafen-pce-fast";
     src = fetchRetro {
       repo = "beetle-pce-fast-libretro";
-      rev = "2954e645d668ee73d93803dc30da4462fc7a459b";
-      sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7";
+      rev = "7bbbdf111c1ce52ab4a97e911ebdaa6836ee881a";
+      sha256 = "1p0kk5a2yi05yl0hspzv9q0n96yx9riaaacbmnq76li0i3ihkf6l";
     };
     description = "Port of Mednafen's PC Engine core to libretro";
     license = gpl2;
   }); in der.override {
+    makefile = "Makefile";
     buildPhase = "make";
     name = "beetle-pce-fast-${der.version}";
   };
 
+  beetle-pcfx = (mkLibRetroCore rec {
+    core = "mednafen-pcfx";
+    src = fetchRetro {
+      repo = "beetle-pcfx-libretro";
+      rev = "e04f695202a7295e4b6f2122ae947279ac9df007";
+      sha256 = "0pdlz05pjqxp19da13dr3wd20hgxw8z5swhflyf7ksjgvz5rxb4r";
+    };
+    description = "Port of Mednafen's PCFX core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
   beetle-psx = let der = (mkLibRetroCore {
     core = "mednafen-psx";
     src = fetchRetro {
       repo = "beetle-psx-libretro";
-      rev = "76862abefdde9097561e2b795e75b49247deff17";
-      sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x";
+      rev = "f55db8655408104a6e20af667657423f08566c85";
+      sha256 = "17iz8r2wy8zqh63j78ijwxasdnmg8dh9mmqn1qr4hvf4fj53ckk8";
     };
     description = "Port of Mednafen's PSX Engine core to libretro";
     license = gpl2;
   }); in der.override {
+    makefile = "Makefile";
     buildPhase = "make";
     name = "beetle-psx-${der.version}";
   };
@@ -99,27 +186,84 @@ in with stdenv.lib.licenses;
     core = "mednafen-saturn";
     src = fetchRetro {
       repo = "beetle-saturn-libretro";
-      rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497";
-      sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c";
+      rev = "3313cc6760c14cffa9226e0cfd41debc11df8bdd";
+      sha256 = "1z2zfn5cpsr3x6bvr562vqvmp4pjjhv5a6jcp09gfsy2gkyispr2";
     };
     description = "Port of Mednafen's Saturn core to libretro";
     license = gpl2;
   }); in der.override {
+    makefile = "Makefile";
     buildPhase = "make";
     name = "beetle-saturn-${der.version}";
-    meta.platforms = [ "x86_64-linux" ];
+    meta.platforms = [ "x86_64-linux" "aarch64-linux" ];
+  };
+
+  beetle-supergrafx = (mkLibRetroCore rec {
+    core = "mednafen-supergrafx";
+    src = fetchRetro {
+      repo = "beetle-supergrafx-libretro";
+      rev = "857e41146e3b0a51def3baea49d2eec80f18102b";
+      sha256 = "0r3v4qy4rx4mnr7w4s779f6f2bjyp69m42blimacl1l9f6hmcv5h";
+    };
+    description = "Port of Mednafen's SuperGrafx core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-wswan = (mkLibRetroCore rec {
+    core = "mednafen-wswan";
+    src = fetchRetro {
+      repo = "beetle-wswan-libretro";
+      rev = "925cb8c77af1678ceab24f04c2790cb95389def1";
+      sha256 = "0kqsqn655z6nnr2s1xdbf37ds99gyhqfd7dx0wmx3sy1fshjg5wm";
+    };
+    description = "Port of Mednafen's WonderSwan core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  beetle-vb = (mkLibRetroCore rec {
+    core = "mednafen-vb";
+    src = fetchRetro {
+      repo = "beetle-vb-libretro";
+      rev = "9066cdafa29ac054243a679baded49212661f47b";
+      sha256 = "0gsniz5kk4xdiprcfyqjcss2vkrphi48wbr29gqvpf7l8gpnwx8p";
+    };
+    description = "Port of Mednafen's VirtualBoy core to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  bluemsx = (mkLibRetroCore rec {
+    core = "bluemsx";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "ddd89ff1fa534816e48521bd930b721f2d39975a";
+      sha256 = "0hiqhc1ckj3ydy0q1v8hwjkkyh2564f7wlqypmshjcc47n296xyf";
+    };
+    description = "Port of BlueMSX to libretro";
+    license = gpl2;
+  }).override {
+    buildPhase = "make";
   };
 
   bsnes-mercury = let bname = "bsnes-mercury"; in (mkLibRetroCore {
     core = bname + "-accuracy";
     src = fetchRetro {
       repo = bname;
-      rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b";
-      sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s";
+      rev = "4a382621da58ae6da850f1bb003ace8b5f67968c";
+      sha256 = "0z8psz24nx8497vpk2wya9vs451rzzw915lkw3qiq9bzlzg9r2wv";
     };
     description = "Fork of bsnes with HLE DSP emulation restored";
     license = gpl3;
   }).override {
+    makefile = "Makefile";
     buildPhase = "make && cd out";
   };
 
@@ -127,54 +271,88 @@ in with stdenv.lib.licenses;
     core = "desmume";
     src = fetchRetro {
       repo = core;
-      rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd";
-      sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl";
+      rev = "e8cf461f83eebb195f09e70090f57b07d1bcdd9f";
+      sha256 = "0rc8s5226wn39jqs5yxi30jc1snc0p106sfym7kgi98hy5na8yab";
     };
     description = "libretro wrapper for desmume NDS emulator";
     license = gpl2;
+    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
   }).override {
+    makefile = "desmume/src/frontend/libretro/Makefile.libretro";
+    configurePhase = "cd desmume/src/frontend/libretro";
+    buildPhase = "make";
+  };
+
+  desmume2015 = (mkLibRetroCore rec {
+    core = "desmume2015";
+    src = fetchRetro {
+      repo = core;
+      rev = "c27bb71aa28250f6da1576e069b4b8cc61986beb";
+      sha256 = "1m7g1wwpnnprmki3rixknggjmxbp7d4hwxgkqr041shmrm0rhafd";
+    };
+    description = "libretro wrapper for desmume NDS emulator from 2015";
+    license = gpl2;
+    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
+  }).override {
+    makefile = "desmume/Makefile.libretro";
     configurePhase = "cd desmume";
+    buildPhase = "make";
   };
 
   dolphin = (mkLibRetroCore {
     core = "dolphin";
     src = fetchRetro {
       repo = "dolphin";
-      rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754";
-      sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3";
+      rev = "11a7ed402c7178da1d9d57c6e5e5a05a4dc6a2c8";
+      sha256 = "11jrcczkbyns01rvxb5rd22fbkbfn2h81f6pfxbhi13fl4ljim9x";
     };
     description = "Port of Dolphin to libretro";
     license = gpl2Plus;
+    broken = true;
 
     extraBuildInputs = [
-      cmake curl libGLU_combined pcre pkgconfig sfml miniupnpc
-      gettext glib gtk2 hidapi
+      cmake curl libGLU libGL pcre pkgconfig sfml
+      gettext hidapi
       libevdev udev
-    ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXinerama libXxf86vm ]);
+    ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
   }).override {
     cmakeFlags = [
-        "-DLINUX_LOCAL_DEV=true"
-        "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
-        "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
-        "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
+      "-DCMAKE_BUILD_TYPE=Release"
+      "-DLIBRETRO=ON"
+      "-DLIBRETRO_STATIC=1"
+      "-DENABLE_QT=OFF"
+      "-DENABLE_LTO=OFF"
+      "-DUSE_UPNP=OFF"
+      "-DUSE_DISCORD_PRESENCE=OFF"
     ];
     dontUseCmakeBuildDir = "yes";
-    buildPhase = ''
-      cd Source/Core/DolphinLibretro
-      make
-    '';
+    buildPhase = "make";
+  };
+
+  dosbox = (mkLibRetroCore rec {
+    core = "dosbox";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "e4ed503b14ed59d5d745396ef1cc7d52cf912328";
+      sha256 = "13bx0ln9hwn6hy4sv0ivqmjgjbfq8svx15dsa24hwd8lkf0kakl4";
+    };
+    description = "Port of DOSBox to libretro";
+    license = gpl2;
+  }).override {
+    buildPhase = "make";
   };
 
   fba = (mkLibRetroCore rec {
     core = "fba";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "9146c18ac989c619256d1cb8954d49e728e44ea3";
-      sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m";
+      rev = "89245384c7d181e286d6f34995253419f946becb";
+      sha256 = "1pg351qhbq5x8qmaq6c30v8ynic8jv3gbxy2kq5iknka80g1lkck";
     };
     description = "Port of Final Burn Alpha to libretro";
     license = "Non-commercial";
   }).override {
+    makefile = "svn-current/trunk/makefile.libretro";
     buildPhase = ''
       cd svn-current/trunk \
       && make -f makefile.libretro \
@@ -186,19 +364,34 @@ in with stdenv.lib.licenses;
     core = "fceumm";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "45f773a1c221121746bbe2680e3aaaf92776a87e";
-      sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b";
+      rev = "0e315e0ca0093ebda06a97835cec6ad4af81db7a";
+      sha256 = "12bvvxmvafjvrvwxl5gzr583g48s0isx2fgvjgkrx175vk2amaf4";
     };
     description = "FCEUmm libretro port";
     license = gpl2;
   };
 
+  flycast = (mkLibRetroCore rec {
+    core = "flycast";
+    src = fetchRetro {
+      repo = core;
+      rev = "45a15205dfc05cfc4df2488cad7c2b4988c5aa0f";
+      sha256 = "18glxd57kddq6p2bwq0qknyq6bv8dxklqks4w2jy2yccvwxdxy2i";
+    };
+    description = "Flycast libretro port";
+    license = gpl2;
+    extraBuildInputs = [ libGL libGLU ];
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
   gambatte = mkLibRetroCore rec {
     core = "gambatte";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4";
-      sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr";
+      rev = "4d9ad7b29946ec0a914b2d6a735b6c2704ed1f23";
+      sha256 = "156pvvlch5izbgbw4ddxhiwgzpp52irr3nqaz813i5f02fiq5wya";
     };
     description = "Gambatte libretro port";
     license = gpl2;
@@ -208,13 +401,56 @@ in with stdenv.lib.licenses;
     core = "genesis-plus-gx";
     src = fetchRetro {
       repo = "Genesis-Plus-GX";
-      rev = "365a28c7349b691e6aaa3ad59b055261c42bd130";
-      sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c";
+      rev = "0e4357bd64533d7fd93b5f01620b92595025fab5";
+      sha256 = "1nryy00844h3ra97j40g38lj7036ibm2l8002qid7r5r9kggclqx";
     };
     description = "Enhanced Genesis Plus libretro port";
     license = "Non-commercial";
   };
 
+  gpsp = (mkLibRetroCore rec {
+    core = "gpsp";
+    src = fetchRetro {
+      repo = core;
+      rev = "24af89596e6484ff5a7a08efecfa8288cfbc02f3";
+      sha256 = "1jc5i70cab5f23yc9sfv8iyvmwmc4sb33f413il2vlhsfdxklyk7";
+    };
+    description = "Port of gpSP to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  handy = (mkLibRetroCore rec {
+    core = "handy";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "6b19a4fad1b394f6a1351c88f60991d4878ff05b";
+      sha256 = "0lhkrwh3rirdidxb8kfcg8wk9gjsc7g6qpkv74h6f09rb4y75w1y";
+    };
+    description = "Port of Handy to libretro";
+    license = "Handy-License";
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  hatari = (mkLibRetroCore rec {
+    core = "hatari";
+    src = fetchRetro {
+      repo = core;
+      rev = "ec1b59c4b6c7ca7d0d23d60cfe2cb61911b11173";
+      sha256 = "1pm821s2cz93xr7qx7dv0imr44bi4pvdvlnjl486p83vff9yawfg";
+    };
+    description = "Port of Hatari to libretro";
+    license = gpl2;
+    extraBuildInputs = [ cmake SDL ];
+  }).override {
+    makefile = "Makefile.libretro";
+    buildPhase = "make";
+  };
+
   higan-sfc = (mkLibRetroCore {
     core = "higan-sfc";
     src = fetchFromGitLab {
@@ -225,6 +461,8 @@ in with stdenv.lib.licenses;
     };
     description = "Accurate SNES / Super Famicom emulator";
     license = gpl3;
+    broken = true;
+
   }).override {
     makefile = "GNUmakefile";
     buildPhase = "cd higan && make compiler=g++ target=libretro binary=library && cd out";
@@ -234,81 +472,218 @@ in with stdenv.lib.licenses;
     core = "mame";
     src = fetchRetro {
       repo = "mame";
-      rev = "9f9e6b6c9bde4d50c72e9a5c80496a1fec6b8aa9";
-      sha256 = "0lfj8bjchkcvyb5x0x29cg10fkfklxndk80947k4qfysclijxpkv";
+      rev = "f4aac49f3d56fbd653628ac456c23ac9a6b857ae";
+      sha256 = "1pjpnwdj73319hgcjhganzrcz2zn4fnjydah989haqh3id5j3zam";
     };
     description = "Port of MAME to libretro";
     license = gpl2Plus;
 
-    extraBuildInputs = [ alsaLib libGLU_combined portaudio python27 xorg.libX11 ];
+    extraBuildInputs = [ alsaLib libGLU libGL portaudio python27 xorg.libX11 ];
+  }).override {
+    postPatch = ''
+      # Prevent the failure during the parallel building of:
+      # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
+      mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
+    '';
+    buildPhase = "make -f Makefile.libretro";
+  };
+
+  mame2000 = (mkLibRetroCore rec {
+    core = "mame2000";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "0a8a174f5e755cdd476895207003c5d07cfa6af2";
+      sha256 = "03k0cfgd4wfl31dv5xb6xjd4h7sh0k0qw6wbspwi0lgswmhz97bb";
+    };
+    description = "Port of MAME ~2000 to libretro";
+    license = gpl2Plus;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  mame2003 = (mkLibRetroCore rec {
+    core = "mame2003";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "170d5b6490953d40edc39defe69945d005f8ec03";
+      sha256 = "0slsf59sn5lijr1mrx5ffc9z81ra1wcw7810mb52djqyvm15r9zl";
+    };
+    description = "Port of MAME ~2003 to libretro";
+    license = gpl2Plus;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  mame2003-plus = (mkLibRetroCore rec {
+    core = "mame2003-plus";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "d9a56a3af908ae9100b4c9feebff4b918363f241";
+      sha256 = "1c16chfs4b2j1x1bmrklh8ssqki850k787qwq7b95dyxksj2bpx1";
+    };
+    description = "Port of MAME ~2003+ to libretro";
+    license = gpl2Plus;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  mame2010 = (mkLibRetroCore rec {
+    core = "mame2010";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "4ced2c31f1100eefc7f4483b474b8a680a3b3f2b";
+      sha256 = "1a8ijj0sixr6xrqfgimna0ipfj2bb2kvj4mb45hb8a18mwn6y0mc";
+    };
+    description = "Port of MAME ~2010 to libretro";
+    license = gpl2Plus;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  mame2015 = (mkLibRetroCore rec {
+    core = "mame2015";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "e3a28398f54cd6b2c24b7165d215b046b79c10f5";
+      sha256 = "1fgwi37zgp2s92bkz03gch3ivgyjgdi3xycrd8z7x87gi20a79x9";
+    };
+    description = "Port of MAME ~2015 to libretro";
+    license = gpl2Plus;
+    extraBuildInputs = [ python27 alsaLib ];
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  mame2016 = (mkLibRetroCore rec {
+    core = "mame2016";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "ea4c1ffa75eb3fb0096158b71706b8b84d86d12c";
+      sha256 = "1qyvdymmjv5q0k3najgfdxzf1yr6bnysnsl19v753yj29xs4hwzp";
+    };
+    description = "Port of MAME ~2016 to libretro";
+    license = gpl2Plus;
+    extraBuildInputs = [ python27 alsaLib ];
   }).override {
     postPatch = ''
       # Prevent the failure during the parallel building of:
       # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
       mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
     '';
+    buildPhase = "make -f Makefile.libretro";
+  };
+
+  mesen = (mkLibRetroCore rec {
+    core = "mesen";
+    src = fetchFromGitHub {
+      owner = "SourMesen";
+      repo = core;
+      rev = "942633dd3dbb73cc3abd748f6d5440c78abbea09";
+      sha256 = "0a95wd64vnblksacapxwxla9j2iw8a5hbdm111cldrni12q87iq2";
+    };
+    description = "Port of Mesen to libretro";
+    license = gpl3;
+  }).override {
+    makefile = "Libretro/Makefile";
+    buildPhase = "cd Libretro && make";
   };
 
   mgba = mkLibRetroCore rec {
     core = "mgba";
     src = fetchRetro {
       repo = core;
-      rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d";
-      sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7";
+      rev = "4865aaabc2a46c635f218f7b51f8fc5cc2c4c8ac";
+      sha256 = "1mdzwcsl5bafmgqfh0a1bgfgilisffxsygcby0igsq2bgkal47mm";
     };
     description = "Port of mGBA to libretro";
     license = mpl20;
   };
 
   mupen64plus = (mkLibRetroCore rec {
-    core = "mupen64plus";
+    core = "mupen64plus-next";
     src = fetchRetro {
-      repo = core + "-libretro";
-      rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e";
-      sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8";
+      repo = "mupen64plus-libretro-nx"; # + "-libretro-nx";
+      rev = "f77c16f9f1dd911fd2254becc8a28adcdafe8aa1";
+      sha256 = "0j6vrkwch9lwmlhyz7fp1ha0bby54gvbwk91hwbv35f6dvs0aw0d";
     };
     description = "Libretro port of Mupen64 Plus, GL only";
     license = gpl2;
 
-    extraBuildInputs = [ libGLU_combined libpng ];
+    extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
   }).override {
-    buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}";
+    makefile = "Makefile";
+    buildPhase = "make";
   };
 
   nestopia = (mkLibRetroCore rec {
     core = "nestopia";
     src = fetchRetro {
       repo = core;
-      rev = "ecfa170a582e5b8ec11225ca645843fa064955ca";
-      sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q";
+      rev = "7f48c211c281880d122981da119a4455a9bebbde";
+      sha256 = "05p3a559633dzw222rs1fh48v657mdyirl1qfqzkhqiar9rxf31g";
     };
     description = "nestopia undead libretro port";
     license = gpl2;
   }).override {
+    makefile = "libretro/Makefile";
     buildPhase = "cd libretro && make";
   };
 
+  o2em = (mkLibRetroCore rec {
+    core = "o2em";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "d6731b9b2592654ce4f1b64c1b1da17b32e7c94c";
+      sha256 = "0809qw16y7ablxfayf0lbzvq7wqdmjp0afdb0vcgv193vvhhp58q";
+    };
+    description = "Port of O2EM to libretro";
+    license = artistic1;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
   parallel-n64 = (mkLibRetroCore rec {
     core = "parallel-n64";
     src = fetchRetro {
       repo = core;
-      rev = "3276db27547bf7ca85896427f0b82d4658694d88";
-      sha256 = "19396v50azrb52ifjk298zgcbxn8dvfvp6zwrnzsk6mp8ff7qcqw";
+      rev = "30f4fd3c2456145763eb76aead7485a1b86ba6bd";
+      sha256 = "0kbyzmscmfi6f842clzaff4k6xcb5410fwhv8n6vv42xk6ljfvgh";
     };
     description = "Parallel Mupen64plus rewrite for libretro.";
     license = gpl2;
 
-    extraBuildInputs = [ libGLU_combined libpng ];
+    extraBuildInputs = [ libGLU libGL libpng ];
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  pcsx_rearmed = (mkLibRetroCore rec {
+    core = "pcsx_rearmed";
+    src = fetchRetro {
+      repo = core;
+      rev = "eb6943ee04b0f30a6f1cebfe399a94bacd1dfb45";
+      sha256 = "0xikdirvjal4mdr5y9dl9gcxhdilqzq43f909b0z8vc069vj1wjz";
+    };
+    description = "Port of PCSX ReARMed to libretro";
+    license = gpl2;
   }).override {
-    buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}";
+    configurePhase = "rm configure";
+    buildPhase = "make -f Makefile.libretro";
   };
 
   picodrive = (mkLibRetroCore rec {
     core = "picodrive";
     src = fetchRetro {
       repo = core;
-      rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a";
-      sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h";
+      rev = "28dcfd6f43434e6828ee647223a0576bfe858c24";
+      sha256 = "19a1b6q8fhf7wxzyf690va1ixzlxlzyslv1zxm0ll5pfsqf2y3gx";
     };
     description = "Fast MegaDrive/MegaCD/32X emulator";
     license = "MAME";
@@ -319,18 +694,38 @@ in with stdenv.lib.licenses;
     configurePhase = "./configure";
   };
 
+  play = (mkLibRetroCore rec {
+    core = "play";
+    src = fetchRetro {
+      repo = "play-";
+      rev = "fedc1e1c2918a7490a881cdb4ec951a828c19671";
+      sha256 = "0hwxx7h61gd29a2gagwjbvxk2hgwdk1wxg4nx90zrizb8nczwnl6";
+    };
+    description = "Port of Play! to libretro";
+    license = bsd2;
+    extraBuildInputs = [ cmake boost ];
+  }).override {
+    cmakeFlags = [ "-DBUILD_PLAY=OFF -DBUILD_LIBRETRO_CORE=ON" ];
+    buildPhase = "make";
+  };
+
   ppsspp = (mkLibRetroCore rec {
     core = "ppsspp";
-    src = fetchRetro {
-      repo = "libretro-" + core;
-      rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573";
-      sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r";
+    src = fetchgit {
+      url = "https://github.com/hrydgard/ppsspp";
+      rev = "bf1777f7d3702e6a0f71c7ec1fc51976e23c2327";
+      sha256 = "17sym0vk72lzbh9a1501mhw98c78x1gq7k1fpy69nvvb119j37wa";
     };
     description = "ppsspp libretro port";
     license = gpl2;
-    extraBuildInputs = [ libGLU_combined ffmpeg ];
+    extraBuildInputs = [ cmake libGLU libGL ffmpeg python37 xorg.libX11 ];
   }).override {
-    buildPhase = "cd libretro && make";
+    cmakeFlags = [ "-DLIBRETRO=ON" ];
+    makefile = "Makefile";
+    buildPhase = ''
+      make \
+      && mv lib/ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary} ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
+    '';
   };
 
   prboom = (mkLibRetroCore rec {
@@ -346,30 +741,31 @@ in with stdenv.lib.licenses;
     buildPhase = "make";
   };
 
-  quicknes = (mkLibRetroCore {
-    core = "quicknes";
+  prosystem = (mkLibRetroCore rec {
+    core = "prosystem";
     src = fetchRetro {
-      repo = "QuickNES_Core";
-      rev = "8613b48cee97f1472145bbafa76e543854b2bbd5";
-      sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1";
+      repo = core + "-libretro";
+      rev = "cb4aa3ee72f98b0891a7bac5c9dac458cdba4d34";
+      sha256 = "0yvzmks9zz1hf7mv6cd2qin1p3yx00dbrcxlm0yysy5q5jiigblg";
     };
-    description = "QuickNES libretro port";
-    license = lgpl21Plus;
+    description = "Port of ProSystem to libretro";
+    license = gpl2;
   }).override {
+    makefile = "Makefile";
     buildPhase = "make";
   };
 
-  reicast = (mkLibRetroCore rec {
-    core = "reicast";
+  quicknes = (mkLibRetroCore rec {
+    core = "quicknes";
     src = fetchRetro {
-      repo = core + "-emulator";
-      rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11";
-      sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m";
+      repo = "QuickNES_Core";
+      rev = "cd302d998d102c9461a924b81817e48b9ea1518f";
+      sha256 = "1sczs1jqcbhpkb5xpcqqdcnxlz7bqmanm4gdnnc12c19snl7999b";
     };
-    description = "Reicast libretro port";
-    license = gpl2;
-    extraBuildInputs = [ libGLU_combined ];
+    description = "QuickNES libretro port";
+    license = lgpl21Plus;
   }).override {
+    makefile = "Makefile";
     buildPhase = "make";
   };
 
@@ -377,13 +773,14 @@ in with stdenv.lib.licenses;
     core = "scummvm";
     src = fetchRetro {
       repo = core;
-      rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c";
-      sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy";
+      rev = "e07a6ede61c364fb87630fa7507a4f8482d882e0";
+      sha256 = "0i88z53q28lwzmadxincab4m66qbzcbmasgildybj8db0z2z8jm0";
     };
     description = "Libretro port of ScummVM";
     license = gpl2;
-    extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ];
+    extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ];
   }).override {
+    makefile = "backends/platform/libretro/build/Makefile";
     buildPhase = "cd backends/platform/libretro/build && make";
   };
 
@@ -391,50 +788,85 @@ in with stdenv.lib.licenses;
     core = "snes9x";
     src = fetchRetro {
       repo = core;
-      rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a";
-      sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip";
+      rev = "29b78df8c9f0f48ed4605d08a187a134b3b316d6";
+      sha256 = "004h1pkxvbn4zlh8bqs6z17k04jw5wzbwklpgvmb7hbxshsi4qid";
     };
     description = "Port of SNES9x git to libretro";
     license = "Non-commercial";
   }).override {
+    makefile = "libretro/Makefile";
     buildPhase = "cd libretro && make";
   };
 
-  snes9x-next = (mkLibRetroCore rec {
-    core = "snes9x-next";
+  snes9x2002 = (mkLibRetroCore rec {
+    core = "snes9x2002";
+    src = fetchRetro {
+      repo = core;
+      rev = "354bcb5acea0aa45b56ae553e0b2b4f10792dfeb";
+      sha256 = "05gvjjxy6ci5pax3frd9g8k9mkqskab5g6rvfjab7cc4zrxrg23f";
+    };
+    description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
+    license = "Non-commercial";
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  snes9x2005 = (mkLibRetroCore rec {
+    core = "snes9x2005";
+    src = fetchRetro {
+      repo = core;
+      rev = "e5cadd2f21fb64e8c7194ad006b39e6f555c4a5b";
+      sha256 = "1q0xrw3f8zm2k19sva8cz28yx815w8a6y1xsl0i6bb3cai3q1hyx";
+    };
+    description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
+    license = "Non-commercial";
+  }).override {
+    makefile = "Makefile";
+    buildPhase = ''
+      make USE_BLARGG_APU=1 \
+      && mv snes9x2005_plus_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x2005_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
+    '';
+  };
+
+  snes9x2010 = (mkLibRetroCore rec {
+    core = "snes9x2010";
     src = fetchRetro {
       repo = core;
-      rev = "b2a69de0df1eb39ed362806f9c9633f4544272af";
-      sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij";
+      rev = "e945cbae0f8c472e1567a319817c9228b775dd71";
+      sha256 = "1pj5p4a2hy7hk90bzy4vnkz3b6nc8n1niqibgwhyfsc22xlxqsfr";
     };
     description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
     license = "Non-commercial";
   }).override {
     buildPhase = ''
       make -f Makefile.libretro
-      mv snes9x2010_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x_next_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
     '';
   };
 
   stella = (mkLibRetroCore rec {
     core = "stella";
     src = fetchRetro {
-      repo = core + "-libretro";
-      rev = "bbe65db0e344dcb38905586bd853076b65963e5a";
-      sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0";
+      repo = core + "2014-libretro";
+      rev = "6d74ad9a0fd779145108cf1213229798d409ed37";
+      sha256 = "0b1nsk92rr64xxj8jc9vpjqgrmm3554096zl031ymr94j5cc87q9";
     };
     description = "Port of Stella to libretro";
     license = gpl2;
   }).override {
-    buildPhase = "make";
+    makefile = "Makefile";
+    buildPhase = ''
+      make \
+      && mv stella2014_libretro${stdenv.hostPlatform.extensions.sharedLibrary} stella_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
+    '';
   };
 
   vba-next = mkLibRetroCore rec {
     core = "vba-next";
     src = fetchRetro {
       repo = core;
-      rev = "e7734756d228ea604f8fa872cea1bba987780791";
-      sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv";
+      rev = "3580ae6acb1a90c4e982e57597458da07eca4f41";
+      sha256 = "0fz8z04kf9g1i5x5slyvx5kb07garzxvhcqnwmqn5j574xh1lc6d";
     };
     description = "VBA-M libretro port with modifications for speed";
     license = gpl2;
@@ -444,13 +876,55 @@ in with stdenv.lib.licenses;
     core = "vbam";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "1b82fc2d761f027567632692f787482d1e287ec2";
-      sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z";
+      rev = "9ccdeac3aa9db00720bb80eff5c9924362144efa";
+      sha256 = "0rq89i9f483j93shhp2p3vqsnb2abpwz6wdnsycfwxgblczmi22y";
     };
     description = "vanilla VBA-M libretro port";
     license = gpl2;
   }).override {
+    makefile = "src/libretro/Makefile";
     buildPhase = "cd src/libretro && make";
   };
 
+  vecx = (mkLibRetroCore rec {
+    core = "vecx";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "26585ee701499550e484c11f005db18e926827d9";
+      sha256 = "0vz2aksc8mqnw55f2bvvawj21mxf60fp93r0sr55hdccn9h7355k";
+    };
+    description = "Port of Vecx to libretro";
+    license = gpl3;
+  }).override {
+    buildPhase = "make";
+  };
+
+  virtualjaguar = (mkLibRetroCore rec {
+    core = "virtualjaguar";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "7bdd8658880b53bf2bcbae0741323fe18f9041f5";
+      sha256 = "0zbrsfhvx293ijazy1w19qha19hprsi0zv8295sa0gq8kyh0xhyw";
+    };
+    description = "Port of VirtualJaguar to libretro";
+    license = gpl3;
+  }).override {
+    makefile = "Makefile";
+    buildPhase = "make";
+  };
+
+  yabause = (mkLibRetroCore rec {
+    core = "yabause";
+    src = fetchRetro {
+      repo = core;
+      rev = "08d09cb88a69ee4c2986693fb813e0eb58d71481";
+      sha256 = "0z55yam1l7m21kbjwn44sp4md9g7p95b27vcxr7i0v08gnkwwvv1";
+    };
+    description = "Port of Yabause to libretro";
+    license = gpl2;
+  }).override {
+    makefile = "yabause/src/libretro/Makefile";
+    buildPhase = "cd yabause/src/libretro && make";
+  };
+
 }
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix b/nixpkgs/pkgs/misc/emulators/retroarch/default.nix
index f26769cd28dd..3f14258b0c01 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix
+++ b/nixpkgs/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.5";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "1jfpgl34jjxn3dvxd1kd564swkw7v98hnn562v998b7vllz3dxdm";
+    sha256 = "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7";
     rev = "v${version}";
   };
 
   nativeBuildInputs = [ pkgconfig ]
-                      ++ optional withVulkan [ makeWrapper ];
+                      ++ 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 ]
+                ++ 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/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix b/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
index 71ae168f1b23..08ebf8ea8544 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/vbam/default.nix b/nixpkgs/pkgs/misc/emulators/vbam/default.nix
index 4df9086a317f..e44b45dbb4bc 100644
--- a/nixpkgs/pkgs/misc/emulators/vbam/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/vbam/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , ffmpeg
 , gettext
-, libGLU_combined
+, libGLU, libGL
 , openal
 , pkgconfig
 , SDL2
@@ -15,12 +15,12 @@
 
 stdenv.mkDerivation rec {
   pname = "visualboyadvance-m";
-  version = "2.1.3";
+  version = "2.1.4";
   src = fetchFromGitHub {
     owner = "visualboyadvance-m";
     repo = "visualboyadvance-m";
     rev = "v${version}";
-    sha256 = "0ibpn05jm6zvvrjyxbmh8qwm1qd26v0dzq45cp233ksvapw1h77h";
+    sha256 = "1kgpbvng3c12ws0dy92zc0azd94h0i3j4vm7b67zc8mi3pqsppdg";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     cairo
     ffmpeg
     gettext
-    libGLU_combined
+    libGLU libGL
     openal
     SDL2
     sfml
@@ -46,11 +46,12 @@ stdenv.mkDerivation rec {
     "-DENABLE_SDL='true'"
   ];
 
-  meta = {
+  meta =  with stdenv.lib; {
     description = "A merge of the original Visual Boy Advance forks";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lassulus ];
     homepage = http://vba-m.com/;
     platforms = stdenv.lib.platforms.linux;
+    badPlatforms = [ "aarch64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/vice/default.nix b/nixpkgs/pkgs/misc/emulators/vice/default.nix
index 7cf4faf55cd7..cb083c0aa0d8 100644
--- a/nixpkgs/pkgs/misc/emulators/vice/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/wine/base.nix b/nixpkgs/pkgs/misc/emulators/wine/base.nix
index 01d096599155..0b6eab70263f 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/base.nix
+++ b/nixpkgs/pkgs/misc/emulators/wine/base.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, pkgArches,
+{ stdenv, lib, pkgArches, callPackage,
   name, version, src, monos, geckos, platforms,
   pkgconfig, fontforge, makeWrapper, flex, bison,
   supportFlags,
@@ -7,6 +7,9 @@
 
 with import ./util.nix { inherit lib; };
 
+let
+  vkd3d = callPackage ./vkd3d.nix {};
+in
 stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   builder = buildScript;
 }) // rec {
@@ -46,14 +49,16 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optional udevSupport            pkgs.udev
   ++ lib.optional vulkanSupport          pkgs.vulkan-loader
   ++ lib.optional sdlSupport             pkgs.SDL2
+  ++ lib.optional faudioSupport          pkgs.faudio
+  ++ lib.optional vkd3dSupport           vkd3d
   ++ lib.optionals gstreamerSupport      (with pkgs.gst_all_1;
-    [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav 
+    [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
     (gst-plugins-bad.override { enableZbar = false; }) ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.glib ]
   ++ 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
@@ -66,12 +71,12 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   # Wine locates a lot of libraries dynamically through dlopen().  Add
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
-  NIX_LDFLAGS = map (path: "-rpath " + path) (
+  NIX_LDFLAGS = toString (map (path: "-rpath " + path) (
       map (x: "${lib.getLib x}/lib") ([ stdenv.cc.cc ] ++ buildInputs)
       # libpulsecommon.so is linked but not found otherwise
       ++ lib.optionals supportFlags.pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio")
           (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ])))
-    );
+    ));
 
   # Don't shrink the ELF RPATHs in order to keep the extra RPATH
   # elements specified above.
diff --git a/nixpkgs/pkgs/misc/emulators/wine/default.nix b/nixpkgs/pkgs/misc/emulators/wine/default.nix
index 6ecca6c25032..727eb2700671 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/wine/default.nix
@@ -43,6 +43,8 @@
   xmlSupport ? false,
   vulkanSupport ? false,
   sdlSupport ? false,
+  faudioSupport ? false,
+  vkd3dSupport ? false,
 }:
 
 let wine-build = build: release:
@@ -54,7 +56,8 @@ let wine-build = build: release:
                   netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
                   gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
                   pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
-                  openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport;
+                  openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport
+                  vkd3dSupport;
         };
       });
 
diff --git a/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
index 7b26bf44cdc2..af71e8fdc73d 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
@@ -31,24 +31,24 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "4.9.2";
+      version = "4.9.3";
       url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi";
-      sha256 = "0x7z0216j21bzc9v1q283qlsvbfzn92yiaf26ilh6bd7zib4c7xr";
+      sha256 = "0va7nbhvfb52g78s9k3zc6xxwsn5whfyn333s6fdxycp8rkvgxkw";
     };
   };
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "4.16";
+    version = "4.17";
     url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
-    sha256 = "17qxbddv23ibbayw1ai984m0dlq63cgplms2jhsc09incjhafywd";
+    sha256 = "1bmj4l84q29h4km5ab5zzypns3mpf7pizybcpab6jj47cr1s303l";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "0zkvwl6rxr6xcqk4a3h43cak67w6bcyqqnajz6azif07ir3z1c61";
+    sha256 = "0cb0w6jwqs70854g1ixfj8r53raln0spyy1l96qv72ymbhzc353h";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/nixpkgs/pkgs/misc/emulators/wine/staging.nix b/nixpkgs/pkgs/misc/emulators/wine/staging.nix
index 5264e66279f7..df979c68a47f 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/staging.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix b/nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix
new file mode 100644
index 000000000000..082eb0b90c67
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, vulkan-headers, spirv-headers, vulkan-loader }:
+
+#TODO: MoltenVK
+#TODO: unstable
+
+stdenv.mkDerivation rec {
+  pname = "vkd3d";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
+    sha256 = "1dkayp95g1691w7n2yn1q9y7klq5xa921dgmn9a5vil0rihxqnj9";
+  };
+
+  buildInputs = [ vulkan-headers spirv-headers vulkan-loader ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A 3d library build on top on Vulkan with a similar api to DirectX 12";
+    homepage = "https://source.winehq.org/git/vkd3d.git";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix b/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
index 1199f987bb6a..2416ddd65b7a 100644
--- a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/yabause/default.nix b/nixpkgs/pkgs/misc/emulators/yabause/default.nix
index ed8652d08f1b..abceb752b2f8 100644
--- a/nixpkgs/pkgs/misc/emulators/yabause/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/zsnes/default.nix b/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
index 1ea8d7e68d3c..55fe49895c9f 100644
--- a/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/frescobaldi/default.nix b/nixpkgs/pkgs/misc/frescobaldi/default.nix
index 2b38ed57c285..5487b6cdc2a7 100644
--- a/nixpkgs/pkgs/misc/frescobaldi/default.nix
+++ b/nixpkgs/pkgs/misc/frescobaldi/default.nix
@@ -1,24 +1,32 @@
-{ lib, fetchFromGitHub, python3Packages, lilypond }:
+{ lib, buildPythonApplication, fetchFromGitHub, python3Packages, pyqtwebengine, lilypond }:
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   name = "frescobaldi-${version}";
-  version = "3.0.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "wbsoft";
     repo = "frescobaldi";
     rev = "v${version}";
-    sha256 = "1yn18pwsjxpxz5j3yfysmaif8k0vqahj5c7ays9cxsylpg9hl7jd";
+    sha256 = "0sv6dc1l34rrhfbn1wqkl9zs9hiacmmbviw87d0d03987s1iirb1";
   };
 
   propagatedBuildInputs = with python3Packages; [
     lilypond pygame python-ly sip
-    pyqt5_with_qtwebkit (poppler-qt5.override { pyqt5 = pyqt5_with_qtwebkit; })
+    pyqt5 poppler-qt5
+    pyqtwebengine
   ];
 
+  nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
+
   # no tests in shipped with upstream
   doCheck = false;
 
+  dontWrapQtApps = true;
+  makeWrapperArgs = [
+      "\${qtWrapperArgs[@]}"
+  ];
+
   meta = with lib; {
     homepage = http://frescobaldi.org/;
     description = ''Frescobaldi is a LilyPond sheet music text editor'';
@@ -35,7 +43,7 @@ python3Packages.buildPythonApplication rec {
       fonts and keyboard shortcuts
     '';
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ sepi ma27 ];
+    maintainers = with maintainers; [ sepi ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/misc/ghostscript/default.nix b/nixpkgs/pkgs/misc/ghostscript/default.nix
index 5b80a5536259..37974e41080f 100644
--- a/nixpkgs/pkgs/misc/ghostscript/default.nix
+++ b/nixpkgs/pkgs/misc/ghostscript/default.nix
@@ -10,8 +10,8 @@ assert cupsSupport -> cups != null;
 
 let
   version = "9.${ver_min}";
-  ver_min = "26";
-  sha512 = "0z2mvsh06qgnxl7p9isw7swg8jp8xcx3rnbqk727avw7ammvfh8785d2bn5i4fhz8y45ka3cpgp7b598m06yq5zawijhcnzkq187nrx";
+  ver_min = "50";
+  sha512 = "3p46kzn6kh7z4qqnqydmmvdlgzy5730z3yyvyxv6i4yb22mgihzrwqmhmvfn3b7lypwf6fdkkndarzv7ly3zndqpyvg89x436sms7iw";
 
   fonts = stdenv.mkDerivation {
     name = "ghostscript-fonts";
@@ -48,19 +48,9 @@ stdenv.mkDerivation rec {
     ./urw-font-files.patch
     ./doc-no-ref.diff
     (fetchpatch {
-      name = "CVE-2019-6116";
-      url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=d3537a54740d78c5895ec83694a07b3e4f616f61";
-      sha256 = "1hr8bpi87bbg1kvv28kflmfh1dhzxw66p9q0ddvbrj72qd86p3kx";
-    })
-    (fetchpatch {
-      name = "CVE-2019-3839-part-1";
-      url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=4ec9ca74bed49f2a82acb4bf430eae0d8b3b75c9";
-      sha256 = "0gn1n9fq5msrxxzspidcnmykp1iv3yvx5485fddmgrslr52ngcf9";
-    })
-    (fetchpatch {
-      name = "CVE-2019-3839-part-2";
-      url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=db24f253409d5d085c2760c814c3e1d3fa2dac59";
-      sha256 = "1h6kpwc6ryr6jlxjr6bfnvmmf8x0kqmyjlx3hggqjs23n0wsr9p9";
+      name = "CVE-2019-14869.patch";
+      url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=485904772c5f0aa1140032746e5a0abfc40f4cef";
+      sha256 = "0z5gnvgpp0dlzgvpw9a1yan7qyycv3mf88l93fvb1kyay893rshp";
     })
   ];
 
@@ -86,15 +76,19 @@ stdenv.mkDerivation rec {
     sed "s@^ZLIBDIR=.*@ZLIBDIR=${zlib.dev}/include@" -i configure.ac
 
     autoconf
-  '' + lib.optionalString cupsSupport ''
-    configureFlags="$configureFlags --with-cups-serverbin=$out/lib/cups --with-cups-serverroot=$out/etc/cups --with-cups-datadir=$out/share/cups"
   '';
 
-  configureFlags =
-    [ "--with-system-libtiff"
-      "--enable-dynamic"
-    ] ++ lib.optional x11Support "--with-x"
-      ++ lib.optional cupsSupport "--enable-cups";
+  configureFlags = [
+    "--with-system-libtiff"
+    "--enable-dynamic"
+  ]
+  ++ lib.optional x11Support "--with-x"
+  ++ lib.optionals cupsSupport [
+    "--enable-cups"
+    "--with-cups-serverbin=$(out)/lib/cups"
+    "--with-cups-serverroot=$(out)/etc/cups"
+    "--with-cups-datadir=$(out)/share/cups"
+  ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/misc/gnash/default.nix b/nixpkgs/pkgs/misc/gnash/default.nix
index e866a1937d69..cfc0c3f7301a 100644
--- a/nixpkgs/pkgs/misc/gnash/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/jackaudio/default.nix b/nixpkgs/pkgs/misc/jackaudio/default.nix
index f246c41d9659..f6eaa553bb26 100644
--- a/nixpkgs/pkgs/misc/jackaudio/default.nix
+++ b/nixpkgs/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.12";
+  version = "1.9.14";
 
   src = fetchFromGitHub {
     owner = "jackaudio";
     repo = "jack2";
     rev = "v${version}";
-    sha256 = "0ynpyn0l77m94b50g7ysl795nvam3ra65wx5zb46nxspgbf6wnkh";
+    sha256 = "1prxg1l8wrxfp2mh7l4mvjvmml6816fciq1la88ylhwm1qnfvnax";
   };
 
   nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
@@ -49,11 +48,6 @@ stdenv.mkDerivation rec {
         --replace /bin/bash ${bash}/bin/bash
   '';
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/jackaudio/jack2/commit/d851fada460d42508a6f82b19867f63853062583.patch";
-    sha256 = "1iwwxjzvgrj7dz3s8alzlhcgmcarjcbkrgvsmy6kafw21pyyw7hp";
-  }) ];
-
   wafConfigureFlags = [
     "--classic"
     "--autostart=${if (optDbus != null) then "dbus" else "classic"}"
@@ -70,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/nixpkgs/pkgs/misc/jackaudio/jack1.nix b/nixpkgs/pkgs/misc/jackaudio/jack1.nix
index cb487677881a..39c0d7d50c78 100644
--- a/nixpkgs/pkgs/misc/jackaudio/jack1.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/logging/beats/6.x.nix b/nixpkgs/pkgs/misc/logging/beats/6.x.nix
index fe1f655246ef..a0a29f95abab 100644
--- a/nixpkgs/pkgs/misc/logging/beats/6.x.nix
+++ b/nixpkgs/pkgs/misc/logging/beats/6.x.nix
@@ -28,6 +28,7 @@ in {
   metricbeat6 = beat "metricbeat" {meta.description = "Lightweight shipper for metrics";};
   packetbeat6 = beat "packetbeat" {
     buildInputs = [ libpcap ];
+    meta.broken = true;
     meta.description = "Network packet analyzer that ships data to Elasticsearch";
     meta.longDescription = ''
       Packetbeat is an open source network packet analyzer that ships the
diff --git a/nixpkgs/pkgs/misc/logging/beats/7.x.nix b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
index 7d0feef38682..adcbdddfc3ad 100644
--- a/nixpkgs/pkgs/misc/logging/beats/7.x.nix
+++ b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "0715fgqw6mqms4zld8wyf6appvvpfb1hglcmcn852c66a8zwr2r2";
+        sha256 = "192ygz3ppfah8d2b811x67jfqhcr5ivz7qh4vwrd729rjfr0bbgb";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/nixpkgs/pkgs/misc/meson-tools/default.nix b/nixpkgs/pkgs/misc/meson-tools/default.nix
new file mode 100644
index 000000000000..02b162c88098
--- /dev/null
+++ b/nixpkgs/pkgs/misc/meson-tools/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "meson-tools";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "afaerber";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1bvshfa9pa012yzdwapi3nalpgcwmfq7d3n3w3mlr357a6kq64qk";
+  };
+
+  buildInputs = [ openssl ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv amlbootsig unamlbootsig amlinfo "$out/bin"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/afaerber/meson-tools";
+    description = "Tools for Amlogic Meson ARM platforms";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/sailsd/default.nix b/nixpkgs/pkgs/misc/sailsd/default.nix
index ea2435c50ae1..49d86491aa01 100644
--- a/nixpkgs/pkgs/misc/sailsd/default.nix
+++ b/nixpkgs/pkgs/misc/sailsd/default.nix
@@ -4,18 +4,18 @@ let
   libsailing = fetchFromGitHub {
     owner = "sails-simulator";
     repo = "libsailing";
-    rev = "c24cddb717f81cd432868b8d41e04486c0a440fd";
-    sha256 = "0mna0c9n8lvfdf4y1iigjy3dlks70hq6jik52zkik2yxvkqv949f";
+    rev = "9b2863ff0c539cd23d91b0254032a7af9c840574";
+    sha256 = "06rcxkwgms9sxqr1swnnc4jnvgs0iahm4cksd475yd1bp5p1gq6j";
   };
 in
 stdenv.mkDerivation rec {
-  version = "0.2.0";
+  version = "0.3.0";
   pname = "sailsd";
   src = fetchFromGitHub {
     owner = "sails-simulator";
     repo = "sailsd";
     rev = version;
-    sha256 = "147cr4aw1kw4gv3bhn0cska855kmyah8m70vdw1q2lwz56lbf4mb";
+    sha256 = "1s4nlffp683binbdxwwzbsci61kbjylbcr1jf44sv1h1r5d5js05";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/misc/scrcpy/default.nix b/nixpkgs/pkgs/misc/scrcpy/default.nix
index bfca574cd497..6e5822b5a6ff 100644
--- a/nixpkgs/pkgs/misc/scrcpy/default.nix
+++ b/nixpkgs/pkgs/misc/scrcpy/default.nix
@@ -10,10 +10,10 @@
 }:
 
 let
-  version = "1.10";
+  version = "1.12.1";
   prebuilt_server = fetchurl {
-    url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}.jar";
-    sha256 = "144k25x6ha89l9p5a1dm6r3fqvgqszzwrhvkvk0r44vg0i71msyb";
+    url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
+    sha256 = "1sk6hbbnf4g6q58fspwlh8bn16j73j3i8hlcshqxzhfhl746krb3";
   };
 in
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hhncqcs49n9g8sgvwbyvkaq4b1dhrpn7qgnaj6grjcb0i27vzaq";
+    sha256 = "16zi0d2jjm2nlrwkwvsxzfpgy45ami45wfh67wq7na2h2ywfmgcp";
   };
 
   # postPatch:
@@ -40,12 +40,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ffmpeg SDL2 ];
 
-  # FIXME: remove on update to > 1.10
-  patches = [(fetchpatch {
-    url = "https://github.com/Genymobile/scrcpy/commit/c05056343b56be65ae887f8b7ead61a8072622b9.diff";
-    sha256 = "1xh24gr2g2i9rk0zyv19jx54hswrq12ssp227vxbhsbamin9ir5b";
-  })];
-
   # Manually install the server jar to prevent Meson from "fixing" it
   preConfigure = ''
     echo -n > server/meson.build
@@ -54,7 +48,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [ "-Doverride_server_path=${prebuilt_server}" ];
   postInstall = ''
     mkdir -p "$out/share/scrcpy"
-    ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server.jar"
+    ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server"
 
     # runtime dep on `adb` to push the server
     wrapProgram "$out/bin/scrcpy" --prefix PATH : "${platform-tools}/bin"
diff --git a/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix b/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix
index b1c2ec5c3bda..b36f8bf98def 100644
--- a/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/screensavers/light-locker/default.nix b/nixpkgs/pkgs/misc/screensavers/light-locker/default.nix
index e3d3b109d1a9..9763949cf982 100644
--- a/nixpkgs/pkgs/misc/screensavers/light-locker/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/light-locker/default.nix
@@ -64,6 +64,12 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://github.com/the-cavalry/light-locker;
     description = "A simple session-locker for LightDM";
diff --git a/nixpkgs/pkgs/misc/screensavers/physlock/default.nix b/nixpkgs/pkgs/misc/screensavers/physlock/default.nix
index f69b0794ce3a..c27ac344e055 100644
--- a/nixpkgs/pkgs/misc/screensavers/physlock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/physlock/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchFromGitHub, pam, systemd }:
 
-stdenv.mkDerivation {
-  version = "11-dev";
+stdenv.mkDerivation rec {
+  version = "v13";
   pname = "physlock";
   src = fetchFromGitHub {
     owner = "muennich";
-    repo = "physlock";
-    rev = "31cc383afc661d44b6adb13a7a5470169753608f";
-    sha256 = "0j6v8li3vw9y7vwh9q9mk1n1cnwlcy3bgr1jgw5gcv2am2yi4vx3";
+    repo = pname;
+    rev = version;
+    sha256 = "1mz4xxjip5ldiw9jgfq9zvqb6w10bcjfx6939w1appqg8f521a7s";
   };
 
   buildInputs = [ pam systemd ];
 
   preConfigure = ''
     substituteInPlace Makefile \
-      --replace /usr/local $out \
       --replace "-m 4755 -o root -g root" ""
   '';
 
-  makeFlags = "SESSION=systemd";
+  makeFlags = [ "PREFIX=$(out)" "SESSION=systemd" ];
 
   meta = with stdenv.lib; {
     description = "A secure suspend/hibernate-friendly alternative to `vlock -an`";
diff --git a/nixpkgs/pkgs/misc/screensavers/rss-glx/default.nix b/nixpkgs/pkgs/misc/screensavers/rss-glx/default.nix
index 7f6d99297ab1..467f762de86c 100644
--- a/nixpkgs/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/screensavers/slock/default.nix b/nixpkgs/pkgs/misc/screensavers/slock/default.nix
index f5e8b60cea06..9dadd085067d 100644
--- a/nixpkgs/pkgs/misc/screensavers/slock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/slock/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ xorgproto libX11 libXext libXrandr ];
 
-  installFlags = "DESTDIR=\${out} PREFIX=";
+  installFlags = [ "DESTDIR=\${out}" "PREFIX=" ];
 
   postPatch = "sed -i '/chmod u+s/d' Makefile";
 
diff --git a/nixpkgs/pkgs/misc/screensavers/xautolock/default.nix b/nixpkgs/pkgs/misc/screensavers/xautolock/default.nix
index 4d4e1c1fc418..cefcdbc75a37 100644
--- a/nixpkgs/pkgs/misc/screensavers/xautolock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xautolock/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     "MANPATH=$(out)/share/man"
   ];
 
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = with stdenv.lib; {
     description = "Launch a given program when your X session has been idle for a given time.";
diff --git a/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix b/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
index c08b16a0a1d3..c43a8acf8850 100644
--- a/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,11 +2,11 @@
 , libXdmcp, libXt }:
 
 stdenv.mkDerivation rec {
-  name = "xlockmore-5.57";
+  name = "xlockmore-5.61";
 
   src = fetchurl {
     url = "http://sillycycle.com/xlock/${name}.tar.xz";
-    sha256 = "18r8rh8fzdn9miicbpc3qbdd4mm2g1jpsbcvj29sr66pxydzkb7r";
+    sha256 = "012wsfcphahwwylyfk9c848nwj1v08hpnja2yfs0j8pnq7milnva";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
index 3edfa9553d6d..1937874a49cb 100644
--- a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/nixpkgs/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
 }:
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.jwz.org/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1m43nfcpagv03zwlivpzp82qdv590s5c8vjjn4iirqjl6mzvdshp";
+    sha256 = "1571pj1a9998sq14y9366s2rw9wd2kq3l3dvvsk610vyd0fki3qm";
   };
 
   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/nixpkgs/pkgs/misc/sndio/default.nix b/nixpkgs/pkgs/misc/sndio/default.nix
index 1993b4bcce40..c415714f573c 100644
--- a/nixpkgs/pkgs/misc/sndio/default.nix
+++ b/nixpkgs/pkgs/misc/sndio/default.nix
@@ -4,13 +4,20 @@ stdenv.mkDerivation rec {
   pname = "sndio";
   version = "1.6.0";
   enableParallelBuilding = true;
-  buildInputs = [ alsaLib ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ alsaLib ];
 
   src = fetchurl {
     url = "http://www.sndio.org/sndio-${version}.tar.gz";
     sha256 = "1havdx3q4mipgddmd2bnygr1yh6y64567m1yqwjapkhsq550dq4r";
   };
 
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libsndio.7.0.dylib $out/lib/libsndio.7.0.dylib
+    for file in $out/bin/*; do
+      install_name_tool -change libsndio.7.0.dylib $out/lib/libsndio.dylib $file
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://www.sndio.org";
     description = "Small audio and MIDI framework part of the OpenBSD project";
diff --git a/nixpkgs/pkgs/misc/tmux-plugins/default.nix b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
index 0fa80322d7ba..0d10b44ab1e1 100644
--- a/nixpkgs/pkgs/misc/tmux-plugins/default.nix
+++ b/nixpkgs/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 ? [],
     ...
   }:
@@ -95,8 +95,8 @@ in rec {
     pluginName = "ctrlw";
     src = fetchgit {
       url = "https://github.com/eraserhd/tmux-ctrlw";
-      rev = "2354b5d56828813d0f7a4b228ca74b6134c2695f";
-      sha256 = "00hy1axmki8h2285mivsj923z327xkq89wfl2x4dxc71xjhdl216";
+      rev = "b456977125c640cd587b786c6a79cb5c7b0f900d";
+      sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1";
     };
   };
 
@@ -123,6 +123,16 @@ in rec {
     };
   };
 
+  gruvbox = mkDerivation {
+    pluginName = "gruvbox";
+    rtpFilePath = "gruvbox-tpm.tmux";
+    src = fetchgit {
+      url = "https://github.com/egel/tmux-gruvbox";
+      rev = "6149fd8b5d6924925b4d5aa6935039780e94f3d6";
+      sha256 = "1ykr4yardavd0x7yfrnshd4b0gi8p31pji7i79ib0nss134zncpb";
+    };
+  };
+
   logging = mkDerivation {
     pluginName = "logging";
     src = fetchgit {
@@ -177,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/nixpkgs/pkgs/misc/uboot/default.nix b/nixpkgs/pkgs/misc/uboot/default.nix
index 6f1c8af390c8..5bd20c0765bc 100644
--- a/nixpkgs/pkgs/misc/uboot/default.nix
+++ b/nixpkgs/pkgs/misc/uboot/default.nix
@@ -1,37 +1,50 @@
-{ stdenv, lib, fetchurl, fetchpatch, bc, bison, dtc, flex, openssl, swig
-, armTrustedFirmwareAllwinner
+{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bc, bison, dtc, flex
+, openssl, swig, meson-tools, armTrustedFirmwareAllwinner
+, armTrustedFirmwareRK3328, armTrustedFirmwareRK3399
+, armTrustedFirmwareS905
 , buildPackages
 }:
 
 let
-  buildUBoot = { version ? "2019.04"
-            , 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 = "1vwv4bgbl7fjcm073zrphn17hnz5h5h778f88ivdsgbb2lnpgdvn";
-    };
+    version = if src == null then defaultVersion else version;
+
+    src = if src == null then defaultSrc else src;
 
     patches = [
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203693/
       (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/extlinux-path-length-2018-03.patch;
         sha256 = "07jafdnxvqv8lz256qy29agjc2k1zj5ad4k28r1w5qkhwj4ixmf8";
       })
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203678/
+      (fetchpatch {
+        name = "rockchip-allow-loading-larger-kernels.patch";
+        url = "https://marc.info/?l=u-boot&m=157537843004298&q=raw";
+        sha256 = "0l3l88cc9xkxkraql82pfgpx6nqn4dj7cvfaagh5pzfwkxyw0n3p";
+      })
     ] ++ extraPatches;
 
     postPatch = ''
       patchShebangs tools
+      patchShebangs arch/arm/mach-rockchip
     '';
 
     nativeBuildInputs = [
@@ -82,7 +95,7 @@ let
       homepage = http://www.denx.de/wiki/U-Boot/;
       description = "Boot loader for embedded systems";
       license = licenses.gpl2;
-      maintainers = [ maintainers.dezgeg ];
+      maintainers = with maintainers; [ dezgeg samueldr lopsided98 ];
     } // extraMeta;
   } // removeAttrs args [ "extraMeta" ]);
 
@@ -90,15 +103,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"
@@ -120,6 +130,12 @@ in {
     filesToInstall = ["u-boot-sunxi-with-spl.bin"];
   };
 
+  ubootBananaPim3 = buildUBoot {
+    defconfig = "Sinovoip_BPI_M3_defconfig";
+    extraMeta.platforms = ["armv7l-linux"];
+    filesToInstall = ["u-boot-sunxi-with-spl.bin"];
+  };
+
   ubootBananaPim64 = buildUBoot {
     defconfig = "bananapi_m64_defconfig";
     extraMeta.platforms = ["aarch64-linux"];
@@ -163,6 +179,52 @@ in {
     filesToInstall = ["u-boot.bin" "SPL"];
   };
 
+  # Flashing instructions:
+  # dd if=bl1.bin.hardkernel of=<device> conv=fsync bs=1 count=442
+  # dd if=bl1.bin.hardkernel of=<device> conv=fsync bs=512 skip=1 seek=1
+  # dd if=u-boot.gxbb of=<device> conv=fsync bs=512 seek=97
+  ubootOdroidC2 = let
+    firmwareBlobs = fetchFromGitHub {
+      owner = "armbian";
+      repo = "odroidc2-blobs";
+      rev = "47c5aac4bcac6f067cebe76e41fb9924d45b429c";
+      sha256 = "1ns0a130yxnxysia8c3q2fgyjp9k0nkr689dxk88qh2vnibgchnp";
+      meta.license = lib.licenses.unfreeRedistributableFirmware;
+    };
+  in buildUBoot {
+    defconfig = "odroid-c2_defconfig";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = ["u-boot.bin" "u-boot.gxbb" "${firmwareBlobs}/bl1.bin.hardkernel"];
+    postBuild = ''
+      # BL301 image needs at least 64 bytes of padding after it to place
+      # signing headers (with amlbootsig)
+      truncate -s 64 bl301.padding.bin
+      cat '${firmwareBlobs}/gxb/bl301.bin' bl301.padding.bin > bl301.padded.bin
+      # The downstream fip_create tool adds a custom TOC entry with UUID
+      # AABBCCDD-ABCD-EFEF-ABCD-12345678ABCD for the BL301 image. It turns out
+      # that the firmware blob does not actually care about UUIDs, only the
+      # order the images appear in the file. Because fiptool does not know
+      # about the BL301 UUID, we would have to use the --blob option, which adds
+      # the image to the end of the file, causing the boot to fail. Instead, we
+      # take advantage of the fact that UUIDs are ignored and just put the
+      # images in the right order with the wrong UUIDs. In the command below,
+      # --tb-fw is really --scp-fw and --scp-fw is the BL301 image.
+      #
+      # See https://github.com/afaerber/meson-tools/issues/3 for more
+      # information.
+      '${buildPackages.armTrustedFirmwareTools}/bin/fiptool' create \
+        --align 0x4000 \
+        --tb-fw '${firmwareBlobs}/gxb/bl30.bin' \
+        --scp-fw bl301.padded.bin \
+        --soc-fw '${armTrustedFirmwareS905}/bl31.bin' \
+        --nt-fw u-boot.bin \
+        fip.bin
+      cat '${firmwareBlobs}/gxb/bl2.package' fip.bin > boot_new.bin
+      '${buildPackages.meson-tools}/bin/amlbootsig' boot_new.bin u-boot.img
+      dd if=u-boot.img of=u-boot.gxbb bs=512 skip=96
+    '';
+  };
+
   ubootOdroidXU3 = buildUBoot {
     defconfig = "odroid-xu3_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
@@ -251,10 +313,47 @@ in {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRock64 = let
+    rkbin = fetchFromGitHub {
+      owner = "ayufan-rock64";
+      repo = "rkbin";
+      rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
+      sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
+    };
+  in buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rock64-rk3328_defconfig";
+    extraMeta = {
+      platforms = [ "aarch64-linux" ];
+      license = lib.licenses.unfreeRedistributableFirmware;
+    };
+    BL31="${armTrustedFirmwareRK3328}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+    # Derive MAC address from cpuid
+    # Submitted upstream: https://patchwork.ozlabs.org/patch/1203686/
+    extraConfig = ''
+      CONFIG_MISC_INIT_R=y
+    '';
+    # Close to being blob free, but the U-Boot TPL causes random memory
+    # corruption
+    postBuild = ''
+      ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
+      cat spl/u-boot-spl.bin >> idbloader.img
+    '';
+  };
+
+  ubootRockPro64 = buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rockpro64-rk3399_defconfig";
+    extraMeta.platforms = ["aarch64-linux"];
+    BL31="${armTrustedFirmwareRK3399}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+  };
+
   ubootSheevaplug = buildUBoot {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
-    filesToInstall = ["u-boot.bin"];
+    filesToInstall = ["u-boot.kwb"];
   };
 
   ubootSopine = buildUBoot {
@@ -268,7 +367,7 @@ in {
     defconfig = "cm_fx6_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
     filesToInstall = ["u-boot-with-nand-spl.imx"];
-    buildFlags = "u-boot-with-nand-spl.imx";
+    buildFlags = [ "u-boot-with-nand-spl.imx" ];
     extraConfig = ''
       CONFIG_CMD_SETEXPR=y
     '';
diff --git a/nixpkgs/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch b/nixpkgs/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
deleted file mode 100644
index 92725cac5b45..000000000000
--- a/nixpkgs/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From fbee2adffd39b03e10262b09779faef94c4d5a9d Mon Sep 17 00:00:00 2001
-From: Ben Wolsieffer <benwolsieffer@gmail.com>
-Date: Thu, 18 Apr 2019 15:50:24 -0400
-Subject: [PATCH] fdt: make compatible with dtc >=1.4.6
-
-Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
----
- include/libfdt_env.h         | 6 +++---
- lib/libfdt/fdt.h             | 6 +++---
- lib/libfdt/libfdt.h          | 6 +++---
- lib/libfdt/libfdt_internal.h | 6 +++---
- tools/dtoc/fdt.py            | 2 +-
- 5 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/include/libfdt_env.h b/include/libfdt_env.h
-index 6c6845f76c..1fbcd0ef83 100644
---- a/include/libfdt_env.h
-+++ b/include/libfdt_env.h
-@@ -6,8 +6,8 @@
-  * SPDX-License-Identifier:	LGPL-2.1+
-  */
- 
--#ifndef _LIBFDT_ENV_H
--#define _LIBFDT_ENV_H
-+#ifndef LIBFDT_ENV_H
-+#define LIBFDT_ENV_H
- 
- #include "compiler.h"
- #include "linux/types.h"
-@@ -32,4 +32,4 @@ typedef __be64 fdt64_t;
- /* adding a ramdisk needs 0x44 bytes in version 2008.10 */
- #define FDT_RAMDISK_OVERHEAD	0x80
- 
--#endif /* _LIBFDT_ENV_H */
-+#endif /* LIBFDT_ENV_H */
-diff --git a/lib/libfdt/fdt.h b/lib/libfdt/fdt.h
-index 3134d78332..38cc182739 100644
---- a/lib/libfdt/fdt.h
-+++ b/lib/libfdt/fdt.h
-@@ -1,5 +1,5 @@
--#ifndef _FDT_H
--#define _FDT_H
-+#ifndef FDT_H
-+#define FDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -64,4 +64,4 @@ struct fdt_property {
- #define FDT_V16_SIZE	FDT_V3_SIZE
- #define FDT_V17_SIZE	(FDT_V16_SIZE + sizeof(fdt32_t))
- 
--#endif /* _FDT_H */
-+#endif /* FDT_H */
-diff --git a/lib/libfdt/libfdt.h b/lib/libfdt/libfdt.h
-index cb533f4275..9345a59f05 100644
---- a/lib/libfdt/libfdt.h
-+++ b/lib/libfdt/libfdt.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_H
--#define _LIBFDT_H
-+#ifndef LIBFDT_H
-+#define LIBFDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -2189,4 +2189,4 @@ int fdt_device_is_available(const void *blob, int node);
- int fdt_node_offset_by_phandle_node(const void *fdt, int node, uint32_t phandle);
- #endif /* SWIG */
- 
--#endif /* _LIBFDT_H */
-+#endif /* LIBFDT_H */
-diff --git a/lib/libfdt/libfdt_internal.h b/lib/libfdt/libfdt_internal.h
-index 9a79fe85dd..8fdda7ee79 100644
---- a/lib/libfdt/libfdt_internal.h
-+++ b/lib/libfdt/libfdt_internal.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_INTERNAL_H
--#define _LIBFDT_INTERNAL_H
-+#ifndef LIBFDT_INTERNAL_H
-+#define LIBFDT_INTERNAL_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -47,4 +47,4 @@ static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)
- 
- #define FDT_SW_MAGIC		(~FDT_MAGIC)
- 
--#endif /* _LIBFDT_INTERNAL_H */
-+#endif /* LIBFDT_INTERNAL_H */
-diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
-index dbc338653b..ac2191fb37 100644
---- a/tools/dtoc/fdt.py
-+++ b/tools/dtoc/fdt.py
-@@ -360,7 +360,7 @@ class Fdt:
-         poffset = libfdt.fdt_first_property_offset(self._fdt, node._offset)
-         while poffset >= 0:
-             p = self._fdt_obj.get_property_by_offset(poffset)
--            prop = Prop(node, poffset, p.name, p.value)
-+            prop = Prop(node, poffset, p.name, p)
-             props_dict[prop.name] = prop
- 
-             poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
--- 
-2.21.0
-
diff --git a/nixpkgs/pkgs/misc/uboot/rock64.nix b/nixpkgs/pkgs/misc/uboot/rock64.nix
deleted file mode 100644
index 9dd43f5fe7e0..000000000000
--- a/nixpkgs/pkgs/misc/uboot/rock64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
-
-  # Close to being blob free, but the U-Boot TPL causes the kernel to hang after a few minutes
-  postBuild = ''
-    ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rock64-rk3328_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "tpl/u-boot-tpl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL blob
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/uboot/rockpro64.nix b/nixpkgs/pkgs/misc/uboot/rockpro64.nix
deleted file mode 100644
index 436e1bcdf878..000000000000
--- a/nixpkgs/pkgs/misc/uboot/rockpro64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  # Upstream ATF hangs in SPL
-  extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.25.elf" "u-boot.itb" "all" ];
-
-  postBuild = ''
-    ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_933MHz_v1.19.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rockpro64-rk3399_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL and ATF (BL31) blobs
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix b/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix
index b797f49df9e0..4ca99b09af50 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index 138feea39e15..1206ec202502 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
@@ -39,34 +39,34 @@ let
 
   agda-vim = buildVimPluginFrom2Nix {
     pname = "agda-vim";
-    version = "2019-08-04";
+    version = "2020-01-03";
     src = fetchFromGitHub {
       owner = "derekelkins";
       repo = "agda-vim";
-      rev = "4fc0a0a95a347b7b98715a78b6f41edd5aa084c5";
-      sha256 = "15zzc1aqzflw36462ka5914cmfqckciqcgcff0kfmzglfcx7is6z";
+      rev = "e5bd3f1439f95a33cb8692f1d49f570eb626c70a";
+      sha256 = "0i1h1syk008xwwph5kz0jg8rn0b6l1jmdx6hlxq6nr32r5kifhni";
     };
   };
 
   alchemist-vim = buildVimPluginFrom2Nix {
     pname = "alchemist-vim";
-    version = "2019-07-04";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
-      rev = "336b3f549cc6028db7bf8a43f725b93250f9cae1";
-      sha256 = "19wzrydm1qciwagklhl7ln37ax69jfgzfw55k4cxbx7g972dg2s3";
+      rev = "911eda990ef259d1f035061c5dfb2f44adb2697e";
+      sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m";
     };
   };
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-09-20";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "ab8e0433536dc6074c77f6ed1fa18325ea1be349";
-      sha256 = "0nlpcph9f0sfx50rvzdc2vz6b23x2hgx46ywjflfix54cmakpkl8";
+      rev = "4afbf2f25dc0ce86b118261b0cfb904c80ae6ba0";
+      sha256 = "1p2g745gyhzs6qql6gnwsn2yxvzf2409andbd8xgrc9bi9cn25pj";
     };
   };
 
@@ -83,12 +83,23 @@ let
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2019-09-15";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "95531d40e5c5a6417aac53b7d4e8bd7130d5efe6";
-      sha256 = "1xa8hh95am0baxrjm411fdpzmf3mkkfcpb56cxr81n9idmq1qlqp";
+      rev = "19e6ae0f2258953591d7c674abd7aca3ceb51374";
+      sha256 = "0283nm92666idvwp0pzy6yzcfvrqy12nwn9zys1jbs34kk6srwa8";
+    };
+  };
+
+  antonys-macro-repeater = buildVimPluginFrom2Nix {
+    pname = "antonys-macro-repeater";
+    version = "2017-09-10";
+    src = fetchFromGitHub {
+      owner = "ckarnell";
+      repo = "antonys-macro-repeater";
+      rev = "61784d86b2654f3e261b9cc33360c5197704e266";
+      sha256 = "1cq5r091qbxjs9s12f7bb2fdm43gxwpnnh2l8nhj0n69jfk7gblw";
     };
   };
 
@@ -105,12 +116,12 @@ let
 
   auto-git-diff = buildVimPluginFrom2Nix {
     pname = "auto-git-diff";
-    version = "2019-01-21";
+    version = "2019-09-23";
     src = fetchFromGitHub {
       owner = "hotwatermorning";
       repo = "auto-git-diff";
-      rev = "1be2fec036f747fe44ec7f0a3868af0b0980954f";
-      sha256 = "1yvbz4pn73j8jyarjbwidr88zg7vw3gq3hvh4334148iq2fj8529";
+      rev = "a14d52b7ed7e7fb69bf1de9d363f3abdd3410b3a";
+      sha256 = "0i0bnlxclh8pzanrxj428728mdx4wdy19fx499kiin87qr4r2hbn";
     };
   };
 
@@ -138,12 +149,23 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2019-09-21";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "21f5c63f22fe70b0fae3ff0fb9e55c602e622ea7";
-      sha256 = "1k7h8faz9qqyqzpkxxhsjsdqyah6amwk3rlhxygz9qg25mp558xf";
+      rev = "b5037cbf87ee4b0beed91adb33c339122e58326f";
+      sha256 = "1yxjdb2cmha6vqhmsv8vy80whs201wwwx0xmyp76mz9zkcsyljak";
+    };
+  };
+
+  ayu-vim = buildVimPluginFrom2Nix {
+    pname = "ayu-vim";
+    version = "2019-09-21";
+    src = fetchFromGitHub {
+      owner = "ayu-theme";
+      repo = "ayu-vim";
+      rev = "9dab20b38335ed06738f251e92e3817182063759";
+      sha256 = "0m914bnrnv7gy49qzfdp1zl3a1h7zpicvh2xqdfqhp7h96psxwmx";
     };
   };
 
@@ -182,23 +204,23 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2019-07-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "f8ba659ba6a094d000f355807efb71f7975d10f0";
-      sha256 = "16np6mkmn7h4rx9471yqy4k89m6w9v1gz1cyphlwn90gzm8f97xz";
+      rev = "6d6ac26c537b996819eda9f0cf8f303d10048c10";
+      sha256 = "120bx0wskkpk2r05sv74430270lf3c5j1z02bd05i9747dbjcgq5";
     };
   };
 
   camelcasemotion = buildVimPluginFrom2Nix {
     pname = "camelcasemotion";
-    version = "2019-06-28";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "bkad";
       repo = "camelcasemotion";
-      rev = "406368dea50303884aa321d2cdff714e010f951e";
-      sha256 = "0a1grafg05cb9mpk69j2y433ifm27ksy29wzlxlm5798dmb473mw";
+      rev = "de439d7c06cffd0839a29045a103fe4b44b15cdc";
+      sha256 = "0yfsb0d9ly8abmc95nqcmr8r8ylif80zdjppib7g1qj1wapdhc69";
     };
   };
 
@@ -270,67 +292,67 @@ let
 
   coc-denite = buildVimPluginFrom2Nix {
     pname = "coc-denite";
-    version = "2019-01-26";
+    version = "2019-10-13";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-denite";
-      rev = "ec7dfd56612664c20bb0f6a19c524100cd2047ed";
-      sha256 = "0fc03ndq7ys4lvqgfbh314fsvbcjf3nm4spfklsmz2c587qbvv1l";
+      rev = "803f8a2388fcf90881c13ff17da4eec01184401d";
+      sha256 = "1gxj2jdii6icgdmkhhsxshi02xbsad0697cixklf3wsqlxrj3px5";
     };
   };
 
   coc-emmet = buildVimPluginFrom2Nix {
     pname = "coc-emmet";
-    version = "2019-08-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-emmet";
-      rev = "0fd6e93dcab3507240962a480b42e08e818d1fa9";
-      sha256 = "196cvnynkm34sa90gznp81l2l3wl2sxfishqzwr8xxlk2cdcshxn";
+      rev = "1e65237f65b94bd5f9376023f557a26c14c9d35a";
+      sha256 = "16f3gdnprxw939zwdy7lzksj1qwlwfs174vk0nzf1d8yb04a7y2g";
     };
   };
 
   coc-eslint = buildVimPluginFrom2Nix {
     pname = "coc-eslint";
-    version = "2019-09-10";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-eslint";
-      rev = "943f22365e2b50e7372058c39e5b85d4d5254beb";
-      sha256 = "1p9gn5y9sk7jl6j1nfxhqk1h1xs1lhq2cg5pbilwsb42q5dzr79s";
+      rev = "ba55d386f296cc3ef3da4b14147dfb7c3ef18ecb";
+      sha256 = "1jxw4h3vwbv6and90bwrgcp4cvd7af547x270lc2085nkna3hdk9";
     };
   };
 
   coc-git = buildVimPluginFrom2Nix {
     pname = "coc-git";
-    version = "2019-09-19";
+    version = "2019-10-30";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-git";
-      rev = "672beb8976e0a8fe0e5c52dc00263144077b659d";
-      sha256 = "0g6cwcbirkqqnljyhlpfdx2q09b5irrp39bqlgl9qb912sz90fqg";
+      rev = "56d45aaef20356e750530f9f80c99cd2f9184ac1";
+      sha256 = "17rbrjp35jd6rw66js88qaki2hk0cm1bvylfzjngdbzbgjc1qz1h";
     };
   };
 
   coc-go = buildVimPluginFrom2Nix {
     pname = "coc-go";
-    version = "2019-09-16";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-go";
-      rev = "3c7954c3e167ca3785efb96d3e95563b7e0d4045";
-      sha256 = "0nir8yvqrz2a8zmjp8ny4s08qlcvy3ms6k55i21xvyjwyrmrknpq";
+      rev = "f2a24f2e35350811845c6a14438a94341217992b";
+      sha256 = "1ramsl7dpgh9l801jq9g8jpg2n757c7r6w8jgfx6gpqmm47iqgrs";
     };
   };
 
   coc-highlight = buildVimPluginFrom2Nix {
     pname = "coc-highlight";
-    version = "2019-09-20";
+    version = "2019-10-18";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-highlight";
-      rev = "775dd5e0a2c8f6e3834e002ca855a305ca267422";
-      sha256 = "0dmzpfvxj8kw6knnsbfjzx1d3n9i5rff9nw7j9pl1brmgk2r5r77";
+      rev = "b4e82ebd5fe855d004dd481e2ecf2fa88faed284";
+      sha256 = "06h64jq8cgj5hc19inidns046kkb76750179jsw7xv5zbp93ygap";
     };
   };
 
@@ -347,23 +369,23 @@ let
 
   coc-imselect = buildVimPluginFrom2Nix {
     pname = "coc-imselect";
-    version = "2019-07-29";
+    version = "2019-11-04";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-imselect";
-      rev = "ae248e744ac3c092c6d957d3923595676666b0e2";
-      sha256 = "11cnab1s9jkywbm3nv6wbaaafq2nxqp9g3yav6lc74bazkzflm8i";
+      rev = "19d89413b3b00db8de6ccd7db619149f542f496c";
+      sha256 = "12w36mkw6b1bxpw51h04xxg703zdwrnww0wh3j32x2bx3bycdla4";
     };
   };
 
   coc-java = buildVimPluginFrom2Nix {
     pname = "coc-java";
-    version = "2019-09-17";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-java";
-      rev = "7e3bdee15b28f5d7f3b1654429c89cb0d93436e5";
-      sha256 = "0r17w00mbs1gshshm8c56cqi37z5i5vdk2sifs2clazlyn9rl6zm";
+      rev = "4be4a57ad8f888ef92974ccb6e685358498863f1";
+      sha256 = "15175bphaiih5j63bigj5sblcyqjj68g3k81wn7dwgwdpglf1mwf";
     };
   };
 
@@ -380,89 +402,100 @@ let
 
   coc-json = buildVimPluginFrom2Nix {
     pname = "coc-json";
-    version = "2019-09-12";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-json";
-      rev = "ad75187c954f55ec3f92ca9ac5d9f77347b0bbfe";
-      sha256 = "0hwv394498qz6bb5zl2i57d18dbl4faxmh3g2d8mfggmx16pv41n";
+      rev = "13c8b482662f964af89e167a438f06493f347617";
+      sha256 = "19sqv2bflr4aw8hkq9rh8r2b9llx4dbirp5755jbvd62bvizab2d";
     };
   };
 
   coc-lists = buildVimPluginFrom2Nix {
     pname = "coc-lists";
-    version = "2019-08-12";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-lists";
-      rev = "2c502ceec9816259350969970e76402c984ac4f9";
-      sha256 = "1ic62ba9w4diajd1d65xpqxkb3kjpp3d09p1n7pv8341w015zcf9";
+      rev = "6dde4a564e33251d6745631fcf3168663cad7551";
+      sha256 = "1w6cln4ac6df4ka7q4wkv303sh5bmgfzl7gck2v2n5fff7yhrqxq";
+    };
+  };
+
+  coc-metals = buildVimPluginFrom2Nix {
+    pname = "coc-metals";
+    version = "2020-01-03";
+    src = fetchFromGitHub {
+      owner = "ckipp01";
+      repo = "coc-metals";
+      rev = "a2c71dc75b35251549d1ba2cdb5f9ee286ab9f90";
+      sha256 = "0hzd7m1rli2vgwvykrv9ld5q9na867l5d56fl02d7d3q9ykfn6j7";
     };
   };
 
   coc-neco = buildVimPluginFrom2Nix {
     pname = "coc-neco";
-    version = "2018-12-21";
+    version = "2019-09-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-neco";
-      rev = "2c33b8b5a9847ff5b4abca37be88131cc4d746ab";
-      sha256 = "10b23y5g16ggb5mrn1f6dv5mr3ncg0wpn8bvn8g22zz4g737nzii";
+      rev = "e6eb1ccc2ab98966fe678107c6da0d4ddfa34f10";
+      sha256 = "14lph4dg7q0s5yjdr8snz9yl7bn6gs42ikizb6mxq43qqfdnxzdx";
     };
   };
 
   coc-pairs = buildVimPluginFrom2Nix {
     pname = "coc-pairs";
-    version = "2019-09-10";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-pairs";
-      rev = "26b1be159c2f24d74c6f175e91b6a8fbd3868e9a";
-      sha256 = "16g2wz87l1pskn6ri71sdm1j5r4h8z1vjdg3ksqs6mz9x2vzy2zz";
+      rev = "0203f18c66f8bb06a6845aef1fff26a56e4a7bbd";
+      sha256 = "08z0c0a1cizyv15h8d4mxb6casrgmfpdgj0w8g1v9zqra2rmkmv5";
     };
   };
 
   coc-prettier = buildVimPluginFrom2Nix {
     pname = "coc-prettier";
-    version = "2019-09-16";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-prettier";
-      rev = "5b25fc3a4709c1e0e61f95ec82f039d1b8c426a3";
-      sha256 = "1j4whxna3gjjs29ndlfr9wpzylapa889831yf1pn7lz2847hnjdr";
+      rev = "f2c5959b0e8a5658017c9dcb57f03d86c3a7c484";
+      sha256 = "1c2vvjvji5wkmxlm5mi5q4px2x9fslkqsw4vii3kjc7cz2w4fnhk";
     };
   };
 
   coc-python = buildVimPluginFrom2Nix {
     pname = "coc-python";
-    version = "2019-08-20";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-python";
-      rev = "65ff16f71ead209e83d34c639594a66df2e19c49";
-      sha256 = "11bmf8rzdkgrmanyfmjckm2s3nby143lnra80q9bj2fs3dh9l5hd";
+      rev = "714ae8de45ab756d5b65f0be0b616153220b9257";
+      sha256 = "17gb0xbvczkqxzs2abknr460v0rcvgsi0m7pc4v0waggr690z53l";
     };
   };
 
   coc-r-lsp = buildVimPluginFrom2Nix {
     pname = "coc-r-lsp";
-    version = "2019-07-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-r-lsp";
-      rev = "261e14c4d80c3302dda0d7b51c45637e3390fe76";
-      sha256 = "1r4z8aiw8s66crrg9n26s93wpync7p6p3jwm32m8anvp1swkqp6b";
+      rev = "a1b97e36c601975a8d730b6965f25592b1ecd1e7";
+      sha256 = "04g1kbgm8p0asrsibmg4w6wj8i2xzwc70g7rkcs2bj3pakbkvws6";
     };
   };
 
   coc-rls = buildVimPluginFrom2Nix {
     pname = "coc-rls";
-    version = "2019-09-10";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-rls";
-      rev = "6d6cbb2768304bca987f83d23e7fe56b7fe66c2b";
-      sha256 = "18jz9qjxkb6626pnc5gmcfxq7yyyqnvalcllapsrk19ji6ykfi7k";
+      rev = "c899418e8fae4a8c3eb15fee48513ae050b11d60";
+      sha256 = "0sipvs8r8i239l2334k4qnhwpaijwd524q598rp4ma34ry42c2xl";
     };
   };
 
@@ -479,12 +512,12 @@ let
 
   coc-snippets = buildVimPluginFrom2Nix {
     pname = "coc-snippets";
-    version = "2019-09-08";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-snippets";
-      rev = "9a8da3f5548e1f894fdd3b9600e17007f7ad9b26";
-      sha256 = "14vk80bg0cgs14n3kfpg6rkgxvvrnyz4s4wms0iqi9hq622i0znz";
+      rev = "b57debd2faa71118258f29968f17b3cd06664b1e";
+      sha256 = "1jk20qjr5az6hjxrmjm8vdq0ks40bq55cw0y7xsmivw6cb61m367";
     };
   };
 
@@ -512,12 +545,12 @@ let
 
   coc-tabnine = buildVimPluginFrom2Nix {
     pname = "coc-tabnine";
-    version = "2019-09-12";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tabnine";
-      rev = "cb787892b860a53fea65954b4afa32331ab17851";
-      sha256 = "0c7hk8alggvz837w48fqiz3d01z56pxg2qss13qpp01kvvw12np6";
+      rev = "f72b4f47109918cc6ad43b42ed566bec61feff8e";
+      sha256 = "1jaj6qsascdpdyz0g8yvi7bcxf4jwcrb0766x4dsmfk9r7prxifl";
     };
   };
 
@@ -545,23 +578,23 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2019-09-09";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "30cf468536a47c994133bb0b5614f305dd6441fe";
-      sha256 = "1nkx1wmhmic4xavb5pnssv14cb6k3znc2jlfcc3ipanm0a6bwkpx";
+      rev = "1f76767ffb0c79a8917b122c8091dbcdf71aa824";
+      sha256 = "0p6pkhq4y69ib408g2r3a20ycfh8yyr8a5jld9snc1jpb8vi0m1l";
     };
   };
 
   coc-vetur = buildVimPluginFrom2Nix {
     pname = "coc-vetur";
-    version = "2019-08-22";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-vetur";
-      rev = "444c297e2a418d816b6094446b57f2333ef9047a";
-      sha256 = "01d51z6iyl2p5lhkr86a3gri0d8g7ydb8qvlp0xqrr2fy97xdx9v";
+      rev = "8c55c4b867cf2210810133fab6c9382a6f0a14e0";
+      sha256 = "1da97d4s2qnysqk21qdm0sgxn03c2cg8vjsajccx538dwiq9f8lb";
     };
   };
 
@@ -589,23 +622,23 @@ let
 
   coc-yaml = buildVimPluginFrom2Nix {
     pname = "coc-yaml";
-    version = "2019-06-20";
+    version = "2019-11-08";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yaml";
-      rev = "aca9aae69ecd7f0953ab3353361b4ce9f089dbd8";
-      sha256 = "1f7d4hbily073pdf3cmmb2vfhb65nxljpin2dhlh57f0l1jiipdn";
+      rev = "916db4bca79c85c68e175534f733b41a79fb06bd";
+      sha256 = "016ix4jwq5c7zdvk9h2z64rwyzv39wxjr2675xrdv240f5zw0fmw";
     };
   };
 
   coc-yank = buildVimPluginFrom2Nix {
     pname = "coc-yank";
-    version = "2019-07-29";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yank";
-      rev = "3e89571841997d4f6a2814b3693e21d8848ee084";
-      sha256 = "1pw1p3h2aqlldwl9qbiin7a1yzjl04i3dm6s86bpjhl1ixwkj3by";
+      rev = "79c5a97c9b7122180b869f90f7f011934f3ae8f5";
+      sha256 = "0dqz759aw0zlmgwrkv8ia45sdl27hb63ilawm9awzbl99w02psjf";
     };
   };
 
@@ -633,12 +666,12 @@ let
 
   command-t = buildVimPluginFrom2Nix {
     pname = "command-t";
-    version = "2019-08-02";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "command-t";
-      rev = "02a22d27e1c4671db32b0ded1fa2bb861c16d14c";
-      sha256 = "0aj9lnrd0v4296c8rwy4bp73dah0lx298yi6ybz3rma2gx9xss6c";
+      rev = "9bdc2e1585419640129a48c646bbf8459f96951b";
+      sha256 = "0iim0lhib6fiainyb48ibl2qzgv8cmn9yinmd1k6i2y5y26wlhfy";
       fetchSubmodules = true;
     };
   };
@@ -711,12 +744,12 @@ let
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv-vim";
-    version = "2019-06-04";
+    version = "2019-12-27";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "f8d24584b01cc72e1a3bee640099a7d9bae98102";
-      sha256 = "112spld65z56zbgd0zm2p1psc8g728pbd8gig0az1lnbxp3pl3jc";
+      rev = "ece4fde5a377d52ba737b991b8a320ada5d1ac95";
+      sha256 = "0aqxvhv70mbsr1gsybs8np82nhvixydivnbj2jp8cy43c1hvyxlh";
     };
   };
 
@@ -755,34 +788,45 @@ let
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp-vim";
-    version = "2019-02-08";
+    version = "2019-11-07";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "2e773fd8c7548526853fff6ee2e642eafbbe3d04";
-      sha256 = "0jvl4ydxmqnbcrzw71jf64vqlnc91970b25r6xl08a0lfb9xi3vd";
+      rev = "44c8e24956d7dcfee3ee6083a0573fed31d136ed";
+      sha256 = "0g1j4g2p48pwcvbj2p36122q71x1xybq5aqqyz40n16sjjrvcz02";
     };
   };
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2019-09-20";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "27b3ebd24f1c5690700b7f94f112c06216a0dd76";
-      sha256 = "012vg71h0jijhj430dqd38xh2gq5k79zr1m59gvh004jjb8bh8c7";
+      rev = "ff468225ce2c8834b944ba6e040fe18a28a67cff";
+      sha256 = "1h4yw71dj67q57d7iiw22silcmji5ibp4bj18kgm0gvwa53hy7hh";
+    };
+  };
+
+  defx-icons = buildVimPluginFrom2Nix {
+    pname = "defx-icons";
+    version = "2019-11-03";
+    src = fetchFromGitHub {
+      owner = "kristijanhusak";
+      repo = "defx-icons";
+      rev = "1412fd083eb54ffedb4f3ae32ddc7ce28613a144";
+      sha256 = "1x0xpixbmxm15g5nmsslccdngm14sg86ymy6mywg9xfbnrh1vn0p";
     };
   };
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2019-08-19";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "dbd2dceea914ecaa71d24a1d6036f1981becdca5";
-      sha256 = "1gl18s39v7k1p6z7hchq1k16f6f1i2ccq76as562c0nvn68jdqi8";
+      rev = "aa1b5c762bbabaeeb5f3eca976e65bbb2f82a883";
+      sha256 = "0pfsky4i4h769fjmrvy89d9ickkfifvmq0m54c6qhs24bycx0s7j";
     };
   };
 
@@ -821,34 +865,34 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-09-19";
+    version = "2020-01-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "a4969dfe9decc6184548b919379ec39027d627c6";
-      sha256 = "0crwjbvflvf5axgqqfj04q67ilgfnhchi0gxbxi152h6hm4f1wx3";
+      rev = "908cd3a3fe5b03783da7186441b2fe0c146f31b3";
+      sha256 = "0qrz0mrrx79525rzab0l1qx3q49531306b05hgqrlkzx9zcppk8l";
     };
   };
 
   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";
     };
   };
 
   deoplete-clang = buildVimPluginFrom2Nix {
     pname = "deoplete-clang";
-    version = "2019-06-22";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-clang";
-      rev = "30f17cb58b7838492fbe6b9d62b70b52c8ceedf7";
-      sha256 = "0rdr8hxmlbf633ffr217l5vzqdxjxihp4vi2iq3k1491b0pwnzi0";
+      rev = "2ea262e98edcb66e828f9077fcc844100320eb63";
+      sha256 = "1wvk61f8ph2vpl6llzmir3qs3zwaw3lrphs16d1j7ljkdl3bk49k";
       fetchSubmodules = true;
     };
   };
@@ -866,35 +910,35 @@ let
 
   deoplete-fish = buildVimPluginFrom2Nix {
     pname = "deoplete-fish";
-    version = "2018-09-15";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "ponko2";
       repo = "deoplete-fish";
-      rev = "9b9a686186e6484163b34eb6e620b83be355e82c";
-      sha256 = "1v7ay0isrgcz0hgyggdqvmrldz0in26prj7p9l8ygkyrjq2w6b8a";
+      rev = "4d27bfeff0269ae66e88645613a2b18ffae7a969";
+      sha256 = "1l84dywfvgxclhicwdkdcqr0hicmish44c456g7vcdfqq97qvzp1";
     };
   };
 
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
-    version = "2019-07-04";
+    version = "2020-01-01";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
-      rev = "fa73f06f2e62ca58093eb02edc6134f002f27df4";
-      sha256 = "02d3h5mnvzqlhq17qadyzfh4570r7gpv0bimapff0nvbyjk4qgkc";
+      rev = "4f1ccd2ed70211fd025d052ec725c0b835bea487";
+      sha256 = "0zmx98kz6pxfpakizr8xm1nrv1rjr0frz19pkik29mk6aj2b2l08";
       fetchSubmodules = true;
     };
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix {
     pname = "deoplete-jedi";
-    version = "2019-07-22";
+    version = "2019-12-22";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-jedi";
-      rev = "46121d9ca7688c148764d7ee488bb3572d1434c4";
-      sha256 = "1hiw42dm12xyhmvg180mrbjv3bbbvrgl4p2abll0lv5l2zmsbf12";
+      rev = "63beb118c8d215bad4f8759b84608fd463abebc5";
+      sha256 = "1rilqprq6fq01qj1idgvy38p827gjq2bsx93xfbim6yc4hkj10d9";
       fetchSubmodules = true;
     };
   };
@@ -910,14 +954,25 @@ let
     };
   };
 
+  deoplete-khard = buildVimPluginFrom2Nix {
+    pname = "deoplete-khard";
+    version = "2019-09-02";
+    src = fetchFromGitHub {
+      owner = "nicoe";
+      repo = "deoplete-khard";
+      rev = "27221723a3bb8e480ff8cbe7f4be9ff38c076bf7";
+      sha256 = "0g7sysm5lb8fpgagfg4565fz4rn16djdc4m2213ryq1s3crx40gw";
+    };
+  };
+
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-09-20";
+    version = "2019-12-24";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "335e8a03d5741aa42bd7ce64d79e31d7de570ab5";
-      sha256 = "0jn4fn9vkxf3av6mdmzixz20l9ca8n2sql7j9mcmh06mn86949bs";
+      rev = "0985ba9f5a5f35521087b9ca0858c96ab3785158";
+      sha256 = "09bfsd217qi1ndfrfrjla1vlhnp8r9q9qirkwjjajbqhk4ws90pm";
     };
   };
 
@@ -932,36 +987,47 @@ let
     };
   };
 
+  deoplete-tabnine = buildVimPluginFrom2Nix {
+    pname = "deoplete-tabnine";
+    version = "2019-10-16";
+    src = fetchFromGitHub {
+      owner = "tbodt";
+      repo = "deoplete-tabnine";
+      rev = "a05c97b966b78a9d5cb97b9c2d7e1ec2d6962160";
+      sha256 = "1ni16151rknkq66967bwy82xs4pr9xgl5zb7dv447lhl8m3f096g";
+    };
+  };
+
   deoplete-ternjs = buildVimPluginFrom2Nix {
     pname = "deoplete-ternjs";
-    version = "2019-07-09";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "carlitux";
       repo = "deoplete-ternjs";
-      rev = "fe5935dcf3cbaa663c81e2b9705a93840a407e56";
-      sha256 = "04yqw92yjcvimwvx1dqqc50y52j3y4zkvjkxmpmfnyx86ah730fk";
+      rev = "5405e84a44fc4ab5234c9a253ad4aa2b161e5897";
+      sha256 = "0684f9ci0y4wihf04z9r8x55cir02al4wp911dz0zg678z8w0yha";
     };
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-09-20";
+    version = "2019-12-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "7f1d4d8b1f5dbf344f2d0d1f4b8c5d6a0aaa24a6";
-      sha256 = "1i8964nwarq2hwbixbj74n5a5k8c27hn7srbf8bbckk12rh1rjkj";
+      rev = "840c46aed8033efe19c7a5a809713c809b4a6bb5";
+      sha256 = "09bivhh6iig9vskia9fz1cz2c6dbn3xf4cgm77z9ppaii00n9wh3";
     };
   };
 
   dhall-vim = buildVimPluginFrom2Nix {
     pname = "dhall-vim";
-    version = "2019-05-01";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "20d2fa23dddc11d694d62c957e4aa7287dba63d3";
-      sha256 = "0718acz3qwrnjy1d76bar825dhbjj7mm5vrkgwxhyvdljx5w0hxs";
+      rev = "607958520f8bd4308fe52937e211f6db4ad84cf3";
+      sha256 = "0rnkmfrzsm4hg6ln8g8qj9ff8z2sk7cnf4gqrswychqhhkg1f817";
     };
   };
 
@@ -989,23 +1055,23 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2019-06-12";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "c12d2e683fb749f9c0d4a099d894baa3d9d5f330";
-      sha256 = "1w8awylby9qasy0z6x4l5k9gw5sqqmsmpcvckj9ax1sp34psdzhx";
+      rev = "e20bff5f3ef4ea29b64f386fa1994281832863d0";
+      sha256 = "15xsin3wv7gba0wd7766ylgl9k32xzk0crv3liqmxsn5kgggkcxa";
     };
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2019-07-20";
+    version = "2019-12-27";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "c718cefc51ccdaf7bd27c4c1ae2de55103434241";
-      sha256 = "1sbpkv2q68s6qnm03jr1vazvdqqnrgiw53w4jn38dr8l9i2im199";
+      rev = "7e5b4a91ad55b992247edb87543ed7855db1a199";
+      sha256 = "0cbdk4bxk0alq69fjxk4ryfk1w6pvjkqp2sv7rj8qgrwgpqdv5wd";
       fetchSubmodules = true;
     };
   };
@@ -1023,12 +1089,12 @@ let
 
   emmet-vim = buildVimPluginFrom2Nix {
     pname = "emmet-vim";
-    version = "2019-08-27";
+    version = "2019-10-08";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "emmet-vim";
-      rev = "10b3746ecb52064d44bbcb1fdf6b21cca551f30c";
-      sha256 = "1crm0qj8wwizgvzn4jlwbpnjbddp08fs9i46nr56q38hc6mgir4x";
+      rev = "5f559fae12a8babf414376906197dbd751e11380";
+      sha256 = "0z9lny12hckc635zafh1mdh58pikz5k19kkhxj1m77h15rwwms7f";
       fetchSubmodules = true;
     };
   };
@@ -1057,12 +1123,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-09-17";
+    version = "2020-01-01";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "a6ba8a5d6745d92a23eb8b95562bbd9f05f8de5f";
-      sha256 = "0in4fs2aycwyspi1yck36f6w6m9jmjm5ckdq5wxisvjncnzxblhs";
+      rev = "419279ec95260efe3af42c8b03b823e59f09c3bc";
+      sha256 = "1cydvb4jbh8h1n09rc8446fspvfvbgbqz5a21nbadbkg3106wn3c";
     };
   };
 
@@ -1079,23 +1145,23 @@ let
 
   fastfold = buildVimPluginFrom2Nix {
     pname = "fastfold";
-    version = "2019-09-03";
+    version = "2019-10-02";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
-      rev = "cf38299fee6f6a9b0bc5874545ed3a2415b6b3c5";
-      sha256 = "1x2ab1fjiqwmaph2r5dga4bv128ppzb8kpr3bjh6hvmcfabsh1f6";
+      rev = "bd88eed0c22a298a49f52a14a673bc1aad8c0a1b";
+      sha256 = "1xvf32g5kzx7g1si84m0sih02b0dd888bdwa2ym533qxiriqgxpg";
     };
   };
 
   ferret = buildVimPluginFrom2Nix {
     pname = "ferret";
-    version = "2019-08-13";
+    version = "2019-09-27";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "ferret";
-      rev = "aeb47b01b36021aaf84ff4f7f1a4cf64bc68fe53";
-      sha256 = "1cssvdpkmrlby50p2lyqfz1jhp5igyv1bqd34588p3ivsd3hrhyy";
+      rev = "d03f7ebeb0cea0311d23888adb1d62efcf04021a";
+      sha256 = "1xh6jp1gzmn211bfv7v1r88sh49x1zly16qs3k70qgj9w57zgwwy";
     };
   };
 
@@ -1157,34 +1223,56 @@ let
 
   fugitive-gitlab-vim = buildVimPluginFrom2Nix {
     pname = "fugitive-gitlab-vim";
-    version = "2019-01-05";
+    version = "2019-10-24";
     src = fetchFromGitHub {
       owner = "shumphrey";
       repo = "fugitive-gitlab.vim";
-      rev = "43a13dbbc9aae85338877329ed28c9e4d8488db1";
-      sha256 = "1in6r6p5mbcdpgpvmsl6k5nm1nhp4wfxs3wfy2vhswhw1c7ja1dd";
+      rev = "f3e56ff60fe3fb5ebc891cbe5fd12cd8c59ae6ef";
+      sha256 = "0cx3zd7f09prxjfrj201139j00wsw66fx5crw6dhblf4z6mfpgnx";
     };
   };
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2019-07-04";
+    version = "2019-12-22";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "359a80e3a34aacbd5257713b6a88aa085337166f";
-      sha256 = "0a01g0gw59m57zizidvm9n89qh8lvj0aq4kyxy27i72ysclp3wsf";
+      rev = "76669c3c1d675833f9d89f6496f16a7accc0f40e";
+      sha256 = "0p5z9bljjfnp4kkpf9pb5zwv5l9xdk3aikpfxjj8scafl99k4m5r";
+    };
+  };
+
+  gen_tags-vim = buildVimPluginFrom2Nix {
+    pname = "gen_tags-vim";
+    version = "2019-06-28";
+    src = fetchFromGitHub {
+      owner = "jsfaint";
+      repo = "gen_tags.vim";
+      rev = "208cd0490547bc8f7615eea1b26e4635d2e60a96";
+      sha256 = "00s1kxi1bsvz06z7x78kls0k6ncnbqdyz14fvdxxq82f6s1kdvdw";
+    };
+  };
+
+  gentoo-syntax = buildVimPluginFrom2Nix {
+    pname = "gentoo-syntax";
+    version = "2019-12-13";
+    src = fetchFromGitHub {
+      owner = "gentoo";
+      repo = "gentoo-syntax";
+      rev = "946aac94d5690e9ca1ca2db21a254fea56e45b2b";
+      sha256 = "1q1rq1rxxq5hyglz90d7vd1m6az12lr2wz9aafn6zir68n3ak0lj";
     };
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2019-09-08";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "586dd9652f9fa76d342557029abd4bbcb744f2f4";
-      sha256 = "115zw4b8jxyalm0qhqjzzakaqc2bzy6bf0jm7kkfhyv3lfqwf19p";
+      rev = "723054642faf15082bbad6a0d6db921918e5db61";
+      sha256 = "0ln5y7jfd4m59ci39zffjmzi9bda0bck7mkxk0i5fyp4whp8jqdr";
     };
   };
 
@@ -1265,6 +1353,17 @@ let
     };
   };
 
+  gv-vim = buildVimPluginFrom2Nix {
+    pname = "gv-vim";
+    version = "2019-12-09";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "gv.vim";
+      rev = "a18f4465974dfbd53f1ea33bfbbcc8a32baf1b4b";
+      sha256 = "1b4y39zqjggqw6sybmr73di3grhnk19xb5jvyckjb43rp8nxrr00";
+    };
+  };
+
   haskell-vim = buildVimPluginFrom2Nix {
     pname = "haskell-vim";
     version = "2018-05-22";
@@ -1300,12 +1399,12 @@ let
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg-vim";
-    version = "2019-08-31";
+    version = "2019-11-07";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "ddc3e4ea485771e4f0b939fd8259f3152eb1bd29";
-      sha256 = "0128yxhafndllc383ncw4ka0r7q8mwvb3nx70f4plb6m3f07x8rm";
+      rev = "dc4b4b5838d126c22c44229a3ee170f6ac79ba86";
+      sha256 = "1hicambipbgwf22fax782gpfmcndcpikj3bpf8v91wd5fxm7ik74";
     };
   };
 
@@ -1355,34 +1454,34 @@ let
 
   indentLine = buildVimPluginFrom2Nix {
     pname = "indentLine";
-    version = "2019-02-22";
+    version = "2019-10-26";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "indentLine";
-      rev = "47648734706fb2cd0e4d4350f12157d1e5f4c465";
-      sha256 = "0739hdvdfa1lm209q4sl75jvmf2k03cvlka7wv1gwnfl00krvszs";
+      rev = "bb548a975ebe4576073ca025eeb2743b4465ce1d";
+      sha256 = "0r3jppigc6i562par0l36z7g5zyk2djvjvbl61vjzi0jk1d0gvjn";
     };
   };
 
   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";
     };
   };
 
   iosvkem = buildVimPluginFrom2Nix {
     pname = "iosvkem";
-    version = "2019-09-04";
+    version = "2019-10-21";
     src = fetchFromGitHub {
       owner = "neutaaaaan";
       repo = "iosvkem";
-      rev = "f9e6b5e8a72c4b3c542074d881e694daa60c79df";
-      sha256 = "1l9p8hxrv3rybbv9w3f74l4wngjyjw7jzylw38jbmsn7bgr1m336";
+      rev = "088293c426c398b2655f01026cd146f536a703c7";
+      sha256 = "1ib4p3r8qnlybfw53asn8xk0y9w5ppjpkn2c51bsx1v5an82jjbl";
     };
   };
 
@@ -1410,24 +1509,24 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2019-09-18";
+    version = "2020-01-01";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "89c995e7d964fb71c715e6f4ac330e4c59b44128";
-      sha256 = "02ks1bwrdw7zmnf9mipvfjla9cv6904sx18q9qnyrqbkclrpfn0y";
+      rev = "2572136fcb4c9941553dd05504007806613c8946";
+      sha256 = "08fdaxaldbmg76bkj0xni4cpgqiss4cdxnv3jxskwvs6v9dxmbcs";
       fetchSubmodules = true;
     };
   };
 
   Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix {
     pname = "Jenkinsfile-vim-syntax";
-    version = "2019-06-17";
+    version = "2019-12-31";
     src = fetchFromGitHub {
       owner = "martinda";
       repo = "Jenkinsfile-vim-syntax";
-      rev = "bf7ca0927c82edc495f7fa67bebc58e92567aa20";
-      sha256 = "1ikpbg8whabfir6xpb6z4hs8ay3rg9q2qw45sn1ggfikp7dxfwbx";
+      rev = "164b457d87b65c6ca9e5998b69c6cd24248f62ac";
+      sha256 = "14s26hlsdqys7br84l9wiyvhcy17s6966mhgr9n6sdqmhz6lc4nm";
     };
   };
 
@@ -1453,6 +1552,28 @@ let
     };
   };
 
+  kotlin-vim = buildVimPluginFrom2Nix {
+    pname = "kotlin-vim";
+    version = "2019-05-26";
+    src = fetchFromGitHub {
+      owner = "udalov";
+      repo = "kotlin-vim";
+      rev = "b9fa728701a0aa0b9a2ffe92f10880348fc27a8f";
+      sha256 = "1yqzxabhpc4jbdlzhsysp0vi1ayqg0vnpysvx4ynd9961q2fk3sz";
+    };
+  };
+
+  lalrpop-vim = buildVimPluginFrom2Nix {
+    pname = "lalrpop-vim";
+    version = "2017-11-22";
+    src = fetchFromGitHub {
+      owner = "qnighy";
+      repo = "lalrpop.vim";
+      rev = "7073eec8efdeff37cacd4bca378c28dad02c3c14";
+      sha256 = "1xx6hlgrdbnk3d6rsn4jzbaqwankvnnmj4iilakaazddfaa0l6rr";
+    };
+  };
+
   LanguageClient-neovim = buildVimPluginFrom2Nix {
     pname = "LanguageClient-neovim";
     version = "2018-08-07";
@@ -1488,34 +1609,56 @@ let
 
   lean-vim = buildVimPluginFrom2Nix {
     pname = "lean-vim";
-    version = "2017-05-03";
+    version = "2019-10-04";
     src = fetchFromGitHub {
       owner = "leanprover";
       repo = "lean.vim";
-      rev = "2ebb71d95c072f8604385dab58398b2107337e63";
-      sha256 = "0rvvicw8ldaskwar5219aag93xa3qp3nqld5ddb70c6hq3bmwrnz";
+      rev = "2ace010eb32603a65af7921954a0594a02523c6b";
+      sha256 = "0wq2lw4xx2qhz1xii9g7i6wz0y43b2icqrm6ypr9jmaac1rhiq7c";
+    };
+  };
+
+  lessspace-vim = buildVimPluginFrom2Nix {
+    pname = "lessspace-vim";
+    version = "2019-09-12";
+    src = fetchFromGitHub {
+      owner = "thirtythreeforty";
+      repo = "lessspace.vim";
+      rev = "dc05cf6c3b67e3f8c87da2e565c5524872526316";
+      sha256 = "154x6i2ncmcbc3snkzdcggq5m5zvlbjyry5lvr6n4qcvf65z5z44";
+    };
+  };
+
+  lexima-vim = buildVimPluginFrom2Nix {
+    pname = "lexima-vim";
+    version = "2019-07-22";
+    src = fetchFromGitHub {
+      owner = "cohama";
+      repo = "lexima.vim";
+      rev = "aa32e972b69230625989daa09ee5fd74a2d877ef";
+      sha256 = "15cc09vb0yrasz76qkcqxhj95y1m6yrsx3wsn6khx39kp1bas0jd";
     };
   };
 
   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-02";
+    version = "2019-12-29";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "8adf0b269a1732b43644e2f6083113a4d5704a8b";
-      sha256 = "0na11kdp2nksyg1whf89sa4ss909srdqp94i28m5fdngv3z46wqs";
+      rev = "6e60e3a6575449e08feb27fb3528b55e71fd56e3";
+      sha256 = "054wxj8f23ddqs3mp8rvw2lsplqfyn352zcq6biywbybjm2xphf7";
     };
   };
 
@@ -1532,12 +1675,12 @@ let
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
-    version = "2019-09-09";
+    version = "2019-12-27";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "c9ab296e856bed4e694180efb6ffb692cf18ed8f";
-      sha256 = "1sw71fyihcyjb6vlwzw5wah6q1dz2mfcswm594wrdkjxm71i0c0d";
+      rev = "f4fa096a67afbe593bd53cf618850c32512b5d47";
+      sha256 = "0qrz4nwb4imnxiqk3p1r4sxib1gjicpsr3g6l8mdgw806l1jc9mg";
     };
   };
 
@@ -1574,6 +1717,17 @@ let
     };
   };
 
+  mattn-calendar-vim = buildVimPluginFrom2Nix {
+    pname = "mattn-calendar-vim";
+    version = "2019-11-24";
+    src = fetchFromGitHub {
+      owner = "mattn";
+      repo = "calendar-vim";
+      rev = "de499b9525490b10edbd28fb8f0c4e81c6a6f20c";
+      sha256 = "0xvvkq9zckmv9pnzvxg71fblly8lksfi736brbcwcvnszqif4b69";
+    };
+  };
+
   mayansmoke = buildVimPluginFrom2Nix {
     pname = "mayansmoke";
     version = "2010-10-18";
@@ -1598,12 +1752,12 @@ let
 
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
-    version = "2019-07-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2";
-      rev = "53b6531769e43c7e3c9051e3a12ab31e3e06a422";
-      sha256 = "1kf2gfcw0wmyib72na3j2dsw6q4qff1r9lvdbk7cm7iclhwylhma";
+      rev = "a6ab1a4d17a295dae5446382a45c9ea3b2936f1e";
+      sha256 = "1abxy7p0b6y2zvi7lmdhgkyl1ws281n3dsfk15lkg9j0sk51j06l";
     };
   };
 
@@ -1620,12 +1774,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";
     };
   };
 
@@ -1675,34 +1829,34 @@ 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";
     };
   };
 
   neco-syntax = buildVimPluginFrom2Nix {
     pname = "neco-syntax";
-    version = "2017-10-01";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-syntax";
-      rev = "98cba4a98a4f44dcff80216d0b4aa6f41c2ce3e3";
-      sha256 = "1cjcbgx3h00g91ifgw30q5n97x4nprsr4kwirydws79fcs4vkgip";
+      rev = "6c3862ac82d2c917fa8b4126832de7d3a909f1fe";
+      sha256 = "1kmzlz6c5bs7f4dxgrdn4azwh55k6ghhyzy8jjdgj0wsb309y92k";
     };
   };
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2018-10-30";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "4c0203b44f8daa7e2f72e2514488d637e8a766a4";
-      sha256 = "03v3h2ks6y9pl960lnvzxlfhnn6l2pcn6d6012znw2wqpralrjq2";
+      rev = "5be295ef60f0e3234164ef822a7471389a7035c5";
+      sha256 = "1y73hyb82vs3wcbv02k9n4krvmyn1yhp1mh88jslhcniql2nnj2a";
     };
   };
 
@@ -1719,23 +1873,23 @@ let
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark-vim";
-    version = "2019-06-15";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "eeafb097ad5d9aa9db4ba43b8556306da9e3329f";
-      sha256 = "0n34980wdvxrgymnb0xgdy01mv201643xijr9czi0pf1hvfsbd70";
+      rev = "44919aa0bebfa60e93e653fdd2a81d1c75c2e721";
+      sha256 = "1wz9ygfdg59jwi19l9njcxknf77azlx5nkf5q0ghk6zyv1mqwvc1";
     };
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-08-26";
+    version = "2020-01-05";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "eb94d083bc0c9a4e4bec8a205fc65f6a464bd0f7";
-      sha256 = "1va2dvqjjlcyl2in9wjh6c8gmnxlnl13j7gmf2g37j6jm28l16r9";
+      rev = "b7ccdb2a7f9d20a1bbb6a5e4774104eb06969bb9";
+      sha256 = "136qg04z92dnrgbwbjlc06qcd656sc004hznxdaic3pyq3lh25z4";
     };
   };
 
@@ -1752,12 +1906,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-09-19";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "ba38b8786ce68c36fc3cd2139a7820b25bea378a";
-      sha256 = "187zj4ircbbhn7gp3gabzrcnld3mz5g76ibp4wbcxngml60hhk9r";
+      rev = "212c0d8b05ee65b9be77675db147d05abd323a46";
+      sha256 = "0fjmrnmnqjb1r4cxbrlxwpwbm7jgs47wx6pql565946adv5bckh2";
     };
   };
 
@@ -1774,23 +1928,23 @@ 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";
     };
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2019-09-14";
+    version = "2019-12-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "3838f45930e8d6c05807c925350585c48bd21a4b";
-      sha256 = "1m6skrdjr6d1waxarxch2hn7416q9r13yan1bd7qx2w5gika606a";
+      rev = "6cccbd41851f3d8f47c5e225d552a217cede4f3f";
+      sha256 = "0jrdya11fzis746x1s802g2w20v47dhaxlmczb2fv4x3fxfwql5p";
     };
   };
 
@@ -1807,12 +1961,23 @@ let
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2019-09-21";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "f6c22fda80455b52957b3fd11d94acc44db21250";
-      sha256 = "1r1fx958qhbs8xq31wrp5jyfvqjrs611xywv7avpwy9991rh33xv";
+      rev = "9f0e71200274fc7906df1284d18d43c127214c2c";
+      sha256 = "0shg7a66w8l6g872fgpf59sialc8gs3nx9h1awgngy0kk0m17ilq";
+    };
+  };
+
+  neovim-fuzzy = buildVimPluginFrom2Nix {
+    pname = "neovim-fuzzy";
+    version = "2019-11-14";
+    src = fetchFromGitHub {
+      owner = "cloudhead";
+      repo = "neovim-fuzzy";
+      rev = "53383395befafce802c902c21b54847074454491";
+      sha256 = "064qi6zv2hrzn91pvr31b9zj2q0k9vbkk5csdhw5y52q26p1gakq";
     };
   };
 
@@ -1829,34 +1994,34 @@ let
 
   neoyank-vim = buildVimPluginFrom2Nix {
     pname = "neoyank-vim";
-    version = "2019-03-27";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoyank.vim";
-      rev = "6a41fd651c00b1ff6a6298cb2be088e8d27d3629";
-      sha256 = "1p084xbycwkghfih41z1sc6nn2xi7471vj8zgc9jgw0qkxbmbcnn";
+      rev = "1829c6e426f829edea46660d0db08d4488010fcd";
+      sha256 = "1y6fvxqpj3rwf1fmjib177lqzh3z7syp7bccn79g1j8177m515w6";
     };
   };
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2019-09-20";
+    version = "2019-12-30";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "50f307bbf68e7402a1564689910ec65ae7ab1781";
-      sha256 = "0f3b9vx3lvq8612k1qnsdzbwp2drvy1vj3xqfxvxpzzsay10qcb1";
+      rev = "24df32304e20677ab061115e7bc8a37f382c60e9";
+      sha256 = "00w46597m8xsdksm2smqmslxk6ydnig4ycwn4fn0ybrlmyalclhi";
     };
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-09-15";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "9193962ad88f15d9f426c3cfb8a274ff1dd0c5b2";
-      sha256 = "1mgi6k3q46za4c8z9nc4rn6pcj4bc9pkvfqbzymwn03pj4r6n8yp";
+      rev = "8a14891241e3468f9c13deaa6cf88aebe53b519f";
+      sha256 = "033qnzna0awys5w5wf9sj2gydm433l1919zz9cm984l0nmgmkp29";
     };
   };
 
@@ -1884,12 +2049,12 @@ let
 
   nord-vim = buildVimPluginFrom2Nix {
     pname = "nord-vim";
-    version = "2019-05-25";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "arcticicestudio";
       repo = "nord-vim";
-      rev = "9f7ce848723f69e33792e5606091bbfd5739d253";
-      sha256 = "1n6kdnll5jh92kfbwwm8544mpp7c2awqsaps91agqjd3nwa5x27x";
+      rev = "f06189a4c054fe8c22e46aca4d451e03456f2283";
+      sha256 = "0gk4zq0gz3nnwfkldswg9bjpk0gf6d6mgfzcgvj0pnlbja6ass81";
     };
   };
 
@@ -1926,25 +2091,47 @@ let
     };
   };
 
+  nvim-lsp = buildVimPluginFrom2Nix {
+    pname = "nvim-lsp";
+    version = "2020-01-05";
+    src = fetchFromGitHub {
+      owner = "neovim";
+      repo = "nvim-lsp";
+      rev = "7a15a52c0a7d735625ac73dc4d8efe70c5e99707";
+      sha256 = "1wpp54gvb90qhgnxmp3fvfc3dbkdxk3q712c7wyd9alpbk4608fk";
+    };
+  };
+
+  nvim-terminal-lua = buildVimPluginFrom2Nix {
+    pname = "nvim-terminal-lua";
+    version = "2019-10-17";
+    src = fetchFromGitHub {
+      owner = "norcalli";
+      repo = "nvim-terminal.lua";
+      rev = "095f98aaa7265628a72cd2706350c091544b5602";
+      sha256 = "09hass19v3wrqgxjcr3b59w462lp2nw533zwb1nnmiz99gx1znpx";
+    };
+  };
+
   nvim-yarp = buildVimPluginFrom2Nix {
     pname = "nvim-yarp";
-    version = "2019-05-21";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-yarp";
-      rev = "8fcb1af27772174df5446d49de29052cac47e46f";
-      sha256 = "0ya3xgbnpps6s67rxfwpcfv39micl1d2wblzb7xvs1pmsymwbj0r";
+      rev = "83c6f4e61aa73e2a53796ea6690fb7e5e64db50a";
+      sha256 = "0yswx77gwxsac4aw2hkx0krjz4jh7pj5bgpvshynj5dlp34ip0m0";
     };
   };
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev-nvim";
-    version = "2019-09-03";
+    version = "2019-10-09";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "83c2a2aab7f2f7ae8c004c52aaddc8b15065ba90";
-      sha256 = "0i0ds5mfx2k03ivncw795xr3p9iig1b4pqj4mbr7b7hs3984jh08";
+      rev = "994ff5daf571ad02cc96436002411b4fb235c91f";
+      sha256 = "07dx6qkxqpakl1hrqwhfjgdzcnl4j3j9qih0l20qn8p6askj3b2j";
     };
   };
 
@@ -1959,25 +2146,58 @@ let
     };
   };
 
+  open-browser-github-vim = buildVimPluginFrom2Nix {
+    pname = "open-browser-github-vim";
+    version = "2019-10-17";
+    src = fetchFromGitHub {
+      owner = "tyru";
+      repo = "open-browser-github.vim";
+      rev = "b252c5cf717865b61945f5c7fad0fb950a947db8";
+      sha256 = "1n562h3g7ri4ifcbfzjiz2yq0a5v9aad3di24xc3kriz4pwlkgbr";
+    };
+  };
+
   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";
+    };
+  };
+
+  palenight-vim = buildVimPluginFrom2Nix {
+    pname = "palenight-vim";
+    version = "2019-08-21";
+    src = fetchFromGitHub {
+      owner = "drewtempelmeyer";
+      repo = "palenight.vim";
+      rev = "139f5b929a8be2530c7386a5b4610d4459941199";
+      sha256 = "061iqgw9kzpsni9159bd8hllpkdmnrjbzpi9phy91l9klnja2cam";
     };
   };
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2019-07-07";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "20f3b25cdd772d4483eb8ced453f94f93b6126e1";
-      sha256 = "1yck7f48v9rz7wq2q2b372bv07qmpj562ncwfdiavsgy6wms3p4b";
+      rev = "ddd09867ed4e020b3ba2eb47dc3ef365da5b0fed";
+      sha256 = "1dhbnd99xs6l5alqhn9m1nynmr9sbvrqj2137l23ysisprl3rgmr";
+    };
+  };
+
+  pear-tree = buildVimPluginFrom2Nix {
+    pname = "pear-tree";
+    version = "2019-12-08";
+    src = fetchFromGitHub {
+      owner = "tmsvg";
+      repo = "pear-tree";
+      rev = "3bb209d9637d6bd7506040b2fcd158c9a7917db3";
+      sha256 = "0n70rzw34lsnnprqna90ssqrka33qx3z0n2kj19ps8yp3j6lsxvk";
     };
   };
 
@@ -2003,6 +2223,17 @@ let
     };
   };
 
+  plantuml-syntax = buildVimPluginFrom2Nix {
+    pname = "plantuml-syntax";
+    version = "2019-11-06";
+    src = fetchFromGitHub {
+      owner = "aklt";
+      repo = "plantuml-syntax";
+      rev = "82ff416ce99cc9f69b1af54b8832eaf6cdbeaea6";
+      sha256 = "1297h9jipfx2xw5dqh1286g2syv5c18g15644lqn11s62skqxd16";
+    };
+  };
+
   pony-vim-syntax = buildVimPluginFrom2Nix {
     pname = "pony-vim-syntax";
     version = "2017-09-26";
@@ -2025,6 +2256,17 @@ let
     };
   };
 
+  prev_indent = buildVimPluginFrom2Nix {
+    pname = "prev_indent";
+    version = "2014-03-08";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "prev_indent";
+      rev = "79e9b1b9a6895bfd15463c45595ca599987a4b23";
+      sha256 = "03xqdwfkc7a84742ldsggi7ix99c7dhpmg6j13gkasyfk487ryh6";
+    };
+  };
+
   psc-ide-vim = buildVimPluginFrom2Nix {
     pname = "psc-ide-vim";
     version = "2019-09-17";
@@ -2058,14 +2300,25 @@ let
     };
   };
 
+  quick-scope = buildVimPluginFrom2Nix {
+    pname = "quick-scope";
+    version = "2019-04-22";
+    src = fetchFromGitHub {
+      owner = "unblevable";
+      repo = "quick-scope";
+      rev = "994576d997a52b4c7828149e9f1325d1c4691ae2";
+      sha256 = "0lr27vwv2bzva9s7f9d856vvls10icwli0kwj5v5f1q8y83fa4zd";
+    };
+  };
+
   quickfix-reflector-vim = buildVimPluginFrom2Nix {
     pname = "quickfix-reflector-vim";
-    version = "2018-08-12";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "stefandtw";
       repo = "quickfix-reflector.vim";
-      rev = "c76b7a1f496864315eea3ff2a9d02a53128bad50";
-      sha256 = "02vb7qkdprx3ksj4gwnj3j180kkdal8jky69dcjn8ivr0x8g26s8";
+      rev = "8e9c05a110b80ab66fc8bc3d5fe9e6fa168aada6";
+      sha256 = "1i8453z3s0xmbmbzk3kpxwvd42ar9v2m2gjqic9k7njpxw87czvs";
     };
   };
 
@@ -2082,12 +2335,12 @@ let
 
   rainbow = buildVimPluginFrom2Nix {
     pname = "rainbow";
-    version = "2019-05-08";
+    version = "2019-10-09";
     src = fetchFromGitHub {
       owner = "luochen1990";
       repo = "rainbow";
-      rev = "04b7723b810f24152865af656c46e8513489b77a";
-      sha256 = "08qzcy06kr96dj91cdqzp5yn3zjpfcv9miywa6zxvir8vbfkv21d";
+      rev = "c876f4bc6e737241d53669415f88cb5f2afd8ad9";
+      sha256 = "1kmgm91q507qv9bvg37dn0lddzb8gwkmslajampnfjyfhbs0shgz";
     };
   };
 
@@ -2126,12 +2379,12 @@ let
 
   readline-vim = buildVimPluginFrom2Nix {
     pname = "readline-vim";
-    version = "2019-08-24";
+    version = "2019-12-28";
     src = fetchFromGitHub {
       owner = "ryvnf";
       repo = "readline.vim";
-      rev = "40964933819e2a719e6e34adcf3e8b2210c5c6ce";
-      sha256 = "1jc8lzl49nl7r3v1b7fk6zpiba41h51qsi2w4lhf8v6lnzbazii7";
+      rev = "48f04c651728e8a7a8352eec697801aa32348564";
+      sha256 = "1vs91lkm9gwvp0bahx80ag6lw03r5x6kyih70l4sq8q0kydp5f13";
     };
   };
 
@@ -2203,12 +2456,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2019-09-20";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "d0456774a8a9616fea9df66e5131d6428450ebed";
-      sha256 = "1zbd7gbiyx1lmr8kg70xwad88rrs18q7rgy7yv85l57zs71ffnib";
+      rev = "05f98470e55722aaf9b1a1ef1eb272f2d95e349d";
+      sha256 = "0hg8jmbybhfaiiwzm4rh7m706mwvzkyk1vzg8jxq8653cbbjfzib";
     };
   };
 
@@ -2225,23 +2478,23 @@ let
 
   semshi = buildVimPluginFrom2Nix {
     pname = "semshi";
-    version = "2019-09-15";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "numirias";
       repo = "semshi";
-      rev = "ca6b2c16dd374d672861b2c73c33f41c88e5cb39";
-      sha256 = "0nmywnfs8rm6vlcyycnk1zvpp044n1d714xw5sn4qpw4gz1acbm7";
+      rev = "801d0c971d3d7291cf2fc22d74ac69155a71a279";
+      sha256 = "0adq1qxlxd53ps5byjvqmzk266f3wbvqmw74dkx6vd41zqw38wfx";
     };
   };
 
   seoul256-vim = buildVimPluginFrom2Nix {
     pname = "seoul256-vim";
-    version = "2017-09-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "seoul256.vim";
-      rev = "1475b7610663c68aa90b6e565997c8792ce0d222";
-      sha256 = "03gqw14f5cirivcg1p06g500ns066yv5rd0z3zikvn4ql7n278dk";
+      rev = "b68f4032c49b64065072b449dc0f0f1f30616d8d";
+      sha256 = "0bxw0ks5gndzrgixa6xqhnf78b7n75w2jnc3s6bv75lz0fn0gypx";
     };
   };
 
@@ -2278,6 +2531,17 @@ let
     };
   };
 
+  smartpairs-vim = buildVimPluginFrom2Nix {
+    pname = "smartpairs-vim";
+    version = "2018-01-01";
+    src = fetchFromGitHub {
+      owner = "gorkunov";
+      repo = "smartpairs.vim";
+      rev = "dc754c29509b1a942552b3cfa348e4aae209322c";
+      sha256 = "1pyynwz7wfbgccdxsyggzl0301qjj3wgyymah5spx8b3s42a6slj";
+    };
+  };
+
   sourcemap-vim = buildVimPluginFrom2Nix {
     pname = "sourcemap-vim";
     version = "2012-09-19";
@@ -2291,12 +2555,12 @@ let
 
   SpaceCamp = buildVimPluginFrom2Nix {
     pname = "SpaceCamp";
-    version = "2019-08-12";
+    version = "2020-01-05";
     src = fetchFromGitHub {
       owner = "jaredgorski";
       repo = "SpaceCamp";
-      rev = "9f7bee325f32db1ee509b82e5144df522fa2aca2";
-      sha256 = "1i9kyipnd7fkv7vdlwpsb44h0yzvf0rjrwrj09w8bj2lqmcv8yjp";
+      rev = "c09ffbbf54b4c25996f864b0f75ebc7a1fca6919";
+      sha256 = "1sn952wil99jqc3r9hr017604s6gb99jwwmbldmkdh9qcr03kjvm";
     };
   };
 
@@ -2335,12 +2599,23 @@ let
 
   splice-vim = buildVimPluginFrom2Nix {
     pname = "splice-vim";
-    version = "2017-09-03";
+    version = "2019-12-23";
     src = fetchFromGitHub {
       owner = "sjl";
       repo = "splice.vim";
-      rev = "b31cb25eea8a92a037e9da9a98b2e6147294c37d";
-      sha256 = "0mqnrmkyms2z5lqy90cy076x3fr9xmd63962wd8n6n6mbin97ihx";
+      rev = "fb0d7052e5569f59cb94f0e4303307affdd0e271";
+      sha256 = "1vxxlh88dxmrsfr8w87395h84hgflcgaj6s35vjg34464xzsdn8s";
+    };
+  };
+
+  split-term-vim = buildVimPluginFrom2Nix {
+    pname = "split-term-vim";
+    version = "2018-09-30";
+    src = fetchFromGitHub {
+      owner = "vimlab";
+      repo = "split-term.vim";
+      rev = "a4e28cab77ad07fc8a0ebb62a982768c02eb287c";
+      sha256 = "12vrmbq1r8d6sgyxjwi0s856n1v4vjhrf8wpwq6l4ydmk1bnvjkb";
     };
   };
 
@@ -2379,23 +2654,23 @@ let
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift-vim";
-    version = "2019-07-09";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "d3d66151598b5d6dda159524baa9c66b3d1bf5ad";
-      sha256 = "0pq4nwdhnw3qzz3xaz9fpbf3p0l6vrmjkqj4lrfymafbmxc94j6w";
+      rev = "245e5f7aae6f1bc96849a0a01a58cb81cf56e721";
+      sha256 = "0hj7ln0qvfpb0pmvkzj21zd8a2zribdahwwl4rn1yn8skclcq149";
     };
   };
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-07-20";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "0336c35c0b10b46d85cdd9c3df721f978429e82c";
-      sha256 = "1ylg8qlndz9981k48alhfh0m2cl8wxwmgfv0pqkvhpyqypd5rk2c";
+      rev = "39b35b23b952d620b8ec7cabb13110f586663837";
+      sha256 = "1nc3019c969ms6m0hrj5k1kggcvsywn6j7kz0scdwzvfd6bcla6h";
     };
   };
 
@@ -2434,12 +2709,12 @@ let
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2017-12-17";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "majutsushi";
       repo = "tagbar";
-      rev = "387bbadda98e1376ff3871aa461b1f0abd4ece70";
-      sha256 = "130rxvlkqzlqh09w6fpmq7x3b7s4s56qxly9m4jh6s2jrab1cxak";
+      rev = "3753b235a1163cfbc3b7c417825d1910b2f66100";
+      sha256 = "16nw145n17d9fnwhcp42k85sf2mx2nyp7wy4gllhw48xnwgh6qpb";
     };
   };
 
@@ -2456,23 +2731,23 @@ let
 
   targets-vim = buildVimPluginFrom2Nix {
     pname = "targets-vim";
-    version = "2019-05-21";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "targets.vim";
-      rev = "a79447f261e4b8b4327557aa03726f3849334b84";
-      sha256 = "0x6a9rmv220kncjgak6aw3gbf3sidnj6nijphnsm5360lvi3ck4w";
+      rev = "8d6ff2984cdfaebe5b7a6eee8f226a6dd1226f2d";
+      sha256 = "192wq3x64x11nm2jhs4yrc627b0lh002dfnj72xrc7jak9vbdps9";
     };
   };
 
   tcomment_vim = buildVimPluginFrom2Nix {
     pname = "tcomment_vim";
-    version = "2019-08-11";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tcomment_vim";
-      rev = "c9cecefc639b6019e0f12b7e9fb5a2375cd550c1";
-      sha256 = "0xb61wchvj1iqzwxzscv3zwbsx1qjh8qhkmijsrjz92566g12xhy";
+      rev = "239c0c08d3e691a2c447278b88de91b602fa50bd";
+      sha256 = "1v2v6zp59mblz7dj5fad640qsz92dgjsb2qzir42df2h86qx0zwa";
     };
   };
 
@@ -2498,6 +2773,17 @@ let
     };
   };
 
+  thesaurus_query-vim = buildVimPluginFrom2Nix {
+    pname = "thesaurus_query-vim";
+    version = "2019-11-09";
+    src = fetchFromGitHub {
+      owner = "ron89";
+      repo = "thesaurus_query.vim";
+      rev = "830a20ec77780ebfe8d2a7e8c740ca4abb079f89";
+      sha256 = "0kfqpjwashwf084cbz6dmhirk42a4n8d1zj17i086by17nx7qn1g";
+    };
+  };
+
   thumbnail-vim = buildVimPluginFrom2Nix {
     pname = "thumbnail-vim";
     version = "2017-04-24";
@@ -2511,34 +2797,46 @@ let
 
   tlib_vim = buildVimPluginFrom2Nix {
     pname = "tlib_vim";
-    version = "2019-04-27";
+    version = "2019-09-28";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tlib_vim";
-      rev = "19c98450af64fd9d875e009e0868cb119db01755";
-      sha256 = "0b95rvlfiiqh3lbmb8kmhq77iyvgsg1ayxp64fdn5809sj4avl79";
+      rev = "a071b6d41b20069a3520e0d101194a752968973b";
+      sha256 = "05swfvjyai32cbdpg10m3k2frkv017i1avf0nzilqavskvg04vi3";
     };
   };
 
   tmux-complete-vim = buildVimPluginFrom2Nix {
     pname = "tmux-complete-vim";
-    version = "2019-05-13";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "tmux-complete.vim";
-      rev = "897aaecdffd0133548ea7f8b5d76472236322ab6";
-      sha256 = "0iazphx5708hwpzyys7mx7hilkrarh7g5251j18m1pg5smbbfjvr";
+      rev = "7237d8d8d60af7916e3b546a9f4f396df95a1b21";
+      sha256 = "05ypjahaf7gk4vjc8hhglmw7y8vyjxyhxq8sm0s3np05aw0gdbsc";
+    };
+  };
+
+  todo-txt-vim = buildVimPluginFrom2Nix {
+    pname = "todo-txt-vim";
+    version = "2016-11-10";
+    src = fetchFromGitHub {
+      owner = "freitass";
+      repo = "todo.txt-vim";
+      rev = "6845221d45bd62e604c2024bc511a56e79d1118b";
+      sha256 = "08m9q5f2pz6gjp0vkmm7glfsrbnldxi1j59dm5d7any6y96xxd6v";
+      fetchSubmodules = true;
     };
   };
 
   traces-vim = buildVimPluginFrom2Nix {
     pname = "traces-vim";
-    version = "2019-07-20";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "6c82275b8cd4c70e0610fd87f0574ef2463952a6";
-      sha256 = "1pms2bm4g0v0idkva1f9bdcbbwvs6fhbzzx90zdyyhs73xp62k9k";
+      rev = "393b3d0d55b951ad8d28f63f0e28c48e25ff48e4";
+      sha256 = "1hwn530p6zcjhk2lcmiqgrahxmp9hkwbzjbz4vnqdf1j6w9aqrwp";
     };
   };
 
@@ -2566,23 +2864,23 @@ let
 
   typescript-vim = buildVimPluginFrom2Nix {
     pname = "typescript-vim";
-    version = "2019-06-23";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "5a319ea5504e18215d155576c78d1b7fb8e22c8f";
-      sha256 = "1hz42blc1sshkms9ramdhzwnphqs26p83q8smw5y14blp1zdb628";
+      rev = "616186fd8a04afa32bae8dc0b70ab7f9cdb427fd";
+      sha256 = "0mq6yxq5ais47ib0ifvdl3qi4c4wz0jwzqsz5djb616xfnmp8ysx";
     };
   };
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2019-05-05";
+    version = "2020-01-01";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "1a99766b73783bafb08cfa07d7e29e5387c55189";
-      sha256 = "08vxvx6fabqg725jv7cbdickrxlcw45885jai0hhgclm4hfqvawx";
+      rev = "96026a4df27899b9e4029dd3b2977ad2ed819caf";
+      sha256 = "1lp6rggsdq7hhis02yyzb79y30g3f7zcydwsi0hjpnnrwvani6s3";
     };
   };
 
@@ -2599,12 +2897,12 @@ let
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode-vim";
-    version = "2019-06-04";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "29f43f7b1be94dccfac461f4da0a34410408111f";
-      sha256 = "1wr0gq008jzlaignlkr706z5cjrdb6cc16r621zvfjncm9a71pnw";
+      rev = "49f79785e7fba0f40519a6b9074dcceb8626f7d5";
+      sha256 = "1k2b4wh0244dx7zinag88wfcwl2x2042z0zsyv9b77w81h8qfdd1";
     };
   };
 
@@ -2619,6 +2917,28 @@ let
     };
   };
 
+  utl-vim = buildVimPluginFrom2Nix {
+    pname = "utl-vim";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "utl.vim";
+      rev = "67a6506a7a8a3847d00d3af3e2ed9707460d5ce5";
+      sha256 = "0ax68nmzlka9193n2h82qzvhzv4dv6lm7rg3b1vhj2pn1r6ci6p4";
+    };
+  };
+
+  vader-vim = buildVimPluginFrom2Nix {
+    pname = "vader-vim";
+    version = "2019-05-18";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "vader.vim";
+      rev = "de8a976f1eae2c2b680604205c3e8b5c8882493c";
+      sha256 = "1pibls5s74fkzvj7spdpdn2s6zka0zxg4yr02s6jd0bcniq210b5";
+    };
+  };
+
   vCoolor-vim = buildVimPluginFrom2Nix {
     pname = "vCoolor-vim";
     version = "2018-10-06";
@@ -2632,34 +2952,34 @@ let
 
   verilog_systemverilog-vim = buildVimPluginFrom2Nix {
     pname = "verilog_systemverilog-vim";
-    version = "2019-08-25";
+    version = "2019-10-27";
     src = fetchFromGitHub {
       owner = "vhda";
       repo = "verilog_systemverilog.vim";
-      rev = "217b4cfcfbe8633693c9751cf3eeafe8c48e2846";
-      sha256 = "11g2ybrxndssf6g1dxhx68gycfnkv2wmara6h7kwgy0sjn4r413x";
+      rev = "22b3d81f9b7146ddf1bd05c1b2f9407af14d3ed7";
+      sha256 = "12z5a4zkrajzdyf31a5l7hlyif5ywj8pab25x98hwqjs38x8lklf";
     };
   };
 
   vim = buildVimPluginFrom2Nix {
     pname = "vim";
-    version = "2019-07-10";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "86712dc2de083e91a78bddddbb7fe7defe818c79";
-      sha256 = "171fyxv09nikb5w2bmy3j5fmhb7mmqgsmjp9v3mc03hdxbf68kfk";
+      rev = "5a633625615c79f87786d74ea925790ccdd82aba";
+      sha256 = "0ng2qnwccpbqkhqilm7nj61217rvczxfcgkhdsxj3h2v4fj5ryy5";
     };
   };
 
   vim-abolish = buildVimPluginFrom2Nix {
     pname = "vim-abolish";
-    version = "2018-11-25";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-abolish";
-      rev = "b95463a1cffd8fc9aff2a1ff0ae9327944948699";
-      sha256 = "1cvhylz6hgvl63zhlrxqrjqqp07pm29i436xv33dzzhdp8dcj1mp";
+      rev = "7e4da6e78002344d499af9b6d8d5d6fcd7c92125";
+      sha256 = "1n35igng3a6d5y4nh5pyb09s6khgcwbr3v0lnh33qb51cv4cnjh4";
     };
   };
 
@@ -2874,34 +3194,34 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-09-11";
+    version = "2020-01-03";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "89d1d43165c8ef6c029ee0e9590a0d67978a7c97";
-      sha256 = "0nkq6a5r2dx0jqp6ikbzbrvlfgpcn28y5l9b41bfpxkqplh03bhn";
+      rev = "66f77d4a77e54946fedaac7d54d02271751eab40";
+      sha256 = "008k8v0nx219lbn0vsc1cwr537lg0gdb9s4d7hjpdq2rhh79zsg3";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-09-18";
+    version = "2020-01-03";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "0d5c5c1e2995126e76606a628316c8e3f5efb37a";
-      sha256 = "1xra1yiz03pap18hsq00053s42xf185ls9qydrkgpyjypqdnm5bg";
+      rev = "14c3a60ab0f42aa1001d8f32ffaab2c28935a1e7";
+      sha256 = "0k25x599sfaw931p5b83cpqhz5dzjxp01v3qlsi78rhjyw1y83jf";
     };
   };
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2019-07-02";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "94dc352ff8cf0bc5636e548963a7ad99424813ad";
-      sha256 = "0iddlbsqijknxd0dwqz5j6kshs41rpja2kfr9ym9fandh466n3l8";
+      rev = "0849bcb6523d17a753fcaff8d40cbeed2d09cf65";
+      sha256 = "1z3x72aprp950chk754h0qpf5lxh2svzk39flks5fanxaggkpkng";
     };
   };
 
@@ -2916,6 +3236,17 @@ let
     };
   };
 
+  vim-asterisk = buildVimPluginFrom2Nix {
+    pname = "vim-asterisk";
+    version = "2019-09-23";
+    src = fetchFromGitHub {
+      owner = "haya14busa";
+      repo = "vim-asterisk";
+      rev = "7cf0d8f379babbdbf538aefe3af444ac4ba21dce";
+      sha256 = "0y21ziz36sqa84dy9pv2jnr0ppalxn54bsk82zfc6064h3bqn77r";
+    };
+  };
+
   vim-auto-save = buildVimPluginFrom2Nix {
     pname = "vim-auto-save";
     version = "2019-03-19";
@@ -2929,12 +3260,12 @@ let
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2019-09-02";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "2842eb24dc9d3b9a6585a9f744fc0d62f692dabc";
-      sha256 = "1n0l1n5ymr9fgmf4cq42hdnnb4lxdkh9yaxv18gadncchwzp7cvj";
+      rev = "354abcd3d533ba07eebc510102870d85d4e2c466";
+      sha256 = "1hngbjj12q5v73smyhsay4irp3q71cxyc60n97ybfik5mmm455nj";
     };
   };
 
@@ -2962,12 +3293,12 @@ let
 
   vim-better-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-better-whitespace";
-    version = "2019-08-19";
+    version = "2019-10-23";
     src = fetchFromGitHub {
       owner = "ntpeters";
       repo = "vim-better-whitespace";
-      rev = "a05c728a962cdc7285f31ae5814cb64404fa7efc";
-      sha256 = "1aymm36hakvvwhp8bnr0ys2xsadw8b3m8681lir3ymj55vc8cl5y";
+      rev = "166a409f1ddade37d1cfd25ba7c6b60270831a95";
+      sha256 = "0c63sv7vy7yzh8hvy5a5i3amnpk4kklkkm4kimgw2dzm1pqfz5y4";
     };
   };
 
@@ -3015,6 +3346,28 @@ let
     };
   };
 
+  vim-clojure-highlight = buildVimPluginFrom2Nix {
+    pname = "vim-clojure-highlight";
+    version = "2015-07-05";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-clojure-highlight";
+      rev = "9ac6cb8fef04b2c243377adb671324a60952aee0";
+      sha256 = "0fg3faj0fq7b8pqr0i33qdg2xfd5966lrjl1wkq6jcgvdqamhz0y";
+    };
+  };
+
+  vim-clojure-static = buildVimPluginFrom2Nix {
+    pname = "vim-clojure-static";
+    version = "2017-10-23";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-clojure-static";
+      rev = "fae5710a0b79555fe3296145be4f85148266771a";
+      sha256 = "0s98qrhv7xh7bvh8bm1vaxpw3n2mcxayay3k90ibgjrv1jpyvzx7";
+    };
+  };
+
   vim-closetag = buildVimPluginFrom2Nix {
     pname = "vim-closetag";
     version = "2019-02-14";
@@ -3028,12 +3381,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2019-08-14";
+    version = "2020-01-01";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "18f47c3ac563b60f71103b1e1d29b349ff9d8549";
-      sha256 = "0z36jjj1bxb4xz9lyjrbv769797g3x475ncamflfj6yj72vvhfy4";
+      rev = "7556c68b1d68b9a2b1b4a9df838cdc4bcf87ba0a";
+      sha256 = "0bi6nbma0bwzvn7l6w88qgr4fbpfbipv936z346sh59dk17j4nv6";
     };
   };
 
@@ -3094,23 +3447,23 @@ let
 
   vim-commentary = buildVimPluginFrom2Nix {
     pname = "vim-commentary";
-    version = "2018-07-27";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
-      rev = "141d9d32a9fb58fe474fcc89cd7221eb2dd57b3a";
-      sha256 = "0nncs32ayfhr557aiynq7b0sc7rxqwv7xanram53x1wvmfy14zf0";
+      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";
     };
   };
 
@@ -3158,14 +3511,36 @@ let
     };
   };
 
+  vim-dadbod = buildVimPluginFrom2Nix {
+    pname = "vim-dadbod";
+    version = "2020-01-02";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-dadbod";
+      rev = "59cc0a16970b92afa1c99182c60e35e01cdaa409";
+      sha256 = "0v3jhp33058cl7raqp59704m5ljsibpi9vs1hsiwwxf2pgdjii3f";
+    };
+  };
+
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2019-09-17";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "0f9146e9fafe3317693ca214a3f68cd1e036424f";
-      sha256 = "086ng0gja855bmh99qcwwvchwk64dgz1kj1j24yapx2ab314w6g8";
+      rev = "e3e6aa16bfce255e9bca3d117c11f18f36f5c1b3";
+      sha256 = "1p7k20nfxm6jrrlx6dp9cm9bq8jkssh7fyr2y49wnwp652s191gm";
+    };
+  };
+
+  vim-diminactive = buildVimPluginFrom2Nix {
+    pname = "vim-diminactive";
+    version = "2017-08-27";
+    src = fetchFromGitHub {
+      owner = "blueyed";
+      repo = "vim-diminactive";
+      rev = "6f2e14e6ff6a038285937c378ec3685e6ff7ee36";
+      sha256 = "14jf5hh3v2f5wb10v09ygx15pxbwziv20pwv0fqkakxwf0vqwd50";
     };
   };
 
@@ -3182,23 +3557,23 @@ let
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2019-08-27";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "e8a213d9d0a21f03fc03319fa7560521b6cd6928";
-      sha256 = "1vhjlpjjg5bdfcalf10z9gjnrnc98yf5r3ink9dhljj5vnx23zaw";
+      rev = "9c12328df924ddb875ee1e5c9fc0f939b62d6a6c";
+      sha256 = "1kpkwqrhix7whd00pcbanf3ij55x34cqc6qz3r2xshcmydk5vqxn";
     };
   };
 
   vim-dispatch = buildVimPluginFrom2Nix {
     pname = "vim-dispatch";
-    version = "2019-09-20";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "1f39fa150fc9275ff264e1f8807fc6fcbbdae012";
-      sha256 = "0c1492hh0gldjyd8w3wsyz6py7qw4r2idfjh8klkk39pg9aajwjl";
+      rev = "1206e1474fc613caeb1ba56d36b71d7f9f7760ac";
+      sha256 = "15mdn8s9isnscsaggkz552f8hi2yqq9wksymrxkihihv0nwwdgi6";
     };
   };
 
@@ -3213,6 +3588,17 @@ let
     };
   };
 
+  vim-docbk-snippets = buildVimPluginFrom2Nix {
+    pname = "vim-docbk-snippets";
+    version = "2019-09-13";
+    src = fetchFromGitHub {
+      owner = "jhradilek";
+      repo = "vim-snippets";
+      rev = "b8604893f46f6c570a55efff733f0371ac8a805d";
+      sha256 = "1qz3azgzv9718s2a6h8xw5nrvs4j776csmzsn9chvykdpx8rwim1";
+    };
+  };
+
   vim-easy-align = buildVimPluginFrom2Nix {
     pname = "vim-easy-align";
     version = "2019-04-29";
@@ -3237,12 +3623,12 @@ let
 
   vim-easymotion = buildVimPluginFrom2Nix {
     pname = "vim-easymotion";
-    version = "2019-03-23";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "easymotion";
       repo = "vim-easymotion";
-      rev = "85e90c9759e14633d878ed534ef313876ab96555";
-      sha256 = "1n5rlqh685ba96mwi407x3r7vlxd34awlyb2wjmz6j8m0ld3skrq";
+      rev = "83a09a19e7a9c51c6ca2e0f90f1dd27ef4c159c6";
+      sha256 = "1xaliyiv80vcsl5gqj40avgdf4384d5xhnvhh0jaklk1hmrdzxgf";
     };
   };
 
@@ -3270,23 +3656,45 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2019-09-06";
+    version = "2019-11-03";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "vim-elixir";
-      rev = "e8d59d115c8153a7de9872b3c4419f2354c0f14b";
-      sha256 = "1q6bk8rqsdwgbyckwdnq4kv6gy5wjqrhdm06sip5x53mnkhmpf5p";
+      rev = "057ac39b5982a2decf52d48cffc405ff6a666ca5";
+      sha256 = "1mzdjqh99cyixngy9y38fdgs2bzni4pgrk14y8f72vlc0di0fg5d";
+    };
+  };
+
+  vim-elm-syntax = buildVimPluginFrom2Nix {
+    pname = "vim-elm-syntax";
+    version = "2019-11-28";
+    src = fetchFromGitHub {
+      owner = "andys8";
+      repo = "vim-elm-syntax";
+      rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5";
+      sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx";
+    };
+  };
+
+  vim-endwise = buildVimPluginFrom2Nix {
+    pname = "vim-endwise";
+    version = "2019-11-13";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-endwise";
+      rev = "bf90d8be447de667f4532b934d1a70881be56dd8";
+      sha256 = "1czx891via5783yk222mhki94wvq75hxxp1xk1d5m90vwqb3azfn";
     };
   };
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2019-04-13";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "e066a0999e442d9d96f24ad9d203b1bd030ef72e";
-      sha256 = "12n7fzgppiwqhqnxlbxmky1m1flb82kr4zlyggysgzz1lqb122zf";
+      rev = "75efe06ccc63b7cd50b193b99cce83e3ad3e60cb";
+      sha256 = "0yjsk6amlbgdbp95h8fp4x1hf9gmrfgrvz9gizyh08xdrb7pbpdw";
     };
   };
 
@@ -3323,14 +3731,25 @@ let
     };
   };
 
+  vim-fetch = buildVimPluginFrom2Nix {
+    pname = "vim-fetch";
+    version = "2019-04-03";
+    src = fetchFromGitHub {
+      owner = "wsdjeg";
+      repo = "vim-fetch";
+      rev = "76c08586e15e42055c9c21321d9fca0677442ecc";
+      sha256 = "0avcqjcqvxgj00r477ps54rjrwvmk5ygqm3qrzghbj9m1gpyp2kz";
+    };
+  };
+
   vim-fireplace = buildVimPluginFrom2Nix {
     pname = "vim-fireplace";
-    version = "2019-09-01";
+    version = "2019-12-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
-      rev = "ea9fa306a731a105511cc5faecbaf7d58c94dfcf";
-      sha256 = "1l1wzgr4ly25yablz299pfrgl47ys51hljhhzcfdivvkrrzjpdd5";
+      rev = "63d7209ff4f17d4bdc30f3478986b5bd44a47a3e";
+      sha256 = "1n0p70w0qmbxffchxsmklraxqrzg1q6bwnp4qhy0xjcz89p3fzx5";
     };
   };
 
@@ -3347,12 +3766,12 @@ let
 
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
-    version = "2018-08-15";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
-      rev = "66abd2fc519f4339ec751874279c14da7833dd99";
-      sha256 = "0ijfa076a5jr6gi11j2zcgh5c7kj0vlwipzk1myjc1a77pss7nlg";
+      rev = "e522bd0ffb0e329f695ead7d4288a6245ff22410";
+      sha256 = "0vqkdzd7b204kbinn12jk306kc9bn2f0yaifj49swd0g8hv6dk4b";
     };
   };
 
@@ -3367,14 +3786,36 @@ let
     };
   };
 
+  vim-flatbuffers = buildVimPluginFrom2Nix {
+    pname = "vim-flatbuffers";
+    version = "2018-10-11";
+    src = fetchFromGitHub {
+      owner = "dcharbon";
+      repo = "vim-flatbuffers";
+      rev = "ecd75c33576d982f3c83545dff7b3c9245285e75";
+      sha256 = "1mfi9als56cpfsz3s91hg3lci8zn7pr9s0l690wqh40vh57d1gxm";
+    };
+  };
+
   vim-flutter = buildVimPluginFrom2Nix {
     pname = "vim-flutter";
-    version = "2019-07-08";
+    version = "2019-09-29";
     src = fetchFromGitHub {
       owner = "thosakwe";
       repo = "vim-flutter";
-      rev = "7f12c91b9f3789ab3559eeed9ed8905afcca6dfb";
-      sha256 = "07hx5hdqw0scgviqn92xjx8zcfl4ils94cdsp9jh2h98jqhcic1p";
+      rev = "030a4e609f8f38922fa4ec9a27836d9dabaae957";
+      sha256 = "0jibmr0v0pqml1cprs3qmkhhmacpb2bwpk8lhaz4dzp8jlga9g00";
+    };
+  };
+
+  vim-fsharp = buildVimPluginFrom2Nix {
+    pname = "vim-fsharp";
+    version = "2018-11-13";
+    src = fetchFromGitHub {
+      owner = "fsharp";
+      repo = "vim-fsharp";
+      rev = "012d98c981139976551a4d9779f5cce7f8d84d5c";
+      sha256 = "0ds300kjhm352ni3fwivsrnc9ls021d2x29f4cdszillamcgs7pw";
     };
   };
 
@@ -3391,12 +3832,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-09-19";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "1d8c0a38b2fc4ce9ca4204676573b6335725ff75";
-      sha256 = "0ln11qdpsssgqd122zldfmjvwyvxild8a0yxgdazp720dypkvgjm";
+      rev = "ddd64fc4c5c5365d56478f100f19898375244890";
+      sha256 = "1b6mw8bb8dc46vjz5qb2v0n5kfvwz4hk7q0frflrsyc6z3pw7hab";
     };
   };
 
@@ -3413,12 +3854,12 @@ let
 
   vim-gista = buildVimPluginFrom2Nix {
     pname = "vim-gista";
-    version = "2017-02-20";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "vim-gista";
-      rev = "b6cd41d0eb480cd79e84f3da3703613d0cf94a6c";
-      sha256 = "0bkzbppd3jdci4yvifb4sh05q20qn8cr3j9kqhxyc703s0l0lk2s";
+      rev = "af13c0062a46d73384f15abee5a54e164fcaad8e";
+      sha256 = "0f3pxahsaj37iln1k3289h7pj7z4fm0z3vfd0szf1spv3hzcjapd";
     };
   };
 
@@ -3435,12 +3876,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2019-09-19";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "76aa5920dba9b05991940f7dc29dc79ad7af0a3e";
-      sha256 = "0yazz5aqyfkwhx2x44pp8x81wswrh7sjgslbimwa9d67yvnh0bz6";
+      rev = "1c53af9a0d3b622af5a62d69ddfc141c841a28c1";
+      sha256 = "0269cjkcx4arq7phyqv80ziafg5p1in5ci7207svixbfdg5hlmfs";
     };
   };
 
@@ -3457,23 +3898,23 @@ let
 
   vim-glsl = buildVimPluginFrom2Nix {
     pname = "vim-glsl";
-    version = "2017-10-15";
+    version = "2019-11-01";
     src = fetchFromGitHub {
       owner = "tikhomirov";
       repo = "vim-glsl";
-      rev = "697eca9784ffac39308e1fd45e0300582c3d060b";
-      sha256 = "0qj00wgshx0pm6w1p682kc6s4xnzshnwx0sr65b24g1m495ck4q4";
+      rev = "fbdb226318e3e1747b29f31ad07c0cce07e9f22a";
+      sha256 = "076fny258ynamnd1mnknmp1zlafvvxpx7p28985mms84k65ihvy5";
     };
   };
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-09-21";
+    version = "2020-01-03";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "6904ded741573113c20408abdce455c5d3969e08";
-      sha256 = "12ill4rpfc3bzxa6s47mscvbclidnckxci3rdixzkvrmwsyyip6k";
+      rev = "ee2071d8e63f9aab98d750a91fcc3358e9987bc9";
+      sha256 = "0a2ac5y8x3lhry5dzq2jbzvryfbvrdvn7bkd2wwm5bf2y9zpkbwk";
     };
   };
 
@@ -3490,12 +3931,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-09-04";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "ebe6d1ffd1fb2faada867c56a55f44cbaa0248e3";
-      sha256 = "0axgpc72q4zn3l9b23v03akz1p1y5vy3gkzma4qw9avgbwhq5870";
+      rev = "dde6a660c7dd4e02b331da238ea477770073aca2";
+      sha256 = "0c411yg2s6wb8141lqpgasg7iwgvfwy88z6l0c0gccmk8knypxhm";
     };
   };
 
@@ -3512,12 +3953,12 @@ let
 
   vim-gutentags = buildVimPluginFrom2Nix {
     pname = "vim-gutentags";
-    version = "2019-05-06";
+    version = "2019-10-26";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-gutentags";
-      rev = "eecb136fae97e30d5f01e71f0d3b775c8b017385";
-      sha256 = "0i8hq0qxjrsavs3a7saz5wqibib5qd3lgfbygpclvp24ylisa8vq";
+      rev = "eb9e57f579d2ef747be25a7a4ec5add6fe5ca3d9";
+      sha256 = "0v46yxv6rv6x9zqsvahkjjwp8khzsz4il1rk34r6zlsy3w8d988d";
     };
   };
 
@@ -3545,12 +3986,12 @@ let
 
   vim-haskellConcealPlus = buildVimPluginFrom2Nix {
     pname = "vim-haskellConcealPlus";
-    version = "2018-12-26";
+    version = "2019-10-21";
     src = fetchFromGitHub {
       owner = "enomsg";
       repo = "vim-haskellConcealPlus";
-      rev = "1d64dd2cdd1e99689e3d79e7ada151213acd5450";
-      sha256 = "0jsfg941qdpibzcg0ypf0nvabmv1bpwgzgzda7hjy1jcai4yrw1g";
+      rev = "c76b73b17a5eaf4fd535b6bd1f533ea847fd20f7";
+      sha256 = "01p9rjpp9g859axlq2mpj89dg3d7n40rmqx2x66aql87m8rzjmam";
     };
   };
 
@@ -3655,12 +4096,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";
     };
   };
 
@@ -3686,6 +4127,17 @@ let
     };
   };
 
+  vim-indexed-search = buildVimPluginFrom2Nix {
+    pname = "vim-indexed-search";
+    version = "2019-07-04";
+    src = fetchFromGitHub {
+      owner = "henrik";
+      repo = "vim-indexed-search";
+      rev = "5af020bba084b699d0453f242d7d76711d64b1e3";
+      sha256 = "0cq265yqksh7jqazxn7qxr7bclrk2pq7py4c29wspsvbi0m3m8rc";
+    };
+  };
+
   vim-ipython = buildVimPluginFrom2Nix {
     pname = "vim-ipython";
     version = "2015-06-23";
@@ -3710,12 +4162,12 @@ let
 
   vim-jade = buildVimPluginFrom2Nix {
     pname = "vim-jade";
-    version = "2019-05-07";
+    version = "2019-09-23";
     src = fetchFromGitHub {
       owner = "digitaltoad";
       repo = "vim-jade";
-      rev = "efed0c8680d22bd16b9dc7e08f5373269b67c45f";
-      sha256 = "0dq0mmx2bg304b24cp337lr29r0f1wkvhq9i3z54bw3x3pbw5hal";
+      rev = "ea39cd942cf3194230cf72bfb838901a5344d3b3";
+      sha256 = "07141jkfnaia4ydc6qcg0bc06w720l2lzl7bm4bsjwswqrzmhfam";
     };
   };
 
@@ -3732,23 +4184,23 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2019-09-16";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "24e7908bae33df5851f7085f5ec3af0ca81f060c";
-      sha256 = "1bqrhkxk6f5ha7xlkgqrp96a1pfk9258x5b4iz3kbk2gqp6mcrmb";
+      rev = "dc7951895a98c49c39622f65cdd7b39374c348bc";
+      sha256 = "1d8xiiwfg5wz57jyy7ahbi2bl5sjkhkpkqm2qbhsn7cd9vk36sxy";
     };
   };
 
   vim-javascript = buildVimPluginFrom2Nix {
     pname = "vim-javascript";
-    version = "2019-08-14";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "pangloss";
       repo = "vim-javascript";
-      rev = "b6c8c8419240bdd29b5eb51a47d488fd390deed5";
-      sha256 = "0p56av0zmig4rpsq4w4armnccyd713xdm5lwrck3cip55c39382f";
+      rev = "2e4a8c485cdf601bb2f2761ea68c09750a0b82e0";
+      sha256 = "1zvqpk8qvkhglfdi6ma7ads54w0i8v8vy4k3gcrrjydmwwa2v34l";
     };
   };
 
@@ -3776,12 +4228,12 @@ let
 
   vim-jsbeautify = buildVimPluginFrom2Nix {
     pname = "vim-jsbeautify";
-    version = "2019-03-01";
+    version = "2019-10-18";
     src = fetchFromGitHub {
       owner = "maksimr";
       repo = "vim-jsbeautify";
-      rev = "aa96718ddc74bc20dd6b44a179eb0ee66443339f";
-      sha256 = "1v7h7xdhkiifcjk1bqiw7nfz4bxbrbaqghmi31564xdgckqfqcqk";
+      rev = "6003f9d420d56b91f5664ec5ed5a9a3a6d8df22b";
+      sha256 = "06gxmqyxkw2mgdy6m7b248w0gzkwsjcpyihpnyf5cajb5aw4wk13";
       fetchSubmodules = true;
     };
   };
@@ -3821,12 +4273,12 @@ let
 
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
-    version = "2019-09-18";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "MaxMEllon";
       repo = "vim-jsx-pretty";
-      rev = "89c30c0defe8ddb31bc0d3cfa5f22f3f6d8eb24f";
-      sha256 = "1l5cwlbmihzxldpxlvn5gc47s0awqs908skzq43cy44iql829hir";
+      rev = "838cfce82df8cf99df5e3a200ad23f6c0f027550";
+      sha256 = "0305q9vf454h3hzkax5lpwzfwr9d573kqpsrlfsny69wgkrkvcax";
     };
   };
 
@@ -3887,12 +4339,12 @@ let
 
   vim-ledger = buildVimPluginFrom2Nix {
     pname = "vim-ledger";
-    version = "2019-07-03";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "ledger";
       repo = "vim-ledger";
-      rev = "3d76cee270b1a9583d535737ac2e63166335d45c";
-      sha256 = "1kjbw98gvjsx4mydndkv0hjsczafq8sgb38j0bb0jbynqbbplsv9";
+      rev = "fba44d7bab381b2107f9c6db0322282910e98267";
+      sha256 = "1scv9zscvywr40rw6z1v4vsgq8j8mfvp1hxs6ana22wbm0qdwkrf";
     };
   };
 
@@ -3909,12 +4361,12 @@ let
 
   vim-liquid = buildVimPluginFrom2Nix {
     pname = "vim-liquid";
-    version = "2016-02-11";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-liquid";
-      rev = "209f77c9550a90b0b88492c93852195c171f6ebd";
-      sha256 = "1ghspgjr6r0csmqacmsmkvrqvfgplx033yb3qwzddby991fpvfaa";
+      rev = "9ebc192daec70e620c22d574b5a1c1e16f89a48c";
+      sha256 = "0cvcjiii5wv55n695284k520rrwi0l4gqpyiqnrpnhmsaqks0n0f";
     };
   };
 
@@ -3942,12 +4394,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-09-05";
+    version = "2019-12-30";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "ff86c97cb41c1e415dfd1a3c42dfd817ff541f6d";
-      sha256 = "1lr72qxzpq4i748sb4q52ln18awxpxqqcsf13wr95d4wvrn50y61";
+      rev = "6cb8410e10f1b6a23adf238c1f93ce19a3eef83a";
+      sha256 = "1zqv58s35qvp53an15mvs7ywvarsqxc0has6yji99jwmjiq68pag";
     };
   };
 
@@ -3962,6 +4414,17 @@ let
     };
   };
 
+  vim-manpager = buildVimPluginFrom2Nix {
+    pname = "vim-manpager";
+    version = "2017-05-08";
+    src = fetchFromGitHub {
+      owner = "lambdalisue";
+      repo = "vim-manpager";
+      rev = "25bdd9448651a7669659b1b8d8d7a82acdfbf8af";
+      sha256 = "0d7rg4lvyxr4v34bimxpdkynmvs606fqvv0qpi7g139ng9hv6wqm";
+    };
+  };
+
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
     version = "2019-07-09";
@@ -3984,6 +4447,17 @@ let
     };
   };
 
+  vim-metamath = buildVimPluginFrom2Nix {
+    pname = "vim-metamath";
+    version = "2017-02-10";
+    src = fetchFromGitHub {
+      owner = "david-a-wheeler";
+      repo = "vim-metamath";
+      rev = "50aff63608256909159f1b8fc3f09ba61b2bb9bd";
+      sha256 = "0gwqafhr18wv9ygq47cxwi0k4gj1xll4z8s61w9l9vwaiy5znssh";
+    };
+  };
+
   vim-misc = buildVimPluginFrom2Nix {
     pname = "vim-misc";
     version = "2015-05-21";
@@ -3997,34 +4471,45 @@ let
 
   vim-monokai-pro = buildVimPluginFrom2Nix {
     pname = "vim-monokai-pro";
-    version = "2018-12-27";
+    version = "2019-10-12";
     src = fetchFromGitHub {
       owner = "phanviet";
       repo = "vim-monokai-pro";
-      rev = "39fcf3b418fc3a01e604cbb5f9c08d79d7d957c0";
-      sha256 = "1k0n9chmilppsiyxhz1ig0ywimbnl4qpzib6ris1cy6kjnl4mdyq";
+      rev = "d99c93733f3461466773b52b26392cf9b35717c0";
+      sha256 = "05vk9hgdldgmijawblslf4sly67lqxljx1y9qs4dl2cbvz8gw882";
+    };
+  };
+
+  vim-move = buildVimPluginFrom2Nix {
+    pname = "vim-move";
+    version = "2019-11-23";
+    src = fetchFromGitHub {
+      owner = "matze";
+      repo = "vim-move";
+      rev = "58049562efb0e6e077416d897b760c4dc9bb25c4";
+      sha256 = "18pnk6ri73a6dq86zh510wy1s0z1dwnsyay7lxrgirjgh3s9nhhq";
     };
   };
 
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2019-07-30";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "eede692d8e8ee847de5c59d760f77fa27ea5ff47";
-      sha256 = "0c8rjqz0mzi9c69qjd9arljkwdckjp8x5d3ks570xhlcmp17qzn8";
+      rev = "137b7e5c671b4b376b2df7492c4023ac6e1439da";
+      sha256 = "1pv19ylhifd32p8jb8rvbd8l5wik7349q4m4f8a8qycab2ba5xhv";
     };
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix {
     pname = "vim-multiple-cursors";
-    version = "2019-07-11";
+    version = "2019-11-09";
     src = fetchFromGitHub {
       owner = "terryma";
       repo = "vim-multiple-cursors";
-      rev = "2609c9b054b562b6bf46936f3e80a25042c5d572";
-      sha256 = "1vd7rcns8r52vaaamfz5p23vmrz6j2b3z3yqjlc46s4pmzxdvpgh";
+      rev = "6ab4dc7dd012e23adee74ef4596ad3e9659a20c7";
+      sha256 = "149cg1fwsrd1swvd0ivn1p8j8gpj3gk08mx6dim4fkshknwxs5l0";
     };
   };
 
@@ -4039,6 +4524,17 @@ let
     };
   };
 
+  vim-nftables = buildVimPluginFrom2Nix {
+    pname = "vim-nftables";
+    version = "2019-07-25";
+    src = fetchFromGitHub {
+      owner = "nfnty";
+      repo = "vim-nftables";
+      rev = "aad8540ef56f495baa589f646edc1253db990f1a";
+      sha256 = "1fzi2zzrdzscnjzv8js0ln3bwyxnacilvfcklpndmss67gxbnbkm";
+    };
+  };
+
   vim-niceblock = buildVimPluginFrom2Nix {
     pname = "vim-niceblock";
     version = "2018-09-06";
@@ -4074,12 +4570,12 @@ let
 
   vim-obsession = buildVimPluginFrom2Nix {
     pname = "vim-obsession";
-    version = "2019-05-31";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-obsession";
-      rev = "60f0ef80fd74b8c58fd0cc7a55b81846e06c04f3";
-      sha256 = "0gbb4ici66965v449bm5gn3cyyjw81n5z4db9cfy9aca2rdapjha";
+      rev = "c44d3c432243d39469046f4e25d38a690e49c755";
+      sha256 = "0bvml6jcjd986ggx63sf9w4h852ivnshw6ilf6x2grfhnvsdgcgs";
     };
   };
 
@@ -4129,12 +4625,12 @@ let
 
   vim-orgmode = buildVimPluginFrom2Nix {
     pname = "vim-orgmode";
-    version = "2019-09-13";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
-      rev = "2848ab2db5a2862d43d77acee04faf981f643dd0";
-      sha256 = "06cgb7zb239yk3rkym3nxy26ihm9b2ibqyvjyjgj43w1bm6jfwg5";
+      rev = "c6cd668ed13af85d8292b524f827e729bf70ea0f";
+      sha256 = "1239c0yc51jyp5shwpx2j7kbsb63qj6zp3k2lirppy8c2lls4nsv";
     };
   };
 
@@ -4151,12 +4647,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-08-26";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "53f14ea43997e46c2c4686a1d89bcebfec1c8c50";
-      sha256 = "1qcng9hszv4fcqhzdq7sfvdhl0x4zv91blk328n2jrqp831c0ds1";
+      rev = "b29871936f064be43ea9774cdf6980677830288c";
+      sha256 = "0i20dlcnaf84fnsip9bfqz2clqgsq2vrzjxwq2mc1pj8pfvgr8r3";
     };
   };
 
@@ -4173,67 +4669,78 @@ 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";
     };
   };
 
   vim-parinfer = buildVimPluginFrom2Nix {
     pname = "vim-parinfer";
-    version = "2019-09-19";
+    version = "2019-10-29";
     src = fetchFromGitHub {
       owner = "bhurlow";
       repo = "vim-parinfer";
-      rev = "eba349553e2438dcc9d37f3a6aff2807af731c3f";
-      sha256 = "07cppsywz60ss0af86z4ia9kbixnwf9bl437fxq7hwhx6wig0njq";
+      rev = "fbe48d65ba98f062312b4af08d4d623725f36def";
+      sha256 = "0zzgrx2kc4j3nn81l07my9v4izy9hks96483qyxr4vhsznz1a1wn";
+    };
+  };
+
+  vim-pasta = buildVimPluginFrom2Nix {
+    pname = "vim-pasta";
+    version = "2018-09-08";
+    src = fetchFromGitHub {
+      owner = "sickill";
+      repo = "vim-pasta";
+      rev = "cb4501a123d74fc7d66ac9f10b80c9d393746c66";
+      sha256 = "14rswwx24i75xzgkbx1hywan1msn2ki26353ly2pyvznnqss1pwq";
     };
   };
 
   vim-pathogen = buildVimPluginFrom2Nix {
     pname = "vim-pathogen";
-    version = "2018-12-13";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-pathogen";
-      rev = "e9fb0914dba5bdfe2feaa364dda2e9495c5620a2";
-      sha256 = "1hqfmk6xpkldhs8n5hmnvx0qn955fnzf19pp2gh4c2kvrq1y6sm8";
+      rev = "a553410f1bdb9000fbc764069f3a5ec3454a02bc";
+      sha256 = "1klnfqdb1v5zba8rm1ldga6wjhywgx870svyd4z2j3hqlrrvdfrb";
     };
   };
 
   vim-peekaboo = buildVimPluginFrom2Nix {
     pname = "vim-peekaboo";
-    version = "2019-08-11";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-peekaboo";
-      rev = "9d3c7f39a6771496fac5f730ae7574bc57da21b4";
-      sha256 = "0r61r0s01nn4n153k60dlhr3l0sfj0gcx4y5ry7cvixl85b6y505";
+      rev = "cc4469c204099c73dd7534531fa8ba271f704831";
+      sha256 = "11lgf60v2kj772d9azkfddypwidcgfps5mvnhmp4gg0fmfx12h99";
     };
   };
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2019-08-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
-      rev = "4e0f08de173fcde5f3cb93da2c8129b1588e469a";
-      sha256 = "1vhqcd0gls9bys1anjlfyx4mh3rfkc076g6j9h1r4j09zn0bw1qn";
+      rev = "09458527601fdb2fbd174317bdddfb34e4c64e79";
+      sha256 = "09b30cxlwbr9l07ya05is9q2y9vzbzhcc656nvjjzf968l496xr2";
     };
   };
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2019-09-03";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "46f843aafe6a284765c484397fdc5ad9bb77147a";
-      sha256 = "1c9xnjfzr0s6vp6yb7j3sqclj7kazwcmsqvm0whzx1yx5dbisnv7";
+      rev = "2f5f74e5e67f657e9fdac54891a76721bcd3ead3";
+      sha256 = "08772rc8wqpbxwqqkl8v9x79sijkdigypqlr12ph7jc45qfdqblp";
     };
   };
 
@@ -4250,12 +4757,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-09-12";
+    version = "2019-12-31";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "4f3df59be709bf0d5c5c67dc804fde49abdc2700";
-      sha256 = "0rknm6bj75ax2a81bkw96nqakn2gb1mjfb6lgg8kwvcjzddfvmb9";
+      rev = "e8454d66ab8376cf9c7e42f09749d5bd17d98f89";
+      sha256 = "19hajmja01hrzmq6f0lfnc03d7zpk0ixa9h9j5giskxp151f7vjr";
     };
   };
 
@@ -4272,23 +4779,34 @@ let
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2019-08-22";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "b1a826329c0891416f2357bf77a43ac49b441e6d";
-      sha256 = "0za2hnsg888nl3ddhawll053j64sgqhiqpxciqi05j50bz34cs8n";
+      rev = "17a8b2078a9ca1410d2080419e1cb9c9bb2e4492";
+      sha256 = "1vf3jdcfiq27k9mdwlvsm2hn1xgxr79ckq3jqq00avj50bpdzs1z";
+    };
+  };
+
+  vim-protobuf = buildVimPluginFrom2Nix {
+    pname = "vim-protobuf";
+    version = "2017-12-26";
+    src = fetchFromGitHub {
+      owner = "uarun";
+      repo = "vim-protobuf";
+      rev = "0d0f4e4b4087e0e608066aa2ba295e396d039931";
+      sha256 = "1vh9f34rb7pg6dc64xhr102yig6y03is74777av464bhq651z7p5";
     };
   };
 
   vim-ps1 = buildVimPluginFrom2Nix {
     pname = "vim-ps1";
-    version = "2017-10-20";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "0b2509f210f5dc73001fdcfe8fd7ac354b363388";
-      sha256 = "0fkqd9xnr0310pmi5hjxfwh9x6b75z6q1w8qp1alm4qcv425q9rm";
+      rev = "d11593b4a65551cc3391d36b088cc87a59c62da6";
+      sha256 = "08d9mp6ig3vkvmynm6qfvb18hc128wwssffkwdd9xnqkr7c3dmlv";
     };
   };
 
@@ -4305,56 +4823,56 @@ let
 
   vim-qml = buildVimPluginFrom2Nix {
     pname = "vim-qml";
-    version = "2018-07-22";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "peterhoeg";
       repo = "vim-qml";
-      rev = "8af43da6950ce5483704bb97f5b24471d8ffda1a";
-      sha256 = "1y1xvbfr1ffxyyk3zzf50xn87a85i1zszj4fqlq5ka8zhgdrnhvc";
+      rev = "b04de1dadb7dfe372d22f7529a001af1b5e19f4f";
+      sha256 = "1pxl70l0g4i8cbnpjhb9pyjhz982flkrng07y9xwzbdl2jx42i8s";
     };
   };
 
   vim-quickrun = buildVimPluginFrom2Nix {
     pname = "vim-quickrun";
-    version = "2019-07-29";
+    version = "2019-10-29";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-quickrun";
-      rev = "008dd08aad2a544938acbbcf7cee6d3735ebd2fb";
-      sha256 = "0azcw8p4z6kn6yprl0lbj186cg6kwkwfhfc2hgf6bia2ym33m25f";
+      rev = "4967eafcaf5bd09e4e008d4ce46f75d38fdfb8e4";
+      sha256 = "1il851k3j6cggh73mb3lbfnl1097q2laxywi7ym279axpp0ds7qi";
     };
   };
 
   vim-racer = buildVimPluginFrom2Nix {
     pname = "vim-racer";
-    version = "2019-07-30";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "racer-rust";
       repo = "vim-racer";
-      rev = "539e38c6ec0f747a9116452fe9ebd062222b89a3";
-      sha256 = "19kfhm32mspwvnvfl96hzl67h9jcmzwwl92c37rw38pqpnm1sy1l";
+      rev = "4ed62b09b84b8212382d5c3b03278b6eb9ddc08b";
+      sha256 = "06kii2p5czan1m92s5p992c137n9ijvgbjj1miqy86am2p48a40k";
     };
   };
 
   vim-repeat = buildVimPluginFrom2Nix {
     pname = "vim-repeat";
-    version = "2019-07-29";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-repeat";
-      rev = "ae361bea990e27d5beade3a8d9fa22e25cec3100";
-      sha256 = "0myqas20r81gfvfrph4ww38db1nz32qlph7syr6ym8zl7c1fcjd4";
+      rev = "c947ad2b6a16983724a0153bdf7f66d7a80a32ca";
+      sha256 = "00hhbqcx21j0738ad5xh92lsykpa0qxhdy1s7wnwc8d3jndmyjwb";
     };
   };
 
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
-    version = "2019-09-02";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "75ad917e4978b4620c3b0eff1722880d2d53a9f4";
-      sha256 = "1qxlaqbfliv2w4r7bw04h3m19g8f89v9070f59k9zbz3gv8g3hzv";
+      rev = "5130596a65330a4e8523d3ac1582f6c31ea6bc63";
+      sha256 = "1hpyxcmwrjxhkgkb0w2qpg8gh9bgiqwddyj4zx8hy2g8qnx7z5yj";
     };
   };
 
@@ -4371,23 +4889,34 @@ let
 
   vim-rsi = buildVimPluginFrom2Nix {
     pname = "vim-rsi";
-    version = "2019-03-15";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rsi";
-      rev = "8b7abe2d470b7fffac6562818468e14594735564";
-      sha256 = "1fvswbqd51gs4qhcabnz3zdmmlhcijs3pnbp3f2zgfi7lqvjc6s5";
+      rev = "ad8ba6beae8e82339479104b914214a868c9f1fe";
+      sha256 = "1ycjwnbs6rks78yxh0k0ywpvic0663mv7kydy3kjpa4f5bnkgbvc";
     };
   };
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2019-09-05";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "1c70532339889b7794a52b956f389b4f9ab9b3eb";
-      sha256 = "1rj06j71f08b1may9pm27xf6k19bcw3jq3jbwndd975qram7zcr0";
+      rev = "81f64ec3f33165159017f782bc8a1ce9f97348b4";
+      sha256 = "0dja73g2mhbwnb29yqcwamwh77k8l3qqbmn25w9pa2mlnfkp9jy8";
+    };
+  };
+
+  vim-salve = buildVimPluginFrom2Nix {
+    pname = "vim-salve";
+    version = "2019-11-13";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-salve";
+      rev = "876104d364420a7a11a2d97729dd4ab0a2f8a72e";
+      sha256 = "1hj0qg182jv3cwg85rg4z0f8f8hr409is71z7sxhnhjq9fn1h6xj";
     };
   };
 
@@ -4426,23 +4955,45 @@ let
 
   vim-scriptease = buildVimPluginFrom2Nix {
     pname = "vim-scriptease";
-    version = "2019-07-07";
+    version = "2020-01-05";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-scriptease";
-      rev = "71195d60792fbfcd30edb25fdfc89eadf3e400a5";
-      sha256 = "084vz719af6vhlrgzv0bvl9qg53p1mz1942lqj1pfc3p99w22v47";
+      rev = "86f49aca266e4b17420bcadd29009997d15668d8";
+      sha256 = "0kcv5q4qahqd316h5k81xnf8skn71126x4lw2i6wa2m2653d0k5c";
     };
   };
 
   vim-sensible = buildVimPluginFrom2Nix {
     pname = "vim-sensible";
-    version = "2019-09-01";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
-      rev = "5dc6eb2d8026b4ce812a5a9c966d232b1f50c9c7";
-      sha256 = "05mig86l1hi0q1y5sj7bp09i1lwbyn7v9xp3hd853fv7z026fza0";
+      rev = "2d9f34c09f548ed4df213389caa2882bfe56db58";
+      sha256 = "153i3kh44ri046va3qdrbvvsv7gy25fsd9pc2yhrg23lvj169zfp";
+    };
+  };
+
+  vim-sexp = buildVimPluginFrom2Nix {
+    pname = "vim-sexp";
+    version = "2017-05-15";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-sexp";
+      rev = "12292941903d9ac8151513189d2007e1ccfc95f0";
+      sha256 = "1mfqbmrbqgnsc34pmcsrc0c5zvgxhhnw4hx4g5wbssfk1ddyx6y0";
+    };
+  };
+
+  vim-sexp-mappings-for-regular-people = buildVimPluginFrom2Nix {
+    pname = "vim-sexp-mappings-for-regular-people";
+    version = "2019-11-13";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-sexp-mappings-for-regular-people";
+      rev = "f10bfacf2a20c719a3e0b6b5dfbfb2662f48b19e";
+      sha256 = "08z1a5f0k2aafk7ris2w3xf0s2jcsi94bd1wh8idr4fxljjs77qb";
     };
   };
 
@@ -4459,34 +5010,45 @@ let
 
   vim-signify = buildVimPluginFrom2Nix {
     pname = "vim-signify";
-    version = "2019-08-22";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-signify";
-      rev = "2b5070441dea482cc4f88556b19002f2da6f3566";
-      sha256 = "185c8x8nly7jxv0vpf0dsbpby2nsfqdxkyzc6mips6in7ymgg3b3";
+      rev = "56db16f8d3825c4d066c2faf05315c2b208cd5f5";
+      sha256 = "0alargsa6sxdxha6jshax7ff6jy8svzc9yxvsh83f8301zx9vmra";
+    };
+  };
+
+  vim-slash = buildVimPluginFrom2Nix {
+    pname = "vim-slash";
+    version = "2019-08-28";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "vim-slash";
+      rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
+      sha256 = "0ifdd3yqbk8hdvdmr4k44967lyvjnv9ig3r2145wn1lab797sbl4";
     };
   };
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2018-08-19";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "7a104e34c10c6f3581c6e98da7834d765d0b067c";
-      sha256 = "0i147vhrrkarir36ysyaic42d22hk38cnpaqzqck7b2zdwnqrvbv";
+      rev = "ea3f065f23cd0592062b8226c8fef08b6af3b459";
+      sha256 = "17w4m6zg1izcs75isy1jdzycgdr1ml1f5wqf1bjq80qgy3f28znp";
     };
   };
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2019-07-28";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "dc8ca22cef3f87999d926e18e2e230145e013838";
-      sha256 = "0pafvfhf3xbdqyy7v5y8h2j47k4y1zmscp7rans6vd5rq68k8fwf";
+      rev = "cf896c1f4f37a9feb15d657dfd120aeeb6215ad8";
+      sha256 = "19caali0yy1cy4hk9y9z21nzp0kj916551h0p0x7nmzxiiakp9nn";
     };
   };
 
@@ -4503,12 +5065,12 @@ let
 
   vim-sneak = buildVimPluginFrom2Nix {
     pname = "vim-sneak";
-    version = "2019-08-21";
+    version = "2020-01-05";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "27cc3ce0fd19f0414024a81ee1eee6b17f155122";
-      sha256 = "162gvzm7f0dsgv52ixd79ggzxddgpmrxqsqa41nv72mw61s0pmax";
+      rev = "7afd63b4552b0827622ae27ff4c9eca056dd3521";
+      sha256 = "0g9vsxbrsfcc0n7rq9m0331rcjyv35z0yc0d2cwkg939bzqw75qx";
     };
   };
 
@@ -4525,12 +5087,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-09-19";
+    version = "2020-01-03";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "db67e54d5998dbfbe9fe4161a29d74323031b1fa";
-      sha256 = "1d5mynnb90fnc1w0glfg2m953iphmhxndd5gmflg25720n3msdls";
+      rev = "f324a43a5f6a941a55ee992bb852f3c2c504a509";
+      sha256 = "0dgxsn96vw4zgci58lzr4d4d4kwjbk9d52h51ibh3mhsikmpr7xk";
     };
   };
 
@@ -4569,34 +5131,34 @@ let
 
   vim-speeddating = buildVimPluginFrom2Nix {
     pname = "vim-speeddating";
-    version = "2019-02-27";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-speeddating";
-      rev = "ce2f1aae9f2be128b4ca322a8e797be3ae40c30b";
-      sha256 = "1fcvwq5iixh31fm9sfmlz4m765z1vx2a2mi8bgh64g2v6095lm5x";
+      rev = "fe98cfaa7ea9c4b838d42a6830437c919eb55b4e";
+      sha256 = "02875qswrmanr7b798ymlc7w60055q0av0qj3fh7fvpqhsqpg52k";
     };
   };
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2019-09-19";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "9814df57c199271a9b2b70c75ebe4189dc96b126";
-      sha256 = "1rsss95six8f9w075k46318kq2sapijik13jzkakf5nfxlbi2raw";
+      rev = "05122f08c6a553992f7b0a9ad88016a89f51548a";
+      sha256 = "09kg1zf5lmwlksqz11scnjazg5d862fjip48qakjbabf66f23svs";
     };
   };
 
   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";
     };
   };
 
@@ -4611,14 +5173,25 @@ let
     };
   };
 
+  vim-subversive = buildVimPluginFrom2Nix {
+    pname = "vim-subversive";
+    version = "2019-07-28";
+    src = fetchFromGitHub {
+      owner = "svermeulen";
+      repo = "vim-subversive";
+      rev = "5837cb38f656f120e7a04ae73f749303d78b9191";
+      sha256 = "0n04mxdq80xkjgi75n1c2gg2s6am5kns8rj7pz6dvvlqr4vxyrjf";
+    };
+  };
+
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2019-07-22";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "fab8621670f71637e9960003af28365129b1dfd0";
-      sha256 = "0lkc0isv1cqv34qfia9mjvnp1nzz0qqy3k47z8r3xzb7dxgymkw8";
+      rev = "f51a26d3710629d031806305b6c8727189cd1935";
+      sha256 = "0aqrqn35xdiy80y7skxfsh3m33n6cdxw6lzz6aspfgzwllx2f0kr";
     };
   };
 
@@ -4646,12 +5219,12 @@ let
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2019-09-05";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "934778947e28fc8e570e34efdb5f90d5c99fdac7";
-      sha256 = "1klvr8xal8iyv6wga324xhq26a31dxp2qlsz0qyri8y4hkrappkf";
+      rev = "0af25d72ebc0271648c8f91c0ce5c59174d2761b";
+      sha256 = "1wqfc8bilknz1j1spk3iag99hmz5f1w87v95rb3cyp46ymrf9dcv";
     };
   };
 
@@ -4668,34 +5241,34 @@ let
 
   vim-tbone = buildVimPluginFrom2Nix {
     pname = "vim-tbone";
-    version = "2019-04-12";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-tbone";
-      rev = "b7f41b10db9ed5e5854fc5fe3a619bc05f2d541a";
-      sha256 = "152mklqnqipzz2wwzj0i6s3fm75903flr1dff98nyw4khhm84pn2";
+      rev = "82b0118772a87b659a6af49b26b0c4817ec7eccf";
+      sha256 = "0pbj4v6zhlpcxm10jcq50jf2rpqiyp2x0zpxa50s6y6gm834v9wc";
     };
   };
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2019-09-15";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "81dd8ea296660a51618cefed62462ddff56f22fa";
-      sha256 = "1im4klyfgz5ab98ygc0jw1h9gnylab8zvzm4pk2rga2zbz9ymkxj";
+      rev = "1df8ac3e1bc33e1c70bd3a1713d8c9cd2eb491e1";
+      sha256 = "0ivkm9vzzfn1iwzkkgk54kn846qnhvsaf8f4nzz3mllirjsl14am";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-09-01";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "5aaa872eb7519909b87abb2b0f13600aa2210771";
-      sha256 = "0wvjf3fhhj9qm5p7azk2dgi3aa1qw16pzm5nkl2jr5gn2cmlphd8";
+      rev = "e9e824cf3f22fa1cddabb7ef739f2481436c3924";
+      sha256 = "0nl1b3zzw3w413lmdl4fhm8ia079hr1rz1kpx7sf0i86lx1c0dcv";
     };
   };
 
@@ -4721,6 +5294,17 @@ let
     };
   };
 
+  vim-textobj-haskell = buildVimPluginFrom2Nix {
+    pname = "vim-textobj-haskell";
+    version = "2014-10-27";
+    src = fetchFromGitHub {
+      owner = "gibiansky";
+      repo = "vim-textobj-haskell";
+      rev = "ca656e98ea31e201f5bc543909398a6c8bb5d537";
+      sha256 = "096pjjl3ngw0hsh59j2x6pdrpqvp657rcxfyl9kw13ndqyd867xs";
+    };
+  };
+
   vim-textobj-multiblock = buildVimPluginFrom2Nix {
     pname = "vim-textobj-multiblock";
     version = "2014-06-02";
@@ -4734,12 +5318,23 @@ let
 
   vim-textobj-user = buildVimPluginFrom2Nix {
     pname = "vim-textobj-user";
-    version = "2018-11-19";
+    version = "2019-10-16";
     src = fetchFromGitHub {
       owner = "kana";
       repo = "vim-textobj-user";
-      rev = "074ce2575543f790290b189860597a3dcac1f79d";
-      sha256 = "15wnqkxjjksgn8a7d3lkbf8d97r4w159bajrcf1adpxw8hhli1vc";
+      rev = "9861dc6829a0ce253e40b4d947a9432b58eb499b";
+      sha256 = "1gyz6y5f9bf5hnmb54lqmddy3g9y7bc28k9mrqfr49cd9nziywa5";
+    };
+  };
+
+  vim-textobj-variable-segment = buildVimPluginFrom2Nix {
+    pname = "vim-textobj-variable-segment";
+    version = "2019-12-30";
+    src = fetchFromGitHub {
+      owner = "Julian";
+      repo = "vim-textobj-variable-segment";
+      rev = "78457d4322b44bf89730e708b62b69df48c39aa3";
+      sha256 = "14dcrnk83hj4ixrkdgjrk9cf0193f82wqckdzd4w0b76adf3habj";
     };
   };
 
@@ -4765,14 +5360,36 @@ let
     };
   };
 
+  vim-tmux-focus-events = buildVimPluginFrom2Nix {
+    pname = "vim-tmux-focus-events";
+    version = "2019-12-09";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "vim-tmux-focus-events";
+      rev = "e80960715c09aef8ab9204848ed1683805a93a33";
+      sha256 = "0ds6qw2i1r67jhxh9ff36al45bafsmbxxdc127l6iy2vl5wj0d3d";
+    };
+  };
+
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2019-01-29";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "4e1a877f51a17a961b8c2a285ee80aebf05ccf42";
-      sha256 = "1b8sgbzl4pcpaabqk254n97mjz767ganrmqbsr6rqzz3j9a3s1fv";
+      rev = "8fdf78292bb3aed1c9de880be7e03efdbf23d306";
+      sha256 = "0y92na4dcfcsj5zbs3m7y6csl3sd46a9968id78cdn9cgg8iwzac";
+    };
+  };
+
+  vim-togglelist = buildVimPluginFrom2Nix {
+    pname = "vim-togglelist";
+    version = "2013-04-07";
+    src = fetchFromGitHub {
+      owner = "milkypostman";
+      repo = "vim-togglelist";
+      rev = "cafedc49860950200f28f2e1d95ab6a87b79d113";
+      sha256 = "17y4ply2irz81gjv5hb51dy7wzv3l3sq6qaska31lswd5dgh1ifg";
     };
   };
 
@@ -4789,12 +5406,12 @@ let
 
   vim-trailing-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-trailing-whitespace";
-    version = "2017-09-23";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "bronson";
       repo = "vim-trailing-whitespace";
-      rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
-      sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
+      rev = "6b7cdecff252474fe560d32c6f05641f3c5952c7";
+      sha256 = "0arv1hmlw7c1rlkc00hzjyg48pg8g4cc9q9l2hy8kpmsl037akm3";
     };
   };
 
@@ -4822,34 +5439,45 @@ let
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2019-08-07";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "ab7082c0e89df594a5ba111e18af17b3377d216d";
-      sha256 = "1gvzjihkxnc84kd7sdh26kmm0rqi19xmwiisfqhf307yqyqa6lkj";
+      rev = "08e66532bffed445c949ae0a0501940c000553ed";
+      sha256 = "0sm5rv6z0s80l9c39hijhnfggvgmi24ac6d9a1k58pzjz6i9w2vr";
     };
   };
 
   vim-vinegar = buildVimPluginFrom2Nix {
     pname = "vim-vinegar";
-    version = "2019-05-13";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
-      rev = "09ac84c4d152a944caa341e913220087211c72ef";
-      sha256 = "18ki85s1l4f0q40k26jvcdcbq6a73x870dnxkw20ji3pfwdaa5v3";
+      rev = "fcce70f1403ba4101668a4c960c577bddbd00f06";
+      sha256 = "0zxqdyla40xcp0ps362b85bqwl3mp4zfmfdggl0gwvgd5m949yk0";
+    };
+  };
+
+  vim-visual-increment = buildVimPluginFrom2Nix {
+    pname = "vim-visual-increment";
+    version = "2015-07-02";
+    src = fetchFromGitHub {
+      owner = "triglav";
+      repo = "vim-visual-increment";
+      rev = "e50e8f7c062cec759f665278eb58535df1611a23";
+      sha256 = "1gd6mxp9y80wf7nxcm02104l54gqz5k3dgv1h98jl9a7q9swb8y6";
     };
   };
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2019-09-12";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "6ff6e336ac3df959c8d0462be277b4fff8661421";
-      sha256 = "1drp53cvbflr6x94vy0f57fg9nb3kxlaxvrc5w71id4mv0pr7bb2";
+      rev = "d332d08365bc735f60904a4207d650f191598378";
+      sha256 = "0g5lawg641ma216v53ivhbkzpmdqhcmgybb5kh1rz6s991j51ziy";
     };
   };
 
@@ -4877,12 +5505,12 @@ let
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2019-07-27";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "29d14cca6593a4809a31cfc3565a366d87426daf";
-      sha256 = "1b47fv3jm37yhbg2mwc7kmlsl54dapb4sw9isf1h3mbmgxnvi5p9";
+      rev = "dfc57db34d641315ddf1880b27573dfa07a41872";
+      sha256 = "05fhnw4jdi6wbf14zrmq6gvb7pqxhvmy65kij2zzf0nwyb8l1c09";
     };
   };
 
@@ -4899,12 +5527,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";
     };
   };
 
@@ -4921,12 +5549,23 @@ let
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2019-03-28";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "3c968fd4fd83d3631dec4c0caf289c85917d8ca9";
-      sha256 = "17ncq06al2pzqxpx45bmh4b66d48y3kklxcd1f80jfsp9hh5v0vm";
+      rev = "b9839555f70d319b4e21fc7bc9b559d91cf1260a";
+      sha256 = "1ql8yv8rxpr9j9phf4jddqs1j81vcb9gpp0p3fmy6f8nf4b26nvw";
+    };
+  };
+
+  vim-yaml = buildVimPluginFrom2Nix {
+    pname = "vim-yaml";
+    version = "2019-01-07";
+    src = fetchFromGitHub {
+      owner = "stephpy";
+      repo = "vim-yaml";
+      rev = "0da1975ec394154349db744c1996fe2ef8fa5ed0";
+      sha256 = "0kvsy6k4snwykpxk49x06jizxqrjjmbhhdcwiyiqy0029n05322l";
     };
   };
 
@@ -4952,6 +5591,50 @@ 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";
+    src = fetchFromGitHub {
+      owner = "gotcha";
+      repo = "vimelette";
+      rev = "662f47fe0da2625dc743532832fa39f490388fa7";
+      sha256 = "094xyqba64dndgr5gfcqp6hy3siw90niyrrwz0avs924abss6adg";
+    };
+  };
+
+  vimfiler-vim = buildVimPluginFrom2Nix {
+    pname = "vimfiler-vim";
+    version = "2019-07-30";
+    src = fetchFromGitHub {
+      owner = "Shougo";
+      repo = "vimfiler.vim";
+      rev = "26d3fec10cb8921d510064411784301794229a93";
+      sha256 = "0iv1smk0999sfm3iqdlpb2il74l01lxfahwg87g7h3gq9frky2wd";
+    };
+  };
+
+  VimOrganizer = buildVimPluginFrom2Nix {
+    pname = "VimOrganizer";
+    version = "2014-04-10";
+    src = fetchFromGitHub {
+      owner = "hsitz";
+      repo = "VimOrganizer";
+      rev = "cab0baf635eb9470e62d57d42f2d470180b06c8d";
+      sha256 = "0qncr00xn7lj1i469fzjaaghhqrlyg5s2wj4v6625dhg98y0irix";
+    };
+  };
+
   vimoutliner = buildVimPluginFrom2Nix {
     pname = "vimoutliner";
     version = "2018-07-04";
@@ -4976,12 +5659,12 @@ let
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc-vim";
-    version = "2019-07-08";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "0328ac6096ac57d647bed1ee59c8b616b3ba2858";
-      sha256 = "1apg6zjpqagj8m7rai64awp2n4s77grjlyr56hdk09bh9678wg31";
+      rev = "89065f62883edb10a99aa1b1640d6d411907316b";
+      sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k";
     };
   };
 
@@ -4998,12 +5681,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-09-20";
+    version = "2019-12-31";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "ece9f454ac2f590629ebbbbe4b0bb23deafdcb04";
-      sha256 = "05h1hya3c4k9z1x2k13k1a1zpq8lf7nr8ggg548mmayh0cv5qvqs";
+      rev = "020206fbe1f6981855a3fe2f96ef893db782d4b8";
+      sha256 = "113d1zdmx3vhjig4xrp1kqlzapdhygis2ky2paww42j22vakqywc";
     };
   };
 
@@ -5020,12 +5703,12 @@ let
 
   vimwiki = buildVimPluginFrom2Nix {
     pname = "vimwiki";
-    version = "2019-08-08";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "vimwiki";
       repo = "vimwiki";
-      rev = "57d23fa763b498561aca7eb4efb05b52efd120c9";
-      sha256 = "034857pz36rps7jmg79brcb25vfb4dgqpdhfy24vyhn3nil46jxs";
+      rev = "b90e6f2e3343277faca65156d733f725f76f1e53";
+      sha256 = "1z3mj73iqh4h3wx5cq4k7gp2nkbaj85v665v0phqw42c213064nb";
     };
   };
 
@@ -5040,6 +5723,17 @@ let
     };
   };
 
+  vista-vim = buildVimPluginFrom2Nix {
+    pname = "vista-vim";
+    version = "2020-01-06";
+    src = fetchFromGitHub {
+      owner = "liuchengxu";
+      repo = "vista.vim";
+      rev = "dcf134c83a6a3f9618a97cafab5b7fb1f1df3f84";
+      sha256 = "0w9q69a2k8a39b8zrd3sildisrdskbk6cgvbkmb3fqsr0zdzjxzv";
+    };
+  };
+
   vundle = buildVimPluginFrom2Nix {
     pname = "vundle";
     version = "2019-08-17";
@@ -5053,23 +5747,23 @@ let
 
   wal-vim = buildVimPluginFrom2Nix {
     pname = "wal-vim";
-    version = "2019-05-22";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "dylanaraps";
       repo = "wal.vim";
-      rev = "c5c412fae2f72a07dff24ba8652c6d5e13924167";
-      sha256 = "08rx1xb0mn6krfj3q8vrzlvzzh2dljjddn3wbkjvamihblnjbf7v";
+      rev = "f0dd97bd4076c9a1410786c3e5baba7bd3028b05";
+      sha256 = "0aiwsrcqnazam56cvwmck4bf7w543cr219bkmq0ngqzna72h9735";
     };
   };
 
   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";
     };
   };
 
@@ -5108,12 +5802,12 @@ let
 
   xptemplate = buildVimPluginFrom2Nix {
     pname = "xptemplate";
-    version = "2019-07-31";
+    version = "2019-10-29";
     src = fetchFromGitHub {
       owner = "drmingdrmer";
       repo = "xptemplate";
-      rev = "e8c0d74b1308415dfebadaf58ba94b2d34aecec2";
-      sha256 = "0x3c9f3vpkwnmshbmwg4lddivssx6s4f3b3px6nf4cxd0lbm4j9l";
+      rev = "4dabcf320f18e33923dbcf793d3c04330dcb79a1";
+      sha256 = "07sr3ixlgfv0sql48fxvyimwdb8xr3iklmzfxb5wxfxgvhr4xbs8";
     };
   };
 
@@ -5141,24 +5835,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-09-05";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "d9af5fc9fd7f11fa1219a9acb6f4243105e60b38";
-      sha256 = "1wlrxibj8q2l0lfzkg3wvzivkgz67xvi7vgrih4dgrs7a639dyl0";
+      rev = "48184a10ecdda3efce0131aa73495f1edc449a33";
+      sha256 = "0nsdq17r2m2pmnz077rliqdlwk5sn1aj3bxl648bsli7rjacgaqq";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-09-18";
+    version = "2020-01-04";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "bdbfdd938fe711ff75155546fc0a0e0bebcb952a";
-      sha256 = "0dxip8xi6s74045hvbx6av16caid150lvywg2sn7kq5x6zcc9dgc";
+      rev = "d9a9ce47de8b88100e4230805bf44d394197476d";
+      sha256 = "1ggr6dhppmc34wah8d6dwjfb9kkaazlxajvnd972pyx9c56crl89";
       fetchSubmodules = true;
     };
   };
@@ -5187,23 +5881,23 @@ let
 
   zenburn = buildVimPluginFrom2Nix {
     pname = "zenburn";
-    version = "2019-09-20";
+    version = "2019-10-01";
     src = fetchFromGitHub {
       owner = "jnurmine";
       repo = "zenburn";
-      rev = "d39461f7ad13814307cc0115122b32901662a86e";
-      sha256 = "1ww4irkl6h2q9p1y2gj87j4hy0rh2gkfz8nyzfn32z6rjsmj5n3c";
+      rev = "90d28f75948d267058433d62b5450a3bc044ddc3";
+      sha256 = "0c7f6g4j6gz08j7r8j0qjqq2nw01vcvs5i19lzhy2gp9kh5dg85m";
     };
   };
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2019-09-19";
+    version = "2020-01-02";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
-      rev = "29d9358a825c56a31f6438ea93eb09f091998f0d";
-      sha256 = "1rah0fm3qxv3jjb0ma2pn5kvbg2fwg4p5ycgm6vjbq95j73f5aq1";
+      rev = "7b644a313bf3e32a3b0c4616660d61f5ec8872d9";
+      sha256 = "1icv1qa4wf1kaknfs045m8md2938qggzl6a5wf76lcn1iw5nr1cc";
     };
   };
 
diff --git a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
index 4d127c20e31a..6cde4d6695ac 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
@@ -14,12 +14,18 @@
 # coc-go dependency
 , go
 
-# vim-go denpencies
+# deoplete-khard dependency
+, khard
+
+# vim-go dependencies
 , asmfmt, delve, errcheck, godef, golint
 , gomodifytags, gotags, gotools, go-motion
 , gnused, reftools, gogetdoc, gometalinter
 , impl, iferr, gocode, gocode-gomod, go-tools
 
+# direnv-vim dependencies
+, direnv
+
 # vCoolor dependency
 , gnome3
 }:
@@ -49,16 +55,16 @@ self: super: {
   };
 
   LanguageClient-neovim = let
-    version = "0.1.154";
+    version = "0.1.155";
     LanguageClient-neovim-src = fetchurl {
       url = "https://github.com/autozimu/LanguageClient-neovim/archive/${version}.tar.gz";
-      sha256 = "03sp643nihj9p2s9cx2dcazhz68s30qx7igqprgsmr1040rhg2py";
+      sha256 = "0v9n450iwgvm1d4qwv742bjam3p747cvyrkapkgxy7n1ar8rz50i";
     };
     LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
       name = "LanguageClient-neovim-bin";
       src = LanguageClient-neovim-src;
 
-      cargoSha256 = "1bvbls2l1xa0s3k11crvd98il4i20z5sn0hqmsc1b915k03qq4zj";
+      cargoSha256 = "139sj1aq0kr4r4qzhgcn2hb4dyvp5wxjz7bxbm0bbh9bv2pr98jq";
       buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
       # FIXME: Use impure version of CoreFoundation because of missing symbols.
@@ -80,17 +86,6 @@ self: super: {
     '';
   };
 
-  # do not auto-update this one, as the name clashes with vim-snippets
-  vim-docbk-snippets = buildVimPluginFrom2Nix {
-    pname = "vim-docbk-snippets";
-    version = "2017-11-02";
-    src = fetchgit {
-      url = "https://github.com/jhradilek/vim-snippets";
-      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
-      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
-    };
-  };
-
   clang_complete = super.clang_complete.overrideAttrs(old: {
     # In addition to the arguments you pass to your compiler, you also need to
     # specify the path of the C++ std header (if you are using C++).
@@ -108,6 +103,14 @@ self: super: {
     '';
   });
 
+  direnv-vim = super.direnv-vim.overrideAttrs(oa: {
+    preFixup = oa.preFixup or "" + ''
+      substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \
+        --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \
+          "let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')"
+    '';
+  });
+
   clighter8 = super.clighter8.overrideAttrs(old: {
     preFixup = ''
       sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
@@ -123,14 +126,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 = "2020-01-05";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "v${version}";
-      sha256 = "1s4nib2mnhagd0ymx254vf7l1iijwrh2xdqn3bdm4f1jnip81r10";
+      rev = "984779f2f825626aa9d441746d8b4ee079137c65";
+      sha256 = "0w7qnhi7wikr789h3w5p59l8wd81czpvbzbdanf8klf9ap4ma3yg";
     };
   };
 
@@ -184,6 +188,17 @@ self: super: {
    '';
   });
 
+  deoplete-khard = super.deoplete-khard.overrideAttrs(old: {
+    dependencies = [ self.deoplete-nvim ];
+    passthru.python3Dependencies = ps: [ (ps.toPythonModule khard) ];
+    meta = {
+      description = "Address-completion for khard via deoplete";
+      homepage = "https://github.com/nicoe/deoplete-khard";
+      license = stdenv.lib.licenses.mit;
+      maintainers = with stdenv.lib.maintainers; [ jorsn ];
+    };
+  });
+
   ensime-vim = super.ensime-vim.overrideAttrs(old: {
     passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
     dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
@@ -390,6 +405,10 @@ self: super: {
     '';
   });
 
+  vim-metamath = super.vim-metamath.overrideAttrs(old: {
+    preInstall = "cd vim";
+  });
+
   vim-snipmate = super.vim-snipmate.overrideAttrs(old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
@@ -437,8 +456,8 @@ self: super: {
   youcompleteme = super.youcompleteme.overrideAttrs(old: {
     buildPhase = ''
       substituteInPlace plugin/youcompleteme.vim \
-        --replace "'ycm_python_interpreter_path', '''" \
-        "'ycm_python_interpreter_path', '${python3}/bin/python'"
+        --replace "'ycm_path_to_python_interpreter', '''" \
+        "'ycm_path_to_python_interpreter', '${python3}/bin/python3'"
 
       rm -r third_party/ycmd
       ln -s ${ycmd}/lib/ycmd third_party
diff --git a/nixpkgs/pkgs/misc/vim-plugins/update.py b/nixpkgs/pkgs/misc/vim-plugins/update.py
index 8a8e20da8d7e..0ef93ac569ab 100755
--- a/nixpkgs/pkgs/misc/vim-plugins/update.py
+++ b/nixpkgs/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(
@@ -154,13 +197,13 @@ def get_current_plugins() -> List[Plugin]:
     return plugins
 
 
-def prefetch_plugin(user: str, repo_name: str, cache: "Cache") -> Plugin:
+def prefetch_plugin(user: str, repo_name: str, alias: str, cache: "Cache") -> Plugin:
     repo = Repo(user, repo_name)
     commit, date = repo.latest_commit()
     has_submodules = repo.has_submodules()
     cached_plugin = cache[commit]
     if cached_plugin is not None:
-        cached_plugin.name = repo_name
+        cached_plugin.name = alias or repo_name
         cached_plugin.date = date
         return cached_plugin
 
@@ -170,7 +213,7 @@ def prefetch_plugin(user: str, repo_name: str, cache: "Cache") -> Plugin:
     else:
         sha256 = repo.prefetch_github(commit)
 
-    return Plugin(repo_name, commit, has_submodules, sha256, date=date)
+    return Plugin(alias or repo_name, commit, has_submodules, sha256, date=date)
 
 
 def print_download_error(plugin: str, ex: Exception):
@@ -207,18 +250,26 @@ def check_results(
         sys.exit(1)
 
 
-def load_plugin_spec() -> List[Tuple[str, str]]:
-    plugin_file = ROOT.joinpath("vim-plugin-names")
+def parse_plugin_line(line: str) -> Tuple[str, str, Optional[str]]:
+    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)
+
+
+def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, Optional[str]]]:
     plugins = []
     with open(plugin_file) as f:
         for line in f:
-            spec = line.strip()
-            parts = spec.split("/")
-            if len(parts) != 2:
-                msg = f"Invalid repository {spec}, must be in the format owner/repo"
+            plugin = parse_plugin_line(line)
+            if not plugin[0]:
+                msg = f"Invalid repository {line}, must be in the format owner/repo[ as alias]"
                 print(msg, file=sys.stderr)
                 sys.exit(1)
-            plugins.append((parts[0], parts[1]))
+            plugins.append(plugin)
     return plugins
 
 
@@ -276,12 +327,12 @@ class Cache:
 
 
 def prefetch(
-    args: Tuple[str, str], cache: Cache
+    args: Tuple[str, str, str], cache: Cache
 ) -> Tuple[str, str, Union[Exception, Plugin]]:
-    assert len(args) == 2
-    owner, repo = args
+    assert len(args) == 3
+    owner, repo, alias = args
     try:
-        plugin = prefetch_plugin(owner, repo, cache)
+        plugin = prefetch_plugin(owner, repo, alias, cache)
         cache[plugin.commit] = plugin
         return (owner, repo, plugin)
     except Exception as e:
@@ -293,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(
             """
@@ -326,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)
 
@@ -342,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:
@@ -350,7 +430,7 @@ def main() -> None:
 
     plugins = check_results(results)
 
-    generate_nix(plugins)
+    generate_nix(plugins, args.outfile)
 
 
 if __name__ == "__main__":
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 107105d6b72e..5a1aa982ae99 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
@@ -2,6 +2,7 @@
 airblade/vim-gitgutter
 airblade/vim-rooter
 ajh17/Spacegray.vim
+aklt/plantuml-syntax
 albfan/nerdtree-git-plugin
 altercation/vim-colors-solarized
 alvan/vim-closetag
@@ -11,10 +12,12 @@ amiorin/ctrlp-z
 andreshazard/vim-logreview
 andsild/peskcolor.vim
 andviro/flake8-vim
+andys8/vim-elm-syntax
 ap/vim-css-color
 arcticicestudio/nord-vim
 artur-shaik/vim-javacomplete2
 autozimu/LanguageClient-neovim
+ayu-theme/ayu-vim
 bazelbuild/vim-bazel
 bbchung/clighter8
 benmills/vimux
@@ -22,6 +25,7 @@ bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bkad/camelcasemotion
 bling/vim-bufferline
+blueyed/vim-diminactive
 bogado/file-line
 brennanfee/vim-gui-position
 bronson/vim-trailing-whitespace
@@ -42,8 +46,12 @@ chrisgeo/sparkup
 chriskempson/base16-vim
 christoomey/vim-sort-motion
 christoomey/vim-tmux-navigator
+ckarnell/antonys-macro-repeater
+ckipp01/coc-metals
+cloudhead/neovim-fuzzy
 CoatiSoftware/vim-sourcetrail
 cocopon/iceberg.vim
+cohama/lexima.vim
 ctjhoa/spacevim
 ctrlpvim/ctrlp.vim
 dag/vim2hs
@@ -51,7 +59,9 @@ dag/vim-fish
 dannyob/quickfixstatus
 darfink/starsearch.vim
 dart-lang/dart-vim-plugin
+david-a-wheeler/vim-metamath
 davidhalter/jedi-vim
+dcharbon/vim-flatbuffers
 deoplete-plugins/deoplete-dictionary
 deoplete-plugins/deoplete-jedi
 derekelkins/agda-vim
@@ -61,6 +71,7 @@ digitaltoad/vim-jade
 direnv/direnv.vim
 dleonard0/pony-vim-syntax
 dracula/vim
+drewtempelmeyer/palenight.vim
 drmingdrmer/xptemplate
 dylanaraps/wal.vim
 eagletmt/ghcmod-vim
@@ -84,8 +95,12 @@ fenetikm/falcon
 fisadev/vim-isort
 flazz/vim-colorschemes
 floobits/floobits-neovim
+freitass/todo.txt-vim
 frigoeu/psc-ide-vim
+fsharp/vim-fsharp
 garbas/vim-snipmate
+gentoo/gentoo-syntax
+gibiansky/vim-textobj-haskell
 glts/vim-textobj-comment
 gmarik/vundle
 godlygeek/csapprox
@@ -93,17 +108,25 @@ godlygeek/tabular
 google/vim-codefmt
 google/vim-jsonnet
 google/vim-maktaba
+gorkunov/smartpairs.vim
+gotcha/vimelette
 gregsexton/gitv
+guns/vim-clojure-highlight
+guns/vim-clojure-static
+guns/vim-sexp
 guns/xterm-color-table.vim
 hashivim/vim-terraform
 haya14busa/incsearch-easymotion.vim
 haya14busa/incsearch.vim
+haya14busa/vim-asterisk
 heavenshell/vim-jsdoc
 hecal3/vim-leader-guide
+henrik/vim-indexed-search
 HerringtonDarkholme/yats.vim
 honza/vim-snippets
 hotwatermorning/auto-git-diff
 hsanson/vim-android
+hsitz/VimOrganizer
 ianks/vim-tsx
 icymind/NeoSolarized
 idris-hackers/idris-vim
@@ -126,6 +149,7 @@ jeffkreeftmeijer/neovim-sensible
 jelera/vim-javascript-syntax
 jgdavey/tslime.vim
 jhradilek/vim-docbk
+jhradilek/vim-snippets as vim-docbk-snippets
 jiangmiao/auto-pairs
 jistr/vim-nerdtree-tabs
 jlanzarotta/bufexplorer
@@ -135,16 +159,22 @@ jonsmithers/vim-html-template-literals
 joonty/vim-xdebug
 josa42/coc-go
 jpalardy/vim-slime
+jreybert/vimagit
+jsfaint/gen_tags.vim
 JuliaEditorSupport/deoplete-julia
 JuliaEditorSupport/julia-vim
+Julian/vim-textobj-variable-segment
 junegunn/fzf.vim
 junegunn/goyo.vim
+junegunn/gv.vim
 junegunn/limelight.vim
 junegunn/seoul256.vim
+junegunn/vader.vim
 junegunn/vim-easy-align
 junegunn/vim-github-dashboard
 junegunn/vim-peekaboo
 junegunn/vim-plug
+junegunn/vim-slash
 justincampbell/vim-eighties
 justinmk/vim-dirvish
 justinmk/vim-sneak
@@ -163,9 +193,11 @@ KeitaNakamura/neodark.vim
 keith/swift.vim
 kien/rainbow_parentheses.vim
 konfekt/fastfold
+kristijanhusak/defx-icons
 kristijanhusak/vim-hybrid-material
 kshenoy/vim-signature
 lambdalisue/vim-gista
+lambdalisue/vim-manpager
 lambdalisue/vim-pager
 latex-box-team/latex-box
 leafgarland/typescript-vim
@@ -176,6 +208,7 @@ lervag/vimtex
 lfilho/cosco.vim
 lifepillar/vim-mucomplete
 lilydjwg/colorizer
+liuchengxu/vista.vim
 LnL7/vim-nix
 LucHermitte/lh-brackets
 LucHermitte/lh-vim-lib
@@ -208,13 +241,15 @@ MarcWeber/vim-addon-sql
 MarcWeber/vim-addon-syntax-checker
 MarcWeber/vim-addon-toggle-buffer
 MarcWeber/vim-addon-xdebug
-MaxMEllon/vim-jsx-pretty
 markonm/traces.vim
 martinda/Jenkinsfile-vim-syntax
+mattn/calendar-vim as mattn-calendar-vim
 mattn/emmet-vim
 mattn/gist-vim
 mattn/webapi-vim
+matze/vim-move
 maximbaz/lightline-ale
+MaxMEllon/vim-jsx-pretty
 mbbill/undotree
 megaannum/forms
 megaannum/self
@@ -227,6 +262,7 @@ mhinz/vim-signify
 mhinz/vim-startify
 michaeljsmith/vim-indent-object
 mileszs/ack.vim
+milkypostman/vim-togglelist
 mindriot101/vim-yapf
 mk12/vim-lean
 mkasa/lushtags
@@ -283,10 +319,14 @@ neomake/neomake
 neovimhaskell/haskell-vim
 neovimhaskell/nvim-hs.vim
 neovim/nvimdev.nvim
+neovim/nvim-lsp
 neutaaaaan/iosvkem
+nfnty/vim-nftables
+nicoe/deoplete-khard
 nixprime/cpsm
 NLKNguyen/papercolor-theme
 noc7c9/vim-iced-coffee-script
+norcalli/nvim-terminal.lua
 ntpeters/vim-better-whitespace
 numirias/semshi
 nvie/vim-flake8
@@ -308,6 +348,7 @@ posva/vim-vue
 powerman/vim-plugin-AnsiEsc
 PProvost/vim-ps1
 python-mode/python-mode
+qnighy/lalrpop.vim
 qpkorr/vim-bufkill
 Quramy/tsuquyomi
 racer-rust/vim-racer
@@ -324,6 +365,7 @@ rhysd/vim-grammarous
 rhysd/vim-operator-surround
 Rip-Rip/clang_complete
 rodjek/vim-puppet
+ron89/thesaurus_query.vim
 roxma/nvim-cm-racer
 roxma/nvim-completion-manager
 roxma/nvim-yarp
@@ -340,8 +382,8 @@ scrooloose/syntastic
 sebastianmarkow/deoplete-rust
 sheerun/vim-polyglot
 Shougo/context_filetype.vim
-Shougo/denite.nvim
 Shougo/defx.nvim
+Shougo/denite.nvim
 Shougo/deol.nvim
 Shougo/deoplete-lsp
 Shougo/deoplete.nvim
@@ -356,9 +398,11 @@ Shougo/neosnippet.vim
 Shougo/neoyank.vim
 Shougo/tabpagebuffer.vim
 Shougo/unite.vim
+Shougo/vimfiler.vim
 Shougo/vimproc.vim
 Shougo/vimshell.vim
 shumphrey/fugitive-gitlab.vim
+sickill/vim-pasta
 SirVer/ultisnips
 sjl/gundo.vim
 sjl/splice.vim
@@ -366,9 +410,12 @@ sk1418/last256
 slashmili/alchemist.vim
 sonph/onehalf
 stefandtw/quickfix-reflector.vim
+stephpy/vim-yaml
+svermeulen/vim-subversive
 t9md/vim-choosewin
 t9md/vim-smalls
 takac/vim-hardtime
+tbodt/deoplete-tabnine
 ternjs/tern_for_vim
 terryma/vim-expand-region
 terryma/vim-multiple-cursors
@@ -379,9 +426,12 @@ thinca/vim-quickrun
 thinca/vim-scouter
 thinca/vim-themis
 thinca/vim-visualstar
+thirtythreeforty/lessspace.vim
 thosakwe/vim-flutter
 tikhomirov/vim-glsl
+tmsvg/pear-tree
 tmux-plugins/vim-tmux
+tmux-plugins/vim-tmux-focus-events
 tomasr/molokai
 tomlion/vim-solidity
 tommcdo/vim-exchange
@@ -391,7 +441,9 @@ tomtom/tcomment_vim
 tomtom/tlib_vim
 tpope/vim-abolish
 tpope/vim-commentary
+tpope/vim-dadbod
 tpope/vim-dispatch
+tpope/vim-endwise
 tpope/vim-eunuch
 tpope/vim-fireplace
 tpope/vim-flagship
@@ -403,8 +455,10 @@ tpope/vim-projectionist
 tpope/vim-repeat
 tpope/vim-rhubarb
 tpope/vim-rsi
+tpope/vim-salve
 tpope/vim-scriptease
 tpope/vim-sensible
+tpope/vim-sexp-mappings-for-regular-people
 tpope/vim-sleuth
 tpope/vim-speeddating
 tpope/vim-surround
@@ -412,17 +466,23 @@ tpope/vim-tbone
 tpope/vim-unimpaired
 tpope/vim-vinegar
 travitch/hasksyn
+triglav/vim-visual-increment
 troydm/zoomwintab.vim
 twerth/ir_black
 twinside/vim-haskellconceal
 Twinside/vim-hoogle
 tyru/caw.vim
+tyru/open-browser-github.vim
 tyru/open-browser.vim
+uarun/vim-protobuf
+udalov/kotlin-vim
 ujihisa/neco-look
+unblevable/quick-scope
 valloric/youcompleteme
 vhda/verilog_systemverilog.vim
 vim-airline/vim-airline
 vim-airline/vim-airline-themes
+vimlab/split-term.vim
 vimoutliner/vimoutliner
 vim-pandoc/vim-pandoc
 vim-pandoc/vim-pandoc-after
@@ -443,12 +503,14 @@ vim-scripts/jdaddy.vim
 vim-scripts/matchit.zip
 vim-scripts/mayansmoke
 vim-scripts/PreserveNoEOL
+vim-scripts/prev_indent
 vim-scripts/random.vim
 vim-scripts/Rename
 vim-scripts/ReplaceWithRegister
 vim-scripts/ShowMultiBase
 vim-scripts/tabmerge
 vim-scripts/taglist.vim
+vim-scripts/utl.vim
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
 vim-utils/vim-husk
@@ -463,6 +525,7 @@ wellle/tmux-complete.vim
 will133/vim-dirdiff
 wincent/command-t
 wincent/ferret
+wsdjeg/vim-fetch
 xolox/vim-easytags
 xolox/vim-misc
 xuhdev/vim-latex-live-preview
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
index d1b1bc846ebd..16c14b322189 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
@@ -188,8 +188,7 @@ let
     vam ? null,
     pathogen ? null,
     plug ? null,
-    customRC ? "",
-    beforePlugins ? "",
+    customRC ? ""
   }:
 
     let
@@ -209,6 +208,8 @@ let
       ''
         let &rtp.=(empty(&rtp)?"":',')."${vimPlugins.pathogen.rtp}"
         execute pathogen#infect('${pluginsEnv}/{}')
+
+        filetype indent plugin on | syn on
       '');
 
       /* vim-plug is an extremely popular vim plugin manager.
@@ -260,6 +261,8 @@ let
 
       in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
       ''
+        filetype indent plugin on | syn on
+
         let g:nix_plugin_locations = {}
         ${lib.concatMapStrings (plugin: ''
           let g:nix_plugin_locations['${plugin.pname}'] = "${plugin.rtp}"
@@ -330,29 +333,19 @@ let
         set packpath-=~/.vim/after
         set packpath+=${packDir packages}
         set packpath+=~/.vim/after
-      '');
-
-      # somebody else could provide these implementations
-      vundleImpl = "";
-
-      neobundleImpl = "";
 
+        filetype indent plugin on | syn on
+      '');
 
   in writeText "vimrc" ''
-  " minimal setup, generated by NIX
+  " configuration generated by NIX
   set nocompatible
 
-  ${beforePlugins}
-
   ${vamImpl}
   ${pathogenImpl}
   ${plugImpl}
-  ${vundleImpl}
-  ${neobundleImpl}
   ${nativeImpl}
 
-  filetype indent plugin on | syn on
-
   ${customRC}
   '';
 
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
index bd9eeae92810..08fee83d8cee 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.25.1";
-    sha256 = "1i66m6l4q8vkygn24v5s06kxaxm9gdd8y75fjyzz189pnmijj1as";
+    version = "0.26.1";
+    sha256 = "09khm0byxa9mv8qbqrikd7akz3p816ra5z8l86xqkmbm6j1k4wpc";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
index e1b928b13731..b4ec1d2d6968 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
@@ -36,6 +36,18 @@ in
     };
   };
 
+  cmschuetz12.wal = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+        name = "wal";
+        publisher = "cmschuetz12";
+        version = "0.1.0";
+        sha256 = "0q089jnzqzhjfnv0vlb5kf747s3mgz64r7q3zscl66zb2pz5q4zd";
+    };
+    meta = with stdenv.lib; {
+      license = licenses.mit;
+    };
+  };
+
   formulahendry.auto-close-tag = buildVscodeMarketplaceExtension {
     mktplcRef = {
       name = "auto-close-tag";
@@ -48,6 +60,18 @@ in
     };
   };
 
+  james-yu.latex-workshop = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "latex-workshop";
+      publisher = "James-Yu";
+      version = "8.2.0";
+      sha256 = "1ai16aam4v5jzhxgms589q0l24kyk1a9in6z4i7g05b3sahyxab2";
+    };
+    meta = with stdenv.lib; {
+      license = licenses.mit;
+    };
+  };
+
   justusadam.language-haskell = buildVscodeMarketplaceExtension {
     mktplcRef = {
       name = "language-haskell";
@@ -60,18 +84,104 @@ in
     };
   };
 
+  ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-docker";
+      publisher = "ms-azuretools";
+      version = "0.8.1";
+      sha256 = "0n59whmcrx8946xix6skvc50f2vsc85ckvn8cs06w9mqmymm1q0s";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-kubernetes-tools";
+      publisher = "ms-kubernetes-tools";
+      version = "1.0.6";
+      sha256 = "12a4phl1pddsajy3n0ld6rp607iy0pif6pqrs6ljbg2x97fyra28";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  ms-vscode.Go = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "Go";
+      publisher = "ms-vscode";
+      version = "0.11.7";
+      sha256 = "1l6jjdfivw1pn9y4d4i7zf80ls1k1b0ap1d828ah57ad3bgmyqfi";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   ms-vscode.cpptools = callPackage ./cpptools {};
 
+  ms-vscode-remote.remote-ssh = callPackage ./remote-ssh {};
+
   ms-python.python = callPackage ./python {
     extractNuGet = callPackage ./python/extract-nuget.nix { };
   };
 
+  redhat.vscode-yaml = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-yaml";
+      publisher = "redhat";
+      version = "0.5.3";
+      sha256 = "03swlsp906rqlrx6jf3ibh7pk36sm0zdr8jfy6sr3w5lqjg27gka";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  scala-lang.scala = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "scala";
+      publisher = "scala-lang";
+      version = "0.3.8";
+      sha256 = "17dl10m3ayf57sqgil4mr9fjdm7i8gb5clrs227b768pp2d39ll9";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  scalameta.metals = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "metals";
+      publisher = "scalameta";
+      version = "1.6.3";
+      sha256 = "1mc3awybzd2ql1b86inirhsw3j2c7cs0b0nvbjp38jjpq674bmj7";
+    };
+    meta = {
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+
+  skyapps.fish-vscode = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "fish-vscode";
+      publisher = "skyapps";
+      version = "0.2.1";
+      sha256 = "0y1ivymn81ranmir25zk83kdjpjwcqpnc9r3jwfykjd9x0jib2hl";
+    };
+    meta = with stdenv.lib; {
+      license = licenses.mit;
+    };
+  };
+
   vscodevim.vim = buildVscodeMarketplaceExtension {
     mktplcRef = {
       name = "vim";
       publisher = "vscodevim";
-      version = "1.3.0";
-      sha256 = "18z24w7smjjnv945f8qyy6dl95xckyqa6gg3gijfcigvq5sgyawc";
+      version = "1.11.3";
+      sha256 = "1smzsgcrkhghbnpy51gp28kh74l7y4s2m8pfxabb4ffb751254j0";
     };
     meta = {
       license = stdenv.lib.licenses.mit;
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix
index f4ebea8e4383..00f97f373072 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix
@@ -23,14 +23,14 @@ let
     else throw "Only x86_64 Linux and Darwin are supported.";
 
   languageServerSha256 = {
-    linux-x64 = "0j9251f8dfccmg0x9gzg1cai4k5zd0alcfpb0443gs4jqakl0lr2";
-    osx-x64 = "070qwwl08fa24rsnln4i5x9mfriqaw920l6v2j8d1r0zylxnyjsa";
+    linux-x64 = "1w3y0sn6ijk1vspi4lailg1q1iy9lwslhx92c7jbrrkiaszvaqwn";
+    osx-x64 = "11l4fic8cvgh1l3dq6qxi51pwhcic79zf13rhyajl5w5g13caafp";
   }.${arch};
 
   # version is languageServerVersion in the package.json
   languageServer = extractNuGet rec {
     name = "Python-Language-Server";
-    version = "0.3.40";
+    version = "0.4.24";
 
     src = fetchurl {
       url = "https://pvsc.azureedge.net/python-language-server-stable/${name}-${arch}.${version}.nupkg";
@@ -41,8 +41,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "python";
     publisher = "ms-python";
-    version = "2019.6.24221";
-    sha256 = "1l82y3mbplzipcij5a0wqlykypik0sbba4hwr2r4vwiwb6kxscmx";
+    version = "2019.10.44104";
+    sha256 = "1k0wws430psrl8zp9ky5mifbg02qmh2brjyqk5k9pn3y1dks5gns";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix
new file mode 100644
index 000000000000..fe053dd7ea3d
--- /dev/null
+++ b/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, vscode-utils
+, useLocalExtensions ? false}:
+# Note that useLocalExtensions requires that vscode-server is not running
+# on host. If it is, you'll need to remove ~/.vscode-server,
+# and redo the install by running "Connect to host" on client
+
+let
+  inherit (vscode-utils) buildVscodeMarketplaceExtension;
+  
+  # patch runs on remote machine hence use of which
+  # links to local node if version is 12
+  patch = ''
+    f="/home/''$USER/.vscode-server/bin/''$COMMIT_ID/node"
+    localNodePath=''$(which node)
+    if [ -x "''$localNodePath" ]; then
+      localNodeVersion=''$(node -v)
+      if [ "\''${localNodeVersion:1:2}" = "12" ]; then
+        echo PATCH: replacing ''$f with ''$localNodePath
+        rm ''$f
+        ln -s ''$localNodePath ''$f
+      fi
+    fi
+    ${stdenv.lib.optionalString useLocalExtensions ''
+      # Use local extensions
+      if [ -d ~/.vscode/extensions ]; then
+        if ! test -L "~/.vscode-server/extensions"; then
+          mkdir -p ~/.vscode-server
+          ln -s ~/.vscode/extensions ~/.vscode-server/
+        fi
+      fi
+    ''}
+  '';
+in
+  buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "remote-ssh";
+      publisher = "ms-vscode-remote";
+      version = "0.48.0";
+      sha256 = "04q53gljqh5snkrdf5l69g0ahn1s5z35a4ipfcbf1rsjjmm85a19";
+    };
+
+    postPatch = ''
+      substituteInPlace "out/extension.js" \
+        --replace "# install extensions" '${patch}'
+    '';
+
+    meta = with stdenv.lib; {
+      description ="Use any remote machine with a SSH server as your development environment.";
+      license = licenses.unfree;
+      maintainers = with maintainers; [
+        tbenst
+      ];
+    };
+  }
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/wakatime/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/wakatime/default.nix
index 371b224d11ab..da8d940f71c7 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/wakatime/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/wakatime/default.nix
@@ -8,8 +8,8 @@ in
     mktplcRef = {
       name = "vscode-wakatime";
       publisher = "WakaTime";
-      version = "2.2.0";
-      sha256 = "0mwn72cp8rd9zc527k9l08iyap1wyqzpvzbj8142fa7nsy64jd04";
+      version = "2.2.1";
+      sha256 = "18hdmx993wvhcv13z9p8ylp3lf480axv4lyl0qx52pw2y2jgj1z8";
     };
 
     postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
index 7370901f3193..2d51c11f04a6 100644
--- a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
@@ -68,9 +68,9 @@ let
   } // lib.optionalAttrs stdenv'.isDarwin {
     MKRELRO = "no";
   } // lib.optionalAttrs (stdenv'.cc.isClang or false) {
-    HAVE_LLVM = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc));
+    HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc);
   } // lib.optionalAttrs (stdenv'.cc.isGNU or false) {
-    HAVE_GCC = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc));
+    HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc);
   } // lib.optionalAttrs (attrs.headersOnly or false) {
     installPhase = "includesPhase";
     dontBuild = true;
@@ -127,6 +127,11 @@ let
     nativeBuildInputs = [ makeMinimal ];
     buildInputs = [ zlib ];
 
+    # the build system re-runs `./configure` with `HOST_CC` (which is their
+    # name for Build CC) as a compiler to make `defs.mk`, which is installed
+    depsBuildBuild = [ buildPackages.stdenv.cc ] ++ buildInputs;
+    HOST_CC = "${buildPackages.stdenv.cc.targetPrefix}cc";
+
     # temporarily use gnuinstall for bootstrapping
     # bsdinstall will be built later
     makeFlags = [
@@ -218,9 +223,9 @@ let
     ];
     skipIncludesPhase = true;
     buildPhase = ''
-      cc  -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \
+      "$CC" -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \
           -o lib/libc/gen/fts.o
-      ar -rsc libfts.a lib/libc/gen/fts.o
+      "$AR" -rsc libfts.a lib/libc/gen/fts.o
     '';
     installPhase = ''
       runHook preInstall
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
index 66e24fe58770..86c241cd0f56 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
@@ -1,5 +1,5 @@
 linkSystemCoreFoundationFramework() {
-  NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks${NIX_CFLAGS_COMPILE:+ }${NIX_CFLAGS_COMPILE-}"
   # gross! many symbols (such as _OBJC_CLASS_$_NSArray) are defined in system CF, but not
   # in the opensource release
   # if the package needs private headers, we assume they also want to link with system CF
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
index ba5002c8c48f..c3914777c6dc 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -12,13 +12,12 @@ 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 ];
 
-    phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
     outputs = [ "out" "dev" "man" ];
 
     unpackPhase = ''
@@ -52,7 +51,7 @@ let
   framework = name: deps: stdenv.mkDerivation {
     name = "apple-framework-${name}";
 
-    phases = [ "installPhase" "fixupPhase" ];
+    dontUnpack = true;
 
     # because we copy files from the system
     preferLocalBuild = true;
@@ -137,7 +136,7 @@ in rec {
   libs = {
     xpc = stdenv.mkDerivation {
       name   = "apple-lib-xpc";
-      phases = [ "installPhase" "fixupPhase" ];
+      dontUnpack = true;
 
       installPhase = ''
         mkdir -p $out/include
@@ -150,7 +149,7 @@ in rec {
 
     Xplugin = stdenv.mkDerivation {
       name   = "apple-lib-Xplugin";
-      phases = [ "installPhase" "fixupPhase" ];
+      dontUnpack = true;
 
       # Not enough
       __propagatedImpureHostDeps = [ "/usr/lib/libXplugin.1.dylib" ];
@@ -168,7 +167,7 @@ in rec {
 
     utmp = stdenv.mkDerivation {
       name   = "apple-lib-utmp";
-      phases = [ "installPhase" "fixupPhase" ];
+      dontUnpack = true;
 
       installPhase = ''
         mkdir -p $out/include
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index c803bf421871..b5a378cc6ae1 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -70,6 +70,7 @@ with frameworks; with libs; {
   Kernel                  = [ IOKit ];
   LDAP                    = [];
   LatentSemanticMapping   = [ Carbon ];
+  LocalAuthentication     = [];
   MapKit                  = [];
   MediaAccessibility      = [ CoreGraphics CoreText QuartzCore ];
   MediaToolbox            = [ AudioToolbox AudioUnit CoreMedia ];
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
index fbd977f8552d..a351c39de130 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
@@ -1,6 +1,6 @@
 addPrivateFrameworks() {
     flag="-F/System/Library/PrivateFrameworks"
-    if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then
+    if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then
         NIX_CFLAGS_COMPILE+=" $flag"
     fi
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
index ed9bdbd912db..35cea773f98b 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
@@ -2,7 +2,7 @@ noDeprecatedDeclarations() {
   # Security.framework has about 2000 deprecated constants, all of which the user will be
   # warned about at compilation time
   flag="-Wno-deprecated-declarations"
-  if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then
+  if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then
     NIX_CFLAGS_COMPILE+=" $flag"
   fi
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix
index 2d5520b9bf9c..5685d09e54fe 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix
@@ -3,7 +3,7 @@
 appleDerivation {
   nativeBuildInputs = [ xcbuildHook ];
   buildInputs = [ IOKit ];
-  xcbuildFlags = "-target caffeinate";
+  xcbuildFlags = [ "-target" "caffeinate" ];
   installPhase = ''
     install -D Products/Deployment/caffeinate $out/bin/caffeinate
   '';
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix
index f335a6c11548..f1b5e19feb22 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix
@@ -5,7 +5,7 @@ appleDerivation {
   # buildInputs = [ Foundation xpc darling ];
   buildInputs = [ xpc xnu ];
 
-  xcbuildFlags = "-target Security_frameworks_osx";
+  xcbuildFlags = [ "-target" "Security_frameworks_osx" ];
 
   # NIX_CFLAGS_COMPILE = "-Wno-error -I${xnu}/include/libkern -DPRIVATE -I${xnu}/Library/Frameworks/System.framework/Headers";
 
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix
index 8706d22be19b..3e7e89642c26 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix
@@ -6,7 +6,7 @@ appleDerivation {
   buildInputs = [ CoreSymbolication darling xnu ];
   NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers -Wno-error=implicit-function-declaration";
   NIX_LDFLAGS = "-L./Products/Release";
-  xcbuildFlags = "-target dtrace_frameworks -target dtrace";
+  xcbuildFlags = [ "-target" "dtrace_frameworks" "-target" "dtrace" ];
 
   doCheck = false;
   checkPhase = "xcodebuild -target dtrace_tests";
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
index 8bd45aa008b9..2b196e46ef45 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
@@ -11,7 +11,7 @@ appleDerivation {
       --replace '#include <xpc/xpc.h>' ""
   '';
 
-  xcbuildFlags = "-target util";
+  xcbuildFlags = [ "-target" "util" ];
 
   installPhase = ''
     mkdir -p $out/include
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
index aaa3a1ebe327..afa5dc1c08cb 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
@@ -81,8 +81,8 @@ appleDerivation ({
     export DSTROOT=$out
   '';
 
-  buildFlags = lib.optionalString headersOnly "exporthdrs";
-  installTargets = lib.optionalString headersOnly "installhdrs";
+  buildFlags = lib.optional headersOnly "exporthdrs";
+  installTargets = lib.optional headersOnly "installhdrs";
 
   postInstall = lib.optionalString headersOnly ''
     mv $out/usr/include $out
diff --git a/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix b/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix
index 9f9a0c747247..e31f9b91f97d 100644
--- a/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/cctools/apfs.patch b/nixpkgs/pkgs/os-specific/darwin/cctools/apfs.patch
deleted file mode 100644
index 8c6b3c0d2738..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch b/nixpkgs/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d304771..17ad9053f3bd 100644
--- a/nixpkgs/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/cctools/port.nix b/nixpkgs/pkgs/os-specific/darwin/cctools/port.nix
index ff8f3eb5e265..1aee5c8c35e9 100644
--- a/nixpkgs/pkgs/os-specific/darwin/cctools/port.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix b/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix
index e68e77f55afe..2af1c5db2e32 100644
--- a/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix
@@ -1,23 +1,24 @@
-{ 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" ];
 
-  buildFlags = "libtapi";
+  buildFlags = [ "libtapi" ];
 
   installTarget = "install-libtapi";
 
diff --git a/nixpkgs/pkgs/os-specific/darwin/osxsnarf/default.nix b/nixpkgs/pkgs/os-specific/darwin/osxsnarf/default.nix
new file mode 100644
index 000000000000..e391be1807c1
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/darwin/osxsnarf/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub, plan9port, darwin, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "osxsnarf";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "eraserhd";
+    repo = "osxsnarf";
+    rev = "v${version}";
+    sha256 = "1vpg39mpc5avnv1j0yfx0x2ncvv38slmm83zv6nmm7alfwfjr2ss";
+  };
+
+  buildInputs = [ plan9port darwin.apple_sdk.frameworks.Carbon ];
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  meta = with lib; {
+    description = "A Plan 9-inspired way to share your OS X clipboard.";
+    homepage = https://github.com/eraserhd/osxsnarf;
+    license = licenses.unlicense;
+    platforms = platforms.darwin;
+    maintainers = [ maintainers.eraserhd ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
index 9f5f8aa44228..768ca6cf9c97 100644
--- a/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "reattach-to-user-namespace";
-  version = "2.7";
+  version = "2.8";
 
   src = fetchurl {
     url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v${version}.tar.gz";
-    sha256 = "00mjyj8yicrpnlm46rlbkvxgl5381l8xawh7rmjk10p3zrm56jbv";
+    sha256 = "0xxxdd26rcplhpvi2vy6crxadk3d1qkq4xry10lwq6dyya2jf6wb";
   };
 
-  buildFlags = "ARCHES=x86_64";
+  buildFlags = [ "ARCHES=x86_64" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 6f7caa8ec02c..4f2f84b3c0a5 100644
--- a/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/nixpkgs/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 ninja -j $NIX_BUILD_CORES; 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/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix b/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix
index ce47932587cf..86e6b54906ad 100644
--- a/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix
@@ -3,7 +3,7 @@
 let
    acpitool-patch-051-4 = params: fetchpatch rec {
      inherit (params) name sha256;
-     url = "https://anonscm.debian.org/cgit/pkg-acpi/acpitool.git/plain/debian/patches/${name}?h=debian/0.5.1-4&id=3fd9f396f12ec9c1cae3337a2a25026b7faad2ae";
+     url = "https://salsa.debian.org/debian/acpitool/raw/33e2ef42a663de820457b212ea2925e506df3b88/debian/patches/${name}";
    };
 
 in stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/os-specific/linux/alienfx/default.nix b/nixpkgs/pkgs/os-specific/linux/alienfx/default.nix
deleted file mode 100644
index d04e7b8fbeb0..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alienfx/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, libusb1, fetchgit}:
-
-
-let
-  rev = "85ee5eeaca59a1c92659c3f49b148b0447d78f16";
-in
-
-stdenv.mkDerivation {
-  name = "alienfx-1.0.0";
-  src = fetchgit {
-    inherit rev;
-    url = https://github.com/tibz/alienfx.git;
-
-    sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1";
-  };
-
-  prePatch = ''
-    substituteInPlace Makefile --replace /usr/ $out/
-    substituteInPlace Makefile --replace "install -o root -g root -m 4755" "install -m 555"
-  '';
-
-  patches = [./unistd.patch];
-  buildInputs = [ libusb1 ];
-  makeFlags = "build";
-  preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
-  '';
-  installTargets = "install";
-  postInstall = ''cp alienfx.1 $out/man/man1'';
-
-  meta = {
-    description = "Controls AlienFX lighting";
-    homepage = https://github.com/tibz/alienfx;
-    maintainers = [stdenv.lib.maintainers.tomberek];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
-
diff --git a/nixpkgs/pkgs/os-specific/linux/alienfx/unistd.patch b/nixpkgs/pkgs/os-specific/linux/alienfx/unistd.patch
deleted file mode 100644
index 546a27892f0d..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alienfx/unistd.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/alienfx.cpp b/alienfx.cpp
-index 5981039..aea8992 100644
---- a/alienfx.cpp
-+++ b/alienfx.cpp
-@@ -13,6 +13,7 @@
- #include <string.h>
- #include <iostream>
- #include <libusb-1.0/libusb.h>
-+#include <unistd.h>
- 
- using namespace std;
- 
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-firmware/default.nix
index 53fcf7d68433..7f0ba5498df6 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-firmware/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/alsa-oss/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-oss/default.nix
index d3e7dd5fa5da..77b351a19987 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-oss/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-oss/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-xmlto" ];
 
-  installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy";
+  installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ];
 
   meta = with stdenv.lib; {
     homepage = http://www.alsa-project.org/;
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-plugins/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-plugins/default.nix
index 2956b107aa71..a5262d6ae9ed 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix
index 6f23d1903188..7b356746861f 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/nixpkgs/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 = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-xmlto" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
 
-  installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy";
+  installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ];
 
   meta = with stdenv.lib; {
     homepage = http://www.alsa-project.org/;
diff --git a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix b/nixpkgs/pkgs/os-specific/linux/anbox/default.nix
index 755ec390a9cd..0012c3de9897 100644
--- a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix b/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix
index fee8d1e7a420..0888f2c54146 100644
--- a/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
index aed0ed374a78..2aa71b92beb1 100644
--- a/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "android-udev-rules";
-  version = "20190315";
+  version = "20191103";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "1w8zkww3cj6yzcsfzwvj1gkf4dfflhp1vd9fixnmlbm43kwkqrdr";
+    sha256 = "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
index 06c37d00d5e7..7030bc0ca315 100644
--- a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
@@ -14,7 +14,7 @@
 
 let
   apparmor-series = "2.13";
-  apparmor-patchver = "1";
+  apparmor-patchver = "3";
   apparmor-version = apparmor-series + "." + apparmor-patchver;
 
   apparmor-meta = component: with stdenv.lib; {
@@ -27,7 +27,7 @@ let
 
   apparmor-sources = fetchurl {
     url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "7a060d94c275e59f96bacd1da150e6fee2c9152a85bf57800109d07d51ef8afb";
+    sha256 = "0fbnk9fzjsffwcijsv2wwykmybvfdckpqk99qlib3kb89him6w16";
   };
 
   prePatchCommon = ''
@@ -124,8 +124,8 @@ let
     prePatch = prePatchCommon;
     inherit patches;
     postPatch = "cd ./utils";
-    makeFlags = ''LANGS='';
-    installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin VIM_INSTALL_PATH=$(out)/share PYPREFIX='';
+    makeFlags = [ "LANGS=" ];
+    installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" "VIM_INSTALL_PATH=$(out)/share" "PYPREFIX=" ];
 
     postInstall = ''
       for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-status aa-unconfined ; do
@@ -162,8 +162,8 @@ let
 
     prePatch = prePatchCommon;
     postPatch = "cd ./binutils";
-    makeFlags = ''LANGS= USE_SYSTEM=1'';
-    installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin'';
+    makeFlags = [ "LANGS=" "USE_SYSTEM=1" ];
+    installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" ];
 
     inherit doCheck;
 
@@ -187,8 +187,11 @@ let
     '';
     inherit patches;
     postPatch = "cd ./parser";
-    makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include AR=${stdenv.cc.bintools.targetPrefix}ar'';
-    installFlags = ''DESTDIR=$(out) DISTRO=unknown'';
+    makeFlags = [
+      "LANGS=" "USE_SYSTEM=1" "INCLUDEDIR=${libapparmor}/include"
+      "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    ];
+    installFlags = [ "DESTDIR=$(out)" "DISTRO=unknown" ];
 
     inherit doCheck;
 
@@ -204,8 +207,8 @@ let
     buildInputs = [ libapparmor pam ];
 
     postPatch = "cd ./changehat/pam_apparmor";
-    makeFlags = ''USE_SYSTEM=1'';
-    installFlags = ''DESTDIR=$(out)'';
+    makeFlags = [ "USE_SYSTEM=1" ];
+    installFlags = [ "DESTDIR=$(out)" ];
 
     inherit doCheck;
 
@@ -219,7 +222,7 @@ let
     nativeBuildInputs = [ which ];
 
     postPatch = "cd ./profiles";
-    installFlags = ''DESTDIR=$(out) EXTRAS_DEST=$(out)/share/apparmor/extra-profiles'';
+    installFlags = [ "DESTDIR=$(out)" "EXTRAS_DEST=$(out)/share/apparmor/extra-profiles" ];
 
     inherit doCheck;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/ati-drivers/builder.sh b/nixpkgs/pkgs/os-specific/linux/ati-drivers/builder.sh
index f6ad8e2c03b6..09d218e87458 100644
--- a/nixpkgs/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/ati-drivers/default.nix b/nixpkgs/pkgs/os-specific/linux/ati-drivers/default.nix
index b79054d44065..a391f73391fb 100644
--- a/nixpkgs/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/audit/default.nix b/nixpkgs/pkgs/os-specific/linux/audit/default.nix
index 4a569e1e1c3d..dab950496430 100644
--- a/nixpkgs/pkgs/os-specific/linux/audit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/audit/default.nix
@@ -61,6 +61,6 @@ stdenv.mkDerivation rec {
     homepage = https://people.redhat.com/sgrubb/audit/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/autofs/default.nix b/nixpkgs/pkgs/os-specific/linux/autofs/default.nix
index 38e2fa9bd344..591a9a8792fc 100644
--- a/nixpkgs/pkgs/os-specific/linux/autofs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/autofs/default.nix
@@ -2,14 +2,14 @@
 , libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }:
 
 let
-  version = "5.1.5";
+  version = "5.1.6";
   name = "autofs-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
-    sha256 = "1nn0z60f49zchpv8yw67fk8hmbjszpnczs0bj2ql2vgxwbcxmbr3";
+    sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/alfred.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/alfred.nix
index 1f24f4182de2..fa2be46688cb 100644
--- a/nixpkgs/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
-let
-  ver = "2019.3";
-in
+let cfg = import ./version.nix; in
+
 stdenv.mkDerivation rec {
-  name = "alfred-${ver}";
+  pname = "alfred";
+  inherit (cfg) version;
 
   src = fetchurl {
-    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0rj7vyir4m63b69fgrz06mqlw7nivjfc8mdv19l02xs9vqh7khx4";
+    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${version}/${pname}-${version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/batctl.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/batctl.nix
index 537010dea53d..57bafb398d1e 100644
--- a/nixpkgs/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
-let
-  ver = "2019.3";
-in
+let cfg = import ./version.nix; in
+
 stdenv.mkDerivation rec {
-  name = "batctl-${ver}";
+  pname = "batctl";
+  inherit (cfg) version;
 
   src = fetchurl {
-    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0307a01n72kg7vcm60mi8jna6bydiin2cr3ylrixra1596hkzn9b";
+    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${version}/${pname}-${version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix
index 456872cdbd48..796be1e5d484 100644
--- a/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2019.2"; in
+let cfg = import ./version.nix; in
 
-stdenv.mkDerivation {
-  name = "${base}-${kernel.version}";
+stdenv.mkDerivation rec {
+  pname = "batman-adv";
+  version = "${cfg.version}-${kernel.version}";
 
   src = fetchurl {
-    url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1j5day3hia5nd21kb3msjblrybfr5sjnhrx7h5bb5ll8rykgdhvh";
+    url = "http://downloads.open-mesh.org/batman/releases/${pname}-${cfg.version}/${pname}-${cfg.version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix
new file mode 100644
index 000000000000..f9f3013e1f96
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix
@@ -0,0 +1,9 @@
+{
+  version = "2019.5";
+
+  sha256 = {
+    batman-adv = "1v18zvvg12jgywncbhxshgjc93r72ajpxgw22zp0zx22g2q13z99";
+    alfred = "09npizg89ks1wm19l5xz0pq1ljpsbwy030xnprqnd0p53976wywa";
+    batctl = "1b9w4636dq8m38nzr8j0v0j3b0vdsw84c58c2isc33h66dx8brgz";
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/bcc/default.nix b/nixpkgs/pkgs/os-specific/linux/bcc/default.nix
index 014ebe80cdcc..ffb14e9c3c12 100644
--- a/nixpkgs/pkgs/os-specific/linux/bcc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bcc/default.nix
@@ -1,38 +1,25 @@
 { stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel
 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
-, systemtap
+, systemtap, bash
 }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "0.10.0";
+  version = "0.12.0";
   name = "bcc-${version}";
 
-  srcs = [
-    (fetchFromGitHub {
-      owner  = "iovisor";
-      repo   = "bcc";
-      rev    = "v${version}";
-      sha256 = "0qbqygj7ia494fbira9ajavvnxlpffx1jlzbb1vsf1wa8h3y4xn1";
-      name   = "bcc";
-    })
-
-    # note: keep this in sync with the version that was used at the time of the
-    # tagged release!
-    (fetchFromGitHub {
-      owner  = "libbpf";
-      repo   = "libbpf";
-      rev    = "0e37e0d03ac99987401e4496d3d76d44237b9963";
-      sha256 = "0wjf9dhvqkwiwnygzikamrgmpxgq77h2pxx6mi4pnbw0lxlppivr";
-      name   = "libbpf";
-    })
-  ];
-  sourceRoot = "bcc";
+  src = fetchFromGitHub {
+    owner  = "iovisor";
+    repo   = "bcc";
+    rev    = "v${version}";
+    sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym";
+    fetchSubmodules = true;
+  };
   format = "other";
 
   buildInputs = with llvmPackages; [
     llvm clang-unwrapped kernel
     elfutils luajit netperf iperf
-    systemtap.stapBuild flex
+    systemtap.stapBuild flex bash
   ];
 
   patches = [
@@ -58,12 +45,6 @@ python.pkgs.buildPythonApplication rec {
     patch -p1 < libbcc-path.patch
   '';
 
-  preConfigure = ''
-    chmod -R u+w ../libbpf/
-    rmdir src/cc/libbpf
-    (cd src/cc && ln -svf ../../../libbpf/ libbpf)
-  '';
-
   postInstall = ''
     mkdir -p $out/bin $out/share
     rm -r $out/share/bcc/tools/old
@@ -76,6 +57,8 @@ python.pkgs.buildPythonApplication rec {
       if [ ! -e $bin ]; then
         ln -s $f $bin
       fi
+      substituteInPlace "$f" \
+        --replace '$(dirname $0)/lib' "$out/share/bcc/tools/lib"
     done
 
     sed -i -e "s!lib=.*!lib=$out/bin!" $out/bin/{java,ruby,node,python}gc
diff --git a/nixpkgs/pkgs/os-specific/linux/beegfs/default.nix b/nixpkgs/pkgs/os-specific/linux/beegfs/default.nix
deleted file mode 100644
index 7ce2fea69245..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/beegfs/kernel-module.nix b/nixpkgs/pkgs/os-specific/linux/beegfs/kernel-module.nix
deleted file mode 100644
index 286252b927b1..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/blcr/default.nix b/nixpkgs/pkgs/os-specific/linux/blcr/default.nix
deleted file mode 100644
index e018f4622b48..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/blcr/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, kernel, perl, makeWrapper }:
-
-# BLCR version 0.8.6 should works with linux kernel up to version 3.17.x
-
-assert stdenv.lib.versionOlder "3.18" kernel.version;
-
-stdenv.mkDerivation {
-  name = "blcr_${kernel.version}-0.8.6pre4";
-
-  src = fetchurl {
-    url = https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz;
-    sha256 = "1a3gdhdnmk592jc652szxgfz8rjd8dax5jwxfsypiqx5lgkj3m21";
-  };
-
-  buildInputs = [ perl makeWrapper ];
-
-  hardeningDisable = [ "pic" ];
-
-  preConfigure = ''
-    configureFlagsArray=(
-      --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
-      --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
-      --with-system-map=${kernel}/System.map
-    )
-  '';
-
-  postInstall = ''
-    for prog in "$out/bin/"*
-    do
-      wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib"
-    done
-  '';
-
-  meta = {
-    description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
-    homepage = https://ftg.lbl.gov/projects/CheckpointRestart/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch b/nixpkgs/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch
deleted file mode 100644
index 749787c5b3a7..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Submitted By:            Armin K. <krejzi at email dot com>
-Date:                    2013-04-29
-Initial Package Version: 5.17
-Upstream Status:         unknown
-Origin:                  Arch Linux (Giovanni Campagna)
-Description:             Allow using obexd without systemd in the user session
-
-Not all sessions run systemd --user (actually, the majority
-doesn't), so the dbus daemon must be able to spawn obexd
-directly, and to do so it needs the full path of the daemon.
----
- Makefile.obexd                      | 4 ++--
- obexd/src/org.bluez.obex.service    | 4 ----
- obexd/src/org.bluez.obex.service.in | 4 ++++
- 3 files changed, 6 insertions(+), 6 deletions(-)
- delete mode 100644 obexd/src/org.bluez.obex.service
- create mode 100644 obexd/src/org.bluez.obex.service.in
-
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 3760867..142e7c3 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -2,12 +2,12 @@
- if SYSTEMD
- systemduserunitdir = @SYSTEMD_USERUNITDIR@
- systemduserunit_DATA = obexd/src/obex.service
-+endif
- 
- dbussessionbusdir = @DBUS_SESSIONBUSDIR@
- dbussessionbus_DATA = obexd/src/org.bluez.obex.service
--endif
- 
--EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
-+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
- 
- obex_plugindir = $(libdir)/obex/plugins
- 
-diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
-deleted file mode 100644
-index a538088..0000000
---- a/obexd/src/org.bluez.obex.service
-+++ /dev/null
-@@ -1,4 +0,0 @@
--[D-BUS Service]
--Name=org.bluez.obex
--Exec=/bin/false
--SystemdService=dbus-org.bluez.obex.service
-diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
-new file mode 100644
-index 0000000..9c815f2
---- /dev/null
-+++ b/obexd/src/org.bluez.obex.service.in
-@@ -0,0 +1,4 @@
-+[D-BUS Service]
-+Name=org.bluez.obex
-+Exec=@libexecdir@/obexd
-+SystemdService=dbus-org.bluez.obex.service
--- 
-1.8.3.1
-
-
diff --git a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
index be43d23d6115..cf9bcec554c3 100644
--- a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
@@ -1,67 +1,83 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
-  python3, readline, udev, libical, systemd, fetchpatch,
-  enableWiimote ? false, enableMidi ? false, enableSixaxis ? false }:
+{ stdenv
+, lib
+, fetchurl
+, alsaLib
+, dbus
+, glib
+, json_c
+, libical
+, pkgconfig
+, python3
+, readline
+, systemd
+, udev
+}:
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.50";
+  pname = "bluez";
+  version = "5.52";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z";
+    url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz";
+    sha256 = "02jng21lp6fb3c2bh6vf9y7cj4gaxwk29dfc32ncy0lj0gi4q57p";
   };
 
   pythonPath = with python3.pkgs; [
-    dbus-python pygobject2 pygobject3 recursivePthLoader
+    dbus-python
+    pygobject3
+    recursivePthLoader
   ];
 
   buildInputs = [
-    dbus glib alsaLib python3 python3.pkgs.wrapPython
-    readline udev libical
+    alsaLib
+    dbus
+    glib
+    json_c
+    libical
+    python3
+    readline
+    udev
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    pkgconfig
+    python3.pkgs.wrapPython
+  ];
 
   outputs = [ "out" "dev" "test" ];
 
-  patches = [
-    ./bluez-5.37-obexd_without_systemd-1.patch
-    (fetchpatch {
-      url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=1880b299086659844889cdaf687133aca5eaf102";
-      name = "CVE-2018-10910-1.patch";
-      sha256 = "17spsxza27gif8jpxk7360ynvwii1llfdfwg35rwywjjmvww0qj4";
-    })
-    (fetchpatch {
-      url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=9213ff7642a33aa481e3c61989ad60f7985b9984";
-      name = "CVE-2018-10910-2.patch";
-      sha256 = "0j7klbhym64yhn86dbsmybqmwx47bviyyhx931izl1p29z2mg8hn";
-    })
-  ];
-
-  postConfigure = ''
+  postPatch = ''
     substituteInPlace tools/hid2hci.rules \
       --replace /sbin/udevadm ${systemd}/bin/udevadm \
       --replace "hid2hci " "$out/lib/udev/hid2hci "
   '';
 
-  configureFlags = (with stdenv.lib; [
+  configureFlags = [
     "--localstatedir=/var"
     "--enable-library"
     "--enable-cups"
     "--enable-pie"
-    "--with-dbusconfdir=$(out)/etc"
-    "--with-dbussystembusdir=$(out)/share/dbus-1/system-services"
-    "--with-dbussessionbusdir=$(out)/share/dbus-1/services"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    "--with-systemduserunitdir=$(out)/etc/systemd/user"
-    "--with-udevdir=$(out)/lib/udev"
-    ] ++ optional enableWiimote [ "--enable-wiimote" ]
-      ++ optional enableMidi    [ "--enable-midi" ]
-      ++ optional enableSixaxis [ "--enable-sixaxis" ]);
+    "--with-dbusconfdir=${placeholder "out"}/share"
+    "--with-dbussystembusdir=${placeholder "out"}/share/dbus-1/system-services"
+    "--with-dbussessionbusdir=${placeholder "out"}/share/dbus-1/services"
+    "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
+    "--with-udevdir=${placeholder "out"}/lib/udev"
+    "--enable-health"
+    "--enable-mesh"
+    "--enable-midi"
+    "--enable-nfc"
+    "--enable-sap"
+    "--enable-sixaxis"
+    "--enable-wiimote"
+  ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
-  installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
+  installFlags = [ "statedir=$(TMPDIR)/var/lib/bluetooth" ];
+
+  makeFlags = [ "rulesdir=${placeholder "out"}/lib/udev/rules.d" ];
 
-  makeFlags = "rulesdir=$(out)/lib/udev/rules.d";
+  doCheck = stdenv.hostPlatform.isx86_64;
 
   postInstall = ''
     mkdir -p $test/{bin,test}
diff --git a/nixpkgs/pkgs/os-specific/linux/bpftool/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftool/default.nix
index c54e3e38e9b5..8b288fc046a6 100644
--- a/nixpkgs/pkgs/os-specific/linux/bpftool/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bpftool/default.nix
@@ -1,13 +1,13 @@
 { stdenv
 , libopcodes, libbfd, libelf
-, linuxPackages_latest
+, linuxPackages_latest, zlib
 }:
 
 stdenv.mkDerivation {
   pname = "bpftool";
   inherit (linuxPackages_latest.kernel) version src;
 
-  buildInputs = [ libopcodes libbfd libelf ];
+  buildInputs = [ libopcodes libbfd libelf zlib ];
 
   preConfigure = ''
     cd tools/bpf/bpftool
diff --git a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
index 7f5cd206f32c..9eb9c53b8dd4 100644
--- a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.9.1";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner  = "iovisor";
     repo   = "bpftrace";
     rev    = "refs/tags/v${version}";
-    sha256 = "17qf1c3h99iyxkc0xzix4jnxwqvxbg9ki23zm7l04qw73lj01g1m";
+    sha256 = "1qkfbmksdssmm1qxcvcwdql1pz8cqy233195n9i9q5dhk876f75v";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/brillo/default.nix b/nixpkgs/pkgs/os-specific/linux/brillo/default.nix
new file mode 100644
index 000000000000..1262260664cd
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/brillo/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitLab , go-md2man, coreutils, substituteAll }:
+
+stdenv.mkDerivation rec {
+  pname = "brillo";
+  version = "1.4.9";
+
+  src = fetchFromGitLab {
+    owner= "cameronnemo";
+    repo= "brillo";
+    rev= "v${version}";
+    sha256 = "0ab7s60zcgl6hvm0a9rlwq35p25n3jnw6r9256pwl4cdwyjyybsb";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./udev-rule.patch;
+      inherit coreutils;
+    })
+  ];
+
+  nativeBuildInputs = [ go-md2man ];
+
+  makeFlags = [ "PREFIX=$(out)" "AADIR=$(out)/etc/apparmor.d" ];
+
+  installTargets = [ "install-dist" ];
+
+  meta = with stdenv.lib; {
+    description = "Backlight and Keyboard LED control tool";
+    homepage = https://gitlab.com/cameronnemo/brillo;
+    license = [ licenses.gpl3 licenses.bsd0 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.alexarice ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/brillo/udev-rule.patch b/nixpkgs/pkgs/os-specific/linux/brillo/udev-rule.patch
new file mode 100644
index 000000000000..7b1cf4840675
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/brillo/udev-rule.patch
@@ -0,0 +1,13 @@
+diff --git a/contrib/udev.in b/contrib/udev.in
+index 0625952..a6c940e 100644
+--- a/contrib/udev.in
++++ b/contrib/udev.in
+@@ -1,4 +1,4 @@
+-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp @group@ /sys/class/backlight/%k/brightness"
+-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
+-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp @group@ /sys/class/leds/%k/brightness"
+-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/backlight/%k/brightness"
++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chmod g+w /sys/class/backlight/%k/brightness"
++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/leds/%k/brightness"
++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chmod g+w /sys/class/leds/%k/brightness"
diff --git a/nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix b/nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix
index 93ac3fe5b745..e24171dfefec 100644
--- a/nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     ./gcc.patch
   ];
 
-  makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
+  makeFlags = [ "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" ];
 
   unpackPhase = ''
     sourceRoot=broadcom-sta
diff --git a/nixpkgs/pkgs/os-specific/linux/btfs/default.nix b/nixpkgs/pkgs/os-specific/linux/btfs/default.nix
index 27fa40887ed2..d2e5d91e3651 100644
--- a/nixpkgs/pkgs/os-specific/linux/btfs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/btfs/default.nix
@@ -3,25 +3,20 @@
 
 stdenv.mkDerivation rec {
   pname = "btfs";
-  version = "2.19";
+  version = "2.20";
 
   src = fetchFromGitHub {
     owner  = "johang";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1b58zqha2hpnk4ysp9870wd9pkyy6l106ghp0z0x655q70npj0wn";
+    sha256 = "1xil18nmivakdv6rz4sd3203gzfisdvj79spni59kv7dby64rxdz";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
-    boost fuse libtorrentRasterbar curl
+    boost fuse libtorrentRasterbar curl python3
   ];
 
-  preInstall = ''
-    substituteInPlace scripts/btplay \
-      --replace "/usr/bin/env python" "${python3.interpreter}"
-  '';
-
   meta = with stdenv.lib; {
     description = "A bittorrent filesystem based on FUSE";
     homepage    = https://github.com/johang/btfs;
diff --git a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
index f041d2b50429..41ac6e94ab37 100644
--- a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
@@ -1,6 +1,8 @@
 { stdenv, lib, buildPackages, fetchurl
 , enableStatic ? false
 , enableMinimal ? false
+# Allow forcing musl without switching stdenv itself, e.g. for our bootstrapping:
+# nix build -f pkgs/top-level/release.nix stdenvBootstrapTools.x86_64-linux.dist
 , useMusl ? stdenv.hostPlatform.libc == "musl", musl
 , extraConfig ? ""
 }:
@@ -32,14 +34,14 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.30.1";
+  name = "busybox-1.31.1";
 
   # Note to whoever is updating busybox: please verify that:
   # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test
   # still builds after the update.
   src = fetchurl {
     url = "https://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "1p7vbnwj60q6zkzrzq3pa8ybb7mviv2aa5a8g7s4hh6kvfj0879x";
+    sha256 = "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh";
   };
 
   hardeningDisable = [ "format" "pie" ]
@@ -88,7 +90,7 @@ stdenv.mkDerivation rec {
     runHook postConfigure
   '';
 
-  postConfigure = lib.optionalString useMusl ''
+  postConfigure = lib.optionalString (useMusl && stdenv.hostPlatform.libc != "musl") ''
     makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}cc -isystem ${musl.dev}/include -B${musl}/lib -L${musl}/lib")
   '';
 
diff --git a/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix b/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
index c2d82ebc487a..036ea0a0f486 100644
--- a/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
+++ b/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
@@ -2,8 +2,6 @@
 
 # Minimal shell for use as basic /bin/sh in sandbox builds
 busybox.override {
-  # musl roadmap has RISC-V support projected for 1.1.20
-  useMusl = !stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.libc != "bionic";
   enableStatic = true;
   enableMinimal = true;
   extraConfig = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/nixpkgs/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
index 58038923890b..d9608650ed9d 100644
--- a/nixpkgs/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
@@ -1,6 +1,6 @@
-{fetchgit }:
+{ fetchFromGitiles }:
 
-fetchgit {
+fetchFromGitiles {
   name = "chromium-xorg-conf";
   url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf";
   rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514";
diff --git a/nixpkgs/pkgs/os-specific/linux/cifs-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/cifs-utils/default.nix
index ea6a6e775722..1ee7ece05377 100644
--- a/nixpkgs/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ kerberos keyutils pam talloc ];
 
-  makeFlags = "root_sbindir=$(out)/sbin";
+  makeFlags = [ "root_sbindir=$(out)/sbin" ];
 
   meta = with stdenv.lib; {
     homepage = http://www.samba.org/linux-cifs/cifs-utils/;
diff --git a/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix b/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix
index 8ea3e3445cce..c46af5fba85c 100644
--- a/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "DESTDIR=$(out)"];
 
-  installFlags = ''PREFIX=""'';
+  installFlags = [ "PREFIX=\"\"" ];
 
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/linuxconsole/;
diff --git a/nixpkgs/pkgs/os-specific/linux/cpupower/default.nix b/nixpkgs/pkgs/os-specific/linux/cpupower/default.nix
index 1b307da8cb80..601810f26000 100644
--- a/nixpkgs/pkgs/os-specific/linux/cpupower/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cpupower/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation {
     sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile
   '';
 
-  makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ];
+  makeFlags = [
+    "CROSS=${stdenv.cc.targetPrefix}"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
 
   installFlags = stdenv.lib.mapAttrsToList
     (n: v: "${n}dir=${placeholder "out"}/${v}") {
diff --git a/nixpkgs/pkgs/os-specific/linux/criu/default.nix b/nixpkgs/pkgs/os-specific/linux/criu/default.nix
index 354eea40b24b..3210a0106a6f 100644
--- a/nixpkgs/pkgs/os-specific/linux/criu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/criu/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "criu";
-  version = "3.12";
+  version = "3.13";
 
   src = fetchurl {
     url    = "https://download.openvz.org/criu/${pname}-${version}.tar.bz2";
-    sha256 = "1z0fpym8fi2jqx99himqs8pm5l4mzrswjqxcyfwjmbabzb77dwhf";
+    sha256 = "1yn9ix9lqvqvjrs3a3g6g1wqfniyf9n7giy0mr3jvijmrcm7y0pa";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix b/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix
new file mode 100644
index 000000000000..a399ad7029f9
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitLab, kernel }:
+
+stdenv.mkDerivation rec {
+  pname = "ddcci-driver";
+  version = "0.3.2";
+  name = "${pname}-${kernel.version}-${version}";
+
+  src = fetchFromGitLab {
+    owner = "${pname}-linux";
+    repo = "${pname}-linux";
+    rev = "v${version}";
+    sha256 = "0jl4l3vvxn85cbqr80p6bgyhf2vx9kbadrwx086wkj9ni8k6x5m6";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=incompatible-pointer-types" ];
+
+  prePatch = ''
+    substituteInPlace ./ddcci/Makefile \
+      --replace 'SUBDIRS="$(src)"' 'M=$(PWD)' \
+      --replace depmod \#
+    substituteInPlace ./ddcci-backlight/Makefile \
+      --replace 'SUBDIRS="$(src)"' 'M=$(PWD)' \
+      --replace depmod \#
+  '';
+
+  makeFlags = [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "KVER=${kernel.modDirVersion}"
+    "KERNEL_MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
+    "INCLUDEDIR=$(out)/include"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Kernel module driver for DDC/CI monitors";
+    homepage = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ bricewge ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix b/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
index a77200a68f7d..5e99e870ac83 100644
--- a/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
+++ b/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
@@ -11,7 +11,7 @@ stdenvNoCC.mkDerivation {
 
     cp ${raspberrypifw}/share/raspberrypi/boot/bcm*.dtb .
 
-    cp bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
+    cp bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb
     cp bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
     cp bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
     cp bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
@@ -23,6 +23,7 @@ stdenvNoCC.mkDerivation {
     cp bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
     cp bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
     cp bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
+    cp bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/os-specific/linux/digimend/default.nix b/nixpkgs/pkgs/os-specific/linux/digimend/default.nix
new file mode 100644
index 000000000000..94f32d2c4329
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/digimend/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, fetchpatch, kernel }:
+
+assert stdenv.lib.versionAtLeast kernel.version "3.5";
+
+stdenv.mkDerivation rec {
+  pname = "digimend";
+  version = "unstable-2019-06-18";
+
+  src = fetchFromGitHub {
+    owner = "digimend";
+    repo = "digimend-kernel-drivers";
+    rev = "8b228a755e44106c11f9baaadb30ce668eede5d4";
+    sha256 = "1l54j85540386a8aypqka7p5hy1b63cwmpsscv9rmmf10f78v8mm";
+  };
+
+  INSTALL_MOD_PATH = "\${out}";
+
+  postPatch = ''
+    sed 's/udevadm /true /' -i Makefile
+    sed 's/depmod /true /' -i Makefile
+  '';
+
+  patches = [
+    # Fix build on Linux kernel >= 5.4
+    # https://github.com/DIGImend/digimend-kernel-drivers/pull/331
+    (fetchpatch {
+      url = "https://github.com/DIGImend/digimend-kernel-drivers/commit/fb8a2eb6a9198bb35aaccb81e22dd5ebe36124d1.patch";
+      sha256 = "1j7l5hsk59gccydpf7n6xx1ki4rm6aka7k879a7ah5jn8p1ylgw9";
+    })
+  ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  postInstall = ''
+    # Remove module reload hack.
+    # The hid-rebind unloads and then reloads the hid-* module to ensure that
+    # the extra/ module is loaded.
+    rm -r $out/lib/udev
+  '';
+
+  makeFlags = [
+    "KVERSION=${kernel.modDirVersion}"
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "DESTDIR=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "DIGImend graphics tablet drivers for the Linux kernel";
+    homepage = "https://digimend.github.io/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ gebner ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
index 7ce5535313c2..642d05e4beb6 100644
--- a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
@@ -11,22 +11,22 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "displaylink";
-  version = "4.4.24";
+  version = "5.2.14";
 
   src = requireFile rec {
     name = "displaylink.zip";
-    sha256 = "0c02mg7vbijpfpk9imh0hmls1yiglc216zfllw5ar86r1slhd5y0";
+    sha256 = "03b176y95f04rg3lcnjps9llsjbvd8yksh1fpvjwaciz48mnxh2i";
     message = ''
       In order to install the DisplayLink drivers, you must first
       comply with DisplayLink's EULA and download the binaries and
       sources from here:
 
-      http://www.displaylink.com/downloads/file?id=1261
+      http://www.displaylink.com/downloads/file?id=1369
 
       Once you have downloaded the file, please use the following
       commands and re-run the installation:
 
-      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${version}.zip" \$PWD/${name}
+      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${lib.versions.majorMinor version}.zip" \$PWD/${name}
       nix-prefetch-url file://\$PWD/${name}
     '';
   };
@@ -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 {
@@ -67,8 +67,9 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux";
+    maintainers = with maintainers; [ nshalman abbradar peterhoeg ];
     platforms = [ "x86_64-linux" "i686-linux" ];
     license = licenses.unfree;
-    homepage = https://www.displaylink.com/;
+    homepage = "https://www.displaylink.com/";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/displaylink/udev-installer.patch b/nixpkgs/pkgs/os-specific/linux/displaylink/udev-installer.patch
index 3e62e20c3150..bd7d9d145c9a 100644
--- a/nixpkgs/pkgs/os-specific/linux/displaylink/udev-installer.patch
+++ b/nixpkgs/pkgs/os-specific/linux/displaylink/udev-installer.patch
@@ -4,13 +4,13 @@
    cat <<'EOF'
  start_service()
  {
--  systemctl start dlm
+-  systemctl start displaylink-driver
 +  @systemd@/bin/systemctl start --no-block dlm
  }
  
  stop_service()
  {
--  systemctl stop dlm
+-  systemctl stop displaylink-driver
 +  @systemd@/bin/systemctl stop dlm
  }
  
diff --git a/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix b/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix
index a4ec902f762d..55dcba378ca1 100644
--- a/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07";
   };
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://www.nongnu.org/dmidecode/;
diff --git a/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix b/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix
index 1d67b16a4921..0f7f2f9817a5 100644
--- a/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dmtcp";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
-    owner = "dmtcp";
-    repo = "dmtcp";
+    owner = pname;
+    repo = pname;
     rev = version;
-    sha256 = "1sq38in4wk855yhfnzbs9xpnps97fhja93w08xjmx7szzm33g5a8";
+    sha256 = "01skyhr573w1dygvkwz66lvir2jsq443fjwkysglwxvmrdfz9kwd";
   };
 
   dontDisableStatic = true;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       --replace "os.getenv('USER')" "\"nixbld1\""
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Distributed MultiThreaded Checkpointing";
     longDescription = ''
       DMTCP (Distributed MultiThreaded Checkpointing) is a tool to
@@ -41,7 +41,8 @@ stdenv.mkDerivation rec {
       programs spread across many machines and connected by sockets. It does
       not modify the user's program or the operating system.
     '';
-    homepage = http://dmtcp.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl3Plus; # most files seem this or LGPL-2.1+
+    homepage = "http://dmtcp.sourceforge.net/";
+    license = licenses.lgpl3Plus; # most files seem this or LGPL-2.1+
+    platforms = intersectLists platforms.linux platforms.x86; # broken on ARM and Darwin
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
index 13614493f610..414f276a2109 100644
--- a/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
@@ -1,54 +1,65 @@
-{ 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 = "17.11.2";
+  version = "19.11";
 
   src = fetchurl {
     url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-    sha256 = "19m5l3jkrns8r1zbjb6ry18w50ff36kbl5b5g6pfcp9p57sfisd2";
+    sha256 = "1aqjn6bm9miv3v2rbqi1rh1c19wa8nip9fvnqaqpnrs3i2b36wa6";
   };
 
-  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
-  '';
+  mesonFlags = [
+    "-Denable_docs=true"
+    "-Denable_kmods=${if mod then "true" else "false"}"
+  ]
+  ++ lib.optional (!shared) "-Ddefault_library=static"
+  ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
+  ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}";
 
-  installTargets = [ "install-runtime" "install-sdk" "install-kmod" ]; # skip install-doc
+  # dpdk meson script does not support separate kernel source and installion
+  # dirs (except via destdir), so we temporarily link the former into the latter.
+  preConfigure = lib.optionalString mod ''
+    mkdir -p $kmod/lib/modules/${kernel.modDirVersion}
+    ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
+      $kmod/lib/modules/${kernel.modDirVersion}
+  '';
 
-  installFlags = [
-    "prefix=$(out)"
-  ] ++ lib.optionals mod [
-    "kerneldir=$(kmod)/lib/modules/${kver}"
-  ];
+  postBuild = lib.optionalString mod ''
+    rm -f $kmod/lib/modules/${kernel.modDirVersion}/build
+  '';
 
   outputs = [ "out" ] ++ lib.optional mod "kmod";
 
@@ -58,7 +69,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" ];
-    maintainers = with maintainers; [ domenkozar orivej ];
+    platforms =  platforms.linux;
+    maintainers = with maintainers; [ domenkozar magenbluten orivej ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/drbd/default.nix b/nixpkgs/pkgs/os-specific/linux/drbd/default.nix
index 0e35f45f042a..74f3430c2d89 100644
--- a/nixpkgs/pkgs/os-specific/linux/drbd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/drbd/default.nix
@@ -31,9 +31,13 @@ stdenv.mkDerivation rec {
       substituteInPlace scripts/drbd.rules --replace /usr/sbin/drbdadm $out/sbin/drbdadm
     '';
 
-  makeFlags = "SHELL=${stdenv.shell}";
+  makeFlags = [ "SHELL=${stdenv.shell}" ];
 
-  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc INITDIR=$(out)/etc/init.d";
+  installFlags = [
+    "localstatedir=$(TMPDIR)/var"
+    "sysconfdir=$(out)/etc"
+    "INITDIR=$(out)/etc/init.d"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://www.drbd.org/;
diff --git a/nixpkgs/pkgs/os-specific/linux/dropwatch/default.nix b/nixpkgs/pkgs/os-specific/linux/dropwatch/default.nix
index f5b7e44a3fbc..69acfa9682b6 100644
--- a/nixpkgs/pkgs/os-specific/linux/dropwatch/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dropwatch/default.nix
@@ -3,30 +3,26 @@
 
 stdenv.mkDerivation rec {
   pname = "dropwatch";
-  version = "1.5";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = pname;
-    rev = version;
-    sha256 = "085hyyl28v0vpxfnmzchl97fjfnzj46ynhkg6y4i6h194y0d99m7";
+    rev = "v${version}";
+    sha256 = "1qmax0l7z1qik42c949fnvjh5r6awk4gpgzdsny8iwnmwzjyp8b8";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
   buildInputs = [ libbfd libnl ncurses readline zlib ];
 
   # To avoid running into https://sourceware.org/bugzilla/show_bug.cgi?id=14243 we need to define:
-  NIX_CFLAGS_COMPILE = [
-    "-DPACKAGE=${pname}"
-    "-DPACKAGE_VERSION=${version}"
-  ];
+  NIX_CFLAGS_COMPILE = "-DPACKAGE=${pname} -DPACKAGE_VERSION=${version}";
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Kernel dropped packet monitor";
-    homepage = https://github.com/nhorman/dropwatch;
+    description = "Linux kernel dropped packet monitor";
+    homepage = "https://github.com/nhorman/dropwatch";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.c0bw3b ];
diff --git a/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix b/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix
index 23bd39ff3885..3f025ca75045 100644
--- a/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ebtables";
-  version = "2.0.10-4";
+  version = "2.0.11";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ebtables/ebtables-v${version}.tar.gz";
-    sha256 = "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw";
+    url = "http://ftp.netfilter.org/pub/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0apxgmkhsk3vxn9q3libxn3dgrdljrxyy4mli2gk49m7hi3na7xp";
   };
 
   makeFlags =
@@ -15,11 +15,6 @@ stdenv.mkDerivation rec {
       "LOCALSTATEDIR=/var"
     ];
 
-  preBuild =
-    ''
-      substituteInPlace Makefile --replace '-o root -g root' ""
-    '';
-
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   preInstall = "mkdir -p $out/etc/sysconfig";
diff --git a/nixpkgs/pkgs/os-specific/linux/ell/default.nix b/nixpkgs/pkgs/os-specific/linux/ell/default.nix
index 223a9b7bf794..5cbddac82f01 100644
--- a/nixpkgs/pkgs/os-specific/linux/ell/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.22";
+  version = "0.27";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
      url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
      rev = version;
-     sha256 = "0dk4j1b8sy4j6w91cq5ga99f3hln9fgh79ayi9kvn8xgzksmhjdp";
+     sha256 = "0pr9c4h535ggj54zfah9m3wziiwlig7r1hxpfx16s2s11ylrl9gd";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/os-specific/linux/eudev/default.nix b/nixpkgs/pkgs/os-specific/linux/eudev/default.nix
index 9d836b30dc76..d087a9e2e26d 100644
--- a/nixpkgs/pkgs/os-specific/linux/eudev/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/eudev/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="eudev";
-    version = "3.2.8";
+    version = "3.2.9";
     name="${baseName}-${version}";
     url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
-    sha256 = "1f7n8dz01yr7qvk64401xw1xs1mj60d33d9brqy1q9siks799r31";
+    sha256 = "1z6lfhhbjs6j7pbp6ybn17ywjsdl87ql6g1p3m2y26aa10cqcqc9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index 2508fb851a88..72f3b1fbd9c2 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
@@ -2,20 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ajjsh1fw7w0k28r6qq7kh3qcr87gzzjp8s890algbglynlafzfw";
+    sha256 = "1gp8xbhd5pmcl95izhpvw9gxfcsbv5f80s6q39l4y3z9j734rb8j";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildInputs = [ kernel libdrm ];
 
-  makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+  makeFlags = [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "KVER=${kernel.modDirVersion}"
+  ];
 
   hardeningDisable = [ "format" "pic" "fortify" ];
 
@@ -26,9 +29,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extensible Virtual Display Interface";
-    platforms = platforms.linux;
+    homepage = "https://www.displaylink.com/";
     license = with licenses; [ lgpl21 gpl2 ];
-    homepage = https://www.displaylink.com/;
-    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "5.3" || stdenv.isAarch64;
+    platforms = platforms.linux;
+    broken = versionOlder kernel.version "4.9" || stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix b/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
index 6aaaaec1b13e..0d00eaa3ac80 100644
--- a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0acspj3djspfvgr3ng5b61qws6v2md6b0lc5qkby10mqnfpkvq85";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
     install -dm755 "$out/share/licenses/extrace/"
diff --git a/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
index c8fc633f8bd3..d56b254d3821 100644
--- a/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ncurses ];
   inherit buildInputs;
 
   preConfigure = ''
@@ -31,6 +31,7 @@ stdenv.mkDerivation {
   preBuild = ''
     mkdir -p "$out/share/terminfo"
     tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm
+    makeFlagsArray+=("AR=$AR")
   '';
 
   patches = [
@@ -47,6 +48,7 @@ stdenv.mkDerivation {
       url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/miscoloring-fix.patch";
       sha256 = "1mjszji0jgs2jsagjp671fv0d1983wmxv009ff1jfhi9pbay6jd0";
     })
+    ./select.patch
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch b/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch
new file mode 100644
index 000000000000..549674047a93
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch
@@ -0,0 +1,12 @@
+diff --git a/src/fbio.cpp b/src/fbio.cpp
+index e5afc44..2485227 100644
+--- a/src/fbio.cpp
++++ b/src/fbio.cpp
+@@ -18,6 +18,7 @@
+  *
+  */
+ 
++#include <sys/select.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include "config.h"
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
index c9723c944ab1..1a1c1ec39d7b 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "1.43_4";
+  version = "1.43_5";
 
 
   # Updated according to https://github.com/patjak/bcwc_pcie/pull/81/files
@@ -10,8 +10,8 @@ let
   # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/extract-firmware.sh
 
   # From the Makefile:
-  dmgUrl = "https://support.apple.com/downloads/DL1877/en_US/osxupd10.11.5.dmg";
-  dmgRange = "205261917-208085450"; # the whole download is 1.3GB, this cuts it down to 2MB
+  dmgUrl = "https://updates.cdn-apple.com/2019/cert/041-88431-20191011-e7ee7d98-2878-4cd9-bc0a-d98b3a1e24b1/OSXUpd10.11.5.dmg";
+  dmgRange = "204909802-207733123"; # the whole download is 1.3GB, this cuts it down to 2MB
   # Notes:
   # 1. Be sure to update the sha256 below in the fetch_url
   # 2. Be sure to update the homepage in the meta
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = dmgUrl;
-    sha256 = "0xqkl4yds0n9fdjvnk0v5mj382q02crry6wm2q7j3ncdqwsv02sv";
+    sha256 = "0s8crlh8rvpanzk1w4z3hich0a3mw0m5xhpcg07bxy02calhpdk1";
     curlOpts = "-r ${dmgRange}";
   };
 
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "facetimehd firmware";
-    homepage = https://support.apple.com/downloads/DL1877;
+    homepage = https://support.apple.com/kb/DL1877;
     license = licenses.unfree;
     maintainers = with maintainers; [ womfoo grahamc ];
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index a6e3ccad5015..6e535cce8985 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchgit, lib }:
 
 stdenv.mkDerivation rec {
   pname = "firmware-linux-nonfree";
-  version = "2019-08-15";
+  version = "2019-12-15";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "20190815";
-    sha256 = "06p6scpmhdifzi3yhg5n4f2kqp4pl20xhh0k2kw70p10zgxg2l4r";
+    rev = lib.replaceStrings ["-"] [""] version;
+    sha256 = "01zwmgva2263ksssqhhi46jh5kzb6z1a4xs8agsb2mbwifxf84cl";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1dgclb44li70z0vkk9qxlbsj2jnqwx97gd7c429i2nv9lhgm14vx";
+  outputHash = "1jp2bb87jbcml1q3r4yilf9l3pirr19zb70l6mlxlmbqml50zwzd";
 
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index 4903eadef4b5..81e82d68dbc4 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 9fdf9ca0bc15..aa2d99781786 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/nixpkgs/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"
@@ -204,21 +211,16 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "-Dsysconfdir_install=${placeholder "out"}/etc"
+    "--libexecdir=${placeholder "out"}/libexec"
   ] ++ stdenv.lib.optionals (!haveDell) [
     "-Dplugin_dell=false"
     "-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
-  # better – declaring them multiple times might become an error.
-  preConfigure = ''
-    mesonFlagsArray+=("--libexecdir=$out/libexec")
-  '';
-
   postInstall = ''
     moveToOutput share/installed-tests "$installedTests"
     wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \
@@ -231,15 +233,18 @@ 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
   postFixup = ''
     find -L "$out/bin" "$out/libexec" -type f -executable -print0 \
       | while IFS= read -r -d ''' file; do
-      if [[ "''${file}" != *.efi ]]; then
-        echo "Wrapping program ''${file}"
-        wrapProgram "''${file}" "''${gappsWrapperArgs[@]}"
+      if [[ "$file" != *.efi ]]; then
+        echo "Wrapping program $file"
+        wrapGApp "$file"
       fi
     done
   '';
@@ -247,11 +252,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"
@@ -262,12 +271,12 @@ stdenv.mkDerivation rec {
     ];
 
     tests = {
-      installedTests = nixosTests.fwupd;
+      installedTests = nixosTests.installed-tests.fwupd;
     };
   };
 
   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/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
index 9efd7b8d6abd..474b250097d0 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
new file mode 100644
index 000000000000..c0c65e42539d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/firmware/fwupdate/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupdate/default.nix
index 70a0bdbe2406..c14e04dc3440 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupdate/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupdate/default.nix
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     ./do-not-create-sharedstatedir.patch
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${gnu-efi}/include/efi" ];
+  NIX_CFLAGS_COMPILE = "-I${gnu-efi}/include/efi -Wno-error=address-of-packed-member";
 
   # TODO: Just apply the disable to the efi subdir
   hardeningDisable = [ "stackprotector" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
index e9ee91a2de7b..392ddda6f573 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation {
   pname = "raspberrypi-wireless-firmware";
-  version = "2018-08-20";
+  version = "2019-08-16";
 
   srcs = [
     (fetchFromGitHub {
       name = "bluez-firmware";
       owner = "RPi-Distro";
       repo = "bluez-firmware";
-      rev = "ade2bae1aaaebede09abb8fb546f767a0e4c7804";
-      sha256 = "07gm76gxp5anv6paryvxcp34a86fkny8kdlzqhzcpfczzglkp6ag";
+      rev = "96eefffcccc725425fd83be5e0704a5c32b79e54";
+      sha256 = "05h57gcxhb2c84h99cyxxx4mzi6kd5fm8pjqkz3nq5vs3nv8cqhr";
     })
     (fetchFromGitHub {
       name = "firmware-nonfree";
       owner = "RPi-Distro";
       repo = "firmware-nonfree";
-      rev = "b518de45ced519e8f7a499f4778100173402ae43";
-      sha256 = "1d5026ic9awji6c67irpwsxpxgsc0dhn11d3abkxi2vvra1pir4g";
+      rev = "130cb86fa30cafbd575d38865fa546350d4c5f9c";
+      sha256 = "0jmhgbpldzz8n8lncpzwfl5ym8zgss05y952rfpwcf9v5c7vgabx";
     })
   ];
 
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1s5gb00v42s5izbaw8irs1fwvhh7z9wl07czc0nkw6p91871ivb7";
+  outputHash = "1r4alf1fbj6vkkf54d0anm47ymb6gn2ykl4a2hhd34b0hnf1dnhn";
 
   meta = with stdenv.lib; {
     description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3 and Zero W";
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index ebd69d1fe12b..a8c4bd559d3c 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "raspberrypi-firmware";
-  version = "1.20190620+1";
+  version = "1.20190925";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "0gbqlkr50qlmbpwr0n61pb58w0k3sfjfirh2y683rlkp5rlq7mrf";
+    sha256 = "0xyj3f04dcfnl9hp8hakgwcb1msqh7934n0pclcmzy47xjkz7ris";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix b/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix
index db88ff05812e..f68be3e8d2f0 100644
--- a/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "forkstat";
-  version = "0.02.11";
+  version = "0.02.12";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.xz";
-    sha256 = "06lj8fl4083rp40i3sn8zggj165nvs3cq9dca66wcp9glb1d6yki";
+    sha256 = "0na6didnqcjn0am65qyf32a01zilk736hqlnpfyqmv4jg31r02i5";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/forktty/default.nix b/nixpkgs/pkgs/os-specific/linux/forktty/default.nix
index 6402b5c69d82..66570bac9428 100644
--- a/nixpkgs/pkgs/os-specific/linux/forktty/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/forktty/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     mkdir -p "$out/bin"
     mkdir -p "$out/share/man/man8"
   '';
-  makeFlags='' prefix="''${out}" manprefix="''${out}/share/" '';
+  makeFlags = [ "prefix=$(out)" "manprefix=$(out)/share/" ];
   meta = {
     inherit (s) version;
     description = ''Tool to detach from controlling TTY and attach to another'';
diff --git a/nixpkgs/pkgs/os-specific/linux/fuse/default.nix b/nixpkgs/pkgs/os-specific/linux/fuse/default.nix
index f48e528b486d..6792e05829d1 100644
--- a/nixpkgs/pkgs/os-specific/linux/fuse/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fuse/default.nix
@@ -11,7 +11,7 @@ in {
   };
 
   fuse_3 = mkFuse {
-    version = "3.6.2";
-    sha256Hash = "1cxx94q6zqns1iw5d4g3ll8f78swqxl6h25bpxmqkqsj6c91pzkl";
+    version = "3.9.0";
+    sha256Hash = "00yppzmv15jqjy3wq5ki9d49jl6bfxrlwr5sfz50ihr40d6dgx9p";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
index b5df553a97c3..2f725952f0a3 100644
--- a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fwts";
-  version = "19.08.00";
+  version = "19.09.00";
 
   src = fetchzip {
     url = "http://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz";
-    sha256 = "14v4vxvfsl008xalsmlhl9wh89xlrfffh3pky9m90flaizdzwyp4";
+    sha256 = "039dc1sy2pfj3b7kqcww3qaabrhzks1xfkynzwbjwdk04fjiwxfw";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/os-specific/linux/fwts/module.nix b/nixpkgs/pkgs/os-specific/linux/fwts/module.nix
new file mode 100644
index 000000000000..ef90e0c303ba
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/fwts/module.nix
@@ -0,0 +1,31 @@
+{ stdenv, fwts, kernel }:
+
+stdenv.mkDerivation rec {
+  pname = "fwts-efi-runtime";
+  version = "${fwts.version}-${kernel.version}";
+
+  inherit (fwts) src;
+
+  sourceRoot = "source/efi_runtime";
+
+  postPatch = ''
+    substituteInPlace Makefile --replace \
+      '/lib/modules/$(KVER)/build' \
+      '${kernel.dev}/lib/modules/${kernel.modDirVersion}/build'
+  '';
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  hardeningDisable = [ "pic" ];
+
+  makeFlags = [
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    inherit (fwts.meta) homepage license;
+    description = fwts.meta.description + "(efi-runtime kernel module)";
+    maintainers = with maintainers; [ dtzWill ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/google-authenticator/default.nix b/nixpkgs/pkgs/os-specific/linux/google-authenticator/default.nix
index 03018c98818c..6037f35ba862 100644
--- a/nixpkgs/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "google-authenticator-libpam";
-  version = "1.06";
+  version = "1.08";
 
   src = fetchurl {
     url = "https://github.com/google/google-authenticator-libpam/archive/${version}.tar.gz";
-    sha256 = "01kb1ppsc2fz1i3crdwi6ic8gyphjv89f5li6ypv3pp88v3kxw2j";
+    sha256 = "1432sfgjv7xlas1saa0whnvqim2pb12g2522x3nf5a8v4qq7avbg";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix b/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix
index 542d99eeabe8..2aa928e81192 100644
--- a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/hdparm/;
     platforms = platforms.linux;
     license = licenses.bsd2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/health-check/default.nix b/nixpkgs/pkgs/os-specific/linux/health-check/default.nix
new file mode 100644
index 000000000000..d45f6c5f8964
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/health-check/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchurl, json_c, libbsd }:
+
+stdenv.mkDerivation rec {
+  pname = "health-check";
+  version = "0.03.04";
+
+  src = fetchurl {
+    url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0p85ai31n9hh6d4b79zzlczf9arsy7vmkjak1x3g9f5qj8fy4avp";
+  };
+
+  buildInputs = [ json_c libbsd ];
+
+  makeFlags = [ "JSON_OUTPUT=y" "FNOTIFY=y" ];
+
+  installFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man/man8"
+  ];
+
+  meta = with lib; {
+    description = "Process monitoring tool";
+    homepage = "https://kernel.ubuntu.com/~cking/health-check/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
index e90470cd5891..b1251a4396f7 100644
--- a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hostapd";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj";
+    sha256 = "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     CONFIG_INTERNETWORKING=y
     CONFIG_HS20=y
     CONFIG_ACS=y
+    CONFIG_GETRANDOM=y
   '' + stdenv.lib.optionalString (sqlite != null) ''
     CONFIG_SQLITE=y
   '';
@@ -69,7 +70,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/nixpkgs/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/nixpkgs/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
index 76ec9be27985..a1d488adcfa1 100644
--- a/nixpkgs/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iio-sensor-proxy";
-  version = "2.7";
+  version = "2.8";
 
   src = fetchFromGitHub {
     owner  = "hadess";
     repo   = pname;
     rev    = version;
-    sha256 = "05ipljw78d8z90cnkygcrpd0qq4vh14bb9hy06vqxnpdbyq46fxh";
+    sha256 = "07rzm1z2p6lh4iv5pyp0p2x5805m9gsh19kcsjls3fi25p3a2c00";
   };
 
   configurePhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix
new file mode 100644
index 000000000000..d8aefd02e7f4
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, fetchFromGitHub
+, patchelf
+, cmake
+, pkgconfig
+
+, intel-gmmlib
+, intel-graphics-compiler
+, libva
+}:
+
+stdenv.mkDerivation rec {
+  pname = "intel-compute-runtime";
+  version = "19.44.14658";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "compute-runtime";
+    rev = version;
+    sha256 = "1pl7yhmgzf7r2b8jyxzmwdc7772gd24izy2z2g4n5s205s125k7x";
+  };
+
+  # Build script tries to write the ICD to /etc
+  patches = [ ./etc-dir.patch ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ intel-gmmlib intel-graphics-compiler libva ];
+
+  cmakeFlags = [
+    "-DSKIP_UNIT_TESTS=1"
+
+    "-DIGC_DIR=${intel-graphics-compiler}"
+    "-DETC_DIR=${placeholder "out"}/etc"
+
+    # The install script assumes this path is relative to CMAKE_INSTALL_PREFIX
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
+
+  postInstall = ''
+    # Avoid clash with intel-ocl
+    mv $out/etc/OpenCL/vendors/intel.icd $out/etc/OpenCL/vendors/intel-neo.icd
+  '';
+
+  postFixup = ''
+    patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva ]} \
+      $out/lib/intel-opencl/libigdrcl.so
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = https://github.com/intel/compute-runtime;
+    description = "Intel Graphics Compute Runtime for OpenCL. Replaces Beignet for Gen8 (Broadwell) and beyond.";
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ gloaming ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch
new file mode 100644
index 000000000000..d9a80ffa6f97
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch
@@ -0,0 +1,15 @@
+diff --git a/package.cmake b/package.cmake
+index 24960d5..e9a21e7 100644
+--- a/package.cmake
++++ b/package.cmake
+@@ -24,7 +24,9 @@ if(UNIX)
+ 
+   get_os_release_info(os_name os_version)
+ 
+-  if("${os_name}" STREQUAL "clear-linux-os")
++  if(DEFINED ETC_DIR)
++    set(_dir_etc ${ETC_DIR})
++  elseif("${os_name}" STREQUAL "clear-linux-os")
+     # clear-linux-os distribution avoids /etc for distribution defaults.
+     set(_dir_etc "/usr/share/defaults/etc")
+   else()
diff --git a/nixpkgs/pkgs/os-specific/linux/iproute/default.nix b/nixpkgs/pkgs/os-specific/linux/iproute/default.nix
index 87b7de4736f9..b8b46b33e96c 100644
--- a/nixpkgs/pkgs/os-specific/linux/iproute/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iproute2";
-  version = "5.2.0";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1a2dywa2kam24951byv9pl32mb9z6klh7d4vp8fwfgrm4vn5vfd5";
+    sha256 = "1bl6c3af7wbgi6nqjfm32fkhqh63iphkg2g11f1srifll1ham5zy";
   };
 
   preConfigure = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace " netem " " "
   '';
 
-  outputs = [ "out" "dev"];
+  outputs = [ "out" "dev" ];
 
   makeFlags = [
     "DESTDIR="
diff --git a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch
new file mode 100644
index 000000000000..b644d46f8c9d
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch
@@ -0,0 +1,193 @@
+From: Antoine_Beaupre <anarcat@orangeseeds.org>
+Acked-by: Jiri Bohac <jbohac@suse.cz>
+Subject: PR/51682: Avoid DoS with fragment out of order insertion; keep fragments sorted in the list.
+References: bsc#1047443, CVE-2016-10396
+
+
+
+Index: a/src/racoon/handler.h
+===================================================================
+--- a/src/racoon/handler.h.orig	2018-01-26 18:05:21.114764376 +0100
++++ a/src/racoon/handler.h	2018-01-26 18:05:33.986741103 +0100
+@@ -141,6 +141,7 @@ struct ph1handle {
+ #endif
+ #ifdef ENABLE_FRAG
+ 	int frag;			/* IKE phase 1 fragmentation */
++	int frag_last_index;
+ 	struct isakmp_frag_item *frag_chain;	/* Received fragments */
+ #endif
+ 
+Index: a/src/racoon/isakmp.c
+===================================================================
+--- a/src/racoon/isakmp.c.orig	2018-01-26 18:05:21.118764369 +0100
++++ a/src/racoon/isakmp.c	2018-01-26 18:05:33.986741103 +0100
+@@ -1069,6 +1069,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
+ 		iph1->frag = 1;
+ 	else
+ 		iph1->frag = 0;
++	iph1->frag_last_index = 0;
+ 	iph1->frag_chain = NULL;
+ #endif
+ 	iph1->approval = NULL;
+@@ -1173,6 +1174,7 @@ isakmp_ph1begin_r(msg, remote, local, et
+ #endif
+ #ifdef ENABLE_FRAG
+ 	iph1->frag = 0;
++	iph1->frag_last_index = 0;
+ 	iph1->frag_chain = NULL;
+ #endif
+ 	iph1->approval = NULL;
+Index: a/src/racoon/isakmp_frag.c
+===================================================================
+--- a/src/racoon/isakmp_frag.c.orig	2018-01-26 18:05:21.118764369 +0100
++++ a/src/racoon/isakmp_frag.c	2018-01-26 18:05:33.986741103 +0100
+@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
+ 	return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
+ }
+ 
++static int 
++isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
++{
++	struct isakmp_frag_item *pitem = NULL;
++	struct isakmp_frag_item *citem = iph1->frag_chain;
++
++	/* no frag yet, just insert at beginning of list */
++	if (iph1->frag_chain == NULL) {
++		iph1->frag_chain = item;
++		return 0;
++	}
++
++	do {
++		/* duplicate fragment number, abort (CVE-2016-10396) */
++		if (citem->frag_num == item->frag_num)
++			return -1;
++
++		/* need to insert before current item */
++		if (citem->frag_num > item->frag_num) {
++			if (pitem != NULL)
++				pitem->frag_next = item;
++			else
++				/* insert at the beginning of the list  */
++				iph1->frag_chain = item;
++			item->frag_next = citem;
++			return 0;
++		}
++
++		pitem = citem;
++		citem = citem->frag_next;
++	} while (citem != NULL);
++
++	/* we reached the end of the list, insert */
++	pitem->frag_next = item;
++	return 0;
++}
++
+ int 
+ isakmp_frag_extract(iph1, msg)
+ 	struct ph1handle *iph1;
+@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
+ 	item->frag_next = NULL;
+ 	item->frag_packet = buf;
+ 
+-	/* Look for the last frag while inserting the new item in the chain */
+-	if (item->frag_last)
+-		last_frag = item->frag_num;
++	/* Check for the last frag before inserting the new item in the chain */
++	if (item->frag_last) {
++		/* if we have the last fragment, indices must match */
++		if (iph1->frag_last_index != 0 &&
++		    item->frag_last != iph1->frag_last_index) {
++			plog(LLV_ERROR, LOCATION, NULL,
++			     "Repeated last fragment index mismatch\n");
++			racoon_free(item);
++			vfree(buf);
++			return -1;
++		}
+ 
+-	if (iph1->frag_chain == NULL) {
+-		iph1->frag_chain = item;
+-	} else {
+-		struct isakmp_frag_item *current;
++		last_frag = iph1->frag_last_index = item->frag_num;
++	}
+ 
+-		current = iph1->frag_chain;
+-		while (current->frag_next) {
+-			if (current->frag_last)
+-				last_frag = item->frag_num;
+-			current = current->frag_next;
+-		}
+-		current->frag_next = item;
++	/* insert fragment into chain */
++	if (isakmp_frag_insert(iph1, item) == -1) {
++		plog(LLV_ERROR, LOCATION, NULL,
++		    "Repeated fragment index mismatch\n");
++		racoon_free(item);
++		vfree(buf);
++		return -1;
+ 	}
+ 
+-	/* If we saw the last frag, check if the chain is complete */
++	/* If we saw the last frag, check if the chain is complete
++	 * we have a sorted list now, so just walk through */
+ 	if (last_frag != 0) {
++		item = iph1->frag_chain;
+ 		for (i = 1; i <= last_frag; i++) {
+-			item = iph1->frag_chain;
+-			do {
+-				if (item->frag_num == i)
+-					break;
+-				item = item->frag_next;
+-			} while (item != NULL);
+-
++			if (item->frag_num != i)
++				break;
++			item = item->frag_next;
+ 			if (item == NULL) /* Not found */
+ 				break;
+ 		}
+ 
+-		if (item != NULL) /* It is complete */
++		if (i > last_frag) /* It is complete */
+ 			return 1;
+ 	}
+ 		
+@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
+ 	}
+ 	data = buf->v;
+ 
++	item = iph1->frag_chain;
+ 	for (i = 1; i <= frag_count; i++) {
+-		item = iph1->frag_chain;
+-		do {
+-			if (item->frag_num == i)
+-				break;
+-			item = item->frag_next;
+-		} while (item != NULL);
+-
+-		if (item == NULL) {
++		if (item->frag_num != i) {
+ 			plog(LLV_ERROR, LOCATION, NULL, 
+ 			    "Missing fragment #%d\n", i);
+ 			vfree(buf);
+@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
+ 		}
+ 		memcpy(data, item->frag_packet->v, item->frag_packet->l);
+ 		data += item->frag_packet->l;
++		item = item->frag_next;
+ 	}
+ 
+ out:
+
+
+diff -u -p -r1.50 -r1.51
+--- a/src/racoon/isakmp_inf.c	2013/04/12 09:53:10	1.50
++++ a/src/racoon/isakmp_inf.c	2017/01/24 19:23:56	1.51
+@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
+ #endif
+ #ifdef ENABLE_FRAG
+ 	iph1->frag = 0;
++	iph1->frag_last_index = 0;
+ 	iph1->frag_chain = NULL;
+ #endif
+ 
diff --git a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix
index 0aa074b4df8f..551fc61f8145 100644
--- a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix
@@ -19,10 +19,7 @@ stdenv.mkDerivation rec {
   patches = [
     ./dont-create-localstatedir-during-install.patch
     ./CVE-2015-4047.patch
-    (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b";
-      sha256 = "1kf7j2pf1blni52z7q41n0yisqb7gvk01lvldr319zaxxg7rm84a";
-    })
+    ./CVE-2016-10396.patch
   ];
 
   # fix build with newer gcc versions
diff --git a/nixpkgs/pkgs/os-specific/linux/ipset/default.nix b/nixpkgs/pkgs/os-specific/linux/ipset/default.nix
index 57255b4a382b..4463e6898511 100644
--- a/nixpkgs/pkgs/os-specific/linux/ipset/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/iptables/default.nix b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
index cf06ff353253..f556d7368e97 100644
--- a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
@@ -1,32 +1,48 @@
-{ stdenv, fetchurl, bison, flex, pkgconfig, pruneLibtoolFiles
-, libnetfilter_conntrack, libnftnl, libmnl, libpcap }:
+{ stdenv, fetchurl, pkgconfig, pruneLibtoolFiles, flex, bison
+, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap
+, nftablesCompat ? false
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
+  version = "1.8.4";
   pname = "iptables";
-  version = "1.8.3";
 
   src = fetchurl {
     url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "106xkkg5crsscjlinxvqvprva23fwwqfgrzl8m2nn841841sqg52";
+    sha256 = "0z0mgs1ghvn3slc868mgbf2g26njgrzcy5ggyb5w4i55j1a3lflr";
   };
 
-  nativeBuildInputs = [ bison flex pkgconfig pruneLibtoolFiles ];
+  nativeBuildInputs = [ pkgconfig pruneLibtoolFiles flex bison ];
 
-  buildInputs = [ libnetfilter_conntrack libnftnl libmnl libpcap ];
+  buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ];
 
   preConfigure = ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl"
   '';
 
   configureFlags = [
+    "--enable-bpf-compiler"
     "--enable-devel"
+    "--enable-libipq"
+    "--enable-nfsynproxy"
     "--enable-shared"
-    "--enable-bpf-compiler"
-  ];
+  ] ++ optional (!nftablesCompat) "--disable-nftables";
 
   outputs = [ "out" "dev" ];
 
-  meta = with stdenv.lib; {
+  postInstall = optional nftablesCompat ''
+    rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save}
+    ln -sv xtables-nft-multi $out/bin/iptables
+    ln -sv xtables-nft-multi $out/bin/iptables-restore
+    ln -sv xtables-nft-multi $out/bin/iptables-save
+    ln -sv xtables-nft-multi $out/bin/ip6tables
+    ln -sv xtables-nft-multi $out/bin/ip6tables-restore
+    ln -sv xtables-nft-multi $out/bin/ip6tables-save
+  '';
+
+  meta = {
     description = "A program to configure the Linux IP packet filtering ruleset";
     homepage = https://www.netfilter.org/projects/iptables/index.html;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix b/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
index f5d80dc5258c..98dab0e62d75 100644
--- a/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipvsadm";
-  version = "1.30";
+  version = "1.31";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/ipvsadm/${pname}-${version}.tar.xz";
-    sha256 = "033srm20n3114aci3b6cwxnkm7n68k09di2aziiryg27vxq3smwm";
+    sha256 = "1nyzpv1hx75k9lh0vfxfhc0p2fpqaqb38xpvs8sn88m1nljmw2hs";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/iw/default.nix b/nixpkgs/pkgs/os-specific/linux/iw/default.nix
index ad965f95c94b..930f77437ace 100644
--- a/nixpkgs/pkgs/os-specific/linux/iw/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iw";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1m85ap8hwzfs7xf9r0v5d55ra4mhw45f6vclc7j6gsldpibyibq4";
+    sha256 = "0prrgb11pjrr6dw71v7nx2bic127qzrjifvz183v3mw8f1kryim2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/os-specific/linux/iwd/default.nix b/nixpkgs/pkgs/os-specific/linux/iwd/default.nix
index 59d41412f55e..8e1bbd374cfb 100644
--- a/nixpkgs/pkgs/os-specific/linux/iwd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iwd/default.nix
@@ -5,32 +5,25 @@
 , pkgconfig
 , ell
 , coreutils
+, docutils
 , readline
 , python3Packages
+, systemd
 }:
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "0.20";
+  version = "1.4";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
     rev = version;
-    sha256 = "03ca47d4hn28vkf5fr6ck1gz5py4lm1pw3nw9s1ckw7cqxw961sf";
+    sha256 = "13sig2lbiyi4x74ag37gvdqx5w18w6hmq9hc1ir4a1cqqf50v61v";
   };
 
-  patches = [
-    # Undo creating ReadWritePaths as instalation target.
-    (fetchpatch {
-      name = "revert-create-dirs-on-install.patch";
-      url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git/patch/?id=5a96c11664eb553bc28a2142af382b190254edbb";
-      sha256 = "08gkz3ia1l5xsh3pbx4abimgf7m88wygfpfyg77yi6dwavjqm6cx";
-      revert = true;
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
+    docutils
     pkgconfig
     python3Packages.wrapPython
   ];
@@ -39,6 +32,7 @@ stdenv.mkDerivation rec {
     ell
     python3Packages.python
     readline
+    systemd
   ];
 
   pythonPath = [
@@ -54,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 = ''
@@ -85,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/nixpkgs/pkgs/os-specific/linux/jool/cli.nix b/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
index fe5436625e87..58b1b53d52f9 100644
--- a/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libnl iptables ];
 
-  makeFlags = "-C src/usr";
+  makeFlags = [ "-C" "src/usr" ];
 
   prePatch = ''
     sed -e 's%^XTABLES_SO_DIR = .*%XTABLES_SO_DIR = '"$out"'/lib/xtables%g' -i src/usr/iptables/Makefile
diff --git a/nixpkgs/pkgs/os-specific/linux/jool/source.nix b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
index 0dd0eeed616f..9e8de46edba7 100644
--- a/nixpkgs/pkgs/os-specific/linux/jool/source.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
@@ -1,11 +1,11 @@
 { fetchFromGitHub }:
 
 rec {
-  version = "4.0.0";
+  version = "4.0.5";
   src = fetchFromGitHub {
     owner = "NICMx";
     repo = "Jool";
     rev = "v${version}";
-    sha256 = "1ivnx7ijqf41kxmi2bmsf9qfcv6b1rvag35754ddlndry3sgvimr";
+    sha256 = "0zfda8mbcg4mgg39shxdx5n2bq6zi9w3v8bcx03b3dp09lmq45y3";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
index 1699324546d1..fb2b90689214 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -58,7 +58,7 @@ let
     + '' mkdir -p $out/include/config
       echo "${version}-default" > $out/include/config/kernel.release
     ''
-    # These oddly named file records teh `SHELL` passed, which causes bootstrap
+    # These oddly named file records the `SHELL` passed, which causes bootstrap
     # tools run-time dependency.
     + ''
       find "$out" -name '..install.cmd' -print0 | xargs -0 rm
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index 3b409f15abaa..4bd86a702672 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -33,7 +33,6 @@ let
       DYNAMIC_DEBUG             = yes;
       TIMER_STATS               = whenOlder "4.11" yes;
       DEBUG_NX_TEST             = whenOlder "4.11" no;
-      CPU_NOTIFIER_ERROR_INJECT = whenOlder "4.4" (option no);
       DEBUG_STACK_USAGE         = no;
       DEBUG_STACKOVERFLOW       = mkIf (!features.grsecurity) no;
       RCU_TORTURE_TEST          = no;
@@ -42,6 +41,8 @@ let
       CRASH_DUMP                = option no;
       # Easier debugging of NFS issues.
       SUNRPC_DEBUG              = yes;
+      # Provide access to tunables like sched_migration_cost_ns
+      SCHED_DEBUG               = yes;
     };
 
     power-management = {
@@ -97,8 +98,6 @@ let
     networking = {
       NET                = yes;
       IP_PNP             = no;
-      NETFILTER          = yes;
-      NETFILTER_ADVANCED = yes;
       IP_VS_PROTO_TCP    = yes;
       IP_VS_PROTO_UDP    = yes;
       IP_VS_PROTO_ESP    = yes;
@@ -143,12 +142,32 @@ let
       KEY_DH_OPERATIONS = whenAtLeast "4.7" yes;
 
       # needed for nftables
-      NF_TABLES_INET              = whenAtLeast "4.17" yes;
-      NF_TABLES_NETDEV            = whenAtLeast "4.17" yes;
-      NF_TABLES_IPV4              = whenAtLeast "4.17" yes;
-      NF_TABLES_ARP               = whenAtLeast "4.17" yes;
-      NF_TABLES_IPV6              = whenAtLeast "4.17" yes;
-      NF_TABLES_BRIDGE            = whenBetween "4.17" "5.3" yes;
+      # Networking Options
+      NETFILTER                   = yes;
+      NETFILTER_ADVANCED          = yes;
+      # Core Netfilter Configuration
+      NF_CONNTRACK_ZONES          = yes;
+      NF_CONNTRACK_EVENTS         = yes;
+      NF_CONNTRACK_TIMEOUT        = yes;
+      NF_CONNTRACK_TIMESTAMP      = yes;
+      NETFILTER_NETLINK_GLUE_CT   = yes;
+      NF_TABLES_INET              = whenAtLeast "4.19" yes;
+      NF_TABLES_NETDEV            = whenAtLeast "4.19" yes;
+      # IP: Netfilter Configuration
+      NF_TABLES_IPV4              = yes;
+      NF_TABLES_ARP               = whenAtLeast "4.19" yes;
+      # IPv6: Netfilter Configuration
+      NF_TABLES_IPV6              = yes;
+      # Bridge Netfilter Configuration
+      NF_TABLES_BRIDGE            = mkMerge [ (whenBetween "4.19" "5.3" yes)
+                                              (whenAtLeast "5.3" module) ];
+
+      # needed for ss
+      INET_DIAG         = yes;
+      INET_TCP_DIAG     = module;
+      INET_UDP_DIAG     = module;
+      INET_RAW_DIAG     = whenAtLeast "4.14" module;
+      INET_DIAG_DESTROY = whenAtLeast "4.9" yes;
     };
 
     wireless = {
@@ -185,8 +204,6 @@ let
     };
 
     video = {
-      # Enable KMS for devices whose X.org driver supports it
-      DRM_I915_KMS           = whenOlder "4.3" yes;
       # Allow specifying custom EDID on the kernel command line
       DRM_LOAD_EDID_FIRMWARE = yes;
       VGA_SWITCHEROO         = yes; # Hybrid graphics support
@@ -255,7 +272,6 @@ let
       EXT2_FS_XATTR     = yes;
       EXT2_FS_POSIX_ACL = yes;
       EXT2_FS_SECURITY  = yes;
-      EXT2_FS_XIP       = whenOlder "4.0" yes; # Ext2 execute in place support
 
       EXT3_FS_POSIX_ACL = yes;
       EXT3_FS_SECURITY  = yes;
@@ -347,6 +363,7 @@ let
       SECURITY_APPARMOR                = yes;
       DEFAULT_SECURITY_APPARMOR        = yes;
 
+      SECURITY_LOCKDOWN_LSM            = whenAtLeast "5.4" yes;
     } // optionalAttrs (!stdenv.hostPlatform.isAarch32) {
 
       # Detect buffer overflows on the stack
@@ -357,10 +374,6 @@ let
       MICROCODE       = yes;
       MICROCODE_INTEL = yes;
       MICROCODE_AMD   = yes;
-
-      MICROCODE_EARLY       = whenOlder "4.4" yes;
-      MICROCODE_INTEL_EARLY = whenOlder "4.4" yes;
-      MICROCODE_AMD_EARLY   = whenOlder "4.4" yes;
     } // optionalAttrs (versionAtLeast version "4.10") {
       # Write Back Throttling
       # https://lwn.net/Articles/682582/
@@ -642,6 +655,8 @@ let
       JOYSTICK_XPAD_FF    = option yes; # X-Box gamepad rumble support
       JOYSTICK_XPAD_LEDS  = option yes; # LED Support for Xbox360 controller 'BigX' LED
 
+      KEYBOARD_APPLESPI = whenAtLeast "5.3" module;
+
       KEXEC_FILE      = option yes;
       KEXEC_JUMP      = option yes;
 
@@ -702,10 +717,13 @@ let
 
       # Enable AMD's ROCm GPU compute stack
       HSA_AMD = whenAtLeast "4.20" yes;
+      ZONE_DEVICE = whenAtLeast "5.3" yes;
+      HMM_MIRROR = whenAtLeast "5.3" yes;
+      DRM_AMDGPU_USERPTR = whenAtLeast "5.3" yes;
 
       PREEMPT = no;
       PREEMPT_VOLUNTARY = yes;
-      
+
       X86_AMD_PLATFORM_DEVICE = yes;
 
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
@@ -725,6 +743,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/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch b/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_4_14.patch
index 205497aee2da..205497aee2da 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_4_14.patch
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch b/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch
new file mode 100644
index 000000000000..dc9ca64bdc1f
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch
@@ -0,0 +1,42 @@
+From 1e010beda2896bdf3082fb37a3e49f8ce20e04d8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Thu, 2 May 2019 05:28:08 +0100
+Subject: [PATCH] x86/fpu: Export kernel_fpu_{begin,end}() with
+ EXPORT_SYMBOL_GPL
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We need these symbols in zfs as the fpu implementation breaks userspace:
+
+https://github.com/zfsonlinux/zfs/issues/9346
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ arch/x86/kernel/fpu/core.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
+index 12c70840980e..352538b3bb5d 100644
+--- a/arch/x86/kernel/fpu/core.c
++++ b/arch/x86/kernel/fpu/core.c
+@@ -102,7 +102,7 @@ void kernel_fpu_begin(void)
+ 	}
+ 	__cpu_invalidate_fpregs_state();
+ }
+-EXPORT_SYMBOL_GPL(kernel_fpu_begin);
++EXPORT_SYMBOL(kernel_fpu_begin);
+ 
+ void kernel_fpu_end(void)
+ {
+@@ -111,7 +111,7 @@ void kernel_fpu_end(void)
+ 	this_cpu_write(in_kernel_fpu, false);
+ 	preempt_enable();
+ }
+-EXPORT_SYMBOL_GPL(kernel_fpu_end);
++EXPORT_SYMBOL(kernel_fpu_end);
+ 
+ /*
+  * Save the FPU state (mark it for reload if necessary):
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch b/nixpkgs/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch
new file mode 100644
index 000000000000..0639f8b4e8fb
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch
@@ -0,0 +1,86 @@
+From 2cc99c9cdc8fde5e92e34f9655829449cebd3e00 Mon Sep 17 00:00:00 2001
+From: Dmitry Goldin <dgoldin+lkml@protonmail.ch>
+Date: Fri, 4 Oct 2019 10:40:07 +0000
+Subject: kheaders: make headers archive reproducible
+
+In commit 43d8ce9d65a5 ("Provide in-kernel headers to make
+extending kernel easier") a new mechanism was introduced, for kernels
+>=5.2, which embeds the kernel headers in the kernel image or a module
+and exposes them in procfs for use by userland tools.
+
+The archive containing the header files has nondeterminism caused by
+header files metadata. This patch normalizes the metadata and utilizes
+KBUILD_BUILD_TIMESTAMP if provided and otherwise falls back to the
+default behaviour.
+
+In commit f7b101d33046 ("kheaders: Move from proc to sysfs") it was
+modified to use sysfs and the script for generation of the archive was
+renamed to what is being patched.
+
+Signed-off-by: Dmitry Goldin <dgoldin+lkml@protonmail.ch>
+Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
+Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+
+---
+
+nixos note: This patch is from
+https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=fixes&id=2cc99c9cdc8fde5e92e34f9655829449cebd3e00
+I commented out the documentation part here, so that it easily applies
+to linux 5.2 and 5.3, which does not ship with the reproducible build
+documentation yet, which only was introduced recently.
+
+---
+ Documentation/kbuild/reproducible-builds.rst | 13 +++++++++----
+ kernel/gen_kheaders.sh                       |  5 ++++-
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+#diff --git a/Documentation/kbuild/reproducible-builds.rst b/Documentation/kbuild/reproducible-builds.rst
+#index ab92e98c89c8..503393854e2e 100644
+# --- a/Documentation/kbuild/reproducible-builds.rst
+#+++ b/Documentation/kbuild/reproducible-builds.rst
+#@@ -16,16 +16,21 @@ the kernel may be unreproducible, and how to avoid them.
+# Timestamps
+# ----------
+#
+#-The kernel embeds a timestamp in two places:
+#+The kernel embeds timestamps in three places:
+#
+# * The version string exposed by ``uname()`` and included in
+#   ``/proc/version``
+#
+# * File timestamps in the embedded initramfs
+#
+#-By default the timestamp is the current time.  This must be overridden
+#-using the `KBUILD_BUILD_TIMESTAMP`_ variable.  If you are building
+#-from a git commit, you could use its commit date.
+#+* If enabled via ``CONFIG_IKHEADERS``, file timestamps of kernel
+#+  headers embedded in the kernel or respective module,
+#+  exposed via ``/sys/kernel/kheaders.tar.xz``
+#+
+#+By default the timestamp is the current time and in the case of
+#+``kheaders`` the various files' modification times. This must
+#+be overridden using the `KBUILD_BUILD_TIMESTAMP`_ variable.
+#+If you are building from a git commit, you could use its commit date.
+#
+# The kernel does *not* use the ``__DATE__`` and ``__TIME__`` macros,
+# and enables warnings if they are used.  If you incorporate external
+diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh
+index 9ff449888d9c..aff79e461fc9 100755
+--- a/kernel/gen_kheaders.sh
++++ b/kernel/gen_kheaders.sh
+@@ -71,7 +71,10 @@ done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1
+ find $cpio_dir -type f -print0 |
+ 	xargs -0 -P8 -n1 perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;'
+
+-tar -Jcf $tarfile -C $cpio_dir/ . > /dev/null
++# Create archive and try to normalize metadata for reproducibility
++tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \
++    --owner=0 --group=0 --sort=name --numeric-owner \
++    -Jcf $tarfile -C $cpio_dir/ . > /dev/null
+
+ echo "$src_files_md5" >  kernel/kheaders.md5
+ echo "$obj_files_md5" >> kernel/kheaders.md5
+--
+cgit 1.2-0.3.lf.el7
+
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl b/nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl
index 26fc07202bb1..26c559ea9086 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -136,10 +136,12 @@ while (<CONFIG>) {
 }
 close CONFIG;
 
+my $ret = 0;
 foreach my $name (sort (keys %answers)) {
     my $f = $requiredAnswers{$name} && $ignoreConfigErrors ne "1"
-        ? sub { die "error: " . $_[0]; } : sub { warn "warning: " . $_[0]; };
+        ? sub { warn "error: " . $_[0]; $ret = -1; } : sub { warn "warning: " . $_[0]; };
     &$f("unused option: $name\n") unless defined $config{$name};
     &$f("option not set correctly: $name (wanted '$answers{$name}', got '$config{$name}')\n")
         if $config{$name} && $config{$name} ne $answers{$name};
 }
+exit $ret;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 07f5974a2fe6..bcb2f0f8e7d7 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,16 +3,16 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.146";
+  version = "4.14.162";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
 
   # branchVersion needs to be x.y
-  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+  extraMeta.branch = versions.majorMinor version;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1x9343pvlxdgx0zbsn12mcfhf6r8d9p57h6l5cw7krm3gs44pid3";
+    sha256 = "0jwbr7q17khv0174hl0kp78bsyhjv0mljfvrnbl9qdfl9hi70lgn";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
index a3d2235e9de1..0256476218ab 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,16 +3,16 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.75";
+  version = "4.19.93";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
 
   # branchVersion needs to be x.y
-  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+  extraMeta.branch = versions.majorMinor version;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0y0vcmxyfg98mm63vaqq6n2bmxkbmrnvigm5zdh1al74w53p2pnx";
+    sha256 = "0d2qgwnmvnwbsijc8k85sgmywyrv55wpah6qwjk6kgx8h8zx5x9a";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 9ca235ae24c7..2ee7241396fb 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/nixpkgs/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.194";
+  version = "4.4.208";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0kvlp2v4nvkilaanhpgwf8dkyfj24msaw0m38rbc4y51y69yhqvz";
+    sha256 = "03jj91z5dc0ybpjy9w6aanb3k53gcj7gsjc32h3ldf72hlmgz6aq";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
index e5b2d0d386b4..e95a0d98139c 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/nixpkgs/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.194";
+  version = "4.9.208";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1qy20vw5bhnsfbh95sdhjbk6y94js8m4ryd3m7xg2qg4hisvpx6m";
+    sha256 = "0njjw1i8dilihn1hz62zra4b9y05fb3r2k2sqlkd0wfn86c1rbdp";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.3.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.3.nix
index b3a96e356bab..d83f0fb98130 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.3.nix
@@ -3,16 +3,16 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3.1";
+  version = "5.3.18";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
 
   # branchVersion needs to be x.y
-  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+  extraMeta.branch = versions.majorMinor version;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0n7qjakglzh6rpbjdjqr4fgp8f8fd3qgb5as0hfj25nk16lvb44q";
+    sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 34b86ddab9ad..89cbf776ac06 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,16 +3,16 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.2.17";
+  version = "5.4.8";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
 
   # branchVersion needs to be x.y
-  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+  extraMeta.branch = versions.majorMinor version;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1y9d218w83qgd6wima6h6n4zbj1rxz15yb6hdlhv8dm9kv88lfvv";
+    sha256 = "0llss8hbzkwqxx92y419vj2jvq0d8k52iivh3f59wgqr0b4i9i22";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
index d29a2382c2a2..b6e4ea5d42a0 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,11 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-
-    # Update this if linux_latest-libre fails to build.
-    # $ curl https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/ | grep -Eo 'Revision [0-9]+'
-    rev = "16794";
-    sha256 = "1lpaka4hs7yrpnrzfybd6radjylwvw2p4aly68pypykqs2srvm7j";
+    rev = "17174";
+    sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789";
   }
 , ...
 }:
@@ -36,6 +33,8 @@ in linux.override {
       '';
     };
 
+    passthru.updateScript = ./update-libre.sh;
+
     maintainers = [ lib.maintainers.qyliss ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 6c24311338ac..6f5f2524276b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, rpiVersion, ... } @ args:
 
 let
-  modDirVersion = "4.14.98";
-  tag = "1.20190215";
+  modDirVersion = "4.19.75";
+  tag = "1.20190925";
 in
 lib.overrideDerivation (buildLinux (args // {
   version = "${modDirVersion}-${tag}";
@@ -12,24 +12,32 @@ lib.overrideDerivation (buildLinux (args // {
     owner = "raspberrypi";
     repo = "linux";
     rev = "raspberrypi-kernel_${tag}-1";
-    sha256 = "1gc4x7p82m2v1jhahhyl7qfdkflj71ly6p0fpc1vf9sk13hbwgj2";
+    sha256 = "0l91kb4jjxg4fcp7d2aqm1fj34ns137rys93k907mdgnarcliafs";
   };
 
   defconfig = {
-    armv6l-linux = "bcmrpi_defconfig";
-    armv7l-linux = "bcm2709_defconfig";
-    aarch64-linux = "bcmrpi3_defconfig";
-  }.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'");
+    "1" = "bcmrpi_defconfig";
+    "2" = "bcm2709_defconfig";
+    "3" = "bcmrpi3_defconfig";
+    "4" = "bcm2711_defconfig";
+  }.${toString rpiVersion};
 
   features = {
     efiBootStub = false;
   } // (args.features or {});
 
-  extraMeta.hydraPlatforms = [ "aarch64-linux" ];
+  extraMeta = if (rpiVersion < 3) then {
+    platforms = with lib.platforms; [ arm ];
+    hydraPlatforms = [];
+  } else {
+    platforms = with lib.platforms; [ arm aarch64 ];
+    hydraPlatforms = [ "aarch64-linux" ];
+  };
 } // (args.argsOverride or {}))) (oldAttrs: {
   postConfigure = ''
     # The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
     sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
+    sed -i $buildRoot/include/config/auto.conf -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
   '';
 
   # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
@@ -41,8 +49,8 @@ lib.overrideDerivation (buildLinux (args // {
       cp -v "$dtbDir/$1" "$dtbDir/$2"
     }
   '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) ''
-    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
-    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
+    copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero.dtb
+    copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
@@ -57,5 +65,6 @@ lib.overrideDerivation (buildLinux (args // {
     copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb
     copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
     copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
+    copyDTB bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb
   '';
 })
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 0b2ed76a4b4b..f4b9e5b8da63 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchgit, fetchpatch, perl, buildLinux, ... } @ args:
 
 buildLinux (args // {
-  version = "5.1.2019.08.21";
-  modDirVersion = "5.1.0";
+  version = "5.2.2019.10.12";
+  modDirVersion = "5.2.0";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs.git";
-    rev = "ece184f718c2b678738bc2c42906e90eeb8ba7dc";
-    sha256 = "08cbisgcww8fklpxwqkm2c8ddz0mm7v11ycp7ch0kalwdv2f81lr";
+    rev = "de906c3e2eddad291d46bd0e7c81c68eaadcd08a";
+    sha256 = "1ahabp8pd9slf4lchkbyfkagg9vhic0cw3kwvwryzaxxxjmf2hkk";
   };
 
   extraConfig = "BCACHEFS_FS m";
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
index e653a6459df9..dcb274c92545 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,15 +3,15 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3-rc8";
-  extraMeta.branch = "5.3";
+  version = "5.5-rc3";
+  extraMeta.branch = "5.5";
 
   # modDirVersion needs to be x.y.z, will always add .0
   modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg;
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "01pr8xb9akjzafl8zkpwwkmlsjxghv5bx0larkjqdakjfspqnhzj";
+    sha256 = "1rf394d1d6c0mvf6006gq1bscq3jjcvj9xxmdwallfwpp9igs8id";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix
index 88e990501f9a..0538511c528c 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -94,7 +94,9 @@ let
       patches =
         map (p: p.patch) kernelPatches
         # Required for deterministic builds along with some postPatch magic.
-        ++ optional (stdenv.lib.versionAtLeast version "4.13") ./randstruct-provide-seed.patch;
+        ++ optional (stdenv.lib.versionAtLeast version "4.13") ./randstruct-provide-seed.patch
+        # Fixes determinism by normalizing metadata for the archive of kheaders
+        ++ optional (stdenv.lib.versionAtLeast version "5.2" && stdenv.lib.versionOlder version "5.4") ./gen-kheaders-metadata.patch;
 
       prePatch = ''
         for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
@@ -162,6 +164,10 @@ let
       ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
       ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
 
+      preInstall = ''
+        installFlagsArray+=("-j$NIX_BUILD_CORES")
+      '';
+
       # Some image types need special install targets (e.g. uImage is installed with make uinstall)
       installTargets = [ (
         if platform ? kernelInstallTarget then platform.kernelInstallTarget
@@ -177,7 +183,7 @@ let
       '' else "") + (if isModular then ''
         mkdir -p $dev
         cp vmlinux $dev/
-        if [ -z "$dontStrip" ]; then
+        if [ -z "''${dontStrip-}" ]; then
           installFlagsArray+=("INSTALL_MOD_STRIP=1")
         fi
         make modules_install $makeFlags "''${makeFlagsArray[@]}" \
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
index b80320db282e..2af64c2ddc45 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
@@ -6,6 +6,16 @@
       patch = ./bridge-stp-helper.patch;
     };
 
+  request_key_helper =
+    { name = "request-key-helper";
+      patch = ./request-key-helper.patch;
+    };
+
+  request_key_helper_updated =
+    { name = "request-key-helper-updated";
+      patch = ./request-key-helper-updated.patch;
+    };
+
   p9_fixes =
     { name = "p9-fixes";
       patch = ./p9-fixes.patch;
@@ -59,8 +69,14 @@
   };
 
   export_kernel_fpu_functions = {
-    name = "export_kernel_fpu_functions";
-    patch = ./export_kernel_fpu_functions.patch;
+    "4.14" = {
+      name = "export_kernel_fpu_functions";
+      patch = ./export_kernel_fpu_functions_4_14.patch;
+    };
+    "5.3" = {
+      name = "export_kernel_fpu_functions";
+      patch = ./export_kernel_fpu_functions_5_3.patch;
+    };
   };
 
   # patches from https://lkml.org/lkml/2019/7/15/1748
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix b/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
index 1e5c987d508b..9f32e3e37ddb 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
+++ b/nixpkgs/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,31 +36,29 @@ 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.
-  NIX_CFLAGS_COMPILE =
-    [ "-Wno-error=cpp"
-      "-Wno-error=bool-compare"
-      "-Wno-error=deprecated-declarations"
-      "-DOBJDUMP_PATH=\"${binutils}/bin/objdump\""
-    ]
-    # gcc before 6 doesn't know these options
-    ++ stdenv.lib.optionals (hasPrefix "gcc-6" stdenv.cc.cc.name) [
-      "-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation"
-    ];
+  NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error=cpp"
+    "-Wno-error=bool-compare"
+    "-Wno-error=deprecated-declarations"
+    "-DOBJDUMP_PATH=\"${binutils}/bin/objdump\""
+    "-Wno-error=stringop-truncation"
+  ];
 
   doCheck = false; # requires "sparse"
   doInstallCheck = false; # same
 
   separateDebugInfo = true;
-  installFlags = "install install-man ASCIIDOC8=1 prefix=$(out)";
+  installFlags = [ "install" "install-man" "ASCIIDOC8=1" "prefix=$(out)" ];
 
   preFixup = ''
     wrapProgram $out/bin/perf \
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch b/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch
new file mode 100644
index 000000000000..aabb9e801be4
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch
@@ -0,0 +1,13 @@
+diff --git a/security/keys/request_key.c b/security/keys/request_key.c
+index 88172c163953..4da74a1eebb2 100644
+--- a/security/keys/request_key.c
++++ b/security/keys/request_key.c
+@@ -161,7 +161,7 @@ static int call_sbin_request_key(struct key_construction *cons,
+
+	/* set up the argument list */
+	i = 0;
+-	argv[i++] = "/sbin/request-key";
++	argv[i++] = "/run/current-system/sw/bin/request-key";
+	argv[i++] = (char *) op;
+	argv[i++] = key_str;
+	argv[i++] = uid_str;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper.patch b/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper.patch
new file mode 100644
index 000000000000..8264e265aedf
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/request-key-helper.patch
@@ -0,0 +1,13 @@
+diff --git a/security/keys/request_key.c b/security/keys/request_key.c
+index 957b9e3e1492..5436a0d8b81d 100644
+--- a/security/keys/request_key.c
++++ b/security/keys/request_key.c
+@@ -114,7 +114,7 @@ static int call_usermodehelper_keys(const char *path, char **argv, char **envp,
+  */
+ static int call_sbin_request_key(struct key *authkey, void *aux)
+ {
+-	static char const request_key[] = "/sbin/request-key";
++	static char const request_key[] = "/run/current-system/sw/bin/request-key";
+ 	struct request_key_auth *rka = get_request_key_auth(authkey);
+ 	const struct cred *cred = current_cred();
+ 	key_serial_t prkey, sskey;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/update-libre.sh b/nixpkgs/pkgs/os-specific/linux/kernel/update-libre.sh
new file mode 100755
index 000000000000..3b8a00edcdac
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/update-libre.sh
@@ -0,0 +1,26 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p nix-prefetch-svn git curl
+set -euo pipefail
+
+nixpkgs="$(git rev-parse --show-toplevel)"
+path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix"
+
+old_rev="$(grep -o 'rev = ".*"' "$path" | awk -F'"' '{print $2}')"
+
+svn_url=https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/
+rev="$(curl -s "$svn_url" | grep -Em 1 -o 'Revision [0-9]+' | awk '{print $2}')"
+
+if [ "$old_rev" = "$rev" ]; then
+    echo "No updates for linux-libre"
+    exit 0
+fi
+
+sha256="$(QUIET=1 nix-prefetch-svn "$svn_url" "$rev" | tail -1)"
+
+sed -i -e "s/rev = \".*\"/rev = \"$rev\"/" \
+    -e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" "$path"
+
+if [ -n "$COMMIT" ]; then
+    git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path"
+    echo "Updated linux_latest-libre $old_rev -> $rev"
+fi
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/update.sh b/nixpkgs/pkgs/os-specific/linux/kernel/update.sh
index 7a86b05dafca..dbfa052d292f 100755
--- a/nixpkgs/pkgs/os-specific/linux/kernel/update.sh
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/update.sh
@@ -57,3 +57,6 @@ ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do
 
   echo "Updated $OLDVER -> $V"
 done
+
+# Update linux-libre
+COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-libre.sh
diff --git a/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix b/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix
index d6fd7346f4f5..4e9007c73625 100644
--- a/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ zlib ];
 
-  patches = stdenv.lib.optionals stdenv.hostPlatform.isi686 [
+  patches = [
     # fix build on i686
     # See: https://src.fedoraproject.org/rpms/kexec-tools/c/cb1e5463b5298b064e9b6c86ad6fe3505fec9298
     (fetchpatch {
diff --git a/nixpkgs/pkgs/os-specific/linux/keyutils/conf-symlink.patch b/nixpkgs/pkgs/os-specific/linux/keyutils/conf-symlink.patch
new file mode 100644
index 000000000000..02762e857a81
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/keyutils/conf-symlink.patch
@@ -0,0 +1,13 @@
+diff --git a/request-key.c b/request-key.c
+index bf47c0a..105fee8 100644
+--- a/request-key.c
++++ b/request-key.c
+@@ -313,7 +313,7 @@ static void scan_conf_dir(struct parameters *params, const char *confdir)
+ 	while ((d = readdir(dir))) {
+ 		if (d->d_name[0] == '.')
+ 			continue;
+-		if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG)
++		if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG && d->d_type != DT_LNK)
+ 			continue;
+ 		l = strlen(d->d_name);
+ 		if (l < 5)
diff --git a/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix b/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix
index 7d6ee61030c1..887aee45aa80 100644
--- a/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix
+++ b/nixpkgs/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 = [
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
       url = "https://salsa.debian.org/debian/keyutils/raw/4cecffcb8e2a2aa4ef41777ed40e4e4bcfb2e5bf/debian/patches/Make-build-reproducible.patch";
       sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm";
     })
+    ./conf-symlink.patch
   ];
 
   BUILDDATE = "1970-01-01";
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix b/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
index 4da87a557cbe..cd138f1d7f55 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
@@ -29,7 +29,7 @@ buildEnv {
       # kernel version number, otherwise depmod will use `uname -r'.
       if test -w $out/lib/modules/$kernelVersion; then
           rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*)
-          ${kmod}/bin/depmod -b $out -a $kernelVersion
+          ${kmod}/bin/depmod -b $out -C $out/etc/depmod.d -a $kernelVersion
       fi
     '';
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod/default.nix b/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
index 433506e5c39e..052ab3061c1b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, autoreconfHook, pkgconfig
-, libxslt, xz, elf-header }:
+, libxslt, xz, elf-header
+, withStatic ? false }:
 
 let
   systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
@@ -21,10 +22,11 @@ in stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--with-xz"
     "--with-modulesdirs=${modulesDirs}"
-  ];
+  ] ++ lib.optional withStatic "--enable-static";
 
   patches = [ ./module-dir.patch ]
-    ++ lib.optional stdenv.isDarwin ./darwin.patch;
+    ++ lib.optional stdenv.isDarwin ./darwin.patch
+    ++ lib.optional withStatic ./enable-static.patch;
 
   postInstall = ''
     for prog in rmmod insmod lsmod modinfo modprobe depmod; do
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod/enable-static.patch b/nixpkgs/pkgs/os-specific/linux/kmod/enable-static.patch
new file mode 100644
index 000000000000..8308c6557921
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kmod/enable-static.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index ee72283..b42c42a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes])
+ LT_INIT([disable-static pic-only])
+ DOLT
+ 
+-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
+ AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])])
+ 
+ #####################################################################
diff --git a/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix b/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix
index 0fff816eac7b..fd16acaa3a98 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/ldm/default.nix b/nixpkgs/pkgs/os-specific/linux/ldm/default.nix
index 96bb91175dc8..ce76e31a9204 100644
--- a/nixpkgs/pkgs/os-specific/linux/ldm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ldm/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     sed '16i#include <sys/stat.h>' -i ldm.c
   '';
 
-  buildFlags = "ldm";
+  buildFlags = [ "ldm" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/os-specific/linux/ledger-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/ledger-udev-rules/default.nix
index 96c60f6ea56e..e61bac510e69 100644
--- a/nixpkgs/pkgs/os-specific/linux/ledger-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ledger-udev-rules/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "ledger-udev-rules";
-  version = "unstable-2019-02-13";
+  version = "unstable-2019-05-30";
 
   src = fetchFromGitHub {
     owner = "LedgerHQ";
     repo = "udev-rules";
-    rev = "20cc1651eb551c4855aaa56628c77eaeb3031c22";
-    sha256 = "0riydkc4in10pv4qlrvbg3w78qsvxly5caa3zwyqcmsm5fmprqky";
+    rev = "765b7fdf57b20fd9326cedf48ee52e905024ab4f";
+    sha256 = "10a42al020zpkx918y6b1l9az45vk3921b2l1mx87w3m0ad9qvif";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/libaio/default.nix b/nixpkgs/pkgs/os-specific/linux/libaio/default.nix
index fef7a3236b30..792568e8b57b 100644
--- a/nixpkgs/pkgs/os-specific/linux/libaio/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libaio/default.nix
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
       --replace "-Werror" ""
   '';
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [
+    "prefix=${placeholder ''out''}"
+  ];
 
   hardeningDisable = stdenv.lib.optional (stdenv.isi686) "stackprotector";
 
@@ -33,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = http://lse.sourceforge.net/io/aio.html;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl21;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
index 9c730bb96597..174f1be99dba 100644
--- a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       --replace 'man_prefix=$(prefix)' "man_prefix=$doc"
   '';
 
-  installFlags = "RAISE_SETFCAP=no";
+  installFlags = [ "RAISE_SETFCAP=no" ];
 
   postInstall = ''
     rm "$lib"/lib/*.a
diff --git a/nixpkgs/pkgs/os-specific/linux/libnl/default.nix b/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
index 0789d53b4344..b3ccda3b50d8 100644
--- a/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
@@ -1,25 +1,19 @@
-{ stdenv, file, lib, fetchFromGitHub, fetchpatch, autoreconfHook, bison, flex, pkgconfig
+{ stdenv, file, lib, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, swig ? null, python}:
 
 stdenv.mkDerivation rec {
   pname = "libnl";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     repo = "libnl";
     owner = "thom311";
     rev = "libnl${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "1bqf1f5glwf285sa98k5pkj9gg79lliixk1jk85j63v5510fbagp";
+    sha256 = "1ak30jcx52gl5yz1691qq0b76ldbcp2z6vsvdr2mrrwqiplqbcs2";
   };
 
   outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional pythonSupport "py";
 
-  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/48d2a28710ae40877fd3e178ead1fb1bb0baa62c/dev-libs/libnl/files/libnl-3.3.0_rc1-musl.patch";
-      sha256 = "0dd7xxikib201i99k2if066hh7gwf2i4ffckrjplq6lr206jn00r";
-    });
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ autoreconfHook bison flex pkgconfig file ]
diff --git a/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix b/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix
index f2bf5c949704..2f92b316003e 100644
--- a/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
index d8a2298f3d3f..39e97f8473c8 100644
--- a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
   hardeningDisable = [ "fortify" ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   makeFlags = [
     "PREFIX=$(out)"
diff --git a/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix b/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix
index 03bd0252c5ca..b31554d6cee4 100644
--- a/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     "SHLIBDIR=$(out)/lib"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   passthru = { inherit se_release se_url; };
 
diff --git a/nixpkgs/pkgs/os-specific/linux/lm-sensors/default.nix b/nixpkgs/pkgs/os-specific/linux/lm-sensors/default.nix
index b9e58cb5a4c7..82ac626d7c91 100644
--- a/nixpkgs/pkgs/os-specific/linux/lm-sensors/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lm-sensors/default.nix
@@ -6,26 +6,26 @@ assert sensord -> rrdtool != null;
 
 stdenv.mkDerivation rec {
   pname = "lm-sensors";
-  version = "3.5.0";
+  version = "3.6.0";
+  dashedVersion = stdenv.lib.replaceStrings ["."] ["-"] version;
 
   src = fetchzip {
-    url = "https://github.com/lm-sensors/lm-sensors/archive/V${stdenv.lib.replaceStrings ["."] ["-"] version}.tar.gz";
-    sha256 = "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj";
+    url = "https://github.com/lm-sensors/lm-sensors/archive/V${dashedVersion}.tar.gz";
+    sha256 = "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn";
   };
 
   nativeBuildInputs = [ bison flex which ];
   buildInputs = [ perl ]
    ++ stdenv.lib.optional sensord rrdtool;
 
-  preBuild = ''
-    makeFlagsArray=(PREFIX=$out ETCDIR=$out/etc
-    ${stdenv.lib.optionalString sensord "PROG_EXTRA=sensord"})
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" "ETCDIR=${placeholder "out"}/etc" ]
+    ++ stdenv.lib.optional sensord "PROG_EXTRA=sensord";
 
   meta = with stdenv.lib; {
-    homepage = https://hwmon.wiki.kernel.org/lm_sensors;
+    homepage = "https://hwmon.wiki.kernel.org/lm_sensors";
+    changelog = "https://raw.githubusercontent.com/lm-sensors/lm-sensors/V${dashedVersion}/CHANGES";
     description = "Tools for reading hardware sensors";
-    license = with licenses; [ gpl2Plus lgpl21Plus ];
+    license = with licenses; [ lgpl21Plus gpl2Plus ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
index d4b3f374c5bc..46c8dec8889f 100644
--- a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-function-declaration" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
 
   preConfigure = ''
     export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix b/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
index 9944250bf307..7eac8fad64cd 100644
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
@@ -21,7 +21,6 @@ stdenv.mkDerivation {
     "--enable-udev_rules"
     "--enable-udev_sync"
     "--enable-pkgconfig"
-    "--enable-applib"
     "--enable-cmdlib"
   ] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd"
   ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
@@ -34,17 +33,17 @@ stdenv.mkDerivation {
 
   preConfigure =
     ''
-      substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
-        --replace /usr/bin/udevadm ${systemd}/bin/udevadm
-
       sed -i /DEFAULT_SYS_DIR/d Makefile.in
       sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
+    '' + stdenv.lib.optionalString (systemd != null) ''
+      substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
+        --replace /usr/bin/udevadm ${systemd}/bin/udevadm
     '';
 
+  # https://github.com/NixOS/nixpkgs/pull/52597
   # gcc: error: ../../device_mapper/libdevice-mapper.a: No such file or directory
   enableParallelBuilding = false;
 
-  #patches = [ ./purity.patch ];
   patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
       name = "fix-stdio-usage.patch";
@@ -66,7 +65,7 @@ stdenv.mkDerivation {
   doCheck = false; # requires root
 
   # To prevent make install from failing.
-  preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
+  installFlags = [ "OWNER=" "GROUP=" "confdir=$(out)/etc" ];
 
   # Install systemd stuff.
   #installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
@@ -75,7 +74,7 @@ stdenv.mkDerivation {
     ''
       substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
         --replace $out/sbin/blkid ${utillinux}/sbin/blkid
-
+    '' + stdenv.lib.optionalString (systemd != null) ''
       # Systemd stuff
       mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
       cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/purity.patch b/nixpkgs/pkgs/os-specific/linux/lvm2/purity.patch
deleted file mode 100644
index d6990dd9caa5..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/purity.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -ru LVM2.2.02.95-orig/udev/10-dm.rules.in LVM2.2.02.95/udev/10-dm.rules.in
---- LVM2.2.02.95-orig/udev/10-dm.rules.in	2011-08-11 19:55:29.000000000 +0200
-+++ LVM2.2.02.95/udev/10-dm.rules.in	2012-03-19 20:12:35.000000000 +0100
-@@ -19,9 +19,8 @@
- SUBSYSTEM!="block", GOTO="dm_end"
- KERNEL!="dm-[0-9]*", GOTO="dm_end"
- 
--# Set proper sbin path, /sbin has higher priority than /usr/sbin.
--ENV{DM_SBIN_PATH}="/sbin"
--TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin"
-+# Set proper sbin path. Exit if dmsetup is not present.
-+ENV{DM_SBIN_PATH}="(sbindir)"
- TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end"
- 
- # Device created, major and minor number assigned - "add" event generated.
-diff -ru LVM2.2.02.95-orig/udev/Makefile.in LVM2.2.02.95/udev/Makefile.in
---- LVM2.2.02.95-orig/udev/Makefile.in	2012-02-24 10:53:12.000000000 +0100
-+++ LVM2.2.02.95/udev/Makefile.in	2012-03-19 20:16:09.000000000 +0100
-@@ -12,6 +12,7 @@
- # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- 
- srcdir = @srcdir@
-+sbindir = @sbindir@
- top_srcdir = @top_srcdir@
- top_builddir = @top_builddir@
- 
-@@ -26,7 +27,7 @@
- ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes")
- 	BLKID_RULE=IMPORT{builtin}=\"blkid\"
- else
--	BLKID_RULE=IMPORT{program}=\"\$$env{DM_SBIN_PATH}\/blkid -o udev -p \$$tempnode\"
-+	BLKID_RULE=IMPORT{program}=\"\/sbin\/blkid -o udev -p \$$tempnode\"
- endif
- 
- CLEAN_TARGETS = 10-dm.rules 13-dm-disk.rules
-@@ -36,7 +37,7 @@
- vpath %.rules $(srcdir)
- 
- %.rules: %.rules.in
--	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" $< >$@
-+	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" -e "s|(sbindir)|$(sbindir)|" $< >$@
- 
- %_install: %.rules
- 	$(INSTALL_DATA) -D $< $(udevdir)/$(<F)
diff --git a/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix b/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix
index ec76cda97692..1f1c4b4d7c11 100644
--- a/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A utility for viewing/manipulating the MAC address of network interfaces";
-    maintainers = with maintainers; [ joachifm ];
+    maintainers = with maintainers; [ joachifm ma27 ];
     license = licenses.gpl2Plus;
     homepage = https://www.gnu.org/software/macchanger;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/mbpfan/default.nix b/nixpkgs/pkgs/os-specific/linux/mbpfan/default.nix
index 8b62ce76409e..4e2e31606c57 100644
--- a/nixpkgs/pkgs/os-specific/linux/mbpfan/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mbpfan/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mbpfan";
-  version = "2.1.1";
+  version = "2.2.1";
   src = fetchFromGitHub {
     owner = "dgraziotin";
     repo = "mbpfan";
     rev = "v${version}";
-    sha256 = "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj";
+    sha256 = "0gc9ypxi55vxs77nx8ihhh9zk7fr9v0m0zfm76q7x0bi6jz11mbr";
   };
   installPhase = ''
     mkdir -p $out/bin $out/etc
diff --git a/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
index a58bfc321d3c..a9947f92fc94 100644
--- a/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "164";
+  version = "167";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1i0f0zvxlzkfp0bvghm1z8z8bb8a5x97h56bwd7fdkrm00ivfw2k";
+    sha256 = "0vkkqri3x11p7wz8z8rym4v637qpvw7lj6v40sx7sgh1g97ja9iy";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
index 0196718cfd05..70b2580b6641 100644
--- a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
+++ b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20190918";
+  version = "20191115";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "0v668mfqxn6wzyng68aqaffh75gc215k13n6d5g7zisivvv2bgdp";
+    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/nixpkgs/pkgs/os-specific/linux/mmc-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/mmc-utils/default.nix
index 297faa2a6042..16c73377cb4b 100644
--- a/nixpkgs/pkgs/os-specific/linux/mmc-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mmc-utils/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1mak9rqjp6yvqk2h5hfil5a9gfx138h62n3cryckfbhr6fmaylm7";
   };
 
-  makeFlags = "CC=${stdenv.cc.targetPrefix}cc";
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     make install prefix=$out
diff --git a/nixpkgs/pkgs/os-specific/linux/molly-guard/default.nix b/nixpkgs/pkgs/os-specific/linux/molly-guard/default.nix
index 766c01eed3fc..9b412d9d7ed4 100644
--- a/nixpkgs/pkgs/os-specific/linux/molly-guard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/molly-guard/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "molly-guard";
-  version = "0.6.3";
+  version = "0.7.2";
 
   src = fetchurl {
-    url = "https://launchpad.net/ubuntu/+source/molly-guard/${version}/+build/8892607/+files/molly-guard_${version}_all.deb";
-    sha256 = "1d1x60m6kh9wfh9lc22g5s0j40aivwgsczykk27ymwl1pvk58dxn";
+    url = "https://launchpad.net/ubuntu/+archive/primary/+files/molly-guard_${version}_all.deb";
+    sha256 = "1k6b1hn8lc4rj9n036imsl7s9lqj6ny3acdhnbnamsdkkndmxrw7";
   };
 
   buildInputs = [ dpkg ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Attempts to prevent you from accidentally shutting down or rebooting machines";
-    homepage    = https://anonscm.debian.org/git/collab-maint/molly-guard.git/;
+    homepage    = https://salsa.debian.org/debian/molly-guard;
     license     = licenses.artistic2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ DerTim1 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/mstpd/default.nix b/nixpkgs/pkgs/os-specific/linux/mstpd/default.nix
index 492a9321a21c..4a7c6282d4c7 100644
--- a/nixpkgs/pkgs/os-specific/linux/mstpd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mstpd/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "mstpd";
-  version = "0.0.7";
+  version = "0.0.8";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "01majib6d1rixngf8c8vcrj1akf8nsqpxhdfdxxi2xwg23vx8f1a";
+    sha256 = "1xkfydxljdnj49p5r3mirk4k146428b6imfc9bkfps9yjn64mkgb";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-strncpy-gcc9.patch";
+      url = "https://github.com/mstpd/mstpd/commit/d27d7e93485d881d8ff3a7f85309b545edbe1fc6.patch";
+      sha256 = "19456daih8l3y6m9kphjr7pj7slrqzbj6yacnlgznpxyd8y4d86y";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
index afe07a5c4dbe..9a76e5873d4f 100644
--- a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "multipath-tools";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchurl {
     name = "${pname}-${version}.tar.gz";
     url = "https://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=snapshot;h=refs/tags/${version};sf=tgz";
-    sha256 = "0x6cjlb9mjrmpaqk5v6v47qz6n9zyqmw13i7pq5x6ppwyqdxhn5s";
+    sha256 = "1mgjylklh1cx8px8ffgl12kyc0ln3445vbabd2sy8chq31rpiiq8";
   };
 
   postPatch = ''
@@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
   makeFlags = [
     "LIB=lib"
     "prefix=$(out)"
-    "mandir=$(out)/share/man/man8"
+    "man8dir=$(out)/share/man/man8"
     "man5dir=$(out)/share/man/man5"
     "man3dir=$(out)/share/man/man3"
-    "unitdir=$(out)/lib/systemd/system"
+    "SYSTEMDPATH=lib"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/musl/default.nix b/nixpkgs/pkgs/os-specific/linux/musl/default.nix
index 91e1ae36f709..93e9ba614f88 100644
--- a/nixpkgs/pkgs/os-specific/linux/musl/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/musl/default.nix
@@ -29,11 +29,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "musl";
-  version = "1.1.22";
+  version = "1.1.24";
 
   src = fetchurl {
     url    = "https://www.musl-libc.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1qr9xqdzziy5bsyyqlh6k8yz056ll55d5yvc0gbhz61ginj422cb";
+    sha256 = "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k";
   };
 
   enableParallelBuilding = true;
@@ -110,11 +110,11 @@ stdenv.mkDerivation rec {
 
   passthru.linuxHeaders = linuxHeaders;
 
-  meta = {
+  meta = with lib; {
     description = "An efficient, small, quality libc implementation";
     homepage    = "http://www.musl-libc.org";
-    license     = lib.licenses.mit;
-    platforms   = lib.platforms.linux;
-    maintainers = [ lib.maintainers.thoughtpolice ];
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice dtzWill ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix
index 3f53c0f58178..74363be47f42 100644
--- a/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent
 , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
-, python3, buildPackages
+, python3, buildPackages, nixosTests
 }:
 
 let
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--enable-gss"
+      "--enable-svcgss"
       "--with-statedir=/var/lib/nfs"
       "--with-krb5=${lib.getLib kerberos}"
       "--with-systemd=${placeholder "out"}/etc/systemd/system"
@@ -104,6 +105,12 @@ stdenv.mkDerivation rec {
 
   disallowedReferences = [ (lib.getDev kerberos) ];
 
+  passthru.tests = {
+    nfs3-simple = nixosTests.nfs3.simple;
+    nfs4-simple = nixosTests.nfs4.simple;
+    nfs4-kerberos = nixosTests.nfs4.kerberos;
+  };
+
   meta = with stdenv.lib; {
     description = "Linux user-space NFS utilities";
 
diff --git a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
index 9b4f2f1c544a..34f899977d1a 100644
--- a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
@@ -1,31 +1,44 @@
-{ stdenv, fetchurl, pkgconfig, bison, flex
+{ stdenv, fetchurl, pkgconfig, bison, file, flex
+, asciidoc, libxslt, findXMLCatalogs, docbook_xml_dtd_45, docbook_xsl
 , libmnl, libnftnl, libpcap
 , gmp, jansson, readline
+, withDebugSymbols ? false
+, withPython ? false , python3
 , withXtables ? false , iptables
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.2";
+  version = "0.9.3";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "1x8kalbggjq44j4916i6vyv1rb20dlh1dcsf9xvzqsry2j063djw";
+    sha256 = "0y6vbqp6x8w165q65h4n9sba1406gaz0d4744gqszbm7w9f92swm";
   };
 
-  configureFlags = [
-    "--disable-man-doc"
-    "--with-json"
-  ] ++ optional withXtables "--with-xtables";
-
-  nativeBuildInputs = [ pkgconfig bison flex ];
+  nativeBuildInputs = [
+    pkgconfig bison file flex
+    asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt 
+  ];
 
   buildInputs = [
     libmnl libnftnl libpcap
-    gmp readline jansson
-  ] ++ optional withXtables iptables;
+    gmp jansson readline
+  ] ++ optional withXtables iptables
+    ++ optional withPython python3;
+
+  preConfigure = ''
+    substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  configureFlags = [
+    "--with-json"
+  ] ++ optional (!withDebugSymbols) "--disable-debug"
+    ++ optional (!withPython) "--disable-python"
+    ++ optional withPython "--enable-python"
+    ++ optional withXtables "--with-xtables";
 
   meta = {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
diff --git a/nixpkgs/pkgs/os-specific/linux/nmon/default.nix b/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
index cb6dd4ab946c..9de18401d7b2 100644
--- a/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nmon";
-  version = "16k";
+  version = "16m";
 
   src = fetchurl {
     url = "mirror://sourceforge/nmon/lmon${version}.c";
-    sha256 = "17nbxrnl7kqiaaxn2hwyi65gphbl3wybbyp9vri2q5ifdis3ssib";
+    sha256 = "1hazgrq3m01dzv05639yis1mypcp0jf167n9gqwd3wgxzm2lvv9b";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/os-specific/linux/numad/default.nix b/nixpkgs/pkgs/os-specific/linux/numad/default.nix
index ed84c41001b6..0d5dd118798e 100644
--- a/nixpkgs/pkgs/os-specific/linux/numad/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/numad/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "install -m" "install -Dm"
   '';
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A user-level daemon that monitors NUMA topology and processes resource consumption to facilitate good NUMA resource access";
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 2b1b37db344d..b4c6952d44d3 100755
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -59,15 +59,24 @@ installPhase() {
         mv $i/lib/libvdpau* $i/lib/vdpau
 
         # Install ICDs, make absolute paths.
+        # Be careful not to modify any original files because this runs twice.
+
+        # OpenCL
         sed -E "s#(libnvidia-opencl)#$i/lib/\\1#" nvidia.icd > nvidia.icd.fixed
         install -Dm644 nvidia.icd.fixed $i/etc/OpenCL/vendors/nvidia.icd
-        if [ -e nvidia_icd.json.template ]; then
-            # template patching for version < 435
-            sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json
-        fi
-        if [ -e nvidia_icd.json ]; then
-            install -Dm644 nvidia_icd.json $i/share/vulkan/icd.d/nvidia.json
+
+        # Vulkan
+        if [ -e nvidia_icd.json.template ] || [ -e nvidia_icd.json ]; then
+            if [ -e nvidia_icd.json.template ]; then
+                # template patching for version < 435
+                sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json.fixed
+            else
+                sed -E "s#(libGLX_nvidia)#$i/lib/\\1#" nvidia_icd.json > nvidia_icd.json.fixed
+            fi
+            install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia.json
         fi
+
+        # EGL
         if [ "$useGLVND" = "1" ]; then
             sed -E "s#(libEGL_nvidia)#$i/lib/\\1#" 10_nvidia.json > 10_nvidia.json.fixed
             install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/nvidia.json
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index c41ce5994a1b..f5aad76b0b49 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -20,37 +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.44";
+      sha256_64bit = "057wq9p2vl87gy61f079b6d7clw2vhw3kq7rj411brhrnvr7shmd";
+      settingsSha256 = "1hr1n78c92zksnnryrcz4b8kxvi6kz4yp801ks85hq4a3rryj4vg";
+      persistencedSha256 = "050znx2scm7x3r7czsz77ddjh4bs18hdd3k3shwpi3zflkmnhnvj";
+    }
+    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";
-
-    patches = [
-      (fetchurl {
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-4.16.patch?h=2ad07241ea525a6b6b555b6cb96a97634a4b2cb0";
-        sha256 = "11b3dp0na496rn13v5q4k66bf61174800g36rcwj42r0xj9cfak2";
-      })
-
-      (fetchurl {
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-5.1.patch?h=42d50ef8d6048608d18bdf2c296dd335260c5a1a";
-        sha256 = "03v46ym2bcckg9q2xrilkg21hfiwypr6gl4jmly2q3m4yza9ja6r";
-      })
-    ];
+    version = "390.132";
+    sha256_32bit = "0xgjywzkmmm6a5gby67l2kx0gn7bcxksv4wam0sqym6l1s7v5bai";
+    sha256_64bit = "0qgzsajrc3xkf2jjkwip3la0f2ixp45f76nmz5cphvzrb7k2slxn";
+    settingsSha256 = "07nylqzhldq1gr40q7x5424p2aml3qqnvl2zvnpzc65x2way34v6";
+    persistencedSha256 = "0vab5rj9b1n9yl9674q7i88w1i5p8nhvrwsayn7i1vh4wp3m840r";
   };
 
   legacy_340 = generic {
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
index 101f61f30207..533a74fcffd8 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation {
   buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
              ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
 
+  enableParallelBuilding = true;
   makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix b/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix
index 76257f94fe76..cb7f3c9510c5 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   # To omit the hostnqn and hostid files that are impure and should be unique
   # for each target host:
-  installTargets = "install-spec";
+  installTargets = [ "install-spec" ];
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix b/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
index 4040d70260c5..e1acda120253 100644
--- a/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -1,34 +1,60 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig
-, dpdk, libconfig, libpcap, numactl, openssl
-}:
+, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
+}: let
+  dpdk_18_11 = dpdk.overrideAttrs (old: rec {
+    version = "18.11.5";
+    src = fetchurl {
+      url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
+      sha256 = "1n6nfaj7703l19jcw540lm8avni48hj9q1rq4mfp8b8gd4zjprj0";
+    };
+  });
 
-stdenv.mkDerivation rec {
+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 libconfig libpcap numactl openssl ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+  buildInputs = [
+    dpdk_18_11
+    libconfig
+    libpcap
+    numactl
+    openssl
+    zlib
+    libbsd
+    libelf
+    jansson
+  ];
 
-  RTE_SDK = "${dpdk}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
 
-  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}"
-  ];
+  # binaries will segfault otherwise
+  dontStrip = true;
+
+  enableParallelBuilding = 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/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
index 274e960a89b0..34e2591d44ab 100644
--- a/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "open-iscsi";
-  version = "2.0.877";
+  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 = "0v3dsrl34pdx0yl5jsanrpgg3vw466rl8k81hkshgq3a5mq5qhf6";
+    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/nixpkgs/pkgs/os-specific/linux/open-isns/default.nix b/nixpkgs/pkgs/os-specific/linux/open-isns/default.nix
index 7b34c1029bae..6a0273afbdd3 100644
--- a/nixpkgs/pkgs/os-specific/linux/open-isns/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/open-isns/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-shared" ];
 
-  installFlags = "etcdir=$(out)/etc vardir=$(out)/var/lib/isns";
-  installTargets = "install install_hdrs install_lib";
+  installFlags = [ "etcdir=$(out)/etc" "vardir=$(out)/var/lib/isns" ];
+  installTargets = [ "install" "install_hdrs" "install_lib" ];
 
   meta = {
     description = "iSNS server and client for Linux";
diff --git a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix b/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix
index 355108f56e46..a6bf67db0980 100644
--- a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix b/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
index bf26b9e2b28b..53fc986d9f63 100644
--- a/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix b/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix
new file mode 100644
index 000000000000..4f3f4c5c172a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch b/nixpkgs/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch
new file mode 100644
index 000000000000..0d8ff5b0d523
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/pagemon/default.nix b/nixpkgs/pkgs/os-specific/linux/pagemon/default.nix
index 5d7357cb8380..772ef56cde2e 100644
--- a/nixpkgs/pkgs/os-specific/linux/pagemon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pagemon/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pagemon";
-  version = "0.01.16";
+  version = "0.01.17";
 
   src = fetchFromGitHub {
-    sha256 = "0fpxjw6sg6r9r7yy03brri37wmmc32rhzayzlmwgmzay8rifmm7i";
+    sha256 = "11r84nwjvnjyxc3jqhbvlgb89ajfj7v8212mz61dq5ilq5k7xa3d";
     rev = "V${version}";
     repo = "pagemon";
     owner = "ColinIanKing";
diff --git a/nixpkgs/pkgs/os-specific/linux/pam_ccreds/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_ccreds/default.nix
index 8293ac0a830a..012750c22adc 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam_ccreds/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/pam_ldap/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_ldap/default.nix
index 5b34a8bc82b5..2b3a300eccaa 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam_ldap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix
index 29ed9375c2e3..4bda93baddcf 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sh autogen.sh --prefix=$out
     '';
 
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = [ "DESTDIR=$(out)" ];
 
   # Probably a hack, but using DESTDIR and PREFIX makes everything work!
   postInstall = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/paxtest/default.nix b/nixpkgs/pkgs/os-specific/linux/paxtest/default.nix
index e01f84576ced..6bd59e1e7fd0 100644
--- a/nixpkgs/pkgs/os-specific/linux/paxtest/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/paxtest/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   makefile     = "Makefile.psm";
   makeFlags    = [ "PAXBIN=${paxctl}/bin/paxctl" "BINDIR=$(out)/bin" "RUNDIR=$(out)/lib/paxtest" ];
-  installFlags = ''DESTDIR=""'';
+  installFlags = [ "DESTDIR=\"\"" ];
 
   meta = with stdenv.lib; {
     description = "Test various memory protection measures";
diff --git a/nixpkgs/pkgs/os-specific/linux/pcmciautils/default.nix b/nixpkgs/pkgs/os-specific/linux/pcmciautils/default.nix
index aeb4d78d0ec4..75c32577a00a 100644
--- a/nixpkgs/pkgs/os-specific/linux/pcmciautils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pcmciautils/default.nix
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
     ln -sf ${configOpts} ./config/config.opts'')
   ;
 
-  makeFlags = "LEX=flex";
-  installFlags = ''INSTALL=install DESTDIR=''${out}'';
+  makeFlags = [ "LEX=flex" ];
+  installFlags = [ "INSTALL=install" "DESTDIR=${placeholder "out"}" ];
   postInstall =
     lib.concatMapStrings (path: ''
       for f in : $(find ${path} -type f); do
diff --git a/nixpkgs/pkgs/os-specific/linux/pktgen/configure.patch b/nixpkgs/pkgs/os-specific/linux/pktgen/configure.patch
new file mode 100644
index 000000000000..b4933313a51a
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/pktgen/configure.patch
@@ -0,0 +1,17 @@
+1. librte_process_info does not exist.
+2. lua5.3 library is liblua.
+3. app/meson.build uses undeclared drivers_install_subdir.
+--- a/lib/common/meson.build
++++ b/lib/common/meson.build
+@@ -34,1 +34,1 @@
+-libs = ['eal', 'kvargs', 'cmdline', 'process_info']
++libs = ['eal', 'kvargs', 'cmdline']
+--- a/lib/lua/meson.build
++++ b/lib/lua/meson.build
+@@ -31 +31 @@ endforeach
+-ext_deps += cc.find_library('lua5.3', required: true)
++ext_deps += cc.find_library('lua', required: true)
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -0,0 +1,1 @@
++option('drivers_install_subdir', type: 'string', value: '')
diff --git a/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix b/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix
index 0d92c7c69098..3312f2302472 100644
--- a/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix
@@ -1,59 +1,40 @@
-{ stdenv, lib, fetchurl, pkgconfig
-, dpdk, libpcap, numactl, utillinux
-, gtk2, withGtk ? false
+{ stdenv, lib, fetchurl, meson, ninja, pkgconfig
+, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux
+, gtk2, which, withGtk ? false
 }:
 
-let
-
-  # pktgen needs a specific version of lua to apply its patch (see lib/lua/Makefile).
-  lua = rec {
-    name = "lua-5.3.4";
-    basename = name + ".tar.gz";
-    src = fetchurl {
-      url = "https://www.lua.org/ftp/${basename}";
-      sha256 = "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn";
-    };
-  };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "pktgen";
-  version = "3.5.0";
+  version = "19.12.0";
 
   src = fetchurl {
-    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.xz";
-    sha256 = "1gy99jr9dbwzi9pd3w5k673h3pfnbkz6rbzmrkwcyis72pnphy5z";
+    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/${pname}-${version}.tar.xz";
+    sha256 = "1clfviz1qa4hysslcg6i29vsxwl9f6j1y7zf9wwx9br3yq08x956";
   };
 
-  nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig ];
 
   buildInputs =
-    [ dpdk libpcap numactl ]
+    [ dpdk libbsd libpcap lua5_3 numactl which ]
     ++ stdenv.lib.optionals withGtk [gtk2];
 
-  RTE_SDK = "${dpdk}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  RTE_SDK = dpdk;
   GUI = stdenv.lib.optionalString withGtk "true";
 
-  NIX_CFLAGS_COMPILE = [ "-msse3" ];
+  NIX_CFLAGS_COMPILE = "-msse3";
 
-  postPatch = let dpdkMajor = lib.versions.major dpdk.version; in ''
-    substituteInPlace app/Makefile --replace 'yy :=' 'yy := ${dpdkMajor} #'
-    substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
+  patches = [ ./configure.patch ];
 
-    ln -s ${lua.src} lib/lua/${lua.basename}
-    make -C lib/lua get_tarball # unpack and patch
-    substituteInPlace lib/lua/${lua.name}/src/luaconf.h --replace /usr/local $out
+  postPatch = ''
+    substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
   '';
 
-  installPhase = ''
-    install -d $out/bin
-    install -m 0755 app/${RTE_TARGET}/pktgen $out/bin
-    install -d $out/lib/lua/5.3
-    install -m 0644 Pktgen.lua $out/lib/lua/5.3
+  postInstall = ''
+    # meson installs unneeded files with conflicting generic names, such as
+    # include/cli.h and lib/liblua.so.
+    rm -rf $out/include $out/lib
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Traffic generator powered by DPDK";
     homepage = http://dpdk.org/;
diff --git a/nixpkgs/pkgs/os-specific/linux/power-calibrate/default.nix b/nixpkgs/pkgs/os-specific/linux/power-calibrate/default.nix
new file mode 100644
index 000000000000..d62990ed4ffd
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/power-calibrate/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "power-calibrate";
+  version = "0.01.29";
+
+  src = fetchurl {
+    url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1v8wvhjqglkvk9cl2b48lkcwhbc6nsdi3hjd7sap4hyvd6703pgs";
+  };
+
+  installFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man/man8"
+  ];
+
+  meta = with lib; {
+    description = "Tool to calibrate power consumption";
+    homepage = "https://kernel.ubuntu.com/~cking/power-calibrate/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix
index 3daab3917e84..09e4cbc438bb 100644
--- a/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix
@@ -5,11 +5,9 @@
 }:
 
 assert (!libsOnly) -> kernel != null;
-# Disable for kernels 4.15 and above due to compatibility issues
-assert kernel != null -> stdenv.lib.versionOlder kernel.version "4.15";
 
-let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
-    xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer));
+let xorgFullVer = lib.getVersion xorg.xorgserver;
+    xorgVer = lib.versions.majorMinor xorgFullVer;
     x64 = if stdenv.hostPlatform.system == "x86_64-linux" then true
           else if stdenv.hostPlatform.system == "i686-linux" then false
           else throw "Parallels Tools for Linux only support {x86-64,i686}-linux targets";
@@ -44,7 +42,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/nixpkgs/pkgs/os-specific/linux/procdump/default.nix b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
index 0185d3022bc2..d24f665cc7ca 100644
--- a/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
@@ -1,28 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }:
+{ stdenv, fetchFromGitHub, bash, coreutils, gdb, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "procdump";
-  version = "1.0.1";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = "ProcDump-for-Linux";
     rev = version;
-    sha256 = "1lkm05hq4hl1vadj9ifm18hi7cbf5045xlfxdfbrpsl6kxgfwcc4";
+    sha256 = "1pcf6cpslpazla0na0q680dih9wb811q5irr7d2zmw0qmxm33jw2";
   };
 
   nativeBuildInputs = [ zlib ];
   buildInputs = [ bash coreutils gdb ];
 
-  patches = [
-    # Fix name conflict when built with musl
-    # TODO: check if fixed upstream https://github.com/Microsoft/ProcDump-for-Linux/pull/50
-    (fetchpatch {
-      url = "https://github.com/Microsoft/ProcDump-for-Linux/commit/1b7b50b910f20b463fb628c8213663c8a8d11d0d.patch";
-      sha256 = "0h0dj3gi6hw1wdpc0ih9s4kkagv0d9jzrg602cr85r2z19lmb7yk";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/CoreDumpWriter.c \
       --replace '"gcore ' '"${gdb}/bin/gcore ' \
@@ -31,16 +22,26 @@ stdenv.mkDerivation rec {
   '';
 
   makeFlags = [
-    "DESTDIR=$(out)"
+    "DESTDIR=${placeholder "out"}"
     "INSTALLDIR=/bin"
     "MANDIR=/share/man/man1"
   ];
 
-  doCheck = false; # needs root
+  doCheck = false; # needs sudo root
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    set +o pipefail
+    ($out/bin/procdump -h | grep "ProcDump v${version}") ||
+      (echo "ERROR: ProcDump is not the expected version or does not run properly" ; exit 1)
+    set -o pipefail
+    runHook postInstallCheck
+  '';
 
   meta = with stdenv.lib; {
     description = "A Linux version of the ProcDump Sysinternals tool";
-    homepage = https://github.com/Microsoft/ProcDump-for-Linux;
+    homepage = "https://github.com/Microsoft/ProcDump-for-Linux";
     license = licenses.mit;
     maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/procps-ng/default.nix b/nixpkgs/pkgs/os-specific/linux/procps-ng/default.nix
index 1f39a99ea0bf..62a6b645c2c4 100644
--- a/nixpkgs/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/procps-ng/default.nix
@@ -14,12 +14,12 @@
 
 stdenv.mkDerivation rec {
   pname = "procps";
-  version = "3.3.15";
+  version = "3.3.16";
 
   # The project's releases are on SF, but git repo on gitlab.
   src = fetchurl {
     url = "mirror://sourceforge/procps-ng/procps-ng-${version}.tar.xz";
-    sha256 = "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h";
+    sha256 = "1br0g93ysqhlv13i1k4lfbimsgxnpy5rgs4lxfc9rkzdbpbaqplj";
   };
 
   buildInputs = [ ncurses ]
diff --git a/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix b/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix
index 413b7d5dcbdf..999df37706de 100644
--- a/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/r8168/default.nix b/nixpkgs/pkgs/os-specific/linux/r8168/default.nix
index f2c87b97c4ff..b3d8965704fd 100644
--- a/nixpkgs/pkgs/os-specific/linux/r8168/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/r8168/default.nix
@@ -6,7 +6,7 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi
 in stdenv.mkDerivation rec {
   name = "r8168-${kernel.version}-${version}";
   # on update please verify that the source matches the realtek version
-  version = "8.046.00";
+  version = "8.047.04";
 
   # This is a mirror. The original website[1] doesn't allow non-interactive
   # downloads, instead emailing you a download link.
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     owner = "mtorromeo";
     repo = "r8168";
     rev = version;
-    sha256 = "0y8w3biw5mshn5bvl24b9rybfh67f1s9gfzkcv9p4m7s7nchj2dg";
+    sha256 = "1rni8jimwdhyx75603mdcylrdxgfwfpyprf1lf5x5cli2i4bbijg";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
index ce0e8707ff57..b16b230ce27d 100644
--- a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
@@ -4,7 +4,7 @@
 } :
 
 let
-  version = "25.0";
+  version = "27.0";
 
 in stdenv.mkDerivation {
   pname = "rdma-core";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "1r1gfps1xckky06ib1rbf6lp58v2jqpy1ipkr45rf55gpaxf93cj";
+    sha256 = "04mhcrcmbwxcjhswlkhnr6m5nl2389jgjv6aqhd4v0x555cwnfvw";
   };
 
   nativeBuildInputs = [ cmake pkgconfig pandoc docutils makeWrapper ];
diff --git a/nixpkgs/pkgs/os-specific/linux/reptyr/default.nix b/nixpkgs/pkgs/os-specific/linux/reptyr/default.nix
index c078fb18c4ee..1635dc064bea 100644
--- a/nixpkgs/pkgs/os-specific/linux/reptyr/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/reptyr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, python2 }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, python2 }:
 
 stdenv.mkDerivation rec {
   version = "0.7.0";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj";
   };
 
+  patches = [
+    # Fix tests hanging
+    (fetchpatch {
+      url = "https://github.com/nelhage/reptyr/commit/bca3070ac0f3888b5d37ee162505be81b3b496ff.patch";
+      sha256 = "0w6rpv9k4a80q0ijzdq5hlpr37ncr284piqjv5agy8diniwlilab";
+    })
+  ];
+
   makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];
 
   checkInputs = [ (python2.withPackages (p: [ p.pexpect ])) ];
diff --git a/nixpkgs/pkgs/os-specific/linux/rfkill/default.nix b/nixpkgs/pkgs/os-specific/linux/rfkill/default.nix
index 6b6bef29cc36..80b5ce012437 100644
--- a/nixpkgs/pkgs/os-specific/linux/rfkill/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rfkill/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "01zs7p9kd92pxgcgwl5w46h3iyx4acfg6m1j5fgnflsaa350q5iy";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = http://wireless.kernel.org/en/users/Documentation/rfkill;
diff --git a/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix b/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix
index 78bcd925aea0..4ad454437f57 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus libcap ];
-  NIX_LDFLAGS = [ "-lrt" ];
+  NIX_LDFLAGS = "-lrt";
 
   meta = with stdenv.lib; {
     homepage = http://0pointer.de/blog/projects/rtkit;
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8192eu/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8192eu/default.nix
index 57544659e868..f24921c7ce67 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8192eu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8192eu/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8723bs/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8723bs/default.nix
index b1e01f705dcf..f468196dc73d 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8723bs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8723bs/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ nukeReferences ];
 
-  makeFlags = concatStringsSep " " [
+  makeFlags = [
     "ARCH=${stdenv.hostPlatform.platform.kernelArch}" # Normally not needed, but the Makefile sets ARCH in a broken way.
     "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" # Makefile uses $(uname -r); breaks us.
   ];
diff --git a/nixpkgs/pkgs/os-specific/linux/rtlwifi_new/default.nix b/nixpkgs/pkgs/os-specific/linux/rtlwifi_new/default.nix
index 94ba31d59e1a..403f0a400107 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtlwifi_new/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtlwifi_new/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix
index bd6b84ea73cf..200e66cb4d89 100644
--- a/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-linux-utils";
-  version = "2.5.0.1";
-  sha256 = "0bpcaah3rbz4i013bkarr7wxmfvisjyxg0z78xg5zfbgajpgjxx1";
+  version = "2.5.1.1";
+  sha256 = "00nw2phd9prgv29hzqzwjnh4y0ivkzhx3srn6n1rlyr4ydhikxi5";
 
   description = "A set of minimalistic Linux-specific system utilities";
   platforms = stdenv.lib.platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/shadow/default.nix b/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
index b4c5c0bac841..c2547ce262a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2
-, docbook_xml_dtd_45, docbook_xsl, gnome-doc-utils, flex, bison
+, docbook_xml_dtd_45, docbook_xsl, itstool, flex, bison
 , pam ? null, glibcCross ? null
 }:
 
@@ -19,18 +19,18 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shadow";
-  version = "4.6";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "shadow-maint";
     repo = "shadow";
     rev = version;
-    sha256 = "1llcv77lvpc4h3rgww9ms736kbdisiylcr2z02863f41afxbwl82";
+    sha256 = "05a636dqxip09l5jjrrs30lvwq6xkhjrdgjbbj3bg6b6z7hc67qk";
   };
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
   nativeBuildInputs = [autoreconfHook libxslt libxml2
-    docbook_xml_dtd_45 docbook_xsl gnome-doc-utils flex bison
+    docbook_xml_dtd_45 docbook_xsl flex bison itstool
     ];
 
   patches =
@@ -38,13 +38,6 @@ stdenv.mkDerivation rec {
       # Obtain XML resources from XML catalog (patch adapted from gtk-doc)
       ./respect-xml-catalog-files-var.patch
       dots_in_usernames
-
-      # Check for correct DocBook version during configure
-      # https://github.com/shadow-maint/shadow/pull/162
-      (fetchpatch {
-        url = "https://github.com/shadow-maint/shadow/commit/47797ca6654f79e3de854a6c69db2bdb0516db08.patch";
-        sha256 = "1zn8f6fd26gj5sh60099xqc7mjwgbbkkic5xfigvxa4b90vm8fd7";
-      })
     ];
 
   # The nix daemon often forbids even creating set[ug]id files.
diff --git a/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix b/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
index f2fa48b9efbe..dbaf6f413251 100644
--- a/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "smemstat";
-  version = "0.02.05";
+  version = "0.02.06";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.xz";
-    sha256 = "00586w6f1cq7rayv6galh9qxk7wrz62zbha9qhrb1cf85axchvbw";
+    sha256 = "1069gwmc29vbw7zszqa5v5yxfvgaq7c41r0g456zdpm6msy5kb0w";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix b/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix
index 399244e47ee1..61a51afa3a75 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix
@@ -5,32 +5,30 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.26.4";
+  version = "0.26.5";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "1v2j1ns17wyj7xl91p6wy1iwfx2fnn8af9nm939skc6229m87zzn";
+    sha256 = "145mwg6izrpi4r1qrygi4yb7qd68g4k64i3qmamk0671wxhjqi3c";
   };
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [
     zlib luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb c-ares protobuf grpc
-  ] ++ optional (kernel != null) kernel.moduleBuildDependencies;
+  ] ++ optionals (kernel != null) kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
 
   cmakeFlags = [
     "-DUSE_BUNDLED_DEPS=OFF"
     "-DSYSDIG_VERSION=${version}"
+    "-DCREATE_TEST_TARGETS=OFF"
   ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF";
 
   # needed since luajit-2.1.0-beta3
-  NIX_CFLAGS_COMPILE = [
-    "-DluaL_reg=luaL_Reg"
-    "-DluaL_getn(L,i)=((int)lua_objlen(L,i))"
-  ];
+  NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg -DluaL_getn(L,i)=((int)lua_objlen(L,i))";
 
   preConfigure = ''
     cmakeFlagsArray+=(-DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl")
diff --git a/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix b/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix
index 513503ff98e6..213394e5eccf 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-DSYSV";
 
-  installFlags = "BINDIR=$(out)/sbin MANDIR=$(out)/share/man INSTALL=install";
+  installFlags = [ "BINDIR=$(out)/sbin" "MANDIR=$(out)/share/man" "INSTALL=install" ];
 
   preConfigure =
     ''
diff --git a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix b/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
index e2adcd2cc2a0..2ad7b21d451a 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "sysstat-12.1.5";
+  name = "sysstat-12.1.7";
 
   src = fetchurl {
-    url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz";
-    sha256 = "1i92jmrqcpzgy98r1f4fd0x7y2wvwc05ywsh19w3s2gmndmr75m4";
+    url = "http://pagesperso-orange.fr/sebastien.godard/${name}.tar.xz";
+    sha256 = "1i0qy44krl1gj82izgmqa0zdw82f2gmqzlslvdg5v270vl7i24g7";
   };
 
   buildInputs = [ gettext ];
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     export SYSTEMCTL=systemctl
   '';
 
-  makeFlags = "SYSCONFIG_DIR=$(out)/etc IGNORE_FILE_ATTRIBUTES=y CHOWN=true";
-  installTargets = "install_base install_nls install_man";
+  makeFlags = [ "SYSCONFIG_DIR=$(out)/etc" "IGNORE_FILE_ATTRIBUTES=y" "CHOWN=true" ];
+  installTargets = [ "install_base" "install_nls" "install_man" ];
 
   patches = [ ./install.patch ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
index a7ed32ab6964..214c9b75cea1 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap, kmod
-, xz, pam, acl, libuuid, m4, utillinux, libffi
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap
+, curl, kmod, gnupg, gnutar, xz, pam, acl, libuuid, m4, utillinux, libffi
 , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor
 , audit, lz4, bzip2, libmicrohttpd, pcre2
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
-, iptables, gnu-efi
+, iptables, gnu-efi, bashInteractive
 , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45
 , ninja, meson, python3Packages, glibcLocales
 , patchelf
@@ -15,17 +15,31 @@
 , withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms, kexectools
 }:
 
-stdenv.mkDerivation {
-  version = "243";
+let gnupg-minimal = gnupg.override {
+  enableMinimal = true;
+  guiSupport = false;
+  pcsclite = null;
+  sqlite = null;
+  pinentry = null;
+  adns = null;
+  gnutls = null;
+  libusb = null;
+  openldap = null;
+  readline = null;
+  zlib = null;
+  bzip2 = null;
+};
+in stdenv.mkDerivation {
+  version = "243.3";
   pname = "systemd";
 
   # When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
   # Also fresh patches should be cherry-picked from that tree to our current one.
   src = fetchFromGitHub {
-    owner = "NixOS";
+    owner = "nixos";
     repo = "systemd";
-    rev = "7019836a26ebdc1ba20c03d06dbb3a613833bd0f";
-    sha256 = "0ywaq5jfy177k4q5hwr43v66sz62l1bqhgyxs2vk9m1d5kvrjwk6";
+    rev = "d8853d39a28b9884e0acd3ae5732a1e7caaf08af";
+    sha256 = "1wqm51i2czbbb3nara11mnxzqng4na1l8fvz7qnbxcrjsqm7hz18";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
@@ -41,7 +55,7 @@ stdenv.mkDerivation {
       (buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]))
     ];
   buildInputs =
-    [ linuxHeaders libcap kmod xz pam acl
+    [ linuxHeaders libcap curl.dev kmod xz pam acl
       /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2
       libmicrohttpd pcre2 ] ++
       stdenv.lib.optional withKexectools kexectools ++
@@ -53,7 +67,7 @@ stdenv.mkDerivation {
   #dontAddPrefix = true;
 
   mesonFlags = [
-    "-Ddbuspolicydir=${placeholder "out"}/etc/dbus-1/system.d"
+    "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d"
     "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services"
     "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services"
     "-Dpamconfdir=${placeholder "out"}/etc/pam.d"
@@ -64,8 +78,10 @@ stdenv.mkDerivation {
     "-Dloadkeys-path=${kbd}/bin/loadkeys"
     "-Dsetfont-path=${kbd}/bin/setfont"
     "-Dtty-gid=3" # tty in NixOS has gid 3
+    "-Ddebug-shell=${bashInteractive}/bin/bash"
     # while we do not run tests we should also not build them. Removes about 600 targets
     "-Dtests=false"
+    "-Dimportd=true"
     "-Dlz4=true"
     "-Dhostnamed=true"
     "-Dnetworkd=true"
@@ -76,15 +92,25 @@ stdenv.mkDerivation {
     "-Dlocaled=true"
     "-Dresolve=true"
     "-Dsplit-usr=false"
-    "-Dlibcurl=false"
+    "-Dlibcurl=true"
     "-Dlibidn=false"
     "-Dlibidn2=true"
     "-Dquotacheck=false"
     "-Dldconfig=false"
     "-Dsmack=true"
     "-Db_pie=true"
-    "-Dsystem-uid-max=499" #TODO: debug why awking around in /etc/login.defs doesn't work
-    "-Dsystem-gid-max=499"
+    /*
+    As of now, systemd doesn't allow runtime configuration of these values. So
+    the settings in /etc/login.defs have no effect on it. Many people think this
+    should be supported however, see
+    - https://github.com/systemd/systemd/issues/3855
+    - https://github.com/systemd/systemd/issues/4850
+    - https://github.com/systemd/systemd/issues/9769
+    - https://github.com/systemd/systemd/issues/9843
+    - https://github.com/systemd/systemd/issues/10184
+    */
+    "-Dsystem-uid-max=999"
+    "-Dsystem-gid-max=999"
     # "-Dtime-epoch=1"
 
     (if !stdenv.hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
@@ -114,7 +140,7 @@ stdenv.mkDerivation {
     export LC_ALL="en_US.UTF-8";
     # FIXME: patch this in systemd properly (and send upstream).
     # already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount
-    for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/shutdown/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do
+    for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/shutdown/shutdown.c src/nspawn/nspawn.c src/shared/generator.c units/systemd-logind.service.in units/systemd-nspawn@.service.in; do
       test -e $i
       substituteInPlace $i \
         --replace /usr/bin/getent ${getent}/bin/getent \
@@ -124,6 +150,7 @@ stdenv.mkDerivation {
         --replace /bin/echo ${coreutils}/bin/echo \
         --replace /bin/cat ${coreutils}/bin/cat \
         --replace /sbin/sulogin ${lib.getBin utillinux}/sbin/sulogin \
+        --replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \
         --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \
         --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
     done
@@ -132,6 +159,14 @@ stdenv.mkDerivation {
       patchShebangs $dir
     done
 
+    # absolute paths to gpg & tar
+    substituteInPlace src/import/pull-common.c \
+      --replace '"gpg"' '"${gnupg-minimal}/bin/gpg"'
+    for file in src/import/{{export,import,pull}-tar,import-common}.c; do
+      substituteInPlace $file \
+        --replace '"tar"' '"${gnutar}/bin/tar"'
+    done
+
     substituteInPlace src/journal/catalog.c \
       --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
   '';
@@ -145,18 +180,18 @@ stdenv.mkDerivation {
       --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
   '';
 
-  NIX_CFLAGS_COMPILE =
-    [ # Can't say ${polkit.bin}/bin/pkttyagent here because that would
-      # lead to a cyclic dependency.
-      "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
+  NIX_CFLAGS_COMPILE = toString [
+    # Can't say ${polkit.bin}/bin/pkttyagent here because that would
+    # lead to a cyclic dependency.
+    "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
 
-      # Set the release_agent on /sys/fs/cgroup/systemd to the
-      # currently running systemd (/run/current-system/systemd) so
-      # that we don't use an obsolete/garbage-collected release agent.
-      "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
+    # Set the release_agent on /sys/fs/cgroup/systemd to the
+    # currently running systemd (/run/current-system/systemd) so
+    # that we don't use an obsolete/garbage-collected release agent.
+    "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
 
-      "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
-    ];
+    "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
+  ];
 
   doCheck = false; # fails a bunch of tests
 
@@ -228,6 +263,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     priority = 10;
-    maintainers = with maintainers; [ eelco andir ];
+    maintainers = with maintainers; [ andir eelco flokli mic92 ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
index a29c6152aaa6..e3a8baa7da35 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, withoutInitTools ? false }:
 
-let version = "2.95"; in
+let version = "2.96"; in
 
 stdenv.mkDerivation {
   name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version;
 
   src = fetchurl {
     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.xz";
-    sha256 = "1j46dydib9yd2a46w43is9b61lplwrsry46fw7cbmfrn7ywrq0n9";
+    sha256 = "11xmcamvjmrw874zp0vc37hrqc4hz02i0iy8n4xa4dd25avjcbia";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix b/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix
index b8990484cb98..aa670aba7271 100644
--- a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/tiptop/default.nix b/nixpkgs/pkgs/os-specific/linux/tiptop/default.nix
index 47b89f138c52..bfcf58a35307 100644
--- a/nixpkgs/pkgs/os-specific/linux/tiptop/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tiptop/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ flex bison ];
   buildInputs = [ libxml2 ncurses ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];
+  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
   meta = with stdenv.lib; {
     description = "Performance monitoring tool for Linux";
diff --git a/nixpkgs/pkgs/os-specific/linux/tomb/default.nix b/nixpkgs/pkgs/os-specific/linux/tomb/default.nix
index 9fde84060247..4a47ed8868db 100644
--- a/nixpkgs/pkgs/os-specific/linux/tomb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix
index 567dcd1068c5..47adcf938c5b 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, asciidoc, docbook_xsl, libxslt }:
 stdenv.mkDerivation {
   pname = "trace-cmd";
-  version = "2.8.3";
+  version = "2.9-dev";
 
   src = fetchgit (import ./src.nix);
 
@@ -17,19 +17,15 @@ stdenv.mkDerivation {
 
   buildPhase = "make trace-cmd libs doc";
 
-  installTargets = [ "install_cmd" "install_libs" "install_man" ];
+  installTargets = [ "install_cmd" "install_libs" "install_doc" ];
   installFlags = [
     "bindir=${placeholder "out"}/bin"
     "man_dir=${placeholder "man"}/share/man"
     "libdir=${placeholder "lib"}/lib"
-    "includedir=${placeholder "dev"}/include/trace-cmd"
+    "includedir=${placeholder "dev"}/include"
     "BASH_COMPLETE_DIR=${placeholder "out"}/etc/bash_completion.d"
   ];
 
-  postInstall = ''
-    mv $dev/include/trace-cmd/traceevent $dev/include/traceevent
-  '';
-
   meta = with stdenv.lib; {
     description = "User-space tools for the Linux kernel ftrace subsystem";
     homepage    = http://kernelshark.org/;
diff --git a/nixpkgs/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch b/nixpkgs/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
index 0d6f5c5d8bfe..db194e16fdb6 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
+++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
@@ -1,52 +1,35 @@
-diff --git a/Documentation/Makefile b/Documentation/Makefile
-index 21e42fd..826361d 100644
---- a/Documentation/Makefile
-+++ b/Documentation/Makefile
-@@ -108,7 +108,11 @@ $(IMGS_INSTALL): %.png.install : %.png force
- 
- GUI_INSTALL = $(HTML_INSTALL) $(IMGS_INSTALL)
- 
--install: $(MAN1_INSTALL) $(MAN5_INSTALL) $(GUI_INSTALL)
-+install_man: $(MAN1_INSTALL) $(MAN5_INSTALL)
-+
-+install_gui: $(GUI_INSTALL)
-+
-+install: install_man install_gui
- 
- clean:
- 	(cd $(obj); \
 diff --git a/Makefile b/Makefile
-index 2bcc383..107ead0 100644
+index bbdf15e..deb8ef7 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -289,7 +289,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC)
+@@ -288,7 +288,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC)
  libtracecmd.a: $(LIBTRACECMD_STATIC)
  libtracecmd.so: $(LIBTRACECMD_SHARED)
  
 -libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED)
 +libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED) $(LIBTRACECMD_STATIC) $(LIBTRACEEVENT_STATIC)
  
- plugins: force $(obj)/plugins/trace_plugin_dir $(obj)/plugins/trace_python_dir
- 	$(Q)$(MAKE) -C $(src)/plugins
-@@ -345,6 +345,8 @@ install_gui: install_cmd gui
+ plugins: force $(obj)/lib/traceevent/plugins/traceevent_plugin_dir $(obj)/lib/traceevent/plugins/trace_python_dir
+ 	$(Q)$(MAKE) -C $(src)/lib/traceevent/plugins
+@@ -344,6 +344,8 @@ install_gui: install_cmd gui
  install_libs: libs
- 	$(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ))
- 	$(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ))
-+	$(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ))
-+	$(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ))
+ 	$(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ)/trace-cmd)
+ 	$(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ)/traceevent)
++	$(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ)/trace-cmd)
++	$(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ)/traceevent)
  	$(Q)$(call do_install,$(src)/include/traceevent/event-parse.h,$(includedir_SQ)/traceevent)
  	$(Q)$(call do_install,$(src)/include/traceevent/trace-seq.h,$(includedir_SQ)/traceevent)
- 	$(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ))
-@@ -356,6 +358,12 @@ doc:
- doc_clean:
- 	$(MAKE) -C $(src)/Documentation clean
+ 	$(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ)/trace-cmd)
+diff --git a/kernel-shark/src/CMakeLists.txt b/kernel-shark/src/CMakeLists.txt
+index e20a030..7fce165 100644
+--- a/kernel-shark/src/CMakeLists.txt
++++ b/kernel-shark/src/CMakeLists.txt
+@@ -93,7 +93,7 @@ if (Qt5Widgets_FOUND AND Qt5Network_FOUND)
+             DESTINATION ${_INSTALL_PREFIX}/share/icons/${KS_APP_NAME})
  
-+install_man:
-+	$(MAKE) -C $(src)/Documentation install_man
-+
-+install_gui_docs:
-+	$(MAKE) -C $(src)/Documentation install_gui
-+
- install_doc:
- 	$(MAKE) -C $(src)/Documentation install
+     install(FILES "${KS_DIR}/org.freedesktop.kshark-record.policy"
+-            DESTINATION /usr/share/polkit-1/actions/)
++            DESTINATION ${_INSTALL_PREFIX}/share/polkit-1/actions/)
  
+     install(PROGRAMS "${KS_DIR}/bin/kshark-su-record"
+             DESTINATION ${_INSTALL_PREFIX}/bin/)
diff --git a/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
index b73de3193d22..5e355ac7c9a7 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
+++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
@@ -1,7 +1,7 @@
-{ stdenv, mkDerivation, fetchgit, qtbase, cmake, json_c, mesa_glu, freeglut, trace-cmd, pkg-config }:
+{ stdenv, mkDerivation, fetchgit, qtbase, cmake, asciidoc, docbook_xsl, json_c, mesa_glu, freeglut, trace-cmd, pkg-config }:
 mkDerivation {
   pname = "kernelshark";
-  version = "0.9.8";
+  version = "1.1.0";
 
   src = fetchgit (import ./src.nix);
 
@@ -11,27 +11,28 @@ mkDerivation {
 
   preConfigure = "pushd kernel-shark";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ pkg-config cmake asciidoc ];
 
-  buildInputs = [ qtbase json_c mesa_glu freeglut pkg-config ];
+  buildInputs = [ qtbase json_c mesa_glu freeglut ];
 
   cmakeFlags = [
     "-D_INSTALL_PREFIX=${placeholder "out"}"
     "-DTRACECMD_BIN_DIR=${trace-cmd}/bin"
     "-DTRACECMD_INCLUDE_DIR=${trace-cmd.dev}/include"
-    "-DTRACECMD_LIBRARY=${trace-cmd.lib}/lib/libtracecmd.a"
-    "-DTRACEEVENT_LIBRARY=${trace-cmd.lib}/lib/libtraceevent.a"
+    "-DTRACECMD_LIBRARY=${trace-cmd.lib}/lib/trace-cmd/libtracecmd.a"
+    "-DTRACEEVENT_LIBRARY=${trace-cmd.lib}/lib/traceevent/libtraceevent.a"
   ];
 
   preInstall = ''
     popd
-    make install_gui_docs prefix=$doc
+    make install_doc_gui prefix=$doc \
+      FIND_MANPAGE_DOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl-nons/manpages/docbook.xsl
     pushd kernel-shark/build
   '';
 
   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/nixpkgs/pkgs/os-specific/linux/trace-cmd/src.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/src.nix
index 836e71b1851e..47c1b82fdd46 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/src.nix
+++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/src.nix
@@ -1,5 +1,5 @@
 {
   url    = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/";
-  rev    = "138c70106835ee0f05879e7f2f46bca8dae7ca99"; # branch: trace-cmd-stable-v2.8
-  sha256 = "1grpip7lywf98nsm7ql1d6bgc0ky0672savr8jz3a8hf9ny265nx";
+  rev    = "ab370b78b9278fe16657742d46cb95c0a65b47d5"; # branch: kernelshark-v1.1
+  sha256 = "0qngwc4qgadrkwlwpz73f12prdkx94kl0bg7g9hib95ipvsdmk1c";
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/trezor-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/trezor-udev-rules/default.nix
new file mode 100644
index 000000000000..c2be81373768
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/trezor-udev-rules/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "trezor-udev-rules";
+  version = "unstable-2019-07-17";
+
+  udevRules = fetchurl {
+    # let's pin the latest commit in the repo which touched the udev rules file
+    url = "https://raw.githubusercontent.com/trezor/trezor-firmware/68a3094b0a8e36b588b1bcb58c34a2c9eafc0dca/common/udev/51-trezor.rules";
+    sha256 = "0vlxif89nsqpbnbz1vwfgpl1zayzmq87gw1snskn0qns6x2rpczk";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    cp ${udevRules} 51-trezor.rules
+    mkdir -p $out/lib/udev/rules.d
+    # we use trezord group, not plugdev
+    # we don't need the udev-acl tag
+    substituteInPlace 51-trezor.rules \
+      --replace 'GROUP="plugdev"' 'GROUP="trezord"' \
+      --replace ', TAG+="udev-acl"' ""
+    cp 51-trezor.rules $out/lib/udev/rules.d/51-trezor.rules
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Udev rules for Trezor";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = platforms.linux;
+    homepage = "https://github.com/trezor/trezor-firmware/tree/master/common/udev";
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/turbostat/default.nix b/nixpkgs/pkgs/os-specific/linux/turbostat/default.nix
new file mode 100644
index 000000000000..10074f490b80
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/turbostat/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, kernel }:
+
+stdenv.mkDerivation {
+  pname = "turbostat";
+  inherit (kernel) src version;
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  postPatch = ''
+    cd tools/power/x86/turbostat
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Report processor frequency and idle statistics";
+    homepage = https://www.kernel.org/;
+    license = licenses.gpl2;
+    platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific
+  };
+}
+
diff --git a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
index c07e063caa71..5f4014110747 100644
--- a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
@@ -48,7 +48,7 @@ let
     UCLIBC_HAS_FPU n
   '';
 
-  version = "1.0.31";
+  version = "1.0.32";
 in
 
 stdenv.mkDerivation {
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.bz2";
     # from "${url}.sha256";
-    sha256 = "0ba9yh7ir1jamrgc9x9v7zw0sw144f78q4vidiz6ynpr4dwbd5qm";
+    sha256 = "0cp4xf3k0ib76xaz6n6i7yybw7s92s607ak8svq1kakwk0d1jjbv";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
@@ -109,6 +109,6 @@ stdenv.mkDerivation {
     description = "A small implementation of the C library";
     maintainers = with maintainers; [ rasendubi ];
     license = licenses.lgpl2;
-    platforms = platforms.linux;
+    platforms = intersectLists platforms.linux platforms.x86; # fails to build on ARM
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/untie/default.nix b/nixpkgs/pkgs/os-specific/linux/untie/default.nix
index d4f83eb8caf6..9ca1c37e11b4 100644
--- a/nixpkgs/pkgs/os-specific/linux/untie/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/untie/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1334ngvbi4arcch462mzi5vxvxck4sy1nf0m58116d9xmx83ak0m";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A tool to run processes untied from some of the namespaces";
diff --git a/nixpkgs/pkgs/os-specific/linux/upower/default.nix b/nixpkgs/pkgs/os-specific/linux/upower/default.nix
index d787acae61b4..ab7f65925ee3 100644
--- a/nixpkgs/pkgs/os-specific/linux/upower/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/upower/default.nix
@@ -52,12 +52,14 @@ stdenv.mkDerivation {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-systemdutildir=${placeholder "out"}/lib/systemd"
     "--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
+    "--sysconfdir=/etc"
   ];
 
   doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
 
   installFlags = [
     "historydir=$(TMPDIR)/foo"
+    "sysconfdir=${placeholder "out"}/etc"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix b/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix
index a9983561345e..3b4c1c4b6655 100644
--- a/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/usbip/default.nix b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix
index 61f2c4540465..f927eaefb4eb 100644
--- a/nixpkgs/pkgs/os-specific/linux/usbip/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, kernel, udev, autoconf, automake, libtool }:
+{ lib, stdenv, kernel, udev, autoconf, automake, libtool }:
 
 stdenv.mkDerivation {
   name = "usbip-${kernel.name}";
 
   src = kernel.src;
 
-  patches = [
+  patches = lib.optionals (lib.versionAtLeast "5.4" kernel.version) [
     # fixes build with gcc8
     ./fix-snprintf-truncation.patch
+    # fixes build with gcc9
+    ./fix-strncpy-truncation.patch
   ];
 
   nativeBuildInputs = [ autoconf automake libtool ];
   buildInputs = [ udev ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
+
   preConfigure = ''
     cd tools/usb/usbip
     ./autogen.sh
diff --git a/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch b/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch
new file mode 100644
index 000000000000..a5c4c97bbc08
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch
@@ -0,0 +1,37 @@
+diff --git a/tools/usb/usbip/libsrc/usbip_common.c b/tools/usb/usbip/libsrc/usbip_common.c
+index bb424638d75b..2fc5837e609a 100644
+--- a/tools/usb/usbip/libsrc/usbip_common.c
++++ b/tools/usb/usbip/libsrc/usbip_common.c
+@@ -226,8 +226,8 @@ int read_usb_device(struct udev_device *sdev, struct usbip_usb_device *udev)
+ 	path = udev_device_get_syspath(sdev);
+ 	name = udev_device_get_sysname(sdev);
+ 
+-	strncpy(udev->path,  path,  SYSFS_PATH_MAX);
+-	strncpy(udev->busid, name, SYSFS_BUS_ID_SIZE);
++	strncpy(udev->path,  path,  SYSFS_PATH_MAX-1);
++	strncpy(udev->busid, name, SYSFS_BUS_ID_SIZE-1);
+ 
+ 	sscanf(name, "%u-%u", &busnum, &devnum);
+ 	udev->busnum = busnum;
+diff --git a/tools/usb/usbip/libsrc/usbip_device_driver.c b/tools/usb/usbip/libsrc/usbip_device_driver.c
+index 5a3726eb44ab..95b416af8b99 100644
+--- a/tools/usb/usbip/libsrc/usbip_device_driver.c
++++ b/tools/usb/usbip/libsrc/usbip_device_driver.c
+@@ -91,7 +91,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev)
+ 	copy_descr_attr16(dev, &descr, idProduct);
+ 	copy_descr_attr16(dev, &descr, bcdDevice);
+ 
+-	strncpy(dev->path, path, SYSFS_PATH_MAX);
++	strncpy(dev->path, path, SYSFS_PATH_MAX-1);
+ 
+ 	dev->speed = USB_SPEED_UNKNOWN;
+ 	speed = udev_device_get_sysattr_value(sdev, "current_speed");
+@@ -110,7 +110,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev)
+ 	dev->busnum = 0;
+ 
+ 	name = udev_device_get_sysname(plat);
+-	strncpy(dev->busid, name, SYSFS_BUS_ID_SIZE);
++	strncpy(dev->busid, name, SYSFS_BUS_ID_SIZE-1);
+ 	return 0;
+ err:
+ 	fclose(fd);
diff --git a/nixpkgs/pkgs/os-specific/linux/usermount/default.nix b/nixpkgs/pkgs/os-specific/linux/usermount/default.nix
index 5cb49485c5ba..ec58d513b095 100644
--- a/nixpkgs/pkgs/os-specific/linux/usermount/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/usermount/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus libnotify udisks2 gdk-pixbuf ];
 
-  NIX_CFLAGS_COMPILE = [ "-DENABLE_NOTIFICATIONS" ];
+  NIX_CFLAGS_COMPILE = "-DENABLE_NOTIFICATIONS";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
index b79a2cd342a8..c66b4cbab830 100644
--- a/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,18 +1,12 @@
 { lib, stdenv, fetchurl, pkgconfig, zlib, shadow
 , ncurses ? null, perl ? null, pam, systemd ? null, minimal ? false }:
 
-let
-  version = lib.concatStringsSep "." ([ majorVersion ]
-    ++ lib.optional (patchVersion != "") patchVersion);
-  majorVersion = "2.33";
-  patchVersion = "2";
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "util-linux";
-  inherit version;
+  version = "2.33.2";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${pname}-${version}.tar.xz";
+    url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3";
   };
 
diff --git a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
index 2e22b99a95f3..ab1413efd801 100644
--- a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "v4l2loopback-${version}-${kernel.version}";
-  version = "0.12.0";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "umlaeute";
     repo = "v4l2loopback";
     rev = "v${version}";
-    sha256 = "1rf8dvabksxb2sj14j32h7n7pw7byqfnpqs4m4afj3398y9y23c4";
+    sha256 = "1bcypfz5nlfmdm2a00yl7rgl0jh0g2nmwndxlsrblqclznhjilg2";
   };
 
   hardeningDisable = [ "format" "pic" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix b/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
index c2dca6696165..56ab1751a91f 100644
--- a/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,11 +1,18 @@
-{ stdenv, kernel, wireguard-tools, perl }:
+{ stdenv, fetchzip, kernel, perl, wireguard-tools }:
 
 # module requires Linux >= 3.10 https://www.wireguard.io/install/#kernel-requirements
 assert stdenv.lib.versionAtLeast kernel.version "3.10";
+# wireguard upstreamed since 5.6 https://lists.zx2c4.com/pipermail/wireguard/2019-December/004704.html
+assert stdenv.lib.versionOlder kernel.version "5.6";
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "wireguard";
-  inherit (wireguard-tools) src version;
+  version = "0.0.20200105";
+
+  src = fetchzip {
+    url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz";
+    sha256 = "1b0amq4xjnl0bfxy6g0awbgnfymx3knd4ldai25z53j8f7d9xri7";
+  };
 
   preConfigure = ''
     cd src
@@ -27,6 +34,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     inherit (wireguard-tools.meta) homepage license maintainers;
     description = "Kernel module for the WireGuard secure network tunnel";
+    downloadPage = "https://git.zx2c4.com/wireguard-linux-compat/refs/";
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 69525c92ede9..dc5b4289a451 100644
--- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw";
   };
 
+  patches = [
+    (fetchurl {
+      name = "CVE-2019-16275.patch";
+      url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
+      sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
+    })
+  ];
+
   # TODO: Patch epoll so that the dbus actually responds
   # TODO: Figure out how to get privsep working, currently getting SIGBUS
   extraConfig = ''
@@ -85,17 +93,19 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/man/man5 $out/share/man/man8
     cp -v "doc/docbook/"*.5 $out/share/man/man5/
     cp -v "doc/docbook/"*.8 $out/share/man/man8/
-    mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system
+
+    mkdir -p $out/share/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system
     cp -v "dbus/"*service $out/share/dbus-1/system-services
     sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"*
-    cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
+    cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d
     cp -v "systemd/"*.service $out/etc/systemd/system
+
     rm $out/share/man/man8/wpa_priv.8
     install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example
   '';
 
   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/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 7c6f595bfafd..d02901e0cc1c 100644
--- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/xf86-input-cmt/default.nix b/nixpkgs/pkgs/os-specific/linux/xf86-input-cmt/default.nix
index 2422b70b0685..9f9b278d6f77 100644
--- a/nixpkgs/pkgs/os-specific/linux/xf86-input-cmt/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/xf86-input-cmt/default.nix
@@ -2,7 +2,7 @@
   utilmacros, libgestures, libevdevc }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-cmt-${version}";
+  pname = "xf86-input-cmt";
   version = "2.0.2";
   src = fetchFromGitHub {
     owner = "hugegreenbug";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Chromebook touchpad driver.";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    homepage = "www.github.com/hugegreenbug/xf86-input-cmt";
+    homepage = "https://www.github.com/hugegreenbug/xf86-input-cmt";
     maintainers = with maintainers; [ kcalvinalvin ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch b/nixpkgs/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch
deleted file mode 100644
index ff2c6e2e1503..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From b323e7a7ebb2327943851fa3fd139399eb24d3dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
-Date: Mon, 13 Aug 2018 22:58:21 +0200
-Subject: [PATCH] build fixes needed for nixos
-
----
- module/Makefile.in | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/module/Makefile.in b/module/Makefile.in
-index 935bd2663..afb08df81 100644
---- a/module/Makefile.in
-+++ b/module/Makefile.in
-@@ -44,15 +44,15 @@ clean:
- modules_install:
- 	@# Install the kernel modules
- 	$(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \
--		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-+		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
- 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
- 		KERNELRELEASE=@LINUX_VERSION@
- 	@# Remove extraneous build products when packaging
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
--	if [ -n "$(DESTDIR)" ]; then \
-+	kmoddir=@prefix@$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-+	if [ -n "@prefix@" ]; then \
- 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
- 	fi
--	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-+	sysmap=@prefix@$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
- 	if [ -f $$sysmap ]; then \
- 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
- 	fi
--- 
-2.19.2
-
diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
index 1b9b5a3ba515..ae72aad6c077 100644
--- a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
@@ -7,6 +7,7 @@
 , libtirpc
 , nfs-utils
 , gawk, gnugrep, gnused, systemd
+, smartmontools, sysstat, sudo
 
 # Kernel dependencies
 , kernel ? null
@@ -19,7 +20,7 @@ let
 
   common = { version
     , sha256
-    , extraPatches
+    , extraPatches ? []
     , rev ? "zfs-${version}"
     , isUnstable ? false
     , incompatibleKernelVersion ? null }:
@@ -103,6 +104,7 @@ let
       installFlags = [
         "sysconfdir=\${out}/etc"
         "DEFAULT_INITCONF_DIR=\${out}/default"
+        "INSTALL_MOD_PATH=\${out}"
       ];
 
       postInstall = optionalString buildKernel ''
@@ -130,6 +132,13 @@ let
         (cd $out/share/bash-completion/completions; ln -s zfs zpool)
       '';
 
+      postFixup = ''
+        path="PATH=${makeBinPath [ coreutils gawk gnused gnugrep utillinux smartmontools sysstat sudo ]}"
+        for i in $out/libexec/zfs/zpool.d/*; do
+          sed -i "2i$path" $i
+        done
+      '';
+
       outputs = [ "out" ] ++ optionals buildUser [ "lib" "dev" ];
 
       meta = {
@@ -139,7 +148,7 @@ let
           Copy-On-Write filesystem with data integrity detection and repair,
           snapshotting, cloning, block devices, deduplication, and more.
         '';
-        homepage = http://zfsonlinux.org/;
+        homepage = https://zfsonlinux.org/;
         license = licenses.cddl;
         platforms = platforms.linux;
         maintainers = with maintainers; [ jcumming wizeman fpletz globin ];
@@ -154,13 +163,9 @@ in {
     # incompatibleKernelVersion = "4.20";
 
     # this package should point to the latest release.
-    version = "0.8.1";
+    version = "0.8.2";
 
-    sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84";
-
-    extraPatches = [
-      ./build-fixes-unstable.patch
-    ];
+    sha256 = "0miax0h2wg4b2kn8n93804faajy2n1sh25knyy2hg3k77nlr4pni";
   };
 
   zfsUnstable = common {
@@ -168,13 +173,9 @@ in {
     # incompatibleKernelVersion = "4.19";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "0.8.1";
+    version = "0.8.2";
 
-    sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84";
+    sha256 = "0miax0h2wg4b2kn8n93804faajy2n1sh25knyy2hg3k77nlr4pni";
     isUnstable = true;
-
-    extraPatches = [
-      ./build-fixes-unstable.patch
-    ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/windows/default.nix b/nixpkgs/pkgs/os-specific/windows/default.nix
index 4621c2da10fb..7f1634d5c0b3 100644
--- a/nixpkgs/pkgs/os-specific/windows/default.nix
+++ b/nixpkgs/pkgs/os-specific/windows/default.nix
@@ -1,29 +1,45 @@
-{ newScope, crossLibcStdenv }: let
+{ stdenv, buildPackages
+, newScope, overrideCC, crossLibcStdenv, libcCross
+}:
 
-  callPackage = newScope self;
+stdenv.lib.makeScope newScope (self: with self; {
 
-  self = {
-    cygwinSetup = callPackage ./cygwin-setup { };
+  cygwinSetup = callPackage ./cygwin-setup { };
 
-    jom = callPackage ./jom { };
+  jom = callPackage ./jom { };
 
-    w32api = callPackage ./w32api { };
+  w32api = callPackage ./w32api { };
 
-    mingwrt = callPackage ./mingwrt { };
-    mingw_runtime = self.mingwrt;
+  mingwrt = callPackage ./mingwrt { };
+  mingw_runtime = mingwrt;
 
-    mingw_w64 = callPackage ./mingw-w64 {
-      stdenv = crossLibcStdenv;
-    };
-
-    mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
+  mingw_w64 = callPackage ./mingw-w64 {
+    stdenv = crossLibcStdenv;
+  };
 
-    mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { };
+  crossThreadsStdenv = overrideCC crossLibcStdenv
+    (if stdenv.hostPlatform.useLLVM or false
+     then buildPackages.llvmPackages_8.lldClangNoLibcxx
+     else buildPackages.gccCrossStageStatic.override (old: {
+       bintools = old.bintools.override {
+         libc = libcCross;
+       };
+       libc = libcCross;
+     }));
 
-    pthreads = callPackage ./pthread-w32 { };
+  mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
 
-    wxMSW = callPackage ./wxMSW-2.8 { };
+  mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix {
+    stdenv = crossThreadsStdenv;
+  };
 
-    libgnurx = callPackage ./libgnurx { };
+  mcfgthreads = callPackage ./mcfgthreads {
+    stdenv = crossThreadsStdenv;
   };
-in self
+
+  pthreads = callPackage ./pthread-w32 { };
+
+  wxMSW = callPackage ./wxMSW-2.8 { };
+
+  libgnurx = callPackage ./libgnurx { };
+})
diff --git a/nixpkgs/pkgs/os-specific/windows/jom/default.nix b/nixpkgs/pkgs/os-specific/windows/jom/default.nix
index ee8f00790754..0ddec9282e61 100644
--- a/nixpkgs/pkgs/os-specific/windows/jom/default.nix
+++ b/nixpkgs/pkgs/os-specific/windows/jom/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   QTDIR = qt48;
 
-  # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres";
+  # cmakeFlags = [ "-DWIN32=1" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres" ];
 
   preBuild = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     export NIX_CROSS_CFLAGS_COMPILE=-fpermissive
diff --git a/nixpkgs/pkgs/os-specific/windows/mcfgthreads/default.nix b/nixpkgs/pkgs/os-specific/windows/mcfgthreads/default.nix
new file mode 100644
index 000000000000..6c4cd1710256
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/windows/mcfgthreads/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation {
+  pname = "mcfgthreads";
+  version = "git";
+
+  src = fetchFromGitHub {
+    owner = "lhmouse";
+    repo = "mcfgthread";
+    rev = "9570e5ca7b98002d707c502c919d951bf256b9c6";
+    sha256 = "10y2x3x601a7c1hkd6zlr3xpfsnlr05xl28v23clf619756a5755";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  # Don't want prebuilt binaries sneaking in.
+  postUnpack = ''
+    rm -r "$sourceRoot/debug" "$sourceRoot/release"
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+}
diff --git a/nixpkgs/pkgs/os-specific/windows/mingw-w64/default.nix b/nixpkgs/pkgs/os-specific/windows/mingw-w64/default.nix
index 022aaffe5961..7efc2e213133 100644
--- a/nixpkgs/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/nixpkgs/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -11,11 +11,15 @@ in stdenv.mkDerivation {
     sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm";
   };
 
+  outputs = [ "out" "dev" ];
+
   configureFlags = [
     "--enable-idl"
     "--enable-secure-api"
   ];
 
+  enableParallelBuilding = true;
+
   buildInputs = [ windows.mingw_w64_headers ];
   dontStrip = true;
   hardeningDisable = [ "stackprotector" "fortify" ];
diff --git a/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix b/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
index c63b234031b7..02c2e03d90fa 100644
--- a/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -2,11 +2,11 @@
 
 let
   name = "qpid-cpp-${version}";
-  version = "1.37.0";
+  version = "1.39.0";
 
   src = fetchurl {
     url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
-    sha256 = "1s4hyi867i0lqn81c1crrk6fga1gmsv61675vjv5v41skz56lrsb";
+    sha256 = "088dx1l6myrksbhpr15bs09j6qm8vdliqwjp2ja5amym47md103r";
   };
 
   meta = with stdenv.lib; {
@@ -16,7 +16,7 @@ let
     description = "An AMQP message broker and a C++ messaging API";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cpages ma27 ];
+    maintainers = with maintainers; [ cpages ];
   };
 
   qpid-cpp = stdenv.mkDerivation {
@@ -33,14 +33,16 @@ let
       sed -i '/management/d' CMakeLists.txt
     '';
 
-    NIX_CFLAGS_COMPILE = [
+    NIX_CFLAGS_COMPILE = toString ([
       "-Wno-error=deprecated-declarations"
       "-Wno-error=int-in-bool-context"
       "-Wno-error=maybe-uninitialized"
       "-Wno-error=unused-function"
       "-Wno-error=ignored-qualifiers"
       "-Wno-error=catch-value"
-    ];
+    ] ++ stdenv.lib.optionals stdenv.cc.isGNU [
+      "-Wno-error=deprecated-copy"
+    ]);
   };
 
   python-frontend = buildPythonPackage {
diff --git a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
index 14a0df257471..f1838f2a2cba 100644
--- a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -6,12 +6,12 @@
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
 
-  version = "3.7.17";
+  version = "3.8.2";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "1ychgvjbi6ikapfcp4rgwa0vihhs1f34c2advb7833jym8alazrr";
+    sha256 = "17gixahxass9n4d697my8sq4an51rw3cicb36fqvl8fbhnwjjrwc";
   };
 
   buildInputs =
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" "doc" ];
 
-  installFlags = "PREFIX=$(out) RMQ_ERLAPP_DIR=$(out)";
-  installTargets = "install install-man";
+  installFlags = [ "PREFIX=$(out)" "RMQ_ERLAPP_DIR=$(out)" ];
+  installTargets = [ "install" "install-man" ];
 
   runtimePath = stdenv.lib.makeBinPath [getconf erlang socat];
   postInstall = ''
diff --git a/nixpkgs/pkgs/servers/apache-kafka/default.nix b/nixpkgs/pkgs/servers/apache-kafka/default.nix
index 0c1c69982fa1..7b27909856d7 100644
--- a/nixpkgs/pkgs/servers/apache-kafka/default.nix
+++ b/nixpkgs/pkgs/servers/apache-kafka/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, jre, makeWrapper, bash, coreutils, gnugrep, gnused,
+{ stdenv, fetchurl, jre, makeWrapper, bash, coreutils, gnugrep, gnused, ps,
   majorVersion ? "1.0" }:
 
 let
@@ -43,6 +43,11 @@ let
       scalaVersion = "2.12";
       sha256 = "1svdnhdzq9a6jsig513i0ahaysfgar5i385bq9fz7laga6a4z3qv";
     };
+    "2.3" = {
+      kafkaVersion = "2.3.0";
+      scalaVersion = "2.12";
+      sha256 = "1rz3xqv26h0zv5pmk65znzn08gycmrfj6vvbmrvl9i7hm4hm2vyq";
+    };
   };
 in
 
@@ -57,7 +62,7 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  buildInputs = [ jre makeWrapper bash gnugrep gnused coreutils ];
+  buildInputs = [ jre makeWrapper bash gnugrep gnused coreutils ps ];
 
   installPhase = ''
     mkdir -p $out
@@ -71,6 +76,9 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/kafka-run-class.sh \
       --replace 'LOG_DIR="$base_dir/logs"' 'LOG_DIR="$KAFKA_LOG_DIR"'
 
+    substituteInPlace $out/bin/kafka-server-stop.sh \
+      --replace 'ps' '${ps}/bin/ps'
+
     for p in $out/bin\/*.sh; do
       wrapProgram $p \
         --set JAVA_HOME "${jre}" \
diff --git a/nixpkgs/pkgs/servers/atlassian/confluence.nix b/nixpkgs/pkgs/servers/atlassian/confluence.nix
index c9dcba283825..a5aead770b8a 100644
--- a/nixpkgs/pkgs/servers/atlassian/confluence.nix
+++ b/nixpkgs/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "6.15.8";
+  version = "7.2.0";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "17pcgjv6rj2jxzmwx82941zhrrmprkchjhnnadnxq4709zsyb4q3";
+    sha256 = "1srwxk9c26hp1j3v6v1hr16l4dqaaiwrli5a9n9a44hkl7qy8yzl";
   };
 
   buildPhase = ''
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Team collaboration software written in Java and mainly used in corporate environments";
-    homepage = https://www.atlassian.com/software/confluence;
+    homepage = "https://www.atlassian.com/software/confluence";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin willibutz ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/atlassian/jira.nix b/nixpkgs/pkgs/servers/atlassian/jira.nix
index 2b7117f419f5..e5bc253f83df 100644
--- a/nixpkgs/pkgs/servers/atlassian/jira.nix
+++ b/nixpkgs/pkgs/servers/atlassian/jira.nix
@@ -5,15 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-jira";
-  version = "8.3.2";
+  version = "8.6.0";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "0cqj7al9892psc5zqpfvj0gnjf8b4dpm2kx7sr21grczss1dkcs1";
+    sha256 = "091vcr0hvrrm9zjqs67ai5mkx7b8ybpwqpdxy7jw5z3994rdx3xw";
   };
 
-  phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
-
   buildPhase = ''
     mv conf/server.xml conf/server.xml.dist
     ln -sf /run/atlassian-jira/server.xml conf/server.xml
@@ -36,7 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Proprietary issue tracking product, also providing project management functions";
-    homepage = https://www.atlassian.com/software/jira;
+    homepage = "https://www.atlassian.com/software/jira";
     license = licenses.unfree;
     maintainers = with maintainers; [ fpletz globin ciil ];
   };
diff --git a/nixpkgs/pkgs/servers/bird/default.nix b/nixpkgs/pkgs/servers/bird/default.nix
index d4b4441408e7..2cc27eda1d4d 100644
--- a/nixpkgs/pkgs/servers/bird/default.nix
+++ b/nixpkgs/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")
@@ -47,18 +47,18 @@ in
 
 {
   bird = generic {
-    version = "1.6.6";
-    sha256 = "0w1dmwx89g3qdy92wkjl3p52rn521izm2m8yq74hs7myxxx3nnwp";
+    version = "1.6.8";
+    sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
   };
 
   bird6 = generic {
-    version = "1.6.6";
-    sha256 = "0w1dmwx89g3qdy92wkjl3p52rn521izm2m8yq74hs7myxxx3nnwp";
+    version = "1.6.8";
+    sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
     enableIPv6 = true;
   };
 
   bird2 = generic {
-    version = "2.0.5";
-    sha256 = "1lr963ywy0mkrhgs5969wc354lizddsagrlbf8x84yb5s9pp6jsf";
+    version = "2.0.7";
+    sha256 = "0rhhbfmfw2d93rvhglv03rdzxsq2disw6s1wm8d6bgdxmrc2n7b3";
   };
 }
diff --git a/nixpkgs/pkgs/servers/caddy/default.nix b/nixpkgs/pkgs/servers/caddy/default.nix
index 56fa95391cc7..2eca465bfd25 100644
--- a/nixpkgs/pkgs/servers/caddy/default.nix
+++ b/nixpkgs/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "caddy";
-  version = "1.0.3";
+  version = "1.0.4";
 
   goPackagePath = "github.com/caddyserver/caddy";
 
@@ -12,19 +12,25 @@ buildGoModule rec {
     owner = "caddyserver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n7i9w4vva5x5wry7gzkyfylk39x40ykv7ypf1ca3zbbk7w5x6mw";
+    sha256 = "0mqbaa9cshrqm5fggm5l5nzcnv8c9dvylcc4z7qj3322vl5cpfdc";
   };
-  modSha256 = "0np0mbs0mrn8scqa0dgvi7ya1707b3883prdaf1whsqrcr71ig8q";
+  modSha256 = "0f08smcnzmrj3v43v0qgyd11qwdbymbl86c9prais6sykgh1ld97";
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w -X github.com/caddyserver/caddy/caddy/caddymain.gitTag=v${version}
+  preBuild = ''
+    cat << EOF > caddy/main.go
+    package main
+    import "github.com/caddyserver/caddy/caddy/caddymain"
+    func main() {
+      caddymain.EnableTelemetry = false
+      caddymain.Run()
+    }
+    EOF
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://caddyserver.com;
+    homepage = "https://caddyserver.com";
     description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rushmorem fpletz zimbatm ];
+    maintainers = with maintainers; [ rushmorem fpletz zimbatm filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/caddy/v2.nix b/nixpkgs/pkgs/servers/caddy/v2.nix
new file mode 100644
index 000000000000..c0b2134abded
--- /dev/null
+++ b/nixpkgs/pkgs/servers/caddy/v2.nix
@@ -0,0 +1,25 @@
+{ stdenv, callPackage, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "caddy";
+  version = "2.0.0-beta10";
+
+  goPackagePath = "github.com/caddyserver/caddy";
+
+  subPackages = [ "cmd/caddy" ];
+
+  src = fetchFromGitHub {
+    owner = "caddyserver";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vagcw6ibri4nbx1n60xp7rffcfr64a2202hjaijyjzc8wcl80na";
+  };
+  modSha256 = "1sb8w6n84cpya2rjm0zm798kzf5vjpkr5440j1gfnnnr07jl2aqn";
+
+  meta = with stdenv.lib; {
+    homepage = "https://caddyserver.com";
+    description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/clickhouse/default.nix b/nixpkgs/pkgs/servers/clickhouse/default.nix
index e48dec7d20c8..4c586efe1778 100644
--- a/nixpkgs/pkgs/servers/clickhouse/default.nix
+++ b/nixpkgs/pkgs/servers/clickhouse/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchFromGitHub, cmake, libtool
-, boost, capnproto, cctz, clang-unwrapped, double-conversion, gperftools, icu
-, libcpuid, libxml2, lld, llvm, lz4 , mysql, openssl, poco, re2, rdkafka
-, readline, sparsehash, unixODBC, zstd, ninja, jemalloc, brotli, protobuf, xxHash
+{ stdenv, fetchFromGitHub, cmake, libtool, ninja
+, boost, brotli, capnproto, cctz, clang-unwrapped, double-conversion, gperftools
+, icu, jemalloc, libcpuid, libxml2, lld, llvm, lz4, libmysqlclient, openssl
+, poco, protobuf, rapidjson, re2, rdkafka, readline, sparsehash, unixODBC
+, xxHash, zstd
 }:
 
 stdenv.mkDerivation rec {
   pname = "clickhouse";
-  version = "19.13.1.11";
+  version = "19.13.6.51";
 
   src = fetchFromGitHub {
     owner  = "yandex";
     repo   = "ClickHouse";
     rev    = "v${version}-stable";
-    sha256 = "1j9jhgl2z84id5z6rbvyal7aha5v3m8pd393cmcsf1bf0fiz8qmc";
+    sha256 = "0mcwfam1nrs2g54syw7vvpfkjn3l4gfzvla7xbg92lr03fn6kbn2";
   };
 
   nativeBuildInputs = [ cmake libtool ninja ];
   buildInputs = [
-    boost capnproto cctz clang-unwrapped double-conversion gperftools icu
-    libcpuid libxml2 lld llvm lz4 mysql.connector-c openssl poco re2 rdkafka
-    readline sparsehash unixODBC zstd jemalloc brotli protobuf xxHash
+    boost brotli capnproto cctz clang-unwrapped double-conversion gperftools
+    icu jemalloc libcpuid libxml2 lld llvm lz4 libmysqlclient openssl
+    poco protobuf rapidjson re2 rdkafka readline sparsehash unixODBC
+    xxHash zstd
   ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/servers/cloud-print-connector/default.nix b/nixpkgs/pkgs/servers/cloud-print-connector/default.nix
index bf8623f0a893..2fb5b4035086 100644
--- a/nixpkgs/pkgs/servers/cloud-print-connector/default.nix
+++ b/nixpkgs/pkgs/servers/cloud-print-connector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, avahi, cups }:
+{ stdenv, buildGoPackage, fetchFromGitHub, avahi, cups, fetchpatch }:
 
 # TODO: Add a service for gcp-cups-connector and perhaps some other
 # kind of configuration for the same thing that gcp-connector-util
@@ -19,6 +19,14 @@ buildGoPackage rec {
     "gcp-cups-connector"
   ];
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/google/cloud-print-connector/pull/475
+      url = "https://github.com/google/cloud-print-connector/commit/6a77c7c283b83cbcc9cbfab59710023cd09da3ed.patch";
+      sha256 = "054pi9nz402va95z5k6wq3dalnv5rcya078wa99p1kdwb7cqmrcq";
+    })
+  ];
+
   src = fetchFromGitHub {
     owner = "google";
     repo = "cloud-print-connector";
diff --git a/nixpkgs/pkgs/servers/computing/slurm/default.nix b/nixpkgs/pkgs/servers/computing/slurm/default.nix
index c448e4936f64..637ac0607db1 100644
--- a/nixpkgs/pkgs/servers/computing/slurm/default.nix
+++ b/nixpkgs/pkgs/servers/computing/slurm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, libtool, curl
 , python, munge, perl, pam, openssl, zlib
-, ncurses, mysql, gtk2, lua, hwloc, numactl
+, ncurses, libmysqlclient, gtk2, lua, hwloc, numactl
 , readline, freeipmi, libssh2, xorg, lz4
 # enable internal X11 support via libssh2
 , enableX11 ? true
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "19.05.2.1";
+  version = "19.05.5.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 = "1k19z0qyjr6nwqxv93wbnnhy498788rc4fl9zyf0smc5yq1zbjir";
+    sha256 = "0f0gv3sirp6sxdrbwydsbcqicjbmrpm58yhgbsar8v6nx3g6y3hx";
   };
 
   outputs = [ "out" "dev" ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
     curl python munge perl pam openssl zlib
-      mysql.connector-c ncurses gtk2 lz4
+      libmysqlclient ncurses gtk2 lz4
       lua hwloc numactl readline freeipmi
   ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
 
@@ -48,7 +48,8 @@ stdenv.mkDerivation rec {
       "--with-zlib=${zlib}"
       "--sysconfdir=/etc/slurm"
     ] ++ (optional (gtk2 == null)  "--disable-gtktest")
-      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
+      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}")
+      ++ (optional (!enableX11) "--disable-x11");
 
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/servers/computing/torque/default.nix b/nixpkgs/pkgs/servers/computing/torque/default.nix
index 5e78fe742ac3..8eb12a1b8112 100644
--- a/nixpkgs/pkgs/servers/computing/torque/default.nix
+++ b/nixpkgs/pkgs/servers/computing/torque/default.nix
@@ -25,9 +25,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # added to fix build with gcc7
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-error" "-fpermissive"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error -fpermissive";
 
   postPatch = ''
     substituteInPlace Makefile.am \
diff --git a/nixpkgs/pkgs/servers/consul/default.nix b/nixpkgs/pkgs/servers/consul/default.nix
index e993f70b1053..2a4361d99d2e 100644
--- a/nixpkgs/pkgs/servers/consul/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/corosync/default.nix b/nixpkgs/pkgs/servers/corosync/default.nix
index faa9976bed8a..2d7acda90af5 100644
--- a/nixpkgs/pkgs/servers/corosync/default.nix
+++ b/nixpkgs/pkgs/servers/corosync/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
-, dbus, rdma-core, libstatgrab, net_snmp
+, dbus, rdma-core, libstatgrab, net-snmp
 , enableDbus ? false
 , enableInfiniBandRdma ? false
 , enableMonitoring ? false
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ] ++ optional enableDbus dbus
     ++ optional enableInfiniBandRdma rdma-core
     ++ optional enableMonitoring libstatgrab
-    ++ optional enableSnmp net_snmp;
+    ++ optional enableSnmp net-snmp;
 
   configureFlags = [
     "--sysconfdir=/etc"
diff --git a/nixpkgs/pkgs/servers/couchpotato/default.nix b/nixpkgs/pkgs/servers/couchpotato/default.nix
index a528cd2ca26e..07ff725f7c9c 100644
--- a/nixpkgs/pkgs/servers/couchpotato/default.nix
+++ b/nixpkgs/pkgs/servers/couchpotato/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, pythonPackages, lib }:
+{ fetchurl, python2Packages, lib }:
 
-with pythonPackages;
+with python2Packages;
 
 buildPythonApplication rec {
   pname = "couchpotato";
diff --git a/nixpkgs/pkgs/servers/dns/bind/default.nix b/nixpkgs/pkgs/servers/dns/bind/default.nix
index 31e1ac509427..5e4a07bdf25e 100644
--- a/nixpkgs/pkgs/servers/dns/bind/default.nix
+++ b/nixpkgs/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.14.6";
+  version = "9.14.9";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1zpd47ckn5lf4qbscfkj7krngwn2gwsp961v5401h3lhxm0a0rw9";
+    sha256 = "0g2ph3hlw86yib8hv13qgkb4i84s9zv22r4k6yqlycm2izamwmr9";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
@@ -30,8 +30,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableSeccomp libseccomp
     ++ lib.optional enablePython (python3.withPackages (ps: with ps; [ ply ]));
 
-  STD_CDEFINES = [ "-DDIG_SIGCHASE=1" ]; # support +sigchase
-
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   configureFlags = [
@@ -65,6 +63,7 @@ stdenv.mkDerivation rec {
     moveToOutput bin/host $host
 
     moveToOutput bin/dig $dnsutils
+    moveToOutput bin/delv $dnsutils
     moveToOutput bin/nslookup $dnsutils
     moveToOutput bin/nsupdate $dnsutils
 
diff --git a/nixpkgs/pkgs/servers/dns/coredns/default.nix b/nixpkgs/pkgs/servers/dns/coredns/default.nix
index def78223f127..2c8506ac9d28 100644
--- a/nixpkgs/pkgs/servers/dns/coredns/default.nix
+++ b/nixpkgs/pkgs/servers/dns/coredns/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "coredns";
-  version = "1.3.1";
+  version = "1.6.6";
 
   goPackagePath = "github.com/coredns/coredns";
 
@@ -10,15 +10,15 @@ buildGoPackage rec {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "0aflm0c3qcjcq4dy7yx9f5xlvdm4k0b2awsp3qvbfgyp74by0584";
+    sha256 = "1x8sgchp0kkk5xdharjrq29qxgv1mdzrw3f12s2kchgqf1m6r0sx";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "10ljggg1g5x00gpgzc5m29n1k5akf0s0g3hkdh8adcbrcz0pgr5c";
 
   meta = with stdenv.lib; {
-    homepage = https://coredns.io;
+    homepage = "https://coredns.io";
     description = "A DNS server that runs middleware";
     license = licenses.asl20;
-    maintainers = [ maintainers.rushmorem maintainers.rtreffer maintainers.deltaevo ];
+    maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/dns/coredns/deps.nix b/nixpkgs/pkgs/servers/dns/coredns/deps.nix
deleted file mode 100644
index 4dd8228c8a6a..000000000000
--- a/nixpkgs/pkgs/servers/dns/coredns/deps.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/mholt/caddy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mholt/caddy";
-      rev = "v0.11.1";
-      sha256 = "0v35d3dy0f88wgk1vzznbx7p15vjjf7xm3qfi2c3192rsxgzvy0l";
-    };
-  }
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "v1.1.3";
-      sha256 = "1xs1k9jm9f04y8callww9x4s0jrxmsn7882iyy4br8sbpl3wzkw4";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "v0.9.1";
-      sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l";
-    };
-  }
-  # client_golang dependencies
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "347cf4a86c1cb8d262994d8ef5924d4576c5b331";
-      sha256 = "0c5j5c2dnj1452653c8nnpx4jwijwafi1p8685g7ddm6kng9q1wz";
-    };
-  }
-  {
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d";
-      sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "56726106282f1985ea77d5305743db7231b0c0a8";
-      sha256 = "19y4qs9mkxiiab5sh3b7cccjpl3xbp6sy8812ig9f1zg8vzkzj7j";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "2998b132700a7d019ff618c06a234b47c1f3f681";
-      sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4";
-      sha256 = "0k65i2ikf3jp6863mpc1raf928i78r8jd7zn9djx6f4izls6l6j1";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/servers/dns/dnsdist/default.nix b/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
index cb004a596d22..0c236fe93155 100644
--- a/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
+++ b/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
@@ -1,22 +1,26 @@
 { stdenv, fetchurl, pkgconfig, systemd
 , boost, libsodium, libedit, re2
-, net_snmp, lua, protobuf, openssl }: stdenv.mkDerivation rec {
+, net-snmp, lua, protobuf, openssl, zlib, h2o
+}:
+
+stdenv.mkDerivation rec {
   pname = "dnsdist";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2";
-    sha256 = "1i3b1vpk9a8zbx9aby2s1ckkzhlvzgn11hcgj3b8x2j1b9771rqb";
+    sha256 = "1h0x5xd13j8xxrrinb7d55851m6n9w0r15wx9m3c50dk7qngldm3";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua protobuf openssl ];
+  nativeBuildInputs = [ pkgconfig protobuf ];
+  buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o ];
 
   configureFlags = [
     "--enable-libsodium"
     "--enable-re2"
     "--enable-dnscrypt"
     "--enable-dns-over-tls"
+    "--enable-dns-over-https"
     "--with-protobuf=yes"
     "--with-net-snmp"
     "--disable-dependency-tracking"
@@ -26,6 +30,8 @@
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "DNS Loadbalancer";
     homepage = "https://dnsdist.org";
diff --git a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix b/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
index ad1bb26a54d9..c3d63a54ac0d 100644
--- a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "2.8.4";
+  version = "2.9.2";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "541e7e43503765c91405c5797b3838103bb656154712e69b3f959c6ab0e700a9";
+    sha256 = "298cdf33aa7589b50df7e5833694b24cd2de8b6d17cee7e1673873fe576db6ee";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
index 22b1f2a67e2c..d996d646d227 100644
--- a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
@@ -23,11 +23,11 @@ exportLuaPathsFor = luaPkgs: ''
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "b37ff9ceefbaa4e4527d183fb1bbb63e641d34d9889ce92715128bc1423c7ef4";
+    sha256 = "0ca0f171ae2b2d76830967a5150eb0fa496b48b2a48f41b2be65d3743aaece25";
   };
 
   # https://gitlab.labs.nic.cz/knot/knot-resolver/issues/496
diff --git a/nixpkgs/pkgs/servers/dns/nsd/default.nix b/nixpkgs/pkgs/servers/dns/nsd/default.nix
index 531e00e578f8..130a25511d70 100644
--- a/nixpkgs/pkgs/servers/dns/nsd/default.nix
+++ b/nixpkgs/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.2.2";
+  version = "4.2.4";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1ys608jyp5scc957q4brm094c97sxlwymina7d2nvzi51aa37cw3";
+    sha256 = "0z7j3vwqqj0hh8n5irb2yqwzl45k4sn2wczbq1b1lqv5cxv6vgcy";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
index 0a584ce1acaa..e5fc3ac5bb9a 100644
--- a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "pdns-recursor";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "1hn2nw8v6gccwxwm36xczsac4bhxf8b8r7akri2wdp3gh70p4g7h";
+    sha256 = "07w9av3v9zjnb1fhknmza168yxsq4zr2jqcla7yg10ajrhsk534d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/servers/dns/powerdns/default.nix b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
index 1b23f6520215..129fec2895b0 100644
--- a/nixpkgs/pkgs/servers/dns/powerdns/default.nix
+++ b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerdns";
-  version = "4.1.13";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "09az5yp5d9wvzw8faifyzsljhmmc8ifm4j70m4n2sr83i9i9rsp7";
+    sha256 = "0a5al77rn4cd7v3g8c2q7627nf9b9g8dxg7yzz3b3jwgdfc1jl7n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/servers/documize-community/default.nix b/nixpkgs/pkgs/servers/documize-community/default.nix
index f06315b899d7..078936b237f2 100644
--- a/nixpkgs/pkgs/servers/documize-community/default.nix
+++ b/nixpkgs/pkgs/servers/documize-community/default.nix
@@ -1,37 +1,26 @@
-{ lib, buildGoPackage, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
+{ lib, buildGoModule, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "documize-community";
-  version = "3.3.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "1qkc82bvpmgcil88630pnp1irc2w8rzlh702vl0v67vfmawpxpjq";
+    sha256 = "0wic4j7spw9ya1m6yz0mkpqi1px6jd2vk60w8ldx0m0k606wy6ir";
   };
 
-  goPackagePath = "github.com/documize/community";
+  modSha256 = "1z0v7n8klaxcqv7mvzf3jzgrp78zb4yiibx899ppk6i5qnj4xiv0";
 
   buildInputs = [ go-bindata-assetfs go-bindata ];
 
-  buildPhase = ''
-    runHook preBuild
+  subPackages = [ "edition/community.go" ];
 
-    pushd go/src/github.com/documize/community
-    go build -gcflags="all=-trimpath=$GOPATH" -o bin/documize ./edition/community.go
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $bin/bin
-    cp go/src/github.com/documize/community/bin/documize $bin/bin
-
-    runHook postInstall
+  postInstall = ''
+    # `buildGoModule` calls `go install` (without `go build` first), so
+    # `-o bin/documize` doesn't work.
+    mv $out/bin/community $out/bin/documize
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/fileshare/default.nix b/nixpkgs/pkgs/servers/fileshare/default.nix
new file mode 100644
index 000000000000..42f280eed23b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/fileshare/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchgit, pkgconfig, git, libmicrohttpd }:
+
+stdenv.mkDerivation rec {
+  pname = "fileshare";
+  version = "0.2.4";
+
+  src = fetchgit {
+    url = https://git.tkolb.de/Public/fileshare.git;
+    rev = "v${version}";
+    sha256 = "03jrhk4vj6bc2w3lsrfjpfflb4laihysgs5i4cv097nr5cz32hyk";
+  };
+
+  postPatch = ''
+    sed -i 's,$(shell git rev-parse --short HEAD),/${version},g' Makefile
+  '';
+
+  nativeBuildInputs = [ pkgconfig git ];
+  buildInputs = [ libmicrohttpd ];
+
+  makeFlags = [ "BUILD=release" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/release/fileshare $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small HTTP Server for quickly sharing files over the network";
+    longDescription = "Fileshare is a simple tool for sharing the contents of a directory via a webserver and optionally allowing uploads.";
+    homepage = https://git.tkolb.de/Public/fileshare;
+    license = licenses.mit;
+    maintainers = [ maintainers.esclear ];
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/servers/foundationdb/cmake.nix b/nixpkgs/pkgs/servers/foundationdb/cmake.nix
index ac7733986ce6..512842b3a6a2 100644
--- a/nixpkgs/pkgs/servers/foundationdb/cmake.nix
+++ b/nixpkgs/pkgs/servers/foundationdb/cmake.nix
@@ -4,7 +4,7 @@
 , cmake, ninja, boost, python3, openjdk, mono, libressl
 
 , gccStdenv, llvmPackages
-, useClang ? true
+, useClang ? false
 , ...
 }:
 
diff --git a/nixpkgs/pkgs/servers/foundationdb/default.nix b/nixpkgs/pkgs/servers/foundationdb/default.nix
index b3ca7038ebeb..ea762ed656d6 100644
--- a/nixpkgs/pkgs/servers/foundationdb/default.nix
+++ b/nixpkgs/pkgs/servers/foundationdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, stdenv49, gcc9Stdenv, llvmPackages_8
+{ stdenv, stdenv49, gccStdenv, llvmPackages
 , lib, fetchurl, fetchpatch, fetchFromGitHub
 
 , cmake, ninja, which, findutils, m4, gawk
@@ -8,8 +8,8 @@
 let
   vsmakeBuild = import ./vsmake.nix args;
   cmakeBuild = import ./cmake.nix (args // {
-    gccStdenv    = gcc9Stdenv;
-    llvmPackages = llvmPackages_8;
+    gccStdenv    = gccStdenv;
+    llvmPackages = llvmPackages;
   });
 
   python3-six-patch = fetchpatch {
@@ -69,9 +69,9 @@ in with builtins; {
   # ------------------------------------------------------
 
   foundationdb61 = cmakeBuild {
-    version = "6.1.10";
+    version = "6.1.12";
     branch  = "release-6.1";
-    sha256  = "1v278zlrki3da2i2258j2b4rk4fq6d9bj623z01bjrvmaqxc2gry";
+    sha256  = "1yh5hx6rim41m0dwhnb2pcwz67wlnk0zwvyw845d36b29gwy58ab";
 
     patches = [
       ./patches/clang-libcxx.patch
diff --git a/nixpkgs/pkgs/servers/freeradius/default.nix b/nixpkgs/pkgs/servers/freeradius/default.nix
index 6c6eb2b0c091..cbd710853402 100644
--- a/nixpkgs/pkgs/servers/freeradius/default.nix
+++ b/nixpkgs/pkgs/servers/freeradius/default.nix
@@ -13,7 +13,7 @@
 , withMemcached ? false
 , hiredis
 , withRedis ? false
-, mysql
+, libmysqlclient
 , withMysql ? false
 , json_c
 , withJson ? false
@@ -31,7 +31,7 @@ assert withPcap -> libpcap != null;
 assert withCap -> libcap != null;
 assert withMemcached -> libmemcached != null;
 assert withRedis -> hiredis != null;
-assert withMysql -> mysql != null;
+assert withMysql -> libmysqlclient != null;
 assert withYubikey -> libyubikey != null;
 assert withCollectd -> collectd != null;
 assert withRest -> curl != null && withJson;
@@ -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 ];
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     ++ optional withCap libcap
     ++ optional withMemcached libmemcached
     ++ optional withRedis hiredis
-    ++ optional withMysql mysql.connector-c
+    ++ optional withMysql libmysqlclient
     ++ optional withJson json_c
     ++ optional withYubikey libyubikey
     ++ optional withCollectd collectd
diff --git a/nixpkgs/pkgs/servers/gortr/default.nix b/nixpkgs/pkgs/servers/gortr/default.nix
new file mode 100644
index 000000000000..375631d5cbf8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/gotify/default.nix b/nixpkgs/pkgs/servers/gotify/default.nix
new file mode 100644
index 000000000000..9782b2890550
--- /dev/null
+++ b/nixpkgs/pkgs/servers/gotify/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, buildGoPackage
+, lib
+, fetchFromGitHub
+, buildGoModule
+, packr
+, sqlite
+, callPackage
+}:
+
+buildGoModule rec {
+  pname = "gotify-server";
+  # 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.13";
+
+  src = fetchFromGitHub {
+    owner = "gotify";
+    repo = "server";
+    rev = "v${version}";
+    sha256 = "11ycs1ci1z8wm4fjgk4454kgszr4s8q9dc96pl77yvlngi4dk46d";
+  };
+
+  modSha256 = "1awhbc8qs2bwv6y2vwd92r4ys0l1bzymrb36iamr040x961682wv";
+
+  postPatch = ''
+    substituteInPlace app.go \
+      --replace 'Version = "unknown"' 'Version = "${version}"'
+  '';
+
+  buildInputs = [ sqlite ];
+
+  nativeBuildInputs = [ packr ];
+
+  ui = callPackage ./ui.nix { };
+
+  preBuild = ''
+    cp -r ${ui}/libexec/gotify-ui/deps/gotify-ui/build ui/build && packr
+  '';
+
+  # Otherwise, all other subpackages are built as well and from some reason,
+  # produce binaries which panic when executed and are not interesting at all
+  subPackages = [ "." ];
+
+  buildFlagsArray = [
+    "-ldflags='-X main.Version=${version} -X main.Mode=prod'"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A simple server for sending and receiving messages in real-time per WebSocket";
+    homepage = "https://gotify.net";
+    license = licenses.mit;
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/nixpkgs/pkgs/servers/gotify/package.json b/nixpkgs/pkgs/servers/gotify/package.json
new file mode 100644
index 000000000000..1c84de17f463
--- /dev/null
+++ b/nixpkgs/pkgs/servers/gotify/package.json
@@ -0,0 +1,80 @@
+{
+  "name": "gotify-ui",
+  "version": "0.2.0",
+  "private": true,
+  "homepage": ".",
+  "dependencies": {
+    "@material-ui/core": "^4.4.3",
+    "@material-ui/icons": "^4.4.3",
+    "axios": "^0.19.0",
+    "codemirror": "^5.43.0",
+    "detect-browser": "^3.0.0",
+    "js-base64": "^2.5.1",
+    "mobx": "^5.1.1",
+    "mobx-react": "^5.2.8",
+    "mobx-utils": "^5.0.2",
+    "notifyjs": "^3.0.0",
+    "prop-types": "^15.6.2",
+    "react": "^16.4.2",
+    "react-codemirror2": "^5.1.0",
+    "react-dom": "^16.4.2",
+    "react-infinite": "^0.13.0",
+    "react-markdown": "^4.0.6",
+    "react-router": "^4.3.1",
+    "react-router-dom": "^4.3.1",
+    "react-timeago": "^4.1.9",
+    "remove-markdown": "^0.3.0",
+    "typeface-roboto": "0.0.54"
+  },
+  "scripts": {
+    "start": "react-scripts start",
+    "build": "react-scripts build",
+    "test": "react-scripts test --env=node",
+    "eject": "react-scripts eject",
+    "lint": "tslint --project .",
+    "lintfix": "tslint --fix --project .",
+    "format": "prettier \"src/**/*.{ts,tsx}\" --write",
+    "testformat": "prettier \"src/**/*.{ts,tsx}\" --list-different"
+  },
+  "devDependencies": {
+    "@types/codemirror": "0.0.71",
+    "@types/detect-browser": "^2.0.1",
+    "@types/get-port": "^4.0.0",
+    "@types/jest": "^23.3.1",
+    "@types/js-base64": "^2.3.1",
+    "@types/node": "^10.9.0",
+    "@types/notifyjs": "^3.0.0",
+    "@types/puppeteer": "^1.6.3",
+    "@types/react": "^16.4.11",
+    "@types/react-dom": "^16.0.7",
+    "@types/react-infinite": "0.0.33",
+    "@types/react-router-dom": "^4.3.0",
+    "@types/remove-markdown": "^0.1.1",
+    "@types/rimraf": "^2.0.2",
+    "get-port": "^4.0.0",
+    "prettier": "^1.14.2",
+    "puppeteer": "^1.8.0",
+    "react-scripts": "3.1.1",
+    "rimraf": "^2.6.2",
+    "tree-kill": "^1.2.0",
+    "tslint": "^5.20.0",
+    "tslint-sonarts": "^1.7.0",
+    "typescript": "3.6.2",
+    "wait-on": "^3.0.1"
+  },
+  "eslintConfig": {
+    "extends": "react-app"
+  },
+  "browserslist": {
+    "production": [
+      ">0.2%",
+      "not dead",
+      "not op_mini all"
+    ],
+    "development": [
+      "last 1 chrome version",
+      "last 1 firefox version",
+      "last 1 safari version"
+    ]
+  }
+}
diff --git a/nixpkgs/pkgs/servers/gotify/ui.nix b/nixpkgs/pkgs/servers/gotify/ui.nix
new file mode 100644
index 000000000000..2c1bddec68f6
--- /dev/null
+++ b/nixpkgs/pkgs/servers/gotify/ui.nix
@@ -0,0 +1,25 @@
+{ yarn2nix-moretea
+, fetchFromGitHub
+}:
+
+yarn2nix-moretea.mkYarnPackage rec {
+  name = "gotify-ui";
+
+  packageJSON = ./package.json;
+  yarnNix = ./yarndeps.nix;
+
+  version = "2.0.13";
+
+  src_all = fetchFromGitHub {
+    owner = "gotify";
+    repo = "server";
+    rev = "v${version}";
+    sha256 = "11ycs1ci1z8wm4fjgk4454kgszr4s8q9dc96pl77yvlngi4dk46d";
+  };
+  src = "${src_all}/ui";
+
+  buildPhase = ''
+    yarn build
+  '';
+
+}
diff --git a/nixpkgs/pkgs/servers/gotify/update-yarn-deps.sh b/nixpkgs/pkgs/servers/gotify/update-yarn-deps.sh
new file mode 100755
index 000000000000..d25b5c429df2
--- /dev/null
+++ b/nixpkgs/pkgs/servers/gotify/update-yarn-deps.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
+
+# This script is based upon:
+# pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+	echo "Regenerates the Yarn dependency lock files for the gotify-server package."
+	echo "Usage: $0 <git release tag>"
+	exit 1
+fi
+
+GOTIFY_WEB_SRC="https://raw.githubusercontent.com/gotify/server/$1"
+
+wget "$GOTIFY_WEB_SRC/ui/package.json" -O package.json
+wget "$GOTIFY_WEB_SRC/ui/yarn.lock" -O yarn.lock
+yarn2nix --lockfile=yarn.lock > yarndeps.nix
+rm yarn.lock
diff --git a/nixpkgs/pkgs/servers/gotify/yarndeps.nix b/nixpkgs/pkgs/servers/gotify/yarndeps.nix
new file mode 100644
index 000000000000..0e81e890a9fe
--- /dev/null
+++ b/nixpkgs/pkgs/servers/gotify/yarndeps.nix
@@ -0,0 +1,11853 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d";
+      };
+    }
+    {
+      name = "_babel_core___core_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz";
+        sha1 = "17b2686ef0d6bc58f963dddd68ab669755582c30";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz";
+        sha1 = "873a7f936a3c89491b43536d12245b626664e3cf";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
+        sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
+        sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz";
+        sha1 = "401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
+        sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
+        sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha1 = "83572d4320e2a4657263734113c42868b64e49c3";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
+        sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
+        sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
+        sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
+        sha1 = "a2920c5702b073c15de51106200aa8cad20497d5";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz";
+        sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
+        sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
+        sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
+        sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha1 = "ff94894a340be78f53f06af038b205c49d993677";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
+        sha1 = "c4e0012445769e2815b55296ead43a958549f6fa";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz";
+        sha1 = "63908d2a73942229d1e6685bc2a0e730dde3b75e";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha1 = "56d11312bd9248fa619591d02472be6e8cb32540";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz";
+        sha1 = "02f077ac8817d3df4a832ef59de67565e71cca4b";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
+        sha1 = "b289b306669dce4ad20b0252889a15768c9d417e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
+        sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
+        sha1 = "e532202db4838723691b10a67b8ce509e397c506";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
+        sha1 = "568ecc446c6148ae6b267f02551130891e29f317";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz";
+        sha1 = "61939744f71ba76a3ae46b5eea18a54c16d22e58";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
+        sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz";
+        sha1 = "501ffd9826c0b91da22690720722ac7cb1ca9c78";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
+        sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
+        sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612";
+      };
+    }
+    {
+      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_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
+        sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
+        sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
+        sha1 = "a7cc3f66119a9f7ebe2de5383cce193473d65991";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
+        sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
+        sha1 = "89a3848a0166623b5bc481164b5936ab947e887e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
+        sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz";
+        sha1 = "a35f395e5402822f10d2119f6f8e045e3639a2ce";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
+        sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
+        sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz";
+        sha1 = "f6c09fdfe3f94516ff074fe877db7bc9ef05855a";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz";
+        sha1 = "361a148bc951444312c69446d76ed1ea8e4450c3";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
+        sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
+        sha1 = "a63868289e5b4007f7054d46491af51435766008";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha1 = "e1436116abb0610c2259094848754ac5230922ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
+        sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
+        sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
+        sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz";
+        sha1 = "425127e6045231360858eeaa47a71d75eded7a74";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
+        sha1 = "e75266a13ef94202db2a0620977756f51d52d249";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
+        sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz";
+        sha1 = "9d269fd28a370258199b4294736813a60bbdd106";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
+        sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
+        sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz";
+        sha1 = "4d6ae4033bc38f8a65dfca2b6235c44522a422fc";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
+        sha1 = "629dc82512c55cee01341fb27bdfcb210354680f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
+        sha1 = "4792af87c998a49367597d07fedf02636d2e1634";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz";
+        sha1 = "a6331afbfc59189d2135b2e09474457a8e3d28bc";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
+        sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz";
+        sha1 = "3103a9abe22f742b6d406ecd3cd49b774919b406";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
+        sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
+        sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz";
+        sha1 = "6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz";
+        sha1 = "ab4634bb4f14d36728bf5978322b35587787970f";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz";
+        sha1 = "bc470b53acaa48df4b8db24a570d6da1fef53c9a";
+      };
+    }
+    {
+      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_typescript___preset_typescript_7.3.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_typescript___preset_typescript_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz";
+        sha1 = "88669911053fa16b2b276ea2ede2ca603b3f307a";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz";
+        sha1 = "74fba56d35efbeca444091c7850ccd494fd2f132";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz";
+        sha1 = "c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz";
+        sha1 = "f4b88d1225689a08f5bc3a17483545be9e4ed237";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz";
+        sha1 = "f664f8f368ed32988cd648da9f72d5ca70f165bb";
+      };
+    }
+    {
+      name = "_babel_types___types_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz";
+        sha1 = "97b9f728e182785909aa4ab56264f090a028d18a";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+      };
+    }
+    {
+      name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+      path = fetchurl {
+        name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz";
+        sha1 = "ad495dc41b12e75d588c6db8b9834f08fa131eb7";
+      };
+    }
+    {
+      name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+      path = fetchurl {
+        name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz";
+        sha1 = "c27b391d8457d1e893f1eddeaf5e5412d12ffbb5";
+      };
+    }
+    {
+      name = "_emotion_hash___hash_0.7.3.tgz";
+      path = fetchurl {
+        name = "_emotion_hash___hash_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.3.tgz";
+        sha1 = "a166882c81c0c6040975dd30df24fae8549bd96f";
+      };
+    }
+    {
+      name = "_hapi_address___address_2.1.0.tgz";
+      path = fetchurl {
+        name = "_hapi_address___address_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.0.tgz";
+        sha1 = "d86223d40c73942cc6151838d9f264997e6673f9";
+      };
+    }
+    {
+      name = "_hapi_bourne___bourne_1.3.2.tgz";
+      path = fetchurl {
+        name = "_hapi_bourne___bourne_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha1 = "0a7095adea067243ce3283e1b56b8a8f453b242a";
+      };
+    }
+    {
+      name = "_hapi_hoek___hoek_8.2.2.tgz";
+      path = fetchurl {
+        name = "_hapi_hoek___hoek_8.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.2.tgz";
+        sha1 = "6eaa2e1ec3b50dfb8dccbe705dc289094652bc2d";
+      };
+    }
+    {
+      name = "_hapi_joi___joi_15.1.1.tgz";
+      path = fetchurl {
+        name = "_hapi_joi___joi_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz";
+        sha1 = "c675b8a71296f02833f8d6d243b34c57b8ce19d7";
+      };
+    }
+    {
+      name = "_hapi_topo___topo_3.1.3.tgz";
+      path = fetchurl {
+        name = "_hapi_topo___topo_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz";
+        sha1 = "c7a02e0d936596d29f184e6d7fdc07e8b5efce11";
+      };
+    }
+    {
+      name = "_jest_console___console_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz";
+        sha1 = "79b1bc06fb74a8cfb01cbdedf945584b1b9707f0";
+      };
+    }
+    {
+      name = "_jest_core___core_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz";
+        sha1 = "2ceccd0b93181f9c4850e74f2a9ad43d351369c4";
+      };
+    }
+    {
+      name = "_jest_environment___environment_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz";
+        sha1 = "21e3afa2d65c0586cbd6cbefe208bafade44ab18";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha1 = "ba3e6bf0eecd09a636049896434d306636540c93";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha1 = "86660eff8e2b9661d042a8e98a028b8d631a5b43";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha1 = "0e263a94430be4b41da683ccc1e6bffe2a191714";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha1 = "11796e8aa9dbf88ea025757b3152595ad06ba0ca";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha1 = "f8f334f35b625a4f2f355f2fe7e6036dad2e6b31";
+      };
+    }
+    {
+      name = "_jest_transform___transform_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz";
+        sha1 = "4ae2768b296553fadab09e9ec119543c90b16c56";
+      };
+    }
+    {
+      name = "_jest_types___types_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz";
+        sha1 = "63cb26cb7500d069e5a389441a7c6ab5e909fc59";
+      };
+    }
+    {
+      name = "_material_ui_core___core_4.4.3.tgz";
+      path = fetchurl {
+        name = "_material_ui_core___core_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/core/-/core-4.4.3.tgz";
+        sha1 = "65665d2c4e9cb84e018774e1471f6d0417f4535e";
+      };
+    }
+    {
+      name = "_material_ui_icons___icons_4.5.1.tgz";
+      path = fetchurl {
+        name = "_material_ui_icons___icons_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.5.1.tgz";
+        sha1 = "6963bad139e938702ece85ca43067688018f04f8";
+      };
+    }
+    {
+      name = "_material_ui_styles___styles_4.4.3.tgz";
+      path = fetchurl {
+        name = "_material_ui_styles___styles_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.4.3.tgz";
+        sha1 = "78239177723660093cc9a277db5759c01c693c2a";
+      };
+    }
+    {
+      name = "_material_ui_system___system_4.4.3.tgz";
+      path = fetchurl {
+        name = "_material_ui_system___system_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/system/-/system-4.4.3.tgz";
+        sha1 = "68ca8cf83614255fcd5b9d3a72ce8ee58a43a5c7";
+      };
+    }
+    {
+      name = "_material_ui_types___types_4.1.1.tgz";
+      path = fetchurl {
+        name = "_material_ui_types___types_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/types/-/types-4.1.1.tgz";
+        sha1 = "b65e002d926089970a3271213a3ad7a21b17f02b";
+      };
+    }
+    {
+      name = "_material_ui_utils___utils_4.4.0.tgz";
+      path = fetchurl {
+        name = "_material_ui_utils___utils_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.4.0.tgz";
+        sha1 = "9275421e2798a067850d201212d46f12725828ad";
+      };
+    }
+    {
+      name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+      path = fetchurl {
+        name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha1 = "524af240d1a360527b730475ecfa1344aa540dde";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz";
+        sha1 = "dadcb6218503532d6884b210e7f3c502caaa44b1";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz";
+        sha1 = "297550b9a8c0c7337bea12bdfc8a80bb66f85abc";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz";
+        sha1 = "c196302f3e68eab6a05e98af9ca8570bc13131c7";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz";
+        sha1 = "310ec0775de808a6a2e4fd4268c245fd734c1165";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz";
+        sha1 = "646c2f5b5770c2fe318d6e51492344c3d62ddb63";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz";
+        sha1 = "9a94791c9a288108d20a9d2cc64cac820f141391";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz";
+        sha1 = "151487322843359a1ca86b21a3815fd21a88b717";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz";
+        sha1 = "5f1e2f886b2c85c67e76da42f0f6be1b1767b697";
+      };
+    }
+    {
+      name = "_svgr_babel_preset___babel_preset_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_preset___babel_preset_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz";
+        sha1 = "62ffcb85d756580e8ce608e9d2ac3b9063be9e28";
+      };
+    }
+    {
+      name = "_svgr_core___core_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_core___core_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz";
+        sha1 = "939c89be670ad79b762f4c063f213f0e02535f2e";
+      };
+    }
+    {
+      name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz";
+        sha1 = "1d5a082f7b929ef8f1f578950238f630e14532b8";
+      };
+    }
+    {
+      name = "_svgr_plugin_jsx___plugin_jsx_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_jsx___plugin_jsx_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz";
+        sha1 = "ce9ddafc8cdd74da884c9f7af014afcf37f93d3c";
+      };
+    }
+    {
+      name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz";
+        sha1 = "daac0a3d872e3f55935c6588dd370336865e9e32";
+      };
+    }
+    {
+      name = "_svgr_webpack___webpack_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_webpack___webpack_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz";
+        sha1 = "319d4471c8f3d5c3af35059274834d9b5b8fb956";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz";
+        sha1 = "608c74f55928033fce18b99b213c16be4b3d114f";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz";
+        sha1 = "d2112a6b21fad600d7674274293c85dce0cb47fc";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha1 = "2496e9ff56196cc1429c72034e07eab6121b6f3f";
+      };
+    }
+    {
+      name = "_types_codemirror___codemirror_0.0.71.tgz";
+      path = fetchurl {
+        name = "_types_codemirror___codemirror_0.0.71.tgz";
+        url  = "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.71.tgz";
+        sha1 = "861f1bcb3100c0a064567c5400f2981cf4ae8ca7";
+      };
+    }
+    {
+      name = "_types_detect_browser___detect_browser_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_detect_browser___detect_browser_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/detect-browser/-/detect-browser-2.0.1.tgz";
+        sha1 = "ae49b3b3f5fae163f0988487fe76fb121b56ac53";
+      };
+    }
+    {
+      name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha1 = "1ee30d79544ca84d68d4b3cdb0af4f205663dd2d";
+      };
+    }
+    {
+      name = "_types_estree___estree_0.0.39.tgz";
+      path = fetchurl {
+        name = "_types_estree___estree_0.0.39.tgz";
+        url  = "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz";
+        sha1 = "e177e699ee1b8c22d23174caaa7422644389509f";
+      };
+    }
+    {
+      name = "_types_events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz";
+        sha1 = "2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7";
+      };
+    }
+    {
+      name = "_types_get_port___get_port_4.2.0.tgz";
+      path = fetchurl {
+        name = "_types_get_port___get_port_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/get-port/-/get-port-4.2.0.tgz";
+        sha1 = "4fc44616c737d37d3ee7926d86fa975d0afba5e4";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.1.tgz";
+      path = fetchurl {
+        name = "_types_glob___glob_7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz";
+        sha1 = "aa59a1c6e3fbc421e07ccd31a944c30eba521575";
+      };
+    }
+    {
+      name = "_types_history___history_4.7.3.tgz";
+      path = fetchurl {
+        name = "_types_history___history_4.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz";
+        sha1 = "856c99cdc1551d22c22b18b5402719affec9839a";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha1 = "7a8cbf6a406f36c8add871625b278eaf0b0d255a";
+      };
+    }
+    {
+      name = "_types_jest___jest_23.3.14.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_23.3.14.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.14.tgz";
+        sha1 = "37daaf78069e7948520474c87b80092ea912520a";
+      };
+    }
+    {
+      name = "_types_js_base64___js_base64_2.3.1.tgz";
+      path = fetchurl {
+        name = "_types_js_base64___js_base64_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/js-base64/-/js-base64-2.3.1.tgz";
+        sha1 = "c39f14f129408a3d96a1105a650d8b2b6eeb4168";
+      };
+    }
+    {
+      name = "_types_json_schema___json_schema_7.0.3.tgz";
+      path = fetchurl {
+        name = "_types_json_schema___json_schema_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz";
+        sha1 = "bdfd69d61e464dcc81b25159c270d75a73c1a636";
+      };
+    }
+    {
+      name = "_types_minimatch___minimatch_3.0.3.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
+      };
+    }
+    {
+      name = "_types_node___node_12.7.4.tgz";
+      path = fetchurl {
+        name = "_types_node___node_12.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz";
+        sha1 = "64db61e0359eb5a8d99b55e05c729f130a678b04";
+      };
+    }
+    {
+      name = "_types_node___node_10.14.17.tgz";
+      path = fetchurl {
+        name = "_types_node___node_10.14.17.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-10.14.17.tgz";
+        sha1 = "b96d4dd3e427382482848948041d3754d40fd5ce";
+      };
+    }
+    {
+      name = "_types_notifyjs___notifyjs_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_notifyjs___notifyjs_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/notifyjs/-/notifyjs-3.0.0.tgz";
+        sha1 = "a57126a90be2827d511d00a0615816cd5ca8a740";
+      };
+    }
+    {
+      name = "_types_prop_types___prop_types_15.7.3.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz";
+        sha1 = "2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7";
+      };
+    }
+    {
+      name = "_types_puppeteer___puppeteer_1.19.1.tgz";
+      path = fetchurl {
+        name = "_types_puppeteer___puppeteer_1.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.19.1.tgz";
+        sha1 = "942ca62288953a0f5fbbc25c103b5f2ba28b60ab";
+      };
+    }
+    {
+      name = "_types_q___q_1.5.2.tgz";
+      path = fetchurl {
+        name = "_types_q___q_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
+        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+      };
+    }
+    {
+      name = "_types_react_dom___react_dom_16.9.0.tgz";
+      path = fetchurl {
+        name = "_types_react_dom___react_dom_16.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz";
+        sha1 = "ba6ddb00bf5de700b0eb91daa452081ffccbfdea";
+      };
+    }
+    {
+      name = "_types_react_infinite___react_infinite_0.0.33.tgz";
+      path = fetchurl {
+        name = "_types_react_infinite___react_infinite_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-infinite/-/react-infinite-0.0.33.tgz";
+        sha1 = "08724d4a7095f3fa1d4e6cb5d05bcbe42ce135da";
+      };
+    }
+    {
+      name = "_types_react_router_dom___react_router_dom_4.3.5.tgz";
+      path = fetchurl {
+        name = "_types_react_router_dom___react_router_dom_4.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz";
+        sha1 = "72f229967690c890d00f96e6b85e9ee5780db31f";
+      };
+    }
+    {
+      name = "_types_react_router___react_router_5.0.3.tgz";
+      path = fetchurl {
+        name = "_types_react_router___react_router_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz";
+        sha1 = "855a1606e62de3f4d69ea34fb3c0e50e98e964d5";
+      };
+    }
+    {
+      name = "_types_react_transition_group___react_transition_group_4.2.2.tgz";
+      path = fetchurl {
+        name = "_types_react_transition_group___react_transition_group_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz";
+        sha1 = "8c851c4598a23a3a34173069fb4c5c9e41c02e3f";
+      };
+    }
+    {
+      name = "_types_react___react_16.9.3.tgz";
+      path = fetchurl {
+        name = "_types_react___react_16.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.9.3.tgz";
+        sha1 = "6d13251e441a3e67fb60d719d1fc8785b984a2ec";
+      };
+    }
+    {
+      name = "_types_react___react_16.9.2.tgz";
+      path = fetchurl {
+        name = "_types_react___react_16.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz";
+        sha1 = "6d1765431a1ad1877979013906731aae373de268";
+      };
+    }
+    {
+      name = "_types_remove_markdown___remove_markdown_0.1.1.tgz";
+      path = fetchurl {
+        name = "_types_remove_markdown___remove_markdown_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/remove-markdown/-/remove-markdown-0.1.1.tgz";
+        sha1 = "c79d3000df412526186b2af3808b85bee68bc907";
+      };
+    }
+    {
+      name = "_types_rimraf___rimraf_2.0.2.tgz";
+      path = fetchurl {
+        name = "_types_rimraf___rimraf_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.2.tgz";
+        sha1 = "7f0fc3cf0ff0ad2a99bb723ae1764f30acaf8b6e";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+      };
+    }
+    {
+      name = "_types_tern___tern_0.23.3.tgz";
+      path = fetchurl {
+        name = "_types_tern___tern_0.23.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.3.tgz";
+        sha1 = "4b54538f04a88c9ff79de1f6f94f575a7f339460";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_13.0.0.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_13.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz";
+        sha1 = "453743c5bbf9f1bed61d959baab5b06be029b2d0";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_13.0.2.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_13.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz";
+        sha1 = "a64674fc0149574ecd90ba746e932b5a5f7b3653";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_1.13.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz";
+        sha1 = "22fed9b16ddfeb402fd7bcde56307820f6ebc49f";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_1.13.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz";
+        sha1 = "b08c60d780c0067de2fb44b04b432f540138301e";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_1.13.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz";
+        sha1 = "61ac7811ea52791c47dc9fd4dd4a184fae9ac355";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_1.13.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz";
+        sha1 = "8140f17d0f60c03619798f1d628b8434913dc32e";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha1 = "51b1c5fe6576a34953bf4b253df9f0d490d9e359";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha1 = "1ba926a2923613edce496fd5b02e8ce8a5f49721";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha1 = "c49dad22f645227c5edb610bdb9697f1aab721f7";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha1 = "fea93e429863dd5e4338555f42292385a653f204";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha1 = "9a740ff48e3faa3022b1dff54423df9aa293c25e";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha1 = "ba0b7d3b3f7e4733da6059c9332275d860702452";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha1 = "def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha1 = "537a750eddf5c1e932f3744206551c91c1b93e61";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha1 = "74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha1 = "712329dbef240f36bf57bd2f7b8fb9bf4154421e";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha1 = "044edeb34ea679f3e04cd4fd9824d5e35767ae10";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha1 = "a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha1 = "962da12aa5acc1c131c81c4232991c82ce56e01a";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha1 = "54840766c2c1002eb64ed1abe720aded714f98bc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha1 = "b24d9f6ba50394af1349f510afa8ffcb8a63d264";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha1 = "21576f0ec88b91427357b8536383668ef7c66b8d";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha1 = "e10eecd542d0e7bd394f6827c49f3df6d4eefb8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha1 = "114bbc481fd10ca0e23b3560fa812748b0bae5bc";
+      };
+    }
+    {
+      name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+      path = fetchurl {
+        name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "abab___abab_2.0.1.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.1.tgz";
+        sha1 = "3fa17797032b71410ec372e11668f4b4ffc86a82";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.1.1.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_4.3.3.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz";
+        sha1 = "a86f75b69680b8780d30edd21eee4e0ea170c05e";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.0.2.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz";
+        sha1 = "84b68ea44b373c4f8686023a551f61a21b7c4a4f";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_6.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha1 = "123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz";
+        sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e";
+      };
+    }
+    {
+      name = "acorn___acorn_7.0.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz";
+        sha1 = "26b8d1cd9a9b700350b71c0905546f64d1284e7a";
+      };
+    }
+    {
+      name = "address___address_1.1.0.tgz";
+      path = fetchurl {
+        name = "address___address_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz";
+        sha1 = "ef8e047847fcd2c5b6f50c16965f924fd99fe709";
+      };
+    }
+    {
+      name = "address___address_1.1.2.tgz";
+      path = fetchurl {
+        name = "address___address_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz";
+        sha1 = "bf1116c9c758c51b7a933d296b72c221ed9428b6";
+      };
+    }
+    {
+      name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+      path = fetchurl {
+        name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz";
+        sha1 = "6471143af75ec02334b219f54bc7970c52fb29a4";
+      };
+    }
+    {
+      name = "agent_base___agent_base_4.3.0.tgz";
+      path = fetchurl {
+        name = "agent_base___agent_base_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz";
+        sha1 = "8165f01c436009bccad0b1d122f05ed770efc6ee";
+      };
+    }
+    {
+      name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+      path = fetchurl {
+        name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz";
+        sha1 = "5287820043af1eb469f5b0af0d6f70da6c52aaef";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.1.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+      };
+    }
+    {
+      name = "ajv___ajv_6.10.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
+        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+      };
+    }
+    {
+      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
+      };
+    }
+    {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "aria_query___aria_query_3.0.0.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz";
+        sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc";
+      };
+    }
+    {
+      name = "arity_n___arity_n_1.0.4.tgz";
+      path = fetchurl {
+        name = "arity_n___arity_n_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz";
+        sha1 = "d9e76b11733e08569c0847ae7b39b2860b30b745";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_equal___array_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_equal___array_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    }
+    {
+      name = "array_filter___array_filter_0.0.1.tgz";
+      path = fetchurl {
+        name = "array_filter___array_filter_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_2.1.2.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.0.3.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    }
+    {
+      name = "array_map___array_map_0.0.0.tgz";
+      path = fetchurl {
+        name = "array_map___array_map_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+      };
+    }
+    {
+      name = "array_reduce___array_reduce_0.0.0.tgz";
+      path = fetchurl {
+        name = "array_reduce___array_reduce_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+      path = fetchurl {
+        name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz";
+        sha1 = "630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7";
+      };
+    }
+    {
+      name = "arrify___arrify_1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+    {
+      name = "asap___asap_2.0.6.tgz";
+      path = fetchurl {
+        name = "asap___asap_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_4.10.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "assert___assert_1.4.1.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+    {
+      name = "assert___assert_1.5.0.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
+        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+      };
+    }
+    {
+      name = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+      path = fetchurl {
+        name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
+        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "async___async_1.5.2.tgz";
+      path = fetchurl {
+        name = "async___async_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "autoprefixer___autoprefixer_9.6.1.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz";
+        sha1 = "51967a02d2d2300bb01866c1611ec8348d355a47";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.8.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
+        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+      };
+    }
+    {
+      name = "axios___axios_0.19.0.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz";
+        sha1 = "8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8";
+      };
+    }
+    {
+      name = "axobject_query___axobject_query_2.0.2.tgz";
+      path = fetchurl {
+        name = "axobject_query___axobject_query_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz";
+        sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_eslint___babel_eslint_10.0.2.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz";
+        sha1 = "182d5ac204579ff0881684b040560fdcc1558456";
+      };
+    }
+    {
+      name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+      path = fetchurl {
+        name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz";
+        sha1 = "0a2aedf81417ed391b85e18b4614e693a0351a21";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha1 = "3fc327cb8467b89d14d7bc70e315104a783ccd54";
+      };
+    }
+    {
+      name = "babel_loader___babel_loader_8.0.6.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz";
+        sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb";
+      };
+    }
+    {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
+        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+      };
+    }
+    {
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha1 = "df4ade83d897a92df069c4d9a25cf2671293c854";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha1 = "4f837091eb407e01447c8843cbec546d0002d756";
+      };
+    }
+    {
+      name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz";
+        sha1 = "41f7ead616fc36f6a93180e89697f69f51671181";
+      };
+    }
+    {
+      name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.3.tgz";
+      path = fetchurl {
+        name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz";
+        sha1 = "9ba2f3ac4dc78b042651654f07e847adfe50667c";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
+      };
+    }
+    {
+      name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz";
+        sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06";
+      };
+    }
+    {
+      name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
+        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha1 = "192b521e2217fb1d1f67cf73f70c336650ad3cdc";
+      };
+    }
+    {
+      name = "babel_preset_react_app___babel_preset_react_app_9.0.1.tgz";
+      path = fetchurl {
+        name = "babel_preset_react_app___babel_preset_react_app_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz";
+        sha1 = "16a2cf84363045b530b6a03460527a5c6eac42ba";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "babylon___babylon_6.18.0.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
+        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+      };
+    }
+    {
+      name = "bail___bail_1.0.4.tgz";
+      path = fetchurl {
+        name = "bail___bail_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz";
+        sha1 = "7181b66d508aa3055d3f6c13f0a0c720641dde9b";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.3.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
+        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "big.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.13.1.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.5.5.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz";
+        sha1 = "a8d0afd73251effbbd5fe384a77d73003c17a71f";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.8.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz";
+        sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "boolbase___boolbase_1.0.0.tgz";
+      path = fetchurl {
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
+      };
+    }
+    {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      path = fetchurl {
+        name = "browser_resolve___browser_resolve_1.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+      };
+    }
+    {
+      name = "browserify_aes___browserify_aes_1.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.2.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.0.4.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.6.6.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz";
+        sha1 = "6e4bf467cde520bc9dbdf3747dafa03531cec453";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.0.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz";
+        sha1 = "9ee89225ffc07db03409f2fee524dc8227458a17";
+      };
+    }
+    {
+      name = "bser___bser_2.1.0.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz";
+        sha1 = "65fc784bf7f87c009b973c12db6546902fa9c7b5";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+      };
+    }
+    {
+      name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+    {
+      name = "builtin_modules___builtin_modules_1.1.1.tgz";
+      path = fetchurl {
+        name = "builtin_modules___builtin_modules_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cacache___cacache_12.0.3.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_12.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz";
+        sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+      path = fetchurl {
+        name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camel_case___camel_case_3.0.0.tgz";
+      path = fetchurl {
+        name = "camel_case___camel_case_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz";
+        sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42";
+      };
+    }
+    {
+      name = "camelcase___camelcase_4.1.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caniuse_api___caniuse_api_3.0.0.tgz";
+      path = fetchurl {
+        name = "caniuse_api___caniuse_api_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30000989.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000989.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz";
+        sha1 = "b9193e293ccf7e4426c5245134b8f2a56c0ac4b9";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+      path = fetchurl {
+        name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz";
+        sha1 = "3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz";
+      path = fetchurl {
+        name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz";
+        sha1 = "3c729991d9293da0ede6dddcaf1f2ce1009ee8b4";
+      };
+    }
+    {
+      name = "character_entities___character_entities_1.2.3.tgz";
+      path = fetchurl {
+        name = "character_entities___character_entities_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz";
+        sha1 = "bbed4a52fe7ef98cc713c6d80d9faa26916d54e6";
+      };
+    }
+    {
+      name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz";
+      path = fetchurl {
+        name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz";
+        sha1 = "1647f4f726638d3ea4a750cf5d1975c1c7919a85";
+      };
+    }
+    {
+      name = "chardet___chardet_0.7.0.tgz";
+      path = fetchurl {
+        name = "chardet___chardet_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz";
+        sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.2.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz";
+        sha1 = "a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.1.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz";
+        sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.2.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    }
+    {
+      name = "cliui___cliui_4.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
+        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_0.2.4.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz";
+        sha1 = "4e73dd09e9fb971cc38670c5dced9c1896481cc6";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      name = "clsx___clsx_1.0.4.tgz";
+      path = fetchurl {
+        name = "clsx___clsx_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/clsx/-/clsx-1.0.4.tgz";
+        sha1 = "0c0171f6d5cb2fe83848463c15fcc26b4df8c2ec";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "coa___coa_2.0.2.tgz";
+      path = fetchurl {
+        name = "coa___coa_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
+        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "codemirror___codemirror_5.48.4.tgz";
+      path = fetchurl {
+        name = "codemirror___codemirror_5.48.4.tgz";
+        url  = "https://registry.yarnpkg.com/codemirror/-/codemirror-5.48.4.tgz";
+        sha1 = "4210fbe92be79a88f0eea348fab3ae78da85ce47";
+      };
+    }
+    {
+      name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+      path = fetchurl {
+        name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz";
+        sha1 = "c2495b699ab1ed380d29a1091e01063e75dbbe3a";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
+      name = "color_string___color_string_1.5.3.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
+        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+      };
+    }
+    {
+      name = "color___color_3.1.2.tgz";
+      path = fetchurl {
+        name = "color___color_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
+        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      path = fetchurl {
+        name = "combined_stream___combined_stream_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+      };
+    }
+    {
+      name = "commander___commander_2.17.1.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz";
+        sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf";
+      };
+    }
+    {
+      name = "commander___commander_2.20.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
+        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
+      };
+    }
+    {
+      name = "commander___commander_2.19.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz";
+        sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a";
+      };
+    }
+    {
+      name = "common_tags___common_tags_1.8.0.tgz";
+      path = fetchurl {
+        name = "common_tags___common_tags_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz";
+        sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "compose_function___compose_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "compose_function___compose_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz";
+        sha1 = "9ed675f13cc54501d30950a486ff6a7ba3ab185f";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.17.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz";
+        sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "confusing_browser_globals___confusing_browser_globals_1.0.8.tgz";
+      path = fetchurl {
+        name = "confusing_browser_globals___confusing_browser_globals_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz";
+        sha1 = "93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_css_length___convert_css_length_2.0.1.tgz";
+      path = fetchurl {
+        name = "convert_css_length___convert_css_length_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/convert-css-length/-/convert-css-length-2.0.1.tgz";
+        sha1 = "90a76bde5bfd24d72881a5b45d02249b2c1d257c";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.6.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_0.3.5.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz";
+        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      path = fetchurl {
+        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.2.1.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz";
+        sha1 = "0cbdbc2e386e8e00d3b85dc81c848effec5b8150";
+      };
+    }
+    {
+      name = "core_js___core_js_3.1.4.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz";
+        sha1 = "3a2837fc48e582e1ae25907afcd6cf03b0cc7a07";
+      };
+    }
+    {
+      name = "core_js___core_js_1.2.7.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz";
+        sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.9.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz";
+        sha1 = "6b4b214620c834152e179323727fc19741b084f2";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.3.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.2.0.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
+        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.7.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+      path = fetchurl {
+        name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz";
+        sha1 = "dfdefd3254bf8a82027993674ccf35483bfcb3c5";
+      };
+    }
+    {
+      name = "css_color_names___css_color_names_0.0.4.tgz";
+      path = fetchurl {
+        name = "css_color_names___css_color_names_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+    {
+      name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+      path = fetchurl {
+        name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+      };
+    }
+    {
+      name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+      path = fetchurl {
+        name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz";
+        sha1 = "3c642ab34ca242c59c41a125df9105841f6966ee";
+      };
+    }
+    {
+      name = "css_loader___css_loader_2.1.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz";
+        sha1 = "d8254f72e412bb2238bb44dd674ffbef497333ea";
+      };
+    }
+    {
+      name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+      path = fetchurl {
+        name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz";
+        sha1 = "6f830a2714199d4f0d0d0bb8a27916ed65cff1f4";
+      };
+    }
+    {
+      name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+      path = fetchurl {
+        name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+      };
+    }
+    {
+      name = "css_select___css_select_1.2.0.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    }
+    {
+      name = "css_select___css_select_2.0.2.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz";
+        sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
+        sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
+        sha1 = "970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e";
+      };
+    }
+    {
+      name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+      path = fetchurl {
+        name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz";
+        sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996";
+      };
+    }
+    {
+      name = "css_vendor___css_vendor_2.0.6.tgz";
+      path = fetchurl {
+        name = "css_vendor___css_vendor_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.6.tgz";
+        sha1 = "a205f73d7562e8728c86ef6ce5ee7c7e5eefd71b";
+      };
+    }
+    {
+      name = "css_what___css_what_2.1.3.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz";
+        sha1 = "a6d7604573365fe74686c3f311c56513d88285f2";
+      };
+    }
+    {
+      name = "css___css_2.2.4.tgz";
+      path = fetchurl {
+        name = "css___css_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz";
+        sha1 = "c646755c73971f2bba6a601e2cf2fd71b1298929";
+      };
+    }
+    {
+      name = "cssdb___cssdb_4.4.0.tgz";
+      path = fetchurl {
+        name = "cssdb___cssdb_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz";
+        sha1 = "3bf2f2a68c10f5c6a08abd92378331ee803cddb0";
+      };
+    }
+    {
+      name = "cssesc___cssesc_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
+        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      path = fetchurl {
+        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+      };
+    }
+    {
+      name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    }
+    {
+      name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    }
+    {
+      name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+      };
+    }
+    {
+      name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+      };
+    }
+    {
+      name = "cssnano___cssnano_4.1.10.tgz";
+      path = fetchurl {
+        name = "cssnano___cssnano_4.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
+        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+      };
+    }
+    {
+      name = "csso___csso_3.5.1.tgz";
+      path = fetchurl {
+        name = "csso___csso_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz";
+        sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_1.4.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha1 = "9d31328229d3c565c61e586b02041a28fccdccf1";
+      };
+    }
+    {
+      name = "csstype___csstype_2.6.6.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_2.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz";
+        sha1 = "c34f8226a94bbb10c32cc0d714afdf942291fc41";
+      };
+    }
+    {
+      name = "cyclist___cyclist_0.2.2.tgz";
+      path = fetchurl {
+        name = "cyclist___cyclist_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz";
+        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
+      };
+    }
+    {
+      name = "d___d_1.0.1.tgz";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+      path = fetchurl {
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz";
+        sha1 = "780cf7144eb2e8dbd1c3bb83ae31100ccc31a414";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_1.1.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
+        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+      };
+    }
+    {
+      name = "date_now___date_now_0.1.4.tgz";
+      path = fetchurl {
+        name = "date_now___date_now_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "debug___debug_3.1.0.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
+        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      name = "debug___debug_4.1.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
+        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decamelize___decamelize_2.0.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz";
+        sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_equal___deep_equal_1.1.0.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz";
+        sha1 = "3103cdf8ab6d32cf4a8df7865458f2b8d33f3745";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.tgz";
+      path = fetchurl {
+        name = "deep_is___deep_is_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+    {
+      name = "deepmerge___deepmerge_4.0.0.tgz";
+      path = fetchurl {
+        name = "deepmerge___deepmerge_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz";
+        sha1 = "3e3110ca29205f120d7cb064960a39c3d2087c09";
+      };
+    }
+    {
+      name = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "del___del_3.0.0.tgz";
+      path = fetchurl {
+        name = "del___del_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz";
+        sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed_stream___delayed_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "des.js___des.js_1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_browser___detect_browser_3.0.1.tgz";
+      path = fetchurl {
+        name = "detect_browser___detect_browser_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-3.0.1.tgz";
+        sha1 = "39beead014347a8a2be1f3c4cb30a0aef2127c44";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+      path = fetchurl {
+        name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
+        sha1 = "24707deabe932d4a3cf621302027c2b266568275";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_24.9.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha1 = "5715d6244e2aa65f48bba0bc972db0b0b11e95b5";
+      };
+    }
+    {
+      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.3.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+      };
+    }
+    {
+      name = "dir_glob___dir_glob_2.0.0.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha1 = "0b205d2b6aef98238ca286598a8204d29d0a0034";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.3.1.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "dom_converter___dom_converter_0.2.0.tgz";
+      path = fetchurl {
+        name = "dom_converter___dom_converter_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha1 = "6721a9daee2e293682955b6afe416771627bb768";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_5.1.0.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.0.tgz";
+        sha1 = "57a726de04abcc2a8bbfe664b3e21c584bde514e";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.2.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz";
+        sha1 = "13650c850daffea35d8b626a4cfc4d3a17643fdb";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.2.0.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_2.0.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+      };
+    }
+    {
+      name = "domexception___domexception_1.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
+        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+      };
+    }
+    {
+      name = "domhandler___domhandler_2.4.2.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz";
+        sha1 = "8805097e933d65e85546f726d60f5eb88b44f803";
+      };
+    }
+    {
+      name = "domhandler___domhandler_3.0.0.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz";
+        sha1 = "51cd13efca31da95bbb0c5bee3a48300e333b3e9";
+      };
+    }
+    {
+      name = "domutils___domutils_1.5.1.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    }
+    {
+      name = "domutils___domutils_1.7.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
+        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+      };
+    }
+    {
+      name = "domutils___domutils_2.0.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-2.0.0.tgz";
+        sha1 = "15b8278e37bfa8468d157478c58c367718133c08";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_4.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+      };
+    }
+    {
+      name = "dotenv_expand___dotenv_expand_4.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv_expand___dotenv_expand_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz";
+        sha1 = "def1f1ca5d6059d24a766e587942c21106ce1275";
+      };
+    }
+    {
+      name = "dotenv___dotenv_6.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz";
+        sha1 = "941c0410535d942c8becf28d3f357dbd9d476064";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+    {
+      name = "duplexify___duplexify_3.7.1.tgz";
+      path = fetchurl {
+        name = "duplexify___duplexify_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
+        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.252.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.252.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz";
+        sha1 = "5b6261965b564a0f4df0f1c86246487897017f52";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.5.1.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz";
+        sha1 = "c380f5f909bf1b9b4428d028cd18d3b0efd6b52b";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "encoding___encoding_0.1.12.tgz";
+      path = fetchurl {
+        name = "encoding___encoding_0.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.1.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz";
+        sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz";
+        sha1 = "41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f";
+      };
+    }
+    {
+      name = "entities___entities_1.1.2.tgz";
+      path = fetchurl {
+        name = "entities___entities_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz";
+        sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56";
+      };
+    }
+    {
+      name = "entities___entities_2.0.0.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz";
+        sha1 = "68d6084cab1b079767540d80e56a39b423e4abf4";
+      };
+    }
+    {
+      name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.1.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz";
+        sha1 = "a8f4278b47e082fbca14f5bfb1ee50ee650717b4";
+      };
+    }
+    {
+      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.0.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz";
+        sha1 = "96e3730d76b872f593e54ce1c51fa3a451422d93";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.14.1.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.1.tgz";
+        sha1 = "6e8d84b445ec9c610781e74a6d52cc31aac5b4ca";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.51.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.51.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha1 = "ed2d7d9d48a12df86e0299287e93a09ff478842f";
+      };
+    }
+    {
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    }
+    {
+      name = "es6_promise___es6_promise_4.2.8.tgz";
+      path = fetchurl {
+        name = "es6_promise___es6_promise_4.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha1 = "4eb21594c972bc40553d276e510539143db53e0a";
+      };
+    }
+    {
+      name = "es6_promisify___es6_promisify_5.0.0.tgz";
+      path = fetchurl {
+        name = "es6_promisify___es6_promisify_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.1.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.12.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz";
+        sha1 = "f763daf840af172bb3a2b6dd7219c0e17f7ff541";
+      };
+    }
+    {
+      name = "eslint_config_react_app___eslint_config_react_app_5.0.1.tgz";
+      path = fetchurl {
+        name = "eslint_config_react_app___eslint_config_react_app_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.1.tgz";
+        sha1 = "5f3d666ba3ee3cb384eb943e260e868f6c72251b";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz";
+        sha1 = "58f15fb839b8d0576ca980413476aab2472db66a";
+      };
+    }
+    {
+      name = "eslint_loader___eslint_loader_2.2.1.tgz";
+      path = fetchurl {
+        name = "eslint_loader___eslint_loader_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz";
+        sha1 = "28b9c12da54057af0845e2a6112701a2f6bf8337";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz";
+        sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c";
+      };
+    }
+    {
+      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz";
+        sha1 = "e241ebd39c0ce519345a3f074ec1ebde4cf80f2c";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz";
+        sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6";
+      };
+    }
+    {
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz";
+        sha1 = "b872a09d5de51af70a97db1eea7dc933043708aa";
+      };
+    }
+    {
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz";
+        sha1 = "6210b6d5a37205f0b92858f895a4e827020a7d04";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz";
+        sha1 = "911030dd7e98ba49e1b2208599571846a66bdf13";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_3.7.1.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz";
+        sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz";
+        sha1 = "e87c8887c73e8d1ec84f1ca591645c358bfc8fb9";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_1.4.2.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz";
+        sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
+        sha1 = "e2a82cea84ff246ad6fb57f9bde5b46621459ec2";
+      };
+    }
+    {
+      name = "eslint___eslint_6.3.0.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz";
+        sha1 = "1f1a902f67bfd4c354e7288b81e40654d927eb6a";
+      };
+    }
+    {
+      name = "espree___espree_6.1.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz";
+        sha1 = "7f80e5f7257fc47db450022d723e356daeb1e5de";
+      };
+    }
+    {
+      name = "esprima___esprima_3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.0.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz";
+        sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.2.1.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.3.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
+        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
+      };
+    }
+    {
+      name = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
+      name = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "eventemitter3___eventemitter3_3.1.2.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz";
+        sha1 = "2d3d48f9c346698fce83a85d7d664e98535df6e7";
+      };
+    }
+    {
+      name = "events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz";
+        sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.2.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expect___expect_24.9.0.tgz";
+      path = fetchurl {
+        name = "expect___expect_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz";
+        sha1 = "b75165b4817074fa4a157794f46fe9f1ba15b6ca";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      name = "extend___extend_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend___extend_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
+        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+      };
+    }
+    {
+      name = "external_editor___external_editor_3.1.0.tgz";
+      path = fetchurl {
+        name = "external_editor___external_editor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz";
+        sha1 = "cb03f740befae03ea4d283caed2741a83f335495";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extract_zip___extract_zip_1.6.7.tgz";
+      path = fetchurl {
+        name = "extract_zip___extract_zip_1.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz";
+        sha1 = "a840b4b8af6403264c8db57f4f1a74333ef81fe9";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    }
+    {
+      name = "fast_glob___fast_glob_2.2.7.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz";
+        sha1 = "6953857c3afa475fff92ee6015d52da70a4cd39d";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      path = fetchurl {
+        name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.11.3.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    }
+    {
+      name = "fbjs___fbjs_0.8.17.tgz";
+      path = fetchurl {
+        name = "fbjs___fbjs_0.8.17.tgz";
+        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz";
+        sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd";
+      };
+    }
+    {
+      name = "fd_slicer___fd_slicer_1.0.1.tgz";
+      path = fetchurl {
+        name = "fd_slicer___fd_slicer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha1 = "862470112901c727a0e495a80744bd5baa1d6790";
+      };
+    }
+    {
+      name = "figures___figures_2.0.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_loader___file_loader_3.0.1.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz";
+        sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa";
+      };
+    }
+    {
+      name = "filesize___filesize_3.6.1.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz";
+        sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "find_up___find_up_1.1.2.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.1.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz";
+        sha1 = "69e57caa8f0eacbc281d2e2cb458d46fdb449e08";
+      };
+    }
+    {
+      name = "flatten___flatten_1.0.2.tgz";
+      path = fetchurl {
+        name = "flatten___flatten_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    }
+    {
+      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+      path = fetchurl {
+        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.5.10.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.5.10.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz";
+        sha1 = "7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.8.1.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.8.1.tgz";
+        sha1 = "24804f9eaab67160b0e840c085885d606371a35b";
+      };
+    }
+    {
+      name = "for_in___for_in_0.1.8.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz";
+        sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "for_own___for_own_0.1.5.tgz";
+      path = fetchurl {
+        name = "for_own___for_own_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz";
+        sha1 = "ce1d77190b44d81a761b10b6284a373795e41f0c";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_7.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_4.0.3.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz";
+        sha1 = "0d852122e5bc5beb453fb028e9c0c9bf36340c94";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_1.2.6.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz";
+        sha1 = "2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.0.7.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
+        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.9.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
+        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      path = fetchurl {
+        name = "function_bind___function_bind_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
+        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+      };
+    }
+    {
+      name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+      path = fetchurl {
+        name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz";
+        sha1 = "6d252350803085abc2ad423d4fe3be2f9cbda392";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      path = fetchurl {
+        name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    }
+    {
+      name = "functions_have_names___functions_have_names_1.1.1.tgz";
+      path = fetchurl {
+        name = "functions_have_names___functions_have_names_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.1.1.tgz";
+        sha1 = "79d35927f07b8e7103d819fed475b64ccf7225ea";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_1.0.3.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz";
+      path = fetchurl {
+        name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz";
+        sha1 = "b877b49a5c16aefac3655f2ed2ea5b684df8d203";
+      };
+    }
+    {
+      name = "get_port___get_port_5.0.0.tgz";
+      path = fetchurl {
+        name = "get_port___get_port_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-port/-/get-port-5.0.0.tgz";
+        sha1 = "aa22b6b86fd926dd7884de3e23332c9f70c031a6";
+      };
+    }
+    {
+      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_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.0.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz";
+        sha1 = "1dc99f0f39b006d3e92c2c284068382f0c20e954";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    }
+    {
+      name = "glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz";
+        sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globby___globby_8.0.2.tgz";
+      path = fetchurl {
+        name = "globby___globby_8.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz";
+        sha1 = "5697619ccd95c5275dbb2d6faa42087c1a941d8d";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.2.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha1 = "6f0952605d0140c1cfdb138ed005775b92d67b02";
+      };
+    }
+    {
+      name = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.1.1.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha1 = "cb9bee692f87c0612b232840a873904e4c135274";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.0.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.2.0.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.2.0.tgz";
+        sha1 = "57ce8d2175b9bbb3d8b3cf3e4217b1aec8ddcb2e";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.3.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
+        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
+      };
+    }
+    {
+      name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+      path = fetchurl {
+        name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz";
+        sha1 = "c108d4f2bb451efef7a37861fdbdae72c9bdefa9";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.0.4.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.7.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
+        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+      };
+    }
+    {
+      name = "history___history_4.9.0.tgz";
+      path = fetchurl {
+        name = "history___history_4.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz";
+        sha1 = "84587c2068039ead8af769e9d6a6860a14fa1bca";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz";
+      path = fetchurl {
+        name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz";
+        sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47";
+      };
+    }
+    {
+      name = "hoist_non_react_statics___hoist_non_react_statics_3.3.0.tgz";
+      path = fetchurl {
+        name = "hoist_non_react_statics___hoist_non_react_statics_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz";
+        sha1 = "b09178f0122184fb95acf525daaecb4d8f45958b";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.4.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
+        sha1 = "44119abaf4bc64692a16ace34700fed9c03e2546";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "hsl_regex___hsl_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsl_regex___hsl_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    }
+    {
+      name = "hsla_regex___hsla_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsla_regex___hsla_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    }
+    {
+      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+      path = fetchurl {
+        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+      };
+    }
+    {
+      name = "html_entities___html_entities_1.2.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_3.5.21.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_3.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz";
+        sha1 = "d0040e054730e354db008463593194015212d20c";
+      };
+    }
+    {
+      name = "html_to_react___html_to_react_1.4.1.tgz";
+      path = fetchurl {
+        name = "html_to_react___html_to_react_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.1.tgz";
+        sha1 = "64f67657c6335056866e334c097556f25894dd47";
+      };
+    }
+    {
+      name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+      path = fetchurl {
+        name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+        url  = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz";
+        sha1 = "2c53083c1151bfec20479b1f8aaf0039e77b5513";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_4.0.0.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.0.0.tgz";
+        sha1 = "6034658db65b7713a572a9ebf79f650832dceec8";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.6.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
+        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+      };
+    }
+    {
+      name = "http_parser_js___http_parser_js_0.4.10.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    }
+    {
+      name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.17.0.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz";
+        sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "https_proxy_agent___https_proxy_agent_2.2.2.tgz";
+      path = fetchurl {
+        name = "https_proxy_agent___https_proxy_agent_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz";
+        sha1 = "271ea8e90f836ac9f119daccd39c19ff7dfb0793";
+      };
+    }
+    {
+      name = "hyphenate_style_name___hyphenate_style_name_1.0.3.tgz";
+      path = fetchurl {
+        name = "hyphenate_style_name___hyphenate_style_name_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz";
+        sha1 = "097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+      };
+    }
+    {
+      name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+      path = fetchurl {
+        name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_4.1.1.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz";
+        sha1 = "21170b53789ee27447c2f47dd683081403f9a467";
+      };
+    }
+    {
+      name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+      path = fetchurl {
+        name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
+        sha1 = "94d2bda96084453ef36fbc5aaec37e0f79f1fc14";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.1.13.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
+        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+      };
+    }
+    {
+      name = "iferr___iferr_0.1.5.tgz";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      name = "ignore_walk___ignore_walk_3.0.1.tgz";
+      path = fetchurl {
+        name = "ignore_walk___ignore_walk_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8";
+      };
+    }
+    {
+      name = "ignore___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "immer___immer_1.10.0.tgz";
+      path = fetchurl {
+        name = "immer___immer_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz";
+        sha1 = "bad67605ba9c810275d91e1c2a47d4582e98286d";
+      };
+    }
+    {
+      name = "immutable___immutable_3.8.2.tgz";
+      path = fetchurl {
+        name = "immutable___immutable_3.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz";
+        sha1 = "c2439951455bb39913daf281376f1530e104adf3";
+      };
+    }
+    {
+      name = "import_cwd___import_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_cwd___import_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.1.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz";
+        sha1 = "6d33fa1dcef6df930fae003446f33415af905118";
+      };
+    }
+    {
+      name = "import_from___import_from_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_from___import_from_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "ini___ini_1.3.5.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
+        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz";
+        sha1 = "2303317efc9a4ea7ec2e2df6f86569b734accf42";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.2.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz";
+        sha1 = "ad50942375d036d327ff528c08bd5fab089928ca";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_2.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
+      };
+    }
+    {
+      name = "ip_regex___ip_regex_2.1.0.tgz";
+      path = fetchurl {
+        name = "ip_regex___ip_regex_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    }
+    {
+      name = "ip___ip_1.1.5.tgz";
+      path = fetchurl {
+        name = "ip___ip_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      name = "is_alphabetical___is_alphabetical_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_alphabetical___is_alphabetical_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz";
+        sha1 = "eb04cc47219a8895d8450ace4715abff2258a1f8";
+      };
+    }
+    {
+      name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz";
+        sha1 = "57ae21c374277b3defe0274c640a5704b8f6657c";
+      };
+    }
+    {
+      name = "is_arguments___is_arguments_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_arguments___is_arguments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.3.2.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_2.0.3.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz";
+        sha1 = "4ecf3fcf749cbd1e472689e109ac66261a25e725";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.1.4.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz";
+        sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_color_stop___is_color_stop_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_color_stop___is_color_stop_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    }
+    {
+      name = "is_decimal___is_decimal_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_decimal___is_decimal_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz";
+        sha1 = "381068759b9dc807d8c0dc0bfbae2b68e1da48b7";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+      };
+    }
+    {
+      name = "is_glob___is_glob_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
+        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+      };
+    }
+    {
+      name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz";
+        sha1 = "e8a426a69b6d31470d3a33a47bb825cda02506ee";
+      };
+    }
+    {
+      name = "is_in_browser___is_in_browser_1.1.3.tgz";
+      path = fetchurl {
+        name = "is_in_browser___is_in_browser_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz";
+        sha1 = "56ff4db683a078c6082eb95dad7dc62e1d04f835";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_obj___is_obj_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    }
+    {
+      name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz";
+        sha1 = "47bfc5da1b5d50d64110806c199359482e75a928";
+      };
+    }
+    {
+      name = "is_promise___is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    }
+    {
+      name = "is_regexp___is_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
+        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+      };
+    }
+    {
+      name = "is_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_root___is_root_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_root___is_root_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz";
+        sha1 = "809e18129cf1129644302a4f8544035d51984a9c";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_svg___is_svg_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_svg___is_svg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
+        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz";
+        sha1 = "b3ad9546d916d7d3ffa78204bca0c26b56257fac";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_word_character___is_word_character_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_word_character___is_word_character_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz";
+        sha1 = "264d15541cbad0ba833d3992c34e6b40873b08aa";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "isarray___isarray_0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isobject___isobject_4.0.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz";
+        sha1 = "3f1c9155e73b192022a80819bacd0343711697b0";
+      };
+    }
+    {
+      name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+      path = fetchurl {
+        name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz";
+        sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af";
+      };
+    }
+    {
+      name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha1 = "08d8c15eb79a7fa3fc98269bc14b451ee82f8039";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha1 = "ad2de62d07472d419c6abc301fc432b98b10d2af";
+      };
+    }
+    {
+      name = "jest_config___jest_config_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz";
+        sha1 = "fb1bbc60c73a46af03590719efa4825e6e4dd1b5";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha1 = "931b7d0d5778a1baf7452cb816e325e3724055da";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha1 = "7970201802ba560e1c4092cc25cbedf5af5a8ce2";
+      };
+    }
+    {
+      name = "jest_each___jest_each_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz";
+        sha1 = "eb2da602e2a610898dbc5f1f6df3ba86b55f8b05";
+      };
+    }
+    {
+      name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz";
+        sha1 = "aad6393a9d4b565b69a609109bf469f62bf18ccc";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha1 = "4b0806c7fc94f95edb369a69cc2778eec2b7375b";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha1 = "333d2d2796f9687f2aeebf0742b519f33c1cbfd3";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha1 = "1684a0c8a50f2e4901b6644ae861f579eed2ef0e";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha1 = "b38a5d64274934e21fa417ae9a9fbeb77ceaac7d";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha1 = "1f7b1bd3242c1774e62acabb3646d96afc3be6a0";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha1 = "b665dea7c77100c5c4f7dfcb153b65cf07dcf96a";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha1 = "f5b3661d5e628dffe6dd65251dfdae0e87c3a073";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha1 = "527f54a1e380f5e202a8d1149b0ec872f43119e3";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha1 = "c22835541ee379b908673ad51087a2185c13f1c6";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha1 = "c13fb3380bde22bf6575432c493ea8fe37965636";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha1 = "ad055198959c4cfba8a4f066c673a3f0786507ab";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz";
+        sha1 = "84b8e5408c1f6a11539793e2b5feb1b6e722439f";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha1 = "dff04c7687af34c4dd7e524892d9cf77e5d17321";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha1 = "574fafdbd54455c2b34b4bdf4365a23857fcdf42";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha1 = "9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha1 = "e6d7d7ef96d31e8b9079a714754c5d5c58288e73";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha1 = "ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba";
+      };
+    }
+    {
+      name = "jest_util___jest_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz";
+        sha1 = "7396814e48536d2e85a37de3e4c431d7cb140162";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha1 = "0775c55360d173cd854e40180756d4ff52def8ab";
+      };
+    }
+    {
+      name = "jest_watch_typeahead___jest_watch_typeahead_0.3.1.tgz";
+      path = fetchurl {
+        name = "jest_watch_typeahead___jest_watch_typeahead_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.3.1.tgz";
+        sha1 = "47701024b64b444aa325d801b4b3a6d61ed70701";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha1 = "4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha1 = "5dbfdb5b2d322e98567898238a9697bcce67b3e5";
+      };
+    }
+    {
+      name = "jest___jest_24.8.0.tgz";
+      path = fetchurl {
+        name = "jest___jest_24.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz";
+        sha1 = "d5dff1984d0d1002196e9b7f12f75af1b2809081";
+      };
+    }
+    {
+      name = "js_base64___js_base64_2.5.1.tgz";
+      path = fetchurl {
+        name = "js_base64___js_base64_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz";
+        sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121";
+      };
+    }
+    {
+      name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+      path = fetchurl {
+        name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz";
+        sha1 = "c6cee58eb3550372df8deb85fad5ce66ce01d59d";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.13.1.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_3.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdom___jsdom_11.12.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
+        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+      };
+    }
+    {
+      name = "jsdom___jsdom_14.1.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_14.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz";
+        sha1 = "916463b6094956b0a6c1782c94e380cd30e1981b";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "jsesc___jsesc_0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    }
+    {
+      name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json3___json3_3.3.3.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
+        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "json5___json5_2.1.0.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz";
+        sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonify___jsonify_0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify___jsonify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jss_plugin_camel_case___jss_plugin_camel_case_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_camel_case___jss_plugin_camel_case_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.25.tgz";
+        sha1 = "ea4389de47ccf3b4757f76e62cbb2e8b96b7a2c2";
+      };
+    }
+    {
+      name = "jss_plugin_default_unit___jss_plugin_default_unit_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_default_unit___jss_plugin_default_unit_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.25.tgz";
+        sha1 = "df5b39bbc0114146101bb3cf8bc7e281e3d0f454";
+      };
+    }
+    {
+      name = "jss_plugin_global___jss_plugin_global_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_global___jss_plugin_global_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.25.tgz";
+        sha1 = "2b6a6a14ef6cdb9994dbadf709e480d5c871b5f6";
+      };
+    }
+    {
+      name = "jss_plugin_nested___jss_plugin_nested_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_nested___jss_plugin_nested_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.25.tgz";
+        sha1 = "b8e29d336e1850047914511681d56330e3ea24ac";
+      };
+    }
+    {
+      name = "jss_plugin_props_sort___jss_plugin_props_sort_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_props_sort___jss_plugin_props_sort_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.25.tgz";
+        sha1 = "dfaa1a6bf9863ae9593b99bf51cd26caea2fe0ec";
+      };
+    }
+    {
+      name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.25.tgz";
+        sha1 = "35350da52334a6031808e197526227434c194277";
+      };
+    }
+    {
+      name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.25.tgz";
+        sha1 = "bc0c4b6dcb28d4801775cbad70ad9bc7e0c7707b";
+      };
+    }
+    {
+      name = "jss___jss_10.0.0_alpha.25.tgz";
+      path = fetchurl {
+        name = "jss___jss_10.0.0_alpha.25.tgz";
+        url  = "https://registry.yarnpkg.com/jss/-/jss-10.0.0-alpha.25.tgz";
+        sha1 = "20a506d8159e3f6bd91e133d54ffd3df0ffd3010";
+      };
+    }
+    {
+      name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+      path = fetchurl {
+        name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz";
+        sha1 = "4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_2.0.1.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz";
+        sha1 = "018ec7a4ce7e3a86cb9141be519d24c8faa981b5";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz";
+        sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+      path = fetchurl {
+        name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz";
+        sha1 = "9742df0e10e3cf46e5c0381c2de90d3a7a2d7555";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_0.2.7.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz";
+        sha1 = "7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_1.0.4.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    }
+    {
+      name = "lcid___lcid_2.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
+        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
+      };
+    }
+    {
+      name = "left_pad___left_pad_1.3.0.tgz";
+      path = fetchurl {
+        name = "left_pad___left_pad_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
+        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_2.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
+      name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+      path = fetchurl {
+        name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz";
+        sha1 = "54cedf6b727e1779fd8f01205f05f6e88706f086";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.2.3.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7";
+      };
+    }
+    {
+      name = "locate_path___locate_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+      path = fetchurl {
+        name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
+        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+      };
+    }
+    {
+      name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    }
+    {
+      name = "lodash.isarray___lodash.isarray_3.0.4.tgz";
+      path = fetchurl {
+        name = "lodash.isarray___lodash.isarray_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
+        sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
+      };
+    }
+    {
+      name = "lodash.isfinite___lodash.isfinite_3.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.isfinite___lodash.isfinite_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.2.0.tgz";
+        sha1 = "aa69ffb93a37e82fab0ce18862655f9174ced339";
+      };
+    }
+    {
+      name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash.template___lodash.template_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.template___lodash.template_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz";
+        sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab";
+      };
+    }
+    {
+      name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
+        sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33";
+      };
+    }
+    {
+      name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz";
+        sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c";
+      };
+    }
+    {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.6.3.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz";
+        sha1 = "77f2eb64be55a404c9fd04ad16d57c1d6d6b1280";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lower_case___lower_case_1.1.4.tgz";
+      path = fetchurl {
+        name = "lower_case___lower_case_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_5.1.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "mamacro___mamacro_0.0.3.tgz";
+      path = fetchurl {
+        name = "mamacro___mamacro_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz";
+        sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4";
+      };
+    }
+    {
+      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      path = fetchurl {
+        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "markdown_escapes___markdown_escapes_1.0.3.tgz";
+      path = fetchurl {
+        name = "markdown_escapes___markdown_escapes_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz";
+        sha1 = "6155e10416efaafab665d466ce598216375195f5";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.5.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
+        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+      };
+    }
+    {
+      name = "mdast_add_list_metadata___mdast_add_list_metadata_1.0.1.tgz";
+      path = fetchurl {
+        name = "mdast_add_list_metadata___mdast_add_list_metadata_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz";
+        sha1 = "95e73640ce2fc1fa2dcb7ec443d09e2bfe7db4cf";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_2.0.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_1.1.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz";
+        sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "mem___mem_4.3.0.tgz";
+      path = fetchurl {
+        name = "mem___mem_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
+        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "merge_deep___merge_deep_3.0.2.tgz";
+      path = fetchurl {
+        name = "merge_deep___merge_deep_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz";
+        sha1 = "f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "merge_stream___merge_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+      };
+    }
+    {
+      name = "merge2___merge2_1.2.4.tgz";
+      path = fetchurl {
+        name = "merge2___merge2_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz";
+        sha1 = "c9269589e6885a60cf80605d9522d4b67ca646e3";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "microevent.ts___microevent.ts_0.1.1.tgz";
+      path = fetchurl {
+        name = "microevent.ts___microevent.ts_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz";
+        sha1 = "70b09b83f43df5172d0205a63025bce0f7357fa0";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.40.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.40.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
+        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.41.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.41.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.41.0.tgz";
+        sha1 = "9110408e1f6aa1b34aef51f2c9df3caddf46b6a0";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.24.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
+        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      name = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_1.2.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha1 = "820c86a39334640e99516928bd03fca88057d022";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz";
+      path = fetchurl {
+        name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz";
+        sha1 = "ac0059b02b9692515a637115b0cc9fed3a35c7b0";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+      };
+    }
+    {
+      name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.8.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.0.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.10.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    }
+    {
+      name = "minipass___minipass_2.5.0.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.5.0.tgz";
+        sha1 = "dddb1d001976978158a05badfcbef4a771612857";
+      };
+    }
+    {
+      name = "minizlib___minizlib_1.2.1.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz";
+        sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614";
+      };
+    }
+    {
+      name = "mississippi___mississippi_3.0.0.tgz";
+      path = fetchurl {
+        name = "mississippi___mississippi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
+        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mixin_object___mixin_object_2.0.1.tgz";
+      path = fetchurl {
+        name = "mixin_object___mixin_object_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz";
+        sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.1.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    }
+    {
+      name = "mobx_react___mobx_react_5.4.4.tgz";
+      path = fetchurl {
+        name = "mobx_react___mobx_react_5.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mobx-react/-/mobx-react-5.4.4.tgz";
+        sha1 = "b3de9c6eabcd0ed8a40036888cb0221ab9568b80";
+      };
+    }
+    {
+      name = "mobx_utils___mobx_utils_5.4.1.tgz";
+      path = fetchurl {
+        name = "mobx_utils___mobx_utils_5.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/mobx-utils/-/mobx-utils-5.4.1.tgz";
+        sha1 = "18ff5f9723b27e1ff50ae0b362938a4792eb077a";
+      };
+    }
+    {
+      name = "mobx___mobx_5.13.0.tgz";
+      path = fetchurl {
+        name = "mobx___mobx_5.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/mobx/-/mobx-5.13.0.tgz";
+        sha1 = "0fd68f10aa5ff2d146a4ed9e145b53337cfbca59";
+      };
+    }
+    {
+      name = "move_concurrently___move_concurrently_1.0.1.tgz";
+      path = fetchurl {
+        name = "move_concurrently___move_concurrently_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.2.3.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    }
+    {
+      name = "nan___nan_2.14.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
+        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      path = fetchurl {
+        name = "natural_compare___natural_compare_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+    {
+      name = "needle___needle_2.4.0.tgz";
+      path = fetchurl {
+        name = "needle___needle_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
+        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.1.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
+        sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
+      };
+    }
+    {
+      name = "next_tick___next_tick_1.0.0.tgz";
+      path = fetchurl {
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "no_case___no_case_2.3.2.tgz";
+      path = fetchurl {
+        name = "no_case___no_case_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
+        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_1.7.3.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.7.5.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz";
+        sha1 = "6c152c345ce11c52f465c2abd957e8639cd674df";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_int64___node_int64_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    }
+    {
+      name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    }
+    {
+      name = "node_notifier___node_notifier_5.4.3.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha1 = "cb72daf94c93904098e28b9c590fd866e464bd50";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
+        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.29.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.29.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.29.tgz";
+        sha1 = "86a57c6587a30ecd6726449e5d293466b0a0bb86";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.1.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+      };
+    }
+    {
+      name = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      name = "normalize_scroll_left___normalize_scroll_left_0.2.0.tgz";
+      path = fetchurl {
+        name = "normalize_scroll_left___normalize_scroll_left_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-scroll-left/-/normalize-scroll-left-0.2.0.tgz";
+        sha1 = "9445d74275f303cc661e113329aefa492f58114c";
+      };
+    }
+    {
+      name = "normalize_url___normalize_url_3.3.0.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+      };
+    }
+    {
+      name = "notifyjs___notifyjs_3.0.0.tgz";
+      path = fetchurl {
+        name = "notifyjs___notifyjs_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/notifyjs/-/notifyjs-3.0.0.tgz";
+        sha1 = "7418c9d6c0533aebaa643414214af53b521d1b28";
+      };
+    }
+    {
+      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      path = fetchurl {
+        name = "npm_bundled___npm_bundled_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
+      };
+    }
+    {
+      name = "npm_packlist___npm_packlist_1.4.4.tgz";
+      path = fetchurl {
+        name = "npm_packlist___npm_packlist_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz";
+        sha1 = "866224233850ac534b63d1a6e76050092b5d2f44";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "nth_check___nth_check_1.0.2.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
+        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.1.4.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha1 = "e006a878db23636f8e8a67d33ca0e4edf61a842f";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.0.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.0.1.tgz";
+        sha1 = "99504456c3598b5cad4fc59c26e8a9bb107fe0bd";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_hash___object_hash_1.3.1.tgz";
+      path = fetchurl {
+        name = "object_hash___object_hash_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz";
+        sha1 = "fde452098a951cb145f039bb7d455449ddc126df";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.6.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b";
+      };
+    }
+    {
+      name = "object_is___object_is_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_is___object_is_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz";
+        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "object_path___object_path_0.11.4.tgz";
+      path = fetchurl {
+        name = "object_path___object_path_0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz";
+        sha1 = "370ae752fbf37de3ea70a861c23bba8915691949";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.0.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz";
+        sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519";
+      };
+    }
+    {
+      name = "object.fromentries___object.fromentries_2.0.0.tgz";
+      path = fetchurl {
+        name = "object.fromentries___object.fromentries_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz";
+        sha1 = "49a543d92151f8277b3ac9600f1e930b189d30ab";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "object.values___object.values_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz";
+        sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_2.0.1.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    }
+    {
+      name = "open___open_6.4.0.tgz";
+      path = fetchurl {
+        name = "open___open_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz";
+        sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      name = "optimist___optimist_0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist___optimist_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+    {
+      name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+      path = fetchurl {
+        name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz";
+        sha1 = "e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_locale___os_locale_3.1.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
+        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "p_defer___p_defer_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_defer___p_defer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_is_promise___p_is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_is_promise___p_is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
+      };
+    }
+    {
+      name = "p_limit___p_limit_1.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
+        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.2.1.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz";
+        sha1 = "aa07a788cc3151c939b5131f63570f0dd2009537";
+      };
+    }
+    {
+      name = "p_locate___p_locate_2.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_map___p_map_1.2.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz";
+        sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b";
+      };
+    }
+    {
+      name = "p_reduce___p_reduce_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_reduce___p_reduce_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    }
+    {
+      name = "p_try___p_try_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "pako___pako_1.0.10.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz";
+        sha1 = "4328badb5086a426aa90f541977d4955da5c9732";
+      };
+    }
+    {
+      name = "parallel_transform___parallel_transform_1.1.0.tgz";
+      path = fetchurl {
+        name = "parallel_transform___parallel_transform_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz";
+        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
+      };
+    }
+    {
+      name = "param_case___param_case_2.1.1.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      path = fetchurl {
+        name = "parent_module___parent_module_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
+        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+      };
+    }
+    {
+      name = "parse_asn1___parse_asn1_5.1.4.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz";
+        sha1 = "37f6628f823fbdeb2273b4d540434a22f3ef1fcc";
+      };
+    }
+    {
+      name = "parse_entities___parse_entities_1.2.2.tgz";
+      path = fetchurl {
+        name = "parse_entities___parse_entities_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz";
+        sha1 = "c31bf0f653b6661354f8973559cb86dd1d5edf50";
+      };
+    }
+    {
+      name = "parse_json___parse_json_2.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse5___parse5_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
+        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+      };
+    }
+    {
+      name = "parse5___parse5_5.1.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz";
+        sha1 = "c59341c9723f414c452975564c7c00a68d58acd2";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_2.1.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_is_inside___path_is_inside_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_is_inside___path_is_inside_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.6.tgz";
+      path = fetchurl {
+        name = "path_parse___path_parse_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
+        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "pbkdf2___pbkdf2_3.0.17.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha1 = "976c206530617b14ebb32114239f7b09336e93a6";
+      };
+    }
+    {
+      name = "pend___pend_1.2.0.tgz";
+      path = fetchurl {
+        name = "pend___pend_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "pify___pify_2.3.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkg_up___pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_up___pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    }
+    {
+      name = "pn___pn_1.1.0.tgz";
+      path = fetchurl {
+        name = "pn___pn_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
+        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+      };
+    }
+    {
+      name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz";
+        sha1 = "62a1cd3068f46d564bb33c56eb250e4d586676eb";
+      };
+    }
+    {
+      name = "popper.js___popper.js_1.15.0.tgz";
+      path = fetchurl {
+        name = "popper.js___popper.js_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz";
+        sha1 = "5560b99bbad7647e9faa475c6b8056621f5a4ff2";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.23.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.23.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.23.tgz";
+        sha1 = "894db4bcc5daf02b6614517ce89cd21a38226b82";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz";
+        sha1 = "b2a721a0d279c2f9103a36331c88981526428cc7";
+      };
+    }
+    {
+      name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz";
+        sha1 = "dc48d6a8ddbff188a80a000b7393436cb18aed88";
+      };
+    }
+    {
+      name = "postcss_calc___postcss_calc_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_calc___postcss_calc_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz";
+        sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436";
+      };
+    }
+    {
+      name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz";
+        sha1 = "5efd37a88fbabeb00a2966d1e53d98ced93f74e0";
+      };
+    }
+    {
+      name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz";
+        sha1 = "532a31eb909f8da898ceffe296fdc1f864be8547";
+      };
+    }
+    {
+      name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz";
+        sha1 = "a8d9ca4c39d497c9661e374b9c51899ef0f87388";
+      };
+    }
+    {
+      name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz";
+        sha1 = "816ba145ac11cc3cb6baa905a75a49f903e4d31d";
+      };
+    }
+    {
+      name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz";
+        sha1 = "c7a89be872bb74e45b1e3022bfe5748823e6de77";
+      };
+    }
+    {
+      name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+      };
+    }
+    {
+      name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+      };
+    }
+    {
+      name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+      path = fetchurl {
+        name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz";
+        sha1 = "fffd13ffeffad73621be5f387076a28b00294e0c";
+      };
+    }
+    {
+      name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz";
+        sha1 = "2d61772d6e92f22f5e0d52602df8fae46fa30d97";
+      };
+    }
+    {
+      name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz";
+        sha1 = "64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba";
+      };
+    }
+    {
+      name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz";
+        sha1 = "6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2";
+      };
+    }
+    {
+      name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+      };
+    }
+    {
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+      };
+    }
+    {
+      name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+      };
+    }
+    {
+      name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+      };
+    }
+    {
+      name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz";
+        sha1 = "fc927d52fddc896cb3a2812ebc5df147e110522e";
+      };
+    }
+    {
+      name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz";
+        sha1 = "0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7";
+      };
+    }
+    {
+      name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz";
+        sha1 = "e094a9df1783e2200b7b19f875dcad3b3aff8b20";
+      };
+    }
+    {
+      name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz";
+        sha1 = "477d107113ade6024b14128317ade2bd1e17046e";
+      };
+    }
+    {
+      name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz";
+        sha1 = "763b8788596cee9b874c999201cdde80659ef680";
+      };
+    }
+    {
+      name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz";
+        sha1 = "71dd3c6c10a0d846c5eda07803439617bbbabacc";
+      };
+    }
+    {
+      name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz";
+        sha1 = "431c192ab3ed96a3c3d09f2ff615960f902c1715";
+      };
+    }
+    {
+      name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz";
+        sha1 = "28920a2f29945bed4c3198d7df6496d410d3f288";
+      };
+    }
+    {
+      name = "postcss_initial___postcss_initial_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_initial___postcss_initial_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz";
+        sha1 = "99d319669a13d6c06ef8e70d852f68cb1b399b61";
+      };
+    }
+    {
+      name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz";
+        sha1 = "bb51a6856cd12289ab4ae20db1e3821ef13d7d2e";
+      };
+    }
+    {
+      name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
+        sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003";
+      };
+    }
+    {
+      name = "postcss_loader___postcss_loader_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_loader___postcss_loader_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+      };
+    }
+    {
+      name = "postcss_logical___postcss_logical_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_logical___postcss_logical_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz";
+        sha1 = "2495d0f8b82e9f262725f75f9401b34e7b45d5b5";
+      };
+    }
+    {
+      name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz";
+        sha1 = "b75bb6cbc217c8ac49433e12f22048814a4f5ed5";
+      };
+    }
+    {
+      name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+      };
+    }
+    {
+      name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+      };
+    }
+    {
+      name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+      };
+    }
+    {
+      name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+      };
+    }
+    {
+      name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+      };
+    }
+    {
+      name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
+        sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz";
+        sha1 = "dd9953f6dd476b5fd1ef2d8830c8929760b56e63";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz";
+        sha1 = "ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz";
+        sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64";
+      };
+    }
+    {
+      name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz";
+        sha1 = "b50ad7b7f0173e5b5e3880c3501344703e04c052";
+      };
+    }
+    {
+      name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+      };
+    }
+    {
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+      };
+    }
+    {
+      name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+      };
+    }
+    {
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+      };
+    }
+    {
+      name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+      };
+    }
+    {
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+      };
+    }
+    {
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+      };
+    }
+    {
+      name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+      };
+    }
+    {
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+      };
+    }
+    {
+      name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz";
+        sha1 = "eb51568d962b8aa61a8318383c8bb7e54332282e";
+      };
+    }
+    {
+      name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+      };
+    }
+    {
+      name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz";
+        sha1 = "31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30";
+      };
+    }
+    {
+      name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz";
+        sha1 = "add52d0e0a528cabe6afee8b46e2abb277df46bf";
+      };
+    }
+    {
+      name = "postcss_place___postcss_place_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_place___postcss_place_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz";
+        sha1 = "e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62";
+      };
+    }
+    {
+      name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+      path = fetchurl {
+        name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz";
+        sha1 = "c34ddacf8f902383b35ad1e030f178f4cdf118a5";
+      };
+    }
+    {
+      name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz";
+        sha1 = "2ed3eed393b3702879dec4a87032b210daeb04d1";
+      };
+    }
+    {
+      name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+      };
+    }
+    {
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+      };
+    }
+    {
+      name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz";
+        sha1 = "61b360ffdaedca84c7c918d2b0f0d0ea559ab01c";
+      };
+    }
+    {
+      name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+        sha1 = "8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea";
+      };
+    }
+    {
+      name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz";
+        sha1 = "71c8248f917ba2cc93037c9637ee09c64436fcff";
+      };
+    }
+    {
+      name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz";
+        sha1 = "c68ff7ba96527499e832724a2674d65603b645c0";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+        sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+      };
+    }
+    {
+      name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz";
+        sha1 = "482282c09a42706d1fc9a069b73f44ec08391dc9";
+      };
+    }
+    {
+      name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz";
+        sha1 = "da8b472d901da1e205b47bdc98637b9e9e550e5f";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.14.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz";
+        sha1 = "4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.17.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz";
+        sha1 = "4da1bdff5322d4a0acaab4d87f3e782436bad31f";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
+      name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+      path = fetchurl {
+        name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz";
+        sha1 = "f2849e27db79fb4d6cfe24764fc4134f165989f2";
+      };
+    }
+    {
+      name = "pretty_error___pretty_error_2.1.1.tgz";
+      path = fetchurl {
+        name = "pretty_error___pretty_error_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_24.9.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz";
+        sha1 = "12fac31b37019a4eea3c11aa9a959eb7628aa7c9";
+      };
+    }
+    {
+      name = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "promise___promise_8.0.3.tgz";
+      path = fetchurl {
+        name = "promise___promise_8.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz";
+        sha1 = "f592e099c6cddc000d538ee7283bb190452b0bf6";
+      };
+    }
+    {
+      name = "promise___promise_7.3.1.tgz";
+      path = fetchurl {
+        name = "promise___promise_7.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
+        sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
+      };
+    }
+    {
+      name = "prompts___prompts_2.2.1.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz";
+        sha1 = "f901dd2a2dfee080359c0e20059b24188d75ad35";
+      };
+    }
+    {
+      name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+      path = fetchurl {
+        name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz";
+        sha1 = "825d6be46094663848237e3925a98c6e944e9869";
+      };
+    }
+    {
+      name = "prop_types___prop_types_15.7.2.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
+        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.5.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34";
+      };
+    }
+    {
+      name = "proxy_from_env___proxy_from_env_1.0.0.tgz";
+      path = fetchurl {
+        name = "proxy_from_env___proxy_from_env_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz";
+        sha1 = "33c50398f70ea7eb96d21f7b817630a55791c7ee";
+      };
+    }
+    {
+      name = "prr___prr_1.0.1.tgz";
+      path = fetchurl {
+        name = "prr___prr_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    }
+    {
+      name = "psl___psl_1.3.1.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.3.1.tgz";
+        sha1 = "d5aa3873a35ec450bc7db9012ad5a7246f6fc8bd";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.3.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+      };
+    }
+    {
+      name = "pump___pump_2.0.1.tgz";
+      path = fetchurl {
+        name = "pump___pump_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
+        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "pumpify___pumpify_1.5.1.tgz";
+      path = fetchurl {
+        name = "pumpify___pumpify_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
+        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+      };
+    }
+    {
+      name = "punycode___punycode_1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "puppeteer___puppeteer_1.19.0.tgz";
+      path = fetchurl {
+        name = "puppeteer___puppeteer_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz";
+        sha1 = "e3b7b448c2c97933517078d7a2c53687361bebea";
+      };
+    }
+    {
+      name = "q___q_1.5.1.tgz";
+      path = fetchurl {
+        name = "q___q_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "querystring_es3___querystring_es3_0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring_es3___querystring_es3_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.1.1.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz";
+        sha1 = "60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e";
+      };
+    }
+    {
+      name = "raf___raf_3.4.1.tgz";
+      path = fetchurl {
+        name = "raf___raf_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
+        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+      };
+    }
+    {
+      name = "ramda___ramda_0.26.1.tgz";
+      path = fetchurl {
+        name = "ramda___ramda_0.26.1.tgz";
+        url  = "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz";
+        sha1 = "8d41351eb8111c55353617fc3bbffad8e4d35d06";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "react_app_polyfill___react_app_polyfill_1.0.2.tgz";
+      path = fetchurl {
+        name = "react_app_polyfill___react_app_polyfill_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.2.tgz";
+        sha1 = "2a51175885c88245a2a356dc46df29f38ec9f060";
+      };
+    }
+    {
+      name = "react_codemirror2___react_codemirror2_5.1.0.tgz";
+      path = fetchurl {
+        name = "react_codemirror2___react_codemirror2_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-5.1.0.tgz";
+        sha1 = "62de4460178adea40eb52eabf7491669bf3794b8";
+      };
+    }
+    {
+      name = "react_dev_utils___react_dev_utils_9.0.3.tgz";
+      path = fetchurl {
+        name = "react_dev_utils___react_dev_utils_9.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.3.tgz";
+        sha1 = "7607455587abb84599451460eb37cef0b684131a";
+      };
+    }
+    {
+      name = "react_dom___react_dom_16.9.0.tgz";
+      path = fetchurl {
+        name = "react_dom___react_dom_16.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz";
+        sha1 = "5e65527a5e26f22ae3701131bcccaee9fb0d3962";
+      };
+    }
+    {
+      name = "react_error_overlay___react_error_overlay_6.0.1.tgz";
+      path = fetchurl {
+        name = "react_error_overlay___react_error_overlay_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.1.tgz";
+        sha1 = "b8d3cf9bb991c02883225c48044cb3ee20413e0f";
+      };
+    }
+    {
+      name = "react_infinite___react_infinite_0.13.0.tgz";
+      path = fetchurl {
+        name = "react_infinite___react_infinite_0.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-infinite/-/react-infinite-0.13.0.tgz";
+        sha1 = "a08f84d800f4a4af5f732724c61200d5142697ea";
+      };
+    }
+    {
+      name = "react_is___react_is_16.9.0.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz";
+        sha1 = "21ca9561399aad0ff1a7701c01683e8ca981edcb";
+      };
+    }
+    {
+      name = "react_is___react_is_16.10.0.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.10.0.tgz";
+        sha1 = "3d6a031e57fff73c3cfa0347feb3e8f40c5141e5";
+      };
+    }
+    {
+      name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+      path = fetchurl {
+        name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
+        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+      };
+    }
+    {
+      name = "react_markdown___react_markdown_4.2.2.tgz";
+      path = fetchurl {
+        name = "react_markdown___react_markdown_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.2.2.tgz";
+        sha1 = "b378774fcffb354653db8749153fc8740f9ed2f1";
+      };
+    }
+    {
+      name = "react_reconciler___react_reconciler_0.7.0.tgz";
+      path = fetchurl {
+        name = "react_reconciler___react_reconciler_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz";
+        sha1 = "9614894103e5f138deeeb5eabaf3ee80eb1d026d";
+      };
+    }
+    {
+      name = "react_router_dom___react_router_dom_4.3.1.tgz";
+      path = fetchurl {
+        name = "react_router_dom___react_router_dom_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz";
+        sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6";
+      };
+    }
+    {
+      name = "react_router___react_router_4.3.1.tgz";
+      path = fetchurl {
+        name = "react_router___react_router_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz";
+        sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e";
+      };
+    }
+    {
+      name = "react_scripts___react_scripts_3.1.1.tgz";
+      path = fetchurl {
+        name = "react_scripts___react_scripts_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.1.tgz";
+        sha1 = "1796bc92447f3a2d3072c3b71ca99f88d099c48d";
+      };
+    }
+    {
+      name = "react_test_renderer___react_test_renderer_16.9.0.tgz";
+      path = fetchurl {
+        name = "react_test_renderer___react_test_renderer_16.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz";
+        sha1 = "7ed657a374af47af88f66f33a3ef99c9610c8ae9";
+      };
+    }
+    {
+      name = "react_timeago___react_timeago_4.4.0.tgz";
+      path = fetchurl {
+        name = "react_timeago___react_timeago_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-timeago/-/react-timeago-4.4.0.tgz";
+        sha1 = "4520dd9ba63551afc4d709819f52b14b9343ba2b";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_4.3.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz";
+        sha1 = "fea832e386cf8796c58b61874a3319704f5ce683";
+      };
+    }
+    {
+      name = "react___react_16.9.0.tgz";
+      path = fetchurl {
+        name = "react___react_16.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz";
+        sha1 = "40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.4.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha1 = "a51c26754658e0a3c21dbf59163bd45ba6f447fc";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "realpath_native___realpath_native_1.1.0.tgz";
+      path = fetchurl {
+        name = "realpath_native___realpath_native_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+      };
+    }
+    {
+      name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+      path = fetchurl {
+        name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha1 = "9946fb3274e1628de6e36b2f6714953b4845094f";
+      };
+    }
+    {
+      name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+      path = fetchurl {
+        name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
+        sha1 = "749aceec7f3fdf8b63f927a04809e90c5c0b3460";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
+        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.0.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz";
+        sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz";
+        sha1 = "7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
+        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regex_parser___regex_parser_2.2.10.tgz";
+      path = fetchurl {
+        name = "regex_parser___regex_parser_2.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz";
+        sha1 = "9e66a8f73d89a107616e63b39d4deddfee912b37";
+      };
+    }
+    {
+      name = "regexp_tree___regexp_tree_0.1.13.tgz";
+      path = fetchurl {
+        name = "regexp_tree___regexp_tree_0.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.13.tgz";
+        sha1 = "5b19ab9377edc68bc3679256840bb29afc158d7f";
+      };
+    }
+    {
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+      path = fetchurl {
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
+        sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c";
+      };
+    }
+    {
+      name = "regexpp___regexpp_2.0.1.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz";
+        sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_4.5.5.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz";
+        sha1 = "aaffe61c2af58269b3e516b61a73790376326411";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
+        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
+        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+      };
+    }
+    {
+      name = "relateurl___relateurl_0.2.7.tgz";
+      path = fetchurl {
+        name = "relateurl___relateurl_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    }
+    {
+      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 = "remove_markdown___remove_markdown_0.3.0.tgz";
+      path = fetchurl {
+        name = "remove_markdown___remove_markdown_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.3.0.tgz";
+        sha1 = "5e4b667493a93579728f3d52ecc1db9ca505dc98";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "renderkid___renderkid_2.0.3.tgz";
+      path = fetchurl {
+        name = "renderkid___renderkid_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz";
+        sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "replace_ext___replace_ext_1.0.0.tgz";
+      path = fetchurl {
+        name = "replace_ext___replace_ext_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz";
+        sha1 = "de63128373fcbf7c3ccfa4de5a480c45a67958eb";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.2.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha1 = "339f6aababcafdb31c799ff158700336301d3346";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.7.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59";
+      };
+    }
+    {
+      name = "request___request_2.88.0.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
+        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_1.0.1.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+      };
+    }
+    {
+      name = "resolve_pathname___resolve_pathname_2.2.0.tgz";
+      path = fetchurl {
+        name = "resolve_pathname___resolve_pathname_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz";
+        sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879";
+      };
+    }
+    {
+      name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+      path = fetchurl {
+        name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz";
+        sha1 = "54d8181d33cd1b66a59544d05cadf8e4aa7d37cc";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+    {
+      name = "resolve___resolve_1.12.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz";
+        sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6";
+      };
+    }
+    {
+      name = "restore_cursor___restore_cursor_2.0.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "rework_visit___rework_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "rework_visit___rework_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz";
+        sha1 = "9945b2803f219e2f7aca00adb8bc9f640f842c9a";
+      };
+    }
+    {
+      name = "rework___rework_1.0.1.tgz";
+      path = fetchurl {
+        name = "rework___rework_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz";
+        sha1 = "30806a841342b54510aa4110850cd48534144aa7";
+      };
+    }
+    {
+      name = "rgb_regex___rgb_regex_1.0.1.tgz";
+      path = fetchurl {
+        name = "rgb_regex___rgb_regex_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    }
+    {
+      name = "rgba_regex___rgba_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "rgba_regex___rgba_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.2.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.5.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
+        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+      };
+    }
+    {
+      name = "run_async___run_async_2.3.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.tgz";
+      path = fetchurl {
+        name = "run_queue___run_queue_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    }
+    {
+      name = "rx___rx_4.1.0.tgz";
+      path = fetchurl {
+        name = "rx___rx_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz";
+        sha1 = "a5f13ff79ef3b740fe30aa803fb09f98805d4782";
+      };
+    }
+    {
+      name = "rxjs___rxjs_6.5.3.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz";
+        sha1 = "510e26317f4db91a7eb1de77d9dd9ba0a4899a3a";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.2.0.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
+      };
+    }
+    {
+      name = "safe_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sass_loader___sass_loader_7.2.0.tgz";
+      path = fetchurl {
+        name = "sass_loader___sass_loader_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz";
+        sha1 = "e34115239309d15b2527cb62b5dfefb62a96ff7f";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "saxes___saxes_3.1.11.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_3.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz";
+        sha1 = "d59d1fd332ec92ad98a2e0b2ee644702384b1c5b";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.15.0.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz";
+        sha1 = "6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.2.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz";
+        sha1 = "48a065ce219e0cacf4631473159037b2c1ae82da";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.4.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz";
+        sha1 = "cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_5.5.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz";
+        sha1 = "dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_1.9.0.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.0.tgz";
+        sha1 = "5b77019d7c3b85fe91b33ae424c53dcbfb6618bd";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.11.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
+        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_0.1.2.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz";
+        sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shell_quote___shell_quote_1.6.1.tgz";
+      path = fetchurl {
+        name = "shell_quote___shell_quote_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz";
+        sha1 = "f4781949cce402697127430ea3b3c5476f481767";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.2.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+    {
+      name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+      path = fetchurl {
+        name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.3.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha1 = "98168d62b79e3a5e758e27ae63c4a053d748f4eb";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "slash___slash_2.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz";
+        sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.3.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz";
+        sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.19.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz";
+        sha1 = "d976bbe800af7bd20ae08598d582393508993c0d";
+      };
+    }
+    {
+      name = "source_list_map___source_list_map_2.0.1.tgz";
+      path = fetchurl {
+        name = "source_list_map___source_list_map_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.13.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.0.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha1 = "fb83e504445268f154b074e218c87c003cd31df4";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha1 = "3694b5804567a458d3c8045842a6358632f62654";
+      };
+    }
+    {
+      name = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.1.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz";
+        sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "stable___stable_0.1.8.tgz";
+      path = fetchurl {
+        name = "stable___stable_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
+        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+      };
+    }
+    {
+      name = "state_toggle___state_toggle_1.0.2.tgz";
+      path = fetchurl {
+        name = "state_toggle___state_toggle_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz";
+        sha1 = "75e93a61944116b4959d665c8db2d243631d6ddc";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stream_browserify___stream_browserify_2.0.2.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+      };
+    }
+    {
+      name = "stream_each___stream_each_1.2.3.tgz";
+      path = fetchurl {
+        name = "stream_each___stream_each_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
+        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
+      };
+    }
+    {
+      name = "stream_http___stream_http_2.8.3.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
+        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.0.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+    {
+      name = "string_length___string_length_2.0.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string.prototype.trimleft___string.prototype.trimleft_2.0.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimleft___string.prototype.trimleft_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz";
+        sha1 = "68b6aa8e162c6a80e76e3a8a0c2e747186e271ff";
+      };
+    }
+    {
+      name = "string.prototype.trimright___string.prototype.trimright_2.0.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimright___string.prototype.trimright_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz";
+        sha1 = "ab4a56d802a01fbe7293e11e84f24dc8164661dd";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.3.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      name = "stringify_object___stringify_object_3.3.0.tgz";
+      path = fetchurl {
+        name = "stringify_object___stringify_object_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz";
+        sha1 = "703065aefca19300d3ce88af4f5b3956d7556629";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_comments___strip_comments_1.0.2.tgz";
+      path = fetchurl {
+        name = "strip_comments___strip_comments_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz";
+        sha1 = "82b9c45e7f05873bee53f37168af930aa368679d";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha1 = "85713975a91fb87bf1b305cca77395e40d2a64a7";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+    {
+      name = "style_loader___style_loader_1.0.0.tgz";
+      path = fetchurl {
+        name = "style_loader___style_loader_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz";
+        sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82";
+      };
+    }
+    {
+      name = "stylehacks___stylehacks_4.0.3.tgz";
+      path = fetchurl {
+        name = "stylehacks___stylehacks_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "svg_parser___svg_parser_2.0.2.tgz";
+      path = fetchurl {
+        name = "svg_parser___svg_parser_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz";
+        sha1 = "d134cc396fa2681dc64f518330784e98bd801ec8";
+      };
+    }
+    {
+      name = "svgo___svgo_1.3.0.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz";
+        sha1 = "bae51ba95ded9a33a36b7c46ce9c359ae9154313";
+      };
+    }
+    {
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
+      path = fetchurl {
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+      };
+    }
+    {
+      name = "table___table_5.4.6.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz";
+        sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e";
+      };
+    }
+    {
+      name = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      name = "tar___tar_4.4.10.tgz";
+      path = fetchurl {
+        name = "tar___tar_4.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz";
+        sha1 = "946b2810b9a5e0b26140cf78bea6b0b0d689eba1";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4";
+      };
+    }
+    {
+      name = "terser___terser_4.2.1.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz";
+        sha1 = "1052cfe17576c66e7bc70fcc7119f22b155bdac1";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.2.3.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      path = fetchurl {
+        name = "text_table___text_table_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+    {
+      name = "throat___throat_4.1.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    }
+    {
+      name = "through2___through2_2.0.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
+        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "thunky___thunky_1.0.3.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz";
+        sha1 = "f5df732453407b09191dae73e2a8cc73f381a826";
+      };
+    }
+    {
+      name = "timers_browserify___timers_browserify_2.0.11.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+      };
+    }
+    {
+      name = "timsort___timsort_0.3.0.tgz";
+      path = fetchurl {
+        name = "timsort___timsort_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    }
+    {
+      name = "tiny_invariant___tiny_invariant_1.0.6.tgz";
+      path = fetchurl {
+        name = "tiny_invariant___tiny_invariant_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz";
+        sha1 = "b3f9b38835e36a41c843a3b0907a5a7b3755de73";
+      };
+    }
+    {
+      name = "tiny_warning___tiny_warning_1.0.3.tgz";
+      path = fetchurl {
+        name = "tiny_warning___tiny_warning_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz";
+        sha1 = "94a30db453df4c643d0fd566060d60a875d84754";
+      };
+    }
+    {
+      name = "tmp___tmp_0.0.33.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz";
+        sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+      };
+    }
+    {
+      name = "tr46___tr46_1.0.1.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    }
+    {
+      name = "tree_kill___tree_kill_1.2.1.tgz";
+      path = fetchurl {
+        name = "tree_kill___tree_kill_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz";
+        sha1 = "5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a";
+      };
+    }
+    {
+      name = "trim_right___trim_right_1.0.1.tgz";
+      path = fetchurl {
+        name = "trim_right___trim_right_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    }
+    {
+      name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz";
+      path = fetchurl {
+        name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz";
+        sha1 = "d2f1e153161152e9f02fabc670fb40bec2ea2e3a";
+      };
+    }
+    {
+      name = "trim___trim_0.0.1.tgz";
+      path = fetchurl {
+        name = "trim___trim_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz";
+        sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
+      };
+    }
+    {
+      name = "trough___trough_1.0.4.tgz";
+      path = fetchurl {
+        name = "trough___trough_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz";
+        sha1 = "3b52b1f13924f460c3fbfd0df69b587dbcbc762e";
+      };
+    }
+    {
+      name = "ts_pnp___ts_pnp_1.1.2.tgz";
+      path = fetchurl {
+        name = "ts_pnp___ts_pnp_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz";
+        sha1 = "be8e4bfce5d00f0f58e0666a82260c34a57af552";
+      };
+    }
+    {
+      name = "ts_pnp___ts_pnp_1.1.4.tgz";
+      path = fetchurl {
+        name = "ts_pnp___ts_pnp_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz";
+        sha1 = "ae27126960ebaefb874c6d7fa4729729ab200d90";
+      };
+    }
+    {
+      name = "tslib___tslib_1.10.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz";
+        sha1 = "c3c19f95973fb0a62973fb09d90d961ee43e5c8a";
+      };
+    }
+    {
+      name = "tslint_sonarts___tslint_sonarts_1.9.0.tgz";
+      path = fetchurl {
+        name = "tslint_sonarts___tslint_sonarts_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslint-sonarts/-/tslint-sonarts-1.9.0.tgz";
+        sha1 = "feb593e92db328c0328b430b838adbe65d504de9";
+      };
+    }
+    {
+      name = "tslint___tslint_5.20.0.tgz";
+      path = fetchurl {
+        name = "tslint___tslint_5.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz";
+        sha1 = "fac93bfa79568a5a24e7be9cdde5e02b02d00ec1";
+      };
+    }
+    {
+      name = "tsutils___tsutils_2.29.0.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_2.29.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz";
+        sha1 = "32b488501467acbedd4b85498673a0812aca0b99";
+      };
+    }
+    {
+      name = "tsutils___tsutils_3.17.1.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_3.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz";
+        sha1 = "ed719917f11ca0dee586272b2ac49e015a2dd759";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.3.1.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz";
+        sha1 = "63d00d204e059474fe5e1b7c011112bbd1dc29e1";
+      };
+    }
+    {
+      name = "type_is___type_is_1.6.18.tgz";
+      path = fetchurl {
+        name = "type_is___type_is_1.6.18.tgz";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "type___type_1.0.3.tgz";
+      path = fetchurl {
+        name = "type___type_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz";
+        sha1 = "16f5d39f27a2d28d86e48f8981859e9d3296c179";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "typeface_roboto___typeface_roboto_0.0.54.tgz";
+      path = fetchurl {
+        name = "typeface_roboto___typeface_roboto_0.0.54.tgz";
+        url  = "https://registry.yarnpkg.com/typeface-roboto/-/typeface-roboto-0.0.54.tgz";
+        sha1 = "8f02c9a18d1cfa7f49381a6ff0d21ff061f38ad2";
+      };
+    }
+    {
+      name = "typescript___typescript_3.6.2.tgz";
+      path = fetchurl {
+        name = "typescript___typescript_3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.6.2.tgz";
+        sha1 = "105b0f1934119dde543ac8eb71af3a91009efe54";
+      };
+    }
+    {
+      name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+      path = fetchurl {
+        name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz";
+        sha1 = "7527178b82f6a62a0f243d1f94fd30e3e3c21098";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.4.10.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz";
+        sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.6.0.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha1 = "704681345c53a8b2079fb6cec294b05ead242ff5";
+      };
+    }
+    {
+      name = "unherit___unherit_1.1.2.tgz";
+      path = fetchurl {
+        name = "unherit___unherit_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz";
+        sha1 = "14f1f397253ee4ec95cec167762e77df83678449";
+      };
+    }
+    {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
+        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz";
+        sha1 = "a9cc6cc7ce63a0a3023fc99e341b94431d405a57";
+      };
+    }
+    {
+      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 = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "uniqs___uniqs_2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs___uniqs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.2.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+      };
+    }
+    {
+      name = "unist_util_is___unist_util_is_3.0.0.tgz";
+      path = fetchurl {
+        name = "unist_util_is___unist_util_is_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz";
+        sha1 = "d9e84381c2468e82629e4a5be9d7d05a2dd324cd";
+      };
+    }
+    {
+      name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz";
+      path = fetchurl {
+        name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz";
+        sha1 = "d91aa8b89b30cb38bad2924da11072faa64fd972";
+      };
+    }
+    {
+      name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz";
+        sha1 = "3f37fcf351279dcbca7480ab5889bb8a832ee1c6";
+      };
+    }
+    {
+      name = "unist_util_visit_parents___unist_util_visit_parents_1.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_visit_parents___unist_util_visit_parents_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz";
+        sha1 = "f6e3afee8bdbf961c0e6f028ea3c0480028c3d06";
+      };
+    }
+    {
+      name = "unist_util_visit_parents___unist_util_visit_parents_2.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_visit_parents___unist_util_visit_parents_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz";
+        sha1 = "25e43e55312166f3348cae6743588781d112c1e9";
+      };
+    }
+    {
+      name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+      path = fetchurl {
+        name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz";
+        sha1 = "4724aaa8486e6ee6e26d7ff3c8685960d560b1e3";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unquote___unquote_1.1.1.tgz";
+      path = fetchurl {
+        name = "unquote___unquote_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      name = "upper_case___upper_case_1.1.3.tgz";
+      path = fetchurl {
+        name = "upper_case___upper_case_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.2.2.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
+        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_loader___url_loader_2.1.0.tgz";
+      path = fetchurl {
+        name = "url_loader___url_loader_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz";
+        sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.7.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
+        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.0.0.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
+      };
+    }
+    {
+      name = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utila___utila_0.4.0.tgz";
+      path = fetchurl {
+        name = "utila___utila_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.3.3.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz";
+        sha1 = "4568f0216e78760ee1dbf3a4d2cf53e224112866";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha1 = "e14de37b31a6d194f5690d67efc4e7f6fc6ab30e";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "value_equal___value_equal_0.4.0.tgz";
+      path = fetchurl {
+        name = "value_equal___value_equal_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz";
+        sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "vendors___vendors_1.0.3.tgz";
+      path = fetchurl {
+        name = "vendors___vendors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz";
+        sha1 = "a6467781abd366217c050f8202e7e50cc9eef8c0";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "vfile_location___vfile_location_2.0.5.tgz";
+      path = fetchurl {
+        name = "vfile_location___vfile_location_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz";
+        sha1 = "c83eb02f8040228a8d2b3f10e485be3e3433e0a2";
+      };
+    }
+    {
+      name = "vfile_message___vfile_message_1.1.1.tgz";
+      path = fetchurl {
+        name = "vfile_message___vfile_message_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz";
+        sha1 = "5833ae078a1dfa2d96e9647886cd32993ab313e1";
+      };
+    }
+    {
+      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 = "vm_browserify___vm_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
+        sha1 = "30485ca7d70a6fd052420a3d12fd90e6339ce794";
+      };
+    }
+    {
+      name = "wait_on___wait_on_3.3.0.tgz";
+      path = fetchurl {
+        name = "wait_on___wait_on_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz";
+        sha1 = "9940981d047a72a9544a97b8b5fca45b2170a082";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "warning___warning_4.0.3.tgz";
+      path = fetchurl {
+        name = "warning___warning_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
+        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.6.0.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
+        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+      };
+    }
+    {
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz";
+        sha1 = "1167aea02afa034489869b8368fe9fed1aea7d09";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz";
+        sha1 = "1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_manifest_plugin___webpack_manifest_plugin_2.0.4.tgz";
+      path = fetchurl {
+        name = "webpack_manifest_plugin___webpack_manifest_plugin_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz";
+        sha1 = "e4ca2999b09557716b8ba4475fb79fab5986f0cd";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack___webpack_4.39.1.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.39.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz";
+        sha1 = "60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.7.3.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      path = fetchurl {
+        name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz";
+        sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      path = fetchurl {
+        name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_7.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz";
+        sha1 = "26821b9bf16e9e37fd1d640289edddc08afd1950";
+      };
+    }
+    {
+      name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz";
+        sha1 = "e2c0280b149e3a504983b757606ad041f332c35b";
+      };
+    }
+    {
+      name = "workbox_build___workbox_build_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_build___workbox_build_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz";
+        sha1 = "414f70fb4d6de47f6538608b80ec52412d233e64";
+      };
+    }
+    {
+      name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz";
+        sha1 = "f53e079179c095a3f19e5313b284975c91428c91";
+      };
+    }
+    {
+      name = "workbox_core___workbox_core_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_core___workbox_core_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz";
+        sha1 = "005d2c6a06a171437afd6ca2904a5727ecd73be6";
+      };
+    }
+    {
+      name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz";
+        sha1 = "d790433562029e56837f341d7f553c4a78ebe921";
+      };
+    }
+    {
+      name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz";
+        sha1 = "9eda0183b103890b5c256e6f4ea15a1f1548519a";
+      };
+    }
+    {
+      name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz";
+        sha1 = "29c8e4db5843803b34cd96dc155f9ebd9afa453d";
+      };
+    }
+    {
+      name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz";
+        sha1 = "9fc45ed122d94bbe1f0ea9584ff5940960771cba";
+      };
+    }
+    {
+      name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz";
+        sha1 = "f8a470188922145cbf0c09a9a2d5e35645244e74";
+      };
+    }
+    {
+      name = "workbox_routing___workbox_routing_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_routing___workbox_routing_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz";
+        sha1 = "a675841af623e0bb0c67ce4ed8e724ac0bed0cda";
+      };
+    }
+    {
+      name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz";
+        sha1 = "d2be03c4ef214c115e1ab29c9c759c9fe3e9e646";
+      };
+    }
+    {
+      name = "workbox_streams___workbox_streams_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_streams___workbox_streams_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz";
+        sha1 = "0b57da70e982572de09c8742dd0cb40a6b7c2cc3";
+      };
+    }
+    {
+      name = "workbox_sw___workbox_sw_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_sw___workbox_sw_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz";
+        sha1 = "df69e395c479ef4d14499372bcd84c0f5e246164";
+      };
+    }
+    {
+      name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz";
+        sha1 = "47ff5ea1cc074b6c40fb5a86108863a24120d4bd";
+      };
+    }
+    {
+      name = "workbox_window___workbox_window_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_window___workbox_window_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz";
+        sha1 = "ee6051bf10f06afa5483c9b8dfa0531994ede0f3";
+      };
+    }
+    {
+      name = "worker_farm___worker_farm_1.7.0.tgz";
+      path = fetchurl {
+        name = "worker_farm___worker_farm_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+      };
+    }
+    {
+      name = "worker_rpc___worker_rpc_0.1.1.tgz";
+      path = fetchurl {
+        name = "worker_rpc___worker_rpc_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz";
+        sha1 = "cb565bd6d7071a8f16660686051e969ad32f54d5";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "ws___ws_5.2.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
+        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "x_is_string___x_is_string_0.1.0.tgz";
+      path = fetchurl {
+        name = "x_is_string___x_is_string_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz";
+        sha1 = "474b50865af3a49a9c4657f05acd145458f77d82";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      path = fetchurl {
+        name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+      };
+    }
+    {
+      name = "xmlchars___xmlchars_2.1.1.tgz";
+      path = fetchurl {
+        name = "xmlchars___xmlchars_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz";
+        sha1 = "ef1a81c05bff629c2280007f12daca21bd6f6c93";
+      };
+    }
+    {
+      name = "xregexp___xregexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "xregexp___xregexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz";
+        sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      name = "yallist___yallist_3.0.3.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz";
+        sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_10.1.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+      };
+    }
+    {
+      name = "yargs___yargs_12.0.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_12.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz";
+        sha1 = "fe58234369392af33ecbef53819171eff0f5aadc";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz";
+        sha1 = "4c657a55e07e5f2cf947f8a366567c04a0dedc83";
+      };
+    }
+    {
+      name = "yauzl___yauzl_2.4.1.tgz";
+      path = fetchurl {
+        name = "yauzl___yauzl_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz";
+        sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/servers/gotty/default.nix b/nixpkgs/pkgs/servers/gotty/default.nix
index da24b0a0e26e..a9cf6c1da477 100644
--- a/nixpkgs/pkgs/servers/gotty/default.nix
+++ b/nixpkgs/pkgs/servers/gotty/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "gotty";
-  version = "0.0.13";
+  version = "2.0.0-alpha.3";
   rev = "v${version}";
 
   goPackagePath = "github.com/yudai/gotty";
@@ -11,11 +11,9 @@ buildGoPackage rec {
     inherit rev;
     owner = "yudai";
     repo = "gotty";
-    sha256 = "1hsfjyjjzr1zc9m8bnhid1ag6ipcbx59111y9p7k8az8jiyr112g";
+    sha256 = "1vhhs7d4k1vpkf2k69ai2r3bp3zwnwa8l9q7vza0rck69g4nmz7a";
   };
 
-  goDeps = ./deps.nix;
-
   meta = with stdenv.lib; {
     description = "Share your terminal as a web application";
     homepage = https://github.com/yudai/gotty;
diff --git a/nixpkgs/pkgs/servers/gotty/deps.nix b/nixpkgs/pkgs/servers/gotty/deps.nix
deleted file mode 100644
index 4f59dc414c49..000000000000
--- a/nixpkgs/pkgs/servers/gotty/deps.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "a622679ebd7a3b813862379232f645f8e690e43f";
-      sha256 = "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-      sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
-    };
-  }
-  {
-    goPackagePath = "github.com/braintree/manners";
-    fetch = {
-      type = "git";
-      url = "https://github.com/braintree/manners";
-      rev = "cab36f97339b1925cd89e158632728025557e550";
-      sha256 = "1q508c62iiklghkhwqz9c0zsn9hrij7kqb93gdywzj7ms7x6hlfh";
-    };
-  }
-  {
-    goPackagePath = "github.com/codegangsta/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/codegangsta/cli";
-      rev = "71f57d300dd6a780ac1856c005c4b518cfd498ec";
-      sha256 = "1fxznirkvank5461789dm5aw5z8aqi0jvwligvz44659rfl376p3";
-    };
-  }
-  {
-    goPackagePath = "github.com/elazarl/go-bindata-assetfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/elazarl/go-bindata-assetfs";
-      rev = "d5cac425555ca5cf00694df246e04f05e6a55150";
-      sha256 = "636ce247ff6f85c14f38a421f46662fa77bdc29762692e1f72b3cd1f9d7a1d17";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "a9f7daa9c2729e97450c2da2feda19130a367d8f";
-      sha256 = "0pyrc7svc826g37al3db19n5l4r2m9h1mlhjh3hz2r41xfaqia50";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "54864211433d45cb780682431585b3e573b49e4a";
-      sha256 = "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "56912fb08d85084aa318edcf2bba735b97cf35c5";
-      sha256 = "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/servers/gpsd/default.nix b/nixpkgs/pkgs/servers/gpsd/default.nix
index f205b600dd95..a05b37e9d2ca 100644
--- a/nixpkgs/pkgs/servers/gpsd/default.nix
+++ b/nixpkgs/pkgs/servers/gpsd/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
   preInstall = ''
     mkdir -p "$out/lib/udev/rules.d"
   '';
-  installTargets = "install udev-install";
+  installTargets = [ "install" "udev-install" ];
 
   postFixup = ''
     wrapPythonProgramsIn $out/bin "$out $pythonPath"
diff --git a/nixpkgs/pkgs/servers/hitch/default.nix b/nixpkgs/pkgs/servers/hitch/default.nix
index 7bc2da8b0239..442796b80656 100644
--- a/nixpkgs/pkgs/servers/hitch/default.nix
+++ b/nixpkgs/pkgs/servers/hitch/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, docutils, libev, openssl, pkgconfig }:
 stdenv.mkDerivation rec {
-  version = "1.5.0";
+  version = "1.5.2";
   pname = "hitch";
 
   src = fetchurl {
     url = "https://hitch-tls.org/source/${pname}-${version}.tar.gz";
-    sha256 = "02sd2p3jsbnqmldsjwzk5qcjc45k9n1x4ygjkx0kxxwjj9lm9hhf";
+    sha256 = "1nnzqqigfw78nqhp81a72x1s8d6v49ayw4w5df0zzm2cb1jgv95i";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix b/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
index 5d4d88e1cda8..47d9e88999af 100644
--- a/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
@@ -52,7 +52,7 @@ in python.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python.pkgs; [
     daemonize astral requests sseclient websocket_client aiohttp yarl jinja2
-    aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt
+    aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools
   ];
 
   # no tests implemented
diff --git a/nixpkgs/pkgs/servers/home-assistant/cli.nix b/nixpkgs/pkgs/servers/home-assistant/cli.nix
index 7fc80ed75407..419462dcf850 100644
--- a/nixpkgs/pkgs/servers/home-assistant/cli.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/cli.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "homeassistant-cli";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "a38d4669201ac2afa71b6578a220bf4d6d59131263b278d51ebd1479677f6baf";
+    sha256 = "0qq42b2a0rlrzaxwf3zqks5gzgv0hf4pz4yjjl6ldnizw8fcj40n";
   };
 
   postPatch = ''
@@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "Command-line tool for Home Asssistant";
+    description = "Command-line tool for Home Assistant";
     homepage = https://github.com/home-assistant/home-assistant-cli;
     license = licenses.asl20;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 9ea2aa7ae8ed..ebb6192fa6aa 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.99.2";
+  version = "0.103.6";
   components = {
     "abode" = ps: with ps; [  ];
     "acer_projector" = ps: with ps; [ pyserial ];
@@ -11,6 +11,7 @@
     "ads" = ps: with ps; [  ];
     "aftership" = ps: with ps; [  ];
     "air_quality" = ps: with ps; [  ];
+    "airly" = ps: with ps; [  ];
     "airvisual" = ps: with ps; [ pyairvisual ];
     "aladdin_connect" = ps: with ps; [  ];
     "alarm_control_panel" = ps: with ps; [  ];
@@ -18,6 +19,7 @@
     "alarmdotcom" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
+    "almond" = ps: with ps; [ aiohttp-cors ];
     "alpha_vantage" = ps: with ps; [  ];
     "amazon_polly" = ps: with ps; [ boto3 ];
     "ambiclimate" = ps: with ps; [  ];
@@ -28,11 +30,12 @@
     "androidtv" = ps: with ps; [  ];
     "anel_pwrctrl" = ps: with ps; [  ];
     "anthemav" = ps: with ps; [  ];
-    "apache_kafka" = ps: with ps; [  ];
+    "apache_kafka" = ps: with ps; [ aiokafka ];
     "apcupsd" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apns" = ps: with ps; [  ];
     "apple_tv" = ps: with ps; [ pyatv ];
+    "apprise" = ps: with ps; [ apprise ];
     "aprs" = ps: with ps; [  ];
     "aqualogic" = ps: with ps; [  ];
     "aquostv" = ps: with ps; [  ];
@@ -45,6 +48,7 @@
     "asterisk_cdr" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
     "asuswrt" = ps: with ps; [  ];
+    "aten_pe" = ps: with ps; [  ];
     "atome" = ps: with ps; [  ];
     "august" = ps: with ps; [  ];
     "aurora" = ps: with ps; [  ];
@@ -58,6 +62,7 @@
     "aws" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
     "azure_event_hub" = ps: with ps; [  ];
+    "azure_service_bus" = ps: with ps; [ azure-servicebus ];
     "baidu" = ps: with ps; [  ];
     "bayesian" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
@@ -105,7 +110,7 @@
     "clicksend" = ps: with ps; [  ];
     "clicksend_tts" = ps: with ps; [  ];
     "climate" = ps: with ps; [  ];
-    "cloud" = ps: with ps; [ aiohttp-cors ];
+    "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa ];
     "cloudflare" = ps: with ps; [  ];
     "cmus" = ps: with ps; [  ];
     "co2signal" = ps: with ps; [  ];
@@ -134,7 +139,7 @@
     "deconz" = ps: with ps; [  ];
     "decora" = ps: with ps; [  ];
     "decora_wifi" = ps: with ps; [  ];
-    "default_config" = ps: with ps; [ pynacl aiohttp-cors distro netdisco sqlalchemy zeroconf ];
+    "default_config" = ps: with ps; [ pynacl aiohttp-cors defusedxml distro hass-nabucasa netdisco sqlalchemy zeroconf ];
     "delijn" = ps: with ps; [  ];
     "deluge" = ps: with ps; [ deluge-client ];
     "demo" = ps: with ps; [ aiohttp-cors ];
@@ -158,10 +163,12 @@
     "dlna_dmr" = ps: with ps; [  ];
     "dnsip" = ps: with ps; [ aiodns ];
     "dominos" = ps: with ps; [ aiohttp-cors ];
+    "doods" = ps: with ps; [ pillow ];
     "doorbird" = ps: with ps; [  ];
     "dovado" = ps: with ps; [  ];
     "downloader" = ps: with ps; [  ];
     "dsmr" = ps: with ps; [  ];
+    "dsmr_reader" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
     "dte_energy_bridge" = ps: with ps; [  ];
     "dublin_bus_transport" = ps: with ps; [  ];
     "duckdns" = ps: with ps; [  ];
@@ -213,7 +220,6 @@
     "familyhub" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
     "fastdotcom" = ps: with ps; [  ];
-    "fedex" = ps: with ps; [  ];
     "feedreader" = ps: with ps; [  ];
     "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
     "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
@@ -230,6 +236,7 @@
     "flexit" = ps: with ps; [  ];
     "flic" = ps: with ps; [  ];
     "flock" = ps: with ps; [  ];
+    "flume" = ps: with ps; [  ];
     "flunearyou" = ps: with ps; [  ];
     "flux" = ps: with ps; [  ];
     "flux_led" = ps: with ps; [  ];
@@ -264,6 +271,7 @@
     "geo_rss_events" = ps: with ps; [  ];
     "geofency" = ps: with ps; [ aiohttp-cors ];
     "geonetnz_quakes" = ps: with ps; [  ];
+    "geonetnz_volcano" = ps: with ps; [  ];
     "github" = ps: with ps; [ PyGithub ];
     "gitlab_ci" = ps: with ps; [ python-gitlab ];
     "gitter" = ps: with ps; [  ];
@@ -290,7 +298,6 @@
     "growatt_server" = ps: with ps; [  ];
     "gstreamer" = ps: with ps; [  ];
     "gtfs" = ps: with ps; [  ];
-    "gtt" = ps: with ps; [  ];
     "habitica" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
     "harman_kardon_avr" = ps: with ps; [  ];
@@ -301,9 +308,10 @@
     "hdmi_cec" = ps: with ps; [  ];
     "heatmiser" = ps: with ps; [  ];
     "heos" = ps: with ps; [  ];
+    "here_travel_time" = ps: with ps; [  ];
     "hikvision" = ps: with ps; [  ];
     "hikvisioncam" = ps: with ps; [  ];
-    "hipchat" = ps: with ps; [  ];
+    "hisense_aehw4a1" = ps: with ps; [  ];
     "history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_graph" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
@@ -323,12 +331,11 @@
     "html5" = ps: with ps; [ aiohttp-cors pywebpush ];
     "http" = ps: with ps; [ aiohttp-cors ];
     "htu21d" = ps: with ps; [  ];
-    "huawei_lte" = ps: with ps; [  ];
+    "huawei_lte" = ps: with ps; [ stringcase ];
     "huawei_router" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
     "hunterdouglas_powerview" = ps: with ps; [  ];
     "hydrawise" = ps: with ps; [  ];
-    "hydroquebec" = ps: with ps; [  ];
     "hyperion" = ps: with ps; [  ];
     "ialarm" = ps: with ps; [  ];
     "iaqualink" = ps: with ps; [  ];
@@ -350,6 +357,7 @@
     "input_text" = ps: with ps; [  ];
     "insteon" = ps: with ps; [  ];
     "integration" = ps: with ps; [  ];
+    "intent" = ps: with ps; [ aiohttp-cors ];
     "intent_script" = ps: with ps; [  ];
     "ios" = ps: with ps; [ aiohttp-cors zeroconf ];
     "iota" = ps: with ps; [  ];
@@ -362,9 +370,11 @@
     "isy994" = ps: with ps; [  ];
     "itach" = ps: with ps; [  ];
     "itunes" = ps: with ps; [  ];
+    "izone" = ps: with ps; [  ];
     "jewish_calendar" = ps: with ps; [  ];
     "joaoapps_join" = ps: with ps; [  ];
     "juicenet" = ps: with ps; [  ];
+    "kaiterra" = ps: with ps; [  ];
     "kankun" = ps: with ps; [  ];
     "keba" = ps: with ps; [  ];
     "keenetic_ndms2" = ps: with ps; [  ];
@@ -391,7 +401,6 @@
     "light" = ps: with ps; [  ];
     "lightwave" = ps: with ps; [  ];
     "limitlessled" = ps: with ps; [ limitlessled ];
-    "linksys_ap" = ps: with ps; [ beautifulsoup4 ];
     "linksys_smart" = ps: with ps; [  ];
     "linky" = ps: with ps; [  ];
     "linode" = ps: with ps; [ linode-api ];
@@ -412,7 +421,7 @@
     "london_underground" = ps: with ps; [  ];
     "loopenergy" = ps: with ps; [  ];
     "lovelace" = ps: with ps; [  ];
-    "luci" = ps: with ps; [ packaging ];
+    "luci" = ps: with ps; [  ];
     "luftdaten" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
@@ -468,6 +477,7 @@
     "mqtt_json" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
     "mqtt_room" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
     "mqtt_statestream" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "msteams" = ps: with ps; [  ];
     "mvglive" = ps: with ps; [ PyMVGLive ];
     "mychevy" = ps: with ps; [  ];
     "mycroft" = ps: with ps; [  ];
@@ -516,6 +526,7 @@
     "octoprint" = ps: with ps; [  ];
     "oem" = ps: with ps; [  ];
     "ohmconnect" = ps: with ps; [ defusedxml ];
+    "ombi" = ps: with ps; [  ];
     "onboarding" = ps: with ps; [ aiohttp-cors ];
     "onewire" = ps: with ps; [  ];
     "onkyo" = ps: with ps; [ onkyo-eiscp ];
@@ -535,6 +546,7 @@
     "openweathermap" = ps: with ps; [ pyowm ];
     "opple" = ps: with ps; [  ];
     "orangepi_gpio" = ps: with ps; [  ];
+    "oru" = ps: with ps; [  ];
     "orvibo" = ps: with ps; [  ];
     "osramlightify" = ps: with ps; [  ];
     "otp" = ps: with ps; [ pyotp ];
@@ -545,6 +557,7 @@
     "pandora" = ps: with ps; [ pexpect ];
     "panel_custom" = ps: with ps; [ aiohttp-cors ];
     "panel_iframe" = ps: with ps; [ aiohttp-cors ];
+    "pcal9535a" = ps: with ps; [  ];
     "pencom" = ps: with ps; [  ];
     "persistent_notification" = ps: with ps; [  ];
     "person" = ps: with ps; [  ];
@@ -558,7 +571,7 @@
     "pjlink" = ps: with ps; [  ];
     "plaato" = ps: with ps; [ aiohttp-cors ];
     "plant" = ps: with ps; [  ];
-    "plex" = ps: with ps; [  ];
+    "plex" = ps: with ps; [ aiohttp-cors ];
     "plugwise" = ps: with ps; [  ];
     "plum_lightpad" = ps: with ps; [  ];
     "pocketcasts" = ps: with ps; [  ];
@@ -569,6 +582,7 @@
     "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
     "prowl" = ps: with ps; [  ];
     "proximity" = ps: with ps; [  ];
+    "proxmoxve" = ps: with ps; [  ];
     "proxy" = ps: with ps; [ pillow ];
     "ps4" = ps: with ps; [  ];
     "ptvsd" = ps: with ps; [  ];
@@ -580,7 +594,7 @@
     "pushsafer" = ps: with ps; [  ];
     "pvoutput" = ps: with ps; [  ];
     "pyload" = ps: with ps; [  ];
-    "python_script" = ps: with ps; [  ];
+    "python_script" = ps: with ps; [ restrictedpython ];
     "qbittorrent" = ps: with ps; [  ];
     "qld_bushfire" = ps: with ps; [  ];
     "qnap" = ps: with ps; [  ];
@@ -628,6 +642,7 @@
     "russound_rio" = ps: with ps; [  ];
     "russound_rnet" = ps: with ps; [  ];
     "sabnzbd" = ps: with ps; [  ];
+    "saj" = ps: with ps; [  ];
     "samsungtv" = ps: with ps; [ wakeonlan ];
     "satel_integra" = ps: with ps; [  ];
     "scene" = ps: with ps; [  ];
@@ -640,10 +655,10 @@
     "sensehat" = ps: with ps; [  ];
     "sensibo" = ps: with ps; [  ];
     "sensor" = ps: with ps; [  ];
-    "serial" = ps: with ps; [  ];
+    "serial" = ps: with ps; [ pyserial-asyncio ];
     "serial_pm" = ps: with ps; [  ];
     "sesame" = ps: with ps; [  ];
-    "seven_segments" = ps: with ps; [  ];
+    "seven_segments" = ps: with ps; [ pillow ];
     "seventeentrack" = ps: with ps; [  ];
     "shell_command" = ps: with ps; [  ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
@@ -654,6 +669,7 @@
     "simplepush" = ps: with ps; [  ];
     "simplisafe" = ps: with ps; [  ];
     "simulated" = ps: with ps; [  ];
+    "sinch" = ps: with ps; [  ];
     "sisyphus" = ps: with ps; [  ];
     "sky_hub" = ps: with ps; [  ];
     "skybeacon" = ps: with ps; [  ];
@@ -675,8 +691,10 @@
     "socialblade" = ps: with ps; [  ];
     "solaredge" = ps: with ps; [ stringcase ];
     "solaredge_local" = ps: with ps; [  ];
+    "solarlog" = ps: with ps; [  ];
     "solax" = ps: with ps; [  ];
-    "somfy" = ps: with ps; [  ];
+    "soma" = ps: with ps; [  ];
+    "somfy" = ps: with ps; [ aiohttp-cors ];
     "somfy_mylink" = ps: with ps; [  ];
     "sonarr" = ps: with ps; [  ];
     "songpal" = ps: with ps; [  ];
@@ -692,8 +710,8 @@
     "spotify" = ps: with ps; [ aiohttp-cors ];
     "sql" = ps: with ps; [ sqlalchemy ];
     "squeezebox" = ps: with ps; [  ];
-    "srp_energy" = ps: with ps; [  ];
-    "ssdp" = ps: with ps; [ netdisco ];
+    "ssdp" = ps: with ps; [ defusedxml netdisco ];
+    "starline" = ps: with ps; [  ];
     "starlingbank" = ps: with ps; [  ];
     "startca" = ps: with ps; [ xmltodict ];
     "statistics" = ps: with ps; [  ];
@@ -702,7 +720,7 @@
     "stiebel_eltron" = ps: with ps; [  ];
     "stream" = ps: with ps; [ aiohttp-cors av ];
     "streamlabswater" = ps: with ps; [  ];
-    "stride" = ps: with ps; [  ];
+    "stt" = ps: with ps; [ aiohttp-cors ];
     "suez_water" = ps: with ps; [  ];
     "sun" = ps: with ps; [  ];
     "supervisord" = ps: with ps; [  ];
@@ -723,7 +741,6 @@
     "system_health" = ps: with ps; [ aiohttp-cors ];
     "system_log" = ps: with ps; [ aiohttp-cors ];
     "systemmonitor" = ps: with ps; [ psutil ];
-    "sytadin" = ps: with ps; [ beautifulsoup4 ];
     "tado" = ps: with ps; [  ];
     "tahoma" = ps: with ps; [  ];
     "tank_utility" = ps: with ps; [  ];
@@ -732,8 +749,8 @@
     "tcp" = ps: with ps; [  ];
     "ted5000" = ps: with ps; [ xmltodict ];
     "teksavvy" = ps: with ps; [  ];
-    "telegram" = ps: with ps; [ aiohttp-cors python-telegram-bot ];
-    "telegram_bot" = ps: with ps; [ aiohttp-cors python-telegram-bot ];
+    "telegram" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
+    "telegram_bot" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
     "tellduslive" = ps: with ps; [  ];
     "tellstick" = ps: with ps; [  ];
     "telnet" = ps: with ps; [  ];
@@ -786,17 +803,16 @@
     "uk_transport" = ps: with ps; [  ];
     "unifi" = ps: with ps; [ aiounifi ];
     "unifi_direct" = ps: with ps; [ pexpect ];
+    "unifiled" = ps: with ps; [  ];
     "universal" = ps: with ps; [  ];
     "upc_connect" = ps: with ps; [  ];
     "upcloud" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [  ];
-    "ups" = ps: with ps; [  ];
     "uptime" = ps: with ps; [  ];
     "uptimerobot" = ps: with ps; [  ];
     "uscis" = ps: with ps; [  ];
     "usgs_earthquakes_feed" = ps: with ps; [  ];
-    "usps" = ps: with ps; [  ];
     "utility_meter" = ps: with ps; [  ];
     "uvc" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
@@ -807,13 +823,14 @@
     "venstar" = ps: with ps; [  ];
     "vera" = ps: with ps; [  ];
     "verisure" = ps: with ps; [  ];
-    "version" = ps: with ps; [  ];
+    "versasense" = ps: with ps; [  ];
+    "version" = ps: with ps; [ pyhaversion ];
     "vesync" = ps: with ps; [  ];
     "viaggiatreno" = ps: with ps; [  ];
     "vicare" = ps: with ps; [  ];
     "vivotek" = ps: with ps; [  ];
     "vizio" = ps: with ps; [  ];
-    "vlc" = ps: with ps; [  ];
+    "vlc" = ps: with ps; [ python-vlc ];
     "vlc_telnet" = ps: with ps; [  ];
     "voicerss" = ps: with ps; [  ];
     "volkszaehler" = ps: with ps; [  ];
@@ -838,7 +855,8 @@
     "wink" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
     "withings" = ps: with ps; [ aiohttp-cors ];
-    "workday" = ps: with ps; [  ];
+    "wled" = ps: with ps; [  ];
+    "workday" = ps: with ps; [ holidays ];
     "worldclock" = ps: with ps; [  ];
     "worldtidesinfo" = ps: with ps; [  ];
     "worxlandroid" = ps: with ps; [  ];
@@ -859,6 +877,7 @@
     "yale_smart_alarm" = ps: with ps; [  ];
     "yamaha" = ps: with ps; [  ];
     "yamaha_musiccast" = ps: with ps; [  ];
+    "yandex_transport" = ps: with ps; [  ];
     "yandextts" = ps: with ps; [  ];
     "yeelight" = ps: with ps; [  ];
     "yeelightsunflower" = ps: with ps; [  ];
@@ -871,7 +890,7 @@
     "zengge" = ps: with ps; [  ];
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
     "zestimate" = ps: with ps; [ xmltodict ];
-    "zha" = ps: with ps; [  ];
+    "zha" = ps: with ps; [ zha-quirks zigpy-deconz zigpy ];
     "zhong_hong" = ps: with ps; [  ];
     "zigbee" = ps: with ps; [  ];
     "ziggo_mediabox_xl" = ps: with ps; [  ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index f8eeb97849ad..8e83d7f15da4 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -1,7 +1,7 @@
-{ lib, fetchurl, fetchFromGitHub, python3, protobuf3_6
+{ lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6
 
 # Look up dependencies of specified components in component-packages.nix
-, extraComponents ? []
+, extraComponents ? [ ]
 
 # Additional packages to add to propagatedBuildInputs
 , extraPackages ? ps: []
@@ -9,7 +9,10 @@
 # Override Python packages using
 # self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
 # Applied after defaultOverrides
-, packageOverrides ? self: super: { }
+, packageOverrides ? self: super: {
+  # TODO: Remove this override after updating to cryptography 2.8:
+
+}
 
 # Skip pip install of required packages on startup
 , skipPip ? true }:
@@ -18,46 +21,15 @@ let
 
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py
-    (mkOverride "aiohttp" "3.5.4"
-      "9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf")
-    (mkOverride "astral" "1.10.1"
-      "d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1")
-    (mkOverride "async-timeout" "3.0.1"
-      "0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f")
-    (mkOverride "attrs" "19.1.0"
-      "f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399")
-    (mkOverride "bcrypt" "3.1.7"
-      "0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42")
-    (mkOverride "pyjwt" "1.7.1"
-      "8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
-    (mkOverride "cryptography" "2.7"
-      "e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6")
-    (mkOverride "cryptography_vectors" "2.7" # required by cryptography==2.7
-      "f12dfb9bd669a68004074cb5b26df6e93ed1a95ebd1a999dff0a840212ff68bc")
-    (mkOverride "importlib-metadata" "0.18"
-      "cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db")
-    (mkOverride "python-slugify" "3.0.2"
-      "57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758")
-    (mkOverride "pyyaml" "5.1.1"
-      "b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955")
-    (mkOverride "requests" "2.22.0"
-      "11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4")
-    (mkOverride "ruamel_yaml" "0.15.97"
-      "17dbf6b7362e7aee8494f7a0f5cffd44902a6331fe89ef0853b855a7930ab845")
-    (mkOverride "voluptuous" "0.11.5"
-      "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
-    (mkOverride "voluptuous-serialize" "2.1.0"
-      "d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f")
-
-    # used by auth.mfa_modules.totp
-    (mkOverride "pyotp" "2.2.7"
-      "be0ffeabddaa5ee53e7204e7740da842d070cf69168247a3d0c08541b84de602")
 
     # used by check_config script
     # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
     (mkOverride "colorlog" "4.0.2"
       "3cf31b25cbc8f86ec01fef582ef3b840950dea414084ed19ab922c8b493f9b42")
 
+    (mkOverride "pyyaml" "5.1.2"
+      "1r5faspz73477hlbjgilw05xsms0glmsa371yqdd26znqsvg1b81")
+
     # required by aioesphomeapi
     (self: super: {
       protobuf = super.protobuf.override {
@@ -98,7 +70,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.99.2";
+  hassVersion = "0.103.6";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -113,7 +85,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "0qxdsr7zh2yqzignbhi8gcp67ba6gcp2yiyr1rww33a42r4fi0g5";
+    sha256 = "1492q4icyhvz30fw5ysrwlnsls4iy5pv62ay3vq1ygcfnlapkqhl";
   };
 
   propagatedBuildInputs = [
@@ -126,13 +98,29 @@ in with py.pkgs; buildPythonApplication rec {
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
-    asynctest pytest pytest-aiohttp requests-mock pydispatcher aiohue
+    asynctest pytest pytest-aiohttp requests-mock pydispatcher aiohue netdisco hass-nabucasa
+  ];
+
+  patches = [
+    # newer importlib-metadata version
+    (fetchpatch {
+      url = "https://github.com/home-assistant/home-assistant/commit/63c6b803dc2d835d57b97ed833ee5cd8318bf7ae.patch";
+      sha256 = "16q3qdnmgsw5415f70zvsv1z63dljp3c9glv06cyj4s6qsl13xdc";
+    })
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "aiohttp==3.6.1" "aiohttp" \
+      --replace "attrs==19.2.0" "attrs" \
+      --replace "ruamel.yaml==0.15.100" "ruamel.yaml"
+  '';
+
   checkPhase = ''
-    # The components' dependencies are not included, so they cannot be tested
-    # test_webhook_create_cloudhook imports hass_nabucasa and is thus excluded
-    py.test --ignore tests/components -k "not test_webhook_create_cloudhook"
+    # - components' dependencies are not included, so they cannot be tested
+    # - test_merge_id_schema requires pyqwikswitch
+    # - unclear why test_merge fails: assert merge_log_err.call_count != 0
+    py.test --ignore tests/components -k "not test_merge_id_schema and not test_merge"
     # Some basic components should be tested however
     py.test \
       tests/components/{api,config,configurator,demo,discovery,frontend,group,history,history_graph} \
@@ -145,6 +133,6 @@ in with py.pkgs; buildPythonApplication rec {
     homepage = https://home-assistant.io/;
     description = "Open-source home automation platform running on Python 3";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fleaz dotlambda globin ];
+    maintainers = with maintainers; [ dotlambda globin ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/home-assistant/esphome.nix b/nixpkgs/pkgs/servers/home-assistant/esphome.nix
index 775731babd69..27dabd2a2eb2 100644
--- a/nixpkgs/pkgs/servers/home-assistant/esphome.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/esphome.nix
@@ -1,4 +1,4 @@
-{ lib, python3, platformio, esptool, git, protobuf3_7 }:
+{ lib, python3, platformio, esptool, git, protobuf3_10, fetchpatch }:
 
 let
   python = python3.override {
@@ -11,18 +11,19 @@ let
         };
       });
       protobuf = super.protobuf.override {
-        protobuf = protobuf3_7;
+        protobuf = protobuf3_10;
       };
+
     };
   };
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.12.2";
+  version = "1.14.1";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "935fc3d0f05b2f5911c29f60c9b5538bed584a31455b492944007d8b1524462c";
+    sha256 = "1hw1q2fck9429077w207rk65a1krzyi6qya5pzjkpw4av5s0v0g3";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
@@ -30,8 +31,16 @@ in python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     voluptuous pyyaml paho-mqtt colorlog
     tornado protobuf tzlocal pyserial ifaddr
+    protobuf
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "protobuf==3.10.0" "protobuf~=3.10" \
+      --replace "paho-mqtt==1.4.0" "paho-mqtt~=1.4" \
+      --replace "tornado==5.1.1" "tornado~=5.1"
+  '';
+
   makeWrapperArgs = [
     # platformio is used in esphomeyaml/platformio_api.py
     # esptool is used in esphomeyaml/__main__.py
diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
index 13ea1b072652..75d02ed06351 100644
--- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
@@ -1,12 +1,14 @@
 { lib, fetchPypi, buildPythonPackage }:
 
 buildPythonPackage rec {
+  # the frontend version corresponding to a specific home-assistant version can be found here
+  # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20190514.0";
+  version = "20200108.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ba8cfa01b00ff2ee94a91cd83197b4d213e9b9df151daaef11dd0a56d34c5414";
+    sha256 = "1h6fgkx8fffzs829893gjbh0wbjgxjzz2ca64v8r5sb938bfayg8";
   };
 
   # no Python tests implemented
diff --git a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
index 647e4513de44..96cf1d86050e 100755
--- a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
+++ b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
@@ -105,7 +105,9 @@ components = parse_components(version=version)
 build_inputs = {}
 for component in sorted(components.keys()):
     attr_paths = []
-    for req in sorted(get_reqs(components, component)):
+    missing_reqs = []
+    reqs = sorted(get_reqs(components, component))
+    for req in reqs:
         # Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
         # Therefore, if there's a "#" in the line, only take the part after it
         req = req[req.find('#') + 1:]
@@ -114,8 +116,14 @@ for component in sorted(components.keys()):
         if attr_path is not None:
             # Add attribute path without "python3Packages." prefix
             attr_paths.append(attr_path[len(PKG_SET + '.'):])
+        else:
+            missing_reqs.append(name)
     else:
         build_inputs[component] = attr_paths
+    n_diff = len(reqs) > len(build_inputs[component])
+    if n_diff > 0:
+        print("Component {} is missing {} dependencies".format(component, n_diff))
+        print("missing requirements: {}".format(missing_reqs))
 
 with open(os.path.dirname(sys.argv[0]) + '/component-packages.nix', 'w') as f:
     f.write('# Generated by parse-requirements.py\n')
diff --git a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch b/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
deleted file mode 100644
index dda21c54f693..000000000000
--- a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/frontend/filter-datatypes.c b/src/frontend/filter-datatypes.c
-index 8aae1dd..49ed358 100644
---- a/src/frontend/filter-datatypes.c
-+++ b/src/frontend/filter-datatypes.c
-@@ -23,6 +23,7 @@
- #include <string.h>
- #include <math.h>
- #define __USE_MISC
-+#define __USE_XOPEN_EXTENDED
- #include <time.h>
- 
- #include "filter.h"
diff --git a/nixpkgs/pkgs/servers/http/4store/default.nix b/nixpkgs/pkgs/servers/http/4store/default.nix
deleted file mode 100644
index 6e4be4a36fea..000000000000
--- a/nixpkgs/pkgs/servers/http/4store/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv, fetchFromGitHub, librdf_raptor
-, librdf_rasqal, glib, libxml2, pcre
-, avahi, readline, ncurses, expat, autoreconfHook
-, zlib, pkgconfig, which, perl, libuuid
-, gmp, mpfr
-, db_dir ? "/var/lib/4store" }:
-
-
-stdenv.mkDerivation rec {
-  pname = "4store";
-  version = "1.1.6";
-
-  src = fetchFromGitHub {
-    owner = "4store";
-    repo = "4store";
-    rev = "v${version}";
-    sha256 = "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk";
-  };
-
-  patches = [ ./4store-1.1.6-glibc-2.26.patch ];
-
-  nativeBuildInputs = [ autoreconfHook perl pkgconfig which ];
-
-  buildInputs = [ librdf_raptor librdf_rasqal glib libxml2 pcre
-    avahi readline ncurses expat zlib libuuid gmp mpfr ];
-
-  # needed for ./autogen.sh
-  prePatch = ''
-    echo "${version}" > .version
-  '';
-
-  preConfigure =  ''
-    sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure
-    find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';'
-
-    rm src/utilities/4s-backend
-    sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/*
-    sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile*
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "SparQL query server (RDF storage)";
-    homepage = https://4store.danielknoell.de/;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-    broken = true; # since 2018-04-11
-  };
-}
diff --git a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-for-default.nix
deleted file mode 100644
index 7076b921911e..000000000000
--- a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="v1.1.5";
-   name="4store-v1.1.5";
-   hash="0nwckvf8xqwvc2h3v6s1rvmxvcx2xrjy6yapghc052180jw6zp9b";
-   url="http://4store.org/download/4store-${version}.tar.gz";
-   advertisedUrl="http://4store.org/download/4store-v1.1.5.tar.gz";
-  
-  
-}
diff --git a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix
deleted file mode 100644
index 91a9bad92def..000000000000
--- a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://4store.org/download/";
-  baseName = "4store";
-  choiceCommand = "tail -n 1";
-  versionExtractorSedScript = "s@.*-(v[0-9.]+)[.].*@\\1@";
-}
diff --git a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
index 638617141457..d5da6df8d689 100644
--- a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
@@ -44,10 +44,6 @@ stdenv.mkDerivation rec {
   # Required for ‘pthread_cancel’.
   NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
 
-  preConfigure = ''
-    configureFlags="$configureFlags --includedir=$dev/include"
-  '';
-
   configureFlags = [
     "--with-apr=${apr.dev}"
     "--with-apr-util=${aprutil.dev}"
@@ -60,6 +56,7 @@ stdenv.mkDerivation rec {
     "--enable-cern-meta"
     "--enable-imagemap"
     "--enable-cgi"
+    "--includedir=${placeholder "dev"}/include"
     (stdenv.lib.enableFeature proxySupport "proxy")
     (stdenv.lib.enableFeature sslSupport "ssl")
     (stdenv.lib.withFeatureAs libxml2Support "libxml2" "${libxml2.dev}/include/libxml2")
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix
new file mode 100644
index 000000000000..37f2a397ae6d
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, apacheHttpd, openssl, openldap }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_ca";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "1pxapjrzdsk2s25vhgvf56fkakdqcbn9hjncwmqh0asl1pa25iic";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ apacheHttpd openssl openldap ];
+
+  # Note that configureFlags and installFlags are inherited by
+  # the various submodules.
+  #
+  configureFlags = [
+    "--with-apxs=${apacheHttpd.dev}/bin/apxs"
+  ];
+
+  installFlags = [
+    "INCLUDEDIR=${placeholder ''out''}/include"
+    "LIBEXECDIR=${placeholder ''out''}/modules"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service module";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix
new file mode 100644
index 000000000000..54c0de1c7013
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_crl";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "0k6iqn5a4bqdz3yx6d53f1r75c21jnwhxmmcq071zq0361xjzzj6";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  meta = with stdenv.lib; {
+    description = "RedWax module for Certificate Revocation Lists";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix
new file mode 100644
index 000000000000..60f97d2f3615
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_csr";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "01sdvv07kchdd6ssrmd2cbhj50qh2ibp5g5h6jy1jqbzp0b3j9ja";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  # After openssl-1.0.2t, starting in  openssl-1.1.0l
+  # parts of the OpenSSL struct API was replaced by
+  # getters - but some setters where forgotten.
+  #
+  # It is expected that these are back/retrofitted in version
+  # openssl-1.1.1d -- but while fixing this it was found
+  # that there were quite a few other setters missing and
+  # that some of the memory management needed was at odds
+  # with the principles used sofar.
+  #
+  # See https://github.com/openssl/openssl/pull/10563
+  #
+  # So as a stopgap - use a minimalist compat. layer
+  # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h
+  #
+  preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h";
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service module to handle Certificate Signing Requests";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h
new file mode 100644
index 000000000000..a2a9e0f7a18d
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h
@@ -0,0 +1,66 @@
+/* Licensed to Stichting The Commons Conservancy (TCC) under one or more
+ * contributor license agreements.  See the AUTHORS file distributed with
+ * this work for additional information regarding copyright ownership.
+ * TCC licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c
+// and the private header files for that. They are needed as
+// starting with OpenSSL 1.1.0 the X509_req structure became
+// private; and got some get0 functions to access its internals.
+// But no getter's until post 1.1.1 (PR#10563). So this is a
+// stopgap for these lacking releases.
+//
+// Testest against: 
+//   openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile)
+//   openssl-1.1.0l 0x0101000cfL (needs it)
+//   openssl-1.1.1d 0x01010104fL (last version that needs it)
+//   openssl-1.1.1-dev		 (should not need it - post PR#10563).
+//
+/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L &&  OPENSSL_VERSION_NUMBER  <= 0x01010104fL */
+#if OPENSSL_VERSION_NUMBER >= 0x010100000L 
+#include "openssl/x509.h"
+
+#define HAS_OPENSSL_PR10563_WORK_AROUND
+
+struct X509_req_info_st {
+    ASN1_ENCODING enc;          
+    ASN1_INTEGER *version;     
+    X509_NAME *subject;       
+    X509_PUBKEY *pubkey;     
+    STACK_OF(X509_ATTRIBUTE) *attributes;
+};
+
+typedef _Atomic int CRYPTO_REF_COUNT;
+
+struct X509_req_st {
+    X509_REQ_INFO req_info; 
+    X509_ALGOR sig_alg;       
+    ASN1_BIT_STRING *signature; /* signature */
+    CRYPTO_REF_COUNT references;
+    CRYPTO_RWLOCK *lock;
+# ifndef OPENSSL_NO_SM2
+    ASN1_OCTET_STRING *sm2_id;
+# endif
+};
+
+
+static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg)
+{
+    if (req->sig_alg.algorithm)
+        ASN1_OBJECT_free(req->sig_alg.algorithm);
+    if (req->sig_alg.parameter)
+        ASN1_TYPE_free(req->sig_alg.parameter);
+    req->sig_alg = *palg;
+}
+#endif
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
new file mode 100644
index 000000000000..6730ca16f104
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_ocsp";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "1vwgai56krdf8knb0mgy07ni9mqxk82bcb4gibwpnxvl6qwgv2i0";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service modules of OCSP Online Certificate Validation";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
new file mode 100644
index 000000000000..2bcf3b1d9c2f
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_pkcs12";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "0by4qfjs3a8q0amzwazfq8ii6ydv36v2mjga0jzc9i6xyl4rs6ai";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service modules for PKCS#12 format files";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
index f947bf535cc9..6aed1481ddf3 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
         --replace '-$GIT' ""
   '';
 
+  installFlags = [ "LIBEXECDIR=${placeholder "out"}/modules" ];
+
   preInstall = ''
-    installFlags="LIBEXECDIR=$out/modules $installFlags"
     mkdir -p $out/modules $out/bin
   '';
 
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix
new file mode 100644
index 000000000000..98703659c359
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_scep";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "14l8v6y6kx5dg8avb5ny95qdcgrw40ss80nqrgmw615mk7zcj81f";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  # After openssl-1.0.2t, starting in  openssl-1.1.0l
+  # parts of the OpenSSL struct API was replaced by
+  # getters - but some setters where forgotten.
+  #
+  # It is expected that these are back/retrofitted in version
+  # openssl-1.1.1d -- but while fixing this it was found
+  # that there were quite a few other setters missing and
+  # that some of the memory management needed was at odds
+  # with the principles used sofar.
+  #
+  # See https://github.com/openssl/openssl/pull/10563
+  #
+  # So as a stopgap - use a minimalist compat. layer
+  # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h
+  #
+  preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h";
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service modules for SCEP (Automatic ceritifcate issue/renewal)";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h
new file mode 100644
index 000000000000..a2a9e0f7a18d
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h
@@ -0,0 +1,66 @@
+/* Licensed to Stichting The Commons Conservancy (TCC) under one or more
+ * contributor license agreements.  See the AUTHORS file distributed with
+ * this work for additional information regarding copyright ownership.
+ * TCC licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c
+// and the private header files for that. They are needed as
+// starting with OpenSSL 1.1.0 the X509_req structure became
+// private; and got some get0 functions to access its internals.
+// But no getter's until post 1.1.1 (PR#10563). So this is a
+// stopgap for these lacking releases.
+//
+// Testest against: 
+//   openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile)
+//   openssl-1.1.0l 0x0101000cfL (needs it)
+//   openssl-1.1.1d 0x01010104fL (last version that needs it)
+//   openssl-1.1.1-dev		 (should not need it - post PR#10563).
+//
+/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L &&  OPENSSL_VERSION_NUMBER  <= 0x01010104fL */
+#if OPENSSL_VERSION_NUMBER >= 0x010100000L 
+#include "openssl/x509.h"
+
+#define HAS_OPENSSL_PR10563_WORK_AROUND
+
+struct X509_req_info_st {
+    ASN1_ENCODING enc;          
+    ASN1_INTEGER *version;     
+    X509_NAME *subject;       
+    X509_PUBKEY *pubkey;     
+    STACK_OF(X509_ATTRIBUTE) *attributes;
+};
+
+typedef _Atomic int CRYPTO_REF_COUNT;
+
+struct X509_req_st {
+    X509_REQ_INFO req_info; 
+    X509_ALGOR sig_alg;       
+    ASN1_BIT_STRING *signature; /* signature */
+    CRYPTO_REF_COUNT references;
+    CRYPTO_RWLOCK *lock;
+# ifndef OPENSSL_NO_SM2
+    ASN1_OCTET_STRING *sm2_id;
+# endif
+};
+
+
+static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg)
+{
+    if (req->sig_alg.algorithm)
+        ASN1_OBJECT_free(req->sig_alg.algorithm);
+    if (req->sig_alg.parameter)
+        ASN1_TYPE_free(req->sig_alg.parameter);
+    req->sig_alg = *palg;
+}
+#endif
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix
new file mode 100644
index 000000000000..72e0d521e3ba
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_spkac";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "0x6ia9qcr7lx2awpv9cr4ndic5f4g8yqzmp2hz66zpzkmk2b2pyz";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service module for handling the Netscape keygen requests. ";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_tile/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_tile/default.nix
new file mode 100644
index 000000000000..397e0dfe0bb4
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_tile/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, apacheHttpd, apr, cairo, iniparser, mapnik }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_tile";
+  version = "unstable-2017-01-08";
+
+  src = fetchFromGitHub {
+    owner = "openstreetmap";
+    repo = "mod_tile";
+    rev = "e25bfdba1c1f2103c69529f1a30b22a14ce311f1";
+    sha256 = "12c96avka1dfb9wxqmjd57j30w9h8yx4y4w34kyq6xnf6lwnkcxp";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ apacheHttpd apr cairo iniparser mapnik ];
+
+  configureFlags = [
+    "--with-apxs=${apacheHttpd.dev}/bin/apxs"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/modules
+    make install-mod_tile DESTDIR=$out
+    mv $out${apacheHttpd}/* $out
+    rm -rf $out/nix
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/openstreetmap/mod_tile";
+    description = "Efficiently render and serve OpenStreetMap tiles using Apache and Mapnik";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jglukasik ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
new file mode 100644
index 000000000000..139da2890786
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_timestamp";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+    sha256 = "0j4b04dbdwn9aff3da9m0lnqi0qbw6c6hhi81skl15kyc3vzp67f";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mod_ca apr aprutil ];
+  inherit (mod_ca) configureFlags installFlags;
+
+  meta = with stdenv.lib; {
+    description = "RedWax CA service module for issuing signed timestamps";
+
+    homepage = "https://redwax.eu";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dirkx ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 0e17cc40efe3..c0e4cefa40a5 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mod_wsgi";
-  version = "4.6.7";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
-    sha256 = "1j8pqn0xhd502ardlmkqx8y85s1npmk9nifqps60wjh29nny03f2";
+    sha256 = "079f4py20jd6n3d7djak5l9j8p6hfq96lf577iir6qpfsk2p0k3n";
   };
 
   buildInputs = [ apacheHttpd python ncurses ];
diff --git a/nixpkgs/pkgs/servers/http/h2o/default.nix b/nixpkgs/pkgs/servers/http/h2o/default.nix
index a8de0d7e0849..d599956cfda9 100644
--- a/nixpkgs/pkgs/servers/http/h2o/default.nix
+++ b/nixpkgs/pkgs/servers/http/h2o/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , pkgconfig, cmake, ninja
-, libressl, libuv, zlib
+, openssl, libuv, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig cmake ninja ];
-  buildInputs = [ libressl libuv zlib ];
+  buildInputs = [ openssl libuv zlib ];
 
   meta = with stdenv.lib; {
     description = "Optimized HTTP/1 and HTTP/2 server";
diff --git a/nixpkgs/pkgs/servers/http/hiawatha/default.nix b/nixpkgs/pkgs/servers/http/hiawatha/default.nix
index a3bcb64e6c05..4e799774569c 100644
--- a/nixpkgs/pkgs/servers/http/hiawatha/default.nix
+++ b/nixpkgs/pkgs/servers/http/hiawatha/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     description = "An advanced and secure webserver";
     license = licenses.gpl2;
     platforms = platforms.unix;    # "Hiawatha runs perfectly on Linux, BSD and MacOS X"
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 
 }
diff --git a/nixpkgs/pkgs/servers/http/jetty/default.nix b/nixpkgs/pkgs/servers/http/jetty/default.nix
index 5ce44322e92f..8d2340647cb4 100644
--- a/nixpkgs/pkgs/servers/http/jetty/default.nix
+++ b/nixpkgs/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.16.v20190411";
+  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 = "0vkcm68cp7z45pgfg5maxcxfjwy4xj30f2d0c7cfnw9d38wf5lpq";
+    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/nixpkgs/pkgs/servers/http/lighttpd/default.nix b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
index 7dacb997d470..f67bc5b00452 100644
--- a/nixpkgs/pkgs/servers/http/lighttpd/default.nix
+++ b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPackages, fetchurl, pkgconfig, pcre, libxml2, zlib, bzip2, which, file
 , openssl, enableMagnet ? false, lua5_1 ? null
-, enableMysql ? false, mysql ? null
+, enableMysql ? false, libmysqlclient ? null
 , enableLdap ? false, openldap ? null
 , enableWebDAV ? false, sqlite ? null, libuuid ? null
 , enableExtendedAttrs ? false, attr ? null
@@ -8,7 +8,7 @@
 }:
 
 assert enableMagnet -> lua5_1 != null;
-assert enableMysql -> mysql != null;
+assert enableMysql -> libmysqlclient != null;
 assert enableLdap -> openldap != null;
 assert enableWebDAV -> sqlite != null;
 assert enableWebDAV -> libuuid != null;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pcre pcre.dev libxml2 zlib bzip2 which file openssl ]
              ++ stdenv.lib.optional enableMagnet lua5_1
-             ++ stdenv.lib.optional enableMysql mysql.connector-c
+             ++ stdenv.lib.optional enableMysql libmysqlclient
              ++ stdenv.lib.optional enableLdap openldap
              ++ stdenv.lib.optional enableWebDAV sqlite
              ++ stdenv.lib.optional enableWebDAV libuuid;
diff --git a/nixpkgs/pkgs/servers/http/nginx/generic.nix b/nixpkgs/pkgs/servers/http/nginx/generic.nix
index 3edbed22b6b6..990d7c5cf134 100644
--- a/nixpkgs/pkgs/servers/http/nginx/generic.nix
+++ b/nixpkgs/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,28 +53,30 @@ stdenv.mkDerivation {
     "--with-http_stub_status_module"
     "--with-threads"
     "--with-pcre-jit"
-    # Install destination problems
-    # "--with-http_perl_module"
-  ] ++ optional withDebug [
+  ] ++ optionals withDebug [
     "--with-debug"
-  ] ++ optional withStream [
+  ] ++ optionals withStream [
     "--with-stream"
     "--with-stream_geoip_module"
     "--with-stream_realip_module"
     "--with-stream_ssl_module"
     "--with-stream_ssl_preread_module"
-  ] ++ optional withMail [
+  ] ++ optionals 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"
     ++ map (mod: "--add-module=${mod.src}") modules;
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString ([
     "-I${libxml2.dev}/include/libxml2"
     "-Wno-error=implicit-fallthrough"
-  ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
+  ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations");
 
   configurePlatforms = [];
 
@@ -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/nixpkgs/pkgs/servers/http/nginx/modules.nix b/nixpkgs/pkgs/servers/http/nginx/modules.nix
index 5e21e8734bf1..78ad5c5582d8 100644
--- a/nixpkgs/pkgs/servers/http/nginx/modules.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/modules.nix
@@ -258,6 +258,15 @@ in
     inputs = [ pkgs.pam ];
   };
 
+  pinba = {
+    src = fetchFromGitHub {
+      owner = "tony2001";
+      repo = "ngx_http_pinba_module";
+      rev = "28131255d4797a7e2f82a6a35cf9fc03c4678fe6";
+      sha256 = "00fii8bjvyipq6q47xhjhm3ylj4rhzmlk3qwxmfpdn37j7bc8p8c";
+    };
+  };
+
   push-stream ={
     src = fetchFromGitHub {
       owner = "wandenberg";
diff --git a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
index 9dec715bf6c5..c1473ccdb1b9 100644
--- a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
+++ b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
@@ -1,14 +1,8 @@
-From f6a978f024d01202f954483423af1b2d5d5159a6 Mon Sep 17 00:00:00 2001
-From: Yegor Timoshenko <yegortimoshenko@riseup.net>
-Date: Fri, 28 Sep 2018 03:27:04 +0000
-Subject: [PATCH] If root is in Nix store, set ETag to its path hash
-
----
- src/http/ngx_http_core_module.c | 56 +++++++++++++++++++++++++++++----
- 1 file changed, 50 insertions(+), 6 deletions(-)
+This patch makes it possible to serve static content from Nix store paths, by
+using the hash of the store path for the ETag header.
 
 diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
-index c57ec00c..b7992de2 100644
+index cb49ef74..f88dc77c 100644
 --- a/src/http/ngx_http_core_module.c
 +++ b/src/http/ngx_http_core_module.c
 @@ -1583,6 +1583,7 @@ ngx_http_set_etag(ngx_http_request_t *r)
@@ -19,7 +13,7 @@ index c57ec00c..b7992de2 100644
  
      clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
  
-@@ -1598,16 +1599,61 @@ ngx_http_set_etag(ngx_http_request_t *r)
+@@ -1598,16 +1599,62 @@ ngx_http_set_etag(ngx_http_request_t *r)
      etag->hash = 1;
      ngx_str_set(&etag->key, "ETag");
  
@@ -68,6 +62,7 @@ index c57ec00c..b7992de2 100644
 +        }
 +
 +        ngx_memcpy(etag->value.data, ptr1, etag->value.len);
++        ngx_http_clear_last_modified(r);
 +    } else {
 +        etag->value.data = ngx_pnalloc(r->pool, NGX_OFF_T_LEN + NGX_TIME_T_LEN + 3);
 +
@@ -87,6 +82,3 @@ index c57ec00c..b7992de2 100644
  
      r->headers_out.etag = etag;
  
--- 
-2.19.0
-
diff --git a/nixpkgs/pkgs/servers/http/openresty/default.nix b/nixpkgs/pkgs/servers/http/openresty/default.nix
index 3990c5de8185..328db9ec9861 100644
--- a/nixpkgs/pkgs/servers/http/openresty/default.nix
+++ b/nixpkgs/pkgs/servers/http/openresty/default.nix
@@ -5,17 +5,17 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "openresty";
-  version = "1.15.8.1";
+  version = "1.15.8.2";
 
   src = fetchurl {
     url = "https://openresty.org/download/openresty-${version}.tar.gz";
-    sha256 = "0hh8aygyzxgb0cyafqin70nbi87jpnjvxbf00dljssbpl66278c9";
+    sha256 = "05jxrb8hv758nm38jil8n63q1nhrz3d249bsrwc7maa7sn24wss3";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip postgresql ];
   nativeBuildInputs = [ perl ];
 
-  NIX_CFLAGS_COMPILE = ["-I${libxml2.dev}/include/libxml2"];
+  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
   preConfigure = ''
     patchShebangs .
diff --git a/nixpkgs/pkgs/servers/http/tengine/default.nix b/nixpkgs/pkgs/servers/http/tengine/default.nix
index a7ea61de0420..1eeb5a8c4dd8 100644
--- a/nixpkgs/pkgs/servers/http/tengine/default.nix
+++ b/nixpkgs/pkgs/servers/http/tengine/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt
+{ stdenv, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt
 , gd, geoip, gperftools, jemalloc
 , withDebug ? false
 , withMail ? false
@@ -10,12 +10,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.3.1";
+  version = "2.3.2";
   pname = "tengine";
 
-  src = fetchurl {
-    url = "https://github.com/alibaba/tengine/archive/${version}.tar.gz";
-    sha256 = "075blm2d62a0bdixc3vngrxpgr7ngl1s4y8hm20pbvc07f0kzn9x";
+  src = fetchFromGitHub {
+    owner = "alibaba";
+    repo = pname;
+    rev = version;
+    sha256 = "04xfnbc0qlk8vi6bb8sl38nxnx9naxh550xsgrb4hql6jdi0wv7l";
   };
 
   buildInputs =
@@ -51,23 +53,23 @@ stdenv.mkDerivation rec {
     "--with-poll_module"
     "--with-google_perftools_module"
     "--with-jemalloc"
-  ] ++ optional withDebug [
+  ] ++ optionals withDebug [
     "--with-debug"
-  ] ++ optional withMail [
+  ] ++ optionals withMail [
     "--with-mail"
     "--with-mail_ssl_module"
-  ] ++ optional (!withMail) [
+  ] ++ optionals (!withMail) [
     "--without-mail_pop3_module"
     "--without-mail_imap_module"
     "--without-mail_smtp_module"
-  ] ++ optional withStream [
+  ] ++ optionals withStream [
     "--with-stream"
     "--with-stream_ssl_module"
     "--with-stream_realip_module"
     "--with-stream_geoip_module"
     "--with-stream_ssl_preread_module"
     "--with-stream_sni"
-  ] ++ optional (!withStream) [
+  ] ++ optionals (!withStream) [
     "--without-stream_limit_conn_module"
     "--without-stream_access_module"
     "--without-stream_geo_module"
@@ -82,9 +84,8 @@ stdenv.mkDerivation rec {
     ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
     ++ map (mod: "--add-module=${mod.src}") modules;
 
-  NIX_CFLAGS_COMPILE = [
-    "-I${libxml2.dev}/include/libxml2"
-  ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
+  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2 -Wno-error=implicit-fallthrough"
+    + optionalString stdenv.isDarwin " -Wno-error=deprecated-declarations";
 
   preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules);
 
diff --git a/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix
index 88a26a229173..d210fcefc85c 100644
--- a/nixpkgs/pkgs/servers/http/unit/default.nix
+++ b/nixpkgs/pkgs/servers/http/unit/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchFromGitHub, which
-, withPython ? true, python
-, withPHP72 ? true, php72
-, withPHP73 ? false, php73
-, withPerl ? true, perl
+, withPython2 ? false, python2
+, withPython3 ? true, python3, ncurses
+, withPHP72 ? false, php72
+, withPHP73 ? true, php73
+, withPerl528 ? false, perl528
+, withPerl530 ? true, perl530
 , withPerldevel ? false, perldevel
 , withRuby_2_4 ? false, ruby_2_4
-, withRuby ? true, ruby
+, withRuby_2_5 ? false, ruby_2_5
+, withRuby_2_6 ? true, ruby_2_6
+, withRuby_2_7 ? true, ruby_2_7
 , withSSL ? true, openssl ? null
 , withIPv6 ? true
 , withDebug ? false
@@ -14,26 +18,30 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.11.0";
+  version = "1.13.0";
   pname = "unit";
 
   src = fetchFromGitHub {
     owner = "nginx";
     repo = "unit";
     rev = version;
-    sha256 = "05qplbwki8kcj0xy9d39gf8lhwwg2cx24waxd1q5cb0fq9a5hprm";
+    sha256 = "1b5il05isq5yvnx2qpnihsrmj0jliacvhrm58i87d48anwpv1k8q";
   };
 
   nativeBuildInputs = [ which ];
 
   buildInputs = [ ]
-    ++ optional withPython python
+    ++ optional withPython2 python2
+    ++ optionals withPython3 [ python3 ncurses ]
     ++ optional withPHP72 php72
     ++ optional withPHP73 php73
-    ++ optional withPerl perl
+    ++ optional withPerl528 perl528
+    ++ optional withPerl530 perl530
     ++ optional withPerldevel perldevel
     ++ optional withRuby_2_4 ruby_2_4
-    ++ optional withRuby ruby
+    ++ optional withRuby_2_5 ruby_2_5
+    ++ optional withRuby_2_6 ruby_2_6
+    ++ optional withRuby_2_7 ruby_2_7
     ++ optional withSSL openssl;
 
   configureFlags = [
@@ -41,18 +49,22 @@ stdenv.mkDerivation rec {
     "--pid=/run/unit/unit.pid"
     "--user=unit"
     "--group=unit"
-  ] ++ optional withSSL     [ "--openssl" ]
-    ++ optional (!withIPv6) [ "--no-ipv6" ]
-    ++ optional withDebug   [ "--debug" ];
+  ] ++ optional withSSL     "--openssl"
+    ++ optional (!withIPv6) "--no-ipv6"
+    ++ optional withDebug   "--debug";
 
   postConfigure = ''
-    ${optionalString withPython     "./configure python  --module=python    --config=${python}/bin/python-config  --lib-path=${python}/lib"}
-    ${optionalString withPHP72      "./configure php     --module=php72     --config=${php72.dev}/bin/php-config  --lib-path=${php72}/lib"}
-    ${optionalString withPHP73      "./configure php     --module=php73     --config=${php73.dev}/bin/php-config  --lib-path=${php73}/lib"}
-    ${optionalString withPerl       "./configure perl    --module=perl      --perl=${perl}/bin/perl"}
-    ${optionalString withPerldevel  "./configure perl    --module=perl529   --perl=${perldevel}/bin/perl"}
-    ${optionalString withRuby_2_4   "./configure ruby    --module=ruby24    --ruby=${ruby_2_4}/bin/ruby"}
-    ${optionalString withRuby       "./configure ruby    --module=ruby      --ruby=${ruby}/bin/ruby"}
+    ${optionalString withPython2    "./configure python --module=python2  --config=${python2}/bin/python2-config  --lib-path=${python2}/lib"}
+    ${optionalString withPython3    "./configure python --module=python3  --config=${python3}/bin/python3-config  --lib-path=${python3}/lib"}
+    ${optionalString withPHP72      "./configure php    --module=php72    --config=${php72.dev}/bin/php-config    --lib-path=${php72}/lib"}
+    ${optionalString withPHP73      "./configure php    --module=php73    --config=${php73.dev}/bin/php-config    --lib-path=${php73}/lib"}
+    ${optionalString withPerl528    "./configure perl   --module=perl528  --perl=${perl528}/bin/perl"}
+    ${optionalString withPerl530    "./configure perl   --module=perl530  --perl=${perl530}/bin/perl"}
+    ${optionalString withPerldevel  "./configure perl   --module=perldev  --perl=${perldevel}/bin/perl"}
+    ${optionalString withRuby_2_4   "./configure ruby   --module=ruby24   --ruby=${ruby_2_4}/bin/ruby"}
+    ${optionalString withRuby_2_5   "./configure ruby   --module=ruby25   --ruby=${ruby_2_5}/bin/ruby"}
+    ${optionalString withRuby_2_6   "./configure ruby   --module=ruby26   --ruby=${ruby_2_6}/bin/ruby"}
+    ${optionalString withRuby_2_7   "./configure ruby   --module=ruby27   --ruby=${ruby_2_7}/bin/ruby"}
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/hylafaxplus/default.nix b/nixpkgs/pkgs/servers/hylafaxplus/default.nix
index bbd5b80184f7..828098e6de8f 100644
--- a/nixpkgs/pkgs/servers/hylafaxplus/default.nix
+++ b/nixpkgs/pkgs/servers/hylafaxplus/default.nix
@@ -30,8 +30,8 @@
 let
 
   name = "hylafaxplus-${version}";
-  version = "7.0.0";
-  sha256 = "1ryqd8mcaj536pxykja3qzwgd985ad1nn5zfqr1wksf2mzqvwscy";
+  version = "7.0.1";
+  sha256 = "0ckgmk0vffjifxgmb594fmjmmsq3q9gsasrk3g8sb2v7h6q4r2vz";
 
   configSite = substituteAll {
     name = "hylafaxplus-config.site";
diff --git a/nixpkgs/pkgs/servers/icingaweb2/default.nix b/nixpkgs/pkgs/servers/icingaweb2/default.nix
index 9cdfd8d2b338..c4aaedf4ab67 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, php }: with lib; stdenv.mkDerivation rec {
   pname = "icingaweb2";
-  version = "2.7.1";
+  version = "2.7.3";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icingaweb2";
     rev = "v${version}";
-    sha256 = "1awf0j4vlm9v7bsfk5a168446k7pa54yqc0k6phlaw772874g917";
+    sha256 = "1qdsrpk6jbq9b4v4f2lfpdqs1yh3irbsm5fx02wxnnwvad05bcfv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/irc/atheme/default.nix b/nixpkgs/pkgs/servers/irc/atheme/default.nix
new file mode 100644
index 000000000000..d7aa06102400
--- /dev/null
+++ b/nixpkgs/pkgs/servers/irc/atheme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, libmowgli, pkgconfig, git, gettext, pcre, libidn, cracklib, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "atheme";
+  version = "7.2.10-r2";
+
+  src = fetchgit {
+    url = "https://github.com/atheme/atheme.git";
+    rev = "v${version}";
+    sha256 = "1yasfvbmixj4zzfv449hlcp0ms5c250lrshdy6x6l643nbnix4y9";
+    leaveDotGit = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig git gettext ];
+  buildInputs = [ libmowgli pcre libidn cracklib openssl ];
+
+  configureFlags = [
+    "--with-pcre"
+    "--with-libidn"
+    "--with-cracklib"
+    "--enable-large-net"
+    "--enable-contrib"
+    "--enable-reproducible-builds"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A set of services for IRC networks";
+    homepage = https://atheme.github.io/;
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ leo60228 ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/irc/charybdis/default.nix b/nixpkgs/pkgs/servers/irc/charybdis/default.nix
index dc053f4581cc..ecbedcfbec8e 100644
--- a/nixpkgs/pkgs/servers/irc/charybdis/default.nix
+++ b/nixpkgs/pkgs/servers/irc/charybdis/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, autoreconfHook, bison, flex, openssl, gnutls }:
 
 stdenv.mkDerivation rec {
-  name = "charybdis-4.1.1";
+  name = "charybdis-4.1.2";
 
   src = fetchFromGitHub {
     owner = "charybdis-ircd";
     repo = "charybdis";
     rev = name;
-    sha256 = "0wvssc8b1xq6svcqrwxrpc1ga8ip0sksv73wwbk8na0pmysdvpg0";
+    sha256 = "1lndk0yp27qm8bds4jd204ynxcq92fqmpfb0kkcla5zgky3miks3";
   };
 
   postPatch = ''
@@ -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/nixpkgs/pkgs/servers/jackett/default.nix b/nixpkgs/pkgs/servers/jackett/default.nix
index 6aaae932906b..9f411c69a8d5 100644
--- a/nixpkgs/pkgs/servers/jackett/default.nix
+++ b/nixpkgs/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.11.687";
+  version = "0.12.907";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxAMDx64.tar.gz";
-    sha256 = "0wq6rc12dn5yxa6yyabv234xw5nrsbvlrpgfjppvw3i4vy2cfzh9";
+    sha256 = "0f88zjd8abkr72sjbzm51npxsjbk6xklfqd7iyaq3j0l5hxh6b8w";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/jellyfin/default.nix b/nixpkgs/pkgs/servers/jellyfin/default.nix
index a0cb4dc2eaf5..b1116dc4a95d 100644
--- a/nixpkgs/pkgs/servers/jellyfin/default.nix
+++ b/nixpkgs/pkgs/servers/jellyfin/default.nix
@@ -18,12 +18,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.3.7";
+  version = "10.4.3";
 
   # 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 = "1lpd0dvf7x0wgl8bllqzk54nnbn9fj73jcsz292g7nip1ippgibl";
+    sha256 = "11scxcwf02h6gvll0jwwac1wcpwz8d2y16yc3da0hrhy34yhysbl";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/servers/ldap/389/default.nix b/nixpkgs/pkgs/servers/ldap/389/default.nix
index e7bff373c3a8..8de4c471e22a 100644
--- a/nixpkgs/pkgs/servers/ldap/389/default.nix
+++ b/nixpkgs/pkgs/servers/ldap/389/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, doxygen, perl, pam, nspr, nss, openldap
-, db, cyrus_sasl, svrcore, icu, net_snmp, kerberos, pcre, perlPackages, libevent, openssl, python
+, db, cyrus_sasl, svrcore, icu, net-snmp, kerberos, pcre, perlPackages, libevent, openssl, python
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig doxygen ];
   buildInputs = [
     perl pam nspr nss openldap db cyrus_sasl svrcore icu
-    net_snmp kerberos pcre libevent openssl python
+    net-snmp kerberos pcre libevent openssl python
   ] ++ (with perlPackages; [ MozillaLdap NetAddrIP DBFile ]);
 
   patches = [
@@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
     "--with-db-inc=${db.dev}/include"
     "--with-db-lib=${db.out}/lib"
     "--with-sasl=${cyrus_sasl.dev}"
-    "--with-netsnmp=${net_snmp}"
+    "--with-netsnmp=yes"
+    "--with-netsnmp-inc=${stdenv.lib.getDev net-snmp}/include"
+    "--with-netsnmp-lib=${stdenv.lib.getLib net-snmp}/lib"
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/servers/lidarr/default.nix b/nixpkgs/pkgs/servers/lidarr/default.nix
index e70fc685161d..915e4233ebe0 100644
--- a/nixpkgs/pkgs/servers/lidarr/default.nix
+++ b/nixpkgs/pkgs/servers/lidarr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper }:
+{ stdenv, fetchurl, mono, libmediainfo, sqlite, curl, chromaprint, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "lidarr";
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1vk1rlsb48ckdc4421a2qs0v5gy7kc4fad24dm3k14znh7llwypr";
   };
 
-  buildInputs = [
-    makeWrapper
-  ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -22,6 +20,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper "${mono}/bin/mono" $out/bin/Lidarr \
       --add-flags "$out/bin/Lidarr.exe" \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ chromaprint ]} \
       --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
           curl sqlite libmediainfo ]}
   '';
diff --git a/nixpkgs/pkgs/servers/livepeer/default.nix b/nixpkgs/pkgs/servers/livepeer/default.nix
index 798bda8e306e..64edcb2ef4fa 100644
--- a/nixpkgs/pkgs/servers/livepeer/default.nix
+++ b/nixpkgs/pkgs/servers/livepeer/default.nix
@@ -18,11 +18,6 @@ buildGoPackage rec {
 
   buildInputs = [ pkgconfig ffmpeg ];
 
-  # XXX This removes the -O2 flag, to avoid errors like:
-  #   cgo-dwarf-inference:2:8: error: enumerator value for '__cgo_enum__0' is not an integer constant
-  # This is a workaround for nixpkgs+golang BUG https://github.com/NixOS/nixpkgs/issues/25959
-  hardeningDisable = [ "fortify" ];
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/ma1sd/0001-gradle.patch b/nixpkgs/pkgs/servers/ma1sd/0001-gradle.patch
new file mode 100644
index 000000000000..0980ec9a5df8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/ma1sd/0001-gradle.patch
@@ -0,0 +1,20 @@
+--- a/build.gradle	2019-09-01 16:17:17.815513296 +0200
++++ b/build.gradle	2019-09-01 16:21:14.688832785 +0200
+@@ -73,7 +73,7 @@
+ 
+ buildscript {
+     repositories {
+-        jcenter()
++REPLACE
+     }
+ 
+     dependencies {
+@@ -83,7 +83,7 @@
+ }
+ 
+ repositories {
+-    jcenter()
++REPLACE
+ }
+ 
+ dependencies {
diff --git a/nixpkgs/pkgs/servers/ma1sd/default.nix b/nixpkgs/pkgs/servers/ma1sd/default.nix
new file mode 100644
index 000000000000..f35bc3bb3024
--- /dev/null
+++ b/nixpkgs/pkgs/servers/ma1sd/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, jre, git, gradle_5, perl, makeWrapper }:
+
+let
+  name = "ma1sd-${version}";
+  version = "2.1.1";
+  rev = "a112a5e57cb38ad282939d2dcb9c1476e038af39";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "ma1uta";
+    repo = "ma1sd";
+    sha256 = "1qibn6m6mvxwnbiypxlgkaqg6in358vkf0q47410rv1dx1gjcnv5";
+  };
+
+
+  deps = stdenv.mkDerivation {
+    name = "${name}-deps";
+    inherit src;
+    nativeBuildInputs = [ gradle_5 perl git ];
+
+    buildPhase = ''
+      export MA1SD_BUILD_VERSION=${rev}
+      export GRADLE_USER_HOME=$(mktemp -d);
+      gradle --no-daemon build -x test
+    '';
+
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+
+    dontStrip = true;
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "1w9cxq0rlzyh7bzqr3v3vn2cjhpn7hhc5lk9qzwj7sdj4jn2qxq6";
+  };
+
+in
+stdenv.mkDerivation {
+  inherit name src version;
+  nativeBuildInputs = [ gradle_5 perl makeWrapper ];
+  buildInputs = [ jre ];
+
+  patches = [ ./0001-gradle.patch ];
+
+  buildPhase = ''
+    export MA1SD_BUILD_VERSION=${rev}
+    export GRADLE_USER_HOME=$(mktemp -d)
+
+    sed -ie "s#REPLACE#mavenLocal(); maven { url '${deps}' }#g" build.gradle
+    gradle --offline --no-daemon build -x test
+  '';
+
+  installPhase = ''
+    install -D build/libs/source.jar $out/lib/ma1sd.jar
+    makeWrapper ${jre}/bin/java $out/bin/ma1sd --add-flags "-jar $out/lib/ma1sd.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "a federated matrix identity server; fork of mxisd";
+    homepage = https://github.com/ma1uta/ma1sd;
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ mguentner ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/nixpkgs/pkgs/servers/mail/archiveopteryx/default.nix b/nixpkgs/pkgs/servers/mail/archiveopteryx/default.nix
index 5a318c311af8..55cc4c121f0f 100644
--- a/nixpkgs/pkgs/servers/mail/archiveopteryx/default.nix
+++ b/nixpkgs/pkgs/servers/mail/archiveopteryx/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation rec {
     sed -i 's:READMEDIR = $(PREFIX):READMEDIR = '$out'/share/doc/archiveopteryx:' ./Jamsettings
   '';
 
-  # fix build on gcc7
-  NIX_CFLAGS_COMPILE = [
+  # fix build on gcc7+
+  NIX_CFLAGS_COMPILE = builtins.toString [
     "-Wno-error=builtin-declaration-mismatch"
     "-Wno-error=implicit-fallthrough"
+    "-Wno-error=deprecated-copy"
   ];
 
   buildPhase = ''jam "-j$NIX_BUILD_CORES" '';
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/nixpkgs/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
deleted file mode 100644
index 422bfad92e6a..000000000000
--- a/nixpkgs/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-diff --git a/src/auth/main.c b/src/auth/main.c
-index 2dbf9e1..b1e778a 100644
---- a/src/auth/main.c
-+++ b/src/auth/main.c
-@@ -192,7 +192,7 @@ static void main_preinit(void)
- 	mod_set.debug = global_auth_settings->debug;
- 	mod_set.filter_callback = auth_module_filter;
- 
--	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	if (!worker)
-@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
- 	mod_set.debug = global_auth_settings->debug;
- 	mod_set.ignore_missing = TRUE;
- 
--	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
-+	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
- 					  &mod_set);
- 	module_dir_init(modules);
- }
-diff --git a/src/config/all-settings.c b/src/config/all-settings.c
-index 4a2ab53..5057d63 100644
---- a/src/config/all-settings.c
-+++ b/src/config/all-settings.c
-@@ -1079,7 +1079,7 @@ static const struct mail_user_settings mail_user_default_settings = {
- 	.last_valid_gid = 0,
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 
- 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
- 
-@@ -4723,7 +4723,7 @@ const struct doveadm_settings doveadm_default_settings = {
- 	.base_dir = PKG_RUNDIR,
- 	.libexec_dir = PKG_LIBEXECDIR,
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 	.auth_debug = FALSE,
- 	.auth_socket_path = "auth-userdb",
- 	.doveadm_socket_path = "doveadm-server",
-diff --git a/src/config/config-parser.c b/src/config/config-parser.c
-index 6894123..07e9fec 100644
---- a/src/config/config-parser.c
-+++ b/src/config/config-parser.c
-@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
- 
- 	i_zero(&mod_set);
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
--	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	i_array_init(&new_roots, 64);
-diff --git a/src/dict/main.c b/src/dict/main.c
-index 722ed02..4ed12ae 100644
---- a/src/dict/main.c
-+++ b/src/dict/main.c
-@@ -104,7 +104,7 @@ static void main_init(void)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.require_init_funcs = TRUE;
- 
--	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	/* Register only after loading modules. They may contain SQL drivers,
-diff --git a/src/doveadm/doveadm-settings.c b/src/doveadm/doveadm-settings.c
-index 88da40c..141ed05 100644
---- a/src/doveadm/doveadm-settings.c
-+++ b/src/doveadm/doveadm-settings.c
-@@ -86,7 +86,7 @@ const struct doveadm_settings doveadm_default_settings = {
- 	.base_dir = PKG_RUNDIR,
- 	.libexec_dir = PKG_LIBEXECDIR,
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 	.auth_debug = FALSE,
- 	.auth_socket_path = "auth-userdb",
- 	.doveadm_socket_path = "doveadm-server",
-diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
-index a939f61..846cf86 100644
---- a/src/lib-fs/fs-api.c
-+++ b/src/lib-fs/fs-api.c
-@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.ignore_missing = TRUE;
- 
--	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
-+	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
- 					     module_name, &mod_set);
- 	module_dir_init(fs_modules);
- 
-diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
-index f857ec9..0d1023b 100644
---- a/src/lib-ssl-iostream/iostream-ssl.c
-+++ b/src/lib-ssl-iostream/iostream-ssl.c
-@@ -53,7 +53,7 @@ int ssl_module_load(const char **error_r)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
- 	mod_set.require_init_funcs = TRUE;
--	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
-+	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
- 	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
- 					&mod_set, error_r) < 0)
- 		return -1;
-diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
-index b314b52..7055094 100644
---- a/src/lib-storage/mail-storage-settings.c
-+++ b/src/lib-storage/mail-storage-settings.c
-@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
- 	.last_valid_gid = 0,
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 
- 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
- 
-diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c
-index 1666ec9..8a27200 100644
---- a/src/lmtp/lmtp-settings.c
-+++ b/src/lmtp/lmtp-settings.c
-@@ -89,7 +89,7 @@ static const struct lmtp_settings lmtp_default_settings = {
- 	.login_trusted_networks = "",
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- };
- 
- static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch b/nixpkgs/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch
new file mode 100644
index 000000000000..0f987b44d8a2
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch
@@ -0,0 +1,165 @@
+diff -ru dovecot-2.3.9.2.orig/src/auth/main.c dovecot-2.3.9.2/src/auth/main.c
+--- dovecot-2.3.9.2.orig/src/auth/main.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/auth/main.c	2019-12-15 19:46:52.101597499 +0100
+@@ -191,7 +191,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+ 
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	if (!worker)
+@@ -222,7 +222,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff -ru dovecot-2.3.9.2.orig/src/config/all-settings.c dovecot-2.3.9.2/src/config/all-settings.c
+--- dovecot-2.3.9.2.orig/src/config/all-settings.c	2019-12-13 14:12:32.000000000 +0100
++++ dovecot-2.3.9.2/src/config/all-settings.c	2019-12-15 19:49:42.764650074 +0100
+@@ -1080,7 +1080,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+ 
+@@ -3849,7 +3849,7 @@
+ 	.login_log_format = "%$: %s",
+ 	.login_access_sockets = "",
+ 	.login_proxy_notify_path = "proxy-notify",
+-	.login_plugin_dir = MODULEDIR"/login",
++	.login_plugin_dir = "/etc/dovecot/modules""/login",
+ 	.login_plugins = "",
+ 	.login_proxy_max_disconnect_delay = 0,
+ 	.director_username_hash = "%u",
+@@ -4058,7 +4058,7 @@
+ 	.login_trusted_networks = "",
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ };
+ static const struct setting_parser_info *lmtp_setting_dependencies[] = {
+ 	&lda_setting_parser_info,
+@@ -4823,7 +4823,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 	.mail_temp_dir = "/tmp",
+ 	.auth_debug = FALSE,
+ 	.auth_socket_path = "auth-userdb",
+diff -ru dovecot-2.3.9.2.orig/src/config/config-parser.c dovecot-2.3.9.2/src/config/config-parser.c
+--- dovecot-2.3.9.2.orig/src/config/config-parser.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/config/config-parser.c	2019-12-15 19:46:52.102597505 +0100
+@@ -1077,7 +1077,7 @@
+ 
+ 	i_zero(&mod_set);
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	i_array_init(&new_roots, 64);
+diff -ru dovecot-2.3.9.2.orig/src/dict/main.c dovecot-2.3.9.2/src/dict/main.c
+--- dovecot-2.3.9.2.orig/src/dict/main.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/dict/main.c	2019-12-15 19:46:52.102597505 +0100
+@@ -104,7 +104,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+ 
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff -ru dovecot-2.3.9.2.orig/src/doveadm/doveadm-settings.c dovecot-2.3.9.2/src/doveadm/doveadm-settings.c
+--- dovecot-2.3.9.2.orig/src/doveadm/doveadm-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/doveadm/doveadm-settings.c	2019-12-15 19:47:29.525812499 +0100
+@@ -89,7 +89,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 	.mail_temp_dir = "/tmp",
+ 	.auth_debug = FALSE,
+ 	.auth_socket_path = "auth-userdb",
+diff -ru dovecot-2.3.9.2.orig/src/doveadm/doveadm-util.c dovecot-2.3.9.2/src/doveadm/doveadm-util.c
+--- dovecot-2.3.9.2.orig/src/doveadm/doveadm-util.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/doveadm/doveadm-util.c	2019-12-15 19:52:32.003844670 +0100
+@@ -33,7 +33,7 @@
+ 	mod_set.debug = doveadm_debug;
+ 	mod_set.ignore_dlopen_errors = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm",
+ 					  NULL, &mod_set);
+ 	module_dir_init(modules);
+ }
+@@ -58,7 +58,7 @@
+ 			return FALSE;
+ 	}
+ 
+-	dir = opendir(DOVEADM_MODULEDIR);
++	dir = opendir("/etc/dovecot/modules/doveadm");
+ 	if (dir == NULL)
+ 		return FALSE;
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lib-fs/fs-api.c dovecot-2.3.9.2/src/lib-fs/fs-api.c
+--- dovecot-2.3.9.2.orig/src/lib-fs/fs-api.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-fs/fs-api.c	2019-12-15 19:46:52.102597505 +0100
+@@ -114,7 +114,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.3.9.2/src/lib-ssl-iostream/iostream-ssl.c
+--- dovecot-2.3.9.2.orig/src/lib-ssl-iostream/iostream-ssl.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-ssl-iostream/iostream-ssl.c	2019-12-15 19:46:52.102597505 +0100
+@@ -54,7 +54,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+ 	mod_set.require_init_funcs = TRUE;
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
++	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
+ 	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
+ 					&mod_set, error_r) < 0)
+ 		return -1;
+diff -ru dovecot-2.3.9.2.orig/src/lib-storage/mail-storage-settings.c dovecot-2.3.9.2/src/lib-storage/mail-storage-settings.c
+--- dovecot-2.3.9.2.orig/src/lib-storage/mail-storage-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-storage/mail-storage-settings.c	2019-12-15 19:46:52.102597505 +0100
+@@ -337,7 +337,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lmtp/lmtp-settings.c dovecot-2.3.9.2/src/lmtp/lmtp-settings.c
+--- dovecot-2.3.9.2.orig/src/lmtp/lmtp-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lmtp/lmtp-settings.c	2019-12-15 19:46:52.102597505 +0100
+@@ -95,7 +95,7 @@
+ 	.login_trusted_networks = "",
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ };
+ 
+ static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
index e3afd1f98798..3aff9f53ce74 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
@@ -3,25 +3,25 @@
 , clucene_core_2, icu, openldap, libsodium, libstemmer, cyrus_sasl
 , nixosTests
 # Auth modules
-, withMySQL ? false, mysql
+, withMySQL ? false, libmysqlclient
 , withPgSQL ? false, postgresql
 , withSQLite ? true, sqlite
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.7.2";
+  name = "dovecot-2.3.9.2";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
     [ openssl bzip2 zlib lz4 clucene_core_2 icu openldap libsodium libstemmer cyrus_sasl.dev ]
     ++ lib.optionals (stdenv.isLinux) [ systemd pam libcap inotify-tools ]
-    ++ lib.optional withMySQL mysql.connector-c
+    ++ lib.optional withMySQL libmysqlclient
     ++ lib.optional withPgSQL postgresql
     ++ lib.optional withSQLite sqlite;
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36";
+    sha256 = "1yc6hi4hqg4hcc4495sf4m5f1lnargphi6dawj43if21vncgp127";
   };
 
   enableParallelBuilding = true;
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     # Make dovecot look for plugins in /etc/dovecot/modules
     # so we can symlink plugins from several packages there.
     # The symlinking needs to be done in NixOS.
-    ./2.2.x-module_dir.patch
+    ./2.3.x-module_dir.patch
   ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index b7d791f34166..71a5c20dea3d 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot-pigeonhole";
-  version = "0.5.7.2";
+  version = "0.5.9";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "1c0ijjmdskxydmvfk8ixxgg8ndnxx1smvycbp7jjd895a9f0r7fm";
+    sha256 = "01dxidrnmrr2gqggfsgkfxa6ynvyjyw13xw32gi86yqmwnm6inin";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/nixpkgs/pkgs/servers/mail/exim/default.nix b/nixpkgs/pkgs/servers/mail/exim/default.nix
index fcafd5817d4e..dd4d1850b596 100644
--- a/nixpkgs/pkgs/servers/mail/exim/default.nix
+++ b/nixpkgs/pkgs/servers/mail/exim/default.nix
@@ -1,23 +1,23 @@
 { coreutils, db, fetchurl, openssl, pcre, perl, pkgconfig, stdenv
 , enableLDAP ? false, openldap
-, enableMySQL ? false, mysql, zlib
+, enableMySQL ? false, libmysqlclient, zlib
 , enableAuthDovecot ? false, dovecot
 , enablePAM ? false, pam
 , enableSPF ? true, libspf2
 }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.92.2";
+  name = "exim-4.92.3";
 
   src = fetchurl {
     url = "https://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
-    sha256 = "0m56jsh2fzvwj4rdpcc3pkd5vsi40cjrpzalis7l1zq33m4axmq1";
+    sha256 = "1zfj4zblv5881qxpzkrg3f6a96pbcq270s9p6p1w85lfxjsknif4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ coreutils db openssl perl pcre ]
     ++ stdenv.lib.optional enableLDAP openldap
-    ++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ]
+    ++ stdenv.lib.optionals enableMySQL [ libmysqlclient zlib ]
     ++ stdenv.lib.optional enableAuthDovecot dovecot
     ++ stdenv.lib.optional enablePAM pam
     ++ stdenv.lib.optional enableSPF libspf2;
@@ -53,10 +53,10 @@ stdenv.mkDerivation rec {
       ''}
       ${stdenv.lib.optionalString enableMySQL ''
         s:^# \(LOOKUP_MYSQL=yes\)$:\1:
-        s:^# \(LOOKUP_MYSQL_PC=mysql.connector-c\)$:\1:
-        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient -L${mysql.connector-c}/lib/mysql -lssl -ldl -lm -lpthread -lz:
-        s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient -L${mysql.connector-c}/lib/mysql -lssl -ldl -lm -lpthread -lz:
-        s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${mysql.connector-c}/include/mysql/:
+        s:^# \(LOOKUP_MYSQL_PC=libmysqlclient\)$:\1:
+        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -ldl -lm -lpthread -lz:
+        s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -ldl -lm -lpthread -lz:
+        s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${libmysqlclient}/include/mysql/:
       ''}
       ${stdenv.lib.optionalString enableAuthDovecot ''
         s:^# \(AUTH_DOVECOT\)=.*:\1=yes:
diff --git a/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix b/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
index fdc2b3fd2c42..5a768178ee78 100644
--- a/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
+++ b/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "opensmtpd";
-  version = "6.4.2p1";
+  version = "6.6.1p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
-    sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
+    sha256 = "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb";
   };
 
   patches = [
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
   # See https://github.com/OpenSMTPD/OpenSMTPD/issues/885 for the `sh bootstrap`
   # requirement
   postPatch = ''
-    substituteInPlace smtpd/parse.y \
-      --replace "/usr/libexec/" "$out/libexec/opensmtpd/"
     substituteInPlace mk/smtpctl/Makefile.am --replace "chgrp" "true"
     substituteInPlace mk/smtpctl/Makefile.am --replace "chmod 2555" "chmod 0555"
     sh bootstrap
diff --git a/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix b/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
index 71b27facbab6..14d36ad65549 100644
--- a/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
+++ b/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, openssl, libevent, libasr,
-  python2, pkgconfig, lua5, perl, mysql, postgresql, sqlite, hiredis,
+  python2, pkgconfig, lua5, perl, libmysqlclient, postgresql, sqlite, hiredis,
   enablePython ? true,
   enableLua ? true,
   enablePerl ? true,
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl libevent
-    libasr python2 lua5 perl mysql.connector-c postgresql sqlite hiredis ];
+    libasr python2 lua5 perl libmysqlclient postgresql sqlite hiredis ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -48,39 +48,38 @@ stdenv.mkDerivation rec {
     "--with-scheduler-ram"
     "--with-scheduler-stub"
 
-  ] ++ stdenv.lib.optional enablePython [
+  ] ++ stdenv.lib.optionals enablePython [
     "--with-python=${python2}"
     "--with-filter-python"
     "--with-queue-python"
     "--with-table-python"
     "--with-scheduler-python"
 
-  ] ++ stdenv.lib.optional enableLua [
+  ] ++ stdenv.lib.optionals enableLua [
     "--with-lua=${pkgconfig}"
     "--with-filter-lua"
 
-  ] ++ stdenv.lib.optional enablePerl [
+  ] ++ stdenv.lib.optionals enablePerl [
     "--with-perl=${perl}"
     "--with-filter-perl"
 
-  ] ++ stdenv.lib.optional enableMysql [
+  ] ++ stdenv.lib.optionals enableMysql [
     "--with-table-mysql"
 
-  ] ++ stdenv.lib.optional enablePostgres [
+  ] ++ stdenv.lib.optionals enablePostgres [
     "--with-table-postgres"
 
-  ] ++ stdenv.lib.optional enableSqlite [
+  ] ++ stdenv.lib.optionals enableSqlite [
     "--with-table-sqlite"
 
-  ] ++ stdenv.lib.optional enableRedis [
+  ] ++ stdenv.lib.optionals enableRedis [
     "--with-table-redis"
   ];
 
-  NIX_CFLAGS_COMPILE =
-    stdenv.lib.optional enableRedis
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString enableRedis
       "-I${hiredis}/include/hiredis -lhiredis"
-    ++ stdenv.lib.optional enableMysql
-      "-L${mysql.connector-c}/lib/mysql";
+    + stdenv.lib.optionalString enableMysql
+      " -L${libmysqlclient}/lib/mysql";
 
   meta = with stdenv.lib; {
     homepage = https://www.opensmtpd.org/;
diff --git a/nixpkgs/pkgs/servers/mail/postfix/default.nix b/nixpkgs/pkgs/servers/mail/postfix/default.nix
index 39845f12f03c..c0e6252a5518 100644
--- a/nixpkgs/pkgs/servers/mail/postfix/default.nix
+++ b/nixpkgs/pkgs/servers/mail/postfix/default.nix
@@ -3,7 +3,7 @@
 , buildPackages
 , withLDAP ? true, openldap
 , withPgSQL ? false, postgresql
-, withMySQL ? false, mysql
+, withMySQL ? false, libmysqlclient
 , withSQLite ? false, sqlite
 }:
 
@@ -12,7 +12,7 @@ let
     "-DUSE_TLS" "-DUSE_SASL_AUTH" "-DUSE_CYRUS_SASL" "-I${cyrus_sasl.dev}/include/sasl"
     "-DHAS_DB_BYPASS_MAKEDEFS_CHECK"
    ] ++ lib.optional withPgSQL "-DHAS_PGSQL"
-     ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ]
+     ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${libmysqlclient}/include/mysql" "-L${libmysqlclient}/lib/mysql" ]
      ++ lib.optional withSQLite "-DHAS_SQLITE"
      ++ lib.optionals withLDAP ["-DHAS_LDAP" "-DUSE_LDAP_SASL"]);
    auxlibs = lib.concatStringsSep " " ([
@@ -26,17 +26,17 @@ in stdenv.mkDerivation rec {
 
   pname = "postfix";
 
-  version = "3.4.6";
+  version = "3.4.8";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "09p3vg2xlh6iq45gp6zanbp1728fc31r7zz71r131vh20ssajx6n";
+    sha256 = "0hw9kbr05qdzvfqhxi4dp4n3s9xvdh0gr0la08a4bip06ybl4pcd";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
   buildInputs = [ db openssl cyrus_sasl icu libnsl pcre ]
                 ++ lib.optional withPgSQL postgresql
-                ++ lib.optional withMySQL mysql.connector-c
+                ++ lib.optional withMySQL libmysqlclient
                 ++ lib.optional withSQLite sqlite
                 ++ lib.optional withLDAP openldap;
 
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
     make makefiles CCARGS='${ccargs}' AUXLIBS='${auxlibs}'
   '';
 
-  NIX_LDFLAGS = lib.optional withLDAP "-llber";
+  NIX_LDFLAGS = lib.optionalString withLDAP "-llber";
 
   installTargets = [ "non-interactive-package" ];
 
diff --git a/nixpkgs/pkgs/servers/mail/postfix/pfixtools.nix b/nixpkgs/pkgs/servers/mail/postfix/pfixtools.nix
index 8a92843e43ec..9fb441a92de3 100644
--- a/nixpkgs/pkgs/servers/mail/postfix/pfixtools.nix
+++ b/nixpkgs/pkgs/servers/mail/postfix/pfixtools.nix
@@ -42,12 +42,9 @@ stdenv.mkDerivation {
                       --replace /bin/bash ${bash}/bin/bash;
   '';
 
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-error=unused-result" "-Wno-error=nonnull-compare"
-    "-Wno-error=format-truncation"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=nonnull-compare -Wno-error=format-truncation";
 
-  makeFlags = "DESTDIR=$(out) prefix=";
+  makeFlags = [ "DESTDIR=$(out)" "prefix=" ];
 
   meta = {
     description = "A collection of postfix-related tools";
diff --git a/nixpkgs/pkgs/servers/mail/public-inbox/default.nix b/nixpkgs/pkgs/servers/mail/public-inbox/default.nix
index 8ceaf6b091db..b47495585004 100644
--- a/nixpkgs/pkgs/servers/mail/public-inbox/default.nix
+++ b/nixpkgs/pkgs/servers/mail/public-inbox/default.nix
@@ -20,12 +20,12 @@ let
 
 in
 
-buildPerlPackage {
+buildPerlPackage rec {
   pname = "public-inbox";
   version = "1.2.0";
 
   src = fetchurl {
-    url = "https://public-inbox.org/releases/public-inbox-1.2.0.tar.gz";
+    url = "https://public-inbox.org/releases/public-inbox-${version}.tar.gz";
     sha256 = "0sa2m4f2x7kfg3mi4im7maxqmqvawafma8f7g92nyfgybid77g6s";
   };
 
@@ -43,7 +43,6 @@ buildPerlPackage {
     SearchXapian TimeDate URI highlight
   ];
 
-  doCheck = true;
   checkInputs = [ git openssl xapian ];
   preCheck = ''
     perl certs/create-certs.perl
diff --git a/nixpkgs/pkgs/servers/mail/spamassassin/default.nix b/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
index cebe728e5ca7..6980dca94035 100644
--- a/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
+++ b/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
@@ -2,11 +2,11 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "SpamAssassin";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchurl {
     url = "mirror://apache/spamassassin/source/Mail-${pname}-${version}.tar.bz2";
-    sha256 = "1np8h293bzg33i0xn9gj9krwgr7k6xbyf1yhxr2j2xci95d080yg";
+    sha256 = "1380cmrgjsyidnznr844c5yr9snz36dw7xchdfryi2s61vjzvf55";
   };
 
   buildInputs = [ makeWrapper ] ++ (with perlPackages; [
@@ -17,9 +17,9 @@ perlPackages.buildPerlPackage rec {
 
   # Enabling 'taint' mode is desirable, but that flag disables support
   # for the PERL5LIB environment variable. Needs further investigation.
-  makeFlags = "PERL_BIN=${perlPackages.perl}/bin/perl PERL_TAINT=no";
+  makeFlags = [ "PERL_BIN=${perlPackages.perl}/bin/perl" "PERL_TAINT=no" ];
 
-  makeMakerFlags = "SYSCONFDIR=/etc LOCALSTATEDIR=/var/lib/spamassassin";
+  makeMakerFlags = [ "SYSCONFDIR=/etc LOCALSTATEDIR=/var/lib/spamassassin" ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index ab9a69afdcb8..baff593c0e3c 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, python3, openssl
-, enableSystemd ? stdenv.isLinux
+, enableSystemd ? stdenv.isLinux, nixosTests
 }:
 
 with python3.pkgs;
@@ -7,11 +7,11 @@ with python3.pkgs;
 let
   matrix-synapse-ldap3 = buildPythonPackage rec {
     pname = "matrix-synapse-ldap3";
-    version = "0.1.3";
+    version = "0.1.4";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0a0d1y9yi0abdkv6chbmxr3vk36gynnqzrjhbg26q4zg06lh9kgn";
+      sha256 = "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx";
     };
 
     propagatedBuildInputs = [ service-identity ldap3 twisted ];
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.3.1";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nz9bhy5hraa1h7100vr0innz8npnpha6xr9j2ln7h3cgwv73739";
+    sha256 = "0dkx53hxafqjs05g240zna2v3l3ndpa4y4z5x85v8dvv5zkibdxz";
   };
 
   patches = [
@@ -71,10 +71,15 @@ in buildPythonApplication rec {
     treq
     twisted
     unpaddedbase64
+    typing-extensions
   ] ++ lib.optional enableSystemd systemd;
 
   checkInputs = [ mock parameterized openssl ];
 
+  doCheck = !stdenv.isDarwin;
+
+  passthru.tests = { inherit (nixosTests) matrix-synapse; };
+
   checkPhase = ''
     PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial tests
   '';
@@ -83,6 +88,6 @@ in buildPythonApplication rec {
     homepage = https://matrix.org;
     description = "Matrix reference homeserver";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ralith roblabla ekleog pacien ];
+    maintainers = with maintainers; [ ralith roblabla ekleog pacien ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
new file mode 100644
index 000000000000..f4b89981d694
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -0,0 +1,25 @@
+{ pkgs, nodejs, stdenv, lib, ... }:
+
+let
+
+  packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
+
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+in
+nodePackages."${packageName}".override {
+  nativeBuildInputs = [ pkgs.makeWrapper ];
+
+  postInstall = ''
+    makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-slack" \
+    --add-flags "$out/lib/node_modules/matrix-appservice-slack/lib/app.js"
+  '';
+
+  meta = with lib; {
+    description = "A Matrix <--> Slack bridge";
+    maintainers = with maintainers; [ kampka ];
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
new file mode 100644
index 000000000000..bf93cae5bc2e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
@@ -0,0 +1,11 @@
+
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix \
+  --nodejs-10 \
+  --node-env ../../../development/node-packages/node-env.nix \
+  --development \
+  --input package.json \
+  --output node-packages.nix \
+  --composition node-composition.nix
diff --git a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
index 66560873b4c5..8fe405e1b3e9 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs.nodejs-10_x}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
@@ -11,7 +11,7 @@ let
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
-import ./node-packages-generated.nix {
+import ./node-packages.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
new file mode 100644
index 000000000000..d46e3d75f028
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
@@ -0,0 +1,3678 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.5.5" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
+      };
+    };
+    "@babel/highlight-7.5.0" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
+      };
+    };
+    "@slack/logger-1.1.1" = {
+      name = "_at_slack_slash_logger";
+      packageName = "@slack/logger";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.1.tgz";
+        sha512 = "PAC5CMnNAv/FPtJ0le+YD2wUV+tZ7n3Bnjj9dBI+deIcHsExCnQkQmZE79cLvfuYXbz3PWyv5coti30MJQhEjA==";
+      };
+    };
+    "@slack/rtm-api-5.0.3" = {
+      name = "_at_slack_slash_rtm-api";
+      packageName = "@slack/rtm-api";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@slack/rtm-api/-/rtm-api-5.0.3.tgz";
+        sha512 = "rzNIFst8iuVYyHdE7e3KSrbAtIA7sfS4Pth9ObKUm5KDemX0zyI7YfAijO1kgr1EMriQkjlpKBhlNq9Y+aQr6g==";
+      };
+    };
+    "@slack/types-1.3.0" = {
+      name = "_at_slack_slash_types";
+      packageName = "@slack/types";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@slack/types/-/types-1.3.0.tgz";
+        sha512 = "3AjHsDJjJKT3q0hQzFHQN7piYIh99LuN7Po56W/R6P/uscqZqwS5xm1U1cTYGIzk8fmsuW7TvWVg0W85hKY/MQ==";
+      };
+    };
+    "@slack/web-api-5.6.0" = {
+      name = "_at_slack_slash_web-api";
+      packageName = "@slack/web-api";
+      version = "5.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.6.0.tgz";
+        sha512 = "/HxTI9/4fMk3su1UAa7oN0n8fGSZLHXGUne3WJ+vjxGek2rvvzazqL6yTRWWWcpttPtsNyjk4KI9FkPq+6yLNg==";
+      };
+    };
+    "@types/body-parser-1.17.1" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz";
+        sha512 = "RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==";
+      };
+    };
+    "@types/caseless-0.12.2" = {
+      name = "_at_types_slash_caseless";
+      packageName = "@types/caseless";
+      version = "0.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz";
+        sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
+      };
+    };
+    "@types/chai-4.2.6" = {
+      name = "_at_types_slash_chai";
+      packageName = "@types/chai";
+      version = "4.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.6.tgz";
+        sha512 = "HF8faEUA4JurIm+68VaA2KedtZf5LYdXpQEAbIAN79DwWQbO82BNTksZgCH3UMqbZHXex9C6TrBfg7OUInRISQ==";
+      };
+    };
+    "@types/connect-3.4.32" = {
+      name = "_at_types_slash_connect";
+      packageName = "@types/connect";
+      version = "3.4.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
+        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+      };
+    };
+    "@types/events-3.0.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
+      };
+    };
+    "@types/express-4.17.2" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz";
+        sha512 = "5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==";
+      };
+    };
+    "@types/express-serve-static-core-4.17.0" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.0.tgz";
+        sha512 = "Xnub7w57uvcBqFdIGoRg1KhNOeEj0vB6ykUM7uFWyxvbdE89GFyqgmUcanAriMr4YOxNFZBAWkfcWIb4WBPt3g==";
+      };
+    };
+    "@types/is-stream-1.1.0" = {
+      name = "_at_types_slash_is-stream";
+      packageName = "@types/is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/is-stream/-/is-stream-1.1.0.tgz";
+        sha512 = "jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==";
+      };
+    };
+    "@types/mime-2.0.1" = {
+      name = "_at_types_slash_mime";
+      packageName = "@types/mime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz";
+        sha512 = "FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==";
+      };
+    };
+    "@types/mocha-5.2.7" = {
+      name = "_at_types_slash_mocha";
+      packageName = "@types/mocha";
+      version = "5.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz";
+        sha512 = "NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==";
+      };
+    };
+    "@types/nedb-1.8.9" = {
+      name = "_at_types_slash_nedb";
+      packageName = "@types/nedb";
+      version = "1.8.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.9.tgz";
+        sha512 = "w9Tl3DQCkdT0Ghes+PKhe+3/pZppBXuFFpSCjPJbb2KE3DjYmUpEyCYzjrAYlT9Y1TndnbbnChzkax2h/JorVQ==";
+      };
+    };
+    "@types/node-12.12.14" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.12.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz";
+        sha512 = "u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==";
+      };
+    };
+    "@types/node-emoji-1.8.1" = {
+      name = "_at_types_slash_node-emoji";
+      packageName = "@types/node-emoji";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node-emoji/-/node-emoji-1.8.1.tgz";
+        sha512 = "0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA==";
+      };
+    };
+    "@types/p-queue-2.3.2" = {
+      name = "_at_types_slash_p-queue";
+      packageName = "@types/p-queue";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/p-queue/-/p-queue-2.3.2.tgz";
+        sha512 = "eKAv5Ql6k78dh3ULCsSBxX6bFNuGjTmof5Q/T6PiECDq0Yf8IIn46jCyp3RJvCi8owaEmm3DZH1PEImjBMd/vQ==";
+      };
+    };
+    "@types/randomstring-1.1.6" = {
+      name = "_at_types_slash_randomstring";
+      packageName = "@types/randomstring";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.6.tgz";
+        sha512 = "XRIZIMTxjcUukqQcYBdpFWGbcRDyNBXrvTEtTYgFMIbBNUVt+9mCKsU+jUUDLeFO/RXopUgR5OLiBqbY18vSHQ==";
+      };
+    };
+    "@types/range-parser-1.2.3" = {
+      name = "_at_types_slash_range-parser";
+      packageName = "@types/range-parser";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
+        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+      };
+    };
+    "@types/request-2.48.3" = {
+      name = "_at_types_slash_request";
+      packageName = "@types/request";
+      version = "2.48.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz";
+        sha512 = "3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==";
+      };
+    };
+    "@types/request-promise-native-1.0.17" = {
+      name = "_at_types_slash_request-promise-native";
+      packageName = "@types/request-promise-native";
+      version = "1.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.17.tgz";
+        sha512 = "05/d0WbmuwjtGMYEdHIBZ0tqMJJQ2AD9LG2F6rKNBGX1SSFR27XveajH//2N/XYtual8T9Axwl+4v7oBtPUZqg==";
+      };
+    };
+    "@types/retry-0.12.0" = {
+      name = "_at_types_slash_retry";
+      packageName = "@types/retry";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz";
+        sha512 = "wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==";
+      };
+    };
+    "@types/serve-static-1.13.3" = {
+      name = "_at_types_slash_serve-static";
+      packageName = "@types/serve-static";
+      version = "1.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz";
+        sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
+      };
+    };
+    "@types/tough-cookie-2.3.6" = {
+      name = "_at_types_slash_tough-cookie";
+      packageName = "@types/tough-cookie";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz";
+        sha512 = "wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==";
+      };
+    };
+    "@types/uuid-3.4.6" = {
+      name = "_at_types_slash_uuid";
+      packageName = "@types/uuid";
+      version = "3.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.6.tgz";
+        sha512 = "cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==";
+      };
+    };
+    "@types/ws-5.1.2" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-5.1.2.tgz";
+        sha512 = "NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg==";
+      };
+    };
+    "@types/yargs-13.0.3" = {
+      name = "_at_types_slash_yargs";
+      packageName = "@types/yargs";
+      version = "13.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz";
+        sha512 = "K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==";
+      };
+    };
+    "@types/yargs-parser-13.1.0" = {
+      name = "_at_types_slash_yargs-parser";
+      packageName = "@types/yargs-parser";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha512 = "gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==";
+      };
+    };
+    "Slackdown-git://github.com/Half-Shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4" = {
+      name = "Slackdown";
+      packageName = "Slackdown";
+      version = "0.1.2";
+      src = fetchgit {
+        url = "git://github.com/Half-Shot/slackdown";
+        rev = "efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4";
+        sha256 = "474e972819b3e1db3af70be75966a3d501c6b9285f4550ff5548193e031eaf9b";
+      };
+    };
+    "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==";
+      };
+    };
+    "accepts-1.3.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+      };
+    };
+    "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-colors-3.2.3" = {
+      name = "ansi-colors";
+      packageName = "ansi-colors";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz";
+        sha512 = "LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==";
+      };
+    };
+    "ansi-regex-3.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    };
+    "ansi-regex-4.1.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "arg-4.1.2" = {
+      name = "arg";
+      packageName = "arg";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz";
+        sha512 = "+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==";
+      };
+    };
+    "argparse-1.0.10" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+      };
+    };
+    "array-flatten-1.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    };
+    "array-uniq-1.0.2" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz";
+        sha1 = "5fcc373920775723cfd64d65c64bef53bf9eba6d";
+      };
+    };
+    "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-options-0.6.0" = {
+      name = "assert-options";
+      packageName = "assert-options";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-options/-/assert-options-0.6.0.tgz";
+        sha512 = "xmBFb5sY0AO8SNihIfavR6uMhOyzq6D7RoFKJxxAditMQc876szBBQ9RQVwLi6Bm3zUoG0nexZK11Gy5TBX69A==";
+      };
+    };
+    "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";
+      };
+    };
+    "assertion-error-1.1.0" = {
+      name = "assertion-error";
+      packageName = "assertion-error";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz";
+        sha512 = "jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==";
+      };
+    };
+    "async-0.2.10" = {
+      name = "async";
+      packageName = "async";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    };
+    "async-2.6.3" = {
+      name = "async";
+      packageName = "async";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+      };
+    };
+    "async-limiter-1.0.1" = {
+      name = "async-limiter";
+      packageName = "async-limiter";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "axios-0.18.1" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.18.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz";
+        sha512 = "0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==";
+      };
+    };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    };
+    "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";
+      };
+    };
+    "base-x-3.0.7" = {
+      name = "base-x";
+      packageName = "base-x";
+      version = "3.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base-x/-/base-x-3.0.7.tgz";
+        sha512 = "zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==";
+      };
+    };
+    "basic-auth-2.0.1" = {
+      name = "basic-auth";
+      packageName = "basic-auth";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz";
+        sha512 = "NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==";
+      };
+    };
+    "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";
+      };
+    };
+    "binary-search-tree-0.2.5" = {
+      name = "binary-search-tree";
+      packageName = "binary-search-tree";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.5.tgz";
+        sha1 = "7dbb3b210fdca082450dad2334c304af39bdc784";
+      };
+    };
+    "bintrees-1.0.1" = {
+      name = "bintrees";
+      packageName = "bintrees";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz";
+        sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
+      };
+    };
+    "bluebird-2.11.0" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "2.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz";
+        sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1";
+      };
+    };
+    "bluebird-3.5.5" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
+        sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
+      };
+    };
+    "body-parser-1.19.0" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+      };
+    };
+    "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";
+      };
+    };
+    "browser-stdout-1.3.1" = {
+      name = "browser-stdout";
+      packageName = "browser-stdout";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==";
+      };
+    };
+    "bs58-4.0.1" = {
+      name = "bs58";
+      packageName = "bs58";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz";
+        sha1 = "be161e76c354f6f788ae4071f63f34e8c4f0a42a";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "buffer-writer-2.0.0" = {
+      name = "buffer-writer";
+      packageName = "buffer-writer";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz";
+        sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
+      };
+    };
+    "builtin-modules-1.1.1" = {
+      name = "builtin-modules";
+      packageName = "builtin-modules";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    };
+    "bytes-3.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
+        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
+      };
+    };
+    "camelcase-5.3.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
+      };
+    };
+    "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";
+      };
+    };
+    "chai-4.2.0" = {
+      name = "chai";
+      packageName = "chai";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz";
+        sha512 = "XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==";
+      };
+    };
+    "chalk-2.4.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+      };
+    };
+    "check-error-1.0.2" = {
+      name = "check-error";
+      packageName = "check-error";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz";
+        sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82";
+      };
+    };
+    "cliui-5.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
+      };
+    };
+    "color-3.0.0" = {
+      name = "color";
+      packageName = "color";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color/-/color-3.0.0.tgz";
+        sha512 = "jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==";
+      };
+    };
+    "color-convert-1.9.3" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "color-string-1.5.3" = {
+      name = "color-string";
+      packageName = "color-string";
+      version = "1.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz";
+        sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
+      };
+    };
+    "colornames-1.1.1" = {
+      name = "colornames";
+      packageName = "colornames";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz";
+        sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
+      };
+    };
+    "colors-1.4.0" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
+        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
+      };
+    };
+    "colorspace-1.1.2" = {
+      name = "colorspace";
+      packageName = "colorspace";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz";
+        sha512 = "vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "commander-2.20.3" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "content-disposition-0.5.3" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+      };
+    };
+    "cookie-0.4.0" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
+        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "core-js-2.6.10" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.6.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz";
+        sha512 = "I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==";
+      };
+    };
+    "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";
+      };
+    };
+    "cycle-1.0.3" = {
+      name = "cycle";
+      packageName = "cycle";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+        sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+      };
+    };
+    "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-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "deep-eql-3.0.1" = {
+      name = "deep-eql";
+      packageName = "deep-eql";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz";
+        sha512 = "+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==";
+      };
+    };
+    "define-properties-1.1.3" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "diagnostics-1.1.1" = {
+      name = "diagnostics";
+      packageName = "diagnostics";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz";
+        sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
+      };
+    };
+    "diff-3.5.0" = {
+      name = "diff";
+      packageName = "diff";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
+        sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==";
+      };
+    };
+    "diff-4.0.1" = {
+      name = "diff";
+      packageName = "diff";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz";
+        sha512 = "s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "emoji-regex-7.0.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+      };
+    };
+    "enabled-1.0.2" = {
+      name = "enabled";
+      packageName = "enabled";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz";
+        sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
+    "env-variable-0.0.5" = {
+      name = "env-variable";
+      packageName = "env-variable";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz";
+        sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
+      };
+    };
+    "es-abstract-1.16.3" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.16.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz";
+        sha512 = "WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==";
+      };
+    };
+    "es-to-primitive-1.2.1" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "escape-string-regexp-2.0.0" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
+        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
+      };
+    };
+    "esprima-4.0.1" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+      };
+    };
+    "esutils-2.0.3" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
+        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "eventemitter3-3.1.2" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz";
+        sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==";
+      };
+    };
+    "eventemitter3-4.0.0" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha512 = "qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==";
+      };
+    };
+    "express-4.17.1" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
+        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+      };
+    };
+    "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";
+      };
+    };
+    "fast-safe-stringify-2.0.7" = {
+      name = "fast-safe-stringify";
+      packageName = "fast-safe-stringify";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
+        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
+      };
+    };
+    "fecha-2.3.3" = {
+      name = "fecha";
+      packageName = "fecha";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz";
+        sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==";
+      };
+    };
+    "file-stream-rotator-0.4.1" = {
+      name = "file-stream-rotator";
+      packageName = "file-stream-rotator";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.4.1.tgz";
+        sha512 = "W3aa3QJEc8BS2MmdVpQiYLKHj3ijpto1gMDlsgCRSKfIUe6MwkcpODGPQ3vZfb0XvCeCqlu9CBQTN7oQri2TZQ==";
+      };
+    };
+    "finalhandler-1.1.2" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+      };
+    };
+    "find-up-3.0.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+      };
+    };
+    "finity-0.5.4" = {
+      name = "finity";
+      packageName = "finity";
+      version = "0.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finity/-/finity-0.5.4.tgz";
+        sha512 = "3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA==";
+      };
+    };
+    "flat-4.1.0" = {
+      name = "flat";
+      packageName = "flat";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz";
+        sha512 = "Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==";
+      };
+    };
+    "follow-redirects-1.5.10" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
+        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "form-data-2.5.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz";
+        sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
+      };
+    };
+    "forwarded-0.1.2" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "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";
+      };
+    };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "generate-function-2.3.1" = {
+      name = "generate-function";
+      packageName = "generate-function";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz";
+        sha512 = "eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==";
+      };
+    };
+    "generate-object-property-1.2.0" = {
+      name = "generate-object-property";
+      packageName = "generate-object-property";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
+        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+      };
+    };
+    "get-caller-file-2.0.5" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
+      };
+    };
+    "get-func-name-2.0.0" = {
+      name = "get-func-name";
+      packageName = "get-func-name";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz";
+        sha1 = "ead774abee72e20409433a066366023dd6887a41";
+      };
+    };
+    "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.3" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz";
+        sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
+      };
+    };
+    "growl-1.10.5" = {
+      name = "growl";
+      packageName = "growl";
+      version = "1.10.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz";
+        sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==";
+      };
+    };
+    "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-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    };
+    "has-symbols-1.0.1" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
+      };
+    };
+    "he-1.2.0" = {
+      name = "he";
+      packageName = "he";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
+      };
+    };
+    "http-errors-1.7.2" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
+        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "immediate-3.0.6" = {
+      name = "immediate";
+      packageName = "immediate";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    };
+    "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.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "ipaddr.js-1.9.0" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
+      };
+    };
+    "is-arrayish-0.3.2" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
+      };
+    };
+    "is-buffer-2.0.4" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz";
+        sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
+      };
+    };
+    "is-callable-1.1.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    };
+    "is-my-ip-valid-1.0.0" = {
+      name = "is-my-ip-valid";
+      packageName = "is-my-ip-valid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz";
+        sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==";
+      };
+    };
+    "is-my-json-valid-2.20.0" = {
+      name = "is-my-json-valid";
+      packageName = "is-my-json-valid";
+      version = "2.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz";
+        sha512 = "XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==";
+      };
+    };
+    "is-property-1.0.2" = {
+      name = "is-property";
+      packageName = "is-property";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "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-symbol-1.0.3" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "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";
+      };
+    };
+    "js-tokens-4.0.0" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+      };
+    };
+    "js-yaml-3.13.1" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
+      };
+    };
+    "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";
+      };
+    };
+    "jsonpointer-4.0.1" = {
+      name = "jsonpointer";
+      packageName = "jsonpointer";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
+        sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
+      };
+    };
+    "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";
+      };
+    };
+    "kuler-1.0.1" = {
+      name = "kuler";
+      packageName = "kuler";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
+        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
+      };
+    };
+    "lie-3.1.1" = {
+      name = "lie";
+      packageName = "lie";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz";
+        sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
+      };
+    };
+    "localforage-1.7.3" = {
+      name = "localforage";
+      packageName = "localforage";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/localforage/-/localforage-1.7.3.tgz";
+        sha512 = "1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ==";
+      };
+    };
+    "locate-path-3.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
+      };
+    };
+    "lodash-4.17.15" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+      };
+    };
+    "lodash.toarray-4.4.0" = {
+      name = "lodash.toarray";
+      packageName = "lodash.toarray";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz";
+        sha1 = "24c4bfcd6b2fba38bfd0594db1179d8e9b656561";
+      };
+    };
+    "log-symbols-2.2.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
+      };
+    };
+    "logform-1.10.0" = {
+      name = "logform";
+      packageName = "logform";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz";
+        sha512 = "em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==";
+      };
+    };
+    "logform-2.1.2" = {
+      name = "logform";
+      packageName = "logform";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz";
+        sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
+      };
+    };
+    "loglevel-1.6.6" = {
+      name = "loglevel";
+      packageName = "loglevel";
+      version = "1.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz";
+        sha512 = "Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==";
+      };
+    };
+    "make-error-1.3.5" = {
+      name = "make-error";
+      packageName = "make-error";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz";
+        sha512 = "c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==";
+      };
+    };
+    "manakin-0.5.2" = {
+      name = "manakin";
+      packageName = "manakin";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/manakin/-/manakin-0.5.2.tgz";
+        sha512 = "pfDSB7QYoVg0Io4KMV9hhPoXpj6p0uBscgtyUSKCOFZe8bqgbpStfgnKIbF/ulnr6U3ICu4OqdyxAqBgOhZwBQ==";
+      };
+    };
+    "matrix-appservice-0.4.1" = {
+      name = "matrix-appservice";
+      packageName = "matrix-appservice";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.4.1.tgz";
+        sha512 = "mxHr9XDOvN/p6OFrfb4kkcEjCPftnXNzMS8Lg9Cz/pDy1arfRWq11vl9pL9bjzBaAouBGLpW1JzmCR2MsW+VKA==";
+      };
+    };
+    "matrix-appservice-bridge-1.11.1" = {
+      name = "matrix-appservice-bridge";
+      packageName = "matrix-appservice-bridge";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-1.11.1.tgz";
+        sha512 = "xrtjxScBIx33HRkiK/5G6wkUxZ9jxF9GqTiKzM/Fn7CgMZoHVDIms3sTc7ybZKA6RHAqH68bg4Eg4JbGCtUrhw==";
+      };
+    };
+    "matrix-js-sdk-2.4.5" = {
+      name = "matrix-js-sdk";
+      packageName = "matrix-js-sdk";
+      version = "2.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-2.4.5.tgz";
+        sha512 = "Mh0fPoiqyXRksFNYS4/2s20xAklmYVIgSms3qFvLhno32LN43NizUoAMBYYGtyjt8BQi+U77lbNL0s5f2V7gPQ==";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "merge-descriptors-1.0.1" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "mocha-6.2.2" = {
+      name = "mocha";
+      packageName = "mocha";
+      version = "6.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz";
+        sha512 = "FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==";
+      };
+    };
+    "moment-2.24.0" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.24.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
+        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
+      };
+    };
+    "morgan-1.9.1" = {
+      name = "morgan";
+      packageName = "morgan";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz";
+        sha512 = "HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "ms-2.1.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "nedb-1.8.0" = {
+      name = "nedb";
+      packageName = "nedb";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nedb/-/nedb-1.8.0.tgz";
+        sha1 = "0e3502cd82c004d5355a43c9e55577bd7bd91d88";
+      };
+    };
+    "negotiator-0.6.2" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+      };
+    };
+    "node-emoji-1.10.0" = {
+      name = "node-emoji";
+      packageName = "node-emoji";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz";
+        sha512 = "Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==";
+      };
+    };
+    "node-environment-flags-1.0.5" = {
+      name = "node-environment-flags";
+      packageName = "node-environment-flags";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz";
+        sha512 = "VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==";
+      };
+    };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
+    "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-hash-1.3.1" = {
+      name = "object-hash";
+      packageName = "object-hash";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz";
+        sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
+      };
+    };
+    "object-inspect-1.7.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
+      };
+    };
+    "object-keys-1.1.1" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
+      };
+    };
+    "object.assign-4.1.0" = {
+      name = "object.assign";
+      packageName = "object.assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
+        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
+      };
+    };
+    "object.getownpropertydescriptors-2.0.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "on-headers-1.0.2" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+      };
+    };
+    "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";
+      };
+    };
+    "one-time-0.0.4" = {
+      name = "one-time";
+      packageName = "one-time";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz";
+        sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e";
+      };
+    };
+    "p-cancelable-1.1.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-limit-2.2.1" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
+      };
+    };
+    "p-locate-3.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+      };
+    };
+    "p-queue-2.4.2" = {
+      name = "p-queue";
+      packageName = "p-queue";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-2.4.2.tgz";
+        sha512 = "n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==";
+      };
+    };
+    "p-queue-6.2.1" = {
+      name = "p-queue";
+      packageName = "p-queue";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz";
+        sha512 = "wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==";
+      };
+    };
+    "p-retry-4.2.0" = {
+      name = "p-retry";
+      packageName = "p-retry";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.2.0.tgz";
+        sha512 = "jPH38/MRh263KKcq0wBNOGFJbm+U6784RilTmHjB/HM9kH9V8WlCpVUcdOmip9cjXOh6MxZ5yk1z2SjDUJfWmA==";
+      };
+    };
+    "p-timeout-3.2.0" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz";
+        sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==";
+      };
+    };
+    "p-try-2.2.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
+      };
+    };
+    "packet-reader-1.0.0" = {
+      name = "packet-reader";
+      packageName = "packet-reader";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz";
+        sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==";
+      };
+    };
+    "parseurl-1.3.3" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "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";
+      };
+    };
+    "path-parse-1.0.6" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+      };
+    };
+    "path-to-regexp-0.1.7" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    };
+    "pathval-1.1.0" = {
+      name = "pathval";
+      packageName = "pathval";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz";
+        sha1 = "b942e6d4bde653005ef6b71361def8727d0645e0";
+      };
+    };
+    "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";
+      };
+    };
+    "pg-7.12.1" = {
+      name = "pg";
+      packageName = "pg";
+      version = "7.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg/-/pg-7.12.1.tgz";
+        sha512 = "l1UuyfEvoswYfcUe6k+JaxiN+5vkOgYcVSbSuw3FvdLqDbaoa2RJo1zfJKfPsSYPFVERd4GHvX3s2PjG1asSDA==";
+      };
+    };
+    "pg-connection-string-0.1.3" = {
+      name = "pg-connection-string";
+      packageName = "pg-connection-string";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz";
+        sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7";
+      };
+    };
+    "pg-int8-1.0.1" = {
+      name = "pg-int8";
+      packageName = "pg-int8";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz";
+        sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
+      };
+    };
+    "pg-minify-1.5.1" = {
+      name = "pg-minify";
+      packageName = "pg-minify";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.5.1.tgz";
+        sha512 = "nqUTo8y9T0VhiJoWC0sK0+2S8hYDiu7CdH0Z9ijPi2iikiQ44mfcAFxEJxfvF8H3h/bDBvXthtOQPIB3pLWIow==";
+      };
+    };
+    "pg-pool-2.0.7" = {
+      name = "pg-pool";
+      packageName = "pg-pool";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.7.tgz";
+        sha512 = "UiJyO5B9zZpu32GSlP0tXy8J2NsJ9EFGFfz5v6PSbdz/1hBLX1rNiiy5+mAm5iJJYwfCv4A0EBcQLGWwjbpzZw==";
+      };
+    };
+    "pg-promise-9.3.6" = {
+      name = "pg-promise";
+      packageName = "pg-promise";
+      version = "9.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-9.3.6.tgz";
+        sha512 = "b64UalKAkUImn01z7LeG2NtTTsp0TYfqMzo1vXjO2bDAshL+kXJ2HvCyHstJ4Nj8hLeqtCe0Tar5TbB4QGUHfw==";
+      };
+    };
+    "pg-types-2.2.0" = {
+      name = "pg-types";
+      packageName = "pg-types";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz";
+        sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
+      };
+    };
+    "pgpass-1.0.2" = {
+      name = "pgpass";
+      packageName = "pgpass";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz";
+        sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306";
+      };
+    };
+    "postgres-array-2.0.0" = {
+      name = "postgres-array";
+      packageName = "postgres-array";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz";
+        sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==";
+      };
+    };
+    "postgres-bytea-1.0.0" = {
+      name = "postgres-bytea";
+      packageName = "postgres-bytea";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
+        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+      };
+    };
+    "postgres-date-1.0.4" = {
+      name = "postgres-date";
+      packageName = "postgres-date";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.4.tgz";
+        sha512 = "bESRvKVuTrjoBluEcpv2346+6kgB7UlnqWZsnbnCccTNq/pqfj1j6oBaN5+b/NrDXepYUT/HKadqv3iS9lJuVA==";
+      };
+    };
+    "postgres-interval-1.2.0" = {
+      name = "postgres-interval";
+      packageName = "postgres-interval";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz";
+        sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "prom-client-11.5.3" = {
+      name = "prom-client";
+      packageName = "prom-client";
+      version = "11.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz";
+        sha512 = "iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==";
+      };
+    };
+    "proxy-addr-2.0.5" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
+      };
+    };
+    "psl-1.6.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "qs-6.7.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
+        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
+      };
+    };
+    "quick-lru-4.0.1" = {
+      name = "quick-lru";
+      packageName = "quick-lru";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz";
+        sha512 = "ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==";
+      };
+    };
+    "randomstring-1.1.5" = {
+      name = "randomstring";
+      packageName = "randomstring";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomstring/-/randomstring-1.1.5.tgz";
+        sha1 = "6df0628f75cbd5932930d9fe3ab4e956a18518c3";
+      };
+    };
+    "range-parser-1.2.1" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
+      };
+    };
+    "raw-body-2.4.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
+        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "readable-stream-3.4.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==";
+      };
+    };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "request-promise-core-1.1.3" = {
+      name = "request-promise-core";
+      packageName = "request-promise-core";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
+      };
+    };
+    "request-promise-native-1.0.8" = {
+      name = "request-promise-native";
+      packageName = "request-promise-native";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
+        sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-2.0.0" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
+      };
+    };
+    "resolve-1.13.1" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz";
+        sha512 = "CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==";
+      };
+    };
+    "retry-0.12.0" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
+        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+      };
+    };
+    "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==";
+      };
+    };
+    "semver-4.3.2" = {
+      name = "semver";
+      packageName = "semver";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz";
+        sha1 = "c7a07158a80bedd052355b770d82d6640f803be7";
+      };
+    };
+    "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==";
+      };
+    };
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "send-0.17.1" = {
+      name = "send";
+      packageName = "send";
+      version = "0.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
+        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+      };
+    };
+    "serve-static-1.14.1" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
+        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+      };
+    };
+    "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";
+      };
+    };
+    "setprototypeof-1.1.1" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
+      };
+    };
+    "simple-swizzle-0.2.2" = {
+      name = "simple-swizzle";
+      packageName = "simple-swizzle";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+      };
+    };
+    "source-map-support-0.5.16" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
+      };
+    };
+    "spex-3.0.0" = {
+      name = "spex";
+      packageName = "spex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spex/-/spex-3.0.0.tgz";
+        sha512 = "JoMfgbrJcEPn53JCLkSNH1o7fZ9rzkb24UKEt5LTcsp0YsaN+yxtb5MEmibbMRltj9CdXDNGitPrYi11JY2hog==";
+      };
+    };
+    "split-1.0.1" = {
+      name = "split";
+      packageName = "split";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split/-/split-1.0.1.tgz";
+        sha512 = "mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
+    "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==";
+      };
+    };
+    "stack-trace-0.0.10" = {
+      name = "stack-trace";
+      packageName = "stack-trace";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+      };
+    };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
+    "stealthy-require-1.1.1" = {
+      name = "stealthy-require";
+      packageName = "stealthy-require";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    };
+    "string-width-2.1.1" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+      };
+    };
+    "string-width-3.1.0" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
+      };
+    };
+    "string.prototype.trimleft-2.1.0" = {
+      name = "string.prototype.trimleft";
+      packageName = "string.prototype.trimleft";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+      };
+    };
+    "string.prototype.trimright-2.1.0" = {
+      name = "string.prototype.trimright";
+      packageName = "string.prototype.trimright";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "string_decoder-1.3.0" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
+      };
+    };
+    "strip-ansi-4.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    };
+    "strip-ansi-5.2.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
+      };
+    };
+    "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";
+      };
+    };
+    "supports-color-5.5.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+      };
+    };
+    "supports-color-6.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz";
+        sha512 = "on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==";
+      };
+    };
+    "tdigest-0.1.1" = {
+      name = "tdigest";
+      packageName = "tdigest";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz";
+        sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021";
+      };
+    };
+    "text-hex-1.0.0" = {
+      name = "text-hex";
+      packageName = "text-hex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz";
+        sha512 = "uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==";
+      };
+    };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
+    "toidentifier-1.0.0" = {
+      name = "toidentifier";
+      packageName = "toidentifier";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "triple-beam-1.3.0" = {
+      name = "triple-beam";
+      packageName = "triple-beam";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz";
+        sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
+      };
+    };
+    "ts-node-8.5.4" = {
+      name = "ts-node";
+      packageName = "ts-node";
+      version = "8.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.5.4.tgz";
+        sha512 = "izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==";
+      };
+    };
+    "tslib-1.10.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+      };
+    };
+    "tslint-5.20.1" = {
+      name = "tslint";
+      packageName = "tslint";
+      version = "5.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
+      };
+    };
+    "tsutils-2.29.0" = {
+      name = "tsutils";
+      packageName = "tsutils";
+      version = "2.29.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz";
+        sha512 = "g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==";
+      };
+    };
+    "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";
+      };
+    };
+    "type-detect-4.0.8" = {
+      name = "type-detect";
+      packageName = "type-detect";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
+        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
+      };
+    };
+    "type-is-1.6.18" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
+      };
+    };
+    "typescript-3.7.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz";
+        sha512 = "Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==";
+      };
+    };
+    "underscore-1.4.4" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      };
+    };
+    "unhomoglyph-1.0.3" = {
+      name = "unhomoglyph";
+      packageName = "unhomoglyph";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.3.tgz";
+        sha512 = "PC/OAHE8aiTK0Gfmy0PxOlePazRn+BeCM1r4kFtkHgEnkJZgJoI7yD2yUEjsfSdLXKU1FSt/EcIZvNoKazYUTw==";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "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";
+      };
+    };
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "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==";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "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";
+      };
+    };
+    "which-1.3.1" = {
+      name = "which";
+      packageName = "which";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+      };
+    };
+    "which-module-2.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    };
+    "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==";
+      };
+    };
+    "winston-3.2.1" = {
+      name = "winston";
+      packageName = "winston";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz";
+        sha512 = "zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==";
+      };
+    };
+    "winston-compat-0.1.4" = {
+      name = "winston-compat";
+      packageName = "winston-compat";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.4.tgz";
+        sha512 = "mMEfFsSm6GmkFF+f4/0UJtG4N1vSaczGmXLVJYmS/+u2zUaIPcw2ZRuwUg2TvVBjswgiraN+vNnAG8z4fRUZ4w==";
+      };
+    };
+    "winston-daily-rotate-file-3.10.0" = {
+      name = "winston-daily-rotate-file";
+      packageName = "winston-daily-rotate-file";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.10.0.tgz";
+        sha512 = "KO8CfbI2CvdR3PaFApEH02GPXiwJ+vbkF1mCkTlvRIoXFI8EFlf1ACcuaahXTEiDEKCii6cNe95gsL4ZkbnphA==";
+      };
+    };
+    "winston-transport-4.3.0" = {
+      name = "winston-transport";
+      packageName = "winston-transport";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz";
+        sha512 = "B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==";
+      };
+    };
+    "wrap-ansi-5.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "ws-5.2.2" = {
+      name = "ws";
+      packageName = "ws";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz";
+        sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
+      };
+    };
+    "xtend-4.0.2" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
+      };
+    };
+    "y18n-4.0.0" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+      };
+    };
+    "yargs-13.3.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
+        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
+      };
+    };
+    "yargs-parser-13.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+      };
+    };
+    "yargs-unparser-1.6.0" = {
+      name = "yargs-unparser";
+      packageName = "yargs-unparser";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz";
+        sha512 = "W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==";
+      };
+    };
+    "yn-3.1.1" = {
+      name = "yn";
+      packageName = "yn";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz";
+        sha512 = "Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==";
+      };
+    };
+  };
+in
+{
+  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" = nodeEnv.buildNodePackage {
+    name = "matrix-appservice-slack";
+    packageName = "matrix-appservice-slack";
+    version = "1.0.2";
+    src = fetchgit {
+      url = "https://github.com/matrix-org/matrix-appservice-slack.git";
+      rev = "8202c97c1fee0f8215f86b0fda1845ca17db3612";
+      sha256 = "b419d34771f4f4be56fe66ba4cbf690fb5a337e317a927e70e65be3f1ddd55ef";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      sources."@babel/highlight-7.5.0"
+      sources."@slack/logger-1.1.1"
+      (sources."@slack/rtm-api-5.0.3" // {
+        dependencies = [
+          sources."p-queue-2.4.2"
+        ];
+      })
+      sources."@slack/types-1.3.0"
+      (sources."@slack/web-api-5.6.0" // {
+        dependencies = [
+          sources."p-queue-2.4.2"
+        ];
+      })
+      sources."@types/body-parser-1.17.1"
+      sources."@types/caseless-0.12.2"
+      sources."@types/chai-4.2.6"
+      sources."@types/connect-3.4.32"
+      sources."@types/events-3.0.0"
+      sources."@types/express-4.17.2"
+      sources."@types/express-serve-static-core-4.17.0"
+      sources."@types/is-stream-1.1.0"
+      sources."@types/mime-2.0.1"
+      sources."@types/mocha-5.2.7"
+      sources."@types/nedb-1.8.9"
+      sources."@types/node-12.12.14"
+      sources."@types/node-emoji-1.8.1"
+      sources."@types/p-queue-2.3.2"
+      sources."@types/randomstring-1.1.6"
+      sources."@types/range-parser-1.2.3"
+      sources."@types/request-2.48.3"
+      sources."@types/request-promise-native-1.0.17"
+      sources."@types/retry-0.12.0"
+      sources."@types/serve-static-1.13.3"
+      sources."@types/tough-cookie-2.3.6"
+      sources."@types/uuid-3.4.6"
+      sources."@types/ws-5.1.2"
+      sources."@types/yargs-13.0.3"
+      sources."@types/yargs-parser-13.1.0"
+      sources."Slackdown-git://github.com/Half-Shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4"
+      sources."abbrev-1.1.1"
+      sources."accepts-1.3.7"
+      sources."ajv-6.10.2"
+      sources."another-json-0.2.0"
+      sources."ansi-colors-3.2.3"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      sources."arg-4.1.2"
+      sources."argparse-1.0.10"
+      sources."array-flatten-1.1.1"
+      sources."array-uniq-1.0.2"
+      sources."asn1-0.2.4"
+      sources."assert-options-0.6.0"
+      sources."assert-plus-1.0.0"
+      sources."assertion-error-1.1.0"
+      sources."async-0.2.10"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."axios-0.18.1"
+      sources."babel-runtime-6.26.0"
+      sources."balanced-match-1.0.0"
+      sources."base-x-3.0.7"
+      sources."basic-auth-2.0.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."binary-search-tree-0.2.5"
+      sources."bintrees-1.0.1"
+      sources."bluebird-2.11.0"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."brace-expansion-1.1.11"
+      sources."browser-request-0.3.3"
+      sources."browser-stdout-1.3.1"
+      sources."bs58-4.0.1"
+      sources."buffer-from-1.1.1"
+      sources."buffer-writer-2.0.0"
+      sources."builtin-modules-1.1.1"
+      sources."bytes-3.1.0"
+      sources."camelcase-5.3.1"
+      sources."caseless-0.12.0"
+      sources."chai-4.2.0"
+      (sources."chalk-2.4.2" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
+      sources."check-error-1.0.2"
+      sources."cliui-5.0.0"
+      sources."color-3.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.5.3"
+      sources."colornames-1.1.1"
+      sources."colors-1.4.0"
+      sources."colorspace-1.1.2"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."concat-map-0.0.1"
+      sources."content-disposition-0.5.3"
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."core-js-2.6.10"
+      sources."core-util-is-1.0.2"
+      sources."cycle-1.0.3"
+      sources."dashdash-1.14.1"
+      sources."debug-3.1.0"
+      sources."decamelize-1.2.0"
+      sources."deep-eql-3.0.1"
+      sources."define-properties-1.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."diagnostics-1.1.1"
+      sources."diff-3.5.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."ee-first-1.1.1"
+      sources."emoji-regex-7.0.3"
+      sources."enabled-1.0.2"
+      sources."encodeurl-1.0.2"
+      sources."env-variable-0.0.5"
+      sources."es-abstract-1.16.3"
+      sources."es-to-primitive-1.2.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-2.0.0"
+      sources."esprima-4.0.1"
+      sources."esutils-2.0.3"
+      sources."etag-1.8.1"
+      sources."eventemitter3-3.1.2"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      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."fast-safe-stringify-2.0.7"
+      sources."fecha-2.3.3"
+      sources."file-stream-rotator-0.4.1"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."find-up-3.0.0"
+      sources."finity-0.5.4"
+      sources."flat-4.1.0"
+      sources."follow-redirects-1.5.10"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.5.1"
+      sources."forwarded-0.1.2"
+      sources."fresh-0.5.2"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."generate-function-2.3.1"
+      sources."generate-object-property-1.2.0"
+      sources."get-caller-file-2.0.5"
+      sources."get-func-name-2.0.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.3"
+      sources."growl-1.10.5"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.1"
+      sources."he-1.2.0"
+      sources."http-errors-1.7.2"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."immediate-3.0.6"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ipaddr.js-1.9.0"
+      sources."is-arrayish-0.3.2"
+      sources."is-buffer-2.0.4"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-my-ip-valid-1.0.0"
+      sources."is-my-json-valid-2.20.0"
+      sources."is-property-1.0.2"
+      sources."is-regex-1.0.4"
+      sources."is-stream-1.1.0"
+      sources."is-symbol-1.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.13.1"
+      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."jsonpointer-4.0.1"
+      sources."jsprim-1.4.1"
+      sources."kuler-1.0.1"
+      sources."lie-3.1.1"
+      sources."localforage-1.7.3"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."lodash.toarray-4.4.0"
+      sources."log-symbols-2.2.0"
+      (sources."logform-2.1.2" // {
+        dependencies = [
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."loglevel-1.6.6"
+      sources."make-error-1.3.5"
+      sources."manakin-0.5.2"
+      sources."matrix-appservice-0.4.1"
+      sources."matrix-appservice-bridge-1.11.1"
+      (sources."matrix-js-sdk-2.4.5" // {
+        dependencies = [
+          sources."bluebird-3.5.5"
+        ];
+      })
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."mime-1.6.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      (sources."mocha-6.2.2" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."escape-string-regexp-1.0.5"
+          sources."ms-2.1.1"
+          sources."supports-color-6.0.0"
+        ];
+      })
+      sources."moment-2.24.0"
+      (sources."morgan-1.9.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."ms-2.0.0"
+      sources."nedb-1.8.0"
+      sources."negotiator-0.6.2"
+      sources."node-emoji-1.10.0"
+      (sources."node-environment-flags-1.0.5" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."nopt-3.0.6"
+      sources."oauth-sign-0.9.0"
+      sources."object-hash-1.3.1"
+      sources."object-inspect-1.7.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.0.3"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."one-time-0.0.4"
+      sources."p-cancelable-1.1.0"
+      sources."p-finally-1.0.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      (sources."p-queue-6.2.1" // {
+        dependencies = [
+          sources."eventemitter3-4.0.0"
+        ];
+      })
+      sources."p-retry-4.2.0"
+      sources."p-timeout-3.2.0"
+      sources."p-try-2.2.0"
+      sources."packet-reader-1.0.0"
+      sources."parseurl-1.3.3"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.6"
+      sources."path-to-regexp-0.1.7"
+      sources."pathval-1.1.0"
+      sources."performance-now-2.1.0"
+      sources."pg-7.12.1"
+      sources."pg-connection-string-0.1.3"
+      sources."pg-int8-1.0.1"
+      sources."pg-minify-1.5.1"
+      sources."pg-pool-2.0.7"
+      sources."pg-promise-9.3.6"
+      sources."pg-types-2.2.0"
+      sources."pgpass-1.0.2"
+      sources."postgres-array-2.0.0"
+      sources."postgres-bytea-1.0.0"
+      sources."postgres-date-1.0.4"
+      sources."postgres-interval-1.2.0"
+      sources."process-nextick-args-2.0.1"
+      sources."prom-client-11.5.3"
+      sources."proxy-addr-2.0.5"
+      sources."psl-1.6.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.7.0"
+      sources."quick-lru-4.0.1"
+      sources."randomstring-1.1.5"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      sources."readable-stream-3.4.0"
+      sources."regenerator-runtime-0.11.1"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."form-data-2.3.3"
+          sources."qs-6.5.2"
+        ];
+      })
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.13.1"
+      sources."retry-0.12.0"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."semver-4.3.2"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."simple-swizzle-0.2.2"
+      sources."source-map-0.6.1"
+      sources."source-map-support-0.5.16"
+      sources."spex-3.0.0"
+      sources."split-1.0.1"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.16.1"
+      sources."stack-trace-0.0.10"
+      sources."statuses-1.5.0"
+      sources."stealthy-require-1.1.1"
+      sources."string-width-3.1.0"
+      sources."string.prototype.trimleft-2.1.0"
+      sources."string.prototype.trimright-2.1.0"
+      (sources."string_decoder-1.3.0" // {
+        dependencies = [
+          sources."safe-buffer-5.2.0"
+        ];
+      })
+      sources."strip-ansi-5.2.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-5.5.0"
+      sources."tdigest-0.1.1"
+      sources."text-hex-1.0.0"
+      sources."through-2.3.8"
+      sources."toidentifier-1.0.0"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."triple-beam-1.3.0"
+      (sources."ts-node-8.5.4" // {
+        dependencies = [
+          sources."diff-4.0.1"
+        ];
+      })
+      sources."tslib-1.10.0"
+      (sources."tslint-5.20.1" // {
+        dependencies = [
+          sources."diff-4.0.1"
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."tsutils-2.29.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-detect-4.0.8"
+      sources."type-is-1.6.18"
+      sources."typescript-3.7.3"
+      sources."underscore-1.4.4"
+      sources."unhomoglyph-1.0.3"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."uuid-3.3.3"
+      sources."vary-1.1.2"
+      sources."verror-1.10.0"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      (sources."wide-align-1.1.3" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      (sources."winston-3.2.1" // {
+        dependencies = [
+          sources."async-2.6.3"
+        ];
+      })
+      (sources."winston-compat-0.1.4" // {
+        dependencies = [
+          sources."logform-1.10.0"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."winston-daily-rotate-file-3.10.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."winston-transport-4.3.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."wrap-ansi-5.1.0"
+      sources."wrappy-1.0.2"
+      sources."ws-5.2.2"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yargs-13.3.0"
+      sources."yargs-parser-13.1.1"
+      sources."yargs-unparser-1.6.0"
+      sources."yn-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Matrix <--> Slack bridge";
+      homepage = "https://github.com/matrix-org/matrix-appservice-slack#readme";
+      license = "Apache-2.0";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
new file mode 100644
index 000000000000..87dada8f027b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
@@ -0,0 +1,3 @@
+[
+    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" }
+]
diff --git a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
index 2908c14b4e0e..5089acc2a0f3 100644
--- a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
@@ -1,24 +1,35 @@
-{ lib, python3, mautrix-telegram }:
+{ lib, python3, mautrix-telegram, fetchpatch }:
 
 with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.6.1";
+  version = "0.7.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lsi6x5yr8f9yjxsh1rmcd6wnxr6s6rpr720lg7sq629m42d9p1d";
+    sha256 = "0xzivcn1s5j2nn9p7li9bzr0h225bnli4fr3yrh8v7npx2ymg1r3";
   };
 
+  patches = [
+    # fix tests
+    (fetchpatch {
+      url = "https://github.com/tulir/mautrix-telegram/commit/fe52f0ad106122f08af72e356c4c62bb8875b453.patch";
+      sha256 = "0r7j7q78brqqx0rkchld328k00yq0ykdk7syvwpihqzj3gchacb7";
+    })
+  ];
+
   postPatch = ''
     sed -i -e '/alembic>/d' setup.py
+    substituteInPlace setup.py \
+      --replace "telethon>=1.9,<1.10" "telethon~=1.9"
   '';
 
   propagatedBuildInputs = [
     Mako
     aiohttp
-    mautrix-appservice
+    mautrix
     sqlalchemy
     CommonMark
     ruamel_yaml
@@ -54,6 +65,7 @@ buildPythonPackage rec {
     homepage = https://github.com/tulir/mautrix-telegram;
     description = "A Matrix-Telegram hybrid puppeting/relaybot bridge";
     license = licenses.agpl3Plus;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nyanloutre ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch b/nixpkgs/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
new file mode 100644
index 000000000000..e1fd5f4725b1
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
@@ -0,0 +1,46 @@
+From e9b9d97074ab811747792ef86f3d195709b65751 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 29 Nov 2019 16:27:15 +0100
+Subject: [PATCH] Add missing go dependencies to go.sum
+
+Generated by running `go build` locally. Otherwise some dependencies are
+missing when building with `buildGoModule` in Nix as it tries to fetch
+the packages during compilation and fails with the following error:
+
+```
+verifying maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: Get https://sum.golang.org/lookup/maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:44681->[::1]:53: read: connection refused
+builder for '/nix/store/qxpy80j6y4gl1h6hplsznml1ffrca6az-mautrix-whatsapp-unstable-2019-11-17.drv' failed with exit code 1
+```
+---
+ go.sum | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/go.sum b/go.sum
+index f638f9a..ab7e907 100644
+--- a/go.sum
++++ b/go.sum
+@@ -45,6 +45,7 @@ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5 h1:0pUczFGOo4s
+ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba h1:exEcedSHn0qEZ1iwNwFF5brEuflhMScjFyyzmxUA+og=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
++github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9 h1:WyLOadcpkAvoyaGfUvBgj/mTHetzliBGFioEEtM+Ac8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9/go.mod h1:ustkccVUt0hOuKikjFb6b4Eray6At5djkcKYYu4+Lco=
+ golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
+@@ -73,6 +74,7 @@ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3 h1:oVabjOi2r
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2 h1:0iVxLLAOSBqtJqhIjW9EbblMsaSYoCJRo5mHPZnytUk=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
++maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d h1:lfEHd6diaoKLdZvVNcmBF9kD667xWw+x7iXlvfpEd00=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548 h1:ni1nqs+2AOO+g1ND6f2W0pMcb6sIDVqzerXosO+pI2g=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548/go.mod h1:yVWU0gvIHIXClgyVnShiufiDksFbFrBqHG9lDAYcmGI=
+@@ -86,4 +88,5 @@ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c h
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be h1:sSBx9AGR4iYHRFwljqNwxXFtbY2bKLJHgI9B4whAU8I=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
++maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163 h1:+tWThOHlyIW2VITR4A05wuhixu0AH8iZZ/Ha7AwkAys=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163/go.mod h1:ST7YYCoHtFC4c7/Iga8W5wwKXyxjwVh4DlsnyIU6rYw=
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
index cdce369bbf96..892f797a00ea 100644
--- a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
@@ -1,17 +1,19 @@
 { stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule {
-  pname = "mautrix-unstable";
-  version = "2019-09-03";
+  pname = "mautrix-whatsapp-unstable";
+  version = "2019-11-17";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-whatsapp";
-    rev = "22fb5c125db1a0a3a8be8e8e09e92bb38718e6bf";
-    sha256 = "03wd6mn9jr1hr3qxg1r707ibi1s9511y97bfrmzka4mrsymgamxa";
+    rev = "0fba1db6aa88a95ff567f44aa9be7ce6ef24787f";
+    sha256 = "07cgpvicr6n897myx86mlnx7bydsxnf51lnjbv9dl5yyii73f957";
   };
 
-  modSha256 = "14bqxx2hcr8yhcd5hi087pyc1hzqmr13p2fqb3nnsx12j7n07gww";
+  patches = [ ./0001-Add-missing-go-dependencies-to-go.sum.patch ];
+
+  modSha256 = "0y0im3dz5z3rcsmnxkk0l6xqwcyxb0bi9h4arw7zblfy16iw6vrr";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tulir/mautrix-whatsapp;
diff --git a/nixpkgs/pkgs/servers/memcached/default.nix b/nixpkgs/pkgs/servers/memcached/default.nix
index a9873261d78e..dfb3ac2cfa20 100644
--- a/nixpkgs/pkgs/servers/memcached/default.nix
+++ b/nixpkgs/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.16";
+  version = "1.5.20";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5";
+    sha256 = "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/servers/metabase/default.nix b/nixpkgs/pkgs/servers/metabase/default.nix
index 5babc638e26f..e266ea71ee0f 100644
--- a/nixpkgs/pkgs/servers/metabase/default.nix
+++ b/nixpkgs/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.33.2";
+  version = "0.33.7.1";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "0sbh3xc4scp3qflnd0v7bd224w43rby20nzxb7xn2c80jwninnnl";
+    sha256 = "1rx9v0vcrpsjsclap4x9ic9jwhyd24v1n1v8si18blzn3iyr8c36";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/meteor/default.nix b/nixpkgs/pkgs/servers/meteor/default.nix
index 6f9c22ebecf0..c2f0ffa59b97 100644
--- a/nixpkgs/pkgs/servers/meteor/default.nix
+++ b/nixpkgs/pkgs/servers/meteor/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, zlib, patchelf, runtimeShell }:
 
 let
-  version = "1.8.1";
+  version = "1.8.2";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   pname = "meteor";
   src = fetchurl {
     url = "https://static-meteor.netdna-ssl.com/packages-bootstrap/${version}/meteor-bootstrap-os.linux.x86_64.tar.gz";
-    sha256 = "1ql58j2d1pqhzpj7c9a6zrpmxxfmlgx743q7lw7g35vz2mpq34c6";
+    sha256 = "1pydmwx1yjbw54qfq7ndw2l3i3v302bvasvf71x4y9572r2p99mp";
   };
 
   #dontStrip = true;
diff --git a/nixpkgs/pkgs/servers/miniflux/default.nix b/nixpkgs/pkgs/servers/miniflux/default.nix
index df3022536ea7..dd06c358358b 100644
--- a/nixpkgs/pkgs/servers/miniflux/default.nix
+++ b/nixpkgs/pkgs/servers/miniflux/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "miniflux";
-  version = "2.0.17";
+  version = "2.0.19";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0bvlsa3ymhdl35bkv2v8lzkbjanyg7y474kbpbabmhwh5lvzgxlm";
+    sha256 = "121qy1af1qbc09c3yfwhpk6r3hwmh3jg6gjx8ygfv3hfrss9yfll";
   };
 
   goPackagePath = "miniflux.app";
diff --git a/nixpkgs/pkgs/servers/minio/default.nix b/nixpkgs/pkgs/servers/minio/default.nix
index b6a70864cc5c..e1f4d16b0b80 100644
--- a/nixpkgs/pkgs/servers/minio/default.nix
+++ b/nixpkgs/pkgs/servers/minio/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "minio";
-  version = "2019-02-26T19-51-46Z";
+  version = "2019-10-12T01-39-57Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "1f2c7wzcb47msb0iqrcc0idz39wdm9fz61q835ks1nx4qs6hi2db";
+    sha256 = "14rqwdhk2awdpcavkaqndf85c6aww5saarbfa2skc9z76ccq6114";
   };
 
-  goPackagePath = "github.com/minio/minio";
+  modSha256 = "1cnccmmqb63l78rnjwh9bivyfr79ixjg106fbgcrn3pwghfag7ma";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/servers/misc/airsonic/default.nix b/nixpkgs/pkgs/servers/misc/airsonic/default.nix
index 1afe1e8b9462..d8501878435b 100644
--- a/nixpkgs/pkgs/servers/misc/airsonic/default.nix
+++ b/nixpkgs/pkgs/servers/misc/airsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "airsonic";
-  version = "10.4.0";
+  version = "10.5.0";
 
   src = fetchurl {
     url = "https://github.com/airsonic/airsonic/releases/download/v${version}/airsonic.war";
-    sha256 = "1m4l10hp5m010ljsvn2ba4bbh8i26d04xffw81gfgjw08gya2hh8";
+    sha256 = "0nja33x3qh8zylqc7dn6x8j1wyxf7pzf9vdg9rzaq1hl6mi573jq";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/servers/misc/qremotecontrol-server/default.nix b/nixpkgs/pkgs/servers/misc/qremotecontrol-server/default.nix
new file mode 100644
index 000000000000..ddf69d109689
--- /dev/null
+++ b/nixpkgs/pkgs/servers/misc/qremotecontrol-server/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchurl
+, qmake4Hook
+, qt4
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qremotecontrol-server";
+  version = "2.4.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/qrc/${version}/qremotecontrol-${version}.tar.bz2";
+    sha256 = "07hzc9959a56b49jgmcv8ry8b9sppklvqs9kns3qjj3v9d22nbrp";
+  };
+
+  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ qt4 xorg.libXtst ];
+
+  postPatch = ''
+    substituteInPlace QRemoteControl-Server.pro \
+      --replace /usr $out
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fgaz ];
+    homepage = "https://qremote.org/";
+    downloadPage = "https://qremote.org/download.php#Download";
+    description = "Remote control your desktop from your mobile";
+    longDescription = ''
+      With QRemoteControl installed on your desktop you can easily control
+      your computer via WiFi from your mobile. By using the touch pad of your
+      Phone you can for example open the internet browser and navigate to
+      the pages you want to visit, use the music player or your media center
+      without being next to your PC or laptop. Summarizing QRemoteControl
+      allows you to do almost everything you would be able to do with a
+      mouse and a keyboard, but from a greater distance. To make these
+      replacements possible QRemoteControl offers you a touch pad, a
+      keyboard, multimedia keys and buttons for starting applications. Even
+      powering on the computer via Wake On Lan is supported.
+    '';
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/misc/subsonic/default.nix b/nixpkgs/pkgs/servers/misc/subsonic/default.nix
index be5188f177ac..a7041fc57d05 100644
--- a/nixpkgs/pkgs/servers/misc/subsonic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix
new file mode 100644
index 000000000000..8677a8d03f26
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "alertmanager-bot";
+  version = "0.4.0";
+
+  goPackagePath = "github.com/metalmatze/alertmanager-bot";
+
+  src = fetchFromGitHub {
+    owner = "metalmatze";
+    repo = pname;
+    rev = version;
+    sha256 = "10v0fxxcs5s6zmqindr30plyw7p2yg0a64rdw1b2cj2mc1m3byx3";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Bot for Prometheus' Alertmanager";
+    homepage = "https://github.com/metalmatze/alertmanager-bot";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mmahut ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/deps.nix b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/deps.nix
new file mode 100644
index 000000000000..51e98ccbc936
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/deps.nix
@@ -0,0 +1,948 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/DataDog/datadog-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/DataDog/datadog-go";
+      rev = "0ddda6bee211";
+      sha256 = "07ap1qhz8vwdypmlny5gxnc191c0qbm6acacs30m1d4p22x6wxip";
+    };
+  }
+  {
+    goPackagePath = "github.com/OneOfOne/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/OneOfOne/xxhash";
+      rev = "v1.2.5";
+      sha256 = "15ai4nzm8cv8nqs4xm5h6ghnms19c2sp8z0zpkc46rld6y7k0xky";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/circbuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/circbuf";
+      rev = "bbbad097214e";
+      sha256 = "1idpr0lzb2px2p3wgfq2276yl7jpaz43df6n91kf790404s4zmk3";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-metrics";
+      rev = "f0300d1749da";
+      sha256 = "13l7c35ps0r27vxfil2w0xhhc7w5rh00awvlmn4cz0a937b9ffpv";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "7fddfc383310";
+      sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    goPackagePath = "github.com/bgentry/speakeasy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bgentry/speakeasy";
+      rev = "v0.1.0";
+      sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/boltdb/bolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boltdb/bolt";
+      rev = "v1.3.1";
+      sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "v2.1.1";
+      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
+    };
+  }
+  {
+    goPackagePath = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev = "v1.0.0";
+      sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1";
+    };
+  }
+  {
+    goPackagePath = "github.com/circonus-labs/circonus-gometrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/circonus-labs/circonus-gometrics";
+      rev = "v2.0.0";
+      sha256 = "0d6cnswq28mjak7092vf89f9l0ga2ziwyamq9kdgfc7aavpwr6l9";
+    };
+  }
+  {
+    goPackagePath = "github.com/circonus-labs/circonusllhist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/circonus-labs/circonusllhist";
+      rev = "6e85b9352cf0";
+      sha256 = "182gry1clk12m34574qif7bx74qpxib2zv0mr5kv2j9hfq7f9m01";
+    };
+  }
+  {
+    goPackagePath = "github.com/creack/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/creack/pty";
+      rev = "v1.1.7";
+      sha256 = "1plwwlk1i9b80zv8zdplvv81shfyc9gf0flydnydsh5sr3ib5vrc";
+    };
+  }
+  {
+    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/docker/libkv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/libkv";
+      rev = "v0.2.1";
+      sha256 = "0blq7kxjy1bvm3j5q4i6csnc4i88c1wvj4gjvxbqfk3sny73gjkr";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-stack/stack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.1.1";
+      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev = "4030bb1f1f0c";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.1";
+      sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev = "v1.0.0";
+      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
+    };
+  }
+  {
+    goPackagePath = "github.com/hako/durafmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hako/durafmt";
+      rev = "ea3ab126a649";
+      sha256 = "1niq0v6av5vsn4rizfda4zq922jvavig5b0qg9g0gyz6cj62rjzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/consul";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/consul";
+      rev = "v1.4.5";
+      sha256 = "0gpg3cbpsmzcaab3scqhpzz57892s95hwq5z0l9bq7qqm6iqfr9d";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-cleanhttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-cleanhttp";
+      rev = "3573b8b52aa7";
+      sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-immutable-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-immutable-radix";
+      rev = "v1.0.0";
+      sha256 = "1v3nmsnk1s8bzpclrhirz7iq0g5xxbw9q5gvrg9ss6w9crs72qr6";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-msgpack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-msgpack";
+      rev = "v0.5.5";
+      sha256 = "0fqmfx3dxnvb0d23cpn2xpd067pibwlchdc58ln8w6lznzrbzaan";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-retryablehttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-retryablehttp";
+      rev = "794af36148bf";
+      sha256 = "1686d4qav0ayj3f5881w3kd9pz4fxsmknfqwccbj9yklxm3khvp4";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-rootcerts";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-rootcerts";
+      rev = "v1.0.1";
+      sha256 = "0ca5h7vlvrghf24dzh8l6w5px293n173qxfkjxb9kgsl6hsrsl3y";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-sockaddr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-sockaddr";
+      rev = "v1.0.2";
+      sha256 = "0y106nhd3s63lj7h7k21iq0br97h0z9qjrvx028zqcsq9407k9is";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-syslog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-syslog";
+      rev = "v1.0.0";
+      sha256 = "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-uuid";
+      rev = "v1.0.1";
+      sha256 = "0jvb88m0rq41bwgirsadgw7mnayl27av3gd2vqa3xvxp3fy0hp5k";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.3";
+      sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/logutils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/logutils";
+      rev = "v1.0.0";
+      sha256 = "076wf4sh5p3f953ndqk1cc0x7jhmlqrxak9953rz79rcdw77rjvv";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/mdns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/mdns";
+      rev = "v1.0.1";
+      sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/memberlist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/memberlist";
+      rev = "v0.1.4";
+      sha256 = "0l9qx8j7mm00ia6m41zbn39z7p77jjf95zph2nw8j2vihm56q9ql";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/serf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/serf";
+      rev = "v0.8.3";
+      sha256 = "0isaq2m08rpwvlzd72gvy3caapkrzgr9cwizl99ainsjgj2nkds9";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/uuid";
+      rev = "ebb0a03e909c";
+      sha256 = "0bzqr8y81h96cw299lhc5nxi9203a7xpd7csjsm6rh4k1bx4hdlf";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/yamux";
+      rev = "f5742cb6b856";
+      sha256 = "1k9b399ljsp443s1v69c1m5jqdiw1998ryz4b4lh86nkz775ws5s";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/joho/godotenv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/joho/godotenv";
+      rev = "v1.3.0";
+      sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.7";
+      sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    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.8";
+      sha256 = "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/kylelemons/godebug";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kylelemons/godebug";
+      rev = "v1.1.0";
+      sha256 = "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.0.9";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  {
+    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/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "v1.0.15";
+      sha256 = "051f51fyrsnj69j9ni9j72acqnrvvzqda4l831ijffy5h5jdl8f2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/cli";
+      rev = "v1.0.0";
+      sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-testing-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-testing-interface";
+      rev = "v1.0.0";
+      sha256 = "1dl2js8di858bawg7dadlf1qjpkl2g3apziihjyf5imri3znyfpw";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-wordwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-wordwrap";
+      rev = "v1.0.0";
+      sha256 = "1jffbwcr3nnq6c12c5856bwzv2nxjzqk3jwgvxkwi1xhpd2by0bf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/hashstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/hashstructure";
+      rev = "2bca23e0e452";
+      sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "d0303fe80992";
+      sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/oklog/run";
+    fetch = {
+      type = "git";
+      url = "https://github.com/oklog/run";
+      rev = "v1.0.0";
+      sha256 = "1pbjza4claaj95fpqvvfrysvs10y7dm0pl6qr5lzh6qy1vnhmcgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.6.0";
+      sha256 = "0x0gc89vgq38xhgmi2h22bhr73cf2gmk42g89nz89k8dgg9hhr25";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.4.3";
+      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+    };
+  }
+  {
+    goPackagePath = "github.com/pascaldekloe/goe";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pascaldekloe/goe";
+      rev = "v0.1.0";
+      sha256 = "1dqd3mfb4z2vmv6pg6fhgvfc53vhndk24wcl9lj1rz02n6m279fq";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    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/posener/complete";
+    fetch = {
+      type = "git";
+      url = "https://github.com/posener/complete";
+      rev = "v1.1.2";
+      sha256 = "02xrnfkk9r2jarna8jqfkksrn469jdap716037zq84waq3d5xk3l";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/alertmanager";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/alertmanager";
+      rev = "v0.9.1";
+      sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v0.9.4";
+      sha256 = "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/satori/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satori/go.uuid";
+      rev = "v1.1.0";
+      sha256 = "1nbydsmjr60904kz5d46nib0zid5kcv4gk9wayi44gn5wlzz80zp";
+    };
+  }
+  {
+    goPackagePath = "github.com/sean-/seed";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sean-/seed";
+      rev = "e2103e2c3529";
+      sha256 = "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "v1.1.0";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/tucnak/telebot";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tucnak/telebot";
+      rev = "00cebf376d79";
+      sha256 = "0yay3h7gp6yag8jbapbq10vhmszad7svn68nnq5yp6pl1hmykzd6";
+    };
+  }
+  {
+    goPackagePath = "github.com/weaveworks/mesh";
+    fetch = {
+      type = "git";
+      url = "https://github.com/weaveworks/mesh";
+      rev = "f74318fb713b";
+      sha256 = "093j5i7wrkq1g92xaprd0rlfv9i74381wns4941bhbp6x6ahdcz7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "45a5f77698d3";
+      sha256 = "0636jjj89wkzqchajwwzgcn4aafc334p70nawh9jzavg2mkx0ch4";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "891ebc4b82d6";
+      sha256 = "1rgw5gl2lc6bkmsx0fak84s6zdc1bhzfxgqg4mg4yh5hlnhpwrki";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "37e7f081c4d4";
+      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.1.0";
+      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/airbrake/gobrake.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/airbrake/gobrake.v2";
+      rev = "v2.0.9";
+      sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    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/gemnasium/logrus-airbrake-hook.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+      rev = "v2.1.2";
+      sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/vmihailenco/msgpack.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/vmihailenco/msgpack.v2";
+      rev = "v2.9.1";
+      sha256 = "0ah9j7i97ifyqhiscq8d43gcrhksb3bx83s2p1nyfi1bxw78jwfi";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
index 029d87009560..aa4db2239f0e 100644
--- a/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
@@ -1,32 +1,21 @@
-{ stdenv, go, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   pname = "cadvisor";
-  version = "0.34.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "1hshmhsclja50ja2jqxx2f5lcvbs64n6aw6dw28wbnq3z9v0q8ad";
+    sha256 = "1652yf2a4ng9z0jq8q6jnzh6svj5nwar9j8q7sssgy36bi03ixqa";
   };
 
-  nativeBuildInputs = [ go ];
+  goPackagePath = "github.com/google/cadvisor";
 
-  buildPhase = ''
-    export GOCACHE="$TMPDIR/go-cache"
-    mkdir -p Godeps/_workspace/src/github.com/google/
-    ln -s $(pwd) Godeps/_workspace/src/github.com/google/cadvisor
-    GOPATH=$(pwd)/Godeps/_workspace go build -v -o cadvisor -ldflags="-s -w -X github.com/google/cadvisor/version.Version=${version}" github.com/google/cadvisor
-  '';
+  subPackages = [ "." ];
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 -t $out/bin cadvisor
-
-    runHook postInstall
-  '';
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/google/cadvisor/version.Version=${version}" ];
 
   meta = with stdenv.lib; {
     description = "Analyzes resource usage and performance characteristics of running docker containers";
diff --git a/nixpkgs/pkgs/servers/monitoring/consul-alerts/default.nix b/nixpkgs/pkgs/servers/monitoring/consul-alerts/default.nix
index 707d0129f70b..cafccfeb8f28 100644
--- a/nixpkgs/pkgs/servers/monitoring/consul-alerts/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/consul-alerts/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "consul-alerts";
-  version = "0.5.0";
+  version = "0.6.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/AcalephStorage/consul-alerts";
@@ -13,7 +13,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "AcalephStorage";
     repo = "consul-alerts";
-    sha256 = "0dff2cpk3lkgjsh97rvlrpacpka0kwm29691diyvj7lb9ydzlx3r";
+    sha256 = "0836zicv76sd6ljhbbii1mrzh65pch10w3gfa128iynaviksbgn5";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
new file mode 100644
index 000000000000..572535b7fcd0
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "do-agent";
+  version = "3.5.6";
+
+  src = fetchFromGitHub {
+    owner = "digitalocean";
+    repo = "do-agent";
+    rev = "${version}";
+    sha256 = "1gl034cslqa30fqy2p9rymgx398s1rcgbmfvzk5zjlrw47327k8i";
+  };
+
+  buildFlagsArray = ''
+    -ldflags=
+      -X main.version=${version}
+  '';
+
+  modSha256 = "164bwqg996097db399j7lar6gj9xpshjdmyapvzg7zh655xlkf3d";
+
+  meta = with lib; {
+    description = "DigitalOcean droplet system metrics agent";
+    longDescription = ''
+      do-agent is a program provided by DigitalOcean that collects system
+      metrics from a DigitalOcean Droplet (on which the program runs) and sends
+      them to DigitalOcean to provide resource usage graphs and alerting.
+    '';
+    homepage = https://github.com/digitalocean/do-agent;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ yvt ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/facette/default.nix b/nixpkgs/pkgs/servers/monitoring/facette/default.nix
deleted file mode 100644
index 5d6f0fc3bfe9..000000000000
--- a/nixpkgs/pkgs/servers/monitoring/facette/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub
-, go, pkgconfig, nodejs, nodePackages, pandoc, rrdtool }:
-
-stdenv.mkDerivation rec {
-  pname = "facette";
-  version = "0.4.1";
-  src = fetchFromGitHub {
-    owner = "facette";
-    repo = "facette";
-    rev = version;
-    sha256 = "0p28s2vn18cqg8p7bzhb38wky0m98d5xv3wvf1nmg1kmwhwim6mi";
-  };
-  nativeBuildInputs = [ go pkgconfig nodejs nodePackages.npm pandoc ];
-  buildInputs = [ rrdtool ];
-  preBuild = ''
-    export HOME="$NIX_BUILD_ROOT" # npm needs a writable home
-  '';
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  meta = with stdenv.lib; {
-    description = "Time series data visualization software";
-    longDescription = ''
-      Facette is a web application to display time series data from various
-      sources — such as collectd, Graphite, InfluxDB or KairosDB — on graphs.
-    '';
-    homepage = https://facette.io/;
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ fgaz ];
-    broken = true; # not really broken, it just requires an internet connection to build. see #45382
-  };
-}
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 3d61961321d4..787c7b1d463a 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.3.6";
+  version = "6.5.2";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1dxsd32ny7wcpfyhhdf5m6anzgs0mkyvlrha7ps5pfyiix7brrlk";
+    sha256 = "1hplnb8rv2sxai05qf6il5kza08bkhcawvymr2h9lfdsj7p4kbzy";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "0cz6bg8q8lxxvqh9nb2b64rr5brkmbvpvvg4x7dykc04vcjivf6n";
+    sha256 = "1fnj41lp9b53iyjgis5x8k3g5vl73fdrxsdxnf10d4ma95cwb2qa";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/monitoring/loki/default.nix b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
index 35de5f231b47..895621d4cba6 100644
--- a/nixpkgs/pkgs/servers/monitoring/loki/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "0.3.0";
+  version = "1.2.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,22 +11,22 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "1b61fqk6ah4qps4nq7ypdax4i7pkhjxdw4qrhc1zvzzhxr7x13rs";
+    sha256 = "04ix58gb9yy5jf8fhn3k1pbwqs69k7m96cck38ymhwml1793b4k9";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ systemd.dev ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd.dev ];
 
-  preFixup = ''
+  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
     wrapProgram $bin/bin/promtail \
       --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib"
   '';
 
   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 ];
-    platforms = platforms.linux;
+    homepage = "https://grafana.com/oss/loki/";
+    maintainers = with maintainers; [ willibutz globin mmahut ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/munin/default.nix b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
index d978cb003c76..46e1460d795e 100644
--- a/nixpkgs/pkgs/servers/monitoring/munin/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
@@ -92,16 +92,16 @@ stdenv.mkDerivation rec {
   # DESTDIR shouldn't be needed (and shouldn't have worked), but munin
   # developers have forgotten to use PREFIX everywhere, so we use DESTDIR to
   # ensure that everything is installed in $out.
-  makeFlags = ''
-    PREFIX=$(out)
-    DESTDIR=$(out)
-    PERLLIB=$(out)/${perlPackages.perl.libPrefix}
-    PERL=${perlPackages.perl.outPath}/bin/perl
-    PYTHON=${python.outPath}/bin/python
-    RUBY=${ruby.outPath}/bin/ruby
-    JAVARUN=${jre.outPath}/bin/java
-    PLUGINUSER=munin
-  '';
+  makeFlags = [
+    "PREFIX=$(out)"
+    "DESTDIR=$(out)"
+    "PERLLIB=$(out)/${perlPackages.perl.libPrefix}"
+    "PERL=${perlPackages.perl.outPath}/bin/perl"
+    "PYTHON=${python.outPath}/bin/python"
+    "RUBY=${ruby.outPath}/bin/ruby"
+    "JAVARUN=${jre.outPath}/bin/java"
+    "PLUGINUSER=munin"
+  ];
 
   postFixup = ''
     echo "Removing references to /usr/{bin,sbin}/ from munin plugins..."
diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/default.nix b/nixpkgs/pkgs/servers/monitoring/nagios/default.nix
index 475d79a090af..006d91ef74eb 100644
--- a/nixpkgs/pkgs/servers/monitoring/nagios/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/nagios/default.nix
@@ -1,25 +1,35 @@
-{ stdenv, fetchurl, perl, php, gd, libpng, zlib, unzip }:
+{ stdenv, fetchurl, perl, php, gd, libpng, zlib, unzip, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "nagios";
-  version = "4.4.4";
+  version = "4.4.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/nagios/nagios-4.x/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0nkbv8lzpiknddiq0466dlpp3hw8lqmaidk8931hp4664cdsaw57";
+    sha256 = "079rgi3dqdg6h511c96hrch62rxsap9p4x37hm2nj672zb9f4sdz";
   };
 
   patches = [ ./nagios.patch ];
   buildInputs = [ php perl gd libpng zlib unzip ];
 
   configureFlags = [ "--localstatedir=/var/lib/nagios" ];
-  buildFlags = "all";
+  buildFlags = [ "all" ];
 
   # Do not create /var directories
   preInstall = ''
     substituteInPlace Makefile --replace '$(MAKE) install-basic' ""
   '';
   installTargets = "install install-config";
+  postInstall = ''
+    # don't make default files use hardcoded paths to commands
+    sed -i 's@command_line *[^ ]*/\([^/]*\) @command_line \1 @'  $out/etc/objects/commands.cfg
+    sed -i 's@/usr/bin/@@g' $out/etc/objects/commands.cfg
+    sed -i 's@/bin/@@g' $out/etc/objects/commands.cfg
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) nagios;
+  };
 
   meta = {
     description = "A host, service and network monitoring program";
diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/plugins/pynagsystemd.nix b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/pynagsystemd.nix
new file mode 100644
index 000000000000..62f6bc96a523
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/pynagsystemd.nix
@@ -0,0 +1,22 @@
+{ fetchFromGitHub, python3Packages, lib }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pynagsystemd";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "kbytesys";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xjhkhdpmqa7ngcpcfhrkmj4cid2wla3fzgr04wvw672ysffv2vz";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ nagiosplugin ];
+
+  meta = with lib; {
+    description = "Simple and easy nagios check for systemd status";
+    homepage = "https://github.com/kbytesys/pynagsystemd";
+    maintainers = with maintainers; [ symphorien ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix b/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
index 2bbab30d9ecd..ed2abbc7fc8a 100644
--- a/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, file, openssl, perl, perlPackages, unzip, nettools, ncurses }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo
+, file, openssl, perl, perlPackages, unzip, nettools, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "net-snmp-5.8";
@@ -19,6 +20,8 @@ stdenv.mkDerivation rec {
     ./0002-autoconf-version.patch
   ];
 
+  outputs = [ "bin" "out" "dev" "lib" ];
+
   configureFlags =
     [ "--with-default-snmp-version=3"
       "--with-sys-location=Unknown"
@@ -34,17 +37,21 @@ stdenv.mkDerivation rec {
     substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat"
   '';
 
-  nativeBuildInputs = [ autoreconfHook nettools ];
-  buildInputs = [ file perl unzip openssl ncurses ];
-  propagatedBuildInputs = with perlPackages; [ perl JSON Tk TermReadKey ];
+  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo ];
+  buildInputs = with perlPackages; [ file perl unzip openssl ncurses JSON Tk TermReadKey ];
 
   enableParallelBuilding = true;
   doCheck = false;  # tries to use networking
 
   postInstall = ''
-    for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
+    for f in "$lib/lib/"*.la $bin/bin/net-snmp-config $bin/bin/net-snmp-create-v3-user; do
       sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f
     done
+    mkdir $dev/bin
+    mv $bin/bin/net-snmp-config $dev/bin
+    # libraries contain configure options
+    find $lib/lib -type f -exec remove-references-to -t $bin '{}' +
+    find $lib/lib -type f -exec remove-references-to -t $dev '{}' +
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/plugins/default.nix b/nixpkgs/pkgs/servers/monitoring/plugins/default.nix
index 9f23cc3e54c3..f72fa16cd122 100644
--- a/nixpkgs/pkgs/servers/monitoring/plugins/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/plugins/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook
-, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl
-, dnsutils, libdbi, mysql, zlib, openldap, procps
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, runCommand
+, coreutils, gnugrep, gnused, lm_sensors, net-snmp, openssh, openssl, perl
+, dnsutils, libdbi, libmysqlclient, zlib, openldap, procps
 , runtimeShell }:
 
 with stdenv.lib;
@@ -9,7 +9,7 @@ let
   majorVersion = "2.2";
   minorVersion = ".0";
 
-  binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp procps ];
+  binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net-snmp procps ];
 
 in stdenv.mkDerivation {
   name = "monitoring-plugins-${majorVersion}${minorVersion}";
@@ -44,11 +44,16 @@ in stdenv.mkDerivation {
     configureFlagsArray=(
       --with-ping-command='/run/wrappers/bin/ping -4 -n -U -w %d -c %d %s'
       --with-ping6-command='/run/wrappers/bin/ping -6 -n -U -w %d -c %d %s'
+      --with-sudo-command='/run/wrappers/bin/sudo'
+      --with-mailq-command='${runCommand "mailq-wrapper" {preferLocalBuild=true;} ''
+        mkdir -p $out/bin
+        ln -s /run/wrappers/bin/sendmail $out/bin/mailq
+        ''}/bin/mailq'
     )
   '';
 
   # !!! make openssh a runtime dependency only
-  buildInputs = [ dnsutils libdbi mysql net_snmp openldap openssh openssl perl procps zlib ];
+  buildInputs = [ dnsutils libdbi libmysqlclient net-snmp openldap openssh openssl perl procps zlib ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix b/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
index b09990e31209..a703c80b61a4 100644
--- a/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
+++ b/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
@@ -14,7 +14,7 @@ let
     inherit pname version;
 
     src = fetchurl {
-      url = "https://labs.consol.de/assets/downloads/nagios/${pname}-${version}.tar.bz";
+      url = "https://labs.consol.de/assets/downloads/nagios/${pname}-${version}.tar.gz";
       inherit sha256;
     };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
index f1dbf0e51445..5ad5cfc06132 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "alertmanager";
-  version = "0.18.0";
+  version = "0.19.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/alertmanager";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "17f3a4fiwycpd031k1d9irhd96cklbh2ygs35j5r6hgw2130sy4p";
+    sha256 = "08k898x9ks5rzcmb7ps1rnxv36ynv64x8yq2ahpwmfkmv6nw1ylh";
   };
 
   buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index e15dce8ae450..b44ebd35e9a7 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "blackbox_exporter";
-  version = "0.15.1";
+  version = "0.16.0";
   rev = version;
 
   goPackagePath = "github.com/prometheus/blackbox_exporter";
@@ -11,10 +11,11 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "prometheus";
     repo = "blackbox_exporter";
-    sha256 = "14z4xkkh9jb6ylclzsyj6gyqrb67lxs5cxd7lrs70qli567gzqwc";
+    sha256 = "1zbf3ljasv0r91rrmk3mj5nhimaf7xg3aih1ldz27rh5yww7gyzg";
   };
 
-  doCheck = true;
+  # dns-lookup is performed for the tests
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP";
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
index e55d0018b882..d772d9935bce 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,31 +1,56 @@
-{ lib, go, buildGoPackage, fetchFromGitHub }:
+{ lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage }:
 
 let
-  goPackagePath = "github.com/prometheus/prometheus";
-in
-buildGoPackage rec {
-  pname = "prometheus";
-  version = "2.12.0";
-
-  inherit goPackagePath;
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "prometheus";
-    sha256 = "1ci9dc512c1hry1b8jqif0mrnks6w3yagwm3jf69ihcwilr2n7vs";
+    sha256 = "0zmxj78h3cnqbhsqab940hyzpim5i9r81b15a57f3dnrrd10p287";
   };
 
+  webui = mkYarnPackage {
+    src = "${src}/web/ui/react-app";
+    packageJSON = ./webui-package.json;
+    yarnNix = ./webui-yarndeps.nix;
+
+    # The standard yarn2nix directory management causes build failures with
+    # Prometheus's webui due to using relative imports into node_modules. Use
+    # an extremely simplified version of it instead.
+    configurePhase = "ln -s $node_modules node_modules";
+    buildPhase = "PUBLIC_URL=. yarn build";
+    installPhase = "mv build $out";
+    distPhase = "true";
+  };
+in buildGoPackage rec {
+  pname = "prometheus";
+  inherit src version;
+
+  goPackagePath = "github.com/prometheus/prometheus";
+
+  postPatch = ''
+    ln -s ${webui.node_modules} web/ui/react-app/node_modules
+    ln -s ${webui} web/ui/static/react
+  '';
+
   buildFlagsArray = let
     t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
-  in ''
-    -ldflags=
-       -X ${t}.Version=${version}
-       -X ${t}.Revision=unknown
-       -X ${t}.Branch=unknown
-       -X ${t}.BuildUser=nix@nixpkgs
-       -X ${t}.BuildDate=unknown
-       -X ${t}.GoVersion=${lib.getVersion go}
+  in [
+    "-tags=builtinassets"
+    ''
+      -ldflags=
+         -X ${t}.Version=${version}
+         -X ${t}.Revision=unknown
+         -X ${t}.Branch=unknown
+         -X ${t}.BuildUser=nix@nixpkgs
+         -X ${t}.BuildDate=unknown
+         -X ${t}.GoVersion=${lib.getVersion go}
+    ''
+  ];
+
+  preBuild = ''
+    make -C go/src/${goPackagePath} assets
   '';
 
   preInstall = ''
@@ -34,6 +59,12 @@ buildGoPackage rec {
     cp -a $src/console_libraries $src/consoles $bin/etc/prometheus
   '';
 
+  # Disable module-mode, because Go 1.13 automatically enables it if there is
+  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
+  preCheck = ''
+    export GO111MODULE=off
+  '';
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
deleted file mode 100644
index dd3c1b4d4c2d..000000000000
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
+++ /dev/null
@@ -1,138 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/alecthomas/template";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
-    };
-  }
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "1d3f30b51784bec5aad268e59fd3c2fc1c2fe73f";
-      sha256 = "1wx76776z48qd9pjnrydhj1f3k94qlbcj32ak6am7n7w2nda7sjx";
-    };
-  }
-  {
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d";
-      sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs";
-    };
-  }
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "5beb9624161b94eaf384fed4bd8dc4235e4d80af";
-      sha256 = "1p9ypprs467g31v635zjqn1f2rq1y3r6xw47d29ifg9wfmrpmpc7";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "d2ead25884778582e740573999f7b07f47e171b4";
-      sha256 = "1zj7x16xw94jw5l3arajwwcr2f06j2a7z87zqbd6a1jjcsbjj3a5";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f";
-      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "2998b132700a7d019ff618c06a234b47c1f3f681";
-      sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "b1a0a9a36d7453ba0f62578b99712f3a6c5f82d1";
-      sha256 = "00jdvxvg9zy6gm5q1zp3j5kdcrrma46kqcm73pz8wpljlhbb9s8g";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "eef6b768ab01a0598a0a6db97bad2a37d31df1d1";
-      sha256 = "0h3fy7i08s9wm1nrv3164g68dwdy0493px6xhyms6y3vfnbq2n6m";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "ff983b9c42bc9fbf91556e191cc8efb585c16908";
-      sha256 = "1hpr06kzn8jnn3gvzp0p9zn4fz4l9h69f7x66idx142w4xdlaanz";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4c64e13b10787722085407fe5d15f";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "cb59ee3660675d463e86971646692ea3e470021c";
-      sha256 = "0xnhdhwg6xca41m1204yg3qc7ki6l5xzx5fkq25gsmf5sz6ylsnl";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
index d1cb5dcec9cb..c8013e6bc15c 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
@@ -1,24 +1,22 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "dnsmasq_exporter";
-  version = "0.1.0";
-
-  goPackagePath = "github.com/google/dnsmasq_exporter";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "dnsmasq_exporter";
-    sha256 = "0pl4jkp0kssplv32wbg8yk06x9c2hidilpix32hdvk287l3ys201";
+    sha256 = "1i7imid981l0a9k8lqyr9igm3qkk92kid4xzadkwry4857k6mgpj";
     rev = "v${version}";
   };
 
-  goDeps = ./dnsmasq-exporter-deps.nix;
+  modSha256 = "1ag1k0z35zkazaxj8hh2wxfj73xg63xdybfm1565il2vxs5986dh";
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "A dnsmasq exporter for Prometheus";
     license = licenses.asl20;
-    maintainers = with maintainers; [ willibutz globin ];
+    maintainers = with maintainers; [ willibutz globin ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter-deps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter-deps.nix
new file mode 100644
index 000000000000..bca32bdeccfa
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter-deps.nix
@@ -0,0 +1,300 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    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/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.4.0";
+      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev = "v1.0.0";
+      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.7";
+      sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.1";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    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/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    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 = "v1.1.0";
+      sha256 = "1r0irxkmfnj6ininb06w6ybknini5lz02idawrbkk2i5lq1qcvvf";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "14fe0d1b01d4";
+      sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.6.0";
+      sha256 = "1q16br348117ffycxdwsldb0i39p34miclfa8z93k6vjwnrqbh2l";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.3";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "d28f0bde5980";
+      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "37e7f081c4d4";
+      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "4e8604ab3aff";
+      sha256 = "1y4nvb8xqk3gzmkk3pc0bdphxbnphz71cld9i6f75js01pggaspc";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
new file mode 100644
index 000000000000..f3211280f7d7
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  pname = "prometheus-nextcloud-exporter";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "xperimental";
+    repo = "nextcloud-exporter";
+    rev = "v${version}";
+    sha256 = "1xpc6q6zp92ckkyd24cfl65vyzjv60qwh44ys6mza4k6yrxhacv4";
+  };
+
+  goPackagePath = "github.com/xperimental/nextcloud-exporter";
+
+  goDeps = ./nextcloud-exporter-deps.nix;
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Prometheus exporter for Nextcloud servers.";
+    homepage = "https://github.com/xperimental/nextcloud-exporter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ willibutz ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index cc527c29ac21..ce3ed9ab9d66 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx_exporter";
-  version = "0.4.2";
+  version = "0.5.0";
 
   goPackagePath = "github.com/nginxinc/nginx-prometheus-exporter";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
-    sha256 = "023nl83w0fic7sj0yxxgj7jchyafqnmv6dq35amzz37ikx92mdcj";
+    sha256 = "1fyn2bjq80dx4jv1rakrm0vg6i657a5rs7kkg0f9mbv1alir8kkx";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix
new file mode 100644
index 000000000000..68bac5c560e3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix
new file mode 100644
index 000000000000..3051258a6361
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index abc7db8086bb..e8af00b277b4 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -1,10 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
-
-with stdenv.lib;
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "postgres_exporter";
-  version = "0.5.1";
+  version = "0.8.0";
 
   goPackagePath = "github.com/wrouesnel/postgres_exporter";
 
@@ -12,13 +10,15 @@ buildGoPackage rec {
     owner = "wrouesnel";
     repo = "postgres_exporter";
     rev = "v${version}";
-    sha256 = "1awcqhiak56nrsaa49lkw6mcbrlm86ls14sp9v69h3a0brc1q7bn";
+    sha256 = "0mid2kvskab3a32jscygg5jh0741nr7dvxzj4v029yiiqcx55nrc";
   };
 
-  meta = {
+  doCheck = true;
+
+  meta = with lib; {
     inherit (src.meta) homepage;
     description = "A Prometheus exporter for PostgreSQL";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin willibutz ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index dfa81d4da832..f3dfccee3bce 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, net_snmp }:
+{ stdenv, buildGoPackage, fetchFromGitHub, net-snmp }:
 
 buildGoPackage rec {
   pname = "snmp_exporter";
@@ -13,7 +13,7 @@ buildGoPackage rec {
     sha256 = "1cnz1wapxs3fkghzy6v90s56vd0ngynypyapcpbmx5y66rlpdxx6";
   };
 
-  buildInputs = [ net_snmp ];
+  buildInputs = [ net-snmp ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/update-webui-deps.sh b/nixpkgs/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
new file mode 100755
index 000000000000..812f6d5d9cfc
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../.. -i bash -p wget yarn2nix-moretea.yarn2nix
+
+# This script is based upon:
+# pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+        echo "Regenerates the Yarn dependency lock files for the prometheus package."
+        echo "Usage: $0 <git release tag>"
+        exit 1
+fi
+
+PROM_WEB_SRC="https://raw.githubusercontent.com/prometheus/prometheus/$1"
+
+wget "$PROM_WEB_SRC/web/ui/react-app/package.json" -O webui-package.json
+wget "$PROM_WEB_SRC/web/ui/react-app/yarn.lock" -O yarn.lock
+yarn2nix --lockfile=yarn.lock > webui-yarndeps.nix
+rm yarn.lock
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index a629a2a27e26..d77675671950 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/webui-package.json b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-package.json
new file mode 100644
index 000000000000..1a96845d15e0
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-package.json
@@ -0,0 +1,96 @@
+{
+  "name": "graph",
+  "version": "0.1.0",
+  "private": true,
+  "dependencies": {
+    "@fortawesome/fontawesome-svg-core": "^1.2.14",
+    "@fortawesome/free-solid-svg-icons": "^5.7.1",
+    "@fortawesome/react-fontawesome": "^0.1.4",
+    "@reach/router": "^1.2.1",
+    "@testing-library/react-hooks": "^3.1.1",
+    "@types/jest": "^24.0.20",
+    "@types/jquery": "^3.3.29",
+    "@types/node": "^12.11.1",
+    "@types/reach__router": "^1.2.6",
+    "@types/react": "^16.8.2",
+    "@types/react-copy-to-clipboard": "^4.3.0",
+    "@types/react-dom": "^16.8.0",
+    "@types/react-resize-detector": "^4.0.2",
+    "@types/sanitize-html": "^1.20.2",
+    "bootstrap": "^4.2.1",
+    "downshift": "^3.2.2",
+    "enzyme-to-json": "^3.4.3",
+    "flot": "^3.2.13",
+    "fuzzy": "^0.1.3",
+    "i": "^0.3.6",
+    "jest-fetch-mock": "^2.1.2",
+    "jquery": "^3.3.1",
+    "jquery.flot.tooltip": "^0.9.0",
+    "jsdom": "^15.2.0",
+    "moment": "^2.24.0",
+    "moment-timezone": "^0.5.23",
+    "popper.js": "^1.14.3",
+    "react": "^16.7.0",
+    "react-copy-to-clipboard": "^5.0.1",
+    "react-dom": "^16.7.0",
+    "react-resize-detector": "^4.2.1",
+    "react-scripts": "^3.2.0",
+    "react-test-renderer": "^16.9.0",
+    "reactstrap": "^8.0.1",
+    "sanitize-html": "^1.20.1",
+    "tempusdominus-bootstrap-4": "^5.1.2",
+    "tempusdominus-core": "^5.0.3",
+    "typescript": "^3.3.3"
+  },
+  "scripts": {
+    "start": "react-scripts start",
+    "build": "react-scripts build",
+    "test": "react-scripts test",
+    "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
+    "eject": "react-scripts eject",
+    "lint:ci": "eslint --quiet \"src/**/*.{ts,tsx}\"",
+    "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
+  },
+  "prettier": {
+    "singleQuote": true,
+    "trailingComma": "es5",
+    "printWidth": 125
+  },
+  "browserslist": [
+    ">0.2%",
+    "not dead",
+    "not ie <= 11",
+    "not op_mini all"
+  ],
+  "devDependencies": {
+    "@types/enzyme": "^3.10.3",
+    "@types/enzyme-adapter-react-16": "^1.0.5",
+    "@types/flot": "0.0.31",
+    "@types/moment-timezone": "^0.5.10",
+    "@types/reactstrap": "^8.0.5",
+    "@types/sinon": "^7.5.0",
+    "@typescript-eslint/eslint-plugin": "2.x",
+    "@typescript-eslint/parser": "2.x",
+    "babel-eslint": "10.x",
+    "enzyme": "^3.10.0",
+    "enzyme-adapter-react-16": "^1.15.1",
+    "eslint": "6.x",
+    "eslint-config-prettier": "^6.4.0",
+    "eslint-config-react-app": "^5.0.2",
+    "eslint-plugin-flowtype": "3.x",
+    "eslint-plugin-import": "2.x",
+    "eslint-plugin-jsx-a11y": "6.x",
+    "eslint-plugin-prettier": "^3.1.1",
+    "eslint-plugin-react": "7.x",
+    "eslint-plugin-react-hooks": "1.x",
+    "jest-fetch-mock": "^2.1.2",
+    "prettier": "^1.18.2",
+    "sinon": "^7.5.0"
+  },
+  "proxy": "http://localhost:9090",
+  "jest": {
+    "snapshotSerializers": [
+      "enzyme-to-json/serializer"
+    ]
+  }
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
new file mode 100644
index 000000000000..3cc45a2f6913
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
@@ -0,0 +1,11885 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d";
+      };
+    }
+    {
+      name = "_babel_core___core_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz";
+        sha1 = "9b00f73554edd67bebc86df8303ef678be3d7b48";
+      };
+    }
+    {
+      name = "_babel_core___core_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz";
+        sha1 = "6ebd9fe00925f6c3e177bb726a188b5f578088ff";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz";
+        sha1 = "a4f8437287bf9671b07f483b76e3bb731bc97671";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
+        sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
+        sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
+        sha1 = "769711acca889be371e9bc2eb68641d55218021f";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
+        sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
+        sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha1 = "83572d4320e2a4657263734113c42868b64e49c3";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
+        sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
+        sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
+        sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
+        sha1 = "a2920c5702b073c15de51106200aa8cad20497d5";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz";
+        sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
+        sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
+        sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
+        sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha1 = "ff94894a340be78f53f06af038b205c49d993677";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
+        sha1 = "c4e0012445769e2815b55296ead43a958549f6fa";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha1 = "681ffe489ea4dcc55f23ce469e58e59c1c045153";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha1 = "56d11312bd9248fa619591d02472be6e8cb32540";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz";
+        sha1 = "cb9b36a7482110282d5cb6dd424ec9262b473d81";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
+        sha1 = "b289b306669dce4ad20b0252889a15768c9d417e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
+        sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz";
+        sha1 = "6659d2572a17d70abd68123e89a12a43d90aa30c";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
+        sha1 = "e532202db4838723691b10a67b8ce509e397c506";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
+        sha1 = "568ecc446c6148ae6b267f02551130891e29f317";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz";
+        sha1 = "61939744f71ba76a3ae46b5eea18a54c16d22e58";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz";
+        sha1 = "8ffccc8f3a6545e9f78988b6bf4fe881b88e8096";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
+        sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz";
+        sha1 = "05413762894f41bfe42b9a5e80919bd575dcc802";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
+        sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
+        sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612";
+      };
+    }
+    {
+      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_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
+        sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
+        sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
+        sha1 = "a7cc3f66119a9f7ebe2de5383cce193473d65991";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
+        sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
+        sha1 = "89a3848a0166623b5bc481164b5936ab947e887e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
+        sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz";
+        sha1 = "6e854e51fbbaa84351b15d4ddafe342f3a5d542a";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
+        sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
+        sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
+        sha1 = "44bbe08b57f4480094d57d9ffbcd96d309075ba6";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz";
+        sha1 = "44abb948b88f0199a627024e1508acaf8dc9b2f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
+        sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
+        sha1 = "a63868289e5b4007f7054d46491af51435766008";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha1 = "e1436116abb0610c2259094848754ac5230922ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
+        sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
+        sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
+        sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
+        sha1 = "39dfe957de4420445f1fcf88b68a2e4aa4515486";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
+        sha1 = "e75266a13ef94202db2a0620977756f51d52d249";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
+        sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz";
+        sha1 = "aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
+        sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
+        sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz";
+        sha1 = "9fc9ea060b983c7c035acbe481cbe1fb1245bfff";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
+        sha1 = "629dc82512c55cee01341fb27bdfcb210354680f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
+        sha1 = "4792af87c998a49367597d07fedf02636d2e1634";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz";
+        sha1 = "85a3cce402b28586138e368fce20ab3019b9713e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
+        sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz";
+        sha1 = "fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
+        sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
+        sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz";
+        sha1 = "dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz";
+        sha1 = "b692aad888a7e8d8b1b214be6b9dc03d5031f698";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz";
+        sha1 = "aae4141c506100bb2bfaa4ac2a5c12b395619e50";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz";
+        sha1 = "9e1bf05a2e2d687036d24c40e4639dc46cef2271";
+      };
+    }
+    {
+      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_react___preset_react_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz";
+        sha1 = "d5242c828322520205ae4eda5d4f4f618964e2f6";
+      };
+    }
+    {
+      name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz";
+        sha1 = "25768cb8830280baf47c45ab1a519a9977498c98";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz";
+        sha1 = "4fc1d642a9fd0299754e8b5de62c631cf5568205";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz";
+        sha1 = "7f0159c7f5012230dad64cca42ec9bdb5c9536e6";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz";
+        sha1 = "66d7dba146b086703c0fb10dd588b7364cec47f9";
+      };
+    }
+    {
+      name = "_babel_types___types_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz";
+        sha1 = "3f07d96f854f98e2fbd45c64b0cb942d11e8ba09";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+      };
+    }
+    {
+      name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+      path = fetchurl {
+        name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz";
+        sha1 = "ad495dc41b12e75d588c6db8b9834f08fa131eb7";
+      };
+    }
+    {
+      name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+      path = fetchurl {
+        name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz";
+        sha1 = "c27b391d8457d1e893f1eddeaf5e5412d12ffbb5";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz";
+        sha1 = "6df015905081f2762e5cfddeb7a20d2e9b16c786";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz";
+        sha1 = "24b03391d14f0c6171e8cad7057c687b74049790";
+      };
+    }
+    {
+      name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+      path = fetchurl {
+        name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.11.2.tgz";
+        sha1 = "2f2f1459743a27902b76655a0d0bc5ec4d945631";
+      };
+    }
+    {
+      name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+      path = fetchurl {
+        name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz";
+        sha1 = "b798b96401e25d07c30bbe1b9ec0e6d8a33760a5";
+      };
+    }
+    {
+      name = "_hapi_address___address_2.1.2.tgz";
+      path = fetchurl {
+        name = "_hapi_address___address_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz";
+        sha1 = "1c794cd6dbf2354d1eb1ef10e0303f573e1c7222";
+      };
+    }
+    {
+      name = "_hapi_bourne___bourne_1.3.2.tgz";
+      path = fetchurl {
+        name = "_hapi_bourne___bourne_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha1 = "0a7095adea067243ce3283e1b56b8a8f453b242a";
+      };
+    }
+    {
+      name = "_hapi_hoek___hoek_8.3.1.tgz";
+      path = fetchurl {
+        name = "_hapi_hoek___hoek_8.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.1.tgz";
+        sha1 = "227d29efdb158e4a64590224add90c820f94d20e";
+      };
+    }
+    {
+      name = "_hapi_joi___joi_15.1.1.tgz";
+      path = fetchurl {
+        name = "_hapi_joi___joi_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz";
+        sha1 = "c675b8a71296f02833f8d6d243b34c57b8ce19d7";
+      };
+    }
+    {
+      name = "_hapi_topo___topo_3.1.6.tgz";
+      path = fetchurl {
+        name = "_hapi_topo___topo_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz";
+        sha1 = "68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29";
+      };
+    }
+    {
+      name = "_jest_console___console_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz";
+        sha1 = "79b1bc06fb74a8cfb01cbdedf945584b1b9707f0";
+      };
+    }
+    {
+      name = "_jest_core___core_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz";
+        sha1 = "2ceccd0b93181f9c4850e74f2a9ad43d351369c4";
+      };
+    }
+    {
+      name = "_jest_environment___environment_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz";
+        sha1 = "21e3afa2d65c0586cbd6cbefe208bafade44ab18";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha1 = "ba3e6bf0eecd09a636049896434d306636540c93";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha1 = "86660eff8e2b9661d042a8e98a028b8d631a5b43";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha1 = "0e263a94430be4b41da683ccc1e6bffe2a191714";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha1 = "11796e8aa9dbf88ea025757b3152595ad06ba0ca";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha1 = "f8f334f35b625a4f2f355f2fe7e6036dad2e6b31";
+      };
+    }
+    {
+      name = "_jest_transform___transform_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz";
+        sha1 = "4ae2768b296553fadab09e9ec119543c90b16c56";
+      };
+    }
+    {
+      name = "_jest_types___types_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz";
+        sha1 = "63cb26cb7500d069e5a389441a7c6ab5e909fc59";
+      };
+    }
+    {
+      name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+      path = fetchurl {
+        name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha1 = "524af240d1a360527b730475ecfa1344aa540dde";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b";
+      };
+    }
+    {
+      name = "_reach_auto_id___auto_id_0.2.0.tgz";
+      path = fetchurl {
+        name = "_reach_auto_id___auto_id_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.2.0.tgz";
+        sha1 = "97f9e48fe736aa5c6f4f32cf73c1f19d005f8550";
+      };
+    }
+    {
+      name = "_reach_router___router_1.2.1.tgz";
+      path = fetchurl {
+        name = "_reach_router___router_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz";
+        sha1 = "34ae3541a5ac44fa7796e5506a5d7274a162be4e";
+      };
+    }
+    {
+      name = "_sinonjs_commons___commons_1.6.0.tgz";
+      path = fetchurl {
+        name = "_sinonjs_commons___commons_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.6.0.tgz";
+        sha1 = "ec7670432ae9c8eb710400d112c201a362d83393";
+      };
+    }
+    {
+      name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+      path = fetchurl {
+        name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz";
+        sha1 = "771c60dfa75ea7f2d68e3b94c7e888a78781372c";
+      };
+    }
+    {
+      name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+      path = fetchurl {
+        name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz";
+        sha1 = "46682efd9967b259b81136b9f120fd54585feb4a";
+      };
+    }
+    {
+      name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+      path = fetchurl {
+        name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz";
+        sha1 = "8da5c6530915653f3a1f38fd5f101d8c3f8079c5";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz";
+        sha1 = "dadcb6218503532d6884b210e7f3c502caaa44b1";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz";
+        sha1 = "297550b9a8c0c7337bea12bdfc8a80bb66f85abc";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz";
+        sha1 = "c196302f3e68eab6a05e98af9ca8570bc13131c7";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz";
+        sha1 = "310ec0775de808a6a2e4fd4268c245fd734c1165";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz";
+        sha1 = "2cdedd747e5b1b29ed4c241e46256aac8110dd93";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz";
+        sha1 = "9a94791c9a288108d20a9d2cc64cac820f141391";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz";
+        sha1 = "151487322843359a1ca86b21a3815fd21a88b717";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz";
+        sha1 = "5f1e2f886b2c85c67e76da42f0f6be1b1767b697";
+      };
+    }
+    {
+      name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz";
+        sha1 = "a75d8c2f202ac0e5774e6bfc165d028b39a1316c";
+      };
+    }
+    {
+      name = "_svgr_core___core_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_core___core_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz";
+        sha1 = "b37b89d5b757dc66e8c74156d00c368338d24293";
+      };
+    }
+    {
+      name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz";
+        sha1 = "1d5a082f7b929ef8f1f578950238f630e14532b8";
+      };
+    }
+    {
+      name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz";
+        sha1 = "e2ba913dbdfbe85252a34db101abc7ebd50992fa";
+      };
+    }
+    {
+      name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz";
+        sha1 = "daac0a3d872e3f55935c6588dd370336865e9e32";
+      };
+    }
+    {
+      name = "_svgr_webpack___webpack_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_webpack___webpack_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz";
+        sha1 = "319d4471c8f3d5c3af35059274834d9b5b8fb956";
+      };
+    }
+    {
+      name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+      path = fetchurl {
+        name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-3.1.1.tgz";
+        sha1 = "5c93e463c0252bea6ac237ec8d9c982c27d67208";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.3.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha1 = "e441ea7df63cd080dfcd02ab199e6d16a735fc30";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha1 = "f1ec1c104d1bb463556ecb724018ab788d0c172a";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha1 = "2496e9ff56196cc1429c72034e07eab6121b6f3f";
+      };
+    }
+    {
+      name = "_types_cheerio___cheerio_0.22.13.tgz";
+      path = fetchurl {
+        name = "_types_cheerio___cheerio_0.22.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.13.tgz";
+        sha1 = "5eecda091a24514185dcba99eda77e62bf6523e6";
+      };
+    }
+    {
+      name = "_types_domhandler___domhandler_2.4.1.tgz";
+      path = fetchurl {
+        name = "_types_domhandler___domhandler_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domhandler/-/domhandler-2.4.1.tgz";
+        sha1 = "7b3b347f7762180fbcb1ece1ce3dd0ebbb8c64cf";
+      };
+    }
+    {
+      name = "_types_domutils___domutils_1.7.2.tgz";
+      path = fetchurl {
+        name = "_types_domutils___domutils_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domutils/-/domutils-1.7.2.tgz";
+        sha1 = "89422e579c165994ad5c09ce90325da596cc105d";
+      };
+    }
+    {
+      name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+      path = fetchurl {
+        name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.5.tgz";
+        sha1 = "1bf30a166f49be69eeda4b81e3f24113c8b4e9d5";
+      };
+    }
+    {
+      name = "_types_enzyme___enzyme_3.10.3.tgz";
+      path = fetchurl {
+        name = "_types_enzyme___enzyme_3.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.3.tgz";
+        sha1 = "02b6c5ac7d0472005944a652e79045e2f6c66804";
+      };
+    }
+    {
+      name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha1 = "1ee30d79544ca84d68d4b3cdb0af4f205663dd2d";
+      };
+    }
+    {
+      name = "_types_flot___flot_0.0.31.tgz";
+      path = fetchurl {
+        name = "_types_flot___flot_0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/flot/-/flot-0.0.31.tgz";
+        sha1 = "0daca37c6c855b69a0a7e2e37dd0f84b3db8c8c1";
+      };
+    }
+    {
+      name = "_types_history___history_4.7.3.tgz";
+      path = fetchurl {
+        name = "_types_history___history_4.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz";
+        sha1 = "856c99cdc1551d22c22b18b5402719affec9839a";
+      };
+    }
+    {
+      name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "1e65ba81401d53f425c1e2ba5a3d05c90ab742c7";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha1 = "7a8cbf6a406f36c8add871625b278eaf0b0d255a";
+      };
+    }
+    {
+      name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+      path = fetchurl {
+        name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha1 = "35cc15b9c4f30a18ef21852e255fdb02f6d59b89";
+      };
+    }
+    {
+      name = "_types_jest___jest_24.0.20.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_24.0.20.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.20.tgz";
+        sha1 = "729d5fe8684e7fb06368d3bd557ac6d91289d861";
+      };
+    }
+    {
+      name = "_types_jquery___jquery_3.3.31.tgz";
+      path = fetchurl {
+        name = "_types_jquery___jquery_3.3.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.31.tgz";
+        sha1 = "27c706e4bf488474e1cb54a71d8303f37c93451b";
+      };
+    }
+    {
+      name = "_types_json_schema___json_schema_7.0.3.tgz";
+      path = fetchurl {
+        name = "_types_json_schema___json_schema_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz";
+        sha1 = "bdfd69d61e464dcc81b25159c270d75a73c1a636";
+      };
+    }
+    {
+      name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+      path = fetchurl {
+        name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/moment-timezone/-/moment-timezone-0.5.12.tgz";
+        sha1 = "0fb680c03db194fe8ff4551eaeb1eec8d3d80e9f";
+      };
+    }
+    {
+      name = "_types_node___node_12.11.1.tgz";
+      path = fetchurl {
+        name = "_types_node___node_12.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz";
+        sha1 = "1fd7b821f798b7fa29f667a1be8f3442bb8922a3";
+      };
+    }
+    {
+      name = "_types_prop_types___prop_types_15.7.3.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz";
+        sha1 = "2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7";
+      };
+    }
+    {
+      name = "_types_q___q_1.5.2.tgz";
+      path = fetchurl {
+        name = "_types_q___q_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
+        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+      };
+    }
+    {
+      name = "_types_reach__router___reach__router_1.2.6.tgz";
+      path = fetchurl {
+        name = "_types_reach__router___reach__router_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.6.tgz";
+        sha1 = "b14cf1adbd1a365d204bbf6605cd9dd7b8816c87";
+      };
+    }
+    {
+      name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+      path = fetchurl {
+        name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-4.3.0.tgz";
+        sha1 = "8e07becb4f11cfced4bd36038cb5bdf5c2658be5";
+      };
+    }
+    {
+      name = "_types_react_dom___react_dom_16.9.2.tgz";
+      path = fetchurl {
+        name = "_types_react_dom___react_dom_16.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz";
+        sha1 = "90f9e6c161850be1feb31d2f448121be2a4f3b47";
+      };
+    }
+    {
+      name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+      path = fetchurl {
+        name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-resize-detector/-/react-resize-detector-4.0.2.tgz";
+        sha1 = "5c046301a881fe9af741536e0dd4c34dfb155c6e";
+      };
+    }
+    {
+      name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+      path = fetchurl {
+        name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.9.1.tgz";
+        sha1 = "9d432c46c515ebe50c45fa92c6fb5acdc22e39c4";
+      };
+    }
+    {
+      name = "_types_react___react_16.9.9.tgz";
+      path = fetchurl {
+        name = "_types_react___react_16.9.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz";
+        sha1 = "a62c6f40f04bc7681be5e20975503a64fe783c3a";
+      };
+    }
+    {
+      name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+      path = fetchurl {
+        name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reactstrap/-/reactstrap-8.0.5.tgz";
+        sha1 = "6c6429bcfcc1d97d9a89bcb73a07bbb698bfe945";
+      };
+    }
+    {
+      name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+      path = fetchurl {
+        name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-1.20.2.tgz";
+        sha1 = "59777f79f015321334e3a9f28882f58c0a0d42b8";
+      };
+    }
+    {
+      name = "_types_sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "_types_sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "f5a10c27175465a0b001b68d8b9f761582967cc6";
+      };
+    }
+    {
+      name = "_types_sizzle___sizzle_2.3.2.tgz";
+      path = fetchurl {
+        name = "_types_sizzle___sizzle_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz";
+        sha1 = "a811b8c18e2babab7d542b3365887ae2e4d9de47";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+      };
+    }
+    {
+      name = "_types_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+      path = fetchurl {
+        name = "_types_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/testing-library__react-hooks/-/testing-library__react-hooks-2.0.0.tgz";
+        sha1 = "7b289d64945517ae8ba9cbcb0c5b282432aaeffa";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha1 = "c563aa192f39350a1d18da36c5a8da382bbd8228";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_13.0.3.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_13.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz";
+        sha1 = "76482af3981d4412d65371a318f992d33464a380";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.5.0.tgz";
+        sha1 = "101d96743ce3365b3223df73d641078c9b775903";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz";
+        sha1 = "aaf6b542ff75b78f4191a8bf1c519184817caa24";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz";
+        sha1 = "dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.5.0.tgz";
+        sha1 = "383a97ded9a7940e5053449f6d73995e782b8fb1";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.5.0.tgz";
+        sha1 = "858030ddd808fbbe88e03f42e5971efaccb8218a";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz";
+        sha1 = "fe43ed5fec14af03d3594fce2c3b7ec4c8df0243";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz";
+        sha1 = "722c95493e1b7682893edaaaec0e69f36917feef";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.5.0.tgz";
+        sha1 = "40ada624d6217ef092a3a79ed30d947ad4f212ce";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha1 = "51b1c5fe6576a34953bf4b253df9f0d490d9e359";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha1 = "1ba926a2923613edce496fd5b02e8ce8a5f49721";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha1 = "c49dad22f645227c5edb610bdb9697f1aab721f7";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha1 = "fea93e429863dd5e4338555f42292385a653f204";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha1 = "9a740ff48e3faa3022b1dff54423df9aa293c25e";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha1 = "ba0b7d3b3f7e4733da6059c9332275d860702452";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha1 = "def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha1 = "537a750eddf5c1e932f3744206551c91c1b93e61";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha1 = "74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha1 = "712329dbef240f36bf57bd2f7b8fb9bf4154421e";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha1 = "044edeb34ea679f3e04cd4fd9824d5e35767ae10";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha1 = "a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha1 = "962da12aa5acc1c131c81c4232991c82ce56e01a";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha1 = "54840766c2c1002eb64ed1abe720aded714f98bc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha1 = "b24d9f6ba50394af1349f510afa8ffcb8a63d264";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha1 = "21576f0ec88b91427357b8536383668ef7c66b8d";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha1 = "e10eecd542d0e7bd394f6827c49f3df6d4eefb8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha1 = "114bbc481fd10ca0e23b3560fa812748b0bae5bc";
+      };
+    }
+    {
+      name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+      path = fetchurl {
+        name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "abab___abab_2.0.2.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz";
+        sha1 = "a2fba1b122c69a85caa02d10f9270c7219709a9d";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.1.1.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_4.3.4.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz";
+        sha1 = "9fa1926addc11c97308c4e66d7add0d40c3272e7";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
+        sha1 = "294adb71b57398b0680015f0a38c563ee1db5384";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_6.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha1 = "123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz";
+        sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e";
+      };
+    }
+    {
+      name = "acorn___acorn_7.1.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz";
+        sha1 = "949d36f2c292535da602283586c2477c57eb2d6c";
+      };
+    }
+    {
+      name = "address___address_1.1.2.tgz";
+      path = fetchurl {
+        name = "address___address_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz";
+        sha1 = "bf1116c9c758c51b7a933d296b72c221ed9428b6";
+      };
+    }
+    {
+      name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+      path = fetchurl {
+        name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz";
+        sha1 = "6471143af75ec02334b219f54bc7970c52fb29a4";
+      };
+    }
+    {
+      name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+      path = fetchurl {
+        name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz";
+        sha1 = "5287820043af1eb469f5b0af0d6f70da6c52aaef";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.1.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+      };
+    }
+    {
+      name = "ajv___ajv_6.10.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
+        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+      };
+    }
+    {
+      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_4.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
+        sha1 = "4dccdb846c3eee10f6d64dea66273eab90c37228";
+      };
+    }
+    {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "anymatch___anymatch_3.1.1.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
+        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "aria_query___aria_query_3.0.0.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz";
+        sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc";
+      };
+    }
+    {
+      name = "arity_n___arity_n_1.0.4.tgz";
+      path = fetchurl {
+        name = "arity_n___arity_n_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz";
+        sha1 = "d9e76b11733e08569c0847ae7b39b2860b30b745";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_equal___array_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_equal___array_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    }
+    {
+      name = "array_filter___array_filter_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_filter___array_filter_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz";
+        sha1 = "baf79e62e6ef4c2a4c0b831232daffec251f9d83";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_2.1.2.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+      };
+    }
+    {
+      name = "array_from___array_from_2.1.1.tgz";
+      path = fetchurl {
+        name = "array_from___array_from_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz";
+        sha1 = "cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.0.3.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+      path = fetchurl {
+        name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz";
+        sha1 = "630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7";
+      };
+    }
+    {
+      name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+      path = fetchurl {
+        name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz";
+        sha1 = "8f3c71d245ba349b6b64b4078f76f5576f1fd723";
+      };
+    }
+    {
+      name = "arrify___arrify_1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+    {
+      name = "asap___asap_2.0.6.tgz";
+      path = fetchurl {
+        name = "asap___asap_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_4.10.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "assert___assert_1.4.1.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+    {
+      name = "assert___assert_1.5.0.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
+        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+      };
+    }
+    {
+      name = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+      path = fetchurl {
+        name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
+        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "async___async_2.6.3.tgz";
+      path = fetchurl {
+        name = "async___async_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
+        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "autoprefixer___autoprefixer_9.6.5.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz";
+        sha1 = "98f4afe7e93cccf323287515d426019619775e5e";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.8.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
+        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+      };
+    }
+    {
+      name = "axobject_query___axobject_query_2.0.2.tgz";
+      path = fetchurl {
+        name = "axobject_query___axobject_query_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz";
+        sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_eslint___babel_eslint_10.0.3.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz";
+        sha1 = "81a2c669be0f205e19462fed2482d33e4687a88a";
+      };
+    }
+    {
+      name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+      path = fetchurl {
+        name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz";
+        sha1 = "0a2aedf81417ed391b85e18b4614e693a0351a21";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha1 = "3fc327cb8467b89d14d7bc70e315104a783ccd54";
+      };
+    }
+    {
+      name = "babel_loader___babel_loader_8.0.6.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz";
+        sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb";
+      };
+    }
+    {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
+        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+      };
+    }
+    {
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha1 = "df4ade83d897a92df069c4d9a25cf2671293c854";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha1 = "4f837091eb407e01447c8843cbec546d0002d756";
+      };
+    }
+    {
+      name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz";
+        sha1 = "41f7ead616fc36f6a93180e89697f69f51671181";
+      };
+    }
+    {
+      name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+      path = fetchurl {
+        name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz";
+        sha1 = "4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
+      };
+    }
+    {
+      name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz";
+        sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06";
+      };
+    }
+    {
+      name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
+        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha1 = "192b521e2217fb1d1f67cf73f70c336650ad3cdc";
+      };
+    }
+    {
+      name = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+      path = fetchurl {
+        name = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz";
+        sha1 = "247d37e883d6d6f4b4691e5f23711bb2dd80567d";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "babylon___babylon_6.18.0.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
+        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.3.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
+        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "big.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.13.1.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz";
+        sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.1.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz";
+        sha1 = "df70e302b471d7473489acf26a93d63b53f874de";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.8.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz";
+        sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "boolbase___boolbase_1.0.0.tgz";
+      path = fetchurl {
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "bootstrap___bootstrap_4.3.1.tgz";
+      path = fetchurl {
+        name = "bootstrap___bootstrap_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz";
+        sha1 = "280ca8f610504d99d7b6b4bfc4b68cec601704ac";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
+      };
+    }
+    {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      path = fetchurl {
+        name = "browser_resolve___browser_resolve_1.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+      };
+    }
+    {
+      name = "browserify_aes___browserify_aes_1.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.2.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.0.4.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.0.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz";
+        sha1 = "9ee89225ffc07db03409f2fee524dc8227458a17";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.1.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz";
+        sha1 = "bd400d1aea56538580e8c4d5f1c54ac11b5ab468";
+      };
+    }
+    {
+      name = "bser___bser_2.1.0.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz";
+        sha1 = "65fc784bf7f87c009b973c12db6546902fa9c7b5";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+      };
+    }
+    {
+      name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cacache___cacache_12.0.3.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_12.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz";
+        sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+      path = fetchurl {
+        name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camel_case___camel_case_3.0.0.tgz";
+      path = fetchurl {
+        name = "camel_case___camel_case_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz";
+        sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42";
+      };
+    }
+    {
+      name = "camelcase___camelcase_4.1.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caniuse_api___caniuse_api_3.0.0.tgz";
+      path = fetchurl {
+        name = "caniuse_api___caniuse_api_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz";
+        sha1 = "427253a69ad7bea4aa8d8345687b8eec51ca0e43";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+      path = fetchurl {
+        name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz";
+        sha1 = "3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "chardet___chardet_0.7.0.tgz";
+      path = fetchurl {
+        name = "chardet___chardet_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz";
+        sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e";
+      };
+    }
+    {
+      name = "cheerio___cheerio_1.0.0_rc.3.tgz";
+      path = fetchurl {
+        name = "cheerio___cheerio_1.0.0_rc.3.tgz";
+        url  = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz";
+        sha1 = "094636d425b2e9c0f4eb91a46c05630c9a1a8bf6";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.2.2.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz";
+        sha1 = "a433973350021e09f2b853a2287781022c0dc935";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.3.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz";
+        sha1 = "42d837d5239688d55f303003a508230fa6727142";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "classnames___classnames_2.2.6.tgz";
+      path = fetchurl {
+        name = "classnames___classnames_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz";
+        sha1 = "43935bffdd291f326dad0a205309b38d00f650ce";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.1.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz";
+        sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.2.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    }
+    {
+      name = "cliui___cliui_4.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
+        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_0.2.4.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz";
+        sha1 = "4e73dd09e9fb971cc38670c5dced9c1896481cc6";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "coa___coa_2.0.2.tgz";
+      path = fetchurl {
+        name = "coa___coa_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
+        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
+      name = "color_string___color_string_1.5.3.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
+        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+      };
+    }
+    {
+      name = "color___color_3.1.2.tgz";
+      path = fetchurl {
+        name = "color___color_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
+        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      path = fetchurl {
+        name = "combined_stream___combined_stream_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+      };
+    }
+    {
+      name = "commander___commander_2.17.1.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz";
+        sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf";
+      };
+    }
+    {
+      name = "commander___commander_2.20.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
+        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
+      };
+    }
+    {
+      name = "commander___commander_2.20.3.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+      };
+    }
+    {
+      name = "commander___commander_2.19.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz";
+        sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a";
+      };
+    }
+    {
+      name = "common_tags___common_tags_1.8.0.tgz";
+      path = fetchurl {
+        name = "common_tags___common_tags_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz";
+        sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "compose_function___compose_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "compose_function___compose_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz";
+        sha1 = "9ed675f13cc54501d30950a486ff6a7ba3ab185f";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.17.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz";
+        sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+      path = fetchurl {
+        name = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz";
+        sha1 = "7ff0a57f9aeda6314132d8994cce7aeca794fecf";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+      path = fetchurl {
+        name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz";
+        sha1 = "72bc13b483c0276801681871d4898516f8f54fdd";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.6.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_0.3.5.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz";
+        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      path = fetchurl {
+        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+      path = fetchurl {
+        name = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz";
+        sha1 = "d2724a3ccbfed89706fac8a894872c979ac74467";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.3.2.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz";
+        sha1 = "1096c989c1b929ede06b5b6b4768dc4439078c03";
+      };
+    }
+    {
+      name = "core_js___core_js_3.2.1.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz";
+        sha1 = "cd41f38534da6cc59f7db050fe67307de9868b09";
+      };
+    }
+    {
+      name = "core_js___core_js_1.2.7.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz";
+        sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.10.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz";
+        sha1 = "8a5b8391f8cc7013da703411ce5b585706300d7f";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.3.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.2.0.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
+        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.7.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+      };
+    }
+    {
+      name = "create_react_context___create_react_context_0.2.3.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz";
+        sha1 = "9ec140a6914a22ef04b8b09b7771de89567cb6f3";
+      };
+    }
+    {
+      name = "create_react_context___create_react_context_0.3.0.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz";
+        sha1 = "546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c";
+      };
+    }
+    {
+      name = "cross_fetch___cross_fetch_2.2.3.tgz";
+      path = fetchurl {
+        name = "cross_fetch___cross_fetch_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz";
+        sha1 = "e8a0b3c54598136e037f8650f8e823ccdfac198e";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+      path = fetchurl {
+        name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz";
+        sha1 = "dfdefd3254bf8a82027993674ccf35483bfcb3c5";
+      };
+    }
+    {
+      name = "css_color_names___css_color_names_0.0.4.tgz";
+      path = fetchurl {
+        name = "css_color_names___css_color_names_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+    {
+      name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+      path = fetchurl {
+        name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+      };
+    }
+    {
+      name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+      path = fetchurl {
+        name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz";
+        sha1 = "3c642ab34ca242c59c41a125df9105841f6966ee";
+      };
+    }
+    {
+      name = "css_loader___css_loader_2.1.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz";
+        sha1 = "d8254f72e412bb2238bb44dd674ffbef497333ea";
+      };
+    }
+    {
+      name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+      path = fetchurl {
+        name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz";
+        sha1 = "6f830a2714199d4f0d0d0bb8a27916ed65cff1f4";
+      };
+    }
+    {
+      name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+      path = fetchurl {
+        name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+      };
+    }
+    {
+      name = "css_select___css_select_1.2.0.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    }
+    {
+      name = "css_select___css_select_2.0.2.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz";
+        sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
+        sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
+        sha1 = "970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e";
+      };
+    }
+    {
+      name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+      path = fetchurl {
+        name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz";
+        sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996";
+      };
+    }
+    {
+      name = "css_what___css_what_2.1.3.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz";
+        sha1 = "a6d7604573365fe74686c3f311c56513d88285f2";
+      };
+    }
+    {
+      name = "css___css_2.2.4.tgz";
+      path = fetchurl {
+        name = "css___css_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz";
+        sha1 = "c646755c73971f2bba6a601e2cf2fd71b1298929";
+      };
+    }
+    {
+      name = "cssdb___cssdb_4.4.0.tgz";
+      path = fetchurl {
+        name = "cssdb___cssdb_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz";
+        sha1 = "3bf2f2a68c10f5c6a08abd92378331ee803cddb0";
+      };
+    }
+    {
+      name = "cssesc___cssesc_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
+        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      path = fetchurl {
+        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+      };
+    }
+    {
+      name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    }
+    {
+      name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    }
+    {
+      name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+      };
+    }
+    {
+      name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+      };
+    }
+    {
+      name = "cssnano___cssnano_4.1.10.tgz";
+      path = fetchurl {
+        name = "cssnano___cssnano_4.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
+        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+      };
+    }
+    {
+      name = "csso___csso_3.5.1.tgz";
+      path = fetchurl {
+        name = "csso___csso_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz";
+        sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssom___cssom_0.4.1.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.1.tgz";
+        sha1 = "b24111d236b6dbd00cdfacb5ab67a20473381fe3";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_1.4.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha1 = "9d31328229d3c565c61e586b02041a28fccdccf1";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.0.0.tgz";
+        sha1 = "911f0fe25532db4f5d44afc83f89cc4b82c97fe3";
+      };
+    }
+    {
+      name = "csstype___csstype_2.6.7.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz";
+        sha1 = "20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5";
+      };
+    }
+    {
+      name = "cyclist___cyclist_1.0.1.tgz";
+      path = fetchurl {
+        name = "cyclist___cyclist_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz";
+        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+      };
+    }
+    {
+      name = "d___d_1.0.1.tgz";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+      path = fetchurl {
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz";
+        sha1 = "780cf7144eb2e8dbd1c3bb83ae31100ccc31a414";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_1.1.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
+        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+      };
+    }
+    {
+      name = "date_now___date_now_0.1.4.tgz";
+      path = fetchurl {
+        name = "date_now___date_now_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      name = "debug___debug_4.1.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
+        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decamelize___decamelize_2.0.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz";
+        sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_equal___deep_equal_1.1.0.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz";
+        sha1 = "3103cdf8ab6d32cf4a8df7865458f2b8d33f3745";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.tgz";
+      path = fetchurl {
+        name = "deep_is___deep_is_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+    {
+      name = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "del___del_3.0.0.tgz";
+      path = fetchurl {
+        name = "del___del_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz";
+        sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed_stream___delayed_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "des.js___des.js_1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+      path = fetchurl {
+        name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
+        sha1 = "24707deabe932d4a3cf621302027c2b266568275";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_24.9.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha1 = "5715d6244e2aa65f48bba0bc972db0b0b11e95b5";
+      };
+    }
+    {
+      name = "diff___diff_3.5.0.tgz";
+      path = fetchurl {
+        name = "diff___diff_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz";
+        sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12";
+      };
+    }
+    {
+      name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+      };
+    }
+    {
+      name = "dir_glob___dir_glob_2.0.0.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha1 = "0b205d2b6aef98238ca286598a8204d29d0a0034";
+      };
+    }
+    {
+      name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+      path = fetchurl {
+        name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
+        sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.3.1.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "dom_converter___dom_converter_0.2.0.tgz";
+      path = fetchurl {
+        name = "dom_converter___dom_converter_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha1 = "6721a9daee2e293682955b6afe416771627bb768";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_3.4.0.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz";
+        sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.2.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz";
+        sha1 = "13650c850daffea35d8b626a4cfc4d3a17643fdb";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.1.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz";
+        sha1 = "1ec4059e284babed36eec2941d4a970a189ce7c0";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.2.0.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_2.0.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+      };
+    }
+    {
+      name = "domexception___domexception_1.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
+        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+      };
+    }
+    {
+      name = "domhandler___domhandler_2.4.2.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz";
+        sha1 = "8805097e933d65e85546f726d60f5eb88b44f803";
+      };
+    }
+    {
+      name = "domutils___domutils_1.5.1.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    }
+    {
+      name = "domutils___domutils_1.7.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
+        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_4.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+      };
+    }
+    {
+      name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+      path = fetchurl {
+        name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+      };
+    }
+    {
+      name = "dotenv___dotenv_6.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz";
+        sha1 = "941c0410535d942c8becf28d3f357dbd9d476064";
+      };
+    }
+    {
+      name = "downshift___downshift_3.3.5.tgz";
+      path = fetchurl {
+        name = "downshift___downshift_3.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/downshift/-/downshift-3.3.5.tgz";
+        sha1 = "635f465ab45f577814a98901024873637649ce6f";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+    {
+      name = "duplexify___duplexify_3.7.1.tgz";
+      path = fetchurl {
+        name = "duplexify___duplexify_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
+        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz";
+        sha1 = "b24359fa4f49b3a7c52afc005d59ec3aa9f6796e";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.5.1.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz";
+        sha1 = "c380f5f909bf1b9b4428d028cd18d3b0efd6b52b";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "encoding___encoding_0.1.12.tgz";
+      path = fetchurl {
+        name = "encoding___encoding_0.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
+        sha1 = "2937e2b8066cd0fe7ce0990a98f0d71a35189f66";
+      };
+    }
+    {
+      name = "entities___entities_1.1.2.tgz";
+      path = fetchurl {
+        name = "entities___entities_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz";
+        sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56";
+      };
+    }
+    {
+      name = "entities___entities_2.0.0.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz";
+        sha1 = "68d6084cab1b079767540d80e56a39b423e4abf4";
+      };
+    }
+    {
+      name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.1.tgz";
+        sha1 = "8ad55332be7091dc53a25d7d38b3485fc2ba50d5";
+      };
+    }
+    {
+      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz";
+        sha1 = "e828e0d038e2b1efa4b9619ce896226f85c9dd88";
+      };
+    }
+    {
+      name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.0.tgz";
+        sha1 = "d8e4603495e6ea279038eef05a4bf4887b55dc69";
+      };
+    }
+    {
+      name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+      path = fetchurl {
+        name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.3.tgz";
+        sha1 = "ed4386f48768ed29e2d1a2910893542c34e7e0af";
+      };
+    }
+    {
+      name = "enzyme___enzyme_3.10.0.tgz";
+      path = fetchurl {
+        name = "enzyme___enzyme_3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme/-/enzyme-3.10.0.tgz";
+        sha1 = "7218e347c4a7746e133f8e964aada4a3523452f6";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.15.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz";
+        sha1 = "8884928ec7e40a79e3c9bc812d37d10c8b24cc57";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.16.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz";
+        sha1 = "d3a26dc9c3283ac9750dca569586e976d9dcc06d";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.51.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.51.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha1 = "ed2d7d9d48a12df86e0299287e93a09ff478842f";
+      };
+    }
+    {
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.2.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha1 = "859fdd34f32e905ff06d752e7171ddd4444a7ed1";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.12.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz";
+        sha1 = "f763daf840af172bb3a2b6dd7219c0e17f7ff541";
+      };
+    }
+    {
+      name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz";
+        sha1 = "0a04f147e31d33c6c161b2dd0971418ac52d0477";
+      };
+    }
+    {
+      name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz";
+        sha1 = "df40d73a1402986030680c040bbee520db5a32a4";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz";
+        sha1 = "58f15fb839b8d0576ca980413476aab2472db66a";
+      };
+    }
+    {
+      name = "eslint_loader___eslint_loader_3.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_loader___eslint_loader_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz";
+        sha1 = "5a627316a51d6f41d357b9f6f0554e91506cdd6e";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz";
+        sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c";
+      };
+    }
+    {
+      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz";
+        sha1 = "e241ebd39c0ce519345a3f074ec1ebde4cf80f2c";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz";
+        sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6";
+      };
+    }
+    {
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz";
+        sha1 = "b872a09d5de51af70a97db1eea7dc933043708aa";
+      };
+    }
+    {
+      name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz";
+        sha1 = "507b8562410d02a03f0ddc949c616f877852f2ba";
+      };
+    }
+    {
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz";
+        sha1 = "6210b6d5a37205f0b92858f895a4e827020a7d04";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz";
+        sha1 = "911030dd7e98ba49e1b2208599571846a66bdf13";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz";
+        sha1 = "9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz";
+        sha1 = "e87c8887c73e8d1ec84f1ca591645c358bfc8fb9";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_1.4.2.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz";
+        sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
+        sha1 = "e2a82cea84ff246ad6fb57f9bde5b46621459ec2";
+      };
+    }
+    {
+      name = "eslint___eslint_6.5.1.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz";
+        sha1 = "828e4c469697d43bb586144be152198b91e96ed6";
+      };
+    }
+    {
+      name = "espree___espree_6.1.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz";
+        sha1 = "7f80e5f7257fc47db450022d723e356daeb1e5de";
+      };
+    }
+    {
+      name = "esprima___esprima_3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.0.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz";
+        sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.2.1.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.3.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
+        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
+      };
+    }
+    {
+      name = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
+      name = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "eventemitter3___eventemitter3_4.0.0.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha1 = "d65176163887ee59f386d64c82610b696a4a74eb";
+      };
+    }
+    {
+      name = "events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz";
+        sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.2.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expect___expect_24.9.0.tgz";
+      path = fetchurl {
+        name = "expect___expect_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz";
+        sha1 = "b75165b4817074fa4a157794f46fe9f1ba15b6ca";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      name = "extend___extend_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend___extend_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
+        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+      };
+    }
+    {
+      name = "external_editor___external_editor_3.1.0.tgz";
+      path = fetchurl {
+        name = "external_editor___external_editor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz";
+        sha1 = "cb03f740befae03ea4d283caed2741a83f335495";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    }
+    {
+      name = "fast_diff___fast_diff_1.2.0.tgz";
+      path = fetchurl {
+        name = "fast_diff___fast_diff_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz";
+        sha1 = "73ee11982d86caaf7959828d519cfe927fac5f03";
+      };
+    }
+    {
+      name = "fast_glob___fast_glob_2.2.7.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz";
+        sha1 = "6953857c3afa475fff92ee6015d52da70a4cd39d";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      path = fetchurl {
+        name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.11.3.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    }
+    {
+      name = "fbjs___fbjs_0.8.17.tgz";
+      path = fetchurl {
+        name = "fbjs___fbjs_0.8.17.tgz";
+        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz";
+        sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha1 = "862470112901c727a0e495a80744bd5baa1d6790";
+      };
+    }
+    {
+      name = "figures___figures_2.0.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_loader___file_loader_3.0.1.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz";
+        sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa";
+      };
+    }
+    {
+      name = "filesize___filesize_3.6.1.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz";
+        sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
+        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "find_up___find_up_1.1.2.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.1.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz";
+        sha1 = "69e57caa8f0eacbc281d2e2cb458d46fdb449e08";
+      };
+    }
+    {
+      name = "flatten___flatten_1.0.2.tgz";
+      path = fetchurl {
+        name = "flatten___flatten_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    }
+    {
+      name = "flot___flot_3.2.13.tgz";
+      path = fetchurl {
+        name = "flot___flot_3.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/flot/-/flot-3.2.13.tgz";
+        sha1 = "f4457fd6042fe4ac4e4e124e7a7c7256e69f5362";
+      };
+    }
+    {
+      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+      path = fetchurl {
+        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.9.0.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz";
+        sha1 = "8d5bcdc65b7108fe1508649c79c12d732dcedb4f";
+      };
+    }
+    {
+      name = "for_in___for_in_0.1.8.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz";
+        sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "for_own___for_own_0.1.5.tgz";
+      path = fetchurl {
+        name = "for_own___for_own_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz";
+        sha1 = "ce1d77190b44d81a761b10b6284a373795e41f0c";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_7.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_4.0.3.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz";
+        sha1 = "0d852122e5bc5beb453fb028e9c0c9bf36340c94";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_8.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_1.2.7.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha1 = "ccff8570841e7fe4265693da88936c55aed7f7c7";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.0.7.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
+        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.9.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
+        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.1.1.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz";
+        sha1 = "74c64e21df71721845d0c44fe54b7f56b82995a9";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      path = fetchurl {
+        name = "function_bind___function_bind_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
+        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+      };
+    }
+    {
+      name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+      path = fetchurl {
+        name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz";
+        sha1 = "6d252350803085abc2ad423d4fe3be2f9cbda392";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      path = fetchurl {
+        name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    }
+    {
+      name = "functions_have_names___functions_have_names_1.2.0.tgz";
+      path = fetchurl {
+        name = "functions_have_names___functions_have_names_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.0.tgz";
+        sha1 = "83da7583e4ea0c9ac5ff530f73394b033e0bf77d";
+      };
+    }
+    {
+      name = "fuzzy___fuzzy_0.1.3.tgz";
+      path = fetchurl {
+        name = "fuzzy___fuzzy_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz";
+        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_1.0.3.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+      path = fetchurl {
+        name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz";
+        sha1 = "6f7764f88ea11e0b514bd9bd860a132259992ca4";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_6.0.0.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz";
+        sha1 = "5f4c1d1e748d30cd73ad2944b3577a81b081e8c2";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    }
+    {
+      name = "glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz";
+        sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globby___globby_8.0.2.tgz";
+      path = fetchurl {
+        name = "globby___globby_8.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz";
+        sha1 = "5697619ccd95c5275dbb2d6faa42087c1a941d8d";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.2.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha1 = "6f0952605d0140c1cfdb138ed005775b92d67b02";
+      };
+    }
+    {
+      name = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "gud___gud_1.0.0.tgz";
+      path = fetchurl {
+        name = "gud___gud_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz";
+        sha1 = "a489581b17e6a70beca9abe3ae57de7a499852c0";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.1.1.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha1 = "cb9bee692f87c0612b232840a873904e4c135274";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.0.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.4.3.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz";
+        sha1 = "180bae52c1d0e9ec0c15d7e82a4362d662762f6e";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.3.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
+        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
+      };
+    }
+    {
+      name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+      path = fetchurl {
+        name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz";
+        sha1 = "c108d4f2bb451efef7a37861fdbdae72c9bdefa9";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.0.4.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.7.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
+        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha1 = "759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "hsl_regex___hsl_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsl_regex___hsl_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    }
+    {
+      name = "hsla_regex___hsla_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsla_regex___hsla_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    }
+    {
+      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+      path = fetchurl {
+        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
+      };
+    }
+    {
+      name = "html_element_map___html_element_map_1.1.0.tgz";
+      path = fetchurl {
+        name = "html_element_map___html_element_map_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.1.0.tgz";
+        sha1 = "e5aab9a834caf883b421f8bd9eaedcaac887d63c";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+      };
+    }
+    {
+      name = "html_entities___html_entities_1.2.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_3.5.21.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_3.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz";
+        sha1 = "d0040e054730e354db008463593194015212d20c";
+      };
+    }
+    {
+      name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+      path = fetchurl {
+        name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+        url  = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz";
+        sha1 = "2c53083c1151bfec20479b1f8aaf0039e77b5513";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.6.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
+        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+      };
+    }
+    {
+      name = "http_parser_js___http_parser_js_0.4.10.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    }
+    {
+      name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.18.0.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "i___i_0.3.6.tgz";
+      path = fetchurl {
+        name = "i___i_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz";
+        sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+      };
+    }
+    {
+      name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+      path = fetchurl {
+        name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_4.1.1.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz";
+        sha1 = "21170b53789ee27447c2f47dd683081403f9a467";
+      };
+    }
+    {
+      name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+      path = fetchurl {
+        name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
+        sha1 = "94d2bda96084453ef36fbc5aaec37e0f79f1fc14";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.1.13.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
+        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+      };
+    }
+    {
+      name = "iferr___iferr_0.1.5.tgz";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      name = "ignore_walk___ignore_walk_3.0.3.tgz";
+      path = fetchurl {
+        name = "ignore_walk___ignore_walk_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha1 = "017e2447184bfeade7c238e4aefdd1e8f95b1e37";
+      };
+    }
+    {
+      name = "ignore___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "immer___immer_1.10.0.tgz";
+      path = fetchurl {
+        name = "immer___immer_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz";
+        sha1 = "bad67605ba9c810275d91e1c2a47d4582e98286d";
+      };
+    }
+    {
+      name = "import_cwd___import_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_cwd___import_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.1.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz";
+        sha1 = "6d33fa1dcef6df930fae003446f33415af905118";
+      };
+    }
+    {
+      name = "import_from___import_from_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_from___import_from_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "ini___ini_1.3.5.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
+        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz";
+        sha1 = "2303317efc9a4ea7ec2e2df6f86569b734accf42";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.2.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz";
+        sha1 = "ad50942375d036d327ff528c08bd5fab089928ca";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_2.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
+      };
+    }
+    {
+      name = "ip_regex___ip_regex_2.1.0.tgz";
+      path = fetchurl {
+        name = "ip_regex___ip_regex_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    }
+    {
+      name = "ip___ip_1.1.5.tgz";
+      path = fetchurl {
+        name = "ip___ip_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      name = "is_arguments___is_arguments_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_arguments___is_arguments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.3.2.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+      };
+    }
+    {
+      name = "is_boolean_object___is_boolean_object_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_boolean_object___is_boolean_object_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz";
+        sha1 = "98f8b28030684219a95f375cfbd88ce3405dff93";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.1.4.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz";
+        sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_color_stop___is_color_stop_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_color_stop___is_color_stop_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+      };
+    }
+    {
+      name = "is_glob___is_glob_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
+        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+      };
+    }
+    {
+      name = "is_number_object___is_number_object_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_number_object___is_number_object_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz";
+        sha1 = "f265ab89a9f445034ef6aff15a8f00b00f551799";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
+        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+      };
+    }
+    {
+      name = "is_obj___is_obj_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    }
+    {
+      name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_promise___is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    }
+    {
+      name = "is_regexp___is_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
+        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+      };
+    }
+    {
+      name = "is_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_root___is_root_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_root___is_root_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz";
+        sha1 = "809e18129cf1129644302a4f8544035d51984a9c";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_string___is_string_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_string___is_string_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz";
+        sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
+      };
+    }
+    {
+      name = "is_subset___is_subset_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_subset___is_subset_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz";
+        sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6";
+      };
+    }
+    {
+      name = "is_svg___is_svg_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_svg___is_svg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
+        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "isarray___isarray_0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+      path = fetchurl {
+        name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz";
+        sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af";
+      };
+    }
+    {
+      name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha1 = "08d8c15eb79a7fa3fc98269bc14b451ee82f8039";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha1 = "ad2de62d07472d419c6abc301fc432b98b10d2af";
+      };
+    }
+    {
+      name = "jest_config___jest_config_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz";
+        sha1 = "fb1bbc60c73a46af03590719efa4825e6e4dd1b5";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha1 = "931b7d0d5778a1baf7452cb816e325e3724055da";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha1 = "7970201802ba560e1c4092cc25cbedf5af5a8ce2";
+      };
+    }
+    {
+      name = "jest_each___jest_each_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz";
+        sha1 = "eb2da602e2a610898dbc5f1f6df3ba86b55f8b05";
+      };
+    }
+    {
+      name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz";
+        sha1 = "aad6393a9d4b565b69a609109bf469f62bf18ccc";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha1 = "4b0806c7fc94f95edb369a69cc2778eec2b7375b";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha1 = "333d2d2796f9687f2aeebf0742b519f33c1cbfd3";
+      };
+    }
+    {
+      name = "jest_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz";
+        sha1 = "1260b347918e3931c4ec743ceaf60433da661bd0";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha1 = "1684a0c8a50f2e4901b6644ae861f579eed2ef0e";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha1 = "b38a5d64274934e21fa417ae9a9fbeb77ceaac7d";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha1 = "1f7b1bd3242c1774e62acabb3646d96afc3be6a0";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha1 = "b665dea7c77100c5c4f7dfcb153b65cf07dcf96a";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha1 = "f5b3661d5e628dffe6dd65251dfdae0e87c3a073";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha1 = "527f54a1e380f5e202a8d1149b0ec872f43119e3";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha1 = "c22835541ee379b908673ad51087a2185c13f1c6";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha1 = "c13fb3380bde22bf6575432c493ea8fe37965636";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha1 = "ad055198959c4cfba8a4f066c673a3f0786507ab";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha1 = "dff04c7687af34c4dd7e524892d9cf77e5d17321";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha1 = "574fafdbd54455c2b34b4bdf4365a23857fcdf42";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha1 = "9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha1 = "e6d7d7ef96d31e8b9079a714754c5d5c58288e73";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha1 = "ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba";
+      };
+    }
+    {
+      name = "jest_util___jest_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz";
+        sha1 = "7396814e48536d2e85a37de3e4c431d7cb140162";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha1 = "0775c55360d173cd854e40180756d4ff52def8ab";
+      };
+    }
+    {
+      name = "jest_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+      path = fetchurl {
+        name = "jest_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz";
+        sha1 = "4d5356839a85421588ce452d2440bf0d25308397";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha1 = "4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha1 = "5dbfdb5b2d322e98567898238a9697bcce67b3e5";
+      };
+    }
+    {
+      name = "jest___jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest___jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz";
+        sha1 = "987d290c05a08b52c56188c1002e368edb007171";
+      };
+    }
+    {
+      name = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+      path = fetchurl {
+        name = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz";
+        sha1 = "ae16bf94b26c2ed9ab4db167bba52dfdb615c1df";
+      };
+    }
+    {
+      name = "jquery___jquery_3.4.1.tgz";
+      path = fetchurl {
+        name = "jquery___jquery_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz";
+        sha1 = "714f1f8d9dde4bdfa55764ba37ef214630d80ef2";
+      };
+    }
+    {
+      name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+      path = fetchurl {
+        name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz";
+        sha1 = "c6cee58eb3550372df8deb85fad5ce66ce01d59d";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.13.1.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_3.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdom___jsdom_11.12.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
+        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+      };
+    }
+    {
+      name = "jsdom___jsdom_14.1.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_14.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz";
+        sha1 = "916463b6094956b0a6c1782c94e380cd30e1981b";
+      };
+    }
+    {
+      name = "jsdom___jsdom_15.2.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_15.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.0.tgz";
+        sha1 = "4baead4f464e733533ed6ac607ce440918cf5cbb";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "jsesc___jsesc_0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    }
+    {
+      name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json3___json3_3.3.3.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
+        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "json5___json5_2.1.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz";
+        sha1 = "81b6cb04e9ba496f1c7005d07b4368a2638f90b6";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonify___jsonify_0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify___jsonify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+      path = fetchurl {
+        name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz";
+        sha1 = "4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb";
+      };
+    }
+    {
+      name = "just_extend___just_extend_4.0.2.tgz";
+      path = fetchurl {
+        name = "just_extend___just_extend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz";
+        sha1 = "f3f47f7dfca0f989c55410a7ebc8854b07108afc";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_2.0.1.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz";
+        sha1 = "018ec7a4ce7e3a86cb9141be519d24c8faa981b5";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz";
+        sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+      path = fetchurl {
+        name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz";
+        sha1 = "9742df0e10e3cf46e5c0381c2de90d3a7a2d7555";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_0.2.7.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz";
+        sha1 = "7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_1.0.4.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    }
+    {
+      name = "lcid___lcid_2.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
+        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
+      };
+    }
+    {
+      name = "left_pad___left_pad_1.3.0.tgz";
+      path = fetchurl {
+        name = "left_pad___left_pad_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
+        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_2.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
+      name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+      path = fetchurl {
+        name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz";
+        sha1 = "54cedf6b727e1779fd8f01205f05f6e88706f086";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.2.3.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7";
+      };
+    }
+    {
+      name = "locate_path___locate_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "lodash_es___lodash_es_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash_es___lodash_es_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz";
+        sha1 = "21bd96839354412f23d7a10340e5eac6ee455d78";
+      };
+    }
+    {
+      name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+      path = fetchurl {
+        name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
+        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+      };
+    }
+    {
+      name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    }
+    {
+      name = "lodash.escape___lodash.escape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.escape___lodash.escape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz";
+        sha1 = "c9044690c21e04294beaa517712fded1fa88de98";
+      };
+    }
+    {
+      name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz";
+        sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
+      };
+    }
+    {
+      name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
+        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
+      };
+    }
+    {
+      name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    }
+    {
+      name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+      path = fetchurl {
+        name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz";
+        sha1 = "06de25df4db327ac931981d1bdb067e5af68d051";
+      };
+    }
+    {
+      name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+      path = fetchurl {
+        name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
+        sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d";
+      };
+    }
+    {
+      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.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+      path = fetchurl {
+        name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz";
+        sha1 = "617121f89ac55f59047c7aec1ccd6654c6590f55";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash.template___lodash.template_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.template___lodash.template_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz";
+        sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab";
+      };
+    }
+    {
+      name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
+        sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33";
+      };
+    }
+    {
+      name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz";
+        sha1 = "0b96b31b35672793eb7f5a63ee791f1b9e9025d9";
+      };
+    }
+    {
+      name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz";
+        sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c";
+      };
+    }
+    {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.6.4.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz";
+        sha1 = "f408f4f006db8354d0577dcf6d33485b3cb90d56";
+      };
+    }
+    {
+      name = "lolex___lolex_4.2.0.tgz";
+      path = fetchurl {
+        name = "lolex___lolex_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz";
+        sha1 = "ddbd7f6213ca1ea5826901ab1222b65d714b3cd7";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lower_case___lower_case_1.1.4.tgz";
+      path = fetchurl {
+        name = "lower_case___lower_case_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_5.1.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "mamacro___mamacro_0.0.3.tgz";
+      path = fetchurl {
+        name = "mamacro___mamacro_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz";
+        sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4";
+      };
+    }
+    {
+      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      path = fetchurl {
+        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.5.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
+        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_2.0.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_1.1.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz";
+        sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "mem___mem_4.3.0.tgz";
+      path = fetchurl {
+        name = "mem___mem_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
+        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.5.0.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha1 = "324c01288b88652966d161db77838720845a8e3c";
+      };
+    }
+    {
+      name = "merge_deep___merge_deep_3.0.2.tgz";
+      path = fetchurl {
+        name = "merge_deep___merge_deep_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz";
+        sha1 = "f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "merge_stream___merge_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+      };
+    }
+    {
+      name = "merge2___merge2_1.3.0.tgz";
+      path = fetchurl {
+        name = "merge2___merge2_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz";
+        sha1 = "5b366ee83b2f1582c48f87e47cf1a9352103ca81";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "microevent.ts___microevent.ts_0.1.1.tgz";
+      path = fetchurl {
+        name = "microevent.ts___microevent.ts_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz";
+        sha1 = "70b09b83f43df5172d0205a63025bce0f7357fa0";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.40.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.40.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
+        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.42.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.42.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz";
+        sha1 = "3e252907b4c7adb906597b4b65636272cf9e7bac";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.24.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
+        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      name = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_1.2.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha1 = "820c86a39334640e99516928bd03fca88057d022";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+      path = fetchurl {
+        name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz";
+        sha1 = "81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+      };
+    }
+    {
+      name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.8.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.0.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.10.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    }
+    {
+      name = "minipass___minipass_2.9.0.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz";
+        sha1 = "e713762e7d3e32fed803115cf93e04bca9fcc9a6";
+      };
+    }
+    {
+      name = "minizlib___minizlib_1.3.3.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz";
+        sha1 = "2290de96818a34c29551c8a8d301216bd65a861d";
+      };
+    }
+    {
+      name = "mississippi___mississippi_3.0.0.tgz";
+      path = fetchurl {
+        name = "mississippi___mississippi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
+        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mixin_object___mixin_object_2.0.1.tgz";
+      path = fetchurl {
+        name = "mixin_object___mixin_object_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz";
+        sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.1.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.4.1.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.4.1.tgz";
+        sha1 = "81f598c3ad5e22cdad796b67ecd8d88d0f5baa06";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.5.27.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.5.27.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.27.tgz";
+        sha1 = "73adec8139b6fe30452e78f210f27b1f346b8877";
+      };
+    }
+    {
+      name = "moment___moment_2.24.0.tgz";
+      path = fetchurl {
+        name = "moment___moment_2.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz";
+        sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b";
+      };
+    }
+    {
+      name = "moo___moo_0.4.3.tgz";
+      path = fetchurl {
+        name = "moo___moo_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz";
+        sha1 = "3f847a26f31cf625a956a87f2b10fbc013bfd10e";
+      };
+    }
+    {
+      name = "move_concurrently___move_concurrently_1.0.1.tgz";
+      path = fetchurl {
+        name = "move_concurrently___move_concurrently_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.2.3.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    }
+    {
+      name = "nan___nan_2.14.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
+        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      path = fetchurl {
+        name = "natural_compare___natural_compare_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+    {
+      name = "nearley___nearley_2.19.0.tgz";
+      path = fetchurl {
+        name = "nearley___nearley_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/nearley/-/nearley-2.19.0.tgz";
+        sha1 = "37717781d0fd0f2bfc95e233ebd75678ca4bda46";
+      };
+    }
+    {
+      name = "needle___needle_2.4.0.tgz";
+      path = fetchurl {
+        name = "needle___needle_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
+        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.1.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
+        sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
+      };
+    }
+    {
+      name = "next_tick___next_tick_1.0.0.tgz";
+      path = fetchurl {
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "nise___nise_1.5.2.tgz";
+      path = fetchurl {
+        name = "nise___nise_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/nise/-/nise-1.5.2.tgz";
+        sha1 = "b6d29af10e48b321b307e10e065199338eeb2652";
+      };
+    }
+    {
+      name = "no_case___no_case_2.3.2.tgz";
+      path = fetchurl {
+        name = "no_case___no_case_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
+        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.1.2.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz";
+        sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_1.7.3.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.9.0.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz";
+        sha1 = "d624050edbb44874adca12bb9a52ec63cb782579";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_int64___node_int64_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    }
+    {
+      name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    }
+    {
+      name = "node_notifier___node_notifier_5.4.3.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha1 = "cb72daf94c93904098e28b9c590fd866e464bd50";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
+        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.36.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.36.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz";
+        sha1 = "44b7cb8254138e87bdbfa47761d0f825e20900b4";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.1.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+      };
+    }
+    {
+      name = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      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 = "normalize_url___normalize_url_3.3.0.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+      };
+    }
+    {
+      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      path = fetchurl {
+        name = "npm_bundled___npm_bundled_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
+      };
+    }
+    {
+      name = "npm_packlist___npm_packlist_1.4.6.tgz";
+      path = fetchurl {
+        name = "npm_packlist___npm_packlist_1.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha1 = "53ba3ed11f8523079f1457376dd379ee4ea42ff4";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "nth_check___nth_check_1.0.2.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
+        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.1.4.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha1 = "e006a878db23636f8e8a67d33ca0e4edf61a842f";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_hash___object_hash_1.3.1.tgz";
+      path = fetchurl {
+        name = "object_hash___object_hash_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz";
+        sha1 = "fde452098a951cb145f039bb7d455449ddc126df";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.6.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b";
+      };
+    }
+    {
+      name = "object_is___object_is_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_is___object_is_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz";
+        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "object_path___object_path_0.11.4.tgz";
+      path = fetchurl {
+        name = "object_path___object_path_0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz";
+        sha1 = "370ae752fbf37de3ea70a861c23bba8915691949";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.0.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz";
+        sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519";
+      };
+    }
+    {
+      name = "object.fromentries___object.fromentries_2.0.1.tgz";
+      path = fetchurl {
+        name = "object.fromentries___object.fromentries_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz";
+        sha1 = "050f077855c7af8ae6649f45c80b16ee2d31e704";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "object.values___object.values_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz";
+        sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_2.0.1.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    }
+    {
+      name = "open___open_6.4.0.tgz";
+      path = fetchurl {
+        name = "open___open_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz";
+        sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      name = "optimist___optimist_0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist___optimist_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+    {
+      name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+      path = fetchurl {
+        name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz";
+        sha1 = "e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_locale___os_locale_3.1.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
+        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "p_defer___p_defer_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_defer___p_defer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_is_promise___p_is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_is_promise___p_is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
+      };
+    }
+    {
+      name = "p_limit___p_limit_1.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
+        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.2.1.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz";
+        sha1 = "aa07a788cc3151c939b5131f63570f0dd2009537";
+      };
+    }
+    {
+      name = "p_locate___p_locate_2.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_map___p_map_1.2.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz";
+        sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b";
+      };
+    }
+    {
+      name = "p_reduce___p_reduce_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_reduce___p_reduce_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    }
+    {
+      name = "p_try___p_try_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "pako___pako_1.0.10.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz";
+        sha1 = "4328badb5086a426aa90f541977d4955da5c9732";
+      };
+    }
+    {
+      name = "parallel_transform___parallel_transform_1.2.0.tgz";
+      path = fetchurl {
+        name = "parallel_transform___parallel_transform_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz";
+        sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc";
+      };
+    }
+    {
+      name = "param_case___param_case_2.1.1.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      path = fetchurl {
+        name = "parent_module___parent_module_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
+        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+      };
+    }
+    {
+      name = "parse_asn1___parse_asn1_5.1.5.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz";
+        sha1 = "003271343da58dc94cace494faef3d2147ecea0e";
+      };
+    }
+    {
+      name = "parse_json___parse_json_2.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse5___parse5_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
+        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+      };
+    }
+    {
+      name = "parse5___parse5_5.1.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz";
+        sha1 = "c59341c9723f414c452975564c7c00a68d58acd2";
+      };
+    }
+    {
+      name = "parse5___parse5_3.0.3.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz";
+        sha1 = "042f792ffdd36851551cf4e9e066b3874ab45b5c";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_2.1.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_is_inside___path_is_inside_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_is_inside___path_is_inside_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.6.tgz";
+      path = fetchurl {
+        name = "path_parse___path_parse_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
+        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "pbkdf2___pbkdf2_3.0.17.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha1 = "976c206530617b14ebb32114239f7b09336e93a6";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.0.7.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz";
+        sha1 = "514169d8c7cd0bdbeecc8a2609e34a7163de69f6";
+      };
+    }
+    {
+      name = "pify___pify_2.3.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkg_up___pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_up___pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    }
+    {
+      name = "pn___pn_1.1.0.tgz";
+      path = fetchurl {
+        name = "pn___pn_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
+        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+      };
+    }
+    {
+      name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz";
+        sha1 = "62a1cd3068f46d564bb33c56eb250e4d586676eb";
+      };
+    }
+    {
+      name = "popper.js___popper.js_1.16.0.tgz";
+      path = fetchurl {
+        name = "popper.js___popper.js_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.0.tgz";
+        sha1 = "2e1816bcbbaa518ea6c2e15a466f4cb9c6e2fbb3";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.25.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.25.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz";
+        sha1 = "254fd337ffba869f4b9d37edc298059cb4d35eca";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz";
+        sha1 = "b2a721a0d279c2f9103a36331c88981526428cc7";
+      };
+    }
+    {
+      name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz";
+        sha1 = "dc48d6a8ddbff188a80a000b7393436cb18aed88";
+      };
+    }
+    {
+      name = "postcss_calc___postcss_calc_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_calc___postcss_calc_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz";
+        sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436";
+      };
+    }
+    {
+      name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz";
+        sha1 = "5efd37a88fbabeb00a2966d1e53d98ced93f74e0";
+      };
+    }
+    {
+      name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz";
+        sha1 = "532a31eb909f8da898ceffe296fdc1f864be8547";
+      };
+    }
+    {
+      name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz";
+        sha1 = "a8d9ca4c39d497c9661e374b9c51899ef0f87388";
+      };
+    }
+    {
+      name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz";
+        sha1 = "816ba145ac11cc3cb6baa905a75a49f903e4d31d";
+      };
+    }
+    {
+      name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz";
+        sha1 = "c7a89be872bb74e45b1e3022bfe5748823e6de77";
+      };
+    }
+    {
+      name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+      };
+    }
+    {
+      name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+      };
+    }
+    {
+      name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+      path = fetchurl {
+        name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz";
+        sha1 = "fffd13ffeffad73621be5f387076a28b00294e0c";
+      };
+    }
+    {
+      name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz";
+        sha1 = "2d61772d6e92f22f5e0d52602df8fae46fa30d97";
+      };
+    }
+    {
+      name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz";
+        sha1 = "64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba";
+      };
+    }
+    {
+      name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz";
+        sha1 = "6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2";
+      };
+    }
+    {
+      name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+      };
+    }
+    {
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+      };
+    }
+    {
+      name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+      };
+    }
+    {
+      name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+      };
+    }
+    {
+      name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz";
+        sha1 = "fc927d52fddc896cb3a2812ebc5df147e110522e";
+      };
+    }
+    {
+      name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz";
+        sha1 = "0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7";
+      };
+    }
+    {
+      name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz";
+        sha1 = "e094a9df1783e2200b7b19f875dcad3b3aff8b20";
+      };
+    }
+    {
+      name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz";
+        sha1 = "477d107113ade6024b14128317ade2bd1e17046e";
+      };
+    }
+    {
+      name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz";
+        sha1 = "763b8788596cee9b874c999201cdde80659ef680";
+      };
+    }
+    {
+      name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz";
+        sha1 = "71dd3c6c10a0d846c5eda07803439617bbbabacc";
+      };
+    }
+    {
+      name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz";
+        sha1 = "431c192ab3ed96a3c3d09f2ff615960f902c1715";
+      };
+    }
+    {
+      name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz";
+        sha1 = "28920a2f29945bed4c3198d7df6496d410d3f288";
+      };
+    }
+    {
+      name = "postcss_initial___postcss_initial_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_initial___postcss_initial_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz";
+        sha1 = "99d319669a13d6c06ef8e70d852f68cb1b399b61";
+      };
+    }
+    {
+      name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz";
+        sha1 = "bb51a6856cd12289ab4ae20db1e3821ef13d7d2e";
+      };
+    }
+    {
+      name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
+        sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003";
+      };
+    }
+    {
+      name = "postcss_loader___postcss_loader_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_loader___postcss_loader_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+      };
+    }
+    {
+      name = "postcss_logical___postcss_logical_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_logical___postcss_logical_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz";
+        sha1 = "2495d0f8b82e9f262725f75f9401b34e7b45d5b5";
+      };
+    }
+    {
+      name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz";
+        sha1 = "b75bb6cbc217c8ac49433e12f22048814a4f5ed5";
+      };
+    }
+    {
+      name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+      };
+    }
+    {
+      name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+      };
+    }
+    {
+      name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+      };
+    }
+    {
+      name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+      };
+    }
+    {
+      name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+      };
+    }
+    {
+      name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
+        sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz";
+        sha1 = "dd9953f6dd476b5fd1ef2d8830c8929760b56e63";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz";
+        sha1 = "ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz";
+        sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64";
+      };
+    }
+    {
+      name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz";
+        sha1 = "b50ad7b7f0173e5b5e3880c3501344703e04c052";
+      };
+    }
+    {
+      name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+      };
+    }
+    {
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+      };
+    }
+    {
+      name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+      };
+    }
+    {
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+      };
+    }
+    {
+      name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+      };
+    }
+    {
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+      };
+    }
+    {
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+      };
+    }
+    {
+      name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+      };
+    }
+    {
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+      };
+    }
+    {
+      name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz";
+        sha1 = "eb51568d962b8aa61a8318383c8bb7e54332282e";
+      };
+    }
+    {
+      name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+      };
+    }
+    {
+      name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz";
+        sha1 = "31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30";
+      };
+    }
+    {
+      name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz";
+        sha1 = "add52d0e0a528cabe6afee8b46e2abb277df46bf";
+      };
+    }
+    {
+      name = "postcss_place___postcss_place_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_place___postcss_place_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz";
+        sha1 = "e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62";
+      };
+    }
+    {
+      name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+      path = fetchurl {
+        name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz";
+        sha1 = "c34ddacf8f902383b35ad1e030f178f4cdf118a5";
+      };
+    }
+    {
+      name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz";
+        sha1 = "2ed3eed393b3702879dec4a87032b210daeb04d1";
+      };
+    }
+    {
+      name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+      };
+    }
+    {
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+      };
+    }
+    {
+      name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz";
+        sha1 = "61b360ffdaedca84c7c918d2b0f0d0ea559ab01c";
+      };
+    }
+    {
+      name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+        sha1 = "8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea";
+      };
+    }
+    {
+      name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz";
+        sha1 = "71c8248f917ba2cc93037c9637ee09c64436fcff";
+      };
+    }
+    {
+      name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz";
+        sha1 = "c68ff7ba96527499e832724a2674d65603b645c0";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+        sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+      };
+    }
+    {
+      name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz";
+        sha1 = "482282c09a42706d1fc9a069b73f44ec08391dc9";
+      };
+    }
+    {
+      name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz";
+        sha1 = "da8b472d901da1e205b47bdc98637b9e9e550e5f";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.14.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz";
+        sha1 = "4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.18.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
+        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+    {
+      name = "prepend_http___prepend_http_1.0.4.tgz";
+      path = fetchurl {
+        name = "prepend_http___prepend_http_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    }
+    {
+      name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+      path = fetchurl {
+        name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
+        sha1 = "d23d41fe1375646de2d0104d3454a3008802cf7b";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
+      name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+      path = fetchurl {
+        name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz";
+        sha1 = "f2849e27db79fb4d6cfe24764fc4134f165989f2";
+      };
+    }
+    {
+      name = "pretty_error___pretty_error_2.1.1.tgz";
+      path = fetchurl {
+        name = "pretty_error___pretty_error_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_24.9.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz";
+        sha1 = "12fac31b37019a4eea3c11aa9a959eb7628aa7c9";
+      };
+    }
+    {
+      name = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+      path = fetchurl {
+        name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz";
+        sha1 = "ab05301d8c28536301622d69227632269a70ca3b";
+      };
+    }
+    {
+      name = "promise___promise_8.0.3.tgz";
+      path = fetchurl {
+        name = "promise___promise_8.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz";
+        sha1 = "f592e099c6cddc000d538ee7283bb190452b0bf6";
+      };
+    }
+    {
+      name = "promise___promise_7.3.1.tgz";
+      path = fetchurl {
+        name = "promise___promise_7.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
+        sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
+      };
+    }
+    {
+      name = "prompts___prompts_2.2.1.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz";
+        sha1 = "f901dd2a2dfee080359c0e20059b24188d75ad35";
+      };
+    }
+    {
+      name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+      path = fetchurl {
+        name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz";
+        sha1 = "825d6be46094663848237e3925a98c6e944e9869";
+      };
+    }
+    {
+      name = "prop_types___prop_types_15.7.2.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
+        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.5.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34";
+      };
+    }
+    {
+      name = "prr___prr_1.0.1.tgz";
+      path = fetchurl {
+        name = "prr___prr_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    }
+    {
+      name = "psl___psl_1.4.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz";
+        sha1 = "5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.3.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+      };
+    }
+    {
+      name = "pump___pump_2.0.1.tgz";
+      path = fetchurl {
+        name = "pump___pump_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
+        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "pumpify___pumpify_1.5.1.tgz";
+      path = fetchurl {
+        name = "pumpify___pumpify_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
+        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+      };
+    }
+    {
+      name = "punycode___punycode_1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "q___q_1.5.1.tgz";
+      path = fetchurl {
+        name = "q___q_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.1.1.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz";
+        sha1 = "60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e";
+      };
+    }
+    {
+      name = "raf_schd___raf_schd_4.0.2.tgz";
+      path = fetchurl {
+        name = "raf_schd___raf_schd_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.2.tgz";
+        sha1 = "bd44c708188f2e84c810bf55fcea9231bcaed8a0";
+      };
+    }
+    {
+      name = "raf___raf_3.4.1.tgz";
+      path = fetchurl {
+        name = "raf___raf_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
+        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+      };
+    }
+    {
+      name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+      path = fetchurl {
+        name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
+        sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e";
+      };
+    }
+    {
+      name = "randexp___randexp_0.4.6.tgz";
+      path = fetchurl {
+        name = "randexp___randexp_0.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz";
+        sha1 = "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz";
+        sha1 = "4dd2636846b585c2d842b1e44e1bc29044345874";
+      };
+    }
+    {
+      name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+      path = fetchurl {
+        name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz";
+        sha1 = "8eae107bb400be73132ed3b6a7b4fb156090208e";
+      };
+    }
+    {
+      name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+      path = fetchurl {
+        name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz";
+        sha1 = "3ad2bb8848a32319d760d0a84c56c14bdaae5e81";
+      };
+    }
+    {
+      name = "react_dom___react_dom_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_dom___react_dom_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz";
+        sha1 = "4840bce5409176bc3a1f2bd8cb10b92db452fda6";
+      };
+    }
+    {
+      name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+      path = fetchurl {
+        name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz";
+        sha1 = "c378c4b0a21e88b2e159a3e62b2f531fd63bf60d";
+      };
+    }
+    {
+      name = "react_is___react_is_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz";
+        sha1 = "b85dfecd48ad1ce469ff558a882ca8e8313928fa";
+      };
+    }
+    {
+      name = "react_is___react_is_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz";
+        sha1 = "984120fd4d16800e9a738208ab1fba422d23b5ab";
+      };
+    }
+    {
+      name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+      path = fetchurl {
+        name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
+        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+      };
+    }
+    {
+      name = "react_popper___react_popper_1.3.4.tgz";
+      path = fetchurl {
+        name = "react_popper___react_popper_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.4.tgz";
+        sha1 = "f0cd3b0d30378e1f663b0d79bcc8614221652ced";
+      };
+    }
+    {
+      name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+      path = fetchurl {
+        name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-4.2.1.tgz";
+        sha1 = "8982b74c3e1cf949afaa3c41050458c87b033982";
+      };
+    }
+    {
+      name = "react_scripts___react_scripts_3.2.0.tgz";
+      path = fetchurl {
+        name = "react_scripts___react_scripts_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz";
+        sha1 = "58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c";
+      };
+    }
+    {
+      name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.11.0.tgz";
+        sha1 = "72574566496462c808ac449b0287a4c0a1a7d8f8";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_2.9.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz";
+        sha1 = "df9cdb025796211151a436c69a8f3b97b5b07c8d";
+      };
+    }
+    {
+      name = "react___react_16.10.2.tgz";
+      path = fetchurl {
+        name = "react___react_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz";
+        sha1 = "a5ede5cdd5c536f745173c8da47bda64797a4cf0";
+      };
+    }
+    {
+      name = "reactstrap___reactstrap_8.0.1.tgz";
+      path = fetchurl {
+        name = "reactstrap___reactstrap_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/reactstrap/-/reactstrap-8.0.1.tgz";
+        sha1 = "0b663c8195f540bc1d6d5dbcbcf73cab56fe7c79";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.4.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha1 = "a51c26754658e0a3c21dbf59163bd45ba6f447fc";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "readdirp___readdirp_3.2.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz";
+        sha1 = "c30c33352b12c96dfb4b895421a49fd5a9593839";
+      };
+    }
+    {
+      name = "realpath_native___realpath_native_1.1.0.tgz";
+      path = fetchurl {
+        name = "realpath_native___realpath_native_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+      };
+    }
+    {
+      name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+      path = fetchurl {
+        name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha1 = "9946fb3274e1628de6e36b2f6714953b4845094f";
+      };
+    }
+    {
+      name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+      path = fetchurl {
+        name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
+        sha1 = "749aceec7f3fdf8b63f927a04809e90c5c0b3460";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
+        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.0.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz";
+        sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz";
+        sha1 = "7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
+        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regex_parser___regex_parser_2.2.10.tgz";
+      path = fetchurl {
+        name = "regex_parser___regex_parser_2.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz";
+        sha1 = "9e66a8f73d89a107616e63b39d4deddfee912b37";
+      };
+    }
+    {
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+      path = fetchurl {
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
+        sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c";
+      };
+    }
+    {
+      name = "regexpp___regexpp_2.0.1.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz";
+        sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_4.6.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz";
+        sha1 = "2037c18b327cfce8a6fea2a4ec441f2432afb8b6";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
+        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
+        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+      };
+    }
+    {
+      name = "relateurl___relateurl_0.2.7.tgz";
+      path = fetchurl {
+        name = "relateurl___relateurl_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "renderkid___renderkid_2.0.3.tgz";
+      path = fetchurl {
+        name = "renderkid___renderkid_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz";
+        sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.2.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha1 = "339f6aababcafdb31c799ff158700336301d3346";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.7.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59";
+      };
+    }
+    {
+      name = "request___request_2.88.0.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
+        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_1.0.1.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+      path = fetchurl {
+        name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
+        sha1 = "0e9020dd3d21024458d4ebd27e23e40269810464";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+      };
+    }
+    {
+      name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+      path = fetchurl {
+        name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz";
+        sha1 = "54d8181d33cd1b66a59544d05cadf8e4aa7d37cc";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+    {
+      name = "resolve___resolve_1.12.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz";
+        sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6";
+      };
+    }
+    {
+      name = "restore_cursor___restore_cursor_2.0.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "rework_visit___rework_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "rework_visit___rework_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz";
+        sha1 = "9945b2803f219e2f7aca00adb8bc9f640f842c9a";
+      };
+    }
+    {
+      name = "rework___rework_1.0.1.tgz";
+      path = fetchurl {
+        name = "rework___rework_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz";
+        sha1 = "30806a841342b54510aa4110850cd48534144aa7";
+      };
+    }
+    {
+      name = "rgb_regex___rgb_regex_1.0.1.tgz";
+      path = fetchurl {
+        name = "rgb_regex___rgb_regex_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    }
+    {
+      name = "rgba_regex___rgba_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "rgba_regex___rgba_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.2.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+      };
+    }
+    {
+      name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+      path = fetchurl {
+        name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
+        sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.5.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
+        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+      };
+    }
+    {
+      name = "run_async___run_async_2.3.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.tgz";
+      path = fetchurl {
+        name = "run_queue___run_queue_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    }
+    {
+      name = "rxjs___rxjs_6.5.3.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz";
+        sha1 = "510e26317f4db91a7eb1de77d9dd9ba0a4899a3a";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.2.0.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
+      };
+    }
+    {
+      name = "safe_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
+      path = fetchurl {
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
+      };
+    }
+    {
+      name = "sass_loader___sass_loader_7.2.0.tgz";
+      path = fetchurl {
+        name = "sass_loader___sass_loader_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz";
+        sha1 = "e34115239309d15b2527cb62b5dfefb62a96ff7f";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "saxes___saxes_3.1.11.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_3.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz";
+        sha1 = "d59d1fd332ec92ad98a2e0b2ee644702384b1c5b";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.16.2.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.16.2.tgz";
+        sha1 = "f74cd9d33eff6fc554edfb79864868e4819132c1";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.17.0.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz";
+        sha1 = "7c9c673e4ec781fac853927916d1c426b6f3ddfe";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz";
+        sha1 = "8f254f618d402cc80257486213c8970edfd7c22f";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.7.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.7.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz";
+        sha1 = "da5819fd049d5574f28e88a9bcc6dbc6e6f3906b";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
+        sha1 = "cfc200aef77b600c47da9bb8149c943e798c2fdb";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.11.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
+        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_0.1.2.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz";
+        sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shell_quote___shell_quote_1.7.2.tgz";
+      path = fetchurl {
+        name = "shell_quote___shell_quote_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz";
+        sha1 = "67a7d02c76c9da24f99d20808fcaded0e0e04be2";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.2.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+    {
+      name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+      path = fetchurl {
+        name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    }
+    {
+      name = "sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "e9488ea466070ea908fd44a3d6478fd4923c67ec";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.3.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha1 = "98168d62b79e3a5e758e27ae63c4a053d748f4eb";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "slash___slash_2.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz";
+        sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44";
+      };
+    }
+    {
+      name = "slash___slash_3.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.3.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz";
+        sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.4.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.19.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz";
+        sha1 = "d976bbe800af7bd20ae08598d582393508993c0d";
+      };
+    }
+    {
+      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 = "source_list_map___source_list_map_2.0.1.tgz";
+      path = fetchurl {
+        name = "source_list_map___source_list_map_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.13.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.0.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha1 = "fb83e504445268f154b074e218c87c003cd31df4";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha1 = "3694b5804567a458d3c8045842a6358632f62654";
+      };
+    }
+    {
+      name = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.1.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz";
+        sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+    {
+      name = "srcset___srcset_1.0.0.tgz";
+      path = fetchurl {
+        name = "srcset___srcset_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz";
+        sha1 = "a5669de12b42f3b1d5e83ed03c71046fc48f41ef";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "stable___stable_0.1.8.tgz";
+      path = fetchurl {
+        name = "stable___stable_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
+        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stream_browserify___stream_browserify_2.0.2.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+      };
+    }
+    {
+      name = "stream_each___stream_each_1.2.3.tgz";
+      path = fetchurl {
+        name = "stream_each___stream_each_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
+        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
+      };
+    }
+    {
+      name = "stream_http___stream_http_2.8.3.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
+        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.0.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    }
+    {
+      name = "string_length___string_length_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz";
+        sha1 = "107ef8c23456e187a8abd4a61162ff4ac6e25837";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz";
+        sha1 = "75a729b10cfc1be439543dae442129459ce61e3d";
+      };
+    }
+    {
+      name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha1 = "6cc47f0d7eb8d62b0f3701611715a3954591d634";
+      };
+    }
+    {
+      name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha1 = "669d164be9df9b6f7559fa8e89945b168a5a6c58";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.3.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      name = "stringify_object___stringify_object_3.3.0.tgz";
+      path = fetchurl {
+        name = "stringify_object___stringify_object_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz";
+        sha1 = "703065aefca19300d3ce88af4f5b3956d7556629";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_comments___strip_comments_1.0.2.tgz";
+      path = fetchurl {
+        name = "strip_comments___strip_comments_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz";
+        sha1 = "82b9c45e7f05873bee53f37168af930aa368679d";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha1 = "85713975a91fb87bf1b305cca77395e40d2a64a7";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+    {
+      name = "style_loader___style_loader_1.0.0.tgz";
+      path = fetchurl {
+        name = "style_loader___style_loader_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz";
+        sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82";
+      };
+    }
+    {
+      name = "stylehacks___stylehacks_4.0.3.tgz";
+      path = fetchurl {
+        name = "stylehacks___stylehacks_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "svg_parser___svg_parser_2.0.2.tgz";
+      path = fetchurl {
+        name = "svg_parser___svg_parser_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz";
+        sha1 = "d134cc396fa2681dc64f518330784e98bd801ec8";
+      };
+    }
+    {
+      name = "svgo___svgo_1.3.0.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz";
+        sha1 = "bae51ba95ded9a33a36b7c46ce9c359ae9154313";
+      };
+    }
+    {
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
+      path = fetchurl {
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+      };
+    }
+    {
+      name = "table___table_5.4.6.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz";
+        sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e";
+      };
+    }
+    {
+      name = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      name = "tar___tar_4.4.13.tgz";
+      path = fetchurl {
+        name = "tar___tar_4.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz";
+        sha1 = "43b364bc52888d555298637b10d60790254ab525";
+      };
+    }
+    {
+      name = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+      path = fetchurl {
+        name = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.1.2.tgz";
+        sha1 = "3c9906ca6e5d563faa0b81b2fdc6aa79cad9c0be";
+      };
+    }
+    {
+      name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+      path = fetchurl {
+        name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-core/-/tempusdominus-core-5.0.3.tgz";
+        sha1 = "808642e47a83f45d7ef18c1597fd7b1d413d69e5";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4";
+      };
+    }
+    {
+      name = "terser___terser_4.3.9.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz";
+        sha1 = "e4be37f80553d02645668727777687dad26bbca8";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.2.3.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      path = fetchurl {
+        name = "text_table___text_table_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+    {
+      name = "throat___throat_4.1.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    }
+    {
+      name = "through2___through2_2.0.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
+        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "thunky___thunky_1.1.0.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
+        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+      };
+    }
+    {
+      name = "timers_browserify___timers_browserify_2.0.11.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+      };
+    }
+    {
+      name = "timsort___timsort_0.3.0.tgz";
+      path = fetchurl {
+        name = "timsort___timsort_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    }
+    {
+      name = "tmp___tmp_0.0.33.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz";
+        sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toggle_selection___toggle_selection_1.0.6.tgz";
+      path = fetchurl {
+        name = "toggle_selection___toggle_selection_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_3.0.1.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
+        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+      };
+    }
+    {
+      name = "tr46___tr46_1.0.1.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    }
+    {
+      name = "ts_pnp___ts_pnp_1.1.4.tgz";
+      path = fetchurl {
+        name = "ts_pnp___ts_pnp_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz";
+        sha1 = "ae27126960ebaefb874c6d7fa4729729ab200d90";
+      };
+    }
+    {
+      name = "tslib___tslib_1.10.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz";
+        sha1 = "c3c19f95973fb0a62973fb09d90d961ee43e5c8a";
+      };
+    }
+    {
+      name = "tsutils___tsutils_3.17.1.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_3.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz";
+        sha1 = "ed719917f11ca0dee586272b2ac49e015a2dd759";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+    {
+      name = "type_detect___type_detect_4.0.8.tgz";
+      path = fetchurl {
+        name = "type_detect___type_detect_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
+        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "type___type_1.2.0.tgz";
+      path = fetchurl {
+        name = "type___type_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
+        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+      };
+    }
+    {
+      name = "typed_styles___typed_styles_0.0.7.tgz";
+      path = fetchurl {
+        name = "typed_styles___typed_styles_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz";
+        sha1 = "93392a008794c4595119ff62dde6809dbc40a3d9";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "typescript___typescript_3.6.4.tgz";
+      path = fetchurl {
+        name = "typescript___typescript_3.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz";
+        sha1 = "b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d";
+      };
+    }
+    {
+      name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+      path = fetchurl {
+        name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz";
+        sha1 = "7527178b82f6a62a0f243d1f94fd30e3e3c21098";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.4.10.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz";
+        sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.6.2.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz";
+        sha1 = "fd8048c86d990ddd29fe99d3300e0cb329103f4d";
+      };
+    }
+    {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
+        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz";
+        sha1 = "a9cc6cc7ce63a0a3023fc99e341b94431d405a57";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "uniqs___uniqs_2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs___uniqs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.2.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unquote___unquote_1.1.1.tgz";
+      path = fetchurl {
+        name = "unquote___unquote_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      name = "upper_case___upper_case_1.1.3.tgz";
+      path = fetchurl {
+        name = "upper_case___upper_case_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.2.2.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
+        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_loader___url_loader_2.1.0.tgz";
+      path = fetchurl {
+        name = "url_loader___url_loader_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz";
+        sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.7.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
+        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.0.0.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
+      };
+    }
+    {
+      name = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utila___utila_0.4.0.tgz";
+      path = fetchurl {
+        name = "utila___utila_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.3.3.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz";
+        sha1 = "4568f0216e78760ee1dbf3a4d2cf53e224112866";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha1 = "e14de37b31a6d194f5690d67efc4e7f6fc6ab30e";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "vendors___vendors_1.0.3.tgz";
+      path = fetchurl {
+        name = "vendors___vendors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz";
+        sha1 = "a6467781abd366217c050f8202e7e50cc9eef8c0";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "vm_browserify___vm_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
+        sha1 = "30485ca7d70a6fd052420a3d12fd90e6339ce794";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "warning___warning_3.0.0.tgz";
+      path = fetchurl {
+        name = "warning___warning_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz";
+        sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c";
+      };
+    }
+    {
+      name = "warning___warning_4.0.3.tgz";
+      path = fetchurl {
+        name = "warning___warning_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
+        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.6.0.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
+        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+      };
+    }
+    {
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz";
+        sha1 = "1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+      path = fetchurl {
+        name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz";
+        sha1 = "6b3e280327815b83152c79f42d0ca13b665773c4";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack___webpack_4.41.0.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.41.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz";
+        sha1 = "db6a254bde671769f7c14e90a1a55e73602fc70b";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.7.3.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      path = fetchurl {
+        name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_2.0.4.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz";
+        sha1 = "dde6a5df315f9d39991aa17621853d720b85566f";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz";
+        sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      path = fetchurl {
+        name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_7.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz";
+        sha1 = "26821b9bf16e9e37fd1d640289edddc08afd1950";
+      };
+    }
+    {
+      name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz";
+        sha1 = "e2c0280b149e3a504983b757606ad041f332c35b";
+      };
+    }
+    {
+      name = "workbox_build___workbox_build_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_build___workbox_build_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz";
+        sha1 = "414f70fb4d6de47f6538608b80ec52412d233e64";
+      };
+    }
+    {
+      name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz";
+        sha1 = "f53e079179c095a3f19e5313b284975c91428c91";
+      };
+    }
+    {
+      name = "workbox_core___workbox_core_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_core___workbox_core_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz";
+        sha1 = "005d2c6a06a171437afd6ca2904a5727ecd73be6";
+      };
+    }
+    {
+      name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz";
+        sha1 = "d790433562029e56837f341d7f553c4a78ebe921";
+      };
+    }
+    {
+      name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz";
+        sha1 = "9eda0183b103890b5c256e6f4ea15a1f1548519a";
+      };
+    }
+    {
+      name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz";
+        sha1 = "29c8e4db5843803b34cd96dc155f9ebd9afa453d";
+      };
+    }
+    {
+      name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz";
+        sha1 = "9fc45ed122d94bbe1f0ea9584ff5940960771cba";
+      };
+    }
+    {
+      name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz";
+        sha1 = "f8a470188922145cbf0c09a9a2d5e35645244e74";
+      };
+    }
+    {
+      name = "workbox_routing___workbox_routing_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_routing___workbox_routing_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz";
+        sha1 = "a675841af623e0bb0c67ce4ed8e724ac0bed0cda";
+      };
+    }
+    {
+      name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz";
+        sha1 = "d2be03c4ef214c115e1ab29c9c759c9fe3e9e646";
+      };
+    }
+    {
+      name = "workbox_streams___workbox_streams_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_streams___workbox_streams_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz";
+        sha1 = "0b57da70e982572de09c8742dd0cb40a6b7c2cc3";
+      };
+    }
+    {
+      name = "workbox_sw___workbox_sw_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_sw___workbox_sw_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz";
+        sha1 = "df69e395c479ef4d14499372bcd84c0f5e246164";
+      };
+    }
+    {
+      name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz";
+        sha1 = "47ff5ea1cc074b6c40fb5a86108863a24120d4bd";
+      };
+    }
+    {
+      name = "workbox_window___workbox_window_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_window___workbox_window_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz";
+        sha1 = "ee6051bf10f06afa5483c9b8dfa0531994ede0f3";
+      };
+    }
+    {
+      name = "worker_farm___worker_farm_1.7.0.tgz";
+      path = fetchurl {
+        name = "worker_farm___worker_farm_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+      };
+    }
+    {
+      name = "worker_rpc___worker_rpc_0.1.1.tgz";
+      path = fetchurl {
+        name = "worker_rpc___worker_rpc_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz";
+        sha1 = "cb565bd6d7071a8f16660686051e969ad32f54d5";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "ws___ws_5.2.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
+        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "ws___ws_7.1.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.1.2.tgz";
+        sha1 = "c672d1629de8bb27a9699eb599be47aeeedd8f73";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      path = fetchurl {
+        name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+      };
+    }
+    {
+      name = "xmlchars___xmlchars_2.2.0.tgz";
+      path = fetchurl {
+        name = "xmlchars___xmlchars_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
+        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+      };
+    }
+    {
+      name = "xregexp___xregexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "xregexp___xregexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz";
+        sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      name = "yallist___yallist_3.1.1.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
+        sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_10.1.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+      };
+    }
+    {
+      name = "yargs___yargs_12.0.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_12.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz";
+        sha1 = "fe58234369392af33ecbef53819171eff0f5aadc";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz";
+        sha1 = "4c657a55e07e5f2cf947f8a366567c04a0dedc83";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 80fe9b2357f4..7b92fc98e287 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -2,19 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wireguard-exporter";
-  version = "3.0.1";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "MindFlavor";
     repo = "prometheus_wireguard_exporter";
     rev = version;
-    sha256 = "0wfv54ny557mjajjdf0lyq5sbf9m7y50ggm7s2v30c639i0swyrc";
+    sha256 = "18khym7ygj29w98zf6i1l5c2pz84zla2z34l5jnh595xvwfl94pc";
   };
 
-  cargoSha256 = "06s9194lvwd7lynxnsrjfbjfj87ngvjbqjhx3idf7d1w9mgi4ysw";
+  cargoSha256 = "1bi9nr1dhyv322pq6fjrhs12h3wdak53mvwkbyim1hmrp62vky4m";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
+  # Commonly used hack in nixpkgs to allow unstable features on a stable rustc. This is needed
+  # since `prometheus_exporter_base` uses `#!feature[]` to enable async which
+  # is actually not needed as `async` is part of rustc 1.39.0-stable. This can be removed
+  # as soon as https://github.com/MindFlavor/prometheus_exporter_base/pull/15 is merged.
+  RUSTC_BOOTSTRAP = 1;
+
   meta = with lib; {
     description = "A Prometheus exporter for WireGuard, written in Rust.";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
index d5272e9b08a2..295a75928805 100644
--- a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riemann";
-  version = "0.3.3";
+  version = "0.3.5";
 
   src = fetchurl {
     url = "https://github.com/riemann/riemann/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "11xcmmp5k78vr5ch42zwx9ym84y6kf81z9zwawqybvx7wmlbpdiq";
+    sha256 = "1d7v2lg1b7z6v0qckq70nzqpqcs90v29laizsf8ghyj113ips3rc";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
index 4bb46693b469..a4e2b1eb313c 100644
--- a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
@@ -1,23 +1,25 @@
-{ buildGoPackage, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
 let
   generic = { subPackages, pname, postInstall ? "" }:
-    buildGoPackage rec {
+    buildGoModule rec {
       inherit pname;
-      version = "5.11.0";
-      shortRev = "dd8f160"; # for internal version info
+      version = "5.14.1";
+      shortRev = "1f6d16b"; # for internal version info
 
       goPackagePath = "github.com/sensu/sensu-go";
 
       src = fetchFromGitHub {
         owner = "sensu";
         repo = "sensu-go";
-        rev = version;
-        sha256 = "05dx0nxcjl6fy68br2a37j52iz71kvqnqp29swcif2nwvq7w8mxx";
+        rev = "v${version}";
+        sha256 = "1fhvw2hrn2zqpz3ypsx6i1zrn83pdifvsyzpbhzxmff6l9a290bq";
       };
 
       inherit subPackages postInstall;
 
+      modSha256 = "0c0cj0ylhifyb7l9kjmgdlfzcz8528fzw8kr3c5y7j5h6pih06sy";
+
       buildFlagsArray = let
         versionPkg = "github.com/sensu/sensu-go/version";
       in ''
diff --git a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
index ab2f187e5048..01068a909b9d 100644
--- a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "thanos-io";
     repo = "thanos";
-    sha256 = "06vy22cy81rd71py8057bia3265vjm6ffp16wpx06faramdazq6p";
+    sha256 = "0yxa1wipab1n9bh95n237c9l1sx1nx7r8snsk4nzpmwr3y1b4nn8";
   };
 
-  modSha256 = "139b66jdryqv4s1hjbn9fzkyzn1160wr4z6a6wmmvm3f6p6wgjxp";
+  modSha256 = "0iz16yj41gahsyb6mxbmjs8mjhp5c96dmw75rg9bh5xdh8qh767m";
 
   subPackages = "cmd/thanos";
 
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
index 48b72dc0590d..697492d96277 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, libevent, libiconv, openssl, pcre, zlib
 , odbcSupport ? true, unixODBC
-, snmpSupport ? true, net_snmp
+, snmpSupport ? true, net-snmp
 , sshSupport ? true, libssh2
 , sqliteSupport ? false, sqlite
-, mysqlSupport ? false, mysql
+, mysqlSupport ? false, libmysqlclient
 , postgresqlSupport ? false, postgresql
 }:
 
@@ -34,10 +34,10 @@ in
         zlib
       ]
       ++ optional odbcSupport unixODBC
-      ++ optional snmpSupport net_snmp
+      ++ optional snmpSupport net-snmp
       ++ optional sqliteSupport sqlite
       ++ optional sshSupport libssh2
-      ++ optional mysqlSupport mysql.connector-c
+      ++ optional mysqlSupport libmysqlclient
       ++ optional postgresqlSupport postgresql;
 
       configureFlags = [
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
index 51ca38e8cfc8..4046cc7d8bb5 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
@@ -2,9 +2,9 @@
 , jabberSupport ? true, iksemel
 , ldapSupport ? true, openldap
 , odbcSupport ? true, unixODBC
-, snmpSupport ? true, net_snmp
+, snmpSupport ? true, net-snmp
 , sshSupport ? true, libssh2
-, mysqlSupport ? false, mysql
+, mysqlSupport ? false, libmysqlclient
 , postgresqlSupport ? false, postgresql
 }:
 
@@ -38,9 +38,9 @@ in
       ++ optional odbcSupport unixODBC
       ++ optional jabberSupport iksemel
       ++ optional ldapSupport openldap
-      ++ optional snmpSupport net_snmp
+      ++ optional snmpSupport net-snmp
       ++ optional sshSupport libssh2
-      ++ optional mysqlSupport mysql.connector-c
+      ++ optional mysqlSupport libmysqlclient
       ++ optional postgresqlSupport postgresql;
 
       configureFlags = [
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
index 248c05aab4fa..0a61ba489ebb 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,16 +1,16 @@
 generic: {
-  v42 = generic {
-    version = "4.2.6";
-    sha256 = "0r08v9ka0v8d7w133yr09vaxzl5lhbrsvbx900x15qv8lwliysv4";
+  v44 = generic {
+    version = "4.4.4";
+    sha256 = "0pw66zd89w0i9365zkwn6vihx9bdzsmg7f91hd7zzm42s7kyvxvv";
   };
 
   v40 = generic {
-    version = "4.0.12";
-    sha256 = "1jlbzlz0rzcjixicdcd7xcjhfqwr82hngpazx85f40r9dy574pjw";
+    version = "4.0.16";
+    sha256 = "0hjdvi0cwr9qczmkvnmmd22828hv5c587xcszp9pnap6621f3mx8";
   };
 
   v30 = generic {
-    version = "3.0.28";
-    sha256 = "16966danf5ww4lhjg5gx5bnpid8abxh2ymdg6k5mymrman5bcdjj";
+    version = "3.0.29";
+    sha256 = "1d81w68hnkjdj1a00iasg6aidw25syi4lrbsiyc98pdihmxbpiky";
   };
 }
diff --git a/nixpkgs/pkgs/servers/mpd/clientlib.nix b/nixpkgs/pkgs/servers/mpd/clientlib.nix
index 76b00b4cb29c..c6b36fed8eb8 100644
--- a/nixpkgs/pkgs/servers/mpd/clientlib.nix
+++ b/nixpkgs/pkgs/servers/mpd/clientlib.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  version = "2.16";
+  version = "2.17";
   pname = "libmpdclient";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "libmpdclient";
     rev    = "v${version}";
-    sha256 = "0kd76pcf8pvmzl4k3cbq68c16imwaak2zljsa1wwwgk6idyw6gb1";
+    sha256 = "0458zq12ph1pbm9mcbdj8mm31iq3yzzc1aq9fhfwz341zwpwcp21";
   };
 
   nativeBuildInputs = [ meson ninja ]
diff --git a/nixpkgs/pkgs/servers/mpd/default.nix b/nixpkgs/pkgs/servers/mpd/default.nix
index 7fcb5f945791..f4081e5fa01a 100644
--- a/nixpkgs/pkgs/servers/mpd/default.nix
+++ b/nixpkgs/pkgs/servers/mpd/default.nix
@@ -1,148 +1,162 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, systemd, boost, darwin
-, alsaSupport ? true, alsaLib
-, avahiSupport ? true, avahi, dbus
-, flacSupport ? true, flac
-, vorbisSupport ? true, libvorbis
-, madSupport ? true, libmad
-, id3tagSupport ? true, libid3tag
-, mikmodSupport ? true, libmikmod
-, shoutSupport ? true, libshout
-, sqliteSupport ? true, sqlite
-, curlSupport ? true, curl
-, audiofileSupport ? true, audiofile
-, bzip2Support ? true, bzip2
-, ffmpegSupport ? true, ffmpeg
-, fluidsynthSupport ? true, fluidsynth
-, zipSupport ? true, zziplib
-, samplerateSupport ? true, libsamplerate
-, mmsSupport ? true, libmms
-, mpg123Support ? true, mpg123
-, aacSupport ? true, faad2
-, lameSupport ? true, lame
-, pulseaudioSupport ? true, libpulseaudio
-, jackSupport ? true, libjack2
-, gmeSupport ? true, game-music-emu
-, icuSupport ? true, icu
-, clientSupport ? true, mpd_clientlib
-, opusSupport ? true, libopus
-, soundcloudSupport ? true, yajl
-, nfsSupport ? true, libnfs
-, smbSupport ? true, samba
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin
+# Inputs
+, curl, libmms, libnfs, samba
+# Archive support
+, bzip2, zziplib
+# Codecs
+, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu
+, libmad, libmikmod, mpg123, libopus, libvorbis, lame
+# Filters
+, libsamplerate
+# Outputs
+, alsaLib, libjack2, libpulseaudio, libshout
+# Misc
+, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
+# Services
+, yajl
+# Client support
+, mpd_clientlib
+# Tag support
+, libid3tag
 }:
 
-assert avahiSupport -> avahi != null && dbus != null;
-
 let
-  opt = stdenv.lib.optional;
-  mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
-  major = "0.20";
-  minor = "23";
-
-in stdenv.mkDerivation rec {
-  pname = "mpd";
-  version = "${major}${if minor == "" then "" else "." + minor}";
+  lib = stdenv.lib;
 
-  src = fetchFromGitHub {
-    owner  = "MusicPlayerDaemon";
-    repo   = "MPD";
-    rev    = "v${version}";
-    sha256 = "1z1pdgiddimnmck0ardrpxkvgk1wn9zxri5wfv5ppasbb7kfm350";
+  featureDependencies = {
+    # Storage plugins
+    udisks        = [ dbus ];
+    webdav        = [ curl expat ];
+    # Input plugins
+    curl          = [ curl ];
+    mms           = [ libmms ];
+    nfs           = [ libnfs ];
+    smbclient     = [ samba ];
+    # Archive support
+    bzip2         = [ bzip2 ];
+    zzip          = [ zziplib ];
+    # Decoder plugins
+    audiofile     = [ audiofile ];
+    faad          = [ faad2 ];
+    ffmpeg        = [ ffmpeg ];
+    flac          = [ flac ];
+    fluidsynth    = [ fluidsynth ];
+    gme           = [ game-music-emu ];
+    mad           = [ libmad ];
+    mikmod        = [ libmikmod ];
+    mpg123        = [ mpg123 ];
+    opus          = [ libopus ];
+    vorbis        = [ libvorbis ];
+    # Encoder plugins
+    vorbisenc     = [ libvorbis ];
+    lame          = [ lame ];
+    # Filter plugins
+    libsamplerate = [ libsamplerate ];
+    # Output plugins
+    alsa          = [ alsaLib ];
+    jack          = [ libjack2 ];
+    pulse         = [ libpulseaudio ];
+    shout         = [ libshout ];
+    # Commercial services
+    qobuz         = [ curl libgcrypt yajl ];
+    soundcloud    = [ curl yajl ];
+    tidal         = [ curl yajl ];
+    # Client support
+    libmpdclient  = [ mpd_clientlib ];
+    # Tag support
+    id3tag        = [ libid3tag ];
+    # Misc
+    dbus          = [ dbus ];
+    expat         = [ expat ];
+    icu           = [ icu ];
+    pcre          = [ pcre ];
+    sqlite        = [ sqlite ];
+    syslog        = [ ];
+    systemd       = [ systemd ];
+    yajl          = [ yajl ];
+    zeroconf      = [ avahi dbus ];
   };
 
-  patches = [ ./x86.patch ];
+  run = { features ? null }:
+    let
+      # Disable platform specific features if needed
+      # using libmad to decode mp3 files on darwin is causing a segfault -- there
+      # is probably a solution, but I'm disabling it for now
+      platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
+                  ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
 
-  buildInputs = [ glib boost ]
-    ++ opt stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudioKit
-    ++ opt stdenv.isLinux systemd
-    ++ opt (stdenv.isLinux && alsaSupport) alsaLib
-    ++ opt avahiSupport avahi
-    ++ opt avahiSupport dbus
-    ++ opt flacSupport flac
-    ++ opt vorbisSupport libvorbis
-    # using libmad to decode mp3 files on darwin is causing a segfault -- there
-    # is probably a solution, but I'm disabling it for now
-    ++ opt (!stdenv.isDarwin && madSupport) libmad
-    ++ opt id3tagSupport libid3tag
-    ++ opt mikmodSupport libmikmod
-    ++ opt shoutSupport libshout
-    ++ opt sqliteSupport sqlite
-    ++ opt curlSupport curl
-    ++ opt bzip2Support bzip2
-    ++ opt audiofileSupport audiofile
-    ++ opt ffmpegSupport ffmpeg
-    ++ opt fluidsynthSupport fluidsynth
-    ++ opt samplerateSupport libsamplerate
-    ++ opt mmsSupport libmms
-    ++ opt mpg123Support mpg123
-    ++ opt aacSupport faad2
-    ++ opt lameSupport lame
-    ++ opt zipSupport zziplib
-    ++ opt (!stdenv.isDarwin && pulseaudioSupport) libpulseaudio
-    ++ opt (!stdenv.isDarwin && jackSupport) libjack2
-    ++ opt gmeSupport game-music-emu
-    ++ opt icuSupport icu
-    ++ opt clientSupport mpd_clientlib
-    ++ opt opusSupport libopus
-    ++ opt soundcloudSupport yajl
-    ++ opt (!stdenv.isDarwin && nfsSupport) libnfs
-    ++ opt (!stdenv.isDarwin && smbSupport) samba;
+      knownFeatures = builtins.attrNames featureDependencies;
+      platformFeatures = lib.subtractLists platformMask knownFeatures;
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+      features_ = if (features == null )
+        then platformFeatures
+        else
+          let unknown = lib.subtractLists knownFeatures features; in
+          if (unknown != [])
+            then throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}"
+            else
+              let unsupported = lib.subtractLists platformFeatures features; in
+              if (unsupported != [])
+                then throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}"
+                else features;
 
-  enableParallelBuilding = true;
+    in stdenv.mkDerivation rec {
+      pname = "mpd";
+      version = "0.21.18";
 
-  configureFlags =
-    [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
-      (mkFlag flacSupport "flac")
-      (mkFlag vorbisSupport "vorbis")
-      (mkFlag vorbisSupport "vorbis-encoder")
-      (mkFlag (!stdenv.isDarwin && madSupport) "mad")
-      (mkFlag mikmodSupport "mikmod")
-      (mkFlag id3tagSupport "id3")
-      (mkFlag shoutSupport "shout")
-      (mkFlag sqliteSupport "sqlite")
-      (mkFlag curlSupport "curl")
-      (mkFlag audiofileSupport "audiofile")
-      (mkFlag bzip2Support "bzip2")
-      (mkFlag ffmpegSupport "ffmpeg")
-      (mkFlag fluidsynthSupport "fluidsynth")
-      (mkFlag zipSupport "zzip")
-      (mkFlag samplerateSupport "lsr")
-      (mkFlag mmsSupport "mms")
-      (mkFlag mpg123Support "mpg123")
-      (mkFlag aacSupport "aac")
-      (mkFlag lameSupport "lame-encoder")
-      (mkFlag (!stdenv.isDarwin && pulseaudioSupport) "pulse")
-      (mkFlag (!stdenv.isDarwin && jackSupport) "jack")
-      (mkFlag stdenv.isDarwin "osx")
-      (mkFlag icuSupport "icu")
-      (mkFlag gmeSupport "gme")
-      (mkFlag clientSupport "libmpdclient")
-      (mkFlag opusSupport "opus")
-      (mkFlag soundcloudSupport "soundcloud")
-      (mkFlag (!stdenv.isDarwin && nfsSupport) "libnfs")
-      (mkFlag (!stdenv.isDarwin && smbSupport) "smbclient")
-      "--enable-debug"
-      "--with-zeroconf=avahi"
-    ]
-    ++ opt stdenv.isLinux
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
+      src = fetchFromGitHub {
+        owner  = "MusicPlayerDaemon";
+        repo   = "MPD";
+        rev    = "v${version}";
+        sha256 = "04kzdxigg6yhf5km66hxk6y8n7gl72bxnv2bc5zy274fzqf4cy9p";
+      };
 
-  NIX_LDFLAGS = ''
-    ${if shoutSupport then "-lshout" else ""}
-  '';
+      buildInputs = [ glib boost ]
+        ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
+        ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
 
-  meta = with stdenv.lib; {
-    description = "A flexible, powerful daemon for playing music";
-    homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz ];
-    platforms   = platforms.unix;
+      nativeBuildInputs = [ meson ninja pkgconfig ];
 
-    longDescription = ''
-      Music Player Daemon (MPD) is a flexible, powerful daemon for playing
-      music. Through plugins and libraries it can play a variety of sound
-      files while being controlled by its network protocol.
-    '';
-  };
+      enableParallelBuilding = true;
+
+      mesonAutoFeatures = "disabled";
+      mesonFlags =
+        map (x: "-D${x}=enabled") features_
+        ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
+        ++ lib.optional (builtins.elem "zeroconf" features_)
+          "-Dzeroconf=avahi"
+        ++ lib.optional (builtins.elem "systemd" features_)
+          "-Dsystemd_system_unit_dir=etc/systemd/system";
+
+      meta = with stdenv.lib; {
+        description = "A flexible, powerful daemon for playing music";
+        homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+        license     = licenses.gpl2;
+        maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
+        platforms   = platforms.unix;
+
+        longDescription = ''
+          Music Player Daemon (MPD) is a flexible, powerful daemon for playing
+          music. Through plugins and libraries it can play a variety of sound
+          files while being controlled by its network protocol.
+        '';
+      };
+    };
+in
+{
+  mpd = run { };
+  mpd-small = run { features = [
+    "webdav" "curl" "mms" "bzip2" "zzip"
+    "audiofile" "faad" "flac" "gme" "mad"
+    "mpg123" "opus" "vorbis" "vorbisenc"
+    "lame" "libsamplerate" "shout"
+    "libmpdclient" "id3tag" "expat" "pcre"
+    "yajl" "sqlite"
+    "soundcloud" "qobuz" "tidal"
+  ] ++ lib.optionals stdenv.isLinux [
+    "alsa" "systemd" "syslog"
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    "mad" "jack" "nfs"
+  ]; };
+  mpdWithFeatures = run;
 }
diff --git a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
index 5ecf34282d7c..5b0f4eceaed9 100644
--- a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mosquitto";
-  version = "1.6.6";
+  version = "1.6.7";
 
   src = fetchFromGitHub {
     owner  = "eclipse";
     repo   = "mosquitto";
     rev    = "v${version}";
-    sha256 = "01a1vf0rgncmhk7v9vnj4gdx0j8jfiy95f2hr4iwqdch7jy5q367";
+    sha256 = "1g9g9c95ypfa9dv53ga3hjqxrrlqmcf1lmpxgrifl2l34q4zzfln";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/mtprotoproxy/default.nix b/nixpkgs/pkgs/servers/mtprotoproxy/default.nix
index 69c7f137e3dc..550ee4c160f3 100644
--- a/nixpkgs/pkgs/servers/mtprotoproxy/default.nix
+++ b/nixpkgs/pkgs/servers/mtprotoproxy/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, python, pyaes, pycrypto, wrapPython }:
+{ stdenv, fetchFromGitHub, python, pyaes, pycrypto, uvloop, wrapPython }:
 
 stdenv.mkDerivation rec {
   pname = "mtprotoproxy";
-  version = "1.0.5";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "alexbers";
     repo = "mtprotoproxy";
     rev = "v${version}";
-    sha256 = "11jaz01cagmqadyxkks7dx41ggg6pp2l1ia9npqyrl2xhcxm5b0x";
+    sha256 = "1bpgbqbgy7c637bzm6g5msm2i10dfl4qb7psy3k3cbaysw696kjc";
   };
 
   nativeBuildInputs = [ wrapPython ];
-  pythonPath = [ pyaes pycrypto ];
+  pythonPath = [ pyaes pycrypto uvloop ];
 
   installPhase = ''
     install -Dm755 mtprotoproxy.py $out/bin/mtprotoproxy
diff --git a/nixpkgs/pkgs/servers/mxisd/default.nix b/nixpkgs/pkgs/servers/mxisd/default.nix
index 7166a57747d6..4290d31870cc 100644
--- a/nixpkgs/pkgs/servers/mxisd/default.nix
+++ b/nixpkgs/pkgs/servers/mxisd/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub, jre, git, gradle_4_10, perl, makeWrapper }:
+{ stdenv, fetchFromGitHub, jre, git, gradle_4, perl, makeWrapper }:
 
 let
   name = "mxisd-${version}";
-  version = "1.4.5";
-  rev = "a964b073bfa7552e94fe51f48e18830b1051b0b7";
+  version = "1.4.6";
+  rev = "6e9601cb3a18281857c3cefd20ec773023b577d2";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "kamax-matrix";
     repo = "mxisd";
-    sha256 = "1h1lx531rjswh0m2zdsmfizrkkx9bh414v9m321hbbfzk3f98fkk";
+    sha256 = "07gpdgbz281506p2431qn92bvdza6ap3jfq5b7xdm7nwrry80pzd";
   };
 
 
   deps = stdenv.mkDerivation {
     name = "${name}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_4_10 perl git ];
+    nativeBuildInputs = [ gradle_4 perl git ];
 
     buildPhase = ''
       export MXISD_BUILD_VERSION=${rev}
@@ -41,7 +41,7 @@ let
 in
 stdenv.mkDerivation {
   inherit name src version;
-  nativeBuildInputs = [ gradle_4_10 perl makeWrapper ];
+  nativeBuildInputs = [ gradle_4 perl makeWrapper ];
   buildInputs = [ jre ];
 
   patches = [ ./0001-gradle.patch ];
diff --git a/nixpkgs/pkgs/servers/gnatsd/default.nix b/nixpkgs/pkgs/servers/nats-server/default.nix
index 1bb2ebc4f868..7f75579b51c6 100644
--- a/nixpkgs/pkgs/servers/gnatsd/default.nix
+++ b/nixpkgs/pkgs/servers/nats-server/default.nix
@@ -3,17 +3,16 @@
 with lib;
 
 buildGoPackage rec {
-  pname = "gnatsd";
-  version = "1.4.0";
-  rev = "v${version}";
+  pname   = "nats-server";
+  version = "2.1.0";
 
-  goPackagePath = "github.com/nats-io/gnatsd";
+  goPackagePath = "github.com/nats-io/${pname}";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "nats-io";
-    repo = "gnatsd";
-    sha256 = "0wxdvaxl273kd3wcas634hx1wx5piljgbfr6vhf669b1frkgrh2b";
+    rev    = "v${version}";
+    owner  = "nats-io";
+    repo   = pname;
+    sha256 = "1zp43v69cawbp6bpby1vx51z6nyv8gxnnl2qkhwr9zrgnhlcflnl";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
index 079c877ab7a3..29f0f29a1bc6 100644
--- a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
@@ -3,17 +3,15 @@
 with lib;
 
 buildGoPackage rec {
-  pname = "nats-streaming-server";
-  version = "0.11.2";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/nats-io/nats-streaming-server";
+  pname   = "nats-streaming-server";
+  version = "0.16.2";
+  goPackagePath = "github.com/nats-io/${pname}";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "nats-io";
-    repo = "nats-streaming-server";
-    sha256 = "1jd9c5yw3xxp5hln1g8w48l4cslhxbv0k2af47g6pya09kwknqkq";
+    rev    = "v${version}";
+    owner  = "nats-io";
+    repo   = pname;
+    sha256 = "0xrgwsw4xrn6fjy1ra4ycam50kdhyqqsms4yxblj5c5z7w4hnlmk";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/nextcloud/default.nix b/nixpkgs/pkgs/servers/nextcloud/default.nix
index 69b1f28d2d68..0d0aec4fb2ca 100644
--- a/nixpkgs/pkgs/servers/nextcloud/default.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud";
-  version = "16.0.4";
+  version = "17.0.2";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
-    sha256 = "1l7ckzyqz7g4ny8s2q4xal72p57ldfjs947sk2ya2df93qjh0qz0";
+    sha256 = "1qrxalyyfjlv3myzkn5z33smfpv8r1ph2w9ax6jqivspq3zrc9gk";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/nginx-sso/default.nix b/nixpkgs/pkgs/servers/nginx-sso/default.nix
index a89604c4e7cd..b0ed1c973c0d 100644
--- a/nixpkgs/pkgs/servers/nginx-sso/default.nix
+++ b/nixpkgs/pkgs/servers/nginx-sso/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx-sso";
-  version = "0.16.1";
+  version = "0.23.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 = "1wfk56xnjbx7cwrryrl3jy8zw7sz8akq55nsxiq2i6h3vafy4yaz";
   };
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/servers/nosql/aerospike/default.nix b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
index d3b80aa00feb..b7b43edc1cd9 100644
--- a/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
@@ -15,7 +15,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake libtool ];
   buildInputs = [ openssl zlib ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=format-truncation"
+    "-Wno-error=address-of-packed-member"
+    "-Wno-error=format-overflow"
+    "-Wno-error=stringop-truncation"
+  ];
 
   preBuild = ''
     patchShebangs build/gen_version
diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index be7c51a7ef54..05153a7f8594 100644
--- a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena-fuseki";
-    version = "3.11.0";
+    version = "3.13.1";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
-    sha256 = "05krsd0arhcl2yqmdp3iq2gwl1sc2adv44xpq9w06cps8bxj6yrb";
+    sha256 = "018b07icvjhd44c046rxfjiczcs63cic77cymgg4w8pd3na06c7y";
   };
   buildInputs = [
     makeWrapper
diff --git a/nixpkgs/pkgs/servers/nosql/arangodb/default.nix b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
index 52e6c787bef2..e41930a2f485 100644
--- a/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
@@ -17,7 +17,7 @@ let
 
     # prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory"
     dontFixCmake       =                     lib.versionAtLeast version "3.5";
-    NIX_CFLAGS_COMPILE = lib.optionals      (lib.versionAtLeast version "3.5") [ "-Wno-error" ];
+    NIX_CFLAGS_COMPILE = lib.optionalString (lib.versionAtLeast version "3.5") "-Wno-error";
     preConfigure       = lib.optionalString (lib.versionAtLeast version "3.5") "patchShebangs utils";
 
     postPatch = ''
@@ -53,7 +53,16 @@ let
     };
   };
 in {
-  arangodb_3_3 = common { version = "3.3.23.1";   sha256 = "0bnbiispids7jcgrgcmanf9jqgvk0vaflrvgalz587jwr2zf21k8"; };
-  arangodb_3_4 = common { version = "3.4.7";      sha256 = "1wr2xvi5lnl6f2ryyxdwn4wnfiaz0rrf58ja1k19m7b6w3264iim"; };
-  arangodb_3_5 = common { version = "3.5.0-rc.7"; sha256 = "1sdmbmyml9d3ia3706bv5901qqmh4sxk7js5b9hyfjqpcib10d1k"; };
+  arangodb_3_3 = common {
+    version = "3.3.24";
+    sha256 = "18175789j4y586qvpcsaqxmw7d6vc3s29qm1fja5c7wzimx6ilyp";
+  };
+  arangodb_3_4 = common {
+    version = "3.4.8";
+    sha256 = "0vm94lf1i1vvs04vy68bkkv9q43rsaf1y3kfs6s3jcrs3ay0h0jn";
+  };
+  arangodb_3_5 = common {
+    version = "3.5.1";
+    sha256 = "1jw3j7vaq3xgkxiqg0bafn4b2169jq7f3y0l7mrpnrpijn77rkrv";
+  };
 }
diff --git a/nixpkgs/pkgs/servers/nosql/eventstore/default.nix b/nixpkgs/pkgs/servers/nosql/eventstore/default.nix
index bc1aee8a6876..21658a273b48 100644
--- a/nixpkgs/pkgs/servers/nosql/eventstore/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/nosql/mongodb/default.nix b/nixpkgs/pkgs/servers/nosql/mongodb/default.nix
index 4c4ac4c5cb63..c2ae83f3e8af 100644
--- a/nixpkgs/pkgs/servers/nosql/mongodb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/mongodb/default.nix
@@ -66,7 +66,7 @@ in stdenv.mkDerivation {
       --replace 'engine("wiredTiger")' 'engine("mmapv1")'
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-unused-command-line-argument";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
   sconsFlags = [
     "--release"
diff --git a/nixpkgs/pkgs/servers/nosql/neo4j/default.nix b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
index f471017a3367..98dd604c76dd 100644
--- a/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "neo4j";
-  version = "3.5.8";
+  version = "3.5.14";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    sha256 = "0kj92vljxdhk9pf6gr9cvd2a2ilc4myp5djjkrj3gm37f074swgg";
+    sha256 = "1zjb6cgk2lpzx6pq1cs5fh65in6b5ccpl1cgfiglgpjc948mnhzv";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/nixpkgs/pkgs/servers/nosql/redis/default.nix b/nixpkgs/pkgs/servers/nosql/redis/default.nix
index 9b785917bfbe..278ba8d13c57 100644
--- a/nixpkgs/pkgs/servers/nosql/redis/default.nix
+++ b/nixpkgs/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.5";
+  version = "5.0.7";
   pname = "redis";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "0xd3ak527cnkz2cn422l2ag9nsa6mhv7y2y49zwqy7fjk6bh0f91";
+    sha256 = "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1";
   };
 
   # Cross-compiling fixes
@@ -23,12 +23,15 @@ stdenv.mkDerivation rec {
   # Note: this enables libc malloc as a temporary fix for cross-compiling.
   # Due to hardcoded configure flags in jemalloc, we can't cross-compile vendored jemalloc properly, and so we're forced to use libc allocator.
   # It's weird that the build isn't failing because of failure to compile dependencies, it's from failure to link them!
-  makeFlags = "PREFIX=$(out)" + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " AR=${stdenv.cc.targetPrefix}ar RANLIB=${stdenv.cc.targetPrefix}ranlib MALLOC=libc";
+  makeFlags = [ "PREFIX=$(out)" ]
+    ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" "MALLOC=libc" ];
 
   enableParallelBuilding = true;
 
   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/nixpkgs/pkgs/servers/openafs/1.6/default.nix b/nixpkgs/pkgs/servers/openafs/1.6/default.nix
index 8155a9510613..a1e56ca161ed 100644
--- a/nixpkgs/pkgs/servers/openafs/1.6/default.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.6/default.nix
@@ -84,6 +84,6 @@ stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/openafs/1.6/module.nix b/nixpkgs/pkgs/servers/openafs/1.6/module.nix
index d410a4e55e57..0d61b1cd1041 100644
--- a/nixpkgs/pkgs/servers/openafs/1.6/module.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.6/module.nix
@@ -69,7 +69,7 @@ in stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
     broken = versionOlder kernel.version "3.18" || builtins.compareVersions kernel.version "5.0" >= 0
              || stdenv.targetPlatform.isAarch64;
   };
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/cross-build.patch b/nixpkgs/pkgs/servers/openafs/1.8/cross-build.patch
index 2b4fd58b23a4..62254164a1b1 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/cross-build.patch
+++ b/nixpkgs/pkgs/servers/openafs/1.8/cross-build.patch
@@ -2,9 +2,9 @@ diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new
 --- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
 +++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
 @@ -23,6 +23,7 @@
+ AFS_LT_INIT
  
  AC_PROG_CC
- AC_PROG_LIBTOOL
 +AX_PROG_CC_FOR_BUILD
  
  AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/default.nix b/nixpkgs/pkgs/servers/openafs/1.8/default.nix
index fca872a4a2b5..5fe4cad021f1 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/default.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.8/default.nix
@@ -28,9 +28,6 @@ stdenv.mkDerivation {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
-  # Fixes broken format string in 1.8.2
-  hardeningDisable=[ "format" ];
-
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
@@ -96,6 +93,6 @@ stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/module.nix b/nixpkgs/pkgs/servers/openafs/1.8/module.nix
index d58d2bff8139..dab97f10bee3 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/module.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.8/module.nix
@@ -11,20 +11,6 @@ in stdenv.mkDerivation {
   name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
-  patches = [
-    # Linux 5.3
-    (fetchpatch {
-      name = "openafs_1_8-recurse-keyring_search.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=02d82275c17284d04629282aa374bb39f511c989";
-      sha256 = "03pkldwf6i67yf6i1705qp18rx5b0b342ryda8vfjw9lnvpinygs";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-send-sig.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=2b7af1243f46496c0b5973b3fa2a6396243f7613";
-      sha256 = "13gyh5ncpp15dl7056gdzl5xhp2bmafc557bd2a4bwx9nyj53bag";
-    })
-  ];
-
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
     ++ kernel.moduleBuildDependencies;
 
@@ -67,7 +53,7 @@ in stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
     broken = versionOlder kernel.version "3.18";
   };
 
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix b/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
index d1b23d8bcae5..4a5591ef4646 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.3";
+  version = "1.8.5";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "19ffchxwgqg4wl98l456jdpgq2w8b5izn8hxdsq9hjs0a1nc3nga";
+    sha256 = "08w5n803xm75j7daa3mr2ncfmcg0wpm7yasj6zyddqlb4f7xdppf";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "14smdhn1f6f3cbvvwxgjjld0m4b17vqh3rzkxf5apmjsdda21njq";
+      sha256 = "08mg3n0q2igfas1khj18r9apyrkpbp1jick0ix5nfaal90jbifis";
     })];
 }
diff --git a/nixpkgs/pkgs/servers/osrm-backend/default.nix b/nixpkgs/pkgs/servers/osrm-backend/default.nix
index c0018529ea8b..b744c58d4fb1 100644
--- a/nixpkgs/pkgs/servers/osrm-backend/default.nix
+++ b/nixpkgs/pkgs/servers/osrm-backend/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1m4hf26mgfvvx9z37qww8v8w4mhzyfl554ymdnzl99pr5ild093s";
   };
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=pessimizing-move" "-Wno-error=redundant-move" ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ bzip2 libxml2 libzip boost lua luabind tbb expat ];
 
diff --git a/nixpkgs/pkgs/servers/plex/raw.nix b/nixpkgs/pkgs/servers/plex/raw.nix
index b617fe6fa0ef..380e5bb4be51 100644
--- a/nixpkgs/pkgs/servers/plex/raw.nix
+++ b/nixpkgs/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.16.6.1592-b9d49bdb7";
+  version = "1.18.4.2171-ac2afe5f8";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
-    sha256 = "12wff06nlvcssa6sf6vhxajfd1dnr9870xn9fac4q7gf0yayj27j";
+    sha256 = "10x4cf1c826vj9gqr7r6k70rrjifmi36sd7imfi7pdw5swizjzqv";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/nixpkgs/pkgs/servers/pounce/default.nix b/nixpkgs/pkgs/servers/pounce/default.nix
new file mode 100644
index 000000000000..c581027530ea
--- /dev/null
+++ b/nixpkgs/pkgs/servers/pounce/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, libressl, fetchzip, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "pounce";
+  version = "1.0p1";
+
+  src = fetchzip {
+    url = "https://code.causal.agency/june/pounce/archive/${version}.zip";
+    sha256 = "1fh1cf15ybl962n7x70hlg7zfcmpwgq6q90s74d3jhawmjj01syw";
+  };
+
+  patches = [
+    # Don't always create ${ETCDIR}/rc.d
+    (fetchpatch {
+      url = https://code.causal.agency/june/pounce/commit/db65889605a2fa5352e90a573b7584a6b7a59dd5.patch;
+      sha256 = "0bxhig72g4q0hs8lb7g8lb7kf0w9jdy22qwm9yndlwrdw3vi36zq";
+    })
+    # Simplify Linux.mk
+    (fetchpatch {
+      url = https://code.causal.agency/june/pounce/commit/b7dc2e3439a37d23d4847e130b37ece39b8efdd7.patch;
+      sha256 = "0c2pa6w9abkmaaq4957arfmpsrn933vcrs4a2da785v57pgkj4lq";
+    })
+    # Reference openssl(1) by absolute path
+    (fetchpatch {
+      url = https://code.causal.agency/june/pounce/commit/973f19b4fe73ef956fbb4eeaf963bbb83c926203.patch;
+      sha256 = "1w4rhwqfcakzb9a6afq788rrsypay0rw75bjk2f3l66spjb7v3ps";
+    })
+  ];
+
+  buildInputs = [ libressl ];
+
+  configurePhase = "ln -s Linux.mk config.mk";
+
+  buildFlags = [ "all" ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "LIBRESSL_BIN_PREFIX=${libressl}/bin"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.causal.agency/june/pounce;
+    description = "Simple multi-client TLS-only IRC bouncer";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ edef ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/pulseaudio/default.nix b/nixpkgs/pkgs/servers/pulseaudio/default.nix
index 13b5d4c3c9f0..da201765e55e 100644
--- a/nixpkgs/pkgs/servers/pulseaudio/default.nix
+++ b/nixpkgs/pkgs/servers/pulseaudio/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook
-, libsndfile, libtool, makeWrapper
-, xorg, libcap, alsaLib, glib, gnome3
+{ lib, stdenv, fetchurl, pkgconfig, autoreconfHook
+, libsndfile, libtool, makeWrapper, perlPackages
+, xorg, libcap, alsaLib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
 , speexdsp, systemd, webrtc-audio-processing
@@ -31,16 +31,16 @@
 
 stdenv.mkDerivation rec {
   name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
-  version = "12.2";
+  version = "13.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "0ma0p8iry7fil7qb4pm2nx2pm65kq9hk9xc4r5wkf14nqbzni5l0";
+    sha256 = "0mw0ybrqj7hvf8lqs5gjzip464hfnixw453lr0mqzlng3b5266wn";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool autoreconfHook makeWrapper ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook makeWrapper perlPackages.perl perlPackages.XMLParser ];
 
   propagatedBuildInputs =
     lib.optionals stdenv.isLinux [ libcap ];
@@ -61,25 +61,10 @@ stdenv.mkDerivation rec {
       ++ lib.optional zeroconfSupport  avahi
   );
 
-  patches = [
-    # The following two patches fix alsalib headers move, remove after the next release
-    (fetchpatch {
-      name = "alsa-asoundlib-include.patch";
-      url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/993d3fd89e5611997f1e165bf03edefb0204b0a4.patch";
-      sha256 = "17icnf8026947j1dqw4k16f91vy6zyg7q41zv2j6pxh9fncb1s71";
-    })
-    (fetchpatch {
-      name = "alsa-use-case-include.patch";
-      url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/b89d33bb182c42db5ad3987b0e91b7bf62f421e8.patch";
-      sha256 = "0jccpc0dgkb0v4xrkyca2pm2k4i6pvahs9bq4hbg34173p23g5nb";
-    })
-  ];
-
-  preConfigure = ''
-    # Performs and autoreconf
-    export NOCONFIGURE="yes"
+  autoreconfPhase = ''
+    # Performs an autoreconf
     patchShebangs bootstrap.sh
-    ./bootstrap.sh
+    NOCONFIGURE=1 ./bootstrap.sh
 
     # Move the udev rules under $(prefix).
     sed -i "src/Makefile.in" \
@@ -99,11 +84,11 @@ stdenv.mkDerivation rec {
     [ "--localstatedir=/var"
       "--sysconfdir=/etc"
       "--with-access-group=audio"
-      "--with-bash-completion-dir=\${out}/share/bash-completions/completions"
+      "--with-bash-completion-dir=${placeholder "out"}/share/bash-completions/completions"
     ]
     ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack"
     ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/"
-    ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=\${out}/lib/systemd/user";
+    ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user";
 
   enableParallelBuilding = true;
 
@@ -115,8 +100,8 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I/usr/include";
 
   installFlags =
-    [ "sysconfdir=$(out)/etc"
-      "pulseconfdir=$(out)/etc/pulse"
+    [ "sysconfdir=${placeholder "out"}/etc"
+      "pulseconfdir=${placeholder "out"}/etc/pulse"
     ];
 
   postInstall = lib.optionalString libOnly ''
@@ -128,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/nixpkgs/pkgs/servers/quagga/default.nix b/nixpkgs/pkgs/servers/quagga/default.nix
index fc130965cf10..bd679fd3ff82 100644
--- a/nixpkgs/pkgs/servers/quagga/default.nix
+++ b/nixpkgs/pkgs/servers/quagga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libcap, libnl, readline, net_snmp, less, perl, texinfo,
+{ stdenv, fetchurl, libcap, libnl, readline, net-snmp, less, perl, texinfo,
   pkgconfig, c-ares }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ readline net_snmp c-ares ]
+    [ readline net-snmp c-ares ]
     ++ stdenv.lib.optionals stdenv.isLinux [ libcap libnl ];
 
   nativeBuildInputs = [ pkgconfig perl texinfo ];
diff --git a/nixpkgs/pkgs/servers/rainloop/default.nix b/nixpkgs/pkgs/servers/rainloop/default.nix
index b037524f67f2..ff6cb8c98ebf 100644
--- a/nixpkgs/pkgs/servers/rainloop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch b/nixpkgs/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
index 96710d6162d7..27ebd59a48d9 100644
--- a/nixpkgs/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/roundcube/default.nix b/nixpkgs/pkgs/servers/roundcube/default.nix
index 0b774a4b5add..27ff5b409f79 100644
--- a/nixpkgs/pkgs/servers/roundcube/default.nix
+++ b/nixpkgs/pkgs/servers/roundcube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roundcube";
-  version = "1.3.9";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
-    sha256 = "1b91amcpzb7935hpm67iqw92bl5r1a0rkfrc8gfm8w9sngzv8vbj";
+    sha256 = "0s8gkfnyid1r4xv07vjrbl6558xv6dyn4aapvx8snqdm79n78fn8";
   };
 
   patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open Source Webmail Software";
-    maintainers = with stdenv.lib.maintainers; [ vskilet globin ];
+    maintainers = with stdenv.lib.maintainers; [ vskilet globin ma27 ];
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/nixpkgs/pkgs/servers/routinator/default.nix b/nixpkgs/pkgs/servers/routinator/default.nix
index 440cd3465223..7d91dc91a93e 100644
--- a/nixpkgs/pkgs/servers/routinator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/samba/3.x.nix b/nixpkgs/pkgs/servers/samba/3.x.nix
deleted file mode 100644
index 1f432c189880..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/samba/4.x.nix b/nixpkgs/pkgs/servers/samba/4.x.nix
index 044acbe17207..c7ee15bc9f86 100644
--- a/nixpkgs/pkgs/servers/samba/4.x.nix
+++ b/nixpkgs/pkgs/servers/samba/4.x.nix
@@ -20,11 +20,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.10.8";
+  version = "4.10.11";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "1x0hlhb674fndfkmimjicnzs543n3i8465a5ifcmjwvzavxha7y4";
+    sha256 = "157qvz8x2s7994rzxhcmpc79cfk86zc0rq5qwg8alvjcw0r457v0";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/servers/scylladb/configure-etc-osrelease.patch b/nixpkgs/pkgs/servers/scylladb/configure-etc-osrelease.patch
new file mode 100644
index 000000000000..5fd6c7caf085
--- /dev/null
+++ b/nixpkgs/pkgs/servers/scylladb/configure-etc-osrelease.patch
@@ -0,0 +1,28 @@
+diff --git a/configure.py b/configure.py
+index 25ca951ac..454140420 100755
+--- a/configure.py
++++ b/configure.py
+@@ -36,13 +36,16 @@ tempfile.tempdir = "./build/tmp"
+
+ configure_args = str.join(' ', [shlex.quote(x) for x in sys.argv[1:]])
+
+-for line in open('/etc/os-release'):
+-    key, _, value = line.partition('=')
+-    value = value.strip().strip('"')
+-    if key == 'ID':
+-        os_ids = [value]
+-    if key == 'ID_LIKE':
+-        os_ids += value.split(' ')
++try:
++    for line in open('/etc/os-release'):
++        key, _, value = line.partition('=')
++        value = value.strip().strip('"')
++        if key == 'ID':
++            os_ids = [value]
++        if key == 'ID_LIKE':
++            os_ids += value.split(' ')
++except FileNotFoundError:
++    os_ids = ["linux"]
+
+
+ # distribution "internationalization", converting package names.
diff --git a/nixpkgs/pkgs/servers/scylladb/default.nix b/nixpkgs/pkgs/servers/scylladb/default.nix
index f48ace22f8fb..a2671e17cb7a 100644
--- a/nixpkgs/pkgs/servers/scylladb/default.nix
+++ b/nixpkgs/pkgs/servers/scylladb/default.nix
@@ -41,7 +41,7 @@ gcc8Stdenv.mkDerivation {
     fetchSubmodules = true;
   };
 
-  patches = [ ./seastar-configure-script-paths.patch ];
+  patches = [ ./seastar-configure-script-paths.patch ./configure-etc-osrelease.patch ];
 
   nativeBuildInputs = [
    pkgconfig
@@ -77,20 +77,26 @@ gcc8Stdenv.mkDerivation {
 
   postPatch = ''
     patchShebangs ./configure.py
+    patchShebangs seastar/json/json2code.py
   '';
 
   configurePhase = ''
     ./configure.py --mode=release
   '';
+
   installPhase = ''
     mkdir $out
     cp -r * $out/
   '';
+
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with stdenv.lib; {
     description = "NoSQL data store using the seastar framework, compatible with Apache Cassandra";
     homepage = "https://scylladb.com";
     license = licenses.agpl3;
     platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = []; # It's huge ATM, about 18 GB.
     maintainers = [ stdenv.lib.maintainers.farlion ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix b/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
index 318919203699..73a947066bfa 100644
--- a/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
+++ b/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
@@ -17,12 +17,12 @@ let
   shas =
     if enableUnfree
     then {
-      x86_64-linux  = "0x1ws6iqflvzphg2srvdrn4xrr5wd5fnykkc9h006mj9rb5lp1k9";
-      x86_64-darwin = "0yjzgsbsgwa6gbp270fqfm1klm6f8n4s2xmay62gdgvnsj543cxz";
+      x86_64-linux  = "1s27bzx5y8vcd95qrw6av3fhyxb45219x9ahwaxa2cygmbpighrp";
+      x86_64-darwin = "1ia3byir3i5qaarmcaysrg3dhnxjmxnf0m0kzyf61g9aiy87gb7q";
     }
     else {
-      x86_64-linux  = "1nl6yic1j422l2c7mf8wv0ylfx6marrwm7d181z9nzdswq509kpg";
-      x86_64-darwin = "1sy4an9d1faifr3n2y45kalrd22yb68dnpjhi9h8q73c21gp8pzf";
+      x86_64-linux  = "005i7d7ag10qkn7bkx7md50iihvcvc84hay2j94wvsm7yghhbmi3";
+      x86_64-darwin = "01f81720rbzdqc0g1xymhz2lflldfbnb0rh7mpki99pss28vj9sh";
     };
 in
 stdenv.mkDerivation (rec {
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
index 3a480bd74674..cdab1fce7b0d 100644
--- a/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, stdenv, fetchurl, unzip, elasticsearch }:
+{ lib, stdenv, fetchurl, unzip, elasticsearch }:
 
 let
   esVersion = elasticsearch.version;
@@ -16,27 +16,27 @@ let
   }:
     stdenv.mkDerivation (a // {
       inherit installPhase;
+      pname = "elasticsearch-${pluginName}";
       dontUnpack = true;
       buildInputs = [ unzip ];
       meta = a.meta // {
         platforms = elasticsearch.meta.platforms;
-        maintainers = (a.meta.maintainers or []) ++ (with stdenv.lib.maintainers; [ offline ]);
+        maintainers = (a.meta.maintainers or []) ++ (with lib.maintainers; [ offline ]);
       };
     });
 in {
 
   analysis-lemmagen = esPlugin rec {
-    name = "elasticsearch-analysis-lemmagen-${version}";
-    pluginName = "elasticsearch-analysis-lemmagen";
+    pluginName = "analysis-lemmagen";
     version = esVersion;
     src = fetchurl {
-      url = "https://github.com/vhyza/${pluginName}/releases/download/v${version}/${name}-plugin.zip";
+      url = "https://github.com/vhyza/elasticsearch-${pluginName}/releases/download/v${version}/elasticsearch-${pluginName}-${version}-plugin.zip";
       sha256 =
-        if version == "7.0.1" then "155zj9zw81msx976c952nk926ndav1zqhmy2xih6nr82qf0p71hm"
-        else if version == "6.7.2" then "1r176ncjbilkmri2c5rdxh5xqsrn77m1f0p98zs47czwlqh230iq"
+        if version == "7.5.1" then "0js8b9a9ma797448m3sy92qxbwziix8gkcka7hf17dqrb9k29v61"
+        else if version == "6.8.3" then "12bshvp01pp2lgwd0cn9l58axg8gdimsh4g9wfllxi1bdpv4cy53"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen;
       description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
       license = licenses.asl20;
@@ -44,37 +44,50 @@ in {
   };
 
   discovery-ec2 = esPlugin rec {
-    name = "elasticsearch-discovery-ec2-${version}";
     pluginName = "discovery-ec2";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.0.1" then "0nrvralh4fygs0ys2ikg3x08jdyh9276d5w7yfncbbi0xrg9hk6g"
-        else if version == "6.7.2" then "1p0cdz3lfksfd2kvlcj0syxhbx27mimsaw8q4kgjpjjjwqayg523"
-        else if version == "5.6.16" then "1300pfmnlpfm1hh2jgas8j2kqjqiqkxhr8czshj9lx0wl4ciknin"
+        if version == "7.5.1" then "09wl2bpng4xx384xns960rymnm64b5zn2cb1sp25n85pd0isp4p2"
+        else if version == "6.8.3" then "0pmffz761dqjpvmkl7i7xsyw1iyyspqpddxp89rjsznfc9pak5im"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2;
       description = "The EC2 discovery plugin uses the AWS API for unicast discovery.";
       license = licenses.asl20;
     };
   };
 
+  ingest-attachment = esPlugin rec {
+    pluginName = "ingest-attachment";
+    version = esVersion;
+    src = fetchurl {
+      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
+      sha256 =
+        if version == "7.5.1" then "0hhwxkjlkw1yv5sp6pdn5k1y8bdv4mnmb6nby1z4367mig6rm8v9"
+        else if version == "6.8.3" then "0kfr4i2rcwinjn31xrc2piicasjanaqcgnbif9xc7lnak2nnzmll"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
+    };
+    meta = with lib; {
+      homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/ingest-attachment;
+      description = "Ingest processor that uses Apache Tika to extract contents";
+      license = licenses.asl20;
+    };
+  };
+
   repository-s3 = esPlugin rec {
-    name = "elasticsearch-repository-s3-${version}";
     pluginName = "repository-s3";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.0.1" then "17bf8m1q92j5yhgldckl4hlsfv6qgwwqdc1da9kzgidgky7jwkbc"
-        else if version == "6.7.2" then "1l353zfyv3qziz8xkann9cbzx4wj5s14wnknfw351j6vgdq26l12"
-        else if version == "5.6.16" then "0k3li5xv1270ygb9lqk6ji3nngngl2im3z38k08nd627vxdrzij2"
+        if version == "7.5.1" then "1j1rgbha5lh0a02h55zqc5qn0mvvi16l2m5r8lmaswp97px056v9"
+        else if version == "6.8.3" then "1mm6hj2m1db68n81rzsvlw6nisflr5ikzk5zv9nmk0z641n5vh1x"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-s3;
       description = "The S3 repository plugin adds support for using AWS S3 as a repository for Snapshot/Restore.";
       license = licenses.asl20;
@@ -82,18 +95,16 @@ in {
   };
 
   repository-gcs = esPlugin rec {
-    name = "elasticsearch-repository-gcs-${version}";
     pluginName = "repository-gcs";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.0.1" then "0a3rc2gggsj7xfncil1s53dmq799lcm82h0yncs94jnb182sbmzc"
-        else if version == "6.7.2" then "0afccbvb7x6y3nrwmal09vpgxyz4lar6lffw4mngalcppsk8irvv"
-        else if version == "5.6.16" then "0hwqx4yhdn4c0ccdpvgrg30ag8hy3mgxgk7h7pibdmzvy7qw7501"
+        if version == "7.5.1" then "15g438zpxrcmsgddwmk3sccy92ha90cyq9c61kcw1q84wfi0a7jl"
+        else if version == "6.8.3" then "1s2klpvnhpkrk53p64zbga3b66czi7h1a13f58kfn2cn0zfavnbk"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-gcs;
       description = "The GCS repository plugin adds support for using Google Cloud Storage as a repository for Snapshot/Restore.";
       license = licenses.asl20;
@@ -103,23 +114,21 @@ in {
   search-guard = let
     majorVersion = lib.head (builtins.splitVersion esVersion);
   in esPlugin rec {
-    name = "elasticsearch-search-guard-${version}";
     pluginName = "search-guard";
     version =
-      if esVersion == "7.0.1" then "${esVersion}-35.0.0"
-      else if esVersion == "6.7.2" then "${esVersion}-25.1"
-      else if esVersion == "5.6.16" then "${esVersion}-19.3"
+      # https://docs.search-guard.com/latest/search-guard-versions
+      if esVersion == "7.5.1" then "${esVersion}-38.0.0"
+      else if esVersion == "6.8.3" then "${esVersion}-25.5"
       else throw "unsupported version ${esVersion} for plugin ${pluginName}";
     src = fetchurl {
       url = "mirror://maven/com/floragunn/${pluginName}-${majorVersion}/${version}/${pluginName}-${majorVersion}-${version}.zip";
       sha256 =
-        if version == "7.0.1-35.0.0" then "0wsiqq7j7ph9g2vhhvjmwrh5a2q1wzlysgr75gc35zcvqz6cq8ha"
-        else if version == "6.7.2-25.1" then "119r1zibi0z40mfxrpkx0zzay0yz6c7syqmmw8i2681wmz4nksda"
-        else if version == "5.6.16-19.3" then "1q70anihh89c53fnk8wlq9z5dx094j0f9a0y0v2zsqx18lz9ikmx"
+        if version == "7.5.1-38.0.0" then "1a1wp9wrmz6ji2rnpk0b9jqnp86w0w0z8sb48giyc1gzcy1ra9yh"
+        else if version == "6.8.3-25.5" then "0a7ys9qinc0fjyka03cx9rv0pm7wnvslk234zv5vrphkrj52s1cb"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
-      homepage = https://github.com/floragunncom/search-guard;
+    meta = with lib; {
+      homepage = https://search-guard.com;
       description = "Elasticsearch plugin that offers encryption, authentication, and authorisation. ";
       license = licenses.asl20;
     };
diff --git a/nixpkgs/pkgs/servers/search/groonga/default.nix b/nixpkgs/pkgs/servers/search/groonga/default.nix
index 9fd49e96fa29..cfadeac5f076 100644
--- a/nixpkgs/pkgs/servers/search/groonga/default.nix
+++ b/nixpkgs/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "9.0.6";
+  version = "9.1.0";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "0d1p8v7qd97h3znp84a1w40hbg834n3wxp6gaa8mbnff16s18kl7";
+    sha256 = "11mlpnaldb6z438qdb7qjq9dxbh71l6v6lrv69fxka34izpgyhkk";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/nixpkgs/pkgs/servers/search/solr/8.x.nix b/nixpkgs/pkgs/servers/search/solr/8.x.nix
index fd888de60dec..db70aadf8d53 100644
--- a/nixpkgs/pkgs/servers/search/solr/8.x.nix
+++ b/nixpkgs/pkgs/servers/search/solr/8.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "solr";
-  version = "8.2.0";
+  version = "8.4.0";
 
   src = fetchurl {
     url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
-    sha256 = "0j9lydxlng785h2n1b8avinrkqdpbj5qn4rk897p2pbf4fdv795z";
+    sha256 = "19l11w867y4bms9bmp9pj4ilkay7zb5015vlywdci2mswlafvrv6";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/shairport-sync/default.nix b/nixpkgs/pkgs/servers/shairport-sync/default.nix
index 40b88c34e8d6..99402b3e1be4 100644
--- a/nixpkgs/pkgs/servers/shairport-sync/default.nix
+++ b/nixpkgs/pkgs/servers/shairport-sync/default.nix
@@ -2,11 +2,11 @@
 , libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.2";
+  version = "3.3.5";
   pname = "shairport-sync";
 
   src = fetchFromGitHub {
-    sha256 = "14f09sj2rxmixd5yjmwp82j49rxn1fvcxkvh7qjif893xgk98a3w";
+    sha256 = "1qaxx1g4dvdx54mc1kw07hm445zij37w6qmkdcwymy13krvsfd4b";
     rev = version;
     repo = "shairport-sync";
     owner = "mikebrady";
diff --git a/nixpkgs/pkgs/servers/shellinabox/default.nix b/nixpkgs/pkgs/servers/shellinabox/default.nix
index af1992fc8699..fe1837e907a1 100644
--- a/nixpkgs/pkgs/servers/shellinabox/default.nix
+++ b/nixpkgs/pkgs/servers/shellinabox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }:
 
 stdenv.mkDerivation rec {
   version = "2.20";
@@ -11,10 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "1hmfayh21cks2lyj572944ll0mmgsxbnj981b3hq3nhdg8ywzjfr";
   };
 
-  patches = [ ./shellinabox-minus.patch ];
+  patches = [
+    ./shellinabox-minus.patch
+    (fetchpatch {
+      name = "CVE-2018-16789.patch";
+      url = "https://github.com/shellinabox/shellinabox/commit/4f0ecc31ac6f985e0dd3f5a52cbfc0e9251f6361.patch";
+      sha256 = "1mpm6acxdb0fms9pa2b88fx6hp07ph87ahxi82yyqj2m7p79jx7a";
+    })
+  ];
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ pam openssl openssh makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ];
+  buildInputs = [ pam openssl openssh ];
 
   # Disable GSSAPIAuthentication errors. Also, paths in certain source files are
   # hardcoded. Replace the hardcoded paths with correct paths.
diff --git a/nixpkgs/pkgs/servers/sip/freeswitch/default.nix b/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
index a55d1cf14cda..aeedf8b30aee 100644
--- a/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
+++ b/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
@@ -1,5 +1,21 @@
+{ fetchFromGitHub, stdenv, lib, pkgconfig, autoreconfHook
+, ncurses, gnutls, readline
+, openssl, perl, sqlite, libjpeg, speex, pcre
+, ldns, libedit, yasm, which, libsndfile, libtiff
+
+, curl, lua, libmysqlclient, postgresql, libopus, libctb, gsmlib
+
+, SystemConfiguration
+
+, modules ? null
+}:
+
 let
 
+availableModules = import ./modules.nix {
+  inherit curl lua libmysqlclient postgresql libopus libctb gsmlib;
+};
+
 # the default list from v1.8.7, except with applications/mod_signalwire also disabled
 defaultModules = mods: with mods; [
   applications.commands
@@ -27,6 +43,9 @@ defaultModules = mods: with mods; [
   codecs.h26x
   codecs.opus
 
+  databases.mariadb
+  databases.pgsql
+
   dialplans.asterisk
   dialplans.xml
 
@@ -57,26 +76,9 @@ defaultModules = mods: with mods; [
   xml_int.cdr
   xml_int.rpc
   xml_int.scgi
-];
-
-in
+] ++ lib.optionals stdenv.isLinux [ endpoints.gsmopen ];
 
-{ fetchurl, stdenv, lib, ncurses, curl, pkgconfig, gnutls, readline
-, openssl, perl, sqlite, libjpeg, speex, pcre
-, ldns, libedit, yasm, which, lua, libopus, libsndfile, libtiff
-
-, modules ? defaultModules
-, postgresql
-, enablePostgres ? true
-
-, SystemConfiguration
-}:
-
-let
-
-availableModules = import ./modules.nix { inherit curl lua libopus; };
-
-enabledModules = modules availableModules;
+enabledModules = (if modules != null then modules else defaultModules) availableModules;
 
 modulesConf = let
   lst = builtins.map (mod: mod.path) enabledModules;
@@ -86,11 +88,13 @@ modulesConf = let
 in
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.8.7";
-
-  src = fetchurl {
-    url = "https://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2";
-    sha256 = "0k52mxdfc5w9fdnz8kvfjiwnnjjhnpkirnyrfkhq7bad84m731z4";
+  pname = "freeswitch";
+  version = "1.10.2";
+  src = fetchFromGitHub {
+    owner = "signalwire";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fmrm51zgrasjbmhs0pzb1lyca3ddx0wd35shvxnkjnifi8qd1h7";
   };
   postPatch = ''
     patchShebangs     libs/libvpx/build/make/rtcd.pl
@@ -98,23 +102,21 @@ stdenv.mkDerivation rec {
       --replace AS=\''${AS} AS=yasm
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     openssl ncurses gnutls readline perl libjpeg
     sqlite pcre speex ldns libedit yasm which
     libsndfile libtiff
   ]
   ++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules)
-  ++ lib.optionals enablePostgres [ postgresql ]
   ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = lib.optionals enablePostgres [ "--enable-core-pgsql-support" ];
-
   preConfigure = ''
+    ./bootstrap.sh
     cp "${modulesConf}" modules.conf
   '';
 
@@ -127,7 +129,7 @@ stdenv.mkDerivation rec {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
     homepage = https://freeswitch.org/;
     license = stdenv.lib.licenses.mpl11;
-    maintainers = with stdenv.lib.maintainers; [ ];
+    maintainers = with stdenv.lib.maintainers; [ misuzu ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/sip/freeswitch/modules.nix b/nixpkgs/pkgs/servers/sip/freeswitch/modules.nix
index aed30e467e8b..be80fe56dda6 100644
--- a/nixpkgs/pkgs/servers/sip/freeswitch/modules.nix
+++ b/nixpkgs/pkgs/servers/sip/freeswitch/modules.nix
@@ -1,6 +1,10 @@
 { libopus
+, libctb
+, gsmlib
 , lua
 , curl
+, libmysqlclient
+, postgresql
 }:
 
 let
@@ -101,6 +105,11 @@ in
     theora = mk "codecs/mod_theora" [];
   };
 
+  databases = {
+    mariadb = mk "databases/mod_mariadb" [ libmysqlclient ];
+    pgsql = mk "databases/mod_pgsql" [ postgresql ];
+  };
+
   dialplans = {
     asterisk = mk "dialplans/mod_dialplan_asterisk" [];
     directory = mk "dialplans/mod_dialplan_directory" [];
@@ -114,7 +123,7 @@ in
   endpoints = {
     alsa = mk "endpoints/mod_alsa" [];
     dingaling = mk "endpoints/mod_dingaling" [];
-    gsmopen = mk "endpoints/mod_gsmopen" [];
+    gsmopen = mk "endpoints/mod_gsmopen" [ gsmlib libctb ];
     h323 = mk "endpoints/mod_h323" [];
     khomp = mk "endpoints/mod_khomp" [];
     loopback = mk "endpoints/mod_loopback" [];
diff --git a/nixpkgs/pkgs/servers/sonarr/default.nix b/nixpkgs/pkgs/servers/sonarr/default.nix
index 7b80b021bde7..7a546d5813cf 100644
--- a/nixpkgs/pkgs/servers/sonarr/default.nix
+++ b/nixpkgs/pkgs/servers/sonarr/default.nix
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "05l7l4d1765m01c14iz8lcr61dnm4xd5p09sns4w8wmanks9jg3x";
   };
 
-  buildInputs = [
-    makeWrapper
-  ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix b/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
index ba395c5e7f6b..6637a75ea2f7 100644
--- a/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
@@ -13,15 +13,17 @@ let
 in
 buildGoPackage rec {
   pname = "cockroach";
-  version = "19.1.4";
+  version = "19.1.5";
 
   goPackagePath = "github.com/cockroachdb/cockroach";
 
   src = fetchurl {
     url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
-    sha256 = "1bqzs844ildvyh4332vapsqhfkwcvjmgkkmn3i8ndd89q5yic6fq";
+    sha256 = "1pnzzmxxb7qxiiy8qpl2sifk4qrijjbhmzy47bnjj5ssdsjjjcqy";
   };
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isGNU [ "-Wno-error=deprecated-copy" "-Wno-error=redundant-move" "-Wno-error=pessimizing-move" ];
+
   inherit nativeBuildInputs buildInputs;
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/dolt/default.nix b/nixpkgs/pkgs/servers/sql/dolt/default.nix
new file mode 100644
index 000000000000..b9876fbc5eaa
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/dolt/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, lib, buildGoModule }:
+
+buildGoModule rec {
+    pname = "dolt";
+    version = "0.12.0";
+
+    src = fetchFromGitHub {
+        owner = "liquidata-inc";
+        repo = "dolt";
+        rev = "v${version}";
+        sha256 = "1sy8ia9j5aymjpf3k86fc8yw6384iy9ryd8cl72fr9cp70l7sx1q";
+    };
+
+    modRoot = "./go";
+    subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
+    modSha256 = "0fagi529m1gf5jrqdlg9vxxq4yz9k9q8h92ch0gahp43kxfbgr4q";
+
+    meta = with lib; {
+        description = "Relational database with version control and CLI a-la Git.";
+        homepage = "https://github.com/liquidata-inc/dolt";
+        license = licenses.asl20;
+        maintainers = with maintainers; [ danbst ];
+        platforms = platforms.linux ++ platforms.darwin;
+    };
+}
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch b/nixpkgs/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch
deleted file mode 100644
index dee77d9ab171..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_1.nix b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_1.nix
new file mode 100644
index 000000000000..257fa93d2b51
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_1.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./. (args // {
+  version = "3.1.5";
+  sha256 = "1mfrm595kfnpjladaq6m184npa3rxff9pr1vwa35r057s7nmzpm9";
+})
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
new file mode 100644
index 000000000000..af344d637217
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, cmake
+, curl, openssl, zlib
+, libiconv
+, version, sha256, ...
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  pname = "mariadb-connector-c";
+  inherit version;
+
+  src = fetchurl {
+    urls = [
+      "https://downloads.mariadb.org/f/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
+      "https://downloads.mariadb.com/Connectors/c/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
+    ];
+    inherit sha256;
+  };
+
+  cmakeFlags = [
+    "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DWITH_CURL=ON"
+    "-DWITH_EXTERNAL_ZLIB=ON"
+    "-DWITH_MYSQLCOMPAT=ON"
+  ];
+
+  # The cmake setup-hook uses $out/lib by default, this is not the case here.
+  preConfigure = optionalString stdenv.isDarwin ''
+    cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ curl openssl zlib ];
+  buildInputs = [ libiconv ];
+
+  enableParallelBuilding = true;
+
+  postFixup = ''
+    ln -sv mariadb_config $out/bin/mysql_config
+    ln -sv mariadb $out/lib/mysql
+    ln -sv mariadb $out/include/mysql
+    ln -sv mariadb_version.h $out/include/mariadb/mysql_version.h
+  '';
+
+  meta = {
+    description = "Client library that can be used to connect to MySQL or MariaDB";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ globin ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
index b0fdd333238b..d451c1dab5c9 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
@@ -1,9 +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, fetchpatch
+, fixDarwinDylibNames, cctools, CoreServices, less
 , withoutClient ? false
 }:
 
@@ -18,24 +16,17 @@ mytopEnv = perl.withPackages (p: with p; [ DataDumper DBDmysql DBI TermReadKey ]
 mariadb = server // {
   inherit client; # MariaDB Client
   server = server; # MariaDB Server
-  inherit connector-c; # libmysqlclient.so
-  inherit galera;
-};
-
-galeraLibs = buildEnv {
-  name = "galera-lib-inputs-united";
-  paths = [ openssl.out boost check ];
 };
 
 common = rec { # attributes common to both builds
-  version = "10.3.18";
+  version = "10.3.20";
 
   src = fetchurl {
     urls = [
       "https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
       "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
     ];
-    sha256 = "1p6yvmahnkmsz50zjzp20ak7jzbqysly5bdl51nnrngrbfl6qib9";
+    sha256 = "14n4zfpwhvafz02r95bidmkwq2bz9jj3safqni1h21jfd0nqz0ak";
     name   = "mariadb-${version}.tar.gz";
   };
 
@@ -43,25 +34,16 @@ 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
-  '' + optionalString stdenv.hostPlatform.isDarwin ''
-    substituteInPlace cmake/build_configurations/mysql_release.cmake \
-      --replace "SET(PLUGIN_AUTH_PAM YES)" ""
   '';
 
   patches = [
     ./cmake-includedir.patch
-    ./cmake-libmariadb-includedir.patch
-  ] ++ optional stdenv.hostPlatform.isDarwin (fetchpatch {
-    url = "https://github.com/MariaDB/mariadb-connector-c/commit/ee91b2c98a63acb787114dee4f2694e154630928.patch";
-    extraPrefix = "libmariadb/";
-    sha256 = "06i865zwyhs9fvrgmargzn09pbg1cmably3c4wifd241bj8ig8qk";
-    stripLen = 1;
-  });
+  ];
 
   cmakeFlags = [
     "-DBUILD_CONFIG=mysql_release"
@@ -91,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.
@@ -102,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;
@@ -124,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
@@ -139,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}
@@ -157,19 +136,21 @@ 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.hostPlatform.isDarwin [
+    ./cmake-without-plugin-auth-pam.patch
   ];
 
   cmakeFlags = common.cmakeFlags ++ [
@@ -183,135 +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";
 });
-
-connector-c = stdenv.mkDerivation rec {
-  pname = "mariadb-connector-c";
-  version = "2.3.7";
-
-  src = fetchurl {
-    url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//nyc2.mirrors.digitalocean.com/mariadb/";
-    sha256 = "13izi35vvxhiwl2dsnqrz75ciisy2s2k30giv7hrm01qlwnmiycl";
-    name   = "mariadb-connector-c-${version}-src.tar.gz";
-  };
-
-  # outputs = [ "dev" "out" ]; FIXME: cmake variables don't allow that < 3.0
-  cmakeFlags = [
-    "-DWITH_EXTERNAL_ZLIB=ON"
-    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
-  ];
-
-  # The cmake setup-hook uses $out/lib by default, this is not the case here.
-  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-    cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
-  '';
-
-  nativeBuildInputs = [ cmake ];
-  propagatedBuildInputs = [ openssl zlib ];
-  buildInputs = [ libiconv ];
-
-  enableParallelBuilding = true;
-
-  postFixup = ''
-    ln -sv mariadb_config $out/bin/mysql_config
-    ln -sv mariadb $out/lib/mysql
-    ln -sv mariadb $out/include/mysql
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Client library that can be used to connect to MySQL or MariaDB";
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ globin ];
-    platforms = platforms.all;
-  };
-};
-
-galera = stdenv.mkDerivation rec {
-  pname = "mariadb-galera";
-  version = "25.3.26";
-
-  src = fetchFromGitHub {
-    owner = "codership";
-    repo = "galera";
-    rev = "release_${version}";
-    sha256 = "0fs0c1px9lknf1a5wwb12z1hj7j7b6hsfjddggikvkdkrnr2xs1f";
-    fetchSubmodules = true;
-  };
-
-  buildInputs = [ asio boost check openssl scons ];
-
-  postPatch = ''
-    substituteInPlace SConstruct \
-      --replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'"
-  '';
-
-  preConfigure = ''
-    export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include"
-    export LIBPATH="${galeraLibs}/lib"
-  '';
-
-  sconsFlags = "ssl=1 system_asio=0 strict_build_flags=0";
-
-  installPhase = ''
-    # copied with modifications from scripts/packages/freebsd.sh
-    GALERA_LICENSE_DIR="$share/licenses/${pname}-${version}"
-    install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR}
-    install -m 555 "garb/garbd"                       "$out/bin/garbd"
-    install -m 444 "libgalera_smm.so"                 "$out/lib/galera/libgalera_smm.so"
-    install -m 444 "scripts/packages/README"          "$out/share/doc/galera/"
-    install -m 444 "scripts/packages/README-MySQL"    "$out/share/doc/galera/"
-    install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR"
-    install -m 444 "LICENSE"                          "$out/$GALERA_LICENSE_DIR/GPLv2"
-    install -m 444 "asio/LICENSE_1_0.txt"             "$out/$GALERA_LICENSE_DIR/LICENSE.asio"
-    install -m 444 "www.evanjones.ca/LICENSE"         "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c"
-    install -m 444 "chromium/LICENSE"                 "$out/$GALERA_LICENSE_DIR/LICENSE.chromium"
-  '';
-
-  meta = {
-    description = "Galera 3 wsrep provider library";
-    homepage = http://galeracluster.com/;
-    license = licenses.lgpl2;
-    maintainers = with maintainers; [ izorkin ];
-    platforms = platforms.all;
-  };
-};
 in mariadb
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/galera/25.nix b/nixpkgs/pkgs/servers/sql/mariadb/galera/25.nix
new file mode 100644
index 000000000000..2772d60e398b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/galera/25.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./. (args // {
+  version = "25.3.27";
+  sha256 = "143kzj0fmak1gdww4qkqmmliw8klxm6mwk5531748swlwm6gqr5q";
+})
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
new file mode 100644
index 000000000000..73d37ba11a22
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchFromGitHub, buildEnv
+, asio, boost, check, openssl, scons
+, version, sha256, ...
+}:
+
+let
+  pname = "mariadb-galera";
+  galeraLibs = buildEnv {
+    name = "galera-lib-inputs-united";
+    paths = [ openssl.out boost check ];
+  };
+
+in stdenv.mkDerivation {
+  inherit pname;
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "codership";
+    repo = "galera";
+    rev = "release_${version}";
+    inherit sha256;
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ asio boost check openssl scons ];
+
+  postPatch = ''
+    substituteInPlace SConstruct \
+      --replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'"
+  '';
+
+  preConfigure = ''
+    export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include"
+    export LIBPATH="${galeraLibs}/lib"
+  '';
+
+  sconsFlags = "ssl=1 system_asio=1 strict_build_flags=0";
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    # copied with modifications from scripts/packages/freebsd.sh
+    GALERA_LICENSE_DIR="$share/licenses/${pname}"
+    install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR}
+    install -m 555 "garb/garbd"                       "$out/bin/garbd"
+    install -m 444 "libgalera_smm.so"                 "$out/lib/galera/libgalera_smm.so"
+    install -m 444 "scripts/packages/README"          "$out/share/doc/galera/"
+    install -m 444 "scripts/packages/README-MySQL"    "$out/share/doc/galera/"
+    install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR"
+    install -m 444 "LICENSE"                          "$out/$GALERA_LICENSE_DIR/GPLv2"
+    install -m 444 "asio/LICENSE_1_0.txt"             "$out/$GALERA_LICENSE_DIR/LICENSE.asio"
+    install -m 444 "www.evanjones.ca/LICENSE"         "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c"
+    install -m 444 "chromium/LICENSE"                 "$out/$GALERA_LICENSE_DIR/LICENSE.chromium"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Galera 3 wsrep provider library";
+    homepage = https://galeracluster.com/;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ izorkin ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/sql/monetdb/default.nix b/nixpkgs/pkgs/servers/sql/monetdb/default.nix
index 245bd811c1a2..08d2f8e504b1 100644
--- a/nixpkgs/pkgs/servers/sql/monetdb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/monetdb/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "11.33.3";
+  version = "11.35.3";
 in stdenv.mkDerivation {
 
   pname = "monetdb";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
-    sha256 = "0k0xcm3b5qq2arjfn8f1h020sjkk97qfynsimn848bnl01vscqh8";
+    sha256 = "185v8ph8jq8im77dmm20d64nwgjzzc01kz71rh09nb6x6rgcna2x";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix b/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
index 8785e052224d..fcb64550d6fe 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/percona/5.6.x.nix b/nixpkgs/pkgs/servers/sql/percona/5.6.x.nix
index 7f8f0786e038..860c1f8e94f7 100644
--- a/nixpkgs/pkgs/servers/sql/percona/5.6.x.nix
+++ b/nixpkgs/pkgs/servers/sql/percona/5.6.x.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     "-DINSTALL_SHAREDIR=share/mysql"
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
   NIX_LDFLAGS = "-lgcc_s";
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix b/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
index 30be61a805a7..f71afc2b674e 100644
--- a/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
+++ b/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "pgbouncer";
-  version = "1.10.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://pgbouncer.github.io/downloads/files/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1m8vsxyna5grs5p0vnxf3fxxnkk9aqjf3qmr2bbkpkhlzr11986q";
+    sha256 = "0gi7ggmyjqd4kxdwm5csmzmjmfrjx7q20dfzk3da1bvc6xj6ag0v";
   };
 
-  buildInputs = [ libevent openssl c-ares pkg-config ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libevent openssl c-ares ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://pgbouncer.github.io;
+    homepage = "https://pgbouncer.github.io";
     description = "Lightweight connection pooler for PostgreSQL";
     license = licenses.isc;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/default.nix b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
index 0ca6f35ae7ad..3f05b3e36c19 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/default.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
@@ -44,7 +44,7 @@ let
 
     buildFlags = [ "world" ];
 
-    NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];
+    NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
     # Otherwise it retains a reference to compiler and fails; see #44767.  TODO: better.
     preConfigure = "CC=${stdenv.cc.targetPrefix}cc";
@@ -81,8 +81,8 @@ let
     postInstall =
       ''
         moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
-        moveToOutput "lib/libpgcommon.a" "$out"
-        moveToOutput "lib/libpgport.a" "$out"
+        moveToOutput "lib/libpgcommon*.a" "$out"
+        moveToOutput "lib/libpgport*.a" "$out"
         moveToOutput "lib/libecpg*" "$out"
 
         # Prevent a retained dependency on gcc-wrapper.
@@ -110,6 +110,17 @@ let
     # autodetection doesn't seem to able to find this, but it's there.
     checkTarget = "check";
 
+    preCheck =
+      # On musl, comment skip the following tests, because they break due to
+      #     ! ERROR:  could not load library "/build/postgresql-11.5/tmp_install/nix/store/...-postgresql-11.5-lib/lib/libpqwalreceiver.so": Error loading shared library libpq.so.5: No such file or directory (needed by /build/postgresql-11.5/tmp_install/nix/store/...-postgresql-11.5-lib/lib/libpqwalreceiver.so)
+      # See also here:
+      #     https://git.alpinelinux.org/aports/tree/main/postgresql/disable-broken-tests.patch?id=6d7d32c12e073a57a9e5946e55f4c1fbb68bd442
+      if stdenv.hostPlatform.isMusl then ''
+        substituteInPlace src/test/regress/parallel_schedule \
+          --replace "subscription" "" \
+          --replace "object_address" ""
+      '' else null;
+
     doInstallCheck = false; # needs a running daemon?
 
     disallowedReferences = [ stdenv.cc ];
@@ -169,35 +180,43 @@ 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.1";
+    psqlSchema = "12";
+    sha256 = "1vc3hjcbgkdfczc1ipkk02rahabn7fabpb7qs203jxpnpamz76x0";
+    this = self.postgresql_12;
+    inherit self;
+  };
+
 }
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index 05fd405dbe6c..5946b8f5ec32 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index 9a61e3c835da..deac1072e65c 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_hll.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_partman.nix
index 5fbe757598cc..94a71cf223a8 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_partman.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_partman.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_partman";
-  version = "4.1.0";
+  version = "4.2.2";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "pgpartman";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06";
+    sha256 = "04d34b5z957imm3dndzjn474rxbgx95ha7a9x3vd0rya1pjv927r";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_repack.nix
index 7b64de381f3e..aeaff17889fc 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_repack.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_repack.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_repack";
-  version = "1.4.4";
+  version = "1.4.5";
 
   buildInputs = [ postgresql openssl zlib readline ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "reorg";
     repo   = "pg_repack";
     rev    = "refs/tags/ver_${version}";
-    sha256 = "0ynsmsxfkcp82ccpz2nrgg8wiil8yxqigvw6425lx8v80h5lszbw";
+    sha256 = "1qsya9h4r147mkl7jzh4qk7ciyr3hj6gv7rfh4zml9zav0pjj76x";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_topn.nix
index c368929db5dc..b6300f78af25 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_topn.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_topn.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_topn";
-  version = "2.2.2";
+  version = "2.3.0";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-topn";
     rev    = "refs/tags/v${version}";
-    sha256 = "1bh28nrxj06vc2cvlsxlwrwad5ff3lfj3kr5cnnggwjk2dhwbbjm";
+    sha256 = "05mjzm7rz5j7byzag23526hhsqsg4dsyxxsg8q9ray1rwxjbr392";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 15a220670008..866dd8021d0a 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/pgtap.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 804356e9f6be..54e92b977bcc 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgtap.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
index 88090636ff21..c7bceb232f66 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
@@ -14,13 +14,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "postgis";
-  version = "2.5.3";
+  version = "3.0.0";
 
   outputs = [ "out" "doc" ];
 
   src = fetchurl {
     url = "https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz";
-    sha256 = "16jm9v9y25dhfwd4hvhnynj6k3ikjbr3z3dpn8py50gr82fjds3j";
+    sha256 = "15557fbk0xkngihwhqsbdyz2ng49blisf5zydw81j0gabk6x4vy0";
   };
 
   buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc ]
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 590d46b430ea..ddefaea1549d 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
-  version = "1.0.8";
+  version = "2.0.1";
 
   buildInputs = [ postgresql freetds ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "tds-fdw";
     repo   =  pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0dlv1imiy773yplqqpl26xka65bc566k2x81wkrbvwqagnwvcai2";
+    sha256 = "1zpcrx30bvaf72782hgz2s19i5ndwvi7z87fanl1lnymznrk9lzg";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index ef3dc4894d7b..0427de60aa52 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "1.4.2";
+  version = "1.5.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,10 +17,10 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "06mchpfjh4kskxq5r8b84870gl37xcqdf14n96qjb4nbyw9l8xcc";
+    sha256 = "1mgmkc42nksfsmjg463v03rj1v8gybwlzzi515gxz6ijx8604w4c";
   };
 
-  cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" ];
+  cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
 
   # Fix the install phase which tries to install into the pgsql extension dir,
   # and cannot be manually overridden. This is rather fragile but works OK.
diff --git a/nixpkgs/pkgs/servers/squid/default.nix b/nixpkgs/pkgs/servers/squid/default.nix
index 72a7fff7c475..5a6cbd7e2d6f 100644
--- a/nixpkgs/pkgs/servers/squid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/tautulli/default.nix b/nixpkgs/pkgs/servers/tautulli/default.nix
index 67d441e76c74..cbcd3c354cb4 100644
--- a/nixpkgs/pkgs/servers/tautulli/default.nix
+++ b/nixpkgs/pkgs/servers/tautulli/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.33";
+  version = "2.1.38";
   pname = "Tautulli";
 
   pythonPath = [ python.pkgs.setuptools ];
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1yj4akp10fxqndsbb59rjdw9by6rhmz24syyq6d4x5bg72an9n80";
+    sha256 = "00kxz4i97lk3cb11vcpj894xdi7q9f1jcy29yglya8rcvsqmddwd";
   };
 
   buildPhase = ":";
diff --git a/nixpkgs/pkgs/servers/teleport/default.nix b/nixpkgs/pkgs/servers/teleport/default.nix
index 3a83f1a08c25..dc92a10fe24d 100644
--- a/nixpkgs/pkgs/servers/teleport/default.nix
+++ b/nixpkgs/pkgs/servers/teleport/default.nix
@@ -3,14 +3,14 @@
 
 buildGoPackage rec {
   pname = "teleport";
-  version = "4.0.4";
+  version = "4.1.0";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "1ady9nh1mi1lb9a868w6ylncz2r6x7mk33ajiymn2frpcwk9m2l9";
+    sha256 = "1yj4z9lzvwvv566d8c4351xj23vmw8zh9scx87dlf0qzqxri91wk";
   };
 
   goPackagePath = "github.com/gravitational/teleport";
@@ -35,7 +35,7 @@ buildGoPackage rec {
     description = "A SSH CA management suite";
     homepage = "https://gravitational.com/teleport/";
     license = stdenv.lib.licenses.asl20;
-    maintainers = [ stdenv.lib.maintainers.tomberek ];
+    maintainers = with stdenv.lib.maintainers; [ sigma tomberek ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/tmate-ssh-server/default.nix b/nixpkgs/pkgs/servers/tmate-ssh-server/default.nix
new file mode 100644
index 000000000000..836fa33f3f75
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tmate-ssh-server/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, cmake, libtool, pkgconfig
+, zlib, openssl, libevent, ncurses, ruby, msgpack, libssh }:
+
+stdenv.mkDerivation rec {
+  pname = "tmate-ssh-server";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner  = "tmate-io";
+    repo   = "tmate-ssh-server";
+    rev    = version;
+    sha256 = "1y77mv1k4c79glj84lzlp0s1lafr1jzf60mywr5vhy6sq47q8hwd";
+  };
+
+  dontUseCmakeConfigure = true;
+
+  buildInputs = [ libtool zlib openssl libevent ncurses ruby msgpack libssh ];
+  nativeBuildInputs = [ autoreconfHook cmake pkgconfig ];
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage    = https://tmate.io/;
+    description = "tmate SSH Server";
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/trezord/default.nix b/nixpkgs/pkgs/servers/trezord/default.nix
index 84b7b325b46f..134d36258a56 100644
--- a/nixpkgs/pkgs/servers/trezord/default.nix
+++ b/nixpkgs/pkgs/servers/trezord/default.nix
@@ -1,12 +1,9 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, trezor-udev-rules }:
 
 buildGoPackage rec {
   pname = "trezord-go";
   version = "2.0.27";
 
-  # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
-  hardeningDisable = [ "fortify" ];
-
   goPackagePath = "github.com/trezor/trezord-go";
 
   src = fetchFromGitHub {
@@ -16,6 +13,8 @@ buildGoPackage rec {
     sha256 = "00d90qmmk1pays78a2jm8gb7dncvlsjjn4033q1yd1ii3fxc6nh8";
   };
 
+  propagatedBuildInputs = [ trezor-udev-rules ];
+
   meta = with stdenv.lib; {
     description = "TREZOR Communication Daemon aka TREZOR Bridge";
     homepage = "https://trezor.io";
diff --git a/nixpkgs/pkgs/servers/trickster/trickster.nix b/nixpkgs/pkgs/servers/trickster/trickster.nix
new file mode 100644
index 000000000000..3c03193e7708
--- /dev/null
+++ b/nixpkgs/pkgs/servers/trickster/trickster.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "trickster";
+  version = "0.1.10";
+
+  goPackagePath = "github.com/Comcast/trickster";
+
+  goDeps = ./trickster_deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "Comcast";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "12z71rf03g2x8r7cgns0n4n46r0gjsfyig6z9r5xrn9kfghabfi8";
+  };
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Reverse proxy cache for the Prometheus HTTP APIv1";
+    homepage = "https://github.com/Comcast/trickster";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ maintainers."1000101" ];
+    platforms = platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/servers/trickster/trickster_deps.nix b/nixpkgs/pkgs/servers/trickster/trickster_deps.nix
new file mode 100644
index 000000000000..ab100bed760e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/trickster/trickster_deps.nix
@@ -0,0 +1,237 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/alicebob/gopher-json";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alicebob/gopher-json";
+      rev = "5a6b3ba71ee6";
+      sha256 = "0hx6n722zq51p852lv56k39yjy09lw6mnr2c3x0p23rfyyrakj2p";
+    };
+  }
+  {
+    goPackagePath = "github.com/alicebob/miniredis";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alicebob/miniredis";
+      rev = "cfad8aca71cc";
+      sha256 = "0x2401nxyhdz037lj98c0sa77d8k49jfcq7is3ddiyim3csg5a0w";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev = "2972be24d48e";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/bbolt";
+      rev = "v1.3.0";
+      sha256 = "0cp5v9iypg9ysiq40k3h3lg7aisxplnmxshha7nama6b170izyay";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.4.0";
+      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-redis/redis";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-redis/redis";
+      rev = "v6.14.2";
+      sha256 = "0s1if96r8xnadan7pz1j8hvzk9g4fm3phwmwzadwpq21pgni66d7";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-stack/stack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.2.0";
+      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev = "2e65f85255db";
+      sha256 = "05w6mpc4qcy0pv8a2bzng8nf4s5rf5phfang4jwy9rgf808q0nxf";
+    };
+  }
+  {
+    goPackagePath = "github.com/gomodule/redigo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gomodule/redigo";
+      rev = "v2.0.0";
+      sha256 = "1kg7s8027b4g1sfw0v3nh30c15j407kv684s53gg281r807dnfpk";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/context";
+      rev = "v1.1.1";
+      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/handlers";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/handlers";
+      rev = "v1.4.0";
+      sha256 = "0mnw81ayjm4d8462qg8spmcwxmchn24158bf93zxjab51pg8n9gm";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev = "v1.6.2";
+      sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    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/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v0.9.1";
+      sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "5c3871d89910";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "4724e9255275";
+      sha256 = "0pcx8hlnrxx5nnmpk786cn99rsgqk1jrd3c9f6fsx8qd8y5iwjy6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "1dc9a6cbc91a";
+      sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab";
+    };
+  }
+  {
+    goPackagePath = "github.com/yuin/gopher-lua";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yuin/gopher-lua";
+      rev = "a0dfe84f6227";
+      sha256 = "13k2dphx4zv6fwgqsydsc0g0b0pf7qx3yb6i7hai6nnkh0db91nn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "a5c9d58dba9a";
+      sha256 = "02qv5i7yps35p7fa81345qz7k8i73gkigj69anwmpw9rhpmzayf9";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/natefinch/lumberjack.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/natefinch/lumberjack.v2";
+      rev = "a96e63847dc3";
+      sha256 = "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/servers/tvheadend/default.nix b/nixpkgs/pkgs/servers/tvheadend/default.nix
index 7fad204a0189..9a01bf3eed63 100644
--- a/nixpkgs/pkgs/servers/tvheadend/default.nix
+++ b/nixpkgs/pkgs/servers/tvheadend/default.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" "-Wno-error=stringop-truncation" ];
 
   # disable dvbscan, as having it enabled causes a network download which
   # cannot happen during build.
diff --git a/nixpkgs/pkgs/servers/uhub/default.nix b/nixpkgs/pkgs/servers/uhub/default.nix
index 6483973546c6..11dd5449b4b0 100644
--- a/nixpkgs/pkgs/servers/uhub/default.nix
+++ b/nixpkgs/pkgs/servers/uhub/default.nix
@@ -44,10 +44,10 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = ''
-    -DSYSTEMD_SUPPORT=ON
-    ${if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF"}
-  '';
+  cmakeFlags = [
+    "-DSYSTEMD_SUPPORT=ON"
+    (if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF")
+  ];
 
   meta = with stdenv.lib; {
     description = "High performance peer-to-peer hub for the ADC network";
diff --git a/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix
index 3ca91cfd6256..f86ae9d7cec4 100644
--- a/nixpkgs/pkgs/servers/unifi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/unpfs/default.nix b/nixpkgs/pkgs/servers/unpfs/default.nix
new file mode 100644
index 000000000000..df6cfb70438f
--- /dev/null
+++ b/nixpkgs/pkgs/servers/unpfs/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "unpfs";
+  version = "0.0.2019-05-17";
+
+  src = fetchFromGitHub {
+    owner = "pfpacket";
+    repo = "rust-9p";
+    rev = "01cf9c60bff0f35567d876db7be7fb86032b44eb";
+    sha256 = "0mhmr1912z5nyfpcvhnlgb3v67a5n7i2n9l5abi05sfqffqssi79";
+  };
+
+  sourceRoot = "source/example/unpfs";
+
+  cargoSha256 = "1d33nwj3i333a6ji3r3037mgg553lc3wsawm0pz13kbvhjf336i8";
+
+  RUSTC_BOOTSTRAP = 1;
+
+  postInstall = ''
+    install -D -m 0444 ../../README* -t "$out/share/doc/${pname}"
+    install -D -m 0444 ../../LICEN* -t "$out/share/doc/${pname}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "9P2000.L server implementation in Rust";
+    homepage = "https://github.com/pfpacket/rust-9p";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ raskin ];
+
+    # macOS build fails: https://github.com/pfpacket/rust-9p/issues/7
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/uwsgi/default.nix b/nixpkgs/pkgs/servers/uwsgi/default.nix
index 85fa6cd80063..7669053d2294 100644
--- a/nixpkgs/pkgs/servers/uwsgi/default.nix
+++ b/nixpkgs/pkgs/servers/uwsgi/default.nix
@@ -4,7 +4,7 @@
 , pam, withPAM ? stdenv.isLinux
 , systemd, withSystemd ? stdenv.isLinux
 , python2, python3, ncurses
-, ruby, php-embed, mysql
+, ruby, php-embed, libmysqlclient
 }:
 
 let pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" {
@@ -34,7 +34,7 @@ let pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "
                     # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
                     path = "plugins/php";
                     inputs = [ php-embed ] ++ php-embed.buildInputs;
-                    NIX_CFLAGS_LINK = [ "-L${mysql.connector-c}/lib/mysql" ];
+                    NIX_CFLAGS_LINK = [ "-L${libmysqlclient}/lib/mysql" ];
                   })
                 ];
 
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
     ${lib.concatMapStringsSep "\n" (x: x.install or "") needed}
   '';
 
-  NIX_CFLAGS_LINK = lib.optional withSystemd "-lsystemd" ++ lib.concatMap (x: x.NIX_CFLAGS_LINK or []) needed;
+  NIX_CFLAGS_LINK = toString (lib.optional withSystemd "-lsystemd" ++ lib.concatMap (x: x.NIX_CFLAGS_LINK or []) needed);
 
   meta = with stdenv.lib; {
     homepage = https://uwsgi-docs.readthedocs.org/en/latest/;
diff --git a/nixpkgs/pkgs/servers/varnish/default.nix b/nixpkgs/pkgs/servers/varnish/default.nix
index 8a63ed3ea7f1..8d49846cbc04 100644
--- a/nixpkgs/pkgs/servers/varnish/default.nix
+++ b/nixpkgs/pkgs/servers/varnish/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, libedit
-, python2, python3, makeWrapper }:
+, python3, makeWrapper }:
 
 let
-  common = { version, sha256, python, extraNativeBuildInputs ? [] }:
+  common = { version, sha256, extraNativeBuildInputs ? [] }:
     stdenv.mkDerivation rec {
       pname = "varnish";
       inherit version;
@@ -12,14 +12,14 @@ let
         inherit sha256;
       };
 
-      passthru.python = python;
+      passthru.python = python3;
 
-      nativeBuildInputs = with python.pkgs; [ pkgconfig docutils ] ++ extraNativeBuildInputs;
+      nativeBuildInputs = with python3.pkgs; [ pkgconfig docutils sphinx ];
       buildInputs = [
-        pcre libxslt groff ncurses readline libedit makeWrapper python
+        pcre libxslt groff ncurses readline libedit makeWrapper python3
       ];
 
-      buildFlags = "localstatedir=/var/spool";
+      buildFlags = [ "localstatedir=/var/spool" ];
 
       postInstall = ''
         wrapProgram "$out/sbin/varnishd" --prefix PATH : "${stdenv.lib.makeBinPath [ stdenv.cc ]}"
@@ -40,20 +40,16 @@ let
     };
 in
 {
-  varnish4 = common {
-    version = "4.1.10";
-    sha256 = "08kwx0il6cqxsx3897042plh1yxjaanbaqjbspfl0xgvyvxk6j1n";
-    python = python2;
+  varnish60 = common {
+    version = "6.0.5";
+    sha256 = "11aw202s7zdp5qp66hii5nhgm2jk0d86pila7gqrnjgc7x8fs8a0";
   };
-  varnish5 = common {
-    version = "5.2.1";
-    sha256 = "1cqlj12m426c1lak1hr1fx5zcfsjjvka3hfirz47hvy1g2fjqidq";
-    python = python2;
+  varnish62 = common {
+    version = "6.2.2";
+    sha256 = "10s3qdvb95pkwp3wxndrigb892h0109yqr8dw4smrhfi0knhnfk5";
   };
-  varnish6 = common {
-    version = "6.2.0";
-    sha256 = "0lwfk2gq99c653h5f51fs3j37r0gh2pf0p4w5z986nm2mi9z6yn3";
-    python = python3;
-    extraNativeBuildInputs = [ python3.pkgs.sphinx ];
+  varnish63 = common {
+    version = "6.3.1";
+    sha256 = "0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni";
   };
 }
diff --git a/nixpkgs/pkgs/servers/varnish/digest.nix b/nixpkgs/pkgs/servers/varnish/digest.nix
index 2ccb0419c042..f11c577288f7 100644
--- a/nixpkgs/pkgs/servers/varnish/digest.nix
+++ b/nixpkgs/pkgs/servers/varnish/digest.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
+
   doCheck = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/varnish/dynamic.nix b/nixpkgs/pkgs/servers/varnish/dynamic.nix
index b3e86387ee32..7db4680ac62a 100644
--- a/nixpkgs/pkgs/servers/varnish/dynamic.nix
+++ b/nixpkgs/pkgs/servers/varnish/dynamic.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, docutils }:
 
 stdenv.mkDerivation rec {
-  version = "0.3";
+  version = "0.4";
   name = "${varnish.name}-dynamic-${version}";
 
   src = fetchFromGitHub {
     owner = "nigoroll";
     repo = "libvmod-dynamic";
-    rev = "475be183fddbd727c3d2523f0518effa9aa881f8"; # 5.2 branch for Varnish-5.2 https://github.com/nigoroll/libvmod-dynamic/commits/5.2
-    sha256 = "12a42lbv0vf6fn3qnvngw893kmbd006f8pgab4ir7irc8855xjgf";
+    rev = "v${version}";
+    sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk";
   };
 
   nativeBuildInputs = [ pkgconfig docutils autoreconfHook varnish.python ];
diff --git a/nixpkgs/pkgs/servers/varnish/geoip.nix b/nixpkgs/pkgs/servers/varnish/geoip.nix
deleted file mode 100644
index d1790252065c..000000000000
--- a/nixpkgs/pkgs/servers/varnish/geoip.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, geoip, docutils }:
-
-stdenv.mkDerivation rec {
-  version = "1.0.2";
-  name = "${varnish.name}-geoip-${version}";
-
-  src = fetchFromGitHub {
-    owner = "varnish";
-    repo = "libvmod-geoip";
-    rev = "libvmod-geoip-${version}";
-    sha256 = "1gmadayqh3dais14c4skvd47w8h4kyifg7kcw034i0777z5hfpyn";
-  };
-
-  patches = [
-    # IPv6 support
-    (fetchpatch {
-      url = https://github.com/volth/libvmod-geoip-1/commit/0966fe8.patch;
-      sha256 = "053im8h2y8qzs37g95ksr00sf625p23r5ps1j0a2h4lfg70vf4ry";
-    })
-  ];
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig docutils ];
-  buildInputs = [ varnish geoip ];
-  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
-
-  meta = with stdenv.lib; {
-    description = "GeoIP Varnish module by Varnish Software";
-    homepage = https://github.com/varnish/libvmod-geoip;
-    inherit (varnish.meta) license platforms maintainers;
-  };
-}
diff --git a/nixpkgs/pkgs/servers/varnish/modules.nix b/nixpkgs/pkgs/servers/varnish/modules.nix
index 16c74956db7e..32c462e4a775 100644
--- a/nixpkgs/pkgs/servers/varnish/modules.nix
+++ b/nixpkgs/pkgs/servers/varnish/modules.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, docutils, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.0";
+  version = "0.15.0";
   name = "${varnish.name}-modules-${version}";
 
   src = fetchFromGitHub {
     owner = "varnish";
     repo = "varnish-modules";
     rev = version;
-    sha256 = "17fkbr4i70qgdqsrx1x28ag20xkfyz1v3q3d3ywmv409aczqhm40";
+    sha256 = "00p9syl765lfg1d2ka7da6h46dfl388f8h36x9cmrjix95rg0yr8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/varnish/packages.nix b/nixpkgs/pkgs/servers/varnish/packages.nix
index f468ac58e6cd..a5c5fe868d01 100644
--- a/nixpkgs/pkgs/servers/varnish/packages.nix
+++ b/nixpkgs/pkgs/servers/varnish/packages.nix
@@ -1,22 +1,15 @@
-{ callPackage, varnish4, varnish5, varnish6 }:
+{ callPackage, varnish60, varnish62, varnish63 }:
 
 {
-  varnish4Packages = {
-    varnish = varnish4;
-    digest   = callPackage ./digest.nix   { varnish = varnish4; };
-    rtstatus = callPackage ./rtstatus.nix { varnish = varnish4; }; # varnish4 only
-    modules  = callPackage ./modules.nix  { varnish = varnish4; }; # varnish4 and varnish5 only
-    geoip    = callPackage ./geoip.nix    { varnish = varnish4; }; # varnish4 and varnish5 only
+  varnish60Packages = {
+    varnish = varnish60;
+    digest  = callPackage ./digest.nix   { varnish = varnish60; };
+    dynamic = callPackage ./dynamic.nix  { varnish = varnish60; };
   };
-  varnish5Packages = {
-    varnish = varnish5;
-    digest   = callPackage ./digest.nix   { varnish = varnish5; };
-    dynamic  = callPackage ./dynamic.nix  { varnish = varnish5; }; # varnish5 only (upstream has a separate branch for varnish4)
-    modules  = callPackage ./modules.nix  { varnish = varnish5; }; # varnish4 and varnish5 only
-    geoip    = callPackage ./geoip.nix    { varnish = varnish5; }; # varnish4 and varnish5 only
+  varnish62Packages = {
+    varnish = varnish62;
   };
-  varnish6Packages = {
-    varnish = varnish6;
-    digest   = callPackage ./digest.nix   { varnish = varnish6; };
+  varnish63Packages = {
+    varnish = varnish63;
   };
 }
diff --git a/nixpkgs/pkgs/servers/varnish/rtstatus.nix b/nixpkgs/pkgs/servers/varnish/rtstatus.nix
deleted file mode 100644
index c27633a2d333..000000000000
--- a/nixpkgs/pkgs/servers/varnish/rtstatus.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, varnish, docutils }:
-
-stdenv.mkDerivation rec {
-  version = "1.2.0";
-  name = "${varnish.name}-rtstatus-${version}";
-
-  src = fetchurl {
-    url = "https://download.varnish-software.com/libvmod-rtstatus/libvmod-rtstatus-${version}.tar.gz";
-    sha256 = "0hll1aspgpv1daw5sdbn5w1d6birchxgapzb6zi1nhahjlimy4ly";
-  };
-
-  nativeBuildInputs = [ pkgconfig docutils varnish.python ];
-  buildInputs = [ varnish ];
-  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
-
-  meta = with stdenv.lib; {
-    description = "Varnish realtime status page";
-    homepage = https://github.com/varnish/libvmod-rtstatus;
-    inherit (varnish.meta) license platforms maintainers;
-  };
-}
diff --git a/nixpkgs/pkgs/servers/web-apps/codimd/default.nix b/nixpkgs/pkgs/servers/web-apps/codimd/default.nix
index ab4065597ae2..5b61de48b8d2 100644
--- a/nixpkgs/pkgs/servers/web-apps/codimd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix b/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix
new file mode 100644
index 000000000000..ff6fa982228c
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "dokuwiki";
+  version = "2018-04-22b";
+
+  src = fetchFromGitHub {
+    owner = "splitbrain";
+    repo = "${pname}";
+    rev = "release_stable_${version}";
+    sha256 = "1na5pn4j4mi2la80ywzg1krwqdxz57mjkw0id6ga9rws809gkdjp";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/dokuwiki
+    cp -r * $out/share/dokuwiki
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple to use and highly versatile Open Source wiki software that doesn't require a database";
+    license = licenses.gpl2;
+    homepage = "https://www.dokuwiki.org";
+    platforms = platforms.all;
+    maintainers = [ maintainers."1000101" ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/fileshelter/default.nix b/nixpkgs/pkgs/servers/web-apps/fileshelter/default.nix
index d7510e7d1e03..928d80b1297a 100644
--- a/nixpkgs/pkgs/servers/web-apps/fileshelter/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/fileshelter/default.nix
@@ -1,31 +1,29 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, libzip, boost, wt3, libconfig, pkgconfig } :
+{ stdenv, fetchFromGitHub, autoreconfHook, libzip, boost, wt4, libconfig, pkgconfig } :
 
 stdenv.mkDerivation rec {
   pname = "fileshelter";
-  version = "3.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "epoupon";
     repo = "fileshelter";
     rev = "v${version}";
-    sha256 = "1n9hrls3l9gf8wfz6m9bylma1b1hdvdqsksv2dlp1zdgjdzv200b";
+    sha256 = "07n70wwqj7lqdxs3wya1m8bwg8l6lgmmlfpwyv3r3s4dfzb1b3ka";
   };
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ libzip boost wt3 libconfig ];
+  buildInputs = [ libzip boost wt4 libconfig ];
 
-  NIX_LDFLAGS = [
-    "-lpthread"
-  ];
+  NIX_LDFLAGS = "-lpthread";
 
   postInstall = ''
-    ln -s ${wt3}/share/Wt/resources $out/share/fileshelter/docroot/resources
+    ln -s ${wt4}/share/Wt/resources $out/share/fileshelter/docroot/resources
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/epoupon/fileshelter;
+    homepage = "https://github.com/epoupon/fileshelter";
     description = "FileShelter is a 'one-click' file sharing web application";
     maintainers = [ maintainers.willibutz ];
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
index e848cb83c529..5c88b8efb4a0 100644
--- a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
@@ -1,12 +1,30 @@
 { stdenv, fetchurl, makeWrapper, php }:
 
+let
+  versions = {
+    matomo = {
+      version = "3.13.0";
+      sha256 = "0h4jqibb86zw5l26r927qrbjhba8c79pc4xp3hgpi25p3fjncax8";
+    };
+
+    matomo-beta = {
+      version = "3.12.0";
+      beta = 3;
+      sha256 = "1n7b8cag7rpi6y4145cll2irz3in4668jkiicy06wm5nq6lb4bdf";
+    };
+  };
+  common = pname: {version, sha256, beta ? null}:
+    let fullVersion = version + stdenv.lib.optionalString (beta != null) "-b${toString beta}";
+  name = "${pname}-${fullVersion}";
+in
+
 stdenv.mkDerivation rec {
-  pname = "matomo";
-  version = "3.11.0";
+  inherit name;
+  version = fullVersion;
 
   src = fetchurl {
     url = "https://builds.matomo.org/matomo-${version}.tar.gz";
-    sha256 = "1fbnmmzzsi3dfm9qm30wypxjcazl37mryaik9mlrb19hnp2md40q";
+    inherit sha256;
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -34,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
@@ -48,11 +66,40 @@ 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"
+    # drupal_test.sh does not exist in 3.12.0-b3; added for 3.13.0
+    "vendor/twig/twig/drupal_test.sh"
+  ];
+
+  # This fixes the consistency check in the admin interface
+  #
+  # The filesToFix list may contain files that are exclusive to only one of the versions we build
+  # make sure to test for existence to avoid erroring on an incompatible version and failing
+  postFixup = ''
+    pushd $out/share > /dev/null
+    for f in $filesToFix; do
+      if [ -f "$f" ]; then
+        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
+      fi
+    done
+    popd > /dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "A real-time web analytics application";
     license = licenses.gpl3Plus;
     homepage = https://matomo.org/;
     platforms = platforms.all;
-    maintainers = [ maintainers.florianjacob ];
+    maintainers = with maintainers; [ florianjacob kiwi ];
   };
-}
+};
+in stdenv.lib.mapAttrs common versions
diff --git a/nixpkgs/pkgs/servers/web-apps/mediawiki/default.nix b/nixpkgs/pkgs/servers/web-apps/mediawiki/default.nix
index e526afe661cf..d16d59af6b90 100644
--- a/nixpkgs/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.33.0";
+  version = "1.34.0";
 
   src = with stdenv.lib; fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "0rydzmr64r3p5n6g8v9rifk277z1v31p82s8ka8xap8cfkca4dc3";
+    sha256 = "1lckjnharwxh9xb7gxdxrkb0r3xgd0dh4019cnbixn5mmzgc696y";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
index 77822365f9c7..2957d296dc4b 100644
--- a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, writeText }:
 
 let
-  version = "3.7.2";
+  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 = "1mvrmpqkcz7m7yplqi0lwgnal79n747f7nwcgd2nfrvz7jv3s8ir";
+    sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/nixpkgs/pkgs/servers/web-apps/shiori/default.nix b/nixpkgs/pkgs/servers/web-apps/shiori/default.nix
new file mode 100644
index 000000000000..dd4cdc08287b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/shiori/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "shiori";
+  version = "1.5.0";
+
+  modSha256 = "1z6q5lv0j433p8lc3nxlw1rds5x1kvs1vzl63jf3disxw7ppyai3";
+
+  src = fetchFromGitHub {
+    owner = "go-shiori";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13and7gh2882khqppwz3wwq44p7az4bfdfjvlnqcpqyi8xa28pmq";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple bookmark manager built with Go";
+    homepage = "https://github.com/go-shiori/shiori";
+    license = licenses.mit;
+    maintainers = with maintainers; [ minijackson ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
index 9dbf060aa9a7..00ea34829aa1 100644
--- a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wordpress";
-  version = "5.2.3";
+  version = "5.3.2";
 
   src = fetchurl {
     url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "07gqdzhnqivyfah386lwyz984y9k2bc0hmji1y2pbvv0a60r63wr";
+    sha256 = "0rq1j431x0fvcpry721hxglszql4c80qr26fglcdlm51h9z6i1p1";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/webmetro/default.nix b/nixpkgs/pkgs/servers/webmetro/default.nix
index 352c5a80e1f4..fc9876e10c25 100644
--- a/nixpkgs/pkgs/servers/webmetro/default.nix
+++ b/nixpkgs/pkgs/servers/webmetro/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1n2c7ygs8qsd5zgii6fqqcwg427bsij082bg4ijnzkq5630dx651";
   };
 
-  cargoSha256 = "07c8rrm70idmpvijvgkbgw5vswcyrghlrzv1km054xds5qxi2ldq";
+  cargoSha256 = "03ncwj9bn21590phcnqyclclcird7rikbhxbwhg8i9i0nad81aaa";
 
   meta = with stdenv.lib; {
     description = "Simple relay server for broadcasting a WebM stream";
diff --git a/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix
index e752f3ad834e..f83d76a3c2b4 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -664,11 +664,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   libICE = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xtrans }: stdenv.mkDerivation {
-    name = "libICE-1.0.9";
+    name = "libICE-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2;
-      sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g";
+      url = mirror://xorg/individual/lib/libICE-1.0.10.tar.bz2;
+      sha256 = "0j638yvmyna2k4mz465jywgdybgdchdqppfx6xfazg7l5khxr1kg";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -872,11 +872,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   libXfont2 = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, xorgproto, freetype, xtrans, zlib }: stdenv.mkDerivation {
-    name = "libXfont2-2.0.3";
+    name = "libXfont2-2.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2;
-      sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf";
+      url = mirror://xorg/individual/lib/libXfont2-2.0.4.tar.bz2;
+      sha256 = "1rk9pjxcm01lbr1dxhnvk4f2qrn6zp068qjbvvz5w0z5d0rin5bd";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1015,11 +1015,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   libXt = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, xorgproto, libSM, libX11 }: stdenv.mkDerivation {
-    name = "libXt-1.1.5";
+    name = "libXt-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2;
-      sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6";
+      url = mirror://xorg/individual/lib/libXt-1.2.0.tar.bz2;
+      sha256 = "0cbqlyssr8aia88c8i7z59z9d0kp3p2hp6683xhz9ndyv8qza7dk";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1288,11 +1288,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   setxkbmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation {
-    name = "setxkbmap-1.3.1";
+    name = "setxkbmap-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2;
-      sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9";
+      url = mirror://xorg/individual/app/setxkbmap-1.3.2.tar.bz2;
+      sha256 = "1xdrxs65v7d0rw1yaz0vsz55w4hxym99216p085ya9978j379wlg";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1392,11 +1392,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xbacklight = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb, xcbutil }: stdenv.mkDerivation {
-    name = "xbacklight-1.2.2";
+    name = "xbacklight-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2;
-      sha256 = "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1";
+      url = mirror://xorg/individual/app/xbacklight-1.2.3.tar.bz2;
+      sha256 = "1plssg0s3pbslg6rfzxp9sx8ryvn8l32zyvc8zp9zsbsfwjg69rs";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1535,11 +1535,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xclock = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXft, libxkbfile, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation {
-    name = "xclock-1.0.8";
+    name = "xclock-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xclock-1.0.8.tar.bz2;
-      sha256 = "0m92zhamh15my9f2rqa14q41d6k2cn468azm3g7g3w9n7942024k";
+      url = mirror://xorg/individual/app/xclock-1.0.9.tar.bz2;
+      sha256 = "1fr3q4rszgx7x2zxy2ip592a3fgx20hfwac49p2l5b7jqsr1ying";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -2679,11 +2679,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xorgproto = callPackage ({ stdenv, pkgconfig, fetchurl, libXt }: stdenv.mkDerivation {
-    name = "xorgproto-2018.4";
+    name = "xorgproto-2019.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xorgproto-2018.4.tar.bz2;
-      sha256 = "180mqkp70i44rkmj430pmn9idssvffrgv4y5h19fm698a7h8bs7y";
+      url = mirror://xorg/individual/proto/xorgproto-2019.1.tar.bz2;
+      sha256 = "16yll1kaffnslik5sizlw3qrigj1gpsgfgyq6903g3mwdixamnm6";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -2692,11 +2692,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   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.5";
+    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/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh b/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh
index 10f54198f7fb..351ffab34d0f 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh
+++ b/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh
@@ -14,6 +14,6 @@ imakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseImakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseImakeConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=imakeConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
index 7e081b664b33..84bf23a0fded 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
@@ -1,10 +1,10 @@
 { abiCompat ? null,
-  stdenv, makeWrapper, fetchurl, fetchpatch, buildPackages,
+  stdenv, makeWrapper, fetchurl, fetchpatch, fetchFromGitLab, buildPackages,
   automake, autoconf, gettext, libiconv, libtool, intltool,
   freetype, tradcpp, fontconfig, meson, ninja, ed,
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
   mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
-  mcpp, epoxy, openssl, pkgconfig, llvm_6,
+  mcpp, epoxy, openssl, pkgconfig, llvm_6, python3,
   ApplicationServices, Carbon, Cocoa, Xplugin
 }:
 
@@ -63,22 +63,31 @@ self: super:
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch];
     setupHook = ./imake-setup-hook.sh;
-    CFLAGS = [ ''-DIMAKE_COMPILETIME_CPP='"${if stdenv.isDarwin
+    CFLAGS = "-DIMAKE_COMPILETIME_CPP='\"${if stdenv.isDarwin
       then "${tradcpp}/bin/cpp"
-      else "gcc"}"' ''
-    ];
+      else "gcc"}\"'";
+
     inherit tradcpp;
   });
 
   mkfontdir = self.mkfontscale;
 
-  libxcb = super.libxcb.overrideAttrs (attrs: {
+  libxcb = (super.libxcb.override {
+    python = python3;
+  }).overrideAttrs (attrs: {
     configureFlags = [ "--enable-xkb" "--enable-xinput" ];
     outputs = [ "out" "dev" "man" "doc" ];
   });
 
   libX11 = super.libX11.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" ];
+    patches = [
+      # Fixes an issue that happens when cross-compiling for us.
+      (fetchpatch {
+        url = "https://cgit.freedesktop.org/xorg/lib/libX11/patch/?id=0327c427d62f671eced067c6d9b69f4e216a8cac";
+        sha256 = "11k2mx56hjgw886zf1cdf2nhv7052d5rggimfshg6lq20i38vpza";
+      })
+    ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
     depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -114,9 +123,7 @@ self: super:
     outputs = [ "out" "dev" ];
     propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2
     # prevents "misaligned_stack_error_entering_dyld_stub_binder"
-    configureFlags = lib.optionals isDarwin [
-      "CFLAGS=-O0"
-    ];
+    configureFlags = lib.optional isDarwin "CFLAGS=-O0";
   });
 
   libXxf86vm = super.libXxf86vm.overrideAttrs (attrs: {
@@ -198,9 +205,8 @@ self: super:
   libXi = super.libXi.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
     propagatedBuildInputs = [ self.libXfixes ];
-    configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      "xorg_cv_malloc0_returns_null=no"
-    ];
+    configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+      "xorg_cv_malloc0_returns_null=no";
   });
 
   libXinerama = super.libXinerama.overrideAttrs (attrs: {
@@ -211,7 +217,7 @@ self: super:
 
   libXmu = super.libXmu.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-    buildFlags = ''BITMAP_DEFINES=-DBITMAPDIR=\"/no-such-path\"'';
+    buildFlags = [ "BITMAP_DEFINES='-DBITMAPDIR=\"/no-such-path\"'" ];
   });
 
   libXrandr = super.libXrandr.overrideAttrs (attrs: {
@@ -301,6 +307,10 @@ self: super:
     buildInputs = attrs.buildInputs ++ [ freetype fontconfig ];
   });
 
+  xcbproto = super.xcbproto.override {
+    python = python3;
+  };
+
   xcbutil = super.xcbutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
   });
@@ -329,32 +339,43 @@ self: super:
   xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # to get rid of xorgserver.dev; man is tiny
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
-    installFlags = "sdkdir=\${out}/include/xorg";
+    installFlags = [
+      "sdkdir=${placeholder ''out''}/include/xorg"
+    ];
   });
 
   xf86inputmouse = super.xf86inputmouse.overrideAttrs (attrs: {
-    installFlags = "sdkdir=\${out}/include/xorg";
+    installFlags = [
+      "sdkdir=${placeholder ''out''}/include/xorg"
+    ];
   });
 
   xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: {
-    installFlags = "sdkdir=\${out}/include/xorg";
+    installFlags = [
+      "sdkdir=${placeholder ''out''}/include/xorg"
+    ];
   });
 
   xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    installFlags = "sdkdir=\${dev}/include/xorg";
+    installFlags = [
+      "sdkdir=${placeholder ''dev''}/include/xorg"
+    ];
   });
 
   xf86inputsynaptics = super.xf86inputsynaptics.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # *.pc pulls xorgserver.dev
-    installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
+    installFlags = [
+      "sdkdir=${placeholder ''out''}/include/xorg"
+      "configdir=${placeholder ''out''}/share/X11/xorg.conf.d"
+    ];
   });
 
   xf86inputvmmouse = super.xf86inputvmmouse.overrideAttrs (attrs: {
     configureFlags = [
-      "--sysconfdir=$(out)/etc"
-      "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
-      "--with-udev-rules-dir=$(out)/lib/udev/rules.d"
+      "--sysconfdir=${placeholder ''out''}/etc"
+      "--with-xorg-conf-dir=${placeholder ''out''}/share/X11/xorg.conf.d"
+      "--with-udev-rules-dir=${placeholder ''out''}/lib/udev/rules.d"
     ];
 
     meta = attrs.meta // {
@@ -368,11 +389,17 @@ self: super:
   xf86videoglide   = super.xf86videoglide.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videoi128    = super.xf86videoi128.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videonewport = super.xf86videonewport.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videos3virge = super.xf86videos3virge.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videosavage  = super.xf86videosavage.overrideAttrs  (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videotga     = super.xf86videotga.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videov4l     = super.xf86videov4l.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videovoodoo  = super.xf86videovoodoo.overrideAttrs  (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videowsfb    = super.xf86videowsfb.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
 
+  xf86videoomap    = super.xf86videoomap.overrideAttrs (attrs: {
+    NIX_CFLAGS_COMPILE = [ "-Wno-error=format-overflow" ];
+  });
+
   xf86videoamdgpu = super.xf86videoamdgpu.overrideAttrs (attrs: {
     configureFlags = [ "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" ];
   });
@@ -520,7 +547,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 // {
@@ -555,7 +582,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
@@ -620,8 +647,8 @@ self: super:
           libAppleWM xorgproto
         ];
 
-        # XQuartz patchset
         patches = [
+          # XQuartz patchset
           (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
             sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
@@ -718,11 +745,14 @@ self: super:
 
   xf86videointel = super.xf86videointel.overrideAttrs (attrs: {
     # the update script only works with released tarballs :-/
-    name = "xf86-video-intel-2018-12-03";
-    src = fetchurl {
-      url = "http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/"
-          + "e5ff8e1828f97891c819c919d7115c6e18b2eb1f.tar.gz";
-      sha256 = "01136zljk6liaqbk8j9m43xxzqj6xy4v50yjgi7l7g6pp8pw0gx6";
+    name = "xf86-video-intel-2019-12-09";
+    src = fetchFromGitLab {
+      domain = "gitlab.freedesktop.org";
+      group = "xorg";
+      owner = "driver";
+      repo = "xf86-video-intel";
+      rev = "f66d39544bb8339130c96d282a80f87ca1606caf";
+      sha256 = "14rwbbn06l8qpx7s5crxghn80vgcx8jmfc7qvivh72d81r0kvywl";
     };
     buildInputs = attrs.buildInputs ++ [self.libXfixes self.libXScrnSaver self.pixman];
     nativeBuildInputs = attrs.nativeBuildInputs ++ [autoreconfHook self.utilmacros];
diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index 05b035197c1c..2fcf09cd9fba 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -20,16 +20,16 @@ mirror://xorg/individual/app/listres-1.0.4.tar.bz2
 mirror://xorg/individual/app/mkfontscale-1.2.1.tar.bz2
 mirror://xorg/individual/app/oclock-1.0.4.tar.bz2
 mirror://xorg/individual/app/sessreg-1.1.2.tar.bz2
-mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2
+mirror://xorg/individual/app/setxkbmap-1.3.2.tar.bz2
 mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2
 mirror://xorg/individual/app/transset-1.0.2.tar.bz2
 mirror://xorg/individual/app/twm-1.0.10.tar.bz2
 mirror://xorg/individual/app/viewres-1.0.5.tar.bz2
 mirror://xorg/individual/app/x11perf-1.6.1.tar.bz2
 mirror://xorg/individual/app/xauth-1.1.tar.bz2
-mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2
+mirror://xorg/individual/app/xbacklight-1.2.3.tar.bz2
 mirror://xorg/individual/app/xcalc-1.1.0.tar.bz2
-mirror://xorg/individual/app/xclock-1.0.8.tar.bz2
+mirror://xorg/individual/app/xclock-1.0.9.tar.bz2
 mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2
 mirror://xorg/individual/app/xcompmgr-1.1.8.tar.bz2
 mirror://xorg/individual/app/xconsole-1.0.7.tar.bz2
@@ -173,7 +173,7 @@ mirror://xorg/individual/lib/libAppleWM-1.4.1.tar.bz2
 mirror://xorg/individual/lib/libdmx-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libfontenc-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.8.tar.bz2
-mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
+mirror://xorg/individual/lib/libICE-1.0.10.tar.bz2
 mirror://xorg/individual/lib/libpciaccess-0.16.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.3.tar.bz2
 mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2
@@ -188,7 +188,7 @@ mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2
 mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
-mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2
+mirror://xorg/individual/lib/libXfont2-2.0.4.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.3.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.10.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2
@@ -203,7 +203,7 @@ mirror://xorg/individual/lib/libXres-1.2.0.tar.bz2
 mirror://xorg/individual/lib/libXScrnSaver-1.2.3.tar.bz2
 mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2
 mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2
+mirror://xorg/individual/lib/libXt-1.2.0.tar.bz2
 mirror://xorg/individual/lib/libXtst-1.2.3.tar.bz2
 mirror://xorg/individual/lib/libXv-1.0.11.tar.bz2
 mirror://xorg/individual/lib/libXvMC-1.0.11.tar.bz2
@@ -211,11 +211,11 @@ mirror://xorg/individual/lib/libXxf86dga-1.1.5.tar.bz2
 mirror://xorg/individual/lib/libXxf86misc-1.0.4.tar.bz2
 mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2
 mirror://xorg/individual/lib/xtrans-1.4.0.tar.bz2
-mirror://xorg/individual/proto/xorgproto-2018.4.tar.bz2
+mirror://xorg/individual/proto/xorgproto-2019.1.tar.bz2
 mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2
 mirror://xorg/individual/util/imake-1.0.8.tar.bz2
 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/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
index 06f54fd52073..d033f211c3a5 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/xandikos/default.nix b/nixpkgs/pkgs/servers/xandikos/default.nix
new file mode 100644
index 000000000000..27fb93a88035
--- /dev/null
+++ b/nixpkgs/pkgs/servers/xandikos/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, fetchFromGitHub
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "xandikos";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jelmer";
+    repo = "xandikos";
+    rev = "v${version}";
+    sha256 = "12r8fciid2qpqf054584ywwh49yddyhhpkpcm6jihzyr5y2r4kn1";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    dulwich
+    defusedxml
+    icalendar
+    jinja2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Lightweight CalDAV/CardDAV server";
+    homepage = "https://github.com/jelmer/xandikos";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers."0x4A6F" ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix b/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
index 335de9ea153a..821515caa09a 100644
--- a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
@@ -24,12 +24,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "19.08";
+  version = "19.09.1";
   pname = "ejabberd";
 
   src = fetchurl {
     url = "https://www.process-one.net/downloads/ejabberd/${version}/${pname}-${version}.tgz";
-    sha256 = "0ivkw31civcznv9k645hvrzn1yc6a4qsrsywjrakniwaaxlsnj8w";
+    sha256 = "1lj0zahsdg6naq007h8wp5p8ksdfwam3as7wiagvbj9gy8dgdp8q";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -76,7 +76,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "0h1amqp2x6ir29bdh9x8bm0abj67k81nmkqi8gidwccsa5z94s2c";
+    outputHash = "097c84qp00dq8x7ngfqcrv9fa0wm0k94grashmi1fxlasgbvxh18";
   };
 
   configureFlags =
@@ -115,7 +115,7 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = https://www.ejabberd.im;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ sander abbradar ];
+    maintainers = with maintainers; [ sander abbradar ajs124 ];
     broken = withElixir;
   };
 }
diff --git a/nixpkgs/pkgs/servers/xmpp/prosody/default.nix b/nixpkgs/pkgs/servers/xmpp/prosody/default.nix
index 549b55705c49..8becdcd6a45b 100644
--- a/nixpkgs/pkgs/servers/xmpp/prosody/default.nix
+++ b/nixpkgs/pkgs/servers/xmpp/prosody/default.nix
@@ -14,12 +14,12 @@ with stdenv.lib;
 
 
 stdenv.mkDerivation rec {
-  version = "0.11.2"; # also update communityModules
+  version = "0.11.3"; # also update communityModules
   pname = "prosody";
 
   src = fetchurl {
     url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
-    sha256 = "0ca8ivqb4hxqka08pwnaqi1bqxrdl8zw47g6z7nw9q5r57fgc4c9";
+    sha256 = "11xz4milv2962qf75vrdwsvd8sy2332nf69202rmvz5989pvvnng";
   };
 
   # A note to all those merging automated updates: Please also update this
diff --git a/nixpkgs/pkgs/servers/zoneminder/default.nix b/nixpkgs/pkgs/servers/zoneminder/default.nix
index df6cad8c759b..2dcaf44010e7 100644
--- a/nixpkgs/pkgs/servers/zoneminder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/zookeeper/default.nix b/nixpkgs/pkgs/servers/zookeeper/default.nix
index 44b96d4209a6..e45845359019 100644
--- a/nixpkgs/pkgs/servers/zookeeper/default.nix
+++ b/nixpkgs/pkgs/servers/zookeeper/default.nix
@@ -19,14 +19,13 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp -R bin/{zkCli,zkCleanup,zkEnv,zkServer}.sh $out/bin
     patchShebangs $out/bin
+    substituteInPlace $out/bin/zkServer.sh \
+        --replace /bin/echo ${coreutils}/bin/echo
     for i in $out/bin/{zkCli,zkCleanup,zkServer}.sh; do
       wrapProgram $i \
         --set JAVA_HOME "${jre}" \
         --prefix PATH : "${bash}/bin"
     done
-    substituteInPlace $out/bin/zkServer.sh \
-        --replace /bin/echo ${coreutils}/bin/echo \
-        --replace "/usr/bin/env bash" ${bash}/bin/bash
     chmod -x $out/bin/zkEnv.sh
 
     mkdir -p $out/share/zooinspector
diff --git a/nixpkgs/pkgs/shells/bash/4.4.nix b/nixpkgs/pkgs/shells/bash/4.4.nix
index e5e33c76d205..121368abf4c7 100644
--- a/nixpkgs/pkgs/shells/bash/4.4.nix
+++ b/nixpkgs/pkgs/shells/bash/4.4.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     -DSSH_SOURCE_BASHRC
   '';
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   patches = upstreamPatches
     ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch
diff --git a/nixpkgs/pkgs/shells/bash/5.0.nix b/nixpkgs/pkgs/shells/bash/5.0.nix
index b78282ab6e4c..a06b08a5599c 100644
--- a/nixpkgs/pkgs/shells/bash/5.0.nix
+++ b/nixpkgs/pkgs/shells/bash/5.0.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     -DSSH_SOURCE_BASHRC
   '';
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   patches = upstreamPatches;
 
diff --git a/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix b/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
index 90bbc5e37dd6..1f24a6dec12f 100644
--- a/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
+++ b/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
@@ -10,4 +10,6 @@ patch: [
 (patch "007" "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
 (patch "008" "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
 (patch "009" "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
+(patch "010" "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn")
+(patch "011" "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c")
 ]
diff --git a/nixpkgs/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch b/nixpkgs/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
new file mode 100644
index 000000000000..c0d94a1a76d9
--- /dev/null
+++ b/nixpkgs/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
@@ -0,0 +1,86 @@
+From 398f44b4ed545fc1b6c13a057bf0900001f7958b Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Tue, 22 Oct 2019 15:07:05 +0200
+Subject: [PATCH] Revert "build: Do cmake, pc, and profile variable
+ replacements in Makefile"
+
+This reverts commit 81ba2c7e7dfbaefbafa1e8615727c9612e5fb314.
+---
+ Makefile.am                     | 12 ++++++++----
+ bash-completion-config.cmake.in |  4 ++--
+ bash-completion.pc.in           |  4 ++--
+ configure.ac                    |  3 +++
+ 4 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 8f441185..53979529 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,8 +23,7 @@ cmakeconfig_DATA = bash-completion-config.cmake \
+ 		-e 's|@VERSION[@]|$(VERSION)|' \
+ 		<$(srcdir)/$@.in >$@
+ 
+-CLEANFILES = bash_completion.sh bash-completion.pc \
+-	bash-completion-config.cmake bash-completion-config-version.cmake
++CLEANFILES = bash_completion.sh bash-completion.pc
+ 
+ EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \
+ 	.editorconfig README.md CONTRIBUTING.md pyproject.toml .perltidyrc \
+@@ -34,6 +33,11 @@ EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \
+ install-data-hook:
+ 	tmpfile=`mktemp $${TMPDIR:-/tmp}/bash_completion.XXXXXX` && \
+ 	$(SED) -e 's|-/etc/bash_completion\.d|-$(compatdir)|' \
+-	    $(DESTDIR)$(pkgdatadir)/bash_completion >$$tmpfile && \
+-	cat $$tmpfile >$(DESTDIR)$(pkgdatadir)/bash_completion && \
++	    $(DESTDIR)$(pkgdatadir)/bash_completion > $$tmpfile && \
++	cat $$tmpfile > $(DESTDIR)$(pkgdatadir)/bash_completion && \
++	$(SED) -e 's|\$${prefix}|$(prefix)|' \
++	    $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake \
++	         > $$tmpfile && \
++	cat $$tmpfile > \
++	    $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake && \
+ 	rm $$tmpfile
+diff --git a/bash-completion-config.cmake.in b/bash-completion-config.cmake.in
+index d907b76c..ccc6e052 100644
+--- a/bash-completion-config.cmake.in
++++ b/bash-completion-config.cmake.in
+@@ -5,7 +5,7 @@ set (BASH_COMPLETION_VERSION "@VERSION@")
+ 
+ set (BASH_COMPLETION_PREFIX "@prefix@")
+ set (BASH_COMPLETION_COMPATDIR "@compatdir@")
+-set (BASH_COMPLETION_COMPLETIONSDIR "@pkgdatadir@/completions")
+-set (BASH_COMPLETION_HELPERSDIR "@pkgdatadir@/helpers")
++set (BASH_COMPLETION_COMPLETIONSDIR "@datarootdir@/@PACKAGE@/completions")
++set (BASH_COMPLETION_HELPERSDIR "@datarootdir@/@PACKAGE@/helpers")
+ 
+ set (BASH_COMPLETION_FOUND "TRUE")
+diff --git a/bash-completion.pc.in b/bash-completion.pc.in
+index ea03fd75..bde217db 100644
+--- a/bash-completion.pc.in
++++ b/bash-completion.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ compatdir=@compatdir@
+-completionsdir=@pkgdatadir@/completions
+-helpersdir=@pkgdatadir@/helpers
++completionsdir=@datarootdir@/@PACKAGE@/completions
++helpersdir=@datarootdir@/@PACKAGE@/helpers
+ 
+ Name: bash-completion
+ Description: programmable completion for the bash shell
+diff --git a/configure.ac b/configure.ac
+index 1f3b37e8..a216d9b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,5 +13,8 @@ helpers/Makefile
+ test/Makefile
+ test/t/Makefile
+ test/t/unit/Makefile
++bash-completion.pc
++bash-completion-config.cmake
++bash-completion-config-version.cmake
+ ])
+ AC_OUTPUT
+-- 
+2.21.0
+
diff --git a/nixpkgs/pkgs/shells/bash/bash-completion/default.nix b/nixpkgs/pkgs/shells/bash/bash-completion/default.nix
index 0476cbd1f3f7..a741633340d6 100644
--- a/nixpkgs/pkgs/shells/bash/bash-completion/default.nix
+++ b/nixpkgs/pkgs/shells/bash/bash-completion/default.nix
@@ -1,15 +1,50 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, python3Packages
+, bashInteractive
+}:
 
 stdenv.mkDerivation rec {
   pname = "bash-completion";
-  version = "2.8";
+  # TODO: Remove musl patch below upon next release!
+  version = "2.9";
 
-  src = fetchurl {
-    url = "https://github.com/scop/bash-completion/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0kgmflrr1ga9wfk770vmakna3nj46ylb5ky9ipd0v2k9ymq5a7y0";
+  src = fetchFromGitHub {
+    owner = "scop";
+    repo = "bash-completion";
+    rev = version;
+    sha256 = "1813r4jxfa2zgzm2ppjhrq62flfmxai8433pklxcrl4fp5wwx9yv";
   };
 
-  doCheck = true;
+  nativeBuildInputs = [ autoreconfHook ];
+
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [
+    python3Packages.pexpect
+    python3Packages.pytest
+    bashInteractive
+  ];
+
+  patches = [
+    ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
+    # TODO: Remove when https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393
+    #       is availabe in a release in nixpkgs. see https://github.com/scop/bash-completion/issues/312.
+    # Fixes a test failure with musl.
+    (fetchpatch {
+     url = "https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393.patch";
+     name = "bash-completion-musl-test_iconv-skip-option-completion-if-help-fails";
+     sha256 = "1l53d62zf01k625nzw3vcrxky93h7bzdpchgk4argxalrn17ckvb";
+    })
+  ];
+
+  # ignore ip_addresses because it tries to touch network
+  # ignore test_ls because impure logic
+  checkPhase = ''
+    pytest . \
+      --ignore=test/t/unit/test_unit_ip_addresses.py \
+      --ignore=test/t/test_ls.py
+  '';
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i -e 's/readlink -f/readlink/g' bash_completion completions/*
diff --git a/nixpkgs/pkgs/shells/ion/default.nix b/nixpkgs/pkgs/shells/ion/default.nix
index 2bd376593879..2010f34ef7e6 100644
--- a/nixpkgs/pkgs/shells/ion/default.nix
+++ b/nixpkgs/pkgs/shells/ion/default.nix
@@ -23,4 +23,8 @@ buildRustPackage rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin;
   };
+
+  passthru = {
+	  shellPath = "/bin/ion";
+  };
 }
diff --git a/nixpkgs/pkgs/shells/ksh/default.nix b/nixpkgs/pkgs/shells/ksh/default.nix
index 80059e448c9e..108d1a587580 100644
--- a/nixpkgs/pkgs/shells/ksh/default.nix
+++ b/nixpkgs/pkgs/shells/ksh/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, meson, ninja, fetchFromGitHub, which, python, libiconv }:
+{ stdenv, meson, ninja, fetchFromGitHub, which, python, fetchpatch
+, libiconv }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "ksh";
-  version = "93v";
+  version = "2020.0.0";
 
   src = fetchFromGitHub {
     owner  = "att";
     repo   = "ast";
-    rev    = "b8d88244ae87857e7bbd6da230ffbbc51165df70";
-    sha256 = "12kf14n8vz36hnsy3wp6lnyv1841p7hcq25y1d78w532dil69lx9";
+    rev    = version;
+    sha256 = "0cdxz0nhpq03gb9rd76fn0x1yzs2c8q289b7vcxnzlsrz1imz65j";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/att/ast/commit/11983a71f5e29df578b7e2184400728b4e3f451d.patch";
+      sha256 = "1n9558c4v2qpgpjb1vafs29n3qn3z0770wr1ayc0xjf5z5j4g3kv";
+    })
+  ];
+
   nativeBuildInputs = [ meson ninja which python ];
 
   buildInputs = [ libiconv ];
diff --git a/nixpkgs/pkgs/shells/mrsh/default.nix b/nixpkgs/pkgs/shells/mrsh/default.nix
new file mode 100644
index 000000000000..9036e0854295
--- /dev/null
+++ b/nixpkgs/pkgs/shells/mrsh/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub, meson, ninja, pkgconfig, readline }:
+
+stdenv.mkDerivation rec {
+  pname   = "mrsh";
+  version = "2020-01-08";
+
+  src = fetchFromGitHub {
+    owner = "emersion";
+    repo = "mrsh";
+    rev = "ef21854fc9ce172fb1f7f580b19a89d030d67c65";
+    sha256 = "1iyxmwl61p2x9v9b22416n4lnrlwjqyxybq35x8bcbjxkwypp943";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = [ readline ];
+
+  meta = with stdenv.lib; {
+    description = "A minimal POSIX shell";
+    homepage = "https://mrsh.sh";
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthiasbeyer ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/nushell/default.nix b/nixpkgs/pkgs/shells/nushell/default.nix
new file mode 100644
index 000000000000..de8502618c60
--- /dev/null
+++ b/nixpkgs/pkgs/shells/nushell/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, openssl
+, pkg-config
+, python3
+, xorg
+, libiconv
+, AppKit
+, Security
+, withStableFeatures ? true
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nushell";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1hw9fazf5m80p39wgjqjcxafkfjxh0rkjmiznn2p66gccjnkddm6";
+  };
+
+  cargoSha256 = "17hx02g9m3l2kgxba0n6wmixdbd9g8443h085v8shd70c6vln2v8";
+
+  nativeBuildInputs = [ pkg-config ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isLinux) [ python3 ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isLinux) [ xorg.libX11 ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isDarwin) [ AppKit ];
+
+  cargoBuildFlags = stdenv.lib.optional withStableFeatures "--features=stable";
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A modern shell written in Rust";
+    homepage = "https://www.nushell.sh/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 marsam ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
+
+  passthru = {
+    shellPath = "/bin/nu";
+  };
+}
diff --git a/nixpkgs/pkgs/shells/oh/default.nix b/nixpkgs/pkgs/shells/oh/default.nix
index 09a54c8a3b88..3ae8a7c600aa 100644
--- a/nixpkgs/pkgs/shells/oh/default.nix
+++ b/nixpkgs/pkgs/shells/oh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit, lib }:
 
 buildGoPackage rec {
   pname = "oh";
@@ -14,4 +14,10 @@ buildGoPackage rec {
   };
 
   goDeps = ./deps.nix;
+
+  meta = with lib;{
+    homepage = "https://github.com/michaelmacinnis/oh";
+    description = "A Unix shell";
+    license = stdenv.lib.licenses.mit;
+  };
 }
diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix
index 9f1bf3ce6af1..13b36bf54ad8 100644
--- a/nixpkgs/pkgs/shells/oil/default.nix
+++ b/nixpkgs/pkgs/shells/oil/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, fetchpatch, readline }:
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.7.pre3";
+  version = "0.7.pre9";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "01zc36zaasaagr54rnh90k0j7pbnj0cc6a9pvz6gs6pk91i80lqg";
+    sha256 = "1j17yxpjqv37vbl3qhnwl3gdmb33n9c6g6byxcc8mhbvbw91zi5i";
   };
 
   postPatch = ''
@@ -17,18 +17,25 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
+  buildInputs = [ readline ];
+  configureFlags = [ "--with-readline" ];
+
   # Stripping breaks the bundles by removing the zip file from the end.
   dontStrip = true;
 
   meta = {
     description = "A new unix shell";
-    homepage = https://www.oilshell.org/;
+    homepage = "https://www.oilshell.org/";
 
     license = with lib.licenses; [
       psfl # Includes a portion of the python interpreter and standard library
       asl20 # Licence for Oil itself
     ];
 
-    maintainers = with lib.maintainers; [ lheckemann ];
+    maintainers = with lib.maintainers; [ lheckemann alva ];
+  };
+
+  passthru = {
+      shellPath = "/bin/osh";
   };
 }
diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix
index a7fe9634fee4..faab933ae25f 100644
--- a/nixpkgs/pkgs/shells/powershell/default.nix
+++ b/nixpkgs/pkgs/shells/powershell/default.nix
@@ -4,8 +4,8 @@
 let platformString = if stdenv.isDarwin then "osx"
                      else if stdenv.isLinux then "linux"
                      else throw "unsupported platform";
-    platformSha = if stdenv.isDarwin then "005ax54l7752lhrvlpsyn2yywr4zh58psc7sc1qv9p86d414pmkq"
-                     else if stdenv.isLinux then "1b3n6d2xgvqybmh61smyr415sfaymiilixlvs04yxm6ajsbnsm82"
+    platformSha = if stdenv.isDarwin then "0jb2xm79m3m14zk7v730ai1zvxcb5a13jbkkya0qy7332k6gn6bl"
+                     else if stdenv.isLinux then "0s0jvc9ha6fw8qy7f5n0v6zf043rawsjdlm5wvqxq1q2idz7xcw1"
                      else throw "unsupported platform";
     platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
                      else if stdenv.isLinux then "LD_LIBRARY_PATH"
@@ -15,7 +15,7 @@ let platformString = if stdenv.isDarwin then "osx"
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "6.2.2";
+  version = "6.2.3";
 
   src = fetchzip {
     url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz";
@@ -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;
@@ -44,4 +44,8 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit ];
   };
 
+  passthru = { 
+    shellPath = "/bin/pwsh"; 
+  };
+
 }
diff --git a/nixpkgs/pkgs/shells/xonsh/default.nix b/nixpkgs/pkgs/shells/xonsh/default.nix
index 2697050144b4..58dd629929ff 100644
--- a/nixpkgs/pkgs/shells/xonsh/default.nix
+++ b/nixpkgs/pkgs/shells/xonsh/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xonsh";
-  version = "0.9.10";
+  version = "0.9.13";
 
   # fetch from github because the pypi package ships incomplete tests
   src = fetchFromGitHub {
     owner  = "xonsh";
     repo   = "xonsh";
     rev    = "refs/tags/${version}";
-    sha256 = "0dil7vannl8sblzz528503ich8m8g0ld0p496bgw6jjh0pzkdskc";
+    sha256 = "0nk6rjdkbxli510iwqspvray48kdxvbdmq1k8nxn14kqfpqzlbcv";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/nixpkgs/pkgs/shells/zsh/antibody/default.nix b/nixpkgs/pkgs/shells/zsh/antibody/default.nix
index 0ea3c8d158d0..e1bfc68dc4de 100644
--- a/nixpkgs/pkgs/shells/zsh/antibody/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/antibody/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "antibody";
-  version = "4.1.2";
+  version = "4.2.0";
 
   goPackagePath = "github.com/getantibody/antibody";
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     owner = "getantibody";
     repo = "antibody";
     rev = "v${version}";
-    sha256 = "1csanmvix7b2sa7nsy8nh3jq6gmhp8i51xivsabm1lj2y30c0ly3";
+    sha256 = "1vds7mxqxa7xlhvjvmnh1nr1ra3dciav0qlv45s1dmwn5qrcilci";
   };
 
-  modSha256 = "1p9cw92ivwgpkvjxvwd9anbd1vzhpicm9il4pg37z2kgr2ihhnyh";
+  modSha256 = "1n9sgrm16iig600f4q1cmbwwk0822isjvbyazplylha843510b17";
 
   meta = with lib; {
     description = "The fastest shell plugin manager";
     homepage = https://github.com/getantibody/antibody;
     license = licenses.mit;
-    maintainers = with maintainers; [ worldofpeace ];
+    maintainers = with maintainers; [ filalex77 worldofpeace ];
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix
new file mode 100644
index 000000000000..e97ef1074f12
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, fzf }:
+
+stdenv.mkDerivation rec {
+  pname = "fzf-zsh-unstable";
+  version = "2019-09-09";
+
+  src = fetchFromGitHub {
+    owner = "Wyntau";
+    repo = "fzf-zsh";
+    rev = "829d7e40cc437dce8a6e234e259bbd4065e87124";
+    sha256 = "1irjmxhcg1fm4g8p3psjqk7sz5qhj5kw73pyhv91njvpdhn9l26z";
+  };
+
+  postPatch = ''
+    substituteInPlace fzf-zsh.plugin.zsh \
+      --replace \
+        'fzf_path="$( cd "$fzf_zsh_path/../fzf/" && pwd )"' \
+        "fzf_path=${fzf}" \
+      --replace \
+        '$fzf_path/shell' \
+        '${fzf}/share/fzf'
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -Dm0644 fzf-zsh.plugin.zsh $out/share/zsh/plugins/fzf-zsh/fzf-zsh.plugin.zsh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/wyntau/fzf-zsh;
+    description = "wrap fzf to use in oh-my-zsh";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/zsh/gradle-completion/default.nix b/nixpkgs/pkgs/shells/zsh/gradle-completion/default.nix
index ed46a21325c5..d13fd8aee00f 100644
--- a/nixpkgs/pkgs/shells/zsh/gradle-completion/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/gradle-completion/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "Gradle tab completion for bash and zsh";
     homepage = https://github.com/gradle/gradle-completion;
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/grml-zsh-config/default.nix b/nixpkgs/pkgs/shells/zsh/grml-zsh-config/default.nix
index 428c05605a7e..fe5dc9bfd077 100644
--- a/nixpkgs/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "grml-zsh-config";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "1b794c3hfhw51aqp8dg8smxqjv4x518rs1ib4pdglc4d785rlq1k";
+    sha256 = "1dmhwgs5v4f1yanbi6dg1lbpzmvq1l3dq7sra811ycsf4f6g0d7f";
   };
 
   nativeBuildInputs = [ txt2tags ];
diff --git a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
index 7df43f7dab4c..e53ee1394edf 100644
--- a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-09-20";
+  version = "2020-01-04";
   pname = "oh-my-zsh";
-  rev = "6cfaa076272e08b6a81b6358b78d020e48f8a4a6";
+  rev = "78b07e92fd4a3a5e1f92ee4e3d680c39b72c2245";
 
   src = fetchgit { inherit rev;
-    url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "0i1mlw42g2w5pbg6zsl48pdwv1hy5zrwx9kq4w04mynwg7mc9hs5";
+    url = "https://github.com/ohmyzsh/ohmyzsh";
+    sha256 = "1s5vr89dxgm1g3jcqybx4an80x0gmda4lh8y36r2dafxwmb09qmk";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/update.sh b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/update.sh
index 08b0daa4387c..0146cac8496c 100755
--- a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/update.sh
+++ b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/update.sh
@@ -3,12 +3,12 @@
 
 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 '"')"
-latestSha="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')"
+latestSha="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 url="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.src.url" | tr -d '"')"
 
 if [ ! "null" = "${latestSha}" ]; then
-  latestDate="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
+  latestDate="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
   update-source-version oh-my-zsh "${latestSha}" --version-key=rev
   update-source-version oh-my-zsh "${latestDate}" --ignore-same-hash
   nixpkgs="$(git rev-parse --show-toplevel)"
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
new file mode 100644
index 000000000000..452419bf8b09
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix
new file mode 100644
index 000000000000..ece3c87cb664
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests }:
+
+buildGoModule rec {
+  pname = "zsh-history";
+  version = "2019-12-10";
+
+  src = fetchFromGitHub {
+    owner = "b4b4r07";
+    repo = "history";
+    rev = "8da016bd91b0c2eb53c9980f00eee6abdbb097e2";
+    sha256 = "13n643ik1zjvpk8h9458yd9ffahhbdnigmbrbmpn7b7g23wqqsi3";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  modSha256 = "0f10b86gyn7m7lw43c8y1m30mdg0i092a319v3cb2qj05jb9vn42";
+  goPackagePath = "github.com/b4b4r07/history";
+
+  postInstall = ''
+    install -d $out/share
+    cp -r "$NIX_BUILD_TOP/source/misc/"* "$out/share"
+    installShellCompletion --zsh --name _history $out/share/zsh/completions/_history
+  '';
+
+  meta = with lib; {
+    description = "A CLI to provide enhanced history for your ZSH shell";
+    license = licenses.mit;
+    homepage = https://github.com/b4b4r07/history;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ kampka ];
+  };
+
+  passthru.tests = {
+    zsh-history-shell-integration = nixosTests.zsh-history;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
new file mode 100644
index 000000000000..d5081476efb5
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, substituteAll, pkgs }:
+
+# To make use of this derivation, use
+# `programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";`
+
+stdenv.mkDerivation {
+  pname = "powerlevel10k";
+  version = "unstable-2019-12-19";
+  src = fetchFromGitHub {
+    owner = "romkatv";
+    repo = "powerlevel10k";
+    rev = "8ef2b737d1f6099966a1eb16bdfc90d67b367f22";
+    sha256 = "02b25klkyyhpdbf2vwzzbrd8hnfjpckbpjy6532ir6jqp2n2ivpj";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./gitstatusd.patch;
+      gitstatusdPath = "${pkgs.gitAndTools.gitstatus}/bin/gitstatusd";
+    })
+  ];
+
+  installPhase = ''
+    install -D powerlevel10k.zsh-theme --target-directory=$out/share/zsh-powerlevel10k
+    install -D config/* --target-directory=$out/share/zsh-powerlevel10k/config
+    install -D internal/* --target-directory=$out/share/zsh-powerlevel10k/internal
+    rm -r gitstatus/bin
+    install -D gitstatus/* --target-directory=$out/share/zsh-powerlevel10k/gitstatus
+  '';
+
+  meta = {
+    description = "A fast reimplementation of Powerlevel9k ZSH theme";
+    homepage = "https://github.com/romkatv/powerlevel10k";
+    license = stdenv.lib.licenses.mit;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/gitstatusd.patch b/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/gitstatusd.patch
new file mode 100644
index 000000000000..a4440079e4bb
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/gitstatusd.patch
@@ -0,0 +1,14 @@
+diff --git a/gitstatus/gitstatus.plugin.zsh b/gitstatus/gitstatus.plugin.zsh
+index 46d0b3c..b082e24 100644
+--- a/gitstatus/gitstatus.plugin.zsh
++++ b/gitstatus/gitstatus.plugin.zsh
+@@ -53,6 +53,8 @@
+ 
+ [[ -o 'interactive' ]] || 'return'
+ 
++GITSTATUS_DAEMON=@gitstatusdPath@
++
+ # Temporarily change options.
+ 'builtin' 'local' '-a' '_gitstatus_opts'
+ [[ ! -o 'aliases'         ]] || _gitstatus_opts+=('aliases')
+
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
index 9696038548af..114374168638 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ zsh ];
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Fish shell like syntax highlighting for Zsh";
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
index 39e1cedc7d0f..becc4c57e4bb 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-you-should-use";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "MichaelAquilina";
     repo = pname;
     rev = version;
-    sha256 = "1n0mcgahx40acqjj617k0rhqpzjqjaa9xfs4b1xrjp3qdy9s0ns0";
+    sha256 = "1xzq7xmmx4rg53pd69d0s9n561q4z35hlbb2sq2xd76gk3x6fars";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/stdenv/booter.nix b/nixpkgs/pkgs/stdenv/booter.nix
index 1df05099fbf5..51d617354e86 100644
--- a/nixpkgs/pkgs/stdenv/booter.nix
+++ b/nixpkgs/pkgs/stdenv/booter.nix
@@ -121,9 +121,16 @@ stageFuns: let
   postStage = buildPackages: {
     __raw = true;
     stdenv.cc =
-      if buildPackages.stdenv.cc.isClang or false
-      then buildPackages.clang
-      else buildPackages.gcc;
+      if buildPackages.stdenv.hasCC
+      then
+        if buildPackages.stdenv.cc.isClang or false
+        then buildPackages.clang
+        else buildPackages.gcc
+      else
+        # This will blow up if anything uses it, but that's OK. The `if
+        # buildPackages.stdenv.cc.isClang then ... else ...` would blow up
+        # everything, so we make sure to avoid that.
+        buildPackages.stdenv.cc;
   };
 
 in dfold folder postStage (_: {}) withAllowCustomOverrides
diff --git a/nixpkgs/pkgs/stdenv/cross/default.nix b/nixpkgs/pkgs/stdenv/cross/default.nix
index 4e5c4cc2e833..cc49af7de3b5 100644
--- a/nixpkgs/pkgs/stdenv/cross/default.nix
+++ b/nixpkgs/pkgs/stdenv/cross/default.nix
@@ -51,12 +51,18 @@ in lib.init bootStages ++ [
       extraBuildInputs = [ ]; # Old ones run on wrong platform
       allowedRequisites = null;
 
+      hasCC = !targetPlatform.isGhcjs;
+
       cc = if crossSystem.useiOSPrebuilt or false
              then buildPackages.darwin.iosSdkPkgs.clang
            else if crossSystem.useAndroidPrebuilt or false
              then buildPackages."androidndkPkgs_${crossSystem.ndkVer}".clang
            else if targetPlatform.isGhcjs
-             then null
+             # Need to use `throw` so tryEval for splicing works, ugh.  Using
+             # `null` or skipping the attribute would cause an eval failure
+             # `tryEval` wouldn't catch, wrecking accessing previous stages
+             # when there is a C compiler and everything should be fine.
+             then throw "no C compiler provided for this platform"
            else if crossSystem.useLLVM or false
              then buildPackages.llvmPackages_8.lldClang
            else buildPackages.gcc;
diff --git a/nixpkgs/pkgs/stdenv/cygwin/rebase-i686.sh b/nixpkgs/pkgs/stdenv/cygwin/rebase-i686.sh
index 091c9044d93f..6b8ec441ca7f 100644
--- a/nixpkgs/pkgs/stdenv/cygwin/rebase-i686.sh
+++ b/nixpkgs/pkgs/stdenv/cygwin/rebase-i686.sh
@@ -1,7 +1,7 @@
 fixupOutputHooks+=(_cygwinFixAutoImageBase)
 
 _cygwinFixAutoImageBase() {
-    if [ "$dontRebase" == 1 ] || [ ! -d "$prefix" ]; then
+    if [ "${dontRebase-}" == 1 ] || [ ! -d "$prefix" ]; then
         return
     fi
     find "$prefix" -name "*.dll" -type f | while read DLL; do
diff --git a/nixpkgs/pkgs/stdenv/cygwin/rebase-x86_64.sh b/nixpkgs/pkgs/stdenv/cygwin/rebase-x86_64.sh
index 4c8f8ebd7eb2..6dccdc40c722 100644
--- a/nixpkgs/pkgs/stdenv/cygwin/rebase-x86_64.sh
+++ b/nixpkgs/pkgs/stdenv/cygwin/rebase-x86_64.sh
@@ -1,7 +1,7 @@
 fixupOutputHooks+=(_cygwinFixAutoImageBase)
 
 _cygwinFixAutoImageBase() {
-    if [ "$dontRebase" == 1 ] || [ ! -d "$prefix" ]; then
+    if [ "${dontRebase-}" == 1 ] || [ ! -d "$prefix" ]; then
         return
     fi
     find "$prefix" -name "*.dll" -type f | while read DLL; do
diff --git a/nixpkgs/pkgs/stdenv/generic/check-meta.nix b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
index b754230b0be9..21ae809a2225 100644
--- a/nixpkgs/pkgs/stdenv/generic/check-meta.nix
+++ b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
@@ -36,10 +36,10 @@ let
     attrs ? meta.license;
 
   hasWhitelistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && builtins.elem attrs.meta.license whitelist;
+    hasLicense attrs && lib.lists.any (l: builtins.elem l whitelist) (lib.lists.toList attrs.meta.license);
 
   hasBlacklistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && builtins.elem attrs.meta.license blacklist;
+    hasLicense attrs && lib.lists.any (l: builtins.elem l blacklist) (lib.lists.toList attrs.meta.license);
 
   allowBroken = config.allowBroken or false
     || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
@@ -67,7 +67,7 @@ let
     isUnfree (lib.lists.toList attrs.meta.license) &&
     !allowUnfreePredicate attrs;
 
-  allowInsecureDefaultPredicate = x: builtins.elem x.name (config.permittedInsecurePackages or []);
+  allowInsecureDefaultPredicate = x: builtins.elem (getName x) (config.permittedInsecurePackages or []);
   allowInsecurePredicate = x: (config.allowInsecurePredicate or allowInsecureDefaultPredicate) x;
 
   hasAllowedInsecure = attrs:
@@ -75,7 +75,7 @@ let
     allowInsecurePredicate attrs ||
     builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1";
 
-  showLicense = license: license.shortName or "unknown";
+  showLicense = license: toString (map (l: l.shortName or "unknown") (lib.lists.toList license));
 
   pos_str = meta: meta.position or "«unknown-file»";
 
diff --git a/nixpkgs/pkgs/stdenv/generic/default.nix b/nixpkgs/pkgs/stdenv/generic/default.nix
index 2f43db9cfc24..befeb4509973 100644
--- a/nixpkgs/pkgs/stdenv/generic/default.nix
+++ b/nixpkgs/pkgs/stdenv/generic/default.nix
@@ -1,6 +1,15 @@
 let lib = import ../../../lib; in lib.makeOverridable (
 
-{ name ? "stdenv", preHook ? "", initialPath, cc, shell
+{ name ? "stdenv", preHook ? "", initialPath
+
+, # If we don't have a C compiler, we might either have `cc = null` or `cc =
+  # throw ...`, but if we do have a C compiler we should definiely have `cc !=
+  # null`.
+  #
+  # TODO(@Ericson2314): Add assert without creating infinite recursion
+  hasCC ? cc != null, cc
+
+, shell
 , allowedRequisites ? null, extraAttrs ? {}, overrides ? (self: super: {}), config
 
 , # The `fetchurl' to use for downloading curl and its dependencies
@@ -57,7 +66,8 @@ let
       ../../build-support/setup-hooks/move-sbin.sh
       ../../build-support/setup-hooks/move-lib64.sh
       ../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh
-      cc
+      # TODO use lib.optional instead
+      (if hasCC then cc else null)
     ];
 
   defaultBuildInputs = extraBuildInputs;
@@ -145,7 +155,7 @@ let
 
       inherit overrides;
 
-      inherit cc;
+      inherit cc hasCC;
     }
 
     # Propagate any extra attributes.  For instance, we use this to
diff --git a/nixpkgs/pkgs/stdenv/generic/setup.sh b/nixpkgs/pkgs/stdenv/generic/setup.sh
index 311292169ecd..5b8fdde57961 100644
--- a/nixpkgs/pkgs/stdenv/generic/setup.sh
+++ b/nixpkgs/pkgs/stdenv/generic/setup.sh
@@ -17,9 +17,6 @@ fi
 # code). The hooks for <hookName> are the shell function or variable
 # <hookName>, and the values of the shell array ‘<hookName>Hooks’.
 runHook() {
-    local oldOpts="$(shopt -po nounset)"
-    set -u # May be called from elsewhere, so do `set -u`.
-
     local hookName="$1"
     shift
     local hooksSlice="${hookName%Hook}Hooks[@]"
@@ -29,10 +26,8 @@ runHook() {
     # undefined.
     for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; do
         _eval "$hook" "$@"
-        set -u # To balance `_eval`
     done
 
-    eval "${oldOpts}"
     return 0
 }
 
@@ -40,9 +35,6 @@ runHook() {
 # Run all hooks with the specified name, until one succeeds (returns a
 # zero exit code). If none succeed, return a non-zero exit code.
 runOneHook() {
-    local oldOpts="$(shopt -po nounset)"
-    set -u # May be called from elsewhere, so do `set -u`.
-
     local hookName="$1"
     shift
     local hooksSlice="${hookName%Hook}Hooks[@]"
@@ -54,10 +46,8 @@ runOneHook() {
             ret=0
             break
         fi
-        set -u # To balance `_eval`
     done
 
-    eval "${oldOpts}"
     return "$ret"
 }
 
@@ -68,24 +58,17 @@ runOneHook() {
 # environment variables) and from shell scripts (as functions). If you
 # want to allow multiple hooks, use runHook instead.
 _callImplicitHook() {
-    set -u
     local def="$1"
     local hookName="$2"
-    case "$(type -t "$hookName")" in
-        (function|alias|builtin)
-            set +u
-            "$hookName";;
-        (file)
-            set +u
-            source "$hookName";;
-        (keyword) :;;
-        (*) if [ -z "${!hookName:-}" ]; then
-                return "$def";
-            else
-                set +u
-                eval "${!hookName}"
-            fi;;
-    esac
+    if declare -F "$hookName" > /dev/null; then
+        "$hookName"
+    elif type -p "$hookName" > /dev/null; then
+        source "$hookName"
+    elif [ -n "${!hookName:-}" ]; then
+        eval "${!hookName}"
+    else
+        return "$def"
+    fi
     # `_eval` expects hook to need nounset disable and leave it
     # disabled anyways, so Ok to to delegate. The alternative of a
     # return trap is no good because it would affect nested returns.
@@ -96,14 +79,11 @@ _callImplicitHook() {
 # hooks exits the hook, not the caller. Also will only pass args if
 # command can take them
 _eval() {
-    if [ "$(type -t "$1")" = function ]; then
-        set +u
+    if declare -F "$1" > /dev/null 2>&1; then
         "$@" # including args
     else
-        set +u
         eval "$1"
     fi
-    # `run*Hook` reenables `set -u`
 }
 
 
@@ -191,12 +171,12 @@ addToSearchPath() {
 # so it is defined here but tried after the hook.
 _addRpathPrefix() {
     if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then
-        export NIX_LDFLAGS="-rpath $1/lib $NIX_LDFLAGS"
+        export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}"
         if [ -n "${NIX_LIB64_IN_SELF_RPATH:-}" ]; then
-            export NIX_LDFLAGS="-rpath $1/lib64 $NIX_LDFLAGS"
+            export NIX_LDFLAGS="-rpath $1/lib64 ${NIX_LDFLAGS-}"
         fi
         if [ -n "${NIX_LIB32_IN_SELF_RPATH:-}" ]; then
-            export NIX_LDFLAGS="-rpath $1/lib32 $NIX_LDFLAGS"
+            export NIX_LDFLAGS="-rpath $1/lib32 ${NIX_LDFLAGS-}"
         fi
     fi
 }
@@ -212,18 +192,6 @@ isELF() {
     if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
 }
 
-# Return success if the specified file is an ELF object
-# and its e_type is ET_EXEC (executable file)
-isELFExec() {
-    grep -ao -P '^\177ELF.{11}\x00\x02' "$1" >/dev/null
-}
-
-# Return success if the specified file is an ELF object
-# and its e_type is ET_DYN (shared object file)
-isELFDyn() {
-    grep -ao -P '^\177ELF.{11}\x00\x03' "$1" >/dev/null
-}
-
 # Return success if the specified file is a script (i.e. starts with
 # "#!").
 isScript() {
@@ -280,6 +248,8 @@ for i in $initialPath; do
     fi
 done
 
+unset i
+
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
     echo "initial path: $PATH"
 fi
@@ -309,11 +279,11 @@ declare -a pkgsBuildBuild pkgsBuildHost pkgsBuildTarget
 declare -a pkgsHostHost pkgsHostTarget
 declare -a pkgsTargetTarget
 
-declare -ra pkgBuildAccumVars=(pkgsBuildBuild pkgsBuildHost pkgsBuildTarget)
-declare -ra pkgHostAccumVars=(pkgsHostHost pkgsHostTarget)
-declare -ra pkgTargetAccumVars=(pkgsTargetTarget)
+declare -a pkgBuildAccumVars=(pkgsBuildBuild pkgsBuildHost pkgsBuildTarget)
+declare -a pkgHostAccumVars=(pkgsHostHost pkgsHostTarget)
+declare -a pkgTargetAccumVars=(pkgsTargetTarget)
 
-declare -ra pkgAccumVarVars=(pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars)
+declare -a pkgAccumVarVars=(pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars)
 
 
 # Hooks
@@ -322,11 +292,11 @@ declare -a envBuildBuildHooks envBuildHostHooks envBuildTargetHooks
 declare -a envHostHostHooks envHostTargetHooks
 declare -a envTargetTargetHooks
 
-declare -ra pkgBuildHookVars=(envBuildBuildHook envBuildHostHook envBuildTargetHook)
-declare -ra pkgHostHookVars=(envHostHostHook envHostTargetHook)
-declare -ra pkgTargetHookVars=(envTargetTargetHook)
+declare -a pkgBuildHookVars=(envBuildBuildHook envBuildHostHook envBuildTargetHook)
+declare -a pkgHostHookVars=(envHostHostHook envHostTargetHook)
+declare -a pkgTargetHookVars=(envTargetTargetHook)
 
-declare -ra pkgHookVarVars=(pkgBuildHookVars pkgHostHookVars pkgTargetHookVars)
+declare -a pkgHookVarVars=(pkgBuildHookVars pkgHostHookVars pkgTargetHookVars)
 
 # Add env hooks for all sorts of deps with the specified host offset.
 addEnvHooks() {
@@ -342,26 +312,26 @@ addEnvHooks() {
 
 # Propagated dep files
 
-declare -ra propagatedBuildDepFiles=(
+declare -a propagatedBuildDepFiles=(
     propagated-build-build-deps
     propagated-native-build-inputs # Legacy name for back-compat
     propagated-build-target-deps
 )
-declare -ra propagatedHostDepFiles=(
+declare -a propagatedHostDepFiles=(
     propagated-host-host-deps
     propagated-build-inputs # Legacy name for back-compat
 )
-declare -ra propagatedTargetDepFiles=(
+declare -a propagatedTargetDepFiles=(
     propagated-target-target-deps
 )
-declare -ra propagatedDepFilesVars=(
+declare -a propagatedDepFilesVars=(
     propagatedBuildDepFiles
     propagatedHostDepFiles
     propagatedTargetDepFiles
 )
 
 # Platform offsets: build = -1, host = 0, target = 1
-declare -ra allPlatOffsets=(-1 0 1)
+declare -a allPlatOffsets=(-1 0 1)
 
 
 # Mutually-recursively find all build inputs. See the dependency section of the
@@ -401,6 +371,7 @@ findInputs() {
     # The current package's host and target offset together
     # provide a <=-preserving homomorphism from the relative
     # offsets to current offset
+    local -i mapOffsetResult
     function mapOffset() {
         local -ri inputOffset="$1"
         if (( "$inputOffset" <= 0 )); then
@@ -408,7 +379,7 @@ findInputs() {
         else
             local -ri outputOffset="$inputOffset - 1 + $targetOffset"
         fi
-        echo "$outputOffset"
+        mapOffsetResult="$outputOffset"
     }
 
     # Host offset relative to that of the package whose immediate
@@ -420,8 +391,8 @@ findInputs() {
 
         # Host offset relative to the package currently being
         # built---as absolute an offset as will be used.
-        local -i hostOffsetNext
-        hostOffsetNext="$(mapOffset relHostOffset)"
+        mapOffset relHostOffset
+        local -i hostOffsetNext="$mapOffsetResult"
 
         # Ensure we're in bounds relative to the package currently
         # being built.
@@ -439,8 +410,8 @@ findInputs() {
 
             # Target offset relative to the package currently being
             # built.
-            local -i targetOffsetNext
-            targetOffsetNext="$(mapOffset relTargetOffset)"
+            mapOffset relTargetOffset
+            local -i targetOffsetNext="$mapOffsetResult"
 
             # Once again, ensure we're in bounds relative to the
             # package currently being built.
@@ -449,7 +420,8 @@ findInputs() {
             [[ -f "$pkg/nix-support/$file" ]] || continue
 
             local pkgNext
-            for pkgNext in $(< "$pkg/nix-support/$file"); do
+            read -r -d '' pkgNext < "$pkg/nix-support/$file" || true
+            for pkgNext in $pkgNext; do
                 findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext"
             done
         done
@@ -500,10 +472,7 @@ activatePackage() {
     (( "$hostOffset" <= "$targetOffset" )) || exit -1
 
     if [ -f "$pkg" ]; then
-        local oldOpts="$(shopt -po nounset)"
-        set +u
         source "$pkg"
-        eval "$oldOpts"
     fi
 
     # Only dependencies whose host platform is guaranteed to match the
@@ -522,10 +491,7 @@ activatePackage() {
     fi
 
     if [[ -f "$pkg/nix-support/setup-hook" ]]; then
-        local oldOpts="$(shopt -po nounset)"
-        set +u
         source "$pkg/nix-support/setup-hook"
-        eval "$oldOpts"
     fi
 }
 
@@ -605,6 +571,13 @@ _addToEnv() {
 _addToEnv
 
 
+# Unset setup-specific declared variables
+unset allPlatOffsets
+unset pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars pkgAccumVarVars
+unset pkgBuildHookVars pkgHostHookVars pkgTargetHookVars pkgHookVarVars
+unset propagatedDepFilesVars
+
+
 _addRpathPrefix "$out"
 
 
@@ -814,14 +787,17 @@ dumpVars() {
 # Utility function: echo the base name of the given path, with the
 # prefix `HASH-' removed, if present.
 stripHash() {
-    local strippedName
+    local strippedName casematchOpt=0
     # On separate line for `set -e`
-    strippedName="$(basename "$1")"
-    if echo "$strippedName" | grep -q '^[a-z0-9]\{32\}-'; then
-        echo "$strippedName" | cut -c34-
+    strippedName="$(basename -- "$1")"
+    shopt -q nocasematch && casematchOpt=1
+    shopt -u nocasematch
+    if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then
+        echo "${strippedName:33}"
     else
         echo "$strippedName"
     fi
+    if (( casematchOpt )); then shopt -s nocasematch; fi
 }
 
 
@@ -1273,17 +1249,11 @@ showPhaseHeader() {
 
 genericBuild() {
     if [ -f "${buildCommandPath:-}" ]; then
-        local oldOpts="$(shopt -po nounset)"
-        set +u
         source "$buildCommandPath"
-        eval "$oldOpts"
         return
     fi
     if [ -n "${buildCommand:-}" ]; then
-        local oldOpts="$(shopt -po nounset)"
-        set +u
         eval "$buildCommand"
-        eval "$oldOpts"
         return
     fi
 
@@ -1313,10 +1283,7 @@ genericBuild() {
 
         # Evaluate the variable named $curPhase if it exists, otherwise the
         # function named $curPhase.
-        local oldOpts="$(shopt -po nounset)"
-        set +u
         eval "${!curPhase:-$curPhase}"
-        eval "$oldOpts"
 
         if [ "$curPhase" = unpackPhase ]; then
             cd "${sourceRoot:-.}"
diff --git a/nixpkgs/pkgs/stdenv/linux/make-bootstrap-tools.nix b/nixpkgs/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 8d513625df21..0c285f9661e0 100644
--- a/nixpkgs/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/nixpkgs/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -33,6 +33,15 @@ in with pkgs; rec {
     '';
   };
 
+  bootGCC = gcc.cc.override { enableLTO = false; };
+  bootBinutils = binutils.bintools.override {
+    withAllTargets = false;
+    # Don't need two linkers, disable whatever's not primary/default.
+    gold = false;
+    # bootstrap is easier w/static
+    enableShared = false;
+  };
+
   build =
 
     stdenv.mkDerivation {
@@ -109,12 +118,12 @@ in with pkgs; rec {
         cp -d ${gnugrep.pcre.out}/lib/libpcre*.so* $out/lib # needed by grep
 
         # Copy what we need of GCC.
-        cp -d ${gcc.cc.out}/bin/gcc $out/bin
-        cp -d ${gcc.cc.out}/bin/cpp $out/bin
-        cp -d ${gcc.cc.out}/bin/g++ $out/bin
-        cp -d ${gcc.cc.lib}/lib/libgcc_s.so* $out/lib
-        cp -d ${gcc.cc.lib}/lib/libstdc++.so* $out/lib
-        cp -rd ${gcc.cc.out}/lib/gcc $out/lib
+        cp -d ${bootGCC.out}/bin/gcc $out/bin
+        cp -d ${bootGCC.out}/bin/cpp $out/bin
+        cp -d ${bootGCC.out}/bin/g++ $out/bin
+        cp -d ${bootGCC.lib}/lib/libgcc_s.so* $out/lib
+        cp -d ${bootGCC.lib}/lib/libstdc++.so* $out/lib
+        cp -rd ${bootGCC.out}/lib/gcc $out/lib
         chmod -R u+w $out/lib
         rm -f $out/lib/gcc/*/*/include*/linux
         rm -f $out/lib/gcc/*/*/include*/sound
@@ -122,11 +131,11 @@ in with pkgs; rec {
         rm -f $out/lib/gcc/*/*/include-fixed/asm
         rm -rf $out/lib/gcc/*/*/plugin
         #rm -f $out/lib/gcc/*/*/*.a
-        cp -rd ${gcc.cc.out}/libexec/* $out/libexec
+        cp -rd ${bootGCC.out}/libexec/* $out/libexec
         chmod -R u+w $out/libexec
         rm -rf $out/libexec/gcc/*/*/plugin
         mkdir -p $out/include
-        cp -rd ${gcc.cc.out}/include/c++ $out/include
+        cp -rd ${bootGCC.out}/include/c++ $out/include
         chmod -R u+w $out/include
         rm -rf $out/include/c++/*/ext/pb_ds
         rm -rf $out/include/c++/*/ext/parallel
@@ -148,7 +157,7 @@ in with pkgs; rec {
 
         # Copy binutils.
         for i in as ld ar ranlib nm strip readelf objdump; do
-          cp ${binutils.bintools.out}/bin/$i $out/bin
+          cp ${bootBinutils.out}/bin/$i $out/bin
         done
         cp '${lib.getLib binutils.bintools}'/lib/* "$out/lib/"
 
@@ -172,7 +181,7 @@ in with pkgs; rec {
         mv $out/.pack $out/pack
 
         mkdir $out/on-server
-        XZ_OPT=-9 tar cvJf $out/on-server/bootstrap-tools.tar.xz --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 -C $out/pack .
+        XZ_OPT="-9 -e" tar cvJf $out/on-server/bootstrap-tools.tar.xz --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 -C $out/pack .
         cp ${busyboxMinimal}/bin/busybox $out/on-server
         chmod u+w $out/on-server/busybox
         nuke-refs $out/on-server/busybox
diff --git a/nixpkgs/pkgs/test/default.nix b/nixpkgs/pkgs/test/default.nix
index 793229f8bbb0..eb0711b88857 100644
--- a/nixpkgs/pkgs/test/default.nix
+++ b/nixpkgs/pkgs/test/default.nix
@@ -20,6 +20,10 @@ with pkgs;
   cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; };
   cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; };
   cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; };
+  cc-wrapper-clang-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.stdenv; };
+  cc-wrapper-libcxx-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.libcxxStdenv; };
+  cc-wrapper-clang-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.stdenv; };
+  cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
   stdenv-inputs = callPackage ./stdenv-inputs { };
 
   cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
diff --git a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
index b54a7303ff87..c161a7c77378 100644
--- a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
@@ -23,10 +23,15 @@ python3Packages.buildPythonApplication rec {
 
   doCheck = false; # There are no tests.
 
-  postBuild = ''
+  postInstall = ''
     mkdir -p $out/share
     cp -r share $out/
+    # autostart file
+    cp -r $out/lib/python*/site-packages/etc $out/etc/
     glib-compile-schemas --strict $out/share/glib-2.0/schemas
+    for i in $(find $out -name "*.desktop"); do
+      substituteInPlace $i --replace /usr $out
+    done
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
index 5327e0f8c8f9..1948dd2b9c5d 100644
--- a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/dragon-drop/default.nix b/nixpkgs/pkgs/tools/X11/dragon-drop/default.nix
index f15d099016a5..54ece6a9a163 100644
--- a/nixpkgs/pkgs/tools/X11/dragon-drop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/hsetroot/default.nix b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
index 239dfa0963b2..6bae355812c2 100644
--- a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   patches = [ underlinkingPatch ];
 
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/nixpkgs/pkgs/tools/X11/imwheel/default.nix b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
index f33e15e59cc6..efed00f96397 100644
--- a/nixpkgs/pkgs/tools/X11/imwheel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
@@ -10,10 +10,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXext libXi libXmu libXt libXtst ];
 
-  postPatch = ''
-    substituteInPlace Makefile.in --replace "ETCDIR = " "ETCDIR = $out"
-    substituteInPlace util.c --replace "/etc/X11/imwheel" "$out/etc/X11/imwheel"
-  '';
+  makeFlags = [
+    "sysconfdir=/etc"
+    "ETCDIR=/etc"
+  ];
+
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+    "ETCDIR=${placeholder "out"}/etc"
+  ];
 
   meta = with stdenv.lib; {
     homepage = "http://imwheel.sourceforge.net/";
diff --git a/nixpkgs/pkgs/tools/X11/nx-libs/default.nix b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
index c2bcfe788e64..77aada9f83fd 100644
--- a/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
@@ -2,12 +2,12 @@
   libpng, libtool, libxml2, pkgconfig, which, xorg }:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.21";
+  version = "3.5.99.22";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "10xid8mhhid5mrap5jb51k9fm63cm03ss4k4sfymc8zsn0wrqnr9";
+    sha256 = "0ipq93s2knv2xbb919d777mrc7v4k9l5bk0d4x6ji1bgispfa7jl";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig which
diff --git a/nixpkgs/pkgs/tools/X11/oblogout/default.nix b/nixpkgs/pkgs/tools/X11/oblogout/default.nix
deleted file mode 100644
index 9acd113d0ab3..000000000000
--- a/nixpkgs/pkgs/tools/X11/oblogout/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, intltool, file, pythonPackages, cairo }:
-
-pythonPackages.buildPythonApplication {
-  pname = "oblogout-unstable";
-  version = "2009-11-18";
-
-  src = fetchFromGitHub {
-    owner = "nikdoof";
-    repo = "oblogout";
-    rev = "ee023158c03dee720a1af9b1307b14ed5a95f5a0";
-    sha256 = "0nj87q94idb5ki4wnb2xipfgc6k6clr3rmm4xxh46b58z4zhhbmj";
-  };
-
-  nativeBuildInputs = [ intltool file pythonPackages.distutils_extra ];
-
-  buildInputs = [ cairo ];
-
-  propagatedBuildInputs = [ pythonPackages.pygtk pythonPackages.pillow pythonPackages.dbus-python ];
-
-  patches = [ ./oblogout-0.3-fixes.patch ];
-
-  postPatch = ''
-    substituteInPlace data/oblogout --replace sys.prefix \"$out/${pythonPackages.python.sitePackages}\"
-    substituteInPlace oblogout/__init__.py --replace sys.prefix \"$out\"
-    mkdir -p $out/share/doc
-    cp -a README $out/share/doc
-  '';
-
-  meta = {
-    description = "Openbox logout script";
-    homepage = https://launchpad.net/oblogout;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch b/nixpkgs/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
deleted file mode 100644
index c58103c6d407..000000000000
--- a/nixpkgs/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/data/oblogout b/data/oblogout
-index 8058c4a..dfe5285 100755
---- a/data/oblogout
-+++ b/data/oblogout
-@@ -77,8 +77,10 @@ def main(argv = None):
-             config = 'data/oblogout.conf'
-         elif os.path.isfile('%s/.config/oblogout.conf' % os.getenv("HOME")):
-             config = '%s/.config/oblogout.conf' % os.getenv("HOME")
--        else:
-+        elif os.path.isfile('/etc/oblogout.conf'):
-             config = '/etc/oblogout.conf'
-+        else:
-+            config = sys.prefix + '/etc/oblogout.conf'
-                 
-     # Check config in local path, if it exists pass it on     
-     if not os.path.isfile(config):
-diff --git a/data/oblogout.conf b/data/oblogout.conf
-index 810872c..b1c1009 100644
---- a/data/oblogout.conf
-+++ b/data/oblogout.conf
-@@ -1,11 +1,11 @@
- [settings]
--usehal = true
-+usehal = false
- 
- [looks]
- opacity = 70
- bgcolor = black
- buttontheme = simplistic
--buttons = cancel, logout, restart, shutdown, suspend, lock
-+buttons = cancel, logout, restart, shutdown, suspend
- 
- [shortcuts]
- cancel = Escape
-@@ -17,11 +17,11 @@ lock = K
- hibernate = H
- 
- [commands]
--shutdown = shutdown -h now
--restart = reboot
--suspend = pmi action suspend
--hibernate = pmi action hibernate
--safesuspend = safesuspend
--lock = gnome-screensaver-command -l
--switchuser = gdm-control --switch-user
-+shutdown = systemctl poweroff
-+restart = systemctl reboot
-+suspend = systemctl suspend
-+hibernate = systemctl hibernate
-+# safesuspend = safesuspend
-+# lock = gnome-screensaver-command -l
-+# switchuser = gdm-control --switch-user
- logout = openbox --exit
-diff --git a/oblogout/__init__.py b/oblogout/__init__.py
-index b9e4e01..12f521f 100644
---- a/oblogout/__init__.py
-+++ b/oblogout/__init__.py
-@@ -138,7 +138,7 @@ class OpenboxLogout():
-             self.logger.debug("Rendering Fade")
-             # Convert Pixbuf to PIL Image
-             wh = (pb.get_width(),pb.get_height())
--            pilimg = Image.fromstring("RGB", wh, pb.get_pixels())
-+            pilimg = Image.frombytes("RGB", wh, pb.get_pixels())
-             
-             pilimg = pilimg.point(lambda p: (p * self.opacity) / 255 )
- 
diff --git a/nixpkgs/pkgs/tools/X11/screen-message/default.nix b/nixpkgs/pkgs/tools/X11/screen-message/default.nix
index 8b4a1e19572a..c57c4f824310 100644
--- a/nixpkgs/pkgs/tools/X11/screen-message/default.nix
+++ b/nixpkgs/pkgs/tools/X11/screen-message/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3, hicolor-icon-theme }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "screen-message";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtk3 hicolor-icon-theme ];
+  buildInputs = [ gtk3 ];
 
   # screen-message installs its binary in $(prefix)/games per default
   makeFlags = [ "execgamesdir=$(out)/bin" ];
diff --git a/nixpkgs/pkgs/tools/X11/setroot/default.nix b/nixpkgs/pkgs/tools/X11/setroot/default.nix
index bb113c90849c..a9b5f17af832 100644
--- a/nixpkgs/pkgs/tools/X11/setroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/setroot/default.nix
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ libX11 imlib2 ]
     ++ stdenv.lib.optional enableXinerama libXinerama;
 
-  buildFlags = "CC=cc " + (if enableXinerama then "xinerama=1" else "xinerama=0");
+  buildFlags = [ "CC=cc" (if enableXinerama then "xinerama=1" else "xinerama=0") ] ;
 
-  installFlags = "DESTDIR=$(out) PREFIX=";
+  installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
   meta = with stdenv.lib; {
     description = "Simple X background setter inspired by imlibsetroot and feh";
diff --git a/nixpkgs/pkgs/tools/X11/srandrd/default.nix b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
index af9394a84fa5..6d5fa0f3d980 100644
--- a/nixpkgs/pkgs/tools/X11/srandrd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXrandr libXinerama ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/jceb/srandrd";
diff --git a/nixpkgs/pkgs/tools/X11/winswitch/default.nix b/nixpkgs/pkgs/tools/X11/winswitch/default.nix
deleted file mode 100644
index e8b2be4b7837..000000000000
--- a/nixpkgs/pkgs/tools/X11/winswitch/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, pythonPackages
-, which, xpra, xmodmap }:
-
-let
-  base = pythonPackages.buildPythonApplication rec {
-    pname = "winswitch";
-    namePrefix = "";
-    version = "0.12.23";
-
-    src = fetchurl {
-      url = "http://winswitch.org/src/${pname}-${version}.src.tar.bz2";
-      sha256 = "1m0akjcdlsgng426rwvzlcl76kjm993icj0pggvha40cizig1yd9";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [
-      pygtk twisted pycrypto pyasn1 which xpra xmodmap
-    ];
-
-    patchPhase = ''
-      sed -i -r -e 's|(PREFIX_DIR *= *).*|\1"'"$out"'"|'             \
-                -e 's|(PREFIX_SEARCH_ORDER *= *).*|\1["'"$out"'"]|'  \
-                -e 's|(ETC_SEARCH_ORDER *= *).*|\1["'"$out/etc"'"]|' \
-                -e 's|(BIN_SEARCH_ORDER *= *).*|\1["'"$out/bin"'"]|' \
-                winswitch/util/paths.py
-
-      sed -i -e '/elif *LINUX:/,/distro_helper/{
-        s/elif *LINUX:.*/else: name = "NixOS"/p
-        /distro_helper/!d
-      }' winswitch/util/distro_packaging_util.py
-    '';
-
-    preInstall = ''
-      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-      python setup.py install_data --install-dir=$out --root=$out
-      sed -i '/data_files = data_files/d' setup.py
-    '';
-
-    doCheck = false;
-
-    meta.platforms = stdenv.lib.platforms.linux;
-  };
-in stdenv.lib.overrideDerivation base (b: {
-  postFixup = b.postFixup + ''
-    sed -i -e 's/\''${PATH:+:}\$PATH//g' "$out/bin"/*
-  '';
-})
diff --git a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
index 1a6e99f0393d..fce3df19718c 100644
--- a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.0.9";
+  version = "6.0.11";
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
     rev = version;
-    sha256 = "0j2wci85918zsrrvd4qpcqv9bzhzj7qvjchvhvl11fn035jml5l0";
+    sha256 = "0da4gj54c361a0bicrjhhb9bp9yr5lx7p1knrsc4dykap1xn23vi";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/X11/x11spice/default.nix b/nixpkgs/pkgs/tools/X11/x11spice/default.nix
new file mode 100644
index 000000000000..513149049faf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/x11spice/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitLab, autoreconfHook, pkgconfig
+, xorg, gtk2, spice, spice-protocol
+}:
+
+stdenv.mkDerivation rec {
+  pname = "x11spice";
+  version = "2019-08-20";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "spice";
+    repo = "x11spice";
+    rev = "51d2a8ba3813469264959bb3ba2fc6fe08097be6";
+    sha256 = "0va5ix14vnqch59gq8wvrhw6q0w0n27sy70xx5kvfj2cl0h1xpg8";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [
+    xorg.libxcb xorg.xcbutil xorg.utilmacros
+    gtk2 spice spice-protocol
+  ];
+
+  NIX_LDFLAGS = "-lpthread";
+
+  meta = with stdenv.lib; {
+    description = ''
+      x11spice will enable a running X11 desktop to be available
+      via a Spice server
+    '';
+    homepage = https://gitlab.freedesktop.org/spice/x11spice;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
index 2857ea6c7be4..e196411ce412 100644
--- a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   buildInputs = [ libX11 libXaw libXext libXmu libXpm libXxf86vm ];
 
   makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = {
     description = "X11 brigthness and gamma software control";
diff --git a/nixpkgs/pkgs/tools/X11/xcwd/default.nix b/nixpkgs/pkgs/tools/X11/xcwd/default.nix
index 48cab6529ccb..d50a7c006c89 100644
--- a/nixpkgs/pkgs/tools/X11/xcwd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xcwd/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ libX11 ];
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
 
   installPhase = ''
     install -D xcwd "$out/bin/xcwd"
diff --git a/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix b/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
index f1e6e28627c7..99d5df2591ac 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub
 , file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
-, w3m, gnugrep, gnused, coreutils, xset
+, w3m, gnugrep, gnused, coreutils, xset, perlPackages
 , mimiSupport ? false, gawk ? null }:
 
 assert mimiSupport -> gawk != null;
@@ -13,6 +13,11 @@ let
     rev = "8e0070f17bcd3612ee83cb84e663e7c7fabcca3d";
     sha256 = "15gw2nyrqmdsdin8gzxihpn77grhk9l97jp7s7pr7sl4n9ya2rpj";
   };
+
+  perlPath = with perlPackages; makePerlPath [
+    NetDBus XMLTwig XMLParser X11Protocol
+  ];
+
 in
 
 stdenv.mkDerivation rec {
@@ -39,6 +44,8 @@ stdenv.mkDerivation rec {
     awk()   { ${gawk}/bin/awk       "$@"; }\
     sort()  { ${coreutils}/bin/sort "$@"; }\
     xset()  { ${xset}/bin/xset      "$@"; }\
+    perl()  { PERL5LIB=${perlPath} ${perlPackages.perl}/bin/perl "$@"; }\
+    mimetype() { ${perlPackages.FileMimeInfo}/bin/mimetype "$@"; }\
     &#' -i "$out"/bin/*
 
     substituteInPlace $out/bin/xdg-open \
diff --git a/nixpkgs/pkgs/tools/X11/xdotool/default.nix b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
index d20714befba1..6fa185dfeab4 100644
--- a/nixpkgs/pkgs/tools/X11/xdotool/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib
   '';
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
     homepage = https://www.semicomplete.com/projects/xdotool/;
diff --git a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
index b1770af2406e..67c6a594db75 100644
--- a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
+++ b/nixpkgs/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.0";
+  version = "0.8.0";
 
   doCheck = false;
 
@@ -12,14 +12,14 @@ rustPlatform.buildRustPackage rec {
     repo = "xidlehook";
     rev = version;
 
-    sha256 = "0dl4rnh4l3rhga5pfxmkc9syn6vx05zxdf8xcv0gw9h60y1smp6v";
+    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/nixpkgs/pkgs/tools/X11/xnee/default.nix b/nixpkgs/pkgs/tools/X11/xnee/default.nix
index 58569dcd59cf..f8f48ea4cdb6 100644
--- a/nixpkgs/pkgs/tools/X11/xnee/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xnee/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   # `cnee' is linked without `-lXi' and as a consequence has a RUNPATH that
   # lacks libXi.
-  makeFlags = "LDFLAGS=-lXi";
+  makeFlags = [ "LDFLAGS=-lXi" ];
 
   # XXX: Actually tests require an X server.
   doCheck = true;
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
     homepage = https://www.gnu.org/software/xnee/;
 
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xob/default.nix b/nixpkgs/pkgs/tools/X11/xob/default.nix
new file mode 100644
index 000000000000..164802470e56
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/xob/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, pkg-config, xorg, libconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "xob";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "florentc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0i163avpij8iy04a0wsds237sjqi5dfvi6ny2z8zicnl4crp34xg";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ xorg.libX11 libconfig ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight overlay bar for the X Window System";
+    longDescription = ''
+      A lightweight configurable overlay volume/backlight/progress/anything bar
+      for the X Window System. Each time a new value is read on the standard
+      input, it is displayed as a tv-like bar over other windows. It then
+      vanishes after a configurable amount of time. A value followed by a bang
+      '!' is displayed using an alternate color to account for special states
+      (e.g. muted audio). There is also support for overflows (when the value
+      exceeds the maximum).
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix b/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
index dfac2cf88a55..4dbe31df03ca 100644
--- a/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ xorg.libX11 xorg.libXfixes xorg.libXrandr ];
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
 
   meta = {
     homepage = https://uninformativ.de/git/xpointerbarrier;
diff --git a/nixpkgs/pkgs/tools/X11/xpra/default.nix b/nixpkgs/pkgs/tools/X11/xpra/default.nix
index ffede7d58b22..da7bfb445a97 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpra/default.nix
@@ -60,10 +60,8 @@ in buildPythonApplication rec {
     ipaddress idna
   ];
 
-  NIX_CFLAGS_COMPILE = [
     # error: 'import_cairo' defined but not used
-    "-Wno-error=unused-function"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-function";
 
   setupPyBuildFlags = [
     "--with-Xdummy"
diff --git a/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix b/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
index 8766e3c0d54d..8349953f4ff1 100644
--- a/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xsecurelock";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "xsecurelock";
     rev = "v${version}";
-    sha256 = "1l9xk3hb5fxp4sqlxjldm4j6cvmxa39a7a37hw8f7vbpmcqy6n6w";
+    sha256 = "0zdwszscdw0p7kwpqqv1dywn00bq1wak2x602lb6hdmkffspi8bg";
   };
 
   nativeBuildInputs = [
@@ -32,11 +32,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  preInstall = ''
-    substituteInPlace helpers/saver_blank \
-      --replace 'protect xset' 'protect ${xset}/bin/xset'
-  '';
-
   meta = with lib; {
     description = "X11 screen lock utility with security in mind";
     homepage = https://github.com/google/xsecurelock;
diff --git a/nixpkgs/pkgs/tools/X11/xzoom/default.nix b/nixpkgs/pkgs/tools/X11/xzoom/default.nix
index d1867e3b077b..ed7828f37e2a 100644
--- a/nixpkgs/pkgs/tools/X11/xzoom/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xzoom/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libX11, libXext, libXt, imake, gccmakedep}:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}.${patchlevel}";
+  name = "${pname}-${version}";
   pname = "xzoom";
   version = "0.3";
-  patchlevel = "24";
+  patch = "24";
 
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
   patches = [
     (fetchurl {
-       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patchlevel}.diff.gz";
+       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz";
        sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
     })
   ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     "BINDIR=$(out)/bin"
     "MANPATH=$(out)/share/man"
   ];
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = {
     inherit version;
diff --git a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
index 6e89421d390b..cdf58bc0215d 100644
--- a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.8.2";
+  version = "2.8.3";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "07bq6axgq33djp87kkx7c5cv8n80gclvj247n9j514zqly6abdxy";
+    sha256 = "0j9wn61jd107fq9ww79399s7adql0vf897s0xavlvv6chq8a6ajj";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/admin/ansible/default.nix b/nixpkgs/pkgs/tools/admin/ansible/default.nix
index eaba52251509..5b724fb0bf90 100644
--- a/nixpkgs/pkgs/tools/admin/ansible/default.nix
+++ b/nixpkgs/pkgs/tools/admin/ansible/default.nix
@@ -7,21 +7,21 @@
 
   ansible_2_7 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.7.11";
+    version = "2.7.15";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0zipzm9al6k74h88b6zkddpcbxqs4cms7lidid6wn1vx3d3dxrp7";
+      sha256 = "1kjqr35c11njyi3f2rjab6821bhqcrdykv4285q76gwv0qynigwr";
     };
   }));
 
   ansible_2_6 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.6.17";
+    version = "2.6.20";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0ixr3g1nb02xblqyk87bzag8sj8phy37m24xflabfl1k2zfh0313";
+      sha256 = "02ra9q2mifyawn0719y78wrbqzik73aymlzwi90fq71jgyfvkkqn";
     };
   }));
 }
diff --git a/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix b/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix
index 0fc001d5a19b..e878369f1770 100644
--- a/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/aws_shell/default.nix b/nixpkgs/pkgs/tools/admin/aws_shell/default.nix
index c319c47ea7e4..b9169691808f 100644
--- a/nixpkgs/pkgs/tools/admin/aws_shell/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws_shell/default.nix
@@ -1,20 +1,16 @@
 { stdenv
-, buildPythonPackage
-, fetchPypi
 , awscli
-, prompt_toolkit
-, boto3
-, configobj
-, pygments
 }:
 
+with awscli.python.pkgs;
+
 buildPythonPackage rec {
   pname = "aws-shell";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b46a673b81254e5e014297e08c9ecab535773aa651ca33dc3786a1fd612f9810";
+    sha256 = "2044b0ef78c7542c392f2cee4b74a4439545c63dda0a3e28b712fff53e8e5823";
   };
 
   # Why does it propagate packages that are used for testing?
@@ -24,8 +20,14 @@ buildPythonPackage rec {
     boto3
     configobj
     pygments
+    pyyaml
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+     --replace "prompt-toolkit>=1.0.0,<1.1.0" "prompt-toolkit"
+  '';
+
   #Checks are failing due to missing TTY, which won't exist.
   doCheck = false;
   preCheck = ''
diff --git a/nixpkgs/pkgs/tools/admin/awscli/default.nix b/nixpkgs/pkgs/tools/admin/awscli/default.nix
index 33526ba11dfc..f38d4cd1a1d6 100644
--- a/nixpkgs/pkgs/tools/admin/awscli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli/default.nix
@@ -1,12 +1,11 @@
 { lib
-, python
+, python3
 , groff
 , less
-, fetchpatch
 }:
 
 let
-  py = python.override {
+  py = python3.override {
     packageOverrides = self: super: {
       rsa = super.rsa.overridePythonAttrs (oldAttrs: rec {
         version = "3.4.2";
@@ -15,24 +14,33 @@ let
           sha256 = "25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5";
         };
       });
+
+      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+        version = "5.1.2";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1r5faspz73477hlbjgilw05xsms0glmsa371yqdd26znqsvg1b81";
+        };
+      });
+
       colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
-        version = "0.3.9";
+        version = "0.4.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1";
+          sha256 = "0ba247bx5pc60hcpbf3rjsqk0whilg241i9qdfnlcwij5qgdgvh5";
         };
       });
-      pyyaml = super.pyyaml_3;
+
     };
   };
 
 in py.pkgs.buildPythonApplication rec {
   pname = "awscli";
-  version = "1.16.215"; # N.B: if you change this, change botocore to a matching version too
+  version = "1.16.266"; # N.B: if you change this, change botocore to a matching version too
 
   src = py.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "13r32z8iyza4gvpf81l6l2ywv37yxi4bb08ry7cli5m6ny9xqlq8";
+    sha256 = "9c59a5ca805f467669d471b29550ecafafb9b380a4a6926a9f8866f71cd4f7be";
   };
 
   # No tests included
@@ -49,6 +57,9 @@ in py.pkgs.buildPythonApplication rec {
     pyyaml
     groff
     less
+    urllib3
+    dateutil
+    jmespath
   ];
 
   postInstall = ''
@@ -59,6 +70,8 @@ in py.pkgs.buildPythonApplication rec {
     rm $out/bin/aws.cmd
   '';
 
+  passthru.python = py; # for aws_shell
+
   meta = with lib; {
     homepage = https://aws.amazon.com/cli/;
     description = "Unified tool to manage your AWS services";
diff --git a/nixpkgs/pkgs/tools/admin/awslogs/default.nix b/nixpkgs/pkgs/tools/admin/awslogs/default.nix
index 6d590b8975b9..92b6d62a8a2d 100644
--- a/nixpkgs/pkgs/tools/admin/awslogs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awslogs/default.nix
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   propagatedBuildInputs = with python3Packages; [
-    boto3 termcolor dateutil docutils
+    boto3 termcolor dateutil docutils setuptools
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
new file mode 100644
index 000000000000..91ef7ee022e4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "awsweeper";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "cloudetc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0if2sfxd28m832zyiy40grwa4may45zq20h35yxf8bq0wxvp0q3f";
+  };
+
+  modSha256 = "0nzc8ib2c3wlwk97qq45kgpnval69v8nbxhkfabcx0idipx3pbvk";
+
+  meta = with lib; {
+    description = "A tool to clean out your AWS account";
+    homepage = "https://github.com/cloudetc/awsweeper/";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
new file mode 100644
index 000000000000..1a492c41aeec
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
@@ -0,0 +1,250 @@
+{ stdenv, lib, python, fetchFromGitHub, installShellFiles }:
+
+let
+  version = "2.0.79";
+  src = fetchFromGitHub {
+    owner = "Azure";
+    repo = "azure-cli";
+    rev = "azure-cli-${version}";
+    sha256 = "0fzpq5fnqxkjghsjk4hi3jng5lgywpvj3fzb5sb7nb7ymvkvhad2";
+  };
+
+  # put packages that needs to be overriden in the py package scope
+  py = import ./python-packages.nix { inherit stdenv 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-loganalytics
+    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.loganalytics"
+    "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/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
new file mode 100644
index 000000000000..ac0e633cb967
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -0,0 +1,287 @@
+{ stdenv, 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-common
+          azure-cli-telemetry
+          azure-mgmt-resource
+          colorama
+          humanfriendly
+          jmespath
+          knack
+          msrest
+          msrestazure
+          paramiko
+          psutil
+          pygments
+          pyjwt
+          pyopenssl
+          pyperclip
+          pyyaml
+          requests
+          six
+          tabulate
+        ]
+        ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
+        ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
+
+        doCheck = stdenv.isLinux;
+        # ignore test that does network call
+        checkPhase = ''
+          rm azure/{,cli/}__init__.py
+          python -c 'import azure.common; print(azure.common)'
+          PYTHONPATH=$PWD:$PYTHONPATH HOME=$TMPDIR pytest \
+            --ignore=azure/cli/core/tests/test_profile.py \
+            --ignore=azure/cli/core/tests/test_generic_update.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-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.5.0" "zip"
+        "0jhq8fi3dn2cncyv2rrgr4kldd254f30zgwf6p85rdgvg2p9k4hl";
+
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "6.0.0" "zip"
+        "08n6r6ja7p20qlhb9pp51nwwxz2mal19an98zry276i8z5x8ckp0";
+
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "10.0.0" "zip"
+        "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
+
+      azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
+        "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
+
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "8.0.0" "zip"
+        "0akpm12xj453dp84dfdpi06phr4q0hknr5l7bz96zbc8iand78wg";
+
+      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.11.0" "zip"
+        "05j0s2ng6ck35lw85cbjf5cm6canc71c41aagr68cmiqj1li6v1z";
+
+      azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "0.2.1" "zip"
+        "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky";
+
+      azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip"
+        "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq";
+
+      azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "1.0.0" "zip"
+        "1s1x0pzynz0sd0l4k1kvkph9i1y03y9qd6afbw0nafcr3znqib4s";
+
+      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.7.0" "zip"
+        "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
+
+      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-media = overrideAzureMgmtPackage super.azure-mgmt-media "1.1.1" "zip"
+        "16wk0ksycrscsn3n14qk4vvf7i567vq6f96lwf5dwbc81wx6n32x";
+
+      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-redis = overrideAzureMgmtPackage super.azure-mgmt-redis "7.0.0rc1" "zip"
+        "086wk31wsl8dx14qpd0g1bly8i9a8fix007djlj9cybva2f2bk6k";
+
+      azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
+        "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
+
+      azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip"
+        "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx";
+
+      azure-mgmt-sql = overrideAzureMgmtPackage super.azure-mgmt-sql "0.15.0" "zip"
+        "0qv58xraznv2ldhd34cvznhz045x3ncfgam9c12gxyj4q0k3pyc9";
+
+      azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "0.5.0" "zip"
+        "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm";
+
+      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-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "3.1.0" "zip"
+        "1qvnksmvsg8cw1ac6vbdxjdqsm7s1sak27k8xy24hm7c9a8y1nqc";
+
+      azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc7" "zip"
+        "1bzfpbz186dhnxn0blgr20xxnk67gkr8ysn2b3f1r41bq9hz97xp";
+
+      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.7.0" "zip"
+        "1pprvk5255b6brbw73g0g13zygwa7a2px5x08wy3153rqlzan5l2";
+
+      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 "7.0.0" "zip"
+        "01f17fb1myskj72zarc67i1sxfvk66lid9zn12gwjrz2vqc6npkz";
+
+      azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip"
+        "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj";
+
+      azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "1.3.0" "zip"
+        "1r7isr7hzq2dv1idwwa9xxxgk8wh0ncka45r4rdcsl1p7kd2kqam";
+
+      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";
+        };
+      });
+
+      azure-keyvault = super.azure-keyvault.overrideAttrs(oldAttrs: rec {
+        version = "1.1.0";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          extension = "zip";
+          sha256 = "0jfxm8lx8dzs3v2b04ljizk8gfckbm5l2v86rm7k0npbfvryba1p";
+        };
+
+        propagatedBuildInputs = with self; [
+          azure-common azure-nspkg msrest msrestazure cryptography
+        ];
+        postInstall = ''
+          rm -f $out/${self.python.sitePackages}/azure/__init__.py
+        '';
+        pythonImportsCheck = [ ];
+      });
+
+      # 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/nixpkgs/pkgs/tools/admin/berglas/default.nix b/nixpkgs/pkgs/tools/admin/berglas/default.nix
new file mode 100644
index 000000000000..aaca67baa165
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/berglas/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+
+  name = "berglas-${version}";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "GoogleCloudPlatform";
+    repo = "berglas";
+    rev = "v0.5.0";
+    sha256 = "1y5w2czipwj069w4zxnyb9xqv5mx0yjjramykf3vm3q478bk3rm7";
+  };
+
+  modSha256 = "0y4ajii3pv25s4gjazf6fl0b9wax17cmwhbmiybqhp61annca7kr";
+
+  meta = with stdenv.lib; {
+    description = "A tool for managing secrets on Google Cloud";
+    homepage = https://github.com/GoogleCloudPlatform/berglas;
+    license = licenses.asl20;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/boulder/default.nix b/nixpkgs/pkgs/tools/admin/boulder/default.nix
new file mode 100644
index 000000000000..a21a3ebdde11
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/boulder/default.nix
@@ -0,0 +1,33 @@
+{ buildGoPackage
+, libtool
+, fetchFromGitHub
+, lib
+}:
+
+let
+  version = "release-2019-10-13";
+
+in buildGoPackage {
+
+  pname = "boulder";
+  inherit version;
+
+  goPackagePath = "github.com/letsencrypt/boulder";
+
+  buildInputs = [ libtool ];
+
+  src = fetchFromGitHub {
+    owner = "letsencrypt";
+    repo = "boulder";
+    rev = version;
+    sha256 = "0kis23dnjja6jp192rjpv2m9m2zmzfwhs93440nxg354k6fp8jdg";
+  };
+
+  meta = {
+    homepage = "https://github.com/letsencrypt/boulder";
+    description = "An ACME-based CA, written in Go";
+    license = [ lib.licenses.mpl20 ];
+    maintainers = [ ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix b/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
index e4b27d98dff9..8e2ef7c87e1d 100644
--- a/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
+++ b/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bubblewrap";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchurl {
     url = "https://github.com/projectatomic/bubblewrap/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "1zsd6rxryg97dkkhibr0fvq16x3s75qj84rvhdv8p42ag58mz966";
+    sha256 = "08r0f4c3fjkb4zjrb4kkax1zfcgcgic702vb62sjjw5xfhppvzp5";
   };
 
   nativeBuildInputs = [ libcap libxslt docbook_xsl ];
diff --git a/nixpkgs/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch b/nixpkgs/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
new file mode 100644
index 000000000000..62351a70160a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
@@ -0,0 +1,60 @@
+From 0de195de31dc311976af52a7c2b547bc23af2691 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Sat, 14 Dec 2019 19:27:14 +0100
+Subject: [PATCH] Don't use distutils.StrictVersion that cannot handle certain
+ versions
+
+```
+  File "setup.py", line 63, in <module>
+    if StrictVersion(setuptools_version) >= StrictVersion('36.2'):
+File
+"/nix/store/zdh16dcvjw99ybam59zd2ijb6bx138j0-python3-3.7.5/lib/python3.7/distutils/version.py",
+line 40, in __init__
+    self.parse(vstring)
+File
+"/nix/store/zdh16dcvjw99ybam59zd2ijb6bx138j0-python3-3.7.5/lib/python3.7/distutils/version.py",
+line 137, in parse
+    raise ValueError("invalid version number '%s'" % vstring)
+ValueError: invalid version number '41.4.0.post20191022'
+```
+---
+ certbot/setup.py | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/certbot/setup.py b/certbot/setup.py
+index c1bf914..7456bf2 100644
+--- a/certbot/setup.py
++++ b/certbot/setup.py
+@@ -3,7 +3,6 @@ import os
+ import re
+ import sys
+ 
+-from distutils.version import StrictVersion
+ from setuptools import find_packages, setup, __version__ as setuptools_version
+ from setuptools.command.test import test as TestCommand
+ 
+@@ -56,20 +55,8 @@ install_requires = [
+ 
+ # Add pywin32 on Windows platforms to handle low-level system calls.
+ # This dependency needs to be added using environment markers to avoid its installation on Linux.
+-# However environment markers are supported only with setuptools >= 36.2.
+-# So this dependency is not added for old Linux distributions with old setuptools,
+-# in order to allow these systems to build certbot from sources.
+ pywin32_req = 'pywin32>=227'  # do not forget to edit pywin32 dependency accordingly in windows-installer/construct.py
+-if StrictVersion(setuptools_version) >= StrictVersion('36.2'):
+-    install_requires.append(pywin32_req + " ; sys_platform == 'win32'")
+-elif 'bdist_wheel' in sys.argv[1:]:
+-    raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
+-                       'of setuptools. Version 36.2+ of setuptools is required.')
+-elif os.name == 'nt':
+-    # This branch exists to improve this package's behavior on Windows. Without
+-    # it, if the sdist is installed on Windows with an old version of
+-    # setuptools, pywin32 will not be specified as a dependency.
+-    install_requires.append(pywin32_req)
++install_requires.append(pywin32_req + " ; sys_platform == 'win32'")
+ 
+ dev_extras = [
+     'astroid==1.6.5',
+-- 
+2.24.1
+
diff --git a/nixpkgs/pkgs/tools/admin/certbot/default.nix b/nixpkgs/pkgs/tools/admin/certbot/default.nix
index 782af149ed6a..8fdbfd127783 100644
--- a/nixpkgs/pkgs/tools/admin/certbot/default.nix
+++ b/nixpkgs/pkgs/tools/admin/certbot/default.nix
@@ -1,21 +1,27 @@
-{ stdenv, python3Packages, fetchFromGitHub, dialog }:
+{ stdenv, python37Packages, fetchFromGitHub, fetchurl, dialog, autoPatchelfHook }:
 
-python3Packages.buildPythonApplication rec {
+
+python37Packages.buildPythonApplication rec {
   pname = "certbot";
-  version = "0.31.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rwjxmkpicyc9a5janvj1lfi430nq6ha94nyfgp11ds9fyydbh1s";
+    sha256 = "180x7gcpfbrzw8k654s7b5nxdy2yg61lq513dykyn3wz4gssw465";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  patches = [
+    ./0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
+  ];
+
+  propagatedBuildInputs = with python37Packages; [
     ConfigArgParse
     acme
     configobj
     cryptography
+    distro
     josepy
     parsedatetime
     psutil
@@ -26,11 +32,18 @@ python3Packages.buildPythonApplication rec {
     zope_component
     zope_interface
   ];
-  buildInputs = [ dialog ] ++ (with python3Packages; [ mock gnureadline ]);
 
-  patchPhase = ''
-    substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
-    substituteInPlace certbot/util.py --replace "sw_vers" "/usr/bin/sw_vers"
+  buildInputs = [ dialog ] ++ (with python37Packages; [ mock gnureadline ]);
+
+  checkInputs = with python37Packages; [
+    pytest_xdist
+    pytest
+    dateutil
+  ];
+
+  postPatch = ''
+    cd certbot
+    substituteInPlace certbot/_internal/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
   '';
 
   postInstall = ''
@@ -40,7 +53,7 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
-  doCheck = !stdenv.isDarwin; # On Hydra Darwin tests fail with "Too many open files".
+  doCheck = true;
 
   meta = with stdenv.lib; {
     homepage = src.meta.homepage;
diff --git a/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index 25c147120947..3f4d00736ad9 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -1,28 +1,28 @@
-{ lib, buildGoPackage, fetchFromGitHub, makeWrapper, rpm, xz }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, rpm, xz }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "clair";
-  version = "2.0.9";
-
-  goPackagePath = "github.com/coreos/clair";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
-    owner = "coreos";
+    owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lcrqka4daqqjagx2mbfzg3z8wxg669mw1lb450nrlc33ji2iwdm";
+    sha256 = "14dh9iv2g138rivvfk135m3l90kk6c1ln1iqxhbi7s99h1jixbqw";
   };
 
+  modSha256 = "0rgkrid58kji39nlmiii95r8shbzr6dwalj5m7qwxy5w1rcaljr5";
+
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
-    wrapProgram $bin/bin/clair \
+    wrapProgram $out/bin/clair \
       --prefix PATH : "${lib.makeBinPath [ rpm xz ]}"
   '';
 
   meta = with lib; {
     description = "Vulnerability Static Analysis for Containers";
-    homepage = "https://github.com/coreos/clair";
+    homepage = "https://github.com/quay/clair";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/docker-credential-helpers/default.nix b/nixpkgs/pkgs/tools/admin/docker-credential-helpers/default.nix
new file mode 100644
index 000000000000..1f4315afc40d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/docker-credential-helpers/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, pkg-config, libsecret }:
+
+buildGoPackage rec {
+  pname = "docker-credential-helpers";
+  version = "0.6.3";
+
+  goPackagePath = "github.com/docker/docker-credential-helpers";
+
+  src = fetchFromGitHub {
+    owner = "docker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0xgmwjva3j1s0cqkbajbamj13bgzh5jkf2ir54m9a7w8gjnsh6dx";
+  };
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsecret ];
+
+  buildPhase =
+    if stdenv.isDarwin
+    then ''
+      cd go/src/${goPackagePath}
+      go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go
+    ''
+    else ''
+      cd go/src/${goPackagePath}
+      go build -o bin/docker-credential-secretservice secretservice/cmd/main_linux.go
+      go build -o bin/docker-credential-pass pass/cmd/main_linux.go
+    '';
+
+  installPhase =
+    if stdenv.isDarwin
+    then ''
+      install -Dm755 -t $bin/bin bin/docker-credential-osxkeychain
+    ''
+    else ''
+      install -Dm755 -t $bin/bin bin/docker-credential-pass
+      install -Dm755 -t $bin/bin bin/docker-credential-secretservice
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Suite of programs to use native stores to keep Docker credentials safe";
+    homepage = "https://github.com/docker/docker-credential-helpers";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 253306586532..e5fcf3933ebc 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.5.2";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "1aw69kcb2wx832hdfbx0944wwvdn5jbpr164pv6z0bxqzc0yi2kv";
+    sha256 = "197lf6cb1maam1yxy29wgp4dkakaavmwqvq2d9i4qxhscalrdra5";
   };
 
-  modSha256 = "0c8hbb73w1922qh895lsk0m9i7lk9kzrvxjc4crwsfpn9pv0qgd3";
+  modSha256 = "04ba3dyfwlf0m6kn7yp7qyp3h2qdwp17y1f9pa79y3c6sd2nadk2";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch-curator/default.nix b/nixpkgs/pkgs/tools/admin/elasticsearch-curator/default.nix
index e95d1aaba022..8d8f90704999 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch-curator/default.nix
+++ b/nixpkgs/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.7.6";
+  version = "5.8.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0a6q7jcqwcqf8cv76lzldf90hnj2x8gha754x515dq10zsi9sjms";
+  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/nixpkgs/pkgs/tools/admin/fastlane/default.nix b/nixpkgs/pkgs/tools/admin/fastlane/default.nix
index afb044ad583a..1cdc969ea2e6 100644
--- a/nixpkgs/pkgs/tools/admin/fastlane/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fastlane/default.nix
@@ -6,15 +6,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  env = bundlerEnv {
-    name = "${pname}-${version}-gems";
-    inherit pname ruby;
-    gemdir = ./.;
-  };
-
   phases = [ "installPhase" ];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "${pname}-${version}-gems";
+      inherit pname ruby;
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/fastlane $out/bin/fastlane \
      --set FASTLANE_SKIP_UPDATE_CHECK 1
diff --git a/nixpkgs/pkgs/tools/admin/fbvnc/default.nix b/nixpkgs/pkgs/tools/admin/fbvnc/default.nix
new file mode 100644
index 000000000000..ec32b5f0a268
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
index 7c81e861ddbc..5e02c8e34835 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -7,30 +7,32 @@
 #   3) used by `google-cloud-sdk` only on GCE guests
 #
 
-{ stdenv, lib, fetchurl, makeWrapper, python, cffi, cryptography, pyopenssl,
-  crcmod, google-compute-engine, with-gce ? false }:
+{ stdenv, lib, fetchurl, makeWrapper, python, with-gce ? false }:
 
 let
-  pythonInputs = [ cffi cryptography pyopenssl crcmod ]
-                 ++ lib.optional (with-gce) google-compute-engine;
-  pythonPath = lib.makeSearchPath python.sitePackages pythonInputs;
+  pythonEnv = python.withPackages (p: with p; [
+    cffi
+    cryptography
+    pyopenssl
+    crcmod
+  ] ++ lib.optional (with-gce) google-compute-engine);
 
   baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads";
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "17gqrfnqbhp9hhlb57nxii18pb5cnxn3k8p2djiw699qkx3aqs13";
+      sha256 = "10h0khh8npj2j5f7h3z86h46zbb1skbfs74firssich6jk7rx6km";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1bgvwgyshh0icb07dacrip0q5xs5l2315m1gz5ggz5dhnf0vrz0q";
+      sha256 = "182r9lgpks50ihcrkarc5w6l4rfmpdnx825lazamj5j2jsha73xw";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "255.0.0";
+  version = "268.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
@@ -53,8 +55,8 @@ in stdenv.mkDerivation rec {
         programPath="$out/google-cloud-sdk/bin/$program"
         binaryPath="$out/bin/$program"
         wrapProgram "$programPath" \
-            --set CLOUDSDK_PYTHON "${python}/bin/python" \
-            --prefix PYTHONPATH : "${pythonPath}"
+            --set CLOUDSDK_PYTHON "${pythonEnv}/bin/python" \
+            --prefix PYTHONPATH : "${pythonEnv}/${python.sitePackages}"
 
         mkdir -p $out/bin
         ln -s $programPath $binaryPath
@@ -82,7 +84,7 @@ in stdenv.mkDerivation rec {
     # This package contains vendored dependencies. All have free licenses.
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
-    maintainers = with maintainers; [ stephenmw zimbatm ];
+    maintainers = with maintainers; [ pradyuman stephenmw zimbatm ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index bf4261682cf9..fa7c3876a283 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,17 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "3.0.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0q73522yblcjsyscsppwnxfw6m249zr9whb93bhv5i5z012gy6mx";
+    sha256 = "1djvwyjg30f9bj61pf3y2k2w055pj39v0sif4rjqg8cz0j382a2z";
   };
 
-  modSha256 = "00pl8l8h01rfxyd0l4487x55kfqhpm0ls84kxmgz3vph7irm6hcq";
+  modSha256 = "0k3p11cji3p4nzr8aia8hp01wyx1qfx84259dwbfwg1b32ln8rkc";
+  subPackages = [ "cmd/lego" ];
 
   meta = with lib; {
     description = "Let's Encrypt client and ACME library written in Go";
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 3c50a7948d90..fd8ee9e04a3a 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -1,7 +1,7 @@
 { stdenv, pkgconfig, lxc, buildGoPackage, fetchurl
 , makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq
-, squashfsTools, iproute, iptables, ebtables, libcap, dqlite
-, sqlite-replication
+, squashfsTools, iproute, iptables, ebtables, libcap, libco-canonical, dqlite
+, raft-canonical, sqlite-replication
 , writeShellScriptBin, apparmor-profiles, apparmor-parser
 , criu
 , bash
@@ -9,21 +9,20 @@
 
 buildGoPackage rec {
   pname = "lxd";
-  version = "3.13";
+  version = "3.18";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://github.com/lxc/lxd/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1kasnzd8hw9biyx8avbjmpfax1pdbp9g543g8hs6xpksmk93hl82";
+    sha256 = "1p8g2gbwgn3kln5rxddpc2fxk8bvf026wjiqip2b0vvpi7h3955h";
   };
 
   preBuild = ''
     # unpack vendor
     pushd go/src/github.com/lxc/lxd
-    rm dist/src/github.com/lxc/lxd
-    cp -r dist/src/* ../../..
-    rm -r dist
+    rm _dist/src/github.com/lxc/lxd
+    cp -r _dist/src/* ../../..
     popd
   '';
 
@@ -45,13 +44,14 @@ buildGoPackage rec {
   '';
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ lxc acl libcap dqlite sqlite-replication ];
+  buildInputs = [ lxc acl libcap libco-canonical.dev dqlite.dev
+                  raft-canonical.dev sqlite-replication ];
 
   meta = with stdenv.lib; {
     description = "Daemon based on liblxc offering a REST API to manage containers";
     homepage = https://linuxcontainers.org/lxd/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz wucke13 ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/mycli/default.nix b/nixpkgs/pkgs/tools/admin/mycli/default.nix
index aa22e10b95da..1783c1ae04d9 100644
--- a/nixpkgs/pkgs/tools/admin/mycli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/mycli/default.nix
@@ -7,15 +7,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "mycli";
-  version = "1.19.0";
+  version = "1.20.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0x5vzl4vvirqy03fnjwkamhzrqkknlajamwz1rmbnqh4bfmijh9m";
+    sha256 = "0vhwaqkx4njarm0wy8zg2hvzr2yl92y8gnwipcn7p59sazw4whfl";
   };
 
-  patches = [ ./fix-tests.patch ];
-
   propagatedBuildInputs = [
     pymysql configobj sqlparse prompt_toolkit pygments click pycrypto cli-helpers
   ];
@@ -38,5 +36,6 @@ buildPythonApplication rec {
     '';
     homepage = http://mycli.net;
     license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.jojosch ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/mycli/fix-tests.patch b/nixpkgs/pkgs/tools/admin/mycli/fix-tests.patch
deleted file mode 100644
index e67370bc824a..000000000000
--- a/nixpkgs/pkgs/tools/admin/mycli/fix-tests.patch
+++ /dev/null
@@ -1,446 +0,0 @@
-diff --git a/mycli/sqlcompleter.py b/mycli/sqlcompleter.py
-index 81ee128..2b22fa9 100644
---- a/mycli/sqlcompleter.py
-+++ b/mycli/sqlcompleter.py
-@@ -16,27 +16,32 @@ _logger = logging.getLogger(__name__)
- 
- class SQLCompleter(Completer):
-     keywords = ['ACCESS', 'ADD', 'ALL', 'ALTER TABLE', 'AND', 'ANY', 'AS',
--                'ASC', 'AUTO_INCREMENT', 'BEFORE', 'BEGIN', 'BETWEEN', 'BINARY', 'BY',
--                'CASE', 'CHAR', 'CHECK', 'COLUMN', 'COMMENT', 'COMMIT', 'CONSTRAINT',
--                'CHANGE MASTER TO', 'CHARACTER SET', 'COLLATE', 'CREATE', 'CURRENT', 'CURRENT_TIMESTAMP', 'DATABASE', 'DATE',
--                'DECIMAL', 'DEFAULT', 'DELETE FROM', 'DELIMITER', 'DESC',
--                'DESCRIBE', 'DROP', 'ELSE', 'END', 'ENGINE', 'ESCAPE', 'EXISTS',
--                'FILE', 'FLOAT', 'FOR', 'FOREIGN KEY', 'FORMAT', 'FROM', 'FULL', 'FUNCTION', 'GRANT',
--                'GROUP BY', 'HAVING', 'HOST', 'IDENTIFIED', 'IN', 'INCREMENT', 'INDEX',
--                'INSERT INTO', 'INTEGER', 'INTO', 'INTERVAL', 'IS', 'JOIN', 'KEY', 'LEFT',
--                'LEVEL', 'LIKE', 'LIMIT', 'LOCK', 'LOGS', 'LONG', 'MASTER', 'MODE',
--                'MODIFY', 'NOT', 'NULL', 'NUMBER', 'OFFSET', 'ON', 'OPTION', 'OR',
--                'ORDER BY', 'OUTER', 'OWNER', 'PASSWORD', 'PORT', 'PRIMARY',
--                'PRIVILEGES', 'PROCESSLIST', 'PURGE', 'REFERENCES', 'REGEXP', 'RENAME', 'REPAIR', 'RESET',
--                'REVOKE', 'RIGHT', 'ROLLBACK', 'ROW', 'ROWS', 'ROW_FORMAT', 'SELECT', 'SESSION', 'SET',
--                'SAVEPOINT', 'SHARE', 'SHOW', 'SLAVE', 'SMALLINT', 'START', 'STOP', 'TABLE', 'THEN',
--                'TO', 'TRANSACTION', 'TRIGGER', 'TRUNCATE', 'UNION', 'UNIQUE', 'UNSIGNED', 'UPDATE',
--                'USE', 'USER', 'USING', 'VALUES', 'VARCHAR', 'VIEW', 'WHEN', 'WHERE',
--                'WITH', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'BIGINT']
--
--    functions = ['AVG', 'CONCAT', 'COUNT', 'DISTINCT', 'FIRST', 'FORMAT', 'LAST',
--                 'LCASE', 'LEN', 'MAX', 'MIN', 'MID', 'NOW', 'ROUND', 'SUM',
--                 'TOP', 'UCASE','FROM_UNIXTIME', 'UNIX_TIMESTAMP']
-+                'ASC', 'AUTO_INCREMENT', 'BEFORE', 'BEGIN', 'BETWEEN',
-+                'BIGINT', 'BINARY', 'BY', 'CASE', 'CHANGE MASTER TO', 'CHAR',
-+                'CHARACTER SET', 'CHECK', 'COLLATE', 'COLUMN', 'COMMENT',
-+                'COMMIT', 'CONSTRAINT', 'CREATE', 'CURRENT',
-+                'CURRENT_TIMESTAMP', 'DATABASE', 'DATE', 'DECIMAL', 'DEFAULT',
-+                'DELETE FROM', 'DELIMITER', 'DESC', 'DESCRIBE', 'DROP',
-+                'ELSE', 'END', 'ENGINE', 'ESCAPE', 'EXISTS', 'FILE', 'FLOAT',
-+                'FOR', 'FOREIGN KEY', 'FORMAT', 'FROM', 'FULL', 'FUNCTION',
-+                'GRANT', 'GROUP BY', 'HAVING', 'HOST', 'IDENTIFIED', 'IN',
-+                'INCREMENT', 'INDEX', 'INSERT INTO', 'INT', 'INTEGER',
-+                'INTERVAL', 'INTO', 'IS', 'JOIN', 'KEY', 'LEFT', 'LEVEL',
-+                'LIKE', 'LIMIT', 'LOCK', 'LOGS', 'LONG', 'MASTER',
-+                'MEDIUMINT', 'MODE', 'MODIFY', 'NOT', 'NULL', 'NUMBER',
-+                'OFFSET', 'ON', 'OPTION', 'OR', 'ORDER BY', 'OUTER', 'OWNER',
-+                'PASSWORD', 'PORT', 'PRIMARY', 'PRIVILEGES', 'PROCESSLIST',
-+                'PURGE', 'REFERENCES', 'REGEXP', 'RENAME', 'REPAIR', 'RESET',
-+                'REVOKE', 'RIGHT', 'ROLLBACK', 'ROW', 'ROWS', 'ROW_FORMAT',
-+                'SAVEPOINT', 'SELECT', 'SESSION', 'SET', 'SHARE', 'SHOW',
-+                'SLAVE', 'SMALLINT', 'SMALLINT', 'START', 'STOP', 'TABLE',
-+                'THEN', 'TINYINT', 'TO', 'TRANSACTION', 'TRIGGER', 'TRUNCATE',
-+                'UNION', 'UNIQUE', 'UNSIGNED', 'UPDATE', 'USE', 'USER',
-+                'USING', 'VALUES', 'VARCHAR', 'VIEW', 'WHEN', 'WHERE', 'WITH']
-+
-+    functions = ['AVG', 'CONCAT', 'COUNT', 'DISTINCT', 'FIRST', 'FORMAT',
-+                 'FROM_UNIXTIME', 'LAST', 'LCASE', 'LEN', 'MAX', 'MID',
-+                 'MIN', 'NOW', 'ROUND', 'SUM', 'TOP', 'UCASE', 'UNIX_TIMESTAMP']
- 
-     show_items = []
- 
-diff --git a/test/test_naive_completion.py b/test/test_naive_completion.py
-index 3282c7e..01a432d 100644
---- a/test/test_naive_completion.py
-+++ b/test/test_naive_completion.py
-@@ -19,36 +19,36 @@ def complete_event():
- def test_empty_string_completion(completer, complete_event):
-     text = ''
-     position = 0
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert result == set(map(Completion, completer.all_completions))
-+    assert result == list(map(Completion, sorted(completer.all_completions)))
- 
- 
- def test_select_keyword_completion(completer, complete_event):
-     text = 'SEL'
-     position = len('SEL')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert result == set([Completion(text='SELECT', start_position=-3)])
-+    assert result == list([Completion(text='SELECT', start_position=-3)])
- 
- 
- def test_function_name_completion(completer, complete_event):
-     text = 'SELECT MA'
-     position = len('SELECT MA')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert result == set([
--        Completion(text='MAX', start_position=-2),
--        Completion(text='MASTER', start_position=-2)])
-+    assert result == list([
-+        Completion(text='MASTER', start_position=-2),
-+        Completion(text='MAX', start_position=-2)])
- 
- 
- def test_column_name_completion(completer, complete_event):
-     text = 'SELECT  FROM users'
-     position = len('SELECT ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert result == set(map(Completion, completer.all_completions))
-+    assert result == list(map(Completion, sorted(completer.all_completions)))
-diff --git a/test/test_smart_completion_public_schema_only.py b/test/test_smart_completion_public_schema_only.py
-index 00059bb..3c29956 100644
---- a/test/test_smart_completion_public_schema_only.py
-+++ b/test/test_smart_completion_public_schema_only.py
-@@ -42,11 +42,11 @@ def complete_event():
- def test_empty_string_completion(completer, complete_event):
-     text = ''
-     position = 0
--    result = set(
-+    result = list(
-         completer.get_completions(
-             Document(text=text, cursor_position=position),
-             complete_event))
--    assert set(map(Completion, completer.keywords)) == result
-+    assert list(map(Completion, completer.keywords)) == result
- 
- 
- def test_select_keyword_completion(completer, complete_event):
-@@ -55,7 +55,7 @@ def test_select_keyword_completion(completer, complete_event):
-     result = completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event)
--    assert set(result) == set([Completion(text='SELECT', start_position=-3)])
-+    assert list(result) == list([Completion(text='SELECT', start_position=-3)])
- 
- 
- def test_table_completion(completer, complete_event):
-@@ -63,10 +63,12 @@ def test_table_completion(completer, complete_event):
-     position = len(text)
-     result = completer.get_completions(
-         Document(text=text, cursor_position=position), complete_event)
--    assert set(result) == set([Completion(text='users', start_position=0),
--                               Completion(text='`select`', start_position=0),
--                               Completion(text='`réveillé`', start_position=0),
--                               Completion(text='orders', start_position=0)])
-+    assert list(result) == list([
-+        Completion(text='`réveillé`', start_position=0),
-+        Completion(text='`select`', start_position=0),
-+        Completion(text='orders', start_position=0),
-+        Completion(text='users', start_position=0),
-+    ])
- 
- 
- def test_function_name_completion(completer, complete_event):
-@@ -74,7 +76,7 @@ def test_function_name_completion(completer, complete_event):
-     position = len('SELECT MA')
-     result = completer.get_completions(
-         Document(text=text, cursor_position=position), complete_event)
--    assert set(result) == set([Completion(text='MAX', start_position=-2),
-+    assert list(result) == list([Completion(text='MAX', start_position=-2),
-                                Completion(text='MASTER', start_position=-2),
-                                ])
- 
-@@ -89,17 +91,18 @@ def test_suggested_column_names(completer, complete_event):
-     """
-     text = 'SELECT  from users'
-     position = len('SELECT ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='users', start_position=0),
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
--        Completion(text='last_name', start_position=0)] +
-+        Completion(text='id', start_position=0),
-+        Completion(text='last_name', start_position=0),
-+    ] +
-         list(map(Completion, completer.functions)) +
-+        [Completion(text='users', start_position=0)] +
-         list(map(Completion, completer.keywords)))
- 
- 
-@@ -117,11 +120,11 @@ def test_suggested_column_names_in_function(completer, complete_event):
-     result = completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event)
--    assert set(result) == set([
-+    assert list(result) == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)])
- 
- 
-@@ -135,14 +138,14 @@ def test_suggested_column_names_with_table_dot(completer, complete_event):
-     """
-     text = 'SELECT users. from users'
-     position = len('SELECT users.')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)])
- 
- 
-@@ -156,14 +159,14 @@ def test_suggested_column_names_with_alias(completer, complete_event):
-     """
-     text = 'SELECT u. from users u'
-     position = len('SELECT u.')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)])
- 
- 
-@@ -178,17 +181,17 @@ def test_suggested_multiple_column_names(completer, complete_event):
-     """
-     text = 'SELECT id,  from users u'
-     position = len('SELECT id, ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='u', start_position=0),
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)] +
-         list(map(Completion, completer.functions)) +
-+        [Completion(text='u', start_position=0)] +
-         list(map(Completion, completer.keywords)))
- 
- 
-@@ -203,14 +206,14 @@ def test_suggested_multiple_column_names_with_alias(completer, complete_event):
-     """
-     text = 'SELECT u.id, u. from users u'
-     position = len('SELECT u.id, u.')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)])
- 
- 
-@@ -225,106 +228,108 @@ def test_suggested_multiple_column_names_with_dot(completer, complete_event):
-     """
-     text = 'SELECT users.id, users. from users u'
-     position = len('SELECT users.id, users.')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-         Completion(text='email', start_position=0),
-         Completion(text='first_name', start_position=0),
-+        Completion(text='id', start_position=0),
-         Completion(text='last_name', start_position=0)])
- 
- 
- def test_suggested_aliases_after_on(completer, complete_event):
-     text = 'SELECT u.name, o.id FROM users u JOIN orders o ON '
-     position = len('SELECT u.name, o.id FROM users u JOIN orders o ON ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='u', start_position=0),
--        Completion(text='o', start_position=0)])
-+    assert result == list([
-+        Completion(text='o', start_position=0),
-+        Completion(text='u', start_position=0)])
- 
- 
- def test_suggested_aliases_after_on_right_side(completer, complete_event):
-     text = 'SELECT u.name, o.id FROM users u JOIN orders o ON o.user_id = '
-     position = len(
-         'SELECT u.name, o.id FROM users u JOIN orders o ON o.user_id = ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='u', start_position=0),
--        Completion(text='o', start_position=0)])
-+    assert result == list([
-+        Completion(text='o', start_position=0),
-+        Completion(text='u', start_position=0)])
- 
- 
- def test_suggested_tables_after_on(completer, complete_event):
-     text = 'SELECT users.name, orders.id FROM users JOIN orders ON '
-     position = len('SELECT users.name, orders.id FROM users JOIN orders ON ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='users', start_position=0),
--        Completion(text='orders', start_position=0)])
-+    assert result == list([
-+        Completion(text='orders', start_position=0),
-+        Completion(text='users', start_position=0)])
- 
- 
- def test_suggested_tables_after_on_right_side(completer, complete_event):
-     text = 'SELECT users.name, orders.id FROM users JOIN orders ON orders.user_id = '
-     position = len(
-         'SELECT users.name, orders.id FROM users JOIN orders ON orders.user_id = ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='users', start_position=0),
--        Completion(text='orders', start_position=0)])
-+    assert result == list([
-+        Completion(text='orders', start_position=0),
-+        Completion(text='users', start_position=0)])
- 
- 
- def test_table_names_after_from(completer, complete_event):
-     text = 'SELECT * FROM '
-     position = len('SELECT * FROM ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='users', start_position=0),
--        Completion(text='orders', start_position=0),
-+    assert result == list([
-         Completion(text='`réveillé`', start_position=0),
-         Completion(text='`select`', start_position=0),
-+        Completion(text='orders', start_position=0),
-+        Completion(text='users', start_position=0),
-     ])
- 
- 
- def test_auto_escaped_col_names(completer, complete_event):
-     text = 'SELECT  from `select`'
-     position = len('SELECT ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='`select`', start_position=0),
-+    assert result == [
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-+        Completion(text='`ABC`', start_position=0),
-         Completion(text='`insert`', start_position=0),
--        Completion(text='`ABC`', start_position=0), ] +
--        list(map(Completion, completer.functions)) +
--        list(map(Completion, completer.keywords)))
-+        Completion(text='id', start_position=0),
-+    ] + \
-+        list(map(Completion, completer.functions)) + \
-+        [Completion(text='`select`', start_position=0)] + \
-+        list(map(Completion, completer.keywords))
- 
- 
- def test_un_escaped_table_names(completer, complete_event):
-     text = 'SELECT  from réveillé'
-     position = len('SELECT ')
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    assert set(result) == set([
--        Completion(text='réveillé', start_position=0),
-+    assert result == list([
-         Completion(text='*', start_position=0),
--        Completion(text='id', start_position=0),
-+        Completion(text='`ABC`', start_position=0),
-         Completion(text='`insert`', start_position=0),
--        Completion(text='`ABC`', start_position=0), ] +
-+        Completion(text='id', start_position=0),
-+    ] +
-         list(map(Completion, completer.functions)) +
-+        [Completion(text='réveillé', start_position=0)] +
-         list(map(Completion, completer.keywords)))
- 
- 
-@@ -349,10 +354,10 @@ def dummy_list_path(dir_name):
- 
- @patch('mycli.packages.filepaths.list_path', new=dummy_list_path)
- @pytest.mark.parametrize('text,expected', [
--    ('source ',  [('~', 0),
--                  ('/', 0),
--                  ('.', 0),
--                  ('..', 0)]),
-+    #    ('source ',  [('~', 0),
-+    #                  ('/', 0),
-+    #                  ('.', 0),
-+    #                  ('..', 0)]),
-     ('source /', [('dir1', 0),
-                   ('file1.sql', 0),
-                   ('file2.sql', 0)]),
-@@ -363,8 +368,8 @@ def dummy_list_path(dir_name):
- ])
- def test_file_name_completion(completer, complete_event, text, expected):
-     position = len(text)
--    result = set(completer.get_completions(
-+    result = list(completer.get_completions(
-         Document(text=text, cursor_position=position),
-         complete_event))
--    expected = set([Completion(txt, pos) for txt, pos in expected])
-+    expected = list((Completion(txt, pos) for txt, pos in expected))
-     assert result == expected
diff --git a/nixpkgs/pkgs/tools/admin/oxidized/Gemfile.lock b/nixpkgs/pkgs/tools/admin/oxidized/Gemfile.lock
index 89129ccb25f6..0832bce6d2ee 100644
--- a/nixpkgs/pkgs/tools/admin/oxidized/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/admin/oxidized/Gemfile.lock
@@ -7,6 +7,7 @@ GEM
     emk-sinatra-url-for (0.2.1)
       sinatra (>= 0.9.1.1)
     ffi (1.10.0)
+    git (1.5.0)
     haml (5.0.4)
       temple (>= 0.8.0)
       tilt
@@ -17,6 +18,7 @@ GEM
     net-telnet (0.1.1)
     oxidized (0.26.3)
       asetus (~> 0.1)
+      git (~> 1)
       net-ssh (~> 5)
       net-telnet (~> 0.1.1)
       rugged (~> 0.21, >= 0.21.4)
diff --git a/nixpkgs/pkgs/tools/admin/oxidized/gemset.nix b/nixpkgs/pkgs/tools/admin/oxidized/gemset.nix
index de7714aced8d..ff77102af12a 100644
--- a/nixpkgs/pkgs/tools/admin/oxidized/gemset.nix
+++ b/nixpkgs/pkgs/tools/admin/oxidized/gemset.nix
@@ -50,6 +50,16 @@
     };
     version = "1.10.0";
   };
+  git = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bf83icwypi3p3pd97vlqbnp3hvf31ncd440m9kh9y7x6yk74wyh";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
   haml = {
     dependencies = ["temple" "tilt"];
     groups = ["default"];
@@ -112,7 +122,7 @@
     version = "0.1.1";
   };
   oxidized = {
-    dependencies = ["asetus" "net-ssh" "net-telnet" "rugged" "slop"];
+    dependencies = ["asetus" "git" "net-ssh" "net-telnet" "rugged" "slop"];
     groups = ["default"];
     platforms = [];
     source = {
diff --git a/nixpkgs/pkgs/tools/admin/pebble/default.nix b/nixpkgs/pkgs/tools/admin/pebble/default.nix
new file mode 100644
index 000000000000..5aa220fd89e6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/pebble/default.nix
@@ -0,0 +1,26 @@
+{ buildGoPackage
+, fetchFromGitHub
+, lib
+}:
+
+let
+  version = "v2.2.2";
+  pname = "pebble";
+in buildGoPackage {
+  inherit pname version;
+  goPackagePath = "github.com/letsencrypt/${pname}";
+
+  src = fetchFromGitHub {
+    owner = "letsencrypt";
+    repo = pname;
+    rev = version;
+    sha256 = "10g6ivdxxp3632wk0gvmp75v9x668kchhmlczbsq8qnsc8sb8pwf";
+  };
+
+  meta = {
+    homepage = "https://github.com/letsencrypt/boulder";
+    description = "A miniature version of Boulder, Pebble is a small RFC 8555 ACME test server not suited for a production CA";
+    license = [ lib.licenses.mpl20 ];
+    maintainers = [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/procs/default.nix b/nixpkgs/pkgs/tools/admin/procs/default.nix
index 85333ca78f87..20e9c8b3d47a 100644
--- a/nixpkgs/pkgs/tools/admin/procs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/procs/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchFromGitHub, rustPlatform
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.8.9";
+  version = "0.8.16";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gqbdk4gaxkpval52fsravjgvqz6c9zh1ahry57a2p6kszw96n13";
+    sha256 = "0l4n3gr1sc7wfa21p8yh7idaii0mnfpyqp4cg7f9l4345isy94vq";
   };
 
-  cargoSha256 = "1k0yl03rxbv009gb2jkc0f7mjq3pzc9bf8hppk2w9xicxpq6l55c";
+  cargoSha256 = "03c63dlzvag341n6la1s61ccri1avlprd91m11z9zzjhi9b46kcr";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
+  patches = [
+    # Fix tests on darwin. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/dalance/procs/commit/bb554e247b5b339bc00fa5dd2e771b0d7cb09cd5.patch";
+      sha256 = "1szvvifa4pdbgdsmdj5f0zq6qzf1lh6wwc6ipawblfzwmg7d9wvk";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A modern replacement for ps written in Rust";
     homepage = "https://github.com/dalance/procs";
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
new file mode 100644
index 000000000000..1edc80c24e2c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -0,0 +1,51 @@
+# DO NOT EDIT! This file is generated automatically by update.sh
+{ }:
+{
+  version = "1.4.0";
+  pulumiPkgs = {
+    x86_64-linux = [
+      {
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v1.4.0-linux-x64.tar.gz";
+        sha256 = "00ywy2ba4xha6gwd42i3fdrk1myivkd1r6ijdr2vkianmg524k6f";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v0.2.0-linux-amd64.tar.gz";
+        sha256 = "1hj4gysjipd091f106a7xz02g9cail5d11rn6j08m0xphg9cf3fn";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v1.4.1-linux-amd64.tar.gz";
+        sha256 = "0r6xpsb2riqmxwxw28lbi3xd7w4ds510gw99j1rr57h5b9bq19jj";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v1.2.3-linux-amd64.tar.gz";
+        sha256 = "0m7fajy3cy1agsz787ak548khwj8rwahs1ibaswqfyyw092iyzb9";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v1.7.0-linux-amd64.tar.gz";
+        sha256 = "1qw90l7h8yn06bz2l2995nbrc3svs223dm3ys1807amj4n2jyfwb";
+      }
+    ];
+    x86_64-darwin = [
+      {
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v1.4.0-darwin-x64.tar.gz";
+        sha256 = "02vqw9gn17dy3rfh0j00k9f827l42g3nl3rhlcbc8jbgx3n9c9qy";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v0.2.0-darwin-amd64.tar.gz";
+        sha256 = "077j9fp8ix00rcqrq8qxk3kvz6gz6sknzb2iv3qjvkh6yh292mz3";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v1.4.1-darwin-amd64.tar.gz";
+        sha256 = "1i2vf3bxwf8awvw183hq9bbnmznda1jpv1zqghgz2ybx4s0915nx";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v1.2.3-darwin-amd64.tar.gz";
+        sha256 = "123czx1c31r5r91k2jhdgmnffypnl8w1a6h9mr2rdhwgbx8hzq40";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v1.7.0-darwin-amd64.tar.gz";
+        sha256 = "0cl0vakppxi0v8ym8b4fzhzb10nl84wd0vfik8gpfwsg7zwdzhlp";
+      }
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/default.nix b/nixpkgs/pkgs/tools/admin/pulumi/default.nix
index a7199c66547f..977c1991faba 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/default.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/default.nix
@@ -3,26 +3,16 @@
 with lib;
 
 let
-
-  version = "1.1.0";
-
-  # switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
-  pulumiArchPackage = {
-    x86_64-linux = {
-      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
-      sha256 = "1r498pxsjdj9mhdzh9vh4nw8fcjxfga44xlg43b0yakkgrp7c224";
-    };
-    x86_64-darwin = {
-      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
-      sha256 = "02nr5yxn5aqgbwrnl4shgd6rh4n4v8giqki4qkbgx74xf3bbwihg";
-    };
-  };
-
+  data = import ./data.nix {};
 in stdenv.mkDerivation {
-  inherit version;
   pname = "pulumi";
+  version = data.version;
+
+  postUnpack = ''
+    mv pulumi-* pulumi
+  '';
 
-  src = fetchurl pulumiArchPackage.${stdenv.hostPlatform.system};
+  srcs = map (x: fetchurl x) data.pulumiPkgs.${stdenv.hostPlatform.system};
 
   installPhase = ''
     mkdir -p $out/bin
@@ -35,9 +25,10 @@ in stdenv.mkDerivation {
     homepage = https://pulumi.io/;
     description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
     license = with licenses; [ asl20 ];
-    platforms = builtins.attrNames pulumiArchPackage;
+    platforms = builtins.attrNames data.pulumiPkgs;
     maintainers = with maintainers; [
       peterromfeldhk
+      jlesquembre
     ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
new file mode 100644
index 000000000000..7cb500ee9d32
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+VERSION="1.4.0"
+
+declare -A plugins
+plugins=(
+    ["aws"]="1.7.0"
+    ["gcp"]="1.4.1"
+    ["kubernetes"]="1.2.3"
+    ["random"]="0.2.0"
+)
+
+function genMainSrc() {
+    local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-$1-x64.tar.gz"
+    local sha256
+    sha256=$(nix-prefetch-url "$url")
+    echo "      {"
+    echo "        url = \"${url}\";"
+    echo "        sha256 = \"$sha256\";"
+    echo "      }"
+}
+
+function genSrcs() {
+    for plug in "${!plugins[@]}"; do
+        local version=${plugins[$plug]}
+        # url as defined here
+        # https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
+        local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-$1-amd64.tar.gz"
+        local sha256
+        sha256=$(nix-prefetch-url "$url")
+        echo "      {"
+        echo "        url = \"${url}\";"
+        echo "        sha256 = \"$sha256\";"
+        echo "      }"
+    done
+}
+
+cat <<EOF
+# DO NOT EDIT! This file is generated automatically by update.sh
+{ }:
+{
+  version = "${VERSION}";
+  pulumiPkgs = {
+    x86_64-linux = [
+EOF
+genMainSrc "linux"
+genSrcs "linux"
+echo "    ];"
+
+echo "    x86_64-darwin = ["
+genMainSrc "darwin"
+genSrcs "darwin"
+echo "    ];"
+echo "  };"
+echo "}"
diff --git a/nixpkgs/pkgs/tools/admin/salt/default.nix b/nixpkgs/pkgs/tools/admin/salt/default.nix
index 13bba0860c49..c94686c93c16 100644
--- a/nixpkgs/pkgs/tools/admin/salt/default.nix
+++ b/nixpkgs/pkgs/tools/admin/salt/default.nix
@@ -24,7 +24,7 @@ pythonPackages.buildPythonApplication rec {
     pyzmq
     requests
     tornado_4
-  ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) [
+  ] ++ stdenv.lib.optionals (!pythonPackages.isPy3k) [
     futures
   ] ++ extraInputs;
 
diff --git a/nixpkgs/pkgs/tools/admin/simp_le/default.nix b/nixpkgs/pkgs/tools/admin/simp_le/default.nix
index f5be7719d0d2..eaefba365450 100644
--- a/nixpkgs/pkgs/tools/admin/simp_le/default.nix
+++ b/nixpkgs/pkgs/tools/admin/simp_le/default.nix
@@ -2,16 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "simp_le-client";
-  version = "0.9.0";
+  version = "0.17.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1yxfznd78zkg2f657v520zj5w4dvq5n594d0kpm4lra8xnpg4zcv";
+    sha256 = "0m1jynar4calaffp2zdxr5yy9vnhw2qf2hsfxwzfwf8fqb5h7bjb";
   };
 
   postPatch = ''
-    # drop upper bound of acme requirement
-    sed -ri "s/'(acme>=[^,]+),<[^']+'/'\1'/" setup.py
     # drop upper bound of idna requirement
     sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py
     substituteInPlace simp_le.py \
diff --git a/nixpkgs/pkgs/tools/admin/swiftclient/default.nix b/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
index ae8e5cac68c0..788a64f928a4 100644
--- a/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
+++ b/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchPypi, requests, six, pbr }:
+{ lib, buildPythonApplication, fetchPypi, requests, six, pbr, setuptools }:
 
 buildPythonApplication rec {
   pname = "python-swiftclient";
@@ -9,7 +9,7 @@ buildPythonApplication rec {
     sha256 = "0sv6z72zdwzwdjng0djk3l2maryn9pz3khf69yq5ig2ycz8hh0qv";
   };
 
-  propagatedBuildInputs = [ requests six pbr ];
+  propagatedBuildInputs = [ requests six pbr setuptools ];
 
   # For the tests the following requirements are needed:
   # https://github.com/openstack/python-swiftclient/blob/master/test-requirements.txt
diff --git a/nixpkgs/pkgs/tools/admin/tigervnc/default.nix b/nixpkgs/pkgs/tools/admin/tigervnc/default.nix
index 5a964a7fe70d..1c2243d04f11 100644
--- a/nixpkgs/pkgs/tools/admin/tigervnc/default.nix
+++ b/nixpkgs/pkgs/tools/admin/tigervnc/default.nix
@@ -5,20 +5,20 @@
 , cmake, gettext, libtool
 , libGLU
 , gnutls, pam, nettle
-, xterm, openssh
+, xterm, openssh, perl
 , makeWrapper}:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.1";
   pname = "tigervnc";
 
   src = fetchFromGitHub {
     owner = "TigerVNC";
     repo = "tigervnc";
-    rev = "v1.9.0";
-    sha256 = "0b47fg3741qs3zdpl2zr0s6jz46dypp2j6gqrappbzm3ywnnmm1x";
+    rev = "v1.10.1";
+    sha256 = "001n189d2f3psn7nxgl8188ml6f7jbk26cxn2835y3mnlk5lmhgr";
   };
 
   inherit fontDirectories;
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with xorg; [
     libjpeg_turbo fltk pixman
-    gnutls pam nettle
+    gnutls pam nettle perl
     xorgproto
     utilmacros libXtst libXext libX11 libXext libICE libXi libSM libXft
     libxkbfile libXfont2 libpciaccess
@@ -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/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch b/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch
new file mode 100644
index 000000000000..cd65d2fb5dd9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch b/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch
new file mode 100644
index 000000000000..6d7b3e89e0c4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch b/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch
new file mode 100644
index 000000000000..7426a2b58b10
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch b/nixpkgs/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch
new file mode 100644
index 000000000000..5bfd1b9ea87f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/tightvnc/default.nix b/nixpkgs/pkgs/tools/admin/tightvnc/default.nix
index 5a76b500d149..1a65c31102e9 100644
--- a/nixpkgs/pkgs/tools/admin/tightvnc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/archivers/afio/default.nix b/nixpkgs/pkgs/tools/archivers/afio/default.nix
index 13da95a28b5d..8d1e28fed296 100644
--- a/nixpkgs/pkgs/tools/archivers/afio/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/afio/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
    */
   patches = [ ./0001-makefile-fix-installation.patch ];
 
-  installFlags = "DESTDIR=$(out)";
+  installFlags = [ "DESTDIR=$(out)" ];
 
   meta = {
     homepage = http://members.chello.nl/~k.holtman/afio.html;
diff --git a/nixpkgs/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch b/nixpkgs/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
deleted file mode 100644
index 90ddeff9790e..000000000000
--- a/nixpkgs/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/copyin.c b/src/copyin.c
-index cde911e..032d35f 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -1385,6 +1385,8 @@ process_copy_in ()
-          break;
-        }
-
-+      if (file_hdr.c_namesize <= 1)
-+        file_hdr.c_name = xrealloc(file_hdr.c_name, 2);
-       cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
-                              false);
-
-diff --git a/src/util.c b/src/util.c
-index 6ff6032..2763ac1 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -1411,7 +1411,10 @@ set_file_times (int fd,
- }
-
- /* Do we have to ignore absolute paths, and if so, does the filename
--   have an absolute path?  */
-+   have an absolute path?
-+   Before calling this function make sure that the allocated NAME buffer has
-+   capacity at least 2 bytes to allow us to store the "." string inside.  */
-+
- void
- cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
-                        bool strip_leading_dots)
diff --git a/nixpkgs/pkgs/tools/archivers/cpio/default.nix b/nixpkgs/pkgs/tools/archivers/cpio/default.nix
index 44943109ee18..3f6b3ba4598c 100644
--- a/nixpkgs/pkgs/tools/archivers/cpio/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/cpio/default.nix
@@ -1,30 +1,16 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl }:
 
 let
-  version = "2.12";
+  version = "2.13";
   name = "cpio-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://gnu/cpio/${name}.tar.bz2";
-    sha256 = "0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh";
+    sha256 = "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2015-1197-cpio-2.12.patch";
-      url = "https://gist.github.com/nckx/70b0bfa80ddfb86c2967/"
-        + "raw/e9b40d4d4b701f584f826775b75beb10751dc884/"
-        + "CVE-2015-1197-cpio-2.12.patch";
-      sha256 = "0ph43m4lavwkc4gnl5h9p3da4kb1pnhwk5l2qsky70dqri8pcr8v";
-    })
-
-    # Report: http://www.openwall.com/lists/oss-security/2016/01/19/4
-    # Patch from https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html
-    ./CVE-2016-2037-out-of-bounds-write.patch
-  ];
-
   preConfigure = if stdenv.isCygwin then ''
     sed -i gnu/fpending.h -e 's,include <stdio_ext.h>,,'
   '' else null;
diff --git a/nixpkgs/pkgs/tools/archivers/innoextract/default.nix b/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
index dc9796cc9e3a..6a8c8c712747 100644
--- a/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
@@ -3,11 +3,11 @@
 , withGog ? false, unar ? null }:
 
 stdenv.mkDerivation rec {
-  name = "innoextract-1.7";
+  name = "innoextract-1.8";
 
   src = fetchurl {
-    url = "http://constexpr.org/innoextract/files/${name}.tar.gz";
-    sha256 = "197hs9aj1ska6czrsq4caazsw9v0xbaa0lazbh380fmwy8rbgvy1";
+    url = "https://constexpr.org/innoextract/files/${name}.tar.gz";
+    sha256 = "0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y";
   };
 
   buildInputs = [ python lzma boost ];
@@ -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/nixpkgs/pkgs/tools/archivers/sharutils/default.nix b/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
index a03c9610e357..0dfd234bc758 100644
--- a/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = https://www.gnu.org/software/sharutils/;
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/archivers/snzip/default.nix b/nixpkgs/pkgs/tools/archivers/snzip/default.nix
new file mode 100644
index 000000000000..031cac64b759
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/snzip/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, snappy
+}:
+
+stdenv.mkDerivation rec {
+  pname = "snzip";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "kubo";
+    repo = "snzip";
+    rev = version;
+    sha256 = "1v8li1zv9f2g31iyi9y9zx42rjvwkaw221g60pmkbv53y667i325";
+  };
+
+  buildInputs = [ snappy ];
+  # We don't use a release tarball so we don't have a `./configure` script to
+  # run. That's why we generate it.
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "A compression/decompression tool based on snappy";
+    homepage = "https://github.com/kubo/snzip";
+    maintainers = with maintainers; [ doronbehar ];
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/archivers/undmg/default.nix b/nixpkgs/pkgs/tools/archivers/undmg/default.nix
index 9d072c9bb192..72be49d97927 100644
--- a/nixpkgs/pkgs/tools/archivers/undmg/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/undmg/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/matthewbauer/undmg;
diff --git a/nixpkgs/pkgs/tools/archivers/unrar/default.nix b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
index 07f62fa02ad4..0fe8f2f58665 100644
--- a/nixpkgs/pkgs/tools/archivers/unrar/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "5.7.5";
+  version = "5.8.5";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "1vp2pc1n5qhri0zr7fszlpjz8niw9x4cl47wbd9v323sm3dgvhp1";
+    sha256 = "0abvz6vv8kr416fphysfbwgxc6hyf1bpnd0aczfv7j3vc8x949d7";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/archivers/unzip/default.nix b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
index cdf189e82df5..b8f649fbdcbb 100644
--- a/nixpkgs/pkgs/tools/archivers/unzip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  patchFlags = "-p1 -F3";
+  patchFlags = [ "-p1" "-F3" ];
 
   patches = [
     ./CVE-2014-8139.diff
@@ -26,6 +26,21 @@ stdenv.mkDerivation {
     ./CVE-2016-9844.patch
     ./CVE-2018-18384.patch
     ./dont-hardcode-cc.patch
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213.patch";
+      name = "CVE-2019-13232-1.patch";
+      sha256 = "04jzd6chg9fw4l5zadkfsrfm5llrd7vhd1dgdjjd29nrvkrjyn14";
+    })
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c.patch";
+      name = "CVE-2019-13232-2.patch";
+      sha256 = "0iy2wcjyvzwrjk02iszwcpg85fkjxs1bvb9isvdiywszav4yjs32";
+    })
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc.patch";
+      name = "CVE-2019-13232-3.patch";
+      sha256 = "1jvs7dkdqs97qnsqc6hk088alhv8j4c638k65dbib9chh40jd7pf";
+    })
   ] ++ stdenv.lib.optional enableNLS
     (fetchurl {
       url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
@@ -38,15 +53,21 @@ stdenv.mkDerivation {
 
   makefile = "unix/Makefile";
 
-  NIX_LDFLAGS = [ "-lbz2" ] ++ stdenv.lib.optional enableNLS "-lnatspec";
+  NIX_LDFLAGS = "-lbz2" + stdenv.lib.optionalString enableNLS " -lnatspec";
 
-  buildFlags = "generic D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2";
+  buildFlags = [
+    "generic"
+    "D_USE_BZ2=-DUSE_BZIP2"
+    "L_BZ2=-lbz2"
+  ];
 
   preConfigure = ''
     sed -i -e 's@CF="-O3 -Wall -I. -DASM_CRC $(LOC)"@CF="-O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(LOC)"@' unix/Makefile
   '';
 
-  installFlags = "prefix=$(out)";
+  installFlags = [
+    "prefix=${placeholder ''out''}"
+  ];
 
   setupHook = ./setup-hook.sh;
 
diff --git a/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix b/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
index 54bd9a1a08bb..1a05c1ba2699 100644
--- a/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt, hicolor-icon-theme }:
+{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt }:
 
 stdenv.mkDerivation rec {
   version = "0.5.4.14";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 intltool libxslt hicolor-icon-theme ];
+  buildInputs = [ gtk3 intltool libxslt ];
 
   meta = {
     description = "GTK frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
diff --git a/nixpkgs/pkgs/tools/archivers/zip/default.nix b/nixpkgs/pkgs/tools/archivers/zip/default.nix
index 20d85405bbac..09ba6510707b 100644
--- a/nixpkgs/pkgs/tools/archivers/zip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/zip/default.nix
@@ -19,8 +19,11 @@ stdenv.mkDerivation {
   hardeningDisable = [ "format" ];
 
   makefile = "unix/Makefile";
-  buildFlags = if stdenv.isCygwin then "cygwin" else "generic";
-  installFlags = "prefix=$(out) INSTALL=cp";
+  buildFlags = if stdenv.isCygwin then [ "cygwin" ] else [ "generic" ];
+  installFlags = [
+    "prefix=${placeholder ''out''}"
+    "INSTALL=cp"
+  ];
 
   patches = if (enableNLS && !stdenv.isCygwin) then [ ./natspec-gentoo.patch.bz2 ] else [];
 
diff --git a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
index 39ad4626f3eb..575517829fff 100644
--- a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
index 773b09958ea7..804f9f3ed24a 100644
--- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2019.08.11";
+  version = "2019.11.11";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "0rkqmavg7iv9080jdqs0qz80nanhizv6jk0fg9d5xvq3gnmfvnj1";
+    sha256 = "0xid13jqhbknrs31j74iwgjm0h0c64w3kqk9g9am1pkjwxh8d460";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix
index acd205a30de1..7b92b973df4c 100644
--- a/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch b/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch
new file mode 100644
index 000000000000..2de97b86c8b4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch
@@ -0,0 +1,17 @@
+diff --git a/test/cli_test.py b/test/cli_test.py
+index 26df140..2eb913c 100644
+--- a/test/cli_test.py
++++ b/test/cli_test.py
+@@ -372,12 +372,6 @@ class ToolListTest(TestHelper, TestCase):
+         self.assertIn('flac', stdout.getvalue())
+         self.assertIn('oggz-validate', stdout.getvalue())
+ 
+-    def test_found_mp3val(self):
+-        shutil.copy('/bin/echo', os.path.join(self.temp_dir, 'mp3val'))
+-        with captureStdout() as stdout:
+-            beets.ui._raw_main(['check', '--list-tools'])
+-        self.assertRegexpMatches(stdout.getvalue(), r'mp3val *found')
+-
+     def test_oggz_validate_not_found(self):
+         with captureStdout() as stdout:
+             beets.ui._raw_main(['check', '--list-tools'])
diff --git a/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix
new file mode 100644
index 000000000000..49ee97ead06a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "beets-check";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    repo = "beets-check";
+    owner = "geigerzaehler";
+    rev = "v${version}";
+    sha256 = "0b2ijjf0gycs6b40sm33ida3sjygjiv4spb5mba52vysc7iwmnjn";
+  };
+
+  nativeBuildInputs = [ beets ];
+  checkInputs = [ pythonPackages.nose flac liboggz mp3val ];
+  propagatedBuildInputs = [ flac liboggz mp3val ];
+
+  # patch out broken tests
+  patches = [ ./beet-check-tests.patch ];
+
+  # patch out futures dependency, it is only needed for Python2 which we don't
+  # support.
+  prePatch = ''
+    sed -i "/futures/d" setup.py
+  '';
+
+  checkPhase = "nosetests";
+
+  meta = with stdenv.lib; {
+    description = "Beets plugin to Verify and store checksums in your library";
+    homepage = https://github.com/geigerzaehler/beets-check;
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/audio/beets/default.nix b/nixpkgs/pkgs/tools/audio/beets/default.nix
index 241e552b05c3..b4dfa71ca965 100644
--- a/nixpkgs/pkgs/tools/audio/beets/default.nix
+++ b/nixpkgs/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
@@ -28,13 +29,16 @@
 
 # External plugins
 , enableAlternatives   ? false
+, enableCheck          ? false, liboggz ? null
 , enableCopyArtifacts  ? false
 
 , bashInteractive, bash-completion
 }:
 
+assert enableAbsubmit    -> essentia-extractor            != null;
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
+assert enableCheck       -> flac != null && mp3val != null && liboggz != null;
 assert enableConvert     -> ffmpeg != null;
 assert enableDiscogs     -> pythonPackages.discogs_client != null;
 assert enableFetchart    -> pythonPackages.responses      != null;
@@ -51,6 +55,7 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    absubmit = enableAbsubmit;
     acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
     chroma = enableAcoustid;
@@ -75,12 +80,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);
@@ -103,6 +108,7 @@ let
 
   plugins = {
     alternatives = callPackage ./alternatives-plugin.nix pluginArgs;
+    check = callPackage ./check-plugin.nix pluginArgs;
     copyartifacts = callPackage ./copyartifacts-plugin.nix pluginArgs;
   };
 
@@ -129,7 +135,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
@@ -138,6 +145,7 @@ in pythonPackages.buildPythonApplication rec {
               || enableSubsonicupdate
               || enableAcousticbrainz)
                                     pythonPackages.requests
+    ++ optional enableCheck         plugins.check
     ++ optional enableConvert       ffmpeg
     ++ optional enableDiscogs       pythonPackages.discogs_client
     ++ optional enableGmusic        pythonPackages.gmusicapi
@@ -242,6 +250,10 @@ in pythonPackages.buildPythonApplication rec {
 
   makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ];
 
+  passthru = {
+    externalPlugins = plugins;
+  };
+
   meta = {
     description = "Music tagger and library organizer";
     homepage = http://beets.io;
diff --git a/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix b/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix
new file mode 100644
index 000000000000..035fbf095338
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix
@@ -0,0 +1,32 @@
+{
+  stdenv,
+  fetchurl,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bpm-tools";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "http://www.pogo.org.uk/~mark/bpm-tools/releases/bpm-tools-${version}.tar.gz";
+    sha256 = "151vfbs8h3cibs7kbdps5pqrsxhpjv16y2iyfqbxzsclylgfivrp";
+  };
+
+  patchPhase = ''
+    patchShebangs bpm-tag
+    patchShebangs bpm-graph
+  '';
+
+  installFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.pogo.org.uk/~mark/bpm-tools/";
+    description = "Automatically calculate BPM (tempo) of music files";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix b/nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix
new file mode 100644
index 000000000000..0d2bb17a75d4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/audio/gvolicon/default.nix b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
index c66c6bc1f7e0..9029eb38b06f 100644
--- a/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
+++ b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  NIX_CFLAGS_COMPILE = [ "-D_POSIX_C_SOURCE" ];
+  NIX_CFLAGS_COMPILE = "-D_POSIX_C_SOURCE";
 
   meta = {
     description = "A simple and lightweight volume icon that sits in your system tray";
diff --git a/nixpkgs/pkgs/tools/audio/mpdris2/default.nix b/nixpkgs/pkgs/tools/audio/mpdris2/default.nix
index d13dfbe8f43d..0dbdcd7d25a3 100644
--- a/nixpkgs/pkgs/tools/audio/mpdris2/default.nix
+++ b/nixpkgs/pkgs/tools/audio/mpdris2/default.nix
@@ -1,31 +1,55 @@
-{ stdenv, fetchurl, autoreconfHook, intltool
-, pythonPackages
+{ stdenv
+, autoreconfHook
+, fetchFromGitHub
+, glib
+, gobject-introspection
+, intltool
+, libnotify
+, python3
+, wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "mpDris2";
   version = "0.8";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
-  src = fetchurl {
-    url = "https://github.com/eonpatapon/${pname}/archive/${version}.tar.gz";
-    sha256 = "14a3va3929qaq1sp9hs9w4bs6lykdvshkbc58kbsc5nzvlgmrcdn";
+  src = fetchFromGitHub {
+    owner = "eonpatapon";
+    repo = pname;
+    rev = version;
+    sha256 = "048b8acsd1b8kcxzd9fsh5p9g2an9c4rznicfcpyrsjz5syv894h";
   };
 
   preConfigure = ''
     intltoolize -f
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ intltool pythonPackages.wrapPython ];
-  propagatedBuildInputs = with pythonPackages; [ python pygtk dbus-python  ];
-  pythonPath = with pythonPackages; [ mpd pygtk dbus-python notify mutagen ];
-  postInstall = "wrapPythonPrograms";
+  nativeBuildInputs = [
+    autoreconfHook
+    gobject-introspection
+    intltool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    libnotify
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    dbus-python
+    mpd2
+    mutagen
+    pygobject3
+  ];
 
   meta = with stdenv.lib; {
     description = "MPRIS 2 support for mpd";
     homepage = https://github.com/eonpatapon/mpDris2/;
     license = licenses.gpl3;
+    maintainers = with maintainers; [];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ pjones ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/trx/default.nix b/nixpkgs/pkgs/tools/audio/trx/default.nix
index 5d31193ee8d4..1d052adbba9f 100644
--- a/nixpkgs/pkgs/tools/audio/trx/default.nix
+++ b/nixpkgs/pkgs/tools/audio/trx/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, alsaLib, libopus, ortp, bctoolbox }:
+{ stdenv, fetchurl, alsaLib, libopus, ortp, bctoolbox }:
 
-stdenv.mkDerivation {
-  pname = "trx-unstable";
-  version = "2018-01-23";
+stdenv.mkDerivation rec {
+  pname = "trx";
+  version = "0.4";
 
-  src = fetchgit {
-    url = "http://www.pogo.org.uk/~mark/trx.git";
-    rev = "66b4707a24172751a131e24d2a800496c699137f";
-    sha256 = "0w0960p25944b30lkc8n4lj14xgsf0fjpmxqwlz2r8wl642bqnfm";
+  src = fetchurl {
+    url = "https://www.pogo.org.uk/~mark/trx/releases/${pname}-${version}.tar.gz";
+    sha256 = "1wsrkbqc090px8i9p8awz38znxjcqjb1dzjjdd8xkjmiprayjhkl";
   };
 
   buildInputs = [ alsaLib libopus ortp bctoolbox ];
diff --git a/nixpkgs/pkgs/tools/audio/video2midi/default.nix b/nixpkgs/pkgs/tools/audio/video2midi/default.nix
index 1ed5e48077b7..43539f1ee295 100644
--- a/nixpkgs/pkgs/tools/audio/video2midi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/video2midi/default.nix
@@ -8,7 +8,7 @@ let
   });
 in pythonPackages.buildPythonApplication rec {
   pname = "video2midi";
-  version = "0.3.9.1";
+  version = "0.3.9.6";
 
   format = "other";
 
@@ -16,7 +16,7 @@ in pythonPackages.buildPythonApplication rec {
     owner = "svsdval";
     repo = pname;
     rev = version;
-    sha256 = "1ndzhfng8z5080n1xkcavw21dm6rjz0x1954v9llifsdmf4cpn8y";
+    sha256 = "0x9b8hwl325gd6v9i60yh95gbn49nydpwyfqs92mbq8vvvq7x8fk";
   };
 
   propagatedBuildInputs = with pythonPackages; [ opencv3_ midiutil pygame pyopengl ];
diff --git a/nixpkgs/pkgs/tools/audio/volctl/default.nix b/nixpkgs/pkgs/tools/audio/volctl/default.nix
new file mode 100644
index 000000000000..7b4cdd6b5315
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/volctl/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, pythonPackages, libpulseaudio, glib, gtk3, gobject-introspection, wrapGAppsHook }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "volctl";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "buzz";
+    repo = pname;
+    rev = version;
+    sha256 = "1bqq5mrpi7qxzl37z6fj67pqappjmwhi8d8db95j3lmf16svm2xk";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libpulseaudio
+  ];
+
+  pythonPath = with pythonPackages; [
+    pygobject3
+  ];
+
+  strictDeps = false;
+
+  postPatch = ''
+    # The user can set a mixer application in the preferences. The
+    # default is pavucontrol. Do not hard code its path and hope it
+    # can be found in $PATH.
+
+    substituteInPlace volctl/app.py --replace /usr/bin/pavucontrol pavucontrol
+  '';
+
+  preBuild = ''
+    export LD_LIBRARY_PATH=${libpulseaudio}/lib
+  '';
+
+  preFixup = ''
+    glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
+
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib"
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio enabled volume control featuring per-app sliders";
+    homepage = https://buzz.github.io/volctl/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/bareos/default.nix b/nixpkgs/pkgs/tools/backup/bareos/default.nix
index 79ae1e50ca2b..949e45de5e11 100644
--- a/nixpkgs/pkgs/tools/backup/bareos/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bareos/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, flex
 , readline ? null, openssl ? null, python2 ? null, ncurses ? null, rocksdb
-, sqlite ? null, postgresql ? null, mysql ? null, zlib ? null, lzo ? null
+, sqlite ? null, postgresql ? null, libmysqlclient ? null, zlib ? null, lzo ? null
 , jansson ? null, acl ? null, glusterfs ? null, libceph ? null, libcap ? null
 }:
 
-assert sqlite != null || postgresql != null || mysql != null;
+assert sqlite != null || postgresql != null || libmysqlclient != null;
 
 with stdenv.lib;
 let
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     nettools gettext readline openssl python2 flex ncurses sqlite postgresql
-    mysql.connector-c zlib lzo jansson acl glusterfs libceph libcap rocksdb
+    libmysqlclient zlib lzo jansson acl glusterfs libceph libcap rocksdb
   ];
 
   postPatch = ''
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     ++ optional (openssl != null) "--with-openssl=${openssl.dev}"
     ++ optional (sqlite != null) "--with-sqlite3=${sqlite.dev}"
     ++ optional (postgresql != null) "--with-postgresql=${postgresql}"
-    ++ optional (mysql != null) "--with-mysql=${mysql.connector-c}"
+    ++ optional (libmysqlclient != null) "--with-mysql=${libmysqlclient}"
     ++ optional (zlib != null) "--with-zlib=${zlib.dev}"
     ++ optional (lzo != null) "--with-lzo=${lzo}"
     ++ optional (jansson != null) "--with-jansson=${jansson}"
diff --git a/nixpkgs/pkgs/tools/backup/btrbk/default.nix b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
index 963d7945b89d..cd45edfa2d5f 100644
--- a/nixpkgs/pkgs/tools/backup/btrbk/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
-, utillinux, asciidoc, asciidoctor, makeWrapper }:
+, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
-  version = "0.28.3";
+  version = "0.29.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
-    sha256 = "0s69pcjkjxg77cgyjahwyg2w81ckgzwz1ds4ifjw7z0zhjxy7miz";
+    sha256 = "1ki40jga09x361lj36hgzw3ahs0cg2w0s3rjwp209255fzyl89il";
   };
 
   nativeBuildInputs = [ asciidoc asciidoctor makeWrapper ];
@@ -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/nixpkgs/pkgs/tools/backup/bup/default.nix b/nixpkgs/pkgs/tools/backup/bup/default.nix
index 3ff7aed74f5d..4788091a5f48 100644
--- a/nixpkgs/pkgs/tools/backup/bup/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bup/default.nix
@@ -5,7 +5,7 @@
 
 assert par2Support -> par2cmdline != null;
 
-let version = "0.29.3"; in
+let version = "0.30"; in
 
 with stdenv.lib;
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     repo = "bup";
     owner = "bup";
     rev = version;
-    sha256 = "1b5ynljd9gs1vzbsa0kggw32s3r4zhbprc2clvjm5qmvnx23hxh8";
+    sha256 = "0kzi9mzgmx1kjv3aldawapz7bk73f02bysiwh8rngqnirmm0vxdp";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/backup/dar/default.nix b/nixpkgs/pkgs/tools/backup/dar/default.nix
index 352f320dadf1..f48bfbd3d6a2 100644
--- a/nixpkgs/pkgs/tools/backup/dar/default.nix
+++ b/nixpkgs/pkgs/tools/backup/dar/default.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.6.5";
+  version = "2.6.6";
   pname = "dar";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
-    sha256 = "1x2zr5nw3qq1vmbs4bva6mx1cx0180dri5i2971ynzcxybn75znd";
+    sha256 = "1pqdcb9dkjlf8wzpsnx4gcv9nhrm60glv4xadxnknnqlvzs6vips";
   };
 
   buildInputs = [ zlib bzip2 openssl lzo libgcrypt gpgme xz ]
diff --git a/nixpkgs/pkgs/tools/backup/duplicati/default.nix b/nixpkgs/pkgs/tools/backup/duplicati/default.nix
index be039fa47c09..bb24cb35d875 100644
--- a/nixpkgs/pkgs/tools/backup/duplicati/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicati/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duplicati";
-  version = "2.0.4.5";
+  version = "2.0.4.23";
   channel = "beta";
-  build_date = "2018-11-28";
+  build_date = "2019-07-14";
 
   src = fetchzip {
     url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
-    sha256 = "118rhzm8vk1092214vq7kxnmrnz4jl32lk8j90965a8pg05m53gn";
+    sha256 = "1m2448vgl1fc2hkxkyasvdfgl728rqv16b41niznv5rsxv5643w2";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/duplicity/default.nix b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
index 1cf7a19014e4..a33067e88979 100644
--- a/nixpkgs/pkgs/tools/backup/duplicity/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
@@ -2,7 +2,8 @@
 , gnutar
 , par2cmdline
 , utillinux
-, rsync, makeWrapper }:
+, rsync
+, backblaze-b2, makeWrapper }:
 
 python2Packages.buildPythonApplication rec {
   pname = "duplicity";
@@ -40,10 +41,10 @@ python2Packages.buildPythonApplication rec {
   ];
 
   buildInputs = [ librsync makeWrapper python2Packages.wrapPython ];
-  propagatedBuildInputs = with python2Packages; [
+  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.
     gnutar  # Add 'tar' to PATH.
diff --git a/nixpkgs/pkgs/tools/backup/hpe-ltfs/default.nix b/nixpkgs/pkgs/tools/backup/hpe-ltfs/default.nix
new file mode 100644
index 000000000000..d289febe1f09
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/hpe-ltfs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, fuse, icu, pkgconfig, libxml2, libuuid }:
+
+stdenv.mkDerivation rec {
+  version = "3.4.2_Z7550-02501";
+  pname = "hpe-ltfs";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "nix-community";
+    repo = "hpe-ltfs";
+    sha256 = "193593hsc8nf5dn1fkxhzs1z4fpjh64hdkc8q6n9fgplrpxdlr4s";
+  };
+
+  sourceRoot = "source/ltfs";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ 
+    fuse icu libxml2 libuuid
+  ];
+
+  meta = with stdenv.lib; {
+    description = "HPE's implementation of the open-source tape filesystem standard ltfs";
+    homepage = https://support.hpe.com/hpesc/public/km/product/1009214665/Product;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.redvers ];
+    platforms = platforms.linux;
+    downloadPage = https://github.com/nix-community/hpe-ltfs;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/lvmsync/default.nix b/nixpkgs/pkgs/tools/backup/lvmsync/default.nix
index 814c02267ba9..a52c6bf1ba7c 100644
--- a/nixpkgs/pkgs/tools/backup/lvmsync/default.nix
+++ b/nixpkgs/pkgs/tools/backup/lvmsync/default.nix
@@ -1,27 +1,22 @@
 { stdenv, bundlerEnv, ruby, bundlerUpdateScript, makeWrapper }:
 
-let
-
+stdenv.mkDerivation rec {
   pname = "lvmsync";
   version = (import ./gemset.nix).${pname}.version;
 
-in stdenv.mkDerivation rec {
-
-  name = "${pname}-${version}";
-
-  env = bundlerEnv {
-    name = "${pname}-${version}-gems";
-    ruby = ruby;
-    gemfile  = ./Gemfile;
-    lockfile = ./Gemfile.lock;
-    gemset   = ./gemset.nix;
-  };
-
   buildInputs = [ makeWrapper ];
 
   phases = ["installPhase"];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "${pname}-${version}-gems";
+      ruby = ruby;
+      gemfile  = ./Gemfile;
+      lockfile = ./Gemfile.lock;
+      gemset   = ./gemset.nix;
+    };
+  in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/lvmsync $out/bin/lvmsync
   '';
@@ -30,7 +25,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/nixpkgs/pkgs/tools/backup/mydumper/default.nix b/nixpkgs/pkgs/tools/backup/mydumper/default.nix
index 5538b45c5f1b..7160e7f19503 100644
--- a/nixpkgs/pkgs/tools/backup/mydumper/default.nix
+++ b/nixpkgs/pkgs/tools/backup/mydumper/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glib, zlib, pcre, mysql, libressl }:
+, glib, zlib, pcre, libmysqlclient, libressl }:
 
 stdenv.mkDerivation rec {
   version = "0.9.5";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ glib zlib pcre mysql.connector-c libressl ];
+  buildInputs = [ glib zlib pcre libmysqlclient libressl ];
 
   meta = with stdenv.lib; {
     description = ''High-perfomance MySQL backup tool'';
diff --git a/nixpkgs/pkgs/tools/backup/pyznap/default.nix b/nixpkgs/pkgs/tools/backup/pyznap/default.nix
index eb714b64a973..42df651e1a8f 100644
--- a/nixpkgs/pkgs/tools/backup/pyznap/default.nix
+++ b/nixpkgs/pkgs/tools/backup/pyznap/default.nix
@@ -1,17 +1,22 @@
 { lib
 , buildPythonApplication
 , fetchPypi
+, setuptools
 }:
 
 buildPythonApplication rec {
   pname = "pyznap";
-  version = "1.2.1";
+  version = "1.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pnngr4zdxkf6b570ikzvkrm3a8fr47w6crjaw7ln094qkniywvj";
+    sha256 = "00xpw6rmkq5cfjfw23mv0917wfzvb5zxj420p6yh0rnl3swh7gi8";
   };
 
+  propagatedBuildInputs = [
+    setuptools
+  ];  
+
   # tests aren't included in the PyPI packages
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/backup/restic/default.nix b/nixpkgs/pkgs/tools/backup/restic/default.nix
index b78fc9b61f74..26f05d419545 100644
--- a/nixpkgs/pkgs/tools/backup/restic/default.nix
+++ b/nixpkgs/pkgs/tools/backup/restic/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "restic";
-  version = "0.9.5";
+  version = "0.9.6";
 
   goPackagePath = "github.com/restic/restic";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "1bhn3xwlycpnjg2qbqblwxn3apj43lr5cakgkmrblk13yfwfv5xv";
+    sha256 = "0lydll93n1lcn1fl669b9cikmzz9d6vfpc8ky3ng5fi8kj3v1dz7";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix b/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
index 6abd7002f8d7..9f6204db2d8f 100644
--- a/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
+++ b/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, openssh, rsync, logger }:
 
 stdenv.mkDerivation rec {
-  name = "rsnapshot-1.4.2";
+  name = "rsnapshot-1.4.3";
 
   src = fetchurl {
     url = "http://rsnapshot.org/downloads/${name}.tar.gz";
-    sha256 = "05jfy99a0xs6lvsjfp3wz21z0myqhmwl2grn3jr9clijbg282ah4";
+    sha256 = "1lavqmmsf53pim0nvming7fkng6p0nk2a51k2c2jdq0l7snpl31b";
   };
 
   propagatedBuildInputs = [perl openssh rsync logger];
diff --git a/nixpkgs/pkgs/tools/backup/s3ql/default.nix b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
index b71f032bd7ae..346f8d279646 100644
--- a/nixpkgs/pkgs/tools/backup/s3ql/default.nix
+++ b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "s3ql";
-  version = "3.2";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "01ky0jc1s3w9dry5siz9b69jf2maiargz99axgxvyihap0d7qs52";
+    sha256 = "1x0xj8clfs8fdczn8skc2wag5i4z47bsvlczn22iaf20hll1bb2w";
   };
 
   checkInputs = [ which ] ++ (with python3Packages; [ cython pytest ]);
diff --git a/nixpkgs/pkgs/tools/backup/stenc/default.nix b/nixpkgs/pkgs/tools/backup/stenc/default.nix
new file mode 100644
index 000000000000..ed4f944a960d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/stenc/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.7";
+  pname = "stenc";
+
+  src = fetchFromGitHub {
+    owner = "scsitape";
+    repo = "stenc";
+    rev = "${version}";
+    sha256 = "1778m1zcyzyf42k5m496yqh0gv6kqhb0sq5983dhky1fccjl905k";
+  };
+
+  meta = {
+    description = "SCSI Tape Encryption Manager";
+    homepage = https://github.com/scsitape/stenc;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ woffs ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/wal-g/default.nix b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
index 70cc8a425c16..c6c47ce4f16c 100644
--- a/nixpkgs/pkgs/tools/backup/wal-g/default.nix
+++ b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
@@ -21,5 +21,6 @@ buildGoPackage rec {
     license = stdenv.lib.licenses.asl20;
     description = "An archival restoration tool for Postgres";
     maintainers = [ stdenv.lib.maintainers.ocharles ];
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix b/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix
new file mode 100644
index 000000000000..7b3cbdeaa103
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "zfsbackup";
+  version = "unstable-2019-03-05";
+  rev = "78fea6e99f0a5a4c8513d3a3d1d45fb6750cfddf";
+
+  goPackagePath = "github.com/someone1/zfsbackup-go";
+
+  src = fetchFromGitHub {
+    owner = "someone1";
+    repo = "zfsbackup-go";
+    inherit rev;
+    sha256 = "0yalsfvzmcnc8yfzm3r5dikqrp57spwa16l7gbzvgqqcz4vlnw3n";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "Backup ZFS snapshots to cloud storage such as Google, Amazon, Azure, etc";
+    homepage = "https://github.com/someone1/zfsbackup-go";
+    license = licenses.mit;
+    maintainers = [ maintainers.xfix ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix b/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix
new file mode 100644
index 000000000000..f1fa23755bc7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix
@@ -0,0 +1,273 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "b9197a057a6cb1129f29cd21ca11d1bb043666d1";
+      sha256 = "0f1p361apzj30i9vcza60ldhhjxff8581gr5xqim7x4d5rgmpwil";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-pipeline-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-pipeline-go";
+      rev = "232aee85e8e3a6223a11c0943f7df2ae0fac00e4";
+      sha256 = "1agn2nzmm1dkwggm4w7h4bnrav4n5jrl0vqbqy2s49vqlr8zirn6";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-storage-blob-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-storage-blob-go";
+      rev = "fc700035fe4a7020f50d49f420b3c088aed57e03";
+      sha256 = "00gsnk9s1rlrakqvcm917hn4r47jannxwp7rkhrb71pamzm46752";
+    };
+  }
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "3576772d916b5db1cb5516b772bcdc362349a177";
+      sha256 = "04clzbyg5cmqz98i5hxbik6sd7aclas1707rhaixmmckgisqxb8i";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "4b4cebaf850ec58f1bb1fec5bdebdf8501c2bc3f";
+      sha256 = "0vwd6nbadrqgaljb5grmw2iljvv963qd15axr5cvvgpd465q3kzc";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/groupcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/groupcache";
+      rev = "404acd9df4cc9859d64fb9eed42e5c026187287a";
+      sha256 = "1zmhdr758wn0kfh5xr4hg026f9qvy00s3midb5iqnpx1kh647j2g";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "1680a479a2cfb3fa22b972af7e36d0a0fde47bf8";
+      sha256 = "1w0aivn2rqf7bcpz84nbn0alh1q3nglqgp7il835fmvvc94rrkqn";
+    };
+  }
+  {
+    goPackagePath = "github.com/googleapis/gax-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gax-go";
+      rev = "a170e83f27ee4e20c66e51b66a99a4a349a1b75a";
+      sha256 = "0a5ir1v5cd6m40hscqy0qpc3ibd703kiw419m66ddxnkvzykvp0i";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/ratelimit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/ratelimit";
+      rev = "f60b32039441cd828005f82f3a54aafd00bc9882";
+      sha256 = "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev = "30993c63e1b02b47dd3878e74c8db50833706ecc";
+      sha256 = "07d0r56ic91rdd0xvfr7zpn015kl6g9jwlgq5avczbz4fnyx5x8m";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/pgzip";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/pgzip";
+      rev = "083b1c3f84dd6486588802e5ce295de3a7f41a8b";
+      sha256 = "0ddigh096fz3lixbdm679hjvnfivbpkijrclk5sn9091hyj38pb3";
+    };
+  }
+  {
+    goPackagePath = "github.com/kurin/blazer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kurin/blazer";
+      rev = "cf2f27cc0be3dac3c1a94c3c8b76834ce741439e";
+      sha256 = "02nwxrczg8c9zj3hdmbyg458qvhfwl60ci1pjl7f0y07kgiv1rg3";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-ieproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-ieproxy";
+      rev = "f9202b1cfdeb0c82ddd3dc1e8e9cd94b3c0c1b13";
+      sha256 = "0r8c17znlv32750qy3p96fbyp8ys8xfdccpzv0z9lr2y88jnzhpz";
+    };
+  }
+  {
+    goPackagePath = "github.com/miolini/datacounter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miolini/datacounter";
+      rev = "aa48df3a02c1fbcd3040271f631887991c3071fb";
+      sha256 = "12ldh5jhafjhh3jvh979mldwygkkcnm97axs7dhlai6gqwlhls87";
+    };
+  }
+  {
+    goPackagePath = "github.com/nightlyone/lockfile";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nightlyone/lockfile";
+      rev = "0ad87eef1443f64d3d8c50da647e2b1552851124";
+      sha256 = "19vfswcvdy937da7w6hap3wp83drj5a084sqszy8r2ph4fbkln41";
+    };
+  }
+  {
+    goPackagePath = "github.com/op/go-logging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/op/go-logging";
+      rev = "970db520ece77730c7e4724c61121037378659d9";
+      sha256 = "1cpna2x5l071z1vrnk7zipdkka8dzwsjyx7m79xk0lr08rip0kcj";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7";
+      sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "8a4b46fadf756f30eff047abf2f8edba4eac6fef";
+      sha256 = "0f9pxni3lghl205wrnssw58iliqifrxcdabrbww20887zwn3ki7q";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab";
+      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
+    };
+  }
+  {
+    goPackagePath = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev = "3b5a343282fe4b4fccdb0f24cbd1d7169d20858a";
+      sha256 = "0qzx8p019r4qzm0knvs3kcx5vc9qg6ksgf1amk5djr1h00w460aw";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "87dc89f01550277dc22b74ffcf4cd89fa2f40f4c";
+      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "da9a3fd4c5820e74b24a6cb7fb438dc9b0dd377c";
+      sha256 = "0iavs400534jn7drmdphx0f18vgg060p2r59xw5d85ji1l5rin1l";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33";
+      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "cd5d95a43a6e21273425c7ae415d3df9ea832eeb";
+      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "b09406accb4736d857a32bf9444cd7edae2ffa79";
+      sha256 = "00lbhsr2p3mi2n35mv3yy6lmgzjjav45yv9bmrxgyahbac5qnz5m";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "3d0f7978add91030e5e8976ff65ccdd828286cba";
+      sha256 = "0iagl5icarfrbiv6m3dhqy51r30cnl07r66im5c88dz7lrvpy5z3";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/google-api-go-client";
+      rev = "e6ade80c6e2a122a6588f9f827207dcb99da433e";
+      sha256 = "1mk0ab6f2dyx1lack436zdhspq1hgip2s5m3pqjrqk18s8vvn4bd";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "548a555dbc03994223efbaba0090152849259498";
+      sha256 = "15sbfwrh6m18fn3n369cb5c8qsmw17wibwmjssblgp64gvmx5b18";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev = "7c8e60372e19da88fb3fe8ac6a8de781eef7f547";
+      sha256 = "03fb7j1gfglzp77hkhlm8dgg3if1j1pvry0nhx915ww0hmz6sr00";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
index 8e393ac3f13e..1a7fb5c3a084 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,9 +1,7 @@
 { config, stdenv, lib, fetchurl, intltool, pkgconfig, python3Packages, bluez, gtk3
 , obex_data_server, xdg_utils, dnsmasq, dhcp, libappindicator, iproute
-, gnome3, librsvg, wrapGAppsHook, gobject-introspection
-, withNetworkManager ?
-    config.networking.networkmanager.enable or false, networkmanager
-, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
+, gnome3, librsvg, wrapGAppsHook, gobject-introspection, autoreconfHook
+, networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio, fetchpatch }:
 
 let
   pythonPackages = python3Packages;
@@ -21,13 +19,25 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [
     gobject-introspection intltool pkgconfig pythonPackages.cython
     pythonPackages.wrapPython wrapGAppsHook
+    autoreconfHook # drop when below patch is removed
   ];
 
   buildInputs = [ bluez gtk3 pythonPackages.python librsvg
-                  gnome3.adwaita-icon-theme iproute libappindicator ]
+                  gnome3.adwaita-icon-theme iproute libappindicator networkmanager ]
                 ++ pythonPath
-                ++ lib.optional withPulseAudio libpulseaudio
-                ++ lib.optional withNetworkManager networkmanager;
+                ++ lib.optional withPulseAudio libpulseaudio;
+
+  patches = [
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://github.com/blueman-project/blueman/commit/ae2be5a70cdea1d1aa0e3ab1c85c1d3a0c4affc6.patch";
+      sha256 = "0nb6jzlxhgjvac52cjwi0pi40b8v4h6z6pwz5vkyfmaj86spygg3";
+      excludes = [
+        "meson.build"
+        "Dependencies.md"
+      ];
+    })
+  ];
 
   postPatch = lib.optionalString withPulseAudio ''
     sed -i 's,CDLL(",CDLL("${libpulseaudio.out}/lib/,g' blueman/main/PulseAudioUtils.py
diff --git a/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix b/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
index 94c011152da6..81d0849b408a 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, fuse, obexftp }:
-   
+{ stdenv, fetchurl, pkgconfig, bluez, fuse, obexftp }:
+
 stdenv.mkDerivation rec {
   name = "obexfs-0.12";
-   
+
   src = fetchurl {
     url = "mirror://sourceforge/openobex/${name}.tar.gz";
     sha256 = "1g3krpygk6swa47vbmp9j9s8ahqqcl9ra8r25ybgzv2d9pmjm9kj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ fuse obexftp ];
+  buildInputs = [ fuse obexftp bluez ];
 
   meta = with stdenv.lib; {
     homepage = http://dev.zuckschwerdt.org/openobex/wiki/ObexFs;
diff --git a/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix b/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
index 12b021d5d3b3..3e40c7d8ef69 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, openobex, bluez, cmake }:
    
 stdenv.mkDerivation rec {
-  name = "obexftp-0.24";
+  name = "obexftp-0.24.2";
    
   src = fetchurl {
     url = "mirror://sourceforge/openobex/${name}-Source.tar.gz";
-    sha256 = "0szy7p3y75bd5h4af0j5kf0fpzx2w560fpy4kg3603mz11b9c1xr";
+    sha256 = "18w9r78z78ri5qc8fjym4nk1jfbrkyr789sq7rxrkshf1a7b83yl";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
index a17b03025032..908808b79f3c 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "0pmpgx91j984snrsxbq1dgf3ximks2dfh1sqqmic72lrls7wp4w1";
   };
 
-  makeFlags = "RM=rm LN=ln MV=mv";
+  makeFlags = [ "RM=rm" "LN=ln" "MV=mv" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libvorbis libmad libao ];
diff --git a/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
index 81bd4f60f43e..7de086dba607 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     ln -s $out/bin/wodim $out/bin/cdrecord
   '';
 
-  makeFlags = "PREFIX=\$(out)";
+  makeFlags = [ "PREFIX=\$(out)" ];
 
   meta = {
     description = "Portable command-line CD/DVD recorder software, mostly compatible with cdrtools";
diff --git a/nixpkgs/pkgs/applications/misc/cdrtools/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix
index 20bfe727f6d3..f4f07143a207 100644
--- a/nixpkgs/pkgs/applications/misc/cdrtools/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix
@@ -1,33 +1,33 @@
-{ stdenv, fetchurl, acl, libcap, Carbon, IOKit }:
+{ stdenv, fetchurl, m4, acl, libcap, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
   pname = "cdrtools";
-  version = "3.02a06";
+  version = "3.02a09";
 
   src = fetchurl {
     url = "mirror://sourceforge/cdrtools/${pname}-${version}.tar.bz2";
-    sha256 = "1cayhfbhj5g2vgmkmq5scr23k0ka5fsn0dhn0n9yllj386csnygd";
+    sha256 = "10ayj48jax2pvsv6j5gybwfsx7b74zdjj84znwag7wwf8n7l6a5a";
   };
 
-  patches = [ ./fix-paths.patch ];
-
+  nativeBuildInputs = [ m4 ];
   buildInputs = if stdenv.isDarwin then [ Carbon IOKit ] else [ acl libcap ];
 
   postPatch = ''
     sed "/\.mk3/d" -i libschily/Targets.man
     substituteInPlace man/Makefile --replace "man4" ""
+    substituteInPlace RULES/rules.prg --replace "/bin/" ""
   '';
 
   dontConfigure = true;
 
-  GMAKE_NOWARN = true;
+  makeFlags = [ "GMAKE_NOWARN=true" "INS_BASE=/" "INS_RBASE=/" "DESTDIR=${placeholder "out"}" ];
 
-  makeFlags = [ "INS_BASE=/" "INS_RBASE=/" "DESTDIR=$(out)" ];
+  enableParallelBuilding = false; # parallel building fails on some linux machines
 
   meta = with stdenv.lib; {
-    homepage = https://sourceforge.net/projects/cdrtools/;
+    homepage = "http://cdrtools.sourceforge.net/private/cdrecord.html";
     description = "Highly portable CD/DVD/BluRay command line recording software";
-    license = with licenses; [ gpl2 lgpl2 cddl ];
+    license = with licenses; [ cddl gpl2 lgpl21 ];
     platforms = with platforms; linux ++ darwin;
     # Licensing issues: This package contains code licensed under CDDL, GPL2
     # and LGPL2. There is a debate regarding the legality of distributing this
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
index 40ca08c92606..40925a14537a 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
@@ -1,38 +1,41 @@
-{stdenv, fetchurl, cdrkit, m4}:
+{ stdenv, fetchurl, fetchpatch, cdrtools, m4 }:
 
-stdenv.mkDerivation {
-  name = "dvd+rw-tools-7.1";
+stdenv.mkDerivation rec {
+  pname = "dvd+rw-tools";
+  version = "7.1";
 
   src = fetchurl {
-    url = http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.1.tar.gz;
+    url = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pname}-${version}.tar.gz";
     sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq";
   };
 
-  # Patches from Gentoo / Fedora
-  # https://bugs.gentoo.org/257360
-  # https://bugzilla.redhat.com/show_bug.cgi?id=426068
-  # https://bugzilla.redhat.com/show_bug.cgi?id=243036
-  patches = [
-    ./dvd+rw-tools-7.0-dvddl.patch
-    ./dvd+rw-tools-7.0-glibc2.6.90.patch
-    ./dvd+rw-tools-7.0-wctomb.patch
-    ./dvd+rw-tools-7.0-wexit.patch
-    ./dvd+rw-tools-7.1-layerbreaksetup.patch
-  ];
+  # Patches from Gentoo
+  patches = [ ]
+  ++ builtins.map ({pfile, sha256}: fetchpatch {
+       url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-cdr/dvd+rw-tools/files/${pfile}?id=b510df361241e8f16314b1f14642305f0111dac6";
+       inherit sha256;
+     })
+     [{ pfile = "dvd+rw-tools-7.0-dvddl-r1.patch"; sha256 = "12l33jq6405shfwdycrj52qmd07h5bsp1vjaddknfri456azjny5"; }
+      { pfile = "dvd+rw-tools-7.0-glibc2.6.90.patch"; sha256 = "1fb3gap2in782pa4164h1w0ha8ggsq3inissa1k0zn2p2r3rb5ln"; }
+      { pfile = "dvd+rw-tools-7.0-reload.patch"; sha256 = "12v2y2y6ci5hh6lbmsk97dzgznrm4bxwhc81mq684ix0qspb9mq4"; }
+      { pfile = "dvd+rw-tools-7.0-sysmacros.patch"; sha256 = "1rkb26cyhfxklkmna3l9b4797f6gzlxyqqin44jwnq3jmwfrs6v0"; }
+      { pfile = "dvd+rw-tools-7.0-wctomb-r1.patch"; sha256 = "1xg770l0b4bjn30y7nqg619v4m5ickcn2n8hv9k2an6r191daq58"; }
+      { pfile = "dvd+rw-tools-7.0-wexit.patch"; sha256 = "0sqzlkm19fmjx4lzxkxwn2ymrj9fq0zk0jkys3xm6xvd2ibb6kxl"; }
+      { pfile = "dvd+rw-tools-7.1-bluray_pow_freespace.patch"; sha256 = "0iscz8fs5002ymk6wl2fz4x06b7bdnc57rfz8kbv3216acqi5rv3"; }
+      { pfile = "dvd+rw-tools-7.1-bluray_srm+pow.patch"; sha256 = "0sy40m12w987i6g0cyxv8cfmab4vp7cd222lv05apknfi2y7smmw"; }
+      { pfile = "dvd+rw-tools-7.1-lastshort.patch"; sha256 = "01wspv70sil20khkg5kj086b1x8rrig4yhcq9s88bdjd42nv0vpx"; }
+      { pfile = "dvd+rw-tools-7.1-noevent.patch"; sha256 = "1kbmxpg15wci33f2h6pxxvf3qm0kpyzx9wj5a3l67sk34hvza3z6"; }
+     ];
 
-  buildInputs = [cdrkit m4];
+  nativeBuildInputs = [ m4 ];
+  buildInputs = [ cdrtools ];
 
-  preBuild = ''
-    makeFlags="prefix=$out"
-  '';
+  makeFlags = [ "prefix=${placeholder "out"}" ];
 
-  # Incompatibility with Linux 2.6.23 headers, see
-  # http://www.mail-archive.com/cdwrite@other.debian.org/msg11464.html
-  NIX_CFLAGS_COMPILE = "-DINT_MAX=__INT_MAX__";
-
-  meta = {
-    homepage = http://fy.chalmers.se/~appro/linux/DVD+RW/tools;
-    description = "Tools for burning DVDs";
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    homepage = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools";
+    description = "Tools for mastering Blu-ray and DVD+-RW/+-R media";
+    platforms = platforms.linux;
+    license = with licenses; [ gpl2 publicDomain ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
deleted file mode 100644
index c1c6fb3332a2..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./growisofs_mmc.cpp.joe	2006-04-27 20:45:00.788446635 +0200
-+++ ./growisofs_mmc.cpp	2006-04-27 20:46:01.666824300 +0200
-@@ -1412,9 +1412,7 @@
-     blocks += 15, blocks &= ~15;
- 
-     if (blocks <= split)
--	fprintf (stderr,":-( more than 50%% of space will be *wasted*!\n"
--			"    use single layer media for this recording\n"),
--	exit (FATAL_START(EMEDIUMTYPE));
-+	fprintf (stderr,":-? more than 50%% of space will be *wasted*!\n");
- 
-     blocks /= 16;
-     blocks += 1;
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
deleted file mode 100644
index 49742d3c4db0..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 dvd+rw-tools-7.0/transport.hxx
---- dvd+rw-tools-7.0/transport.hxx.glibc2.6.90	2007-08-15 12:56:17.000000000 +0200
-+++ dvd+rw-tools-7.0/transport.hxx	2007-08-15 12:56:42.000000000 +0200
-@@ -11,6 +11,7 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
-+#include <limits.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
deleted file mode 100644
index 3d13fc8d273e..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./transport.hxx~	2008-03-25 21:24:47.000000000 -0400
-+++ ./transport.hxx	2008-03-25 21:25:36.000000000 -0400
-@@ -116,7 +116,7 @@
- extern "C" char *plusminus_locale()
- { static class __plusminus {
-     private:
--	char str[4];
-+	char str[MB_LEN_MAX];
-     public:
- 	__plusminus()	{   setlocale(LC_CTYPE,ENV_LOCALE);
- 			    int l = wctomb(str,(wchar_t)(unsigned char)'');
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
deleted file mode 100644
index e7910cbdd7b8..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit	2007-06-21 12:42:30.000000000 +0200
-+++ dvd+rw-tools-7.0/dvd+rw-format.cpp	2007-06-21 12:44:13.000000000 +0200
-@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
- 	alarm(1);
- 	while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
- 	if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
--	exit (0);
-+	exit (WEXITSTATUS(i));
-     }
- #endif
- 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
deleted file mode 100644
index 7636f8393df2..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ur dvd+rw-tools-7.1-orig/growisofs.c dvd+rw-tools-7.1/growisofs.c
---- dvd+rw-tools-7.1-orig/growisofs.c	2008-03-04 10:15:03.000000000 +0100
-+++ dvd+rw-tools-7.1/growisofs.c	2009-09-06 22:39:33.000000000 +0200
-@@ -535,7 +535,7 @@
-  */
- int        get_mmc_profile	(void *fd);
- int        plusminus_r_C_parm	(void *fd,char *C_parm);
--pwrite64_t poor_mans_setup	(void *fd,off64_t leadout);
-+pwrite64_t poor_mans_setup	(void *fd,off64_t leadout,unsigned int lbreak);
- char      *plusminus_locale	();
- int        __1x			();
- /*
-@@ -2447,7 +2447,7 @@
- 			    goto out;
- 			}
- 			if (!progress.final) progress.final = tracksize;
--			tracksize = layer_break*CD_BLOCK*2;
-+			//tracksize = layer_break*CD_BLOCK*2;
- 		    }
- 		}
- 		else if (capacity > outoff)
-@@ -2648,7 +2648,7 @@
- 	 * further details on poor_mans_setup
- 	 */
- 	pwrite64_method = poor_mans_setup (ioctl_handle,
--					   outoff+tracksize);
-+					   outoff+tracksize, (unsigned int)layer_break);
-     }
- 
-     if (!progress.final)
-diff -ur dvd+rw-tools-7.1-orig/growisofs_mmc.cpp dvd+rw-tools-7.1/growisofs_mmc.cpp
---- dvd+rw-tools-7.1-orig/growisofs_mmc.cpp	2008-03-04 18:47:49.000000000 +0100
-+++ dvd+rw-tools-7.1/growisofs_mmc.cpp	2009-09-06 20:52:46.000000000 +0200
-@@ -1612,7 +1612,7 @@
-   return 0;
- }
- 
--static void plus_r_dl_split (Scsi_Command &cmd,off64_t size)
-+static void plus_r_dl_split (Scsi_Command &cmd,off64_t size,unsigned int lbreak)
- { int           err;
-   unsigned int  blocks,split;
-   unsigned char dvd_20[4+8];
-@@ -1644,10 +1644,17 @@
- 			"    use single layer media for this recording\n"),
- 	exit (FATAL_START(EMEDIUMTYPE));
- 
--    blocks /= 16;
--    blocks += 1;
--    blocks /= 2;
--    blocks *= 16;
-+    if (lbreak)
-+      {
-+	blocks=lbreak;
-+      }
-+    else
-+      {
-+	blocks /= 16;
-+	blocks += 1;
-+	blocks /= 2;
-+	blocks *= 16;
-+      }
- 
-     fprintf (stderr,"%s: splitting layers at %u blocks\n",
- 		    ioctl_device,blocks);
-@@ -2010,7 +2017,7 @@
- typedef ssize_t (*pwrite64_t)(int,const void *,size_t,off64_t);
- 
- extern "C"
--pwrite64_t poor_mans_setup (void *fd,off64_t leadout)
-+pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak)
- { Scsi_Command cmd(ioctl_handle=fd);
-   int err,profile=mmc_profile&0xFFFF;
- 
-@@ -2059,7 +2066,7 @@
- 	case 0x2B:	// DVD+R Double Layer
- 	    plusminus_pages_setup(cmd,profile);
- 	    if (profile==0x2B && next_track==1 && dvd_compat && leadout)
--		plus_r_dl_split (cmd,leadout);
-+	      plus_r_dl_split (cmd,leadout,lbreak);
- 	    atexit (plus_r_finalize);
- 	    if (next_wr_addr)
- 	    {	atsignals (no_r_finalize);
-diff -ur dvd+rw-tools-7.1-orig/transport.hxx dvd+rw-tools-7.1/transport.hxx
---- dvd+rw-tools-7.1-orig/transport.hxx	2008-03-01 11:34:43.000000000 +0100
-+++ dvd+rw-tools-7.1/transport.hxx	2009-09-06 20:53:53.000000000 +0200
-@@ -9,6 +9,7 @@
- #if defined(__unix) || defined(__unix__)
- #include <stdio.h>
- #include <stdlib.h>
-+#include <limits.h>
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
diff --git a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
new file mode 100644
index 000000000000..3bc1f886ccd2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub
+, python3
+, popt
+}:
+
+stdenv.mkDerivation rec {
+  pname = "isomd5sum";
+  version = "1.2.3";
+
+  src = fetchFromGitHub {
+    owner = "rhinstaller";
+    repo = pname;
+    rev = version;
+    sha256 = "1wjnh2hlp1hjjm4a8wzdhdrm73jq41lmpmy3ls0rh715p3j7z4q9";
+  };
+
+  buildInputs = [ python3 popt ] ;
+
+  postPatch = ''
+    substituteInPlace Makefile --replace "#/usr/" "#"
+    substituteInPlace Makefile --replace "/usr/" "/"
+  '';
+
+  dontConfigure = true;
+
+  makeFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+  # we don't install python stuff as it borks up directories
+  installTargets = [ "install-bin" "install-devel" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rhinstaller/isomd5sum;
+    description = "Utilities for working with md5sum implanted in ISO images";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ knl ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
new file mode 100644
index 000000000000..94cd09674dac
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, substituteAll }:
+
+stdenv.mkDerivation rec {
+  pname = "srt-to-vtt-cl";
+  version = "unstable-2019-01-03";
+
+  src = fetchFromGitHub {
+    owner = "nwoltman";
+    repo = pname;
+    rev = "ce3d0776906eb847c129d99a85077b5082f74724";
+    sha256 = "0qxysj08gjr6npyvg148llmwmjl2n9cyqjllfnf3gxb841dy370n";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-validation.patch;
+    })
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/$(uname -s)/$(uname -m)/srt-vtt $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert SRT files to VTT";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ericdallo ];
+    homepage = https://github.com/nwoltman/srt-to-vtt-cl;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
new file mode 100644
index 000000000000..abddae6d0719
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
@@ -0,0 +1,13 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,4 @@
+-ERR = $(shell which clang++ >/dev/null; echo $$?)
+-ifeq "$(ERR)" "0"
+-	CXX ?= clang++
+-else
+-	CXX ?= g++
+-endif
++CXX ?= g++
+ CXXFLAGS = -std=c++11 -O2 -MMD -I ./deps
+ OBJECTS := src/text_encoding_detect.o src/Utils.o src/Converter.o src/main.o
+ DEPENDS := $(OBJECTS:.o=.d)
diff --git a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
index 9495f8dac996..a6c2885d4b46 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "unetbootin";
-  version = "661";
+  version = "675";
 
   src = fetchFromGitHub {
     owner  = "unetbootin";
     repo   = "unetbootin";
     rev    = version;
-    sha256 = "0jwmmym86x9hc6yr619dxdbxdawx8x0zwld0dfrhzwxvwbqbpav5";
+    sha256 = "0b7z2amsf6i7b56a5sfs5di1vh30h6ybcqg23d5gx5zgn3w38w4a";
   };
 
   setSourceRoot = ''
diff --git a/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix b/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
index f181ab71edfb..48a58c0c7d11 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [libdvdread libdvdcss];
-  makeFlags   = "DESTDIR=$(out) PREFIX=/";
+  makeFlags   = [ "DESTDIR=$(out)" "PREFIX=/" ];
 
   meta = {
     description = "Copies DVD .vob files to harddisk, decrypting them on the way";
diff --git a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
index 1469a68bf0e6..901b0c329c5e 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,12 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl, attr, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.5.0";
+  name = "xorriso-${version}";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9";
+    sha256 = "1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/compression/advancecomp/default.nix b/nixpkgs/pkgs/tools/compression/advancecomp/default.nix
index 8bee8059fe27..46c8f4338c69 100644
--- a/nixpkgs/pkgs/tools/compression/advancecomp/default.nix
+++ b/nixpkgs/pkgs/tools/compression/advancecomp/default.nix
@@ -1,5 +1,9 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, zlib }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "advancecomp";
@@ -15,6 +19,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-9210.patch";
+      url = "https://github.com/amadvance/advancecomp/commit/fcf71a89265c78fc26243574dda3a872574a5c02.patch";
+      sha256 = "0cdv9g87c1y8zwhqkd9ba2zjw4slcvg7yzcqv43idvnwb5fl29n7";
+      excludes = [ "doc/history.d" ];
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = ''A set of tools to optimize deflate-compressed files'';
     license = licenses.gpl3 ;
diff --git a/nixpkgs/pkgs/tools/compression/brotli/default.nix b/nixpkgs/pkgs/tools/compression/brotli/default.nix
index 33b6f12cd46c..229c6c8b8e4e 100644
--- a/nixpkgs/pkgs/tools/compression/brotli/default.nix
+++ b/nixpkgs/pkgs/tools/compression/brotli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, fetchpatch, staticOnly ? false }:
 
 # ?TODO: there's also python lib in there
 
@@ -15,7 +15,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = [];
+  patches = stdenv.lib.optional staticOnly (fetchpatch {
+    url = "https://github.com/google/brotli/pull/655/commits/7289e5a378ba13801996a84d89d8fe95c3fc4c11.patch";
+    sha256 = "1bghbdvj24jrvb0sqfdif9vwg7wx6pn8dvl6flkrcjkhpj0gi0jg";
+  });
+
+  cmakeFlags = []
+    ++ stdenv.lib.optional staticOnly "-DBUILD_SHARED_LIBS=OFF";
 
   outputs = [ "out" "dev" "lib" ];
 
diff --git a/nixpkgs/pkgs/tools/compression/gzrt/default.nix b/nixpkgs/pkgs/tools/compression/gzrt/default.nix
index 59a11e2d4d75..6ce50bb3d996 100644
--- a/nixpkgs/pkgs/tools/compression/gzrt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/lbzip2/default.nix b/nixpkgs/pkgs/tools/compression/lbzip2/default.nix
index cf616a21e0aa..7e9cc055abf5 100644
--- a/nixpkgs/pkgs/tools/compression/lbzip2/default.nix
+++ b/nixpkgs/pkgs/tools/compression/lbzip2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://lbzip2.org/;
+    homepage = "https://github.com/kjn/lbzip2"; # Formerly http://lbzip2.org/
     description = "Parallel bzip2 compression utility";
     license = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
diff --git a/nixpkgs/pkgs/tools/compression/lz4/default.nix b/nixpkgs/pkgs/tools/compression/lz4/default.nix
index 3f2497cd8d22..3ce0eac3fc5c 100644
--- a/nixpkgs/pkgs/tools/compression/lz4/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/pbzip2/default.nix b/nixpkgs/pkgs/tools/compression/pbzip2/default.nix
index 94ca5eb58b1f..3314544084f8 100644
--- a/nixpkgs/pkgs/tools/compression/pbzip2/default.nix
+++ b/nixpkgs/pkgs/tools/compression/pbzip2/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   preBuild = "substituteInPlace Makefile --replace g++ c++";
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=reserved-user-defined-literal";
 
diff --git a/nixpkgs/pkgs/tools/compression/zstd/default.nix b/nixpkgs/pkgs/tools/compression/zstd/default.nix
index 5a153393ccdb..82a6a3a8a53c 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/default.nix
+++ b/nixpkgs/pkgs/tools/compression/zstd/default.nix
@@ -1,47 +1,60 @@
-{ stdenv, fetchFromGitHub, gnugrep
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, gnugrep
 , fixDarwinDylibNames
 , file
-, legacySupport ? false }:
+, legacySupport ? false
+, enableShared ? true }:
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
-    sha256 = "0mmgs98cfh92gcbjyv37vz8nq7x4x7fbzymlxyqd9awwpv9v0i5n";
+    sha256 = "0zn7r8d4m8w2lblnjalqpz18na0spzkdiw3fwq2fzb7drhb32v54";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
   };
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [ cmake ]
+   ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  makeFlags = [
-    "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
+  patches = [
+    # From https://github.com/facebook/zstd/pull/1883
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/106278e7e5fafaea3b7deb4147bdc8071562d2f0.diff";
+      sha256 = "13z7id1qbc05cv1rmak7c8xrchp7jh1i623bq5pwcihg57wzcyr8";
+    })
+  ] # 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;
+
+  cmakeFlags = [
+    "-DZSTD_BUILD_SHARED:BOOL=${if enableShared then "ON" else "OFF"}"
+    "-DZSTD_LEGACY_SUPPORT:BOOL=${if legacySupport then "ON" else "OFF"}"
+    "-DZSTD_BUILD_TESTS:BOOL=ON"
   ];
+  cmakeDir = "../build/cmake";
+  dontUseCmakeBuildDir = true;
+  preConfigure = ''
+    mkdir -p build_ && cd $_
+  '';
 
   checkInputs = [ file ];
   doCheck = true;
   preCheck = ''
-    substituteInPlace tests/playTests.sh \
+    substituteInPlace ../tests/playTests.sh \
       --replace 'MD5SUM="md5 -r"' 'MD5SUM="md5sum"'
   '';
 
-  installFlags = [
-    "PREFIX=$(out)"
-  ];
-
-  preInstall = ''
-    substituteInPlace programs/zstdgrep \
+  preInstall = stdenv.lib.optionalString enableShared ''
+    substituteInPlace ../programs/zstdgrep \
       --replace ":-grep" ":-${gnugrep}/bin/grep" \
       --replace ":-zstdcat" ":-$out/bin/zstdcat"
 
-    substituteInPlace programs/zstdless \
+    substituteInPlace ../programs/zstdless \
       --replace "zstdcat" "$out/bin/zstdcat"
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Zstandard real-time compression algorithm";
     longDescription = ''
@@ -56,7 +69,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/nixpkgs/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch b/nixpkgs/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch
new file mode 100644
index 000000000000..69921c0c7bad
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index 98dab6278b01..144ed0a38459 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "2019-08-21";
+  version = "2019-10-12";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "72a408f84846fe702b8db4f158b678ee20bbf835";
-    sha256 = "0y5700afv1x1i3wnp3g71i3zhyhkwmx79j0irxr63fmg47n0ys1i";
+    rev = "6e696ea08703eecd0d1c7b8c520b6f62f06f4f26";
+    sha256 = "0m3valm68vc73b4kydlga17fglxa9bldrjaszlladzl5bd0zb967";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/bees/default.nix b/nixpkgs/pkgs/tools/filesystems/bees/default.nix
index 94573bcd2010..c6bb07e7b87d 100644
--- a/nixpkgs/pkgs/tools/filesystems/bees/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bees/default.nix
@@ -2,8 +2,8 @@
 
 let
 
-  version = "0.6.1";
-  sha256 = "0h7idclmhyp14mq6786x7f2237vqpn70gyi88ik4g70xl84yfgyh";
+  version = "0.6.2";
+  sha256 = "05niv9rivd3j3cwcx3n3vjr85wr0l5i76giq9n54d2vdwmn8qjib";
 
   bees = stdenv.mkDerivation {
     pname = "bees";
diff --git a/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix b/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
index a8849e6af22b..d0f68fac7ca1 100644
--- a/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.1";
+  version = "1.14.2";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "111i4ba4px3idmrr5qhgq01926fas1rs2yx2shnwgdk3ziqcszxl";
+    sha256 = "0zn5fjrm9la5w1p66xhy87aasqsdky36dgc447jp2yp7nh18v339";
   };
 
   dontStrip = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/blobfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/blobfuse/default.nix
index 6fc0e3a7f210..3c6f62283293 100644
--- a/nixpkgs/pkgs/tools/filesystems/blobfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/blobfuse/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1qh04z1fsj1l6l12sz9yl2sy9hwlrnzac54hwrr7wvsgv90n9gbp";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=catch-value" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
 
   buildInputs = [ curl gnutls libgcrypt libuuid fuse ];
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
index f5588cc51abc..1da8470280b8 100644
--- a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.2.1";
+  version = "5.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "0crjv3i20nyj2dagfw6q7byshscpn6j7wlqch3apkzzzk00lmb1n";
+    sha256 = "1ykhasv0jc3qi3xrm5841mzkmlbkjw6rm70gl4aww90jj6ak55qg";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index 1755ef625f5a..9c7704410251 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -6,9 +6,11 @@
 , libxml2, zlib, lz4
 , openldap, lttng-ust
 , babeltrace, gperf
+, gtest
 , cunit, snappy
 , rocksdb, makeWrapper
-, leveldb, oathToolkit, removeReferencesTo
+, leveldb, oathToolkit
+, libnl, libcap_ng
 
 # Optional Dependencies
 , yasm ? null, fcgi ? null, expat ? null
@@ -87,9 +89,10 @@ let
     ps.webob
     ps.bcrypt
     ps.six
+    ps.pyyaml
   ]);
 
-  version = "14.2.3";
+  version = "14.2.5";
 in rec {
   ceph = stdenv.mkDerivation {
     pname = "ceph";
@@ -97,7 +100,7 @@ in rec {
 
     src = fetchurl {
       url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-      sha256 = "1pa8czb205pz4vjfh82gsgickj3cdjrx51mcx7acsyqgp3dfvl33";
+      sha256 = "0wbkdplxs8higmlj57a7rydmx9rq08h0arjrmxmp0s80bn0v5x2c";
     };
 
     patches = [
@@ -108,14 +111,14 @@ in rec {
     nativeBuildInputs = [
       cmake
       pkgconfig which git python3Packages.wrapPython makeWrapper
+      python3Packages.python # for the toPythonPath function
       (ensureNewerSourcesHook { year = "1980"; })
     ];
 
     buildInputs = cryptoLibsMap.${cryptoStr} ++ [
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
-      malloc zlib openldap lttng-ust babeltrace gperf cunit
-      snappy rocksdb lz4 oathToolkit leveldb
-      removeReferencesTo
+      malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
+      snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng
     ] ++ optionals stdenv.isLinux [
       linuxHeaders utillinux libuuid udev keyutils optLibaio optLibxfs optZfs
       # ceph 14
@@ -124,54 +127,52 @@ in rec {
       optFcgi optExpat optCurl optFuse optLibedit
     ];
 
+    pythonPath = [ ceph-python-env "${placeholder "out"}/${ceph-python-env.sitePackages}" ];
+
     preConfigure =''
       substituteInPlace src/common/module.c --replace "/sbin/modinfo"  "modinfo"
       substituteInPlace src/common/module.c --replace "/sbin/modprobe" "modprobe"
-      # Since Boost 1.67 this seems to have changed
-      substituteInPlace CMakeLists.txt --replace "list(APPEND BOOST_COMPONENTS python)" "list(APPEND BOOST_COMPONENTS python37)"
-      substituteInPlace src/CMakeLists.txt --replace "Boost::python " "Boost::python37 "
 
       # for pybind/rgw to find internal dep
       export LD_LIBRARY_PATH="$PWD/build/lib:$LD_LIBRARY_PATH"
       # install target needs to be in PYTHONPATH for "*.pth support" check to succeed
-      export PYTHONPATH=${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/python3.7/site-packages/:$out/lib/python3.7/site-packages/
 
-      patchShebangs src/spdk
+      patchShebangs src/script src/spdk src/test src/tools
     '';
 
     cmakeFlags = [
       "-DWITH_PYTHON3=ON"
       "-DWITH_SYSTEM_ROCKSDB=OFF"
+      "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
+
 
       "-DWITH_SYSTEM_BOOST=ON"
+      "-DWITH_SYSTEM_ROCKSDB=ON"
+      "-DWITH_SYSTEM_GTEST=ON"
+      "-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
       "-DWITH_SYSTEMD=OFF"
       "-DWITH_TESTS=OFF"
       # TODO breaks with sandbox, tries to download stuff with npm
       "-DWITH_MGR_DASHBOARD_FRONTEND=OFF"
     ];
 
-    preFixup = ''
-      find $lib -type f -exec remove-references-to -t $out '{}' +
-      mv $out/share/ceph/mgr $lib/lib/ceph/
-    '';
-
     postFixup = ''
-      export PYTHONPATH="${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
       wrapPythonPrograms
-      wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
-      wrapProgram $out/bin/ceph-volume --prefix PYTHONPATH ":" "${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
+      wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "$(toPythonPath ${placeholder "out"}):$(toPythonPath ${ceph-python-env})"
     '';
 
     enableParallelBuilding = true;
 
     outputs = [ "out" "lib" "dev" "doc" "man" ];
 
+    doCheck = false; # uses pip to install things from the internet
+
     meta = {
       homepage = https://ceph.com/;
       description = "Distributed storage system";
       license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
       maintainers = with maintainers; [ adev ak krav johanot ];
-      platforms = platforms.unix;
+      platforms = [ "x86_64-linux" ];
     };
 
     passthru.version = version;
@@ -183,7 +184,7 @@ in rec {
         description = "Tools needed to mount Ceph's RADOS Block Devices";
         license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
         maintainers = with maintainers; [ adev ak johanot krav ];
-        platforms = platforms.unix;
+        platforms = [ "x86_64-linux" ];
       };
     } ''
       mkdir -p $out/{bin,etc,lib/python3.7/site-packages}
diff --git a/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix b/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
index 4a8c767e44ac..533bb2322e72 100644
--- a/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ fuse glib attr ];
 
-  makeFlags = "DESTDIR=$(out) PREFIX=";
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
   meta = {
     homepage = http://www.brain-dump.org/projects/ciopfs/;
diff --git a/nixpkgs/pkgs/tools/filesystems/cryfs/default.nix b/nixpkgs/pkgs/tools/filesystems/cryfs/default.nix
index 7eee02e220af..93a70f1f0881 100644
--- a/nixpkgs/pkgs/tools/filesystems/cryfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch b/nixpkgs/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
deleted file mode 100644
index feb0ed9cfbb9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/cryfs/test-no-network.patch b/nixpkgs/pkgs/tools/filesystems/cryfs/test-no-network.patch
deleted file mode 100644
index 3392d3f855ec..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
index 512b5ce85677..a0d2cfd4ef7d 100644
--- a/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, neon, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "davfs2-1.5.5";
+  name = "davfs2-1.5.6";
 
   src = fetchurl {
     url = "mirror://savannah/davfs2/${name}.tar.gz";
-    sha256 = "0bxd62268pix7w1lg7f9y94v34f4l45fdf6clyarj43qmljnlz2q";
+    sha256 = "00fqadhmhi2bmdar5a48nicmjcagnmaj9wgsvjr6cffmrz6pcx21";
   };
 
   buildInputs = [ neon zlib ];
diff --git a/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix b/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix
index 81faed5bfa8d..cf87f9ca98e0 100644
--- a/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/duff/default.nix b/nixpkgs/pkgs/tools/filesystems/duff/default.nix
index 3981521097a9..d68ad10bd0dc 100644
--- a/nixpkgs/pkgs/tools/filesystems/duff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
index ee3cce37bc7c..0fd7062ac6cd 100644
--- a/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo }:
+{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo, shared ? true }:
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
-  version = "1.45.3";
+  version = "1.45.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0gcqfnp9h7wgz1vq402kxd2w398vqaim26aq9i722v3lrgh5cm9s";
+    sha256 = "0jsclghxfzj9qmdd3qqk0gdmkrgjv2gakf8qz9dba37qkj1nk776";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
@@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     if stdenv.isLinux then [
-      "--enable-elf-shlibs"
+      # It seems that the e2fsprogs is one of the few packages that cannot be
+      # build with shared and static libs.
+      (if shared then "--enable-elf-shlibs" else "--disable-elf-shlibs")
       "--enable-symlink-install"
       "--enable-relative-symlinks"
       "--with-crond-dir=no"
diff --git a/nixpkgs/pkgs/tools/filesystems/f2fs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/f2fs-tools/default.nix
index d7fa971c9878..c5ec523e247d 100644
--- a/nixpkgs/pkgs/tools/filesystems/f2fs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/f2fs-tools/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "f2fs-tools";
-  version = "1.11.0";
+  version = "1.13.0";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
     rev = "refs/tags/v${version}";
-    sha256 = "188yv77ga466wpzbirsx6vspym8idaschgi7cx92z4jwqpnkk5gv";
+    sha256 = "0h6wincsvg6s232ajxblg66r5nx87v00a4w7xkbxgbl1qyny477j";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch b/nixpkgs/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch
index 1503732240c3..e01a97b0bc3c 100644
--- a/nixpkgs/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch
+++ b/nixpkgs/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch
@@ -1,25 +1,27 @@
---- f2fs-tools/configure.ac.orig	2018-11-29 05:05:57.154988687 +0300
-+++ f2fs-tools/configure.ac	2018-11-29 05:06:12.667316101 +0300
-@@ -20,14 +20,16 @@
+diff --git a/configure.ac b/configure.ac
+index 9b0e872..0108219 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,14 +20,16 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version,
  				[\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
  				[Minor version for f2fs-tools])
  
--AC_CHECK_FILE(.git,
+-AS_IF([test -d .git],[
 -	AC_DEFINE([F2FS_TOOLS_DATE],
 -		"m4_bpatsubst(f2fs_tools_gitdate,
 -		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
--		[f2fs-tools date based on Git commits]),
+-		[f2fs-tools date based on Git commits])],[
 -	AC_DEFINE([F2FS_TOOLS_DATE],
 -		"f2fs_tools_date",
--		[f2fs-tools date based on Source releases]))
-+dnl AC_CHECK_FILE(.git,
-+dnl 	AC_DEFINE([F2FS_TOOLS_DATE],
-+dnl 		"m4_bpatsubst(f2fs_tools_gitdate,
-+dnl 		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
-+dnl 		[f2fs-tools date based on Git commits]),
-+dnl 	AC_DEFINE([F2FS_TOOLS_DATE],
-+dnl 		"f2fs_tools_date",
-+dnl 		[f2fs-tools date based on Source releases]))
+-		[f2fs-tools date based on Source releases])])
++dnl AS_IF([test -d .git],[
++dnl	AC_DEFINE([F2FS_TOOLS_DATE],
++dnl		"m4_bpatsubst(f2fs_tools_gitdate,
++dnl		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
++dnl		[f2fs-tools date based on Git commits])],[
++dnl	AC_DEFINE([F2FS_TOOLS_DATE],
++dnl		"f2fs_tools_date",
++dnl		[f2fs-tools date based on Source releases])])
 +
 +AC_DEFINE([F2FS_TOOLS_DATE], "f2fs_tools_date", [f2fs-tools date based on Source releases])
  
diff --git a/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix b/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
index a00104510bf2..5a60f8c055e5 100644
--- a/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
@@ -25,9 +25,7 @@ stdenv.mkDerivation rec {
 
   # Filesystem resize functions were reintroduced in parted 3.1 due to no other available free alternatives
   # but in a sepparate library -> libparted-fs-resize --- that's why the added LDFLAG
-  makeFlags = ''
-    LDFLAGS=-lparted-fs-resize
-  '';
+  makeFlags = [ "LDFLAGS=-lparted-fs-resize" ];
 
   propagatedBuildInputs = [ parted utillinux ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index a96830feb2a5..0d7bcdcd0f26 100644
--- a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,24 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.5.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03sdnnq0x44jlwf41snrrma4hxdiixmhynw35gjhm84slpljnngp";
+    sha256 = "1ybrki63ixrkraynms5i4jiil9901whwxs6p61h2c2ild8w2ir8n";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs = [ fuse3 ];
 
   meta = with lib; {
-    homepage = https://github.com/containers/fuse-overlayfs;
     description = "FUSE implementation for overlayfs";
     longDescription = "An implementation of overlay+shiftfs in FUSE for rootless containers.";
     license = licenses.gpl3;
+    maintainers = with maintainers; [ ma9e ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.ma9e ];
+    inherit (src.meta) homepage;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/fusesmb/default.nix b/nixpkgs/pkgs/tools/filesystems/fusesmb/default.nix
deleted file mode 100644
index ada9445218b9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
index fe46fccf271a..af3e92509853 100644
--- a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -1,25 +1,28 @@
-# This file was generated by go2nix.
-{ lib, buildGoPackage, fetchgit }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gcsfuse";
-  version = "0.23.0";
-  rev = "v${version}";
+  version = "0.28.1";
 
-  goPackagePath = "github.com/googlecloudplatform/gcsfuse";
-
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/googlecloudplatform/gcsfuse";
-    sha256 = "1qxbpsmz22l5w4b7wbgfdq4v85cfc9ka9i8h4c56nals1x5lcsnx";
+  src = fetchFromGitHub {
+    owner = "googlecloudplatform";
+    repo = "gcsfuse";
+    rev = "v${version}";
+    sha256 = "0dh01qvsjlzji2mwznykc2nghg4f1raylvgnp6sbxv9x1kpnwx71";
   };
 
-  meta = {
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.unix;
+  modSha256 = "0i86xs3lq2mj22yv7jmhmb34k7lz348bakqz020xpyccllkkszy4";
+
+  patches = [
+    ./go.mod.patch
+    ./go.sum.patch
+  ];
+
+  meta = with lib;{
+    description = "A user-space file system for interacting with Google Cloud Storage";
+    homepage = "https://cloud.google.com/storage/docs/gcs-fuse";
+    license = licenses.asl20;
+    platforms = platforms.unix;
     maintainers = [];
-    homepage = https://cloud.google.com/storage/docs/gcs-fuse;
-    description =
-      "A user-space file system for interacting with Google Cloud Storage";
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.mod.patch b/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.mod.patch
new file mode 100644
index 000000000000..fbda63432d7c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.mod.patch
@@ -0,0 +1,28 @@
+--- a/go.mod 	2019-10-09 22:35:05.777065057 -0400
++++ b/go.mod	2019-10-10 21:34:15.809681738 -0400
+@@ -0,0 +1,25 @@
++module github.com/googlecloudplatform/gcsfuse
++
++go 1.12
++
++require (
++	cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c
++	github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1
++	github.com/golang/protobuf v0.0.0-20170902000452-17ce1425424a
++	github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f
++	github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa
++	github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308
++	github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd
++	github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff
++	github.com/jacobsa/ogletest v0.0.0-20170503003838-80d50a735a11
++	github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0
++	github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb
++	github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b
++	github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6
++	github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e
++	github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1
++	golang.org/x/net v0.0.0-20170809000501-1c05540f6879
++	golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95
++	google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2
++	google.golang.org/appengine v0.0.0-20170801183137-c5a90ac045b7
++)
diff --git a/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.sum.patch b/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.sum.patch
new file mode 100644
index 000000000000..d537266e3c12
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/gcsfuse/go.sum.patch
@@ -0,0 +1,38 @@
+--- a/go.sum	2019-10-09 22:35:05.777065057 -0400
++++ b/go.sum	2019-10-10 21:34:15.809681738 -0400
+@@ -0,0 +1,35 @@
++cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c h1:pTb3uxaVLke7AQ/KUVTHWZmzKrKYrip7FimNb3ecAbo=
++cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
++github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1 h1:PTPzzngHWcTI0ph/9I92RhVtRkdOCi37wySw/ojR5Eg=
++github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
++github.com/golang/protobuf v0.0.0-20170902000452-17ce1425424a/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
++github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f h1:X+tnaqoCcBgAwSTJtoYW6p0qKiuPyMfofEHEFUf2kdU=
++github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f/go.mod h1:Ip4fOwzCrnDVuluHBd7FXIMb7SHOKfkt9/UDrYSZvqI=
++github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa h1:3420E523ahKsI3tlbO0zeLvgzuTFdJoy6JoAVuShs8U=
++github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa/go.mod h1:9Aml1MG17JVeXrN4D2mtJvYHtHklJH5bESjCKNzVjFU=
++github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308 h1:sfc1gTCrsJQJMySgDstAhwzogqQIrTxkwwScG4p2kbM=
++github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308/go.mod h1:3fF6sEraNZSToePaj5q+f9KSaMpuZcwccqAQmOKDv/k=
++github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd h1:9GCSedGjMcLZCrusBZuo4tyKLpKUPenUUqi34AkuFmA=
++github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd/go.mod h1:TlmyIZDpGmwRoTWiakdr+HA1Tukze6C6XbRVidYq02M=
++github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff h1:2xRHTvkpJ5zJmglXLRqHiZQNjUoOkhUyhTAhEQvPAWw=
++github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff/go.mod h1:gJWba/XXGl0UoOmBQKRWCJdHrr3nE0T65t6ioaj3mLI=
++github.com/jacobsa/ogletest v0.0.0-20170503003838-80d50a735a11/go.mod h1:+DBdDyfoO2McrOyDemRBq0q9CMEByef7sYl7JH5Q3BI=
++github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0 h1:6GaIakaFrxn738iBykUc6fyS5sIAKRg/wafwzrzRX30=
++github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0/go.mod h1:5/sdn6lSZE5l3rXMkJGO7Y3MHJImklO43rZx9ouOWYQ=
++github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb h1:uSWBjJdMf47kQlXMwWEfmc864bA1wAC+Kl3ApryuG9Y=
++github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb/go.mod h1:ivcmUvxXWjb27NsPEaiYK7AidlZXS7oQ5PowUS9z3I4=
++github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b h1:HMNP0njxow/ahg3AFKzu8HnyOUSRiVqWXm+i4VefV+Y=
++github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b/go.mod h1:mPvulh9VKXvo+yOlrD4VYOOYuLdZJ36wa/5QIrtXvWs=
++github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6 h1:XKHJmHcgU9glxk3eLPiRZT5VFSHJitVTnMj/EgIoXC4=
++github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6/go.mod h1:JEWKD6V8xETMW+DEv+IQVz++f8Cn8O/X0HPeDY3qNis=
++github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e h1:BegecLAVSx5IW1bOImB8Lt6+4yiWP4t+PUeckWYzIeg=
++github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e/go.mod h1:q0HiLetNeSPHjs8ddOw9U6xahog8xR7WPp6PhzJ6wmk=
++github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro=
++github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
++golang.org/x/net v0.0.0-20170809000501-1c05540f6879 h1:0rFa7EaCGdQPmZVbo9F7MNF65b8dyzS6EUnXjs9Cllk=
++golang.org/x/net v0.0.0-20170809000501-1c05540f6879/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
++golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95 h1:RS+wSrhdVci7CsPwJaMN8exaP3UTuQU0qB34R/E/JD0=
++golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
++google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2 h1:wF/9eBxkxh3/00HWCFpF3583KFXGapuZ3EVpZIuLd4Q=
++google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
++google.golang.org/appengine v0.0.0-20170801183137-c5a90ac045b7/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
diff --git a/nixpkgs/pkgs/tools/filesystems/gitfs/default.nix b/nixpkgs/pkgs/tools/filesystems/gitfs/default.nix
index 614e323e6b29..5b3794146665 100644
--- a/nixpkgs/pkgs/tools/filesystems/gitfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gitfs/default.nix
@@ -2,13 +2,13 @@
 
 python2Packages.buildPythonApplication rec {
   pname = "gitfs";
-  version = "0.4.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "PressLabs";
     repo = "gitfs";
     rev = version;
-    sha256 = "1s9ml2ryqxvzzq9mxa9y3xmzr742qxcpw9kzzbr7vm3bxgkyi074";
+    sha256 = "1jzwdwan8ndvp2lw6j7zbvg5k9rgf2d8dcxjrwc6bwyk59xdxn4p";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
index 07ba47dda4d5..b5fc12024b17 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
@@ -15,10 +15,10 @@ let
     #       The command
     #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
     #       can help with finding new Python scripts.
-    version = "6.5";
+    version = "7.1";
     name="${baseName}-${version}";
     url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "17vdrw71ys1n5g9pdmzipmr706bslq0gbxxjhacxnrgsz8r4rl6a";
+    sha256 = "11v5hwijbb08xq3dd4m6bkspa3v4vjzcnw6j1qyh0gjmc7yy4ml3";
   };
 
   buildInputs = [
@@ -94,7 +94,7 @@ stdenv.mkDerivation
     ''--localstatedir=/var''
     ];
 
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = [ "DESTDIR=$(out)" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
index 0e48da746b83..8491bf20e8f1 100644
--- a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
@@ -8,7 +8,7 @@ let
 in
 buildGoPackage rec {
   pname = "gocryptfs";
-  version = "1.7"; # TODO: Drop `patches` with next release. Remove `fix-unix2syscall_darwin.go-build-failure.patch`.
+  version = "1.7.1";
 
   goPackagePath = "github.com/rfjakob/gocryptfs";
 
@@ -19,13 +19,9 @@ buildGoPackage rec {
     owner = "rfjakob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sr3i73haw07faqpw785cdda2kna8q3a0zhwab1p3i935rvp4qaa";
+    sha256 = "1zhzhvjhvi6xzib985bsnj9yzp4zsnm91m1679nbab6vm3kanq06";
   };
 
-  # Fixes build on darwin
-  # Source: https://github.com/rfjakob/gocryptfs/commit/b1468a732fa26550f2a6f8a21cc7bd47b65a8c96
-  patches = [ ./fix-unix2syscall_darwin.go-build-failure.patch ];
-
   postPatch = "rm -r tests";
 
   buildFlagsArray = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/gocryptfs/deps.nix b/nixpkgs/pkgs/tools/filesystems/gocryptfs/deps.nix
index 50f6e89908e9..cebad12327e0 100644
--- a/nixpkgs/pkgs/tools/filesystems/gocryptfs/deps.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gocryptfs/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hanwen/go-fuse";
-      rev =  "a533f0a5a633cccc0928c81985b13fa24407a211";
-      sha256 = "0kc2jjjyhnrd934jn7hzfx8kd4z2yq5yblwrxr6xcjjql1vb1n9k";
+      rev =  "161a164844568ebf4bfaa68c90ba3a9f2914dda4";
+      sha256 = "1r0rs76k9zg60i02jlcqxi7m4ivla1xwv3ijwav7pfbyyr1yqhsx";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/jacobsa/crypto";
-      rev =  "d95898ceee0769dac9bf74c46f8f68d3d3d79100";
-      sha256 = "0dgcvms7if672f09y0cj49n711i9r0609p5f1s27i53yah4qlm19";
+      rev =  "9f44e2d11115452dad8f404f029574422855f46a";
+      sha256 = "18c3cx8izxdajq22zdq0n19j9d2l6iickd3mz39j5h96kw7l5qmy";
     };
   }
   {
@@ -37,12 +37,21 @@
     };
   }
   {
+    goPackagePath  = "github.com/sabhiram/go-gitignore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sabhiram/go-gitignore";
+      rev =  "d3107576ba9425fc1c85f4b3569c4631b805a02e";
+      sha256 = "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l";
+    };
+  }
+  {
     goPackagePath  = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "8dd112bcdc25174059e45e07517d9fc663123347";
-      sha256 = "0gbcz7gxmgg88s28vb90dsp1vdq0har7zvg2adsqbp8bm05x9q6b";
+      rev =  "a1f597ede03a7bef967a422b5b3a5bd08805a01e";
+      sha256 = "0yiczljll72ip2vkxgd6052rhpaba37a68vf6si3v8s8s3g870lc";
     };
   }
   {
diff --git a/nixpkgs/pkgs/tools/filesystems/gocryptfs/fix-unix2syscall_darwin.go-build-failure.patch b/nixpkgs/pkgs/tools/filesystems/gocryptfs/fix-unix2syscall_darwin.go-build-failure.patch
deleted file mode 100644
index 1adbc2c4d232..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/gocryptfs/fix-unix2syscall_darwin.go-build-failure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/internal/syscallcompat/unix2syscall_darwin.go
-+++ b/internal/syscallcompat/unix2syscall_darwin.go
-@@ -19,8 +19,8 @@ func Unix2syscall(u unix.Stat_t) syscall.Stat_t {
- 		Size:      u.Size,
- 		Blksize:   u.Blksize,
- 		Blocks:    u.Blocks,
--		Atimespec: syscall.Timespec(u.Atimespec),
--		Mtimespec: syscall.Timespec(u.Mtimespec),
--		Ctimespec: syscall.Timespec(u.Ctimespec),
-+		Atimespec: syscall.Timespec(u.Atim),
-+		Mtimespec: syscall.Timespec(u.Mtim),
-+		Ctimespec: syscall.Timespec(u.Ctim),
- 	}
- }
diff --git a/nixpkgs/pkgs/tools/filesystems/grive2/default.nix b/nixpkgs/pkgs/tools/filesystems/grive2/default.nix
index 59ee358e028a..f325fc97e32c 100644
--- a/nixpkgs/pkgs/tools/filesystems/grive2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/irods/default.nix b/nixpkgs/pkgs/tools/filesystems/irods/default.nix
index 14790ae70870..b6099c099f32 100644
--- a/nixpkgs/pkgs/tools/filesystems/irods/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/irods/default.nix
@@ -30,11 +30,8 @@ in rec {
     #                         but we don't use /usr with nix, so remove only 2 items.
     patches = [ ./irods_root_path.patch ];
 
-    NIX_CFLAGS_COMPILE = [
-      # fix build with recent llvm versions
-      "-Wno-deprecated-register"
-      "-Wno-deprecated-declarations"
-    ];
+    # fix build with recent llvm versions
+    NIX_CFLAGS_COMPILE = "-Wno-deprecated-register -Wno-deprecated-declarations";
 
     preConfigure = common.preConfigure + ''
       patchShebangs ./test
@@ -87,6 +84,7 @@ in rec {
        description = common.meta.description + " CLI clients";
        longDescription = common.meta.longDescription + ''
          This package provides the CLI clients, called 'icommands'.'';
+       broken = true;
      };
   });
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix b/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
index 6a9d68291f2c..3ae898d4ba8a 100644
--- a/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
@@ -1,9 +1,9 @@
 { stdenv
-, fetchzip
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , makeWrapper
-, python
+, python2
 , db
 , fuse
 , asciidoc
@@ -15,25 +15,17 @@
 , pkgconfig
 , judy
 , pam
+, spdlog
 , zlib # optional
 }:
 
-let
-  # See https://github.com/lizardfs/lizardfs/blob/3.12/cmake/Libraries.cmake
-  # We have to download it ourselves, as the build script normally does a download
-  # on-build, which is not good
-  spdlog = fetchzip {
-    name = "spdlog-0.14.0";
-    url = "https://github.com/gabime/spdlog/archive/v0.14.0.zip";
-    sha256 = "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "lizardfs";
   version = "3.12.0";
 
   src = fetchFromGitHub {
-    owner = "lizardfs";
-    repo = "lizardfs";
+    owner = pname;
+    repo = pname;
     rev = "v${version}";
     sha256 = "0zk73wmx82ari3m2mv0zx04x1ggsdmwcwn7k6bkl5c0jnxffc4ax";
   };
@@ -42,26 +34,23 @@ in stdenv.mkDerivation rec {
 
   buildInputs =
     [ db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
-      zlib boost judy pam
+      zlib boost judy pam spdlog python2
     ];
 
   patches = [
-    ./remove-download-external.patch
+    # Use system-provided spdlog instead of downloading an old one (next two patches)
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/lizardfs/raw/d003c371/debian/patches/system-spdlog.patch";
+      sha256 = "1znpqqzb0k5bb7s4d7abfxzn5ry1khz8r76sb808c95cpkw91a9i";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/lizardfs/raw/bfcd5bcf/debian/patches/spdlog.patch";
+      sha256 = "0j44rb816i6kfh3y2qdha59c4ja6wmcnlrlq29il4ybxn42914md";
+    })
   ];
 
-  postUnpack = ''
-    mkdir $sourceRoot/external/spdlog-0.14.0
-    cp -R ${spdlog}/* $sourceRoot/external/spdlog-0.14.0/
-    chmod -R 755 $sourceRoot/external/spdlog-0.14.0/
-  '';
-
-  postInstall = ''
-    wrapProgram $out/sbin/lizardfs-cgiserver \
-        --prefix PATH ":" "${python}/bin"
-  '';
-
   meta = with stdenv.lib; {
-    homepage = https://lizardfs.com;
+    homepage = "https://lizardfs.com";
     description = "A highly reliable, scalable and efficient distributed file system";
     platforms = platforms.linux;
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/filesystems/lizardfs/remove-download-external.patch b/nixpkgs/pkgs/tools/filesystems/lizardfs/remove-download-external.patch
deleted file mode 100644
index 6bbe95197772..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/lizardfs/remove-download-external.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From d3f8111ade372c1eb7f3973031f59198508fb588 Mon Sep 17 00:00:00 2001
-From: Kevin Liu <kevin@potatofrom.space>
-Date: Thu, 23 Aug 2018 10:31:42 -0400
-Subject: [PATCH] Remove download_external for spdlog
-
----
- cmake/Libraries.cmake | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/cmake/Libraries.cmake b/cmake/Libraries.cmake
-index 1f951e59..2134444a 100644
---- a/cmake/Libraries.cmake
-+++ b/cmake/Libraries.cmake
-@@ -7,11 +7,6 @@ if(ENABLE_TESTS)
-                     "ef5e700c8a0f3ee123e2e0209b8b4961")
- endif()
- 
--download_external(SPDLOG "spdlog-0.14.0"
--                  "https://github.com/gabime/spdlog/archive/v0.14.0.zip"
--                  "f213d83c466aa7044a132e2488d71b11"
--                  "spdlog-1")
--
- # Find standard libraries
- find_package(Socket REQUIRED)
- find_package(Threads REQUIRED)
diff --git a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
index 43c7c167b5ef..a7c9421f46ad 100644
--- a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mergerfs";
-  version = "2.28.1";
+  version = "2.28.3";
 
   src = fetchFromGitHub {
     owner = "trapexit";
     repo = pname;
     rev = version;
-    sha256 = "18yc80ccpqf785gah5xw6jg5524wfra8bf3pcjr7idzdz4ca7nvf";
+    sha256 = "1w6p3svc2yknp6swqg8lax6n9b31lyplb3j7r8nv14hbq4hymylx";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
index 1e89b5729c70..5d3c2d15fb2d 100644
--- a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.105";
+  version = "3.0.109";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wphpdll0j4i6d4yxykaz2bamv83y0sj7j3cfv4br1zamdyprfwx";
+    sha256 = "1pwackc511fzx28w3an5qk738ykhpspvc1063w2hv901f213xjzw";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix b/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
index 049a61658743..3b355c92226b 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchurl, libuuid, lzo, zlib, acl }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, cmocka, acl, libuuid, lzo, zlib, zstd }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "mtd-utils";
-  version = "1.5.2";
+  version = "2.1.1";
 
   src = fetchurl {
-    url = ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.5.2.tar.bz2;
-    sha256 = "007lhsd8yb34l899r4m37whhzdw815cz4fnjbpnblfha524p7dax";
+    url = "ftp://ftp.infradead.org/pub/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd";
   };
 
-  patchPhase = ''
-    sed -i -e s,/usr/local,, -e s,/usr,$out, common.mk
-  '';
+  nativeBuildInputs = [ autoreconfHook pkgconfig ] ++ stdenv.lib.optional doCheck cmocka;
+  buildInputs = [ acl libuuid lzo zlib zstd ];
 
-  buildInputs = [ libuuid lzo zlib acl ];
+  configureFlags = [
+    (stdenv.lib.enableFeature doCheck "unit-tests")
+    (stdenv.lib.enableFeature doCheck "tests")
+  ];
+  enableParallelBuilding = true;
+
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   meta = {
     description = "Tools for MTD filesystems";
     license = stdenv.lib.licenses.gpl2Plus;
-    homepage = http://www.linux-mtd.infradead.org/;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    homepage = "http://www.linux-mtd.infradead.org/";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 48a72c5dd625..da2dff6b77a9 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -3,6 +3,7 @@
 { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock
 , libselinux, cryptsetup, multipath_tools, lsof, utillinux
 , useNixUdev ? true, systemd ? null
+# useNixUdev is here for bw compatibility
 }:
 
 assert useNixUdev -> systemd != null;
@@ -28,7 +29,6 @@ buildPythonApplication rec {
     }' blivet/formats/__init__.py
     sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
     sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py
-  '' + stdenv.lib.optionalString useNixUdev ''
     sed -i -e '/find_library/,/find_library/ {
       c libudev = "${systemd.lib}/lib/libudev.so.1"
     }' blivet/pyudev.py
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
index 7c92dc95268e..804b052b61ae 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
   #patches = [ ./purity.patch ];
 
   # To prevent make install from failing.
-  preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
+  installFlags = [ "OWNER=" "GROUP=" "confdir=${placeholder "out"}/etc" ];
 
   # Install systemd stuff.
   #installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
index 8a1fce780378..9d067359c44a 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/nixpart/default.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/default.nix
index 8f59ff809a83..809c5256873e 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
index 3660649553d5..1d402090355f 100644
--- a/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     "--enable-posix-acls"
     "--enable-xattr-mappings"
     "--${if crypto then "enable" else "disable"}-crypto"
+    "--enable-extras"
   ];
 
   postInstall =
diff --git a/nixpkgs/pkgs/tools/filesystems/orangefs/default.nix b/nixpkgs/pkgs/tools/filesystems/orangefs/default.nix
new file mode 100644
index 000000000000..37f4026799b6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/orangefs/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, bison, flex, autoreconfHook
+, openssl, db, attr, perl, tcsh
+} :
+
+stdenv.mkDerivation rec {
+  pname = "orangefs";
+  version = "2.9.7";
+
+  src = fetchurl {
+    url = "http://download.orangefs.org/current/source/orangefs-${version}.tar.gz";
+    sha256 = "15669f5rcvn44wkas0mld0qmyclrmhbrw4bbbp66sw3a12vgn4sm";
+  };
+
+  nativeBuildInputs = [ bison flex perl autoreconfHook ];
+  buildInputs = [ openssl db attr tcsh ];
+
+  postPatch = ''
+    # Issue introduced by attr-2.4.48
+    substituteInPlace src/apps/user/ofs_setdirhint.c --replace attr/xattr.h sys/xattr.h
+
+    # Do not try to install empty sysconfdir
+    substituteInPlace Makefile.in --replace 'install -d $(sysconfdir)' ""
+
+    # perl interpreter needs to be fixed or build fails
+    patchShebangs ./src/apps/admin/pvfs2-genconfig
+
+    # symlink points to a location in /usr
+    rm ./src/client/webpack/ltmain.sh
+  '';
+
+  configureFlags = [
+    "--sysconfdir=/etc/orangefs"
+    "--enable-shared"
+    "--enable-fast"
+    "--with-ssl=${stdenv.lib.getDev openssl}"
+  ];
+
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    # install useful helper scripts
+    install examples/keys/pvfs2-gen-keys.sh $out/bin
+  '';
+
+  postFixup = ''
+    for f in pvfs2-getmattr pvfs2-setmattr; do
+      substituteInPlace $out/bin/$f --replace '#!/bin/csh' '#!${tcsh}/bin/tcsh'
+    done
+
+    sed -i 's:openssl:${openssl}/bin/openssl:' $out/bin/pvfs2-gen-keys.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Scale-out network file system for use on high-end computing systems";
+    homepage = "http://www.orangefs.org/";
+    license = with licenses;  [ asl20 bsd3 gpl2 lgpl21 lgpl21Plus openldap ];
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ markuskowa ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/reiser4progs/default.nix b/nixpkgs/pkgs/tools/filesystems/reiser4progs/default.nix
index c9af30f873b4..dbc391d00828 100644
--- a/nixpkgs/pkgs/tools/filesystems/reiser4progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/reiser4progs/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, libaal}:
 
-let version = "1.2.1"; in
+let version = "2.0.0"; in
 stdenv.mkDerivation rec {
   pname = "reiser4progs";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/reiser4/reiser4-utils/${pname}-${version}.tar.gz";
-    sha256 = "03vdqvpyd48wxrpqpb9kg76giaffw9b8k334kr4wc0zxgybknhl7";
+    sha256 = "00kx9prz3d5plp1hn4xdkkd99cw42sanlsjnjhj0fsrlmi9yfs8n";
   };
 
   buildInputs = [libaal];
diff --git a/nixpkgs/pkgs/tools/filesystems/s3backer/default.nix b/nixpkgs/pkgs/tools/filesystems/s3backer/default.nix
index 73f88964f2c8..186da6255ebf 100644
--- a/nixpkgs/pkgs/tools/filesystems/s3backer/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/s3backer/default.nix
@@ -4,10 +4,10 @@
 
 stdenv.mkDerivation rec {
   pname = "s3backer";
-  version = "1.5.2";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
-    sha256 = "1axxnhhf335xckwn43csqmvf1454izbk9dglc3r7isrk0lz1ricc";
+    sha256 = "1228qlfgz48k9vv72hrz488zg73zls99cppb9vmikc0pzv1xndsx";
     rev = version;
     repo = "s3backer";
     owner = "archiecobbs";
diff --git a/nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix b/nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix
index c393c65a7207..36ac3630e54d 100644
--- a/nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     cd squashfs-tools
   '';
 
-  installFlags = "INSTALL_DIR=\${out}/bin";
+  installFlags = [ "INSTALL_DIR=\${out}/bin" ];
 
   makeFlags = [ "XZ_SUPPORT=1" ]
     ++ stdenv.lib.optional lz4Support "LZ4_SUPPORT=1";
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch b/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch
new file mode 100644
index 000000000000..2834b046cef2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
new file mode 100644
index 000000000000..727e257a4861
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix b/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
index 15a535eed3ba..f02a913bc257 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
 
   preBuild = "cd squashfs-tools";
 
-  installFlags = "INSTALL_DIR=\${out}/bin";
+  installFlags = [ "INSTALL_DIR=\${out}/bin" ];
 
   makeFlags = [ "XZ_SUPPORT=1" "ZSTD_SUPPORT=1" ]
     ++ stdenv.lib.optional lz4Support "LZ4_SUPPORT=1";
diff --git a/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix b/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 4a1215397be6..018dfe7858e3 100644
--- a/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja, docutils
+{ stdenv, fetchFromGitHub
+, meson, pkgconfig, ninja, docutils, makeWrapper
 , fuse3, glib
 , which, python3Packages
+, openssh
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.2";
+  version = "3.7.0";
   pname = "sshfs-fuse";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "sshfs";
     rev = "sshfs-${version}";
-    sha256 = "0gvk8snivpi2sjidjnd9ypc66ny7lr0z9v4swl56rwjv539dkbx2";
+    sha256 = "119qvjaai3nqs2psqk2kv4gxjchrnrcfnmlwk7yxnj3v59pgyxhv";
   };
 
-  nativeBuildInputs = [ meson pkgconfig ninja docutils ];
+  nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ];
   buildInputs = [ fuse3 glib ];
   checkInputs = [ which python3Packages.pytest ];
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString
     (stdenv.hostPlatform.system == "i686-linux")
     "-D_FILE_OFFSET_BITS=64";
 
   postInstall = ''
     mkdir -p $out/sbin
     ln -sf $out/bin/sshfs $out/sbin/mount.sshfs
+    wrapProgram $out/bin/sshfs --prefix PATH : "${openssh}/bin"
   '';
 
   #doCheck = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix b/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
index 436037245bbb..d8d414500793 100644
--- a/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -1,5 +1,5 @@
 { stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python
-, lib, valgrind, makeWrapper, fetchFromGitHub }:
+, lib, valgrind, makeWrapper, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation {
   src = fetchFromGitHub {
@@ -15,6 +15,14 @@ stdenv.mkDerivation {
 
   buildInputs = [ which attr makeWrapper python ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/xtreemfs/xtreemfs/commit/ebfdc2fff56c09f310159d92026883941e42a953.patch";
+      sha256 = "075w00ad88qm6xpm5679m0gfzkrc53w17sk7ycybf4hzxjs29ygy";
+      name = "xtreemfs-fix-for-openssl_1_1";
+    })
+  ];
+
   preConfigure = ''
     export JAVA_HOME=${jdk}
     export ANT_HOME=${ant}
@@ -66,6 +74,5 @@ stdenv.mkDerivation {
     maintainers = with lib.maintainers; [ raskin matejc ];
     platforms = lib.platforms.linux;
     license = lib.licenses.bsd3;
-    broken = true;  # does not support openssl 1.1
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/appleseed/default.nix b/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
index d7603c42fca9..cafe0bb7b11a 100644
--- a/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
     osl seexpr makeWrapper
   ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = toString [
     "-I${openexr.dev}/include/OpenEXR"
     "-I${ilmbase.dev}/include/OpenEXR"
     "-I${openimageio.dev}/include/OpenImageIO"
@@ -33,6 +33,7 @@ in stdenv.mkDerivation rec {
     "-Wno-error=class-memaccess"
     "-Wno-error=maybe-uninitialized"
     "-Wno-error=catch-value"
+    "-Wno-error=stringop-truncation"
   ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
index 160b77229b3c..1326d0454591 100644
--- a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
@@ -94,9 +94,11 @@ stdenv.mkDerivation rec {
     libXrender libXScrnSaver libXdmcp libXau openssl
   ];
 
-  buildFlags = "PREFIX=$(out) all";
+  buildFlags = [ "all" ];
 
-  installFlags = "PREFIX=$(out)";
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+  ];
 
   # Install udev rules, but remove lines that set up the udev-acl
   # stuff, since that is handled by udev's own rules (70-udev-acl.rules)
diff --git a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix b/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
index 1d77bfe42500..31bdba26783e 100644
--- a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
+++ b/nixpkgs/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.61";
+  pname = "asymptote";
 
-  src = fetchurl {
-    inherit (s) url sha256;
+  src = fetchFromGitHub {
+    owner = "vectorgraphics";
+    repo = pname;
+    rev = version;
+    sha256 = "0nblcxqzaxv1286zl2fjkivgp478l0nf3m0wnk78rd99lscjlw71";
   };
 
-  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
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-I${boehmgc.dev}/include/gc" ];
+  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/nixpkgs/pkgs/tools/graphics/dcraw/default.nix b/nixpkgs/pkgs/tools/graphics/dcraw/default.nix
index e4ceff36f92a..11ff4b743ddd 100644
--- a/nixpkgs/pkgs/tools/graphics/dcraw/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/dpic/default.nix b/nixpkgs/pkgs/tools/graphics/dpic/default.nix
index f21b84c15218..62fa83800cba 100644
--- a/nixpkgs/pkgs/tools/graphics/dpic/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/dpic/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "dpic";
-  version = "2016.01.12";
+  version = "2019.11.30";
 
   src = fetchurl {
     url = "https://ece.uwaterloo.ca/~aplevich/dpic/${pname}-${version}.tar.gz";
-    sha256 = "0iwwf8shgm8n4drz8mndvk7jga93yy8plnyby3lgk8376g5ps6cz";
+    sha256 = "0rgd31mdbaqbm9rz49872s17n25n5ajxcn61xailz3f0kzr4f3dg";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
 
-  makeFlags = "CC=${stdenv.cc.outPath}/bin/cc";
+  makeFlags = [ "CC=${stdenv.cc.outPath}/bin/cc" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/tools/graphics/enblend-enfuse/default.nix b/nixpkgs/pkgs/tools/graphics/enblend-enfuse/default.nix
index 79c905756537..8c46e8154c10 100644
--- a/nixpkgs/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/facedetect/default.nix b/nixpkgs/pkgs/tools/graphics/facedetect/default.nix
index aab2e111e85f..cb697148d045 100644
--- a/nixpkgs/pkgs/tools/graphics/facedetect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/fim/default.nix b/nixpkgs/pkgs/tools/graphics/fim/default.nix
index 296ba43a5ed7..3fc82a9c72a0 100644
--- a/nixpkgs/pkgs/tools/graphics/fim/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/fim/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     ++ optional jpegSupport libjpeg
     ++ optional pngSupport libpng;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional x11Support "-lSDL";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString x11Support "-lSDL";
 
   meta = with stdenv.lib; {
     description = "A lightweight, highly customizable and scriptable image viewer";
diff --git a/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix b/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
index 7d2323c6d480..9b3836b9decc 100644
--- a/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
@@ -11,12 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "0rffpzxcak19k6cngpxn73khvm3z1gswrqs90ycdzzb53p05ddas";
   };
 
-  buildInputs = optional gifview [ xorgproto libXt libX11 ];
+  buildInputs = optionals gifview [ xorgproto libXt libX11 ];
 
-  configureFlags = []
-    ++ optional (!gifview) [ "--disable-gifview" ];
+  configureFlags = optional (!gifview) "--disable-gifview";
 
-  LDFLAGS = optional static "-static";
+  LDFLAGS = optionalString static "-static";
 
   doCheck = true;
   checkPhase = ''
@@ -28,6 +27,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.lcdf.org/gifsicle/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu zimbatm ];
+    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/gifski/default.nix b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
index 5875f64f7ef3..f5076801326c 100644
--- a/nixpkgs/pkgs/tools/graphics/gifski/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "0.8.7";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "0x41gyc5jk45jlx0hcq80j5gj1f66lcmbclqyx70l43ggslsi26f";
+    sha256 = "0dl5725imb2a2s0fskdqlnh2207ryyi2v5gz37cr5mf6khz898p2";
   };
 
-  cargoSha256 = "1pik6jcxg3amb5widpxn8j9szghbrhl0wsxjisizas3033xzrhcf";
+  cargoSha256 = "0wngsd0pmmxlwzxmyp8pvphh1ijs5s9k1mkkv688xpc4b8w0z10j";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/glee/default.nix b/nixpkgs/pkgs/tools/graphics/glee/default.nix
index ae6291811a4a..a68e64c0894c 100644
--- a/nixpkgs/pkgs/tools/graphics/glee/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix b/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
index cb0862c63736..a8dd35ce7b04 100644
--- a/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
@@ -7,7 +7,7 @@
 , fetchFromGitLab
 , cmake
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -120,7 +120,7 @@ mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
     curl
diff --git a/nixpkgs/pkgs/tools/graphics/gmic/default.nix b/nixpkgs/pkgs/tools/graphics/gmic/default.nix
index c6781310bdb5..3f181d12ba07 100644
--- a/nixpkgs/pkgs/tools/graphics/gmic/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gmic/default.nix
@@ -3,7 +3,7 @@
 , cmake
 , ninja
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gmic";
-  version = "2.7.1";
+  version = "2.7.5";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "1sxgmrxv1px07h5m7dcdg24c6x39ifjbc1fmz8p2ah91pm57h7n7";
+    sha256 = "008lpjm3w5hzfccam6qf0rizdg3a9cqrizhr7vrpskmbr1j451d6";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
   ];
diff --git a/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix b/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
index 7e823711e331..0ac1c1a21553 100644
--- a/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
@@ -11,19 +11,20 @@
 , fontconfig ? null
 , gnused ? null
 , coreutils ? null
-, withQt ? false, qttools, qtbase, qtsvg
+, withQt ? false, mkDerivation, qttools, qtbase, qtsvg
 }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
 let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
-stdenv.mkDerivation rec {
-  name = "gnuplot-5.2.7";
+(if withQt then mkDerivation else stdenv.mkDerivation) rec {
+  pname = "gnuplot";
+  version = "5.2.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "1vglp4la40f5dpj0zdj63zprrkyjgzy068p35bz5dqxjyczm1zlp";
+    url = "mirror://sourceforge/gnuplot/${pname}-${version}.tar.gz";
+    sha256 = "0dxc52d17mpyb2xm24da1nvhlacryv0irwa0q5l1cjj0rx67d9k0";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig texinfo ] ++ lib.optional withQt qttools;
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
index cd2302efd165..3b9d8a4cca5d 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
@@ -7,7 +7,7 @@
 assert stdenv.isDarwin -> ApplicationServices != null;
 
 let
-  inherit (stdenv.lib) optionals optionalString;
+  inherit (stdenv.lib) optional optionals optionalString;
   raw_patch =
     # https://gitlab.com/graphviz/graphviz/issues/1367 CVE-2018-10196
     fetchpatch {
@@ -17,11 +17,13 @@ let
       excludes = ["tests/*"]; # we don't run them and they don't apply
     };
   # the patch needs a small adaption for older versions
-  patch = if stdenv.lib.versionAtLeast version "2.37" then raw_patch else
+  patchToUse = if stdenv.lib.versionAtLeast version "2.37" then raw_patch else
   stdenv.mkDerivation {
     inherit (raw_patch) name;
     buildCommand = "sed s/dot_root/agroot/g ${raw_patch} > $out";
   };
+  # 2.42 has the patch included
+  patches = optional (stdenv.lib.versionOlder version "2.42") patchToUse;
 in
 
 stdenv.mkDerivation {
@@ -50,11 +52,9 @@ stdenv.mkDerivation {
   configureFlags = [
     "--with-ltdl-lib=${libtool.lib}/lib"
     "--with-ltdl-include=${libtool}/include"
-  ] ++ stdenv.lib.optional (xorg == null) [ "--without-x" ];
+  ] ++ stdenv.lib.optional (xorg == null) "--without-x";
 
-  patches = [
-    patch
-  ];
+  inherit patches;
 
   postPatch = ''
     for f in $(find . -name Makefile.in); do
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
index 7249a6cdaad7..c79fe3aaf4d5 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
@@ -1,5 +1,5 @@
 import ./base.nix rec {
-  rev = "67cd2e5121379a38e0801cc05cce5033f8a2a609";
-  version = "2.40.1";
-  sha256 = "1xjqq3g2n6jgwp5xzyvibgrxawlskkpam69fjjz9ksrrjas2qwzj";
+  rev = "da4c2ec6f24ca1b6d1752c6b5bc4389e55682147"; # use rev as tags have disappeared before
+  version = "2.42.2";
+  sha256 = "0lacl11amyvj04j78m63qifljl4c0nkyy50z4bkg8mg9j4hjdy0x";
  }
diff --git a/nixpkgs/pkgs/tools/graphics/ifm/default.nix b/nixpkgs/pkgs/tools/graphics/ifm/default.nix
new file mode 100644
index 000000000000..c6e8df31dd08
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ifm/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchzip, autoreconfHook, bison, flex, help2man, perl, tk }:
+
+stdenv.mkDerivation rec {
+  pname = "ifm";
+  version = "2015-11-08";
+
+  src = fetchzip {
+    url = "https://bitbucket.org/zondo/ifm/get/dca0774e4d3a.zip";
+    sha256 = "14af21qjd5jvsscm6vxpsdrnipdr33g6niagzmykrhyfhwcbjahi";
+  };
+
+  nativeBuildInputs = [ autoreconfHook bison flex help2man ];
+
+  buildInputs = [ perl tk ]; # perl and wish are not run but written as shebangs.
+
+  enableParallelBuilding = false; # ifm-scan.l:16:10: fatal error: ifm-parse.h: No such file or directory
+
+  meta = with lib; {
+    homepage = https://bitbucket.org/zondo/ifm;
+    description = "Interactive fiction mapper";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/jhead/default.nix b/nixpkgs/pkgs/tools/graphics/jhead/default.nix
index a2592d5522b9..13df4ede8ecf 100644
--- a/nixpkgs/pkgs/tools/graphics/jhead/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/jhead/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg }:
+{ stdenv, fetchurl, fetchpatch, libjpeg }:
 
 stdenv.mkDerivation rec {
   pname = "jhead";
@@ -9,6 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "1hn0yqcicq3qa20h1g313l1a671r8mccpb9gz0w1056r500lw6c2";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-1010301.patch";
+      url = "https://sources.debian.org/data/main/j/jhead/1:3.03-3/debian/patches/36_CVE-2019-1010301";
+      sha256 = "1vvrg50z5y7sjhfi973wh1q1v79sqp7hk5d4z0dlnx3fqgkjrx7q";
+    })
+    (fetchpatch {
+      name = "CVE-2019-1010302.patch";
+      url = "https://sources.debian.org/data/main/j/jhead/1:3.03-3/debian/patches/37_CVE-2019-1010302";
+      sha256 = "1h11mpsi7hpwbi8kpnkjwn6zpqf88f132h0rsg8sggcs3vva2x8y";
+    })
+  ];
+
   buildInputs = [ libjpeg ];
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/tools/graphics/jpegexiforient/default.nix b/nixpkgs/pkgs/tools/graphics/jpegexiforient/default.nix
new file mode 100644
index 000000000000..9397f46fd2c5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/jpegexiforient/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchurl }:
+stdenv.mkDerivation {
+  pname = "jpegexiforient";
+  version = "unstable-2002-02-17";
+  src = fetchurl {
+    url = "http://sylvana.net/jpegcrop/jpegexiforient.c";
+    sha256 = "1v0f42cvs0397g9v46p294ldgxwbp285npg6npgnlnvapk6nzh5s";
+  };
+  unpackPhase = ''
+    cp $src jpegexiforient.c
+  '';
+  buildPhase = ''
+    cc -o jpegexiforient jpegexiforient.c
+  '';
+  installPhase = ''
+    install -Dt $out/bin jpegexiforient
+  '';
+  meta = with lib; {
+    description = "Utility program to get and set the Exif Orientation Tag";
+    homepage = "http://sylvana.net/jpegcrop/exif_orientation.html";
+    # Website doesn't mention any license, but I think it's safe to assume this
+    # to be free since it's from IJG, the current maintainers of libjpeg
+    license = licenses.free;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ infinisil ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/kst/default.nix b/nixpkgs/pkgs/tools/graphics/kst/default.nix
index 24d678e11422..480ae328cd38 100644
--- a/nixpkgs/pkgs/tools/graphics/kst/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/kst/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ qtbase gsl getdata netcdf muparser matio ];
 
-  cmakeFlags = "-Dkst_qt5=1 -Dkst_release=1";
+  cmakeFlags = [ "-Dkst_qt5=1" "-Dkst_release=1" ];
 
   postInstall = ''
     mkdir -p $out
diff --git a/nixpkgs/pkgs/tools/graphics/logstalgia/default.nix b/nixpkgs/pkgs/tools/graphics/logstalgia/default.nix
index 1f1da8df3f2b..aed8b0573bae 100644
--- a/nixpkgs/pkgs/tools/graphics/logstalgia/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/luxcorerender/default.nix b/nixpkgs/pkgs/tools/graphics/luxcorerender/default.nix
index 4826bd64984b..6a0db954da64 100644
--- a/nixpkgs/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/maim/default.nix b/nixpkgs/pkgs/tools/graphics/maim/default.nix
index 63758e23b150..8f3a4dc5c659 100644
--- a/nixpkgs/pkgs/tools/graphics/maim/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/maim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, zlib, libpng, libjpeg, libGLU_combined, glm
+, zlib, libpng, libjpeg, libGLU, libGL, glm
 , libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs =
-    [ zlib libpng libjpeg libGLU_combined glm
+    [ zlib libpng libjpeg libGLU libGL glm
       libX11 libXext libXfixes libXrandr libXcomposite slop icu ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/graphics/nifskope/default.nix b/nixpkgs/pkgs/tools/graphics/nifskope/default.nix
index 0e545fbfab9f..65ccfecedd68 100644
--- a/nixpkgs/pkgs/tools/graphics/nifskope/default.nix
+++ b/nixpkgs/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,7 +18,12 @@ 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";
+    })
+  ] ++ (stdenv.lib.optional stdenv.isAarch64 ./no-sse-on-arm.patch);
 
   buildInputs = [ qtbase qttools libGLU.dev ];
   nativeBuildInputs = [ qmake wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/tools/graphics/nifskope/no-sse-on-arm.patch b/nixpkgs/pkgs/tools/graphics/nifskope/no-sse-on-arm.patch
new file mode 100644
index 000000000000..452fb1a76d5d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/nifskope/no-sse-on-arm.patch
@@ -0,0 +1,19 @@
+diff --git a/NifSkope.pro b/NifSkope.pro
+index cc29fc5..b17bb6e 100644
+--- a/NifSkope.pro
++++ b/NifSkope.pro
+@@ -428,13 +428,10 @@ win32 {
+ 	#  Optimization flags
+ 	QMAKE_CXXFLAGS_DEBUG -= -O0 -g
+ 	QMAKE_CXXFLAGS_DEBUG *= -Og -g3
+-	QMAKE_CXXFLAGS_RELEASE *= -O3 -mfpmath=sse
++	QMAKE_CXXFLAGS_RELEASE *= -O3
+ 
+ 	# C++11 Support
+ 	QMAKE_CXXFLAGS_RELEASE *= -std=c++14
+-
+-	#  Extension flags
+-	QMAKE_CXXFLAGS_RELEASE *= -msse2 -msse
+ }
+ 
+ win32 {
diff --git a/nixpkgs/pkgs/tools/graphics/oxipng/default.nix b/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
index 58743d948b4a..0bbd7c21aa6e 100644
--- a/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
@@ -1,21 +1,23 @@
 { stdenv, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
-  version = "2.2.2";
+  version = "2.3.0";
   pname = "oxipng";
 
   src = fetchFromGitHub {
     owner = "shssoichiro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07amczmyqs09zfp564nk8jy1n65y8pvk89qq6jv5k8npai8zvixn";
+    sha256 = "1cx026g1gdvk4qmnrbsmg46y2lizx0wqny25hhdjnh9pwzjc77mh";
   };
 
-  cargoSha256 = "1fkghjzsyg27n6k2yki0yhbdmmb1whgy5fjpydpjm4yv448nhhbm";
+  cargoSha256 = "1213mg7xhv9ymgm0xqdai5wgammz9n07whw2d42m83208k94zss3";
 
   # https://crates.io/crates/cloudflare-zlib#arm-vs-nightly-rust
   cargoBuildFlags = [ "--features=cloudflare-zlib/arm-always" ];
 
+  doCheck = !stdenv.isAarch64 && !stdenv.isDarwin;
+
   meta = with stdenv.lib; {
     homepage = https://github.com/shssoichiro/oxipng;
     description = "A multithreaded lossless PNG compression optimizer";
diff --git a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
index 08c5f308f5c1..6a0385614e87 100644
--- a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, cmake, pkgconfig
-, openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat
-, fftw, gsl, libexif, perl, opencv, qt5
+{ stdenv, fetchurl, cmake, pkgconfig, darwin
+, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
+, fftw, gsl, libexif, perl, opencv, qt5, netpbm
 }:
 
 stdenv.mkDerivation rec {
@@ -14,17 +14,28 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "man"];
 
-  cmakeFlags = ''
-    -DWITH_MATLAB=false 
+  cmakeFlags = [ "-DWITH_MATLAB=false" ];
+
+  preConfigure = ''
+    rm cmake/FindNETPBM.cmake
+    echo "SET(NETPBM_LIBRARY `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
+    echo "SET(NETPBM_LIBRARIES `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
+    echo "SET(NETPBM_INCLUDE_DIR ${netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake
+    echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake
+    echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake
   '';
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
-    openexr zlib imagemagick libGLU_combined freeglut fftwFloat
-    fftw gsl libexif perl opencv qt5.qtbase
-  ];
+    openexr zlib imagemagick fftwFloat
+    fftw gsl libexif perl opencv qt5.qtbase netpbm
+  ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
+    OpenGL GLUT
+  ]) else [
+    libGLU libGL freeglut
+  ]);
 
-  patches = [ ./threads.patch ./pfstools.patch ];
+  patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
 
   meta = with stdenv.lib; {
     homepage = http://pfstools.sourceforge.net/;
diff --git a/nixpkgs/pkgs/tools/graphics/pfstools/pfsalign.patch b/nixpkgs/pkgs/tools/graphics/pfstools/pfsalign.patch
new file mode 100644
index 000000000000..f079415ddcba
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/pfstools/pfsalign.patch
@@ -0,0 +1,12 @@
+--- a/src/camera/CMakeLists.txt 2017-11-13 18:38:27.000000000 +0100
++++ b/src/camera/CMakeLists.txt 2018-12-30 14:55:30.235571520 +0100
+@@ -9,7 +9,7 @@ target_link_libraries(${TRG} pfs)
+ install (TARGETS ${TRG} DESTINATION bin)
+ install (FILES ${TRG}.1 DESTINATION ${MAN_DIR})
+ 
+-if( OpenCV_FOUND AND EXIF_FOUND )
++if( OpenCV_FOUND AND MYPKG_FOUND )
+ 
+        set(TRG pfsalign)
+        add_executable(${TRG} ${TRG}.cpp  "${GETOPT_OBJECT}")
+
diff --git a/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix b/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
index 6814a06e3b95..f7bd8d520c87 100644
--- a/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   makefile = "Makefile.unx";
-  makeFlags = "ZPATH=${zlib.static}/lib";
+  makeFlags = [ "ZPATH=${zlib.static}/lib" ];
 
   buildInputs = [ zlib ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/povray/default.nix b/nixpkgs/pkgs/tools/graphics/povray/default.nix
index d2042540d713..ead44897968f 100644
--- a/nixpkgs/pkgs/tools/graphics/povray/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/povray/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "povray";
-  version = "3.7.0.8";
+  version = "3.8.0-x.10064738";
 
   src = fetchFromGitHub {
     owner = "POV-Ray";
     repo = "povray";
     rev = "v${version}";
-    sha256 = "1q114n4m3r7qy3yn954fq7p46rg7ypdax5fazxr9yj1jklf1lh6z";
+    sha256 = "0hy5a3q5092szk2x3s9lpn1zkszgq9bp15rxzdncxlvnanyzsasf";
   };
 
 
diff --git a/nixpkgs/pkgs/tools/graphics/quirc/default.nix b/nixpkgs/pkgs/tools/graphics/quirc/default.nix
index 9891ea5e52b0..4b610ebbfef2 100644
--- a/nixpkgs/pkgs/tools/graphics/quirc/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/quirc/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     mkdir -p "$out"/{bin,lib,include}
     find . -maxdepth 1 -type f -perm -0100 -exec cp '{}' "$out"/bin ';'
   '';
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   meta = {
     inherit (s) version;
     description = ''A small QR code decoding library'';
diff --git a/nixpkgs/pkgs/tools/graphics/scrot/default.nix b/nixpkgs/pkgs/tools/graphics/scrot/default.nix
index 2f4862b06458..413bc8c52f1e 100644
--- a/nixpkgs/pkgs/tools/graphics/scrot/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/scrot/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ giblib xlibsWrapper libXfixes libXcursor ];
 
   meta = with stdenv.lib; {
-    homepage = http://linuxbrit.co.uk/scrot/;
+    homepage = https://github.com/resurrecting-open-source-projects/scrot;
     description = "A command-line screen capture utility";
     platforms = platforms.linux;
     maintainers = with maintainers; [ globin ];
diff --git a/nixpkgs/pkgs/tools/graphics/shotgun/default.nix b/nixpkgs/pkgs/tools/graphics/shotgun/default.nix
new file mode 100644
index 000000000000..1ab47dfce2de
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/shotgun/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, libXrandr, libX11 }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "shotgun";
+  version = "2.2.0";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libXrandr libX11 ];
+
+  src = fetchFromGitHub {
+    owner = "neXromancers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "tJnF1X+NI1hP0J/n3rGy8TD/yIveqRPVlJvJvn0C7Do=";
+  };
+
+  cargoSha256 = "TL2WehcCwygLMVVrBHOX1HgVtDhgVsIgUeiadEjCj1o=";
+
+  meta = with lib; {
+    description = "Minimal X screenshot utility";
+    homepage = "https://github.com/neXromancers/shotgun";
+    license = with licenses; [ mpl20 ];
+    maintainers = with maintainers; [ lumi ];
+    platforms = platforms.linux;
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix b/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
index ecf982c21cda..24736b8f0fff 100644
--- a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svgbob";
-  version = "unstable-2018-10-05";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "ivanceras";
     repo = pname;
-    rev = "43fb0364e989d0e9a7656b148c947d47cc769622";
-    sha256 = "1imjj57dx1af3wrs214yzaa2qfk8ld00nj3nx4z450gw2xjjj1gw";
+    rev = "0febc4377134a2ea3b3cd43ebdf5ea688a0e7432";
+    sha256 = "1n0w5b3fjgbczy1iw52172x1p3y1bvw1qpz77fkaxkhrkgfd7vwr";
   };
 
   sourceRoot = "source/svgbob_cli";
diff --git a/nixpkgs/pkgs/tools/graphics/vips/default.nix b/nixpkgs/pkgs/tools/graphics/vips/default.nix
index ad352c04ad91..e551fc382fbf 100644
--- a/nixpkgs/pkgs/tools/graphics/vips/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vips/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.8.1";
+  version = "8.8.4";
 
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "1wnfn92rvafx1g9vvhbvxssifzydx9y95kszg6i4c1p5sv5nhfd2";
+    sha256 = "1gw8srjf5r6dhg6g5hh91if302mcr44dzy87mv230ar7027kwwbi";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/nixpkgs/pkgs/tools/graphics/wallutils/default.nix b/nixpkgs/pkgs/tools/graphics/wallutils/default.nix
index 80b90e8e6b21..263425aef1dd 100644
--- a/nixpkgs/pkgs/tools/graphics/wallutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch b/nixpkgs/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
index 00aeed6363e3..77c55b35c96b 100644
--- a/nixpkgs/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/wdisplays/default.nix b/nixpkgs/pkgs/tools/graphics/wdisplays/default.nix
new file mode 100644
index 000000000000..9b003868bd00
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/wdisplays/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, gtk3, epoxy, wayland }:
+stdenv.mkDerivation {
+  pname = "wdisplays";
+  version = "2019-10-26-unstable";
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+
+  buildInputs = [ gtk3 epoxy wayland ];
+
+  src = fetchFromGitHub {
+    owner = "cyclopsian";
+    repo = "wdisplays";
+    rev = "22669edadb8ff3478bdb51ddc140ef6e61e3d9ef";
+    sha256 = "127k5i98km6mh8yw4vf8n44b29kc3n0169xpkdh7yr0rhv6n9cdl";
+  };
+
+  meta = let inherit (stdenv) lib; in {
+    description = "A graphical application for configuring displays in Wayland compositors";
+    homepage = "https://github.com/cyclopsian/wdisplays";
+    maintainers = [ lib.maintainers.lheckemann ];
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/zbar/default.nix b/nixpkgs/pkgs/tools/graphics/zbar/default.nix
index 6423a84badc6..7610b4e56fb0 100644
--- a/nixpkgs/pkgs/tools/graphics/zbar/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/zbar/default.nix
@@ -8,6 +8,7 @@
 , qtbase
 , qtx11extras
 , wrapQtAppsHook
+, wrapGAppsHook
 , gtk3
 , xmlto
 , docbook_xsl
@@ -36,6 +37,7 @@ stdenv.mkDerivation rec {
     autoreconfHook
     docbook_xsl
     wrapQtAppsHook
+    wrapGAppsHook
   ];
 
   buildInputs = [
@@ -51,12 +53,12 @@ stdenv.mkDerivation rec {
   ];
 
   # Disable assertions which include -dev QtBase file paths.
-  NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
+  NIX_CFLAGS_COMPILE = "-DQT_NO_DEBUG";
 
   configureFlags = [
     "--without-python"
   ] ++ (if enableDbus then [
-    "--with-dbusconfdir=${placeholder "out"}/etc"
+    "--with-dbusconfdir=${placeholder "out"}/share"
   ] else [
     "--without-dbus"
   ]) ++ (if enableVideo then [
@@ -71,7 +73,7 @@ stdenv.mkDerivation rec {
   dontWrapGApps = true;
 
   postFixup = lib.optionalString enableVideo ''
-    wrapProgram "$out/bin/zbarcam-gtk" "''${gappsWrapperArgs[@]}"
+    wrapGApp "$out/bin/zbarcam-gtk"
     wrapQtApp "$out/bin/zbarcam-qt"
   '';
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/evdevremapkeys/default.nix b/nixpkgs/pkgs/tools/inputmethods/evdevremapkeys/default.nix
new file mode 100644
index 000000000000..0dc6f6739257
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/evdevremapkeys/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3Packages }:
+
+let
+  pythonPackages = python3Packages;
+
+in pythonPackages.buildPythonPackage rec {
+  name = "${pname}-0.1.0";
+  pname = "evdevremapkeys";
+
+  src = fetchFromGitHub {
+    owner = "philipl";
+    repo = pname;
+    rev = "68fb618b8142e1b45d7a1e19ea9a5a9bbb206144";
+    sha256 = "0c9slflakm5jqd8s1zpxm7gmrrk0335m040d7m70hnsak42jvs2f";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ 
+    pyyaml
+    pyxdg
+    python-daemon
+    evdev
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/philipl/evdevremapkeys";
+    description = "Daemon to remap events on linux input devices";
+    license = licenses.mit;
+    maintainers = [ maintainers.q3k ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
index 4c0a7f0b4109..230b2926561b 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
index e10ffae4a51e..ae9d8d0f53f6 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
@@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ makeWrapper fcitx cmake isocodes gtk3
     gnome3.adwaita-icon-theme ];
 
+  # Patch paths to `fcitx-remote`
+  prePatch = ''
+    for f in gtk{3,}/config_widget.c; do
+      substituteInPlace $f \
+        --replace 'EXEC_PREFIX "/bin/fcitx-remote"' '"${fcitx}/bin/fcitx-remote"'
+    done
+  '';
+
   preFixup = ''
     wrapProgram $out/bin/fcitx-config-gtk3 \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS";
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx/unwrapped.nix
index 636cb518fd23..60de9e6910e3 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx/unwrapped.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx/unwrapped.nix
@@ -75,20 +75,20 @@ stdenv.mkDerivation rec {
     libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 libuuid
   ];
 
-  cmakeFlags = ''
-    -DENABLE_QT_IM_MODULE=ON
-    -DENABLE_GTK2_IM_MODULE=ON
-    -DENABLE_GTK3_IM_MODULE=ON
-    -DENABLE_GIR=OFF
-    -DENABLE_OPENCC=OFF
-    -DENABLE_PRESAGE=OFF
-    -DENABLE_XDGAUTOSTART=OFF
-    -DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}
-    -DENABLE_TABLE=ON
-    -DENABLE_SPELL=ON
-    -DENABLE_QT_GUI=ON
-    -DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'
-    '';
+  cmakeFlags = [
+    "-DENABLE_QT_IM_MODULE=ON"
+    "-DENABLE_GTK2_IM_MODULE=ON"
+    "-DENABLE_GTK3_IM_MODULE=ON"
+    "-DENABLE_GIR=OFF"
+    "-DENABLE_OPENCC=OFF"
+    "-DENABLE_PRESAGE=OFF"
+    "-DENABLE_XDGAUTOSTART=OFF"
+    "-DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}"
+    "-DENABLE_TABLE=ON"
+    "-DENABLE_SPELL=ON"
+    "-DENABLE_QT_GUI=ON"
+    "-DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'"
+  ];
 
   meta = with stdenv.lib; {
     homepage    = https://github.com/fcitx/fcitx;
diff --git a/nixpkgs/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/nixpkgs/pkgs/tools/inputmethods/fusuma/Gemfile.lock
index 4038b50b44fe..c35e7658d635 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fusuma/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/inputmethods/fusuma/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    fusuma (0.10.2)
+    fusuma (1.3.0)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   fusuma
 
 BUNDLED WITH
-   1.16.3
+   1.17.3
diff --git a/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix b/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
index b410a21cd6ba..a8901dfb0e43 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
@@ -16,9 +16,9 @@ bundlerApp {
 
   meta = with lib; {
     description = "Multitouch gestures with libinput driver on X11, Linux";
-    homepage    = https://github.com/iberianpig/fusuma;
-    license     = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau nicknovitski ];
-    platforms   = platforms.linux;
+    homepage = "https://github.com/iberianpig/fusuma";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/fusuma/gemset.nix b/nixpkgs/pkgs/tools/inputmethods/fusuma/gemset.nix
index 2edf9c0886f0..2dd9af421ba9 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fusuma/gemset.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fusuma/gemset.nix
@@ -1,10 +1,12 @@
 {
   fusuma = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hj64kafxj29gk53vj2syhs3vdywl3h9cpiknaqqm4srjx9g04a0";
+      sha256 = "150jc8jyqj3w4k13lf1ihqmm2sld1yawp4jwnf43jixnc9rmzx6f";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "1.3.0";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/inputmethods/gebaar-libinput/default.nix b/nixpkgs/pkgs/tools/inputmethods/gebaar-libinput/default.nix
new file mode 100644
index 000000000000..6d4947e517e5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/gebaar-libinput/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, libinput, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "gebaar-libinput";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "Coffee2CodeNL";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kqcgwkia1p195xr082838dvj1gqif9d63i8a52jb0lc32zzizh6";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ libinput zlib ];
+
+  meta = with lib; {
+    description = "Gebaar, A Super Simple WM Independent Touchpad Gesture Daemon for libinput";
+    homepage = "https://github.com/Coffee2CodeNL/gebaar-libinput";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ colemickens lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index d2f68fd5269e..cfdfa85ad9f6 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -1,35 +1,57 @@
-{ stdenv, fetchurl, intltool, pkgconfig
-, anthy, ibus, glib, gobject-introspection, gtk3, python3
+{ stdenv
+, fetchurl
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, anthy
+, ibus
+, glib
+, gobject-introspection
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-anthy";
   version = "1.5.11";
 
-  meta = with stdenv.lib; {
-    isIbusEngine = true;
-    description  = "IBus interface to the anthy input method";
-    homepage     = https://github.com/fujiwarat/ibus-anthy;
-    license      = licenses.gpl2Plus;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ gebner ericsagnes ];
+  src = fetchurl {
+    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
   };
 
-  configureFlags = [ "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t" ];
-
   buildInputs = [
-    anthy glib gobject-introspection gtk3 ibus (python3.withPackages (ps: [ps.pygobject3]))
+    anthy
+    glib
+    gtk3
+    ibus
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
+  configureFlags = [
+    "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t"
+  ];
 
   postFixup = ''
-    wrapPythonPrograms
     substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
   '';
 
-  src = fetchurl {
-    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description = "IBus interface to the anthy input method";
+    homepage = https://github.com/fujiwarat/ibus-anthy;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gebner ericsagnes ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
index 0a38ccfa3bd8..d5e2f50299e3 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -1,7 +1,8 @@
 { stdenv
 , fetchurl
 , substituteAll
-, intltool
+, appstream-glib
+, gettext
 , pkgconfig
 , wrapGAppsHook
 , gtk3
@@ -12,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-hangul";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchurl {
     url = "https://github.com/choehwanjin/ibus-hangul/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0gha8dfdf54rx8fv3yfikbgdg6lqq6l883lhg7q68ybvkjx9bwbs";
+    sha256 = "1400ba2p34vr9q285lqvjm73f6m677cgfdymmjpiwyrjgbbiqrjy";
   };
 
   patches = [
@@ -27,9 +28,9 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    intltool
+    appstream-glib
+    gettext
     pkgconfig
-    python3.pkgs.wrapPython
     wrapGAppsHook
   ];
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index fc4677e06b06..2c1d558f04d3 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -1,33 +1,54 @@
-{ stdenv, fetchFromGitHub, autoreconfHook
-, intltool, pkgconfig, sqlite, libpinyin, db
-, ibus, glib, gtk3, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, sqlite
+, libpinyin
+, db
+, ibus
+, glib
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-libpinyin";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
-    owner  = "libpinyin";
-    repo   = "ibus-libpinyin";
-    rev    = version;
-    sha256 = "0zkzz6ig74nws8phqxbsggnpf5g5f2hxi0mdyn2m3s4nm14q3ma6";
+    owner = "libpinyin";
+    repo = "ibus-libpinyin";
+    rev = version;
+    sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
   };
 
-  buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
-  nativeBuildInputs = [ autoreconfHook intltool pkgconfig python3.pkgs.wrapPython ];
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  postAutoreconf = ''
-    intltoolize
-  '';
-
-  postFixup = "wrapPythonPrograms";
+  buildInputs = [
+    ibus
+    glib
+    sqlite
+    libpinyin
+    (python3.withPackages (pypkgs: with pypkgs; [
+      pygobject3
+      (toPythonModule ibus)
+    ]))
+    gtk3
+    db
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "IBus interface to the libpinyin input method";
-    license      = licenses.gpl2;
-    maintainers  = with maintainers; [ ericsagnes ];
-    platforms    = platforms.linux;
+    description = "IBus interface to the libpinyin input method";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ericsagnes ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 01b227f6f1b4..c026a9d1a813 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -1,6 +1,14 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, pkgconfig
-, ibus, m17n_lib, m17n_db, gettext, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, ibus
+, gtk3
+, m17n_lib
+, m17n_db
+, gettext
+, python3
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -8,27 +16,40 @@ stdenv.mkDerivation rec {
   version = "1.4.1";
 
   src = fetchFromGitHub {
-    owner  = "ibus";
-    repo   = "ibus-m17n";
-    rev    = version;
+    owner = "ibus";
+    repo = "ibus-m17n";
+    rev = version;
     sha256 = "1xl7swqn46nhi43rka0zx666mpk667ykag3sz07x0zqrwi41frps";
   };
 
-  buildInputs = [
-    ibus m17n_lib m17n_db gettext
-    python3
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python3.pkgs.wrapPython ];
+  buildInputs = [
+    ibus
+    gtk3
+    m17n_lib
+    m17n_db
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
 
-  postFixup = "wrapPythonPrograms";
+  configureFlags = [
+    "--with-gtk=3.0"
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "m17n engine for ibus";
-    homepage     = https://github.com/ibus/ibus-m17n;
-    license      = licenses.gpl2;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ ericsagnes ];
+    description = "m17n engine for ibus";
+    homepage = https://github.com/ibus/ibus-m17n;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8e34cb860a65..c95a9c1651c7 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     dconf
     gtk3
-    gobject-introspection
     ibus
     (python3.withPackages (pypkgs: with pypkgs; [
       pygobject3
@@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
     autoreconfHook
     docbook2x
     pkgconfig
-    python3.pkgs.wrapPython
+    gobject-introspection
     wrapGAppsHook
   ];
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 2ee6944eeb3b..f1ca4226b477 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.6.4";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    sha256 = "1k074y9439w8v6s71i7hhmkq9bgkl836y2a409rx3mb73vidadjr";
+    sha256 = "0wp9y6cgxsb2z1hk899q7wybl7v49vkgx6x5zl4l706jm3w9qmg8";
   };
 
   patches = [ ./hunspell-dirs.patch ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = https://mike-fabian.github.io/ibus-typing-booster/;
     license = licenses.gpl3Plus;
     description = "A typing booster engine for the IBus platform";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     isIbusEngine = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
new file mode 100644
index 000000000000..434c85d3dbea
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
@@ -0,0 +1,13 @@
+diff --git a/uniemoji.xml.in b/uniemoji.xml.in
+index 5fbfd0f..6fb8ad3 100644
+--- a/uniemoji.xml.in
++++ b/uniemoji.xml.in
+@@ -7,7 +7,7 @@
+     <license>GPL</license>
+     <author>Lalo Martins &lt;lalo.martins@gmail.com&gt;</author>
+     <homepage>https://github.com/salty-horse/ibus-uniemoji</homepage>
+-    <exec>@PYTHON@ @DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
++    <exec>@DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
+     <textdomain>uniemoji</textdomain>
+     <engines>
+         <engine>
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
index 107c8c60271e..435d1154d4ad 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
@@ -1,8 +1,19 @@
-{ stdenv, fetchFromGitHub
-, python3Packages
+{ stdenv
+, fetchFromGitHub
+, gobject-introspection
+, wrapGAppsHook
+, python3
+, ibus
 }:
 
-stdenv.mkDerivation rec {
+let
+  python = python3.withPackages (ps: with ps; [
+    pygobject3
+    (toPythonModule ibus)
+    pyxdg
+    python-Levenshtein
+  ]);
+in stdenv.mkDerivation rec {
   pname = "ibus-uniemoji";
   version = "0.6.0";
 
@@ -13,25 +24,39 @@ stdenv.mkDerivation rec {
     sha256 = "121zh3q0li1k537fcvbd4ns4jgl9bbb9gm9ihy8cfxgirv38lcfa";
   };
 
-  propagatedBuildInputs = with python3Packages; [ pyxdg python-Levenshtein pygobject3 ];
+  patches = [
+    # Do not run wrapper script with Python,
+    # the wrapped script will have Python in shebang anyway.
+    ./allow-wrapping.patch
+  ];
 
-  nativeBuildInputs = [ python3Packages.wrapPython ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    python
+    ibus
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "SYSCONFDIR=${placeholder ''out''}/etc"
+    "PYTHON=${python.interpreter}"
+  ];
 
   postFixup = ''
-    buildPythonPath $out
-    patchPythonScript $out/share/ibus-uniemoji/uniemoji.py
+    wrapGApp $out/share/ibus-uniemoji/uniemoji.py
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc"
-                "PYTHON=${python3Packages.python.interpreter}"
-              ];
-
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "Input method (ibus) for entering unicode symbols and emoji by name";
-    homepage     = "https://github.com/salty-horse/ibus-uniemoji";
-    license      = with licenses; [ gpl3 mit ];
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ aske ];
+    description = "Input method (ibus) for entering unicode symbols and emoji by name";
+    homepage = "https://github.com/salty-horse/ibus-uniemoji";
+    license = with licenses; [ gpl3 mit ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ aske ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
index a6c2404ef347..4951074bc43a 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,73 +1,43 @@
-{ stdenv, substituteAll, fetchurl, fetchFromGitHub, autoreconfHook, gettext, makeWrapper, pkgconfig
-, vala, wrapGAppsHook, dbus, dconf ? null, glib, gdk-pixbuf, gobject-introspection, gtk2
-, gtk3, gtk-doc, isocodes, python3, json-glib, libnotify ? null, enablePython2Library ? false
-, enableUI ? true, withWayland ? false, libxkbcommon ? null, wayland ? null
-, buildPackages, runtimeShell }:
+{ stdenv
+, substituteAll
+, fetchurl
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, makeWrapper
+, pkgconfig
+, vala
+, wrapGAppsHook
+, dbus
+, dconf ? null
+, glib
+, gdk-pixbuf
+, gobject-introspection
+, gtk2
+, gtk3
+, gtk-doc
+, isocodes
+, cldr-emoji-annotation
+, unicode-character-database
+, unicode-emoji
+, python3
+, json-glib
+, libnotify ? null
+, enablePython2Library ? false
+, enableUI ? true
+, withWayland ? false
+, libxkbcommon ? null
+, wayland ? null
+, buildPackages
+, runtimeShell
+, nixosTests
+}:
 
 assert withWayland -> wayland != null && libxkbcommon != null;
 
 with stdenv.lib;
 
 let
-  emojiSrcs = {
-    data = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-data.txt";
-      sha256 = "11jfz5rrvyc2ixliqfcjgmch4cn9mfy0x96qnpfcyz5fy1jvfyxf";
-    };
-    sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-sequences.txt";
-      sha256 = "09bii7f5mmladg0kl3n80fa9qaix6bv5ylm92x52j7wygzv0szb1";
-    };
-    variation-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-variation-sequences.txt";
-      sha256 = "1wlg4gbq7spmpppjfy5zdl82sj0hc836p8gljgfrjmwsjgybq286";
-    };
-    zwj-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt";
-      sha256 = "16gvzv76mjv9g81lm1m6cr3rpfqyn2k4hb9a62xd329252dhl25q";
-    };
-    test = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-test.txt";
-      sha256 = "031qk2v8xdnba7hfinmgrmpglc9l8ll2hds6mw885p0hngdb3dgw";
-    };
-  };
-  emojiData = stdenv.mkDerivation {
-    name = "emoji-data-5.0";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList emojiSrcs (k: v: "cp ${v} $out/emoji-${k}.txt;"))}
-    '';
-  };
-  cldrEmojiAnnotation = stdenv.mkDerivation rec {
-    pname = "cldr-emoji-annotation";
-    version = "31.90.0_1";
-    src = fetchFromGitHub {
-      owner = "fujiwarat";
-      repo = "cldr-emoji-annotation";
-      rev = version;
-      sha256 = "1vsj32bg8ab4d80rz0fxy6sj2lv31inzyjnddjm079bnvlaf2kih";
-    };
-    nativeBuildInputs = [ autoreconfHook ];
-  };
-  ucdSrcs = {
-    NamesList = fetchurl {
-      url = "https://www.unicode.org/Public/UNIDATA/NamesList.txt";
-      sha256 = "c17c7726f562bd9ef869096807f0297e1edef9a58fdae1fbae487378fa43586f";
-    };
-    Blocks = fetchurl {
-      url = "https://www.unicode.org/Public/UNIDATA/Blocks.txt";
-      sha256 = "a1a3ca4381eb91f7b65afe7cb7df615cdcf67993fef4b486585f66b349993a10";
-    };
-  };
-  ucd = stdenv.mkDerivation {
-    name = "ucd-12.0.0";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList ucdSrcs (k: v: "cp ${v} $out/${k}.txt;"))}
-    '';
-  };
   python3Runtime = python3.withPackages (ps: with ps; [ pygobject3 ]);
   python3BuildEnv = python3.buildEnv.override {
     # ImportError: No module named site
@@ -81,13 +51,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.20";
+  version = "1.5.21";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "1npavb896qrp6qbqayb0va4mpsi68wybcnlbjknzgssqyw2ylh9r";
+    sha256 = "0fjbqj7d2g5c8i1wdggzhz269xisxv4xb1pa9swalm5p2b2vrjlx";
   };
 
   patches = [
@@ -98,6 +68,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  outputs = [ "out" "dev" "installedTests" ];
+
   postPatch = ''
     echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh
     cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make .
@@ -113,9 +85,15 @@ stdenv.mkDerivation rec {
     (enableFeature enablePython2Library "python-library")
     (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
     (enableFeature enableUI "ui")
-    "--with-unicode-emoji-dir=${emojiData}"
-    "--with-emoji-annotation-dir=${cldrEmojiAnnotation}/share/unicode/cldr/common/annotations"
-    "--with-ucd-dir=${ucd}"
+    "--enable-install-tests"
+    "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
+    "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
+    "--with-ucd-dir=${unicode-character-database}/share/unicode"
+  ];
+
+  makeFlags = [
+    "test_execsdir=${placeholder ''installedTests''}/libexec/installed-tests/ibus"
+    "test_sourcesdir=${placeholder ''installedTests''}/share/installed-tests/ibus"
   ];
 
   nativeBuildInputs = [
@@ -129,7 +107,9 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   buildInputs = [
     dbus
@@ -151,10 +131,31 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # requires X11 daemon
   doInstallCheck = true;
-  installCheckPhase = "$out/bin/ibus version";
+  installCheckPhase = ''
+    $out/bin/ibus version
+  '';
+
+  postInstall = ''
+    # It has some hardcoded FHS paths and also we do not use it
+    # since we set up the environment in NixOS tests anyway.
+    moveToOutput "bin/ibus-desktop-testing-runner" "$installedTests"
+  '';
+
+  postFixup = ''
+    # set necessary environment also for tests
+    for f in $installedTests/libexec/installed-tests/ibus/*; do
+        wrapGApp $f
+    done
+  '';
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.ibus;
+    };
+  };
 
   meta = {
-    homepage = https://github.com/ibus/ibus;
+    homepage = "https://github.com/ibus/ibus";
     description = "Intelligent Input Bus, input method framework";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus/fix-paths.patch b/nixpkgs/pkgs/tools/inputmethods/ibus/fix-paths.patch
index 192aa7d6395e..60269c6c2418 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus/fix-paths.patch
@@ -40,6 +40,6 @@
  export IBUS_DATAROOTDIR=@datarootdir@
  export IBUS_LOCALEDIR=@localedir@
  export IBUS_LIBEXECDIR=${libexecdir}
--exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@
+-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
 +exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@
  
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus/wrapper.nix b/nixpkgs/pkgs/tools/inputmethods/ibus/wrapper.nix
index 3196c5b4e8ac..1b14629d2830 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/libinput-gestures/default.nix b/nixpkgs/pkgs/tools/inputmethods/libinput-gestures/default.nix
index f4b2f7e94e74..2764d2fee729 100644
--- a/nixpkgs/pkgs/tools/inputmethods/libinput-gestures/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/libinput-gestures/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper,
   libinput, wmctrl, python3,
-  xdotool ? null,
+  coreutils, xdotool ? null,
   extraUtilsPath ? lib.optional (xdotool != null) xdotool
 }:
 stdenv.mkDerivation rec {
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       rm "$out/bin/libinput-gestures-setup"
       substituteInPlace "$out/share/applications/libinput-gestures.desktop" --replace "/usr" "$out"
       chmod +x "$out/share/applications/libinput-gestures.desktop"
-      wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${lib.makeBinPath extraUtilsPath}"
+      wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${lib.makeBinPath ([coreutils] ++ extraUtilsPath)}"
     '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix b/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix
index ff14a13da04f..c915e8128913 100644
--- a/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/3llo/default.nix b/nixpkgs/pkgs/tools/misc/3llo/default.nix
index 1f59d1f16a78..82a8d2aaad12 100644
--- a/nixpkgs/pkgs/tools/misc/3llo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/3llo/default.nix
@@ -26,6 +26,6 @@ bundlerApp {
     description = "Trello interactive CLI on terminal";
     license = licenses.mit;
     homepage = https://github.com/qcam/3llo;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/arp-scan/default.nix b/nixpkgs/pkgs/tools/misc/arp-scan/default.nix
index 4f50e0f556b6..9a3164db5d7c 100644
--- a/nixpkgs/pkgs/tools/misc/arp-scan/default.nix
+++ b/nixpkgs/pkgs/tools/misc/arp-scan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arp-scan";
-  version = "1.9.5";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "royhills";
     repo = "arp-scan";
-    rev = "4de863c2627a05177eda7159692a588f9f520cd1";
-    sha256 = "15zpfdybk2kh98shqs8qqd0f9nyi2ch2wcyv729rfj7yp0hif5mb";
+    rev = version;
+    sha256 = "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp";
   };
 
   perlModules = with perlPackages; [
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libpcap makeWrapper ];
+  buildInputs = [ perlPackages.perl libpcap makeWrapper ];
 
   postInstall = ''
     for name in get-{oui,iab}; do
-      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makePerlPath perlModules }"
+      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makeFullPerlPath perlModules}"
     done;
   '';
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       Arp-scan is a command-line tool that uses the ARP protocol to discover
       and fingerprint IP hosts on the local network.
     '';
-    homepage = http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation;
+    homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor mikoim ];
diff --git a/nixpkgs/pkgs/tools/misc/automirror/default.nix b/nixpkgs/pkgs/tools/misc/automirror/default.nix
index 3bfb2d656d90..84778fb1c2d0 100644
--- a/nixpkgs/pkgs/tools/misc/automirror/default.nix
+++ b/nixpkgs/pkgs/tools/misc/automirror/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ git ronn ];
 
-  installFlags = "DESTDIR=$(out)";
+  installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/schlomo/automirror;
diff --git a/nixpkgs/pkgs/tools/misc/autorandr/default.nix b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
index 25765589beec..adf73037af89 100644
--- a/nixpkgs/pkgs/tools/misc/autorandr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.8.1";
+  version = "1.9";
 in
   stdenv.mkDerivation {
     pname = "autorandr";
@@ -49,7 +49,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = version;
-      sha256 = "1bp1cqkrpg77rjyh4lq1agc719fmxn92jkiicf6nbhfl8kf3l3vy";
+      sha256 = "1bb0l7fcm5lcx9y02zdxv7pfdqf4v4gsc5br3v1x9gzjvqj64l7n";
     };
 
     meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix b/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
index 3b5e72c89f7f..b4cbc747b1dc 100644
--- a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/bash_unit/default.nix b/nixpkgs/pkgs/tools/misc/bash_unit/default.nix
new file mode 100644
index 000000000000..f23ab45cfab5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/bash_unit/default.nix
@@ -0,0 +1,27 @@
+{ fetchFromGitHub
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bash_unit";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "pgrange";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0jcjpcyf569b12vm4jrd53iqrrsjvr8sp9y29w2ls38fm8a16vr6";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bash_unit $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Bash unit testing enterprise edition framework for professionals";
+    maintainers = with maintainers; [ pamplemousse ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/bat/default.nix b/nixpkgs/pkgs/tools/misc/bat/default.nix
index 449be0f017f6..6f5dc209b964 100644
--- a/nixpkgs/pkgs/tools/misc/bat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bat/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig, zlib
-, Security, libiconv
+{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig, less
+, Security, libiconv, installShellFiles, makeWrapper
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,15 +16,22 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "0d7h0kn41w6wm4w63vjy2i7r19jkansfvfjn7vgh2gqh5m60kal2";
 
-  nativeBuildInputs = [ pkgconfig llvmPackages.libclang zlib ];
+  nativeBuildInputs = [ pkgconfig llvmPackages.libclang installShellFiles makeWrapper ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security libiconv ];
 
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   postInstall = ''
-    install -m 444 -Dt $out/share/man/man1 doc/bat.1
-    install -m 444 -Dt $out/share/fish/vendor_completions.d assets/completions/bat.fish
+    installManPage doc/bat.1
+    installShellCompletion assets/completions/bat.fish
+  '';
+
+  # Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as
+  # expected with certain flag combinations.
+  postFixup = ''
+    wrapProgram "$out/bin/bat" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ less ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
index 2f326a1d6ac7..defdd9494e51 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
+++ b/nixpkgs/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 ];
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
   unpackPhase = "dpkg-deb -x $src .";
   installPhase = "
     substituteInPlace usr/bin/bdf2psf --replace /usr/bin/perl ${perl}/bin/perl
-    mv usr/bin .
-    cp -r . $out
+    mv usr $out
   ";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/bepasty/default.nix b/nixpkgs/pkgs/tools/misc/bepasty/default.nix
index a1e9f21c52cc..532d1155fbe0 100644
--- a/nixpkgs/pkgs/tools/misc/bepasty/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bepasty/default.nix
@@ -14,6 +14,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     flask
     pygments
+    setuptools
     xstatic
     xstatic-bootbox
     xstatic-bootstrap
diff --git a/nixpkgs/pkgs/tools/misc/bibtool/default.nix b/nixpkgs/pkgs/tools/misc/bibtool/default.nix
index 7664b96563b2..df7564a4b848 100644
--- a/nixpkgs/pkgs/tools/misc/bibtool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bibtool/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   # Perl for running test suite.
   buildInputs = [ perl ];
 
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/misc/bibutils/default.nix b/nixpkgs/pkgs/tools/misc/bibutils/default.nix
index d84c6ebaabc6..d099a8aba9b0 100644
--- a/nixpkgs/pkgs/tools/misc/bibutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/birdfont/default.nix b/nixpkgs/pkgs/tools/misc/birdfont/default.nix
index 092c83114e79..8cc21158e8a9 100644
--- a/nixpkgs/pkgs/tools/misc/birdfont/default.nix
+++ b/nixpkgs/pkgs/tools/misc/birdfont/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pkgconfig, python3, xmlbird,
-cairo, gdk-pixbuf, libgee, glib, gtk3, webkitgtk, libnotify, sqlite, vala,
+cairo, gdk-pixbuf, libgee, glib, gtk3, webkitgtk, libnotify, sqlite, vala_0_44,
 gobject-introspection, gsettings-desktop-schemas, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "birdfont";
-  version = "2.27.0";
+  version = "2.28.0";
 
   src = fetchurl {
     url = "https://birdfont.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0dr2cnvq30wak0j2k8089is7fvhw0ppwkfrrw1m649s2b95wav3q";
+    sha256 = "19i7wzngi695dp4w0235wmfcnagdw3i40mzf89sddr1mqzvipfrz";
   };
 
-  nativeBuildInputs = [ python3 pkgconfig vala gobject-introspection wrapGAppsHook ];
+  nativeBuildInputs = [ python3 pkgconfig vala_0_44 gobject-introspection wrapGAppsHook ];
   buildInputs = [ xmlbird libgee cairo gdk-pixbuf glib gtk3 webkitgtk libnotify sqlite gsettings-desktop-schemas ];
 
   postPatch = "patchShebangs .";
diff --git a/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix b/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
index a5581c84d504..3d51f282daef 100644
--- a/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
+++ b/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlbird";
-  version = "1.2.10";
+  version = "1.2.11";
 
   src = fetchurl {
     url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz";
-    sha256 = "0qpqpqqd4wj711jzczfsr38fgcz1rzxchrqbssxnan659ycd9c78";
+    sha256 = "1ycbgjvywnlc0garw8qjqd18s0xnrwjvssdrb410yschv3wjq1i0";
   };
 
   nativeBuildInputs = [ python3 pkgconfig vala gobject-introspection ];
diff --git a/nixpkgs/pkgs/tools/misc/bonfire/default.nix b/nixpkgs/pkgs/tools/misc/bonfire/default.nix
index a5e4a42ef3cd..12b0ad2abf1f 100644
--- a/nixpkgs/pkgs/tools/misc/bonfire/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bonfire/default.nix
@@ -3,9 +3,8 @@
 with python3Packages;
 
 buildPythonApplication rec {
-  version = "2017-01-19";
   pname = "bonfire";
-  name = "${pname}-unstable-${version}";
+  version = "unstable-2017-01-19";
 
   # use latest git version with --endpoint flag
   # https://github.com/blue-yonder/bonfire/pull/18
@@ -25,7 +24,7 @@ buildPythonApplication rec {
     # pip fails when encountering the git hash for the package version
     substituteInPlace setup.py \
       --replace "version=version," "version='${version}',"
-    # remove extraneous files  
+    # remove extraneous files
     substituteInPlace setup.cfg \
       --replace "data_files = *.rst, *.txt" ""
   '';
@@ -45,6 +44,6 @@ buildPythonApplication rec {
     license = licenses.bsd3;
     maintainers = [ maintainers.womfoo ];
     platforms = platforms.linux;
+    broken = true; # no longer compatible with new arrow package
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index 93084640e763..63d5ff69e790 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/byobu/default.nix b/nixpkgs/pkgs/tools/misc/byobu/default.nix
index 65196e2a3b66..94db365f6d6d 100644
--- a/nixpkgs/pkgs/tools/misc/byobu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/byobu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python3, perl, textual-window-manager }:
 
 stdenv.mkDerivation rec {
-  version = "5.129";
+  version = "5.130";
   name = "byobu-" + version;
 
   src = fetchurl {
     url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
-    sha256 = "1ff20xdi58pncw76hrkf7azqy0y654kwz1zff5irnd8cflh5y4z5";
+    sha256 = "0qblw5vz90fixvpwfvlc8bkljsviri5gj77cp63l44ns3lb19r27";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/misc/calamares/default.nix b/nixpkgs/pkgs/tools/misc/calamares/default.nix
index 2c48f995ca2d..1fd76eb4db64 100644
--- a/nixpkgs/pkgs/tools/misc/calamares/default.nix
+++ b/nixpkgs/pkgs/tools/misc/calamares/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore
+{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore
 , kservice, libatasmart, libxcb, libyamlcpp, parted, polkit-qt, python, qtbase
 , qtquickcontrols, qtsvg, qttools, qtwebengine, utillinux, glibc, tzdata
-, ckbcomp, xkeyboard_config
+, ckbcomp, xkeyboard_config, mkDerivation
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "calamares";
-  version = "3.2.11";
+  version = "3.2.16";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "1djrc8p6kll8szycyj86v02jphiw2xwfhn563siykphfqr0jknlw";
+    sha256 = "0ygmw03n8knczq9a9whslxcpmgyz0ksqwl0k8f7hyf96b9n8inc2";
   };
 
   buildInputs = [
@@ -54,10 +54,10 @@ stdenv.mkDerivation rec {
         -i CMakeLists.txt
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Distribution-independent installer framework";
     license = licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ manveru ];
+    maintainers = with lib.maintainers; [ manveru ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index b6fffddeb53d..637f7a17695c 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "chezmoi";
-  version = "1.5.5";
-
-  goPackagePath = "github.com/twpayne/chezmoi";
+  version = "1.7.10";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "18kc3b2ncjzxivycx3mhqw9kbqp0sxmlgc2ddvhgj2vpvlkayzkh";
+    sha256 = "1miki6p611s0m3s0q5qsc9cks0akm59ks3x1gzi9wvhzf6k9h0dn";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "0rzwslpikadhqw8rcbg4hbasfcgjcc850ccfnprdxva4g1bb5rqc";
 
   buildFlagsArray = [
-    "-ldflags=-s -w -X ${goPackagePath}/cmd.VersionStr=${version}"
+    "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}"
   ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --bash completions/chezmoi-completion.bash
+    installShellCompletion --fish completions/chezmoi.fish
+    installShellCompletion --zsh completions/chezmoi.zsh
+  '';
+
+  subPackages = [ "." ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/twpayne/chezmoi;
     description = "Manage your dotfiles across multiple machines, securely";
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/deps.nix b/nixpkgs/pkgs/tools/misc/chezmoi/deps.nix
deleted file mode 100644
index 6641a58931dd..000000000000
--- a/nixpkgs/pkgs/tools/misc/chezmoi/deps.nix
+++ /dev/null
@@ -1,507 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "v1.4.2";
-      sha256 = "0k2fpk2x8jbvqkqxx5hkx1ygrsppzmzypqb90i1r33yq7ac7zlxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/sprig";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "v2.17.1";
-      sha256 = "0iiwga57100r780k2d509fzx67x6l8z0wjl84pyzg5mpy6zp2y9y";
-    };
-  }
-  {
-    goPackagePath = "github.com/aokoli/goutils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aokoli/goutils";
-      rev = "v1.1.0";
-      sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
-    };
-  }
-  {
-    goPackagePath = "github.com/armon/consul-api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/armon/consul-api";
-      rev = "eb2c6b5be1b6";
-      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/etcd";
-      rev = "v3.3.10";
-      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-etcd";
-      rev = "v2.0.0";
-      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-semver";
-      rev = "v0.2.0";
-      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
-    };
-  }
-  {
-    goPackagePath = "github.com/danieljoos/wincred";
-    fetch = {
-      type = "git";
-      url = "https://github.com/danieljoos/wincred";
-      rev = "v1.0.1";
-      sha256 = "1bb1928nnikx5036aw4152p55g8xgwx42rv0n2i5zydh1031f50m";
-    };
-  }
-  {
-    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/godbus/dbus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/godbus/dbus";
-      rev = "v4.1.0";
-      sha256 = "1ckvg15zdsgmbn4mi36cazkb407ixc9mmyf7vwj8b8wi3d00rgn9";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.2.0";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-github";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-github";
-      rev = "v25.0.1";
-      sha256 = "1wggj64dm73zmav64qfgw8v3pkzxxmlaqrccvs5rf66j0wij9g20";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-querystring";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-querystring";
-      rev = "v1.0.0";
-      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/renameio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/renameio";
-      rev = "v0.1.0";
-      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "v1.1.0";
-      sha256 = "0yx4kiafyshdshrmrqcf2say5mzsviz7r94a0y1l6xfbkkyvnc86";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "v1.0.0";
-      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
-    };
-  }
-  {
-    goPackagePath = "github.com/huandu/xstrings";
-    fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "v1.2.0";
-      sha256 = "0bn1kac5vcspxdpx4bygr4gngdbk67pnbqc04b0f7a4ny25n10iq";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.7";
-      sha256 = "05ir0jj74w0yfi1lrhjd97v759in1dpsma64cgmbiqvyp6hfmmf8";
-    };
-  }
-  {
-    goPackagePath = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev = "v1.0.0";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    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/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "v1.8.0";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.7";
-      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "v1.1.2";
-      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "v1.2.0";
-      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
-    };
-  }
-  {
-    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/russross/blackfriday";
-    fetch = {
-      type = "git";
-      url = "https://github.com/russross/blackfriday";
-      rev = "v2.0.1";
-      sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j";
-    };
-  }
-  {
-    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/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "v1.2.2";
-      sha256 = "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev = "v1.3.0";
-      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "v0.0.3";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "v1.0.0";
-      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "v1.3.1";
-      sha256 = "1190mg04718r03qriav99sf4kx2n7wdgr8vdni15f74bpbzrdjrl";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.2.0";
-      sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
-    };
-  }
-  {
-    goPackagePath = "github.com/twpayne/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/twpayne/go-difflib";
-      rev = "v1.3.0";
-      sha256 = "01lidr7brrdv4xqx87n6c2ppyaj8rdf9lqj85qhbbalwy6z34fj8";
-    };
-  }
-  {
-    goPackagePath = "github.com/twpayne/go-shell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/twpayne/go-shell";
-      rev = "v0.0.1";
-      sha256 = "0nbbfxdwqy14izbfbk8c8ia90l31wbhkcwd2r7v6jhz58iaxcvxk";
-    };
-  }
-  {
-    goPackagePath = "github.com/twpayne/go-vfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/twpayne/go-vfs";
-      rev = "v1.0.6";
-      sha256 = "0sqjng5qm4s7crq9s1f5y5niq4wss6dizip62zx37iyvws1yngjd";
-    };
-  }
-  {
-    goPackagePath = "github.com/twpayne/go-vfsafero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/twpayne/go-vfsafero";
-      rev = "v1.0.0";
-      sha256 = "18jwxhlrjd06z8xzg9ij0irl4f79jfy5jpwiz6xqlhzb1fja19pw";
-    };
-  }
-  {
-    goPackagePath = "github.com/twpayne/go-xdg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/twpayne/go-xdg";
-      rev = "v3.1.0";
-      sha256 = "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln";
-    };
-  }
-  {
-    goPackagePath = "github.com/ugorji/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ugorji/go";
-      rev = "d75b2dcb6bc8";
-      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
-    };
-  }
-  {
-    goPackagePath = "github.com/xordataexchange/crypt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xordataexchange/crypt";
-      rev = "b2862e3d0a77";
-      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
-    };
-  }
-  {
-    goPackagePath = "github.com/zalando/go-keyring";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zalando/go-keyring";
-      rev = "6d81c293b3fb";
-      sha256 = "1wah726fi08h6ga5wnwxd1zyxq7ckp3qliql44bxgliw2p35kkyb";
-    };
-  }
-  {
-    goPackagePath = "go.etcd.io/bbolt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/etcd-io/bbolt";
-      rev = "4af6cfab7010";
-      sha256 = "1zgirl82lph606vw39wj4mvk8bkq2bakvnx49dpq7l5dsdhiydpv";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "d8887717615a";
-      sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "d2e6202438be";
-      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "e225da77a7e6";
-      sha256 = "0bh3583smcfw6jw3w6lp0za93rz7hpxfdz8vhxng75b7a6vdlw4p";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "10058d7d4faa";
-      sha256 = "0y83433yjgsr7057h99g5ayljzlivx2bnkcp01xnzqz8lppv8fql";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.1.0";
-      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/misc/ckb-next/default.nix b/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
index 575cb686f9d4..738430f561bd 100644
--- a/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
@@ -2,14 +2,14 @@
 , pkgconfig, qtbase, cmake, zlib, kmod }:
 
 mkDerivation rec {
-  version = "0.3.2";
+  version = "0.4.2";
   pname = "ckb-next";
 
   src = fetchFromGitHub {
     owner = "ckb-next";
     repo = "ckb-next";
     rev = "v${version}";
-    sha256 = "0ri5n7r1vhsgk6s64abvqcdrs5fmlwprw0rxiwfy0j8a9qcic1dr";
+    sha256 = "1mkx1psw5xnpscdfik1kpzsnfhhkn3571i7acr9gxyjr27sckplc";
   };
 
   buildInputs = [
@@ -25,11 +25,12 @@ mkDerivation rec {
 
   cmakeFlags = [
     "-DINSTALL_DIR_ANIMATIONS=libexec"
+    "-DUDEV_RULE_DIRECTORY=lib/udev/rules.d"
+    "-DFORCE_INIT_SYSTEM=systemd"
   ];
 
   patches = [
     ./install-dirs.patch
-    ./systemd-service.patch
     (substituteAll {
       name = "ckb-next-modprobe.patch";
       src = ./modprobe.patch;
diff --git a/nixpkgs/pkgs/tools/misc/ckb-next/install-dirs.patch b/nixpkgs/pkgs/tools/misc/ckb-next/install-dirs.patch
index 5545292a65ee..0f113d71aa3f 100644
--- a/nixpkgs/pkgs/tools/misc/ckb-next/install-dirs.patch
+++ b/nixpkgs/pkgs/tools/misc/ckb-next/install-dirs.patch
@@ -1,32 +1,13 @@
 diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt
-index 09056a7..1bb4595 100644
+index 2fc10a8..22dbd14 100644
 --- a/src/daemon/CMakeLists.txt
 +++ b/src/daemon/CMakeLists.txt
-@@ -456,7 +456,7 @@ endif ()
- if (LINUX)
-   install(
-     FILES "${CMAKE_SOURCE_DIR}/linux/udev/99-ckb-daemon.rules"
--    DESTINATION "/etc/udev/rules.d"
-+    DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d"
-     PERMISSIONS
-     OWNER_READ OWNER_WRITE
-     GROUP_READ
-diff --git a/src/libs/ckb-next/CMakeLists.txt b/src/libs/ckb-next/CMakeLists.txt
-index ecc591c..35de563 100644
---- a/src/libs/ckb-next/CMakeLists.txt
-+++ b/src/libs/ckb-next/CMakeLists.txt
-@@ -75,12 +75,12 @@ if(NOT MACOS)
-         NAMESPACE
-           ${CMAKE_PROJECT_NAME}::
-         DESTINATION
--          "/usr/lib/cmake/${CMAKE_PROJECT_NAME}/${PROJECT_NAME}")
-+          "${CMAKE_INSTALL_PREFIX}/lib/cmake/${CMAKE_PROJECT_NAME}/${PROJECT_NAME}")
- 
+@@ -421,7 +421,7 @@ if ("${CKB_NEXT_INIT_SYSTEM}" STREQUAL "launchd")
+ elseif ("${CKB_NEXT_INIT_SYSTEM}" STREQUAL "systemd")
      install(
-         FILES
-           "cmake/${PROJECT_NAME}Config.cmake"
-           "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
-         DESTINATION
--          "/usr/lib/cmake/${CMAKE_PROJECT_NAME}/${PROJECT_NAME}")
-+          "${CMAKE_INSTALL_PREFIX}/lib/cmake/${CMAKE_PROJECT_NAME}/${PROJECT_NAME}")
- endif()
+         FILES "${CMAKE_CURRENT_BINARY_DIR}/service/ckb-next-daemon.service"
+-        DESTINATION "/usr/lib/systemd/system"
++        DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/systemd/system"
+         PERMISSIONS
+         OWNER_READ OWNER_WRITE
+         GROUP_READ
diff --git a/nixpkgs/pkgs/tools/misc/ckb-next/modprobe.patch b/nixpkgs/pkgs/tools/misc/ckb-next/modprobe.patch
index f2156fc3b23b..a2cbe262e89f 100644
--- a/nixpkgs/pkgs/tools/misc/ckb-next/modprobe.patch
+++ b/nixpkgs/pkgs/tools/misc/ckb-next/modprobe.patch
@@ -1,26 +1,26 @@
 diff --git a/src/daemon/input_linux.c b/src/daemon/input_linux.c
-index 1cedb07..8e0b24b 100644
+index 8489f5b..b851419 100644
 --- a/src/daemon/input_linux.c
 +++ b/src/daemon/input_linux.c
-@@ -58,7 +58,7 @@ int os_inputopen(usbdevice* kb){
-     /// First check whether the uinput module is loaded by the kernel.
-     ///
-     // Load the uinput module (if it's not loaded already)
--    if(system("modprobe uinput") != 0) {
-+    if(system("@kmod@/bin/modprobe uinput") != 0) {
-         ckb_fatal("Failed to load uinput module\n");
-         return 1;
-     }
+@@ -63,7 +63,7 @@ int os_inputopen(usbdevice* kb){
+ 
+     // If not available, load the module
+     if(fd < 0){
+-        if(system("modprobe uinput") != 0) {
++        if(system("@kmod@/bin/modprobe uinput") != 0) {
+             ckb_fatal("Failed to load uinput module\n");
+             return 1;
+         }
 diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
-index 3601146..3f2f78f 100644
+index 1eb95bd..f7d38ba 100644
 --- a/src/gui/mainwindow.cpp
 +++ b/src/gui/mainwindow.cpp
-@@ -251,7 +251,7 @@ void MainWindow::updateVersion(){
-             daemonWarning.append(tr("<br /><b>Warning:</b> System Extension by \"Fumihiko Takayama\" is not allowed in Security & Privacy. Please allow it and then unplug and replug your devices."));
+@@ -284,7 +284,7 @@ void MainWindow::updateVersion(){
  #elif defined(Q_OS_LINUX)
-             QProcess modprobe;
--            modprobe.start("modprobe", QStringList("uinput"));
-+            modprobe.start("@kmod@/bin/modprobe", QStringList("uinput"));
+             if(!(QFileInfo("/dev/uinput").exists() || QFileInfo("/dev/input/uinput").exists())){
+                 QProcess modprobe;
+-                modprobe.start("modprobe", QStringList("uinput"));
++                modprobe.start("@kmod@/bin/modprobe", QStringList("uinput"));
  
-             if(!modprobe.waitForFinished())
-                 qDebug() << "Modprobe error";
+                 if(!modprobe.waitForFinished())
+                     qDebug() << "Modprobe error";
diff --git a/nixpkgs/pkgs/tools/misc/ckb-next/systemd-service.patch b/nixpkgs/pkgs/tools/misc/ckb-next/systemd-service.patch
deleted file mode 100644
index 917bc09627f7..000000000000
--- a/nixpkgs/pkgs/tools/misc/ckb-next/systemd-service.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt
-index 09056a7..72a7249 100644
---- a/src/daemon/CMakeLists.txt
-+++ b/src/daemon/CMakeLists.txt
-@@ -249,12 +249,7 @@ elseif (LINUX)
-     # but it is not enabled by default and systemd is used instead. (Ubuntu 15.04+)
- 
-     # A way to check for upstart
--    execute_process(
--        COMMAND initctl --version
--        OUTPUT_VARIABLE initctl_output
--        OUTPUT_STRIP_TRAILING_WHITESPACE)
--
--    if ("${initctl_output}" MATCHES "upstart")
-+    if (FALSE)
-         message(STATUS "upstart detected")
-         set(CKB_NEXT_INIT_SYSTEM "upstart" CACHE INTERNAL "")
-         set(DISALLOW_SYSVINIT TRUE)
-@@ -292,7 +287,7 @@ elseif (LINUX)
-     endif ()
- 
-     # A way to check for systemd
--    if (EXISTS "/run/systemd/system")
-+    if (TRUE)
-         message(STATUS "systemd detected")
-         set(CKB_NEXT_INIT_SYSTEM "systemd" CACHE INTERNAL "")
-         set(DISALLOW_SYSVINIT TRUE)
-@@ -328,7 +323,7 @@ elseif (LINUX)
-     endif ()
- 
-     # A way to check for OpenRC
--    if (EXISTS "/run/openrc/softlevel")
-+    if (FALSE)
-         message(STATUS "OpenRC detected")
-         set(CKB_NEXT_INIT_SYSTEM "OpenRC" CACHE INTERNAL "")
-         set(DISALLOW_SYSVINIT TRUE)
-@@ -419,7 +414,7 @@ if ("${CKB_NEXT_INIT_SYSTEM}" STREQUAL "launchd")
- elseif ("${CKB_NEXT_INIT_SYSTEM}" STREQUAL "systemd")
-     install(
-         FILES "${CMAKE_CURRENT_BINARY_DIR}/service/ckb-next-daemon.service"
--        DESTINATION "/usr/lib/systemd/system"
-+        DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/systemd/system"
-         PERMISSIONS
-         OWNER_READ OWNER_WRITE
-         GROUP_READ
diff --git a/nixpkgs/pkgs/tools/misc/clac/default.nix b/nixpkgs/pkgs/tools/misc/clac/default.nix
index f71faf6ab749..544379d8d217 100644
--- a/nixpkgs/pkgs/tools/misc/clac/default.nix
+++ b/nixpkgs/pkgs/tools/misc/clac/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub}:
+{ stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "clac";
   version = "0.0.0.20170503";
@@ -10,8 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0j8p1npgq32s377c9lw959h5i2csq4yb27cvg7av17bji46816bv";
   };
 
-  buildInputs = [];
-  makeFlags = ["PREFIX=$(out)"];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
     mkdir -p "$out/share/doc/${pname}"
diff --git a/nixpkgs/pkgs/tools/misc/clipman/default.nix b/nixpkgs/pkgs/tools/misc/clipman/default.nix
new file mode 100644
index 000000000000..861d384f1f82
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/clipman/default.nix
@@ -0,0 +1,30 @@
+{ buildGoModule, fetchFromGitHub, lib, wl-clipboard, makeWrapper }:
+
+buildGoModule rec {
+  pname = "clipman";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "yory8";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0266qb8p5l8j25nn51ajsbiij8bh5r7ywphf2x1l7wfhbzgxz12d";
+  };
+
+  modSha256 = "0aw0ng8pk8qzn1iv79iw0v9zr8xdc8p9xnigr3ij86038f7aqdhv";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/clipman \
+      --prefix PATH : ${lib.makeBinPath [ wl-clipboard ]}
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/yory8/clipman;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ma27 ];
+    description = "A simple clipboard manager for Wayland";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/cloc/default.nix b/nixpkgs/pkgs/tools/misc/cloc/default.nix
index 987d694a0a41..6d567f6119ad 100644
--- a/nixpkgs/pkgs/tools/misc/cloc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cloc";
-  version = "1.82";
+  version = "1.84";
 
   src = fetchFromGitHub {
     owner = "AlDanial";
     repo = "cloc";
     rev = version;
-    sha256 = "0fsz07z0slfg58512fmnlj8pnxkc360bgf7fclg60v9clvcjbjsw";
+    sha256 = "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn";
   };
 
   setSourceRoot = ''
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AlDanial/cloc;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu rycee ];
+    maintainers = with stdenv.lib.maintainers; [ rycee ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix b/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
index 5408c39920be..cdd1891fb405 100644
--- a/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper
 , gawk, gnused, utillinux, file
-, wget, python3, qemu, euca2ools
+, wget, python3, qemu-utils, euca2ools
 , e2fsprogs, cdrkit }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   # according to https://packages.ubuntu.com/source/zesty/cloud-utils
   binDeps = [
-    wget e2fsprogs file gnused gawk utillinux qemu euca2ools cdrkit
+    wget e2fsprogs file gnused gawk utillinux qemu-utils euca2ools cdrkit
   ];
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix b/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix
index 38b4916e3942..b2113f8304cf 100644
--- a/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix
+++ b/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix
@@ -1,19 +1,58 @@
-{ stdenv, fetchurl, colord, intltool, glib, gtk3, pkgconfig, lcms2 }:
+{ stdenv
+, fetchurl
+, colord
+, gettext
+, meson
+, ninja
+, gobject-introspection
+, gtk-doc
+, docbook-xsl-ns
+, docbook_xsl
+, docbook_xml_dtd_412
+, libxslt
+, glib
+, gtk3
+, pkgconfig
+, lcms2
+}:
 
 stdenv.mkDerivation rec {
-  name = "colord-gtk-0.1.26";
+  pname = "colord-gtk";
+  version = "0.2.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "https://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "0i9y3bb5apj6a0f8cx36l6mjzs7xc0k7nf0magmf58vy2mzhpl18";
+    url = "https://www.freedesktop.org/software/colord/releases/${pname}-${version}.tar.xz";
+    sha256 = "05y78jbcbar22sgyhzffhv98dbpl4v6k8j9p807h17y6ighglk1a";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool colord glib gtk3 lcms2 ];
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    meson
+    ninja
+    gobject-introspection
+    gtk-doc
+    docbook-xsl-ns
+    docbook_xsl
+    docbook_xml_dtd_412
+    libxslt
+  ];
+
+  buildInputs = [
+    glib
+    lcms2
+  ];
+
+  propagatedBuildInputs = [
+    colord
+    gtk3
+  ];
 
-  meta = {
-    homepage = http://www.freedesktop.org/software/colord/intro.html;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    homepage = "https://www.freedesktop.org/software/colord/intro.html";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/colord/default.nix b/nixpkgs/pkgs/tools/misc/colord/default.nix
index 91fb208f5c05..54379ec08f07 100644
--- a/nixpkgs/pkgs/tools/misc/colord/default.nix
+++ b/nixpkgs/pkgs/tools/misc/colord/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, nixosTests
 , bash-completion
 , glib
 , polkit
@@ -97,6 +98,12 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions";
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.colord;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
     homepage = https://www.freedesktop.org/software/colord/;
diff --git a/nixpkgs/pkgs/tools/misc/cpulimit/default.nix b/nixpkgs/pkgs/tools/misc/cpulimit/default.nix
index 547e2a1f059f..1978476a12d6 100644
--- a/nixpkgs/pkgs/tools/misc/cpulimit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cpulimit/default.nix
@@ -9,12 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "0xf0r6zxaqan1drz61nqf95p2pkiiihpvrjhrr9dx9j3vswyx31g";
   };
 
-  buildFlags = with stdenv;
+  buildFlags = with stdenv; [ (
     if isDarwin then "osx"
     else if isFreeBSD then "freebsd"
-    else "cpulimit";
+    else "cpulimit"
+  ) ];
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = http://limitcpu.sourceforge.net/;
diff --git a/nixpkgs/pkgs/tools/misc/crudini/default.nix b/nixpkgs/pkgs/tools/misc/crudini/default.nix
index f5291d0789e6..f63cd0d32c9c 100644
--- a/nixpkgs/pkgs/tools/misc/crudini/default.nix
+++ b/nixpkgs/pkgs/tools/misc/crudini/default.nix
@@ -1,47 +1,53 @@
-{ stdenv, fetchFromGitHub, python2Packages, help2man }:
+{ stdenv, fetchFromGitHub, python2Packages, help2man, installShellFiles }:
 
-python2Packages.buildPythonApplication rec {
+let
+  # py3 is supposedly working in version 0.9.3 but the tests fail so stick to py2
+  pypkgs = python2Packages;
+
+in
+pypkgs.buildPythonApplication rec {
   pname = "crudini";
-  version = "0.9";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner  = "pixelb";
     repo   = "crudini";
     rev    = version;
-    sha256 = "0x9z9lsygripj88gadag398pc9zky23m16wmh8vbgw7ld1nhkiav";
+    sha256 = "0298hvg0fpk0m0bjpwryj3icksbckwqqsr9w1ain55wf5s0v24k3";
   };
 
-  nativeBuildInputs = [ help2man ];
-  propagatedBuildInputs = with python2Packages; [ iniparse ];
-
-  doCheck = true;
+  nativeBuildInputs = [ help2man installShellFiles ];
 
-  prePatch = ''
-    # make runs the unpatched version in src so we need to patch them in addition to tests
-    patchShebangs .
-  '';
+  propagatedBuildInputs = with pypkgs; [ iniparse ];
 
-  postBuild = ''
-    make all
+  postPatch = ''
+    substituteInPlace crudini-help \
+      --replace ./crudini $out/bin/crudini
+    substituteInPlace tests/test.sh \
+      --replace ..: $out/bin:
   '';
 
   postInstall = ''
-    mkdir -p $out/share/{man/man1,doc/crudini}
+    # this just creates the man page
+    make all
 
-    cp README EXAMPLES $out/share/doc/crudini/
-    for f in *.1 ; do
-      gzip -c $f > $out/share/man/man1/$(basename $f).gz
-    done
+    install -Dm444 -t $out/share/doc/${pname} README EXAMPLES
+    installManPage *.1
   '';
 
   checkPhase = ''
+    runHook preCheck
+
     pushd tests >/dev/null
-    ./test.sh
+    bash ./test.sh
+    popd >/dev/null
+
+    runHook postCheck
   '';
 
   meta = with stdenv.lib; {
     description = "A utility for manipulating ini files ";
-    homepage = http://www.pixelbeat.org/programs/crudini/;
+    homepage = "https://www.pixelbeat.org/programs/crudini/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/cutecom/default.nix b/nixpkgs/pkgs/tools/misc/cutecom/default.nix
index 83010477c50d..d825b555e195 100644
--- a/nixpkgs/pkgs/tools/misc/cutecom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cutecom/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchFromGitHub, qtbase, qtserialport, cmake }:
+{ mkDerivation, lib, fetchFromGitLab, qtbase, qtserialport, cmake }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "cutecom";
-  version = "0.50.0";
-  src = fetchFromGitHub {
-    owner = "neundorf";
-    repo = "CuteCom";
+  version = "0.51.0";
+
+  src = fetchFromGitLab {
+    owner = "cutecom";
+    repo = "cutecom";
     rev = "v${version}";
-    sha256 = "0zjmbjrwwan9z5cphqjcq2h71cm4mw88j457lzdqb29cg4bdn3ag";
+    sha256 = "1zprabjs4z26hsb64fc3k790aiiqiz9d88j666xrzi4983m1bfv8";
   };
 
   preConfigure = ''
-    substituteInPlace CMakeLists.txt --replace "#find_package(Serialport REQUIRED)" "find_package(Qt5SerialPort REQUIRED)"
+    substituteInPlace CMakeLists.txt \
+      --replace "#find_package(Serialport REQUIRED)" "find_package(Qt5SerialPort REQUIRED)"
   '';
-  buildInputs = [qtbase qtserialport cmake];
 
-  meta = {
+  buildInputs = [ qtbase qtserialport ];
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
     description = "A graphical serial terminal";
-    homepage = http://cutecom.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.bennofs ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://gitlab.com/cutecom/cutecom/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ bennofs ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ddcutil/default.nix b/nixpkgs/pkgs/tools/misc/ddcutil/default.nix
index 0ddceb76ffe8..e3ba0abb8bc3 100644
--- a/nixpkgs/pkgs/tools/misc/ddcutil/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "0.9.5";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1mqamwafm0rhw420i0pib6gq6hkdafnbg07b0z2ckrxii44sy0c2";
+    sha256 = "1r89cfw3ycqwvpfwwiqg8ykc1vyr1gf3ah30mvrmmalgmi6bnx5w";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/misc/debianutils/default.nix b/nixpkgs/pkgs/tools/misc/debianutils/default.nix
index b42c302a38f4..74aec9bae6a0 100644
--- a/nixpkgs/pkgs/tools/misc/debianutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/debianutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "debianutils";
-  version = "4.8.6.3";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
-    sha256 = "08g2gdm6n66w5m8qwm4f48wzgs3ymkpki6dg01nwzwbdzhxdxirc";
+    sha256 = "14a0fqdpwdw72790jjm01g5n7lwwaf9d6k78fflbysn5v62nd0mg";
   };
 
   meta = with stdenv.lib; {
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus publicDomain smail ];
     maintainers = [];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/debootstrap/default.nix b/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
index ec594de0c341..da810b3c9d87 100644
--- a/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
@@ -15,13 +15,13 @@ let binPath = stdenv.lib.makeBinPath [
   ];
 in stdenv.mkDerivation rec {
   pname = "debootstrap";
-  version = "1.0.115";
+  version = "1.0.116";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.gz";
-    sha256 = "1s6ln7r6y91f0xmzbf9x4yx53hzcpiaa76i9dbmpy0ibw1ji30g4";
+    sha256 = "06gh7hks8flpg327wnrwwmp7h9s6knz2kk794s5wpd91iwnjfcyb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/desktop-file-utils/setup-hook.sh b/nixpkgs/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
index 004d635cff0e..728070e34581 100644
--- a/nixpkgs/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
+++ b/nixpkgs/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
@@ -3,4 +3,4 @@ mimeinfoPreFixupPhase() {
     rm -f $out/share/applications/mimeinfo.cache
 }
 
-preFixupPhases="$preFixupPhases mimeinfoPreFixupPhase"
+preFixupPhases="${preFixupPhases-} mimeinfoPreFixupPhase"
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index 22da00da9fca..b64c527a6b99 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python3Packages, docutils, help2man
+{ lib, stdenv, fetchurl, python3Packages, docutils, help2man
 , acl, apktool, binutils-unwrapped, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
 , e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
 , gzip, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
@@ -8,13 +8,12 @@
 
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
-  name = "diffoscope-${version}";
-  version = "110";
+  pname = "diffoscope";
+  version = "133";
 
-  src = fetchgit {
-    url    = "https://anonscm.debian.org/git/reproducible/diffoscope.git";
-    rev    = "refs/tags/${version}";
-    sha256 = "0rhjxigwxbqbqk7xv7n4m4rh693rg3cbp4x565jv68iy423mf2fb";
+  src = fetchurl {
+    url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
+    sha256 = "15hi2fwcx3sf189rmxpyah0amq1a49wgp1ynhvwij5qj13wib2q8";
   };
 
   patches = [
@@ -34,9 +33,9 @@ python3Packages.buildPythonApplication rec {
   # Most of the non-Python dependencies here are optional command-line tools for various file-format parsers.
   # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
   #
-  # Still missing these tools: abootimg docx2txt dumpxsb enjarify js-beautify lipo oggDump otool procyon-decompiler Rscript
+  # Still missing these tools: abootimg docx2txt dumpxsb enjarify js-beautify lipo oggDump otool procyon-decompiler Rscript wasm2wat zipnode
   # Also these libraries: python3-guestfs
-  pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm ] ++ [
+  pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm pyxattr ] ++ [
       acl binutils-unwrapped bzip2 cdrkit colordiff coreutils cpio db diffutils
       dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
       libarchive libcaca lz4 pgpdump progressbar33 sng sqlite squashfsTools unzip xxd xz
diff --git a/nixpkgs/pkgs/tools/misc/dua/default.nix b/nixpkgs/pkgs/tools/misc/dua/default.nix
index a502735c7735..5ac8a661c9ac 100644
--- a/nixpkgs/pkgs/tools/misc/dua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dua/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "08zgi2yiynb20l1f9rhly4a7zgqnr7lq3cr5vkmh1jnfs6z27dv6";
   };
 
-  cargoSha256 = "0ca9gaih0b9qg7bdgyhvb9gr1mq23r62pi0845vwc216jfaag079";
+  cargoSha256 = "0hd46h4wwh81hnida0in3142884y8n6ygk7qm09i5wj52g73bivv";
 
   meta = with lib; {
     description = "A tool to conveniently learn about the disk usage of directories, fast!";
diff --git a/nixpkgs/pkgs/tools/misc/dust/default.nix b/nixpkgs/pkgs/tools/misc/dust/default.nix
index 4dffae557a4e..4239b54f18e7 100644
--- a/nixpkgs/pkgs/tools/misc/dust/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dust";
-  version = "0.2.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "1l8z1daiq2x92449p2ciblcwl0ddgr3vqj2dsd3z8jj3y0z8j51s";
+    sha256 = "0z1vi5agaf1gcq1bdzgfc89v6vpk9kaxxy8f3rd2h6yzdrd2dhk7";
   };
 
-  cargoSha256 = "1bby08ijpwb8676pgm87k80s0n0fqsxc3wmz0v8p9s85yzkflnx5";
+  cargoSha256 = "08c428rrana0llzhkg8ngzqs6vc773jrf4wql2qxdvm4l0nsx596";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/dylibbundler/default.nix b/nixpkgs/pkgs/tools/misc/dylibbundler/default.nix
index 6bb9924ddd09..c4209442de8d 100644
--- a/nixpkgs/pkgs/tools/misc/dylibbundler/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dylibbundler/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1mpd43hvpfp7pskfrjnd6vcmfii9v3p97q0ws50krkdvshp0bv2h";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Small command-line program that aims to make bundling .dylibs as easy as possible";
diff --git a/nixpkgs/pkgs/tools/misc/ent/default.nix b/nixpkgs/pkgs/tools/misc/ent/default.nix
index 1c0401e2eadc..7e8d04b42092 100644
--- a/nixpkgs/pkgs/tools/misc/ent/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ent/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ unzip ];
 
-  buildFlags = if stdenv.cc.isClang then [ "CC=clang" ] else null;
+  buildFlags = stdenv.lib.optional stdenv.cc.isClang "CC=clang";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/tools/misc/entr/default.nix b/nixpkgs/pkgs/tools/misc/entr/default.nix
index 954b570c79da..247572a379f7 100644
--- a/nixpkgs/pkgs/tools/misc/entr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "entr";
-  version = "4.2";
+  version = "4.4";
 
   src = fetchurl {
     url = "http://entrproject.org/code/${pname}-${version}.tar.gz";
-    sha256 = "0w2xkf77jikcjh15fp9g7661ss30pz3jbnh261vqpaqavwah4c17";
+    sha256 = "1x2hyc8vc5dz6k7b3291vxz36wllhinvqrb0d8zx9bv0ydj6qmjl";
   };
 
   postPatch = ''
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "Run arbitrary commands when files change";
     license = licenses.isc;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub synthetica ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/etcher/default.nix b/nixpkgs/pkgs/tools/misc/etcher/default.nix
new file mode 100644
index 000000000000..4944600108ae
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/etcher/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, fetchurl
+, gcc-unwrapped
+, dpkg
+, polkit
+, bash
+, nodePackages
+, electron_3
+, gtk3
+, wrapGAppsHook
+}:
+
+let
+  libPath = lib.makeLibraryPath [
+    # for libstdc++.so.6
+    gcc-unwrapped.lib
+  ];
+
+  sha256 = {
+    "x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7";
+    "i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc";
+  }."${stdenv.system}";
+
+  arch = {
+    "x86_64-linux" = "amd64";
+    "i686-linux" = "i386";
+  }."${stdenv.system}";
+
+in stdenv.mkDerivation rec {
+  pname = "etcher";
+  version = "1.5.60";
+
+  src = fetchurl {
+    url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
+    inherit sha256;
+  };
+
+  buildInputs = [
+    gtk3
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackPhase = ''
+    ${dpkg}/bin/dpkg-deb -x $src .
+  '';
+
+  # sudo-prompt has hardcoded binary paths on Linux and we patch them here
+  # along with some other paths
+  patchPhase = ''
+    ${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp
+    # Use Nix(OS) paths
+    sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js
+    sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js
+    sed -i "s|process.resourcesPath|'$out/opt/balenaEtcher/resources/'|" tmp/generated/gui.js
+    ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
+    rm -rf tmp
+    # Fix up .desktop file
+    substituteInPlace usr/share/applications/balena-etcher-electron.desktop \
+      --replace "/opt/balenaEtcher/balena-etcher-electron" "$out/bin/balena-etcher-electron"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r opt $out/
+    cp -r usr/share $out/
+
+    # We'll use our Nixpkgs electron_3 instead
+    rm $out/opt/balenaEtcher/balena-etcher-electron
+
+    ln -s ${electron_3}/bin/electron $out/bin/balena-etcher-electron
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --add-flags $out/opt/balenaEtcher/resources/app.asar
+      --prefix LD_LIBRARY_PATH : ${libPath}
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flash OS images to SD cards and USB drives, safely and easily";
+    homepage = "https://etcher.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.shou ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/ethminer/default.nix b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
index 8a270ed0fef6..1ec99f12d821 100644
--- a/nixpkgs/pkgs/tools/misc/ethminer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
@@ -1,16 +1,31 @@
-{ stdenv, fetchFromGitHub, opencl-headers, cmake, jsoncpp, boost, makeWrapper,
-  cudatoolkit, mesa, ethash, opencl-info, ocl-icd, openssl, pkg-config, cli11 }:
+{
+  stdenv,
+  fetchFromGitHub,
+  opencl-headers,
+  cmake,
+  jsoncpp,
+  boost,
+  makeWrapper,
+  cudatoolkit,
+  mesa,
+  ethash,
+  opencl-info,
+  ocl-icd,
+  openssl,
+  pkg-config,
+  cli11
+}:
 
 stdenv.mkDerivation rec {
   pname = "ethminer";
-  version = "0.18.0-rc.0";
+  version = "0.18.0";
 
   src =
     fetchFromGitHub {
       owner = "ethereum-mining";
       repo = "ethminer";
       rev = "v${version}";
-      sha256 = "0gwnwxahjfwr4d2aci7y3w206nc5ifssl28ildva98ys0d24wy7z";
+      sha256 = "10b6s35axmx8kyzn2vid6l5nnzcaf4nkk7f5f7lg3cizv6lsj707";
       fetchSubmodules = true;
     };
 
diff --git a/nixpkgs/pkgs/tools/misc/ethtool/default.nix b/nixpkgs/pkgs/tools/misc/ethtool/default.nix
index 8fa1eccadf01..bffc8a01f920 100644
--- a/nixpkgs/pkgs/tools/misc/ethtool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "5.2";
+  version = "5.3";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${pname}-${version}.tar.xz";
-    sha256 = "01bq2g7amycfp4syzcswz52pgphdgswklziqfjwnq3c6844dfpv6";
+    sha256 = "1i14zrg4a84zjpwvqi8an0zx0hm06g614a79zc2syrkhrvdw1npk";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch b/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch
new file mode 100644
index 000000000000..67553f0d6d83
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch
@@ -0,0 +1,589 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..ac198e7
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,583 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (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.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "atty"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "backtrace"
++version = "0.3.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.66 (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.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "blake2b_simd"
++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.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)",
++]
++
++[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cc"
++version = "1.0.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.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)",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++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)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "directories"
++version = "2.0.2"
++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)",
++ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (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)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++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.66 (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)",
++]
++
++[[package]]
++name = "eva"
++version = "0.2.7"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "radix_fmt 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)",
++ "rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.6"
++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.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "log"
++version = "0.4.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)",
++]
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "nix"
++version = "0.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (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.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-bigint"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.10 (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.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]]
++name = "num-integer"
++version = "0.1.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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.10 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-bigint 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-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "proc-macro2"
++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)",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.2"
++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)",
++]
++
++[[package]]
++name = "radix_fmt"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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.66 (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)",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_users"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "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)",
++]
++
++[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rust-argon2"
++version = "0.5.1"
++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.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustyline"
++version = "4.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "syn"
++version = "1.0.11"
++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)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.3"
++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.11 (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 = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.6 (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"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.6"
++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"
++
++[[package]]
++name = "utf8parse"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "void"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[metadata]
++"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 arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
++"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"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 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 byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
++"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
++"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 fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
++"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.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
++"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"
++"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++"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 rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f47ea1ceb347d2deae482d655dc8eef4bd82363d3329baffa3818bd76fea48b"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
++"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
++"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-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/misc/eva/default.nix b/nixpkgs/pkgs/tools/misc/eva/default.nix
new file mode 100644
index 000000000000..bf43d11e5666
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/eva/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "eva";
+  version = "0.2.7";
+
+  cargoSha256 = "0n3xvlmp4l925nbz8lx6dr9yrrfh6z7b9z8wd6sli3a1dq26d6bg";
+
+  src = fetchFromGitHub {
+    owner = "NerdyPepper";
+    repo = "${pname}";
+    rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
+    sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
+  };
+
+  cargoPatches = [ ./Cargo.lock.patch ];
+
+  patches = [
+    # to fix the test suite (can be removed as soon as #33 is merged).
+    (fetchpatch {
+      url = https://github.com/NerdyPepper/eva/commit/cacf51dbb9748b1dbe97b35f3c593a0a272bd4db.patch;
+      sha256 = "11q7dkz2x1888f3awnlr1nbbxzzfjrr46kd0kk6sgjdkyfh50cvv";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A calculator REPL, similar to bc";
+    homepage = https://github.com/NerdyPepper/eva;
+    license = licenses.mit;
+    maintainers = with maintainers; [ nrdxp ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/exa/default.nix b/nixpkgs/pkgs/tools/misc/exa/default.nix
index e05963b69027..0edd8a1b318f 100644
--- a/nixpkgs/pkgs/tools/misc/exa/default.nix
+++ b/nixpkgs/pkgs/tools/misc/exa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkgconfig, zlib
 , darwin, libiconv, installShellFiles
 }:
 
@@ -17,6 +17,15 @@ buildRustPackage rec {
     sha256 = "14qlm9zb9v22hxbbi833xaq2b7qsxnmh15s317200vz5f1305hhw";
   };
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/ogham/exa/pull/584
+      name = "fix-panic-on-broken-symlink-in-git-repository.patch";
+      url = "https://github.com/ogham/exa/pull/584/commits/a7a8e99cf3a15992afb2383435da0231917ffb54.patch";
+      sha256 = "0n5q483sz300jkp0sbb350hdinmkw7s6bmigdyr6ypz3fvygd9hx";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig perl installShellFiles ];
   buildInputs = [ zlib ]
   ++ stdenv.lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/tools/misc/execline/default.nix b/nixpkgs/pkgs/tools/misc/execline/default.nix
index 5a967ea20959..d06798e5d6dd 100644
--- a/nixpkgs/pkgs/tools/misc/execline/default.nix
+++ b/nixpkgs/pkgs/tools/misc/execline/default.nix
@@ -1,42 +1,85 @@
-{ skawarePackages, makeWrapper }:
+{ lib, skawarePackages
+# for execlineb-with-builtins
+, coreutils, gnugrep, writeScriptBin, runCommand, runCommandCC
+# Whether to wrap bin/execlineb to have the execline tools on its PATH.
+, execlineb-with-builtins ? true
+}:
 
 with skawarePackages;
 
-buildPackage {
-  pname = "execline";
-  version = "2.5.1.0";
-  sha256 = "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi";
+let
+  outputs = [ "bin" "lib" "dev" "doc" "out" ];
 
-  description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
+  execline =
+    buildPackage {
+      pname = "execline";
+      version = "2.5.3.0";
+      sha256 = "0czdrv9m8mnx94nf28dafij6z03k4mbhbs6hccfaardfd5l5q805";
 
-  outputs = [ "bin" "lib" "dev" "doc" "out" ];
+      description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
+
+      inherit outputs;
+
+      # TODO: nsss support
+      configureFlags = [
+        "--libdir=\${lib}/lib"
+        "--dynlibdir=\${lib}/lib"
+        "--bindir=\${bin}/bin"
+        "--includedir=\${dev}/include"
+        "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
+        "--with-include=${skalibs.dev}/include"
+        "--with-lib=${skalibs.lib}/lib"
+        "--with-dynlib=${skalibs.lib}/lib"
+      ];
+
+      postInstall = ''
+        # remove all execline executables from build directory
+        rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
+        rm libexecline.*
 
-  setupHooks = [ makeWrapper ];
-
-  # TODO: nsss support
-  configureFlags = [
-    "--libdir=\${lib}/lib"
-    "--dynlibdir=\${lib}/lib"
-    "--bindir=\${bin}/bin"
-    "--includedir=\${dev}/include"
-    "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
-    "--with-include=${skalibs.dev}/include"
-    "--with-lib=${skalibs.lib}/lib"
-    "--with-dynlib=${skalibs.lib}/lib"
-  ];
-
-  postInstall = ''
-    # remove all execline executables from build directory
-    rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
-    rm libexecline.*
-
-    mv doc $doc/share/doc/execline/html
-    mv examples $doc/share/doc/execline/examples
-
-    # finally, add all tools to PATH so they are available
-    # from within execlineb scripts by default
-    wrapProgram $bin/bin/execlineb \
-      --suffix PATH : $bin/bin
+        mv doc $doc/share/doc/execline/html
+        mv examples $doc/share/doc/execline/examples
+      '';
+
+    };
+
+  # A wrapper around execlineb, which provides all execline
+  # tools on `execlineb`’s PATH.
+  # It is implemented as a C script, because on non-Linux,
+  # nested shebang lines are not supported.
+  execlineb-with-builtins-drv = runCommandCC "execlineb" {} ''
+    mkdir -p $out/bin
+    cc \
+      -O \
+      -Wall -Wpedantic \
+      -D 'EXECLINEB_PATH()="${execline}/bin/execlineb"' \
+      -D 'EXECLINE_BIN_PATH()="${execline}/bin"' \
+      -I "${skalibs.dev}/include" \
+      -L "${skalibs.lib}/lib" \
+      -l"skarnet" \
+      -o "$out/bin/execlineb" \
+      ${./execlineb-wrapper.c}
   '';
 
-}
+
+  # the original execline package, with bin/execlineb overwritten
+  execline-with-builtins = runCommand "my-execline"
+    (execline.drvAttrs // {
+      preferLocalBuild = true;
+      allowSubstitutes = false;
+    })
+    # copy every output and just overwrite the execlineb binary in $bin
+    ''
+      ${lib.concatMapStringsSep "\n"
+        (output: ''
+          cp -r ${execline.${output}} "''$${output}"
+          chmod --recursive +w "''$${output}"
+        '')
+        outputs}
+      install ${execlineb-with-builtins-drv}/bin/execlineb $bin/bin/execlineb
+    '';
+
+in
+  if execlineb-with-builtins
+  then execline-with-builtins
+  else execline
diff --git a/nixpkgs/pkgs/tools/misc/execline/execlineb-wrapper.c b/nixpkgs/pkgs/tools/misc/execline/execlineb-wrapper.c
new file mode 100644
index 000000000000..09ccf990af7f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/execline/execlineb-wrapper.c
@@ -0,0 +1,43 @@
+#include <stdlib.h>
+#include <string.h>
+
+#include <skalibs/stralloc.h>
+#include <skalibs/djbunix.h>
+#include <skalibs/strerr2.h>
+#include <skalibs/env.h>
+
+#define dienomem() strerr_diefu1sys(111, "stralloc_catb")
+
+// macros from outside
+/* const char* EXECLINEB_PATH; */
+/* const char* EXECLINE_BIN_PATH; */
+
+int main(int argc, char const* argv[], char const *const *envp)
+{
+  PROG = "execlineb-wrapper";
+
+  char const* path = getenv("PATH");
+  stralloc path_modif = STRALLOC_ZERO;
+
+  // modify PATH if unset or EXECLINEB_BIN_PATH is not yet there
+  if ( !path || ! strstr(path, EXECLINE_BIN_PATH())) {
+    // prepend our execline path
+    if ( ! stralloc_cats(&path_modif, "PATH=")
+         || ! stralloc_cats(&path_modif, EXECLINE_BIN_PATH()) ) dienomem();
+    // old path was not empty
+    if ( path && path[0] ) {
+      if ( ! stralloc_catb(&path_modif, ":", 1)
+           || ! stralloc_cats(&path_modif, path) ) dienomem();
+    }
+    // append final \0
+    if ( ! stralloc_0(&path_modif) ) dienomem();
+  }
+
+  // exec into execlineb and append path_modif to the environment
+  xpathexec_r_name(
+    EXECLINEB_PATH(),
+    argv,
+    envp, env_len(envp),
+    path_modif.s, path_modif.len
+  );
+}
diff --git a/nixpkgs/pkgs/tools/misc/fdupes/default.nix b/nixpkgs/pkgs/tools/misc/fdupes/default.nix
index 25179c36c01f..af9a7c9a1332 100644
--- a/nixpkgs/pkgs/tools/misc/fdupes/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fdupes/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "19b6vqblddaw8ccw4sn0qsqzbswlhrz8ia6n4m3hymvcxn8skpz9";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Identifies duplicate files residing within specified directories";
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/adrianlopezroche/fdupes;
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.z77z ];
+    maintainers = [ maintainers.maggesi ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ffsend/default.nix b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
index 316420008065..bb10bfe2ec76 100644
--- a/nixpkgs/pkgs/tools/misc/ffsend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.51";
+  version = "0.2.58";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "1ckzgzbv2fh5y7c5r0b9n6y2migmsrnlwdg7dybr0c82s39swr7f";
+    sha256 = "0yqigqh5vldzmp7wc1mxi5a4bxzm81xycx5h0ghak74vbjibps49";
   };
 
-  cargoSha256 = "1x4hxar60lwimldpsi0frdlssgsb72qahn3dmb980sj6cmbq3f0b";
+  cargoSha256 = "1wwdnm6a5g4gpd1f89qii8v4f6mcfc1bif1v6mdlcbrpwax5skh4";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
@@ -55,7 +55,7 @@ buildRustPackage rec {
     '';
     homepage = https://gitlab.com/timvisee/ffsend;
     license = licenses.gpl3;
-    maintainers = [ maintainers.lilyball ];
+    maintainers = with maintainers; [ lilyball equirosa ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/file/default.nix b/nixpkgs/pkgs/tools/misc/file/default.nix
index b3ed85ca2282..24a7143d8e11 100644
--- a/nixpkgs/pkgs/tools/misc/file/default.nix
+++ b/nixpkgs/pkgs/tools/misc/file/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "file";
-  version = "5.37";
+  version = "5.38";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${pname}-${version}.tar.gz"
       "https://distfiles.macports.org/file/${pname}-${version}.tar.gz"
     ];
-    sha256 = "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9";
+    sha256 = "0d7s376b4xqymnrsjxi3nsv3f5v89pzfspzml2pcajdk5by2yg2r";
   };
 
   nativeBuildInputs = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
@@ -18,8 +18,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  makeFlags = if stdenv.hostPlatform.isWindows then "FILE_COMPILE=file"
-              else null;
+  makeFlags = stdenv.lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file";
 
   meta = with stdenv.lib; {
     homepage = https://darwinsys.com/file;
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index 08d091cb3002..516badb7bc78 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, flex, bison }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.0.6";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
-    rev = "8cc3a1887c3fcd6dd95a4a475fb213a0e399c222";
-    sha256 = "0rmdbrhhrim80d0hwbz56d5f8rypm6h62ks3xnr0b4w987w10653";
+    rev = "v${version}";
+    sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake flex bison ];
 
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
diff --git a/nixpkgs/pkgs/tools/misc/fondu/default.nix b/nixpkgs/pkgs/tools/misc/fondu/default.nix
index 33efd2bd6143..772ae236764c 100644
--- a/nixpkgs/pkgs/tools/misc/fondu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fondu/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "152prqad9jszjmm4wwqrq83zk13ypsz09n02nrk1gg0fcxfm7fr2";
   };
 
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = [ "DESTDIR=$(out)" ];
 
   hardeningDisable = [ "fortify" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/fontforge/default.nix b/nixpkgs/pkgs/tools/misc/fontforge/default.nix
index e012d40271b5..6239e8395981 100644
--- a/nixpkgs/pkgs/tools/misc/fontforge/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fontforge/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   # do not use x87's 80-bit arithmetic, rouding errors result in very different font binaries
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isi686 [ "-msse2" "-mfpmath=sse" ];
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isi686 "-msse2 -mfpmath=sse";
 
   nativeBuildInputs = [ pkgconfig autoconf automake gnum4 libtool perl gettext ];
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/fpp/default.nix b/nixpkgs/pkgs/tools/misc/fpp/default.nix
index ac731bcdbe86..7f036cb1f908 100644
--- a/nixpkgs/pkgs/tools/misc/fpp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fpp";
-  version = "0.8.2";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "PathPicker";
     rev = version;
-    sha256 = "00916xx4scd4xr9zxqkyhilczi27f2qm5y042592wr79ddix4n9v";
+    sha256 = "08p2xlz045fqyb0aj9pwwf2s5nb4b02i8zj81732q59yx5c6lrlv";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/fselect/default.nix b/nixpkgs/pkgs/tools/misc/fselect/default.nix
new file mode 100644
index 000000000000..0685ecf2440a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/fselect/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fselect";
+  version = "0.6.8";
+
+  src = fetchFromGitHub {
+    owner = "jhspetersson";
+    repo = "fselect";
+    rev = version;
+    sha256 = "1zccl60l557lhaaqb33myys4vp3jsnjqh3dxb22i46bff28s1w6c";
+  };
+
+  cargoSha256 = "1496zjrkwj5bv08k575m064x0hfk0gpci0dmxvvspj6jf8f8bfm6";
+
+  meta = with stdenv.lib; {
+    description = "Find files with SQL-like queries";
+    homepage = "https://github.com/jhspetersson/fselect";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/fwup/default.nix b/nixpkgs/pkgs/tools/misc/fwup/default.nix
index a189e8c1dba5..99dcc194d011 100644
--- a/nixpkgs/pkgs/tools/misc/fwup/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.3.1";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "058llxr8hbdjl721g76icm0gr50bglcgazwrbp3dxyd9jaa0bzc7";
+    sha256 = "08gscwdq7fwfpk3mf7dfdf64n5ijm5kjb7f5wrzzvpnnqz24xnb0";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/misc/fzf/default.nix b/nixpkgs/pkgs/tools/misc/fzf/default.nix
index 66da4f53099a..960373e7e5fc 100644
--- a/nixpkgs/pkgs/tools/misc/fzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl";
+    sha256 = "02zy3c4k84rzqdkaf04idbj10v286hi0ix1xl2qsz1wrblh168w8";
   };
 
-  modSha256 = "0xc4166d74ix5nzjphrq4rgw7qpskz05ymzl77i2qh2nhbdb53p0";
+  modSha256 = "12lnv8b96adpcg9qfizcyd9nxz590nxd82xch6ij719zlqyps143";
 
   outputs = [ "out" "man" ];
 
@@ -36,15 +36,13 @@ buildGoModule rec {
   '';
 
   postInstall = ''
-    name="${pname}-${version}"
-
     cp $src/bin/fzf-tmux $out/bin
 
     mkdir -p $man/share/man
     cp -r $src/man/man1 $man/share/man
 
-    mkdir -p $out/share/vim-plugins/$name
-    cp -r $src/plugin $out/share/vim-plugins/$name
+    mkdir -p $out/share/vim-plugins/${pname}
+    cp -r $src/plugin $out/share/vim-plugins/${pname}
 
     cp -R $src/shell $out/share/fzf
     cat <<SCRIPT > $out/bin/fzf-share
@@ -60,6 +58,7 @@ buildGoModule rec {
     homepage = "https://github.com/junegunn/fzf";
     description = "A command-line fuzzy finder written in Go";
     license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fzy/default.nix b/nixpkgs/pkgs/tools/misc/fzy/default.nix
index 5b05ce534d70..24daa7fc81fa 100644
--- a/nixpkgs/pkgs/tools/misc/fzy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzy/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1gkzdvj73f71388jvym47075l9zw61v6l8wdv2lnc0mns6dxig0k";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A better fuzzy finder";
diff --git a/nixpkgs/pkgs/tools/misc/gawp/default.nix b/nixpkgs/pkgs/tools/misc/gawp/default.nix
index 002853abc1d3..865ce3c440d1 100644
--- a/nixpkgs/pkgs/tools/misc/gawp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gawp/default.nix
@@ -16,4 +16,10 @@ buildGoPackage rec {
   };
 
   goDeps = ./deps.nix;
+
+  meta = {
+    homepage = "https://github.com/martingallagher/gawp";
+    description = "A simple, configurable, file watching, job execution tool";
+    license = stdenv.lib.licenses.asl20;
+  };
 }
diff --git a/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index 0f32d1e63b1e..b18ac1093829 100644
--- a/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "4.4.1";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "0s3v8frflqqifyzq84xi6322wg8c9f5wcaic9zlpdf6wylqsiali";
+    sha256 = "1hqqwk5hbqgrxfqlcbgk6rv3a71k65psxcqa6hw41y9jymnm3dp3";
   };
 
   dontConfigure = true;
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -r geekbench.plar geekbench4 geekbench_x86_64 $out/bin
+    cp -r geekbench.plar geekbench5 geekbench_x86_64 $out/bin
 
-    for f in geekbench4 geekbench_x86_64 ; do
+    for f in geekbench5 geekbench_x86_64 ; do
       patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $out/bin/$f
       wrapProgram $out/bin/$f --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
     done
diff --git a/nixpkgs/pkgs/tools/misc/getopt/default.nix b/nixpkgs/pkgs/tools/misc/getopt/default.nix
index 62414a604756..d168c8aaa14e 100644
--- a/nixpkgs/pkgs/tools/misc/getopt/default.nix
+++ b/nixpkgs/pkgs/tools/misc/getopt/default.nix
@@ -17,5 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    homepage = http://frodo.looijaard.name/project/getopt;
+    description = "Parses command-line arguments from shell scripts";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
new file mode 100644
index 000000000000..a4b9af09712e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
@@ -0,0 +1,26 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "gotify-cli";
+  version = "2.1.1";
+
+  src = fetchFromGitHub {
+    owner = "gotify";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "131gs6xzfggnrzq5jgyky23zvcmhx3q3hd17xvqxd02s2i9x1mg4";
+  };
+
+  modSha256 = "1lrsg33zd7m24za2gv407hz02n3lmz9qljfk82whlj44hx7kim1z";
+
+  postInstall = ''
+    mv $out/bin/cli $out/bin/gotify
+  '';
+
+  meta = with lib; {
+    license = licenses.mit;
+    homepage = https://github.com/gotify/cli;
+    description = "A command line interface for pushing messages to gotify/server.";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/gparted/default.nix b/nixpkgs/pkgs/tools/misc/gparted/default.nix
index 49a2809b6042..6b32c408ed93 100644
--- a/nixpkgs/pkgs/tools/misc/gparted/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gparted/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome3
-, gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2, hicolor-icon-theme
+, gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2
 , gpart, hdparm, procps, utillinux, polkit, wrapGAppsHook, substituteAll
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-doc" ];
 
-  buildInputs = [ parted glib libuuid gtkmm3 libxml2 hicolor-icon-theme polkit.bin gnome3.adwaita-icon-theme  ];
+  buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin gnome3.adwaita-icon-theme  ];
   nativeBuildInputs = [ intltool gettext pkgconfig wrapGAppsHook ];
 
   preFixup = ''
diff --git a/nixpkgs/pkgs/tools/misc/graylog/default.nix b/nixpkgs/pkgs/tools/misc/graylog/default.nix
index 52e712c5cb1b..d56f44aacefc 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "3.1.2";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "14zr1aln34j5wifhg6ak3f83l959vic8i11jr90ibmnxl5v4hcqp";
+    sha256 = "0jwfq9q10nz6fy9ac2j4fcf0liz4vj0q7jmfhy9dsa3476zccwa8";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/hashit/default.nix b/nixpkgs/pkgs/tools/misc/hashit/default.nix
index 6d9285247133..9a3ffe935102 100644
--- a/nixpkgs/pkgs/tools/misc/hashit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hashit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, pantheon, python3, libgee, gtk3, desktop-file-utils, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, pantheon, python3, libgee, gtk3, desktop-file-utils, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "hashit";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     desktop-file-utils
     meson
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     python3
     wrapGAppsHook
@@ -33,6 +33,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A simple app for checking usual checksums - Designed for elementary OS";
     homepage = https://github.com/artemanufrij/hashit;
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index 336010718dda..332938601901 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     inherit mpi;
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ removeReferencesTo ];
 
   buildInputs = []
@@ -51,6 +53,10 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+    moveToOutput 'bin/h5cc' "''${!outputDev}"
+    moveToOutput 'bin/h5c++' "''${!outputDev}"
+    moveToOutput 'bin/h5fc' "''${!outputDev}"
+    moveToOutput 'bin/h5pcc' "''${!outputDev}"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/misc/hebcal/default.nix b/nixpkgs/pkgs/tools/misc/hebcal/default.nix
index 39678abeba43..8b435fcef565 100644
--- a/nixpkgs/pkgs/tools/misc/hebcal/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hebcal/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "4.18";
+  version = "4.19";
   pname = "hebcal";
 
   src = fetchFromGitHub {
     owner = "hebcal";
     repo = "hebcal";
     rev = "v${version}";
-    sha256 = "13b3gbfl043s6vycf5kdy2lkchy3kg690vy0dpmy3si6x05nl10w";
+    sha256 = "028y2bw0bs0bx58gnxzbrg2c14a2pgkni2carf5i7kb6dg4wnkaq";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/heimdall/default.nix b/nixpkgs/pkgs/tools/misc/heimdall/default.nix
index a8100e455f0b..26396fee507e 100644
--- a/nixpkgs/pkgs/tools/misc/heimdall/default.nix
+++ b/nixpkgs/pkgs/tools/misc/heimdall/default.nix
@@ -21,11 +21,14 @@ mkDerivation {
 
   cmakeFlags = [
     "-DDISABLE_FRONTEND=${if enableGUI then "OFF" else "ON"}"
+    "-DLIBUSB_LIBRARY=${libusb1}"
   ];
 
   preConfigure = ''
     # Give ownership of the Galaxy S USB device to the logged in user.
     substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"'
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace libpit/CMakeLists.txt --replace "-std=gnu++11" ""
   '';
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/hexyl/default.nix b/nixpkgs/pkgs/tools/misc/hexyl/default.nix
index f6b0649e4046..c00e47433c1a 100644
--- a/nixpkgs/pkgs/tools/misc/hexyl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hexyl/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname   = "hexyl";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0511ikhfc0fa6cfp02n49zlzyqgwf7ymgn911y8fnjlaf6grsh67";
+    sha256 = "1n2q5a6697bxvl0askywhad2x560cajv456gxihdqqmmyq2vf63h";
   };
 
-  cargoSha256 = "126hq802hncji4yvkf7jvaq2njzw8kwzvc7fqw99nrdn4k56xig7";
+  cargoSha256 = "1wcpbqlglf9r0xhfjmyym8bnd4pgrsf9lrmb14hn1ml5zlshpd7p";
 
   meta = with stdenv.lib; {
     description = "A command-line hex viewer";
diff --git a/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock b/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
index be01c0118b3d..ec69f523f3b8 100644
--- a/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,20 +5,22 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.11.1)
-    html-proofer (3.12.2)
+    ffi (1.11.3)
+    html-proofer (3.15.0)
       addressable (~> 2.3)
       mercenary (~> 0.3)
-      nokogiri (~> 1.10)
+      nokogumbo (~> 2.0)
       parallel (~> 1.3)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
       yell (~> 2.0)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    parallel (1.17.0)
+    nokogumbo (2.0.2)
+      nokogiri (~> 1.8, >= 1.8.4)
+    parallel (1.19.1)
     public_suffix (4.0.1)
     rainbow (3.0.0)
     typhoeus (1.3.1)
@@ -32,4 +34,4 @@ DEPENDENCIES
   html-proofer
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix b/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
index 2deda655d995..1f561f529763 100644
--- a/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,21 +26,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.3";
   };
   html-proofer = {
-    dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
+    dependencies = ["addressable" "mercenary" "nokogumbo" "parallel" "rainbow" "typhoeus" "yell"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xkcchgvlqkk3xgn11vw8n42bhavj6nn6vqsbycbx1rqxgiljlhy";
+      sha256 = "0nmwxmn0dxgs53g1cqn251dzmjrklw14cpa6z6wz7cdwvjq47500";
       type = "gem";
     };
-    version = "3.12.2";
+    version = "3.15.0";
   };
   mercenary = {
     groups = ["default"];
@@ -68,20 +68,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.7";
+  };
+  nokogumbo = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      type = "gem";
+    };
+    version = "2.0.2";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.1";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/misc/hyperfine/default.nix b/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
index c9489e37e25c..9a27c4df7721 100644
--- a/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
@@ -4,22 +4,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.6.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0rwmigdnw2zgixzmif3wzw1adlyyk71jzvjfccqmgz840jkpvmcy";
+    sha256 = "0jx2lqhayp14c51dfvgmqrmmadyvxf0p4dsn770ndqpzv66rh6zb";
   };
 
-  cargoSha256 = "1j9ngbabg6vchgpiaqsbcvsm86syx2nbckzf9a4b29m69jv4pp1y";
+  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/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
index 7484e6829188..e3551b8f404f 100644
--- a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "6.2.1";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "ul";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bazbz1g5iqxlwybn5whidvavglvgdl9yp9qswgsk1jrjmcr5klx";
+    sha256 = "1b9v417g0z9q1sqgnms5vy740xggg4fcz0fdwbc4hfvfj6jkyaad";
   };
 
-  cargoSha256 = "0w0mnh8fnl8zi9n0fxzqaqbvmfagf3ay5v2na3laxb72jm76hrwa";
+  cargoSha256 = "0kzrrphlilnyl79yfmlvd6an8iyi8zcs0inwiq74z383lnbdpk7q";
 
   buildInputs = lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
diff --git a/nixpkgs/pkgs/tools/misc/kisslicer/default.nix b/nixpkgs/pkgs/tools/misc/kisslicer/default.nix
index 3667b483383b..5e5a7174a149 100644
--- a/nixpkgs/pkgs/tools/misc/kisslicer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/latex2html/default.nix b/nixpkgs/pkgs/tools/misc/latex2html/default.nix
index 2ca99eb61e88..59f52c5cf6f3 100644
--- a/nixpkgs/pkgs/tools/misc/latex2html/default.nix
+++ b/nixpkgs/pkgs/tools/misc/latex2html/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, fetchurl, makeWrapper
+{ stdenv, fetchFromGitHub, makeWrapper
 , ghostscript, netpbm, perl }:
 # TODO: withTex
 
-# Ported from Homebrew.
-# https://github.com/Homebrew/homebrew-core/blob/21834573f690407d34b0bbf4250b82ec38dda4d6/Formula/latex2html.rb
-
 stdenv.mkDerivation rec {
   pname = "latex2html";
-  version = "2018";
+  version = "2019.2";
 
-  src = fetchurl {
-    url = "http://mirrors.ctan.org/support/latex2html/latex2html-${version}.tar.gz";
-    sha256 = "1qnlg8ajh0amy9gy8rh8sp1l224ak54264i3dhk7rrv9s4k7bqq9";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1bcdhbaxf334wlxzkw5samj2y2q173709y0km3x8xs4bbh70ds6c";
   };
 
   buildInputs = [ ghostscript netpbm perl ];
diff --git a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
index 3d9111b6a61a..96c13010fac2 100644
--- a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.7.4";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "03l6gs4p9p8g0ai6wqg9024rp0pd13m0b9y3sy1ww5afwxb82br6";
+    sha256 = "1sp5f9lkysqkyhd6gvrlpszrih78bj67yidkkd6azv9ianrndx0b";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
@@ -17,8 +17,8 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "A simple terminal UI for both docker and docker-compose";
-    homepage = https://github.com/jesseduffield/lazydocker;
+    homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
-    maintainers = with maintainers; [ das-g ];
+    maintainers = with maintainers; [ das-g filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ldmtool/default.nix b/nixpkgs/pkgs/tools/misc/ldmtool/default.nix
index b59c46a84779..2ec683484958 100644
--- a/nixpkgs/pkgs/tools/misc/ldmtool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ldmtool/default.nix
@@ -1,37 +1,46 @@
 { stdenv, fetchFromGitHub, autoconf, automake, gtk-doc, pkgconfig, libuuid,
-  libtool, readline, gobject-introspection, json-glib, lvm2, libxslt, docbook_xsl }:
+  libtool, readline, gobject-introspection, json-glib, lvm2, libxslt, docbook_xsl
+, fetchpatch }:
 
 stdenv.mkDerivation rec {
-   pname = "ldmtool";
-   version = "0.2.4";
-
-   src = fetchFromGitHub {
-     owner = "mdbooth";
-     repo = "libldm";
-     rev = "libldm-${version}";
-     sha256 = "1fy5wbmk8kwl86lzswq0d1z2j5y023qzfm2ppm8knzv9c47kniqk";
-   };
-
-   preConfigure = ''
-     sed -i docs/reference/ldmtool/Makefile.am \
-       -e 's|-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl|--nonet ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl|g'
-   '';
-
-   # ldm.c:951:5: error: 'g_type_class_add_private' is deprecated [-Werror=deprecated-declarations]
-   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
-   configureScript = "sh autogen.sh";
-
-   nativeBuildInputs = [ pkgconfig ];
-   buildInputs = [ autoconf automake gtk-doc lvm2 libxslt.bin
-     libtool readline gobject-introspection json-glib libuuid
-   ];
-
-   meta = with stdenv.lib; {
-     description = "Tool and library for managing Microsoft Windows Dynamic Disks";
-     homepage = https://github.com/mdbooth/libldm;
-     maintainers = with maintainers; [ jensbin ];
-     license = licenses.gpl3;
-     platforms = platforms.linux;
-   };
+  pname = "ldmtool";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "mdbooth";
+    repo = "libldm";
+    rev = "libldm-${version}";
+    sha256 = "1fy5wbmk8kwl86lzswq0d1z2j5y023qzfm2ppm8knzv9c47kniqk";
+  };
+
+  patches = [
+    # Remove useage of deprecrated G_PARAM_PRIVATE
+    (fetchpatch {
+      url = "https://github.com/mdbooth/libldm/commit/ee1b37a034038f09d61b121cc8b3651024acc46f.patch";
+      sha256 = "02y34kbcpcpffvy1n9yqngvdldmxmvdkha1v2xjqvrnclanpigcp";
+    })
+  ];
+
+  preConfigure = ''
+    sed -i docs/reference/ldmtool/Makefile.am \
+      -e 's|-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl|--nonet ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl|g'
+  '';
+
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
+  configureScript = "sh autogen.sh";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ autoconf automake gtk-doc lvm2 libxslt.bin
+    libtool readline gobject-introspection json-glib libuuid
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Tool and library for managing Microsoft Windows Dynamic Disks";
+    homepage = https://github.com/mdbooth/libldm;
+    maintainers = with maintainers; [ jensbin ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lf/default.nix b/nixpkgs/pkgs/tools/misc/lf/default.nix
index 61e115e71eb7..c2f281ecb17b 100644
--- a/nixpkgs/pkgs/tools/misc/lf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lf/default.nix
@@ -15,8 +15,8 @@ buildGoModule rec {
 
   # TODO: Setting buildFlags probably isn't working properly. I've tried a few
   # variants, e.g.:
-  # - buildFlags = "-ldflags \"-s -w -X 'main.gVersion=${version}'\"";
-  # - buildFlags = "-ldflags \\\"-X ${goPackagePath}/main.gVersion=${version}\\\"";
+  # - buildFlags = [ "-ldflags" "\"-s" "-w"" ""-X 'main.gVersion=${version}'\"" ];
+  # - buildFlags = [ "-ldflags" "\\\"-X" "${goPackagePath}/main.gVersion=${version}\\\"" ];
   # Override the build phase (to set buildFlags):
   buildPhase = ''
     runHook preBuild
diff --git a/nixpkgs/pkgs/tools/misc/licensor/default.nix b/nixpkgs/pkgs/tools/misc/licensor/default.nix
new file mode 100644
index 000000000000..0913b9afbf5e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/licensor/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "licensor";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "raftario";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
+  };
+
+  cargoSha256 = "042dplm0cdxkv73m5qlkc61h0x9fpzxn2b0c8gjx2hwvigcia139";
+
+  meta = with lib; {
+    description = "Write licenses to stdout";
+    homepage = "https://github.com/raftario/licensor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lnav/default.nix b/nixpkgs/pkgs/tools/misc/lnav/default.nix
index da7db422377d..90560d321573 100644
--- a/nixpkgs/pkgs/tools/misc/lnav/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lnav/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     downloadPage = "https://github.com/tstack/lnav/releases";
     license = licenses.bsd2;
     version = "0.8.5";
-    maintainers = [ maintainers.dochang ];
+    maintainers = with maintainers; [ dochang ma27 ];
     platforms = platforms.unix;
   };
 
diff --git a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
index 9eff84e67dc5..1bd307337655 100644
--- a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
+++ b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
     sha256 =
       if enableUnfree
-      then "1mw053bx2zh5320p545ax8fnydzqj28r239l7a4m1d2shi89w6s8"
-      else "0d57ahak4chxmd0pmgkbmig2wacprv120pwmjlx63sxf5vw72yap";
+      then "01l6alwgsq6yf0z9d08i0hi8g708nph1vm78nl4xbpg8h964bybj"
+      else "0nlwgaw6rmhp5b68zpp1pzsjs30b0bjzdg8f7xy6rarpk338s8yb";
   };
 
   dontBuild         = true;
diff --git a/nixpkgs/pkgs/tools/misc/lorri/default.nix b/nixpkgs/pkgs/tools/misc/lorri/default.nix
new file mode 100644
index 000000000000..8be6cf5a8a3b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lorri/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, pkgs
+, fetchFromGitHub
+, rustPlatform
+  # Updater script
+, runtimeShell
+, writeScript
+  # Tests
+, nixosTests
+  # Apple dependencies
+, CoreServices
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lorri";
+  version = "unstable-2019-10-30";
+
+  meta = with stdenv.lib; {
+    description = "Your project's nix-env";
+    homepage = "https://github.com/target/lorri";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ grahamc Profpatsch ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "target";
+    repo = pname;
+    # Run `eval $(nix-build -A lorri.updater)` after updating the revision!
+    rev = "03f10395943449b1fc5026d3386ab8c94c520ee3";
+    sha256 = "0fcl79ndaziwd8d74mk1lsijz34p2inn64b4b4am3wsyk184brzq";
+  };
+
+  cargoSha256 = "1daff4plh7hwclfp21hkx4fiflh9r80y2c7k2sd3zm4lmpy0jpfz";
+  doCheck = false;
+
+  BUILD_REV_COUNT = src.revCount or 1;
+  RUN_TIME_CLOSURE = pkgs.callPackage ./runtime.nix {};
+
+  nativeBuildInputs = with pkgs; [ nix direnv which ];
+  buildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
+
+  passthru = {
+    updater = with builtins; writeScript "copy-runtime-nix.sh" ''
+      #!${runtimeShell}
+      set -euo pipefail
+      cp ${src}/nix/runtime.nix ${toString ./runtime.nix}
+      cp ${src}/nix/runtime-closure.nix.template ${toString ./runtime-closure.nix.template}
+    '';
+    tests = {
+      nixos = nixosTests.lorri;
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lorri/runtime-closure.nix.template b/nixpkgs/pkgs/tools/misc/lorri/runtime-closure.nix.template
new file mode 100644
index 000000000000..2cb2ec4bbb9f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lorri/runtime-closure.nix.template
@@ -0,0 +1,37 @@
+# Nix with sandboxing requires every path used at build time be
+# explicitly declared. If we simply passed in the paths, they
+# would be copied in as sources. Using builtins.storePath we're
+# able to tell Nix that, no, in fact, treat these not as sources
+# to copy, but instead of a regular store path.
+#
+# Include the explicit closure, too, otherwise we'll get mysterious
+# "file not found" errors due to the glibc interpreter being
+# missing.
+let
+  # Magic inspired by Nix's config.nix:
+  # https://github.com/NixOS/nix/blob/f9a2ea44867cd1dbb408bca4df0ced806137b7f7/corepkgs/config.nix.in#L23
+  #
+  # If the dependency is in the Nix store we're using, refer to
+  # it as a literal store path. If it isn't, refer to it "normally".
+  #
+  # This makes sandboxing happy when in a nix-build, and the
+  # evaluation happy when in a «cargo build».
+  tools_build_host = @tools_build_host@;
+
+  # Compare the stringified version of the tools_build_host Nix store
+  # path to the evaluator's stringified Nix store path. Otherwise,
+  # Nix will read the sources in to the /nix/store, and, well,
+  # you can only copy the /nix/store in to the /nix/store so many
+  # times before you run out of disk space.
+  dep = if ("${toString (dirOf tools_build_host)}" == "${toString builtins.storeDir}")
+    then (builtins.trace "using storePath"  builtins.storePath)
+    else (builtins.trace "using toString" toString) # assume we have no sandboxing
+    ;
+
+  tools = dep tools_build_host;
+
+in {
+  path = "${tools}/bin";
+  builder = "${tools}/bin/bash";
+  closure = import @runtime_closure_list@ { inherit dep; };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lorri/runtime.nix b/nixpkgs/pkgs/tools/misc/lorri/runtime.nix
new file mode 100644
index 000000000000..71bc89b5af32
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lorri/runtime.nix
@@ -0,0 +1,33 @@
+{
+  # Plumbing tools:
+  closureInfo, runCommand, writeText, buildEnv,
+
+  # Actual dependencies to propagate:
+  bash, coreutils }:
+let
+  tools = buildEnv {
+    name = "lorri-runtime-tools";
+    paths = [ coreutils bash ];
+  };
+
+  runtimeClosureInfo = closureInfo {
+    rootPaths = [ tools ];
+  };
+
+  closureToNix = runCommand "closure.nix" {}
+  ''
+    (
+      echo '{ dep, ... }: ['
+      sed -E 's/^(.*)$/    (dep \1)/' ${runtimeClosureInfo}/store-paths
+      echo ']'
+    ) > $out
+  '';
+
+  runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" {
+    runtime_closure_list = closureToNix;
+    tools_build_host = tools;
+  }
+  ''
+    substituteAll ${./runtime-closure.nix.template} $out
+  '';
+in runtimeClosureInfoAsNix
diff --git a/nixpkgs/pkgs/tools/misc/man-db/default.nix b/nixpkgs/pkgs/tools/misc/man-db/default.nix
index df1a2daddb91..918e8372dcbb 100644
--- a/nixpkgs/pkgs/tools/misc/man-db/default.nix
+++ b/nixpkgs/pkgs/tools/misc/man-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpipeline, db, groff, libiconv, makeWrapper, buildPackages }:
 
 stdenv.mkDerivation rec {
-  name = "man-db-2.8.6.1";
+  name = "man-db-2.9.0";
 
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "0a1sh5gxa16k6irzf3q2lli8m204w9ik1xm62wjgf1mzknxs4xrc";
+    sha256 = "0qg2sdn8mayya0ril484iz1r7hi46l68d2d80cr6lvc7x3csqjjx";
   };
 
   outputs = [ "out" "doc" ];
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     "--with-config-file=${placeholder "out"}/etc/man_db.conf"
     "--with-systemdtmpfilesdir=${placeholder "out"}/lib/tmpfiles.d"
     "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+    "--with-pager=less"
   ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin [
     "ac_cv_func__set_invalid_parameter_handler=no"
     "ac_cv_func_posix_fadvise=no"
diff --git a/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix b/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
index 5c175053fc99..c7222f696c99 100644
--- a/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "marlin-calc";
-  version = "2019-06-04";
+  version = "2019-10-17";
 
   src = fetchFromGitHub {
     owner = "eyal0";
     repo = "Marlin";
-    rev = "4120d1c72d6c32e9c5cc745c05d20963ba4bbca3";
-    sha256 = "06aly7s4k1r31njm43sbxq9a0127sw43pnaddh92a3cc39rbj2va";
+    rev = "3d5a5c86bea35a2a169eb56c70128bf2d070feef";
+    sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/mbuffer/default.nix b/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
index 44b00adf5c17..7edfb280e430 100644
--- a/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
@@ -3,18 +3,19 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20190725";
+  version = "20191016";
   pname = "mbuffer";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "1hjhyh3q0q22czq3s2wk5mcky1jrq9xw8fppw6r7cix1riq74m91";
+    sha256 = "05xyvmbs2x5gbj2njgg7hsj3alb5dh96xhab0w0qkhb58x2i1hld";
   };
 
   buildInputs = [ openssl ];
+  doCheck = true;
 
   meta = {
-    homepage = http://www.maier-komor.de/mbuffer.html;
+    homepage = "http://www.maier-komor.de/mbuffer.html";
     description  = "A tool for buffering data streams with a large set of unique features";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ tokudan ];
diff --git a/nixpkgs/pkgs/tools/misc/memtest86+/default.nix b/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
index 48f048b3abf8..57cf5bb97e2e 100644
--- a/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
+++ b/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "all" ];
 
-  buildFlags = "memtest.bin";
+  buildFlags = [ "memtest.bin" ];
 
   doCheck = false; # fails
 
diff --git a/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix b/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
index 10135d66408b..71409b1c3a8b 100644
--- a/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
@@ -1,25 +1,28 @@
-{ lib, stdenv, fetchurl, unzip, libguestfs-with-appliance }:
+{ fetchzip, lib, p7zip, stdenv }:
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.0";
+  version = "8.2";
 
-  src = fetchurl {
-    # TODO: The latest version of memtest86 is actually 8.1, but apparently the
-    # company has stopped distributing versioned binaries of memtest86:
+  src = fetchzip {
+    # TODO: The latest version of memtest86 is actually 8.2, but the
+    # company developing memtest86 has stopped providing a versioned download
+    # link for the latest version:
+    #
     # https://www.passmark.com/forum/memtest86/44494-version-8-1-distribution-file-is-not-versioned?p=44505#post44505
-    # However, it does look like redistribution is okay, so if we had
-    # somewhere to host binaries that we make sure to version, then we could
-    # probably keep up with the latest versions released by the company.
+    #
+    # However, versioned links for the previous version are available, so that
+    # is what is being used.
+    #
+    # It does look like redistribution is okay, so if we had somewhere to host
+    # 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 = "147mnd7fnx2wvbzscw7pkg9ljiczhz05nb0cjpmww49a0ms4yknw";
+    sha256 = "1x1wjssr4nnbnfan0pi7ni2dfwnm3288kq584hkfqcyza8xdx03i";
+    stripRoot = false;
   };
 
-  nativeBuildInputs = [ libguestfs-with-appliance unzip ];
-
-  unpackPhase = ''
-    unzip -q $src -d .
-  '';
+  nativeBuildInputs = [ p7zip ];
 
   installPhase = ''
     mkdir -p $out
@@ -27,16 +30,15 @@ stdenv.mkDerivation rec {
     # memtest86 is distributed as a bootable USB image.  It contains the actual
     # memtest86 EFI app.
     #
-    # The following command uses libguestfs to extract the actual EFI app from the
-    # usb image so that it can be installed directly on the hard drive.  This creates
-    # the ./BOOT/ directory with the memtest86 EFI app.
-    guestfish --ro --add ./memtest86-usb.img --mount /dev/sda1:/  copy-out /EFI/BOOT .
-
-    cp -r BOOT/* $out/
+    # The following command uses p7zip to extract the actual EFI app from the
+    # usb image so that it can be installed directly on the hard drive.
+    7z x -o$TEMP/temp-efi-dirs $src/memtest86-usb.img
+    7z x -o$TEMP/memtest86-files $TEMP/temp-efi-dirs/EFI\ System\ Partition.img
+    cp -r $TEMP/memtest86-files/EFI/BOOT/* $out/
   '';
 
   meta = with lib; {
-    homepage = http://memtest86.com/;
+    homepage = "http://memtest86.com/";
     downloadPage = "https://www.memtest86.com/download.htm";
     description = "A tool to detect memory errors, to be run from a bootloader";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/misc/miniserve/default.nix b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
index 412726e276d6..09640b30be90 100644
--- a/nixpkgs/pkgs/tools/misc/miniserve/default.nix
+++ b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib }:
+{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib, openssl }:
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.2.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner  = "svenstaro";
     repo   = "miniserve";
     rev    = "v${version}";
-    sha256 = "1g8ggqs4fyscb1r98qj22f61jgkqnr4vdyps0drrvydl9lafdmpl";
+    sha256 = "06cxkkf3sf84prba65dymr1hg7mwizmsax0dlljh0lcmvlcpzi08";
   };
 
-  cargoSha256 = "055mbrzg7v8a65awn1051b4b9ngxq25wy31gjq8kc93qsb7k0f2k";
+  cargoSha256 = "046xxxqcf1sdsi9dlilsn0nk36gyca20ck1a70ihj1k9kl7yj8sn";
+
+  RUSTC_BOOTSTRAP = 1;
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
+  buildInputs = [ openssl ];
 
   meta = with stdenv.lib; {
     description = "For when you really just want to serve some files over HTTP right now!";
diff --git a/nixpkgs/pkgs/tools/misc/mktorrent/default.nix b/nixpkgs/pkgs/tools/misc/mktorrent/default.nix
index b2f7fdf2a906..c88f12c74d1a 100644
--- a/nixpkgs/pkgs/tools/misc/mktorrent/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mktorrent/default.nix
@@ -11,13 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "17pdc5mandl739f8q26n5is8ga56s83aqcrwhlnnplbxwx2inidr";
   };
 
-  makeFlags = "USE_PTHREADS=1 USE_OPENSSL=1 USE_LONG_OPTIONS=1"
-    + stdenv.lib.optionalString stdenv.isi686 " USE_LARGE_FILES=1"
-    + stdenv.lib.optionalString stdenv.isLinux "CFLAGS=-lgcc_s";
+  makeFlags = [ "USE_PTHREADS=1" "USE_OPENSSL=1" "USE_LONG_OPTIONS=1" ]
+    ++ stdenv.lib.optional stdenv.isi686 "USE_LARGE_FILES=1"
+    ++ stdenv.lib.optional stdenv.isLinux "CFLAGS=-lgcc_s";
 
-  preInstall = ''
-    installFlags=PREFIX=$out
-  '';
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   buildInputs = [ openssl ];
 
diff --git a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
index 25d7eaba55ed..95c87cb35fc6 100644
--- a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/moreutils/default.nix b/nixpkgs/pkgs/tools/misc/moreutils/default.nix
index 336d673f7ecd..44f791e5b8aa 100644
--- a/nixpkgs/pkgs/tools/misc/moreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/moreutils/default.nix
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = with perlPackages; [ perl IPCRun TimeDate TimeDuration ];
 
-  buildFlags = "CC=cc";
-  installFlags = "PREFIX=$(out)";
+  buildFlags = [ "CC=cc" ];
+  installFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
     wrapProgram $out/bin/chronic --prefix PERL5LIB : $PERL5LIB
diff --git a/nixpkgs/pkgs/tools/misc/mtm/default.nix b/nixpkgs/pkgs/tools/misc/mtm/default.nix
index b518a159e913..5b45c0b712bf 100644
--- a/nixpkgs/pkgs/tools/misc/mtm/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mtm/default.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "mtm";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "deadpixi";
     repo = pname;
     rev = version;
-    sha256 = "0k9xachd9wnyhj8sh4yninckgwm3a7zdxnn490x65ikn4vqb7w8x";
+    sha256 = "0b2arkmbmabxmrqxlpvvvhll2qx0xgj7r4r6p0ymnm9p70idris4";
   };
 
   buildInputs = [ ncurses ];
 
+  preBuild = ''
+    substituteInPlace Makefile --replace "strip -s mtm" ""
+  '';
+
   installPhase = ''
     runHook preInstall
 
diff --git a/nixpkgs/pkgs/tools/misc/multitail/default.nix b/nixpkgs/pkgs/tools/misc/multitail/default.nix
index 3037b672498c..6ca0c6e8e08f 100644
--- a/nixpkgs/pkgs/tools/misc/multitail/default.nix
+++ b/nixpkgs/pkgs/tools/misc/multitail/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "6.4.2";
+  version = "6.5.0";
   pname = "multitail";
 
   src = fetchurl {
     url = "https://www.vanheusden.com/multitail/${pname}-${version}.tgz";
-    sha256 = "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg";
+    sha256 = "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj";
   };
 
   buildInputs = [ ncurses ];
 
-  makeFlags = stdenv.lib.optionalString stdenv.isDarwin "-f makefile.macosx";
+  makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "-f" "makefile.macosx" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/tools/misc/multitime/default.nix b/nixpkgs/pkgs/tools/misc/multitime/default.nix
new file mode 100644
index 000000000000..a46ee2b7c9c1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/multitime/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "multitime";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "ltratt";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = {
+    description = "Time command execution over multiple executions";
+
+    longDescription = ''
+      Unix's `time` utility is a simple and often effective way of measuring
+      how long a command takes to run. Unfortunately, running a command once
+      can give misleading timings: the process may create a cache on its first
+      execution, running faster subsequently; other processes may cause the
+      command to be starved of CPU or IO time; etc. It is common to see people
+      run `time` several times and take whichever values they feel most
+      comfortable with. Inevitably, this causes problems.
+
+      `multitime` is, in essence, a simple extension to time which runs a
+      command multiple times and prints the timing means (with confidence
+      intervals), standard deviations, minimums, medians, and maximums having
+      done so. This can give a much better understanding of the command's
+      performance.
+    '';
+
+    license = stdenv.lib.licenses.mit;
+    homepage = "https://tratt.net/laurie/src/multitime/";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix b/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
index 183871c39a7e..9b7453ad1cc7 100644
--- a/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mysqltuner";
-  version = "1.7.13";
+  version = "1.7.17";
 
   src = fetchFromGitHub {
     owner  = "major";
     repo   = "MySQLTuner-perl";
     rev    = version;
-    sha256 = "0zxm2hjvgznbbmsqb8bpcgzc0yq1ikxz1gckirp95ibxid3jdham";
+    sha256 = "0wjdqraa6r6kd6rsgrn177dq6xsnnr1sgnbs9whknjbs4fn3wwl5";
   };
 
   buildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
new file mode 100644
index 000000000000..128d582e32e7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "neo-cowsay";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Code-Hex";
+    repo = "Neo-cowsay";
+    rev = "v${version}";
+    sha256 = "1in6kadczv05v62qhskqbdx7wppch0gwl0bshr5ihmi39k8l7v3z";
+  };
+
+  modSha256 = "063ds35dzv8m4bjk7v1q3f6jwyp7j5jrkrhrl41z1c1mbzzkagkq";
+
+  subPackages = [ "cmd/cowsay" "cmd/cowthink" ];
+
+  meta = with lib; {
+    description = "Cowsay reborn, written in Go";
+    homepage = "https://github.com/Code-Hex/Neo-cowsay";
+    license = with licenses; [artistic1 /* or */ gpl3];
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/noti/default.nix b/nixpkgs/pkgs/tools/misc/noti/default.nix
index 74b1f96fad8a..a6288b322957 100644
--- a/nixpkgs/pkgs/tools/misc/noti/default.nix
+++ b/nixpkgs/pkgs/tools/misc/noti/default.nix
@@ -3,18 +3,16 @@
 
 buildGoPackage rec {
   pname = "noti";
-  version = "3.2.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "variadico";
     repo = "noti";
     rev = version;
-    sha256 = "1lw1wmw2m83m0s5znb4gliywjpg74qrhrj6rwpcb5p352c4vbwxs";
+    sha256 = "0bcwfyd93fx0rzjc9jgg4pvvqbpxwizr044yqqa5rx70gaasz7qa";
   };
 
   buildInputs = lib.optional stdenv.isDarwin Cocoa;
-  # TODO: Remove this when we update apple_sdk
-  NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-fno-objc-arc";
 
   goPackagePath = "github.com/variadico/noti";
 
@@ -36,7 +34,7 @@ buildGoPackage rec {
     '';
     homepage = https://github.com/variadico/noti;
     license = licenses.mit;
-    maintainers = with maintainers; [ stites ];
+    maintainers = with maintainers; [ stites marsam ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ocz-ssd-guru/default.nix b/nixpkgs/pkgs/tools/misc/ocz-ssd-guru/default.nix
index 4317c46190db..d54302b31d1d 100644
--- a/nixpkgs/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/onefetch/default.nix b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
new file mode 100644
index 000000000000..e51a00dc7bd0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
@@ -0,0 +1,34 @@
+{ fetchFromGitHub, rustPlatform, stdenv, fetchpatch
+, CoreFoundation, libiconv, libresolv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onefetch";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "o2sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1sgpai3gx3w7w3ilmbnmzgdxdim6klkfiqaqxmffpyap6qgksfqs";
+  };
+
+  cargoSha256 = "1phv06zf47bv5cmhypivljfiynrblha0kj13c5al9l0hd1xx749h";
+
+  buildInputs = with stdenv;
+    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+
+  cargoPatches = [
+    # fix wrong version in Cargo.lock
+    (fetchpatch {
+      url = "https://github.com/o2sh/onefetch/commit/b69fe660d72b65d7efac99ac5db3b03a82d8667f.patch";
+      sha256 = "14przkdyd4yd11xpdgyscs70w9gpnh02j3xdzxf6h895w3mn84lx";
+    })
+  ];
+
+  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/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
index 370d19247113..8905f9eb36ad 100644
--- a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
@@ -2,25 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "0.96.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
-    repo = "osm2pgsql";
+    repo = pname;
     rev = version;
-    sha256 = "032cydh8ynaqfhdzmkvgbmqyjql668y6qln1l59l2s3ni9963bbl";
+    sha256 = "1ysan01lpqzjxlq3y2kdminfjs5d9zksicpf9vvzpdk3fzq51fc9";
   };
 
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ expat proj bzip2 zlib boost postgresql lua ];
 
-  NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
+  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H";
 
   meta = with stdenv.lib; {
     description = "OpenStreetMap data to PostgreSQL converter";
-    homepage = https://github.com/openstreetmap/osm2pgsql;
+    homepage = "https://github.com/openstreetmap/osm2pgsql";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ jglukasik ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ostree/default.nix b/nixpkgs/pkgs/tools/misc/ostree/default.nix
index 9f423cf6a4da..8ec9fc1d4886 100644
--- a/nixpkgs/pkgs/tools/misc/ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ostree/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gnome3
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gjs, nixosTests
 , glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux
 , libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3
 }:
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     glib systemd e2fsprogs libsoup gpgme fuse libselinux libcap
     libarchive bzip2 xz
     utillinuxMinimal # for libmount
-    (python3.withPackages (p: with p; [ pyyaml ])) gnome3.gjs # for tests
+    (python3.withPackages (p: with p; [ pyyaml ])) gjs # for tests
   ];
 
   preConfigure = ''
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/libostree"
   ];
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.ostree;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Git for operating system binaries";
     homepage = https://ostree.readthedocs.io/en/latest/;
diff --git a/nixpkgs/pkgs/tools/misc/pal/default.nix b/nixpkgs/pkgs/tools/misc/pal/default.nix
index be96dd9d3d35..85bad70edc9c 100644
--- a/nixpkgs/pkgs/tools/misc/pal/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pal/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's,/etc/pal\.conf,'$out/etc/pal.conf, src/input.c
   '';
 
-  makeFlags = "prefix=$(out)";
+  makeFlags = [ "prefix=$(out)" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib gettext readline ];
diff --git a/nixpkgs/pkgs/tools/misc/paps/default.nix b/nixpkgs/pkgs/tools/misc/paps/default.nix
index 521bebf47a3b..8084f49f1b38 100644
--- a/nixpkgs/pkgs/tools/misc/paps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/parallel/default.nix b/nixpkgs/pkgs/tools/misc/parallel/default.nix
index 06ae22c86ff6..d1a786b3b916 100644
--- a/nixpkgs/pkgs/tools/misc/parallel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20190722";
+  name = "parallel-20191222";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "19xwdkmia2dw2hry9sbaq0ln79qy9dsqx11hq2s9dcyvhhqqdl0f";
+    sha256 = "0xvw578440s9cc382n7z2l8npj30nwr6wwmkyxn2pj1pcszfjagy";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/parcellite/default.nix b/nixpkgs/pkgs/tools/misc/parcellite/default.nix
index 8dcaed706c13..46606e3b43be 100644
--- a/nixpkgs/pkgs/tools/misc/parcellite/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parcellite/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook intltool pkgconfig wrapGAppsHook ];
   buildInputs = [ gtk2 hicolor-icon-theme ];
-  NIX_LDFLAGS = [ "-lgio-2.0" ];
+  NIX_LDFLAGS = "-lgio-2.0";
 
   preFixup = ''
     # Need which and xdotool on path to fix auto-pasting.
diff --git a/nixpkgs/pkgs/tools/misc/parted/default.nix b/nixpkgs/pkgs/tools/misc/parted/default.nix
index 4934252bed95..0eed491e8a90 100644
--- a/nixpkgs/pkgs/tools/misc/parted/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parted/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline, perl, python2
-, utillinux, check, enableStatic ? false }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, lvm2
+, libuuid
+, gettext
+, readline
+, dosfstools
+, e2fsprogs
+, perl
+, python2
+, utillinux
+, check
+, enableStatic ? false
+}:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.2";
+  name = "parted-3.3";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
+    sha256 = "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp";
   };
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
-      sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
-    })
-    ++ stdenv.lib.optional (lvm2 == null)
-    (fetchpatch {
-      url = https://git.savannah.gnu.org/cgit/parted.git/patch/?id=7e87ca3c531228d35e13e802d2622006138b104c;
-      sha256 = "0i29lfg8cwj342q5s7qwqhncz2bkifj5rjc7cx6jd4zqb6ykkndj";
-    });
-
   postPatch = ''
     patchShebangs tests
   '';
@@ -42,8 +43,7 @@ stdenv.mkDerivation rec {
   # Tests were previously failing due to Hydra running builds as uid 0.
   # That should hopefully be fixed now.
   doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
-
-  checkInputs = [ check perl python2 utillinux ];
+  checkInputs = [ check dosfstools e2fsprogs perl python2 utillinux ];
 
   meta = {
     description = "Create, destroy, resize, check, and copy partitions";
diff --git a/nixpkgs/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch b/nixpkgs/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
deleted file mode 100644
index 3070a2e4666d..000000000000
--- a/nixpkgs/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From Ludo's suggestion at:
-
-  http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;bug=18258
-
-diff --git a/tests/t0251-gpt-unicode.sh b/tests/t0251-gpt-unicode.sh
-index c845950..fa63a72 100755
---- a/tests/t0251-gpt-unicode.sh
-+++ b/tests/t0251-gpt-unicode.sh
-@@ -22,7 +22,24 @@ dev=loop-file
- # create zeroed device
- truncate -s 10m $dev || fail=1
- 
--export LC_ALL=C.UTF-8
-+found_locale=no
-+for locale in en_US de_DE fr_FR es_ES
-+do
-+  LC_ALL="$locale.UTF-8"
-+  export LC_ALL
-+
-+  # In a UTF-8 locale, the string below prints as 4 characters.
-+  if [ `printf 'foo\341\264\244' | wc -m` -eq 4 ]; then
-+    found_locale=yes
-+    break
-+  fi
-+done
-+
-+if [ "$found_locale" != "yes" ]; then
-+  echo "no valid UTF-8 locale found; skipping" >&2
-+  exit 77
-+fi
-+
- # create gpt label with named partition
- part_name=$(printf 'foo\341\264\244')
- parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
diff --git a/nixpkgs/pkgs/tools/misc/partition-manager/default.nix b/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
index 1c094c291d89..ab3c4b5a6c46 100644
--- a/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
@@ -27,6 +27,6 @@ in mkDerivation rec {
     description = "KDE Partition Manager";
     license = licenses.gpl2;
     homepage = https://www.kde.org/applications/system/kdepartitionmanager/;
-    maintainers = with maintainers; [ peterhoeg ma27 ];
+    maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/patdiff/default.nix b/nixpkgs/pkgs/tools/misc/patdiff/default.nix
index f67a8274443c..1c5e5b044741 100644
--- a/nixpkgs/pkgs/tools/misc/patdiff/default.nix
+++ b/nixpkgs/pkgs/tools/misc/patdiff/default.nix
@@ -4,8 +4,8 @@ with ocamlPackages;
 
 janePackage {
   pname = "patdiff";
-  hash = "02cdn5j5brbp4n2rpxprzxfakjbl7n2llixg7m632bih3ppmfcq1";
-  buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ];
+  hash = "04krzn6rj2r81z55pms5ayk6bxhlxrm006cbhy0m6rc69a0h00lh";
+  buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre shell ];
   meta = {
     description = "File Diff using the Patience Diff algorithm";
   };
diff --git a/nixpkgs/pkgs/tools/misc/pazi/cargo-lock.patch b/nixpkgs/pkgs/tools/misc/pazi/cargo-lock.patch
deleted file mode 100644
index 3abc3f0a2f88..000000000000
--- a/nixpkgs/pkgs/tools/misc/pazi/cargo-lock.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index 074b0ca..22f3bc5 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -286,7 +286,7 @@ dependencies = [
- 
- [[package]]
- name = "pazi"
--version = "0.2.0"
-+version = "0.3.0"
- dependencies = [
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/nixpkgs/pkgs/tools/misc/pazi/default.nix b/nixpkgs/pkgs/tools/misc/pazi/default.nix
index 325ac044552a..d3df890385f8 100644
--- a/nixpkgs/pkgs/tools/misc/pazi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pazi/default.nix
@@ -2,20 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pazi";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "euank";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gnh6047hacavcb9bhps9d1zjns66rdbd158fw20kjp1lln5srrn";
+    sha256 = "0z8x70mwg0mvz6iap92gil37d4kpg5dizlyfx3zk7984ynycgap8";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
-  cargoSha256 = "15s03vwgl6562n5h9r4d5kp2r168jakn5nwnyibmrs8r5q0idmjs";
-
-  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "0nqcp54nwv4ic5jc3cgg15rh8dgkixfgkwb5q47rv8ding4cd0j5";
 
   meta = with stdenv.lib; {
     description = "An autojump \"zap to directory\" helper";
diff --git a/nixpkgs/pkgs/tools/misc/peruse/default.nix b/nixpkgs/pkgs/tools/misc/peruse/default.nix
index 80583ea19cfe..a5ce018545a7 100644
--- a/nixpkgs/pkgs/tools/misc/peruse/default.nix
+++ b/nixpkgs/pkgs/tools/misc/peruse/default.nix
@@ -26,6 +26,8 @@ in mkDerivation {
   pathsToLink = [ "/etc/xdg/peruse.knsrc"];
 
   meta = with lib; {
+    homepage = "https://peruse.kde.org";
+    description = "A comic book reader";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/pfetch/default.nix b/nixpkgs/pkgs/tools/misc/pfetch/default.nix
new file mode 100644
index 000000000000..491844f26b75
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pfetch/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "pfetch";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "dylanaraps";
+    repo = "pfetch";
+    rev = version;
+    sha256 = "180vvbmvak888vs4dgzlmqk0ss4qfsz09700n4p8s68j7krkxsfq";
+  };
+
+  dontbuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pfetch $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A pretty system information tool written in POSIX sh";
+    homepage = https://github.com/dylanaraps/pfetch;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ equirosa ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pg_flame/default.nix b/nixpkgs/pkgs/tools/misc/pg_flame/default.nix
new file mode 100644
index 000000000000..a7b483a3f06a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pg_flame/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pg_flame";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "mgartner";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13r35n4sy9s4343l3vc896av629wqr7m225ih2bbrm8qq70fwhwv";
+  };
+
+  modSha256 = "0j7qpvji546z0cfjijdd66l0vsl0jmny6i1n9fsjqjgjpwg26naq";
+
+  meta = with lib; {
+    description = "Flamegraph generator for Postgres EXPLAIN ANALYZE output";
+    homepage = "https://github.com/mgartner/pg_flame";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
index 5e0d0aa80892..7cb810b2fe2d 100644
--- a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "0mh0s83gkjhrm9ip5r1bb6y5n0nl1rlh99570yv7p3yvyhmh2292";
+    sha256 = "0p8ck4s5jj53nc638darhwbylcsslfmfz72bwy6wxby9iqi9kq6b";
   };
 
   modSha256 = "0kassq52v07zmffs6l066g0d3kfv6wmrh9g5cgk79bmyq13clqjj";
diff --git a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
index 0e42dd392d7f..bfacb7135672 100644
--- a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgmetrics";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner  = "rapidloop";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1zjcchgpmp2a0ir8rzrfjpn4pcjiy4kawh2pbmszmqfzw1mkh762";
+    sha256 = "17rr6rjdxg8gdljf65zkn3bl1kmnlp2gkhiq7slxslh8n9iz4wjs";
   };
 
   modSha256 = "0llbx2sgcx95ym2q4l3334rdj3nkgr9z5jyp8406cp3k1ixi7gdb";
diff --git a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
index 6c1bc5fcf04d..bdb86cbb8020 100644
--- a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "8.8.1";
+  version = "9.2.1";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "1l5wnj5d652dg02j7iy7n9ab7qrpclmgvyxnh1s6cdnnnspyxznn";
+    sha256 = "00c5xgyn34psj538zrzql16z16532c9444vc5asg7qhrcylpqpk7";
   };
 
   buildInputs = [ php ];
diff --git a/nixpkgs/pkgs/tools/misc/pipelight/default.nix b/nixpkgs/pkgs/tools/misc/pipelight/default.nix
index 5bd1e3470829..4c7e9d0892ca 100644
--- a/nixpkgs/pkgs/tools/misc/pipelight/default.nix
+++ b/nixpkgs/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,9 +17,9 @@ in stdenv.mkDerivation rec {
     sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
-  buildInputs = [ wine_custom libX11 libGLU_combined curl ];
+  buildInputs = [ wine_custom libX11 libGLU libGL curl ];
 
-  propagatedbuildInputs = [ curl cabextract ];
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
 
   patches = [ ./pipelight.patch ];
 
diff --git a/nixpkgs/pkgs/tools/misc/pkgdiff/default.nix b/nixpkgs/pkgs/tools/misc/pkgdiff/default.nix
new file mode 100644
index 000000000000..3c9c0f9bfaff
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pkgdiff/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, wdiff }:
+
+stdenv.mkDerivation rec {
+  version = "1.7.2";
+  pname = "pkgdiff";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "pkgdiff";
+    rev = version;
+    sha256 = "1ahknyx0s54frbd3gqh070lkv3j1b344jrs6m6p1s1lgwbd70vnb";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontBuild = true;
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/pkgdiff --prefix PATH : ${lib.makeBinPath [ wdiff ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for visualizing changes in Linux software packages";
+    homepage = https://lvc.github.io/pkgdiff/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sweber ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index eb2881b29f75..ec56bb2b6684 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2019.8";
+  version = "1.2019.13";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0kbyjsy8zp3325syg9g91rfgy2dzkffdj2ji82b5h9zy3rkrz08p";
+    sha256 = "0r8ahcnim7is7np68ci6ppzr07iyx417wi81gkckfyy5p4pwk8kz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/ponysay/default.nix b/nixpkgs/pkgs/tools/misc/ponysay/default.nix
index 1aa7dbedd930..3fc3efa0eda0 100644
--- a/nixpkgs/pkgs/tools/misc/ponysay/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ponysay/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Cowsay reimplemention for ponies";
-    homepage = http://erkin.co/ponysay/;
+    homepage = "https://github.com/erkin/ponysay";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ bodil ];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
index 5c1b1be2db3b..47336e54d67e 100644
--- a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.13.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hgc0ji9jcsq5qnvx54dvpq8qx80mgdbvkllzavnvqr7md638zk9";
+    sha256 = "06i07m68l24v29j01qp2y91rwsfqh4x1nc8sxkjzrc7q1c7fsc1r";
   };
 
-  modSha256 = "0800r08rawv4fz08d332z0fy6pd16l1dyflz3h91ba00g59wc2ah";
+  modSha256 = "0mz1qrwar9cgrhrgw4z3gwhjj62bnfnn59ji31zkyvwlc1mqh9an";
 
   meta = with stdenv.lib; {
     description = "A Powerline like prompt for Bash, ZSH and Fish";
diff --git a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
index 989a2d3f22b9..c1496e0dbc9e 100644
--- a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, utillinux}:
 
 stdenv.mkDerivation rec {
-  version = "6.34";
+  version = "6.35";
   pname = "profile-sync-daemon";
 
   src = fetchurl {
     url = "https://github.com/graysky2/profile-sync-daemon/archive/v${version}.tar.gz";
-    sha256 = "0v6yzgfwv3mhf1q2fp6abrvr15p9b1c1gahj3mdh5b4bfcsg3n5a";
+    sha256 = "0hd3cjhf9nv4q5gvc8lbh5c82095lll7mxll1mj5hkzmnijzsf0v";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/pspg/default.nix b/nixpkgs/pkgs/tools/misc/pspg/default.nix
index 81d7591b7407..c42ea76ca856 100644
--- a/nixpkgs/pkgs/tools/misc/pspg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pspg/default.nix
@@ -2,24 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "1.6.8";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
-    repo = "pspg";
+    repo = pname;
     rev = version;
-    sha256 = "1lwzyimn28a7q8k2c8z7and4qhrdil0za8lixh96z6x4lcb0rz5q";
+    sha256 = "0cs0hsrrknl2cv39zzq4wydx5p7095hz18yly572fnniyi4ljbdg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gnugrep ncurses readline ];
 
-  preBuild = ''
-    makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config"
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/okbob/pspg;
+    homepage = "https://github.com/okbob/pspg";
     description = "Postgres Pager";
     license = licenses.bsd2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/misc/pws/default.nix b/nixpkgs/pkgs/tools/misc/pws/default.nix
index d5f2fd4afd4f..50952435dd76 100644
--- a/nixpkgs/pkgs/tools/misc/pws/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pws/default.nix
@@ -3,19 +3,19 @@
 stdenv.mkDerivation rec {
   name = "pws-${(import ./gemset.nix).pws.version}";
 
-  env = bundlerEnv {
-    name = "${name}-gems";
-
-    inherit ruby;
-
-    gemdir = ./.;
-  };
-
   buildInputs = [ makeWrapper ];
 
   phases = ["installPhase"];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "${name}-gems";
+
+      inherit ruby;
+
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/pws $out/bin/pws \
       --set PATH '"${xsel}/bin/:$PATH"'
diff --git a/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix b/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
index dbd4a4c465ca..e70b8274d364 100644
--- a/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
+++ b/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "q-text-as-data";
-  version = "1.7.1";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "harelba";
     repo = "q";
     rev = version;
-    sha256 = "021c2sd6qscz1ipwzzjf43pfd311dcay7yralksl25rs0r7h3li2";
+    sha256 = "0p8rbfwwcqjyrix51v52zp9b03z4xg1fv2raf2ygqp9a4l27dca8";
   };
 
   buildInputs = [ python2 ];
diff --git a/nixpkgs/pkgs/tools/misc/qjoypad/default.nix b/nixpkgs/pkgs/tools/misc/qjoypad/default.nix
index 4428bf1e625a..3e7e3870959b 100644
--- a/nixpkgs/pkgs/tools/misc/qjoypad/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qjoypad/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libX11 libXtst qt4 ];
-  NIX_LDFLAGS = [ "-lX11" ];
+  NIX_LDFLAGS = "-lX11";
   patchPhase = ''
     cd src
     substituteInPlace config --replace /bin/bash ${stdenv.shell}
diff --git a/nixpkgs/pkgs/tools/misc/qt5ct/default.nix b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
index 952268b26f01..d7598b0c6dd5 100644
--- a/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl, qtbase, qttools, qmake }:
+{ mkDerivation, lib, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 let inherit (lib) getDev; in
 
@@ -13,16 +13,13 @@ mkDerivation rec {
 
   nativeBuildInputs = [ qmake qttools ];
 
-  buildInputs = [ qtbase ];
+  buildInputs = [ qtbase qtsvg ];
 
   qmakeFlags = [
     "LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease"
+    "PLUGINDIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
   ];
 
-  preConfigure = ''
-    qmakeFlags+=" PLUGINDIR=$out/$qtPluginPrefix"
-  '';
-
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/rename/default.nix b/nixpkgs/pkgs/tools/misc/rename/default.nix
index 770b229a3159..e32b016016bd 100644
--- a/nixpkgs/pkgs/tools/misc/rename/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rename/default.nix
@@ -12,6 +12,7 @@ perlPackages.buildPerlPackage {
   };
   meta = with stdenv.lib; {
     description = "Rename files according to a Perl rewrite expression";
+    homepage = "https://github.com/pstray/rename";
     maintainers = with maintainers; [ mkg ];
     license = with licenses; [ gpl1Plus ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/reredirect/default.nix b/nixpkgs/pkgs/tools/misc/reredirect/default.nix
new file mode 100644
index 000000000000..15045d4bd8ad
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/reredirect/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "reredirect";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "jerome-pouiller";
+    repo = "reredirect";
+    rev = "v${version}";
+    sha256 = "0aqzs940kwvw80lhkszx8spcdh9ilsx5ncl9vnp611hwlryfw7kk";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  postFixup = ''
+    substituteInPlace ${placeholder "out"}/bin/relink \
+      --replace "reredirect" "${placeholder "out"}/bin/reredirect"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool to dynamicly redirect outputs of a running process";
+    homepage = "https://github.com/jerome-pouiller/reredirect";
+    license = licenses.mit;
+    maintainers = [ maintainers.tobim ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
index af5bfedf2037..96df0707153f 100644
--- a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/hanslub42/rlwrap;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/rmlint/default.nix b/nixpkgs/pkgs/tools/misc/rmlint/default.nix
index 7b7fa9ce705e..408660bf3d9a 100644
--- a/nixpkgs/pkgs/tools/misc/rmlint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rmlint/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "rmlint";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "sahib";
     repo = "rmlint";
     rev = "v${version}";
-    sha256 = "1gc7gbnh0qg1kl151cv1ld87vhpm1v3pnkn7prhscdcc21jrg8nz";
+    sha256 = "1b5cziam14h80xrfb285fmfrzz2rligxcpsq1xsig14xf4l2875i";
   };
 
   CFLAGS="-I${stdenv.lib.getDev utillinux}/include";
diff --git a/nixpkgs/pkgs/tools/misc/routino/default.nix b/nixpkgs/pkgs/tools/misc/routino/default.nix
index d852818b3155..d946ed91c726 100644
--- a/nixpkgs/pkgs/tools/misc/routino/default.nix
+++ b/nixpkgs/pkgs/tools/misc/routino/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "routino";
-  version = "3.2";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://routino.org/download/${pname}-${version}.tgz";
-    sha256 = "0lkmpi8gn7qf40cx93jcp7nxa9dfwi1d6rjrhcqbdymszzm33972";
+    sha256 = "1ccx3s99j8syxc1gqkzsaqkmyf44l7h3adildnc5iq2md7bp8wab";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
index 409e65dff773..09f2150cdce3 100644
--- a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ostree, rpm, which, autoconf, automake, libtool, pkgconfig, cargo, rustc,
   gobject-introspection, gtk-doc, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gperf, cmake,
   libcap, glib, systemd, json-glib, libarchive, libsolv, librepo, polkit,
-  bubblewrap, pcre, check, python, json_c, libmodulemd_1, utillinux, sqlite, cppunit }:
+  bubblewrap, pcre, check, python, json_c, libmodulemd_1, utillinux, sqlite, cppunit, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
     # https://github.com/NixOS/nixpkgs/pull/50953#issuecomment-449777169
     # https://github.com/NixOS/nixpkgs/pull/50953#issuecomment-452177080
     ./fix-introspection-build.patch
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://github.com/coreos/rpm-ostree/commit/60053d0d3d2279d120ae7007c6048e499d2c4d14.patch";
+      sha256 = "0ig21zip09iy2da7ksg87jykaj3q8jyzh8r7yrpzyql85qxiwm0m";
+    })
   ];
 
   outputs = [ "out" "dev" "man" "devdoc" ];
diff --git a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
index dcdc6dde2cad..18813531033f 100644
--- a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -7,8 +7,8 @@ let
 
 in buildPackage {
   pname = pname;
-  version = "2.2.1.3";
-  sha256 = "1ibjns1slyg1p7jl9irzlrjz8b01f506iw87g3s7db5arhf17vv2";
+  version = "2.2.2.1";
+  sha256 = "074kizkxjwvmxspxg69fr8r0lbiy61l2n5nzgbfvwvhc6lj34iqy";
 
   description = "A set of tiny general Unix utilities optimized for simplicity and small size";
 
diff --git a/nixpkgs/pkgs/tools/misc/scfbuild/default.nix b/nixpkgs/pkgs/tools/misc/scfbuild/default.nix
index f66567798ffb..7fbe13fd44e3 100644
--- a/nixpkgs/pkgs/tools/misc/scfbuild/default.nix
+++ b/nixpkgs/pkgs/tools/misc/scfbuild/default.nix
@@ -4,26 +4,36 @@ buildPythonApplication {
   pname = "scfbuild";
   version = "1.0.3";
 
+  format = "other";
+
   src = fetchFromGitHub {
-    owner = "eosrei";
+    owner = "13rac1";
     repo = "scfbuild";
     rev = "9acc7fc5fedbf48683d8932dd5bd7583bf922bae";
     sha256 = "1zlqsxkpg7zvmhdjgbqwwc9qgac2b8amzq8c5kwyh5cv95zcp6qn";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  patches = [
+    # Convert to Python 3
+    # https://github.com/13rac1/scfbuild/pull/19
+    ./python-3.patch
+  ];
 
   propagatedBuildInputs = [ pyyaml fonttools fontforge ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/${python.sitePackages}
     cp -r scfbuild $out/${python.sitePackages}
     cp -r bin $out
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "SVGinOT color font builder";
-    homepage = https://github.com/eosrei/scfbuild;
+    homepage = https://github.com/13rac1/scfbuild;
     license = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/scfbuild/python-3.patch b/nixpkgs/pkgs/tools/misc/scfbuild/python-3.patch
new file mode 100644
index 000000000000..5a0178ad8c8e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/scfbuild/python-3.patch
@@ -0,0 +1,46 @@
+--- a/bin/scfbuild
++++ b/bin/scfbuild
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from __future__ import (absolute_import, division, print_function,
+--- a/scfbuild/builder.py
++++ b/scfbuild/builder.py
+@@ -287,8 +287,8 @@ def _add_name_record(self, text, name_id, platform_id, plat_enc_id, lang_id):
+         # TODO: The installed version of fontTools doesn't have
+         # table__n_a_m_e.setName().
+         record = NameRecord()
+-        # PyYAML creates strings, force to Unicode
+-        record.string = unicode(text)
++        # PyYAML creates strings, which are unicode as of Python3
++        record.string = text
+         record.nameID = name_id
+         record.platformID = platform_id
+         record.platEncID = plat_enc_id
+--- a/scfbuild/fforge.py
++++ b/scfbuild/fforge.py
+@@ -84,7 +84,7 @@ def add_glyphs(font, svg_filepaths, conf):
+             u_ids = [int(u_id, 16) for u_id in filename.split("-")]
+             # Example: (0x1f441, 0x1f5e8)
+ 
+-            u_str = ''.join(map(unichr, u_ids))
++            u_str = ''.join(map(chr, u_ids))
+             # Example: "U\0001f441U\0001f5e8"
+ 
+             # Replace sequences with correct ZWJ/VS16 versions as needed
+--- a/scfbuild/main.py
++++ b/scfbuild/main.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ # SCFBuild is released under the GNU General Public License v3.
+index 0000000..99418b5
+--- /dev/null
++++ b/scfbuild/requirements.txt
+@@ -0,0 +1,2 @@
++fonttools>=3.41.2
++PyYAML>=5.1
diff --git a/nixpkgs/pkgs/tools/misc/screen/default.nix b/nixpkgs/pkgs/tools/misc/screen/default.nix
index beeeb84aac93..bb02c286c4d3 100644
--- a/nixpkgs/pkgs/tools/misc/screen/default.nix
+++ b/nixpkgs/pkgs/tools/misc/screen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "screen";
-  version = "4.6.2";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "mirror://gnu/screen/${pname}-${version}.tar.gz";
-    sha256 = "0fps0fsipfbh7c2cnp7rjw9n79j0ysq21mk8hzifa33a1r924s8v";
+    sha256 = "1h90bpy2wk304xw367y1zwz0kilrpm6h28nphykx4fvqz8l56xys";
   };
 
   configureFlags= [
diff --git a/nixpkgs/pkgs/tools/misc/screenfetch/default.nix b/nixpkgs/pkgs/tools/misc/screenfetch/default.nix
index 883c2edd80a3..d01a3a877f2b 100644
--- a/nixpkgs/pkgs/tools/misc/screenfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/screenfetch/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, coreutils, gawk, procps, gnused
-, bc, findutils, xdpyinfo, xprop, gnugrep, ncurses
+, bc, findutils, xdpyinfo, xprop, gnugrep, ncurses, pciutils
 , darwin
 }:
 
 let
   path = lib.makeBinPath ([
     coreutils gawk gnused findutils
-    gnugrep ncurses bc
+    gnugrep ncurses bc pciutils
   ] ++ lib.optionals stdenv.isLinux [
     procps
     xdpyinfo
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "screenFetch";
-  version = "3.8.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner  = "KittyKatt";
     repo   = "screenFetch";
     rev    = "v${version}";
-    sha256 = "00ibv72cb7cqfpljyzgvajhbp0clqsqliz18nyv83bfy3gkf2qs8";
+    sha256 = "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/shadowenv/default.nix b/nixpkgs/pkgs/tools/misc/shadowenv/default.nix
new file mode 100644
index 000000000000..faa4220200cc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/shadowenv/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "shadowenv";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "Shopify";
+    repo = pname;
+    rev = version;
+    sha256 = "1s59ra99wcyyqz8gzly4qmcq5rh22c50c75cdi2kyajm7ghgryy9";
+  };
+
+  cargoSha256 = "0s4p4mpz1p5v9hr4flxlzqvc1b3zbqr3nxp1nxjw39ng9g3hplpg";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://shopify.github.io/shadowenv/";
+    description = "reversible directory-local environment variable manipulations";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/skim/default.nix b/nixpkgs/pkgs/tools/misc/skim/default.nix
index 5072bfb69343..55e6e5424d73 100644
--- a/nixpkgs/pkgs/tools/misc/skim/default.nix
+++ b/nixpkgs/pkgs/tools/misc/skim/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "skim";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "lotabout";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00sx1pyj0a9hkv9b8g3iykkw303vnqziddp2600nvfr8x8pd01gi";
+    sha256 = "1ygnjrljar4caybh8lqfjif4vhb33aam80ffnzgqxz6s6g85ifrb";
   };
 
   outputs = [ "out" "vim" ];
 
-  cargoSha256 = "1kqawnyddv4pjyiaizw3ydqk6hl4ng6xfw9ixy58rb1vk591kq8w";
+  cargoSha256 = "1vcxcyhhqncjii0pad775x10j1kp62y82q1mii65jclr1karml3p";
 
   patchPhase = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
diff --git a/nixpkgs/pkgs/tools/misc/slop/default.nix b/nixpkgs/pkgs/tools/misc/slop/default.nix
index 65031c2a1fe7..335a687dbc28 100644
--- a/nixpkgs/pkgs/tools/misc/slop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/snapper/default.nix b/nixpkgs/pkgs/tools/misc/snapper/default.nix
index 5eba12285ded..466a5f3faf1c 100644
--- a/nixpkgs/pkgs/tools/misc/snapper/default.nix
+++ b/nixpkgs/pkgs/tools/misc/snapper/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
-, lvm2, pam, python, utillinux }:
+, lvm2, pam, python, utillinux, fetchpatch, json_c }:
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.3";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "0f3nsqk8820jh08qdh23n01vxbigsfcn9s5qvgqz6jf4pwin6j0x";
+    sha256 = "0605j4f3plb6q8lwf82y2jhply6dwj49jgxk8j16wsbf5k7lqzfq";
   };
 
   nativeBuildInputs = [
@@ -20,12 +20,20 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python utillinux
+    lvm2 pam python utillinux json_c
+  ];
+
+  patches = [
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://github.com/openSUSE/snapper/commit/c51708aea22d9436da287cba84424557ad03644b.patch";
+      sha256 = "106pf7pv8z3q37c8ckmgwxs1phf2fy7l53a9g5xq5kk2rjj1cx34";
+    })
   ];
 
   postPatch = ''
     # Hard-coded root paths, hard-coded root paths everywhere...
-    for file in {client,data,pam,scripts}/Makefile.am; do
+    for file in {client,data,pam,scripts,zypp-plugin}/Makefile.am; do
       substituteInPlace $file \
         --replace '$(DESTDIR)/usr' "$out" \
         --replace "DESTDIR" "out" \
@@ -41,9 +49,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = [
-    "-I${libxml2.dev}/include/libxml2"
-  ];
+  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
   postInstall = ''
     rm -r $out/etc/cron.*
diff --git a/nixpkgs/pkgs/tools/misc/snore/default.nix b/nixpkgs/pkgs/tools/misc/snore/default.nix
new file mode 100644
index 000000000000..f6f177811b02
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/snore/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.1";
+  pname = "snore";
+
+  src = fetchFromGitHub {
+    owner = "clamiax";
+    repo = pname;
+    rev = version;
+    sha256 = "1ic1qy6ybnjlkz5rb1hpvq6dcdmxw5xcx34qcadrsfdjizxcv8pp";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "sleep with feedback";
+    homepage = "https://github.com/clamiax/snore";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index 8685bf7139e1..fa59935f561f 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -1,26 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, libiconv, darwin }:
+{ stdenv, fetchFromGitHub, rustPlatform
+, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.18.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "starship";
-    repo = "starship";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1xin821lgrdxb50i9p9ya3yfi64l4byf9il4jiijgsjckinxyflj";
+    sha256 = "1wqxcfd7ams3k0swps9037dzc1qzxhpbqaz4qjw9jabgcl6jkb6v";
   };
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  cargoSha256 = "12yswvhgcmqz0nyarva27pjc4xqqqn3m31y04r3l7ldbzgikn8k6";
+  postPatch = ''
+    substituteInPlace src/utils.rs \
+      --replace "/bin/echo" "echo"
+  '';
+
+  cargoSha256 = "0gcca3vlwrfhw9k4r9zc1raflr1m4xws9dpdxjh1kz34f9g88ijg";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ bbigras ];
+    maintainers = with maintainers; [ bbigras davidtwco filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
index b530193258c9..66ed0a11fd92 100644
--- a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
       --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
   '';
 
-  makeFlags = "PREFIX=$(out) SYSCONFDIR=$(out)/etc PYTHON=${python.interpreter}";
+  makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc" "PYTHON=${python.interpreter}" ];
 
   postInstall = ''
     wrapProgram "$out/bin/svtplay-dl" \
diff --git a/nixpkgs/pkgs/tools/misc/system-config-printer/default.nix b/nixpkgs/pkgs/tools/misc/system-config-printer/default.nix
index 1b949108c54a..e9ee91de6776 100644
--- a/nixpkgs/pkgs/tools/misc/system-config-printer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,47 +1,56 @@
-{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
+{ stdenv, fetchFromGitHub, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
 , docbook_xml_dtd_412, docbook_xsl
 , libxml2, desktop-file-utils, libusb1, cups, gdk-pixbuf, pango, atk, libnotify
-, gobject-introspection, libsecret
+, gobject-introspection, libsecret, packagekit
 , cups-filters
-, pythonPackages
+, python3Packages, autoreconfHook, bash
 }:
 
 stdenv.mkDerivation rec {
   pname = "system-config-printer";
-  version = "1.5.11";
+  version = "1.5.12";
 
-  src = fetchurl {
-    url = "https://github.com/zdohnal/system-config-printer/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1lq0q51bhanirpjjvvh4xiafi8hgpk8r32h0dj6dn3f32z8pib9q";
+  src = fetchFromGitHub {
+    owner = "openPrinting";
+    repo = pname;
+    rev = version;
+    sha256 = "1a812jsd9pb02jbz9bq16qj5j6k2kw44g7s1xdqqkg7061rd7mwf";
   };
 
+  prePatch = ''
+    # for automake
+    touch README ChangeLog
+    # for tests
+    substituteInPlace Makefile.am --replace /bin/bash ${bash}/bin/bash
+  '';
+
   patches = [ ./detect_serverbindir.patch ];
 
   buildInputs = [
     glib udev libusb1 cups
-    pythonPackages.python
-    libnotify gobject-introspection gdk-pixbuf pango atk
+    python3Packages.python
+    libnotify gobject-introspection gdk-pixbuf pango atk packagekit
     libsecret
   ];
 
   nativeBuildInputs = [
     intltool pkgconfig
     xmlto libxml2 docbook_xml_dtd_412 docbook_xsl desktop-file-utils
-    pythonPackages.wrapPython
-    wrapGAppsHook
+    python3Packages.wrapPython
+    wrapGAppsHook autoreconfHook
   ];
 
-  pythonPath = with pythonPackages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
+  pythonPath = with python3Packages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
 
   configureFlags = [
     "--with-udev-rules"
-    "--with-udevdir=$(out)/etc/udev"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-udevdir=${placeholder "out"}/etc/udev"
+    "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
   ];
 
   stripDebugList = [ "bin" "lib" "etc/udev" ];
 
-  doCheck = false; # generates shebangs in check phase, too lazy to fix
+  doCheck = true;
 
   postInstall =
     ''
@@ -54,20 +63,14 @@ stdenv.mkDerivation rec {
       find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do
         patchPythonScript "$f"
       done
-
-      # The below line will be unneeded when the next upstream release arrives.
-      sed -i -e "s|/usr/local/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
-
-      # Manually expand literal "$(out)", which have failed to expand
-      sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \
-          -i "$out/etc/systemd/system/configure-printer@.service"
+      patchPythonScript $out/etc/udev/udev-add-printer
 
       substituteInPlace $out/etc/udev/rules.d/70-printers.rules \
         --replace "udev-configure-printer" "$out/etc/udev/udev-configure-printer"
     '';
 
   meta = {
-    homepage = http://cyberelk.net/tim/software/system-config-printer/;
+    homepage = "https://github.com/openprinting/system-config-printer";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/tools/misc/tealdeer/default.nix b/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
index 85f90ed1692f..547cb2d10759 100644
--- a/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, cacert, curl }:
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, cacert, curl
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "tealdeer";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "dbrgn";
     repo = "tealdeer";
     rev = "v${version}";
-    sha256 = "055pjxgiy31j69spq66w80ig469yi075dk8ad38z6rlvjmf74k71";
+    sha256 = "1v9wq4k7k4lmdz6xy6kabchjpbx9lds20yh6va87shypdh9iva29";
   };
 
-  cargoSha256 = "0yrz2pq4zdv6hzc8qc1zskpkq556mzpwvzl7qzbfzx8b6g31ak19";
+  cargoSha256 = "0y1y74fgxcv8a3cmyf30p6gg12r79ln7inir8scj88wbmwgkbxsp";
 
-  buildInputs = [ openssl cacert curl ];
+  buildInputs = [ openssl cacert curl ]
+    ++ (stdenv.lib.optional stdenv.isDarwin Security);
 
   nativeBuildInputs = [ pkgconfig ];
   
diff --git a/nixpkgs/pkgs/tools/misc/teleconsole/default.nix b/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
index 4cac9befe16a..b8e984e90c43 100644
--- a/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
+++ b/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   CGO_ENABLED = 1;
-  buildFlags = "-ldflags";
+  buildFlags = [ "-ldflags" ];
 
   meta = with stdenv.lib; {
     homepage = "https://www.teleconsole.com/";
diff --git a/nixpkgs/pkgs/tools/misc/tensorman/default.nix b/nixpkgs/pkgs/tools/misc/tensorman/default.nix
new file mode 100644
index 000000000000..97912b3c5fa1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/termplay/default.nix b/nixpkgs/pkgs/tools/misc/termplay/default.nix
index f9ccec87adc0..dd045f1cfac4 100644
--- a/nixpkgs/pkgs/tools/misc/termplay/default.nix
+++ b/nixpkgs/pkgs/tools/misc/termplay/default.nix
@@ -1,18 +1,19 @@
 { rustPlatform, fetchFromGitHub, lib, makeWrapper, gst_all_1, libsixel }:
+
 rustPlatform.buildRustPackage rec {
   pname = "termplay";
-  version = "2.0.4";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "jD91mZM2";
     repo = "termplay";
-    rev = version;
+    rev = "v${version}";
 
-    sha256 = "0qgx9xmi8n3sq5n5m6gai777sllw9hyki2kwsj2k4h1ykibzq9r0";
+    sha256 = "1w7hdqgqr1jgxid3k7f2j52wz31gv8bzr9rsm6xzp7nnihp6i45p";
   };
 
   cargoBuildFlags = ["--features" "bin"];
-  cargoSha256 = "06vf2lhdsp7vsln8007zd1xcswn5akk9gnhh7582x1siiijksmn7";
+  cargoSha256 = "15i7qid91awlk74n823im1n6isqanf4vlcal90n1w9izyddzs9j0";
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/termtosvg/default.nix b/nixpkgs/pkgs/tools/misc/termtosvg/default.nix
index f3a482baa480..7dc2bc618ea6 100644
--- a/nixpkgs/pkgs/tools/misc/termtosvg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/testdisk/default.nix b/nixpkgs/pkgs/tools/misc/testdisk/default.nix
deleted file mode 100644
index 14c152236d6b..000000000000
--- a/nixpkgs/pkgs/tools/misc/testdisk/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid, ntfs3g }:
-
-stdenv.mkDerivation {
-  name = "testdisk-7.1";
-
-  src = fetchurl {
-    url = https://www.cgsecurity.org/testdisk-7.0.tar.bz2;
-    sha256 = "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0";
-  };
-
-  buildInputs = [ ncurses libjpeg zlib openssl libuuid ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ e2fsprogs ntfs3g ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://www.cgsecurity.org/wiki/TestDisk;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    longDescription = ''
-      TestDisk is a program for data recovery, primarily designed to
-      help recover lost partitions and/or make non-booting disks
-      bootable again.
-    '';
-  };
-}
diff --git a/nixpkgs/pkgs/tools/misc/timidity/default.nix b/nixpkgs/pkgs/tools/misc/timidity/default.nix
index 318ad6e3a9dc..c307c96199f2 100644
--- a/nixpkgs/pkgs/tools/misc/timidity/default.nix
+++ b/nixpkgs/pkgs/tools/misc/timidity/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   configureFlags = [ "--enable-audio=oss,alsa,jack" "--enable-alsaseq" "--with-default-output=alsa" "--enable-ncurses" ];
 
-  NIX_LDFLAGS = ["-ljack -L${libjack2}/lib"];
+  NIX_LDFLAGS = "-ljack -L${libjack2}/lib";
 
   instruments = fetchurl {
     url = http://www.csee.umbc.edu/pub/midia/instruments.tar.gz;
diff --git a/nixpkgs/pkgs/tools/misc/tio/default.nix b/nixpkgs/pkgs/tools/misc/tio/default.nix
index 3a8388280d65..9ee9b977ab29 100644
--- a/nixpkgs/pkgs/tools/misc/tio/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tio/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = https://tio.github.io/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ yegortimoshenko ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/tmate/default.nix b/nixpkgs/pkgs/tools/misc/tmate/default.nix
index 420692c070c7..86ab24928777 100644
--- a/nixpkgs/pkgs/tools/misc/tmate/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmate";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "tmate-io";
     repo   = "tmate";
     rev    = version;
-    sha256 = "0fwqhmkp1jfp8qk7497ws3nzvly7p06mv04z8z0qicn6a961v1sa";
+    sha256 = "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix b/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
index 59aa3861510c..006cef6f1027 100644
--- a/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1m5859ngwx61l1i4s6fja2avf1hyv6w170by273w8nsin89825lk";
   };
 
-  configureFlags="--with-fuser=${psmisc}/bin/fuser";
+  configureFlags = [ "--with-fuser=${psmisc}/bin/fuser" ];
 
   meta = with stdenv.lib; {
     homepage = https://fedorahosted.org/tmpwatch/;
diff --git a/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix b/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix
new file mode 100644
index 000000000000..3ea5f758050d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, openssl, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "tmux-xpanes";
+  version = "4.1.0";
+
+  src = fetchFromGitHub {
+    owner = "greymd";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11yz6rh2ckd1z8q80n8giv2gcz2i22fgf3pnfxq96qrzflb0d96a";
+  };
+
+  buildInputs = [ openssl perl ];
+
+  installPhase = ''
+    # Create directories.
+    install -m 755 -d $out/bin/
+    install -m 755 -d $out/share/man/man1/
+
+    # Perform installation.
+    install -m 755 bin/* $out/bin/
+    install -m 644 man/*.1 $out/share/man/man1/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "tmux-based terminal divider";
+    homepage = "https://github.com/greymd/tmux-xpanes";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ monsieurp ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/tmux/default.nix b/nixpkgs/pkgs/tools/misc/tmux/default.nix
index 36127dd57e64..1aa221bd59e3 100644
--- a/nixpkgs/pkgs/tools/misc/tmux/default.nix
+++ b/nixpkgs/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.0a";
 
   outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "tmux";
+    repo = "tmux";
     rev = version;
-    sha256 = "040plbgxlz14q5p0p3wapr576jbirwripmsjyq3g1nxh76jh1ipg";
+    sha256 = "0y9lv1yr0x50v3k70vzkc8hfr7yijlsi30p7dr7i8akp3lwmmc7h";
   };
 
-  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/nixpkgs/pkgs/tools/misc/tmuxp/default.nix b/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
index b794e46b2585..9ffa89f59196 100644
--- a/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/topgrade/default.nix b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
new file mode 100644
index 000000000000..060975f2002b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "topgrade";
+  version = "3.7.1";
+
+  src = fetchFromGitHub {
+    owner = "r-darwish";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0vs0gnfs9swlmzsj7m3b88xfzcfy7n68bgm4i94csc3qsbip6m0j";
+  };
+
+  cargoSha256 = "1y85hl7xl60vsj3ivm6pyd6bvk39wqg25bqxfx00r9myha94iqmd";
+
+  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/nixpkgs/pkgs/tools/misc/toybox/default.nix b/nixpkgs/pkgs/tools/misc/toybox/default.nix
index be0c33fb6e54..b863786145c6 100644
--- a/nixpkgs/pkgs/tools/misc/toybox/default.nix
+++ b/nixpkgs/pkgs/tools/misc/toybox/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "toybox";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "landley";
     repo = pname;
     rev = version;
-    sha256 = "0mi1glrqmri3v6imbf8k20ylf0kmpv9prbnbggmcqfa0pswpyl4v";
+    sha256 = "02mliqz2lry779ba6vmyaa13nxcmj91f8pyhzim9wvcnjq8vc5cj";
   };
 
   buildInputs = lib.optionals enableStatic [ stdenv.cc.libc stdenv.cc.libc.static ];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)/bin" ] ++ lib.optional enableStatic "LDFLAGS=--static";
 
-  installTargets = "install_flat";
+  installTargets = [ "install_flat" ];
 
   # tests currently (as of 0.8.0) get stuck in an infinite loop...
   # ...this is fixed in latest git, so doCheck can likely be enabled for next release
diff --git a/nixpkgs/pkgs/tools/misc/trac/default.nix b/nixpkgs/pkgs/tools/misc/trac/default.nix
new file mode 100644
index 000000000000..39bbf6850eb6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/trac/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, Babel
+, docutils
+, pygments
+, pytz
+, jinja2
+, pysqlite
+, psycopg2
+, pymysql
+, git
+, setuptools
+}:
+
+
+buildPythonApplication rec {
+  pname = "trac";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "Trac";
+    sha256 = "1cg51rg0vb9vf23wgn28z3szlxhwnxprj5m0mvibqyypi123bvx1";
+  };
+
+  prePatch = ''
+    # Removing the date format tests as they are outdated
+    substituteInPlace trac/util/tests/__init__.py \
+      --replace "suite.addTest(datefmt.test_suite())" ""
+  '';
+
+  propagatedBuildInputs = [
+    Babel
+    docutils
+    pygments
+    pytz
+    jinja2
+    pysqlite
+    psycopg2
+    pymysql
+    git
+    setuptools
+  ];
+
+  meta = with lib; {
+    description = "Integrated SCM, wiki, issue tracker and project environment";
+    homepage = "https://trac.edgewall.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
index fd818ca6f9b0..ac8feaef2758 100644
--- a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
@@ -26,6 +26,12 @@ python3Packages.buildPythonApplication rec {
       url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
       sha256 = "0w49rjh433sjfc2cl5a9wlbr6kcn9f1qg905qsyv7ay3ar75wvyp";
     })
+
+    # Fix listing trashed files over mount points, see https://github.com/andreafrancia/trash-cli/issues/95
+    (fetchpatch {
+      url = "https://github.com/andreafrancia/trash-cli/commit/436dfddb4c2932ba3ff696e4732750b7bdc58461.patch";
+      sha256 = "02pkcz7nj67jbnqpw1943nrv95m8xyjvab4j62fa64r73fagm8m4";
+    })
   ];
 
   checkInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix b/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
index bfb97c22b1d3..f82917239e64 100644
--- a/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.freetype.org/ttfautohint;
     license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
-    maintainers = with maintainers; [ goibhniu ndowens ];
+    maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.unix;
   };
 
diff --git a/nixpkgs/pkgs/tools/misc/tty-clock/default.nix b/nixpkgs/pkgs/tools/misc/tty-clock/default.nix
index edaa9b662e76..b261f0ef8411 100644
--- a/nixpkgs/pkgs/tools/misc/tty-clock/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tty-clock/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/xorg62/tty-clock;
diff --git a/nixpkgs/pkgs/tools/misc/ttygif/default.nix b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
new file mode 100644
index 000000000000..2fbd43606988
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ttygif";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "icholy";
+    repo = pname;
+    rev = version;
+    sha256 = "18l26iacpfn4xqqv1ai6ncabn83mqv98c48gl265gfld66y7zbzn";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/icholy/ttygif";
+    description = "Convert terminal recordings to animated gifs";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/txr/default.nix b/nixpkgs/pkgs/tools/misc/txr/default.nix
index c47fe77fb76b..0f68ca82ece8 100644
--- a/nixpkgs/pkgs/tools/misc/txr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/txr/default.nix
@@ -2,16 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "txr";
-  version = "225";
+  version = "230";
 
   src = fetchurl {
     url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
-    sha256 = "07vh0rmvjr2sir15l3ppp2pnp2d849dg17rzykkzqyk3d5rwfxyj";
+    sha256 = "03ab9drdqvkfq240pkrx6197jjvvjizjwfx9psjmm6lixksw0kjx";
   };
 
   nativeBuildInputs = [ bison flex ];
   buildInputs = [ libffi ];
 
+  # fix usage of off_t without include
+  postPatch = ''
+    sed -i '1i#include <sys/types.h>' sysif.h
+  '';
+
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/misc/ultrastar-creator/default.nix b/nixpkgs/pkgs/tools/misc/ultrastar-creator/default.nix
index d70fded5e3e4..dd9742293ac7 100644
--- a/nixpkgs/pkgs/tools/misc/ultrastar-creator/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ultrastar-creator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ lib, mkDerivation, fetchFromGitHub
 , qmake, qtbase, pkgconfig, taglib, libbass, libbass_fx }:
 
 # TODO: get rid of (unfree) libbass
@@ -6,7 +6,7 @@
 # there’s a WIP branch here:
 # https://github.com/UltraStar-Deluxe/UltraStar-Creator/commits/BASS_removed
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "ultrastar-creator";
   version = "2019-04-23";
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     sha256 = "1rzz04l7s7pxj74xam0cxlq569lfpgig35kpbsplq531d4007pc9";
   };
 
-  postPatch = with stdenv.lib; ''
+  postPatch = with lib; ''
     # we don’t want prebuild binaries checked into version control!
     rm -rf lib include
     sed -e "s|DESTDIR =.*$|DESTDIR = $out/bin|" \
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ qmake pkgconfig ];
   buildInputs = [ qtbase taglib libbass libbass_fx ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Ultrastar karaoke song creation tool";
     homepage = https://github.com/UltraStar-Deluxe/UltraStar-Creator;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/tools/misc/ultrastar-manager/default.nix b/nixpkgs/pkgs/tools/misc/ultrastar-manager/default.nix
index 0a3bb19d14b9..19d126d98f64 100644
--- a/nixpkgs/pkgs/tools/misc/ultrastar-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ultrastar-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, symlinkJoin, qmake, diffPlugins
+{ lib, mkDerivation, fetchFromGitHub, pkgconfig, symlinkJoin, qmake, diffPlugins
 , qtbase, qtmultimedia, taglib, libmediainfo, libzen, libbass }:
 
 let
@@ -24,12 +24,12 @@ let
       repo = "UltraStar-Manager";
       inherit rev sha256;
     };
-    in stdenv.mkDerivation {
+    in mkDerivation {
       name = "${src.name}-patched";
       inherit src;
       phases = [ "unpackPhase" "patchPhase" ];
 
-      patchPhase = with stdenv.lib; ''
+      patchPhase = with lib; ''
         # we don’t want prebuild binaries checked into version control!
         rm -rf lib include
 
@@ -55,7 +55,7 @@ let
     sed -e "s|QCore.*applicationDirPath()|QString(\"${path}\")|" -i "${file}"
   '';
 
-  buildPlugin = name: stdenv.mkDerivation {
+  buildPlugin = name: mkDerivation {
     name = "ultrastar-manager-${name}-plugin-${version}";
     src = patchedSrc;
 
@@ -82,7 +82,7 @@ let
       paths = map buildPlugin plugins;
     };
 
-in stdenv.mkDerivation {
+in mkDerivation {
   pname = "ultrastar-manager";
   inherit version;
   src = patchedSrc;
@@ -112,7 +112,7 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   inherit buildInputs;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Ultrastar karaoke song manager";
     homepage = https://github.com/UltraStar-Deluxe/UltraStar-Manager;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/tools/misc/units/default.nix b/nixpkgs/pkgs/tools/misc/units/default.nix
index 8f66f566aa7d..8bea94770ba6 100644
--- a/nixpkgs/pkgs/tools/misc/units/default.nix
+++ b/nixpkgs/pkgs/tools/misc/units/default.nix
@@ -1,4 +1,13 @@
-{ stdenv, fetchurl, readline }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  readline,
+  enableCurrenciesUpdater ? true,
+  pythonPackages ? null
+}:
+
+assert enableCurrenciesUpdater -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "units";
@@ -9,7 +18,22 @@ stdenv.mkDerivation rec {
     sha256 = "0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2";
   };
 
-  buildInputs = [ readline ];
+  pythonEnv = pythonPackages.python.withPackages(ps: [
+    ps.requests
+  ]);
+
+  buildInputs = [ readline ]
+    ++ lib.optionals enableCurrenciesUpdater [
+      pythonEnv
+    ]
+  ;
+  prePatch = ''
+    substituteInPlace units_cur \
+      --replace "#!/usr/bin/env python" ${pythonEnv}/bin/python
+  '';
+  postInstall = ''
+    cp units_cur ${placeholder "out"}/bin/
+  '';
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
index a32ce090ecdd..5aa9f8c34a47 100644
--- a/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-" }:
+{ stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-"
+, Security
+}:
 
 rustPlatform.buildRustPackage {
   name = "uutils-coreutils-2019-05-03";
@@ -19,20 +21,20 @@ rustPlatform.buildRustPackage {
     ++ lib.optional (prefix != null) [ "PROG_PREFIX=${prefix}" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ cargo sphinx ];
+  buildInputs = [ cargo sphinx ] ++ lib.optional stdenv.isDarwin Security;
 
   # empty {build,install}Phase to use defaults of `stdenv.mkDerivation` rather than rust defaults
   buildPhase = "";
   installPhase = "";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Cross-platform Rust rewrite of the GNU coreutils";
     longDescription = ''
       uutils is an attempt at writing universal (as in cross-platform)
       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
     '';
     homepage = https://github.com/uutils/coreutils;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix b/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
index 7ac9542c6b5f..328c343ba702 100644
--- a/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, CoreServices, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
     inherit src;
     sourceRoot = "source/rust";
     cargoSha256 = "1n1dxq3klsry5mmbfff2jv7ih8mr5zvpncrdgba6qs93wi77qi0y";
-    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -37,6 +37,13 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/pimutils/vdirsyncer/commit/7b636e8e40d69c495901f965b9c0686513659e44.patch";
+      sha256 = "0vl942ii5iad47y63v0ngmhfp37n30nxyk4j7h64b95fk38vfwx9";
+    })
+  ];
+
   postPatch = ''
     # see https://github.com/pimutils/vdirsyncer/pull/805
     substituteInPlace setup.cfg --replace --duration --durations
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
new file mode 100644
index 000000000000..18ae7b5e211c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform
+, openssl, pkgconfig, protobuf
+, Security, libiconv, rdkafka
+
+, features ?
+    (if stdenv.isAarch64
+     then [ "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
+     else [ "leveldb" "leveldb/leveldb-sys-2" "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "vector";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner  = "timberio";
+    repo   = pname;
+    rev    = "refs/tags/v${version}";
+    sha256 = "0bb4552nwkdpnxhaq2mn4iz5w92ggqxc1b78jq2vjbh1317sj9hw";
+  };
+
+  cargoSha256 = "1akyzrscc6pv7ggb1kna05vvxhfzrf1b4kji4bah1ry3yyqxdjsj";
+  buildInputs = [ openssl pkgconfig protobuf rdkafka ]
+                ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
+
+  # needed for internal protobuf c wrapper library
+  PROTOC="${protobuf}/bin/protoc";
+  PROTOC_INCLUDE="${protobuf}/include";
+
+  cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
+  checkPhase = ":"; # skip tests, too -- they don't respect the rdkafka flag...
+
+  meta = with stdenv.lib; {
+    description = "A high-performance logs, metrics, and events router";
+    homepage    = "https://github.com/timberio/vector";
+    license     = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/venus/default.nix b/nixpkgs/pkgs/tools/misc/venus/default.nix
index c51d3cc27027..534a500c7bcc 100644
--- a/nixpkgs/pkgs/tools/misc/venus/default.nix
+++ b/nixpkgs/pkgs/tools/misc/venus/default.nix
@@ -1,16 +1,14 @@
-{ stdenv, fetchurl, python, pythonPackages, libxslt, libxml2, makeWrapper }:
-
-let
-  rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
-in
+{ stdenv, fetchFromGitHub, python, pythonPackages, libxslt, libxml2, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "venus-${rev}";
-
-  src = fetchurl {
-    url = "https://github.com/rubys/venus/tarball/${rev}";
-    name = "${name}.tar.bz";
-    sha256 = "0lsc9d83grbi3iwm8ppaig4h9vbmd5h4vvz83lmpnyp7zqfka7dy";
+  pname = "venus";
+  version = "unstable-2011-02-18";
+
+  src = fetchFromGitHub {
+    owner = "rubys";
+    repo = "venus";
+    rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
+    sha256 = "10yyx4jaxxbwhica12aiw119aywghcr7b24gs9lrmafpa6xd3an2";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/misc/vimpager/build.nix b/nixpkgs/pkgs/tools/misc/vimpager/build.nix
index 69ec50bd5756..60389f6862b6 100644
--- a/nixpkgs/pkgs/tools/misc/vimpager/build.nix
+++ b/nixpkgs/pkgs/tools/misc/vimpager/build.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Use Vim as PAGER";
-    homepage    = "https://www.vim.org/scripts/script.php?script_id = 1723";
+    homepage    = "https://www.vim.org/scripts/script.php?script_id=1723";
     license     = with licenses; [ bsd2 mit vim ];
     platforms   = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix b/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix
new file mode 100644
index 000000000000..241da2acbb44
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonApplication
+, fetchPypi
+, markdown
+, pygments
+}:
+
+buildPythonApplication rec {
+  version = "0.2.0";
+  pname = "vimwiki-markdown";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "0k7srlglhq4bm85kgd5ismslrk1fk8v16mm41a8k0kmcr9k4vi4a";
+  };
+
+  propagatedBuildInputs= [
+    markdown
+    pygments
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Vimwiki markdown plugin";
+    homepage = https://github.com/WnP/vimwiki_markdown;
+    license = licenses.mit;
+    maintainers = with maintainers; [ seqizz ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/vivid/default.nix b/nixpkgs/pkgs/tools/misc/vivid/default.nix
index 4ffa250bdf53..a3df78abd25a 100644
--- a/nixpkgs/pkgs/tools/misc/vivid/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vivid/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13x0295v5blvv8dxhimbdjh81l7xl0vm6zni3qjd85psfn61371q";
+    sha256 = "00xxk1ipr3hndd717q52j7s2wfxis1p4glaa9lvp72gwwzmv5k9w";
   };
 
   postPatch = ''
     substituteInPlace src/main.rs --replace /usr/share $out/share
   '';
 
-  cargoSha256 = "125392a7x0h9jgcqc4wcaky0494xmr82iacxwl883kf0g227rv2y";
+  cargoSha256 = "04xx26ngz7hx7bv5g01q9h6dqa96xkx0xm3jb0qk6c3hp6500zpn";
 
   postInstall = ''
     mkdir -p $out/share/${pname}
diff --git a/nixpkgs/pkgs/tools/misc/vmtouch/default.nix b/nixpkgs/pkgs/tools/misc/vmtouch/default.nix
index e5bb23016ae9..fda442a67294 100644
--- a/nixpkgs/pkgs/tools/misc/vmtouch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vmtouch/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [perl];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
     description = "Portable file system cache diagnostics and control";
diff --git a/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix b/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix
new file mode 100644
index 000000000000..d0fbcecf0270
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix
@@ -0,0 +1,30 @@
+{ lib, mkDerivation, fetchurl, extra-cmake-modules, qtx11extras,
+  plasma-workspace, libwacom, xf86_input_wacom
+}:
+
+mkDerivation rec {
+  pname = "wacomtablet";
+  version = "3.2.0";
+  src = fetchurl {
+    url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "197pwpl87gqlnza36bp68jvw8ww25znk08acmi8bpz7n84xfc368";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    qtx11extras plasma-workspace
+    libwacom xf86_input_wacom
+  ];
+
+  meta = {
+    description = "KDE Configuration Module for Wacom Graphics Tablets";
+    longDescription = ''
+      This module implements a GUI for the Wacom Linux Drivers and extends it
+      with profile support to handle different button / pen layouts per profile.
+    '';
+    homepage = https://cgit.kde.org/wacomtablet.git/about/;
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.Thra11 ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/wagyu/default.nix b/nixpkgs/pkgs/tools/misc/wagyu/default.nix
new file mode 100644
index 000000000000..d56d21b15166
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/wakatime/default.nix b/nixpkgs/pkgs/tools/misc/wakatime/default.nix
index 06280b49fbf1..a685dc7cbdee 100644
--- a/nixpkgs/pkgs/tools/misc/wakatime/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/watchexec/default.nix b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
index 848a5858b919..9729f110bb74 100644
--- a/nixpkgs/pkgs/tools/misc/watchexec/default.nix
+++ b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, rustPlatform, fetchFromGitHub, CoreServices, darwin }:
+{ stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.10.3";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0iaxicghvfy85hrxn151hz8frgfknk3s1z0ngjn7cv5x5zvfxspf";
+    sha256 = "03s9nsss4895x4lp90y65jajavk8c2nj1jjnmx0vbbwl210ghlv1";
   };
 
-  cargoSha256 = "1sqwplvpg0n9j0h9j94m7a6ylgqi4y4wyx489y09z9gm7aqgrsjc";
+  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/nixpkgs/pkgs/tools/misc/websocat/default.nix b/nixpkgs/pkgs/tools/misc/websocat/default.nix
index b994aecfc0e0..f682bb3d2eba 100644
--- a/nixpkgs/pkgs/tools/misc/websocat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/websocat/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "websocat";
-  version = "1.3.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
-    owner  = "vi";
-    repo   = "websocat";
-    rev    = "v${version}";
-    sha256 = "1gf2snr12vnx2mhsrwkb5274r1pvdrf8m3bybrqbh8s9wd83nrh6";
+    owner = "vi";
+    repo = "websocat";
+    rev = "v${version}";
+    sha256 = "1lmra91ahpk4gamhnbdr066hl4vzwfh5i09fbabzdnxcvylbx8zf";
   };
 
   cargoBuildFlags = [ "--features=ssl" ];
-  cargoSha256 = "1zqfvbihf8xwgh092n9wzm3mdgbv0n99gjsfk9przqj2vh7wfvh2";
+  cargoSha256 = "163kwpahrbb9v88kjkrc0jx2np3c068pspr8rqrm9cb8jyl2njrr";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line client for WebSockets (like netcat/socat)";
-    homepage    = https://github.com/vi/websocat;
-    license     = with licenses; [ mit ];
-    maintainers = [ maintainers.thoughtpolice ];
-    platforms   = platforms.all;
+    homepage = "https://github.com/vi/websocat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thoughtpolice filalex77 ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/wl-clipboard/default.nix b/nixpkgs/pkgs/tools/misc/wl-clipboard/default.nix
index de3a19c3f51c..349d910dafc3 100644
--- a/nixpkgs/pkgs/tools/misc/wl-clipboard/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wl-clipboard/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wl-clipboard";
-  version = "1.0.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "bugaevc";
     repo = "wl-clipboard";
     rev = "v${version}";
-    sha256 = "03h6ajcc30w6928bkd4h6xfj4iy2359ww6hdlybq8mr1zwmb2h0q";
+    sha256 = "0c4w87ipsw09aii34szj9p0xfy0m00wyjpll0gb0aqmwa60p0c5d";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig wayland-protocols ];
diff --git a/nixpkgs/pkgs/tools/misc/wlr-randr/default.nix b/nixpkgs/pkgs/tools/misc/wlr-randr/default.nix
new file mode 100644
index 000000000000..c9f439646961
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/wlr-randr/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, meson, ninja, cmake, pkgconfig, wayland }:
+
+stdenv.mkDerivation rec {
+  pname = "wlr-randr";
+  version = "unstable-2019-03-21";
+
+  src = fetchFromGitHub {
+    owner = "emersion";
+    repo = pname;
+    rev = "c4066aa3249963dc7877119cffce10f3fa8b6304";
+    sha256 = "1ahw4sv07xg5rh9vr7j28636iaxs06vnybm3li6y8dz2sky7hk88";
+  };
+
+  nativeBuildInputs = [ meson ninja cmake pkgconfig ];
+  buildInputs = [ wayland ];
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    description = "An xrandr clone for wlroots compositors";
+    homepage = "https://github.com/emersion/wlr-randr";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/wob/default.nix b/nixpkgs/pkgs/tools/misc/wob/default.nix
new file mode 100644
index 000000000000..c3b3cd112398
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/wob/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub
+, meson, ninja, pkg-config, scdoc, wayland # wayland-scanner
+, wayland-protocols
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wob";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "francma";
+    repo = pname;
+    rev = version;
+    sha256 = "0cfglwh1inv6ng55vgznhll51m9g1lxfh37k4ridyxl64rc9jfq8";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland ];
+  buildInputs = [ wayland-protocols ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight overlay bar for Wayland";
+    longDescription = ''
+      A lightweight overlay volume/backlight/progress/anything bar for Wayland,
+      inspired by xob.
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/woeusb/default.nix b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
index f25034dd8cda..cc53b26e2388 100644
--- a/nixpkgs/pkgs/tools/misc/woeusb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1w3m3qbjn0igydsbpf22w29lzf1pkxv7dlny5mbyrb6j0q6wlx0b";
   };
 
+  patches = [ ./remove-workaround.patch ];
+
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
   buildInputs = [ wxGTK30 ];
 
diff --git a/nixpkgs/pkgs/tools/misc/woeusb/remove-workaround.patch b/nixpkgs/pkgs/tools/misc/woeusb/remove-workaround.patch
new file mode 100644
index 000000000000..094da2cb2bc1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/woeusb/remove-workaround.patch
@@ -0,0 +1,82 @@
+From 3cf93fd595bd3fca98c98a0bdc8fc86b36ee1403 Mon Sep 17 00:00:00 2001
+From: Michael Hoang <enzime@users.noreply.github.com>
+Date: Wed, 9 Oct 2019 12:42:53 +1100
+Subject: [PATCH] Remove writeback buffering workaround
+
+---
+ src/woeusb | 45 ---------------------------------------------
+ 1 file changed, 45 deletions(-)
+
+diff --git a/src/woeusb b/src/woeusb
+index 3284259..0d3ea20 100755
+--- a/src/woeusb
++++ b/src/woeusb
+@@ -308,9 +308,6 @@ init(){
+ 
+ 	current_state=copying-filesystem
+ 
+-	workaround_linux_make_writeback_buffering_not_suck \
+-		apply
+-
+ 	copy_filesystem_files \
+ 		"${source_fs_mountpoint}" \
+ 		"${target_fs_mountpoint}" \
+@@ -1650,41 +1647,6 @@ workaround_support_windows_7_uefi_boot(){
+ 		> "${efi_boot_directory}/bootx64.efi"
+ }; declare -fr workaround_support_windows_7_uefi_boot
+ 
+-## Currently WoeUSB indirectly causes severely unresponsive system on 64-bit architecture with large primary memory during file copy process due to a flaw of the writeback buffer size handling in Linux kernel, workaround it before it is fixed
+-## Refer: 
+-## - System lagging while copying data · Issue #113 · slacka/WoeUSB <https://github.com/slacka/WoeUSB/issues/113>
+-## - The pernicious USB-stick stall problem [LWN.net] <https://lwn.net/Articles/572911/>
+-workaround_linux_make_writeback_buffering_not_suck(){
+-	util_check_function_parameters_quantity 1 "${#}"
+-	local -r mode="${1}"
+-
+-	local -ir VM_DIRTY_BACKGROUND_BYTES=$((16*1024*1024)) # 16MiB
+-	local -ir VM_DIRTY_BYTES=$((48*1024*1024)) # 48MiB
+-
+-	case "${mode}" in
+-		apply)
+-			echo_with_color \
+-				yellow \
+-				'Applying workaround to prevent 64-bit systems with big primary memory from being unresponsive during copying files.'
+-			echo "${VM_DIRTY_BACKGROUND_BYTES}" > /proc/sys/vm/dirty_background_bytes
+-			echo "${VM_DIRTY_BYTES}" > /proc/sys/vm/dirty_bytes
+-		;;
+-		reset)
+-			echo_with_color \
+-				yellow \
+-				'Resetting workaround to prevent 64-bit systems with big primary memory from being unresponsive during copying files.'
+-			echo 0 > /proc/sys/vm/dirty_background_bytes
+-			echo 0 > /proc/sys/vm/dirty_bytes
+-		;;
+-		*)
+-			printf_with_color \
+-				red \
+-				'Fatal: %s: Unexpected *mode* encountered, please report bug.\n' \
+-				"${FUNCNAME[0]}"
+-		;;
+-	esac
+-}; declare -fr workaround_linux_make_writeback_buffering_not_suck
+-
+ install_legacy_pc_bootloader_grub(){
+ 	util_check_function_parameters_quantity 3 "${#}"
+ 	local -r target_fs_mountpoint="${1}"; shift 1
+@@ -1836,13 +1798,6 @@ trap_exit(){
+ 		off \
+ 		"${global_only_for_gui}"
+ 
+-	case "${current_state}" in
+-		copying-filesystem|finished)
+-			workaround_linux_make_writeback_buffering_not_suck \
+-				reset
+-		;;
+-	esac
+-
+ 	if util_is_parameter_set_and_not_empty \
+ 		source_fs_mountpoint; then
+ 		if ! cleanup_mountpoint  \
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/tools/misc/wyrd/default.nix b/nixpkgs/pkgs/tools/misc/wyrd/default.nix
index ec516555273a..6a5ec8672224 100644
--- a/nixpkgs/pkgs/tools/misc/wyrd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wyrd/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-DNCURSES_INTERNALS=1" ];
+  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
 
   preConfigure = ''
     substituteInPlace curses/curses.ml --replace 'pp gcc' "pp $CC"
diff --git a/nixpkgs/pkgs/tools/misc/xdo/default.nix b/nixpkgs/pkgs/tools/misc/xdo/default.nix
index f042b9e209f7..77a2ef763a97 100644
--- a/nixpkgs/pkgs/tools/misc/xdo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xdo/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
      sha256 = "1h3jrygcjjbavdbkpx2hscsf0yf97gk487lzjdlvymd7dxdv9hy9";
    };
 
-   makeFlags = "PREFIX=$(out)";
+   makeFlags = [ "PREFIX=$(out)" ];
 
    buildInputs = [ libxcb xcbutilwm xcbutil ];
 
diff --git a/nixpkgs/pkgs/tools/misc/xilinx-bootgen/default.nix b/nixpkgs/pkgs/tools/misc/xilinx-bootgen/default.nix
new file mode 100644
index 000000000000..e7aa30ac0591
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/xilinx-bootgen/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, openssl }:
+
+stdenv.mkDerivation {
+  pname = "xilinx-bootgen";
+  version = "unstable-2019-10-23";
+
+  src = fetchFromGitHub {
+    owner = "xilinx";
+    repo = "bootgen";
+    rev = "f9f477adf243fa40bc8c7316a7aac37a0efd426d";
+    sha256 = "1qciz3jkzy0z0lcgqnhch9pqj0202mk5ghzp2m9as5pzk8n8hrbz";
+  };
+
+  buildInputs = [ openssl ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -Dm755 bootgen $out/bin/bootgen
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generate Boot Images for Xilinx Zynq and ZU+ SoCs";
+    longDescription = ''
+      Bootgen for Xilinx Zynq and ZU+ SoCs, without code related to generating
+      obfuscated key and without code to support FPGA encryption and
+      authentication. These features are only available as part of Bootgen
+      shipped with Vivado tools.
+
+      For more details about Bootgen, please refer to Xilinx UG1283.
+    '';
+    homepage = "https://github.com/Xilinx/bootgen";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/xprite-editor/default.nix b/nixpkgs/pkgs/tools/misc/xprite-editor/default.nix
new file mode 100644
index 000000000000..e2615bef6ce1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/xprite-editor/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, gtk3
+, AppKit
+, pkg-config
+, python3
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "xprite-editor-unstable";
+  version = "2019-09-22";
+
+  src = fetchFromGitHub {
+    owner = "rickyhan";
+    repo = "xprite-editor";
+    rev = "7f899dff982642927024540e4bafd74e4ea5e52a";
+    sha256 = "1k6k8y8gg1vdmyjz27q689q9rliw0rrnzwlpjcd4vlc6swaq9ahx";
+    fetchSubmodules = true;
+    # Rename unicode file name which leads to different checksums on HFS+
+    # vs. other filesystems because of unicode normalization.
+    postFetch = ''
+      mv $out/config/palettes/Sweet\ Guaran*.hex $out/config/palettes/Sweet\ Guarana.hex
+    '';
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ gtk3 ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit ];
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config python3 ];
+
+  cargoSha256 = "0cd58888l7pjmghin31ha780yhs2pz67b10jysyasdw0a88m0dwy";
+
+  cargoBuildFlags = [ "--bin" "xprite-native" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/rickyhan/xprite-editor";
+    description = "Pixel art editor";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/xsel/default.nix b/nixpkgs/pkgs/tools/misc/xsel/default.nix
index 3d2fb50371ee..4c39babc3176 100644
--- a/nixpkgs/pkgs/tools/misc/xsel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xsel/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation {
   pname = "xsel-unstable";
 
-  version = "2018-01-10";
+  version = "2019-08-21";
 
   src = fetchFromGitHub {
     owner = "kfish";
     repo = "xsel";
-    rev = "9bfc13d64b5acb92c6648c696a9d9260fcbecc65";
-    sha256 = "05ms34by5hxznnpvmvhgp6llvlkz0zw4sq6c4bgwr82lj140lscm";
+    rev = "ef01f3c72a195dbce682184c842b81b17d7d7ad1";
+    sha256 = "191qa6022b7nww3bicfxpgp4d9x6c8s3sgixi780383ghkxds08c";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/yad/default.nix b/nixpkgs/pkgs/tools/misc/yad/default.nix
index 946a07d17b46..776b41ac1aaf 100644
--- a/nixpkgs/pkgs/tools/misc/yad/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yad/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yad";
-  version = "0.42.0";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "v1cont";
     repo = "yad";
     rev = "v${version}";
-    sha256 = "0ym8pgbzx7ydk5rmi2kwwdyzi6pdpcps86i0c20cqcjmqh8kdl36";
+    sha256 = "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/you-get/default.nix b/nixpkgs/pkgs/tools/misc/you-get/default.nix
index a900e26019c9..eb599caa7027 100644
--- a/nixpkgs/pkgs/tools/misc/you-get/default.nix
+++ b/nixpkgs/pkgs/tools/misc/you-get/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1328";
+  version = "0.4.1355";
 
   # Tests aren't packaged, but they all hit the real network so
   # probably aren't suitable for a build environment anyway.
@@ -10,7 +10,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rbsf7dphvlzahrzgdj1bq62mqhp2fmr61lckcyzq6jdq3vsf0w8";
+    sha256 = "06y9q336az8dzkxc13rzhl0m6l298saaida75wsd9fjm8pych6fx";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix b/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix
index 98449f8f554e..415ec83be2f7 100644
--- a/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix
+++ b/nixpkgs/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.09.12.1";
+  version = "2019.12.25";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0h7v81kcxcpy82wq9b1aiz2zg6hg7rnlcfmzd13j6k8yhr7ah9yf";
+    sha256 = "13f7wv9v77zilhif0ndgjv4wn9glhmm14yh7axdcx5wglrgz38hf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -65,6 +65,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz enzime ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/z-lua/default.nix b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
index adce403f35d8..9c637d3ae806 100644
--- a/nixpkgs/pkgs/tools/misc/z-lua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lua }:
+{ stdenv, fetchFromGitHub, lua52Packages, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
@@ -13,10 +13,17 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
-  buildInputs = [ (lua.withPackages (p: with p; [ luafilesystem ])) ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ lua52Packages.lua ];
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 z.lua $out/bin/z
+    wrapProgram $out/bin/z --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so" --set _ZL_USE_LFS 1;
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/6tunnel/default.nix b/nixpkgs/pkgs/tools/networking/6tunnel/default.nix
new file mode 100644
index 000000000000..bf0e8ba33162
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/6tunnel/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "6tunnel";
+  version = "0.13";
+
+  src = fetchFromGitHub {
+    owner = "wojtekka";
+    repo = pname;
+    rev = version;
+    sha256 = "0zsx9d6xz5w8zvrqsm8r625gpbqqhjzvjdzc3z8yix668yg8ff8h";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "Tunnelling for application that don't speak IPv6";
+    homepage = "https://github.com/wojtekka/6tunnel";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/acme-client/default.nix b/nixpkgs/pkgs/tools/networking/acme-client/default.nix
index 60b3b6df69aa..06c2898248d0 100644
--- a/nixpkgs/pkgs/tools/networking/acme-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/acme-client/default.nix
@@ -1,8 +1,8 @@
 { stdenv
+, fetchFromGitHub
+, autoreconfHook
+, bison
 , apple_sdk ? null
-, cacert
-, defaultCaFile ? "${cacert}/etc/ssl/certs/ca-bundle.crt"
-, fetchurl
 , libbsd
 , libressl
 , pkgconfig
@@ -12,24 +12,22 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "acme-client";
-  version = "0.1.16";
+  version = "0.2.5";
 
-  src = fetchurl {
-    url = "https://kristaps.bsd.lv/acme-client/snapshots/acme-client-portable-${version}.tgz";
-    sha256 = "00q05b3b1dfnfp7sr1nbd212n0mqrycl3cr9lbs51m7ncaihbrz9";
+  src = fetchFromGitHub {
+    owner = "graywolf";
+    repo = "acme-client-portable";
+    rev = "v${version}";
+    sha256 = "1d9yk87nj5gizkq26m4wqfh4xhlrn5xlfj7mfgvrpsdiwibqxrrw";
   };
 
-  buildInputs = [ libbsd libressl pkgconfig ]
-    ++ optional stdenv.isDarwin apple_sdk.sdk;
+  nativeBuildInputs = [ autoreconfHook bison pkgconfig ];
+  buildInputs = [ libbsd libressl ] ++ optional stdenv.isDarwin apple_sdk.sdk;
 
-  CFLAGS = "-DDEFAULT_CA_FILE='\"${defaultCaFile}\"'";
-
-  preConfigure = ''
-    export PREFIX="$out"
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = {
-    homepage = https://kristaps.bsd.lv/acme-client/;
+    homepage = "https://github.com/graywolf/acme-client-portable";
     description = "Secure ACME/Let's Encrypt client";
     platforms = platforms.unix;
     license = licenses.isc;
diff --git a/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix b/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
index f367d2817cd1..9d948eaf8221 100644
--- a/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools
 , iw, ethtool, pciutils, libnl, pkgconfig, makeWrapper
-, autoreconfHook }:
+, autoreconfHook, usbutils }:
 
 stdenv.mkDerivation rec {
   name = "aircrack-ng-1.5.2";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/airmon-ng --prefix PATH : ${stdenv.lib.makeBinPath [
-      ethtool iw pciutils
+      ethtool iw pciutils usbutils
     ]}
   '';
 
diff --git a/nixpkgs/pkgs/tools/networking/airfield/default.nix b/nixpkgs/pkgs/tools/networking/airfield/default.nix
index c53cce49a388..a31bc57904d5 100644
--- a/nixpkgs/pkgs/tools/networking/airfield/default.nix
+++ b/nixpkgs/pkgs/tools/networking/airfield/default.nix
@@ -64,7 +64,7 @@ in stdenv.mkDerivation {
     description = "A web-interface for hipache-proxy";
     license = licenses.mit;
     homepage = https://github.com/emblica/airfield;
-    maintainers = with maintainers; [ offline ma27 ];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/altermime/default.nix b/nixpkgs/pkgs/tools/networking/altermime/default.nix
index e9091086ed98..b1481b2208c6 100644
--- a/nixpkgs/pkgs/tools/networking/altermime/default.nix
+++ b/nixpkgs/pkgs/tools/networking/altermime/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "15zxg6spcmd35r6xbidq2fgcg2nzyv1sbbqds08lzll70mqx4pj7";
   };
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format"
+  NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error=format"
     "-Wno-error=format-truncation"
     "-Wno-error=pointer-compare"
     "-Wno-error=memset-elt-size"
diff --git a/nixpkgs/pkgs/tools/networking/argus/default.nix b/nixpkgs/pkgs/tools/networking/argus/default.nix
index 72c0a78a447b..bb9abccc933a 100644
--- a/nixpkgs/pkgs/tools/networking/argus/default.nix
+++ b/nixpkgs/pkgs/tools/networking/argus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers,
-  pkgconfig, procps, which, wget, lsof, net_snmp, perl }:
+  pkgconfig, procps, which, wget, lsof, net-snmp, perl }:
 
 stdenv.mkDerivation rec {
   pname = "argus";
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex ];
-  propagatedBuildInputs = [ procps which wget lsof net_snmp ];
+  nativeBuildInputs = [ pkgconfig bison flex ];
+  buildInputs = [ libpcap cyrus_sasl tcp_wrappers ];
+  propagatedBuildInputs = [ procps which wget lsof net-snmp ];
 
   patchPhase = ''
      substituteInPlace events/argus-extip.pl \
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
     substituteInPlace events/argus-vmstat.sh \
       --replace vm_stat ${procps}/bin/vmstat
     substituteInPlace events/argus-snmp.sh \
-      --replace /usr/bin/snmpget ${net_snmp}/bin/snmpget \
-      --replace /usr/bin/snmpwalk ${net_snmp}/bin/snmpwalk
+      --replace /usr/bin/snmpget ${stdenv.lib.getBin net-snmp}/bin/snmpget \
+      --replace /usr/bin/snmpwalk ${stdenv.lib.getBin net-snmp}/bin/snmpwalk
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/aria2/default.nix b/nixpkgs/pkgs/tools/networking/aria2/default.nix
index e086105e19e9..0b4d77881b4d 100644
--- a/nixpkgs/pkgs/tools/networking/aria2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aria2/default.nix
@@ -6,23 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "aria2";
-  version = "1.34.0";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = "aria2";
     repo = "aria2";
     rev = "release-${version}";
-    sha256 = "0hwqnjyszasr6049vr5mn48slb48v5kw39cbpbxa68ggmhj9bw6m";
+    sha256 = "195r3711ly3drf9jkygwdc2m7q99hiqlfrig3ip1127b837gzsf9";
   };
 
-  patches = [
-    # Remove with 1.35.0.
-    (fetchpatch {
-      url = https://github.com/aria2/aria2/commit/e8e04d6f22a507e8374651d3d2343cd9fb986993.patch;
-      sha256 = "1v27nqbsdjgg3ga4n0v9daq21m3cmdpy7d08kp32200pzag87f4y";
-    })
-  ];
-
   nativeBuildInputs = [ pkgconfig autoreconfHook sphinx ];
 
   buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
@@ -44,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ filalex77 koral ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/atinout/default.nix b/nixpkgs/pkgs/tools/networking/atinout/default.nix
new file mode 100644
index 000000000000..16b3ee668da6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/atinout/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, ronn, mount }:
+
+stdenv.mkDerivation rec {
+  name = "atinout-${version}";
+  version = "0.9.2-alpha";
+
+  NIX_CFLAGS_COMPILE = "-Werror=implicit-fallthrough=0";
+  LANG = "C.UTF-8";
+  nativeBuildInputs = [ ronn mount ];
+
+  src = fetchgit {
+    url = "git://git.code.sf.net/p/atinout/code";
+    rev = "4976a6cb5237373b7e23cd02d7cd5517f306e3f6";
+    sha256 = "0bninv2bklz7ly140cxx8iyaqjlq809jjx6xqpimn34ghwsaxbpv";
+  };
+
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://atinout.sourceforge.net;
+    description = "Tool for talking to modems";
+    platforms = platforms.unix;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ bendlas ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/axel/default.nix b/nixpkgs/pkgs/tools/networking/axel/default.nix
index afa6cef1524d..1fa43e5849e2 100644
--- a/nixpkgs/pkgs/tools/networking/axel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/axel/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "axel";
-  version = "2.17.5";
+  version = "2.17.6";
 
   src = fetchFromGitHub {
     owner = "axel-download-accelerator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kwfbwh9g2227icgykgwa057vll5rkgac3df0pby530bivqzzzlw";
+    sha256 = "011cpkf6hpia5b5wfhy84fxfqpishdkvrg0kpbfprymq9bxjp0yl";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig autoconf-archive txt2man ];
diff --git a/nixpkgs/pkgs/tools/networking/babeld/default.nix b/nixpkgs/pkgs/tools/networking/babeld/default.nix
index e593bccbd1d5..5fccd9c0ebcb 100644
--- a/nixpkgs/pkgs/tools/networking/babeld/default.nix
+++ b/nixpkgs/pkgs/tools/networking/babeld/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, nixosTests }:
 
 stdenv.mkDerivation rec {
-  name = "babeld-1.9.0";
+  pname = "babeld";
+  version = "1.9.1";
 
   src = fetchurl {
-    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "0g7nhvd0hhb3jxdzpbqdxnb68375vm6apj2wslkxb70ip6rkk2hj";
+    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${pname}-${version}.tar.gz";
+    sha256 = "1d503igqv9s5pgrhvxp1czjy2xfsjhagyyh2iny7g4cjvl0kq6qy";
   };
 
   preBuild = ''
     makeFlags="PREFIX=$out ETCDIR=$out/etc"
   '';
 
+  passthru.tests.babeld = nixosTests.babeld;
+
   meta = {
     homepage = http://www.pps.univ-paris-diderot.fr/~jch/software/babel/;
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu fpletz ];
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
new file mode 100644
index 000000000000..cfccefab3517
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bandwhich";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "imsnif";
+    repo = pname;
+    rev = version;
+    sha256 = "1pd0hy17knalq4m5517ymbg95fa141843ir9283djlh3iqfgkm37";
+  };
+
+  cargoSha256 = "14mb6rbjxv3r8awvy0rjc23lyhg92q1q1dik6q1za1aq9w8yipwf";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
+  meta = with stdenv.lib; {
+    description = "A CLI utility for displaying current network utilization";
+    longDescription = ''
+      bandwhich sniffs a given network interface and records IP packet size, cross
+      referencing it with the /proc filesystem on linux or lsof on MacOS. It is
+      responsive to the terminal window size, displaying less info if there is
+      no room for it. It will also attempt to resolve ips to their host name in
+      the background using reverse DNS on a best effort basis.
+    '';
+    homepage = "https://github.com/imsnif/bandwhich";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ma27 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
index 2f74ac713d7d..3c84de29bf1f 100644
--- a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchzip, autoreconfHook, zlib, bzip2 }:
+{ stdenv, fetchurl, autoreconfHook, zlib, bzip2 }:
 
-stdenv.mkDerivation {
-  name = "bgpdump-2017-09-29";
+stdenv.mkDerivation rec {
+  pname = "bgpdump";
+  version = "1.6.0";
 
-  src = fetchzip {
-    url = "https://bitbucket.org/ripencc/bgpdump/get/94a0e724b335.zip";
-    sha256 = "09g9vz2zc4nyzl669w1j7fxw21ifja6dxbp0xbqh6n7w3gpx2g88";
+  src = fetchurl {
+    url = "https://ris.ripe.net/source/bgpdump/libbgpdump-1.6.0.tgz";
+    sha256 = "144369gj35mf63nz4idqwsvgsirw7fybm8kkk07yymrjp8jr3aqk";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib bzip2 ];
 
   meta = {
-    homepage = https://bitbucket.org/ripencc/bgpdump/wiki/Home;
+    homepage = https://bitbucket.org/ripencc/bgpdump/;
     description = ''Analyze dump files produced by Zebra/Quagga or MRT'';
     license = stdenv.lib.licenses.hpnd;
     maintainers = with stdenv.lib.maintainers; [ lewo ];
diff --git a/nixpkgs/pkgs/tools/networking/boringtun/default.nix b/nixpkgs/pkgs/tools/networking/boringtun/default.nix
index 05e9ba1282eb..dfb13f2168b4 100644
--- a/nixpkgs/pkgs/tools/networking/boringtun/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boringtun/default.nix
@@ -2,25 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "boringtun";
-  # "boringtun" is still undergoing review for security concerns.
-  # The GitHub page does not show any release yet,
-  # use 20190407 as version number to indicate that it is an unstable version.
-  version = "20190407";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
-    rev = "b040eb4fd1591b1d5ceb07c6cbb0856553f50adc";
-    sha256 = "04i53dvxld2a0xzr0gfl895rcwfvisj1rfs7rl0444gml8s8xyb3";
+    rev = "v${version}";
+    sha256 = "1mijy51hd8c4as9g4ivpfxismc9m5m3nhibfvclh3wrlcmp1ha9c";
   };
 
   cargoSha256 = "1gvmshwg9b486933vfgkg2r8nn6w6dyz42hqjy74p785fcg0v5hs";
 
-  # To prevent configuration phase error that is caused by
-  # lacking a new line in file ".cargo/config",
-  # we append a new line to the end of file.
-  preConfigure = "echo '' >> .cargo/config";
-
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
   # Testing this project requires sudo, Docker and network access, etc.
@@ -30,7 +22,7 @@ rustPlatform.buildRustPackage rec {
     description = "Userspace WireGuard® implementation in Rust";
     homepage = https://github.com/cloudflare/boringtun;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ xrelkd ];
+    maintainers = with maintainers; [ xrelkd marsam ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix b/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
index 4637a39e6e90..8e766cdeeb5c 100644
--- a/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
      void sigint(int sig) FUNCATTR_NORETURN;
     -inline void init(void);
     +static inline void init(void);
-     
+
      /* clear stuff and exit */
     --- a/src/options.c
     +++ b/src/options.c
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
 
   # This code uses inline in the gnu89 sense: see http://clang.llvm.org/compatibility.html#inline
-  NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-std=gnu89" else null;
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-std=gnu89";
 
   meta = with stdenv.lib; {
     description = "A small and simple console-based live network and disk io bandwidth monitor";
diff --git a/nixpkgs/pkgs/tools/networking/cadaver/default.nix b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
index 75a05108b8bf..95012208129a 100644
--- a/nixpkgs/pkgs/tools/networking/cadaver/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, openssl }:
+{ stdenv, fetchurl, fetchpatch, openssl, readline }:
 
 stdenv.mkDerivation rec {
   name = "cadaver-0.23.3";
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  configureFlags = [ "--with-ssl" ];
+  configureFlags = [ "--with-ssl" "--with-readline" ];
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl readline ];
 
   meta = with stdenv.lib; {
     description = "A command-line WebDAV client";
diff --git a/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch b/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
new file mode 100644
index 000000000000..2fa3baca7221
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
@@ -0,0 +1,26 @@
+From 0cf506c92967c84f9ed83ba9e1be946a7fda6425 Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar@redhat.com>
+Date: Mon, 2 Dec 2019 12:47:13 +0100
+Subject: sys_linux: allow clock_adjtime in seccomp filter
+
+The adjtimex() function in glibc was switched to the clock_adjtime
+system call.
+
+diff --git a/sys_linux.c b/sys_linux.c
+index 63eb8f1..fcf89c2 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -478,8 +478,8 @@ SYS_Linux_EnableSystemCallFilter(int level)
+ {
+   const int syscalls[] = {
+     /* Clock */
+-    SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
+-    SCMP_SYS(settimeofday), SCMP_SYS(time),
++    SCMP_SYS(adjtimex), SCMP_SYS(clock_adjtime), SCMP_SYS(clock_gettime),
++    SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday), SCMP_SYS(time),
+     /* Process */
+     SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid),
+     SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+-- 
+cgit v0.10.2
+
diff --git a/nixpkgs/pkgs/tools/networking/chrony/default.nix b/nixpkgs/pkgs/tools/networking/chrony/default.nix
index 69c4f897c93b..2ec16aa430a3 100644
--- a/nixpkgs/pkgs/tools/networking/chrony/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chrony/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
     sha256 = "1d9r2dhslll4kzdmxrj0qfgwq1b30d4l3s5cwr8yr93029dpj0jf";
   };
 
+  patches = [
+    ./allow-clock_adjtime.patch
+    ./fix-seccomp-build.patch
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
@@ -23,7 +28,7 @@ stdenv.mkDerivation rec {
   hardeningEnable = [ "pie" ];
 
   configureFlags = [ "--chronyvardir=$(out)/var/lib/chrony" ]
-    ++ stdenv.lib.optional stdenv.isLinux [ "--enable-scfilter" ];
+    ++ stdenv.lib.optional stdenv.isLinux "--enable-scfilter";
 
   meta = with stdenv.lib; {
     description = "Sets your computer's clock from time servers on the Net";
diff --git a/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch b/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch
new file mode 100644
index 000000000000..6888e7efeb72
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch
@@ -0,0 +1,13 @@
+diff --git a/sys_linux.c b/sys_linux.c
+index 898dc7a7f75..fcd334ecf03 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -503,7 +503,7 @@ SYS_Linux_EnableSystemCallFilter(int level)
+     SCMP_SYS(socketcall),
+     /* General I/O */
+     SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
+-    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
++    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(pselect6), SCMP_SYS(read),
+     SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
+     /* Miscellaneous */
+     SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
diff --git a/nixpkgs/pkgs/development/python-modules/circus/default.nix b/nixpkgs/pkgs/tools/networking/circus/default.nix
index a4f96ccaf68e..10edc92a9951 100644
--- a/nixpkgs/pkgs/development/python-modules/circus/default.nix
+++ b/nixpkgs/pkgs/tools/networking/circus/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, iowait, psutil, pyzmq, tornado, mock }:
+{ stdenv, python3Packages }:
 
-buildPythonPackage rec {
+let
+  inherit (python3Packages) buildPythonApplication fetchPypi iowait psutil pyzmq tornado_4 mock;
+in
+
+buildPythonApplication rec {
   pname = "circus";
   version = "0.15.0";
 
@@ -13,15 +16,14 @@ buildPythonPackage rec {
   postPatch = ''
     # relax version restrictions to fix build
     substituteInPlace setup.py \
-      --replace "pyzmq>=13.1.0,<17.0" "pyzmq>13.1.0" \
-      --replace "tornado>=3.0,<5.0" "tornado>=3.0"
+      --replace "pyzmq>=13.1.0,<17.0" "pyzmq>13.1.0"
   '';
 
   checkInputs = [ mock ];
 
   doCheck = false; # weird error
 
-  propagatedBuildInputs = [ iowait psutil pyzmq tornado ];
+  propagatedBuildInputs = [ iowait psutil pyzmq tornado_4 ];
 
   meta = with stdenv.lib; {
     description = "A process and socket manager";
diff --git a/nixpkgs/pkgs/tools/networking/cjdns/default.nix b/nixpkgs/pkgs/tools/networking/cjdns/default.nix
index 82fbfac842a5..df94de882be6 100644
--- a/nixpkgs/pkgs/tools/networking/cjdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cjdns/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, nodejs, which, python27, utillinux }:
 
-let version = "20.3"; in
+let version = "20.4"; in
 stdenv.mkDerivation {
   name = "cjdns-"+version;
 
@@ -8,14 +8,14 @@ stdenv.mkDerivation {
     owner = "cjdelisle";
     repo = "cjdns";
     rev = "cjdns-v${version}";
-    sha256 = "02cxrjmpi7pyf0qfvhkqg3y5rq7vlnib55n2hhxnyhzznxhgrsgy";
+    sha256 = "1d8li7vws1dmdgs96dmy4vh55gqy2ir4dnkrvgkv3fjq9pffr7vx";
   };
 
   buildInputs = [ which python27 nodejs ] ++
     # for flock
     stdenv.lib.optional stdenv.isLinux utillinux;
 
-  CFLAGS = "-O2";
+  CFLAGS = "-O2 -Wno-error=stringop-truncation";
   buildPhase =
     stdenv.lib.optionalString stdenv.isAarch32 "Seccomp_NO=1 "
     + "bash do";
diff --git a/nixpkgs/pkgs/tools/networking/clash/default.nix b/nixpkgs/pkgs/tools/networking/clash/default.nix
new file mode 100644
index 000000000000..f3d0a584593b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/clash/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "clash";
+  version = "0.17.1";
+
+  src = fetchFromGitHub {
+    owner = "Dreamacro";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zhbaw9jzl9wqc7yx8yxqlb6fwkss4pqkv26069qg6nsk584ndnf";
+  };
+
+  goPackagePath = "github.com/Dreamacro/clash";
+  modSha256 = "0vyd61bin7hmpdqrmrikc776mgif9v25627n8hzi65kiycv40kgx";
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-X ${goPackagePath}/constant.Version=${version}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A rule-based tunnel in Go";
+    homepage = "https://github.com/Dreamacro/clash";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ contrun filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix b/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix
new file mode 100644
index 000000000000..a57d9f13d785
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix
@@ -0,0 +1,48 @@
+{ lib, buildPythonApplication, fetchPypi
+, argcomplete
+, boto3
+, botocore
+, certifi
+, dateutil
+, jsonpatch
+, jsonschema
+, pyyaml
+, tabulate
+, urllib3
+}:
+
+buildPythonApplication rec {
+  pname = "cloud-custodian";
+  version = "0.8.45.1";
+
+  src = fetchPypi {
+    pname = "c7n";
+    inherit version;
+    sha256 = "0c199gdmpm83xfghrbzp02xliyxiygsnx2fvb35j9qpf37wzzp3z";
+  };
+
+  propagatedBuildInputs = [
+    argcomplete
+    boto3
+    botocore
+    certifi
+    dateutil
+    jsonpatch
+    jsonschema
+    pyyaml
+    tabulate
+    urllib3
+  ];
+
+  # Requires tox, many packages, and network access
+  checkPhase = ''
+    $out/bin/custodian --help
+  '';
+
+  meta = with lib; {
+    description = "Rules engine for cloud security, cost optimization, and governance";
+    homepage = "https://cloudcustodian.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/connman/connman-notify/default.nix b/nixpkgs/pkgs/tools/networking/connman/connman-notify/default.nix
index 0cb32ca415f1..d17729c691d3 100644
--- a/nixpkgs/pkgs/tools/networking/connman/connman-notify/default.nix
+++ b/nixpkgs/pkgs/tools/networking/connman/connman-notify/default.nix
@@ -1,38 +1,34 @@
-{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }:
+{ stdenv, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation {
+python3Packages.buildPythonApplication {
   pname = "connman-notify";
-  version = "2014-06-23";
+  version = "2019-10-05";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "wavexx";
     repo = "connman-notify";
-    rev = "0ed9b5e4a0e1f03c83c4589cabf410cac66cd11d";
-    sha256 = "0lhk417fdg3qxs1marpqp277bdxhwnbyrld9xj224bfk5v7xi4bg";
+    rev = "24b10a51721b54d932f4cd61ef2756423768c015";
+    sha256 = "1k5b5y6114yna2cm0cq82xilicran63hrhlklgv7k3p89057xh8j";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  format = "other";
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.dbus-python
-    pythonPackages.pygobject2
-    pythonPackages.pygtk
-    pythonPackages.notify
-  ];
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+
+  buildInputs = [ glib ];
+
+  pythonPath = with python3Packages; [ dbus-python pygobject3 ];
+
+  strictDeps = false;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp -vai connman-notify $out/bin/
+    install -D -t $out/bin connman-notify
+    install -D -t $out/share/doc README.rst
   '';
 
-  preFixup = ''
-    wrapProgram $out/bin/connman-notify --prefix PYTHONPATH : "$PYTHONPATH"
-  '';  
-
   meta = with stdenv.lib; {
     description = "Desktop notification integration for connman";
-    homepage = https://github.com/wavexx/connman-notify;
+    homepage = https://gitlab.com/wavexx/connman-notify;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/nixpkgs/pkgs/tools/networking/connman/default.nix b/nixpkgs/pkgs/tools/networking/connman/default.nix
index 56b0347e17f3..e58b8362f951 100644
--- a/nixpkgs/pkgs/tools/networking/connman/default.nix
+++ b/nixpkgs/pkgs/tools/networking/connman/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--sysconfdir=\${out}/etc"
     "--localstatedir=/var"
-    "--with-dbusconfdir=\${out}/etc"
-    "--with-dbusdatadir=\${out}/usr/share"
+    "--with-dbusconfdir=${placeholder "out"}/share"
+    "--with-dbusdatadir=${placeholder "out"}/share"
     "--disable-maintainer-mode"
     "--enable-openconnect=builtin"
     "--with-openconnect=${openconnect}/sbin/openconnect"
diff --git a/nixpkgs/pkgs/tools/networking/corerad/default.nix b/nixpkgs/pkgs/tools/networking/corerad/default.nix
new file mode 100644
index 000000000000..6f9ea09eea18
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/corerad/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "corerad";
+  version = "0.1.4";
+
+  goPackagePath = "github.com/mdlayher/corerad";
+
+  src = fetchFromGitHub {
+    owner = "mdlayher";
+    repo = "corerad";
+    rev = "v${version}";
+    sha256 = "0qlmmgdz69gqqn6h5kb3gsjyj7lm6pcfcx9xlmrxhisj914ij76r";
+  };
+
+  modSha256 = "0vim91yvw0cf9bd10hfanz8azq7q19lp2x61rs44ycx9zm3qdhcw";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mdlayher/corerad";
+    description = "CoreRAD extensible and observable IPv6 NDP RA daemon";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mdlayher ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index 5ed2d5a1cb11..fee1e9ee3acf 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "6.1.3";
+  version = "6.4.8";
 
   goPackagePath = "github.com/schollz/croc";
 
@@ -10,17 +10,17 @@ buildGoModule rec {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qc655y1vvz0bk4rk78fl33s3dqz196zn08aczrb4ipbbj7hp8x8";
+    sha256 = "03wm7agjwky9ma321x6as76rg053cagmni9ygwls82jjs2pvv0bv";
   };
 
-  modSha256 = "00bnf4dc3i41s9wjpbc59nn7jwlhvp2zhdrjhjn5fwbc95pm4gm0";
+  modSha256 = "011pcmfih8lg8l7hwdsq51p5brnhsddzv7mvsaw5sfv8nq9p8zc2";
   subPackages = [ "." ];
 
   meta = with stdenv.lib; {
     description = "Easily and securely send things from one computer to another";
     homepage = https://github.com/schollz/croc;
     license = licenses.mit;
-    maintainers = with maintainers; [ hugoreeves ];
+    maintainers = with maintainers; [ hugoreeves equirosa ];
 
     longDescription = ''
       Croc is a command line tool written in Go that allows any two computers to
diff --git a/nixpkgs/pkgs/tools/networking/curl/default.nix b/nixpkgs/pkgs/tools/networking/curl/default.nix
index 652bcdba8748..051271e97884 100644
--- a/nixpkgs/pkgs/tools/networking/curl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curl/default.nix
@@ -5,6 +5,7 @@
 , zlibSupport ? true, zlib ? null
 , sslSupport ? zlibSupport, openssl ? null
 , gnutlsSupport ? false, gnutls ? null
+, wolfsslSupport ? false, wolfssl ? null
 , scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
 , gssSupport ? !stdenv.hostPlatform.isWindows, libkrb5 ? null
 , c-aresSupport ? false, c-ares ? null
@@ -17,21 +18,24 @@ assert ldapSupport -> openldap != null;
 assert zlibSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 assert !(gnutlsSupport && sslSupport);
+assert !(gnutlsSupport && wolfsslSupport);
+assert !(sslSupport && wolfsslSupport);
 assert gnutlsSupport -> gnutls != null;
+assert wolfsslSupport -> wolfssl != null;
 assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 assert brotliSupport -> brotli != null;
 assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.65.3";
+  name = "curl-7.67.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${name}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
     ];
-    sha256 = "02g5zj4rq5sr15jzjqk70xk4k92i2pdmpq00xb4pnba8ps1mx18a";
+    sha256 = "0v2qb1c82m3qzkiyglsg1745qi791i9pl1jgnks8nm0sh9b6jpyx";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -53,6 +57,7 @@ stdenv.mkDerivation rec {
     optional c-aresSupport c-ares ++
     optional sslSupport openssl ++
     optional gnutlsSupport gnutls ++
+    optional wolfsslSupport wolfssl ++
     optional scpSupport libssh2 ++
     optional brotliSupport brotli;
 
@@ -67,7 +72,8 @@ stdenv.mkDerivation rec {
       # to nss-cacert from the default profile.
       "--without-ca-bundle"
       "--without-ca-path"
-      "--with-ca-fallback"
+      # The build fails when using wolfssl with --with-ca-fallback
+      ( if wolfsslSupport then "--without-ca-fallback" else "--with-ca-fallback")
       "--disable-manual"
       ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
       ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
@@ -77,6 +83,7 @@ stdenv.mkDerivation rec {
       ( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
       ( if brotliSupport then "--with-brotli" else "--without-brotli" )
     ]
+    ++ stdenv.lib.optional wolfsslSupport "--with-wolfssl=${wolfssl.dev}"
     ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${libkrb5.dev}"
        # For the 'urandom', maybe it should be a cross-system option
@@ -94,6 +101,9 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     moveToOutput bin/curl-config "$dev"
+
+    # Install completions
+    make -C scripts install
   '' + stdenv.lib.optionalString scpSupport ''
     sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la
   '' + stdenv.lib.optionalString gnutlsSupport ''
diff --git a/nixpkgs/pkgs/tools/networking/curlie/default.nix b/nixpkgs/pkgs/tools/networking/curlie/default.nix
index 2073c0b8497e..fa1471aa6203 100644
--- a/nixpkgs/pkgs/tools/networking/curlie/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curlie/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "curlie";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src= fetchFromGitHub {
     owner = "rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jgwd1amwjpmfgg08j9m9i15rpxijhmld9najzqb2gf8c1n5d8cf";
+    sha256 = "09v8alrbw6qva3q3bcqxnyjm7svagfxqvhdff7cqf5pbmkxnhln9";
   };
 
   modSha256 = "18nwq99vv3nbdwfilfn8v64mn58jviwybi93li0lcg7779nxab3d";
diff --git a/nixpkgs/pkgs/tools/networking/davix/default.nix b/nixpkgs/pkgs/tools/networking/davix/default.nix
index ff4d0d64c20f..9faad3775209 100644
--- a/nixpkgs/pkgs/tools/networking/davix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/davix/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, cmake, pkgconfig, openssl, libxml2, boost, python3, libuuid }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.4";
+  version = "0.7.5";
   pname = "davix";
   nativeBuildInputs = [ cmake pkgconfig python3 ];
   buildInputs = [ openssl libxml2 boost libuuid ];
 
-  # using the url below since the 0.7.4 release did carry a broken CMake file,
+  # using the url below since the 0.7.5 release did carry a broken CMake file,
   # supposedly fixed in the next release
   # https://github.com/cern-fts/davix/issues/40
   src = fetchurl {
     url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/${version}/davix-${version}.tar.gz";
-    sha256 = "1k407ckvsw1w212k3lp2867i0sscnrbigsx79l1sp5ymj3n62aih";
+    sha256 = "1j3gzsjhzrsk6irxalc3rwgp9cqb52chriadmy1mv1s6d2bwl86r";
   };
 
 
diff --git a/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix b/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix
index a83274188c02..2253daa2d115 100644
--- a/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkgconfig, systemd, hostname }:
+{ lib, stdenv, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkgconfig, systemd, hostname, extraTags ? [] }:
 
 let
   # keep this in sync with github.com/DataDog/agent-payload dependency
@@ -42,7 +42,7 @@ in buildGoPackage rec {
       "-r ${python}/lib"
     ];
   in ''
-    buildFlagsArray=( "-tags" "ec2 systemd cpython process log" "-ldflags" "${ldFlags}")
+    buildFlagsArray=( "-tags" "ec2 systemd cpython process log secrets ${lib.concatStringsSep " " extraTags}" "-ldflags" "${ldFlags}")
   '';
 
   # DataDog use paths relative to the agent binary, so fix these.
diff --git a/nixpkgs/pkgs/tools/networking/dhcp/default.nix b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
index bcf0743b7b9e..c5d650f52bbd 100644
--- a/nixpkgs/pkgs/tools/networking/dhcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
@@ -36,12 +36,14 @@ stdenv.mkDerivation rec {
     "--enable-early-chroot"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
-    (lib.optional stdenv.isLinux "--with-randomdev=/dev/random")
-  ] ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ];
+  ] ++ lib.optional stdenv.isLinux "--with-randomdev=/dev/random"
+    ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = builtins.toString [
     "-Wno-error=pointer-compare"
     "-Wno-error=format-truncation"
+    "-Wno-error=stringop-truncation"
+    "-Wno-error=format-overflow"
   ];
 
   installFlags = [ "DESTDIR=\${out}" ];
diff --git a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
index dfc56d440e62..c45d017e3f5f 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, udev, runtimeShellPackage, runtimeShell }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, udev, runtimeShellPackage,
+runtimeShell }:
 
 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.3";
+  version = "8.1.4";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "07cg0sp8sk9b6ch2ajmvkbn6z08bgyx8xbd004s5mkasrlgrfx4n";
+    sha256 = "0gf1qif25wy5lffzw39pi4sshmpxz1f4a1m9sglj7am1gaix3817";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -21,6 +22,13 @@ stdenv.mkDerivation rec {
     substituteInPlace hooks/dhcpcd-run-hooks.in --replace /bin/sh ${runtimeShell}
   '';
 
+  patches = [
+    (fetchpatch {
+      url = "https://roy.marples.name/cgit/dhcpcd.git/patch/?id=114870290a8d3d696bc4049c32eef3eed03d6070";
+      sha256 = "0kzpwjh2gzvl5lvlnw6lis610p67nassk3apns68ga2pyxlky8qb";
+    })
+  ];
+
   preConfigure = "patchShebangs ./configure";
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
index bcc1f39e8fd3..f224ab1ac935 100644
--- a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, dbus, nettle
+{ stdenv, fetchurl, pkgconfig, dbus, nettle, fetchpatch
 , libidn, libnetfilter_conntrack }:
 
 with stdenv.lib;
@@ -19,6 +19,15 @@ stdenv.mkDerivation rec {
     sha256 = "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd";
   };
 
+  patches = [
+    # Fix build with nettle 3.5
+    (fetchpatch {
+      name = "nettle-3.5.patch";
+      url = "thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=patch;h=ab73a746a0d6fcac2e682c5548eeb87fb9c9c82e";
+      sha256 = "1hnixij3jp1p6zc3bx2dr92yyf9jp1ahhl9hiiq7bkbhbrw6mbic";
+    })
+  ];
+
   preBuild = ''
     makeFlagsArray=("COPTS=${copts}")
   '';
@@ -46,7 +55,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \
       --replace "/usr/local/sbin" "$out/bin"
   '' + optionalString stdenv.isLinux ''
-    install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
+    install -Dm644 dbus/dnsmasq.conf $out/share/dbus-1/system.d/dnsmasq.conf
     install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time
     install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release
     install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
new file mode 100644
index 000000000000..6554dd465d4c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/eggdrop/default.nix b/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
index c490464c31ab..5b85a680efdf 100644
--- a/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
@@ -32,5 +32,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     license = licenses.gpl2;
     platforms = platforms.unix;
+    homepage = http://www.eggheads.org;
+    description = "An Internet Relay Chat (IRC) bot";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/envoy/default.nix b/nixpkgs/pkgs/tools/networking/envoy/default.nix
deleted file mode 100644
index f35a90273530..000000000000
--- a/nixpkgs/pkgs/tools/networking/envoy/default.nix
+++ /dev/null
@@ -1,303 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, bazel, c-ares, backward-cpp
-, libevent, gtest, gperftools, http-parser, lightstep-tracer-cpp
-, nghttp2, protobuf, tclap, rapidjson, spdlog, boringssl, buildEnv
-}:
-
-let
-  protobuf_bzl =
-    fetchFromGitHub {
-      owner = "htuch";
-      repo = "protobuf";
-      rev = "d490587268931da78c942a6372ef57bb53db80da";
-      sha256 = "100494s66xclw88bdnpb6d386vgw0gwz90sni37q7fqmi9w99z6v";
-    };
-
-  # Based on ci/prebuilt/BUILD
-  #
-  # The paths have been fixed up, and the static archives have been replaced
-  # with dynamic libraries where presently possible.
-  #
-  # At the moment, this doesn't _need_ to be a map that we dynamically create a
-  # BUILD file from (we could instead just include the contents directly);
-  # however, this sets us up to be ready if we (or upstream) decide to split
-  # things into multiple bazel repos, instead of one.
-  ccTargets = {
-    ares = {
-      pkg = c-ares;
-      srcs = ''["lib/libcares.so"]'';
-      hdrs = ''glob(["include/ares*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    backward = {
-      pkg = backward-cpp;
-      hdrs = ''["include/backward.hpp"]'';
-      includes = ''["include"]'';
-    };
-
-    crypto = {
-      pkg = boringssl;
-      srcs = ''["lib/libcrypto.a"]'';
-      hdrs = ''glob(["include/openssl/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    event = {
-      pkg = libevent;
-      srcs = ''["lib/libevent.so"]'';
-      hdrs = ''glob(["include/event2/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    event_pthreads = {
-      pkg = libevent;
-      srcs = ''["lib/libevent_pthreads.so"]'';
-      deps = ''[":event"]'';
-    };
-
-    googletest = {
-      pkg = gtest;
-      srcs = ''[ "lib/libgmock.so", "lib/libgtest.so" ]'';
-      hdrs = ''glob(["include/gmock/**/*.h", "include/gtest/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    http_parser = {
-      pkg = http-parser;
-      srcs = ''["lib/libhttp_parser.so"]'';
-      hdrs = ''glob(["include/http_parser.h"])'';
-      includes = ''["include"]'';
-    };
-
-    lightstep = {
-      pkg = lightstep-tracer-cpp;
-      srcs = ''["lib/liblightstep_core_cxx11.a"]'';
-      hdrs = ''glob([ "include/lightstep/**/*.h", "include/mapbox_variant/**/*.hpp" ]) + [ "include/collector.pb.h", "include/lightstep_carrier.pb.h" ]'';
-      includes = ''["include"]'';
-      deps = ''[":protobuf"]'';
-    };
-
-    nghttp2 = {
-      pkg = nghttp2;
-      srcs = ''["lib/libnghttp2.so"]'';
-      hdrs = ''glob(["include/nghttp2/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    protobuf = {
-      pkg = protobuf;
-      srcs = ''glob(["lib/libproto*.so"])'';
-      hdrs = ''glob(["include/google/protobuf/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    rapidjson = {
-      pkg = rapidjson;
-      hdrs = ''glob(["include/rapidjson/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    spdlog = {
-      pkg = spdlog;
-      name = "spdlog";
-      hdrs = ''glob([ "include/spdlog/**/*.cc", "include/spdlog/**/*.h" ])'';
-      includes = ''["include"]'';
-    };
-
-    ssl = {
-      pkg = boringssl;
-      srcs = ''["lib/libssl.a"]'';
-      deps = ''[":crypto"]'';
-    };
-
-    tclap = {
-      pkg = tclap;
-      hdrs = ''glob(["include/tclap/**/*.h"])'';
-      includes = ''["include"]'';
-    };
-
-    tcmalloc_and_profiler = {
-      pkg = gperftools;
-      srcs = ''["lib/libtcmalloc_and_profiler.so"]'';
-      hdrs = ''glob(["include/gperftools/**/*.h"])'';
-      strip_include_prefix = ''"include"'';
-    };
-  };
-
-  # Generate the BUILD file.
-  buildFile =
-    let field = name: attrs:
-      if attrs ? ${name} then "    ${name} = ${attrs.${name}},\n" else "";
-    in
-    ''
-    licenses(["notice"])  # Apache 2
-
-    package(default_visibility = ["//visibility:public"])
-
-    '' +
-    lib.concatStringsSep "\n\n" (
-      lib.mapAttrsToList (name: value:
-          "cc_library(\n"
-        + "    name = \"${name}\",\n"
-        + field "srcs" value
-        + field "hdrs" value
-        + field "deps" value
-        + field "includes" value
-        + field "strip_include_prefix" value
-        + ")"
-      ) ccTargets
-    ) + ''
-
-    filegroup(
-        name = "protoc",
-        srcs = ["bin/protoc"],
-    )
-    '';
-
-  workspaceFile = 
-    ''
-    workspace(name = "nix")
-
-    load("//bazel:repositories.bzl", "envoy_dependencies")
-    load("//bazel:cc_configure.bzl", "cc_configure")
-
-    new_local_repository(
-        name = "nix_envoy_deps",
-        path = "${repoEnv}",
-        build_file = "nix_envoy_deps.BUILD"
-    )
-
-    envoy_dependencies(
-        path = "@nix_envoy_deps//",
-        skip_protobuf_bzl = True,
-    )
-
-    new_local_repository(
-        name = "protobuf_bzl",
-        path = "${protobuf_bzl}",
-        # We only want protobuf.bzl, so don't support building out of this repo.
-        build_file_content = "",
-    )
-
-    cc_configure()
-    '';
-
-  # The tree we'll use for our new_local_repository in our generated WORKSPACE.
-  repoEnv = buildEnv {
-    name = "repo-env";
-    paths = lib.concatMap (p:
-      lib.unique [(lib.getBin p) (lib.getLib p) (lib.getDev p)]
-    ) allDeps;
-  };
-
-  rpath = stdenv.lib.makeLibraryPath (allDeps ++ [ stdenv.cc.cc ]);
-
-  allDeps = [
-    c-ares
-    backward-cpp
-    libevent
-    gtest
-    gperftools
-    http-parser
-    lightstep-tracer-cpp
-    nghttp2
-    protobuf
-    tclap
-    rapidjson
-    spdlog
-    boringssl
-  ];
-
-  # Envoy checks at runtime that the git sha is valid,
-  # so we really can't avoid putting some sort of sha here.
-  rev = "3afc7712a04907ffd25ed497626639febfe65735";
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "envoy";
-  version = "1.3.0";
-
-  src = fetchFromGitHub {
-    owner = "lyft";
-    repo = "envoy";
-    rev = "v${version}";
-    sha256 = "0j1c9lyvncyhiq3kyhx91ckcjd2h68x56js7xb6ni6bzxinv6zb6";
-  };
-
-  nativeBuildInputs = [
-    pkgconfig bazel
-  ];
-
-  buildInputs = allDeps;
-
-  patches = [ ./nixos.patch ];
-
-  hardeningDisable = [ "all" ];
-  dontPatchELF = true;
-  dontStrip = true;
-
-  # set up our workspace,
-  # and prevent an error where bazel/get_workspace_status tries to determine the
-  # version by invoking git.
-  postUnpack = ''
-    cat <<'EOF' > $sourceRoot/WORKSPACE
-    ${workspaceFile}
-    EOF
-
-    cat <<'EOF' > $sourceRoot/nix_envoy_deps.BUILD
-    ${buildFile}
-    EOF
-
-    cat <<'EOF' > $sourceRoot/bazel/get_workspace_status
-    #!${stdenv.shell}
-    echo "BUILD_SCM_REVISION ${rev}"
-    echo "BUILD_SCM_STATUS Modified"
-    EOF
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    mkdir .home
-    export HOME=$PWD/.home
-
-    BAZEL_OPTIONS="--package_path %workspace%:$PWD"
-    BAZEL_BUILD_OPTIONS="\
-      --strategy=Genrule=standalone \
-      --spawn_strategy=standalone \
-      --verbose_failures \
-      $BAZEL_OPTIONS \
-      --action_env=HOME \
-      --action_env=PYTHONUSERBASE \
-      --show_task_finish"
-
-    bazel \
-      --batch \
-      build \
-      -s --verbose_failures \
-      --experimental_ui \
-      $BAZEL_BUILD_OPTIONS \
-      -c opt \
-      //source/exe:envoy-static
-
-    exe=bazel-bin/source/exe/envoy-static
-    chmod +w $exe
-    patchelf --set-rpath ${rpath} $exe
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv $exe $out/bin/envoy
-  '';
-
-  meta = with lib; {
-    description = "L7 proxy and communication bus designed for large modern service oriented architectures";
-    homepage = "https://lyft.github.io/envoy/";
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/envoy/nixos.patch b/nixpkgs/pkgs/tools/networking/envoy/nixos.patch
deleted file mode 100644
index 04b63a2dde92..000000000000
--- a/nixpkgs/pkgs/tools/networking/envoy/nixos.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/bazel/cc_configure.bzl b/bazel/cc_configure.bzl
-index 8a7a69c4f..75526520c 100644
---- a/bazel/cc_configure.bzl
-+++ b/bazel/cc_configure.bzl
-@@ -292,6 +292,8 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
-           "-fstack-protector",
-           # All warnings are enabled. Maybe enable -Werror as well?
-           "-Wall",
-+
-+          "-Wno-error=strict-aliasing"
-           # Enable a few more warnings that aren't part of -Wall.
-       ] + (["-Wthread-safety", "-Wself-assign"] if darwin else [
-           "-B" + str(repository_ctx.path(cc).dirname),
-@@ -365,10 +367,6 @@ def _opt_content(darwin):
-           # Profile first and / or use FDO if you need better performance than this.
-           "-O2",
- 
--          # Security hardening on by default.
--          # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
--          "-D_FORTIFY_SOURCE=1",
--
-           # Disable assertions
-           "-DNDEBUG",
- 
-diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl
-index f17671035..7938047bd 100644
---- a/bazel/envoy_build_system.bzl
-+++ b/bazel/envoy_build_system.bzl
-@@ -131,11 +131,9 @@ def envoy_cc_binary(name,
-             # --build-id and avoid doing the following.
-             '-Wl,--build-id=md5',
-             '-Wl,--hash-style=gnu',
--            "-static-libstdc++",
--            "-static-libgcc",
-         ],
-         testonly = testonly,
--        linkstatic = 1,
-+        linkstatic = 0,
-         visibility = visibility,
-         malloc = tcmalloc_external_dep(repository),
-         # See above comment on MD5 hash, this is another "force MD5 stamps" to make sure our
diff --git a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
index ffd7d25a0dce..8dd18df28c7e 100644
--- a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, ninja, gflags, libsodium, protobuf }:
+{ stdenv
+, fetchFromGitHub
+, cmake
+, gflags
+, libsodium
+, protobuf
+}:
 
 stdenv.mkDerivation rec {
   pname = "eternal-terminal";
-  version = "5.1.10";
+  version = "6.0.5";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
-    repo = "EternalTCP";
-    rev = "refs/tags/et-v${version}";
-    sha256 = "0jh89229bd9s82h3aj6faaybwr5xvnk8w2kgz47gq263pz021zpl";
+    repo = "EternalTerminal";
+    rev = "et-v${version}";
+    sha256 = "04jn0189vq5lc795izkxq1zdv9fnpxz2xchg2mm37armpz7n06id";
   };
 
-  nativeBuildInputs = [ cmake ninja ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ gflags libsodium protobuf ];
 
   meta = with stdenv.lib; {
@@ -19,6 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     homepage = https://mistertea.github.io/EternalTerminal/;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.dezgeg ];
+    maintainers = with maintainers; [ dezgeg pingiun ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ferm/default.nix b/nixpkgs/pkgs/tools/networking/ferm/default.nix
index 2cf111e8ccfc..6f1660484e78 100644
--- a/nixpkgs/pkgs/tools/networking/ferm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/findomain/default.nix b/nixpkgs/pkgs/tools/networking/findomain/default.nix
new file mode 100644
index 000000000000..abc34abd77f7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/findomain/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, rustPlatform
+, installShellFiles
+, perl
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "findomain";
+  version = "0.9.3";
+
+  src = fetchFromGitHub {
+    owner = "Edu4rdSHL";
+    repo = pname;
+    rev = version;
+    sha256 = "1p7bj8q3zwn92nn6d71bk7cczclcsjvan6m8znlzr4lrwircp1y1";
+  };
+
+  cargoSha256 = "1grb0frc1kp3z6vs2906h9v1yx9qxn6x0gf9jy1msqgnqjw0bgn9";
+
+  nativeBuildInputs = [ installShellFiles perl ];
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  postInstall = ''
+    installManPage ${pname}.1
+  '';
+
+  meta = with lib; {
+    description = "The fastest and cross-platform subdomain enumerator";
+    homepage = "https://github.com/Edu4rdSHL/findomain";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/flannel/default.nix b/nixpkgs/pkgs/tools/networking/flannel/default.nix
index f16fcc7048c8..d2f0ec2ec634 100644
--- a/nixpkgs/pkgs/tools/networking/flannel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/flannel/default.nix
@@ -9,8 +9,6 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/coreos/flannel";
 
-  hardeningDisable = [ "fortify" ];
-
   src = fetchFromGitHub {
     inherit rev;
     owner = "coreos";
diff --git a/nixpkgs/pkgs/tools/networking/frp/default.nix b/nixpkgs/pkgs/tools/networking/frp/default.nix
new file mode 100644
index 000000000000..46ccfc0d24cd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/frp/default.nix
@@ -0,0 +1,31 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "frp";
+  version = "0.31.1";
+
+  src = fetchFromGitHub {
+    owner = "fatedier";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1cf2f0nbcg76i4mv8l3d38c13lw0mma6d2xzwkb9iqn7jflj1j9y";
+  };
+
+  modSha256 = "1zbl0gfc99pbzdacxhfa1k3y6i7v13sb441wpbp9aygxhvwqrms9";
+
+  subPackages = [ "cmd/frpc" "cmd/frps" ];
+
+  meta = with lib; {
+    description = "Fast reverse proxy";
+    longDescription = ''
+      frp is a fast reverse proxy to help you expose a local server behind a
+      NAT or firewall to the Internet. As of now, it supports TCP and UDP, as
+      well as HTTP and HTTPS protocols, where requests can be forwarded to
+      internal services by domain name. frp also has a P2P connect mode.
+    '';
+    homepage = "https://github.com/fatedier/frp";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/gandi-cli/default.nix b/nixpkgs/pkgs/tools/networking/gandi-cli/default.nix
index 9559c444059f..2ea09404e347 100644
--- a/nixpkgs/pkgs/tools/networking/gandi-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gandi-cli/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "gandi-cli";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "Gandi";
     repo = "gandi.cli";
     rev = version;
-    sha256 = "06dc59iwxfncz61hs3lcq08c5zrp7x4n4ibk5lpqqx6rk0izzz9b";
+    sha256 = "1jcabpphlm6qajw8dz0h4gynm03g1mxi0cn900i3v7wdfww1gfab";
   };
 
   propagatedBuildInputs = [ click ipy pyyaml requests ];
diff --git a/nixpkgs/pkgs/tools/networking/getmail/default.nix b/nixpkgs/pkgs/tools/networking/getmail/default.nix
index 6181093a193e..f107e4106784 100644
--- a/nixpkgs/pkgs/tools/networking/getmail/default.nix
+++ b/nixpkgs/pkgs/tools/networking/getmail/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
   pname = "getmail";
-  version = "5.13";
+  version = "5.14";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${pname}-${version}.tar.gz";
-    sha256 = "178a1c37z1aia5m2mbq9gyv6hylnxg9g3lp3njcrz7phfmj2zm84";
+    sha256 = "1hcrd9h4g12f5gvl1djsbchcjry02ghq4icdr897s8v48pkrzagk";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix b/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
index be1ca9f265d4..d942dce6a197 100644
--- a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix b/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix
index 37d2eea825f0..06faa0640257 100644
--- a/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix
new file mode 100644
index 000000000000..1591b6acf5be
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "go-shadowsocks2";
+  version = "0.0.11";
+
+  goPackagePath = "github.com/shadowsocks/go-shadowsocks2";
+
+  src = fetchFromGitHub {
+    owner = "shadowsocks";
+    repo = "go-shadowsocks2";
+    rev = "v${version}";
+    sha256 = "1dprz84gmcp6xcsk873lhj32wm8b55vnqn0s984ggvwf1rjqw00c";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Fresh implementation of Shadowsocks in Go";
+    homepage = "https://github.com/shadowsocks/go-shadowsocks2/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/go-shadowsocks2/deps.nix b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/deps.nix
new file mode 100644
index 000000000000..7fe0c2b6985b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/deps.nix
@@ -0,0 +1,30 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/aead/chacha20";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aead/chacha20";
+      rev = "8b13a72661dae6e9e5dea04f344f0dc95ea29547";
+      sha256 = "0gbmgq5kbqmbyrsav57ql4jzbvqvp1q7yvcd5fl3wf5g94iyv56r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "60c769a6c58655dab1b9adac0d58967dd517cfba";
+      sha256 = "1wy2pg38dz29vf1h48yfqf8m3jqvwnbdw8vkk3ldlj5d8fbbbmv8";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fb81701db80f1745f51259b1f286de3fe2ec80c8";
+      sha256 = "1cgvyzkmsbvgyp75nxp10fpnpy08scz6ak60s9w0mkgibw7irhz3";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index d8711d516dc5..95457b012054 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -1,7 +1,9 @@
 { useLua ? !stdenv.isDarwin
 , usePcre ? true
-, stdenv, fetchurl
-, openssl, zlib, lua5_3 ? null, pcre ? null
+, withPrometheusExporter ? true
+, stdenv, lib, fetchurl
+, openssl, zlib
+, lua5_3 ? null, pcre ? null, systemd ? null
 }:
 
 assert useLua -> lua5_3 != null;
@@ -9,39 +11,47 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "1.9.8";
+  version = "2.0.10";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "1via9k84ycrdr8qh4qchcbqgpv0gynm3ra23nwsvqwfqvc0376id";
+    sha256 = "1sm42q9l159pdmjs5dg544z10dn6x073caljkqh0p4syshysnf0x";
   };
 
   buildInputs = [ openssl zlib ]
-    ++ stdenv.lib.optional useLua lua5_3
-    ++ stdenv.lib.optional usePcre pcre;
+    ++ lib.optional useLua lua5_3
+    ++ lib.optional usePcre pcre
+    ++ lib.optional stdenv.isLinux systemd;
 
   # TODO: make it work on bsd as well
   makeFlags = [
     "PREFIX=\${out}"
     ("TARGET=" + (if stdenv.isSunOS  then "solaris"
-             else if stdenv.isLinux  then "linux2628"
+             else if stdenv.isLinux  then "linux-glibc"
              else if stdenv.isDarwin then "osx"
              else "generic"))
   ];
+
   buildFlags = [
     "USE_OPENSSL=yes"
     "USE_ZLIB=yes"
-  ] ++ stdenv.lib.optionals usePcre [
+  ] ++ lib.optionals usePcre [
     "USE_PCRE=yes"
     "USE_PCRE_JIT=yes"
-  ] ++ stdenv.lib.optionals useLua [
+  ] ++ lib.optionals useLua [
     "USE_LUA=yes"
     "LUA_LIB=${lua5_3}/lib"
     "LUA_INC=${lua5_3}/include"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc"
-    ++ stdenv.lib.optional stdenv.isLinux "USE_GETADDRINFO=1";
+  ] ++ lib.optionals stdenv.isLinux [
+    "USE_SYSTEMD=yes"
+    "USE_GETADDRINFO=1"
+  ] ++ lib.optionals withPrometheusExporter [
+    "EXTRA_OBJS=contrib/prometheus-exporter/service-prometheus.o"
+  ] ++ lib.optional stdenv.isDarwin "CC=cc";
+
+  enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "Reliable, high performance TCP/HTTP load balancer";
     longDescription = ''
       HAProxy is a free, very fast and reliable solution offering high
@@ -51,9 +61,9 @@ stdenv.mkDerivation rec {
       tens of thousands of connections is clearly realistic with todays
       hardware.
     '';
-    homepage = http://haproxy.1wt.eu;
-    maintainers = with stdenv.lib.maintainers; [ fuzzy-id ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    license = stdenv.lib.licenses.gpl2;
+    homepage = "https://haproxy.org";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fuzzy-id ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/htpdate/default.nix b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
index 4a350d237d0f..9bb44b70f11e 100644
--- a/nixpkgs/pkgs/tools/networking/htpdate/default.nix
+++ b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.2";
   pname = "htpdate";
 
   src = fetchurl {
     url = "http://www.vervest.org/htp/archive/c/${pname}-${version}.tar.xz";
-    sha256 = "1gqw3lg4wwkn8snf4pf21s3qidhb4h791f2ci7i7i0d6kd86jv0q";
+    sha256 = "0mgr350qwgzrdrwkb9kaj6z7l6hn6a2pwh7sacqvnal5fyc9a7sz";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/tools/networking/http-prompt/default.nix b/nixpkgs/pkgs/tools/networking/http-prompt/default.nix
index bcaca9ef0ce5..9ed2f000f325 100644
--- a/nixpkgs/pkgs/tools/networking/http-prompt/default.nix
+++ b/nixpkgs/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
   ];
diff --git a/nixpkgs/pkgs/tools/networking/i2pd/default.nix b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
index 97dbb1bdb8ff..971d8e696864 100644
--- a/nixpkgs/pkgs/tools/networking/i2pd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
@@ -9,13 +9,13 @@ assert upnpSupport -> miniupnpc != null;
 
 stdenv.mkDerivation rec {
   pname = "i2pd";
-  version = "2.26.0";
+  version = "2.29.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "1za7h449dnnw9h6nx33s5ai3qkakah37yg686a2sp8qynrb0h93h";
+    sha256 = "1issg3aidwikk4g12sa8q81zzp0hd0g8wdy2dx4899z8yrscl300";
   };
 
   buildInputs = with stdenv.lib; [ boost zlib openssl ]
diff --git a/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix b/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
index 756e77f1157e..72aaaa1e1706 100644
--- a/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, net_snmp }:
+{ stdenv, fetchurl, autoreconfHook, net-snmp }:
 
 stdenv.mkDerivation rec {
   pname = "ifstat-legacy";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "01zmv6vk5kh5xmd563xws8a1qnxjb6b6kv59yzz9r3rrghxhd6c5";
   };
 
-  buildInputs = [ net_snmp ];
+  buildInputs = [ net-snmp ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/nixpkgs/pkgs/tools/networking/iodine/default.nix b/nixpkgs/pkgs/tools/networking/iodine/default.nix
index 5aa0c01e8485..44bf52c9933f 100644
--- a/nixpkgs/pkgs/tools/networking/iodine/default.nix
+++ b/nixpkgs/pkgs/tools/networking/iodine/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-DIFCONFIGPATH=\"${nettools}/bin/\"";
 
-  installFlags = "prefix=\${out}";
+  installFlags = [ "prefix=\${out}" ];
 
   meta = {
     homepage = http://code.kryo.se/iodine/;
diff --git a/nixpkgs/pkgs/tools/networking/iperf/3.nix b/nixpkgs/pkgs/tools/networking/iperf/3.nix
index 2f06180128a8..c59eb09f4c5c 100644
--- a/nixpkgs/pkgs/tools/networking/iperf/3.nix
+++ b/nixpkgs/pkgs/tools/networking/iperf/3.nix
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
-      url = "https://git.alpinelinux.org/aports/plain/main/iperf3/remove-pg-flags.patch?id=99ec9e1c84e338629cf1b27b0fdc808bde4d8564";
+      url = "https://git.alpinelinux.org/aports/plain/main/iperf3/remove-pg-flags.patch?id=7f979fc51ae31d5c695d8481ba84a4afc5080efb";
       name = "remove-pg-flags.patch";
-      sha256 = "0b3vcw1pdyk10764p4vlglwi1acrm7wz2jjd6li7p11v4rggrb5c";
+      sha256 = "0z3zsmf7ln08rg1mmzl8s8jm5gp8x62f5cxiqcmi8dcs2nsxwgbi";
     })
   ];
 
@@ -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/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix b/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix
index 169fea6c4474..35aeb23a9a83 100644
--- a/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix
@@ -1,39 +1,38 @@
 { stdenv, fetchurl, getopt, ip2location-c, openssl, perl
-, geoip ? null, geolite-legacy ? null }:
+, libmaxminddb ? null, geolite-legacy ? null }:
 
 stdenv.mkDerivation rec {
   pname = "ipv6calc";
-  version = "1.1.0";
+  version = "2.2.0";
 
   src = fetchurl {
-    url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${pname}-${version}.tar.gz";
-    sha256 = "1q74ikg780v5hllbq08wdfvxr2lf0fc7i41hclqrh1ajc6dqybbq";
+    urls = [
+      "https://www.deepspace6.net/ftp/pub/ds6/sources/ipv6calc/${pname}-${version}.tar.gz"
+      "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${pname}-${version}.tar.gz"
+      "ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/${pname}-${version}.tar.gz"
+    ];
+    sha256 = "18acy0sy3n6jcjjwpxskysinw06czyayx1q4rqc7zc3ic4pkad8r";
   };
 
-  buildInputs = [ geoip geolite-legacy getopt ip2location-c openssl ];
-  nativeBuildInputs = [ perl ];
+  buildInputs = [ libmaxminddb geolite-legacy getopt ip2location-c openssl perl ];
 
-  patchPhase = ''
+  postPatch = ''
+    patchShebangs *.sh */*.sh
     for i in {,databases/}lib/Makefile.in; do
-      substituteInPlace $i --replace /sbin/ldconfig true
-    done
-    for i in {{,databases/}lib,man}/Makefile.in; do
-      substituteInPlace $i --replace DESTDIR out
+      substituteInPlace $i --replace "/sbin/ldconfig" "ldconfig"
     done
   '';
 
   configureFlags = [
+    "--prefix=${placeholder "out"}"
+    "--libdir=${placeholder "out"}/lib"
     "--disable-bundled-getopt"
     "--disable-bundled-md5"
     "--disable-dynamic-load"
     "--enable-shared"
-  ] ++ stdenv.lib.optional (geoip != null ) [
-    "--enable-geoip"
-  ] ++ stdenv.lib.optional (geolite-legacy != null) [
-    "--with-geoip-db=${geolite-legacy}/share/GeoIP"
-  ] ++ stdenv.lib.optional (ip2location-c != null ) [
-    "--enable-ip2location"
-  ];
+  ] ++ stdenv.lib.optional (libmaxminddb != null) "--enable-mmdb"
+    ++ stdenv.lib.optional (geolite-legacy != null) "--with-geoip-db=${geolite-legacy}/share/GeoIP"
+    ++ stdenv.lib.optional (ip2location-c != null) "--enable-ip2location";
 
   enableParallelBuilding = true;
 
@@ -47,7 +46,7 @@ stdenv.mkDerivation rec {
       difficult) migrating the Perl program ip6_int into.
       Now only one utiltity is needed to do a lot.
     '';
-    homepage = http://www.deepspace6.net/projects/ipv6calc.html;
+    homepage = "http://www.deepspace6.net/projects/ipv6calc.html";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/networking/kea/default.nix b/nixpkgs/pkgs/tools/networking/kea/default.nix
index bc35a25cfde8..3986cadd08a5 100644
--- a/nixpkgs/pkgs/tools/networking/kea/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kea/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, openssl, botan2, log4cplus
-, boost, python3, postgresql, mysql, gmp, bzip2 }:
+, boost, python3, postgresql, libmysqlclient, gmp, bzip2 }:
 
 stdenv.mkDerivation rec {
   pname = "kea";
@@ -20,12 +20,12 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--with-pgsql=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql.connector-c}/bin/mysql_config"
+    "--with-mysql=${libmysqlclient}/bin/mysql_config"
   ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
-    openssl log4cplus boost python3 mysql.connector-c
+    openssl log4cplus boost python3 libmysqlclient
     botan2 gmp bzip2
   ];
 
diff --git a/nixpkgs/pkgs/tools/networking/keepalived/default.nix b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
index 9ae981e03692..87748211425f 100644
--- a/nixpkgs/pkgs/tools/networking/keepalived/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
@@ -1,24 +1,28 @@
-{ stdenv, fetchFromGitHub, libnfnetlink, libnl, net_snmp, openssl, pkgconfig }:
+{ stdenv, fetchFromGitHub, nixosTests
+, libnfnetlink, libnl, net-snmp, openssl
+, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "1.4.2";
+  version = "2.0.19";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "154yxs6kwpi9yc4pa45ba3z3bfwzgmmmja5nk3d9mxq6w6s1swcy";
+    sha256 = "05jgr0f04z69x3zf3b9z04wczl15fnh69bs6j0yw55fij1k9nj4d";
   };
 
   buildInputs = [
     libnfnetlink
     libnl
-    net_snmp
+    net-snmp
     openssl
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  passthru.tests.keepalived = nixosTests.keepalived;
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   configureFlags = [
     "--enable-sha1"
diff --git a/nixpkgs/pkgs/tools/networking/lftp/default.nix b/nixpkgs/pkgs/tools/networking/lftp/default.nix
index 13bdbe17ff8b..9a982e538256 100644
--- a/nixpkgs/pkgs/tools/networking/lftp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lftp/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lftp";
-  version = "4.8.4";
+  version = "4.9.0";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz"
       "https://lftp.yar.ru/ftp/${pname}-${version}.tar.xz"
       ];
-    sha256 = "0qks22357xv9y6ripmf5j2n5svh8j5z0yniphfk89sjwkqg2gg2f";
+    sha256 = "0km267h57mlrd7gnn9gf40znvb3irwfc0qaql8kii8v936g6afqb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/default.nix b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
index 9a0b8c9ebf54..4c8b926b5827 100644
--- a/nixpkgs/pkgs/tools/networking/libreswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper,
   pkgconfig, systemd, gmp, unbound, bison, flex, pam, libevent, libcap_ng, curl, nspr,
   bash, iproute, iptables, procps, coreutils, gnused, gawk, nss, which, python,
-  docs ? false, xmlto
+  docs ? false, xmlto, libselinux, ldns
   }:
 
 let
   optional = stdenv.lib.optional;
-  version = "3.18";
+  version = "3.29";
   name = "libreswan-${version}";
   binPath = stdenv.lib.makeBinPath [
     bash iproute iptables procps coreutils gnused gawk nss.tools which python
@@ -14,6 +14,7 @@ let
 in
 
 assert docs -> xmlto != null;
+assert stdenv.isLinux -> libselinux != null;
 
 stdenv.mkDerivation {
   inherit name;
@@ -21,28 +22,35 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://download.libreswan.org/${name}.tar.gz";
-    sha256 = "0zginnakxw7m79zrdvfdvliaiyg78zgqfqkks9z5d1rjj5w13xig";
+    sha256 = "0gmbb1m5in5dvnbk1n31r8myrdankzvi6yk9gcqbcwijyih423nn";
   };
 
   # These flags were added to compile v3.18. Try to lift them when updating.
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral"
+  NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral"
     # these flags were added to build with gcc7
     "-Wno-error=implicit-fallthrough"
     "-Wno-error=format-truncation"
     "-Wno-error=pointer-compare"
+    "-Wno-error=stringop-truncation"
   ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
-                  libcap_ng curl nspr nss python ]
-                ++ optional docs xmlto;
+                  libcap_ng curl nspr nss python ldns ]
+                ++ optional docs xmlto
+                ++ optional stdenv.isLinux libselinux;
 
   prePatch = ''
     # Correct bash path
     sed -i -e 's|/bin/bash|/usr/bin/env bash|' mk/config.mk
 
-    # Fix systemd unit directory, and prevent the makefile from trying to reload the systemd daemon
-    sed -i -e 's|UNITDIR=.*$|UNITDIR=$\{out}/etc/systemd/system/|' -e 's|systemctl --system daemon-reload|true|' initsystems/systemd/Makefile
+    # Fix systemd unit directory, and prevent the makefile from trying to reload the
+    # systemd daemon or create tmpfiles
+    sed -i -e 's|UNITDIR=.*$|UNITDIR=$\{out}/etc/systemd/system/|g' \
+      -e 's|TMPFILESDIR=.*$|TMPFILESDIR=$\{out}/tmpfiles.d/|g' \
+      -e 's|systemctl|true|g' \
+      -e 's|systemd-tmpfiles|true|g' \
+      initsystems/systemd/Makefile
 
     # Fix the ipsec program from crushing the PATH
     sed -i -e 's|\(PATH=".*"\):.*$|\1:$PATH|' programs/ipsec/ipsec.in
@@ -51,8 +59,6 @@ stdenv.mkDerivation {
     sed -i -e 's|#!/usr/bin/python|#!/usr/bin/env python|' -e 's/^\(\W*\)installstartcheck()/\1sscmd = "ss"\n\0/' programs/verify/verify.in
   '';
 
-  patches = [ ./libreswan-3.18-glibc-2.26.patch ];
-
   # Set appropriate paths for build
   preBuild = "export INC_USRLOCAL=\${out}";
 
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch b/nixpkgs/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
deleted file mode 100644
index 33c44f617a0a..000000000000
--- a/nixpkgs/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/lib/libswan/id.c b/lib/libswan/id.c
-index 8f06275..efb0394 100644
---- a/lib/libswan/id.c
-+++ b/lib/libswan/id.c
-@@ -22,6 +22,7 @@
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
-+#include <limits.h>
- #include <unistd.h>
- #ifndef HOST_NAME_MAX	/* POSIX 1003.1-2001 says <unistd.h> defines this */
- #define HOST_NAME_MAX 255	/* upper bound, according to SUSv2 */
-diff --git a/linux/include/libreswan.h b/linux/include/libreswan.h
-index c5efc6a..b0af4d7 100644
---- a/linux/include/libreswan.h
-+++ b/linux/include/libreswan.h
-@@ -211,6 +211,7 @@ static inline deltatime_t monotimediff(monotime_t a, monotime_t b) {
- #include <assert.h>
- #define user_assert(foo) assert(foo)
- #include <stdio.h>
-+#include <stdint.h>
- 
- #  define uint8_t u_int8_t
- #  define uint16_t u_int16_t
-diff --git a/programs/pluto/rcv_whack.c b/programs/pluto/rcv_whack.c
-index 588c66c..4fc6289 100644
---- a/programs/pluto/rcv_whack.c
-+++ b/programs/pluto/rcv_whack.c
-@@ -24,6 +24,7 @@
- #include <stddef.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <limits.h>
- #include <unistd.h>
- #ifndef HOST_NAME_MAX           /* POSIX 1003.1-2001 says <unistd.h> defines this */
- # define HOST_NAME_MAX  255     /* upper bound, according to SUSv2 */
diff --git a/nixpkgs/pkgs/tools/networking/lldpd/default.nix b/nixpkgs/pkgs/tools/networking/lldpd/default.nix
index b8ba1357f5f8..23dbb60767e7 100644
--- a/nixpkgs/pkgs/tools/networking/lldpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lldpd/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig, removeReferencesTo
-, libevent, readline, net_snmp, openssl
+, libevent, readline, net-snmp, openssl
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig removeReferencesTo ];
-  buildInputs = [ libevent readline net_snmp openssl ];
+  buildInputs = [ libevent readline net-snmp openssl ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/networking/logmein-hamachi/default.nix b/nixpkgs/pkgs/tools/networking/logmein-hamachi/default.nix
index 52b2a9a94dcb..e8a83d381317 100644
--- a/nixpkgs/pkgs/tools/networking/logmein-hamachi/default.nix
+++ b/nixpkgs/pkgs/tools/networking/logmein-hamachi/default.nix
@@ -9,14 +9,14 @@ let
     else throwSystem;
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
   sha256 =
-    if stdenv.hostPlatform.system == "x86_64-linux" then "11mxa4kls5xjj3462ycrfvfxb1xkk23p5m9iirvwsi0zdmhpnwm8"
+    if stdenv.hostPlatform.system == "x86_64-linux" then "0zy0jzvdqccfsg42m2lq1rj8r2c4iypd1h9vxl9824cbl92yim37"
     else if stdenv.hostPlatform.system == "i686-linux" then "03ml9xv19km99f0z7fpr21b1zkxvw7q39kjzd8wpb2pds51wnc62"
     else throwSystem;
   libraries = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
 
 in stdenv.mkDerivation rec {
   pname = "logmein-hamachi";
-  version = "2.1.0.198";
+  version = "2.1.0.203";
 
   src = fetchurl {
     url = "https://www.vpn.net/installers/${pname}-${version}-${arch}.tgz";
diff --git a/nixpkgs/pkgs/tools/networking/mailutils/default.nix b/nixpkgs/pkgs/tools/networking/mailutils/default.nix
index f507e4dc2872..dcf377ca0c04 100644
--- a/nixpkgs/pkgs/tools/networking/mailutils/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mailutils/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkgconfig
 , gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
-, python, gss, mysql, system-sendmail }:
+, python3, gss, libmysqlclient, system-sendmail }:
 
 stdenv.mkDerivation rec {
   name = "${project}-${version}";
   project = "mailutils";
-  version = "3.2";
+  version = "3.8";
 
   src = fetchurl {
     url = "mirror://gnu/${project}/${name}.tar.xz";
-    sha256 = "0zh7xn8yvnw9zkc7gi5290i34viwxp1rn0g1q9nyvmckkvk59lwn";
+    sha256 = "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7";
   };
 
   postPatch = ''
     sed -i -e '/chown root:mail/d' \
            -e 's/chmod [24]755/chmod 0755/' \
       */Makefile{.in,.am}
-    sed -i 's:/usr/lib/mysql:${mysql.connector-c}/lib/mysql:' configure.ac
+    sed -i 's:/usr/lib/mysql:${libmysqlclient}/lib/mysql:' configure.ac
     sed -i 's/0\.18/0.19/' configure.ac
     sed -i -e 's:mysql/mysql.h:mysql.h:' \
            -e 's:mysql/errmsg.h:errmsg.h:' \
@@ -29,17 +29,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools
-    gss mysql.connector-c python
+    gss libmysqlclient python3
   ];
 
   patches = [
-    (fetchpatch {
-      url = "https://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=afbb33cf9ff";
-      excludes = [ "NEWS" ];
-      sha256 = "0yzkfx3j1zkkb43fhchjqphw4xznbclj39bjzjggv32gppy6d1db";
-    })
     ./fix-build-mb-len-max.patch
-    ./fix-test-ali-awk.patch
     ./path-to-cat.patch
   ];
 
@@ -62,7 +56,7 @@ stdenv.mkDerivation rec {
     (fetchurl { url = "${p}/weed.at"; sha256 = "1101xakhc99f5gb9cs3mmydn43ayli7b270pzbvh7f9rbvh0d0nh"; })
   ];
 
-  NIX_CFLAGS_COMPILE = "-L${mysql.connector-c}/lib/mysql -I${mysql.connector-c}/include/mysql";
+  NIX_CFLAGS_COMPILE = "-L${libmysqlclient}/lib/mysql -I${libmysqlclient}/include/mysql";
 
   checkInputs = [ dejagnu ];
   doCheck = false; # fails 1 out of a bunch of tests, looks like a bug
diff --git a/nixpkgs/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch b/nixpkgs/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch
deleted file mode 100644
index 3d301d530def..000000000000
--- a/nixpkgs/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/mh/tests/ali.at b/mh/tests/ali.at
-index 28c0e5451..c76cf9363 100644
---- a/mh/tests/ali.at
-+++ b/mh/tests/ali.at
-@@ -85,9 +85,9 @@ ali -a ./mh_aliases korzen | tr -d ' '
- [expout])
- 
- MH_CHECK([ali: group id],[ali05 ali-group-id ali-gid],[
--cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1 }' > expout
-+cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1; exit }' > expout
- test -s expout || AT_SKIP_TEST
--name=`awk -F : '/^#/ { next } $3==0 { print $1 }' /etc/group < /dev/null`
-+name=`awk -F : '/^#/ { next } $3==0 { print $1; exit }' /etc/group < /dev/null`
- test -z "$name" && AT_SKIP_TEST
- 
- echo "korzen: +$name" > mh_aliases
diff --git a/nixpkgs/pkgs/tools/networking/maphosts/default.nix b/nixpkgs/pkgs/tools/networking/maphosts/default.nix
index e54a2b21d9fd..dd9886a65eee 100644
--- a/nixpkgs/pkgs/tools/networking/maphosts/default.nix
+++ b/nixpkgs/pkgs/tools/networking/maphosts/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
-stdenv.mkDerivation rec {
-  name = "maphosts-${env.gems.maphosts.version}";
-
+let
   env = bundlerEnv {
     name = "maphosts-gems";
     inherit ruby;
     gemdir = ./.;
   };
+in stdenv.mkDerivation {
+  name = "maphosts-${env.gems.maphosts.version}";
 
   phases = ["installPhase"];
 
diff --git a/nixpkgs/pkgs/tools/networking/maxscale/default.nix b/nixpkgs/pkgs/tools/networking/maxscale/default.nix
index 32f6b11d77c5..d047646fa719 100644
--- a/nixpkgs/pkgs/tools/networking/maxscale/default.nix
+++ b/nixpkgs/pkgs/tools/networking/maxscale/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, glibc
-, bison2, curl, flex, gperftools, jansson, jemalloc, kerberos, lua, mariadb
+, bison2, curl, flex, gperftools, jansson, jemalloc, kerberos, lua, libmysqlclient
 , ncurses, openssl, pcre, pcre2, perl, rabbitmq-c, sqlite, tcl
 , libaio, libedit, libtool, libui, libuuid, zlib
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    bison2 curl flex gperftools jansson jemalloc kerberos lua mariadb.connector-c
+    bison2 curl flex gperftools jansson jemalloc kerberos lua libmysqlclient
     ncurses openssl pcre pcre2 perl rabbitmq-c sqlite tcl
     libaio libedit libtool libui libuuid zlib
   ];
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     find $out/bin -type f -perm -0100 | while read f1; do
       patchelf \
-        --set-rpath "$(patchelf --print-rpath $f1):${mariadb.connector-c}/lib/mariadb:$out/lib/maxscale" \
+        --set-rpath "$(patchelf --print-rpath $f1):${libmysqlclient}/lib/mariadb:$out/lib/maxscale" \
         --set-interpreter "$(cat ${stdenv.cc}/nix-support/dynamic-linker)" $f1 \
         && patchelf --shrink-rpath $f1
     done
diff --git a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
index e902f24ca0e5..469dd4cceb71 100644
--- a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcrcon";
-  version = "0.6.1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "Tiiffi";
     repo = "mcrcon";
     rev = "v${version}";
-    sha256 = "0as60cgl8sflykmwihc6axy1hzx6gjgjav6c7mvlbsc43dv8fs51";
+    sha256 = "004h1glagyw1mic1k461bky0w2fxdfhrhcqjzr9wp6gvyy9s8bix";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
index dc0a4457dde4..ebe6a60291a4 100644
--- a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
@@ -11,14 +11,13 @@ let
         inherit sha256;
       };
 
-      nativeBuildInputs = [] ++
-        stdenv.lib.optionals stdenv.isDarwin [ which cctools ];
+      nativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ which cctools ];
 
       patches = stdenv.lib.optional stdenv.isFreeBSD ./freebsd.patch;
 
       doCheck = !stdenv.isFreeBSD;
 
-      makeFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
+      makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
 
       meta = with stdenv.lib; {
         homepage = http://miniupnp.free.fr/;
diff --git a/nixpkgs/pkgs/tools/networking/mitmproxy/default.nix b/nixpkgs/pkgs/tools/networking/mitmproxy/default.nix
index a9758e5fd471..53369baa01c8 100644
--- a/nixpkgs/pkgs/tools/networking/mitmproxy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/mmsd/default.nix b/nixpkgs/pkgs/tools/networking/mmsd/default.nix
new file mode 100644
index 000000000000..fee347dd2015
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/modem-manager/default.nix b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
index b2644d0c2a49..221e873387f1 100644
--- a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.10.0";
+  version = "1.10.6";
 
   package = "ModemManager";
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
-    sha256 = "1qkfnxqvaraz1npahqvm5xc73mbxxic8msnsjmlwkni5c2ckj3zx";
+    sha256 = "15n9sd6ymxvw7hidc9pw81j89acwi5cjfhj220a68mi1h8vsfb1w";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-polkit"
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
-    "--with-dbus-sys-dir=${placeholder "out"}/etc/dbus-1/system.d"
+    "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -32,13 +32,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  postInstall = ''
-    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
-    # aliases ourselves.
-    ln -s $out/etc/systemd/system/ModemManager.service \
-      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
-  '';
-
   meta = with stdenv.lib; {
     description = "WWAN modem manager, part of NetworkManager";
     homepage = https://www.freedesktop.org/wiki/Software/ModemManager/;
diff --git a/nixpkgs/pkgs/tools/networking/mtr/default.nix b/nixpkgs/pkgs/tools/networking/mtr/default.nix
index 217f3b7d7cc8..18850fab3300 100644
--- a/nixpkgs/pkgs/tools/networking/mtr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/mu/default.nix b/nixpkgs/pkgs/tools/networking/mu/default.nix
index bd035e8f03cb..6c2a42e3a242 100644
--- a/nixpkgs/pkgs/tools/networking/mu/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mu/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, sqlite, pkgconfig, autoreconfHook, pmccabe
 , xapian, glib, gmime3, texinfo , emacs, guile
-, gtk3, webkitgtk24x-gtk3, libsoup, icu
+, gtk3, webkitgtk, libsoup, icu
 , withMug ? false }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     sqlite xapian glib gmime3 texinfo emacs guile libsoup icu
-  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk24x-gtk3 ];
+  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook pmccabe ];
 
diff --git a/nixpkgs/pkgs/tools/networking/nbd/default.nix b/nixpkgs/pkgs/tools/networking/nbd/default.nix
index f9df781715ac..9c443696eda6 100644
--- a/nixpkgs/pkgs/tools/networking/nbd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nbd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, which }:
 
 stdenv.mkDerivation rec {
-  name = "nbd-3.19";
+  name = "nbd-3.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.xz";
-    sha256 = "1446rdg490fxd8mg5gvrf4nddbw1w7lf2daxy9cpc19yy4968iml";
+    sha256 = "1kfnyx52nna2mnw264njk1dl2zc8m78sz031yp65mbmpi99v7qg0";
   };
 
   buildInputs = [ glib ]
diff --git a/nixpkgs/pkgs/tools/networking/nebula/default.nix b/nixpkgs/pkgs/tools/networking/nebula/default.nix
new file mode 100644
index 000000000000..7f9d194e44a2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/network-manager/applet.nix b/nixpkgs/pkgs/tools/networking/network-manager/applet.nix
index 1a6538ad1044..69b454ea72ee 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/applet.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/applet.nix
@@ -2,17 +2,17 @@
 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl, docbook_xml_dtd_43
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
 , libgudev, jansson, wrapGAppsHook, gobject-introspection, python3, gtk3
-, libappindicator-gtk3, withGnome ? false, gcr, glib }:
+, libappindicator-gtk3, withGnome ? true, gcr, glib }:
 
 let
   pname = "network-manager-applet";
-  version = "1.8.22";
+  version = "1.8.24";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1vbyhxknixyrf75pbjl3rxcy32m8y9cx5s30s3598vgza081rvzb";
+    sha256 = "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
index 5bc915caea65..e762ac73844c 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus, dbus-glib
+{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, fetchpatch, dbus
 , gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala
 , libgcrypt, dnsmasq, bluez5, readline, libselinux, audit
 , gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup
@@ -10,11 +10,11 @@ let
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
 in stdenv.mkDerivation rec {
   pname = "network-manager";
-  version = "1.18.2";
+  version = "1.20.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "1hx5dx5dgdqh3p8fq7q1pxy2bx2iymc74lj60ycrf7ydfjlprnad";
+    sha256 = "1ijpnx25wy5bcvp4mc49va942q56d0pncpj4jpknpdzwilmf455d";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
     # to enable link-local connections
     "-Dudev_dir=${placeholder "out"}/lib/udev"
     "-Dresolvconf=${openresolv}/bin/resolvconf"
-    "-Ddbus_conf_dir=${placeholder "out"}/etc/dbus-1/system.d"
+    "-Ddbus_conf_dir=${placeholder "out"}/share/dbus-1/system.d"
     "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "-Dkernel_firmware_dir=/run/current-system/firmware"
     "--sysconfdir=/etc"
@@ -41,10 +41,9 @@ in stdenv.mkDerivation rec {
     "-Dcrypto=gnutls"
     "-Dsession_tracking=systemd"
     "-Dmodem_manager=true"
+    "-Dpolkit_agent=true"
     "-Dnmtui=true"
     "-Ddocs=true"
-    # TODO: legacy library, will be *removed* in next release!
-    "-Dlibnm_glib=true"
     "-Dtests=no"
     "-Dqt=false"
     # Allow using iwd when configured to do so
@@ -69,19 +68,17 @@ in stdenv.mkDerivation rec {
     bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson
   ];
 
-  propagatedBuildInputs = [ dbus-glib gnutls libgcrypt ];
+  propagatedBuildInputs = [ gnutls libgcrypt ];
 
   nativeBuildInputs = [
     meson ninja intltool pkgconfig
-    vala gobject-introspection
-    dbus-glib # for dbus-binding-tool
+    vala gobject-introspection dbus
     # Docs
     gtk-doc libxslt docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 pythonForDocs
   ];
 
   doCheck = false; # requires /sys, the net
 
-
   postPatch = ''
     patchShebangs ./tools
     patchShebangs libnm/generate-setting-docs.py
@@ -96,18 +93,6 @@ in stdenv.mkDerivation rec {
     ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
   '';
 
-  postInstall = ''
-    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
-    # aliases ourselves.
-    ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
-    ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
-
-    # Add the legacy service name from before #51382 to prevent NetworkManager
-    # from not starting back up:
-    # TODO: remove this once 19.10 is released
-    ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service
-  '';
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -119,7 +104,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom domenkozar obadz ];
+    maintainers = with maintainers; [ phreedom domenkozar obadz worldofpeace ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/fix-install-paths.patch b/nixpkgs/pkgs/tools/networking/network-manager/fix-install-paths.patch
index 068b9c8266b8..5798c1edfb6e 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/fix-install-paths.patch
+++ b/nixpkgs/pkgs/tools/networking/network-manager/fix-install-paths.patch
@@ -1,6 +1,8 @@
+diff --git a/meson.build b/meson.build
+index 4105a9c80..3d912557f 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -925,9 +925,9 @@
+@@ -884,9 +884,9 @@ meson.add_install_script(
    join_paths('tools', 'meson-post-install.sh'),
    nm_datadir,
    nm_bindir,
@@ -12,9 +14,11 @@
    enable_docs ? 'install_docs' : '',
    nm_mandir,
  )
+diff --git a/src/settings/plugins/ifcfg-rh/meson.build b/src/settings/plugins/ifcfg-rh/meson.build
+index 58acdcfcb..e3a16d597 100644
 --- a/src/settings/plugins/ifcfg-rh/meson.build
 +++ b/src/settings/plugins/ifcfg-rh/meson.build
-@@ -70,7 +70,7 @@
+@@ -69,7 +69,7 @@ install_data(
  )
  
  meson.add_install_script('sh', '-c',
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/fix-paths.patch b/nixpkgs/pkgs/tools/networking/network-manager/fix-paths.patch
index 938fcbdc7719..c45dc174a0df 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -1,6 +1,8 @@
+diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
+index 204b7c286..8bdb734c2 100644
 --- a/clients/common/nm-vpn-helpers.c
 +++ b/clients/common/nm-vpn-helpers.c
-@@ -214,10 +214,7 @@
+@@ -215,10 +215,7 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
  		NULL,
  	};
  
@@ -10,21 +12,25 @@
 -		return FALSE;
 +	path = "@openconnect@/bin/openconnect";
  
- 	argv[0] = (char *) path;
- 	argv[1] = "--authenticate";
+ 	if (!g_spawn_sync (NULL,
+ 	                   (char **) NM_MAKE_STRV (path, "--authenticate", host),
+diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
+index e398cb9f2..31c56596a 100644
 --- a/data/84-nm-drivers.rules
 +++ b/data/84-nm-drivers.rules
-@@ -7,6 +7,6 @@
+@@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
  # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
  ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
  DRIVERS=="?*", GOTO="nm_drivers_end"
--PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
-+PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $1 | @gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
+-PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
++PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
  
  LABEL="nm_drivers_end"
+diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
+index 2f442bf23..c3e797bf4 100644
 --- a/data/NetworkManager.service.in
 +++ b/data/NetworkManager.service.in
-@@ -8,7 +8,7 @@
+@@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@
  [Service]
  Type=dbus
  BusName=org.freedesktop.NetworkManager
@@ -33,9 +39,33 @@
  #ExecReload=/bin/kill -HUP $MAINPID
  ExecStart=@sbindir@/NetworkManager --no-daemon
  Restart=on-failure
+diff --git a/libnm/meson.build b/libnm/meson.build
+index 710ef181d..3aa182dd4 100644
+--- a/libnm/meson.build
++++ b/libnm/meson.build
+@@ -280,7 +280,7 @@ if enable_introspection
+     name,
+     input: libnm_gir[0],
+     output: name,
+-    command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--output', '@OUTPUT@'],
++    command: [generate_setting_docs_env, generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--output', '@OUTPUT@'],
+     depends: libnm_gir,
+   )
+ 
+@@ -289,7 +289,7 @@ if enable_introspection
+     name,
+     input: libnm_gir[0],
+     output: name,
+-    command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--overrides', nm_settings_docs_overrides, '--output', '@OUTPUT@'],
++    command: [generate_setting_docs_env, generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--overrides', nm_settings_docs_overrides, '--output', '@OUTPUT@'],
+     depends: libnm_gir,
+   )
+ endif
+diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
+index 67e23b8f9..b0ce52711 100644
 --- a/src/devices/nm-device.c
 +++ b/src/devices/nm-device.c
-@@ -12451,14 +12451,14 @@ nm_device_start_ip_check (NMDevice *self)
+@@ -12840,14 +12840,14 @@ nm_device_start_ip_check (NMDevice *self)
  			gw = nm_ip4_config_best_default_route_get (priv->ip_config_4);
  			if (gw) {
  				nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf);
@@ -53,10 +83,10 @@
  			}
  		}
 diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c
-index 6f55e62a7..93721e7fb 100644
+index d896d4d33..4cacb5cb6 100644
 --- a/src/nm-core-utils.c
 +++ b/src/nm-core-utils.c
-@@ -442,7 +442,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char *
+@@ -446,7 +446,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char *
  
  	/* construct the argument list */
  	argv = g_ptr_array_sized_new (4);
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
index 7773548576b0..94a4c4b362ae 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig, file, gtk3,
-networkmanager, ppp, libsecret, withGnome ? true, gnome3 }:
+networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-fortisslvpn";
@@ -17,20 +17,29 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit openfortivpn;
     })
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/merge_requests/11.patch";
+      sha256 = "0l7l2r1njh62lh2pf497ibf99sgkvjsj58xr76qx3jxgq9zfw6n9";
+    })
   ];
 
   buildInputs = [ openfortivpn networkmanager ppp ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
   configureFlags = [
     "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
-    "--localstatedir=/tmp"
+    "--localstatedir=/var"
     "--enable-absolute-paths"
   ];
 
+  # the installer only create an empty directory in localstatedir, so
+  # we can drop it
+  installFlags = [ "localstatedir=." ];
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/iodine/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/iodine/default.nix
index 27e091b6b602..29c0d550fe2f 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/iodine/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/iodine/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, iodine, intltool, pkgconfig, networkmanager, libsecret, gtk3
-, withGnome ? true, gnome3 }:
+, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-iodine";
@@ -17,15 +17,20 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit iodine;
     })
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/network-manager-iodine/merge_requests/2.patch";
+      sha256 = "108pkf0mddj32s46k7jkmpwcaq2ylci4dqpp7wck3zm9q2jffff2";
+    })
   ];
 
   buildInputs = [ iodine networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  # Fixes deprecation errors with networkmanager 1.10.2
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   configureFlags = [
     "--without-libnm-glib"
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
index 4236c9e18184..3c1a8d110429 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
@@ -1,14 +1,31 @@
-{ stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, autoreconfHook, networkmanager, gcr, libsecret, file
-, gtk3, withGnome ? true, gnome3, kmod }:
+{ stdenv
+, fetchurl
+, substituteAll
+, glib
+, libxml2
+, openconnect
+, intltool
+, pkgconfig
+, autoreconfHook
+, networkmanager
+, gcr
+, libsecret
+, file
+, gtk3
+, withGnome ? true
+, gnome3
+, kmod
+, fetchpatch
+}:
 
 let
-  pname   = "NetworkManager-openconnect";
+  pname = "NetworkManager-openconnect";
   version = "1.2.6";
 in stdenv.mkDerivation {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m";
   };
 
@@ -17,12 +34,30 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit kmod openconnect;
     })
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/merge_requests/9.patch";
+      sha256 = "0yd2dmq6gq6y4czr7dqdgaiqvw2vyv2gikznpfdxyfn2v1pcrk9m";
+    })
   ];
 
-  buildInputs = [ openconnect networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 gcr libsecret ];
+  buildInputs = [
+    glib
+    libxml2
+    openconnect
+    networkmanager
+  ] ++ stdenv.lib.optionals withGnome [
+    gtk3
+    gcr
+    libsecret
+  ];
 
-  nativeBuildInputs = [ intltool pkgconfig file ];
+  nativeBuildInputs = [
+    intltool
+    pkgconfig
+    file
+  ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
@@ -38,7 +73,7 @@ in stdenv.mkDerivation {
   };
 
   meta = with stdenv.lib; {
-    description = "NetworkManager's OpenConnect plugin";
+    description = "NetworkManager’s OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
     license = licenses.gpl2Plus;
   };
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/openvpn/default.nix
index 04ec49f7b9b1..2762b12a364a 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, file, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod }:
+, gtk3, withGnome ? true, gnome3, kmod, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-openvpn";
@@ -17,10 +17,15 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit kmod openvpn;
     })
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/merge_requests/13.patch";
+      sha256 = "06cvqi28v72dd53fw8ix95mqj885xhwi8qcs2q7hvm5bvnhwn704";
+    })
   ];
 
   buildInputs = [ openvpn networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file libxml2 ];
 
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/strongswan.nix b/nixpkgs/pkgs/tools/networking/network-manager/strongswan.nix
index 60c344e8eb4b..843985bfa3e4 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/strongswan.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM
-, gtk3, gnome3, libsecret }:
+, gtk3, gnome3, libsecret, networkmanagerapplet }:
 
 stdenv.mkDerivation rec {
   pname = "NetworkManager-strongswan";
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "015xcj42pd84apa0j0n9r3fhldp42mj72dqvl2xf4r9gwg5nhfrl";
   };
 
-  buildInputs = [ networkmanager strongswanNM libsecret gtk3 gnome3.networkmanagerapplet ];
+  buildInputs = [ networkmanager strongswanNM libsecret gtk3 networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  # Fixes deprecation errors with networkmanager 1.10.2
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   configureFlags = [
     "--without-libnm-glib"
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/vpnc/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/vpnc/default.nix
index 1aa4cd5658bb..663923255745 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/vpnc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/vpnc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod, file }:
+, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch, networkmanagerapplet }:
 let
   pname = "NetworkManager-vpnc";
   version = "1.2.6";
@@ -16,10 +16,15 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit vpnc kmod;
     })
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/NetworkManager-vpnc/merge_requests/5.patch";
+      sha256 = "0z0x5vqmrsap3ynamhya7gh6c6k5grhj2vqpy76alnv9xns8dzi6";
+    })
   ];
 
   buildInputs = [ vpnc networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
diff --git a/nixpkgs/pkgs/tools/networking/nfstrace/default.nix b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
new file mode 100644
index 000000000000..88510b9b8876
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
@@ -0,0 +1,42 @@
+{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "nfstrace";
+  version = "0.4.3.2";
+
+  src = fetchFromGitHub {
+    owner = "epam";
+    repo = "nfstrace";
+    rev = "${version}";
+    sha256 = "1djsyn7i3xp969rnmsdaf5vwjiik9wylxxrc5nm7by00i76c1vsg";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/nfstrace/raw/debian/0.4.3.1-3/debian/patches/reproducible_build.patch";
+      sha256 = "0fd96r8xi142kjwibqkd46s6jwsg5kfc5v28bqsj9rdlc2aqmay5";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "-Wno-braced-scalar-init" ""
+  '';
+
+  buildInputs = [ json_c libpcap ncurses ];
+  nativeBuildInputs = [ cmake ];
+
+  # To build with GCC 8+ it needs:
+  CXXFLAGS = "-Wno-class-memaccess -Wno-ignored-qualifiers";
+  # CMake can't find json_c without:
+  NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" "-Wno-error=address-of-packed-member" ];
+
+  doCheck = false; # requires network access
+
+  meta = with stdenv.lib; {
+    homepage = "http://epam.github.io/nfstrace/";
+    description = "NFS and CIFS tracing/monitoring/capturing/analyzing tool";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
index e5650d5427cb..a0d6171efe21 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
@@ -5,8 +5,8 @@ with stdenv.lib;
 let versions = builtins.fromJSON (builtins.readFile ./versions.json);
     arch = if stdenv.isi686 then "386"
            else if stdenv.isx86_64 then "amd64"
+           else if stdenv.isAarch32 then "arm"
            else if stdenv.isAarch64 then "arm64"
-           else if stdenv.isArm then "arm"
            else throw "Unsupported architecture";
     os = if stdenv.isLinux then "linux"
          else if stdenv.isDarwin then "darwin"
@@ -32,9 +32,6 @@ stdenv.mkDerivation {
 
   installPhase = ''
     install -D ngrok $out/bin/ngrok
-  '' + optionalString stdenv.isLinux ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              $out/bin/ngrok
   '';
 
   passthru.updateScript = ./update.sh;
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json b/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
index 591e54a6f815..656e6a640e53 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
+++ b/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
@@ -1,32 +1,32 @@
 {
   "linux-386": {
     "sys": "linux-386",
-    "url": "https://bin.equinox.io/a/6i2VnqLBZqg/ngrok-2.3.29-linux-386",
-    "sha256": "c0859f783e66a661dc1490e0cec95dfcce0ae77deaf0aa1838613afcbd8f9451",
-    "version": "2.3.29"
+    "url": "https://bin.equinox.io/a/bjFaKy3TSAg/ngrok-2.3.35-linux-386",
+    "sha256": "1fdd1c057c3c31044400ef6ade20ad3f10bce415ad33ccfb4bc2fd83bb36f62f",
+    "version": "2.3.35"
   },
   "linux-amd64": {
     "sys": "linux-amd64",
-    "url": "https://bin.equinox.io/a/6ws4BqFTLXR/ngrok-2.3.29-linux-amd64",
-    "sha256": "625e85af6d366be4cc54ba296a6e66d3311b99db36e6ea5fe7f88941874daabb",
-    "version": "2.3.29"
+    "url": "https://bin.equinox.io/a/52fZaxjGg9n/ngrok-2.3.35-linux-amd64",
+    "sha256": "b456608239cdf4b5119916c62a87640667d1cb1900c53faed89e3dacc1fe4679",
+    "version": "2.3.35"
   },
   "linux-arm": {
     "sys": "linux-arm",
-    "url": "https://bin.equinox.io/a/3Qx4EX7AtXt/ngrok-2.3.29-linux-arm",
-    "sha256": "8a2ec453b407bb0983d22819f3b76044100870888cc976fbf76ced18e6f66fa7",
-    "version": "2.3.29"
+    "url": "https://bin.equinox.io/a/2cUd5mRRjoF/ngrok-2.3.35-linux-arm",
+    "sha256": "94d88311e9b2baea615d9fe7c6921ac0167040ec66aa0d0cbb856c027d617f1f",
+    "version": "2.3.35"
   },
   "linux-arm64": {
     "sys": "linux-arm64",
-    "url": "https://bin.equinox.io/a/7qbe9PkG69E/ngrok-2.3.29-linux-arm64",
-    "sha256": "c49a9c95dc0128e8129f9b7291b5049a45d13f27bb309ca8af59e498f98b97d0",
-    "version": "2.3.29"
+    "url": "https://bin.equinox.io/a/k2qx6ipHqpb/ngrok-2.3.35-linux-arm64",
+    "sha256": "fd07f5c449f1c1444606bbc9d06fa6b649325ddf0b3e6dac6f32d785a886f170",
+    "version": "2.3.35"
   },
   "darwin-amd64": {
     "sys": "darwin-amd64",
-    "url": "https://bin.equinox.io/a/eqL9fYWPxoV/ngrok-2.3.29-darwin-amd64",
-    "sha256": "916ad7b4706e4c770eb58667c5beabf227daa1ad35bbbee41883eb2bce3f254b",
-    "version": "2.3.29"
+    "url": "https://bin.equinox.io/a/jKkD2Wcds2L/ngrok-2.3.35-darwin-amd64",
+    "sha256": "dd74a6be1a155c41ff06aadad910196cae13e06ab997bc0b144288b2da568f2a",
+    "version": "2.3.35"
   }
 }
diff --git a/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix b/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
index dc921dc495af..569a6d118e77 100644
--- a/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nss-pam-ldapd";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "https://arthurdejong.org/nss-pam-ldapd/${pname}-${version}.tar.gz";
-    sha256 = "1cqamcr6qpgwxijlr6kg7jspjamjra8w0haan0qssn0yxn95d7c0";
+    sha256 = "1dna3r0q6sjhhlkhcp8x2zkslrd4y7701kk6fl5r940sdph1pmyh";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/networking/ntopng/default.nix b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
index 0c693ac6288f..68f801060310 100644
--- a/nixpkgs/pkgs/tools/networking/ntopng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
     sed 's|LIBS += -lstdc++.6||' -i Makefile
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" ]
-    ++ stdenv.lib.optional stdenv.cc.isClang "-Wno-error=reserved-user-defined-literal";
+  NIX_CFLAGS_COMPILE = "-fpermissive"
+    + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=reserved-user-defined-literal";
 
   meta = with stdenv.lib; {
     description = "High-speed web-based traffic analysis and flow collection tool";
diff --git a/nixpkgs/pkgs/tools/networking/ocserv/default.nix b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
index e695c4604229..8d4b340ea2b1 100644
--- a/nixpkgs/pkgs/tools/networking/ocserv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ocserv";
-  version = "0.12.4";
+  version = "0.12.6";
 
   src = fetchFromGitLab {
     owner = "openconnect";
     repo = "ocserv";
     rev = "ocserv_${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "0lybz93ah6n5b82ywshhmsmf65im8rk6gkxnzxfbxpqxra79j517";
+    sha256 = "0k7sx9sg8akxwfdl51cvdqkdrx9qganqddgri2yhcgznc3f3pz5b";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://gitlab.com/openconnect/ocserv;
     license = licenses.gpl2;
     description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client.";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/offlineimap/default.nix b/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
index 16734df1fb0d..983ba0184738 100644
--- a/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
@@ -2,14 +2,14 @@
   asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
 
 python2Packages.buildPythonApplication rec {
-  version = "7.2.4";
+  version = "7.3.2";
   pname = "offlineimap";
 
   src = fetchFromGitHub {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1";
+    sha256 = "0rmj1ws6hljqnfap3p3js5s46kx85yc02hjkiki5zg44wn3hswjg";
   };
 
   postPatch = ''
@@ -23,7 +23,7 @@ python2Packages.buildPythonApplication rec {
   doCheck = false;
 
   nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
-  propagatedBuildInputs = with python2Packages; [ six kerberos ];
+  propagatedBuildInputs = with python2Packages; [ six kerberos rfc6555 pysocks ];
 
   postInstall = ''
     make -C docs man
@@ -35,6 +35,6 @@ python2Packages.buildPythonApplication rec {
     description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = http://offlineimap.org;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [];
+    maintainers = with stdenv.lib.maintainers; [ endocrimes ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ofono/default.nix b/nixpkgs/pkgs/tools/networking/ofono/default.nix
index 27f4b9562b38..5cae8a612033 100644
--- a/nixpkgs/pkgs/tools/networking/ofono/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
index 38255a68ffed..1cb8e02130f7 100644
--- a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.0";
+  version = "4.2.2";
   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 = "0pkibvhk1f999mg1zv2ikxzjpkrrbb0wwq5x0gzpmvr5sgywr6k4";
+    sha256 = "1pafv432ll3pp52580pbnk0gnrm6byl5fkrf1rarhxfkpkr82yif";
   };
 
   phases = [ "installPhase" ];
diff --git a/nixpkgs/pkgs/tools/networking/openconnect/default.nix b/nixpkgs/pkgs/tools/networking/openconnect/default.nix
index 7e6146294848..a926ef1e1ddc 100644
--- a/nixpkgs/pkgs/tools/networking/openconnect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openconnect/default.nix
@@ -1,34 +1,41 @@
-{ stdenv, fetchurl, pkgconfig, vpnc, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib } :
+{ stdenv, fetchurl, pkgconfig, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib, fetchgit, darwin } :
 
 assert (openssl != null) == (gnutls == null);
 
-stdenv.mkDerivation rec {
+let vpnc = fetchgit {
+  url = "git://git.infradead.org/users/dwmw2/vpnc-scripts.git";
+  rev = "c84fb8e5a523a647a01a1229a9104db934e19f00";
+  sha256 = "01xdclx0y3x66mpbdr77n4ilapwzjz475h32q88ml9gnq6phjxrs";
+};
+
+in stdenv.mkDerivation rec {
   pname = "openconnect";
-  version = "8.04";
+  version = "8.05";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.infradead.org/pub/openconnect/${pname}-${version}.tar.gz"
     ];
-    sha256 = "07zqcl2ykdc4mgix9sbv4jgpg7cybifxfgrycvf99ckq7xp9r5wq";
+    sha256 = "14i9q727c2zc9xhzp1a9hz3gzb5lwgsslbhircm84dnbs192jp1k";
   };
 
   outputs = [ "out" "dev" ];
-
+  
   configureFlags = [
-    "--with-vpnc-script=${vpnc}/etc/vpnc/vpnc-script"
+    "--with-vpnc-script=${vpnc}/vpnc-script"
     "--disable-nls"
     "--without-openssl-version-check"
   ];
 
+  buildInputs = [ openssl gnutls gmp libxml2 stoken zlib ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.PCSC;
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ vpnc openssl gnutls gmp libxml2 stoken zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "VPN Client for Cisco's AnyConnect SSL VPN";
     homepage = http://www.infradead.org/openconnect/;
-    license = stdenv.lib.licenses.lgpl21;
-    maintainers = with stdenv.lib.maintainers; [ pradeepchhetri ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ pradeepchhetri tricktron ];
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
index 2672996a0952..d1a73f1c148b 100644
--- a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.10.0";
+    version = "1.11.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "1d9mp03dxz9j6pwd3d5z2pa7i1sqx5psshli1inqs0cq8zjmbzrw";
+    sha256 = "03ljyam0027w412vmi4gc0bp9c2xfmcspi676qck8cvvzg4gf736";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/openresolv/default.nix b/nixpkgs/pkgs/tools/networking/openresolv/default.nix
index 73cb98060a03..423282aa8c10 100644
--- a/nixpkgs/pkgs/tools/networking/openresolv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openresolv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openresolv";
-  version = "3.9.1";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "mirror://roy/openresolv/${pname}-${version}.tar.xz";
-    sha256 = "1wlzi88837rf4ygswmzpbcmgkbbjhn5n322n9q6ir6x367hygf1q";
+    sha256 = "0wyk9sl1xgvxjvj1v3nlgs79nykdr0b76k5zp3v6cm9fd10y5mql";
   };
 
   buildInputs = [ makeWrapper ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       EOF
     '';
 
-  installFlags = "SYSCONFDIR=$(out)/etc";
+  installFlags = [ "SYSCONFDIR=$(out)/etc" ];
 
   postInstall = ''
     wrapProgram "$out/sbin/resolvconf" --set PATH "${coreutils}/bin"
diff --git a/nixpkgs/pkgs/tools/networking/openssh/default.nix b/nixpkgs/pkgs/tools/networking/openssh/default.nix
index bb51e3153e13..90ecba0891d6 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/default.nix
@@ -12,17 +12,15 @@ let
   # **please** update this patch when you update to a new openssh release.
   gssapiPatch = fetchpatch {
     name = "openssh-gssapi.patch";
-    url = "https://salsa.debian.org/ssh-team/openssh/raw/"
-      + "d80ebbf028196b2478beebf5a290b97f35e1eed9"
-      + "/debian/patches/gssapi.patch";
-    sha256 = "14j9cabb3gkhkjc641zbiv29mbvsmgsvis3fbj8ywsd21zc7m2wv";
+    url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%258.1p1-2/debian/patches/gssapi.patch";
+    sha256 = "0zfxx46a5lpjp317z354yyswa2wvmb1pp5p0nxsbhsrzw94jvxsj";
   };
 
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "openssh";
-  version = if hpnSupport then "7.8p1" else "7.9p1";
+  version = if hpnSupport then "7.8p1" else "8.1p1";
 
   src = if hpnSupport then
       fetchurl {
@@ -32,7 +30,7 @@ stdenv.mkDerivation rec {
     else
       fetchurl {
         url = "mirror://openbsd/OpenSSH/portable/${pname}-${version}.tar.gz";
-        sha256 = "1b8sy6v0b8v4ggmknwcqx3y1rjcpsll0f1f8f4vyv11x4ni3njvb";
+        sha256 = "1zwk3g57gb13br206k6jdhgnp6y1nibwswzraqspbl1m73pxpx82";
       };
 
   patches =
@@ -42,6 +40,8 @@ stdenv.mkDerivation rec {
       # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
       ./dont_create_privsep_path.patch
 
+      ./ssh-keysign.patch
+    ] ++ optional hpnSupport
       # CVE-2018-20685, can probably be dropped with next version bump
       # See https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt
       # for details
@@ -50,9 +50,6 @@ stdenv.mkDerivation rec {
         url = https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2.patch;
         sha256 = "0q27i9ymr97yb628y44qi4m11hk5qikb1ji1vhvax8hp18lwskds";
       })
-
-      ./ssh-keysign.patch
-    ]
     ++ optional withGssapiPatches (assert withKerberos; gssapiPatch);
 
   postPatch =
@@ -62,11 +59,9 @@ stdenv.mkDerivation rec {
       substituteInPlace Makefile.in --replace '$(INSTALL) -m 4711' '$(INSTALL) -m 0711'
     '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ] ++ optional (hpnSupport || withGssapiPatches) autoreconfHook;
   buildInputs = [ zlib openssl libedit pam ]
-    ++ optional withKerberos kerberos
-    ++ optional hpnSupport autoreconfHook
-    ;
+    ++ optional withKerberos kerberos;
 
   preConfigure = ''
     # Setting LD causes `configure' and `make' to disagree about which linker
@@ -89,6 +84,8 @@ stdenv.mkDerivation rec {
     ++ optional stdenv.isDarwin "--disable-libutil"
     ++ optional (!linkOpenssl) "--without-openssl";
 
+  buildFlags = [ "SSH_KEYSIGN=ssh-keysign" ];
+
   enableParallelBuilding = true;
 
   hardeningEnable = [ "pie" ];
@@ -111,5 +108,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd2;
     platforms = platforms.unix ++ platforms.windows;
     maintainers = with maintainers; [ eelco aneeshusa ];
+    broken = hpnSupport;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix b/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
new file mode 100644
index 000000000000..ddb3cc8e3771
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub
+, makeWrapper
+, iproute, systemd, coreutils, utillinux }:
+
+stdenv.mkDerivation rec {
+  pname = "update-systemd-resolved";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jonathanio";
+    repo = "update-systemd-resolved";
+    rev = "v${version}";
+    sha256 = "19zhbpyms57yb70hi0ws5sbkpk2yqp9nnix3f86r36h1g93m70lm";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildFlags = [
+    "PREFIX=${placeholder "out"}/libexec/openvpn"
+  ];
+
+  installPhase = ''
+    wrapProgram $out/libexec/openvpn/update-systemd-resolved \
+      --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils utillinux ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Helper script for OpenVPN to directly update the DNS settings of a link through systemd-resolved via DBus";
+    homepage = https://github.com/jonathanio/update-systemd-resolved;
+    maintainers = with maintainers; [ eadwu ];
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix b/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
index 7f6aeace7b8c..264c6fd4e165 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
+++ b/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
@@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
       sha256 = "1n24r1j28083b8ipbnh1nf6i4j6vx59pdkfl1c0g6bb4psx9wvvi";
       name = "libupnp_18.patch";
     })
+    (fetchpatch {
+      name = "amule-cryptopp_6.patch";
+      url = "https://github.com/amule-project/amule/commit/27c13f3e622b8a3eaaa05bb62b0149604bdcc9e8.patch";
+      sha256 = "0kq095gi3xl665wr864zlhp5f3blk75pr725yany8ilzcwrzdrnm";
+    })
   ];
 
   postPatch = ''
@@ -82,7 +87,7 @@ stdenv.mkDerivation rec {
       applications.
     '';
 
-    homepage = "https://amule.org/";
+    homepage = "https://github.com/amule-project/amule";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index a5305acdf597..e8a4261ed12e 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -90,5 +90,6 @@ pythonPackages.buildPythonApplication rec {
     license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
     maintainers = with lib.maintainers; [ MostAwesomeDude ];
     platforms = lib.platforms.gnu ++ lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
index 2041d935c942..623645efc0ca 100644
--- a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
@@ -11,7 +11,11 @@ stdenv.mkDerivation {
   setSourceRoot = ''
     export sourceRoot=$(realpath */gtests/net/packetdrill)
   '';
-  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=unused-result"
+    "-Wno-error=stringop-truncation"
+    "-Wno-error=address-of-packed-member"
+  ];
   nativeBuildInputs = [ bison flex ];
   patches = [ ./nix.patch ];
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/networking/phodav/default.nix b/nixpkgs/pkgs/tools/networking/phodav/default.nix
index 320e7614c7c3..0d7b30ae1526 100644
--- a/nixpkgs/pkgs/tools/networking/phodav/default.nix
+++ b/nixpkgs/pkgs/tools/networking/phodav/default.nix
@@ -1,20 +1,24 @@
 { stdenv, fetchurl
-, intltool, pkgconfig, glib, libsoup }:
+, pkgconfig, libsoup, meson, ninja }:
 
 let
-  version = "2.2";
+  version = "2.3";
 in stdenv.mkDerivation rec {
   pname = "phodav";
   inherit version;
 
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/GNOME/sources/phodav/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1hap0lncbcmivnflh0fbx7y58ry78p9wgj7z03r64ic0kvf0a0q8";
+    sha256 = "0ndy5qva6bq7vhk06jq2d4nr5fp98xsdwypg42vjz91h9ii1xxkf";
   };
 
-  buildInputs = [ intltool glib libsoup ];
+  mesonFlags = [
+    "-Davahi=disabled"
+    "-Dsystemd=disabled"
+    "-Dgtk_doc=disabled"
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ libsoup pkgconfig meson ninja ];
 
   meta = with stdenv.lib; {
     description = "WebDav server implementation and library using libsoup";
diff --git a/nixpkgs/pkgs/tools/networking/pirate-get/default.nix b/nixpkgs/pkgs/tools/networking/pirate-get/default.nix
index 5d410685c0d0..b92d255b719c 100644
--- a/nixpkgs/pkgs/tools/networking/pirate-get/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pirate-get/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "pirate-get";
-  version = "0.3.3";
+  version = "0.3.4";
 
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zwfgfiszkca44wlx5p2243hmf8594n7bnfva5if1f69dic6w7mi";
+    sha256 = "0f82yf3bl9jaywagv4vvwypm57z1x8a8qqn0xhz9np3949df4ysm";
   };
 
   propagatedBuildInputs = [ colorama veryprettytable beautifulsoup4 pyperclip ];
diff --git a/nixpkgs/pkgs/tools/networking/pmacct/default.nix b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
new file mode 100644
index 000000000000..5d0c5cccdedb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, autoreconfHook
+, libtool
+, libpcap
+
+# Optional Dependencies
+, zlib ? null
+, withJansson ? true, jansson ? null
+, withNflog ? true, libnetfilter_log ? null
+, withSQLite ? true, sqlite ? null
+, withPgSQL ? true, postgresql ? null
+, withMysql ? true, libmysqlclient ? null }:
+
+assert withJansson -> jansson != null;
+assert withNflog -> libnetfilter_log != null;
+assert withSQLite -> sqlite != null;
+assert withPgSQL -> postgresql != null;
+assert withMysql -> libmysqlclient != null;
+
+let inherit (stdenv.lib) optional; in
+
+stdenv.mkDerivation rec {
+  version = "1.7.3";
+  pname = "pmacct";
+
+  src = fetchFromGitHub {
+    owner = "pmacct";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j5qmkya67q7jvaddcj00blmaac37bkir1zb3m1xmm95gm5lf2p5";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
+  buildInputs = [ libpcap ]
+    ++ optional withJansson jansson
+    ++ optional withNflog libnetfilter_log
+    ++ optional withSQLite sqlite
+    ++ optional withPgSQL postgresql
+    ++ optional withMysql [ libmysqlclient zlib ];
+
+  configureFlags = [
+    "--with-pcap-includes=${libpcap}/include"
+  ] ++ optional withJansson "--enable-jansson"
+    ++ optional withNflog "--enable-nflog"
+    ++ optional withSQLite "--enable-sqlite3"
+    ++ optional withPgSQL "--enable-pgsql"
+    ++ optional withMysql "--enable-mysql";
+
+  meta = with stdenv.lib; {
+    description = "pmacct is a small set of multi-purpose passive network monitoring tools";
+    longDescription = ''
+      pmacct is a small set of multi-purpose passive network monitoring tools
+      [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry]
+    '';
+    homepage = "http://www.pmacct.net/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ "0x4A6F" ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ppp/default.nix b/nixpkgs/pkgs/tools/networking/ppp/default.nix
index b072ed21318c..0efef74f6c35 100644
--- a/nixpkgs/pkgs/tools/networking/ppp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ppp/default.nix
@@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
       ./nonpriv.patch
       (fetchurl {
         name = "CVE-2015-3310.patch";
-        url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/rc_mksid-no-buffer-overflow?h=debian/2.4.7-1%2b4";
+        url = "https://salsa.debian.org/roam/ppp/raw/ef5d585aca6b1200a52c7109caa66ef97964d76e/debian/patches/rc_mksid-no-buffer-overflow";
         sha256 = "1dk00j7bg9nfgskw39fagnwv1xgsmyv0xnkd6n1v5gy0psw0lvqh";
       })
       (fetchurl {
-        url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/0016-pppoe-include-netinet-in.h-before-linux-in.h.patch";
+        url = "https://salsa.debian.org/roam/ppp/raw/ef5d585aca6b1200a52c7109caa66ef97964d76e/debian/patches/0016-pppoe-include-netinet-in.h-before-linux-in.h.patch";
         sha256 = "1xnmqn02kc6g5y84xynjwnpv9cvrfn3nyv7h7r8j8xi7qf2aj4q8";
       })
       (fetchurl {
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     description = "Point-to-point implementation for Linux and Solaris";
     license = with licenses; [ bsdOriginal publicDomain gpl2 lgpl2 ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.falsifian ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/prettyping/default.nix b/nixpkgs/pkgs/tools/networking/prettyping/default.nix
index 36700195a1bd..fb0508b3c903 100644
--- a/nixpkgs/pkgs/tools/networking/prettyping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/prettyping/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/denilsonsa/prettyping;
     description = "A wrapper around the standard ping tool with the objective of making the output prettier, more colorful, more compact, and easier to read";
     license = with licenses; [ mit ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ qoelet ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
index 9901194f3c62..5460bf80a07e 100644
--- a/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "radsecproxy";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1268lbysa82b6h0101jzs0v6ixvmy3x0d0a8hw37sy95filsjmia";
+    sha256 = "12pvwd7v3iswki3riycxaiiqxingg4bqnkwc5ay3j4n2kzynr1qg";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/networking/ratools/default.nix b/nixpkgs/pkgs/tools/networking/ratools/default.nix
index cf8c370c522a..f5353db68035 100644
--- a/nixpkgs/pkgs/tools/networking/ratools/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ratools/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "07m45bn9lzgbfihmxic23wqp73nxg5ihrvkigr450jq6gzvgwawq";
   };
 
-  makeFlags = "-C src";
+  makeFlags = [ "-C" "src" ];
 
   installPhase = ''
     install -vD bin/* -t $out/bin
diff --git a/nixpkgs/pkgs/tools/networking/s6-dns/default.nix b/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
index 36c539a40b41..66bdcbbba54a 100644
--- a/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-dns";
-  version = "2.3.0.2";
-  sha256 = "1y9bhvx8bqsb2xq5lmlfnc1hw2b3jyqg11i9r4lj0n6vvaqwh1j8";
+  version = "2.3.1.1";
+  sha256 = "0clib10dk3r9rcxv1yfr6gdvqqrx0arzivjpmhz9p8xaif53wpj1";
 
   description = "A suite of DNS client programs and libraries for Unix systems";
 
diff --git a/nixpkgs/pkgs/tools/networking/s6-networking/default.nix b/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
index 8dfaae63ffaf..1551d6da97be 100644
--- a/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
@@ -20,8 +20,8 @@ assert sslSupportEnabled -> sslLibs ? ${sslSupport};
 
 buildPackage {
   pname = "s6-networking";
-  version = "2.3.0.4";
-  sha256 = "00kqp0mcp8c7f0z5s4399rd1haxasxkqgd6ds0j0607hvi56mqqa";
+  version = "2.3.1.1";
+  sha256 = "127i7ig5wdgjbkjf0py0g96llc6cbxij22ns2j7bwa95figinhcx";
 
   description = "A suite of small networking utilities for Unix systems";
 
diff --git a/nixpkgs/pkgs/tools/networking/shadowfox/default.nix b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
index 8a2dee19b957..f2ae143e1b9e 100644
--- a/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   modSha256 = "0hcc87mzacqwbw10l49kx0sxl4mivdr88c40wh6hdfvrbam2w86r";
 
-  buildFlags = "--tags release";
+  buildFlags = [ "--tags" "release" ];
 
   meta = with stdenv.lib; {
     description = ''
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix
index 254e5d3e5d32..b6051ef26b0f 100644
--- a/nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "shadowsocks-libev";
-  version = "3.3.1";
+  version = "3.3.3";
 
   # Git tag includes CMake build files which are much more convenient.
   src = fetchFromGitHub {
     owner = "shadowsocks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "0l15mbwlzx446rn5cix9f1726by62807bhnxkzknd41j7r937vyv";
+    sha256 = "1i2431imbn4bhwmwyz63g5mh1g5ikhsiwv6mzcdc2kx34zjpibrj";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
index 668d55d89273..2416ef23c8a3 100644
--- a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.7.0";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "0mqjm54mp6c9mfdl3gf01v9vm2rjll8fw63n6j4qgv01y4hrsm4f";
+    sha256 = "0w7ysha46ml3j1i1knvll4pmqg291z8a2ypcy650m61dhrvkh2ng";
   };
 
-  cargoSha256 = "19wx19sbal2q5ndniv6vllayjjy5fzi8fw7fn1d23jb9l91ak7ab";
+  cargoSha256 = "18nlvqa9ha4vs9xb60hivhgcsqr69zsigfmqyig48slvwgqkbwda";
 
   buildInputs = [ openssl libsodium ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
diff --git a/nixpkgs/pkgs/tools/networking/shorewall/default.nix b/nixpkgs/pkgs/tools/networking/shorewall/default.nix
new file mode 100644
index 000000000000..8e62aa735a41
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/shorewall/default.nix
@@ -0,0 +1,130 @@
+{ coreutils
+, ebtables
+, fetchurl
+, gnugrep
+, gnused
+, iproute
+, ipset
+, iptables
+, perl
+, perlPackages
+, stdenv
+, tree
+, utillinux
+}:
+let
+  PATH = stdenv.lib.concatStringsSep ":"
+           [ "${coreutils}/bin"
+             "${iproute}/bin"
+             "${iptables}/bin"
+             "${ipset}/bin"
+             "${ebtables}/bin"
+             "${utillinux}/bin"
+             "${gnugrep}/bin"
+             "${gnused}/bin"
+           ];
+in
+stdenv.mkDerivation rec {
+  pname = "shorewall";
+  version = "5.2.3.3";
+
+  srcs = [
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall-core-${version}.tar.bz2";
+      sha256 = "1gg2yfxzm3y9qqjrrg5nq2ggi1c6yfxx0s7fvwjw70b185mwa5p5";
+    })
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall-${version}.tar.bz2";
+      sha256 = "1ka70pa3s0cnvc83rlm57r05cdv9idnxnq0vmxi6nr7razak5f3b";
+    })
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall6-${version}.tar.bz2";
+      sha256 = "0mhs4m6agwk082h1n69gnyfsjpycdd8215r4r9rzb3czs5xi087n";
+    })
+  ];
+  sourceRoot = ".";
+
+  buildInputs = [
+    coreutils
+    iproute
+    ipset
+    iptables
+    ebtables
+    utillinux
+    gnugrep
+    gnused
+    perl
+  ] ++ (with perlPackages; [
+    DigestSHA1
+  ]);
+  prePatch = ''
+    # Patch configure and install.sh files
+    patchShebangs .
+
+    # Remove hardcoded PATH
+    sed -i shorewall-core-${version}/lib.cli \
+        -e '/^ *PATH=.*/d'
+  '';
+  configurePhase = ''
+    shorewall-core-${version}/configure \
+      HOST=linux \
+      PREFIX=$out \
+      CONFDIR=\$PREFIX/etc-example \
+      SBINDIR=\$PREFIX/sbin \
+      SYSCONFDIR= \
+      SHAREDIR=\$PREFIX/share \
+      LIBEXECDIR=\$SHAREDIR \
+      PERLLIBDIR=\$SHAREDIR/shorewall \
+      MANDIR=$out/man \
+      VARLIB=/var/lib \
+      INITSOURCE= \
+      INITDIR= \
+      INITFILE= \
+      DEFAULT_PAGER=
+  '';
+  installPhase = ''
+    export DESTDIR=/
+    shorewall-core-${version}/install.sh
+
+    ln -s ../shorewall-core-${version}/shorewallrc shorewall-${version}/
+    shorewall-${version}/install.sh
+
+    ln -s ../shorewall-core-${version}/shorewallrc shorewall6-${version}/
+    shorewall6-${version}/install.sh
+
+    # Patch the example shorewall{,6}.conf in case it is included
+    # in services.shorewall{,6}.configs
+    sed -i $out/etc-example/shorewall/shorewall.conf \
+           $out/etc-example/shorewall6/shorewall6.conf \
+        -e 's|^LOGFILE=.*|LOGFILE=/var/log/shorewall.log|' \
+        -e 's|^PATH=.*|PATH=${PATH}|' \
+        -e 's|^PERL=.*|PERL=${perl}/bin/perl|' \
+        -e 's|^SHOREWALL_SHELL=.*|SHOREWALL_SHELL=${stdenv.shell}|'
+    sed -i $out/etc-example/shorewall6/shorewall6.conf \
+        -e 's|^CONFIG_PATH=.*|CONFIG_PATH=:''${CONFDIR}/shorewall6:''${SHAREDIR}/shorewall6:''${SHAREDIR}/shorewall|'
+    # FIXME: the default GEOIPDIR=/usr/share/xt_geoip/LE may require attention.
+
+    # Redirect CONFDIR to /etc where services.shorewall{,6}.configs
+    # will generate the config files.
+    sed -i $out/share/shorewall/shorewallrc \
+        -e 's~^CONFDIR=.*~CONFDIR=/etc~'
+  '';
+
+  meta = {
+    homepage = http://www.shorewall.net/;
+    description = "An IP gateway/firewall configuration tool for GNU/Linux";
+    longDescription = ''
+      Shorewall is a high-level tool for configuring Netfilter. You describe your
+      firewall/gateway requirements using entries in a set of configuration
+      files. Shorewall reads those configuration files and with the help of the
+      iptables, iptables-restore, ip and tc utilities, Shorewall configures
+      Netfilter and the Linux networking subsystem to match your requirements.
+      Shorewall can be used on a dedicated firewall system, a multi-function
+      gateway/router/server or on a standalone GNU/Linux system. Shorewall does
+      not use Netfilter's ipchains compatibility mode and can thus take
+      advantage of Netfilter's connection state tracking capabilities.
+    '';
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
index b64cf5cdd9b2..f9add47dd3fd 100644
--- a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, libcap, libseccomp }:
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "0.3.0";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "079m44l4l0p1c2sbkpzsy6zpv94glwmrc72ip2djcscnaq4b1763";
+    sha256 = "0g7apfw33wkxxj7qwvlnnhv7qy13s1gkbmvns8612c0yfv9jrsvq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  buildInputs = [ glib ];
+  buildInputs = [ libcap libseccomp glib ];
 
   enableParallelBuilding = true;
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/rootless-containers/slirp4netns;
     description = "User-mode networking for unprivileged network namespaces";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ orivej ];
+    maintainers = with maintainers; [ orivej saschagrunert ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/smokeping/default.nix b/nixpkgs/pkgs/tools/networking/smokeping/default.nix
index 0c9079240d0c..6a816615e9c1 100644
--- a/nixpkgs/pkgs/tools/networking/smokeping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/smokeping/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://oss.oetiker.ch/smokeping;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.erictapen ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/snabb/default.nix b/nixpkgs/pkgs/tools/networking/snabb/default.nix
index ba05ee8e8b51..9471efa92d75 100644
--- a/nixpkgs/pkgs/tools/networking/snabb/default.nix
+++ b/nixpkgs/pkgs/tools/networking/snabb/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ makeWrapper ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+
   patchPhase = ''
     patchShebangs .
 
diff --git a/nixpkgs/pkgs/tools/networking/sshoogr/default.nix b/nixpkgs/pkgs/tools/networking/sshoogr/default.nix
new file mode 100644
index 000000000000..764b34fc5a53
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/sshoogr/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, jdk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "sshoogr";
+  version = "0.9.26";
+
+  src = fetchzip {
+    url = "https://repo1.maven.org/maven2/com/aestasit/infrastructure/${pname}/${pname}/${version}/${pname}-${version}.zip";
+    sha256 = "134qlx90y82g1rfxhyn12z9r2imm1l3fz09hrrn3pgcdcq5jz2s1";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    rm bin/sshoogr.bat
+    cp -r . $out
+    wrapProgram $out/bin/sshoogr \
+      --prefix JAVA_HOME : ${jdk}
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A Groovy-based DSL for working with remote SSH servers
+    '';
+    longDescription = ''
+      The sshoogr (pronounced [ʃʊgə]) is a Groovy-based DSL library for working
+      with remote servers through SSH. The DSL allows: connecting, executing 
+      remote commands, copying files and directories, creating tunnels in a 
+      simple and concise way.
+    '';
+    homepage = "https://github.com/aestasit/sshoogr";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+} 
diff --git a/nixpkgs/pkgs/tools/networking/sshping/default.nix b/nixpkgs/pkgs/tools/networking/sshping/default.nix
new file mode 100644
index 000000000000..20f0eaa7e471
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/sshping/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchFromGitHub, libssh}:
+
+stdenv.mkDerivation rec {
+  pname = "sshping";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "spook";
+    repo = "sshping";
+    rev = "v${version}";
+    sha256 = "0p1fvpgrsy44yvj44xp9k9nf6z1fh0sqcjvy75pcb9f5icgms815";
+  };
+
+  buildInputs = [ libssh ];
+
+  buildPhase = ''
+      g++ -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh
+    '';
+
+  installPhase = ''
+      install -Dm755 bin/sshping $out/bin/sshping
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/spook/sshping";
+    description = "Measure character-echo latency and bandwidth for an interactive ssh session";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jqueiroz ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/sslsplit/default.nix b/nixpkgs/pkgs/tools/networking/sslsplit/default.nix
new file mode 100644
index 000000000000..bf23d06551d7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/sslsplit/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, openssl, libevent, libpcap, libnet, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sslsplit";
+  version = "0.5.5";
+
+  src = fetchFromGitHub {
+    owner = "droe";
+    repo = pname;
+    rev = version;
+    sha256 = "1p43z9ln5rbc76v0j1k3r4nhvfw71hq8jzsallb54z9hvwfvqp3l";
+  };
+
+  buildInputs = [ openssl libevent libpcap libnet zlib ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "OPENSSL_BASE=${openssl.dev}"
+    "LIBEVENT_BASE=${libevent.dev}"
+    "LIBPCAP_BASE=${libpcap}"
+    "LIBNET_BASE=${libnet}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Transparent SSL/TLS interception";
+    homepage = "https://www.roe.ch/SSLsplit";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ contrun ];
+    license = with licenses; [ bsd2 mit unlicense free ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ssmtp/default.nix b/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
index ebe31dc8b5a9..81da427a52cf 100644
--- a/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
@@ -30,13 +30,13 @@ stdenv.mkDerivation {
         --replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
     '';
 
-  installFlags = "etcdir=$(out)/etc";
+  installFlags = [ "etcdir=$(out)/etc" ];
 
   installTargets = [ "install" "install-sendmail" ];
 
   buildInputs = stdenv.lib.optional tlsSupport openssl;
 
-  NIX_LDFLAGS = stdenv.lib.optional tlsSupport [ "-lcrypto" ];
+  NIX_LDFLAGS = stdenv.lib.optionalString tlsSupport "-lcrypto";
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/networking/strongswan/default.nix b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
index 869e568d3696..27453083d591 100644
--- a/nixpkgs/pkgs/tools/networking/strongswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch
 , pkgconfig, autoreconfHook
-, gmp, python, iptables, ldns, unbound, openssl, pcsclite
+, gmp, python, iptables, ldns, unbound, openssl, pcsclite, glib
 , openresolv
 , systemd, pam
 , curl
@@ -17,11 +17,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "strongswan";
-  version = "5.8.0"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
+  version = "5.8.1"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
 
   src = fetchurl {
     url = "https://download.strongswan.org/${pname}-${version}.tar.bz2";
-    sha256 = "0cq9m86ydd2i0awxkv4a256f4926p2f9pzlisyskl9fngl6f3c8m";
+    sha256 = "034rd6kr1bmnvj8rg2kcxdjb0cgj3dn9310mmm94j1awxan71byr";
   };
 
   dontPatchELF = true;
@@ -32,12 +32,18 @@ stdenv.mkDerivation rec {
     ++ optionals enableTNC [ trousers sqlite libxml2 ]
     ++ optionals stdenv.isLinux [ systemd.dev pam iptables ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ SystemConfiguration ])
-    ++ optionals enableNetworkManager [ networkmanager ];
+    ++ optionals enableNetworkManager [ networkmanager glib ];
 
   patches = [
     ./ext_auth-path.patch
     ./firewall_defaults.patch
     ./updown-path.patch
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/strongswan/strongswan/pull/150.patch";
+      sha256 = "1irfxb99blb8v3hs0kmlhzkkwbmds1p0gq319z8lmacz36cgyj2c";
+    })
   ];
 
   postPatch = optionalString stdenv.isLinux ''
diff --git a/nixpkgs/pkgs/tools/networking/stunnel/default.nix b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
index 792e6f68294d..b9278dd7c0d5 100644
--- a/nixpkgs/pkgs/tools/networking/stunnel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/subfinder/default.nix b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
index 65b88a34fb09..cd5f2bf18cbd 100644
--- a/nixpkgs/pkgs/tools/networking/subfinder/default.nix
+++ b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage {
-  pname = "subfinder-git";
-  version = "2018-07-15";
+buildGoPackage rec {
+  pname = "subfinder";
+  version = "2.2.4";
 
-  goPackagePath = "github.com/subfinder/subfinder";
+  goPackagePath = "github.com/projectdiscovery/subfinder";
 
   src = fetchFromGitHub {
-    owner = "subfinder";
-    repo = "subfinder";
-    rev = "26596affed961c535676395f443acc5af95ac9e6";
-    sha256 = "0m842jyrwlg4kaja1m3kca07jf20fxva0frg66b13zpsm8hdp10q";
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00ni835zvgrj8gmmmpjdszrcijyd6apig8rpb4g2z3g016b6gwar";
   };
 
   goDeps = ./deps.nix;
@@ -22,8 +22,8 @@ buildGoPackage {
       subdomains for websites. Designed as a passive framework to be
       useful for bug bounties and safe for penetration testing.
     '';
-    homepage = https://github.com/subfinder/subfinder;
+    homepage = "https://github.com/projectdiscovery/subfinder";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz filalex77 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/subfinder/deps.nix b/nixpkgs/pkgs/tools/networking/subfinder/deps.nix
index 34095c814284..16427eddcf6d 100644
--- a/nixpkgs/pkgs/tools/networking/subfinder/deps.nix
+++ b/nixpkgs/pkgs/tools/networking/subfinder/deps.nix
@@ -1,12 +1,48 @@
 # file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
 [
   {
-    goPackagePath  = "github.com/bogdanovich/dns_resolver";
+    goPackagePath  = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
-      url = "https://github.com/bogdanovich/dns_resolver";
-      rev =  "a8e42bc6a5b6c9a93be01ca204be7e17f7ba4cd2";
-      sha256 = "0l1hgxxqafappw0y18sbkkk2vijclvf1b8x73b0nhi4r74wyib49";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev =  "03217c3e97663914aec3faafde50d081f197a0a2";
+      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/logrusorgru/aurora";
+    fetch = {
+      type = "git";
+      url = "https://github.com/logrusorgru/aurora";
+      rev =  "21d75270181e0436fee7bd58b991c212cf309068";
+      sha256 = "0vc9qdl6jzq7vazfqgz628gcgsvir56bdi2bkhl54pi92cz9cw0p";
+    };
+  }
+  {
+    goPackagePath  = "github.com/m-mizutani/urlscan-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/m-mizutani/urlscan-go";
+      rev =  "21d37c8d3d34d514f2ef49db9b59cc94f335e9c3";
+      sha256 = "1hpymd4ncp78hgpksnw8k27rp0lh832x1pyk3bhj5dm6xmh79g4c";
     };
   }
   {
@@ -14,17 +50,71 @@
     fetch = {
       type = "git";
       url = "https://github.com/miekg/dns";
-      rev =  "3e6e47bc11bc7f93f9e2f1c7bd6481ba4802808b";
-      sha256 = "1vmsnv6r799z5lz5g9l2dh065m9003yfjb18w8n6c053hp8jvrfm";
+      rev =  "1e224ff5dead8366ed6fcdcb832794be42e73f0e";
+      sha256 = "1iv9jznakz8f5swiir0z4zilr9ypavnsc0g4zi1r0vad6npy7zfl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev =  "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
     };
   }
   {
-    goPackagePath  = "github.com/subfinder/urlx";
+    goPackagePath  = "github.com/modern-go/reflect2";
     fetch = {
       type = "git";
-      url = "https://github.com/subfinder/urlx";
-      rev =  "8e731c8be06edbae81cab15937cd3c291c2a7680";
-      sha256 = "11vrx1c0mq1h6lwpsvibd3386wy4kirzmmm8ibrlx2gj0h6pkkcb";
+      url = "https://github.com/modern-go/reflect2";
+      rev =  "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd";
+      sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/rs/xid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/xid";
+      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
+      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "839c75faf7f98a33d445d181f3018b5c3409a45e";
+      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "221dbe5ed46703ee255b1da0dec05086f5035f62";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -32,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "a49355c7e3f8fe157a85be2f77e6e269a0f89602";
-      sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44";
+      rev =  "86a70503ff7e82ffc18c7b0de83db35da4791e6a";
+      sha256 = "0w7ih86lmll9gs2j0z3nmmy148i2yism9z53yp58zwa6d5pjahfn";
     };
   }
   {
@@ -41,8 +131,35 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "d0887baf81f4598189d4e12a37c6da86f0bba4d0";
-      sha256 = "00dmz9a5d3myyb0256b33vf1bk8wv1khhh88kcvbmqsfd6x1n6p5";
+      rev =  "5ee1b9f4859acd2e99987ef94ec7a58427c53bef";
+      sha256 = "0jvzqv6phv64rw4pj86x3j9kp5yx9p34fd38r46rb9464h69ba29";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "ce4227a45e2eb77e5c847278dcc6a626742e2945";
+      sha256 = "1s43wvqfml6ml5ks7iv2bis9d664g77mq86v7mfmjhn56x856g35";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "1f64d6156d11335c3f22d9330b0ad14fc1e789ce";
+      sha256 = "0k5xcwkd3wmcx54isk7ck9cwp8fapfhyqdz3f13kxp77cxqizazj";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "4206685974f28e3178b35fa198a59899aa4dee3a";
+      sha256 = "1ff5fd8x45cay9100ds63hxd32s7czsrric0ql6a1jrxczsgqk1g";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/tools/networking/surfraw/default.nix b/nixpkgs/pkgs/tools/networking/surfraw/default.nix
index d69221d9d50f..eac737653004 100644
--- a/nixpkgs/pkgs/tools/networking/surfraw/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/swaks/default.nix b/nixpkgs/pkgs/tools/networking/swaks/default.nix
index 9d776752c827..81d0935f0b08 100644
--- a/nixpkgs/pkgs/tools/networking/swaks/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swaks/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "swaks";
-  version = "20181104.0";
+  version = "20190914.0";
 
   src = fetchurl {
     url = "https://www.jetmore.org/john/code/swaks/files/${pname}-${version}.tar.gz";
-    sha256 = "0n1yd27xcyb1ylp5gln3yv5gzi9r377hjy1j32367kgb3247ygq2";
+    sha256 = "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp";
   };
 
   buildInputs = [ perl makeWrapper ];
@@ -22,12 +22,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.jetmore.org/john/code/swaks/;
-    description = ''
-      A featureful, flexible, scriptable, transaction-oriented SMTP test tool
-    '';
+    homepage = "http://www.jetmore.org/john/code/swaks/";
+    description = "A featureful, flexible, scriptable, transaction-oriented SMTP test tool";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = platforms.all;
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/tcpdump/default.nix b/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
index 9cebc267260b..a74dc7ca1d72 100644
--- a/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
@@ -1,20 +1,13 @@
 { stdenv, fetchurl, libpcap, perl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "tcpdump";
-  version = "4.9.2";
+  version = "4.9.3";
 
-  # leaked embargoed security update
   src = fetchurl {
-    url = "https://src.fedoraproject.org/lookaside/pkgs/tcpdump/tcpdump-4.9.2.tar.gz/sha512/e1bc19a5867d6e3628f3941bdf3ec831bf13784f1233ca1bccc46aac1702f47ee9357d7ff0ca62cddf211b3c8884488c21144cabddd92c861e32398cd8f7c44b/tcpdump-4.9.2.tar.gz";
-    sha256 = "0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr";
+    url = "http://www.tcpdump.org/release/${pname}-${version}.tar.gz";
+    sha256 = "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c";
   };
-  # src = fetchFromGitHub rec {
-  #   owner = "the-tcpdump-group";
-  #   repo = "tcpdump";
-  #   rev = "${repo}-${version}";
-  #   sha256 = "1vzrvn1q7x28h18yskqc390y357pzpg5xd3pzzj4xz3llnvsr64p";
-  # };
 
   postPatch = ''
     patchShebangs tests
diff --git a/nixpkgs/pkgs/tools/networking/tdns-cli/default.nix b/nixpkgs/pkgs/tools/networking/tdns-cli/default.nix
new file mode 100644
index 000000000000..473ee8ace345
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/tdns-cli/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name = "tdns-cli";
+  version = "0.0.5";
+  
+  src = fetchFromGitHub {
+    owner = "rotty";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0nn036in5j1h0vxkwif0lf7fn900zy4f4kxlzy6qdx3jakgmxvwh";
+  };
+
+  cargoSha256 = "0h41ws3jcxb90mhnznckfkfv0mpx6ykga7087bipbaw2fqhr7izd";
+
+  meta = with stdenv.lib; {
+    description = "DNS tool that aims to replace dig and nsupdate";
+    homepage = "https://github.com/rotty/tdns-cli";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ astro ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix b/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
new file mode 100644
index 000000000000..aab937c994ee
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/tracebox/default.nix b/nixpkgs/pkgs/tools/networking/tracebox/default.nix
index 4062fc0fd585..1d3c4190e388 100644
--- a/nixpkgs/pkgs/tools/networking/tracebox/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tracebox/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-lua=yes" ];
 
-  NIX_LDFLAGS = [ "${libpcap}/lib/libpcap.so" "${libcrafter}/lib/libcrafter.so" ];
+  NIX_LDFLAGS = "${libpcap}/lib/libpcap.so ${libcrafter}/lib/libcrafter.so";
 
   preAutoreconf = ''
     substituteInPlace Makefile.am --replace "noinst" ""
diff --git a/nixpkgs/pkgs/tools/networking/traceroute/default.nix b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
index af8f5cafb894..8591db4e016c 100644
--- a/nixpkgs/pkgs/tools/networking/traceroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6";
   };
 
-  makeFlags = "prefix=$(out) LDFLAGS=-lm";
+  makeFlags = [ "prefix=$(out)" "LDFLAGS=-lm" ];
 
   preConfigure = ''
     sed -i 's@LIBS := \(.*\) -lm \(.*\)@LIBS := \1 \2@' Make.rules
diff --git a/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix b/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix
index 9667f1a74c5a..44daa23cd92d 100644
--- a/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/nixpkgs/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.16.3";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "1cp2iaa9fhlxmbml41wnq984jp2r75n6w0qxz38rd24jxsj5vz06";
+    sha256 = "197vh3k9nh58djl6ph0lznkdb2schqlksxxr93xjkk4xsc7k6j1g";
   };
   sourceRoot = "source/native";
 
diff --git a/nixpkgs/pkgs/tools/networking/twa/default.nix b/nixpkgs/pkgs/tools/networking/twa/default.nix
index fe75b35eea2b..b15b6dcba31e 100644
--- a/nixpkgs/pkgs/tools/networking/twa/default.nix
+++ b/nixpkgs/pkgs/tools/networking/twa/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , gawk
 , host
+, jq
 , lib
 , makeWrapper
 , ncurses
@@ -12,18 +13,25 @@
 
 stdenv.mkDerivation rec {
   pname = "twa";
-  version = "1.8.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "twa";
     rev = version;
-    sha256 = "1xq35xyz5536nwrwmlp1wqa7q9jgh90ly7vdy3a5rvxnksx0b2l5";
+    sha256 = "1ab3bcyhfach9y15w8ffvqqan2qk8h62n6z8nqbgygi7n1mf6jzx";
   };
 
   dontBuild = true;
 
-  buildInputs = [ makeWrapper bash gawk curl netcat host.dnsutils ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ bash
+                  curl
+                  gawk
+                  host.dnsutils
+                  jq
+                  netcat ];
 
   installPhase = ''
     install -Dm 0755 twa "$out/bin/twa"
@@ -32,7 +40,11 @@ stdenv.mkDerivation rec {
     install -Dm 0644 README.md "$out/share/doc/twa/README.md"
 
     wrapProgram "$out/bin/twa" \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ curl netcat ncurses host.dnsutils ]}
+      --prefix PATH : ${stdenv.lib.makeBinPath [ curl
+                                                 host.dnsutils
+                                                 jq
+                                                 ncurses
+                                                 netcat ]}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/uget/default.nix b/nixpkgs/pkgs/tools/networking/uget/default.nix
index 78dcb00eb78a..b2da1384557d 100644
--- a/nixpkgs/pkgs/tools/networking/uget/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index 8a4b6e6650e6..18d9defdd946 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -2,13 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.9.3";
+  version = "1.9.5";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v";
+    sha256 = "0myv8l886gmlh9nh4j3q5549idxnl51hf9cw20yxfqbwd47l13ca";
   };
 
+  # https://github.com/NLnetLabs/unbound/pull/90
+  postPatch = ''
+    substituteInPlace validator/val_secalgo.c \
+      --replace '&nettle_secp_256r1' 'nettle_get_secp_256r1()' \
+      --replace '&nettle_secp_384r1' 'nettle_get_secp_384r1()'
+  '';
+
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
 
   buildInputs = [ openssl nettle expat libevent ];
@@ -27,6 +34,10 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
 
+  postInstall = ''
+    make unbound-event-install
+  '';
+
   preFixup = stdenv.lib.optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) # XXX: revisit
     # Build libunbound again, but only against nettle instead of openssl.
     # This avoids gnutls.out -> unbound.lib -> openssl.out.
diff --git a/nixpkgs/pkgs/tools/networking/unbound/python.nix b/nixpkgs/pkgs/tools/networking/unbound/python.nix
index fdd110e14b3c..c11862041049 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/python.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/python.nix
@@ -60,5 +60,6 @@ in stdenv.mkDerivation rec {
     homepage = http://www.unbound.net;
     maintainers = with maintainers; [ leenaars ];
     platforms = stdenv.lib.platforms.unix;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/uwimap/default.nix b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
index 125c83da4c4f..b687f1db0170 100644
--- a/nixpkgs/pkgs/tools/networking/uwimap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
@@ -8,12 +8,12 @@ stdenv.mkDerivation ({
     sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
   };
 
-  makeFlags = if stdenv.isDarwin
+  makeFlags = [ (if stdenv.isDarwin
     then "osx"
-    else "lnp" # Linux with PAM modules;
+    else "lnp") ]  # Linux with PAM modules;
     # -fPIC is required to compile php with imap on x86_64 systems
-    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC"
-    + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " CC=${stdenv.hostPlatform.config}-gcc RANLIB=${stdenv.hostPlatform.config}-ranlib";
+    ++ stdenv.lib.optional stdenv.isx86_64 "EXTRACFLAGS=-fPIC"
+    ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "CC=${stdenv.hostPlatform.config}-gcc" "RANLIB=${stdenv.hostPlatform.config}-ranlib" ];
 
   hardeningDisable = [ "format" ];
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation ({
     ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
 
   patches = [ (fetchpatch {
-    url = "https://anonscm.debian.org/cgit/collab-maint/uw-imap.git/plain/debian/patches/1006_openssl1.1_autoverify.patch?id=b4df81d246a6cdbfd035c21f43e844effda3582b";
+    url = "https://salsa.debian.org/holmgren/uw-imap/raw/dcb42981201ea14c2d71c01ebb4a61691b6f68b3/debian/patches/1006_openssl1.1_autoverify.patch";
     sha256 = "09xb58awvkhzmmjhrkqgijzgv7ia381ablf0y7i1rvhcqkb5wga7";
   }) ];
 
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
new file mode 100644
index 000000000000..ee3ca416aa4a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
@@ -0,0 +1,36 @@
+{ callPackage, fetchFromGitHub, fetchurl
+, assetOverrides ? {}
+, ... } @ args:
+
+callPackage ./generic.nix (rec {
+  version = "4.22.0";
+
+  src = fetchFromGitHub {
+    owner = "v2ray";
+    repo = "v2ray-core";
+    rev = "v${version}";
+    sha256 = "1gr4s96ii4dx5bcwpb82rn250pcnncxwzx147p9dbwbyiy0i9nz7";
+  };
+
+  assets = {
+    # MIT licensed
+    "geoip.dat" = let
+      geoipRev = "202001010102";
+      geoipSha256 = "16i73c3852f7zmya0q3856cc4gvhqhpln9s98qvr2dr1mpp72c1w";
+    in fetchurl {
+      url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
+      sha256 = geoipSha256;
+    };
+
+    # MIT licensed
+    "geosite.dat" = let
+      geositeRev = "20191226.1";
+      geositeSha256 = "0b4ji5kj5jpkwri3libxm9yl49dcy91vkl7h1rkhrrhbl17s3qiy";
+    in fetchurl {
+      url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
+      sha256 = geositeSha256;
+    };
+
+  } // assetOverrides;
+
+} // args)
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/generic.nix b/nixpkgs/pkgs/tools/networking/v2ray/generic.nix
new file mode 100644
index 000000000000..bf6e6cd55ae2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/v2ray/generic.nix
@@ -0,0 +1,50 @@
+{ lib, linkFarm, buildGoModule, runCommand, makeWrapper
+
+# Version specific args
+, version, src, assets
+, ... }:
+
+let
+  assetsDrv = linkFarm "v2ray-assets" (lib.mapAttrsToList (name: path: {
+    inherit name path;
+  }) assets);
+
+  core = buildGoModule rec {
+    pname = "v2ray-core";
+    inherit version src;
+
+    modSha256 = "11gsncy3449a7y6w6pr7acqabyj2q2a1q52f8fcl5cdz1vjbmmxi";
+
+    buildPhase = ''
+      runHook preBuild
+
+      go build -o v2ray v2ray.com/core/main
+      go build -o v2ctl v2ray.com/core/infra/control/main
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      install -Dm755 v2ray v2ctl -t $out/bin
+    '';
+  };
+
+in runCommand "v2ray-${version}" {
+  inherit version;
+
+  buildInputs = [ assetsDrv core ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  meta = {
+    homepage = "https://www.v2ray.com/en/index.html";
+    description = "A platform for building proxies to bypass network restrictions";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ servalcatty ];
+  };
+
+} ''
+  for file in ${core}/bin/*; do
+    makeWrapper "$file" "$out/bin/$(basename "$file")" \
+      --set-default V2RAY_LOCATION_ASSET ${assetsDrv}
+  done
+''
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/update.sh b/nixpkgs/pkgs/tools/networking/v2ray/update.sh
new file mode 100755
index 000000000000..38ad77e98f86
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/v2ray/update.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq
+set -eo pipefail
+
+version_nix=$(dirname "$0")/default.nix
+deps_nix=$(dirname "$0")/deps.nix
+
+old_core_rev="v$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix")"
+old_geoip_rev=$(sed -En 's/.*\bgeoipRev = "(.*?)".*/\1/p' "$version_nix")
+old_geosite_rev=$(sed -En 's/.*\bgeositeRev = "(.*?)".*/\1/p' "$version_nix")
+echo "Current version:" >&2
+echo "core: $old_core_rev, geoip: $old_geoip_rev, geosite: $old_geosite_rev" >&2
+
+function fetch_latest_rev {
+    curl "https://api.github.com/repos/v2ray/$1/releases" |
+        jq '.[0].tag_name' --raw-output
+}
+
+core_rev=$(fetch_latest_rev 'v2ray-core')
+geoip_rev=$(fetch_latest_rev 'geoip')
+geosite_rev=$(fetch_latest_rev 'domain-list-community')
+echo "Latest version:" >&2
+echo "core: $core_rev, geoip: $geoip_rev, geosite: $geosite_rev" >&2
+
+if [[ $core_rev != $old_core_rev ]]; then
+    echo "Prefetching core..." >&2
+    { read hash; read store_path; } < <(
+        nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/$core_rev.zip"
+    )
+
+    sed --in-place \
+        -e "s/\bversion = \".*\"/version = \"$(echo "$core_rev" | tail -c+2)\"/" \
+        -e "s/\bsha256 = \".*\"/sha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geoip_rev != $old_geoip_rev ]]; then
+    echo "Prefetching geoip..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/geoip/releases/download/$geoip_rev/geoip.dat")
+    sed --in-place \
+        -e "s/\bgeoipRev = \".*\"/geoipRev = \"$geoip_rev\"/" \
+        -e "s/\bgeoipSha256 = \".*\"/geoipSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geosite_rev != $old_geosite_rev ]]; then
+    echo "Prefetching geosite..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/domain-list-community/releases/download/$geosite_rev/dlc.dat")
+    sed --in-place \
+        -e "s/\bgeositeRev = \".*\"/geositeRev = \"$geosite_rev\"/" \
+        -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
diff --git a/nixpkgs/pkgs/tools/networking/vde2/default.nix b/nixpkgs/pkgs/tools/networking/vde2/default.nix
index 4ea09cd7f006..e43c174ab3f5 100644
--- a/nixpkgs/pkgs/tools/networking/vde2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vde2/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     }
   );
 
-  configureFlags = stdenv.lib.optional (!withPython) [ "--disable-python" ];
+  configureFlags = stdenv.lib.optional (!withPython) "--disable-python";
 
   buildInputs = [ openssl libpcap ]
     ++ stdenv.lib.optional withPython python2;
diff --git a/nixpkgs/pkgs/tools/networking/weighttp/default.nix b/nixpkgs/pkgs/tools/networking/weighttp/default.nix
index 5615c249de90..8ba47534cfbc 100644
--- a/nixpkgs/pkgs/tools/networking/weighttp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/weighttp/default.nix
@@ -14,5 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    homepage = https://redmine.lighttpd.net/projects/weighttp/wiki;
+    description = "A lightweight and simple webserver benchmarking tool";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/whois/default.nix b/nixpkgs/pkgs/tools/networking/whois/default.nix
index b6c03c08cffe..e079f9a881ed 100644
--- a/nixpkgs/pkgs/tools/networking/whois/default.nix
+++ b/nixpkgs/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.1";
+  version = "5.5.3";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "05dbc58dgq5ln28pahififljdb19gqicwlcmnni0vw4ny4r7r9bg";
+    sha256 = "099yvqng085f69k815961jnwk50nzmiknvhl1wwmji2hl36r160g";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/wifite2/default.nix b/nixpkgs/pkgs/tools/networking/wifite2/default.nix
new file mode 100644
index 000000000000..2333408f0781
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch b/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch
new file mode 100644
index 000000000000..d79d9e3531f3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch
@@ -0,0 +1,26 @@
+From 63360467da4ae6d7fc8c0e05619bdf8813c7e417 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Sun, 5 Jan 2020 15:35:15 +0100
+Subject: [PATCH] Fix darwin build
+
+---
+ rwcancel/select_default.go | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/rwcancel/select_default.go b/rwcancel/select_default.go
+index dd23cda..03f3452 100644
+--- a/rwcancel/select_default.go
++++ b/rwcancel/select_default.go
+@@ -9,6 +9,7 @@ package rwcancel
+ 
+ import "golang.org/x/sys/unix"
+ 
+-func unixSelect(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout *unix.Timeval) error {
+-	return unix.Select(nfd, r, w, e, timeout)
++func unixSelect(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout *unix.Timeval) (err error) {
++	_, err = unix.Select(nfd, r, w, e, timeout)
++	return
+ }
+-- 
+2.23.1
+
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
index dfda88cb8678..8832560b3b10 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
@@ -2,15 +2,17 @@
 
 buildGoPackage rec {
   pname = "wireguard-go";
-  version = "0.0.20190517";
+  version = "0.0.20191012";
 
-  goPackagePath = "git.zx2c4.com/wireguard-go";
+  goPackagePath = "golang.zx2c4.com/wireguard";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
-    sha256 = "0ir3dp13vkkqr76q0jvw610qw40053ngk51psqhqxfaw3jicdqgr";
+    sha256 = "0s3hvqpz13n630yvi0476hfzrp3xcj8x61zc2hl5z70f8kvbay4i";
   };
 
+  patches = [ ./0001-Fix-darwin-build.patch ];
+
   goDeps = ./deps.nix;
 
   passthru.updateScript = ./update.sh;
@@ -20,6 +22,5 @@ buildGoPackage rec {
     homepage = https://git.zx2c4.com/wireguard-go/about/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ elseym kirelagin yegortimoshenko zx2c4 ];
-    platforms = platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix b/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
index 6ebef971e599..b1a92582b7c7 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
@@ -1,30 +1,12 @@
 # file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
-    goPackagePath = "github.com/Microsoft/go-winio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Microsoft/go-winio";
-      rev = "v0.4.12";
-      sha256 = "10v2f1xaw2cc97mjqnxzgs9ydpqv71f0ynp1spcywqw97la56zqw";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
-    };
-  }
-  {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "a29dc8fdc734";
-      sha256 = "07f0jj4haqs0ywc1akk1qjwn5msl2j0pry1rxjkkbfcq4r6ihc1p";
+      rev = "34f69633bfdc";
+      sha256 = "0169vcn9s4c851y9vm7xqnar3vdfjrp7qsvcxadpfhsmwlfhxzgg";
     };
   }
   {
@@ -32,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "7f726cade0ab";
-      sha256 = "0zv5var5agbhd2mcn7lciwip0j49gxka73f0csvh3hvb1di068gn";
+      rev = "d98b1b443823";
+      sha256 = "1vzwpy56g056dsq304xga3d55jg2cxx89bijpfwjlhwyqyskybsz";
     };
   }
   {
@@ -41,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "a43fa875dd82";
-      sha256 = "0xvwwaqcj02a9n8izs4zrlg8vvz7wffli955i93nc34m1f0w8vyg";
+      rev = "c178f38b412c";
+      sha256 = "1r6v8xnvb4z5vdckbj6vd08kn6h4ivr9hvdpgq4drj6l1mp79rf7";
     };
   }
   {
@@ -50,8 +32,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
index bd17fa054d33..a01b0ab2061c 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
@@ -1,6 +1,7 @@
 {
   stdenv, fetchzip,
 
+  iptables ? null,
   iproute ? null,
   libmnl ? null,
   makeWrapper ? null,
@@ -13,14 +14,14 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20190913";
+  version = "1.0.20200102";
 
   src = fetchzip {
-    url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "08ns5d6xbl0qylb98mml0yh0yp837a1sm3hvpra21by1dvx8k0dg";
+    url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
+    sha256 = "0ry3vbckcbkx43bz0bqinrd1hkll67jbwb72ak0b41wkxjsc8fmv";
   };
 
-  sourceRoot = "source/src/tools";
+  sourceRoot = "source/src";
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isLinux libmnl;
@@ -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
@@ -50,10 +51,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tools for the WireGuard secure network tunnel";
-    downloadPage = "https://git.zx2c4.com/WireGuard/refs/";
+    downloadPage = "https://git.zx2c4.com/wireguard-tools/refs/";
     homepage = "https://www.wireguard.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ma27 xwvvvvwx ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wrk/default.nix b/nixpkgs/pkgs/tools/networking/wrk/default.nix
index 9c8f46bef07b..98705430c2f0 100644
--- a/nixpkgs/pkgs/tools/networking/wrk/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wrk/default.nix
@@ -22,13 +22,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
-  
+  NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
+
   installPhase = ''
     mkdir -p $out/bin
     cp wrk $out/bin
   '';
-  
+
   meta = with stdenv.lib; {
     description = "HTTP benchmarking tool";
     homepage = https://github.com/wg/wrk;
diff --git a/nixpkgs/pkgs/tools/networking/wstunnel/default.nix b/nixpkgs/pkgs/tools/networking/wstunnel/default.nix
new file mode 100644
index 000000000000..2488d874e6db
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/wstunnel/default.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, async, base, base64-bytestring, binary, bytestring
+, classy-prelude, cmdargs, connection, hslogger, mtl, network
+, network-conduit-tls, stdenv, streaming-commons, text
+, unordered-containers, websockets
+, lib, fetchFromGitHub, fetchpatch
+}:
+
+mkDerivation rec {
+  pname = "wstunnel";
+  version = "unstable-2019-01-28";
+
+  src = fetchFromGitHub {
+    owner = "erebe";
+    repo = pname;
+    rev = "78cc5a5f1aa4dbcb25fa9b0efc9cfef3640672e4";
+    sha256 = "17y3yn7qg1h7jx9xs041sw63g51vyns236f60d2m2mghi49lm9i2";
+  };
+
+  patches = [
+    # Support GHC 8.6   https://github.com/erebe/wstunnel/pull/18
+    (fetchpatch {
+      url = "https://github.com/erebe/wstunnel/commit/8f348fea4dbf75874d5d930334377843763335ab.patch";
+      sha256 = "0a66jx7k97j3iyr7j5npbyq1lkhzz74r81mkas4nig7z3hny1gn9";
+    })
+  ];
+
+  isLibrary = false;
+  isExecutable = true;
+
+  libraryHaskellDepends = [
+    async base base64-bytestring binary bytestring classy-prelude
+    connection hslogger mtl network network-conduit-tls
+    streaming-commons text unordered-containers websockets
+  ];
+
+  executableHaskellDepends = [
+    base bytestring classy-prelude cmdargs hslogger text
+  ];
+
+  testHaskellDepends = [ base text ];
+
+  homepage = "https://github.com/erebe/wstunnel";
+  description = "UDP and TCP tunnelling over WebSocket";
+  maintainers = with lib.maintainers; [ gebner ];
+  license = lib.licenses.bsd3;
+
+}
diff --git a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
index 4b39594d84ee..01453379022c 100644
--- a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xl2tpd";
-  version = "1.3.14";
+  version = "1.3.15";
 
   src = fetchFromGitHub {
     owner = "xelerance";
     repo = "xl2tpd";
     rev = "v${version}";
-    sha256 = "1c2ahxz2zmmxwmk951d2qhijgz67zhwa1hn0r59fgz0y14w22myi";
+    sha256 = "0ppwza8nwm1av1vldw40gin9wrjrs4l9si50jad414js3k8ycaag";
   };
 
   buildInputs = [ libpcap ];
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/change-runtime-dir.patch b/nixpkgs/pkgs/tools/networking/yggdrasil/change-runtime-dir.patch
new file mode 100644
index 000000000000..b4edc6a83871
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/change-runtime-dir.patch
@@ -0,0 +1,12 @@
+diff -ruN a/src/defaults/defaults_linux.go b/src/defaults/defaults_linux.go
+--- a/src/defaults/defaults_linux.go	2019-06-17 10:23:09.495613784 -0700
++++ b/src/defaults/defaults_linux.go	2019-07-01 10:17:11.295669440 -0700
+@@ -7,7 +7,7 @@
+ func GetDefaults() platformDefaultParameters {
+ 	return platformDefaultParameters{
+ 		// Admin
+-		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
++		DefaultAdminListen: "unix:///var/run/yggdrasil/yggdrasil.sock",
+ 
+ 		// Configuration (used for yggdrasilctl)
+ 		DefaultConfigFile: "/etc/yggdrasil.conf",
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
new file mode 100644
index 000000000000..ca10adae0e44
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "yggdrasil";
+  version = "0.3.12";
+
+  src = fetchFromGitHub {
+    owner = "yggdrasil-network";
+    repo = "yggdrasil-go";
+    rev = "v${version}";
+    sha256 = "03ywxamjcnhcr20vm9pn3rq3hqq49i6rfdvx44czzr30h8xp8dhw";
+  };
+
+  modSha256 = "1vqk0jyqc1qcryi247r5pbvfjw3m48l028fb2mrq1xqqfkjqrr85";
+
+  # Change the default location of the management socket on Linux
+  # systems so that the yggdrasil system service unit does not have to
+  # be granted write permission to /run.
+  patches = [ ./change-runtime-dir.patch ];
+
+  subPackages = [ "cmd/yggdrasil" "cmd/yggdrasilctl" ];
+
+  buildFlagsArray = ''
+    -ldflags=
+      -X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}
+      -X github.com/yggdrasil-network/yggdrasil-go/src/version.buildName=${pname}
+      -s -w
+  '';
+
+  meta = with lib; {
+    description = "An experiment in scalable routing as an encrypted IPv6 overlay network";
+    homepage = "https://yggdrasil-network.github.io/";
+    license = licenses.lgpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ gazally lassulus ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ytcc/default.nix b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
index d489d84d1cc6..4675dac5f47f 100644
--- a/nixpkgs/pkgs/tools/networking/ytcc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/zerotierone/default.nix b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
index 367c518ad828..da5b8837523d 100644
--- a/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, openssl, lzo, zlib, iproute, which, ronn }:
+{ stdenv, buildPackages, fetchFromGitHub, openssl, lzo, zlib, iproute, ronn }:
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "1b9qm01ximz2j6yimp7bs86h4kaz8jsjxxb6c2js43dzp98k0m94";
+    sha256 = "1f8hh05wx59dc0fbzdzwq05x0gmrdfl4v103wbcyjmzsbazaw6p3";
   };
 
   preConfigure = ''
@@ -20,11 +20,14 @@ stdenv.mkDerivation rec {
 
       patchShebangs ./doc/build.sh
       substituteInPlace ./doc/build.sh \
-        --replace '/usr/bin/ronn' '${ronn}/bin/ronn' \
-        --replace 'ronn -r' '${ronn}/bin/ronn -r'
+        --replace '/usr/bin/ronn' '${buildPackages.ronn}/bin/ronn' \
   '';
 
-  buildInputs = [ openssl lzo zlib iproute which ronn ];
+
+  nativeBuildInputs = [ ronn ];
+  buildInputs = [ openssl lzo zlib iproute ];
+
+  enableParallelBuilding = true;
 
   installPhase = ''
     install -Dt "$out/bin/" zerotier-one
@@ -43,7 +46,7 @@ stdenv.mkDerivation rec {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = https://www.zerotier.com;
     license = licenses.bsl11;
-    maintainers = with maintainers; [ sjmackenzie zimbatm ehmry obadz ];
-    platforms = platforms.x86_64 ++ platforms.aarch64;
+    maintainers = with maintainers; [ sjmackenzie zimbatm ehmry obadz danielfullmer ];
+    platforms = with platforms; x86_64 ++ aarch64 ++ arm;
   };
 }
diff --git a/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix b/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix
index 6c5f0660d127..946710b1fdde 100644
--- a/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "nixpkgs-fmt";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18kvsgl3kpla33dp1nbpd1kdgndfqcmlwwpjls55fp4mlczf8lcx";
+    sha256 = "1iylldgyvrcarfigpbhicg6j6qyipfiqn7gybza7qajfzyprjqfa";
   };
 
-  cargoSha256 = "0wfx7shsdqrwbnzr2a0fnly1kd93mxbm96zjq5pzrq94lphkhqhz";
+  cargoSha256 = "04my7dlp76dxs1ydy2sbbca8sp3n62wzdxyc4afcmrg8anb0ghaf";
 
   meta = with lib; {
     description = "Nix code formatter for nixpkgs";
diff --git a/nixpkgs/pkgs/tools/package-management/apt/default.nix b/nixpkgs/pkgs/tools/package-management/apt/default.nix
index cbb4ad4591e9..0438e340b212 100644
--- a/nixpkgs/pkgs/tools/package-management/apt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
new file mode 100644
index 000000000000..1a60675080d8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, openssl, pkg-config, Security, libiconv }:
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-audit";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "RustSec";
+    repo = "cargo-audit";
+    rev = "v${version}";
+    sha256 = "1977ykablfi4mc6j2iil0bxc6diy07vi5hm56xmqj3n37ziavf1m";
+  };
+
+  cargoSha256 = "0zbnsq0cif0yppn8ygxhcsrshkbf1c801f8waqqb2d1rjsrhb93y";
+
+  buildInputs = [ openssl libiconv ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  nativeBuildInputs = [ pkg-config ];
+
+  # The tests require network access which is not available in sandboxed Nix builds.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Audit Cargo.lock files for crates with security vulnerabilities";
+    homepage = "https://rustsec.org";
+    license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ basvandijk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix
new file mode 100644
index 000000000000..d9e0630e6ff5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-deb";
+  version = "1.23.0";
+
+  src = fetchFromGitHub {
+    owner = "mmstick";
+    repo = "cargo-deb";
+    rev = "v${version}";
+    sha256 = "0jjhbs48f0rprzxnfgav6mjbyvcqnr7xq1qgyjxwd61z8g3m8hx8";
+  };
+
+  buildInputs = with stdenv; lib.optionals isDarwin [ Security ];
+
+  cargoSha256 = "03z9hq873jfsbssnd3kr5vz9lx9mvhb1navb2glm6kkw1k2zm4d2";
+
+  meta = with stdenv.lib; {
+    description = "Generate Debian packages from information in Cargo.toml";
+    homepage = "https://github.com/mmstick/cargo-deb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-deps/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-deps/default.nix
new file mode 100644
index 000000000000..8a43fb3cf11b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/cargo-deps/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-deps";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "m-cat";
+    repo = pname;
+    rev = "ab93f5655900e49fb0360ccaf72b2b61b6b428ef";
+    sha256 = "16181p7ghvy9mqippg1xi2cw7yxvicis8v6n39wly5qw05i57aw2";
+  };
+
+  cargoSha256 = "1a9svdw1cgk6s7gqpsq3r25wxa2gr2xddqkc1cjk7hf6sk327cpv";
+
+  meta = with lib; {
+    description = "Cargo subcommand for building dependency graphs of Rust projects";
+    homepage = https://github.com/m-cat/cargo-deps;
+    license = licenses.mit;
+    maintainers = with maintainers; [ arcnmx ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
index 8ddb8eb231b3..0adc2add96d0 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
@@ -1,29 +1,28 @@
 { stdenv, lib, darwin
 , rustPlatform, fetchFromGitHub
-, openssl, pkgconfig }:
+, openssl, pkg-config, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.3.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05b64bm9441crw74xlywjg2y3psljk2kf9xsrixaqwbnnahi0mm5";
+    sha256 = "0y0sq0kll6bg0qrfdyas8rcx5dj50j9f05qx244kv7vqxp2q25jq";
   };
 
-  cargoSha256 = "1hjjw3i35vqr6nxsv2m3izq4x8c2a6wvl5c2kjlpg6shy9j2mjaa";
+  cargoSha256 = "0prd53p20cha2y2qp8dmq0ywd32f6jm8mszdkbi4x606dj9bcgbl";
 
-  nativeBuildInputs = lib.optional (!stdenv.isDarwin) pkgconfig;
-  buildInputs = lib.optional (!stdenv.isDarwin) openssl;
-  propagatedBuildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "A utility for managing cargo dependencies from the command line";
     homepage = https://github.com/killercup/cargo-edit;
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ gerschtli jb55 ];
+    maintainers = with maintainers; [ gerschtli jb55 filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch b/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
index 7137f8b7fb18..c6c4e3f62e1a 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
+++ b/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
@@ -1,15 +1,9 @@
-commit ed7cd525d00a0f8517894cfec6e3e277f630b15f
-Author: Bas van Dijk <v.dijk.bas@gmail.com>
-Date:   Mon Jun 24 00:13:13 2019 +0200
-
-    Add Cargo.lock
-
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..b552c16
+index 0000000..20311b5
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,285 @@
+@@ -0,0 +1,429 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -18,122 +12,169 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "autocfg"
-+version = "0.1.4"
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.31"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.15 (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.66 (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.28"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bstr"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "cargo-license"
-+version = "0.2.0"
++version = "0.3.0"
 +dependencies = [
 + "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "csv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getopts 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cargo_metadata"
-+version = "0.6.4"
++version = "0.9.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.37"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "csv"
-+version = "1.0.7"
++name = "clap"
++version = "2.33.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "csv-core 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "csv-core"
-+version = "0.1.5"
++name = "csv"
++version = "1.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (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.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "error-chain"
-+version = "0.12.1"
++name = "csv-core"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.31 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (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.31 (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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.38 (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.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "getopts"
-+version = "0.2.19"
++version = "0.2.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -142,42 +183,65 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "libc"
-+version = "0.2.58"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.0"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "proc-macro-error"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (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.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "0.4.30"
++version = "1.0.6"
 +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)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "quote"
-+version = "0.6.12"
++version = "1.0.2"
++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)",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.1.8"
 +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)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rustc-demangle"
-+version = "0.1.15"
++version = "0.1.16"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "ryu"
-+version = "0.2.8"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -186,7 +250,7 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -196,48 +260,82 @@ index 0000000..b552c16
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.93"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.93"
++version = "1.0.104"
 +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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.38 (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.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.39"
++version = "1.0.44"
 +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 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (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.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "structopt"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "structopt-derive"
++version = "0.3.5"
++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-macro-error 0.2.6 (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.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "syn"
-+version = "0.15.38"
++version = "1.0.11"
 +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.12 (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)",
++ "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.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.38 (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.11 (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 = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -245,53 +343,93 @@ index 0000000..b552c16
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "unicode-segmentation"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "unicode-width"
-+version = "0.1.5"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "version_check"
-+version = "0.1.5"
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
++"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"
-+"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
-+"checksum backtrace 0.3.31 (registry+https://github.com/rust-lang/crates.io-index)" = "e0f77aa27f55a4beb477ff6bc4d9bf72f90eb422b19c1d8e5a644b8aeb674d66"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e5d1b4d380e1bab994591a24c2bdd1b054f64b60bef483a8c598c7c345bc3bbe"
-+"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
-+"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+"checksum csv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9044e25afb0924b5a5fc5511689b0918629e85d68ea591e5e87fbf1e85ea1b3b"
-+"checksum csv-core 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5cdef62f37e6ffe7d1f07a381bc0db32b7a3ff1cac0de56cb0d81e71f53d65"
-+"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
-+"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 getopts 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "72327b15c228bfe31f1390f93dd5e9279587f0463836393c9df719ce62a3e450"
++"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"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 bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46e3374c604fb39d1a2f35ed5e4a4e30e60d01fab49446e08f1b3e9a90aef202"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
++"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
++"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 getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
++"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
 +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
-+"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
++"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aeccfe4d5d8ea175d5f0e4a2ad0637e0f4121d63bd99d356fb1f39ab2e7c6097"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
++"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
 +"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.93 (registry+https://github.com/rust-lang/crates.io-index)" = "960e29cf7004b3b6e65fc5002981400eb3ccc017a08a2406940823e58e7179a9"
-+"checksum serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)" = "c4cce6663696bd38272e90bf34a0267e1226156c33f52d3f3915a2dd5d802085"
-+"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
-+"checksum syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)" = "37ea458a750f59ab679b47fef9b6722c586c5742f4cfe18a120bbc807e5e01fd"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "30b3a3e93f5ad553c38b3301c8a0a0cec829a36783f6a0c467fc4bf553a5f5bf"
++"checksum structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea692d40005b3ceba90a9fe7a78fa8d4b82b0ce627eebbffc329aab850f3410e"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 +"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-+"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++"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-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
index c8a43bda64a4..f697c57d3e8c 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
@@ -1,18 +1,18 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-license";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "onur";
     repo = "cargo-license";
     rev = "v${version}";
-    sha256 = "0xxgl9d695ncrxz29125wag285dwxpwc3fym0ixgj5fqbnkbx75g";
+    sha256 = "05a2af84gjyfzhsln0afg16h02pr56jng4xlsg21hicyi1kxjwlf";
   };
 
   cargoPatches = [ ./add-Cargo.lock.patch ];
 
-  cargoSha256 = "0jc84v8fxzzyfkcnfr9vrdblw5vdk54nzpch5lcarzfsarncqxw7";
+  cargoSha256 = "0ksxvbrx8d8d09i167mdrhz5m46nbr6l0vyn7xpdanmha31xiaz9";
 
   meta = with lib; {
     description = "Cargo subcommand to see license of dependencies";
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch b/nixpkgs/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
new file mode 100644
index 000000000000..7e0528eda2ac
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
@@ -0,0 +1,1283 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0f18cc6
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1277 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler32"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++
++[[package]]
++name = "backtrace"
++version = "0.3.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++dependencies = [
++ "backtrace-sys",
++ "cfg-if",
++ "libc",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "backtrace-sys"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "bstr"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "bytesize"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "716960a18f978640f25101b5cbf1c6f6b0d3192fab36a2d98ca96f0ecbe41010"
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++dependencies = [
++ "ppv-lite86",
++]
++
++[[package]]
++name = "cargo"
++version = "0.40.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03504435a39de1303decb9c9a7416e875f16d4b94769d4d0dd5e1bfb21229640"
++dependencies = [
++ "atty",
++ "bytesize",
++ "clap",
++ "core-foundation",
++ "crates-io",
++ "crossbeam-utils",
++ "crypto-hash",
++ "curl",
++ "curl-sys",
++ "env_logger 0.6.2",
++ "failure",
++ "filetime",
++ "flate2",
++ "fs2",
++ "fwdansi",
++ "git2",
++ "git2-curl",
++ "glob",
++ "hex 0.4.0",
++ "home",
++ "humantime",
++ "ignore",
++ "im-rc",
++ "jobserver",
++ "lazy_static",
++ "lazycell",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "memchr",
++ "miow",
++ "num_cpus",
++ "opener",
++ "percent-encoding",
++ "remove_dir_all",
++ "rustc-workspace-hack",
++ "rustfix",
++ "same-file",
++ "semver",
++ "serde",
++ "serde_ignored",
++ "serde_json",
++ "shell-escape",
++ "strip-ansi-escapes",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "toml",
++ "unicode-width",
++ "url",
++ "walkdir",
++ "winapi",
++]
++
++[[package]]
++name = "cargo-outdated"
++version = "0.9.1"
++dependencies = [
++ "cargo",
++ "docopt",
++ "env_logger 0.7.1",
++ "failure",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "tabwriter",
++ "tempfile",
++ "termcolor",
++ "toml",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++dependencies = [
++ "jobserver",
++ "num_cpus",
++]
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim 0.8.0",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "commoncrypto"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"
++dependencies = [
++ "commoncrypto-sys",
++]
++
++[[package]]
++name = "commoncrypto-sys"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
++
++[[package]]
++name = "crates-io"
++version = "0.28.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9dc57b7035c84bcaaa14d89221491b624a32977c230ce6bb77ae191e880c48e1"
++dependencies = [
++ "curl",
++ "failure",
++ "percent-encoding",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "url",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "crossbeam-channel"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
++dependencies = [
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++dependencies = [
++ "cfg-if",
++ "lazy_static",
++]
++
++[[package]]
++name = "crypto-hash"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca"
++dependencies = [
++ "commoncrypto",
++ "hex 0.3.2",
++ "openssl",
++ "winapi",
++]
++
++[[package]]
++name = "curl"
++version = "0.4.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++dependencies = [
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
++dependencies = [
++ "cc",
++ "libc",
++ "libnghttp2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi",
++]
++
++[[package]]
++name = "docopt"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
++dependencies = [
++ "lazy_static",
++ "regex",
++ "serde",
++ "strsim 0.9.3",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++dependencies = [
++ "backtrace",
++ "failure_derive",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
++dependencies = [
++ "cfg-if",
++ "crc32fast",
++ "libc",
++ "libz-sys",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "fs2"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "fwdansi"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
++dependencies = [
++ "memchr",
++ "termcolor",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "git2"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7c1af51ea8a906616af45a4ce78eacf25860f7a13ae7bf8a814693f0f4037a26"
++dependencies = [
++ "bitflags",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "openssl-probe",
++ "openssl-sys",
++ "url",
++]
++
++[[package]]
++name = "git2-curl"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd6527e480187ce19aaf4fa6acfb7657b25628ce31cb8ffabdfca3bf731524c5"
++dependencies = [
++ "curl",
++ "git2",
++ "log",
++ "url",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++
++[[package]]
++name = "globset"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hex"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
++
++[[package]]
++name = "hex"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
++
++[[package]]
++name = "home"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
++dependencies = [
++ "scopeguard",
++ "winapi",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "idna"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
++dependencies = [
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ec16832258409d571aaef8273f3c3cc5b060d784e159d1a0f3b0017308f84a7"
++dependencies = [
++ "crossbeam-channel",
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "im-rc"
++version = "13.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806"
++dependencies = [
++ "rustc_version",
++ "sized-chunks",
++ "typenum",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++
++[[package]]
++name = "jobserver"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160"
++dependencies = [
++ "getrandom",
++ "libc",
++ "log",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++
++[[package]]
++name = "libgit2-sys"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4870c781f6063efb83150cd22c1ddf6ecf58531419e7570cdcced46970f64a16"
++dependencies = [
++ "cc",
++ "libc",
++ "libssh2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++]
++
++[[package]]
++name = "libnghttp2-sys"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02254d44f4435dd79e695f2c2b83cd06a47919adea30216ceaf0c57ca0a72463"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "libssh2-sys"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fcd5a428a31cbbfe059812d74f4b6cd3b9b7426c2bdaec56993c5365da1c328"
++dependencies = [
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "log"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
++dependencies = [
++ "adler32",
++]
++
++[[package]]
++name = "miow"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "396aa0f2003d7df8395cb93e09871561ccc3e785f0acb369170e8cc74ddf9226"
++dependencies = [
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "opener"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13117407ca9d0caf3a0e74f97b490a7e64c0ae3aa90a8b7085544d0c37b6f3ae"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "lazy_static",
++ "libc",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.53"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
++
++[[package]]
++name = "quote"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++dependencies = [
++ "c2-chacha",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++
++[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++
++[[package]]
++name = "rustc-workspace-hack"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "rustfix"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7150ac777a2931a53489f5a41eb0937b84e3092a20cd0e73ad436b65b507f607"
++dependencies = [
++ "failure",
++ "log",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++
++[[package]]
++name = "same-file"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
++dependencies = [
++ "lazy_static",
++ "winapi",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++dependencies = [
++ "semver-parser",
++ "serde",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++
++[[package]]
++name = "serde"
++version = "1.0.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_ignored"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7248fdcbd17d3f2604fc2a02d0ecc844d9a7bf52bf95fc196d9f0a38f6da6a0e"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "shell-escape"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "170a13e64f2a51b77a45702ba77287f5c6829375b04a69cf2222acd17d0cfab9"
++
++[[package]]
++name = "sized-chunks"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f01db57d7ee89c8e053245deb77040a6cc8508311f381c88749c33d4b9b78785"
++dependencies = [
++ "typenum",
++]
++
++[[package]]
++name = "smallvec"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
++
++[[package]]
++name = "socket2"
++version = "0.3.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "strip-ansi-escapes"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d63676e2abafa709460982ddc02a3bb586b6d15a49b75c212e06edd3933acee"
++dependencies = [
++ "vte",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "strsim"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
++
++[[package]]
++name = "syn"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
++]
++
++[[package]]
++name = "tabwriter"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9128e3a9149e51494cad59712a286e149fcb74e443d2298d69bd6eaa42cc4ebb"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
++dependencies = [
++ "filetime",
++ "libc",
++ "redox_syscall",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
++dependencies = [
++ "wincolor",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++dependencies = [
++ "lazy_static",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "typenum"
++version = "1.11.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++dependencies = [
++ "matches",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++dependencies = [
++ "smallvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++
++[[package]]
++name = "url"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
++dependencies = [
++ "idna",
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "utf8parse"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++
++[[package]]
++name = "vte"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4f42f536e22f7fcbb407639765c8fd78707a33109301f834a594758bedd6e8cf"
++dependencies = [
++ "utf8parse",
++]
++
++[[package]]
++name = "walkdir"
++version = "2.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
++dependencies = [
++ "same-file",
++ "winapi",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "wincolor"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++dependencies = [
++ "winapi",
++ "winapi-util",
++]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
index 71567df94036..7d684d943b90 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "unstable-2019-04-13";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
-    rev = "ce4b6baddc94b77a155abbb5a4fa4d3b31a45598";
-    sha256 = "0x00vn0ldnm2hvndfmq4g4q5w6axyg9vsri3i5zxhmir7423xabp";
+    rev = "v${version}";
+    sha256 = "02gsarwm4gjkr9m4sfbjwp37xmqhch8qpyy027bxqkg8iyipxm69";
   };
 
-  cargoSha256 = "1xqii2z0asgkwn1ny9n19w7d4sjz12a6i55x2pf4cfrciapdpvdl";
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "1ywmrvkwwwwh99l4j8vc4cyk8qjd0jx8hn68yr2h31ya1bzcqbd1";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ]
@@ -26,6 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = https://github.com/kbknapp/cargo-outdated;
     license = with licenses; [ asl20 /* or */ mit ];
     platforms = platforms.all;
-    maintainers = [ maintainers.sondr3 ];
+    maintainers = with maintainers; [ sondr3 ivan ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh b/nixpkgs/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
new file mode 100755
index 000000000000..21ee27c59b74
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This updates cargo-lock.patch for the cargo-outdated version listed in default.nix.
+
+set -eu -o verbose
+
+here=$PWD
+version=$(cat default.nix | grep '^  version = "' | cut -d '"' -f 2)
+checkout=$(mktemp -d)
+git clone -b "v$version" --depth=1 https://github.com/kbknapp/cargo-outdated "$checkout"
+cd "$checkout"
+
+cargo generate-lockfile
+git add -f Cargo.lock
+git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
+
+cd "$here"
+rm -rf "$checkout"
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index eb3977e84e61..3e3ba47be056 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, rustPlatform, fetchFromGitHub, Security }:
+{ stdenv, rustPlatform, fetchFromGitHub, Security, openssl, pkg-config }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.12.4";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "sunng87";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "02rx25dd3klprwr1qmn5vn4vz4244amk2ky4nqfmi4vq3ygrhd1c";
+    sha256 = "1w9w43i5br94vg5m4idabh67p4ffsx2lmc2g0ak2k961vl46wr0q";
   };
 
-  cargoSha256 = "18nbmq8j58jlka1lsrx2y0bhb9l5f3wyvcr1zmmda3hvc3vm7kla";
+  cargoSha256 = "075fvvd4c8f3kz6i6ny835h6jpa3c1v3miwfwwrdyy49a85lzjyj";
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = ''Cargo subcommand "release": everything about releasing a rust crate'';
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-tree/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-tree/default.nix
index 8c3035ae79aa..add08c50fccf 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-tree/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-tree/default.nix
@@ -1,17 +1,16 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tree";
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "sfackler";
     repo = "cargo-tree";
-    rev = "v${version}";
-
-    sha256 = "12z0sa7g79x46q2ybpy6i9rf1x4cnwajw8dsjzra2qhssyp8rp9c";
+    rev = "37030742fbf83106707525913ab6c4c3c701cd0e";
+    sha256 = "1mi52n02j9dmi19af6js0vmmqnl8rf4zxind3cxh401530cd8ml4";
   };
 
-  cargoSha256 = "0ibmgyiqa53m9xfvl726w1sq37lbdp7vzyc76gwcp1zvzkcv2860";
+  cargoSha256 = "12p9dqlxa1b1sx8572w7hj0rlkkpv3k440pffdyjgyx4s1r9m0s0";
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
@@ -20,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     description = "A cargo subcommand that visualizes a crate's dependency graph in a tree-like format";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ jD91mZM2 ];
+    homepage = "https://crates.io/crates/cargo-tree";
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/clib/default.nix b/nixpkgs/pkgs/tools/package-management/clib/default.nix
index 60c77db44d82..75c47dda0c40 100644
--- a/nixpkgs/pkgs/tools/package-management/clib/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/clib/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, curl  }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.1";
+  version = "1.11.2";
   pname = "clib";
 
   src = fetchFromGitHub {
     rev    = version;
     owner  = "clibs";
     repo   = "clib";
-    sha256 = "1kl8amlw0106jsvv71a7nifhff1jdvgsrxr7l7hfr75i506q8976";
+    sha256 = "03q5l873zc1dm478f35ibqandypakf47hzqb5gjpnpbcyb2m2jxz";
   };
 
   hardeningDisable = [ "fortify" ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [ curl ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
index 50e071be29c5..2c5bc41e18d6 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
@@ -1,13 +1,17 @@
 { stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintl, libiconv }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.9";
+  name = "disnix-0.9.1";
 
   src = fetchurl {
-    url = https://github.com/svanderburg/disnix/releases/download/disnix-0.9/disnix-0.9.tar.gz;
-    sha256 = "1kc4520zjc1z72mknylfvrsyda9rbmm5c9mw8w13zhdwg3zbna06";
+    url = https://github.com/svanderburg/disnix/releases/download/disnix-0.9.1/disnix-0.9.1.tar.gz;
+    sha256 = "0bidln5xw3raqkvdks9aipis8aaza8asgyapmilnxkkrxgmw7rdf";
   };
 
+  configureFlags = [
+    " --with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/emplace/default.nix b/nixpkgs/pkgs/tools/package-management/emplace/default.nix
new file mode 100644
index 000000000000..bb361fd97c3a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/emplace/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "emplace";
+  version = "0.2.10";
+
+  src = fetchFromGitHub {
+    owner = "tversteeg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1y77cla6bgy8pjb21cawx7cb69hhri4r7gyjkhnjyiixkh945mwj";
+  };
+
+  cargoSha256 = "119llsc8m7qda2cjnd45ndml148z8074f76xygkz6fp3m1c2z3pw";
+
+  meta = with lib; {
+    description = "Mirror installed software on multiple machines";
+    homepage = "https://github.com/tversteeg/emplace";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/home-manager/default.nix b/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
index e1ae6bc88b8e..21b2fad1caa4 100644
--- a/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
@@ -6,13 +6,13 @@
 stdenv.mkDerivation rec {
 
   pname = "home-manager";
-  version = "2019-09-04";
+  version = "2020-01-04";
 
   src = fetchFromGitHub {
     owner = "rycee";
     repo = "home-manager";
-    rev = "1923ac3358cbd2d75352c2db2178314eb4623818";
-    sha256 = "1xdsz62sjh8j3p8jfz449gv9vl01adk3qdyjvbpgi7y5c09ymwg7";
+    rev = "1b7b1bc294e99ab1795fe7dad183c1d2ae58a099";
+    sha256 = "02kwym8n41d5ba9lccnl5q3y10sw35p1da5b66mxldfr6d930pbj";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/package-management/librepo/default.nix b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
index 0c53c1bbbc91..61435cee284d 100644
--- a/nixpkgs/pkgs/tools/package-management/librepo/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  cmakeFlags="-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}";
+  cmakeFlags = ["-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}" ];
 
   buildInputs = [ python libxml2 glib openssl curl check gpgme ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
index b1f3c553bf10..a4acdf0a3413 100644
--- a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "0.13.0";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hfzk4hpk35j070hhpsjjpxhcrrddi6f1z070iypajcw96qz6lli";
+    sha256 = "0yy75iagyrr96y7497hbbizrm59c757mshwicl1b7ni2sn3p63fh";
   };
 
-  modSha256 = "02nkqmljb528ppsr2dw2r3rc83j3qmys3a8v0a1z2b4sq2sv1v7w";
+  modSha256 = "05hcn0k1zb4k4p3aaas7b276jw607cv290np9vmyqxb3khzv4vjg";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   meta = with lib; {
     description = "A simple deb and rpm packager written in Go";
diff --git a/nixpkgs/pkgs/tools/package-management/nix-du/default.nix b/nixpkgs/pkgs/tools/package-management/nix-du/default.nix
index 870e6ce67b92..74543cef83b1 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-du/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-du/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchFromGitHub, rustPlatform, nix, boost, graphviz, darwin }:
 rustPlatform.buildRustPackage rec {
   pname = "nix-du";
-  version = "unstable-2019-07-15";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "symphorien";
     repo = "nix-du";
-    rev = "e6e927c15e75f7c2e63f7f3c181dc6b257f6fd9e";
-    sha256 = "08jyp078h9jpb9qfqg5mdbq29rl8a006n94hqk3yk6gv1s57cfic";
+    rev = "v${version}";
+    sha256 = "149d60mid29s5alv5m3d7jrhyzc6cj7b6hpiq399gsdwzgxr00wq";
   };
-  cargoSha256 = "071gbhxbvnwi7n3zpy7bmlprzir0sl0f0pb191xg2ynw678prd7v";
+  cargoSha256 = "18kb4car5nzch3vpl6z1499silhs3fyn8c6xj3rzk94mm2m9srg4";
+  verifyCargoDeps = true;
 
   doCheck = true;
   checkInputs = [ graphviz ];
diff --git a/nixpkgs/pkgs/tools/package-management/nix-index/default.nix b/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
index 1d025581b614..b3a16633c1d9 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
     rev = "v${version}";
     sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
   };
-  cargoSha256 = "0h8a5bnv32rkvywn8xdbny38m24bi6p9scwljgdk8k067pn3qk34";
+  cargoSha256 = "06idjb5h5fahqklyxnss2zffrvvfbcw0hjh1mcrf1872s4x78ags";
   nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ openssl curl ]
     ++ stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix b/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix
index b191d1c32111..63f948db9db3 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix
index 518c1baad5ad..28413971c004 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -10,7 +10,7 @@ let
 
 common =
   { lib, stdenv, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz
-  , pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline
+  , pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json
   , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns, jq
   , busybox-sandbox-shell
   , storeDir
@@ -39,7 +39,7 @@ common =
         ++ lib.optionals (!is20) [ curl perl ]
         ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook_xsl_ns jq ];
 
-      buildInputs = [ curl openssl sqlite xz bzip2 ]
+      buildInputs = [ curl openssl sqlite xz bzip2 nlohmann_json ]
         ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
         ++ lib.optionals is20 [ brotli boost editline ]
         ++ lib.optional withLibseccomp libseccomp
@@ -57,7 +57,7 @@ common =
       propagatedBuildInputs = [ boehmgc ];
 
       # Seems to be required when using std::atomic with 64-bit types
-      NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
+      NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
 
       preConfigure =
         # Copy libboost_context so we don't get all of Boost in our closure.
@@ -94,9 +94,9 @@ common =
            # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
         ++ lib.optional (!withLibseccomp) "--disable-seccomp-sandboxing";
 
-      makeFlags = "profiledir=$(out)/etc/profile.d";
+      makeFlags = [ "profiledir=$(out)/etc/profile.d" ];
 
-      installFlags = "sysconfdir=$(out)/etc";
+      installFlags = [ "sysconfdir=$(out)/etc" ];
 
       doInstallCheck = true; # not cross
 
@@ -174,10 +174,10 @@ in rec {
   };
 
   nixStable = callPackage common (rec {
-    name = "nix-2.3";
+    name = "nix-2.3.2";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "b1d1b4d87390941fc64b19776f1ed9e3871231d38f5a1f295dd13925acd3a98d";
+      sha256 = "9fea4b52db0b296dcf05d36f7ecad9f48396af3a682bb21e31f8d04c469beef8";
     };
 
     inherit storeDir stateDir confDir boehmgc;
@@ -201,12 +201,12 @@ in rec {
 
   nixFlakes = lib.lowPrio (callPackage common rec {
     name = "nix-2.4${suffix}";
-    suffix = "pre20190922_382aa05";
+    suffix = "pre20191022_9cac895";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "382aa05ff71b61379f5c2792eaf517bdf4a5c5bf";
-      hash = "sha256-k4vV3Q1YVmLd+49AETnsSGetpDjD6sdd9yBrnpi8Q3g=";
+      rev = "9cac895406724e0304dff140379783c4d786e855";
+      hash = "sha256-Y1cdnCNoJmjqyC/a+Nt2N+5L3Ttg7K7zOD7gmtg1QzA=";
     };
     fromGit = true;
 
diff --git a/nixpkgs/pkgs/tools/package-management/nix-review/default.nix b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
index bffe04e78d96..928c946de2be 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-review/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -7,14 +7,14 @@
 }:
 
 python3.pkgs.buildPythonApplication rec {
-  pname = "nix-review";
-  version = "2.0.1";
+  pname = "nixpkgs-review";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
-    repo = "nix-review";
+    repo = "nixpkgs-review";
     rev = version;
-    sha256 = "19x0wbb8annmzi67r79112j9kjzz99n3qd6adh80iqx2dh47pk5g";
+    sha256 = "0rx0ld2ihsvlr1yiap5cq7h227jr79zf3xhkninh2m00x384s6bd";
   };
 
   makeWrapperArgs = [
@@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
-    homepage = https://github.com/Mic92/nix-review;
+    homepage = https://github.com/Mic92/nixpkgs-review;
     license = licenses.mit;
     maintainers = [ maintainers.mic92 ];
   };
diff --git a/nixpkgs/pkgs/tools/package-management/nox/default.nix b/nixpkgs/pkgs/tools/package-management/nox/default.nix
index c22a8a5e85ec..673fc89e98db 100644
--- a/nixpkgs/pkgs/tools/package-management/nox/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nox/default.nix
@@ -19,6 +19,7 @@ python3Packages.buildPythonApplication rec {
       click
       requests
       characteristic
+      setuptools
     ];
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/package-management/opkg/default.nix b/nixpkgs/pkgs/tools/package-management/opkg/default.nix
index 05f43cf29b1b..1aae0290d5a7 100644
--- a/nixpkgs/pkgs/tools/package-management/opkg/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.1";
+  version = "0.4.2";
   pname = "opkg";
   src = fetchurl {
     url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "0hqa4lqxs3w9fmn9idzfscjkm23jw5asby43v0szcxrqgl1ixb25";
+    sha256 = "01p1a7hw9q9ixfk01djyy9axs71z1x9dkdnqz7zysmrlqi97i246";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/package-management/packagekit/default.nix b/nixpkgs/pkgs/tools/package-management/packagekit/default.nix
index a82f44008910..a3c3c0d40a99 100644
--- a/nixpkgs/pkgs/tools/package-management/packagekit/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/packagekit/default.nix
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
     "--disable-offline-update"
     "--localstatedir=/var"
     "--sysconfdir=/etc"
-    "--with-dbus-sys=$(out)/etc/dbus-1/system.d"
-    "--with-systemdsystemunitdir=$(out)/lib/systemd/system/"
+    "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
+    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system/"
   ]
   ++ lib.optional enableNixBackend "--enable-nix"
   ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
diff --git a/nixpkgs/pkgs/tools/package-management/pacman/default.nix b/nixpkgs/pkgs/tools/package-management/pacman/default.nix
index 81e8152769b7..cdd0c83574af 100644
--- a/nixpkgs/pkgs/tools/package-management/pacman/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/pacman/default.nix
@@ -1,24 +1,30 @@
-{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig, perl, libarchive, openssl,
-zlib, bzip2, lzma }:
+{ stdenv, lib, fetchurl, pkgconfig, m4, perl, libarchive, openssl, zlib, bzip2,
+lzma, curl, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "pacman";
-  version = "5.1.3";
+  version = "5.2.1";
 
   src = fetchurl {
-    url = "https://git.archlinux.org/pacman.git/snapshot/pacman-${version}.tar.gz";
-    sha256 = "108xp6dhvp02jnzskhgzjmp9jvrxhhkffvmpvs3rrif7vj47xd76";
+    url = "https://sources.archlinux.org/other/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "04pkb8qvkldrayfns8cx4fljl4lyys1dqvlf7b5kkl2z4q3w8c0r";
   };
 
+  enableParallelBuilding = true;
+
   configureFlags = [
     # trying to build docs fails with a2x errors, unable to fix through asciidoc
     "--disable-doc"
 
+    "--sysconfdir=/etc"
     "--localstatedir=/var"
+    "--with-scriptlet-shell=${runtimeShell}"
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ perl libarchive openssl zlib bzip2 lzma ];
+  installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
+
+  nativeBuildInputs = [ pkgconfig m4 ];
+  buildInputs = [ curl perl libarchive openssl zlib bzip2 lzma ];
 
   postFixup = ''
     substituteInPlace $out/bin/repo-add \
diff --git a/nixpkgs/pkgs/tools/package-management/protontricks/default.nix b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
index 24301fc76d87..c8413c56854f 100644
--- a/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.2.5";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "1nkhp1mnvah7zkc1s55jji9lxxbph1miw8dfl9kb72khmaqfzsf0";
+    sha256 = "0snhm9r5igik030iqxm3zd9zvhlnsxi20zac71bbc29qflsi2dhk";
   };
 
   propagatedBuildInputs = [ vdf ];
diff --git a/nixpkgs/pkgs/tools/package-management/reuse/default.nix b/nixpkgs/pkgs/tools/package-management/reuse/default.nix
index 9e5a3f4d6978..13a3a85f082d 100644
--- a/nixpkgs/pkgs/tools/package-management/reuse/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/reuse/default.nix
@@ -4,22 +4,31 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "reuse";
-  version = "0.4.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "fsfe";
     repo = "reuse-tool";
     rev = "v${version}";
-    sha256 = "0gwipwikhxsk0p8wvdl90xm7chfi2jywb1namzznyymifl1vsbgh";
+    sha256 = "04i8zd66cs152h28k9085nqg937wp31pz2yqywaldx1gywijyd8h";
   };
 
-  propagatedBuildInputs = [ debian license-expression requests ];
+  propagatedBuildInputs = [
+    binaryornot
+    boolean-py
+    debian
+    jinja2
+    license-expression
+    requests
+    setuptools
+  ];
 
   checkInputs = [ pytest ];
 
   meta = with lib; {
     description = "A tool for compliance with the REUSE Initiative recommendations";
-    license = with licenses; [ asl20 cc-by-sa-40 cc0 gpl3 ];
+    homepage = "https://github.com/fsfe/reuse-tool";
+    license = with licenses; [ asl20 cc-by-sa-40 cc0 gpl3Plus ];
     maintainers = [ maintainers.FlorianFranzen ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/xbps/default.nix b/nixpkgs/pkgs/tools/package-management/xbps/default.nix
index f83a1498825b..7ff079c0116c 100644
--- a/nixpkgs/pkgs/tools/package-management/xbps/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/xbps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xbps";
-  version = "0.57";
+  version = "0.57.1";
 
   src = fetchFromGitHub {
     owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "1aaa0h265lx85hmcvg7zpg7iiq6dzzlyxqazn1s387ss709i5gxn";
+    sha256 = "0adxhhvn5r6hwwqp42iwwfrslmps30ycndi6v39934v38rf0wx9s";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./cert-paths.patch ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=unused-result" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
 
   postPatch = ''
     # fix unprefixed ranlib (needed on cross)
diff --git a/nixpkgs/pkgs/tools/security/aespipe/default.nix b/nixpkgs/pkgs/tools/security/aespipe/default.nix
index 22fb8848eb91..69bef27258e8 100644
--- a/nixpkgs/pkgs/tools/security/aespipe/default.nix
+++ b/nixpkgs/pkgs/tools/security/aespipe/default.nix
@@ -2,18 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "aespipe";
-  version = "2.4e";
+  version = "2.4f";
 
   src = fetchurl {
     url = "mirror://sourceforge/loop-aes/aespipe/aespipe-v${version}.tar.bz2";
-    sha256 = "0fmr0vk408bf13jydhdmcdhqw31yc9qk329bs9i60alccywapmds";
+    sha256 = "15pg9j27mjzl78mpzkdqd84kdafj0g6j72f8wgjrpp2qkxjy2ddi";
   };
 
-  meta = {
+  configureFlags = [ "--enable-padlock" "--enable-intelaes" ];
+
+  meta = with stdenv.lib; {
     description = "AES encrypting or decrypting pipe";
     homepage = http://loop-aes.sourceforge.net/aespipe.README;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.goibhniu ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/afl/README.md b/nixpkgs/pkgs/tools/security/afl/README.md
index 0b0d4e80fbca..180cad6bc4ca 100644
--- a/nixpkgs/pkgs/tools/security/afl/README.md
+++ b/nixpkgs/pkgs/tools/security/afl/README.md
@@ -4,12 +4,12 @@ Updating the QEMU patches
 When updating to the latest American Fuzzy Lop, make sure to check for
 any new patches to qemu for binary fuzzing support:
 
-https://github.com/mirrorer/afl/tree/master/qemu_mode
+https://github.com/google/AFL/tree/master/qemu_mode
 
 Be sure to check the build script and make sure it's also using the
 right QEMU version and options in `qemu.nix`:
 
-https://github.com/mirrorer/afl/blob/master/qemu_mode/build_qemu_support.sh
+https://github.com/google/AFL/blob/master/qemu_mode/build_qemu_support.sh
 
 `afl-config.h`, `afl-types.h`, and `afl-qemu-cpu-inl.h` are part of
 the afl source code, and copied from `config.h`, `types.h` and
diff --git a/nixpkgs/pkgs/tools/security/afl/default.nix b/nixpkgs/pkgs/tools/security/afl/default.nix
index 05866792af68..df5e3728943e 100644
--- a/nixpkgs/pkgs/tools/security/afl/default.nix
+++ b/nixpkgs/pkgs/tools/security/afl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, callPackage, makeWrapper
+{ stdenv, fetchFromGitHub, callPackage, makeWrapper
 , clang, llvm, which, libcgroup
 }:
 
@@ -9,11 +9,13 @@ let
     else throw "afl: no support for ${stdenv.hostPlatform.system}!";
   afl = stdenv.mkDerivation rec {
     pname = "afl";
-    version = "2.52b";
+    version = "2.56b";
 
-    src = fetchurl {
-      url    = "http://lcamtuf.coredump.cx/afl/releases/${pname}-${version}.tgz";
-      sha256 = "0ig0ij4n1pwry5dw1hk4q88801jzzy2cric6y2gd6560j55lnqa3";
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "1q1g59gkm48aa4cg9h70jx4i2gapmypgp5rzs156b2avd95vwkn1";
     };
     enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/security/afl/libdislocator.nix b/nixpkgs/pkgs/tools/security/afl/libdislocator.nix
index 47e74573b81f..953c59e435cb 100644
--- a/nixpkgs/pkgs/tools/security/afl/libdislocator.nix
+++ b/nixpkgs/pkgs/tools/security/afl/libdislocator.nix
@@ -1,11 +1,11 @@
 { stdenv, afl}:
 
 stdenv.mkDerivation {
-  version = (builtins.parseDrvName afl.name).version;
+  version = stdenv.lib.getVersion afl;
   pname = "libdislocator";
 
   src = afl.src;
-  sourceRoot = "${afl.name}/libdislocator";
+  sourceRoot = "${afl.src.name}/libdislocator";
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/nixpkgs/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch b/nixpkgs/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch
deleted file mode 100644
index 6cc663dc1fb9..000000000000
--- a/nixpkgs/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-A modified version of qemu commit 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
-diff --git a/configure b/configure
-index 9c8aa5a..99ccc17 100755
---- a/configure
-+++ b/configure
-@@ -3855,7 +3855,7 @@ fi
- # check if memfd is supported
- memfd=no
- cat > $TMPC << EOF
--#include <sys/memfd.h>
-+#include <sys/mman.h>
- 
- int main(void)
- {
-diff --git a/util/memfd.c b/util/memfd.c
-index 4571d1a..412e94a 100644
---- a/util/memfd.c
-+++ b/util/memfd.c
-@@ -31,9 +31,7 @@
- 
- #include "qemu/memfd.h"
- 
--#ifdef CONFIG_MEMFD
--#include <sys/memfd.h>
--#elif defined CONFIG_LINUX
-+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
- #include <sys/syscall.h>
- #include <asm/unistd.h>
diff --git a/nixpkgs/pkgs/tools/security/afl/qemu.nix b/nixpkgs/pkgs/tools/security/afl/qemu.nix
index d80d301351f4..479de4b41850 100644
--- a/nixpkgs/pkgs/tools/security/afl/qemu.nix
+++ b/nixpkgs/pkgs/tools/security/afl/qemu.nix
@@ -6,7 +6,6 @@ with stdenv.lib;
 
 let
   qemuName = "qemu-2.10.0";
-  aflName = afl.name;
   cpuTarget = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux-user"
     else if stdenv.hostPlatform.system == "i686-linux" then "i386-linux-user"
     else throw "afl: no support for ${stdenv.hostPlatform.system}!";
@@ -25,12 +24,12 @@ stdenv.mkDerivation {
   sourceRoot = qemuName;
 
   postUnpack = ''
-    cp ${aflName}/types.h $sourceRoot/afl-types.h
-    substitute ${aflName}/config.h $sourceRoot/afl-config.h \
+    cp ${afl.src.name}/types.h $sourceRoot/afl-types.h
+    substitute ${afl.src.name}/config.h $sourceRoot/afl-config.h \
       --replace "types.h" "afl-types.h"
-    substitute ${aflName}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
+    substitute ${afl.src.name}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
       --replace "../../config.h" "afl-config.h"
-    substituteInPlace ${aflName}/qemu_mode/patches/cpu-exec.diff \
+    substituteInPlace ${afl.src.name}/qemu_mode/patches/cpu-exec.diff \
       --replace "../patches/afl-qemu-cpu-inl.h" "afl-qemu-cpu-inl.h"
   '';
 
@@ -46,12 +45,13 @@ stdenv.mkDerivation {
 
   patches = [
     # patches extracted from afl source
-    "../${aflName}/qemu_mode/patches/cpu-exec.diff"
-    "../${aflName}/qemu_mode/patches/elfload.diff"
-    "../${aflName}/qemu_mode/patches/syscall.diff"
+    "../${afl.src.name}/qemu_mode/patches/cpu-exec.diff"
+    "../${afl.src.name}/qemu_mode/patches/elfload.diff"
+    "../${afl.src.name}/qemu_mode/patches/syscall.diff"
+    "../${afl.src.name}/qemu_mode/patches/configure.diff"
+    "../${afl.src.name}/qemu_mode/patches/memfd.diff"
     # nix-specific patches to make installation more well-behaved
     ./qemu-patches/no-etc-install.patch
-    ./qemu-patches/qemu-2.10.0-glibc-2.27.patch
   ];
 
   configureFlags =
diff --git a/nixpkgs/pkgs/tools/security/age/default.nix b/nixpkgs/pkgs/tools/security/age/default.nix
new file mode 100644
index 000000000000..bde597ba9f30
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/age/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "age";
+  version = "1.0.0-beta2";
+  goPackagePath = "github.com/FiloSottile/age";
+  modSha256 = "0kwdwhkxgqjd8h1p7pm4h4xidp2vk840h1j4qya4qz8bjf9vskl9";
+
+  subPackages = [
+    "cmd/age"
+    "cmd/age-keygen"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "FiloSottile";
+    repo = "age";
+    rev = "v${version}";
+    sha256 = "1n1ww8yjw0mg00dvnfmggww9kwp1hls0a85iv6vx9k89mzv8mdrq";
+  };
+
+  meta = with lib; {
+    homepage = "https://age-encryption.org/";
+    description = "Modern encryption tool with small explicit keys";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tazjin ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/aws-okta/default.nix b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
index 9067e6a4dbf8..71732f26934b 100644
--- a/nixpkgs/pkgs/tools/security/aws-okta/default.nix
+++ b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
@@ -1,8 +1,8 @@
-{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv }:
+{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv, libiconv }:
 
 buildGoPackage rec {
   pname = "aws-okta";
-  version = "0.20.1";
+  version = "0.26.3";
 
   goPackagePath = "github.com/segmentio/aws-okta";
 
@@ -10,22 +10,21 @@ buildGoPackage rec {
     owner = "segmentio";
     repo = "aws-okta";
     rev = "v${version}";
-    sha256 = "084lb9rp04vbpzmvsb2l92a4gp7c8g28x4xsagzwkqqpwi3fd15d";
+    sha256 = "0n6xm3yv0lxfapchzfrqi05hk918n4lh1hcp7gq7hybam93rld96";
   };
 
   goDeps = ./deps.nix;
 
-  buildFlags = "--tags release";
+  buildFlags = [ "--tags" "release" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb1 ];
+  buildInputs = [ libusb1  libiconv ];
 
   meta = with stdenv.lib; {
     inherit version;
     description = "aws-vault like tool for Okta authentication";
     license = licenses.mit;
     maintainers = [maintainers.imalsogreg];
-    broken = stdenv.isDarwin;  # test with CoreFoundation 10.11
     platforms = platforms.all;
     homepage = https://github.com/segmentio/aws-okta;
     downloadPage = "https://github.com/segmentio/aws-okta";
diff --git a/nixpkgs/pkgs/tools/security/bettercap/default.nix b/nixpkgs/pkgs/tools/security/bettercap/default.nix
index c72bc6d8b9e8..d0cda57e2d06 100644
--- a/nixpkgs/pkgs/tools/security/bettercap/default.nix
+++ b/nixpkgs/pkgs/tools/security/bettercap/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "bettercap";
-  version = "2.24";
+  version = "2.26.1";
 
   goPackagePath = "github.com/bettercap/bettercap";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f8bzxbcyf0bpyqj6hz4l8dp5xknnb537xy9y5skcznp03i44h55";
+    sha256 = "10qsknyzfpzfpm4gp98jwvw6qmkmx23nw88sbnpl2rlr725l560c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/security/bettercap/deps.nix b/nixpkgs/pkgs/tools/security/bettercap/deps.nix
index ef09a821317e..12aeb1918c6e 100644
--- a/nixpkgs/pkgs/tools/security/bettercap/deps.nix
+++ b/nixpkgs/pkgs/tools/security/bettercap/deps.nix
@@ -1,336 +1,534 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
-    goPackagePath  = "github.com/adrianmo/go-nmea";
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/adrianmo/go-nmea";
     fetch = {
       type = "git";
       url = "https://github.com/adrianmo/go-nmea";
-      rev =  "a32116e4989e2b0e17c057ee378b4d5246add74e";
+      rev = "v1.1.0";
       sha256 = "167iwpwdwfbyghqfrzdfvfpvsmj92x7qqy6sx6yngdw21wd0m44f";
     };
   }
   {
-    goPackagePath  = "github.com/antchfx/jsonquery";
+    goPackagePath = "github.com/antchfx/jsonquery";
     fetch = {
       type = "git";
       url = "https://github.com/antchfx/jsonquery";
-      rev =  "a2896be8c82bb2229d1cf26204863180e34b2b31";
-      sha256 = "0mh6v21i3v3sxqjln7vph6wx3sm79p99010in9am1wh7k30rrjl5";
+      rev = "v1.0.0";
+      sha256 = "04xk7ib059xzl1y87ah41q7vzl3xp99mq8nyccx8hlsng1nc0haw";
     };
   }
   {
-    goPackagePath  = "github.com/antchfx/xpath";
+    goPackagePath = "github.com/antchfx/xpath";
     fetch = {
       type = "git";
       url = "https://github.com/antchfx/xpath";
-      rev =  "ce1d48779e67a1ddfb380995fe532b2e0015919c";
-      sha256 = "0brd75mhd5ix7rz1ijhbggyp53v6g8kz9bc2n7g6zwavzxarfj5p";
+      rev = "v1.1.0";
+      sha256 = "0bgin15841q009yxbyqfqk5b2yk2f4a1mswjkgiqxgarmql0mpsy";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/gatt";
+    goPackagePath = "github.com/bettercap/gatt";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/gatt";
-      rev =  "fac16c0ad797bbccae1fe4acf49761b98f7516e7";
-      sha256 = "08pyg4caw7lzb230l3k4rwgvn68zz6kmrlsdapaf3wa216pphyd9";
+      rev = "569d3d9372bb";
+      sha256 = "0ncg6wd4wkr12l4bs7vyyrd08imyd5y1vdyp7f9shjq9nzv3rzcz";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/nrf24";
+    goPackagePath = "github.com/bettercap/nrf24";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/nrf24";
-      rev =  "aa37e6d0e0eb125cee9ec71ed694db2ad58b509a";
+      rev = "aa37e6d0e0eb";
       sha256 = "1y6ffcj94hk7slajqw3lqpdxzx6iqpj2i2zpsvggg6kfaa1iklnj";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/readline";
+    goPackagePath = "github.com/bettercap/readline";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/readline";
-      rev =  "62c6fe6193755f722b8b8788aa7357be55a50ff1";
-      sha256 = "1qd2qhjps26x4pin2614w732giy89p22b2qww4wg15zz5g2365nk";
+      rev = "9cec905dd291";
+      sha256 = "1lsnyckg2l78hz4la8dhwvjsyff706khw10nxds5afzl4mrih3vn";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/recording";
+    goPackagePath = "github.com/bettercap/recording";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/recording";
-      rev =  "3ce1dcf032e391eb321311b34cdf31c6fc9523f5";
+      rev = "3ce1dcf032e3";
       sha256 = "1arh12iz15anyrqr4q496lpd0gx5nf2cwyr5rv17rawqqz8ydg23";
     };
   }
   {
-    goPackagePath  = "github.com/chifflier/nfqueue-go";
+    goPackagePath = "github.com/chifflier/nfqueue-go";
     fetch = {
       type = "git";
       url = "https://github.com/chifflier/nfqueue-go";
-      rev =  "61ca646babef3bd4dea1deb610bfb0005c0a1298";
+      rev = "61ca646babef";
       sha256 = "1i1q2xl86f3s9x3j2ffxprwqhcrkh4w23hh4ib7jksxvaq36v33l";
     };
   }
   {
-    goPackagePath  = "github.com/dustin/go-humanize";
+    goPackagePath = "github.com/chzyer/logex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/logex";
+      rev = "v1.1.10";
+      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/test";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/test";
+      rev = "a1ea475d72b1";
+      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
+    };
+  }
+  {
+    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/dustin/go-humanize";
     fetch = {
       type = "git";
       url = "https://github.com/dustin/go-humanize";
-      rev =  "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      rev = "v1.0.0";
       sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
     };
   }
   {
-    goPackagePath  = "github.com/elazarl/goproxy";
+    goPackagePath = "github.com/elazarl/goproxy";
     fetch = {
       type = "git";
       url = "https://github.com/elazarl/goproxy";
-      rev =  "9d40249d3c2f14d1a9d75e070a738362adeb5a83";
-      sha256 = "0hpzna9dvs2ff0bj8baz3sc5gg49vqmb0cbi6p061lmwl09cd00i";
+      rev = "473e67f1d7d2";
+      sha256 = "1xsrdlcgl088phanm81pskym2ry8z1nizvq3lsq0c7cvzb6mrw4p";
     };
   }
   {
-    goPackagePath  = "github.com/evilsocket/islazy";
+    goPackagePath = "github.com/evilsocket/islazy";
     fetch = {
       type = "git";
       url = "https://github.com/evilsocket/islazy";
-      rev =  "c5c7a41bb1c20e6df409825ed24af8de5fb7fb70";
+      rev = "v1.10.4";
       sha256 = "1ayc4di6584yajybh724mcmng069q38j1dpljgi8fhsyhb4sila3";
     };
   }
   {
-    goPackagePath  = "github.com/gobwas/glob";
+    goPackagePath = "github.com/gobwas/glob";
     fetch = {
       type = "git";
       url = "https://github.com/gobwas/glob";
-      rev =  "e7a84e9525fe90abcda167b604e483cc959ad4aa";
+      rev = "e7a84e9525fe";
       sha256 = "1v6vjklq06wqddv46ihajahaj1slv0imgaivlxr8bsx59i90js5q";
     };
   }
   {
-    goPackagePath  = "github.com/google/go-github";
+    goPackagePath = "github.com/google/go-github";
     fetch = {
       type = "git";
       url = "https://github.com/google/go-github";
-      rev =  "e48060a28fac52d0f1cb758bc8b87c07bac4a87d";
-      sha256 = "0a15gsqpshcipd4vmm0dzxgi99pfk0c5b60n3czfw2px864mg7x9";
+      rev = "v17.0.0";
+      sha256 = "1kvw95l77a5n5rgal9n1xjh58zxb3a40ij1j722b1h4z8yg9jhg4";
     };
   }
   {
-    goPackagePath  = "github.com/google/go-querystring";
+    goPackagePath = "github.com/google/go-querystring";
     fetch = {
       type = "git";
       url = "https://github.com/google/go-querystring";
-      rev =  "44c6ddd0a2342c386950e880b658017258da92fc";
+      rev = "v1.0.0";
       sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
-    goPackagePath  = "github.com/google/gopacket";
+    goPackagePath = "github.com/google/gopacket";
     fetch = {
       type = "git";
       url = "https://github.com/google/gopacket";
-      rev =  "v1.1.16";
-      sha256 = "1vnjgjz52l1bzrhx70qpvmwandf8v13zhiaj3rdljsphdp5cgadi";
+      rev = "v1.1.17";
+      sha256 = "192af5z18nnafn35gdy4wahlx6ggbhlnxzlm1yvxjxawfwnilidn";
     };
   }
   {
-    goPackagePath  = "github.com/google/gousb";
+    goPackagePath = "github.com/google/gousb";
     fetch = {
       type = "git";
       url = "https://github.com/google/gousb";
-      rev =  "64d82086770b8b671e1e7f162372dd37f1f5efba";
-      sha256 = "1kjgg8cdp8wz9rck4nh48pcia741p7a8w2nikhzxsscn0ld33109";
+      rev = "18f4c1d8a750";
+      sha256 = "1i7ffkq395x0v1186j9bhfgy67wlq6s840xkyx8wn87w55yd05rh";
     };
   }
   {
-    goPackagePath  = "github.com/gorilla/mux";
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/mux";
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/mux";
-      rev =  "c5c6c98bc25355028a63748a498942a6398ccd22";
-      sha256 = "0im4da3hqxb6zr8g3m640qz234f5gs0a8hqhcz35mkvfqlv48f62";
+      rev = "v1.7.3";
+      sha256 = "0vr38zdad3zgg7q7nn24knl8axngj7cgmlwa93m17yhsnlvqi531";
     };
   }
   {
-    goPackagePath  = "github.com/gorilla/websocket";
+    goPackagePath = "github.com/gorilla/websocket";
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d";
-      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+      rev = "v1.4.1";
+      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
     };
   }
   {
-    goPackagePath  = "github.com/hashicorp/mdns";
+    goPackagePath = "github.com/hashicorp/mdns";
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/mdns";
-      rev =  "06dd1a31b32c42d4d6c2cf8dbce70597d1118f54";
+      rev = "v1.0.1";
       sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j";
     };
   }
   {
-    goPackagePath  = "github.com/inconshreveable/go-vhost";
+    goPackagePath = "github.com/inconshreveable/go-vhost";
     fetch = {
       type = "git";
       url = "https://github.com/inconshreveable/go-vhost";
-      rev =  "06d84117953b22058c096b49a429ebd4f3d3d97b";
+      rev = "06d84117953b";
       sha256 = "0wliilsybm7xf5h685a23rsm8bnlhkr332pkdkhf32q16sr1a9rk";
     };
   }
   {
-    goPackagePath  = "github.com/jpillora/go-tld";
+    goPackagePath = "github.com/jpillora/go-tld";
     fetch = {
       type = "git";
       url = "https://github.com/jpillora/go-tld";
-      rev =  "f16ca3b7b383d3f0373109cac19147de3e8ae2d1";
+      rev = "f16ca3b7b383";
       sha256 = "19v8bj14w0lcvysaw84klf5dg6ka351ixz9r6cd9mksdd80nvzcq";
     };
   }
   {
-    goPackagePath  = "github.com/kr/binarydist";
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/binarydist";
     fetch = {
       type = "git";
       url = "https://github.com/kr/binarydist";
-      rev =  "88f551ae580780cc79d12ab4c218ba1ca346b83a";
+      rev = "v0.1.0";
       sha256 = "0hz1yqlxmkdib8xsdkkvn4ian4i69jmfapadim9fhj632d6jpi7w";
     };
   }
   {
-    goPackagePath  = "github.com/malfunkt/iprange";
+    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/malfunkt/iprange";
     fetch = {
       type = "git";
       url = "https://github.com/malfunkt/iprange";
-      rev =  "3a31f5ed42d2d8a1fc46f1be91fd693bdef2dd52";
+      rev = "v0.9.0";
       sha256 = "0gv5w678r74jval675xp0y1hzpf7mm5m9apa1rz9krxc9zd0ycr8";
     };
   }
   {
-    goPackagePath  = "github.com/mattn/go-colorable";
+    goPackagePath = "github.com/mattn/go-colorable";
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-colorable";
-      rev =  "3a70a971f94a22f2fa562ffcc7a0eb45f5daf045";
-      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
+      rev = "v0.1.4";
+      sha256 = "1yxcz08kminqr1221zxpibnbzfcgs3fafin0z9zqb3gqvf74jywz";
     };
   }
   {
-    goPackagePath  = "github.com/mattn/go-isatty";
+    goPackagePath = "github.com/mattn/go-isatty";
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev =  "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7";
-      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
+      rev = "v0.0.10";
+      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
     };
   }
   {
-    goPackagePath  = "github.com/mdlayher/dhcp6";
+    goPackagePath = "github.com/mdlayher/dhcp6";
     fetch = {
       type = "git";
       url = "https://github.com/mdlayher/dhcp6";
-      rev =  "2a67805d7d0b0bad6c1103058981afdea583b459";
+      rev = "2a67805d7d0b";
       sha256 = "0xn7canpik3lrz73dcz4jzapq1bfxpnashvjvnvshcpa2n1lh8yw";
     };
   }
   {
-    goPackagePath  = "github.com/mdlayher/raw";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mdlayher/raw";
-      rev =  "480b93709cce56651807d3fdeb260a5a7c4e2d5f";
-      sha256 = "0a0zlznk67nhpmgp21hxsbhyl5lvlkmwy5xvm3d3q0yaq0rqnh2x";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mgutz/ansi";
+    goPackagePath = "github.com/mgutz/ansi";
     fetch = {
       type = "git";
       url = "https://github.com/mgutz/ansi";
-      rev =  "9520e82c474b0a04dd04f8a40959027271bab992";
+      rev = "9520e82c474b";
       sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
     };
   }
   {
-    goPackagePath  = "github.com/mgutz/logxi";
+    goPackagePath = "github.com/mgutz/logxi";
     fetch = {
       type = "git";
       url = "https://github.com/mgutz/logxi";
-      rev =  "aebf8a7d67ab4625e0fd4a665766fef9a709161b";
+      rev = "aebf8a7d67ab";
       sha256 = "1f8sqibkzz9wfplvvblz9s0xvvmhkd2af8ghcsmjw8818gcrzsqx";
     };
   }
   {
-    goPackagePath  = "github.com/miekg/dns";
+    goPackagePath = "github.com/miekg/dns";
     fetch = {
       type = "git";
       url = "https://github.com/miekg/dns";
-      rev =  "8aa92d4e02c501ba21e26fb92cf2fb9f23f56917";
-      sha256 = "1niymj11xv82ghif3p7i60bgj0lqskwm7fmrzfjchd8wxwbk4bbi";
+      rev = "v1.1.22";
+      sha256 = "1iv9jznakz8f5swiir0z4zilr9ypavnsc0g4zi1r0vad6npy7zfl";
     };
   }
   {
-    goPackagePath  = "github.com/pkg/errors";
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      rev = "v0.8.1";
       sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
-    goPackagePath  = "github.com/robertkrimen/otto";
+    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/robertkrimen/otto";
     fetch = {
       type = "git";
       url = "https://github.com/robertkrimen/otto";
-      rev =  "15f95af6e78dcd2030d8195a138bd88d4f403546";
+      rev = "15f95af6e78d";
       sha256 = "07j7l340lmqwpfscwyb8llk3k37flvs20a4a8vzc85f16xyd9npf";
     };
   }
   {
-    goPackagePath  = "github.com/tarm/serial";
+    goPackagePath = "github.com/rogpeppe/go-charset";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-charset";
+      rev = "2471d30d28b4";
+      sha256 = "1cmkhwkqx1smnsvrr9ah2x5qav0i6vdiq8x4j8j812xspfl69zwx";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/go-internal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-internal";
+      rev = "v1.3.0";
+      sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
+    };
+  }
+  {
+    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.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/tarm/serial";
     fetch = {
       type = "git";
       url = "https://github.com/tarm/serial";
-      rev =  "98f6abe2eb07edd42f6dfa2a934aea469acc29b7";
+      rev = "98f6abe2eb07";
       sha256 = "1yj4jiv2f3x3iawxdflrlmdan0k9xsbnccgc9yz658rmif1ag3pb";
     };
   }
   {
-    goPackagePath  = "golang.org/x/crypto";
+    goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "a29dc8fdc73485234dbef99ebedb95d2eced08de";
-      sha256 = "07f0jj4haqs0ywc1akk1qjwn5msl2j0pry1rxjkkbfcq4r6ihc1p";
+      rev = "87dc89f01550";
+      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
     };
   }
   {
-    goPackagePath  = "golang.org/x/net";
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "4bf6d317e70e";
+      sha256 = "19lg1ly3j31anx92p0hynic1gjk417wwxphfdrb2cq1c19kj3r17";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "9ce7a6920f093fc0b908c4a5f66ae049110f417e";
-      sha256 = "1kbs85jsqbv4v89ii2zam4b8dhmllhsrf46njmi09x0w6s0b9cbk";
+      rev = "da9a3fd4c582";
+      sha256 = "0iavs400534jn7drmdphx0f18vgg060p2r59xw5d85ji1l5rin1l";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
-    goPackagePath  = "golang.org/x/sys";
+    goPackagePath = "golang.org/x/sys";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "d89cdac9e8725f2aefce25fcbfef41134c9ad412";
-      sha256 = "0iazr13ir6i267nb2w81lc3pr740wdjs86nsliwpf90kkgzn853f";
+      rev = "727590c5006e";
+      sha256 = "0891pfmc73hyr6hrsq1mkk3lasxa8fz4vlnljnzz6yihmhz9ab6a";
     };
   }
   {
-    goPackagePath  = "gopkg.in/sourcemap.v1";
+    goPackagePath = "golang.org/x/text";
     fetch = {
       type = "git";
-      url = "https://github.com/go-sourcemap/sourcemap";
-      rev =  "6e83acea0053641eff084973fee085f0c193c61a";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "2ca718005c18";
+      sha256 = "1nl4cw8vrfigab0hij86vl2mmhfmyim69r7vy5qk2v60g8frvgxg";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a985d3407aa7";
+      sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/sourcemap.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/sourcemap.v1";
+      rev = "v1.0.5";
       sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
     };
   }
-]
\ No newline at end of file
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "v0.0.0-2019.2.1";
+      sha256 = "1frpy4pl9yp6j00mjj2yss3k8hip0cc7b5i5mz61n3dlw0kga9z1";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/tools/security/bitwarden-cli/default.nix b/nixpkgs/pkgs/tools/security/bitwarden-cli/default.nix
deleted file mode 100644
index 5c60eb9f4e2f..000000000000
--- a/nixpkgs/pkgs/tools/security/bitwarden-cli/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, pkgs }:
-
-let
-  # node-packages*.nix generated via:
-  #
-  # % node2nix --input node-packages.json \
-  #            --output node-packages-generated.nix \
-  #            --composition node-packages.nix \
-  #            --node-env ./../../../development/node-packages/node-env.nix
-  #
-  nodePackages = import ./node-packages.nix {
-    inherit pkgs;
-    inherit (stdenv.hostPlatform) system;
-  };
-in pkgs.lib.overrideDerivation nodePackages."@bitwarden/cli" (drv: {
-  # This defaults to "node-_at_bitwarden_slash_cli-1.7.0"
-  name = "bitwarden-cli-${drv.version}";
-})
diff --git a/nixpkgs/pkgs/tools/security/bitwarden-cli/generate.sh b/nixpkgs/pkgs/tools/security/bitwarden-cli/generate.sh
deleted file mode 100755
index 5bcee4c0513a..000000000000
--- a/nixpkgs/pkgs/tools/security/bitwarden-cli/generate.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
-
-exec node2nix -8 \
-    --input node-packages.json \
-    --output node-packages-generated.nix \
-    --composition node-packages.nix \
-    --node-env ./../../../development/node-packages/node-env.nix
diff --git a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix b/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix
deleted file mode 100644
index 2afff0403540..000000000000
--- a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix
+++ /dev/null
@@ -1,1407 +0,0 @@
-# This file has been generated by node2nix 1.7.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "abab-2.0.0" = {
-      name = "abab";
-      packageName = "abab";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz";
-        sha512 = "sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==";
-      };
-    };
-    "acorn-6.2.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz";
-        sha512 = "JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==";
-      };
-    };
-    "acorn-globals-4.3.2" = {
-      name = "acorn-globals";
-      packageName = "acorn-globals";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz";
-        sha512 = "BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==";
-      };
-    };
-    "acorn-walk-6.2.0" = {
-      name = "acorn-walk";
-      packageName = "acorn-walk";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz";
-        sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ansi-escapes-3.2.0" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
-      };
-    };
-    "ansi-regex-3.0.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
-      };
-    };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "array-equal-1.0.0" = {
-      name = "array-equal";
-      packageName = "array-equal";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz";
-        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
-      };
-    };
-    "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";
-      };
-    };
-    "async-limiter-1.0.0" = {
-      name = "async-limiter";
-      packageName = "async-limiter";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
-      };
-    };
-    "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.8.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "big-integer-1.6.36" = {
-      name = "big-integer";
-      packageName = "big-integer";
-      version = "1.6.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz";
-        sha512 = "t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==";
-      };
-    };
-    "browser-process-hrtime-0.1.3" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
-        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
-      };
-    };
-    "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";
-      };
-    };
-    "chalk-2.4.1" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz";
-        sha512 = "ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==";
-      };
-    };
-    "chardet-0.7.0" = {
-      name = "chardet";
-      packageName = "chardet";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
-        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
-      };
-    };
-    "cli-cursor-2.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
-        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
-      };
-    };
-    "cli-width-2.2.0" = {
-      name = "cli-width";
-      packageName = "cli-width";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
-        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "combined-stream-1.0.6" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
-        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
-      };
-    };
-    "commander-2.18.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz";
-        sha512 = "6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "cssom-0.3.8" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
-        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
-      };
-    };
-    "cssstyle-1.4.0" = {
-      name = "cssstyle";
-      packageName = "cssstyle";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz";
-        sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==";
-      };
-    };
-    "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";
-      };
-    };
-    "data-urls-1.1.0" = {
-      name = "data-urls";
-      packageName = "data-urls";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz";
-        sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
-      };
-    };
-    "deep-is-0.1.3" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
-        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
-      };
-    };
-    "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";
-      };
-    };
-    "domexception-1.0.1" = {
-      name = "domexception";
-      packageName = "domexception";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz";
-        sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==";
-      };
-    };
-    "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";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "escodegen-1.11.1" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz";
-        sha512 = "JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==";
-      };
-    };
-    "esprima-3.1.3" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
-        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
-      };
-    };
-    "estraverse-4.2.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
-        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "external-editor-3.1.0" = {
-      name = "external-editor";
-      packageName = "external-editor";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
-        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
-      };
-    };
-    "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";
-      };
-    };
-    "fast-levenshtein-2.0.6" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
-      };
-    };
-    "figures-2.0.0" = {
-      name = "figures";
-      packageName = "figures";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
-        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
-      };
-    };
-    "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.2" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
-        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
-      };
-    };
-    "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";
-      };
-    };
-    "graceful-fs-4.2.0" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz";
-        sha512 = "jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==";
-      };
-    };
-    "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-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
-      };
-    };
-    "html-encoding-sniffer-1.0.2" = {
-      name = "html-encoding-sniffer";
-      packageName = "html-encoding-sniffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
-        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "inquirer-6.2.0" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz";
-        sha512 = "QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==";
-      };
-    };
-    "is-fullwidth-code-point-2.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
-      };
-    };
-    "is-promise-2.1.0" = {
-      name = "is-promise";
-      packageName = "is-promise";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "jsdom-13.2.0" = {
-      name = "jsdom";
-      packageName = "jsdom";
-      version = "13.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-13.2.0.tgz";
-        sha512 = "cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==";
-      };
-    };
-    "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";
-      };
-    };
-    "levn-0.3.0" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
-      };
-    };
-    "lodash-4.17.15" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
-        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
-      };
-    };
-    "lodash.sortby-4.7.0" = {
-      name = "lodash.sortby";
-      packageName = "lodash.sortby";
-      version = "4.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
-        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
-      };
-    };
-    "lowdb-1.0.0" = {
-      name = "lowdb";
-      packageName = "lowdb";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz";
-        sha512 = "2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==";
-      };
-    };
-    "lunr-2.3.3" = {
-      name = "lunr";
-      packageName = "lunr";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.3.tgz";
-        sha512 = "rlAEsgU9Bnavca2w1WJ6+6cdeHMXNyadcersyk3ZpuhgWb5HBNj8l4WwJz9PjksAhYDlpQffCVXPctOn+wCIVA==";
-      };
-    };
-    "mime-db-1.40.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.40.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
-      };
-    };
-    "mime-types-2.1.24" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
-      };
-    };
-    "mimic-fn-1.2.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
-      };
-    };
-    "mute-stream-0.0.7" = {
-      name = "mute-stream";
-      packageName = "mute-stream";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
-        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
-      };
-    };
-    "node-fetch-2.2.0" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz";
-        sha512 = "OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==";
-      };
-    };
-    "node-forge-0.7.6" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.7.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz";
-        sha512 = "sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==";
-      };
-    };
-    "nwsapi-2.1.4" = {
-      name = "nwsapi";
-      packageName = "nwsapi";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
-        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "onetime-2.0.1" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
-        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
-      };
-    };
-    "optionator-0.8.2" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
-        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
-      };
-    };
-    "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";
-      };
-    };
-    "papaparse-4.6.0" = {
-      name = "papaparse";
-      packageName = "papaparse";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/papaparse/-/papaparse-4.6.0.tgz";
-        sha512 = "ylm8pmgyz9rkS3Ng/ru5tHUF3JxWwKYP0aZZWZ8eCGdSxoqgYiDUXLNQei73mUJOjHw8QNu5ZNCsLoDpkMA6sg==";
-      };
-    };
-    "parse5-5.1.0" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz";
-        sha512 = "fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
-      };
-    };
-    "pn-1.1.0" = {
-      name = "pn";
-      packageName = "pn";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz";
-        sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
-      };
-    };
-    "prelude-ls-1.1.2" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
-      };
-    };
-    "psl-1.3.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz";
-        sha512 = "avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "request-promise-core-1.1.2" = {
-      name = "request-promise-core";
-      packageName = "request-promise-core";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
-      };
-    };
-    "request-promise-native-1.0.7" = {
-      name = "request-promise-native";
-      packageName = "request-promise-native";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
-      };
-    };
-    "restore-cursor-2.0.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
-        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
-      };
-    };
-    "run-async-2.3.0" = {
-      name = "run-async";
-      packageName = "run-async";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
-        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
-      };
-    };
-    "rxjs-6.5.2" = {
-      name = "rxjs";
-      packageName = "rxjs";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz";
-        sha512 = "HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "saxes-3.1.11" = {
-      name = "saxes";
-      packageName = "saxes";
-      version = "3.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz";
-        sha512 = "Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==";
-      };
-    };
-    "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";
-      };
-    };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "stealthy-require-1.1.1" = {
-      name = "stealthy-require";
-      packageName = "stealthy-require";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
-        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
-      };
-    };
-    "steno-0.4.4" = {
-      name = "steno";
-      packageName = "steno";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz";
-        sha1 = "071105bdfc286e6615c0403c27e9d7b5dcb855cb";
-      };
-    };
-    "string-width-2.1.1" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
-      };
-    };
-    "strip-ansi-4.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "symbol-tree-3.2.4" = {
-      name = "symbol-tree";
-      packageName = "symbol-tree";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    };
-    "tldjs-2.3.1" = {
-      name = "tldjs";
-      packageName = "tldjs";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tldjs/-/tldjs-2.3.1.tgz";
-        sha512 = "W/YVH/QczLUxVjnQhFC61Iq232NWu3TqDdO0S/MtXVz4xybejBov4ud+CIwN9aYqjOecEqIy0PscGkwpG9ZyTw==";
-      };
-    };
-    "tmp-0.0.33" = {
-      name = "tmp";
-      packageName = "tmp";
-      version = "0.0.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
-        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "tough-cookie-2.5.0" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
-      };
-    };
-    "tr46-1.0.1" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz";
-        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
-      };
-    };
-    "tslib-1.10.0" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
-        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
-      };
-    };
-    "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==";
-      };
-    };
-    "uuid-3.3.2" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
-        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
-      };
-    };
-    "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";
-      };
-    };
-    "w3c-hr-time-1.0.1" = {
-      name = "w3c-hr-time";
-      packageName = "w3c-hr-time";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
-        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
-      };
-    };
-    "w3c-xmlserializer-1.1.2" = {
-      name = "w3c-xmlserializer";
-      packageName = "w3c-xmlserializer";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
-        sha512 = "p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==";
-      };
-    };
-    "webidl-conversions-4.0.2" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
-        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
-      };
-    };
-    "whatwg-encoding-1.0.5" = {
-      name = "whatwg-encoding";
-      packageName = "whatwg-encoding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
-      };
-    };
-    "whatwg-mimetype-2.3.0" = {
-      name = "whatwg-mimetype";
-      packageName = "whatwg-mimetype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
-      };
-    };
-    "whatwg-url-7.0.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
-        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
-      };
-    };
-    "wordwrap-1.0.0" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
-      };
-    };
-    "ws-6.2.1" = {
-      name = "ws";
-      packageName = "ws";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
-        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
-      };
-    };
-    "xml-name-validator-3.0.0" = {
-      name = "xml-name-validator";
-      packageName = "xml-name-validator";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
-      };
-    };
-    "xmlchars-2.1.1" = {
-      name = "xmlchars";
-      packageName = "xmlchars";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlchars/-/xmlchars-2.1.1.tgz";
-        sha512 = "7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w==";
-      };
-    };
-    "zxcvbn-4.4.2" = {
-      name = "zxcvbn";
-      packageName = "zxcvbn";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz";
-        sha1 = "28ec17cf09743edcab056ddd8b1b06262cc73c30";
-      };
-    };
-  };
-in
-{
-  "@bitwarden/cli" = nodeEnv.buildNodePackage {
-    name = "_at_bitwarden_slash_cli";
-    packageName = "@bitwarden/cli";
-    version = "1.7.4";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.7.4.tgz";
-      sha512 = "WCYARJaSpcItFvxPFdRXTO9s26HbYFazL3wSlZ7HuL4tiML/7AfPD4wO3J7fgBn1ghU5NGJ7YZIL+oPmiuw6+Q==";
-    };
-    dependencies = [
-      sources."abab-2.0.0"
-      sources."acorn-6.2.1"
-      sources."acorn-globals-4.3.2"
-      sources."acorn-walk-6.2.0"
-      sources."ajv-6.10.2"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."array-equal-1.0.0"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."big-integer-1.6.36"
-      sources."browser-process-hrtime-0.1.3"
-      sources."caseless-0.12.0"
-      sources."chalk-2.4.1"
-      sources."chardet-0.7.0"
-      sources."cli-cursor-2.1.0"
-      sources."cli-width-2.2.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."combined-stream-1.0.6"
-      sources."commander-2.18.0"
-      sources."core-util-is-1.0.2"
-      sources."cssom-0.3.8"
-      sources."cssstyle-1.4.0"
-      sources."dashdash-1.14.1"
-      sources."data-urls-1.1.0"
-      sources."deep-is-0.1.3"
-      sources."delayed-stream-1.0.0"
-      sources."domexception-1.0.1"
-      sources."ecc-jsbn-0.1.2"
-      sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.11.1"
-      sources."esprima-3.1.3"
-      sources."estraverse-4.2.0"
-      sources."esutils-2.0.3"
-      sources."extend-3.0.2"
-      sources."external-editor-3.1.0"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."figures-2.0.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.2"
-      sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.0"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
-      sources."has-flag-3.0.0"
-      sources."html-encoding-sniffer-1.0.2"
-      sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.24"
-      sources."inquirer-6.2.0"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-promise-2.1.0"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."jsdom-13.2.0"
-      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."levn-0.3.0"
-      sources."lodash-4.17.15"
-      sources."lodash.sortby-4.7.0"
-      sources."lowdb-1.0.0"
-      sources."lunr-2.3.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-fn-1.2.0"
-      sources."mute-stream-0.0.7"
-      sources."node-fetch-2.2.0"
-      sources."node-forge-0.7.6"
-      sources."nwsapi-2.1.4"
-      sources."oauth-sign-0.9.0"
-      sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
-      sources."os-tmpdir-1.0.2"
-      sources."papaparse-4.6.0"
-      sources."parse5-5.1.0"
-      sources."performance-now-2.1.0"
-      sources."pify-3.0.0"
-      sources."pn-1.1.0"
-      sources."prelude-ls-1.1.2"
-      sources."psl-1.3.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-          sources."tough-cookie-2.4.3"
-        ];
-      })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."restore-cursor-2.0.0"
-      sources."run-async-2.3.0"
-      sources."rxjs-6.5.2"
-      sources."safe-buffer-5.2.0"
-      sources."safer-buffer-2.1.2"
-      sources."saxes-3.1.11"
-      sources."signal-exit-3.0.2"
-      sources."source-map-0.6.1"
-      sources."sshpk-1.16.1"
-      sources."stealthy-require-1.1.1"
-      sources."steno-0.4.4"
-      sources."string-width-2.1.1"
-      sources."strip-ansi-4.0.0"
-      sources."supports-color-5.5.0"
-      sources."symbol-tree-3.2.4"
-      sources."through-2.3.8"
-      (sources."tldjs-2.3.1" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
-      sources."tmp-0.0.33"
-      sources."tough-cookie-2.5.0"
-      sources."tr46-1.0.1"
-      sources."tslib-1.10.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-check-0.3.2"
-      sources."uri-js-4.2.2"
-      sources."uuid-3.3.2"
-      sources."verror-1.10.0"
-      sources."w3c-hr-time-1.0.1"
-      sources."w3c-xmlserializer-1.1.2"
-      sources."webidl-conversions-4.0.2"
-      sources."whatwg-encoding-1.0.5"
-      sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-7.0.0"
-      sources."wordwrap-1.0.0"
-      sources."ws-6.2.1"
-      sources."xml-name-validator-3.0.0"
-      sources."xmlchars-2.1.1"
-      sources."zxcvbn-4.4.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "A secure and free password manager for all of your devices.";
-      homepage = https://bitwarden.com/;
-      license = "GPL-3.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.json b/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.json
deleted file mode 100644
index 624aa87bcbea..000000000000
--- a/nixpkgs/pkgs/tools/security/bitwarden-cli/node-packages.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-  "@bitwarden/cli"
-]
diff --git a/nixpkgs/pkgs/tools/security/bitwarden/default.nix b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
index c67cc4474310..fbef98df82d7 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden/default.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
@@ -16,11 +16,11 @@ let
   pname = "bitwarden";
 
   version = {
-    x86_64-linux = "1.15.2";
+    x86_64-linux = "1.16.6";
   }.${system} or "";
 
   sha256 = {
-    x86_64-linux = "0yz4hkqqwq2zrdjfxk5kybhs90n80k6bkn0625m47b09lwl2di4f";
+    x86_64-linux = "074hqm4gjljc82nhn7h6wsd74567390018fi3v38g7jh7aph10jj";
   }.${system} or "";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix b/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
index 76b9f24224c1..51dde99bcf19 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "06f0rcpqhz5qjm01jbxx2czhnj9ng29rgsrilm5r5xx31s9dnhg7";
+    sha256 = "064dxfplqn67grpx03ryzshwmr7s00w4mll0hk0anddviwvd8r1n";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/tools/security/bruteforce-luks/default.nix b/nixpkgs/pkgs/tools/security/bruteforce-luks/default.nix
index 0c650781bdaa..cfa27a5c6865 100644
--- a/nixpkgs/pkgs/tools/security/bruteforce-luks/default.nix
+++ b/nixpkgs/pkgs/tools/security/bruteforce-luks/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "bruteforce-luks";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
-    sha256 = "0ws5bm5pczhvqrlhl60h8a9rdwk6xlh9wr5ndnkyxvv7m90qpy9b";
+    sha256 = "0yyrda077avdapq1mvavgv5mvj2r94d6p01q56bbnaq4a3h5kfd6";
     rev = version;
     repo = "bruteforce-luks";
     owner = "glv2";
diff --git a/nixpkgs/pkgs/tools/security/chaps/default.nix b/nixpkgs/pkgs/tools/security/chaps/default.nix
index e81567c3ed87..c8ee95069682 100644
--- a/nixpkgs/pkgs/tools/security/chaps/default.nix
+++ b/nixpkgs/pkgs/tools/security/chaps/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig
-, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }:
+{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip
+, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam
+}:
 
 let
-  src_chromebase = fetchgit {
-    url = "https://chromium.googlesource.com/chromium/src/base.git";
+  src_chromebase = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/chromium/src/base";
     rev = "2dfe404711e15e24e79799516400c61b2719d7af";
     sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5";
   };
@@ -13,7 +14,7 @@ let
     sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16";
   };
 
-  src_platform2 = fetchgit {
+  src_platform2 = fetchFromGitiles {
     url = "https://chromium.googlesource.com/chromiumos/platform2";
     rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b";
     sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh";
@@ -25,8 +26,9 @@ stdenv.mkDerivation rec {
   name = "chaps-0.42-6812";
   version = "0.42-6812";
 
-  src = fetchgit {
-    url = "https://github.com/google/chaps-linux";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "chaps-linux";
     rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7";
     sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1";
   };
diff --git a/nixpkgs/pkgs/tools/security/clamav/default.nix b/nixpkgs/pkgs/tools/security/clamav/default.nix
index 54932e1200bf..43f56352ceb3 100644
--- a/nixpkgs/pkgs/tools/security/clamav/default.nix
+++ b/nixpkgs/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.101.4";
+  version = "0.102.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "1kdw0b49hbvja6xn589v4f0q334wav16pmi1hibql5cxj7q99w0b";
+    sha256 = "1mpdgn3isz26hd1j6p8lcb76v8hjs54k1wb655rnil4hv78aig8d";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/nixpkgs/pkgs/tools/security/crunch/default.nix b/nixpkgs/pkgs/tools/security/crunch/default.nix
index 57943a314064..259ee38c68f7 100644
--- a/nixpkgs/pkgs/tools/security/crunch/default.nix
+++ b/nixpkgs/pkgs/tools/security/crunch/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation  rec {
       --replace 'sudo ' ""
   '';
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Wordlist generator";
diff --git a/nixpkgs/pkgs/tools/security/diceware/default.nix b/nixpkgs/pkgs/tools/security/diceware/default.nix
index 1c3d5f1d465f..07682eb22c51 100644
--- a/nixpkgs/pkgs/tools/security/diceware/default.nix
+++ b/nixpkgs/pkgs/tools/security/diceware/default.nix
@@ -15,6 +15,8 @@ buildPythonApplication rec {
 
   nativeBuildInputs = [ pytestrunner ];
 
+  propagatedBuildInputs = [ setuptools ];
+
   checkInputs = [ coverage pytest ];
 
   # see https://github.com/ulif/diceware/commit/a7d844df76cd4b95a717f21ef5aa6167477b6733
diff --git a/nixpkgs/pkgs/tools/security/duo-unix/default.nix b/nixpkgs/pkgs/tools/security/duo-unix/default.nix
index 49ceacadcb7d..2cf9b92745fd 100644
--- a/nixpkgs/pkgs/tools/security/duo-unix/default.nix
+++ b/nixpkgs/pkgs/tools/security/duo-unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "duo-unix";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchurl {
     url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
-    sha256 = "11467kk8blg777vss0hsgz6k8f5m43p50zqs7yhx2sgbh9ygnn6y";
+    sha256 = "097i2dsnbndpnyc4nx1j76qkx1bxwwlxnzmp1h3j4raghddgiq0g";
   };
 
   buildInputs = [ pam openssl zlib ];
diff --git a/nixpkgs/pkgs/tools/security/efitools/default.nix b/nixpkgs/pkgs/tools/security/efitools/default.nix
index 8a64a019fef0..33b6c3b672da 100644
--- a/nixpkgs/pkgs/tools/security/efitools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/enchive/default.nix b/nixpkgs/pkgs/tools/security/enchive/default.nix
index baada40a6cb1..7e45ab76ed0b 100644
--- a/nixpkgs/pkgs/tools/security/enchive/default.nix
+++ b/nixpkgs/pkgs/tools/security/enchive/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "enchive";
-  version = "3.4";
+  version = "3.5";
   src = fetchFromGitHub {
     owner = "skeeto";
     repo = "enchive";
     rev = version;
-    sha256 = "0ssxbnsjx4mvaqimp5nzfixpxinhmi12z8lxdd8cj2361wbb54yk";
+    sha256 = "0fdrfc5l42lj2bvmv9dmkmhmm7qiszwk7cmdvnqad3fs7652g0qa";
   };
 
   makeFlags = ["PREFIX=$(out)"];
diff --git a/nixpkgs/pkgs/tools/security/enpass/default.nix b/nixpkgs/pkgs/tools/security/enpass/default.nix
index 89e09a47858d..6e61f0541225 100644
--- a/nixpkgs/pkgs/tools/security/enpass/default.nix
+++ b/nixpkgs/pkgs/tools/security/enpass/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, dpkg, xorg
-, glib, libGLU_combined, libpulseaudio, zlib, dbus, fontconfig, freetype
+, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk3, pango
-, makeWrapper , python, pythonPackages, lib
+, 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
@@ -84,9 +84,9 @@ let
       name = "enpass-update-script";
       SCRIPT =./update_script.py;
 
-      buildInputs = with pythonPackages; [python requests pathlib2 six attrs ];
+      buildInputs = with python2Packages; [python requests pathlib2 six attrs ];
       shellHook = ''
-      exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
+        exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
       '';
 
     };
diff --git a/nixpkgs/pkgs/tools/security/fail2ban/default.nix b/nixpkgs/pkgs/tools/security/fail2ban/default.nix
index 324ac46b0841..5ea918542828 100644
--- a/nixpkgs/pkgs/tools/security/fail2ban/default.nix
+++ b/nixpkgs/pkgs/tools/security/fail2ban/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, python, pythonPackages, gamin }:
+{ stdenv, fetchFromGitHub, fetchpatch, python3, gamin }:
 
 let version = "0.10.4"; in
 
-pythonPackages.buildPythonApplication {
+python3.pkgs.buildPythonApplication {
   pname = "fail2ban";
   inherit version;
 
@@ -13,8 +13,19 @@ pythonPackages.buildPythonApplication {
     sha256 = "07ik6rm856q0ic2r7vbg6j3hsdcdgkv44hh5ck0c2y21fqwrck3l";
   };
 
-  propagatedBuildInputs = [ gamin ]
-    ++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd);
+  patches = [
+    # 0.10.3 supports Python 3 but somehow this got into the way
+    # https://github.com/fail2ban/fail2ban/issues/2255
+    (fetchpatch {
+      url = "https://github.com/fail2ban/fail2ban/commit/657b147c0d7830f3600f3dc7feaa4815a7e19fde.patch";
+      sha256 = "1hrk2x7ssrfhab1wrjk5xw1sxhiv2735glfcp6qcj8x4dss3q7f7";
+    })
+  ];
+
+  pythonPath = with python3.pkgs;
+    stdenv.lib.optionals stdenv.isLinux [
+      systemd
+    ];
 
   preConfigure = ''
     for i in config/action.d/sendmail*.conf; do
@@ -33,11 +44,15 @@ pythonPackages.buildPythonApplication {
     substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
 
     # see https://github.com/NixOS/nixpkgs/issues/4968
-    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
+    ${python3.interpreter} setup.py install_data --install-dir=$out --root=$out
+  '';
+
+  postPatch = ''
+    ${stdenv.shell} ./fail2ban-2to3
   '';
 
   postInstall = let
-    sitePackages = "$out/lib/${python.libPrefix}/site-packages";
+    sitePackages = "$out/${python3.sitePackages}";
   in ''
     # see https://github.com/NixOS/nixpkgs/issues/4968
     rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var;
diff --git a/nixpkgs/pkgs/tools/security/fierce/default.nix b/nixpkgs/pkgs/tools/security/fierce/default.nix
index 809d8e29ea35..5d12a0008158 100644
--- a/nixpkgs/pkgs/tools/security/fierce/default.nix
+++ b/nixpkgs/pkgs/tools/security/fierce/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fierce";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "mschwager";
     repo = pname;
     rev = version;
-    sha256 = "0cdp9rpabazyfnks30rsf3qfdi40z1bkspxk4ds9bm82kpq33jxy";
+    sha256 = "11yaz8ap9swx95j3wpqh0b6jhw6spqgfnsyn1liw9zqi4jwgiax7";
   };
 
   propagatedBuildInputs = [ python3.pkgs.dns ];
diff --git a/nixpkgs/pkgs/tools/security/fprintd/default.nix b/nixpkgs/pkgs/tools/security/fprintd/default.nix
index 84727f55b933..13e6c0be391a 100644
--- a/nixpkgs/pkgs/tools/security/fprintd/default.nix
+++ b/nixpkgs/pkgs/tools/security/fprintd/default.nix
@@ -1,26 +1,57 @@
-{ thinkpad ? false
-, stdenv, fetchurl, pkgconfig, intltool, libfprint-thinkpad ? null
-, libfprint ? null, glib, dbus-glib, polkit, nss, pam, systemd }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, intltool
+, libfprint
+, glib
+, dbus-glib
+, polkit
+, nss
+, pam
+, systemd
+, autoreconfHook
+, gtk-doc
+}:
 
 stdenv.mkDerivation rec {
-  pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad";
-  version = "0.8.1";
+  pname = "fprintd";
+  version = "0.9.0";
 
   src = fetchurl {
-    url = "https://gitlab.freedesktop.org/libfprint/fprintd/uploads/bdd9f91909f535368b7c21f72311704a/fprintd-${version}.tar.xz";
-    sha256 = "124s0g9syvglgsmqnavp2a8c0zcq8cyaph8p8iyvbla11vfizs9l";
+    url = "https://gitlab.freedesktop.org/libfprint/fprintd/uploads/9dec4b63d1f00e637070be1477ce63c0/fprintd-${version}.tar.xz";
+    sha256 = "182gcnwb6zjwmk0dn562rjmpbk7ac7dhipbfdhfic2sn1jzis49p";
   };
 
-  buildInputs = [ glib dbus-glib polkit nss pam systemd ]
-    ++ stdenv.lib.optional thinkpad libfprint-thinkpad
-    ++ stdenv.lib.optional (!thinkpad) libfprint;
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/16.patch";
+      sha256 = "1y39zsmxjll9hip8464qwhq5qg06c13pnafyafgxdph75lvhdll7";
+    })
+  ];
+
+  nativeBuildInputs = [
+    intltool
+    pkgconfig
+    autoreconfHook # Drop with above patch
+    gtk-doc # Drop with above patch
+  ];
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [
+    glib
+    dbus-glib
+    polkit
+    nss
+    pam
+    systemd
+    libfprint
+  ];
 
-  configureFlags = [ 
-    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" 
-    "--localstatedir=/var" 
-    "--sysconfdir=${placeholder "out"}/etc" 
+  configureFlags = [
+    # is hardcoded to /var/lib/fprint, this is for the StateDirectory install target
+    "--localstatedir=${placeholder "out"}/var"
+    "--sysconfdir=${placeholder "out"}/etc"
+    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/fwknop/default.nix b/nixpkgs/pkgs/tools/security/fwknop/default.nix
index 4579136add26..a9f69c8b96e1 100644
--- a/nixpkgs/pkgs/tools/security/fwknop/default.nix
+++ b/nixpkgs/pkgs/tools/security/fwknop/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libpcap texinfo ]
-    ++ stdenv.lib.optional gnupgSupport [ gnupg gpgme.dev ]
-    ++ stdenv.lib.optional wgetSupport [ wget ];
+    ++ stdenv.lib.optionals gnupgSupport [ gnupg gpgme.dev ]
+    ++ stdenv.lib.optionals wgetSupport [ wget ];
 
   configureFlags = [
     "--sysconfdir=/etc"
diff --git a/nixpkgs/pkgs/tools/security/ghidra/default.nix b/nixpkgs/pkgs/tools/security/ghidra/default.nix
index d68fd5e7e92d..b3773725e6e9 100644
--- a/nixpkgs/pkgs/tools/security/ghidra/default.nix
+++ b/nixpkgs/pkgs/tools/security/ghidra/default.nix
@@ -1,16 +1,26 @@
 { stdenv, fetchurl, unzip, lib, makeWrapper, autoPatchelfHook
-, openjdk11, pam
+, openjdk11, pam, makeDesktopItem, icoutils
 }: let
 
   pkg_path = "$out/lib/ghidra";
 
+  desktopItem = makeDesktopItem {
+    name = "ghidra";
+    exec = "ghidra";
+    icon = "ghidra";
+    desktopName = "Ghidra";
+    genericName = "Ghidra Software Reverse Engineering Suite";
+    categories = "Development;";
+  };
+
+
 in stdenv.mkDerivation {
 
-  name = "ghidra-9.0.4";
+  name = "ghidra-9.1";
 
   src = fetchurl {
-    url = https://ghidra-sre.org/ghidra_9.0.4_PUBLIC_20190516.zip;
-    sha256 = "1gqqxk57hswwgr97qisqivcfgjdxjipfdshyh4r76dyrfpa0q3d5";
+    url = https://ghidra-sre.org/ghidra_9.1_PUBLIC_20191023.zip;
+    sha256 = "0pl7s59008gvgwz4mxp7rz3xr3vaa12a6s5zvx2yr9jxx3gk1l99";
   };
 
   nativeBuildInputs = [
@@ -22,13 +32,24 @@ in stdenv.mkDerivation {
   buildInputs = [
     stdenv.cc.cc.lib
     pam
+    icoutils
   ];
 
   dontStrip = true;
 
   installPhase = ''
     mkdir -p "${pkg_path}"
+    mkdir -p "${pkg_path}" "$out/share/applications"
     cp -a * "${pkg_path}"
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    
+    icotool -x "${pkg_path}/support/ghidra.ico"
+    rm ghidra_4_40x40x32.png
+    for f in ghidra_*.png; do
+      res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -d"x" -f1-2)
+      mkdir -pv "$out/share/icons/hicolor/$res/apps"
+      mv "$f" "$out/share/icons/hicolor/$res/apps/ghidra.png"
+    done;
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/tools/security/gnome-keysign/default.nix b/nixpkgs/pkgs/tools/security/gnome-keysign/default.nix
index 04fa923ce2cc..a559039d95ac 100644
--- a/nixpkgs/pkgs/tools/security/gnome-keysign/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
new file mode 100644
index 000000000000..bc7cff99dc23
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, libgpgerror, libassuan, libgcrypt, pkcs11helper,
+  pkgconfig, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "gnupg-pkcs11-scd";
+  version = "0.9.2";
+
+  src = fetchurl {
+    url = "https://github.com/alonbl/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2";
+    sha256 = "sha256:1mfh9zjbahjd788rq1mzx009pd7p1sq62sbz586rd7szif7pkpgx";
+  };
+
+  buildInputs = [ pkcs11helper pkgconfig openssl ];
+
+  configureFlags = [
+    "--with-libgpg-error-prefix=${libgpgerror.dev}"
+    "--with-libassuan-prefix=${libassuan.dev}"
+    "--with-libgcrypt-prefix=${libgcrypt.dev}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A smart-card daemon to enable the use of PKCS#11 tokens with GnuPG";
+    longDescription = ''
+    gnupg-pkcs11 is a project to implement a BSD-licensed smart-card
+    daemon to enable the use of PKCS#11 tokens with GnuPG.
+    '';
+    homepage = http://gnupg-pkcs11.sourceforge.net/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lschuermann philandstuff ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/security/gnupg/20.nix b/nixpkgs/pkgs/tools/security/gnupg/20.nix
index 6336d319997f..ef348e388342 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/20.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg/20.nix
@@ -3,7 +3,7 @@
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
-, pinentry ? null, guiSupport ? true
+, pinentry ? null, guiSupport ? false
 , openldap ? null, bzip2 ? null, libusb ? null, curl ? null
 }:
 
diff --git a/nixpkgs/pkgs/tools/security/gnupg/22.nix b/nixpkgs/pkgs/tools/security/gnupg/22.nix
index a4744bcfb941..51dd9d908bb2 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/22.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg/22.nix
@@ -1,26 +1,26 @@
 { fetchurl, fetchpatch, stdenv, pkgconfig, libgcrypt, libassuan, libksba
-, libgpgerror, libiconv, npth, gettext, texinfo, pcsclite, sqlite
-, buildPackages
+, libgpgerror, libiconv, npth, gettext, texinfo, buildPackages
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
-, pinentry ? null, guiSupport ? true
-, adns ? null, gnutls ? null, libusb ? null, openldap ? null
-, readline ? null, zlib ? null, bzip2 ? null
+, guiSupport ? true, enableMinimal ? false
+, adns ? null , bzip2 ? null , gnutls ? null , libusb ? null , openldap ? null
+, pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ?
+null
 }:
 
 with stdenv.lib;
 
-assert guiSupport -> pinentry != null;
+assert guiSupport -> pinentry != null && enableMinimal == false;
 
 stdenv.mkDerivation rec {
   pname = "gnupg";
 
-  version = "2.2.17";
+  version = "2.2.19";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg";
+    sha256 = "1h6yx6sdpz3lf9gdppgxqcf73baynr8gflmh43286fkgw3058994";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' \
         configure doc/dirmngr.texi doc/gnupg.info-1
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
+  '' + stdenv.lib.optionalString ( stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   '';
 
@@ -50,7 +50,14 @@ stdenv.mkDerivation rec {
     "--with-npth-prefix=${npth}"
   ] ++ optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}";
 
-  postInstall = ''
+  postInstall = if enableMinimal
+  then ''
+    rm -r $out/{libexec,sbin,share}
+    for f in `find $out/bin -type f -not -name gpg`
+    do
+      rm $f
+    done
+  '' else ''
     mkdir -p $out/lib/systemd/user
     for f in doc/examples/systemd-user/*.{service,socket} ; do
       substitute $f $out/lib/systemd/user/$(basename $f) \
diff --git a/nixpkgs/pkgs/tools/security/gobuster/default.nix b/nixpkgs/pkgs/tools/security/gobuster/default.nix
new file mode 100644
index 000000000000..c3426bee965b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gobuster/default.nix
@@ -0,0 +1,25 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "gobuster";
+  version = "3.0.1";
+
+  src = fetchFromGitHub {
+    owner = "OJ";
+    repo = "gobuster";
+    rev = "v${version}";
+    sha256 = "0q8ighqykh8qyvidnm6az6dc9mp32bbmhkmkqzl1ybbw6paa8pym";
+  };
+
+  modSha256 = "0jq0z5s05vqdvq7v1gdjwlqqwbl1j2rv9f16k52idl50vdiqviql";
+
+  meta = with lib; {
+    description = "Tool used to brute-force URIs, DNS subdomains, Virtual Host names on target web servers";
+    homepage = "https://github.com/OJ/gobuster";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gpgstats/default.nix b/nixpkgs/pkgs/tools/security/gpgstats/default.nix
index 34e8c7bd6796..c3a14f62c766 100644
--- a/nixpkgs/pkgs/tools/security/gpgstats/default.nix
+++ b/nixpkgs/pkgs/tools/security/gpgstats/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     cp gpgstats $out/bin
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionals (!stdenv.is64bit)
-    [ "-D_FILE_OFFSET_BITS=64" "-DLARGEFILE_SOURCE=1" ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.is64bit)
+    "-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1";
 
   meta = with stdenv.lib; {
     description = "Calculates statistics on the keys in your gpg key-ring";
diff --git a/nixpkgs/pkgs/tools/security/haka/default.nix b/nixpkgs/pkgs/tools/security/haka/default.nix
index bd7d356c1a0e..bfac54d2d860 100644
--- a/nixpkgs/pkgs/tools/security/haka/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/hcxtools/default.nix b/nixpkgs/pkgs/tools/security/hcxtools/default.nix
index 216d58192fbc..8e70e0def41c 100644
--- a/nixpkgs/pkgs/tools/security/hcxtools/default.nix
+++ b/nixpkgs/pkgs/tools/security/hcxtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn";
+    sha256 = "1pqvxncpcnwxs89imma01ry30bz7cjifm8wz1s80yclkxxf80php";
   };
 
   buildInputs = [ curl openssl zlib ];
diff --git a/nixpkgs/pkgs/tools/security/ibm-sw-tpm2/default.nix b/nixpkgs/pkgs/tools/security/ibm-sw-tpm2/default.nix
index cec31cec3771..e2e01fbb921c 100644
--- a/nixpkgs/pkgs/tools/security/ibm-sw-tpm2/default.nix
+++ b/nixpkgs/pkgs/tools/security/ibm-sw-tpm2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibm-sw-tpm2";
-  version = "1332";
+  version = "1563";
 
   src = fetchurl {
     url = "mirror://sourceforge/ibmswtpm2/ibmtpm${version}.tar.gz";
-    sha256 = "1zdhi8acd4jfp1v7ibd86hcv0g39yk8qrnhxjmmgzn8i7npr70cf";
+    sha256 = "1sfi7drmbm08rgd2414s3sxd7h5g8d4kiwk40xklf7sw67w1ffpw";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/security/ipscan/default.nix b/nixpkgs/pkgs/tools/security/ipscan/default.nix
new file mode 100644
index 000000000000..40546b6f1c33
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/jd-gui/default.nix b/nixpkgs/pkgs/tools/security/jd-gui/default.nix
index 213f7c30051a..86b88638bd76 100644
--- a/nixpkgs/pkgs/tools/security/jd-gui/default.nix
+++ b/nixpkgs/pkgs/tools/security/jd-gui/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, fetchurl, gradle_2_5, perl, makeWrapper, jre, makeDesktopItem, writeText, runtimeShell }:
+{ stdenv, fetchFromGitHub, jre, jdk, makeDesktopItem, perl, writeText, runtimeShell }:
 
 let
-  version = "1.4.0";
-  name = "jd-gui-${version}";
-
-  src = fetchurl {
-    url    = "https://github.com/java-decompiler/jd-gui/archive/v${version}.tar.gz";
-    sha256 = "0anz7szlr5kgmsmkyv34jdynsnk8v6kvibcyz98jsd96fh725lax";
+  pname = "jd-gui";
+  version = "1.6.5";
+
+  src = fetchFromGitHub {
+    owner = "java-decompiler";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yn2xcwznig941pw2f3wi8ixz1wprxcn9wl0g2ggdzx51rfwgzzi";
   };
 
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
+    name = "${pname}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_2_5 perl ];
+
+    nativeBuildInputs = [ jdk perl ];
+
+    patchPhase = "patchShebangs gradlew";
 
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d);
-      gradle --no-daemon build
+      ./gradlew --no-daemon jar
     '';
 
     # Mavenize dependency paths
@@ -25,11 +30,12 @@ let
       find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
         | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
         | sh
+      cp -r $GRADLE_USER_HOME/wrapper $out
     '';
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "1apmqiphnav79m4rdii58h7f4qslpfig4qybyyl2fr7zk92gv3l9";
+    outputHash = "1s4p91iiyikrsgvpzkhw3jm5lsm0jpzp7iw7afdhhl9jm18igs70";
   };
 
   # Point to our local deps repo
@@ -59,18 +65,24 @@ let
     comment = "Java Decompiler JD-GUI";
     desktopName = "JD-GUI";
     genericName = "Java Decompiler";
-    mimeType = "application/x-java-archive;application/x-java";
+    mimeType = "application/java;application/java-vm;application/java-archive";
     categories = "Development;Debugger;";
+    extraEntries="StartupWMClass=org-jd-gui-App";
   };
 
-in stdenv.mkDerivation {
-  inherit name version src;
+in stdenv.mkDerivation rec {
+  inherit pname version src;
+  name = "${pname}-${version}";
 
-  nativeBuildInputs = [ gradle_2_5 perl makeWrapper ];
+  nativeBuildInputs = [ jdk ];
+
+  patchPhase = "patchShebangs gradlew";
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
-    gradle --offline --no-daemon --info --init-script ${gradleInit} jar
+    cp -r ${deps}/wrapper $GRADLE_USER_HOME
+    chmod u+w $GRADLE_USER_HOME/wrapper/dists/gradle*/*/*.lck
+    ./gradlew --offline --no-daemon --info --init-script ${gradleInit} jar
   '';
 
   installPhase = let
@@ -83,18 +95,16 @@ in stdenv.mkDerivation {
     cat > $out/bin/jd-gui <<EOF
     #!${runtimeShell}
     export JAVA_HOME=${jre}
-    ${jre}/bin/java -jar ${jar} $@
+    exec ${jre}/bin/java -jar ${jar} "\$@"
     EOF
     chmod +x $out/bin/jd-gui
 
     ${(desktopItem "$out/bin/jd-gui").buildCommand}
   '';
 
-  dontStrip = true;
-
   meta = with stdenv.lib; {
     description = "Fast Java Decompiler with powerful GUI";
-    homepage    = "http://jd.benow.ca/";
+    homepage    = "https://java-decompiler.github.io/";
     license     = licenses.gpl3;
     platforms   = platforms.unix;
     maintainers = [ maintainers.thoughtpolice ];
diff --git a/nixpkgs/pkgs/tools/security/john/default.nix b/nixpkgs/pkgs/tools/security/john/default.nix
index dd3a93be9950..17e02e736dc4 100644
--- a/nixpkgs/pkgs/tools/security/john/default.nix
+++ b/nixpkgs/pkgs/tools/security/john/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, openssl, nss, nspr, kerberos, gmp, zlib, libpcap, re2
-, gcc, pythonPackages, perl, perlPackages, makeWrapper
+, gcc, python3Packages, perl, perlPackages, makeWrapper
 }:
 
 with stdenv.lib;
@@ -31,10 +31,14 @@ stdenv.mkDerivation rec {
     export AS=$CC
     export LD=$CC
   '';
-  configureFlags = [ "--disable-native-macro" ];
+  configureFlags = [
+    "--disable-native-tests"
+    "--with-systemwide"
+  ];
 
-  buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 gcc pythonPackages.wrapPython perl makeWrapper ];
-  propagatedBuildInputs = (with pythonPackages; [ dpkt scapy lxml ]) ++ # For pcap2john.py
+  buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ];
+  nativeBuildInputs = [ gcc python3Packages.wrapPython perl makeWrapper ];
+  propagatedBuildInputs = (with python3Packages; [ dpkt scapy lxml ]) ++ # For pcap2john.py
                           (with perlPackages; [ DigestMD4 DigestSHA1 GetoptLong # For pass_gen.pl
                                                 perlldap ]); # For sha-dump.pl
                           # TODO: Get dependencies for radius2john.pl and lion2john-alt.pl
@@ -43,14 +47,13 @@ stdenv.mkDerivation rec {
   # gcc: error: memdbg.o: No such file or directory
   enableParallelBuilding = false;
 
-  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/*
   '';
 
@@ -66,7 +69,7 @@ stdenv.mkDerivation rec {
     description = "John the Ripper password cracker";
     license = licenses.gpl2;
     homepage = https://github.com/magnumripper/JohnTheRipper/;
-    maintainers = with maintainers; [ offline ];
-    platforms = [ "x86_64-linux" "x86_64-darwin"];
+    maintainers = with maintainers; [ offline matthewbauer ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index 1a2b06ea41f9..1edf86675c31 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub
+{ stdenv, substituteAll, lib, buildGoPackage, fetchFromGitHub
 , AVFoundation, AudioToolbox, ImageIO, CoreMedia
 , Foundation, CoreGraphics, MediaToolbox
+, gnupg
 }:
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "4.3.1";
+  version = "5.0.0";
 
   goPackagePath = "github.com/keybase/client";
-  subPackages = [ "go/keybase" ];
+  subPackages = [ "go/kbnm" "go/keybase" ];
 
   dontRenameImports = true;
 
@@ -16,10 +17,18 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "1743d7a7ix882yxz9pk230vdvdj46sbscqv4wqyhb0la2pl9jqdp";
+    sha256 = "0cxxqmgp82qi2b1fljyfa38is94y8ghb2pd31nbyh8y4wnmi0x1s";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
+  patches = [
+    (substituteAll {
+      src = ./fix-paths-keybase.patch;
+      gpg = "${gnupg}/bin/gpg";
+      gpg2 = "${gnupg}/bin/gpg2";
+    })
+  ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
   buildFlags = [ "-tags production" ];
 
   meta = with stdenv.lib; {
@@ -27,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/nixpkgs/pkgs/tools/security/keybase/fix-paths-keybase.patch b/nixpkgs/pkgs/tools/security/keybase/fix-paths-keybase.patch
new file mode 100644
index 000000000000..b3de7bbb530d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/keybase/fix-paths-keybase.patch
@@ -0,0 +1,16 @@
+diff --git a/go/libkb/gpg_cli.go b/go/libkb/gpg_cli.go
+index 3c7c6257..ae8f7e2f 100644
+--- a/go/libkb/gpg_cli.go
++++ b/go/libkb/gpg_cli.go
+@@ -54,9 +54,9 @@ func (g *GpgCLI) Configure(mctx MetaContext) (err error) {
+ 	if len(prog) > 0 {
+ 		err = canExec(prog)
+ 	} else {
+-		prog, err = exec.LookPath("gpg2")
++		prog, err = exec.LookPath("@gpg2@")
+ 		if err != nil {
+-			prog, err = exec.LookPath("gpg")
++			prog, err = exec.LookPath("@gpg@")
+ 		}
+ 	}
+ 	if err != nil {
diff --git a/nixpkgs/pkgs/tools/security/keybase/gui.nix b/nixpkgs/pkgs/tools/security/keybase/gui.nix
index 944e73dd46c5..2ec97f882367 100644
--- a/nixpkgs/pkgs/tools/security/keybase/gui.nix
+++ b/nixpkgs/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 = "20190813132700.6f497ec371";
+  versionSuffix = "20191114203213.f73f97dac6";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "4.3.1"; # 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 = "1mbbfy1aijqr8209jjja6dm2nzw721qqw94839df047rcwnd38pg";
+    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/nixpkgs/pkgs/tools/security/keycard-cli/default.nix b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
new file mode 100644
index 000000000000..a76c102b2bb9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoPackage, fetchFromGitHub, pkgconfig, pcsclite }:
+
+buildGoPackage rec {
+  pname = "keycard-cli";
+  version = "0.0.12";
+
+  goPackagePath = "github.com/status-im/keycard-cli";
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ pcsclite ];
+
+  src = fetchFromGitHub {
+    owner = "status-im";
+    repo = pname;
+    rev = version;
+    sha256 = "1jnbaq57i6i9bad1hcvd28mxfqq6v8rv806c6l74vlb79ff4v1wb";
+  };
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-X main.version=${version}"
+  ];
+
+  meta = with lib; {
+    description = "A command line tool and shell to manage keycards";
+    homepage = "https://keycard.status.im";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.zimbatm ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/kwalletcli/default.nix b/nixpkgs/pkgs/tools/security/kwalletcli/default.nix
index fedf3421fb1c..9356e2f53f94 100644
--- a/nixpkgs/pkgs/tools/security/kwalletcli/default.nix
+++ b/nixpkgs/pkgs/tools/security/kwalletcli/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, fetchFromGitHub, lib, makeWrapper, pkgconfig
-, kcoreaddons, ki18n, kwallet, mksh, pinentry_qt5 }:
+, kcoreaddons, ki18n, kwallet, mksh, pinentry-qt }:
 
 mkDerivation rec {
   pname = "kwalletcli";
@@ -36,7 +36,7 @@ mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/pinentry-kwallet \
-      --prefix PATH : $out/bin:${lib.makeBinPath [ pinentry_qt5 ]} \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ pinentry-qt ]} \
       --set-default PINENTRY pinentry-qt
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/mbox/default.nix b/nixpkgs/pkgs/tools/security/mbox/default.nix
index 24a7ea51a82c..1ef282b8b6eb 100644
--- a/nixpkgs/pkgs/tools/security/mbox/default.nix
+++ b/nixpkgs/pkgs/tools/security/mbox/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation {
       maintainers = with maintainers; [ ehmry ];
       license = licenses.bsd3;
       platforms = [ "x86_64-linux" ];
+      broken = true;
     };
 
 }
diff --git a/nixpkgs/pkgs/tools/security/meo/default.nix b/nixpkgs/pkgs/tools/security/meo/default.nix
index 308b94231e76..d10c16599643 100644
--- a/nixpkgs/pkgs/tools/security/meo/default.nix
+++ b/nixpkgs/pkgs/tools/security/meo/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "0ifg7y28s89i9gwda6fyj1jbrykbcvq8bf1m6rxmdcv5afi3arbq";
   };
 
-  buildFlags = "QMAKE=qmake";
+  buildFlags = [ "QMAKE=qmake" ];
 
   buildInputs = [ openssl pcre-cpp qt4 boost pkcs11helper ];
 
@@ -30,5 +30,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.agpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/monkeysphere/default.nix b/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
index b4d5ddb267dc..1e585136d887 100644
--- a/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
+++ b/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
@@ -36,10 +36,10 @@ in stdenv.mkDerivation rec {
       ([ gnupg opensshUnsafe which socat cpio hexdump procps lockfileProgs ] ++
       (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
-  makeFlags = ''
-    PREFIX=/
-    DESTDIR=$(out)
-  '';
+  makeFlags = [
+    "PREFIX=/"
+    "DESTDIR=$(out)"
+  ];
 
   # The tests should be run (and succeed) when making changes to this package
   # but they aren't enabled by default because they "drain" entropy (GnuPG
@@ -97,7 +97,7 @@ in stdenv.mkDerivation rec {
       familiar with, such as your web browser0 or secure shell.
     '';
     license = licenses.gpl3Plus;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix b/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
index 33a873f73dae..48df486ef0a4 100644
--- a/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
+++ b/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     pkgconfig
     wrapQtAppsHook
   ];
-  cmakeFlags = "-DCMAKE_BUILD_TYPE=Release";
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
 
   meta = with stdenv.lib; {
     description      = "Provides extra functionality for the Nitrokey Pro and Storage";
diff --git a/nixpkgs/pkgs/tools/security/notary/default.nix b/nixpkgs/pkgs/tools/security/notary/default.nix
index f1a61adabbb6..d1e2ee58e483 100644
--- a/nixpkgs/pkgs/tools/security/notary/default.nix
+++ b/nixpkgs/pkgs/tools/security/notary/default.nix
@@ -59,7 +59,7 @@ buildGoPackage rec {
     '';
     license = licenses.asl20;
     homepage = https://github.com/theupdateframework/notary;
-    maintainers = with maintainers; [ vdemeester ma27 ];
+    maintainers = with maintainers; [ vdemeester ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/nsjail/default.nix b/nixpkgs/pkgs/tools/security/nsjail/default.nix
index 3f04d2764891..f1335a1ad1d7 100644
--- a/nixpkgs/pkgs/tools/security/nsjail/default.nix
+++ b/nixpkgs/pkgs/tools/security/nsjail/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "nsjail";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner           = "google";
     repo            = "nsjail";
     rev             = version;
     fetchSubmodules = true;
-    sha256          = "0cgycj0cz74plmz4asxryqprg6mkzpmnxzqbfsp1wwackinxq5fq";
+    sha256          = "0218n0qjb45fawqqfj3gdxgd0fw5k0vxn9iggi0ciljmr9zywkgh";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/nwipe/default.nix b/nixpkgs/pkgs/tools/security/nwipe/default.nix
index caaa5eba86a9..62d7fb3b34a3 100644
--- a/nixpkgs/pkgs/tools/security/nwipe/default.nix
+++ b/nixpkgs/pkgs/tools/security/nwipe/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, ncurses, parted, automake, autoconf, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "0.25";
+  version = "0.26";
   pname = "nwipe";
   src = fetchFromGitHub {
     owner = "martijnvanbrummelen";
     repo = "nwipe";
     rev = "v${version}";
-    sha256 = "1hx041arw82k814g9r8dqsfi736mj5nlzp2zpi8n2qfqfc1q8nir";
+    sha256 = "072gg7hafq4vncpgm62yswshg6qgbi9mg2hl0p22c7if908p4vaa";
   };
   nativeBuildInputs = [ automake autoconf pkgconfig ];
   buildInputs = [ ncurses parted ];
diff --git a/nixpkgs/pkgs/tools/security/opensc/default.nix b/nixpkgs/pkgs/tools/security/opensc/default.nix
index e5611f8b2671..315cd1c8c285 100644
--- a/nixpkgs/pkgs/tools/security/opensc/default.nix
+++ b/nixpkgs/pkgs/tools/security/opensc/default.nix
@@ -7,23 +7,15 @@
 
 stdenv.mkDerivation rec {
   pname = "opensc";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "OpenSC";
     rev = version;
-    sha256 = "10575gb9l38cskq7swyjp0907wlziyxg4ppq33ndz319dsx69d87";
+    sha256 = "0mg8qmhww3li1isfgvn5hang1hq58zra057ilvgci88csfziv5lv";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-6502.patch";
-      url = "https://github.com/OpenSC/OpenSC/commit/0d7967549751b7032f22b437106b41444aff0ba9.patch";
-      sha256 = "1y42lmz8i9w99hgpakdncnv8f94cqjfabz0v4xg6wfz9akl3ff7d";
-    })
-  ];
-
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     zlib readline openssl libassuan
diff --git a/nixpkgs/pkgs/tools/security/ossec/default.nix b/nixpkgs/pkgs/tools/security/ossec/default.nix
index 7231f6821daf..2b52099e70b3 100644
--- a/nixpkgs/pkgs/tools/security/ossec/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pass/clip-wayland-support.patch b/nixpkgs/pkgs/tools/security/pass/clip-wayland-support.patch
new file mode 100644
index 000000000000..7b8d2eb010d2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pass/clip-wayland-support.patch
@@ -0,0 +1,113 @@
+From b0b784b1a57c0b06936e6f5d6560712b4b810cd3 Mon Sep 17 00:00:00 2001
+From: Brett Cornwall <brett@i--b.com>
+Date: Wed, 27 Feb 2019 00:08:33 -0700
+Subject: clip: Add support for wl-clipboard
+
+Edited to properly apply with
+`set-correct-program-name-for-sleep.patch`.
+
+---
+ README                |  4 +++-
+ man/pass.1            |  5 +++++
+ src/password-store.sh | 26 +++++++++++++++++++++-----
+ 3 files changed, 29 insertions(+), 6 deletions(-)
+
+diff --git a/README b/README
+index 6b59965..1a46242 100644
+--- a/README
++++ b/README
+@@ -19,8 +19,10 @@ Depends on:
+   http://www.gnupg.org/
+ - git
+   http://www.git-scm.com/
+-- xclip
++- xclip (for X11 environments)
+   http://sourceforge.net/projects/xclip/
++- wl-clipboard (for wlroots Wayland-based environments)
++  https://github.com/bugaevc/wl-clipboard
+ - tree >= 1.7.0
+   http://mama.indstate.edu/users/ice/tree/
+ - GNU getopt
+diff --git a/man/pass.1 b/man/pass.1
+index 01a3fbe..a555dcb 100644
+--- a/man/pass.1
++++ b/man/pass.1
+@@ -99,6 +99,8 @@ Decrypt and print a password named \fIpass-name\fP. If \fI--clip\fP or \fI-c\fP
+ is specified, do not print the password but instead copy the first (or otherwise specified)
+ line to the clipboard using
+ .BR xclip (1)
++or
++.BR wl-clipboard(1)
+ and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds. If \fI--qrcode\fP
+ or \fI-q\fP is specified, do not print the password but instead display a QR code using
+ .BR qrencode (1)
+@@ -132,6 +134,8 @@ in generating passwords can be changed with the \fIPASSWORD_STORE_CHARACTER_SET\
+ If \fI--clip\fP or \fI-c\fP is specified, do not print the password but instead copy
+ it to the clipboard using
+ .BR xclip (1)
++or
++.BR wl-clipboard(1)
+ and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds. If \fI--qrcode\fP
+ or \fI-q\fP is specified, do not print the password but instead display a QR code using
+ .BR qrencode (1)
+@@ -466,6 +470,7 @@ The location of the text editor used by \fBedit\fP.
+ .BR tr (1),
+ .BR git (1),
+ .BR xclip (1),
++.BR wl-clipboard (1),
+ .BR qrencode (1).
+ 
+ .SH AUTHOR
+diff --git a/src/password-store.sh b/src/password-store.sh
+index d89d455..284eabf 100755
+--- a/src/password-store.sh
++++ b/src/password-store.sh
+@@ -152,16 +152,32 @@ check_sneaky_paths() {
+ #
+ 
+ clip() {
++	if [[ -n $WAYLAND_DISPLAY ]]; then
++		local copy_cmd=( wl-copy )
++		local paste_cmd=( wl-paste -n )
++		if [[ $X_SELECTION == primary ]]; then
++			copy_cmd+=( --primary )
++			paste_cmd+=( --primary )
++		fi
++		local display_name="$WAYLAND_DISPLAY"
++	elif [[ -n $DISPLAY ]]; then
++		local copy_cmd=( xclip -selection "$X_SELECTION" )
++		local paste_cmd=( xclip -o -selection "$X_SELECTION" )
++		local display_name="$DISPLAY"
++	else
++		die "Error: No X11 or Wayland display detected"
++	fi
++	local sleep_argv0="password store sleep on display $display_name"
++
+ 	# This base64 business is because bash cannot store binary data in a shell
+ 	# variable. Specifically, it cannot store nulls nor (non-trivally) store
+ 	# trailing new lines.
+-	local sleep_argv0="password store sleep on display $DISPLAY"
+ 	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
+-	local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | $BASE64)"
+-	echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
++	local before="$("${paste_cmd[@]}" 2>/dev/null | $BASE64)"
++	echo -n "$1" | "${copy_cmd[@]}" || die "Error: Could not copy data to the clipboard"
+ 	(
+ 		( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") )
+-		local now="$(xclip -o -selection "$X_SELECTION" | $BASE64)"
++		local now="$("${paste_cmd[@]}" | $BASE64)"
+ 		[[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
+ 
+ 		# It might be nice to programatically check to see if klipper exists,
+@@ -173,7 +189,7 @@ clip() {
+ 		# so we axe it here:
+ 		qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null
+ 
+-		echo "$before" | $BASE64 -d | xclip -selection "$X_SELECTION"
++		echo "$before" | $BASE64 -d | "${copy_cmd[@]}"
+ 	) >/dev/null 2>&1 & disown
+ 	echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
+ }
+-- 
+cgit v1.2.1-28-gf32c
+
diff --git a/nixpkgs/pkgs/tools/security/pass/default.nix b/nixpkgs/pkgs/tools/security/pass/default.nix
index aeb838c05765..5d0e94bc803e 100644
--- a/nixpkgs/pkgs/tools/security/pass/default.nix
+++ b/nixpkgs/pkgs/tools/security/pass/default.nix
@@ -4,6 +4,7 @@
 
 , xclip ? null, xdotool ? null, dmenu ? null
 , x11Support ? !stdenv.isDarwin
+, waylandSupport ? false, wl-clipboard ? null
 
 # For backwards-compatibility
 , tombPluginSupport ? false
@@ -15,6 +16,8 @@ assert x11Support -> xclip != null
                   && xdotool != null
                   && dmenu != null;
 
+assert waylandSupport -> wl-clipboard != null;
+
 let
   passExtensions = import ./extensions { inherit pkgs; };
 
@@ -37,8 +40,11 @@ let
       sha256 = "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b";
     };
 
-    patches = [ ./set-correct-program-name-for-sleep.patch
-              ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
+    patches = [ ./set-correct-program-name-for-sleep.patch ]
+      ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch
+      # TODO (@Ma27) this patch adds support for wl-clipboard and can be removed during the next
+      # version bump.
+      ++ stdenv.lib.optional waylandSupport ./clip-wayland-support.patch;
 
     nativeBuildInputs = [ makeWrapper ];
 
@@ -67,7 +73,8 @@ let
       qrencode
       procps
     ] ++ optional stdenv.isDarwin openssl
-      ++ ifEnable x11Support [ dmenu xclip xdotool ]);
+      ++ ifEnable x11Support [ dmenu xclip xdotool ]
+      ++ optional waylandSupport wl-clipboard);
 
     postFixup = ''
       # Link extensions env
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/checkup.nix b/nixpkgs/pkgs/tools/security/pass/extensions/checkup.nix
new file mode 100644
index 000000000000..83a1d7a8872d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/checkup.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub
+, curl, findutils, gnugrep, gnused }:
+
+stdenv.mkDerivation rec {
+  pname = "pass-checkup";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "etu";
+    repo = "pass-checkup";
+    rev = version;
+    sha256 = "17fyf8zj535fg43yddjww1jhxfb3nbdkn622wjxaai2nf46jzh7y";
+  };
+
+  patchPhase = ''
+    substituteInPlace checkup.bash \
+      --replace curl ${curl}/bin/curl \
+      --replace find ${findutils}/bin/find \
+      --replace grep ${gnugrep}/bin/grep \
+      --replace sed ${gnused}/bin/sed
+  '';
+
+  installPhase = ''
+    install -D -m755 checkup.bash $out/lib/password-store/extensions/checkup.bash
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A pass extension to check against the Have I been pwned API to see if your passwords are publicly leaked or not";
+    homepage = "https://github.com/etu/pass-checkup";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/default.nix b/nixpkgs/pkgs/tools/security/pass/extensions/default.nix
index 96d79a8daceb..6eb321229e00 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/default.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/default.nix
@@ -6,6 +6,7 @@ with pkgs;
   pass-audit = callPackage ./audit.nix {
     pythonPackages = python3Packages;
   };
+  pass-checkup = callPackage ./checkup.nix {};
   pass-import = callPackage ./import.nix {
     pythonPackages = python3Packages;
   };
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix b/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
index c031c59e3f63..208012e2f883 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "pass-genphrase";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "congma";
     repo = "pass-genphrase";
     rev = version;
-    sha256 = "0vcg3b79n1r949qfn8ns85bq2mfsmbf4jw2dlzif8425n8ppfsgd";
+    sha256 = "1sdkmz5s6wdx4vdlgqf5kmyrm17zwzy3n52s13qpx32bnnajap1h";
   };
 
   dontBuild = true;
 
-  installTargets = "globalinstall";
+  installTargets = [ "globalinstall" ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/import.nix b/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
index 9d9d36fd0d90..90e3105bbd80 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
@@ -1,34 +1,51 @@
-{ stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper }:
+{ stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper, fetchpatch }:
 
 let
-  pythonEnv = pythonPackages.python.withPackages (p: [ p.defusedxml ]);
+  pythonEnv = pythonPackages.python.withPackages (p: [
+    p.defusedxml
+    p.setuptools
+    p.pyaml
+  ]);
 
 in stdenv.mkDerivation rec {
   pname = "pass-import";
-  version = "2.3";
+  version = "2.6";
 
   src = fetchFromGitHub {
     owner = "roddhjav";
     repo = "pass-import";
     rev = "v${version}";
-    sha256 = "1209aqkiqqbir5yzwk5jvyk8c1fyrsj9igr3n4banf347rlwmzfv";
+    sha256 = "1q8rln4djh2z8j2ycm654df5y6anm5iv2r19spgy07c3fnisxlac";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = [ pythonEnv ];
 
-  patchPhase = ''
+  patches = [
+    # https://github.com/roddhjav/pass-import/pull/91
+    (fetchpatch {
+      url = "https://github.com/roddhjav/pass-import/commit/6ccaf639e92df45bd400503757ae4aa2c5c030d7.patch";
+      sha256 = "0lw9vqvbqcy96s7v7nz0i1bdx93x7qr13azymqypcdhjwmq9i63h";
+    })
+  ];
+
+  postPatch = ''
     sed -i -e 's|$0|${pass}/bin/pass|' import.bash
   '';
 
   dontBuild = true;
 
-  installFlags = [ "PREFIX=$(out)" ];
+  installFlags = [
+    "PREFIX=$(out)"
+    "BASHCOMPDIR=$(out)/etc/bash_completion.d"
+  ];
 
   postFixup = ''
+    install -D pass_import.py $out/${pythonPackages.python.sitePackages}/pass_import.py
     wrapProgram $out/lib/password-store/extensions/import.bash \
       --prefix PATH : "${pythonEnv}/bin" \
+      --prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}" \
       --run "export PREFIX"
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/pbis/default.nix b/nixpkgs/pkgs/tools/security/pbis/default.nix
new file mode 100644
index 000000000000..176ef7f7616b
--- /dev/null
+++ b/nixpkgs/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 -Wno-error=address-of-packed-member"
+    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/nixpkgs/pkgs/tools/security/pcsclite/default.nix b/nixpkgs/pkgs/tools/security/pcsclite/default.nix
index eed462ef0d04..263c308fc3d6 100644
--- a/nixpkgs/pkgs/tools/security/pcsclite/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pcsctools/default.nix b/nixpkgs/pkgs/tools/security/pcsctools/default.nix
index 24519654e9a5..fa53b91a02f1 100644
--- a/nixpkgs/pkgs/tools/security/pcsctools/default.nix
+++ b/nixpkgs/pkgs/tools/security/pcsctools/default.nix
@@ -5,11 +5,11 @@
 let deps = lib.makeBinPath [ wget coreutils ];
 
 in stdenv.mkDerivation rec {
-  name = "pcsc-tools-1.5.4";
+  name = "pcsc-tools-1.5.5";
 
   src = fetchurl {
     url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.bz2";
-    sha256 = "14vw6ya8gzyw3lzyrsvfcxx7qm7ry39fbxcdqqh552c1lyxnm7n3";
+    sha256 = "01251m8hf7by8rw8fayhjxmcqvi6dp150680fpf89bqycha2vgqv";
   };
 
   buildInputs = [ udev dbus perlPackages.perl pcsclite ];
diff --git a/nixpkgs/pkgs/tools/security/pdfcrack/default.nix b/nixpkgs/pkgs/tools/security/pdfcrack/default.nix
index c235c98b9719..bf8f014bcfd1 100644
--- a/nixpkgs/pkgs/tools/security/pdfcrack/default.nix
+++ b/nixpkgs/pkgs/tools/security/pdfcrack/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfcrack";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/pdfcrack/pdfcrack/pdfcrack-${version}.tar.gz";
-    sha256 = "15hfxwr9yfzkx842p0jjdjnjarny6qc5fwcpy2f6lnq047pb26sn";
+    sha256 = "035s3jzrs3ci0i53x04dzpqp9225c4s52cd722d6zqra5b2sw8w2";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix b/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
index 93dc75c1f32d..71a9824bb62b 100644
--- a/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
+++ b/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openssl libssh2 gpgme ];
 
-  configureFlags = "--with-plugins";
+  configureFlags = [ "--with-plugins" ];
 
   meta = with stdenv.lib; {
     description = "A modular and multi processing pass phrase cracking tool";
diff --git a/nixpkgs/pkgs/tools/security/pinentry/default.nix b/nixpkgs/pkgs/tools/security/pinentry/default.nix
index 160816a8cb72..87edc914131d 100644
--- a/nixpkgs/pkgs/tools/security/pinentry/default.nix
+++ b/nixpkgs/pkgs/tools/security/pinentry/default.nix
@@ -1,60 +1,93 @@
-{ fetchurl, fetchpatch, stdenv, lib, pkgconfig, autoreconfHook
-, libgpgerror, libassuan
-, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null
-, qt4 ? null, qt5 ? null
-, enableEmacs ? false
+{ fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkgconfig, autoreconfHook, wrapGAppsHook
+, libgpgerror, libassuan, qtbase, wrapQtAppsHook
+, ncurses, gtk2, gcr
+, libcap ? null, libsecret ? null
+, enabledFlavors ? [ "curses" "tty" "gtk2" "qt" "gnome3" "emacs" ]
 }:
 
-assert qt5 != null -> qt4 == null;
-assert qt4 != null -> qt5 == null;
+with stdenv.lib;
+
+assert isList enabledFlavors && enabledFlavors != [];
 
 let
-  mkDerivation =
-    if qt5 != null
-      then qt5.mkDerivation
+  pinentryMkDerivation =
+    if (builtins.elem "qt" enabledFlavors)
+      then mkDerivation
       else stdenv.mkDerivation;
+
+  mkFlag = pfxTrue: pfxFalse: cond: name:
+    "--${if cond then pfxTrue else pfxFalse}-${name}";
+  mkEnable = mkFlag "enable" "disable";
+  mkWith = mkFlag "with" "without";
+
+  mkEnablePinentry = f:
+    let
+      info = flavorInfo.${f};
+      flag = flavorInfo.${f}.flag or null;
+    in
+      optionalString (flag != null)
+        (mkEnable (elem f enabledFlavors) ("pinentry-" + flag));
+
+  flavorInfo = {
+    curses = { bin = "curses"; flag = "curses"; buildInputs = [ ncurses ]; };
+    tty = { bin = "tty"; flag = "tty"; };
+    gtk2 = { bin = "gtk-2"; flag = "gtk2"; buildInputs = [ gtk2 ]; };
+    gnome3 = { bin = "gnome3"; flag = "gnome3"; buildInputs = [ gcr ]; nativeBuildInputs = [ wrapGAppsHook ]; };
+    qt = { bin = "qt"; flag = "qt"; buildInputs = [ qtbase ]; nativeBuildInputs = [ wrapQtAppsHook ]; };
+    emacs = { bin = "emacs"; flag = "emacs"; buildInputs = []; };
+  };
+
 in
 
-mkDerivation rec {
-  name = "pinentry-1.1.0";
+pinentryMkDerivation rec {
+  pname = "pinentry";
+  version = "1.1.0";
 
   src = fetchurl {
-    url = "mirror://gnupg/pinentry/${name}.tar.bz2";
+    url = "mirror://gnupg/pinentry/${pname}-${version}.tar.bz2";
     sha256 = "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs =
-    [ libgpgerror libassuan libcap libsecret gtk2 gcr ncurses qt4 ]
-    ++ stdenv.lib.optional (qt5 != null) qt5.qtbase;
+  nativeBuildInputs = [ pkgconfig autoreconfHook ]
+    ++ concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors;
+  buildInputs = [ libgpgerror libassuan libcap libsecret ]
+    ++ concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors;
 
-  prePatch = ''
-    substituteInPlace pinentry/pinentry-curses.c --replace ncursesw ncurses
-  '';
+  dontWrapGApps = true;
+  dontWrapQtApps = true;
 
   patches = [
     ./autoconf-ar.patch
-  ] ++ lib.optionals (gtk2 != null) [
+  ] ++ optionals (elem "gtk2" enabledFlavors) [
     (fetchpatch {
-      url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/"
-          + "0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
+      url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
       sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
     })
   ];
 
   configureFlags = [
-    (stdenv.lib.withFeature   (libcap != null)    "libcap")
-    (stdenv.lib.enableFeature (libsecret != null) "libsecret")
-    (stdenv.lib.enableFeature (ncurses != null)   "pinentry-curses")
-    (stdenv.lib.enableFeature true                "pinentry-tty")
-    (stdenv.lib.enableFeature enableEmacs         "pinentry-emacs")
-    (stdenv.lib.enableFeature (gtk2 != null)      "pinentry-gtk2")
-    (stdenv.lib.enableFeature (gcr != null)       "pinentry-gnome3")
-    (stdenv.lib.enableFeature (qt4 != null || qt5 != null) "pinentry-qt")
-
-    "--with-libassuan-prefix=${libassuan.dev}"
-    "--with-libgpg-error-prefix=${libgpgerror.dev}"
-  ];
+    (mkWith   (libcap != null)    "libcap")
+    (mkEnable (libsecret != null) "libsecret")
+  ] ++ (map mkEnablePinentry (attrNames flavorInfo));
+
+  postInstall =
+    concatStrings (flip map enabledFlavors (f:
+      let
+        binary = "pinentry-" + flavorInfo.${f}.bin;
+      in ''
+        moveToOutput bin/${binary} ${placeholder f}
+        ln -sf ${placeholder f}/bin/${binary} ${placeholder f}/bin/pinentry
+      '' + optionalString (f == "gnome3") ''
+        wrapGApp ${placeholder f}/bin/${binary}
+      '' + optionalString (f == "qt") ''
+        wrapQtApp ${placeholder f}/bin/${binary}
+      '')) + ''
+      ln -sf ${placeholder (head enabledFlavors)}/bin/pinentry-${flavorInfo.${head enabledFlavors}.bin} $out/bin/pinentry
+    '';
+
+  outputs = [ "out" ] ++ enabledFlavors;
+
+  passthru = { flavors = enabledFlavors; };
 
   meta = with stdenv.lib; {
     homepage = http://gnupg.org/aegypten2/;
@@ -65,6 +98,6 @@ mkDerivation rec {
       Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
       to enter a passphrase when `gpg' or `gpg2' is run and needs it.
     '';
-    maintainers = [ maintainers.ttuegel ];
+    maintainers = with maintainers; [ ttuegel fpletz ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/pius/default.nix b/nixpkgs/pkgs/tools/security/pius/default.nix
index 5aa4ad47d42b..6d2b5569a0d4 100644
--- a/nixpkgs/pkgs/tools/security/pius/default.nix
+++ b/nixpkgs/pkgs/tools/security/pius/default.nix
@@ -36,6 +36,6 @@ python3Packages.buildPythonApplication {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu kierdavis ];
+    maintainers = with stdenv.lib.maintainers; [ kierdavis ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/proxmark3/default.nix b/nixpkgs/pkgs/tools/security/proxmark3/default.nix
index afaed796057c..e717558a24da 100644
--- a/nixpkgs/pkgs/tools/security/proxmark3/default.nix
+++ b/nixpkgs/pkgs/tools/security/proxmark3/default.nix
@@ -1,37 +1,59 @@
-{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline }:
+{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline, pcsclite, qt5
+, gcc-arm-embedded }:
 
-stdenv.mkDerivation rec {
-  pname = "proxmark3";
-  version = "3.1.0";
+let
+  generic = { pname, version, rev, sha256 }:
+    stdenv.mkDerivation rec {
+      inherit pname version;
 
-  src = fetchFromGitHub {
-    owner = "Proxmark";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1qw28n1bhhl91ix77lv50qcr919fq3hjc8zhhqphwxal2svgx2jf";
-  };
+      src = fetchFromGitHub {
+        owner = "Proxmark";
+        repo = "proxmark3";
+        inherit rev sha256;
+      };
+
+      nativeBuildInputs = [ pkgconfig gcc-arm-embedded ];
+      buildInputs = [ ncurses readline pcsclite qt5.qtbase ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses readline ];
+      postPatch = ''
+        substituteInPlace client/Makefile --replace '-ltermcap' ' '
+        substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
+        substituteInPlace client/flasher.c \
+          --replace 'armsrc/obj/fullimage.elf' \
+                    '${placeholder "out"}/firmware/fullimage.elf'
+      '';
 
-  postPatch = ''
-    substituteInPlace client/Makefile --replace '-ltermcap' ' '
-    substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
-  '';
+      buildPhase = ''
+        make bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf client
+      '';
 
-  preBuild = ''
-    cd client
-  '';
+      installPhase = ''
+        install -Dt $out/bin client/proxmark3
+        install -T client/flasher $out/bin/proxmark3-flasher
+        install -Dt $out/firmware bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
+      '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp proxmark3 $out/bin
-  '';
+      meta = with stdenv.lib; {
+        description = "Client for proxmark3, powerful general purpose RFID tool";
+        homepage = http://www.proxmark.org;
+        license = licenses.gpl2Plus;
+        maintainers = with maintainers; [ fpletz ];
+      };
+    };
+in
+
+{
+  proxmark3 = generic rec {
+    pname = "proxmark3";
+    version = "3.1.0";
+    rev = "v${version}";
+    sha256 = "1qw28n1bhhl91ix77lv50qcr919fq3hjc8zhhqphwxal2svgx2jf";
+  };
 
-  meta = with stdenv.lib; {
-    description = "Client for proxmark3,  powerful general purpose RFID tool";
-    homepage = http://www.proxmark.org;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fpletz ];
+  proxmark3-unstable = generic {
+    pname = "proxmark3-unstable";
+    version = "2019-12-28";
+    rev = "a4ff62be63ca2a81071e9aa2b882bd3ff57f13ad";
+    sha256 = "067lp28xqx61n3i2a2fy489r5frwxqrcfj8cpv3xdzi3gb3vk5c3";
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/rarcrack/default.nix b/nixpkgs/pkgs/tools/security/rarcrack/default.nix
index 65158b3c5fe3..68e5df809377 100644
--- a/nixpkgs/pkgs/tools/security/rarcrack/default.nix
+++ b/nixpkgs/pkgs/tools/security/rarcrack/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ libxml2 file p7zip unrar unzip ];
-  buildFlags = if stdenv.cc.isClang then [ "CC=clang" ] else null;
-  installFlags = "PREFIX=\${out}";
+  buildFlags = stdenv.lib.optional stdenv.cc.isClang "CC=clang";
+  installFlags = [ "PREFIX=\${out}" ];
 
   patchPhase = ''
    substituteInPlace rarcrack.c --replace "file -i" "${file}/bin/file -i"
diff --git a/nixpkgs/pkgs/tools/security/rhash/default.nix b/nixpkgs/pkgs/tools/security/rhash/default.nix
index ad606af95621..863b03a117c5 100644
--- a/nixpkgs/pkgs/tools/security/rhash/default.nix
+++ b/nixpkgs/pkgs/tools/security/rhash/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, which }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.8";
+  version = "1.3.9";
   pname = "rhash";
 
   src = fetchFromGitHub {
     owner = "rhash";
     repo = "RHash";
     rev = "v${version}";
-    sha256 = "0i00wl63hn80g0s9gdi772gchbghwgkvn4nbb5227y2wwy30yyi2";
+    sha256 = "06i49x1l21h2q7pfnf4crbmjyg8b9ad0qs10ywyyn5sjpi0c21wq";
   };
 
   nativeBuildInputs = [ which ];
@@ -23,8 +23,9 @@ stdenv.mkDerivation rec {
   installTargets = [ "install" "install-lib-shared" "install-lib-so-link" "install-lib-headers" ];
 
   meta = with stdenv.lib; {
-    homepage = http://rhash.anz.ru;
+    homepage = "http://rhash.sourceforge.net/";
     description = "Console utility and library for computing and verifying hash sums of files";
+    license = licenses.bsd0;
     platforms = platforms.all;
     maintainers = [ maintainers.andrewrk ];
   };
diff --git a/nixpkgs/pkgs/tools/security/ripasso/cursive.nix b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
index 9eac6b6e5ca4..b273b882daf0 100644
--- a/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
+++ b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
@@ -1,30 +1,37 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security }:
 
 with rustPlatform;
 buildRustPackage rec {
-  version = "unstable-2019-08-27";
+  version = "0.3.0";
   pname = "ripasso-cursive";
 
   src = fetchFromGitHub {
     owner = "cortex";
     repo = "ripasso";
-    rev  = "1b5ef4ae19f95f1422ba5cb09e9e689880599c40";
-    sha256 = "1lh1in8knpqz4vbsmdyd4hh8y4bfhxjciysfbq3qzdpdpihgj0nn";
+    rev  = "release-${version}";
+    sha256 = "1rkb23i9gcfmifcl31s8w86k7aza6nxrh3w33fvhv1ins1gxxk7w";
   };
 
-  cargoSha256 = "0dwaa106vj7jbgshhqpjabsr0zmkg1a5syzky7jcaasvc7r7njwl";
-  cargoBuildFlags = [ "-p ripasso-cursive" ];
+  cargoSha256 = "1p0bsl4h2w257vfjbpqiga693gaslfq34g30dghpqb5n4kl416zp";
+
+  cargoBuildFlags = [ "-p ripasso-cursive -p ripasso-man" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     ncurses python3 openssl libgpgerror gpgme xorg.libxcb
-  ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
+
+  preFixup = ''
+    mkdir -p "$out/man/man1"
+    $out/bin/ripasso-man > $out/man/man1/ripasso-cursive.1
+    rm $out/bin/ripasso-man
+  '';
 
   meta = with stdenv.lib; {
     description = "A simple password manager written in Rust";
     homepage = "https://github.com/cortex/ripasso";
     license = licenses.gpl3;
     maintainers = with maintainers; [ sgo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/rng-tools/default.nix b/nixpkgs/pkgs/tools/security/rng-tools/default.nix
index 41faa375f83d..bd289200fe80 100644
--- a/nixpkgs/pkgs/tools/security/rng-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/rng-tools/default.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchFromGitHub, libtool, autoreconfHook, pkgconfig
 , sysfsutils
+, argp-standalone
   # WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS
   # https://www.nist.gov/programs-projects/nist-randomness-beacon
 , curl ? null, libxml2 ? null, openssl ? null, withNistBeacon ? false
   # Systems that support RDRAND but not AES-NI require libgcrypt to use RDRAND as an entropy source
 , libgcrypt ? null, withGcrypt ? true
-  # Not sure if jitterentropy is safe to use for cryptography
-  # and thus a default entropy source
-, jitterentropy ? null, withJitterEntropy ? false
+, jitterentropy ? null, withJitterEntropy ? true
 , libp11 ? null, opensc ? null, withPkcs11 ? true
 }:
 
@@ -15,18 +14,16 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.7";
+  version = "6.9";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = "rng-tools";
     rev = "v${version}";
-    sha256 = "19f75m6mzg8h7b4snzg7d6ypvkz6nq32lrpi9ja95gqz4wsd18a5";
+    sha256 = "065jf26s8zkicb95zc9ilksjdq9gqrh5vcx3mhi6mypbnamn6w98";
   };
 
   postPatch = ''
-    cp README.md README
-
     ${optionalString withPkcs11 ''
       substituteInPlace rngd.c \
         --replace /usr/lib64/opensc-pkcs11.so ${opensc}/lib/opensc-pkcs11.so
@@ -42,25 +39,27 @@ stdenv.mkDerivation rec {
     (withFeature   withPkcs11        "pkcs11")
   ];
 
+  # argp-standalone is only used when libc lacks argp parsing (musl)
   buildInputs = [ sysfsutils ]
+    ++ optionals stdenv.hostPlatform.isx86_64 [ argp-standalone ]
     ++ optionals withGcrypt        [ libgcrypt ]
     ++ optionals withJitterEntropy [ jitterentropy ]
     ++ optionals withNistBeacon    [ curl libxml2 openssl ]
     ++ optionals withPkcs11        [ libp11 openssl ];
 
-  # This shouldn't be necessary but is as of 6.7
-  NIX_LDFLAGS = optionalString withPkcs11 "-lcrypto";
-
   enableParallelBuilding = true;
 
   # For cross-compilation
   makeFlags = [ "AR:=$(AR)" ];
 
+  doCheck = true;
+  preCheck = "patchShebangs tests/*.sh";
+
   meta = {
     description = "A random number generator daemon";
     homepage = https://github.com/nhorman/rng-tools;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ johnazoidberg ];
+    maintainers = with maintainers; [ johnazoidberg c0bw3b ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/scrypt/default.nix b/nixpkgs/pkgs/tools/security/scrypt/default.nix
index 2ca4c1df18c4..66313b536499 100644
--- a/nixpkgs/pkgs/tools/security/scrypt/default.nix
+++ b/nixpkgs/pkgs/tools/security/scrypt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "scrypt";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://www.tarsnap.com/scrypt/${pname}-${version}.tgz";
-    sha256 = "0xy5yhrwwv13skv9im9vm76rybh9f29j2dh4hlh2x01gvbkza8a6";
+    sha256 = "0j17yfrpi2bk5cawb4a4mzpv1vadqxh956hx0pa1gqfisknk8c16";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/security/sequoia/default.nix b/nixpkgs/pkgs/tools/security/sequoia/default.nix
index 9d6928abf86f..21403225aad2 100644
--- a/nixpkgs/pkgs/tools/security/sequoia/default.nix
+++ b/nixpkgs/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,5 +87,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ minijackson doronbehar ];
     platforms = platforms.all;
+    broken = stdenv.targetPlatform.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/sops/default.nix b/nixpkgs/pkgs/tools/security/sops/default.nix
index b132066fee52..8aa2e219e7df 100644
--- a/nixpkgs/pkgs/tools/security/sops/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 3ece05926ccc..656efbf390cb 100644
--- a/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spectre-meltdown-checker";
-  version = "0.42";
+  version = "0.43";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "0pppf844i7b72hqnmfvq72w5y7b6dxd16y29l6j84maf22zxbjni";
+    sha256 = "1ys5m1yvm26qjlsjpqqd33lwpb880p0ay289hmifxjjawkqddjgg";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/security/step-ca/default.nix b/nixpkgs/pkgs/tools/security/step-ca/default.nix
new file mode 100644
index 000000000000..e5574be8ab94
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/step-ca/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "step-ca";
+  version = "0.13.3";
+
+  goPackagePath = "github.com/smallstep/certificates";
+
+  src = fetchFromGitHub {
+    owner = "smallstep";
+    repo = "certificates";
+    rev = "v${version}";
+    sha256 = "1i42j7v5a5qqqb9ng8irblfyzykhyws0394q3zac290ymjijxbnq";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH";
+    homepage = "https://smallstep.com/certificates/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cmcdragonkai ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/step-ca/deps.nix b/nixpkgs/pkgs/tools/security/step-ca/deps.nix
new file mode 100644
index 000000000000..07607b6f65d2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/step-ca/deps.nix
@@ -0,0 +1,291 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev =  "e2d15f34fcf99d5dbb871c820ec73f710fca9815";
+      sha256 = "05kkrsmpragy69bj6s80pxlm3pbwxrkkx7wgk0xigs6y2n6ylpds";
+    };
+  }
+  {
+    goPackagePath  = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev =  "2972be24d48e78746da79ba8e24e8b488c9880de";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev =  "391b6d3b93e6014fe8c2971fcc0c1266e47dbbd9";
+      sha256 = "13zyd6irxagwfv4azgmpk2qg8f80plhxrcjl8x89jzsjkl0a0pkx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev =  "6a90982ecee230ff6cba02d5bd386acc030be9d3";
+      sha256 = "1x3l4jgps0v1bjvd446kj4dp0ckswjckxgrng9afm275ixnf83ix";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-chi/chi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-chi/chi";
+      rev =  "0ebf7795c516423a110473652e9ba3a59a504863";
+      sha256 = "18hwj6vni19ykp3bsmg9ggnl6y2hawym0vbsigdgx8craqbp7jb1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev =  "72cd26f257d44c1114970e19afddcd812016007e";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "aa810b61a9c79d51363740d207bb46cf8e620ed5";
+      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
+    };
+  }
+  {
+    goPackagePath  = "github.com/juju/ansiterm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/ansiterm";
+      rev =  "720a0952cc2ac777afc295d9861263e2a4cf96a1";
+      sha256 = "0n6j0y7xhashp8gdkdl0r7vlbkdrkymrzxn9hxrx522k2isggs7h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath  = "github.com/lunixbochs/vtclean";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lunixbochs/vtclean";
+      rev =  "2d01aacdc34a083dca635ba869909f5fc0cd4f41";
+      sha256 = "1ss88dyx5hr4imvpg5lixvp0cf7c2qm4x9m8mdgshjpm92g5rqmf";
+    };
+  }
+  {
+    goPackagePath  = "github.com/manifoldco/promptui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/manifoldco/promptui";
+      rev =  "157c96fb638a14d268b305cf2012582431fcc410";
+      sha256 = "0zha48i5f529q4j1qycybdzza4l9706hijiqws36ikd5jzg8i7wz";
+    };
+  }
+  {
+    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 =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mmcloughlin/avo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mmcloughlin/avo";
+      rev =  "2e7d06bc7ada2979f17ccf8ebf486dba23b84fc7";
+      sha256 = "0fna1hhg193zy428lkj24a8853g3qviqs2c9xi96mji6ldprna5d";
+    };
+  }
+  {
+    goPackagePath  = "github.com/newrelic/go-agent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/newrelic/go-agent";
+      rev =  "f5bce3387232559bcbe6a5f8227c4bf508dac1ba";
+      sha256 = "1zbp1cqhxp0sz3faymam6h1f91r1gl8dnnjx7qg8r06bd5fbzllb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/rs/xid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/xid";
+      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
+      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/samfoo/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/samfoo/ansi";
+      rev =  "b6bd2ded7189ce35bc02233b554eb56a5146af73";
+      sha256 = "0sw2d7c6l2ry34x0n4j37ydr8s7hxnax76yh6n35gb2g6f1h46sz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev =  "86672fcb3f950f35f2e675df2240550f2a50762f";
+      sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "ad15b42461921f1fb3529b058c6786c6a45d5162";
+      sha256 = "02xdfcp4f6dqvpavwf1vvr794qgz2fx8929paam7wnvcxy7ib606";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/assert";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/assert";
+      rev =  "de77670473b5492f5d0bce155b5c01534c2d13f7";
+      sha256 = "15z2b4qyylnwgq2pzlaxsdabqxh8dbna4ddprk9rzmsvnfkpds16";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/cli";
+      rev =  "eeecaac062cb548ee2ab7c7563bc3c2f2160f019";
+      sha256 = "1khhd1vgwqb08vki1nh0k4i2yk6jjdqmnq4f8anqn125zsj7hvdk";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/nosql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/nosql";
+      rev =  "f80b3f432de0662f07ebd58fe52b0a119fe5dcd9";
+      sha256 = "155blxdgaprl1py5g8p52gipp0ckz3k6v41hgsp83nay01yynafb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "b67dcf995b6a7b7f14fad5fcb7cc5441b05e814b";
+      sha256 = "0n5vq4nydlhb7w12jiwphvxqdy4jwpxc3zwlxyhf05lq1nxfb56h";
+    };
+  }
+  {
+    goPackagePath  = "go.etcd.io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev =  "63597a96ec0ad9e6d43c3fc81e809909e0237461";
+      sha256 = "13d5l6p6c5wvkr6vn9hkhz9c593qifn7fgx0hg4d6jcvg1y0bnm2";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "4d3f4d9ffa16a13f451c3b2999e9c49e9750bf06";
+      sha256 = "0sbsgjm6wqa162ssrf1gnpv62ak5wjn1bn8v7sxwwfg8a93z1028";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "c44066c5c816ec500d459a2a324a753f78531ae0";
+      sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "9b800f95dbbc54abff0acf7ee32d88ba4e328c89";
+      sha256 = "07v3l7q7y59cwvw0mc85i39v7qjcc1jh4svwi789rmrqqm5nq7q6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev =  "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75";
+      sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "54a98f90d1c46b7731eb8fb305d2a321c30ef610";
+      sha256 = "0l7mkdnwhidv8m686x432vmx8z5nqcrr9f46ddgvrxbh4wvyfcll";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/square/go-jose.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/square/go-jose";
+      rev =  "730df5f748271903322feb182be83b43ebbbe27d";
+      sha256 = "11r93g9xrcjqj7qvq8sbd5hy5rnbpmim0vdsp6rbav8gl7wimaa3";
+    };
+  }
+]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/security/step-cli/default.nix b/nixpkgs/pkgs/tools/security/step-cli/default.nix
new file mode 100644
index 000000000000..0ecd3bc82532
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/step-cli/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "step-cli";
+  version = "0.13.3";
+
+  goPackagePath = "github.com/smallstep/cli";
+
+  src = fetchFromGitHub {
+    owner = "smallstep";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "0b5hk9a8yq1nyh8m1gmf28yiha95xwsc4dk321g84hvai7g47pbr";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
+    homepage = https://smallstep.com/cli/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ xfix ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/step-cli/deps.nix b/nixpkgs/pkgs/tools/security/step-cli/deps.nix
new file mode 100644
index 000000000000..bae1ba070a69
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/step-cli/deps.nix
@@ -0,0 +1,453 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev =  "e2d15f34fcf99d5dbb871c820ec73f710fca9815";
+      sha256 = "05kkrsmpragy69bj6s80pxlm3pbwxrkkx7wgk0xigs6y2n6ylpds";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ThomasRooney/gexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ThomasRooney/gexpect";
+      rev =  "5482f03509440585d13d8f648989e05903001842";
+      sha256 = "04zan78ndabxlwsw2hdcqbz32435pw2s04ljza07jlxnxzjp4kws";
+    };
+  }
+  {
+    goPackagePath  = "github.com/asaskevich/govalidator";
+    fetch = {
+      type = "git";
+      url = "https://github.com/asaskevich/govalidator";
+      rev =  "ccb8e960c48f04d6935e72476ae4a51028f9e22f";
+      sha256 = "1sih4yb6fqmdp5g6594yyida0qm7dvvqcfvf8pgikydkxyqb8g0k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boombuler/barcode";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boombuler/barcode";
+      rev =  "3cfea5ab600ae37946be2b763b8ec2c1cf2d272d";
+      sha256 = "1fzb8wz1ny2sc78g9rm0bcm80pgwvkm2k6lmim2sb4jgm1j3sajd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev =  "2972be24d48e78746da79ba8e24e8b488c9880de";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/corpix/uarand";
+    fetch = {
+      type = "git";
+      url = "https://github.com/corpix/uarand";
+      rev =  "2b8494104d86337cdd41d0a49cbed8e4583c0ab4";
+      sha256 = "06ml5m8l9wbr96gvyg6z1syawn797f8kmq74nhgry3vqpngyb6yn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev =  "391b6d3b93e6014fe8c2971fcc0c1266e47dbbd9";
+      sha256 = "13zyd6irxagwfv4azgmpk2qg8f80plhxrcjl8x89jzsjkl0a0pkx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev =  "6a90982ecee230ff6cba02d5bd386acc030be9d3";
+      sha256 = "1x3l4jgps0v1bjvd446kj4dp0ckswjckxgrng9afm275ixnf83ix";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-chi/chi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-chi/chi";
+      rev =  "0ebf7795c516423a110473652e9ba3a59a504863";
+      sha256 = "18hwj6vni19ykp3bsmg9ggnl6y2hawym0vbsigdgx8craqbp7jb1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev =  "72cd26f257d44c1114970e19afddcd812016007e";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "b5d812f8a3706043e23a9cd5babf2e5423744d30";
+      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/certificate-transparency-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/certificate-transparency-go";
+      rev =  "3629d6846518309d22c16fee15d1007262a459d2";
+      sha256 = "16vsq7dd2kbbk3vwlrhm3jrlg5kq16wf4iz6d1gnyc32s5fcy9d7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/icrowley/fake";
+    fetch = {
+      type = "git";
+      url = "https://github.com/icrowley/fake";
+      rev =  "4178557ae428460c3780a381c824a1f3aceb6325";
+      sha256 = "1mv4bxfphaqbvacy49v4lf4gf2nmadzpmjq0jbdx93wi5bnkc977";
+    };
+  }
+  {
+    goPackagePath  = "github.com/juju/ansiterm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/ansiterm";
+      rev =  "720a0952cc2ac777afc295d9861263e2a4cf96a1";
+      sha256 = "0n6j0y7xhashp8gdkdl0r7vlbkdrkymrzxn9hxrx522k2isggs7h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/kballard/go-shellquote";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kballard/go-shellquote";
+      rev =  "95032a82bc518f77982ea72343cc1ade730072f0";
+      sha256 = "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath  = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev =  "db8e3cd836b82e82e0a9c8edc6896967dd31374f";
+      sha256 = "0knzlvndfgjm2k23vhp2xj1cv3fm31vbg5b20gdl1vnxk7rh549h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/lunixbochs/vtclean";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lunixbochs/vtclean";
+      rev =  "2d01aacdc34a083dca635ba869909f5fc0cd4f41";
+      sha256 = "1ss88dyx5hr4imvpg5lixvp0cf7c2qm4x9m8mdgshjpm92g5rqmf";
+    };
+  }
+  {
+    goPackagePath  = "github.com/manifoldco/promptui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/manifoldco/promptui";
+      rev =  "157c96fb638a14d268b305cf2012582431fcc410";
+      sha256 = "0zha48i5f529q4j1qycybdzza4l9706hijiqws36ikd5jzg8i7wz";
+    };
+  }
+  {
+    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 =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mmcloughlin/avo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mmcloughlin/avo";
+      rev =  "2e7d06bc7ada2979f17ccf8ebf486dba23b84fc7";
+      sha256 = "0fna1hhg193zy428lkj24a8853g3qviqs2c9xi96mji6ldprna5d";
+    };
+  }
+  {
+    goPackagePath  = "github.com/newrelic/go-agent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/newrelic/go-agent";
+      rev =  "f5bce3387232559bcbe6a5f8227c4bf508dac1ba";
+      sha256 = "1zbp1cqhxp0sz3faymam6h1f91r1gl8dnnjx7qg8r06bd5fbzllb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pquerna/otp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pquerna/otp";
+      rev =  "b7b89250c468c06871d3837bee02e2d5c155ae19";
+      sha256 = "0gsl9rh8awira21z6cj26c6swasskx03z66q72yjc1mpbvyg6han";
+    };
+  }
+  {
+    goPackagePath  = "github.com/rs/xid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/xid";
+      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
+      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/samfoo/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/samfoo/ansi";
+      rev =  "b6bd2ded7189ce35bc02233b554eb56a5146af73";
+      sha256 = "0sw2d7c6l2ry34x0n4j37ydr8s7hxnax76yh6n35gb2g6f1h46sz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev =  "86672fcb3f950f35f2e675df2240550f2a50762f";
+      sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "ad15b42461921f1fb3529b058c6786c6a45d5162";
+      sha256 = "02xdfcp4f6dqvpavwf1vvr794qgz2fx8929paam7wnvcxy7ib606";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/assert";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/assert";
+      rev =  "de77670473b5492f5d0bce155b5c01534c2d13f7";
+      sha256 = "15z2b4qyylnwgq2pzlaxsdabqxh8dbna4ddprk9rzmsvnfkpds16";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/certificates";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/certificates";
+      rev =  "effb490d276f33b8cdab661df8b57a8ded67e082";
+      sha256 = "1i76bbm4rbpv4cw2ln36v0x74jjkss6j8pdh49hfvb75j2n32790";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/certinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/certinfo";
+      rev =  "78e21b44234ef6ddeb58f5e8aad2ed09975b694a";
+      sha256 = "0zrxql9173vzn7zirv4299j0vw2mzwknivrg8rzhdbkhvbfiql9q";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/nosql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/nosql";
+      rev =  "a0934e12468769d8cbede3ed316c47a4b88de4ca";
+      sha256 = "08bg0sgrhkzflyl0ybi8v2vmk8bfk5pmcyfrizpxssyql7k27fam";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/truststore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/truststore";
+      rev =  "e16045d94a61ca04b60d5d246da3117e7eeb1ecf";
+      sha256 = "15cv3dkn2npf6rwhkb575sdq089rf70rha8wrym4ygc8rjbgwbab";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/zcrypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/zcrypto";
+      rev =  "6bab21fcaafc3d150cf793b6d5f25fe32f49c80e";
+      sha256 = "129az7k556lmnhh14ayrwzrp1y205zdgwk3rj1xcmgisx5irliqp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/zlint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/zlint";
+      rev =  "d84eaafe274f9dc1f811ebfbb073e18c466e2a44";
+      sha256 = "1xm7b1wvbify20vk9f3kmgmi5mnj5x2z3czc0r4zylcqcwwjkfd6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "f35b8ab0b5a2cef36673838d662e249dd9c94686";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "b67dcf995b6a7b7f14fad5fcb7cc5441b05e814b";
+      sha256 = "0n5vq4nydlhb7w12jiwphvxqdy4jwpxc3zwlxyhf05lq1nxfb56h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/weppos/publicsuffix-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/weppos/publicsuffix-go";
+      rev =  "386050f8211b04c965721c3591e7d96650a1ea86";
+      sha256 = "17nvc0m0azm418w4mcyk7r1qcik0099vjpn455ia0lxhbqbl701b";
+    };
+  }
+  {
+    goPackagePath  = "go.etcd.io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev =  "63597a96ec0ad9e6d43c3fc81e809909e0237461";
+      sha256 = "13d5l6p6c5wvkr6vn9hkhz9c593qifn7fgx0hg4d6jcvg1y0bnm2";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "4d3f4d9ffa16a13f451c3b2999e9c49e9750bf06";
+      sha256 = "0sbsgjm6wqa162ssrf1gnpv62ak5wjn1bn8v7sxwwfg8a93z1028";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "c44066c5c816ec500d459a2a324a753f78531ae0";
+      sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "9b800f95dbbc54abff0acf7ee32d88ba4e328c89";
+      sha256 = "07v3l7q7y59cwvw0mc85i39v7qjcc1jh4svwi789rmrqqm5nq7q6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev =  "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75";
+      sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "54a98f90d1c46b7731eb8fb305d2a321c30ef610";
+      sha256 = "0l7mkdnwhidv8m686x432vmx8z5nqcrr9f46ddgvrxbh4wvyfcll";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/square/go-jose.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/square/go-jose";
+      rev =  "730df5f748271903322feb182be83b43ebbbe27d";
+      sha256 = "11r93g9xrcjqj7qvq8sbd5hy5rnbpmim0vdsp6rbav8gl7wimaa3";
+    };
+  }
+  {
+    goPackagePath  = "howett.net/plist";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.howett.net/go/plist.git";
+      rev =  "591f970eefbbeb04d7b37f334a0c4c3256e32876";
+      sha256 = "1gr74rf6m8bgayf6mxcfaxb3cc49ldlhydzqfafx7di5nds5hxk9";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/tools/security/stoken/default.nix b/nixpkgs/pkgs/tools/security/stoken/default.nix
index 38fc884de487..d6375bee6495 100644
--- a/nixpkgs/pkgs/tools/security/stoken/default.nix
+++ b/nixpkgs/pkgs/tools/security/stoken/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Software Token for Linux/UNIX";
     homepage = https://github.com/cernekee/stoken;
     license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/sudo/default.nix b/nixpkgs/pkgs/tools/security/sudo/default.nix
index 9714943b30d5..71a71be9147e 100644
--- a/nixpkgs/pkgs/tools/security/sudo/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudo/default.nix
@@ -5,14 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.27";
+  pname = "sudo";
+  version = "1.8.30";
 
   src = fetchurl {
-    urls =
-      [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
-        "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
-      ];
-    sha256 = "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv";
+    url = "ftp://ftp.sudo.ws/pub/sudo/${pname}-${version}.tar.gz";
+    sha256 = "1rvrqlqrrjsd06dczgj9cwjdkpkqil5zzlwh87h06ms6qzfx6nm3";
   };
 
   prePatch = ''
@@ -48,7 +46,7 @@ stdenv.mkDerivation rec {
       #define _PATH_MV "${coreutils}/bin/mv"
     EOF
     makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
-    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
+    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/"
     '';
 
   nativeBuildInputs = [ groff ];
diff --git a/nixpkgs/pkgs/tools/security/super/default.nix b/nixpkgs/pkgs/tools/security/super/default.nix
index 1f00d42f2774..716973a3e2e7 100644
--- a/nixpkgs/pkgs/tools/security/super/default.nix
+++ b/nixpkgs/pkgs/tools/security/super/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ];
 
-  installFlags = "sysconfdir=$(out)/etc localstatedir=$(TMPDIR)";
+  installFlags = [ "sysconfdir=$(out)/etc" "localstatedir=$(TMPDIR)" ];
 
   meta = {
     homepage = "https://www.ucolick.org/~will/#super";
diff --git a/nixpkgs/pkgs/tools/security/tboot/default.nix b/nixpkgs/pkgs/tools/security/tboot/default.nix
index f5184b985622..062bf40b7d6d 100644
--- a/nixpkgs/pkgs/tools/security/tboot/default.nix
+++ b/nixpkgs/pkgs/tools/security/tboot/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" "stackprotector" ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
+
   configurePhase = ''
     for a in lcptools utils tb_polgen; do
       substituteInPlace $a/Makefile --replace /usr/sbin /sbin
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
     substituteInPlace docs/Makefile --replace /usr/share /share
   '';
 
-  installFlags = "DESTDIR=$(out)";
+  installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A pre-kernel/VMM module that uses Intel(R) TXT to perform a measured and verified launch of an OS kernel/VMM";
diff --git a/nixpkgs/pkgs/tools/security/thc-hydra/default.nix b/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
index 14fc89e91708..aa36901e46b9 100644
--- a/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
+++ b/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, zlib, openssl, ncurses, libidn, pcre, libssh, mysql, postgresql
+{ stdenv, lib, fetchFromGitHub, zlib, openssl, ncurses, libidn, pcre, libssh, libmysqlclient, postgresql
 , withGUI ? false, makeWrapper, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = lib.optionals withGUI [ pkgconfig makeWrapper ];
 
   buildInputs = [
-    zlib openssl ncurses libidn pcre libssh mysql.connector-c postgresql
+    zlib openssl ncurses libidn pcre libssh libmysqlclient postgresql
   ] ++ lib.optional withGUI gtk2;
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/security/theharvester/default.nix b/nixpkgs/pkgs/tools/security/theharvester/default.nix
index 4a1e92e6104a..4153ddafbf48 100644
--- a/nixpkgs/pkgs/tools/security/theharvester/default.nix
+++ b/nixpkgs/pkgs/tools/security/theharvester/default.nix
@@ -1,40 +1,36 @@
-{ stdenv, fetchFromGitHub, makeWrapper, python3Packages }:
+{ lib, fetchFromGitHub, python3 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "theHarvester";
-  version = "3.0.6";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "laramies";
     repo = pname;
-    rev = version;
-    sha256 = "0f33a7sfb5ih21yp1wspb03fxsls1m14yizgrw0srfirm2a6aa0c";
+    rev = "V${version}";
+    sha256 = "0lxzxfa9wbzim50d2jmd27i57szd0grm1dfayhnym86jn01qpvn3";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  propagatedBuildInputs = with python3.pkgs; [ 
+    aiodns beautifulsoup4 dns grequests netaddr
+    plotly pyyaml requests retrying shodan texttable
+  ];
 
-  # add dependencies
-  propagatedBuildInputs = with python3Packages; [ requests beautifulsoup4 plotly ];
+  checkInputs = [ python3.pkgs.pytest ];
 
-  installPhase = ''
-    # create dirs
-    mkdir -p $out/share/${pname} $out/bin
+  checkPhase = "runHook preCheck ; pytest tests/test_myparser.py ; runHook postCheck";
+  # We don't run other tests (discovery modules) because they require network access
 
-    # move project code
-    mv * $out/share/${pname}/
-
-    # make project runnable
-    chmod +x $out/share/${pname}/theHarvester.py
-    ln -s $out/share/${pname}/theHarvester.py $out/bin
-
-    wrapProgram "$out/bin/theHarvester.py" --prefix PYTHONPATH : $out/share/${pname}:$PYTHONPATH
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Gather E-mails, subdomains and names from different public sources";
+    longDescription = ''
+      theHarvester is a very simple, yet effective tool designed to be used in the early
+      stages of a penetration test. Use it for open source intelligence gathering and
+      helping to determine an entity's external threat landscape on the internet. The tool
+      gathers emails, names, subdomains, IPs, and URLs using multiple public data sources.
+    '';
     homepage = "https://github.com/laramies/theHarvester";
-    platforms = platforms.all;
-    maintainers = with maintainers; [ treemo ];
+    maintainers = with maintainers; [ c0bw3b treemo ];
     license = licenses.gpl2;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index 527c8064bac5..819b96889246 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/pkgs/tools/security/tor/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.1.6";
+  version = "0.4.2.5";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "0wgdid8w7srd218hh4rwslzdx2ickxw1pg18p2wry1r6wi65521a";
+    sha256 = "1hnqg6psf7shcmlvfk44mkpaz7v66mify3cnx7mzl23q5s37anad";
   };
 
   outputs = [ "out" "geoip" ];
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
     substituteInPlace contrib/client-tools/torify \
       --replace 'pathfind torsocks' true          \
       --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks'
+
+    patchShebangs ./scripts/maint/checkShellScripts.sh
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/security/tpm-quote-tools/default.nix b/nixpkgs/pkgs/tools/security/tpm-quote-tools/default.nix
index 5d54758cc7c2..f7526ac7225d 100644
--- a/nixpkgs/pkgs/tools/security/tpm-quote-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = http://tpmquotetools.sourceforge.net/;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ ak ndowens ];
+    maintainers = with maintainers; [ ak ];
     platforms   = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix b/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix
new file mode 100644
index 000000000000..84dafca4e0c4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, lib
+, tpm2-tss, pkgconfig, glib, which, dbus, cmocka }:
+
+stdenv.mkDerivation rec {
+  pname = "tpm2-abrmd";
+  version = "2.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1lbfhyyh9k54r8s1h8ca2czxv4hg0yq984kdh3vqh3990aca0x9a";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    tpm2-tss glib which dbus cmocka
+  ];
+
+  # Unit tests are currently broken as the check phase attempts to start a dbus daemon etc.
+  #configureFlags = [ "--enable-unit" ];
+  doCheck = false;
+
+  meta = with lib; {
+    description = "TPM2 resource manager, accessible via D-Bus";
+    homepage = https://github.com/tpm2-software/tpm2-tools;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lschuermann ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix b/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
index 1a6c8aaaa5d2..b7c2141b0f7c 100644
--- a/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
@@ -1,24 +1,36 @@
 { stdenv, fetchurl, lib
-, cmocka, curl, pandoc, pkgconfig, openssl, tpm2-tss }:
+, pandoc, pkgconfig, makeWrapper, curl, openssl, tpm2-tss
+, abrmdSupport ? true, tpm2-abrmd ? null }:
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tools";
-  version = "3.2.0";
+  version = "4.1";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "057gg84zly6gjp6ypj6bv6zzmnr77cqsygl8x0147cylwa1ywydd";
+    sha256 = "1wnw4i2m6dkafqjjma8mxw9419py2v1knhn3zf1gaizdabskgkh7";
   };
 
-  nativeBuildInputs = [ pandoc pkgconfig ];
+  nativeBuildInputs = [ pandoc pkgconfig makeWrapper ];
   buildInputs = [
     curl openssl tpm2-tss
-    # For unit tests.
-    cmocka
   ];
 
-  configureFlags = [ "--enable-unit" ];
-  doCheck = true;
+  preFixup = let
+    ldLibraryPath = lib.makeLibraryPath ([
+      tpm2-tss
+    ] ++ (lib.optional abrmdSupport tpm2-abrmd));
+  in ''
+    for bin in $out/bin/*; do
+      wrapProgram $bin \
+        --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
+    done
+  '';
+
+
+  # Unit tests disabled, as they rely on a dbus session
+  #configureFlags = [ "--enable-unit" ];
+  doCheck = false;
 
   meta = with lib; {
     description = "Command line tools that provide access to a TPM 2.0 compatible device";
diff --git a/nixpkgs/pkgs/tools/security/trousers/default.nix b/nixpkgs/pkgs/tools/security/trousers/default.nix
index 6f7fed20c89d..a38c011d7a49 100644
--- a/nixpkgs/pkgs/tools/security/trousers/default.nix
+++ b/nixpkgs/pkgs/tools/security/trousers/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "trousers";
-  version = "0.3.13";
+  version = "0.3.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/trousers/trousers/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1lvnla1c1ig2w3xvvrqg2w9qm7a1ygzy1j2gg8j7p8c87i58x45v";
+    sha256 = "0iwgsbrbb7nfqgl61x8aailwxm8akxh9gkcwxhsvf50x4qx72l6f";
   };
 
+  sourceRoot = ".";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ];
 
@@ -16,21 +18,14 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-usercheck" ];
 
-  # Attempt to remove -std=gnu89 when updating if using gcc5
-  NIX_CFLAGS_COMPILE = "-std=gnu89 -DALLOW_NON_TSS_CONFIG_FILE";
-  NIX_LDFLAGS = "-lgcc_s";
-
-  # Fix broken libtool file
-  preFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    sed 's,-lcrypto,-L${openssl.out}/lib -lcrypto,' -i $out/lib/libtspi.la
-  '';
+  NIX_CFLAGS_COMPILE = [ "-DALLOW_NON_TSS_CONFIG_FILE" ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Trusted computing software stack";
     homepage    = http://trousers.sourceforge.net/;
-    license     = licenses.cpl10;
+    license     = licenses.bsd3;
     maintainers = [ maintainers.ak ];
     platforms   = platforms.linux;
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index 4d47e5d4134f..11b0b067ccb8 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.2.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "11zi12j09vi6j112a1n8f7sxwp15pbh0801bzh27ihcy01hlzdf8";
+    sha256 = "052aj79gwmydc7ph1g567cbssqf8dsmqxad47k5hc5sc58bx7c93";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
diff --git a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
index 87f2e922ff74..6e2ab221c42f 100644
--- a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/verifpal/default.nix b/nixpkgs/pkgs/tools/security/verifpal/default.nix
index 3b72cf3bd53e..95afb580d4e1 100644
--- a/nixpkgs/pkgs/tools/security/verifpal/default.nix
+++ b/nixpkgs/pkgs/tools/security/verifpal/default.nix
@@ -1,24 +1,28 @@
-{ lib, fetchFromGitHub, buildGoPackage, pigeon }:
+{ lib
+, fetchgit
+, buildGoPackage
+, pigeon
+}:
+
 buildGoPackage rec {
   pname = "verifpal";
-  version = "0.2";
+  version = "0.7.5";
 
   goPackagePath = "github.com/SymbolicSoft/verifpal";
   goDeps = ./deps.nix;
 
-  src = fetchFromGitHub {
-    owner = "SymbolicSoft";
-    repo = pname;
+  src = fetchgit {
+    url = "https://source.symbolic.software/verifpal/verifpal.git";
     rev = version;
-    sha256 = "08a0xvgg94k6vq91ylvgi97kpkjbw0rw172v2dzwl2rfpzkigk1r";
+    sha256 = "0njgn6j5qg5kgid6ddv23axhw5gwjbayhdjkj4ya08mnxndr284m";
   };
 
+  nativeBuildInputs = [ pigeon ];
+
   postPatch = ''
     sed -e 's|/bin/echo |echo |g' -i Makefile
   '';
 
-  buildInputs = [ pigeon ];
-
   buildPhase = ''
     make -C go/src/$goPackagePath parser linux
   '';
@@ -33,6 +37,6 @@ buildGoPackage rec {
     description = "Cryptographic protocol analysis for students and engineers";
     maintainers = with lib.maintainers; [ zimbatm ];
     license = with lib.licenses; [ gpl3 ];
-    platforms = ["x86_64-linux"];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/vulnix/default.nix b/nixpkgs/pkgs/tools/security/vulnix/default.nix
index 2f7986c128b5..59d8b8c08754 100644
--- a/nixpkgs/pkgs/tools/security/vulnix/default.nix
+++ b/nixpkgs/pkgs/tools/security/vulnix/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, pythonPackages, nix, ronn }:
+{ stdenv, python3Packages, nix, ronn }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "vulnix";
-  version = "1.8.2";
+  version = "1.9.4";
 
-  src = pythonPackages.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0zn21j15vd1z7s40s45zr5wri3r770yvazxqmm60fqpzc5sg552y";
+    sha256 = "06dpdsnz1ih0syas3x25s557qpw0f4kmypvxwaffm734djg8klmi";
   };
 
   outputs = [ "out" "doc" "man" ];
   nativeBuildInputs = [ ronn ];
 
-  checkInputs = with pythonPackages; [
+  checkInputs = with python3Packages; [
     freezegun
     pytest
     pytestcov
@@ -21,12 +21,12 @@ pythonPackages.buildPythonApplication rec {
 
   propagatedBuildInputs = [
     nix
-  ] ++ (with pythonPackages; [
+  ] ++ (with python3Packages; [
     click
     colorama
-    lxml
     pyyaml
     requests
+    setuptools
     toml
     zodb
   ]);
@@ -46,8 +46,8 @@ pythonPackages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "NixOS vulnerability scanner";
-    homepage = https://github.com/flyingcircusio/vulnix;
+    homepage = "https://github.com/flyingcircusio/vulnix";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ckauhaus plumps ];
+    maintainers = with maintainers; [ ckauhaus ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock b/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
index bf03aba14181..7a29a18b7c33 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,45 +1,53 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.3)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    cms_scanner (0.5.1)
-      nokogiri (~> 1.10.0)
-      opt_parse_validator (~> 1.7.2)
-      public_suffix (~> 3.0.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    cms_scanner (0.7.1)
+      get_process_mem (~> 0.2.5)
+      nokogiri (~> 1.10.4)
+      opt_parse_validator (~> 1.8.1)
+      public_suffix (>= 3.0, < 4.1)
       ruby-progressbar (~> 1.10.0)
+      sys-proctable (~> 1.2.2)
       typhoeus (~> 1.3.0)
       xmlrpc (~> 0.3)
       yajl-ruby (~> 1.4.1)
     concurrent-ruby (1.1.5)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.10.0)
-    i18n (1.6.0)
+    ffi (1.11.3)
+    get_process_mem (0.2.5)
+      ffi (~> 1.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    nokogiri (1.10.3)
+    minitest (5.13.0)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    opt_parse_validator (1.7.2)
-      activesupport (>= 4.2, < 5.3.0)
-      addressable (>= 2.5, < 2.7)
-    public_suffix (3.0.3)
-    ruby-progressbar (1.10.0)
+    opt_parse_validator (1.8.1)
+      activesupport (> 4.2, < 6.1.0)
+      addressable (>= 2.5, < 2.8)
+    public_suffix (4.0.1)
+    ruby-progressbar (1.10.1)
+    sys-proctable (1.2.2)
+      ffi
     thread_safe (0.3.6)
     typhoeus (1.3.1)
       ethon (>= 0.9.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    wpscan (3.5.3)
-      cms_scanner (~> 0.5.0)
+    wpscan (3.7.5)
+      cms_scanner (~> 0.7.1)
     xmlrpc (0.3.0)
     yajl-ruby (1.4.1)
+    zeitwerk (2.2.2)
 
 PLATFORMS
   ruby
@@ -48,4 +56,4 @@ DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/nixpkgs/pkgs/tools/security/wpscan/default.nix b/nixpkgs/pkgs/tools/security/wpscan/default.nix
index 85455325f695..e7a784c1a779 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/wpscan/default.nix
@@ -13,7 +13,7 @@ bundlerApp {
 
   meta = with lib; {
     description = "Black box WordPress vulnerability scanner";
-    homepage    = https://wpscan.org/;
+    homepage    = "https://wpscan.org/";
     license     = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ nyanloutre manveru ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/security/wpscan/gemset.nix b/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
index c0ad80bd99b1..5c0691fda1bc 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,21 +16,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   cms_scanner = {
-    dependencies = ["nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "typhoeus" "xmlrpc" "yajl-ruby"];
+    dependencies = ["get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03hvvqq0s35a6l7lx9zpagv0gcdzhw7jvhzssiaiy6y81cx4z9pn";
+      sha256 = "14xmsigczibihlziisdgabsaz9lm2v31snlkc8kmza73pv8a61r4";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -58,10 +58,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.3";
+  };
+  get_process_mem = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q7pivp9z9pdxc2ha32q7x9zgqy8m9jf87g6n5mvi5l6knxya8sh";
+      type = "gem";
+    };
+    version = "0.2.5";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -69,10 +80,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -89,10 +100,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"];
@@ -100,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.7";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -111,30 +122,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14zp0260x652pf75maq9ydvqsqgv8ji9w85gjk8f0vwjykf1151n";
+      sha256 = "19rm44ww3zfb440kqpdprwb7y2d0gcm4znhv4kfs8dkhz8k1k5vy";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.8.1";
   };
   public_suffix = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.1";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.10.1";
+  };
+  sys-proctable = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ndk34ipd4v96v5cbvj0kbkhnssi4nqrzd7sifyg3bavi1jrw3w8";
+      type = "gem";
+    };
+    version = "1.2.2";
   };
   thread_safe = {
     groups = ["default"];
@@ -174,10 +196,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4v24iwy35q7qy3l8zr5r8mjn7nc7ahdiq13dpgjwrprvrw1jk2";
+      sha256 = "0vn6i48msxhj8g769vn2s3siv98cnqchblw69ldk1mr85lw4jci6";
       type = "gem";
     };
-    version = "3.5.3";
+    version = "3.7.5";
   };
   xmlrpc = {
     groups = ["default"];
@@ -199,4 +221,14 @@
     };
     version = "1.4.1";
   };
-}
\ No newline at end of file
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/yara/default.nix b/nixpkgs/pkgs/tools/security/yara/default.nix
index ccebb2dbab42..e09e1e694083 100644
--- a/nixpkgs/pkgs/tools/security/yara/default.nix
+++ b/nixpkgs/pkgs/tools/security/yara/default.nix
@@ -1,21 +1,30 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pcre
+{ stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pcre
 , withCrypto ? true, openssl
 , enableMagic ? true, file
 , enableCuckoo ? true, jansson
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.10.0";
+  version = "3.11.0";
   pname = "yara";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "1qxqk324cyvi4n09s79786ciig1gdyhs9dnsm07hf95a3kh6w5z2";
+    sha256 = "0mx3xm2a70fx8vlynkavq8gfd9w5yjcix5rx85444i2s1h6kcd0j";
   };
 
-  buildInputs = [ autoconf automake libtool pcre]
+  # See: https://github.com/VirusTotal/yara/issues/1036
+  # TODO: This patch should not be necessary in the next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/VirusTotal/yara/commit/04df811fa61fa54390b274bfcf56d7403c184404.patch";
+      sha256 = "0hsbc2k7nmk2kskll971draz0an4rmcs5v0iql47mz596vqvkzmb";
+    })
+  ];
+
+  buildInputs = [ autoconf automake libtool pcre ]
     ++ stdenv.lib.optionals withCrypto [ openssl ]
     ++ stdenv.lib.optionals enableMagic [ file ]
     ++ stdenv.lib.optionals enableCuckoo [ jansson ]
diff --git a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
index 94da72c54b34..269b6a82bbca 100644
--- a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20190816";
+  version = "20191018";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0p7ws106hf8bir9yb1a5m6v3wmvqagxmk3l9rpp4i89vib44vv3s";
+    sha256 = "0pz95fb1zvsj9238bg7a4vxl1svn5mnjg10sn5qvgr008q0v9782";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/nixpkgs/pkgs/tools/system/augeas/default.nix b/nixpkgs/pkgs/tools/system/augeas/default.nix
index a99df36beb6d..08731cd6db23 100644
--- a/nixpkgs/pkgs/tools/system/augeas/default.nix
+++ b/nixpkgs/pkgs/tools/system/augeas/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Configuration editing tool";
     license = licenses.lgpl2;
     homepage = http://augeas.net/;
-    maintainers = with maintainers; [ offline ndowens ];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/bfs/default.nix b/nixpkgs/pkgs/tools/system/bfs/default.nix
index 8443314cf71b..a304fce352f8 100644
--- a/nixpkgs/pkgs/tools/system/bfs/default.nix
+++ b/nixpkgs/pkgs/tools/system/bfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "1.5";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    sha256 = "0lyrxbmfr4ckz4hx5dgz8xbq479l5rlyrqf205v6c82cap4zyv4x";
+    sha256 = "1yp8zaj2rqd1df20wxym1x7q5d3lxqwalazbvmfnwqn5y4m368y3";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ];
diff --git a/nixpkgs/pkgs/tools/system/bootchart/default.nix b/nixpkgs/pkgs/tools/system/bootchart/default.nix
deleted file mode 100644
index d3f692b70e7e..000000000000
--- a/nixpkgs/pkgs/tools/system/bootchart/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{stdenv, fetchFromGitHub, pkgconfig, glib, gtk2, python2Packages }:
-
-stdenv.mkDerivation rec {
-  version = "0.14.8";
-  pname = "bootchart";
-
-  src = fetchFromGitHub {
-    owner = "mmeeks";
-    repo = "bootchart";
-    rev = version;
-    sha256 = "12ja2hp6f49416zfjdx0kjfmlkh9wl9b7wz7gk372kps4gjnypqx";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gtk2 python2Packages.python python2Packages.wrapPython python2Packages.pygtk ];
-  pythonPath = with python2Packages; [ pygtk pycairo ];
-
-  installPhase = ''
-    make install DESTDIR=$out BINDIR=/bin PY_LIBDIR=/lib/${python2Packages.python.libPrefix}
-    wrapProgram $out/bin/pybootchartgui \
-      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bootchart.org/;
-    description = "Performance analysis and visualization of the GNU/Linux boot process";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/nixpkgs/pkgs/tools/system/clinfo/default.nix b/nixpkgs/pkgs/tools/system/clinfo/default.nix
index 5653c70d4317..dd6e3d4a84b8 100644
--- a/nixpkgs/pkgs/tools/system/clinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/clinfo/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ocl-icd opencl-headers ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/system/collectd/default.nix b/nixpkgs/pkgs/tools/system/collectd/default.nix
index 1df73e08d1e3..517d0afb95f2 100644
--- a/nixpkgs/pkgs/tools/system/collectd/default.nix
+++ b/nixpkgs/pkgs/tools/system/collectd/default.nix
@@ -1,45 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, darwin
+{ stdenv, fetchurl, fetchpatch, darwin, callPackage
 , autoreconfHook
 , pkgconfig
-, curl
-, iptables
-, jdk
-, libapparmor
-, libatasmart
-, libcap_ng
-, libcredis
-, libdbi
-, libgcrypt
-, libmemcached, cyrus_sasl
-, libmicrohttpd
-, libmodbus
-, libnotify, gdk-pixbuf
-, liboping
-, libpcap
-, libsigrok
-, libvirt
-, libxml2
 , libtool
-, lm_sensors
-, lvm2
-, mysql
-, numactl
-, postgresql
-, protobufc
-, python
-, rabbitmq-c
-, riemann_c_client
-, rrdtool
-, udev
-, varnish
-, yajl
-, net_snmp
-, hiredis
-, libmnl
-, mosquitto
-, rdkafka
-, mongoc
-}:
+, ...
+}@args:
+let
+  plugins = callPackage ./plugins.nix args;
+in
 stdenv.mkDerivation rec {
   version = "5.8.1";
   pname = "collectd";
@@ -58,27 +25,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
-    curl libdbi libgcrypt libmemcached
-    cyrus_sasl libnotify gdk-pixbuf liboping libpcap libvirt
-    libxml2 postgresql protobufc rrdtool
-    varnish yajl jdk libtool python hiredis libmicrohttpd
-    riemann_c_client mosquitto rdkafka mongoc
-  ] ++ stdenv.lib.optionals (mysql != null) [ mysql.connector-c
-  ] ++ stdenv.lib.optionals stdenv.isLinux [
-    iptables libatasmart libcredis libmodbus libsigrok
-    lm_sensors lvm2 rabbitmq-c udev net_snmp libmnl
-    # those might be no longer required when https://github.com/NixOS/nixpkgs/pull/51767
-    # is merged
-    libapparmor numactl libcap_ng
+    libtool
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.IOKit
     darwin.apple_sdk.frameworks.ApplicationServices
-  ];
+  ] ++ plugins.buildInputs;
 
   configureFlags = [
     "--localstatedir=/var"
     "--disable-werror"
-  ];
+  ] ++ plugins.configureFlags;
 
   # do not create directories in /var during installPhase
   postConfigure = ''
diff --git a/nixpkgs/pkgs/tools/system/collectd/plugins.nix b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
new file mode 100644
index 000000000000..f1a87847a5ce
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
@@ -0,0 +1,347 @@
+{ stdenv
+, curl
+, darwin
+, hiredis
+, iptables
+, jdk
+, libatasmart
+, libdbi
+, libgcrypt
+, libmemcached, cyrus_sasl
+, libmodbus
+, libmicrohttpd
+, libmnl
+, libmysqlclient
+, libnotify, gdk-pixbuf
+, liboping
+, libpcap
+, libsigrok
+, libvirt
+, libxml2
+, libapparmor, libcap_ng, numactl
+, lvm2
+, lua
+, lm_sensors
+, mongoc
+, mosquitto
+, net-snmp
+, postgresql
+, protobufc
+, python
+, rabbitmq-c
+, rdkafka
+, riemann_c_client
+, rrdtool
+, udev
+, varnish
+, yajl
+# Defaults to `null` for all supported plugins,
+# list of plugin names for a custom build
+, enabledPlugins ? null
+, ...
+}:
+
+let
+  # All plugins and their dependencies.
+  # Please help complete this!
+  plugins = {
+    aggregation = {};
+    amqp = {
+      buildInputs = [ yajl ] ++
+        stdenv.lib.optionals stdenv.isLinux [ rabbitmq-c ];
+    };
+    apache = {
+      buildInputs = [ curl ];
+    };
+    apcups = {};
+    apple_sensors = {};
+    aquaero = {};
+    ascent = {
+      buildInputs = [ curl libxml2 ];
+    };
+    barometer = {};
+    battery = {
+      buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+        darwin.apple_sdk.frameworks.IOKit
+      ];
+    };
+    bind = {
+      buildInputs = [ curl libxml2 ];
+    };
+    ceph = {
+      buildInputs = [ yajl ];
+    };
+    cgroups = {};
+    chrony = {};
+    conntrack = {};
+    contextswitch = {};
+    cpu = {};
+    cpufreq = {};
+    cpusleep = {};
+    csv = {};
+    curl = {
+      buildInputs = [ curl ];
+    };
+    curl_json = {
+      buildInputs = [ curl yajl ];
+    };
+    curl_xml = {
+      buildInputs = [ curl libxml2 ];
+    };
+    dbi = {
+      buildInputs = [ libdbi ];
+    };
+    df = {};
+    disk = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [
+        udev
+      ] ++ stdenv.lib.optionals stdenv.isDarwin [
+        darwin.apple_sdk.frameworks.IOKit
+      ];
+    };
+    dns = {
+      buildInputs = [ libpcap ];
+    };
+    dpdkevents = {};
+    dpdkstat = {};
+    drbd = {};
+    email = {};
+    entropy = {};
+    ethstat = {};
+    exec = {};
+    fhcount = {};
+    filecount = {};
+    fscache = {};
+    gmond = {};
+    gps = {};
+    grpc = {};
+    hddtemp = {};
+    hugepages = {};
+    intel_pmu = {};
+    intel_rdt = {};
+    interface = {};
+    ipc = {};
+    ipmi = {};
+    iptables = {
+      buildInputs = [
+        libpcap
+      ] ++ stdenv.lib.optionals stdenv.isLinux [
+        iptables libmnl
+      ];
+    };
+    ipvs = {};
+    irq = {};
+    java = {
+      buildInputs = [ jdk libgcrypt libxml2 ];
+    };
+    load = {};
+    logfile = {};
+    log_logstash = {
+      buildInputs = [ yajl ];
+    };
+    lpar = {};
+    lua = {
+      buildInputs = [ lua ];
+    };
+    lvm = {};
+    madwifi = {};
+    match_empty_counter = {};
+    match_hashed = {};
+    match_regex = {};
+    match_timediff = {};
+    match_value = {};
+    mbmon = {};
+    mcelog = {};
+    md = {};
+    memcachec = {
+      buildInputs = [ libmemcached cyrus_sasl ];
+    };
+    memcached = {};
+    memory = {};
+    mic = {};
+    modbus = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ libmodbus ];
+    };
+    mqtt = {
+      buildInputs = [ mosquitto ];
+    };
+    multimeter = {};
+    mysql = {
+      buildInputs = stdenv.lib.optionals (libmysqlclient != null) [
+        libmysqlclient
+      ];
+    };
+    netapp = {};
+    netlink = {
+      buildInputs = [
+        libpcap
+      ] ++ stdenv.lib.optionals stdenv.isLinux [
+        libmnl
+      ];
+    };
+    network = {
+      buildInputs = [ libgcrypt ];
+    };
+    nfs = {};
+    nginx = {
+      buildInputs = [ curl ];
+    };
+    notify_desktop = {
+      buildInputs = [ libnotify gdk-pixbuf ];
+    };
+    notify_email = {};
+    notify_nagios = {};
+    ntpd = {};
+    numa = {};
+    nut = {};
+    olsrd = {};
+    onewire = {};
+    openldap = {};
+    openvpn = {};
+    oracle = {};
+    ovs_events = {
+      buildInputs = [ yajl ];
+    };
+    ovs_stats = {
+      buildInputs = [ yajl ];
+    };
+    perl = {};
+    pf = {};
+    pinba = {
+      buildInputs = [ protobufc ];
+    };
+    ping = {
+      buildInputs = [ liboping ];
+    };
+    postgresql = {
+      buildInputs = [ postgresql ];
+    };
+    powerdns = {};
+    processes = {};
+    protocols = {};
+    python = {
+      buildInputs = [ python ];
+    };
+    redis = {
+      buildInputs = [ hiredis ];
+    };
+    routeros = {};
+    rrdcached = {
+      buildInputs = [ rrdtool libxml2 ];
+    };
+    rrdtool = {
+      buildInputs = [ rrdtool libxml2 ];
+    };
+    sensors = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ lm_sensors ];
+    };
+    serial = {};
+    sigrok = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsigrok udev ];
+    };
+    smart = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ libatasmart udev ];
+    };
+    snmp = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
+    };
+    snmp_agent = {
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
+    };
+    statsd = {};
+    swap = {};
+    synproxy = {};
+    syslog = {};
+    table = {};
+    tail_csv = {};
+    tail = {};
+    tape = {};
+    target_notification = {};
+    target_replace = {};
+    target_scale = {};
+    target_set = {};
+    target_v5upgrade = {};
+    tcpconns = {};
+    teamspeak2 = {};
+    ted = {};
+    thermal = {};
+    threshold = {};
+    tokyotyrant = {};
+    turbostat = {};
+    unixsock = {};
+    uptime = {};
+    users = {};
+    uuid = {};
+    varnish = {
+      buildInputs = [ curl varnish ];
+    };
+    virt = {
+      buildInputs = [ libvirt libxml2 yajl ] ++
+        stdenv.lib.optionals stdenv.isLinux [ lvm2 udev
+          # those might be no longer required when https://github.com/NixOS/nixpkgs/pull/51767
+          # is merged
+          libapparmor numactl libcap_ng
+        ];
+    };
+    vmem = {};
+    vserver = {};
+    wireless = {};
+    write_graphite = {};
+    write_http = {
+      buildInputs = [ curl yajl ];
+    };
+    write_kafka = {
+      buildInputs = [ yajl rdkafka ];
+    };
+    write_log = {
+      buildInputs = [ yajl ];
+    };
+    write_mongodb = {
+      buildInputs = [ mongoc ];
+    };
+    write_prometheus = {
+      buildInputs = [ protobufc libmicrohttpd ];
+    };
+    write_redis = {
+      buildInputs = [ hiredis ];
+    };
+    write_riemann = {
+      buildInputs = [ protobufc riemann_c_client ];
+    };
+    write_sensu = {};
+    write_tsdb = {};
+    xencpu = {};
+    xmms = {};
+    zfs_arc = {};
+    zone = {};
+    zookeeper = {};
+  };
+
+  configureFlags =
+    if enabledPlugins == null
+    then []
+    else (map (plugin: "--enable-${plugin}") enabledPlugins) ++
+    (map (plugin: "--disable-${plugin}")
+      (builtins.filter (plugin: ! builtins.elem plugin enabledPlugins)
+        (builtins.attrNames plugins))
+    );
+
+  pluginBuildInputs = plugin:
+        if ! builtins.hasAttr plugin plugins
+        then throw "Unknown collectd plugin: ${plugin}"
+        else
+          let
+            pluginAttrs = builtins.getAttr plugin plugins;
+          in
+          if pluginAttrs ? "buildInputs"
+          then pluginAttrs.buildInputs
+          else [];
+
+  buildInputs =
+    if enabledPlugins == null
+    then builtins.concatMap pluginBuildInputs
+      (builtins.attrNames plugins)
+    else builtins.concatMap pluginBuildInputs enabledPlugins;
+in {
+  inherit configureFlags buildInputs;
+}
diff --git a/nixpkgs/pkgs/tools/system/ctop/default.nix b/nixpkgs/pkgs/tools/system/ctop/default.nix
index effc879e4789..4f492def1624 100644
--- a/nixpkgs/pkgs/tools/system/ctop/default.nix
+++ b/nixpkgs/pkgs/tools/system/ctop/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "ctop";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "bcicen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mm6hl5qklfv0yffj6cgypsgcrk4fq6p60djycfgj20yhz9cmf9x";
+    sha256 = "0y72l65xgfqrgghzbm1zcy776l5m31z0gn6vfr689zyi3k3f4kh8";
   };
 
-  modSha256 = "0ad1gvamckg94r7f68cnjdbq9nyz6c3hh339hy4hghxd3rd1qskn";
+  modSha256 = "0wxv6yzlgki7047qszx9p9xpph95bg097jkgaa0b3wbpx8vg7qml";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.build=v${version}" ];
 
   meta = with lib; {
     description = "Top-like interface for container metrics";
diff --git a/nixpkgs/pkgs/tools/system/daemon/default.nix b/nixpkgs/pkgs/tools/system/daemon/default.nix
index 9bc6ecc6ddfa..76f53b55f3db 100644
--- a/nixpkgs/pkgs/tools/system/daemon/default.nix
+++ b/nixpkgs/pkgs/tools/system/daemon/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     url = http://libslack.org/daemon/download/daemon-0.6.4.tar.gz;
     sha256 = "18aw0f8k3j30xqwv4z03962kdpqd10nf1w9liihylmadlx5fmff4";
   };
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   buildInputs = [ perl ];
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/system/di/default.nix b/nixpkgs/pkgs/tools/system/di/default.nix
index 9d56b8488e5e..3aef366ea066 100644
--- a/nixpkgs/pkgs/tools/system/di/default.nix
+++ b/nixpkgs/pkgs/tools/system/di/default.nix
@@ -2,20 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "di";
-  version = "4.47.1";
+  version = "4.47.3";
 
   src = fetchurl {
-    url = "http://gentoo.com/di/${pname}-${version}.tar.gz";
-    sha256 = "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f";
+    url = "https://gentoo.com/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck";
   };
 
   makeFlags = [ "INSTALL_DIR=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Disk information utility; displays everything 'df' does and more";
-    homepage = http://www.gentoo.com/di/;
+    homepage = https://gentoo.com/di/;
     license = licenses.zlib;
-    maintainers = with maintainers; [ manveru ndowens ];
+    updateWalker = true;
+    maintainers = with maintainers; [ manveru ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/efivar/default.nix b/nixpkgs/pkgs/tools/system/efivar/default.nix
index 365cfeab0581..f02923de349f 100644
--- a/nixpkgs/pkgs/tools/system/efivar/default.nix
+++ b/nixpkgs/pkgs/tools/system/efivar/default.nix
@@ -18,6 +18,16 @@ stdenv.mkDerivation rec {
       url = "https://patch-diff.githubusercontent.com/raw/rhboot/efivar/pull/133.patch";
       sha256 = "038cwldb8sqnal5l6mhys92cqv8x7j8rgsl8i4fiv9ih9znw26i6";
     })
+    (fetchurl {
+      name = "fix-misaligned-pointer.patch";
+      url = "https://github.com/rhboot/efivar/commit/b98ba8921010d03f46704a476c69861515deb1ca.patch";
+      sha256 = "0ni9mz7y40a2wf1d1q5n9y5dhcbydxvfdhqic7zsmgnaxs3a0p27";
+    })
+    (fetchurl {
+      name = "fix-gcc9-error.patch";
+      url = "https://github.com/rhboot/efivar/commit/c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch";
+      sha256 = "0lc38npydp069nlcga25wzzm204ww9l6mpjfn6wmhdfhn0pgjwky";
+    })
   ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/system/facter/default.nix b/nixpkgs/pkgs/tools/system/facter/default.nix
index ee9cdf361294..86aa5adb6f8f 100644
--- a/nixpkgs/pkgs/tools/system/facter/default.nix
+++ b/nixpkgs/pkgs/tools/system/facter/default.nix
@@ -2,29 +2,32 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.13.2";
+  version = "3.14.6";
 
   src = fetchFromGitHub {
-    sha256 = "1yaj1qlyzsaffzpm4zmzm53mc6bhpzka8wc3dfk909nzykxg34zf";
+    sha256 = "1zfff1mpdwnlnm8dmmlvysw2zdsnglgk5nvhhzx8zyk0zyz0nj54";
     rev = version;
-    repo = "facter";
+    repo = pname;
     owner = "puppetlabs";
   };
 
   CXXFLAGS = "-fpermissive -Wno-error=catch-value";
   NIX_LDFLAGS = "-lblkid";
 
-  cmakeFlags = [ "-DFACTER_RUBY=${ruby}/lib/libruby.so" ];
+  cmakeFlags = [
+    "-DFACTER_RUBY=${ruby}/lib/libruby.so"
+    "-DRUBY_LIB_INSTALL=${placeholder "out"}/lib/ruby"
+  ];
 
-  # since we cant expand $out in cmakeFlags
-  preConfigure = "cmakeFlags+=\" -DRUBY_LIB_INSTALL=$out/lib/ruby\"";
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-copy";
 
-  buildInputs = [ boost cmake cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby utillinux ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby utillinux ];
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/puppetlabs/facter;
+    homepage = "https://github.com/puppetlabs/facter";
     description = "A system inventory tool";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
diff --git a/nixpkgs/pkgs/tools/system/fakeroot/default.nix b/nixpkgs/pkgs/tools/system/fakeroot/default.nix
index c31e7337dd59..934b74dd3846 100644
--- a/nixpkgs/pkgs/tools/system/fakeroot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/fcron/default.nix b/nixpkgs/pkgs/tools/system/fcron/default.nix
index 6ef39a647f72..3dd84aa8a9cc 100644
--- a/nixpkgs/pkgs/tools/system/fcron/default.nix
+++ b/nixpkgs/pkgs/tools/system/fcron/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       "--disable-checks"
     ];
 
-  installTargets = "install-staged"; # install does also try to change permissions of /etc/* files
+  installTargets = [ "install-staged" ]; # install does also try to change permissions of /etc/* files
 
   # fcron tries to install pid into system directory on install
   installFlags = [
diff --git a/nixpkgs/pkgs/tools/system/fio/default.nix b/nixpkgs/pkgs/tools/system/fio/default.nix
index 5a690b288450..3718f69370e4 100644
--- a/nixpkgs/pkgs/tools/system/fio/default.nix
+++ b/nixpkgs/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fio";
-  version = "3.15";
+  version = "3.17";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "0wzy5byc2qx5mbnwkcyjkrzc662n4wkrzpcg4h611q4ix494zka9";
+    sha256 = "1s37w8bhg23ml1f89x0bkaifywlkgh31305vmip4xfvh3j3vjbym";
   };
 
   buildInputs = [ python zlib ]
@@ -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/nixpkgs/pkgs/tools/system/gdmap/default.nix b/nixpkgs/pkgs/tools/system/gdmap/default.nix
index 0c254bb28545..4adc81608293 100644
--- a/nixpkgs/pkgs/tools/system/gdmap/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdmap/default.nix
@@ -15,9 +15,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  NIX_LDFLAGS = [
-    "-lm"
-  ];
+  NIX_LDFLAGS = "-lm";
 
   meta = with stdenv.lib; {
     homepage = http://gdmap.sourceforge.net;
diff --git a/nixpkgs/pkgs/tools/system/hardinfo/default.nix b/nixpkgs/pkgs/tools/system/hardinfo/default.nix
index a2e342f85b74..6c5019847ff3 100644
--- a/nixpkgs/pkgs/tools/system/hardinfo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/hwinfo/default.nix b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
index 18b452b3ca7f..d323f048ba05 100644
--- a/nixpkgs/pkgs/tools/system/hwinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Hardware detection tool from openSUSE";
     license = licenses.gpl2;
     homepage = https://github.com/openSUSE/hwinfo;
-    maintainers = with maintainers; [ bobvanderlinden ndowens ];
+    maintainers = with maintainers; [ bobvanderlinden ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/inxi/default.nix b/nixpkgs/pkgs/tools/system/inxi/default.nix
index 3c1e3e798623..7866bece0661 100644
--- a/nixpkgs/pkgs/tools/system/inxi/default.nix
+++ b/nixpkgs/pkgs/tools/system/inxi/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchFromGitHub, perl }:
+{ stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper }:
 
 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 ];
+  buildInputs = [ perl makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp inxi $out/bin/
+    wrapProgram $out/bin/inxi \
+      --set PERL5LIB "${perlPackages.makePerlPath (with perlPackages; [ CpanelJSONXS ])}"
     mkdir -p $out/share/man/man1
     cp inxi.1 $out/share/man/man1/
   '';
diff --git a/nixpkgs/pkgs/tools/system/ioping/default.nix b/nixpkgs/pkgs/tools/system/ioping/default.nix
index 274e65bb41dc..5cd3a707dde2 100644
--- a/nixpkgs/pkgs/tools/system/ioping/default.nix
+++ b/nixpkgs/pkgs/tools/system/ioping/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "0cv2496jplka55yqdcf3ln78r8yggy4lgmgf06l6fbljjrdx7pgq";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Disk I/O latency measuring tool";
-    maintainers = with maintainers; [ raskin ndowens ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.unix;
     license = licenses.gpl3Plus;
     homepage = https://github.com/koct9i/ioping;
diff --git a/nixpkgs/pkgs/tools/system/ipmitool/default.nix b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
index c906ad3c8cf1..3105cba5a344 100644
--- a/nixpkgs/pkgs/tools/system/ipmitool/default.nix
+++ b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
       ${if static then "LDFLAGS=-static --enable-static --disable-shared" else "--enable-shared"}
     )
   '';
-  makeFlags = if static then "AM_LDFLAGS=-all-static" else "";
+  makeFlags = stdenv.lib.optional static "AM_LDFLAGS=-all-static";
   dontDisableStatic = static;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/system/ipmiutil/default.nix b/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
index 7966deeccc2e..0d2a78efba12 100644
--- a/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
+++ b/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.1.4";
+  version = "3.1.5";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0rca9bjn46i3xzah53l1r5bv1493773chj8x11by2asxyl9wlf4r";
+    sha256 = "18q1nc2caaixy3dr2axdvwq37iz916piarvmg0jdfzaxfpaxpk2q";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
new file mode 100644
index 000000000000..19502e5a352f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/logcheck/default.nix b/nixpkgs/pkgs/tools/system/logcheck/default.nix
index 064071a5ca45..d51df4f408a4 100644
--- a/nixpkgs/pkgs/tools/system/logcheck/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/logrotate/default.nix b/nixpkgs/pkgs/tools/system/logrotate/default.nix
index cee092f755f8..9fd6c4ea81a5 100644
--- a/nixpkgs/pkgs/tools/system/logrotate/default.nix
+++ b/nixpkgs/pkgs/tools/system/logrotate/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "logrotate";
-  version = "3.15.0";
+  version = "3.15.1";
 
   src = fetchFromGitHub {
     owner = "logrotate";
     repo = "logrotate";
     rev = version;
-    sha256 = "094wv4d3gv5dmw55d0xij06lgcg5q9bmq49hipc2jhp4vdsj4xr5";
+    sha256 = "0l92zarygp34qnw3p5rcwqsvgz7zmmhi7lgh00vj2jb9zkjbldc0";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
diff --git a/nixpkgs/pkgs/tools/system/lr/default.nix b/nixpkgs/pkgs/tools/system/lr/default.nix
index 74bc177023fb..788319c0c044 100644
--- a/nixpkgs/pkgs/tools/system/lr/default.nix
+++ b/nixpkgs/pkgs/tools/system/lr/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "lr";
-  version = "1.4.1";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "lr";
     rev = "v${version}";
-    sha256 = "0mpaqn0zfhxdf9wzs1wgdd29bjcyl3rgfdlqbwhiwcy2h3vy2h8s";
+    sha256 = "1dxla14ldyym01lhmacfwps1vim0fk67c2ik2w08gg534siyj770";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/chneukirchen/lr;
diff --git a/nixpkgs/pkgs/tools/system/minijail/default.nix b/nixpkgs/pkgs/tools/system/minijail/default.nix
index 74f0a84716a1..2b4d1deb9f9b 100644
--- a/nixpkgs/pkgs/tools/system/minijail/default.nix
+++ b/nixpkgs/pkgs/tools/system/minijail/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchgit, libcap }:
+{ stdenv, fetchFromGitiles, libcap }:
 
 stdenv.mkDerivation rec {
-  shortname = "minijail";
-  name = "${shortname}-${version}";
-  version = "android-9.0.0_r3";
+  pname = "minijail";
+  version = "android-10.0.0_r9";
 
-  src = fetchgit {
+  src = fetchFromGitiles {
     url = "https://android.googlesource.com/platform/external/minijail";
     rev = version;
-    sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2";
+    sha256 = "0gcfsyim1krrddcklydqfxl8mamaxgail2xl5qp9yclq60km8f22";
   };
 
   buildInputs = [ libcap ];
@@ -20,13 +19,20 @@ stdenv.mkDerivation rec {
     sed -i '/#include <asm\/siginfo.h>/ d' signal_handler.c
   '';
 
+  postPatch = ''
+    patchShebangs platform2_preinstall.sh
+  '';
+
+  postBuild = ''
+    ./platform2_preinstall.sh ${version} $out/include/chromeos
+  '';
+
   installPhase = ''
-    mkdir -p $out/lib
+    mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin
     cp -v *.so $out/lib
-    mkdir -p $out/include
-    cp -v libminijail.h $out/include
-    mkdir -p $out/bin
-    cp minijail0 $out/bin
+    cp -v *.pc $out/lib/pkgconfig
+    cp -v libminijail.h scoped_minijail.h $out/include/chromeos
+    cp -v minijail0 $out/bin
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index 7526a55d7ef9..4f8cfb966e86 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , CoreFoundation, IOKit, libossp_uuid
 , curl, libcap,  libuuid, lm_sensors, zlib
 , withCups ? false, cups
@@ -12,12 +12,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.17.1";
+  version = "1.19.0";
   pname = "netdata";
 
-  src = fetchurl {
-    url = "https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz";
-    sha256 = "0k49ms295b9icccvknyqyqlsy911h06c7h7aql5havcx5m5jxq7w";
+  src = fetchFromGitHub {
+    owner = "netdata";
+    repo = "netdata";
+    rev = "v${version}";
+    sha256 = "1s6kzx4xh8b6v7ki8h2mfzprj5rxvlgx2md20cr8c0v81qpz3q3q";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
     ./no-files-in-etc-and-var.patch
   ];
 
-  NIX_CFLAGS_COMPILE = optional withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
+  NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
 
   postInstall = optionalString (!stdenv.isDarwin) ''
     # rename this plugin so netdata will look for setuid wrapper
diff --git a/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
index c3927c29dd24..138787b98f1f 100644
--- a/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
+++ b/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
@@ -1,9 +1,9 @@
 diff --git a/Makefile.am b/Makefile.am
-index f2087bb..7a70cfb 100644
+index 2625dcc..1fdd645 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -116,10 +116,10 @@ AM_CFLAGS = \
- 	$(NULL)
+@@ -113,10 +113,10 @@ AM_CFLAGS = \
+     $(NULL)
  
  sbin_PROGRAMS =
 -dist_cache_DATA = packaging/installer/.keep
@@ -17,70 +17,113 @@ index f2087bb..7a70cfb 100644
  plugins_PROGRAMS =
  
  LIBNETDATA_FILES = \
+diff --git a/collectors/Makefile.am b/collectors/Makefile.am
+index 7431025..f62f8ac 100644
+--- a/collectors/Makefile.am
++++ b/collectors/Makefile.am
+@@ -30,11 +30,6 @@ SUBDIRS = \
+ usercustompluginsconfigdir=$(configdir)/custom-plugins.d
+ usergoconfigdir=$(configdir)/go.d
+ 
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir)
+-	$(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
+-
+ dist_noinst_DATA = \
+     README.md \
+     $(NULL)
 diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am
-index 2989b4b..64de7d6 100644
+index b3b2fb9..68b768e 100644
 --- a/collectors/charts.d.plugin/Makefile.am
 +++ b/collectors/charts.d.plugin/Makefile.am
-@@ -32,7 +32,6 @@ dist_charts_DATA = \
+@@ -31,13 +31,8 @@ dist_charts_DATA = \
  
  userchartsconfigdir=$(configdir)/charts.d
  dist_userchartsconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
+-
  chartsconfigdir=$(libconfigdir)/charts.d
+ dist_chartsconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am
-index 3b5a0a5..b7abe01 100644
+index 411bce9..ba60276 100644
 --- a/collectors/node.d.plugin/Makefile.am
 +++ b/collectors/node.d.plugin/Makefile.am
-@@ -23,7 +23,6 @@ dist_noinst_DATA = \
+@@ -23,13 +23,8 @@ dist_noinst_DATA = \
  
  usernodeconfigdir=$(configdir)/node.d
  dist_usernodeconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usernodeconfigdir)
+-
  nodeconfigdir=$(libconfigdir)/node.d
+ dist_nodeconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am
-index 652a35d..cf4b2cc 100644
+index cb14e35..8a6c5a7 100644
 --- a/collectors/python.d.plugin/Makefile.am
 +++ b/collectors/python.d.plugin/Makefile.am
-@@ -29,7 +29,6 @@ dist_python_DATA = \
+@@ -29,13 +29,8 @@ dist_python_DATA = \
  
  userpythonconfigdir=$(configdir)/python.d
  dist_userpythonconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userpythonconfigdir)
+-
  pythonconfigdir=$(libconfigdir)/python.d
+ dist_pythonconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am
-index e63bf98..0f59782 100644
+index 87b6ca7..9d010c7 100644
 --- a/collectors/statsd.plugin/Makefile.am
 +++ b/collectors/statsd.plugin/Makefile.am
-@@ -14,6 +14,5 @@ dist_statsdconfig_DATA = \
+@@ -14,9 +14,4 @@ dist_statsdconfig_DATA = \
  
  userstatsdconfigdir=$(configdir)/statsd.d
  dist_userstatsdconfig_DATA = \
 -    .keep \
      $(NULL)
- 
+-
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
 diff --git a/health/Makefile.am b/health/Makefile.am
-index 62a4c6d..4d651df 100644
+index f63faa8..8912ef2 100644
 --- a/health/Makefile.am
 +++ b/health/Makefile.am
-@@ -16,7 +16,6 @@ dist_noinst_DATA = \
+@@ -16,13 +16,8 @@ dist_noinst_DATA = \
  
  userhealthconfigdir=$(configdir)/health.d
  dist_userhealthconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userhealthconfigdir)
+-
  healthconfigdir=$(libconfigdir)/health.d
+ dist_healthconfig_DATA = \
+     health.d/adaptec_raid.conf \
 diff --git a/system/Makefile.am b/system/Makefile.am
-index b085dca..ccfa588 100644
+index ad68c65..bf6a840 100644
 --- a/system/Makefile.am
 +++ b/system/Makefile.am
-@@ -17,10 +17,6 @@ CLEANFILES = \
+@@ -16,14 +16,6 @@ CLEANFILES = \
  include $(top_srcdir)/build/subst.inc
  SUFFIXES = .in
  
@@ -88,6 +131,25 @@ index b085dca..ccfa588 100644
 -    edit-config \
 -    $(NULL)
 -
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(configdir)
+-
  nodist_noinst_DATA = \
- 	netdata-openrc \
- 	netdata.logrotate \
+     netdata-openrc \
+     netdata.logrotate \
+diff --git a/web/Makefile.am b/web/Makefile.am
+index ccaccd7..f2fed50 100644
+--- a/web/Makefile.am
++++ b/web/Makefile.am
+@@ -11,10 +11,6 @@ SUBDIRS = \
+ 
+ usersslconfigdir=$(configdir)/ssl
+ 
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
+-
+ dist_noinst_DATA = \
+     README.md \
+     gui/confluence/README.md \
diff --git a/nixpkgs/pkgs/tools/system/nq/default.nix b/nixpkgs/pkgs/tools/system/nq/default.nix
index 1d8eeff209ed..89c84c8c9ca8 100644
--- a/nixpkgs/pkgs/tools/system/nq/default.nix
+++ b/nixpkgs/pkgs/tools/system/nq/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
     sha256 = "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99";
   };
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   postPatch = ''
     sed -i tq \
       -e 's|\bfq\b|'$out'/bin/fq|g' \
diff --git a/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
index 60175d27f151..d1c3d0ec6c0c 100644
--- a/nixpkgs/pkgs/tools/system/opencl-info/default.nix
+++ b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ opencl-clhpp ocl-icd ];
 
-  NIX_LDFLAGS = [ "-lOpenCL" ];
+  NIX_LDFLAGS = "-lOpenCL";
 
   installPhase = ''
     install -Dm755 opencl-info $out/bin/opencl-info
diff --git a/nixpkgs/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch b/nixpkgs/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
deleted file mode 100644
index b90752f8dc5b..000000000000
--- a/nixpkgs/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 511400b8ec0794588df88e2bb1c45cc6a4a51b1e Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sun, 26 May 2019 23:10:02 +0200
-Subject: [PATCH] Fix CMake configuration for Nix
-
-* -fno-limit-debug-info: CLang specific, patch away to support both
-  CLang and GCC.
-* Dropped unnecessary `lvm-internal` and `daemonclient` references.
----
- CMakeLists.txt                | 1 -
- osquery/tables/CMakeLists.txt | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f545d6c9..cfe68ddb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -328,7 +328,6 @@ if (POSIX)
-   # To be safe, only include them when building 'release' outputs.
-   add_compile_options(
-     "$<$<CONFIG:RELEASE>:-g>"
--    "$<$<CONFIG:RELEASE>:-fno-limit-debug-info>"
-     "$<$<CONFIG:RELEASE>:-fPIE>"
-     "$<$<CONFIG:RELEASE>:-fpie>"
-     "$<$<CONFIG:RELEASE>:-fPIC>"
-diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt
-index 470bdf1d..caa6ab6f 100644
---- a/osquery/tables/CMakeLists.txt
-+++ b/osquery/tables/CMakeLists.txt
-@@ -68,7 +68,7 @@ if(LINUX)
-   set(TABLE_PLATFORM "linux")
- 
-   ADD_OSQUERY_LINK_ADDITIONAL("libresolv.so")
--  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app lvm-internal daemonclient")
-+  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app")
-   ADD_OSQUERY_LINK_ADDITIONAL("gcrypt gpg-error")
-   ADD_OSQUERY_LINK_ADDITIONAL("blkid")
-   ADD_OSQUERY_LINK_ADDITIONAL("ip4tc")
--- 
-2.19.2
-
diff --git a/nixpkgs/pkgs/tools/system/osquery/default.nix b/nixpkgs/pkgs/tools/system/osquery/default.nix
deleted file mode 100644
index c34b53c1e62d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/system/pciutils/default.nix b/nixpkgs/pkgs/tools/system/pciutils/default.nix
index 22154796b317..b773529a0d77 100644
--- a/nixpkgs/pkgs/tools/system/pciutils/default.nix
+++ b/nixpkgs/pkgs/tools/system/pciutils/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     "DNS=yes"
   ];
 
-  installTargets = "install install-lib";
+  installTargets = [ "install" "install-lib" ];
 
   # Get rid of update-pciids as it won't work.
   postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
diff --git a/nixpkgs/pkgs/tools/system/plan9port/default.nix b/nixpkgs/pkgs/tools/system/plan9port/default.nix
index 9776960327e1..9a4a22385584 100644
--- a/nixpkgs/pkgs/tools/system/plan9port/default.nix
+++ b/nixpkgs/pkgs/tools/system/plan9port/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
     xorgproto libX11 libXext libXt fontconfig
     freetype # fontsrv wants ft2build.h provides system fonts for acme and sam.
   ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    darwin.cf-private Carbon Cocoa IOKit Metal QuartzCore
+    Carbon Cocoa IOKit Metal QuartzCore
   ]);
 
   builder = ./builder.sh;
diff --git a/nixpkgs/pkgs/tools/system/proot/default.nix b/nixpkgs/pkgs/tools/system/proot/default.nix
index 0764844dbfc9..5ff8ff95f8ae 100644
--- a/nixpkgs/pkgs/tools/system/proot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/ps_mem/default.nix b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
index ad256e366566..bde4429c4813 100644
--- a/nixpkgs/pkgs/tools/system/ps_mem/default.nix
+++ b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
@@ -1,7 +1,7 @@
 { stdenv, pythonPackages, fetchFromGitHub }:
 
 let
-  version = "3.12";
+  version = "3.13";
   pname = "ps_mem";
 in pythonPackages.buildPythonApplication {
   name = "${pname}-${version}";
@@ -10,7 +10,7 @@ in pythonPackages.buildPythonApplication {
     owner = "pixelb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kcxlmfisbwf24p2k72njfyfp22fjr9p9zalg9b4w0yhnlzk24ph";
+    sha256 = "0pgi9hvwfbkzvwicqlkwx4rwal1ikza018yxbwpnf7c80zw0zaw9";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix b/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
index 5a3ba8b66196..64c184a61229 100644
--- a/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
+++ b/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1fbfcnm5gjish47wdvikcsgzlb5vnlfqlzzm6mwiw2j5qkq0914i";
   };
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isi686 "-Wno-error=format";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-Wno-error=format";
 
   buildPhase = "sh -e make.sh";
 
diff --git a/nixpkgs/pkgs/tools/system/rsyslog/default.nix b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
index 2899837f3f88..7c5b9a189667 100644
--- a/nixpkgs/pkgs/tools/system/rsyslog/default.nix
+++ b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson
-, libkrb5 ? null, systemd ? null, jemalloc ? null, mysql ? null, postgresql ? null
-, libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null
+, libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null
+, libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null
 , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null
-, libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
+, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
 , libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null
 }:
 
@@ -11,11 +11,12 @@ let
   mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
 in
 stdenv.mkDerivation rec {
-  name = "rsyslog-8.1907.0";
+  pname = "rsyslog";
+  version = "8.1911.0";
 
   src = fetchurl {
-    url = "https://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
-    sha256 = "1dcz0w5xalqsi2xjb5j7c9mq5kf9s9kq9j2inpv4w5wkrrg569zb";
+    url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
+    sha256 = "01713vwz3w5fx9b97286h1rx9hxhjsdah96nyhh75bb23impgx71";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
@@ -23,14 +24,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc
-    postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl
-    librelp libgt libksi liblogging libnet hadoop rdkafka libmongo-client czmq
+    postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl
+    librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq
     rabbitmq-c hiredis mongoc
-  ] ++ stdenv.lib.optional (mysql != null) mysql.connector-c
+  ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient
     ++ stdenv.lib.optional stdenv.isLinux systemd;
 
-  hardeningDisable = [ "format" ];
-
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -50,10 +49,10 @@ stdenv.mkDerivation rec {
     (mkFlag false                     "valgrind")
     (mkFlag false                     "diagtools")
     (mkFlag true                      "usertools")
-    (mkFlag (mysql != null)           "mysql")
+    (mkFlag (libmysqlclient != null)  "mysql")
     (mkFlag (postgresql != null)      "pgsql")
     (mkFlag (libdbi != null)          "libdbi")
-    (mkFlag (net_snmp != null)        "snmp")
+    (mkFlag (net-snmp != null)        "snmp")
     (mkFlag (libuuid != null)         "uuid")
     (mkFlag (curl != null)            "elasticsearch")
     (mkFlag (gnutls != null)          "gnutls")
@@ -72,8 +71,7 @@ stdenv.mkDerivation rec {
     (mkFlag true                      "mmpstrucdata")
     (mkFlag (openssl != null)         "mmrfc5424addhmac")
     (mkFlag (librelp != null)         "relp")
-    (mkFlag (libgt != null)           "guardtime")
-    (mkFlag (libksi != null)          "gt-ksi")
+    (mkFlag (libksi != null)          "ksi-ls12")
     (mkFlag (liblogging != null)      "liblogging-stdlog")
     (mkFlag (liblogging != null)      "rfc3195")
     (mkFlag true                      "imfile")
@@ -95,9 +93,7 @@ stdenv.mkDerivation rec {
     (mkFlag (hadoop != null)          "omhdfs")
     (mkFlag (rdkafka != null)         "omkafka")
     (mkFlag (libmongo-client != null) "ommongodb")
-    (mkFlag (czmq != null)            "imzmq3")
     (mkFlag (czmq != null)            "imczmq")
-    (mkFlag (czmq != null)            "omzmq3")
     (mkFlag (czmq != null)            "omczmq")
     (mkFlag (rabbitmq-c != null)      "omrabbitmq")
     (mkFlag (hiredis != null)         "omhiredis")
@@ -108,6 +104,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://www.rsyslog.com/;
     description = "Enhanced syslog implementation";
+    changelog = "https://raw.githubusercontent.com/rsyslog/rsyslog/v${version}/ChangeLog";
     license = licenses.gpl3;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
index 4f6fdd16dca7..95d4b376d0aa 100644
--- a/nixpkgs/pkgs/tools/system/s6-rc/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-rc";
-  version = "0.5.0.0";
-  sha256 = "0p97p49i8m44lfiffycgn7xi08yzxkrs5dyb03svdhd6clwh6zyb";
+  version = "0.5.1.1";
+  sha256 = "0lmg517l8inn7bi57q35rjd7b4jmqlmkhrbvs5ybbhinhd12qzi5";
 
   description = "A service manager for s6-based systems";
   platforms = stdenv.lib.platforms.linux;
diff --git a/nixpkgs/pkgs/tools/system/s6/default.nix b/nixpkgs/pkgs/tools/system/s6/default.nix
index 8b6393caff1c..efdf173a22c6 100644
--- a/nixpkgs/pkgs/tools/system/s6/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6";
-  version = "2.8.0.1";
-  sha256 = "1n1i3jm3kp9ii54cxj1sgh89m6nyna7vhy8714ma6py1frdqzq6v";
+  version = "2.9.0.1";
+  sha256 = "0mvcjrz8nlj9p2zclmcv22b4y6bqzd2iz38arhgc989vdvrbmkg0";
 
   description = "skarnet.org's small & secure supervision software suite";
 
diff --git a/nixpkgs/pkgs/tools/system/setserial/default.nix b/nixpkgs/pkgs/tools/system/setserial/default.nix
index 036e3a83cf28..68ea32e1e8ac 100644
--- a/nixpkgs/pkgs/tools/system/setserial/default.nix
+++ b/nixpkgs/pkgs/tools/system/setserial/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ groff ];
 
-  installFlags = ''DESTDIR=$(out)'';
+  installFlags = [ "DESTDIR=$(out)" ];
 
   postConfigure = ''
     sed -e s@/usr/man/@/share/man/@ -i Makefile
diff --git a/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index 9a9879d55641..7d3e62d7beb5 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -1,25 +1,34 @@
 { stdenv, fetchurl
-, attr, keyutils, libaio, libapparmor, libbsd, libcap, libgcrypt, lksctp-tools, zlib
+, attr, judy, keyutils, libaio, libapparmor, libbsd, libcap, libgcrypt, lksctp-tools, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.02";
+  version = "0.10.14";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "100daxz0j80jhmpfnqa78mvfwq1qj7zb67y7w9f747a0f1havvim";
+    sha256 = "0lazjxrlqzhxd6fg3y1vh38h66v8swkd9q2say4m6sglzkfqdfnq";
   };
 
+  postPatch = ''
+    sed -i '/\#include <bsd\/string.h>/i #undef HAVE_STRLCAT\n#undef HAVE_STRLCPY' stress-ng.h
+  ''; # needed because of Darwin patch on libbsd
+
   # All platforms inputs then Linux-only ones
-  buildInputs = [ libbsd libgcrypt zlib ]
+  buildInputs = [ judy libbsd libgcrypt zlib ]
     ++ stdenv.lib.optionals stdenv.hostPlatform.isLinux [
       attr keyutils libaio libapparmor libcap lksctp-tools
     ];
 
-  postPatch = ''
-    substituteInPlace Makefile --replace "/usr" ""
-  '';
+  makeFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man/man1"
+    "JOBDIR=${placeholder "out"}/share/stress-ng/example-jobs"
+    "BASHDIR=${placeholder "out"}/share/bash-completion/completions"
+  ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.hostPlatform.isMusl "-D_LINUX_SYSINFO_H=1";
 
   # Won't build on i686 because the binary will be linked again in the
   # install phase without checking the dependencies. This will prevent
@@ -27,8 +36,6 @@ stdenv.mkDerivation rec {
   # mystery, though. :-(
   enableParallelBuilding = (!stdenv.isi686);
 
-  installFlags = [ "DESTDIR=${placeholder "out"}" ];
-
   meta = with stdenv.lib; {
     description = "Stress test a computer system";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
index 6998ed36ee52..d070e1673c23 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
@@ -5,17 +5,13 @@
 , libesmtp
 }:
 
-let
-  pname = "syslog-ng";
-in
-
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "3.22.1";
+  pname = "syslog-ng";
+  version = "3.24.1";
 
   src = fetchurl {
-    url = "https://github.com/balabit/${pname}/releases/download/${name}/${name}.tar.gz";
-    sha256 = "1j3l9pn3lf9w87vvwbnxk098gprbqzmfpfw1rch46mgsfqvl8mh6";
+    url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "0ggsb5867mca83f5mqsi0j7hslvmj8943xynd5myjas5gcss1l6l";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -59,7 +55,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://www.balabit.com/network-security/syslog-ng/;
+    homepage = https://www.syslog-ng.com;
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
diff --git a/nixpkgs/pkgs/tools/system/testdisk-photorec/default.nix b/nixpkgs/pkgs/tools/system/testdisk/default.nix
index 06f6751213b2..ad11cd2e3b65 100644
--- a/nixpkgs/pkgs/tools/system/testdisk-photorec/default.nix
+++ b/nixpkgs/pkgs/tools/system/testdisk/default.nix
@@ -1,35 +1,52 @@
-{ stdenv
+{ mkDerivation
+, stdenv
 , fetchurl
 , ncurses
 , libuuid
+, pkgconfig
 , libjpeg
 , zlib
-, ntfs3g
-, e2fsprogs
+, libewf
+, enableNtfs ? !stdenv.isDarwin, ntfs3g ? null
+, enableExtFs ? !stdenv.isDarwin, e2fsprogs ? null
+, enableQt ? false, qtbase ? null, qttools ? null, qwt ? null
 }:
 
-stdenv.mkDerivation rec {
-  pname = "testdisk-photorec";
-  version = "7.0";
+assert enableNtfs -> ntfs3g != null;
+assert enableExtFs -> e2fsprogs != null;
+assert enableQt -> qtbase != null;
+assert enableQt -> qttools != null;
+assert enableQt -> qwt != null;
+
+(if enableQt then mkDerivation else stdenv.mkDerivation) rec {
+  pname = "testdisk";
+  version = "7.1";
   src = fetchurl {
     url = "https://www.cgsecurity.org/testdisk-${version}.tar.bz2";
-    sha256 = "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0";
+    sha256 = "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql";
   };
+
+  enableParallelBuilding = true;
+
   buildInputs = [
     ncurses
     libuuid
-    # optional:
     libjpeg
     zlib
-    ntfs3g
-    e2fsprogs
-    #libewf # makes it fail to build
-    #qt4 # for qphotorec, which does not build in 7.0
-  ];
+    libewf
+  ]
+  ++ stdenv.lib.optional enableNtfs ntfs3g
+  ++ stdenv.lib.optional enableExtFs e2fsprogs
+  ++ stdenv.lib.optionals enableQt [ qtbase qttools qwt ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  NIX_CFLAGS_COMPILE="-Wno-unused";
+
   meta = with stdenv.lib; {
     homepage = https://www.cgsecurity.org/wiki/Main_Page;
     downloadPage = https://www.cgsecurity.org/wiki/TestDisk_Download;
-    description = "Data recovery utilities";
+    description = "Testdisk / Photorec - Data recovery utilities";
     longDescription = ''
       TestDisk is a powerful free data recovery software. It was primarily
       designed to help recover lost partitions and/or make non-booting disks
@@ -44,8 +61,8 @@ stdenv.mkDerivation rec {
       it will still work even if your media's file system has been severely
       damaged or reformatted.
     '';
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ fgaz ];
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ fgaz eelco ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index 3429419052fe..7afa91abf130 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "1.9";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs";
+    sha256 = "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,9 +23,10 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--sysconfdir=$(out)/etc" "--localstatedir=/var"
-    "--with-dbus-sys-dir=$(out)/etc/dbus-1/system.d"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=${placeholder "out"}/etc"
+    "--localstatedir=/var"
+    "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
+    "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
index 8c8034005844..f3b4ab8440e3 100644
--- a/nixpkgs/pkgs/tools/system/thinkfan/default.nix
+++ b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
@@ -1,34 +1,46 @@
-{ stdenv, fetchurl, cmake
+{ stdenv, fetchFromGitHub, cmake, libyamlcpp, pkgconfig
 , smartSupport ? false, libatasmart }:
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
-  version = "0.9.3";
+  version = "1.0.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/thinkfan/thinkfan-${version}.tar.gz";
-    sha256 = "0nz4c48f0i0dljpk5y33c188dnnwg8gz82s4grfl8l64jr4n675n";
+  src = fetchFromGitHub {
+    owner = "vmatare";
+    repo = "thinkfan";
+    rev = version;
+    sha256 = "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr";
   };
 
-  nativeBuildInputs = [ cmake ];
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}"
+    "-DUSE_NVML=OFF"
+  ] ++ stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON";
 
-  buildInputs = stdenv.lib.optional smartSupport libatasmart;
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-  cmakeFlags = stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON";
+  buildInputs = [ libyamlcpp ] ++ stdenv.lib.optional smartSupport libatasmart;
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 {.,$out/bin}/thinkfan
 
     cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
     install -Dm644 {.,$out/share/doc/thinkfan}/README
     cp -R examples $out/share/doc/thinkfan
     install -Dm644 {src,$out/share/man/man1}/thinkfan.1
+
+    runHook postInstall
   '';
 
-  meta = {
-    license = stdenv.lib.licenses.gpl3;
-    homepage = http://thinkfan.sourceforge.net/;
-    maintainers = with stdenv.lib.maintainers; [ domenkozar ];
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "A minimalist fan control program. Originally designed
+specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
+the sysfs hwmon interface (/sys/class/hwmon).";
+    license = licenses.gpl3;
+    homepage = "https://github.com/vmatare/thinkfan";
+    maintainers = with maintainers; [ domenkozar ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/tre-command/default.nix b/nixpkgs/pkgs/tools/system/tre-command/default.nix
new file mode 100644
index 000000000000..6050b2a709eb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/tre-command/default.nix
@@ -0,0 +1,24 @@
+{ rustPlatform, fetchFromGitHub, stdenv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tre";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "dduan";
+    repo = "tre";
+    rev = "v${version}";
+    sha256 = "1fazw2wn738iknbv54gv7qll7d4q2gy9bq1s3f3cv21cdv6bqral";
+  };
+
+  cargoSha256 = "0m82zbi610zgvcza6n03xl80g31x6bfkjyrfxcxa6fyf2l5cj9pv";
+  verifyCargoDeps = true;
+
+  meta = with stdenv.lib; {
+    description = "Tree command, improved";
+    homepage = "https://github.com/dduan/tre";
+    license = licenses.mit;
+    maintainers = [ maintainers.dduan ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/uefitool/common.nix b/nixpkgs/pkgs/tools/system/uefitool/common.nix
new file mode 100644
index 000000000000..7d5ee82dcf98
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/uefitool/common.nix
@@ -0,0 +1,39 @@
+{ version, sha256, installFiles }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qmake, cmake, zip }:
+
+mkDerivation rec {
+  passthru = {
+    inherit version;
+    inherit sha256;
+    inherit installFiles;
+  };
+  pname = "uefitool";
+  inherit version;
+
+  src = fetchFromGitHub {
+    inherit sha256;
+    owner = "LongSoft";
+    repo = pname;
+    rev = version;
+  };
+
+  buildInputs = [ qtbase ];
+  nativeBuildInputs = [ qmake cmake zip ];
+
+  configurePhase = ":";
+  buildPhase = "bash unixbuild.sh";
+
+  installPhase = ''
+    mkdir -p "$out"/bin
+    cp ${lib.concatStringsSep " " installFiles} "$out"/bin
+  '';
+
+  meta = with lib; {
+    description = "UEFI firmware image viewer and editor";
+    homepage = "https://github.com/LongSoft/uefitool";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ajs124 ];
+    # uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/uefitool/variants.nix b/nixpkgs/pkgs/tools/system/uefitool/variants.nix
new file mode 100644
index 000000000000..cced17e6ddd4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/uefitool/variants.nix
@@ -0,0 +1,15 @@
+{ libsForQt5 }:
+let
+  common = opts: libsForQt5.callPackage (import ./common.nix opts) {};
+in rec {
+  new-engine = common rec {
+    version = "A56";
+    sha256 = "0sxmjkrwcchxg2qmcjsw2vr42s7cdcg2fxkwb8axq2r2z23465gp";
+    installFiles = [ "UEFITool/UEFITool" "UEFIFind/UEFIFind" "UEFIExtract/UEFIExtract" ];
+  };
+  old-engine = common rec {
+    version = "0.27.0";
+    sha256 = "1i1p823qld927p4f1wcphqcnivb9mq7fi5xmzibxc3g9zzgnyc2h";
+    installFiles = [ "UEFITool" "UEFIReplace/UEFIReplace" "UEFIPatch/UEFIPatch" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/uptimed/default.nix b/nixpkgs/pkgs/tools/system/uptimed/default.nix
index 71a5726759c7..2e856aaf9bea 100644
--- a/nixpkgs/pkgs/tools/system/uptimed/default.nix
+++ b/nixpkgs/pkgs/tools/system/uptimed/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "uptimed";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
-    sha256 = "0hqs7n3agayckwdgwadzw5shpdh4h1inqgvp4zr5fi324pj5x80j";
+    sha256 = "0wnnpjfxnycigqj6hag0n6p5piss8cv40y9jda72d9s4df5n91z8";
     rev = "v${version}";
     repo = "uptimed";
     owner = "rpodgorny";
diff --git a/nixpkgs/pkgs/tools/system/vboot_reference/default.nix b/nixpkgs/pkgs/tools/system/vboot_reference/default.nix
index 0bf8a7e85dce..1391a2a5ed23 100644
--- a/nixpkgs/pkgs/tools/system/vboot_reference/default.nix
+++ b/nixpkgs/pkgs/tools/system/vboot_reference/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }:
+{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }:
 
 stdenv.mkDerivation rec {
   version = "20180311";
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
 
   pname = "vboot_reference";
 
-  src = fetchgit {
-    url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
+  src = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference";
     rev = checkout;
     sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
   };
@@ -19,6 +19,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./dont_static_link.patch ];
 
+  # fix build with gcc9
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+
   postPatch = ''
     substituteInPlace Makefile \
       --replace "ar qc" '${stdenv.cc.bintools.targetPrefix}ar qc'
diff --git a/nixpkgs/pkgs/tools/system/which/default.nix b/nixpkgs/pkgs/tools/system/which/default.nix
index be2892e52e8d..12aac2508cbf 100644
--- a/nixpkgs/pkgs/tools/system/which/default.nix
+++ b/nixpkgs/pkgs/tools/system/which/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://www.gnu.org/software/which/;
+    description = "Shows the full path of (shell) commands";
     platforms = platforms.all;
     license = licenses.gpl3;
   };
diff --git a/nixpkgs/pkgs/tools/system/xe/default.nix b/nixpkgs/pkgs/tools/system/xe/default.nix
index 02d904724404..62423ff594ff 100644
--- a/nixpkgs/pkgs/tools/system/xe/default.nix
+++ b/nixpkgs/pkgs/tools/system/xe/default.nix
@@ -11,13 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     description = "Simple xargs and apply replacement";
     homepage = https://github.com/chneukirchen/xe;
     license = licenses.publicDomain;
     platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan ndowens ];
+    maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/yeshup/default.nix b/nixpkgs/pkgs/tools/system/yeshup/default.nix
index 8cea90b6758d..42060aed295a 100644
--- a/nixpkgs/pkgs/tools/system/yeshup/default.nix
+++ b/nixpkgs/pkgs/tools/system/yeshup/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "yeshup-${builtins.substring 0 7 rev}";
-  rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08";
+  pname = "yeshup";
+  version = "unstable-2013-10-29";
 
   src = fetchFromGitHub {
     owner = "RhysU";
     repo  = "yeshup";
-    inherit rev;
+    rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08";
     sha256 = "1wwbc158y46jsmdi1lp0m3dlbr9kvzvwxfvzj6646cpy9d6h21v9";
   };
 
diff --git a/nixpkgs/pkgs/tools/text/amber/default.nix b/nixpkgs/pkgs/tools/text/amber/default.nix
index c8f380739a6a..935b6a607298 100644
--- a/nixpkgs/pkgs/tools/text/amber/default.nix
+++ b/nixpkgs/pkgs/tools/text/amber/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amber";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jwrkd6qhxj2mqsfmhk687k15f7gf36gjyxnynj0yh8db2db6mjc";
+    sha256 = "0k70rk19hwdlhhqm91x12xcb8r09kzpijs0xwhplrwdh86qfxymx";
   };
 
-  cargoSha256 = "0iv8zvglwaihcc89dk9kkhchbj1g3v8wq8jcbrgcbclcsyymmplc";
+  cargoSha256 = "0hh3sgcdcp0llgf3i3dysrr3vry3fv3fzzf44ad1953d5mnyhvap";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/text/ansifilter/default.nix b/nixpkgs/pkgs/tools/text/ansifilter/default.nix
index b9a4f6782076..bc265c5a5aee 100644
--- a/nixpkgs/pkgs/tools/text/ansifilter/default.nix
+++ b/nixpkgs/pkgs/tools/text/ansifilter/default.nix
@@ -2,29 +2,30 @@
 
 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";
     longDescription = ''
-      Tool to remove ANSI or convert them to another format 
+      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/nixpkgs/pkgs/tools/text/boxes/default.nix b/nixpkgs/pkgs/tools/text/boxes/default.nix
new file mode 100644
index 000000000000..8325c6c08f35
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/catdoc/default.nix b/nixpkgs/pkgs/tools/text/catdoc/default.nix
index 16d5b9995c24..64ef092f36be 100644
--- a/nixpkgs/pkgs/tools/text/catdoc/default.nix
+++ b/nixpkgs/pkgs/tools/text/catdoc/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://anonscm.debian.org/git/collab-maint/catdoc.git/diff/debian/patches/05-CVE-2017-11110.patch?id=21dd5b29b11be04149587657dd90253f52dfef0b";
-      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+      url = "https://sources.debian.org/data/main/c/catdoc/1:0.95-4.1/debian/patches/05-CVE-2017-11110.patch";
+      sha256 = "1ljnwvssvzig94hwx8843b88p252ww2lbxh8zybcwr3kwwlcymx7";
     })
   ];
 
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "MS-Word/Excel/PowerPoint to text converter";
     platforms = platforms.all;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/coloursum/default.nix b/nixpkgs/pkgs/tools/text/coloursum/default.nix
index 212f071f2769..5cac5a9f90e5 100644
--- a/nixpkgs/pkgs/tools/text/coloursum/default.nix
+++ b/nixpkgs/pkgs/tools/text/coloursum/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "coloursum";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "ticky";
     repo = "coloursum";
     rev = "v${version}";
-    sha256 = "18ikwi0ihn0vadazrkh85jfz8a2f0dkfb3zns5jzh7p7mb0ylrr2";
+    sha256 = "1piz0l7qdcvjzfykm6rzqc8s1daxp3cj3923v9cmm41bc2v0p5q0";
   };
 
-  cargoSha256 = "0f73vqa82w4ccr0cc95mxga3r8jgd92jnksshxzaffbpx4s334p3";
+  cargoSha256 = "091flc5ymx0y43ld6bdmig5cy479b90bkmwv3yaysi5kpr28skvh";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Colourise your checksum output";
diff --git a/nixpkgs/pkgs/tools/text/diffr/default.nix b/nixpkgs/pkgs/tools/text/diffr/default.nix
new file mode 100644
index 000000000000..c032d2e8b361
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/diffr/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "diffr";
+  version = "v0.1.2";
+
+  # diffr's tests expect the diffr binary to be at `$CARGO_MANIFEST_DIR/target/debug/diffr`.
+  doCheck = false;
+
+  src = fetchFromGitHub {
+    owner = "mookid";
+    repo = pname;
+    rev = version;
+    sha256 = "1fpcyl4kc4djfl6a2jlj56xqra42334vygz8n7614zgjpyxz3zx2";
+  };
+
+  cargoSha256 = "1dddb3a547qnpm1vvrgffb3v9m8sh19hmhy0fg6xjqpm032lqx3v";
+
+  nativeBuildInputs = [];
+  buildInputs = (stdenv.lib.optional stdenv.isDarwin Security);
+
+  meta = with stdenv.lib; {
+    description = "Yet another diff highlighting tool";
+    homepage = https://github.com/mookid/diffr;
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ davidtwco ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/diffstat/default.nix b/nixpkgs/pkgs/tools/text/diffstat/default.nix
index fa5718ce4d36..bf4ff279f8fc 100644
--- a/nixpkgs/pkgs/tools/text/diffstat/default.nix
+++ b/nixpkgs/pkgs/tools/text/diffstat/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.62";
+  name = "diffstat-1.63";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/diffstat/${name}.tgz"
       "https://invisible-mirror.net/archives/diffstat/${name}.tgz"
     ];
-    sha256 = "07sr482y6iw7n7ddkba0w51kbjc99snvnijkn5ba2xzd8hv1h2bz";
+    sha256 = "0vyw200s5dv1257pmrh6c6fdkmw3slyz5szpqfx916xr04sdbpby";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/text/discount/default.nix b/nixpkgs/pkgs/tools/text/discount/default.nix
index 561ee06136d8..c1183d4c5a01 100644
--- a/nixpkgs/pkgs/tools/text/discount/default.nix
+++ b/nixpkgs/pkgs/tools/text/discount/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Implementation of Markdown markup language in C";
     homepage = http://www.pell.portland.or.us/~orc/Code/discount/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ shell ndowens ];
+    maintainers = with maintainers; [ shell ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/dos2unix/default.nix b/nixpkgs/pkgs/tools/text/dos2unix/default.nix
index bd72ec947143..b7efe02f4cdb 100644
--- a/nixpkgs/pkgs/tools/text/dos2unix/default.nix
+++ b/nixpkgs/pkgs/tools/text/dos2unix/default.nix
@@ -2,25 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "dos2unix";
-  version = "7.4.0";
+  version = "7.4.1";
 
   src = fetchurl {
     url = "https://waterlan.home.xs4all.nl/dos2unix/${pname}-${version}.tar.gz";
-    sha256 = "12h4c61g376bhq03y5g2xszkrkrj5hwd928rly3xsp6rvfmnbixs";
+    sha256 = "08w6yywzirsxq8bh87jycvvw922ybhc2l426j2iqzliyn1h8mm8w";
   };
 
-  configurePhase = ''
-    substituteInPlace Makefile \
-    --replace /usr $out
-    '';
-
   nativeBuildInputs = [ perl gettext ];
+  makeFlags = [ "prefix=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
-    homepage = http://waterlan.home.xs4all.nl/dos2unix.html;
-    description = "Tools to transform text files from dos to unix formats and vicervesa";
+    description = "Convert text files with DOS or Mac line breaks to Unix line breaks and vice versa";
+    homepage = "https://waterlan.home.xs4all.nl/dos2unix.html";
+    changelog = "https://sourceforge.net/p/dos2unix/dos2unix/ci/dos2unix-${version}/tree/dos2unix/NEWS.txt?format=raw";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ndowens ];
-
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/fanficfare/default.nix b/nixpkgs/pkgs/tools/text/fanficfare/default.nix
index 87306a61e0d4..b01317a532ff 100644
--- a/nixpkgs/pkgs/tools/text/fanficfare/default.nix
+++ b/nixpkgs/pkgs/tools/text/fanficfare/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FanFicFare";
-  version = "3.10.5";
+  version = "3.13.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0bxz1a0ak6b6zj5xpkzwy8ikxf45kkxdj64sf4ilj43yaqicm0bw";
+    sha256 = "01mrqqz2rv6abdsk80nxizsm5h68m12bqkdsjyqfzyxl0kn7zs0v";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/text/gawk/default.nix b/nixpkgs/pkgs/tools/text/gawk/default.nix
index 7a5f6c8dd818..0d5a50570f5f 100644
--- a/nixpkgs/pkgs/tools/text/gawk/default.nix
+++ b/nixpkgs/pkgs/tools/text/gawk/default.nix
@@ -41,7 +41,9 @@ stdenv.mkDerivation rec {
     (if interactive then "--with-readline=${readline.dev}" else "--without-readline")
   ];
 
-  makeFlags = "AR=${stdenv.cc.targetPrefix}ar";
+  makeFlags = [
+    "AR=${stdenv.cc.targetPrefix}ar"
+  ];
 
   inherit doCheck;
 
diff --git a/nixpkgs/pkgs/tools/text/gawk/gawk-with-extensions.nix b/nixpkgs/pkgs/tools/text/gawk/gawk-with-extensions.nix
new file mode 100644
index 000000000000..751e5181bb58
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/gawk/gawk-with-extensions.nix
@@ -0,0 +1,12 @@
+{ runCommand, gawk, extensions, makeWrapper }:
+
+runCommand "gawk-with-extensions" {
+  buildInputs = [ makeWrapper gawk ] ++ extensions;
+} ''
+  mkdir -p $out/bin
+  for i in ${gawk}/bin/*; do
+    name="$(basename "$i")"
+    makeWrapper $i $out/bin/$name \
+      --prefix AWKLIBPATH : "${gawk}/lib/gawk:''${AWKLIBPATH:-}"
+  done
+''
diff --git a/nixpkgs/pkgs/tools/text/gawk/gawkextlib.nix b/nixpkgs/pkgs/tools/text/gawk/gawkextlib.nix
new file mode 100644
index 000000000000..e15b2d4e257d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/gawk/gawkextlib.nix
@@ -0,0 +1,149 @@
+{ stdenv, recurseIntoAttrs, fetchgit, writeText, pkgconfig, autoreconfHook
+, autoconf, automake, libiconv, libtool, texinfo, gettext, gawk, rapidjson, gd
+, shapelib, libharu, lmdb, gmp, glibcLocales, mpfr, more, postgresql, hiredis
+, expat, tre, makeWrapper }:
+
+let
+  buildExtension = stdenv.lib.makeOverridable
+    ({ name, gawkextlib, extraBuildInputs ? [ ], doCheck ? true }:
+      let is_extension = !isNull gawkextlib;
+      in stdenv.mkDerivation rec {
+        pname = "gawkextlib-${name}";
+        version = "unstable-2019-11-21";
+
+        src = fetchgit {
+          url = "git://git.code.sf.net/p/gawkextlib/code";
+          rev = "f70f10da2804e4fd0a0bac57736e9c1cf21e345d";
+          sha256 = "0r8fz89n3l4dfszs1980yqj0ah95430lj0y1lb7blfkwxa6c2xik";
+        };
+
+        postPatch = ''
+          cd ${name}
+        '';
+
+        nativeBuildInputs = [
+          autoconf
+          automake
+          libtool
+          autoreconfHook
+          pkgconfig
+          texinfo
+          gettext
+        ];
+
+        buildInputs = [ gawk ] ++ extraBuildInputs;
+        propagatedBuildInputs = stdenv.lib.optional is_extension gawkextlib;
+
+        setupHook = if is_extension then ./setup-hook.sh else null;
+        inherit gawk;
+
+        inherit doCheck;
+        checkInputs = [ more ];
+
+        meta = with stdenv.lib; {
+          homepage = "https://sourceforge.net/projects/gawkextlib/";
+          description = "Dynamically loaded extension libraries for GNU AWK";
+          longDescription = ''
+            The gawkextlib project provides several extension libraries for
+            gawk (GNU AWK), as well as libgawkextlib containing some APIs that
+            are useful for building gawk extension libraries. These libraries
+            enable gawk to process XML data, interact with a PostgreSQL
+            database, use the GD graphics library, and perform unlimited
+            precision MPFR calculations.
+          '';
+          license = licenses.gpl3Plus;
+          platforms = platforms.unix;
+          maintainers = with maintainers; [ tomberek ];
+        };
+      });
+  gawkextlib = buildExtension {
+    gawkextlib = null;
+    name = "lib";
+  };
+  libs = {
+    abort = buildExtension {
+      inherit gawkextlib;
+      name = "abort";
+    };
+    aregex = buildExtension {
+      inherit gawkextlib;
+      name = "aregex";
+      extraBuildInputs = [ tre ];
+    };
+    csv = buildExtension {
+      inherit gawkextlib;
+      name = "csv";
+    };
+    errno = buildExtension {
+      inherit gawkextlib;
+      name = "errno";
+    };
+    gd = buildExtension {
+      inherit gawkextlib;
+      name = "gd";
+      extraBuildInputs = [ gd ];
+    };
+    haru = buildExtension {
+      inherit gawkextlib;
+      name = "haru";
+      extraBuildInputs = [ libharu ];
+    };
+    json = buildExtension {
+      inherit gawkextlib;
+      name = "json";
+      extraBuildInputs = [ rapidjson ];
+    };
+    lmdb = buildExtension {
+      inherit gawkextlib;
+      name = "lmdb";
+      extraBuildInputs = [ lmdb ];
+      #  mdb_env_open(env, /dev/null)
+      #! No such device
+      #  mdb_env_open(env, /dev/null)
+      #! Operation not supported by device
+      doCheck = !stdenv.isDarwin;
+    };
+    mbs = buildExtension {
+      inherit gawkextlib;
+      name = "mbs";
+      extraBuildInputs = [ glibcLocales ];
+      #! "spät": length: 5, mbs_length: 6, wcswidth: 4
+      doCheck = !stdenv.isDarwin;
+    };
+    mpfr = buildExtension {
+      inherit gawkextlib;
+      name = "mpfr";
+      extraBuildInputs = [ gmp mpfr ];
+    };
+    nl_langinfo = buildExtension {
+      inherit gawkextlib;
+      name = "nl_langinfo";
+    };
+    pgsql = buildExtension {
+      inherit gawkextlib;
+      name = "pgsql";
+      extraBuildInputs = [ postgresql ];
+    };
+    redis = buildExtension {
+      inherit gawkextlib;
+      name = "redis";
+      extraBuildInputs = [ hiredis ];
+    };
+    select = buildExtension {
+      inherit gawkextlib;
+      name = "select";
+    };
+    timex = buildExtension {
+      inherit gawkextlib;
+      name = "timex";
+    };
+    xml = buildExtension {
+      inherit gawkextlib;
+      name = "xml";
+      extraBuildInputs = [ expat libiconv ];
+    };
+  };
+in recurseIntoAttrs (libs // {
+  inherit gawkextlib buildExtension;
+  full = builtins.attrValues libs;
+})
diff --git a/nixpkgs/pkgs/tools/text/gawk/setup-hook.sh b/nixpkgs/pkgs/tools/text/gawk/setup-hook.sh
new file mode 100644
index 000000000000..d568cb8c7dd9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/gawk/setup-hook.sh
@@ -0,0 +1,6 @@
+local oldOpts="-u"
+shopt -qo nounset || oldOpts="+u"
+set +u
+. @gawk@/etc/profile.d/gawk.sh
+gawklibpath_append @out@/lib/gawk
+set "$oldOpts"
diff --git a/nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638.patch b/nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638-and-CVE-2018-20969.patch
index 38caff628aaf..38caff628aaf 100644
--- a/nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638.patch
+++ b/nixpkgs/pkgs/tools/text/gnupatch/CVE-2019-13638-and-CVE-2018-20969.patch
diff --git a/nixpkgs/pkgs/tools/text/gnupatch/default.nix b/nixpkgs/pkgs/tools/text/gnupatch/default.nix
index a046c5911157..b85d16ea4e92 100644
--- a/nixpkgs/pkgs/tools/text/gnupatch/default.nix
+++ b/nixpkgs/pkgs/tools/text/gnupatch/default.nix
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
       name = "Allow_input_files_to_be_missing_for_ed-style_patches.patch";
       sha256 = "0iw0lk0yhnhvfjzal48ij6zdr92mgb84jq7fwryy1hdhi47hhq64";
     })
-    (fetchurl { # CVE-2018-1000156
+    (fetchurl {
       url = https://git.savannah.gnu.org/cgit/patch.git/patch/?id=123eaff0d5d1aebe128295959435b9ca5909c26d;
-      name = "Fix_arbitrary_command_execution_in_ed-style_patches.patch";
+      name = "CVE-2018-1000156.patch";
       sha256 = "1bpy16n3hm5nv9xkrn6c4wglzsdzj3ss1biq16w9kfv48p4hx2vg";
     })
     # https://git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     ./CVE-2019-13636.patch
 
     # https://git.savannah.gnu.org/cgit/patch.git/patch/?id=3fcd042d26d70856e826a42b5f93dc4854d80bf0
-    ./CVE-2019-13638.patch
+    ./CVE-2019-13638-and-CVE-2018-20969.patch
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/text/grip-search/default.nix b/nixpkgs/pkgs/tools/text/grip-search/default.nix
new file mode 100644
index 000000000000..921691a40afd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch b/nixpkgs/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch
new file mode 100644
index 000000000000..671293cda5b1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch
@@ -0,0 +1,46 @@
+From 1454525f70b43a6957b7c9e1870e997368787da3 Mon Sep 17 00:00:00 2001
+From: Samuel Dionne-Riel <samuel@dionne-riel.com>
+Date: Fri, 8 Nov 2019 21:59:21 -0500
+Subject: [PATCH] Fix cross-compilation by looking for `ar`.
+
+---
+ Makefile.am  | 2 +-
+ configure.ac | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d18c49b8..b1b53338 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -494,7 +494,7 @@ CCC=@CXX@
+ # INSTALL_INFO
+ # LN_S
+ 
+-AR=ar
++AR=@AR@
+ ETAGS=etags
+ ETAGSFLAGS=
+ # Flag that tells etags to assume C++.
+diff --git a/configure.ac b/configure.ac
+index 28e75f17..2449b9f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ 
+ AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin])
+ AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
++AC_CONFIG_MACRO_DIR([m4])
+ 
+ AC_USE_SYSTEM_EXTENSIONS
+ 
+@@ -72,6 +73,7 @@ GROFF_DOC_CHECK
+ GROFF_MAKEINFO
+ GROFF_TEXI2DVI
+ AC_PROG_RANLIB
++AC_CHECK_TOOL([AR], [ar], [ar])
+ GROFF_INSTALL_SH
+ GROFF_INSTALL_INFO
+ AC_PROG_INSTALL
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/tools/text/groff/default.nix b/nixpkgs/pkgs/tools/text/groff/default.nix
index a3df96175675..ec7e724d1fc3 100644
--- a/nixpkgs/pkgs/tools/text/groff/default.nix
+++ b/nixpkgs/pkgs/tools/text/groff/default.nix
@@ -3,15 +3,17 @@
 , psutils, netpbm #for html output
 , buildPackages
 , autoreconfHook
+, pkgconfig
+, texinfo
 }:
 
 stdenv.mkDerivation rec {
   pname = "groff";
-  version = "1.22.3";
+  version = "1.22.4";
 
   src = fetchurl {
     url = "mirror://gnu/groff/${pname}-${version}.tar.gz";
-    sha256 = "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s";
+    sha256 = "14q2mldnr1vx0l9lqp9v2f6iww24gj28iyh4j2211hyynx67p3p7";
   };
 
   outputs = [ "out" "man" "doc" "info" "perl" ];
@@ -19,8 +21,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   patches = [
-    ./look-for-ar.patch
-    ./mdate-determinism.patch
+    ./0001-Fix-cross-compilation-by-looking-for-ar.patch
   ];
 
   postPatch = stdenv.lib.optionalString (psutils != null) ''
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ ghostscript psutils netpbm perl ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig texinfo ];
 
   # Builds running without a chroot environment may detect the presence
   # of /usr/X11 in the host system, leading to an impure build of the
@@ -62,11 +63,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # Remove example output with (random?) colors and creation date
-  # to avoid non-determinism in the output.
   postInstall = ''
-    rm "$doc"/share/doc/groff/examples/hdtbl/*color*ps
-    find "$doc"/share/doc/groff/ -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//'
     for f in 'man.local' 'mdoc.local'; do
         cat '${./site.tmac}' >>"$out/share/groff/site-tmac/$f"
     done
diff --git a/nixpkgs/pkgs/tools/text/groff/look-for-ar.patch b/nixpkgs/pkgs/tools/text/groff/look-for-ar.patch
deleted file mode 100644
index 3b4d09c260fa..000000000000
--- a/nixpkgs/pkgs/tools/text/groff/look-for-ar.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-commit 988a001f969262089579958827652da00fda096f
-Author: Ben Gamari <ben@smart-cactus.org>
-Date:   Tue Oct 17 16:15:20 2017 -0400
-
-    Look for AR
-
-diff --git a/Makefile.in b/Makefile.in
-index bc156ce..cc02126 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -464,7 +464,7 @@ INSTALL_SCRIPT=@INSTALL_SCRIPT@
- INSTALL_DATA=@INSTALL_DATA@
- INSTALL_INFO=@INSTALL_INFO@
- LN_S=@LN_S@
--AR=ar
-+AR=@AR@
- ETAGS=etags
- ETAGSFLAGS=
- # Flag that tells etags to assume C++.
-diff --git a/configure.ac b/configure.ac
-index c779165..6d53f5e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -45,6 +45,7 @@ AC_PREREQ([2.62])
- 
- AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin])
- AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
-+AC_CONFIG_MACRO_DIR([m4])
- 
- AC_USE_SYSTEM_EXTENSIONS
- 
-@@ -73,6 +74,7 @@ GROFF_PROG_YACC
- GROFF_DOC_CHECK
- GROFF_MAKEINFO
- AC_PROG_RANLIB
-+AC_CHECK_TOOL([AR], [ar], [ar])
- GROFF_INSTALL_SH
- GROFF_INSTALL_INFO
- AC_PROG_INSTALL
diff --git a/nixpkgs/pkgs/tools/text/groff/mdate-determinism.patch b/nixpkgs/pkgs/tools/text/groff/mdate-determinism.patch
deleted file mode 100644
index 1253d1133940..000000000000
--- a/nixpkgs/pkgs/tools/text/groff/mdate-determinism.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.comm b/Makefile.comm
-index 75efc22..b757000 100644
---- a/Makefile.comm
-+++ b/Makefile.comm
-@@ -155,7 +155,7 @@ extraclean: distclean
- 	     -e "s|@MAN1EXT@|$(man1ext)|g" \
- 	     -e "s|@MAN5EXT@|$(man5ext)|g" \
- 	     -e "s|@MAN7EXT@|$(man7ext)|g" \
--	     -e "s|@MDATE@|`$(SHELL) $(top_srcdir)/mdate.sh $<`|g" \
-+	     -e "s|@MDATE@|`date +'%-d %B %Y' -r $(top_srcdir)/ChangeLog`|g" \
- 	     -e "s|@OLDFONTDIR@|$(oldfontdir)|g" \
- 	     -e "s|@PDFDOCDIR@|$(pdfdocdir)|g" \
- 	     -e "s|@SYSTEMMACRODIR@|$(systemtmacdir)|g" \
diff --git a/nixpkgs/pkgs/tools/text/gtranslator/default.nix b/nixpkgs/pkgs/tools/text/gtranslator/default.nix
index 69924bb234b5..b871ac6ffaa0 100644
--- a/nixpkgs/pkgs/tools/text/gtranslator/default.nix
+++ b/nixpkgs/pkgs/tools/text/gtranslator/default.nix
@@ -9,6 +9,8 @@
 , wrapGAppsHook
 , libxml2
 , libgda
+, libsoup
+, json-glib
 , gspell
 , glib
 , gtk3
@@ -19,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtranslator";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nmlj41wm02lbgrxdlpqpcgdab5cxsvggvqnk43v6kk86q27pcz1";
+    sha256 = "05zvpx330h9k7b12p07bhcy47vq66260fmiph2b6h97xpl15rwmj";
   };
 
   nativeBuildInputs = [
@@ -42,6 +44,8 @@ stdenv.mkDerivation rec {
     gtk3
     gtksourceview4
     libgda
+    libsoup
+    json-glib
     gettext
     gspell
     gsettings-desktop-schemas
diff --git a/nixpkgs/pkgs/tools/text/highlight/default.nix b/nixpkgs/pkgs/tools/text/highlight/default.nix
index ed4f25c31afb..51cafeb8c4a4 100644
--- a/nixpkgs/pkgs/tools/text/highlight/default.nix
+++ b/nixpkgs/pkgs/tools/text/highlight/default.nix
@@ -1,62 +1,58 @@
-{ stdenv, fetchFromGitLab, fetchpatch
-, getopt, lua, boost, pkgconfig, swig, perl, gcc }:
+{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, swig, perl, gcc }:
 
 with stdenv.lib;
 
-perl.pkgs.toPerlModule (stdenv.mkDerivation rec {
-  pname = "highlight";
-  version = "3.53";
-
-  src = fetchFromGitLab {
-    owner = "saalen";
-    repo = "highlight";
-    rev = "v${version}";
-    sha256 = "11szws4q6qyffq2fsvh1vksh1d0kcwg6smyyba9yr61hzx6zmzgr";
+let
+  self = stdenv.mkDerivation rec {
+    pname = "highlight";
+    version = "3.54";
+
+    src = fetchFromGitLab {
+      owner = "saalen";
+      repo = "highlight";
+      rev = "v${version}";
+      sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
+    };
+
+    enableParallelBuilding = true;
+
+    nativeBuildInputs = [ pkgconfig swig perl ] ++ optional stdenv.isDarwin gcc;
+
+    buildInputs = [ getopt lua boost ];
+
+    prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
+      substituteInPlace src/makefile \
+          --replace 'CXX=g++' 'CXX=clang++'
+    '';
+
+    preConfigure = ''
+      makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR"
+    '';
+
+    # This has to happen _before_ the main build because it does a
+    # `make clean' for some reason.
+    preBuild = optionalString (!stdenv.isDarwin) ''
+      make -C extras/swig $makeFlags perl
+    '';
+
+    postCheck = optionalString (!stdenv.isDarwin) ''
+      perl -Iextras/swig extras/swig/testmod.pl
+    '';
+
+    preInstall = optionalString (!stdenv.isDarwin) ''
+      mkdir -p $out/${perl.libPrefix}
+      install -m644 extras/swig/highlight.{so,pm} $out/${perl.libPrefix}
+      make -C extras/swig clean # Clean up intermediate files.
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Source code highlighting tool";
+      homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ willibutz ];
+    };
   };
 
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ pkgconfig swig perl ] ++ optional stdenv.isDarwin gcc;
-
-  buildInputs = [ getopt lua boost ];
-
-  prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
-    substituteInPlace src/makefile \
-        --replace 'CXX=g++' 'CXX=clang++'
-  '';
-
-  patches = [
-    (fetchpatch {
-      url = "https://gitlab.com/saalen/highlight/commit/a6e9f5b28cdfee7141847e3b1bc392ff06be615d.patch";
-      sha256 = "0rjs1009a0x8bw0nzr05fn5a7df32h5y7r6691blkp2x6iw21nz2";
-    })
-  ];
-
-  preConfigure = ''
-    makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR"
-  '';
-
-  # This has to happen _before_ the main build because it does a
-  # `make clean' for some reason.
-  preBuild = ''
-    make -C extras/swig $makeFlags perl
-  '';
-
-  doCheck = true;
-  postCheck = ''
-    perl -Iextras/swig extras/swig/testmod.pl
-  '';
-
-  preInstall = ''
-    mkdir -p $out/${perl.libPrefix}
-    install -m644 extras/swig/highlight.{so,pm} $out/${perl.libPrefix}
-    make -C extras/swig clean # Clean up intermediate files.
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Source code highlighting tool";
-    homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ndowens willibutz ];
-  };
-})
+in
+  if stdenv.isDarwin then self
+  else perl.pkgs.toPerlModule self
diff --git a/nixpkgs/pkgs/tools/text/icdiff/default.nix b/nixpkgs/pkgs/tools/text/icdiff/default.nix
index dfbe6e7b6dc1..79bcf90718b1 100644
--- a/nixpkgs/pkgs/tools/text/icdiff/default.nix
+++ b/nixpkgs/pkgs/tools/text/icdiff/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "icdiff";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "jeffkaufman";
     repo = "icdiff";
     rev = "release-${version}";
-    sha256 = "1micpm7kq9swfscmp4mg37fnzgzpsg7704yi33c5sd6cmgbdabxm";
+    sha256 = "080v8h09pv8qwplin4kwfm0kmqjwdqjfxbpcdrv16sv4hwfwl5qd";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/text/kdiff3/default.nix b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
index aa53aeb42061..d55ed89e633d 100644
--- a/nixpkgs/pkgs/tools/text/kdiff3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/kytea/default.nix b/nixpkgs/pkgs/tools/text/kytea/default.nix
index 600907311ef2..621408866e8c 100644
--- a/nixpkgs/pkgs/tools/text/kytea/default.nix
+++ b/nixpkgs/pkgs/tools/text/kytea/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
     license = licenses.asl20;
 
-    maintainers = with maintainers; [ ericsagnes ndowens ];
+    maintainers = with maintainers; [ ericsagnes ];
     platforms = platforms.unix;
   };
 
diff --git a/nixpkgs/pkgs/tools/text/languagetool/default.nix b/nixpkgs/pkgs/tools/text/languagetool/default.nix
index f75099e630db..f6ca3a7d760f 100644
--- a/nixpkgs/pkgs/tools/text/languagetool/default.nix
+++ b/nixpkgs/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "4.6";
+  version = "4.7";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "1z3i6kz1dz7dw2ykyk1yamrv8h5h330sfyl037hhyy9hw6p30rhg";
+    sha256 = "08200f9vk157jv27lmm89rsf9r05sb6jxcmnphrpz1hxykixd294";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/nixpkgs/pkgs/tools/text/link-grammar/default.nix b/nixpkgs/pkgs/tools/text/link-grammar/default.nix
index bca0a5e38579..ce9b0bfa8838 100644
--- a/nixpkgs/pkgs/tools/text/link-grammar/default.nix
+++ b/nixpkgs/pkgs/tools/text/link-grammar/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, python3, sqlite, libedit, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "5.6.2";
+  version = "5.7.0";
   pname = "link-grammar";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchurl {
     url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1jc6j5kxdv3y4mm82q0rrjvlak8p26fqh92dzw5bkwxnvjmjjg1k";
+    sha256 = "0ak1v469k56v3511kxxkxvx1nw6zcxcl0f1kcvc82ffacqbr4y96";
   };
 
   nativeBuildInputs = [ pkgconfig python3 ];
diff --git a/nixpkgs/pkgs/tools/text/lv/default.nix b/nixpkgs/pkgs/tools/text/lv/default.nix
new file mode 100644
index 000000000000..3e96858f9c9c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/lv/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "lv";
+  version = "4.51";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/l/${pname}/${pname}_${version}.orig.tar.gz";
+    sha256 = "0yf3idz1qspyff1if41xjpqqcaqa8q8icslqlnz0p9dj36gmm5l3";
+  };
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  buildInputs = [ ncurses ];
+
+  configurePhase = ''
+    mkdir -p build
+    cd build
+    ../src/configure
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Powerful multi-lingual file viewer / grep";
+    homepage = "https://web.archive.org/web/20160310122517/www.ff.iij4u.or.jp/~nrt/lv/";
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ kayhide ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/mawk/default.nix b/nixpkgs/pkgs/tools/text/mawk/default.nix
index 9fed14c6d550..fbfc032445b4 100644
--- a/nixpkgs/pkgs/tools/text/mawk/default.nix
+++ b/nixpkgs/pkgs/tools/text/mawk/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mawk-1.3.4-20171017";
+  name = "mawk-1.3.4-20190203";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/mawk/${name}.tgz"
       "https://invisible-mirror.net/archives/mawk/${name}.tgz"
     ];
-    sha256 = "0nwyxhipn4jx7j695lih1xggxm6cp4fjk4wbgihd33ni3rfi25yv";
+    sha256 = "0h5qlslaj5czz4v25hqg8a6kg4c5mlkmdpxhhvpvp1ci08ab7b6s";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index 3123d31a7b54..b21523ce863a 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/mdcat/default.nix b/nixpkgs/pkgs/tools/text/mdcat/default.nix
new file mode 100644
index 000000000000..626963bc6010
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/mdcat/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security, ansi2html }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdcat";
+  version = "0.14.0";
+
+  src = fetchFromGitHub {
+    owner = "lunaryorn";
+    repo = pname;
+    rev = "mdcat-${version}";
+    sha256 = "1q8h6pc1i89j1zl4s234inl9v95vsdrry1fzlis89sl2mnbv8ywy";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+
+  cargoSha256 = "1hxsfls6fpllc9yg5ib3qz6pa62j1y1va8a6356j6812csk4ifnn";
+
+  checkInputs = [ ansi2html ];
+  checkPhase = ''
+    # Skip tests that use the network and that include files.
+    cargo test -- --skip terminal::iterm2 --skip terminal::resources::tests::remote \
+      --skip magic::tests::detect_mimetype_of_svg_image \
+      --skip magic::tests::detect_mimetype_of_png_image
+  '';
+
+  meta = with stdenv.lib; {
+    description = "cat for markdown";
+    homepage = https://github.com/lunaryorn/mdcat;
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ davidtwco ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/multitran/libmtquery/default.nix b/nixpkgs/pkgs/tools/text/multitran/libmtquery/default.nix
index 8b2032dcaba5..baccdfdedba5 100644
--- a/nixpkgs/pkgs/tools/text/multitran/libmtquery/default.nix
+++ b/nixpkgs/pkgs/tools/text/multitran/libmtquery/default.nix
@@ -9,9 +9,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ libmtsupport libfacet libbtree multitrandata ];
 
-  NIX_LDFLAGS = [
-    "-lbtree"
-  ];
+  NIX_LDFLAGS = "-lbtree";
 
   patchPhase = ''
     sed -i -e 's@\$(DESTDIR)/usr@'$out'@' \
diff --git a/nixpkgs/pkgs/tools/text/numdiff/default.nix b/nixpkgs/pkgs/tools/text/numdiff/default.nix
index 415ff0b31b75..f7543dc0f70e 100644
--- a/nixpkgs/pkgs/tools/text/numdiff/default.nix
+++ b/nixpkgs/pkgs/tools/text/numdiff/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.nongnu.org/numdiff/;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix b/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
index 820d98408fb6..13353daa1711 100644
--- a/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
@@ -28,14 +28,14 @@ let
 
 in buildPythonApplication rec {
   pname = "ocrmypdf";
-  version = "9.0.3";
+  version = "9.2.0";
   disabled = ! python3Packages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
     repo = "OCRmyPDF";
     rev = "v${version}";
-    sha256 = "1qnjdcbwkxxqfahylzl0wj1gk51yi9m8akd4d1rrq37vg2vwdkjy";
+    sha256 = "1mvc6x5nn242z65pxv39ch71vaikgi89bb0sjbfy2jbw91vk41xa";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -53,7 +53,6 @@ in buildPythonApplication rec {
     pikepdf
     pillow
     reportlab
-    ruffus
     setuptools
     tqdm
   ];
@@ -71,8 +70,8 @@ in buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace src/ocrmypdf/leptonica.py \
-      --replace "ffi.dlopen(find_library('lept'))" \
-      'ffi.dlopen("${stdenv.lib.makeLibraryPath [leptonica]}/liblept${stdenv.hostPlatform.extensions.sharedLibrary}")'
+      --replace "lept = ffi.dlopen(_libpath)" \
+      'lept = ffi.dlopen("${stdenv.lib.makeLibraryPath [leptonica]}/liblept${stdenv.hostPlatform.extensions.sharedLibrary}")'
   '';
 
   # The tests take potentially 20+ minutes, depending on machine
diff --git a/nixpkgs/pkgs/tools/text/papertrail/default.nix b/nixpkgs/pkgs/tools/text/papertrail/default.nix
index be85511a92b8..d20727f725a2 100644
--- a/nixpkgs/pkgs/tools/text/papertrail/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/par/default.nix b/nixpkgs/pkgs/tools/text/par/default.nix
index 5f9ca5212d30..88325c38731d 100644
--- a/nixpkgs/pkgs/tools/text/par/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/poedit/default.nix b/nixpkgs/pkgs/tools/text/poedit/default.nix
index e1ac2248d224..4d29c380483d 100644
--- a/nixpkgs/pkgs/tools/text/poedit/default.nix
+++ b/nixpkgs/pkgs/tools/text/poedit/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "poedit";
-  version = "2.2.1";
+  version = "2.2.4";
 
   src = fetchurl {
     url = "https://github.com/vslavik/poedit/archive/v${version}-oss.tar.gz";
-    sha256 = "0brj6ysisxng2xn8l9ii2rngsj5b4rk27hzfjbp3zwb2caagd3vq";
+    sha256 = "1k5ql41g635z01s1i9bchvf72ynwsvg54gs3s40f07f9dihb23gd";
   };
 
   nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook 
diff --git a/nixpkgs/pkgs/tools/text/qgrep/default.nix b/nixpkgs/pkgs/tools/text/qgrep/default.nix
index 5f0e7461361d..c45398e31a1f 100644
--- a/nixpkgs/pkgs/tools/text/qgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/qgrep/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, CoreServices, CoreFoundation, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "1.1";
@@ -12,6 +12,20 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      url = "https://github.com/zeux/qgrep/commit/21c4d1a5ab0f0bdaa0b5ca993c1315c041418cc6.patch";
+      sha256 = "0wpxzrd9pmhgbgby17vb8279xwvkxfdd99gvv7r74indgdxqg7v8";
+    })
+  ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices CoreFoundation ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
+    substituteInPlace Makefile \
+      --replace "-msse2" "" --replace "-DUSE_SSE2" ""
+  '';
+
   installPhase = '' 
     install -Dm755 qgrep $out/bin/qgrep
   '';
@@ -23,5 +37,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.yrashk ];
     platforms = platforms.all;
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/text/reckon/default.nix b/nixpkgs/pkgs/tools/text/reckon/default.nix
index 25e9c07f351e..261149229b64 100644
--- a/nixpkgs/pkgs/tools/text/reckon/default.nix
+++ b/nixpkgs/pkgs/tools/text/reckon/default.nix
@@ -4,17 +4,17 @@ stdenv.mkDerivation rec {
   pname = "reckon";
   version = (import ./gemset.nix).reckon.version;
 
-  env = bundlerEnv {
-    name = "${pname}-${version}-gems";
-
-    gemdir = ./.;
-  };
-
   phases = [ "installPhase" ];
 
   buildInputs = [ makeWrapper ];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "${pname}-${version}-gems";
+
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/reckon $out/bin/reckon
   '';
diff --git a/nixpkgs/pkgs/tools/text/recode/default.nix b/nixpkgs/pkgs/tools/text/recode/default.nix
index 3437400269c3..e1c3d87bdcbc 100644
--- a/nixpkgs/pkgs/tools/text/recode/default.nix
+++ b/nixpkgs/pkgs/tools/text/recode/default.nix
@@ -1,34 +1,22 @@
-{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook
-, texinfo, libiconv, libintl }:
+{ stdenv, fetchurl, python3, perl, intltool, flex, texinfo, libiconv, libintl }:
 
-stdenv.mkDerivation {
-  name = "recode-3.7-2fd838565";
+stdenv.mkDerivation rec {
+  pname = "recode";
+  version = "3.7.6";
 
-  src = fetchFromGitHub {
-    owner = "pinard";
-    repo = "Recode";
-    rev = "2fd8385658e5a08700e3b916053f6680ff85fdbd";
-    sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03";
+  # Use official tarball, avoid need to bootstrap/generate build system
+  src = fetchurl {
+    url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "0m59sd1ca0zw1aydpc3m8sw03nc885knmccqryg7byzmqs585ia6";
   };
 
-  nativeBuildInputs = [ python perl intltool flex texinfo autoreconfHook libiconv ];
+  nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
   buildInputs = [ libintl ];
 
-  preAutoreconf = ''
-    # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
-    substituteInPlace Makefile.am --replace "ACLOCAL = ./aclocal.sh @ACLOCAL@" ""
-    sed -i '/^AM_C_PROTOTYPES/d' configure.ac
-    substituteInPlace src/Makefile.am --replace "ansi2knr" ""
-  '';
-
-  doCheck = false; # fails 10 out of 16 tests
-
-  preCheck = ''
-    checkFlagsArray=(CPPFLAGS="-I../lib" LDFLAGS="-L../src/.libs -Wl,-rpath=../src/.libs")
-  '';
+  doCheck = true;
 
   meta = {
-    homepage = https://www.gnu.org/software/recode/;
+    homepage = https://github.com/rrthomas/recode;
     description = "Converts files between various character sets and usages";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/tools/text/replace/default.nix b/nixpkgs/pkgs/tools/text/replace/default.nix
index 9242014cdca5..3549e7c1c943 100644
--- a/nixpkgs/pkgs/tools/text/replace/default.nix
+++ b/nixpkgs/pkgs/tools/text/replace/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "man" ];
 
-  makeFlags = "TREE=\$(out) MANTREE=\$(TREE)/share/man";
+  makeFlags = [ "TREE=\$(out)" "MANTREE=\$(TREE)/share/man" ];
 
   preBuild = ''
     sed -e "s@/bin/mv@$(type -P mv)@" -i replace.h
diff --git a/nixpkgs/pkgs/tools/text/ripgrep-all/default.nix b/nixpkgs/pkgs/tools/text/ripgrep-all/default.nix
index a9253b02ddd9..df54724d3847 100644
--- a/nixpkgs/pkgs/tools/text/ripgrep-all/default.nix
+++ b/nixpkgs/pkgs/tools/text/ripgrep-all/default.nix
@@ -1,27 +1,51 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform, makeWrapper, ffmpeg
-, pandoc, poppler_utils, ripgrep, Security
+, pandoc, poppler_utils, ripgrep, Security, imagemagick, tesseract
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ripgrep-all";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "phiresky";
     repo = pname;
     rev = version;
-    sha256 = "1knv0gpanrid9i9mxg7zwqh9igdksp1623wl9iwmysiyaajlbif2";
+    sha256 = "0fxvnd8qflzvqz2181njdhpbr4wdvd1jc6lcw38c3pknk9h3ymq9";
   };
 
-  cargoSha256 = "0xwsx0x9n766bxamhnpzibrnvnqsxz3wh1f0rj29kbl32xl8yyfg";
+  cargoSha256 = "1jcwipsb7sl65ky78cypl4qvjvxvv4sjlwcg1pirgmqikcyiiy2l";
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = lib.optional stdenv.isDarwin Security;
 
   postInstall = ''
     wrapProgram $out/bin/rga \
-      --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep ]}"
+      --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}"
   '';
 
+  # Use upstream's example data to run a couple of queries to ensure the dependencies
+  # for all of the adapters are available.
+  installCheckPhase = ''
+    set -e
+    export PATH="$PATH:$out/bin"
+
+    test1=$(rga --rga-no-cache "hello" exampledir/ | wc -l)
+    test2=$(rga --rga-no-cache --rga-adapters=tesseract "crate" exampledir/screenshot.png | wc -l)
+
+    if [ $test1 != 26 ]
+    then
+      echo "ERROR: test1 failed! Could not find the word 'hello' 26 times in the sample data."
+      exit 1
+    fi
+
+    if [ $test2 != 1 ]
+    then
+      echo "ERROR: test2 failed! Could not find the word 'crate' in the screenshot."
+      exit 1
+    fi
+  '';
+
+  doInstallCheck = true;
+
   meta = with stdenv.lib; {
     description = "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more";
     longDescription = ''
@@ -33,7 +57,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = https://github.com/phiresky/ripgrep-all;
     license = with licenses; [ agpl3Plus ];
-    maintainers = with maintainers; [ zaninime ];
+    maintainers = with maintainers; [ zaninime ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/ripgrep/default.nix b/nixpkgs/pkgs/tools/text/ripgrep/default.nix
index 4b1275d041f4..963ef99c68a1 100644
--- a/nixpkgs/pkgs/tools/text/ripgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ripgrep/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1iga3320mgi7m853la55xip514a3chqsdi1a1rwv25lr9b1p7vd3";
   };
 
-  cargoSha256 = "11477l4l1y55klw5dp2kbsnv989vdz1547ml346hcfbkzv7m450v";
+  cargoSha256 = "17ldqr3asrdcsh4l29m3b5r37r5d0b3npq1lrgjmxb6vlx6a36qh";
 
   cargoBuildFlags = stdenv.lib.optional withPCRE2 "--features pcre2";
 
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
     license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = with maintainers; [ tailhook globin ];
+    maintainers = with maintainers; [ tailhook globin ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/ruplacer/default.nix b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
new file mode 100644
index 000000000000..7fdde0b3a694
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ruplacer";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "TankerHQ";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yj753d9wsnp4s5a71ph241jym5rfz3161a1v3qxfc4w23v86j1q";
+  };
+
+  cargoSha256 = "1lzw4x40j25khf68x5srj8i05c11ls5y7km206vxn19vsy9ah4k9";
+
+  buildInputs = (stdenv.lib.optional stdenv.isDarwin Security);
+
+  meta = with stdenv.lib; {
+    description = "Find and replace text in source files";
+    homepage = "https://github.com/TankerHQ/ruplacer";
+    license = [ licenses.bsd3 ];
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/sgml/jade/default.nix b/nixpkgs/pkgs/tools/text/sgml/jade/default.nix
index b7f8bd6df381..2cc40510121b 100644
--- a/nixpkgs/pkgs/tools/text/sgml/jade/default.nix
+++ b/nixpkgs/pkgs/tools/text/sgml/jade/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gnum4 ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-deprecated" ];
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated";
 
   preInstall = ''
     install -d -m755 "$out"/lib
diff --git a/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh b/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh
index 753a3ea64287..5bace3c66889 100644
--- a/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh
+++ b/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh
@@ -6,7 +6,7 @@ addSGMLCatalogs () {
       fi
 }
 
-if test -z "$sgmlHookDone"; then
+if test -z "${sgmlHookDone-}"; then
     sgmlHookDone=1
 
     # Set http_proxy and ftp_proxy to a invalid host to prevent
diff --git a/nixpkgs/pkgs/tools/text/smu/default.nix b/nixpkgs/pkgs/tools/text/smu/default.nix
new file mode 100644
index 000000000000..50bceb4fcb34
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/smu/default.nix
@@ -0,0 +1,28 @@
+{ 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 = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  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/nixpkgs/pkgs/tools/text/snippetpixie/default.nix b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
new file mode 100644
index 000000000000..585c183a81cb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkgconfig
+, wrapGAppsHook
+, appstream
+, desktop-file-utils
+, python3
+, libgee
+, glib
+, gtk3
+, sqlite
+, at-spi2-atk
+, at-spi2-core
+, dbus
+, ibus
+, json-glib
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "snippetpixie";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "bytepixie";
+    repo = pname;
+    rev = version;
+    sha256 = "096xj7n1ypr8ss8mbwd1hyypvmzw5lc0hjlj2d1x8hbjljldfd13";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    appstream
+    desktop-file-utils
+    python3
+  ];
+
+  buildInputs = [
+    libgee
+    glib
+    gtk3
+    sqlite
+    at-spi2-atk
+    at-spi2-core
+    dbus
+    ibus
+    json-glib
+    pantheon.granite
+    pantheon.elementary-gtk-theme
+    pantheon.elementary-icon-theme
+  ];
+
+  doCheck = true;
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Your little expandable text snippet helper";
+    longDescription = ''
+      Your little expandable text snippet helper.
+
+      Save your often used text snippets and then expand them whenever you type their abbreviation.
+
+      For example:- "spr`" expands to "Snippet Pixie rules!"
+    '';
+    homepage = https://www.snippetpixie.com;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [
+      ianmjones
+    ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/source-highlight/default.nix b/nixpkgs/pkgs/tools/text/source-highlight/default.nix
index d1858d6508d6..8e937fe8518b 100644
--- a/nixpkgs/pkgs/tools/text/source-highlight/default.nix
+++ b/nixpkgs/pkgs/tools/text/source-highlight/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "source-highlight";
-  version = "3.1.8";
+  version = "3.1.9";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
-    sha256 = "18xdalxg7yzrxc1njzgw7aryq2jdm7zq2yqz41sc7k6il5z6lcq1";
+    sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
   };
 
   buildInputs = [ boost ];
diff --git a/nixpkgs/pkgs/tools/text/tab/default.nix b/nixpkgs/pkgs/tools/text/tab/default.nix
new file mode 100644
index 000000000000..b7855bc75325
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/tab/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromBitbucket, python2 }:
+
+stdenv.mkDerivation rec {
+  version = "7.2";
+  pname = "tab";
+
+  src = fetchFromBitbucket {
+    owner = "tkatchev";
+    repo = pname;
+    rev = version;
+    sha256 = "1bm15lw0vp901dj2vsqx6yixmn7ls3brrzh1w6zgd1ksjzlm5aax";
+  };
+
+  nativeBuildInputs = [ python2 ];
+
+  doCheck = true;
+
+  checkTarget = "test";
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 -t $out/bin tab
+    install -Dm444 -t $out/share/doc/tab docs/*.html
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Programming language/shell calculator";
+    homepage    = https://tkatchev.bitbucket.io/tab/;
+    license     = licenses.boost;
+    maintainers = with maintainers; [ mstarzyk ];
+    platforms   = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/transifex-client/default.nix b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
index 9a11b5fba57a..403adaf71b6f 100644
--- a/nixpkgs/pkgs/tools/text/transifex-client/default.nix
+++ b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonApplication, fetchPypi
-, python-slugify, requests, urllib3, six }:
+, python-slugify, requests, urllib3, six, setuptools }:
 
 buildPythonApplication rec {
   pname = "transifex-client";
   version = "0.13.6";
 
   propagatedBuildInputs = [
-    urllib3 requests python-slugify six
+    urllib3 requests python-slugify six setuptools
   ];
 
   src = fetchPypi {
@@ -15,16 +15,16 @@ buildPythonApplication rec {
   };
 
   prePatch = ''
-    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0" \
-      --replace "six==1.11.0" "six<2.0.0" \
-      --replace "python-slugify==1.2.6" "python-slugify<4.0.0"
+    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3>=1.24" \
+      --replace "six==1.11.0" "six>=1.11.0" \
+      --replace "python-slugify==1.2.6" "python-slugify>=1.2.6"
   '';
 
   # Requires external resources
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://www.transifex.com/;
+    homepage = "https://www.transifex.com/";
     license = licenses.gpl2;
     description = "Transifex translation service client";
     maintainers = [ maintainers.etu ];
diff --git a/nixpkgs/pkgs/tools/text/untex/default.nix b/nixpkgs/pkgs/tools/text/untex/default.nix
index 923adf8571d1..f9c7e3cdfc63 100644
--- a/nixpkgs/pkgs/tools/text/untex/default.nix
+++ b/nixpkgs/pkgs/tools/text/untex/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   unpackPhase = "tar xf $src";
-  installTargets = "install install.man";
-  installFlags = "BINDIR=$(out)/bin MANDIR=$(out)/share/man/man1";
+  installTargets = [ "install" "install.man" ];
+  installFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man/man1" ];
   preBuild = ''
     sed -i '1i#include <stdlib.h>\n#include <string.h>' untex.c
     mkdir -p $out/bin $out/share/man/man1
diff --git a/nixpkgs/pkgs/tools/text/wgetpaste/default.nix b/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
index 7b08cffe42db..3360fd4cbe09 100644
--- a/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
+++ b/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Command-line interface to various pastebins";
     homepage = http://wgetpaste.zlin.dk/;
     license = stdenv.lib.licenses.publicDomain;
-    maintainers = with stdenv.lib.maintainers; [ qknight domenkozar ndowens ];
+    maintainers = with stdenv.lib.maintainers; [ qknight domenkozar ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix b/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
index ed19e1144691..7ac624caff18 100644
--- a/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "html-xml-utils";
-  version = "7.7";
+  version = "7.8";
 
   src = fetchurl {
     url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr";
+    sha256 = "0p8df3c6mw879vdi8l63kbdqylkf1is10b067mh9kipgfy91rd4s";
   };
 
   buildInputs = [curl libiconv];
diff --git a/nixpkgs/pkgs/tools/text/xml/sablotron/default.nix b/nixpkgs/pkgs/tools/text/xml/sablotron/default.nix
deleted file mode 100644
index 131bf3ae68c1..000000000000
--- a/nixpkgs/pkgs/tools/text/xml/sablotron/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, expat} :
-
-stdenv.mkDerivation {
-  name = "sablotron-1.0.3";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/sablotron/sablotron-1.0.3/Sablot-1.0.3.tar.gz";
-    sha256 = "0qpk3dlfp3bn2hbq0fzx1bzifv8cgqb9aicn59d303cdlynkgix0";
-  };
-  buildInputs = [expat];
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/xurls/default.nix b/nixpkgs/pkgs/tools/text/xurls/default.nix
index 6e66090d88f0..c8d10a6e2699 100644
--- a/nixpkgs/pkgs/tools/text/xurls/default.nix
+++ b/nixpkgs/pkgs/tools/text/xurls/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "Extract urls from text";
     homepage = https://github.com/mvdan/xurls;
-    maintainers = with maintainers; [ koral ndowens ];
+    maintainers = with maintainers; [ koral ];
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/nixpkgs/pkgs/tools/text/zimreader/default.nix b/nixpkgs/pkgs/tools/text/zimreader/default.nix
index 15e5ddf2f199..177f9326dd27 100644
--- a/nixpkgs/pkgs/tools/text/zimreader/default.nix
+++ b/nixpkgs/pkgs/tools/text/zimreader/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "0x529137rxy6ld64xqa6xmn93121ripxvkf3sc7hv3wg6km182sw";
   };
 
-  patchFlags = "-p2";
+  patchFlags = [ "-p2" ];
   patches = [
     (fetchpatch {
       name = "zimreader_tntnet221.patch";
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
index 83aa667f58fd..44c5f6d1f242 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
@@ -259,7 +259,7 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = "mkdir -p $out/etc/vim";
-  makeFlags = if stdenv.isCygwin then "DESTDIR=/." else null;
+  makeFlags = stdenv.lib.optional stdenv.isCygwin "DESTDIR=/.";
 
   meta = with stdenv.lib; {
     description = "Text-based document generation system";
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix
new file mode 100644
index 000000000000..8eaee977d288
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, jdk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "asciidoctorj";
+  version = "2.1.0";
+
+  src = fetchzip {
+    url = "http://dl.bintray.com/asciidoctor/maven/org/asciidoctor/${pname}/${version}/${pname}-${version}-bin.zip";
+    sha256 = "19fl4y3xlkmmgf5vyyb3k9p6nyglck9l53r6x12zil01q49g0zba";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    rm bin/asciidoctorj.bat
+    cp -r . $out
+    wrapProgram $out/bin/asciidoctorj \
+      --prefix JAVA_HOME : ${jdk}
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      AsciidoctorJ is the official library for running Asciidoctor on the JVM.
+    '';
+    longDescription = ''
+      AsciidoctorJ is the official library for running Asciidoctor on the JVM. 
+      Using AsciidoctorJ, you can convert AsciiDoc content or analyze the 
+      structure of a parsed AsciiDoc document from Java and other JVM 
+      languages.
+    '';
+    homepage = https://asciidoctor.org/docs/asciidoctorj/;
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+} 
diff --git a/nixpkgs/pkgs/tools/typesetting/biber/default.nix b/nixpkgs/pkgs/tools/typesetting/biber/default.nix
index 55349641ab62..e42681dbd831 100644
--- a/nixpkgs/pkgs/tools/typesetting/biber/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/biber/default.nix
@@ -10,26 +10,13 @@ perlPackages.buildPerlModule {
 
   src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz";
 
-  patches = stdenv.lib.optionals (stdenv.lib.versionAtLeast perlPackages.perl.version "5.30") [
-    (fetchpatch {
-      name = "biber-fix-tests.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/biber-fix-tests.patch?h=5d0fffd493550e28b2fb81ad114d62a7c9403812";
-      sha256 = "1ninf46bxf4hm0p5arqbxqyv8r98xdwab34vvp467q1v23kfbhya";
-    })
-
-    (fetchpatch {
-      name = "biber-fix-tests-2.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/biber-fix-tests-2.patch?h=5d0fffd493550e28b2fb81ad114d62a7c9403812";
-      sha256 = "1l8pk454kkm0szxrv9rv9m2a0llw1jm7ffhgpyg4zfiw246n62x0";
-    })
-  ];
-
+  # TODO: remove TextBibTeX for biber 2.14: https://github.com/plk/biber/blob/dev/Changes
   buildInputs = with perlPackages; [
     autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
     DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
     DateTime DateTimeFormatBuilder DateTimeCalendarJulian
     ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
-    ListMoreUtils MozillaCA ReadonlyXS RegexpCommon TextBibTeX
+    ListMoreUtils MozillaCA IOString ReadonlyXS RegexpCommon TextBibTeX
     UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
     ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey
     TestDifferences
diff --git a/nixpkgs/pkgs/tools/typesetting/fop/default.nix b/nixpkgs/pkgs/tools/typesetting/fop/default.nix
index a72ca6980774..0b5c79756bd6 100644
--- a/nixpkgs/pkgs/tools/typesetting/fop/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/fop/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://xmlgraphics.apache.org/fop/;
     license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bjornfor ndowens ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/hevea/default.nix b/nixpkgs/pkgs/tools/typesetting/hevea/default.nix
index aa32d52dfc6d..2a126ac5c839 100644
--- a/nixpkgs/pkgs/tools/typesetting/hevea/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/hevea/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with ocamlPackages; [ ocaml ocamlbuild ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A quite complete and fast LATEX to HTML translator";
diff --git a/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix b/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix
index a6f38ad0bc2c..1090ad300f73 100644
--- a/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,14 +1,26 @@
-{ stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.13";
+  version = "0.9.14";
   pname = "pdf2djvu";
 
   src = fetchurl {
     url = "https://github.com/jwilk/pdf2djvu/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0qscmfii1pvnb8g7kbl1rdiqyic6ybfiw4kwvy35qqi967c1daz0";
+    sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi";
   };
 
+  patches = [
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/0aa17bb79dbcdfc249e4841f5b5398e27cfdfd41.patch";
+      sha256 = "0mr14nz5w7z4ri2556bxkf3cnn2f7dhwsld7csrh6z5qqb7d5805";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/27b9e028091a2f370367e9eaf37b4bb1cde87b62.patch";
+      sha256 = "03apsg1487jl800q8j70hicvg6xsndd593bg7babm4vgivkxb0da";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ djvulibre poppler fontconfig libjpeg ];
diff --git a/nixpkgs/pkgs/tools/typesetting/pygmentex/default.nix b/nixpkgs/pkgs/tools/typesetting/pygmentex/default.nix
deleted file mode 100644
index 662f7717b33b..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/pygmentex/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchFromBitbucket, python2Packages }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "pygmentex";
-  version = "0.8";
-  tlType = "run";
-
-  src = fetchFromBitbucket {
-    owner = "romildo";
-    repo = pname;
-    rev = version;
-    sha256 = "07dnv7hgppy15bda2kcbrlvfqzl6lhza80klc7133dwg8q92hm6m";
-  };
-
-  pythonPath = with python2Packages; [ pygments chardet ];
-
-  dontBuild = true;
-
-  doCheck = false;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -a pygmentex.py $out/bin
-
-    mkdir -p $out/scripts/pygmentex
-    ln -s $out/bin/pygmentex.py $out/scripts/pygmentex
-
-    mkdir -p $out/tex/latex/pygmentex
-    cp -a pygmentex.sty $out/tex/latex/pygmentex
-
-    mkdir -p $out/doc/latex/pygmentex
-    cp -a README demo.* blueshade.png Factorial.java $out/doc/latex/pygmentex
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://www.ctan.org/pkg/pygmentex;
-    description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments";
-    longDescription = ''
-      PygmenTeX is a Python-based LaTeX package that can be used for
-      typesetting code listings in a LaTeX document using Pygments.
-
-      Pygments is a generic syntax highlighter for general use in all kinds of
-      software such as forum systems, wikis or other applications that need to
-      prettify source code.
-
-      This package installs just the script needed to process code listings
-      snippets extracted from the a LaTeX document by the pygmentex LaTeX
-      package. In order to use it effectivelly the texlive package pygmentex
-      also has to be installed. This can be done by adding pygmentex to
-      texlive.combine.
-    '';
-    license = licenses.lppl13c;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
index 98c80da5b2c1..c78e60996bb2 100644
--- a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "v${version}";
-    sha256 = "1j98qxlq74vs8nf2jsn2xw9iyrf8kih4v0hrvznkhcab6bpibp2x";
+    sha256 = "0dycv135bkpf71iwlwh8rwwvn287d605nl7v8mjxlrsayiivdmn9";
   };
 
-  cargoSha256 = "0hsm5a40lc3gy1zrfrchp7zby17xjv5a4llqr4xmka07y7sk08fn";
+  cargoSha256 = "0bkgh73kqcdv3j9hr3m13wrdhls3zrk7aii9shzbzl6rnp2ry1az";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix
index 2513d48796e1..787f19d91f4a 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix
index c4eaf4e1df46..cc9432f6f22d 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -21,11 +21,11 @@ assert enableAllFeatures ->
   ghostscript != null;
 
 stdenv.mkDerivation rec {
-  name = "dblatex-0.3.10";
+  name = "dblatex-0.3.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
-    sha256 = "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg";
+    sha256 = "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv";
   };
 
   buildInputs = [ python2 libxslt tex ]
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/pplatex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/pplatex/default.nix
new file mode 100644
index 000000000000..01777f3dd428
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/tex/texlive/UPGRADING.md b/nixpkgs/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
index 67ea7c4fe185..6c0380fac49a 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
@@ -35,7 +35,7 @@ See <https://tug.org/texlive/acquire-mirror.html> for instructions.
 
 
 ```
-$ curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
+$ curl -L http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
            | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix
 ```
 
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
index f250dfb69dec..9eaa81e144b6 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch, patchutils
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
-, perl, perlPackages, pkgconfig, autoreconfHook
+, perl, perlPackages, python2Packages, pkgconfig, autoreconfHook
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
-, cairo, pixman, xorg, clisp, biber
+, cairo, pixman, xorg, clisp, biber, xxHash
 , makeWrapper, shortenPerlShebang
 }:
 
@@ -14,49 +14,60 @@
 let
   withSystemLibs = map (libname: "--with-system-${libname}");
 
-  year = "2018";
+  year = "2019";
   version = year; # keep names simple for now
 
   common = {
     src = fetchurl {
       urls = [
-        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0414-source.tar.xz"
-              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0414-source.tar.xz"
+        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0410-source.tar.xz"
+              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0410-source.tar.xz"
       ];
-      sha256 = "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y";
+      sha256 = "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj";
     };
 
     patches = [
-      (fetchurl {
-        name = "poppler-compat-fixes-up-to-0.70.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/poppler-compat-fixes-up-to-0.70.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "0a8bvyl7v6zlyyg3ycl0dmg2g2qahxlq3qmc1nv33r24anzb8xhs";
-      })
-      (fetchurl {
-        name = "luatex-poppler-0.70-const-fixes.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/luatex-poppler-0.70-const-fixes.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "0yiw2x97whdi23dc10xnqpxqj3aja15alir1byp1y03j60zv5n7i";
-      })
-      (fetchurl {
-        name = "texlive-poppler-0.71.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.71.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "164wibyf786gdcb0ij4svsmyi13wvcx0cpdr4flki0lpy3igvlnq";
-      })
-      (fetchurl {
-        name = "synctex-missing-header.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/synctex-missing-header.patch?h=packages/texlive-bin&id=da56abf0f8a1e85daca0ec0f031b8fa268519e6b;
-        sha256 = "1c4aq8lk8g3mlfq3mdjnxvmhss3qs7nni5rmw0k054dmj6q1xj5n";
-      })
     ];
 
-    postPatch = ''
+    postPatch = let
+      # The source compatible with Poppler ${popplerVersion} not yet available in TeXLive ${year}
+      # so we need to use files introduced in https://www.tug.org/svn/texlive?view=revision&revision=52959
+      popplerVersion = "0.83.0";
+      pdftoepdf = let
+        revert-pdfmajorversion = fetchpatch {
+          name = "pdftoepdf-revert-pdfmajorversion.patch";
+          url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc?view=patch&r1=52953&r2=52952&pathrev=52953";
+          sha256 = "19jiv5xbvnfdk8lj6yd6mdxgs8f313a4dwg8svjj90dd35kjcfh8";
+          revert = true;
+          postFetch = ''
+            # The default file, changed by this patch, contains a branch for vendored Poppler
+            # The version-specific file replaces the section with an error, so we need to drop that part from the patch.
+            # Fortunately, there is not anything else in the patch after #else.
+            sed '/ #else/q' $out > "$tmpfile"
+            ${patchutils}/bin/recountdiff "$tmpfile" > "$out"
+          '';
+        };
+      in fetchurl {
+        name = "pdftoepdf-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0pngvw1jgnm4cqskrzf5a3z8rj4ssl10007n3wbblj50hvvzjph3";
+        postFetch = ''
+          # The trunk added some extra arguments to certain functions so we need to revert that
+          # https://www.tug.org/svn/texlive?view=revision&revision=52953
+          patch $out < ${revert-pdfmajorversion}
+        '';
+      };
+      pdftosrc = fetchurl {
+        name = "pdftosrc-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftosrc-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380";
+      };
+    in ''
       for i in texk/kpathsea/mktex*; do
         sed -i '/^mydir=/d' "$i"
       done
-      cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.70.0,}.cc
-      cp -pv texk/web2c/pdftexdir/pdftosrc{-newpoppler,}.cc
-      # fix build with poppler 0.71
-      find texk/web2c/{lua,pdf}texdir -type f | xargs sed -e 's|gTrue|true|g' -e 's|gFalse|false|g' -e 's|GBool|bool|g' -e 's|getCString|c_str|g' -e 's|Gulong|unsigned long|g' -e 's|Guint|unsigned int|g' -e 's|Gushort|unsigned short|g' -e 's|Guchar|unsigned char|g' -i
+      cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc
+      cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc
     '';
 
     # remove when removing synctex-missing-header.patch
@@ -101,7 +112,7 @@ core = stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     /*teckit*/ zziplib poppler mpfr gmp
-    pixman potrace gd freetype libpng libpaper zlib
+    pixman gd freetype libpng libpaper zlib
     perl
   ];
 
@@ -109,7 +120,7 @@ core = stdenv.mkDerivation rec {
 
   preConfigure = ''
     rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
-      libs/{mpfr,pixman,poppler,potrace,xpdf,zlib,zziplib}
+      libs/{mpfr,pixman,poppler,xpdf,zlib,zziplib}
     mkdir WorkDir
     cd WorkDir
   '';
@@ -167,7 +178,7 @@ core = stdenv.mkDerivation rec {
   '' + cleanBrokenLinks;
 
   # needed for poppler and xpdf
-  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++14";
 
   setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references)
   passthru = { inherit version buildInputs; };
@@ -199,8 +210,6 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
     ++ map (prog: "--disable-${prog}") # don't build things we already have
       [ "tex" "ptex" "eptex" "uptex" "euptex" "aleph" "pdftex"
         "web-progs" "synctex"
-        # build fails on Darwin with luatex53
-        "luatex53" # TODO probably can be removed when TexLive 2019 is out
         # luajittex is mostly not needed, see:
         # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
         "luajittex" "mfluajit"
@@ -211,8 +220,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
   # we use static libtexlua, because it's only used by a single binary
   postConfigure = ''
     mkdir ./WorkDir && cd ./WorkDir
-    # TODO add lua53 here when luatex53 is enabled again
-    for path in libs/{teckit,lua52} texk/web2c; do
+    for path in libs/{teckit,lua53} texk/web2c; do
       (
         if [[ "$path" =~ "libs/lua5" ]]; then
           extraConfig="--enable-static --disable-shared"
@@ -253,13 +261,33 @@ dvisvgm = stdenv.mkDerivation {
 
   inherit (common) src;
 
+  patches = [
+    # Fix for ghostscript>=9.27
+    # Backport of
+    # https://github.com/mgieseki/dvisvgm/commit/bc51951bc90b700c28ea018993bdb058e5271e9b
+    ./dvisvgm-fix.patch
+
+    # Needed for ghostscript>=9.50
+    (fetchpatch {
+      url = "https://github.com/mgieseki/dvisvgm/commit/7b93a9197b69305429183affd24fa40ee04a663a.patch";
+      sha256 = "1gmj76ja9xng39wxckhs9q140abixgb8rkrcfv2cdgq786wm3vag";
+      stripLen = 1;
+      extraPrefix = "texk/dvisvgm/dvisvgm-src/";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype potrace ];
+  # TODO: dvisvgm still uses vendored dependencies
+  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype /*potrace xxHash*/ ];
 
   preConfigure = "cd texk/dvisvgm";
 
+  # configure script has a bug: it refers to $HAVE_LIBGS but sets $have_libgs
+  # TODO: remove for texlive 2020?
+  HAVE_LIBGS = 1;
+
   configureFlags = common.configureFlags
-    ++ [ "--with-system-kpathsea" "--with-system-libgs" ];
+    ++ [ "--with-system-kpathsea" ];
 
   enableParallelBuilding = true;
 };
@@ -271,10 +299,22 @@ dvipng = stdenv.mkDerivation {
 
   inherit (common) src;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ perl pkgconfig ];
   buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript makeWrapper ];
 
-  preConfigure = "cd texk/dvipng";
+  patches = [
+    (fetchpatch {
+      url = "http://git.savannah.nongnu.org/cgit/dvipng.git/patch/?id=f3ff241827a587e3d39eda477041fd3280f5b245";
+      sha256 = "1a0ixl9mga24p6xk8dy3v60yifvbzd27vs0hv8996rfkp8jqa7is";
+      stripLen = 1;
+      extraPrefix = "texk/dvipng/dvipng-src/";
+    })
+  ];
+
+  preConfigure = ''
+    cd texk/dvipng
+    patchShebangs doc/texi2pod.pl
+  '';
 
   configureFlags = common.configureFlags
     ++ [ "--with-system-kpathsea" "--with-gs=yes" "--disable-debug" ];
@@ -319,6 +359,43 @@ latexindent = perlPackages.buildPerlPackage rec {
 };
 
 
+pygmentex = python2Packages.buildPythonApplication rec {
+  pname = "pygmentex";
+  inherit (src) version;
+
+  src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.pygmentex.pkgs);
+
+  propagatedBuildInputs = with python2Packages; [ pygments chardet ];
+
+  dontBuild = true;
+
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D ./scripts/pygmentex/pygmentex.py "$out"/bin/pygmentex
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.ctan.org/pkg/pygmentex;
+    description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments";
+    longDescription = ''
+      PygmenTeX is a Python-based LaTeX package that can be used for
+      typesetting code listings in a LaTeX document using Pygments.
+
+      Pygments is a generic syntax highlighter for general use in all kinds of
+      software such as forum systems, wikis or other applications that need to
+      prettify source code.
+    '';
+    license = licenses.lppl13c;
+    maintainers = with maintainers; [ romildo ];
+  };
+};
+
+
 inherit biber;
 bibtexu = bibtex8;
 bibtex8 = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
index 6622a03decc5..a4b0fb99f3e9 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -128,8 +128,6 @@ in buildEnv {
       mkdir $out/share/texmf-local
     )
   '' +
-    # updmap.cfg seems like not needing changes
-
     # now filter hyphenation patterns, in a hacky way ATM
   (let
     pnames = uniqueStrings (map (p: p.pname) pkgList.splitBin.wrong);
@@ -214,7 +212,12 @@ in buildEnv {
     texlinks.sh "$out/bin" && wrapBin
     (perl `type -P fmtutil.pl` --sys --all || true) | grep '^fmtutil' # too verbose
     #texlinks.sh "$out/bin" && wrapBin # do we need to regenerate format links?
+
+    # Disable unavailable map files
     echo y | perl `type -P updmap.pl` --sys --syncwithtrees --force
+    # Regenerate the map files (this is optional)
+    perl `type -P updmap.pl` --sys --force
+
     perl `type -P mktexlsr.pl` ./share/texmf-* # to make sure
   '' +
     # install (wrappers for) scripts, based on a list from upstream texlive
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
index 651ff88b6f2e..44dc45fdfb2c 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -38,9 +38,6 @@ let
     clean = removeSelfDep (orig // {
       # overrides of texlive.tlpdb
 
-      dvidvi = orig.dvidvi // {
-        hasRunfiles = false; # only contains docs that's in bin.core.doc already
-      };
       texlive-msg-translations = orig.texlive-msg-translations // {
         hasRunfiles = false; # only *.po for tlmgr
       };
@@ -103,13 +100,21 @@ let
               map (up: "${up}/${urlName}.tar.xz") urlPrefixes
             );
 
-      # Upstream refuses to distribute stable tarballs,
-      # so we host snapshots on IPFS or on our own servers.
-      # Common packages should get served from the binary cache anyway.
-      # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
+      # The tarballs on CTAN mirrors for the current release are constantly
+      # receiving updates, so we can't use those directly. Stable snapshots
+      # need to be used instead. Ideally, for the release branches of NixOS we
+      # should be switching to the tlnet-final versions
+      # (https://tug.org/historic/).
       urlPrefixes = args.urlPrefixes or [
-        http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2018/tlnet-final/archive
-        ftp://tug.org/texlive/historic/2018/tlnet-final/archive
+        # Snapshots hosted by one of the texlive release managers
+        https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive
+
+        # Mirror hosted by @veprbl
+        http://146.185.144.154/texlive-2019
+
+        # TODO: Upgrade to the final snapshot of the packages before 20.03
+        #http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive
+        #ftp://tug.org/texlive/historic/2019/tlnet-final/archive
       ];
 
       src = fetchurl { inherit urls sha512; };
@@ -178,7 +183,7 @@ in
           })
         )
         { inherit (tl)
-            scheme-basic scheme-context scheme-full scheme-gust
+            scheme-basic scheme-context scheme-full scheme-gust scheme-infraonly
             scheme-medium scheme-minimal scheme-small scheme-tetex;
         }
     );
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch b/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
new file mode 100644
index 000000000000..0e927e24fd0e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
@@ -0,0 +1,16 @@
+diff a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+--- a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
++++ b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+@@ -107,8 +107,7 @@ const char *PSInterpreter::PSDEFS =
+ "dmode sysexec<</Normal 0/Compatible 0/Multiply 1/Screen 2/Overlay 3/SoftLight "
+ "4/HardLight 5/ColorDodge 6/ColorBurn 7/Darken 8/Lighten 9/Difference 10/Exclus"
+ "ion 11/Hue 12/Saturation 13/Color 14/Luminosity 15/CompatibleOverprint 16>>exc"
+-"h get 1(setblendmode)prcmd}def/@pdfpagecount{GS_PDF_ProcSet begin pdfdict begi"
+-"n(r)file pdfopen begin pdfpagecount currentdict pdfclose end end end}def/@pdfp"
+-"agebox{GS_PDF_ProcSet begin pdfdict begin(r)file pdfopen begin dup dup 1 lt ex"
+-"ch pdfpagecount gt or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse curre"
+-"ntdict pdfclose end end end}def DELAYBIND{.bindnow}if ";
++"h get 1(setblendmode)prcmd}def/@pdfpagecount{(r)file runpdfbegin pdfpagecount "
++"runpdfend}def/@pdfpagebox{(r)file runpdfbegin dup dup 1 lt exch pdfpagecount g"
++"t or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse runpdfend}def DELAYBIN"
++"D{.bindnow}if ";
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index b342e07eec10..f6cd70c0aa39 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -3,115 +3,122 @@
 "amsfonts.doc-3.04"="ch872rwfiar58praz8f880rcspy4mjxa";
 "amsfonts.source-3.04"="vjiw3vdxv44nl4yvaxqfy4b78girpjs7";
 "bibtex-0.99d"="ybimfc49fzmgpy88wagy0z55sdsshr50";
-"bibtex.doc-0.99d"="mh3fa2hn9gnyjgi16ald9fchd744f3vr";
-"kpathsea-2018"="drai6bldximc54gjiggyp41jiax2zr8r";
-"kpathsea.doc-2018"="6i8nvbq3zadqmw10nvp3yilv2viwpypi";
-"cm-2018"="5xrqls79s3drpagj8j3ihqzkll10605w";
-"cm.doc-2018"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
+"bibtex.doc-0.99d"="z85q61ajdnn1h1rljqf3cmz76j7wk7ch";
+"kpathsea-2019"="pxadnxm342pbnkx16swvqkh3h4i0dm01";
+"kpathsea.doc-2019"="riqk53rhn7kpqlsiygpbxb2pdqpxw0sm";
+"cm-2019"="5xrqls79s3drpagj8j3ihqzkll10605w";
+"cm.doc-2019"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
 "colorprofiles-20181105"="9rs3wkarffy7hf7c9kymzacy20znvcqf";
 "colorprofiles.doc-20181105"="v1asppz0kqvfg85skaiisphh2z4y6mbh";
-"dvipdfmx-2018"="ijnr5k9wvwq8lnd22qjrrjmm962la5f4";
-"dvipdfmx.doc-2018"="vqx3s832wa6nb6y7jw37xvffcbgl54dz";
-"glyphlist-2018"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
-"dvips-2018"="92wx71n0k4ia02l5m44xkmw5z1q22pbg";
-"dvips.doc-2018"="qivqgp02yhlb7bsx6m8rzi9siab9pigb";
-"enctex-2018"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
-"enctex.doc-2018"="p2pad1ncy8izfag44p0pndyvgckfngvv";
-"etex-2018"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
-"etex.doc-2018"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
+"dvipdfmx-2019"="ijnr5k9wvwq8lnd22qjrrjmm962la5f4";
+"dvipdfmx.doc-2019"="rg5skprlg10ac8xyxkbsja5mgyncx3x0";
+"glyphlist-2019"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
+"dvips-2019"="92wx71n0k4ia02l5m44xkmw5z1q22pbg";
+"dvips.doc-2019"="6sb1q07cc45fhk8vzgnlk2q5zrbn3haa";
+"enctex-2019"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
+"enctex.doc-2019"="p2pad1ncy8izfag44p0pndyvgckfngvv";
+"etex-2019"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
+"etex.doc-2019"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
 "etex-pkg-2.7"="2p6j6s4jm1y7k82jhh9lrfgcbph03h1a";
 "etex-pkg.doc-2.7"="0xlalpljqrcinaazh35yv9vc2a925h90";
-"graphics-def-2018"="yvcmr3xc5jflyh8fhaw0hgm68h3x5sk7";
-"graphics-def.doc-2018"="vykac1brcska9rhk2kni4krgjqwmcb7j";
-"gsftopk-1.19.2"="8fc88z3281crv5743qh5rzr0b51a2l8i";
-"gsftopk.doc-1.19.2"="mjyqyn0ydiwp1k3zwx2r4fc5vx0zxrzs";
-"hyph-utf8-2018"="7blj7akm7vnbqdixack7ijcms80byvwk";
-"hyph-utf8.doc-2018"="x98pqzlm36lp7f4vd46mf721h3gcg2nl";
-"hyph-utf8.source-2018"="a58yyvqp617ypilhhbn0km4pr0gv0yin";
-"hyphen-base-2018"="my6s9cz4f5ffpwya4xgkwlaxyac8rxg0";
+"graphics-def-2019"="yvcmr3xc5jflyh8fhaw0hgm68h3x5sk7";
+"graphics-def.doc-2019"="vykac1brcska9rhk2kni4krgjqwmcb7j";
+"gsftopk-1.19.2"="s7f70s4jyd5rnif4gwrli43k0pmfhhw9";
+"gsftopk.doc-1.19.2"="ygqc2yjbjw4mcjbj38pj8ar6x172xq9r";
+"hyph-utf8-2019"="2p5nhs05nj1wkihyf08yfvvhj5w2l91v";
+"hyph-utf8.doc-2019"="gnsa3x6b0vnzxm27xplvmxxvhghp41l6";
+"hyph-utf8.source-2019"="jqzgwpvs62p4j2i2rr7hi9ai38gx1x70";
+"hyphen-base-2019"="dxji64yb6fkmvqnf1vs0mca9zymr4xs3";
+"hyphenex-2019"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
+"hyphenex.source-2019"="n4rvv61jcw6s91mydy65qq90clva5zrs";
 "ifluatex-1.4"="ccsyxfkf1qb03cxnkfs6gy7iinz89dwc";
-"ifluatex.doc-1.4"="iy2c918ngcwyrpp45f6p72j41yk7nsrh";
+"ifluatex.doc-1.4"="g4dzj6fi4rmlz468v3ivq00gkbs0v363";
 "ifluatex.source-1.4"="q4pdan6i8fdhyr4h029ci1qv6nfrff3h";
+"ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
+"ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
+"ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
 "ifxetex-0.6"="llq1x3f5fykh5mg6avzb1a21x1vh2mxz";
 "ifxetex.doc-0.6"="1iy2bgx7adrh6dbbrhraskqggr65f7f2";
 "ifxetex.source-0.6"="dl81ang1gw395giysn3vk6lv4v5h9xr2";
-"knuth-lib-2018"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
-"knuth-local-2018"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
+"knuth-lib-2019"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
+"knuth-local-2019"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
 "lua-alt-getopt-0.7.0"="s2qkgq8dv65ib6chsah4xcargxh26bml";
 "lua-alt-getopt.doc-0.7.0"="xv8zqch612n2ww2pnpfranafcf7jhl96";
-"luatex-2018"="637hdgqiq1bdrm6whkgdmfh7fvag9v7l";
-"luatex.doc-2018"="gb6ww3qz63n7nkza8wzbfwnskla5f3jc";
+"luatex-2019"="cyv130m5b93raz9qyqb23g2069cvfqz6";
+"luatex.doc-2019"="rli7lcyjk0igxdwxzz5g4vd8pizsfs41";
 "plain-3.141592653"="my32apfgd55b14vf8bsldaqwdd931gcg";
-"tex-ini-files-2018"="831h7dslin8dnan7llz8mki6zibqfglj";
-"tex-ini-files.doc-2018"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
-"unicode-data-1.7"="f7a8b4z76dgj38ql9ihsp5x26kcah09g";
-"unicode-data.doc-1.7"="fjhq1ix98k71xm4v6fqk43dr9fxsy9ry";
-"makeindex-2018"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
-"makeindex.doc-2018"="hzvip1ni9pcsdip58sfzb5a5l6avv8z5";
+"tex-ini-files-2019"="831h7dslin8dnan7llz8mki6zibqfglj";
+"tex-ini-files.doc-2019"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
+"unicode-data-1.10"="rdgsyc2626nybhwiwanp6zrmc3xgq61s";
+"unicode-data.doc-1.10"="hj4y19lylzpyqd3z58cr7al485ymgnpn";
+"makeindex-2019"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
+"makeindex.doc-2019"="9x9r1qc16jdij986xvyz13ipzqvc7ard";
 "mflogo-2.0"="mnn3p5gn5h9yi4inkllswxn142j31mz4";
 "mflogo.doc-2.0"="rdirf33m53y719b35aby2d98v1i0jhh5";
 "mflogo.source-2.0"="hl5rzcmk83lpc5rxcvy31kzm6qbwx3g5";
-"mfware-2018"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
-"mfware.doc-2018"="gn08m3g32srfjwsyma8m375vzg7sb7ax";
-"pdftex-2018"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
-"pdftex.doc-2018"="41dr04hkcxxjipvv53myzfsm30zyjb5q";
-"dehyph-2018"="dwnq2aajr29sdydc45056na079ph8gc6";
-"tetex-3.0"="3a1qxsxnbcqibqa8474sjxgmalnabjf8";
-"tetex.doc-3.0"="v56ghpn9mw9y8d8bi2h3dj1qzj62i0xn";
-"tex.doc-3.14159265"="2ra9a532d58i270l6mkazbrjvsh0qhgb";
-"texlive-common.doc-2018"="1rpzarhhrni1mzkgrvijlkk46zyk08nk";
-"texlive-docindex-2018"="5j5z0j2qwdlg2v7wxwz8ndmbwql2s0vk";
-"texlive-docindex.doc-2018"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
-"texlive-en.doc-2018"="0cvrbfgwhl9i7b944ir9ykgjkqffq5s6";
-"texlive-scripts-2018"="4slnm2lcj74cbda5ilf6qspc66zw2f7s";
-"texlive-scripts.doc-2018"="40bcqrd02xxkv3zwx33hlkrsapcvb0zk";
-"updmap-map-2018"="0kfqc1q8nymlz6ikpk6086vy53zgx49l";
-"aichej-2018"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
-"ajl-2018"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
+"mfware-2019"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
+"mfware.doc-2019"="px98kdlpy9a8j5wwr41bj26sy7v0ydhj";
+"pdftex-2019"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
+"pdftex.doc-2019"="y0hg5pllb0nl8q2cf7cka9y2s783ml4f";
+"dehyph-2019"="dwnq2aajr29sdydc45056na079ph8gc6";
+"tetex-3.0"="1av633anrh1362bd0jdjzmxccdihmkdc";
+"tetex.doc-3.0"="kkk61vzd79mpq8yzj26c88v9hz5iia7c";
+"tex.doc-3.14159265"="p071mch50kkp8fv3jppqz8wpixi6638s";
+"texlive-common.doc-2019"="amx0fzzmrb3p1cd6ianbl8vync5kl47m";
+"texlive-docindex-2019"="5j5z0j2qwdlg2v7wxwz8ndmbwql2s0vk";
+"texlive-docindex.doc-2019"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
+"texlive-en.doc-2019"="xjar2iksr9zvpd8sa19nz94d27zwlx2i";
+"texlive-scripts-2019"="4slnm2lcj74cbda5ilf6qspc66zw2f7s";
+"texlive-scripts.doc-2019"="i65h4yvfw765smdvzlhm15fw38s2yjz3";
+"tlshell-2019"="533phr4487bjy6756yndli62gvbwh85i";
+"tlshell.doc-2019"="yps67a47kr5r3ljhd18kq35bhn2qjj3y";
+"updmap-map-2019"="vs5lh5y6140dsd49w12gyvgvpwjg8nsv";
+"aichej-2019"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
+"ajl-2019"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
 "amsrefs-2.14"="crmn3pm2zy2fcr5d82dwwwxjm42na6j3";
 "amsrefs.doc-2.14"="r45n92fihia786v5nsab5vgjvwgmij6d";
 "amsrefs.source-2.14"="k1rzn2d509i2nkfwclpbpir3q6a41ya9";
 "apacite-6.03"="sj9k6bnr8qhfddlzk7wd0daf12458yi9";
 "apacite.doc-6.03"="cbhyw6lwyg7mnx8h421y0hxf3h5m6n4y";
 "apacite.source-6.03"="cby7n3f9rzm83736nm4rn1m77km3lr9y";
-"apalike2-2018"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
-"archaeologie-2.4.0"="dn20g5ayqwbra6jwp59hq7c8dsra30ni";
-"archaeologie.doc-2.4.0"="a0gr675wd6hpwrr1caii0pif3xzdr6av";
-"archaeologie.source-2.4.0"="ag352zgpdh3w3r5mbxx72d89xjwhlgxa";
-"beebe-2018"="0yrg33124vlyz0ncyhvvm1ynl3zv33mh";
-"besjournals-2018"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
-"besjournals.doc-2018"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
+"apalike2-2019"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
+"archaeologie-2.4.2"="fj7j1agf9h442pqf3qhr4rh456jhc077";
+"archaeologie.doc-2.4.2"="m7fgm0v0hqqnb2hnnsabpvf21wj9w2h1";
+"archaeologie.source-2.4.2"="mh92z13ri04fpgybdkl5xq59cff3jdbj";
+"beebe-2019"="vlf2az2sjd14kkyzc1wfhr9sq0mqsms0";
+"besjournals-2019"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
+"besjournals.doc-2019"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
 "bestpapers-1.0"="15nq2m32h0giv41k6dslrw28han015aq";
 "bestpapers.doc-1.0"="mmlnsl83sil5zbdhwq16b6025sxdh9s6";
-"bib2gls-1.8"="gbx66948c4ny11lznzjvz19f41698cdk";
-"bib2gls.doc-1.8"="bznwibk4bw1p4bxpkivl3fdcg9k14br8";
-"bib2gls.source-1.8"="f85hivhnr2785zk3gqvg346nsv3ncn9q";
-"bibarts-2.1"="a7wcn8rhgh4irszdqk86ls1p8hpdnr7l";
-"bibarts.doc-2.1"="v2ibi8mncd5sf5x50hwj3gs6yilh1znp";
-"bibarts.source-2.1"="x52hqh053yzn25n75z1fr3siqdh7qkwn";
-"biber.doc-2.12"="xhk5dcv962x8fwqa2f0x4m0acbdii0ad";
-"biber.source-2.12"="vwvc8i4gbqs74c5vg5879k2pld904yqi";
-"bibexport-3.02"="6gc6r95ph3rkjzq038zk6w12k733qzwr";
-"bibexport.doc-3.02"="qapijzk1s6y6z02s4wnlw4vr6p96djxv";
-"bibexport.source-3.02"="iqp7q4fagafj6nfclsmj68lxljb8siw7";
+"bib2gls-1.9"="20vrj8bvv3sxy871sxmbx1fbpvcfk6ka";
+"bib2gls.doc-1.9"="x4rsjfm3x052b6fmf609l07xj35y4d36";
+"bib2gls.source-1.9"="gg417lsy2grri0fd71nakl97bna20d21";
+"bibarts-2.2"="w813f5qw2kbsmlhcwxsg62na06bp0p0r";
+"bibarts.doc-2.2"="xrv6r5iwpdyrjzqzanvgw2dy07xgkgb0";
+"bibarts.source-2.2"="c4js97f9wx1ndh8isk3fgg6lp1rhrrmb";
+"biber.doc-2.13"="p5ki8hv1wymby7l19ampq1d8i5bd9j9d";
+"biber.source-2.13"="3c1mnm03rb2m9rbp2ka9d8k7z97zwqjd";
+"bibexport-3.03"="gxzcd5xddarag47glbq02fmxgpn5ndw3";
+"bibexport.doc-3.03"="mvqlfzqzyhbnqw8xixa01qdfgrlm5xln";
+"bibexport.source-3.03"="q41ipwczv79cxnl2420cvcj5q9c6l57l";
 "bibhtml-2.0.2"="b0klmx8rd09znlxg7wz5m8b1f8qpxsjv";
 "bibhtml.doc-2.0.2"="snqyqvgwdwpkyfqfj69zwd478z96mcj4";
-"biblatex-3.12"="z27yq1spygzjy49jacbwp9lw7h4pxavq";
-"biblatex.doc-3.12"="f6gxhxc3h2c0nv1c933p7sdf48yxbz4b";
+"biblatex-3.13a"="6l70zbayjarzsri0vdxyx5hwcxg92lhm";
+"biblatex.doc-3.13a"="mr59rpjlcqpkziy1q4kl2pf5r930h9c2";
 "biblatex-abnt-3.4"="ryrk1n85x197ff723jla7vrcv4jkb2fv";
 "biblatex-abnt.doc-3.4"="i1b7mjmy8din75dzaqb407n5byavjwzy";
 "biblatex-anonymous-2.6.2"="yv83qimx8n31f00csmlxxlmymxsq1ngf";
 "biblatex-anonymous.doc-2.6.2"="s3g5ndv0alcpi8jmslrashcg4slb96hz";
-"biblatex-apa-7.7"="ipnqgjkim3pbwknxmmmpkfyanva0whlm";
-"biblatex-apa.doc-7.7"="cbyngxhks9lc4mjy7drml5r7lmqik3h7";
+"biblatex-apa-8.0"="3grx9ci8fpg4x673kb74xyy4vwfwrv8x";
+"biblatex-apa.doc-8.0"="7rvsh97frkac4cr9622if48bhj9myk65";
 "biblatex-archaeology-2.1"="fwk746qhhpvx6cdwnlpr9lsk4fz2p6k5";
 "biblatex-archaeology.doc-2.1"="ci6qj0qllffk6xbdwddhdv7i3fq0jip2";
 "biblatex-archaeology.source-2.1"="g4xg5j30gj6qjr5diqxw4j6wn2p7y3xk";
 "biblatex-arthistory-bonn-1.2"="298lp84p62rlsin8y7spz0ig2g8wla3b";
 "biblatex-arthistory-bonn.doc-1.2"="bkssng4czmqvimlv8f2bdh4sxdrag13i";
-"biblatex-bath-2.0.1"="6407h1yszac3n1ax7pamdlnpm9dlg2jv";
-"biblatex-bath.doc-2.0.1"="32dy1nian1bvzxqzshgrdxw8x13h88sr";
-"biblatex-bath.source-2.0.1"="a8qlpl4zpignkg8gc4c0ddhd41b07cpj";
+"biblatex-bath-3.1"="yqsh8dki8m1vqfsgp581sg1603dia6wr";
+"biblatex-bath.doc-3.1"="m2brk51j4svs62zligpih1cmbmqbx9f9";
+"biblatex-bath.source-3.1"="ph4vmzn2q8a4g5bla9jqh46yrq9awql3";
 "biblatex-bookinarticle-1.3.1a"="bnx6iravlnrkkyqb3ah21p0ikq00ab57";
 "biblatex-bookinarticle.doc-1.3.1a"="6shjhb1lajkivsh3mrr2whli5hcsb8b4";
 "biblatex-bookinother-2.3.1"="r1bfwp8rzwmkbn47yi7m5lv5z4q439ch";
@@ -120,8 +127,8 @@
 "biblatex-bwl.doc-0.02"="b7ddxvcabp9qd88mzb6dxvw7sz8dnqfq";
 "biblatex-caspervector-0.3.3"="lpdqh2pgsaz1rm3zkpm07pgrac1hqxpn";
 "biblatex-caspervector.doc-0.3.3"="3c2lhsgv6ywx3q48iw2wc39ib9c4rgaf";
-"biblatex-chem-1.1w"="nwyqk36wjjn7mfg805jc6i26j9rwkmx8";
-"biblatex-chem.doc-1.1w"="8bhcvrjqa2z1yh93f83x4c5r3ag70b71";
+"biblatex-chem-1.1x"="83hmyr4xgjn1g1zfnxhlzjlhgicd6j0j";
+"biblatex-chem.doc-1.1x"="dnhi32pmha9nzzngd4dqx4mmxdb3an0x";
 "biblatex-chicago-1.0rc5"="0m7wf9glvcqm20cfn6xgpciz6nvg8vib";
 "biblatex-chicago.doc-1.0rc5"="zr7fqjvzg0i8nmzldwsidq8r58xcbhlx";
 "biblatex-claves-1.2.1"="yq5s9plvimz4w9san81swl08g2v6pa6q";
@@ -130,18 +137,18 @@
 "biblatex-dw.doc-1.7"="ppry56vc44c86m47r1z8mq9s7fg77n8m";
 "biblatex-enc-1.0"="ccc2f3rnf7kyavb3r2hmah6pcfl1xivg";
 "biblatex-enc.doc-1.0"="b54x1g0296ln6lkw1zvlbmshhr93vg7y";
-"biblatex-ext-0.7"="y5rns3svsgn7ck6fh4956588gk5daxg4";
-"biblatex-ext.doc-0.7"="834if6lqkp75ynl4v3jfgkbkkm9rwpc7";
+"biblatex-ext-0.8"="nz7zmq8xw0s63rvg6qz7y3mbxybfzlnj";
+"biblatex-ext.doc-0.8"="y8q3dr3l9ld521s9q748pd3qf22kki2l";
 "biblatex-fiwi-1.7"="xwb00mw95l90bba4fc31kw62p43cxjz1";
 "biblatex-fiwi.doc-1.7"="y5hpi0gwp2s7hgqir2qw2yam9l3aqzdw";
-"biblatex-gb7714-2015-1.0q"="a0iyp9qrswlx1dp7mvyd6mirpjshvzjn";
-"biblatex-gb7714-2015.doc-1.0q"="5j4rvdzkc4prqbfrsi8cbjscdk7zlcwi";
+"biblatex-gb7714-2015-1.0s"="349q48k7k21nwy0fkkha7jjgjkyygcqa";
+"biblatex-gb7714-2015.doc-1.0s"="x5gybphqsrbydy3lp2vkdfzcfacxjlwn";
 "biblatex-gost-1.17"="db6rrz6vh7bhn8mi21lqii2r0ha8ii26";
 "biblatex-gost.doc-1.17"="2n6ghdccgmqgpd0rj53zhaja1p4dimd8";
 "biblatex-historian-0.4"="xp6r6a37ibm9fhdc95b2v3x5kgyz26c8";
 "biblatex-historian.doc-0.4"="6280kicfk2n0hwp03pyhl29ljdg911hb";
-"biblatex-ieee-1.3"="281hd9qianiq4dcq4hzk49dxjiyx5jfv";
-"biblatex-ieee.doc-1.3"="xjbyag9x6jxgfzay00a91fr4dzw4wcaq";
+"biblatex-ieee-1.3"="sm3ssfjjdkvmnbak50dk3rs1pzh12dba";
+"biblatex-ieee.doc-1.3"="pv4yx2prl0xzk7bbnj03i3blc5n7mpkv";
 "biblatex-ijsra-0.1"="179hh36v47xfagjwp5vj3hczc18jkrgf";
 "biblatex-ijsra.doc-0.1"="x3js5mb545xapavsqq4phml7zqiswiki";
 "biblatex-iso690-0.3.2"="y5032mfrc8djxnwsawcpa611rpdhmas3";
@@ -152,8 +159,8 @@
 "biblatex-lni.doc-0.5"="z9pj0sxkl3ld3hq89bnlllx1522rv3kn";
 "biblatex-luh-ipw-0.3"="83gar343q3h1h96h8lzs2bmsp1ba82n0";
 "biblatex-luh-ipw.doc-0.3"="yxcknwckw9s58qhrbdd70jz5yrpnyip2";
-"biblatex-manuscripts-philology-2.1.0"="6hva4lnz6rjn77lyciv1bg3mcnxv6qw1";
-"biblatex-manuscripts-philology.doc-2.1.0"="i4sqp17f8krpm2810h9w2913byq9kdp1";
+"biblatex-manuscripts-philology-2.1.1"="z6sn2zg9ahldf95jh3kpzbagzg6szynj";
+"biblatex-manuscripts-philology.doc-2.1.1"="8fv3b9xphj57awnyfjpz2prn1lr9i5jb";
 "biblatex-mla-1.9"="1m10jmh42x7qahq16bzi2rwvv7j7biq5";
 "biblatex-mla.doc-1.9"="f6b9nj6xj93vikp4agvkrjddrrgfvjc2";
 "biblatex-morenames-1.3.1"="vbcnaicg2pa0jrqd170cs31wim08yk07";
@@ -171,16 +178,16 @@
 "biblatex-nottsclassic.doc-0.1"="mswi2valgb31i1whlspd2mxvfcs1szdh";
 "biblatex-opcit-booktitle-1.9.0"="3aspv5b3a0lpif4wksanjq3fqclqkdij";
 "biblatex-opcit-booktitle.doc-1.9.0"="sz4gb2ahn58y76cl92hpap7xxg0mg0y5";
-"biblatex-oxref-1.1"="bf8n2ji36njwgmg87whs6wznarv84rlg";
-"biblatex-oxref.doc-1.1"="p11kaaw4nljb4hzi3hm48rsfn7phligx";
-"biblatex-oxref.source-1.1"="nrd0bljzqj0jqp7lwc410va41v74zv5l";
+"biblatex-oxref-2.0"="50cq5z924lx7l5i6p5di5qy42m0x6sm5";
+"biblatex-oxref.doc-2.0"="vsrcdc86gwn1iy74117lmdxs730f8ijj";
+"biblatex-oxref.source-2.0"="hxsvlk8vqcv7m52lycq6gcg5v7kay5vn";
 "biblatex-philosophy-1.9.8a"="kha09gq8n5db4fxh2w6s5690vms39hlw";
 "biblatex-philosophy.doc-1.9.8a"="3m8nl72q1q3hfv3xxdj978pmxjvn43s2";
 "biblatex-philosophy.source-1.9.8a"="3102fdih2bxplhadmwvi09lns9agflcz";
-"biblatex-phys-1.1"="avdg5fagxbm8xjah1r4r703gqslag0lv";
-"biblatex-phys.doc-1.1"="c7i585civ4qyp58a8cx1h6z0f6kva5h7";
-"biblatex-publist-1.15"="3xmqd2y7a2hgyh1nc4crdwd5ngxb7jhi";
-"biblatex-publist.doc-1.15"="z4pcpa4xlqlalafvinbycdmasavfnzj7";
+"biblatex-phys-1.1a"="02hwhka1l116g9dzzj8yypq6ym4x8jb1";
+"biblatex-phys.doc-1.1a"="ys5z5v2rwqq0y2rs9n9hkgcsqc31cfar";
+"biblatex-publist-1.16"="jz1rnnnqx61jc88ksl536sldn2sc066j";
+"biblatex-publist.doc-1.16"="yikna45mkm4k222s7kpgs827q28al3vf";
 "biblatex-realauthor-2.7.1a"="6qb576bh9x616f02msiq3xz83xzaa047";
 "biblatex-realauthor.doc-2.7.1a"="9pbd2aixmwj8as9lrmivkkfl4081820q";
 "biblatex-sbl-0.11"="kd461qdagb93p72av0ffqpy6747yz37k";
@@ -201,8 +208,8 @@
 "biblatex-trad.doc-0.4a"="i3b3iybys9x78z52bal216qi3p6xr83z";
 "biblatex-true-citepages-omit-2.0.0"="y7mg4jqb3fl9mzy93xcpxz3y0l5fw3kc";
 "biblatex-true-citepages-omit.doc-2.0.0"="7cxbqdyazdfp0masgk6a31rr3h9606xd";
-"biblist-2018"="b565jl60ysccd5qkzgidjb188i509y9l";
-"biblist.doc-2018"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
+"biblist-2019"="b565jl60ysccd5qkzgidjb188i509y9l";
+"biblist.doc-2019"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
 "bibtexperllibs-1.5"="nnb90d3rqwa1vcc92fmmbnhs7di0rkgv";
 "bibtexperllibs.doc-1.5"="mzvrc7zyrq6agqb5vhxy743brp57yf4j";
 "bibtexperllibs.source-1.5"="ailmqz0d71gscxa584pkb6jpvvzish9r";
@@ -215,22 +222,22 @@
 "bibunits-2.2"="vkahqz7zjn0g4dkpffvg8rfhjlynvmnf";
 "bibunits.doc-2.2"="d6xcf9xdkabjg3jrnyklla7kpbylrg61";
 "bibunits.source-2.2"="1hxc8yqjpri8pn512pfvcq7b2m9qnwib";
-"biolett-bst-2018"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
-"biolett-bst.doc-2018"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
+"biolett-bst-2019"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
+"biolett-bst.doc-2019"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
 "bookdb-0.2"="b4mqk50dn86zf30w2z8953ms8m8v9lrs";
 "bookdb.doc-0.2"="y5sdn2fijycnyx9is1cqc5vx6zkyav62";
-"breakcites-2018"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
-"breakcites.doc-2018"="jjqimy63648q6n4mzlwrd7p723m09cbw";
-"cell-2018"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
-"cell.doc-2018"="61a0456g9i76nxwhpv18fw532nimk2l4";
+"breakcites-2019"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
+"breakcites.doc-2019"="jjqimy63648q6n4mzlwrd7p723m09cbw";
+"cell-2019"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
+"cell.doc-2019"="61a0456g9i76nxwhpv18fw532nimk2l4";
 "chbibref-1.0"="7d51sy03z9ww5ns8x0mfiplyk00dgb00";
 "chbibref.doc-1.0"="xyypa6w4gx297hpp1ixg8g431rz436qf";
 "chembst-0.2.5"="08b5a38p2x2xgv5nw1ibi0xpc4xqixnn";
 "chembst.doc-0.2.5"="wgbb4bcl51wnixp4rb94qqqn880mxm7f";
 "chembst.source-0.2.5"="360yyds5c6mbcsm60mm3jq8xfxcpnw5v";
-"chicago-2018"="k9y76g5a4nfy88igklw08n27zvnnap2b";
-"chicago-annote-2018"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
-"chicago-annote.doc-2018"="8qhd3kj016s9laavhg1wvimy4325zz0g";
+"chicago-2019"="k9y76g5a4nfy88igklw08n27zvnnap2b";
+"chicago-annote-2019"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
+"chicago-annote.doc-2019"="8qhd3kj016s9laavhg1wvimy4325zz0g";
 "chscite-2.9999"="yc7v9v66md3dy5k2gjswzh58xzxdhwp4";
 "chscite.doc-2.9999"="fbcykh46rifs4kvn728sav04fnshr6br";
 "chscite.source-2.9999"="vsii846cdlrd9fdmf4npwy8jxh0fcafb";
@@ -244,20 +251,20 @@
 "amscls-2.20.4"="hjr4w21h3fp0y6m5gb30p6f54ybv0l0j";
 "amscls.doc-2.20.4"="zyf0gsqks7yvszlngwzjbjiigc0943cd";
 "amscls.source-2.20.4"="8lgim0r54srk961ys2q7v80dq5w04i9b";
-"amsmath-2018"="gh8cmrxvjnkmhxq84xg0944aq64qvzkh";
-"amsmath.doc-2018"="sba312b63anafvzzcad0nfm393lwxhg8";
-"amsmath.source-2018"="zxkxj8nhqyih9n73h6d0h84m5ahb4hq5";
-"babel-3.27"="b99n213gsi5rp0m33xi7d5sdszqwavmg";
-"babel.doc-3.27"="ljqifl8jnmcs8px7lmqqa3xqr35sb6ki";
-"babel.source-3.27"="gs8b8f4s62vwgbvd4l0l0jq84spdqg2k";
+"amsmath-2019-10-01_PL1"="56ydwy656jmvlrqnksw6v0v56xvkwlmd";
+"amsmath.doc-2019-10-01_PL1"="4g50843qsxgdyhg4f9iwz2v46332p0bm";
+"amsmath.source-2019-10-01_PL1"="n2gqxbxbnjrrlgwqsalzkg701xg29lxd";
+"babel-3.34"="wadnjmg9fbalgj65app4588ky6bv5yr8";
+"babel.doc-3.34"="adhzabyv276nc6df3xrid4kb7ra478x0";
+"babel.source-3.34"="03jmz4d3836jrhrbrgzbkbl7a5yhghsb";
 "babel-english-3.3r"="lrsz299wwvr17sshfjvsvrzs0s9y2acs";
 "babel-english.doc-3.3r"="y7rp46lrpxsp8z1ridc6msxnbb008k0c";
 "babel-english.source-3.3r"="5sxvprjfcqhw6xb3mv3b0smp2gsckjs9";
-"babelbib-1.31"="amkn9a5k0ggifkz1yczzlgl6lxklb1rn";
-"babelbib.doc-1.31"="82pbrcmmfxzpzb4aid7a7gq4wd4y0d5g";
-"carlisle-2018"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
-"carlisle.doc-2018"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
-"carlisle.source-2018"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
+"babelbib-1.32"="0jpv3d5s8inkpg1nyz1b8m80aq6simwa";
+"babelbib.doc-1.32"="cixpp9aiajyjxj23gzvxw94zydsxd3az";
+"carlisle-2019"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
+"carlisle.doc-2019"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
+"carlisle.source-2019"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
 "colortbl-1.0d"="4lw5iwy35py4w2arbznxb3r9yd443z68";
 "colortbl.doc-1.0d"="45mzaihfjzwfv33k6c01d1nwdyp0agsc";
 "colortbl.source-1.0d"="9val9i06wbmvv4xaqp79ci1nqckswcbp";
@@ -270,57 +277,57 @@
 "geometry-5.8"="3xdzw74y7vizrlzxrcb5xbqzs67v8g02";
 "geometry.doc-5.8"="w0ldwyyv86y0d8ghpg9x603ldmqa33gw";
 "geometry.source-5.8"="x0dgg7kpn2apxabf2clw02ba8ci83pvk";
-"graphics-2018"="4n0jknkfdlb4wn4rhdvd9mb2qwbphm67";
-"graphics.doc-2018"="kd2f457spavjh20mm4as67ndk0vyy0gd";
-"graphics.source-2018"="2j3h2ql32np0wfhqhzvkqchxw1f03fsp";
-"graphics-cfg-2018"="j73na78ajl4n50wn2is5wvw7mf27da86";
-"graphics-cfg.doc-2018"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
-"hyperref-6.88e"="rh90di9gcwqlvbgyn3rxl0n9y9qmgmvm";
-"hyperref.doc-6.88e"="drq5fklnr7ivwgf2ygggilf1v8f0yh11";
-"hyperref.source-6.88e"="wnmlmmwq0qnq7gv79zn4n6cy9r7f16sh";
-"latex-2018"="l1qfdwfvbbk16ysbizcz59cgzcsvlwrv";
-"latex.doc-2018"="b5f7v32nc9wf57k01yrcrhyrnar46dw1";
-"latex.source-2018"="4p7rggl496163yr7ghwk5qyly02bmkhl";
-"latex-fonts-2018"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
-"latex-fonts.doc-2018"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
-"latexconfig-2018"="rpwazy1znnhn7bdbnrcckqkddmxxqzqv";
-"latex-bin.doc-2018"="4jd2pggj1zf9jjgvbxvyn5p926vlkm7s";
-"ltxmisc-2018"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
-"mfnfss-2018"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
-"mfnfss.doc-2018"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
-"mfnfss.source-2018"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
-"mptopdf-2018"="8a9cp2fz1ayhq8x7c3c609fzjd6dxz1x";
-"mptopdf.doc-2018"="is6risvf0n7s4f936blh4c7sab8szlw9";
+"graphics-2019-10-01_PL1"="2ba5bkbsx0cr555yc2fdg8nya9y915kv";
+"graphics.doc-2019-10-01_PL1"="yibgggcnv294s7f6lqyvby1psd6v15ry";
+"graphics.source-2019-10-01_PL1"="25rd6d1klffzzih3anv4jm49xz72p9g0";
+"graphics-cfg-2019"="j73na78ajl4n50wn2is5wvw7mf27da86";
+"graphics-cfg.doc-2019"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
+"hyperref-7.00a"="jbr8bq1504pmig2vd31bckicwm5p3g0z";
+"hyperref.doc-7.00a"="d177im8cpmc0hm6084lrims8zysbchlq";
+"hyperref.source-7.00a"="acwybgz16b0h3b9arhxrqlgg28phizfs";
+"latex-2019-10-01_PL1"="pjjiksxcbbrg4fwsqzj7xxy1g75ma8wk";
+"latex.doc-2019-10-01_PL1"="ibfpbbkvvk682gczxcfl3586kc11wyp1";
+"latex.source-2019-10-01_PL1"="a0x0c407wv20dx8dw2hgwzwl89mh8p4n";
+"latex-fonts-2019"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
+"latex-fonts.doc-2019"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
+"latexconfig-2019"="4vggm9mgi3pyfk3rqqfmwhdcp9hcva4z";
+"latex-bin.doc-2019"="sklvy72k0l7x05rnj2hc4dwgjqq5jf5v";
+"ltxmisc-2019"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
+"mfnfss-2019"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
+"mfnfss.doc-2019"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
+"mfnfss.source-2019"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
+"mptopdf-2019"="ppsa0jcj7d7gi35cp2y5pbw6kqgkzfac";
+"mptopdf.doc-2019"="0v8v04k9s2i5yxdl77l3rnjhg0k628bz";
 "natbib-8.31b"="c4fyqph06vxqm37z88r31q84xz5imcnj";
 "natbib.doc-8.31b"="fsg1kcjvbp5hfn9h8lwhygnil9wr7awg";
 "natbib.source-8.31b"="c4b7bqivps74v8286lf4j36p551jhnzj";
-"oberdiek-2018"="hb54rn1s5hjy6hvpmay68ia6afjwlp7k";
-"oberdiek.doc-2018"="am5p570n3b8gak877s7rahmva3wabvp4";
-"oberdiek.source-2018"="89c7dfd1b9i1p30a94mmw2gnadrjcak7";
-"pslatex-2018"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
-"pslatex.source-2018"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
+"oberdiek-2019"="jjyf8yvabnnn9qq9p5984803gb1s1wc6";
+"oberdiek.doc-2019"="qzviygm5dqka4fphpj2s6pxsrllr37a4";
+"oberdiek.source-2019"="3jha5akdwhi1998gvg0hk5kbk0f5mp6b";
+"pslatex-2019"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
+"pslatex.source-2019"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
 "psnfss-9.2a"="a4gfps30ywrjdah9m5dknsv5yl80h0gz";
 "psnfss.doc-9.2a"="pbiaqsf1gqrwic9pf499k89aw757wr9m";
 "psnfss.source-9.2a"="vi285d52bbvq01x4yan9md3cck4dc1lh";
-"pspicture-2018"="siqi85kfmyg91cf7nggs71jh38g2aicl";
-"pspicture.doc-2018"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
-"pspicture.source-2018"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
-"tools-2018"="iy05yrd1y7y4bggg65lj10a1f4pa32gg";
-"tools.doc-2018"="pfp6fsa9ffairmcak502sq0g80b32rr6";
-"tools.source-2018"="rsgxiz1hchs3p3pymk7l8r2id769178x";
+"pspicture-2019"="siqi85kfmyg91cf7nggs71jh38g2aicl";
+"pspicture.doc-2019"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
+"pspicture.source-2019"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
+"tools-2019"="c9058cqv0a32gnz32nf5gy3998jcj181";
+"tools.doc-2019"="pysraqwxj1869p6dhlwj72a5vkxlvr10";
+"tools.source-2019"="q75n910y7g8q55w5z5zpizzvphnkrk9n";
 "url-3.4"="vf34zjwlv43kcw53sdla9052x7x0kn7y";
 "url.doc-3.4"="ii3z3l7xkmrkxb8dkgk6lcqyb34niirc";
 "collref-2.0c"="xxcnjj8qnbb06zkmh5kqysdm6k5yf4z4";
 "collref.doc-2.0c"="5a9ns23lv1n780ll3kp969dhi0mx93gb";
 "collref.source-2.0c"="7msfby8bxs89i87jiibpbnp97byjs6p5";
-"compactbib-2018"="5365y0lxziirnp7rraxwbcksrky9hr1m";
-"crossrefware-2018"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
-"crossrefware.doc-2018"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
+"compactbib-2019"="5365y0lxziirnp7rraxwbcksrky9hr1m";
+"crossrefware-2019"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
+"crossrefware.doc-2019"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
 "custom-bib-4.33"="9vqjbilzlsqg3f609hnz27pwmrl5gfg5";
 "custom-bib.doc-4.33"="nz1gxi8ixypxpf4cv7nilabq1ivr6fiz";
 "custom-bib.source-4.33"="vmak3xkin0hmg92mmpxj53dgs2f2yihg";
-"din1505-2018"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
-"din1505.doc-2018"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
+"din1505-2019"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
+"din1505.doc-2019"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
 "dk-bib-0.6"="yvbpqypgxkh6i47yvkk0cp7qsfy083gr";
 "dk-bib.doc-0.6"="px69q4pi9444kwmw6fpmajvdwl8ivw9i";
 "dk-bib.source-0.6"="1jmv0pg8x913y6y0xjb888s0zg91iw1l";
@@ -331,34 +338,37 @@
 "ecobiblatex.doc-1.0"="y5hifg3r0xkgv6zklw7l9j7shl87fnf0";
 "econ-bst-2.5"="dfb5v9f83gkb7h53xd3iig951ay2aw6y";
 "econ-bst.doc-2.5"="px5fik2wrgkc67v6ddja3c2f5hrl0wlx";
-"economic-2018"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
-"economic.doc-2018"="pv3irnv3gj70q22ac3kr858hac50vrbz";
-"fbs-2018"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
-"figbib-2018"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
-"figbib.doc-2018"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
+"economic-2019"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
+"economic.doc-2019"="pv3irnv3gj70q22ac3kr858hac50vrbz";
+"fbs-2019"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
+"figbib-2019"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
+"figbib.doc-2019"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
 "footbib-2.0.7"="xhrwnw5kvs3rxp32a8awv8ma7098cv6h";
 "footbib.doc-2.0.7"="dzyra0rwf5hl2g6f7c2pw88d78f7yls1";
 "footbib.source-2.0.7"="xj3agjgzfnwnfzzbzk4xjfk90fr1a6fm";
 "francais-bst-1.1"="zz8wcr2ymwd7m721qr94l1k799mi9cia";
 "francais-bst.doc-1.1"="qmq30903zrvvw6bprngklx5pwq9c1cqd";
-"gbt7714-1.0.9"="g9sjibxccn227yv5gjg4xa7vi5jvrplg";
-"gbt7714.doc-1.0.9"="2vid9662wbyiq05lwlis2nnqvvyyx00v";
-"gbt7714.source-1.0.9"="975jm1lmx6g3g3hl98mjkr55vzp3006m";
+"gbt7714-1.1.1"="m93b7kdmx9qwas372saxfydrnh2cz21c";
+"gbt7714.doc-1.1.1"="2wxs8msr5n51ai13g23ly82ilrgv28w4";
+"gbt7714.source-1.1.1"="iz3wimzdq8cp06fjzbfjf08a3ygrcah7";
 "geschichtsfrkl-1.4"="94vlnvvfy0py3ig3mjjizxbnp3xcnpv6";
 "geschichtsfrkl.doc-1.4"="212pcrypha38lk3nri43fvj12fgjlqzm";
 "geschichtsfrkl.source-1.4"="ak3n8j6n1wx9pgawvyr4diklq9971wx1";
 "harvard-2.0.5"="yhk8zvlhgd1knzfdndba31whwj7ixh1j";
 "harvard.doc-2.0.5"="c3jps721d0cndqjqgqkhcz4n7xvaj1f2";
 "harvard.source-2.0.5"="kjg78fvynjjna03hh2xzcrqvsm8d9yjw";
-"harvmac-2018"="30iiq3zikvmyy87j98knxbc9iak232bb";
-"harvmac.doc-2018"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
+"harvmac-2019"="30iiq3zikvmyy87j98knxbc9iak232bb";
+"harvmac.doc-2019"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
 "historische-zeitschrift-1.2"="6zli1x9hz1dsy8p4hpi9rdb0hs35vka9";
 "historische-zeitschrift.doc-1.2"="y76j031x8zym5i6sqr0r67ws0z49q306";
+"icite-1.2"="saan1djq4x1i8zxs7a2wvf8g5qdkb7h9";
+"icite.doc-1.2"="m5qw69c6523g1ix7ik4h1kqpk2w6ldgs";
+"icite.source-1.2"="c2ziq7jww339p059lvgc4ba48k93nlsa";
 "ietfbibs.doc-1.0.0"="mqqb9qjrk1lg7w85w8jbhizmh1qh4zqa";
 "ijqc-1.2"="ry2ydiqc71zjfkb46l4fvlxa1h6wnq1c";
 "ijqc.doc-1.2"="zz9ai19qd2rxvpw5kx1k1rd3ndndjv6v";
-"inlinebib-2018"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
-"inlinebib.doc-2018"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
+"inlinebib-2019"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
+"inlinebib.doc-2019"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
 "iopart-num-2.1"="92jbzj605pi9chj3ymfxm9ii2dh62haz";
 "iopart-num.doc-2.1"="smix69mc1n89q45nw3rl18lasn2c2kwa";
 "jneurosci-1.00"="r5k91lza98jn52s8fmgrbclslb6zps08";
@@ -387,113 +397,117 @@
 "multibibliography-1.03"="3svp5l6al4k7adk99d6fcy7m54qbfbqy";
 "multibibliography.doc-1.03"="1bl112qsviy7jzhm1qdvn42x0lvcnjkd";
 "multibibliography.source-1.03"="65bvyr4gr7sdwhsraq9rmbv16d4fi6qc";
-"munich-2018"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
-"munich.doc-2018"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
+"munich-2019"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
+"munich.doc-2019"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
 "nar-3.19"="iaann8dbnvignc32m1wnlz4j77i7ngx8";
 "nmbib-1.04"="mbz1wjyaxsx3cn4wymvz4w9wf10580da";
 "nmbib.doc-1.04"="s6bbxc8lyp7kbrpsi0i4jrvda00260ks";
 "nmbib.source-1.04"="x0gvyn54csgywd7wlmbi0c8djkwrp4xq";
-"notes2bib-2.0k"="q8dvcbf4dla1x8lrpsr6lmd4racfkfps";
-"notes2bib.doc-2.0k"="mw3vsv53vpng36nqwiwdw4aj49gq6rq1";
-"notes2bib.source-2.0k"="zllxh9jj5yakjw8pswdj5mv7cmm99lf8";
-"notex-bst-2018"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
+"notes2bib-2.0m"="18cgk3w262q3ji8c2safphbnv63yh7j7";
+"notes2bib.doc-2.0m"="3ivpnsxqwfsy5rhrc5wacl0b6va2sva1";
+"notes2bib.source-2.0m"="75wz1scfq0j5pdix1ksvwh90y5j3dzaf";
+"notex-bst-2019"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
 "oscola-1.6"="vq11bym9gl0s90nawvvlvhifb6z4mq1c";
 "oscola.doc-1.6"="cg73zf6fnga143mk6yjxpxmv77kv76lz";
-"perception-2018"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
-"perception.doc-2018"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
+"perception-2019"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
+"perception.doc-2019"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
 "pnas2009-1.0"="k4xy9dabg8i4mf18317wf8mp3hrlpmqy";
 "rsc-3.1f"="4hhv7zw4v3w8sslxwj14pk4azil1cdhh";
 "rsc.doc-3.1f"="d20wkd2qw8dabh30gdpasxqacn193f1b";
 "rsc.source-3.1f"="rfsxjn597ylr3m2vl72dh7fa8x2a08yw";
 "showtags-1.05"="hbxk7ijniaffjnk02hkjwgw8gwgnx5qb";
 "showtags.doc-1.05"="q22k5ckq0q4228ssvqnz9n139x32a5iq";
-"sort-by-letters-2018"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
-"sort-by-letters.doc-2018"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
+"sort-by-letters-2019"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
+"sort-by-letters.doc-2019"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
 "splitbib-1.17"="az1n021wdajs8dc0q93wgfb1r0jcr2h2";
 "splitbib.doc-1.17"="qsb89h2ch89qhbxir7f90xx5sqvgm1px";
 "splitbib.source-1.17"="c9m7hp7fh86qj53qwaqxh8xj8yf3gxdy";
-"turabian-formatting-2018"="dcm9mzg25w818sqjfhd7ih3azvydv0qy";
-"turabian-formatting.doc-2018"="2qhbgk9x91k0r4ar0hc3jydw1raaf3z0";
+"turabian-formatting-2019"="dcm9mzg25w818sqjfhd7ih3azvydv0qy";
+"turabian-formatting.doc-2019"="2qhbgk9x91k0r4ar0hc3jydw1raaf3z0";
 "uni-wtal-ger-0.2"="i4nr7hq5gym5rcs2pc43qclci7jy9y4m";
 "uni-wtal-ger.doc-0.2"="a4r7w5m71h1kfgzxgpmb84hndnhrxhhy";
 "uni-wtal-lin-0.2"="8cdd4qcy3i5bvf25nn89kdaqph3a6fan";
 "uni-wtal-lin.doc-0.2"="cmaxr111gp38f9s5n42lg66c4i7iyz2l";
-"urlbst-0.7"="gpzjqqbgn0c8nx2w9dmbq1imgvdqym49";
-"urlbst.doc-0.7"="zn0qpl0y989d5489haj0cxi5dhvx8fgk";
-"urlbst.source-0.7"="5zckw24fv8ws9dbzmyvd4xsb5bl0vb0q";
+"urlbst-0.8"="sq9q7vzdfgmx1j16mdbimczajjk985pa";
+"urlbst.doc-0.8"="j5y3m03lbs32i9w2fvzm6bnhmchgs4s0";
+"urlbst.source-0.8"="i907zv423gy5ic3wb6qcyzwg8i3zfcki";
 "usebib-1.0a"="4b8sv3fknxfaz9cgnvn3l5wf9c8c76wx";
 "usebib.doc-1.0a"="ba1nqv90zkfzi8n17xlk7rkx2s92lkd9";
 "usebib.source-1.0a"="967j287dsb1j4wa5k9sxsv4xp7194q3b";
-"vak-2018"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
-"vak.doc-2018"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
-"windycity-2018"="sfby3ig68vnw8ywrsqn2zs421gl48vav";
-"windycity.doc-2018"="bqfx9l4ppww1rb7nwzvn4ba1k0qkf04f";
+"vak-2019"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
+"vak.doc-2019"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
+"windycity-2019"="d4xmbwf69spcn35mjmccdq37gszl3nyc";
+"windycity.doc-2019"="0vshfrxbpfndxsljkd1qghkinvxhyli6";
 "xcite-1.0"="fpgsqqg3rliap6chn99xzlj676ll25hd";
 "xcite.doc-1.0"="wvhx1d2wkws7fcrplh55v9fsq1r8a3hw";
 "xcite.source-1.0"="8n5kfjr7xfjicd1hw6hlhcrn8dzicp5q";
+"zootaxa-bst-1.0"="78lffb7mvla2yryr0lmljd5w4pmakggp";
+"zootaxa-bst.doc-1.0"="bx9v8rj2nlbdapknqk8wigrq9jdfjggn";
 "a2ping-2.83p"="6m6vil4rjfwnkgaw4apxfda97n2nx6g4";
 "a2ping.doc-2.83p"="v6k8vhfmq1f1k71qn8651v86mid1z4dk";
-"adhocfilelist-2018"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
-"adhocfilelist.doc-2018"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
-"adhocfilelist.source-2018"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
-"arara-4.0.5"="ad9x8ilgi6h354i6sijqwxs0akqgc0lw";
-"arara.doc-4.0.5"="gi552wwva8ggpkvwv2rgpny1lbn4kcjv";
-"arara.source-4.0.5"="v96bqimg5vn5bh3kg9pa52kv7pa2s2sa";
-"asymptote-2.44"="mgrlxp24znrbvqh449bjc4z6mm85lwfh";
-"asymptote.doc-2.44"="ngsvz2afsiv53yrhaf74xqsb8vcqxiy6";
+"adhocfilelist-2019"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
+"adhocfilelist.doc-2019"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
+"adhocfilelist.source-2019"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
+"arara-4.0.6"="qk5dq5f0il52m1gp8ckd7ilqbmpkvfmj";
+"arara.doc-4.0.6"="rvkrcair91scrk763igaj9mmi23n5j7x";
+"arara.source-4.0.6"="s7rlspqx9dqsbixbnmnaz9hh7gwkmkfi";
+"asymptote-2.49"="ka921kxzvyq3hi5frln4hh7qg1kfgch7";
+"asymptote.doc-2.49"="b1bh1i57rh28a4mdjx9bcplhb1qgd5cg";
 "bibtex8-3.71"="sri58vnydvfpv947gmlxd1s3c2056fp1";
-"bibtex8.doc-3.71"="glkl9d9h57q9q6dpyszcqc3axcxbw888";
-"bibtexu.doc-2018"="yppzw0banxngki9dzgm7dlm8cr9vnxya";
-"bundledoc-3.3"="l8hik9610hiabab94q3nwiyxc465rjsh";
-"bundledoc.doc-3.3"="w5f7l7n74hdmyc5idbfs9pgl1nas2azs";
+"bibtex8.doc-3.71"="cffvi0y0lv801yj5d8v9cr2d4x8gr0wa";
+"bibtexu.doc-2019"="lkrsyq73l14mmcviv2qwa3hrwp0nm793";
+"bundledoc-3.4"="3r6cx7n6wy995jd9hpg2n4qkbhwmnyfi";
+"bundledoc.doc-3.4"="cd59kzd2v9pq2d058jx5pxkcjhbvbrr1";
 "checklistings-1.0"="a2gvh85pcmrc82wq4h6n9ycqj86z9f8d";
 "checklistings.doc-1.0"="ymkplhp7331fs0kq4qcpmh9la0wxj5lq";
 "checklistings.source-1.0"="8ya9yd2by50zppk7rrqjkc34ans6ffb0";
 "chktex-1.7.6"="4khiza97qvhdbzdlz7pacnr16zmi9b9d";
-"chktex.doc-1.7.6"="1f1dbhlq7m6d14ncmp1z080nzn7cawn5";
-"cluttex-0.2"="pg9647irc2ai0vwhh0ljhin5wgsgq14a";
-"cluttex.doc-0.2"="w7v29ykpwmrzmqzgn7772bkls1cs5p2n";
-"ctan-o-mat-1.2"="jgbscps642n6xss5m0nwp689q5znrgij";
-"ctan-o-mat.doc-1.2"="iyrk7zg661fdjapxqiwsgd5afiwf5ijh";
+"chktex.doc-1.7.6"="dmr9yb4fygjxk0sznghrfjq2yx441378";
+"clojure-pamphlet-1.3"="czmy129a09h3r5ssnlhaxgz932vmqx6g";
+"clojure-pamphlet.doc-1.3"="cha12zds1j3adykqd9d697izik89i3xh";
+"clojure-pamphlet.source-1.3"="flbrsg215hp85fn6hrpygjmdggrzx6rs";
+"cluttex-0.4"="6kz3s0g8c6jmv2izivbhvrkyz9knrmpf";
+"cluttex.doc-0.4"="mghq29dal4f8lchx76jb7jnm4qfjv4j3";
+"ctan-o-mat-1.2"="jcmhpw3irmr4hix6j1n1wk1g4wgc0nm7";
+"ctan-o-mat.doc-1.2"="f43qd3ynl7x47g4wwfnd1icsrzxj3sgp";
 "ctan_chk.doc-1.0"="m4i1vj19h48zyk9pxadfq1qrwmvqy3i1";
-"ctanbib-0.1a"="h1139k4438fxfj9mh469wssasbvbw08c";
-"ctanbib.doc-0.1a"="k31mb4pkhh2s8l4gkhjyhw42a6j2gfc7";
+"ctanbib-0.1d"="wiax2a49wa64ga9g1smf2jyhlpv2n1qq";
+"ctanbib.doc-0.1d"="arizd3ayag3733c551wvcibdvy99imrb";
 "ctanify-1.9.1"="y939628500ks8apq2qdzcbj490y0c4bb";
 "ctanify.doc-1.9.1"="dfah3y6kn3r18mjj39p13mq7y6zpalqb";
 "ctanupload-1.2c"="jmvh3rrdy0hyvdxz55gydlgsh7xzp4vv";
 "ctanupload.doc-1.2c"="38wlhcxvvpbk01sj6vhwjs9mccw1xs14";
-"ctie.doc-1.1"="af2mrxy0q5bw0lbahcgdajgfyjd8zi5d";
+"ctie.doc-1.1"="zz696bci66pc2p1pkwa0ddrh7fn7q6gp";
 "cweb-3.64b"="rq96m12nzl8qip0zvafdssa1nsglq42z";
-"cweb.doc-3.64b"="aphwd72i8j9z7qxqnldhr2cdjj58yh2w";
+"cweb.doc-3.64b"="2nyvzqjz5xg4hfyf1z2qjbhr1gj1pjg3";
 "de-macro-1.3"="mscrdz5y4zdxszz37dnh6kw4hmwm185q";
 "de-macro.doc-1.3"="hdmn9ds4kiqsalhx5r2l4adv19ijf5f2";
-"detex.doc-2018"="6w5lilq5ci01pq7x2bv6gyihm55kc75n";
-"dtl.doc-0.6.1"="cij54ziw2awway2hjjff72r6l3h8kigz";
-"dtxgen-1.07"="nl5dq5v54hww8rwyxrq6l6vrimzh352q";
-"dtxgen.doc-1.07"="n9c7x9ga79p3gvgb6g3mhn3j3xxy63zw";
-"dvi2tty.doc-6.0.0"="wd8i2fsxc5brrj3shsr7jc6kbpyv08x3";
-"dviasm-2018"="j2wkfisw3hlackcz0f498zx59z24yk0n";
-"dviasm.doc-2018"="wj8a3skfwd5i6d1hb8v3dghijlgmbmdc";
-"dvicopy.doc-1.5"="py5hcd21sh89vqmq8rps4x6qzp6bi410";
-"dvidvi.doc-2018"="5ah8ppyjp4m5ki7rvj1p0rpaazjlchrz";
+"detex.doc-2019"="95vhzy5wyc21v8n1xjvmfbbxhw7hg912";
+"dtl.doc-0.6.1"="cb9x8v43asvzq5cppgvni86lxlmy8ny7";
+"dtxgen-1.08"="n3cwjwkf92c5zgbs7hmc9fgrwjvwky9i";
+"dtxgen.doc-1.08"="87sb4lz077jgnzpya1y1qyzakwd5j00x";
+"dvi2tty.doc-6.0.0"="9n1fws5f6glys7wwsz1ax16145wb103r";
+"dviasm-2019"="j2wkfisw3hlackcz0f498zx59z24yk0n";
+"dviasm.doc-2019"="wj8a3skfwd5i6d1hb8v3dghijlgmbmdc";
+"dvicopy.doc-1.5"="szvfihzbpfvz66w6v96nygkf7pnfa38v";
+"dvidvi.doc-2019"="hdnm6xayhr5smgch1qly5lc29wig7svc";
 "dviinfox-1.04"="zjbfw4kzwfqnvlwzvjibsgim855fc30c";
 "dviinfox.doc-1.04"="1n52la52nchv27j82lisrh8q7wygx6lp";
-"dviljk.doc-2018"="q5cciai4i11m07cq1qlyasf2qwjsmzvr";
-"dvipng.doc-1.15"="68fh0x7arqdrp8gia0nsb7ax8rssqpnh";
-"dvipos.doc-2018"="18kdd3yga3lldafpn2ij28kddkr09rd3";
-"dvisvgm.doc-2.3"="qsrmvbj87di5rpalvbd97csyb2jyahh5";
+"dviljk.doc-2019"="xjwvp52cq4895gsxlbv5r6048b87h779";
+"dviout-util.doc-2019"="hjmdykwbfg32ki7s27y4y8xffb4kck1g";
+"dvipng.doc-1.15"="zvsvnhcy54qj7i16j719shjx8ihhx621";
+"dvipos.doc-2019"="bb5388riin59hqxrrfnbflpvgjdass0g";
+"dvisvgm.doc-2.6.1"="vl2jk25bnzpwh16msfr5j21lv2ygvg2l";
 "findhyph-3.4"="4kc8qj2hs4hf7h25xb031fy5m9j8jygv";
 "findhyph.doc-3.4"="ivpfnjybcl80xzda2jlrplaglqhf9adc";
 "fragmaster-1.6"="r6wbba0qjxr5shfrf5ia8984dcrijpir";
 "fragmaster.doc-1.6"="vwmmc7jmhxfvblz3fpdj0saxjs75bgia";
 "hook-pre-commit-pkg.doc-1.1.2"="0rf4zqwdix7npi9g6nlcpp95mdpxana5";
-"hyphenex-2018"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
-"hyphenex.source-2018"="n4rvv61jcw6s91mydy65qq90clva5zrs";
 "installfont-1.7"="ds2zbs2f6kasda98jn1k8i0ym5168ax8";
 "installfont.doc-1.7"="jmwwjkliwr7wl1gyx8fzpyslscsnlqlx";
-"ketcindy-20190203.0"="pyiil1n28yh2zrpy1x9r6xw9hvyhhgkn";
-"ketcindy.doc-20190203.0"="bh2wszzhgwdqaszh7h3xxcpdjw01533r";
-"lacheck.doc-2018"="wjp0q1brla963wdyjh1m81alxm7knjvc";
+"ketcindy-20190927.0"="pi0hx1f1ma795z77fkjigfxxvkinxwly";
+"ketcindy.doc-20190927.0"="l2xhr32r5qfpk31qb2k2qbdss533kk8q";
+"lacheck.doc-2019"="bnhws6g9ddrf6pf76i8p4r3razpiylp1";
 "latex-git-log-0.9"="samiv870lgj4smwh80l5ck8q6q8m1yqm";
 "latex-git-log.doc-0.9"="1hjp3dx0d0yhj2c3n02cdk4fdg6iv6nc";
 "latex-papersize-1.62"="c2qx25bgknw9350pi7vr5hdnnj3i2ak6";
@@ -506,11 +520,11 @@
 "latexdiff.doc-1.3.0"="wbi6pnbzlm15dmknl8z3xywig6khh2f0";
 "latexfileversion-0.3"="79yrcgv4lj33pavgn48ycvsd9a1x49s3";
 "latexfileversion.doc-0.3"="c6n7z8c3lzrhk2g1fn4v05l2y6299sr8";
-"latexindent-3.5.3"="6s8rai4i04cfh4hiqk02llbfpy3h0fmg";
-"latexindent.doc-3.5.3"="yvd0fr7h3kwpn8lryzwxhwhd76wnjlfr";
-"latexmk-4.61"="dgkk4wm9b9f7hwnaliqjarq64sbpsrdi";
-"latexmk.doc-4.61"="nl5qx0rj2sk0rr1vzvg1ffsc6kk7lj8k";
-"latexmk.source-4.61"="m32pbzkr0my5gv38jw54bancbk66r15c";
+"latexindent-3.7.1"="q4ir39azl49h758n2nrnfnpwv4jyj41g";
+"latexindent.doc-3.7.1"="vzf97xlc626l1r171k8753m5xv5493cw";
+"latexmk-4.64a"="3375f05ip87vzvr9fcy9pnhzqm6bfwg0";
+"latexmk.doc-4.64a"="9dqh7i2fpg4nx5xrfj6vca77zh7aws6b";
+"latexmk.source-4.64a"="m32pbzkr0my5gv38jw54bancbk66r15c";
 "latexpand-1.5"="4w2x5njn2fc3pp9h2qd7lxifh7xswwxh";
 "latexpand.doc-1.5"="96q0sv1v5zn8hwaan17wd8k0gakwh9xj";
 "listings-ext-67"="zbinp0czaglig761svs0s13np81qpsr6";
@@ -518,22 +532,22 @@
 "listings-ext.source-67"="95y2zv6bcfkvqmwf6cpa4piaydlkjwz5";
 "ltxfileinfo-2.04"="fqka5xkp7758sr7hyiyy18nns1dir95f";
 "ltxfileinfo.doc-2.04"="rbqwgb89q514rih3hf5bv613xqw1gbci";
-"ltximg-1.5"="yrrcj5f8pffzpd49d7svwsd20669srh8";
-"ltximg.doc-1.5"="3hrdxbrn8r5220h2i8zzwg08v6rwngip";
-"ltximg.source-1.5"="5xl1avlrs14c4lsmjb6x5793virxhlmw";
-"make4ht-0.2e"="wsjsk526mr1zkz1ahz8iaskdv1kk82jv";
-"make4ht.doc-0.2e"="yg7ivyfrlbszjaisk0vs91ladbais5yl";
+"ltximg-1.7"="8hijfmwbnd6cjgk2zi3ik7flixy0xp09";
+"ltximg.doc-1.7"="kgggjbx84f62niwjkydqxxs7szkakczf";
+"ltximg.source-1.7"="akx09az4qpcrfp4011bpi6k52x1177vd";
+"make4ht-0.2g"="d9l9wfgfcnb67xaj1fb2k39r5g7yg2mv";
+"make4ht.doc-0.2g"="yichzrf0sy7cp9dnhscr6m2kcqfvz6bi";
 "match_parens-1.43"="hahwx0ca506ykknc9plsnrfg6fsb5rs4";
 "match_parens.doc-1.43"="1h445p7nl5n70rskvq4d10b15kb8058k";
-"mflua-2018"="5l61gh5fwi3kqilawfhzp77y8qq9zb9r";
+"mflua-2019"="zicmiqdsbqz7ddgmbwjcay8q5q4jyzqj";
 "metafont-2.7182818"="sxdr5v17hpv8g1562g06lhn26c1wbs8f";
-"metafont.doc-2.7182818"="49w14vkdspg2pnfj59z2h3fs08qnyamd";
+"metafont.doc-2.7182818"="wfy96iw7g8v6mcfmlnbbx1hix9zxhac4";
 "mkjobtexmf-0.8"="raq7ql17c3fdqqpaqbd53r0dg7kjrvh2";
 "mkjobtexmf.doc-0.8"="3cgxbgxpha9139jfz4v3478ny7yv3xm1";
 "mkjobtexmf.source-0.8"="dky5rv3xrbjqj7pg8spdjsllggpq61k9";
-"patgen.doc-2.3"="y6z5ck7zpny3h23g1wy044ynrdf1km2l";
-"pdfbook2-1.2"="nkfll8ynix954j2rplv72avzq9pw93f1";
-"pdfbook2.doc-1.2"="7wi87df5sfhk1pxk3i8kkk3w1ym3z2pd";
+"patgen.doc-2.3"="1p6bnifmajisixh6m0mar8lmzr3rd7s6";
+"pdfbook2-1.3"="j72jmp7cx48gmh9r9qadi5mqzvm8f7mc";
+"pdfbook2.doc-1.3"="yhv6d7m5b5ys1z6pzc893k62calf9s9x";
 "pdfcrop-1.37"="mr2zg2ji7gqm14zq5xsf8wk081fbdwdn";
 "pdfcrop.doc-1.37"="28jgvjwk6v7dvldqgqd4ry32ccd8avgn";
 "pdfjam-2.02"="p9l1q18vqf1yjaxxdyizz9b9rgr1kv4w";
@@ -543,7 +557,7 @@
 "pdftex-quiet-1.1.0"="3cx8zd0q9z19d1xhhc8rd640ifwsrjxc";
 "pdftex-quiet.doc-1.1.0"="84mb3zp9h3jnl179kc6svsd52pmx13pd";
 "pdftools-0.86"="a8nv2mqs26gb1dinymxa9kwk4baqch7l";
-"pdftools.doc-0.86"="sqdwc3ajka1gig9zj6x0xj50s9g3vybh";
+"pdftools.doc-0.86"="lhw8aadv99w7zl6hqnpwpmbl9z4l426z";
 "pdfxup-1.30"="r29ka6pw53vdscrpxbaar5g8x171c0l2";
 "pdfxup.doc-1.30"="kc5qc6a8q4f8yn2xa7cbabidk9gxg6sh";
 "pfarrei-r36"="n351xhnwd12vvy4b4zv2r9cqx1crd435";
@@ -555,17 +569,17 @@
 "pkfix-helper.doc-1.4"="gljfwywrvwin5fl5szfnpa095cr2r0m5";
 "purifyeps-1.1"="qmwy8zk8h0kzpsknp0430gdxq0zqj4hf";
 "purifyeps.doc-1.1"="4fj0jj42mjldhg90pkvj7bsd1b682x0c";
-"pythontex-0.16"="pzh8qkl7j7s5431cvifd70r5lywhzrqc";
-"pythontex.doc-0.16"="ifnkz8rfy2mb0hff6rv6ngp8fivr6v73";
-"pythontex.source-0.16"="wnszvmjiwgfppnxw5aq0lxd3mfdwi6l7";
-"seetexk.doc-2018"="0hzinznywrgax3nfg5hn5dxwfs5g6c7z";
+"pythontex-0.17"="1gza81rq8sz3172y81zkm5lvg8193spd";
+"pythontex.doc-0.17"="4z6bswby7179xqx47n89qfzcd7sxvxg9";
+"pythontex.source-0.17"="pnzqd2k0q1nng61d2ral344q8211vfma";
+"seetexk.doc-2019"="4cw2dn59pzvn6rmhnaj5sa97vnn4qh9q";
 "srcredact-1.0"="dzxdwnn9l06gngyvaarf10h6ws8aa73y";
 "srcredact.doc-1.0"="m028dd5fqv2x9xcxq7vhdsaz2xcyxwl1";
 "sty2dtx-2.3"="irvwyxk3ggfbc8p4b8s70v5704lqmsib";
 "sty2dtx.doc-2.3"="s9qzsp01129wgi8qfh0ljxkaj9jvdr65";
-"synctex.doc-2018"="a6jqg7vmbjian357kf1q4w9hmf76qmzp";
-"tex4ebook-0.2b"="697h0zd0a6dqd07njp0gq1zfyqxfcsnp";
-"tex4ebook.doc-0.2b"="sbdvskmcz8r2477g5gfikmn0x2r18mij";
+"synctex.doc-2019"="g88kvc6r9ga4mq0mgv298n29l705jx93";
+"tex4ebook-0.2c"="79p9z5smzw75qxkqv8lzaihni3fr3kp4";
+"tex4ebook.doc-0.2c"="fvyvgvr7vhz551k497y8zd3vhzf2nsaz";
 "texcount-3.1.1"="spfdnfgbcy8y8c7191pd973wmdnrgp8j";
 "texcount.doc-3.1.1"="idd45zpjjy6cgibnndxygdmljw28gyq4";
 "texdef-1.8a"="iyiqbv4h91h6qchgcddj251sas6ayf93";
@@ -575,160 +589,163 @@
 "texdiff.doc-0.4"="r9wsmivjyiwdnav7qc35kydk9b8pbcz8";
 "texdirflatten-1.3"="135358h2mb608wg3ni93rrsvvqgxm4ya";
 "texdirflatten.doc-1.3"="n9jxdwjiylvwy6n55vgci9a32qi10xhl";
-"texdoc-3.0"="j5jwnlcjd07mdsbpicnmq7w80a829alw";
-"texdoc.doc-3.0"="w18adf2pr1wzjk9v1iamh3zria4xfcz1";
-"texdoctk-0.6.0"="r49h79z4hpxxffi755kw1qpnlv38pxbs";
-"texdoctk.doc-0.6.0"="qyi26gnnkc71x552npkl8qijpcx90j7f";
-"texfot-1.37"="fbpbc24dbh8wvzyybjwb3vgc6w7mhlxw";
-"texfot.doc-1.37"="7vdbypvsmllg0frxh59rsb4iig3lvg5l";
-"texliveonfly-2018"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
-"texliveonfly.doc-2018"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
+"texdoc-3.1"="3zs9kxqd47nlrg8z7frq4h8kjz7a98r8";
+"texdoc.doc-3.1"="10xjlhy57y2knrws7bq5x01byjvzzi6f";
+"texdoctk-0.6.0"="48ix4zaj1k1v3i997rvl1kg0mc8a9g5s";
+"texdoctk.doc-0.6.0"="5h3azns62pa78gwr7gl07fj7ydpb1330";
+"texfot-1.38"="3qdqa7pywvk3f5rgdhn9806bfcfgr9dk";
+"texfot.doc-1.38"="06n4pipdm912xri2cpbv8vdlqja8fzk1";
+"texliveonfly-2019"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
+"texliveonfly.doc-2019"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
 "texloganalyser-0.9"="8dlsnkjvsic0xyaxjwixrgm4pf40snpz";
 "texloganalyser.doc-0.9"="yh3y429s0fbkjai3kmh3z1q4f1pja6g3";
 "texosquery-1.6"="8f8lapbim73bxwfmzgi07jl5qg5d0n6g";
 "texosquery.doc-1.6"="rph058iy26cxdk6n0i7kbgxv43rkmfx7";
 "texosquery.source-1.6"="6r8grnnhqr2jcmns2vrcxq6gai939nhb";
-"texware.doc-2018"="8r064nlbcnlf0n78lbsypvi3036w9hcn";
-"tie.doc-2.4"="14qgnsdkx2vp8lj0lskvnxp9cylk4qfx";
-"tlcockpit-1.0"="4rmcz896d0pah6bdihdcn0hzlnvcgyf3";
-"tlcockpit.doc-1.0"="823rcp8qwlkdrpm0c9f1qc5x9bgf6w56";
-"tlcockpit.source-1.0"="bh5kyd6yqbbl7valad4fz0dnkg2zvpl8";
-"tlshell-2018"="aa4dz5rhc1mgzxgnjv6qx52assdai0l4";
-"tlshell.doc-2018"="bfk5yhh81yyhdim9pjj8kp3x2z9j7xi7";
-"tpic2pdftex.doc-2018"="vgl97k9smbwxvbgfkz2fx3x06afy4lf2";
+"texware.doc-2019"="qy1dmjyam2slw0b2qcpq02jvr82bq25b";
+"tie.doc-2.4"="s7h7c6wbmzbsp0ixcm64jq8gskjjwwpb";
+"tlcockpit-1.1"="3cpabpc7kq0j0rfx217i3sh1lz825791";
+"tlcockpit.doc-1.1"="l7w6h4na36nfhky0w0jn53v4lx48yi1x";
+"tlcockpit.source-1.1"="dqgari1h9a0ny1jkjqqk3yx2rs59v0kc";
+"tpic2pdftex.doc-2019"="g21w28jq3l00jpg4k6ff7aajl2yla9c6";
 "typeoutfileinfo-0.31"="vjs333wmdxb9s1vd215af0vryplvb8hl";
 "typeoutfileinfo.doc-0.31"="qdrwm9hi7qk7hxzcz0grv7cfl4r9k4v6";
-"web.doc-4.5"="3ifa6s0gz7h0dyjcg6dfvnmfwy67vji9";
-"xindex-0.07"="99ql107qihdxz1nw507sjw15d1ymcmrc";
-"xindex.doc-0.07"="ir2scfnigs2wiy1flaczcnl5zhx01kdf";
+"web.doc-4.5"="sdmcsfyc18z4ldyiajpv5fqhfbb1gzgq";
+"xindex-0.16"="c9j47127l5yjkj0v2k3r2nbr2kysmazs";
+"xindex.doc-0.16"="2wm9d48w71s5mah2jz4bygcl153s0cva";
 "xindy-2.5.1"="rp60v85lrsbllzkwvhhz5sprxalf6kxp";
 "xindy.doc-2.5.1"="akx5bx8m387zsaxd7v6xh97nglbzd9k6";
-"context-2018"="jyx1m6v90l9gv2wmcsd5z7y9dr5dkjsq";
-"context.doc-2018"="bdr24r8l5s6nvskbdcqb2w1wddz9zwyd";
+"context-2019"="1a004zz4xs83m9jgy16k6q552lpn9dr6";
+"context.doc-2019"="zc8knfsrllnfggxxsgyijjzx59vjdscm";
 "lm-2.004"="ci5dpznkzlal3bkn0dcd2m5i05aws66g";
 "lm.doc-2.004"="w3g5xn4pfqhri4glpbh66rs8d6nbrd02";
 "lm.source-2.004"="bw69srvx8mprnj8d5f48bq3mg1ysfk1n";
 "lm-math-1.959"="j995x0y357lac8mn1kzn9v8p3v995bz7";
 "lm-math.doc-1.959"="bgfq2c4l1shm9453822cnmq7yq6hlknq";
-"manfnt-font-2018"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
-"metapost-2018"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
-"metapost.doc-2018"="fwn7p456ahb2036nfkwpvxznmnfj1ska";
+"manfnt-font-2019"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
+"metapost-2019"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
+"metapost.doc-2019"="3x54j33i3p3m3pf84805w011yr6v896j";
 "mflogo-font-1.002"="m5lb3rhr5yighsixjb0k6zp2hx8fxvr9";
 "mflogo-font.doc-1.002"="va6f9qjbh5ah4zvlmc4wi9m395x3bhpr";
-"stmaryrd-2018"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
-"stmaryrd.doc-2018"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
-"stmaryrd.source-2018"="ch2gj89jxrqysjsl24s40za3y5z03yan";
-"xetex-2018"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
-"xetex.doc-2018"="irmhb20z4x0dchaj0gcpq82s0w2kdavg";
-"xetexconfig-2018"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
-"context-account-2018"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
-"context-account.doc-2018"="lms208c3s9clga2ymi1j2i5whyz2dffy";
-"context-algorithmic-2018"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
-"context-algorithmic.doc-2018"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
-"context-animation-2018"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
-"context-animation.doc-2018"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
-"context-annotation-2013.05.27"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
-"context-annotation.doc-2013.05.27"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
-"context-bnf-2018"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
-"context-bnf.doc-2018"="jyvr2yk2shkzj122v53khmxx4skbasn0";
-"context-chromato-2018"="721l06z298fqfaj6rcz9sh66jshq447s";
-"context-chromato.doc-2018"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
-"context-cmscbf-2018"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
-"context-cmscbf.doc-2018"="s09578i62xh352zmd1rssg0rd1qjpc7q";
-"context-cmttbf-2018"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
-"context-cmttbf.doc-2018"="fp7blzzh8p24bpab0vnlyc336kildj4b";
-"context-construction-plan-2018"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
-"context-construction-plan.doc-2018"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
-"context-cyrillicnumbers-2018"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
-"context-cyrillicnumbers.doc-2018"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
-"context-degrade-2018"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
-"context-degrade.doc-2018"="nkal1h165g0mnf0h677b22c7r5q89sbp";
-"context-fancybreak-2018"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
-"context-fancybreak.doc-2018"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
-"context-filter-2018"="kjyrcq6p1hw9gi95zpmrvpbni1dn3l8w";
-"context-filter.doc-2018"="1dz0rmsac0f2nvnd83qaxwdhibbkq42v";
-"context-french-2018"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
-"context-french.doc-2018"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
-"context-fullpage-2018"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
-"context-fullpage.doc-2018"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
-"context-gantt-2018"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
-"context-gantt.doc-2018"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
+"stmaryrd-2019"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
+"stmaryrd.doc-2019"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
+"stmaryrd.source-2019"="ch2gj89jxrqysjsl24s40za3y5z03yan";
+"xetex-2019"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
+"xetex.doc-2019"="dv515mqnylhpsi5v7xsnv662041lmva8";
+"latex-base-dev-2019-10-01_pre-release_3"="g5lvvym5jk74zznlz170020dmsr9fq0i";
+"latex-base-dev.doc-2019-10-01_pre-release_3"="160hg8dhji6chzni7blcbicyfzkpp0cn";
+"latex-base-dev.source-2019-10-01_pre-release_3"="is6g4w5blf79pqvwnwyg52iqkhdrrbmr";
+"xetexconfig-2019"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
+"context-account-2019"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
+"context-account.doc-2019"="lms208c3s9clga2ymi1j2i5whyz2dffy";
+"context-algorithmic-2019"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
+"context-algorithmic.doc-2019"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
+"context-animation-2019"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
+"context-animation.doc-2019"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
+"context-annotation-2019"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
+"context-annotation.doc-2019"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
+"context-bnf-2019"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
+"context-bnf.doc-2019"="jyvr2yk2shkzj122v53khmxx4skbasn0";
+"context-chromato-2019"="721l06z298fqfaj6rcz9sh66jshq447s";
+"context-chromato.doc-2019"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
+"context-cmscbf-2019"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
+"context-cmscbf.doc-2019"="s09578i62xh352zmd1rssg0rd1qjpc7q";
+"context-cmttbf-2019"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
+"context-cmttbf.doc-2019"="fp7blzzh8p24bpab0vnlyc336kildj4b";
+"context-construction-plan-2019"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
+"context-construction-plan.doc-2019"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
+"context-cyrillicnumbers-2019"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
+"context-cyrillicnumbers.doc-2019"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
+"context-degrade-2019"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
+"context-degrade.doc-2019"="nkal1h165g0mnf0h677b22c7r5q89sbp";
+"context-fancybreak-2019"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
+"context-fancybreak.doc-2019"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
+"context-filter-2019"="kjyrcq6p1hw9gi95zpmrvpbni1dn3l8w";
+"context-filter.doc-2019"="1dz0rmsac0f2nvnd83qaxwdhibbkq42v";
+"context-french-2019"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
+"context-french.doc-2019"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
+"context-fullpage-2019"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
+"context-fullpage.doc-2019"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
+"context-gantt-2019"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
+"context-gantt.doc-2019"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
 "hatching-0.11"="kngng0rbi2q99417zr3vv3jl0zzjwh6l";
 "hatching.doc-0.11"="5c0n8fhchwpa3vgby9v6dzcg9v834xgr";
-"context-gnuplot-2018"="21gc0nq12aps3d3333yxll6xllnlw0x2";
-"context-gnuplot.doc-2018"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
-"context-handlecsv-2018"="mhhcjdvw9g473m55vyhbman6rrxz2izv";
-"context-handlecsv.doc-2018"="hg610h347nv4imz79ail20rfrld4fzbp";
-"context-inifile-2018"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
-"context-inifile.doc-2018"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
-"context-layout-2018"="438mv86y37wbxdv9js2s3clnkl7866ff";
-"context-layout.doc-2018"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
-"context-letter-2018"="y43dmsc49337n5mn0axqsa5rln68zg6r";
-"context-letter.doc-2018"="knw1pz7vdmqjf82aiznpqb2hc5y198i4";
-"context-lettrine-2018"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
-"context-lettrine.doc-2018"="xf4mr1w0z7ybcas306959nmgxih59082";
-"context-mathsets-2018"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
-"context-mathsets.doc-2018"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
-"context-notes-zh-cn.doc-2018"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
-"context-rst-0.6c"="5mwhydc35iywmkdz759sdpz53wkqa64x";
-"context-rst.doc-0.6c"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
-"context-ruby-2018"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
-"context-ruby.doc-2018"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
-"context-simplefonts-2018"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
-"context-simplefonts.doc-2018"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
-"context-simpleslides-2018"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
-"context-simpleslides.doc-2018"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
-"context-title-2012.04.11"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
-"context-title.doc-2012.04.11"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
-"context-transliterator-2018"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
-"context-transliterator.doc-2018"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
-"context-typearea-2018"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
-"context-typearea.doc-2018"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
-"context-typescripts-2018"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
-"context-typescripts.doc-2018"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
-"context-vim-2018"="j1qzdclsyzhrp0x8gkhkzw2s1i9a4xwf";
-"context-vim.doc-2018"="ggyhlwmqw4v4mlgfrh6jwanjkgfsaky7";
-"context-visualcounter-2013.04.01"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
-"context-visualcounter.doc-2013.04.01"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
-"context-visualcounter.source-2013.04.01"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
-"jmn-2018"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
-"npp-for-context.doc-0.98"="ykvfribj17bby5nh2m2m731955p8rbph";
-"Asana-Math-000.955"="qvk5bdn6hq6ci0v4l45rbwd3s4nazmsd";
-"Asana-Math.doc-000.955"="q0c7d8fs11sqdxs0drjd9g6l0bkbnvln";
+"context-gnuplot-2019"="21gc0nq12aps3d3333yxll6xllnlw0x2";
+"context-gnuplot.doc-2019"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
+"context-handlecsv-2019"="zpdagxljjxskjqd1fpzkba1dn0vxilnm";
+"context-handlecsv.doc-2019"="bc0dzhw5dwjidgscqgwlnfs2xdnapdyz";
+"context-inifile-2019"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
+"context-inifile.doc-2019"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
+"context-layout-2019"="438mv86y37wbxdv9js2s3clnkl7866ff";
+"context-layout.doc-2019"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
+"context-letter-2019"="y43dmsc49337n5mn0axqsa5rln68zg6r";
+"context-letter.doc-2019"="knw1pz7vdmqjf82aiznpqb2hc5y198i4";
+"context-lettrine-2019"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
+"context-lettrine.doc-2019"="xf4mr1w0z7ybcas306959nmgxih59082";
+"context-mathsets-2019"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
+"context-mathsets.doc-2019"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
+"context-notes-zh-cn.doc-2019"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
+"context-rst-2019"="5mwhydc35iywmkdz759sdpz53wkqa64x";
+"context-rst.doc-2019"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
+"context-ruby-2019"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
+"context-ruby.doc-2019"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
+"context-simplefonts-2019"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
+"context-simplefonts.doc-2019"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
+"context-simpleslides-2019"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
+"context-simpleslides.doc-2019"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
+"context-title-2019"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
+"context-title.doc-2019"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
+"context-transliterator-2019"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
+"context-transliterator.doc-2019"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
+"context-typearea-2019"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
+"context-typearea.doc-2019"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
+"context-typescripts-2019"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
+"context-typescripts.doc-2019"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
+"context-vim-2019"="j1qzdclsyzhrp0x8gkhkzw2s1i9a4xwf";
+"context-vim.doc-2019"="ggyhlwmqw4v4mlgfrh6jwanjkgfsaky7";
+"context-visualcounter-2019"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
+"context-visualcounter.doc-2019"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
+"context-visualcounter.source-2019"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
+"jmn-2019"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
+"npp-for-context.doc-0.98"="7pczkchxrk8snrl81lrv7wgn928lngq3";
+"Asana-Math-000.958"="ra3pfarx03afq6hzv16an1v2fb22pcpx";
+"Asana-Math.doc-000.958"="wy3f3p15aj22vm3i391dpf2ssphqln97";
 "academicons-1.8.6-2"="ibr3rgpdjalz09gcs8fg31gkasb48qvv";
 "academicons.doc-1.8.6-2"="607w87c6bbhfw1q8jibfkpczgf29f342";
-"accanthis-2018"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
-"accanthis.doc-2018"="zlxlfbawiicbkminjw2laximsn07zpi0";
-"adforn-1.001-b-2"="ykyh10gfssql3zh4845gw8g8ayijvlla";
-"adforn.doc-1.001-b-2"="idfbpikb68y2n424xjdf3nppbz5cziib";
-"adfsymbols-1.001"="ijgwy7svr9pn69r2vwi5pzkdbc7q0p3h";
-"adfsymbols.doc-1.001"="kb61cwldva4ziv006ja9y66a27926508";
+"accanthis-2019"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
+"accanthis.doc-2019"="zlxlfbawiicbkminjw2laximsn07zpi0";
+"adforn-1.1b"="av77crahnvrjdla03d5511inpd0hikjv";
+"adforn.doc-1.1b"="0r9vmhq3m0m5agj8vhgh9rwi10p238yr";
+"adfsymbols-1.2b"="qsglgklwqna03lj0dyd37vdqlmh3fxwm";
+"adfsymbols.doc-1.2b"="q3840xankbi9xr7fdsfxd3gkgydrvmxr";
 "aecc-1.0"="0vpb9yz2qx0sc15kxzhgqadkcjyr27c5";
 "aecc.doc-1.0"="mn7j1f7j3z5d6pnss9mlhvbw4ahn94ka";
-"alegreya-2018"="sa46fbw1wj69jhhmql3yz2rs5518x1vj";
-"alegreya.doc-2018"="h5zfivxs9misj4l9zag70ih8ic35aj9a";
-"algolrevived-1.01"="81kfc6aj2fg7db11sxb5w3a0zw2p25f8";
-"algolrevived.doc-1.01"="yxd16nwxlz4jlcqbim2w1kvhdfs9145b";
+"alegreya-2019"="g97xv22dfmdfhyn4yqz67rj42mkp35qj";
+"alegreya.doc-2019"="ds3p6fvf6bdrzf9clxksrcl9r3lbbknx";
+"algolrevived-1.03"="99wnibyx8h3x1rf2hnxmnb3gk4lh4yvg";
+"algolrevived.doc-1.03"="8w567kzfdgjxfsdbfyf8rr89wdrrm0xv";
 "allrunes-2.1.1"="yxijvmvgjl2q05v667fmqisbyd7xsjpr";
 "allrunes.doc-2.1.1"="b0sc4d9kla5sg792zvwqjzszz17w19iv";
 "allrunes.source-2.1.1"="n986ppx466mparm30mlv7cn5mmjh74sy";
+"almendra-2019"="bg7ciwcjc1dlqw9nxwlmqqvn9nkd228a";
+"almendra.doc-2019"="1c428ph2c2zjx1ks145ydd7vbaqgvsjq";
 "almfixed-0.92"="kcaraz14gg5k8ws8zkrjfvvn22njv759";
 "almfixed.doc-0.92"="34f4a82gsr0vq47bp9wbdd4wkhhr984j";
-"anonymouspro-2.1"="5396jmzi4ihjdiwpgm8ghi669ipk6dzd";
-"anonymouspro.doc-2.1"="xjsrm5wsyq7cip27kffdmvl7mcwcz7pv";
-"anonymouspro.source-2.1"="r2j6c96ym5bm4xgxdkppg5v5d71nav6s";
+"anonymouspro-2.2"="kzf7kf4bc5cl8vw0k5m34hv7pj566w1n";
+"anonymouspro.doc-2.2"="0952v93206i1n1sziifc0pmrpz6ksina";
+"anonymouspro.source-2.2"="k8bivdv3ghdp0a9inhrirfh01kbszsrn";
 "antiqua-001.003"="131gc30l7jaj79zkc37if3w70nr8w6ic";
 "antiqua.doc-001.003"="36kkp06c9grcgz7py0k7fnr5a56cvsgk";
 "antt-2.08"="ln7vvpz0p5lz4sikwky7f7zmkg08zmcv";
 "antt.doc-2.08"="2449s2gpspkwfmyhvvl8g5h1dqn8bg72";
-"archaic-2018"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
-"archaic.doc-2018"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
-"archaic.source-2018"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
-"arev-2018"="xc3i2264d5w0ijv10n6ka53311bgnib0";
-"arev.doc-2018"="s39jgnizjbpnh1czr3ck5yd32bxks476";
-"arev.source-2018"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
-"arimo-2018"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
-"arimo.doc-2018"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
+"archaic-2019"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
+"archaic.doc-2019"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
+"archaic.source-2019"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
+"arev-2019"="xc3i2264d5w0ijv10n6ka53311bgnib0";
+"arev.doc-2019"="s39jgnizjbpnh1czr3ck5yd32bxks476";
+"arev.source-2019"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
+"arimo-2019"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
+"arimo.doc-2019"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
 "asapsym-1.0"="gbn04lk9k66wj689vna4kgxq8gddhwca";
 "asapsym.doc-1.0"="qfbaary485cs3q5azl6d650z53kd9s73";
 "asapsym.source-1.0"="g9m2vwmd438fwfczm8xwhv4wdp2aj114";
@@ -739,8 +756,8 @@
 "aspectratio.doc-2.0"="xv7z3aa40dn6fzchrhqwg03356r2znjf";
 "astro-2.20"="isnx9q009wchs33xq4bphi4cp4cnb2m9";
 "astro.doc-2.20"="xa1szbc33k2yyahgwy294mgiiyi5yiy4";
-"augie-2018"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
-"augie.doc-2018"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
+"augie-2019"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
+"augie.doc-2019"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
 "auncial-new-2.0"="nnaar0yvi6r1fynyzxmqhw7mnify474d";
 "auncial-new.doc-2.0"="jvyica87kxg5gm3zb8kmka9ja87f28si";
 "auncial-new.source-2.0"="hfdl71c7lx3lpb9rkwfz5vpaq0s19bh6";
@@ -749,34 +766,34 @@
 "b1encoding-1.0"="cxsgg97c3bsw9dl2aj9c9rb8vlpyn4s4";
 "b1encoding.doc-1.0"="mcm5yr55av0rj342bxdljkdid5qxyv97";
 "b1encoding.source-1.0"="jdnzzki5929xpzvpfvx5a9z51dk40pvs";
-"barcodes-2018"="8j88bc82j5a0xhm46671mj0k439zm5da";
-"barcodes.doc-2018"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
-"barcodes.source-2018"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
+"barcodes-2019"="8j88bc82j5a0xhm46671mj0k439zm5da";
+"barcodes.doc-2019"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
+"barcodes.source-2019"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
 "baskervald-1.016"="igfnj3pwvb6443c531va9kzylizxm9vs";
 "baskervald.doc-1.016"="mq8ms68crhv6afh9ld6scyx2xn2ik6jk";
 "baskervald.source-1.016"="7y8d5vqbd1bp3gri0rhzk3cb12cwchr1";
 "baskervaldx-1.072"="jjwb2m99l3vwzcpr7dzd8z360cv4qib6";
 "baskervaldx.doc-1.072"="bprkagqwmczadxymgadg1d98d6g2l4xq";
-"baskervillef-1.046"="1w52bv8l4c4nn43nij2r6g15fczih3dc";
-"baskervillef.doc-1.046"="awhspzi0k8v50191x5zqm5mdniacs0yw";
+"baskervillef-1.047"="0b8hb8q8ddq07j40c39rxwpxa3m9jbk6";
+"baskervillef.doc-1.047"="1gwvmy6yqilz5z1v1jg928n5qwj0nckc";
 "bbding-1.01"="8kh5c0chlw1f2pqzh9pc7zx8y2jcgh0g";
 "bbding.doc-1.01"="zjngi582jrb99j6w1amwbyvjmfvsk40d";
 "bbding.source-1.01"="axvp8f0zag6bkr9v3fg22j4h5gcbcgzx";
-"bbm-2018"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
-"bbm.doc-2018"="bzfab62k5j167p5qzs79gps14hbpq7nq";
-"bbm-macros-2018"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
-"bbm-macros.doc-2018"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
-"bbm-macros.source-2018"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
+"bbm-2019"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
+"bbm.doc-2019"="bzfab62k5j167p5qzs79gps14hbpq7nq";
+"bbm-macros-2019"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
+"bbm-macros.doc-2019"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
+"bbm-macros.source-2019"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
 "bbold-1.01"="s88rwky3f2jjcg6w00g7s5lkvviqkwpm";
 "bbold.doc-1.01"="sa83x4g1n5b2lafj9n61cggkyk7h1z5v";
 "bbold.source-1.01"="ki3gxl970iirhkckqblr490jlznl0kc7";
-"bbold-type1-2018"="00rizb6fky3rsyn1id4p1dik8963bhwr";
-"bbold-type1.doc-2018"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
-"belleek-2018"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
-"belleek.doc-2018"="8d258516ak2b5va5smkfc87ipyj329f9";
-"belleek.source-2018"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
-"bera-2018"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
-"bera.doc-2018"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
+"bbold-type1-2019"="00rizb6fky3rsyn1id4p1dik8963bhwr";
+"bbold-type1.doc-2019"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
+"belleek-2019"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
+"belleek.doc-2019"="8d258516ak2b5va5smkfc87ipyj329f9";
+"belleek.source-2019"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
+"bera-2019"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
+"bera.doc-2019"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
 "berenisadf-1.004"="2ci0vxfqyc18anpy68r6anbdz76nrf2b";
 "berenisadf.doc-1.004"="00vx76lkvv0vf68a7sck05ls3l5va5gj";
 "beuron-1.3"="c04r71cvsva6yr9gvj1jrmix7q8n1i94";
@@ -784,35 +801,36 @@
 "bguq-0.4"="cgq4fhairknzbp65cmhv0m19zn0cnkgp";
 "bguq.doc-0.4"="9rwhzxijcyl4zzrc88dg8730p11hkm4q";
 "bguq.source-0.4"="7856n14czw3z30maxv7m4xz6js47rkbj";
-"blacklettert1-2018"="hzd441k3wi58rrysk0h48yklnp5i776p";
-"blacklettert1.doc-2018"="8n61621w6273ik991i2asvsm4w8xlimx";
-"blacklettert1.source-2018"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
+"bitter-2019"="rjfk57bl3z3wwg6gxram55w7xzk9w5sz";
+"bitter.doc-2019"="mlkk2966kwfcldhn8n8rcpy93l88y7pg";
+"blacklettert1-2019"="hzd441k3wi58rrysk0h48yklnp5i776p";
+"blacklettert1.doc-2019"="8n61621w6273ik991i2asvsm4w8xlimx";
+"blacklettert1.source-2019"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
 "boisik-0.5"="xz0hk8fwnrwnydy9dglm93c4gzrqpz87";
 "boisik.doc-0.5"="wsssy9bh8wi35x67ifgnj9wrjx0vpmvy";
-"bookhands-2018"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
-"bookhands.doc-2018"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
-"bookhands.source-2018"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
+"bookhands-2019"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
+"bookhands.doc-2019"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
+"bookhands.source-2019"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
 "boondox-1.02d"="i1hwfxc7ji83724177ir5hdgfn6cbcqr";
 "boondox.doc-1.02d"="wwa8ar557myv3rfjkw9jlw1pxs26vwbh";
-"braille-2018"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
-"braille.doc-2018"="00dv14s64fm8g5jy8b30dx813a304nlh";
-"brushscr-2018"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
-"brushscr.doc-2018"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
-"cabin-2018"="cdqp8n971zc5rih2903kq97sbklh1gb4";
-"cabin.doc-2018"="v3rlr3vfyppg32nsvdq3gz5z46wcm5lf";
-"caladea-2018"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
-"caladea.doc-2018"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
-"calligra-2018"="cisw7fvdys863szqvsxzm164vina8al3";
-"calligra.doc-2018"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
+"braille-2019"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
+"braille.doc-2019"="00dv14s64fm8g5jy8b30dx813a304nlh";
+"brushscr-2019"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
+"brushscr.doc-2019"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
+"cabin-2019"="q0p67y7vxsy5j6nswhapbiyjnrvxdn1d";
+"cabin.doc-2019"="ijqxxnz4fip9lfbwm2kxa02c3n2dp405";
+"caladea-2019"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
+"caladea.doc-2019"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
+"calligra-2019"="cisw7fvdys863szqvsxzm164vina8al3";
+"calligra.doc-2019"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
 "calligra-type1-001.000"="2bl0g899jhyspyhyzh45xdkkis88ja46";
 "calligra-type1.doc-001.000"="3zza4sgsnvcg2asdv27gd7y6jmab5j4y";
-"cantarell-2.4"="sy4spxn3hfp0wqs5imhnm5bkw42qfnxn";
-"cantarell.doc-2.4"="dwd1ndl5ghz9rcgmjrl6zmaxzbaxr3rd";
-"cantarell.source-2.4"="vdz4m82y34lb60vx066j68l0kgc2clvc";
-"carlito-2018"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
-"carlito.doc-2018"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
-"carolmin-ps-2018"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
-"carolmin-ps.doc-2018"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
+"cantarell-3.2"="kfhii4bxf2s204kidpr7d9cwa5kd1vwy";
+"cantarell.doc-3.2"="22q109ydjdvd11y6dhxbgsax3rnd43qi";
+"carlito-2019"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
+"carlito.doc-2019"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
+"carolmin-ps-2019"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
+"carolmin-ps.doc-2019"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
 "ccicons-1.6"="g89dzfgas16vgx8ydp43ihina82z8df8";
 "ccicons.doc-1.6"="sphr2i8d6yf8xz5rkr0ib5ji6x6w428l";
 "ccicons.source-1.6"="1rkyqlpvm3v01cswmjmycayxh0kbgin6";
@@ -821,75 +839,74 @@
 "cfr-lm-1.5"="7y9qg3jnq6xnlq0f1wqm6493qax92cc3";
 "cfr-lm.doc-1.5"="cfshavfcmpkig5p9kypglmrs55rl5lsb";
 "cfr-lm.source-1.5"="nglav2q22aybb23snhm6x17dxz3976sc";
-"cherokee-2018"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
-"cherokee.doc-2018"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
-"chivo-1.0"="96gxnm243xbkrhx8mcs4vip8qaj1q5f5";
-"chivo.doc-1.0"="f9ibwq6r1y2i5n5bp9s5v91mw32hkl5m";
-"chivo.source-1.0"="ssqn1c68z13ap31rahx8c0m00n2jwbs6";
-"cinzel-2018"="zd9fzvkabmdz25gmi2zj0aj0c7fp89kf";
-"cinzel.doc-2018"="82f080qw29yir7z12zjx6ibjfrfgnm9b";
-"clearsans-2018"="x3dasd6qdqjdw2v99kkh00srz44pz6ma";
-"clearsans.doc-2018"="bbfm2zw5czzwm3msr112wzlg686bh8jj";
+"cherokee-2019"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
+"cherokee.doc-2019"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
+"chivo-2.1"="0xrf456zk0yvgw2v6rss6rzlzpb0qkmk";
+"chivo.doc-2.1"="w9p59bx5wdz963lcdqvwc7v50pm1a8da";
+"chivo.source-2.1"="mqwg3ryb1lfam2ii20dn6m6j7pahqqxr";
+"cinzel-2019"="g6w1yxjm4bb49qdhgwrrmnj535za01kp";
+"cinzel.doc-2019"="4kj5zj40jq8dm7br7xb9vr2nwwqjl530";
+"clearsans-2019"="f47wzjm2yacf2mmpy3vpld01x2l42fdw";
+"clearsans.doc-2019"="zbx3h5xxcin47ql221mjwlwsnfz01hl7";
 "cm-lgc-0.5"="wnmmrhnlldps15r2v360bdvlfyjd1fpn";
 "cm-lgc.doc-0.5"="wb18g3w86wfb7fv2iaaxm0j2amrws9yf";
-"cm-mf-extra-bold-2018"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
+"cm-mf-extra-bold-2019"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
 "cm-unicode-0.7.0"="wmmgwafdisxnkgdh571y2mlcybjlnvf6";
 "cm-unicode.doc-0.7.0"="6nykmggl860gvrzr1v9xahvl6gpy7phg";
 "cmbright-8.1"="rjlqiwya67ispglypa4gmix8hyk6f2h3";
 "cmbright.doc-8.1"="wsjakpl6b7zyv3j9yx50v9hjm3sgx317";
 "cmbright.source-8.1"="vwgnzs47an6mjgw898scvdp8dc3m1w0w";
-"cmexb-2018"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
-"cmexb.doc-2018"="92888gd06jfx2q4xd01n45c1yyhnp03l";
-"cmll-2018"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
-"cmll.doc-2018"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
-"cmll.source-2018"="lbaw2209cz5ymklza36486jzfpq1cqc5";
-"cmpica-2018"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
-"cmpica.doc-2018"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
-"cmsrb-2.0"="847b45xlxscp9bgfw5p6f6avzlrw4yf6";
-"cmsrb.doc-2.0"="131m85q6klyv4j9wl36n03ybk14fmsny";
+"cmexb-2019"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
+"cmexb.doc-2019"="92888gd06jfx2q4xd01n45c1yyhnp03l";
+"cmll-2019"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
+"cmll.doc-2019"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
+"cmll.source-2019"="lbaw2209cz5ymklza36486jzfpq1cqc5";
+"cmpica-2019"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
+"cmpica.doc-2019"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
+"cmsrb-3.1"="m0gdzswn71b5ch9a6i8yvkkhp7zqzngx";
+"cmsrb.doc-3.1"="4d4jcwqpmklpyc3c60wmn6xnjw5kss11";
 "cmtiup-2.1"="k6sk5isdzms460hm17lkx5b6p6p9wz1g";
 "cmtiup.doc-2.1"="ycj4il7cxfnigs8sxxwga045g9v8rv8h";
-"cochineal-1.049"="3vd1yf4w3zf2wv44xb09baf1ksllgy6x";
-"cochineal.doc-1.049"="2g0z2y8fvi817jv2nc02143i1szzqjc5";
-"coelacanth-2018"="98nhwkyx82x0q39b7d4f9bq8g8hmhjzs";
-"coelacanth.doc-2018"="2v7chnqn5pw6h9x9k01h218cwp0z9lyw";
-"comfortaa-2.3"="k4w8lzk1lbd0hlrvkr83p4s737410vk3";
-"comfortaa.doc-2.3"="cmh2d3939a515h60ajmhbivqmbn2xmw4";
-"comfortaa.source-2.3"="jp7dh6r0zcpz3mkfkgafjays8jx9hbqf";
+"cochineal-1.055"="9dnbrqsxf5g3jirv5kv6xwbpkbnzi28n";
+"cochineal.doc-1.055"="wf9xv0l5h2z177sky4fyiwgb0z9yl605";
+"coelacanth-0.005"="0na6wjl5p6fjp3wljqsyd0klna5sid85";
+"coelacanth.doc-0.005"="lkzvg1p9c6vksdgmxsxp1af6gvvd1hmy";
+"comfortaa-3.2"="r9sis4ra19lgzsl56h3xp8s56awhlbrq";
+"comfortaa.doc-3.2"="jqsyn47waavk5a34d7cin4fc2z4pc9z6";
 "comicneue-1.1"="zsv445k74adkzqnas2g8p3i6c49bccqf";
 "comicneue.doc-1.1"="9il2nyy63bx62n603j1kwaagvplwndps";
-"concmath-fonts-2018"="875viaxzrrljcarkg11cb830fmq5321f";
-"concmath-fonts.doc-2018"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
+"concmath-fonts-2019"="875viaxzrrljcarkg11cb830fmq5321f";
+"concmath-fonts.doc-2019"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
 "cookingsymbols-1.1"="qhjzkivpxbk3rk6pricxsxpdk7c40rxc";
 "cookingsymbols.doc-1.1"="8l7yii9vvmaxfnf0h2snis7476k18mlc";
 "cookingsymbols.source-1.1"="z7r8n2lhgaqzgpx0jz8xq4sd4zzigbs9";
-"cormorantgaramond-3.00"="n1zswym4jgqhsj65z8kngkfad1djyba5";
-"cormorantgaramond.doc-3.00"="ph1qspmc6h6axlhvw5rb4c1kb6znigzk";
-"countriesofeurope-0.22"="ny6fpxydc2jzy4vh68syhnyj0x445dxw";
-"countriesofeurope.doc-0.22"="f2k3m0rfp1psfim1y1i96d20vbcrisxw";
-"courier-scaled-2018"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
-"courier-scaled.doc-2018"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
-"crimson-2018"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
-"crimson.doc-2018"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
-"crimsonpro-2018"="xr72b43wx05irj97by4sd6fgllh2as9q";
-"crimsonpro.doc-2018"="y94fsgdq4pwqkbcn42ds3qad1xg50mqc";
-"cryst-2018"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
-"cryst.doc-2018"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
-"cuprum-2018"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
-"cuprum.doc-2018"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
+"cormorantgaramond-3.00"="52jsmiiw30hrj3501y6rxy798903xqaf";
+"cormorantgaramond.doc-3.00"="zs9669ryf0v4nrm8q40g18vz60m5sl0k";
+"countriesofeurope-0.23"="12hskf06qcaaq2ngadchixzg58sq1v55";
+"countriesofeurope.doc-0.23"="z2rmvqi92b23rwk5msp5zyqa27x8x70n";
+"courier-scaled-2019"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
+"courier-scaled.doc-2019"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
+"crimson-2019"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
+"crimson.doc-2019"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
+"crimsonpro-2019"="232xj0064ymrjjzbx1c31hmmx2mf0idv";
+"crimsonpro.doc-2019"="ifc4l8cz8mqk2jll5cfwl5225fvllpci";
+"cryst-2019"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
+"cryst.doc-2019"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
+"cuprum-2019"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
+"cuprum.doc-2019"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
 "cyklop-0.915"="5ksv3v36mc6557jckr5gk22pbqr30wnr";
 "cyklop.doc-0.915"="d85643zgnh0r0j53gfpi84qsx4694xpv";
-"dancers-2018"="qlpshkppzr84rr3smqpwch5j11klm3a7";
+"dancers-2019"="qlpshkppzr84rr3smqpwch5j11klm3a7";
 "dantelogo-0.03"="iiqbbimigxpj8kg628sj694xha98q0fw";
 "dantelogo.doc-0.03"="d42k8bqdvp20af1wzilbcjfd1b7ywim5";
 "dejavu-2.34"="90lkxdpj8ihrs68355fal0h0a1dp3v67";
 "dejavu.doc-2.34"="2v6nhxrkny5haczrpvqjzcal7bixngas";
 "dejavu-otf-0.04"="ssbkk7plshbikfmxsm8fhs860c921ri8";
 "dejavu-otf.doc-0.04"="h5xkf02syyclkizh6xhxha96ay14f3kb";
-"dice-2018"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
-"dice.doc-2018"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
-"dictsym-2018"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
-"dictsym.doc-2018"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
+"dice-2019"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
+"dice.doc-2019"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
+"dictsym-2019"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
+"dictsym.doc-2019"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
 "dingbat-1.0"="9yc0zy6qlxi9zmpyi3wd5irgq89shanr";
 "dingbat.doc-1.0"="z4km9f9xrw1n44ylh16872lzq8r4zvy4";
 "dingbat.source-1.0"="rq7v2cny05d4f8bkxbs2z6kj36q5bwfd";
@@ -901,49 +918,48 @@
 "drm-4.4"="i8782x71pbzgag927fqjqgw2w7zdisvj";
 "drm.doc-4.4"="vs4rq0w6c2yyyzv4g4qk1pn25z0czs8l";
 "drm.source-4.4"="g1n0k02ma60mrb12cdq20qfw8khgdpmm";
-"droid-2.1"="0l4lmkxp92l2a36n7hy75hsl3iafdxjd";
-"droid.doc-2.1"="0pd2n8l6rsxv4m3ni74q5xzqiaiph133";
-"droid.source-2.1"="mfz3ac4jrl5x53ak5473ri39srd9gvkr";
+"droid-3.2"="9r4y9qywb92m9jsc2wq0x9gpj13l1qdk";
+"droid.doc-3.2"="7imljgs9xh8zavab0kh5bj0fdgvf8pq1";
 "dsserif-1.00"="8iq2vinr2pnpasv54rih1fy8majnq0x6";
 "dsserif.doc-1.00"="0a4vccbhpq9amjcc005v1z3ilipr2d9g";
 "dsserif.source-1.00"="yawadjy2742rvvkp232zadkjsij8ja3m";
-"duerer-2018"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
-"duerer.doc-2018"="75dd80vmi5wx804zkrq48z12y3alihqc";
+"duerer-2019"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
+"duerer.doc-2019"="75dd80vmi5wx804zkrq48z12y3alihqc";
 "duerer-latex-1.1"="nwigxc3gb4phmv584bma819dcrrafsmx";
 "duerer-latex.doc-1.1"="9nkvhaa662x9la2spm3iwmni9bj86kll";
 "dutchcal-1.0"="6gpi804yy8xyiznzwyy2nqg7qvq6q2rd";
 "dutchcal.doc-1.0"="s0m4n06xg8h0jmlj31w27la569vkl1im";
-"ean-2018"="m0gkapni85n6zw1armbn1y770n8aj0rm";
-"ean.doc-2018"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
-"ebgaramond-2018"="3zi0xn9nw3gwc2ph7vcqp00lm3x9x6ic";
-"ebgaramond.doc-2018"="fzlgw2zyq7wphk4va05yjlwxbnjdakqg";
-"ebgaramond-maths-1.1"="gkmdw2r9w43z1yfl1gp0cbsm0s2wi4a0";
-"ebgaramond-maths.doc-1.1"="x80h1zs21mnipvpzkcg72g2sjvib1zvz";
-"ecc-2018"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
-"ecc.doc-2018"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
+"ean-2019"="m0gkapni85n6zw1armbn1y770n8aj0rm";
+"ean.doc-2019"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
+"ebgaramond-2019"="albamgmnphchg44q9yzqf6ggm37kqji2";
+"ebgaramond.doc-2019"="1q1pmanzxdjnzqicpin5rfb5jnhad649";
+"ebgaramond-maths-1.2"="7xa6g5hnnl2ry0v3gf0s33p6l3qqn3ds";
+"ebgaramond-maths.doc-1.2"="2l73rdm7kwy43k9z4fwnxlvd7prca25a";
+"ecc-2019"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
+"ecc.doc-2019"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
 "eco-1.3"="7ycccps2kab77rr3cpwsbpi2cpl40kl7";
 "eco.doc-1.3"="1r1jxijx9wk6q2124xjwrmsjps7446fp";
 "eco.source-1.3"="4kcml0rm4pkg827qpfvhywnzrrx5p7dz";
-"eiad-2018"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
-"eiad.doc-2018"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
+"eiad-2019"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
+"eiad.doc-2019"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
 "eiad-ltx-1.0"="0zq83567n75h8zxlag2qas2q8li6vyqn";
 "eiad-ltx.doc-1.0"="7kymr597yg8j8291gy7jz16a89aqmqny";
 "eiad-ltx.source-1.0"="illi6i1hp4lmx7ylxazrmmzi89ymh9cs";
 "electrum-1.005-b"="6hdyjv1dakcj5zxn6p8rrksdvc7jl0sb";
 "electrum.doc-1.005-b"="c11jl0zjq8nva5nl96p9qyq3nrvgx0zn";
 "electrum.source-1.005-b"="67i1gwyiwwarncpbnj47fmws4dc42bii";
-"elvish-2018"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
-"elvish.doc-2018"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
+"elvish-2019"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
+"elvish.doc-2019"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
 "epigrafica-1.01"="mc08k5ajn2lr4k30lzhsn2si922frq9c";
 "epigrafica.doc-1.01"="vv1fqij6w2fir3myffcafyyrdckvvi4q";
 "epsdice-2.1"="xbz7jkdzzsqrskdi4vhb0ra7m62hk9q1";
 "epsdice.doc-2.1"="7lc7wwfxwxnjfgf13br3wa6n8j25ml6w";
 "epsdice.source-2.1"="6px6gazxv7pr9cagfrg7mzx1w3z2nxn3";
-"erewhon-1.091"="06r1cb0lyzfqg2zam1jd2qk392xgp0xi";
-"erewhon.doc-1.091"="1m5zrq77wmp1dj25biip6q844xgyy2p8";
-"esrelation-2018"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
-"esrelation.doc-2018"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
-"esrelation.source-2018"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
+"erewhon-1.093"="fq4wkxfwqd9nma3zql6pilga4rfxcff4";
+"erewhon.doc-1.093"="jlj4fyri1h8hfqxs1f65ri5vgblvxpzj";
+"esrelation-2019"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
+"esrelation.doc-2019"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
+"esrelation.source-2019"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
 "esstix-1.0"="0ddmfrgh39pwcd2n8rggma4pqwgamp7s";
 "esstix.doc-1.0"="5pf3r0xhssrgkp779n06a63yjb5cdg6a";
 "esvect-1.3"="dd9wb3zgs99s93z0jig2z5pwccxh3vvk";
@@ -952,163 +968,175 @@
 "eulervm-4.0"="ica20j8a3ljzxrmp03k60y6f4kpcbiy2";
 "eulervm.doc-4.0"="g5fxzw7dvnff2w9ys2gpgnvr2x8dabx6";
 "eulervm.source-4.0"="ifvn5n0dvcr4qpcv1yp4xvnx9lj26krg";
-"euxm-2018"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
+"euxm-2019"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
 "fbb-1.14"="ai9024x530swbm9r2lnfps5qijy0rvsq";
 "fbb.doc-1.14"="34dvrfj52ylz45x9kj80p1i61iyyffvc";
 "fdsymbol-0.8"="hx8wp66hsznj0sj8jkz0vdah0bp9vvyb";
 "fdsymbol.doc-0.8"="n457nji3718qh1nrjr9wbj9zqj21nkw0";
 "fdsymbol.source-0.8"="3n6d2j9wh5cxakdmxg087mznnrdkjw27";
-"fetamont-2018"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
-"fetamont.doc-2018"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
-"fetamont.source-2018"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
+"fetamont-2019"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
+"fetamont.doc-2019"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
+"fetamont.source-2019"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
 "feyn-0.4.1"="mb9rzhjkx06m1yv6knnfx59if98wda3n";
 "feyn.doc-0.4.1"="hz41vacil1r726v0f6k2fjpn7zky7xrz";
 "feyn.source-0.4.1"="lqz2b6w4z325ba7mq42aj0brw2hpx01z";
 "fge-1.25"="59jqqyl11vinxa29f6gmalv30q6zfbzi";
 "fge.doc-1.25"="49bgdsclk4zlpdfj9pimffpr4qkd2z7q";
 "fge.source-1.25"="ak2gj4nk82ya7dfbi2vwp60lvnqlvnzl";
-"fira-4.2"="8xshjg5hqnb0imcwl07hmjw814y3q6by";
-"fira.doc-4.2"="sy0k4n6gi080pcjsz665jk8213vivhw4";
-"firamath-0.3.1"="fm5inpqg54hnz1nkwz5ris6i18skq61k";
-"firamath.doc-0.3.1"="q59rhylmhdy2dsvyy8gn92vqqy68rpsl";
-"firamath-otf-0.01"="8mz44bwd3l1g84griynf0ri0f82chib0";
-"firamath-otf.doc-0.01"="6zf28g1a71khml1m4m9ldxw0d4k3ljh1";
-"foekfont-2018"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
-"foekfont.doc-2018"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
-"fonetika-2018"="firgrcsksy4jdk632aqfwlaki3xxgmak";
-"fonetika.doc-2018"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
+"fira-4.3"="szqwp685dh828hs8w032cq48p8inaar6";
+"fira.doc-4.3"="6yfabm4jjy7fyvzm8gkw61crj0b5h7vq";
+"firamath-0.3.2"="04mhb3w3kymxi51100l1nxsv5pl9y6fh";
+"firamath.doc-0.3.2"="9xldfkq7q07rs5y64aj2zbngj31s65pc";
+"firamath-otf-0.02a"="8va0xil2r5i2bjmmv7xj39jbk9j8l9d8";
+"firamath-otf.doc-0.02a"="0i3j6rfpa5jahxipwa5ibfkh4x7vhz48";
+"foekfont-2019"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
+"foekfont.doc-2019"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
+"fonetika-2019"="firgrcsksy4jdk632aqfwlaki3xxgmak";
+"fonetika.doc-2019"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
 "fontawesome-4.6.3.2"="0n13dha58d0w511pzzckcq51fal6zxgl";
 "fontawesome.doc-4.6.3.2"="x7hzlyxv5k2zjz5lk8hy15pnvbhhhijj";
-"fontawesome5-5.7.0"="vq1g1w761gxmvlv5nlhv8mffrdx8k0if";
-"fontawesome5.doc-5.7.0"="2b9kgf3nay035sg1lc7njdln6wxl1swj";
-"fontmfizz-2018"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
-"fontmfizz.doc-2018"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
+"fontawesome5-5.9.0"="xm37wzc60g5rdg16srmq5g7miprlqq5b";
+"fontawesome5.doc-5.9.0"="25mnrvnak9dr7j142lk77ycrl72jhqnk";
+"fontmfizz-2019"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
+"fontmfizz.doc-2019"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
 "fonts-churchslavonic-1.1"="3d67nxsgrrv480997rlbrzz5siyb2gvj";
 "fonts-churchslavonic.doc-1.1"="arcilr5n1w0rg97zkxy162kx21ygns31";
+"forum-2019"="nk35nrq1d7yilp3jps95zdrajxzb2kdh";
+"forum.doc-2019"="ba7bz482qb17yxxciawg01il4798v185";
 "fourier-1.3"="rl6alzjlkyyhhk0gbra08b99fb3aax85";
 "fourier.doc-1.3"="6b2bnjvp45lqxmjbp0pj5yd4m39kgg6y";
 "fourier.source-1.3"="dcl6cw6vfsd0xjpic29161iswkv52gm4";
-"fouriernc-2018"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
-"fouriernc.doc-2018"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
-"frcursive-2018"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
-"frcursive.doc-2018"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
+"fouriernc-2019"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
+"fouriernc.doc-2019"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
+"frcursive-2019"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
+"frcursive.doc-2019"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
 "frederika2016-1.000_2016_initial_release"="bl8g27dfv6xsqfwlr2i6w9yar7916qnn";
 "frederika2016.doc-1.000_2016_initial_release"="ncd2plzgwdwcv1many94alkvbjh7xjf6";
-"garamond-math-2018"="dgxryvlk911pqsy6j7yycqhmbllmnhbm";
-"garamond-math.doc-2018"="dmk1l4fnkqlvx4ff3wd45aray4s374fn";
-"genealogy-2018"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
-"genealogy.doc-2018"="7115cwa2l6nsnyijcdik7kw513q3a41h";
-"gentium-tug-1.1"="icijmw31g5lsgqlkam4d6z33fzprpxi8";
-"gentium-tug.doc-1.1"="i9l2xy7kwymvrzhzd1p17qgq3n3s4ay0";
-"gentium-tug.source-1.1"="fjd2j35fn1jbl3zw6nix2hz6mbbcr6m5";
+"garamond-libre-1.1"="rcbndbzsxxs01mibalvyclkrgvp8saqh";
+"garamond-libre.doc-1.1"="hacrmaazg60scpg4wx7387xr3bi1gam8";
+"garamond-math-2019"="dgxryvlk911pqsy6j7yycqhmbllmnhbm";
+"garamond-math.doc-2019"="dmk1l4fnkqlvx4ff3wd45aray4s374fn";
+"genealogy-2019"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
+"genealogy.doc-2019"="7115cwa2l6nsnyijcdik7kw513q3a41h";
+"gentium-tug-1.1.1"="gdd212mv253371hvn1bxlr2q863qzy3m";
+"gentium-tug.doc-1.1.1"="02avjmn2f3hlr18688rn12y1f5qc68ff";
+"gentium-tug.source-1.1.1"="k50zhzwymzygzqf7xywv4bzz47vw5hxs";
 "gfsartemisia-1.0"="98gdcspx1jqdry7iiq7mgxxmicl57zz0";
 "gfsartemisia.doc-1.0"="drbwq4z57xl8748mwmy86j97ycs3b16a";
 "gfsbodoni-1.01"="dzcgyjfwabmywpi5zkac7lbf88jzsbpj";
 "gfsbodoni.doc-1.01"="cbw698q7jmg09k301zwbnnqig853c14i";
 "gfscomplutum-1.0"="bic1cr1c3dii9nlfmhlgsm6rpj3g0im7";
 "gfscomplutum.doc-1.0"="ddz279xl7glgi201dizr2gdkcgiy77qz";
-"gfsdidot-2018"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
-"gfsdidot.doc-2018"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
-"gfsneohellenic-2018"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
-"gfsneohellenic.doc-2018"="04y313wjm59sgg4xlnili0kfw3dwljp9";
+"gfsdidot-2019"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
+"gfsdidot.doc-2019"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
+"gfsneohellenic-2019"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
+"gfsneohellenic.doc-2019"="04y313wjm59sgg4xlnili0kfw3dwljp9";
 "gfsneohellenicmath-1.0"="l1san6zqbd1r2r2j0zp81i723jpqyqzf";
 "gfsneohellenicmath.doc-1.0"="pj6lv282l62rz9yb4mlk6w07n0ncz0vn";
 "gfssolomos-1.0"="wq24prphxxnn94n0nd4xmrf23f5yqchp";
 "gfssolomos.doc-1.0"="rq87k1bymgyb837k103ps50w9krmxca8";
 "gillcm-1.1"="42vc5sx8shjzqkc10qv7gyq9689bzlgq";
 "gillcm.doc-1.1"="4rmm7nn5z0bw3qgn8gfkl86bblkvkh6g";
-"gillius-2018"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
-"gillius.doc-2018"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
-"gnu-freefont-2018"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
-"gnu-freefont.doc-2018"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
-"gnu-freefont.source-2018"="716drmmfwyq7pabpgagk0zwkj77lrhda";
-"gofonts-2018"="zpgjyb4435mfsjdk5n2c1c2nyqqix88f";
-"gofonts.doc-2018"="dzy2jb8iyr227sil5wj14sxv5v1w95bc";
-"gothic-2018"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
-"gothic.doc-2018"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
-"gothic.source-2018"="6gh7hma17066gk20ri4qjvml8d424c1h";
-"greenpoint-2018"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
-"greenpoint.doc-2018"="xf889ii8gmck30vlpwkfp7d9242ivffr";
-"grotesq-2018"="rqv47whzwig31vfd8581ncd87ja7pb82";
-"grotesq.doc-2018"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
+"gillius-2019"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
+"gillius.doc-2019"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
+"gnu-freefont-2019"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
+"gnu-freefont.doc-2019"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
+"gnu-freefont.source-2019"="716drmmfwyq7pabpgagk0zwkj77lrhda";
+"gofonts-2019"="gd9n6q1il2jfwz6hjp5hag2gkpr2mhl5";
+"gofonts.doc-2019"="4r2jm1373lkk3j89i9clb528dj04lmly";
+"gothic-2019"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
+"gothic.doc-2019"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
+"gothic.source-2019"="6gh7hma17066gk20ri4qjvml8d424c1h";
+"greenpoint-2019"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
+"greenpoint.doc-2019"="xf889ii8gmck30vlpwkfp7d9242ivffr";
+"grotesq-2019"="rqv47whzwig31vfd8581ncd87ja7pb82";
+"grotesq.doc-2019"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
 "hacm-0.1"="jvhbypj31pcc0imgwlmzpv8nmb1n9dxk";
 "hacm.doc-0.1"="0dys4q83mfgxlwrz16fsm2cx2vgcn5ly";
-"hands-2018"="570kl4m7mximvq87lfqa6fim30hmjjqz";
-"heuristica-1.09"="s1khk82w1g5q53iaj29viqgi1bssfvx2";
-"heuristica.doc-1.09"="vlm8a9a4g4vbqiana67r4dfyv3g1fk0b";
-"hfbright-2018"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
-"hfbright.doc-2018"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
+"hands-2019"="570kl4m7mximvq87lfqa6fim30hmjjqz";
+"heuristica-1.092"="9y69nm9nw275afi7qzdlm6rr207rq1xd";
+"heuristica.doc-1.092"="kyhkr5x04gs4k2pqgnhysgdg9wk96s1h";
+"hfbright-2019"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
+"hfbright.doc-2019"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
 "hfoldsty-1.15"="79zmah1m2xg56m7cvfybzw68kbfcf5c5";
 "hfoldsty.doc-1.15"="16gmfqd9kwg0isf4wp1nlndfwn5132ph";
 "hfoldsty.source-1.15"="vyly65j4d7wl49gmm8wgpxrnv1s2ygq2";
-"ifsym-2018"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
-"ifsym.doc-2018"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
-"imfellenglish-2018"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
-"imfellenglish.doc-2018"="g7r6rv584d412gqassqba30jfg3i1490";
-"inconsolata-1.114"="r6sxw4pcb3vf4fh08kcima6r18rk53cl";
-"inconsolata.doc-1.114"="277jxifzxdi2dvxxcbxa5hkpiq03af1z";
-"initials-2018"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
-"initials.doc-2018"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
+"ifsym-2019"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
+"ifsym.doc-2019"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
+"imfellenglish-2019"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
+"imfellenglish.doc-2019"="g7r6rv584d412gqassqba30jfg3i1490";
+"inconsolata-1.121"="wk0j1458yhq5r1zl03qlb3gbzm0dwfb3";
+"inconsolata.doc-1.121"="iyjsfc6sgi4g6k3vljlmdjr6arvm09bn";
+"initials-2019"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
+"initials.doc-2019"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
 "inriafonts-1.0"="v2z21gr8glh8557carc8405d39h9yxyq";
 "inriafonts.doc-1.0"="dq2aix14cqch32dywqyka5ci8qn31ayw";
 "ipaex-type1-0.5"="pzqc88hkzspswvgps1bswsn6khablb87";
 "ipaex-type1.doc-0.5"="xls1iggs58i1mnpc79fp15v1f1i59h3y";
 "iwona-0.995b"="l8pylg2zq5pvxs7czq17b3v1xpar4qkr";
 "iwona.doc-0.995b"="piyd7fk40bqwdb3fxshkcwwrdi8gra32";
-"jablantile-2018"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
-"jablantile.doc-2018"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
+"jablantile-2019"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
+"jablantile.doc-2019"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
 "jamtimes-1.12"="mdyyd5fy4hhi74rpc5hb7bmrxwdsk9k9";
 "jamtimes.doc-1.12"="c9849k8v23lrfrchf00yvrvq5q7g1gq0";
 "junicode-0.7.7"="s9grb6y7k5mxsfaxxyp1aj8c289cdb2r";
 "junicode.doc-0.7.7"="b66ag5n2apfdkwlhqsvg6aq1p8pdbiyn";
-"kixfont-2018"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
-"kixfont.doc-2018"="xp8ai67z856fmkzcssavksidg7n7j2yj";
+"kixfont-2019"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
+"kixfont.doc-2019"="xp8ai67z856fmkzcssavksidg7n7j2yj";
 "kpfonts-3.33"="rsl5v8zsm8pblyjryw3f14svxjzhnchm";
 "kpfonts.doc-3.33"="rr7q8ww1nkpzqy29xmxhsyizszf59mqx";
 "kpfonts.source-3.33"="448xjy1djbz9l9wbhmq7r6fpgvsn9dyy";
 "kurier-0.995b"="dadp8vkzvblj60424k75bchravcr0338";
 "kurier.doc-0.995b"="a4hw3w7qg492qnf4kivjsdfxqyrq669b";
-"lato-3.0"="cay4x21jfm7mzs18f21ymwaa3gbqpdiz";
-"lato.doc-3.0"="kh4a3qzwkrvx3my0qx0vxk4c5ixfz3ag";
+"lato-3.3"="5cl837pwnp1zd7h8w5j7cwqpvf6pmik6";
+"lato.doc-3.3"="fjxgmfdin3rrl6dn338f9ss9729napxr";
 "lfb-1.0"="kqspj6w9i4bzbxcngqdfk8rnw33j0yyd";
 "lfb.doc-1.0"="ikbhi6ahzxlplvizphmpimf9ah2ninqg";
-"libertine-5.3.0"="fli1yd0pyv6lrw407bsk2hvn6dhzch0c";
-"libertine.doc-5.3.0"="5xbcjdvjdby67zdkdk3g9lglbfar8bnl";
+"libertine-5.3.0"="9p4n4dm4l1vra87kfhipy4a9cvl1vcg7";
+"libertine.doc-5.3.0"="yp3dchk8j3vkmj4rfvvmc43r8sard2pg";
 "libertinegc-1.01"="jmz5hjyld04g175sgg322lrlazcbmbz7";
 "libertinegc.doc-1.01"="qf8q9c30ljq44kqh8l855xdkq9i4w857";
 "libertinus-0.01"="q8ddwlppxzzmwfb6lzdcsix9kb4i61vr";
 "libertinus.doc-0.01"="y5didmz6809s0cfa8lnhhqfmbdshy9v6";
-"libertinus-fonts-6.6"="pqfswsq2q2a4ncgczqnkyyzjhh9jxxwx";
-"libertinus-fonts.doc-6.6"="0k0p5ypxxkqrhgy6w4mvck2gff1r7w39";
-"libertinus-otf-0.13a"="536krgyq7j4wdfjv92cdhnnym6fn86hx";
-"libertinus-otf.doc-0.13a"="g79h73qnf5rfjw9whing6hnqjf0ydkfx";
-"libertinus-type1-2018"="zb2iibs5w0rfr3jpiwb4bmgvzy1vsfdr";
-"libertinus-type1.doc-2018"="4qnz0xfzbk266n39wrfv2nljzwpklq6m";
+"libertinus-fonts-6.9"="mgg77ljqyvp9sx78pfjfyr875qz52h48";
+"libertinus-fonts.doc-6.9"="msqi6clqw8rxg5jzzysbs1nr9ivsqar3";
+"libertinus-otf-0.20"="6jkvz7v959d0gyvvd62f3mr0z0cckq6j";
+"libertinus-otf.doc-0.20"="lmdc9rj9620j7m0d1dh22jzibb07ymfz";
+"libertinus-type1-2019"="ji91vwfsyg1qgh8k96c9qh8ha8136dzw";
+"libertinus-type1.doc-2019"="g284knxnq9i7rm4cmqjfisv51cr7wqsw";
 "libertinust1math-1.1.9"="afqrfb41ndii7pm2ry6ydhhxbakr6k86";
 "libertinust1math.doc-1.1.9"="w485wvhpf2v60racrip2wysr21rgdaqy";
-"librebaskerville-2018"="2dc8cilcgmmp0wrla8ayyyh4khhh7lfl";
-"librebaskerville.doc-2018"="5yargvzlnq9sckyy629jzsmi17gb8h7n";
-"librebodoni-2018"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
-"librebodoni.doc-2018"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
-"librecaslon-2018"="rpnd5xnxi48r8xy7jiqaw0z62j2bgnsr";
-"librecaslon.doc-2018"="6n2yvfsmqybr3baq7njvdk4hv0rgwfll";
+"librebaskerville-2019"="2dc8cilcgmmp0wrla8ayyyh4khhh7lfl";
+"librebaskerville.doc-2019"="5yargvzlnq9sckyy629jzsmi17gb8h7n";
+"librebodoni-2019"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
+"librebodoni.doc-2019"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
+"librecaslon-2019"="1m4qqdc9s66mlzrh3zlnlf29rkm8qkhv";
+"librecaslon.doc-2019"="1xy6qdg2ca7lkqr3rnyxdwgijr5pg1s6";
+"librefranklin-2019"="f59w30bwjk8swggjwvnl3ba91gxdlnjs";
+"librefranklin.doc-2019"="g3ywhprd6x6lx2ym0869l6xrs8d7qd8q";
 "libris-1.007"="fi5cn5ag6zgprgc0iqgk4iln6kb8knv8";
 "libris.doc-1.007"="82p29lh7cbavrshdx4s0pvqpgbvb21d4";
 "libris.source-1.007"="gd4aiv3pxy5as8cwfy9m1f4a8jp7v6d1";
-"linearA-2018"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
-"linearA.doc-2018"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
-"linearA.source-2018"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
-"lobster2-2018"="lx95j46k68gz8jbcxam8a3xy4jgxy9jk";
-"lobster2.doc-2018"="psr2bid2fjynzfvwb4s86biamv1r6q9l";
+"linearA-2019"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
+"linearA.doc-2019"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
+"linearA.source-2019"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
+"linguisticspro-2019"="7g6x7p9w5fx3dg01c9xqzlrn7zvxyf82";
+"linguisticspro.doc-2019"="db4pdcspfhvjlydnhfqp157n6v3sd307";
+"lobster2-2019"="lx95j46k68gz8jbcxam8a3xy4jgxy9jk";
+"lobster2.doc-2019"="psr2bid2fjynzfvwb4s86biamv1r6q9l";
+"logix-1.01"="qr4r6n9rdr30ym97iv0rxn639xh4hpiq";
+"logix.doc-1.01"="ycvsbj23n717ffbdx3b775b66kja9cwy";
 "lxfonts-2.0b"="3s303f06r7561x3x38sy3c9nr80x8gdq";
 "lxfonts.doc-2.0b"="swgvazf325j99kjrcb94r8611fs6jmqv";
 "lxfonts.source-2.0b"="sxn1hl96bsg6ai8fafskxj8palg8vpk7";
-"ly1-2018"="ry7x1505pv1szprb9fi2x21s97m23ln2";
-"ly1.doc-2018"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
-"mathabx-2018"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
-"mathabx.doc-2018"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
-"mathabx-type1-2018"="z96jirmwabbav354qlyphhjvxnsgjqxl";
-"mathabx-type1.doc-2018"="yq8n84cpw8kqvqivham4pqxq1740z36w";
+"ly1-2019"="ry7x1505pv1szprb9fi2x21s97m23ln2";
+"ly1.doc-2019"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
+"marcellus-2019"="3cl1xsmz3m466smgxzm1apmpvda8kq78";
+"marcellus.doc-2019"="dqf1bhhl6lflp2qipkbi8nbd5ac7m1ri";
+"mathabx-2019"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
+"mathabx.doc-2019"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
+"mathabx-type1-2019"="z96jirmwabbav354qlyphhjvxnsgjqxl";
+"mathabx-type1.doc-2019"="yq8n84cpw8kqvqivham4pqxq1740z36w";
 "mathdesign-2.31"="30x7w3a7v1654a9n5mcj5kdak8i2qxw2";
 "mathdesign.doc-2.31"="sgp7bi4m5480jvsdj9n2pq933cfjkiqr";
 "mdputu-1.2"="6wr48jgiyfprwwrla53qshm2817zrmm2";
@@ -1116,13 +1144,13 @@
 "mdsymbol-0.5"="hjaz8ph3zrnl7x0545k3937yl5a0ghqh";
 "mdsymbol.doc-0.5"="g8m1964gq8gnn3cc3ij1iqhc4akwmc3q";
 "mdsymbol.source-0.5"="7hy2zpaw41c46i7kd4m65lhzgbpkn5xv";
-"merriweather-2018"="57d530k5j2lngknni5abyzls4nlaadpk";
-"merriweather.doc-2018"="wfsrrdn7gfh7ih5fqsd4lxy55hmc9wwh";
-"miama-1.0"="v8l2d3rkr08hpxbvb1yw18afbcr3mqb3";
-"miama.doc-1.0"="xwqi0jxadac5vxcv1zcn8irfmfi3c34r";
-"miama.source-1.0"="9qf3ffnir6bn31gcdzrp00bryijrmw5l";
-"mintspirit-2018"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
-"mintspirit.doc-2018"="w1ld9009591p4inkky5jfppjaiy0ja8s";
+"merriweather-2019"="d816wypw36p0wmyqkk4z7kyqqs586klb";
+"merriweather.doc-2019"="jzgrh95z11msb6m0yhbcjfxlnil40pwh";
+"miama-1.1"="w96rjiv6fhqv14lfl1w4rvlcy2z7x6dc";
+"miama.doc-1.1"="hs6gq60jbv0mvvfznhfrzz0g6s2l3rrp";
+"miama.source-1.1"="4khxj1rk9xzil5nlp19v7a9rxf9npq99";
+"mintspirit-2019"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
+"mintspirit.doc-2019"="w1ld9009591p4inkky5jfppjaiy0ja8s";
 "missaali-1.004"="yv5k1an5kf5fygdjphwyg34k7yxzhvfm";
 "missaali.doc-1.004"="dwrqnc25398agbnc9nqmmiviray9fgw3";
 "mnsymbol-1.4"="gmjs2ra3yb01bxw90gjdri3p6n7kbc6l";
@@ -1130,140 +1158,143 @@
 "mnsymbol.source-1.4"="7bf82bljx9w783jg3kibc5rn2l9j0ym2";
 "montserrat-1.01"="69sgwbg4w8kxgl2sixbx2p5l8x09m95i";
 "montserrat.doc-1.01"="qs93cxc3d97zzny9702zm5gydz9p45f9";
-"mweights-2018"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
-"mweights.doc-2018"="w719n3h6cg10izpzgcqd4n0i5gbm644a";
-"newpx-1.33"="g75hjs85b6c7zif95sqzqbl90ih3gjxy";
-"newpx.doc-1.33"="a0y2xwg9wwg5fgs24y5z9gixn91yk5i3";
-"newtx-1.554"="1lfwad5qwdz6jhbzfzgyzbw5dycibi3x";
-"newtx.doc-1.554"="zvalvkaa1bq8ncx4lwprm018dlh3w3fz";
-"kastrup-2018"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
-"kastrup.doc-2018"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
-"kastrup.source-2018"="13vj32k48f0ahs5694zrsvk953kxjrwc";
+"mweights-2019"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
+"mweights.doc-2019"="w719n3h6cg10izpzgcqd4n0i5gbm644a";
+"newpx-1.403"="kdm5i09f3qwvp0hl1frivfnirqnm2ghb";
+"newpx.doc-1.403"="zb2i33rif9gb4p9b33fqcrwcx6189qx9";
+"newtx-1.604"="5r6iq9rp4hri3z3aziwing41k795zy04";
+"newtx.doc-1.604"="lls627k613jbd6yw5q2qig6dx1czdcfv";
+"kastrup-2019"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
+"kastrup.doc-2019"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
+"kastrup.source-2019"="13vj32k48f0ahs5694zrsvk953kxjrwc";
 "newtxsf-1.051"="k228m8b49w8pxij91bgw6xb8ikwa5q6b";
 "newtxsf.doc-1.051"="4mn23hq7waqwd7n1b6p67pjgbck0vlaa";
 "newtxtt-1.055"="7v1rd11ryiynfmwzrmwywd2m9qc5i3fh";
 "newtxtt.doc-1.055"="zblj8j85biikhm989slz2hwbvkhq5yf2";
-"niceframe-type1-2018"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
-"niceframe-type1.doc-2018"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
+"niceframe-type1-2019"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
+"niceframe-type1.doc-2019"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
 "nimbus15-1.011"="b2vqxi65978p1bxnacgmd2z9jqlbfz8g";
 "nimbus15.doc-1.011"="gx3ij2574891g2s1b4i37dj294ccnpaa";
 "nkarta-0.2"="g55hn51ys8zd7in6c6z46mwva577s6qd";
 "nkarta.doc-0.2"="59na8icxp6l11jk6nsp53c1y5gqyjsff";
 "nkarta.source-0.2"="jqh4ghyi8ry5w9x909w3kscg9p6m1279";
-"noto-2018"="adkh5ar851rk3ixyj38d13k10saharba";
-"noto.doc-2018"="4yxz878ihhxn2q27k4lk9l2s3gr327i2";
+"noto-2019"="cwbxgh84c1a2vm9n2rxcc0jmh0mpa5p1";
+"noto.doc-2019"="izii3yn2m788xyn3bs65542ij801psip";
 "obnov-0.11"="49j5a74f298hw84np3ih4xd0hnh6r1wh";
 "obnov.doc-0.11"="m9c4z3ckj08ai2cdb3hhiv040y6n1bfl";
-"ocherokee-2018"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
-"ocherokee.doc-2018"="p9lx15xl112908b004y0y6nlfxzgam24";
-"ocr-b-2018"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
-"ocr-b.doc-2018"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
-"ocr-b-outline-2018"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
-"ocr-b-outline.doc-2018"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
-"ocr-b-outline.source-2018"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
-"ogham-2018"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
-"ogham.doc-2018"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
-"oinuit-2018"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
-"oinuit.doc-2018"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
-"oinuit.source-2018"="caij5pbyylnhlhx149kl2h5sj4qda57z";
+"ocherokee-2019"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
+"ocherokee.doc-2019"="p9lx15xl112908b004y0y6nlfxzgam24";
+"ocr-b-2019"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
+"ocr-b.doc-2019"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
+"ocr-b-outline-2019"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
+"ocr-b-outline.doc-2019"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
+"ocr-b-outline.source-2019"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
+"ogham-2019"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
+"ogham.doc-2019"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
+"oinuit-2019"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
+"oinuit.doc-2019"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
+"oinuit.source-2019"="caij5pbyylnhlhx149kl2h5sj4qda57z";
 "old-arrows-2.0"="7s0s5g2vif8hkzj768a0zgg46xjh57y6";
 "old-arrows.doc-2.0"="n9ly98pmz304gymkiafs3fncs9qq29mb";
 "oldlatin-1.00"="dw53za52apri5agrh2jpxrw0qvnk1mbd";
 "oldlatin.doc-1.00"="ngf614psg11qa2gmda30c6an4f371lda";
-"oldstandard-2.2"="iqi5gsgi0n4hzwaxwz00vz2wq43xhfgk";
-"oldstandard.doc-2.2"="vh7gsp5wf33yzfmdklh41nl0dlrn9vwb";
-"opensans-1.2"="96p8jrsz9bp7lmyvi1yyq8k6g8x7041h";
-"opensans.doc-1.2"="6wh2f3idlc9s717la12bhj92xwniyd1j";
-"opensans.source-1.2"="4idpv3dnr2p81jrbdfxqxanyyzgaxbrc";
-"orkhun-2018"="fmazxvhmc0r0m96ms6a234wj139g00iy";
-"orkhun.doc-2018"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
-"overlock-2018"="xnfcanjszrd5bdrdszdy0lj4d73wb7jg";
-"overlock.doc-2018"="08zkifgzjdfcb9q85dz0xi7q5q558aq0";
-"pacioli-2018"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
-"pacioli.doc-2018"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
-"pacioli.source-2018"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
-"paratype-2018"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
-"paratype.doc-2018"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
+"oldstandard-2.4a"="y4af7d3f3d1k8c8k26cq3j0vyz8h4n1y";
+"oldstandard.doc-2.4a"="189m5n4hb7hq50fpj0401mpfib738g2p";
+"opensans-2.2"="a68ghfiy4iiv9n6z78s956grswbdyf4k";
+"opensans.doc-2.2"="c70nwprgs35f2a7bvabdbsnmkayxyvd3";
+"orkhun-2019"="fmazxvhmc0r0m96ms6a234wj139g00iy";
+"orkhun.doc-2019"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
+"overlock-2019"="54p5y0zlnv9csly2qwl6lrv69lin5611";
+"overlock.doc-2019"="x3q8m3py3np069p90a616z26a2jv7ffd";
+"pacioli-2019"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
+"pacioli.doc-2019"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
+"pacioli.source-2019"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
+"paratype-2019"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
+"paratype.doc-2019"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
 "phaistos-1.0"="5vv58ibkgjmpih67p2qgm9vdiqh4ag6m";
 "phaistos.doc-1.0"="z69jyiz7nm44yg9qy5vfhrzwby903g3s";
 "phaistos.source-1.0"="clhmyfpd5l1zx29352smmnyhal3lpa5q";
-"phonetic-2018"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
-"phonetic.doc-2018"="xa7kxz7lh1sqmb6x9n4sh7bjpr9mvzqp";
+"phonetic-2019"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
+"phonetic.doc-2019"="xa7kxz7lh1sqmb6x9n4sh7bjpr9mvzqp";
 "pigpen-0.2"="d6rr06gpzr27134dqh8rv6h6g4i9hg4x";
 "pigpen.doc-0.2"="gqnp68lkhnnyh1ib0sa34cxjg52jj0rs";
-"playfair-2018"="1rmwab0wdfbivgzkjkdlnkm57bvccgw7";
-"playfair.doc-2018"="2aaqnm4gmjl2g1v4a046hlx90xjwb8jf";
-"plex-2018"="dvjx3jmbsbnc79914az1dlj2ns2nc0mp";
-"plex.doc-2018"="jxg0mvhpw34skxmqbb59x7v2bgx0smj8";
+"playfair-2019"="70y4jv653pcwv0s6rnmjz271saz179vn";
+"playfair.doc-2019"="v7jcyickh5fflqx8h2b7s307sx9zcg2l";
+"plex-2019"="wg42rjzqd27999sw5rg3xslysq0h262y";
+"plex.doc-2019"="1sh7f2g0q9idrp5df1qbbh0k9ifm1n2y";
 "plex-otf-0.07a"="2k3j1snsf3d414k4pjq56d9b1vn2vh1x";
 "plex-otf.doc-0.07a"="z6clw20q3nfwzn087f3c3ifc4g2yr4kp";
+"poiretone-2019"="isnd3cmsm0ps7dh40sjqiwa9vrpc1d19";
+"poiretone.doc-2019"="k2g9vk6snvf66n1g6x2d4hd2d1z6cghm";
 "poltawski-1.101"="ipqjw12syp38hj1pw4b9g03kx07l40vn";
 "poltawski.doc-1.101"="g3shi2lp499x96az1f77y5bf8mhrgzl2";
-"prodint-2018"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
-"prodint.doc-2018"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
-"punk-2018"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
-"punk.doc-2018"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
+"prodint-2019"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
+"prodint.doc-2019"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
+"punk-2019"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
+"punk.doc-2019"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
 "punk-latex-1.1"="i1gqgbivxd8yl1rwjbssf2g0ib9nvb57";
 "punk-latex.doc-1.1"="8nzibnm4247rapxb9kfkyv5i49w19ipk";
 "punknova-1.003"="0q3dx65cyb1kh2iwbs9if8p6943m3gw8";
 "punknova.doc-1.003"="hjlldk6yr4hjh4chwcxmzq761h1ygwnq";
 "pxtxalfa-1"="rapvsla1cgyinabn1w9cshpm3y5af13r";
 "pxtxalfa.doc-1"="fg8arijrsm7gc3liyf3036pj014w0243";
-"quattrocento-2018"="49ifrqysm27xbwqmy4k0h7k65gxk4c9w";
-"quattrocento.doc-2018"="3rbp50ihgm2bhv78xa7839j99m4q45qr";
+"quattrocento-2019"="isv4srm4yxgrn89hsx8if1224x6mbmai";
+"quattrocento.doc-2019"="qcz3715r89gpj53jcy69rzimbcqlzw2z";
 "raleway-1.4"="qyqkxw2r0kjdc5ccq6ixlsjgv75gcmhv";
 "raleway.doc-1.4"="kw13y1533fwj7lgjc986ydb97plij1vh";
-"recycle-2018"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
-"recycle.doc-2018"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
-"roboto-2018"="iv2x04afqkrbfjswxg4hgvba3hg6r2m4";
-"roboto.doc-2018"="qr7xcf2bia0v9d5l5c30xs8z5rr5lfxa";
+"recycle-2019"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
+"recycle.doc-2019"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
+"roboto-2019"="l8rcqx70vnwm438x3h6mh7ziglqw2c5x";
+"roboto.doc-2019"="dr5a7g26r4znmzy8j6fphky5dswdna8b";
 "romande-1.008-v7-sc"="v5sf9cqkvd7wmbrrb48dffi59m048kal";
 "romande.doc-1.008-v7-sc"="bf5a3jzcqr74l7qp2im80r9x73rk3asy";
 "romande.source-1.008-v7-sc"="g2p0didwlqqf9gsdzrhmh0f9543wdwwz";
-"rosario-1.0"="c9jlarr5wz2fyyhkndgxvq7npk59xk5m";
-"rosario.doc-1.0"="v521ckdibqy21cm5aagyiwfbzj63469v";
-"rosario.source-1.0"="zy5bkfdxj9j0gca23hk0d0vmbrnwv8h2";
+"rosario-2.1"="mhjqi8h40lfdhv9b0q1qzla4s577l0ky";
+"rosario.doc-2.1"="az8qmdmm2fsrwygfmp4rfklpbwnkzjqi";
+"rosario.source-2.1"="pyzgnc976vz8grb6dx3cwzkgxv2i11i8";
 "rsfso-1.02"="3n75qwpji7z995wb2r3dqwrszkw6m61m";
 "rsfso.doc-1.02"="vga3jyv3s730mgx97mqw92igvvypbyb4";
-"sansmathaccent-2018"="i74c6yiwx5g1ilgjw2i0wsf2ip5ym9dp";
-"sansmathaccent.doc-2018"="dxbr7vs0j710wz9ym4n7wb3930kcrccj";
-"sansmathfonts-2018"="27328mjiv4hp1d24c3yf9bw02602x3r2";
-"sansmathfonts.doc-2018"="wbkv1hkr1l7gdk3kxfjx4dxmzgjjin38";
+"sansmathaccent-2019"="i74c6yiwx5g1ilgjw2i0wsf2ip5ym9dp";
+"sansmathaccent.doc-2019"="dxbr7vs0j710wz9ym4n7wb3930kcrccj";
+"sansmathfonts-2019"="90f8gdxlqiqx6aw1nx0hfbmkrs6aw331";
+"sansmathfonts.doc-2019"="wcnhx85h99brrisdz8yb0m34mv5qsvd9";
 "sauter-2.4"="flw49y2l5355jpvq7f3q3vannwcfni3f";
-"sauterfonts-2018"="kciqmij0w173na214ix5yhngc18likch";
-"sauterfonts.doc-2018"="x2lc53r2wnwrjfainmngafdsg39zyf48";
-"sauterfonts.source-2018"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
+"sauterfonts-2019"="kciqmij0w173na214ix5yhngc18likch";
+"sauterfonts.doc-2019"="x2lc53r2wnwrjfainmngafdsg39zyf48";
+"sauterfonts.source-2019"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
 "schulschriften-4"="3g5c3l5mnpp3a6472ayj0iykriini807";
 "schulschriften.doc-4"="ad6v7vnksqfglwb18via23p45xm2hr81";
-"semaphor-2018"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
-"semaphor.doc-2018"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
-"shobhika-1.04"="1iqj5p7vljw0yv43i6y54s4ghbx3f662";
-"shobhika.doc-1.04"="5kn3dz79s0z5mr9k6an01j2p14bpfms2";
-"skull-0.1"="hv1lxixs6dv2sagmj4rnjpkhc4s2i3mj";
+"semaphor-2019"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
+"semaphor.doc-2019"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
+"shobhika-1.05"="rcrfsl2fd8mq929xv6zjlk91hmwvw85c";
+"shobhika.doc-1.05"="cb72lp8n0xrj4gvfhzy6mvr4jz44m27g";
+"skull-0.1"="4nkkh74v0mlyyriyhqwgk4la8l3mjxhj";
 "skull.source-0.1"="szzd5b98j04aj4f4aq5av7fs7316156m";
-"sourcecodepro-2.6"="md57f5a305c6w98036ll1lpi7qh84qq1";
-"sourcecodepro.doc-2.6"="bksqxgy7iax59nisn8zs6a1b5ig76r7q";
+"sourcecodepro-2.7"="yx2x3lbn1mc24xx25b4vpq03rbazdby5";
+"sourcecodepro.doc-2.7"="vqwr6xly6p3yds1la5cdn3c0hi95q2xk";
 "sourcesanspro-2.6"="z54yjkharb2lcq260in8q07d2d1s5w8n";
 "sourcesanspro.doc-2.6"="cwyk6i4sdl4iag4ggdxm0c3l8ndz7cd7";
 "sourceserifpro-1.4"="zxfp95p1ah6yv6n7p0bdsvnmrpm42kjl";
 "sourceserifpro.doc-1.4"="qg32lg4s8ba732ac5z3gzc6i7iy0mdls";
 "starfont-1.2"="phdad9yy6nvcxi7ym1chdvz0vvb309ag";
 "starfont.doc-1.2"="96h183mv5rmxmnkgy6766519cz5nff6g";
-"staves-2018"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
-"staves.doc-2018"="rn25a0syl0d0n89jp09906y30679mr7v";
-"staves.source-2018"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
-"stickstoo-1.031"="ma2xdqrncr72j3kvw0kzr5gp584vhs83";
-"stickstoo.doc-1.031"="j89hnynsnh38y3vj24l8w9zplzhmvjnc";
+"staves-2019"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
+"staves.doc-2019"="rn25a0syl0d0n89jp09906y30679mr7v";
+"staves.source-2019"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
+"step-2.0.1"="w2cbwwjf32bwlhlzpw09zi6zh3fwgqm5";
+"step.doc-2.0.1"="lsxp4rg609djqlz54izp8j2pgy5dyn8f";
+"stickstoo-1.033"="k0kj2930hby7wkrxlal4wr7ajagm9lnd";
+"stickstoo.doc-1.033"="mn4pm8hwyl39h1v7xkvhd8dghkbnwlk3";
 "stix-1.1.3"="sxfvkk30xb94rfby1kli4xny57xsbqv8";
 "stix.doc-1.1.3"="xa4z5gssrb74xsdc392ni8rww37c2phd";
 "stix.source-1.1.3"="m4csxq0wlzy246f1kgbd4n0sfgrcbnri";
-"stix2-otf-2.0.0"="v943m4w9f4yxkicccrr3zzggkjixgk76";
-"stix2-otf.doc-2.0.0"="jcd2cxyrfiak8zxs5zsq2fynsrjdhi82";
-"stix2-type1-2.0.0"="ni9mkzfp0f7f2nhvzcll5mzimfwlxcn9";
-"stix2-type1.doc-2.0.0"="dbr68916dyxfhglg00d5mrxz40p1cfzm";
-"stix2-type1.source-2.0.0"="c9ajhq2dinxzps5kb0h3czz0jjk6gy8q";
-"superiors-1.05"="yr7dyyyy1nd25d29i20yq0mpcxb9zj73";
-"superiors.doc-1.05"="bjisssimbzj3hc2l9qf91550kcq9d0r0";
+"stix2-otf-2.0.1"="285yjdyipk7zmqbxnxp3bd0y5bn3k7s1";
+"stix2-otf.doc-2.0.1"="dgvidfdad1dng5bydbpnh25iblahzgqj";
+"stix2-type1-2.0.0a"="jzv0fmvvibsa2kfgw0mbxqxjpwc01pwp";
+"stix2-type1.doc-2.0.0a"="nwaygsbapf3f8d00wkb7vyw93kj412xa";
+"stix2-type1.source-2.0.0a"="c9ajhq2dinxzps5kb0h3czz0jjk6gy8q";
+"superiors-1.06"="gw1aw7hc05xzywylps60lzgwif3gli7i";
+"superiors.doc-1.06"="m2ppyah3wrk61cvq149bsvdgrjww94yk";
 "svrsymbols-2.0b"="wgq0gxpls40hwxlbxw65ykap0zkw8y1d";
 "svrsymbols.doc-2.0b"="na04gi2mhbqlxyp4jajs65vn9gx0rgc0";
 "svrsymbols.source-2.0b"="3f15gcxzd2rm4m95ikwvpnvil128i71h";
@@ -1277,8 +1308,14 @@
 "tfrupee-1.02"="2srhr23mwajngahy1hcihhivix7x6af3";
 "tfrupee.doc-1.02"="pvmd0anqdv38a904hhafsr9mq5hy7f5d";
 "tfrupee.source-1.02"="sz4z2j5kzk9431pvdhj2l11b8qsw3mlv";
-"tinos-2018"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
-"tinos.doc-2018"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
+"theanodidot-2019"="wq3wrhkk66z3q327fq4mdv0lw8wghm4d";
+"theanodidot.doc-2019"="6c7za0972a3x9cqa4gmj9c42bz9k7hqp";
+"theanomodern-2019"="2mv2fh328c75bffssj0l8dgdkaq519lv";
+"theanomodern.doc-2019"="qs48kz3hqbh0wv36m5ph30za13wmss3x";
+"theanooldstyle-2019"="ww6kab8p4jm1wsvlsn7hydl2fa1s3nnf";
+"theanooldstyle.doc-2019"="pn7xnn9dq4i2b1wdrn2qqzx7dx9cqrcz";
+"tinos-2019"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
+"tinos.doc-2019"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
 "tpslifonts-0.6"="6d6zngl99bgbzqidn4249bv3p3ykz5pb";
 "tpslifonts.doc-0.6"="64fr89dkcr0zzxcmshmhpczvbc4byp22";
 "tpslifonts.source-0.6"="0267nah6ffiwph29ay6cpfl9zqm4vgbh";
@@ -1293,11 +1330,11 @@
 "typicons-2.0.7"="0mmcwr2xcx7hdb4yllndrzq7bxava3yb";
 "typicons.doc-2.0.7"="6bcmldiywvwfhknmdvpj8fdz0fmdizkp";
 "umtypewriter-001.002"="4k8n89mabkcc3pyc6vhj47hvxncz40zm";
-"universa-2.0"="m43cqqy103c1rh5yb8i756mm4nrmrizp";
-"universa.doc-2.0"="a5nmwpyz7v6zbk7s1pq883nb9mhn6ann";
-"universa.source-2.0"="5h127gz30jy4plcbhz11zk2az782v629";
-"universalis-2018"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
-"universalis.doc-2018"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
+"universa-2.1"="1hdi5bjzg9w8ipll8d3hdjxr23adcg16";
+"universa.doc-2.1"="pxdcwsm75lji29nggdy53wv4y96ixqjh";
+"universa.source-2.1"="adayns5x3p33i2apy5q7582ahl9kr5wq";
+"universalis-2019"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
+"universalis.doc-2019"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
 "uppunctlm-0.1"="snyyw4gj0736fqykkf94fhkp9d31ml9q";
 "uppunctlm.doc-0.1"="h6cblhxd6xb6nnp3szb0fwv1r7pdwg99";
 "urwchancal-1"="kk9r6rk48qqq9s8l4k42fgj6c84912bw";
@@ -1305,29 +1342,29 @@
 "venturisadf-1.005"="nnn3pq2sx0rayjhhsh2pyavkf7c4i7jw";
 "venturisadf.doc-1.005"="gjzclw11zah2cpmgjdpknflrfsaahq9h";
 "venturisadf.source-1.005"="6yz4vcq9mzzm52ca19kcvgj8fg7js28g";
-"wsuipa-2018"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
-"wsuipa.doc-2018"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
-"xcharter-1.116"="a83ilyarl6ffsbavkak3x41pbxmymyrg";
-"xcharter.doc-1.116"="qkl05i6wjyh0k7jk9773smgwcdwzxdxy";
-"xits-1.200.1"="lxqv0qpa0xgj7y69p37fncihvc4dbkwx";
-"xits.doc-1.200.1"="83xz61kkx67nfjf8kmnxfmxscbib0krv";
-"yfonts-1.3"="qfpb2c6anayf3k3bg105apscs3dj1xj9";
-"yfonts.doc-1.3"="z0rzdfjpqdj9q0bixf77j9jb95nix8bm";
-"yfonts.source-1.3"="cjh6cb3zhdsljlwdzd7yr6axbnc0v1fb";
+"wsuipa-2019"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
+"wsuipa.doc-2019"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
+"xcharter-1.201"="am3f3s0j1f89sln67zdv9fmaz7cyr5rl";
+"xcharter.doc-1.201"="v3vglfka075ws52w9fw1zn3r9awr6lxp";
+"xits-1.301"="p6p15xy3v136llbzrxhiyiqqjxjx9gzz";
+"xits.doc-1.301"="3qdj5y0g77l89xp1nijqr8kckm0257lg";
+"yfonts-1.4"="i2aacxlhsnkbgfb9i8p0sdwb57qv6gb6";
+"yfonts.doc-1.4"="lw30qiavn4l0ikg3hckps3swjch3wd6s";
+"yfonts.source-1.4"="rcvacgid92pk4m2mqy158gr20jax4835";
 "yfonts-t1-1.0"="b1j2a6sc3npjli2k0y02fgl87k5kq7xb";
 "yfonts-t1.doc-1.0"="say9m82dcmna0f9g1h4ng5ihjkpzwh00";
 "yinit-otf-1.0"="8dd8yhd7fy5wvsl9qnshkvm69g9wx1fj";
 "yinit-otf.doc-1.0"="7rhfxzlfdwl3g0bdlxwsyzzf83f24xx2";
-"zlmtt-1.01"="s9fvrrpb7d5d0590p37xzkky0x9536vd";
-"zlmtt.doc-1.01"="psz0nrmif6hfl96kjmqi0mpbdw1i710v";
-"avantgar-2018"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
-"bookman-2018"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
-"charter-2018"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
-"charter.doc-2018"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
-"cm-super-2018"="wqamwks565frzn4nf6pq9skasdx5jbmy";
-"cm-super.doc-2018"="246p6vn62gq68n7bnxh1iz258gn3wi85";
-"cmextra-2018"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
-"courier-2018"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
+"zlmtt-1.02"="46x1539n1kc2jqywf2jndg9dzq3zxrvr";
+"zlmtt.doc-1.02"="3yk18czbymf6kynf2ir44b8bh9jyirfj";
+"avantgar-2019"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
+"bookman-2019"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
+"charter-2019"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
+"charter.doc-2019"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
+"cm-super-2019"="wqamwks565frzn4nf6pq9skasdx5jbmy";
+"cm-super.doc-2019"="246p6vn62gq68n7bnxh1iz258gn3wi85";
+"cmextra-2019"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
+"courier-2019"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
 "ec-1.0"="kjq23jms9m9h5af2ri4bxd65w82lli3v";
 "ec.doc-1.0"="a8mvwdx6s8swxhagcc1p36dsy335fhby";
 "euro-1.1"="mpzw5yyqlyb864cqx4wczdnbln4sv4b2";
@@ -1340,46 +1377,46 @@
 "fpl-1.003"="m1b15fm8wc0lm0x9mbryz69x2dkczkmp";
 "fpl.doc-1.003"="bjc01f8vs5f3qj07my033203rn1na269";
 "fpl.source-1.003"="6rv41z6xg652nkli0flj3102na8k7k0d";
-"helvetic-2018"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
+"helvetic-2019"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
 "marvosym-2.2a"="pn8zahcj87ab0rgiz9inp97randgz890";
 "marvosym.doc-2.2a"="wqd4660d0s4kxgasi3gv09fbjnbqmwsq";
 "marvosym.source-2.2a"="zygnnzkxxsfxvhnkvkq4v6gis1k7lc6h";
 "mathpazo-1.003"="d950j9d7ywwx0air9b1awwxr0a7486qz";
 "mathpazo.doc-1.003"="zna30q1bzd255h9yjnf35ldaiql0b142";
 "mathpazo.source-1.003"="0ly3fqq1s2sf0zva0jx3llbwkqjm0jv4";
-"ncntrsbk-2018"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
-"palatino-2018"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
-"pxfonts-2018"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
-"pxfonts.doc-2018"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
-"rsfs-2018"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
-"rsfs.doc-2018"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
-"symbol-2018"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
+"ncntrsbk-2019"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
+"palatino-2019"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
+"pxfonts-2019"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
+"pxfonts.doc-2019"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
+"rsfs-2019"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
+"rsfs.doc-2019"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
+"symbol-2019"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
 "tex-gyre-2.501"="bh1inc34f90vb7wh0r9drdjalhwa71cw";
 "tex-gyre.doc-2.501"="8mvblk061marhxqwf21jssgpn9mgvqs2";
 "tex-gyre.source-2.501"="lqv1gkn02k8yr5n4c3h80sq30f9iggxf";
-"tex-gyre-math-2018"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
-"tex-gyre-math.doc-2018"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
-"tex-gyre-math.source-2018"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
-"times-2018"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
+"tex-gyre-math-2019"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
+"tex-gyre-math.doc-2019"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
+"tex-gyre-math.source-2019"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
+"times-2019"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
 "tipa-1.3"="h92fnvz5cv34vdyrpq52pn79z9lq6s0l";
 "tipa.doc-1.3"="s923q6n8h73f74y77cf171xj9w3mrd69";
-"txfonts-2018"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
-"txfonts.doc-2018"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
-"utopia-2018"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
-"utopia.doc-2018"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
-"wasy-2018"="m5fy0m7fkc0rb3alrvy7hv72659szlsi";
-"wasy.doc-2018"="ig05zmll75wy50l3cwpz51cl8p6prpba";
-"wasy2-ps-2018"="rfx65vba7w8kqvmf0ld02ydr7flyl17f";
-"wasy2-ps.doc-2018"="1ac408160y6br39063cswn8ahp2c9rq4";
+"txfonts-2019"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
+"txfonts.doc-2019"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
+"utopia-2019"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
+"utopia.doc-2019"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
+"wasy-2019"="m5fy0m7fkc0rb3alrvy7hv72659szlsi";
+"wasy.doc-2019"="ig05zmll75wy50l3cwpz51cl8p6prpba";
+"wasy2-ps-2019"="rfx65vba7w8kqvmf0ld02ydr7flyl17f";
+"wasy2-ps.doc-2019"="1ac408160y6br39063cswn8ahp2c9rq4";
 "wasysym-2.0"="zmiwhd64zrf8fa9v2iqch0ksj81q5r1n";
 "wasysym.doc-2.0"="a1qr9h6d7s46a074ckxygm9iwyycbyw9";
 "wasysym.source-2.0"="r9iq0wx65zmc2kp7880hw3ws73xb63xf";
-"zapfchan-2018"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
-"zapfding-2018"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
+"zapfchan-2019"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
+"zapfding-2019"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
 "accfonts-0.25"="vnff63f9g4z5bsgrila75lr6lhdl3jhn";
 "accfonts.doc-0.25"="5v97adjwkwxpy4dgw6qiankxfrlz67ab";
-"afm2pl-2018"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
-"afm2pl.doc-2018"="b6bcs2lmsj2xh4lkrh3mfvczkhk4x9hp";
+"afm2pl-2019"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
+"afm2pl.doc-2019"="4cvj0qi3h4d4ria1xig0i0v1dpplivrn";
 "dosepsbin-1.2"="f00pl9rcgapb03h76g4578za2p0awqh9";
 "dosepsbin.doc-1.2"="41pqpdppqi9658cacc0zhg72cp1pa00x";
 "dosepsbin.source-1.2"="0g1nbmyry93ikcgqhcyg48agnabnzpsk";
@@ -1387,57 +1424,57 @@
 "epstopdf-2.28"="45cbq50lfbqnlmfp19v43ipzk8pv1jrg";
 "epstopdf.doc-2.28"="ffp11ppmlcb9ri1jdmfjwnaf226j4icd";
 "fontinst-1.933"="ynk1l44cw00x0cxmfxvn0kwixgnaah4d";
-"fontinst.doc-1.933"="nc19g8lv38il2mdsapscni5wjdd0x0qh";
+"fontinst.doc-1.933"="dfb4pk5y5kp6ycfsvaxf07bg7h7v0czq";
 "fontinst.source-1.933"="cvbp2ml5kiq35qjnyzbpi8p7h1n5m2l6";
-"fontools-2018"="8fi57kgb17ra1jnmhlajfcrvq7n3jvm4";
-"fontools.doc-2018"="fv8xy2s78bjli4r2982hpfnmindrixp9";
-"fontware.doc-2018"="r6p049yn0yqiaar1jbsgiwhp267z3gvz";
-"lcdftypetools.doc-2018"="0bkwlj80cbl7abmy2qpwaapxdk3z2lz0";
+"fontools-2019"="cih36jq7ysk05hyfm34xn1mgyji95i5b";
+"fontools.doc-2019"="6q07zyw9h8lmrgibp9assa4aiqzilahl";
+"fontware.doc-2019"="2lq4pwncc80f0lh0x7s2a2c9kz9wjprn";
+"lcdftypetools.doc-2019"="z21jpfjpy1ckqk93fszqvwhig9l4a482";
 "metatype1.source-0.56"="infq9kahz9ljr5kk338xbww0g4ifg8cq";
 "mf2pt1-2.5a"="d57jv2y04fsln3q3znw2qi16j7dfq3ap";
 "mf2pt1.doc-2.5a"="gc2i9fp30877ycz5l3wgphwlg9kpfqp7";
-"ps2pk.doc-2018"="9nj49s76mr2ipx6jz8ylcaqdyykdfdr1";
+"ps2pk.doc-2019"="z5mvym7cids0yzvjpcc6s4zb04rspj0f";
 "pstools-1.68"="pqsq3y183pf9330bk78l7v42jxiywkga";
-"pstools.doc-1.68"="0hj3l8dxj5cvxnvz749c2x3mglbakg1q";
+"pstools.doc-1.68"="fxydcv5k21rfmwpbbhrv2c9fxf7966sd";
 "psutils-p17"="g8ci3q98i9cvpw1s7l3mqsv39wqx3gac";
-"psutils.doc-p17"="gc9r6cjrdyij203ja3bb307p9klvcaaj";
-"t1utils.doc-2018"="3mm2nd5paz5hs8rgv4yrf52v8k2cjdrp";
-"ttfutils-2018"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
-"ttfutils.doc-2018"="6k8ymd6lcnfdqgzndwqdq8qrvcjp37xd";
-"aleph.doc-2018"="1q20qyl154s5ysn0zi0mr16rgdlnzlsa";
+"psutils.doc-p17"="7dd0cf0q58xxr7mal5c30yalmhxya72h";
+"t1utils.doc-2019"="55a5hkn4ns0qyw961pklpk4jblsn9si6";
+"ttfutils-2019"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
+"ttfutils.doc-2019"="vsw2vdd372ll9fjmyc5hj04rnjjfbhp2";
+"aleph.doc-2019"="j2hsggqpjkn1g67g2klps5gn8sc6a21s";
 "antomega-0.8"="jxriw18jifvf24fz8nqql5izp67p8z5a";
 "antomega.doc-0.8"="q9jb5ks7gfxg5gjhkpng5bl0wwbwp2ph";
 "antomega.source-0.8"="l2gs7sapppwxiy712i8vkwfmmc96ch1s";
-"omega-2018"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
-"omega.doc-2018"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
-"lambda-2018"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
+"omega-2019"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
+"omega.doc-2019"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
+"lambda-2019"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
 "edmac-3.17"="29h8y4lna3sv0k7wqmbgrb0mvdxwz330";
 "edmac.doc-3.17"="il4k6vswcqp00005n0084nf99bwxp809";
 "edmac.source-3.17"="90wdkd3rhm8ymi2w9hb64acsy2bzqgg6";
-"eplain-3.8"="s7f9x73rzb5yf4b4hh5z74s8fymilfck";
-"eplain.doc-3.8"="77i8dzdl4pijzdxmv45nqlj61skvyqqd";
-"eplain.source-3.8"="xwq0gc7jb427nf5yjm77gfng5z56bpiy";
+"eplain-3.9"="r1jby527acphlk6g8l43jj6dprzhdan3";
+"eplain.doc-3.9"="c75qf1sh35qdxpkqm2gb2y7dxjjm09qy";
+"eplain.source-3.9"="grk0m4hjb0i8hb85fc0b37wrxszg6y1q";
 "jadetex-3.13"="79dd0y9m791m62b48pnkyw4352271a6d";
 "jadetex.doc-3.13"="ix7992xnb7xb1789n6d48dv98imfc4m2";
 "jadetex.source-3.13"="3716mhagkrr60rjj9whznfh3v5qwvyv9";
-"cyrillic-2018"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
-"cyrillic.doc-2018"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
-"cyrillic.source-2018"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
-"cyrillic-bin-2018"="h64b7gacxv96hbs0mjxx0s65s4z5znrh";
-"cyrillic-bin.doc-2018"="yjrn9kz1g0v8sz83l406mpk4fprxln0k";
-"passivetex-2018"="arr43134jllipw1jl9cbrgnnk1gav4d9";
-"ulem-2018"="cissyhv0gisjf9lpwzxm18ffwxmlnndy";
-"ulem.doc-2018"="b2hvc7p6b57q1qqn44pfrchxrb5ybzas";
+"cyrillic-2019"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
+"cyrillic.doc-2019"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
+"cyrillic.source-2019"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
+"cyrillic-bin-2019"="h64b7gacxv96hbs0mjxx0s65s4z5znrh";
+"cyrillic-bin.doc-2019"="zz9w85h992lmsvnqh7yq8a0az8ls2759";
+"passivetex-2019"="arr43134jllipw1jl9cbrgnnk1gav4d9";
+"ulem-2019"="cissyhv0gisjf9lpwzxm18ffwxmlnndy";
+"ulem.doc-2019"="b2hvc7p6b57q1qqn44pfrchxrb5ybzas";
 "lollipop-1.07"="c71n12rvjhafkq26bca7q7hxjy5b9xdv";
 "lollipop.doc-1.07"="18wdsl5kq7xwsqhr6v6ldwz66b8xk60z";
 "mltex-2.2"="kkc5ssb6rd3f4kig16sc30npjayw4ab2";
 "mltex.doc-2.2"="qqr7ia4wp66zgasb8sm0bd0qclw6zn7l";
 "mxedruli-3.3c"="f866q8w776cr7k7mxll72va7zb0avsl3";
 "mxedruli.doc-3.3c"="vhcvl3k5lzb1f0g0ghz1rf3cnsy0cp58";
-"omegaware.doc-2018"="kl4ws1z3avxn6hfcmf69q52dw7rppfi9";
-"otibet-2018"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
-"otibet.doc-2018"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
-"otibet.source-2018"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
+"omegaware.doc-2019"="hl3ciw90gj71dz23lwn2c2bzcgd20qls";
+"otibet-2019"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
+"otibet.doc-2019"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
+"otibet.source-2019"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
 "psizzl-0.35"="qx0mhll90g0l0aqzfsjqbn43gxfincyp";
 "psizzl.doc-0.35"="pd8v22iq76j5gkkv9k286yz9i71j8xcn";
 "psizzl.source-0.35"="9i1m36bp80bif8k74q7572j311xxbjlq";
@@ -1448,17 +1485,17 @@
 "texsis.doc-2.18"="wawynbj4gxlxbcg8wddrwdlicnlhia14";
 "xmltex-0.8"="0i9h1jakwdh439bi4wq5i4mzfcgmyd8p";
 "xmltex.doc-0.8"="7xl5q081558wnfdyb2r225kckb0wd32x";
-"xmltexconfig-2018"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
-"bartel-chess-fonts-2018"="2mdy450109a2lz95qv50y6wxhhif4nr5";
-"bartel-chess-fonts.doc-2018"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
+"xmltexconfig-2019"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
+"bartel-chess-fonts-2019"="2mdy450109a2lz95qv50y6wxhhif4nr5";
+"bartel-chess-fonts.doc-2019"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
 "chess-1.2"="j9hxdp5kz4dv6wwgy6azrw6yjhdq7384";
 "chess.doc-1.2"="n9xxs3zgzz1vhl7y1d8qxk4cj8fglhpx";
 "chess-problem-diagrams-1.12"="l704rprn6ybj2x2gn469z8zj1kyw8gas";
 "chess-problem-diagrams.doc-1.12"="k3dg6fjx2zmxcj29whrj41awvpmyb7qy";
 "chess-problem-diagrams.source-1.12"="k1kqz5gdj6k6pkbajmpj0qha6lm1gapq";
-"chessboard-1.7"="gbyh69ypw7gc06g9xpj5mwl4bnnfmlqf";
-"chessboard.doc-1.7"="1xmnsc1q44ykjz2rqg3ar3a4dzb6mk30";
-"chessboard.source-1.7"="5qq8g3985wnvbkp8h0nxfmvg1hc4v0g8";
+"chessboard-1.8"="mpdarc678ndb3qhx72fbkfr5di3mp05f";
+"chessboard.doc-1.8"="9s4g0f3q9dbv521rqxgwf6v4sk9l1mrl";
+"chessboard.source-1.8"="hkh4fq04v2zmw4fwjnkcswhiq46pn3wh";
 "chessfss-1.2a"="is60vi3pamq0qzj8pw0jvj4prvgbzxp2";
 "chessfss.doc-1.2a"="1ia29r7y1ja9d5hx7z17bk0qw7lgz2mf";
 "chessfss.source-1.2a"="r4dzyg9nx44ajf01kbj0qyfg2r4dawc5";
@@ -1473,15 +1510,17 @@
 "gamebook-1.0"="wnylf38d512bq82hi5jwsf9gxdlb9gai";
 "gamebook.doc-1.0"="f7p5nzs88ps42vwnhcph7vd36s5xfrxg";
 "gamebook.source-1.0"="hgbz9v0wg5kni2lc43yb179b8xqh8mmr";
-"go-2018"="an0cdspxjbbirkz0isbyvknics2pmkmg";
-"go.doc-2018"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
-"go.source-2018"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
+"go-2019"="an0cdspxjbbirkz0isbyvknics2pmkmg";
+"go.doc-2019"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
+"go.source-2019"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
 "hanoi-20120101"="ini1mf0dqm44vabqlqqiw52wpcx3qimh";
-"havannah-2018"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
-"havannah.doc-2018"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
-"havannah.source-2018"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
+"havannah-2019"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
+"havannah.doc-2019"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
+"havannah.source-2019"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
 "hexgame-1.0"="w9isbb0mqra4kkg0cflryikhm172b7yb";
 "hexgame.doc-1.0"="5xr1vlivrwzhk0zrb2ri8lfc5n1i3zcq";
+"hmtrump-1.2a"="k259b7jj37dzjaavs8f89x26h73sjcgz";
+"hmtrump.doc-1.2a"="5h45jrv7friz8k0nw4s29gmqifnc4q4k";
 "horoscop-0.92"="xw7yniakff9y6f8vsp3rjh9dpx4lidym";
 "horoscop.doc-0.92"="1kzjnm3b51kh9li5p6pmg3a49y47brkh";
 "horoscop.source-0.92"="2ypc7g86drcywds2mj9d9lj1p6zpfnzw";
@@ -1496,15 +1535,15 @@
 "onedown-1.3"="xkr543whv98k5ni9hrqi00pa8slzqiym";
 "onedown.doc-1.3"="92iyvy5819cbz5nxxphgzlbg0vl132lh";
 "onedown.source-1.3"="zkwm17wpwxvy1d0mnr8ass20nridywvv";
-"othello-2018"="fp9s19jk73qrplyhjnicv8q066a98jli";
-"othello.doc-2018"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
+"othello-2019"="fp9s19jk73qrplyhjnicv8q066a98jli";
+"othello.doc-2019"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
 "othelloboard-1.2"="ymadc4vpkzc0lkl2ws340jf5vzjiq1i9";
 "othelloboard.doc-1.2"="1vi1lc9c75r9qqrhmjp2j7d7p94asbv6";
 "pas-crosswords-1.03"="90v61cxl5ab12bvgnj4k9dc5q6v3zg72";
 "pas-crosswords.doc-1.03"="pm76nswngl127k5c2vwm9nwscci1dcng";
 "psgo-0.17"="487m1ggdz7a554viflmp4cg2kgdw9ghv";
 "psgo.doc-0.17"="cw2v9zzpbmqqw8k8hdq0la2dhdggip3d";
-"reverxii.doc-2018"="2w8l7rs761h556il3d875k0sc86xll98";
+"reverxii.doc-2019"="2w8l7rs761h556il3d875k0sc86xll98";
 "rubik-5.0"="9wi8kxm1rfbqdmgd08bkfmmcrxh6qglv";
 "rubik.doc-5.0"="byp3r482d99yvd7wj0gw7sy8azki6srs";
 "rubik.source-5.0"="p25x3gpqgyq4hsvgksdspy16w6h593kr";
@@ -1515,11 +1554,11 @@
 "sgame.doc-2.15"="pm7psgqwg5prx0qfj6wh234raqw849wa";
 "skak-1.5.3"="0wa6kcvgwqz6cnjrf64x03hlbd7yppax";
 "skak.doc-1.5.3"="p8p72b9f2jll6hym1fzrymj7c122z42w";
-"skaknew-2018"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
-"skaknew.doc-2018"="0p383qca6f0f56skhgvjcwprpb04gldj";
-"soup-1.0"="q2i8ygqvpl9mjmcc41ramm2f51h2hp7v";
-"soup.doc-1.0"="sdh5hcm7sl6slkl45pnahimcbfr7f97p";
-"soup.source-1.0"="qarjlwwpzgr3ih2dskaqa83dy2zdgka2";
+"skaknew-2019"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
+"skaknew.doc-2019"="0p383qca6f0f56skhgvjcwprpb04gldj";
+"soup-1.0.2"="6h4bpg774dpkaxg69k7cyr7pwffk490m";
+"soup.doc-1.0.2"="w67szbnb93rzkm2mznmid3cy5rxzghbs";
+"soup.source-1.0.2"="zna9fyn7n1p5rh2a9fqyvbvsj5pdc3vc";
 "sudoku-1.0"="584gyns58jqsm1ya8l1z63a1wifrgnlj";
 "sudoku.doc-1.0"="rsn0w51h0s7j9w988mmh2q455cx7amqw";
 "sudoku.source-1.0"="cpylv1bwk5yjjfzx8kfz3nha8yfjj2x7";
@@ -1528,11 +1567,11 @@
 "sudokubundle.source-1.0a"="lih9zbgw5l891hmifvpbdjwaqx70r8dj";
 "xq-0.4"="l2fd2aag0av7znzaw56qbwyp024yx9ql";
 "xq.doc-0.4"="rlabrx8297ad8p4sb4pqkv1lzxiihmyv";
-"xskak-1.4"="was0g67s4bifg8ykdbf4a53p0g6486gx";
-"xskak.doc-1.4"="4jnczqr0bqxchwmaibg5i23vja39hrjj";
-"xskak.source-1.4"="x0ab6f461xbcw6k3dydxaif29rdzc0s5";
-"adtrees-1.0"="1x6lr97397fgi6gapxaa99m9d1a095si";
-"adtrees.doc-1.0"="9rpilrcmiz6js9r3mf3d574aflbbq9pj";
+"xskak-1.5"="r0n5kgq1vnbc9kpqbj4i4c0713hhzgvd";
+"xskak.doc-1.5"="zzqkhgfjsbrllhn13qvkx2v0zarqz2l3";
+"xskak.source-1.5"="5z0q23fhwbxrz4jkfpc9ishdjnxn9k4m";
+"adtrees-1.1"="252iwghr89frhrnm3njrz1l0i1qsjq3q";
+"adtrees.doc-1.1"="4x26n2q1pwdxmwd1v15jp6mbrwwl9l7z";
 "bibleref-1.23"="8cf12j1yzl2g2fwqd9igpy9ir251y704";
 "bibleref.doc-1.23"="s9hihhiwli9r8n43nav5ag2ivg6m82h5";
 "bibleref.source-1.23"="fq7w8mvqsba7sd3826jvn38l40d207wi";
@@ -1544,8 +1583,8 @@
 "bibleref-mouth.source-1.0"="drlwpv0xvyrb259ipq71p68929cmp6ka";
 "bibleref-parse-1.1"="ddxzanvw07cnj984ylsmjybwvyl41sg3";
 "bibleref-parse.doc-1.1"="jcsy831ih2d4scdsydj4m9mzlyahqlip";
-"covington-2.0"="3dgy2137v10afni626vsiajc1r2libyw";
-"covington.doc-2.0"="w7fc630ndsfdp4qdn5bpkwi9dh7qgqf1";
+"covington-2.3"="a5f2hzdc6fpm677d2dgllpa1jr5lwl8p";
+"covington.doc-2.3"="basski8kn3kk6i9jxxc9p5xy8lfxcp8i";
 "diadia-1.1"="p95dkjaf17pn4qm3syrd2wm4680qxa86";
 "diadia.doc-1.1"="s8q9nnwajrravg7418bldainfxpm874j";
 "dramatist-1.2e"="r8ldaql5igwpsv1bm35jgcgpnlr817m1";
@@ -1561,9 +1600,9 @@
 "edfnotes.source-0.6b"="n5dyvim1rvv5dmnpl8jsmc1r43nll8vp";
 "ednotes-1.3a"="dmv7mq84rw9y8fcvnyj4jspb3qn74h2y";
 "ednotes.doc-1.3a"="bivfyfj5g56m38z4b8wnzd34q2ks4lxg";
-"ncctools-3.5.2"="s9iz6jy94nk73zcc039rrnn70ccwzsf4";
-"ncctools.doc-3.5.2"="4hpj1hh04yi7a5p8ycylk388fxwzgl5c";
-"ncctools.source-3.5.2"="1m07iwm83lq29g9g65kavwvz31csbbdh";
+"ncctools-3.5.3"="9ga7xf3c5k1n0gwiw42bs8zda97596dh";
+"ncctools.doc-3.5.3"="9p2ds66immwv89zxs8kn3z0dar3k2dfb";
+"ncctools.source-3.5.3"="f40j4wcw6x5f6r43bjnxyhfsy9vj623k";
 "eledform-1.1a"="34050azcglr1nl4ppvq8f01dffc3hlpm";
 "eledform.doc-1.1a"="qdp4sms5cf7wzi1kdm49fgifs3845whs";
 "eledform.source-1.1a"="53dda59p3czslircl0a23d1dqfh2r45k";
@@ -1572,16 +1611,16 @@
 "eledmac.source-1.24.12"="kiqy5wz8qyzxxszhf6k37ricjh13asca";
 "expex-5.1b"="xl0jyizia4cwch1z399dl0r5xz4anxgy";
 "expex.doc-5.1b"="a903i8yj7kqr49jf3f40rrf74j4bn1cb";
-"gb4e-2018"="bzbpagrikdh6z5pbs416l090s559v7i5";
-"gb4e.doc-2018"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
+"gb4e-2019"="bzbpagrikdh6z5pbs416l090s559v7i5";
+"gb4e.doc-2019"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
 "gmverse-0.73"="9cx4zlykh23lwblr7q2hbd8d5dffvw8q";
 "gmverse.doc-0.73"="zbq9drljrrh0ms8k5z7ndldilzgd2l0w";
 "jura-4.3"="bparkzmzy3lj0ddqiaw3696msam3v0b4";
 "jura.doc-4.3"="hzgy1v1yl2yrnvi91j2hbs8jhd1x3djh";
 "jura.source-4.3"="0z6qb08mpblnl0jhjx8cmhk0vrciz0f8";
-"juraabbrev-2018"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
-"juraabbrev.doc-2018"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
-"juraabbrev.source-2018"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
+"juraabbrev-2019"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
+"juraabbrev.doc-2019"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
+"juraabbrev.source-2019"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
 "juramisc-0.91"="w2nzviyg6498v4x8vqqp8kc9p2cr2fyb";
 "juramisc.doc-0.91"="0yczb9jcva6i9wvkdpwfd0l9c522krnc";
 "jurarsp-0.52"="bwldii418vmf3b37gnm56f65bzyjrfhj";
@@ -1594,66 +1633,66 @@
 "lexikon.doc-1.0c"="52hidkd52nx6dz7ga1lipv6r9l3kcnnh";
 "lexref-1.1a"="4av5iad393sb2vqplzfra63wl1g3pwpd";
 "lexref.doc-1.1a"="3nzknrs8c80yxhw9hf0qpzgx3lpj4hsg";
-"ling-macros-2018"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
-"ling-macros.doc-2018"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
+"ling-macros-2019"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
+"ling-macros.doc-2019"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
 "linguex-4.3"="srm8cr4dr0s29ydpvwf2mhm5gplgv18q";
 "linguex.doc-4.3"="w7jgr0hkj6m368p6x2l3b37m9px04b4f";
 "liturg-1.0"="73vvqhnk6ll3ibzl2gk7znkfm57k0286";
 "liturg.doc-1.0"="r0i6252kbg724crlphqc9rii0xq45jzx";
 "liturg.source-1.0"="8q74i94hbnswf7iscpdm889w3wqvcbz6";
-"metrix-1.3"="9k344dp2nr280nwyk9h2pl5s0jncil9q";
-"metrix.doc-1.3"="y4v418yjxn4c1468i822ms96wlnp1m7c";
-"metrix.source-1.3"="bzri3z7xy4k63z4wsy5yri6cfc4m3hng";
-"parallel-2018"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
-"parallel.doc-2018"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
-"parallel.source-2018"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
-"parrun-2018"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
-"parrun.doc-2018"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
-"parrun.source-2018"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
+"metrix-1.5"="89mkz1xmzm0i24410wdhxc2wpr32as11";
+"metrix.doc-1.5"="vr2gg2hy407cycqa00b4iw6lbmi0l54a";
+"metrix.source-1.5"="x2w7zrjw7nxbdiszypa3fnd4am4hhk8k";
+"parallel-2019"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
+"parallel.doc-2019"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
+"parallel.source-2019"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
+"parrun-2019"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
+"parrun.doc-2019"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
+"parrun.source-2019"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
 "phonrule-1.3.2"="7gxkh4k5g2znwdrrdy394iw08khwnkvd";
 "phonrule.doc-1.3.2"="h353x4isnarn0bja89cb7104n4wda95l";
-"plari-2018"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
-"plari.doc-2018"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
-"plari.source-2018"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
-"play-2018"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
-"play.doc-2018"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
-"play.source-2018"="jk04llsraw9d9gl5grvr019rjnkha1h3";
-"poemscol-2.97"="agr0bnzi24734dimffxavg5n1ds62w2z";
-"poemscol.doc-2.97"="6bns541wwmpv823kn9d5gnv7ziclgj59";
-"poemscol.source-2.97"="kia44i5a9yc5m7hf2v8aiw8kvkmwhvcw";
-"poetry-1.1"="4wh2mry1jyqll9wy2088zgxkdc6i7b33";
-"poetry.doc-1.1"="92f0z01dl6fw6fqkhnc56hdqjv4h536s";
-"poetry.source-1.1"="7x15fsl69sfpifslcvkl9b3y97rywb3z";
+"plari-2019"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
+"plari.doc-2019"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
+"plari.source-2019"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
+"play-2019"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
+"play.doc-2019"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
+"play.source-2019"="jk04llsraw9d9gl5grvr019rjnkha1h3";
+"poemscol-3.14"="5qyj9w5bi9j4shvvyj7gb84hz2dm7zs8";
+"poemscol.doc-3.14"="f8gcghy84zwpp04id30687hp7hfddba1";
+"poemscol.source-3.14"="rxfy4b92d8275dkis2kjncc6ilmlmknn";
+"poetry-2.0"="f4597yvh6j4qrnzmvrpsc1bmaai5g7k2";
+"poetry.doc-2.0"="9vgmd2rvp38lp2xka75my5i5227j2nhk";
+"poetry.source-2.0"="waq7n2xpvy3fqvqb0x2akzasz1dgl2jc";
 "poetrytex-3.0.1"="a7a68naj2vngygl078qcy6qpyvgjqp87";
 "poetrytex.doc-3.0.1"="d7vp6y5vm8sw1vq3j723ksvivdk3v2a2";
 "poetrytex.source-3.0.1"="v4ynl1n0sgg2n5g0ya2ncm7k1fibfmgg";
-"qobitree-2018"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
-"qobitree.doc-2018"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
+"qobitree-2019"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
+"qobitree.doc-2019"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
 "qtree-3.1b"="d2wip0zniiihfnm77v0rzd95f4zvf9dp";
 "qtree.doc-3.1b"="pzpwi4bdw8sxhmyyx16g59nmi0zj8ijg";
-"reledmac-2.31.0"="kklmhgfbscfal5zfg98gw2rd37zq0hh8";
-"reledmac.doc-2.31.0"="5ycxipla09vhfgj59xf1lzxd0n5glgg1";
-"reledmac.source-2.31.0"="73h13fdcc92p44ns5793z62pch0qxjzy";
+"reledmac-2.32.1"="b8ci6sz2f1fb11fylb9f7y69lsib5wad";
+"reledmac.doc-2.32.1"="vf2q7rkl8pggivj052yx5svy0f5m9466";
+"reledmac.source-2.32.1"="1lgdnmcbyyd3b8x25hz9mms891ldkw15";
 "rrgtrees-1.1"="gijgmkpg84730ywfcangcf301kff14n5";
 "rrgtrees.doc-1.1"="l557gafpfn0vm4ajcaynvqf14axn1rrq";
 "rrgtrees.source-1.1"="al765qzv8rz1gd9dw672j29q1i27gf2y";
-"rtklage-2018"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
-"rtklage.doc-2018"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
+"rtklage-2019"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
+"rtklage.doc-2019"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
 "screenplay-1.6"="c4jv8c3zrqqjp25nxv1wwp47jy26vdd0";
 "screenplay.doc-1.6"="7vlv28kmw3pag35r1p9q1mhvz005gwv8";
 "screenplay.source-1.6"="88zp5a7raa7ic4474yghk67jj31k3377";
 "screenplay-pkg-1.1"="567syh6jgvm16ch9hhlirgxav4k424ns";
 "screenplay-pkg.doc-1.1"="gvd3ma5bmmcpiq1jpi8081lcvk6zpfgi";
-"sides-2018"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
-"sides.doc-2018"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
+"sides-2019"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
+"sides.doc-2019"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
 "stage-1.00"="bi5p7sggcnkfmzmjj4535qbraan5yfdm";
 "stage.doc-1.00"="hwjzdlnzybkv0jvgbldansab25ixggnj";
 "textglos-1.0"="lfdr25rxphjmck47gv10zr6dwiwyczla";
 "textglos.doc-1.0"="k8945zjmlx6n8szzighhs4fa1z8zc340";
 "textglos.source-1.0"="mvxkgnsda7v23v765zh7mzg1fzcn0hdn";
-"thalie-0.10a"="kh5jdk781i347cfpvjrv2qkih430cgbk";
-"thalie.doc-0.10a"="8ajaidg8snxxhxv7mr27qllvvyw29j10";
-"thalie.source-0.10a"="s3i136jwlwjq4zxx9fxrx0prn3wpvgg5";
+"thalie-0.10b"="wd2ln0n32rvnr8fl2i57hkd8dgdxfbjp";
+"thalie.doc-0.10b"="9j2rg2fh4gbw7jznl0d5kx49x8fhfsv4";
+"thalie.source-0.10b"="pg0mgikmariaqrpd83mdmsilglz5hcpc";
 "theatre.doc-0.1"="lrajd4fl8ib6kabsjpxjr38pdb2gr83q";
 "tree-dvips-.91"="rh2g20j87hg69iym0in6b1jdg5icgina";
 "tree-dvips.doc-.91"="5lwva5wns5mwp1yq94pd31q165gianwp";
@@ -1664,35 +1703,37 @@
 "xyling.doc-1.1"="k41kmgmzw7358f3nhq2ixbxafiq5kir4";
 "alkalami-1.000"="v7sl553x9mw57qsnh66rf7mba26h6m8x";
 "alkalami.doc-1.000"="kg4kz16hp3sylfwrprr4ilc2y4rzrji6";
-"alpha-persian-1.1"="m8yc4zhh1mhdnlzhm6sy63paq2rzdgf8";
-"alpha-persian.doc-1.1"="690wq6l6dnyjw0mabbza2lx21x46sdj4";
-"amiri-0.110"="a48i1gmbvc9vmy4x6vpy0pkvrxihx5gf";
-"amiri.doc-0.110"="yxrvjg7rhrda3p6n0xy2wy1xlqzsmy82";
+"alpha-persian-1.3"="4ga35s96bmxabf62li3kr625nplk8v4k";
+"alpha-persian.doc-1.3"="jk5d6pb4hk1qbl9pzmqm3b45r6ifdmjf";
+"amiri-0.112"="yrfb6z1scjzsm3ih88dfjb5ra9pcyzcf";
+"amiri.doc-0.112"="srqmyfcwdjivj3yzmj9bxbidqlblkvsz";
 "arabi-1.1"="rr1si2q0lih2l2qpascr4kyzy313zyba";
 "arabi.doc-1.1"="cpsn1fgrlivbwqb4n9qrpq3q69kdy3nj";
 "arabi-add-1.0"="djln5r1i53rqvih7wp016j8ga2wqc7dn";
 "arabi-add.doc-1.0"="vwbgh52x3yh6yxhfx6p7m0ljmsrmr4qz";
-"arabluatex-1.15.1"="h7vy5a3kc435h0f9fpizv2pijp11l74w";
-"arabluatex.doc-1.15.1"="yk5rpvrmdj34yj2d2cmbjaj21f5k6pqj";
-"arabluatex.source-1.15.1"="g0j9j0ikqanvdm54cnrzd8cdf8rm2cqr";
+"arabluatex-1.17"="a706pfa13hlkdb77bn6j7bzx7g3lf07p";
+"arabluatex.doc-1.17"="py41ksm1nyrv0sc5bx6c5hpal49ph1h9";
+"arabluatex.source-1.17"="0yzrckqik3jydhay3ab79gvmgj9chg53";
 "arabtex-3.17"="fr7avfkwpdbx619kq7h1y31bx4nmkp5v";
 "arabtex.doc-3.17"="b5ng3w5g40m9c3x87nih862msx5nw292";
-"bidi-35.5"="xzqpmi0d1pqbdnbfac3bfnc9d6maalwc";
-"bidi.doc-35.5"="4sl0iy991yzsrramvp1imh1ls97xvyvm";
-"bidi.source-35.5"="kl702z6c520x068dk7vs06by5kwvd1ar";
+"bidi-35.9"="b5dxbd8dlxw33palhswzplasbiipf44a";
+"bidi.doc-35.9"="sl3k8nkrwpw7s36c0db47apalwzhvxcd";
+"bidi.source-35.9"="7vqc2v0cfcpblf94nl6lw7nzzr89k2vf";
 "bidihl-0.1c"="kwa5li9yi8wb452g12y2h0ar6lpqdmmr";
 "bidihl.doc-0.1c"="558l7z4b7giwqqzj5496r7nkzv1wrnqq";
 "dad-1.2"="ivwjd7fhzgk4kl0iwzs49jvhqsb44ysr";
 "dad.doc-1.2"="6sy939pdqxsz24lpfqvb5wx1914nc38h";
 "ghab-0.5"="xlrv9p05w3vm0vyzay9q16rzh1x8lk4a";
 "ghab.doc-0.5"="vhpydw0spag5nlqyr36iy2v70db2hmpx";
+"hyphen-arabic-2019"="lsdwn3707i0hxkj77bmm6l22r9yqrq3a";
+"hyphen-farsi-2019"="54ahl0hlvfpfjnjg9ddg1gxvb1a38yn3";
 "imsproc-0.1"="ylf3kd1bc5rafzfyil4y7wxp6vd9nsm3";
 "imsproc.doc-0.1"="3kv8qk7pnfg2w7xm3lqcimi8vhx8jwf8";
 "kurdishlipsum-1.1"="8frakqhm5sfw4f9j514zh63la69nwnnr";
 "kurdishlipsum.doc-1.1"="1spiraw1mpli2hyyxdh43r72dkr0446a";
 "lshort-persian.doc-5.01"="hba2q0ni1c873gpg2qp835csinw78yi8";
-"luabidi-0.2"="8af0f67k7hj72wsfrxxdxzl1p39byasy";
-"luabidi.doc-0.2"="9fdkj79aasj5vskrqqnr7c9zdy8vb8c7";
+"luabidi-0.4"="wczrrkgbm40ba2cy5yfb8w0ah6q9s0jy";
+"luabidi.doc-0.4"="319i8wapmdv1gyx5sqy19sql5pkf5p8v";
 "na-box-1.0"="vfrchq5jqb5s18zgngk2qsb0svmnc7p9";
 "na-box.doc-1.0"="7s4wcsg6khlv2lgakqgph9livd38fil9";
 "persian-bib-0.9"="sakc18mdqnzymfvgkwsxvrjd9b5a7dqm";
@@ -1703,84 +1744,87 @@
 "simurgh.doc-0.01b"="z3qq4jx25qyxqmnfbpsdsayi59fkaff6";
 "tram-0.2"="7wcas9syxfvm8pc7wnp817zd9y4q941l";
 "tram.doc-0.2"="ppbq1g4k1swjv7y9qkqhcr0m25knssk5";
-"xepersian-22.5"="wak61mf824sj9912rrs0a041lnpjzvhm";
-"xepersian.doc-22.5"="x8iy0y175g2hshv3gsmj8wjy5if9bx4s";
-"xepersian.source-22.5"="lzsfkdh3vb8a40khj0si3jh2q9jdbhlx";
-"arphic-2018"="zfax00567h7mdlfkpxihy379cwqmy8ng";
-"arphic.doc-2018"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
-"arphic-ttf-2018"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
-"arphic-ttf.doc-2018"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
-"asymptote-by-example-zh-cn.doc-2018"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
-"asymptote-faq-zh-cn.doc-2018"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
-"asymptote-manual-zh-cn.doc-2018"="86bz3am5w7xx9si2a09s432xh882ix9a";
+"xepersian-22.7"="cvkpfxxrlx7sqjdflg2rsrh3h6n9ahln";
+"xepersian.doc-22.7"="7axbpnxr09imnpyl0c0qd5m9806a9814";
+"xepersian.source-22.7"="pbpwh6rqh6c3qj8q4l43smbhc3a5kxy5";
+"arphic-2019"="zfax00567h7mdlfkpxihy379cwqmy8ng";
+"arphic.doc-2019"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
+"arphic-ttf-2019"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
+"arphic-ttf.doc-2019"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
+"asymptote-by-example-zh-cn.doc-2019"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
+"asymptote-faq-zh-cn.doc-2019"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
+"asymptote-manual-zh-cn.doc-2019"="86bz3am5w7xx9si2a09s432xh882ix9a";
 "cns-4.2.0"="3m0fbs91x53iiqvzl0hs68cks7y3m3q7";
 "cns.doc-4.2.0"="1ddyimvshda2zf3mcs6rk1n4py2aglfq";
-"adobemapping-2018"="qiz2lhjkmcd0q5c3g9h6xj4ynivzpa6k";
-"c90-2018"="jfyd605szid7j3a757fihxhlvaqvprdd";
-"c90.doc-2018"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
-"c90.source-2018"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
+"adobemapping-2019"="xcyk94x5n58vxnbw1j1wrkdizmwi6i74";
+"c90-2019"="jfyd605szid7j3a757fihxhlvaqvprdd";
+"c90.doc-2019"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
+"c90.source-2019"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
 "cjk-4.8.4"="zdw3lfngj5zg5d118xjndaj5gg7r0wy2";
 "cjk.doc-4.8.4"="rlwcxn7lnyxc28v9gjscp3p7p9mgzwhs";
 "cjk.source-4.8.4"="i9g2nbr71gnvx71a55aj07qrgw67vhs8";
-"garuda-c90-2018"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
-"garuda-c90.source-2018"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
+"garuda-c90-2019"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
+"garuda-c90.source-2019"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
 "fonts-tlwg-0.7.1"="c6m45bqrgmqhk12766k8ahr0hmimky1g";
 "fonts-tlwg.doc-0.7.1"="xc4wi0yfws579n2z42wssk8cg7m0ildc";
 "fonts-tlwg.source-0.7.1"="3r0l4svknzyp2kpa84kgh2fk23dnhp2g";
-"norasi-c90-2018"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
-"norasi-c90.source-2018"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
-"uhc-2018"="viphfgiqfb1w9kb8103znmzy09n6i45n";
-"uhc.doc-2018"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
-"wadalab-2018"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
-"wadalab.doc-2018"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
-"cjk-gs-integrate-20180306.0"="mamw4jg0sdidhk82gbnkg9j2grgc7pxm";
-"cjk-gs-integrate.doc-20180306.0"="8hlvy8qra0lhwqcwda3zbza0a7i5dxy1";
+"norasi-c90-2019"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
+"norasi-c90.source-2019"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
+"uhc-2019"="viphfgiqfb1w9kb8103znmzy09n6i45n";
+"uhc.doc-2019"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
+"wadalab-2019"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
+"wadalab.doc-2019"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
+"cjk-gs-integrate-20190816.0"="ppc68sldmkv22bjr2zs8czj1s8jgdifd";
+"cjk-gs-integrate.doc-20190816.0"="qm5clja7hsdcivm6ql2xg6l6xdrgy2b1";
+"cjk-gs-integrate.source-20190816.0"="3dzd7xb4bbps69c79dpw7zr4j9h8azka";
 "cjkpunct-4.8.4"="8hwj54qw1xrvs5bn8bncdynich00d0ss";
 "cjkpunct.doc-4.8.4"="c8wmkh6h45an46jqph2s9ljbgfyw1mf9";
 "cjkpunct.source-4.8.4"="0qfm89f4l8jfmgimhrh8vvskca0d866k";
 "cjkutils-4.8.4"="8w069zvnnpkr2qcmsqxh6p64db57b82g";
-"cjkutils.doc-4.8.4"="1kzwqhngn88vk4gnh8c7nn8v9mp7cfai";
-"dnp-2018"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
+"cjkutils.doc-4.8.4"="khlrbsmdr6gadq98xa4mwxc3h2320d4i";
+"dnp-2019"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
 "fixjfm-0.8"="r24s5c53wvxaacm4fmnmp10nl8096nlf";
 "fixjfm.doc-0.8"="inhixa1d1hr6s2473qp0hfchvcn84y45";
-"jfmutil-1.2.2"="lf7jqszx8lg8i8phfcnq7qlx7q2rp6k7";
-"jfmutil.doc-1.2.2"="a1iq30pswbssypi7swra66rzmiqx8615";
+"jfmutil-1.2.3"="grbbd61lx3b8nicqs2yxf3p131abr6bz";
+"jfmutil.doc-1.2.3"="4p1fz7gk04dnzjxvcmzc2gn3h3d7dv80";
 "pxtatescale-0.4"="psd9rlxh4i4rqxgii61r2s43sqy3kibx";
 "pxtatescale.doc-0.4"="bfd49446kr82v3h06mq5hsm1ji2jwzck";
-"xcjk2uni-0.7"="d0h2b2l69qfb6xvg179pnzj3lcwzxpn6";
-"xcjk2uni.doc-0.7"="q90l5vhln5gcj0jzypm4ymn059flxa80";
-"xcjk2uni.source-0.7"="skj3gwb9fy81pcgbfhjlgr1vfdrr61i0";
-"zxjafont-0.4"="5ycdha9qzav4vvdy6jqkdvyqq8wpcija";
-"zxjafont.doc-0.4"="qvn5dllha3faq0vy5lgb52ydzi261n3i";
-"ctex-2.4.14"="0f4ak682lx1a02ppjb0z7bqanp706rp0";
-"ctex.doc-2.4.14"="2xni7gnajm5sbsm5qgwyydyll5075ak9";
-"ctex.source-2.4.14"="gz3cipz11dnlxikvi4iwa5ql8l1y30ay";
-"ctex-faq.doc-2018"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
+"xcjk2uni-0.8"="sy7lqifnwc11sf0rzfj208rmlzmv9v2x";
+"xcjk2uni.doc-0.8"="03y9sam560xbp0px56glih05gagz050m";
+"xcjk2uni.source-0.8"="f9g23l42ry05xb3b73hf0vnbi6yg9wyr";
+"zxjafont-0.5"="w83bi9vv8zl9py0jva0khxlbbbdvqllf";
+"zxjafont.doc-0.5"="c8g15pphrd6980ixqk16zcw3z1qmjv1v";
+"ctex-2.4.16"="6g9cw6bbdrzpi6mq8is84qn3pwqc6dsn";
+"ctex.doc-2.4.16"="s7dcd31263b08w2yj86k24k68hbnv1lk";
+"ctex.source-2.4.16"="9cnkch1830v3n2fi6p5n8rjzi390yblc";
+"ctex-faq.doc-2019"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
 "fandol-0.3"="lxnjp8m4fcj3pv2hnhib6gjdh90q1ncz";
 "fandol.doc-0.3"="fm0ac37apm0dh1073lp1frja9xbsrv4l";
-"fduthesis-0.7b"="p3k5gj6a0vby14z0jf88ni27icbdhm3y";
-"fduthesis.doc-0.7b"="dmyplx168bgkvqyjny1fc0fsxwpqpzjq";
-"fduthesis.source-0.7b"="9v8wjy3c0g3s4gpfpp2875ng091ir712";
-"hyphen-chinese-2018"="1iby8rck423aw2mi87rbn60ww1kp71zs";
-"impatient-cn.doc-2018"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
+"fduthesis-0.7d"="mdxv7dg6a9643h0fxzbalwbr8b76z9fr";
+"fduthesis.doc-0.7d"="cyc56p8fsv2x36y80f3gyl5dhh64am7g";
+"fduthesis.source-0.7d"="vzy2bhl826ldn0ncl440qsgb5rfs6h4y";
+"hyphen-chinese-2019"="yizvna5758n44n2an6wk9bcssa4r9gxz";
+"impatient-cn.doc-2019"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
 "latex-notes-zh-cn.doc-1.20"="qx777fwi8k06qvknnll3crc1j0yvraxs";
-"lshort-chinese.doc-6.0"="f9qqgrqxxpcv3y8k7dvj8ii5qm25g9ll";
-"njurepo-1.1.0"="75zwhpi0m9zzjhkq947razcwv5ksnh35";
-"njurepo.doc-1.1.0"="brb4kg86cl7yq7da97yv0sjbpaf7vd18";
-"njurepo.source-1.1.0"="xz4vpaqn3wzhpil9iypqd5xzbvqnpkww";
-"pgfornament-han-2018"="b3ldakf2h3zz0npmqizqdh65pimricxv";
-"pgfornament-han.doc-2018"="w1cs02w8z3y9qiznsaw2yy9fx7r7ybvm";
-"texlive-zh-cn.doc-2018"="gm01ik0699sbsjg39xgx6w82n7d79srl";
+"lshort-chinese.doc-6.01"="8x6ywzqcixiznmqd4d86gib8iii9mfv7";
+"nanicolle-2.01"="9rpch3hn0y8gbxa4wpiyj4gady989ip9";
+"nanicolle.doc-2.01"="30rgdanih3dpmylr5byma5r7yymwb332";
+"njurepo-1.1.2"="pry1ksmskbm6y5ic43v0hdjkz5mix78h";
+"njurepo.doc-1.1.2"="91clrmlgyja8i7cvi1cbb204dnp76rj2";
+"njurepo.source-1.1.2"="3axj6ar0n3d3lb92z7f33nlxd6qjaa98";
+"pgfornament-han-2019"="906lp285f9mscdc9p40j40zl26ifvbh7";
+"pgfornament-han.doc-2019"="77f050rip24vfjcbylda57chh16n4vfy";
+"texlive-zh-cn.doc-2019"="j99mp1i4j3kp28xyx2sppsrlwp4iz1rx";
 "texproposal.doc-1.4"="8fnrxmyg4wd11kmdh4jw8l1313h0sgqr";
 "upzhkinsoku-0.5"="0yhh0ab2sq4fszra362z9m2md8ycydvk";
 "upzhkinsoku.doc-0.5"="1ijm19cqsdsm9q6a7rknl0zsfa13g28g";
-"xpinyin-2.6"="d89l7kjql87z4xik19vj2fxix10blz7a";
-"xpinyin.doc-2.6"="yp7xa1d219p87y94ncgai4m71jfaq41i";
-"xpinyin.source-2.6"="b3p4viab0px4wjnjc1llf799vk43afx0";
+"xpinyin-2.7"="ggl7qhyn7khg99yxnh26r81vnfhy5gg5";
+"xpinyin.doc-2.7"="n20130b5lslk4jwd7ryxrqcdyhs5rsdi";
+"xpinyin.source-2.7"="20hmsmzva1awcwv7c25y0v7kfm8cm2rp";
 "xtuthesis-1.0"="0lmkzfvp34aiixjir2l8qs9nfpbjb3gn";
 "xtuthesis.doc-1.0"="vvqmvgjjinj3pm8r3kp48bbxs8kzgs31";
-"zhlineskip-1.0d"="72yr7pi0q2296qzx11swvcbadkviqggl";
-"zhlineskip.doc-1.0d"="zc47sxkgpn9a97vqxhkyr46nqxgsh3r3";
+"zhlineskip-1.0e"="k8myar8fv79b0rkjbwimzm24gag072aa";
+"zhlineskip.doc-1.0e"="whb613dc11kyrhgc26nbyzmd74wi8klc";
 "zhlipsum-1.1.1"="4vf2kp4yb045j1rawnz4n52a8v82p37i";
 "zhlipsum.doc-1.1.1"="miraw6ch0naabp8kmj58mxcjqdvn2lcx";
 "zhlipsum.source-1.1.1"="wmir9nxkjijs5d2mnm49ryd7q0rb23l9";
@@ -1789,11 +1833,11 @@
 "zhmetrics.source-r206"="ls3gazkf44sdal0f0k8n46ml2fgigfsm";
 "zhmetrics-uptex-1.0"="d3r2n6ndjd8zsmlq4hgm1x3gvyvrfnc1";
 "zhmetrics-uptex.doc-1.0"="qqzvr4mf5fg5r8bg6j87yk94nznhrscl";
-"zhnumber-2.6"="hcv0gs0yx1dmbr9qr278b3vpl7sbda2a";
-"zhnumber.doc-2.6"="7j7hf9vbsf56iamv3csf0x664x5s0cya";
-"zhnumber.source-2.6"="f8hdc8nv71dqv73h7z5lif9shjpizi6q";
-"zhspacing-2018"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
-"zhspacing.doc-2018"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
+"zhnumber-2.7"="p4mgbi2yl3p41xz7hxx2hdp1h4bvqym3";
+"zhnumber.doc-2.7"="7d4ff3ir4qp94ym2636463a369h29b0p";
+"zhnumber.source-2.7"="x2w9f8g02id3g450vhpqwp5nlphnsypj";
+"zhspacing-2019"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
+"zhspacing.doc-2019"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
 "babel-belarusian-1.5"="dky0w9qw4j6mbsmx6kbcgqn8p9grbbmj";
 "babel-belarusian.doc-1.5"="3mzf3fmiraiac3w6cd45fy3phm5714qf";
 "babel-belarusian.source-1.5"="bisqg51jp7d4f8mjzirzw2v0f6m78yfk";
@@ -1803,9 +1847,9 @@
 "babel-russian-1.3j"="chw7lj98rp10jkin4l03d1gx12a8ki5h";
 "babel-russian.doc-1.3j"="i56cj5h3h40ml8an2sbbj8dzyazacwd9";
 "babel-russian.source-1.3j"="cnwygpq3mb5y2araady6kr86wl2bbgdn";
-"babel-serbian-1.0d"="8acj740xh1syd4ch9jpfkpx3sclddqw4";
-"babel-serbian.doc-1.0d"="5jh97wmn4nhjbwaxdbrazk4dxsddx9q2";
-"babel-serbian.source-1.0d"="fcwf73qgjrdrc2vhzkhiaf7kj19n72vf";
+"babel-serbian-2.0"="nw8spfg8l705baa9x1n61jv87988x81n";
+"babel-serbian.doc-2.0"="ggnbzl98wjm1zak4v1cj6i22c6hmm5iy";
+"babel-serbian.source-2.0"="mlwg9g1nsm1cg0n1x7bpagbssb6hny5s";
 "babel-serbianc-3.0"="xmd8wqwb2fnq360si9ahpr4acrhj6rvv";
 "babel-serbianc.doc-3.0"="8kn5ngjaq927k1xb6lhmpm62p0h7w5r8";
 "babel-serbianc.source-3.0"="n1lsr7mvbi0pn612hg8kr6bbr3bgny8d";
@@ -1814,134 +1858,132 @@
 "babel-ukrainian.source-1.4c"="yh5qaricqrn5lmvrz9vdycbr5y2lpmr2";
 "churchslavonic-0.2.1"="5pgxy858w0nr769mn4g6832fc0687vfp";
 "churchslavonic.doc-0.2.1"="pz4wqhar8vfzyy8aw4szas78hqs018lw";
-"etoolbox-2.5f"="8mjnm9fwd455qa69548mmnpapa2qaark";
-"etoolbox.doc-2.5f"="65lmva7ri6bn37p4wr8q12c21wl6kz1y";
-"hyphen-churchslavonic-2018"="2f513hwwcxask6fp2d4hjw9bzma0ixcx";
+"etoolbox-2.5h"="vkv8mqbzjsyh51cqk0d40gl48cj1zcmf";
+"etoolbox.doc-2.5h"="9rj773kv9ia8v5brs2aw8f4xrgg6r053";
+"hyphen-churchslavonic-2019"="ya6jp4d0krjnwh0qf9lspcnsqrrrwy9f";
 "xcolor-2.12"="d4hv07lqr1p36mkph8s45w93ykk2i0jg";
 "xcolor.doc-2.12"="50k9wrkrb7gaf8dhpq4gbsbyfpbm6dz6";
 "xcolor.source-2.12"="zgpsq8x4n6m23a9d1m5m06davpxv76id";
-"cmcyr-2018"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
-"cmcyr.doc-2018"="1j63xbl85z8izha2jl2klagny3hk5wf3";
-"cyrplain-2018"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
+"cmcyr-2019"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
+"cmcyr.doc-2019"="1j63xbl85z8izha2jl2klagny3hk5wf3";
+"cyrplain-2019"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
 "disser-1.5.0"="m0gldqzdx2idh4ivy43jd13fgmgcsr94";
 "disser.doc-1.5.0"="6s5g533qr53rg2ha6a7p7xr4phcn11iy";
 "disser.source-1.5.0"="h4f1z0azxfnbv1cba1f8z5wfy25hfvg0";
-"eskd-2018"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
-"eskd.doc-2018"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
-"eskd.source-2018"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
+"eskd-2019"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
+"eskd.doc-2019"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
+"eskd.source-2019"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
 "eskdx-0.98"="b2dx9jv2rg97hmlf3gx4h4l3ci16chr2";
 "eskdx.doc-0.98"="l1r5bapnlsz61yasg9gyrzp6za8iw0nf";
 "gost-1.2i"="i4ymhad9kyybwc4072yhc204pr9hfw3p";
 "gost.doc-1.2i"="vwsvpn0p9d4888107r2qj7rghl3l50xg";
 "gost.source-1.2i"="fawqr3q9mk5ki6qgqzv3xa4kz5ak2srq";
-"hyphen-belarusian-2018"="5wlil9ipjwppnw48nb84mr4ss1rxxzyr";
-"hyphen-bulgarian-2018"="6jv9dph047w2ggpv1vbwxhlgk91saby1";
-"hyphen-bulgarian.doc-2018"="73rgmlh3pbp2b534ln4avz8knspyjzhs";
-"hyphen-mongolian-2018"="p4jbsah4mndigqvpkfdiw94701s7233r";
-"hyphen-russian-2018"="w4nszp9h46zc13a1k3p1l0rjjy39692d";
+"hyphen-belarusian-2019"="r1j6c9gypfsnp6c41wy79f48xs4s0l7y";
+"hyphen-bulgarian-2019"="pxzvl20al54knx6qykzad7jzis6bjj4m";
+"hyphen-mongolian-2019"="1p4y823w4j6585glzcin13py9jr86xm7";
+"hyphen-russian-2019"="b77ipcv96am0vyl7c2pps2g0bjfb3q39";
 "ruhyphen-1.6"="3d6lyf95cgi2yc8lsy9dz6z5vmvcx1l9";
 "ruhyphen.source-1.6"="i6x3fiidyvl2zkly1p4s7qzgzzza1in7";
-"hyphen-serbian-1.0a"="sr671h8p445pi4gaz9y74fypr483pszj";
-"hyphen-ukrainian-2018"="xb49a066453apjp5a05ibwhdfcx74al7";
-"ukrhyph-2018"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
-"ukrhyph.doc-2018"="4mycq4cykkinm5h946xmrng59jghvbp4";
+"hyphen-serbian-1.0a"="f498a866scqcgq5z4l03dingqabbvd7i";
+"hyphen-ukrainian-2019"="y8yaggp6qs827vx3kqbdimpvlh6rmhsx";
+"ukrhyph-2019"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
+"ukrhyph.doc-2019"="4mycq4cykkinm5h946xmrng59jghvbp4";
 "lcyw-1.1"="0bxzb7w4z0w04b9c1cvak8i2cp3f4h74";
 "lcyw.doc-1.1"="5kk74h4902f2zjlid26h1rg3fvw0sq9z";
 "lcyw.source-1.1"="3jq3gmm85lr494mm8j61z7shr3c11jg5";
 "lh-3.5g"="h0kq2pb7iay15i1b3sjx3q2yk63pycp7";
 "lh.doc-3.5g"="xzbkgxqjzbr2cx6q5xqqzgynk25jvkvh";
 "lh.source-3.5g"="mh8zzabsf553ml0al618ycym6igh9qyg";
-"lhcyr-2018"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
-"lhcyr.source-2018"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
-"lshort-bulgarian.doc-2018"="r2yc6zzq44wddndp762a3hg78ihv013l";
+"lhcyr-2019"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
+"lhcyr.source-2019"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
+"lshort-bulgarian.doc-2019"="r2yc6zzq44wddndp762a3hg78ihv013l";
 "lshort-mongol.doc-4.26"="5pj0i8wxlyd35sd3z7npwypicklc0nl3";
-"lshort-russian.doc-2018"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
+"lshort-russian.doc-2019"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
 "lshort-ukr.doc-4.00"="4g85cmgwa4y64rbc51zdw42m2f3m55ps";
 "mongolian-babel-1.2"="2bjw94a6r5wyn2i5gsclrn5fadh60jfg";
 "mongolian-babel.doc-1.2"="darkanaxxhcx7r7nd4mph37m3r29y7gl";
 "mongolian-babel.source-1.2"="cfdxndayfrj10xn000ckxhiaa1qdvypd";
 "montex-IVu.04.092"="ig3y6y6vksci0567g91hkgf8pkn5x56v";
 "montex.doc-IVu.04.092"="phm1049anhqvppklp4cwczfadjmakda3";
-"cbfonts-2018"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
-"cbfonts.doc-2018"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
+"cbfonts-2019"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
+"cbfonts.doc-2019"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
 "cbfonts-fd-1.2"="mybny72ksiflq3lq2y23059lzxidwz70";
 "cbfonts-fd.doc-1.2"="rsxf6gy62snszkcpdzry9gy44falx6ml";
 "cbfonts-fd.source-1.2"="73f27d7a4c2frvvhp1r2z4ia84qrh1cw";
 "mpman-ru.doc-1.004"="6l3vqm4sxcvb5nxy582g2nbr9mwvz1dz";
-"numnameru-2018"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
-"numnameru.doc-2018"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
+"numnameru-2019"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
+"numnameru.doc-2019"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
 "pst-eucl-translation-bg.doc-1.3.2"="cqxppyh4546ybhnlk1z4fjkdyw9ij5x7";
-"russ-2018"="981kkq2xmx0r6k095308270hjvmdsm3h";
-"russ.doc-2018"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
-"serbian-apostrophe-2018"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
-"serbian-apostrophe.doc-2018"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
-"serbian-date-lat-2018"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
-"serbian-date-lat.doc-2018"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
-"serbian-def-cyr-2018"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
-"serbian-def-cyr.doc-2018"="zl8x855zmhry6n754l5x9fz8hjn27bls";
-"serbian-lig-2018"="63mjkszwsr22mki4cd6qcskdkk1bg3fq";
-"serbian-lig.doc-2018"="q07af05smgmj1k3a4mba75brqrxxhx3i";
-"t2-2018"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
-"t2.doc-2018"="gsqrf898i59wsxcm8b06qfrasfw335r4";
-"texlive-ru.doc-2018"="3jwr83k139bsbhqdmwxl3pv1n30y4lli";
-"texlive-sr.doc-2018"="r7mj30njj30ymq22hhwmdvz145qbkz25";
+"russ-2019"="981kkq2xmx0r6k095308270hjvmdsm3h";
+"russ.doc-2019"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
+"serbian-apostrophe-2019"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
+"serbian-apostrophe.doc-2019"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
+"serbian-date-lat-2019"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
+"serbian-date-lat.doc-2019"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
+"serbian-def-cyr-2019"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
+"serbian-def-cyr.doc-2019"="zl8x855zmhry6n754l5x9fz8hjn27bls";
+"serbian-lig-2019"="63mjkszwsr22mki4cd6qcskdkk1bg3fq";
+"serbian-lig.doc-2019"="q07af05smgmj1k3a4mba75brqrxxhx3i";
+"t2-2019"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
+"t2.doc-2019"="gsqrf898i59wsxcm8b06qfrasfw335r4";
+"texlive-ru.doc-2019"="rqajnqrdlq0n42kkkgp49c8si4bsfgd4";
+"texlive-sr.doc-2019"="r7mj30njj30ymq22hhwmdvz145qbkz25";
 "babel-czech-3.1a"="gdcs2xpcgblb3v0m6jf3ppx643s3cj6r";
 "babel-czech.doc-3.1a"="g2km6r7d90d3f60mfhw4a7m9s0090sg5";
 "babel-czech.source-3.1a"="5s1n9fykrbzppgb36pvybjn9jmj7cxxf";
 "babel-slovak-3.1a"="cl43hp1pnxc1gp4ndrqwv1cv3fh0h47c";
 "babel-slovak.doc-3.1a"="igrg8syk1kd3mq4sm4jrdgsmsr1y9jb1";
 "babel-slovak.source-3.1a"="gvlkvq0zmhdf57a6vpfxlvmvz7ma48af";
-"cnbwp-2018"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
-"cnbwp.doc-2018"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
-"cs-2018"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
+"cnbwp-2019"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
+"cnbwp.doc-2019"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
+"cs-2019"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
 "csbulletin-1.2"="4ivi3qgba2mbbhs0wy53hg4q5794g54r";
 "csbulletin.doc-1.2"="4s9iz7qzmwk5az3a5nwy6vw4nl6rk6na";
-"cslatex-2018"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
-"cslatex.doc-2018"="xn40wcrp11ni73wbbzslyndahrxf2d0y";
-"cslatex.source-2018"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
-"csplain-2018"="k5vsrabcyi4xzqy4sbhcxgvin1rpja34";
+"cslatex-2019"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
+"cslatex.doc-2019"="7wlgcn2v488xfjnz27rmxb85zlhnb9by";
+"cslatex.source-2019"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
+"csplain-2019"="71mbj1sp6i5n6lhibjlkj7aqb5qzdc5h";
 "luatex85-1.4"="ka3px4aiyi8gq487i085s31y9l95jzp1";
 "luatex85.doc-1.4"="ac2agmy9dkavln2vnd63fmavv7xnkdrw";
 "luatex85.source-1.4"="wpm4dw7j6fikz3dqa4zk3r5avg4isxr8";
-"cstex.doc-2018"="jpj7p15a5sv6hqm2kvdwlqcl0a4l3v3k";
-"hyphen-czech-2018"="ssgc5qrf6pcf56bk2mbwn3yp0ccziz7c";
-"hyphen-slovak-2018"="wj5rkc9h57647fbr1sqa4l70yfssrzhb";
+"cstex.doc-2019"="ncjagy0ifn8mw4v4nr30dgzif1jrsrqk";
+"hyphen-czech-2019"="qkh3d1nadwn280p26vx73lw1mm04hyag";
+"hyphen-slovak-2019"="hd7bxmv96ilfpaccvm8fn9rhllriv1h0";
 "lshort-czech.doc-4.27"="2z8dygvm9ilvahsx005zb7z5ss8hxbsf";
-"lshort-slovak.doc-2018"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
-"texlive-cz.doc-2018"="9dvz2cz8nxgvyjbk7lscbashm0jjwlmd";
-"vlna.doc-2018"="lzjr26l3kssjshgxhbvj2fifai8n97md";
-"FAQ-en.doc-3.28"="vvzrv99q1hxcck399g2n96qfl1dc0fln";
+"lshort-slovak.doc-2019"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
+"texlive-cz.doc-2019"="4pfpprl68pd6cdfb3lzmxjn8d74lpgz2";
+"vlna.doc-2019"="bx04hcv9681ry7h6bx01z23ciwyl02qj";
 "MemoirChapStyles.doc-1.7e"="r54d4g3nh30k5x99nfphvzg7k1jxrijn";
 "Type1fonts.doc-2.14"="jgjs1127jqdrrgnkv3r8p1wirc8lb2gl";
-"amscls-doc.doc-2018"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
+"amscls-doc.doc-2019"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
 "amslatex-primer.doc-2.3"="9d9pxr0jbjm6zwqd51f7m2bzysdq5gv7";
-"around-the-bend.doc-2018"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
-"ascii-chart.doc-2018"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
-"biblatex-cheatsheet.doc-2018"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
-"components-of-TeX.doc-2018"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
+"around-the-bend.doc-2019"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
+"ascii-chart.doc-2019"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
+"biblatex-cheatsheet.doc-2019"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
+"components-of-TeX.doc-2019"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
 "comprehensive.doc-12.3"="bn5nyhw62ks4zrhg2gk6m05v1s051921";
-"dickimaw.doc-2018"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
-"docsurvey.doc-2018"="0lml7hvr42zsfk14da493xsl24z3i8vx";
+"dickimaw.doc-2019"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
+"docsurvey.doc-2019"="0lml7hvr42zsfk14da493xsl24z3i8vx";
 "dtxtut.doc-2.1"="108k3lyvja5wmg8gxyvqskbz8wwh0cyw";
-"first-latex-doc.doc-2018"="8vcday36pq5hlr075kjk6hb82ypazjd9";
-"forest-quickstart.doc-2018"="gyacc77yw1l6kksi62y5plxsvkqbf6yv";
-"gentle.doc-2018"="mpxhsl7g4za410b65awmbb5zlc58h24n";
-"guide-to-latex.doc-2018"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
+"first-latex-doc.doc-2019"="8vcday36pq5hlr075kjk6hb82ypazjd9";
+"forest-quickstart.doc-2019"="gyacc77yw1l6kksi62y5plxsvkqbf6yv";
+"gentle.doc-2019"="mpxhsl7g4za410b65awmbb5zlc58h24n";
+"guide-to-latex.doc-2019"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
 "happy4th.doc-20120102"="svmy37c032cvip73n4b98c8kh4hvnh9g";
-"hyphen-english-2018"="fga7bfg8gxhididfvy0hj8j9rga4fvn5";
-"impatient.doc-2018"="172g4hvk6d4z4013h44nr5may3a51gb4";
+"hyphen-english-2019"="9hjwbxk2jphca1g8b561gpfhqm9g95s4";
+"impatient.doc-2019"="172g4hvk6d4z4013h44nr5may3a51gb4";
 "intro-scientific.doc-5th_edition"="qx170vpq4ahipljnmhkvbrxv1xdbbii6";
-"knuth.doc-2018"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
-"knuth.source-2018"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
+"knuth.doc-2019"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
+"knuth.source-2019"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
 "l2tabu-english.doc-1.8.5.7"="j7m684bvmpv1jaa6s856dj9aknrwlqiq";
-"latex-brochure.doc-2018"="azp69yf9xkksqan9n096wabgxlk9hgsn";
+"latex-brochure.doc-2019"="azp69yf9xkksqan9n096wabgxlk9hgsn";
 "latex-course.doc-2"="km59hhadaad0hlpa07rqmx91036h123r";
-"latex-doc-ptr.doc-2018"="1dsc8ym34nlj315aln3npfibx37n9c3z";
-"latex-graphics-companion.doc-2018"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
+"latex-doc-ptr.doc-2019"="1dsc8ym34nlj315aln3npfibx37n9c3z";
+"latex-graphics-companion.doc-2019"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
 "latex-refsheet.doc-1.2"="9gvmiiqg78xn8348cymz3wfzi45mf8xz";
-"latex-veryshortguide.doc-2018"="mil8qpv4ka19wym6cqz3r5np3n7nzw5r";
-"latex-web-companion.doc-2018"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
-"latex2e-help-texinfo.doc-2018"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
+"latex-veryshortguide.doc-2019"="mil8qpv4ka19wym6cqz3r5np3n7nzw5r";
+"latex-web-companion.doc-2019"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
+"latex2e-help-texinfo.doc-2019"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
 "latex4wp.doc-1.0.10"="bxffry3cy7vkcjhdm5yzn4hipma74jdp";
 "latexcheat.doc-1.13"="iav6gzdcadndwli0jar6d7i1711ssq41";
 "latexcourse-rug.doc-1.1"="fxz46xn5hazqy707qrf2mkgk121m6ywv";
@@ -1951,32 +1993,33 @@
 "lshort-english.doc-6.2"="v03zj1nwy584c6idp2d42n9mm7prnqz2";
 "macros2e-0.4a"="5kjjl3wkq04kshrlrrz4qqb4m61mz4lf";
 "macros2e.doc-0.4a"="9rgjs3scm8wavsbgljxy7rpgdwy3nsl7";
-"math-e.doc-2018"="jl3c0l594dii8wjylbc9nmaw6bqkmxvy";
-"math-into-latex-4.doc-2018"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
+"math-e.doc-2019"="jl3c0l594dii8wjylbc9nmaw6bqkmxvy";
+"math-into-latex-4.doc-2019"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
 "maths-symbols.doc-3.4"="xi1pjz6rhyw79b10fpdfaa8vc5sf1wlf";
-"memdesign.doc-2018"="92v86h91snhrnssghhllvr0h05cacpm4";
-"metafont-beginners.doc-2018"="7ql41977dp698l2fjlq2xyf221y6xn2f";
-"metapost-examples.doc-2018"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
-"patgen2-tutorial.doc-2018"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
-"pictexsum.doc-2018"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
-"plain-doc.doc-2018"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
-"presentations-en.doc-2018"="b2j47x2qg2rhn4d5pv7413fca2jd7fb9";
+"memdesign.doc-2019"="92v86h91snhrnssghhllvr0h05cacpm4";
+"metafont-beginners.doc-2019"="7ql41977dp698l2fjlq2xyf221y6xn2f";
+"metapost-examples.doc-2019"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
+"patgen2-tutorial.doc-2019"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
+"pictexsum.doc-2019"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
+"plain-doc.doc-2019"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
+"presentations-en.doc-2019"="b2j47x2qg2rhn4d5pv7413fca2jd7fb9";
 "short-math-guide.doc-2.0"="34mdd47c63946iz86c2r0g2jx11q4mhc";
-"simplified-latex.doc-2018"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
-"svg-inkscape.doc-2018"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
+"simplified-latex.doc-2019"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
+"svg-inkscape.doc-2019"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
 "tabulars-e.doc-1.0"="3vrlw3x3h5k0awnns1q06bwzl3ff6mpw";
 "tamethebeast.doc-1.4"="14cs89g2l3bn3xhfrhrw9pfdf65c2xcy";
 "tds.doc-1.1"="fmmdgblpf26x9ajn16g024sn5sbwwy0s";
 "tex-font-errors-cheatsheet.doc-0.1"="4a38bjpzdbj91msw8kaxmk3c6qahq1r5";
 "tex-overview.doc-0.2"="bj9pak1z31fwblcv5bj2imd4p33bi79s";
 "tex-refs.doc-0.4.8"="ad80b3r5rgj7n4m2hc5r6ccjczikff3v";
-"texbytopic.doc-2018"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
-"titlepages.doc-2018"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
-"tlc2.doc-2018"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
-"undergradmath.doc-2018"="kp1xxp209mbvyhpmh62yp53c6q8ppnwk";
-"visualfaq.doc-2018"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
-"webguide.doc-2018"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
-"xetexref.doc-2018"="9yjsdw6mvw21y2ggrlkqyp6m28xjzgnv";
+"texbytopic.doc-2019"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
+"texonly.doc-2"="x2h7skds6icw56bg0p8f4aaryn52sz75";
+"titlepages.doc-2019"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
+"tlc2.doc-2019"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
+"undergradmath.doc-2019"="kp1xxp209mbvyhpmh62yp53c6q8ppnwk";
+"visualfaq.doc-2019"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
+"webguide.doc-2019"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
+"xetexref.doc-2019"="w87pmm9ra94xil6mm6n2fciavvpl3dpq";
 "armtex-3.0-beta3"="vg6qlgg6nzci26mnphkbcpc8vak9jwbq";
 "armtex.doc-3.0-beta3"="fam9bkmfjn2v54v3f2xjxjarbrf3adhz";
 "babel-albanian-1.0c"="1dasgklnjx05y74bk0pcwn1ivghswmvs";
@@ -2008,9 +2051,9 @@
 "babel-friulan.source-1.3"="yf6xqza856qdbxdysw08v707h0pcj7sq";
 "babel-hungarian-1.5c"="5l7i970llxwxzy75dy9an9czkbp9p049";
 "babel-hungarian.doc-1.5c"="czi272jfp95lckd97gkq46lrvz3r63wl";
-"babel-icelandic-1.2b"="bv8jkqsb9ikbk4g861n0hn00j7dh87kw";
-"babel-icelandic.doc-1.2b"="b2pxcd5sczr0a3a8ww2rjfyw3r1783jc";
-"babel-icelandic.source-1.2b"="37xz4jan0xjrz8aj2sci17x8m8h8f613";
+"babel-icelandic-1.3"="9rkw2wf3b55cs8d29xzpnh5b7k64hhkf";
+"babel-icelandic.doc-1.3"="gjwyjj570d9vwcq6zvzrsi0x8gz240k1";
+"babel-icelandic.source-1.3"="w3kq7v6nwwc6jqr2jrg9a535hgh0nrgp";
 "babel-irish-1.0h"="1y1j2vrdl4piipf9p57028dkmd05y5rv";
 "babel-irish.doc-1.0h"="3kz3sk14j8kfrym9wlvqkgzvik1xjs4h";
 "babel-irish.source-1.0h"="s1g9x340z49y1kgi8b5b1jql1ri2ckby";
@@ -2023,9 +2066,9 @@
 "babel-latvian-2.0b"="7m0a5mr8mwxn3hm88ky0nrv88vzqrfsd";
 "babel-latvian.doc-2.0b"="b5zrhmss194cr40s38rmdh58l7y7zp9k";
 "babel-latvian.source-2.0b"="4k79lcf0rafnkk0qzz4qj15wg3hh46j1";
-"babel-macedonian-2018"="y443c0n5dygb6pf923kwj4fv8y991gg7";
-"babel-macedonian.doc-2018"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
-"babel-macedonian.source-2018"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
+"babel-macedonian-2019"="y443c0n5dygb6pf923kwj4fv8y991gg7";
+"babel-macedonian.doc-2019"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
+"babel-macedonian.source-2019"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
 "babel-norsk-2.0i"="3a2xqwwyj2pv7ndgaxk11wvb7qanc9qk";
 "babel-norsk.doc-2.0i"="dhi39fgchh0ll1hl2si5qgygi2qsg8bj";
 "babel-norsk.source-2.0i"="qyx1rcxw0zghnc8wrh94yr9i5jkh142k";
@@ -2038,9 +2081,9 @@
 "babel-romanian-1.2l"="76cg7sfsq7lg72c4lqfinv3gjpbwpvri";
 "babel-romanian.doc-1.2l"="5i46fii2472x7ka1xxng45s7n0rgl2s9";
 "babel-romanian.source-1.2l"="pm44w7529qaa4s9n7jyc33qwsfj6vwsb";
-"babel-romansh-2018"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
-"babel-romansh.doc-2018"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
-"babel-romansh.source-2018"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
+"babel-romansh-2019"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
+"babel-romansh.doc-2019"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
+"babel-romansh.source-2019"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
 "babel-samin-1.0c"="2vg2wrjl0pllgbppkx4bcykcjil8driw";
 "babel-samin.doc-1.0c"="k69nnc0vsw2xhrkqilhqzqv9v4h5fy99";
 "babel-samin.source-1.0c"="p7ywdk038cryll8rr2sy8d8m4qb09k5l";
@@ -2053,13 +2096,13 @@
 "babel-swedish-2.3d"="06670d5rm2abf8j7pfm7n6qfapkqnx51";
 "babel-swedish.doc-2.3d"="qi68h0m500mm2lhd5gcns8wkdzwj4vz9";
 "babel-swedish.source-2.3d"="i268zav90a89qacmf2s2dlchag0qby4d";
-"babel-turkish-1.3b"="2bxzkr4ybbjxq47y5a6jnwd9pifh1jk5";
-"babel-turkish.doc-1.3b"="s2a0g0qylhnmlln8l78m49avx9f4g6hi";
-"babel-turkish.source-1.3b"="nz74yb3dky7sg5vss27hw3zb085lvdsj";
+"babel-turkish-1.4"="f9xzk8x8q6gd734xa2kyag3j3lcij81d";
+"babel-turkish.doc-1.4"="43yq2kcxf9gjh1ajnahxia0vbq8sv417";
+"babel-turkish.source-1.4"="yx5ihjbky6ls36nx14lxbvjswasba7vl";
 "babel-welsh-1.1a"="dcjbzz80i41bpzb99wdhb84h60y5qg1r";
 "babel-welsh.doc-1.1a"="5p0mqvs4npnz3g6a08hqkf03n2w4pdc1";
 "babel-welsh.source-1.1a"="9fx2i5lxyf8qc0brlrgas2ajzf013m6j";
-"finbib-2018"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
+"finbib-2019"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
 "gloss-occitan-0.1"="sha467dmibkfwwdnwrq5da744vfz3p5g";
 "gloss-occitan.doc-0.1"="8wfn7as272hvm7nxz0i5m48bf94b5m0z";
 "gloss-occitan.source-0.1"="qv9zd6r6rmjbfsndm7qgsz7x6xkr14ms";
@@ -2069,55 +2112,56 @@
 "hulipsum-1.0"="8pqz5vilzli6in81d604dnkz9024i5s7";
 "hulipsum.doc-1.0"="3sqiw98n02kg8752hzv7vp1r5xysrw0m";
 "hulipsum.source-1.0"="dv9wyvy9cbkvjlc9awaz0mv4vaanz7jn";
-"hyphen-croatian-2018"="cv7bf6sm1aaj5va52r2n3gi0m6127sx0";
-"hyphen-danish-2018"="mnd2pqh630n9pmqsxsi4bxp6gn2jgy59";
-"hyphen-dutch-1.1"="jf1ss3824k3w80c1zy03lp204nzg5afp";
-"hyphen-estonian-2018"="790qsjs836gim3w5ryf6v31d2lnv78d8";
-"hyphen-finnish-2018"="j426pqkdkgnsn7kmg690sy9x32d25z8f";
-"hyphen-friulan-2018"="vb22wrkdv5nfj4hh3gv0j00fgjyzlwq1";
-"hyphen-hungarian-2018"="8n2l8ddpncgpah6hzdkns9x31glbn621";
-"hyphen-hungarian.doc-2018"="a9fpid878wd5s3qadgxg8acv6jwl86ca";
-"hyphen-icelandic-2018"="9d6gvj8k6cr89rq47az2lbwk631za6gr";
-"hyphen-irish-2018"="rd6cy170pr6ispdk6rlxfzibgxzk8n90";
-"hyphen-kurmanji-2018"="rqg9vsvhmpv2lx62z0v4vwp83md9xkfr";
-"hyphen-latin-3.1"="ilnki1hk37xcl4r44lhv2yq9nyakjdfa";
-"hyphen-latvian-2018"="sgq37gysmsi1a5r29vkj0yhj07sil3qr";
-"hyphen-lithuanian-2018"="c728l2cfxbhmmh8mi1mzcdp9baz3x84s";
-"hyphen-norwegian-2018"="hg4bsjj9v9i7gfw2ap6dp2jqn3bld2nx";
-"hyphen-occitan-2018"="m4zjqhvif2j8bh58jghr6qkhk3pkmmaj";
-"hyphen-piedmontese-2018"="7ad1ssibvx0id9vdgpwhrfk1fg3v3k47";
-"hyphen-romanian-2018"="9r34526d2yzzdimr8mb9nsb5qx60py90";
-"hyphen-romansh-2018"="6k24acyjc6yww9bx16cjrf3ym9q5qp62";
-"hyphen-slovenian-2018"="5b48hgm26fi8x0bw0bbaw05h5fi5gx5n";
-"hyphen-swedish-2018"="jhymhvp3ksiy1hdgl7iq3kgd7yqwfz57";
-"hyphen-turkish-2018"="df22cqlj10asl71zvvffsc6kyx1p08ff";
-"hyphen-turkish.source-2018"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
-"hyphen-uppersorbian-2018"="bzh2qk7k16cxkdh4p7r09q5089pzb9g3";
-"hyphen-welsh-2018"="dcnvrs3cxy4yww468qh7rlx9b1ahy1i0";
-"lithuanian-2018"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
-"lithuanian.doc-2018"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
+"hyphen-croatian-2019"="grzf0vvrgp4cfvpq5imffv2259zrq6q6";
+"hyphen-danish-2019"="bdxvb9sjzmqg09464c6327wp49kq086p";
+"hyphen-dutch-1.1"="crz45cdpi6y367jp8i7g9yb5318m3a84";
+"hyphen-estonian-2019"="vxwsi96l9zw99fp6gdfnhyd7nhb2y1q3";
+"hyphen-finnish-2019"="dnyiqmsprb3z7wsw0mld6vg3bgm0gd9v";
+"hyphen-friulan-2019"="saqhzx3finwlkmhxj00145r4p81q4xdx";
+"hyphen-hungarian-2019"="si4gj1fvnw344fic5zga5rniqfg30ah2";
+"hyphen-hungarian.doc-2019"="ycdkj87kpnvaxc5szx0vcacy8rg6i7lj";
+"hyphen-icelandic-2019"="lfzhj0drdf7hw65agf505512qrd1w3kx";
+"hyphen-irish-2019"="h5gqkzicgidjgfbf5cmbbjlpprwwz2lf";
+"hyphen-kurmanji-2019"="pvl2dm38dkdixpng1vxmxnm1nnhkzd93";
+"hyphen-latin-3.1"="7hd8jab460zw2kz5x22zg419jd7pkph3";
+"hyphen-latvian-2019"="6aa8sn34wfb9zdn73ksc828wia123rm7";
+"hyphen-lithuanian-2019"="4rb6hpipx7cazglf9lzbfc2n5nfrjymm";
+"hyphen-norwegian-2019"="lb2drbj64qpikapvajfhsk8z06gjn0wz";
+"hyphen-occitan-2019"="1zf4mf08zwr170rd6p28r4p8vad5rwyc";
+"hyphen-piedmontese-2019"="34ibkb5fq0qdmn8nr85mv626387303lw";
+"hyphen-romanian-2019"="vlyvfwvfrfj51kriz2z26my886ab9l8x";
+"hyphen-romansh-2019"="alahn7f907i3pg5hhzib4j50vqxhvxn3";
+"hyphen-slovenian-2019"="cf4gm595n5q68ibz0jzk9sdsv1wngml1";
+"hyphen-swedish-2019"="rkdlzsd4vnl8080gcfwsa89q8yg6jhmj";
+"hyphen-turkish-2019"="93zyzrjw297abia8r4rnsmr4hfdhr0qa";
+"hyphen-turkish.source-2019"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
+"hyphen-uppersorbian-2019"="ix9j2rzdwp3j1xr45yzy747g3iw9ws58";
+"hyphen-welsh-2019"="r3d6rd54889fd0n1gm67lmkqblf6jrcl";
+"lithuanian-2019"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
+"lithuanian.doc-2019"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
 "lshort-dutch.doc-1.3"="rswbmzd9fkb0bwbc054pb0raa8zv2lfx";
 "lshort-estonian.doc-5.05"="2xqk5n14f2lizqdisir199mark4y5v2k";
-"lshort-finnish.doc-2018"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
+"lshort-finnish.doc-2019"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
 "lshort-slovenian.doc-4.20"="1w0g2p1l4p456wsx86ihdpadm8lhhcgn";
 "lshort-turkish.doc-4.20"="py0d16ij5gswbli1bgi4z63vajsahwjp";
 "nevelok-1.03"="v5hds3a09c91d79iac1qsyf0mr6lpaqg";
 "nevelok.doc-1.03"="biq2dbyv6mak992s0cqb834k119xfa0p";
 "nevelok.source-1.03"="5c03z6r25gidf0bncaanw1259n1hcdw0";
-"swebib-2018"="5z0719m62712flc3ylrnp5223gbsk98n";
-"swebib.doc-2018"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
+"swebib-2019"="5z0719m62712flc3ylrnp5223gbsk98n";
+"swebib.doc-2019"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
 "turkmen-0.2"="r8ryr694sxginv96wy2ibwg7mjwckmy0";
 "turkmen.doc-0.2"="ry7di8dm2nk9gbylnm58zrmlpilbch55";
 "turkmen.source-0.2"="jab2389x3cj6hhg0imkfbjcglclqap2s";
-"aeguill-2018"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
-"aeguill.doc-2018"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
+"aeguill-2019"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
+"aeguill.doc-2019"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
+"apprendre-a-programmer-en-tex.doc-2019"="ra7bkghkmm4cl88fi1vn3rf9yy1kzya9";
 "apprends-latex.doc-4.02"="fy3lj0gsk1nkcfp2ssyfm26a7ih2ysf5";
 "babel-basque-1.0f"="dasllbbd2k1yhqdwm41i38870lzp9caa";
 "babel-basque.doc-1.0f"="av6dd29g89fsq2hgva9fj4h2myj95jxk";
 "babel-basque.source-1.0f"="mvvhhqj4jd107zicv0gv8yhgjkjhxl33";
-"babel-french-3.5d"="qc7286jpsvi2h7ddckwwqc9gsql6wsnz";
-"babel-french.doc-3.5d"="ybzzhqykpwndzan12j0w30bpfwawsn04";
-"babel-french.source-3.5d"="rdwzmnx7z8ral5v2d9l3ipc20ci1dk63";
+"babel-french-3.5f"="0ppxkaqkqmm37n1m7q34fnjjhdb2s3sr";
+"babel-french.doc-3.5f"="gn6cbcp59q2f4xjls8sc4b81d9l85can";
+"babel-french.source-3.5f"="dv9ryaq0sppxgmd33pyp47g07hb08m7r";
 "basque-book-1.20"="6gmya3w1jnv20p9zyn3b8b095csb45cj";
 "basque-book.doc-1.20"="njw9j7s7mlx35ckjg0z404fizyxpn74n";
 "basque-book.source-1.20"="wydda9ij2ibwnhd8b0pg48bf2f1g969f";
@@ -2132,29 +2176,28 @@
 "booktabs-fr.doc-1.00"="8nmky9zjr4s9s8kikir9l4w6y69yk1vr";
 "droit-fr-1.2"="kqd2m29if8y21y5l72z5k0f6dafm95sj";
 "droit-fr.doc-1.2"="ss2xw9f26frzv9m2xvwbmvgagdhabc69";
-"e-french-6.02"="pmygb69ikswsllkszbzp04dkvpip6941";
-"e-french.doc-6.02"="x22dp2kzcwfyla8ccbc5jkwrjnkjjvl5";
-"epslatex-fr.doc-2018"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
+"e-french-6.11"="y1yab7pd915kbnwi20zair37a9haf2is";
+"e-french.doc-6.11"="9dcj407a8vn2j4h3q54s2wrbj5fiawm1";
+"epslatex-fr.doc-2019"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
 "facture-1.2.2"="ys1fq6vkml8gnfc6bjkx2lkbdw2w0fsn";
 "facture.doc-1.2.2"="ij99my45fi9m1lcc79rj6kyxggmv4v3r";
 "facture.source-1.2.2"="aywgffiyigrwxv9lipf7a131mycjp839";
-"formation-latex-ul.doc-2016.11-3"="rs68mnwbwwgn4gs8z4w8cr3w04indrf4";
-"formation-latex-ul.source-2016.11-3"="lrk1fnmfi50ihqr6bi5s3896qf0gqvr0";
-"frenchmath-1.0"="99qkcra80s4f4fpp8fvx21g1mpk76q5b";
-"frenchmath.doc-1.0"="9maricfk62l53flwkn2d9a08z90p100y";
-"frenchmath.source-1.0"="7ir1lmpn3abcp4lmvgzyd1zykdlaldhn";
-"frletter-2018"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
-"frletter.doc-2018"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
-"guide-latex-fr.doc-3.0"="r5r8pyq8xg018jzvg9nkf6g3isdfkdv6";
-"hyphen-basque-2018"="r4q14zb56w7sw8nq39l72xd5x5cmb21m";
-"hyphen-basque.source-2018"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
-"hyphen-french-2018"="4bvmaxyym4n756qjfsk7mnqkcxp64pb2";
-"impatient-fr.doc-2018"="sjzbiaxr5cvnqxn7bylr5zhrkq46l1v8";
-"impnattypo-1.4"="yi9xrsbs2crfwwjjgnxg0sybn8ygjr32";
-"impnattypo.doc-1.4"="cai1yyf5ipgjips10l1nsid8dz09kvg8";
-"impnattypo.source-1.4"="r7n5sihj35zm708k6cxs4xs71gz4msvn";
+"formation-latex-ul.doc-2019.03"="i0f7ij9m4h02vxd21hs3iw7m23qlgjii";
+"formation-latex-ul.source-2019.03"="3g9v9qrcjkd5dms6aa3zdlr7q0sy572b";
+"frenchmath-1.4"="nvxiiich6w76xzsn9a73sg6d9gl79klb";
+"frenchmath.doc-1.4"="h6h3ywj67r11ljpy6passw07jm8v7zp4";
+"frenchmath.source-1.4"="ansrjlrbxv1ph59ngvr3p53bw04j9cnd";
+"frletter-2019"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
+"frletter.doc-2019"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
+"hyphen-basque-2019"="w1l71iknyndr7smz1yv35asm8wgzfzqn";
+"hyphen-basque.source-2019"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
+"hyphen-french-2019"="if688jvpcwzcig5qfm1scj4spqkazga6";
+"impatient-fr.doc-2019"="sjzbiaxr5cvnqxn7bylr5zhrkq46l1v8";
+"impnattypo-1.5"="ypvjmb0ys3c5f0mdlcsiljjb94h567wv";
+"impnattypo.doc-1.5"="q72pgsqjgmxrgclh3lziqv83h1r6020j";
+"impnattypo.source-1.5"="z4vzzjjhrxpaj91zqhzg6mx52av49qkq";
 "l2tabu-french.doc-2.3"="ncl8is1rmnk3n9ybrsav882w5qsb1w2k";
-"latex2e-help-texinfo-fr.doc-2018"="0n3q8gzd8xjhl92yyq2526sjsgl3jhid";
+"latex2e-help-texinfo-fr.doc-2019"="0n3q8gzd8xjhl92yyq2526sjsgl3jhid";
 "lshort-french.doc-5.01fr-0"="33vkjmz23zk2jrzyw99zri58jm0cpxax";
 "mafr-1.0"="vl6jgzlqqyn70cndvj91nnkmcxas15j8";
 "mafr.doc-1.0"="v44yahqn2gnnfbnf1ayqr96va6y49aij";
@@ -2164,16 +2207,16 @@
 "tdsfrmath-1.3"="5nz3qrfq13xyhabzww6092mb13014rhj";
 "tdsfrmath.doc-1.3"="8nnvlh3hw79z3k6c6vsvgnvkq814ldsv";
 "tdsfrmath.source-1.3"="3hfid9ih338p675pz6440f3ds5r3s646";
-"texlive-fr.doc-2018"="j8zcjpxz4nwsbnzfrwfk1icpb8mawhdr";
-"translation-array-fr.doc-2018"="yia92yfpyrwv26vh12kks8arbsda05z4";
-"translation-dcolumn-fr.doc-2018"="acapy2zx06rsxwg810avmphyjjxca6gi";
-"translation-natbib-fr.doc-2018"="8yvcb3s928s5lldgy65idpfw23pb46z2";
-"translation-tabbing-fr.doc-2018"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
+"texlive-fr.doc-2019"="aj8pzb3xfjzrwycxfchsihm726bid2kv";
+"translation-array-fr.doc-2019"="yia92yfpyrwv26vh12kks8arbsda05z4";
+"translation-dcolumn-fr.doc-2019"="acapy2zx06rsxwg810avmphyjjxca6gi";
+"translation-natbib-fr.doc-2019"="8yvcb3s928s5lldgy65idpfw23pb46z2";
+"translation-tabbing-fr.doc-2019"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
 "variations-0.3"="md5bnc4jaiva00gkdjyd63x67hyd09si";
 "variations.doc-0.3"="pxbpjpnsfz728czc4pjfy2nfr88dzmr8";
 "visualtikz.doc-0.65"="2rc26mlib7xnlpgc2l82ky4fcpyv7013";
-"apalike-german-2018"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
-"apalike-german.doc-2018"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
+"apalike-german-2019"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
+"apalike-german.doc-2019"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
 "babel-german-2.11"="8y70chxahg5anippladkwlh4aj94hpa7";
 "babel-german.doc-2.11"="zrlg0a334h7v2j66llw25977klr1az6k";
 "babel-german.source-2.11"="igzl8plqhs6fhs8zgfhanzsz49acbr4n";
@@ -2181,13 +2224,13 @@
 "bibleref-german.doc-1.0a"="yc6vn69gsdsl3vxhg6klip8m6wkffyy0";
 "booktabs-de.doc-1.61803"="wcz4xqg22sijz3rczwk6nfnb0pk074ih";
 "csquotes-de.doc-1.01"="bksp4f2zywwkv5qw4njincxbpgcvz7dg";
-"dehyph-exptl-0.5"="hra8cm76i1iz138sghrapbfw04xcng64";
-"dehyph-exptl.doc-0.5"="451h6rzy02p5fy97ms90h8gbz6kzvh6w";
+"dehyph-exptl-0.6"="ssjjz287qzi9bh4l9mfchx64qwd547ly";
+"dehyph-exptl.doc-0.6"="ggw931bx7r04hxp7dmlrl3gjfxfr0gi4";
 "dhua-0.11"="4n8cvm61marrsbxd7308xw089j0q2wlj";
 "dhua.doc-0.11"="kisr6kymm9v5kk9nfxi0ckdf6k8mhr91";
 "dhua.source-0.11"="a9ap1rwrqqwh394c6hjqx5nlw070iwp6";
-"einfuehrung.doc-2018"="x668r5llhw28bqdr3k32yynf3720bdna";
-"einfuehrung2.doc-2018"="mwzp79i9w8ci8dxpnk4z4k6l9akj1qf8";
+"einfuehrung.doc-2019"="x668r5llhw28bqdr3k32yynf3720bdna";
+"einfuehrung2.doc-2019"="mwzp79i9w8ci8dxpnk4z4k6l9akj1qf8";
 "etdipa.doc-2.6"="cid5wjvbs4hl5lwczp1s1wbdwxfwr24n";
 "etoolbox-de.doc-1"="z53x50c71bvipgvgklp42n1yb50fq8gx";
 "fifinddo-info.doc-1.1b"="d7l7nsb4aj2b7nin8whkif0m5pcv11py";
@@ -2196,45 +2239,45 @@
 "german-2.5e"="mwin3zb743v74c97aizyiy86zj1pmdi2";
 "german.doc-2.5e"="invdh78rq8chiirzdlvijssdah8hsyk2";
 "german.source-2.5e"="zs1qxbd8r3bfyq77vaak9srxjxxn213v";
-"germbib-2018"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
-"germbib.doc-2018"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
+"germbib-2019"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
+"germbib.doc-2019"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
 "germkorr-1.0"="szywjh1bj2jqc6zqs5d1y1dwxq9h8540";
 "germkorr.doc-1.0"="bycbcbfrqs1r8l939kdm9f6s395rc5fh";
-"hausarbeit-jura-1.5"="0pifqdiq22zs94z9ywfdirgljp11a2g8";
-"hausarbeit-jura.doc-1.5"="9vvkmp35qa1ygwj0isib5wsf12nnfs4f";
-"hausarbeit-jura.source-1.5"="zc6g0yd997syp0j8dlkbzkvk29syph7b";
-"hyphen-german-2018"="f0bb4ql01d63szv22w4d2s9yjj5v0gnp";
-"koma-script-examples.doc-2018"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
+"hausarbeit-jura-2.0"="aismjxs0dxac6lvwfink46aci9lwvv78";
+"hausarbeit-jura.doc-2.0"="qg3sx0a4l44hx56v4gs7y3vlmmlsg5xg";
+"hausarbeit-jura.source-2.0"="pj7cdl7rgwwlry37pkhm1l9k5c1wvynz";
+"hyphen-german-2019"="rk2xjqr0iq16694zjjgggmsz53a2z591";
+"koma-script-examples.doc-2019"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
 "l2picfaq.doc-1.50"="35c7cwi94qazkf5351kj5hl58xil9nms";
 "l2tabu.doc-2.4"="4sab9w752r7xr6l9a6sxig4q0sdfvfxr";
-"latex-bib-ex.doc-2018"="51d5jw2dmp9rvy8bqxzw6clls5aqi189";
-"latex-bib2-ex.doc-2018"="rggjiidvpwxfd978rkmkwmg70w7amnpi";
+"latex-bib-ex.doc-2019"="51d5jw2dmp9rvy8bqxzw6clls5aqi189";
+"latex-bib2-ex.doc-2019"="rggjiidvpwxfd978rkmkwmg70w7amnpi";
 "latex-referenz.doc-2"="463iyb1dhx6kdsqqb4crgdh0xgmrckpp";
-"latex-tabellen.doc-2018"="9y8yqyrkv49pj1v58nmf5qyibyphnias";
-"latexcheat-de.doc-2018"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
+"latex-tabellen.doc-2019"="9y8yqyrkv49pj1v58nmf5qyibyphnias";
+"latexcheat-de.doc-2019"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
 "lshort-german.doc-3.0c"="aplln16lhlxfrck1lgjgsrng7zbgpsqr";
 "lualatex-doc-de.doc-1.0"="9l7ac63knl5cd6lxmrbnmjj8s0nwp5bh";
 "microtype-de.doc-2.4"="22zsps3wqlz58x3x1i3wadbn5jp9mba7";
 "milog-1.0"="lz3w4rhsgbl699hh8431yw6a9si6y9yy";
 "milog.doc-1.0"="zf9qx558g8z5xl906x391c6hylz57x8x";
-"presentations.doc-2018"="rczfpy5ayw0h07xlqhw4k2isp080g2ar";
+"presentations.doc-2019"="rczfpy5ayw0h07xlqhw4k2isp080g2ar";
 "r_und_s-1.3i"="8vn7cjc42dvny30pkgp768yy87z9d2b8";
 "r_und_s.doc-1.3i"="pk63m1jl1yzz2xqiwynpph3nrlri1hkl";
-"templates-fenn.doc-2018"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
-"templates-sommer.doc-2018"="6n6saza6xd8mjys1ckfy0362sdya4616";
+"templates-fenn.doc-2019"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
+"templates-sommer.doc-2019"="6n6saza6xd8mjys1ckfy0362sdya4616";
 "termcal-de-2.0"="pql7q4dqaqgg0arqgg7l8iz4hwxrxd7x";
 "termcal-de.doc-2.0"="fpjnpzi59rrqg44j513w4d6f9cqi7ik0";
 "termcal-de.source-2.0"="myc9fjxig0z3dirj1brla1q70ryrczrr";
-"texlive-de.doc-2018"="5xnd0gii9rd1z09xwkc884s73ycc6mpj";
+"texlive-de.doc-2019"="6h0bib93hy99z40gbmr5vgacwkyxs5df";
 "tipa-de.doc-1.3"="aa0msh91ynxxigmbxwy72i05g095fwxg";
-"translation-arsclassica-de.doc-2018"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
+"translation-arsclassica-de.doc-2019"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
 "translation-biblatex-de.doc-3.0"="0wan8bpq95jpa0bsx79hfhi9882vbrr3";
-"translation-chemsym-de.doc-2018"="khd057lr5p42wqz3p6n58d2z25jdknrp";
-"translation-ecv-de.doc-2018"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
-"translation-enumitem-de.doc-2018"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
-"translation-europecv-de.doc-2018"="541qkhphqn2f3bba6prrf2npqxl022ah";
-"translation-filecontents-de.doc-2018"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
-"translation-moreverb-de.doc-2018"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
+"translation-chemsym-de.doc-2019"="khd057lr5p42wqz3p6n58d2z25jdknrp";
+"translation-ecv-de.doc-2019"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
+"translation-enumitem-de.doc-2019"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
+"translation-europecv-de.doc-2019"="541qkhphqn2f3bba6prrf2npqxl022ah";
+"translation-filecontents-de.doc-2019"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
+"translation-moreverb-de.doc-2019"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
 "udesoftec-1.6.2"="wr18qlcg3fmqhfh9sji9qzxg4m3jn9fb";
 "udesoftec.doc-1.6.2"="snycjxc23rmgkdydpxjyqkzvq8qkklq3";
 "udesoftec.source-1.6.2"="b9y4rrqycqayx419ck7ni9y5fvhbjymz";
@@ -2244,9 +2287,9 @@
 "umlaute.doc-2.1"="hkjv5ym6954i5l2qxv3jm3p1prbn55h9";
 "umlaute.source-2.1"="p6217bas6hm8kksip8jkb2bhdpa9p91w";
 "voss-mathcol.doc-0.1"="f15dshkczyv9r9a6vzps3ls1cz95sk8v";
-"babel-greek-1.9g"="bm4k91lz9a1pfnl4jpn04idl2c08lyd0";
-"babel-greek.doc-1.9g"="y7jwlw980gigm0n059d2xsq1f93v2h9k";
-"babel-greek.source-1.9g"="qm52xxg59kdwbn680zrr9qdziagr69jk";
+"babel-greek-1.9h"="jpp35w9yqg8hza1hc4m5mrf2l9vm9v3c";
+"babel-greek.doc-1.9h"="xphz8d4rvcmxx9iwj0mz70xgyh7kpgm4";
+"babel-greek.source-1.9h"="w3ykv1fis8rxkyq501lmrisb7bmr5qlq";
 "begingreek-1.5"="7v94fdb2kxzwgvcsjfd5gnqpjhsrgp9i";
 "begingreek.doc-1.5"="rgiglmyfkxghz1w9g67lyx28rvk2bwgc";
 "begingreek.source-1.5"="jscz6nq9n7aq1l3j86xyvki200ja40p5";
@@ -2258,31 +2301,31 @@
 "gfsbaskerville.doc-1.0"="7sx91lqgpn4w4xgbdbpsk41i5mxixqf2";
 "gfsporson-1.01"="k6gimiba8zfbnf4wc4zjrmwwc7ggnxkg";
 "gfsporson.doc-1.01"="6i47g0k5ys9q394g6q0a3686q4h75gz3";
-"greek-fontenc-0.13.2"="2hc7j372kndq25ygcbyp0d18wmvsdkcl";
-"greek-fontenc.doc-0.13.2"="5mid6q0ffbj3fdnsy4477wbcj2jxcmmz";
-"greek-inputenc-1.6"="nn3hvxmpgpr5jhj5l90dhl2c5lxg7q24";
-"greek-inputenc.doc-1.6"="16qrcffmf30w69vrgjd8ahdnhvap4nri";
+"greek-fontenc-0.13.4"="9hvk62x7gyl6r4m0ndzj3as3hxjf193a";
+"greek-fontenc.doc-0.13.4"="mc5jx7gysvhk5kygzga6vcmmm0kl7hjr";
+"greek-inputenc-1.7"="4fwqx35kx5yqpbg8hy83pgpm45gm1q6d";
+"greek-inputenc.doc-1.7"="1fwpw7k0xwbfgp38dxr9vw4hds93jbhm";
 "greekdates-1.0"="zm8cfpsxp12s6n38n7lgzha482124m7v";
 "greekdates.doc-1.0"="lyhisq5vmvxpmc1g59dxnpkxnvziddzk";
 "greekdates.source-1.0"="dy4cbvglp6fv0fd13mlm4x5wjfg97889";
-"greektex-2018"="zmms6d4vix6nzw6jc06iir73wj9swvir";
-"greektex.doc-2018"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
-"greektonoi-2018"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
-"greektonoi.doc-2018"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
-"hyphen-ancientgreek-2018"="ka83ajw227cj0qyp8dwib7xbzs6cclwg";
-"hyphen-greek-5"="l4fimplgxjkk90xw4kyghdgidgar6149";
+"greektex-2019"="zmms6d4vix6nzw6jc06iir73wj9swvir";
+"greektex.doc-2019"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
+"greektonoi-2019"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
+"greektonoi.doc-2019"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
+"hyphen-ancientgreek-2019"="ylhxgwgkrwrrmyl45gy4szngqmgnjmwq";
+"hyphen-greek-5"="s5j9z3lw4dgd6kb1nxay76jh143mpips";
 "hyphen-greek.doc-5"="r6v8qyqkrvnqn6729i7p3ah3vmgxnzrn";
 "ibycus-babel-3.0"="m0m76cgm1k930h85s6hi9qnlh86gf8z9";
 "ibycus-babel.doc-3.0"="fyc9gdakl47jq7p76pxi9l3ggqsqfwqg";
 "ibycus-babel.source-3.0"="samw380w28p4621z2f9fav06i9dzj3b0";
 "ibygrk-4.5"="3xwia8yqznfai0wjz7rc63dizdfc3n94";
 "ibygrk.doc-4.5"="ydy3swiwjr9r1j40fhkwhd2d7z614ipa";
-"kerkis-2018"="ydv39ycvib03pkw5pvvnv6mjyvrij0rc";
-"kerkis.doc-2018"="admp7blm0nd44qcnqqxd0bpwxskz7dqm";
-"levy-2018"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
-"levy.doc-2018"="y92455xr0yq62ppxd650vvxaknkb5qym";
-"lgreek-2018"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
-"lgreek.doc-2018"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
+"kerkis-2019"="ydv39ycvib03pkw5pvvnv6mjyvrij0rc";
+"kerkis.doc-2019"="admp7blm0nd44qcnqqxd0bpwxskz7dqm";
+"levy-2019"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
+"levy.doc-2019"="y92455xr0yq62ppxd650vvxaknkb5qym";
+"lgreek-2019"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
+"lgreek.doc-2019"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
 "mkgrkindex-2.0"="v5hb36lspx6xyzzpm8ryprr7mwwpcrm5";
 "mkgrkindex.doc-2.0"="mfpkm8mm8n0nqhzgnm70yjy16lzjvvhd";
 "teubner-4.8"="7h0mh95kwrp8l3im9fq4m4my65hxcwpd";
@@ -2291,25 +2334,25 @@
 "xgreek-3.0.1"="742vxyljmp433rk26ap2rjqbfd7802ys";
 "xgreek.doc-3.0.1"="qdgh9jnqimis40pf5gj383j01ynx4cqb";
 "xgreek.source-3.0.1"="33imiba9m0sxmjxilflqzsysgr7vdv1q";
-"yannisgr-2018"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
-"yannisgr.doc-2018"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
-"amsldoc-it.doc-2018"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
-"amsmath-it.doc-2018"="mrz7iav2jpify9h3vz703x863km3vb9r";
-"amsthdoc-it.doc-2018"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
+"yannisgr-2019"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
+"yannisgr.doc-2019"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
+"amsldoc-it.doc-2019"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
+"amsmath-it.doc-2019"="mrz7iav2jpify9h3vz703x863km3vb9r";
+"amsthdoc-it.doc-2019"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
 "babel-italian-1.4.01"="06yw3wwnbx72006dxyr7lcym51qxnsdv";
 "babel-italian.doc-1.4.01"="45s0vhvdr1ji95jf9ryvyxpgixcb9q3m";
 "babel-italian.source-1.4.01"="milncc712c5mh0lmpvvap7bzc4rbniln";
 "codicefiscaleitaliano-1.2"="gqzlc6agkwysk75lzdxbkz4azawzyrjh";
 "codicefiscaleitaliano.doc-1.2"="c7spaihgf2fdimihsg5cf7xn5bczkw97";
 "codicefiscaleitaliano.source-1.2"="vxi0halq6yx9gwd0vkcmjx6am7dnjjg1";
-"fancyhdr-it.doc-2018"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
+"fancyhdr-it.doc-2019"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
 "fixltxhyph-0.4"="gkadi0h5794bxkkb809162a1z7aicw78";
 "fixltxhyph.doc-0.4"="l2xq1rsc95fbk3saqnx86l9d73mvm92v";
 "fixltxhyph.source-0.4"="4nhcwfdf5gs7fc5iy5fph8yiq4wavjp3";
 "frontespizio-1.4a"="mqcrdj4b2abhq70zx1alxdm6hs3n4xnz";
 "frontespizio.doc-1.4a"="g6i79280jdkwhp4q9l69h7icm11l78bl";
 "frontespizio.source-1.4a"="gmdqk3hajrn0k5dhcdmyn1a7vxz6f3y7";
-"hyphen-italian-4.8g"="jxawdbihs3j2pypzkd73qj2ax7lkpk0w";
+"hyphen-italian-4.8g"="scvfw1wwqf0d6iln142b6k057n3x6740";
 "itnumpar-1.0"="39ydhr855c2sb1xwfd12v61pphzmbc7g";
 "itnumpar.doc-1.0"="2qdpfrsffqfqvd42nn8yhicp8p3vvzk5";
 "itnumpar.source-1.0"="xd2bbq62fn23gbii6147m3n1c16pcgjb";
@@ -2318,110 +2361,118 @@
 "layaureo-0.2"="7qqhm139n1afxdpsmikzdyn7pn09hv9x";
 "layaureo.doc-0.2"="pf22ypfazq7hwxpfiidcvkd24zs1gys3";
 "layaureo.source-0.2"="3q0ixl7rw7sz7n2bfd8gyfnglfcq2hcs";
-"lshort-italian.doc-2018"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
-"psfrag-italian.doc-2018"="xb8qlcz7f0za963yybhjvbyjq37z516f";
-"texlive-it.doc-2018"="kdjyd81g1ihnswgja038hywk1hi8q987";
+"lshort-italian.doc-2019"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
+"psfrag-italian.doc-2019"="xb8qlcz7f0za963yybhjvbyjq37z516f";
+"texlive-it.doc-2019"="nsbjkzxjwlrbbrciv2qdy6lrfn4ddk66";
 "ascmac-2.0h"="vg8n2gvl9s08xkmhj2jf617fc18b3mzw";
 "ascmac.doc-2.0h"="xi9mjz1aip4x366d3dj71x7bjsznbxk3";
 "ascmac.source-2.0h"="7v01dn2p724l7qh0xhqi7gflxrrcd561";
-"babel-japanese-2.1"="jvwjzk00mbywd64cjgchn58lcvvdm2lz";
-"babel-japanese.doc-2.1"="xy5s8j84q60va5jm7b39lmncjrxyr4c1";
-"babel-japanese.source-2.1"="mi0ahdg238r2ra2l91vp4wpfad32ahsa";
+"babel-japanese-2.2"="s8sj89mjl5fxb2cr87qn9ix0fyy7if6m";
+"babel-japanese.doc-2.2"="rxwigd9cjla62cw4sgg3j4wvz9f0q8gr";
+"babel-japanese.source-2.2"="01qb909xr4k1kcjk8dz2dpiqwfx5awdx";
 "bxbase-1.1"="9qcjdyngscll1bkc1g0i9d50hjrvnbjv";
 "bxbase.doc-1.1"="icyayz4cr8p3zgbby8zaypclximpiyqf";
 "bxcjkjatype-0.3"="94n8gv2433510cq05vl97zrna0gyya1z";
 "bxcjkjatype.doc-0.3"="z6rarps2vgxp061w0q8amki68j51yqlx";
+"bxghost-0.2.0"="b0lc2wxk3fvsfrg2xg602bz6vi7igdrw";
+"bxghost.doc-0.2.0"="f8wg3ynqd7gpkiym9v6yr9q5fafxk81w";
 "bxjaholiday-1.0.0"="w9mdw9zrcrrf988z2vd314bn0dqr4pd0";
 "bxjaholiday.doc-1.0.0"="yq903l1in5hwp20wj9i2kz4qmx3y0aqs";
 "bxjalipsum-0.3a"="d6svafibkkjc5p3hjzrc8ibb2fwmm05c";
 "bxjalipsum.doc-0.3a"="srwc07mapyqn9hq6hy26gxaj6khy9ffh";
 "bxjaprnind-0.3b"="8pfq18sbkvqzb2may5j4n8xadgjb8a9l";
 "bxjaprnind.doc-0.3b"="1vsxn97w48hn05il79byfms5w6749xpc";
-"bxjscls-1.9e"="6ws4zprnk4jdi02bb0f40b8qbz3ykqr8";
-"bxjscls.doc-1.9e"="nr7swpkkaiz9rhiqfjj29nnpngqz4zqa";
-"bxjscls.source-1.9e"="6jvf86zk4phf8zss6chmxmd3sn387w82";
+"bxjscls-1.9h"="mbijcs5l9pp7yrgxyp6bdm76311j4mg7";
+"bxjscls.doc-1.9h"="ad3ghzb8yk72vb12kkknkxwdwpsdydjg";
+"bxjscls.source-1.9h"="9wnggpzky4wb4xrq1nays7id0ipp4c65";
 "bxorigcapt-0.3"="lbrfjjqsjm4n5b7byyrhm1akbmxxap6d";
 "bxorigcapt.doc-0.3"="grspvjmbrcjq91wgi6l3a73y5l7nnl4m";
-"bxwareki-0.4"="i2zkcwihsvwra68ra3hjqsx7jg8ynp2m";
-"bxwareki.doc-0.4"="bn75wzf1sy873x6i6ndwhn1lg69j107l";
+"bxwareki-0.6"="rgw2day3m4vr0k6d2mbhrpy8anmzklc1";
+"bxwareki.doc-0.6"="5vh5zrnjy6mb8cg0q2zz1sgb2llz2anr";
 "convbkmk-0.30"="0y0b4dana3gnh74j0y43yp3f8ng0fm2v";
 "convbkmk.doc-0.30"="nvi9mfw8iiw923v54fdi5pk7r93y7vsc";
 "endnotesj-3.0"="p1524a2l6zsh2gl28im4rxzr7afy323b";
 "endnotesj.doc-3.0"="ksn1n0s90shsi65kgw4bppanfsbxrq0z";
-"gentombow-2018"="pan1qvldiba5ah4y8xpkqssdj2z91iy3";
-"gentombow.doc-2018"="9xd7idfwygrhzav3pmhpx4hiqndyc7qc";
+"gentombow-2019"="zw6yd6x0kz3kv5s46ka0f27vyib714jn";
+"gentombow.doc-2019"="qpxjmhszws8x3zk749dj0dakqv6qskhk";
+"gentombow.source-2019"="wccfbmzqqpls622zq1xlqybl7vkyjryg";
 "ifptex-1.2c"="g067kqkal711mapnw2lfqspj557ddr9j";
 "ifptex.doc-1.2c"="x22bmp95nh3g718b8b9ls535vv1nkzck";
 "ifxptex-0.2"="db7waqqfn8nrn8b3z4dh7dy846f2zxad";
 "ifxptex.doc-0.2"="y1039vpyrh9k2dyi1xws45a1gj3b6dv1";
-"ipaex-2018"="ib3p210rjr3h73257p7swchy3w1in5bh";
-"ipaex.doc-2018"="1rvvg102vks3ai8pf8yykckd3c9jhmz1";
-"japanese-otf-1.7b7"="dcsxgzfmjbwad1i7shnwncmjjsnqfz85";
-"japanese-otf.doc-1.7b7"="lqsy2p1mkbn8qn5i7bs3ssxacisa98lz";
-"japanese-otf.source-1.7b7"="xqyac57c0ldg3fq2qiws6wz9yaxkgy71";
-"japanese-otf-uptex-0.22"="3bnhd52rq28ing1pf9qqsx6x8qxnkm6q";
-"japanese-otf-uptex.doc-0.22"="hdbcwkbyhb2riz1xc18kf86zn1365kj0";
-"japanese-otf-uptex.source-0.22"="pn7k6mfv4frlxgz2lg6hfr1h7mm21clm";
-"jlreq-2018"="mn9w223ffh64p3qgn736rnrm1xw4n0br";
-"jlreq.doc-2018"="yjkg18wbv0ygswmldxc974caq5dfa6b8";
-"jsclasses-2018"="sak3rjfh4i097kllrpgfsxfifsnvh6c1";
-"jsclasses.doc-2018"="dm4j36xxg7323bdiv5wa615kqicy0p9l";
-"jsclasses.source-2018"="a6j1b323asfpf29bylv9djn0x6nrhi7y";
-"lshort-japanese.doc-2018"="5b8svqq4w1ipn3737s73pk969s8yv63d";
-"luatexja-20190225.0"="62zn5acz205qn7k0670swp6n8z2di5ac";
-"luatexja.doc-20190225.0"="1wm9ygm27cz6iqspi440rla5ys20pg2w";
-"luatexja.source-20190225.0"="j362wqi5sh7gyznj5z6nvfljmrzy03w6";
-"mendex-doc.doc-2018"="4wkds7kkvz3mhbvs8xzh4ngrm0r0yx77";
-"morisawa-2018"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
-"morisawa.doc-2018"="cy0li43jphfx3x8x2ddf57f040s8ygim";
-"morisawa.source-2018"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
-"pbibtex-base-2018"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
-"pbibtex-base.doc-2018"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
-"platex-2018"="9bpjgh190wbc5vy8c7kgy0jx6j655spx";
-"platex.doc-2018"="hzj9z805l5ybc928hzzarccnj3ja762l";
-"platex.source-2018"="s2yrykfx3k466s037f3yvjq4037wpq1l";
-"ptex.doc-2018"="i71l58533az6ihp6pg3ghyzz70k4waml";
-"ptex-base-2018"="kd45yx6zdsks4iyq60rqmjd0vkv3xsv5";
-"ptex-base.doc-2018"="jjc6f6k0sy2ibdpq9lvzld2wiha4hqqc";
-"ptex-fonts-2018"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
-"ptex-fonts.doc-2018"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
-"platex-tools-2018"="l1y5cbc1sy35c3xh6cqf8aahf0vrv5as";
-"platex-tools.doc-2018"="5545h2k362c6vkr4hmx7ld2wc2bbpgn6";
+"ipaex-2019"="pxy5kyyznzddkci3pzdb7fla8gsfsqm5";
+"ipaex.doc-2019"="bv4h64z9gnd6jf3mx85b45dqxalicjcl";
+"japanese-otf-1.7b8"="n7pnmaclyp3yb8rfn3n59g6jdy5k349r";
+"japanese-otf.doc-1.7b8"="kszig0vk5dwk708vff5cfnhcfx0rp39d";
+"japanese-otf.source-1.7b8"="dp0djxlqid3irac8y2zfh0x3r31r305d";
+"japanese-otf-uptex-0.24"="nwq1y9kihylj9y2f0clmy5nrmhiwr9q1";
+"japanese-otf-uptex.doc-0.24"="kr9fwl8hz0dmrs0a1pzkd1g51a4p3qrn";
+"japanese-otf-uptex.source-0.24"="yz6zz6i07i2d1cf1wp80n44nnh77bqly";
+"jlreq-2019"="msjg3lk1b16bcniavl9qddrwv1g9vzm4";
+"jlreq.doc-2019"="5pyv4k244lvdsw92cxivajw8v9s14msi";
+"jsclasses-2019"="j7pgchywpy98am8wa34clkzv5qh9m6gq";
+"jsclasses.doc-2019"="k1mk1j86p2nm0c3943msf8vyd1hjnmwl";
+"jsclasses.source-2019"="8p0j6pfmfv2wxgyk8x2yfn1h9ir1kz0d";
+"lshort-japanese.doc-2019"="5b8svqq4w1ipn3737s73pk969s8yv63d";
+"luatexja-20190926.0"="191dbfq87cajs74dfy0fnrlw6pmi27l1";
+"luatexja.doc-20190926.0"="ygs2lvpk15iq5q780f480n69gxc0wym9";
+"luatexja.source-20190926.0"="p6r0392sp05x607pi2zyacqd18h52hv6";
+"mendex-doc.doc-2019"="vp31541i0l4rfkijbng5zj0q4cmbdz19";
+"mendex-doc.source-2019"="2w1ibgiylpczrzp9xhl7lidn8y2yhnn6";
+"morisawa-2019"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
+"morisawa.doc-2019"="cy0li43jphfx3x8x2ddf57f040s8ygim";
+"morisawa.source-2019"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
+"pbibtex-base-2019"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
+"pbibtex-base.doc-2019"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
+"platex-2019"="kgcfk8b8x506aik95228jp3gbv7zmgxy";
+"platex.doc-2019"="015z4v7vdhcv9s1jiszgff5px1wsfn7l";
+"platex.source-2019"="0hc8zw5cx0xzhmzy1ivlk75m48h0krhd";
+"ptex.doc-2019"="fr812pq9d33lksqmm6bdij5jr89arp9l";
+"ptex-base-2019"="yd073fy3fw3cpkph1cpy3w1l148mdjrh";
+"ptex-base.doc-2019"="rjh99cygdmfychyv8gvqg5fd73fwmkda";
+"ptex-base.source-2019"="bli2wy35rgyx2vkfkqk1ajyk73gpnwqm";
+"ptex-fonts-2019"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
+"ptex-fonts.doc-2019"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
+"platex-tools-2019"="lc1vqkviqpr8rhvgsnw2k3sm3hdyq7xb";
+"platex-tools.doc-2019"="6if0avj38q2lwia7sh5qs8rrsk77g27g";
 "platexcheat.doc-3.1"="khwx5x4r6aydzhd5rkv7h9lf58l27494";
-"plautopatch-0.9b"="463xg82ld2bkyqyn7373msv41kfi86hd";
-"plautopatch.doc-0.9b"="1hdskxvd5dchk9l39r2jk5kfjq5zsw9p";
-"ptex-fontmaps-20180328.0"="v1kkxb7ai7pnrd1v1by3i0146248cbwb";
-"ptex-fontmaps.doc-20180328.0"="ifhpa5i1zni6q6rgiciajkdw2hv10pss";
-"ptex-fontmaps.source-20180328.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
+"plautopatch-0.9d"="s732qg4g3y1y3s6sd4s0dc5wwcs9a58w";
+"plautopatch.doc-0.9d"="65lrl1g1p4fv2g1fv6zxw99havdai8d9";
+"plautopatch.source-0.9d"="708dq291a6igjdkm39lcv1wrna1s9f1j";
+"ptex-fontmaps-20190506.0"="afvr6rnd39cdr0rs1pmvbzbc4478hgzf";
+"ptex-fontmaps.doc-20190506.0"="48yrfn623ch7il5i7w593i0g7hlmf9s4";
+"ptex-fontmaps.source-20190506.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
 "baekmuk-2.2"="5rhc42dabpd99i92hkdmkjzgr3jqhg16";
 "baekmuk.doc-2.2"="4syhh948m1jw14xlhq6dbpdw5p5p198h";
-"ptex-manual.doc-2018"="6p0yf94n074ywv8d0qhw2zzmabn2f1fz";
+"ptex-manual.doc-2019"="d12ipdv5isvbrkf7caps8lrj9i97r0aw";
+"ptex-manual.source-2019"="kap9xs1a3bdn0vh176sgc8nm949pvbsm";
 "ptex2pdf-20181212.0"="lpdchib5gv48nqwq0gax6qrslmqa5vmn";
 "ptex2pdf.doc-20181212.0"="f34l71b1l1fky9jyg3qr6nlk6620rqpd";
 "pxbase-1.1b"="92jsnxmiqmpy56dhdjaark80zsbb5vxa";
 "pxbase.doc-1.1b"="n5ns9b3vpa52b78hhgbvg0114faw0dgi";
-"pxchfon-1.3"="cq98fx9z1m19fas3qwnaqz6s9h7yapxl";
-"pxchfon.doc-1.3"="ayc2xib6sc9nfimkx175w6r47xcyyp8k";
+"pxchfon-1.6"="lwcg0b8ibkgb1njxrrwl8awpkyjfjxzr";
+"pxchfon.doc-1.6"="i37blsgfm91wka45ian6p9ld9iq6lacw";
 "pxcjkcat-1.1"="i368i8r85baiimnwh2rfqd0hfrklw8hs";
 "pxcjkcat.doc-1.1"="hcxxg9rg6d64hwysf6nlvfhv8h360168";
-"pxjahyper-0.3d"="pm4vx5bw2si5xnpyqz69sa7lm0f67ah2";
-"pxjahyper.doc-0.3d"="r0r9gk1kk80h1swsljqpdpkapvjccy12";
-"pxjodel-0.2a"="ifm37r7jgry1yqk85nl1cyvka51wfb9a";
-"pxjodel.doc-0.2a"="rlbm475r85h577grwziiy6aklz2nkj56";
+"pxjahyper-0.3e"="fl6plbak539i8l2i5wbyssyr6hx5gyfw";
+"pxjahyper.doc-0.3e"="3jwqknfgjp9q33hddmrmgfjlihrlgrds";
+"pxjodel-0.2a"="wrzn5vf0h8di7zyzw15fqmnjrn8y0569";
+"pxjodel.doc-0.2a"="hihxv3km086xxnwbxfpg6a455r1g1snm";
 "pxrubrica-1.3c"="p6ych4fz68bzhg7nmb0456jr32qhg20g";
 "pxrubrica.doc-1.3c"="mn4xnfbybrmq49w2r11q18k8q4q7mark";
 "pxrubrica.source-1.3c"="5w4m8vac151lxkp76llm5ycvi7818vps";
-"pxufont-0.3"="9cvf0yzn10qsfzwymqgzjc6va01yxrvg";
-"pxufont.doc-0.3"="mfxsqffbf5fdipm4cfzmxk0c51kkncxk";
-"uplatex-2018"="0fg4arq02hslimp6w10dqa43z4mz8pg6";
-"uplatex.doc-2018"="q1w773c1q8s6yav6b0bw6kwl5dvx306j";
-"uplatex.source-2018"="1vz04jp6s5sv4s6yv5qj5qidv5j220a5";
-"uptex.doc-1.20"="qpv93c3zhzxl51z156qzz2iqi2wrv0pm";
-"uptex-base-2018"="y66hqf3p2cjn13bw8l2z036k9240kv98";
-"uptex-base.doc-2018"="nmsh0zmn7caw7yjq633hd4k4v7lvgyxc";
-"uptex-base.source-2018"="dv52z5ilfxmcrb9420sbw6b8gl2av9x3";
-"uptex-fonts-2018"="g3qnaahn4gp4yc4zlg2n6687bzq738kq";
-"uptex-fonts.doc-2018"="ji8zv1haadkqgrsvnvyp71xx01nhlvql";
+"pxufont-0.5"="wh4763by62qf9q7h7ph1ccs0zz528h9r";
+"pxufont.doc-0.5"="d408szf08v8r97kc1k8s7w33i425qy07";
+"texlive-ja.doc-2019"="c9x1ai4v27mnmwkxbc4963a00i1qsjfg";
+"uplatex-2019"="q69iw8hxgnihgqdag00xbxarlws2d1r4";
+"uplatex.doc-2019"="rjgbvzw0raq96sb92vkkls16n5ag6lri";
+"uplatex.source-2019"="r88kywjipg3vfib5z3g5ii7y8y328qz7";
+"uptex.doc-1.20"="rmq7yjynfv7mj33kpgrsv39xflfpz7qw";
+"uptex-base-2019"="dhh84zlmy5qh9848mx5yylmps2x5dhfj";
+"uptex-base.doc-2019"="02jcxdjr8w76l067z88n0dybw5mqik1p";
+"uptex-base.source-2019"="dv52z5ilfxmcrb9420sbw6b8gl2av9x3";
+"uptex-fonts-2019"="g3qnaahn4gp4yc4zlg2n6687bzq738kq";
+"uptex-fonts.doc-2019"="ji8zv1haadkqgrsvnvyp71xx01nhlvql";
 "zxjafbfont-0.2"="gqmmwcbw81z91mwqf731jk0mgdfiw8d5";
 "zxjafbfont.doc-0.2"="0901rpw6rd2wivh0fsqnna6gywc6j8hh";
 "zxjatype-0.6c"="8hllbrldhybkwhnzzvawmn9r6clr85nn";
@@ -2439,13 +2490,13 @@
 "kotex-plain.doc-2.1.1a"="drkcvf3nb3kkvp63mw3xdz80lvn92w0j";
 "kotex-utils-2.1.0"="gvq7vg419f2wqzl6xp9mcffclvh65hs6";
 "kotex-utils.doc-2.1.0"="xl1v4i3j2wlhdp0rkjkn0d9b11bwlf4b";
-"lshort-korean.doc-4.17"="1g5islw4v6x4s50zxb0zgc3nhk83yf06";
+"lshort-korean.doc-2019"="vgmq1j9h0789hhank5mjmag1yq2h2gsw";
 "nanumtype1-3.0"="b1wscjlknaslwhpaxxfi8w2drxg1m770";
 "nanumtype1.doc-3.0"="4jpi6pmfq42sbcfzl403niskxg6qnxfp";
-"unfonts-core-2018"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
-"unfonts-core.doc-2018"="icc501j6sh5ix6v72v7lpb0him7viih3";
-"unfonts-extra-2018"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
-"unfonts-extra.doc-2018"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
+"unfonts-core-2019"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
+"unfonts-core.doc-2019"="icc501j6sh5ix6v72v7lpb0him7viih3";
+"unfonts-extra-2019"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
+"unfonts-extra.doc-2019"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
 "amsldoc-vn.doc-2.0"="09zv7q83wc6zg9an9b1x1nvsnqx8bpcr";
 "aramaic-serto-1.0"="mcxkjm533zpz4srgqqbd1asax309lhmk";
 "aramaic-serto.doc-1.0"="2717wqsb2bzap0cjgw8d1rsryjyil57n";
@@ -2478,44 +2529,44 @@
 "babel-vietnamese-1.4"="pi8gc005y8hn42hyxrn7p23kbashsv1c";
 "babel-vietnamese.doc-1.4"="5l7qyvppvihhdzcszaxskiscp8xm686h";
 "babel-vietnamese.source-1.4"="y9wmbn3j1f614p6dfciwnvig3v5r9q39";
-"bangtex-2018"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
-"bangtex.doc-2018"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
-"bengali-2018"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
-"bengali.doc-2018"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
-"bengali.source-2018"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
-"burmese-2018"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
-"burmese.doc-2018"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
-"burmese.source-2018"="ixz9y2ck9awijs6w9rz005nkvl613811";
+"bangtex-2019"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
+"bangtex.doc-2019"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
+"bengali-2019"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
+"bengali.doc-2019"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
+"bengali.source-2019"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
+"burmese-2019"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
+"burmese.doc-2019"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
+"burmese.source-2019"="ixz9y2ck9awijs6w9rz005nkvl613811";
 "cjhebrew-0.2a"="nkca25dwl8i1li6q63sv4w2n35z28bdn";
 "cjhebrew.doc-0.2a"="w8jqlvv6cm125d68dhfsar5y7xynac7d";
-"ctib-2018"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
-"ctib.doc-2018"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
-"ctib.source-2018"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
-"ebong-2018"="mhlr9r7i2zf3rm905m527hbnydppaiar";
-"ebong.doc-2018"="pqr96lyawpif4fzp0izw8j0506gnf06f";
+"ctib-2019"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
+"ctib.doc-2019"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
+"ctib.source-2019"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
+"ebong-2019"="mhlr9r7i2zf3rm905m527hbnydppaiar";
+"ebong.doc-2019"="pqr96lyawpif4fzp0izw8j0506gnf06f";
 "ethiop-0.7"="fd4kynb70wkja5fxhi10n52mff3s2a8q";
 "ethiop.doc-0.7"="cabq6vprpklsmzi68af6nb4qiwbrwmzf";
 "ethiop.source-0.7"="yv6pwmbkvahpy2h4vnijnqag2rv09k5l";
-"ethiop-t1-2018"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
-"ethiop-t1.doc-2018"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
+"ethiop-t1-2019"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
+"ethiop-t1.doc-2019"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
 "fc-1.4"="iyjlb5q55khnp515n1snhpnfrrmfn1pm";
 "fc.doc-1.4"="wd9bn967d6nzzvdrvim470l711v1jkg6";
-"hyphen-afrikaans-2018"="8y2cjmvvwmzhnc58wn6pam9hw3kk7nlp";
-"hyphen-armenian-2018"="wkj528c0y5bs6571mlpkvm8ys088n5m2";
-"hyphen-armenian.source-2018"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
-"hyphen-coptic-2018"="b0gwxgcgpy0s2cpd4p5y64qaay34hc1k";
-"hyphen-esperanto-2018"="7q9iyabbs4dhwnjjv93p63f92ir4j310";
-"hyphen-ethiopic-2018"="m7dgr7lrxqqgqzshlhk3q5y9alhdc5lf";
-"hyphen-ethiopic.source-2018"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
-"hyphen-georgian-2018"="yb86n4jmz9598s6shqr0b8w0wrs1z5js";
-"hyphen-indic-2018"="0l557mvqb7c9llvi275dzijh7bcvn2as";
-"hyphen-indonesian-2018"="b1b0vawd4l1sgzzsx2khivh1vl7rvlij";
-"hyphen-interlingua-2018"="rwhg7mqkras0ac3cg2axbzzkn5pavff7";
-"hyphen-sanskrit-2018"="csq2iqvbyybhx3h0dgvgxqp1cg0cnrwf";
-"hyphen-sanskrit.doc-2018"="a2pncv9fz35p3bbj6mll93vqcyagsmbq";
-"hyphen-thai-2018"="vy7rwb0j1mskblnpjvldyhz91kxsqsxn";
-"hyphen-turkmen-2018"="skzpa489dxknbmxv9vrk5xa17mgcnh9s";
-"hyphen-turkmen.source-2018"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
+"hyphen-afrikaans-2019"="xh3wz9cx83p2hq74r9c794kizgckgxi1";
+"hyphen-armenian-2019"="y5g0vy3p70zplkaam3q98qyfdmd0pr98";
+"hyphen-armenian.source-2019"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
+"hyphen-coptic-2019"="nw3l6a7iwpl9aig2fvls6kqq5xg2l00x";
+"hyphen-esperanto-2019"="v3mdyifs03ykymz5jsgr39wzgg70pmm6";
+"hyphen-ethiopic-2019"="y44ic8iklli5vzv2q1zhyypdh1df39d1";
+"hyphen-ethiopic.source-2019"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
+"hyphen-georgian-2019"="1h6sbx79cncxjqj8vav7fq5kr5ycir6z";
+"hyphen-indic-2019"="la27k8603vjbjxsiag80q0vmjgq3vxf7";
+"hyphen-indonesian-2019"="j5vq85rh8hw706xjmyyl3hy6vmwmr1w2";
+"hyphen-interlingua-2019"="nmvxm8nwca6s32k99c2501wxfi4pcslf";
+"hyphen-sanskrit-2019"="nzc595vin9b5cfvfkkq6b9mgxg8h9jgc";
+"hyphen-sanskrit.doc-2019"="pjfnjwbksv532x7idr41hvs874f5p97h";
+"hyphen-thai-2019"="84jcndmnvv346ip8zzxhb9cwixvqml2p";
+"hyphen-turkmen-2019"="rlsciaz81rhwrxglncb8hk837mg94mfa";
+"hyphen-turkmen.source-2019"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
 "latex-mr.doc-1.0"="vwb062hbn3371czg99plccbvxw1a7gjh";
 "latexbangla-0.2"="6ix7rfgj51z585jry3i1g68x4wvm4xxz";
 "latexbangla.doc-0.2"="iw79gb4sk4hys6xbc8j86lpzyji8h7r9";
@@ -2524,25 +2575,28 @@
 "ntheorem-vn.doc-1.203"="ys9g749d9f2nbq55ckyrjrr4mg9yywni";
 "padauk-3.002"="dwdgm603clk71s9gcjx9ghzwlkh6k2gd";
 "padauk.doc-3.002"="zarib60py4ddx2axyrm695pkikxih70z";
+"quran-ur.doc-0.1"="8nc81g4wfrd6q1xcm6fqiqkq8xwkaiym";
 "sanskrit-2.2.1"="scnnwa1xsfnpv0w7xp8ry49ps6s5pw8w";
 "sanskrit.doc-2.2.1"="0ps1lrlzdhq7gaagjqb3m4yygpz4g7p0";
 "sanskrit.source-2.2.1"="dp3nk8wbjrvb3hg4xdxl8s8m1wfcwny5";
-"sanskrit-t1-2018"="lwnbgg4flg35ndf7p0iii468sf6avylv";
-"sanskrit-t1.doc-2018"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
+"sanskrit-t1-2019"="lwnbgg4flg35ndf7p0iii468sf6avylv";
+"sanskrit-t1.doc-2019"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
 "thaienum-0.2"="acsj56dxkcqi83yajkm4rjxm99p6r10a";
 "thaienum.doc-0.2"="55zcsq659l2wki581xvcdy3ssljgk9s5";
-"thaispec-0.3"="f2yb8iqhzia8b3mpn0q9ywjz9nardqfm";
-"thaispec.doc-0.3"="s8ggidsvyhplw6a7pdqhpfvfvbncxd8x";
-"thaispec.source-0.3"="jh62vil1vdgvah07wrniw2ncxanjbzr3";
-"velthuis-2.17"="10lr5jgiy28w3diqwwj9qlmfrlhicg17";
-"velthuis.doc-2.17"="hh24rcz9098hpi3prppy0nrjvnicjqm2";
+"thaispec-0.4"="wzjrh6h9sp2rlkbjzr23z4dgzz74844s";
+"thaispec.doc-0.4"="wzqlgimfzsxi948s3gff8fa693pn5hbr";
+"thaispec.source-0.4"="3k00zbgwdi6w0dm49mywgmdpik0pgk2d";
+"unicode-alphabets-2019"="j7c2skki2c2k13y2pky182pmw86lzxfy";
+"unicode-alphabets.doc-2019"="2y89zg9f1wzd43n8lfh16y8lilvx7w0w";
+"velthuis-2.17.1"="x0zig7csm0nnq7m2n1qqdys57jz38b9h";
+"velthuis.doc-2.17.1"="x703qnfan6yajcqxybmsr274zir3v0ch";
 "xetex-devanagari-0.5"="v4gi0agfvxz808s3mapzf2ylxhv5n8a7";
 "xetex-devanagari.doc-0.5"="b3kz558m6h9avjwalwpw1nnr68q47sjr";
 "vntex-3.2"="vzdcn6z7knkzsj8gxwj8zda00dq6w8is";
 "vntex.doc-3.2"="5ix8dldkd2qmmbwn731ii4ffng7d3fgr";
 "vntex.source-3.2"="72m9wqbqrsam0b6a15lqq4yq5hbcx0kj";
-"wnri-2018"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
-"wnri.doc-2018"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
+"wnri-2019"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
+"wnri.doc-2019"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
 "wnri-latex-1.0b"="y9n4dac8cbzm2gwhcfan32rbv3dyhr0s";
 "wnri-latex.doc-1.0b"="f1m11fnp49h90f3djiml0awlxqcnxkdp";
 "wnri-latex.source-1.0b"="zd4smslq18sp693fgay24m503v01v3bk";
@@ -2553,47 +2607,50 @@
 "bredzenie.doc-1.0"="br35cfyn2zq2qb44mss225ylw16sz0jq";
 "cc-pl-1.02.2"="d0vdpawzrgwsxj9sff3y83mf1xrs891y";
 "cc-pl.doc-1.02.2"="wqnvmgzzh65fhrgwbrmpa307qa7xbh21";
-"gustlib-2018"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
-"gustlib.doc-2018"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
-"gustprog.doc-2018"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
-"hyphen-polish-3.0a"="yibpb61p39nc92gihmvy8731z74khjs8";
-"lshort-polish.doc-2018"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
+"gustlib-2019"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
+"gustlib.doc-2019"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
+"gustprog.doc-2019"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
+"hyphen-polish-3.0a"="d9fjz8dhcdw5gl66b7bp9syjgbbcj36c";
+"lshort-polish.doc-2019"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
 "mex-1.05"="z7m8kmw19bg4yw3p99fvpvhhclkj5ff2";
 "mex.doc-1.05"="qajd1x35x1mbkvs39hbxs3qd8df3hp5s";
 "mex.source-1.05"="kf6k037zqvlad7sm8z4a2gkg2xlf01j3";
 "pl-1.09"="glzasf47dgz69y9gkr4amiffpl7wwx8j";
 "pl.doc-1.09"="1p5zh9jmllvddgsnnafm2vabqhwdqq3f";
-"utf8mex-2018"="d8314s7lhlafhspi1qf8hiqzx61n439a";
-"utf8mex.doc-2018"="svpkpbc0caxbynjnjjynng11fdg3dgid";
+"utf8mex-2019"="d8314s7lhlafhspi1qf8hiqzx61n439a";
+"utf8mex.doc-2019"="svpkpbc0caxbynjnjjynng11fdg3dgid";
 "mwcls-0.75"="nldix3j60gjybkg60qdbi1wrdarqggqb";
 "mwcls.doc-0.75"="16cqcaliy99s6dqnb507hcncxbjlhgmq";
 "mwcls.source-0.75"="x6jn9m23ickiy79sk1w1jsgiqpk2jh9v";
 "polski-1.3.4"="j98gsw0v3vf0a9j8bfjbynmrv47fcd34";
 "polski.doc-1.3.4"="zldgln4yhr6qkmay2aqrlv0bbbwqdyyl";
 "polski.source-1.3.4"="a7ig2cy5jamdgk3dxigyz4qa0kjrd36z";
-"przechlewski-book-2018"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
-"przechlewski-book.doc-2018"="23zvnv9pcvl5n68js39l4hrcli608qck";
-"qpxqtx-2018"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
-"qpxqtx.doc-2018"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
+"przechlewski-book-2019"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
+"przechlewski-book.doc-2019"="23zvnv9pcvl5n68js39l4hrcli608qck";
+"qpxqtx-2019"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
+"qpxqtx.doc-2019"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
 "tap-0.77"="mgr2m41yv0y4dcf4myk7020hkmqrd5z6";
 "tap.doc-0.77"="mr27kjalpicyv8915p32yyya5imm3m8v";
-"tex-virtual-academy-pl.doc-2018"="rr38v1syb2b4ji3psf47pmwr562zv59n";
-"texlive-pl.doc-2018"="nfyjwk56cmbla6zn8imndl8bmmi0k4rf";
+"tex-virtual-academy-pl.doc-2019"="rr38v1syb2b4ji3psf47pmwr562zv59n";
+"texlive-pl.doc-2019"="s3mbcbd9mnfc35g7bwwih1w8mgpfsz84";
 "babel-portuges-1.2q"="n9im1w2dz7yfqqq4k8pfmqmxjg5mfl0s";
 "babel-portuges.doc-1.2q"="d5r7vabmr3lhrfcrji8rayi6xx6q6hqy";
 "babel-portuges.source-1.2q"="rgi4li2frm84fbdi0sfhqvmpijlx64lp";
-"beamer-tut-pt.doc-2018"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
-"cursolatex.doc-2018"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
+"beamer-tut-pt.doc-2019"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
+"cursolatex.doc-2019"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
 "feupphdteses-4.0"="696my85w1ngcar81vacyj8nr7m4dn0wd";
 "feupphdteses.doc-4.0"="9nm4793nyfp5v2rjd5297sbyw2b29bqi";
-"hyphen-portuguese-2018"="rsh30ivczs5l50fwdl9hgvd2wpcxmnrg";
-"latex-via-exemplos.doc-0.5.2"="aicbfd1zjizlh2fx9fq5xc1ppaz8yffw";
+"hyphen-portuguese-2019"="b29y4gyjll5mvaf2mh5i51qrfkqsxiyi";
+"latex-via-exemplos.doc-0.5.5"="fabr1glc3bvd4cakj73yd2p4ng0bcjgq";
 "latexcheat-ptbr.doc-1.13"="qzgl6v54k07i6lc3ps84s9mj11j1qqqf";
 "lshort-portuguese.doc-5.01.0"="m3r2gbq4v09p9svs0mxsw3s3yc7has5y";
+"numberpt-1.0"="dmp1db9kaskcy2cxxp53sjxr9sl3c7pq";
+"numberpt.doc-1.0"="sgr9zrlf7c6zpqwa89z9pmmdsxbgrzsy";
+"numberpt.source-1.0"="ynlknscylhmrlq30sn5njffmmvmzxkdb";
 "ordinalpt-2.1"="ds49jf4pvghzwn5nqwjbzz6dhp0cdn80";
 "ordinalpt.doc-2.1"="4hg5jx7bnx1j13s1mq8xscr3jfajl6by";
 "ordinalpt.source-2.1"="cc2f6xias35ac0c0kxan2cvcmyjq7l6k";
-"xypic-tut-pt.doc-2018"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
+"xypic-tut-pt.doc-2019"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
 "babel-catalan-2.2p"="18ngggp3v707j48vac5grpqw342jwg3f";
 "babel-catalan.doc-2.2p"="19hc8i6d64n8dfk6hmgpgm03kg5r7wx0";
 "babel-catalan.source-2.2p"="v2750fsyzjlc6iqk44s31idwybz2jvfz";
@@ -2606,37 +2663,37 @@
 "babel-spanish.doc-5.0p"="2aa12l6ndp4r6rdv6v0z405y3hpsmgnx";
 "babel-spanish.source-5.0p"="ad9wxx0qp6kp4r8ri1vwycgf2gpdj6xw";
 "es-tex-faq.doc-1.97"="v9brqkql6xbb1zdk5m6xhff1dxm36nhf";
-"hyphen-catalan-2018"="cmwd8lvf8g1bfm82ff4ysxsm7hdigwrw";
-"hyphen-galician-2018"="q3j7qg1mmrphmhyqs3212i3p11irfrgi";
-"hyphen-galician.source-2018"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
-"hyphen-spanish-4.5"="k38f0q8989wzb6jkrifydrq9h5nrfmmj";
-"hyphen-spanish.doc-4.5"="416kb8avd7nb048aia9rgbvjbh6bbh7k";
+"hyphen-catalan-2019"="ygwfaykc624q574saha8j5mjdc1pg681";
+"hyphen-galician-2019"="np4l9swdllfq7mgghipihh2i3jwnkk59";
+"hyphen-galician.source-2019"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
+"hyphen-spanish-4.5"="kg7ixasbidwibfdbazms0ra2dx4dvbg2";
+"hyphen-spanish.doc-4.5"="kznsqnkm7dg2rdpisil38syyvs6fs0j6";
 "hyphen-spanish.source-4.5"="lia19yzmwyz4fsbnrca8al43hfc46i55";
 "l2tabu-spanish.doc-1.1"="rc7058j31za1cg1ik27b6gcgscir9bfk";
-"latex2e-help-texinfo-spanish.doc-2018"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
+"latex2e-help-texinfo-spanish.doc-2019"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
 "latexcheat-esmx.doc-2.00"="bzjjilpj8rmp1cc93bs32568dc8dvgic";
 "lshort-spanish.doc-0.5"="3gmql5wpqh3h5mhr0pjcs6v0a5jqc1c8";
 "spanish-mx-1.1a"="ipghkbmay6pmwisxrnpkrhnlrlgsr9zz";
 "spanish-mx.doc-1.1a"="4qrhsw2wnpdmq7i3j30vfb04njyhldi3";
-"texlive-es.doc-2018"="ak9l8imng24ghb9l7xhlra3cknimrl72";
+"texlive-es.doc-2019"="z5587h7b2hinylyp173y02bm25dlr8nx";
 "2up-1.2"="qd90xqk7f4p9mgp53yid9rixhhs11ns3";
 "2up.doc-1.2"="gv5blpi2xdbjdi1i2p9j6gz2qzr14d9p";
-"ESIEEcv-2018"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
-"ESIEEcv.doc-2018"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
-"ESIEEcv.source-2018"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
+"ESIEEcv-2019"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
+"ESIEEcv.doc-2019"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
+"ESIEEcv.source-2019"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
 "GS1-22"="2fvvg7l5g84vhg88mzaa6x16p13pp34c";
 "GS1.doc-22"="bsdamqnalwikpldq94f035nh849vjb2h";
 "GS1.source-22"="gzg5ynawvwr24sl31f85q7ksinaks3a8";
 "HA-prosper-4.21"="kbj26h7zvc9v5l330s2hp63l44vrn09r";
 "HA-prosper.doc-4.21"="hpj2qljnhi7x2prcwnra1ycfzazhnqsz";
 "HA-prosper.source-4.21"="wlzyr02pardayic4598mc0v6mks9dcx0";
-"Tabbing-2018"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
-"Tabbing.doc-2018"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
-"Tabbing.source-2018"="pifazcagjavajck7h6a0kyvnxxk90k8y";
+"Tabbing-2019"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
+"Tabbing.doc-2019"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
+"Tabbing.source-2019"="pifazcagjavajck7h6a0kyvnxxk90k8y";
 "a0poster-1.22b"="dkwb9gdxv3jxnw07ji0ydmpqa0fgy6mh";
 "a0poster.doc-1.22b"="bn6j9nsmcri2irby7njhbdlpgqqaic0x";
-"a4wide-2018"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
-"a4wide.doc-2018"="vb90v0v79l34fr86i7hzx787ndyq271w";
+"a4wide-2019"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
+"a4wide.doc-2019"="vb90v0v79l34fr86i7hzx787ndyq271w";
 "a5comb-4"="sc874hfilkfjjv1aw8qnf36v5jkhd6s2";
 "a5comb.doc-4"="gsp7dsbhk6r2q332apbqrx29mna85dhs";
 "abraces-1.-"="54c3kj96d3symq8nbzrns0pf1200jm5z";
@@ -2644,23 +2701,26 @@
 "abstract-1.2a"="qd0czw54z49h3mxnxlk6drblpbl47sln";
 "abstract.doc-1.2a"="qd4dggpq9076j7cma12mkhy238ni4w3z";
 "abstract.source-1.2a"="819fv5rryh634fmqic8fqagdfi9h04wj";
+"accessibility-2019"="pdngb4qicmfvh9ksw6mhvjc9hfl79462";
+"accessibility.doc-2019"="8cf3wr6abm4p0dr1s11vqhqi7bwvjziv";
+"accessibility.source-2019"="xal33psm9wgyivkfk8qaaa136xm4w1jx";
 "achemso-3.12a"="3psjpzbhsk0ynd3xiq0pqf4spk7klxl8";
 "achemso.doc-3.12a"="iqshwkgnwnj0p62g1aggpr2ydyzfpkf0";
 "achemso.source-3.12a"="v0v78aapbda91dcb71k5q2ld26x5ybci";
-"acro-2.9"="kmwrpsswxrvjjrz53pzps4yjjk13ffad";
-"acro.doc-2.9"="2afzi43rkhp1jvlfx9n0xhxfbn263f56";
+"acro-2.10c"="1v9qgz21hbabizc78lc3rc3322qfjv98";
+"acro.doc-2.10c"="2xl0nmrwc4slk8y0vwpi3lhanzwnb1pr";
 "acronym-1.41"="2spcw1vwwm6mwpl2dvv7wybxvndbsqn5";
 "acronym.doc-1.41"="izmrdd0rscib9xa10xm33vvh7bvgzdly";
 "acronym.source-1.41"="1l7ca4pd0nx499pv45sv1092bilsxfkg";
 "acroterm-0.1"="04m91cky6cj3jv546mdf6461bdg6sfkk";
 "acroterm.doc-0.1"="jnxcd65y58xrqg0cfg7y0m8yslbj7xi8";
 "acroterm.source-0.1"="w99kkypzq7c73rx4rv4m917c68vnan00";
-"actuarialangle-2.0"="ff4khzc793za2vl8ghg9k3jzh21npa4b";
-"actuarialangle.doc-2.0"="blrrabd60rlmly07kh83wwa88nkw7mb8";
-"actuarialangle.source-2.0"="naxi069bqfb3w7bx5g1zwj4iy5b8kq54";
-"actuarialsymbol-1.0a"="46rajcg49v84amgxarr8d24z1ilzgzjs";
-"actuarialsymbol.doc-1.0a"="7pzwnc70kgqh5lq6wni6lhyij6ydbzh8";
-"actuarialsymbol.source-1.0a"="39chg76j3ahyny2m16wq77y1rcs0jsxb";
+"actuarialangle-2.1"="6wp7jms9n930i1x9ni0g531cccdj6c19";
+"actuarialangle.doc-2.1"="dsl6hfqn9hfdy1sil3svzbz5bpvpa8hd";
+"actuarialangle.source-2.1"="r3fw3z5qz765a7jmb0wb0g567grw4v11";
+"actuarialsymbol-1.1"="c4m5inanc59g934zv5hfg26nc4209030";
+"actuarialsymbol.doc-1.1"="a3dbpjygc8033icdlyli8g47vbwx4xc1";
+"actuarialsymbol.source-1.1"="5p6w3cm9h63nxah663y5l4k7p811qxyv";
 "addfont-1"="16jk4kypw619n5fy7j0hvfiydk5k3mbk";
 "addfont.doc-1"="r6jy27nla35rjdsbcqfb7ckc7hfszngi";
 "addlines-0.3"="gaai0vyqwnm0k02r5kvnxgd4gx32nkbd";
@@ -2675,8 +2735,8 @@
 "adrconv-1.4"="jm0wy6794p7idv2f1ryhsm2v9wr9d5ar";
 "adrconv.doc-1.4"="jyn0sjir5pp69zvlabyamihnlsav24z4";
 "adrconv.source-1.4"="v31vh22mrhxqq4h88rvj97a9n0wc9bmw";
-"advdate-2018"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
-"advdate.doc-2018"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
+"advdate-2019"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
+"advdate.doc-2019"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
 "akktex-0.3.2"="6mhzn5d98q6vmxp8vjbmb6i26x9zja3g";
 "akktex.doc-0.3.2"="z43q786v20515sgsp4dh5lii0pfa620r";
 "akletter-1.5i"="7i7x6692i5zicjsrp51cvx8sivm1arpw";
@@ -2687,24 +2747,24 @@
 "alnumsec-0.03"="wmcb661yih7nnlwpshx0ahp45hg2b2qj";
 "alnumsec.doc-0.03"="q89lqn201amhxmpqfznyv7vsp40a8az7";
 "alnumsec.source-0.03"="zin3hkq6fr67rz2df7qqfnki4kar8k1n";
-"alterqcm-3.7c"="4iq919l9gvcpphbhz74hfwqzv5905mrr";
-"alterqcm.doc-3.7c"="5ldngzl9qyzmnd1gx8p31h1k2qigdgbi";
+"alterqcm-4.1"="m92dax7znhdwsqis19im7bvmniy7490s";
+"alterqcm.doc-4.1"="14bwfsq021x3h708jqgm9iqray0jzxaf";
 "altfont-1.1"="cickjccw7xjpa3q2hpm1cyzs2jvkx1wy";
 "altfont.doc-1.1"="f8x27hdfap8pz6f96s7jvvaldsjaxwml";
 "altfont.source-1.1"="q75lvhzwgyqxlj9h56i43hwb7v8lq6rl";
 "amsaddr-1.1"="6sf35pmlda97q2dhi5h7cwan25gi9nij";
 "amsaddr.doc-1.1"="m5wxpa9vd09pja40i6lzzrlw62ml5zvm";
 "amsaddr.source-1.1"="b66925k432cw6rqwqapcg1h8gjgnvry7";
-"animate-2018"="pa4gz03h1lilijhms8xiwb6fy486rw21";
-"animate.doc-2018"="sa6kpasvx9ppn50mzxwkpmjlns6nly14";
-"animate.source-2018"="w37mcnq2xxpbmhqafzvgw3z7dkvic6rs";
+"animate-2019"="jwwbvyfclhk58hklh3l55q19g67n5r8i";
+"animate.doc-2019"="pwj7v93v1dd3mmjz5zqbdjwwpmymm4gj";
+"animate.source-2019"="0fqzq26k1d0lndah94719bbsn4772ni0";
 "anonchap-1.1a"="qpazykls2jy7nqpqkaqvyi35c2ajz0qg";
 "anonchap.doc-1.1a"="3xy9r4p9f22fjdvznba1jjp09gbkvvlr";
 "answers-2.16"="isadn9v17ma5krfq4hm304nrdc8kx7dd";
 "answers.doc-2.16"="3ma0j6diq2zp7k547zp6ilbynsrkw59d";
 "answers.source-2.16"="7w1nvr73ndj7c545xps8h969q4z58gji";
-"anyfontsize-2018"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
-"anyfontsize.doc-2018"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
+"anyfontsize-2019"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
+"anyfontsize.doc-2019"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
 "appendix-1.2b"="vv6787vrvnmwm8mg85aq1bii0lgprzc3";
 "appendix.doc-1.2b"="095s7b98s2n14xsf2ffv9v6fvsdvl6zz";
 "appendix.source-1.2b"="5ivln5wysazp8nllz5k3z5vh9ivzwwl0";
@@ -2713,9 +2773,14 @@
 "apptools-1.0"="v2ag8kbf87fm4rf66z1a3z93pfs1j6gj";
 "apptools.doc-1.0"="a8mjxckcrk06xajadqf2124k5k0ra2qi";
 "apptools.source-1.0"="q37a0dpqnw1vbqih6p7lbi70a1f58yl3";
+"arabicfront-1.1"="l49m61nd3wrskbvdh3g3alslp2wbkkms";
+"arabicfront.doc-1.1"="9zr0i11vwsh81vsfgp1a758blyl3rigl";
 "arcs-1"="b0qh2cpybhqd0d0d8a183hhv7xlx13di";
 "arcs.doc-1"="x9xzx0p7wmn5mh61lkmlycfcybzfasz5";
 "arcs.source-1"="jbx1wd4pyp8682lbz3mw00ha114adrad";
+"arraycols-1.0"="p6c0xqv9y69fbg7vzv1r10nmq1lspaay";
+"arraycols.doc-1.0"="946328vqw5893d8172f7l2j25bi20wfm";
+"arraycols.source-1.0"="xjw5d1b9vf75nlvnswn4vprk7mnlzjgs";
 "arrayjobx-1.04"="zxqamnkgiq8c9p1z3w89rlgqv61bp2n6";
 "arrayjobx.doc-1.04"="fyx7869qi432q3g06i3xyg92jqh29fbr";
 "arraysort-1.0"="h5gbw2lvn0zfvhz0s5lmc495yz49bdds";
@@ -2727,21 +2792,21 @@
 "asciilist-2.2b"="fvd111ywjyrwy897z4bmcby9ymnxcvcc";
 "asciilist.doc-2.2b"="i501s6jaq79nj93ckccihgkv4ca5pn7i";
 "asciilist.source-2.2b"="zqmygnlbfyz70y446mcdwpd9a3bszhl2";
-"assignment-2018"="f5a0sprx94bby245g2cfycrrazgp00k7";
-"assignment.doc-2018"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
+"assignment-2019"="f5a0sprx94bby245g2cfycrrazgp00k7";
+"assignment.doc-2019"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
 "assoccnt-0.8"="6bikcn3hf37rs2wp84f9h8nf81z86hr6";
 "assoccnt.doc-0.8"="xb17k2w0skjxh3cw3hag91m5cjxj1vz9";
 "attachfile-1.9"="vmyp7ywfqli6yzs89419885jac9x0yql";
 "attachfile.doc-1.9"="f076ljz64r8ck1l9cz5g7xypm92jb9qs";
 "attachfile.source-1.9"="j93ivs0jy4n52a18gw0icmh0ffsnm1j4";
-"aurl-2018"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
-"aurl.doc-2018"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
+"aurl-2019"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
+"aurl.doc-2019"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
 "authoraftertitle-0.9"="6mqbsmy9gg6qkwgihzapa0xnlqyscz4z";
 "authoraftertitle.doc-0.9"="64j4gkrz0i7bwah7s3dazi1nanw6dfby";
-"authorarchive-1.0.0"="j3wmp3gk3460gwyfq0d8dlqsx6hwnyik";
-"authorarchive.doc-1.0.0"="k165v6r0jwi5xz23la4kz542rr5b9vrq";
-"authorindex-2018"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
-"authorindex.doc-2018"="vrlqni24vz4wixqr83pkin6j02vxgz5r";
+"authorarchive-1.1.1"="capg6s6r2w20kazk5dh2dqfbxl6246zh";
+"authorarchive.doc-1.1.1"="bzs7qr0gc2sgmsb39q4d46l4f5d55cp7";
+"authorindex-2019"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
+"authorindex.doc-2019"="d1k8irgqp5vac8ggq66ivcxxgv8q410x";
 "autonum-0.3.11"="z0mz6nrw3s9661lc5s983bj7qpfg9ns3";
 "autonum.doc-0.3.11"="ghxpr5ayzxq1w6v3wy0hqvkfy28n9slp";
 "autonum.source-0.3.11"="5fm5vfmi11jqdgqklj6zmc90vw3vqiqp";
@@ -2751,9 +2816,6 @@
 "avremu-0.1"="xk59ssazl5122hy7cw9h8l8ky47ac58m";
 "avremu.doc-0.1"="sp38mldllwslwxq2rvizcx1dcpfaava7";
 "avremu.source-0.1"="inwrrgrds8ympmhzgrk3m82x544x8nhi";
-"axessibility-2.0"="dihjc3ngi2xlvaqngi6sdr5llgc0ffic";
-"axessibility.doc-2.0"="l7n7wd5clh0sj82chjpszws6722ygb61";
-"axessibility.source-2.0"="bymryhzf4azz4ciry4qk2idcm8wq3w7i";
 "background-2.1"="akcsb7n8iyy4zlcgfp0ikwb5awzdnh9d";
 "background.doc-2.1"="inm76hq9brwc39n6bhp9782766mmgwpx";
 "background.source-2.1"="54l8p1yj06wlcwxrrmjqjhgmxai9l9s2";
@@ -2766,10 +2828,14 @@
 "basicarith.source-1.1"="x4qnlbc6v2dfq23ijrjhk5rcfjc1c2a1";
 "bchart-0.1.3"="4xxv8n13igfgl0n89wmxncp8662fx941";
 "bchart.doc-0.1.3"="11b1xlxkxzayb2a96w1svhba4pkchanx";
+"beamer-rl-1.3"="b7823bzsk1qcq24yxhvqb327zb1fbc1p";
+"beamer-rl.doc-1.3"="2m9wika4z2vysryacn8r1ybi38p6mkcm";
 "beamer2thesis-2.2"="64a0v9a7xr9yi4ffsbm98s058hkmq9wg";
 "beamer2thesis.doc-2.2"="5ypn90w572jlw04xi4vzk7pxxsf7ciwy";
 "beameraudience-0.1"="3zc39f4qsyqi4204k4a5n9pksf6gk3xl";
 "beameraudience.doc-0.1"="wkgcr8dyl8ywxwpdc5h8p96dsw9l229y";
+"beamerauxtheme-1.01"="s3lirw6yl6ir8z6z9iq4pfrbwdcq7yp8";
+"beamerauxtheme.doc-1.01"="a76wy5dqlsv25w2f195jk385j25dk4wg";
 "beamercolorthemeowl-0.1.1"="7b8qfnqjliwvms89bn4mxhjqf8sppadi";
 "beamercolorthemeowl.doc-0.1.1"="dh55h6vzmjlxlwn7wz2b6c2c27c4qjki";
 "beamercolorthemeowl.source-0.1.1"="ppxb50mii9mgch0rzm26npxl99a93c42";
@@ -2780,15 +2846,15 @@
 "beamersubframe-0.2"="m8capqp9nc8mbi9xdzkz89nnz41972v4";
 "beamersubframe.doc-0.2"="y5m8y5zkbzi553hp8maav6g6a42iklfr";
 "beamersubframe.source-0.2"="kw2rnly2zyqw1ap5g9gkv2xchpvbk7gr";
-"beamertheme-cuerna-2018"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
-"beamertheme-cuerna.doc-2018"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
-"beamertheme-cuerna.source-2018"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
+"beamertheme-cuerna-2019"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
+"beamertheme-cuerna.doc-2019"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
+"beamertheme-cuerna.source-2019"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
 "beamertheme-detlevcm-1.02"="25f0c66nnhq9r0qrqf186rwqvifzi4nj";
 "beamertheme-detlevcm.doc-1.02"="5yh3kypxg8cjr8vqy04k1ad1agnlq047";
 "beamertheme-epyt-1.0"="1g3593pcp0b4k9lacp4c0afs7jzffa9b";
 "beamertheme-epyt.doc-1.0"="al12nh23v6l4lfa4616zzivldc5jfkjy";
-"beamertheme-focus-2.3"="vy3c3d4ajy4np87w32v2mw6c0vp04mp1";
-"beamertheme-focus.doc-2.3"="4s5pg3dl3ldq8fw00f06i8zd25bzfp0y";
+"beamertheme-focus-2.4"="nd44fakdvmm37ln2rf0b7v16g3b3835i";
+"beamertheme-focus.doc-2.4"="p7d93zq0psphws9blc0avgd893a0lrq7";
 "beamertheme-light-1.0"="9vz0g593s4ykwasfky58jqq6h7a95p12";
 "beamertheme-light.doc-1.0"="dvyzvi4hl69xvvgbhdbp5ax2l3z68nck";
 "beamertheme-metropolis-1.2"="g062nnxl4v5951xq2xa4smkdjq6v2xpk";
@@ -2798,25 +2864,23 @@
 "beamertheme-npbt.doc-4.1"="dzjby8rnpsgll6gvab9cslziqszhd4zf";
 "beamertheme-phnompenh-1.0"="01nbk38jh4hxk8vykf37x6bhnb55ijdb";
 "beamertheme-phnompenh.doc-1.0"="p0nj4cqg4vaaq6wlycicz0xbl7391lwp";
-"beamertheme-saintpetersburg-2018"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
-"beamertheme-saintpetersburg.doc-2018"="9msrd7ylkwfg6ijdx3rddcl143p17383";
-"beamertheme-saintpetersburg.source-2018"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
+"beamertheme-saintpetersburg-2019"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
+"beamertheme-saintpetersburg.doc-2019"="9msrd7ylkwfg6ijdx3rddcl143p17383";
+"beamertheme-saintpetersburg.source-2019"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
 "beamertheme-upenn-bc-1.0"="i535al38gpn0j6mhixm5g6vnlj7gi957";
 "beamertheme-upenn-bc.doc-1.0"="s7wxbnlgqxwpabb06jc5nawxm40bnia7";
 "beamerthemejltree-1.1"="iqjiwv4v9vp84a3cjjmv5gxygyclw5c5";
 "beamerthemenirma-0.1"="jix18byykz4n2mqcipf60pskfjlj3ini";
 "beamerthemenirma.doc-0.1"="llvppchvbd0zz9cl3lpswghs8hjm78rq";
-"beton-2018"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
-"beton.doc-2018"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
-"beton.source-2018"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
+"beton-2019"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
+"beton.doc-2019"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
+"beton.source-2019"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
 "bewerbung-1.1"="kb947mnv03wjc8ja8k402inijnplk1vy";
 "bewerbung.doc-1.1"="mv9vrqp8g689cvbwpm3xkczk98s1blas";
 "bewerbung.source-1.1"="w8z7h0w0ld2dd88a0yhp6p6md8hn7kkh";
 "bez123-1.1b"="9lx6fqcskk9lj28vcfhfnkmjb9dhlqdh";
 "bez123.doc-1.1b"="s5s834dhxqlqc5i8dswvayhf62chrqbh";
 "bez123.source-1.1b"="fsc7gqwcbpfjlhn0bljq7l0jd8g6zapd";
-"bezos-2018"="84mw1wv5d3qfjl5rc6rapzdy85iiq8fr";
-"bezos.doc-2018"="57n8y4fdm3dizjw2pz2x592cqjjxwidd";
 "bhcexam-0.4"="1px8zypnmrvi26ysrplj54pdz67ajcs5";
 "bhcexam.doc-0.4"="ksq01g78a489prh8lrrs0nn9k5jqasvr";
 "bhcexam.source-0.4"="ra3418l0mjj31jrkss9fysd4q1h3bdqn";
@@ -2825,8 +2889,8 @@
 "bigfoot-2.1"="i4hdv09y0blcrbhk554ilzc70fv19242";
 "bigfoot.doc-2.1"="ixi0hkjrzg740q3pkp9lwrq43ab1f006";
 "bigfoot.source-2.1"="jp9h2p1j46ha7ksxvh3d6rmxr0832r1w";
-"bigints-2018"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
-"bigints.doc-2018"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
+"bigints-2019"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
+"bigints.doc-2019"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
 "biochemistry-colors-1.00"="fvz3nlqi6y12g5pcyh118l6vjbw5kz2i";
 "biochemistry-colors.doc-1.00"="r7n07xkk4ixxk9zhz3ffkg7kqsz0i8fc";
 "bizcard-1.1"="l59w5wy3djx28g5yw2ywagi5am258bry";
@@ -2837,8 +2901,8 @@
 "blindtext.source-2.0"="dr68k54p44vgwp3rw9d1khc733k4apah";
 "blkarray-0.07"="djcla33mmskp42qbf8qg053p34515x1a";
 "blkarray.doc-0.07"="7iy0ssb4spk30f5janvknnhl91csvmyk";
-"block-2018"="b75bd0f6imd8svp869g4j3q2q02pilpp";
-"block.doc-2018"="gza7j45w5qixk19px05wr4q67m4lzhkl";
+"block-2019"="b75bd0f6imd8svp869g4j3q2q02pilpp";
+"block.doc-2019"="gza7j45w5qixk19px05wr4q67m4lzhkl";
 "blowup-1.0"="zhslxr7v04yhkdssranpiwpql9z7xsrf";
 "blowup.doc-1.0"="paw88yvcal35rq5wpfxm5s9hlsyz6z86";
 "blowup.source-1.0"="kmbxfjca3pwppfhklyhg8k5ddkxg8r43";
@@ -2874,16 +2938,14 @@
 "boxhandler.source-1.30"="0s647gs05wi22qcrv2zsb8x1713yhf1w";
 "bracketkey-1.0"="4l5l8s1xcwhlkaq50spccp2z90lm161f";
 "bracketkey.doc-1.0"="500h9kzvrkkqj22622hr4a78d6mz94jm";
-"braket-2018"="ck5gh00qn839wsxy2qili0184vswy0br";
-"braket.doc-2018"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
+"braket-2019"="ck5gh00qn839wsxy2qili0184vswy0br";
+"braket.doc-2019"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
 "breakurl-1.40"="lsl2j1iflzhwwapb03s5hg137rynjjhl";
 "breakurl.doc-1.40"="rjyrmhd32w912qg9wd4qxc9q46kg8qc3";
 "breakurl.source-1.40"="lpxb827p465qc14c38rk14jrzag7jfq6";
 "bullcntr-0.04"="w4fxp9fvpbg882yb855sl4b6w8fypiyy";
 "bullcntr.doc-0.04"="l1p8zz226qbnzmx4n78xhjsrc26z7jxw";
 "bullcntr.source-0.04"="6lw02qi8iyp3qph7yaycfm5p1q6l71r3";
-"bussproofs-1.1"="v0s3q29bdab23xi07f123bq7gzc2i185";
-"bussproofs.doc-1.1"="6cnd5akpxdcq2q82n7ph5lvmb94ql8sa";
 "bxcalc-1.0a"="2rp7llfsbmsq521zm6kg9y0adrg5vq0b";
 "bxcalc.doc-1.0a"="8ha2i73lx8zhzgwb94wk3y30y6s1c393";
 "bxdpx-beamer-0.3"="q07kpnmln2v70w83z91vsk53c0i63x02";
@@ -2894,8 +2956,8 @@
 "bxenclose.doc-0.2"="9i72bmx63c76m7gc7qavv228g1afrnq7";
 "bxnewfont-0.2b"="42kvrm0ag8zrxavfijin59k9sg3akhhp";
 "bxnewfont.doc-0.2b"="wxkcv5hklkzxs3xsw28z0bknq0sjjhsy";
-"bxpapersize-0.3b"="41garkjgw98adpn761lrj849y4rzzi2x";
-"bxpapersize.doc-0.3b"="j6scsfx0fn9yd5illwnw41j8f17k18ba";
+"bxpapersize-0.4"="ac5kj0q162hag4q4h5sbbp86i9s7rkky";
+"bxpapersize.doc-0.4"="941fxl6638yxkc826a5hnispxz24z7ik";
 "bxpdfver-0.4"="rcizp6hg0bir8rf3njqc66kjcm7c9nic";
 "bxpdfver.doc-0.4"="nj6cpbjw4paw12ggkxg28nm1wj076dlb";
 "bxtexlogo-0.4"="5czz5b638x3h3gpyb2n5si8py53gwl9v";
@@ -2908,8 +2970,8 @@
 "calculator-2.0"="z44sdp5jlkqywi01c1x7ly2yvzkx1h9w";
 "calculator.doc-2.0"="dwb0bhngsn0xk56gnil8wbaj5dv7v0yr";
 "calculator.source-2.0"="3m4b364wkgfvxyc8y20rg8c7rh22rhyd";
-"calrsfs-2018"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
-"calrsfs.doc-2018"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
+"calrsfs-2019"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
+"calrsfs.doc-2019"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
 "cals-2.4.2"="0xq2pylhs1gl542s86wm23nynnfzk188";
 "cals.doc-2.4.2"="yq4wig26r1cadd3kxg5bfraig4axvyvd";
 "cals.source-2.4.2"="fshbdf6ljfy0c7kdcvz5kyinysplcj86";
@@ -2920,14 +2982,14 @@
 "canoniclayout-0.4"="hk30976j3lql00w0rj481p8j6z5v69yk";
 "canoniclayout.doc-0.4"="gyr8yvdm21p45qqdjin8abq3v0kbh1lw";
 "canoniclayout.source-0.4"="0bqpq8mn7n7223ay0gfrq3dcpfzkxalc";
-"capt-of-2018"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
-"capt-of.doc-2018"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
-"capt-of.source-2018"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
+"capt-of-2019"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
+"capt-of.doc-2019"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
+"capt-of.source-2019"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
 "captcont-2.0"="5s81zvby8iq2l0j4bkz99s56w0kvc5pf";
 "captcont.doc-2.0"="ivp30a2jxrnp8zivmdm61nn0i25kiarz";
 "captcont.source-2.0"="bgy7jzbckqnajp42hy4x31dvb01cjm7s";
-"captdef-2018"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
-"captdef.doc-2018"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
+"captdef-2019"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
+"captdef.doc-2019"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
 "carbohydrates-0.1"="x4rj3x70sfcdgq8sd8yv2486khxip4wz";
 "carbohydrates.doc-0.1"="lp5y1sx5s74px1x03366lpn676vhl6c9";
 "cases-2.5"="jlc3flcfb7ckwr4320n9gxmv2y7l4d2f";
@@ -2947,9 +3009,9 @@
 "ccaption-3.2c"="4l3kxgc46z9i4lrm479ghpv7d0077l07";
 "ccaption.doc-3.2c"="qm6lh4nrdndp4vivy815ajpj9jj4w433";
 "ccaption.source-3.2c"="fdfpz99x7z4avqx1q4nrydg3r4csq4fr";
-"cclicenses-2018"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
-"cclicenses.doc-2018"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
-"cclicenses.source-2018"="hgm5y1054596k129p6j4s86kv0m0ky76";
+"cclicenses-2019"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
+"cclicenses.doc-2019"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
+"cclicenses.source-2019"="hgm5y1054596k129p6j4s86kv0m0ky76";
 "cd-1.4"="34nj75mgz2mzxjbmpik2kvqhmwdmbw71";
 "cd.doc-1.4"="i7230mqkczs0b3nczmf3gkv8z0bx61mc";
 "cd.source-1.4"="h5plih2dk6kk9klc7lwv5gpx88apljlj";
@@ -2959,26 +3021,28 @@
 "cdpbundl-0.36d"="hf7h2yz4c0nydnrhdwl5jwxbzhqxv7mk";
 "cdpbundl.doc-0.36d"="5csmnns276bpm80l1iipvanggljgjq6m";
 "cdpbundl.source-0.36d"="hzg9ax2jn65b0rq2afqfxh1pk1rcvlg9";
-"cellprops-1.4"="fa9k7sirw5w4dfki3dc0sg3q769xf3qn";
-"cellprops.doc-1.4"="dfvh3lasmqxms1v410gnbzrdcqlsqa1l";
-"cellprops.source-1.4"="4ffh744gg8b0ba5rxkfbcdhnib0fcs7a";
-"cellspace-1.7"="0grnmj8yywvqmzvil5qdqqz86p0pxsch";
-"cellspace.doc-1.7"="00nzspr8m16s0wqs6q1v82gn40yj45jk";
+"cellprops-1.6"="j9vh3ffv6rnqj0zii45vxii1y2hcl9p0";
+"cellprops.doc-1.6"="rcv1mrcc7miy8wdf6372qdw6mzp0kf3q";
+"cellprops.source-1.6"="frqyqhc1zzlbf057a0iadrgi36knasry";
+"cellspace-1.8.1"="kngz1r2b59j5437zpz0kl5xpjwci8xra";
+"cellspace.doc-1.8.1"="jn3r4y6idf7ml45vp3q1hd2rn58rbvld";
 "censor-3.22"="6125pgg2a5pj48w6md4vzyi3cnzns4yx";
 "censor.doc-3.22"="rcvd45yfghlg5yc3jcfzgj506zfnbmpz";
+"centeredline-1.1"="cqrj6vf1p84c5sqz09an9dixy4mkvbx5";
+"centeredline.doc-1.1"="k0yjy3jia8qsxh1zzgsdvm5a7xj58ni1";
 "changebar-3.6c"="76f70hw5065zfzmvbkrkia3ih5jhhkjq";
 "changebar.doc-3.6c"="310sfxf3nzqrrkcp2n794kpn4bzv9b3b";
 "changebar.source-3.6c"="xi3ldcm33mq6aa4jad2sfv7g58kwg0p3";
 "changelayout-1.0"="sx1afd6zrrl7jk40van0mwbf1ks7z6fk";
 "changelayout.doc-1.0"="lw4yjf3h1r2qr24b3s98rkm0r3ybdwgi";
-"changelog-1.0.0"="cd308rhsrrzsww65n3h8m8lvlaqrlwn4";
-"changelog.doc-1.0.0"="x8rn46yrl1s1gjqb8ka903lf9gjdn6d9";
+"changelog-2.1.0"="pcrl1awmrc771x3q1643nwv4cjl99mzj";
+"changelog.doc-2.1.0"="rfzl3nl53j2cp7mbc2plfwff741x2q0s";
 "changepage-1.0c"="s3dd0v3z0g8v74i6cnasyaa70wnqiimk";
 "changepage.doc-1.0c"="g63jqnyrkc74dd9ksi0s7pbxq7s4dzwb";
 "changepage.source-1.0c"="0ck3lyl2kzvm1182hmw88ni48paff7aq";
-"changes-3.1.2"="cwvly1wpyavn4rcwyyzsna35pf8icwrh";
-"changes.doc-3.1.2"="108fyvkca7dnqzkzpryafc7v55dgizs9";
-"changes.source-3.1.2"="zv0j05ila2bin8bq8kabw3xlrjaswg2k";
+"changes-3.1.3"="qcqmdxmn4djw537y28wxgnir6r750maq";
+"changes.doc-3.1.3"="cs00bm7sb9bqvwpzvg2qz9w03b5b41hf";
+"changes.source-3.1.3"="qkr4g9ajlzy5fhjgh4b7y6mwy5q44iwi";
 "chappg-2.1b"="231kpsvxwdnmakq4mkca0nisqdl622n2";
 "chappg.doc-2.1b"="nhh2f6k2z5gh449b91fmxnvh359n9adw";
 "chappg.source-2.1b"="74f8nr6m6ssdqxynrxl2y4za3rmj9sd2";
@@ -2988,6 +3052,8 @@
 "cheatsheet-0.8"="dbp6g9c967pc45wn345qm95zns815kl0";
 "cheatsheet.doc-0.8"="s3h23qpv0l6hn9bqnrzyiqx2mv4bzxch";
 "cheatsheet.source-0.8"="4x8njfgq1scmiqnkx4xvgxinc133a4vf";
+"checkend-1.0"="7ggrrfbxxr2y2idilmjalw6c0av7qypf";
+"checkend.doc-1.0"="qsvc0vq9mgcryqa2dfgh243mh893xzyn";
 "chet-2.2"="g654s58dhkxsnzbg59zydmncldn3qklv";
 "chet.doc-2.2"="4wc8nmj6lprpqhm5a067nsm00y56pzmi";
 "chextras-1.01"="mc1ymd3wfbwash00ly9gxk6hcx9rl4lk";
@@ -3021,24 +3087,24 @@
 "cleveref.source-0.21.4"="7kvgpyz07knv09q52aplizs5zk455csy";
 "clipboard-0.3"="flll7lf5hy4hysxg3ppaq8ygzqsan82y";
 "clipboard.doc-0.3"="n4lc7mbwwxahicb51214fzgh5j2iyqhs";
-"clock-2018"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
-"clock.doc-2018"="prj65yh580yg74pckacsr432rki2nsl6";
+"clock-2019"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
+"clock.doc-2019"="prj65yh580yg74pckacsr432rki2nsl6";
 "cloze-1.2"="6aawammcpq8n2igbncbkip67ph5mapc8";
 "cloze.doc-1.2"="5lsz6hfblnzj9wjs7j43c07drsgv5mdc";
 "cloze.source-1.2"="x6gbbdxnvgfysjhv3xad83lfs9khg4f9";
 "clrdblpg-1.0"="rw9bphdh47x4kpwzil4pxvlpks1s4hz0";
 "clrdblpg.doc-1.0"="0brjv2dy10l0gy3sx6vjw3f5xq9h67bw";
 "clrdblpg.source-1.0"="7pcjrddv97fdsljj752n5gh9mygyl1ph";
-"clrstrip-2018"="87j9r9kbnxgi5qbsdi27ijclm65a46cd";
-"clrstrip.doc-2018"="7nqw5m1gp6jqkn6zh29dabsq90m2cr82";
-"clrstrip.source-2018"="crbhf7id806g74cd3pi7rzl6smhbajkh";
+"clrstrip-2019"="162pb7zzvbjq7pyfs383bjzhzbq4x6c5";
+"clrstrip.doc-2019"="piilqaxr9l6ffjv89lry3wqjv60v9gr0";
+"clrstrip.source-2019"="8h0sa1m29abmxxsdjzsr6iph09wc0174";
 "cmdstring-1.1"="mzw3hf7xhy01j9irvvlba90hb0065p1r";
 "cmdstring.doc-1.1"="l2hjd47d6wmd07rnciadrbir01887nd0";
-"cmdtrack-2018"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
-"cmdtrack.doc-2018"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
-"cmdtrack.source-2018"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
-"cmsd-2018"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
-"cmsd.doc-2018"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
+"cmdtrack-2019"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
+"cmdtrack.doc-2019"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
+"cmdtrack.source-2019"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
+"cmsd-2019"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
+"cmsd.doc-2019"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
 "cnltx-0.13"="i7agvf6p3zbmpp0yy54jcz30yk5wgndb";
 "cnltx.doc-0.13"="bfzwcspv6kaizp2cngdbgps61w40a61l";
 "cntformats-0.7"="v6xl1mkldlf6265h96m2q0bylifxhl33";
@@ -3047,9 +3113,9 @@
 "cntperchap.doc-0.3"="y2jdwmpp6r1w17svqw9iww07pi3blbah";
 "codedoc-0.3"="gva56ykkkr58q9gxkff6ng0wd5bk9by7";
 "codedoc.doc-0.3"="8w9r3z61w026a0zqmbsilmf4q382bvd2";
-"codepage-2018"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
-"codepage.doc-2018"="7rwl8dagypzj93xim0qj3gm56a24f8y5";
-"codepage.source-2018"="4955x5b5ddysnx8bksmwsqhj1jy83991";
+"codepage-2019"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
+"codepage.doc-2019"="sv2vn5f4kcgzbg52233drja6705lcgcl";
+"codepage.source-2019"="4955x5b5ddysnx8bksmwsqhj1jy83991";
 "codesection-0.1"="mnsfhjy6j2ypxiwmwx85w2k2zyw928pi";
 "codesection.doc-0.1"="s2kwd6brlwa42pvhpjasx84s87vmbz8j";
 "codesection.source-0.1"="j94xngba5c8r55idfqgy7ra3imzkmg8x";
@@ -3059,25 +3125,25 @@
 "collectbox-0.4b"="2kxzzkgkgcjw80ff9n2mjnnfpxaxcdhj";
 "collectbox.doc-0.4b"="2xgqgni67w7q4ad0jqy4vr9wki08kn1g";
 "collectbox.source-0.4b"="szy9gprjqnkx357dca60120lvaiyyy8f";
-"anysize-2018"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
-"anysize.doc-2018"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
-"beamer-3.55"="6j7g5zkbjh79wh9j43hi5yfb68pwqgzy";
-"beamer.doc-3.55"="xrgl2ybi9qblzim9z0sfp5qi94kchjkp";
-"pgf-3.1.1"="5i2dlmd412v84digncamqlgnfv1qi2rm";
-"pgf.doc-3.1.1"="8j8as9w4j1jj8xmgj9brg4wxdww2rbqs";
-"pgf.source-3.1.1"="62xzh8qlpyhml2pfp2b55gbh4gx30ry9";
-"ms-2018"="ffg55s4fwk1r5lfv94wjw4f7npbvjpi9";
-"ms.doc-2018"="980rqpzi9zf2dn8aa891k4538rpzlq2z";
-"ms.source-2018"="ybpn3z6c8gw2jlbj3161l1gm6xxy85g4";
-"booktabs-1.618033"="5pj973c5lps8fzz4skmgik3892jii5vb";
-"booktabs.doc-1.618033"="kv5d1vbz28n5ifi1xnd4213q3dp55qgh";
-"booktabs.source-1.618033"="siz5pfb2skr927lz92dhhxirx44wsc8i";
-"breqn-0.98f"="g8kyjrldahq80n9m6kwy3i5zkzy865f6";
-"breqn.doc-0.98f"="wb4gpx36n2nkw2cg7nm0rmvpfvqrad80";
-"breqn.source-0.98f"="2f9gsnih6xnn2gps92n53k621lavzks4";
-"caption-2018"="m8mzmda6gali5wfap4352jisffrfk38l";
-"caption.doc-2018"="c99qjjhpb7ch7cyyfnafbzj9lcm2qdpp";
-"caption.source-2018"="j1zjjil7kk7am9r0qc7kjbddqbyixpyb";
+"anysize-2019"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
+"anysize.doc-2019"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
+"beamer-3.57"="p5nvgliaj010mp3ll25al5i59jsl465i";
+"beamer.doc-3.57"="810mwi012vlailxyqh88fqq5znnvlccx";
+"pgf-3.1.4b"="0vkablyicyimw0jbrgm29lhw9gfmd6ni";
+"pgf.doc-3.1.4b"="68jw3j17r06gclfyzlsdajgqbbikzrx1";
+"pgf.source-3.1.4b"="axqhmadpaw4srzqcj65lg69dxjr0m45y";
+"ms-2019"="1pl0q5d2rmp29raq2icpn03lfa7hynv9";
+"ms.doc-2019"="xwl23v3xbp7kahsh1d5lgjazbbbn91hm";
+"ms.source-2019"="9bmd1famkcmas9g2bb9mi0z6yjrlrqh7";
+"booktabs-1.6180339"="9fj9ar022akcyx1ymdf6i82j9na7xvvm";
+"booktabs.doc-1.6180339"="pv9qaxxlllqspd1a0i57d5m1lmfaz9nz";
+"booktabs.source-1.6180339"="wvlspksj5nlw9z1y8rmyaiky10wbnjk7";
+"breqn-0.98f"="9xpl65xypy6hgwc5dw3vvy7qqm638bvy";
+"breqn.doc-0.98f"="vppflv79a07m77bfzg1c5qv4521qsv44";
+"breqn.source-0.98f"="h5iqm33kqjrq9yf22grm4lds2hvcyz4j";
+"caption-2019"="8wlk0iizpz7x507gy3jn0s08anylfna7";
+"caption.doc-2019"="0n2msprhml7mdg7gdjrbq152lgaf7rrw";
+"caption.source-2019"="3ac4030rz58az0l1049pq5qfwll47hqv";
 "cite-5.5"="7vzh6m2dnlxwkiw62ifbyn9hx82jpgyj";
 "cite.doc-5.5"="d20p75a21nvifkj1f61fd9ah5580n2bx";
 "cmap-1.0h"="bky8rw1a9f00x6fzx611hgfcyf7d115f";
@@ -3106,93 +3172,99 @@
 "fancyref.source-0.9c"="54cyla9pjr00km1djk4jc0h8ly50c8d0";
 "fancyvrb-3.2a"="61ndr9r25hh660320x2mblk2ya0zl1z2";
 "fancyvrb.doc-3.2a"="64pdccdhvxjxvyj7l5g8hmd0hr5mdsm1";
-"filehook-0.5d"="95km0y68ldra3ha3c3j83zlchg7d6xn6";
-"filehook.doc-0.5d"="xvrasdz1m52dsjzn3wv5hy1pdwka3msk";
-"filehook.source-0.5d"="il5yprd7hw76wmbb6xmqz9njhkqjqkz6";
+"filehook-0.6"="srkyqmn87cndcbv0g0czlx47y23w1cxm";
+"filehook.doc-0.6"="gpqb7rw6990yrr748mn172k6fhfkkx0w";
+"filehook.source-0.6"="mpr60zx7c07v8x2hkdkvr2mkmw02xry5";
 "float-1.3d"="dqksfsgqpc0vprkhfc6c9vfxlbrnn8sw";
 "float.doc-1.3d"="88hpzqh1011kwvwwm5bppb2gx6c9qqrv";
 "float.source-1.3d"="j1vp24g1lvwniahnd9vlw32c61cjswn9";
-"fontspec-2.7b"="m7wfx0jxrpdsn4mjf228fp26y6r88jmd";
-"fontspec.doc-2.7b"="p7z1haj9ff0dl170r75xnqiaaj843lns";
-"fontspec.source-2.7b"="r0c36268dvs5wpvc4rzq7x4qblrvjy71";
+"fontspec-2.7c"="2842bpfa18b5bgcj9as9ps7hzf2ja1pf";
+"fontspec.doc-2.7c"="z707r1gckqx62pz0a7y77ssv052975cx";
+"fontspec.source-2.7c"="v7dghy4rzkypkvhkk673iyjv8dvynv4y";
 "iftex-0.2"="3amzn5jjz9l90w90rhrrq75shl1v731z";
 "iftex.doc-0.2"="n514jbc0x2jxsk39lhayr74xpzfgqvn1";
-"l3kernel-2018"="sw64lldqrag514q9l4ibwcb3h7b6vmcg";
-"l3kernel.doc-2018"="pkx3w6gmlfh96phhxic57w4x0k85w2n3";
-"l3kernel.source-2018"="gyynh0ysb99n8gl5vvq65s3q7rwh1b6x";
-"l3packages-2018"="fl3b1w6sfqyj888s73mn8bkhsas2pzzy";
-"l3packages.doc-2018"="l4nb45dlwi9bq41zq5wi0bsl7pr6rnzs";
-"l3packages.source-2018"="lh938srpn2ab9ljdz7fcbs0gandfyq59";
+"l3kernel-2019"="3ayz6qzmm29wi7vnjffls8kydc9sy8y1";
+"l3kernel.doc-2019"="8mzh11mvpbl7a2ggvg516330azr7534l";
+"l3kernel.source-2019"="p1f2dsmql6xzbx2x3czv4pfwvv0x1mpw";
+"l3backend-2019"="z55f8pgpikxdkj3pyafq7icrzn1cvk8x";
+"l3backend.doc-2019"="plqmv9h1sl8lxvj2mib0dalcdlbc66m4";
+"l3backend.source-2019"="i97xnksvscihnk10ih2fa066x55aisgj";
+"l3packages-2019"="ms46khqwjk804yk95hilf7dbsp789nz1";
+"l3packages.doc-2019"="xbmww23xqpj8rmmfrw64cs3k7q3pklr0";
+"l3packages.source-2019"="i74rqdvagwb54zrrnff2h0i3j06g6bxa";
 "xunicode-0.981"="ybvkdgz4sdl4nixzgz2rbmqfz7hwajv4";
 "xunicode.doc-0.981"="lydvg50dcpp0lk3m9niwdyf1vra61mgf";
+"footnotehyper-1.1"="3rx9cwmnz90z60lh97lafxidphh5hivv";
+"footnotehyper.doc-1.1"="y1n4fhq1gk9fcdbhl0qdk7qfrbpsm5f6";
+"footnotehyper.source-1.1"="nsq8cwpdz3fljgq6hn1flag38g2fbpv7";
 "fp-2.1d"="lxyxf8jkbgrkk43qbnr2s3ns19ihgmw5";
 "fp.doc-2.1d"="ih2kq6xp1nd5gs9bc9vhd34qa7jcj093";
 "index-4.1beta"="qbh9vs69mrp2czw492icb71wbx4nzshx";
 "index.doc-4.1beta"="l3476by3qz0r0cn3lcbw006ay5p11naz";
 "index.source-4.1beta"="0i38dyjh6278hxgkdzy0wvlcbn2w0k7n";
-"jknapltx-2018"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
-"jknapltx.doc-2018"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
-"koma-script-3.26b"="96y1k4pz31yr9v46i241f78k8f9qqsdw";
-"l3experimental-2018"="vqnf1rf8k8jg2n4qn33570576iphfshc";
-"l3experimental.doc-2018"="85gc0hk56qp7niqyfxl1fiikalmzqfjx";
-"l3experimental.source-2018"="lxj05zq2ljkh1nw6xxxqafg1h7nnz29b";
-"latexbug-1.0e"="jjy8i8h7l93vhq1hisvc9msan3nl05ls";
-"latexbug.doc-1.0e"="aiyx5hdf6a20591zwf1hls83cr2g4kkr";
-"latexbug.source-1.0e"="fgw8zm6f20rrl62g5d4iz3k6kpap6rb2";
+"jknapltx-2019"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
+"jknapltx.doc-2019"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
+"koma-script-3.27"="9ksv30m8h1g20wxvh61wj3sfv01cja5i";
+"l3experimental-2019"="5m3d2shrmk7njn1jd7bxswaq5wdp41ba";
+"l3experimental.doc-2019"="c1nqvxyj7yfchgr85p8wbz5x0zm5wf5n";
+"l3experimental.source-2019"="fhav9zik3s03qry2x0krn1g7yiffihiw";
+"latexbug-1.0g"="fjk32p2lbq0bj54snnajz4j21x4dbqsr";
+"latexbug.doc-1.0g"="1s1j51jphz3wphi8idq8jpvi935ag683";
+"latexbug.source-1.0g"="lnghssyyyrc9y2nca730pchkyvjmbk40";
 "lineno-4.41"="kvbdigwxw4db752kssgdb8rlxhljkkpm";
 "lineno.doc-4.41"="cfnil0v0isahd65d1sly2kr29w38h535";
 "lineno.source-4.41"="w30n8z3rnrvzpfa1d1s7mn3rcj03s892";
-"listings-1.7"="fvf6amw5a84ksdmfz3avbbg665v6x3lq";
-"listings.doc-1.7"="63wqr8c5z1ln6dx874xi6m6q92ka6wgn";
-"listings.source-1.7"="jmlva484yz09jskq0rnv91f8qxyb2fqg";
-"lwarp-0.67"="k57vn41p2jfpfbfc9f9fadfzbmcgwhzb";
-"lwarp.doc-0.67"="yyvzab5davwcbrydsilm751p8c3xh4vh";
-"lwarp.source-0.67"="w4bx46qa0dr4qgrp28a0xvls9jbydg9d";
+"listings-1.8c"="2asfcbjg5w9zxjfq2v9bdfnvyx6p1cmq";
+"listings.doc-1.8c"="xmczlyi7bqi8wy7247p9h08jhabkkq0z";
+"listings.source-1.8c"="9l0i48d1grilpgkna68abx3xbh7pb598";
+"lwarp-0.76"="8r1cpc8d7a09mx8g3k2xclr0wkyxkr6z";
+"lwarp.doc-0.76"="l65xk9wmi5s3qy4p9zm3f167p4fif9is";
+"lwarp.source-0.76"="2bya1h32g31g5ki7ajgib3g1iwkprxp5";
 "mathspec-0.2b"="kwvx81d4nlxj7vbr2n5zvgnfvkasg4y0";
 "mathspec.doc-0.2b"="rqykkdkfahnnnphcns26p19z9mr2mlgh";
-"mathtools-1.21"="j83lp7dmvyrmrmb1ii9xvfgnxjciqq5a";
-"mathtools.doc-1.21"="0hphh6ki9ndmn3kwxyn9xw3qqacs6k2j";
-"mathtools.source-1.21"="nwzvsz16kynk9ir83fgxm9j0s754dfh2";
+"mathtools-1.22"="jz5mji21zr6wna5dqnl5g9mvkf4z07aa";
+"mathtools.doc-1.22"="zy0nszbmq9jdpdxxin8fyc2rz2307nrn";
+"mathtools.source-1.22"="zjlqphmbjr8hqkv8ail9j83yy2cwl3mb";
 "mdwtools-1.05.4"="fbp8vrgdzc2g4i27m9f4qcsr8yjlbzg3";
 "mdwtools.doc-1.05.4"="jb5r95gmlqj1bx19gbkvcm372ina3bdy";
 "mdwtools.source-1.05.4"="kcm853bwwv69vb5zcmikd1gmpcnhz9pw";
 "metalogo-0.12"="hamja3bdw70llmwnabjq9vsdni1w77qv";
 "metalogo.doc-0.12"="mi09m2hdx668xm2v9igsq25z504n4vrh";
 "metalogo.source-0.12"="4xddwk98vl0xdff6j49jjanzvqbw6yzm";
-"microtype-2.7a"="cqjymkpz9b5h7m1dpc9srxqg96w2fakj";
-"microtype.doc-2.7a"="2ggf95cm8dihlzyh6wqxxckqhp81rh1w";
-"microtype.source-2.7a"="ii2rh93cl284ci6l75rkgrz6jgirhv3c";
+"microtype-2.7c"="kb96fykrpc13hn3s0vg6zb33dyx1cdi6";
+"microtype.doc-2.7c"="kr2m34rdkf2a62h8m9zsk0yqpi1g6i5k";
+"microtype.source-2.7c"="ysd9892wj8zi2hi4qzk6pfpknsv9xz73";
 "ntgclass-2.1a"="z5fz8hxig5gp5ii9780b8filsbk7qxyq";
 "ntgclass.doc-2.1a"="900yw3bcc4mdycknaspf867wm8fc3g7b";
 "ntgclass.source-2.1a"="rqd773gdvwmrz54igqz6qz54z4irajvg";
 "parskip-2.0c"="1vbvla6bsakgvv9f17ni5dxlh88xy4jh";
 "parskip.doc-2.0c"="2zm0jh7i14djl8xj2ww657f0qiwgqhn1";
 "parskip.source-2.0c"="1nnnvrl2jshgbwjjzmaw2w5qmczifnm6";
-"pdfpages-0.5l"="sb8n59whchnf3xl3gz8hwwgmihpvpz68";
-"pdfpages.doc-0.5l"="qgignjcc966a6gbx967js7lqx10fr230";
-"pdfpages.source-0.5l"="vv4r7sr23rlhp9jiihajiys8w87fxci0";
-"polyglossia-1.43"="r9rsxi11483kib89mynp5wjjp90f58qf";
-"polyglossia.doc-1.43"="2isfbzn41hz4pk5hdrpkpyj0cam8cdvm";
-"polyglossia.source-1.43"="7sn9bkz24275nxqa92d28y0xj6c3xpny";
-"makecmds-2018"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
-"makecmds.doc-2018"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
-"makecmds.source-2018"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
+"pdfpages-0.5n"="a50qjswa0drdgin6zsyz0m005mby2sgi";
+"pdfpages.doc-0.5n"="6j0mvrgzc4vxnc4f5xv2n9zmbshmyb61";
+"pdfpages.source-0.5n"="mbdklw49b4wqb9ir8f3cq105csjlaw57";
+"polyglossia-1.44"="jaqzsrm9qm1ly20a73hj0cjcj92fhqgh";
+"polyglossia.doc-1.44"="pwl89hlpg6b3v9vwwl0jafg9d4x8d6hl";
+"polyglossia.source-1.44"="r9wdjpi1jhr3daxl9wsz4mgc4v0cbgpp";
+"makecmds-2019"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
+"makecmds.doc-2019"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
+"makecmds.source-2019"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
 "xkeyval-2.7a"="nznhb9srbfg7ifdi2mlkqbdcsq6329a4";
 "xkeyval.doc-2.7a"="k84lpc1h5d71qcb2k5rm5fnn04pv8czc";
 "xkeyval.source-2.7a"="9g5vvb4y71qryhdbjwjyxhh2w86cch0f";
-"powerdot-1.5c"="dq53xc4c6n4qpxcqkdazwn6b8v8z94f7";
-"powerdot.doc-1.5c"="ph5p9y3knn1w1hkzb79kdxcwkg6fhrbs";
-"powerdot.source-1.5c"="245bf49s69vlxk1f1mlbdyfhx68icgpj";
 "psfrag-3.04"="k8qyr0l3fsc4insyy1r6q596dq4gf23a";
 "psfrag.doc-3.04"="ybb4r3w20w1pcjwzaw0srpkx5c19rqg7";
 "psfrag.source-3.04"="xk135sb77fk6l9wz6fzifsjvchcqyj0f";
-"rcs-2018"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
-"rcs.doc-2018"="m1lw85b793n2nxywdi39fg438i6kif7x";
-"rcs.source-2018"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
+"ragged2e-2.2"="9d56j53as9gdh5xsyyj1mvz9f5cy93r2";
+"ragged2e.doc-2.2"="911vhpxz6gryks06j0nzcg5d04393jl7";
+"ragged2e.source-2.2"="cndc09ydns267p1r7sr7hwlmpg4mqgsd";
+"rcs-2019"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
+"rcs.doc-2019"="m1lw85b793n2nxywdi39fg438i6kif7x";
+"rcs.source-2019"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
 "sansmath-1.1"="yxyny4949h4hm4ajn673nzzw8wn8cba8";
 "sansmath.doc-1.1"="b8vzdmm1l2x7cyc15xzhmwjkszlsp2j3";
-"section-2018"="69anwmylbk95jbgr8645abp07ygv9f9g";
-"section.doc-2018"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
+"section-2019"="69anwmylbk95jbgr8645abp07ygv9f9g";
+"section.doc-2019"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
 "seminar-1.62"="z9nzymppz6hz3lxy0nliqvy5szq6jk4c";
 "seminar.doc-1.62"="23fz6p4ybl42rmr1m3fllg7qn1zbmfki";
 "sepnum-2.0"="x64bd0f3g1x0bcpdgd2lfspr13jyxvcf";
@@ -3202,24 +3274,24 @@
 "subfig-1.3"="sbdadp9ya32w2h8f484zwpmpln2zi4l0";
 "subfig.doc-1.3"="y5g4iadgvkfi144zk37fww79r0smsfk4";
 "subfig.source-1.3"="3xn4yhi29m77001w2hy0s04svik5z5xx";
-"textcase-2018"="5a82axcc916n61755cafcqcz3vb7w27h";
-"textcase.doc-2018"="b8iq4xf229k6p8s0b38br9gncyqhrlxl";
-"textcase.source-2018"="xlgxjkf93zrwdhk44zmxazfqg1yw88pa";
+"textcase-1.00"="bx5a8yyv2wz1y2rj4sjm2psw3x1j3c43";
+"textcase.doc-1.00"="lx43w8yqkg66bg1b2gslsakj97jr7far";
+"textcase.source-1.00"="vjlmjci0821c4cnbh8bq2x3nkiwaji0k";
 "thumbpdf-3.17"="m4b0akrn0sq4ngalczdq287avr5mrpc2";
 "thumbpdf.doc-3.17"="9759lhx69f2406pc4ggg4q2hjws5nnr4";
-"translator-1.12"="zywqgzzdv9iq5qh14himidbswp4rg553";
-"translator.doc-1.12"="cwf0r8gq3ivpyiclm76dnyc42zzkjzm9";
-"typehtml-2018"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
-"typehtml.doc-2018"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
-"typehtml.source-2018"="96p79dyy553b4mc01ihk7qgr11396drn";
+"translator-1.12a"="n6lhccnywi25q2hkdk3ddvgywcxb244f";
+"translator.doc-1.12a"="qyspw49icxily7c7ky0apm8313v0rwh0";
+"typehtml-2019"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
+"typehtml.doc-2019"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
+"typehtml.source-2019"="96p79dyy553b4mc01ihk7qgr11396drn";
 "ucharcat-0.03"="d445ic6gwl7d5d31s691vr63f4hn76dz";
 "ucharcat.doc-0.03"="ma6rz3djr9v3q5p8ffqyznjb91gjj5li";
 "ucharcat.source-0.03"="kh9cnzg1pn8c51bbph2amp5y1j85q38h";
-"underscore-2018"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
-"underscore.doc-2018"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
-"unicode-math-0.8n"="bmxmdizqgxvvxic1rcbifznq1ipfp0kf";
-"unicode-math.doc-0.8n"="q2lvm6d9mmx75q3w4m8j6rw5ydghgpna";
-"unicode-math.source-0.8n"="4vcqrqrff1y0dqm5dv100a2iv22dwv8s";
+"underscore-2019"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
+"underscore.doc-2019"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
+"unicode-math-0.8p"="f2f8bm0png538nm7jydkm9l6qf10vjpz";
+"unicode-math.doc-0.8p"="62rpcr8civdwkdd1gk7fg2mf441h64pl";
+"unicode-math.source-0.8p"="dgv0nciqxh74dr6mxlcpljy5qchvan9w";
 "xltxtra-0.7"="k32hfwrcbhp144n8rplwjgxmz89pw9zm";
 "xltxtra.doc-0.7"="vkw5vjdd8n7qxi8plhjb4xygh97pfj5d";
 "xltxtra.source-0.7"="y27f01j6zgm06nmsgcp5kl05p637wvj9";
@@ -3240,9 +3312,9 @@
 "autoarea.doc-0.3a"="zh69glasmj251qwrw6pjrshprd6x4hsh";
 "bardiag-0.4a"="vh54valkzncvzlx8y58gzs3k5jq66s69";
 "bardiag.doc-0.4a"="576s5nnqvq13rjnnn4l2d1g1rnd64vvn";
-"beamerswitch-1.5"="98db9mbdibid3l8x154zj097020gn13v";
-"beamerswitch.doc-1.5"="jvb5jjlxw5cl02669q2i5q5nbn2pbqf0";
-"beamerswitch.source-1.5"="kc739zcc3s0h8wnph4cyn3glqp18knfa";
+"beamerswitch-1.6"="l759yh5xzqdxswf8hvbxpgsvpdbql82a";
+"beamerswitch.doc-1.6"="pixyxdhyci4j613cijcsm2bg20z9q8i9";
+"beamerswitch.source-1.6"="hnq47sdb3cqvxa1z0w1q3pwf838iga4q";
 "binarytree-1.01"="xl1rqgn286y7hpv69bwja6c5rrbx29g9";
 "binarytree.doc-1.01"="7ihijqc33m3ydk77aw0qqqhf94yyrz21";
 "binarytree.source-1.01"="lk7v0gr502ck4z0d605z6mwkswqpmfyk";
@@ -3261,31 +3333,33 @@
 "bondgraphs-1.0.1"="grfahi07937nnb8nm3b14csxv6bf3w7w";
 "bondgraphs.doc-1.0.1"="dky0vgbx6hfik4xjavvpvvm269hgsqcv";
 "bondgraphs.source-1.0.1"="zmcw2pr67zm6my8021slkbg8zvmbkxic";
-"braids-1.0"="pr84ska1cwhirfxq0g79bibzhhqr409q";
-"braids.doc-1.0"="yidgzx4j4n9d2zfs9y9brvnm6696m3f8";
-"braids.source-1.0"="2d9har9yfm1qxgnf08zdfpsndnr8grzq";
+"braids-2.0"="lhgf3jlskfcv3iwsyrnwd8amlr3f0kwq";
+"braids.doc-2.0"="jnj2mqbrrw89wia4vrc24ifg9rv3bzw9";
+"braids.source-2.0"="ny8xkjwdqbx115liw708q6bdyyqzcqil";
 "bxeepic-0.2"="dwf6rg63vzmlcyaxjzwjr8haihfxwv6f";
 "bxeepic.doc-0.2"="qkfwmg27v6ygkp3d9d1l18zrpribbx3q";
 "cachepic-1.0"="hr0pnmjxny590gzhqbwq9qiqd1vcpwrq";
 "cachepic.doc-1.0"="myyjxkc21qrwmvx2nvbg2smvzfzi5f5l";
-"callouts-2018"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
-"callouts.doc-2018"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
+"callouts-2019"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
+"callouts.doc-2019"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
 "celtic-1.1"="mr86xyd6md9n5b17a6wga40k8z98dq7b";
 "celtic.doc-1.1"="3mwjjxnv079m8ginlv5my50jj1cmpjv0";
 "celtic.source-1.1"="z25a01arypma6jfyj2f16n36hqyicffd";
-"chemfig-1.34"="as11pfbi1as1iah90g6y7r08fk4yksf3";
-"chemfig.doc-1.34"="6h6qgy8cfwivx075grvk6bfi0nfkk30q";
-"circuitikz-0.8.3"="krbwmn8nd6adhbjm4pg7rfxj9aff15cw";
-"circuitikz.doc-0.8.3"="sa8797nhxww4z85k37kmr5ipnyqa3k1s";
+"chemfig-1.41"="159wgzbnmda73q0s1lgn3jbfm5hywyn2";
+"chemfig.doc-1.41"="h86pl1g5w2fli361za5783pv7w62kkww";
+"circuit-macros-9.1"="9mnl36vzk80ci01283pn05rg6jl83xf8";
+"circuit-macros.doc-9.1"="rdzhyx1inmh6rnqzdbs830xnknvlc7d4";
+"circuitikz-0.9.5"="3z1x5j6p6maapmxgkl4gngn9mhszr0hj";
+"circuitikz.doc-0.9.5"="5psr4l9hdgm6766qh4dhx0sgspx8yjh7";
 "combinedgraphics-0.2.2"="hr8cvhw9ng0nx1v0v34bx5yppzhw8r3a";
 "combinedgraphics.doc-0.2.2"="2s219mqf373sb1rp3dwjd9kdasjl9fdg";
 "combinedgraphics.source-0.2.2"="4q5n4m14613bv27dc7n3z1m8w2sfiv0q";
 "curve-1.16"="w4a3qv419x68y5ydvi1dk6pnm6ni82ci";
 "curve.doc-1.16"="f4n85j7dlkp12vm17vqac8d4hzm1jvd9";
 "curve.source-1.16"="gkfbyzhsaknlrhm3ni81jxswdjv5z9ij";
-"curve2e-1.61"="ljjv1nfp078r3hh2jyayl25h4blrdvih";
-"curve2e.doc-1.61"="6i4d33f6hgccyh79v4lmp4dva7w4y9a4";
-"curve2e.source-1.61"="l6x74kclz9jcfx4irm860bkymz4aklf0";
+"curve2e-2.0.1"="bgzyk69v782swwlc8jj677lqcgc0bglw";
+"curve2e.doc-2.0.1"="bx6bxwa82k1ms94qxr5czhfcgr7qals2";
+"curve2e.source-2.0.1"="29fd9y77g6ijz70qdjnlv5jn4if9hvn9";
 "curves-1.55"="2cyy1kwxbvxpvxpvvsbh7nvh5q5l7n7b";
 "curves.doc-1.55"="jk4ma0hcrdg6lwy4l5238b9xzsb8lfrv";
 "curves.source-1.55"="q9l5hcsi0n14kkcim30yk6i6sxc5cmvw";
@@ -3295,14 +3369,14 @@
 "diagmac2.doc-2.1"="dfp1br71r19b0pzjzln61wjdn30qy0n7";
 "ditaa-0.9"="pbrv5kj46v258vy3dzlp1js4m0sp8wjj";
 "ditaa.doc-0.9"="db8d34zf2n19xlzljydai7vyz3p11wi2";
-"doc-pictex.doc-2018"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
+"doc-pictex.doc-2019"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
 "dot2texi-3.0"="igh08hai8lpcr0pn4lcfx5b6kgymw4sp";
 "dot2texi.doc-3.0"="r038r86xd4csibgk9n3h76qc5ak1zpl5";
 "dottex-0.6"="yvd132700sxd7hnngskg6w30r1cpx3m3";
 "dottex.doc-0.6"="67dpg655j83k809rs0ybc3cxpy2lvvqb";
 "dottex.source-0.6"="fz625gq3shyvx3wk5jk4hvr33wls038a";
-"dratex-2018"="ydbymdy490gw405n0gn3amd771knss83";
-"dratex.doc-2018"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
+"dratex-2019"="ydbymdy490gw405n0gn3amd771knss83";
+"dratex.doc-2019"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
 "drs-1.1b"="h9fz09xdgwgnbif1vxa1k7rxj8v9ri5h";
 "drs.doc-1.1b"="aq84i4xdklf4wcripj60cc9fd4w3zhhc";
 "duotenzor-1.00"="fx9ljkzzp09x8iajbwjlrzcjxf382k9x";
@@ -3317,10 +3391,10 @@
 "ellipse-1.0"="8whg820p9jrqn4nfb7lc3w8d1a2cyfvn";
 "ellipse.doc-1.0"="i9njlr8m3jb9pcrwqsbcjbsb26993p8n";
 "ellipse.source-1.0"="25xhi22s1cvkyzbjwchd50ixsx6awfk5";
-"endofproofwd-2018"="xn4xfhhr3k5cq53ab6rkjwvxqs877kq8";
-"endofproofwd.doc-2018"="q8zg1zy1909bsif59caj8rmmjj4g3v4i";
-"epspdf-0.6.3"="h50y3g5yrpqgsm0w913lf1pv0fnfl83v";
-"epspdf.doc-0.6.3"="g7jxwc3n9qjnj5fby3v84hlwz02lvr2g";
+"endofproofwd-2019"="xn4xfhhr3k5cq53ab6rkjwvxqs877kq8";
+"endofproofwd.doc-2019"="q8zg1zy1909bsif59caj8rmmjj4g3v4i";
+"epspdf-0.6.4"="h50y3g5yrpqgsm0w913lf1pv0fnfl83v";
+"epspdf.doc-0.6.4"="g7jxwc3n9qjnj5fby3v84hlwz02lvr2g";
 "epspdfconversion-0.61"="4dsfb50v8zqbx8nqlzlj712jiq9hchwz";
 "epspdfconversion.doc-0.61"="bxc42asj3as5dx1qq4axdvfs30lfm24b";
 "esk-1.0"="1hsqxgyh6nbwdw4fl5lsivg6wh1v2s1r";
@@ -3345,16 +3419,16 @@
 "elocalloc-0.03"="mk2cs80z0gh4dx409y2n3h9cr8ls1la8";
 "elocalloc.doc-0.03"="0p4f0hwr11xvn57adggbbssn9iiynsyf";
 "elocalloc.source-0.03"="spa5lrwk7nikx08v1pgp0xrx4c2gbahk";
-"genealogytree-1.31"="kiqk2g93pzz3l5ql1n79hwl75lxk0qfp";
-"genealogytree.doc-1.31"="bhhr7740m764zqj1iw3c397clb1c3pby";
-"getmap-1.10"="hhsp0nkp3260mx30bxnm0ni23p5yx3ps";
-"getmap.doc-1.10"="mi6nzjb83aswg8cl0bl60qvs8g250kgv";
+"genealogytree-1.32"="qm4n5cdjzhn48x7bhr8dhzi1harh1hm2";
+"genealogytree.doc-1.32"="ic98gqb5i5cdaczqqwg4mjah7sywdwp4";
+"getmap-1.11"="b3iws7x0vfqj4jcrz2y8m77l9v1ywwk1";
+"getmap.doc-1.11"="291rnf2x2nnyhf2wc82hv77jndrx6ckg";
 "gincltex-0.3"="sqimpp1pb3c7mqcm4jnd40jlahpcnr30";
 "gincltex.doc-0.3"="mpr0nv6ldvvc7wgq35qh34csxhxnknmf";
 "gincltex.source-0.3"="s0dq3s33c04fqmzi9q9wp09vgfm7qh9h";
-"gnuplottex-0.9.2"="mbk6yk5147w2rx00503pxmhmldykggdy";
-"gnuplottex.doc-0.9.2"="i0450hl7wd09618hy9igkz3g80zzklwl";
-"gnuplottex.source-0.9.2"="dzmxjcpajp5ylmj1hqn6zqvl5b0c5vlz";
+"gnuplottex-0.9.3"="r27hfr5pf31ihjv6nyyv3gwpb52pix26";
+"gnuplottex.doc-0.9.3"="5fd22z8bg4wd67sg5dzrmdb6bhv997l5";
+"gnuplottex.source-0.9.3"="1lan5zdflfhb2rvm65zdmcp56izp6khv";
 "gradientframe-0.2"="x80zlqzx72n55qpazclikrafwzny8ss5";
 "gradientframe.doc-0.2"="pgy0vrx4nvys3wki3202r377nryd0r1h";
 "gradientframe.source-0.2"="10dx55zpi0j7xzdkry3dh41ax873mmmk";
@@ -3373,24 +3447,26 @@
 "gtrlib-largetrees.source-1.2b"="knfqk3b14idsc57fj80ngw26xi7pcnwk";
 "harveyballs-1.1"="axddj0mvqck1gmg0b7s43q7gi9hm1327";
 "harveyballs.doc-1.1"="rpsz7hqyyp9h5sa0hxmxnlrs6na0imbn";
-"here-2018"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
-"here.doc-2018"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
+"here-2019"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
+"here.doc-2019"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
 "hf-tikz-0.3a"="hfdmzpnpak33573ldllk90rywqz3ngqi";
 "hf-tikz.doc-0.3a"="dy6jw7rgbclhb6c94rm3c1bxz0gznqn4";
 "hf-tikz.source-0.3a"="jn1iy5nysj2y94ar0s2491l97m1y2rw8";
 "hobby-1.8"="kmk2l2ik0anclivgqk6alx1v44j6g8pk";
 "hobby.doc-1.8"="8bdi0hrpyxyczql8rhqfiqlrza5y2g56";
 "hobby.source-1.8"="99k7q3r58r1v7vqh3hv08qbb5s1r552p";
-"hvfloat-1.2b"="bwsjy123hc62a1h4v0mj696jf4rjrizn";
-"hvfloat.doc-1.2b"="4hbmh1nfyp7xf78mshh7s0h38mfvqqa4";
+"hvfloat-2.16"="42b4aspf04rp4gvjlxh51284g8vkmhpn";
+"hvfloat.doc-2.16"="qsn79czwvj36r4ifp0yb8p8hrfrs4p4w";
 "istgame-2.0"="il4ycc7pxqvpyals4cvc2bkgvzc29vmc";
 "istgame.doc-2.0"="rr6wnw1csla45zv7kmcfizj72rfcgx05";
-"knitting-2.0"="qam4lj8q2acrb4pl4yqapl2d49hjacvp";
-"knitting.doc-2.0"="1kl1yx9iw11zig2pclzr7y3g290ma2bd";
-"knittingpattern-2018"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
-"knittingpattern.doc-2018"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
-"ladder-2018"="wgw0drkb53daslzwsvg48dfznndrz6dp";
-"ladder.doc-2018"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
+"kblocks-1.0"="lrlcxbcx98bsjxwkr10w5wax3x4lmyjm";
+"kblocks.doc-1.0"="wkh5wnh52fw7qsw07nq8zvj28l921s05";
+"knitting-3.0"="zggfcjvr02xigbnrhnz1cdlz9hqkcv5j";
+"knitting.doc-3.0"="40gp4l967is4ljnbh4k03w1a87r4n0py";
+"knittingpattern-2019"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
+"knittingpattern.doc-2019"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
+"ladder-2019"="wgw0drkb53daslzwsvg48dfznndrz6dp";
+"ladder.doc-2019"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
 "lapdf-1.1"="g5x8axkiscl5796b82is201vcbdxvc3f";
 "lapdf.doc-1.1"="3lpf17r6yqaa7ld8742cp8a7crafpc9x";
 "latex-make-2.3.0"="0q8ifbm69vizlg5bkkqv781w75n2icql";
@@ -3403,9 +3479,9 @@
 "lroundrect.source-1.0"="4ad9gr28lqir9g0a15pa31wybbc9m935";
 "luamesh-0.51"="h9iynwv9kpydaizfmn51kfvinqnmlixq";
 "luamesh.doc-0.51"="jmg6frxjcmpn3s4wkv11s2kbpb8aaidh";
-"luasseq-2018"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
-"luasseq.doc-2018"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
-"luasseq.source-2018"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
+"luasseq-2019"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
+"luasseq.doc-2019"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
+"luasseq.source-2019"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
 "maker-1.0"="88vzniwk6x9fqhp4y3g32a1cj6nb57g3";
 "maker.doc-1.0"="5w3rag10kbzp8whk0hjrl1ic7iqrna8f";
 "makeshape-2.1"="y9d0868x2s8950zphcf6sdz3l7a1sw9s";
@@ -3413,10 +3489,10 @@
 "makeshape.source-2.1"="5ddzsj9xakk5hwhg54snvv7bp0vlmjd1";
 "mathspic-1.13"="x4m5r6mv0y3cc4vx1qb6anrparbgdvlq";
 "mathspic.doc-1.13"="qh2ycvh04kxfihxnri5fr5zxdkk04ppa";
-"milsymb-1.0"="3p1nz0lkags3gdlpqlvsifm1d06aysj4";
-"milsymb.doc-1.0"="zk68hivzcmqvj57csg1rvr633s85ga6w";
-"miniplot-2018"="3myl55b3q359l0aillyxg7pisii3llpj";
-"miniplot.doc-2018"="hi57wciv475ix91zl4rh30lv5pffns1p";
+"milsymb-1.01"="qcagklmphxh4svksm4wl44hw3jq9zgdw";
+"milsymb.doc-1.01"="pcqfylx6visrn6b9503aq68zh4zgbxp0";
+"miniplot-2019"="3myl55b3q359l0aillyxg7pisii3llpj";
+"miniplot.doc-2019"="hi57wciv475ix91zl4rh30lv5pffns1p";
 "mkpic-1.02"="m0rzxyzpyjzial8vvd5nm2rny449ka5b";
 "mkpic.doc-1.02"="m0v80hkyq699sbmdbv5ydp75ccdh5yd3";
 "modiagram-0.2g"="g2syxjg96d46hkn75ym5p3pszq92kn9y";
@@ -3430,8 +3506,8 @@
 "penrose-1.0"="k6jlwvn60krdxcf7dj61nydhvf4smmfz";
 "penrose.doc-1.0"="yyv1mdclnrrvb52b68akbah0nd9jr68i";
 "penrose.source-1.0"="brmpi34mmx9b7vs1vl1gb2mbz4mxcnlm";
-"petri-nets-2018"="0yny9mc10syfx1a716sjw3768bf1a51z";
-"petri-nets.doc-2018"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
+"petri-nets-2019"="0yny9mc10syfx1a716sjw3768bf1a51z";
+"petri-nets.doc-2019"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
 "pgf-blur-1.02"="30lr14qkrz1ah9kvgadknb9a7yyhv625";
 "pgf-blur.doc-1.02"="x4phrny12czndwvsrml45i6a5ymfncf0";
 "pgf-blur.source-1.02"="hdg79rv84byqmnyahvi65v3ca3h3j14r";
@@ -3454,6 +3530,8 @@
 "pgfmolbio-0.21"="987pnzviy9l6fbqgkbq8xhjn18w4dpqi";
 "pgfmolbio.doc-0.21"="ckwm7mnw5qhp47vfxmbc5xjvnysp8jxq";
 "pgfmolbio.source-0.21"="l3rs43l6g8bg4l4y7gbf8ji8vpj9pwca";
+"pgfmorepages-1.00"="1w9nmavglic9398ipww68w0v4iajrq03";
+"pgfmorepages.doc-1.00"="cpbd2mqr5rmhj9lyxl2nd5mwn83djy0a";
 "pgfopts-2.1a"="r3hmv29kc7hfcmx1j2kirk27q4y2r5a9";
 "pgfopts.doc-2.1a"="qb2q273gcqw9p1wjzw8hq7z13f689zkg";
 "pgfopts.source-2.1a"="g9ya18k22lcd5f8aq3anl152d98h6b7z";
@@ -3464,12 +3542,12 @@
 "pgfplots.source-1.16"="m6vxsbqzqmjq6p4n2kxzygdhvxqpdaz9";
 "picinpar-1.2a"="wvxa8vjglc2v1k8dcszj32wx5jgmsm3w";
 "picinpar.doc-1.2a"="ix8d6091agdxivkq3pj0xv5afksr16xj";
-"pict2e-0.3b"="rmhf7g2w9a3qv2a4il24y0905swisx5p";
-"pict2e.doc-0.3b"="zyvajy5r8ph2ns8hphm3fnq0wzsz2sdr";
-"pict2e.source-0.3b"="rmx8qv2f1a170bcy1j2x1pjbq4r8js9l";
+"pict2e-0.3c"="nzynzzmjd5v7yc48a04parddy83xcrz2";
+"pict2e.doc-0.3c"="zc7md0dvssdpj7dcw99dh7h2i231rbyx";
+"pict2e.source-0.3c"="zwmlz98xbvkljr202lzrp3bps8dwqgl3";
 "pictex-1.1"="3wr03wxjs0nbpncsyzzz2flz5h383a30";
 "pictex.doc-1.1"="d96f4qc758wqc5pifjspr2cfhkj3j44q";
-"pictex2-2018"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
+"pictex2-2019"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
 "pinlabel-1.2"="5bshz2446a2c3mgc79b1znaw07n54cck";
 "pinlabel.doc-1.2"="a23kw5gn0cwsg5fzldlq5a9rj03wg1la";
 "pixelart-0.2.0"="hq6wmp9dgfzzqxwn11a3isf2jnzm2b7v";
@@ -3485,6 +3563,9 @@
 "productbox-1.1"="7l9nqp2nxybrl35q1slpz9jhn70las0b";
 "productbox.doc-1.1"="j713za0sjbr7plb4xdis6zwvi7bg1n1q";
 "productbox.source-1.1"="aqhyalz52l2nz9v46bi0jn21vqw68w6g";
+"ptolemaicastronomy-1.0"="09a5aimp6j8yxwfhsdb7kf574jcy2p6g";
+"ptolemaicastronomy.doc-1.0"="7ijjcz9y4ah07pwb30b6r0wpg87fxij4";
+"ptolemaicastronomy.source-1.0"="xv9cql2pkkiczvgf3v7sa80p22pbz3h9";
 "pxpgfmark-0.2"="sy9cs1y4gf9xr7jfiyp8zkr1r8di00hc";
 "pxpgfmark.doc-0.2"="25vgpjc0zr0wjny4snksr3yzk908s2mq";
 "qcircuit-2.6.0"="va7w4d1n5djxqa4fis7m409aapx7hqa4";
@@ -3492,17 +3573,17 @@
 "qrcode-1.51"="x2mibdysf003dgl6i1zq3h68a1km3j2a";
 "qrcode.doc-1.51"="y97sa2ha89kmhfj5kq55qk57sf6yf3h8";
 "qrcode.source-1.51"="f4mxn89cz4f6wvnvxqfxdq411nnz4z44";
-"quantikz-0.9.2"="jv9wr6rfd9nwyvk1pb8b5pry697j6s8g";
-"quantikz.doc-0.9.2"="0k6m5hzv77npim2xy5i9fpcjalhg9hba";
+"quantikz-0.9.5"="9zcs4s5jzndxprdhf4k04nvb7bg0ar8d";
+"quantikz.doc-0.9.5"="j3z2hxhp7s4ir1kkjadq8wavlvmy5dbn";
 "randbild-0.2"="bkb9mlnckwhxirdsck7pzqki670mgns4";
 "randbild.doc-0.2"="v89kxn1iiw9spvinn8xcazp81w9a0nb3";
 "randbild.source-0.2"="la433aq038bqyjdv40rvdkinsiq7bf07";
 "randomwalk-0.6"="91mjhj7f7d66khry7iy6y3v5wawg4y0b";
 "randomwalk.doc-0.6"="j5n0mc0grinrafdzb5cvqk3g1m9ir44r";
 "randomwalk.source-0.6"="ksq2jax3pbyqhkg5nk1jdhbzwgynhnyd";
-"realhats-2.0"="5j06gj4ara90bycn17ry7rn6plhqm3qb";
-"realhats.doc-2.0"="qgsk5kbj5xa5g3x0jv6rpqzygjg9n38z";
-"realhats.source-2.0"="vqfd241gfmnyq210y31phmqryc9swgv0";
+"realhats-3.0"="wk3pwrbv3mipr4hkdl09x0ysqfkp54qk";
+"realhats.doc-3.0"="6g2lyz0rp1gkjx41jln6mblfdadjd22d";
+"realhats.source-3.0"="kdyds9szcmvmlacgx8ngwnjcqyxjx4rc";
 "reotex-1.1"="yzydkc30vf6csv388xyf4lm9mn894781";
 "reotex.doc-1.1"="63p2w1vjpannypp8izsn8qis0f7zcngg";
 "rviewport-1.0"="c1flf8nck97sgi4994izzh0vwh8np9z2";
@@ -3514,8 +3595,8 @@
 "schemabloc.doc-1.5"="2020d2ivq6qccq1s7fk161pmarznn6ss";
 "scratch-0.41"="r2i8n81lhrl9420xwj61v3rmv98f64fb";
 "scratch.doc-0.41"="rgs8yb5va24k7cl8h6f2813ff0ydkia7";
-"scratch3-0.1"="vv620b2q43nnc5i1nl7q6fqfrb4p5vng";
-"scratch3.doc-0.1"="7k4x4q5ll619js3418jqqqmmf94mzgrj";
+"scratch3-0.14"="klj8v60bff3fr4pymifr0wcj9qgr7xv2";
+"scratch3.doc-0.14"="dzzlly4ygm0k69n92xpjfdknhg8h5c7i";
 "scsnowman-1.2d"="vmlm0ilz9v7hxsz6111w8596xajzg2ly";
 "scsnowman.doc-1.2d"="l1svi3nmdzpfnad0w8dzxxzh8c4n2v9j";
 "setdeck-0.1"="jhxxygy339baxmfl252kjjyhw2zbhf8n";
@@ -3523,6 +3604,8 @@
 "signchart-1.01"="y2yc5dcfwbpicxf3w7kp6lxjgwxz4dsx";
 "signchart.doc-1.01"="r2zsa7zazg4l0z4x18hwzkisqaympv1f";
 "signchart.source-1.01"="81p9ykfplbsb51lnx3wb00zrsrmsd9qr";
+"simpleoptics-1.0.0"="hd3442mvndh1y9qmk4g1c6jgy189927v";
+"simpleoptics.doc-1.0.0"="ivyl8pm0sxqglg6m7qiqyga8cnh8ac47";
 "smartdiagram-0.3b"="2ap0zqyxnbs2lkdgx70rrpm2b6d9gslr";
 "smartdiagram.doc-0.3b"="p0q92dnkzxz2i5zb8837353j4ainabxb";
 "smartdiagram.source-0.3b"="lqy3sqf14w7fxzrfim7mb1y7rmsbln1f";
@@ -3531,16 +3614,16 @@
 "spath3.source-1.2"="szcj8yyc7azz3xxjqsqxm91hmak5jyb5";
 "spectralsequences-1.2.2"="yahjlarc3vgpzcmb2abr6nwyhqqj5c1j";
 "spectralsequences.doc-1.2.2"="by1zrk0y8nq05qf8csa2gvwl316zc1j4";
-"swimgraf-2018"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
-"swimgraf.doc-2018"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
+"swimgraf-2019"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
+"swimgraf.doc-2019"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
 "table-fct-1.1"="b7wz94n1h3wpq9mi40zdl3v4m9hi1wxk";
 "table-fct.doc-1.1"="1k2sa9bsygbw1ib85x7yqda1jbzbg05f";
-"texdraw-2018"="iwrv8alhsxxawklhgxbnsncn6plr9mfx";
-"texdraw.doc-2018"="awprn6s3sq5ighgqgbh2gzcbai1iwxd3";
+"texdraw-v2r3"="rkzarniigb4a454964qbfdiaj1z124xi";
+"texdraw.doc-v2r3"="2wq6scv4jygmaam3ywddf8spizq9fi0m";
 "ticollege-1.0"="bznj0maq6a1b7m6p18dhq0fnssx06bwj";
 "ticollege.doc-1.0"="7n7nyn8zrp9za6l355797gq96vxp2d78";
-"tikz-3dplot-2018"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
-"tikz-3dplot.doc-2018"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
+"tikz-3dplot-2019"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
+"tikz-3dplot.doc-2019"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
 "tikz-bayesnet-0.1"="w9x9vf5hgmv18ljz0kx7rby1dig63539";
 "tikz-bayesnet.doc-0.1"="g7dkg4gg6729jbscb7cf3fsay2dfqv42";
 "tikz-cd-0.9f"="h74wx5r1jclma4zqd78wb3f5bmpfc2pw";
@@ -3549,17 +3632,17 @@
 "tikz-dependency.doc-1.2"="n3rk72ln03anvylh5pc5gyajkvgm6cff";
 "tikz-dimline-1.0"="q2wyvka6vafwaj58iawrrl3capkzvvfj";
 "tikz-dimline.doc-1.0"="gbfqnslkm9piq4jmhcivpyb9y2cjra2j";
-"tikz-feynhand-1.0.0"="2ah6vkpd7qiy4ymg6dpnlqjv6ab7zhvx";
-"tikz-feynhand.doc-1.0.0"="mpc844n8z08l4vk0ln2ki9sybmc85iz2";
+"tikz-feynhand-1.1.0"="06m7r0jzmsblixlp7r67dmpn68j2y9sm";
+"tikz-feynhand.doc-1.1.0"="0w41029zvh26r54ma77l27dkh81mqvxk";
 "tikz-feynman-1.1.0"="icrxa2hwmgnrah6x7br5sqsky8r47v38";
 "tikz-feynman.doc-1.1.0"="afnpl0m1fkwp7cip0ia10z0lgq2vnpwj";
-"tikz-imagelabels-0.1"="mqfr3pn310cgszxicxgar14kamjns2qb";
-"tikz-imagelabels.doc-0.1"="yh71mvrc6q8719s87wlrzg3w8bf7zwc7";
-"tikz-imagelabels.source-0.1"="ifkzwlr6pkn0c14llqks99wk75bwrmdm";
+"tikz-imagelabels-0.2"="16ifa9cz1wy7savmdfdrv8myx01zx4i6";
+"tikz-imagelabels.doc-0.2"="f17aq0xki5f7bbsjzp88q3d0vpmraf88";
+"tikz-imagelabels.source-0.2"="rvmig94wa47dlj17d6qvwvdyp57blxff";
 "tikz-inet-0.1"="mkhy91a9633a5hbqcckgppy43ri13wy0";
 "tikz-inet.doc-0.1"="c62lz4nmz4cw48rjmfl3vn913smpxzcb";
-"tikz-kalender-0.4d"="g7ym5a5v0lm1589nxy54ma6m847m4ax7";
-"tikz-kalender.doc-0.4d"="dzbffc4q539i6lzaqh66nrlpz8m6sn75";
+"tikz-kalender-0.4e"="nnszylg8x712g1kvxmk8cbl7iv2w0x2z";
+"tikz-kalender.doc-0.4e"="ihvfz01yv386i6rhd329p8c5dpgd8j5b";
 "tikz-karnaugh-1.2"="szdj3jvq9704zzzrmmm7kr67f9scc5vs";
 "tikz-karnaugh.doc-1.2"="4v7jmjk6kczigziblmaphpxl1xkr2ylp";
 "tikz-ladder-1.1"="ika5n5wsldxr4fk6qfjr6p9i94iydplp";
@@ -3568,8 +3651,8 @@
 "tikz-layers.doc-0.9"="d3q51sfsprqfa0m0plhghgcb3j63fn60";
 "tikz-nef-0.1"="88fk1n97w3dpajkw85ww9mw93p3wmv3q";
 "tikz-nef.doc-0.1"="xf8xsf1qxy0493zwx9nr2rsxnxavyzy9";
-"tikz-network-1.0"="5farvg4g7138lyipw3hqngpjd8vc75xm";
-"tikz-network.doc-1.0"="hfkqcpz72r5fy0prcjzzy2yx2j0imkxz";
+"tikz-network-1.1"="8cdkbdi646835h133djv5vs3d7w87x4f";
+"tikz-network.doc-1.1"="xxy33lp7nk9h2a52qifxvqg5vqsynpr7";
 "tikz-opm-0.1.1"="5hgjh2kg1ynxp4vn8x47wfkcxz27ahra";
 "tikz-opm.doc-0.1.1"="4jqackkzg26vkvrkwflljvxx6ikx1jbf";
 "tikz-optics-0.2.3"="lc3znr18mmhw9v5d7wc8s5hs83bm20bv";
@@ -3581,7 +3664,8 @@
 "tikz-palattice.doc-2.3"="j7y3y3r0mgm8limkgfljmn3i8dcnj0m3";
 "tikz-qtree-1.2"="vl2jq8b492p7dznrx63mi2zxcpax8a1l";
 "tikz-qtree.doc-1.2"="01bkpz1f0pm7plpkh6a2kx3c93iwcfwa";
-"tikz-relay.doc-1.2"="k54pyp94zlixi0v9c5xlvsbzasjd7ajr";
+"tikz-relay-1.2"="p4gb81p3j2226g1d7qiclv6d2cj52fq1";
+"tikz-relay.doc-1.2"="q694hq9r39mashph8za9yqf9rs3ixk00";
 "tikz-sfc-1.0.1"="2snmpyh0v493k4jpj29nb8pnad6hcz7k";
 "tikz-sfc.doc-1.0.1"="bx6nm96f145iv6r6250scs4myx6z2sw5";
 "tikz-timing-0.7f"="phaw9fm5dzq5xr4klpnw2dhnrq3lcam0";
@@ -3590,25 +3674,25 @@
 "svn-prov-3.1862"="d5py1m0kjdzdx371fpvi66l80p92xp4i";
 "svn-prov.doc-3.1862"="kz3zma1cmbi2kxvn560vzl71n0pj5bvj";
 "svn-prov.source-3.1862"="xz3g6ljh9fk8vfla8c3asbzraqymnca4";
-"tikz-truchet-2018"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
-"tikz-truchet.doc-2018"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
-"tikz-truchet.source-2018"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
+"tikz-truchet-2019"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
+"tikz-truchet.doc-2019"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
+"tikz-truchet.source-2019"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
 "tikzcodeblocks-0.12"="1g5p5x26xi87pgk6wsmrc8jfr5zbai1z";
 "tikzcodeblocks.doc-0.12"="anwa5r1dzd81pryrgy79cgcnyhr0p6ri";
-"tikzducks-1.0"="9mbndz8cyvjrfx6mqdpjcd98xfr7h8hf";
-"tikzducks.doc-1.0"="747wng5xf74xgskmpwxrchqsm7h7x7c2";
+"tikzducks-1.1"="rpv9c4xm44kj4p1wg7vc9z0wdmks0ax9";
+"tikzducks.doc-1.1"="77q72vyqavlicgn2y7l9ygln0dvy9lvk";
 "tikzinclude-1.0"="hh3h2srdlz39dv69wdwcrmjr1pps271a";
 "tikzinclude.doc-1.0"="qdzw00zvqp206krl9ph782lvrmvjphm9";
 "tikzinclude.source-1.0"="bznb6w85hk7nzsmnglz01qvi4mp64bqf";
-"tikzlings-0.1"="5m4pibw9mkmdfvr7k5ji7rcxqpybvf5r";
-"tikzlings.doc-0.1"="c52pah0ii7vzd3sz0xrf781zq76qwwdn";
-"tikzmark-1.6"="pj9jrwizhcqix929309darqchpxddwh9";
-"tikzmark.doc-1.6"="nwpi1qzxgf5mcmimw1v3s9mrk32xp9r6";
-"tikzmark.source-1.6"="ci5g9iqcs4df3lvay94c9xwwmghrl4q5";
+"tikzlings-0.2"="5zj4kybqjbzbnfkzhac84g2za5wii9a3";
+"tikzlings.doc-0.2"="vrmilr20lir4628xr132mv82gz4z0rd9";
+"tikzmark-1.8"="5k486ngj472l6mz533nfcgj43zlp1sjl";
+"tikzmark.doc-1.8"="0ljfqj9mzqrxy9hz1bjzm0z3i5hk650q";
+"tikzmark.source-1.8"="864falsbql4b9wwxyf5g0xm5dwmzydrh";
 "tikzmarmots-1.0"="d4603hm1maqsp6s2mpr3d9czb040x96q";
 "tikzmarmots.doc-1.0"="yqa28x78pg3513ni6xd11511pyqivkia";
-"tikzorbital-2018"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
-"tikzorbital.doc-2018"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
+"tikzorbital-2019"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
+"tikzorbital.doc-2019"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
 "tikzpagenodes-1.1"="bbppcjhxjza1vhld9n9kjdm5jf03by5f";
 "tikzpagenodes.doc-1.1"="qds77qax9drbdmnw93lsg9lzkd7kjmnj";
 "tikzpagenodes.source-1.1"="bm54xhdx003f6j5j2csj6272d6pqxbmd";
@@ -3626,8 +3710,8 @@
 "tikzsymbols-4.10c"="x1wdz62q9x6idd6893pbcm0d0k55b3j1";
 "tikzsymbols.doc-4.10c"="97p2haamz7kk8i970pa01x5gx1xmcrzh";
 "tikzsymbols.source-4.10c"="wllywv4fs2xfv3xvd92qkgm905yssplw";
-"timing-diagrams-2018"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
-"timing-diagrams.doc-2018"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
+"timing-diagrams-2019"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
+"timing-diagrams.doc-2019"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
 "tipfr-1.5"="dd5jgd6y7rzspj6shr5mbqcbbzyncv2b";
 "tipfr.doc-1.5"="w5mslbn2d53wzdkaynxigaw4344psp9j";
 "tkz-base-1.16d"="w03w3abbr404mmxvgvpb6jvzdkbj40d1";
@@ -3664,9 +3748,9 @@
 "paralist.source-2.7"="vs1jw2rijrnym49vd3w1nxswq52lvf9g";
 "placeins-2.2"="ac0ckzyrg9k2akv26dg4hck4q3w3z141";
 "placeins.doc-2.2"="ab3faqlwqspnnrvigdsljl9ykqyi2gfm";
-"sauerj-2018"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
-"sauerj.doc-2018"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
-"sauerj.source-2018"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
+"sauerj-2019"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
+"sauerj.doc-2019"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
+"sauerj.source-2019"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
 "xifthen-1.4.0"="4d6x7yb6hdr4xg2dn572gwpfnykppsph";
 "xifthen.doc-1.4.0"="364kifdxmk5ak2flyqcfzjgv0dbsykax";
 "venndiagram-1.2"="pxwyrzjwbkkyhfm22v13p2mm5l9s2bqp";
@@ -3681,15 +3765,15 @@
 "colophon-1.1"="7naibja70d1kb637ydb5jbj3xbgxa4l5";
 "colophon.doc-1.1"="m0y1dcw2ymnr8a09a8wzj6vw00ns055g";
 "colophon.source-1.1"="xfrkdkkk54q9zbhv9jzwm2bf43czj0na";
-"colordoc-2018"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
-"colordoc.doc-2018"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
-"colordoc.source-2018"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
+"colordoc-2019"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
+"colordoc.doc-2019"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
+"colordoc.source-2019"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
 "colorinfo-0.3c"="x5wwpzhcm3ppfg6hh0dcr3rl7cjs23zn";
 "colorinfo.doc-0.3c"="ppz8wrqzph8cq5dggikgi0gphmg0y1hj";
 "coloring-0.2"="qdjj8va77wpin0pw6izv2lhjj0cm8zfd";
 "coloring.doc-0.2"="v7z4bnnpghfi39b8jmzpwq496swhwndh";
-"colorspace-1.2.0"="33j69sadgpsmz3ji7163p9rx9bpvyxk8";
-"colorspace.doc-1.2.0"="mf7rdcflp40zwvqr249wyv87q90y8fxa";
+"colorspace-1.3"="fvlhzz9q6cyaxgs9yzlajaldvnfx7kx8";
+"colorspace.doc-1.3"="jlyv19xlx618ajj3g0mja99w5c68gbj3";
 "colortab-1.0"="4bqbx02c34g7271mg6y1gw1nyqmj6vwq";
 "colortab.doc-1.0"="qm51gjkcfq5gjimr5pp3svfj1xaqshbd";
 "colorwav-1.0"="ilrircjl70f9pv8g89d8dzjdsipjfbmj";
@@ -3720,8 +3804,8 @@
 "competences.source-1.0"="hlmzbgb3fd33miycrryvs4pb3sglrgis";
 "concepts-0.0.5-r1"="n6f2szv53cszq0ybd93wcggz3jl0wf00";
 "concepts.doc-0.0.5-r1"="xww0baz5rff17j0c56d1d0j1mh2zfpqs";
-"concprog-2018"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
-"concprog.doc-2018"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
+"concprog-2019"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
+"concprog.doc-2019"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
 "constants-1.0"="p22vxmnw3a68jgrwxzvs90x1ads7vy08";
 "constants.doc-1.0"="0d8avlpp7ra6jin7rq92vrpa6c97q5g4";
 "constants.source-1.0"="44ajza7nr171n3nlbj0lqqq7bld53i1a";
@@ -3731,12 +3815,12 @@
 "contour-2.14"="nqc3i7nqzk5svszlgb0glkr9m9n3sgvg";
 "contour.doc-2.14"="8kjg0zsy2i6nkvxq4xjcaaqd2by1wq5s";
 "contour.source-2.14"="jx3fc5lngqrdhcwy2dga2ynw64pfvwk2";
-"contracard-1.1.0"="syk0yvajva7nhdhsrk6nn3z7mwg4sa5r";
-"contracard.doc-1.1.0"="2a8qav861gb4rh141a1pfr50sbr7lypv";
-"contracard.source-1.1.0"="ld16pjizk0asaq6kkpd2imdmyz7ay4jd";
-"conv-xkv-2018"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
-"conv-xkv.doc-2018"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
-"conv-xkv.source-2018"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
+"contracard-2.0.0"="h90hv3p5azhik6lc2xqz2g2n2rq4ab3f";
+"contracard.doc-2.0.0"="ki3pizq78ili2p4d3az97zf3cm5mxldx";
+"contracard.source-2.0.0"="jk3nj5mm4xqvyzzw2g2gva945sjpxl78";
+"conv-xkv-2019"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
+"conv-xkv.doc-2019"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
+"conv-xkv.source-2019"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
 "cooking-0.9b"="sp0gxpgc190gn2wngw7nqzay88hykl4x";
 "cooking.doc-0.9b"="15mncbdsswn8q6914ijlhzlg5ch6schl";
 "cooking.source-0.9b"="n6pvjf2lx012s5y29qc5mjkiz8dinkjr";
@@ -3783,17 +3867,20 @@
 "cprotect.source-1.0e"="lzyx2nvma23d6ds8cl52zfxhsdjjshnc";
 "crbox-0.1"="y7zkz2wszr0iv7y3bhcgcaddsw3d54hp";
 "crbox.doc-0.1"="64zk4z35xzpxa2dmb4am67dnilqs8mqa";
-"crossreference-2018"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
-"crossreference.doc-2018"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
-"crossreference.source-2018"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
+"crossreference-2019"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
+"crossreference.doc-2019"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
+"crossreference.source-2019"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
 "crossreftools-0.9"="vgcy207mpng8cgp6a7vpy8frjakpfxp0";
 "crossreftools.doc-0.9"="fzfbdclk2h75vzllslywskqlly2pd2sa";
-"csquotes-5.2d"="wx2z3i0yhj91xf1xz89sk5ryfjjn3jg3";
-"csquotes.doc-5.2d"="zk095wb3qdl73c1xgqpx2xsl46p88nz4";
+"csquotes-5.2e"="06561kz86p7isj3bx68b4hrcjsq3qkpg";
+"csquotes.doc-5.2e"="scw57pm13ry5kvk76gk1f2hmvvb3xgzc";
 "css-colors-1.02"="5ybcj58dl55v53z40fvb3mgc8hl93z8x";
 "css-colors.doc-1.02"="kyz6mh1pkrjvz4za7x7sgmig7zrrxk8b";
-"csvsimple-1.20"="i6qsbbiqd7520p3nclaq59r99f0rwz6c";
-"csvsimple.doc-1.20"="lj0s0945ydzqqgqdzph3rbfv49kawwpj";
+"csvmerge-1.0"="r2srdy1zz8m0dkbpg1gaml9ln23q9rgy";
+"csvmerge.doc-1.0"="iv4f2b07k8c9cnw245xgbjzw27d4a5z6";
+"csvmerge.source-1.0"="vgiy7245r2lmkq9r38sbablnvambri1f";
+"csvsimple-1.21"="758dqg2cmy93dfndd3z61pgmkl0pvwil";
+"csvsimple.doc-1.21"="m7nhpkqj87k3pwiz9ib5lck7v4vv945z";
 "cuisine-0.7"="nj3ryfmy997y6llg5b3l1lp84jw3vg54";
 "cuisine.doc-0.7"="50wqmjcv6v117qxi0dkgyzs293y6jx1v";
 "cuisine.source-0.7"="n6zv4r2yz1fcgswbshvyfzji7jga7m3r";
@@ -3803,18 +3890,18 @@
 "currfile-0.7c"="8zm55f76nvvsgyjj4fck1jzqxfgv389q";
 "currfile.doc-0.7c"="y1cdz8qj6n4327smxxbp5fzmn7apg2cp";
 "currfile.source-0.7c"="bfsbb72fld42c15qq3zddgr0agfigc14";
-"currvita-2018"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
-"currvita.doc-2018"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
-"currvita.source-2018"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
+"currvita-2019"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
+"currvita.doc-2019"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
+"currvita.source-2019"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
 "cutwin-0.1"="q1c752nzdf2jw9agyb3aj6ishnk3yy7c";
 "cutwin.doc-0.1"="pawz3k75s1nws5nd0ilhgvy3g5ndfwvp";
 "cutwin.source-0.1"="c9aw3vjaxldf082z61m61d7p7rsaynfb";
-"cv-2018"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
-"cv.doc-2018"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
+"cv-2019"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
+"cv.doc-2019"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
 "cv4tw-0.2"="zw6g6n1l4mcnjdbpfx36h1l7ix8gj6sv";
 "cv4tw.doc-0.2"="49ghjsydw5i13nwglc69xmm1z0ypxlyd";
-"cweb-latex-2018"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
-"cweb-latex.doc-2018"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
+"cweb-latex-2019"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
+"cweb-latex.doc-2019"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
 "cyber-2.2"="qw2kap0b32i1zm67s9lz70mxc8v8smrs";
 "cyber.doc-2.2"="9fqzmqyaiclmpl947xwj5kjcp6fic9md";
 "cyber.source-2.2"="jkylpl3n1m87qch68sqm7njxgp8wv86p";
@@ -3832,9 +3919,9 @@
 "dashundergaps.source-2.0d"="3y92cxw29ks64dd44mihrcm2sxgng0pg";
 "dataref-0.6"="s46my6g3mkk7d5g7fm90xxpn2d1h4gmv";
 "dataref.doc-0.6"="ap8c1b9ljp1zg3wpzfbp827kwqcjdp0j";
-"datatool-2.31"="isqdl293hsc9q66xvycxqb5qd86zj8f0";
-"datatool.doc-2.31"="hkw1nvxxjrg4qfzrnp40z724nbpw54zd";
-"datatool.source-2.31"="5f37xf10xv3mcblrpsbm8aikjbi5sdqf";
+"datatool-2.32"="hdkdqrf0g5jbi0ryk0bgiv71k3x98kl3";
+"datatool.doc-2.32"="9garxgrw5k7lxf0c7m5d70wwl3zf76ny";
+"datatool.source-2.32"="1cpr7jgy98fpqjaw58pla1nwgywfyqq7";
 "dateiliste-0.6"="s50fmah2lasy1vfkgkybbaynspnh0wb6";
 "dateiliste.doc-0.6"="frs8z7x6yf2l78g94dxx0w5nxchx7kdx";
 "dateiliste.source-0.6"="idazlpxank1dw1mjym4vcdlq0970i5gy";
@@ -3886,9 +3973,9 @@
 "datetime2-estonian-1.1"="3x0q23w9xzh48brrkyriqah92488m03v";
 "datetime2-estonian.doc-1.1"="pq4p7wkvmq1z815nk92dcphmya6cska2";
 "datetime2-estonian.source-1.1"="a3dmirap9z4b3cw83y2z7y1dxjlxkibs";
-"datetime2-finnish-1.1"="xsrppqvhgv3agc5d1vgsql812rzfc7m7";
-"datetime2-finnish.doc-1.1"="058m3p472vmra4r5i5f3yjyvrga1f63k";
-"datetime2-finnish.source-1.1"="kxcfwal2hw8hh1niyj0zsghihx3cinpa";
+"datetime2-finnish-1.2"="xsrppqvhgv3agc5d1vgsql812rzfc7m7";
+"datetime2-finnish.doc-1.2"="058m3p472vmra4r5i5f3yjyvrga1f63k";
+"datetime2-finnish.source-1.2"="kxcfwal2hw8hh1niyj0zsghihx3cinpa";
 "datetime2-french-1.02"="0n2l9y4431i1092wkk8h2fkmk2pj1lmx";
 "datetime2-french.doc-1.02"="gc0pp2rnx16vgc4qq359ch6i61a8mbsm";
 "datetime2-french.source-1.02"="97fxzb9swgq0nwisql0fngik9c203pkc";
@@ -3943,47 +4030,47 @@
 "datetime2-samin-1.1"="hf0cfq9j1681pp4575bwgxhxfrbmlav4";
 "datetime2-samin.doc-1.1"="wznr20pqd6ffkjzgihkjfxq6byms95bq";
 "datetime2-samin.source-1.1"="rszlr5zy6zw52cv6mvh7sfdfnh4y3krq";
-"datetime2-scottish-1.0"="haf8z2vcwv70wavrj1skkxqly9rxv65p";
-"datetime2-scottish.doc-1.0"="gasr5azq08139ml2fvph01ikxpcrdlpp";
-"datetime2-scottish.source-1.0"="zjhfiihijw81rvacw8kjwq4bil6hi2fc";
-"datetime2-serbian-1.0"="nx5gf5inr1p1sf1knfsshi6ppljvqjbr";
-"datetime2-serbian.doc-1.0"="d787l63hi3qziiwrn4ddp25k7747p998";
-"datetime2-serbian.source-1.0"="22sxpklg0mggizc8bicy7x8hyx9vqn3d";
-"datetime2-slovak-1.0"="7m9d038l0zr0npb8fy9fh6n1v0lswgzi";
-"datetime2-slovak.doc-1.0"="m5j1zgplxa368k45rib1nqx6sd2ipcgn";
-"datetime2-slovak.source-1.0"="mqmhxsh32bknr3w2nv7mrl1ls7sn6xqd";
-"datetime2-slovene-1.0"="hn5z7ka761lq4xy2gz3idsrqkbkdqrf0";
-"datetime2-slovene.doc-1.0"="55rrnajlm7rhrlyirrdxw699gd4x4lr1";
-"datetime2-slovene.source-1.0"="4pc9aii99chcdigi8c5vh9sfyyjly22d";
+"datetime2-scottish-1.1"="0fw3v8db79rxc1363h70fgaswhzwhm4j";
+"datetime2-scottish.doc-1.1"="078mzhk1a0pd4qvvznp9aqjzhk1419j1";
+"datetime2-scottish.source-1.1"="mfw7dpm3mgh3wdmk4in6ysnnd6awij6w";
+"datetime2-serbian-1.1"="dbcf5c0qaigja5r4k03975vccybbkpxa";
+"datetime2-serbian.doc-1.1"="ajir9076mw38a6di9fjf0f977iq3a4wv";
+"datetime2-serbian.source-1.1"="b8xcnry7snnfwah7kibw3z6wyj7js88k";
+"datetime2-slovak-1.1"="s6drl7indhw6r88bpzzva2jhxrpmjg70";
+"datetime2-slovak.doc-1.1"="z5navvjmgvgxjihffyx9p43p4y3plg8k";
+"datetime2-slovak.source-1.1"="2g2jfgg91mfh572l3bh78sin351788k3";
+"datetime2-slovene-1.1"="jbfcfj6rwjdadwxf80qhbxwphfrz0frb";
+"datetime2-slovene.doc-1.1"="dkf9zsiaqkxk83m14pym8ryciwsg0xzl";
+"datetime2-slovene.source-1.1"="zvxwxqmhzh9fbbwcdsk6vm3y6lxjd4lp";
 "datetime2-spanish-1.1"="x6mlabgqr35m0dw6zkgj7czgxs3kqj01";
 "datetime2-spanish.doc-1.1"="8szzfhyvgppifac3m38s2r57w4dkajdq";
 "datetime2-spanish.source-1.1"="h287bxi9k4xx909qvkrsywyr86nh1qjx";
 "datetime2-swedish-1.0"="kmnrfgqk01ygpd1m25q8s6da0wm39bdy";
 "datetime2-swedish.doc-1.0"="r2scfwnn257vximpv7a88qbmrj2v2554";
 "datetime2-swedish.source-1.0"="swif8xn3c7p4w00cyxxlwvwjh4k82789";
-"datetime2-turkish-1.0"="lk7wm07qz96rfzi5g12hzcfwbdqnxmi7";
-"datetime2-turkish.doc-1.0"="86yp3mb4x7sl9im3cvxvfykfljc0cd8j";
-"datetime2-turkish.source-1.0"="4bzavnlmpy63vcfhjygjmhl4lf233m6x";
+"datetime2-turkish-1.1"="zz9fgafk07x5z63zkwa029yz6cf6xp57";
+"datetime2-turkish.doc-1.1"="zgh8zd14giw69lpn72gfpgdqc9v2qszs";
+"datetime2-turkish.source-1.1"="c39y1p039rbyp6s8cy7hs32va9904l7p";
 "datetime2-ukrainian-1.2a"="wmslcc8x7xkdzfd31psz7l7mfdpg5r14";
 "datetime2-ukrainian.doc-1.2a"="cyjjb5bmdwqp5by504r3s9s9h29r1bnq";
 "datetime2-ukrainian.source-1.2a"="3lj7rpa4qvljhvwgy6nlb0abmydgvqyy";
-"datetime2-usorbian-1.0"="i5kdakk028r0jrim2pc65gjj38501dzs";
-"datetime2-usorbian.doc-1.0"="ab6bfr9w1ybl26abk2vac5baffgsx8ib";
-"datetime2-usorbian.source-1.0"="p3xf2vlz24av6j4zihdig8jkf9xf328v";
+"datetime2-usorbian-1.1"="pm6w3h37qzfbca1p3j5hxrfdn02l84qp";
+"datetime2-usorbian.doc-1.1"="zn6pc9djwh8jjhf1p97ah3n5kiyzidyk";
+"datetime2-usorbian.source-1.1"="qy8g9fi20q25cl1nd0v057bvyp8mi6fn";
 "datetime2-welsh-1.0"="csy75jcm6aqad69jxhm7m01j04802pff";
 "datetime2-welsh.doc-1.0"="5qfzf2lglwj0399cj5y81f8a1y3rdv33";
 "datetime2-welsh.source-1.0"="2a3pn8nifx6bc81zk45cg8p0vdnwhfw4";
 "dblfloatfix-1.0a"="d1796nn206cs1jsas8kc05p0bfcb80rm";
 "dblfloatfix.doc-1.0a"="2rgw8lakmgyv5abzbpcngs9g1lrfdps1";
-"decimal-2018"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
-"decimal.doc-2018"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
-"decimal.source-2018"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
+"decimal-2019"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
+"decimal.doc-2019"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
+"decimal.source-2019"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
 "decorule-0.6"="pia1d0196sj7qkdyzximhpf0bidqv7pg";
 "decorule.doc-0.6"="p42gqybrsy773lypbb1nrjcigycf1ilm";
 "decorule.source-0.6"="q90xhppxnggj3gqx9vaf5qvc4aknfbx1";
-"delimtxt-2018"="akp06kcf04g4dx2ph7bs5cg4byld136r";
-"delimtxt.doc-2018"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
-"delimtxt.source-2018"="j788dpwxgryml7ny68nzab9c3dy0322z";
+"delimtxt-2019"="akp06kcf04g4dx2ph7bs5cg4byld136r";
+"delimtxt.doc-2019"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
+"delimtxt.source-2019"="j788dpwxgryml7ny68nzab9c3dy0322z";
 "denisbdoc-0.7"="fxcj67mah72g8w5xmrwb10vm1hxmciix";
 "denisbdoc.doc-0.7"="k4qq3apgqk0xgxgmrmqpl039hwzb478p";
 "denisbdoc.source-0.7"="45fl1pbbkiwk3b5cwl9ylcs1vxpdz8m5";
@@ -3992,27 +4079,27 @@
 "diagbox.source-2.2"="a6m49qkh7w30xgg342dd4vs7kpcf8kkx";
 "diagnose-0.2"="dbkvix4h3jhwq9pd2g9ydknc87z3zlr3";
 "diagnose.doc-0.2"="0b0ajzf5gvv3901szcwnkb7938sgqqr9";
-"dialogl-2018"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
-"dialogl.doc-2018"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
-"dialogl.source-2018"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
-"dichokey-2018"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
-"dichokey.doc-2018"="af0pz0ixx95k8abfhximgla5jjly9ddf";
-"dinbrief-2018"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
-"dinbrief.doc-2018"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
-"dinbrief.source-2018"="b3hcmv6mjq48yhjl7g32yv9s1p3d0hkw";
+"dialogl-2019"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
+"dialogl.doc-2019"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
+"dialogl.source-2019"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
+"dichokey-2019"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
+"dichokey.doc-2019"="af0pz0ixx95k8abfhximgla5jjly9ddf";
+"dinbrief-2019"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
+"dinbrief.doc-2019"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
+"dinbrief.source-2019"="b3hcmv6mjq48yhjl7g32yv9s1p3d0hkw";
 "directory-1.20"="7r6n8s393idf94madvzpfz70qvmy9n5z";
 "directory.doc-1.20"="shvbxhb02d3lw1sn3ayvx5xs6qayxjkh";
 "dirtytalk-1.0"="1a6r7pzqjy14f4f7vnlqgqdb6r0yfm1g";
 "dirtytalk.doc-1.0"="h383wrcj7pxb3mnqnssb48qx0zzw61gx";
 "dirtytalk.source-1.0"="dzvypzk6yrjli5zmr06xc2mqyajrvz1j";
-"dlfltxb-2018"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
-"dlfltxb.doc-2018"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
+"dlfltxb-2019"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
+"dlfltxb.doc-2019"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
 "dnaseq-0.01"="719cl1bfw7c1psv115pmrn7bijd0kxsr";
 "dnaseq.doc-0.01"="f8yw32bkw0chrk221qga668jpfnb3rk0";
 "dnaseq.source-0.01"="7aw7332aklsigpg8fazvv7ips2a236x6";
-"doclicense-1.8.0"="iykpppjmrwbgwdy62lfnm011ha2plkfk";
-"doclicense.doc-1.8.0"="1gvlh4ya6xzvwqyffjwzvmwk84qybhjc";
-"doclicense.source-1.8.0"="amnmxjfsdcaj1z7450dq7zlp0ciisxg7";
+"doclicense-1.10.0"="f063is9c1f8jv30mvpn9c165n9wdkkd0";
+"doclicense.doc-1.10.0"="y8l4xdnynqxarsj5p8y582baf0fx1rbi";
+"doclicense.source-1.10.0"="f6wxl53cvy87ws837gmhdl7rq6r0lxcd";
 "docmfp-1.2d"="5az4cgljj1gmc28z6kwy9g4h49gzkplf";
 "docmfp.doc-1.2d"="rn7s95z09ijvddynz2dda2lpqidzbbnw";
 "docmfp.source-1.2d"="c6swy2dkxzrprrl0zjbphcf15x6my5l2";
@@ -4025,22 +4112,24 @@
 "documentation-0.1"="kji3s9vf00jpl198nm49dxfxw8yh3xkh";
 "documentation.doc-0.1"="ir7a948d9yliinmb3y55vx8wa2zi4ada";
 "documentation.source-0.1"="gjlkrc2a087589g9lrk9sh8g4q0l03vq";
-"doi-2018"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
-"doi.doc-2018"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
+"doi-2019"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
+"doi.doc-2019"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
 "dotarrow-0.01a"="an0dsydrk9bfcahzi356nrfq9fw0i9fs";
 "dotarrow.doc-0.01a"="ay137znk96s545wq4sligy3q832m4g91";
 "dotarrow.source-0.01a"="g5krgdbp4bdfhk40s759qw2j6f7n6ss7";
+"dotlessi-1.1"="y3g1v1d5q2lxmghfc58msm75421pm2yf";
+"dotlessi.doc-1.1"="hniafmk6wys4p2mlik5v3gfsvmpkshqc";
 "dotseqn-1.1"="pvfjw24r81j8403qav5bfd3i6xfk3xr1";
 "dotseqn.doc-1.1"="7iq10vxjnn14rvlpy10clnrq0kcs0a5q";
 "dotseqn.source-1.1"="fpkmmkp37gnl7cg75i820ry92s13vkx2";
-"download-1.1"="mrhh5hmhypwk95rzjgzp59wjx1alvqf3";
-"download.doc-1.1"="plal7xhskmrylmkpra45xmw0vf4sgd46";
-"download.source-1.1"="r5lrlmp4ccxlmzm1h7l57d17cmgdsmww";
+"download-1.2"="7iyriccjgkp5kr1wf1xbpg5kx44g85f0";
+"download.doc-1.2"="vsrhz791rril9vb50laapa668pc92ixz";
+"download.source-1.2"="ihygdvqagb74hzcbb35673bapx1a3j0p";
 "dox-2.4"="vmv0sf0gjb0hgimhyyxah2n9z7kfc60r";
 "dox.doc-2.4"="mjc4chfbw9nnq06h6sr9v5q7mx0yf3w5";
 "dox.source-2.4"="6pwhbz64rwylp60nhay1ij6bls33aqcx";
-"dpfloat-2018"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
-"dpfloat.doc-2018"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
+"dpfloat-2019"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
+"dpfloat.doc-2019"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
 "dprogress-0.1"="6bz0iy8fa34famjb67k3q1xhsca311k3";
 "dprogress.doc-0.1"="9x4n68z2vp63dvhc4g30yar4z70xkxbb";
 "dprogress.source-0.1"="g0d00q6x7wagml9hphd9b2ddg7zn887a";
@@ -4055,18 +4144,18 @@
 "draftwatermark-1.2"="r78p4n8jbzjvx8p7gx1fj7fp4h56x4xq";
 "draftwatermark.doc-1.2"="6mzqbw0grmivgby8vqiqf04i9dnvvimb";
 "draftwatermark.source-1.2"="6p47ci9wfjq7svn09df09p4jxwvyfzxa";
-"dtk-2.07a"="ygp8d66wn5xna4hlb3r8x7ycp652xqmz";
-"dtk.doc-2.07a"="7f2zzwfwcb6x4a7yg79d12yf63k0n7ly";
-"dtxdescribe-1.00"="x9hyc2gc11wg64w9ckcxwcrdr10qdyjc";
-"dtxdescribe.doc-1.00"="a58dxg5jm24rc2azh3abcb7mwwybyp9l";
-"dtxdescribe.source-1.00"="krsk5i3s1gsjix1mkpa44c07n5zm3bb5";
+"dtk-2.08c"="3615adj9zkvi51d9xcn8sk6fyk0xahyh";
+"dtk.doc-2.08c"="8pmrd68qj6z09ivscvd5q07ni6wbf8lr";
+"dtxdescribe-1.02"="2bhwnkb5id2raigd4iywhf7da7c772zr";
+"dtxdescribe.doc-1.02"="2ygyzgrllyq4fa2xbf8fyrfk810w2ja9";
+"dtxdescribe.source-1.02"="39inl1ksgzd28sszdfjyyq80gscdc6xs";
 "dtxgallery.doc-1"="bpsakwyq6ihcw2ziqpjv8qh2a90s5mw9";
-"ducksay-2.3"="nmyshghzc0l3pp30p2h1wnmdylkdlkc0";
-"ducksay.doc-2.3"="ns8zaixanf24b8wd41n9bxgn7jjzqsrq";
-"ducksay.source-2.3"="3g4fqwb3ca8myvj7jn5gxn5i7i3zwfcl";
-"duckuments-0.4c"="icncsqdwzw9zwirqkmdsic8xqvz2xq0r";
-"duckuments.doc-0.4c"="ckfxm8iskbyqd7cya0bk96dj247dhkr0";
-"duckuments.source-0.4c"="zpkagf9g6nj9n92ajxaq9gwns1i9vd26";
+"ducksay-2.4.1"="42iy8cbp5yrff5ka5cljvb59wbwywwwb";
+"ducksay.doc-2.4.1"="zl0sz8xb5yhwhaail9kfnx9lg7a204zk";
+"ducksay.source-2.4.1"="lkqqhv6igq38kh8jx8wy131zrqdd3mr3";
+"duckuments-0.5"="vdc247rsaliycjf37gn8lwihycrpgksp";
+"duckuments.doc-0.5"="7ia6rdsdhhnvf2jdxynz780virwl48p7";
+"duckuments.source-0.5"="ndcajqs2y2vmk0fzd25ayc4i9yq03qz2";
 "dvdcoll-1.1a"="x9xdlwqrbq8wflwbwkabwyi9bg8rakqz";
 "dvdcoll.doc-1.1a"="m88326jypnn2i1bqgv458cyjdzdn320i";
 "dynamicnumber-0.1.3"="p6s0hyavqqz8hsfca8ymfqd63ajpbgam";
@@ -4074,12 +4163,12 @@
 "dynamicnumber.source-0.1.3"="1s5p8px5hk951cifga7as2cys5p9v9g8";
 "dynblocks-0.2b"="svrn2iyvz97vsdz7zf2npfjjmj1hiiwd";
 "dynblocks.doc-0.2b"="vbfwn0p5rpddhfbj5dzzg8y777i69s62";
-"ean13isbn-2018"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
-"ean13isbn.doc-2018"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
+"ean13isbn-2019"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
+"ean13isbn.doc-2019"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
 "easy-0.99"="jb9dranvwd0ngzigpq8kla53wnd99fiz";
 "easy.doc-0.99"="m4hx4j5snaiip3mzz1hnakcqjdmhmy4z";
-"easy-todo-2018"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
-"easy-todo.doc-2018"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
+"easy-todo-2019"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
+"easy-todo.doc-2019"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
 "easyfig-1.2a"="l6pbmvwsjjnrpxl6d9v6askvk0fvqpyn";
 "easyfig.doc-1.2a"="glg4115m5lkacjxdq29my9a01xn5mj13";
 "easyfig.source-1.2a"="szidzjjq2h8aiqh995xcd37460xx5lbz";
@@ -4114,61 +4203,63 @@
 "egplot-1.02a"="wjw51hmdhl76wqrgj9ylhyb656rfqmg9";
 "egplot.doc-1.02a"="3ybfma3qjwnmd9djk0ckr22kvln7ksgi";
 "egplot.source-1.02a"="lpd8c8hpz0vpln7hq4ck2xm896hhkjz5";
-"elegantbook-3.06"="23ky7rb7y9990kjv3gfmvnssp6hpgza4";
-"elegantbook.doc-3.06"="r079hcmw9ivlizpv1280b0411fj7h0wg";
+"ehhline-1.0"="0ayan5v26fd54c0nrvs590ny44pwamg4";
+"ehhline.doc-1.0"="f4gk0s21pnnvjf753z83vyprvhcsvrs2";
+"elegantbook-3.09"="p64inp9fb54g2lkdc8b6z1c0qvnxihd6";
+"elegantbook.doc-3.09"="bzfd025rnz0ha3m7xp5f8gvw5lrrk5sh";
 "elegantnote-2.10"="m6lz4p899gmvmd2939an2amnvj6fhix2";
 "elegantnote.doc-2.10"="ckdxix1rmk6ixxx3nvyh12f3mr325z5s";
-"elegantpaper-0.06"="7wvzqfibb80i15kc4k0jq6zqnxyjfwm3";
-"elegantpaper.doc-0.06"="1swz2bpqclgi4p92khydqmi4j62fg0l1";
-"elements-0.2c"="abndi4qwsp7wf4d4df62z9fb1nsp5qga";
-"elements.doc-0.2c"="wpa8dz8d8l3kj03x5v4pv44m96rbjq1s";
-"ellipsis-2018"="cnpqy3kavs6v3r35x6hp9cny47lp47vq";
-"ellipsis.doc-2018"="pl4c26az5319bjkqmp0byyjh6m2ghxnf";
-"ellipsis.source-2018"="s1vmh5xsvqrwhd0c4qqk4qw9pgmm62ms";
+"elegantpaper-0.08"="wccij61cpjzcyw006hzhgdvv7i4kxfpk";
+"elegantpaper.doc-0.08"="mngv13z3srw192zl58fy7vrqn6i31sjg";
+"elements-0.3"="5jhgr3w0l71k6yyah71sns2cyib3w6rs";
+"elements.doc-0.3"="64ad2wwg0s9s56416gdw3y2k19qj3isl";
+"ellipsis-2019"="cnpqy3kavs6v3r35x6hp9cny47lp47vq";
+"ellipsis.doc-2019"="pl4c26az5319bjkqmp0byyjh6m2ghxnf";
+"ellipsis.source-2019"="s1vmh5xsvqrwhd0c4qqk4qw9pgmm62ms";
 "elmath-1.2"="pljnyyb5wp8n5f7g5wp2hb0f7aizxwyd";
 "elmath.doc-1.2"="9rrybpg3pziqa42bkhblp14jjz6zgm2v";
 "elmath.source-1.2"="fnw5k3ck3nbphv71xqlyq6yisgq04xjc";
 "elpres-0.4a"="mqyj4aylv6lah36gxkqrdcl2a4jgvnlk";
 "elpres.doc-0.4a"="fs5jy5zzc8jg2v0gbvqr5nwdad9bmz21";
-"elzcards-1.23"="p6nlzsxv09zr1g0pw4y4ldmlmvsi09wz";
-"elzcards.doc-1.23"="lmgv45bh0c4ka1a2yc4xkz08dxby4hfj";
-"elzcards.source-1.23"="y17rrin365qx9zrx5ja7k9bwws1ar92h";
+"elzcards-1.60"="nyzh9ppq7rch8s38spiddbvgbc3jlav3";
+"elzcards.doc-1.60"="xf2cc42ypl06p2kardrq1nf3bkr0xziv";
+"elzcards.source-1.60"="k346vzql960by6gqi3fcpfjdiq6ncc26";
 "emarks-1.0"="98dkcqyxwjzmy7r7piap7kmf3di5xjqg";
 "emarks.doc-1.0"="caipsh0fic83rak0dbdjfmgkvppj5ini";
 "emarks.source-1.0"="06wmqv5p4nhaqhcb0i8byf6s600bq7in";
-"embedall-1.0"="z335nw0mjz6g6gjn2xhifqa3ab9i20sc";
-"embedall.doc-1.0"="xbw4wwbl2ri0mmikx2vfqz557pq8ilr8";
-"embedall.source-1.0"="2xz175j1v7zvc3ndvgnwp5kvqpni6vs2";
-"embrac-0.7"="80kckrxa5bbw60nrx7c2smx26ldlb6l1";
-"embrac.doc-0.7"="d3kv5937wvw26jlz66wnf272iiidql0p";
+"embedall-2.0"="bkkkbm42s039l4hsy7a06fba7y76pcdh";
+"embedall.doc-2.0"="xifjdsbhrdr372svi21sq1wwl6jin2as";
+"embedall.source-2.0"="kmanpw0yvlllsc52f4wfhh7dpby80bnc";
+"embrac-0.8"="5l14aa7s3k4kiw4lalzr2sx6r6xv4ak3";
+"embrac.doc-0.8"="r07azs58bn2ik5g0y5ybxbxc1q1dgac2";
 "emptypage-1.2"="lbjvj1gf2jiy15yj86d6jxlhrk66zmrm";
 "emptypage.doc-1.2"="07fnrxjidk9b42610wx6696cah8p1zdi";
 "emptypage.source-1.2"="svha86185zhrvab827x8nbn02vlp027l";
-"emulateapj-2018"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
-"emulateapj.doc-2018"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
-"endfloat-2.6"="00fwiy7qr2gmw0890bwh56cpkzgngmak";
-"endfloat.doc-2.6"="lj3858d0f57sbrnm1f35bhfcb2afmv9b";
-"endfloat.source-2.6"="rfvjryrql4n1ihvkbvhbnyx7992pg2pg";
+"emulateapj-2019"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
+"emulateapj.doc-2019"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
+"endfloat-2.7"="4fc93l83sg85k19wjriw7703zn70hz7b";
+"endfloat.doc-2.7"="85zhqgxpdbwzlr0c6dkkxnf15dx4qh3n";
+"endfloat.source-2.7"="6q86lh5x6df037hkk26rc02ypqfjk1nz";
 "endheads-1.6"="0gjn1xldvixl6lh9n2g9gyly9va84sp4";
 "endheads.doc-1.6"="y0phz9mfklcq56h6mwkx2jd535v94r72";
 "endheads.source-1.6"="x01kj0pd2b1ljs3457l1b7880vp8amdx";
-"endnotes-2018"="mwf7b44kh21vis4mjglri12m2ji0fkyq";
-"endnotes.doc-2018"="ksik52m1c5n390015awpj4hszf621ih7";
+"endnotes-2019"="mwf7b44kh21vis4mjglri12m2ji0fkyq";
+"endnotes.doc-2019"="ksik52m1c5n390015awpj4hszf621ih7";
 "engpron-2"="d0k5j6bdrzm418x90n8858cyw85i439m";
 "engpron.doc-2"="4mhw0220r7x85dshmar87b3jydn2jxdd";
 "engpron.source-2"="3rdxi48m3h33kn1z81md9izji6my7sdk";
 "engrec-1.1"="8wc4zbqvp2lgs3qgvhks8fhy0gcafddy";
 "engrec.doc-1.1"="3rvil27vakyv0c56wykmhb499a3xfbjk";
 "engrec.source-1.1"="3rj7ij1f8rvyb80iaxx0fw8br06w8kgp";
-"enotez-0.9a"="saxj59f54nz8jpg1bcacx3izk6ijbbfy";
-"enotez.doc-0.9a"="f16i6ia9mvylja841x3s2z3nhwpvriaj";
-"enumitem-3.8"="4z7f7bhbqwv8m3pvy05ldgyra8ir7j73";
-"enumitem.doc-3.8"="9m4djycqfl7x65cyga1mxm0gbi8gi07i";
+"enotez-0.10a"="d7wl58rba9810bqn5v1rg1sn6pgpb9xi";
+"enotez.doc-0.10a"="1y5kkfl7j6bi5gbk04xmqf8hx644x90h";
+"enumitem-3.9"="cddx7nd076jvg59bdkqaxnmk4rdlg94a";
+"enumitem.doc-3.9"="nraf0fvdrdn61w2dxiaqcd6xzlywq9pc";
 "enumitem-zref-1.8"="hj60650qiwzxhdk9f9pix1wgvphgqxj4";
 "enumitem-zref.doc-1.8"="nq73212kl36wimf8k4m37xzb5pr6qqdh";
 "enumitem-zref.source-1.8"="3l875sm2v3c2frxhr17rv80q36n19a9h";
-"envbig-2018"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
-"envbig.doc-2018"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
+"envbig-2019"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
+"envbig.doc-2019"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
 "environ-0.3"="abj66v6h73l8sj7rll1v0czlx99j5z8k";
 "environ.doc-0.3"="rq5cywlfalfd6c2585ihs8mabnadp2n0";
 "environ.source-0.3"="r3bq7ppaqwidvilrf1hyniqfk1fdh4d8";
@@ -4178,18 +4269,18 @@
 "epigraph-1.5c"="6fjixgh32n7mlygm6dz3xdiv4bzd1p70";
 "epigraph.doc-1.5c"="mmk8d73w2mkhya560hvdz56nvw8l5vz2";
 "epigraph.source-1.5c"="6zj62nlmzvi5pagymipk9611glql8pnx";
-"epiolmec-2018"="hpmg6yy63c52078mqmp861418xi07rgk";
-"epiolmec.doc-2018"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
-"epiolmec.source-2018"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
-"eqell-2018"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
-"eqell.doc-2018"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
+"epiolmec-2019"="hpmg6yy63c52078mqmp861418xi07rgk";
+"epiolmec.doc-2019"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
+"epiolmec.source-2019"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
+"eqell-2019"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
+"eqell.doc-2019"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
 "eqlist-2.1"="jajr72vgjddrwagibq1nmhf9lqqsk66n";
 "eqlist.doc-2.1"="ln486bm8phd0pmdfa75rjy6p1bwqzgmd";
 "eqlist.source-2.1"="r07gp9r0wb57knv1gy35kwkvksz9bxd2";
 "eqnalign-1.0a"="lcg6zvxcnzmljvqfv6lh1majiywkwnyq";
 "eqnalign.doc-1.0a"="h21nzl5g0hqh3513gbipm4fr79i6pljk";
 "eqnalign.source-1.0a"="m8i3vxkn3ciab2p86shkzzzx2ckp9d7v";
-"eqname-2018"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
+"eqname-2019"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
 "eqparbox-4.1"="c3v8vdwcjfhn85751995viymlfgwpwr1";
 "eqparbox.doc-4.1"="9mn192afkzc3pzxp5xxsm7kxpaa3yis1";
 "eqparbox.source-4.1"="s206q1m2wkjsvjz23xlsx1yy603jjisa";
@@ -4204,29 +4295,31 @@
 "esdiff-1.2"="q26sgf5s4ans9qv984p9s04pginqby9z";
 "esdiff.doc-1.2"="67vh3nycsw9h9vv7k25agixsmrdg0068";
 "esdiff.source-1.2"="xy6y4za3k53myl7dxbjxm21rcskb1mqz";
-"esint-1.1"="gl1f53zj32cqf3vy7rrhj1l5g5lb0vvq";
-"esint.doc-1.1"="rnlcq3gjvqz0728pydxz3q5cpbgch5fy";
-"esint.source-1.1"="sw4zxm0z19980pq7f9fxkf0b0v7yp9nf";
-"esint-type1-2018"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
-"esint-type1.doc-2018"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
+"esindex-1.7"="4cphr245spz228hg23dgvffry10hqi9q";
+"esindex.doc-1.7"="0aspp9mpf60hxnqyj26jpznsj0xmb7g3";
+"esint-1.2d"="74szrggzvcprs68hisb87p7nvj0i081h";
+"esint.doc-1.2d"="hjpca8jbf1aipkzs30al948hpclk6jy2";
+"esint.source-1.2d"="1mpxmf7kkdmglnz0l6nkcpbyy4k3kbqp";
+"esint-type1-2019"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
+"esint-type1.doc-2019"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
 "etaremune-1.2"="1x3604jqbswjza4ryv49l2cs63iqcv3r";
 "etaremune.doc-1.2"="6k8qah3w1ksn77is2i8kh1nilr6qgm34";
 "etaremune.source-1.2"="5a4n5d9l39nb0v3affwx0sswnp6sv2yf";
 "etextools-3.1415926"="w78v5hb43si3j8p38simfzscyh6lglsm";
 "etextools.doc-3.1415926"="16fq8y3c226wsf57dkny9484440i61zv";
 "etextools.source-3.1415926"="ch6lsyh0nlzkdrwzsxgf87srsb40x56k";
-"etoc-1.08p"="973rvhnq8bg87y05cd8h5g8inh2w6k76";
-"etoc.doc-1.08p"="s4j9pnzam9q8digsb1w82932lc6awgr2";
-"etoc.source-1.08p"="6l1n82428grarlj9pz4pgmxq0zw21x2y";
+"etoc-1.09"="c4gl9kikkhpjig7nzq621ihbx56ij309";
+"etoc.doc-1.09"="79790h8winia72jc9vxq50816nwigckk";
+"etoc.source-1.09"="6cl0xm9j4faq58l1fwh9vmr6vr6cqsxm";
 "eukdate-1.04"="5lql99zq8izsri87dhqf28nnchrjkyhq";
 "eukdate.doc-1.04"="f3xl3nllsr8299rjnxnhpksv7rz8pdq0";
 "eukdate.source-1.04"="scjqaadvah0kf1rxj9r2nphvffk86cis";
 "eulerpx-0.2.1"="1kvqcqfjh77lg1d1jzwj6mr2rchjpnyb";
 "eulerpx.doc-0.2.1"="8jybcgzjn8c3qyagdmaxmmy0fx89sj93";
-"europasscv-2018"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
-"europasscv.doc-2018"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
-"europecv-2018"="y110263s1x399j21g6dc3cp95hz5kmn2";
-"europecv.doc-2018"="7g0f1pmjllyq4dqxh3i576yvlvslfw50";
+"europasscv-2019"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
+"europasscv.doc-2019"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
+"europecv-2019"="hiyv06bv9v7dxykzabh410lkxc57xgas";
+"europecv.doc-2019"="dx6iy85q63v4k48yq6dc8fx54x7mwryv";
 "everyhook-1.2"="ndig4g0nsbqla2i2p1n6skjjxsr3qjhv";
 "everyhook.doc-1.2"="690qpw68wri4cr4ahv1xfqibm3flc5mr";
 "everyhook.source-1.2"="rvh60i8j1gbyal0pjpdgld9l5g20zilf";
@@ -4243,7 +4336,7 @@
 "examdesign-1.101"="58mxkjnnwz8z68lvxdc43gn14v6i9ysx";
 "examdesign.doc-1.101"="vr8j3mhp28h6d9zvcg6akfx9sx756zh0";
 "examdesign.source-1.101"="51c9vyfhwcp9vmhsrsvzd47q93ckw2f1";
-"example-2018"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
+"example-2019"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
 "examplep-0.04"="jnd218glfcwkbz8qprkac3nykm86lhsx";
 "examplep.doc-0.04"="lgm123fsn5wpdgbfx3kqm9h5q92qss83";
 "exceltex-0.5.1"="2zx6110fa87f5f3fabp4a163ybxd8mpv";
@@ -4253,16 +4346,16 @@
 "exercise-1.6"="x4m7z83dk9yg068fgv9580gpg32fin6y";
 "exercise.doc-1.6"="bcrzrs23c8rrkax8w03yhlmr9sgqw3kq";
 "exercise.source-1.6"="fw34bm9v1gqh9x7vgih6axanakwj523h";
-"exercisebank-0.2.2"="rm5vbzm0m481anpgs931n2yk37xx4gal";
-"exercisebank.doc-0.2.2"="02h1428jsiqjdzlpcydq68zqsa72fph2";
+"exercisebank-0.3.0"="lxmd3p0fn30bkvvh29jlajdilif7c6h4";
+"exercisebank.doc-0.3.0"="qys4wvwrjjxnphcadazvgz6wxxqk98jc";
 "exercisepoints-1.2.3"="givs6qpl3x2lc45lhxp2xa6wfznawp23";
 "exercisepoints.doc-1.2.3"="ad8kxig8in0cc1xdl2rn7yyhfxhcx868";
 "exercises-1.0"="hghjlb5lksvs5nwqdipf0sbfxblqkr8n";
 "exercises.doc-1.0"="2xwg0g0li01d2h27alvm667nz56cz2r1";
 "exercises.source-1.0"="fbq0d5cp7lmgikxgrizj3vs75gxdg4qz";
-"exframe-3.1"="z7658v23cxk3m491jah6zjrkz7jjhrgg";
-"exframe.doc-3.1"="7xya4fywnn5dikpq1bma1ydc24ky3c5v";
-"exframe.source-3.1"="asax9rfk29gqdhkm8jbxhpjpbfplfnm6";
+"exframe-3.3"="1yxv7ckh5ravavzydcvryykk94k83bbc";
+"exframe.doc-3.3"="afd27v4df5anpviwvv4k87rwr5z4hywz";
+"exframe.source-3.3"="1mcln0ril87yvl3bypnw6qp442i8mp1f";
 "exp-testopt-0.3"="rz188mfdr0hfnrcndv0ncany2g20hv34";
 "exp-testopt.doc-0.3"="icxvqjnip0g92k1hngpvas7f7ii895pa";
 "exp-testopt.source-0.3"="9gq43v996qrrrxjgi28fqf9c8qval8ln";
@@ -4272,22 +4365,22 @@
 "export-1.8"="c2cd44yhfphk0wnyaq0db2y5rfjmcvfv";
 "export.doc-1.8"="ijjjprbcnjwwj5hf13b61165mx8xdqn5";
 "export.source-1.8"="0wz3raz7mf5cqz0j0g977b7ghznxgxxs";
-"exsheets-0.21i"="msii7pvzxyz9ja3yk2jagiyha66v2idg";
-"exsheets.doc-0.21i"="nd45sx9nz98h2xr3ki1h4v5cnrqbh5s1";
+"exsheets-0.21k"="5mzmvibvngsrzbgp4db25w2iwk3s4rrx";
+"exsheets.doc-0.21k"="np244067l6dgsdhfn7dniy21dkzsdqxm";
 "exsol-1.4"="wwghsm9x9vmac2i0nxgjqg8cpwlhzqwa";
 "exsol.doc-1.4"="f2wy6r88019491r16x5kqbfrhvj4np78";
 "exsol.source-1.4"="g428plzbmq561mmilbyizjp5ycpr1v8q";
-"extract-1.8"="qb6arhvwmjpycprhbjfbhvfip3wsr3a3";
-"extract.doc-1.8"="xah1bafcvc4m9z785qyyl8r4an2a6531";
-"extract.source-1.8"="w6dbkpm7kyjgdad61mbvam0q02kyxf8v";
+"extract-1.9a"="dmilnfy1hx4wr7rxx9422m2m95ksx64r";
+"extract.doc-1.9a"="ngsls0lldkxag0n9iyj97w8bn281xm77";
+"extract.source-1.9a"="hkgq7qf52m44dk9n9mj6xllwqdqz9s90";
 "facsimile-1.0"="mhx5jbh4rwv10z6hd3b2w5haj02bjz0y";
 "facsimile.doc-1.0"="pb8sj68gxph376h1ph6yb65ncyblxbdw";
 "facsimile.source-1.0"="dvjli6r3pr4w74n9mnm2ix30jva6yysc";
-"factura-3.57"="lfhm1sbhh298w5lvj1kr0vclk0v2zj1g";
-"factura.doc-3.57"="zivwisvbyqrp5n90sk3m92ksp69hx1vq";
-"factura.source-3.57"="npc337y47zyn46afa9d3laqk26839xcf";
-"fancyhandout-2018"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
-"fancyhandout.doc-2018"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
+"factura-3.70"="mfwqcli266v23qf2mv40n65gy72pfs9y";
+"factura.doc-3.70"="mnkzfkdx0gnrkp0hcgfmlmf8w1l6m3rv";
+"factura.source-3.70"="81mpw7alzbs5f0zy1kl3ws1y5zj3si60";
+"fancyhandout-2019"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
+"fancyhandout.doc-2019"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
 "fancylabel-1.1"="fvnw8s5y8rr4sfpff9ay2y1yqqgrwysk";
 "fancylabel.doc-1.1"="xsq1b17afxx971wfyrdgwnq2fkyqsxc7";
 "fancylabel.source-1.1"="rwq6gd28j5m49xv2h91sav2b5pf9cyvn";
@@ -4305,14 +4398,16 @@
 "fancytooltips-1.8"="92mbrk8gn6np54fx90qzcgkps3v6k54y";
 "fancytooltips.doc-1.8"="v90g2vxn8yqy9lvibqhldwm23cpvv53j";
 "fancytooltips.source-1.8"="cgj7harpp7wxh1fvh1wfx3pc0c34nhd5";
-"fcolumn-1.1.1"="3as7qnpb697lii964wfb6zq06g4cp3ai";
-"fcolumn.doc-1.1.1"="4grdm663fznflgh8c0kydq4h6bq2sy96";
-"fcolumn.source-1.1.1"="srfg8sq0spa6rwika7aq7ylqpl6yc8kx";
+"fbox-0.01"="avsffl90axfyd4pliavp0ckwxrm9w3f5";
+"fbox.doc-0.01"="ip8s6059f06097xzz36v0ad9r5j970rd";
+"fcolumn-1.2"="7gnf966fnvfcw5m4gfcxlxhixarf8v2l";
+"fcolumn.doc-1.2"="w9hp3iibs2fzympchad93fwrjzz3mn15";
+"fcolumn.source-1.2"="cx5wmvjqckiw10xd2xi66mwvq85nhmmx";
 "fetchcls-1.0"="hjmchh00z9pl5bhdxdb491f4grb4hvri";
 "fetchcls.doc-1.0"="2p0k1bx3y1b9b8lw2j25ybcaz1gwyyfa";
 "fetchcls.source-1.0"="xzc8psnl98xfsj7hy37f1qgln8hx25pn";
-"ffslides-2018"="v88vqphgndyc8bznnkpc17pcgc4f429f";
-"ffslides.doc-2018"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
+"ffslides-2019"="v88vqphgndyc8bznnkpc17pcgc4f429f";
+"ffslides.doc-2019"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
 "fgruler-1.0"="z5k7w4nncv381nbznr8c7bwq0a9k9l5m";
 "fgruler.doc-1.0"="rm6g865195d2lm97v9pbaim7jrgsnjyz";
 "fgruler.source-1.0"="67chz0f0pjn70xrxzmw7jvzgskjl9vlv";
@@ -4324,15 +4419,15 @@
 "fifo-stack.source-1.0"="67n2h94p29l1j6dar7s1q8gz1cxg1zxh";
 "figsize-0.1"="hmj352dqpk23wfjhvs58r5rj47gcixj3";
 "figsize.doc-0.1"="sxblgd4i3mklznz336yy925l7xgdnb82";
-"filecontents-1.4"="c1zirlczq60radl8n75ij4n1x808938n";
-"filecontents.doc-1.4"="qfv0cw5z7ad3qqaynhif2cbwc5hx8xzk";
-"filecontents.source-1.4"="a2cazsy0zwy1vdz1zwc3nqfyscqakf79";
-"filecontentsdef-1.2"="6cmzpvqjr5dcbd865aj4333n3ha5p2qy";
-"filecontentsdef.doc-1.2"="qqlpd7b3fyvj35rnikqilvxbn199wzlv";
-"filecontentsdef.source-1.2"="h94zcfjld2z8vblaw0ka1wisj5kx72wg";
-"filedate-2018"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
-"filedate.doc-2018"="dq7487rvj7vai1j80j9sgi7hsldg433m";
-"filedate.source-2018"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
+"filecontents-1.5"="d22c8airrb5g6gg1v4bym4ai1v6g3bk3";
+"filecontents.doc-1.5"="sqsf9s1517qnxry8shr2mjhpw5d3a91j";
+"filecontents.source-1.5"="gm2b5r5ziyg72fwp6mmxbiqhvlc1viba";
+"filecontentsdef-1.5"="gjx57g35wh6ay7vynnj8wsf14zvs4cnm";
+"filecontentsdef.doc-1.5"="mnmx299zm8cs3l4i13f1y5mz9i67mpbf";
+"filecontentsdef.source-1.5"="42ndk5l7qydnpiaa184r08d4sc2jg71s";
+"filedate-2019"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
+"filedate.doc-2019"="dq7487rvj7vai1j80j9sgi7hsldg433m";
+"filedate.source-2019"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
 "fileinfo-0.81a"="gbv2pynx74765fc966q0l4wpflxyi0cz";
 "fileinfo.doc-0.81a"="5y2xniw8nwg8iw11g49w04xl9fp4zyv3";
 "fileinfo.source-0.81a"="lgcw481ya8a6ag2gzd0g589sm3ndsqys";
@@ -4347,9 +4442,9 @@
 "fithesis-0.3.50"="y94p03g5da8ffsj5znr4v57h6d6kd2wq";
 "fithesis.doc-0.3.50"="a63mxxbhw59ywhni4c3si0y3hpxh1fsq";
 "fithesis.source-0.3.50"="25kfd698n7f5ajwz4b8sdxkl84cc8dm8";
-"fixcmex-1.0"="wbmzc4wl601mg09pam4bnykh1dcnnlkr";
-"fixcmex.doc-1.0"="0fy46qvzvp2zlwjbpm6pmwhydssw29kz";
-"fixcmex.source-1.0"="06g7vgpdih9iks8q11v1ag68nib40d40";
+"fixcmex-1.1"="p0y657r350dcr3nnwq3i0ypw3vxb4ja8";
+"fixcmex.doc-1.1"="hi9qnwgbssbkxl45ni29zlkjysn0qmnj";
+"fixcmex.source-1.1"="7b3yc3sn3pqgfzkamp4rkgfman5wy28l";
 "fixfoot-0.3a"="ci2h09kyh2k0w0d8mbmcw57i4cqirz2i";
 "fixfoot.doc-0.3a"="5510blbn341f70ic646ad9jay6sfiilq";
 "fixme-4.5"="7qdkrgbk2nnkdyzdl467mi8wwzhlrwn1";
@@ -4358,8 +4453,8 @@
 "fixmetodonotes-0.2.2"="8bzda1486sb6l1miw9fwc4gag8l86pld";
 "fixmetodonotes.doc-0.2.2"="kwvshr4l5r8zgjia62ac04bpc7cy5n8w";
 "fixmetodonotes.source-0.2.2"="c3v82mnqbxnz0b2yy1g5l9yfxh1y41vd";
-"fjodor-2018"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
-"fjodor.doc-2018"="ba4cxg0czxij6lwkl9w1kzmrcli6s3jm";
+"fjodor-2019"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
+"fjodor.doc-2019"="ba4cxg0czxij6lwkl9w1kzmrcli6s3jm";
 "flabels-1.0"="pphsynfbbj4vxl9g3rklfj0igp6pzliy";
 "flabels.doc-1.0"="hpsnqln41r0ybmv2vjycd0zrxi6mwrcx";
 "flabels.source-1.0"="2x4jjggfjxvqby3yv13k0y1cgcrd0jcq";
@@ -4387,9 +4482,9 @@
 "flowfram-1.17"="lr7jldig88wv8gsvp8aphxsvc6sv4cax";
 "flowfram.doc-1.17"="3f550irxijq1vdvyxs6fyhpj5w1lw4jq";
 "flowfram.source-1.17"="66z844imyrl7bsi22vrff1f05dqlmr8p";
-"fmp-2018"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
-"fmp.doc-2018"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
-"fmp.source-2018"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
+"fmp-2019"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
+"fmp.doc-2019"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
+"fmp.source-2019"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
 "fmtcount-3.05"="lgf2i3g3dqna8nf2apjmim4dsrgr4v1c";
 "fmtcount.doc-3.05"="1cxr7nbb8wc3gyiy8h6vb3lcnlq56cxg";
 "fmtcount.source-3.05"="bsypsb0pa2wjvacpyi0jri32j3y99vfa";
@@ -4400,12 +4495,12 @@
 "fnbreak.source-1.30"="jwyh3gnmafpdr53xg4jy4hz6x8y7vhm2";
 "fncychap-1.34"="pg593a0zc9ycpg6cc3d7bjz92r7grwix";
 "fncychap.doc-1.34"="rncjjlyrjy916hn3ka9yaydjq6pdvn09";
-"fncylab-1.0"="i7qfcb82d8b71j6qjn0szpxchw0xa0yc";
-"fncylab.doc-1.0"="95kh740jadwxy6xszs7ia6v99rc6aj94";
-"fnpara-2018"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
-"fnpara.doc-2018"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
-"fnpct-0.4f"="l3pp0ryvwqa4wazcn34ia6jrnh3f4dnn";
-"fnpct.doc-0.4f"="3ihqfldz34rj0agh6z7470pa191xfzr6";
+"fncylab-1.1"="lnd1s9pijjp9fnhp88fhlbz99d3lvp1m";
+"fncylab.doc-1.1"="psv8fimys5h1ps5cvhnjmwfmcwnsim5m";
+"fnpara-2019"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
+"fnpara.doc-2019"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
+"fnpct-0.5"="cxgfwv34w1ply4aighh5ln7ahad4v04i";
+"fnpct.doc-0.5"="y5jqirmrd5pggkwgz7fxfrvaid7jm7q7";
 "fnumprint-1.1a"="vhhc4n3xvlkb2a31kjpkxbwrwc30r62y";
 "fnumprint.doc-1.1a"="gyllsixn381a8p0rpr90n31h3qb0ganp";
 "fnumprint.source-1.1a"="kp99n8b3y30ilnih7bk867bf3d93xf3m";
@@ -4426,15 +4521,12 @@
 "footmisx.source-20161201"="m3510nfdmbc96v66r54ikzkfcfffrxfg";
 "footnotebackref-1.0"="8c8gdjzn36nfxjmpn521548334gbn86h";
 "footnotebackref.doc-1.0"="fzjm17j06la934js2q0sn92l5d8g5z1i";
-"footnotehyper-1.1"="3rx9cwmnz90z60lh97lafxidphh5hivv";
-"footnotehyper.doc-1.1"="y1n4fhq1gk9fcdbhl0qdk7qfrbpsm5f6";
-"footnotehyper.source-1.1"="nsq8cwpdz3fljgq6hn1flag38g2fbpv7";
 "footnoterange-1.0b"="rwxkjfzlwnkci6wxhkb0fppkqc8sb226";
 "footnoterange.doc-1.0b"="c5nd33ha0bbyw53d9d7pqx68l4xl691m";
 "footnoterange.source-1.0b"="hsn4s3qzy592w2d27z8hkzpxy9j8cz1q";
-"footnpag-2018"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
-"footnpag.doc-2018"="8kar3xxxjlrsjascd28122y5rckyv5lf";
-"footnpag.source-2018"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
+"footnpag-2019"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
+"footnpag.doc-2019"="8kar3xxxjlrsjascd28122y5rckyv5lf";
+"footnpag.source-2019"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
 "forarray-1.01"="682slfwbrz58fhqj0c07lv1xwab861ks";
 "forarray.doc-1.01"="i7v5q2pjc3sjmcv3mcpdi3sffm4qs4kb";
 "forarray.source-1.01"="q23rvw19x2rk8nv6yhgg76jxfs30qfys";
@@ -4446,21 +4538,21 @@
 "forloop.source-3.0"="9rq5r8x9wv473bw97hyh21ihqzxd1w18";
 "formlett-2.3"="ccr4iqh9ii22b0xkdl0j2rhp6q6cisd6";
 "formlett.doc-2.3"="cwpzl5rhracg51x0lvqxxkbz4id1plml";
-"forms16be-1.2"="fl2lvzfwg6k8y6p5g351hnc6yx3l3x2r";
-"forms16be.doc-1.2"="p6dhrh7fjr9whcjcnkhbr7b2a59bh69a";
-"forms16be.source-1.2"="64w9r9hgmdwk0mmm80p5b2d0mggvixl0";
+"forms16be-1.3"="wd1qw6m8b290ilqqsqfxdliihj3rhv4y";
+"forms16be.doc-1.3"="5bq4kd42czdg29a9rjsickrq1p7g1m4v";
+"forms16be.source-1.3"="a73kdkw9dn8pjgdszxjlqcxjgxz4v5bx";
 "formular-1.0a"="1ccyslvhjbzqyqyk4m3zh761kw2v45xk";
 "formular.doc-1.0a"="lap9j51p3dsh02ym644576gnzm3a845i";
 "formular.source-1.0a"="v80wnhg3xsl24a6bbsj4xfn82cv7ajd8";
-"fragments-2018"="jjblkk9dj72nvr2gday7p509pnlpwy16";
-"fragments.doc-2018"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
+"fragments-2019"="jjblkk9dj72nvr2gday7p509pnlpwy16";
+"fragments.doc-2019"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
 "frame-1.0"="9bdydjkb9dsdvryibfq2p1q071zhhpxb";
 "frame.doc-1.0"="fnv3ssnby17l7zmbgkc1rf4b5hysw7a1";
 "framed-0.96"="n9an7cs91wwfnkalc4j9ccd0p0dg485w";
 "framed.doc-0.96"="bwmgdv9r6rffibrm0wabw95vqdkiryfh";
-"frankenstein-2018"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
-"frankenstein.doc-2018"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
-"frankenstein.source-2018"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
+"frankenstein-2019"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
+"frankenstein.doc-2019"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
+"frankenstein.source-2019"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
 "frege-1.3"="vczq96wx0icl69c5xqcqmfsy2wdw1ncn";
 "frege.doc-1.3"="h07nnplqxq2fyh6f0wh03jpism89ji0d";
 "ftcap-1.4"="7srhgl4z3zpicxv7aakm970xy2yxnpns";
@@ -4479,25 +4571,25 @@
 "fundus-calligra-1.2"="5jn0qbj8zgi1c0166c2vdwzs1a5i8qm1";
 "fundus-calligra.doc-1.2"="dd87040kysj4av2sq7grslyjv0gx4rmd";
 "fundus-calligra.source-1.2"="s4s97ga289ncgv0rpd90b8i7qh4n7jfj";
-"fundus-cyr-2018"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
+"fundus-cyr-2019"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
 "fundus-sueterlin-1.2"="4xlq7i6k1pqmq8vc6aq8h50gs1f02l3d";
 "fundus-sueterlin.doc-1.2"="i8q42q2rzmby64v4il8jkpk7azfcrrip";
 "fundus-sueterlin.source-1.2"="rl5n5rh9akf41ls7m2gi5l9hqq6wv8j5";
 "fvextra-1.4"="pah47ygjsmqpfiq42448kyz9fahgxs04";
 "fvextra.doc-1.4"="xwl3fw21ywkf6jwchx1axwn5sxr7xwj5";
 "fvextra.source-1.4"="8jnz82fc1n2mm00f32p6sr9gijmz2v5w";
-"fwlw-2018"="887p12xhlcgydw4pddr0npyvp4xr1azf";
-"fwlw.doc-2018"="2di5y3hhm865frn42j1sh87hflxlpc1n";
-"g-brief-4.0.2"="gqak9cc04cklmsg6xlar9l0s81027wgm";
-"g-brief.doc-4.0.2"="bdkjz2wyh4wpgs0wlp9knfbj48fnj9g4";
-"g-brief.source-4.0.2"="7kl0a76ylpcn4dixxd5ch603h4m9y7c2";
-"gatherenum-1.7"="zpjdak4z9vr2719sszjiapnbipsxksm2";
-"gatherenum.doc-1.7"="zsz7rwvpdgxgzksf0ziscass4riakc2d";
-"gatherenum.source-1.7"="v15bkfxani8kdna1mlz10qq1mxdsvc4m";
-"gauss-2018"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
-"gauss.doc-2018"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
-"gcard-2018"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
-"gcard.doc-2018"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
+"fwlw-2019"="887p12xhlcgydw4pddr0npyvp4xr1azf";
+"fwlw.doc-2019"="2di5y3hhm865frn42j1sh87hflxlpc1n";
+"g-brief-4.0.3"="dnx0f0d7qvfrvjczz6zfrkr7dprmgnr3";
+"g-brief.doc-4.0.3"="9z095prb74z0q8b4a7wppdkmmc0c34k5";
+"g-brief.source-4.0.3"="v6210yn1lfk3wkr6y2b2fq9vl0n8cpsz";
+"gatherenum-1.8"="ki18pb9dgca5cpjg723prb0kh2kin6qm";
+"gatherenum.doc-1.8"="w3s6z3566877vg2jshbvcqb8v757v1di";
+"gatherenum.source-1.8"="s37a7faiilrfxyr4iq77j2r3i27l9w98";
+"gauss-2019"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
+"gauss.doc-2019"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
+"gcard-2019"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
+"gcard.doc-2019"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
 "gcite-1.0.1"="z7ha969s3ry7g9ibv521f2d6vr9lcxx7";
 "gcite.doc-1.0.1"="3bb2z8jbygadc7qzmjz024dqzphncy4f";
 "gcite.source-1.0.1"="v3fbj2j823jh4gy1vrc4f74qsdbfqnpa";
@@ -4512,12 +4604,14 @@
 "getitems-1.0"="8qdph1kdihdkqyd8rkn4n2i3wd5kfq0g";
 "getitems.doc-1.0"="yhr7vskgqfhij12vrcyl7a9v60nipd32";
 "getitems.source-1.0"="89vcxsad2qxdl0kw2crb0r1ibn4acwpc";
+"gindex-0.2"="128d07f9rns69pxnp02hy0bdv2ylmap1";
+"gindex.doc-0.2"="n1b75gq6nyspvyg0c6ry2287rsj3r9hb";
 "ginpenc-1.0"="gy74qjz23cw3lbmb0nc205qfp1a0ggib";
 "ginpenc.doc-1.0"="9iln48gnlcshrhkk3mbpgqk06sj4bl39";
 "ginpenc.source-1.0"="dkkxzw412c81hrhwnmjw1jgvhz5rrjhk";
-"gitfile-info-0.3"="dhkr443nnylzz5pmb4zwbygg1rznv9vd";
-"gitfile-info.doc-0.3"="a912kp1s2icfr4fhzczdl729jniza5dj";
-"gitfile-info.source-0.3"="q2knkm9xl1i1b8v9cdhdiivviny4vjdn";
+"gitfile-info-0.5"="z9c9f770h40rsxi4cchzka914gzhfv5w";
+"gitfile-info.doc-0.5"="bhbyazh055g7ga0gapv9kywhsrxjynwh";
+"gitfile-info.source-0.5"="ncmilrcdd5bk3563fnh91n149bp83avm";
 "gitinfo-1.0"="a7mcfsqzwi88fsrdbqkwh8p3rd7w51ri";
 "gitinfo.doc-1.0"="5dh5bifav6w87hq29ph7ls65yxjhk7c3";
 "gitinfo2-2.0.7"="dsxgwrlg9j367wxxisxm2wv595xny8x0";
@@ -4530,9 +4624,9 @@
 "globalvals.doc-1.1"="2pdq5ik88cr3z5x9j5jvqz1k6abkllm4";
 "gloss-1.5.2"="xacfn3b2z30pnj9lwh6mximrbsfvarfs";
 "gloss.doc-1.5.2"="4qial5a0p7ip784xgpqgkl6cmabd9hlq";
-"glossaries-4.42"="sds1dxnhqc0i5fi590jiwjqq7jvigfr9";
-"glossaries.doc-4.42"="wpa59d21nnwpr3zafs6kjq16sy8a0dng";
-"glossaries.source-4.42"="xr18krz2bvdy7csnl9v9v6d64wm5a4sw";
+"glossaries-4.43"="5v3d0s2n7hn1pvp5ip40j077kywjaxkf";
+"glossaries.doc-4.43"="kdz8v10i2x358dxnsx0n2bb2q6ajv024";
+"glossaries.source-4.43"="dvidpd8v5920dr7j81m12v0k2xiq80f9";
 "glossaries-danish-1.0"="hmaay0viwacnrz7bfz6xlpb03cmsphcc";
 "glossaries-danish.doc-1.0"="mxgh9b6vc63llhmfildmhkhjxd1s9kbq";
 "glossaries-danish.source-1.0"="s5ayfh10z40cpi9amn2d1wwpnby0qgaw";
@@ -4545,9 +4639,9 @@
 "glossaries-estonian-1.0"="3flqr7abc4hqy63p0bdl0bz0y04mq07s";
 "glossaries-estonian.doc-1.0"="dd2rrp43ix2hcwnrgcidfr8z0shsgdds";
 "glossaries-estonian.source-1.0"="8y8x5qqydmnvjf8nbbj8qj550kbvddg5";
-"glossaries-extra-1.38"="24l4fy24nvqv0v3ri5mnkb3qczqz5n73";
-"glossaries-extra.doc-1.38"="l0jqfajwkndvsf5405kcss3hs09wbi1z";
-"glossaries-extra.source-1.38"="6fy5dq72ifcnjd01ilsfgi7hhiaxyxf7";
+"glossaries-extra-1.41"="i1lsazwr25z6x51xmxccc5bx8gjvis6s";
+"glossaries-extra.doc-1.41"="qjbl4kpgkxylq5zvki1zi3z4xkfmhx60";
+"glossaries-extra.source-1.41"="0ymb9lrspig48ahj6a9qsapl1rnz5fxy";
 "glossaries-finnish-1.0"="rq7ymhc4ispv4j1zpv5iy6mbn66wr3j4";
 "glossaries-finnish.doc-1.0"="f8rj41dbpqrdxbl7h94rxnbiqm77xcj4";
 "glossaries-finnish.source-1.0"="gnj8dlxpzapvi9yvzy04rhmrs5z7hmid";
@@ -4575,6 +4669,9 @@
 "glossaries-serbian-1.0"="b4p3iy3d6ziqh38r27b0lcqm9clcf8gb";
 "glossaries-serbian.doc-1.0"="h36h8811dfndykwh6q24haghsgy4jl2s";
 "glossaries-serbian.source-1.0"="wf3wbvbaim0w86695crqc0l1dv006ydc";
+"glossaries-slovene-1.0"="4xxwy7xrk64b3s8maw57m7p7zkn9knqc";
+"glossaries-slovene.doc-1.0"="9sjkj3ksgfpkjd7bg4dkp3bq6bmsghap";
+"glossaries-slovene.source-1.0"="03gi4x6kh5rypqq4ssi24qizzr5q37mc";
 "glossaries-spanish-1.0"="aygzxhw0cr8prirvcbsrc1xr11ac6fpz";
 "glossaries-spanish.doc-1.0"="da0ysgd3c6k336sc52pg4w76bj8lamgm";
 "glossaries-spanish.source-1.0"="cij28c7mhivbkwa5lwg7pvmr8h4ymrcd";
@@ -4589,9 +4686,9 @@
 "gmutils.doc-0.996"="2w4257wz5vjp1lwzf3gzhbyyaki5d4x7";
 "gmverb-0.98"="z9il1jbnblh5vqzjz13xkfjsva6xqa1v";
 "gmverb.doc-0.98"="bh1ckqnp1vkqj9qb3fwfk1xszfphvma6";
-"grabbox-1.3"="99z7inj3x9la6rampnbkkvhbwzyi22pm";
-"grabbox.doc-1.3"="v8h639q3rssaih2f3dlflrbwyrz9v4mx";
-"grabbox.source-1.3"="a5yxi41r6wpwgaawv9wd73nm477miamg";
+"grabbox-1.4"="hxv37a6c6abr0l7p5jca1xq85l8z5a4z";
+"grabbox.doc-1.4"="dx7fw5a3k0fjhfalpzp8nlv1s6m981aq";
+"grabbox.source-1.4"="agll92a3wn1mhbzaym750wpji2wxsb8j";
 "graphbox-1.1"="x0ckk1yx2f9ks1g70g32f4a683rpf4nx";
 "graphbox.doc-1.1"="b4m3rss283l9gfk0vc0apg05biifhpfj";
 "graphbox.source-1.1"="p7vnvaxz5a2grh651f3gld07pj7lcxp9";
@@ -4601,9 +4698,9 @@
 "graphicxbox-1.0"="6grrmcmr2wlpx8dbj1k1nggs2b6z7qh4";
 "graphicxbox.doc-1.0"="2blrwzsralqjrvlx6xjvyaqvsi764nmx";
 "graphicxbox.source-1.0"="1vl41sp02d8byjrapj58v5pg6i2g989l";
-"grayhints-2018"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
-"grayhints.doc-2018"="gayl01rd21rc9i5x6xnd376wm907qlz5";
-"grayhints.source-2018"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
+"grayhints-2019"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
+"grayhints.doc-2019"="gayl01rd21rc9i5x6xnd376wm907qlz5";
+"grayhints.source-2019"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
 "grfpaste-0.2"="wi95wbrs7k37di2dkqnix5h21p84cb1c";
 "grfpaste.doc-0.2"="7hn9vs80ksnpaa0aqdmbv7qzhrdxwr88";
 "grid-1.0"="hf1jfkwc5j27mhxi2skf3wjwq2y1ca0w";
@@ -4616,11 +4713,11 @@
 "gridset.source-0.1"="bb1kbccwzc806sc9sp7b3dgp0flfamrb";
 "gridslides-0.1.1"="r9lxxzf51dpfaprn6kvv3n1j9hf54xa8";
 "gridslides.doc-0.1.1"="jkri2k8k8nzvchpk11pgig98kw327c3m";
-"guitlogo-0.9.2"="7lfy6i5pq8cg24n5rh2aizbrv5s2815i";
-"guitlogo.doc-0.9.2"="lrfcbc5mfy6qfji2c36zqkrva983c42v";
-"guitlogo.source-0.9.2"="q5bdflg33yc271228jknv297i0fzq227";
-"hackthefootline-2018"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
-"hackthefootline.doc-2018"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
+"guitlogo-1.0.0-alpha.3"="g0knkg1x7mlgc938ydvdk93hcr95nfqk";
+"guitlogo.doc-1.0.0-alpha.3"="cvs2c3417kwq2rvnraxxj2k30v2flrh7";
+"guitlogo.source-1.0.0-alpha.3"="ckrba60qg0xhgrp3jdvpgywx224m83vd";
+"hackthefootline-2019"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
+"hackthefootline.doc-2019"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
 "halloweenmath-0.10a"="mr8nvi7ynzngvgxp0i74wjkxwp77i7p0";
 "halloweenmath.doc-0.10a"="xamcznycdz08kgvbph8pi64h2v9j9j25";
 "halloweenmath.source-0.10a"="hr249rdkmmkm1v7z4cf7ymdwrshz0by3";
@@ -4640,9 +4737,9 @@
 "harnon-cv.doc-1.0"="a7012x0ckxnym7cpbj8m12ak993bz7nc";
 "harpoon-1.0"="88cndn21h4fshiq6yvd8p68gwl2d2nd9";
 "harpoon.doc-1.0"="z21q49fw0a7wwwr6chwdd73ypkwqz1x3";
-"hc-2018"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
-"hc.doc-2018"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
-"hc.source-2018"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
+"hc-2019"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
+"hc.doc-2019"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
+"hc.source-2019"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
 "he-she-1.3"="6rnp8qmascvlz9p0hgacblpx8svapf65";
 "he-she.doc-1.3"="xl7nf17g73pn4jc3z6nc6fknr11lsf3l";
 "hhtensor-0.61"="vnl54f4l78n4x9pllg95fr5dm79qs0jg";
@@ -4663,8 +4760,8 @@
 "hrefhide.source-1.0f"="42s1cx0nwj58cfhb2d22nsdqzidknwpv";
 "hvindex-0.04"="90sdf5j0a5qr2xp8qzryrvhnsvaz4fs7";
 "hvindex.doc-0.04"="9r6a8mfj7y9kyc2dbc79vf86aw73n6l0";
-"hypdvips-3.02"="mfy4cnl5pysfvkfjz8swk3qqvbmxx20l";
-"hypdvips.doc-3.02"="hidxdyxszb7a32apmnh5vjgrar4l7piz";
+"hypdvips-3.03"="vpmmrcrilqybs4ifvd927jlkn5ip28c2";
+"hypdvips.doc-3.03"="85viqi36j6kdsbnpvhf6a4wj2vjks42c";
 "hyper-4.2d"="xpwylfxrx74x9aw96ridad40im7xanw1";
 "hyper.doc-4.2d"="fcllxx04lprzhbna8rk4ycwbw0w6xnq1";
 "hyper.source-4.2d"="v03bmxbg7hqjpl8vfp0l8z81mi2db2hz";
@@ -4673,9 +4770,9 @@
 "hyperbar.source-0.1"="iydbmx9cvsd986n970lvc3k6m28ix2rk";
 "hypernat-1.0b"="25v0a423yhy68vf125ys0n6p0qhvr088";
 "hypernat.doc-1.0b"="0n4qzpmvhks66d0g9gnyizpl44jbh4pf";
-"hyperxmp-3.5a"="l2bmadwld9crr2qmahglzqxpra2dy64w";
-"hyperxmp.doc-3.5a"="z85b6ldq53qyx6q6lb7q18r4xn0d27x2";
-"hyperxmp.source-3.5a"="bi63y7hgss75yxz9dyirvz6j89rhfij0";
+"hyperxmp-4.1"="qry3sw3040f8kpj98zg8apqdr21z0d14";
+"hyperxmp.doc-4.1"="3dhn63b11sf4lh9ng6zc781qhk387v36";
+"hyperxmp.source-4.1"="7ylf2spylwk91a5b96nbbjv09ni3bizr";
 "hyphenat-2.3c"="wr2lhsafb13b0zira7190bx5s68fak45";
 "hyphenat.doc-2.3c"="z1sj3r1ny1lgixr2fcmsglz55b23f5lm";
 "hyphenat.source-2.3c"="x70g8xiz9ss4pw775lz82yncq0x7lxf1";
@@ -4697,9 +4794,6 @@
 "ifoddpage-1.1"="6f52apknfsjpswzikk3nfi9by5iip7gy";
 "ifoddpage.doc-1.1"="7l75021f0gk7nrpiq2axr88pbnzjq50g";
 "ifoddpage.source-1.1"="njqd27ax6313q2w063xbmw3mnfiajx98";
-"ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
-"ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
-"ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
 "ifthenx-0.1a"="2ah86wn9m3zc1f7hf1yzwyv26xbay35s";
 "ifthenx.doc-0.1a"="2zrlnl6s8fbs3ndyfi21bdqsfx7n6fc6";
 "iitem-1.0"="k0gdz2py6spiqrj4djhwbys9vkar3p88";
@@ -4725,24 +4819,24 @@
 "inputtrc-0.3"="vmk80jzg9sllpw28csmhsyjd13amp567";
 "inputtrc.doc-0.3"="dl0qs37bjj4aam7ijfdg64fpl135k7b4";
 "inputtrc.source-0.3"="1nx2jv4m63gc83iy3qp46gxr3v6wyw6h";
-"interactiveworkbook-2018"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
-"interactiveworkbook.doc-2018"="ldph57php6irhdbj9w497xk31n5ggxbz";
+"interactiveworkbook-2019"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
+"interactiveworkbook.doc-2019"="ldph57php6irhdbj9w497xk31n5ggxbz";
 "interfaces-3.1"="pja00rv19b492fv0d1afkj1cmmi09wm4";
 "interfaces.doc-3.1"="bj6l95whavxkrsa5rb8791d2ib4n5gal";
 "interfaces.source-3.1"="f7gxq1s477zab7wh212nyad94kcdacqn";
-"intopdf-0.1.0"="b01rwg0jgb7sg23i5hnvqnv2zq400fh4";
-"intopdf.doc-0.1.0"="9k4fcw8v70v1grdzldhm7v6pwb8w7fir";
-"intopdf.source-0.1.0"="midqvsvsn70lwchzg5jy58p4kiwfpx6g";
+"intopdf-0.2.1"="n94n5ajyig2qix0wzfm6h501jygqgb69";
+"intopdf.doc-0.2.1"="hn0ynqp3jc0kqay69i2g7awlnc4fk9qa";
+"intopdf.source-0.2.1"="rkj6i3mfa1kqkhhdc03nrfcj9mfsy017";
 "inversepath-0.2"="8csfwygw95dd5wrawwj7hs4gmpxhdwd8";
 "inversepath.doc-0.2"="b3z6dkfmk19n96dklslzszn7vfrnlcn4";
 "inversepath.source-0.2"="zpg2i1sqr76xvi6jn5vrgxvs44dlfx9z";
-"invoice-2018"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
-"invoice.doc-2018"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
+"invoice-2019"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
+"invoice.doc-2019"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
 "invoice-class-1.0"="0hyhlrisqlng2zcs0l62d84r9i4g1hv1";
 "invoice-class.doc-1.0"="psxy04bnhh1y2v63pz89j5p4bl6b1q0c";
-"invoice2-2018"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
-"invoice2.doc-2018"="cjarambfqlfz664z498dpi142ik5l12l";
-"invoice2.source-2018"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
+"invoice2-2019"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
+"invoice2.doc-2019"="cjarambfqlfz664z498dpi142ik5l12l";
+"invoice2.source-2019"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
 "iso-2.4"="p6yl8v4jyvzq5fh3qw31kgalhrv1qv22";
 "iso.doc-2.4"="xs5sw6aw59hr3xlk187dhwkg223vycsl";
 "iso.source-2.4"="vrgvl97kvsb6n82w4acm2wfjsqq00cxr";
@@ -4759,9 +4853,9 @@
 "isonums.doc-1.0"="qbnvabarywnwbfaxqjr1afkic152hhsf";
 "isopt-0.01"="0gyj9ri30pid0xymfv457g9r0nycy6qm";
 "isopt.doc-0.01"="q8srwcqk4w0mblrqzpy70wbqqrds2k9c";
-"isorot-2018"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
-"isorot.doc-2018"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
-"isorot.source-2018"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
+"isorot-2019"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
+"isorot.doc-2019"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
+"isorot.source-2019"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
 "isotope-0.3"="paqbsfz0w4sl82imkw2zqsdwg3nlzd9c";
 "isotope.doc-0.3"="f5mylfd5fga3jy0fsdvw1z5kya7kcg6b";
 "isotope.source-0.3"="sc8npgj5397qvqwvfrz2bq51xj5840l4";
@@ -4770,10 +4864,10 @@
 "issuulinks.source-1.1"="hmn5nsszd3vf27863sbk647fgfh5gxmd";
 "iwhdp-0.50"="j4m15vz6ky21yk2m95kjz1is1z91vxxy";
 "iwhdp.doc-0.50"="wphgycl74db9mxr5gjc2m80rbzkcqk3l";
-"jlabels-2018"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
-"jlabels.doc-2018"="fndgg419y1rp47d5qifv0k304b5iymab";
-"jslectureplanner-1.7"="il4ypbggr4s3kmmkk8rl3r9vjii1vq5i";
-"jslectureplanner.doc-1.7"="45ngl247v51dy6ikl597xj27rsmys39r";
+"jlabels-2019"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
+"jlabels.doc-2019"="fndgg419y1rp47d5qifv0k304b5iymab";
+"jslectureplanner-1.8"="il4ypbggr4s3kmmkk8rl3r9vjii1vq5i";
+"jslectureplanner.doc-1.8"="45ngl247v51dy6ikl597xj27rsmys39r";
 "jumplines-0.2"="acxl8nhlznvcwq20n01b41kamc5xmqdr";
 "jumplines.doc-0.2"="hjfl57a9hwdyf6lxl6ah0k7937r03jil";
 "jvlisting-0.7"="fi23ykvl6kw34qri5nz2k4mvgjqgbbyl";
@@ -4782,32 +4876,35 @@
 "kalendarium-1.0"="bspimin9i6nh58ywvqnyv6r72clzfkk1";
 "kalendarium.doc-1.0"="01figqd8r369s9mg4xbvc3kxl5xj3573";
 "kalendarium.source-1.0"="2fmwxzki8sxbf9a11zvb7sc31hmd2bjh";
-"kantlipsum-0.7"="dqrhxbz33va8b2g76cnslw215vszc00f";
-"kantlipsum.doc-0.7"="xky6acsmba89zfz5qd6ilbfmy3i8n6fg";
-"kantlipsum.source-0.7"="n790p7vj9aliynhgzp5yybirk13bp0vg";
+"kantlipsum-0.8a"="ss2zmvwx5537qf5vaagp2qgfmykzhwvr";
+"kantlipsum.doc-0.8a"="1xqs1p3ziyxd0snsgkda6kh23lynf28b";
+"kantlipsum.source-0.8a"="92ydj9wclk56jb03704gxqli8yl5i1rn";
 "kerntest-1.32"="r64kkdp6nnkv7qk07lm2p1943q0a92ci";
 "kerntest.doc-1.32"="2py5b3pyrnddfs5cmfp4fgbqd8wc9iag";
 "kerntest.source-1.32"="nfs63gz8wfhdslfiswngxdrdk2rpzijq";
 "keycommand-3.1415"="sq6188m8lc3wl201phjx2qh3vwxf2mrs";
 "keycommand.doc-3.1415"="q9lkdcggi17v7gl8hibk2qn5dm6h07f8";
 "keycommand.source-3.1415"="k1fa9w6r1n1qhz428ipwflj6d6m5ap7k";
-"keyfloat-1.00"="whsvc0l2p8yzcrpyj6p4mjkfnci5czna";
-"keyfloat.doc-1.00"="g5lkh04l5ahvdlfx7ljll4mm5lrrpbrp";
-"keyfloat.source-1.00"="jp2629i47x7w09issmhj0igzha892n0l";
+"keyfloat-2.01"="i54c7nljj82qg23f658l0il9xhhihs7r";
+"keyfloat.doc-2.01"="mgn9lp76baj3wl3dzfnpxibgr5ijb8z7";
+"keyfloat.source-2.01"="a5ch4v9hk9brflps5s5c0wxnqwka5rsv";
+"keyindex-1.0"="sirfzfwd3hv4flbwjkwp5ryf04mq916f";
+"keyindex.doc-1.0"="gcpzy4a5ga8k0jzymgrsl3j74q7cv1g5";
+"keyindex.source-1.0"="2ff7jyh03kkm38vsismhfcrawk29iwgk";
 "keyreader-0.5b"="wk5kgrrx4c8682j6a01n57ab33ww2j23";
 "keyreader.doc-0.5b"="fy37315azfr09wzl71wdby8ry1dd40yn";
 "keystroke-1.6"="vi7r9aac2w8jggbxpk5593nsapasmm18";
 "keystroke.doc-1.6"="rlm1i14lgk00yj7hn6mp2njdmjanh1q0";
 "keyval2e-0.0.2"="cbm4pby81d33ldf01h348daihf05hwd6";
 "keyval2e.doc-0.0.2"="7d1mpnzh474k9pc293lh8v94fmy5x6gv";
-"keyvaltable-0.3b"="nxc2dwgj3cw0x99l5xrm3ik73g1za2im";
-"keyvaltable.doc-0.3b"="19nsh5a2nd1qvxkgm75fhr52vjqiiqmx";
-"keyvaltable.source-0.3b"="7k726qbmkpbylnkwyc0znryya5bdj1c3";
-"kix-2018"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
-"kix.doc-2018"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
-"knowledge-1.16"="lcln2p1yxq7gksgb51jilzjhd9x8wh5z";
-"knowledge.doc-1.16"="q675gjkmpxqxy76qr2c7imk0v3bfs53g";
-"knowledge.source-1.16"="8ry19c2pzayxzlmc0gyfs99qgzi736fj";
+"keyvaltable-2.0"="mzz0z6wwf1z2xqf1lpa6fnqr8zff2km5";
+"keyvaltable.doc-2.0"="8n9am1ijk6rjgq4yjn1zk1ijg7n1djdk";
+"keyvaltable.source-2.0"="milc53qz2f6bs1q71w1sd399sc2hzgf4";
+"kix-2019"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
+"kix.doc-2019"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
+"knowledge-1.17"="jzaf04vppnpbyv7qm5wi2nbbbinzpidd";
+"knowledge.doc-1.17"="s9nfwj0hsd89pff5fck07415nmwjrw49";
+"knowledge.source-1.17"="nm6k8ka3b31n1s5qpfb345glvckh4zi5";
 "koma-moderncvclassic-0.5"="s33qvgji09s9glq93mdxzs3smnzlamv5";
 "koma-moderncvclassic.doc-0.5"="dvzcb032fmh5xs804d9mbx6q0afm25r0";
 "koma-script-sfs-1.0"="s9dryf4f0zgcij3v5v93zppqs876p2nq";
@@ -4821,15 +4918,17 @@
 "ktv-texdata-05.34"="fdwnms9v43cjsjypsnlq6rw1j3c6zz93";
 "ktv-texdata.doc-05.34"="896wnbqpxncc640x8rsi6gia2wh5njxg";
 "ktv-texdata.source-05.34"="7wq3pi1mm3r1g209vq31im4n4ib21zv2";
-"l3build-2018"="rqhbsxlylpbncmbizy4nln8hb114p656";
-"l3build.doc-2018"="5272h3ny753b08hhyx5m9i4jh1v3x794";
-"l3build.source-2018"="06sy4yfl9ixgzk9jz68hy4a31x4nixn4";
-"labbook-2018"="x7i28cyfski7ssm9hv28zrlac3inky0c";
-"labbook.doc-2018"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
-"labbook.source-2018"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
+"l3build-2019"="8wc83ggd24fk8v0bz9i9ivsqm4qi3gyc";
+"l3build.doc-2019"="6616ck8x996xzyzglkb19yxlpcwhz277";
+"l3build.source-2019"="3r6xmyyxx377qaymni53x9my9jlil96p";
+"labbook-2019"="x7i28cyfski7ssm9hv28zrlac3inky0c";
+"labbook.doc-2019"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
+"labbook.source-2019"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
 "labels-.13"="rxcv9zw5jal0kr4kw0vlswjc87clgh8p";
 "labels.doc-.13"="70hfinn9fsd8r14bk23fmdc0px7n4x5w";
 "labels.source-.13"="7hps59wlxkqqjm9432dg15ml63n44x3g";
+"labels4easylist-1.0"="xwh50hw724p6mkm7fb061dacids7g0sw";
+"labels4easylist.doc-1.0"="pkwghiybi57r0kdiyzcml7fas0izi1lm";
 "labelschanged-1.0"="k8z64p2cxhizszln06g5736zvf3m4d6z";
 "labelschanged.doc-1.0"="f1g5fxmi61q5an38k6g63gwc93znisyb";
 "labelschanged.source-1.0"="208xinzlpnpsqb3yvh98p02kmn34ai6x";
@@ -4839,8 +4938,18 @@
 "lastpage-1.2m"="i37ji3jp95j287rx34q4yajih7w1riy4";
 "lastpage.doc-1.2m"="jc40pwdbysv03k1wx113f2q0j8xf54dr";
 "lastpage.source-1.2m"="gika2qk64lahh4l6c6pn76r5l57rspf8";
-"latex-tds.doc-2018"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
-"latex-tds.source-2018"="xdigsidx76bs121jl0m42wavzf4y88qj";
+"latex-amsmath-dev-2019-10-01_pre-release_3"="w0zy9ffcyvsy57nxzljs8sbvpg81nyrj";
+"latex-amsmath-dev.doc-2019-10-01_pre-release_3"="rns9wjinm96w81jqws8vm8vh01gbcgxc";
+"latex-amsmath-dev.source-2019-10-01_pre-release_3"="vkxw7zkbaxm8ckhivs6x7s6k67janhla";
+"latex-bin-dev.doc-2019"="p4hj5yxinc2kx0b2nxr0k6ilp2ff68m3";
+"latex-graphics-dev-2019-10-01_pre-release_3"="cr3l1n4pzgpnasvww1fsjrwkys9vbi5s";
+"latex-graphics-dev.doc-2019-10-01_pre-release_3"="by2x3v4sj3q3x7d6ikh4qjcnbg08ijpb";
+"latex-graphics-dev.source-2019-10-01_pre-release_3"="pcgrxh27rqadh06cmkb93km85pni9vi7";
+"latex-tds.doc-2019"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
+"latex-tds.source-2019"="xdigsidx76bs121jl0m42wavzf4y88qj";
+"latex-tools-dev-2019-10-01_pre-release_3"="v5mx5x2aaira12nv4kr81sjnjfkc5hzi";
+"latex-tools-dev.doc-2019-10-01_pre-release_3"="1k8s4liivw1mgrvkvf0jbmcj2kcd2p97";
+"latex-tools-dev.source-2019-10-01_pre-release_3"="r6rm1vjpnfxpzpqvq89flj6lnmf34z63";
 "latex-uni8-0.03"="kh4gfpkynq6f2aqg9r3wfp4b75wd3zaz";
 "latex-uni8.doc-0.03"="qany361f2byfy4p1jsbwr4za45x5j74a";
 "latexcolors-0.1a"="0izwkzw8h2rqlgnl9dsn2zwm0z2wczch";
@@ -4849,9 +4958,9 @@
 "latexdemo-0.1"="qjb630j87mqsczjbhvjgr4a187rg6wzy";
 "latexdemo.doc-0.1"="p14qs32q48w1f8fq0xmwz1maiijhw44z";
 "latexdemo.source-0.1"="vldkpqrsdaa84s356w6nd5a0q0gv40ki";
-"latexgit-2018"="fymcvzwl1sl173r3jgf0298hxzrv66fa";
-"latexgit.doc-2018"="sxi90m4zcf03fym5d2mmyycd9p8f1k0l";
-"latexgit.source-2018"="jgvdi7lnqw37v9c4w7ybl5424sxkzgsf";
+"latexgit-2019"="fymcvzwl1sl173r3jgf0298hxzrv66fa";
+"latexgit.doc-2019"="sxi90m4zcf03fym5d2mmyycd9p8f1k0l";
+"latexgit.source-2019"="jgvdi7lnqw37v9c4w7ybl5424sxkzgsf";
 "layouts-2.6d"="j5bph4p5drbgidk6k74k72n6ckzin1qq";
 "layouts.doc-2.6d"="4440l4n1kwphf99pkms09mk8ilbyd416";
 "layouts.source-2.6d"="hay5rjr1crxj98zqj1qm841dkxx55azg";
@@ -4874,20 +4983,20 @@
 "leaflet.source-1.1b"="l8g4n75f5d85dj4mfwbrc19bh87jzr81";
 "lectures-1.0.2"="gxziq0f4bcy0q1r02gqc3z63z918mqz9";
 "lectures.doc-1.0.2"="93h48qv5h0c9g3v4ga95d3cmcml595qr";
-"leftidx-2018"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
-"leftidx.doc-2018"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
-"leftidx.source-2018"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
-"leipzig-2.0"="vasv42gq76m6bqc0kd3rhdjqm3jfbgzw";
-"leipzig.doc-2.0"="mwiqrvnz9dpar8yxz632anah37795px4";
-"leipzig.source-2.0"="8d88fsk8faxw58zrp0any6ld256jiqda";
+"leftidx-2019"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
+"leftidx.doc-2019"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
+"leftidx.source-2019"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
+"leipzig-2.2"="d4y64gbg2q9mjk2jqz46gqci27vci5lv";
+"leipzig.doc-2.2"="k6ba3ddz4vbnpv99g8nvfia1gj12rib7";
+"leipzig.source-2.2"="ld4r216825mz68j1yz211xlrmzfgblpy";
 "lengthconvert-1.0a"="7rfvx4n625g3rwinbxci25b0xpxrb2sk";
 "lengthconvert.doc-1.0a"="ngl9jfvcplmd9z7kwzfd90m45jp9lbpc";
 "lengthconvert.source-1.0a"="r2lh184znd42l741g816y2ljrsrbncha";
 "lettre-3.000"="cji81arz9mmmd0n31k9zh7pacq0w7df5";
 "lettre.doc-3.000"="szid42pk7qyrimafvma6z62407npv9dj";
-"lettrine-2.21"="gxn8sc9id4xk8yyl0rmpvcsr47cs2gkh";
-"lettrine.doc-2.21"="6glrzlzd231i4mjkcs0an0lf0qxg46l4";
-"lettrine.source-2.21"="sn3d5nis17srz6ckh03n1kpb3134w381";
+"lettrine-2.22"="i1qjxblg0abxqhgkij7fqy7d0iy69a1w";
+"lettrine.doc-2.22"="ddf39gxbshfml5bb511g6ajbax9f3i5f";
+"lettrine.source-2.22"="lyl09j8cffrs75l9awk4i3254vpaxmbj";
 "lewis-0.1"="dc7cw320gc531z7m47z3pgby0zl5l6nj";
 "lewis.doc-0.1"="di515hv7q93g3mb76d9i4xdm7v35qabs";
 "lhelp-2.0"="47yixr326p1aaxdfbc8y8f051yk4blfs";
@@ -4914,9 +5023,9 @@
 "listlbls-1.03"="hmdaqr5466rlpkkrq78d4p5rfzm4fyxa";
 "listlbls.doc-1.03"="gmdiwdbadf66b6cchmxv1swlngdw6y5g";
 "listlbls.source-1.03"="8l3lzr022qmx9pw4jgp1n2fkacyl94vb";
-"listliketab-2018"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
-"listliketab.doc-2018"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
-"listliketab.source-2018"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
+"listliketab-2019"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
+"listliketab.doc-2019"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
+"listliketab.source-2019"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
 "listofsymbols-0.2"="9xg173d0qs233kqf04vm7qdl7ajha3w2";
 "listofsymbols.doc-0.2"="4vhmgkz6wrk2ad9bnzdv3sv3ii1np14p";
 "listofsymbols.source-0.2"="4g49piirj1spdl9hg02n9m1c8b5ql1k5";
@@ -4928,14 +5037,14 @@
 "locality-0.2"="mr4032njdjyscsy5p9xax5lw5kdbhnnq";
 "locality.doc-0.2"="98r82nbryc9zf5xyhwfnbkgrcybf7fr5";
 "locality.source-0.2"="4g29gqbn9n7kp36x0s44211p8bbmcfi6";
-"localloc-2018"="jjmgwbaj9v9503wkm5x3mr008f3llvls";
-"localloc.doc-2018"="jn8x4qwci949zci0bk1ldrkr192kasgb";
-"localloc.source-2018"="2hhfkp3qb0p6qphv2fq5cyigyrx41iah";
+"localloc-2019"="jjmgwbaj9v9503wkm5x3mr008f3llvls";
+"localloc.doc-2019"="jn8x4qwci949zci0bk1ldrkr192kasgb";
+"localloc.source-2019"="2hhfkp3qb0p6qphv2fq5cyigyrx41iah";
 "logbox-1.0"="6hm79ady9adc3i3c4p0jzmx7fwavbzqj";
 "logbox.doc-1.0"="mxpkm6s6x6zngdy8jgj801vhq3h7mlxr";
 "logbox.source-1.0"="a1q1w9s8pj9aqshkyla8cc1p3g2z9w8z";
-"logical-markup-utils-2018"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
-"logical-markup-utils.doc-2018"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
+"logical-markup-utils-2019"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
+"logical-markup-utils.doc-2019"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
 "logpap-0.6"="dhd61y6riva220cjnb193v9cjbjz33bi";
 "logpap.doc-0.6"="pps9ipn239h1vw0d8p2jlzbkmcd12czb";
 "logpap.source-0.6"="6y6gv7qgh503f3n8zrpqddyghkdvzngh";
@@ -4949,8 +5058,8 @@
 "longnamefilelist.source-0.2"="3ph503yw35mliqir4k60hv3i8lah3q7v";
 "loops-1.3"="0f0xz58wdvx6cvkynx3xmyxm08x823jh";
 "loops.doc-1.3"="6v1ghg77l3nrab23by4cwqwr014jjwq6";
-"lsc-2018"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
-"lsc.doc-2018"="ajdphikngmbihczhfyarwa94i9r3mg6p";
+"lsc-2019"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
+"lsc.doc-2019"="ajdphikngmbihczhfyarwa94i9r3mg6p";
 "lstaddons-0.1"="n797dx657x03zpkhb1fc2ygd0ppb023g";
 "lstaddons.doc-0.1"="w57l66903jqsb827q96f05as16fr5wf2";
 "lstaddons.source-0.1"="35c9b9n0qi3rjl2gg9dr158v21rh5cq6";
@@ -4964,8 +5073,8 @@
 "ltabptch.doc-1.74d"="aa6psxhjpb4n2cn73asiqnycv9g5gnis";
 "ltxdockit-1.2d"="md2zz844hk8w5jirc633l6jzix82dlwd";
 "ltxdockit.doc-1.2d"="v442rbm6y5ncm6ijzx9b7xwdf0dx28pg";
-"ltxguidex-0.1.0"="p3f7f1p759c1gsdw5zhvqgk548ddnn15";
-"ltxguidex.doc-0.1.0"="2slfj6xa6dgmg842sv5qwg7qshy03056";
+"ltxguidex-0.2.0"="jzi1r13lc3pbhbls5h7gy05qa8g5jndi";
+"ltxguidex.doc-0.2.0"="qkxvrhpcm2p78bh4qbp6aik46d1ribgr";
 "ltxindex-0.1c"="1lys1zfka0z2qjnwj8ghak8xhzkzh4bw";
 "ltxindex.doc-0.1c"="90k7xf0b9qiawqf4nm4fx5hkacx33ymz";
 "ltxindex.source-0.1c"="x9ifr8r7ihl5yh8y7sbpxz2hc2y296g6";
@@ -4986,9 +5095,9 @@
 "macroswap.source-1.1"="wirvpfkv8zjyqghlabclnvnmb4w8i2rh";
 "magaz-0.4"="zd02izsnb56wz1wcfqfj6p9p7pycwd3g";
 "magaz.doc-0.4"="cdylbzidxq2abda3np8ia16m3lbga9w3";
-"mailing-2018"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
-"mailing.doc-2018"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
-"mailing.source-2018"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
+"mailing-2019"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
+"mailing.doc-2019"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
+"mailing.source-2019"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
 "mailmerge-1.0"="6zixn5f5rjq4fd65bbhkzwgijfhw262i";
 "mailmerge.doc-1.0"="wpim80lnxbf01an1ds6ksasm2271f54w";
 "mailmerge.source-1.0"="00r71m4cliyz9870yfxd5nl0b7b2px0r";
@@ -5003,24 +5112,24 @@
 "makecell-0.1e"="073c9wfpc83jhcbkmjlkpfbpmy082xyv";
 "makecell.doc-0.1e"="irl3sf564yjdnx538vbqbw6ji0x65m56";
 "makecell.source-0.1e"="qaw6f6hmvj4125v30wr0drnlq0piim3k";
-"makecirc-2018"="m4xbci3109krv6agm0nhvry9kd7wjs43";
-"makecirc.doc-2018"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
+"makecirc-2019"="m4xbci3109krv6agm0nhvry9kd7wjs43";
+"makecirc.doc-2019"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
 "makecookbook.doc-0.85"="jd6jxdslcigvj3gyxs8yy1wihycxq3hc";
 "makedtx-1.2"="1k3yp8ylmvcfx4xcf1kgmpnnrrin2nsk";
 "makedtx.doc-1.2"="shcl10mxk7f7g0i4y2n6fppjjs33g5i0";
 "makedtx.source-1.2"="blsivri3lnfa4grmk46wxlr2yz87djb4";
-"makeglos-2018"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
-"makeglos.doc-2018"="g4w2560v1pxm38dj5dsb3irgijzh221g";
+"makeglos-2019"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
+"makeglos.doc-2019"="g4w2560v1pxm38dj5dsb3irgijzh221g";
 "mandi-2.7.5"="bgfn2zpydmyjpm0n2j78szn4nkkqnksh";
 "mandi.doc-2.7.5"="72r085a0f5nrashgm2xjf5p6ba35c9cd";
 "mandi.source-2.7.5"="baa7wn0s0z61x610jb45s48l31bf49cv";
-"manfnt-2018"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
-"manfnt.source-2018"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
+"manfnt-2019"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
+"manfnt.source-2019"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
 "manuscript-1.7"="h6a06qa8wdg942c9l85xk2drlc07k340";
 "manuscript.doc-1.7"="9lfydjsxnci0b6nfdmayjigm8gfvbiaf";
 "manuscript.source-1.7"="7s5sj7f198rxkggz1j96kk6fgr5s88ci";
-"manyind-2018"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
-"manyind.doc-2018"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
+"manyind-2019"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
+"manyind.doc-2019"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
 "marginfit-1.1"="a1cpx8n1camjfznxf5lqcjfaaji46gq8";
 "marginfit.doc-1.1"="c5rk8f7ac1xi00rz2xkh708s242wzfq8";
 "marginfit.source-1.1"="r5a53yzalhc6gmbsxk9z7bba5ns0552k";
@@ -5030,31 +5139,29 @@
 "marginnote-1.4b"="98qa9kfiaiw6lbm0jsblq68vxla8a3z2";
 "marginnote.doc-1.4b"="k5mxj5j1ws3q1a71fj9k4f06n7vrj49h";
 "marginnote.source-1.4b"="i33692nz19pddmvmqw20xx3i04grxn7l";
-"markdown-2.5.6"="mm4wv2cpxi74p1vcx5p873zc4a0c25cn";
-"markdown.doc-2.5.6"="nssb0i8yhq2a1whhdxvqnm76mf51lza1";
-"markdown.source-2.5.6"="a5w3a29jr2f78mwh5rlmim1wbpx2c4lc";
-"mathalfa-1.10"="lsvxxiivlph8qh81zqpxxfhh295jj7pz";
-"mathalfa.doc-1.10"="411j4lngsrh5baqs20i3jcl57yjr792q";
-"mathastext-1.3t"="d569vymh2ih1ps1wka6f1gzkn8nrqd7a";
-"mathastext.doc-1.3t"="gm6i1rb34ljpghw0ibvddhbg1npa5hdz";
-"mathastext.source-1.3t"="mk222f5b8f5yq3vylssswgfn7b941xn6";
+"markdown-2.8.1"="857g34dfh6sky0nplxyizbzlhdi0z27z";
+"markdown.doc-2.8.1"="f3vabnl8ksy6dgzwa8s634vbgkdbzcpn";
+"markdown.source-2.8.1"="33k7j1wd4xa734dirk10hnr1mnic27m4";
+"mathalpha-1.13"="wig82v4kfp76z48x8ipcl3i6p97j41j4";
+"mathalpha.doc-1.13"="8zibbm7ga8nk6dcbdvgp3f4xw13r19ml";
+"mathastext-1.3v"="161mdckabl225lz8zx3brlmqj6cil7fw";
+"mathastext.doc-1.3v"="vhrz7s8n2j5hibbi7vhvfccgd3n0jblc";
+"mathastext.source-1.3v"="x3xdyvnjld16m2whcxicd5xgisgwjnnc";
 "mathexam-1.00"="4rhl11na8mqzbl9l7wjk53fdhdpzbgih";
 "mathexam.doc-1.00"="7bhcdnalaakml3rx50sgb0799b9883cp";
 "mathexam.source-1.00"="mcs3csvr3ayvjijs6sh67mk0mrp5zawc";
-"mathfam256-0.2"="6kf6b8zawrdz4g73gw6m18m85h1mz9zi";
-"mathfam256.doc-0.2"="hbx4kkw9s86cq2qbx2g851cbp4s7f7w4";
-"mathfont-1.3"="gkk5v3dwrr5jzhpq78yczrs4xkvab53x";
-"mathfont.doc-1.3"="lvicv9zn4l9vw7b1nnwnv6yrx9m30qpv";
-"mathfont.source-1.3"="0ny34d3gigmhasfzi7q73h18rcajmz7c";
-"maybemath-2018"="b7n8bgmz0vizghas19svaf1asi7633ck";
-"maybemath.doc-2018"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
-"mbenotes-2"="7nxdmwq8pxxkxh07x26nhxr4fy1mymif";
-"mbenotes.doc-2"="bswvjyq6cy2vbfc1x2cmjcnr2jlcv90g";
+"mathfam256-0.3"="287n8w4s9f9mhsk4p0cqr37kyqnf1p7c";
+"mathfam256.doc-0.3"="7sw3j4828k471777g3d0k6yqdikb0kmv";
+"mathfont-1.5"="a3lyw4n90ss5ylg91al5xxzk329nssh5";
+"mathfont.doc-1.5"="vkq2r9ayv1w3jdg7nd84v7v9mj1irg2b";
+"mathfont.source-1.5"="w5ggsvnqi8gmdc39163066p9kzd7ra33";
+"maybemath-2019"="b7n8bgmz0vizghas19svaf1asi7633ck";
+"maybemath.doc-2019"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
 "mcaption-3.0"="bxgcc1lkr9p5ghd80mh2ixnc1g4g49f5";
 "mcaption.doc-3.0"="mzbfyspjjjq3mhm2m06jmf9fic78i6bm";
 "mcaption.source-3.0"="ix6v7ldrgqw2kyb8mxppiw47p1fsxj29";
-"mceinleger-2018"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
-"mceinleger.doc-2018"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
+"mceinleger-2019"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
+"mceinleger.doc-2019"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
 "mcexam-0.4"="3r3kn0mpzsx4p8scl2zf57sj54q6q6n8";
 "mcexam.doc-0.4"="c2hpirn5sl7m6cdf7mw66l7nrpcmz1i9";
 "mcite-1.6"="q16a807pfbxbcqyw1s5f3vrj0yym2z86";
@@ -5065,11 +5172,11 @@
 "mdframed-1.9b"="kc60c77k0qwqhdmpbk3r777k4q857jx1";
 "mdframed.doc-1.9b"="pr5d7iqc4akn0arxjl7ynqsl6dlh64sy";
 "mdframed.source-1.9b"="xnqih0l0zng5bmrjfrprr43k6l645kvi";
-"media9-0.95"="xvzbvnba261p4i7zq0czpj80xvrp43gx";
-"media9.doc-0.95"="xjra2bfvwyjkgw98bj9f7fwb5c4cpij7";
-"media9.source-0.95"="4sjz9g5mdd80s9gi0yyil3rifcq01jb1";
-"medstarbeamer-2018"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
-"medstarbeamer.doc-2018"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
+"media9-1.03"="zkpx9kzlnm5bq9xahz8wi7iyfvbdc9ai";
+"media9.doc-1.03"="i4kyv3rsv14mh2irq1rk67c9b18a0br9";
+"media9.source-1.03"="mimlnbnnii15jzfyj0lc7qlvqh1yhd7a";
+"medstarbeamer-2019"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
+"medstarbeamer.doc-2019"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
 "meetingmins-1.6"="d5x8znpkqcghi9lv4gby2l97smw6kddb";
 "meetingmins.doc-1.6"="mkxz4zi4a7rgq8sgwaqsc35n888gzs4g";
 "meetingmins.source-1.6"="5xridwnlmxkws7h293a1pg373mcb3gwv";
@@ -5078,8 +5185,8 @@
 "memory-1.2"="xbyqh88hgszrma77r32dzly4k928vwpd";
 "memory.doc-1.2"="97n5y37w8k1b1dghkjmdny2lgc2b0z4b";
 "memory.source-1.2"="xj785y1h8zncgikinri52ri4sp7av9cr";
-"mensa-tex-2018"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
-"mensa-tex.doc-2018"="cbym06lj2jif90dpqddc2sl36glwlm6k";
+"mensa-tex-2019"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
+"mensa-tex.doc-2019"="cbym06lj2jif90dpqddc2sl36glwlm6k";
 "menu-0.994"="601vvx1mrqc5l4ig4j65bq88yjzcc08g";
 "menu.doc-0.994"="s9wj7viflx78y49dbs3scapk5vslf5xg";
 "menu.source-0.994"="n1pq98wjrfr476cwy442c8l99n1k9f6s";
@@ -5128,8 +5235,8 @@
 "minutes-1.8f"="c864pfgi1a853n93jddnndgsp325sr1i";
 "minutes.doc-1.8f"="z3z8rxzrkwz7k6756b654v6wclx4f6rb";
 "minutes.source-1.8f"="w4skq6nprvgxhvqrf4xa2afccr1hsz6g";
-"mla-paper-2018"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
-"mla-paper.doc-2018"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
+"mla-paper-2019"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
+"mla-paper.doc-2019"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
 "mlist-0.6a"="5yh180f4d4dsrfzin6cjmshad8w7fi6g";
 "mlist.doc-0.6a"="wqscsdlyx7zqyq1g5hcfcp0cs5w5dxxc";
 "mlist.source-0.6a"="hlnmvms7n3csa2v0ixwz82wp2dlc7jy1";
@@ -5142,17 +5249,17 @@
 "moderncv.doc-2.0.0"="siyfv7qm8gbqwx21rqm1hq2l0fkq5zad";
 "modernposter-1.03.1"="hlb03arz5iv98iakvimihvcnb50zdf0k";
 "modernposter.doc-1.03.1"="qb4pglm91r4w85lbp7jdvgr8b9nqkmh4";
-"moderntimeline-0.9"="iim54njrwrmgx5l6q256qghpg61xdfn2";
-"moderntimeline.doc-0.9"="r01hn888b16196br6vpwkhqklk5fjfz2";
-"moderntimeline.source-0.9"="1m966j7kwkm3z9b6r5c35pc6jm6c4g7d";
+"moderntimeline-0.10"="4vqk60zkhx4vk9d8h6mksfmhlxviw7z0";
+"moderntimeline.doc-0.10"="b5sac5b3hx1q2bigs27rp8s1xl128llc";
+"moderntimeline.source-0.10"="lj2nkwbz4d96ch7wlrvcx9i6anxkng6j";
 "modref-1.0"="66l3h642swhw1maq3gd0l3bc59dlb9f3";
 "modref.doc-1.0"="qywhydcrg4qw4lkxa2gkdqdzjzsjc0j0";
 "modref.source-1.0"="a362js5xq7a69k1zawmyfj9f4p6254v0";
 "modroman-1"="yvhwr314ymch4fhvr9zq8l1rsp3jfinn";
 "modroman.doc-1"="2is4g9r40gr23cy469q2vk2kjj2jbkm6";
 "modroman.source-1"="1kddwifbglz7hlhxndcrr28dfgd0bdy5";
-"modular-2018"="gp555cnfp2izjp81bg1l1aij466vcfxr";
-"modular.doc-2018"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
+"modular-2019"="gp555cnfp2izjp81bg1l1aij466vcfxr";
+"modular.doc-2019"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
 "monofill-0.2"="jnv36mj3w2vihnq2f17pbm1yzrz2176w";
 "monofill.doc-0.2"="gr0mhc8f2w3dnd9r6flqvq5yyb388h4p";
 "monofill.source-0.2"="gmdpp4qn9x5bxk24afqs4xg7vzvaqkp4";
@@ -5173,11 +5280,11 @@
 "moreverb-2.3a"="w1rxv8g11dkpi1zyfq7xblgjjwi2dkw6";
 "moreverb.doc-2.3a"="70m0wiik9lqc2r4pi4nrdmm0rsx9d8cp";
 "moreverb.source-2.3a"="zxqcx8a12s33gklfq4zv3mci70nimpir";
-"morewrites-2018"="phc3742cpyisr8i8b9r30w7x28kaydx5";
-"morewrites.doc-2018"="x9cccfv21238zfsfikbnap6a2fj2aymg";
-"morewrites.source-2018"="gg8427vc6r2im1y5n541imkgq909ds99";
-"movie15-2018"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
-"movie15.doc-2018"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
+"morewrites-2019"="phc3742cpyisr8i8b9r30w7x28kaydx5";
+"morewrites.doc-2019"="x9cccfv21238zfsfikbnap6a2fj2aymg";
+"morewrites.source-2019"="gg8427vc6r2im1y5n541imkgq909ds99";
+"movie15-2019"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
+"movie15.doc-2019"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
 "mparhack-1.4"="5sq75r9p6laimfxiz9kl1j5cgplkzin7";
 "mparhack.doc-1.4"="6i835nghib094n03i095dc0p7zq30znm";
 "mparhack.source-1.4"="07xwzd4pvppkb7ywwzdrip3yk41d5wl0";
@@ -5189,25 +5296,25 @@
 "msg-0.51"="d74m4mhh3k9hmc4py38izy3n075f019r";
 "msg.doc-0.51"="3v872isrjh68l3j4i0bm86l2vk60vi7f";
 "msg.source-0.51"="gcmdjhil29pwakk8jdrf6zaxcp3w5ykw";
-"mslapa-2018"="xmci0mddxivrp23hxp50wnlyvl9kir04";
-"mslapa.doc-2018"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
+"mslapa-2019"="xmci0mddxivrp23hxp50wnlyvl9kir04";
+"mslapa.doc-2019"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
 "mtgreek-1.1+"="afbh9ydcsnf1k0c714ypmqrf0qjcas6a";
 "mtgreek.doc-1.1+"="pq9303jyrj7nq8rwgi5d7njbc2x3jn58";
 "mtgreek.source-1.1+"="6whrwjvzz5jrhirhgr7kymc3jczn2zmf";
-"multenum-2018"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
-"multenum.doc-2018"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
+"multenum-2019"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
+"multenum.doc-2019"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
 "multiaudience-1.03"="dcqxnkwsqd6vyk9wnwmac5b832dzb4ns";
 "multiaudience.doc-1.03"="8z6mbzi6yyv5cmp6pn2fsg5vlagyrlwn";
 "multiaudience.source-1.03"="5v4r06mydnjvq7hksjgdqd17m47b0g1z";
 "multibbl-1.1"="7nvyshlsgfcmlxc0gdn8b353sc6g3qw2";
 "multibbl.doc-1.1"="isxh2fz1yaz86acvpcv8k1hmwnazck6m";
 "multibbl.source-1.1"="z6wbxacy1rzz1l7wx6ppi8dsbipvc5s0";
-"multicap-2018"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
-"multicap.doc-2018"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
-"multicap.source-2018"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
-"multicolrule-1.2"="s9cz6rip4nr4k00v7cxk993vx69ffy7j";
-"multicolrule.doc-1.2"="nrdgh6535hydk9x3asxqvd704w9kc04a";
-"multicolrule.source-1.2"="vvdf3wmzib4sib3k01yqwrgcymw3g86w";
+"multicap-2019"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
+"multicap.doc-2019"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
+"multicap.source-2019"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
+"multicolrule-1.3"="afncpkm0813g4z2l1h905crz07w3i7ic";
+"multicolrule.doc-1.3"="wqck9ry78z83xfg10v90isv1yq3y89mv";
+"multicolrule.source-1.3"="i5i7mb07lirlvlf1y0nhgvcbpm8jhd1q";
 "multidef-1.10"="5wsklk9lvznmwisl7jyhiai2zz8iizhb";
 "multidef.doc-1.10"="sq7a72nhiyd5384dx9y6k1c72gl8ia2n";
 "multidef.source-1.10"="hx6fbjirp5gmpn9bglp0hcmmhdjn1rsb";
@@ -5220,9 +5327,9 @@
 "multilang-0.9b"="56lbpndclbci7ihkidrjqg1i1rb5d540";
 "multilang.doc-0.9b"="k2fcrbwx48nwwmwjb5sln2xfyv7ac03p";
 "multilang.source-0.9b"="26rcwx14xbk0zfwazm40ab76pkv6b1g1";
-"multirow-2.4"="mpvyr6y0zlxfhr8g1yzrswy4wflmvxrl";
-"multirow.doc-2.4"="clak5kbmfpaxafxii99wl1vyx9g018ba";
-"multirow.source-2.4"="ajps3d8az25vrrmwl5x6mgbv9c303cr5";
+"multirow-2.5"="cchqv2b096x37wbngyp264mm97vs78fh";
+"multirow.doc-2.5"="47q33df5nzraljqx9wrrrp8mrn5b417a";
+"multirow.source-2.5"="qq1b7khcjkxzvxr38hazkkl84wn3kw0k";
 "mversion-1.0.1"="7vpmmb88cjk92m2a2hz10cijkxf44bmy";
 "mversion.doc-1.0.1"="a2fx7phvl0i1nyhb5h0w6ld1n9kvcgcv";
 "mversion.source-1.0.1"="zhbd3j6kxsdyznx9haqqh4vk7b8nrl09";
@@ -5241,15 +5348,15 @@
 "nameauth-3.2"="8mchkgj0v2f3qcvrya80vbx2c55gwjcq";
 "nameauth.doc-3.2"="hq4wywajcb2h28zy4alj8di8ap12c3r0";
 "nameauth.source-3.2"="g1p0ddh1x8g4w2qwc5kvj3p92g8s3js6";
-"namespc-2018"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
-"namespc.doc-2018"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
-"namespc.source-2018"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
+"namespc-2019"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
+"namespc.doc-2019"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
+"namespc.source-2019"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
 "ncclatex-1.5"="vyc62gppwksnghphh3fch8ac3wji38qv";
 "ncclatex.doc-1.5"="i5klzg6hjqk8gq73g7ck9za6arh58rwx";
 "needspace-1.3d"="n3bhzw4qj1q1pml8yw40q3p8nzncygia";
 "needspace.doc-1.3d"="p8ahld3my116ynhgip3xfgxd58n4w36v";
 "needspace.source-1.3d"="2i7mdcxrdh8p54l31qqcfsdbrwjfiw87";
-"nestquot-2018"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
+"nestquot-2019"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
 "newcommand.doc-2.0"="cdy7kzxpazx56gc6a0s62nx1bq3x1kz3";
 "newenviron-1.0"="s27wb3f7q3qk5lv6ficrjs6kkxqal7hi";
 "newenviron.doc-1.0"="j20cd7xar8jxbx17dv9sqpsrck6cydd9";
@@ -5268,12 +5375,12 @@
 "newvbtm-1.1"="2khz8c8b8a5946h97w2rf2gmp6z8wvh0";
 "newvbtm.doc-1.1"="y1rlqvpv8y77ns1a35q6raksa88qqdnd";
 "newvbtm.source-1.1"="1ws90wkmj308mz4qa3hham4mxm3lrl5i";
-"newverbs-1.3a"="knwjy0hwrikxfa52lzddb7p5zqgzq1nq";
-"newverbs.doc-1.3a"="884wh81zgssy9r9f2h70kank1kdv82mx";
-"newverbs.source-1.3a"="d2fvf7fsx5xj7rfmi8wl0g902drq59gd";
+"newverbs-1.4"="jbkq6pkmd32mg6g7h424ya7yl08xp15q";
+"newverbs.doc-1.4"="d9spa4vwjarb29jq6ipvrw07nsfbii8m";
+"newverbs.source-1.4"="ral3f0z7s70ir5lwjpjrms6zvxga01lj";
 "nextpage-1.1a"="b7b41bpr8zk2z6m5il51q9vxb3c8h67j";
-"nfssext-cfr-2018"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
-"nfssext-cfr.doc-2018"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
+"nfssext-cfr-2019"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
+"nfssext-cfr.doc-2019"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
 "nicefilelist-0.7a"="crqgn906x51nq1d3z0s15f9kl29lbg3b";
 "nicefilelist.doc-0.7a"="a77wbb5ajkj4ab3dy1zzs3hchac77cwh";
 "nicefilelist.source-0.7a"="ng7drfgz7w69za7hmfzm4cv0m2awdx7l";
@@ -5283,9 +5390,9 @@
 "nicetext-r0.67"="i3lvy4awa0igc272xv8mn7n4dfaxm9iq";
 "nicetext.doc-r0.67"="iacnv3pa0a676wy34s3s261ypjpcl9gd";
 "nicetext.source-r0.67"="6d0mm3ghwivk44g63875mpq6pafbll8b";
-"nidanfloat-2018"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
-"nidanfloat.doc-2018"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
-"nidanfloat.source-2018"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
+"nidanfloat-2019"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
+"nidanfloat.doc-2019"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
+"nidanfloat.source-2019"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
 "nlctdoc-1.06"="2k3r9a400asfix3n8j3f7lgghr57imrb";
 "nlctdoc.doc-1.06"="3axalhgmiz8f9rikjwbkhckw0hshnpyk";
 "noconflict-1.0"="df9gs1xx7gymaadn2ji4dzir36z6r897";
@@ -5297,9 +5404,9 @@
 "noitcrul.source-0.2"="b8s8g15qwdsxm7ywvgj9g6307ws3hg0d";
 "nolbreaks-1.2"="1603r89wi8sninjv541na8k2islfk4sc";
 "nolbreaks.doc-1.2"="g0nm3i09kzxqqcrycrz2cak05d8qlvqs";
-"nomencl-5.1"="3nhjqxig1bazcj6z2rflcinnmy59nyy6";
-"nomencl.doc-5.1"="n6ssqxgf9bmiq3r4x2dxl15bj5m1rv4a";
-"nomencl.source-5.1"="hkln104w66l78368mppclr2dbk1y2ifm";
+"nomencl-5.2"="lad6j1wj5z0wibwn8bk1b8sy9hxrb06s";
+"nomencl.doc-5.2"="v9xv6v28mgs3nm7lhxa4xpyq4fkg2zza";
+"nomencl.source-5.2"="g5x54n8biskic2bwiwbwxpb45grxvkrs";
 "nomentbl-0.4"="k74vk3a9kl3sbrkmpyav1snh0cd16np9";
 "nomentbl.doc-0.4"="k2ggwchfqa253i96whp2lh4s3p8vbysk";
 "nomentbl.source-0.4"="al9s24x1ivpw91bbnn9sqrjp3rb5h0ni";
@@ -5309,8 +5416,8 @@
 "nonumonpart-1"="a121f2i1n005xp51qn642vx30ij74zgs";
 "nonumonpart.doc-1"="wcbvd9c2cv5ydbma4xxb6g2b2bihi0lh";
 "nonumonpart.source-1"="j2jy48jw8hgcs830h187s9rg85kd3rfa";
-"nopageno-2018"="59l05x89jv7q4mm7k73i06rmv467iimz";
-"nopageno.doc-2018"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
+"nopageno-2019"="59l05x89jv7q4mm7k73i06rmv467iimz";
+"nopageno.doc-2019"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
 "normalcolor-r11"="jfpqlz85fphm063mb51q9q2s61fcbnmh";
 "normalcolor.doc-r11"="vz9557sxw9c6l8m66aaagcv39x1vkfzz";
 "normalcolor.source-r11"="vs4y1p0zarr6nppqadcdcp03lc6nd2zd";
@@ -5322,8 +5429,8 @@
 "notespages.source-0.8.1"="sskq21wj4vhqyq8xzhrbsh7p8c701r7x";
 "notestex-1.0"="innwzn87vplj094lxw9w48ck6s5hmb5v";
 "notestex.doc-1.0"="p4lyxlar4125y9x3pb6sd5ysdn7w3vqr";
-"notoccite-2018"="ifpkassfd9j5926gsnq00954clc52sbv";
-"notoccite.doc-2018"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
+"notoccite-2019"="ifpkassfd9j5926gsnq00954clc52sbv";
+"notoccite.doc-2019"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
 "nowidow-1.0"="hf3wjpkn1j2yksdl8mryssv6cxqjn3si";
 "nowidow.doc-1.0"="w1an9iayppa59h2iprjr515w8g72qkg5";
 "nowidow.source-1.0"="b6i3ypchipa228x0s6i66vrvf7zc3hgc";
@@ -5334,8 +5441,8 @@
 "ntheorem.source-1.33"="fc0wyfgjnckzqrd7lf3a4n6yvbhwaal8";
 "numberedblock-1.10"="x1wlbk0d8xbl0b3mx0bxgymc9jd3vv5y";
 "numberedblock.doc-1.10"="866z5if0xryr7mmi70any7p9l93f0d38";
-"numname-2018"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
-"numname.doc-2018"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
+"numname-2019"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
+"numname.doc-2019"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
 "numprint-1.39"="7fd6ja6vw3c7yg824y30xrqrmrk3qkwx";
 "numprint.doc-1.39"="bbfg2cyh8cykgl3zk9c53wk3q3vbb8pn";
 "numprint.source-1.39"="cr7xjw77r8h4bcjihxc68iraxd760gh2";
@@ -5346,10 +5453,10 @@
 "ocgx-0.5"="28p11v602hf9w9q1vynbf8fyhivbawl5";
 "ocgx.doc-0.5"="6vx8iiz0zfipwj45xrk1gv9cvifv4y1r";
 "ocgx.source-0.5"="5bm25s1rgsky2qc14nrgg6v3n0ywwcb6";
-"ocgx2-0.40"="ak001rxbm2ym3y47rqgxb7c0q8hx6mbh";
-"ocgx2.doc-0.40"="7r75jl2q0fxvi6hk2d0yp7855pb65v82";
-"ocr-latex-2018"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
-"ocr-latex.doc-2018"="9cz06542a64k4ns92qgkx1hzm5sd275w";
+"ocgx2-0.46"="sq7aihaxiwh0p6dpqay07a4li1sjm6fb";
+"ocgx2.doc-0.46"="mz25ry3c14482d7j33nwsxlx152fyaww";
+"ocr-latex-2019"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
+"ocr-latex.doc-2019"="9cz06542a64k4ns92qgkx1hzm5sd275w";
 "octavo-1.2"="fpv1fcrym9gplxjs0zsrrv4iziizqzxy";
 "octavo.doc-1.2"="wcd4cj4ihgmm1d0i36l66bf8dpw5cm58";
 "octavo.source-1.2"="30dsp7266fzc2l2kn98pqwwv6sdb75hr";
@@ -5362,14 +5469,14 @@
 "opcit-1.1"="59ykfp525lby8p0y5y1b5wk8ab9dvznz";
 "opcit.doc-1.1"="h74vnsw6lf4iaca46r07x0i05rhrq4m8";
 "opcit.source-1.1"="xsw3nb19li1hxnfpr4xhkb2s8qg3ap1w";
-"optidef-3.0"="innl6jr76kkblgsxys394q2prgcra9bb";
-"optidef.doc-3.0"="2c8sgr8zzd9q89b7qwizwnhb7fkjiwks";
+"optidef-3.1"="s39b2v2hbac946vpqvbp0wxmw7kf8rrj";
+"optidef.doc-3.1"="bi8453aa4xxkmjs630hnwm8ci1k6zfbq";
 "optional-2.2b"="akjbm6gzli451ll82zbrwhpcajdn1b15";
 "optional.doc-2.2b"="jg81vzayz3a2pvlxhvyrx8j3w1sw65xg";
 "options-1.0"="5xy1cf8yq8awm7bspjj23nywhbs7ww67";
 "options.doc-1.0"="gy13y93wl0im19p5jc011fjnr49afgsp";
-"outline-2018"="m192v07lmcfzq3zbv87cbckz8jwanbha";
-"outline.doc-2018"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
+"outline-2019"="m192v07lmcfzq3zbv87cbckz8jwanbha";
+"outline.doc-2019"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
 "outliner-0.94"="24bsa0d5zxz2i50i4bz0b3zsc5v7hp8d";
 "outliner.doc-0.94"="qgvvmjxq75fq907z1ya4vkir6iq7sbmq";
 "outlines-1.1"="0yh26641p29qj71w6zsx1z6hsr663q1k";
@@ -5402,9 +5509,9 @@
 "paper-1.0l"="wxk3akaqvdbc0q5whlwd2jpw0nvccwmn";
 "paper.doc-1.0l"="pppdcafd1gw0y9d5j91b2smzdssvvwyi";
 "paper.source-1.0l"="g5np7r4ncm9pyzpqm3f0h60cihmfbfsf";
-"papercdcase-2018"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
-"papercdcase.doc-2018"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
-"papercdcase.source-2018"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
+"papercdcase-2019"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
+"papercdcase.doc-2019"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
+"papercdcase.source-2019"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
 "papermas-1.0h"="xrl9ldvps0ffrygpgj501bvi4yb6cz2w";
 "papermas.doc-1.0h"="1p87yvwnn29mi2n2q4z1jsxfnq8gd73p";
 "papermas.source-1.0h"="6i3yx6ygswgf7yp1c0grv7gr6qc77r1l";
@@ -5414,13 +5521,13 @@
 "paracol-1.35"="nlp7hsfirg9x091qd1yjrpg2d9vanh2g";
 "paracol.doc-1.35"="mn2n3z3656wwk7rqii271778v9ca4yf9";
 "paracol.source-1.35"="zw0z1fnlqd1h9hgxgc6pqnj99rsbn679";
-"parades-2018"="bkr92ffb7s3zzl845jjkj1777517dwk1";
-"parades.doc-2018"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
+"parades-2019"="bkr92ffb7s3zzl845jjkj1777517dwk1";
+"parades.doc-2019"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
 "paresse-4.1"="mjz05a7z528h2j2svmk4d8ycc6zfzbh0";
 "paresse.doc-4.1"="yahsg4ij3mnck53fl3mgcywibmnq7nhw";
 "paresse.source-4.1"="ydzd3zya07nc2kpvq3w1bjg5nbq4l37z";
-"parnotes-3"="fhk85w9ldd4x7l9d2vma4jkrgiaybydg";
-"parnotes.doc-3"="61w2ijkfwd2ww81h39m8wydl957g8hxy";
+"parnotes-3b"="42sal99phkqbw05k2d9x6by27iy7sc7j";
+"parnotes.doc-3b"="3hlfpf75qjahy1qzc8l3dl1n8pj323pm";
 "parselines-1.4"="krgfsp0vcnpgwgw70aw8iwbi9r9fnwsm";
 "parselines.doc-1.4"="ahspn4rw6wdwlk9sgd8f2jajb2cbm33n";
 "parselines.source-1.4"="n652xalrpp0s7yy0dvcdz24khybsm1cw";
@@ -5430,7 +5537,7 @@
 "pas-cv.doc-2.01"="am16i8cjhh2jadlhqsmfx8vb2jyrj8fn";
 "pas-tableur-2.01"="ggwlvzkwdv3qhljir7c8v8fwivi9h7lp";
 "pas-tableur.doc-2.01"="942prkpjhj4zpvdg2d2k27ibvchw2mbz";
-"patch.source-2018"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
+"patch.source-2019"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
 "patchcmd-1.05"="asi7jsa5gwd1i2k0arh2p24wprnqfb2h";
 "patchcmd.doc-1.05"="8nxwjfkxc3nbj39wfvqm8bkxm4qs1y66";
 "patchcmd.source-1.05"="bpb3vc5kdmhiwh0s6sjvxjshvmgr7hrs";
@@ -5474,23 +5581,23 @@
 "pdfreview.doc-1.2"="xkd8140x13sfs5krj1l1p3zvj4vwjjf2";
 "pdfscreen-1.5"="5lwdmn4lxkq9hgn6fmr4rc2gdk3ms583";
 "pdfscreen.doc-1.5"="bcg3kviqc0jr3s5h5xa3in5g1hj46zkv";
-"pdfslide-2018"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
-"pdfslide.doc-2018"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
-"pdfsync-2018"="xqg7my569gq36snly1kpii240byrpx7s";
-"pdfsync.doc-2018"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
-"pdfwin-2018"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
-"pdfwin.doc-2018"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
-"pdfx-1.6.1"="3998syb80s834jikpyapyzpj616vghkn";
-"pdfx.doc-1.6.1"="jb8583ws31nx1vl378lrzvy2caqjd0w3";
-"pdfx.source-1.6.1"="qg9nm74ka8lpygkbqm1x8fmcdq5w53df";
+"pdfslide-2019"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
+"pdfslide.doc-2019"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
+"pdfsync-2019"="xqg7my569gq36snly1kpii240byrpx7s";
+"pdfsync.doc-2019"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
+"pdfwin-2019"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
+"pdfwin.doc-2019"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
+"pdfx-1.6.3"="1inx9kkwqj831ikgplqvffk8f0a8s6gc";
+"pdfx.doc-1.6.3"="c1grn1ahiddzp95biymw47x04fv3y23k";
+"pdfx.source-1.6.3"="6jj6972hpnhn46bzfzp1r201pmfnx87i";
 "pecha-0.1"="8bir75jmi5y33ids3wixm0sr7zjd66zq";
 "pecha.doc-0.1"="lhdivjzja3syzm6ksfcckx4a9q3pp8ph";
-"perltex-2.1"="2f79yiqssyigfci17gazdnvcms6kid3y";
-"perltex.doc-2.1"="hn1salkk7b3f371y3l3nby3lzih2pb7j";
-"perltex.source-2.1"="wfz5j1yi8qls7n7jfkip9s215s6jvvgz";
-"permute-2018"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
-"permute.doc-2018"="rz1569972rz72laqrxnkphxr3bdx1pxl";
-"permute.source-2018"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
+"perltex-2.2"="wshi5f5mkd59ncnw7xwp9pfw3mwgv5x5";
+"perltex.doc-2.2"="inj1sx8rkkdxq2sqnqgs0hc9ziybhcvb";
+"perltex.source-2.2"="a8lsqd2ls33rdgjy5fny1jz84gb1z8b3";
+"permute-2019"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
+"permute.doc-2019"="rz1569972rz72laqrxnkphxr3bdx1pxl";
+"permute.source-2019"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
 "petiteannonce-1.0001"="xv2yjs519vz0inbcy7m2a201ysjl3gwj";
 "petiteannonce.doc-1.0001"="9xvfy2ivdmlamj4fr1q5i1mfh6diys8s";
 "phffullpagefigure-1.0"="hp51s42ycsary7n2qngls1bm6j6mi5ab";
@@ -5516,13 +5623,13 @@
 "phfthm.source-1.0"="lbd9qwdv67spq7v1dy78012a874wg9mv";
 "philex-1.3"="766zmr2yzy48mmdakjhvvy56ck2g5zhf";
 "philex.doc-1.3"="r94769rncbhw6cdvzwm0s9fhwa57z7xx";
-"phonenumbers-2.1"="ypw54dphr5imy4gjcyy7ad5fin3zalz8";
-"phonenumbers.doc-2.1"="n7nww57xajrmwv25c4j3kcgwlr790xyy";
-"photo-2018"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
-"photo.doc-2018"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
-"photo.source-2018"="70n1vi9qla3kl592hgay45af9m078l58";
-"piff-2018"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
-"piff.doc-2018"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
+"phonenumbers-2.2"="82hwh6yj11vqrskchkvgnimiyxhzcf7m";
+"phonenumbers.doc-2.2"="ac4b8860hyqw8pjpbcc58bbjzx1pzm4c";
+"photo-2019"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
+"photo.doc-2019"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
+"photo.source-2019"="70n1vi9qla3kl592hgay45af9m078l58";
+"piff-2019"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
+"piff.doc-2019"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
 "pkgloader-0.7.0"="15p6m1152qc334ljqhnzdagic2ylvpgs";
 "pkgloader.doc-0.7.0"="k6qdk7x5pr11qspbx9ggabp18n88hlmx";
 "plantslabels-1.0"="yi1s2470aj75chj1f5mi9961w9if1mpd";
@@ -5541,13 +5648,18 @@
 "polytable-0.8.2"="qzfi66r74yb3cvgd5aicyflm4b25f6li";
 "polytable.doc-0.8.2"="36frl3y5hmlbh3cz9s17qnl4rjda1l5w";
 "polytable.source-0.8.2"="768zbijzmx54yrz1j8qvg8an6xis2hmc";
-"postcards-2018"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
-"postcards.doc-2018"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
+"postcards-2019"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
+"postcards.doc-2019"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
 "poster-mac-1.1"="vjpg0bc2f1qv0hr0kcxasymrchpwzn05";
 "poster-mac.doc-1.1"="8m0bk06l7y5bps6hn3xd40s6yb0m8c19";
+"powerdot-1.5c"="dq53xc4c6n4qpxcqkdazwn6b8v8z94f7";
+"powerdot.doc-1.5c"="ph5p9y3knn1w1hkzb79kdxcwkg6fhrbs";
+"powerdot.source-1.5c"="245bf49s69vlxk1f1mlbdyfhx68icgpj";
 "ppr-prv-0.13c"="8znyclbgzli74aiciayqn88dp4p7mvsl";
 "ppr-prv.doc-0.13c"="x2mvhsnrb56nm2s431xlb7fi9g8irbzx";
 "ppr-prv.source-0.13c"="g4r673h9bqfxkh1ih2qp9shhf40cbz95";
+"practicalreports-2.0.3"="z0zj7cw6zrywmjxwh1kv9qh4340a8729";
+"practicalreports.doc-2.0.3"="qnag6zn4rn2l8gwwrmrm2vminwrz8w4f";
 "preprint-2011"="z8qdsshgjd3dav562qnyx4vh9gdyga27";
 "preprint.doc-2011"="78x9z1vyl7vpcv39nj167bawb4z8fsnf";
 "preprint.source-2011"="i09zkvcpvapyf2jj7yhabmyrpxyf0gp0";
@@ -5571,15 +5683,15 @@
 "progress.doc-1.10"="2pylrgmyscf4p6ndba4jf87vfglxydrd";
 "progressbar-1.0b-4"="6zvflmdsm1vxkm3sjgmxpvl6jsw6vy82";
 "progressbar.doc-1.0b-4"="ahkr6nf44xv8czg4ffpx2qbxzwn7b24f";
-"proofread-1.03"="lix25w5bnlz5i6bphfh6zfckar476gmw";
-"proofread.doc-1.03"="jysqwnzqwa0km7bshh8w0fnbzy7zz00r";
-"proofread.source-1.03"="1k00cfxfza6dpsqkhn9qk9vzs054ksp9";
+"proofread-1.04"="910z66xdhwfcs7nja83ys89alq7blh8i";
+"proofread.doc-1.04"="8mk3ch8mi8b1xqcyhcpqqhzp917j8hva";
+"proofread.source-1.04"="q62jds90qpypw0hmi9lzdl72whniqp3r";
 "properties-0.2"="is4zxlnpayim96h9vifb3wazi4hcl018";
 "properties.doc-0.2"="pdpdn0rbg28dq9qgry9w9j2wvzrl9sxx";
 "prosper-1.0h"="kwjg42wqipj8w4rmilmrpsl5spr8hzmp";
 "prosper.doc-1.0h"="9bfspx1labf3y4hhy7a7sv8ccfmqw4mx";
-"protex-2018"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
-"protex.doc-2018"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
+"protex-2019"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
+"protex.doc-2019"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
 "protocol-1.13"="2mpbqs6r1sl8x79dbkzgg0vh0xxs89pi";
 "protocol.doc-1.13"="fzvldl69vw5kxljg5jm4qwcar1k2zg8q";
 "protocol.source-1.13"="x52qwan5dahs53bdm8dm450h2ljr7lsp";
@@ -5588,8 +5700,8 @@
 "psfragx.source-1.1"="6ikq1jhicgf6109gdnd3ldng0ycy920w";
 "pstool-1.5e"="1niq51k7cvq7kqlxymixhrhrg811rs3q";
 "pstool.doc-1.5e"="y68jbyp1rzd3wkpwvg17kiz5fsfczmi0";
-"pstring-2018"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
-"pstring.doc-2018"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
+"pstring-2019"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
+"pstring.doc-2019"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
 "pxgreeks-1.0"="hdqmxzcwyd5llq80fakhjvx8whjxs8mr";
 "pxgreeks.doc-1.0"="hdm2s76j6vya85lid9lrkzhaj6bkvlda";
 "pxgreeks.source-1.0"="1i5jmxhyphz2mdhl742ydrzam336ix5w";
@@ -5600,17 +5712,19 @@
 "qcm-2.1"="d9xas7ra5n0hzkc22s6ky3qr752i1i2k";
 "qcm.doc-2.1"="ljb5bhy71jscf6hdw6xmxxyy3jyfa8py";
 "qcm.source-2.1"="zywcw16m4hk75ialbg92bx98snk64hpf";
-"qstest-2018"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
-"qstest.doc-2018"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
-"qstest.source-2018"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
-"qsymbols-2018"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
-"qsymbols.doc-2018"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
-"qsymbols.source-2018"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
+"qstest-2019"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
+"qstest.doc-2019"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
+"qstest.source-2019"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
+"qsymbols-2019"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
+"qsymbols.doc-2019"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
+"qsymbols.source-2019"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
 "quicktype-0.1"="40znnh6yxbhx1i7gsr0icvy5avhm68nk";
 "quicktype.doc-0.1"="ljcdha8k0ngr0ymwqbqbblgyslybvcgp";
-"quotchap-1.1"="0w1mp53lag54byxcb4jmkxmyd015jkpa";
-"quotchap.doc-1.1"="mp5shidfjdswgg1nwp918ijn6fnf0l31";
-"quotchap.source-1.1"="9wdm00jz0za5w1v1cv6k3nbi555mviab";
+"quiz2socrative-1.0"="8wpvm4ysp513gkigsymd0d0sg3708m4r";
+"quiz2socrative.doc-1.0"="xpz8wilnlh12lf0dfjvmzcprjd7pmr4k";
+"quotchap-1.2"="f0cxvb4c0gzg40k03y6yjn1lgyjibx0v";
+"quotchap.doc-1.2"="mc84x8s62mhh3s2hvgzpw09i33klh59n";
+"quotchap.source-1.2"="s54vgrf4zzbxbcys17z8497y3wxz58x1";
 "quoting-0.1c"="jmw5a88k3r137dxxrvznxx9xqwh9yvlw";
 "quoting.doc-0.1c"="2a4d2w7b4jshz79hhz57fpq6vzgdvb34";
 "quoting.source-0.1c"="g238v3pr075wgknaj82ivn70z6fbf0gp";
@@ -5620,8 +5734,8 @@
 "ran_toks-1.1"="075bz1afn45n2klczxlj38jzl27ihxk2";
 "ran_toks.doc-1.1"="av9qzf5q7524xncg54dqiq5skgvqxdbk";
 "ran_toks.source-1.1"="qzsgi73xl8kkccb4rmv8hmhq3l83c8gq";
-"randtext-2018"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
-"randtext.doc-2018"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
+"randtext-2019"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
+"randtext.doc-2019"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
 "rccol-1.2c"="31w19kr365k8wkvkx91qqcw46fnl0sbk";
 "rccol.doc-1.2c"="80zx3h1b0wjw8qgv81kb4la3zd9hh9m6";
 "rccol.source-1.2c"="sqkkyhka856h4iirnvy4s8bdqlailgxa";
@@ -5638,13 +5752,13 @@
 "realboxes.source-0.2"="2sj5y6k08cwcp8fs0ay7z7ik02is7vly";
 "recipe-0.9"="ya2zz3axlaax8f7qkz3rwkfwl6kc7hqw";
 "recipe.doc-0.9"="nrgg002rpx1gw16yx9pl4xfiyjg2lk16";
-"recipebook-2018"="z2m105warknssz9d0b5f0fg13mdjrwqv";
-"recipebook.doc-2018"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
+"recipebook-2019"="z2m105warknssz9d0b5f0fg13mdjrwqv";
+"recipebook.doc-2019"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
 "recipecard-2.0"="ywrn03f3hy5hyzszpghn9rnjkj9a3kqr";
 "recipecard.doc-2.0"="1g67mikrdxmhpn4xgpnlriapp4als1wx";
 "recipecard.source-2.0"="7g35xa8kbcsrxxmp9xxk3rgvas158m9h";
-"rectopma-2018"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
-"rectopma.doc-2018"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
+"rectopma-2019"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
+"rectopma.doc-2019"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
 "refcheck-1.9.1"="llb529mc4gj9wf4zzs7jz9p2qgngwxy6";
 "refcheck.doc-1.9.1"="hvcfjpx9g9wiaqr70vmrpkgqy4i7xikg";
 "refenums-1.1.2"="8zxc6yyp3c597ydikw4zc36ri5xhlpid";
@@ -5670,9 +5784,9 @@
 "regstats-1.0h"="zkxc3cbq3fr5rpwv3lw3znrs9sn1ajmc";
 "regstats.doc-1.0h"="5ddawlcn7rqzs7i7mjjj8zi3q60qpal9";
 "regstats.source-1.0h"="kafv0h7yl5qhzgq4j4ay54cm9lqgd1w3";
-"relenc-2018"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
-"relenc.doc-2018"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
-"relenc.source-2018"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
+"relenc-2019"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
+"relenc.doc-2019"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
+"relenc.source-2019"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
 "relsize-4.1"="l9n0cv3vjwqlhxw58bnj4gh1qr0mbkh9";
 "relsize.doc-4.1"="bmv72xvd2n40rclz0a5cw128a4m1khl2";
 "repeatindex-0.01"="6zzlr3miqb7p0q3h1kyaly6ykzwjlq0k";
@@ -5682,29 +5796,29 @@
 "repltext.source-1.0"="rnsd3hg4mcyqj903igcsalp56pvg6g32";
 "returntogrid-0.2"="qvyji03hqf95f50pkv4jj773a8ryv694";
 "returntogrid.doc-0.2"="8s3dy7s20sl37qhayb7vz949k3nsz2k4";
-"rgltxdoc-1"="g7d4675zmc7imrbg4rza3kigjmf6sg2l";
-"rgltxdoc.doc-1"="m39ggnms3sy0wiaf86mg6ygzqbsllbvz";
-"rgltxdoc.source-1"="9g7iqdlxi87whvbnhm5jh1jassnrsxsk";
+"rgltxdoc-1.2"="897zfnrkkfzxzbl2gpdj4d4xaqjkyimg";
+"rgltxdoc.doc-1.2"="173dav41zc8h3j5idwhpjr8x7pw504qb";
+"rgltxdoc.source-1.2"="mdv38hd0wxkigcn2h94wwamr4qi11p4r";
 "rjlparshap-1.0"="584zbnkzrqjydg9hz42ayl9r806sd4cw";
 "rjlparshap.doc-1.0"="g4bkg84j236faakga1kl593bjw1p9wq6";
 "rjlparshap.source-1.0"="gys3kddji7j89c63a2kzz7z8xjdakpg5";
-"rlepsf-2018"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
-"rlepsf.doc-2018"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
+"rlepsf-2019"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
+"rlepsf.doc-2019"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
 "rmpage-0.92"="iqvgmj8ygy8mcqffj9wl5xr3l4g19w7f";
 "rmpage.doc-0.92"="nzm10y262ql87jqmlvbx8s5izflz8nk7";
 "robustcommand-0.1"="pclwgpigb6jf5myrirrgb35jdsrc1r54";
 "robustcommand.doc-0.1"="8236m9s2klnlvii7733r9vkr28ma0758";
 "robustcommand.source-0.1"="a6wczmjbnvfqfqg0cxbnq7srr71w3l6c";
-"robustindex-2018"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
-"robustindex.doc-2018"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
+"robustindex-2019"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
+"robustindex.doc-2019"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
 "romanbar-1.0f"="77m3d5fv4abc2xx6nx5cvzpkshnbkmr8";
 "romanbar.doc-1.0f"="7ha3ybbzivbkc7fllhfjv1mlvq20k6i0";
 "romanbar.source-1.0f"="3jn06jd260yipslvs8xjflwd49pzrcqb";
 "romanbarpagenumber-1.0"="x8gs1z6nn976praar888l74avfd1ha6q";
 "romanbarpagenumber.doc-1.0"="cyfpy1g5g14jlxl83a7ngcl631297a58";
 "romanbarpagenumber.source-1.0"="qs1ia3flkqsd1psbha7bfms1anfg336v";
-"romanneg-2018"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
-"romanneg.doc-2018"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
+"romanneg-2019"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
+"romanneg.doc-2019"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
 "romannum-1.0b"="8l5hrx8svnn1pv9qd3c7y6gxy25fr5r8";
 "romannum.doc-1.0b"="1wlc0m18vg6vl8sgxvj4i3ca4kyfl9c0";
 "romannum.source-1.0b"="h9rkrds6v7b0pvgap090ja271k5jnc7h";
@@ -5715,11 +5829,13 @@
 "rotpages.doc-3.0"="fh2a3xcl4f5mq95d2ibsgmml6pq95cd1";
 "roundbox-0.2"="g1k35s2jqgfm0ih16zf59w470kzv450f";
 "roundbox.doc-0.2"="97dr0pg7689mm504pld75cmnd3vq61rb";
-"rterface-2018"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
-"rterface.doc-2018"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
+"rterface-2019"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
+"rterface.doc-2019"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
 "rtkinenc-1.0"="bgvb6v03sbayxss84awkaa98i1hza4rm";
 "rtkinenc.doc-1.0"="ggkmbwp3kxa1zs4c5f7v3r5lk5v8pdjr";
 "rtkinenc.source-1.0"="iavp7gzq742v267gf3hjq8vwi1ywqfbj";
+"rulerbox-1.01"="6mg6d4nwip0qmcz10ykpl4rd204xdj5s";
+"rulerbox.doc-1.01"="y5wpxgc3m84kkxi1xip7l3jjcf8b36xw";
 "rulercompass-1"="bhgf5s2zj8xdxg5jhh3c4wdfyv87p9j4";
 "rulercompass.doc-1"="bc9m9y239rjdnmbrj6s6rmqadmd32mvd";
 "rulercompass.source-1"="9l57jpav5vpsvsg42gw79mym778q7623";
@@ -5744,6 +5860,12 @@
 "scalerel.doc-1.8"="bpamgzs7nr8gfam69mad8qmgjs6hy909";
 "scanpages-1.05a"="vl8kzqsj7dlc21h9148c4cgbrwg92k2w";
 "scanpages.doc-1.05a"="8rc3sz2jw47xz3rz25dfw7g3gssndz7b";
+"schedule-1.20"="h730zhbkd5wwb6jmvjwaaifdn4sia6bj";
+"schedule.doc-1.20"="m45jrx0nks1q26j75h9s9f3zacdc433q";
+"schedule.source-1.20"="gsclgm1vyfv8gnb5lcrgjz35ipvi4wv8";
+"scontents-1.4"="n7xm5mldbpk0kkyhda1kdramgi8d2v12";
+"scontents.doc-1.4"="8nv7r4i98w7bvw8fbi511d3nbcbkg8a5";
+"scontents.source-1.4"="shzh9ipvvkp6qb524qcx58x14xa9q2p0";
 "scrlttr2copy-0.1d"="jw87bnb7phfp7nmvp4gvbi6nhfwifqph";
 "scrlttr2copy.doc-0.1d"="6pfnhhnjm97ap2zbi5bjj011wqbr2yg4";
 "sdrt-1.0"="2pcbwfywj14n08187899xjdhrjr3zzlr";
@@ -5752,8 +5874,8 @@
 "secdot.doc-1.0"="ngfan1hhwcnppgfpvkm0y0a3bjab1fz3";
 "sectionbox-1.01"="mxhi294c4y7knbwiz1i0h4akmlgi0v6d";
 "sectionbox.doc-1.01"="2gapb7fvm8l7m021gp281j5vdq61s1if";
-"sectionbreak-0.1c"="lg9s5shx46mmzv9kvkip05c55d4v0ca8";
-"sectionbreak.doc-0.1c"="9sfr303lfdslpddyqxlvc4b8c0hazqrd";
+"sectionbreak-0.1d"="gpda9n0rg3clldz9yck9fqxhz7gkcvjj";
+"sectionbreak.doc-0.1d"="rvb6d4l8zblpcacs19pchyj1b56g0587";
 "sectsty-2.0.2"="7677w338qg7wxalski08070328f4yjcc";
 "sectsty.doc-2.0.2"="plwwncg7vkhqrkkh2b1a6wpp57h6x64q";
 "sectsty.source-2.0.2"="r3z90f7w1nw4hpn61fcrn8iy5m1867jk";
@@ -5765,8 +5887,8 @@
 "semantic-2.0"="ky4ggvzl5171nda0329151c9vbaxs7gp";
 "semantic.doc-2.0"="b1hyb592d0xx35p5dqppyfgykg37xx4s";
 "semantic.source-2.0"="4fwjw0axn8d3ychsqmmdy6x73ckciv9p";
-"semantic-markup-2018"="iclw8kk8b8y3hz5j1jq8n4daa5fpnzh9";
-"semantic-markup.doc-2018"="1g78rz3l215812hr2xvbxf804lzq0id4";
+"semantic-markup-2019"="iclw8kk8b8y3hz5j1jq8n4daa5fpnzh9";
+"semantic-markup.doc-2019"="1g78rz3l215812hr2xvbxf804lzq0id4";
 "semioneside-0.41"="62v5zs95qqi1i0xpm2jmhcx9pa24jymn";
 "semioneside.doc-0.41"="2z2azzz07gj105jrarifhx3ldjc9v09a";
 "semioneside.source-0.41"="31d1fggm0km56jv6qr5yjv7da6y0ifsv";
@@ -5788,10 +5910,10 @@
 "sffms.doc-2.0"="kqfjz0yn615f068v6349lgdp72gw2wkk";
 "sffms.source-2.0"="h5sazi91347l3qdkn6ghw6ywyp5ddryh";
 "sfmath-0.8"="mkmjhc5jg8ylbjdzx3yal2r3spxv3npz";
-"shadethm-2018"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
-"shadethm.doc-2018"="ddw9pngafxfcx4cl0fh4dmnaqcfqnyfn";
-"shadow-2018"="xifs7y18wdkg1kj656swlvx7cpswmgma";
-"shadow.doc-2018"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
+"shadethm-2019"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
+"shadethm.doc-2019"="ddw9pngafxfcx4cl0fh4dmnaqcfqnyfn";
+"shadow-2019"="xifs7y18wdkg1kj656swlvx7cpswmgma";
+"shadow.doc-2019"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
 "shadowtext-0.3"="m2qsn137ij2l4lq4h0s5mpw1vvic0k4l";
 "shadowtext.doc-0.3"="894a2s4awyxc0vc7d94fp0dfahjq4021";
 "shapepar-2.2"="hps8xx8z0vviywd61vhkh8l758c0gndd";
@@ -5799,8 +5921,8 @@
 "shdoc-2.1b"="grva4fsbp32pq2x7g4wb415y5cmf4cnx";
 "shdoc.doc-2.1b"="ba16nzmjm53zjq81w2zb6npd21wjfg31";
 "shdoc.source-2.1b"="mqn7081yqr3l1yhv3cxxrq6jwnd2h6sq";
-"shipunov-1.1"="1k15najivxdmqvb3a6lm4wky5mi31a2r";
-"shipunov.doc-1.1"="x0hc94hmncixvhicnja1kpd6y3gqg59w";
+"shipunov-1.2"="y2wk01lmmvjgcfakrn8299qxdg01k0lb";
+"shipunov.doc-1.2"="2j0rf5g6w08szbw6w5wnh45sa9x6hlw2";
 "shorttoc-1.3"="win5ajcivg0ipf38dx85vhhmfjfl1scq";
 "shorttoc.doc-1.3"="9msyjwld245v4a3qvl87q9wxl33rdyg4";
 "shorttoc.source-1.3"="frmzabjdlmlg6n8ds6g45wcm1qackwxw";
@@ -5835,47 +5957,52 @@
 "simplecv-1.6a"="yif1v302airw953py87hf8xw4vdvcrh1";
 "simplecv.doc-1.6a"="172h9r26s8zjpla2g0ah86z1r9k06cy7";
 "simplecv.source-1.6a"="rqyp3gq1k6mbbfmvxi437dxh50qrp7n2";
-"simpleinvoice-2018"="kib8y509s61mzcg5rzcc7s30ii39f88y";
-"simpleinvoice.doc-2018"="47f3zyl0g351p2xihryq6p21qrphi62i";
+"simpleinvoice-2019"="kib8y509s61mzcg5rzcc7s30ii39f88y";
+"simpleinvoice.doc-2019"="47f3zyl0g351p2xihryq6p21qrphi62i";
 "sitem-1.0"="vkdrrirvcya04rdwr05q5ah2r8qz68d9";
 "sitem.doc-1.0"="asga3xfkxjg1f7zc6jlnmra2bjaxw00k";
 "sitem.source-1.0"="9i52d6r144z0067v8skq23774dg8fk1c";
 "skb-0.52"="4abwsdqy977aj45v4frjhf5p4kqi08aa";
 "skb.doc-0.52"="hgwacvlqab84b3nv6rnmd79irl1ilzkn";
 "skb.source-0.52"="v3b3ggy38vp9z5b9n802dg0xi22yjpwz";
-"skdoc-1.5a"="1pn4wy7wgcfp5qywyh1b78ry18dydwzi";
-"skdoc.doc-1.5a"="n8syc29cmi7bn5j26apq918j617r9q62";
-"skdoc.source-1.5a"="z98rhl8d51cvwb8xydpixv11naz75gpm";
+"skdoc-1.5b"="s8ra69c9il3rmxdxrxpnpzndzyl6ka0h";
+"skdoc.doc-1.5b"="1fcygnqycyj387wgg3ngqgl6smby3nw8";
+"skdoc.source-1.5b"="a6ag2iwqkmrxh0x7dwksxax40n361kpf";
 "skeycommand-0.4"="w3sqnw1xyx8l1qb9h7j8jg8z3f6xsnvi";
 "skeycommand.doc-0.4"="y8kcbdpydw0an53vfw75nvs8f5rhp5f9";
 "skeyval-1.3"="r39dajvb7hh6437jbq3gly44i22im66z";
 "skeyval.doc-1.3"="g9gr3bwzslymzx3a5kja4n4s1n0ns5lm";
-"skrapport-0.12i"="bid76m9mdd8y74d3x23lj78lvsrv50v3";
-"skrapport.doc-0.12i"="kdkw1ask0xhh9bp8nzzwk04didnym418";
-"skrapport.source-0.12i"="5slqr4a92gn361ws6ddi1ss5yphvkamk";
+"skrapport-0.12k"="3hili1y9sl6x37pixcsz33a0r1aqqvg4";
+"skrapport.doc-0.12k"="0w6nri4jmaqv9vi8rpg7wd9b68jk58fd";
+"skrapport.source-0.12k"="11fvh9n4pr8xsgg3zwvdxly3z9qrk87v";
 "slantsc-2.11"="mnqakna7b6f0pygw4c66jmxy2r2srpyq";
 "slantsc.doc-2.11"="p4z9p7p33xchy1vqjqpiyw38is5irja2";
 "slantsc.source-2.11"="8c2vrhsrgfpqb47wxik1inq8xpa5r50g";
-"smalltableof-2018"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
-"smalltableof.doc-2018"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
+"smalltableof-2019"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
+"smalltableof.doc-2019"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
 "smartref-1.9"="7pvgdpjcdvdxbkb1ag4dal46c1hg4d53";
 "smartref.doc-1.9"="hj0c7i3climwjy64h98ddab5skczf3mh";
 "smartunits-1.2"="z3kj39xpdk8pa7bzqdjd6g6qlhwx2vhx";
 "smartunits.doc-1.2"="r72h43bvig293769q6s8glhdlrcg9836";
-"snapshot-1.14"="iysapgyh7p2y0knll3x6d1xqd15xh8hz";
-"snapshot.doc-1.14"="1ivfld35ix1qs6qdfrpkjxxgljzh1qz2";
-"snapshot.source-1.14"="nr79crz9xys513rdpv5ikd0dq18gmbsx";
+"snapshot-2.13"="pyg4abki4d4zy828r5spb45fax7b4glb";
+"snapshot.doc-2.13"="xaggw13x7izmkhcfl92ldqnzcz398zzh";
+"snapshot.source-2.13"="7hjbi6p9bxh9a405dzbhjlxmwyafckfm";
 "snotez-0.3"="vwnz8rgz6lkw0dvpq1m8xygq1qwrgn62";
 "snotez.doc-0.3"="8gxvxc7x918mf5b63b7n3wvp99ix5ka8";
 "soul-2.4"="161jbj81y5m8rclwl6z8pwpbpc0axy56";
 "soul.doc-2.4"="lssr7w6ry8p02mzmwyx7a2zzss2vmbkb";
 "soul.source-2.4"="9w0g3y2pqkzsbg8jdr1vkmn4wlrx1b2i";
-"spark-otf-0.04"="ffinni2ipxnxx47dzwpd2flvqfibqzhk";
-"spark-otf.doc-0.04"="i4jmg2h3nj27y585znj2mmdfgj231hh3";
+"soulpos-1.1"="908fbjhq1zkq0p3qg4ihs62zxd18988i";
+"soulpos.doc-1.1"="7l3pl7mbjmkpr9fwkrdcyjkhqvw2jfdn";
+"spacingtricks-1.2"="84f9wq44xbh1qsy3q6dnihgdfsdrax09";
+"spacingtricks.doc-1.2"="n9f1q4ph131jk4wfw5nk0991667j2403";
+"spacingtricks.source-1.2"="8a4sl2svxhs1wpwy5mz4iylzl701mfb6";
+"spark-otf-0.05"="9siivrc6cbck4p4vg4ly0r1b37h7lw28";
+"spark-otf.doc-0.05"="y4v051bqbhwc91ipzdfqc1yqrzd5hg0x";
 "sparklines-1.7"="swn54z70rhmbk917dpl37mfr3sx21525";
 "sparklines.doc-1.7"="mjpd57symvhnv6jjzynalmpqy3l4szfa";
-"sphack-2018"="gdrva3zalq63d7j737247ja9a22abdxq";
-"sphack.doc-2018"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
+"sphack-2019"="gdrva3zalq63d7j737247ja9a22abdxq";
+"sphack.doc-2019"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
 "splitindex-1.2c"="72wrcsz1vmka4qal90la093asf12hs6j";
 "splitindex.doc-1.2c"="gf9j1mi46ih0xanr4lzl43gpfjpjws14";
 "splitindex.source-1.2c"="1y60d6s6ws70dgjhn239h4x8c77hjmdz";
@@ -5884,21 +6011,21 @@
 "spot.source-1.1"="hgsxqd8czj5vmy43g4mvvc3954vsmdi9";
 "spotcolor-1.2"="rz2zax5g35slfai6rqmnqslib7wsi14m";
 "spotcolor.doc-1.2"="yhcw8r48q7vi0iryn18d1z746ij1wpkp";
-"spreadtab-0.4d"="81i7rnrzj35f1y1i25m8z2zmknf61m5d";
-"spreadtab.doc-0.4d"="3xjp4amyd1lbj2j2vbq55gjl27f361im";
+"spreadtab-0.5"="9hd8rpqawnk531m802dzwf9bgq2h6zbx";
+"spreadtab.doc-0.5"="xcwr817pa38amnm8agrbwgh3c4bb2fnm";
 "spverbatim-1.0"="cpn7cc2f4ila3xfq8yrr5456y2p5navw";
 "spverbatim.doc-1.0"="bnw2p20z8ga1zynk3v8khpgfgbjb5jpx";
 "spverbatim.source-1.0"="ivjx22khzgn0xgzbkb5y8q36i9wh3n49";
-"srbook-mem-2018"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
-"srbook-mem.doc-2018"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
+"srbook-mem-2019"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
+"srbook-mem.doc-2019"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
 "srcltx-1.6"="pamgi7alvxixzd4dy68p502ifdlnz7fa";
 "srcltx.doc-1.6"="1lja1az3vfzxkf2d7pl4cyxbliqml0hc";
 "srcltx.source-1.6"="wk74304mhb77p653l52gmhc990ic0dfh";
 "sseq-2.01"="rypda83sq8zgcnd6fmip2nw85dpqkb2h";
 "sseq.doc-2.01"="2zw94ka78zap6914m7r3xc9slzjr0vig";
 "sseq.source-2.01"="1fw0mc1crac3fps3s62rskzhn946zffb";
-"sslides-2018"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
-"sslides.doc-2018"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
+"sslides-2019"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
+"sslides.doc-2019"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
 "stack-1.00"="p32bbliciimyyfpizvi0cdrw7nzkmlx6";
 "stack.source-1.00"="x3hkdwa9hip4zp8paipd8yjjz10pysn6";
 "stackengine-4.01"="nivan4carz07sqpiymvlkjxswkqa9mjd";
@@ -5915,9 +6042,9 @@
 "stealcaps-1.0"="8q97ghfyfnsmjp2jw2brp925hr82sprn";
 "stealcaps.doc-1.0"="3sdy3dqpi4axamhvshixk7hdqmspv446";
 "stealcaps.source-1.0"="xzysv6jy1bzcp1dww6imz9358id28lqf";
-"stex-2018"="rnkv33n0w6nhfz91qls1a7nb2xjc7i6w";
-"stex.doc-2018"="l7fpwhdxi3q4qgbsi3wb303hifwz96kl";
-"stex.source-2018"="vcvwm90hc222rm3b2z2iryfz869fzaf7";
+"stex-2019"="gaf5gfk5kwfy1m8m4wwfkhx0cppxj58b";
+"stex.doc-2019"="rga6abj8kqig904y3wm4lmzi7lw9jccy";
+"stex.source-2019"="x7x55ags2g5ks59zpcphv1m37dc91192";
 "storebox-1.3a"="kc1a9kwyd31s1376b16hidk21cz2q2zv";
 "storebox.doc-1.3a"="qhjcw6fzxlkzpgnk0ra7l6fqp10byiv6";
 "storebox.source-1.3a"="6zzmya7fcjajy73i8iys9584bldh18z2";
@@ -5936,6 +6063,8 @@
 "subdepth-0.1"="p59zl1bmd52xsf51l1qf4ij5j7qj9f8w";
 "subdepth.doc-0.1"="973874d1ri46l5ixgzrlqxf09lxbhq3x";
 "subdepth.source-0.1"="sdij1y3j4dy8y19pb4aw2azb48i5rssi";
+"subdocs-0.1"="hab4i435srvd4mxbbd6jvg2dpcdcrxri";
+"subdocs.doc-0.1"="knk6a3wn83r8dnqigzx71rr2zn78v25k";
 "subeqn-2.0b"="26vzla83zaqnkwf1llwly1jnmb9dvgnp";
 "subeqn.doc-2.0b"="121c3hsq5lnfx05k85kkgym9a6554ilx";
 "subeqn.source-2.0b"="17dmj6k881xy7cjmx62ranh04x1j946b";
@@ -5960,9 +6089,9 @@
 "supertabular-4.1e"="51mc5fbbk13mmpya5n8lrx5yyk4k1167";
 "supertabular.doc-4.1e"="jmm0dxfps5p36r6ds1fpx00spx10rrv5";
 "supertabular.source-4.1e"="0wa3rcn787hn4707zbdm0jdfflp0dyf7";
-"svg-2.02b"="s69n2z92bgdc25yd7ny1ihxqvjny31vj";
-"svg.doc-2.02b"="vsbpx9b5qlpdnhc2fny91vg2namdf816";
-"svg.source-2.02b"="h35m5a5r872l2fq5iz1xbv93q6dlrnxz";
+"svg-2.02c"="krfz6gsvr8kx2797caw886znzq4vzhjm";
+"svg.doc-2.02c"="irsvz87m3xqfvz3pvagl5xh0fgfx9pz5";
+"svg.source-2.02c"="wcjj10nzrk6qlmp2402ppl5k2j1nd522";
 "svgcolor-1.0"="ld3wccj2cxdhv0xyz7qmxcvr6saab2s2";
 "svgcolor.doc-1.0"="nj7w6bihmr8hmvcykya9nkxlkhmlcw6r";
 "svn-43"="hv7xk90h5qb4ilx7f4a6zybijnhba9ic";
@@ -5974,8 +6103,8 @@
 "svninfo-0.7.4"="761kpr460h6nfczsf1vakdj9r947in1s";
 "svninfo.doc-0.7.4"="qlhr7rj98m7g55kgrms1jjw3wp3k7z4v";
 "svninfo.source-0.7.4"="xsf1rs0ar8ris0dh8qbslxwx5i0ci6ck";
-"syntax-2018"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
-"syntax.doc-2018"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
+"syntax-2019"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
+"syntax.doc-2019"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
 "syntrace-1.1"="02njfsdqh7ssnjcsnpmzi3iwxz2yfj9f";
 "syntrace.doc-1.1"="v5q7643l6spib4kf6mma67pl7xm8aaqc";
 "syntrace.source-1.1"="qqmfivdpilm8qp26v7kf3lcvfp582jv0";
@@ -5985,8 +6114,8 @@
 "tabfigures-1.1"="spwphj1m563rip8gq09fb97mz85yqwiw";
 "tabfigures.doc-1.1"="l68l551i2skm8yns6r2f1ji0kgxhx56a";
 "tabfigures.source-1.1"="6r4li6abzpgpv008xhy0x3lyywpy2w5d";
-"tableaux-2018"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
-"tableaux.doc-2018"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
+"tableaux-2019"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
+"tableaux.doc-2019"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
 "tablefootnote-1.1c"="axmzyplpbyfmhfx7jsijk3aaqcyc7c9k";
 "tablefootnote.doc-1.1c"="z65aphzdy953r1r3a5lzpvizmhs638g7";
 "tablefootnote.source-1.1c"="a1qbk028v26pld26654hsl3j3fc90js3";
@@ -6001,13 +6130,13 @@
 "tablists.source-0.0e"="jwabyps9hwly3s2xx4l0vs3xwkhg0a33";
 "tabls-3.5"="gdkxv2mfqga5w7pmc8dszx9csma95imb";
 "tabls.doc-3.5"="dg078n18gai6glbgwh0p45560s4zjs4y";
-"tablvar-1.0"="y3my686kb6dyq3sa60237qy54qnid8w2";
-"tablvar.doc-1.0"="8gkl8s04ck46xfjb4jfplngpmlwhhpza";
-"tablvar.source-1.0"="rgn3danb8mnfayr13c1c5gq5cr4nf1pq";
+"tablvar-1.2"="ap3wf7pg37i4cg5cyjzmns9kk4hig3gr";
+"tablvar.doc-1.2"="yvbnydls66gsbdmigljznnf9qf2h53j5";
+"tablvar.source-1.2"="9hjw3agsihfc7lwapgbmwrl9sa03l9zv";
 "tabstackengine-2.10"="df71gwvw34lf6xmarwwmpl897zyar75j";
 "tabstackengine.doc-2.10"="yi5yn8dj15sihk5hdwrjj8vmh3kgkgz1";
-"tabto-ltx-1.3"="cgxvfk7sdxxpczv7x1jw5460lwg7bak6";
-"tabto-ltx.doc-1.3"="irjpmicaxpxw947w4p3520g18cg27nmn";
+"tabto-ltx-1.4"="9wp6kwifrrzi7xf9m8zgws5ym0vmln5g";
+"tabto-ltx.doc-1.4"="09g64mbplmfgkxhsgqk1rwqw2b8p36yq";
 "tabu-2.9"="pvg42mixn7f8vvz4ll8a5y927hhzh82s";
 "tabu.doc-2.9"="zsybb13fpnbffljq4w7vcpl3nmvg5xk8";
 "tabu.source-2.9"="88pnpips4j95nj427mydnjzqa5nmb2f0";
@@ -6022,24 +6151,24 @@
 "tabulary-0.10"="4lnwhfr4bnawqgc5hvmp9m5gi6dmw679";
 "tabulary.doc-0.10"="439yc9m6b5na2i8kg8axqgx2pwhlv2aa";
 "tabulary.source-0.10"="x6a4q2rfm6z97ylwh2skqcpjlf7kap5s";
-"tagging-2018"="hai0v2rkgjvzxg7f35blqchqpvax05h4";
-"tagging.doc-2018"="nkfw3b02dgag42a8zan5dvlj0dlkzb0k";
+"tagging-1.1.0.1"="x89sfr6zw3szcw463a7hyydjancfr14k";
+"tagging.doc-1.1.0.1"="svs9ig2xs2c76mmyalsfsgvzw7x1x6zz";
 "tagpair-1.1"="cw696a7ccw159f38sa6av7f2cr2w5mcl";
 "tagpair.doc-1.1"="n06xlqq579by3hq5rwsmh0l6x1damdrs";
-"tagpdf-0.50"="sgcp74gpanavbvmkaxw59q2705hys39z";
-"tagpdf.doc-0.50"="sldrrlv419850zdmhhvbvb3dxarvxm6r";
+"tagpdf-0.61"="k0xs4dxr3f3xggz7kyy1yiz2lgvh70yy";
+"tagpdf.doc-0.61"="p7fsdpx0vlsrxkx8h4mw4vhj8i65q3lb";
 "talk-1.1"="w3vffx02kp18gxkk2khsnhcpzhd6kvjq";
 "talk.doc-1.1"="1hcv41gh3rcxncfqv75w92a2hdnb55nq";
 "talk.source-1.1"="mvqbaz1vwya42g0idhhp948dxmb5z0q8";
 "tamefloats-0.42"="biipxghplzwd03drjpiisijhdzr4i04i";
 "tamefloats.doc-0.42"="mnmrchq7k8n04dx35r1plzxcw46hx4cj";
-"tasks-0.12"="a58wppbccpfxnmsc5g04qvpf0zyv06gk";
-"tasks.doc-0.12"="pqz2is810r3nypqn63w74xi8fg8vp2ap";
+"tasks-1.0c"="26ax537zl8bnki6rgzv9glgismvljdlr";
+"tasks.doc-1.0c"="pjf8b495x5rl68wiia2g7dhy4x651wcm";
 "tcldoc-2.40"="r9i94qmf78q9j3adkzfly43riv2bzdmr";
 "tcldoc.doc-2.40"="fh6a7m41gxn4988pwr90ph25gg26ky40";
 "tcldoc.source-2.40"="p007ccff6w6d3nlpsp3q476vg9m4rjq9";
-"tcolorbox-4.15"="1308izj2xh5vimgiyzlb7pgxm2r1bsma";
-"tcolorbox.doc-4.15"="iinfp87ac4277im4fl7q53xc4rggvbpz";
+"tcolorbox-4.21"="2w7jrqw2ryfdzidirnxcj8n05dy7j3px";
+"tcolorbox.doc-4.21"="lq2kg4ks9amfj0cm8z87v3izi8s202cx";
 "tdclock-2.5"="dzb2gj8y1dv7qm5mn7xfgzdq9aydqjk8";
 "tdclock.doc-2.5"="sgdpiwcnkifms1lx7xicl3xj194lfhbg";
 "technics-1.0"="cav50vxgp01465wa07bmza4blgsv49wh";
@@ -6047,9 +6176,9 @@
 "ted-1.06"="2rd9qzrp0i0yk9qzz4g2zsjafswd6m91";
 "ted.doc-1.06"="02zyzvjncgpgm4iy2nxkx209l8dhgkm2";
 "ted.source-1.06"="isk5yz52jxsdqq8vzcvr99xjcg5sy7pz";
-"templatetools-2018"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
-"templatetools.doc-2018"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
-"templatetools.source-2018"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
+"templatetools-2019"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
+"templatetools.doc-2019"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
+"templatetools.source-2019"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
 "termcal-1.8"="brb1gf3h9zaa07s0ppbvgjiava0yh9k9";
 "termcal.doc-1.8"="3k8kgf7fy8b24n2jbx79a55awzs54far";
 "termcal.source-1.8"="k680hlhzp03wfxnxld82sgsnaggfw38g";
@@ -6059,12 +6188,12 @@
 "testhyphens-0.7"="xn9idcggd15gxl0iaphmlafpwq8ywilj";
 "testhyphens.doc-0.7"="fpkvgpd63hz8zyra7l22rgb9cr4yiz3a";
 "testhyphens.source-0.7"="fg7vps18xgf21gknlbcdikxn1yswafx1";
-"testidx-1.1"="2xv4ikmbq3d7njx8bd658hfmbn3y98i9";
-"testidx.doc-1.1"="6xdn43y612rixkk7v6f44c47znvrp3d0";
-"testidx.source-1.1"="3pnn4igzpbkgc7n1zgiq67wm0yf4f7l9";
-"tex-label-2018"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
-"tex-label.doc-2018"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
-"tex-label.source-2018"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
+"testidx-1.2"="r8p1fcwygn1i6qay7bj0g3qsh1xbshyp";
+"testidx.doc-1.2"="42qb4bpx6fiqg785ij9nsxm23mj291yz";
+"testidx.source-1.2"="kigppvv8csnxmspyd74928qz4r829ghy";
+"tex-label-2019"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
+"tex-label.doc-2019"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
+"tex-label.source-2019"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
 "tex-locale-1.0"="l1ivcvf81xx7g4qm4jr778ssnyzf6m92";
 "tex-locale.doc-1.0"="01d792zq1yc408zzs3lpx3zffv7bi85f";
 "tex-locale.source-1.0"="ak4a3mf5q29g02rx6iy7yv2kp51gdqjm";
@@ -6087,27 +6216,27 @@
 "textmerg-2.01"="k9zrf9l5a75pzf1c30fxx48kly07m2rj";
 "textmerg.doc-2.01"="bjgcbyn95fi8kpq91kkhhxbarw5dn526";
 "textmerg.source-2.01"="4kws4jyfmh7w7z258clr3dd4x7k98iqj";
-"textpos-1.8"="hfaks20dxsil769n9s0kw2qvsfgvxn5q";
-"textpos.doc-1.8"="rnzjn5x53vvdm3almzs2zyd31z112hzc";
-"textpos.source-1.8"="pxmp47fyy20ni0m5i9iinw20vjl07jlw";
+"textpos-1.9.1"="9y69phigp9a3mnpxm8pz73scqkjrajfc";
+"textpos.doc-1.9.1"="xlp3qhzsccwq3dsxs86pn66kjd0hpnfa";
+"textpos.source-1.9.1"="617mdm7hify7hwjc7w0af3fnc0d65hs1";
 "textualicomma-1.1"="99h4pfsjnfy89xpwh4djj8fnhkwwxi3z";
 "textualicomma.doc-1.1"="10pyym40s0jszs7632hqxna94x3czwrm";
 "textualicomma.source-1.1"="14fqq28b54pw4b65kv1kwxif9fcr175p";
 "texvc-1.1"="x48959hg957jqqqf4ijb6wiifbrm71sj";
 "texvc.doc-1.1"="pxgl51bvjh0dq9mbs3p65v8giqz5p4zd";
 "texvc.source-1.1"="snic6z1hg65qvljsg4c5faqrjy7hk9qg";
-"theoremref-2018"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
-"theoremref.doc-2018"="846wd88w325ganigw2g9rvhcs9is6ziv";
+"theoremref-2019"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
+"theoremref.doc-2019"="846wd88w325ganigw2g9rvhcs9is6ziv";
 "thinsp-0.2"="flil5f3fr9ghxa0bffvqy7wackrg7q27";
 "thinsp.doc-0.2"="pk93sirkywa7hmqggnapklyz0bqy04c2";
-"thmtools-66"="qy4wdqkznn7cg4jpvqi4mjbnqmb2258z";
-"thmtools.doc-66"="mksaav3wkw6z13hz1y0idzh5yzjp6kx1";
-"thmtools.source-66"="znn6rd3fxncja9cr8syivv89r14zpwpd";
+"thmtools-67"="9hby99z4aghnf12c5rdgk7vihj40i2cx";
+"thmtools.doc-67"="y5461jls5a09p7q2ndgdn94ss286jc6j";
+"thmtools.source-67"="v96bsmdp8n9g899sprc0divhd43svw8h";
 "threadcol-1.0"="jwbi62xbc0cmzv65spvx1i6dijg34w6n";
 "threadcol.doc-1.0"="j6v3gi6c2cnhs8z5pm0j1cwg7ayi4hxj";
 "threadcol.source-1.0"="0irgk3ajakrjf1bgbfd71qvpy35fklmb";
-"threeparttable-2018"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
-"threeparttable.doc-2018"="4y119m8549dk5kv4sbhh614nijlv0vx5";
+"threeparttable-2019"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
+"threeparttable.doc-2019"="4y119m8549dk5kv4sbhh614nijlv0vx5";
 "threeparttablex-0.3"="7slkq5cfxlah9ckr408l1wqxxc9x5hkh";
 "threeparttablex.doc-0.3"="46r8874q74dgja9ivs4i3wcg35lwlv0b";
 "thumb-1.0"="knz4ixhqam9i803vpaq6qmghx6n7h9hq";
@@ -6122,22 +6251,22 @@
 "ticket.doc-0.4d"="c6d6arnzv37pczxs39h99s1isldk36fi";
 "titlecaps-1.2"="lf0q66qrj3kw5hs90fbhr93dz7ik1gx8";
 "titlecaps.doc-1.2"="qb1mj8p7srqz37f77wqs1igfcpl8wsg8";
-"titlefoot-2018"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
+"titlefoot-2019"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
 "titlepic-1.2"="psapnhni7mhwd94s2qmki4hdlpbq3dbs";
 "titlepic.doc-1.2"="c363symm32mhjg8cxw9j4xsmyhdl58kg";
 "titleref-3.1"="1ai0w05ipy1dlxm0n78jzvpdgp42j19j";
 "titleref.doc-3.1"="6rgspvqn51kiw9gpp9bc59jxlyk654f6";
-"titlesec-2.10.2"="25z9zccw5pikdak7045kw5651iz82vb8";
-"titlesec.doc-2.10.2"="g8gx5alx5k8x4hf5vls0hg4w0jlg736r";
+"titlesec-2.13"="69aqh5wsyycjczrw250kgp2ay0bv0qm8";
+"titlesec.doc-2.13"="g7s6fj2s3g0mj2kh69q0c72y5xak8i12";
 "titling-2.1d"="hzs20qk476wwff6ammqfv863zc50qnib";
 "titling.doc-2.1d"="m84ffgjikqkxfa4x86g7gljhpq1snxva";
 "titling.source-2.1d"="kr5gx6mfggxyxyh0c2pv1y9fzhzw6dq7";
 "tocbibind-1.5k"="f5kf8lxqhg6hn7qjnxxmrwphi11ndgk6";
 "tocbibind.doc-1.5k"="v5vwh1sm8bzqky6lbabvk6j3gjp8bxx6";
 "tocbibind.source-1.5k"="xq2f0iby2zafyghn0a9pjbvv1hw6z6fb";
-"tocdata-1.00"="bjqbdm0a8rs8d8xqn6f5hhnsjq30z0hm";
-"tocdata.doc-1.00"="zrx45nqv3p6adwq3cafhc41h991lyg75";
-"tocdata.source-1.00"="pi5qg0mv6l4rfrf66458lm04yczycnzv";
+"tocdata-2.03"="k4q3rr13qywdl798lg7rx8zgqyhgc0cf";
+"tocdata.doc-2.03"="11pgqzlzvx5hxgw2fizyjrq670d1154d";
+"tocdata.source-2.03"="adp7jfmqm6p1l7gn7p07j7d18jzg7i63";
 "tocloft-2.3i"="yjmv81gig4vic5qsvg5mlnzgksspjgyj";
 "tocloft.doc-2.3i"="nh0fvc66rrd9ckyxv9gyackd180kikni";
 "tocloft.source-2.3i"="3mcnwnx824kls2j5ln3b80hcvdk8ch51";
@@ -6150,15 +6279,17 @@
 "todonotes-1.1.2"="k9dcrj6jpppwhp1hkibcdpwnpm3fmx32";
 "todonotes.doc-1.1.2"="6lwri4ybslcrfphvg8cah3fsw1lv5liz";
 "todonotes.source-1.1.2"="xyjg7n8m9aq7ykawy9lsa677jpylz730";
+"tokcycle-1.1"="8gd2yggcky1ag3p84z3cm7bprv58qxp9";
+"tokcycle.doc-1.1"="p0r03jvr9r58sr16pb1ihhnjqpmb5s6d";
 "tokenizer-1.1.0"="k1ixh9ndc7r9cna3q86cccz4ibja32cs";
 "tokenizer.doc-1.1.0"="yvz9x41xdnf5449k2ixpbwrpgyhwpr5y";
 "toolbox-5.1"="czvh3swrgna1q4bf7dvbi6vqvaaja1z4";
 "toolbox.doc-5.1"="xl7w44azdaxsr34cz9fpy63pzfgz1pm6";
 "toolbox.source-5.1"="72cwzx2fbbqb0q7n8s2r8rwckfrfc8vj";
-"topfloat-2018"="a6wpasrna61fbpcb35m1gighj3xshfrp";
-"topfloat.doc-2018"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
-"topiclongtable-1.2.1"="gncjycyzg017fr7lipw06jf5mwry14dj";
-"topiclongtable.doc-1.2.1"="iay51mlh7lxvxg4bla1hhav34qiyd2ah";
+"topfloat-2019"="a6wpasrna61fbpcb35m1gighj3xshfrp";
+"topfloat.doc-2019"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
+"topiclongtable-1.3.1"="039ngjqqsjqslmsy4wj9j8lvysdyg2d7";
+"topiclongtable.doc-1.3.1"="66a5bw5zvxrn4dkcyiz8vi9l8qqjcqxb";
 "totcount-1.2"="mjp1wrksnwg89cj9si72fj1zjyrw9szn";
 "totcount.doc-1.2"="q1j4ja1xiqc4aahh7d02cnm8pvb356r6";
 "totcount.source-1.2"="g56d6lcx4g79iqg8af4nazv3lf3973ic";
@@ -6186,17 +6317,17 @@
 "tucv.source-1.0"="85rsysj0whl6f07njaxigyk14ij204gc";
 "turnthepage-1.3a"="kiaa5nrr0q0zdgbl22349ilfl23hlzvl";
 "turnthepage.doc-1.3a"="akqb1g5iyf9f7shvsm0v5wqzi43w8974";
-"twoinone-2018"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
-"twoinone.doc-2018"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
+"twoinone-2019"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
+"twoinone.doc-2019"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
 "twoup-1.3"="9zz59lr969ia2fr0kawfiibwfvjz8803";
 "twoup.doc-1.3"="scznf4yfaq02nd7yq3fkjxn2cnzhd0s8";
 "twoup.source-1.3"="rksz35jmn56sd5s5m3fmsp7a33rgk0c0";
 "txgreeks-1.0"="6g3vnp9prv91yjr054dshpgdl2f62w2x";
 "txgreeks.doc-1.0"="rvca7hs2rrssy46nd855knh10jkav8s0";
 "txgreeks.source-1.0"="aifnmmsvmda0vs6xvw2xrl3dyvr6sxkn";
-"type1cm-2018"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
-"type1cm.doc-2018"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
-"type1cm.source-2018"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
+"type1cm-2019"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
+"type1cm.doc-2019"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
+"type1cm.source-2019"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
 "typed-checklist-2.0"="nb46bydygh6n37z3w9rcl4vdlgd0jlyj";
 "typed-checklist.doc-2.0"="wpqkpzji27rp6zvrhy988fgjf1mf9hn1";
 "typed-checklist.source-2.0"="yp6qcgrbhlggv7c7n5g40gmiz6azflz8";
@@ -6214,9 +6345,9 @@
 "ucs.doc-2.2"="z3jxd58nlj0lkch4gc3jg4nwc2aqgzwr";
 "uebungsblatt-1.5.0"="9z0cwx5jfib1mfyq49bq2yl0yfacwg89";
 "uebungsblatt.doc-1.5.0"="vps5ya9a8z6hv7lynd0fwizwxdxyb52j";
-"umoline-2018"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
-"umoline.doc-2018"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
-"umoline.source-2018"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
+"umoline-2019"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
+"umoline.doc-2019"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
+"umoline.source-2019"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
 "underlin-1.01"="vp1wvsy871d28x0z1rw4pgxw9abkr8yg";
 "underlin.doc-1.01"="8cbapdd7sbqfxs6s2fx6pv0d8x6b0sjs";
 "underlin.source-1.01"="52j0xlhajihpgw5mp5zgpnsaiqkyfr62";
@@ -6228,11 +6359,11 @@
 "units-0.9b"="b92vh3z7cr8q1lp5cqzkiw2dhfbla7cg";
 "units.doc-0.9b"="3c1a9x0y99lb2qw8scb0x70jzbh5kjkl";
 "units.source-0.9b"="ha3bz0p0xanqznz0nyfsa02j32wjdl88";
-"unravel-0.2f"="xcxnr2pcddzvrs7pbg6plbnxc7mrsgva";
-"unravel.doc-0.2f"="yb0ljbpn59fb2fhbmq2b8r27y2c2abv0";
-"unravel.source-0.2f"="hn2j08csyw8wrmn7izj72xx50g4fzzj9";
-"upmethodology-20171210"="a3rgddri984rakfas1ggrxggpii665xy";
-"upmethodology.doc-20171210"="jlvh2iyqj2h7yicgbxi8z8188xjzgfi9";
+"unravel-0.2g"="36q5f8m3v8cg5bg7g2b75wvdr05l6mg5";
+"unravel.doc-0.2g"="421v7md0nqgk4h33dnrixpvi67fi0fp3";
+"unravel.source-0.2g"="9v979jli0094ikbpf7dfyfizd7xlx6sy";
+"upmethodology-20190928"="kx48p4k7pcw622vsw0r4d2mhkvg3kiyv";
+"upmethodology.doc-20190928"="h5vqrk88hfxaqp86r93jkg59hhsjvsgg";
 "upquote-1.3"="3pr0j9wkyd8fzk026qk6vzsv5hlyccy7";
 "upquote.doc-1.3"="ilclzgj5m6nxhnz4398f5nwypf4jp2gh";
 "upquote.source-1.3"="4j1q8nck1g1cg4paz65l2zpvyimkf31r";
@@ -6244,8 +6375,8 @@
 "ushort.source-2.2"="jhn6sxdjyff94x69jhax021qfx39dca7";
 "uspace-0.04"="mc9j21cj64djdxspryc0knx00xm2krvm";
 "uspace.doc-0.04"="72420339xc9l7a1xaz1pdkn7clkdrm7w";
-"uwmslide-2018"="zf5gky1nzsjd1jp5kq843in2prllnk36";
-"uwmslide.doc-2018"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
+"uwmslide-2019"="zf5gky1nzsjd1jp5kq843in2prllnk36";
+"uwmslide.doc-2019"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
 "variablelm-1.1.2"="gmqg9y7mmqmzl04n1zh8gfxzglhh4afx";
 "variablelm.doc-1.1.2"="d12x54ynkf2lq50m97p9s3wh2jr1y5jr";
 "varindex-2.3"="isp8j60q76fms3g4nlgf6d6da6f2y0xg";
@@ -6271,9 +6402,9 @@
 "version.doc-2.0"="7hcfbpwhb2ifxy3y84g6rgw2f7465hgj";
 "versions-0.55"="c1vn4pw5im1a93xpp59i3xcf5az1n326";
 "versions.doc-0.55"="l4znzf6z7qwpskdsdnhsdx264a07wvmg";
-"versonotes-0.3"="v1lfi4z19w77a8ydn9sqh17q1mnjdc9g";
-"versonotes.doc-0.3"="8id9yn2rflg2h7r72ax0b7pbf7rqh8di";
-"versonotes.source-0.3"="68kgk661209cslywdrrc1mxampz5z3pl";
+"versonotes-0.4"="9k0hj47jjkdgnhhxbw87m5xnqyfpb7jm";
+"versonotes.doc-0.4"="mgp76qfszyhmq2fv5d93y6cs6113nxl6";
+"versonotes.source-0.4"="0zxi7ly18j94kbwq7ipd6ydbgvskc6m8";
 "vertbars-1.0c"="65mc3s841k2j2b02g5qvii5pysjim8pq";
 "vertbars.doc-1.0c"="w04gw5yg7wl8y8882g4brm1ny6hwq3f5";
 "vgrid-0.1"="5qfb52ndm5lf20ya2w4vrhivn7p6vkaf";
@@ -6291,6 +6422,8 @@
 "vpe.doc-0.2"="yr38k5mpbpd8jxvcycvpj0zhl1f75lv1";
 "vruler-2.3"="bw7zccv90946wxjbms3hclxahpxkcpfp";
 "vruler.doc-2.3"="kffmrjhmahvd1pyk1ha5slz34y8g5j9d";
+"vtable-1.0"="3yh1145v9bcj739qrlb685j25rk088n9";
+"vtable.doc-1.0"="w7yq9sbb3jw6k7wxbq2pdqc3gcivvqxp";
 "vwcol-0.2"="hff0d1za1i8jqaa5bd7r94g4zvsxrmcf";
 "vwcol.doc-0.2"="68p9iv66i4mx5l8s90ivl3w1pdmx9fim";
 "vwcol.source-0.2"="x7qa2d5f1hxxbiabgym4g1n1n0g92x1w";
@@ -6303,17 +6436,19 @@
 "warpcol-1.0c"="91kcbm5m59ym7kfjbhzdq20p9rhi7ci4";
 "warpcol.doc-1.0c"="q72m3zkgkm7fxfq1453jsmqidgacb2bh";
 "warpcol.source-1.0c"="lmr3rlbqz9q7j05glz4s8fyfrlm6ah43";
-"was-2018"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
-"was.doc-2018"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
-"was.source-2018"="cwqcmdh86sm58073zm929dxibw3flc02";
-"widetable-1.5"="zis4n2iaqq9wr8x3z1d1mx8dq2cn3704";
-"widetable.doc-1.5"="c3dkf2i21b86pf64vjmkr404fhwmzi8r";
-"widetable.source-1.5"="3x1kv0pvgph8ld11wvm2zgpqfdhr4isv";
+"was-2019"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
+"was.doc-2019"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
+"was.source-2019"="cwqcmdh86sm58073zm929dxibw3flc02";
+"webquiz-5.2"="9qq4an9pcpirgzrfa7jx1mc74zz5y55q";
+"webquiz.doc-5.2"="36ykfxg7dqx2wzn5k15f85s9wm99c4xd";
+"widetable-2.0"="7dx6njx3r6i0ia40n1rv0j7badl9hkdr";
+"widetable.doc-2.0"="bk5a40zf9a8ylg7zf8sbr3z62607dhd3";
+"widetable.source-2.0"="w0djy8q8m45lvhp53gl3x44h5f0nckag";
 "widows-and-orphans-1.0b"="nra2vcwdz65ab9v2l5j51ly2psp39kz1";
 "widows-and-orphans.doc-1.0b"="s6m3rdja96wpyyq98yirb6y2213264lf";
 "widows-and-orphans.source-1.0b"="b0h0rfg9v872qa5javafixkkjwp518jr";
-"williams-2018"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
-"williams.doc-2018"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
+"williams-2019"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
+"williams.doc-2019"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
 "withargs-0.2.0"="ahb75dczlyy8shzql034xqjq72ll0yvx";
 "withargs.doc-0.2.0"="6sr29bzbhwzcf77pjzhqb21fsp0541dj";
 "wordcount-1.7"="wn4d84kxf5phfn6f5imv91draca4wxap";
@@ -6332,9 +6467,9 @@
 "xargs.source-1.1"="zvlns27k99jmi1iy7nyc03kyyy8kaycs";
 "xassoccnt-1.7"="9gjhxbaxdfqadbywhka6kqnyyw9wl5ls";
 "xassoccnt.doc-1.7"="38p065jjmz5c8mjc0lbvz0jg793nlr53";
-"xbmks-2018"="3rzl0pi5vajgj80rlwj9s5hxx1lwfq6c";
-"xbmks.doc-2018"="nfcmv5k07kdhily4m4iivg3i3ln7d294";
-"xbmks.source-2018"="xswwxiw3ksa35mism6ib1mqpr8vrisl6";
+"xbmks-2019"="3rzl0pi5vajgj80rlwj9s5hxx1lwfq6c";
+"xbmks.doc-2019"="nfcmv5k07kdhily4m4iivg3i3ln7d294";
+"xbmks.source-2019"="xswwxiw3ksa35mism6ib1mqpr8vrisl6";
 "xcntperchap-0.5"="qbrmbcwfdhy1as9i732naj5xnqd8zl7r";
 "xcntperchap.doc-0.5"="ql3z0qizhd2nxxjb5i4hhxvb43951rs1";
 "xcolor-material-0.1"="08zazp49lpmm92ang9i2q34kvx7v4rli";
@@ -6348,22 +6483,25 @@
 "xcookybooky-1.5"="00gb5f064lmiwlhqz979cx5n8d2rxkad";
 "xcookybooky.doc-1.5"="02wq92szswqj8mj94drhgcpqw8px6j8a";
 "xcookybooky.source-1.5"="cky4lpad42pkh175nfddkz76nhl3q0bl";
+"xcpdftips-1.1"="qc6v9ab20hjwg3mb6w5mmzm3rzmavxd0";
+"xcpdftips.doc-1.1"="kr1fr1l8mp7zaj7hfwz0dddzchy2ld73";
+"xcpdftips.source-1.1"="5fxv00bzsn1hpb7qhxn2wl7gqgy4cmdg";
 "xdoc-prot2.5"="awz55rah1196cknc1qsy0dc8ra91dvjn";
 "xdoc.doc-prot2.5"="zx0nabzias47jm6270rmw9wqr117mb75";
 "xdoc.source-prot2.5"="51sid2ab4iwhybxhkwf5wwxflabqy4v9";
 "xellipsis-2.0"="x7m9da1658cxs5896bhn8cjdj0va03xr";
 "xellipsis.doc-2.0"="332vcqlqjbpm5hsqbcfq23avmmgjl837";
 "xellipsis.source-2.0"="3r007qgvxxcfvnd7942yafsznza0jdk0";
-"xfakebold-0.04"="a4b1sc00bjcmkhisfmg859r91gawnb2y";
-"xfakebold.doc-0.04"="72p0jj5pb2l4bxyyqnbqhxqalssly5vn";
+"xfakebold-0.05"="q2dn5s98jir5swsh67d6xaq8cnhxhjwv";
+"xfakebold.doc-0.05"="5gbp1hiqsrsfv3jh8f6rifsllsc6m3iq";
 "xfor-1.05"="x2bs3y606v8f42ds7xp2kmllq0vmrnms";
 "xfor.doc-1.05"="lbgdf0qia743jdvlxqf7vm4w1pc77kar";
 "xfor.source-1.05"="pafv6fqj0nd5xm0wgmwavkmg97rw7dnm";
 "xhfill-1.01"="6c09h61nlwbviwc1vfvmr4jhbrw2fs24";
 "xhfill.doc-1.01"="cw2rx4v66138fsh1vwxhq9smyai1xlr4";
-"xint-1.3d"="li2h0bipq2rql2xjfw4hfgkwsg0ri13g";
-"xint.doc-1.3d"="xs9yi3x7jkzcc7c6hl4s86zh5pd1ailx";
-"xint.source-1.3d"="wzyd0g61hpbqqrrbhankpw30ln6f93zx";
+"xint-1.3f"="ahh09z32y79k5d8rzpw019gkhhf1j70v";
+"xint.doc-1.3f"="pjgafg558x3lw05chxic52xygraxx509";
+"xint.source-1.3f"="f332r3gsqj8d7fi1s62kn0jvf298xfzp";
 "xltabular-0.2b"="rgv3ixm0aynqzfmf8s1682n52ga5mcm6";
 "xltabular.doc-0.2b"="0d48lsksnxlyhaxrhcc497f95k4xjcvl";
 "xmpincl-2.2"="wjg1lw656zbn3h41pxqzwwag9mgrk3h6";
@@ -6384,11 +6522,11 @@
 "xpunctuate-1.0"="n3mxrha0440l5ngic93idrqw2agmisah";
 "xpunctuate.doc-1.0"="lrvqrndq151vfz34ycvjnh3sw77v58lz";
 "xpunctuate.source-1.0"="cmmzrijia2ir3mrhcq4s531la5kx18fj";
-"xsavebox-0.12"="fnpr8zjdih152bdb07a8cz2xmcs5y91s";
-"xsavebox.doc-0.12"="sc2ddzx46wndknv9rbr1nsjnxygsaz8i";
-"xsavebox.source-0.12"="b1bdhpkbgan1m393yfk87knqvbb57gkx";
-"xsim-0.11"="lqklbv5cd9ii4zi5a024cfczvhc2xasb";
-"xsim.doc-0.11"="9whj9hd6xpfmc8vqwynw40c6r1mm8ni9";
+"xsavebox-0.14"="b36qamf4wfpbrkg6gj6n8adi7rjy5gzg";
+"xsavebox.doc-0.14"="19flrbjci9i7xficp822h2x2ni9g4ccv";
+"xsavebox.source-0.14"="3n19vz70bwxcgx02q77gw062z7vr0n98";
+"xsim-0.14"="xj8gby6dkfn8b2xigg921klx1h0jccm4";
+"xsim.doc-0.14"="23760q0xpivdrxwyr3sqfjnb54347pnf";
 "xstring-1.83"="imwhw4cc68bs6q4f9a00sp7f4y6kvg6v";
 "xstring.doc-1.83"="5ad5zk5vvbk6wpgssvzs905b6nq6x8fx";
 "xtab-2.3f"="zqrxzgk3pn3kw19jm28bvg0lch9lc7sm";
@@ -6409,34 +6547,37 @@
 "yaletter-1.1"="br7r3x3n8h5nlfy36csx8a5ji3cf12wl";
 "yaletter.doc-1.1"="x5mhsm4pxjc2klcnwqyrz10gbq4kzw0x";
 "yaletter.source-1.1"="c1la5n24hxfi3paxwxd8m7lxpd083k0h";
-"ycbook-2018"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
-"ycbook.doc-2018"="piy9cpdcikzknnrdp27dfrciidcjspzz";
+"ycbook-2019"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
+"ycbook.doc-2019"="piy9cpdcikzknnrdp27dfrciidcjspzz";
 "ydoc-0.6alpha"="4di93jv5wpv4bdng1ibkf0ma6m0bknz9";
 "ydoc.doc-0.6alpha"="80hq2xznj76kgj0zb6zv6li578kc3r2i";
 "ydoc.source-0.6alpha"="39128wyw2py0j8f334r7drff849ad2sv";
-"yplan-2018"="rm8ln7pvl6i672107i8hxic85s994g6g";
-"yplan.doc-2018"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
-"zebra-goodies-0.3.0"="84j6fzsvhfqqs0i1jsi64ikdbkcn1x46";
-"zebra-goodies.doc-0.3.0"="sl3l8bcxiv1symmla5f32am1skd3ab9s";
-"zed-csp-2018"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
-"zed-csp.doc-2018"="5p8s701yk431qyngw010qws6b9shx588";
+"yplan-2019"="rm8ln7pvl6i672107i8hxic85s994g6g";
+"yplan.doc-2019"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
+"zebra-goodies-0.8.0"="p6f693z5cywmpln2i6qqxy0g4c0wv78l";
+"zebra-goodies.doc-0.8.0"="0d9dcng2qivm4p2h8112ii3pjrwl1f38";
+"zebra-goodies.source-0.8.0"="dgvli6fpzrs7jgalqvm8m4a8fqldkfnh";
+"zed-csp-2019"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
+"zed-csp.doc-2019"="5p8s701yk431qyngw010qws6b9shx588";
 "ziffer-2.1"="jv9y39n2mj1csaixb3pdfp0qggc16b04";
 "ziffer.doc-2.1"="3ys31swbmm03zmnlvfm155aii3nrd2sm";
-"zwgetfdate-2018"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
-"zwgetfdate.doc-2018"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
+"zwgetfdate-2019"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
+"zwgetfdate.doc-2019"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
 "zwpagelayout-1.4d"="6wskn5h4bxigry3bjdf90ibdfrkinln3";
 "zwpagelayout.doc-1.4d"="rr3q6ypq18rkaa77ikr0j2sd80pp322j";
+"addliga-1.0"="v46mqcn3yabd6lliclwabya62hvmvpgs";
+"addliga.doc-1.0"="lrmkg7awc61rkjf6n8xn1hhcvrsiz12n";
 "auto-pst-pdf-lua-0.03"="s0l3pyb7y4pr3l67yp3yksd0j2fc212p";
 "auto-pst-pdf-lua.doc-0.03"="784dxagzkrphn2nby5lk4b79s074824y";
-"bezierplot-1.3"="pd8987g0wz5rh6qzgb5v7sqlaslfzihb";
-"bezierplot.doc-1.3"="zfdy6nmy19777dxl6mg7nkqisq1kdspl";
-"checkcites-2.0"="sl7bgm1kvqvl8q5ykbkxpin78pn6ivb3";
-"checkcites.doc-2.0"="5k7dlp98z1dr1vlir72f0r78vmaxl4ps";
+"bezierplot-1.4"="y1vm9s8h8v75k0q73q8089gnr0647ir2";
+"bezierplot.doc-1.4"="crzlgln3g39kmqdba5dffqdx3p9fffzh";
+"checkcites-2.4"="2vzqckrpid1lxi5awbc3s1179j0yw9rm";
+"checkcites.doc-2.4"="5dfipwxsrf3jn446z9ar0caa8bsmw4al";
 "chickenize-0.2.5"="bh3kdbw0yvz28izgmxxw3psmirwmfcd5";
 "chickenize.doc-0.2.5"="hqyyggfs1is65gfl4ck1mki9wgm6238v";
 "chickenize.source-0.2.5"="xhybj8jxyv1fghx7955dcgfcl9kjgbkw";
-"combofont-0.2"="3fkzcqjwxkciacvpvncnvzknf6mrrgh6";
-"combofont.doc-0.2"="c49bkqad9gw6lghaqkl4jp53501wfcgc";
+"combofont-0.3"="kqlh6sp2y5ssbp38jy6svzgdva4m4sh5";
+"combofont.doc-0.3"="99h3xmx3jv5il99g6wc10csqkmpm5mg6";
 "cstypo-0.03"="4iqsrwnw7pnzhzzspr686pf6y4img6zp";
 "cstypo.doc-0.03"="3s9dsniw0yz2j7iffbsycsgrycfbjlg9";
 "ctablestack-1.0"="cavlzn944q3fhha3i4kf8bgvm2y5zpdh";
@@ -6457,6 +6598,8 @@
 "luacode.source-1.2a"="dw3p52gn6g103qkp5v8vmgxpj2b4cwb7";
 "luahyphenrules-1.0"="lpkklcbarmvfm4y9d5zgm9is55y66f56";
 "luahyphenrules.doc-1.0"="ch7vc8skad88crgb1blh85ig9sn97l3f";
+"luaimageembed-0.1"="0cc3hfkj5jqldnv95ifz4j6ls9vj44dj";
+"luaimageembed.doc-0.1"="66vlh8a2w7q9ng1na9sraibw5ixxlyc2";
 "luaindex-0.1b"="hlzsr82cp5vs41bvnp22f8jc3kkwyk4y";
 "luaindex.doc-0.1b"="k1nz25w1nrxbfcg8g9lrb4gm22i3m7ih";
 "luaindex.source-0.1b"="7pg6v1phdz96x5nmwsnf5bd976s2magv";
@@ -6464,23 +6607,23 @@
 "luainputenc.doc-0.973"="jyiy6f96v5nvrr4lp765vpvhrl96j67q";
 "luainputenc.source-0.973"="5v1n89k8wg4g43fnx0wz53gdxp7cvgji";
 "luaintro.doc-0.03"="gcz5ihcqinbpnqza158xsgw65h17lgi5";
-"lualatex-doc.doc-2018"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
-"lualatex-doc.source-2018"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
+"lualatex-doc.doc-2019"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
+"lualatex-doc.source-2019"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
 "lualatex-math-1.8"="q833blixbj2qv1h4csxvpy7v0hj2ifg5";
 "lualatex-math.doc-1.8"="xabchvz8l365371h3mv2im3hsad24crd";
 "lualatex-math.source-1.8"="bxjy4dg5jsv23lrhg202lahxwkjqgn15";
 "lualatex-truncate-1.1"="imd10qn2sh19fdz4zp8qz57rqs0kh2n9";
 "lualatex-truncate.doc-1.1"="xfanw53qhm8qhqg45ykvvf213j3q5dy9";
 "lualatex-truncate.source-1.1"="sv3j09xlab2gfqn670wd41xgdk3rjc84";
-"lualibs-2.64"="j90n6iymbm3jixc91445jqh4y01lgnkx";
-"lualibs.doc-2.64"="rzv8xivbnif54fmqhnwq81jwdb786m4g";
-"lualibs.source-2.64"="ssv2byw1y9c3h5y1ii07zki31zjndjwl";
-"luamplib-2.12.5"="555ba1ih7msk0x84qyyp8s8dg6rn1aw3";
-"luamplib.doc-2.12.5"="gl5fzd3g840hm7asnh80vlx7jnyin10x";
-"luamplib.source-2.12.5"="7rq7jzjx8a1z9pn96hj6c429mwjhyrj5";
-"luaotfload-2.96"="dpdbf6gchddjc726n47pj8kzi6vakbx3";
-"luaotfload.doc-2.96"="xb5i897inw6j84nb7r1qmfpjcbldxkdf";
-"luaotfload.source-2.96"="bsk232r2w7clzbsigigdwxxwgmpi112f";
+"lualibs-2.67"="fvd8pm6k0nkvh1a9hglfbv7iscm87wjm";
+"lualibs.doc-2.67"="5bx73a0xfyvbj73jb0hp3f22khlqk0gy";
+"lualibs.source-2.67"="xn36i7xkkxg8hv4xjdk4pklcs1qikp6c";
+"luamplib-2.20.2"="hbd2ihzk4m3vph5vf5mjmabada2jwfiz";
+"luamplib.doc-2.20.2"="64fz107a010l9b92a2yffkmmni0il0nm";
+"luamplib.source-2.20.2"="y4cv3h54lh1brx576dya2b73vxzv0mza";
+"luaotfload-3.00"="zxc0q7cpk1a4lcp1g459cmli5igkfcrf";
+"luaotfload.doc-3.00"="98w4h05g5wy5m7b5359x2x0lsv61cpq1";
+"luaotfload.source-3.00"="6gn5jrfg8f082s56abjw86ss54x1lg13";
 "luapackageloader-0.1"="rc85q0c3lyjd3c4mhjjbqlcywycwxcgj";
 "luapackageloader.doc-0.1"="dkccp3n7nwkwv9scga2xa1aqqplsird6";
 "luarandom-0.01"="cj3pzwmgrh4d477fv551rlp7afxrsj0a";
@@ -6488,25 +6631,27 @@
 "luatexbase-1.3"="hjzprkfxz8i905ffdzfad0myg2ym4vg4";
 "luatexbase.doc-1.3"="3rnbzrql8m9ss0pk1yydy4v9acrk3qq0";
 "luatexbase.source-1.3"="v5x5csbgplvah43m8lbjky2nmfk2s3fp";
-"luatexko-1.22"="42hyaxxlb3qga212wf4nisv5hgdx3pjr";
-"luatexko.doc-1.22"="dl17mgf03znppxyw8ccfgv36h8amf99j";
+"luatexko-2.4"="s5jl317zwy5l1n1f5pmhidprnds8l4bh";
+"luatexko.doc-2.4"="c65dp9snya3hsl1jd2lma27ghhrh032k";
 "luatextra-1.0.1"="xb3dbgfnm7ww87n60ydpilkwqczj77lz";
 "luatextra.doc-1.0.1"="4pfnnxaynvw166pp1ivb5pjp061n2bvi";
 "luatextra.source-1.0.1"="3ajlrmqc27xyxlkn4vbprh6zzlqpf0xd";
-"luavlna-0.1b"="nk9smk0wqrq7m82mxlw5jyxdihkz665v";
-"luavlna.doc-0.1b"="qaridqid784hcvlskps2fgaza3a5mpa2";
-"luaxml-0.1h"="lbc31lqy2bp86w5bfpbky87zblr56nhn";
-"luaxml.doc-0.1h"="yzv52yc5wkczs6bsfmwlyv64h06yyamd";
+"luavlna-0.1c"="hdk6is2n47zfn5489f8brncr9v8cpb16";
+"luavlna.doc-0.1c"="k1m38wapbfrkbfi2v70m3g5vbqdddw4c";
+"luaxml-0.1l"="z1abf6izw5yakycwjiyc13bivpmi0bmc";
+"luaxml.doc-0.1l"="0lmrd1fxl26m4cs49qm571ds05fx1njq";
 "nodetree-1.2"="7x6x6xjd3aqhvz1nchhxckfhzjllfr21";
 "nodetree.doc-1.2"="jnpfcdpwafza66wmlvgv4jkmisfc9k46";
 "nodetree.source-1.2"="877wmvyrnhma4v3qdlq4r1pbk1bldlv0";
 "odsfile-0.6"="1h0vzwknsi9w3vpk008mdk87l3c33ffl";
 "odsfile.doc-0.6"="4wvljjvknahcyfnwkpnpbmzg26zaa9bp";
+"pdfarticle-1.0"="gp3238h9g1kcamcamvhndgs1h9wav9ld";
+"pdfarticle.doc-1.0"="zh97mill1idcik9zhb8cp6wyq32lm7i4";
 "placeat-0.1d1"="rkzxsay49qp6qpiy3wpd6r3byzrm4hgy";
 "placeat.doc-0.1d1"="x954mm7qhyffqbh9hrgrxa5khh5h70p3";
 "placeat.source-0.1d1"="l19sqs0ipd1pgpl6kzggfizxvc1cb1p3";
-"plantuml-0.2.3"="mp83hmniy24qygdfbqyf4jf53pjrby00";
-"plantuml.doc-0.2.3"="pv659c4yw6gbkrzw7az73lpc28ni3788";
+"plantuml-0.3.0"="a2lka6lq0fvp5zdwb1f7958xishxg6hc";
+"plantuml.doc-0.3.0"="p2xlf2hcj3hqj6j5l7gjn4l6cg4bs75f";
 "selnolig-0.302"="gw2nwscxyg2p83bs90nnbg47wddkh0i1";
 "selnolig.doc-0.302"="d73jxs6xck7m5y95hx6nfls1572za6qh";
 "spelling-0.41"="kajpixvypcfl8ivqqnscfcd1fb1vv78x";
@@ -6522,59 +6667,69 @@
 "SIunits-1.36"="jpghwsag31g9f2lnzdzmfg1rg1vjxihs";
 "SIunits.doc-1.36"="1qalyh0q4lvlxxmwykaq3bp3sw76sscg";
 "SIunits.source-1.36"="6v2lr8gjm3f2kyqh7pc06ay5iswbi7p2";
-"alg-2018"="2z4gi58401dsjwivwji0b169ihz3assx";
-"alg.doc-2018"="43bcrdwkqnx6rharxz9l106cxycm408z";
-"alg.source-2018"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
-"algobox-1.2a"="ykmx4b4yz0vbbzw5pkabkq23da5ab2nj";
-"algobox.doc-1.2a"="slrgkjc160aasdqly9n72inxxs20p7dw";
-"algobox.source-1.2a"="1jk7jr14qb3sx1vffwazmvdhmnxswpjv";
+"accents-1.4"="8vq1cj9iyijb5lcz28w4d09j3gaw598x";
+"accents.doc-1.4"="qqgb9nrldq4bss1b90qn080zb278vxb6";
+"alg-2019"="2z4gi58401dsjwivwji0b169ihz3assx";
+"alg.doc-2019"="43bcrdwkqnx6rharxz9l106cxycm408z";
+"alg.source-2019"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
+"algobox-1.3"="7skblnz1s8jzz079j3cn4igaldvrbvxd";
+"algobox.doc-1.3"="f9dyljs5j5f19wf4zxn0aw76yfda6gy2";
+"algobox.source-1.3"="jkwrxj0z1j2gyd1322qadqzfrw86f8m2";
 "algorithm2e-5.2"="w36nldd3zkmg3v74jzg22kwkw0vhja5b";
 "algorithm2e.doc-5.2"="b2g0vk8jb1yqqi9fnkvxizpdhlaqjn04";
-"algorithmicx-2018"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
-"algorithmicx.doc-2018"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
+"algorithmicx-2019"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
+"algorithmicx.doc-2019"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
 "algorithms-0.1"="s07h59vabig8jdk2d7r98hdnxpyq52sm";
 "algorithms.doc-0.1"="vwq0lnznxpwi4zpp4hjaljdfc3c2h6yw";
 "algorithms.source-0.1"="cskf3mpv2rk435przyidljaijx46fiy9";
 "aligned-overset-0.1.0"="ghkj6baw3sppp8vi9msny8ffaf3f0mb9";
 "aligned-overset.doc-0.1.0"="falszy2yd14yzy1gzscp7d3arsb02pv1";
 "aligned-overset.source-0.1.0"="gcapvfxcx8s1qgzcf8f52l4w0dd33b5q";
-"amstex-2018"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
-"amstex.doc-2018"="qap1smd981y2ai02hysa2ibyy2wgmynl";
-"apxproof-1.1.1"="l0d5va84h4ypi7m3y7nw142qa207j3n9";
-"apxproof.doc-1.1.1"="39xg5gwy5g8ypjz33g8n2262z2fnxsyc";
-"apxproof.source-1.1.1"="yh71rp83rgl6sig7w7yj7n7dm78x9yq5";
+"amscdx-2.2x"="73dyfrnv14jh8gavjgivx0ldyczqlazc";
+"amscdx.doc-2.2x"="ya3ljfxmirpyaz7kj29mkyrwrhvz61y5";
+"amscdx.source-2.2x"="da89in5nc7m37m5padb246ra9gl6cjrq";
+"amstex-2019"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
+"amstex.doc-2019"="8rkjw766mwbnpifcn10gjkdap6p8gcch";
+"apxproof-1.2.0"="f4p5sn16ygfnnx6lzjmz6gwhdy2pd88q";
+"apxproof.doc-1.2.0"="xzlmlck028ri44c49sd5vr5ksawjg62b";
+"apxproof.source-1.2.0"="nhmzdgibha22wzmr1ppvinifbq2vs49w";
 "autobreak-0.3"="61yyi2p6gf0sjydn5kr8h8qvpxgmvbin";
 "autobreak.doc-0.3"="lzi2q6g0mrv5l8kb3b9yg0ykiiwimyfv";
 "autobreak.source-0.3"="62cm1l24gp51a8jnag36y8gm1bwya7la";
-"axodraw2-2.1.1a"="pyy2pdw8k4kmfr93qg4sjpddgf6xpzs9";
-"axodraw2.doc-2.1.1a"="q7r4021k2fv8nmp6gi06ph9inlbk95wy";
-"axodraw2.source-2.1.1a"="jfcj5zj3b003mslj4h6iwjbdqvj1hmyr";
-"backnaur-1.1"="f74p150lbyc7bpvfg0cksv6g3and4qm2";
-"backnaur.doc-1.1"="4kd67srbm2bxwrjj3rdd8k56g108bj5p";
-"backnaur.source-1.1"="25zm2sxfdijfvbbcckim8glqfgidrc60";
+"axodraw2-2.1.1b"="g9vd6wfm1v77c7rsl2y7cpa9rl1921zn";
+"axodraw2.doc-2.1.1b"="rhvxvww141sazlyzpwazcdhvsd8p350w";
+"axodraw2.source-2.1.1b"="jfcj5zj3b003mslj4h6iwjbdqvj1hmyr";
+"backnaur-3.1"="y970wq88dx80mbdsaadw18lckbiwgrx4";
+"backnaur.doc-3.1"="426dp81fwq04wqhng79sy1zj4d8igpgh";
+"backnaur.source-3.1"="pflnxz44r4vwhv8yhcdqkfcl5n0y0zfg";
 "begriff-1.6"="w5mcpc6qsm8np9n4lzqbq642frp73szn";
 "begriff.doc-1.6"="wwsqgp4ah07a8z28l8ji33mvj0w16l3g";
 "binomexp-1.0"="5jlh0g22c7b1i94n2qicn0j6k4zmami9";
 "binomexp.doc-1.0"="vh653aqsqkvcsmrvzhw1h4sqvirxg3yv";
 "binomexp.source-1.0"="jairxsdavf3ll4160dlbc39hriyyyrdr";
-"biocon-2018"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
-"biocon.doc-2018"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
-"bitpattern-2018"="s1gn3l5lfz24xgg768032s318gzx96zy";
-"bitpattern.doc-2018"="8nq9nd4qsrixnnw32saxp6272d26w040";
-"bitpattern.source-2018"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
+"biocon-2019"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
+"biocon.doc-2019"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
+"bitpattern-2019"="s1gn3l5lfz24xgg768032s318gzx96zy";
+"bitpattern.doc-2019"="8nq9nd4qsrixnnw32saxp6272d26w040";
+"bitpattern.source-2019"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
 "bohr-1.0"="5r65jri672mlqzhd26dmys54sj19c8kz";
 "bohr.doc-1.0"="8gsrm5xrxfqqgpljlyizlcdz4lw3xk9h";
-"boldtensors-2018"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
-"boldtensors.doc-2018"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
-"bosisio-2018"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
-"bosisio.doc-2018"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
-"bosisio.source-2018"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
+"boldtensors-2019"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
+"boldtensors.doc-2019"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
+"bosisio-2019"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
+"bosisio.doc-2019"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
+"bosisio.source-2019"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
 "bpchem-1.1"="c1qr5s3jp7zg06sis026ll5b38axvni2";
 "bpchem.doc-1.1"="54qyy00y03jbbhg00az5as1bc5h9i2fr";
 "bpchem.source-1.1"="r4bya1mqkjjnmzc14jlbv676ls312ynl";
 "bropd-1.2"="zhrvx29z8y1gs88y8lx7wvi0dlhamkmq";
 "bropd.doc-1.2"="1k5254jbhikwqrx5wv61qmznkhp41mqw";
 "bropd.source-1.2"="8hny5cxa57186p4brdriyp3hrmmqr9ww";
+"bussproofs-1.1"="v0s3q29bdab23xi07f123bq7gzc2i185";
+"bussproofs.doc-1.1"="6cnd5akpxdcq2q82n7ph5lvmb94ql8sa";
+"bussproofs-extra-0.4"="v5xhwycppwm0mpn11589shbys65hplx5";
+"bussproofs-extra.doc-0.4"="29pwpr7yfc7n2nflvzfpm39gdwx0qis5";
+"bussproofs-extra.source-0.4"="mi485ji1m4vvbd82xavgv05kbd3j96q6";
 "bytefield-2.4"="whxn5qk2z4pia4hpafbzggp6q6zai2c0";
 "bytefield.doc-2.4"="ixgwy7pi37anjp4nmm765hc6hh484gxz";
 "bytefield.source-2.4"="mmnbxv3g3c6i858xs5dazi1nkfvrxsjs";
@@ -6590,21 +6745,21 @@
 "chemarrow-0.9"="mb0i68z92909632g3xd1m3ahvmg0nj72";
 "chemarrow.doc-0.9"="h7g7ldb9837ngsxbmxm2c902bk0k2wdg";
 "chemarrow.source-0.9"="05g345ir5pvd4wik23yykarizwp0l506";
-"chemcompounds-2018"="7m2snwdxnachamq617zap92fsgdqhay3";
-"chemcompounds.doc-2018"="imzf21bm33j290wmy96hx88ahf5zgbff";
-"chemcompounds.source-2018"="nwcxbn1ivdiswdqyr319y93l76527amj";
+"chemcompounds-2019"="7m2snwdxnachamq617zap92fsgdqhay3";
+"chemcompounds.doc-2019"="imzf21bm33j290wmy96hx88ahf5zgbff";
+"chemcompounds.source-2019"="nwcxbn1ivdiswdqyr319y93l76527amj";
 "chemcono-1.3"="kppxwgnwc7f62n7bwi2gnb6zndxv4bag";
 "chemcono.doc-1.3"="r527psyb3zf91x0xd6ywiv429b0rmicp";
 "chemexec-1.0"="szl9xw9iiql9yi7la6hwcwx8frhdxkck";
 "chemexec.doc-1.0"="q7rkw9ny7g93m4xm5jvs17v8x4nwb2p1";
-"chemformula-4.15e"="pikmiqhp7658vggw4pdpip304s00jlf2";
-"chemformula.doc-4.15e"="vfw8hi8y9ysbp0ssaqiiphnlgyrjz5l5";
+"chemformula-4.15h"="lmksnb4kzdxspa4dlzzid4w1izprk7jh";
+"chemformula.doc-4.15h"="1ykwrpbvy6r8h0fl79xrr34mpzvy69k5";
 "chemgreek-1.1"="6yfyrii5xkc1nz5bniqn134rqa2cdv6a";
 "chemgreek.doc-1.1"="x15bq2wwjyplpwpbj8hpz21zhzwjwryk";
-"chemmacros-5.8b"="8993jvwy5blsph2dckvh7g8y6154m33q";
-"chemmacros.doc-5.8b"="hqc6pskqgwdg9c9m83dapqgzz3nbfc05";
-"chemnum-1.2"="nk857am82h2zfh8f5l81sm3xrrg0vawm";
-"chemnum.doc-1.2"="awwrxj67jwai17nvgpgl2lx10n8wm741";
+"chemmacros-5.8f"="fm173p1rcx5isykp7q0hmckmi1rq0f88";
+"chemmacros.doc-5.8f"="abc7v31l9nj6yljy6012dshny4mzwgjm";
+"chemnum-1.2c"="4az4s50lwaray904pnfc9z6i2gqi7a5x";
+"chemnum.doc-1.2c"="wbikxk89zq84klsqq67a5ds50jaf28nx";
 "chemschemex-1.2"="w3v5w049p0g28v8wx70ah804wp3map2v";
 "chemschemex.doc-1.2"="gg19d9gs2fc97f7rh9vs586v6i744a6n";
 "chemschemex.source-1.2"="czw2fh4251yhq1i703zf1nnkd0pjr74x";
@@ -6615,9 +6770,12 @@
 "chemstyle.doc-2.0m"="zv454b37y12fspkcphm6qs0yy7x7768s";
 "chemstyle.source-2.0m"="v52wrccz5gh3pswpfilm4qs48bplws5s";
 "clrscode-1.7"="6w0y1xknbskhhahx05688943y4pqr22s";
-"clrscode.doc-1.7"="m1syqr9a0x2546s5qpslia4ic5zmf961";
-"clrscode3e-2018"="0fz3frh68k47pdn3way6fbpiagyillgk";
-"clrscode3e.doc-2018"="91b116aqyihwlizzw1apmvd8kaaia407";
+"clrscode.doc-1.7"="hwrsnwvcd7yabwdz6qgy52c06hcz65y7";
+"clrscode3e-2019"="0fz3frh68k47pdn3way6fbpiagyillgk";
+"clrscode3e.doc-2019"="ql7vbwbr3z87rb0bnks5z3r1a53jhfmi";
+"codeanatomy-0.4-Alpha"="lnz0qqi52i7rnbsdw5k7s5bspm8i5ysl";
+"codeanatomy.doc-0.4-Alpha"="bzj63h79ral4caiqbx48vrmkgmpd9wph";
+"codeanatomy.source-0.4-Alpha"="4n9lrpl635drmnjbv0clv5xby8p51pwh";
 "commath-0.3"="qgkl9s5w0dadgirg3aqg0si0zm8swxss";
 "commath.doc-0.3"="ririan3s31h8cwcamjlwglbj4fyvc8b9";
 "complexity-0.81a"="id7q2in24z1r6mi47jdh98r7d9gkxdxh";
@@ -6625,11 +6783,11 @@
 "computational-complexity-2.25f"="hs6ja0ghmdhvkm2m5zk4bsyhr0z0z8b0";
 "computational-complexity.doc-2.25f"="nr5kmmq6nd2ppdyy3pygb2fj6ilz9gfr";
 "computational-complexity.source-2.25f"="br0rz33ycmvpsn5fdhvcjlpffhssnw08";
-"concmath-2018"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
-"concmath.doc-2018"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
-"concmath.source-2018"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
-"concrete-2018"="8076kds0h67rl93yygsicgp8hpk6cfz0";
-"concrete.doc-2018"="xddpal4gfl1km582kqvn79q925mixskv";
+"concmath-2019"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
+"concmath.doc-2019"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
+"concmath.source-2019"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
+"concrete-2019"="8076kds0h67rl93yygsicgp8hpk6cfz0";
+"concrete.doc-2019"="xddpal4gfl1km582kqvn79q925mixskv";
 "conteq-0.1.1"="r5vmidbf2afm771ijgph43qc66safd3r";
 "conteq.doc-0.1.1"="6ki2nz31r0b86kd2p9w9a5ph8g5dnj8f";
 "conteq.source-0.1.1"="6sd4m9i6zv68gr0b8r80r477qcj6cbpx";
@@ -6645,8 +6803,10 @@
 "delimset-1.1"="ag5z8f5h7gf5c824v8rj2xxfz6fbm3lz";
 "delimset.doc-1.1"="40vxv4mmpij621v80ly8mb4rz71r98n8";
 "delimset.source-1.1"="r4j60mdx3nivydxja9mnacqh1s071l93";
-"diffcoeff-3"="m96j385mc26mlfgin4j78zkyxq6rn3mn";
-"diffcoeff.doc-3"="7kfj6h2fsf2as9mmk8lx8am7lfpmdpbd";
+"derivative-0.95b"="ilpzmy1qspsfmryc2vnag2w2lqhpnwan";
+"derivative.doc-0.95b"="b2lm5h2lqsmrbwql4qyqcni65i0vg25f";
+"diffcoeff-3.1"="x9987adk154mqdz3lil1qa86nsls4ns3";
+"diffcoeff.doc-3.1"="n46rn91dvm23pqmagng4v65n2b52d76a";
 "digiconfigs-0.5"="r2ph2xkdaslj50qk54n7a1xx37n8pq19";
 "digiconfigs.doc-0.5"="vignfzc0zrhrx0jgybwmfcgyfcgaqhim";
 "dijkstra-0.11"="25p95xl60c29w1b8z1ggvys4fs3szv9q";
@@ -6654,8 +6814,8 @@
 "drawmatrix-1.5.0"="pl0mscrd3i4h9m8zq947ajh45apms3fj";
 "drawmatrix.doc-1.5.0"="qxljjk2vh5cc7l9xxn6kicknw2csdk4p";
 "drawmatrix.source-1.5.0"="89lglkdc257iwip9aiwnshzqwhvcqz5b";
-"drawstack-2018"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
-"drawstack.doc-2018"="plmy162h6z23pzimj4i5wjpih0m21z3p";
+"drawstack-2019"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
+"drawstack.doc-2019"="plmy162h6z23pzimj4i5wjpih0m21z3p";
 "dyntree-1.0"="820wp3d1dcdm5vxihmk93wqc8qw4rqf4";
 "dyntree.doc-1.0"="j334vdgmzrhlv3x0ihzpa9j2rbbd9xhz";
 "dyntree.source-1.0"="ha5c29s0f6j3r5f3b2v7v7bgxaks28b2";
@@ -6671,8 +6831,8 @@
 "endiagram.doc-0.1d"="7nqf9zgjslck0853xy6r6i938k9pd76z";
 "engtlc-3.2"="dc257zhqmzl7yymbv9prpiam1mvznhnm";
 "engtlc.doc-3.2"="d6mmmsi3kr2dlz2g6iwynabjlw1jyp46";
-"eqexpl-1"="1p8n87m7mq45wdb5blmyvm0yb4msm1am";
-"eqexpl.doc-1"="wvbjd9picj57q78053hz3z7dk68jqc4q";
+"eqexpl-1.1"="caz1prans93309xrm4dfhrl5whfj75jz";
+"eqexpl.doc-1.1"="vfkwis39yxrvvwd3nxbknpi4jh4lvqa8";
 "eqnarray-1.3"="iprdk3kp9cbmi01r29rmnjrfzifhiw5m";
 "eqnarray.doc-1.3"="v7l4q95sjrh3kd92xgbqazd7dgq8kaq4";
 "eqnarray.source-1.3"="bwkjz77mw47z33bwbgsx81wbw9i4n2n5";
@@ -6694,9 +6854,9 @@
 "fouridx-2.00"="lxj3924da4bfn7605g2akgd3ccynizqc";
 "fouridx.doc-2.00"="ic4hkzvwc05qm91h90cx645gpskcm8f4";
 "fouridx.source-2.00"="zgb2xfg0wl5ld4b5v8rn72mxmfy3qy38";
-"functan-2018"="68wga1s4yiamylxfjma76hirgk867yym";
-"functan.doc-2018"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
-"functan.source-2018"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
+"functan-2019"="68wga1s4yiamylxfjma76hirgk867yym";
+"functan.doc-2019"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
+"functan.source-2019"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
 "galois-1.5"="b8khw120ihwg30l5wiyrpigb0n76j4pg";
 "galois.doc-1.5"="pl6jyfxfim7igp5lhhsdghiz6awrsf42";
 "galois.source-1.5"="pf7dxm40jcipslw88sqascls74wnvhyn";
@@ -6704,16 +6864,18 @@
 "gastex.doc-2.8"="y3ybpis1prha863r0486c1wr24wfy0y8";
 "gene-logic-1.4"="w7b16bvypbh9l3kiwbgha3dyh4dlqpq4";
 "gene-logic.doc-1.4"="nzraabszgvj8b0j503f7h892grbqjjrp";
-"ghsystem-4.8"="1ka9bn3qfxa1cq1f486n4gn596315gd2";
-"ghsystem.doc-4.8"="75554yiry6a6riz7m9mwpbzq801a0bl4";
+"ghsystem-4.8a"="jsdc3b1x3hicf5w2kd4qi1q7chgam7ic";
+"ghsystem.doc-4.8a"="5ydr6q8ib2y9dbf9ms0pdf8r2i6cfvad";
+"glosmathtools-0.5.1"="k54clj6x7h0zz6b5r6q3v49vld7fqsv8";
+"glosmathtools.doc-0.5.1"="fdyfp8145xg7fc5j377bhk5p2nbc1h89";
 "gotoh-1.1"="lmsc2xb42i0w7ysmq1b7v69798xz6061";
 "gotoh.doc-1.1"="2nh9cbc9jvlwxlg3rhayjx63xyjcq0c9";
 "gotoh.source-1.1"="mbdzb4047z6wzr4gam5dfs5199hq02c6";
 "grundgesetze-1.02"="cd0rxykb2favdbw1f945aalhy0shxcih";
 "grundgesetze.doc-1.02"="7h4rhzzj2jak20jrgv9nnjri35iiyvdb";
 "grundgesetze.source-1.02"="dqxmkagx54l3zhsqm2iixizzqmcwqabv";
-"gu-2018"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
-"gu.doc-2018"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
+"gu-2019"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
+"gu.doc-2019"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
 "hep-1.0"="f70qsf585a6rw0lzizd5ps7lcv2qqsl9";
 "hep.doc-1.0"="aqaxn42inmw854cm1qps4fkcijc11fm8";
 "hepnames-2.0"="3f4dycnxwd41da8gh67gs89xcb3l7zl7";
@@ -6726,8 +6888,8 @@
 "hepunits.doc-1.1.1"="x8d9hwb5z12ng0ndny3b9vgja741bg9z";
 "includernw-0.1.0"="wdc8hhcr4fciy57k7sg28rkli26ybbq7";
 "includernw.doc-0.1.0"="xl68qyik71z5mhzvv2wzh8k6shk4mzbd";
-"interval-0.3"="kvyvv28dqv49nxdspbhayc8bbvigs6n3";
-"interval.doc-0.3"="iq5iw643gmd90xmzq9mkmkzf4ws2yxqn";
+"interval-0.4"="ihq8vx6xlxsa3nbyx62l072y79s88wnc";
+"interval.doc-0.4"="cyx47j6d57xvjl92cqs9aiv3q6vg0g03";
 "ionumbers-0.3.3"="rcar5imwp2v1vbkx3vxbq4zika5q8psm";
 "ionumbers.doc-0.3.3"="gsy4yhir7i0gwr0v1x46csqfyxa845r8";
 "ionumbers.source-0.3.3"="vd55vb8qai0kfy0mijzwzgdr52sa5a6v";
@@ -6735,8 +6897,8 @@
 "isomath.doc-0.6.1"="nhpi08b738hs457jqv7139b44z35xy5j";
 "jkmath-0.1"="l4nykjpkg2p19fdvy4a6h32ik4hcimdq";
 "jkmath.doc-0.1"="79bfybh585f88gcyc82b3ds7nx92jng6";
-"karnaugh-2018"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
-"karnaugh.doc-2018"="85z4avy6yfziaqd7b4w077ys394a3y4z";
+"karnaugh-2019"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
+"karnaugh.doc-2019"="85z4avy6yfziaqd7b4w077ys394a3y4z";
 "karnaugh-map-1.1"="mryi5vdfqia142b35n97pwzvh267y6bh";
 "karnaugh-map.doc-1.1"="3zmcy9jclc8q01d3jz642w6j96ksrpx7";
 "karnaugh-map.source-1.1"="8zpvpcrxb35311nynqsxdpz4iqjai964";
@@ -6746,19 +6908,22 @@
 "kvmap-0.3.1"="d71q1ji0yh69xkjbl99ssha9jk62l1id";
 "kvmap.doc-0.3.1"="6l4vg5g8zj833grmj03f8blmm2gz6q09";
 "kvmap.source-0.3.1"="m4nhvphc9fm2ivnr17byhp14acz4gdgl";
-"logicproof-2018"="24sbq01252ij7ldzb8achg4m73fakhas";
-"logicproof.doc-2018"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
-"logicproof.source-2018"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
-"longdivision-1.0"="12d362pdsx3kjb0rbkv1qhnh0gkpp3xz";
-"longdivision.doc-1.0"="qlha7k5qp6rwhcz4c97kv0zighjy2jrl";
-"lpform-2018"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
-"lpform.doc-2018"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
+"logicproof-2019"="24sbq01252ij7ldzb8achg4m73fakhas";
+"logicproof.doc-2019"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
+"logicproof.source-2019"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
+"longdivision-1.1.0"="hcs2sam1adsz8j6a3sb903p3i6g9r2yq";
+"longdivision.doc-1.1.0"="zbdps6zwk4sd7ilspvv2r5504jm0rl6v";
+"lpform-2019"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
+"lpform.doc-2019"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
 "lplfitch-0.9"="wxiv9ihwv4jdmr4ij0kvggbbnhbkh19c";
 "lplfitch.doc-0.9"="lzz01n3w8zq7p9bn7lpb6rp6zkgmmxjs";
 "lplfitch.source-0.9"="4lxhwsf7366gs7dkq9qk4pyphjv13ya7";
-"lstbayes-2018"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
-"lstbayes.doc-2018"="y00fm320wqy608v16idmzc27n8z4q4p0";
-"lstbayes.source-2018"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
+"lstbayes-2019"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
+"lstbayes.doc-2019"="y00fm320wqy608v16idmzc27n8z4q4p0";
+"lstbayes.source-2019"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
+"mathcommand-1.02"="rpn20gwpp62f33x0r1pfk1aha4jlrqv6";
+"mathcommand.doc-1.02"="p04g245ibp3cy6q4s8d15hlpb2w4m1ad";
+"mathcommand.source-1.02"="x4krsszrqh57w2srbp8i283yjp74696i";
 "mathcomp-0.1f"="rjxadz6409wc6g4ffb2jw40rw52rpwml";
 "mathcomp.doc-0.1f"="098xybrmriwyh7dl5vsxxxy4v7nf4bdj";
 "mathcomp.source-0.1f"="m3y8gisljqfy405d7cffqkda0mlz8rkc";
@@ -6773,6 +6938,8 @@
 "matlab-prettifier-0.3"="j5p21f3rgbx8hyf7rdjbpn845mw8fgih";
 "matlab-prettifier.doc-0.3"="zssm3k92kxa3mjja3r4sq2574f7byspr";
 "matlab-prettifier.source-0.3"="nkp80iyfa519dkk8gh7pk7fxbj4yn1lj";
+"matrix-skeleton-1.0"="wydb62byj1nkyfqizq3zajif1bs3ag2j";
+"matrix-skeleton.doc-1.0"="nq18wlaib4r99xga8rjidvq4dfmw3c3x";
 "mattens-1.3"="v9rf7qmiardpzq3zzqzz0p3qnh4lp1ck";
 "mattens.doc-1.3"="dnnzxlvc6vrfy4rrm4vw5w0g85fr886d";
 "mattens.source-1.3"="dw4c26cwsg1hz3wvldlyi8q4f60h3szk";
@@ -6781,13 +6948,16 @@
 "mgltex-4.2"="99vi0f32fla2hmsabmf0d2d3c93kay29";
 "mgltex.doc-4.2"="m4m59xlcjgnd6pbsjsa36da37b61ydlx";
 "mgltex.source-4.2"="k3yw9bfjgkqha34712n3mplxsaqg6j79";
-"mhchem-2018"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
-"mhchem.doc-2018"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
+"mhchem-2019"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
+"mhchem.doc-2019"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
 "mhequ-1.7"="a6dc7zsnfim8vbrwy8jzbhqhphwzh29j";
 "mhequ.doc-1.7"="im348hlavjvbkg67akz24kcx6hxa8w2h";
 "miller-1.2"="vgpbb05dlbyp2phs7cpwrl9l8v7yczdb";
 "miller.doc-1.2"="fj6s0x2rzvldwm2lrmjx0f3hy9l4ih51";
 "miller.source-1.2"="9n5iljgqg52bzz39i2ailg3wjgfvgvx3";
+"mismath-1.6"="ll7dwvfkg82z544cpqjnb4x015wr1lsd";
+"mismath.doc-1.6"="x3c0lilkwlh6r4s2d96nm3b0mv217bbz";
+"mismath.source-1.6"="bqz0jb26j2ry8zphlpahy27dn6bpl5sg";
 "multiobjective-1.0"="g6fgsq3fzl30yd4hrw2l6v73ldm957gz";
 "multiobjective.doc-1.0"="187syyaknws2i7i84xxzsnl9mj22z731";
 "multiobjective.source-1.0"="qhsg6vg0djg5h279gbs2lbally9vbrj6";
@@ -6795,27 +6965,27 @@
 "mychemistry.doc-1.99b"="immlivqi6jjsf5g4mkkr1nls63hb5nqm";
 "natded-0.1"="q4nx9b58zsmfmpap3h2qs8pr28vap5v0";
 "natded.doc-0.1"="bkhf1ldr1hzsyc06bcp7rld2dbf7p4rk";
-"nath-2018"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
-"nath.doc-2018"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
-"nicematrix-2.1.4"="32yys6vv5ckfi1zz5awb2jc8lsk3lz9r";
-"nicematrix.doc-2.1.4"="i5alc8p3r0x4w6cgyhy1kr4a1crbxb5x";
-"nicematrix.source-2.1.4"="dgqdnq7mjlch74m5yyl34sc0h7vlblnl";
+"nath-2019"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
+"nath.doc-2019"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
+"nicematrix-3.5"="zwxkicravgah5qajr495qgsc8l6hjwps";
+"nicematrix.doc-3.5"="5axjlm44yg4x6cy0jbr5p8lj3xcnz8xi";
+"nicematrix.source-3.5"="1fi36fy741374h8ajjy98476i2xih4dq";
 "nuc-0.1"="4mmxcaippf5kwp6sgcwbcf55m4j415ma";
 "nuc.doc-0.1"="b0pkc17fxlgygmfvr84gq1gf58w95a30";
 "nucleardata-1.1"="b76hnd5fpl3f1hfh8pwgrsnqkadqi2zn";
 "nucleardata.doc-1.1"="vm4jq8b5fs0jx5k2vb8pii7dk548r4vs";
 "nucleardata.source-1.1"="0zzzwn1vrb841l2264mz4cip65va3lha";
-"objectz-2018"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
-"objectz.doc-2018"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
-"objectz.source-2018"="62cr53ff66gqjf6y2i01gr70bblhn18z";
+"objectz-2019"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
+"objectz.doc-2019"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
+"objectz.source-2019"="62cr53ff66gqjf6y2i01gr70bblhn18z";
 "oplotsymbl-1.4"="xzbszdakjgy7svbksd8w1csc7akwbg8p";
 "oplotsymbl.doc-1.4"="g6zpsvgp1kar3i9rmig6g7y60a5mmk0g";
-"ot-tableau-2018"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
-"ot-tableau.doc-2018"="gcfni2sp25f6qswns4bfl585gfi36vy8";
-"oubraces-2018"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
-"oubraces.doc-2018"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
-"perfectcut-2.2"="6hp6k3kq4y44ky1n7xvxp9zs41v0154i";
-"perfectcut.doc-2.2"="ijp8qchgj2vj0ivcvjhi11ckv1iqxq02";
+"ot-tableau-2019"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
+"ot-tableau.doc-2019"="gcfni2sp25f6qswns4bfl585gfi36vy8";
+"oubraces-2019"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
+"oubraces.doc-2019"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
+"perfectcut-2.3"="ca48sxakrgh4g53i30xa7n9288r9wr51";
+"perfectcut.doc-2.3"="iry7v9xajbzxyn4bbq0pr7qah8a1iy8n";
 "physics-1.3"="y7b93d3qrc6674j33cy58v5c6fhlg3dy";
 "physics.doc-1.3"="ksf5jd2gfrq4dj2p1x2iwpgik5vb4pl6";
 "pm-isomath-1.0.04"="a768qpbak06xs38g804s8rr4lc9ad4kq";
@@ -6823,17 +6993,22 @@
 "pm-isomath.source-1.0.04"="d2mkfbifgmjm56i9vbrhwkvhyn2pj6bm";
 "polexpr-0.7.4"="1bc4pj1za2mcn97kkby4m5p5md08gm4k";
 "polexpr.doc-0.7.4"="hn2kmfk7gmp53n5r37dlrb2ljrfwpp17";
-"prftree-1.5"="90ydfx91y6rdn1sl1i4sxhf0z3gigm5m";
-"prftree.doc-1.5"="ssg7xvni36l7c69mcvf1ly55zxid9c1s";
-"proba-2018"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
-"proba.doc-2018"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
-"proba.source-2018"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
-"prooftrees-0.6"="f2p9ln64cc1wqimqa47w3hzgpdw054xr";
-"prooftrees.doc-0.6"="0g5fbbd7fh9inwmgq3c6cbk8ws4y19bw";
-"pseudocode-2018"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
-"pseudocode.doc-2018"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
-"pythonhighlight-2018"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
-"pythonhighlight.doc-2018"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
+"prftree-1.5"="jwghbxhmr9lnai4rh4gnrrd5i98vqi1j";
+"prftree.doc-1.5"="7a0lrs2rak9c45ayjfmn8ghx89zab2pg";
+"proba-2019"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
+"proba.doc-2019"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
+"proba.source-2019"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
+"proof-at-the-end-2019"="w5hmk64hm538mzqal4i9gxzadqpxp30a";
+"proof-at-the-end.doc-2019"="q8jniylvknscicjp5m5pd1z3751b06m7";
+"proof-at-the-end.source-2019"="nk3sbcnk3176zk76yf9nzj05q94ab006";
+"prooftrees-0.7_svn_8641"="rfmxpnzn1lkxx7b9ylvpnwmk1rag2nda";
+"prooftrees.doc-0.7_svn_8641"="zx19hnafp63xl2vas9frf6blm8974b94";
+"pseudo-1.1.2"="c84fsxf6k7a53jsahws62fmnfkmlq7y3";
+"pseudo.doc-1.1.2"="wmnkvbd0cw3zgy825h5k2x8pv7g4hsyv";
+"pseudocode-2019"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
+"pseudocode.doc-2019"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
+"pythonhighlight-2019"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
+"pythonhighlight.doc-2019"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
 "qsharp-0.3.1901.1401"="fq2s3z8j8fy6y3sm07p4rqmxk0zkq6ky";
 "qsharp.doc-0.3.1901.1401"="kh8kj39fd45k25zli0w26kl2j0fvvxiv";
 "qsharp.source-0.3.1901.1401"="fz446cncrzdyjyxi0zvxnr9aizanr8v0";
@@ -6871,24 +7046,24 @@
 "simplewick-1.2a"="hfv61gj0g68m17iiimvp1zqzi7ri2z67";
 "simplewick.doc-1.2a"="kxfipc2w97479is7sdd9fmahrbwfk2l7";
 "simplewick.source-1.2a"="48db2ywp9dg6nd5xbclw2w85id3mf97r";
-"siunitx-2.7s"="s7wn6sk9mzgk192avn2vsv7hhqjsplj9";
-"siunitx.doc-2.7s"="84gfibh266cf463b0xzwaigfb0v7gl78";
-"siunitx.source-2.7s"="311lawimcw2jfn4nl26mx10brxid96j9";
-"skmath-0.5"="0dfphlmm827v5pn92h7c99i8mcdy23yv";
-"skmath.doc-0.5"="czkik5jklsqkjaswhx9b3y36i9payg5j";
-"skmath.source-0.5"="f4i2lr6v82i92s6dw5jhzh6pn6ac5dh4";
-"spalign-2018"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
-"spalign.doc-2018"="s49kpxsa940l85yc6wzmb71i789874qw";
-"spalign.source-2018"="ahwv44vd19kn8vzbx7ya6275ysnp3q25";
+"siunitx-2.7t"="fd73bsz8nnv9b6zb1q4aqbw6f1qsnqrh";
+"siunitx.doc-2.7t"="98zp3wpjzjsd5vz8370267kxjqq9a372";
+"siunitx.source-2.7t"="50k08510bwm05ag510i76wfxcd5yhnbs";
+"skmath-0.5a"="b9bxkvgrx8566jfqh62vxl9912llffqv";
+"skmath.doc-0.5a"="kpdr4vz3z7k8my710n5772vkbd7jwisb";
+"skmath.source-0.5a"="iks3azv4hmv59laiywdsqjqdsln0a1kc";
+"spalign-2019"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
+"spalign.doc-2019"="s49kpxsa940l85yc6wzmb71i789874qw";
+"spalign.source-2019"="ahwv44vd19kn8vzbx7ya6275ysnp3q25";
 "stanli-3.0"="6ws3b75qs69jhag24aki76ndgryb9f9s";
 "stanli.doc-3.0"="iygalq6h7fdik4cfjyv5i62mid9gdr1k";
 "statex-1.6"="h8y1sw298ilqajy8vmi00yl9wpklf5fa";
 "statex.doc-1.6"="ksf4vra9673l5ycl8np7l55rxpj1xazg";
 "statex2-2.1"="a7h5agdmh5xw1646faxxwd1n1ajci53h";
 "statex2.doc-2.1"="cpiw77bl9p7y9vd6dwg4lnlk2n8lmmcj";
-"statistics-2.0"="384198ff1qvjya61wj6lgc28s39wwc5y";
-"statistics.doc-2.0"="id2796f8rd5li616p354hbn7l96r2dj1";
-"statistics.source-2.0"="z8i5axapmf586qndlpl83bdwc7l5zfcv";
+"statistics-2.2"="gnv5s73wz2qh8yldvh7y21f2v8gyipxh";
+"statistics.doc-2.2"="hf10bfp5f60am8rhwiq4k18jdx1lyma4";
+"statistics.source-2.2"="k9bm1zgki9d1h1qhwfi0723n1zvdb4fx";
 "statistik-0.03"="2kynwfkkx5b782l4znp1f3vml1lwiihh";
 "statistik.doc-0.03"="m8749zwgm8vz29d24idrsimd6dizdjlf";
 "statistik.source-0.03"="bjfb31dxs4jylym9qc03rp9qjvmm6dn6";
@@ -6906,8 +7081,10 @@
 "substances.doc-0.2a"="apg59a7fh980vddnfzjspsyq1jfnvsn7";
 "subsupscripts-1.0"="1nyf4q1szg0q649jmqlzd5p8j9h1fjkh";
 "subsupscripts.doc-1.0"="9yhhgbj7i83v21flfr3gkr35vkdxpx6m";
-"susy-2018"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
-"susy.doc-2018"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
+"subtext-1.1"="dz6mm9cy33qhlw46fkirvzlqhsknjnak";
+"subtext.doc-1.1"="bllr8v8mflvi6ih3z3r73b5y6vmprafl";
+"susy-2019"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
+"susy.doc-2019"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
 "syllogism-1.2"="gx6hjs32rq3d1sk28cs8ng8m2i1xwgrf";
 "syllogism.doc-1.2"="m6nv4hcwmh5qa7m411vwm8c6s1xbdbx4";
 "sympytexpackage-0.3"="x7b456c7l5nkwaf19g29rpc4m6qz27h2";
@@ -6915,24 +7092,26 @@
 "sympytexpackage.source-0.3"="lzsz5ly9rnzph5nxnaqbf9nf5abm302c";
 "synproof-1.0"="bv32jflr6n3jdm93xxpbvhz1lrhc3i9v";
 "synproof.doc-1.0"="i74i5km7n20hglq2icb62xcc2pl1fawc";
-"t-angles-2018"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
-"t-angles.doc-2018"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
+"t-angles-2019"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
+"t-angles.doc-2019"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
 "tablor-4.07-g"="fs9vl9gi63j8bqgiv06dbhbgs2vl1c8r";
 "tablor.doc-4.07-g"="k3d87x83igkq78j1yvav6b08y818qgz9";
+"tensind-1.1"="f76zwp7giabai57l4ryzin9s4b412g93";
+"tensind.doc-1.1"="pq5ahxwn442zc4xc7yilip4ciz2gvhx0";
 "tensor-2.1"="4gzhhxr2w1bbwb0yf799siazn5d6538j";
 "tensor.doc-2.1"="j4hxlj9f804ffrdp8pf06mj79yb8j6qy";
 "tensor.source-2.1"="89fmh96xlj21pm07c80q9cgiaj2a3c3r";
-"tex-ewd-2018"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
-"tex-ewd.doc-2018"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
+"tex-ewd-2019"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
+"tex-ewd.doc-2019"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
 "textgreek-0.7"="m1b05a740x322la70k6ib44sk6cky167";
 "textgreek.doc-0.7"="vah190cds1677yv86nfcyriccln296yd";
 "textgreek.source-0.7"="cqc5zj4ck54rayydvml5m3n4hfnykglx";
 "textopo-1.5"="rvcbhsz8win1g08s6az11ji6ryd9b1fl";
 "textopo.doc-1.5"="3f9w8nbyyjismgdxb5daijc88hfp8m8k";
 "textopo.source-1.5"="4h2x01rkf91dha2yxqpdfgv5qsmz34sx";
-"thmbox-2018"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
-"thmbox.doc-2018"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
-"thmbox.source-2018"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
+"thmbox-2019"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
+"thmbox.doc-2019"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
+"thmbox.source-2019"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
 "turnstile-1.0"="c4nm39zwakha4bk75092371db2n0nx4m";
 "turnstile.doc-1.0"="w2hv466gzdsc7vp0al5xk7bwa83szvr2";
 "turnstile.source-1.0"="8p5g2w1pcaxhg2a54rq2h23zd7cbj60h";
@@ -6942,11 +7121,11 @@
 "unitsdef-0.2"="j5dhzwnaizymvvj0cvvn8hcjgpiaw3xj";
 "unitsdef.doc-0.2"="m3n8c9wpk9m0il8yn3ip4kwvlbyzfndw";
 "unitsdef.source-0.2"="rpwd7p723jsqcmcl28kkfg3fg9dmyfxa";
-"venn-2018"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
-"venn.doc-2018"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
-"witharrows-1.15"="mrhixqq8qr6yjszjq9435wlybp9fapl1";
-"witharrows.doc-1.15"="pp7adr6dkl9w865rp5lssrsnl8xf7w9n";
-"witharrows.source-1.15"="b5p9qhq348hynyiw0wky36p286xx52sp";
+"venn-2019"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
+"venn.doc-2019"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
+"witharrows-2.0"="2pd1kgflbhjcdy8n61a7dn90g8092llw";
+"witharrows.doc-2.0"="3ddq9k76s9jascnv0xklzs312ygn7bsp";
+"witharrows.source-2.0"="c2spayi9ibic8ci7gklmp0b2pcdxxpv5";
 "xymtex-5.06"="lh5pr87m1xhyaj74pmwc8vx3an7gppxw";
 "xymtex.doc-5.06"="bbknma6166kqvxhj3523p85lq7qn1ydc";
 "xymtex.source-5.06"="is60w9mjif26y9s3vv8c0v26z16m97g3";
@@ -6961,10 +7140,10 @@
 "ytableau.source-1.3"="2rblxwykvkrljn1xqz7zw9dz1wyib686";
 "automata-0.3"="7v2smy8hlz3yyqwcw11mjgh35z81n22w";
 "automata.doc-0.3"="49q82z2aa5xqgz3wsgcyix4a9hqfh5q6";
-"bbcard-2018"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
-"bbcard.doc-2018"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
-"blockdraw_mp-2018"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
-"blockdraw_mp.doc-2018"="n0a85bchn27q09771kx4idy7hic8iq42";
+"bbcard-2019"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
+"bbcard.doc-2019"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
+"blockdraw_mp-2019"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
+"blockdraw_mp.doc-2019"="n0a85bchn27q09771kx4idy7hic8iq42";
 "bpolynomial-0.5"="rwijp2lyphgyixi6l1d4j9vrwchr2m8k";
 "bpolynomial.doc-0.5"="1561z658ar885xsbg15psi82qjzc4zbn";
 "cmarrows-0.9"="03hcqmzx16n3y4vvh8aj6vrvpn6minmk";
@@ -6973,9 +7152,9 @@
 "drv.doc-0.97"="3sw31jvb9l0n124h9kq9byzmy3ay1wxd";
 "dviincl-1.00"="gf980a6jm4ar28h7464qx1nayjqvi1xx";
 "dviincl.doc-1.00"="sxmj8rcvwj2q4g3c8ha9a84avsn4w1aq";
-"emp-2018"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
-"emp.doc-2018"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
-"emp.source-2018"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
+"emp-2019"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
+"emp.doc-2019"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
+"emp.source-2019"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
 "epsincl-0.2"="srznlzss5ag3br4pmwny7aqq7gjmqv98";
 "epsincl.doc-0.2"="993m24spzl4jymn69sczm7a8d1ix0zcc";
 "expressg-1.5"="yd8jja79lbjibls84q1r2iqls9hgfp3d";
@@ -6991,23 +7170,25 @@
 "feynmp-auto-1.1"="ps9nijgd6kcnsgvg3gq9gn53mf42xdwk";
 "feynmp-auto.doc-1.1"="a1i2ay1mvkpdicyzmcapvpv3fkz6pk3c";
 "feynmp-auto.source-1.1"="2iirzys42l2k5fmpjxxsn31wpfzv02d8";
-"garrigues-2018"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
-"garrigues.doc-2018"="zk53ay759rgd40fmf7byqpqmibw7rrza";
+"fiziko-0.1.3"="v4nq87d4dahjnskkgvgjf1sh65m9gvkl";
+"fiziko.doc-0.1.3"="djw7v20xazg82gkrh6wxw05vmih1d2jg";
+"garrigues-2019"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
+"garrigues.doc-2019"="zk53ay759rgd40fmf7byqpqmibw7rrza";
 "gmp-1.0"="pzdcapvcjvbn48n6jnl1hs9mbycrccyx";
 "gmp.doc-1.0"="6ir5fj3s209rk3k9r2wbsz46kij8kw9q";
 "gmp.source-1.0"="an64d733yq3h8fy347lppy46yklczrsg";
 "latexmp-1.2.1"="x2plwjlw7cdim8lxh530zf5v2zjsfaxb";
 "latexmp.doc-1.2.1"="d9q1zwyad9p1nkk08mq4lard5rv291rf";
-"mcf2graph-4.36"="7rm9mprsci1rq97780sv4aj48lxmdsqy";
-"mcf2graph.doc-4.36"="n85x8m5wbx4zhzwwb941xjmycm7b4v5f";
+"mcf2graph-4.45"="v44h4p3gc11sj4cmzpyy0frfmp79pfld";
+"mcf2graph.doc-4.45"="63nlb7vhm682gdwimvhl2ipbs4x828gy";
 "metago-0.9"="4gzbngrpwjbfq5d7jcfavhsmvfwnb77z";
 "metago.doc-0.9"="nn86x3g4dv9y5mbr83r8camfxg0xkv1g";
 "metaobj-0.93"="83hf8awwak3msfmran6q2ylgcs6720lb";
 "metaobj.doc-0.93"="cqzsavf652pmgg7v3isv80szkc3s162z";
 "metaplot-0.91"="jmp99vj4w825s9qx6m8bb7q62l3jp5bk";
 "metaplot.doc-0.91"="jzdw7b2kh7a49vngbwb0xm69kwfl288z";
-"metapost-colorbrewer-2018"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
-"metapost-colorbrewer.doc-2018"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
+"metapost-colorbrewer-2019"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
+"metapost-colorbrewer.doc-2019"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
 "metauml-0.2.6"="15p3yrkws6by8w8wmrnnxij1kp71sbvq";
 "metauml.doc-0.2.6"="mcgmrgsh7x21ci4n8d0yqy9clx7jp1ls";
 "mfpic-1.10"="lslzdy39sbfb1xa5rv3j0whpg1c8vkj6";
@@ -7020,8 +7201,8 @@
 "mp3d.doc-1.34"="gkjwsbz7sgdj5k6vzvswb4k4yb8xkhld";
 "mparrows-0.1"="d1v4j0hrr4cxm42vwlclvccp1wmvbbyh";
 "mparrows.doc-0.1"="jcf975s8ianx9dmiqa9lvv9ywj62rmap";
-"mpattern-2018"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
-"mpattern.doc-2018"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
+"mpattern-2019"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
+"mpattern.doc-2019"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
 "mpcolornames-0.20"="j7qagfiggfwjqapdrh1z23n0paj54bgc";
 "mpcolornames.doc-0.20"="jd5ai6f2ask0pbhrw46bdw8cfsrfpmps";
 "mpcolornames.source-0.20"="1f0wy1lrg0733vnq5mjwcgdi5rnprbis";
@@ -7032,10 +7213,10 @@
 "mptrees.doc-17.06"="50ggxw3jc63clpnz0fnxv2p2h4cgwjhl";
 "piechartmp-0.3.0"="k15blq7m78skmi2q46gnazh4qhpfhggs";
 "piechartmp.doc-0.3.0"="xcn16bgnyi4h8pqaisjivmywg234shgm";
-"repere-17.11.2"="b3xk63619ck4b1j6c1kwinm7ih0h1il4";
-"repere.doc-17.11.2"="r4hyv0myqbh20gssm6bzlrlqrhxgjby2";
-"roex-2018"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
-"roex.source-2018"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
+"repere-19.06"="4lbpfqmnvdw93pmabf34bpj69ww2jd4z";
+"repere.doc-19.06"="fjwv88ysck07zlpclf1fyjs4jyzm4mhx";
+"roex-2019"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
+"roex.source-2019"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
 "roundrect-2.2"="zihpsds4r0v44h4bbmmpjgx28y3knqc8";
 "roundrect.doc-2.2"="g6kih4vjqjg4v4qxlxkkxgwhqv0x0pdx";
 "roundrect.source-2.2"="rdydd5cwvnbzjlhdd4kcfjq54rzw9k81";
@@ -7047,8 +7228,8 @@
 "splines-0.2"="bn6gc1n3vbzrns1pzdjc4hf647g6pgj5";
 "splines.doc-0.2"="91g13liz4sfn16vzcvlpqhm388wwvs02";
 "splines.source-0.2"="p527173paps7gqz8wq02jkl6nbx8vw6z";
-"suanpan-2018"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
-"suanpan.doc-2018"="lvbx0yizc42hgqymw9yscja667h4mz1a";
+"suanpan-2019"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
+"suanpan.doc-2019"="lvbx0yizc42hgqymw9yscja667h4mz1a";
 "textpath-1.6"="97b12i6v4bz6095z7i7yjf7c3fqg232d";
 "textpath.doc-1.6"="zliwrx3n2r3xjhdi0c80rncxwk5whg76";
 "threeddice-1.0"="91chpiy1n4mg3vcabcm8li91q9lnkcvc";
@@ -7056,17 +7237,21 @@
 "abc-2.0b"="pmaw58frrdbnj81n21mg15yiz7sp0rci";
 "abc.doc-2.0b"="gild9nm8zph2kr6mj9w0sans8r1jz114";
 "abc.source-2.0b"="g8a921yi51lvw6mqj1hxmkwqqh9fkl03";
-"autosp.doc-2018"="pcdx1krysbff0127nzvfndqcc0p2liam";
+"autosp.doc-2019"="3pp981hsw8czivz0sv8bf5cak4008y4b";
 "bagpipe-3.02"="z9akwcd2fdwzps3bws9vamik64pyyl73";
 "bagpipe.doc-3.02"="6ssnq5756qnhlbyn08pncriz5la8hpzy";
 "chordbars-1.1"="vdmircid5yrvvywih6m0nf5c6b59mz5r";
 "chordbars.doc-1.1"="bld0fmrhhzf1dd6wm4qc790an3hayiip";
+"chordbox-1.0"="0w69pjdnqx79i77jwyjwqhnwm1zss6c4";
+"chordbox.doc-1.0"="9lhbmb35cckxa9bmr4p0vj47mprmskac";
+"ddphonism-0.2"="fsmrgvm95n65brnlslmnyf354b5139bk";
+"ddphonism.doc-0.2"="kav924pxscx87d6qp6hr92h7zy3zip23";
 "figbas-1.0.3"="xkm3zvkdi7512qnk4kfrb875c3q2gfr0";
 "figbas.doc-1.0.3"="pal9rb3bmrypdk6icdv7fyhdfn48qfsy";
 "gchords-1.20"="06q4p9d1j06dz7sqmjyka4k6r2x3l7nd";
 "gchords.doc-1.20"="icn914698j8gkir78wqnjqw08n2zhsdx";
-"gregoriotex-5.1.1"="qg9nr7v2nmiwq65qvlllxnh86swacsxf";
-"gregoriotex.doc-5.1.1"="94i10450xscqck6plvwwl4y4mz58kiw9";
+"gregoriotex-5.2.1"="vpmnsb5zdh11g4v784plxrd91v919vnf";
+"gregoriotex.doc-5.2.1"="qpax5iwm8zxkh9z6i0pckdz037aw29yn";
 "gtrcrd-1.1"="mqaamg8ick2z265cwl1yd6n81f76y8b8";
 "gtrcrd.doc-1.1"="scx1xk6y85zfbn82aqf3cw1sx0prfmgh";
 "guitar-1.6"="xw88497a60kkbh8pribpsi80bj2wdvw2";
@@ -7074,33 +7259,33 @@
 "guitar.source-1.6"="7i8ma18fm6piiwsccj8lq6nn446mvqrw";
 "guitarchordschemes-0.7"="snccmsq130kvjn2ly56cjck56df5mdzx";
 "guitarchordschemes.doc-0.7"="p74vljfafyj0ap707aydgpf4xs2pabr8";
-"guitartabs-2018"="zl4w2llxyb1173b4asgk93bh70rxil42";
-"guitartabs.doc-2018"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
-"harmony-2018"="isfyzam48q2f90vyh78rp5df93wzdfq4";
-"harmony.doc-2018"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
+"guitartabs-2019"="zl4w2llxyb1173b4asgk93bh70rxil42";
+"guitartabs.doc-2019"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
+"harmony-2019"="isfyzam48q2f90vyh78rp5df93wzdfq4";
+"harmony.doc-2019"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
 "latex4musicians.doc-1.0.1"="aph09gf5cfxm7prwbg5v9y3jz03vpdif";
-"leadsheets-0.5b"="j73sldpahwci9i8yc04dpwn9l4jcvbn2";
-"leadsheets.doc-0.5b"="6wvwwqq7zsb3mkjw24yhz87g8agnafil";
+"leadsheets-0.6"="371j5dnksvxxm6hz1cia15ll3w2mx17p";
+"leadsheets.doc-0.6"="7nbq4zi22pgsidfknddw8a5iqnfsxhnz";
 "lilyglyphs-0.2.3"="qn7pjnhq8aaynk7s8mis9g0y0m16fbnh";
 "lilyglyphs.doc-0.2.3"="89k4bzc0jy0yx59y8ssiqvjgqspsfyry";
 "lilyglyphs.source-0.2.3"="30yzqq1pw4mh74c87xxk12n834vpq8m6";
-"lyluatex-1.0b"="pmh6ggpa31bg09j8xs1ihfx42mcbaihh";
-"lyluatex.doc-1.0b"="5skl26gg3ypzlccyi84yccmw2a2wnb0h";
+"lyluatex-1.0f"="zgh2b7q3w9p0dic23cwddhhx5cqsdqm7";
+"lyluatex.doc-1.0f"="c8739z6r5mpk001ra6if93kfw799rphi";
 "m-tx-0.63c"="jjs536dwc3qbi72s4d7qr8v3b0rxd41g";
-"m-tx.doc-0.63c"="sz59kis6m6nxzirhkhwdsnyqqws9z0ck";
-"musicography-2018"="hlsnh2b22rxk1i9vq5la2igc4jmvp9b3";
-"musicography.doc-2018"="6b2pfy92ib43gmrcf4bzr02s2qq3yn2j";
+"m-tx.doc-0.63c"="74xm6cv0ja6h6qcgv1v7mkak90l5qsxh";
+"musicography-2019"="rgdiagjsc1b03pp5056lsgz1ad74ngfw";
+"musicography.doc-2019"="rnpwpnrjlqcyrmnpkfj497752f2bdfdn";
 "musixguit-1.2.2"="29kbldyqlcf8xs5yh5gsx0m7liwbnqg1";
 "musixguit.doc-1.2.2"="pam1limbbmc1jvhznsvrwslmlr86y7vf";
 "musixtex-1.29"="si9nrmj1g186af47kyfsrv41h3p3irsf";
 "musixtex.doc-1.29"="ls2sq1mynqa6a8z3dxjblla277ml7wr2";
 "musixtex.source-1.29"="kb90c2jhgmx77d12x4rg6yivpiq5rxq1";
-"musixtex-fonts-2018"="a8kdi135xis6qcwy90yisg4wafklmw2y";
-"musixtex-fonts.doc-2018"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
-"musixtnt-2018"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
-"musixtnt.doc-2018"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
-"octave-2018"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
-"octave.doc-2018"="152jq3brzf99xwq983k2afrdlq5lhazb";
+"musixtex-fonts-2019"="a8kdi135xis6qcwy90yisg4wafklmw2y";
+"musixtex-fonts.doc-2019"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
+"musixtnt-2019"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
+"musixtnt.doc-2019"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
+"octave-2019"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
+"octave.doc-2019"="152jq3brzf99xwq983k2afrdlq5lhazb";
 "piano-1.0"="vbbcddqx5sk4gg9w1882g4a8lrnnqn2d";
 "piano.doc-1.0"="bn1c29lffw62jsyiygh3i0biaaz0asmv";
 "pmx-2.84"="hamhslbh8fhjjvzvksg0c9xkjwv4kajw";
@@ -7110,27 +7295,27 @@
 "songbook-4.5"="jimhdkxsiqzkwnsjsw1rynkrfhhh5n0d";
 "songbook.doc-4.5"="62n794w3gxyivisl16xrz9lg2r0a0s38";
 "songbook.source-4.5"="nyn7mkdylkpywca50izj2czf485s8sm5";
-"songs-3.0"="sdy6ynmyz3w3y0ss1yiaindzmwpadqwi";
-"songs.doc-3.0"="zpkiq08d6igq9wvg4qhl02b7mk5zfj6y";
-"songs.source-3.0"="0lab84qhskdc7fvf8my7g3lcs9ikblh1";
+"songs-3.1"="1air4zpymnrajglbvp8yyfd3z4a72d8g";
+"songs.doc-3.1"="xcfy7all4n141r55c17gsnxj8x40dlqx";
+"songs.source-3.1"="2wx7qd5hzairbrb0qcs6mnkk10l81jh3";
 "xpiano-1.0"="ha9dpa3kpmhbzy3f16d7s6mlvh563mgj";
 "xpiano.doc-1.0"="x579hyy5sibzsn9ldrkwsqrjjrji0xak";
 "xpiano.source-1.0"="77wwb6wxd7c9cqmjlq9cij6p4ibr3r3r";
-"abbr-2018"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
-"abbr.doc-2018"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
-"abstyles-2018"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
-"abstyles.doc-2018"="xba8x95rimsa16xhr7nziglk7djzv6w8";
+"abbr-2019"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
+"abbr.doc-2019"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
+"abstyles-2019"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
+"abstyles.doc-2019"="xba8x95rimsa16xhr7nziglk7djzv6w8";
 "apnum-1.7"="hvw4fwjm3n7hfj08ik7nkg5w51zg9mbx";
 "apnum.doc-1.7"="isai4pdly4pkhhjnh3afijlrm9mw2i0q";
 "autoaligne-1.4"="lvfsylaqq4sxi02bv9v6z1sy8gayb570";
 "autoaligne.doc-1.4"="7rzi51xaglby24ihmzplk6d0yk2x1wlb";
-"barr-2018"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
-"barr.doc-2018"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
+"barr-2019"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
+"barr.doc-2019"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
 "bitelist-0.1"="22q3ivacwl5p0c8plgg1gjz8413l601b";
 "bitelist.doc-0.1"="n00mlj88l6djwcxzj0l6pxiiba94kpl3";
 "bitelist.source-0.1"="w38ccrprx1rn0pc34mr29bnx7gaxa7k8";
-"borceux-2018"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
-"borceux.doc-2018"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
+"borceux-2019"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
+"borceux.doc-2019"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
 "c-pascal-1.2"="m4x5kfq1vm6vzv0ic910fqi1qijn7g34";
 "c-pascal.doc-1.2"="v6wqph0gaibfv4cwph5w0axp5sf70m6w";
 "catcodes-r0.2"="haljpnhhzvyhmnda9vgk77md5zm88773";
@@ -7138,45 +7323,45 @@
 "catcodes.source-r0.2"="6ljn2lwg4bzr9c02d01vh0saja9sz9yf";
 "chronosys-1.2"="qswnnwyghvsbjf3ddvbl7nl00qxwhs6h";
 "chronosys.doc-1.2"="m11jpa7crg095qf03qx7gcrvcb41f83a";
-"colorsep-2018"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
-"cweb-old-2018"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
+"colorsep-2019"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
+"cweb-old-2019"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
 "dinat-2.5"="a1gcgwkj0pd1lqdm20356fbjram3wpa0";
 "dinat.doc-2.5"="6dzss5231fdqjzs8j7z4gfx5iga4m895";
 "dirtree-0.32"="xgxmz79hj1q6qyfkdvgj5nm26865dfmm";
 "dirtree.doc-0.32"="im2rhm2fmqk1snrhvrsm112jw1hwcyw8";
 "dirtree.source-0.32"="pyfcid8hir7vvm6fpwimlfgs65dgzfm1";
-"docbytex-2018"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
-"docbytex.doc-2018"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
+"docbytex-2019"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
+"docbytex.doc-2019"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
 "dowith-r0.32"="vdgkjxphpmycfcsimxih7gnhv58hd9vs";
 "dowith.doc-r0.32"="ql8hdyxcgss7rvlp1913rp52wn4wjvxn";
 "dowith.source-r0.32"="xq0r5c58clz8qzbhz01gv2ph1rs9wg1n";
-"eijkhout-2018"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
+"eijkhout-2019"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
 "encxvlna-1.1"="kz3nvz29czk573cxbi5a5l3mbjs3vfkh";
 "encxvlna.doc-1.1"="gv5k36s89g2zslq75s2j7ffvwdiz4lkb";
-"epigram-2018"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
+"epigram-2019"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
 "epsf-2.7.4"="55vrh3nmvb5p1nkkpwhrq9glsf64bc3k";
 "epsf.doc-2.7.4"="b78n5gm14qk3brywpz4prglkqnpx9fpg";
 "epsf-dvipdfmx-2014"="qvf8n367wnjahzv8bgh7rmqqgnwraa0p";
 "epsf-dvipdfmx.doc-2014"="b290mp5xqfqzzxa92s9j798qyycaph9a";
 "fenixpar-0.92"="61jkr83g6i0bqmp0qg4w09gj7gwcdn96";
 "fenixpar.doc-0.92"="95h02nbzq72mmblzawgqsk8530wi1dpb";
-"figflow-2018"="166qngk7yy25v0rbjavi53m0sazk90gn";
-"figflow.doc-2018"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
-"fixpdfmag-2018"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
+"figflow-2019"="166qngk7yy25v0rbjavi53m0sazk90gn";
+"figflow.doc-2019"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
+"fixpdfmag-2019"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
 "fltpoint-1.1b"="q48n0d38d8y8m4z6lgmfza4gh1mrzkjn";
 "fltpoint.doc-1.1b"="6ljc5c3g53ig6yj7blcfqy43yvlw5fqf";
 "fltpoint.source-1.1b"="l5ybd1xn6abfhq5kjhvig8zsp721ldzg";
-"fntproof-2018"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
-"fntproof.doc-2018"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
+"fntproof-2019"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
+"fntproof.doc-2019"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
 "font-change-2015.2"="rvxfsxkwag1pzhh448n737b6ngadrlyg";
 "font-change.doc-2015.2"="14ck6s61lx6gyqmf6i9659lvwd3zh6hs";
 "fontch-2.2"="0h81qy37h3jb2m6g18969189a1jbi73a";
 "fontch.doc-2.2"="csygimfjbm36zfm403jz4kw39zv23zzb";
-"fontname-2018"="p97hi0yx6kka7s80j9cazhpxvhfnf8v2";
-"fontname.doc-2018"="vg79z64v459vl42ba50sar4dhafwr1f0";
+"fontname-2019"="p97hi0yx6kka7s80j9cazhpxvhfnf8v2";
+"fontname.doc-2019"="vg79z64v459vl42ba50sar4dhafwr1f0";
 "gates-0.2"="awaxppd6dhv239x03vpwy2hn2zwldmna";
 "gates.doc-0.2"="qqmjk1276kdv0rvsv86gi7ysl3warg95";
-"genmisc-2018"="wyk31w93k04bqfqik1ad1q7bx88m6v4b";
+"genmisc-2019"="wyk31w93k04bqfqik1ad1q7bx88m6v4b";
 "getoptk-1.0"="2crphpdvd2wcnqrxm180im84ask9hcq3";
 "getoptk.doc-1.0"="vcj36dsv4y0k8czii5fb5b51c57c7rsd";
 "gfnotation-2.9"="3gkmqmawpzqvqsqcmrfc50261mqv8nmm";
@@ -7184,8 +7369,8 @@
 "gobble-0.2"="r1knqlpg1ndgkvkmi038jy9g450qm2k4";
 "gobble.doc-0.2"="kpgjg6n4p17fvw93qyih0xslid4x7w66";
 "gobble.source-0.2"="i8dh8xayn1a2lsslnr8wygj0qr168wpx";
-"graphics-pln-2018"="xgwh2sl1l9ckm86ng0pkk49iiajvpvkz";
-"graphics-pln.doc-2018"="0f496bqsp8ar70sw10kkspqpwldwabj6";
+"graphics-pln-2019"="xgwh2sl1l9ckm86ng0pkk49iiajvpvkz";
+"graphics-pln.doc-2019"="0f496bqsp8ar70sw10kkspqpwldwabj6";
 "gtl-0.5"="bypkgzwx7y2srhdxv94a9zvbyxkbwgqh";
 "gtl.doc-0.5"="777isinskwws7m2b47a0w26w9dsp01qd";
 "gtl.source-0.5"="di1lh2gf5xc3wk34q247zvgvgnmnwdh4";
@@ -7198,26 +7383,26 @@
 "ifetex.source-1.2a"="17yyam712knw6h46kd7q44gzkbbg9r5p";
 "insbox-2.2"="n1wbssqq7h2g00jmvy1g9cx2pb8lp8n3";
 "insbox.doc-2.2"="i5c06kh17g5ghsjivlxsipgkd0ab05x9";
-"js-misc-2018"="shwn2dwi83plybk71sjp3i1drw7xxd18";
-"js-misc.doc-2018"="ppwwslknxds8l1spalpgj950n9amsinz";
-"lambda-lists-2018"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
-"lambda-lists.doc-2018"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
+"js-misc-2019"="shwn2dwi83plybk71sjp3i1drw7xxd18";
+"js-misc.doc-2019"="ppwwslknxds8l1spalpgj950n9amsinz";
+"lambda-lists-2019"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
+"lambda-lists.doc-2019"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
 "langcode-0.2"="6fwjx029l2nalfz81qfn1k7yp0z7iycb";
 "langcode.doc-0.2"="vq8m73ckjicm53q7v8q5k0rhldq55hkc";
 "langcode.source-0.2"="nk07pqb0mfq3vzpdddhb8w3w85svpbq9";
-"lecturer-2018"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
-"lecturer.doc-2018"="avsvzihsa6jn0abvd4122k358w5sf4y0";
+"lecturer-2019"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
+"lecturer.doc-2019"="avsvzihsa6jn0abvd4122k358w5sf4y0";
 "librarian-1.0"="5siy7c2xclp1c305vqiayp0n5dzil1gh";
 "librarian.doc-1.0"="8nxz7ac5hdp9820nsfkvhvv0bn55idq2";
-"listofitems-1.6"="lrr7vcc75jia41nnvnjn2pc5mlivqin2";
-"listofitems.doc-1.6"="z25pp91nbfqc6h9vzi09n8dy6daa2yj1";
+"listofitems-1.63"="kjbscx4fcjbfc502w6k03s466y7xnz34";
+"listofitems.doc-1.63"="h85gl0r28ig6fzm0rh972bxfs48ali56";
 "mathdots-0.9"="6avfq6dlhbqw1i3jrjgcdbdzx2a0w5nq";
 "mathdots.doc-0.9"="syy0i8rjssr81sy26xcx43jbripqx9d9";
 "mathdots.source-0.9"="zpl4xjhcq4hs18hqiyljy3lfyx9xbng3";
 "metatex-1.1"="jidirfi30wf0b4aq279lim2pylirmv3r";
 "metatex.doc-1.1"="b0rgim8d9dns88zvf283czk4zgsvvi3b";
-"midnight-2018"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
-"midnight.doc-2018"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
+"midnight-2019"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
+"midnight.doc-2019"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
 "mkpattern-1.2"="q3wl8iaijlhsg5qx35f5gcmz6gwj543g";
 "mkpattern.doc-1.2"="8hx2z63klm8dmyiyfg069qy4vf5qzc4f";
 "modulus-1.0"="ia3l2fxzy8dvm42nil9c3c3hgpg65kj7";
@@ -7228,18 +7413,18 @@
 "multido.source-1.42"="qc1473wf17ppqxy11xgz226w4d8zrxk8";
 "navigator-1.1"="0q23aqjf31y78hxmlhx4mf04c95rwdn3";
 "navigator.doc-1.1"="vxgrfimg900qa0ibwpbwcbv63rbaplp3";
-"newsletr-2018"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
-"newsletr.doc-2018"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
-"ofs-2018"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
-"ofs.doc-2018"="8i8acpk75frksj5wshpjpcazbd93whzy";
-"olsak-misc-2018"="vipxn7qlib4hmx4043jgrcp159j1gbjg";
-"olsak-misc.doc-2018"="wd8fi2c7arsvhdy7372gw7vkvpc9mv6f";
+"newsletr-2019"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
+"newsletr.doc-2019"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
+"ofs-2019"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
+"ofs.doc-2019"="8i8acpk75frksj5wshpjpcazbd93whzy";
+"olsak-misc-May_2019"="4ymwq2jcmf4gs1hrdj93sgi2wibicw61";
+"olsak-misc.doc-May_2019"="dxc35x4yc0y4xk6488awgkc5qb32kl6p";
 "path-3.05"="gxlifrd0kfxajy8viylk3wsfkycd96xv";
 "path.doc-3.05"="0pbd67di200vghv2a4bp7vwss7bsbkjv";
 "pdf-trans-2.4"="f2qw1mx9qql6xqsnnwcvqx59baz3gzyl";
 "pdf-trans.doc-2.4"="vbg7kp37w1p727nia0p1imyvxhqgzgna";
-"pitex-2018"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
-"pitex.doc-2018"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
+"pitex-2019"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
+"pitex.doc-2019"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
 "placeins-plain-2.0"="b0dxmvbqfwm4cycyqm9ir7dl7dbgq37x";
 "plainpkg-0.4a"="xsvwz9z9f2jirfyzggiv49y0rfmhmnaj";
 "plainpkg.doc-0.4a"="b0c8mi4mr6bjdhrwbcplwjw920l4zmbc";
@@ -7250,15 +7435,15 @@
 "plnfss.doc-1.1"="smry2whkwygg9v4vgf4xfvpnfxc76b93";
 "plstmary-0.5c"="5qs8clnk15735j0r9id1vxyqabskbxcg";
 "plstmary.doc-0.5c"="jp2lgn5yq10g0jj5hihbcl77hpy2ryfr";
-"poormanlog-0.04"="yk2kzwa2sagh1bb7zsj7575kr4467mgn";
-"poormanlog.doc-0.04"="8aqxs37533glk1lhgync5x0x4i4j5br6";
+"poormanlog-0.05"="q3sn08yj1xw45gk0w0na1bca4y6fr8p4";
+"poormanlog.doc-0.05"="30li13ybjpmzh5v9x504061shapvmqq4";
 "present-2.2.1"="nll2w203n4a3ka9dqmsl3bvfz4ypsvdm";
 "present.doc-2.2.1"="m39zcb5c59hd26kz8zcnbljh91hjxjqw";
 "randomlist-1.3"="nfdsmsl3s1wj8p236s3hmwhwfdx289wb";
 "randomlist.doc-1.3"="c6zlhgw9k14wrqffy277jwj3nqp8vsl2";
 "randomlist.source-1.3"="w61n9d30k1gjjrykxps0ssap7xncdfh2";
-"resumemac-2018"="8kydfyx795317240qryrp7zjvpbcd43r";
-"resumemac.doc-2018"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
+"resumemac-2019"="8kydfyx795317240qryrp7zjvpbcd43r";
+"resumemac.doc-2019"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
 "schemata-0.8"="3qik2nhhwhpgkwnay4rsmglh6kffm1pz";
 "schemata.doc-0.8"="7rggpri0l5pj9rppz8ynd8d6jz0v7ssp";
 "schemata.source-0.8"="qixmvsyiaj3yl78053y2s8xgp8ba06f5";
@@ -7268,36 +7453,36 @@
 "simplekv.doc-0.1"="fygasbjw3slr4d11asghdnw57i0r4qqp";
 "systeme-0.32"="wxf6jfpwi5pbgb8fb5ah9qwn4g9bclhg";
 "systeme.doc-0.32"="750pfab3ismjj93z5hs8r4wha9zr9dgl";
-"tabto-generic-2018"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
-"termmenu-2018"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
-"termmenu.doc-2018"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
-"termmenu.source-2018"="xygav2l9gll238dyqa8126sn9hc1n1w2";
-"tex-ps-2018"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
-"tex-ps.doc-2018"="g377qq7n63mqil18vlfgimfd589pa1qm";
-"tex4ht-2018"="hrczk5c6gnsj4bm8zkh0zd9na22s9bcg";
-"tex4ht.doc-2018"="hi6p91idcncr8n8hiz6vb4fpwggm1d78";
+"tabto-generic-2019"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
+"termmenu-2019"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
+"termmenu.doc-2019"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
+"termmenu.source-2019"="xygav2l9gll238dyqa8126sn9hc1n1w2";
+"tex-ps-2019"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
+"tex-ps.doc-2019"="g377qq7n63mqil18vlfgimfd589pa1qm";
+"tex4ht-2019"="wn3xdb0z68g4wirfnfs4smmk13zq5s15";
+"tex4ht.doc-2019"="hi6p91idcncr8n8hiz6vb4fpwggm1d78";
 "texapi-1.04"="4ysk0vfpgxfdkpaag4982k7ni4qkksjd";
 "texapi.doc-1.04"="l2753w2z702418c8shbami8hzdsyz4lx";
 "texdate-2.0"="vi2h6c5c56i63vhzn64x7qvn11733z70";
 "texdate.doc-2.0"="3yzkfs7q2v20ykcz7754r48p0hb2l09s";
 "texdate.source-2.0"="zwkrw8y0m074w5fpjnaabbv7kk293g80";
-"texinfo-5.1"="hv3kq1i5xqfqgcqbhhlsybhjw212wx0h";
-"timetable-2018"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
-"tracklang-1.3.5"="n2rshp0wa7ma5ccxyy5f7vr1b0agp3x8";
-"tracklang.doc-1.3.5"="7w6grhayvifyz0vxvclv982mbgq3dwf8";
-"tracklang.source-1.3.5"="ipmpkq09r8zgddxa56bgc1jknwnz7x1j";
-"treetex-2018"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
-"treetex.doc-2018"="5r9rz97y0r280vn642x65xgcffb073gx";
-"trigonometry-2018"="ji2axcciqhac3aaly221w3bja28yb2nw";
-"trigonometry.doc-2018"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
-"upca-2018"="hfay60269pv5n1r64q1r9d0lqljih70w";
-"upca.doc-2018"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
-"varisize-2018"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
-"varisize.doc-2018"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
-"xdvi-22.87.03"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
-"xdvi.doc-22.87.03"="zd7shbix0926rvj3ywbhazmqaa7w6ydn";
-"xii.doc-2018"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
-"xii-lat.doc-2018"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
+"texinfo-5.1"="6h73zydsfkdmqaly5xfj9j7z591vfgmf";
+"timetable-2019"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
+"tracklang-1.3.8"="zs5wi6r2aakidly56h47fkaqr7kwcbn1";
+"tracklang.doc-1.3.8"="hx2yns14r8vzv27lbaq46a6r5hr7wja0";
+"tracklang.source-1.3.8"="b5rc9wdfy91xdg18d94adfc2s4zhly9i";
+"treetex-2019"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
+"treetex.doc-2019"="5r9rz97y0r280vn642x65xgcffb073gx";
+"trigonometry-2019"="ji2axcciqhac3aaly221w3bja28yb2nw";
+"trigonometry.doc-2019"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
+"upca-2019"="hfay60269pv5n1r64q1r9d0lqljih70w";
+"upca.doc-2019"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
+"varisize-2019"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
+"varisize.doc-2019"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
+"xdvi-22.87"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
+"xdvi.doc-22.87"="i85gwkaj04296ysrkn1lprjf1xlzva9k";
+"xii.doc-2019"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
+"xii-lat.doc-2019"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
 "xlop-0.26"="vjjxxxwsq6pshgia7z796rwmhc5sjqnn";
 "xlop.doc-0.26"="gl0qca1pp05fh8a1baylvl2a26s549y2";
 "xlop.source-0.26"="hdfdp7jn8hch5fydl1zddlfh1av08dxp";
@@ -7380,8 +7565,8 @@
 "pst-eps-1.0"="djkk1cq45fzh2q1pvl23aiqi8b2znqrk";
 "pst-eps.doc-1.0"="i903x3p9wwb1jjf5al8azqr3iasmxkyk";
 "pst-eps.source-1.0"="r6jcjqy0f5mnkkahzqf9qnfrgwqh52h8";
-"pst-eucl-1.64"="sjjv6arb65zhzs1gyhj2nbj1dhpih0v1";
-"pst-eucl.doc-1.64"="1s4fx3qkjpk28x4nkaiv58y0kyxn586q";
+"pst-eucl-1.65"="xjmdnvp20hs9qqin055pxqd39qx50r95";
+"pst-eucl.doc-1.65"="xmry09gzi0kh9lbnjas5pxb68smfs4ml";
 "pst-exa-0.06"="1jqv019148d2s5n7cmlclldqd3mzk08w";
 "pst-exa.doc-0.06"="v45ljmsk7y4p256vikzyk7w0z1vnybqz";
 "pst-feyn-0.01"="k5fpn50px7b2i9bq48qd2xwcdqdfwrnp";
@@ -7399,16 +7584,16 @@
 "pst-fun-0.04"="klmswb8gqb538ghlay62dwg1asiq8l13";
 "pst-fun.doc-0.04"="xafzv4wa5hzqmclbv7s7xh0ba2kaay69";
 "pst-fun.source-0.04"="s7173q9a44aqd43d8bwcrskc9bsh1c1r";
-"pst-func-0.92"="gkqfmizyc81dzlk2gikr8x06f2163qw9";
-"pst-func.doc-0.92"="7rglvmm04i1gql488k5m5drvzrhgaq0w";
+"pst-func-0.93"="8fxmgdnwqh2zm7r2k46dx3lcz9jjdab6";
+"pst-func.doc-0.93"="xjgk9jzv3abphq20jgiz9q12zqspp29c";
 "pst-gantt-0.22a"="ghji2bp2wz4xgkmh2vrfyxh933r8dr3q";
 "pst-gantt.doc-0.22a"="zvdlzyll48hrl970ms6j7pgwp2f2vmy3";
 "pst-geo-0.06"="p2q2w8rl3z8xvdylc8inm2i4zbh8jxc8";
 "pst-geo.doc-0.06"="q8fwd5i5fvxchs8hz9l7zml2xqv337sd";
 "pst-geometrictools-1.1"="rx8v1nyhqrny92sqsrwzsra4mhrh7xnh";
 "pst-geometrictools.doc-1.1"="20k0sg2qkfzkcpq1qa42195dw9swjx3h";
-"pst-ghsb-2018"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
-"pst-ghsb.doc-2018"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
+"pst-ghsb-2019"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
+"pst-ghsb.doc-2019"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
 "pst-gr3d-1.34"="wpbib4n4j2fmgbirhq8xha4di6f3w1xa";
 "pst-gr3d.doc-1.34"="ipap5gil3j6hkdcl1l1y0a6fnj754zq9";
 "pst-gr3d.source-1.34"="l6i8dnqgpl8iwsmbhiw3a043pbxb3k7m";
@@ -7439,21 +7624,21 @@
 "pst-lsystem.doc-0.02"="x4k17vgrb4dcm09qrcx4v6lcxlx8h9n5";
 "pst-magneticfield-1.16"="c2m1qvcclbx5gx0jqnq6ps2ypfn2xvn6";
 "pst-magneticfield.doc-1.16"="pdlhzrh670g5hnr7di40mdcsjyjhx6nl";
-"pst-marble-1.3a"="ml21znnbsqj8b964akf7mipk43231xzv";
-"pst-marble.doc-1.3a"="m0c1g7b2qzc8azdajw2ymifvlr43d65a";
+"pst-marble-1.6"="qairi5smsg637lgv56g247df3fmxf4wg";
+"pst-marble.doc-1.6"="g32ayxvgck3yfrikkqhw1njgxjsjp0wc";
 "pst-math-0.65"="i4s6m928yxdpxadv4wz0h8vfpw69l31r";
 "pst-math.doc-0.65"="s34g8psqhy9hb0927kbb62cd1fipm972";
 "pst-mirror-1.01"="l1qs4938r324dv9w1ij2xfwk16nslyhk";
 "pst-mirror.doc-1.01"="varxk1wyh1lc7yv5n3ad1yp583rchj3l";
 "pst-moire-2.1"="87fgw7g36l5yhh7wajhcz4fndls21d29";
 "pst-moire.doc-2.1"="j9hx5m27rs1by4igc5nn31wgxb4v0yz4";
-"pst-node-1.41"="kgq5kc4r1179an3v8n35p7ks6p3gv21c";
-"pst-node.doc-1.41"="ih90x5a8qqfbk30n2yxypkqck6iaakxn";
+"pst-node-1.42"="a8z022bi9njv8jkmq1bfqpjszms9w01d";
+"pst-node.doc-1.42"="rq9nyzmws417kvj44k57b7najxbvixkh";
 "pst-ob3d-0.21"="b133mvl37zxxqny148r3mnwijp69jzc2";
 "pst-ob3d.doc-0.21"="v0d9mrz4dvpk0qix4fiy632jfhfhqy4l";
 "pst-ob3d.source-0.21"="yqjb2ifyxj2mvs11lxq32dgdr74af9p3";
-"pst-ode-0.12"="qbfc4q6k4chpxvwcbvdqrl7jnpgqs5kc";
-"pst-ode.doc-0.12"="l5w1n8x5vipp5n03m5av3gw90x6dsw32";
+"pst-ode-0.13"="5r2l25m2994jjs0v0fal8nyr9wn3ih4v";
+"pst-ode.doc-0.13"="951kjjph98p9m8cqyzcj078ny6pq9z0q";
 "pst-optexp-5.2"="6k171kswlvjz2qrgsr43llpn8a8fx2b9";
 "pst-optexp.doc-5.2"="8nfgcfs6614n1szf9c8b7mjk43f2vqah";
 "pst-optexp.source-5.2"="krh33kab76gxw3vjcaja3y8vk2xjpgla";
@@ -7477,16 +7662,16 @@
 "pst-platon-0.01"="c1crbkzj0vvblf8n894g91q7qig185w5";
 "pst-platon.doc-0.01"="54icmvjwsbljdbq03j3npmwr9j85cdpg";
 "pst-platon.source-0.01"="bs136jlsz9yxiw062dlck6km6fsapgjv";
-"pst-plot-1.91"="q9r3c36rbpbqryrbcnk8y1vmcacimp7x";
-"pst-plot.doc-1.91"="jzs7ycagw3zxqdblq74rw35nc51r69wa";
+"pst-plot-1.92"="nb5pbj56m205njaj6xx36fmpnjl2clj0";
+"pst-plot.doc-1.92"="9zns6nss0wbc30dbf42gm3gzkvddgrr3";
 "pst-poker-0.03"="8ny6asww2zmrbm4aqilmhn3wh5rlx4jj";
 "pst-poker.doc-0.03"="icmvyk2m0yn1cqgmfplp6r271ipsnnqf";
 "pst-poly-1.63"="caj343wmgfxzbzchalw7w14jazj3xb3n";
 "pst-poly.doc-1.63"="gq61g8l852k4m8n69kzqdx1sii0jr41n";
 "pst-pulley-0.02"="d7y0xspcv55vq4xhhpwhl9a3q33fpyga";
 "pst-pulley.doc-0.02"="6g5jnm4i5lrxqb45mn60g7nlc9xq13cg";
-"pst-qtree-2018"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
-"pst-qtree.doc-2018"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
+"pst-qtree-2019"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
+"pst-qtree.doc-2019"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
 "pst-rputover-1.0"="39c8h8wq8rcby34dnpq8f9d87zlfd0p8";
 "pst-rputover.doc-1.0"="apm70lr0xn7hgj16acpcll9wd3jcxqbn";
 "pst-rubans-1.2"="akzd33l39b9gh53hkqzaznb6j6rrbif5";
@@ -7515,7 +7700,7 @@
 "pst-spirograph.doc-0.41"="4q5pbwicrqkpmfr7zwa0ykmfy32y4iks";
 "pst-stru-0.13"="9xzgq9yp4wh3939dxg4wvkzsvq8za3vw";
 "pst-stru.doc-0.13"="pm4nj6rck0s7gjhkfjg3i4xa8qd1dihi";
-"pst-support.doc-2018"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
+"pst-support.doc-2019"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
 "pst-text-1.02"="sn30bjp59awsdx31kii7a429wjin0zp0";
 "pst-text.doc-1.02"="3v66zv4kjb8rh3fpbx2wzvg1rn5iicaj";
 "pst-thick-1.0"="b2dnjagm4kkgxfjilahizzyq6mb1cx5f";
@@ -7525,6 +7710,8 @@
 "pst-tools.doc-0.09b"="5jh948lwnk951jpa6wwgkqc6hx49l0q0";
 "pst-tree-1.13"="l1m6c66jv4v02n4mjv9ddgh84qbyllqw";
 "pst-tree.doc-1.13"="jgcx73vrpiwvlq9rg1iszm57bj1qsr73";
+"pst-turtle-0.02"="m4g2qpqvzb71ax94sqcvzzpjzyxs4bzb";
+"pst-turtle.doc-0.02"="rnps80z7lni58fnlfqdx9pf4iw5s1f22";
 "pst-tvz-1.01"="0xky3nd1q8kv7vbs73dcbwgjqbysrwi8";
 "pst-tvz.doc-1.01"="hrigaq1rz3hd5l4969913apdwayy1ifr";
 "pst-tvz.source-1.01"="zs1dh6kiphzy0p7nj7i1faldamjsc1j0";
@@ -7544,8 +7731,8 @@
 "pst-vue3d.source-1.24"="zxk7phlcdh2g1x9l4mps6ncwxc8ydryi";
 "pst2pdf-0.18"="rafm5fyifzzz21336l2yvnqs1ynrcrh4";
 "pst2pdf.doc-0.18"="hpjd3gxsk0lmajf2fpac7ykhrznzsily";
-"pstricks-2.96"="jir8d1x6iychillqhrmif6r8hw5hihcy";
-"pstricks.doc-2.96"="dmn4zl17nsbm1fimcwhb2rnvpg2lh7lp";
+"pstricks-2.97"="l6vcl5rj0qw82chj5hks3a7xilmsvphw";
+"pstricks.doc-2.97"="qk796lx5myp7c5p8s6wv9pby9pb67v3h";
 "pstricks-add-3.87"="vkfiryg7plqky6c43dvyx7zspa8b7fxb";
 "pstricks-add.doc-3.87"="hx8sxyd3fxsp146500flnr8cvwsrm5rw";
 "pstricks_calcnotes.doc-1.2"="4q48najl98h9lb1866avfw6c5ir7p4bj";
@@ -7560,16 +7747,16 @@
 "IEEEconf.doc-1.4"="6pyp532mjalspmalr2ia8nm58fjj5fwj";
 "IEEEconf.source-1.4"="h16jq4q6bvb1wpwjxnyhhp43frcjmnym";
 "IEEEtran-1.8b"="96gd4zxcmg6c2mma4d8z0wganf9ml7d9";
-"IEEEtran.doc-1.8b"="zdc3y0lkjpis1fdkshd6bwsmkxr6w2aj";
-"aastex-6.2"="vsyj9chprljrl3ybzsfbiwjvjvs502ss";
-"aastex.doc-6.2"="iz8flgxhn6y8qzv32v1sf418gyff6c4g";
-"abnt-2018"="fj4wb6q7pw8gnh87r9ks86h76x0mik3h";
-"abnt.doc-2018"="g3r7s171g24fkl77b6y3khm6rhvjv704";
+"IEEEtran.doc-1.8b"="ms8cp0i51knhhbp2fckkmr2cwlvyx4b0";
+"aastex-6.3"="y4ki003dd755ybn25iwr9fzh8cn8jinj";
+"aastex.doc-6.3"="x8lg7m1398a7fdh30yh1iaj9vpdv1419";
+"abnt-2019"="fj4wb6q7pw8gnh87r9ks86h76x0mik3h";
+"abnt.doc-2019"="g3r7s171g24fkl77b6y3khm6rhvjv704";
 "abntex2-1.9.7"="zxahr9mb1vq0yfcj35znym4qx2jh4p53";
 "abntex2.doc-1.9.7"="hs3g3ji0knhsh0gmjcz49dvc547wh0cc";
-"acmart-1.57"="p5nhwcq25jir044v4gjh82n3lylawnnc";
-"acmart.doc-1.57"="19mibbjpiqh9z8fcj3qzvynplh08mgd1";
-"acmart.source-1.57"="433j4q6g8z65sydf7gkk3bvz610qcsqi";
+"acmart-1.64"="jw81rcgi34yaa2l5w66qrzazsnyhbxlp";
+"acmart.doc-1.64"="swxjs2nc6s40r7m1vixcsk8d4wlhsrfb";
+"acmart.source-1.64"="93h569xdnwl14wx10ycsyl4fz2qc5sv8";
 "acmconf-1.3"="9wid04wqz4l1xisvlng52xabw9m0p1k5";
 "acmconf.doc-1.3"="66xjqp6a86iq2908p77cz57651av2i23";
 "acmconf.source-1.3"="7ssw68bvkxxixxmf9ygp7szxmc59fvik";
@@ -7591,7 +7778,7 @@
 "aiaa.source-3.6"="wllq5qv20bc4f7m098yn1f5slyrdxazz";
 "ametsoc-4.3.2"="4v5ya7z7mbbxqxkjp5madwpn3m456gpp";
 "ametsoc.doc-4.3.2"="nzphxaasrrgxhiwixz6k6qikbg6z45gi";
-"anufinalexam.doc-2018"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
+"anufinalexam.doc-2019"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
 "aomart-1.21"="szg9dma84y66pdh8p32kq36fxhnn0lzs";
 "aomart.doc-1.21"="00i2qqh5hlfpiqqp75ri023wlvsj4r9z";
 "aomart.source-1.21"="xf9126s1w02lxbllbzblzd405qg0ydsy";
@@ -7603,8 +7790,8 @@
 "apa6e-0.3"="0bilb5nbgi83kp1w7d1kci1akg36nv1z";
 "apa6e.doc-0.3"="p7ir3azb68s9pms0gpa968gffr2qr0xw";
 "apa6e.source-0.3"="baqh9z3mlxqy4kklhnb9a66gj36lnhxk";
-"arsclassica-2018"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
-"arsclassica.doc-2018"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
+"arsclassica-2019"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
+"arsclassica.doc-2019"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
 "articleingud-0.3"="45hkl8j1hxdww0igp85iifrdz4g4h18l";
 "articleingud.doc-0.3"="00653rqfzjv2f4wl77vznk2p1pi6f2fd";
 "articleingud.source-0.3"="24wwfplzs8477i5kl1ks5fvkd8w1lv76";
@@ -7612,17 +7799,21 @@
 "asaetr.doc-1.0a"="8d1x4sq5xpgc1kb5ys4dp02i2r1p3ha1";
 "ascelike-2.3"="b7ff1cj0jmbdr6wrvcqr37byak164fy3";
 "ascelike.doc-2.3"="sqynsfl8cm40n0r7v2a7qlhxx6zny623";
-"aucklandthesis-2018"="gqqynyfp4l80jc7a90by84wjmn22s0br";
-"aucklandthesis.doc-2018"="jr76ykx7f98jvfjy7dr767xspb50rsnw";
+"asmeconf-1.12"="2db3vqhghx1cyza2696vflsfvajbkx5x";
+"asmeconf.doc-1.12"="bzdzkxg25r7ms67jglacivy6bfr14ndf";
+"asmejour-1.06"="qkwsh5qwgvy8282m868hls9hj8szm9vk";
+"asmejour.doc-1.06"="zp3gnln8qj1g3jk45snh2l8z5w1zdp8l";
+"aucklandthesis-2019"="gqqynyfp4l80jc7a90by84wjmn22s0br";
+"aucklandthesis.doc-2019"="mqasialmycia8nzmrc2m3d9pwf1a39r9";
 "bangorcsthesis-1.5.3"="h92q93ga8029hvd79hywxq73kaszm5a1";
 "bangorcsthesis.doc-1.5.3"="ax2czj8r6am7m2r2inrlsvnfl2rmja4h";
 "bangorcsthesis.source-1.5.3"="hc67sbajczfjxpwkvpl38ss355pziwg2";
 "bangorexam-1.4.0"="6s8rc4pgza915qgldk95ykqmxhf2czxf";
 "bangorexam.doc-1.4.0"="kxjxdnfljg1pracpx514adjp7ynbvvll";
 "bangorexam.source-1.4.0"="rf9s69qaaw2qrbyljcsj9pmg5qw4m18b";
-"bath-bst-2.0"="49z7vh3bxddgf6gp5p76xi9drj9wxxjl";
-"bath-bst.doc-2.0"="qia52b68dahs9qb8830px6kj480g3cmb";
-"bath-bst.source-2.0"="qd3490knx1z1yg5gfslvm2a323vbhin0";
+"bath-bst-3.0"="1ppl98wg6px20rpfs6rn8aqw4r1hs672";
+"bath-bst.doc-3.0"="yfh2hj2kzm0kfr8ckzhgwkzk7608zm8a";
+"bath-bst.source-3.0"="nczg3l893i16k3hmrrci2yvh1903a2jq";
 "beamer-FUBerlin.doc-0.02b"="k09b82znxfk7gi7cxpkffs65v3q5siph";
 "beamer-verona-0.2"="jgqm1267x276xsdikvc586h946xfzhcv";
 "beamer-verona.doc-0.2"="skxiv6nxw4vk3c7ppl2bripmlkada52x";
@@ -7632,58 +7823,60 @@
 "bgteubner-2.11"="kjykk4kfr7iig49zpd26kga2p4kki4gq";
 "bgteubner.doc-2.11"="wi654djqdqp0hff6cshv1hfkhmgcacs7";
 "bgteubner.source-2.11"="jhqhmr6bb4ldma4dscl9l4csan3qrv6q";
-"br-lex-2018"="ipw7gwrsdv691vnv257w9i15f465irnv";
-"br-lex.doc-2018"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
+"br-lex-2019"="ipw7gwrsdv691vnv257w9i15f465irnv";
+"br-lex.doc-2019"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
 "brandeis-dissertation-2.0"="8nqvv44ahsf5nxn6m4qrd5yiarim1zr9";
 "brandeis-dissertation.doc-2.0"="lfpykcdb4yrf7pz7b1ljrissjlk4v20v";
 "brandeis-dissertation.source-2.0"="xnp41jb8wf2zlrcqikp6qxnhw9k6j1z6";
-"brandeis-problemset-0.4.4"="pyzwvhbcl2xdrmdjrmydvpg61hjj7hq9";
-"brandeis-problemset.doc-0.4.4"="9zhfqmrchbyas57gppbxxwam486g20i2";
+"brandeis-problemset-0.5.5"="x7ivk7r7qvi08kb7jmdajym04hxyhzk8";
+"brandeis-problemset.doc-0.5.5"="zsa3r4xc2kfp00r3jj7mfzdxaphj7505";
 "cascadilla-1.8.2"="03g1znhjzcvxvclzwb33lrm6703j1xxw";
 "cascadilla.doc-1.8.2"="njy3lpaw3lch5x3p1mm07zis50z38ps1";
 "cesenaexam-0.2"="0n58an00m7xywgjxd4mk4jvr3wkla1sg";
 "cesenaexam.doc-0.2"="1cq9yg0f3j9s40jrkzgxnpk2ya88jgiv";
 "cesenaexam.source-0.2"="213fs3j3x9f0330jy9hfxmq3dhpl1lgf";
-"chem-journal-2018"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
-"chs-physics-report-2018"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
-"chs-physics-report.doc-2018"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
+"chem-journal-2019"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
+"chs-physics-report-2019"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
+"chs-physics-report.doc-2019"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
 "cje-1.06"="s4l2hjnfw2s0l19hbzf5249igprbhw7a";
 "cje.doc-1.06"="hyw2lcxsbm0v95l1161v2sh2bprsg421";
 "classicthesis-4.6"="1mdqrwxmh218ni62g9bfgq7v1jx20ilc";
 "classicthesis.doc-4.6"="d0nd57qpb4ya46ipz6c2jwark5sdghfl";
-"cleanthesis-0.3.1"="rs5scswkmbikw0r4xs8wc86js9fsfaa3";
-"cleanthesis.doc-0.3.1"="640j45873rghdx1c5h0n08a3z3ca5q17";
-"cmpj-3.01"="4imggckmccyqhm3fdl7v8kwsakfjknmd";
-"cmpj.doc-3.01"="3r41m4byz5qrlhng3sajvnwqf8zqjxfy";
+"cleanthesis-0.4.0"="z2wcfxgawx5pdbw7bfisn89qyl2jlyd9";
+"cleanthesis.doc-0.4.0"="w4wjl5szng8zg0vvjr32914rdzyxcffd";
+"cmpj-3.02"="pgkvrk8r7v31hmhvdxcydnlpgxyj8cbl";
+"cmpj.doc-3.02"="m150sh9q484chkbfx96ldchfwh86nq8c";
 "confproc-0.8"="6anwdx64g1yfr109jrnqfml6bqj8l98a";
 "confproc.doc-0.8"="qczsp87rylnxkd8nsi14kjahnkh57i6m";
 "confproc.source-0.8"="f8yczf6glbb74hvfga786qvamllnza9c";
-"cquthesis-1.30"="x5ybra1c1snfcdzqpgkzh72wyk24lmsd";
-"cquthesis.doc-1.30"="5l0y7h5dzh8csclspqsdbc21j5lwafp3";
-"cquthesis.source-1.30"="n7xqxgkxdvy7pki3wv5cl2pmwpjrv7w0";
-"dccpaper-1.7.1"="6ky9m4rh8dn01rffh44v1ff5vh2igkc7";
-"dccpaper.doc-1.7.1"="7wpyahkvp59a0l0lfyw5ssrpjk9cg53c";
-"dccpaper.source-1.7.1"="zzcscajfm6dlrzam0d03imfhch41f1pl";
+"cquthesis-1.40"="7g1w96hbvmqyq1g80w6s4mhsccwh2cqp";
+"cquthesis.doc-1.40"="9brf71cxxkn7dczvmqafg59lyf4y0qk7";
+"cquthesis.source-1.40"="hs0h3na9h7nf6rgm2vs0zv9ppadppj8z";
+"dccpaper-1.8.1"="p8hdx4gbjlpa6zg527003dngbz3b5h4p";
+"dccpaper.doc-1.8.1"="n68flqg7wjg0yiarwrza361rmaskw3md";
+"dccpaper.source-1.8.1"="h77q2ar40hfwsl4p096b8717kidy2kp3";
 "dithesis-0.2"="y0xrpjxnblvgahdwyfhm2hag5hss6qzv";
 "dithesis.doc-0.2"="b7ka35ywbrn2m3a6b8cyzyvajwxyvdkl";
-"ebook-2018"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
-"ebook.doc-2018"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
+"ebook-2019"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
+"ebook.doc-2019"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
 "ebsthesis-1.0"="3f8i1srqx6hh10rrjshsispqr3wdhm0m";
 "ebsthesis.doc-1.0"="wic4wfgihf2yyk40937hr2g59933cyy5";
 "ebsthesis.source-1.0"="q1lhixwgkc6zis1sgsnwzsd0p7spp0zz";
 "ecothesis.doc-1.2"="92jxgiddwpj5g62zwg50wm681h2z1ixf";
-"ejpecp-1.5"="vzfnvl9rxwbkfyv5pd759d2pgn1gr4qz";
-"ejpecp.doc-1.5"="4449msv5iq090x7r41q1m4l6dnvi7fzp";
-"ejpecp.source-1.5"="sqklvmybkamm25bavxc232grpjv58wmh";
-"ekaia-1.04"="r87yx6q2rzrcp150gny82070fk0a8a9i";
-"ekaia.doc-1.04"="lnjkk17sysdnj4l9vpx0qwkr1w185iq7";
-"ekaia.source-1.04"="jvjhgfg1hvj60lcwa7k34zfl9v17bw5h";
+"ejpecp-1.7"="bgshb47fig2mcjywnq8cx6k867imsd6x";
+"ejpecp.doc-1.7"="24lb4caf4yk76fpxvvw5zl18yq6kc94r";
+"ejpecp.source-1.7"="z61hdi9di464ywfw1s80wa5acy90ymy1";
+"ekaia-1.06"="r87yx6q2rzrcp150gny82070fk0a8a9i";
+"ekaia.doc-1.06"="lnjkk17sysdnj4l9vpx0qwkr1w185iq7";
+"ekaia.source-1.06"="jvjhgfg1hvj60lcwa7k34zfl9v17bw5h";
 "elbioimp-1.2"="wp7pv78ijjgb48majhg8pjqcmkq29jbl";
 "elbioimp.doc-1.2"="0515vzg1miiljb8grlb8idsb2y9gfcdc";
 "elbioimp.source-1.2"="lzbvgi6d0w8wwf052v6a1gzz2qfvpkn4";
-"elsarticle-3.1"="87vr743gidvz7a32g1bj4c13rw40knqn";
-"elsarticle.doc-3.1"="n4z4sxdzk780h1kp072dl6babj9wrpaj";
-"elsarticle.source-3.1"="rbl2lkkjcjis6sc6s9zky5jh2s2kd7d9";
+"els-cas-templates-1.0"="2ksscb78z249vcm9p3m171nrfb2r3bbs";
+"els-cas-templates.doc-1.0"="f3h55yq38qa098gixw53a1zs2zy2v2xj";
+"elsarticle-3.2"="wybpbhzmw2a1h76ik1m7dafh0z83537z";
+"elsarticle.doc-3.2"="1dpvggnxxpyvg331xsgnwnyzrj9sw2hm";
+"elsarticle.source-3.2"="0w53y3wskl6iarnpmdk9c154dp63pnky";
 "elteikthesis-1.2"="fq911ak06fd2h6brn2zsb20pkqgl4kb4";
 "elteikthesis.doc-1.2"="b5ja8g2vrf7gxpsfwshly6h3i0h0kw7d";
 "elteikthesis.source-1.2"="iyrmq8s585am0kb3ixgbi2g3n7aqxwr2";
@@ -7708,9 +7901,9 @@
 "fcltxdoc-1.0"="gr5vxdra4lcsljhm591xs1b6z4ci2ddc";
 "fcltxdoc.doc-1.0"="mibli0mi846flzm0id9z0cr8x90rivgw";
 "fcltxdoc.source-1.0"="yn567l5sbbrrdbcmiqdpyq8kq5y1ni1v";
-"fei-4.3.1"="pmxp0y1i18xrdxlf65d7p6gxf3xygs9g";
-"fei.doc-4.3.1"="yjqzj0kfw3f90rd0nyfbbi3vh961pwp3";
-"fei.source-4.3.1"="rnmbin0z68v4whq4kgd9a1ykf8lscxb4";
+"fei-4.6"="zfjscl3qvmawsfslhj0nkjqx4hwhvwij";
+"fei.doc-4.6"="zlql81212lv8rcsr04pzi80a72bg5bay";
+"fei.source-4.6"="rrq61x01046cd9824y9hnbllqjhf1761";
 "ftc-notebook-1.1"="rmxxga464shdkh4v9c4kk1ihxy9vsl49";
 "ftc-notebook.doc-1.1"="l3a2q406sj7pvfhgw2zsxfyk5qyq0dsp";
 "gaceta-1.06"="gkwy4pkpzmykxm2rqldpjfh5q5m87ca1";
@@ -7719,8 +7912,8 @@
 "gammas.doc-1.0"="5v48c5pxafvidhkkz0xmfbbgzkavhlrw";
 "gatech-thesis-1.8"="q85fv2ikl3ikw9ja5j7sgygyi6v1x2kp";
 "gatech-thesis.doc-1.8"="q97libi0drg6plfjps8p9fd7fxbxg34n";
-"gradstudentresume-2018"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
-"gradstudentresume.doc-2018"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
+"gradstudentresume-2019"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
+"gradstudentresume.doc-2019"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
 "grant-0.0.3"="a9bjc5a9i24mymq11dsw78gck3pdb16n";
 "grant.doc-0.0.3"="39g10k0rwfx678fnc8vx6j77wvn8f5c0";
 "grant.source-0.0.3"="4cfhdbqmffiypcs88iij2fxc5lmylxfk";
@@ -7732,18 +7925,21 @@
 "gzt.source-0.98"="0jm3vmpy2z28fzk1q5cnw4d3ga13czj8";
 "h2020proposal-1.0"="sdm13gcvhga8q32ai16mnz2rfsnwb7bz";
 "h2020proposal.doc-1.0"="8nsjvgzyw9137ncq9v48dhlncb10snyn";
-"hagenberg-thesis-2018"="mxiqacpvwxq58wqirx5ic3bd9yq0qs8p";
-"hagenberg-thesis.doc-2018"="vr3b2s19r85lk9dc97h4c8gskzyrwap7";
+"hagenberg-thesis-2019"="173nwqf3ckrpf7l9clx68sbjv2iamqff";
+"hagenberg-thesis.doc-2019"="8q67qw9cj4lrbxs585ymw56q029s5apn";
 "har2nat-1.0"="yn5d36r1lnx5xhrk46laka9crikcd5yl";
 "har2nat.doc-1.0"="8gh35w4a8j117z6dzy9p7mmbxsh789zf";
-"hecthese-1.3.1"="hprd2zbspa1v6hzd3ifz1f7b60cc8y1p";
-"hecthese.doc-1.3.1"="4dnn58rxi15f12jjdd9hl8g2gbgb1m8m";
-"hecthese.source-1.3.1"="22n1l9y9kq0wjxbqljz31xpf8gr49lwn";
+"hecthese-1.3.2"="w882kxwpk80lrxl0bnqkp7mz8zdh47bh";
+"hecthese.doc-1.3.2"="fsrvd79g6588zisibmjzb137b4b11xyg";
+"hecthese.source-1.3.2"="d36nipvwmff2napcy14lgciw50061aw0";
 "hithesis-2.0.6"="phgkz2xkzy89q1gdw77qada1ngv012ff";
 "hithesis.doc-2.0.6"="sixfmbvs731n6w0s6hljj82w8hxd72gi";
 "hithesis.source-2.0.6"="s6xrir5z48h3zk8g4s8ydfp6hrkdk3dk";
-"hobete-2018"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
-"hobete.doc-2018"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
+"hobete-2019"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
+"hobete.doc-2019"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
+"hu-berlin-bundle-1.0.3"="sds4ppapjar9lhgir5jnxfgzbddp5qf0";
+"hu-berlin-bundle.doc-1.0.3"="k7y6kwi7x063ja0wf14yysqxp4b5k94x";
+"hu-berlin-bundle.source-1.0.3"="2fb4mzmmgnf96yfl8slwc8gnvads736p";
 "hustthesis-1.4"="f7wr0296h2a3i6vahvrxysl7dr03sihs";
 "hustthesis.doc-1.4"="jknn279nybf7j78y4s99abb6znbkif9w";
 "hustthesis.source-1.4"="j828cim80xhwzjvn6drhy5qzr8sx87w2";
@@ -7757,17 +7953,19 @@
 "ijmart.source-1.7"="y5wyzz6jr5lp0syjywlvdpb3s02cb7ks";
 "ijsra-1.1"="zj3pf34flbmdy98fzmshxdwhsm9gypb3";
 "ijsra.doc-1.1"="pmw844flk212zpdvcp026c63snmasbsf";
-"imac-2018"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
-"imac.doc-2018"="5qid3adma0486l4li4mmrgxl9lykzfz3";
+"imac-2019"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
+"imac.doc-2019"="5qid3adma0486l4li4mmrgxl9lykzfz3";
 "imtekda-1.7"="rm2w2mx8mxzxjwgsw6gk0i64c2wb0yxa";
 "imtekda.doc-1.7"="m50cfbqcjz4ylda5myzz4idaqfv40nay";
 "imtekda.source-1.7"="wrx5ndn59k0rlz19iq8r4fzb4yly9hr2";
-"iodhbwm-1.0.1"="krphdi290yjj0vc0w03w8c0p6havjx7r";
-"iodhbwm.doc-1.0.1"="l12i3a06pf45bj6vxrf2zdxvr07pwkw3";
+"inkpaper-1.0"="iabllzkp6m8p3hvic3ajv5b3d6l511g9";
+"inkpaper.doc-1.0"="2hn02y78bnp1w2czqxfrsi2wrmpjn11w";
+"iodhbwm-1.1.1"="z0y1iynvgycqfjvkad8bwi18kdz115mc";
+"iodhbwm.doc-1.1.1"="7a1zjymxxi8mhmrmisnnrbdn240hgkpx";
 "iscram-1.1"="2pywqaa72mb216nmzl0w8cr74vf200cg";
 "iscram.doc-1.1"="0bd1j3dqs4kgsdaag5wkv7n9zci8qgda";
-"jacow-2.2"="7a1fcrpsp78iif3cvpmzlb2lx71lkdsc";
-"jacow.doc-2.2"="a2c4bkrrn1hrig4pidj1f10llcnxnh6i";
+"jacow-2.4"="z7ag0qa8hzbihrqij6dha0hm4nkp14vp";
+"jacow.doc-2.4"="c08j0j2lc0awnk2l9bcx022wcxzswala";
 "jmlr-1.24"="rnmwix9b0hfdm6zys2zbzy2rx1rfas98";
 "jmlr.doc-1.24"="b7aj9p4s5xzpv2jkih803zx713lp212g";
 "jmlr.source-1.24"="bncl60ks6g38pj64ig53q0s3kr3fpws9";
@@ -7778,25 +7976,25 @@
 "kdgdocs-1.0"="i0v1kfpnhn5210jj5vd2pyi9s9h1vhmr";
 "kdgdocs.doc-1.0"="0gfi3rfrsjaw25g7mxk7mai8mxy968m1";
 "kdgdocs.source-1.0"="dcafx36f7id055kdwvfsci6wq2ya50c8";
-"kluwer-2018"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
-"kluwer.doc-2018"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
-"kluwer.source-2018"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
+"kluwer-2019"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
+"kluwer.doc-2019"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
+"kluwer.source-2019"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
 "ksp-thesis-1.0.2"="244sggimcsxbqkh6g9nndxvdvr6agqvv";
 "ksp-thesis.doc-1.0.2"="jngi4gfc4r6dkp6xggyg2s05zj38s1vz";
 "ku-template-0.02"="9b1vsd98aqc0b5s33r3z6ayj7ph0lcj3";
 "ku-template.doc-0.02"="067zqymqvljm9ras3a48glc0clfkfwkk";
-"langsci-2018"="1pv0kmn0pj1lzp5z024l2p1i46lh0zlw";
-"langsci.doc-2018"="cnjj2d2m05cgh3412b6yp8i715lwxkr3";
+"langsci-2019"="2wdzpxs9p7xkj5ka0hafr9831cifyp1p";
+"langsci.doc-2019"="iafasc98czzn1pkk7q2w2iqrglxzflhc";
 "limecv-0.1.3"="kvjmm481ihl7idl0z0k2a7qd1f83b2bg";
 "limecv.doc-0.1.3"="9lxwfgxfgpnkmm5pmikrgsp9kf4vfhvh";
 "limecv.source-0.1.3"="5fcyq9gad359zzhpara50rclrqm62qzh";
-"lion-msc-0.27"="6b6bg86gr57ldh3giniicp6j41bpqx5a";
-"lion-msc.doc-0.27"="q9jflbrgsf7qhbqm5sl6w6qbaz1jv7yk";
+"lion-msc-0.28"="anbklyjjiy9ssy1iy7sggx6mfc1gak9q";
+"lion-msc.doc-0.28"="knq0z2pjiwchnwja3jnxbsmxhyyppmyn";
 "llncsconf-1.0.0"="w9rc61m4yijyf6mb4h78xhr0h7mf3p9g";
 "llncsconf.doc-1.0.0"="8p4z5cm4pp2f3iqmjnhqb8n2fcgx8gxz";
-"lni-1.4"="bpb6rs0znz4q3kkq2f33z9fn2ivndrd8";
-"lni.doc-1.4"="zx79qgmpb96mkfpvsngvqkz63s4rxgmd";
-"lni.source-1.4"="hgmnsbd4i6w031l3wqvx4xy305dwjqb2";
+"lni-1.6"="0g5d0rs62yhy5wrnhm8csxclh8wa3k5v";
+"lni.doc-1.6"="pp39jjz13zknhmm13nsb6y8di2giwhcp";
+"lni.source-1.6"="k8yq69zrfxidcqycqh6id2s7xz07ggrj";
 "lps-0.7"="njaym8455i99rr0vplxlpn95cbp8sv9h";
 "lps.doc-0.7"="9qg688yrg4lfkb284shpgan08vfi5sxn";
 "lps.source-0.7"="d2jid2g08c51lpixvbqp13hkvmbhw2f2";
@@ -7812,6 +8010,9 @@
 "mentis-1.5"="nfpcmyxlg0gadqj33jnxji3nvs5fni9l";
 "mentis.doc-1.5"="vnj4lk1vxc0c0710jb21x3vskppk9c86";
 "mentis.source-1.5"="x8djid957v6324m74fn1m8l9hcp7mr1g";
+"mlacls-0.6"="ch1gxkp1g3v8ji6av9k3wn6ldfx084dj";
+"mlacls.doc-0.6"="sah830gprmh0qlbd1ia3ldg971sy103j";
+"mlacls.source-0.6"="5fl7qdqhsrm9h6dy6hiws5pnjmhi9qfp";
 "mnras-3.0"="ib7iykfq2gzv7iljfpqnncwdha05sv36";
 "mnras.doc-3.0"="jns5g8cd4c28jqy106ard1pca1pl0p4k";
 "modeles-factures-belges-assocs-1.0.1"="yildlnjq5szbsvis65ph02bvvzydgldv";
@@ -7821,14 +8022,14 @@
 "mucproc-1.02"="d1xzqp0nvkk4zdf1zcrhngvlc0q412gp";
 "mucproc.doc-1.02"="zpky6iahkhynyv72lg94ankg9wn7gwd7";
 "mucproc.source-1.02"="pxysp457kvf603nz6lwaj55cmlc41n0m";
-"mugsthesis-2018"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
-"mugsthesis.doc-2018"="xqm757zbzxi9ag50dd22274bk5n1897h";
-"mugsthesis.source-2018"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
+"mugsthesis-2019"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
+"mugsthesis.doc-2019"="xqm757zbzxi9ag50dd22274bk5n1897h";
+"mugsthesis.source-2019"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
 "musuos-1.1d"="v0bx55bnw5lcpq1w0zxfkf1hlxahxj0x";
 "musuos.doc-1.1d"="iqviyy26inh9bw04maby457bvxip69xw";
 "musuos.source-1.1d"="rx3zcmp2mw88f3jxa0igajz4dzvx135m";
-"muthesis-2018"="w6llbyp3d615mpjazf9i746acl0hqvpb";
-"muthesis.doc-2018"="776dszqb0k9nffhnln310dg20n4z0dlr";
+"muthesis-2019"="w6llbyp3d615mpjazf9i746acl0hqvpb";
+"muthesis.doc-2019"="776dszqb0k9nffhnln310dg20n4z0dlr";
 "mynsfc-1.01"="j3jb9xyv9javnbk9r6fb11ygnd9ygpfx";
 "mynsfc.doc-1.01"="5zlf94gdmkxg37zdwq04w4pzfgransf1";
 "mynsfc.source-1.01"="zzmxbw2xfk91lv6isc6raqnqmvk4da6x";
@@ -7840,12 +8041,12 @@
 "nddiss-3.2017.2"="gsqqnmrgc27i78c6s4y1zy7i5yi66yix";
 "nddiss.doc-3.2017.2"="p28y66qyk1zkhmp6f11rkidfjmvpnlgx";
 "nddiss.source-3.2017.2"="7kbka2v5nsdg4wfrv69zsx92rrlax0zw";
-"ndsu-thesis-2018"="l4dsamss5kpl272pbmj720jc6zlb4lij";
-"ndsu-thesis.doc-2018"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
-"nih-2018"="cv6rcwrnq8rpwmmxva32233isckys2md";
-"nih.doc-2018"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
-"nihbiosketch-2018"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
-"nihbiosketch.doc-2018"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
+"ndsu-thesis-2019"="l4dsamss5kpl272pbmj720jc6zlb4lij";
+"ndsu-thesis.doc-2019"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
+"nih-2019"="cv6rcwrnq8rpwmmxva32233isckys2md";
+"nih.doc-2019"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
+"nihbiosketch-2019"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
+"nihbiosketch.doc-2019"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
 "nostarch-1.3"="5ir7wwqflr7ac9wdz3qq50232lrxk79r";
 "nostarch.doc-1.3"="l4v9sg6lhii6m7z83ap9fghjkzhc1d6k";
 "nostarch.source-1.3"="sn4i3aqmh4r4yfj1dq5ipqyy4424kns6";
@@ -7854,9 +8055,9 @@
 "nrc-2.01a"="pwgmkqwj9nh6c5ibhgz0gx4fha8y4mfa";
 "nrc.doc-2.01a"="y8ga6db77g42jblz5hpvk3vhcsj6zczs";
 "nrc.source-2.01a"="14br9wclpq3sfj0gcb8q3ws6nz3ws7jw";
-"nwejm-0.98e"="xmdi704s6l7g90d59mpv8l2p1h228fjq";
-"nwejm.doc-0.98e"="x47qqh9myqfqipfzbwpbrs4ijx6liyyq";
-"nwejm.source-0.98e"="hqkdhbwmp7sh4y917rr0yf7393jrq5qs";
+"nwejm-0.98f"="58q31l8g24gw092x9njl6mbpqfbv461f";
+"nwejm.doc-0.98f"="i7w6pfk5hxjmli2s9gbpd3dfsj71ncmk";
+"nwejm.source-0.98f"="n6x1i5y1swnm1vblxs3k3cc7d023s7n0";
 "onrannual-1.1"="zfqaz0fi36py1y5izbphl677ny5mcrl6";
 "onrannual.doc-1.1"="hxdcfp7y4lcpc2j1d25sx3p0nga1435h";
 "opteng-1.0"="fnx8hnwcpahlkw6h2q1hbnkwa3kfr477";
@@ -7876,16 +8077,20 @@
 "pracjourn-0.4n"="iv8vll5az565ki1vcjpacrcb369z2g4c";
 "pracjourn.doc-0.4n"="kvvb2vn1z5phqxy9jiwgj9rgc1fpabhj";
 "pracjourn.source-0.4n"="vl8rarvx6whc3ph6pw892ldwiwzvc78x";
-"procIAGssymp-2018"="cvcsi5gr6ndjlvabqwkk4spmd8y9fqz1";
-"procIAGssymp.doc-2018"="y08ng1769j9ffib4fpi6rb86dvj4y0a8";
-"proposal-2018"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
-"proposal.doc-2018"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
-"proposal.source-2018"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
+"procIAGssymp-2019"="ni8xr0fdn9skkadcn1ipadbxs388vl3w";
+"procIAGssymp.doc-2019"="q662hfdf9br5pdya5676ddxqg8dnaw0r";
+"proposal-2019"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
+"proposal.doc-2019"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
+"proposal.source-2019"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
+"prtec-1.06"="b6kj4hm66hp9hgpvjq9mpd3a0f1a53qm";
+"prtec.doc-1.06"="g166iaq7ifcqa9qg4f3010vzv0j06j6f";
 "ptptex-0.91"="w61zrgirw5as67kcbi3yrx5pzpw7dj36";
 "ptptex.doc-0.91"="h0fi9wq2asps1aiwkvrwj93dkzzhclsy";
-"resphilosophica-1.33"="lrqx5wsrxky1ijbi5b96hd62k2by2v6g";
-"resphilosophica.doc-1.33"="g8dnhjrs1hq5dxsks4g89v5kj4a6c7qd";
-"resphilosophica.source-1.33"="qb8wkh6bi3vhmk1qk3s7dd0iaf6m5njh";
+"quantumarticle-5.0"="gxfjl7qlir4m4rmqwrxmm1jksgh63crf";
+"quantumarticle.doc-5.0"="vzv5j94a6zvbyvbsbcdxpzialv29313j";
+"resphilosophica-1.35"="vaxdd2gghalbbbikxsyw92fhnx3wn8d9";
+"resphilosophica.doc-1.35"="xwkcpdm9bn3vhfazhbx7fxibz5shrild";
+"resphilosophica.source-1.35"="7wysrjs5ynmpadf39vkj2asysjvchqmz";
 "resumecls-0.3.2"="niqlfjipn9h1dchnx63w89i097kf58il";
 "resumecls.doc-0.3.2"="7jcdgicys21bhfhyn1aflyvry0yy7sxk";
 "resumecls.source-0.3.2"="wpgzwjw6nmg6dq02jdxq12fx7hnmff29";
@@ -7895,9 +8100,9 @@
 "revtex4-4.0"="sa5r7jsw4kqqwzzxalj04wcflcawl2xs";
 "revtex4.doc-4.0"="3bki1hg7jr60q7x07w0i8d0a6zkp9qnr";
 "revtex4.source-4.0"="0pq58vkvfc191123k78zaiyy3mxk1m1h";
-"rutitlepage-2.1"="ni4yd5xp132k89ifi4vmddi32ndrfzn8";
-"rutitlepage.doc-2.1"="lkb9ngckbnqs7pbdbz46izm1vjfcvr8z";
-"rutitlepage.source-2.1"="7mka2lxxkf4hg1512zhlajfsk93wm0g7";
+"rutitlepage-2.3"="66nf7llsknm6xx2m7yi8hhqp31x3l5ls";
+"rutitlepage.doc-2.3"="c01773xskk6bzvkf5yyjhzvb4b0s2vsd";
+"rutitlepage.source-2.3"="f5cb6hkdi9zw91gil1hph1ksc14l6nma";
 "ryersonsgsthesis-1.0.3"="r85jm6nwl0b859778cxgpl7sycd6b7kj";
 "ryersonsgsthesis.doc-1.0.3"="h7cq92kjyqpsbbaqc25rnmw861xrb6rl";
 "ryethesis-1.36"="vvsqlw02q3ivwlzw3rp0x6vhfdqvfhda";
@@ -7934,25 +8139,25 @@
 "sr-vorl-1.1"="aspxka23zd8rlwxlvjvw6wlwkg38rj66";
 "sr-vorl.doc-1.1"="y9m89lwhx9rwd1k0w2bgwh5ip64awx41";
 "sr-vorl.source-1.1"="5zsgq5m3fkjip7qr4zkx51j54j4q5qpq";
-"srdp-mathematik-1.2"="k2cpd4saznmcksaxiv32kdgxmdxi79b4";
-"srdp-mathematik.doc-1.2"="522m4yi14gzwaqsbdq8hlm58jfdnbc3d";
+"srdp-mathematik-1.3"="qpp7c0xk0g21fq23h6v76558grpc67br";
+"srdp-mathematik.doc-1.3"="b6wy2yzsl6b415mxkw5bj6i3gnf9g2iq";
 "stellenbosch-11a"="s0wddhmfp77y6v54qq4jsmqidjq3bkqh";
 "stellenbosch.doc-11a"="97wbyj0mg7phb66ngkf82ziiy8v624b1";
 "stellenbosch.source-11a"="0raanzzc5qjay7gz94himx8np0437pgb";
 "suftesi-2.9.1"="cap1rpj53n6klf16mc445n4k3r5jj703";
 "suftesi.doc-2.9.1"="jhwkziz34371zgr9sssji656hfr99hyz";
 "suftesi.source-2.9.1"="4jisrrzysq8gm1cr4dsinf6k5f49gwp7";
-"sugconf-2018"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
-"sugconf.doc-2018"="siyxf3blr7z953fm4xy61z4jfx589bcb";
-"tabriz-thesis-1.1"="9k4d01w35206y8gw5f76ffx6abvdhgwf";
-"tabriz-thesis.doc-1.1"="cga6sdf865mjmzaa39173gy5vinshqpv";
+"sugconf-2019"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
+"sugconf.doc-2019"="siyxf3blr7z953fm4xy61z4jfx589bcb";
+"tabriz-thesis-1.1"="psrla5z8x9icyxgdqnxpiv2vjnbq4rsq";
+"tabriz-thesis.doc-1.1"="h5p0nj2wp01pdmjfwbcdp5fnwhvlrrrp";
 "technion-thesis-template-1.0"="shaxw3mp0bjmq2lg8a82bs1ddb48dpfk";
 "technion-thesis-template.doc-1.0"="8kkfqc0f3pkn9sm84zw2iqi133nr2sy8";
 "texilikechaps-1.0a"="v3x5w1a3lblqc3pks3yzychj64rvr67l";
 "texilikecover-0.1"="fn8g82q7mvdqaa3i14nsc95wjlp0ziyl";
-"thesis-ekf-2.3"="p8d4ki9gyhwlw9x0nygk87dhyz2vkj3d";
-"thesis-ekf.doc-2.3"="ip1v60l8742sn7nagv6nn1q3cmra40jq";
-"thesis-ekf.source-2.3"="6wx57i0vyvff2qai15rjd58m2z238ib4";
+"thesis-ekf-3.1"="bbgsv5kal6shxd9sm7pjsgb9gz9syqhx";
+"thesis-ekf.doc-3.1"="b7459cmxvc392xj2mj27bxr8gb4622i2";
+"thesis-ekf.source-3.1"="cilr7qsq9lsv2jhvkzds1276cmc6nsa2";
 "thesis-gwu-1.6.1"="s6xwfmvvc6i8w9limmknqxp44l0dk7px";
 "thesis-gwu.doc-1.6.1"="s4hsb2vq46fdwlxsxn2i4dfcblp2jd02";
 "thesis-qom-0.42"="rnhdvsrpsgjbwih0ia9r1h4kyqdrhg6x";
@@ -7960,45 +8165,51 @@
 "thesis-titlepage-fhac-0.1"="dmyydjxrj16hf8gh7qyp564d195kzmwp";
 "thesis-titlepage-fhac.doc-0.1"="g4jw0jyl09vq4hglb14jx355v9kli1bx";
 "thesis-titlepage-fhac.source-0.1"="zp492p2j40bpphwr3zhjcqiwnj18yk56";
+"thuaslogos-1.2"="jr4nwbd21jwglz99v1aqplzv2jbpn10v";
+"thuaslogos.doc-1.2"="i352h1s47cdbj957kz6c3dj3kwb7rj11";
 "thucoursework-2.5"="0dfnpgz9k0rnfcxd84978j40q9ybqip3";
 "thucoursework.doc-2.5"="2g1mix0k6jas8pwg3gayc3rwhp3bg1bz";
 "thucoursework.source-2.5"="g1503caaz9sfmxdvfkd1ia4hhlalcz61";
-"thuthesis-5.4.5"="93rq3f84hgx20499qj0b1h2jy7qiwyyz";
-"thuthesis.doc-5.4.5"="02kh9gzv7ckjhp815z4crvzpnx1nk4rg";
-"thuthesis.source-5.4.5"="lq084av4p4m77cmi462m210zi9nchx94";
+"thuthesis-5.5.2"="1ddg223hv0lahjxfqp4xyam3dqiisrc1";
+"thuthesis.doc-5.5.2"="69b7zd315rns793kcblsdkmn3x3famc2";
+"thuthesis.source-5.5.2"="p4d8lhf6ajacbvqws7pjjwhvk4n9hgnr";
 "timbreicmc-2.0"="8mnap2xvfny35sb0ziq5xhlckwcmgb3w";
 "timbreicmc.doc-2.0"="b649dhjapj0ani2as7783bphamp0hwsq";
 "timbreicmc.source-2.0"="8s3vn2id27cl1164brvkrxg96ggvgb3v";
-"tlc-article-1.0.10"="kranwsdzsh6vwrcwd2lmhmya9nc16rkh";
-"tlc-article.doc-1.0.10"="jjc3i294hyxryz62w2kzaf6fjdvfhvzf";
+"tlc-article-1.0.17"="qh69ly6l3pnz0a6a5c70b5jhzphc2gk5";
+"tlc-article.doc-1.0.17"="aanq53h9in5r73qz4r1g8p5d9irqz2pw";
 "topletter-0.3.0"="01cmbaxzr5fsmwsz8y5l9xfdi43219zg";
 "topletter.doc-0.3.0"="ygpvdw145lnyllcwh8yv4pcc0ssydpwm";
 "topletter.source-0.3.0"="f4lvw616czlsqw7ic5mlwq583097j7ls";
-"toptesi-6.2.09"="x6gyg0ynpxykyd74n6b4d1aha6sfzas8";
-"toptesi.doc-6.2.09"="wpi0g36maax587mybmnp6gd4xb1rwrzz";
-"toptesi.source-6.2.09"="ak26w3nybbnqryg3sh9sfbqvk6rw7kbs";
-"tudscr-2.05m"="rlfxi0lf0yy473933ds0w4f88iaxs2by";
-"tudscr.doc-2.05m"="zf1a6mamshb3h9ijkcf13191bp5yra8q";
-"tudscr.source-2.05m"="rblvasxg57wsh98wiykpsfsb9xdk9nds";
+"toptesi-6.3.06"="dmvzw2y0ds92dli8sb5fwaldd0jh63c3";
+"toptesi.doc-6.3.06"="58d2smp53hc7kqymv2y206s10b14d9qb";
+"toptesi.source-6.3.06"="4030gxyzknihz1xy80j14dykczdz8qh5";
+"tuda-ci-1.11"="lnpnkdv6kpd31vga9358vfz1dla4923n";
+"tuda-ci.doc-1.11"="3gialzi9j38gm4h0cc9iw6z79w4x46ys";
+"tudscr-2.06d"="mzv2v046cg77wk4aqip3sp24cynsw86h";
+"tudscr.doc-2.06d"="vlwzb9lbpsjf43433lcfx38pzxpgpp8b";
+"tudscr.source-2.06d"="wwy27qw6b5a2hizca89a873i99dgaacz";
 "tugboat-2.21"="5kany9pm9v5mx260qhydlnvq3qvcixlq";
 "tugboat.doc-2.21"="9qidcwzj4n5bsiyla1rrgi9gvajmdmjc";
 "tugboat.source-2.21"="0lais4g13s4v33gvwy9qjkv56dp193z0";
-"tugboat-plain-1.24"="69gk0nnn9spbgdm8z4j3ad8a3b5zaqc5";
-"tugboat-plain.doc-1.24"="nrlawn9z9k374i9c9ay65yr82ns7fqdl";
+"tugboat-plain-1.25"="hdp8r703mch4096qy67y5zqjma848hh1";
+"tugboat-plain.doc-1.25"="36nn5cxa1rms40af14c7bbxrkz8y7q40";
 "tui-1.9"="s71xp2jz0v4wlvgvx9f9r62i2clj8grw";
 "tui.doc-1.9"="ddway3iy2gx447ypp2cd4vlvhjvnlh0l";
 "turabian-0.1.0"="mkjjkq2fpg1lipzwqn7k0p77j2i3znm0";
 "turabian.doc-0.1.0"="b1pxcnzj5k4l9r571yi924kykw4wk7vd";
-"uaclasses-2018"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
-"uaclasses.doc-2018"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
-"uaclasses.source-2018"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
+"uaclasses-2019"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
+"uaclasses.doc-2019"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
+"uaclasses.source-2019"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
 "uafthesis-12.12"="8qdm4v22s3r9g8q16sjnw3bzx1j9w16a";
 "uafthesis.doc-12.12"="d1nns5qzwkrywy9cghr19i70bp16fvw2";
-"uantwerpendocs-2.2"="9n6w15hmxs0ir9mfv49wxg2zw8v5zbli";
-"uantwerpendocs.doc-2.2"="phi5jkvwswzc9zyz3jq238q9i0abl415";
-"uantwerpendocs.source-2.2"="bdcdq90039vwd28nx9njls5c8ady801y";
-"ucbthesis-3.5"="zagmch6rnvnjiy9y0nacc5ciwqv5xsad";
-"ucbthesis.doc-3.5"="xzypd8jcnsipjflhcjvznd9y7fcqmm51";
+"uantwerpendocs-2.4"="l61xisx3imhck8sbqykhpjd7py573gaz";
+"uantwerpendocs.doc-2.4"="hk8a9gyw42wfp0300ya1zd7p69ycww4c";
+"uantwerpendocs.source-2.4"="pb13x65657039qbivjfpyni164fz2gbj";
+"ucalgmthesis-2019"="z8s5fzsbfbahahqgyj64g3p21xcxl3sa";
+"ucalgmthesis.doc-2019"="dkbfmm73kgrp5yi7dgy6ys84h58dj921";
+"ucbthesis-3.6"="3wa2xk8yvyh5hwy0d41p9fdrxvy8y2iw";
+"ucbthesis.doc-3.6"="lr9w29xp965yydg4mk93rpq4d3808ksa";
 "ucdavisthesis-1.3"="naibrb9h1lg8y22j26wygm9zxcv3rfc2";
 "ucdavisthesis.doc-1.3"="0mgnn8l7wwi7mhaqanfsrkjwydm8m2gz";
 "ucdavisthesis.source-1.3"="nkag4al3xvv8xnns5gspsq1ix6bii31p";
@@ -8018,22 +8229,28 @@
 "uiucthesis-2.25"="62smailyn66fyhpdgrmjx0p9m0j0n12y";
 "uiucthesis.doc-2.25"="ygqpzgk5jslsnqa813k0l2nvw2j8gnwq";
 "uiucthesis.source-2.25"="lkq6bvdvm6ya5q5wp263zqkk7y4ig57a";
-"ulthese-5.1"="xy0psmvdd3kwqis0896x1hiilkymax4g";
-"ulthese.doc-5.1"="5zzrah37v6fbbdm609vrgv4rr4wj0srk";
-"ulthese.source-5.1"="a3cg085hv21i4hj84s7ji4n9m43568pp";
+"ulthese-5.2"="rms2lyh9h1pb96v75xhh2v47md2z8wsa";
+"ulthese.doc-5.2"="fd9iw7jwfgj8y5yr4rxc5l5yw61g2x87";
+"ulthese.source-5.2"="6mhfbvxxmqpv5v57qxlc5acz9m2shsmy";
 "umbclegislation-2016-6-8"="wjkna9qn6g0w0axsgpa80vc8d8jsl94y";
 "umbclegislation.doc-2016-6-8"="44hd3iax5vblcr03xxgxccmbrf4y5sma";
 "umich-thesis-1.20"="mgwbc9lzd25w17fm9j2098r6y0q1k688";
 "umich-thesis.doc-1.20"="726jjvvq6ps0wxlrh74wnj9gjlqf2d8f";
 "umthesis-0.2"="xsgr2p3cw7q2gv7b2sr6xvcp186cvsy1";
 "umthesis.doc-0.2"="p64jg8jns4xp4y400hwbbbzz2wbpsmas";
+"unam-thesis-0.5"="zd62jxiy95m9p7f5g4lkw4ccdjlknfb3";
+"unam-thesis.doc-0.5"="c6s27rsns1yqhdw1kp03q1z5vhp2wq27";
 "unamth-template.doc-2.0"="jn6hykpgd53yn4px4rp9yk0sp688dqi8";
 "unamthesis-2.1"="jvpbqfbpvrzbvs67r0phdrkrvxxjjcyz";
 "unamthesis.doc-2.1"="jfqnn8prn8x9p68k70b64zd1759v92ak";
-"unitn-bimrep-2018"="s3x065jkvzazjx24an10jbwj47903gjl";
-"unitn-bimrep.doc-2018"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
+"unifith-1.2"="22rmcvcs8frdj5zdkram69ws513blydf";
+"unifith.doc-1.2"="4gsy6kk4w91df3pkz0wxqybr13jgbvj3";
+"unitn-bimrep-2019"="s3x065jkvzazjx24an10jbwj47903gjl";
+"unitn-bimrep.doc-2019"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
 "univie-ling-1.9"="ixg3w4ah5cy424cynzkf355xsx03gb6d";
 "univie-ling.doc-1.9"="4n02b4j80blcvswm9xh5fmhqm9gfvaxp";
+"unizgklasa-1.0"="pz93dd2qidcvdsa78zgl73s07zjgshs4";
+"unizgklasa.doc-1.0"="inphl2x3czqw7mw17if9ahl0jbin3dd7";
 "unswcover-1.0"="5bqxws27nxyhgrlc6c9k9v5pm8jvdhzc";
 "unswcover.doc-1.0"="9c32r1x4094k8saz0w3bcbca28vgl3zj";
 "uothesis-2.5.6"="zbf8swc2haqsdr7sibm4lz9sqyhbfaqs";
@@ -8053,26 +8270,28 @@
 "utexasthesis.doc-1.0"="x4ngw5sm9zm5w46l5xap4cwnygb8qlha";
 "uwthesis-6.13"="1z7cpyrzcb9ga77d9a58jm9234w2zafy";
 "uwthesis.doc-6.13"="w30d568jxqqwdfbrpm8s1i7ylssiz3gc";
-"vancouver-2018"="2yp7l10k8yz7nr3nh9sj0ix8s9q79b5i";
-"vancouver.doc-2018"="gan4b1yrhwvqxnywn8rb6ckqvgv9m9m5";
+"vancouver-2019"="2yp7l10k8yz7nr3nh9sj0ix8s9q79b5i";
+"vancouver.doc-2019"="gan4b1yrhwvqxnywn8rb6ckqvgv9m9m5";
 "wsemclassic-1.0.1"="8rl3dlv1f1vrklknkssldjnkgdwdcipd";
 "wsemclassic.doc-1.0.1"="n0wnf463jpcq8lbgk45h3924c4qm2r2z";
 "wsemclassic.source-1.0.1"="l4db45ax258zsrgvnw5gq0knflxx2nb5";
 "xduthesis-1.00"="qxvczdxndgw1n1hxzrr5scvnrgcl3q3f";
 "xduthesis.doc-1.00"="a58xwk250qq99pyz4rj2br4dqfzhhmxv";
 "xduthesis.source-1.00"="nw0j5z9vd83a3idksbq2338j8ir01fr6";
-"yathesis-0.99t"="fgngqy9c9ss4ls1c27f4h6cfs24g9vh7";
-"yathesis.doc-0.99t"="8fpr4vy377s74xw5s7r3d5cs3bw6yhk3";
-"yathesis.source-0.99t"="ib3wkx9pdjhnazss99xhamd34296c6g7";
+"yathesis-0.99u"="fkb98sisz9gci364livd8m89by2dkjvy";
+"yathesis.doc-0.99u"="9k9f6wvrjl98m46jvhjwvfsfbnjl30y4";
+"yathesis.source-0.99u"="k31bciljvp4lqr3w5klcy3zssazbk3f3";
+"yazd-thesis-0.3"="583l53kxfnfb7s67fnh3n45lvqqww941";
+"yazd-thesis.doc-0.3"="9qw7byq6s1iv4kfq19xy3qm01l9vh0q6";
 "york-thesis-3.6"="rm9hh3b6cq902rr4crmv6c3z3ll2680b";
 "york-thesis.doc-3.6"="fa7z6lks54czsfd04igviykcij1h5lih";
 "york-thesis.source-3.6"="83mnkcdmb930lfh4130vcr82d5lp3f3h";
-"texworks.doc-2018"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
+"texworks.doc-2019"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
 "arabxetex-1.2.1"="yfvy3m6rz45z7frgsw6cg8hk8kqdxfs4";
 "arabxetex.doc-1.2.1"="f8rpfy5hna1b6flvq6y2balxypjm6280";
 "arabxetex.source-1.2.1"="n7qncmdmzvkjxwn5d5nhwy3660ymvwx8";
-"awesomebox-0.4"="08yn30ibrrw9as1ivhg833zzz4c3zbvm";
-"awesomebox.doc-0.4"="ng0sswybixxaph1f8zx0axar1347b2sa";
+"awesomebox-0.6"="hlp6mahq6q1ysjgwlri6l4wszhm23na1";
+"awesomebox.doc-0.6"="cis8fkhcwr08nfv11g9l0iyzdlcmgrnd";
 "bidi-atbegshi-0.1"="qm4zcsccvzxixab9dalzvlwkniwckpjw";
 "bidi-atbegshi.doc-0.1"="lgp4qynjnz73qdhy543halrvx52gs2xj";
 "bidicontour-0.2"="dayiq858hr4ln8503y0xw8vqvfjjb91m";
@@ -8095,8 +8314,8 @@
 "fontbook-0.2"="af0x6y47qcbfhzs3ngyazacn289x99y4";
 "fontbook.doc-0.2"="yvq7kxismw59wayzyv379hjd0kw048k2";
 "fontbook.source-0.2"="46vhgm8k7pxwxpb654fg3aj96555fanw";
-"fontwrap-2018"="ap8pwxj94larm8p1dngr1mhdavncplq6";
-"fontwrap.doc-2018"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
+"fontwrap-2019"="ap8pwxj94larm8p1dngr1mhdavncplq6";
+"fontwrap.doc-2019"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
 "interchar-0.2"="mphh4cmn49y1fr2klr1n5c2mjxryyjzm";
 "interchar.doc-0.2"="077lc5c3w5gq2cm2983fqlbhizjssgyy";
 "na-position-1.1"="gmc7vb0cp4c8qp4p99vpvpv0xxbgzhhq";
@@ -8106,17 +8325,17 @@
 "philokalia.source-1.2"="80nd8ig65k3xjn92rv7n8g17qq0k4q7p";
 "ptext-1.1"="zy9vq5spxci68zhbfa947x5gmr90ckzf";
 "ptext.doc-1.1"="3dsbqbc9n66hhw8nk4l7rlcbfw5b9pvm";
-"quran-1.5"="bql4m32hcl55q5sy13anys6dwyw3b6ca";
-"quran.doc-1.5"="5k92ss79s53aw27fi5c8yxjqa3ayqhn9";
-"quran-de-0.14"="28lmhjd1xghwr1p3grda1xd3zpl8w56i";
-"quran-de.doc-0.14"="xhfqqj35rih4d4shy2fvygava3217rm5";
+"quran-1.51"="70p2yq5ppljyivz8a47i6b50h4i23a40";
+"quran.doc-1.51"="rclicvr93ff0rx4bkixw83s0bg2bydfc";
+"quran-de-0.141"="m2mdwvd6j95q0dfy930kvvsx7m2n3znr";
+"quran-de.doc-0.141"="pdsnrima3mrs3yrra2cm7v4gdiwj3gds";
 "realscripts-0.3d"="h3nl45fx6790wmrfqgnxsy0v46i7gfmy";
 "realscripts.doc-0.3d"="4mm7a354ll0wca7q9nkazx29qbdah3ca";
 "realscripts.source-0.3d"="ngb2fqcmc4j1ijax0qrrdpf0g4587qb5";
-"simple-resume-cv-2018"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
-"simple-resume-cv.doc-2018"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
-"simple-thesis-dissertation-2018"="p1bspb2n9dc7zk0myww59v973rjshfy0";
-"simple-thesis-dissertation.doc-2018"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
+"simple-resume-cv-2019"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
+"simple-resume-cv.doc-2019"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
+"simple-thesis-dissertation-2019"="p1bspb2n9dc7zk0myww59v973rjshfy0";
+"simple-thesis-dissertation.doc-2019"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
 "tetragonos-1"="6v6w3fcjmyb0pq0iia29xcx3wsnpm47k";
 "tetragonos.doc-1"="w3b4g7k13lljq69vg11cakx54m0813r3";
 "ucharclasses-2.3.0"="ss0jlhd052vay3g42nys4mj4mcf5iqgn";
@@ -8129,28 +8348,28 @@
 "xebaposter.doc-2.51"="sbpqsj7cqhhhs9gq8jia92hxrdgnhzkk";
 "xechangebar-1.0"="1f2zszj2l5mkqv5zs5bs8g5w4c8rirpv";
 "xechangebar.doc-1.0"="xbirklnxaljhxxghr1prqq7zb9l0mgzm";
-"xecjk-3.7.1"="mg55mr9bzw9kbfagrsbhrpcnl9gafqd7";
-"xecjk.doc-3.7.1"="f7cys2csrkap7qqy6b5cb2m57bq0havp";
-"xecjk.source-3.7.1"="7z4rrvr8ixmzjm9yhivsy5whcfx4wdhd";
+"xecjk-3.7.4"="c8m9j43ij2zqigs6h2r17hbmzgiglfcl";
+"xecjk.doc-3.7.4"="m47k3b09wr6gd5im7qgx4giwmq55ikbc";
+"xecjk.source-3.7.4"="naazw07wpw01ilsmby3zww0i5ralk8y7";
 "xecolor-0.1"="pdybpn00rxsb5ipxx377a77xnmmf5i43";
 "xecolor.doc-0.1"="vl2lpda4kkr2q8gzj6ii2rjfccx6qvl0";
-"xecyr-1.1"="m8yhfaydf5s8357m1hkd2hv267zvwnax";
-"xecyr.doc-1.1"="pw3llm228dnfs7in0vajnf8skb99c9wv";
+"xecyr-1.2"="8zv0hcgk6f94mjb7h0vkvpz0yij6p257";
+"xecyr.doc-1.2"="27wisfr0l21bc6rb1sd2yrk9pa1c78z5";
 "xeindex-0.3"="85d9z28381jg0jbkwrjrqlcifp23qsxh";
 "xeindex.doc-0.3"="7q7gxhy5zx11dmwvlfivg91v0gbp8pgw";
-"xesearch-2018"="0155d7ag68wpw66xqql0as3ldig0vx2s";
-"xesearch.doc-2018"="9nhi7api073chyc59c6i3wd6gvzmrm32";
+"xesearch-0.2"="avch7ld8isxphjd1qcjcwq8hqqkvcz1a";
+"xesearch.doc-0.2"="p2j9jg8h9xbad53h4d10nqnvv9lqbk2z";
 "xespotcolor-2.0a"="vsdrrcvm377salld5myd4aknid3phcvl";
 "xespotcolor.doc-2.0a"="mzibfcv18iwwwd71id0qajhk55kvnn39";
 "xespotcolor.source-2.0a"="lpc06f6qc8sff0jn78jsvmd43az18vgy";
 "xetex-itrans-4.2"="m9f0xqxgxpqsi5bml6mpgxvqjjpz1fkf";
 "xetex-itrans.doc-4.2"="nlixz1jqx1al7xks2bp723yl63whrhzh";
-"xetex-pstricks-2018"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
-"xetex-pstricks.doc-2018"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
+"xetex-pstricks-2019"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
+"xetex-pstricks.doc-2019"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
 "xetex-tibetan-0.1"="yzps4y2frsplnawgai9s9xb6vpk9h4zf";
 "xetex-tibetan.doc-0.1"="m49lmg8669bbir9hcj33clc2v811xdvb";
-"xetexfontinfo-2018"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
-"xetexfontinfo.doc-2018"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
+"xetexfontinfo-2019"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
+"xetexfontinfo.doc-2019"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
 "xetexko-2.21"="xi7pi65x4bkjzrsfyqj8iwcmyh4fv726";
 "xetexko.doc-2.21"="flqfvmaajg0w96farbiwipyi59vf3ah8";
 "xevlna-1.1"="jwpjj1b3y45n3lksn9wvsh3hyccy1i00";
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
index b60bc8693e5b..31680913a9d8 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
@@ -1,452 +1,467 @@
 tl: { # no indentation
 "12many" = {
   stripPrefix = 0;
-  sha512.run = "400c4de374d02934965b5488f37c1b052ade07c2acfae957c9846390b2b78315c6aed2b533a2271bbacabd77c40536b63973bd42e2686f4c6d25d1f4c5b4709e";
-  sha512.doc = "2d959b52c8a636f1a72324b5c94e1bf150d00ced12493b8e58b005aa896c6f968dfa48d18abef253f09ebd123cf6b872253cb4962f26322d5f8648fe3a71840c";
-  sha512.source = "cb681167a26e813bb7d0cdc4769f5f2d4f5be629ec3bf564a36a53473a491f60702daee655e144fbac08b1361ef35342846e6e192b117f9ab76cfc37f74166a9";
+  sha512.run = "57a177b65450718631f36bfd8db0f2d1bff788f3bf147137b6412714cc945c7e08832f14f9e7e659adf7e072a91f13a2ea27fe3161cd9b60313bc956f1f543c6";
+  sha512.doc = "9ce7fdae151a116ef6b22943bcbd1e94b90862baa5d50f54a00105d1f2d623f75a2e1440c3c49c560e2e6c5baddb8a6772753f400165b63a90a84f540e3fa381";
+  sha512.source = "f007dcaccb364964a73da6a09db5e6a25ee401d8108b19021b67023af273f486392cef6a0b01e951e9fa885304d0e157b919cbd6abc472a96dfbbb0f432b8530";
   hasRunfiles = true;
   version = "0.3";
 };
 "2up" = {
   stripPrefix = 0;
-  sha512.run = "e7ff5c56c25b1aee2a6bce971885bb9e63473e7c86f07137358becc478f5485af0d629305efc4e490be49ef00a15f7ceeec9df2c9237f8ee3a2e419587f44782";
-  sha512.doc = "ead6134de47576dddd7dda1085cf1cd07acc877530d918b66226d67cf5bd50bc5cc3a078519e5f3148dc1b131618b175a2ffb0b573632bc14ef44f63a3e0a665";
+  sha512.run = "b7844f246ef486d68babff92f2f648ef6b2eab28dbf8d22f649b2c9c26fc857b05f475e766a0c9b4c4cb5be1224afc690c22d19865e9efb9f4e75a8ff6d9dda8";
+  sha512.doc = "c8569e5cec43525d6814816f7fdaa6bc9ce0ea810fd6be60da992c251fcfaaf4c5229a1956c1fc3e6675ea5dfb4529267acc5f198053a80902b69b25a1464b75";
   hasRunfiles = true;
   version = "1.2";
 };
 "Asana-Math" = {
   stripPrefix = 0;
-  sha512.run = "84d6ddd0e598a11ff30df3e0bfcf6bc0ada4e4d0585c0506cef557f697ee543d4279e2024d71e6812eeda746d6b979a36e9beba1e78774b37c7eff027d4285e7";
-  sha512.doc = "4386e190f68aaa8c11e6eefbc593a318b179b6592ec5bec8f72da5fee7c548057e4a9e09c98155b6d6796f08e1ee8fa4fc9676331332fdd0d377b49eb4ac1d88";
+  sha512.run = "e1ee08540790685aab85c8acb407526f5936478c37d86b266728fdf39bb906bc7f6566bf5eae90b631eb59f59d65d414943a6faab922681199af76102078ed4f";
+  sha512.doc = "69a6615dda5f7e47fdff1b0b1afc4211f749a929b81f19a554246033e6f5f4a482c3c03a6903b64d83c4daeccb70983dacb35467047a467314637e65a19c917c";
   hasRunfiles = true;
-  version = "000.955";
+  version = "000.958";
 };
 "ESIEEcv" = {
   stripPrefix = 0;
-  sha512.run = "7476dac2ca91327d11c23737479fc4265e7227b9518ab2d3499d0ba848cde85a91c1db83f0876a06f28bbe4168a7008b66d15de32e015f8b8e5c6fefb6a34a31";
-  sha512.doc = "aa272672706cf5af939f6341e0c7a0d1a0c48afd512e068819ff0dd767f42df8e662cba8ff34ed28513f2ef271f3a4968d5157006fe2b73c47989cb845c5e6d5";
-  sha512.source = "2b2ca74e8d3bf58f596a918b4787a1183b7afc78428ce1c7159bee5bcf9b2b6ef702449df4580e87058dbfa8e920e5aa17ad4e9dc6fe26abba0b47d1b84389f1";
+  sha512.run = "79fe8175d0adf25ebf30421eca323f9042bc98792290763b06ba53978bf4962dabab228b9aa6220f859f64356eabd2cc94e71351aac441e64afa3fca8f73f742";
+  sha512.doc = "85d731182d5284da69254744a7d9e23326f5344a6585ae95410671cd5721961958480fab4b621d58fe01ff9bf0a602b3f94089dafaf5614fc8d57ad243e9b223";
+  sha512.source = "a63bc1de05f659d72f9fc297436e7aad36db6124f22c2a29c65418a1233c37a0a995bba3267fca6fc83f04efa119315c25937aff733b64b7c78275313209d42c";
   hasRunfiles = true;
 };
-"FAQ-en" = {
-  stripPrefix = 0;
-  sha512.run = "c98c84b11cb234b7d51f5c9a031013809eb1098e2d72a672e866103d1b41e477a295be79099b8bdaac8c467406cd898f7f5962fe604bdf1125cf6f2166c9aca5";
-  sha512.doc = "bf93b4a044dc59221194dcee1d78208c509b532fb036ae4fc9f4370d538a3911fb6beacb6afdef249263e8eae2dda3b90b2fa86fb2e413d17defe38a9c4119be";
-  version = "3.28";
-};
 "GS1" = {
   stripPrefix = 0;
-  sha512.run = "353d242edb0379e0af6fce8dcf9c9d03386272e937623acbb960101f2bb9a195908eeb649845f27bac8e5e8bf0fed00f41cff70b03202f0093981e9e4c3a8eee";
-  sha512.doc = "20c0226940fd057b921ef6871bd495178a7fe02e1a3af346f605676203c1226be4f21569666cdcd277f7448414b5e8a4cf68c8c31d08494e880f04ae7701663c";
-  sha512.source = "199ca3eb77153f7232cb5ce8d0dc733d43f6ca4449f83b773bc7643d93561b18be2bfe5e908be5cb60ff03c9dbbc2ab4c0d9ccf733e73f1c9585edfc99991fe5";
+  sha512.run = "c71acefcb0ff1cd97792c27435e7eb4f4e32f072a275e5eb7dd13d7b9928ca00318d0acdf605f35cc4a3d7099247c290155d6963ac1560f4b11f37a123fde0b6";
+  sha512.doc = "6e714b1087d228923f38dc3c8680e57de314eab79ab15f0aa247ad002a3aa6a9dac2a253c5688c904408c8d14dadbe307b3d3446b38db767a650989d5ed9e878";
+  sha512.source = "3ad67dc4bd1033f828cbc11196a6ce9a25b2abc90348f727423effd6d97acd7fbf617b88740afb9050f481fb403401033c3dc60c3b9ac326467697f9b1d09a49";
   hasRunfiles = true;
   version = "22";
 };
 "HA-prosper" = {
   stripPrefix = 0;
-  sha512.run = "90c5ac57e11997c7ef9946e33c209500d368568eec5174ef681fe64eee7906dc1614099922286fe32893e75398b9451d6e0c38e7f1b88116d0338d74f58607ef";
-  sha512.doc = "6ac2f4aabbba5326bb76d602fddf50dd7577845047dde64a23596ed6ef3433ce07a0abcabfbc3a5a86b9a0738101619e8108660bb1ecb0d9196834ca62515fa1";
-  sha512.source = "ba1ccb49b0341425b7916adb395bf097ed02b840f802cac59e9902242196c3f394e7a6367c376716e098cb8dfa1f78cb36dd5cfdf282ec6cdd326fcf2d2a8051";
+  sha512.run = "330df0a8d9b7b7ed5e4d2b74c626576ca8ac852cc84f9c79296141b14892819869cbd0e7f68050b4f3e5d107c43f9939ec9c9248c19ddd20da8d16ee2c25104e";
+  sha512.doc = "55822b9703d44481ae62dcb690adaba29cee5432b5b8b9f549884f55e943b1575064419712745166a6c0fd0fdfadac60473c6642816e1efac92c8e27c2cca76c";
+  sha512.source = "646cea88f8d725e30257c15bcd198c0a2c9cd6477b956279a38443d5b22ac4c64e795a2ded53649b3d1504bbc66639946c331ba978e775a5fea33696c9bc6c2d";
   hasRunfiles = true;
   version = "4.21";
 };
 "IEEEconf" = {
   stripPrefix = 0;
-  sha512.run = "71cf1c1865fd2844b174399a66e104685a335779f262439bed21e93069f005139746a8c0e1ab741e3b6dd0bfe02a6782e24151c0493b53b03a126dfab69a4713";
-  sha512.doc = "17235ed47913b213b52abe241e93ebf8206e0e9bd6390bb1e1c1c757f41a03f6f6b3c1c19df05d8ce2cc3102c1304d0cef6c11926f2f0ac64f4dba95f3054acc";
-  sha512.source = "47ecf7781579e77f39ef7c7b737e672f27e49c93b0f4c83a45c9f52562d410e00584422f7f40f0da4cf9d259f92d3e8992cee717886ad2cb4cbdc72849476b14";
+  sha512.run = "bd35025cabe78886f78333cb4ff186d0363480ea0c1f825456e9b6debc08c0a2dbfc7c703fc9caebaf2a20c47925141cb090d50146f054a76e1aecd861408517";
+  sha512.doc = "0316a52d380555afb04358cadd56e6fabe23293bd3b6dd0f0d4e4df9db75e26708dfc7df4c280a8a9759e4c8518050805f197357b2efa43664a984f56dfabb05";
+  sha512.source = "18d0204a051b8c1d0ea034b7c3357228b0dd2f40d44ffc059ee270fc22f284a833eec72527874be0c1414e01ca91f403726c801f75e2f6cd2d0a2b097db5c53a";
   hasRunfiles = true;
   version = "1.4";
 };
 "IEEEtran" = {
   stripPrefix = 0;
-  sha512.run = "f18cd628213553ac5ede282409e529c38a6fb2caaa5b09b37f145e2a8b7101a8bfe8ad7e70cb119b41045cf6cec3169ec862484f402017536045eba5b5c74f9b";
-  sha512.doc = "b6ec01292fef6e3000f57b9ee482654c5f421cfea479bedc20a8ffd668c5d04a75d7d86868a040d62361e12e7694d0e3a6d1897f592023aeb6579e10fd7c23bf";
+  sha512.run = "7db183824e4a62a9f90046d62d33940573a25d2ebe72de0d57a68340e82e2b4b21fe74e74608cc73fe53b0d889019884aec8e1b11060849a38107280e0fce2f1";
+  sha512.doc = "0fab8351fce31d36fc1cee91feea7d09e1acd78d80b0500d8c3fc7f3ce322055b952423e7f39d09f86e99b22aa24405ff5a0f00207f88a3cae8cf39593e9b326";
   hasRunfiles = true;
   version = "1.8b";
 };
 "MemoirChapStyles" = {
   stripPrefix = 0;
-  sha512.run = "143b0f66d4801eccee51a561cd7b4813553483a367900c2898d48a127cd032de87968cb53b6610c89ff4df005efd0624c502d8c78c4e0d630a50573da6ebe470";
-  sha512.doc = "ff3b7ead446cd0e8529e41c6248f124f5695fad04816977fffb83d3a1ef8a800a357927b1ab3303819e8a8c230bb26965f3d1eff0dec7a4c041ac19e66dfd1b5";
+  sha512.run = "83455766eb557edebad28b73c5decb0a7a23f097bdfb795cad9cc0847af916ab012fd044a63dc9893932ce0f161e831a2a8e7c0138a2157e0f1f4f2211667c16";
+  sha512.doc = "32b171486838a762b2cd49af46d3f2a152e9d592735a15a407784cde02e5be9281798302eb094f0c045f895a8f6e86464e9c214bd06f9061c313807ec36cbb1f";
   version = "1.7e";
 };
 "SIstyle" = {
   stripPrefix = 0;
-  sha512.run = "ef064c140f4c3cb71ead2e3fc0a9a787a4a454725c67c25fa26b2bdca2772198b7e7b026cd6533cd3d41a1d81919727386d4c1cbd394168c7fba152c17ee1fe0";
-  sha512.doc = "ebf6b9f40371a78b61292bb42ddf1fd0d01c178d7eb0b87aab13d94af96eac00de0045ce7ed69521b0d9fde03cb6664d2bfedde2adafd7b2c21eee2d542fd180";
-  sha512.source = "17dc56f252b4ae6025177747bafe6cc4453b69cea747834914693b372cad0b60d4b9e58e16bd8b50332d6d23f6eb1c628541161959f90ff24751386b0275a171";
+  sha512.run = "9473f7ef772f10ae4b70ea9d3074cbf7220ab1672076064aae9e54cf72d5007fa7e7f73c66082c53098c772a43d88af3ca1073e875c31c2821e528f8da836fd2";
+  sha512.doc = "553357a037de0494641969db5a434a77984224f7fee3f64a2e153304eed6ae38548a1cf0330bb5e6cfc4f4dfdc21ceb8cd2b0659b0e27aa79a7379a82441451f";
+  sha512.source = "3d2840beed83bb3843b89b08e3a2d111bc346e221335288ae35c19f7b5a843b668a5cd0b9f60a5df270a0c0f8953cb575d27a17f534a7b7808a37ee58aa1007d";
   hasRunfiles = true;
   version = "2.3a";
 };
 "SIunits" = {
   stripPrefix = 0;
-  sha512.run = "f82c11278447de91742353575da84c955307b245dbfd44b0b54b24dbfa8b870f682971ef57efac44d150f84e0491c4bed1ef7484ca171a29b579a9fbd9f55b64";
-  sha512.doc = "1e9fe6bab2bc93db0fab3af91199b278e857b286803859a27caffa7c7c305f08210b11710f93a694dfe7a10a0eb66bcf13742c75539cd2e7b54af4f30f495f77";
-  sha512.source = "8ba4d7b440ce99ba0496bb13da1a3da89d8cadad1f53ed70895bc1a61efc1288c3e96fcb2cf074cc9235cccf7d5bf12d964e25fb5fd6a63c8c913dd52ee383d5";
+  sha512.run = "b804d61bcdcc9d6f4559a05d8bfa7d8f7a3c378a618e5cd068b29e2661968b7564c36ce2e3d97f7fc7af15c11e89ac61e88ff25318d8c08536181d1f546f260d";
+  sha512.doc = "09c35a6d2e2d90701ac099eaf06116d4bf5b93652c512969dfe2afae74c9c04d70dcda8a5053d707aed0724fba0a8d9c3487a51fc617fd1a757c596a99b974dc";
+  sha512.source = "82081b1c503098847bc5f24c2749fb6abd1a739ccd21b01464119b7b6a92bfbb51666d0f5d14aa335e23a03b72b5eae8fefccf9c790819a4f8cf14b37ff297ad";
   hasRunfiles = true;
   version = "1.36";
 };
 "Tabbing" = {
   stripPrefix = 0;
-  sha512.run = "3100d39961501a8de334b2438c37d8e67eecc7e5e4c309e78efd76d0f94ff4b5d0358780ea2e674a9d7a79ead0de370bcb02d62c137b420a9629db4e699b8fa5";
-  sha512.doc = "783e833b99c0c928cc539105b91795090303c626f6ba21a035e2bfa744fb007c94a9a21a8677b4085a924a825fed3dae30fc0b994d2c00c9a410b1ef2c148301";
-  sha512.source = "09ae2782e7aa169060e710e7d24425d5f913f03cedb81c0b231744324b1c820c37b4e67799bb7bbc13907de229d163e70733788d20eac5f48be1e6378680035a";
+  sha512.run = "10d3c274c5838c48bd47f651bfc57aeded8246787e23091307dcabf2794fc9eec19bc3a3af9ae08b812688ebc4fffd295fb01c7be7d61fcd06ccb46ce4f6b739";
+  sha512.doc = "1f4eb22039e3bae3897502fe541e595c802fffa94d2cdefed451cf24883e1f41d29e9ea0065d1d68ddee3e166aaa1ba7896dd84bf612e9c007ecc5c1e2d5f616";
+  sha512.source = "a4c7b558e6e5ad9eeb8b4e3d81c20edb09d66cd8aaec2b501224fb7f93a40c3771f8e23d2fbfb910158464f98d8172bc691787ef1c2256066fb85e96068f368a";
   hasRunfiles = true;
 };
 "Type1fonts" = {
   stripPrefix = 0;
-  sha512.run = "89255f3388f0413b488d2245167b5ad94cc5f1245fc67e57c718c809129b6831896979edfe8ab1c022fdbcb1f32b6881c281bf06dfda9254419c546677a72718";
-  sha512.doc = "69dc7375424de9f884ea7bfa230f626bc8b0c49f00043aeca6d9f1057ca5bc5e442c94051d1ce2b89b9734d35adc45c11280d779d9ddffa2d98af6a318297cf2";
+  sha512.run = "858836fc8a955b87f823c25b22fbb4b07f119186ab437e0e7ef7d387bb8295b8a65deb237c649d93afe7d72213745d4cfbe48a51372c69c12d088f5403f22dc3";
+  sha512.doc = "5448b85539d29ace8365bd0e197693c0c4c53a145d5182c3f125e11cb3ca8194675ca9553ad53bf7e503b1636f17614ea2e338113f61474d9744dfa91800390e";
   version = "2.14";
 };
 "a0poster" = {
   stripPrefix = 0;
-  sha512.run = "ee50d613ab884611a263e854f16a42bd3c31d9ff7ec8d9f180c3d6ab10e336f15eeb248daa5d68c60b56bc25fb7783ccc7bd581b4da3576da72b00f6814bab2a";
-  sha512.doc = "2f6ecc701483110f1806bd4a5353ae928352be33832eca18c1d66cbfacb1dabf283644d89ad0841e7d809c621dffe463e58e5a0a611cee3e605bc36135600a13";
+  sha512.run = "95c13cc0fc3e4c8b76e02aef0622af10a420b9b536807effad3fa99822ebe1babdc7219536178a349aeb671f3bbdcf9e339ddcfa73c7afc71dafc2b2d7486996";
+  sha512.doc = "d17f3a87682008d8110bb5562aefee406d84b15e3678e165cc3f50e0280aad0736ff0b9b9847d9dc47cf08d3db9a28be71b76f9a5c61c8f3dad0aac187b23434";
   hasRunfiles = true;
   version = "1.22b";
 };
 "a2ping" = {
-  sha512.run = "1432c0f8d12775596861896997040065949662a24019859778378b8d9ee2440c91957ef5ca1e68b167bc2a47027574a3100d26580f0622c7699333195524f340";
-  sha512.doc = "a56c341ba847e585422ad5b14495c31310386e2de3746f2be003a4cdb2547c2a9c9ac64ab1e553e313a124c91761c8dda4f9b251937cb6b18e2e7294733ee678";
+  sha512.run = "983084ca3d70eff729d81d5d52a74e1bf1f95e384916bc81d17be81290f70c1da5ac891c1665a2451975f36fd56ea0036e1d0dc46b2e98b61ddc660ac044c23c";
+  sha512.doc = "daeefb01a0197e3b7751614cb84e2926f670d36b7e8a389bfbbe39cbd941c4d10ef5112593bfb88e11fa15f7f7bb07f2538c7d0a68cefe1482bbdaf02d475512";
   hasRunfiles = true;
   version = "2.83p";
 };
 "a4wide" = {
   stripPrefix = 0;
-  sha512.run = "2d397de87107b8a6488ba16c11a339a2c0b0a452601acc5543ab6342441a1494b894236581b0cf1585a08a596ddfad22403a7d69eab5845b47b724c108449df8";
-  sha512.doc = "6bd5498f18e83eff3ca4f3b88d7cc4ae111cb5f1ebf2cdedf51783e51ae9f99a45eec7ecd3d8f8ca8ac8fbb075b452bf2a782e82ce6f6baf4b8082ed13dd2ef3";
+  sha512.run = "e0f1f95bf660760683d6c5a917d75e537a0347837eb4388eded8194c6ca5371b2ad9be9829fcaaff1e24b7d8baefd287db6add752c19a57a6cf0737017e311e3";
+  sha512.doc = "bf059462ec7e28ba782d5842d090c93f4e911bdf44eb3d4f184a7324b454105295460a52414ffcb9fc71dceeba902b1d78ba208d0998f71727ad41299eb1138f";
   hasRunfiles = true;
 };
 "a5comb" = {
   stripPrefix = 0;
-  sha512.run = "6937bb7c1bd36b18a24fab2a3e5668e09bde9731e384eb6a464686994d7baa428480be79efdb96369261a5c1e399184a70955c7aa62a88e876cda204125f16fd";
-  sha512.doc = "65e076bffeeb64cf048261ad4806eb4233e067ec29010c435c48b0d0824dcd533525fcbb0af3dbac6b3a63bf13da43564a24bd6be56b24054073a7656534c0e6";
+  sha512.run = "443548964eb48ec458942e97f0d6ceb698050a5d4dc83ad17a71db0f1d5085a2c8e73c3e8d9bdbb7ab7e6328d12e42a6ec05c4c7dd4247717f295fcd5da66423";
+  sha512.doc = "ee845d8b6a21271d2f0e4e6fd24c79a1235d24ba15cc2d037eb41761b05ad3e69dcb5379c223c07b81c62df5f89190c84ff977390e149566710ce7175e4c2823";
   hasRunfiles = true;
   version = "4";
 };
 "aastex" = {
   stripPrefix = 0;
-  sha512.run = "03c1bfe72cd452542c114db9d3c388ef338a8722d78fff6b9369c2d8a43b057babf01e25f0c9e5908c14762a8d7717586b05a02b8446d098ec5b7885144e4ac2";
-  sha512.doc = "8e0afa427a7b7b3f88b2edb1b25456670e7c9b9f9e478439c93ce0689680290e497b41c392f1aab12687c0498b74f15e406418b99d49850774cfcbadb3888471";
+  sha512.run = "387de695ddcca83c294a39846bad1cac883382f82ce1cf1eb481c12de181c062c3a451da084b42937d7f9bd86e9102acd4fac4b2f7323affbb33bedd558f6df8";
+  sha512.doc = "8cf0ea4b6a71568d7cfa4b6f5470a7a326fddad84ea342834bccea8c3301d52debe835617fa5930414291a977104236fe8483f59913a15ac282c51841fd061fe";
   hasRunfiles = true;
-  version = "6.2";
+  version = "6.3";
 };
 "abbr" = {
   stripPrefix = 0;
-  sha512.run = "314461929fe072b426700a4c73f1a123ed9f0dab9ab415f34433582f19314dbd70dfef9b26628fb6220f8be97990417a1e40cf439033e422876b55d565fac3eb";
-  sha512.doc = "be2b78976ca53d9c8d3b0ac56e2e2fab14b09a0e67f64c9fd243cadda768193314925b16a278911aea40c74978676a40434027e99b7d674596ce1241f27a677f";
+  sha512.run = "4b5d504cc9438ceb97a6935e66a6eaeb494eb76eb313bed275b1f1a829690569972feec048132e12b5849f398d0a4b291bc5f9ce8462031846ec46bc88ebab3c";
+  sha512.doc = "7080dea132581fdb0803b4ecfdcf4fd5ed5a689bd7e0c7b7b699ef5b3faeab908042f1704cb553ce38e7f37d9facf7d22a74ac71e2cbd269298f35666367f41a";
   hasRunfiles = true;
 };
 "abc" = {
   stripPrefix = 0;
-  sha512.run = "ed8a2f56e8f02bef2875a7b90eaebc7e70764c1feab945cdb6c1521be16e9f63d6d830bec57cccfef7b02edc1958f9ee48957a5f5b0e34c091c4c020bb2a69bb";
-  sha512.doc = "1b641a4b56ccf02c8f0db3a169f1c734a56dc28c09303f9d49604bb1c53f5f1283850542af8233149fc9bf4269b8e10b5921b7b06a3440d32c044a80092d637e";
-  sha512.source = "b5ca042547ee5df312c25c0927a64bb2927c9edfbe40264b02b5d06174ee7c2eb7e20bbfe86d027bfc3290f214b9cab0f5f31924e24f31efe31240b6d70ea85e";
+  sha512.run = "8b1ccd152ed2ad90810551a36f0fa7f114625784fa967f70b67559f9f1e8eb32d7edd08efc9e55dd92723df4039d1bdcc212200d712e99f27de84a153c2a3777";
+  sha512.doc = "5f127f8e1ec104b40ac4d5e9bb22965e9376033892362073cdea9f65f1f10a4152f237b4f27bf52dbbe1389f59d3da673434c39a2b3f43d6f17aa60caabd5584";
+  sha512.source = "e47ba563a1018edfad97fb0556e4f74c7f3054a56c38304d9a188a92b51554628430332b4e66ebf1d12eb4ec6719cc13d7ea62c23157e70a3c0d40e172b9a04c";
   hasRunfiles = true;
   version = "2.0b";
 };
 "abnt" = {
   stripPrefix = 0;
-  sha512.run = "507ae784570d118ab41933a9157cf80f1009d7e5213430709d0bc93928127d3e2cd3542c28ffed887b81cbd32896fd3364dfdc2dcbf9a53b5fc2c023f2c29d9a";
-  sha512.doc = "1320d38b4f2608d970ffbd9f4b5601b361b554c2824db4f0941352eb14774ccd9e30ba36e8690466cad9df060cfbcf7b0e4b32f14737e98f6c1057e8a79754bc";
+  sha512.run = "e26dff31bb974379dbe8c33ce9a3321870ca0194ad6714e2848c427108626c066dd6c3ae7e0c7ce182f75cf928bb9741c09ccb3fecf3cd20c0f0b7b450219c45";
+  sha512.doc = "dd331cc5a403bcf10e7c9cbb551cc604e9de8df456a373e2b4cbb7ec397ced5b1bc48d0bad1fb9201b73214ffeb54cf0d7291e66b70af697a5638641a22443ec";
   hasRunfiles = true;
 };
 "abntex2" = {
   stripPrefix = 0;
-  sha512.run = "5d2a430292b9c12b7c4c4f6b9423dfab7814db494b756c676177231d433b49e48b07ee45e0a6621dc791fc82f90dadcd1ef94c641423ec9f04d77793ec5a8e7c";
-  sha512.doc = "990300186779bff7a8582e778cbbb3890d0d506263234b8462b0976fc8479f7fdc854017fc4fd3c3d3139edfed961f12efe0f0010ef114145f511aa127fc73ee";
+  sha512.run = "951c039cf0c97a6bd3974bd01ed9323876f1ee74b8250037dce3e92e00d598ab1cb2cfd0bbf4ea6d37b5f8c3e1095e531aa245ad1a91ee49262e6f99c5c84e59";
+  sha512.doc = "b6a5871cc33d94c1294a62aeb809f9d29ccf021cff510497c02edbaef2f155a55847dc521a0f698367692e556b2c588a95066bd3097482b0477a67d4a78b7489";
   hasRunfiles = true;
   version = "1.9.7";
 };
 "abraces" = {
   stripPrefix = 0;
-  sha512.run = "f1cea8911586725831da78c7bd4bd899d320438af1a3793265cdb5502973df5cbefe096b21673ecd0ae4008d687d2dfb8c6f5821a9cddccc57efdef24c4f4082";
-  sha512.doc = "43e4588ec9132de7de88c7e538f2c4797929c5a6202080682b26bd008638497a1aa8ff111f0963550763eb1d6bfbbaa44ea5f8381515025ca6b1e7368dd8869f";
+  sha512.run = "8d75830f3230b27fdee0b21cadcc9adf604eba3058607675b23231cc43be6a66d090bd64857b3715703d2aed1e8ecfb618373b89cfee743004f1bbff5c7d21b6";
+  sha512.doc = "e7392bdf5f19e5dd4dafdc1b058cf0d587d9b1d8400ae01bac3a928e3edef962567e24c53b219206a6cb82f24085da43d18525973b7ccadce05efdfe79b5d524";
   hasRunfiles = true;
   version = "1.-";
 };
 "abstract" = {
   stripPrefix = 0;
-  sha512.run = "f793a7b5e51b588cdaab8565bf14c39848d44e7d085ddc6ecc5fdd6bc9ae0fafb5cec3c98a0ac5657e741d6f92fffa8fb53e7a371a657eea7c04dcece530677f";
-  sha512.doc = "a56de87bb9ca72201ef854935d49dfe9d855636573ef37366e679748cd7d9f0a65e6c7629af332f764c6afd811875f5d65e0472440ce233b5fa4ffd990c67d8a";
-  sha512.source = "38f9685facc7c14c2c0387894aeee66d32d4fa351337628b5b222afbe3dde5783ff47a0755f69d52426bd0d3a6b74ed0e87d9fdc20ea68c8f9156e73aac309bb";
+  sha512.run = "2d805c2cc322cd802d612213ce525765d49d06bfb371a4ac5d1434a3c752af0ba0182093b0b6e4ee28a80ab926ad0f3a0403c03f871d3e003f6eb5a60ae39c34";
+  sha512.doc = "4feae7e22d9f8c6866a9b873359a3060ff75ebcd833e1ea5f82e833933b5beb36260833675775cdeb83f1cfde4dbae3421434890aa9f0f7539c999acd2e0405b";
+  sha512.source = "e68a030e56dc15481335dfb1ba566f9b68e92933f27d296d72e20b4d3541790b739b945fc1b39415baadf045164158618da98b63be567c1aa263336579986e8f";
   hasRunfiles = true;
   version = "1.2a";
 };
 "abstyles" = {
   stripPrefix = 0;
-  sha512.run = "c74147665d96894578117d4622bff3267162dc241132004068b2b143785c9741f537a57cb5e700d7204293e71414e7e162eaf89253970910e3aa9283b7b0f42b";
-  sha512.doc = "bc59a02f0a348aced95cd3830f9c89860f284fb654727b39e8aed2b0c7f3cdb7136c6644c55be92cd2707018ed0b0f95835d2bd010422a503cfc150a6463d51b";
+  sha512.run = "de7e7a5c7e56ae4fb478c9a072c6b2dc8716ea34ee17be577cf4a485c5506f16cc5b79293cfbc80b245ab350c2e2059dd5fb37a2e28818f492edf7c0416d52e3";
+  sha512.doc = "d12304eeb2cf797153d7e17beb25c462b3fdf75f5b7b1b24e1ff89d52ce8fe5b2a0fbf88d083ba51301afc45f51871e376253aede36bef21becc1a4350da8259";
   hasRunfiles = true;
 };
 "academicons" = {
   stripPrefix = 0;
-  sha512.run = "f23056755a69d7577278c5a7784387af6c5f1699dc2b20530e0c5a24e42c3b3e855ac0d85de0632b031013c46c3bc77b5499e83c97dad91ab1aec0448768c872";
-  sha512.doc = "94371d410b3a064fcdcbabade35218a0b1da6dd0c266f855273048b7dc4facd85ea158d791ec54814267c3af133bbd0443a2ac1262678e690722e1896093c1d8";
+  sha512.run = "8c394e4ebccb34cf3b9878a3b3577c8d43369bbef3ebe336336b9ece077e9fcef8ebbdff16f00355b7940bb325fc62ca22b428d2f25559bdee0cfaea73617938";
+  sha512.doc = "ab38b79d6893ba290c13862e4518c7cf6ee297f4b3a248d051d1c4351cfec05b3f271bdc95c0d345433733b9de14f852de54351698be93eca0c802959133cb03";
   hasRunfiles = true;
   version = "1.8.6-2";
 };
 "accanthis" = {
   stripPrefix = 0;
-  sha512.run = "22de40e0d3b39d0892824ad41cea2f9065ed7067977d59c5b14c26c82bcb76dd6679cf01edad7f8853b9af13ea5344f9632eaafa54f225f19534091f2d390968";
-  sha512.doc = "a0b9054078d2452c93e0ad20f4e4bba5e3e2e47b5676e2dda70bda9008f6a6135460d5d4be1eff3848432132dfbc9818310c74a75e53c423a2098febb6df875c";
+  sha512.run = "9edbbdd97ea30709f0e0e1959bac7806c188d610e414f037a4115747f57ce7ad68be67b75506f9ce186c951a2c46c3bcd5b0697bb72d81fc48465906cd245be0";
+  sha512.doc = "efa2cbf4c11b28dc0a907b62d8818489ca48c458419e37571633adb8403f914c01d28431684705363e56cc100adf7cff6539f19fae9e4b23e6cf3dc210109810";
+  hasRunfiles = true;
+};
+"accents" = {
+  stripPrefix = 0;
+  sha512.run = "738e8299148365c0441495664cd97b408b181d192adb718adeacc93d4c63b7e81c12541746777571f3fd0da37348905269b5d7ecfc2d58f88174cd53edbe56b3";
+  sha512.doc = "50e5cd01da80113ef3247c4a7c7da703d4a9c3df68822b31ff734da2d755f5fd2bf9f5f8982d84e3628e96905276dfe6cc6699bb625ff1dadbe810b11bf5a35b";
+  hasRunfiles = true;
+  version = "1.4";
+};
+"accessibility" = {
+  stripPrefix = 0;
+  sha512.run = "b001529b18f8782519156a63e3aa08079516ac68bbfbf68e991c0981fe9132b1ab07d429870e6b61929d3064894d0be2b4e66eac0647d068a0ac5db068e4ad00";
+  sha512.doc = "d40927f3ad33f3b4ae9996b1a40b5eb92f80fd79fa66476f4d98d8feb1c0232e2f072db20d7171cd9b8b8b118ea25cb2fab73d420ac7b284fdaeeff9ab7b3c74";
+  sha512.source = "c85b049111e566d1a0a5aea7b6e170d4310982b893dbd908317a51f1192b051a49ea17d6535aad4112cc76f13e5c29ba7070ff20a9d6d98b567072149972649e";
   hasRunfiles = true;
 };
 "accfonts" = {
-  sha512.run = "a985a0bbdde6aa837ed1b02b23166f393fd33ad536a6efe3c6c42f681ebaa4b83ed29da4e21d53eb8bf3c2d0f8dc7f817498b44dc3409bd0ad761e1178275643";
-  sha512.doc = "c7aad3379cb789eaea0ec4944542edf67da32ae9190e6ce50c62c011d68a9d70e8c18affe7043ffae1df861bcc868fd97ae1eed50b56d54b18e1f378d519140d";
+  sha512.run = "f70105569c5b8ed83c103e423d29367702a5330d57f743a640ef68fc6a290b246e8f514907d63d6c7f203c12ab3eeb0cc64a45fe5c0379f10ccf1c8002007a47";
+  sha512.doc = "24b19688008b875890a397e2250277f81be1b77c00f95a9a2d40a257c0dc6f4c8adfc07e594f3873e60e1bfbcfeba786e45e9e63eb632ca92b7c935f74b3049e";
   hasRunfiles = true;
   version = "0.25";
 };
 "achemso" = {
   stripPrefix = 0;
-  sha512.run = "276d855050753694d085d793931c3495d0544d07bb21c686bd985145b25fb8191030f21c0f62ccb8fe37b8ba8d17895dac652892e8fe5be061d2771a972405d9";
-  sha512.doc = "7c97ed86caa01e691c27d8bd9fbbd307f27ddfe01602a735aa3e62738f5e6102712872ba7d1e8a25d8fb45e60c2ba0fb367994a4fd36e62328be3ed6054cc593";
-  sha512.source = "e2ff13e9c6cfa5adbf8680060cee1bedc400d658de2ecf234e47ec866f535d2e5e1664201b8116febb347852b5370ea27e890baa3a1b27407f7f7bf92044a45b";
+  sha512.run = "87882436a324828c3a787aabf5516f773afa35be70c64392117e356af18c37cca77d439f1cb88422cda441950ca40bbf624fc01ce3eb05d6ae22fa817bf8a743";
+  sha512.doc = "8576bc5db853243bb4b37f53cade79aa1913e763ef6bd2af3a9f74087e68598d40308bf65772a623e44824ee128c8e93aea250abc3499b219233af5aea558efa";
+  sha512.source = "64a121d889d685f2dfb57443e38feb62e4ac1c78b7496d0f708bc3d7379abed7780b48984e5464d04308e61dd3b332908337474383493eddfaf418f63fe15322";
   hasRunfiles = true;
   version = "3.12a";
 };
 "acmart" = {
   stripPrefix = 0;
-  sha512.run = "cc5a774ca08ec7e8832c26b5bcb5fa9d4cfda4722070d4a7a94c71806f24b3c077e796a0c50e1ea65db5de0a952358bcac0fa0e2a867790f803f81037c2a1b2e";
-  sha512.doc = "0673cb719a9f714e85b04875adfc777506b3f244e5bad6bb3795fc3000f5f2e0f36269a58f01c2ed59fa5c403e109593bce316997827cc334fd83cf98cc1cc19";
-  sha512.source = "8438fe0a5c765204509107547e7dd01b5c8bba7fc8cb513d4651ffbd894790075392f181b8ca4a1b0dad587fc65d5bfc6c5e13f44e8886ba23a5be9af97a393c";
+  sha512.run = "ea2cf0785986aec984c2b2b147f3848e2930919e719dfff290faa427a384b0d39296b1d0e53e2dc3d871399cdbfacca702926a078517c8df48e2feed839b16df";
+  sha512.doc = "27d213d4e03cd173c5f78b5ab5184369a4ff9cf3dcd1487183b74ec2f8f8d6fa85feadb8675c64dc65e246a273b94d509f7af5331c67e9cb16c825d81d784f36";
+  sha512.source = "be3fdfd03914ecc4aff2629cc7f4ff8f82a08146beaa10c1cba834ea454a03fd907768022d97e5df0e7f157886a0f660aad6069c8578319b5a9a370aeb2bd219";
   hasRunfiles = true;
-  version = "1.57";
+  version = "1.64";
 };
 "acmconf" = {
   stripPrefix = 0;
-  sha512.run = "6e27169556b062f24c1e18f387ac87e545b193d00d9ce84343a087b9fba4a8cc166ebee20f52a72df1709fba30c9f04865ad751e332eaa1d10e682674fed87b5";
-  sha512.doc = "a1ccfc2fd4c954d37e5e45bd2ea25812bf53cf233d2536498affb795b7065f65dd91099159a09ba180c6d3d884b3a90bfa83d2845ece779f057372a6cc6e39cc";
-  sha512.source = "550987b618ba42e052a80478253cc4f7813122164f5257cc954c65f51d86e2a284cc6c5c28691385bf054a7e93de9f6af6d0ae8b6417815cab6ba0d769f3ae1e";
+  sha512.run = "9363127ba5d59bee9d41e800a0e11d12bc4493e5a79a94be8efe23a44278ea097a58fb53cd334fef0f2ab32c9350196c46ee1aec8347a4aa5554b317c15249ba";
+  sha512.doc = "a8a971df6a94a9548b71c1463b9ab143525127774daf5aab227a805c302ee0732d3578c361c5346b123983a32e6d6c8afbd543bca4dc7ac7ad4d5919aba63099";
+  sha512.source = "bd9ffcd848571f2a4ffaa7f324835c74abd59ad1d2816b6dbad5fcac7fb06b98c38059dab7261b4bf7d811d56d0ad48d23ac81525cf95a2e6a190a25a6de9d82";
   hasRunfiles = true;
   version = "1.3";
 };
 "acro" = {
   stripPrefix = 0;
-  sha512.run = "838780c78ce57bc9e6540c096d7d1947d7db1c1fd89d1b13815f569c5233434b75a394bbe00f7e0b38f09d5ab1cc60b4a9484b6cc66a5b870ebee8b5992f5866";
-  sha512.doc = "86b7c570bc59474daaf54386ea649e7efb87bed4558d082dda89329de3525be9ec3d4cfdaf1b17aeb23b61dd9ad4dc0d39ffd274b79845798f67c56961d27bfd";
+  sha512.run = "bd768e27445f1557019cd3a7f598205fbacf14bee45e31b2da8f1d9958f90f486b6ef01788584565c61bf7bda2a03f12f4e64fb851f750f9b424e65def4daf03";
+  sha512.doc = "9a795393e82518fa5c9a50eeff22f5f6bc1efb42e6bb7cb4b58378799cfbbad6f1b676e5c5e502c509950c6d318649c6b60cdcf6f8947a590326f49eac9e5735";
   hasRunfiles = true;
-  version = "2.9";
+  version = "2.10c";
 };
 "acronym" = {
   stripPrefix = 0;
-  sha512.run = "e877ed2525464b2be1879faf8c2ccd3f2bcfa6b978c988efce3b8f4b84fe8dbe2c79797b458dbb7570e44fe3d6e37d6932771a3565ada4bc42677c4d220312e9";
-  sha512.doc = "26112b4b836181c98d744b8c7e95dec34d75314a3a889703e76624748611cdaaa090d7cf91d5b58d8301ae00a87359181086d9abe9a9b5e545788b31486e71c6";
-  sha512.source = "3c899df1e149b2d9f87b8247edceefad142d848b2acfa836849569fd8edec47286ccddacbd301f66f5c028c1002a8fe80478b8045b7cc1a42e8794c5ad5b6abc";
+  sha512.run = "68468f027077b6ca895dce3127a78891dc41b1eb245c17f02810180bd0a66d4a5543596f7bce2d751600d49664833a93680339e0adf959681937db8861624673";
+  sha512.doc = "e5ca45891edb4b43f48ad8cef3cb4191e7e8a971a4a6dc86c4b6198aad74599c274fd68c3045b34b539f2bd673619ffe7410058139b39d14830387156cfbcacc";
+  sha512.source = "9b33c43c3573efa5435cbfaee439ed08bd9f46666dac143092f28ba0080b291f97b215fe73cda5d358285619396565d4437245031608fd52e50979eac2877967";
   hasRunfiles = true;
   version = "1.41";
 };
 "acroterm" = {
   stripPrefix = 0;
-  sha512.run = "e354edfe516022a04f028db559cfbd450b2dc8c4983a5e2f7a1e90f06adc510925ec5e806d371d53a54499f355c80391ffd244e438ec277f298d1af0f6829d66";
-  sha512.doc = "805f287a98b001d5a3b408646fe66bd3ff8da003ae6e0cbdd5801c9515f5b531e7a7311ae6fbf6e4d273bc3c4b443167f3f9df0dfc159920ea9aa5b88822a718";
-  sha512.source = "17161f16da8c1e05cd29053e575f4d92685c1fb77c1168bf63939cad235cb1e198545f755c2e967498ad64965b7dcccf80f3ac6154fee95fd09e2eff65bfa825";
+  sha512.run = "fbcd24989570b083ec51365b560ad2a082a136fc8b2b57aaca4a03059f66dcbdca1efe39c959c8f1a049fdd978ab58a6920f914589c242264b9d803124d0e0cd";
+  sha512.doc = "603375e44822841b1dbf52d7aab0c91c0ed36dcdada7e6fab607ba805fa896473674123a2594714fa0f698c559570431f09ec55ca41720586fd522df24453253";
+  sha512.source = "e289d4cce2bcbb70b20d1f59055cc019453e526ff2c0bee6e5a2d04573060d1d4490d89ec717fe55e4dd3754170f794e60acd453b21b884f595ea56bb6f95adc";
   hasRunfiles = true;
   version = "0.1";
 };
 "active-conf" = {
   stripPrefix = 0;
-  sha512.run = "7f55a2e7b31dc2d04250d9d27d8346d454824e660bf93c36a4bc369d12b55e8fa57759621c6f44dbad813382a2377b2ce00e4528583b52107a1a79d96e54061e";
-  sha512.doc = "a1eb9058b2160a568aa6bf01c5a77372655d76734f8ea95b6beeff06c6b4fe4af26f418621c2ce33100c7e7125ccf6008ace16bc92ed0888553a4befbdc8b37e";
-  sha512.source = "eaa01808b38d8b9cd8f98b2c33a98f84b5119abe7ebdde2defa64f58deae7b2d1df15ff364caeb3f4e4dedfc6318b3b8df79755303031bd7e99dab0660875e56";
+  sha512.run = "afd71b77d016c6f2b36ff045176929409f1fc104d9f3530c1a70fad4fd1c71ac327a3b58dbf4a14b93cc691d88bf6b7d3add07196921876360280ee4e5915134";
+  sha512.doc = "e1b990ceab6820376c18068bf5ac15e984150fe7ad66929496cb77665f0ae334cb28026e0000e788f0580eab549fe2f70e802ca67d0f968961f4582290646758";
+  sha512.source = "06d82683cb44e35a07e2907e00f2f80b247a3ca2cc0e9b230e7417aafc21a73c9ef788c4e88cdf7fe7f812c471c3b34273adcb4d5e272888fc481d9d18a88b68";
   hasRunfiles = true;
   version = "0.3a";
 };
 "actuarialangle" = {
   stripPrefix = 0;
-  sha512.run = "c4fa0a70038b4cc5fa56f530b54369db43de1e7161f25b48800339f9bf2cfeb42d5960153e4af822935760991d4bbb419f3c9bc2c5fec7ea589ab713240e5916";
-  sha512.doc = "4d1a86aaf4e95e7e23745dc655e997419069c2e8760aea63df38286f3f21954519cba054ab96ca45afcee9273da1eb6e1cc3ed76630a45d4e6d73f1257d881e7";
-  sha512.source = "3939ed0809c4668a4699a4f9792ad6dceca3f189ec6195357aa1ca02115ed1267a1c08ab24ab6e0da41d22b5f027546453416aa8b60938bc5ba7944dab24d96d";
+  sha512.run = "0f3cb2dc7b0e392942c5eee41227c93a2559c3a268916393530342fc9600c9c4b946f469f222250c23d9b635b9b51a9afc598003a00eab71d641d9d78db29cb1";
+  sha512.doc = "ac945df0aad5f51dbc900d7b9def5115cc6aa48c081feaddf8cc7985daedce5fbc0ed633ab4c201a0b0af27327b028bfda1875ec6e2e1c90d038441785a0e8cd";
+  sha512.source = "4958cca024dc6918371f68336a67d9950231630ee8f011f9c190693f7d5454eae1d1daf51147f1887699a9c941562cc8c867ab7c388eaf2c154d5373ff245d86";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "actuarialsymbol" = {
   stripPrefix = 0;
-  sha512.run = "65550aa3d04db62924fcae1721ed41a7eb1194aa650f0133d57ce295922cc68c5668267a1bfe96f637f14563fbf3e19d31c6508c37ec613e8dd9800160a2a290";
-  sha512.doc = "acc4eadf44ca0dc7084060ec30fdf93d2fe6c51adce499e1c63e87c777e0c8b4559b5b954e1478c6b38ada5903f0b4e4f3e2e2d8f70f5f00012ce0daa462f11c";
-  sha512.source = "4ffd0338b94fd229a81344048111e7ae4f465e39dd29b1073988a5f59d648b1078b932540a5cea14558fa9d7d06f5a2ffd8f9bbf2385784d97c8fb4604a7e297";
+  sha512.run = "49dbdc527b3fe204a4fbcac265accc0d0be88201553cf8e4110b51042ab8b72932bcc1488b7b199b1bb345941a624b486ccaed888851bbc6a63f70135a0c42b5";
+  sha512.doc = "3ba7c377010c3d6d1e7c52bb4256c10f78fe72e6fb7e1b794831d68fb9628d17a6a74f31c8b7f6bae41a59d8a29e6705e28d1e466c36e8273a449bd2594d126f";
+  sha512.source = "c87fb2395a4b3bc7871184eb49b83754dda2813249a5df2319e462a375283e6087b46129c0fb78c744944005741e9a1b28c16bf5073c3744c90e7dfd9c9a0ba0";
   hasRunfiles = true;
-  version = "1.0a";
+  version = "1.1";
 };
 "addfont" = {
   stripPrefix = 0;
-  sha512.run = "e445823cfac0b1eb1f65a6d998c413a961ff43a4e3667b7c63a31d166cc539e78d4d8dd31fb21960c63ae0cd67ded74b0a4d4642bc0a225c0a9659854d6e6449";
-  sha512.doc = "c8627e1b6d1018137c1463dd8263e0e1766f8dc6c31b2135fd79d7848c161005bf8e6ec7b01ab7085ad502c70dd15d5bfd6750139afddd598f0f2171ff840d68";
+  sha512.run = "fff94f6b6bed71f6ba4662c78cf4ee5c3aabe2f9b232fa9b4c52ad39938e7f56306c905ca0c187b0c618f67fd5d245529fb06ce17124b980c29eb278aed9d857";
+  sha512.doc = "10a3d45c3f4a4a1aebdee7f3a6a05866df428cf7bb9a1e3ab13ce6fb6254c679bea293449fb00cf5d1c64c99fe8b615168d011631d264aec2349053643f5bdcb";
   hasRunfiles = true;
   version = "1";
 };
+"addliga" = {
+  stripPrefix = 0;
+  sha512.run = "b54db5b075c2ba2f632e40a1ae2d840b0a61cc940512027effa2b2b3cadfd6dfa2407e2580a462b98f48cafed94281d39613397ed34ad76f54d6a7e8b614ecb8";
+  sha512.doc = "572d9aa1396ac80be2cd9ab0bd317759805a6541b656e19ae36915a6277f9a4ff2987c84dbf903133e0a5027f382b0ed48fc882ce7a79df7a27cfe3082d2a666";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "addlines" = {
   stripPrefix = 0;
-  sha512.run = "7154904ac93f217fe42b2bf713f2adcf4e155d2b00d97ddba48c64e0d5ffbb52802b4036fa9e4c14c8e9d7099b8e08f4dad2fe4f047eb2a0e14ab296d0a66253";
-  sha512.doc = "c71284d9e81bd885b3285dd9014b99aef1f468d3f87ae374e683b5af541819137e9eec2eeb5355c4fed4aa5c47266ba57503727457aa1058ca8e85a9ffeea9f4";
-  sha512.source = "1b473d9f4af1c8e6d17c91a5b615f3742c014444e9e7cd049a8714eb8fc6f576fe8649dcc753b3dd29948f065b5f878f9ab61d0400a9d65199dd186277fa8170";
+  sha512.run = "5d0a438fceef1481633f37824b686422e5000cf232b7dd24bba0f30c8d62b583daf01a67242283f2e4fe971438c061acad2860f50ce1438ca32677d497db8b2a";
+  sha512.doc = "2993c6caae1d2f230d144c9f93f7694adcb2e17d9bcd60eb3aa3144806a522258fd4c44a314d40cc767b3b069c4c929b8e458e74bebc746771b975b77bba34d2";
+  sha512.source = "6de10a1ddcb65be76594e7389d47316e066aec3a747ef7a61e15fa0e670d914dae3d2ef777c9574e8b85c5d9628784df7f4dc61f589917dbae571f31416bad08";
   hasRunfiles = true;
   version = "0.3";
 };
 "adfathesis" = {
   stripPrefix = 0;
-  sha512.run = "6377c2ca35a8de2441f2aba38bc3a253d903e51ec2aa34fe1f5f28bac2c7a35911e41604e8081df33e80c2b2ca14b011dd379fa698c5b658753fd0969834f8bf";
-  sha512.doc = "5114ebeac5c7b44ac2af4aff11baff3e8c549cde31d6082b1149a43a0cd2f7fdb50f0e78832059c13e06a4867eed8d7ac8c2eab7df930f9a110f1f2c6615f395";
-  sha512.source = "597b4199bd00cede73ffa0c527413930cf58d6c05f903ca7f2ef16b8d6f560b6b7689a32391ebefc832ebec80ac99955905f6df7b852c3d46ba4f6cf62f1696e";
+  sha512.run = "4eb7fda01fa1961d213eadd2f0bc9b1cf102de664dae1f37588e161af22d043319e12ca704c3223e78e963411c3f0533c845b17f7d0744b020ef2dca35b2c7b0";
+  sha512.doc = "86d89f4f139c9ddfe6babb84558f7d89f57b75e28d37f659d9893ef703cef7199272e60f1233d51351b5bd8a4565393dd6f09ba69796d2ab555423c2ba23c2b8";
+  sha512.source = "3d9a376183e2cb22dfd210eb6d453324d035289173c6750d67ee90379d794a50393c49f8fc40e5c51484127632f2489468b215dc510b0db0313372816fc77927";
   hasRunfiles = true;
   version = "2.42";
 };
 "adforn" = {
   stripPrefix = 0;
-  sha512.run = "e0a62aff28d3aa7742cd82f63e3b4e0828b6c077a2acf5fca8d981b3432d6c2ba755b1f4b916deea9ecff45f5f65e82ec61b563d9bafbd8ffda99d78146ce2fe";
-  sha512.doc = "fc683fa19d47defd2b0dbdc02dfc7d00d2f4ba71f8fd6758fde456b54d90dfad7adeb8e61db46fc997fefb2bed51898d54490111be8be898b27ab9f6bc6e42d3";
+  sha512.run = "50369d5874b6ebd35498ab4502661de8630ed3175df02cf938817e17c858cadf0915dbf7c34ddfb0861a0063f7cdeeb40b1097573f77a4696f08354fd28d2a64";
+  sha512.doc = "b2521044ab8869c114579b7ed59ba9b58a66049ead3202d5f62797c9de0fde442b4f39c7083e1626f50b0011fd57fdb4227cab7571bbf85d6076b88e8eece61a";
   hasRunfiles = true;
-  version = "1.001-b-2";
+  version = "1.1b";
 };
 "adfsymbols" = {
   stripPrefix = 0;
-  sha512.run = "cad53473a3b7fc1ece10622bd7a0e11e751d3572ca834b47a26f8739517be859a825a93e5de5b243da2f9678b344ba76a724dafc1231e3776f546ca7e0201aaa";
-  sha512.doc = "8fdbd3846befd3fd7b6bbab801a781df70e3e08ecc0249f6dd1c557175e3b776d79653089b9a3d45b6ccb2162ef5987a44c009650dc1a35c64db2dc928375c64";
+  sha512.run = "d5ad659516da1a4df4b2244f90db9a35fd4ae1415e78067a378d389a536380c1c642d7910491d4d49273c9f3e03a8a916cb418d8e608329b2701df44f8011de2";
+  sha512.doc = "39bebc154e84ea1286e25e8f7b9439e1c1441b7df83db770a75e26580c452cec7ac8be97bd77e2a99448f100d30ea9d5f40f3282a54e5fcfe940cb40c9917cdf";
   hasRunfiles = true;
-  version = "1.001";
+  version = "1.2b";
 };
 "adhocfilelist" = {
-  sha512.run = "aad74515080b909cae80d676304c31c63c0e2163aee55e8636b8da187e4792a0a02b1b7b6e2953ac2117e28e5df6ef6ba1a5873817912422aa672fdf9a4d71a6";
-  sha512.doc = "71c3e54051e5e5ec1de97ec79f0bcaf216a4f107ae70a7d99f27b0f2de2b655b95e3fc3a438bbcb7a36210f29b4a89df91af04b8ac5cb824d66a700e2e24ec19";
-  sha512.source = "cebc6f27a0d56301efb118b01c95cf60e7b6af42e23c43a583a23a1785e99adf7426daba5d83e27d9640560889826a93ae6296523f1eaac42ce5a4f44d01b8f6";
+  sha512.run = "57436dae1489c0f614c4b002f83d34a711398a762ac532b44b1d91a51d068462aaedb5b034923629f7630f039988452eb833d1e98af389c788091517bbee8954";
+  sha512.doc = "14bde143bf3ffa3f2b972f93544089e4c0314c7696e1d711719549b7e831278c66fee0676665fe6eaaac744689d613dce159e4eee2e3f9c24dbbe602794fc62e";
+  sha512.source = "15e7f652408c5975ba47131109e0d18bcb1d270e0ea630a9a3ff385e499cf3607a366e708a5ec9559d7ccc2a5e0b2d3d0f5f615142978a918b0bd1bd0218a30d";
   hasRunfiles = true;
 };
 "adigraph" = {
   stripPrefix = 0;
-  sha512.run = "6dd8c449a065987afd7750a09aaa7fcb9ccc61e019d1e721f1e316fcdb9a87d43ef3ed6100d9b750647c92c74b47ca2184ddc61e007324ec361617df0f9c72d5";
-  sha512.doc = "deed394e217bcb55e79cf5bc2c39bdba00aa329a140d8c66236d922788712dd1e7c0926040b2f513e1d6936f535d96dedf90150cce0c9068cb38731b8c9da28d";
+  sha512.run = "6a4684925e542a6ab0e3b97280059dc47fc892efdb99858370dca9dff91074d98030a93f964a5172bfa95a6dbf41f7a639977b0559332178ab8e4ca9dcb20e10";
+  sha512.doc = "763f94d22e939c255cb0b920183403d7c753dd4d77483b79f82f4a302375bee4ea42357091866ddc392b554c6dfb707c624fabfc3f92fb6ae07853e3ddbc8594";
   hasRunfiles = true;
   version = "1.7.1";
 };
 "adjmulticol" = {
   stripPrefix = 0;
-  sha512.run = "74440ea2b2c3c29a33a5d39d43680a29709397c1734484a02b215eadadd73d146dc824e4219a9ceaf56fedfd6b303ce98d2775cabf6d54895fe7aa61b7edbe7d";
-  sha512.doc = "b649b554576e886b8d4e9f54bd6ad7608ddc5c4236fa46c0b5f7ba77b53f85d08f5c52ed61b8f35f2854c5eeccd34f1c2f14266e6c8c6ae4874cfa6f3fae28d2";
-  sha512.source = "4bc36ffb6b4f0943d2e96b84c6fb2413b50900929f68ce39bcac7eefd184331bea3b3ead70290097c4d212f0e7c5d77b6930533ed8f8f9fc8539f65ccaeef937";
+  sha512.run = "1134de8dc37c135e944c223946ca249106d12a6af8c653ef39c0418893ba5d52f6ac4a3df6fd521638f606106830e0ce31aa2ce284617ac11226950fefbd94af";
+  sha512.doc = "299f6cfadae2e1c51021d849c9d2c10132007f4e4d0b2d0550c60a58f12781ca90ebed6052e9f84cc22bbdcd7b955018769264fe016800706ee7548c4f8a1e61";
+  sha512.source = "0b766677e3a95d7878f990c152952a3ad0c1aead2d4248a75070e93e93ec4e81524e565425404ac0579fd7451a562cea5867ef7d7acf58a36046212f7d900556";
   hasRunfiles = true;
   version = "1.1";
 };
 "adjustbox" = {
   stripPrefix = 0;
-  sha512.run = "ef79dc361879eb46a3d7c946efdda2a09c90169242aad22983e4cbde01e9b3b7a0f6dd2f6cf56ada24c551ca7aa8a7d80536384a26f539521c7ec239aa91a5ba";
-  sha512.doc = "d3ba7feb98e64bb5c3f9cfeda783deb186f4d314cfb6dc6c4d6aff9cfd5443489da36c8ea1271e3b80409b733b1f2c1480986792c884c06cfa9c4eaaa2072856";
-  sha512.source = "7543039c4439dd9aaa0338daeb3f9dcbf359cf84d20fc8ffc85c6e26d3999870f93826351fab68054e473f43267b525a43386250e1b27d9f841dc7af007b09c5";
+  sha512.run = "19ee76701aa1c060d5163a06263cb5b6b58d74d4bba1b7e77813c5a3b683eef35249b6569fadd1c52c0cf82465c4e2acab7091dc1b396c1e938ddd6b0a1d3bb3";
+  sha512.doc = "33febe9f49a7c78950258d1955b4518a4ff15b96f6a866cc8f59ba83bf66a8d560a4d00430da494013aa37a72494280b4d165d2104d81bcfda237350855e1f59";
+  sha512.source = "f473a082b7bd5104a6a11454ffaefadc4df5d245d9395cb51d6922884c653ea73c065677712ba61a6baaef776783627a6bfe15cbdfa44b4ccaa7f3294d444f80";
   hasRunfiles = true;
   version = "1.2";
 };
 "adobemapping" = {
   stripPrefix = 0;
-  sha512.run = "0d4eaf0e9f3278785b9a43e331ae71181461e342109c4f6eff1f2c4f82e2b980b2dc84c6f2289de2cb9a704b086c79e3e73cb1e946cadcd51e17b649a81ffb4a";
+  sha512.run = "1dd2c4a813bbcd8063d42c1872fd14427bae2e5ce9698ddb0825770653d17798c037da511d43a0939cea1a607f0a7bb7ce974bff72a2ee88c6f56f941cc7510e";
   hasRunfiles = true;
 };
 "adrconv" = {
   stripPrefix = 0;
-  sha512.run = "623d8782ef34f12ed89e8e621c52e07e246352f6e6a397eb587379ebc1d7dd44a44384a0ce03bf0fae36bb1c885f6b132cf775c6f65ae921df908ff8253e4bbc";
-  sha512.doc = "45fa639a27149e92266c8ff3a99aebc284a394720ef5bdb2af6c664f3a085eff555b8dd8076539c1493cb4206667453f51bfc0c74130fed67667ac1d514de05c";
-  sha512.source = "50591b2b3999ef456bc4ffe4f16f4ea76c76d1fc86aa69695e86e98997b57b6c30d722a83602206849054b87bd6e055129ba414e5cc8ca4634c4483039190b7b";
+  sha512.run = "ec4300075ae2fbb0b29fa8126263d8852a405a84df8cdb6f484c989ebe948257ba3d1f3ddf9204ea7d6d50129c294a0130afabb053bc63022928ca748bb4ce14";
+  sha512.doc = "93ec47833fee152b098477f838858a259f5842264d3a7e9a959d60fd35f46d680eba61c9f4b5efa08ab2878da4aec78d19cf83880e33aeabde9854aa88491c78";
+  sha512.source = "25233e23bd1c6aec13609b5d17587747a5840e21637e3d11a478941f98f5f74a77eed31f806b51d07b79f8cc4ebb8c6b8fa419f72927045e3695ca4ada8af388";
   hasRunfiles = true;
   version = "1.4";
 };
 "adtrees" = {
   stripPrefix = 0;
-  sha512.run = "00ef0d06277d0ce61754ecaba55547601a58d5033cf7ee82ffb2d2cba47f5c3bb04eec5ce4f2c8e0429cdf77c21e0e84488352f9862378dc30d70627ea2f8db8";
-  sha512.doc = "a7af294044e9d6e1e1842cab4eae5536b3ad1cdbcc7c9d8c779472a8d02902fe94e0dc965d1d92d8a84c7065a9ecc415db78724f75a163a10fa88f0d570217e7";
+  sha512.run = "1e06f07576666fb7b54c78d930f66fef78571469bffc3ef448687c8bbb0d23d41761e17c8ec1293bb6527e31fc70413df1b7de5c9a06514e6aa8242ed90deb09";
+  sha512.doc = "ad8f2e42a4a31368000909c5841fddc189bc2331b47f2c64b16ec509bd662a1b82df3ea8b712f0bdf1c40f123ac28221179b4352e20631d9fb776c0b2939bc4c";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "advdate" = {
   stripPrefix = 0;
-  sha512.run = "7a3cd228493a6961513ec06f0380db494a9b6c3a970d2b67a152626811c13808be421d1512d5857847053408395056870b5c319399743eba51d86eb78149d651";
-  sha512.doc = "250abd6118b5fec45f9bec163af27df20c763fe0d732d2aedecb0a080d9a075dc923dea9c21ea6b4db2f8ed611ce167f2881d3529bff76653f9ce09d33d5bf30";
+  sha512.run = "80075aa6efb4125bdce79e9b2ec6951caf1a753c8915201767de230acdd1adc2eef31400574effadf6287be159236422840751bf5ea24cd3cab8a01e82a0185c";
+  sha512.doc = "acfcbd6a40630da2cf9024cbf3ed378c1f7f8a16c8f8395b69c12f9693e903ba54b9b051c364c5cb4de957876bbd41f0b480c4f4b320e22f2c6df7b08502873a";
   hasRunfiles = true;
 };
 "ae" = {
   stripPrefix = 0;
-  sha512.run = "a7b76d3ac96778aaa572b534f7cf2179ce89f90c67fae167754b89842ea25d20e83daaf9898bd15c97a65e83eea6a9c39affb64134c52af099d2a0496f17b591";
-  sha512.doc = "556e1cb096c22c673c10d9eae7302ef266080027db5a357042e02fd4052813ec77ca62c78526f68940ed4ef2d9a4e7049ef11917ab489cd8f1296475f273e5da";
-  sha512.source = "644a3b28a39014f35789dafdb34bf90db598ceaa4440d04ad972abd1f79c6c3595e778cb40760d9231bcc3c13f1ffdba2c5b8f2e30569d51dd91e8a5fe2b83ee";
+  sha512.run = "6b1c57d5bd3f0959e611659f979ed42b81e397a182d09b3482e98865196077334a9796777aa112ff367b97c232859d4f9637730dcd2654e6232c577d2f59c39a";
+  sha512.doc = "927521fb6b6a5787d0e94ad724cf19825b2cf2ce23333e60e13625a36390eaa4cbaa1bbe50dbc718efae97036d5d815860919f536601bb97224b489d20082953";
+  sha512.source = "d82fc85014bb32147c9562482ac1d0ab1d1fbff8140441dafff032e24c3ee9e406c9872a93a66ef96a2f67a75f47c01e53565372a14d1bdece588f312c8f00fe";
   hasRunfiles = true;
   version = "1.4";
 };
 "aecc" = {
   stripPrefix = 0;
-  sha512.run = "bc2c3dc3bc1398d9bcf3714a9c31a7474ef95206cbe7c0ad14520b474191a3eaadf94c0e345eeb7e86b651eca1d5c7d93a91657ed3c5f8cccd7c87e71d06f4aa";
-  sha512.doc = "ab371cb7380bd008d5e977ba78ad1d170c34c4eae4b2ddff92d412bea7dd866055f9c5c639e4b93ff6c64278d60b0ded783941a114e6f7d9f92cb54c02d25ee2";
+  sha512.run = "d36fd36a4d92a5031b36437ff8c75e3fbe2e3124982f496d6633476dc876a300d3b0ca18874d6d6256a096d01bde96854c30f76a777ad5ebf9755b035b41e7a9";
+  sha512.doc = "58bcfd0db5d39265765a32c9996807dce4e1ef22c47a3b6f4307c59eae01e1f8eab2e8d2252f83ac42a41aeda1542087f21a52ca523a9364f1ecc6b635251df3";
   hasRunfiles = true;
   version = "1.0";
 };
 "aeguill" = {
   stripPrefix = 0;
-  sha512.run = "51b75d25fbb0ca70d80533e968578e893cfff8aa838d7d458a190c97a5a95bef000729ee856704ced1839ff9a9f18e54aeeed0aadb71c77baeb6595ca4b5b705";
-  sha512.doc = "5030285bcc9412fd2ff552cf692ddb611dde958f58a5119f501656062cd13f580a193c8b6214b051cde68ff7ce111ca3bb5cc512068ab057a874b8a989dddb82";
+  sha512.run = "b75f41c1d179b63d1807ebfa81e9e656bb43433a3291b9e29d5f0f76667868d26840dc6ce7f61f0f959cef724f0b5738b96af2a371f949daefc4179de1f861e8";
+  sha512.doc = "8361fc02999b080f19beb793fb0d1d802203114c1e1581c312a21e3a682191470b93e373fc269f8aea0e2643a69c8caf80855597ff6a71aadb6bfc869f4370da";
   hasRunfiles = true;
 };
 "afm2pl" = {
-  sha512.run = "75dd7db0aa266f770619188deb52803e916d729dd27b151d5c47b2b9142b8f2c8cb508162012849b673d161efaf2c31f560da17ae38a69e3176903144683e4f1";
-  sha512.doc = "3665ac847b89eea90bd5cef211a8e955ba7c520340adc837fc00cb0d94bb87b94d4a3df0376528062450a8c17466e6f02fb0e86842f7b58e0b77c5bb66c86830";
+  sha512.run = "daff35d38fc35b83fc270c3d304e2383ce43b277e3e70645f957157d6e57cfaf4ce6a9191504404a9a0a681ff2167f361612cedf920f79e243c8afb9a9f3ecb7";
+  sha512.doc = "667d5a03190ebb1fefa164f854afebb0f703c671a2339dfb0558a547cb53072c6a5d8118c781884c559b8136b3427d08286f74abe31b0ebb021288474f0397c8";
   hasRunfiles = true;
 };
 "afparticle" = {
   stripPrefix = 0;
-  sha512.run = "b4cf56b8062e05d712d8e70998cc502a38d4bb88c72cc489f9d299470ae225ff1c14ff0cf7c71b83eb244ade40e683014ab3d748ac6eac35c77f6813fe5d7fad";
-  sha512.doc = "ae93b1392ff2fc4fb354759919386dbdb1b3368d595babedbdc011b05f18730350d7e10f239a639652b1019b110d981e10fa1a692615b0e3a253394d1d2511d1";
-  sha512.source = "caf0f30c7cd74311dcbbac8886b96464414f8d4f204c2b2866484b66beccdbff5e703c7324cb447e906cdd67108e1912ceb0f7739d09dc890b5092b98266a63a";
+  sha512.run = "958ed5cbce1dc7bfb5d01befe74de6236a09b3ae5246aa3f2e80225bc353abf21b622f4128641c54a27197560557738d4c224e160c0be87010517c3a30a729ae";
+  sha512.doc = "d8185772e114a891ff5ce0f2a2e12b827420f8c486813d87bbb6fafc662ca1db710178e8cfa260d7d650c3432909b9f7a8521648f6aebd5f90daf1aec4e28d7d";
+  sha512.source = "f12b5a10b929d78c728331704ee83e726bc28562b8179adc2d9e7324b6b742100319078f5ebe8371a34927ae1fecac4779b9442076a95cae1d66e015f235d440";
   hasRunfiles = true;
   version = "1.3";
 };
 "afthesis" = {
   stripPrefix = 0;
-  sha512.run = "32df1f2fdf4dd1beabb634eb8376d7de1c511aab2d53173bfe8861a278d67d91d27d392ae2969ca88583f33d1194f79b692cd9369e0599490ec44785b7c0dda9";
-  sha512.doc = "e2c3077518967e8b4dd9d25f3f7e8cbfdd6b7bfcb5b0a173d6462536032394efffa5eb11582c63853b3ad234cf25cba966bc21dbc13c255543e3274751a76aff";
+  sha512.run = "0ed83c0a98bdade60c49b3408053e020c6deba1b96d74b47aa2404c778a96ce2898af1d76892704524c0c069128e59c0bee5af73de6ff9237624600b991ed6b5";
+  sha512.doc = "c221f77700f974f0cedeb4f8ecca5280c04203e9cd89042d414eb54037db71cceed450477fe9498a15d9f09b8a0cffa177cc897958594fa7e3952adbd85225a8";
   hasRunfiles = true;
   version = "2.7";
 };
 "aguplus" = {
   stripPrefix = 0;
-  sha512.run = "0d5183d3d27849702848e61aeb18be44dcac8dd71f30a6dae5b72984cb0b77cd6682831c08442bc48838be2770b0b95056a7f11cb0ab81832578bac62397f4e1";
-  sha512.doc = "ec19bffdfc2ab898052a4988ae3335631609469ad8cca47b719487a849ccafc5bd6f65709e2c7dcf69884e2e886b94bbf8da1f4f7b337dc8b8c3a8b204b02134";
+  sha512.run = "73bd9b7f01a4911fb25aa7d388c5827c62a01a786ece4317f5b702de4c281bd05f82568780f4396bf289fcbb348abd2a3eca6620fd8e3f801d23aff7a05e104e";
+  sha512.doc = "48b9c010f746b8a85bbf1093b3dd39c2a853d74b20feb71bfebf2ded8d6f4c44538e6e20b24c65849e8adea9d34ff15498e847b1521bfca11d18fc23d18e10f2";
   hasRunfiles = true;
   version = "1.6b";
 };
 "aiaa" = {
   stripPrefix = 0;
-  sha512.run = "9f066ebbbb1ab9eea1f8b9d9033ce0c600ed9536d0e4216a09c765100437c78f2a237115a3446cf0c23bfb1efb3aa1a301a838034072398cfc98334262626b86";
-  sha512.doc = "5d275edfdedd82ae68b52be48f13cfb351754a9d3a6a45e3e73a3008c195e49953c28bce6af5360d69a940f5bb137361c30b88b1fe3ab4ab1da5634f391df23b";
-  sha512.source = "9687e3892a5e8a5b3a3e329e0de0063637dbbc25e9ec4961c807113a919acdbbf6bab131b02bec2669787725da7f544e0bf67e026a2c2747274c68e658118071";
+  sha512.run = "9a5c04cc0b24e2b11e4b6953ceed9e506ad9f44922b3407c3aed1f5fd1fda1e86b1a5d6613a059065c1026f69830a8f5af0ed21ad8e1856ab44d22985768f24a";
+  sha512.doc = "cd69337eb21eaeff910696f153bc97fca94afa0b147e3360477f72c5d90afa5d54d375b5eb7801df1b988c8f11d8fd23848a07f013a4e06c28a013248e00599b";
+  sha512.source = "e9542fb3cb5a16a565bb5c349f15b453ccb4c81570425a5825f0f952816ec27edad65ee670bed9069dd0c1c8762b5becf6300ad551b15bc5adff960f73354588";
   hasRunfiles = true;
   version = "3.6";
 };
 "aichej" = {
   stripPrefix = 0;
-  sha512.run = "77553b01d4f793d3e5baeaa971228fc9252b2dc36a806fc391494da08ba855f9dff1a158a37b3031e0403bd6df4daf0b04cb8916968db901b02b2ad8894568ab";
+  sha512.run = "7edc0ca36209f18dcca0b794c7ee712f0eba82e3e69b09fd46fdc7ede6bd33e93d4936d7bfcff88fe4f699acd04493053a7c76cabb87670215efaae12aaabc83";
   hasRunfiles = true;
 };
 "ajl" = {
   stripPrefix = 0;
-  sha512.run = "fffa97d1a2d0c81d2339709dfebe0e267869ee4927a5a4204b585e6cc6ebd40151079c2682e6e7c6b22465a574edbd769549106cbd2f122942474df1254a4c86";
+  sha512.run = "083a549d425336eceee0ab8e85ef592aa15983e9a4dcf2264d835b5242933fed8719b81b427fcf7784b38b8e0b3dac2e2a7f8b9ffd10cf2690b96bf8b586ff3d";
   hasRunfiles = true;
 };
 "akktex" = {
   stripPrefix = 0;
-  sha512.run = "edd2cb3ada114292619ce3ba5dde40d3d78587c63c3fd39de592f4fd39e405677b4075045788b614940d574ecc41fee145bbbec5985327eea71bd53bd5c8c1b2";
-  sha512.doc = "ba75e400c4bcbe850e13656e040ebe780de672a0aab3e02791eb55484487b4d12b4cc2f64652e4103f61d4b770418240ce7bcdd32651da79b1a18efd8ec5883f";
+  sha512.run = "481502410094aedb36f00dc93ff3cad9479e756b00c60abdd7da98713f273cf45a314ccb55ef2436dc54cf7e8f84e2bf9fc5f00974c9978aebacee177380c9a5";
+  sha512.doc = "4378f1e2c96bab5f5926b22863580dc2ae555400d770f5875eff09b8f915da4c83e99679fa7487f788970d17537123d854400e31bfca868d693b3d950c33051b";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "akletter" = {
   stripPrefix = 0;
-  sha512.run = "7711ddeee3cc416da6b743cc296f9045cda05ff524fbc4f34e34b1ef018756a8d679eb8e35f3dc8fbcee496c882cf160463398e52142d74b63d45b09fb9e15b7";
-  sha512.doc = "d57ef4c344e426e493ffbcee35f43bd230e2c2974761d71c3ead5d530ebb1c03515523edc2db8a9e49bfafcf9ce82cf67a118b0a3531c043d6b358f50432ec05";
+  sha512.run = "fc0702fce74b32b04ce2b1e03960a7617c84a89d4581f16bbbe1b16fc01d45300c0a46682460d78cc572b6e20cc42ec7701c5067adf5e4960ed1bdfd5a69e910";
+  sha512.doc = "6a951bf2ad4a7af4a6c87b24e8f4c3b4ff520430024a6abe6b54cf56269a903d78e591def71ce7cac832a4d3f822e8baa14f8decc960b455688801f406d01e74";
   hasRunfiles = true;
   version = "1.5i";
 };
 "alegreya" = {
   stripPrefix = 0;
-  sha512.run = "af63f3fa81e656be9014b066f90265ddc0ecdc985f5d171361bc447cacc264f72a9438146f06c30c270dc27cd4fff768dd4412d73bca34a4a15a3aa9879d2ef8";
-  sha512.doc = "a70ff6d31b328da403ce40d2fc71066e0c884843ec2572253b48710f1a76d3aca263d65619d91027e3fc41c1924561011e4814fe518ec396ef2692f2b9c40e25";
+  sha512.run = "d1ccf5c1e3b53dbb5e5f41f6845c0ebb03b4d74355aa11f4dedc8214af2c49f2d4023b5296b24b7330b4fef0f0862dbbbac864831dac16317f7025a88c8c4a6a";
+  sha512.doc = "3452ed4d59bdae841afcee2895e9ed64f60b5ce511f29468107f84ccf1cfcb3afc4798a11e48681bf66f17f448c27d3fd1e8b82cc75acfe7d6fb7e892d0efedf";
   hasRunfiles = true;
 };
 "aleph" = {
@@ -459,197 +474,212 @@ tl: { # no indentation
   deps."antomega" = tl."antomega";
   deps."latex-fonts" = tl."latex-fonts";
   deps."omega" = tl."omega";
-  sha512.run = "a0718ac964a69e66d5803208d8ec1258dbb47982b1fc8848dda009e9de4c442f069bcc64ca76d4db4b8cb69bbbede420a00df1cc622678c7100f3bacfe42ceac";
-  sha512.doc = "d5d07a1927c13ede9aafd1a4ce14b3fb2fee451988ca350c5a1ea3eb9f7c525445bd8f7af425873352f2ae470a6e62c4ef15a18939ca38553f196dc76cb770d4";
+  sha512.run = "844257e47e80ae4cbd243dc2363ebd6524b97ebc87e02a3a14b8a650d28ba268acef6ea3ccb6eeaa22c12169981410970cd72aa57fd80f00881cc98fdd9004c7";
+  sha512.doc = "8fa6b630a6567afd7f0789182dc382df21cd1557d556f0b9854e2628ca369c578aced877af0b6ef55fef3f12d0b46a30f3b3c92e8e53cee3d02554f35ed4891d";
 };
 "alertmessage" = {
   stripPrefix = 0;
-  sha512.run = "a3aab4e15b75b9aca6052785a03b78317fb0da12ed6a38d4cbe3d905c2c2577434c3db67f96912329bd8109e4e28d56db097c50bdb963174d6109e3ece65123b";
-  sha512.doc = "467b5b0e5ce316483be5de3c4ccd82f9b61606df60e926ba2e8c169cc76f7ffaa6c2d49f7c2f188248b61c872061e53edb836702971931dc83409a7dde49e909";
-  sha512.source = "f2b8cf33e5c95f519adb940e6499ef86ad9532c062bc855032953fd811f8cba86813f7a04e00c28cda33234ffdcd484fbe81b93f4292e8b9834b27209f983b66";
+  sha512.run = "df06377244dbd962326646fcd0aad535733d275ff6a86bed3739e8b77c6d1231290c4628a98be50d92e9006f25be68c20d5fc5e92c82a6cf841c0af5670f7ca9";
+  sha512.doc = "412cecb146790ed0b7fae601d9ef0eb14381cf75ed20ff1bab3190c249750fb693708c2dce26e76da370a265f99dd312dc6747b6c9e7de62ef51a709accf7e60";
+  sha512.source = "c670adb01cc2e1dfa0997f6faef9a0d0b31ad2c6329174597b781580f02ba5dfffa7afb4538e0e740271d7f9f70b48a1caab91cadf8282d89a3f9a35c8ae8897";
   hasRunfiles = true;
   version = "1.1";
 };
 "alg" = {
   stripPrefix = 0;
-  sha512.run = "6ef98e4db425d18bd9bf44b6b488adc5f32b11b63407f21aa866f62aeb4f4429fc260a09c09c3b66141edb63a692e6564759fead69453b980bb377ce17e0abcc";
-  sha512.doc = "da7f1ac871866d94ef68b2af2fcfd1e45d4c722eaa60e21d8ea2d883305144e5f9fc1177d3db8e2d4fbe2739ee5b4ed99865654cb5607de6e9c7b3552c7e8384";
-  sha512.source = "3954d41bf6c04c4f840bb4f0558a31341a6c6ecacae27f926813adae3a921c1cdc44d1f37bc50eca9c9ab8ad5f44ef251a59b0c95a9d7189334dfc424ede6872";
+  sha512.run = "923f36ab03aa10cf3da008f4b3d7ba5919f3e4a512c82fd1c42386df22019ca70c4c1700b7596750a00ea7c50586bdb803db3fee22edfbc402ebb9e249668e99";
+  sha512.doc = "d94795e7513612f3eb102b85b9fdcc792b175411fd67edd6779037b1e0dc101378159f58c6c6feb82ca6b73ea2a6fd415a36e4a4ea67913a0d1110582a41e38d";
+  sha512.source = "a8231edf9c10855b312bb00f2bf37b68ada65b876ab621f459b3ee12da5bc5b90080ab6eff5c3a48c0821753a02576aac0100b3a577cfb7c5dc2cd4b47c8a026";
   hasRunfiles = true;
 };
 "algobox" = {
   stripPrefix = 0;
-  sha512.run = "c1707fbca0737a0b24a751cccbe9f08e428cb4cac62c190200e3f24bebc2af0100459f677e37115b77e84b95f1fef5d1c939de668ecb57928384a981f8ba305b";
-  sha512.doc = "a9a8a1fb0117ee2b80387b68cf1275d2ec274ceefff1d2feb38f04287a6110a5f58e217d65891106dd552c293a3a0d945b53528e9f964da2fc8d893de2e757e4";
-  sha512.source = "3b11a289c523ce0cd91f6c586b8e67098550efa2bcb20c46a0316fba21a68313400649a2775bcb410bfb477d0c93ccc3c9861092b611f5f459131110f51de096";
+  sha512.run = "0c7b068f117a5eb591646e32faf3a9dfb6a03a218411d092afc33c7adcee30f95836a9d841444fe87a700288e293510763807d393043518ba70e64a3df82099f";
+  sha512.doc = "ccc96b84ea2d1c6c9dab8bd286e24f3dcb4fb9dd31904b1eef4b07a1de34a067f3cccd3d8e33785edced6dee8673e60d50ffc201643912d732660b1f14404d74";
+  sha512.source = "49e1b417bb0df72356f5d4046826268dad628d6872732a61cc7df789bd214799ed49a4a0778eceb31369fbf8cbf21c6b142a85348e10a7ab634828108b7cf03a";
   hasRunfiles = true;
-  version = "1.2a";
+  version = "1.3";
 };
 "algolrevived" = {
   stripPrefix = 0;
-  sha512.run = "ab0c0832fb1d77883b880032daf884d4ae18c0a3f7717b643ba74785eab02b5d15a26def97b37a26918b9f803c915103505f018e584962ae097820cab2cdf2cf";
-  sha512.doc = "92c0533d626d88e798948bca5fcf138fb1630cb3dbc329a2432eb084c18990de71f37e04746d6aa1a1e4eb19abd129ce20e39b7cda9ebe4056ed8de0440f7cf4";
+  sha512.run = "b9bfde7e4d0a36f0e55bfff77fd24f8e76553573e1ed2d8596cdc4e1aee74ba9cec90518b4b5a54153d42d85b9645c68c8de02fb28b15f294aef8ddfe7c16d43";
+  sha512.doc = "3f8cb6cf18d02c8b29cae7a64c93d394df958f5b8edf95917169730e95fd90121c52120c821d09bfcb9d335f0bfb762c42734cbb8f0b6111911dc8b1322dd9b8";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.03";
 };
 "algorithm2e" = {
   stripPrefix = 0;
-  sha512.run = "e16a3b8053447d5a084506944959e2ed2842afe5c45f675ba05267603632c1758299640417dfe2360c75ca5a7e1f6d50289076c041f2c44b3a4b6b1c0b3adfc8";
-  sha512.doc = "ccdb0b8cb179dea4a87d6bcae9d4d4dc755e9e95ac84ff597382fc26a7708f3bf8b0cc4b3d8d13cdab2690bd0ea8267eb7d6d48a796c4321f249e8f45759cbd0";
+  sha512.run = "0203f337518811a04f255a1ea65045f487dbb4813fb848e0ba1b52d3e5fba96b784852d7e900a82f4c047c2943098e3b37cbca27322d115c341fef6d262c60cf";
+  sha512.doc = "ae737056adb53f943ae8c92d8e7bfffe52a107cca4a7a3151932a581744f1396f43e134a55e9894de0ae1fb5418983ba4643e1e07487b690478a6979555d8768";
   hasRunfiles = true;
   version = "5.2";
 };
 "algorithmicx" = {
   stripPrefix = 0;
-  sha512.run = "a399beba07b746a6490f0bb584b1d89ce877de3ff0fcaa9846ada2efb4afe1631f0cb00f19cb918a76a99af8e47008ee3dd1a3a05d8850454054d62dea1ae075";
-  sha512.doc = "d143a543eddf18fb93f2a8d8387aa91efeac5728bdb2df5f96c2a6158aebd1d2759966be2bd867f7d63cca31b19aa279270419db5612820b389c0d75feea4295";
+  sha512.run = "b6cccb7bc391ad11a8996d3e6a3a48f79e50e3e685a4b7670a3399d5d400435616794100b38e73d32633fc16cdd1795c2dcd57bc79279266dc6509bb14d08804";
+  sha512.doc = "cda9c4082faeaaf504194d75c014fda9cda20fe85ab9dd8c4f5a3c9e39fc2c8c8428ef20b921790f36c8abae2ecd8ea089353db540477909039575bc65ed5228";
   hasRunfiles = true;
 };
 "algorithms" = {
   stripPrefix = 0;
-  sha512.run = "914ffb9d54d83aa1c6c753ecabd3ed8c42c771e7c1dd7e04934645e41f00656cdfd8aa9d18cba4d04792589023665dd4695c50aa3618858d7028b10db8961e43";
-  sha512.doc = "8bab28a11c8d977b1e837ac6dff57a888a3856f790d990f8d8667a204850c5d558009bd01c3c253073ec468333a0abc4fe644adb40371b618de4efdaac015690";
-  sha512.source = "86996ff34e5137efe0f64a20b5510368c6d1540e3dce4dcb23f625f1744e99c0c261518dfbaf803b85ed9f43b2872e7ac1cfaf7c28be420f36d451a0ec3ed96d";
+  sha512.run = "ba02581f18b74ef97f37b7c1052bb7577b256ef94232b045a43c841fc4705f8d7ebcb2b286d95dd70943d309080b05d36dbf847ecd6e661038d6e375d514a787";
+  sha512.doc = "3658a5a31162acf5ea1dc318503a2f9e74944cb998494083de76e2e31119bbc22094bfd41e048f5628730df359d2359943cec3cebd07b364a81703b92520dd01";
+  sha512.source = "d83acd2275e83d37b5bb9a24d9cb0efbf711a2fb76a9a5a18d7299c95d6e1e0ac8fb41990b795a21b23b5e4fd8de5ef08fa480c6b2eaa7d1f7644e0d44c2f1fa";
   hasRunfiles = true;
   version = "0.1";
 };
 "aligned-overset" = {
   stripPrefix = 0;
-  sha512.run = "d5e863d012c4663d4e68aba4126e950ab42d87f585d6ccf30635a539341e6b49e5f3b2efea54af5b0f7f455b8d930592e605d942b8a7b9872cffce98c0059f1e";
-  sha512.doc = "7d1607ae5324be8c734512a6a84773d63add345eb2d5aec8f2c4e7a70277790cb737c9fcbd18089ffc56d3fe893610811b42c4bf1c0d556bcc98630644d5dadf";
-  sha512.source = "79f6f053eddc36efa3702912301e104c58ac9e89e120bef27ad37bcfe5bbfdf7d5753d6ba7754794b19b12086adfaa1dd447943c98c75f227ec9710c3211742c";
+  sha512.run = "3998cd5515ad43e559da91bd1f25b835743299ec13fcf22ee9cb3aadc44c285f428ee701f5b27141c4d03c97b31a31e8620a2911854a1781ee5543a99073fed4";
+  sha512.doc = "d44ff38fe36352e1498e12eb56652e935cfeeb9ce6af5711bebe7844b1b7ba16864c8dac3c3b5f2e2bd6fee86de38c7555d5796940b834ce1ad396f5d2cb536e";
+  sha512.source = "56584744fe5700505608c6ced57fed83fa189c9e755b63521f466f40e1080a35032b007831316e4b080cf93ef36958873924246a4cdfe2b0f129effda75380b6";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "alkalami" = {
   stripPrefix = 0;
-  sha512.run = "d447c394a6ab5e09c86a7684f02fa9db7ffe2c5f40b48afebe2510203298ee91914f7d5e40c5de43a90e101a29ed16d736d0554938d0c042e30691ec8a92bc14";
-  sha512.doc = "f17ab9146c0dda1026bcff50d00efdf3f9f5325c7dd4df2248c7a74b1195bdf082f01536b8347f7e1ab2455c1ee7d4d94d86cf344c236064775e0c280edad56d";
+  sha512.run = "57d8a09d5643536cb2341cfd7bd84f24f101ebd73ef1456a39fa8557fc81bb6bddfb58990c38d4da229da5c6ccba0b4d956d82f7d07d65c57a87c749ba3ef841";
+  sha512.doc = "c9ebe4fc7bbcb254e0fa0f027e93680be2d1690cded2d9b18f3da091544b05f5dcf38b87400f8c5b8d4dd9ec320379c752615fea99d010a118bf35f4693c704a";
   hasRunfiles = true;
   version = "1.000";
 };
 "allrunes" = {
   stripPrefix = 0;
-  sha512.run = "287a2d0320cfce181e9313b4a7da0d063818fec6f441f0b9ea02d51cb579d7385d5e1f5820fe35d228f11fd7b56d1d5324a90b4ae0980ec9a21c76f4a0e56040";
-  sha512.doc = "54cdd917966c822b009755546b5ba93b7a81655230e811f11c14e0f727d937f60fd12d6f9bb27f5e720624eedb502b1949828f573a27a3df48a5cef999ea0201";
-  sha512.source = "42777573447457ed04b308312efe096b726a4bef375113327f04782b13775b4cd8e11bcc78a664b5009788aabb207a76104678494aefbbc93cf24bf286a7e5a2";
+  sha512.run = "d05513d484f11a9fcb5d202d02e7ea586cc82c44abe0488294e58c6f31185b083026bad3f17186ff03456481200e05e2ec4a7a7348f6b8fa4e952702b15274eb";
+  sha512.doc = "569f61370178f2517ea4d4625209a1359cd56913073344816f4fa8aa19edc8bc63c073de4373adb0a0a8c8d45fe392da9869bd16bd7477da65d5b0decfe6de61";
+  sha512.source = "9765fe328824806dd96ca1a0e9678ba385eb61acf95d8447213492843f908de65209022d76303be816ee1c500e95aeb35280f3377369315a87752a0c4478feb5";
   hasRunfiles = true;
   version = "2.1.1";
 };
+"almendra" = {
+  stripPrefix = 0;
+  sha512.run = "dccb1938af6f4de3a4135f2ed58d31ad1444d78ba7c415bc8d22d57f0c93d1b28b88634cad238df129fa5c40e4971998a70d4f753b0a7b8bf54b036d181c151b";
+  sha512.doc = "da7305ec5775fea53d96985d2d859a490211dda1eaca56934db20f52fcccc9ed811932b498878c896d82300033432288f179c588b55eb774269602096880e3eb";
+  hasRunfiles = true;
+};
 "almfixed" = {
   stripPrefix = 0;
-  sha512.run = "414208577d27dec487dbe9c84ee1cd766d5e5a06ee969333c0409af50c2aea7e0fb20ba0fd0956a0f3d7b71656fb6ac9063d6832e2a924d01413521cb39d3b5c";
-  sha512.doc = "2dea42bfd4b82f81ea4958a2f1336dd1cf53a0e8ab42371c460c0eb3f87f0c83a7ce658dbbef0201bf14f5d18ecb9beb519cdd0c4979cb7f4131e5a8ce2f52e4";
+  sha512.run = "1a5e41cac48a33c4336fe03576c49165b47a0bec606b0a15a3563922b964a9a3c2de735cd88cf10423b054b5131193441fbcd64fb2edc47d4944ff33cf6367ef";
+  sha512.doc = "f51af6e63070fbf94a3f8ed756d544dc7d9460f37b016fcded0d2c56a6cf672d2e60c7b2cb8be9f9942f43e46b5ff2bfb59c6ae301a5d88a8858d6e60a3fbaa9";
   hasRunfiles = true;
   version = "0.92";
 };
 "alnumsec" = {
   stripPrefix = 0;
-  sha512.run = "d098b95aaf5e3157e08164ce2de43bd8297ebb478e3b58aa3254470810f86118529b959a8a4e437d1eb123563ced9d2a4faa7af55004713a99c72bba38a735fa";
-  sha512.doc = "6a2ebce30d68e912aa648a2fb6b06b704ee8788dbab58f7f317ba017014734f2add4d813cda2d62ce515f1971ae26aaedd7cad0210b17d62898bdcdae09acfaa";
-  sha512.source = "47842ee64a6a8f0dd6ef89062f87ae42aa0d14014f186abff46f15bcdb848a6b8d6d2822c48585445ab6d9fb2fd380056dcf90445ee067504601e695d7fb96f1";
+  sha512.run = "d61adf9c03ef9f0b5d68325b435d5145297d85fa04a5bf106de50f58c04c9507eb63fb17070e955e7f476158419a802f0f18d2cd97ca93baa7997c2d57def479";
+  sha512.doc = "ab07f751332fa0ad974e6ea84b10a0249e5bbb69e591d1319a8c5d743f88d63ad9a7c72fc08fbac95e3cf950d090313dd758ed8f604e209206f873c5f0f70880";
+  sha512.source = "2c978d1dc9dc7f6a0f91d90102a37a2c8bdb78a19d7211d179b04ea448bb56baa451e09f945daaf3f219187d39f5938a7c003988fbc905b692931c9cffe465ee";
   hasRunfiles = true;
   version = "0.03";
 };
 "alpha-persian" = {
   stripPrefix = 0;
-  sha512.run = "0f3cfb4c4468fa5c89350c282773b966b499bc4b7c511188cf8dedb083848b9b81c19be27e33269dabb80f1aa1ca6fb6b37faa131b25c3cd42b78b64a25819ad";
-  sha512.doc = "f72a11da2a459e46c0b80c2a9f426bcfb1f8cc6a05c640c93f7f5c008949aaa8ecfab1fddd6de1114163f63ea2f54a327eff3b797fdb3536e8a68a3e734361a3";
+  sha512.run = "9907067b5353b62bb2d25833231c3152974f7f0826237e6b18007043a420018c7901505fcbec45414ba67ca8f90f0213c512b16cbd342413ec000144b5fcb1f2";
+  sha512.doc = "aaae11a4d64fcd05b9a98d324356c9b206bf22d5a744f6d9bd124e1c53f2df3ffd7f2901dd63a8dc2addd9783212792e2e3bbc789b1376e8f5f1d5fd28ea3ed3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "alterqcm" = {
   stripPrefix = 0;
-  sha512.run = "a77ecd3154b1c19994442efb474975f4a42baffa2f7f3272a2b56f25dcb6c79b9dc060bfa2faf36530706f01b2bbc6c8dbbc093f9d4e617fd079e827b799fd8a";
-  sha512.doc = "245ff1e04e8646fa11f0fceb6736dd4e15021e2bf86c67d96c901f0e7a297b5beb5c5a9aabfaa0f974b5de5eec434fc6af5b81370ad7578587f7715ca41330ad";
+  sha512.run = "da1bf55dd283082c5407b8ef8654f5da1b4f2adff120aeb7f2dad556dc01df18a0da16246e2b8b0242579e9fcc44fe0f4e43e8e6f9fea4ef2c67426699fdb3ec";
+  sha512.doc = "b7016f6129e46475d46f0e19bd14604821e2a892ab29963710dee2c404d87f6aa36eaf978535e297333d85b8fc21bb312d44d36fb3fe13422a62c854ec767524";
   hasRunfiles = true;
-  version = "3.7c";
+  version = "4.1";
 };
 "altfont" = {
   stripPrefix = 0;
-  sha512.run = "9842af363cfb936ca831440a3e33b1653dd06eb04f32878249b43ebf2d750657b23aa27cd842bbe6de0ff8b128b9fd2b07e567f34f573b21c54d39389722fa2d";
-  sha512.doc = "c5f80f19a65fd8f3438bfc23c1a16e6bdd0c4a8e8d6e2d88f1c7ce3ace498b95cf0a09f4e8ac4edc42c1570d94bd711ffccf33d99896e692e79812d4ce97f687";
-  sha512.source = "8c04943fffdf66f8ddc3f26f497c29e6eae0fed7638ac5459c2f0874e4df3d7fa50d44c22b0931774dc219ba1e76fd87924af54179c8b36e8e097144caccb878";
+  sha512.run = "18212e7107ed2bb6718a7c763d881dff7859e55e5bb33c42e1acfb5ea21228d1ebbdc6e13cb95f041bac99f871306bd3227326953229e69ac6b8ea774434cbd6";
+  sha512.doc = "4d181a21f732b0265d4251d3775fdd8a4305c99c0dc1610adc9af583f73e376cce249b2ef237d8027aa32a269512db71260aebe78e5e1619f506f23d1105dc65";
+  sha512.source = "f6982a69cb4264c633f8174fd8d487896db88e7d849c074c90645a84e7bc4abb1c1e6adf28500d300a74cdd26dc20b62efc013ff9e080df2bbe9a823ad0112f1";
   hasRunfiles = true;
   version = "1.1";
 };
 "ametsoc" = {
   stripPrefix = 0;
-  sha512.run = "49515d4d06ad3ee02e54e913f606cd0c94aa9347414a290aa9b48f7547a682d6fad483bd8f1874d30548abff9de2d09d7f990ef14abd795cbc36ad640109c678";
-  sha512.doc = "e2ed56999fe06710855fc564001acf1e998119536b84c4126b42289d02f55fa672833420ab04c58ee4e2e62df6aa8b328df60e559f26f7a7447f2ee5bbee4ef8";
+  sha512.run = "34d99bedd34ea4195d4b0f60560c80c7d3624c2dcb3137a559eaa1b5a16bf465c39a0c54b6a5e64d2488dd7d4c1c82636d7c3adcee3e2e687a66b51b96fe6c48";
+  sha512.doc = "80b64ca57599aab07dbd0d000e67fd002a19a8d8227bf9d635bbbefe84417d1f99cd75d81ff67e0d7a7e28231ab5438b4e51e90bbb5405f566877a4ec87b8d48";
   hasRunfiles = true;
   version = "4.3.2";
 };
 "amiri" = {
   stripPrefix = 0;
-  sha512.run = "e4e0cfc39d141adc85c50530d2fe3bc7b70bd7de50aa70d0f91f10237669f46e83064cb06f8bce6b15c0f468ee0a0afd38b96e74350bdd25e8e5bcfc8ad91e5e";
-  sha512.doc = "33ab9a7ecb9463b5de30392aa47fb90689bd3a64d8428c26f6ab25fce664d31ef994445d23730468a7600b1e83be1f26e9832bc216e48d1f1b06ebc55be18ad8";
+  sha512.run = "5d23cbea0fa6a8a0220ac93f6750b0601b8f0c904edbbdba9d4bef6d5ec9f2ef8935a16a29019b711c19f1a02e3515684e84568e4972c9e9eb42b691cad7e374";
+  sha512.doc = "3b59bf9be9f8e35bf056345c380c8c16b5889c61c114d7812e00dcd9943bc46364abb383876f20f4d7e3b51f6523fccb718533280c7de302f4ac56bb39e5b04b";
   hasRunfiles = true;
-  version = "0.110";
+  version = "0.112";
 };
 "amsaddr" = {
   stripPrefix = 0;
-  sha512.run = "5ece0dd85e796ad4f65d49c09a7e101dc9721311ec349fd28a4b2a9a949124efd68a67236e44f99cfc59b75da6445d62a933bb04cf1314fd53bf8ae09852dfe2";
-  sha512.doc = "d67f69d20823166add328be807e67eda17470a22488d92ef314d735951345d9503e8ab684adaffeaa52fa5ed751a1ebf901c414e74f45b6f4a16f99c502f0ae1";
-  sha512.source = "7b1b195fb0a3fed6832a8b79931cb4c7a3d9748176a5c9601a753b50dfb38e89fab8cc5fc835c540cdd61fc57ae23b0cba3f9212f2e4e555837c585d8a69b722";
+  sha512.run = "98aecccedd2cbfe9e348a9ca6c66d82da07eac20bbc53dfc5ea79435a20e88bbdc4e17c85723824b216a212c509fcfe96b2b708353cbf7f93773514e5433d8f5";
+  sha512.doc = "dea731e32c5e02252db95deff66e4160ff3ac9c2b488b218098d9d82754a84d2d5821877c887f51086625c18d1bfb9c544dbb8d2fff4c5aa220463aa8c6d3fbe";
+  sha512.source = "007c3c63868f4f4c0fd324d93506ec1c511e7c278bfb81e5f51026248f033586ae8a60ff3b6cc0f94080bcfc7eda895eda21dd01f312ee63d5411eacd775104f";
   hasRunfiles = true;
   version = "1.1";
 };
+"amscdx" = {
+  stripPrefix = 0;
+  sha512.run = "6bdebfbe4985eea23ce24db5e0e14162310d81efab18a7a820fe819bd51f839b9deca35b94740f038ae80084f355e5e800fd6e681d859cb7bc9bb8886993c33e";
+  sha512.doc = "65d6ea09c1bec56e5082d3521e1eabdd513013b0606f6cfbd0f7c7566795b8963dab6e9f3a46cbb6d008311e7ee3701efa345ef5dc780a3b18f6f4842d97594e";
+  sha512.source = "94751d2c3f617710b50807de584cf4c4d7c8f1ff82a1ab14a5bbd8b41fb5828b0a208e20c131a0aa023a1c8afcdc3d4b5e36b2df99f76b260ec2d9509a941f76";
+  hasRunfiles = true;
+  version = "2.2x";
+};
 "amscls" = {
   stripPrefix = 0;
-  sha512.run = "672f485ff78fc120e77f76c6cea5992f0e189dc3209ae2182a645ba462de4c878fb0cb482d55fce292eb118b86946d4f41016258c854e654c0cb45d49a6ca55d";
-  sha512.doc = "151c103d620548d4dcfae4c1a4310da3752fd580f3e1ee6347983c00df34ab3ead6d41fdf926fa6cc36304ab1909781c133ec8b183a17d5d4d3d97b13c79a58c";
-  sha512.source = "5fff9777b88908a7c82cd32b968432ac3afcac598b3e3c8c82a5220a99b5b3cf6e34225c99427b34affbff0e82ed9bee034f116a047f1e7cd2e73fdbb60e55e2";
+  sha512.run = "0b69a69452e148113c208d52b8221056378e6f869fa2efb0c52d49980ab574ac21a04d9957a2450a6881514645cd156580ad2a0ff2879e240e217642061afac2";
+  sha512.doc = "8c98528cd59e8da8c017fb49bc9a7cb617261f899770be56d92b1d52be274993b1777923189957f2ff70ef339223be569db586b80db7285cc824f321f258591a";
+  sha512.source = "a6eb2d6fd0a9640ec2ba625e91703403b80564d069bf8b873b40cb38810c30f1d0f7d372b81a194e4022a33393ebc612288d4d833a38db756ef9c344b4cd1726";
   hasRunfiles = true;
   version = "2.20.4";
 };
 "amscls-doc" = {
   stripPrefix = 0;
-  sha512.run = "ae64c51730acc11d98bd83758585d9cca9966e32fdac3e2407a77972f67a0ab30680d263696793299cb2714f063d4cddf8bad2424eff7b9b0977d2f1e79b6a5e";
-  sha512.doc = "d41ec70252a4fc8cc131542e3e5d1c481e57c1603013bd5e772e70e7a7d1544523041f73e488c5a902b45f22b5a14ccb491ff699b142d772dcdc66c4c410360a";
+  sha512.run = "132432f34812f009233392ea29d6c4145717a80ea305632687da30de6969dcef8af9c2aa88cbf1809dd34b0c3dfca0f40a52b6216a7370f2a225b2602d0bbaf3";
+  sha512.doc = "8c08813abf65f00b68441d1e5cad3eb4a16fc1a77b30e10d96e22f34d6af547804af4d47b62ef0dfc895e2bc7cc5ecf7bc08d912448fefefbf716430c4502a64";
 };
 "amsfonts" = {
   stripPrefix = 0;
-  sha512.run = "8f492d3b5a0969543ef11d5f7edd76e9b3c5976cfd31cee976e0929cbbb4587f16b27fc161e168c013061991e1f7730df906c181027f13732639e02a983d9abf";
-  sha512.doc = "3bda6d839835dace02209e897be9648df59c6e4f11fc1be7f7e78646edac14c5f86482953f839a2afd1015877345aeca11d5a5bb03963b9b519230fcd50f3623";
-  sha512.source = "21fddd7a206265c5a9167b0d9f192c27f74cd10b49c0bf1d1a1e4d8534196155784c312707fe4294b8e6a1f1064c3f5cd76ea1907ce51a65088bfa2c9dc78bac";
+  sha512.run = "ff1256ae20f435327c12424613a15aa8f207e9133325e3a823ca7ef9951b8d52acb56cc69cbf9f3c0860ac43c9a74ae54154d1cd956d7e25612307dcc6e74585";
+  sha512.doc = "fe0df1a9efc821e21adc0e21bcfaf2defb1749e3206d7dac8cd9b667747c37303cb2c69283a89aa8740fc3e08e8803408903a2a95eb0b91e910931a8333c2fca";
+  sha512.source = "49a99f519fbba1ae7ba91ffe392b4c1bf7b9246ab573a4f2c8b41fa252f080efe66c5df2acc36a5ea9570e51d55890bd89565ec2174ca7aa98980b49aa060a98";
   hasRunfiles = true;
   version = "3.04";
 };
 "amslatex-primer" = {
   stripPrefix = 0;
-  sha512.run = "050cdfc69994c7bfa31c230fed7065f51de92c9765d9a601bd74976dd3311bfe688d5e99b8904ed5f8e94b9f7827b9850678f1feeaa1f573f4490b1ba189611f";
-  sha512.doc = "fe824ad81efc57730a26e4269700a397cb7bed12dc90c8e3bd6f07175b340a606d856444580c67396e3809dc774216983104110351839da830675a360fc1310e";
+  sha512.run = "05c7c19430a85986db770d1ff8686993edcde35171e3653ddfb7db4a09422c80e53632f583371079fe14d3c6fd9ff4eb3f0c37cbecea7ca2d9a5aefb04cabdb0";
+  sha512.doc = "85faf2a9c03f7d7d1e23d72b7041c9b322d5f8bd8cb309a60f7256416249ceb7582c112d25f8953ee67dd2b79a3697e29cf6250d7b199a9eb73a9682f123354f";
   version = "2.3";
 };
 "amsldoc-it" = {
   stripPrefix = 0;
-  sha512.run = "5426dace3a5412ecdf225f5121e93dec1d8d9cfc82eaa97a3543e74b3b7d08495711b5e32a204d411a3bd924b7711695f0d7ef0bc78bcef627630d68d47613b4";
-  sha512.doc = "a7b58aed7934ad1ccc06dd5205d84deab71e7927b97116f5422357314d3aa388e474fb595482ab7f614cc6f2260a6be12c1e98ebdd3b798eef28e039cfd87f58";
+  sha512.run = "9178b17bedc53957118083a78ead56f9fdaf9fd6a60ea0ebdbeee6c87254e7567b47b61bad1f9bda2554f471f79c28f3df7c3d2b9858faad65c3d110664ec4c8";
+  sha512.doc = "eb23cb624c4cf6283b8f777911d102953d31dc8da04392d7023694fed02ee1b8a8a49365fe0f1cba9682e911405f04afc982b6cc9cf9699a4d76ec8dca6a471c";
 };
 "amsldoc-vn" = {
   stripPrefix = 0;
-  sha512.run = "8b6d56d3099a536f4091ff70dd95819d0c8ac070d21331fcb1667655648524c84fa4f9d03fb7f16ef58ae4a6b842b73875466be19c469b6bac887a00c41313ba";
-  sha512.doc = "b38b11278a5d24bc9e8964c48cc234899a2f8170e8da45be566e9d91e528aea62cbfb277377e18ca3944d3bbbdcebec919b8a476ad7efd74309421cc45ad5a5f";
+  sha512.run = "5b0c2cc1afcc4060249be20271af92c71c866db47d2551a176b5685c58182a6ca17da9540dd9a7c7abd33de75b0335a625aa921fdbd77329bc91d16718fb346a";
+  sha512.doc = "827c294eb1cedd51a3924796b461ec3d6c858e7875254e0fdb6cb496fecbb6d2ec541e930327c54cc446b15dd69ed795470ae6cbf1cf1e51c0f3ae90f3f6c12f";
   version = "2.0";
 };
 "amsmath" = {
   stripPrefix = 0;
-  sha512.run = "d9410d82e1f0c7e600b69b8378fdc60e5b90cbaab14ed44dcb272eb68350442ac8d36e6c34fe65d24949b61725acdcf3d3924018145c9a342605ed01dbda7dd1";
-  sha512.doc = "459aab06d4f585ddbd453ff45aee4e6f2fc7b614c923bdbcd585eabd7bf8e6e61b7a692db16c2d8d07b0ebab882847e648379ca133d37151a7a4e250b6bbc9ed";
-  sha512.source = "6f931f8e02e7c867f1795306a506aa8d9b3181abeeb65761c05de2b611031c69f02c254bab9bf3de8713ff0843e20fbe0bfcf98a29fb0a37e813dc3af7861277";
+  sha512.run = "eb80cfebfbfba8403c2063fefbd9f779ea3d547fc6e7d15f47def3a77ec327e2674fe68d9303f7a3600c04be563f62272e2919387fb1c757246b8d4c33e4c24d";
+  sha512.doc = "4b426d8e89c6291d7325e665d2de8d33fa5552d348478c34495bff3afee29f1ce12a8c37c60d07f555d381099707b1378923ddbe12bbe52afbd33e1db5001ae3";
+  sha512.source = "8571ad765aa182bafdb6dd257020595e454222d00314eaf5acf08285383dcfa99fd900a74ce5b87446430c8ec158f001b79da9f4fe3e509e6d24b7db7f26f7d0";
   hasRunfiles = true;
+  version = "2019-10-01_PL1";
 };
 "amsmath-it" = {
   stripPrefix = 0;
-  sha512.run = "94a2b6c421a5eae2b2529eeb95857a495d9dabe7077360860d8b445df5bfbaf17f64e20dc7b053cbd8b0d1088b1eff8fb751aa73e9065bd32fd08a64ad49c6b1";
-  sha512.doc = "633572ac00cd64555f4cc8a6a968d7db025f0554c2e10d8def6b247b7ac43ba01c767ed0eb3de1e1b3a01a175d07a88dc12a84b9f00d06495d5c002db3919466";
+  sha512.run = "6bc869e3cf11a9521ff883e9b8cd227a267d28291124c0f268556ea576bc0af8ea4eaa145e45d1de84709df08182fc83946d80fd0f116a8656a35d75ca83eef5";
+  sha512.doc = "814539a2a82601c930097113a9baca5166fcf68d1b0c4dcf25d8afa8991e667619517879bc415ff114b9e86664b9ff5e25a7bcf1bb04160b9297cbfabb4a639d";
 };
 "amsrefs" = {
   stripPrefix = 0;
-  sha512.run = "a2533b00ef1ac570037c7205cff85b159d4f78bc3b2c35c15a4a872117c0c51bdc125c25875841b5e9955229d48ceb4d3348874db60e5e0bac1a4d90486fbe1b";
-  sha512.doc = "74ead56be6f1cf779bd5d5a1808698d9e5ae127df2e2df0c545c959e61fb1d44ba0eff003077be53153904bc3f24cd58cc23a26a655fa9b1a9b235cb3dc4f8ab";
-  sha512.source = "d6d1c8c9e4bcd3d114f051841e78e7a88a1fec3a715d51628cc9d9b5e8035daf45158e310900cf99797ee2a323d427954a63f1108932fedf7ab62eb13fa09e6c";
+  sha512.run = "a0993aa374bf845952c934a421d2b344564726207245102dec82915a3cddf33ad8cb1f2d4d48d71ba0263fae0c24c78f0cc21e0b923a875af02d12c602a375d6";
+  sha512.doc = "2c472849194fb72453a541ba443b2232fbf876cd2d4071dd6e6eb65603845ac9715629bbc7b1f44dc0268a809a1a5d74a08f0dc27a81e9b30787a44d133bdd57";
+  sha512.source = "9cdfcb0e841f6dcfb23c5fac930d12cc610ae8002aed13a4867bf384fa0f177f834cb58482647c2daf7c52c0267f85e8dc4f93575b14fe58e2a634307b7bab49";
   hasRunfiles = true;
   version = "2.14";
 };
@@ -660,1296 +690,1322 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "5ecce183d02198c1e5b3937124480a8e9592260aff35c5d3b7ec12b7a82fe9804e8af2e1fc50d017ba311f2fffc9c82544ce69769f5654fbca9af1449ddea8c3";
-  sha512.doc = "1a3379cb83b9104f1a277b4e8f8505620ac477a7931506192185342e281ec0f9562aa0b02896924364162d3895d15365f7550037be25e0a177d4627626c62fc8";
+  sha512.run = "0be8ae28c39851cb48882041016146d88507109945b6e474fc7758254b7c3a5c1861093861e69f82c4646f7bef369c2b4d212e3bea9e3175cc687032d1476782";
+  sha512.doc = "59a785a7e23e5530b40f45676dc5a0d75fde350d31bb5e6398015e7c9db2a672576d3a91dcb1c928103ce85dd6538f81ce86d8d78dfb2be196f044397a892296";
   hasRunfiles = true;
 };
 "amsthdoc-it" = {
   stripPrefix = 0;
-  sha512.run = "89550e5f973ea1c33ee0ee0bd32a38647c25e7ee2cc4b90249436e331adca3260b9215ed0fc736a4caa93b63be58e2959a5e5579756581f4b17d5fd8a3418db0";
-  sha512.doc = "389a47016ab7b5ac80109b8c46665b4a9ea9906414112fbb641e2c0f6a01907b03a6a377979686b32e6f41a718d14aa0a90993727e82391514a869b52bc4201b";
+  sha512.run = "17631e2d6306887236f11eed586454a784f256c36c14955be1eb30377f1f73b189686b37ba6c95188fda2e0b0aac9a1f40469a32bc7787b5d4c244de9a01ccdf";
+  sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
 "animate" = {
   stripPrefix = 0;
-  sha512.run = "b4711ccb9470b199a2dd372df1456bea3544a964ef4fef088040d6e6fe95ef966a87a4fa8ff0486e9fe48679fac86498e955250d7a0e55e34e29020159b0184b";
-  sha512.doc = "5a796e9fd70e5533e7827edc07eb235f6678859c28d8920c41fd297e7a25f07f144b5f7f899ba37aebe0706f976a38cd4dcfcab93f5f684533c4c339183e7a10";
-  sha512.source = "bb9b07be1bd40b5062098210347c12e76c8c1311de97a935abc5e345687a5bde5827b7124e2f1d7f883bbc31ac408c90bb5a0d038e94617536b44b626dfdf331";
+  sha512.run = "973147378dcc608d797a9886059fb2beba6ea5f2a88a04d9f0d4570b4f6518db80f18a0a02435f673bbc95f809137bfeefb617c3b72257c3b92823bafc01c853";
+  sha512.doc = "46ce529a784fc1360dbc8aaaf99a7d22f0de0d54d676d5aad3fad197bdbca428ee5cc615d2381ca6cb743645253d6575987c1d2e80a88c8af95d3dbbaf6da848";
+  sha512.source = "d11b8b1ce8e89d2457b9e8e244103934cbdb3f0a2fd15d7c20d127de9b40fda55a8df601c95b18ea49bbf912dc3295878354702770ae63179e1f70deb535381e";
   hasRunfiles = true;
 };
 "anonchap" = {
   stripPrefix = 0;
-  sha512.run = "ca9b0dddab3401b2c3531e32273c02e610f56ba19746e5f0bef0b92909242b3c9ede1438d9e94771653855d87d265b0f6f7d7ef5901a97d77dcc2c347735fff9";
-  sha512.doc = "746fa120e8bab79ecc5b63621adee336d6fd2074287f9b1cc287cf0cd151d3de5aa2be07b0c2357d3ddb902c63b4444b08fca28bba01097568cac2ece9cdc0bd";
+  sha512.run = "4b84d5260c0986191fb4f2b560c386a806c8f93c76360a8d93aa7f9b55dcf089d7d03ca946143b52923130ee751fd47f1ff59908314297fd752ff5fbb17ec0cf";
+  sha512.doc = "087db509e1d9649176614296f84fefe9b726dceb3ac8cb6eeecdd8a6fdb03dc97433c31478638eeb6f5f7cde85b8a8a693fce55ed0b3f5aae35a075a43e5652c";
   hasRunfiles = true;
   version = "1.1a";
 };
 "anonymouspro" = {
   stripPrefix = 0;
-  sha512.run = "eeeda26078df7a2646835061423119ea7f19e25476568351b7ff457b367695c9cde66ab2e7e50655481b78e214d45016233eea344c39968a585a70acde56f10b";
-  sha512.doc = "d97b82b8918ab52c13eeb1f0791977355bf6c72261a5529dd12f392aa9a81b7d441a6d619004f848829d4b647bd8cd77df46bae0487cd05df499e7f53a1b801e";
-  sha512.source = "f0d93b7d37b4f420c21a65254b27d7390df19ebed915a9a8a33100cae179f6e6c290302c658dbba8cd8b0487f861cc4d2eac17af6590126a0a24e934e6acc5b4";
+  sha512.run = "105334748bce7fa8a78edd599d6a8466729937f0008c479213a4d3d4b6b3e24b91bd1e124d0e3c1354fd68f99fdf621538696ba9b32ecbf09f5c7202b0b34997";
+  sha512.doc = "ced94c5fd0be106433e99cbe66305b60ac6ddee82d3a1c8046d1467b11fe9ca10c2ba3b4ceba56a0ff439e7fa82d09c303f29200fdcec1600145fe7623773e47";
+  sha512.source = "75d70833e574ab7847208d76d1012105f42712fc1558b9fbb35349871068bd60099d4ffe189eb28f5276807e6d1e48969283c7ea5a48f991cdb959077c1444dc";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "answers" = {
   stripPrefix = 0;
-  sha512.run = "83af1263901b65b641bb2087406e7c0e13a1f64c99e56911aa4fd6c4a09bf4d4d8f60b906fc7717b265e12d95da2a34d7688c72d3cd94a23026876e4c13d4ee2";
-  sha512.doc = "a562f7b6d377edb1a711bfa8975dcfbf4d969af69ee6e9b1fe793bda96d6681a57fb8469677f3ff6251faa7e96a02fa067e07ca39d7c2c583cdde239b729b6de";
-  sha512.source = "e9f8b7b288cff9cd0ee86bd7d29dc8e0b70837377e1b25b640c93c2b075a4b9380f4d0d22bceefba3f8dfd282de99a8647fe7bd22669469c734921f5c6a7ba0d";
+  sha512.run = "89f7fa19dad8e94b57a66b53b72578c277037c0c3a9fe008d0802dcdedaea03f01c6554f4c6b80fd038ebc4f18e21bad3fc176f4c4acedae07d9acad2a90700e";
+  sha512.doc = "616569a8d972150c0a1da86625b580baaca642bfad773e9e2240f74d33ddfea203b4c7349660b996adbf8208a92b11861d3f1a42ff88c68f39efba0af97ffa19";
+  sha512.source = "ab865ba5abd9be86d4056cc33ec9436c14cbc0c308cc68d9a6768c094b84dc1bf785bc78c84e1f286e9371c2118ae3c21b8f57d0b4406ba6c2130f633ee6ef09";
   hasRunfiles = true;
   version = "2.16";
 };
 "antiqua" = {
   stripPrefix = 0;
-  sha512.run = "cb0343ef76adcffbf502c202646ef1754319eba46e7190f88f466df233f962ba07e145f2ac3c7a2702387d3174198135eefd9677737481ef156f76261f92fac6";
-  sha512.doc = "9d13d648f5a7c87c75a69958cb4cad9167b8abb2a8a46be4905052adf88e1ec73e230d075c0a8a60fd5c66ed1e00d7fceb016c2dc557cb1dcf5a1414c3cd7699";
+  sha512.run = "0318b6f81d365cbb4b320642ddb6d8f909b5b136daf952da01c22508c392c58c9f8a25b33e4dd0e5afe777bb0b366633afd6567c3992df2a2e286cc9f41e6211";
+  sha512.doc = "4158160d42fc776891f974cf8de13631aed17578ad2e5a67225442b7e783a36e2a0d3be640d92dce0fa66097dc617ad54b2779a3a3ef9878b46d900c5dc2ed7d";
   hasRunfiles = true;
   version = "001.003";
 };
 "antomega" = {
   stripPrefix = 0;
   deps."omega" = tl."omega";
-  sha512.run = "171115db2b78496013b8e2025aaac59dbd40c819600881932a00efae59052eff91ffa393ace0e14df1a62965601b03bfb354be0be82bfedc1a3f74c8f01ff78d";
-  sha512.doc = "bb84084e2f65580438dedcdf16b869233e3cbf5944ee01393e3b4f90642cb530fb66f4b27d7491c42058205383a261b89f9e4859de136327a12c5f6b316a89f2";
-  sha512.source = "f2a3288943811fd73cc7a64b08ef27067f1d61c10193194112f1694fb6d19fcc32c1b97eb48c0176557ce9005e31677aeed72ed041d8c5706c131d92ffcae003";
+  sha512.run = "af2cbe945ac3495e94fbf69797c05d9a7cd8c3874148c54c602a4a152c669638cf7a861949a3cc2d08aa21f378b57beffddf2d13e3afc1157c74472c348f5405";
+  sha512.doc = "298b2e796736f7598a83a2d4fee53f48e78d0c8b255cc09c686371a3a05a4d36736cef96d812281cfd3fe1024af433f32e117c1c60d7559809220ed8dd5e56a9";
+  sha512.source = "7ee92461e60834af1f736f387823788a44d680171d9a7acbfd71c858885e190f724b5db11074efb74faf63b471af5c34688af1be5b765de67b170dbcf123fe2f";
   hasRunfiles = true;
   version = "0.8";
 };
 "antt" = {
   stripPrefix = 0;
-  sha512.run = "3f6e9a64085bbc399c6c629947e4e4a6eb161f6220343910db4af6b189d0af14a33d38c2d6fb30abc0f8d97dbaa004aaafc35064d67bd9ccf6118a1f09889d19";
-  sha512.doc = "b49a487e18828cbcf6ebc03bce0967d0ce2ad0d7ac4bbba8ddc3810cd539fe3d4692400cb5f94df38b704b20d63bfed9cf0b26034663edcc4e45c902ed265921";
+  sha512.run = "c31e92701d14e0559ca1807389d3f1d95a166e9dee918fc7218ee671227381e3c37a991756e9c19c7e7d3681597c3c012037a74249c7c8eaaefc7c8a3bc2fc36";
+  sha512.doc = "00533390612e68b48dbbe9c1ba11e46a0e48f8b87cea8f6623267d53795ee9170daa1f34adc8cde12356ef779990fcd7fe7a10b601bfc11c9a0f590b5a25f3b2";
   hasRunfiles = true;
   version = "2.08";
 };
 "anufinalexam" = {
   stripPrefix = 0;
-  sha512.run = "bffcaaf0b9062d072fd111d2a72d2798bc61badf57a9e7c4a9268827957281254aa5817cc379a6b7ba22d89afba9b9c0c6d4e9d1f3e75633cc42d81c168c3dae";
-  sha512.doc = "cf17209d293c8fb50b2fc4a2fb581fc20d985b9fec1080c4a6c00db9a3e0872361675e7d6cce8c8be2bfa63a8785da661322c2507d9f92ca4ce8d3e5a6d2bfad";
+  sha512.run = "0f7deb262a96bf55eba167475ca7c55887c1cdfbe60f9a32debb6926d855764eb595acb693ce9ab74a2af89efd98114f6694255580b5d594915cb2470d84b485";
+  sha512.doc = "0821831108f81bc8d23dfb7d26f2201057a897a2dc783959b9e298b8e59b79a12453db072b824397a9625b8a63e7fb19ad8ba6d4500436bb0f7b9a23f96d1c3d";
 };
 "anyfontsize" = {
   stripPrefix = 0;
-  sha512.run = "d2bdfab0b0b3acbf22b5c23b5f5407c6f6ab3ab2357138c5bb6672f0e3e0428d33f8aaee9c015a3f2222545d236dc55e8260fc7bab6e4e5c62fc52973f7c7d39";
-  sha512.doc = "f7a14a5fcf333b2a04f6badf3b198ea67e2ff16b7aee9a1432742f982645f1c2916d06924e80366533ec42fd9a0861c5ce60834ea63dc4a41e0af255f17fff7b";
+  sha512.run = "31d1c235d011998043663bc1f5729bd40c5b90996627038be612115daef2b3526c9e616b16c251d6b653d5bad82beee62a7dcfc3b8c10feec0850729afb294ea";
+  sha512.doc = "9003fdbf712448de70c858eba74f7de79e0cb83e8f9fe72d9c1b71869161d5a63099473c4f9ec670b28b356ceccd9b56110a1724dcde3062ae209a678f5b0e16";
   hasRunfiles = true;
 };
 "anysize" = {
   stripPrefix = 0;
-  sha512.run = "122b7e9aa4bf7144c23eb2b71f66ae98cc59188334b685579e41fed26a72202b28632c98c570a6993771cd30e9e36da6625ecc199ef8a5da920a5fcf0e055bd6";
-  sha512.doc = "631dc7ba37f2afec300da94d0bf3d9ae0fc17d0aeb9e4025859b8330abfab06b7acf7728f558291e5235ba55b041b8cb4fa07b38a6c15ce9a486ff4d50f8e7e5";
+  sha512.run = "4439be91f8dd82cdc051c519b5bc36fdfb632cf09941f4e6ec92fa77c2b5f4d767c162018fc9451d48ece17e9cbd5d7d4c574eacea78b8f92b6e07d40d7b590b";
+  sha512.doc = "96591bba808fc91a876dd49a6e1ede3b679c18952244f14b07e992b40d20f6c4a0f4b4dad00a409c766c5f2e883fc4923c501e65b06ad93193719001c2629f08";
   hasRunfiles = true;
 };
 "aobs-tikz" = {
   stripPrefix = 0;
-  sha512.run = "ad27c30f72cf02dc954aa53840b61973386469b151f452ae566dccae4fb751d0d22c002ebd8656479563cc192334da18ed4219be1e2484f640e45db0650d5589";
-  sha512.doc = "3289ba8ed37a622c73d642b77a45a9e74c78276989511107794c191ccae7d000f4c4c211e60cfb512f4c241b4b434fb652c78178e07ee3e658de15069b2b8857";
-  sha512.source = "4c91ec222f0110e8f3bab48dd94b28280cfe701d8d6ff3d7c9b40f149f41360ca713385ba13deba7d92b1c8b42aa2a115b4d0ea48b08cfab0708d87679b93b96";
+  sha512.run = "76e3f9748c704efafda74e6184aa3c0199f8dae3a9f433615fb87ac5fd7c81d5dd604e91ed7648b68f05919425f82fd19ca0b66f4f590f55e55634a5cc4b7f9a";
+  sha512.doc = "3732ca200dcb7d3d4b99cbb0edbe13ef7c9293e8424457c2493c330b4ea810bca21851161b83740bf3b7b53899941e906b0b2e4b46ba715e7b5bbe19844d2070";
+  sha512.source = "2cc8953d5e03bb1e6fc35d323a35d434aef291b165f1ac4fa0b005689af3d7988770d0a86fb4b4c3dd3ef6ea876f962dac5653e695533e089a7a50653358f40a";
   hasRunfiles = true;
   version = "1.0";
 };
 "aomart" = {
   stripPrefix = 0;
-  sha512.run = "2f1f1f7b3cd6948a89279486ce527b8c1bff960b975a095df9b0e8ff9d2571dc086754aa1689aca339825a767e6685fc0c214a68ed1b599fade65b1ca3efe985";
-  sha512.doc = "e5aead1061276b541bdc83e6b5760281e31106004c31764ccfef19f8ea449a4fa2928e45f7b94c8118c56ebef2c7e1ad863b34f07d12a5957b96119c4194ca49";
-  sha512.source = "378ad2e41e92c85714457867ea4309acfe77ed6776ab763834c25e5e53746935ddb1be9509460fe229f44acf9c2e4041ef3946e8bd9670ba10316d1a1da7284e";
+  sha512.run = "699f0d1fc5e8fa4bccd31609044e2330dd33083acb56832a64ede0d23d4f21e7a8d37ad5734e282d11238c334399f5b5b6449671ab82b737f9c51612b49f727f";
+  sha512.doc = "ca87c32d703e136735fb6e121c4bcf9fcad367121b071bbb792d96da1669001e4221116275aa6b37df1af7788df4ddaa6948aca3405facc0f05af7ae6924215e";
+  sha512.source = "ba9496f1adee23fff0bf5b3d1d5d54f05c6808ce2b40e7fad8450f01d4c02a2e5e6104304131eb52c91df47a1091f46623d4d4e1849d015f1e6b37d86f210c05";
   hasRunfiles = true;
   version = "1.21";
 };
 "apa" = {
   stripPrefix = 0;
-  sha512.run = "a9f6847c5aa82d99ed42abd0c94e1de80a963ba16cbb4457b4c4c507541162c5e1813e32e422879a133ac4669c85f5481734885cc58e9f746e884925b1b9721d";
-  sha512.doc = "3e727947084a1192caeb3e898eaa1a99ac89147f5ebfdb6e9697ca9f0b93e7bf3cdfeeaa3c64c38ead8953b0b7d53ff000350c7079a5fd736599cf3de7aa480f";
+  sha512.run = "53d30a8458538f1852113370a63d49e8c0926437752c9d03299374fcf8adcd79c1c353bf420ac33a364e6ca296079ff385609bf2afbcb95dcf54465715790703";
+  sha512.doc = "df97c4fd9187772847f29950e899fae480cf5fd82d7f6bc3fcd1de93a1535fac7481436c789ae2c04e998f521f23e5b5219b38904afe1394cebb6c68e55d780e";
   hasRunfiles = true;
   version = "1.3.4";
 };
 "apa6" = {
   stripPrefix = 0;
-  sha512.run = "7a50c51d51591df5f95b6f2921c34357d3623c5e5a8939f779995f14bcadc72f44cdd855bb5f47fa1d83df89f0bf4161c9cd363e8a425b1209482f80cd7f89a1";
-  sha512.doc = "a67893bb142d48e796975ec2677ebf04132df4ef30cabc8d605c478fc775491b78715e88ac6cd9b54cc7dcf9435daf9995729f19c4a67268f0435e2f3eec096f";
-  sha512.source = "21a4793daa3a8830435342befde9212140aeca8bc81a3ee5033f61d0a955a9a9e92e1034ddde069fbc51a0819ae586508d7ad2021c6d7831222eb0abe2a97756";
+  sha512.run = "338e7bc7d97fc2b9c322d00fdc084d76e025584fc4584bc253f44ecedd6774cce38913e8ad0c08bb6bc64b63b83702d0a13e896f2e87b0760129e1b734b15fd1";
+  sha512.doc = "2e34f5094708aad343a716d96be89aaca2c86dc08da5280ad2146013e3df635ab9e49b814efb1166a9e43a3b98245f92f2e5144637bd96c13ee4e1a59b2ad04d";
+  sha512.source = "f73170f6eeadfe27dcaf0ffa7b66232eb7da5246b1630ce5794aebd6a6faec0233a3f148225a2df4e7c95af38d5005fe84e1e3cac1011bc7b0398113fd49d9d2";
   hasRunfiles = true;
   version = "2.33";
 };
 "apa6e" = {
   stripPrefix = 0;
-  sha512.run = "9a03e7cd930d3ee46a6fc41aa9bcf4aa43ef541d1229a8632664b76d54bc3c086545bfa7dbff9c8ed42f1a693ad022a30f28b0df5c8762993972cd36fd1e426b";
-  sha512.doc = "2a10b13c6a1d3c54ffb6e031b4ee9724146f5707722b0c60637b24a3e5b66ab7a0e5e5b6579d5baea3861e67db0a8c4d5da691f0473daaa121ba92b05192ec5c";
-  sha512.source = "8acf941e49930e042539098bcb935deb9af31b1fddce9959002d64abe8bf3ad430aba71eb7520365a30ec07d1b2226ab8ee8a7e21d5c414e3d81ad122b21ea86";
+  sha512.run = "155bd30654ec3a2bf3930bdad98235baa6bf7aa8109ad449aa1a7b6f2dbda37851f43978266e1c273cbd2155ed274003dcd91f9f452f2dffe268750fd0d9293b";
+  sha512.doc = "d78ed178d1fbd07668bdeef74cf6f9f3674837a4f83eb5dce590762f7c02fae1017ee2eed6625a85a7b3e251ebff103e37da84af589125bdb60b73c9459cb748";
+  sha512.source = "6a6502eb1a60d2b67d373fd1cb4aea0737d0eba9ed2846c07ff5849c4bfddb9ab3b6369ec0958536e831c79e63beece92393c874d9463bc7e3cc1a56f4c4ecb4";
   hasRunfiles = true;
   version = "0.3";
 };
 "apacite" = {
   stripPrefix = 0;
-  sha512.run = "b7688147efa1100fe63383f737c86a8120676fcffe59bf7de95886e78263fcf0b1ec803b7b85a5920d875f9c5aa80ff057e3e5bedf959c794a5bdd6014fae12d";
-  sha512.doc = "0f4638bb631ac2a582088dbc1e9b11b073a0851478345f70a2c99b3f818e9ad3822d3e82f18254b0ff1810dae39d6c372dc5f03a3f24e90e214086923248d1aa";
-  sha512.source = "1d3721e2cf3c4c9b675d35d64f2160c3602a7c17ccf4db447df48f68aa42f7fe77465d5e35619ae52b7142d2b5ad44809a35d1eadd4e651eab4a119bb4f9139d";
+  sha512.run = "02b89374a1a61c7f972aa759b11420cbc7a895972a9b36dd09e48f0aba2ab8d83632949d6f8fbdd781170403639b765ee68a22e1962d13751af7fbd121a875df";
+  sha512.doc = "f9840a9ef1cd33ed01b8338956b3da3676167d8ac99cd1ce32dc0383992fc9b141edb20df2fdb6b0d5df5762ff8d434cd84881f8ab1cb4035fcfb2bd9f3ed14a";
+  sha512.source = "4fc1c927dd602684043a803d8e15b7bf548301bf2562a5fcc111a52676f96740db138da3b58993ccffb78bcaf6dace321f196c5a77022955955c87f729bea506";
   hasRunfiles = true;
   version = "6.03";
 };
 "apalike-german" = {
   stripPrefix = 0;
-  sha512.run = "7fce0cf03311740a49a724f6c359b9e7c309ac02cfd318881f74c5be19be43118e6dc576f016f395e0d642241c7c4c36ad38d13e2ce91065d1bbc11590284010";
-  sha512.doc = "bfb85d3d72857191e06d6244654c0949230a09c4fcc85fe8a48f25801cf7922ad65fa51dfb8acc7355e96783b0702fd2d3dd37e9b3195120f5b772be96e2928e";
+  sha512.run = "37dec37d8e08a2f124c3874eeb9934e7da3cc9cc8fb1ce82705a461e060e4a59dbd82c779ce89c4d53f1ea909b4b9abfd57e1f9362ed432693dbee7b1ce615b9";
+  sha512.doc = "91899056f7c71a20e08e4f5e1a2cab83282f9436409cf28b120b92a3633ec5287ae2b6d7fec2c20ee28299589150408ef2e9760028231523e4c378351a88432f";
   hasRunfiles = true;
 };
 "apalike2" = {
   stripPrefix = 0;
-  sha512.run = "7396544639325ec08a9df225e17fadd3ef58e67b6f329a6719bca810275074a088539f5f4f0a9da1e03082a130f36970bc9c49bbcb1eee8526b2eeb75323f6e3";
+  sha512.run = "ff569f69538cf82afd19d9dd8f798ac36994791d4c5cdaf8998267883432ee0230485de6b0aa9e9babcb285f1121936e911fe69700762010bcfbdfac6cdf5be6";
   hasRunfiles = true;
 };
 "apnum" = {
   stripPrefix = 0;
-  sha512.run = "1718c3d4499f7c65f40553c920cc681384aeeaa489b04a656e5313cddec11c6b36be9798a35e24bb9c06932a96733f52153eff7d6ae5f6d69b8a02fef60f1464";
-  sha512.doc = "8e4929c6a39c0225770de1b9431e8eb53791171dfa6f551b2bbf8a6719a748aff46e5ee976c9385cd6de596c773c3c523366776cf09b852c425471eca4ca253e";
+  sha512.run = "2e155193dfdd3c88cf336cece23bc6b393a81529c31ac2535840a7c4f4a97530d35d0f4ae964e8f92856eea0d54c356e8bc15427918ba0891730827a3ba561c6";
+  sha512.doc = "4e1a6ff31d9836dbb04fbd90911083a9ff70c7526ef099d437e21c11766314cc29e8071dbc21976af7a23fe99b673bbee82dfd265041b9ecd015070c58b4ce14";
   hasRunfiles = true;
   version = "1.7";
 };
 "appendix" = {
   stripPrefix = 0;
-  sha512.run = "5a3b7492ac8a1972e25710ee70ee82abed56b56cbd1c496dcbe48fb98526a29a118efecc1f05dd7e083af194134d09bc4568acdaef6d43f2aadcfe65f2706abf";
-  sha512.doc = "85002436ebed5a575b50184bf1edf9f72c4ff1878dac52991d7ff9a4ff8e1f0de22ccd7fdeaccf5cbe35ba86637f4d8b4f52783393cc3634109908c33d762d12";
-  sha512.source = "285ba3b9286866d0b5fafcdfcddb21487e98206b198417438390fdea9456547b1bfb3596c48c70d2d03eb7af8a135b3d03e9fb5d953f97eb220652bc9c30c4fe";
+  sha512.run = "ed3858af33069bf1cf5303f4fdd5ed17b1353be7202544e4e387ac9f428896bb24b9ad98ecfabda8a6fa9852c3ffe5179f1ed06a7377b4cda91e9b480d6a38be";
+  sha512.doc = "88298d222e63e3e122a60d63e1f8a8eeeaeadf0d7287ffb4a2db5dd5d6ee944b64d74d181ce5f5e2605577827cc9a64054312448b6457c26c08e67284c00447b";
+  sha512.source = "4778f0e2586b746957ae480e90f68a951c274be59588e7d22e2ebdf13514ff08e058c0793ca5c83433897c720d5371f0f6e847433405f0d880462933ad0707f7";
   hasRunfiles = true;
   version = "1.2b";
 };
 "appendixnumberbeamer" = {
   stripPrefix = 0;
-  sha512.run = "a364bad32376322f383b31cfb729402d3d481aa3f427da823f57a10e6bdf1e65636ed6903fe8e05ddda5f09c39a8fb617150cca3ebdf6c1a1bd11815a0ed2d9b";
-  sha512.doc = "120fe706eaf53b8d7b8f6134618340c13614084b8058f2c3b734743a219a97867e59ec8b77aef6bb20f845ad6eeea19ecc19892604a4871f22a6daac5833d073";
+  sha512.run = "d5f4573a0f6c31be7e910512d86ee0443e713abea11e71694b58f1d1d65f4249f967aa5b873941e1d8b7686d408f411aad1a76009a3bbcb528693ae14dc60e63";
+  sha512.doc = "58b32eacfbcd8e024a4cf3dcea0c1d057010dd454c1e54b6752b970a3fa1a9e10eb15d8cee9dbb9ae032aaa8b6c070079b112f5a91b1c9617df40877a4a3454b";
   hasRunfiles = true;
   version = "1.2";
 };
+"apprendre-a-programmer-en-tex" = {
+  stripPrefix = 0;
+  sha512.run = "deaf9ad3580a803fd5fa7cbf8f8a11df4d350b7b90ed880317d1e67290ce8b48bf783bfdf470076b672cc5e257bd10d69d6361c7959d81f9fb759752adbf2a6e";
+  sha512.doc = "820f1ba9f635e05a25167203a1f27d13c380281640784828c27ae7366816f309c6d3a630abf3ed49ed996357064878c735c9d7c17bd6dc262a21a420fe40f77f";
+};
 "apprends-latex" = {
   stripPrefix = 0;
-  sha512.run = "692c57415ad56b5a991ff3663ccf95fbde0e57ddd26f050899d3238e3fb7f10045ead6764a9eaa3e0e3c32bc0acc8ee096ece007abab6224bcf6306a8b2b163a";
-  sha512.doc = "ba7f615ba74eef13196fafafbd965a76ca8455f8ca6f5dddd2acd9e2e8b0de21c70a6ebb7fa2c565aa2f0f534b53d32989f2b6226a48fa763cd1cf2b753cd2bf";
+  sha512.run = "fe9c7ee4cc8cac1ed932388ff75066e4166e582f92bc23da4a4f6049f3cfd8c100d6ab6c0b3c661dd76038a9683eb3207f94f54ea338dd172027815d6945ad94";
+  sha512.doc = "d65d5f56e055ac4628e8198b718689631edca80abb3593480948ee8ba3336d7baccc091cac9f95b4dff745d84d409488d3a2032a1587f1f1a5db186af4da1413";
   version = "4.02";
 };
 "apptools" = {
   stripPrefix = 0;
-  sha512.run = "8c46dfb31dcd4eb128b549f2d6630a805eb3346ec58bf00acb60604331161a11b8edd99d47deb85858b407cb7c4c68aae8874198d485d3b2a2cc9684ccd86abc";
-  sha512.doc = "09f29aedec66f18dcbea44e11662848d2af8d18f71e3d3ad8c8ce3b34e185d3ead93b0c580bd953b4bb00fc6e15452d860db42f3ff002d86cc69173afb82f66e";
-  sha512.source = "73f57d2766088e01dd3693519e71722798d7bf55fa2bf231df46430bb4310a32f1eb6e7b59c2b3dc8b5e030979134f957efcc9d34d672cccdf73bf94c0b12ac3";
+  sha512.run = "05d243100c9fc575b7828e0084822fdb2c655f5d2d7c51b42aa3c5ee4d127f62f714affd1fa8e94b7c0c322b57a9fe1728d1829ed7f18d75b5287a673d580cc4";
+  sha512.doc = "74ce416ef14978e0418754e3d2e2874ed07a8fbc6be90a1bf7dc492f191546407d7a967efb1306481d1b88ad296faa1194dc4da8975f7ac0c4e4053ccaa1444a";
+  sha512.source = "ffbce0419baaf512bbf8aafae3a8bdae5456f9ea1699cb48b6ce215fd8c4d84dbee84399e8799fa5ca161a1e98375acd16d196c9ca6c505c7923aa7fab49e0e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "apxproof" = {
   stripPrefix = 0;
-  sha512.run = "651d318756015f069aa6b4984a0095163ac91e9b95ed40e6cf244aca1e31c53b6a30064934cc105f72742a3abb7c0be723f2894bd926c58afba465c54832fe89";
-  sha512.doc = "99bc20f03e087a657dc01e9e2554dfcaa4e34c4c905386a2ddba4624d005cacceb58dd5f274cf2e25c1e2895057d0c17bf6a277dca1b72e3be4991caf83b671d";
-  sha512.source = "d081a31c9473cdc05ddbd550ece8395acc83d8e048537fcc25ed322ac586ea524b6e529490464cfe81127c4ed6bbbe5f47790be9202417263f9e9eef7e5078ca";
+  sha512.run = "400c95494142780c5359df48864fd5ca48409180220a9efc25c0650889fc84fdb725f7ea263c00ce7afb8099c80d4ef42b601e5b61ae0bd2fb8e68fcdbb673fc";
+  sha512.doc = "fd818e5ec077a1d479b0bbcc8470a80c396dd5e4b0fd6191c30009f709d8da6de74277e1f162df3595a4de6e10bc88db6290c9b42df37672d8a6aef7047d9164";
+  sha512.source = "08eb4f6d847ba8d7fb4d19b81f1fcbd21a4d1bad908824fc6739b16d08763f6ba1bf388d5f0dfce29916205d6751983f06f9f4562d44f9284f690fb16fe7cd80";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2.0";
 };
 "arabi" = {
   stripPrefix = 0;
-  sha512.run = "4b7e470834905c249e2caefd1ebbbdf68635567e43b3f7b1fcf8ef3575930425f2772df96e3163eacff4c2cb951a89a12567cb679f8175f8774b18d13b067e1e";
-  sha512.doc = "5c655d904fbe3546075f07d3685d26ce12e2649bd838b53d25485152ea05c826079dcd1d9d9df750e2b5aa8cb23e69659e1d13451683038e83033de09da8b1bd";
+  sha512.run = "6f59ea8c986078f388f4c8f067b12863422728cb1a56464ece4d793189bf0e6dcded476a3b86317c2bd5f9b4b3cbc475fd748c2ab9bbf60b3d8c8cd4c162ea62";
+  sha512.doc = "c851b0cca46b11d7297a03488cc72adafb6409e0406de809a1a18d4993068702f03e17cbeda1399914005c9885108d747c844719764145c746b2a0ae45d9121f";
   hasRunfiles = true;
   version = "1.1";
 };
 "arabi-add" = {
   stripPrefix = 0;
-  sha512.run = "4668574f7e1cee77adc451a1cff7c5d49972c6ea8f40b8f14666d377678569fb91dcdc2e18488386b2fdc9416c43f2944b12436c645db6d110f58a87d0309631";
-  sha512.doc = "a75ab71a460545f8691742410fe680c63670657c805c93571c20e5aa57720c4f2c0c34363423fd6b765c32fdd32568ae3c83ce04b4b80421e055d14debd4d908";
+  sha512.run = "5db89004e82030185f34c0a38e4ba55fe38fb9fa087c7a25ee7f7df9180734ffde0957eec52f0110655ea273202b6cdf63114e3520cb23db80c48c6c74acb0a0";
+  sha512.doc = "4c44de9d3b46c605a463fd1704e56c5c61806f6e0dcc130251c81d0c555534e167034b6ba2deec1370e502fd006192540ef415aa42987f69025f18642451396e";
   hasRunfiles = true;
   version = "1.0";
 };
+"arabicfront" = {
+  stripPrefix = 0;
+  sha512.run = "efdd3769bedf8ececd7f71f6a918ed19f66caa78b348238b34e554698a5af6ae5616bad5cc494c970cd8e12073f1c27ccd1cfb7ab19ea263b5cf98061c42ccf6";
+  sha512.doc = "64eb067784cdb56915b45e80f1666347bcdde06e3711a18cef16ae92450377aed236cc32c8c10d467d50e77de31a3f599abe900f411a510574378e63eb923862";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "arabluatex" = {
   stripPrefix = 0;
-  sha512.run = "a53a8779c42bdb49d789173a441cbc5092f9915b72eab1d0725fbdff9f6ba16f27c63d80dd0d8e1a13e2e57ccf00d4c6bf0aec9e94616033549a258c4ce214c9";
-  sha512.doc = "158c7de90655df51ac4e1ccf28ba41b33b33945b5001ab91ed1128b72f22554839bd7c976f2dae4d8dfdc2a557b8f0886373a091a41ead562e6a83401c5c8515";
-  sha512.source = "88d4df754e7ab790fcfa50592d7b3f4c2b2a86f18d99146fb4619f14cfc6ab1d536b50ec9f30785d2bc755ac46c82208ca3086e47347f96cff3b289e96641639";
+  sha512.run = "53a6524c6d10975d9146acd93aec62f57175c8403dd23c4844a0ba987ddcdef7dd122132c8540733ce5c8f4f8f2f589d4ecd0c10b0ad8f2164b0886a5b8ae6b5";
+  sha512.doc = "fe2a14e2e02c125c9042715766abfbc7a634103843475b15ffa7166b18e33e5e9c8d39481722a19963b79affdc88c3283ada72abb60f05b09a17fba999d06442";
+  sha512.source = "8fbbcd24cd141d0e79232ba5e7d26cf95a554e903a1dd73e78d53c2e7d79f961a6b86bea0e880ae2ac919a5fcfaa44c72ee000d86b0a268cdeb16ffc98455c75";
   hasRunfiles = true;
-  version = "1.15.1";
+  version = "1.17";
 };
 "arabtex" = {
   stripPrefix = 0;
-  sha512.run = "e61468f2cbc0aea1bd0dca4398a9f6a38a84774d9bba44b64eceb448adb16d4088ef7a2713d071abf8eda5b01039a41e912a14566fdcd5ec0ae04b3ed50e4eef";
-  sha512.doc = "28f2cdf8543edd3020f5f26904718b3d0cbb5b50b1422da83489b4f1aa46d4812b1df0900492459f6643cf05f1c5a08ce8940e526394b6d571c91954248adb81";
+  sha512.run = "2dedbd482c223f65e13aae104e2014d2d28bf9f4ae6b90f1a4cf0718eb245d8a94899982f15de326f2eb19e2696045ba8ca9a19a6d903ef7c3e9b575a01d6bbc";
+  sha512.doc = "f20af64239df9bdb82b7fdac6c5f6a222f1277eb877fa1907cbadd4ec6e426745b40733fd2ae726d3050e6f992b14cc91d6386ee02e2bf841d1f249d09df0c71";
   hasRunfiles = true;
   version = "3.17";
 };
 "arabxetex" = {
   stripPrefix = 0;
-  sha512.run = "f9db22f63278faa0b59d1287a73775c13e4eadd16561ad9f321960756eb82ceacff092eae6e533e779e17737aaa09d895983b913178bbea98e4d829205e1deb6";
-  sha512.doc = "07e019754a2b22e41e0970287441080c4e7cade877ee5262dbbd49d60adc1d871b95ed589d7708b6b3e76ab0066b9132fe130ce71f8b8e20f5c1648cb7539d08";
-  sha512.source = "a448dc1b9cc7f759b936e77d0466d6749c186282f91c907ecb45ca334d02210f7452384f58de1733cda9928729808fd2fd7dbf39f70ef3605ecc7743fa642aa5";
+  sha512.run = "7c58bd94b780abc5bc17b4218229d289797a155a8e98cae8e22825dc7d9b12c5514de01b12bf2f645047dafb13b4d519d463f4ced60f7ac53a65c6aa38cbec86";
+  sha512.doc = "0dff3162a710b458b367bb4ca587d525b68ac79d2d3182e8b9d2ca90ff72f89bf69153960400c344511449c52346c329b8a34eb788e11ed9a5319bb6bca89418";
+  sha512.source = "fb29b38d69d39f4c7ed04a3ebb114e49512abbf444f36fcd02dcccfdda22aa3800521c9819696c2828c46983f8266fc00aa59cafb35e26574a3403319d364d64";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "aramaic-serto" = {
   stripPrefix = 0;
-  sha512.run = "615b28b1f9447c4d68dfaf910a02d49d3f8b6f51af29c31bbdd78b0f7c064cef57625a054e1dcd5b797ea4cc3ee6a5ab46a3e121867097839d815a36e23ca9ae";
-  sha512.doc = "15ff7aabfe9be5ce8a328b89dda88920fc6b89209d433edbd5e680a465c2546f3164ae895121389b1145e32ba414c8fa306d137e6e25fd22f2a4e649c9c0614b";
+  sha512.run = "6731d62d8a24c9f0d26061b8b2574a880df30df333fbe16408d0830657ea36f04f50c56b574de5eb081f490a4c5782595fe17bdb9208b6602c1a0ac81a1f10f5";
+  sha512.doc = "433018891123aebb201d6c4f2b00dd15a558344b758899f85b9bdc21556ad4fc4845ce72084863b243e42beba643c5ae4dd210b74e2588af4825e3c83d6d7997";
   hasRunfiles = true;
   version = "1.0";
 };
 "arara" = {
-  sha512.run = "2213d89f9f2fe0d519014bd34b56fe75c95c7fe0eac57639739633df03142702ee0ac7d53c336ba793031a330c3ce417c2241dba53a45c76c02992fe89a0a1a2";
-  sha512.doc = "d2d9804ad9a97f719ca143844cda2563a52de51afdd3bc4b2a28e4b9e4452197e2b9a9cc2982bbb39ef129c28880f7130da751093f98dd4ce6079ef4ff9fcfef";
-  sha512.source = "a1b1ad0b0ac91429acef14bcb461ad686c01f6216e8d948d830c7e083658f2d193be62eed7318795dd33b9db1bd4477779c8bd10aacb8517f04f110fa9b5a882";
+  sha512.run = "5ac4fbc1a03882b15611af6268453bcb2c1a476524a2913f16d78cb04414c3eb4cd9ab7426db813d95afb1e51828a6eff1683fc03fd785ffae5763d5fca89b24";
+  sha512.doc = "4f2f7312a15e572dcf4f9a2fbeef07e9c6d940401c28730afbe9cda3e3247c835771d278e1562d55c33728ab4ca92cbe26a945d96c5e50f6ad54d424ba2af47f";
+  sha512.source = "808c73a642fa3c8e74baeb86e1397c797f9dd69c56dd2ba1e98b2136a753f62d5bab354a7255c456a5837a324d586e36e36468a43658e74562d7e96fd0015fcc";
   hasRunfiles = true;
-  version = "4.0.5";
+  version = "4.0.6";
 };
 "archaeologie" = {
   stripPrefix = 0;
-  sha512.run = "5d020f4a761cef84823c7995f8e6f41479a9639aa5258fa54e928a39975deeb7a187be731f1ac35d5da8bc6d04c7f266e61ef3a05a3a745d0b499a98e70d111f";
-  sha512.doc = "1b2c54af046f40e440878481a80f4f871a39cfdd8158c7be2538905c55ec54ff65f410f59396581e5da5ab56dd6b096e5e30ed709585665209ddaaca289dcf2c";
-  sha512.source = "fec73b6e058cdf5fcc9edd5627fef392efb816ae9aea638c8b2bf5959961f366628bb47196a061beb33106916c0c333190fef858913bfeabe90df8b79d95c170";
+  sha512.run = "4998ea296e2a3e6c94ffb23b8ef981ff88f49f886063fb6f7ad6a549dff1624bd23f0615ad7ce44358de7f79b87b02b5d90800c48b8de607399403c045750d82";
+  sha512.doc = "4d8e3d71d6516654dc96602dd1bcf7eeb0bcbb26fb87efc4cc8c78655140ba28d1d68b1fa42bf6a653e6058e7c648a190e18abb7a9ec1b467acf885d71db38d2";
+  sha512.source = "55e8e5bfb8f0845750a3b13545c979367f34a6de44e8714089c95c3df34b4b07bbcc058a30ef941d9e835b8a3e2070b92822a575f472410f388fe19780e08618";
   hasRunfiles = true;
-  version = "2.4.0";
+  version = "2.4.2";
 };
 "archaic" = {
   stripPrefix = 0;
-  sha512.run = "a23a6739720b817993eb43962ce911604fd606e8526009e8d8190f0dd9bae6d7309511eb8d12522488d1a464af5d5cfc1d59ae8008458901cbeb37e313ab5fd1";
-  sha512.doc = "f4ca94308e24e033d7a3a9ff178a1746e16f008f4e2b1b86d957e6a2843798375360a7e96765a3c78ee12171860f26e930a39d0e81ab798d6fc0ca443e8057ae";
-  sha512.source = "48c899eeaba26c575d1227ea831ed25c389617b1dec2068871c3afa22295f9c321352bc944ba72d7e42ca0e91f570930f63ba6ecef5d19d7fa954358a2dfd8b8";
+  sha512.run = "5e841f4a8e5df375fd660c998d3d54221e6c8e383fe4a69fb082c98d62b44a1fab2e9ec88db37964e015abbc20cd0f2af5aa26cffd4fd92fece5e24661c0efa5";
+  sha512.doc = "457eedb06a3a09a73a2ce0b20c18b643530aa2659d7b1b98be14238b9d40e8a6bdc39085654e8589fb134921f40d211d93f553cab25d7901e40286b3075f268a";
+  sha512.source = "5a39568546651ef10937849550c3305bde9379737b21e24b2adbec532dee8192ddbdaaa77f2e6bc135d518f354c1b20d7c43bc03f65ccf47d423f4af1e75d620";
   hasRunfiles = true;
 };
 "arcs" = {
   stripPrefix = 0;
-  sha512.run = "916701ba766a641f4bebce5fdb994a776317769de2ebd40bbcf08bc66c5b1e04d3ad8f50121de11208aa12c0eb102fe09f411c0fb8927a9b9c023e84085a16ed";
-  sha512.doc = "0b3eb24a15d319caad0635cc699fad67a1fe39b3d0645a6596e34f6d448cc4f69a69ef0de3e497e459d350021394eaa748f286df6c0d5298d28ef266a3c8f300";
-  sha512.source = "92b928c892c4954d05d15774d33ce47a7f9e2a36258a40add3ff25c876d9c20b8c5e9ac44a04a7df1cb0e20721672982ea7bd9dd60054741816d82bbd082c6f8";
+  sha512.run = "65737905ba0a6ede74d8cb211b46a2e62b640d1b655f895095ad4bdecefde496368707142143e2f2e48849faa89d86a9e90a0bde64fe84b3c828e14462f30406";
+  sha512.doc = "2cf72d4ec304cfa08c1b3cc8df3bd9a6cb92a633a2ab783ac4efbb5edd6290ba256c86bc4a3bbc09d923a58a10e5f21f5d8e3e2b41b0ddce14406d29405523e0";
+  sha512.source = "ce6599f074d59530d85960b2a313421400f1cbc26b488e900a5b49d75f6b715a859b36de2d2e25c880407950f1170512cc3573b0256d69ceafab40e29566de78";
   hasRunfiles = true;
   version = "1";
 };
 "arev" = {
   stripPrefix = 0;
-  sha512.run = "0bf4817d012774f5613535312f52758a7f3fc9fbcdfaddc50bb7de8646344f76aa1bddcfb9e66b7703c146b243061a27ce4bed4c7d923f96da9be40058c150c8";
-  sha512.doc = "14a7526e67a3987fe77dbe88f7cd2c42bde55c826ba10a627e83584be9a5a2b26a0461f675ce61834a664bba891930e0a642dda7bf85ac8f6f2e5b5fda20fa3e";
-  sha512.source = "f89bbf33b59bc231ea0bc617d26d69f6e57d85720c23a0d9e994e38a8695ea7b6f306d3cbbf01454739d99a8ad9d61d732ea765418c5f641156d344c37293e76";
+  sha512.run = "8b6e88a41052740831fdfa03299f665fad9eaa0e45d1d235392aa0b849bd6ca03f1e18892c879d3a5289430a5d236b9544d617ea2c3af62a59b38b4d7ff8ce90";
+  sha512.doc = "a8dcb8bf0fff3be9c99550623f12651df09b151d6e28bee03d7aa80c7b0eb8c86603b4d8037232e4998bc5603ab3dd368ff7a262b7c7f62f2903338774a9b8aa";
+  sha512.source = "6c92c2f3ef59dcb93207ea90643d11aa8cf81850e2696414f489c40cef97737d00ee4444893669f12d4592c6573a71cb229c232b62f10db38195aabbe83fe523";
   hasRunfiles = true;
 };
 "arimo" = {
   stripPrefix = 0;
-  sha512.run = "66a38b3be0b52d419382ef405e9d09cd487f0db0be9b8435001ab59cbc5e6e21a3ff631f7784d3b0306e6aab97b54ca4a39151c712c5ad29905328f3fbe289b1";
-  sha512.doc = "76a21b820c2e115a353267eb4c604b7aac36bbd47b3b90392c266efc3ad08045b78ef8c45e4084bd188ee8754bc2e59509643ec70e3da9f8da22cb11bce268ee";
+  sha512.run = "9dfd102a7a58778bdbea8fc9aa8688dce24bc0a8106121da5f5d57246bc72b4c6c5ac11089a496399dab273680da2b4d2735d40bcd2277b555eca67ff936d991";
+  sha512.doc = "481649673936e5a05195b2fbaa7c7a3a702e23ac6998537a7c2b3c53b3a87ef1e1b0234c4254f737ee10bf8809ec03b524ae8e06d3e1ca3bca641d58746afcad";
   hasRunfiles = true;
 };
 "armtex" = {
   stripPrefix = 0;
-  sha512.run = "501b1434100cd172ed773a1a6210a444d9497d8681ddcde9f67c0e55d533a09d8633d6e5bc2630b3073ed9edce00d98e6feb88d3e11f53b745360f814cd553a9";
-  sha512.doc = "8f293148f924e4f1ab7c6988f2ec2b68bae509de64e56d7cb960fb3fcf6a6fbfa05d0a6b568b5f6c6b540e6d66724e9cefea8ac2c650623f8d8d0d8aeb86d2e5";
+  sha512.run = "9e76f19f3b1bdcc771039d0be62c5745e5605b1838c4d7b2df67b14b1babcecf49fa5abb667b0d106a432919dd08e23e82201a62bb4adfde3c2016aeace79bb1";
+  sha512.doc = "8df4b5c1aa4b653869383336594ea3bb960ed8bdc2c413464df1aba607c9c310bcb5e8e63a911fc28113a8770573e510d81c6fcdf84242dcf08dd2da33f7dbf9";
   hasRunfiles = true;
   version = "3.0-beta3";
 };
 "around-the-bend" = {
   stripPrefix = 0;
-  sha512.run = "c5661de5ebb954c3a90606e22cda8d279702eba0fe96ce42545f162cd1d3f41029782d9eb0875e3ad9f1cbd308ae923a6f363ea1a1f4f44429760ab021e35da9";
-  sha512.doc = "7d33dd68672a080bdf95f74ab84e281242a57ed36fca8a7d8d1b7af170245c70699af241c9c687d88d2c6a9a2671d4d8424161128560ae8ac9898789894636ee";
+  sha512.run = "8fdfb83017cafe87778ea8a9e7147d6b73ead7019dfc9dc8b620858a67a2a02991e291d622aefc77723f6faa8a66b132313a100d298a2f6327473df4e0fb17f1";
+  sha512.doc = "acec7325203a96ab3937cb687e3265b5cdf6d77af5740e1e187f993fcdcbb9db743835e9ab579b6c8b0534311ba94f3d1591330bedf1c2f9eb9e6955ad070f9c";
 };
 "arphic" = {
   stripPrefix = 0;
-  sha512.run = "9fca584d410a241afb6a506cba7b0732b5515c18a4a829328522ff8675c4843cd9830573c3c85c067d58413c9572b0be51c013978a9d0c1571a301a9e6a27007";
-  sha512.doc = "d92f5f97f08cb89102b95e625937db9dab233ee2d9e9f8710b2d5d72b327dd1cb4fce0a6a1f7b4f75f43720d58c4836f446b5136aeeb9f3c5ca6f664610611f5";
+  sha512.run = "2d4c0f91dd483df95bf91056e4d7cbc28b681fc9f42704cdbff297ceb4f8110affbed879cc8b15061c309764e1fdcce01fd47c2d742df441ed191f83a065538b";
+  sha512.doc = "327dbc2cc7b4bad5e410dbb07dd2a2d5052dcb54c98310ffc3596c1e5b4121c1a12e3067b7074f209a3972cb51280f057cfe718eb963869bf05a76e17c528dee";
   hasRunfiles = true;
 };
 "arphic-ttf" = {
   stripPrefix = 0;
-  sha512.run = "ab7678f75e28117a5f988e913c02daef6eb757f726a18573cb92ad1031296b486d71cf859a0b06cd19eb456b5240443563ae200db1f7642d87c161fdb793e89a";
-  sha512.doc = "df151a25da7ab8a44fe9eb5f031d1a8409abfd5af9513cf8f4e46600f7fec3aabb1f2c4c5a9e29224dca5c911b2139b235f53a2ce57927a4e599eef255c0b951";
+  sha512.run = "f0559968e2659a4e899bb0ee1e6236f4bf7f4133c96c146a189b42fe0ce7f375ffc5c62efd8acffa68b36c92159c28eb54167a7625b606cf7644c0a072d7f8e9";
+  sha512.doc = "000030c21bf1ccd74ebc1c6bf8e46dc5d9f884480b2c31407353a3ff45a4d1072f759e9e31abbe5c9de7dfc68820fa359d42c5e980bfb7e9d408f015f8944aab";
   hasRunfiles = true;
 };
+"arraycols" = {
+  stripPrefix = 0;
+  sha512.run = "818971d673180323d20534faf9bcc41afb7da93f41df689b37237af19471ebba1942d0cef900bfd5dadfa5730295bca2e9c9e873ba2b25a1fc885f0d5aa3c4fb";
+  sha512.doc = "10d1132c5f964915c88eed1c00edf982da80fb1dea3dec028e372eeacc91023b06a0b49a1b63e4442d23c0ef550f2651dc0f12246e3d58d0ae320006e9b49b37";
+  sha512.source = "1dc2055ab0a511896909ee526b9f5b1adeb079dd9a1a6d64c0fe9ef326e29392d69088b47a7e26dbca2d32e5527549c7bcd9d8f3b28cf8c1ca7d442819488638";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "arrayjobx" = {
   stripPrefix = 0;
-  sha512.run = "e011fb45f9088afecc013c0a5cf7e12232ad5bde821782577c5994f74a03360ded041a4e2b7096e9db2f74fc21e7dd298cb5ad6e7157681cfd88b7191e21b015";
-  sha512.doc = "9d6daf32717880a8e1fb1a5bcdcd798cef5ff5f5b6cff0e26411ab64fa0307b0b462799f49ed44f8427d9ebe380668369a2771db7d7771266595cd077f813231";
+  sha512.run = "5cf6573de2bf55c1b75c2a0f38515ecde848dafcc0e5f0e77185ac039d0bcc4049bf6fdef62134ea5e4839570fc20cc6928bc9357bee0c4396f08d714eca8d13";
+  sha512.doc = "495f7f8f3265e349e16ad170eeda10296926864084ace743df54f5a4b304da6bc344bce901edc0fca8d835bd0f90943b192b0e16e3a8f5bc81e0f269f2b480a7";
   hasRunfiles = true;
   version = "1.04";
 };
 "arraysort" = {
   stripPrefix = 0;
-  sha512.run = "9fd89cb6fc746e8e247594343222663050d30b3c780a3571512748baa640dc358899e3015f2047e97da16e1c68db99f027418ef13f176da70162aa14f7112e43";
-  sha512.doc = "62a0ebd0eaf8c2db103866e7ffd93f64edc622e0d021dbfbef8a02a7d4905c99d500a0812ee458ee4f99e104dab8c711b5812387b1016cefe0746081469b9a2f";
-  sha512.source = "8af06ff107a6bcba4f14dc6b364ec300bc428b97ae2055211ab4c64b3de094c58344511652cb33a917210dd9b0141636a9eee174744d06f15dd0d69a2951b48e";
+  sha512.run = "6dd3c6a79c7b7e1f9a0fa29f2d7f4fda8c3aceb0b900c4e42773c81f8a49e84dd62ae24027065cf19cdff93d4addff11d0b25cde62f2d4854b84fec26eb98c61";
+  sha512.doc = "1070b880c7bfb6101fa9294ee8d1ab4c61b21af41316ab711c3226173b73249944533cf0594571f90215a46322b1ef07322daf7230d95e7c23bf21650e1d6047";
+  sha512.source = "a8a5d1506a5cc9a33f5393ad6dcfa7ee84af9de69d0760d90fc633391cd21f6d274995e372d91f47929b098d64ab5464d7d7cc2454266bc52972b8708e3bec98";
   hasRunfiles = true;
   version = "1.0";
 };
 "arsclassica" = {
   stripPrefix = 0;
-  sha512.run = "7808b77e8868ad2e4bc584408b3bfc15cb53c4b012be5ad205148a37901f98f99de7437d94b32af8254ab1cec51c7a3b442fc7bf65e40346810c4f68fa81eea3";
-  sha512.doc = "fc981473098274440a8f5695332cb811c4d07a2dacec9065993b1377d10eada02e9def40b5732b40cb686ddbe3d34257f73797db84fe1afff1ad5f630f34d62c";
+  sha512.run = "9c6b32e43ff86bd6f28d23b9aab5dd90a423610b2f3c842462e88985c2ee88eec2e78e05cf3e0b91397009bdd370880df6db642816d7de3bb10a96faf4fa34b2";
+  sha512.doc = "84cd0583c074af45837f38c21815019613753890e056109abab3c79c774a7ebe966c35875264998398b18d7a7fc92ac6762dd72726e708193f699e321f296535";
   hasRunfiles = true;
 };
 "articleingud" = {
   stripPrefix = 0;
-  sha512.run = "d80aef2ac7f87f238449956025f3602e34c736ee4088958a28bde8f73c9138f4675a7460ae9670b85bac66794d8341d3a4c5ab86d787b4c92b40ddc03741a3b0";
-  sha512.doc = "d32e8afde6b6bd012662c3c1a43998a17d285a40d03b86c7d6fbb4a6238322edc5d59343e5de4934c0d64d7260c489049bea187c921b3f61f3d024d23cca79d3";
-  sha512.source = "7f9aa8e0b04c670e1a656f7cc3667eca67c19b079ef589495533d169526e46efb76deeb4aef85d749be580f97f1d1db1074ff090417d9ef87b3b443cf69cc0f9";
+  sha512.run = "30a34052cd9586d4b49d687035ae8bed040cc5bc2d9ebc0d96a035c4c7cc06625877a501e02eda9be5eb79643f009ffa9e8d2bf9d7affecca016ef3c6310a6de";
+  sha512.doc = "a7961a7ce16613d26d714d39bc441400cb37d7013d03684146ee9113d05dd821a23a1eda9f7e89601680959f3b473e31155f24003b5deaf60e069385c0681646";
+  sha512.source = "1217fbf4951d4e6a11378154cc030b4fa18e7ca6384bd1593e9a8adfb4a4d2a3161bace28c22bd4aa4ba81ff56d1e2d1252d9678ded0c53f8dee6294e8dc1032";
   hasRunfiles = true;
   version = "0.3";
 };
 "arydshln" = {
   stripPrefix = 0;
-  sha512.run = "2bda14f0b7ce30d4be215e6378a261947762fbcafacbb7a98d2a6bb7b15b0f3c7f9b94c559edabdddcf17763da0319adeed9a4192ef9fabd0267821b07eab58a";
-  sha512.doc = "e234bb8d06b2b1e6dccb0ee66976945cec5d901869434fb735d1f75b9a239953b48df58f84231c065dccc76e20539cdd8afbe9c660406b8c3e1f6ba4cc11a813";
-  sha512.source = "1241c104bd7258a8f166804134c041c33af62bd4b3443b38d27066adcbc0198f8c107f0a1f43666ce61f2a31c9f290b81b471fb892f526b79266137248f0ed44";
+  sha512.run = "fd676917ccedc39b90b48b531ea4ec5098b70ca854583a3266d4080dc78f59e37a743e63b738be370cb0ca650594d0878ab1f807eb6f55daec17ecead73aa4dd";
+  sha512.doc = "a809e2abfd26b11edaf8a5b23ddf01901f84bbd63b8fed7b6050a4947654ffada95bb697e13250038c6fb93db80dee4faad6d4493f05bb7f4ebb86dc7e9b9698";
+  sha512.source = "0be560bb0dac65951b177a34ba45c8199cbe75b64958b71649f09e5e7be73fe091bef6097a9502be80e26bd415f193e00579925b0be0d12bf43adfc0e3963578";
   hasRunfiles = true;
   version = "1.76";
 };
 "asaetr" = {
   stripPrefix = 0;
-  sha512.run = "bbb50b404e20bcd81cfd724368082c02114cb0b08bb6144e140a089cc0ab4e2ea1bc275be761b7aef50521a38bca98ee009a7353e7d61f547baa51639c86267b";
-  sha512.doc = "5cd6e6e755d23bdbf6794789605183dcafbfc71056b11155aed749179d823406fcc9fbb4995db8fa9c2b34db6d4047e07c2d88d4a5497229efd3c04842609c02";
+  sha512.run = "b44fbf1bb916eb9fb01c70a7302ef4028d04c84dc6a89a51c0feaca762da9cc95cc03cce6497e96dd64ad73e812fe59a12adb515ff4f561401131476e7df6214";
+  sha512.doc = "be0cd70f1b3035477a9b455328a8e167a5042e07634913c0d9efb995286165a1f41c1b86a505b3f23d19ec2f43712328f70085747d692bb97ea968c40ed109b6";
   hasRunfiles = true;
   version = "1.0a";
 };
 "asapsym" = {
   stripPrefix = 0;
-  sha512.run = "a67aa8d0e660c86475ed3a7ff4e65074e335ad607ebfa0126f7a30f234327577f5f73f490883ad6c20d2cfc755d708b6f2b341e75a59650b0de1f3610bd076c4";
-  sha512.doc = "f625e90d9e4e2ffdba31b937e4c4ba81fd800ac4f5e83f997a1913e0fa779585c722c0fcfd5e8d0c0b25529add07015789597e5f12fcaa59ac20dbd3d977cb93";
-  sha512.source = "664d199f48b9f476c952648b453cec654fc5eed3e7ee7e944105db108bb7a6fa75dfd3f92c143f6af3e8e929a3adbec1574e0e223ea712a01fc01315609b00a6";
+  sha512.run = "9a683044f23fdec0547199afbc0f0c6c9de8faf01f09df38de324f53e91f446de867e951e187ec77bd63cc65bb92ba2fd7bc290d54650ce24e02b682cd10a941";
+  sha512.doc = "4462b37c6575ba0f3e95c29e1d84eafaadc562da19ec58a604bb6ef677fb9b9d35fa68a6f2c81d8dafc35dec9f904cee9d3fdfe0c2031de928862324e83d8663";
+  sha512.source = "54325810653a14ba0ebe67b92341fa151e5bade3ba23e97c67c2bada6bf43ab16d5e0d11eb4c59075c48bddd9eebe44ddbca5accc331e6b26081abbdb95e3e86";
   hasRunfiles = true;
   version = "1.0";
 };
 "ascelike" = {
   stripPrefix = 0;
-  sha512.run = "84d6133a0caa1c12534559e7fb3288772a5609e381718fa26f4ba24ecd0133509a0080865ed30e48a99e7a2564c4a24404c8aff594e2836a53d9b789cf1351ac";
-  sha512.doc = "5a7a4e1523499e56c8aac58b607f45e281029584ed94a33bbd1d686ead5ac42493aa7ac532225b3a1fe75eee6a67def5b77f2df3922d95a06122ef74514d35c4";
+  sha512.run = "d8c9d69ac49e632b7b303c0fcff53762f6d40a490aa1655f58525e192481b65b50912867b1cb16c9aba1d93483a6a2bd31e586683819a7f2b3db7439d46deadc";
+  sha512.doc = "0283fa497b53dc3a0d60960bd45945dd9b363c53a563139e911b8bb017a6f0ea7f46a95811812a679fe1ac5327c52e73f4aba35d26160041c61a1cb5597c880d";
   hasRunfiles = true;
   version = "2.3";
 };
 "ascii-chart" = {
   stripPrefix = 0;
-  sha512.run = "1fd50d28e196ab222bbbde5ffe09d00ba0ef8447e3a1cda1dcc53c648acf025a3e0d8985e4d46a015264751d969a82f749feb8ab73fad7f5d2c78b7b89964fee";
-  sha512.doc = "c8fe32025603c2673feca7d703f783708d049947360b3ad9f522283cea5a3e76893d067bbd8aaf100d63361595959e75fb83292a3d805b9b01fb6f03b26773ef";
+  sha512.run = "ffc1634e3e5313eb0cf04caaa227d6477cf81ba9b6eb887b2897b6740999f1f338b2dc53e6da735876f9c3b130394be59b0a285309d61909a73fdb0d6f28a8cc";
+  sha512.doc = "51b11a22dd963336fd93a87e2948d05f291b4191253a474b9d6f70ec31a2645801fb5f6fb6238f6a9b2979dbaba4a6ec8ac15a41c4e8867645dfa54408f18373";
 };
 "ascii-font" = {
   stripPrefix = 0;
-  sha512.run = "4855c6dcd898e54580e695f060254ece4ab878af4353ca8b380016fdc125d655dc27049005eb060189661f57e980a4b4d81ccfffbf56af4e7c62ff9822d20be4";
-  sha512.doc = "1f845a88543b4db27ed1d943563ee04b72c141cb4b5ef79e34bf8406cdcc5156153fb2f6c666542dce397a3be67895b49dc5a81891091784c3e09ba324978a5c";
-  sha512.source = "0ac560a38a113f12378f20fa2cd1391c93554e4be30f04eb55c54835843febd5f47d43cc7ee33b68d47cb165cf3a5ffaa4260dca9d01e11f5809374062d2f65c";
+  sha512.run = "e92e312e38432a7294c71a76604e5a3c2aa6b65937d39933fcbc9fc9b61e00a1e2f35ba739f64c29a3ebf6d2e388cd29da384a2a6456f71576101a1f12e36f0d";
+  sha512.doc = "2d681a41d213fe260e3491a3b410239fa2e025ba19894d133a27e47b417ccf27648aa13ae431b4c42549c1692cbe517f2595c2de675b14d9ea0460d469e4f036";
+  sha512.source = "1bbadf44599ad29f843ef17d1b437f951f5b167e9bf84a73600a0a9dc5633d94d76c91ec23493250ac894d9114c1b2d1d1f182690aef5dea92c9ec51c96e69a9";
   hasRunfiles = true;
   version = "2.0";
 };
 "asciilist" = {
   stripPrefix = 0;
-  sha512.run = "f1aa6c5ca3346673915dda6b9a9633c59f5a64f796a8d1d4aec4607169ce1c11873d7a1cca7e377b7c755f182c8f9a98e9934452584c94d5aadace9fe3469190";
-  sha512.doc = "70ecc0046c7a27c2f2fc52c47ea490c8f87b034829cafd43d7501a8f3c1cfe292e91aac401a76e51373b1a36f197498c860d619f488f682d6507b2f200c099a3";
-  sha512.source = "a0fb657d02ea710014ec88fe9c23ff8a72aa6f67f47cc1f7d78373326cca9ca4f9e25588d6e91ade78e49cc27431f7f7c506f0635cfd84c3c6a6c6e4ad479760";
+  sha512.run = "5c2e7938a9d2df31477cc976cfb549103c8f378a8d38a3624d3449229861fd834d462163df6e2e1f1fec686f513c6a194ccae9fcd0991820b357e12a1c32af28";
+  sha512.doc = "8602a9f8e5dc04a6d4a914f603e04ced8f5cef55c5a335087b8f0953d19d4641d43ef732ce299ea18590de89e2360a8dddb44f8ae76be6498ccfd29e4a680746";
+  sha512.source = "562efdf7665916bc124f8d2ada2d7087ffebb23885df6c3baa652ef24b8fb7ba7e2f4a5880922066b9f5c44bdb9c70ea67537c79676c9fb7004d2ce1f6c0d6b9";
   hasRunfiles = true;
   version = "2.2b";
 };
 "ascmac" = {
   stripPrefix = 0;
-  sha512.run = "a7d334d650dd49db2fa008d402cb965f39423c31b5b31d7523c6f84f0658222ee4ec0bf1c36af3ba72a04c843b28bfa584a1c1c5ab2621d2254614130f5d822f";
-  sha512.doc = "cd0224f5f4c8fb4e1c2c93fa52003f59a1626868e836274fb0583518f936f076f82624a78d336e2bb8c3dff85bfa27f4a38d84313ea6a5a6d5ccf8f0656bf074";
-  sha512.source = "6534c82e006b16e87fb959f9d183b8a79a516b0c800c0fbe824fc7417cf87af6ece71cd384700881825ee0d983c9e7e6e058bd00dbc7aae1ba8f8dc802f893a8";
+  sha512.run = "e2ce69f4352eb45549488c4fdd26f9acb1b0dea0db86864de95fd72fc0f7f7b5105748bd54449578e6d13a33fc28503e3bba73a4bdd88466b7de3925c4e47a45";
+  sha512.doc = "64597bc037ac6760a14164ea55a32513f0e3b3026bf2e371247e528bc6acf071e81fe8b5dc724ed17ebe75cbacc3ff005c19539804a8f1984bdd825a1ad39513";
+  sha512.source = "026990d150f593a23381862b25adc6b93784edf02951089f3417492250fa9bf4873162b7869ad9f182b4ff62504dd4a24dc8a259f83e07e43499e01e40068108";
   hasRunfiles = true;
   version = "2.0h";
 };
 "askmaps" = {
   stripPrefix = 0;
-  sha512.run = "e863a74e09f62766c732d5eab5f0fa51c0801db091814ec4de20e4950c9e496322a2244a755a10c838f1efca8405bcb37041728b5b5a90e26557d42ce7593eb6";
-  sha512.doc = "38f24177c03adaa0a2d88a4efd6ff4a2fa4044a70f07589870aa5c7a200be6e2f15d681fa655fe165c9064f775efadb0dfb96d9dee8a644cc9ea00bb6a610bac";
+  sha512.run = "d07dc2e9b3cd0dc7d46576fcf9f08c5a628bcc701a95d8d934e322666c93f649054b9dbfe38f7d9577ce3d27344e9e5a99ec8b1e710c45f4a609a5a2dfadd126";
+  sha512.doc = "a170144d18c4a90b166c8a315e9d1f0d86cc5f2a53ef69381652c3f8307b85d8b70dc610bcb98be6eee1bdbedc02b7cbf097a13133da78d492c71db33d94b04d";
   hasRunfiles = true;
   version = "0.1";
 };
+"asmeconf" = {
+  stripPrefix = 0;
+  sha512.run = "6e834fd16bace20d505d13af26bca1347cdb8f5035172dc16f3fb43ad836986ed70409ac73fe2c410b191fd4838d9d8be8802687a81d883036118708600b08c7";
+  sha512.doc = "702fede94fc147e98e5b09bfbbb585c90430f90be5de9f82014909993b4aa2d8808832613bebf605ac742535ccdd5f403bee5e0630af9019c07d1dc867042497";
+  hasRunfiles = true;
+  version = "1.12";
+};
+"asmejour" = {
+  stripPrefix = 0;
+  sha512.run = "3c3536f41691c251fb9d94a603981cd184c8cfa92776ddcac7a67d166f918fae1f20625870bbb3bd963c6448695dd4e575c75ef5aadec0c1dd1d412a2fef3be8";
+  sha512.doc = "70b3ee220e37957e992a6570b1b4668e8d7cb730a0e0d910228f0f2bf0ea1f2e9509b12571d01f7aad628114e52754305eec4389af1d6afe7dcdb2a697f0e542";
+  hasRunfiles = true;
+  version = "1.06";
+};
 "aspectratio" = {
   stripPrefix = 0;
-  sha512.run = "afc4ba58fa7da75f6e326e716a182ea380356232b043dbd9f146110687a5f1744276028153648b71d0552deaca53fb0f546c026301087e05b82f0be09171b9ce";
-  sha512.doc = "c95a99adefb2f6b3c0a28b556095f0de4eadde42c91a2b29a6fb2e9713f3c2ec05ef56fdd1e49da9a46ddfc042d62445db622eb04eccda97c4e337c1a76cce20";
+  sha512.run = "1447c3037f5477aeadfe3e5fe18a004ffa1b8c5c18b7c68295b8065e32c5a3e6a044e7f9868bafe3d8b81e391b2c614e2153302ef34e1e4aabe84c92ada2f129";
+  sha512.doc = "5ee4918a3d90e9e4b51a2985352133331b77a8a87bdd8d41fab9348e5c548670ab56b5f0afc63756b65fdb6e45aa7594335995ac0d146d542b571eefbaa84d78";
   hasRunfiles = true;
   version = "2.0";
 };
 "assignment" = {
   stripPrefix = 0;
-  sha512.run = "52c950cbbbba2eebef48051d67d89823df2e8789bf222ecd96ee6481fecc87437c3f095cd22c02af4e6dcd8b2d224ba3b739f303488437cb7b05dabeb41e0160";
-  sha512.doc = "670fc6ac24ef208a99a20117a392c799057f6324f925a1a848151aae385ad0542943d078b1cdf6967b217c9826c5941faea0e5e10888374b3782cb26543cdce5";
+  sha512.run = "5b8ceaa313eccffff8930b4e1896c7aa069664244623baae2aa1eb3555786dfeb8af8245e56ca149754093f6d74d6b86c891cb9e52e67c7b76e2501ac206658e";
+  sha512.doc = "49198297494adbb538385029d41681e55bf64c89fc9cee7d923b7ba9849c039a7e5aa2c1fbfc15f06c1a93a3b694899ffd8988d1833fd88c6f5dd51379289a14";
   hasRunfiles = true;
 };
 "assoccnt" = {
   stripPrefix = 0;
-  sha512.run = "b18ca8b8b472b05c2df140e44c3366548dd6d3ff1424292b34d99319778874516ceea47b18a35d8bb0dc18c79d01560d53c36af0dc3730f9118ee73278c7569e";
-  sha512.doc = "8eb4efe8046664fab0f94857cf69feb1277d227825e65758f651ae2bec22c7a8d81395051f42f3121b07a7ff0d7926f82f0cae25dbe1edc29d7b6739533a78da";
+  sha512.run = "24dd03f444ff4dd627a97840837cb14288e9021117f93fbbdc4f79cbac9cab46d43fb93769d2f05970eeef3fafd39692eefe5d1b7bec8ae04f6078d7a4b48824";
+  sha512.doc = "195f1f017fe187a224bde969f45b6494007e4d05ab2e8618b62e8d40055b4ef401f5ef069c3bd1af25f8a9f5e1ad1cba22923e4d615d4f075e13a78a06752e9c";
   hasRunfiles = true;
   version = "0.8";
 };
 "astro" = {
   stripPrefix = 0;
-  sha512.run = "38d9b3c5850da7f2e80172fb46a4a1cb1797bb83570d73b17d6b16ec171bfde42cc838b9dfee6020c36210d36fec738e8750514ee0ba999d4d632601dbbb641b";
-  sha512.doc = "c4d662b1b8bc1ced4acf81fe4c3ed2c305517faa46ae43915e83e07fd5bc945dc20953120d6745bba845210ab12b67b75c85a8c860f6160e9ef009fe7812541c";
+  sha512.run = "8cf59f7de3ea5add30166fcd4284279582cbe6199bcb1ebd540688d03c03ccf03aa740602cfad11af9380d970ed7009e6bfb4e96c56d26036f872e82c02739b6";
+  sha512.doc = "df4a06e10e9a438393c7e22f746618c5d760a6095e285acd0b2918f58e234a1eeca9b49597d381a113cdcbff0f13e4c7108b9b400afc81e81757f4400ea484f9";
   hasRunfiles = true;
   version = "2.20";
 };
 "asyfig" = {
   stripPrefix = 0;
-  sha512.run = "c3780a1a2a5219be9844c69a73ca0a4b499684824101a2cf6718ec2dc6ca59c5da71b796374fffaf04c79814fde104d81729416deb668cfaf426b8b39b49d887";
-  sha512.doc = "592e6d8213c2ea232a159084fe8e721f32b9dfe62ffdd664499cb0dc07c69dbee0ad609e88cd4ac329cb5640b732e24c327f3a8eeadbc00e78c2e8f878949bec";
-  sha512.source = "5c884786d2b42aa858a11526e930650e8d70c9c59a263e98e3cc8562a7c83dd5640cf321ed51156c264baf47cd5cd7094a266812515f8cf3df5057fc4039d70c";
+  sha512.run = "f067e6aa1f3cb481e07f59781fb7d4c671a0b21a392ca7830d7fa19ed7a198fefd5ad5104ed3644eed484100871f9a8d36d1ae6e31d55487e4ff2846df618e9b";
+  sha512.doc = "d798066b8c545ef385a75c81d431c169668bd10ad072bc3e0ef1db7c0df903d51e9dd9ac2d482d109b421a868e9cbff577c18f52a7b4520b32985fafcddb66ec";
+  sha512.source = "0a62a885334ec00b04e47ce4df391d170f286cd90e7d68d940d0f3ec09018ef87f49ca793508592cc92268c1346ae48a54be65ee601f2dad7dca82778c9f7e39";
   hasRunfiles = true;
   version = "0.1c";
 };
 "asymptote" = {
-  sha512.run = "8b59311bc3e87206c873d8d95f0448c5b644dc9624e34ee43bee990bbbfb76fcaafa7fb4f792619e0c00ed4c8ec12b35e3fb0612c48dfbd8e1903f24602a27f1";
-  sha512.doc = "95a9a635d8d769068762ead450a7afbf62159cb4f6c18ab080db4ed40b8f642496c18597ad31112cdb8582461c1505de5723db4b2f7e8354e42f2a0a36bf5fbd";
+  sha512.run = "e314e473c14c2fd8980d3d0256c6cf6fc7c757a5b4b4dcf90c93cbd15fa70a5e7a0ce453c8382df3f9cfa4aba9c9047b3ee44084e398d9c767bb88ccf3bb47ad";
+  sha512.doc = "7969d7001bf3662ed28f92b07defe67a9262aaf62d8dd2f137a4f36d90fb4ffac034052a6c037882c3bcfbc0fd2b9836fc8815c90c741a26dbc68b59a8879782";
   hasRunfiles = true;
-  version = "2.44";
+  version = "2.49";
 };
 "asymptote-by-example-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "a6dec09be14b4aedad42b36ec450568ab7ab28f3470c1e2f1250aa321bbf3aeeb1ab65749ae8e80c8edcbd9ac4de3714ebce3f0e8d161b81f83d2eaa7ee9468f";
-  sha512.doc = "4c2f70caaec42c2b8849dbcf4cb6e22d6dbb58d6658bbbdbc25f95325da179cc4fcd8e162be4110161884fe1848999a226fa5e32c1df3379e283c46cf3352b37";
+  sha512.run = "34608d6412d7936a15bf649555683ff03c5021e1688c99285a6b7ecdfc3a43eac4ed32108626243d6e9b07c23c557f07762897a96501a27412c7c5d039747553";
+  sha512.doc = "a0087e5be69962c671e1972d9e7be12f76be64582182afe042693cbad92cf3fd027422c605dcf7860cd2e61f0b925860a50e94523b9ae2d1af7a8aa6d356c3a7";
 };
 "asymptote-faq-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "870699bd0f11ecd0e8802317a4a53821131f78e318786e0b91f5a20cdf6e30a34965e86c5e49ccd847437d05ce0ef3d85fa4f9146d9e9e42d6f6a3f5691e1d81";
-  sha512.doc = "7149c09b2271ab76bdcea2cd73b588c4d7deeeb75ec1623c620216bc567ab582a1b23596a24b31adbe82b0fab908ab4679f42d7f75cbda43d002affa0557694d";
+  sha512.run = "1efc7098392ac5cad5eeaa0dcf527bd158e3f7497ff1992603b833ff63d5cfa61fe5e7bc33c5cc0c441c13fc03dfe1e18a334411be6ad2f5acc94c902e9ccf2c";
+  sha512.doc = "b7dbcf256cffae9cc8f5027934946929b4be7a8794fb8364892802eeff4e7cf970ca8549ef442a35f173ada61533b51c2da301bf2ce931107a7ce0c564ce0c60";
 };
 "asymptote-manual-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "52e0b7154affa1a80affeed9d05ee738f3686412ecc76f7fe375fe4389cc4cb2fb872807995cd396a1613d38924ceb67205485300ca06660a461520463a213b7";
-  sha512.doc = "2cef7ee757860765447c3a4e17d1339bfc48f67957dfe46cbebc9228b37969076f87ed44b1893edd779a234b4848b74051f281d5c210770893481a12f5c5dd34";
+  sha512.run = "c04fc953a0a9035c238b9f80873d9fc605b23b322e898ae55b8eda7537f0172076e512022b163e3cd397ce2e4e721afa2e981454db53511c1a7347a017185df5";
+  sha512.doc = "0f82e25773a14b0f81b34354f16931834d0496b2c6636c498c6af686f46e7ff93a274739a1a4c189433c9df1ae91ca010f0887081c81f2ac9006a105c7fd4ac9";
 };
 "asypictureb" = {
   stripPrefix = 0;
-  sha512.run = "e7e4d9498c41f3f130c159c08ab0102038c86131ea20125a1e2351855308dd8f102916967675fad3cc4a02e6e78359f2fdb6f84cc1d4f3cf388e99b9eb8b5461";
-  sha512.doc = "0e2b44453afe7fb363af9149d728404204ace89634b2484b8820529344bff354b77a6eeb395c9889bf8f41c27463c71a35fe87e2dbbc6c73dc055833a3392fb4";
-  sha512.source = "9ac413dba29f8687553f1f4c1e5fab4a5174cc2d5c1b930ec121464d40d02bf1e00d223fc5e950ab14ed9fefb18889b7eaa641dbacf4d5eb64c7d97a25a890e6";
+  sha512.run = "a1ab37814223b13bf49d23c527543cb537e2224335e727e07e1f645a7f76a2f3ba1a275073c775463880b0e258e716b6b00d0df29ca944f1f22b3ac70aef4378";
+  sha512.doc = "68b060950fdad080061b8d2c1a91726d0eabee9aaebe322e983e0dab81df30c65d9d7d0cf32fb2847f504ede155f2c43f3ba8c00073fa425bddcfe7d47a6f000";
+  sha512.source = "883968dc538186507f4e81a466dd980b8a8a3ec088e25e7973c62e949871c79baeb909ef64815720004d503cad33d7f9de6c7ca0950cc0618ad2111e92870b73";
   hasRunfiles = true;
   version = "0.3";
 };
 "attachfile" = {
   stripPrefix = 0;
-  sha512.run = "d3822454303b56dea07b70d13ba0f6ee028b975702ae2fca1aa30cf4301c2aec63d04b4402abbb1cc8afe428abefd8962f6066909442a7a721adaef536f4178a";
-  sha512.doc = "978203a446919d6dfffc112255efbf622813f7fc31c29b1be4c43dbacf131da65d18fd319678dc1985b2409cd39beac9c19eb7d7d37a7c83e05f86bab93859bd";
-  sha512.source = "93c6490abe9dfbe2eaf47f6e4ecc75597ae438569eb1b46e0d2174349a647055a3e4327edeadcbac048c08ee477998da5618e21dc970301ffc51910cac8502ec";
+  sha512.run = "526a279f3fcb309cb117327f4206e7dce8c49d39b85a846799bdfea5bf453d2f00e14e854a74d544e49fa92ce056cd8ccc7e03f56856a8e8562b7105d5fd19fa";
+  sha512.doc = "9f9e6572e70d348e1db71254a0c6a80cfe76b767801a3c18ad4517577b793b5388367b24f311f491f0dde8df38684b3de4a2ec7e6db67f1fc1ca7b4a9ce5ce78";
+  sha512.source = "a4bf69ed370f495f190abaaed8616b4a3ca14184987c6c4882451ec4dd6961b827d3c38d8c049ebe73954f5fe205f727124e447d2e3cf17abe1d95336371b9a1";
   hasRunfiles = true;
   version = "1.9";
 };
 "aucklandthesis" = {
   stripPrefix = 0;
-  sha512.run = "8fc87d1d8051104f8b04120b21345f012c561be17fb55318e0f5271f1e733f90c47ff8bd9d3a9abfe2f1700ed7aaece80b56e3f6686d764dc0671baab558c379";
-  sha512.doc = "5cb21d7b1f6af55647aa18ee873956acabf3997ab42a8438bcc0ccdf4d750cd1ab5b1f649a9c352e8e8611c597b85d89a048e0673da9a060fda30d5760ced120";
+  sha512.run = "54c6708b343c2605d7779561fb086b914f1a7a825f5556b4a36faee0c8ad29b1c8ed67eaffae223c5e5d47bb6e6a9aaae4c0c658debb7bfd196d9362ae7b8796";
+  sha512.doc = "ae73abe45b0aecd033df666f3095486fb29252449e840e9a978cf916a2eeec4a126be8c3ec60379408bd6f7322c8794ba1fa3bd77e45f1723affa18ec109d93e";
   hasRunfiles = true;
 };
 "augie" = {
   stripPrefix = 0;
-  sha512.run = "e0730f825609cdaf710e1e690fa0e1d2f9d221eb613bbdc048e7a76ea53cf300f1a6c76132428cf703841d869161e9511e19260c81d0f8d16bff2192a58c3c28";
-  sha512.doc = "4f67effe73e1a3f808db40ac511c7eafbc571bc75071635cc2e4e5c438ff37529b79795aece4ebec85ef3a1033aeae50c8220f9c37e0f293fb96794b5df9ad9d";
+  sha512.run = "e8e40eb1e59b7bbd3e6b042e8c8ed40f604066fff6bffa3b46e0e7b7e5984fb25e880422d392209f6dcae6771339bb49a27bfcc7e9e33bd0b638b0794a5e5098";
+  sha512.doc = "40db247d40e98bba2c79e5adbd564b77e09b52c34e75a41bb1447e586f605478e4e7399a8d294b078fbbe508eafe5d0c6a68b7e3b7c875af85016f72c74376f0";
   hasRunfiles = true;
 };
 "auncial-new" = {
   stripPrefix = 0;
-  sha512.run = "fc20d541f0d72adec1faa1ebbbbb7e97daca725b1484b5e671194ed54edf01cb4641092e5e912e3a4c83a0ea4468c4439c468a3fc313d1327ed1200bc8cf38c4";
-  sha512.doc = "502f991b9ad1057b56f6b339418a3b4f24d859221b9487322ec9c32e81ee4d2179331e36a746aef5cad4d6e5d7ca24ebdcd9a1739d876d0ea946c21e1fe6c2ee";
-  sha512.source = "f43a8f249a0992edd328aa2d790dfb901d98feacb816e836d7babb7c4a6ce5a935a5835efd855f5c910ef0831eed84f725a12b63cc7b203d9d621caf2cadf467";
+  sha512.run = "e6132432d4398f3a9b8b04f331bf0852b662da84a96882758a8ce07e7f50a0ad5317b0d6a51cfa389f55fcb3b105e5aa748d249dc3e6c8b2d52647f6c900bb24";
+  sha512.doc = "2ab25dee888444432a2bd1eedeccbbcbeb5fa8008b15b0072e1537116d5c1f5f082818eddf31dc604f73ca1d4fb3bc6d3eb76c1ac712666ef1f86dd06bd19516";
+  sha512.source = "c5fc0ed2cbf1f4813925dcd2206d479ba4a0699d33872fa36e63b21616c595dbe289a005e1de8db2a7cad30d760161932b4fd0b75c477fc915fc1572f86b7b6f";
   hasRunfiles = true;
   version = "2.0";
 };
 "aurical" = {
   stripPrefix = 0;
-  sha512.run = "189e1cf6e3e020129190305c0001cc6c4c53905f35dd3d6700b7890d6e17f639b3e73201a19ca9a776bcfa9cbaca23b4317de93b15ca6d4b8c58387911cb3594";
-  sha512.doc = "d143b4c7aff62a1f937859ec1c2bf2695b620ae6630f5d6f79045dd9a8af031e053ed5999d5e7af2e621e07644e13b7e62177846685bb6c82169adb79e49972f";
+  sha512.run = "1c48c36d6121005c123018cfe1266783288572c0ce8a9ea4b9b47ac28f46206de61b7a73804121f9a57c056c871c547c97ff10a529fedaca57bcb3ab78f3bea0";
+  sha512.doc = "89de4991373a50d673f569e72f4727bd66a2b40b385006c3c7e4605812e7f8d3d346e3b08be55241f9926a58b40126d123d6ecea912d09db3973985d0cf9e90c";
   hasRunfiles = true;
   version = "1.5";
 };
 "aurl" = {
   stripPrefix = 0;
-  sha512.run = "72f8ec9390d5ef41ff638813af3918e5720efdd5304ea0cad671c50d583022f63b7b5d5e95333a8d956ede34cb1f2ded7f4823f5988b78b0e47614f14d2a38b8";
-  sha512.doc = "4a22e98fb56441a8c24bacd4272aa75c28f253bf0a95c7c2805747c74e90dbf4a9ffd00b118936af94485c8a8832e3eceb434f312b9fb064bd03ae08f3d6165a";
+  sha512.run = "4688987b83ae65e15a74cb7960dc990710930186ec94e376cc3a74dfec9f6d75a51babd99438ff87a5f6f8e05cee483b569fabe627ef00fb892126f74749649d";
+  sha512.doc = "a58f7cbbae262c7650bc5147b400f25f0c666effdcf37e565f665092d1cff820d2d98652947d36f6940b8d16027336b970ff88ecd9f3500d9a39a45eb4a19acf";
   hasRunfiles = true;
 };
 "authoraftertitle" = {
   stripPrefix = 0;
-  sha512.run = "ccb3ad94a19d5ae7dd8458301e64359009750ba4a2691160aef27cab0541e85be199ceb54ced34039b1a4fd9333e8ef31ba586e813793704e01a62d55297e57f";
-  sha512.doc = "c4c1e6b6d2e51b88554d77986e59633326d2c90912c2b898735fe4c7f9ff94ae2f07f48c73010d3298e0b50949719b9f7e53257e0fb4efb3b3fe4f8e7fa5f7e4";
+  sha512.run = "ad07262ef312a8807e4419101fd7cd10663926000f7f3c63d9d2a306c02f718982a8c525ffc2c34f04bdc12c5501976236079d2840e16acb9e8b1bcf9598a489";
+  sha512.doc = "54e7c6b96ecc37948e32ab1d057c6b3b242b68889fa07a049448d790b8310026014917977dfee6365bf6196dc661ca79bf963ae9891edd22c22c9f89a7d8d756";
   hasRunfiles = true;
   version = "0.9";
 };
 "authorarchive" = {
   stripPrefix = 0;
-  sha512.run = "115b855ebbc3c240b619b0f7c990614ebd6b41459572b987e0b61e960b09530bbe443018ee9301442230a1e3ff2cc7035fdf1916564f7e64814c7c6ad23dbc5f";
-  sha512.doc = "5456c2c482c9a93dc2b7324d7bbce4ba6dc82f6951f12cc0db5f286ccc40deb9546ab9bdc8c341d27232352636969bdfdd86b8c052b4a6180b383ef845b17943";
+  sha512.run = "9d5dca20f1293b3805c628e051067838c9b7f14d1faf34f39bca031c0be1641424ee8d2466401733bfafb56c4ca1a668e4b3630d991d9911f6acfcde4dd22a61";
+  sha512.doc = "070bbe6a8fae5ddcd6ad7743170fecbd9e1f0db1052fe05458689dd3c0f48c04b2afc579a22510b3ad0f26efe85c3b665386881eb0e2ad499a74ef422d6dcd45";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.1";
 };
 "authorindex" = {
-  sha512.run = "6670290d8b9633702ce0ff4ea2c8c55c7ab5060b0be2c0fe48f9c04479a8524849f21fcfe96a24dcbf49b462b00604d117aafab5fb90e88f24f84fc4ba25887f";
-  sha512.doc = "208e31260df7fd2a20e0ced195e9de1ca5571b81a98ec0c6e0b6608cf15838e31239aece57d458af7be80d2b97ba95a9fd49515ff76e64dca804d4bc44ecbcbe";
+  sha512.run = "75e35298e4839f3975824624c7367504a26dafdf4b8e1d5238e2575c821f652282cd9a6e58fb4296b2c0345ff104dbd2281135776718fe4d2ecb76110946ab9f";
+  sha512.doc = "a6c48d89cfd854d8acae47e318bc3951f8e81434d9a81901c8a7b7f1c25188afb013b94780ceb201e81b5d10efb7f5c24f5b5e4c8d8379aba390431707bc4d55";
   hasRunfiles = true;
 };
 "auto-pst-pdf" = {
   stripPrefix = 0;
-  sha512.run = "da060486e85d825df484121613e0ae6aff8c53a58146af1abb11b1edcc6a2c199e7e95e071e0652e8a692b1d6405bca8d0fcfa0c7f1b96f78e699aa9cfb3b5df";
-  sha512.doc = "ad66260eb6e2350831e297d9420dbed24c0b25bc95443246bdcbb62a29393fd8ca1ca612d1cbb16af8e57a7ca9a16d371561bd166fa4af3a9dea7d51f4990786";
-  sha512.source = "cfb0f1cf0e64e5433e11f2e8b2005ea2a58d7a5e0df185631935d4e4c7c4c2f0ac950088b5cfd2c52aec1b0da18edf2b20801042640b9db4f4dbe869a91e722d";
+  sha512.run = "383de50023906861e45b9d6330962e89513aac0448a06af36057d4266ac1657fc49f650dfc9d3709f5f50879e6912ea93246225651412e8c919fe3ce0eb77f58";
+  sha512.doc = "bb0682378d96bef60480b8155d1725b21c89c5be04ad1a6dc108da871d8e25001be0d696cbe806cd7e4d69a9005a54f71d601fd67e322f22dcb17d0dc6addfea";
+  sha512.source = "fa24b5a7daf996b05384537fe90a17204b299d5fd837cdafef3bb338e9a9c06b3eae369271ffe3d090cadfcbf4d4b3979ad17aef908aab374b5d1c0465952c1e";
   hasRunfiles = true;
   version = "0.6";
 };
 "auto-pst-pdf-lua" = {
   stripPrefix = 0;
-  sha512.run = "92eaa77d7129fbd45577cecbfe79fab738554e32a1edd03dc4dc14d2b417bd6e28070c2880e532f16999548bd98595e132c233cc52751b326847eb3a847ded17";
-  sha512.doc = "c228b110e40a07354732a383e6401b496013490ec0f52b0abf3896c39b0c14e0ea6650b5ce486e9f4d2f8f9a0039bc30863ee1f5dc599011630c8d01bd85af9e";
+  sha512.run = "db12bf66e8c4c16de2ecf3caff64deb38eb1c163baac66d0dded1f540d817da4bbb9309620b4ad60000f48319c2b8236ae8ac7a0774bf297d731a0258d4be3d3";
+  sha512.doc = "b21755948a9a272611d91622fe8e641f485e1ff4ebab4053331431e229b04796895ca9329e2b69921a9fe1f8624f7a635bbed7ab4699fc6aff819d351bce95b9";
   hasRunfiles = true;
   version = "0.03";
 };
 "autoaligne" = {
   stripPrefix = 0;
-  sha512.run = "61fe01151101a168640c46ed91d5ce749467cdecb0e88626958e5dcdde131113653a745d0f50522d9fc04e66050fcc555a204217a2822b1bdc9235bf356427ae";
-  sha512.doc = "3d1104f3e94fc657c6f7730ecd24c1a7f8be26c8629d08a6fe40d780526b90cded351042d85fe14ded78dd9eef99b20f48889efd6226a575d65bc929a110397d";
+  sha512.run = "10c1b6b8973bc451d38f1051715d7f6efe8acc7420b954aae657bae10254d6919fc7e3d605ebc90e525a7cfa56f082a966bad600c54e50070f1c3fae2bec38fd";
+  sha512.doc = "c0a1f2514d80e153b74efa94918c70cc16638d68c6b6e1ae4df8f765e13bc55218a1b7eed289f6dafba440ab7c5ef6cf1b6a728f8df161b21c9951894e83b949";
   hasRunfiles = true;
   version = "1.4";
 };
 "autoarea" = {
   stripPrefix = 0;
-  sha512.run = "4e6ed4df6075d92ccd9df1a2f33b26801c037bec3f4dba41c4e7833e74b678c0755317074b2e7d5a54771eccaf698aafcaad2be3b10be2fdd46351916ae8388d";
-  sha512.doc = "f848ebf6885374e4577448fcf71710683b086f044697597c13847902f7fca41db56312cd99060b7ce70e186c2f00b2adfbdb3ad53874b9dfd8e2fb613086e569";
+  sha512.run = "81a6e2d2c241056cdb5ca7e54b33b523aa3bebe08d83e3418080659d316720a6bdcbb63d82c337175e6f0591a81ea322289333c5b8f125360c5ed4ae99843c4d";
+  sha512.doc = "8b3cb3def1945ae63b7d29614b868d07c64fba6ef50e266f92e3f1de1aa536084f5af5ff095bd467ef83d33701f780dcaed8a7d1c60dc68dcb5323444158b3b3";
   hasRunfiles = true;
   version = "0.3a";
 };
 "autobreak" = {
   stripPrefix = 0;
-  sha512.run = "28ed1cb8666e429ced51c7e9b8c12521b8362a20e47f2b616369535bef51a793fa7ee7ab761cf5f14da7fea7fe4f5d5663bf866dfdfc0feff3c094b691831fea";
-  sha512.doc = "de493fe99bf70ee0f51b59a8f3ad6a26f24a4442fc4a5a33697bad1e8144c8f236b4ec5a3cdbd5d5c3bce4c7a7e107bf60951d53d8523510023239076b69c1aa";
-  sha512.source = "f3c2f9cd1d4c612e9ad5765e8c56f57a6f2d19a1d7aa9360a0d614ccc72ab2b03673b7ba7d42f1213bda23f2eee806d40f77fd7ef12516056095ac6f7bfcc976";
+  sha512.run = "91cc17692654270bba9536ea9186ffea2e7e9a6e9dbf0ffcd9821c8b3ec470ea3222af2a1df05d85e47d65fc1737cf2dbeba150641355bf826e5ad2da90db059";
+  sha512.doc = "0d06f75e6f4fb254463ee2a075d106c14a06c5f7fc25b5047fbeec0e48ca9faf6e136f098312811329db1da5f9fffb6dfd45abe6eea9ecf682f4fe99f0384178";
+  sha512.source = "7120382c7974acccf1a49548ad8e654b945ae2ecfb858b37ca871fb7b5b054d8554c971a86c511d03e2ffa91e5cbc6d61cc743da51b0a9de705f74c0b9c2c7c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "automata" = {
   stripPrefix = 0;
-  sha512.run = "877daa2071a2e87e620d10f15a4faf9ccb056de1a8cf160943d3c8f532946f4c32a1ebdbb77ae4b059f29b6ec7f7981f328bd97a6302d29d256c314dd17b70fb";
-  sha512.doc = "21fd4d78ea7e24f456b4a35da714ed05ac920a51f274c8a382cdaf41bbedd90918ab1abdccd8bb830c1b388a127886f8a49372bd4a5c45d9addcd74614e7243e";
+  sha512.run = "09026f967084d5f1804a32166e854ac410a768f6b4654d9ea9bb69dd29acb8a3199919daa1fd6dd48963ea5d6454b9b9d8263939e5af81a8f07f66f08b5f4835";
+  sha512.doc = "49c6515e979a87ce270d32b367c5800acffa4b638a8bed3e20f3e74387c2e7ee4ae0c2ea8b232e2ae57d0d0a730424d18911835581c0c274732f3d36f650693b";
   hasRunfiles = true;
   version = "0.3";
 };
 "autonum" = {
   stripPrefix = 0;
-  sha512.run = "db9056b150b3144bbf5308152daaf92c9f6526ff1fda1f2756752ea7fff22bc6370c5fcbde63f797fb855e8fd0d6215fb9fea64618a802552010b429772cb930";
-  sha512.doc = "6f159c3421e4deeb2d323652ba37c9994826d44c5267b9cf8ea799dc669962c6f43bc677d162bdae7e6f745533fad0b5a3579ae268f82c9a1dc67ab7eade7e82";
-  sha512.source = "b9e02ea802eaf54632d5591b565efca2a43f5d33fb0ddaa3f6dbc161118747cd37f9d3db3373a75922f7e560d9aab34b0aabfead126962e5e7cc4afb766625e1";
+  sha512.run = "3a663a53b4b4b53515978460dae1ac275cc4e3e6981b008c78b875e3e47af8abd950cb35f6e416ab02507e498bd75d6f4a775e2b429d668d02ebaa4bfdd03f25";
+  sha512.doc = "2d0c515fac8afb219aaa1ee270b30bac09bcc310afcad71ff6ad2a3448187733718c03c304c09a0d631595d36043dc3eb0b6849fce0e4c3bf7f5d249b15c99c2";
+  sha512.source = "5c20017e3008ea726979ca70272923d9c62a5c36367fdcdf9d62e141f4822201e2cd36a9b4c58a6591568669daca65d17cbb78e5382c01ad4d624da7074f4010";
   hasRunfiles = true;
   version = "0.3.11";
 };
 "autopdf" = {
   stripPrefix = 0;
-  sha512.run = "86c8f4f0db169aeaa209fceb4644eaa15e278af28693760484bd31b7e694192491bdf765b69e7e25757c6d50dfa585740af4491532858e0dd6e64209c2425567";
-  sha512.doc = "344598e8228e657a98cdf940eeadb8317514ece4559ad7f0350a8f8cbb314a007ddddcf7dff6f48e442db915aa65e5ebe912a3a39d66028d8182698a365efd0f";
-  sha512.source = "7bcd4c4b60933c1cff3f74339b0f33a13f08d9b2210bc0fa430e29ded978273d0015660b3617d1af983a2f43a469366e7da6ab12080ccddcdc19f1208b8c575c";
+  sha512.run = "f855fbe477986356d34360876a4a6613638255e234ad0210cb035a1f3a9b9b827ea140654e2001aa29ac09d7b8addf8f872d34bdb4d1700ead2f6e6f083cb2a6";
+  sha512.doc = "d2c2ecf193f03f4f568d2304128e50f5cb5964a6c0a2ca8b739c59b9d3e80637134b5ca91e1b5c1971db11eb54a086b3eb888b6984050dbffa22a166c6757e39";
+  sha512.source = "fdec2bf2079746f67f3ffb790eb2e10a7dc884fbf68b2c1a6ec9c67ad0ed411d9ff87baa89fc11dfbf9172bfcd81b411d8aa223c209def4fda6c91a4a9d32ed6";
   hasRunfiles = true;
   version = "1.1";
 };
 "autosp" = {
-  sha512.run = "8daa710ecb1056283be5fb419ef030ccb058d32462608a1a45c83eaf585ce2d8f6098fe2b34c229f68700d59f98922c22c104df54a9bf7533dcd825b4ff38a34";
-  sha512.doc = "05d8836a26870016860485e18e8e68618c8800731f93816b340e39f8900fddc16c9919c4868882c38fdd09ad6cec9fb8829a2f88fa928092a195c1f7dbb87bad";
+  sha512.run = "dbf678612287af08bf9262467033c6aa69f6114886b3e681715f91abe232466a87d32a571b3d5261c31a4f07c9999a63ad08649691a7620702b9994845f2a386";
+  sha512.doc = "354d5a8d1cc6ef32b821e84957c9e19b4567495cf5cec72bfd25df2bf6bbbde0c6abadb3034edb356ccc758f28beef0198e112f5dc48ab731c5f26fec3f4e671";
 };
 "avantgar" = {
   stripPrefix = 0;
-  sha512.run = "1db30cc96ea57f118fdbcd25a54e19d0294d86a48bb17c8527f6a2d9f3eab275e34368bf7e409b40758398bc657cd00357030e1fb806e89032c328c9b4714081";
+  sha512.run = "cf5f4701305bcfe2dcb2c92d43fbf2d0ab3b027b2c9b772926216094532e935cec234866f43135e7e050068679d0b1de5a11833696fd103ddae949458cd03044";
   hasRunfiles = true;
 };
 "avremu" = {
   stripPrefix = 0;
-  sha512.run = "eb3e8c67a051120379399cd3560fcf20e3277cea3dac00ba8fe2e8e9f52ef1f32fef793806caae9b6f77f3b86313e09dca402acc70ee61d28ede757a6c93d78e";
-  sha512.doc = "d5de3e6775d8075ed1270dc68e9d9b1f73860fd2f5730e72704de574e1b36824d0b5c1e9171d2f0d8cfcafa64931460e95ba218cfd4f89b46a1cfec0f6460069";
-  sha512.source = "e6f5e7f3c6edc7d457161812f259d1752071c3aee31b8a53ed75a32f447c187c3af8c4003e0c09eb54fee52a67b114796c6465ed35d81350bb8a05f1696a4c90";
+  sha512.run = "2541e80c0dd798675164cace381730c75268d5385883163b67230d49022f16c9ec72a77d602e8b5094db31b1d3aef2f0f71da91ed2f7eb7fe1039117f7488cf3";
+  sha512.doc = "12c97e23dc853a971b27258a7666753d019620e832a06b10a49a26f0f30d7c6fde83c0e328e1579b62376f2e9cd10b0b3950fd6c4ca89041a988fedd4c604acb";
+  sha512.source = "1d6a7f16cacd937490ae5e7416f43f4f9eafbf053f6e35d498a26b8d4092ffe79740a12d96503ee5636c4d1d8b3bd02653b4839b957cb91cca672914bbe98899";
   hasRunfiles = true;
   version = "0.1";
 };
 "awesomebox" = {
   stripPrefix = 0;
-  sha512.run = "82bac73da2aa9e8148dd1f7642beb1bcf6e13b87f6da6db987976d9235df4e011d288e7d817a1c4965a7b3525af620a3688c2a28f5e28a2fe6e8c7c558609e9c";
-  sha512.doc = "81bc0d67a3e8ccf3065f22294765027056511bde1827ecd6585182641d03be7a3ed31d8c164ecfd0542ae2f8876ce23e396c0c929062b8508c7132cf08a501fd";
-  hasRunfiles = true;
-  version = "0.4";
-};
-"axessibility" = {
-  stripPrefix = 0;
-  sha512.run = "f3cccfee54be612d9c6eb92c596bfd1275704436297801bf028dd1fd67b9a12d876bc7784f4df9cff5c6e087e6b2746a41291a1fb5f004c4f26798c7a8534eb4";
-  sha512.doc = "16ec80d98040334996a84ce47bdc6e8497430d041cb1218cf0b95c26e72e1a8211531cf53dec315773ea7ea6f2c9423fcc1d44ed0f4da869c4ea408bd5ee4489";
-  sha512.source = "98e276a855532257cc06e38cf489553d9e18f4a55798b171a02f078e1bd0e6d6069c311a86c731b7e3da8d6795fc37ab6c328d9a3d2c37524f330861bb9ac972";
+  sha512.run = "f8b841701beb248ecdc636756d954420b879028db1754319cf13a975313e7832e5393afc76f2edea579c6f38ba4a8fe779edcbf7f1442d7f179dbef9b1feb1ab";
+  sha512.doc = "cb0a6e98faf307cd718b4c7409f3aa75d30a781b1a299d32c781b3b6906d6a74399c7a04d41ea421a5cb3def06d963d8fc87d841ae199e7e86dc2f1360e4e48f";
   hasRunfiles = true;
-  version = "2.0";
+  version = "0.6";
 };
 "axodraw2" = {
-  sha512.run = "4a94d3af4625adcbd03989decc5a975b16b624a59fef729ab57a5438c00b7c183407bd67eb56f3c6021504d4f92fcd09373e8fa2c6f62d6a2cf631ac0e497b6e";
-  sha512.doc = "81c4ca83efa2d96bdd358f2fc569bbb65e7ebad041e10450f33d131bb2f306f4d4d1f9838c44c35f910cd07fd4b65077ef6a89f9af1332a8fdb7351e7ff2a673";
-  sha512.source = "7b81b12e0658ce39ed37e28bd69667051eb238706d817776ab3839c57c2ba8ed3d64fcaf750180a25fdafb54fa1044c610039f56dd3bb75471d9e81571bb8e57";
+  sha512.run = "085aa45989c7a452f64d3999e94806fa01120aef36e5a97d133f65e56eb0348aee3b75a871bd5ac460df47e4d77de3db930512a833da4ffda6722a314ff51f86";
+  sha512.doc = "b30b2fa595920e28c0b25ac69f4d91b724bc12059bc10450cb8f5d87cfedc19ac6d0f0177d5c97d42509c5db016202910a34de5c0c30cc9f148b5407ca9ad23c";
+  sha512.source = "0680c1e0bf7818b59c9ee9ad0eb25c41abbe82ecce334486dd2f960f1dd1f5edae2e509ffe0a29d66aba961c062ebd257ac9fd03fbc37289540c1bbc809e343e";
   hasRunfiles = true;
-  version = "2.1.1a";
+  version = "2.1.1b";
 };
 "b1encoding" = {
   stripPrefix = 0;
-  sha512.run = "351c3f5524a31a3a95fbb791cbd607c1a07c0940291c03cab56d1025f03129b6d16b1785f30e891389c2283d7f04f9824583029cd0e8ee71cd3b9f578e4b9858";
-  sha512.doc = "5ed0bcaf581cfebcf54f98081f926cce8aa477e72a656ef1e095498d81da348473cf620a809381e667b170cd1dc239c45ccd97114a29667b38b7d505eef18f4f";
-  sha512.source = "09bc915765f3b62a25e9cfc02a87f20b62680674792147bd3dfbbcb5df998bd9f179f95222c3fa35b7aa5e4779245e6acce9319b9892fc20d12fa6c364532527";
+  sha512.run = "b33280f64e37f300c92f9bad4372c13dd34e3dbe5fe47f2dc9fe0e270f33eaf5bedf9485293a74a6e0eb87b65f44fb66a286fb279a3d2c390c463e6aecfacb57";
+  sha512.doc = "4bfac8bf2a00dc61a007c10654cb7fe539c111170127934cd3a64ecea9ceed3fd04ac249cbd645d89400bef6f4a3527d1db04baa88eab88eceee2edd48e64393";
+  sha512.source = "7368dec012e7dd9fd948856aa0b901be48a5800dec417a1511510e184e7543ae9d76acf46a12ea956b1b27367b41309923ce5ed3bdb320399572f5dde737543c";
   hasRunfiles = true;
   version = "1.0";
 };
 "babel" = {
   stripPrefix = 0;
-  sha512.run = "58a8a4680cc9b81be00672b86a4738cce76cd8233018c05de00cba64fa6d9bbdca97eaffd36932a8954275b3d5db225a8b259c2dc245907fb478e599653578d2";
-  sha512.doc = "1a61d4d85dec5ba7abce49e5830cf40ab5aa5ba4d742c115bfea76321e50177de897d68d3fe9ebb532aa6d68edcb3f982501378f903fe143f7af7196004dc2d0";
-  sha512.source = "2c0179e176994c7e3e09b26e9b7e8a6bf1d2c5c7fd2f200674854c2917b7f41f68a99ea2891b81d49dcfdd53449e2c1888e8461386db1c3bd85d7911730d01ab";
+  sha512.run = "39ddba69866680f14de203c60d16809efe3900a9318d61a8b77ff75ddd20ea0ef3e058077a6e24edd72688bc92d8844ec681ffeed025ffd6d3815932e3c04709";
+  sha512.doc = "a5bc5e6f8fb3edd0e54ae0cd64223a06f9b5be7870c60b19851ba330e8066dc244560e95db509bc26a79f61a79355e4f89e635a98507f6ca47515ac718afbcc2";
+  sha512.source = "6bc89db2e3382b8a5e79936c7ea2fe5380db8442066afea4541e250ec2ddb0ca46283257652c1f6fac4eb0ad2e6c37ecae9236374c5d01c68cc0c2dd31809336";
   hasRunfiles = true;
-  version = "3.27";
+  version = "3.34";
 };
 "babel-albanian" = {
   stripPrefix = 0;
-  sha512.run = "4ded4b96f04ede479629ce0d00106f0e4a465192d05b00b02c0a2371ddfd498697bea3d5ded41e8293ee86b27d10227eb0619087b4b4fd7620b2f5fe25331364";
-  sha512.doc = "cda9366b09ff803ea627a3671572294ed9ea57e64d0601519e048e88bcf5fdc6e93fc1e8f348cd3e40464030023de80804993d085a91ca32c624bc0569a84b46";
-  sha512.source = "2c1eecf94db156b41dacee9778e6a1fa70a0c7a2daa8cf542d3a06361b17e9c30ac236e898949a2e1a28fe0a18aa7d267cfc423e3511fefd711d7c6ec8cbb4e3";
+  sha512.run = "55231eb303d7a2549d21e2d3bba9cb784e95cb99edc29a84212539ce04eb27261078437b8902419e85c69e2a8d7e6fba7abcb86e7b6448b4ab139de60cb77d87";
+  sha512.doc = "12afde1de6174c7aee0dcafa4c6df472c0096373a09726c5d4223d082b53b558185b3b48d1ab3204d03c4a89c5f5f2293136fae671c2f2913ea72109c3f58e19";
+  sha512.source = "95c1550b76ca8ecf4dea6495b644b550dc2feb45cc3d3c597c94236e6d3f86a3a42da7bcc7b77b4ee6597d167da33a571da16f5f7e35fd4666ea708a86c490ea";
   hasRunfiles = true;
   version = "1.0c";
 };
 "babel-azerbaijani" = {
   stripPrefix = 0;
-  sha512.run = "ff5d20bfaf8abe1548758de9df8010c245d3378c16fd122cf017e48e8743274041b30fa162c7ab25db41118771c933cc369ac64da5050f56cb66afacf1dc218f";
-  sha512.doc = "f2f4e56a31a221187d9518deec555d845f2ccfa209b56b97a0db26c08074a50cebe3b4e72827c0e086519e4faf8c2e25f29ec840353624be53da2d2e71743677";
-  sha512.source = "610ac48a2a8af1fd568edfab12d823796d969b5bffcd386f961faaa24ce5fba80adaca4753ca942eacdc043cc1faa32a60f2ef8b079e2c009c94ec6f0122394d";
+  sha512.run = "3f20954607195d4804b4bd90d7fe5baa209d5ffac6dfbe5f758306bb7c8aedd1c4c92675f5dce7f634e7ceb2b65e9c3ead0ebfef730bfe2dbd8c0ba17d3079b0";
+  sha512.doc = "bfd4434720b9676e253f69144aac9a07d6bd19e3a4418ae74269df70085391444ac46556928f131a14e85b87211fd76521b67a457e7319eedd3781a215efd962";
+  sha512.source = "b3eb9fdbc08643706a2dfa50daaf27a687c593900a972f89029aeebe08e2a1c4fbea08a848224b198ba447d3ad3a62459aeb9db2c00a0f3f039a16c863ebaf0d";
   hasRunfiles = true;
   version = "1.0a";
 };
 "babel-basque" = {
   stripPrefix = 0;
-  sha512.run = "6f37623cffc4e1428b1ed54336667e1520ae7340e325f72320e4ed81a95170fe90c97219e16158c3bbe396b245ae2389c5c39e4172dc18364238c4cdd5a59a97";
-  sha512.doc = "a4db9e3815c5b30a6f8db93ca272035f53c72d26d408b78c4c49f1a92038e992de081711ed75d5f6447a17ca19774e33441431da759752b0f45296f1978b84b4";
-  sha512.source = "2463bb86298d3470eef2a69b0c45919f818fe51db3700e3c688c96921280fc582c0683a24e875572d324354b67b2728233f57dd69eda14e1eddd1be03b144e6b";
+  sha512.run = "40079f02225f81c8838aee6179548f3fcb773fa8e031e07f30df761f298b9980e3a4357a8013bd7802c688a192cd9ef2102be1b6e8e1f3efcd68769a9e5a5a2a";
+  sha512.doc = "e6342328d62cb0232d38e10b3b38cd4d75c55a5d31d702c167099a2bd4122e40c5e3cac8a9c2940a9f9893d7aa2594b8322cf469924b97e903cab970dee81c6c";
+  sha512.source = "1c924232920a969fa48e6d61bcdfc5150cd1afcef6d98cdd27fbe2e0acb5b7749d2b2dea77db88125128b380f2b4ccca4d49d1d140f2e96880e0daf2d09c2d50";
   hasRunfiles = true;
   version = "1.0f";
 };
 "babel-belarusian" = {
   stripPrefix = 0;
-  sha512.run = "4c1d9ecd076399b23dd55f7ab3043f909e1e53b816a58902bebaf9fe8cab1af3ed3143ea1f401e64a8b7b66085302eaf52d759b5f0204829c3d12d2f1b4700c8";
-  sha512.doc = "f0166f30a8eaf1c7f04f4c234d24c2754865c75895be7227ce28536852b7917a62acdf7d52de5b3ff565e603c175c3a616bb89136bc812c3d47b0d782af12af7";
-  sha512.source = "39ae46b820fa0183ec755f97fd85a49a29f24f852c64f0e9ea5b8d375bfbd69ab0e3b3b693898ff2a7d6d80d998a82d09c71760a6aeacf0a406697a764fd8f7e";
+  sha512.run = "5856582f8bf6a98a4fbd560bfca82ccb226267e249f0caf8afc775875d50ec204ea613320534a63062dffd0e050905adb24763a95fec2ef4e8faed70a400d976";
+  sha512.doc = "247d5a3b99cd5a377534a94fedf47f6710d32d875d3208b1516fdc9acafee70a14ef1dc37600f9da53f806323d0519ebb2c4e288e471363756b7b819751373c8";
+  sha512.source = "82262f7775c22a908161a7a2d65caa8662c62ad759db792a6718dba043804b7aac523a8f3eab2dbdc3882a88c55bb641b862f3f19e9c4d3ba1a0f4298db9833e";
   hasRunfiles = true;
   version = "1.5";
 };
 "babel-bosnian" = {
   stripPrefix = 0;
-  sha512.run = "4b0e663a3a1fb99e58730a1d4b4b2a1ab6194eef4004faf8a15a44232079705bfa8d4dad624a0b1daff602fc4d84bc4531910cc506d35d49be6ccdd52a976f48";
-  sha512.doc = "57ee6ed2169c6f981b9dd8173fca92e23ccc6631bb8a960f7eef0a9f4a0a6b839deafe211ce80cd1769046b0dfff4aa50491a49d42f40aa2bf9154ac8fbf51a7";
-  sha512.source = "b045fd77dbc51f60ebd5aea7a8967fcc7786b272fca7c5388af57e956d72d63ca90d6e01a58f531ab15a967a76d277941c65606bc824c6b49df5eaf4bb078bc6";
+  sha512.run = "bef1defaacf5232bf9cce6c1a9956c9a42d35a2c2b6ddccbcca3938386f4f4a61a0cbcba74b930dfad18ed211374c3667120c6706ebf097c56ec3c5915ccdff2";
+  sha512.doc = "84238e6b38021582de93e9fe934bf608e647c9b4cc0a066b4fbdd2ba98c8e6531b653907f9bcfb79e6afc9074b4a079b5e419db25625d40a76a8ca8e55e81ab1";
+  sha512.source = "dfc18e55b30620e27cb8809259a6b4790b94cb98b334a69cd48f66c25696e2df8d38dc5a1d402ae8464ced727752d96d8b5abf18522c8bbde4ce1f6f8ad73c92";
   hasRunfiles = true;
   version = "1.1";
 };
 "babel-breton" = {
   stripPrefix = 0;
-  sha512.run = "9419235cc96d61d613bf5381648fa87cec48da62fd430a0ecad2ebd729720e6e08ed70a8c44069904e4596e0b7e11dab11f70c0f0e3a0fe13b2411f56404fdbb";
-  sha512.doc = "b1fa42f226e1f7dd6ea57de3f27652f48dc75a6764be79231a9003e9adcc90b6418d948fb421c8f68d14aa27ff0826ad9a0993df23d13a8dcd49b90c6d1a5792";
-  sha512.source = "3f33649e926a66557e6a790a2f05383bea7a7da78492a0d1d55fa46780e3112b663017bd75c261cb1d3727b8b5ad1ffe57d1a4a534531bd16b93d7e28cb3bdba";
+  sha512.run = "bbcfa22674ca1d4a8e23f179480f9e94a50d5b460b8b0d27365c9166adc02a191253ef2d61d6f5eaf5bc61e73faf5d307378898f1d6b1b748448bbd8a36ea141";
+  sha512.doc = "3b47653b26901dd4aba1395c61c9dc01d43ed490c70ca04ba7d1cc67ba7b23b658db32b7a5fef085b236a68bcd009dc5cc5687e3dc2dc8d246ab2ccb8d391b42";
+  sha512.source = "8f381a3955780617f9738b008e6f4490632a67c70f16d4855f15ca59981dadaf72f7f15cebe10a121bcbb894006c738ca1872fbe33bb256c8145b22254236b67";
   hasRunfiles = true;
   version = "1.0h";
 };
 "babel-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "e810c0d8d78a5ca01fc7a1435dda1457673f1a70f5cfe1ae8da509ca3e126edbab7b0710236ba9e0b1816efcd970973e4bfc48b66c5dc130dab0284bd2ea561f";
-  sha512.doc = "e3b61430ebb0b16836e60cb394cd031a7b33fcf527d2daff4eb176702f33879bdd982e9764ad4b02184034db03cd4554b73e65f8e49c07af643870393c0085b4";
-  sha512.source = "2840b9310a55b7ec0304441a969c8d0529bb86be5c002c87ca7a51c338febf44af0970d8c8260c8c6d8c80b4653c68f40fb7084c68e8800f751acd8eea58b552";
+  sha512.run = "0c838e5c5cd010fddaec385376f9eb5fb10730e918dd28f58987f855a444d91ed2e66c0de46c74637d134d72f7e348e538836df33f6255a14ed51d0e8d5e8a3e";
+  sha512.doc = "4dcd92a2088e737972f0663fe5161883cae901dc82aafd1bd33f2d80a852fb51d6229c95cc655826bd17599a7152b8a7bf0031eb046530a135e8bc5c9c74b2dd";
+  sha512.source = "047f69cbdedea9070a002782e8d1b893aae71adaa2e637df560ab8a176308faf8d1b8b52afda8f38f264783077a227176eacace9484ccc0af2a4a7615460c7a2";
   hasRunfiles = true;
   version = "1.2g";
 };
 "babel-catalan" = {
   stripPrefix = 0;
-  sha512.run = "eeb0375046728448801a64f4e1145c6acecc4ced63b95c5a8e058de1b07d19dd62f93ee9e0150e19f28f2130a699402e127293e1ac08db966cde609a0fef3511";
-  sha512.doc = "ee4ab0ffe913c9e3f502ade176cdb9206953d60c3a65f13ed74eceb84e560d4c1aeeb463f78dfcb023a8c9847d868aa5155602892d6738233af9690fcd93d294";
-  sha512.source = "3ff53b950ec8014adf75eaf27bacf1ec72a7f8b9865b53f11c00e48390cc4f7ff7a04eb56d216fdcf23b281394c43d893fa5ea3d4b988d8d24840a4ac9a4808c";
+  sha512.run = "728d847331f1a00766cfc2818691516234b153182f31ad2da024ec3194cc384a41ca89cc67ce66447191188dfe088d1dc4c8af3b2e6952931ec7eb58737c4bca";
+  sha512.doc = "3184373d85b1e9bd76588318372ced328d2ce7f6d4f45bc5634671a88314d1ed18cedd968e59dd5203b4d77e6d3576f36a654b1a8bbdaa106d47cbdfb825e452";
+  sha512.source = "ef15d0aca46af936141fa2d47c6b794ce85f2c3fc9adf18b5ca4b0267292f24d1c02121d5189f7cc9db98e0ab22a5d4ec2febc32b2bec5c3c5923598e869878c";
   hasRunfiles = true;
   version = "2.2p";
 };
 "babel-croatian" = {
   stripPrefix = 0;
-  sha512.run = "8dcfb71004aa592f1d8f57e7fa815c450420ca4f7a8e3edc4210843c5ef00d12d99f0a305ce88ffc490bbac5c744abea36f2470b90fa7e4bd1e676b344e71f17";
-  sha512.doc = "38d1e17d89ce29a21f1feeed4a4d40db6e167e185e09a5dc40af657013ace9f9076ec4313d25877435b1460fc868a5d53db5ced4012e54cb088be4cb8b6e5a2b";
-  sha512.source = "d34e7f021ffdd5390d9d77217a8112b2cad811e4de719708cc2bae0e1586e3392ca5ed055ca0ed96cc362f4cb5d8522a18c0b1939c798e9d036c2e817c6a96f1";
+  sha512.run = "b5724a84cd180e9de79136ced8bd38717dcb4e932dbba4e20fc071ba9f50fb35cebe83d4a95ec6e8ef0e09a02732cbdc8b1a71715c8a5967393f54087ba4a807";
+  sha512.doc = "d5e40e95037c3035589b093037c563b3737e061369f27ff5c51d620e0655dd075f413b91434591e2130849d641c1ac59469db46be1d8b0761075424c468668d2";
+  sha512.source = "fdd4efb6d24bc9560e14f9e02d231ac636f2f69249d7dea9c07b337f0d5617c754bbc9087bda5cf1f2da6178807e46f015658b3fc2d04ddd5749dc2643ef4ed0";
   hasRunfiles = true;
   version = "1.3l";
 };
 "babel-czech" = {
   stripPrefix = 0;
-  sha512.run = "35ade1c7e7b5b9cec4b641a35d90530abc471a25f2d4846f2833b7ffcef0e1a52337743053a9c9dbec471eaa60f2417ac55a58cbf48f6c5ed7615f373fd25512";
-  sha512.doc = "d42389fc54574af7840fd294e9491a4a52e7252203b1adf151743ba8f9bc5331a4572b9f3babd2d5a626ecfacc25560fc664870379db3842358d34d4cbb5bc60";
-  sha512.source = "b2219aa3654d29cade260cad2ee484db2882c58c2021150b477a64770ee2c710467c49f1ee26e335be921bb13c49350bd8bb1c97c647d1031bea89cb8d5c988c";
+  sha512.run = "0cc0f07fafefa6d7ea1ae1b2ce143dbec124fe96b36221f1b5a847fd0b789d1974b5990ebd93b8ac0607f63956948bede25c7e690784ca7e9638f48139585a32";
+  sha512.doc = "1575fbe0d70725e975cdb0c1c5ca685985d91f23e4a997af4a0db21905ac34962f69653ffe4084065bda70cfbba0f0a1f0885d3afc19e98d0045ebb68cb545c3";
+  sha512.source = "1cbc5de700e32ac2600a50a85f6437b7bada601734753a8ea62b845f7500880195625e827be41e277d76137ca3dac05b230e64e0edcf1807cae2079feceff8a0";
   hasRunfiles = true;
   version = "3.1a";
 };
 "babel-danish" = {
   stripPrefix = 0;
-  sha512.run = "ffc3e2b30b996813dd5696b592ca8f9da50c9e49b18a60bbbfa8727953deb1889aabb7144987a1f6dcbe15835a27e15fb5b483dc99b75122cade7b04ff0d9701";
-  sha512.doc = "5feef03dc39706498e272396722b4413354133b07a5250a38ac097e414a36d2f34b648a49d989269c6a3a031724f45928a03dd8b42bbd55db4cfdb068e3bc75a";
-  sha512.source = "ac4461a91783a0d1aca6f8bf2b27f8d8372edc55174ed37f524c0a661e70cc5a6f5de6ff433765d594f7ebcd3097f728d22dbf102cde2db2d6fa57e4222b5f08";
+  sha512.run = "03bc05d7e6d59ffbb6191cc392294007bf4f1b6f758aceeedb8dddfe9aefadde3e7904d7aa0834ecdf6dbae732057ed0523b24ca20dfa594e02ee8857c94cd3a";
+  sha512.doc = "b85445b348bd65abb4c7df530e20b93c5cc86f2ce25f0306aef3d32b585ce8ad8d5b16007bede46be535ac0737546f453c1241a225b31a9216ae25482360b2cf";
+  sha512.source = "0556cb121d06313ea2c1f84a98ea89e75d8bc0fe2a8dcbee98deff446ddf187833af6ee2634483f25a721142078ea889bf065996171617cc95ce28a8a5083b81";
   hasRunfiles = true;
   version = "1.3r";
 };
 "babel-dutch" = {
   stripPrefix = 0;
-  sha512.run = "11e12e540cc54721ceb01cddd29bff5b1241c5d7b686b738471e7516f016b0911ae58f43200e0cb69a9efe8b7e82d6f5869838b4f1d7e55ef29a8ecd8a157c38";
-  sha512.doc = "4d9e1358239587c5f08f48957a7900d2f47f0d705ced6a7dad9d1547fc75e304fdf4431228d3c411ef6b83f8921b1037bf8885312d684cb9472a17c772b445f2";
-  sha512.source = "146d27ad2f651ea9f89c464e82a07c8caaed7a2a6cbfd64305bbaa2dd0af439f2ea04e2cc5cf931d7d8e96891306a709822a35545b4f155cb6db979d8510ea62";
+  sha512.run = "3f967688c9124502243589b666e1e3af500329782cdad8da5225eb3fe6a50262c2287be02d6d6ec04f3ce81a6767b4d2821179cbf04dcea4c20001e8ea1a9f5c";
+  sha512.doc = "5591a30a32ac2900266d4dd642481a5c9e7bac1062fcf5557ad4acf93cad0e36020c75e081b63680c0c96ff580a2156fded920e394a9c5c685cbb152e8d4142f";
+  sha512.source = "98c412d7a2a776286fb3f78faa49da6dedab2d3ec80b5f722a20eb34fec53768ba4000debc952df3241661f1f86b7035d7e71f712be3fff91f13608dd0fcf87c";
   hasRunfiles = true;
   version = "3.8i";
 };
 "babel-english" = {
   stripPrefix = 0;
-  sha512.run = "4f1109e6a4b7733e67081e17540495e96d34204e90c9c8ae250e380bcb92509d551418abebdb315f2650776f024d1e2553e7f56d39e5a02eca1bc90a92dd7cc9";
-  sha512.doc = "2e2e89cfb258b47e04fc821d352543b53af526194a05b010a3b20775b8054772412f89bc1dc05f24ef73153a3edff97a1c6c0d329cdce1f8ccf0a9c1e9966d2d";
-  sha512.source = "898dec50b72091756a130dce305b512e8660a31fd22839e7a1f12ba4ed24fbac833b3f7ba11c6771ada3ec14229152a9d61ac8e398d86fd3b5eb6a9c6a0f7858";
+  sha512.run = "f570d2aae8a97ba0762fc1eab75dad1f17c4ac582a351ffeb8e56a136b789a38b7a6519247ba5981385f1a093101542942b3bd073a5097336392929ed40c9e39";
+  sha512.doc = "77d6b482407ff24095b1076673316744374e66bdbdd7ebb767ec66ccdccd6ed5bb27ecfd0796eee210f1a888c82ad2eb4b9d2142c427bff137bd139c4cc53ec3";
+  sha512.source = "ce636f5cca9aa33ad7414432fcc46fbf1873c4b1576cae8c04b8cf15381f4b6ea54e0621f297114f302ae172752282daedc0b59c15393e1071f8542ad3baf628";
   hasRunfiles = true;
   version = "3.3r";
 };
 "babel-esperanto" = {
   stripPrefix = 0;
-  sha512.run = "3b72c7f74574b44ada229656f5e04ec367c57c863919e4e6dc9e0fa8c94683f8d7cb12da02441c0ad7fca55129299e5096654e2418b67493694355ad6b049c4b";
-  sha512.doc = "1a5e7129af0ec7f0e93dd5cd8e0e6553f61dfc16b9dccc1b5d78ef9b5d13d4c5e4586264c90b8af8f95ab870d33fd7c1e60edce882c0d3093e273d64dba74510";
-  sha512.source = "d8ed70e4d50ad4ca362177b2a5b4e096a032f4734e52de26670b03be179d4f59167571d8c02bc0d9f32652a2b65c3d46c715fcc933bc0a8bede67584ee39bc66";
+  sha512.run = "0c3be27d02d4c3157f2b0df0950e0814db3ffbdb2553d2c0f176893f3669123a9130874e93edcfd86480b785bbbfda35f9246dac3b4a0779da51387b0bf12ee8";
+  sha512.doc = "166c1b59511b5a01cac11b5cd76c84cfa485c2674b390a167ff165bec1326709437ee843f664fd4ac9e61338481df9e7f3026189f7c29c71778dbd1df98cd35f";
+  sha512.source = "f2fcef5841400c521415c870ae1641549eb702944ebd404b96ff9d5b52ee9c2d484662a50d9b410f62e74580f37fdbd269b3650cee0572b3096e4b0365787d4b";
   hasRunfiles = true;
   version = "1.4t";
 };
 "babel-estonian" = {
   stripPrefix = 0;
-  sha512.run = "e6419c5acb041e34315039deb0ef779de2bdc5b8cdc30bf12cebf79e12d7f6fc1a9b8a2dd3bf06be45ee93a3e7a155887f5eb866559e34fe2bdd612a4fa36ea6";
-  sha512.doc = "8ff726d46dfa3e7c3c94279835667afbf62163399d241737b505538fa41c2319c2913422b013909f0ab2aac8cb269e67520e27bf88dab2070c63e72ffbf6b4da";
-  sha512.source = "2b49c613f1e277660f1ea6ccc3bdee6c62adff3c72c4254ed2a7c59cc95e7370c0643d729132995ff4281da64890ff9c7a05d995d547b0d7ee1bcddc896cb245";
+  sha512.run = "03357f8b0c101e5e186fa4211a971e625f6970a3129a2594a611c74b77b36a27a288d2da518d21e6e2e5d98bb82802b2115d47e31e6258f01c003be854090baf";
+  sha512.doc = "ca732f4b6ccb9ae27f99aaabc99037d9f3d04bc170b9a8bb189a81b6bc9f55fd757c5755bf51ff423850f6b45c88a5645f75a462fc9d9e9b989fa04c1a2cc7c1";
+  sha512.source = "47e8d53d379ec383400e618873d800bbb6dcd8eea7807e31173110d5d7492f52cd4808a288e53534a2de578c43a5ee4eceef690bfcd56cc11e863919f86ee8af";
   hasRunfiles = true;
   version = "1.1a";
 };
 "babel-finnish" = {
   stripPrefix = 0;
-  sha512.run = "55f299adf7ee977d6f4a466ed85cea62e306ff11f61803a60f0c0dbbf11ed50b8b7548daaa011907653f9bbbfe23b7ec786daa51c5f017130953ebdd5b4bd7e6";
-  sha512.doc = "b2a60174362cbac3ac542a4786c266396f837f030fede09f8c13a10b6b1655380e4d396759e4a1e4cc4cfd0fdf0dddec8433f1cbd2c3c350c5c9a00e26ebf851";
-  sha512.source = "f19a6c6ca491a53ac8fa599e651818add0cc97721f2b37b7919d272878eadbfc7a560e05d4d0a060187ef89eb1fbc786f217859f8b11dfc9dad1d777cdc709ea";
+  sha512.run = "b39de5e94debff30a9f3a0b0b1d27cdc75e7479ad3f37ba73769226e9e2b1883bf272c3dc87044f6c2b97c80a7c049aee64458a78c289f01470ee4a6ecec0d59";
+  sha512.doc = "52fca9282d4070cc451eff247b0743b576dc7ef2553952863aeaf04c01f876d72e0062857690b1d62f1e3ed17918b64b125b96df82f2fc05ae695dcb4788146a";
+  sha512.source = "c8b07de49127f766659f5842d211cef3830ea3f92d8703fd482c713993f924ed0171864f055ae526bed407059733295fe9741646228cece4516bdf49ad4622d7";
   hasRunfiles = true;
   version = "1.3q";
 };
 "babel-french" = {
   stripPrefix = 0;
-  sha512.run = "36c3f2f9a3cd6b23b72902c7d36c76a420835ebbed6b1444f2b4487e37b2f80baeb571a8ab1b0f4bddde301ee240f4779e24d2392de050edcf31e583833632e7";
-  sha512.doc = "959f2e437b55be50505a5d79707c75881bead987dc888e2753dbec00f5dfcb32d3e6b18df5e4f0c623f630d81f0eeaf82b9d43d9f05e2560df5ff343cec65975";
-  sha512.source = "238b07920c3ed0b8632a381196321f0e42a20df292b364706f47b25487e14ee69171168ed59e8e60c57fe0815627985e6f6ddd391fa02365a18f070c7e963ef8";
+  sha512.run = "f8fbcf377cc0e66b0fad4f5b2123a8d3931ee3c0d46ed1d23435c00508fa26f4e24b29eeacacdee2c4468b412346a48fd5684fb2e9a8d1b90cd451f2ec6cc8be";
+  sha512.doc = "69f19350e4929d5acf87be0241776612ed784f5493ece6dbd701ff1ebadc2208c11353ee773c38592e084b6f1e709b3b39c3c53fbaed737581eb27d553e174d9";
+  sha512.source = "544cc799881b56a6623eb64e0856d6f5b9d1a005fe6add8ce7752924616539b1045595c079b80e3b3b3f19bbdef726420f765f51511354fc61098d2c3fc8d63d";
   hasRunfiles = true;
-  version = "3.5d";
+  version = "3.5f";
 };
 "babel-friulan" = {
   stripPrefix = 0;
-  sha512.run = "8109dc48800410f612f7cb8db586c1b7167a88aa0b97c53b310a6e7df240cc0ad2b4af1ec17901fbba51ba63326ba67e3bb055661079098ac0d920e3b5e58243";
-  sha512.doc = "36a4f276b4853aad705bc7d4d91e4f83758d865a33a07f791dd4c92aa69ed7b6968a2a6c567a0005a0b2a852142aaddc8770a197af50b51ec6251ad1abe47d71";
-  sha512.source = "9e2d1e1faaf451fae88bdd2fce6aa5157e54589b2c99d107e949d5b0a76d748e01bb337a1f8602034ddf73b0775f1ee31a94669bfef791580770e1c125eb404a";
+  sha512.run = "e6210dc473c3d71759f2faf1558df2d6a7c646485d85cf0113074fb68eaef23b2e44eb88c9fd35a7a7929b408d6574f7230852643366bccd29afee744e0b2d07";
+  sha512.doc = "0ce539cb0b6cc7af830c7413545f411e1291491fb26ad0451e7caf1346da9ab188a457e3292efe9724070e77f67e46e06293dbfb40b78a1328112b04d4a1fd77";
+  sha512.source = "1e7e241350d499bd0bf28b1c190b3c73e20d02be12612905305ad53cead422e8ea1b6b0dd633190170d7ab2ac2802559693597a8c6ae8527a7fe83af7cc61463";
   hasRunfiles = true;
   version = "1.3";
 };
 "babel-galician" = {
   stripPrefix = 0;
-  sha512.run = "6450ed91db8f9adf40f20978f01e17b33b6e642f2bbdf35c26b32c73317da16f8fe799d4ecbe81b289cdcaca6bfd7e43a64b30e9242a08d93be06d886eadd840";
-  sha512.doc = "3281b0ba42dff840b167092d608682cff85009e76ada57213339e8e072fac0f748400df7d481d588716851a19d5716520c6c684b5744c83d8fe9b3043f411b13";
-  sha512.source = "7682082366f91a48c6860264a1b1f32df121b0cb3c21d5e7790ab383d0a5f5d451f8b76e1e90eaacd3748ad6565f3e05bd80882c11328802b431ed81144c301d";
+  sha512.run = "1c8aef52e0eaba8a55e6c0bdaca4ef47012012a85d38ed268207227063d042f2f0b2cbafa3d1e4d71432e3ea6effd2a781ab0aefc536276de36a95d0dc834b68";
+  sha512.doc = "a60ed8ffc43cb56aeafab8d09e8235eea9482ff8cdabc00da68938d980b20a7067da3286fa8ce19eddf9276b51e78dd944545cb8bb891bc13c31cffbab39544e";
+  sha512.source = "aef01bd2587b5a452874e67c52bb4adbd89c5203bbe9a338e85449831434cbcd58415afd3d31d6e315eb91dff955750753bdc9cd38e87e3aded5350a350df547";
   hasRunfiles = true;
   version = "4.3c";
 };
 "babel-georgian" = {
   stripPrefix = 0;
-  sha512.run = "74da8bb775637709180690a5582c8cd69a663e86ec7b8b29077de469b607ec9e1c9f76739527785b83054be79b7523cd5a63b1b144e3e708b81fe86d3dafe329";
-  sha512.doc = "20df6fc5e4c5557ed2f63072e93de750049d09473eae15061d287c0cc1937922037e41cba9138e91be4bf274b3e211fc493428ec655a02eebeb4f02765381134";
+  sha512.run = "07adf0a76fb15951db5dd01a0a1595aa9c8119d6e39e94eb36ac340932f763975abe284d738a52a1fa2a938a14f87fe7ede10758529c3f68c6d573dbccbcbc82";
+  sha512.doc = "b2f45e828e32fef5e4ac130230050f035ec69607c97562a835ef2157ccc6673d4ae452624d2d1aded3552eb71d85d971a7e35d9774ad7b6e4ca7a8e0a71e48c1";
   hasRunfiles = true;
   version = "2.2";
 };
 "babel-german" = {
   stripPrefix = 0;
-  sha512.run = "215e8b565360e3e4a64957c0fa586cbf22ccab473af9f1cff2d660e95d1a4a44bfb6977d4ba0997bec81bad793481a082efc90b927370cb8786f1ab9ecf84a07";
-  sha512.doc = "c4e3fdf8400a5d8a403eb669e8362afde50c433860ecd6abfe8d588aaf834bfce093019b40547a7f8518b825db991c5558ef2eed3d28fc55ca9dc93a1fb7f5db";
-  sha512.source = "a849514cf95ab9452a50a5481d26c8f03663d49a979c49470a80f75470a8f7b4c9845cfbe8636121b4274abf06bb3230840f162a825e3534d95afc6a37e4bcbd";
+  sha512.run = "2aa32e3cd0deb815a559e1722cb2ee423d605449af766a8b7c36c67a0e9081fa0402b88ef5c171186d353a8a57d0ae630fd7eedca1d795bd8130189bf05ab2f3";
+  sha512.doc = "fcee15f9b0123fd6c5cac11143f6ade9e770f4a3dab07e45bd5cebb30e020be58bb9e43cafee6b4dbc96f8037a84012f900eb33836f7e48607c5424ebfa61947";
+  sha512.source = "a1fc8b8134042079b7cf5d2497b7802397ab7fd43dc354a7bd9ef3c9a9cc3e2e6f84cdb193653d0147fcbe9a6859e9ddb2aff7f5e25093771c7ce76024eb0b7a";
   hasRunfiles = true;
   version = "2.11";
 };
 "babel-greek" = {
   stripPrefix = 0;
-  sha512.run = "4800e215a89eb2d015615844e97bb031ab02fa2c61d800f3250c56b4e9f1c52a37d53662e6b7fc97258bd7ce37927cc51e30df5de24d5e99b75f5235992fcfb5";
-  sha512.doc = "ee38a900a60e1c65ae5e5ae29d596bc78ad17221aeaec8aeeb09483b93dabed5264668132c9347ff33fcf2cf5ee6ef5d67f9bb8d0cc588abc8bd66f22858b53e";
-  sha512.source = "bb8b266ebaedbab8d4c4e11c5bb8b866d1abd2146ec48719e3df59ae132515c5af832d30c72ffd4223469dfafd3cea20a94faa95157098f289337e7d948004c7";
+  sha512.run = "4b4cb6cc75cd7ff896a2881402809b253e8720140ff80b0cfdb85f6cebd3cbe9b095d7fc277574525d3601f9aa3c1546940ecab65bb85ef216667b4e42e1aa46";
+  sha512.doc = "cae49d0afd7db0191581189d0613ca0fd1bf906e81232ea4b0ec1db9b90bdd7c724833ad4ba72ed193b62817dad41dc62e50d4873c60f5642e97ebfb20706be2";
+  sha512.source = "80f955015d5cd62ec84c694f61525ae3eda442a00fb9d41997c465c9c8df70ef50a103aa94ea3aba51f01f35f70b4ed15e1e02a3791386d1cf506dba390ea9a0";
   hasRunfiles = true;
-  version = "1.9g";
+  version = "1.9h";
 };
 "babel-hebrew" = {
   stripPrefix = 0;
-  sha512.run = "2f4222611aef260b688eb706300971006bf9024127923a074a05fdb9b8ae8606210bca5b89bcd7a5cf3baed1b057e407a05d54ca40713f2b6a56de03dbe94fa4";
-  sha512.doc = "97a940d28ac2922479efde5f5a0cd7ece655fd03cc440d65c8d995ecb685c04d04a2f8c5e20b95d0df9a81b7c165d42cef74542e26ed82496896d7d008d2f174";
-  sha512.source = "4b4ec20f8bea91d21ba3ec8af7023f16d1b48feae26e14b162b03ce04d8349af13b5ffd7c63496489613fd4c437acf9656bb99a1fef317923730445ccb55e214";
+  sha512.run = "4690fc4288ba1d2142fcda24153e741a539ddc4a52d3e502c1c349feb19609c7cef1427751af24b93df191f12d2b7cf2d11423052193df01d848987e66744dab";
+  sha512.doc = "cd4b52bb2d207cb2bcd327e2351bf30d18921c7c4f8a8fa79ce0bf8864d6f6a34e2272fd416828c772abb2df5612b4a78f73f54157b6d69b011c008495b93cd5";
+  sha512.source = "6d380ba803ecb1f6f268ebd2f80da0eca87c7f25d3374ba0a0432f9de6d39632613fb49e108ac9b7d97438b589dc71c37b47927b7387bad8809175355aeabbc6";
   hasRunfiles = true;
   version = "2.3h";
 };
 "babel-hungarian" = {
   stripPrefix = 0;
-  sha512.run = "8e00e5ff267f7a5b5ea217706fcfdc37564e61ae406a683e34b5dc23892f603492880b6b0c9da0a36412adff274a390140517cf10c9029ecef744a4c40dd2c4e";
-  sha512.doc = "4ecee1e6733e71ed370fffe8d5d29b6be71e3a860d4dd45bcebcf949e74ae408b87f9a376447b335c86b6e9e205a852b6f7fb60ca2cb008976aa563c175a7d14";
+  sha512.run = "5b05fe625155df3a958eaf44dc55190fff60ef356d40e681870ff27adbeaef1dd2b27402d9058d27dec665dbe9127d43a2e07ad02ef5a546c2e77479453678b2";
+  sha512.doc = "696cff23cc5e2c32034729385c251c8dbeb5f78d11c0f8a0515af480f7a9b5fc5fa6c07d216c5078d5f1c4e71cabe093f023f294dbebb6b203337da9423a438c";
   hasRunfiles = true;
   version = "1.5c";
 };
 "babel-icelandic" = {
   stripPrefix = 0;
-  sha512.run = "c4ab9db602c76e347c28f3a6f024b192ac6ba3b0dbb03ee358b604a1d44e421540abb6b4576c503b9de241d75f260c2d396b8488c6bbd13e6a57e7fcb7a7f203";
-  sha512.doc = "3b6eb5d0783fb7bc10bd12e17702b6d955f77b1fa2484510f898669eceea0272defaf4fb0f5eeef0d14340d0df20aa6b43fb408fefe14fbe9bffd25aa772459b";
-  sha512.source = "4359176f0586d24ee5691de7b259f4f81c253c1d7a09cafcb6e43110308010f6388feda6a37761732b5bc26278cf58d0651e42b86c693b75e9d6f34f4abc5095";
+  sha512.run = "46aca093e061948272d2a54ff9f95b94b101582f0ec9d795668983c37b518be3c3d76d2c8e6901126d3dd7342db003589bacce9a40cfd573263a953bbedbfc48";
+  sha512.doc = "bc859f01f52ad51da7df9d458e507b62eb69e40e1dc39362ff32ea8ee8890acce8ce49120fce967f321c9d674f4334c62c9bf2b3f8017288b724ecfe3943d667";
+  sha512.source = "cff6e1ef260bd61b6b098b449fc5dcfe5c708a36d9e5df679d21e5d84a62fbe298fd6581d9c6a79829df55809b2b12f6bdefe4367df05ac50830fa01d8c73dff";
   hasRunfiles = true;
-  version = "1.2b";
+  version = "1.3";
 };
 "babel-indonesian" = {
   stripPrefix = 0;
-  sha512.run = "a3d0851d42a3585e16371a7def25e19c73a34f9bbdd0d17b48b1bcdb3c9002ce18b9dfdb845f73dba3acf8cd9a247a2abbe650a69978e16d283bcb11ec676ad4";
-  sha512.doc = "17f638e88f76f6b9a409eba259eb05a8bb9505997f2012a381f1979da9bbf468f0e55280457b079fc72e19500a7f3eeae74b6e4a1639a7c94480de67ae7cbff6";
-  sha512.source = "5914a64b195f31b3d4bb61918813a06a62bb9c1a9c4a410ecb5d8869cf06a02c8e971cfbb51c43abeec10f54f0f51f21e2570b7029ce8d7e039c68bb96fba5cb";
+  sha512.run = "9e42cb144d53dc0a076afffdbcd2adb7bb55cbc58feb77916e02beebfd1833fa308a0c78d0c26e1d187386b60572381c881da083c73ac8fcc651e77af17e2093";
+  sha512.doc = "c4f86b646d67ce4b29e96771ea5657e352ee7633c344f24552a2fde4c387aea41f9694d77114a1454b106646d12d30b277fc9de589d3d4b666b00208978f5bb9";
+  sha512.source = "30a1b987fee18a002316bb51e3497d22696e83ed48cb4a6e40da2f82876cd2ffc5b4ab95a0c1cef8a62f3d0a610401bf6552d5080dad3a9d0c45d4fca53dfe7b";
   hasRunfiles = true;
   version = "1.0m";
 };
 "babel-interlingua" = {
   stripPrefix = 0;
-  sha512.run = "d0364273cc01871a76ea00818c719be0cbbe01c97192ff0c5628216931768ca8c637a8bf0cea45b8f8c44c11270436bae426d969806d3b2fe7b35b3000bb89c8";
-  sha512.doc = "8c8471463e7ecd7dc895589bd83ee53d27d08e662cce3b612c505df7192600bc898ce6ca5c79c3a5d6201824f6fcca72541f60591bb171c8b0f0e6f749d40d8a";
-  sha512.source = "cd34c1eed67ca6ba327216705b812db56b2f464019d83fd1ad06eebe1e0054189af93d52003f42f3f4bb3c7f6f5643b4cab67e207e211d7a4af8bff665e9063c";
+  sha512.run = "e562cdb5b7cc35d14f4696cd3b85c6578a4daaf7899bf684026e50ade2113ee2314405756dd5f6ab91b6faea4da59a3546e30a18ba77037eab581ae3c98b044d";
+  sha512.doc = "f2f86fcb4a132a9c1f5c65007c8f1662a8498a53f265cc778ad3ba33120a97317aac890c1ff72cc6b94727d215937352ae268cf51344053bec6e0ee5687d0f69";
+  sha512.source = "260b2b01ec451d2a37e00e83c79a09f359a3e4a7c34b1396892259442a3f9d2df683e74e6f14a5cbb9b797f8cdc24d0bfdc7f9c3dbe124eb901f43d393f5e1bf";
   hasRunfiles = true;
   version = "1.6";
 };
 "babel-irish" = {
   stripPrefix = 0;
-  sha512.run = "7b17aabb50c13d6739fad6966d5680df5631528b6deb81cfcfcde9b9cab53fb1319a9427d0754b3bea9f04d6f3c1c48cc4bf7147d3873ee5417f0b4ea5ed4a62";
-  sha512.doc = "971d8d7ffd3c4a821e9b7aa7a8c6429d9b6c1133149e74618b8f95cbfcdb930ef70c2c84680572d92b2c24072ebb85369a370b8a9e6029a1c71fcf52a0845703";
-  sha512.source = "27f24bdfb66b7d2b0c1da63b46f92160d070dba5cf65b7ba6fb3bb35b876074a51ffb78e8c9de1d69bdd385e023ae45aaed8d360dcf8c7010617a6b5f9803ec2";
+  sha512.run = "d9b1486da57f9685e136e14adc61773ec0b3a58ade370da8383476862ad798f26609329d445ee6dd0c6419c98342b720a6880939324d19f67e1528fe99ea3692";
+  sha512.doc = "f5dd55c6a527cf19eebe492271d1404be3c995cac004d41160522c6c71e4a4636c32547fd64b93beae41b60d8a48184ff9b498f82ca0453bc72b601de3d66cee";
+  sha512.source = "df023dd1a4b04e022f46f7202b616e6329b4673084876c1afaadd41faf4414e908411deda1ab909246ea7e1922c46b0a70b5e3e3fbc6c4855e060d47e45ca21e";
   hasRunfiles = true;
   version = "1.0h";
 };
 "babel-italian" = {
   stripPrefix = 0;
-  sha512.run = "dec4816f281b559971c47d638fc188898d6c66ef9aee1de91c42326246f6f27a941c1aa09cb65d0d3387ef8ae65d757f052642fea1a81414078a2a49b0d01b4b";
-  sha512.doc = "b3d9bf43fd93cb3beaee7130c19b87b79dd0cdbeb2602391e229cbbe37f65d5a7a3ecea93c1cccf9adb0449774243db90917709680f31810b2298a8196830a5d";
-  sha512.source = "dc51f817deb9557eb8ec76a0d44b132e4fb773d554a025802cf2a23e3248bdba636b27ce889272efbd15f7a8454d8ffdf87ac01a25fe001e6c0d815fc2d467ea";
+  sha512.run = "5950227b917860a1954b8050ce2949cf5decb0340abd1bad36464a73f84f0a0f86ca7f81c2c412b90a3d7b12a9355d383391bc2eae6ceaaee9328dc4b46252c3";
+  sha512.doc = "5be388f15aa9a2a84e9770f1be49c6b2cc1e0539d5ad9149ce02eb7154253292105d10f83ef291b30c079b0fd29aed53394ebb9270cb7326a0e94014aa0e9403";
+  sha512.source = "5256bf88ae2bd3160cc1b11a757e0541e0dc5be05e6a0033ab5b4471d75845265921a2771320f397f957ec4f77882577bb23bafa1b91eeca74af7ff9570b3857";
   hasRunfiles = true;
   version = "1.4.01";
 };
 "babel-japanese" = {
   stripPrefix = 0;
-  sha512.run = "363d8880f295bb9ab0b25b3df4958556b3532a7fc4f134aab4d218d92184a337f4908f6eb81f13a232ad350509bc2d74d9fee0b735c05cf141855902ddb38474";
-  sha512.doc = "8a73d794f125cd108dae5fe03fdfb1d4f039b4e65762475e1d74824d08d980aab0da0b8d1b7728b3465704e4ce9ad3eabe6d2b8a8b6bea4de80bbdb67be8ba6f";
-  sha512.source = "e854050ec65c00dec9b4e33fb076da77d18a72a3efdb510cfe284ec3e4fccc64acc9b816dd80cc535471093b9f245d8555a2d35b3a4989355daba510d1e9d274";
+  sha512.run = "eeab94dee49061fabb116702c1cdd0c6ff11eb61994c4bc20bc2147329411c42f5db7faae78141ca53380c308f8b310f592abbbc77d67654270b6b1d72ca5cca";
+  sha512.doc = "152a3c6d723dc8bcbc046275993b207103e12ab551216e87aa999c2c912acf2ba7e1bd54b0a1c8099940c62f564a268da04372ee559da7a7c56b6e0a32e29b4f";
+  sha512.source = "04bec4bd09f46c0c6e25a0f59ce2435a5d5fe222268616b02314ef091315e3bdb882381890fd304c07d5398e95e217aac46b47734fc9e6efbb32649c9f974cf2";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "babel-kurmanji" = {
   stripPrefix = 0;
-  sha512.run = "f0ac1b46c20e996f7f2bfd2c6db75c61da34d881c080bc03f28ff14b8a320abd173bfb40ec5c3fe6b343cc347c181def322ae8da43d7287e8cdd1d21af79d682";
-  sha512.doc = "d3719ebd7596dd00878811a3c804563ad7b69a919255dff545880fc0c76ff279e6d01635c7d5a4bd3afe70418d354e8484b9fa083ae7ac36445603ef103afb8d";
-  sha512.source = "2adb924ecd7234cd6a6bb39b953077a43d56059ef4bba6c3e09d233cd3080bdbc1f538419b29e79c2fa7540b50eeb38e53eea90fa7a0fa773c4b61fd6b8255d2";
+  sha512.run = "bbdd05e7106494f23892f3455ad224d3deb1881f5a73720e2c73e7401514fed324484416def64e2e8fd7c2416b521fb2d4527585d2302a220330925c296afecb";
+  sha512.doc = "c31f7efd7415f3439635b293c9aad2cfc2632352534e579c0f8d3e74443fb7aa88a95e19735a7b65137d81899ad9d2ad8bbdb28c5da2ff05a2be9dbad552b0f8";
+  sha512.source = "88f600cac9509695c36969ee2bb2041142dee729381a1ffa49489f32454e4c53b4d1795407436df9c31da040cc1d0c7e38077fc786e5cd6832ab9ccd14453d2c";
   hasRunfiles = true;
   version = "1.1";
 };
 "babel-latin" = {
   stripPrefix = 0;
-  sha512.run = "27cf66041a001c5cad4d0f22aab1d9b160530a479b8faddd18c7a6b10373e4a951a28e8e22381f973c148bb0e90d0b89ed5fe7a11def936c8cdc0af1ac5292e9";
-  sha512.doc = "a8b46a48375e88a7183448cfde8269af27ee4086d9fe93bd984731a6403938da989bba7d9651a4b38e4dfe6f8709dc8dbdcd2bc3d8fcf94c7a87d00f91895c59";
-  sha512.source = "07ad191b618447f79d22f8332d598a17cdabfe1dec5afaad9f1adbcf05b68e439d714afa286a167cc1009c1d191d298ce7c9af7bea7dc007e314381cd7dc61c1";
+  sha512.run = "56ede1f441e96e3f17c165de65a7703c8e8897c17ef775fef1e30e1d2382eee0738ba91c97717694edc7e932ee0dbbfd1600d16ff86d6bbea1ccd5cfcec82ed2";
+  sha512.doc = "6dc352b57346f0caaebc0832d12a9c1f13743e5cc39285b4d81edc23cd5f21692165040becf4ec12ca6d1acf6c19f1b2ab1da8d79e3e82ccc2dc865322bfaacb";
+  sha512.source = "9f04205ee8e5c18a0ec6e20fdd7ab0d89d4e1ea28d5c3ad819ca9d09358466215b4d0c2b18d77ba5cca604b3997814ce39b33fe7f438b5b554500b5f4edd783a";
   hasRunfiles = true;
   version = "3.5";
 };
 "babel-latvian" = {
   stripPrefix = 0;
-  sha512.run = "592b549373348ae56695c3d2494669795dcca1c0016526bd486f96b9e624afa51f9e82f3b0e0e5a77944fc3b8a3abcd6957149925c4cc50ec828893803dcb46b";
-  sha512.doc = "0a6e6bb4a063110b8863f167f258391d81d764b0ea7d408b5557f7568d79e12e0b71e5519b3ad73f2eded73a82f642cc3e8e3677fcc0f857f151988f2f12ab3b";
-  sha512.source = "99359c2b4089d17df7c1282b7fec504306eda1ee22a3750e9df5bdd67d8c1db7d0b49a9aaa1a1064115abc3848e7ed074ee7d0e4a55a7dfcced3a99be8e084e8";
+  sha512.run = "0e19f04d81195b77ae200946e5502fccfaedca5a6da8080a0e7351b684c7d1802a1d9d05794006561109dc8f9a0c04f45266e74068157caa9c470899cbec5230";
+  sha512.doc = "e7c4f93db73431708eb902af924672727a6dc6d1cc9d17ca92436cea51310a10538f32825c13144ac35ec8633fc146d1788492f9c6ecf7b11ed72893ab6393fb";
+  sha512.source = "ce0c59467b4cf94857bd0713283f46aa5c64987f5a4c68536566b98693b93e61ead42049a2ca323eab3b2b9842623f1318f2c27ab4a28d3e4660b8edffd988c0";
   hasRunfiles = true;
   version = "2.0b";
 };
 "babel-macedonian" = {
   stripPrefix = 0;
-  sha512.run = "d33f9c91235b0f973d4a6f3fbf82e4ddaff08a63f69f63d9bc8ecb4dfcd2bd72681d5080cf9697470dc36b2ac902d19fccb5bd701b624cc286b1cd142a6d3329";
-  sha512.doc = "edb2de12475191bcff0d968953b64f819932c1fdb7182c0a77ab2dedfa48ad737e576b7f44f37af639d2e139d51bdac0e882289e9a1c240d0e308ef05c6fe8ec";
-  sha512.source = "63d6dc24b48d9c7949bb7a5b7a5d9a1d7eeaff2a7cba88256a9ccadcea9aa9f2bb95abfaf22da0230965ecd43253efea8b4c5c72aebf068142b58306661f3a28";
+  sha512.run = "c061ca1ec358e4d8df05e0adadd5d87695cf3b9f86cab52eaa0e08b1f5b1fedb66febe32107e74c1926fa4d697b056d7d3f119db525b90ff7e7bde30fd015508";
+  sha512.doc = "7284141fbecedad06cfef78f50b4c13ebb3af76ced474c456a364c97943b51b9a233ecf6797e561ab0936ef7d082adc80daea0de4e961baab60e494bd72f7061";
+  sha512.source = "c5866f925540742391981848fb5a76908863fba8a7c77da97b6e6bc634a8425c2d39459f789749cd1ccc4e7888e6d0f5b40d3d9a0a76611f4b1ff2db80866c72";
   hasRunfiles = true;
 };
 "babel-malay" = {
   stripPrefix = 0;
-  sha512.run = "907df975685a6980ac9bd3546c122a6ad31911219cb2276941b0e181d1201300c3edcc15068e3d55bc88c2992f351cde40622bc107a2aee2b9bcaa1dec6e2488";
-  sha512.doc = "d6711e2df15dc2f9c1b99c785cbaf5e26b8fda3bccc7663cb68138627793cfdd6dfd419fa24fe7dde3d62dabbe453e271365ff51569c980f194a99ce573f68cd";
-  sha512.source = "223c9d51db759cc9d3da834f9111dd59acfa05426b7a3c7848b11c720e83605235da3d8c46c71530120e46dc6ade1181afbdc295d4806c4f4ba2e2fedb7ec8c2";
+  sha512.run = "6e2f95eb95a7ffe0b21789a65e74936139d92381867e507ce56bd8eb39b4061b177c10fed0a0226e9091b963370d3c001115473625910f03b699d5517350f2da";
+  sha512.doc = "b06395639e743571870dee10e029e4622c55683d7a9d728fff381bcabe4bf694511230795c79da4080299938acf66d03cc55fd45cb8426b484e19e0fb0f73b10";
+  sha512.source = "4e7e47a29802a7369f7bdcf29ac0fec13afd69f42c9b01060ffadb2cd8d1f1656f7f6ae8fe5ced67d9ce6438c26a07743a18bd38c561fbe8357e8ea3c685a5dc";
   hasRunfiles = true;
   version = "1.0m";
 };
 "babel-norsk" = {
   stripPrefix = 0;
-  sha512.run = "6fa9c9bba02e3bb235fe5660ce5682cdc02b7ae140700779ae63f80a1da2ad8da2da5e7877b4c05dd46baf2125eb710d1ed1b99009247f61b70df14080df0009";
-  sha512.doc = "714eb44d7010ccdc923083aec563e07e3f3f4e5b25bc5d38798b527d28d463ebcfccb945dbd3002351b287d7a0b50caa70c19654956ef906424cd9c3980f6d43";
-  sha512.source = "50d982f18c9b166cba16986d5bdfd101d5e44d456561a89078028676c478d78c4d94e9457ecca8d6ca19e4dd5590e7843a97a22537a38219599f235f36b20e08";
+  sha512.run = "a57f44910dea4a1b9fc94d2705e1627fd42ef21a35737067bbebf6c56f6e4e87031b40b41d68a4f90329aa38a468a87c8c91ca60e10af2d064f502ef9e60d3a0";
+  sha512.doc = "646d8bcb3bb4b864fc9cab92a1ae264801222cc70eeae8db63be8ace926cc62918031726da9e758ebb4bc19797eea498af10437066612ff7dc3ca3c99bab4749";
+  sha512.source = "4643e3a1f3612c9966da916949e51346c7cb595ee8a2b98d585ae12e51fbf2cf23e2817b5c21575d80feaeaf399d3e1f0db6fad4d228b2b5f9a25d51ac3a7941";
   hasRunfiles = true;
   version = "2.0i";
 };
 "babel-occitan" = {
   stripPrefix = 0;
-  sha512.run = "3284e9ac0588b94e03bb09fa8ac54f7498bd0cadccc21ab54e9e3eeeff8440f96ec4628119d0fa43b733e58ff6df92c196337eaeddb37108ee6cfc65ce3c59af";
-  sha512.doc = "05f3b1966b4f1b6f108a29039ab36e2141100f1ed17120d1730975a368f206259b6ff5abe12c41d01bd94123888c299b4ad5970b7c1b7fbb308a1f5aba9b7dba";
-  sha512.source = "b6a74bbd75ef2cb9b9afe56072ff14db2b8e039f7cfb8ae22fccf17bb3b646c639fbf8ac011b944b19f6752d1d1be75f9a833872c0e9a0533f425a4374561161";
+  sha512.run = "f1f2f26b5466d10e995d76f7003c202650e3976b82b431d2bae768a582bc0c5662fc120739c49fcfd1226da3595c8a6b2e8c952a491718c45e69770c09d542a9";
+  sha512.doc = "86433fa646eb6b2f7ee0ba54f1dafa73b81bd98012859c59408883cc76ec876720ef526cb2f526bd4a8385c0371f9bb01ae6d604661deabb4ec920172986adf0";
+  sha512.source = "95bd15481ed6d20f1b9b71fad9661e5a12e4f29cda61dc8910a1601fb0f97cb4797d5ecf8137c9465a623288dc05e58c84740ee5b663b1f30f1c984d4dde9b03";
   hasRunfiles = true;
   version = "0.2";
 };
 "babel-piedmontese" = {
   stripPrefix = 0;
-  sha512.run = "f10e33ebd7dc738d4b257fc3abd36cc1021a1fb2e6fd917081ec8ebd2beb0bae08a2e11227c8961cdb82337fe117fc355fe14019c0e9f710aaea247c5bad6d50";
-  sha512.doc = "547e02bee97c6c66a57038f6426228387fc97821ae52350126fb4f6091341500ce92a95220d64c7443af6b9e16f63da60390c0557870e6958f7ab51e52e09b56";
-  sha512.source = "64d4476157c3822f7400f8830a30e5652c23a8af158f5a73f10be5165b6dd269a0f22c54afbfdb550328d9142c2f0648388a7684e96a9659cfed757eb03d7ca4";
+  sha512.run = "72fe6338ef6f172a23790402a632881906689117e7227b6f2f2fb6129fca9a7d44c42ddd48e8286252f3b5fce9dc34439594882c1f80f33557ef5ef70afe4993";
+  sha512.doc = "a2fa0cc72a205fcc25c2baeb7717a573bf8f2db5438e49c9de8a90e8da37d4f267ff30f08f8bb79f08756f5d227acddba8c069c8a5c257adf95c3afac271927f";
+  sha512.source = "6020ade081108365e4b23d9b3c9ef789e95764748d06a647a071e8ad77c945593a680c7669c57e989e71104a8bdfbf857eec9599327560e4453e0a81b9d309e8";
   hasRunfiles = true;
   version = "1.0";
 };
 "babel-polish" = {
   stripPrefix = 0;
-  sha512.run = "059927f4b59c2f1e40585682bf5a75ce2c028c3f9a356579dbcfa03a7d44f17a91b7285255662e881d2c20de87c477289df9a95f10d5ddee5b71f8c28ce0d136";
-  sha512.doc = "8ae5208141bae6a5535780e9a8a885b6cb0a992e10e6f67393daf8a6a53e0094dffb80c0b03f75af286f780676d46324b0f69b7bbdf231f393fef0c56765f75f";
-  sha512.source = "050d0cb4cdaa9ae90c8c4fa08717d509953c36c03df29ee83ef48ec4ea64e3e2669caaa780c642f90cf1a5447275fd534f5e2d3679fae85c33b945582dda727d";
+  sha512.run = "cfd5f27f92e75883572adce926cbcfa9d9248367979c3b3411e6ca1c2d4bf441d2fa790dfff94f0f6001c68f354628334aa0a920ee68900398879c978cf962e4";
+  sha512.doc = "6f12e4c792eda6ec33db820bf3e0c9a0fbec8f07adf413c4c98d40624cbf8d46588e16271e459eedcb37ceb2f89f13c3a9dab89122172fe2b8ee9330ab6109fe";
+  sha512.source = "19d6cd158e48666b843628d0325d0e52ebbe137d28686d8b31199e9bad1c4d3393487aa300179688af5b9f7307eea8376f8ba82ed2209efcf39abef094787d82";
   hasRunfiles = true;
   version = "1.2l";
 };
 "babel-portuges" = {
   stripPrefix = 0;
-  sha512.run = "d1ecf75b45eac699c7f73d40aacaeed88a3f8ea1a53e1a07c449dca7881f5d6bf364ceece0fa9afa5aa816aa0da2086a80ed1e7bb68b42ef061f28f19429d2c1";
-  sha512.doc = "994f7488b7e0978cc2bb5564c35d4522da7bc0a3aa2bcc528e66459bcbaf9ed4c9bf91c92709c67c6e1d73d636acdfb46e870c0c3f0533e5795ccf3d5d7968da";
-  sha512.source = "a5a3559f753a75756954d684a364d9eb5ad4b74e4bf817eed7add5457d2b60f1a8ddb1b545db66ae2fd9490aea3d16bb42882de2177295070d238d1af5ac0c75";
+  sha512.run = "5762aed39d183575921e0a6d4210d37b5cc25e66288c3c5eba18ce5b2854de8fd440a738faec95a4ec537a3d5c9667f8f2f7d7cd30eff96531062059d90ba97d";
+  sha512.doc = "34c0d961f0cf2eba8c71a0e770d1539eb4825c50f8fd91046697d9b55fb4b45c54b98d69e82b3567faeddc1b59535d32d3d99e6ba9b10d6bb8ecd01c85ee6334";
+  sha512.source = "524f94da19dd272d73cf4ded57f7e7d450d155ea0c7dd004e572811837e4ce25e6d0d02739c11db2647956cd3df99dd26eb648a7556fcc55b70eaedc975a3dbc";
   hasRunfiles = true;
   version = "1.2q";
 };
 "babel-romanian" = {
   stripPrefix = 0;
-  sha512.run = "0889e1972d6e1a9d997c07793e9010c56289932bc294a12547873bc5a3c03598f0b136531457711ebec43d456229f1c9fd7c95234e0e3c6cb0ba8f1abec1efbf";
-  sha512.doc = "6944add08abd9b30679c4ed098d6097aa31389041d4a074f7abf6856b7c0ccfd48a9fcbff6663f0d60aa02e26e32db65dbd053b1b9855de6b6a1f6cb34051237";
-  sha512.source = "20f0575bb8b0d51302cc6b287683ca47225a226c5921def1a9c0ac2e2abae3c214e40ccc189e95f00cd22504133f3476135be531eda938442fc00e258225125d";
+  sha512.run = "d2aca8f17ae173c36185d6d3514b0b09f76233e44f30177a50240ef0cf0f25f85767a6fc5ee0f94e2eff0df0b94fbca08eb048e95b35a631b7d30a1fbf6c23e6";
+  sha512.doc = "876a8cd9e515ecad570ce23686b71e896fa377ce8fb4840e511430aabb05e9cb03f614167fa2abd13328d0ea7f4eebf7044a65db584b95ce4c64bd37d2602b2e";
+  sha512.source = "493834afa2339a8a63c017ca880ec07626a62b88f76688192253985bb5b254412409c1128714a2ce8a7f7a296cef6ad9ae67b32a276372c811933df8d2929e2b";
   hasRunfiles = true;
   version = "1.2l";
 };
 "babel-romansh" = {
   stripPrefix = 0;
-  sha512.run = "7b0c7b0ceda47045b7d5a5344771acf2ff42b67d38aa563e6c05c5c6a905a68a08fb985217b96b2e7bc3ff70d1f12487e7bd869ae2fbcb40c2e717e0b2cef815";
-  sha512.doc = "42f81d9205f5d7d62ad0ec0cc28fc49b597cc4140f131288d91efeeddb38940a4bad946e33adc4824ef44e4e8db3129dd67a78e08edf9146b5dc1c08b8609ed0";
-  sha512.source = "ae6eac28aebd614ee66627a47dcc3f8a8029fe162bb46aa31b009056d9af428c58fb0e185371d3081f045027a30c1ac5c12e2ea6338f3134c4048602addb337c";
+  sha512.run = "db28e78ce4e028ead2f31fc84d0e7d8997a18dff3bf6aed0301b79bfc7bdc52a8741f9975766d36ca9ca2af9908e7e0bda9e454abf268a1eebf4693c30f5a5e8";
+  sha512.doc = "42f9b63d92e522b596839d10c1b90ee9052cac86cdd54ac408063c24456b2a7b5adbfc8208a0a388fcffbb19b98ae0810f7da9d6bc517ddeeab78c8389bdd5a7";
+  sha512.source = "e26e9ec260d7f01550799f90c6bb76c0c29cd200896c4634085627599f5c3d7438159ea9f72df416e334200a7e1aa3f063dfe9bac5817f55c8f6cc83fe906a63";
   hasRunfiles = true;
 };
 "babel-russian" = {
   stripPrefix = 0;
-  sha512.run = "2e55b14504e4020c14225eb508944eaacb3f45e33da72e19f57bf7a8819d98e7648a81cd78720705a2b44d13e9b580bdeacdff3e278025a64c8f355cfa792905";
-  sha512.doc = "b78c62f31aeb02c0e62738f24bc5ca79683b295728b0b74c35a8c5f9b70a528ef075f951f7c5a082d7b56eb91b45f3cf59d45e603bdd697d9bdb37a2df5f4a66";
-  sha512.source = "4ba994b2557705c50437808583e83675c9bc4d781027fa2b1ad84c034ec787dcb2f873f145ab0066c54d1efe992f9b24bf2a4d0cd013d43e1b41210667b74fff";
+  sha512.run = "6072d24abd098a037a97c9bc139db9454e363b35ab1b84f2641684aa0e95ab3747068a715522e2716cc1dfcd129404f038aa5829054abc29102306e84cb27070";
+  sha512.doc = "702b72058f3142b8e5c2d1e752ef46622f688bbe42a7afc3e93251dd42bced6543aadc4d9ed70865d8fc7868b2c560231489e521eb63ec897068b7d712d732cf";
+  sha512.source = "307e7b28b91c02dc8287d2567eaf057597739d04a5db1ad3ccee3b190c01d5161426ab50e1849294f1222add41b322047d372115e31200588f59317b33d49c11";
   hasRunfiles = true;
   version = "1.3j";
 };
 "babel-samin" = {
   stripPrefix = 0;
-  sha512.run = "108bbd3b697c6360024867dc6ce9cd4b21d9752b3ac24676eb463e6a8b458edbea2fc66ab8b1ccae0140b84feedd776dd7a121a11a6e4c634a446e7fdba1a74d";
-  sha512.doc = "a31da319db2a310181cd548aad12ebf50b75213d504f2da3b70d728b1b67183249a4addda8d5cf49d7e390cfa6ca3c50815d2e27365ff5553c505f294763074d";
-  sha512.source = "0dd2279e5574f4ad249b35428575e04d10cf694d556ad3cdacd6a2f1e84318a60b1851df766e12c8696b5dbfb3c4de0198f972ba43203cb7696c196b9216c685";
+  sha512.run = "8a9e832e988da76ca26d87ab54438048d3d76cf02027ac9120d1277096d2495ece671607d32182cc5f9a61032b1ec33695f6592796680aaba0b65c142aa8a43a";
+  sha512.doc = "a8d43e73b4ab86378c5e3d2b402298580dfaf19afcce509ffa8ac747d68627c21b58020dd823528073240e1a28a2178157f9752d587286a0168fc3047cacd0cd";
+  sha512.source = "2e0fe9724a55daefdc3196fc2934d3551b4e738be4d6940a25a091c173f220f2853b077e5534ac20f868954e360e547fbc7d622507d227b8cb0bf7e074e57f48";
   hasRunfiles = true;
   version = "1.0c";
 };
 "babel-scottish" = {
   stripPrefix = 0;
-  sha512.run = "9ea3dee7091ace2111a1027cb0b7850849a130424a1ab9bb4f200ab851d1f159e48ffbae1d3fb7f1f0e95625fb5eeda7de20c6da260f47e59b71973e383e3d7b";
-  sha512.doc = "a722bea00816dd00017e031076a95a1a0a3e43dd91e963695d4a449db952a4b6fe26f1914aafe328009debd0fec42857b48e0fa30881c66ef44004703691cb6d";
-  sha512.source = "10ce9fa220924b731571b9db347145b0d677445ff44c2c91fc3bc8ab69df7e4e7420cdc7a84d04513fa89f0dd2f2d32b6a63cc1bf43e8c6066a0d197cafebd01";
+  sha512.run = "a2c708d9e116933fd00619fa8d89e30aecccbfe162c96eac22055bc442276863e8957481787d94a75507c2662ff4fcd13760b454d12b811dc4659205cdf5825b";
+  sha512.doc = "b32687935329933a733d239a58d7cbb7c4721c4fe37c703891547c2e6e82503235a0420890a9f025cb81a5c86148bd5ac2301da20d538781fa6f2831939c8009";
+  sha512.source = "8ec0b8a65d433f978db671a344ff22263929c96b742ab7c11c0b47eb2e2f2d652064fefb4a19cc3f91a95cf0abe3450574a3381917fbd239be1bc89d002f99e2";
   hasRunfiles = true;
   version = "1.0g";
 };
 "babel-serbian" = {
   stripPrefix = 0;
-  sha512.run = "b394b7c7d53c75565000e1db85e90062980c17232570f87d38bd1e97a9525a8f06c93a57f0e5fe81209bcb91d77ead105e8f9a55a82b7661f8315dcf0538ff26";
-  sha512.doc = "1ee9f80fca3e14b25c109f18e1353ca83b05667a5d7773c3aa58e48d169f9cd82b7f757492c9b6a67544aef9048cfca75acb182da2aec5e727029c42ffcaf637";
-  sha512.source = "46186a6e9204b9d17432420a2059c8be769c3520581c92fe7033307371c3590cd4587e8e1fa2252826b6ff98985725ee0e3e1a266381fae1f5539a51a12174d3";
+  sha512.run = "5c048c0d2e04820ebd3cd22808f3c960e43dc715d9425ad0369a47cf38086f3995b4dbca491f05a4cc1e952a1c237bc6f0af9d4758ab970de31494cd45ab264f";
+  sha512.doc = "47bacc3ece71805524b057ff53b1acfb99a84920aa0ee0a7ac2c059f2cbcbeaa1b40c99d93fd3177dcb3a5910b71679da5c0a25618d3c7222ad2718d839bc5d7";
+  sha512.source = "33aca6ddf3454dce1978348f68e64492aa5993c60ab0d8e7fc8b448c121aebf5d8b0b0038e56aa7d370e8b7d18d5c40a3043950b73a2a7fbcb989de77f9dc853";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "2.0";
 };
 "babel-serbianc" = {
   stripPrefix = 0;
-  sha512.run = "8355b21d91ad71c6a9fcfb565efec198a87926a930fba718e2d9a5f98bd48c898e5f2c9c2f0e7daae2b3f97f6aee0452e542469e06955341919e362775942f12";
-  sha512.doc = "6632d26fe0010c2dd573693ba2bc623f503da78bb272de1872b309385ea0f6aa9d2915a9bf52933816b54b9eeb68abbd01b97246db9ddba8f8678e6ce0cb4c21";
-  sha512.source = "ff5fadcafcde3f64967bf05a9d5d629247ae465d85d78212874917100f7a81fba5a1add8a569c0b0654edbc591881d3a7fbc6d6ff36209aed850b49c3a911f4c";
+  sha512.run = "bcf0ff70ccdcd6f3e74ac54ab0acd0f5d804b7d7e91c86524242fd75423be3648b09d878f001c91417b3182fdaa6ac4d4836e71668e97c1eb124df9f13b82e45";
+  sha512.doc = "a43cbfd660bf909b90cd135589285ac66bae3655d00869571fbe76cc7016b45eb9899ab76606bcaf25b065074f78baa5d698dc196d1b302d2103103bc35ed0d9";
+  sha512.source = "0eb121cc4eb9527884a39f0c8ab2977f39889f4d41439039f914a7faf7d2cee85b8b001592df2945b41c3cd2b5f2e03a1feae78db1b06c0cebdbb27f83f5a8fe";
   hasRunfiles = true;
   version = "3.0";
 };
 "babel-slovak" = {
   stripPrefix = 0;
-  sha512.run = "68991518af41e5129508184a5e2aa521693ee2dfcb246d2a20560ceb476209bc6deb722c2b8906c1a57623e3e46a0e44e2db18bfb4024359fceb1abac9a6eb5c";
-  sha512.doc = "c9caf3a5d74f8bd6f5008cce2ac301bea4c2d95936c9e9cb44bd5e39943e29eb6d8e2f8b5fd4780d9f8fa9b6a53d6e9d5c885daa1fd5afdc3cb94d13935691c6";
-  sha512.source = "ac14b57cf606d57555932f8071a0b4b9222c51901c8d1393e161913fd39c55c40bc5f7e66af83b20f1db3f7078f9a6a606c380eb7ac5691dc685c33190a3ae6c";
+  sha512.run = "b14b98d2cb66a3f8f5d8a313d9208a700d1c3664a5bd23f5baf0d9aa2e3acf3891a0536871988e7579020570999ea05a9dcd60a404cd6670e3c1cf8110d9094e";
+  sha512.doc = "da1d663125b913e3480ad147ac1f5c1befa00110e71bbd2d42384db03fe0f0db3133b49e26d1a336b49c10018990763d42ef49b64440c9138d9d938057ac90e0";
+  sha512.source = "1668ed3f373e58ee9a507637ed4c17638fc429a30ad6087c7f153f8fa23103c0a93c0c0beec73380d41925ef1ebf25ac214f1afc95793edad65545256e6ce5d8";
   hasRunfiles = true;
   version = "3.1a";
 };
 "babel-slovenian" = {
   stripPrefix = 0;
-  sha512.run = "3990eaa8c9a3aa02bf5fac5f29ceda27da7914e31c4ccf4c62688d7c6da9ae46b139ab0ac3f7cf19121010cb58e719b31666ed2bd5d102d72bc811160221f8ed";
-  sha512.doc = "6eec06765d55061528ff6eae6f640201e3f3aa35b508665712dea0ff0049dc31df80bafbcf99bfb9e8eeda6b9a29fcf40005eff4f3bc9c06b1e48f3d7a5bbd72";
-  sha512.source = "7721f4efe7e6ad28315bc946d3a57c973d1359f45c519a811a16875ab3daf0a31006295f6d2cae436404b1cbc1c0e2f53d19aeacd297db5d5758644d5eeaefeb";
+  sha512.run = "0293242dac7cfa3aafca92ade6b065522872ee7561d9b465d42a846121c3387e710f06e330461d9d4347c9dccb2be3885050847f8fd721a3c3dcad3ec2715ad8";
+  sha512.doc = "5e5bcc2a71e4258ccbe3f094f19c782512c70796886c94abe2254e3fc376cfbd1c13115f42da1828f16dcae4e0b95075e9510fe42879f6a116105190fcab70c1";
+  sha512.source = "5c4cc055c76d898c8bd11e061658e8f8ecf165f9571efb0340ae1a828d65eea6e071210bbbab1a15c6825e10e1a8b187ce8717e7c32a328bccb4f427cb03a493";
   hasRunfiles = true;
   version = "1.2i";
 };
 "babel-sorbian" = {
   stripPrefix = 0;
-  sha512.run = "d826c0f2e63d2c3f62821ab6a49f7975b7837abf53d7c478440dc044133858575d3370e0801f425f96821a45163d68006be670f7f56353e4545cb1457d57a882";
-  sha512.doc = "6ec3201b0eea33a211fb35e685f941702d8e5a9447a566b81aa51715c944bc570c6602bbb29f1df72a7758cc52edd6ce6fed55d052bde99b5a4b9c2cabae4429";
-  sha512.source = "f3eea1b7b46812bb15d6c845b4beca5e635b248d2cc2557a3310a718d01d842aee2b07670a6b3dbd250e9b37f8eb48f65de11d45121f561e794e74e0390e0e34";
+  sha512.run = "1c76a622852d0354112805a1db3b2ed6ac23656a754e2909c4bfceb0ab84db201f18d37d8c9fce527ea52fc4c2b302ff943353ec4cd5ab45da76dd4755a09be3";
+  sha512.doc = "f79448d484de1fb95394dd28c833661d6c9a686148b544fe28a60af17ffb50d36902d4b7b8b62772466d7588dfedf31e772d0ce5b32270732d0d2453dc7d0fd8";
+  sha512.source = "736c15e75d097f9475da38d80c495b28af4457736534092759750cffd2fed2ea54fbb4bcec656666f13cc2d61e82af59ea0ae665e30f73b251eb4fb35d44a8e3";
   hasRunfiles = true;
   version = "lower_sorbian1.0g_upper1.0k";
 };
 "babel-spanglish" = {
   stripPrefix = 0;
-  sha512.run = "7da00849d424388caa98d0b4163e862ae425aca8dc16e093077f09e38a758994c78c1dfe58c980431e0787e05a7df334b69acf7d194da2071fa1506dfc8fad75";
-  sha512.doc = "89649fa7c2e0fc23e441c46bd39ec98dd22dc9e608b386809199aaab52f961da9d62235a7311323634cfde85a53172dba404f80f622c7881838e98a1289b4e81";
+  sha512.run = "17fa7078d6bd54fff6c73677536dec46960703e14536c4a4476dc46a8586678b117e71058f665cbbf850a269cae841511807c6647251e088111262d9f2c4bef1";
+  sha512.doc = "43cf66e656d965bb80e294a5e2786b412e79eb1ac6542a4a3788fde7cc6874e168cff30676c3bfe90c5bb67dc4452769dece84508fe999529d54bde40be5a5c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "babel-spanish" = {
   stripPrefix = 0;
-  sha512.run = "f43db6edfbe7e3eec76b3b140c70be099c682261f50c879aad4718bf1ea6dbce2c4f5889506e4d344ad60f35a8f7885a9f47f8da4e5d180136d3955793ab9e14";
-  sha512.doc = "915254f46dd9959d497350a9ada3e06f9c3c6dce34e9755c6e73aa8b45ce1751f3c3bdedc3974f6b20fd20bd5e8868910af54af7f52ab997f124e1b892e107e9";
-  sha512.source = "e628793882dd0396f58edb3814033dc924700502984386e277f087a149c2d7337c856f13e6e454d12dad2459666f17caf2514569d9db347d478f05f7877a8118";
+  sha512.run = "3a80652d28b1a80ab83c49b0694cd88a236b6420f51c084e4eb24c5ea57a3359f15a05c7cc99118b303f199703749dd724cd5ad30035b9bde7b9f95f2bd34d46";
+  sha512.doc = "8e6a424ec3caa8ff9b6d6f0695e54340dfa4fe61c4bdb46e5579ac768894f906458d594869e8d02bff9c7aeb47e75a7233367fcd6525f2a4815d211528552ebb";
+  sha512.source = "1eb97589d5495a46ca98774adc0d1e58da3a103e43ee3a38abb46708529af9a9d2414b7f81882c45b0a20bfa53114e39368c6142d2f6bbc19306d4c2249cddc8";
   hasRunfiles = true;
   version = "5.0p";
 };
 "babel-swedish" = {
   stripPrefix = 0;
-  sha512.run = "f854d29e63ee15a9e57b44da411ec321c895702809234f045fe583a59eb3ad48de4be7d3008c574b71d44c67d599074beddffc8ccf3c9161d2ac832f6dc6940c";
-  sha512.doc = "a0ad2f2f5044ee3b26bf6c93f264faa459131d132b0107834faca2e6c8a8bd3b1f591ad84f1f923c55a42545ff4a128c6a0c1261ad2fec0b7e57683d195f7f2c";
-  sha512.source = "cdc6733978fa2cd0f264924465de81d3f51d03b6b21a2100bf88c570d664f942d6e47c8ca346267fe4858467a48fe8eed8054428a62183a468b147a9da60210b";
+  sha512.run = "46dbacd9ed25d6eba7a8f5a26a28c40f5c77cbdf4140e3a6ceac1b34a8afdc95626200ea0a6775c3f00b8aa7ae5b7772144e7ef8d0e409531b5bb74e01a90278";
+  sha512.doc = "2c3f738b347fb8a4c6dc3917c840de294f21e544ef995770099eb6d779995ba32ea1a1adc8def7a883bc983a4cf85268628e623aaff44c9be653fe55d901d452";
+  sha512.source = "44c4ae33b5d6824fddaa77142c55016473ac2b4520ba17e504854d7893c3b9fd317dd67149b4cb005311b7fd0daa86630e5ef83c903f69facbf667c993f6a59d";
   hasRunfiles = true;
   version = "2.3d";
 };
 "babel-thai" = {
   stripPrefix = 0;
-  sha512.run = "808c661be0ddab328edd5e42e5b2c76203477b9bc2d3897ea2c7ca6ed8c6b5fa40d03c106b86167f1fdfb105ddaa7600e1cf27078d72d2c372b7333cad7ceb5b";
-  sha512.doc = "f617b1f178e91fb34526be171e9e9b71d2d797d328c068e789f1a4683fccd038b9307ea80e41ad4391f9c97bbbdf011783f6957d7957741a6d583113b6161d61";
-  sha512.source = "e93d1ca814efce84403b78b0e0e68a0cf94b747455f27399791bbc7e833fc0e65c36edb277b59c95479fd6a2652911814ac039231833d75e3f47d743af18c4eb";
+  sha512.run = "4e3e5c6d8944040177a21f04e63bd40e85c24e9327eeddfe98072da38590c58523f676fd7532e4e00d0e3cc88121a2885788d606d2dc9ca02fd91c7f04a6ef57";
+  sha512.doc = "791539a57534c4870a81ec2318298b29e9e9ad925161b0a4cf52c49086a865d5b58b60da10829a5fb37e66f0d161b396beb127e586457c556875f1205fac9360";
+  sha512.source = "db43b9422d95579f9bec645671e5c0ba654ce2d7ca89c3e98b6d910f6546a30b29656aa7061d03b767aca6eb2a01b001613a8b619d597bb9053a8a0df3376b6f";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "babel-turkish" = {
   stripPrefix = 0;
-  sha512.run = "4bc8f55f4438befca4043ac7dd53c89a055acbc083da37ef0c4097a3f68ea61d83daa815bed797e51af822c37a00148b51e69ffe59a64424bfa920cb4116614c";
-  sha512.doc = "f59a50442ed18462c75381bc315ce319d4edd1ff3fcdf883079db79c359e7e9542a5e98082c2af3c9e80a9d22b533c5647b87ad1877232729cb990b5a86b9adb";
-  sha512.source = "a2110e30dbe04bb1cb16e4cd5e594efc32d7b95d6c80a894659a2040c6db9959306bb98ae4747818e520b275386d1aaeb6df1b036541abdb4b529e76d0862d97";
+  sha512.run = "02916936992e00e7aa884b46b6f786dd0fe5a0aaa6e2c6c4e28fe72de7fe5260fca7cdd37efc4a775a8d172e3993c98df7cec3d1ad08f01487f7cb0c8f2d179a";
+  sha512.doc = "06931a6b9987a7affd4632ea5cc79028a2a88c584523c03ce79c2a15268947fb1103137da158886c7957e0a7c938ca69c1c5c7d88104c892cae611c914f6fb93";
+  sha512.source = "54f3c4bf5063c571be3ae2ecd7c86882cfac940ab942e66fbb18346a4ab1e266b716d276294dc6c622b3ffb0b86cdecd70411314b334be491d0ff56604d0ead0";
   hasRunfiles = true;
-  version = "1.3b";
+  version = "1.4";
 };
 "babel-ukrainian" = {
   stripPrefix = 0;
-  sha512.run = "268bc96bc7ab74e88bedf8d939a4f0a5b465b8cc5e855b89606b17e43d2f4be9895b416936ff3549b7d69957c26cad7532ad59ffe4830a1a236a4800792746f3";
-  sha512.doc = "d88588d7f3ad660cdff0ef2ce45999738dfc420223ec800ba409c35e40abe44f9c64816847ec6b70ea6a9646bb935cc2af1b2deeb7cf075f70f1f6e0903b48c1";
-  sha512.source = "8fe0530a469e7b90aabd3ca9bb54bcc2467ef556266b71ac1b10b2e4d3ea3a1caa999d30998cbb7ecec3dd8f6a6e62a1249cdb45b7f0834177833f316224f2a9";
+  sha512.run = "6729384e1029580ee8ff2337508cb5998e8a385de25da4d5969341869f22f17180b03a98a403b583ac5b7a965c2a07d5c96b0aff1b93b82cdcb549b4915ceb4e";
+  sha512.doc = "f36acbe23a159e2a9547d7cd5b64d529c49a35353f5a84082a303204f8a55f088f1beb0aa75d852595768a3ad10de34763329a22e2c87c5081ce2d6fa4076309";
+  sha512.source = "110d08aa4e84718e04223e4e4745a968c2bbf3d7f453430ee02eec57a96fe952046dc9101b95f90a7de84bf6a4dbd65e8697e1980f0d85eee84233554de31370";
   hasRunfiles = true;
   version = "1.4c";
 };
 "babel-vietnamese" = {
   stripPrefix = 0;
-  sha512.run = "1b94149dd0c655bea895e9b5d9612e4e644c362df8f12c22f0ec15de1415d66368987da1664582b29c861057b1c3d936aad794885d7725faf979498ce4fffc6f";
-  sha512.doc = "3837da2002026504d64a4608d927c68a164d1c23d566a7fbed239a1bcdfaaa2b2b0b4880c89071ae103d0ae8791e3528470b27bb94909077e5898a5b47e104e8";
-  sha512.source = "ecdbfebd4cd8b584e7cddcc2162293909835da23fb79121884b9618b064085755a6a1745ad826353a99557af18fa174959ac2f459ef2758f47400997c201bf02";
+  sha512.run = "ddb75c37017c1b0b6af2cfbdf574526cdfdce2099d599a23cc8ac819f6ebe5ea7a2eda4bd743af93d78835ca5dccb3d7fa55db22b3154862aa4affe83c28185f";
+  sha512.doc = "b078464ce848b24d692d4dded7c9827f37fdb4141b719c71e28b5ef0a827f9ea5c2137745f9689fcb89a486d4a88a94a043a62348e86b5736a68ea48c7f33e16";
+  sha512.source = "ffdf9a552fd79b1b51c0064ffef8f9dca1e618b41b0abebd2a22152e8f2bde04a9e35964250e8bd42912929d3e6d8dab6fa430ce302a1f28f27676015667d489";
   hasRunfiles = true;
   version = "1.4";
 };
 "babel-welsh" = {
   stripPrefix = 0;
-  sha512.run = "d81de0cc04575558c7b82bc1d43d4d2fcc21650a62d3b1274def42a22971ff071abf2374f8cf2cd31b0abdd81c28dfba8c83c6ba7199785b23d03b691d9ab418";
-  sha512.doc = "1a139f74de035bb00f40b411affd8a417bab5a80fa345463feb162920c6a322a3a9978071361762f599991fbeb092f1fcc283961da66ada5710f3dc78d74935e";
-  sha512.source = "2641b611ff311c894ac520bbcabd71ac8f3520a1ada966fd75f4e457cbbc721b9f19120751e055018c87b2550e7b61bfcc86b1de9b5e874267de4e0c6e020d2c";
+  sha512.run = "89526156517773131b5452f2cf5bf773f34b97b2e35e786f2bcd4dad512519766eded269539ada9d5c34d4b1f02d65bf55a0da0053e6bd7b7a3c66c606cfb60b";
+  sha512.doc = "cb0ff59d9c02bce3028f0025c07963d42856eb4e68f322b839ed1ea5f51abf372ea17fc695e7be4bf87f75b3d2b163f801102f469773a4474bd0d0a72a47376d";
+  sha512.source = "42c52ecdbb0b1de295800bece99804a481afffa2848a2146429b318f964e3a88dadfca9c020e9dec6bb3db1548ccfa79db3e66edf366a32fa83a1b6ba91e7fc1";
   hasRunfiles = true;
   version = "1.1a";
 };
 "babelbib" = {
   stripPrefix = 0;
-  sha512.run = "30f2c61fdcf0caa8d5fec88fe2d09ab2f47d6120b2560dc271110fe71288763cdc131f09433010bb256d98fd7507f5afcd29b9c8800edcea316377d5c7aa58ee";
-  sha512.doc = "adeb18ec220c01ec40e1221da48b0a4b3f8d936fb5926caa3a5817a2253351866df5003e6b8fcc9cab9201ae7fb055a2c7061f90cfb4191e6ef0aef772ed0797";
+  sha512.run = "70214f7a3e16c1fe4b3bfae479df63c10f9b654b34bd29abe3b4837b1a375b1a13077d0ba98e46a78ed702616bccac6aac3c70d422c85e37f462a376b2ee2589";
+  sha512.doc = "729fdb0bcc60929dffce6883db377e487a31610979d92f7be48e017a6f982298a9d113f06376bacbf2406a89fc1ce10cab86a43de3d92be8aeea7e3cb7cb9f98";
   hasRunfiles = true;
-  version = "1.31";
+  version = "1.32";
 };
 "background" = {
   stripPrefix = 0;
-  sha512.run = "60ad601d41453184c84e49d9c740885139f3bbf0ca83e706488e724721d783f811da2d29dc34de65869f0da16156f8a74c79620a2586e9e4bc6b1c30312a9f2e";
-  sha512.doc = "60897c0d682a3270feff7343bd21720337d659c62a09ca32cd9d180826b0f7f7bbb5dfd016a8d0ab635b9e92219fbd45c4884ec4980375105a605b1afcddb2b6";
-  sha512.source = "5c71fa311303e8cc6b1c8711aaf3115f2f3d1fbfd9b5c1a4008cb1a95ba44d5fa1146b9ec89b8dc4b5f7e1d70988173b66c5560c01dbd344f2dd334ea82ec990";
+  sha512.run = "e9fd9b5e680082aa3e9f0482ebe41a753088a1e61b85876a9685942172cb9d5b6c9819ac2d61e0274f988b46d4f962222ce0afeac2827630edc728125761f214";
+  sha512.doc = "518b0785e562fc6f01d6bba6cf7157c847faab151bcfe7840d5f2c9d8fc3ca54689beaa8698c92f24c196393fdbf90b027165be80e6cf07e9ee79ad8073d8533";
+  sha512.source = "36bddbbaf17dc15e72773400e75dac754a2eb60c106c7a6861226b6dd2a1955fc016810a10d5c90ff56b690be922affc0427c1cf3b5e5c1f334231bc8df69872";
   hasRunfiles = true;
   version = "2.1";
 };
 "backnaur" = {
   stripPrefix = 0;
-  sha512.run = "3b6c63887caee48b7033d25cd464783695d320baf42353bb5647ce0d37e5c729651a4914b5024940029ce272d788928cc8a8a8c1f81e9b1faf1876e825407cf5";
-  sha512.doc = "502c49cc6b63b173b55bc155c9d3425c7652fa0b999dc6c1f668e22c4114730817a3cc934381d3aa65ea3d8f729bba58c7a781d6d6331dac42524cbac36cac91";
-  sha512.source = "f583b1638c995a35bbc7a25c6428e680d8ca373f3b8fc53372769960a0c230083446262a35132ce6c42f8b34ebc4186061ea18ef9d05ef76fe08c6d64e695e99";
+  sha512.run = "82fe2e845a29562218dff5d685e9458f2230395fb66e73f658f137cbbcf0e423c9f91bb0ca78ee36a8e0eb4db157ebe13ac3f134dc819b1ded918ff0d1a7ee4d";
+  sha512.doc = "4d130cea9a46abbcd092d1e9fbe5d943847b207258119722d5f5ff36534cee77a1dc213938e48ad629977bb72c68de6eee2b4bf9c7afae14c10659cf1ca3f13c";
+  sha512.source = "2d4d7e0a3fc9e5a9e1dd105267b8cf1a5dd4e094413ae0dadef5fb65d9411c66f6c523c536af94888d49177d795f24b839f49238a25c2d863ef4b37e84de5135";
   hasRunfiles = true;
-  version = "1.1";
+  version = "3.1";
 };
 "baekmuk" = {
   stripPrefix = 0;
-  sha512.run = "30d2cbc01b712af19ba6f113e80a633539e8ed6c60a6c86c84e3d3ab5ad488206924f00b61b95692b95910ab32f824cf6ac13ee4fc42f1c654a87b77981c4b05";
-  sha512.doc = "980f35913396bb58e18b8779e6c3b4e93ec8be011f05bbaa087b081e66f5e234a65b1295af25da32e8680b053948c70ffa4e61c7060a879122afc361974fb869";
+  sha512.run = "e10fef8fcee389514d759d7b985df3e84d3459a357fc3b4b6bec5c3814aea175aa8f313ab63e6048e60cfa5fe1cb1ddc0ae0410801893ec0e7ff5eabd7283c9f";
+  sha512.doc = "0a69ee489e8ee9fea0fedd80bdbcc7a13505b5e3cc12fae3d56e09a852bc54eb0e64ba73f4c085e5286fb048114eb81aacc2aa34b27d72b4a72b966e188d78c5";
   hasRunfiles = true;
   version = "2.2";
 };
 "bagpipe" = {
   stripPrefix = 0;
-  sha512.run = "07a8097e2533484684c3bb6c2882761fa464ff33ac99145845948d1ed9b22a7b1d9001a6ab4e392a67f32b68a09b025f4af93d0ee7fdd49c2a7235a2c035100c";
-  sha512.doc = "572227611895d1b2cea0ed755da62f7c3a581b58ec33c04973dda55ceacc3aceeb32cfe264334fdc7cc35285a35d87f20c65099461354c84cb02c524c159eb36";
+  sha512.run = "7d815e23e9b5d686e0df54c4a0ad51c85360c7b3879695977fb9be2b69cb343e1c9043c2595ac5554e87e0a568b2441bd16a43b334af4b43e5302eba19bc33d8";
+  sha512.doc = "696047cc4965a06388a61232af9336f2010fdb0b869914cf66ac9b052d1efd85ff05119a277aa127cf05f56e03b63060956c7c284df78e93b0f0beabd691d33a";
   hasRunfiles = true;
   version = "3.02";
 };
 "bangorcsthesis" = {
   stripPrefix = 0;
-  sha512.run = "98adce75d689996fd56e9ae2622704cd7380a1968c8f55af85c5dc48657d4eebdb6de798836c1602af7d5e0f1ffb66ebe7dcad26d06bbef73e40c21eb82d2278";
-  sha512.doc = "05126e3b23cc393de48133af0e8c26a999656d9edda5a4b996753c2f45f288ba7616687edaea43fe974bd343b43532622563f08eeefda421e8fb55b293c24100";
-  sha512.source = "c44364d12ea0e50f4b6954d2b94425b8c8109e3b9da1ce32d5322621a29be1a6e59f7e400d183a274491bc36bb63359262cb4b1407ea49f71542ce3ac42c77f1";
+  sha512.run = "3d8dd2648361f74ec6af8727f0895ad1e1008ce0e8612d879634b196d5e4cdadff20e33e60e27d9812d7b6fe3762026ee46139f3ade3a3a3cd5d27a941355a62";
+  sha512.doc = "97c98bb791018631b7c5bb282aa3585ae68ab1d2d81f56e1be91ad92d6dead30885c478856f59651b533590eca2f80e3596d09f0277ea6dbd6ec44b97ed64fb9";
+  sha512.source = "b48f9e854297a3effe72c3e4f5b26d1a48b5023b25691727ab6c735379a092f8a6ce1b7dee1eb87b5cdc10866591b35c83df579147d3ecf36e6a27356d50381c";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "bangorexam" = {
   stripPrefix = 0;
-  sha512.run = "b44f83a28849713b5430373b5c88a112b5db06fbde67f87765b891645809d35c6de5f3863a9db314c4cf5574b8d5e10378c1fa79c54766b1ba7139ba93155dce";
-  sha512.doc = "301b77bcbd7b703d3afcf92b2088c5b29a42884c65f65e32ec50eec1e29d5c72e4ab7a0acfde055220469e837682368d4594a2c752470e568002d40daad43ae1";
-  sha512.source = "4e9fff8d48ffd910326bfab750933e859fa5dbd8283d9e4fac688dc6200a1b4b1077b8958474e6cc9f1b56364d9aada3d42ab59f6fd3b8baeb3105e73c15d034";
+  sha512.run = "9da594fb6d8dec3727dc5e437923c225aff392250c42566972a6998a4709e1853e6b7399ce64e8cbb7408a422631ee61229cc97001343ac8acee7d5c0fd20847";
+  sha512.doc = "576b991d414d9a8b481dd2d76a4ba74af9db70ae720d9b81f16cb2cfd887d8a09c2bd601bf7711ec77073909aa61470f2cdd7573457ea2ed25f9e316417da9ac";
+  sha512.source = "22732c47f60e2145ba850a60afc15cc926e57ff27a9234d84cf647ae83c8b783cd8023bb419f576dbba1f5e49de95416f98639440d6001525eac3cbd4fe8ab41";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "bangtex" = {
   stripPrefix = 0;
-  sha512.run = "fc2f8256734fd7c2fe500568993279379ae4c3bb46aa86ea3289febeb5e1c34bc86f553b353d841623711ce08378c468a3701ac35143c551cccb47bd230b23a0";
-  sha512.doc = "95531a59c5a039b0ec051f091aee686a58e2884f40109f113cb3f3dfe2654fbfd8f4184d34adb3f292b1d5db7f2edc9bfb919336cfb317715464a7ec6c8a9f81";
+  sha512.run = "e64473076f23f537a3d543aa325b159b6f7c050b626e880628bfa76a705dbbc57dd6dbc1418b4fe0124e90ec4922e90800b42d5f636ed910590fb060e119d962";
+  sha512.doc = "ccbcc6e4739001b6306dc6559f76f577310e73e515aef27ad39c08e770a9eef54a6cd162343aac83ef3530758b3d7dd4c19b1bf5718a86fd321189ea58a786f4";
   hasRunfiles = true;
 };
 "bankstatement" = {
   stripPrefix = 0;
-  sha512.run = "d234d762e00d7fb86f00d1b66ac2f5c2e5f73f4f5f0fa6233942263e1b3ce4e10c75a11d9382e95cab9b4f9a9505976d42a9bc39337a0343a4d3dc8b1ca78c45";
-  sha512.doc = "97957a40e7962199b9d59a4607ecbbf116eaac5e8da74bc941171bdc60ce89060b69d0c9c3420cd0bb864fe8e7cc17c95f3134f22933690ae6dcbb30024637c4";
+  sha512.run = "c388a06b1527fe131dd56813303ca727c035f2023b25426e8aae7387867afa0425e4f739c2698b30af97737557c068b94741dce51f8df573c29c14e4cc4f02c0";
+  sha512.doc = "5290904ce0aab9e4e098fb4625c8a0cb5c728769faef312267131eedbee937e1d964a561b2c001c38131ff93c9083db46275d693431b2447267edaae19c296f9";
   hasRunfiles = true;
   version = "0.9.2";
 };
 "barcodes" = {
   stripPrefix = 0;
-  sha512.run = "afc30b9f9bf7c3a8ab68f764e276fe3047776b8a64e39df0c38751cfbbb6c0109f96c5ed891a41cdfb23c88853063a3005f45cd0454276c0a68d6bc00d22c39e";
-  sha512.doc = "0705fc0795185cb820d572ad4a93fe3a7603049a07658e6e0a6001258b82421b14985622cc09523e9d6815579df342d75cc0186a79e8944a59ff5197cd39c89e";
-  sha512.source = "eea53b554bbff58d167b8321db082f7f4aa7a27072f65e7ec5cffbd7fff933f2fc5fd74fe652bbcf8d725dafdfb8e90c658b8e32034d8f55b50a8d1cc04b218e";
+  sha512.run = "e4b9f432d4464da19d279d8e7a5c2ccbd6dbba27fd175bbe7385c0f34199955c16427fc7bf6b487cad1da0b2e28b94d44267a0042e811fc73a88661f3d312b91";
+  sha512.doc = "2054d8b87084bbdccdea4a2c05c43b427249d597880b3870fffb98bcf0bf88adf64c9110e3ff98d1755596d559ab548a464a2d681eb1adbaf57cc748424e0d98";
+  sha512.source = "9b72c54e083622b95df17e643a6466125a22fb62e3ebc64c3b0f5304253ba5625f0ce2e0071dfc4e06643259b4d7b575a1bae5bc6beb213e5bdd3e83074ba9d9";
   hasRunfiles = true;
 };
 "bardiag" = {
   stripPrefix = 0;
-  sha512.run = "9f8959c543be3cf5e01f9c24b6b6dfc97933b01c3ce6e690451eaacafe6623a6158f309dd11461df29f6ce80c153e6fed04000a34de6aa6e0da45d6c4d496628";
-  sha512.doc = "2a67c66dedd84065fcbe2fc7765a1de8c0d8b564ec48503dd83b6425e80661a28e43fa1b37f4bc80d2b8bfe16d8fd1f1cd8ed01a27e13f0fe730fe7d7cb8d8c1";
+  sha512.run = "dad9b5a50e5a82ed0285fb36c609c4302f7b22daf71c159848788d8c7c91c19dd44398e98357dd58366cd97140e943540d05b6e1c9937124a40c4b4070065a1a";
+  sha512.doc = "54fcfb2473c6ece46ec2b01853c89046c7f5396e97f62b9175cedaf4b1e783285c7c417700c827a7b9fefe5055b10723ce278e5fff0e864434f84020472c1cd8";
   hasRunfiles = true;
   version = "0.4a";
 };
 "barr" = {
   stripPrefix = 0;
-  sha512.run = "70f069eccff7a481c25455e3e21e7c8da40c458bf43c585954f6604896da01b6733f695e83aa76106afc93da5e98ce3e7dfdb0275ed8496404a33e8b458d1d5c";
-  sha512.doc = "bce2e2ee497d7b07aac79603fb973171e107594cb4d07cb7cd3d595af5cd93cf475f23667d911fcca8b4a16d9a63247a108f74481d04dfa4555f99392a1f5b81";
+  sha512.run = "6bd398efda5027e3b762b817ce777adb9bb1c8e593ca04386adedeab7dc26ba382058ccfa3c281ef8612fcc50c9b719e7f881dcde0cfec041cf4b2cd05f238f8";
+  sha512.doc = "6600ecadc60fdd00e4d894969a84118265b5c5d07e9a411d3f01887fd1e94c481b117cbda80451774294dbb989a61379b16fe3ba5c3b8363a9a2485b76752aed";
   hasRunfiles = true;
 };
 "bartel-chess-fonts" = {
   stripPrefix = 0;
-  sha512.run = "f9cc61238764fd6e7212d2e07d5a4c9f7191dcac1760fa1ee3648d578516b8dc549ed1ab6e851907d43b6a20250bd5f92d86cff1988ad43cfb6e2d12923d648b";
-  sha512.doc = "edd8aa713fa84382e04016edd9b4e5e9c4c402754966d4cf9b5f1f2520fcf1bcf1a9323fc53262955abc658000214f8cd271175ee8f19139d5b40c84552c0288";
+  sha512.run = "33c52620d32f5e79a702bb664cfcb47409faa049dbf7f34cc5816005b4667267810fab130e3aee1ff7a7e3292af37c2d376c01dd2bbf17be199a22cc36ba751f";
+  sha512.doc = "e61232eed7f345e28796192d836af9de29bda257fb85460f67a89bbdfd7dce01b8361962b7cccf314311c0e772e69367f2921ad898c106389195164b6c925ffc";
   hasRunfiles = true;
 };
 "bashful" = {
   stripPrefix = 0;
-  sha512.run = "d2e6228b312d6ecbe34caf9576cfd54aa550eb02ecd2d2135c7686629d45f0188bbb683f781980acc81d2d9f9892f3eb535c200bfc5802655330dba5eb4458bf";
-  sha512.doc = "0b19be7b0cd9f20df9a74670f7ab07154214dafcd4f23ecbfe790a1e5bdc98ba3b6f4573c93ad68cd5d9a4e5507b9c3fdc1c63486fe04547cd3010376f7bd203";
+  sha512.run = "b46abbc1622fcc15d65981368d5c8a7528f2142d722604eb028e0cc364d6e908587cb58a340283e7afa43581ce365ac7a545bef65d1cb5e273e777467231c40d";
+  sha512.doc = "5017fef7ad1c67f33cc881a94f75cce97d422b047d8944dbff377b1f3f3d36025b7b73c76ba2ed96bf06b0c6e9c3e99b97ecf36e2ec8ab8b7e1893dc11f201f2";
   hasRunfiles = true;
   version = "0.93";
 };
 "basicarith" = {
   stripPrefix = 0;
-  sha512.run = "6070aec3237f987ac02dd280b501a796483fd1ae544a97b6fc2d5a21aac25359438548471273cadf76105440bde6314452cc882a866e8dadf1143d7098c74bbd";
-  sha512.doc = "a9ebb74b859ae55ae56c488c485a1136d026b42c2635bef056df8cb2bb382607c832e14f9006274b8b6aced6a7813483d465a213bc861340ed8b0fdb08ddbb77";
-  sha512.source = "446938a7e19aee8fa0b08798803fd504d5656e5344a20fada00bddc740f0ade13626f9e00991106f381253e09194e4a628940189f2864855a4ed664fd6300092";
+  sha512.run = "346edf1704ed621a326e4f945b8f5341dfbd2d46af095691c7b853a9683dfb2254d443ae04bf235f192a57dd55336dd50249b0963bde041120468499e61012b7";
+  sha512.doc = "bf454539b0202321121437d2448c3b49a2d6122459af4788a573cc2525f0301d1267b12f3df8636a36fe807c474cb23347a41a2c412eb12b674c58541516ade2";
+  sha512.source = "6c8b449cd8f356be6403a48943d6b91cf2c2dcff90020041a8dde0fb8ad1fa598727137dfda0b091ee776c968d4dffdad1215716111a36be16cc5c5e5b2cc5e6";
   hasRunfiles = true;
   version = "1.1";
 };
 "baskervald" = {
   stripPrefix = 0;
-  sha512.run = "2873a84d59787a70e1bd1efddef2d0a97c0f2337f232d40049ef2505f3212c0ab730b573f066436d302a599bc0a33aa98683989874085a934417963a1594a614";
-  sha512.doc = "3b1606288944dda29ebc6c98119358e8d2f2903d0b90ce9361dd2f8801e26845e700d7d5ad908b32b5a814a40aec5f5bfe0ac1284c1aa249946c947f63a4963d";
-  sha512.source = "fedee67f5b6a20a0d00578666624eb00c62fcc4cdbae100157bb803eae21a905da693b770b87509ac438ce266d38b5d6d5e22f419032270542cce1f392ed36a8";
+  sha512.run = "3c0451c43f81396038c3ccff2b4a9b07bf31023fa7afafd2884506928dffc8a9345ff0b8c8114f20b3016026f4532ab138a8b4787a37811501659a0f53c98941";
+  sha512.doc = "e9e2c8749e29351b59690027b019da441de5c74068aa5a8457e3014c751fb23dddb0e8b94bf56529879086ea8c58e023a23b85ed9bbaece10f6dcc65ddcf3ff6";
+  sha512.source = "60122d6a04e88fecd4c6baae3a657f40bbfd48895cc674e95ee9e2b3f9172e01d009064a616f2d7b3f48c41d43f75efda19c3ca54feee612f1866fe64eef366e";
   hasRunfiles = true;
   version = "1.016";
 };
 "baskervaldx" = {
   stripPrefix = 0;
-  sha512.run = "20029eadc9603ef9162ad91e9b91434f573a43365f2620e9f7478941d045c801fada6a4deb0a9fbec97240899720555404b228a25e96a773168dee2e4739906f";
-  sha512.doc = "4699da375e5671ced04bf4fd7c17f45aad045ed21e99e9b310fcd5541ce0043e899aa9341d4fa2355fe8c25125112ec7d5f6270968803ad60a4a9e0d7b190e05";
+  sha512.run = "e3d0d7c0329c170f2b88a9696b96bb7e19b51470030a039eba34f6bf90f033ef6805bca13227415dd69a636ccf0eb5b45527597128bc412ac9ae9415deea1e78";
+  sha512.doc = "442a8f29795b3af8022e0a4753807e1f2060f53e06257d5198e8e23cd7615a20869a90eb7f50649c4773fa2d72faaa038c579738b3c5f3ba47c796b00afe1720";
   hasRunfiles = true;
   version = "1.072";
 };
 "baskervillef" = {
   stripPrefix = 0;
-  sha512.run = "f3f229ca6a4e4d3da5d430045a717067d7881d733779558940b6447f2e28170f2db19d41890a1a143583093757f022017490aaf6fc9c53cf02badd32dace066d";
-  sha512.doc = "0e61fad84fec4013020029d53a8c2308ca9afaf1cf5d4e1f5ac7669774dbc2de61797bed24619f50a3fed3547893316595663bee2f90fa271bb31b889e96bf7e";
+  sha512.run = "ee8de6accb53b62908a025fea331a07570bbb016c7904fd700ba9ed584e482dd993ab04b7fbf8e6517d3a573cea1b6a055d3b3ea7ad03eedad2fe14aa8893191";
+  sha512.doc = "942d3d68e79cf65cffbc73ac225a6020655bce8af27d616de784747225cd6de51ca606963daa55fc698c6dd989ce12ff1a0103ba3b9391ed6aa2edadadead829";
   hasRunfiles = true;
-  version = "1.046";
+  version = "1.047";
 };
 "basque-book" = {
   stripPrefix = 0;
-  sha512.run = "52a930d44a3b04678e6e12632e5490358922bf86e34865844fa016634eb117911eb90554dfab440113dcc30fd0531fd4a3aa81f1a54aa676e7fb806516156902";
-  sha512.doc = "95414a1445561ecd1a034264e052c607eeeb67ba6250f73a3b3a10adc99f917fd837fd352dbd6f9722be3506b109c1e151cbcb614ddaa774d3856029b71c1582";
-  sha512.source = "f0bfcd5824aad22dbe3ebc80a486fbb118c327794d626c9c72a063609a691a812b88a384494fdec04029bc508a45b4eb939fc45f51c06a17bf114c18b4ee98ed";
+  sha512.run = "645d55362506a1bcf563a12ddb7616f085d5cc75a45cb2f0dcdf551158b48f595cd71278caf9a0c35f1d85ca66b880e6f59f9ee416fb9bf15cd7c18bf6fda2b9";
+  sha512.doc = "7954b1c86ddac3a1409bf16cc7db5470332fb86459257756200dc794a3443b137e6013a7e904bbf63e8fceae64850418e56ad08af12a448c1fe507e29221c7be";
+  sha512.source = "4b8a2ac7320d04d5e35a0c789e5b548582ef4e0723ca45231250b44ab08fb52a73e88f5425218ecdc3e3d35e01042b64c711ad78aaef0c4f119ebd1abc4dc36f";
   hasRunfiles = true;
   version = "1.20";
 };
 "basque-date" = {
   stripPrefix = 0;
-  sha512.run = "7509dac457025d02dc8ad8ae31d45709155ba20dc7562d7516cc76753ca20975e4766029cbb843f651fd8f0e55f0a90269539eef73584deb96902405980782bb";
-  sha512.doc = "9f06128bc0957a32004ff886a2ab2d90edd507db7654cc671b140e7e3145f2278caa14e40d9149dfa8bbd2fa59aec4f2ae122d03d4eb3706e969b46699a190a7";
-  sha512.source = "80560c5a4215a55a62513585f258da5e6d0630b4295d1ac98d2eff51ef9eb19e29c483071528890421fc9fdbb0c0c3c54bc7b14f1eb8b82855e02763e188a9ee";
+  sha512.run = "2f0cdfa78c3b75dddc5ab9ed15f651308dad4e598f9623eea50929c48d6f15318f768b95d55ba124eb048129447ce1e629febbb3fa6925677b2a46ac94d82654";
+  sha512.doc = "249bfaabe93c4306c32c698eede8835cac334a27802253dc6ce1f380eaafa5c79fc3b86ee34ddd7b98df043cc0ccec137ae3d342cd3904f39203b0ffba2fc9b7";
+  sha512.source = "f38091d9c38f86efa401f11759c536dc3ec041688ef9b1909dbdb5661ea096b7e4d69ee78a5beb194e1cdb24afc8ea07e26f2c9c45777aae517351fd4f3a2b86";
   hasRunfiles = true;
   version = "1.05";
 };
 "bath-bst" = {
   stripPrefix = 0;
-  sha512.run = "d997edb1e4af5064f29b938c9c7cc0c6a5a06269f2281d383cecf0ae076db3912f4f935f615a8bc3e78416fc141a5b93ddab125ceb52dde59aaa93a96ad85aa1";
-  sha512.doc = "addd9420a2043f1d507136b42c2141c6d32af2164b96f6707b0cd4a4f1b7fcfb8475c2e748077201e1d8a1850b0edb951567b092f57238938b2c33fef950c7e7";
-  sha512.source = "9e1bd7de9a120f68f09ad822955b400daf63fd3dafc95b26a5c7124eb4ec4051d345d39e64fded45c1231b51ba0a82d9035c54b5123b10dc46fc5e35bab1b817";
+  sha512.run = "af48f1407a950028fe68ebda82db1091c511ad5763416d60dc7df4ce6ddc080a4a0eaa9cf3385a27ecd9586fece07ee02f78e1f8df9446697bcb9c88aa9b974a";
+  sha512.doc = "4738ae6f96c75f9cfa222ccfc8acf300c5844d19a1888ff23c52f6f7dd4d85bb0065728734fc6a43ed7fae507e34cd40c4a2b7240b4644adff9eeb05e6118e4e";
+  sha512.source = "50ace871f9adb958618d128d48fc204a188a6c94cf4bc986b3605518050df19c990fb818f6cfcafedda868c7254d1bf1e05f51e075754e4e2dfb8528fcf45f20";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "bbcard" = {
   stripPrefix = 0;
-  sha512.run = "c489b781ca2e0ec79bf33418a58333bd8acb9a92e40a09409e359805d68618926de5cc6487301405b97c852a9a97619936488b274a3fff7b5f5f505bd98f4fe3";
-  sha512.doc = "2304bbe509054f6e84a0e0c4ae9af2431762e395af27362dd4be68b8de37730b6ca1f9cb0d5e73f0985d305e76a7ceecbe29a7376bfab30dca8602e119471a86";
+  sha512.run = "ac7fff708b3e25312460a740241ed003ee471f84dd4d30388d9cde8380ec9a6b6fa6fd6aba69b170c464a25bec44f1669fabc4ac2d7d3e216885b7e683f88af6";
+  sha512.doc = "9e4561e97ea77c84e3c1cc8f75ca61318937c45b7b50dab66d6745f61725b6397458a05e50a267937bf6db4b28558ff0e9f2225078b9516fe574620982ab2cb4";
   hasRunfiles = true;
 };
 "bbding" = {
   stripPrefix = 0;
-  sha512.run = "d7f7798036bf111152fa131dab6213aa9d5921f7fd5fa19b5cf266d4d7dfb54436a03961880365f1001b573fbdb74c1d108ff7b3823d4d21f64ab77c820ad88b";
-  sha512.doc = "81ae2fc56f6d4b1e4a149d21b6a80ff4141d3b4def2429380feb393aed9416204a2c6f27b38b8536b1e1527baf6a11dc3432706a5a36ed1b89d2ba2e0c787b65";
-  sha512.source = "436d562746c3172aa8063c7965f892929d52e14017b42359244ccda3263b11e42bd1ef8d00e591c9d484182ea0a1c7145be952604ef0f1be2d52edc0ab9ed7d6";
+  sha512.run = "d5505fd7aaffead426a873844112e11fba47694ab07d0f5c88be31188fbf4a09ed4b8f8bce75221b2b2efb3ff81fc132fe54c2634f32679e2e2041944ec92f7d";
+  sha512.doc = "a1425b521b1c8178bd6c9b059acf034080be6f3f312decb575b7541d34a6e1de926965cde8701061ffcb57147052b1495b21142f0eac645596a783820eb6200a";
+  sha512.source = "be0e2b1332835920a3c93ec69ae53fe83df4918db9d3080716d7b77edf999a87f54a4c87ccbe4d48b008403539a514810f35c6b2a59d8be0ed6968f6a91ba129";
   hasRunfiles = true;
   version = "1.01";
 };
 "bbm" = {
   stripPrefix = 0;
-  sha512.run = "c3f2940f3e4419bac351830418dcf25a3ad206672071069c2c2227435a8d71a19d9295fc0339bf7db33ca9a5a524f9761fb4039c87b946bd37b2e063720aad99";
-  sha512.doc = "de376aa85034f5ba278eb596da087e6006ff680c475795b56d4eb10cc1efba6499bfdd2e0a54f4f9a8a8183b8b93b528db2055c45f89f1c0977d6b09bb2682f5";
+  sha512.run = "d795fb56f2ba57dea55a546244c5d07bb20c104cb9d1e6f9b6c229df9e5fa4244f8bb883bcddc150e1072453cb518d31c110bb85d157b4fbfeb47195da939619";
+  sha512.doc = "034d880588fa88d97045d73dd651a0b3573c624dbbf1d2f9fee046c59f007b9e3e2121d5d773b34aa7b0bc8c72daa540447981bf60731e64d99cde49b5f6e911";
   hasRunfiles = true;
 };
 "bbm-macros" = {
   stripPrefix = 0;
-  sha512.run = "ef0713add2bce5736990bd147b0f4ad6940807faf0ef440cd54eef3ad08004c9461459cdcc958b761698eed2b03e18378ea17ada9049ca39c3cce862dd3fe7ea";
-  sha512.doc = "bd411e921b9ae5d57944a2f91bff45afa5bd366e650deb541cbf48bbaef3294c1f443ce2c5dea6eed7dc173ae8eedd1e0bb49e440f5410ab13956a3c49e65921";
-  sha512.source = "842c2323c4acb3bae3de46aaef15b2462c92523a44034f91d7d2a2647efe502b4bf0c7f96c679497a1eb701426a7a48698d45bef89f3543d43385f6ada530116";
+  sha512.run = "06f59837d585c721da77f289119bd4b45a91e3d72543ed3e4de76f84a2916431a733baa379b83a3e299d166e27bc0350df6f053d1ec744c52dcd0297d416fdf1";
+  sha512.doc = "20a29809dffe8090e5c067dd2df9dd5a5f7de6ec7abbc01eb14b5a500f37cd62b50914733edf7403af89a1db86ebe10b3d7262f519dc01dc35b29ba0c70c3478";
+  sha512.source = "11d1d83d558a7943e35e8146b7f44df6a553a513f8e0478e1a9c773d66d004a4110288f91896b283dc4153372bb638a444c53b9184745858976a7e6aac69b121";
   hasRunfiles = true;
 };
 "bbold" = {
   stripPrefix = 0;
-  sha512.run = "82cc44f0a59e8dfd0f8e06899e57f86ada638c0db9c62929bb7dd000258334cbe1ed204a51d7d5658cf7e8a9f93dcf3e34d7cba7a6d5db8a78c412c29478c875";
-  sha512.doc = "78ff60a95536123d1ed61422810fb2396c0afdc173f6bc2e6074d2f671d5a1494bb678f60e42c52c748774de8bc0490eb149485153e80ae67fd75512b72e5959";
-  sha512.source = "58ee02e3d0577df17421118724450cda0387efd98ae239e84d6e5368ebcc9b348df9b1987a23026be3343fdab14041af8552510617405e54fa8a85418b991224";
+  sha512.run = "1b123e9135179244050ed6f97f17efa2a43c42018b2fa3b01c956a99886ae6696c83df2a0d61ce95cba925c2bb4c734d77253aab165fe9f622695f557fcb0abe";
+  sha512.doc = "c754e81f83a53c4a1cacbd2638d550ad178e0e26d7feb592585579a27b780e11733a7dc68fd374ac575cc7866a1e5417d3df0d2b973e7278d1012657bf340390";
+  sha512.source = "a7a61bb796d3ee618ddc39d471bb29d1b7350a40bd7a97d44d4a1c7cd5e4eb5d5783d2ea46313344468406d1d25c71ac322ac4bbbf7b06aac35bc03651e7ccbb";
   hasRunfiles = true;
   version = "1.01";
 };
 "bbold-type1" = {
   stripPrefix = 0;
-  sha512.run = "f0349c37f2485d2c7b25c8bc4d046e65bb40a8ef582006ef9d116acaf779d0695f77f21d398e2e0b3b29f894906f814375d2fa3786ac80b93be4a55a872b0d95";
-  sha512.doc = "96c05497f1ca3e97252e340a4fd3fe775cefa29092a5b2bf48fd204bb3ff5fa9cbdbbcbef10e5a77cad124986b40beda38ffc079298c0cbfa3bbde86bf985132";
+  sha512.run = "86631e16388a447db7c521087eccbb666612933f6fee8eace091e00b20b5070d38ebc2d4d0a754536eacef9e9e6470f237d184e00cc4419bff85087f54b81566";
+  sha512.doc = "ad841ac652a7985ab907572f66462091b1c40f7cdab2b00086209a2d96056e0a9e32842dfbc22c829b27799882252da95e3d10d4a9dd174f487327d5f3ac3899";
   hasRunfiles = true;
 };
 "bchart" = {
   stripPrefix = 0;
-  sha512.run = "e9f2ebcfe1400848747538a7e8c1d87fcaa1d2f3266d31cd48ace41b433c7c449218fd14798ecb94aa3447eac83f36916d9147fe21806233eb1110a0abfb04b2";
-  sha512.doc = "23bc80e034ebe897e38bfe8444597cdb18bba54263fa99064fa70877c89f674bbf0033a5ee887739cef6cfe1e6e9917c19cc31d22a211ee04f1710157ba48c7a";
+  sha512.run = "b78e4017d0355107e1e73670c20457c2dc314dd0537bb3e699df3118231b5b3c0b2acbf50ca07f71216d56c81acbb031d38dea7b42099165a03a8049f62021a0";
+  sha512.doc = "762b75974de179360fcfe6057102919644a564ad2c3431ef25e2c373267ec063ac8350caf0038a5964345491355ddda4f5190eff6de93f2c2da7ab168c829fcd";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "bclogo" = {
   stripPrefix = 0;
-  sha512.run = "fe935cf12fba8288a53c68dade0ff81ad7395fbd757d995b5036394278e7945f42df69570815e7ccc4fbdef713e9422fd4158610c35f473a34c0f9623359fa76";
-  sha512.doc = "e7e8c0fa87e97ee88d5ac204143d6dc5635b648ffa19e8ed5151da68fe128752b6592601767b78d94b5b86b46a345cb8b244a19159d88407147bb6273d21d723";
+  sha512.run = "9afc02338b4141607cfd50d7678832304339d0b532464ada6fbc22c58d06dbc5a0793098c9e24617ba5296c3f7b22bccf16062017701608a758e4a26c05f12a2";
+  sha512.doc = "8671f8095005a0abec84a316da59f914d19d8fe0f4d33b13e73d6ddabcefd3ec7fedcfc8ce9dcf2ed3380a129f58bec16f73694a5d2769a18618142de93be38b";
   hasRunfiles = true;
   version = "3.1";
 };
@@ -1957,2185 +2013,2234 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "2da8f6ce25cf27e31971c9c896a05226d6946c7f01fb5f0ed986a9903d981778d44dbcd81cb30d39207bf9bcda887cc26e512199b82b33a2f4037d2e7723cea7";
-  sha512.doc = "475cd11570b41c04b4eac9d66a80d534760c72d39ca84fde8fc851a47b7b6fd58c6044d852bfdd7f8b605f294cfc55f48688b8b39866a256760717f4c6a31be2";
+  sha512.run = "42f934e74e50d48a5e9091b0b8a2ba1fcd42da22bea3e35a4e62033444e46841da16982ae66552396e7c1a8d7d3136dfd7cd1c0396828079df2615113692e836";
+  sha512.doc = "fc387ee6a0630df8100ea7d6b3357f7cba50d1022b48be2d6442606d700761066458359a8cb4e8c9751f53c3c0cd6c36382dd7d781cb97792e493bb5652c54c3";
   hasRunfiles = true;
-  version = "3.55";
+  version = "3.57";
 };
 "beamer-FUBerlin" = {
   stripPrefix = 0;
-  sha512.run = "6a3364865a9bdc85b86c9253b8a1bc50c2e61b2c4342fbac4e930b710a5fefc0bcf377a545a67e7ee494532d82be8f06bfe6e5f46e8b387bf7c6135e34210263";
-  sha512.doc = "420ab892abaaddca1633df4311097d6d138012780b1a4694e153520a3c8c97e76dfc9ef78df0e44472dc2cf1625f3c3f10932a9b88666fb902586b4d8579eb57";
+  sha512.run = "10d5ac201b18b2d7de8e8e4ce2d08255ced89567f311d449002711235e0e0d052b6001acf5aac198397e295e7970863d42a57ecedb8464c8d49a3eba43b6d90d";
+  sha512.doc = "451a4ff305191947bb594394f863c447a96b5ca8327a08a5897ed7486e1a3ddcfb7e415d4da613050e38c8a76388cfbd7a3631be8a84d82e31f25081e71e913f";
   version = "0.02b";
 };
+"beamer-rl" = {
+  stripPrefix = 0;
+  sha512.run = "4e7e9cae6b48521baab4d92965d5b4e14d9b09a51e95b45c4953a7c6199c29691e5a8e69a68c0b29d27d51ddbd1fe57ed21cc6dc6744fb0de2f7544848aacf06";
+  sha512.doc = "bfa9d52b34ad4edef40166e6a0355e5efd4508499a87c1cf4f643fe30f873366158e21706c06f43822e244c69b85c40d254c68d60a82b91e3a4381d27866b807";
+  hasRunfiles = true;
+  version = "1.3";
+};
 "beamer-tut-pt" = {
   stripPrefix = 0;
-  sha512.run = "5eae5f8ad64254a3600168146bcfc0797a17be35e36376f70c3dd4b9ebba7a77ce550cc9eaf995ba6897d34fa092b8cc55ba8c6758b2a3b93dee3aa0a4737c3c";
-  sha512.doc = "50da0b7e53773e74ee7b1a4e621d1316ebaa8bebb39110ecdf5cf16f66fe30c2d7121daa75c7d7443cd3362faab4917aaca54ca372793a63da00beee5b9516eb";
+  sha512.run = "6074f5933b945f02b24c31353bd7d683b35a54f53aacfa2ac19de382f56fbb9f6284316ee70c0eacea3760101d98d4a6b7d78412a0d41b13c9e1c907d181ee16";
+  sha512.doc = "ef6e80c3417cfad3e2f3e0ecd3ce249aa0b4cf0a6b5dced09c27138e34a8c86a74d0d03c6888d0944fe2b03bb5b8180872306263c58f54281f4ed2fe3424d4bc";
 };
 "beamer-verona" = {
   stripPrefix = 0;
-  sha512.run = "70b5bfcec0b24a1ab1d311c34ad7b90e1b877d7a7e8fcc793b0dcd339b9823ee0d1d1bff1a7db6c4bdb686423816f0ac7206d1a6bacc05e4b099c94b5d26f193";
-  sha512.doc = "0855b72a1a89fce09179e95e5e6396732cd112b6df17f5de132a6247dcd512f51151b09b9f0518c98ce66e08ce93c90e9b47d02608a745fb1aa84aa6403c84a6";
+  sha512.run = "71b241e603688bd22e10f171d32ea3dcca1f25c136a7c0d0cea3e72e936b068ea7ced6a40c03d2e2fb21e533506bcbfaf10f450493cb4e2c3df2981b714048d5";
+  sha512.doc = "ab68e6accfbfea7651dd43b55c4ddd86a66a827ecc6f6353dc58e3aad47ba89e051fb4f9dcc76e0e8081784385cc696fda9d95c0e82c71b0645d358afaf42c4c";
   hasRunfiles = true;
   version = "0.2";
 };
 "beamer2thesis" = {
   stripPrefix = 0;
-  sha512.run = "5f6d186802498f12d9c62e8c767fd8e42744510808b379e76f05d5390282dd205c3ab42071767bb46f8445f838ec8f18aee9e3e6a99aea32b5960120dfead357";
-  sha512.doc = "82d050397f0857325fdc1c3fde973c599323d43fc21875fb9e52c17a294edfe152ee5717f465687a7d6bcc960092fa2427bf4c67862d94fd30dab3d088fc8127";
+  sha512.run = "793ec95902fbecc2de84616b74494d7e34a1a1c88277277ee82bb172c1ef0cc42cf175f62fa2b4926abb73817b7eb258d85be6689b60a56e0faee941276471a9";
+  sha512.doc = "ea71d35ac3e02d3016b8d19d38132ee16960757c9846192cf2213061c9899a9788e98f50dac074b0cf83f6029f883eb1f7784779d0256c719d55490284cfc8f0";
   hasRunfiles = true;
   version = "2.2";
 };
 "beameraudience" = {
   stripPrefix = 0;
-  sha512.run = "59b3e7e6119521a5384a14cbe37d82e9a6ce2d697171bc36f59d1316cf158015b1369f51d857a8423e4d58f5f1632c8dbab2c8c973a212d2d81f9229630f4c06";
-  sha512.doc = "6b4ad94b7e7ead5f57bf506cfba107704f4683c7d44c805f698d6413b0cf9771c90631331d74b8cdb3917aa58803ab22476c1d6094b85854db60e2f5bd6f0747";
+  sha512.run = "f1fa8d1d30b00ea59b3fd83347fc1ea1e90135e51e8f4393eacdf32ae983a80e865d4364c924c74bb1d409ebf22ebb5e290707b945898db9e6234dd297553b49";
+  sha512.doc = "25fbfbf71ff66a80597b368882de63aee2e090e5604a67d66d52e99dd606ce54079e4a7350c4acee5966555dfa5dc8de0e650c7cb4c136bdc40cbe5739c0dfe1";
   hasRunfiles = true;
   version = "0.1";
 };
+"beamerauxtheme" = {
+  stripPrefix = 0;
+  sha512.run = "3f5585ec5b379f32d6051d604526ebb00673fab5236190226fce4bc2a4da3ed4c6a79431edd0c011bd34298d8bc2f5eb7a9dd9aa9b0bb15bfca0195222e1a37b";
+  sha512.doc = "faaf5267dea60efacd78f6ed055e1a8691729d96e3959d98ec315ef9802aa01a7193823973c488d44d21ecd845ae21bf51433acf007a34f806656fa6b3a8ecbb";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "beamercolorthemeowl" = {
   stripPrefix = 0;
-  sha512.run = "1ad8c26768778584b6b57e6ddcd5c54c15b30fe1ff916d514f72877edef3e325455187c8707d504963d7e2fec90c3865f81ae95eca2d678a6c9408c6124c9969";
-  sha512.doc = "0b41369b8a65588c57a15027451e38bb445dfb0f004e808aaadab8aa7ab78db44d42d47f225929c9016f11571d8463f5109f6ca082b74d7ca5a5d361c978f828";
-  sha512.source = "8072573a2f6fd9d6c2632e5caedf6f608cfc589ed007f8065434946dd0bb65b6ff9822d286abc6d247ada411ba3235276eeb6e31d07b11f9eec989162035727a";
+  sha512.run = "bf9874f0d7bbbe3f95c352d1c5e93c5e7fa3af18dd02eedee553c312ef01783420b035ac74f93eb150a99a597ff9948d978ea575963f4117d0965137446ee5fc";
+  sha512.doc = "258016683c605b4961ee25f30077cec69c486cf3ed0cccce2482db01b39141e122dcb46e02e960a83138d124aa269ec903379c3c6b65f3366e96565e90c2337a";
+  sha512.source = "940218da36cd17d38e2b8c6d79eb1570d6c779b5f694e9b43abf6614db93a8227939e1ef86678f72461752ca0acdcaf2fd5e52a45a35b6d98811511af5090a2f";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "beamerdarkthemes" = {
   stripPrefix = 0;
-  sha512.run = "dd36167a6c5f9bf02bd31c44657ee68506781486c7ada5819e5a926dbd1eb3c2d3307a0092094298bd2e2154d84f3251fab3c59a44a60af6f3342975555334e6";
-  sha512.doc = "9b68a9add661e492f058ef121f2b12d629e7afa86534903569037da654005dcca7707c8130ffc362ecaec99ad071044c10d24981ddd54f21777714a8a31ca981";
+  sha512.run = "ca30d15a7bc198e67cca5cc43dcdb8e644e03d1c8ed71f0b40c1dd0219ce81688067a82a0ab002b2d72e990e227f4628319cc72d5687881a3b886e213d7eee93";
+  sha512.doc = "6a1fcfc34793b93005b683eb0f0f4aae794c56e85fd5e14ac6e1c4eeed763f7c6203bd05c92755a2db91aea10f4c16117e702c291388153415dfbacb4b39d00d";
   hasRunfiles = true;
   version = "0.4.1";
 };
 "beamerposter" = {
   stripPrefix = 0;
-  sha512.run = "e4025f4796d1c46aeb45fec8754a9426d847fa7ee974bd4479f585bdd115ccd8bd0d42b62f2e55695aa039e93438d169b6bea664fa81a3b7e4b96d1e0d1b3cf2";
-  sha512.doc = "8f5c563335d4fee97814081ac82b2bfe855f929a14a5cc2eff1c2268236c770dd70959a4f35d41c5847c2d2aee66fba618d789a12b46f5c8cad5ea51f649e737";
+  sha512.run = "e4ade5948c1eb8e18cba3d3b7699686d55d57361e0b26b923336d295b8fb6c7cdec39832dbe4f9358c94302d412000f19b4706295af5856e12482bb3c9951a98";
+  sha512.doc = "88ec2b723a551711c33972cb72b7ab9ac13508f583e4e26eaa1c9e6d57d537667259b4f93e7e33fd2a5db8086998f6ddef05c363613be645eb293606d72cd52f";
   hasRunfiles = true;
   version = "1.13";
 };
 "beamersubframe" = {
   stripPrefix = 0;
-  sha512.run = "211591c795092c9549a029ce8a15249e60b6b23b66033e2db146ff6d2183a7cfd0f8cc1bd8d5e10aeed30f075d7df7a9bd4d1ca711d8f90348924793a8b3aea2";
-  sha512.doc = "fbf19e537a866bfcbbb2f03687d20d26ab989c3f6a6bf74f1d2ab97e1d3a198a485e318fa3fe05f7e06bb04deb5e7acffd881a743f8fdd56edf8adbdeb7896a3";
-  sha512.source = "27065ea9742bb24c49866cce314962db5311013e261958229e45f474cf42985bd901830f6621c29978ae06069eb8ce45e862471944780a310793e060e540a686";
+  sha512.run = "d3ab81c5eb90d8566eb850c25d7751f5a341107fdb756b46bb50b392741746eea356ff54ef1ceb6ca6f0a2c0dfb7940aa7cd6e3d0cd27e4328e817d1be454964";
+  sha512.doc = "85878ad48e6ba191174140517ac03039320620f246efb51c65e57541d9cf569d59bdd6cef17f10f6f6d85bff9532f6ea70175cb09b68ea6e59312a407d89f557";
+  sha512.source = "f4c9d5b2f9a868e1cf3dead5636025698137d63f64c0c528abafa0e5719987e6df9be31a6ecb9597824e5c9793172208908616f42f8980b49796368e217be24a";
   hasRunfiles = true;
   version = "0.2";
 };
 "beamerswitch" = {
   stripPrefix = 0;
-  sha512.run = "376fd6d1ca1004fad176c47048d2d917dac10d375c90385519e000d80e1a575e125706aedc0a68c3484c62fe865a5f53e46ed51374f5ae6600afc7cb0145dd34";
-  sha512.doc = "e5ed4de4132c18505394bfc3922518d7cdd9b9c5c361dcf983f950a40a33f209641aa4b6730082a8810c83457f753b8364013134ec7ec430786414ce00d30ffd";
-  sha512.source = "5ecdec798e7691bb2e702b0d785e4d8076b4852abd03fa058ad1ea44c85b7a80c9e296457dbaf6d32b388874cd82295135484a495e0b35e2d85a2ace1502194b";
+  sha512.run = "9fbf8189382ecee21db66a792beb737a89fcc690af35c4d604eadf0aef61669df5c5a629abcd86a8fea3d53a424c86bb233aec0ef3ffda0d2bbe156bf227402d";
+  sha512.doc = "3bbd226e69390e7a9add9d076e9b60d910a5c63669d679f171cf88d159ebb5f9fe48cc93e334baf27078d03c140a7607f5cdf927a17b6319fbdd7d92b54cc10b";
+  sha512.source = "31ca49fd909e406d2d679cbaac8cf2e1fa0aeb0feed61bd6600f83e5d58c970df0e2072671ffc73944abbccbb42b7e83384aee94ad8e5e68e60f456dfd537274";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "beamertheme-cuerna" = {
   stripPrefix = 0;
-  sha512.run = "14cfff03e827a5259fbd930330bbf8e26b3ce0eef589a66088d73c26031158e69eb4dd43d85e0742156bd37551f63049461cfbbe357b8db689074807e2fb1869";
-  sha512.doc = "cbca18debf464061f0c4dc9972bdc22cf2d862b22ce401f562b6113b27a5792dce8c047c77374ac29327bad0f1a08a1a5074652cd9252b4ed2a60c5e95eb64f1";
-  sha512.source = "6adfc06b1984fcf47c011f79d25a1ddd6c9f46dd162ac9a2643d93e91ce7d9c2946af3fa2d15dddcdbd3d3538af54ec350ed825930ed98ec2c86d6b1dd657440";
+  sha512.run = "f0433d4a4582958ad057fddcddf1f1f992ec98a199943bcf80a7834e37eb7fa5660258edb08e2bd9205628dc1b8a69419c907b6c007a1c63cd1fb335e439125d";
+  sha512.doc = "96f4e9c3afbb81a7841130ea076b2cd35477e93eb105c03add6077fd76981cbd14b609c3b9e573f143572764ac87b1ff76ce18c377f3bbd9b02a1ed45a02eaab";
+  sha512.source = "a4381e52d7e46336d8d8989be45c185156e67df776d5ad159f2db6c62c751dae59e0c19fa0c5ec3de4b0385047d5f6fdf166b6c12707c889cffeabe11802a10f";
   hasRunfiles = true;
 };
 "beamertheme-detlevcm" = {
   stripPrefix = 0;
-  sha512.run = "0d3ea01495454511d0df063c7443ab2837bc67954b4a5fec59e8ef2b78fe77b8c558bccfbe49ba685f91a58bb1f043a76b33bb75d7b7f0ba98e45090bdd4e52a";
-  sha512.doc = "03ec52be2389bb5afe87740e4e6fe7e81d589e0ee9c0f25a55ee8457782980739a41677ecfacab55200bba8a990d5abcdffa0bb7a7603a01ff050b0ae4e98500";
+  sha512.run = "cab4d390d7469056f2235c493b9383a4374c4a686810db428cfe622a4c2513f7176df489d22f7e37ae1f8a2d3303443b60c12c577764be2258b345fe9c3dc543";
+  sha512.doc = "2c637af44b258c688449ad2bbd81664e3086efe874d03352ab393487d7eae1148773ba39a498611a848c43824415cb5b860259111f6d287fd9e6d7f1c01eb530";
   hasRunfiles = true;
   version = "1.02";
 };
 "beamertheme-epyt" = {
   stripPrefix = 0;
-  sha512.run = "3a37399028752af6ad0a3c447532cb28647f1932a55aa9228fd82a2f8579839630244e072e9c11627616048eae65f97c9a1199382f135ccda64d7851d80bd10c";
-  sha512.doc = "a39a4e39dca8a8dbbdfedc8e923e1d6d1707b3e29852ff431e14022667c7d31f5c7552b2ff1751027ef33ebfb75df123b5adf65c25044b175739818e4894b9fb";
+  sha512.run = "2bf451ccfe095384aeec149e97d7022cefaf997cd19dedffcad5606fc149739cf21b6128ef08e609aaffd6afbaa59b1cdc401cbd3ee4fbe0e997d724b713a620";
+  sha512.doc = "a615bddd7955869d7e175f734a06308b166057dce0b479a4b11d2bd1d06fda7e0a4fdf8185d0a3db2d2302cea2890184616b92d0b7abd5321fe9edaca6dbbd2e";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-focus" = {
   stripPrefix = 0;
-  sha512.run = "1684f645ee01fda74d69fd84dec7bde7cfcca9b2b326717802f3afad35cb02a672925ef5a6fed8294630bd46d89a69d27a19f25424d78f39126123fb888103e5";
-  sha512.doc = "6f901ee3ec7137c1bab64c2c1949d157f4426293c1f328b9e832700c2e094efbe8aa170364dc528ee5b6e8927fe7da1a3e9ecb70e88adc8ec051943739dade68";
+  sha512.run = "52ee3fce7ed3757003ed22aedc66e7fcf54786cddd937920562fb9e84075e682a4fa9ac6af8c35e10b7995c92b5fe1ade1804194cb7ad7acb6e85dbc4e59ac85";
+  sha512.doc = "cdf902c6b053ac56dfd450ca4e6aa0e3eb2b12eadeaa39618f5603f409e6ce8ca69e617c6eec574b4991a70264579f3c9f533bd196c18579755d82a6c869ceec";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4";
 };
 "beamertheme-light" = {
   stripPrefix = 0;
-  sha512.run = "c76e7d0ae8d8af05d592d7420441cfbec4fbb601ade2eb33f0da28f124d24cc0738aacfdd60f69bca6bd4f3ab37ec69e308c9195045b1bcbe6ac09ca85bd6caa";
-  sha512.doc = "689674af209d2dfbf7c6a7c57662cc9dd498bff51e7e6dea6a0306a4b95f14ec6c78d22a88e2d159ba6970c3e6b0d90f092c47c25ce444163ae6cc6de4ce269f";
+  sha512.run = "5cc15c3ee0222678c1c97b31805421caac8b20fca03b1d748fd2a71756d5d764b8fbfb32ab70937e890f7755966b520362db98a9ae65be3f83509cfa287d600a";
+  sha512.doc = "e2d0cdb7fdabe582f2b6f1a656a5b9b61ee3680fd4944c06f108cf69eced96bed7b25e56563b1cb9879e8da42fdbbeaa41d769158c5e256bc70b5d695571a5af";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-metropolis" = {
   stripPrefix = 0;
-  sha512.run = "28a35e152e25415b3b9f4b0b18044d3538014ab07e4869167061d4a002b77acec11382a7327b6024bb17a12a58e88d6501a69cede645a62e0dd2770b7ca54379";
-  sha512.doc = "4f5718311ac81d5e92c21b01d4185959db332aa466d36b642318d50ad5f96f3fe734ec703d03638a39fa84e3c941359dd1f9c9ba033b16cee29e012c0871746a";
-  sha512.source = "d4a84769af84220daf19571397941d234d0b0e271ab87347e33618566cf9794413f758b6b5e2a12a46e2eb0c028c7afb5023f276de8e3b7978c0b302d28f09cf";
+  sha512.run = "dae8058ae5c2883b383a2bcb85bbdc45d0b0a3fab46a4498ea1f3b8568f04d049598fa78b72429adc7e36773905c67801e129378e233582f0fd8eb5ca4327745";
+  sha512.doc = "c4661061ea3ce52a20fb8c704042cf755b8b54549dd62467b1e78f85a4067c11a02c89422384e96323ef277ce44a3f648b1778b54e0b5c79b721f67451fabfc1";
+  sha512.source = "af3cec1b7544ecd51c875a704605500ee1ab4374df9cf1a7db6c6b9102c4800651485a64dd865c1158d729c06f2499021408230c50278da3de40f7f0cac7bf6b";
   hasRunfiles = true;
   version = "1.2";
 };
 "beamertheme-npbt" = {
   stripPrefix = 0;
-  sha512.run = "a80e5acd243c701bc915a775c3c2934d4597222fdf10ddb6b7ce50cc97ce6d161e889445a28d77b89f7ed00f92ccd1cef42d752b28437c01e902fa5ed9235f4c";
-  sha512.doc = "41c730bdf265562c62edd3bd554629d62fc304faaa3147fda39bb242fa785d2c46ceac59421e431a51bbdf5d51a171aaffeb4b975c050c015646da202ad17d03";
+  sha512.run = "bbc620fbe30505183c4678e0dc9c7574ba93a4c410647b54609c310918e32a638265b07633932e2f5f63fd2ecf8504869e4f3f138073e666e1341a4d0aff327c";
+  sha512.doc = "0c1f5df1c664a31e400f4d05a9f2b57c4c9fbf881295fa8165796944a06ace35641487df93db33276924d4e7c5b9d6c621aba70e5ed9ee61dc269af3b51f7a2a";
   hasRunfiles = true;
   version = "4.1";
 };
 "beamertheme-phnompenh" = {
   stripPrefix = 0;
-  sha512.run = "885323e17e4f6034d524ec6515891d8ba0e1f6902e394f0cfbde6d2c48cf3d2da80c5d357b7e2234a1e127e592625c7e05c20097c1417bd8b33c37e67d4b9f77";
-  sha512.doc = "3d2976123e5cae274860186250dd641c51b83510ca459c95d914d774d2b8daf99ebdca2eedf52f07b647b48f174e674f51f077526fc62feec5d83f0088c5ab52";
+  sha512.run = "30745bb1f92c230bedd953d32eaa6f2085ad2aa7f147bd3368fe8ebe4f6092ecc615acce55b9573da4dc04c8e89877ba2705a6712cd4c4f67f34dc59eae97880";
+  sha512.doc = "626d124c6ac02271cc3bc137e60b8a66a861b7f692910e9fad283d8836599e3adbdd1ac472fe66955a392d1b563e955da852cfd5a0d712d284fdb2dc4d709a63";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-saintpetersburg" = {
   stripPrefix = 0;
-  sha512.run = "0a8b3c740f544be730c89c0acaa67c0e63a8b3ea59b0050146ab2a4302147f8621c9401164394fb36a0b68d46198754bb433722a406394b22c0a3c4cecc5a284";
-  sha512.doc = "afda6487994ddb7fc37469bc17a00521ca0916060217939a6dc1483355ce4751fed74f11c3928d2a6b957ed2c734b5be7a425f3ce70e8c71a09d05630c74b1fd";
-  sha512.source = "76dce1c6aac1d84cfcf4efe00fbf658ed31787168caa70bb64ab37a23bcd5c8b90f666881f8eb74e655e722186fcd48091c9ab860c2b2fdf0e14c76bb836e523";
+  sha512.run = "c258a4eee25ccdb2437625982e54def90aec87be003f697a47334be52b85ef223b377c7fc57d49c889121caea664fcd6353015ad2e62f5bee5379bc222958f53";
+  sha512.doc = "bf51e2bc33f32ba3dda6c140040a7499a60c26082569729743228a6c7abc97fb20076d1d0c7d0b64a25a54cbba1d9a8b59a9059d160a5a488ef6641999e8611f";
+  sha512.source = "6cd3ed424b3a724e397de3fb7b47de33a5c9f0c5ac0e0f8b26bde55ef69b66015874dbd438912c682c9aa1c33e4e916fb895458964dea11fe228e29c1afc40e8";
   hasRunfiles = true;
 };
 "beamertheme-upenn-bc" = {
   stripPrefix = 0;
-  sha512.run = "32e62c5ba552605ad3cb7b1dce10cc49e2ff9ca7c03d0df32cc45ae2d31a9fabc1235d336a742d884d551d654e3db906d17a172a138ecd788133741210e4c984";
-  sha512.doc = "4def312d429c75968e6a303910d23cb10ae09b41e8dd4e8ba12de8f978c91bd427f363569c9187acfbf9a589377f52105346b70ba4a807da41a4ab4d543821f5";
+  sha512.run = "0c483991348107a2b9102e514ec05838a9ae3e97dceddcbf3b8cc21ae635a272c7d70d97b2e1a0929b7545e50560f16a71f7b290ca16cdfd63177782b993b714";
+  sha512.doc = "5feb0a4401d9ebbc4672b7f9668f850fb65002c7d7124c607009775149c4c428642cd17df133ae80d564ab091fdff039d34c1704360033f2374b55466fe1b618";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamerthemejltree" = {
   stripPrefix = 0;
-  sha512.run = "84c1d8e570bc298be6c4338092c6826014ef7428b19afb5c874e117b87d3c6249e4a6c9bd14a3d63b94afe6e45fd733bb61854b56deec4dbc45edb2d6ff00f18";
+  sha512.run = "b079ceab30460a7b92a616fa6d7216ddddecfa02adfd66bf38aea83eccdf6e63cc52d8b2ae88db0b21962af223b364424227806beabbfb2e344af98474af2528";
   hasRunfiles = true;
   version = "1.1";
 };
 "beamerthemenirma" = {
   stripPrefix = 0;
-  sha512.run = "3f113b22993908b0c69ee770a808947d01a313451564cc75f82820ff1618cb5bae90fb0118a74252574eada0e0e3ed0ddf6758575bdf70c6f6e5ffe735db104d";
-  sha512.doc = "758bba0c73ce7420aea4f13c5a618ccfba1878b9fd7b5740693c73352ef12077158ce249a927e1de9f033ec1959c73946a6f9f3a1ad3e0f395ea11109a4791d3";
+  sha512.run = "6fe83e0805fde96d585dc027ecadd23862815171f56f6a05db0a6788018a096c193c995895f7ca18af6d322877e24d570743d84a922a2c7e4baef35d3f6dfca1";
+  sha512.doc = "13f1dfbc8f09662b627dd4ed6c7ff297612c5d05a140a446ccdcb6f0ad3a9995b434d418994cccc2323ead666eaeb10b32e1a9d410a38c632df9873717397231";
   hasRunfiles = true;
   version = "0.1";
 };
 "beebe" = {
   stripPrefix = 0;
-  sha512.run = "f10234d7927dea651219ad8c1507418169eef411045b361d44c874a35ba3e2a0c40b11880e7193e87bd6d11d96a71db0ea547e92678d178ca89786e84c6369d1";
+  sha512.run = "12e064422d57b50d7c5600faee4f95ccfd14503da70e8540f72bc8d5de46fdffb62307a76c569934210c84de55b0eb5e625fef5df900a9848646956b0dbdb60c";
   hasRunfiles = true;
 };
 "begingreek" = {
   stripPrefix = 0;
-  sha512.run = "e9438a534c11b031c2ec9b0bea19e6f6795728730204d9ac8754e8d68c56902d05ef7b69adde88fcec996956dfed6e80d70ca08e7ba3d4de223c180c3cc42d5e";
-  sha512.doc = "78c444d77cfdf444631199c65ea28543734d05902303d4cd7d8e2d0d2db0bdd79f0df936c254b37fe2ef52618ee5ddb33f634d09b4557296eecc03115459f957";
-  sha512.source = "aa53dab7f869cd83cff26d766f30177f981d791593b53f8f14b54e8aa4a96157a2a3f7a742739bfe0eb4c6e1e5572eef7e9691746fc8060d1907efa0a2af5eac";
+  sha512.run = "88b3bd66f458eacdb1c4da1cf4a44de333ab45f3d498eecc1a1d4b688c955b3a759a620642e3cf94268136989817f97d783475740a0c16d3b5578b670d967719";
+  sha512.doc = "3792be7b825db6ffa7194a0cad8d8ba0c2ab3ef64f87abeb607870702612a22c798a61e8b07d61f21e1a0db30c4645c3ebe03bc0ac7c297fbec163d9cb91f22b";
+  sha512.source = "605588a60e9cb2d6a3be3d8dfada6468dfee100eb7739c7ce3d264af38d305be103a62b267b8f05d8a57d9bae273f930b2e4dcc5f3352ddfb8c1e50ac81ae7d4";
   hasRunfiles = true;
   version = "1.5";
 };
 "begriff" = {
   stripPrefix = 0;
-  sha512.run = "bcfe8cda8168d494caa91cf4343dd85e58928fdb066fc7e8e3552a58fdf74d2332afdd831e82eb33ac6cb17a19f7f31c4cc402d24c58ee5607f1af0d56b130a5";
-  sha512.doc = "fe02812c77889b7b749a8f77508ddefdae0a2209a91d9f4f78c84c30e569bb9997f5badfc1548e5a56250eef90b9f2d646dea09b9452ac4c03c31629fca0a40a";
+  sha512.run = "ed1060e0ce9bad28f98481eed44f8bd98f6b8be91dd5dc87d5c34a6cc57e724d175fa909fd6ff514399eb81bd8f28450f7c9a6c6a9bc991f35d617a8a25de8ed";
+  sha512.doc = "af28c20897e297af4ca1fb13bb286ff0eece9e2f06f5b734062716c0c5f5b7dd673d046a5a47c907f9a845a7257393f3328d46c4ea2ac0ae6b0eff1244e97256";
   hasRunfiles = true;
   version = "1.6";
 };
 "beilstein" = {
   stripPrefix = 0;
-  sha512.run = "70bc371ef9cab18a57a591d812a3eba372e840eebd482c1863439a5cba314656682daff6bf9ec5ae96fafe62b3cbd928600161d0355fc55c3d3c77a2834b6ce5";
-  sha512.doc = "029b0c304ec47cfb48f0b865def8f947dd73ab321820ed84ef36d13f6c71efb7f80d046921467546132c98482a3bb09182a2cbd9206975d303441a3b8d3ac667";
-  sha512.source = "f1d9175620aa56b4f0f480293e54ee0d98abfd3dd19c8a4faefa7472241424723617e57bf4722cdca02b555906a8d3aa0dca0530cc61a0f6529277bb65b75d6d";
+  sha512.run = "b581df03b91834de1382b50dbcd1c4df25d8d3c1788889bb7057cebf3193fb664ef94f63b5c137f7ec5e3ce7a8d2d40fa3acf3a2640ba1e2b7b94daaf870841d";
+  sha512.doc = "00d281b248088fc0e31004bd4eced9a9eacba7f4260676318e13452e467d8e4587a8493a6444e709b76c18902ce766e35cda7ebf14595c277b59232a66e76e4b";
+  sha512.source = "fbaa3aeb41641adb0dcb559347b8eaf30adc79719d305d26f62bdbc2a80a913e4dcbb6507f7c2353687011a02fbf43f0fa49a67445844e4d37294b7ea4c3726f";
   hasRunfiles = true;
   version = "1.4";
 };
 "belleek" = {
   stripPrefix = 0;
-  sha512.run = "b23a7503b006289a4572f9106b9ab55dfa5f16fd83b5fd75cae8f7d7222233c68201e4527d27b35334d76bf69688552855e53c94a696e4b95116b44923b41f82";
-  sha512.doc = "8da8fb9d1658d30d5869d194ab4e715e7f34eef3516d3a1423f497d567a9618f66dc98856c73f85ab07be6a70154b8d579c95c6696dce701064a53eead01ddfc";
-  sha512.source = "b9807058f865fd55ac6e2df43d8c83216e8b2ac1ea6f41b5445544b9f0de8fa4e6099e165e46c44060e91b191f9ce6ac8daf719b20a490743f97c733c8320b9c";
+  sha512.run = "cdc7499ec32c26ac524caecc6b5c1f30f3ded83d78756b198b918d321696f378e6487f528cb3781a44f3485110dfff14a14c9b3306e22ae79a8d262c1f1baea4";
+  sha512.doc = "e974e00c2e43d01d598c18f664e8ca3ca9259ca55089598c77468d6f50d0cc9a64d4fc23154bf9ba7acf3b9b9ca406beff24623eae5b6c3ce4c167904e5fb720";
+  sha512.source = "27ea3f4dd1ba7919bf06dfcdcf7b1ca4fa609759a58dffd91fdb2a55662e58e14e19d855d93ec932d176060ee332d89e02c9d2965ec545adfb10f3f486f8875d";
   hasRunfiles = true;
 };
 "bengali" = {
   stripPrefix = 0;
-  sha512.run = "473e220cee0cfaf9682d7da8321e9a77c30f42f04c54a9e62b9558b8b3cea34a100e7d7011bb9383edf6b42d56c76d7104634952ff53a96bf69e13dec6c6767d";
-  sha512.doc = "34b1c3c5b7fdb693b6054d02b0b8c8d4aac26eb56cd143256e3dd88c796f7e5e303538bb8a69607c48ac9b19326fcfeb5e1c1d82898b9396fc3e469605f6226b";
-  sha512.source = "3933748b554032c52f2349ff6c03e45861b6394feeebdcaf3aa119c5a3dbe7886ebb4d55bd7526dd1998c662cf638d5070ef91be34d5036b92dd5e9870bad379";
+  sha512.run = "384c07640acd5d4ef2fb661d661f1f3550fd84ed08e5345ec71cd7b3189560cff18c4992a91c13812e5bacd06364e3cc52faf6fd32d01a4fac1b2928490f97b8";
+  sha512.doc = "cde57bbf0c8eb52b92973f80c7a780d30967fc2dc0624f1626856054bc0005a5f0e318474f145b9abd60a59cdb6e87e8b4a3b03b4b18282db758b5f110b46371";
+  sha512.source = "f6f8641cd631870077a73c702da0d7718b2a06236da608b3ad6cb81e60530f93328772e97870c3da8d6e3ff9106729db5d3137c56329f6271a9b1810a565c189";
   hasRunfiles = true;
 };
 "bera" = {
   stripPrefix = 0;
-  sha512.run = "394647144b463a319bb5de2dc62a6b56cc17fd87b01d787cfeee2c805e576d201bec6959c4d8fcc4ae886bd261aa5146fcff8e110a56dc2622662a7dec85df1a";
-  sha512.doc = "b84a6d860bddb5f80bfea55d89d5a6304cdd05bed2421b16c31a17f6af418a1ed5a3206c68812fc2e7da1d743a33c081dc1ba5aee8a3166b002908b8e814b3d2";
+  sha512.run = "103b2db8f7bccf6a9729faae793246d2933667295ba404fdaa7b61cfbce0f1209ea27e7a2a63846c6550b41214ff496a62598bbb9b731c087b8bba9e0abade80";
+  sha512.doc = "2606c87871d6f6ed27b2a5e49117c50f00573bc6b9ce249d1433da214764b220eb00c73e59be43e32e8a4827c397c53504103e00b7e5602de5df5bb817e2145d";
   hasRunfiles = true;
 };
 "berenisadf" = {
   stripPrefix = 0;
-  sha512.run = "cdab6b1e0f40da8405a61e183ed9db5402cb3f2e677d0b207a63e8f08f56c9fa20f24d90b03e2ddfb7f9c8379a5b48767868dd51cf460b7a6ee0374cd5a885cb";
-  sha512.doc = "462f32322220362de29295c8481e6277172f7e67a3715f24e858b0e819ad7a1b2c5278faccc2c01532ee977ef7e89f294b404c7d9dfe25944268bf61d2ef89df";
+  sha512.run = "70dd547d0c5138f2a61e20b4585160e5fef281bbba72ba8dcc7032efa957d80c158ba88fdc0dda9982dbcd69a48d5d54286f52d1425a5819e54e05d79eb9dd49";
+  sha512.doc = "f076717ff948247589225fbe4fcd92114d719526e535d645d767a3f7fdaafd3a6ca84c3a60997074186974ebf045e31a51d16d53c8a5fdc78a2461733cc66372";
   hasRunfiles = true;
   version = "1.004";
 };
 "besjournals" = {
   stripPrefix = 0;
-  sha512.run = "71ad16b7da18d3d9db8f9874ac0fc093ea8d0a52c8d0603627dfe87cb634cb72c6efbb22e721bea3920fd431efc25621cc751eb01e056a762252846c0fe5f4c5";
-  sha512.doc = "e84cd65531127338af749d59a70b2c929f91b2097f0705f4af2e76f3ced5f0adbb3b0ef202045f69615123232e5462d1b97ff406d4c8f3a45903a998175bb190";
+  sha512.run = "e797bce36fa6529d6b57be352ed81b7413c2ca818fa904a8cc4c7c8f0801369543482aa5c286b40f6f7c5e0b73d53b6aa6b9aaeab3e6229da7dd954a3dedb1ca";
+  sha512.doc = "c790eb0ced559adc6696f0f228c88a2314214ff6a4ab71ae03dc46b3974cdaae53fc685c05f0bbb7646a5b31d332f763fce4a71919319aa520965f56979eee54";
   hasRunfiles = true;
 };
 "bestpapers" = {
   stripPrefix = 0;
-  sha512.run = "1ba9fb88ab2b58d5ae951acd64c9995b99ebcc20eb5e80ee2637b40ea909a237ddb43f000a6085295070d4fb09ea3d701ba53774665f568ddbd9425222437714";
-  sha512.doc = "e232ddaa86ca8823d2c5ae936d0aff86e2696e96781fcd52b0f21f79cc6e77a148d55e088f7446cc33e5d2ecc9ccca7e0975f0ff3bd99be9f9c89d2891c00df0";
+  sha512.run = "d015369a268cff98571985f319f95df9ffe0255ad222e8c8133252c3ab5537cfc4c3ea11aab13a565c096e92472d7724c0ef23ce6a71f62c7a5fc2b30382a054";
+  sha512.doc = "cb5e9bbcc83b6081dd0207001d1b39c6e089e2ae168f20d1cc87482560a483e4ea195fbf208c342ba691d3c85ea9f4674b2eb6cf68db9f9d83d3b98bbab60dc3";
   hasRunfiles = true;
   version = "1.0";
 };
 "betababel" = {
   stripPrefix = 0;
-  sha512.run = "642900ca6b988de624ceb5de581076b1453d79e05d366f1516bdd753194385983da3a5f1dc9c4129dcd07d9f25cf7643f4434ef38049e7530caf7892533d74ea";
-  sha512.doc = "4fe464a60ea67365ec91dc2b3fd29ece0a1876418d3abfd441a51728bc220cbf94e0872e4a477cff70a16baa6f1a963591394f1c83f5fcae81680cbc6e3902b3";
+  sha512.run = "db2a590e8ed5e946652cc54d5c01bd540b87f77253278f9211c8720229992275f80edc26d0c94b4f68237d84a5bf7b56bd93a40e2a0ce8df5ffdeb124c81d219";
+  sha512.doc = "209f8fc6123f8403bf6a30731773aeea82c5c6de123e24755e9a22ca6f3ea170015feeb541242a772c3244e7b74f1a766e95886e4f773f21c48b353f22d6adce";
   hasRunfiles = true;
   version = "0.5";
 };
 "beton" = {
   stripPrefix = 0;
-  sha512.run = "62c3166cdad4825d4ea3158c77bd9ecc0b8408b76cc6610e01ec90b5ccacebfc8f1d7e963283f962b8ea9036209faa96e11a923b85bd88c2666b430036c4c10d";
-  sha512.doc = "fc795834407b69a59d0333d1879755a573d59ca84087293d69e05f3d52e289d2051cd769d0ddfc2619c56e2b42af94d7ac9dd529fcdf7d70c5fc153c8f0f08b2";
-  sha512.source = "32685a18a2638854f81278f50ca942ca50b4610835ceabd3d8e27b988b617eb0767c1338b50828edd6fad5a81e5ff7efef93d854b1bec05c5732692f98ec6104";
+  sha512.run = "23d243f15a79246aa590a7ec65249724a4460ac6e3ac01dba2aeddfc169875dd8392c1374cb8459ff84210d51822430fab9d75a87f0ece20323cd20709de0c14";
+  sha512.doc = "fa579427c97f930455bc548d5b438f32aa291d98f9d8b391dae686b270e135605cb3ddd6cfb9076cb248a17eabb4e62bcf4f720b2daf829b3d12d6ebc294f832";
+  sha512.source = "79e129919c06ef083e4f8fdcd88a60339591b3f95776feb9cc076e46fb379b5ab10f9b48f3b8a948e9a120412f818dd3d99cc24957d3eaa812bbefb388d91049";
   hasRunfiles = true;
 };
 "beuron" = {
   stripPrefix = 0;
-  sha512.run = "da308b98387f1594bc8ff68725249499605c97d12eadbc47297e2e142334cd32459042e446ed8bcd13690038407a0b776945e717f51c5e9109ed2fa4a3551f60";
-  sha512.doc = "4e02e575c17c7438c0a0dbf50e9153f6c589d6d264c8e56aba0b6db12f15edccd235ee50d1fce3e25a152b449fe018dd7669f0b6c5f8a491e93cbb2592795b78";
+  sha512.run = "623d3b7d8747ce1776de9d0ee6eec013c2050f9cb4a521167bcf23435d5e30c1233ee869ccb299360cfb6f8f4b4034a77d4fe601f789211b290684c0858462a2";
+  sha512.doc = "812dd30a9b49d7ab5e529f3c7ef934be5d72b75adeec1a38cba77c867525243ffd0d4f4901c9100e6518eb0a8c35e208157b8e3669d3700203ab7fe95aa29845";
   hasRunfiles = true;
   version = "1.3";
 };
 "bewerbung" = {
   stripPrefix = 0;
-  sha512.run = "bf2a1fb371aa934ed6be68892383f9bfb199830c23d322f2a95d7b256c42a2d44364cda601dfdb160f6020db9afa8b657940363d0c0eb00f7fe8230af68fce44";
-  sha512.doc = "a60b5b9689c80950a981ffb7d6ff2d99248a93dd0dbca27bc486faec1226ef2e568b1a8320a1b6771e807c52c7059c34aa987007b94312310732bc85501d2c20";
-  sha512.source = "c5acbd6482dc44872f832e3ace98c364b13479df01871785b0dbd14f0fe8b17325cd892973ccf64d86be2e58bfce3babad6d8a24ecd54a8756e0c73e00edc112";
+  sha512.run = "a82ffeb4fc7fa5bc42f06476df0c985d59d70c81b34ab50f10cf2117f8861a09b90ef3f53bee78291842a46fbc15bc40663d65b88c7c682c72b25fc86ccff2bd";
+  sha512.doc = "d9fb4f9da944e132187fce6e987be8eb0ef08cce80ce63e8813c1af8738dad61a93aa7c2e214b3ac0b77c980f8a000251ab9536c8a7557b9c7cdf66ae42fcbcd";
+  sha512.source = "260f6f1b5484358c7b558f8b78ca68ec5ac691fa367e634e5fe6f29b06ea9eeee868bce9e10717971d85c5ac23b71d853ed746842ad7674f7e913cf16b9def47";
   hasRunfiles = true;
   version = "1.1";
 };
 "bez123" = {
   stripPrefix = 0;
-  sha512.run = "146d5d569d8551456c92b0e1650c3742e2cfc32c8b27c562e13ac875eee0ffe12244a1c86d6456291170b7362ceeff5e45eb5e3a897fc72c77f80e6c3dda3b87";
-  sha512.doc = "39514aa357341f21ef2e0c9e9792e9a372a7f9719e50d759ee8e3ea1d02113f73ee590f3461776245807af00f62bcefa1d612ffe17e3aa4bb380e80bf065d51c";
-  sha512.source = "4ed3956d6bbe7b07d5c412da0189d33f523b902ed7d025f83fafc2fabf961165cb5c3bd148aa32dcb29cc706b9097b0a8111acf5a6b5136e9b27236aa2dad3bd";
+  sha512.run = "e70a0889ceab74fcff4994568a97f31ac93165353ac207ee683b28aee2ad3cb8f770d8e3b450e3237537e97312a0995fa8c17196ead0fce55fd76a49c77de72b";
+  sha512.doc = "91ae5e35394e5bf3a6bbcc6aa7d7180ba546b58e84683c569bc34f5b0f9dcc6ea30153305fd83fe28e3bcd8eccb6179d277d28e1ff56538fc6980a7c3ec8f444";
+  sha512.source = "fc329c0c99ecd10c42bdffde10918239874367e7b54a75c4de4882e520ea82e87188070775174a11621dca9bc5949a850207f02af7c08d1b6768ea87fba7e10c";
   hasRunfiles = true;
   version = "1.1b";
 };
 "bezierplot" = {
   stripPrefix = 0;
-  sha512.run = "81e6e9f0e5aa975480285b2285f31254cecc8d1aa1e7fc8a73fbc712817ce0f00f593adbdf2ace949b052782ca9af16f5c7d7110bfddc1adba3beba237a34b1d";
-  sha512.doc = "f9b3afd507446f9ccbb70efba3e9e1ce195ee5e9ee807e4856ea9dcbd550197c179efeb5127b864e6b2931e1a4a49fc9e2e1fbb1ed13ab752d1777508230eb9f";
-  hasRunfiles = true;
-  version = "1.3";
-};
-"bezos" = {
-  stripPrefix = 0;
-  sha512.run = "7d73937327ced324369c5b1b237ffaacd8c20fada22141b7ff3f330cf6cb94882a06466263fb604e7a3f0422132073643e980ed40d1d40be3616ebdd3c0bf38e";
-  sha512.doc = "d38dd9d243cbf7b24ee1a7db1da4e8c39baddff328c2d6333389558e7f7575218c9a731bd24a9c143d376d94e001e476e1bfa2d3d1eb348d5fdea92f46df8e16";
+  sha512.run = "0cfc80b93b76053591f4d76e3cd2f5518dec2dabc397b0d18f0d9edb40a0eabfd1ed608b0cbd6f4b7b28b9a10a9668b21f9ee798514bfd3ab4cc125392512d6c";
+  sha512.doc = "284cce26134afe943c4b5c0b3d968f2512fa1c47ed1f2b19e70f48d618829b76ffc200933933f27b407e1086d95f38a4e9ecfe85506ccc2336cd5fe7eb40bf37";
   hasRunfiles = true;
+  version = "1.4";
 };
 "bgreek" = {
   stripPrefix = 0;
-  sha512.run = "d05691e076bb2311a4c93d81a1d16082c3271956120df1ab47c9b70f22eaf643e0ad0177d4223f9d8731f2704dc9cb126dad8582704107b2fa2a2c900f189671";
-  sha512.doc = "96cdf8e0d80cf85f1460fdc2a07414ec5f26e8e931ffcccda61c138d9a37689e09703fe44f93b66f75cf97945ddfd4d12af442cb88cbf9ee7c1e1394eeae8c13";
+  sha512.run = "64a0a2a8e19d7fbc2953b8f1e9fee90d0367e5f943cbf146489e930d6a946f9977c32b5ea3fcb334c2c297050b36292f813e073e35866a167ddddb72f123a2d6";
+  sha512.doc = "b5af046a386422400434b1c5ef441cf1c2ddc29f5d4b089aab0ece392e7ea81d9ba224145d612d721d13f05eab3e4b0f2cd6283f95e096d831e6e68074d6fbf6";
   hasRunfiles = true;
   version = "0.3";
 };
 "bgteubner" = {
   stripPrefix = 0;
-  sha512.run = "3affac191c0a3454e4436621319289bda7d8efab1db8a12dc2901e02adbb3650036a4ca36c122a84e00de644f2fb3ca1aa9521a262d2801e2e1ec0b95dd64fc2";
-  sha512.doc = "2c0b7e8ed9b150a54802978a8184be7cdc8b8389c735766f36e62e4f1f6ea58244caea773d3187a3a551476c562377d1b65dbb1226280ba8553e07152d72f346";
-  sha512.source = "591c276c3b55c669bf5308c1df0b072919c575fd62b77a0569b3cfc838e6a681377b757ea2ee18184ffda9337a43c71493f12264b5fbad40b9c806169710ec50";
+  sha512.run = "0bf19f7ecb12194c2d112ab15226aaaed3737f99cb2841ab9c755e78e3fe92d43f8c1e3abca566426f1c16bb4a200790d77397129da594239aa9d2f9a6ff0a0a";
+  sha512.doc = "a4277960129fff04ba3ef6e24463866ae75ae0b690d8e95f618a7c95a442dd02e84d16793a4f5ac12a945ef3b4bc7af05fdc27e551c0e8c92c141081d6a71cd3";
+  sha512.source = "5d20396e63bdedcf2b94222b8e060c498539f92bd99c9b78fc0e0fa44eb95734dfcad7c16e503f33dbfa8032f49d7a6c1020a8a940077bba36ff73f5ecd45ef3";
   hasRunfiles = true;
   version = "2.11";
 };
 "bguq" = {
   stripPrefix = 0;
-  sha512.run = "04737d397713765dd8ae4a0142f1263c76f38d9b966ebc7f377ba31b65cdc9b68517d6edd0234605d951e114b9659f3a4fb611a7cd8f9d2595fbc2b309f5616a";
-  sha512.doc = "682af7fc714ed4e2c33f0941a395f1de6bd8eaa5c29ffb0c27db35fcc7cf8773350dc4cb330eef1020790e669707e39a704fd5495e03ff8c6872fe43ba235126";
-  sha512.source = "792f71b5ce4ea8526a8e1b6503b721c26e9cf4320bbb68e19189a1703aa4394d5cb559308110faad6486f796759dc5de065419055d2b5ec7fabc9fd70330f20e";
+  sha512.run = "8a795ba517941a07ec1445a16947ce5028cfd61ba2b5c818bc894ffa73d439162271d6269c67c8ee7afd6d13551d4a9bf73763c00b719bf3a9019a8e7d368256";
+  sha512.doc = "1bfe38f2d904af63a5a0fd2ab4accd04fbd294083cc462f7d53f79819f40dccf1c3c729ad591d15327eb120bce847ae62c2bc9b9554ea278c1974e3b37296dc5";
+  sha512.source = "108ecf4268a4491904d46f5aebdace10f8aab84a4333fddf94788b677088a584da284fd763a8f0ab19cbc335a3a143489a49836ba059971483faeaf40ecbb0de";
   hasRunfiles = true;
   version = "0.4";
 };
 "bhcexam" = {
   stripPrefix = 0;
-  sha512.run = "e5ceb38b2104a29bf680f85a12e8c80b58d1791a5ef2c1475f0b00aa5967da7337e7003faf18945e16a1c748d2b3fad18b4509d6a33829661f500cc828bd6bc1";
-  sha512.doc = "7c4b19e9eb34eaf5db0ff6480ee098e7d84aeae641f7711ad8f18c07dd37f2ecda51a98639fdd97a478df42419b9613716db0434347e32bc8e64193a3e1b97fe";
-  sha512.source = "5a025592fc83cb9982108f60b194dcacdde023472c012b9667e7536c21d4e653d75cabca4c5e94306267d2d704507608eb30a9c29a1237ad61e23876bef1ae5b";
+  sha512.run = "83841b8ee51766a9fd7acaef2f2c2662a969e5e6460a54db66e1b70138041eb799eda2e4881b0a2102a00019464a26253ca7d36d7858d2d56684f104bc570be3";
+  sha512.doc = "167f5a65edce24e367d6cfb7ebea877b13b1d9cb6f406689c9bdcf364aca0ed04d86c0c1cd3694986dab2ac10230818cbf58f8039568c3e5d9b6b4b98bb93ec6";
+  sha512.source = "ff1583e92e3cc10efe9baaacb523e87ca1884db4203eac09d23c246c1dfa01c5f828d595d03f88241ba4bf80b9cd7b5c62ebffc43e497bebd04144f80d5aefed";
   hasRunfiles = true;
   version = "0.4";
 };
 "bib-fr" = {
   stripPrefix = 0;
-  sha512.run = "bcfdb3fd1ad626544ad2434f544dbc3827b3e75bcb87bf32d9ae7ac8c404f6d008f14f2c3b45a928b8db8339f5f47fceebea685f848a13ebd50afda626ba16d6";
-  sha512.doc = "3b3d6d58bdca163ea215e5368291a086b6e02946309e37d0cf106f87712c0ddff57b0de49d4a5704d677016ad43ba00a4fce8962f8bcd2ef9df3f49e329c2c15";
+  sha512.run = "24e5ada94266ba8786470453bf8a076891e9b7efac1ff64fcb559bfe2c95875d3120634f94f464c9e40da0f45b18a78af1bc428106b31e85851a2998b58f0834";
+  sha512.doc = "a19ffa9b3ce51d372a7467bdf7e360ac4a0faf45fc2205eadfaff16fb640ffb0cccac7fd0849a74955dcf612e353f0e25f94c0af9e3b5bf617f067606c1da120";
   hasRunfiles = true;
   version = "1.5";
 };
 "bib2gls" = {
-  sha512.run = "6d48b9422d0c54a112706ad92f4dc2e2a03e7417641c21849d183e3a81668a93d7c5df306ddfbf87bdf67a5701e008c2c523c7f843cc5890bdb4c95b2b216d53";
-  sha512.doc = "f6e806e9a7f2fdbda3fb4cb5e0d44d7357315243b01647b75adc52feca5bec62537cafb43664f4b5a6d0d7afa2d5e0d33b5080fc3359656f9e827d41c8e3de03";
-  sha512.source = "c8cbeaa9b08c0aeb3e0236579b77ea1c5468927938efb86ec3dcd8e51e06cd363e2fe2861d9b3e80b25198daa2347f071be5d4d083785d53990454e7bc7da2d8";
+  sha512.run = "d96ac64723c13e4d17780ddddcf526840796cc329358cc1672ad12aed53d64fb09a828d5c0501e398fed365193784ddcc74bb944df8a924385e63a1bdca938da";
+  sha512.doc = "892a57451f2a9f0083388a22951f04ff2610c2754e66d2e9f1e48470023e4d5e2c3c74c51dccb8a32ba80bf3398be7707a7de74102d63737d94dfe11dc0f1306";
+  sha512.source = "ebd165839e3312d13240818185a0ee9234b49d0d7ecec1714536086a9a68e8f5e92e9f35c21ca4fe633af9bae79f6f1360a349a3ec85a27e190888aa1657f631";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9";
 };
 "bibarts" = {
   stripPrefix = 0;
-  sha512.run = "70221c32f6da531243ac191c504eed7ae6c82cc62499f4d33772084d1f476a4b25cf6d67c2b9fc12a90e13d8d827634be7e175166ef3a2e4bdb9cdad721cfca6";
-  sha512.doc = "0a244b8ab4fec7db83bf2aa280af6cf437ca90f60015cba9d603cf31e805ef70149a054fbef9e04c3fccb52e9fec1c72446024c61b03809ca54c1deeed00ee2c";
-  sha512.source = "318710e37bcf1c1abb9968b06ff563883045ed601f4a93f32d02e5321ae1049d3b082dcb915a403cccf4d80ad9c3cd782e9b8e217c0e0910e876e52b99e18a3a";
+  sha512.run = "04ac23199e53049f54b670a2c6de94546a01d987e96aed23617692aef156e487dbf631309b81aaa0a95885f9b989e4e9fd9409d444d319cd58169e930b842ae6";
+  sha512.doc = "4e6282217b655fe87dea8e5cd68ed0db14990756bf997e90d3a5def53da50fed63687bf33e00ed741ed437572bb554fe68ce34b146bd31f3fd16e9f66e5879f8";
+  sha512.source = "59a2a25aab81c196e50be807e43a2db0a8eb72b0990b7b5cd8dba971ea995f863986fe759534bcd306b64aaae155cc99a5c6432bda65346cf0899de2c62caa97";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "biber" = {
-  sha512.run = "76a7333f5a056201b8f318b35754988548df490944ee61e742fe70d7850d528733093f927f070bb56962591a0bad2c988a6b1bd3b4e53fe15a072d48b0e65702";
-  sha512.doc = "50ec800779c2f45084a748052b5177e128739a3e21228ffe987f2a8cf6e7511f918f5b0fdb8d37e9c3d3886b4b8476b811a1a9d680d29cda2617f1b7d170d434";
-  sha512.source = "710923e176c1375082253cfa5ec760f28a1910bbd1092302dce5fc09a0e418c46a7dc8a212a0237741e98ae9073d59cc29f9fac51848218c46d3d6cd20046126";
-  version = "2.12";
+  sha512.run = "38906d5a99cbe59e2e078c936f6f4d0809b5561b4f218edb3bef0a8125158781d3e511caa2dfb14fef6a426f00e4a5418fa33d6d890371f4bc36425ff9531145";
+  sha512.doc = "b33190ae07d73e7cf8eba7a23ebc8854ff904d7b8aecd92ab302f011277ab9055252aee31d69f2777d6d312605786417d942d8ea9d0520b0291b360cd6c706a5";
+  sha512.source = "a630725fee902e8e36d6da5b7e0402fb480f41acc1c7fb0b4a25db1a2118d64bb25e63628c8920a6eb5c881154d553a6217923b1358ec1ae05cc7fec03b1f0e1";
+  version = "2.13";
 };
 "bibexport" = {
-  sha512.run = "641bf749ed8154b2cb35f52f3cb07485a1c323e18aa0c18c8fe1d763db36297760e6eeead2258d58c77fc6c83f41141467ff6e39bd8e25d47e0dcf358c54fbd3";
-  sha512.doc = "bd847753a0a3ee5449f36ed917ecf55733d85e0a1377eac354e2202599e07b51046e34bb8f107b163e8efe0734831a8cf52132dd254c09ce886cb7526ec217ee";
-  sha512.source = "2883f82199f8794e78c9ac1c60abff192b5fe9784ee2587f571d1d776ec71df91239a6617fbf3e9a611b3a0a152d22f304a162f6b2c0dbb616915a0d2b25232e";
+  sha512.run = "75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487";
+  sha512.doc = "ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16";
+  sha512.source = "6c18b4e12e8eecdd03f6afae80766cebe3f826a1146c38b6387c6793abf284d3c44e7d4d6050675f01676128f1d073d8ee8f38f31a6081049b8c390b5a7813a1";
   hasRunfiles = true;
-  version = "3.02";
+  version = "3.03";
 };
 "bibhtml" = {
   stripPrefix = 0;
-  sha512.run = "f472c359e3f2795d66a46cd3b8a404a467c07ae1126285910b07e66e65697c08cde092c60a8d8f6577616cdee408a3a748845fe3d5891c0d64e7c8a345c9c59a";
-  sha512.doc = "66779e3ed6b984ce73d1ad536cacfc935ecdf7ede2847d1b1b4376ef9520ab275c450b6be68b8c014d89be7539c250855b888242af3f08d8964ab64c1eb52733";
+  sha512.run = "c7245cce245740f0d930518cfee66dc513bd4b43c8b5804e1012fb95f401dbca2321be44ba6251de573723ec2e6da85fc77b9a9192004ac2144bfbeb3225d27c";
+  sha512.doc = "cf01a0853d87180205651768b639ee4cf7ed1b6bb4869880489f57e37ed8fbff3e8406fbcae1d0c652b3d410f77af9b4d1932ee154c60cc79e2876014abf7b80";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "biblatex" = {
   stripPrefix = 0;
-  sha512.run = "f9762dea02276363a6e50aeecd9a9450fb4f63b9d75daeff6dee42969ed7e5918ba507319dc920dad44a578a42eda46b8eccdbabd3658b02a8adf312c2078e96";
-  sha512.doc = "a87c1912a48cf993c80ad64d23bd2f3104d4c6bd7c3d00b5c9c26b54c4d7e66c1bb08184199b476481b9d33352c37c997f6a30b631bcfcfe2fa555443f7fea8d";
+  sha512.run = "4858e37ba14539bee844d887df8339667a6fa9b4f763235d3bdb468897806ffec4718c3f47eefa0fd74b9fc6b658e17eb0229d739a785df0cc510257ee2a9b03";
+  sha512.doc = "95c6c9d4e7a5a392278c328ca2098008fb68c296067c4e4bc8cb7e283b584b4ce28aa17899f1ba502e0ffefc5101de0cc92fd915161d04896e78585ae256d106";
   hasRunfiles = true;
-  version = "3.12";
+  version = "3.13a";
 };
 "biblatex-abnt" = {
   stripPrefix = 0;
-  sha512.run = "19047867c6a73c1fb3449093ab39b43d0880fee4d211c1dfb5524b4c56c5d2a2bb97c5c6116fa766e1d2aaae6042212eb422a04812fdb2ebe964973b272760a3";
-  sha512.doc = "3631de9eac38114bd994e6dc6c20fe2b234498a8fedb5a6b15826f09e3bf64300d234061169e1ed11edebe329917d813927449d607a2139a1eeba4b4347f1557";
+  sha512.run = "f2c239aed726d57eb98cef8892c4b4295205d5a8d55a14b16db8bd6b42bf3f51aadb0dc767f97dfbcd8e57a1f867c5e344c604d726453113a007169edee0ff58";
+  sha512.doc = "04158e1b92a2976d2a5cc107e00b5e4ab90a85799f9e55b25936fdd0e141fc2196f0f64577bf2eb8997b7ba5b7e8c575bb725febfc397940d271ecd5f56138a8";
   hasRunfiles = true;
   version = "3.4";
 };
 "biblatex-anonymous" = {
   stripPrefix = 0;
-  sha512.run = "077b6d939707b61cf0a9b70641402270084c28cf203c5752f7c4837d4e17be0c3971c418ce92e65cf035e309beeaac34d5f70f02c724a68df59e91690f408992";
-  sha512.doc = "a17c36fc231151c106e9275daaf7b041f2e3727d6592b11fe4692750d5dc5a2fa26c380f1706fdc921bbcef52fdb4d37852604d4991fcb1f722cc3a339d38f8f";
+  sha512.run = "3a3cc037e3ce718c219e4bd4e380075d4a92d85cd1f490b8ffee10c5b80bb9e515f1f170b53eae033ea064cac2ddb3bb285655482e5cd65801403584fb9e215e";
+  sha512.doc = "11b4a4f281068004c2bb11028200bf7f8b1461b4b40d0b52b60d60f145b3e9ea38fb672ae532d8430b0ed889df631b1dbeabcef5e9373b720d4a3c3354254789";
   hasRunfiles = true;
   version = "2.6.2";
 };
 "biblatex-apa" = {
   stripPrefix = 0;
-  sha512.run = "d17be6a26d25fbbcc39dd73dfa7cc6df82d716081de1fa923315b0de5e5c16f42ff1a1f25af29b0ad2f4e290321d39e24de6cfcb2a49c7db212b2f56443f3ece";
-  sha512.doc = "2c4fd0032d46a816cf8f12c65406d39bfeb67e83d6753b7620e83ee247ef732814428864b7991c4fe126c5aa0bfd2d33baf4927ef3e3c18bc648f8849c016adc";
+  sha512.run = "5cfb52e454b1a0ba7d96cd831f752dbd977c575bcd4a280b21ec9bbfd3c13c6e7cf2d255c7204df9ea963465dfed0c6077fe8ceaf85528dd15b987546323fdf5";
+  sha512.doc = "44fc683945c8ea04b72741a433ff30fdfac239b7797dbf0f2f89f38425ee7a70456c874ea642bec2a8e28243c3ae4064b247378d572813aec72bdc55266ee890";
   hasRunfiles = true;
-  version = "7.7";
+  version = "8.0";
 };
 "biblatex-archaeology" = {
   stripPrefix = 0;
-  sha512.run = "248d34acbeac15c09e1e60359577e99f31a539c58c9b37ebaf0bdec09842f060857608f1b5d6cab945a61d1e4d0680b1ecbe8869775dc3fc2d5991446a8c217b";
-  sha512.doc = "3ecc5f88c7997f9cf70670a1f381d45667e5ee8745944ee225b56a7287b5b0c22aa6105240c29b3bca42ef8f22f3fd2512e1a9c345bd524dca435244ff39163c";
-  sha512.source = "dcb050f525926ca78914ebf5a92b665b912edfd0ae0fab4185da4ad6ca57d990b94be8f8fe7ea14c1e80cd80944d388e14dd22f04913f30297dc6de968da02cf";
+  sha512.run = "16e26c3a96789ac75333fb474e12acfd4e8bbdfe9dc19c5b44194842870238de100603befb0d1bc468ac24f5ceb9b1bae54ae6fe955f215a67d86046fc9ab287";
+  sha512.doc = "8929d568b2d6d9e7e2a1e6eb335490f9b9ac246bf1dff5553fa564675dbd9922ef1125b0f648b638951ba7ac1eda0942f22ea75eeac0ef20ff9b6533ffe96f22";
+  sha512.source = "f057e96faeb6c5d355b6bf6d809b64dc395d42781ddcd0d29b7b42b057f0313a1fd46e9aa34634c9de51dc2055b63106b289c441c35823f812c01db5eb431ba6";
   hasRunfiles = true;
   version = "2.1";
 };
 "biblatex-arthistory-bonn" = {
   stripPrefix = 0;
-  sha512.run = "d7dd59e1e913062d8b099bf3986b201cc655d7c7bcea61d2e97567adfdc5fc308b22d97c3209134937e7ceb4f481b1da2a3b02d0d501e65a13a186e413a55f53";
-  sha512.doc = "cc4cf4266d1f02b4e4476890c855f9e64588bc73cd6a7771f93c4f61f1e9c6ed0e259775f25d2d3f29cce5141665a637fcd746d59a0bb05ca8fc0738febbb946";
+  sha512.run = "93b48bb950e9a4bb81efabe4a3c8ee85d7056daeca88c1c1a070c5321b8caa0045c4005467cdc029f8a26b94a425235e36a36bdee163242194a5301ddd6fcc98";
+  sha512.doc = "e31b7912ca34e6ec27c365c2b3e549cdfb60bd94c19b9f1cd54d35d2a1b99ef2702c3f818f7354ef4f5d3157c0e29538a94315ae7af8177de23893e598c7d439";
   hasRunfiles = true;
   version = "1.2";
 };
 "biblatex-bath" = {
   stripPrefix = 0;
-  sha512.run = "56a86e352c2b6ed82d97088abad1ecef835e56e45131c926be58d9873179bb03d93fda3556af4945ea2c6c64724d9f2dae11cd056259d0e4d41d20c35c2a90e2";
-  sha512.doc = "a3d7ed4a1adde1d693599f0ab1a0b974fb2903f998a63f28be972d337a0fd42cc8329139417b678be8b039e2ec85b2fdd9715da1268d57dd239bef8cfd6c4bd8";
-  sha512.source = "8997cd0bdbb6a149b485ee03d729632f30ab279e3a466bc02d05a5b22331a277ce80bcef7bf0a3f8ef778d37615eaa797888ff84f478a6128ec0c907850f118e";
+  sha512.run = "a7c2e6d1131fe80bef091d7da888c9c119d70af480b22010858a61420c2819abcbc3ddcf29e7616df000cc8e23d3881c3c23f8c3f61b2fb83cf3cf381b699921";
+  sha512.doc = "2b051aca6922ea10e97b6b9759c4de31ce9aa7d9bd47d1bd53117dbe9560d216c944c0d1c7738f6fc5200a069ef1688fa3c70d86d6e04a9ddf0083c0e86e61a3";
+  sha512.source = "993b4e88723f9ea0593de57994a37a4ef8fd408f3c5aa932ecde3fb18ec35fe7fb2eaa5df61e5e26f0debc016b66045f257ce9fcfb25fc447c7eb0231be0994e";
   hasRunfiles = true;
-  version = "2.0.1";
+  version = "3.1";
 };
 "biblatex-bookinarticle" = {
   stripPrefix = 0;
-  sha512.run = "8a0a0e85eb2d696157fdbf62122b7cd2fa690e5acae89314a4f1df719cbabf60c29f3529c5869235cf9058b10b4d41adb837b45fded4c645d5b63b4b856a4214";
-  sha512.doc = "27de60adf24a14ff2b2a31ea93ac0db8c549fc2e772a18cca4877a206c5438bf507e29bae2077dd37a6a02dcba7a57653d6d4906d894c6d795f656b174739296";
+  sha512.run = "8a7bfae09d95434d6db671e4037a2f1d5c1ba9cae5982e286389364ee2ff24f9a2daee78c69e529efd06be37d2e6a6f860820361feb42f5b84157dda2ef0988f";
+  sha512.doc = "727228b915e6b370a74b4d38dffde3bbb7ae47973c33263bafab2aa6b640102775dbeeea7f09c046903dbfe86dbdfcdd8e0418d125a51678e603425328cd2da1";
   hasRunfiles = true;
   version = "1.3.1a";
 };
 "biblatex-bookinother" = {
   stripPrefix = 0;
-  sha512.run = "db385de0ba96f64fec635a57ee42e7259581f1968c50c08c4d92d1664f5b9e62d0b09d4c4879158d9a4544168a7494134ec7165a16713f61df46436b053bae2b";
-  sha512.doc = "63244266ba1a875770bab278f56a45dc54898e7a39c577a58e19a0c3d8daf26162d3a956b9c0f14bf190efea34605c64d0eebbb6cfaef6bcf05295d752856742";
+  sha512.run = "2e6f21726ee4289801546508a26a9416b6725059c63f214d7cc8a6a8b3cf7d3b60fcb87fb7451f4ccfe6d1a27b986e9e0ddbd5a8f0b1070d7e37b775d07ec7d4";
+  sha512.doc = "5c6a1c0b44533b518d95f0dab2aed58e41253c97eee9d04b9b734bcfc7eb2f8437f835a3b7120b37fb5ec3b58d8929b93185fe9bc43c78e15f30fe1f8e7adfb4";
   hasRunfiles = true;
   version = "2.3.1";
 };
 "biblatex-bwl" = {
   stripPrefix = 0;
-  sha512.run = "f2d022569320fa5de519ab2801058fca0f33d186269c5aaaa5691e0ffd4c5f1bf9c1fb9bc434b9dc0145a227402cce2ec9a15505431dd6b8c679e8c277d7f459";
-  sha512.doc = "5ed1483562ec1e1f0045a8792e804ad8e90baec693d4b0e869befa0d8d42e833cdbdaea0c456628adfd1115e2c6c7b1f8775ce2e36e4e97a96d007d02e01c20b";
+  sha512.run = "ca5e20736a70ed02fbdada150433162b64b39b0d95bca623cebda8da821bfe8554f9409cdd49af7559737dbc6d6033bbf6868f5ed809b1004cbeba4bbabbc38f";
+  sha512.doc = "32acf8bc10c07532e8d6174f3dd9a1f850acaeaaa5a91d14a1c299f2f5f22e34c619a41fd9ae7a90e097fd5ec30fdbce581f65560e2891f697ddb0106469f50b";
   hasRunfiles = true;
   version = "0.02";
 };
 "biblatex-caspervector" = {
   stripPrefix = 0;
-  sha512.run = "4c8c8ee1f22204d0df7663a1f2383937e37a3290456d9f8b7f4c7bcd982ca0d18fadad63fab762c47b05b206ca36ed78788ea1b1b031ee71aef271c1dc1bc708";
-  sha512.doc = "13e12c54dc1ed30a789719753b60bee82957eade3b7cff5f017d0ed8fe1681d5add13ea14c9a687cec79c5491e15463acdc27e008d38295486387799b2958a76";
+  sha512.run = "f309df056d2fa0d58f46568e64b188d21414d4640106ca11ac51cc1de779b3e7a76d2633b1adb38412131c682808dfb2397093969e69b765c3d79099f421b9e7";
+  sha512.doc = "78de4d815a69d965c08cd789c4c42aa16342f43dd9e485dd4af2ed10f688c32d69bad9fc9678947e8c3cffb4c6baa4cf84e4d6f90d21f1f99acbd9c3e5b11153";
   hasRunfiles = true;
   version = "0.3.3";
 };
 "biblatex-cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "61466243d934c1b73f0cd8d41092246349848e907ef82cb24bd2470bb7a8c913e406b03dd3a8d1cd1f7f567231b986de2ac503fe8c43d1e830ca4326484c65bd";
-  sha512.doc = "eebf8d31fefb377cd7225c949459282120955a69402e5eb8fcd1571426232e875faae796211c4932f444646ec270ea9d6b8489eebc5856c372818137f88bcb85";
+  sha512.run = "a974a8eeb4282f66ebdc7a57d40c76b0f2bc957249c130d4f97aa9f9749f5091745a87db277c3bef43d0f4e37790a9663949ca3bba3b28a16d37c13bd6029181";
+  sha512.doc = "a2b9a82afe127d0bfb71f3a481eed3198e27ef35caa5cd08557ed35645f6209e9187f1e0c21d6fa51e6c32d0cf044c0d85373195a5f034c856fb4beec360af13";
 };
 "biblatex-chem" = {
   stripPrefix = 0;
-  sha512.run = "2b4a343f9f9bf8aa6ade7fcce503ea9f83237e0580a5be542c76afa99dd59f0bba6757385aa84ed9f6c48cfec6eabe89e756d82a0ef5bd3871614dd4785a2606";
-  sha512.doc = "ffe53ca0f577f6b89b2c8690240c98642e6c3b2fe8433bdfb18f1affda42fa560ff3c1d71daa5944acdaf7387b844421c3004fa5b16dd172068f95fba64f796c";
+  sha512.run = "6a7494fe396febf23e6d6afe7f7800e7117c722aa45e28373acae3590bca898da8867269d6e148b36c4da301b60c8c342f4ae24dfeb56d0100528dcc4305fbe8";
+  sha512.doc = "90bcd8c128dd7d601a29c828302ef3cc4dc345a77d6dfda9962061ebdcfbdc8ac4a2525c727985a14467bbfae651347226fcabc395318ed490bf4d324476ed28";
   hasRunfiles = true;
-  version = "1.1w";
+  version = "1.1x";
 };
 "biblatex-chicago" = {
   stripPrefix = 0;
-  sha512.run = "d945cd648ae04cf02518e86c04e2ef8022bbbb8faed1314f166fa7331be2c3eb5b4e60b3d284e7635c50630d297ddc339c3e34ee3a6b42b87f46796c67abbd58";
-  sha512.doc = "9994435135e5ce936b96c951a22a1051ca187ef2bf6f4f202408a69cd91369614efe9da79431525789d1fe439e426e0d710b3e49969b6074a697b50e0f7c66d1";
+  sha512.run = "85f50368da0e9497b92c09548c60c7160779fe583a8817a114d625846349dbdb0f9be6813476bd74246016b85badf90733557770094207107fa3d23bdb436783";
+  sha512.doc = "aa511c96eed89d10629bf6f47aad832530f1c108a6f5eea64bfdb9c47f377e7b64b69cd55eed2022ab79fb0d93a31574adb9182919b2113976d1ff084898e920";
   hasRunfiles = true;
   version = "1.0rc5";
 };
 "biblatex-claves" = {
   stripPrefix = 0;
-  sha512.run = "ac285d57ea40756278dec10115b7bd010931869c5e4bf609e062f1afaba391a1dbc0cd7e596e319a09b035e36469037259722c7510af726846cc2567a88d70ca";
-  sha512.doc = "08c0100250f1af5934f4a17ef0a92205c75492acb8dc29164359db764ba7588607745d893ff47b926a7be4599b67f337be6189d68c626a69290dab3d046560ca";
+  sha512.run = "008cb8403f1b35a7fd077f8ac2f33f73ced090ce3d65ce678ecfe90af8ab6fb2b4349342aa838d2d4f1e78d0d87267c7b8206a3377c6490499ee9196498c130f";
+  sha512.doc = "a11a4df38dbeb4c27f30b824c9f1ba230d273e227b8cdbfe5f61268a1a2b7ff3193e79d8e8bedb6f9334df39001b71a3ec78116637745679bf3d67582727371d";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "biblatex-dw" = {
   stripPrefix = 0;
-  sha512.run = "4b9b61fc545108a3e2a9d37ed7960074befb10147ea400413d1de47cd86e4860157c0c826c3d8855d7fc8d5c482184321487583404057654a1fed16b5340312c";
-  sha512.doc = "e7ab58892c2bb83e00929487130001427c4f70ebcbdef2bfd54c0bc444442ce6298fec06a799fecf7e4f7a639caac9b23cfd71b5b9ffdae93ea3f088dbe4a7fe";
+  sha512.run = "faa43e5f4de281747e5cbc22fdcbfb7d03c5c04d68245340e084c4e34f1ff9917c6ccf22a06ae4eefc41f7a5315db15aa8b51f2a8c3ed7c68cd033308fbe99be";
+  sha512.doc = "d29c64dac41255066a844639e4330193811c62049e4b38600951346d4c126a495fab78458bd322fb3defc4352b765c1a7e7a73b7c64bdfde3a90f3e5a74e4e4c";
   hasRunfiles = true;
   version = "1.7";
 };
 "biblatex-enc" = {
   stripPrefix = 0;
-  sha512.run = "f3ab0311e71baf76e1f87bd39eb1bbf8a3e2df6d658c2dd6d3515f847b7bdeff898cf9cb799961c285cf103411a4d4f5531351ed98f7e7018ffd6c1cbaa0ad50";
-  sha512.doc = "d9f9ac3778042800ec783f4ebcedf0a8b4c6eefdede609175d453e8862d4d96ad4be83fab4496d54db3c7cc6c249b21943b8ce89694b1280bbfdd9994a530419";
+  sha512.run = "6aab8a819ce9a3ec2d6676ab8850c3fc6bb81e5af5c9414555581cc9d164184d18ec550fb0ca67d28d800826356f1c709144ee7d38c0cfbc274179fa813a3a0c";
+  sha512.doc = "ae50544ebdf7bbf9ee708f193493ffa241ba91f0925a2bf03b6bf1ec486586fde3c630fe717f4f2904373c08a2f9a90afca86b50870f87aa0d04430554650223";
   hasRunfiles = true;
   version = "1.0";
 };
 "biblatex-ext" = {
   stripPrefix = 0;
-  sha512.run = "2425f9245dbadbbd6c07e3ef6342d13113ad3badb77abce509c69d9455bee84b2514e2179c74be371efadb272a802b3c5fc1ec1574a8776c75d37c7f1139237f";
-  sha512.doc = "0b6634482393e27597bc2ee17f069ce44380fe562955304750921302ce7e17b3be8fb3a1cf8ff5bfb6829f4106f594a07d3f226f1899fe8d150aa3e7327d56aa";
+  sha512.run = "2cc2dd7ccfe5e664471bc67992fdc655d66fbda0f60dfdc62853067206c467cbbf85595983df25a71e317b3193653996ba76147b96419f32a4c0df0f9628083d";
+  sha512.doc = "7ee2a44ea93c1e7f85f046ac36084a4a7d521e4fd48844e75b68b61551f35d6be75cdeb7c458c83e93eaa7340acf9bb2f99c10c242ec129cb0da38e1d5a3a247";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "biblatex-fiwi" = {
   stripPrefix = 0;
-  sha512.run = "746a5fcb296601adf0c5b1e218fce17c4b25ac9bd9e96adc792f31d8540450bc5cf529dcbdb3fbef7187c28f37686b5408d186dc03ac3d190e95a2fabdeae57b";
-  sha512.doc = "5609d95a5764ed9222c21e10cc4ee54dae6c6e69bef901aa96847a9da6cfe43f86a9c39dce5f7769980249da45b6fba96e20ad39670bf19cc317438529b6fa72";
+  sha512.run = "72b1e41ac55403f144529fd5cbd88f51dfd61cd637bd8e6427a2714d3684ffa37774c698475994f1481442cc8eb336d8de398d55b3df28e5e1615b9cd74cef27";
+  sha512.doc = "37fd37d39fee963af8567cf27cd266597175ccebe20f016c7dda699d95e6f7fd0408a57f9061b98996a6ce8eab04a8ed376e6e29b5cb41635d004d24082e91be";
   hasRunfiles = true;
   version = "1.7";
 };
 "biblatex-gb7714-2015" = {
   stripPrefix = 0;
-  sha512.run = "87d0d2466b24790d366c5ea1f5fbafb883fd61bdc6c2e96c4920f90b70ce9983a61db2549d9cdd7e315006fbcaf0c1ddcd1d817a72adafa40fc64e613d7817be";
-  sha512.doc = "a2b9bde20a208340d41b38e2c4b3253b4773ddedb5f64a7cba5902ea2f7105ecfcf22598a1f379d1e3f5fb7c37870ce5585d1de25615b1e778d98885f1b2a452";
+  sha512.run = "b81acf7825f546d76a55e617c5d78a85aa6b8ad1c35fa63543f49180b78c59629c97a9c11db1291990a001bccccdcd725cf2550e5df46e87528eccd96fd6f045";
+  sha512.doc = "b6f51fa52262b40b847c62e1f8310f7a1d2d2de73608b022286ec5686677fdb7861d2b819c291ba7bbac33dc8be720ab05900ba4e036b37552a7f8e086a929c0";
   hasRunfiles = true;
-  version = "1.0q";
+  version = "1.0s";
 };
 "biblatex-gost" = {
   stripPrefix = 0;
-  sha512.run = "b6ec235b233a6584d5ec31d422b3523cff165a25af46bb27b5188fca73d828209016f424ddf1ee6709d4314f413c09a6935e68c72139a9a3ed12e2cb361386e2";
-  sha512.doc = "f0c5c01aedb0feb6371582192fd6f54eb7de81989e58cb31217c5dd8dc932b355b8b8f4976ca358f989e675506fb342c6e0823362dcfac18ecfa8047154325db";
+  sha512.run = "bba80e3d8452ff64b54f2f71ba7440f67c823583937b1ac82c6f63e61fb72e69d08ffd01ecb76753ba9ccd9defeb2233d426afe474605134d04659b3f1b39a19";
+  sha512.doc = "e6187b9afacf87fed1877057532a0fadd6dab04cd5de084931cb66a2ae2bf8ff4100eaa1d7aa43dd89c208c6cd512b36173b83b82e37829cbf455362be683f42";
   hasRunfiles = true;
   version = "1.17";
 };
 "biblatex-historian" = {
   stripPrefix = 0;
-  sha512.run = "9ec184e58b387cb0c7dca1f8d7572adc87a6bb84cd39750843fd99cda4e72b40eec06b3910ec83ff5fe40c924777de989451be4524b86984e805c3aba826beae";
-  sha512.doc = "bc94e2154d1ee7315ea50e3a0637c42f21dd5654d9984344c808030328b25ae7fb0ec41825a2d7b50b50948645e018fe39aee6b740b3fd8ac194f8b3283d8e98";
+  sha512.run = "bba5cedd64fcf0c0cfbf9b56c66838141917ba1e7c2f27aea5bda44261ba28366b465415e3674a2ce398812d5cefbb2727c7e5e1adf53a2d9779754849664502";
+  sha512.doc = "ed87ab74fd06ccdfa0923289dcd7a37df695fdf76003aa7ab142c9d924fb69a81430ab7651314a9a391b9114dc2c2d63ffe94461bb00fd33d97ac9e8c5b2a8cf";
   hasRunfiles = true;
   version = "0.4";
 };
 "biblatex-ieee" = {
   stripPrefix = 0;
-  sha512.run = "5712b4ca9dde2cb5c8353840db1d8bc860d611da8a7d8c72d1961081fb165fbd39363db8369f1b8d53c02e4a05770812b50598d4f78ee95a1ba6e15abafe4420";
-  sha512.doc = "d4ba471f45649bc7c9b10b8d478d7438f76edc97fc5396281eec9a4f7ec196baaea4f423a57a05d75bca16ff153fe9d82a53db9a1be84a804671f934b78ee8d9";
+  sha512.run = "57cfe53365c131afc5a4778166e52bd5bd4d2bba666a536f03e6ab5ff74ef757e9578910da0e3d69ded2f85be509992860e0f1081d2814f293ef3fbb6531d64e";
+  sha512.doc = "d2e22835c9c28134039ba0ceb808ffc76d0be0e6c367e76eaa078c332fc69a4bde00549c9499d3451f468bded8a5345114488029c8efe142da8c04f86a60fd8a";
   hasRunfiles = true;
   version = "1.3";
 };
 "biblatex-ijsra" = {
   stripPrefix = 0;
-  sha512.run = "aee1d70cbbd41bdd3aeb23906331d5f49efa342445c7283d7aaab28c102a37ef0b65a78f7f608ad92726a427a53a4b1a81c843cd0901be7f2edc53b8e8642426";
-  sha512.doc = "7a43890d2a2ab1e4a53aceee13de6feade768d345b4c48db9337e3982cdf7ba9f1091d9f7495255ac351cb4f3e5968d2a52a8a9794baefccc791e8db38ee1bc3";
+  sha512.run = "040efc5b43e2642251921bcc49db1ae2e00342100d302bca24e2b7b11d1724797f1fe7aa254d01b35d1dfa316f2b0f739664f275031c498b157bb652c6aaef44";
+  sha512.doc = "36cef635b4603606d36f13b489320e10fad48869b8cdbe78d6f81ca9f3caee0f3e14e408236b1f18e6c7cbf3cd414ed8eb2863058b31e761b4355c6ff1230dd3";
   hasRunfiles = true;
   version = "0.1";
 };
 "biblatex-iso690" = {
   stripPrefix = 0;
-  sha512.run = "85bdaf6d40dc82b8d2c0cef2b590b8598a25fb782b6775a02515303dff18a06cf7c7fee1c423a385989aa7aa39850313714a028f7900cbd04722a12d5b560f99";
-  sha512.doc = "4cca71e549308b8742394c34b9b59b11a57c42f6d673fee880ca8cc0f3b5c7f4bed3cbe2452d4bf2ad7d1c0e83764c2de63e697511cfdca2717b3f955d27c4e9";
+  sha512.run = "f9fdbc47e9d655a525d5f02a82d45ddc89cbd2a7ab8f3827996bec5c28c3e6f3f8ad5524ab129a86b235bebd2c3005dd2abdf121bfa419292a09d0915ec0badf";
+  sha512.doc = "ff6a45de0d40f99dbd55402cd4aa19fe4eac71a1e65376241ea3a4fead3370208acefc8bb37595c8bf380aa00d2acdc7657d195df8e62fef49c389d0e698bfee";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "biblatex-juradiss" = {
   stripPrefix = 0;
-  sha512.run = "5ea106dd843279837928b1c36d8ea2814095e124cfe9381b0ea9265cc6c1c6977cfe2c23ab8c973119e2bb16d749fe2903ea0961484a61b5973ece7f30438dfb";
-  sha512.doc = "e15d0c776df860a1de42f9d9794f1fac6fb30df7b5c203d980c292717279cd05d1a375d0bdfafd4f72aed364f380003d2607e5fd7c3c1f7c713375b9b106bdce";
+  sha512.run = "48e5d926b24752a8138b1094ba47955e9f8d479d3572c2c81d727824e0e5a6243cad37d3a61f1d28163b5bddec6ceb2b35a5f19aff722980eae350ac9382cdd9";
+  sha512.doc = "573378ed40ce0a3efd0c47bf0a32d146543e16b80dbff7935ab980e82de61a1d8023688d59fc2df001a3415b9c73bfbbeae3ce4c240c2ea958a65d6d2003274d";
   hasRunfiles = true;
   version = "0.1g";
 };
 "biblatex-lni" = {
   stripPrefix = 0;
-  sha512.run = "69bf923fb03d441cb4e37ccd8c4c161a92dc5a64777f99924a4b0312b2064d10e7006acecdbf6fa18bca312d727420b99f52115b442607a7d33c500dfc373bda";
-  sha512.doc = "608d3d1a287e472b0679f3d537963b5809fba92c2e0987ec259bf87aa05d389eb9f39d780dc6d6c8a6081e10341aa3ad5f10370e017ae9c52b4bebcf0f0ce2d9";
+  sha512.run = "9089117cc653cb9251622299b20d79525ae9623661de402732c9b9f47b2b296cc0b756bda279487f5d042316693ac624b18352dcfd04e6cec436a402b9bbba57";
+  sha512.doc = "23435bb5cdcc7cfaa58d732582e23d3a23589ee064122b231794f17ecd0137e7a4a0e21057835d3925c149d637a7bd12270b4dd05cff6259f103498e0989ac66";
   hasRunfiles = true;
   version = "0.5";
 };
 "biblatex-luh-ipw" = {
   stripPrefix = 0;
-  sha512.run = "2a2cc43edecf55755e904d0b215464af4b3cf36f485b37973290ba649e51fb33a63cc891840bbca7d3869984aa21b39f9340a0441548b748d6e576f761f8f126";
-  sha512.doc = "b6189701e411bbcfc7ed81ebd96ef675b2e56e5aab7975c553411f838222ce4239b2f04bbb3ded53f44eb5557cf76c72b3824f82ed69180eaed839d5463d34a7";
+  sha512.run = "e58e2522d9a4711454166c816b971bbf6bab1f8d1c7eea122933c8b7955a49ad294df410fe0a75375134b77d442bd5214ee25d56d766be7e5843e4ac14d7ef5a";
+  sha512.doc = "bbfa55884d3dd3167618f6f9595c301e5faeab0a35cd058cc68922a2aa8362cb3a9d035eaea06ee43c428dd89d23538b15bd4c79c1e095ad10aa4d1d7184f92d";
   hasRunfiles = true;
   version = "0.3";
 };
 "biblatex-manuscripts-philology" = {
   stripPrefix = 0;
-  sha512.run = "9f75fbf517c36d9d8a2113e5482bc8dd0bf4a3015466ee6d6e4daf81ab5f03c903b653fb9e48c4f994fc8acb9a976377bd1e23b53dc1b79778b2213c1574bad5";
-  sha512.doc = "3519df7197e7d29dec7cbb3372ab105f9cfe1bb871242538c596b768ed11091080f88f260c317a17e99d79c44833cb44636a02cf81eb421f96dccc0947efea90";
+  sha512.run = "47fe3d91435d47fb5a5b0c0fb1a7c98cecaca3a44f03446e17f9be3ab4239bee5b2f2413ae8aef1beaa879256bb84db965b38f5cf2c6f2619b0efe2975506bdb";
+  sha512.doc = "da2356f81c1f02ac33bf7d34c01e0d68d0567766ec562298761edf949d8e0dd0b6c486ad99924811242af09616a4d055385546734023f80a164830ac605dd96c";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.1.1";
 };
 "biblatex-mla" = {
   stripPrefix = 0;
-  sha512.run = "0e72bba7cf292730eef401cbb8efb77444337d53b18593b8de05d8cdc1fb5495ade07956c2ecd8bb9867d92ba6a183b4cae089de1fd54f33fa746ff894baa77c";
-  sha512.doc = "02b794bd50d1cb82734f09d23dde506d6638879f2807d3cdaa668e5fa0fd03e3a6e6e3987c17ad52ca94910deb28f56345a665eee5c96bdeed1869d6f101f37c";
+  sha512.run = "b6e3f7b5323e0246c1b2e1ee1c767b624e59d4d1ab9aac4bc24d59c15d1f8228695ccc072b30bbe1f4a2de24fb6eeee3c81095fa572f3e27a09f0de7c5b3994e";
+  sha512.doc = "87e9b73615b404f8b676b8a4158edac551f8dd3712e1f6ecaec473789df884c85d6ba48eafad428eebce10ff6f0c13b382fb4e4c79cc960b860565bedf7f935f";
   hasRunfiles = true;
   version = "1.9";
 };
 "biblatex-morenames" = {
   stripPrefix = 0;
-  sha512.run = "61ff89fc161ca7fb740b8b7438051f4fba73f72474f49b1e6e6363800ca1fc8fc2c770c22f1d9b1e987d2adc53a0097fb309759b2de3f1f2afb62ebe10bc87d8";
-  sha512.doc = "d44922b121ad52624ff9b481c25203bbc8284ae343d5d798afae8e046e2146b451c49209b2883a7419cf878b88fa55f0462ccf84697e1c8e70f2d4213c873c51";
+  sha512.run = "7e847faa586655aa7b3c92d9379540b2f5e78fb50843e36416e21552c6a9e810945f5b60a96a14c35570bd0403ac29a43af29bd46e2ecb0d87e3c6ac90345826";
+  sha512.doc = "c30953fabfd4717c56cc818e55f83995ceb203bfd67775aced3fe8f1f4f4a92b118ed9c40665ea28944806cb2d409a541f59df530e37274e3bc3babfbe55713a";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "biblatex-multiple-dm" = {
   stripPrefix = 0;
-  sha512.run = "7161aed86b84e56c5d89bdc9582cc85e5b461014b1136f03981c108cdea87e4b2e015708e807b4ae359d97ae34c9ebe0f53126224bdac635f3c2c6242128a008";
-  sha512.doc = "7e7ee8bd261cea78930b575a0dc0c2f748d49e3c6ead985fdb306ab374bf40dc5f9ee7fde884844211ffe4b216b8598528b99e4fbcfbf51bc190e6204c0bac2f";
+  sha512.run = "9f83220ae7f2576b4f58394634dea831e5759bf6560ede3244ffb9d18fbf522e9c728c47a4184a43c2dcf6807481a964d7e468e4e6cb921129440bf917925a8f";
+  sha512.doc = "f33e650b2faac0c7b9d078f0f4fd9da8a58562c6a9a8b13acbb4b23001d2ecdde105c08b6b6e62f138783d61f3e071f8780afee2f170c134c275ae62ca5a597a";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "biblatex-musuos" = {
   stripPrefix = 0;
-  sha512.run = "4ff1fcb7b8dbccc3f5efb81d689bdc248f23b5426b605398df2e43b2d48d3d7f690c1056ebd1dc509f627e9594a1fba82058bf17af972c79db0fcd6092994d25";
-  sha512.doc = "694da5a6ab21ee44b757a6c4e7fbdf9db29d808e5a3c16c926682dedc0724f3d2463acf5e257375046a8da294abe3b8da03c3b838477d49cdc3c8115c83f6203";
+  sha512.run = "129d1c12bc0e4e8fd339f7bc37442947dc492700a721933c9dda0b18edf78a9b402884376cb7d80893a06834f70a5d377fd264813cdf869ce5e40667f296d618";
+  sha512.doc = "d2fc62bb25394195a161e47ba116f2e795e6009b5f547d09cae2e21cc0f8171c610013622c2a019438e04b6c089d17c21333e3c70b8faeb09f90113cca9536c4";
   hasRunfiles = true;
   version = "1.0";
 };
 "biblatex-nature" = {
   stripPrefix = 0;
-  sha512.run = "b570b8a6d1608b67ed014e7095f197ca73345b5b7d5f818e74937bec9d73aa3e0f8f5e06565e8a7118899e478df655dfeb2566b473e644079b4711af0255889a";
-  sha512.doc = "aa3bdf9c5021847d0fa2a96e896e2c7e24bebaa570bce64ea3656246bbdd20ff8278ee45a0ce71c07d62ab81fd33881d3441f4c8a370f3ed2b7414c026ebed6b";
+  sha512.run = "265427460a57fa3cba846b3e7dd4fddf9639c11e223cba5e7f47da5b18ed1d348a70c29204378ab560f2eeacfdb12257c25482a1c3d9836f9025d0ddf987b511";
+  sha512.doc = "9053472af9e07e4c297ce0650c7d9d20b85dfe22645652a9be49e950bc9718160433e6ffa01e5d0dec04a036425e31d4b7e6c31de9fc7553a730720fe54eb36a";
   hasRunfiles = true;
   version = "1.3c";
 };
 "biblatex-nejm" = {
   stripPrefix = 0;
-  sha512.run = "65d81231d264c2c3aabe476785a3c1948bca4517ff0cda0a47e96613a7973df7663b191d75b968b728f6d31bf7da1b80c7570f28b2e94c428dfd9bd2edb698cb";
-  sha512.doc = "ebbd08d4e613dd74dc8939a2925e7757ce64287b60dd9bda95ef34ee0fa16fa920e786e0cb33a3c10e1b5fcb5a2b56445c7dddab3192bf9d0d9f7500d173e2fc";
-  sha512.source = "582b78c835bfdecc25113bb2a5f6cbad70f75bc733f3b0f60987fe7677a166d62d8d4370f9f729d4868707a63b4a309d264c8c250d9952a884934a9f9b15ce39";
+  sha512.run = "97443b036769ffe3487cefa6cb5647eadfb8cdb20db0f6607028298b196a0df1ddf1fdee85e3f163a138da47f28019ab32147f65a5f7cb23b46596c96a772799";
+  sha512.doc = "bfcf854e7545237dab17bfe3cd2045a1914397a02e5fa31bde2bce8c0e44c474fe0389e2cb8cd59516f4db9a3b538524f8321723a49c41233de637075bb41720";
+  sha512.source = "7a2cd3e8205c9b081e9a9601240dffd3943eef31cab5339de92be61fd023f3889958292ba8698760e8d8e6cf196f306b76e34c677d6aa2074271d11cbd78f799";
   hasRunfiles = true;
   version = "0.5.0";
 };
 "biblatex-nottsclassic" = {
   stripPrefix = 0;
-  sha512.run = "dac4e1b7650d097b9e2acfbf25fe64c834f955e72d2ac0be23b37f195af17c74d0fe4da54327b980b2e767ca974d4cb718dda03fb2613234c79d6726674c4d31";
-  sha512.doc = "48adf754b1364e2e44cf2e15a84aef70673c2b31b928a37ab71fbe2ff14a6f626b63f106774a896b55ad7249f4c242f674fa138ad77535d5d01d3512eeb328ab";
+  sha512.run = "a0da4bac443dcbc2c0d8b97d4eed21c171e876cdaee3699a0652c905088056802bc12e1f16965b6b2063e1ca0dee808f5f5e9fd9e5f6da7f956548fd5bf0b222";
+  sha512.doc = "d0b6de2439ff0698b14781deecd260d5851b44da80a10827e0b0bf5ff21ddbe46b979dae9afe988ec1520387668a802a777fba28a830b0e0a7ce60988bfe375a";
   hasRunfiles = true;
   version = "0.1";
 };
 "biblatex-opcit-booktitle" = {
   stripPrefix = 0;
-  sha512.run = "61c9180f4c7bf0fd06bd516f4ed8c036a6f61c16a220f0d0b880a1f42454f0be64e9bc908d4f660b4c71abf8df44741fa9b4c9a64aa0a8c125d315acd37f61a9";
-  sha512.doc = "eb5782346ccc92d5c7f3639865a14d612b8d3c95eea4bcda756c7a382028633c798e5e95de37d19a92d859ee89d6ab689455abd90bfb9f4e2f2a33e426104af3";
+  sha512.run = "4779618979e358380b2d9d2163a8e62274093bc4e7d7a959364b1980d86110233f3927a80e2dac7390ec43d0626f92311d5923657872d25bdcab5d93dd84956a";
+  sha512.doc = "81990177b6cb92dde0e2d1371fa6e5ad6685c9750eac87063e336fd3412b46eca40e091bf2222631f6abcef995fd04c82a3cfd3f87baa2b069c74457edf7f13a";
   hasRunfiles = true;
   version = "1.9.0";
 };
 "biblatex-oxref" = {
   stripPrefix = 0;
-  sha512.run = "c8f8217bb3fab9bf147a778e8e3145854b601010389d1afd04f05ffb42394df3ee4f6f2fa985cdd46e3d048c49e5b5b5ad2fc25d98b4782cc9b952445aa1da17";
-  sha512.doc = "48a464e6e8362e6b1fe4450ec8b20fa89a1b519a42f58331bda20ac879dd39b15600b7c6526b542cd8e0e3954b33572352eaac28a2beda37d3036a7d767d8c6f";
-  sha512.source = "cb917f57534ee928e26a1bac1d8cade0d60f992ab6e47c8fc633ab8c861f31e1b4b9819570cc7fce02484a735118f433405dc004a3c592331e14e3dae85b3ef4";
+  sha512.run = "06ae3e10be6563c96570ec00ddb9946ad57f51865429e162603d77e56a9a0c357bd891cca134c1a35a965755eab6f33fe974255ff8634d21c090b935822ff714";
+  sha512.doc = "d7c9f617575fa74dd38214f91e4896fa8b7ad712dc601268f86a3467d88e03abddb9242ee235e23d18b1ce3b2929d49f23758d4d4b5bcbad79a9562acc4e808a";
+  sha512.source = "d736c1cfa5471adafdc5203dae07c3e17091511fed18538c049433f3c0f2a2a364c5bb424ac68fa4809fd566e0acd44f8820f2c0621ef57366708fde8b321a4d";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.0";
 };
 "biblatex-philosophy" = {
   stripPrefix = 0;
-  sha512.run = "0be8dc83a295554a7226e17a21a5cd8e4b8e6f518db66d47bf01ef01695147bdd01dd48cd3e81e55f62d1c554f0756349fcc8c239f4e4b6c76ede68b59f7e69c";
-  sha512.doc = "f1c3e2a5e2bf3f6db3dd07b0113d4f9bba367a32447744b0d092bcb714f93193c66dddeba12e63103f287d7748bdcd5ceafa8051be8f3114386ec467ca804399";
-  sha512.source = "7d377ce696c1388d4a930561de286d74a9019718592b70c84199690a1253470b544d123a66ceb05969732395a48bd256a54e66c87b2de68fd8982ed541ece8a1";
+  sha512.run = "faf78d9a7a551c2a161bf69c1a9146dd7846cb4ff1c3f6332806f955357a8f3af66b9ddc7d9732246982b9bba60730071390a0cf240a241d50db03655414174d";
+  sha512.doc = "1e68948403c72e93f94b758786a0c632827d5e5bdf0a8db2066e52868b2ee339bbf0948ed381d78db733482cfca075d9d5c26624df9f2f85d4ded232ece45ed8";
+  sha512.source = "e170fb71a9c429204fab059f266e90c4b67a2ecc24f504ef68f70c5ffdb8cc619a2a1963febc0ae308b27f75aa19f0d2e90445ef9e6f3bc81b2fc212c9cf4835";
   hasRunfiles = true;
   version = "1.9.8a";
 };
 "biblatex-phys" = {
   stripPrefix = 0;
-  sha512.run = "18a28e02f1749deba6a6ff59a000d2efb74809db62e6d7abd723dac53411a2898c4cacd93d464468cc55c769e1c6ec3db671f9ebbdf57bc6ea2c8a1d9c0ec951";
-  sha512.doc = "6d82946b9a9d3bd4462993f81b0bccae5340baba7f74ea5b839883366dc8223b0c0f9a3585f76a47031edde28bbe50025f1ae8ca8a0e96c7755e35812b3cd10d";
+  sha512.run = "8eb90dd0bf30a8eb3a6dae780d9b89724dbd124bdbae112c0d87f865b1e1ba106f13ccdc2d9299735899ef7b8e6aedce3dfa24264123bee1a14249fbf979c716";
+  sha512.doc = "87bf23273c9e981175fc36a2f3d8238fac13ae3115473f755e5151811d3a3903d31d4571f96dfae1a2f257da628e1c13dfc5fb17a49022f2995eacb4f8abbe36";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.1a";
 };
 "biblatex-publist" = {
   stripPrefix = 0;
-  sha512.run = "313099aac8478101d606ab1a49052565fc185a55e1f0119eb74f25571d21e95c0eaef5e1a4daee87c2b6c00421ad0666ed543351ff76dbdc218c4bd7227fadef";
-  sha512.doc = "1b8dbc733c2fb6ba0baf7ed9c3ea72392f477918863319ed99fa2bbbbe0c874e740e0fc4c909f9441e7f65287993734e7702f59f687819e0846ea9f7088bfd45";
+  sha512.run = "9f73dd60d22adc1af2cc87c7fe3cf38b50fcc173a66cd1511a08a37938a0bcacef20ab27995ccc2cf4912d2b74948e417d0209bef93be8bcf49f51a6883778a4";
+  sha512.doc = "1899ddf6edeb2ed11417cd90957bd9567041d6c06b43a56d08d618a734d7700e5092dc1e350ed03a08e82f3b2e8759ef8fed8f8933996d1d8a5b7ed5c8becb17";
   hasRunfiles = true;
-  version = "1.15";
+  version = "1.16";
 };
 "biblatex-realauthor" = {
   stripPrefix = 0;
-  sha512.run = "f76ce568cd7283cbe2608720e3902a2b1b08442f3c317c077806469e6815faaab029cbd5037adc0378ca158b5abd37997384a8bc5e598b84195e1f0bb761c1da";
-  sha512.doc = "f18740f5d3f8929b3f5e74834097cb26d1c314ede7e14a7a41a49a75ac9845c03b43c9b25cfc299de5b7ecf6ebdff1a241d38aecc25e9e82b85a2380ce35834a";
+  sha512.run = "dec592d3f16a431286f7887af863664d777e09e5784a53e9b99247e3bae86c7928907135980d27614e52ab6bd1f1f59a3e8633ecde05d3f9b84b97c84ccefa23";
+  sha512.doc = "bf0ed482905bfcf9bf5a8eda61f609037316012aa2992796c57d48b5f5ccac496dd372ef5e8c88262c8bc5b2d543cbf5f6aba8ff1833a99db6929dfbf379d2cc";
   hasRunfiles = true;
   version = "2.7.1a";
 };
 "biblatex-sbl" = {
   stripPrefix = 0;
-  sha512.run = "a329fa30457ed44a7a9de2328bd343e00168592076d2e76af7d6960793eaadcf6aff73eb8b81f342a16d6c6a10eda969b2bdad17c671d26d93b39995f7ae34c6";
-  sha512.doc = "a552576bfa642f7a7f0a661e81b67acd992639828c112e7c963d0c55f8d0350cbc1fff62b08c8b627a72d226c934c4a5772a46f4fcf32c6c0e93cf80ac5480d3";
+  sha512.run = "dfbe4de870b93fd1bd77aacf003ea56926adc6d52d0b5f47125d411738a66822f8c99bf3d58d0fe955105a30e5f2629a0c37ef5bc3cf00d3ebe895cadf621063";
+  sha512.doc = "c7ccc14015397b816ca508bed2533fbc2ff183dbdb035d13100e8ec8faee18ea7ce10f7d8140b2ebbc6d58831db59ed6a9d7a4b75b0ef346081deebc7c323b72";
   hasRunfiles = true;
   version = "0.11";
 };
 "biblatex-science" = {
   stripPrefix = 0;
-  sha512.run = "b7edb69c36c08920637234a0325daa5d5e63648a05cc134b177111198be1272dd23e914015cb8d242929941ace3043aae2ac835b5847f1e224c531c89072c27c";
-  sha512.doc = "f1d7e51b2b9bfdeac45ca029f5c2cfbf682630074273ee3e8a469551755e24050df5c7030e10fa19cc83035045b759998d60fae22965a6f4234d6cb6a50dd05d";
+  sha512.run = "e75dccc1a01975776cf94c17aad531823844085e4fa2ba54ba4f74d77ad193c26238eed602f309760f3057b6fc405fd01ec2a7a20647cd8570889832b1ee6bdb";
+  sha512.doc = "ad7d8fd4e54830d77f0a155a04cd523c5c789745b5da34b8ea1efe59ffd4ee1673045dec58d28b8234993a70061337178cddda2267506366549c2639f6c917b7";
   hasRunfiles = true;
   version = "1.2";
 };
 "biblatex-shortfields" = {
   stripPrefix = 0;
-  sha512.run = "7f1d985550a96aef803f752f294a06d5e71bc2ccea6e193614dcf6b9bceca6b02d3c878041df190a65380e03622c12eecfbe05b42a16bccd9360435e738396b4";
-  sha512.doc = "cf91da092761af447114594da766c62572c3ea79a2cc7ed120175eed0dedd54c291cfbc7a600584f0f8226d6d949411b317ac4ac6f99143225ac67e0500583c3";
+  sha512.run = "be9562c2b79e1f01a110708eb6c0de165a9f596bd18ee72dd6c8add0bf380222a31ae12d86ab843083ae3e7f47a608826b985455f4c8501bbe21d4f0a0e15b80";
+  sha512.doc = "e6e5e6c113ef43a9784f9000637d526f0bc989358d690d4f41be01e1e22abcb33f347421c727c411c2c02f0c11b1c60d54e7fc23180bd6f66c5c46bf29fc1202";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "biblatex-socialscienceshuberlin" = {
   stripPrefix = 0;
-  sha512.run = "e0b0fccb0fa2c7bbac6e89a4d0644895a91bc4eec4cb8affdd4729d55ff5c908c2d5cef4c3660427828edb5d8764d327fd6d217e227f55a4ca8db9d384a93afd";
-  sha512.doc = "5b1f5aaaacfd26b65dc5d06e77485cf15291550210f0cfbd7785dfd3e261cf65a4357b0e55761846fe58c75855f97ca31b4beac0db3c3d222beb926f6f2b4aeb";
+  sha512.run = "f927cccda37e1ab37bd01b49f3247b688ba0186db5b162ab9b73db7be5f83d1b261bcfbf355d575a3905cdfca2421b6b592ae0763d7575957ea382b451fb6099";
+  sha512.doc = "30c411b27e50e0f4ac46385a07606846ae3dd744879de257e2f2abec829e5920957d55e970255cc51cb768f3ca0aab629f30d2860e5745c4addf5aac10ecaca3";
   hasRunfiles = true;
   version = "0.0.1";
 };
 "biblatex-source-division" = {
   stripPrefix = 0;
-  sha512.run = "bb07b638d1fb70bbaa20505ba6d9d0a3a628b7932087d0913bb32f4f2cff1cd0997c017943b0fc047f440a98aa6f94089a99c93a60dbd79d8c69b006b91b0587";
-  sha512.doc = "bbae4db7e946580476775e15b2ce30cc87b41ee21daf2b1cca017bf9d3449ec1ff502596d79952bf0640ac9a0cf0399ba44e3456443106d719d9374d7fb45d00";
+  sha512.run = "f7a9b6a9f8fb21a5b9f06e3904ec2147ccd21383c3ced8852b22d0cf62088be103b674466ae571ace6bea52904f6cfb79ef2982bdb16679d02ff1d260d5b3517";
+  sha512.doc = "1ae3883454e6aafc91b996de520a4669a06a67cd74b9df7e7cb7d096291d5f1dbe728a2a0fbd3b5968fdebf64946e829c4722bff33ff52ccbf32d8055f042144";
   hasRunfiles = true;
   version = "2.4.2";
 };
 "biblatex-subseries" = {
   stripPrefix = 0;
-  sha512.run = "12f456ac834bb7537a1cc0b1fa6eaed4090c9c034b7fda85300932a425ba1ce296517ee928230f7be08e01543ebebca615df0ac338cf08c4f132719623314b1e";
-  sha512.doc = "f0f025e3dfc9daed0463d90afc0f8cfa6da36e7a54fa2d5d10d6a994e23aed7f6b01a3e5ed2e0d867f7b08d21fc6bc9b3a41139cba9d337e91c23d8beb9110e7";
+  sha512.run = "37955d7e547fceb3e3856f5e367d39a4952ee0d604652963db2a54466e9d6c1effb6b2c195ffd1dd15eec5552df97419a09763bc51af06c6726dbe40a6e3bbae";
+  sha512.doc = "94bf4807e0623c35690ef7b1fd879710a762630224c0a52ee4e7b4a96c27001a9653de2c7d2ecd2a12cda448bfbdc336c54bcc8fb6674782af017cddfdc8e5fb";
   hasRunfiles = true;
   version = "1.2.0";
 };
 "biblatex-swiss-legal" = {
   stripPrefix = 0;
-  sha512.run = "31bff495e98f09827274366c20debdf2a80b5ce0d3f76ae82eec237084f42f06a09a97b81919e60430978c51c87e2de1bdf330acdeb58b759dbfda4caaddca60";
-  sha512.doc = "540c841e51f06f1ac412dab33cdd90f6dcdc2aca106126125cca313b99142ce5f0e4baa2c9ad08fcccc6b45ce0087f34d008178798c59d4eeff7878805a0f451";
+  sha512.run = "fd21319f30eb2187333db187c7ad171cb61a75ad4d62ddf3414a04021a7ad4fce57836aa0d2a9ef00488256d5126c18a976f664cff8978f8aa1e80a161dce979";
+  sha512.doc = "beba2cd9e8a78076148f7aedb6b5cf950ed865de9432633f225c160e1a46c98098a8bc94c783ec35cd982e020736c85ec94bc66ad68ead05d7187238ceb0a07c";
   hasRunfiles = true;
   version = "1.1.2a";
 };
 "biblatex-trad" = {
   stripPrefix = 0;
-  sha512.run = "08cbd161c42e1f5c99d6cf3b74cf24db489bdb456eb969b86972a3d65760140fa5274901b76321f9696d2a07dec5daaa8bc81e7aa7f4e5f4fda1229b1ed74a1f";
-  sha512.doc = "17185bcd5c15250fc6791020b341b1211d8c7873cc16e752aae6ee3549bca0d44691c8944acf98d68779b01d95c8c169e9cd5ca8ce5f8bf7758258a15287bc40";
+  sha512.run = "3a21ed76cdfd4c327562aed15a56fda824b33fdbab993accc8e944a662e157ca8ce30c4ac6413b4365c27ce787625e03d206a5574116c205daa55a5211779f7d";
+  sha512.doc = "cabf53ca2febe8bdc26c56f58f99e811ab8695134f3b10c01f946c7c13a63b723ebd598013fdad3eff8aec9d4f629b16bd3915d9087b1dca365cf208a7f72ea5";
   hasRunfiles = true;
   version = "0.4a";
 };
 "biblatex-true-citepages-omit" = {
   stripPrefix = 0;
-  sha512.run = "bc7828fda0cc4395f6a3b76636f5fa41c0eea38f676f002285425ed826df26c6ecbd8a319390dbe3455d7457b2d85a22bdcba356f9e3b3446f1c47a478c1fede";
-  sha512.doc = "1cc341bf1636a3cac32e99431750aef8261f795935b2a098a240c51ebdb5294e363e020b35d83c99d88c558c6a53e4b2b784cf9016ab7cf0010111de71247374";
+  sha512.run = "908f6544890f69b4ca405c94e68c4814c52956bb77108f8e29bb4b6b63ad7de3bc0b1f1213a612f9e0ebd94ddc054907092451a9f326476f39e18a1f81ed0c63";
+  sha512.doc = "bb53e66c1aec87669be8bb608f82cd7683692cf87aeed792d1e9d49045039c15fc7113fe116e04332e8aa6331101a6e97e97f655e26cecee9636409d810f77e7";
   hasRunfiles = true;
   version = "2.0.0";
 };
 "bibleref" = {
   stripPrefix = 0;
-  sha512.run = "f331531e5c511427f132e90c60d48b4e54c33276ecc4ff0cd2cd037b119eff77a2e948b5a8e08315870e61f7c2773af1c4aaabef9eead6bda1ad8fbfdbd66da6";
-  sha512.doc = "1c5dd1973386d0f799d35b9e7b5923df291353f8082159da353c2806552758496b61688d79b112433d17e7ee454b48f094e269ddb5146ccebcb41a52ae49726f";
-  sha512.source = "5f5d64bdd06c40e73d7106298452a956ff7a662d3be8293ce16bc108bb969a893b2c8e9ee624a69ba4b646fba9f0b700c19df027b7db66c2320d3a53fa73f1df";
+  sha512.run = "0a25a0c4577815d27c02a0af30d1b70eddbb9de696c83333858d698aff9e8ed5e76d6b3278504cb153f284ce8fa23e0748140d7f9cc7fe1e04607825458941e2";
+  sha512.doc = "5479f8c951c37d27f6a4115030fc1065b1da5d9ddfc81be2ef6da561adde77f71fc86b49f08958a7b3310256c38b760aaa556b0a275be920f79b5c6e98e97471";
+  sha512.source = "b21f2e9e48dc4c1bb690a5ac6faec0664ea691bfab8c347df540f3172aff14cd2aac12fe38aee3a9339c874af158c2f440733bdadd9a0ebe45c5a28a642fe08b";
   hasRunfiles = true;
   version = "1.23";
 };
 "bibleref-french" = {
   stripPrefix = 0;
-  sha512.run = "090a851aebdc0afde3ad3e073d6a03b1dd7eb1334cd9f4fb8dec656ad722b140a898233ffa8c83253a859915c0df6d156ea2d9681b9fc569b04552f0eb91cc38";
-  sha512.doc = "7ac8246d9df83136dc0feb0e4bf9d76c788352a1f6b6d06a4faff5cfdedcf2b9486b06910313c06482536e64f72e830e782512d44c70ebf52f439c91177b4b1e";
-  sha512.source = "4064ad99c6e8cc67c814b969779b379126f690bf60351eefeb7f40e0d39f076d6f5e7f29d4621bfd17fdd11671753f23a7833eccbc5e574e1570b66492b7bbc6";
+  sha512.run = "0e7d9a9a6db26612cc2a78c526980aee6b1f47312e02317b5d9791a9386c1799622df36283337c57d33bf4935cf24b1cf65999875479973b8f1309392d97b3a6";
+  sha512.doc = "133644d3298435d9ceaa1443cea19dbf7465ef82a4fdde4c7f2e1f950735fe220e6dafb0512505f8762725bbbc0062413b646204ca728fcf9481dfcb51a9ef35";
+  sha512.source = "d17db1b6a96b8a4c69217e1685e653a03ed2536e146fc10788521a9fa95b44cced0abaff6ba965e654f4d69cc68d03f75956f619cfd8d2735c8ab605876cda09";
   hasRunfiles = true;
   version = "2.3.2";
 };
 "bibleref-german" = {
   stripPrefix = 0;
-  sha512.run = "bf8261fa3aac04721a934a645b82ea41f9fcf92d7c683f7f0aceb581134a2e4ff38c65a3100a750d0d7d9597d9853608080e67a40d58ca0c8ba7576313b753f4";
-  sha512.doc = "f20de60f57b4e2c39cdaed27c65336f18d90828abce1c42c150de7de99630c6769488d9d13ca1174e2a720e88d25d3100f38b3d5ef0211a9b23a51a34817d061";
+  sha512.run = "094177e505025eef5262b876fc49cfb09435b653c87fb1ee7453650e94f098bfbc7f5c78684849b3ce0cec2019d85a0413728397b5ffaf32bde542d8fa86222f";
+  sha512.doc = "c3c610fd8a80ca5a0b8de6ce4aac887a7d16f01e21d845fad595e1d5d6069d8e89459dfd187cc458d21bf2247f4f2c7fe72233a12c8e532b9466f2ceea283360";
   hasRunfiles = true;
   version = "1.0a";
 };
 "bibleref-lds" = {
   stripPrefix = 0;
-  sha512.run = "cd2ec9e5157d8e2a0c587abafb5b3be29d0007b3866fff1914c64e0f97ffe351985cc29f12ddee4b862a43f026e8de63aec5faa7f55ec366cce389f2bd3e54d5";
-  sha512.doc = "f191e15d805a9b853f565a5adb72ce001609352a8285e9c8cfa056389a423759530a5d7669eaaf25dce17934d3a905407bc21e1299b5adb549c553d901610216";
-  sha512.source = "442c303e0a3e130e21cf5a70cfc872ab1a79b9ef0b2d5aa581b2fb58a0bdc0d4a47be906330c8ead7b2a58d092d07bd7805f5cf41fd56895c790f356fa37cfe5";
+  sha512.run = "ba3c4e41b566d0a26bd9f0d11d8e776fe04a18aac451435ff0283ff273971138407753bd6806f34708c5a2f0c1b2581c71de46bbc2e0c8063c9838b3d946f2ca";
+  sha512.doc = "6fd81f90d0c94644231e911ab44827b77864842a3fa91127fb53114179488e5ffd66a404a1b5afee513e0cd3f4c83f38cae547e6dd6484403926c4c46b5cdec7";
+  sha512.source = "0494b05fd3881cc273e8232c398e80ddca4c1286b10aef5d341c6c3573ee40cd5ad1b7a2ae0aab9fd505f94a4bf98643453648b7cc52fda09f5e705a8b4da863";
   hasRunfiles = true;
   version = "1.0";
 };
 "bibleref-mouth" = {
   stripPrefix = 0;
-  sha512.run = "97975f1399dd6000cad9bd1f0c250cc4d763676416620ac1a532b4c8a6144d99c33a4109172deeccf86aebe6a54b585da86b9f8514b3bbcd9d04ef3c110605f5";
-  sha512.doc = "27dd5f6babc1341c959046d5484dfc065be7f246f476e89f0a10d9dbe57edafb43bf30c17dfe0e4cf2dd75bca5838c0260562cfdd174cf2d4f1dda55738f636a";
-  sha512.source = "4040385b61fb8459daaef533d6e186742711f7bdbb5482cd58676d150da55513651cb3b70fda2e4811ae9c730c650a3dd5dda038300ad2e770baa48cb8f9f6da";
+  sha512.run = "5ae9356781549cb5ecbdfa33085ede0fdbcb7f131d55484153484c777f88e23cf965507afde803e7bc5b775aeb416b9ee767815b5dbec444a3d21be18c7445f4";
+  sha512.doc = "a904b4c9c0c8f3ff1feaaad8d1650b383ff0110bcf463f004938c51bce84ffc860082bf3e598922eedf0aeaa664ef0379ea3304f6dc5b681679d9545026c6bf4";
+  sha512.source = "5ad805eb19d6ce8fef804117b462eb1f1dff887c3b6326fd42eba88c7a218ada84992bc419d889f04363ae9b7073b13ebb5f7a002225191fc22c2a2cb5824514";
   hasRunfiles = true;
   version = "1.0";
 };
 "bibleref-parse" = {
   stripPrefix = 0;
-  sha512.run = "57ae731cd541f583db9f3dc6b967989e24603e6a720d763b144d0cc66eb87ddac93060be69bef16365bdb9da3e9be7aa5ffc2bd707669d3b1888b1304d8071d1";
-  sha512.doc = "7972a0d8500f61c97516578be1ddc081abb9987f3783e529cd0489f73ed47c2da4483e12bc4142d39f78aa9ba85de175842e6e8164634a90ff24e3c1559cfe93";
+  sha512.run = "3af7da247ff7f9708ef076a3fe110979e7ff07be0afb08597feeda9ae31e60a66eb2bbbb5da015e10566e83a116cc9f2efa56fe91a57717230fb35bd004c209d";
+  sha512.doc = "08393d76bca59dcbd715cc443ffbf7a1e15894ac6a2963d0ce770c96974c14d42283fd9237c215fe454ec4403a21387ba9dee52ea1bd93b83ab4a13fbc65157c";
   hasRunfiles = true;
   version = "1.1";
 };
 "bibletext" = {
   stripPrefix = 0;
-  sha512.run = "846fc7390c2120b980d35d64fe1b6f715d29f27769a969be4dcc11ac93ba7b661479261e2bd80b0ccd657e4fbbd64a0487662647aca9ba0b17d3c7a662e8d453";
-  sha512.doc = "c3921b21064b6b467971fce9f5711d9d6ba1b886d3a3d12282e6a36d0f4ea5b453f80dcb91c2a9f09936fa14ae136e1bf3fa747c05cc47f063c3c483a9e0b111";
+  sha512.run = "3c5170b747c6426099c021390f7ac226ebf9dbe42ff586c698b3489d47639fcd4198a4cf49261bba9335caebf8f39488d65fe851d60d9f3c2cc2127539ef080a";
+  sha512.doc = "ea38659b5b2bc252760937ecf21d4ac3e8986ac8be6afdc1f2205d84696b8da55e02037bcddb24de389d54a692240ae946ab3e41a0a7913015da4d7b5e12da7f";
   hasRunfiles = true;
   version = "0.1.2";
 };
 "biblist" = {
   stripPrefix = 0;
-  sha512.run = "565d41258f55975cdf13d888868714533bdc86878235c31867d73ddd139fd8d815a0ca399022181c6d02f6546d3afe2bdc2b73dd9bf8894cf40b8a1b7cfefd8b";
-  sha512.doc = "ab49e2c31508f4b86e5103e4650d201c2d1f5ea95157fa3239436a9f228bd95f6366a85e44b988c7bd597df2bfbf722d1153338a8dabdd701c2d91d11813cb11";
+  sha512.run = "02f006139b475cb5d4ec2bf85ec098de78f5bed7242ec693317ad4e01acb62a8c5479f295a8a1409fccd41b327daa75a2639b67d9838777b8355e6bd40af478c";
+  sha512.doc = "b5bdd51d7acb738569671f13dbd25fc7b98a8e2e03e324e9501a20ac34cf1ae3578fcd622be73a80467e47a64a81f4d897c4e167b07a5ff5d06635b09dbec51d";
   hasRunfiles = true;
 };
 "bibtex" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "0939809e12ff25e750a9ec85e1f13c810209a9beb8cdcdb1923c1c718d7177e4398d3772c9fc773d0970a2806af912f39bb341d8fb6a51637e62db9ad19bb8d1";
-  sha512.doc = "99409261c7655f0759b17d3203283505f3791a2fe7bb3ae875a8d583250aaf16ff38f853a9d7c213cde17222b5ceef0dc3ac58b8abe7df56913f8107f77f07ba";
+  sha512.run = "2657225efc1d8f9954d1be9d9b866a626cb252cf596a78a7573ab5b43272e8646a4dd5c59f87275bd6280a2e614bb450c000da6cd9db6b2666f551943ccba8ef";
+  sha512.doc = "4974d5cc9b6702558a9df37d48ed1c00cf12b1ac54c38954c2ff000dcf11a832b2f1267ca1bc009768cc18adccc0fd7bc7bf0e8ebd351f11caaa5f58b63f6585";
   hasRunfiles = true;
   version = "0.99d";
 };
 "bibtex8" = {
-  sha512.run = "06cd33593de7eb7ee393f2d33de18435b0c1e57313fc24fbc23d02627650805daa9dfaf7d57dfadff56bcb5234144504f48fbf7aee51098459d9356ebfd57208";
-  sha512.doc = "b6350f310809d914d8a7a30f42d5c6d86cff901ac1145b88ddd54211d30cd02aaa5491da86cd399e5aef70a09ef7c2dc5f8d9343853bfa3cc8e00595de17334f";
+  sha512.run = "9d8ebea38bad048488251baf4ec7f939eec9c75df17dba576e510c09da6288a9cd2967c6c1dd5f7a472de51e38030801ff192874fd7d038a1f81e063614675d7";
+  sha512.doc = "bf6b13a5ca1e467c5435b51e6c5c6c4549eb456ae91fcac1c756ca09c165fafd488de6a4d2462057ef6ec7b3ea0b0518bd732556159ced0936494c5ebd4aad22";
   hasRunfiles = true;
   version = "3.71";
 };
 "bibtexperllibs" = {
   stripPrefix = 0;
-  sha512.run = "41a85300f529541407f5c1c565cc4a1ae85276c47a88ba3a089c0826afae764acb08d36a7c3b7fd8ffa32760d672553625c29f2f6cd19257936a5ff3aa689161";
-  sha512.doc = "4f619da80b6af0986a39dfb7c2f3e32e792122293bb4221d49497b636e4accf014d29175d8657eaa54519e61a06bed4b7f6d26e80585a41b15d320ab6cc4ad9e";
-  sha512.source = "bcf1c89d7712619e3af4bc6946d3dc6a3eac98d77fdb88fb6ec62b9118cf9aff76200f4296bacfd538aaa71cd8c3f2b0029d77e69ac1f252df7690fc1273491a";
+  sha512.run = "157db9c0bd7d44fea67844046996b5323f2d26828a8a4031712fe006ef0cdbb0992348d4a8e53c2a52ef0f8a1bd8cd108946baba46783d83d27e05b370bbc6c6";
+  sha512.doc = "59f0d671efc182550ca926b1a208c31569e76bacd96e6444437d8ddfae3ad7fcfba60fcb292fcebacfeed1dc225a3e973b41e852ed77eab11308848e532a2c31";
+  sha512.source = "59b5717b5762643e135ac5540d86e841ab6694539723f808e64c1533aa93c62dbcb1a4fe86e0b649abcf60c86efc94b696834614dc0e3c8b9418dfcc86cd36b0";
   hasRunfiles = true;
   version = "1.5";
 };
 "bibtexu" = {
-  sha512.run = "66dbe9076aebcf722e55bc9cc30e80cd4541f295a544304e83f83911ace04bb4386574a0c98e818c24b781e8fb219240a59a15302f2bd55c5cc91b25c043e2ba";
-  sha512.doc = "c30230d2789e53830e09ae553e62af6ebfed4f860646e507c210e2ec56e75fe5710444add355ebfccc23d1b054467adcdb3654c8e22ec5faf11af31436da66b5";
+  sha512.run = "ad6c9702b9b1a41f45e493d27a75f703a06aab99f30ed920f8e3fa8a00d9fdb37009afc7dc5c27ac557e5fb5b3214cb0473ea5099e1fbdc596c5d8f86865a71f";
+  sha512.doc = "317a7806774db23017870f67b66730a77ff3944467bd9575bc6fb9f6a64c8e273bd3e337af218e1b4a156cd4e040bf6c152711d2e8bcd4bcfcb94c4746cd6b06";
 };
 "bibtopic" = {
   stripPrefix = 0;
-  sha512.run = "81ed65c65d2eecd52dee69fac01c4f55aadead5747ee03f21970bc10bbd5bb63d83be09eca36cb3a6fa2e284164b561e913dacbb94bae434417620b5e07838f5";
-  sha512.doc = "6efd7659d2b460a3daad43b96e792e27b05bc066140419944f3545c460e37906f7e0d253f22fc6eb67cfd6e3de81a0c47ab50290292f25c79b5a80ff1b9553e6";
-  sha512.source = "ab2090ec566eda6274560bd73f3c0fb792853abfb52881804ccde7cadae9ffc73c980ebc2cb05859b7da304dba016a4c7e8956befbfc2ce7a424a302e92ff383";
+  sha512.run = "34e2a644cc4472f415522e6e798bcb1e2d623afd4783b07f4904405c63296ec912fb6c1d03f80d51c37ab81944cddb5b4f3678a22a7151d89376ed9aa343e9d7";
+  sha512.doc = "5849fd57abb9bd847833993e660e342a537562bea9fba76376f3885d3bd09360c5783e4f04828137b43c076b635a2d566d908be48287c3fe6645c2abcba06652";
+  sha512.source = "2b6d11221e625b6d568874d12cbc7b45d074ebe2bb973d63fcbb9d85689a4c27824f3eec68fcaa46f0de707767baa516c3925ff0fc4d6a90518584847844ede9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "bibtopicprefix" = {
   stripPrefix = 0;
-  sha512.run = "d31376a4ce7e1c1bab08e85844485916bcc70b8a65724fe0e94970b65fc46866cdd3b87f6dbe759f9fda1e6bc55b6b5d4bb4ad8c4d6719f1e9ede9f5b0be67be";
-  sha512.doc = "ed219949f9eb2799cd226cb23fd2342ce0b87bd6c4152b79e100a58e44997c71b56e30fdf5ad36f85600d23ac17eabef79d8ee3ae4a8a03d91c857a81686633d";
-  sha512.source = "e36118181def3b81b699d8ff757f667b06fc386e769649a7ec72bb7c784eb4eb02029cb8c53e8032a6f4d27084bcec8d2265908e26c12cd7990de154e82c0858";
+  sha512.run = "1df7d78498b6de233aea92cb1b18f73893b8cab723fb614a9fe895e5131639c1b4f4318cbe103ea4d9308e383627873576664f0af3ac6fd26aebd5b8b0036379";
+  sha512.doc = "473a7db7638f471fd87b1cb242a3a593e3ff0aa4586c1fbe906cf12f2dd866a27ab50176b01d3f4158cdf0fc263fa54ce16eb63c797392349fbc90a8422c3b2f";
+  sha512.source = "ebb06f55dd58c5948e5586ba29fe3aff33533eb3b044e07be71da0f20512af21d9808ae7d970f168189bc84ccb9bde6a19e935d7d6280e929d169250d3781a3e";
   hasRunfiles = true;
   version = "1.10";
 };
 "bibunits" = {
   stripPrefix = 0;
-  sha512.run = "b99acc16b9cbf51082a6a8a22e96a335b56c42b6e8f93b26c2a89150015b7af57854b7d7f25c48875f484ef539d2309255a85673c82f572539e4dc7ade869467";
-  sha512.doc = "e506c2bb62fa1e40a88c9aa5a990e6eec633b06dfd561cc23d6e08f1d976fe80fc80ca6d98e8c167a85fe00c528f44ce0a2c9108ebd0fafad808f436de3e48ed";
-  sha512.source = "807829a907fe60bb419c87a514cdccba7f30cf63ff4dad0025ec630330b95b8af340530664272d07261b01f37efbc5e6a243173d1aed770e59d9ea66d9e509d5";
+  sha512.run = "5658d508b876a88f3916a190a9090d66f2dbee98260af8d23c8358d0708f27fc80d4cf6c348b1f6e1ff196e7de6d5567e371ada640a9a602185611fb09e64ddd";
+  sha512.doc = "888e5a4c1863c15112ece5763b01525a1a74f97ae1270495a41d598e73c4583ce2b9e28030b3054dcfebd60b038fb2d32938d6be947477fca93014fac70676af";
+  sha512.source = "37cbb8ff6443757982a97bf6efa90881807712ebd7f0ce2975ef4960ef74e0541cea9fbffd64f765b6631378f3d21e2ac308ea1554709b6c2582b7cf7485398e";
   hasRunfiles = true;
   version = "2.2";
 };
 "bidi" = {
   stripPrefix = 0;
-  sha512.run = "71a5d0d613edde6af98a4884fe9978a32d410584bc7f6022779edaa5bbeebd0fb2c45c2ffa8ee639ab85f7719e47fdb10679a9ea83e16f1328f59d6b41fbf883";
-  sha512.doc = "7e8b78ba4ad31f477213065b24e1235a0e13a6a25dc9529f6bf7a1f5ae323c86132a038bb0d6d02fd021d137301aa3734007242ef7357b9a0aaa1b6e74107ab1";
-  sha512.source = "a125abcb6bc8655314a6e6cb6c386a74327391e227a20228415c742949ae127f419fa886e0174ec608046851c70f0e6c40c3077616656a91fed26cf110dc969c";
+  sha512.run = "a65ad641869648ecee494a6d3e18bcecf89ada7f0a340246e0277e13f0b119c1c643b8323238986e0ffae8564ee6e44b84a802c661a7df7da33acd3bb821dc7b";
+  sha512.doc = "17fd648a19f68f7ba3c6155eb01b17ca00f4f64cbfa2809d22f18a073bc6726df5bac69bc8adcfe7291f2846e144c311de9eb48d6ff5860a90289494d943b11f";
+  sha512.source = "3da2a95d2cbb599b2be51e047a9a03e2952ba2e51aa41472913246d18747d3b7ca34b36409033a5c9fb242938e8ad83c5acf9f05a2a7a8a14fb36f0705b0ddb8";
   hasRunfiles = true;
-  version = "35.5";
+  version = "35.9";
 };
 "bidi-atbegshi" = {
   stripPrefix = 0;
-  sha512.run = "9a37c45f5b0dde87dc0c9f91257054f16b48ca25962bb46425caab8bef9eecf7221311841b731a2b677748fb33beb2da555e29dfbc538bd027f59fd42c627741";
-  sha512.doc = "a6c4de587371bd9504f3273740317a6ec95aa37d607279da56ca4c5a9139361667a8b476dd49aa9dfce25804ed9187d6f4935e39832433b40d930d7143abea04";
+  sha512.run = "1295c87c038683212deaf52a4436bb6adc2a0cc0220b6767e770aa909d88eaeda4a0bd2dec739a2415745609aaec78cdd91d4949f90663323aeec63cefd45d01";
+  sha512.doc = "6199c4d5b6064244c2fd38d8a0d6c4eac3c790cc786625502d89a5a8a2426f7182cc0e7c4b70513971a0cb4b1230bdbd1382c05762f6537a63a34fa4e79c020d";
   hasRunfiles = true;
   version = "0.1";
 };
 "bidicontour" = {
   stripPrefix = 0;
-  sha512.run = "45f488d39dcf4af1133b13d81dd365ac6650f33b0d676bef5d9ada7a95350b0ecb6599ebef989fecfe2cba26b438bb98dbf207483f81c3a457c6a31785ec64c7";
-  sha512.doc = "ff948246b9aaee4769e69961be6da6ccd51766ca3053083e89546332d9d021843a0310a5ea7ee02189d88a6a639298be13fc6ca81017ff24904501e55a49dfc8";
+  sha512.run = "10364edc592375f69912888945e6d555df30627498aaae409b727392c64cd4aac386433119578a7a01a48bd0cff84aae33079593219b282feb9d96a68bdde78f";
+  sha512.doc = "a1a3f9692ea2e462305f8c6db432586eb76d78cef5fa0e9057cbe5766ad99e25c560ad658569a92d1885e373fb6215fe2f9bcbc1c69b46c3088d36eb92e1aae9";
   hasRunfiles = true;
   version = "0.2";
 };
 "bidihl" = {
   stripPrefix = 0;
-  sha512.run = "7a32c2fed9ce99d81bfd9b42da8ef4012ac0c614729d6eea660dac84b8b86fa74b3d1a64ba902cf30806ecf3c2e228d87b0704e4307e84f749cbdcc2e65dfc25";
-  sha512.doc = "659005e159bde62357356f2910a5775f9c48cd181f7569cd4e253897f856c0b5ed8a45c54ce43beb38d0931064bf8eea3d480d16e3a6867f6361e01baa162289";
+  sha512.run = "fd82ad18b96cdd782fddab8739e09978d08fc37e8c65a177bde930671e102c9ffefe7465fc766860068188f6b9f8222119ac791f07223f79e9840f25659ea3ea";
+  sha512.doc = "c9d0503857f2cfa960e36872757afcab17b2631caa8a33112ff2361694939774052a5249db62d21831e19c17826f422853a78c5522094706bd4208d4c5223019";
   hasRunfiles = true;
   version = "0.1c";
 };
 "bidipagegrid" = {
   stripPrefix = 0;
-  sha512.run = "bc43b526dd9809e8bd9300638105d051f55428e1313d4cab0bd236a158fbbdf94004baa597b5d135e5bb3f300b42da55274bd51343c267d5ffbc05d163b93260";
-  sha512.doc = "988704e83e9537996e96d97d640d3afcb6645c61d8edf25dcfbe297493ac3c651ca02e1c3b82415cac61a9512dd357bc62f9bddf88a696f8934a28b714bc9da3";
+  sha512.run = "b823a646d97c15ad9beb3aebeb7b2156aefc3ffd7bdec813e9cb2481e137cd661936c57bacc3b8c42509151205dbd4096329b5cbec25bd06698b698c59739551";
+  sha512.doc = "615d87ca4c29e0a30cf1eee08819b10419a2f399a88f2bfed5bfb6eaf7b1adc8b64a2ccac5da7bedab4e4b951e80488b97203b9960980ca5919f653cc4218996";
   hasRunfiles = true;
   version = "0.2";
 };
 "bidipresentation" = {
   stripPrefix = 0;
-  sha512.run = "39eb4b3c095a8ce36b63f38337a1132ac164cb6d0cc716e6522a35e6da51fdfebbc1b513d6e4480c087b3e938ba5ac1d079ddf8a911cffdba7cf8bff7c5d5058";
-  sha512.doc = "18b240bacd51d420a1d7ce241ce46e876dfb67fbabcef88efab29bded6089aaa17ee24d94e15219fd103eb15cf45f378c115a039af3654d1410b9fd1381064fc";
+  sha512.run = "a41f98c3f009f7f8de8a41e386cc829c55650e603ccaa8e7e381fae45be2872e0b20e66b68e4d7ef8110abf7c9f6661865d49f7c0cf3ca4ae6f781c3ef5bc0ac";
+  sha512.doc = "56993d41b237d25e00536926b3b23f1b1a6940aabe4f636df73cabd5ec27252de9fb8ff17d872cec3cda7a0a3b8b13013ec77477dd89ebba83a8406da3ee144d";
   hasRunfiles = true;
   version = "0.3";
 };
 "bidishadowtext" = {
   stripPrefix = 0;
-  sha512.run = "6dad31243f3c236eaca6c962cb1fd6049b958a76bc02d88eea4452baba7f28e27a5294fb4a7e88140cb2f9d55939fb853eec283ab05ce53a0049e1407309b20d";
-  sha512.doc = "d74b5b095369ac659a3d51b87a966190d2d0c74d89af475f483c76cdf1af7702245451c496850406b4f52ac0f8d80048cc992e76eac888ff76f0b665bd749232";
+  sha512.run = "bf9a75be6d1f37055c793a16b0a4d019579adcbe14a93b64cec5495e4d7c8bcd8b8c6d86906714f8aa47be5789209a1ce78d19e8023b44b9d52409b281797310";
+  sha512.doc = "ac2f47ed1a5535ff1f0030c38bc210b2e3905bd46ce7024d5237387faf87be6a408ea35648f83a2ad7697ec09a91a4cce1aebd32c3446756adf1955bfa97f7c3";
   hasRunfiles = true;
   version = "0.1";
 };
 "bigfoot" = {
   stripPrefix = 0;
-  sha512.run = "6f3379574fec76402a368d394b695b4496f8c3eafcff8e9fb134afa86c5ee17ab1b14721bccef525b0b2a9ae71841d5befe3c62e5619e7cce897a32adc909997";
-  sha512.doc = "0da20ccbbf7d3d2fb2d34a588fb4e5d751f46aa4b6cbcedf3ee0277d3c962cfbdd3d55868077f059f3d6bd8a9bc293d004c6bb641e24c86a3224b868700decd7";
-  sha512.source = "43164ebcccb3225a97687027acd4abe6d5907ed14979cfb01da60f6c5bbad5c918a4580b50d86018502b0ccfd7a6ef712f82673a97343d4f4ad646dfd59992f0";
+  sha512.run = "f56fb1545e0a044a143d1a257b9784b5f5dcc56d68bbeb52f909eb928e9d749729135f0c76b3af6dd0306add550b440d32aee21c33e70b9b48a5a82220623702";
+  sha512.doc = "f5935a5ede836798f3eab1ff61d528870a07be712047a64aa5af5576a1c6032e9d88fb5c42cf216e0f9812266f9a8562b5290301446c654dcb46146d7b60a16e";
+  sha512.source = "75316aff3c594fd904adec7cadd0b24aff9d527479d0c59f3fc654772e29cdb4cca938fe5fef6e14b9928fb25f37fdd3f7a894a81f95810813875c4fd419dff6";
   hasRunfiles = true;
   version = "2.1";
 };
 "bigints" = {
   stripPrefix = 0;
-  sha512.run = "fcedbd45015adc18fc5dba5f4b3c7d6be02d3b277253081a8b5d8f2af9cb287625c6b886706a0e7e901e3c7ab1dc35ed2ed7d6540cc13df901120854a21d4f2b";
-  sha512.doc = "6da7694addaeaa7744ffab124e54a42f6f1be6cf4b8b7337e0abc413a405cff5f7f5f5303a6acca062f2c8b363e238bfb8491801343650c640a9417ca6040d78";
+  sha512.run = "23f9a529af214771f74c6921baf8582b6a3c5e170d0fa511c260f5dd3fb6cb6194ef4082ed299dc0a3ff8e413981a36b594b440e7bc5512c7d2732fed9eb7a8e";
+  sha512.doc = "46799d5c6758657eadca7fb30d214baf47c237b63655a71ad19e188fd54b664397babbbc5cf6d9897e81decd027dea1e0d1a6fea97384461ec8976fc19c7fd8d";
   hasRunfiles = true;
 };
 "binarytree" = {
   stripPrefix = 0;
-  sha512.run = "06a640173123242f7290c439d87be8b58322d2d751dc8a1a7e455cfec9875914c4aed55cca65a6e905550f839ff9333bb6b1ae154e0da1669cef7cd0ded3dd3a";
-  sha512.doc = "ccf0403d909291fcc42cd34b6569a45a1e4a6f7acfbf0e4fc65f802cc97419e1ac289184f473f2dc78cb921f7c67ffae378a8f4d3a9c54c1827ef0f9abdcd245";
-  sha512.source = "f3260689083d568c4dbbf93581ffdef02534f886a9678c9cd2f0cbf517ed1db4372506770dd87061f70becc29b64e54aec7af887c4d9a652e9a8e27476185358";
+  sha512.run = "b2204194393811994915604d428e0b537bf871681ea42a93d1e26a74d01cdee3ccd7817e7705cb6a3b9a1f2a97381e23226db9d671ddc36beb5c478271099cc0";
+  sha512.doc = "4ef9f7db1d9cf124112e3f3e5c6db7e0b53bd72a5d7674a9f0ac7c471b88ff72309705b8d3942277a93883ef821907f0119d4dd3f645c8caa098f363612df68a";
+  sha512.source = "ff1e8ce1d07c2011624086ae5810220af3e28f19eba4dff9e090e757787797afded50d937a7c1f503eb32bdc91cee2b0b1b42486381b725e57a127e5751ae5d7";
   hasRunfiles = true;
   version = "1.01";
 };
 "binomexp" = {
   stripPrefix = 0;
-  sha512.run = "dd91b4221b00dce41eb0f883887956e5b8247b0606436a47cfebfa586481cb54220eb6576c3c95f27b06dafc15d14f6dda63442c94dd77de190562f42fafd4ab";
-  sha512.doc = "860bc2750a744d9787027c6746ac4b3b8fbc2928cd1731c1ce6bdfff9e8eea89a36fac24d60499097e8f4eac9da3424983c422fe74bbacaab72c990cd4a34864";
-  sha512.source = "d53a978c1a49a00fb1bbd77ed71e9d797c8c92a761c41dcbff1ccee1edd8e2d79b925e40ebdda5be62dfcd7b361f74c2378a1b9b0c84ba07cbc27fdbce970a8b";
+  sha512.run = "61cd0072f766bc4abb1e3ed828d06c0e0ae6fb74902ad86e6c4ff3279ddd84386bbb0b1d669d9e71eef362c8d50577047e6076b174ca5b54da8680a43c5e1715";
+  sha512.doc = "9f8e24377ef858e0b3ecc94dc87eeeae08931084316034ea5e3de822ed8b6a65c4744b744a547aea19d3486bb6f2b04f46f1e7ec81cac2470d16b7134885d355";
+  sha512.source = "96ac7f02535a36555dc773b096324e821fa554423dc1d3fbb3436042a2ffa63e7d28b8d872b03b961143178aad40b6d14ef0be7378be99782e94f957889489d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "biochemistry-colors" = {
   stripPrefix = 0;
-  sha512.run = "46ea846a5bffd16af065b654f7b1342404a95ad71051c28644d8ee756b39e6436e70afcda612503008684bf5a2e5ce5b4add8b86a1cc15f368f72f6cbbf563c4";
-  sha512.doc = "6ed12a37587220c0eac1e595f24602e49dbadf6ff42202ae4a06de5e4f3e53a8ffad4626fe1f69dec6e4d0863927ddb9b809f327e8e8ca64f1d18da70b8824de";
+  sha512.run = "204e04776677a70f40ac602977cb4e4f53a8d15873808b98653981b2e8198e7cd234189bc0903467569bc95a1f4aa2070343f27042bcbcf2d43720a44dc53b5e";
+  sha512.doc = "e1ce9b0e9afc7b6fad2b22b9a30b8785dca1a8a5e132c23a1ed688fcf6df06245a6914a5123f937fc37b597fa3a2f412e0a4afc5f8aae85cefc32dbf70a14405";
   hasRunfiles = true;
   version = "1.00";
 };
 "biocon" = {
   stripPrefix = 0;
-  sha512.run = "b96f8d233c235264fd2c726c4307a54e86aa25e7f07392ba4614fe4823564c873c3a7462ef118996f05bc59d4d21dda122d44073b2cfd0c81932cf9602922344";
-  sha512.doc = "8217d50b396687a60e06664ac1d07ada5fd09b37e535afcf47e9731d68fca957a169a29b5e783f7c0db0ba4703a745be49cb0269811f8003d8a103752b2159d8";
+  sha512.run = "54676e4acaee07609c379d387af4f06b45a4bc0051a3333c250555536114b3862da73d70305b1f62adf7afca2b4a2157cce8afd9e20f10e49b01d4c2ad351cdb";
+  sha512.doc = "c296c8402129338295a3043a66bab91a499b29703f7ecead0a045e0820ced683a4c25168ecdfc184c07282904afed3703b31f8ca707492a913de7c49a351c322";
   hasRunfiles = true;
 };
 "biolett-bst" = {
   stripPrefix = 0;
-  sha512.run = "84810298f5942897755a78035746f5a724f8938829941730fb5b1e9769af1b44034708d856bc390c697d8860c8a7f64d6faa1fbec643b9eb7d774297657998ed";
-  sha512.doc = "b5607c948ea1985aac37c5c0f48df1a39eda6b756780de3c1aa8813465913d545cb5c3d6bf83cc223a546d8a60c260a10e2c2cc9adba088c972e36043a691163";
+  sha512.run = "e593f073daea4a8326d0a472999c128f511becde100c5dbedd540fd6ea116c5585b2d3673165ed39abf1942fb66c8372ca1961cef90501244f5320119117af05";
+  sha512.doc = "7b3f9666225849463683a38a3ccb4e5bc9c0869312d31173f48776c2b209eb269309699b2173c2eb5fc9163baabefd1bf6cf288ca683142285dda6f0c6d95b61";
   hasRunfiles = true;
 };
 "bitelist" = {
   stripPrefix = 0;
-  sha512.run = "f77b9ea22902c8bf7d93561e0e96fde9c7a0ad1cd9be866b4e473092ebec949d8b7b41bfddc30c7eb4443daba5a23100579497df0028d6819ca8226726053c6f";
-  sha512.doc = "5c16bb3579d9292857f34d9072ece4204c4c41d9bb6a2421cd9db08af01671d986bf52bf12db958f6f56f891324915cc217f67891b5259a72f9656c4a3d9c201";
-  sha512.source = "a2a3c2f243f38ee48e9037ae0594ac72458d3c0114b345c7c020007c30ebe7975b56c475a9be20b6be34514040869736b34e14b4477250044fc848cf57860d49";
+  sha512.run = "a2022ccc4f45f7a911eea4e99557764770b4e6f2ba0333e043fda2419e29d93bac40462fd36568354a415a9b27204a38620e6191fddcdb053f8956aac5747cbf";
+  sha512.doc = "5c3186464aaadbf269b26321ed9447e8a1633ca9b4a7b323da692277ab074f15b6c39df866eb41955dbd6ca8b0ff76a115786f3273fdb293bfb79893dfe0de99";
+  sha512.source = "0dfbf3dc2ad3b11ce91f1f5f6949f3d8559e0f90044abff431af556560382b5063a96e661c7e95667f3079a7386df85938e937743e2f185a13f4d8a2259fc4eb";
   hasRunfiles = true;
   version = "0.1";
 };
 "bitpattern" = {
   stripPrefix = 0;
-  sha512.run = "dfe9b2dc824e7484ae6e8e29a3c061656da3331503eb86abd26e629f239f240370143fe4c628aebb6e9fb4816aa8923534e00c50e1d7946e06c50d29b66d2442";
-  sha512.doc = "cc646093193e407554c4e4ec9f1f395e9a3f0abf66cf61b3e75aca2d320b1766dc9c035467c69386274cd1e95d783be350a735c4071a5b44312c62dd85a526ef";
-  sha512.source = "4d74f388490d1d17ae05d6dc127ec9aa0ba966a278afb3af519a5abfdda7a4858020f56e8bf483da79e236722c7da1d8413050d094fdc1c71c65ad7a22ba9788";
+  sha512.run = "34a0ade2d1110a15618b2ecc7f46a413519a0864a2e5cd1e25eacb9dd76cc66b35565b4b8c015780fa1d3dc88e2237ae7de33c77e29fd5428758a526959625af";
+  sha512.doc = "d1fd1b2b46d7846804c9163889bf3a96cda2e11e35de2328c9043f99ccd9d0778710219593565ec9231775e1404d713edd7998e3fa909ada7dee35333137b56f";
+  sha512.source = "8c5860792394f85ab87d2a3ab234496a1f550a24f98a5e2f8f4d815b24e4fd3e7d0a1ffefac3912536d22cd39fdbd91db013b1c8e05d4de92aca47db679fa7e3";
+  hasRunfiles = true;
+};
+"bitter" = {
+  stripPrefix = 0;
+  sha512.run = "edb101df2026b97585f8f5ca712a4bf41f5a2a15122a0e51448fcf1bdfe532bd7f70315644935a942bacdd431db4ff48ebc8b119cbf5d758909560eb2c942633";
+  sha512.doc = "926e4a3e7e19ed8571e23afc779be014c3b451d9696ef8d552d6c7f9072c9ccac2eb3ebd68adbb247d7238b0e4786594f85aaecd65b91ddf883e81f20222f29c";
   hasRunfiles = true;
 };
 "bizcard" = {
   stripPrefix = 0;
-  sha512.run = "1a9df235cb4edaecaf031ba31f458e75e0d0c61cd796c9b6d631a709bf02949a29e27e9b61b759acff1cdef17f7111108d07fe8dbad72f211ff3cee0dfc250ea";
-  sha512.doc = "dbeb043a535a0d5783b1e62f6f482da505da91b45e543b3fa426da043f32297e3c42bf0ae706e881e239e31bfffd4be47f2de3590645b9ec72f7762fca6558b2";
-  sha512.source = "d385af65425dd2ab47bf158f164053f265aeb21078aefadb3fc9018a4b81e0057a1f4c923088912da9e07c2a99c0cf1b350a3ccd8a066b215d46a9aa27c3a5da";
+  sha512.run = "1575499c7118a96f3273c5b8d68e25a20410daeecbce48d1e6355039b97867b34a06c40785052d378dffbc80b862beafc06b9fedf62254d8b31445d8f95cdd29";
+  sha512.doc = "f529ec77b370def29ad77927170874dc02af37bfb9f57a4e1383b5adaa93f6e59aa33df06d40a80e2374db514f55e2f115e7c8f22e4c92cbd3cb621d8a735bdd";
+  sha512.source = "ea5567a5b3f2a8f70954ca9b5939cb4f9cda05dd128da4d6592dcab25babf284d5fdb2c6af7a31e181f871802ab267fe012d9da3df963be19d789c6984c88cd5";
   hasRunfiles = true;
   version = "1.1";
 };
 "blacklettert1" = {
   stripPrefix = 0;
-  sha512.run = "eae5939e605120ad2d68176fab903b8f376a1ae9291ff9922492036ae9c41d7b1f650cebdc459c8475986ced21eb7732d2043fa7f9ac24dc9a4ef830cfb3e65d";
-  sha512.doc = "69247d5fedce954dcff14afdc5b930de14bde713a87f0376a073bb3acd8725d85acf36c8c899c9aeaf78abc42f2a3ef42b3d0851c498d981ecc3323fa53422d6";
-  sha512.source = "757412125e599529a02bdeaa38a3bbc3e9e19a9bd4b0c7a1e3813f88d4f4175ea6a3be8065ae846389eb362f49071df3724b5db07e1828c18b4c71bbbfa6c41e";
+  sha512.run = "eb7d531fd91c6d46145c76a08678033e20097805b3a911fa85194217104e071c56d3842cee83c275a11cd4cdee162aee4630d86025cab76806f20e19c975076d";
+  sha512.doc = "a1f18f4adc7f26b9e71db6f171ddb4a8eb15912cf57445110a9da52eb4e0b017a0ace85ddc46ec2df36e73ee3d9bf8dee087fe4467f46bb2bd7f708108585412";
+  sha512.source = "0951e374a22fda09a3fe51e3a7743874c774a756560fb63a68aa199ad2cca674ee87d1dd30b98709b0e74e018e0eec878316ff303575eabb014158311f22a273";
   hasRunfiles = true;
 };
 "blindtext" = {
   stripPrefix = 0;
-  sha512.run = "8d133571bd5e40c5d96a8c48913a0bf32050e2d32d90d364e1a2092fdceeb988d44171834180c68837ed39343b4a355ffba44a0ec122b63bce033daeac780cb7";
-  sha512.doc = "1366fb4dd654c7717a93085be6199ce4a7e0bdd150ed57d110a1b74bc5ab7beccdd2f4c09c5df7ec184df534f002ae29747b00117d19adec301d88a669e0ff9f";
-  sha512.source = "56cdd1d6dcec00b5c8e4da0e0e8dcd07d897fcc4488b34575621a72886c6d67a6b296cd6b930f52dd9e1e538a4c8019928c77e616d7cab662cf02935fe6cf5af";
+  sha512.run = "3baf7b9db502824ebf1cf8892cafb189654ad0a91a8cfba399e103b417a91e4f137918b73201fb5988c8dcecabc557865e190cdf77af35e634d0519d52715795";
+  sha512.doc = "290a4c76fbeb8003c6972933baaa95e62b37310594e459e27083326977d370c1408de95eae44d05d848c61eb22b555792e5e38f4a0b70267d6a87c0314268501";
+  sha512.source = "2ca8cbd44a56c36ea66fbad415524697009af4c7e39164bb43d9c689743666c05aded6042393bba6d658a0be1df3ca5ac64a6e8da2e9c726fbcd1500239c4532";
   hasRunfiles = true;
   version = "2.0";
 };
 "blkarray" = {
   stripPrefix = 0;
-  sha512.run = "b88ddb87d0ac727345dcff452ed59b135af2187c2b7f800cee676d02eceae6d9eee49cc4627318472b0f64d7999af3dbbcdb0b40a7fd8d4465d6b83fdef3ac23";
-  sha512.doc = "0c7d146117bcd8b9dfbab2f95a6b770bcf56229db48673d6e9fa0faadef395be7a4e4846405107c1103a5887bd10a5f74478ab0502df546f9d470044d85edb00";
+  sha512.run = "5ed66db84619cd9130e68e05acf617ed0007db9ea35895e31ad96b543f7d6a01fddf00304f05b0fb71ec9484556326ebad1d895b81b821b9f19fe6ae9f3ee12e";
+  sha512.doc = "81f1d5b5609531deda3475eb906b841d33a6e01ee49c54102474d852856172954d943ee02648fd1ce74d5bf4030db8d36c7b6786c9fe3105f3be08fea36fe207";
   hasRunfiles = true;
   version = "0.07";
 };
 "blochsphere" = {
   stripPrefix = 0;
-  sha512.run = "69f18db1f2fbec11c87971ba63e95df2f8b7cab3d5096004cecf4efdd4d0ba4b91d3e8d75107dd50cae893ae8bca4f91506dd76a12d7e81b86d1e1064a92c5d6";
-  sha512.doc = "b301b5e9df5749aa3ef0086cbbe083e286f952e16ebba6aa73d39c860a38cdcaba8cb0235691577529fcc0375b71af6e0da2766521d14eea9b710bc1d72fe5ab";
-  sha512.source = "1a4e199fbd60bf9a1a670d3b1571d4668035171d095f5757359a94b2b0ea958c90220bcb59ce97f1af4a20d3ffef26cd3d3de98f92cf7b36be429f07b1a5fb41";
+  sha512.run = "cf7a7865e3e994f2b951a24018b1b1b71ce2b61542751f495dc14ebc4964a1f4a2833d95bde9b8920d4a4fd60ccc03760e66b8ab64f6b14ff77b9206c98e19a2";
+  sha512.doc = "3a9706ba73e8da7280495f9d32d32a38c9119bac9b8497e7e1bc69a704fde2552848d60ab0ec175544046fdc06b3e8887b4eaeb1c50a5796144cd56e4a44d9e3";
+  sha512.source = "d5c54403afb2cc4db7c5340fe6aaec54da4066f6e9898cbf1f1d2ee3d4ba9a001699e8e32cf38fd87b355c1adbbbcb649635f9abc07976c2139fa6e851a987ac";
   hasRunfiles = true;
   version = "1.1";
 };
 "block" = {
   stripPrefix = 0;
-  sha512.run = "eb47e1ba9055879ca9152b51b5448d448dd3ea69b841fa008e7f91152612b9daa19a7c181a531b892bfa6e4021b04c50b13c119334aca328cd6e913e7aff1d92";
-  sha512.doc = "f268e408d6036505c7d3088b47dc810fd9b5132d27f3ccd1e85685120524741eef01b82e9ea7a336d16aefce4b60106b348dba1ab82f93ec0fcfec52248c2e9d";
+  sha512.run = "0dedf4b50238e3f12c3d17eca19e4640f2a36511fd65fe4d0baf4f221df279a5d9f28024cb0e20f528e32921e1d6b4c785071210e5ff6471c73e42e58faf89a5";
+  sha512.doc = "77b8c5b6949fb7eade5eee082be1c28433136b8374d45f255a80daa0c7a0340a3154a9f6f174fc52b25c252f1b5a2304b32e26c6d6a2f9af033569d7ba602952";
   hasRunfiles = true;
 };
 "blockdraw_mp" = {
   stripPrefix = 0;
-  sha512.run = "f83fe3c927384d16de17a8b20449cea64fa9666b28e7dc2a69c5aa41c87f8f2dd63f719d26b9e43d603761337d249b308ca25c0ea86e843a0ce83a3dc8c80b81";
-  sha512.doc = "983c70a0a475631db0f69903f10a722702e20600cbf8702a3a12a5a1da428edbbfbb0b8122e286498988c9b1fbb3cd9683ab65d8d837abedb2383cb74baf15f8";
+  sha512.run = "86bd39051095fde2a99b232b1139c4c196467d0e1825b3c1c73bd25551a55edb6417a0810b20c4ac3d53ff82519364f2ac72fde3845a750396a4f6a8966c73ef";
+  sha512.doc = "01fc4226a952c76b52726d1217649d9d98ec708163e4a9b997e36f505b385ed145182bca747a2b5334cfe8b4663d010a699664728c5be05cc4daba63ff1f3c00";
   hasRunfiles = true;
 };
 "bloques" = {
   stripPrefix = 0;
-  sha512.run = "1b8c0076629f8fce9fe6ac6e15a78010fc11fedad2ac26b7eb0b3c5d01616bb2e6aec95a2ea831e5fd3850f903b492677efb1fc49948c9cc59d2f57e888de468";
-  sha512.doc = "e263fd70740512d6c88c53fd148dc87367268d80831fa54c73eb5a352dd7d070877829ef831216e4f3f06aff27c2854211ac7379bb2f4fa813091e4ed36462c3";
+  sha512.run = "06b18467956f6782de7e0dad41f66a79e1c7dc5c3ff007a8970f24740dd5edfae0e375288c3510a8acfcdfda7b568f2316827cad1b6a006789afe8a31f829f4f";
+  sha512.doc = "fe37018f08820f21bf188301d0145e42b50563d8dbd8f9b232e6fa1b7eecda931e8a42d40f47ed7cbae24235833eebab874e30dd24d8393dc728d6fcb10057e1";
   hasRunfiles = true;
   version = "1.0";
 };
 "blowup" = {
   stripPrefix = 0;
-  sha512.run = "9f59d51b44b26317723a1353c96de944c51adcb1b12efb7b75cd1ae440f948af0b2669cd58a5caba48c50c6e9809db5ce410725cf6730d642b91ac7b65691cf3";
-  sha512.doc = "4aaff86ccaaae84e8d1a5bf7a2ce47648c10da0a9fcb8a0298cf90cd69cd734180381733a7666c0c869693264881f973e3a372776f7c15ca3460e60067ad593d";
-  sha512.source = "f2fd35108597789dbed188e92238d9511e379f4163052b0b4955c2220ed7faac231e632330cfe330186dd93abfc008998879abc1516d211adc11057357064f80";
+  sha512.run = "6ccf18bd12423d3a561e59a2ed9c8e2c7586fa65e47ab784c71111318fe370615acec672ca0e89bde159ec946abc1d4233f8367cc2e6f6f28f3f52dae6bc93e1";
+  sha512.doc = "962ab6dbac803f5043df96d178452da2e4ec2db96a7fe9a8400eff658e61169faff501cab3e7e078a18738d683c3bf1ec09a14f70fecbe5c8190b35101196ce2";
+  sha512.source = "6dad611292dae9ea8fe308beb3796e350a3beeaafc16f53b19d49863d5ab4321a94dfe41b6c0ecce236c922a4e0ef766082656bc41583bcbec42d7ccaa35d544";
   hasRunfiles = true;
   version = "1.0";
 };
 "blox" = {
   stripPrefix = 0;
-  sha512.run = "be8e4e834d6f671807320c20d1bad5ef2eda0042b6636f2091414a315d363851f330899da440854c9b0898d19ff561276ca4125c3eb09d1732ff46e7b29971dd";
-  sha512.doc = "a13fe8d143f9f9420c471265b2d98f1498f6a01f6c692a895c5f6fda5f6647ce90f4047356c8c1c33e90645bacdc698bc0ca0e83e00c926ead4a57de140d0196";
-  sha512.source = "0a2c5d8758bb19291c36d981853e3e042c40c60cda06cc0324c885e822bded2af2c9cd694ca863d650238a4033e0da008d462ab8939ff5242e8415147585d2a7";
+  sha512.run = "66a326bc8bf228db3bb7ee061958f0daa7ff8645a7ed89748d60c5193b63b494a94248bd3a9c4734f810b9cbb76cfcedc88201728dec86f1e4d2d33101f741cc";
+  sha512.doc = "5a78aeb59f517d74def3dbb0353545e1efca8bc7627e4c095743a6c2bbe4f9ddc78a0e293f9689089f1f253150404706622745c7a823de9e6b316f2950d98c02";
+  sha512.source = "68dfe55be37e38390310f95f303add7883d416f64a0827f75809153b51764533609ee69278a57c7555b34d9413df884b5a29c65a2f3db291b7382c8fe5ded09e";
   hasRunfiles = true;
   version = "2.5";
 };
 "bnumexpr" = {
   stripPrefix = 0;
-  sha512.run = "bebddb4c5ba6168eec9520c51992ac7f6e0da41f57ad248c673628a0c0f050dd0929311fedb9cbf3c211543fc790ff36a8cc6d6a3d4babb6d3cb50420a2f48ae";
-  sha512.doc = "3b4e53e0dbf2e2943fdc15bea41322b5542f05d17dc332b7021e969a69bfe7f2e2527ba06c8fab7884d449f617a838af2f9625746116234d046f50a64b10d189";
-  sha512.source = "b8817757d12facbfbf8e68e5ebe12b38f24a6edf17e7727d1fdc657f5b79f23c9da7e857ced3a328bf602d44e0776246a93c238d0c1095d19bb6e5e6207eb702";
+  sha512.run = "c4bf69cf261c8545aeffe69c22e0a018afab5f919aa186efbdae0d0eff6728f36f0ca94831cbef7828e9df349bc2e7eed22c284cb41924b83464efa51418b22e";
+  sha512.doc = "2e1430651869f89d3b1ecd146858b004ea04e6506cad29bcc131761b975a89671504b22e7bbe8bdd9e6be1d513f28f85e073a0f123e21e12584782db5242a50c";
+  sha512.source = "25488522b3ad578b8c2fe5e418c5a6d1bf6295de7f16e743dbe90417ca36a8888309a8b6e56bcd93f72c89b02841f0b1326351f6d47840a1fc59042d11641186";
   hasRunfiles = true;
   version = "1.2d";
 };
 "bodegraph" = {
   stripPrefix = 0;
-  sha512.run = "f06e03ce69b8caa421e4d84b4ec712436ecf554a6ccbff132e94675efb4a927694644c93110692cdf9221ad64cd59fa5dd2fe934e47cf690a6b6603dc7fff624";
-  sha512.doc = "8fa822336fbb0f409d89283f156ed9a4df20a6b77f8b71c87e216cc71dc0103cf4a683893806ed480576b6282d224ff1d3a3b47927d080c664b7dc4cf8ac49f4";
+  sha512.run = "eb4be1d54f84a372bda79a35aa928be028aa3fdd13c589143e3bfbdd111f4819ac7927bc9eb7473c64fb9035b5bbab789b55a5967e4569e916a7fe516933612d";
+  sha512.doc = "479d5d95643a0b5a673df4d48049f6a7d89b4dc8d1511676d6ff53e039f65fb27994e35d3db3adeef0cdb30658d3eaa454d997ab4649567148fe90938602024c";
   hasRunfiles = true;
   version = "1.4";
 };
 "bohr" = {
   stripPrefix = 0;
-  sha512.run = "a0b7322029461f45ea7d2220611a4bb7ced2d9c6a31e69d4790c531dbc4bb742ba3455a795cb5187af0e81e844d403a86db87506e164f62876f75d9ba15a45fe";
-  sha512.doc = "f1cb87508864e974c1b212e39d3358a759afcd0c339ad242c42a3bdc33ae1864d83927104ef31f125f625643bedd550448d968d9b21e5a98ecd8bb651a531363";
+  sha512.run = "cb85d1a70ea2ba3bca7a21996319df8c29f1c28b5a62d08f0f145f5c157d4eda65b66f8fa5b833c40b1a4bb7c91d6f42eecb8d97a3c3d906207558110eee1880";
+  sha512.doc = "5e3dffb0e2d1ac0a5aa3021ade89416e330f7b71600bb1a524920eafbda148bda2f55d5d355efbced93528cad1c918fedbf50f43089f4948d0211e0e13386591";
   hasRunfiles = true;
   version = "1.0";
 };
 "boisik" = {
   stripPrefix = 0;
-  sha512.run = "820826a80fbebdd6a923bf068ccbf9de14e56950a1ae2a2d71bedb443e9a6be44c9c69f250a9b1ea82233748947a416baec9a3437e76211e36f967187334fc91";
-  sha512.doc = "3d3949284bd81a58fea2df5bd051bd10f44d3e252dc9940775f0ef7821647822ba4cf64b9587059c83c542758f6afaaf0b2b645488093d91cad5b760dadf1137";
+  sha512.run = "48403f4b18cb23e7e16e3cbf19d066dc7e1576f4d9ae42b94a4a34508905f5e6e2f8f60f2de7881a29b8525c86a8120a76f1f66f8b9ea047da0a884637b1bb9e";
+  sha512.doc = "c68e8434fe456c5e58a6ebb9e744c81dfba5098c0fb12024de750f73022e300016a424bd1ad9cc85c3122c9a0c863737b2e27f2b151667955f92ebbdc060c6bd";
   hasRunfiles = true;
   version = "0.5";
 };
 "boites" = {
   stripPrefix = 0;
-  sha512.run = "301568d1947aa8a26f1dfe3f0ad6338b67293ae24a7981a05e1c3f8f9d5e4976dbe3ea3d52028e511d7bbb94ddaa0eec01750c437ef6de638f950d4eb3b15840";
-  sha512.doc = "06163c8cb5bd35077a5f6f6300f37e5cffc259456ba9ff9d261d5726c90808960c7ff4171b6f2a25c5e47eef2f48c32ea8b6239a799b3f99b0e5e8051bb48dcf";
-  sha512.source = "42cde7d870e93cb3ea5202ca3109a5a9936b336df236906b4a0a8acc0f27a2f9779300a4c96e60226ec40bdabbd50e4679c21bb8609d142d1d4d11718069e067";
+  sha512.run = "894f6d2484e9b72a24816c34e1254ae8a6d011610770e40590fdc3ed22a24b6f655418694de256a6522e4024f4df033c017f294743113256583ffb8445a63bec";
+  sha512.doc = "22ef96e0f64b4d42b978abbba806f497fecf686d76b159bf3d06aedefe1097569053a11ced6c3ff2c7d05f975345957af0790f2035fa3af396b123da7d41cd7c";
+  sha512.source = "682b3e64f47f71849853bb8752e342ca74a8937e5f1f0f75ba3428ec3e32593339e5f0c90695aa112edd2f607dc4e1c80985558f354b6181f73e5da6cffee8ad";
   hasRunfiles = true;
   version = "1.1";
 };
 "bold-extra" = {
   stripPrefix = 0;
-  sha512.run = "036ac67fc6d8c08de5497f5a8bd27ed0f7193f4cd44641971ffb3f2ead365f7d511b7c56f1a29684f3c7fe56ce4b896ae10e2d5ef350f85ddd18b77091996bc5";
-  sha512.doc = "061bdd07950ad574dc4a39869de858d2cc3d7f7688055949cd7b277b944d3cd574cfdd20e302001a8255afdbabb7421f67a1648ff03f4dcaa36717aa67ff1998";
+  sha512.run = "cc12de98493fc01b9a59993ad32e646102751c3023e64f66255a1b66505d3cc2f82d71ac53b4f6691e083bcce3037e521a35feb09cd5019d662a6ce56cc55032";
+  sha512.doc = "4bb27a63f711421437385c2a76f26d74cbfcf6ac5bd8811bf4ca5a0da354608dbc6ff295c3943edae1701fefece397ec356361176a9713f607c9677b8222b7af";
   hasRunfiles = true;
   version = "0.1";
 };
 "boldtensors" = {
   stripPrefix = 0;
-  sha512.run = "5d2ed2f5506b1eee8d5f1ab89174fca5c2a54ba6542f016bb87dc1e28b18d28decd438f1439ab9f5b10ba224b00361dcca3980dee91da6f6eba97cf5fc3a3129";
-  sha512.doc = "9f47664d1198fe7d9c20f16db8178fc116200c3c2d38f27d6d3db6e25dda857c135adcfdf67b163fcd57801e462bb84d8ed287141aef3fad649630a14a060513";
+  sha512.run = "3c2d17f2bf8ff48638540ec5a3ea57bc835227291fdf6580747a87dafeed6afa4f49b91a67154da35dfac9a405aab2aaed5bbef1ac188291319a972b4e50ebeb";
+  sha512.doc = "657bdc4960e2d40621520240840ab4252e927baca704da0388e3124938c55de834e59cf8ff3d900aa294ac366ae7b1367909cbe885de08790d51380726960146";
   hasRunfiles = true;
 };
 "bondgraph" = {
   stripPrefix = 0;
-  sha512.run = "97c6080e10efda61f9971fa6ee11b24f0d0e35b4e90b6fc5c3c67735cef15f071aee4803f795d0c69ea91ed8aee8c64bf3342e16b65f8e067c98dcac3b33e0cf";
-  sha512.doc = "bfc1633cb082d9d6545ffc9a3bfd6395719f96d41a7ae932763120c5990eeb8fdef91ebbf4a65b480d1abf4f018ee183f432a8518d564723305a52351e9526bf";
+  sha512.run = "171233d7850335c1819bf1f74e0bcd1c221e5db73d092b0efea71ad35f71b16e4f240c3c791f9022a9e21ab7a2bb62f20ad06609051ecb54fd0640add0ef8381";
+  sha512.doc = "0697b880e1bcd51c3b5c2e035a15f852f943ffb86ea2952b460f01e42ced2e4fad8f8b15f32f58cc7771c28ca9bf66f2302914bf08d6696b6d952d347199134c";
   hasRunfiles = true;
   version = "1.0";
 };
 "bondgraphs" = {
   stripPrefix = 0;
-  sha512.run = "d69c003e8f8922cb5e8dfab4dac36c26347e1d16a901d3aac6a8d4b4e0419b45dadc9a8605381b31919696143ab5f7ff200875b7fb2ef47ea49427d4c39320d6";
-  sha512.doc = "13613bc1080b76835c871f85140a8297ff21a055da0abcee989da74287594a301905b4fd7c057b6e9db740f9555e4c1ac6dc8a62538b996fb5025020f6ab259e";
-  sha512.source = "c8cc44bf5993f566de6552dead6e8b24b675460b0e896028af9eddee82962b7200823949035c6a0e8cf00682ef094ff21862f28b62f4537e9fd04d9bd0d69d8b";
+  sha512.run = "61ed449d8fcee24f383762eeac54949d709fe3fbcf06598acb8849613c68ce2f445dfb4cfc7871bb6c61bec65ed45e8888dadf036f299a4d5c0bad13db0e16ba";
+  sha512.doc = "223448f91f0cb9f7b032439aeddc85c132f39bf5ffacd058b76c85db825df15bb47bafe333a0ae8afb089864fe966973fbde6da0e02e1fa46b8077e3f84eb6f3";
+  sha512.source = "564af88ac0098d102bfc84932159dcb3df8e06ab30e849d7e039b13ae8855dc6093230e743bef13750a464eadfad54edea4f1a548c14e2df79e03b1f79754254";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "bookcover" = {
   stripPrefix = 0;
-  sha512.run = "c288f784aa6d48e78e09a18f686e41e4cca0fe831150c18cb715b65ad19809461f61d5096f7864d3915190699f519a2629f24bc0a8d5fe3b81bf07602bd551df";
-  sha512.doc = "045781793fa91a3fea8e50866934b337748c8fb5568bcd6ef6e9b080ad7705a7999e54f8f4061dc1537edc76104776374bf29655439a15fb659807a819b47cb3";
-  sha512.source = "a3553c147e7f4d7090a9c380486aaa1b3846d3a935c49f2ead7f631af01f555cd7907be392e5dd7b4219714a040136d992554c31e03ea703687180495b947caf";
+  sha512.run = "1a96e15ab73c11f36b58dfbc0109529fb9bbe322d4c589222e122f774dbcff5337e88a5350a3fac05652aaf0010cf97ea1842693102acf00e9a22db7b6bf77f4";
+  sha512.doc = "1f017e0071060f82e5f530d3726d1d91c5fd742c6a29613a2009756d96a2afcbda1e647cc588c350e90cd65be67207c811ef6466cd863c1b80b39f6afcbbd7e1";
+  sha512.source = "e018f3a388f3c5d0a4ff9f35a952ec96e7af45b2469122d6dc225ae6768704ae9884933200b8a7cb62c1e182602ec697daca530cc966d764ed2d7fe807b09328";
   hasRunfiles = true;
   version = "2.3";
 };
 "bookdb" = {
   stripPrefix = 0;
-  sha512.run = "2df4b6b90cacbf252c7b19b42e3ca53d339053bb5ddd090c41c3720e604765416cfe88684f77129164ca2191e7dc13fd5e8b07f2be2d4a818ffb2c10e0eea186";
-  sha512.doc = "3b9efda314fa451974d6da841e039175191d6fc8fd39b95a51d2e23e6afffd7826684e90444d4128cf11de802a45de79bc90281adef81c45cd8cf530ccf1c08c";
+  sha512.run = "3e44184427ce346930b35fc2ea3b508d9f32c1e89cc01d66046e271d61e0bbfde54b5d18917b09acc159f1d657f9d32c29f3086b04e4f1dc6da0cd21a0df3da2";
+  sha512.doc = "2449b7d32558665b297e57eaff6529932289e957e0a77d8a8ff84e9614b53844a2684a7b23a62ce6684b6e813223c2c1293bf25e678a1271e3e3cc27383d12b4";
   hasRunfiles = true;
   version = "0.2";
 };
 "bookest" = {
   stripPrefix = 0;
-  sha512.run = "4fe12dd9f6dec02b5a885404910a9c8f610ec3a68bd71ee8dec2eab65e6cabe2cb8ae8c470662763c559fb566f6c34242b68744338f1b7460cc0b8057b8d8bb1";
-  sha512.doc = "7007e36a1f9bc9abfa96bdb56ae669b0518ff8bf9749b1c9fafe100815fb863843dbf965f3e0041b222c7d76cfddd78def29f6f0bb5b42a4392d530770dc2910";
+  sha512.run = "e49d8f0959276202dea2079df1a509dd296858841f4fa2df235743033ba852b856e5f2a9a14176fd986ad1e431ebd3581469e7ea30093b5a01b7d23b791a028e";
+  sha512.doc = "ad51d3cfff90ce83c7f6479f9f0eb49a54613c585561def33529b301e00915d7a8f94fb62660b3bf5bd87104651e7333c3a9b620bbfc1ab7fa9fa510e16dc15b";
   hasRunfiles = true;
   version = "1.1";
 };
 "bookhands" = {
   stripPrefix = 0;
-  sha512.run = "8baeca1a73b00888b5978f4e4fd309e5b3d812049046ae2a35b0c31e5e4f4781c199ad7564f715f86702875ceaa8fec5f458328c41e7c7bc4271644ed7743629";
-  sha512.doc = "ef5466279149001d0fd57f545b57a21df8fef5e8cbbfbcd8477d528acf6ce1f2e00dcdd206084781bd1fc04df20783d87d212ef4c13396e9e05e4b2c9c8cf95c";
-  sha512.source = "6af2a7df10e971e457a439698607e5b783313d7618728877b94bffaaaf72bb2ace30820d761c73e4a12a82bb908787c87e9a307e7209f27c0c278381d570310f";
+  sha512.run = "8a341131397637618acdb9bedc835a4ea98f40d55a8a2b312ac820821b00a1f059f37cde2aeb3f5b715eff9928b579a531c4c12d3bdbb3a7629a50d363f1a4cb";
+  sha512.doc = "b5901beafa849a52afaaa7cf09ebab327640eb5ad1c627bea5f8dde2c98aaf176f23f0c9460e7fb2212ce9b4038800c3a3c572830d08d059a04d3574d1015a75";
+  sha512.source = "4df12247bff50722ae11636ecc0071e03d8d296ea958d2a1b84b5b2952f35d890be66af4b85dcf1fe2599e787e71c1b9e7f727a8be9b4ec79eb1bd6aec21925d";
   hasRunfiles = true;
 };
 "booklet" = {
   stripPrefix = 0;
-  sha512.run = "1474bb0f1490bf318199bde08bfc1ecdf5d387cb7920f8c01acf1aa1436196a48dfa7b401ae64d578656d26558c0f72fa9b0aa8750887a1f7305c7d21047fe95";
-  sha512.doc = "822ec90ee38981a9cb395076e86acfe57c3d60fe50b73a21c493dec431ade8e8bbba0a1c87feffd38cd1d63fbc401ff5a801e701caa494ae7dc8f105932eb33d";
-  sha512.source = "ad3b4e387a0fe7dae070b26ad168689e6144c53be542863e3deb3d7cab41af876ad774daaee1e6f0216166531d392764c17860c07859b065be45a2de311c3b74";
+  sha512.run = "be6bc46fa76c0a1ecbfe199b1a1a6f0cedf14a8d583e9ab8ffd75d4cf8ae22e404b289224ed8fa6cd9e143119760d50131e97228cfe75ea56d5ab2f540e8ea8b";
+  sha512.doc = "fb6d74ee03f303433e61fe1afe297cf5e343f95e3834fbdee483522a183d403fb6bac8bfd1d0ca687c448d522d370f5216caba2b52b066ac1657b8dc2fc3df1a";
+  sha512.source = "7b63195d047c6d05cec02af6d44c77e9fbc0a198717a5ed3383f6d662946cb8de9b7659916ab6d7951eeeedfe00abcd68eb006012de3e083d767acffdc0f3cbe";
   hasRunfiles = true;
   version = "0.7b";
 };
 "bookman" = {
   stripPrefix = 0;
-  sha512.run = "6ee174d542e84dfb6170f2f2cdad576e99607d9c47af83fba364b2ddd14e5f6e3fae9ee94d1362f3d82b95dbe5e04870a68dafc24a716162b74cc56b6554a3ba";
+  sha512.run = "bcc6a2ca260350a22927d806b29dec9b7a6c7d9bfff2517d3c64072c9bcb3b73ec72937c004d36c2570a2c78f073548db6897195591e36bae7b6eaaecf6b6023";
   hasRunfiles = true;
 };
 "booktabs" = {
   stripPrefix = 0;
-  sha512.run = "259d96d8efd2fe7e9e7db6ba71010b0709302b5ea83a844f44eeef463439eb46d6f6b06354f906038eb0d04381a8a5c161341146c5d5a6b73df30dcd8594a8ad";
-  sha512.doc = "9ac97bfbae35041321cb41023b35367efe0c60a23b08e487aa7f21b4f10c68fd293e15793fcfea6ab6cff624fdf1354ae33bfe570a14001ae6dc9cdc9a8fc069";
-  sha512.source = "562f7be422a28e84f1f259ec81a538674e7389593319dcb5f7a14e93731c42c04009a3d9d291e4f8e1fc113cdbea544026768e8254f2058d4fa0d48fccaaf257";
+  sha512.run = "54647cc2c7807baefe85a94f0be70a44923183d219e0ebefecad5df0c44080014e9b3ed8296dd9c1d1810deb148168c34e90625c58181af07b561a96c1fbcd46";
+  sha512.doc = "0be929de9e5b20be5df76696a78c57a5282bf0875f9da27fc13b188dabc0bb699e10e66d8660617604299f0367b19edeb40cf7891dc8421d367a18b3c7b3d112";
+  sha512.source = "58e7fbb298b931b0666b3a91c18dc596404912786418f360c059e7c3d49f262af612371b97c5bdb140c5c9d11b8dfc8caa52305cf187ebece6aa71f73d72dd98";
   hasRunfiles = true;
-  version = "1.618033";
+  version = "1.6180339";
 };
 "booktabs-de" = {
   stripPrefix = 0;
-  sha512.run = "eecd6f54649aa46f956695d2bc906e309b13db89f44249bca26e4d6252f0f161acedf264db18fda36318def659d3cfc8779cfdb7eb32ce49e7a9ccccc04e73f0";
-  sha512.doc = "5d8b446413e2776e40aba62f44c0e21b9c151c9f7038ed582b8eb98e08386a4f88e125fa8586ba6de1662aa2e207eea95e5fb496761c980cdc936a199220041a";
+  sha512.run = "25a46153cea4a6e94c77cabf3afac74e642c7362f7c852725e8443de8ef8873c5a9d2dab3fc3b083dd7382e10d74e71b40b40b1143afce1646e853899c0ea2c6";
+  sha512.doc = "1016522eb74332542a9497f47fb0ea884c7d8b3d0a0630b8a6604bdc41ee08d29d963fcee0d643a8260d2e667c0b39edc74f4998ecbe66bc7a45ef23ac78371c";
   version = "1.61803";
 };
 "booktabs-fr" = {
   stripPrefix = 0;
-  sha512.run = "11745f5b2af0a9acb3af99fa5393769283a9ddc61b6c8a183acae69f11a8b9232b85d7c139ff6b2fd1036237321afc0177006644f0189fcb0cc94e41f7c08d97";
-  sha512.doc = "03a399171eed37c1107220298c37cafd9188770b848b154e61cf64478fb6e4490be16891230959f6b39e84754fed7f83fe8666c73f63b7ed7909f0297b96c0a8";
+  sha512.run = "62d4aefc19ff86a60b8fc68a5203bbc2dd2c86ef2f74d5dc0d2a664ff342c13077f5f71a4991704e1d9c69587e4ecde629e5432ade3695efbbc388714fa3c268";
+  sha512.doc = "eab2c83e6d81a601ec98ffe43ed4b5ec71e17c6ec42c26c519fdbbb3c3e82154b01bb569adca65dbf540ccbd7263cc20806dbe901ba44204b84d07d235b07bc7";
   version = "1.00";
 };
 "boolexpr" = {
   stripPrefix = 0;
-  sha512.run = "42c9f48b3a156d6bb2ae54fe307f86cab9d1fafcdb0a4024de1b46f20615e2a49693f40dfcf8a469a26e7d118938ca34019cf19254671cd5915c466319ef42b7";
-  sha512.doc = "efe973b28cb4cc269267ae8750fdef043980984100e8e1011afa8867ca4399531b267dcbaa9cbb41f1bf10432185c3643aa05b314f5851d4d8056af0f5029087";
-  sha512.source = "85291a1210a1265d1b6585919fcd48ab5a7f45e6a3f65548f2325ce87cdf5af911f7bad48675d3876067436f4ada11fcee0a0a7d1b9ee470f1e26ad2931bd5a6";
+  sha512.run = "677a397363b80126e45609d125ec2cf22b3ef144216e19183bcd48c1f0ccd6e2e079fbb0a2e7ac03f094470c8c0bc64ae652863aed970ee9fc75a9a69b60c618";
+  sha512.doc = "6351bf2d3382c5a3b9a07a8458d7f158ee3bd0e72c96af5f2f985d28a40859f95ae7ae956e5dbaa1ed93b1331322ae1e8901ad3110f5e74024efd831e29b6b44";
+  sha512.source = "561daf8eb74f10987be27e884023ad443f24e8d48b573dbe8eab5e958c2ac9f2319b293874050c7d7f56ea3c22f31eaa57f3101c8878b466ad8938018427e765";
   hasRunfiles = true;
   version = "3.14";
 };
 "boondox" = {
   stripPrefix = 0;
-  sha512.run = "82e1808c700d160650caa70233cc1429a09cbda88ee184051879be2f4abb19c3f50d6dc25adf25f0e25fb22880e66e4ff745f9b972680d95b22be0bd2c3012ca";
-  sha512.doc = "3edde6871d612b1dbe162e8852457e6ae1898f973b5a82048478f9d33cef8b374fd0e6d2c841f4dae06d6af5470d5f287ee22e8439f3aee6d51442d379608fc9";
+  sha512.run = "348b48abd7a8b95f37d211612ccc1e4931c0a768af82b695c263b7e8931eded562049ae5a1198361363b08cc269cfb8eafae93c074fe1ada7e9881dfc88d7a41";
+  sha512.doc = "24ee6699a84da5931e5223f27bf74518544ebe1a11b303bbcb27c4afc203267159fd4b6d8d9e5828e92c96abd8fa3bb395528868bba0cc26db93fa6748643eca";
   hasRunfiles = true;
   version = "1.02d";
 };
 "bophook" = {
   stripPrefix = 0;
-  sha512.run = "79e1d8345996ae6c69443567b416877e4391c9fa89b2bfeac70a23e7d57be442e23f0a3ebc789e55f9dc2568de764b923f5e9ff21bb6adb78db2f95a183afe58";
-  sha512.doc = "5deb50e1bd70a02e313d059f2f3106e9fdc979151ec1eefdaecfa120f8eae5328b4ed981008e6e8ea14d0fb166a0dafb8b828049b8961e1d7b25e39b23b80ce4";
-  sha512.source = "1d26fe0a14977496257df7020ba2d450111653ec41deed7740f41ede7004057f4150ba947c09cddc1ecb3914680b5c66c4460159e41f07c9858cfcb8953f6f0e";
+  sha512.run = "8ce41fecd2befaf448ed238d8bf643362f5a945b7391d18b2698c006421b7b60ce4d886e09dc579eef12cfb459f49247f7f3afebdf8b590e9285c608d654ed60";
+  sha512.doc = "7d8ce0b7caffa4e16539154ade5a3df6d6b42b75bc521643473ff568ef5c65c3014fb22053b353a917d2c4782f378bc765475dca5d20b3dc06ff02c0dd2a63ec";
+  sha512.source = "ca7e5fc30d23c022e4fec8414c9ef11d2acd5707ad781428021f8a828c6c8b891674fc6eb372a0dc33944e2a54adb9b86645529ff28b4438c31d8477cb2b3a6d";
   hasRunfiles = true;
   version = "0.02";
 };
 "borceux" = {
   stripPrefix = 0;
-  sha512.run = "4d3d2edbc7e80d680272c6069e7fb49fb85227d8f0354b1c1065895f6c5a9686aca87054166c4a2c14e801b00beb0e7ddc98ec50317bf7fc278131a5959641ec";
-  sha512.doc = "8129e4a21449b708df9dac76dd7929bfdd16aafc7381200c6d2baf704e9adab825c128234e3be1556c3f7fc4420e9e8515296a28aca0f71577f617e0c2145789";
+  sha512.run = "e4658e7a672caccd24832b31b0635dc61ae5ace5297569a84d9da981eb37f6b9b944bc33c1e964c09c7042e3e74f9b3067795fdad508e52e624f2bfaf439559e";
+  sha512.doc = "202e6b476c5c6f48ea2e6bdf2710d01afcdd9a02669d220bb11bab8fa920f41fddb8aa152a815045ce9d0c92b761f90ab34cd426ba62cf26282d71696f00f03f";
   hasRunfiles = true;
 };
 "bosisio" = {
   stripPrefix = 0;
-  sha512.run = "3fe6e854ff8f0629e49381ec3e569719f73de510f9e270904aa5f184b58edc951246bf643f2411d72d9a9612d21ff9f26218e4decf97460181024221d5e359ce";
-  sha512.doc = "4ba6dc459e5fc0847e7c63c1a39a47959141eab840fdddc8df8d524f137641016a352d130d451f1c6679bbcae9302c42562e9762f86f7c7ef9e1810c084bfd0a";
-  sha512.source = "33a369dd371ea9f12cb5b6499e2f855a4e013a25492f637e46268890a7553fe66cf48fec18d9e4245dc06869d77003e0b1972f0150241dc2b1ac8a025d698c86";
+  sha512.run = "659cd163c28a52fc12651b35b8018d0df7e4fb706739b090167689a7199a8f9ca3bc3376ed3a5b6c076e9242f4f8132dbec6cbeead499453fa5c9cbd2aecce38";
+  sha512.doc = "7fc9a651f6845643fecbb9f0fff150fec2a22273accc420451c2c5dbeab6e40cbeb9b51a32589787c005fe479f626111214bebadb217a238baab07fa18d8c92b";
+  sha512.source = "494ff83253abdc9f0d81b3ee36f1d860938b1eb8a7691ecda596d31126624f3272ba65685a9436a5817b93a786da97e6bc6702249630d71f697ef394f801584e";
   hasRunfiles = true;
 };
 "boxedminipage" = {
   stripPrefix = 0;
-  sha512.run = "5a997606cea655177c0152c7d030afae83f6ce4e478f9a3d682e490fbda50e5961066764e3ce0916aa5b13607eb853945b07824f1b0a1c119b91aaece4885857";
-  sha512.doc = "3d594706d8805437f5d200ae3ec27f52ee2ebd91c36471728a9b67bb72dcd32b7a9f2be5bda39b1046312e906d6bf92ed49db5059862c4288c33c61651eed5fa";
+  sha512.run = "374033f9b8b88c55db6de9247d065f7841d49c8b7d42386694752e78b4bb2f4a311e42d5ca3c1e0dd5e694fddb0c18bf9ae6ccb39dc80bf075086e18fe39bf59";
+  sha512.doc = "6fe8b0c04117d6b70972ca973e9a71cb33f2ea3f2789460aecb1f0702b896a3cf1d2e6d31533a13819caf1636c5e33ca40f60156992770e243be509dff765644";
   hasRunfiles = true;
   version = "2";
 };
 "boxedminipage2e" = {
   stripPrefix = 0;
-  sha512.run = "7f778cf51b4c93ff7443f1252d5e4ab5b078ca8804b1b674139c68874c7cf1027d8b895990ca931e45d7c4254565a51d6770479ef5104e70d4aa37091d4d38ab";
-  sha512.doc = "14e945324606e3ece2e00daec8dc623f2cd9b90b4f704c2c30b330a98025026d3ce87163540bc067a21fe11d0640f62bf59977adb3b85d59a8cc92ee520f8322";
-  sha512.source = "26e5d6ceaa1592488a447bf961c939b6355f26687b2ace692b63c7bedfddf1f0d26bcf6191be538e20d7b8caec0e9eeb5d6e9024f0e3b46bdc4e3ad1481ab5c6";
+  sha512.run = "418fbe838e907f3f545522922cf20548abcde20320dc63396434f7b68f578abaffa9f7b76a18373318ce5ed7cef699c64ad8e10e01cedf0b568e65f33ab609b9";
+  sha512.doc = "1366f37d45e3df28d3b370b3a6d9618aad06dc68127d1c22cccb0a64d3f82195d5ca93adae86158a830cca26e7f3da051bd36ab1f80cd4bf3609676c0b790dd8";
+  sha512.source = "2bf7a086348da5cc606d5b5fa0b4b0c4c5f17e77aecb54fd94bd306d43ebddef8af5e143246a8695f18a447271508576c4a4bb051d4ad8b9e0cdb08f7212431c";
   hasRunfiles = true;
   version = "1.0";
 };
 "boxhandler" = {
   stripPrefix = 0;
-  sha512.run = "b497f93810a92d5860e26c7ed5955bd2bb3926ffa031f291bcd03e9318cdad510622f33af5acd64d3f719f0b63fa140ae06a633be8d9d335a4f47a86f5448f11";
-  sha512.doc = "19628c73cf5eec9fe1b438353db475d0421a3532f60788523be3349716ef17714f3ea47cf143ce1ce2d657fcadec8707483bddc8b4d23eae1a57885d4a3ea3c9";
-  sha512.source = "7b1c552862ba9934030b182831f3326a975d3fb98b8b52f008147f730d549975b6af8c4729f29c48655099ba2b5f5e05edb3e3c136f689f257c4e25598d370be";
+  sha512.run = "8aa988155d5115e2fbfbee113013cbb4d32cebc670229104cf96c2920c81bb23245e2365cf31705b67cf72345387a275c83f170a777129ddafdf6cb7558bb077";
+  sha512.doc = "15b69a4d434be9561cbcf45a5c3c68ae9560fae35ed2256cfcb4c2bca8ac172a8bd0d6f7335644f586a9b3da65948b9372ae9f7ec9bf2c0d43b572cce5af20bc";
+  sha512.source = "20e1dd79907029b015d9c6d85c80fa907efc490a80db7f0e871b6b379c1370982fced3e3865a9fc0c7492a9d3631d163b98177dca99deff4a78d7f2ee354f2cd";
   hasRunfiles = true;
   version = "1.30";
 };
 "bpchem" = {
   stripPrefix = 0;
-  sha512.run = "086d746ae3f311e6f62f8f961779a33d2cc8b27d0d16fd495c1109113156825f02c8b797e82085f9f97a04c5f7732ecc3417ccd9454cab9c79222066a1251897";
-  sha512.doc = "ac7de8aa07c0bde7e50044ac3cb4d7a067011ad93107d3867d48e7db53544d0b4f822695cb192924e22cb49c02eb44cdde2f582a8a1f0966fd0e662294ce7859";
-  sha512.source = "f95978cb613ad82cb223d67e609ce813f8ffa6008288bd0a8848d0c65baefdbb111a2bb8ab5cdec4dc27b9f7f78b4013bd4e3133bf4b31f78da4d87153872527";
+  sha512.run = "3359bc429ec00bdf3b26810e373fd9bba8f562d4782d16adf2706b59ec1cd153f0fd565c26319bac0cf5065b6a2ea99ad5cf6461fba62a7bae8355fad7d8279b";
+  sha512.doc = "c8edfa3e5fd901ef705b6b55dd2278eabd996e2b3aa76ec5da9c34c07db95909b67f31990684883edd256f7a5eb7c29450886472fafbd0ff91f8e81abc4dc93e";
+  sha512.source = "0f2629325312dc8e7d05d593bf97ddba9b18d0709d0c29fd5df2b7e5077a15624d98edbca24e20c039e7e72bfc21e676c7bfdb6d29f7c84efd4c40f41d3d930c";
   hasRunfiles = true;
   version = "1.1";
 };
 "bpolynomial" = {
   stripPrefix = 0;
-  sha512.run = "a46a74709bf797edebe1bd66388eb36b6f8be404103409f52ee6c153328ed4578689b92913ad2cc5f37b3fbfaa5d18800b3b9a59b012f956fb269e2ceec33445";
-  sha512.doc = "db2a5e35a7877136aef67d9c96367185d80406f78347ba5aec431b6573581cfa7eeaa2a26d8ef7654692ff2d695028f148d937f782fea564b43c01cb9327e20d";
+  sha512.run = "370b9ee803390f51da2cf7da4832ce9a51d923420908ffbf5dba21a2380e13cf345413eb81465e0acf86bc4011ec0bdf8cfcf5ac0cdf62cb3e88b2f2b6a6edb1";
+  sha512.doc = "2778eccb795d4543baa16966d55ab68a8c2c6f547d7a544aafec365036d9805a5cbfce97efbd25d0b39329814e95f6a2e18610f5e83a4d755a31dafbd651ce0b";
   hasRunfiles = true;
   version = "0.5";
 };
 "br-lex" = {
   stripPrefix = 0;
-  sha512.run = "10f844e6ac92b76fd8dd93bed913f211e0a31874cb6b0265ea4928df1f776762331e1b7db48a74832f5dda6f7e0765e55ae9c4a0b68fefae5a379de6446ff4d1";
-  sha512.doc = "b2ac015f97001b420c0f4f2a2a51586ffaf9c73222ec6e2e6a1fa39efc47d81b3b25c17a3f01ce61d5f90c34c79514b34ffe06f47dbaec178e3723ea16499b78";
+  sha512.run = "e4eede34a086ab025a9918798feea2c6b8b19d86782a6d93745aa82d40258e1619433eb445d0b3c1335dcb195689bb76ac8142e6c65618cea6392e243dadd915";
+  sha512.doc = "3d277aeef55721a833cd613c98852c33f7ce22a8034e2fe62952409cffe1ea49ebe1f3b80f91018ea51fadef226939a14e103884dca19227193a32d1e3ba3110";
   hasRunfiles = true;
 };
 "bracketkey" = {
   stripPrefix = 0;
-  sha512.run = "dc243add63cb9cdce6206d1dbdfae5827d7755c6172daf97aa34984653a2b0ad56bd7969e5be14f7b73aa6f1aa495716d5f60228a6cae03067fe480ee24a35d8";
-  sha512.doc = "866c9ab1f5e25da9110c4b0130d3fb5a1ffd8c71c9a5f4213e26913709928a96e868ba2325c258f477cb026ad3a30e199e8252ea232281ce1a8e1375b3d30d7f";
+  sha512.run = "ecdf6f5c6cfa46a3a0eedc9eeef5bbc59cc05a2a831249787ff70fda7d69466862c18dd7ed7a440b8b2bb93c6a08225c7a97bb2f5588d94548d9f6b626ec36aa";
+  sha512.doc = "db067a4ab9ac087f565d184c48a90800e68ddb25f5f78146ef1f65bcd3cfb1d0adea78483ca8e27fb9f82bbf26d23c5c16ce735aae194f4816ea73eb993ef099";
   hasRunfiles = true;
   version = "1.0";
 };
 "braids" = {
   stripPrefix = 0;
-  sha512.run = "c23d88fcd4306fac93cb445295c04175da9c5cc72c2eef304556bcef50c1d56f81f48bbbbe8482a1141aad77ba3d3ffef1a3b1a58c5f12b995a6ab21b65aa6da";
-  sha512.doc = "2596bd1d87bd581787545b47ea650a47dbee7f5a596f3384be6670ea35410a34b5cbc14b85d5628d3fdc00f30f8e2222de9168c0def369921fc29253b33ba053";
-  sha512.source = "855d0f15d85ff16affa1dba253435f3d68e3d06cd9bff10824ddcdfb2cdbb6b20adabe471626aa93fa4b66b05ba5be7245d5677e2eb8cf0e0d737f6f5f8a8264";
+  sha512.run = "bf0c0ff2b6e81b0dbbbb317a1be711e8dc9812214740048a0dea40d8d3045c3fbb996fe1369783ed906571587a5fd241e6a7ce5023c3278ee1bdda19a7411787";
+  sha512.doc = "2a96dfb2c18a89d34e4116e1fa81f48532605b625b227fb24f7a949a9e3707f1ffc02f4a20b254e963801a8f97d7f093db7b568adc3b8f4a1fce4bbb7ffb51b5";
+  sha512.source = "0a0760d9d88ba7c96d2691b0e180ed09ea9932f8170c4c112eef5eb58e112bd69e1d2362bd5ba46b852eb0d7678bf9049c9ae8e69e0b47772f8edfd2c23c5285";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.0";
 };
 "braille" = {
   stripPrefix = 0;
-  sha512.run = "30ef3a9506c6638fee1b8fc091d35fb1b5db0074d41c1dba69a2cc1fc1796945574d062e0fe2abff6bed0fd53b1ecfedc61b0a05b4bda3315d66fc5503fb3e2c";
-  sha512.doc = "d0be13132d06a15bdc73485ff346b6efcbbb6cbb21df22df5edd25dbe3065da5193da7559bb4b3f2af72ca6b16b99b5a5e72491fca6ee6afec4b9bf377b38c49";
+  sha512.run = "04893a3664b10fa1d5b912751e51b6d4a596821535da87aa1f2c2c5632e1fc60278435fe9deae4b0fba8296f2e46015b27b592721dde26dcc4acf7e3bd672a4c";
+  sha512.doc = "1cf6922ffa0785adb8e7e7fa5cfe134b206d70d012eb2ec1bd40bedb72ace43c8a17b3e94b16635473d425420f362c49f1b509796d43ca0d2aff0bd9be9f25cf";
   hasRunfiles = true;
 };
 "braket" = {
   stripPrefix = 0;
-  sha512.run = "fd0e8f7df5f3b8168f540e38fdfabe9719a98bd3e2f558460f93de7b64691ea9fc938da5d3f9e9cf5ca37699ebe18dddafffa4b73b6198b8df03899472b40bad";
-  sha512.doc = "dd52f1bf26c9de741b866d12084500313eca18927e5370727dc1ab0de5395ddb87367b100946791e5d7401f86e1c15d89957661f0d0a37bffcd31091bbf9882f";
+  sha512.run = "dc5f931ce9adbb3e8398cfab83402776d92018945172c7c17f04772f3253942c6ebecd5ca0f3d23f0befa87327dea4a3a9b90528bb7409963f04d9b856186562";
+  sha512.doc = "9bdd3cec0da91ffd13d556b9620e9c502a658374657e2821141191000a2321bf030edc9c32641b5ae6c52acfc7266c377a8f4dfe4891cb616f8d4f6a377d9ee0";
   hasRunfiles = true;
 };
 "brandeis-dissertation" = {
   stripPrefix = 0;
-  sha512.run = "f507b46bd20cfecf9eee6969c3a17082a192e94c1e3fbc440e2daeb4784d4a25ca9da2a2499383be3dae3c83a8217a27511da71436bc1e17a8924d85ba58113c";
-  sha512.doc = "698d305411dd64818899197249776e58f19d2cfcd450f74262fd27c9557165dc47bb5a8c5cd93226635c24c19f1756c7f5ff2a208c7e1797a7a405492bcd1e76";
-  sha512.source = "2b85b563364afee789fbff98994aa89df4e9d1786c3ea2971df289b3acf84dd2fea69279961a4ae35a597f1307837db455406cca5af3baac4307f4b56358b5e7";
+  sha512.run = "fa3e2f0c3cc3f1fa1607095dfd52e0d518e5710488a0d86bf9c46de444efbb5b1b253284cf8e996869ef4ff2c051ff1a6331296a7b8517ae93ebb91e7dff2826";
+  sha512.doc = "fb7fee200d7547615f5671743f89d571e9ebb7a0d52f5e8d835568230bdf16c9b4c8279d65dd93fec929e9337af666d2b9dae3dce744e4b71ad98b578a262099";
+  sha512.source = "b4aafd8e9afb0d8cfc9e184181e0e911214d1420114cb32ae41a184f4c7b5ce2a262c5bdb1ffd0144d9e566937a8c662d25316ef82c0d74ed5d5142a3b01a7b5";
   hasRunfiles = true;
   version = "2.0";
 };
 "brandeis-problemset" = {
   stripPrefix = 0;
-  sha512.run = "5116ba296034c62ff4d2488c9d7bbc5b53b98faf35f59f838697eb68e4b5a52fce308edeb57977d9f1bb46ff41344dee1aed13426ff5bdf8f713999da1c58ab0";
-  sha512.doc = "c4b77f8e79fed791a2b713e4300739317219990a752bd5b9efcaee4dcc52316cac154e75d7cac9e8e9cb344b5f5c08930af4bdf4dd9712600fdbccfbfe3dbc6f";
+  sha512.run = "fc5026cefa87e1ab248d9d26466a05e11b112c75bc3908c7e6f123a1436d5f813038176e97e1ed290cc99f93dfc8d024c88c1242b9bb41689bfa0a29153db9da";
+  sha512.doc = "0f6857c1ff226d797d6e0dc96bf040e2393564121b54d5d9b1e9e35acb01b7663441e0460cd117a0b015cb768bfdf3f40df142ae93d5a0d77f9a84f31c3e45b1";
   hasRunfiles = true;
-  version = "0.4.4";
+  version = "0.5.5";
 };
 "breakcites" = {
   stripPrefix = 0;
-  sha512.run = "d3ecda2e42d2afce07cf2a1eecf0bd3c3ca9761f9183d278e4c345d457e6087a7e2ce51c15552cfde78222d22682112b7355d14967de62a0b9d75c1d46cbe785";
-  sha512.doc = "b6502defa2189f7c0a1b82daa495fbbfd5aa054797959d5b29af862465e1efdcfcd0a7fb75c150f5532105fcf2d51005d8c12941f97acf13c1aaf8ec6e233cb2";
+  sha512.run = "13fdad42586a361b4e01999476f4d92ccc0fbcca4ee2663153b9eabbb08ad571dae6631306e9fc590d94f3f02af79519de30a78ed35f737004d86bd62b76786a";
+  sha512.doc = "2184e40db7f4a01113ba1040a62f8213f43bf34202a57a33abfc6291e84b01cf27298442f0f636289892d02764f1000ff3542f2ca6e490e0eaf6d5bab247b3f4";
   hasRunfiles = true;
 };
 "breakurl" = {
   stripPrefix = 0;
-  sha512.run = "ae26028d03fdb1bbbf64db4e12186e67634705e5bc5be7f9c8f030aed92522e213501ee3dd8a441e697076e9000eb8b2466f76874105ccbb22122b40bea9482a";
-  sha512.doc = "8c46c84adccb88619b22d0fcd5c6947d3efd74109d65e29d3841f051f26517e324ff3174488271550c645fb7fee407e1a9d145f22d412bbb12b03c4be3547d88";
-  sha512.source = "b174cd9abf8308cafdabf655de0654211ff8d91af163f31810b92f01e3188e378bd2ba6ec9b5d1f7a1f76ed6b994dae41aa669eaf33e2f46c11116af01e1b126";
+  sha512.run = "fa1fa9e3ac50f305ae5b82eb63997d1674b3f640f36d502a1000b439dd52dcaf6b539d153a2c7022f3a00fc0042bcfe341e850ed6b01f7058b1f8f6fd92b4d9b";
+  sha512.doc = "38f7847274cbee0a6e7c536a982d0110670cf6af54bfa99718a862e1974fdd839f6ef6871cbe2c40bcd0b2a9036c806eb2b57c8adaee583ef316da367ed854f5";
+  sha512.source = "9ecbae9c483331d636a522f67e5da197e4f647daff0a0fe81f4542c7248934c662046c8e61bd10fadb44144918cd508f09c57880b9c1e0c6515cb2dfd35e52cc";
   hasRunfiles = true;
   version = "1.40";
 };
 "bredzenie" = {
   stripPrefix = 0;
-  sha512.run = "e25d3f8c35e8045850aab75a9309ae1275f4f49fe7076d9cbb29dc1f64eb976df424e6e167d6bf9e028d6f2188c4063862bf330ad83a08f918e951298221e888";
-  sha512.doc = "3755f6877a4d72251e71f5d6443cbdc478bdf00923cd2a8a16d6bfa69979f2ef3b2da2496c3c8286836c23354141667839dd5fbb94937c900395ce783cd5e094";
+  sha512.run = "1e5629a2e6e6099a319d8b8a1efec83262780c70a57c482f66a33a48722bcdb18fb891a96b6b6f29c54d71ce581dd1c82decdd22ad74d6ef61765fec3f8c3614";
+  sha512.doc = "29fba5bb48aeb2353616cfe9a8dd4fff90c164c10779b8115958733470fd47dc40a567212c62315110a5a7a51363c9f917c4984583d40177037d6b0803ce66fe";
   hasRunfiles = true;
   version = "1.0";
 };
 "breqn" = {
   stripPrefix = 0;
-  sha512.run = "1170af3e744ec9342af40d23280a103ee827ad75a164296fa9b9bf79884f454a7ccfe10756b78fbeb029fefffe8a61c388fc4917bfaff8acbb073d4872632e97";
-  sha512.doc = "bf3056295e32a08a3f0bdb7e5331ba874bc9729da8845be9b592c5808cc265e7bebc7c9656c7ed3cc730f5247de65eaf408331c53e4c6c0c505bf3bebca85c83";
-  sha512.source = "72ea2543a82f6c63f2de0e9d79cce4915e2dd03bb6e3afbbc487493a6e11840928f1b8442d912f3bc94e877caf574d6d27c48f0f7e1cdfc106de6c4a34fa53d5";
+  sha512.run = "0b0c40a54bebca784f8057c4f3b0595777bff39c016d6c3c97ea8b4e3d2b357045eb65ae8e24a98fc1777ea523bc372ec164ebe3b92e749704f156af0733148f";
+  sha512.doc = "fd38471bc060a853d853326870aaed0770ad8d7826168a9539ffbc074debe7d054f351f9ee34380ffd78aaefd55f1fa5aa16fa7da823d4d7b981296c67d435a3";
+  sha512.source = "16c62790776452a5aba32f48389299fa9b6c9193bc12168f75057ade14761e09902adb95436e064e0d84729e6421781f05943cea9ea914d2b23b7f179bc7fba3";
   hasRunfiles = true;
   version = "0.98f";
 };
 "bropd" = {
   stripPrefix = 0;
-  sha512.run = "9925762449b2a540d09777b4bdb7795a72190522ea57a9fce534a6ce76dd56bd7a7bb05e73a491c62f32027f59c87bc4e7f435ac82c31db3822a3688a7aecd54";
-  sha512.doc = "e1826f97dc012f345511f0de762bcbe7fd24b4979a46a9d6a728d5001ff9ffc6b2f5657e39505dec8334afdb7028ffa94e9491eff43cb8db9600e8de7533a04f";
-  sha512.source = "55a4e1523e609ad35ab22b90302fc1cea99158421beeb12aeefa0b9855d4a47c6ed43fed8ddb3de21e9fc76b0ed3beeaae32447ea0b2e6d3fecf19e11dd17427";
+  sha512.run = "d6bcf207cddeb6115cab45eab12d48326f067df2fec21386ca29282ccd484e572ee4b5420473079b033bf2b085e134fb42b76b3f18d5b56b47ad765c62b07023";
+  sha512.doc = "b9ed0de353b0b0e6d7c8e48f3a20c5ee88a0ee9fb1873ced88e89b9c4d73b20701add802442e69aecc419a2c6f433ca12ccea9130abcf895a5568f7b2d66d6a2";
+  sha512.source = "b33ad62f68eb425381db0c6724fbcea32b1e37f8dace6737af6e996b7103d19eadabf60873ff367feb9c3a69743d219ce41d5274b8c533d5b5323a971d01a06f";
   hasRunfiles = true;
   version = "1.2";
 };
 "brushscr" = {
   stripPrefix = 0;
-  sha512.run = "dd501a4caf2faf8993df2c323253f553cdcf7021152b079f8eaf129488f444356ef1aaa44417470880aa9b7696eb36813f7ed9f2cab674918163d5132d1431eb";
-  sha512.doc = "31c21c588c6f4a26f697f1bb2679d1a3ed2b1b30f1a4a511b0b0e697d0ab92a073a54f0a82f1b7a71b82c0d94af1884bf7f49f8fe8efa3fd1ea3a8300f5f8d2c";
+  sha512.run = "f8c7107b0e98cc6e402ec8ee6f5e6f9a1b8e0d046dddae9486e4ca68327f370a75a0f90000939828605334b3ad3c5caaf5e541c7933c5545fe3e531066fa650f";
+  sha512.doc = "41ad7b1afc7cb0f4bfdf0bcff4c1d85f3d9603c3d48ccb62f94a6fa2258cf3f60f03ee1b4b5756d85a77ba4ff9afddbccaba1c4bd5b69d85ce4fed206aa16b1c";
   hasRunfiles = true;
 };
 "bullcntr" = {
   stripPrefix = 0;
-  sha512.run = "d549a45edfec127d7163ed5ed6b45479de344725e04459ecfe7ef5a1ab5d775dd6d205d1074421ba327314a7343c9fb1450986a50d1bab8be40a3424bc60f5d9";
-  sha512.doc = "a297b090cf53ffdaf6310a4131ca37a8d329232cff0e2569e6a14fa234c8474fcc1159c0e5f62b20ae79758c00a7876049ed557024a7c494db2396d961104329";
-  sha512.source = "be2ed8d1ab8e9ce8069f644aeb1e1b236433bc7efcd78a4b2e7ded4d9413c1c88c71f105adaca0316c012e3f1b407e2d9a90a627088f15cf2f387dd85dd1c5fb";
+  sha512.run = "886109fdce6a936d22b829ff769b130a445876073c73b2bc1767610302ba8a40112938311a138e1c93a0495a6e7d5cafa8d3606ca3b2fe48af442e023195ab93";
+  sha512.doc = "ab01cfba0570bc565d8b40945aec5d87739a0826d5c323c5ee960c0d3c7c3135ef2c8b7878268b415ffae3beb06fbc6af48656e7c4a6a45ee423254ce23cad1e";
+  sha512.source = "cd05d28c2e5c759863403e3ea9e8700002a4ef4f9021decec9a681b92d944ecc4c6765bae332f8645d06d12ab6adc096f4a560a195c981d5e6cbc72acb56e812";
   hasRunfiles = true;
   version = "0.04";
 };
 "bundledoc" = {
-  sha512.run = "b4442d06905a9a8cfe20a92f7554eda777671a7de5d071b200aa344da1897f1a8b9c2c09f4026a4645cc9a402876211b8eec4d5f03d2b49b7b68c738fb1aa65e";
-  sha512.doc = "30423a6a3ed30a0223da0aab04c44667d10969db1114d01a36a3779bcc16eaab78ac12f54f9fac131a072a363fd8bd9c02c25ea85ef4be471f59af8f488c91d9";
+  sha512.run = "5b3b4e343e8ce0103a7f0cc736331995fde330b473c21d97df761bffab8e0b82f00238187801978611e32b2190b0a0d51c87c4249135228c8bd53ae8fcb6bfc8";
+  sha512.doc = "acd848c58261520c2ea9038d0229b75e7c12e72c087ea1aacc3bd0dc4f8f99d50cf243d282abe44d72c99a75618cf284de400e342a9128f9f1ff87b54ebcdd9a";
   hasRunfiles = true;
-  version = "3.3";
+  version = "3.4";
 };
 "burmese" = {
   stripPrefix = 0;
-  sha512.run = "ec6d5597c01c7d62c76390234dddb6ab0ce7771f31ce6de9ad8ef65b747dc6a06b93b07c210c49eb61897b425f85af8ed5c7a3d22b55e7381638d93803534b86";
-  sha512.doc = "62deea37a3da706ef58055c8a3d7a37c78fbe09bb133f3c08d6be7d702425f7a81db6ef904a42edb4084cedafb9a4810eba4d7c737be192aa25028e2704afc53";
-  sha512.source = "6f374addb06a8bea17036d43e270d2897e6a0e9c3d96ca8e4a3cae2bee8d6e1aa672f49b8c75898230a16bccabdc926852016cff11ac3ecfe6489c922e53fef6";
+  sha512.run = "7bce3a31febfc6a959ba4779d975cf93276a0bd1115e06a50a3c8d705e49e8d6747ecebc7eac2147f021a538dda1bb241d8f320ef1486229c930141e06d6ae26";
+  sha512.doc = "4a7f3628efd913a362786564dd260dc1a63e51a397af3d92222db6f758b7a7792b13e58422d2604ae98f615fb5fc42e77f265e505236db9bc981d7951e0ee1ed";
+  sha512.source = "066d164d97f4fa9e1050d75c3c20997be859718a2be37c465010040f969b2d3aa17edc3c241f5aca45d91dd12517d72a731d02954088ee83ff5aeec3be0b0fcd";
   hasRunfiles = true;
 };
 "businesscard-qrcode" = {
   stripPrefix = 0;
-  sha512.run = "b8515a3e81041e7c230e7b1781c475e4b1d1feab3e202ec280c423e3655c6ad587689772213adb3dfdca31473461f1e18e670b3cadaa4c0afe6c70527a9bf863";
-  sha512.doc = "9b533194b712e522ea191a78027ef514a68dcbeecba67783c9515ba73842e8c1a3914f422538ebee97dac3c9201cd237a6ee2e6bed248e9a045267c1a72e5fd6";
+  sha512.run = "c0cccd1959a358d06db838ab035dfe2c4c2b960ffbea5241057871e4131ab06bdefd369fbc0179e74777fd83720692eb190322c797bc8da2ea84f1943684faf7";
+  sha512.doc = "bc2db833044104ec82b3c8913067e7687ab18944e7b12ac003391a207fe287b92426de1fce32088eb4293eb2a1bf955a21a82a42ed673938113d9d8a01ec9d10";
   hasRunfiles = true;
   version = "1.2";
 };
 "bussproofs" = {
   stripPrefix = 0;
-  sha512.run = "29f3f8d288d886b9631085891fd4b3046d46a5669e3f94d9cf7b05164e92060a9359ed2b96166262b66cb11562b72edd9d7ce4f64f48b410b8685f77dd2d798d";
-  sha512.doc = "226c01995140d95c5fa16a66f212e40ef232e68a85a0748cf279edccb4dd587047fda08125d250f9de04f45091789d8689f46e2c9d500b4de4b477d6834a0d94";
+  sha512.run = "a23aa5580e6c3d691c7b14a58b20af1e135681000c50a84be01040df7e1a844b8abeebe11a9dc456cee37e9e34ec020139c9f8de4de51833a88f90e495a65fcc";
+  sha512.doc = "b9af525a6a6204c07095864d257c65feda61214c557b0801c9a0c4357578755e1d01e278fe875c0b290f250e3adb03d260a5816a4ccd9f6f51ba67cd8af8269e";
   hasRunfiles = true;
   version = "1.1";
 };
+"bussproofs-extra" = {
+  stripPrefix = 0;
+  sha512.run = "8410e4a795b79e7ea06bfd72c713f39950da8d1c418002bc497eb802ae71dce5d5372f7692267ca62891cbb2a58719b76c2bce3f10ec11cff63c40bae9122a2e";
+  sha512.doc = "87ed5af043bcb4d41f301d4b09dae511fa509fc9c50ac70cef29d0df4bc023f97856504c0650b6139ff8bcd9c25a046411b58f72db016d7429788db757a4e87a";
+  sha512.source = "de1b272c20c7aa3d1c6f06fef7226083890a8b43ac3ad9ec54d6ff0649ee268b9c9acdf5d3e335f1fbf7f2b9aec3ff91517f126fe8d354e32662e3d6938b197e";
+  hasRunfiles = true;
+  version = "0.4";
+};
 "bxbase" = {
   stripPrefix = 0;
-  sha512.run = "3c3ecb38c8f19d83bb0322a5076c6fd92337d918a3e5e0e11fd9e05785389d1d424baeef2656e7c388e4ff0a2f3d7676f2d7f6b72a1428f2e0da5e086b1d167d";
-  sha512.doc = "3abf3c4e02b596151c56611f78a7a0835c04c2b3f90a8ff18dd2d5c39e35519040618b8d100ea9771c165575d9d4901f0a64f2214a840c1755f14eb0b31c40de";
+  sha512.run = "18b281f5147a179d2908944dc35e5b9547bb094b15adb559f8154c432710e531ada4c7ab6f755cb631ab882d005e55dd5aecf8602b61fa07bc54fa91506aac89";
+  sha512.doc = "da2a4dbce775b37d143b112159e132568b3c48bfa56599ab5f04db0b0b51d1b901775036b76cb4bc049f8193117a01a4d2b6054744a49a8d57f986a2193fc6d8";
   hasRunfiles = true;
   version = "1.1";
 };
 "bxcalc" = {
   stripPrefix = 0;
-  sha512.run = "cb95b6f2ee48e3186c56458e60299b1bbc4665d3db3b08088dfe1be7c952e6705069948c4149ea7730ec64764490a0d16e17ffa17cb7ec11416a951fbdfae4ef";
-  sha512.doc = "cd6735309e8d1fce42aa122556661ddd322e3e7de81b0d908142290c3446ea5392413993f1c0a425006503dd934a1d9c331c8f375116ad42a9c97f0501a74abe";
+  sha512.run = "6669cb896306c352a7320eb957fe5751e7d0c4916fe7504cf9b385a16e9b1280267f2e7a2a5430d052369841f713e86e58e5c03fb995b0d7dd16123dd316c368";
+  sha512.doc = "d7606ce81855c390bef558df8af083cd2576700d2d26c5d892a938ca6f9720d685d2e78e6fb6a3b15d9c672db9b795ce169a617a93f2baf5240ffe3b73ab7df4";
   hasRunfiles = true;
   version = "1.0a";
 };
 "bxcjkjatype" = {
   stripPrefix = 0;
-  sha512.run = "2804b33c5b260b7c9d5683f5b338cea9e9fe6704b2248b762c8382cb592b8e4ee2205983fbd9ea6c57ddeadb7d3192f177bfbf6c938f3b645228a15613e27259";
-  sha512.doc = "e079410597faaf593adb2d032dbf873ad826c917030e20ea4c332931ac974bb2e0440fea388a56b349eb694142feb0682ea0bcb8850e5b31f8719ff6cf6a4eaa";
+  sha512.run = "ea75072ca87925cbac9c69335fd77b509396516b11cd74b4f29976566613a3f0fe091b8d77f00803932c55f87fd1af964243a02271ef3ba64f08da5a065fb7f3";
+  sha512.doc = "4cf0962455982064956fed4080ccb8a4e4e386bdde5952880e05246bb655f064c22b4c1e2af32d3a8850304c1dd46c817ef16f0cb8a0e8cb764fcf788bb4ce6a";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxdpx-beamer" = {
   stripPrefix = 0;
-  sha512.run = "d1c9ac9f8fd6e74b373fb75b7b2a40f107207cfc6f12fac5ddde7def389acff742123f56ce401b7a32d763eff589aaf88be03df50fe01a75c620c18feb6f23e0";
-  sha512.doc = "dce40e919e6dc261207577186088da809aec40150bb7e75888ab8c5b3ffd4da343dfb4639e22d7e7de7dc1d507d6bea5305f2ae330185dd695bd47abad71fa9c";
+  sha512.run = "48009e69d2bb6c316c5d33dcc9d17fcf9f762b68688130ee8407648039b7c3effbbdeaf991bda7842738da59213cc855b50f48cf179ec77e0682729d6e5d3709";
+  sha512.doc = "2692918a0fb1ac7bccc6e905350c6cd716b72b33d8f00bad73ed0146238965d0c1a1d9de07c22fbef1ba7211a919c1152342a9f4bb48185099aa470f76374bc8";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxdvidriver" = {
   stripPrefix = 0;
-  sha512.run = "48840d20a0a1f316b5693ae0114ac585da6aa9f6f75f28973013f67f90117fc995b0af28f31febb52615556e216566f2a52cebb6862e6ed6f084881db3feffa1";
-  sha512.doc = "77cb30dd6e72f865be3c8b3ea42f29845dc5c1fe67ceb666e7e3dd8f36101bf34015018c93eabb3efe102d1fce998136c3e2bcb4c45427bd0cd9af5fb80ef85d";
+  sha512.run = "dc37ee5237e6eb02fca173b8b0501795604930b56c3e9101c6b653ad6df12cb5ae82ad81e66aac5c1ce4ff0aa8d7f05658f4b41057ede286715c25d290682182";
+  sha512.doc = "83e18920fb6f2f54f54c401fe83ff131dcbe64ca712ded59f0690d90f1d8b2623ec135692a3fa437b77fe82336553a529d36b5bdcec96a96cd57523f11cc0e0b";
   hasRunfiles = true;
   version = "0.2a";
 };
 "bxeepic" = {
   stripPrefix = 0;
-  sha512.run = "374e30e22b89ab56fac9e894029d70d5213416e5bec63b62b060758d7a194b44bd50f4c7419aae6de8ed1a57c0b7d2826e9cc9ec2527b7067da2a9af14b3260e";
-  sha512.doc = "d70e01007b6bd7bec634b5e34d52c80aaef8b583ffb61b028446a80fef3a31fcf3f369f164f9447ace2fabc75f3d89d88732b41a57e7a134ceee6157089e12ea";
+  sha512.run = "a0436e9dc7dffa9c7a7b2a41662a41db934aa4242c953f480400b7a2c8a71bb526ebe8eefa46b02db03364efdf14fd88c1dcd267ebd59f594d72540ddd3048c2";
+  sha512.doc = "25789b297ba2fcfb81e74637cb2270d41eff858e747b841cfbf5d29791fe6697d3a9cfd4abbbbc4ed0a5c5b274f8b5a7cdeaccc995f6ae623d2a6e2d831b7e55";
   hasRunfiles = true;
   version = "0.2";
 };
 "bxenclose" = {
   stripPrefix = 0;
-  sha512.run = "f2d1772829ecf48255a5615884ea287d8f2a8e24eac2e71958d89e0b7e3a16040a0b597eaab48fd07afa0cac98a49c722ddc7d7ac3dd2f594df4749897962b8c";
-  sha512.doc = "7e73cafb5b3e71e855fb8a32506f8ade73861d1d7becd5e902c5ab70f619269e0b5ece576320b31899f9fcf181dd7a31a020212f51cde83d9992b18f21c280f8";
+  sha512.run = "f3d0f39e9c21f3bff75d118bb1a9408e7fb2c84beb9301873cd37a678de4b7680d1e8f13693839ce32e1e816e756d8f0af14cc620952afc8fb02885debf478a8";
+  sha512.doc = "ea7e0f17ee70d3d4798e85e3788af1110fb2adb436106ad08f601655453af2c5d192d5e3854fee1b29f6ac21f2f6b02e239ff4ec6ae9181818b23bdbac45583e";
   hasRunfiles = true;
   version = "0.2";
 };
+"bxghost" = {
+  stripPrefix = 0;
+  sha512.run = "a3818f3a4e804a402f8a54288d135bd4e9ffd5cb8a061923548ae4534dbc46490f32c1b5db24bd8cdc32709ad7326145abd7f99592e0d22a14bb60938bbba841";
+  sha512.doc = "bed6d2e8e579b904941ae095ce879eabfa501374542d4716b890f3071d199723f2875ef47f0fa72adf1f8c542c763f4b49fab09d192db10400f17d9c2e0852cc";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "bxjaholiday" = {
   stripPrefix = 0;
-  sha512.run = "90cbf311a90fd1134cc616db22a97fe26ae4922ce0390654343e22c053c4b2f1881676b09825fb8ebe22a9cb20d59516b2e406a35d0d7366ebb8f7564be20712";
-  sha512.doc = "e4392e15c98f0ada391d28064bb8fef39a58dedc88d365b1a174ad369ac9fcc6c255fec59e776bfe32c6acc92ddb99bf8746ef819b6257383a3642044d486b7f";
+  sha512.run = "d028523087abe4587c8eaf877eb2dd0f4c12fc12055c29bc1bbf615e855155a77266df8cdf50bb458600bab0264836346a6d98fc183aafc92b546cfc7bcc1bdf";
+  sha512.doc = "398bc4686c7c3b121260cbaf379ca66f7f64911b18d771c04507287d3cce834256662dd8f72f1f55601648cc364703f88a0713d9dab19c53cf19c252e2919fd1";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "bxjalipsum" = {
   stripPrefix = 0;
-  sha512.run = "e78579572f584e26d6d18e409e9290cafaf0aa5ff1c4486f540643645679d126eae9419a961565136ea66f2a6ebf6ef7827bb6c86825e2b41beb383e57bd7655";
-  sha512.doc = "c4e2dca669584cef8a6b252412b3b231404ec0c76a976482504ff456579c7b6e617e4afbd603f577af60930662365caf997605563785c8fb537fe330d613e8f0";
+  sha512.run = "fa8f096023f86fe53d09ef1e719d1930248981f4a9c4f762ceb00eb7e42ae87a876857f03b8210ded78798c4ea18bc44486a87876bd5f2509a9270f09d56a53f";
+  sha512.doc = "551385ef1ec3aed5d21cef7f1f66254f937c1a7f979db2ad083411580a64cd152b16b9629bdeaa8c2a14ebdc8566278e7a9533ea178b953b033b2637a5f29df4";
   hasRunfiles = true;
   version = "0.3a";
 };
 "bxjaprnind" = {
   stripPrefix = 0;
-  sha512.run = "1bf5ac8baf6d3757983c4213649f911522f415a6c7351ae0aab0513bcd8a43c651bfcc25fa6a3ff52bd50a6291a0db86c549a46287017f90843280fd8deed098";
-  sha512.doc = "418c6df5c3db42c5c4f692ec09d4b8be91fdd1ffd31fa5e9f759ede61c139d20421adc8a12f4d923b5402cca9f6dba5015b7e515afa22d4146989a24a126512b";
+  sha512.run = "77f754e9d9cfc643286df17c7102685ee4c893b5b99308da7a8a9033fc043a7ac95a34dc4a253da4f5e6ed29b35a04376eba1635abbbbe6a6e2670d0d47f50b8";
+  sha512.doc = "0010c6e9d1041013401f59820795e338d9e0f852b2d29212fda0c66cda3e2dbdf59593547a8d83d9c6d78d48fb0372a4335976ad1fcc190c3c71a3b5607a47a4";
   hasRunfiles = true;
   version = "0.3b";
 };
 "bxjscls" = {
   stripPrefix = 0;
-  sha512.run = "8a1d059a9d8a8315cb6bc7267f13179c6c09419408f5f48c6543409496c9cb877babdb66b083a6a3706f9d7b8dba03dc672a275aa9992ce79359bf67ac2dde9f";
-  sha512.doc = "18b005b170edf839c07c77f3a5533a11ec5b2639df973ef8cc8750f31fea3b9b8b8ca2c505139bc7611fb22252ad6f264ab5fbf06425a04838a5b384533946b1";
-  sha512.source = "acd4dbc4603ef322cfe83e3e41bf8b84a09c6615a59ba334cb7f8da4aabd0987e0c89c5cd90c870c4ab6eeefa43b7046c0e4ac74b58aeda2d47df804732931c3";
+  sha512.run = "a109996608f1ab1b12274726e8522b6e3f07cf6c07774800168a8ed171948684a8821260f4917838f5ee7509858f6a668cd881ec6d5be2aa29ccecbcb51bb200";
+  sha512.doc = "f76a6fd1b5656be0a3a486e3dbe9dfde5e39d40310e3912158a6bee3981dfd615beb89675a5875cb5d31cc73f556a61842ddb427662e0e3ef40ca85415811014";
+  sha512.source = "97cd18d0e977d341e9ae04899c29541b24946ea87905b51477c59cc3231ee2cb650b7876e8a7c9acca2a712ab7d02c30d2d7cff52c080d87fefed8974ed91be4";
   hasRunfiles = true;
-  version = "1.9e";
+  version = "1.9h";
 };
 "bxnewfont" = {
   stripPrefix = 0;
-  sha512.run = "343d6a7697f3957e97d4ad1f7dacf030b2f378d4858165307309b5c7efa14bb9871f5e44fee328a93a086a337b801a8f2901b26bc8e287b8b1eb45c765e1f8f1";
-  sha512.doc = "8f564e6fb074e35ae1810d5711af7c1983302590fd249fdb9599bd90f311d908eae0731054e67edc06bc169dff59547fc80b57f9f954abc8ced21d9b61d29767";
+  sha512.run = "83775ee72fceb4de0037327561ea2f1723db89dc23ccc42245390212ae1fb849c92c75b2e7b4b23440c62086116b8f0a14b12b27f97c9277c55a7454b231826f";
+  sha512.doc = "f09fde7abd39a4df52175eff90363a469270ab1385f3600e654535cc90d7b4b5ba704be734323dffca512f5942c45a9ffb5cd19a73026c224cee3be33eaa5b65";
   hasRunfiles = true;
   version = "0.2b";
 };
 "bxorigcapt" = {
   stripPrefix = 0;
-  sha512.run = "5384fd91b4f641a5ee2ec3382ceabd48bcdbc8e9df6723e4219cdefbda07dbc56a8a38c2d46ea427df74dad296db442918c434a64d98308e0d83b24f41c67312";
-  sha512.doc = "bcce9f76d179609ba77e55778bcf5452e41da5a45c255e50e078328ea488efcd4ef3d61e68108dc4d1c86a26077a7fcf0652243acb5c87668a4d4111baacda51";
+  sha512.run = "de76176e7448732d3d429c11b605f24a01779651dc5bb3969a6cdd45ac1801a9d2472dcb4bda9751aae09428d7962981a4c9c581244f15b68b6a4aea43d54972";
+  sha512.doc = "0ec8b913862e51f89f661de3f628bb51a306d09d04adce4ff46183d8bb24c351f73c877b08b699f704661ae2c31131b7a959ad863a3a6613235318f8825136a2";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxpapersize" = {
   stripPrefix = 0;
-  sha512.run = "458f08fd1b94bb1a4b11d048255c79946170a8c2af7aea2e0c5580a690b17b6187aed926764e76e96b38d6e9dc85a18ce4cdea834f3e8062398ebc3ad4da60fe";
-  sha512.doc = "b25f095e8c33301d38d86b4b29bd64d3773fd108284bdac464159656ca78d37264e624506dbd12f242c4ff9b77f6283925f582476f5b952a785508d3780358bb";
+  sha512.run = "09b679f14ae4c851b0f4df35ca44653960ba0ca6de03b923602721c25a68e17c6ac3818bc91e189606fe64e3d0585ebf5e5ec5ace60f52435ff79cf6c7a8a12b";
+  sha512.doc = "519c4ab5c8eff946e075a84834209adfad9d1262ddcb30fe51b66bdfab5a15d7abe50549073f8d0aba1b661cc262c11f179a0c71edf1e3eceddef020e3fe107f";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "0.4";
 };
 "bxpdfver" = {
   stripPrefix = 0;
-  sha512.run = "4b53a48ae2dcfa01aaf9e907138370e4b5ad0bae41f7ef52370496e08eb1dfd55549646615515864dcf16002007f9afa570b9f661637547bcd86e58dec60a765";
-  sha512.doc = "dcb576742310dc1b7c9d79fabf713f3514ef819ffffa19c0d8556f2d7d2edd37a5ad8ddadaa8b4a5aa6f3e204f9941b4faf56f7731df4d5f3919ced56923815f";
+  sha512.run = "06795ad6cf70da674064e9712584761e9ed7fc295585d66439c5501532fb5ed3da03d05c8b22b6022d3491079b7ae40af1edae12dd3c959c2adc0f05732be723";
+  sha512.doc = "326cf6f244660a7d94a4c847ee9c7a43cf3d2fc199ae94035a76464691b48355432e71fff82f9c6bd3642e10b2011ba4d8d0f318304818ad9a8c27c579d3ca37";
   hasRunfiles = true;
   version = "0.4";
 };
 "bxtexlogo" = {
   stripPrefix = 0;
-  sha512.run = "4094bc59e086c0ab7ca409979a656624835f5e9cf0fd665d2e3058cd258349ad26f1619a77633ac8d784ed21930967e6e0ed07b3f5a29f54c6efb0eb05239e75";
-  sha512.doc = "97d6ed9f62478e078cc0f7a52a6723c3ca9f3d65e6a3f7cb24f93b95903160b7a5414fc7cce80e2a0ea7281943461751fef33a9c331b3f9b1ba9865cf51aca75";
+  sha512.run = "d3144e28a695f0e9939ac3074679558757f2272f0a2f2ad958481981389fae44a663c07fb914b13a890a736989bbb9946d22e1c9bd5d3ffba1db010fa451ee58";
+  sha512.doc = "59ee17c9147587d1eb1052dcf4624517cb575c49163a24f3dcbf27785f75b325c0de1c079c0b214cc6a63dd9d5862578303170eea91b0903d3b803c044078ee5";
   hasRunfiles = true;
   version = "0.4";
 };
 "bxwareki" = {
   stripPrefix = 0;
-  sha512.run = "dd47631c39ed3a3d904e9056e03f1f7ed4a93a078aaa435e8d6ee4fea8c58b6d4cf46740f75b59fa65d9867d05331a672888db45da8772dc0211e1df849e742c";
-  sha512.doc = "b03e54aea1f3da716df614c296cc70fdc05b3d33e9c093cd9566674640c90e0934204f761c6b9b54ebd6fb51e808fb858867fbefdf5633a4edd3c1cd362f7315";
+  sha512.run = "73f44924ed35cf95af7d2eae057a48fcdd307741ef9a0a0943638681f9008eac56e8f2b1f57afdf0c3dc789a079e65ab1142cc5e993ecf6b382e8bb127f6ea1e";
+  sha512.doc = "d861ef91292b76b4f248b51d99d062116f49be1f942629d049fff00e20a6e383bed050799a576e14f7daef52dd4f7f1fdd2ce898374191b9c719421ea755d7f0";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.6";
 };
 "bytefield" = {
   stripPrefix = 0;
-  sha512.run = "93b4b9c974c9045c686720bbb88dcccd7f721882ba2fa38821bfa960eccc7ed048cdf7b52be2f0105d83158747120f450b38f5af535443d1f7f3ac202022be4c";
-  sha512.doc = "5cec0cefd71a0911882831e97e94abba43440e41fc94c6da26a54809869ce2d34577fe1d64aadc5e08245a5501d9ac80693ef53e06425f1b5f3d46984b5a837b";
-  sha512.source = "c43584f47619446d3e1cfa32550c570009426fe9bf44e3d7daa76e2489838a9aad24a1dd984894b45fa3cac4f460e8cce3ae8d35f92d3ca44ce0022b6325c511";
+  sha512.run = "ae5c3c97ded2cc83be2dad6d67132b75eb55b22ffd8d4c0bd49dc842344a310c4ac80571165e43d2b446148dee1ae3927fc2193a92e85e75ad457b4732bca7ed";
+  sha512.doc = "6657581a9b97383c2dc3f8972ff77461a73ea33ecc0ba4dacbf0188e1db0dbe21e2d324dbb8fac7f05fafa585d3672d6de7d7db267a8e9f5e623838d0c46df5d";
+  sha512.source = "1fab74d218ade9454924cff4345c55d6dde25d4350cd238834677d24be89ddc58ce7a610e089158281a472b102db3809979f25a57c0c31ce50dbfcef398a662a";
   hasRunfiles = true;
   version = "2.4";
 };
 "c-pascal" = {
   stripPrefix = 0;
-  sha512.run = "b09d1b95a702f41c0c16bb4f8a30b25f09a9b8d03b624accd4edd6308b4b572b4b94cbc2ffc021007b2943223a001bb7f42db8bc56a03326d247da6aa49ffd9d";
-  sha512.doc = "d7c30bec9e22f37129a55d252e09265836f797b86f40e5db0ee6fb54e12bf71983cdcba45cee17d7ff6e9cfa6808b0070b43d313b3fa3e34f79ee5e9f7f4ae86";
+  sha512.run = "59aa375b3b953f2fab04547b3234b36fd08af39392cfdf05f6992a90ef3a52503b2e11296787763abb9ce6251f9cc2fd062d78133038ca4a92e1b06ae65118e9";
+  sha512.doc = "52252a2265d9bd48f09ddaf5f1517a6a74980897f0e8e0ad7ea71bafb194ca5bb98386af537ef2a4fb955e62ccba3d16cc1ebbae094502f16ae3bea0c5073c79";
   hasRunfiles = true;
   version = "1.2";
 };
 "c90" = {
   stripPrefix = 0;
-  sha512.run = "0fa5df10cce957a0888341cce11595f6a2c0e979171b58c417b6f6e6be7e7d8d65cc3b19be52f7a4ef2a443e19849eca6e77a7ea7a22e05a3d5b9151b107b315";
-  sha512.doc = "94670225753ecdb6ab557bb506ce7821821fb87d7c6f3c71dc3be27c5fcac634f86c126ab55ee63e1f9f0d789d3236cbba81d5e9f32a0dacc2214f2f33f8c549";
-  sha512.source = "0fbd21056fb536aef671d21cd8930103ed69281952e3a6a304d30a6538db8a2805ce0d2bf57025cceef4b0abd06c788d1d005de095b41b7914b41457a142dadb";
+  sha512.run = "f7e7aeb931bd215d38b41e1ded6d8fd046f90e54946a1bd1d4dc04b7ede4f6c20a3501d57397601f8a423fed9518672fffa9d45f17515f56b05217ebd59efe81";
+  sha512.doc = "dbf3f9d28bfad1d52dae43f9e9804d082525ea6deef94ba4ebbef6d06b06ad6010f5944c52ce992b1ba4cb5f3877a8eb3b694f106f0eaaef48ef350f62c76e8e";
+  sha512.source = "fac23323734b4cf9357067cf6d5304d36e669798494636d6b3283a074cbf3ec74168138f6d9bac3d6cb7e3ce3c7d5e35f7d98672865fa9dc87ea59d4227e337e";
   hasRunfiles = true;
 };
 "cabin" = {
   stripPrefix = 0;
-  sha512.run = "9d07b4d6cd2f2b4f38ec4334f9506a9c6c9ff0afaddee94a431e071b9dc44776330851ab36cd121232f10799c92380225f6cdde37300ddd4541a5911eda29ec3";
-  sha512.doc = "6a4a47a109741013f03c59681fc22b0dd7abb17b56ace14f7744081d2055738dfa8953dc145194862fb0532730384515245743d68010a26c798af482ac874ed0";
+  sha512.run = "f27414422184524fb0128f96865e3dc2de91efa6c71701b1829f87880ea95819a33233b7bfe82dcd396d6cdbd04c1d886f294323cdbd27b2729f23a34f0bf25e";
+  sha512.doc = "e63cdda53ef967030c13d31047bfa3ea25e45585e508a213f12c6cd1e8af7ab71387bb7ccb460654986254f8ff46462ce9a4b0c90ca01456983df74b942354fe";
   hasRunfiles = true;
 };
 "cachepic" = {
-  sha512.run = "fedab1832932e2d9d4225dc3e01738fb0601bba81b578d718c71471fb842a33b62603188d850111f265a474cb6343ecb624e869d8243769a535393acbd9f6c9b";
-  sha512.doc = "8ec9eede4f73c56b52df6b686fdc2d4c96714d301bca821abdee4d9cca974c5fbaa2ad0089b043224cfa3f16603813a2a2668c6b6d4405b54c5becb7a085508d";
+  sha512.run = "a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d";
+  sha512.doc = "93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c";
   hasRunfiles = true;
   version = "1.0";
 };
 "caladea" = {
   stripPrefix = 0;
-  sha512.run = "66c5b1225e8a52a14facb29524990f75459e95c6d7e186f87e6cb38b75746fa836528e2dae3b271f675dad767722840556e5b47401e3614f06af475b97042b17";
-  sha512.doc = "ed95f1f0c105ae08e92b54d93571451384cb057f15348afd6cde73b896a8ddf4ba4736d23ed00f367e3e07de42d69d2ebc9a0e371859e1c4a33b98b003c3d1a0";
+  sha512.run = "3e1d6bbb049ee4ac637fe051ac39d2e590d0e5ef4f2801ed9c1dac96b9ec8724e7643fcffe8a72de905572a75525fc6954871d8d953ae120af7e9f336da51442";
+  sha512.doc = "f6b47af3681349536a80bf5b6ea0db2113e35384dd7ce99da3704bdad3a3c5dc8f6dc0e4b1402c89ac97ece9907af5e0f2263edc4c0bb0a1e46ee89cac2f6639";
   hasRunfiles = true;
 };
 "calcage" = {
   stripPrefix = 0;
-  sha512.run = "ec5c839ee7e43c275381f241047726437cc5b4523de6b05382e6c435c00aa691cb9692ebeaf4d33a970036dcf69859cb3e29b28f7f4a8e1a9bf0db7bdf3516e8";
-  sha512.doc = "35ad9c2b753c5d10a5de3399e4c9cf4307b9e80d824f4ca6a3b9f3abaa4b4f18983cac7411303d4bd216603b987e153a5334c6655f5ae40718118be0c28560f2";
-  sha512.source = "7853e241ce6bbc68dbe810cc98c299da6605d36ebf610bd531bf654334bbaab51bbe37b533f5eaa387c3262846f9a805e73006bf4c525144e0b4ea243861a631";
+  sha512.run = "d3f6d46166f2b37e6ee8ff9185c6ddf5ed99ca2b32c7520966fa9a3db95d3a9517e39f5e8f928332a8dba490274c4fe48e62b6ce83ca10d0fbdb9a4218e0d92b";
+  sha512.doc = "4c3f1ed751005a5fc19e0ae40dfeb010ca211dbbdb7ac11c01525c7643f1e993346f1af21d411705ebcb119f8b1c20e4ad35384d2be9618fbe6db2de99e6eb45";
+  sha512.source = "aa49d205c8366ad92a46195c113e69fe123979560ae92a51589718136bc8df8b3b00e0aad4d6643ca36d217be02fa61529c4a1779d6826a52f80d29649fc50ac";
   hasRunfiles = true;
   version = "0.90";
 };
 "calctab" = {
   stripPrefix = 0;
-  sha512.run = "49956033b20ddaa86ff6a4823a2797898a2b37fe89d3378f2b2616a1f16ce8911c809a3d3211b867f5d609da87fd254a1130ba70e5be342417549a677544e8ff";
-  sha512.doc = "a082fe9a8fe0c2c925cc0a7984a2c23dfe9a81ff8971e9fb59b182ed6c1814238ad6b1a208d025826d5bf5ef916ad92a113748bdc73ed2158f6fa0571467ae3b";
+  sha512.run = "20ccd46a047987004eef78f75b18f49b1e3001e240604e2657e23e30c4e6f286ba700cb828eeffbd608880ac4994d4a3cd2d67aa336957fecd1d3ea8a48058b1";
+  sha512.doc = "555a9d966fe556e8aa1dd39ec1ec327995f62fa447bfd2bbb8efe47ad667427eef249c749f9d2c0436c16e31e6fe7b0dced9b449da307411ac186d30c2407270";
   hasRunfiles = true;
   version = "0.6.1";
 };
 "calculation" = {
   stripPrefix = 0;
-  sha512.run = "3368a211168efba5a80bcbba92c40101f2c1f3c5cdd68a605e4624bb6c091c11cd7cdc1795cede7b20b742fec2288aec3cc89a533bd36f0f09156e82d3674b6c";
-  sha512.doc = "cf80023b11c243ea86a22415c294465e8f318786e4039649fb3d361eb728c8db9cee2d0d7f12aa81ae12480cd4b4a5fb7f1f23baf990791ca69390a92f593e74";
-  sha512.source = "0393b1f551c11c59b67d2c2118a55f3f3a214cda6c0a9ec54a32795c45b03c22b9b07783ba2a0ed9d263002ba1cec10431e0ce19f4c557c08f12978583b7cbd4";
+  sha512.run = "d60f9face95cdf6944363ce66b842b2a695b468e77193785564d1697244e193cc0dcf462e7a13c8a22eee173d5d4cd192ae59bbc68e086ac27c92d2dbaf6f156";
+  sha512.doc = "741f4600986798bb191352ef98ac1a398014f92956267c36ca1834d95996008204107dcd8575077d7eb2dc1ddc627f03ffdf071ce0d8b2646809063eba59625a";
+  sha512.source = "010291ac9b9d4529283ae9ed9054a2d797109a5eba2e999d26c4e847bba6c0bbb3a357a76526c77549636d2446d38fca2b6063ca238f5912c1aced9e2b63bb8a";
   hasRunfiles = true;
   version = "1.0";
 };
 "calculator" = {
   stripPrefix = 0;
-  sha512.run = "2e2160873be115de34202a8d2f261c1ff18f1b14e95e1f8a86bb270c319b4312bf01e519ac2abcaddf86bc0941cfc2cd6f9a3ea7a3245285ba20ac6cfee24f12";
-  sha512.doc = "fd213db9279bf544835a6c114e7a20e78be85fe362a008fdd5334eecaab7ca76fe9e315ca068cf4fbad7f258f3237e09f39d8fd0d5567ea76c85b6d66696cc0e";
-  sha512.source = "935b54529bc59f0dd00d90a61329aae91349126388cde4bc4bc0f2c98c30649658ae1bd79f27e4bd8faa8780fe0c103ad220224cf91e7ff590b559e80efdcd44";
+  sha512.run = "d381e15db10c289b3de79bc6464c714391949f149cf5e6ff7af04e3f195308cd9d71627dc04c6138b17d4d2c1e5caeb44149e327df78d20e54344d95cfc4d8ac";
+  sha512.doc = "107055cab430fa0867f48b3e4c9215052926ea328d29d920dd0345bc48cc956a0673f6ba3b72c954acd98fb65678acde00b4d18def40225e1b8ff656a7938754";
+  sha512.source = "3121da3beab24f10d9898b88fb971613050078d2d09deedb03f3c5e6b9b1dd9f0a9e8a2c7c8ae092e8cee7058abca6366ff09dd15aab4f386adab0206e11303b";
   hasRunfiles = true;
   version = "2.0";
 };
 "calligra" = {
   stripPrefix = 0;
-  sha512.run = "291c0e7cc4c688428a4ef6a267bb68f1abb0ebb8418189cacbfb5a55f3f95b4c4d2049866bf336532fbd5e7529b73a2a563354acab6f6c1d86c1eedd1cc890fd";
-  sha512.doc = "3856591b94ead6994944155301163ae8a434a6428b7b4717a1d26898d696f1fed28b73a7f3ae9ee1e9f7ea0801790a2284e932392902210d56d968c528af7ee5";
+  sha512.run = "9479d6b5ab33b12acae5cb3858c218dc4a1e1901c4006dca5160778798813d333b2e9e615eeb29e01007084d8479c58573f88ad5e282dfc06f3f5a9820df482c";
+  sha512.doc = "05e7b61864f483f0fc50d4680d80a395282a5c7f36b7ccaebb70e1c24cb5a101c4ee5accfec8d12c7fac0e7a32851dc15906267b93e6d75094b7ac646826dead";
   hasRunfiles = true;
 };
 "calligra-type1" = {
   stripPrefix = 0;
-  sha512.run = "44e1f4e77872dbe68dfe87c9cc70b5268e6db691ca278b1b43fe1f56c16a2985b9dfa2a2fdd89cbb427746ed6c3c502e65b8b778592d51ca203e3eea939936f8";
-  sha512.doc = "a0e6a8ef9b0dcf57e169d6390ad68d7a5470938e2958865b602d3c25f00f2d5a1f7ff9196bfcb6d7bf304a02dfc1f542292ac995a9586d4714444bbdf9cbd9ad";
+  sha512.run = "325764734735203d4e355d33b30a289d699fa10377212e39bf33d3195f2dfdebd4397785d69d6ca392e040cd2fd5bad20b0055b5f92620149fc96ed0d6d337a7";
+  sha512.doc = "c1acbd3ae35c423b9414b5e132e1a164d4b102ecf9d7305548bb5d203a8d3a25309e2aa5a5d09277d310b9446013ca2db65f9ce6d5783432ed325838bfc9a48f";
   hasRunfiles = true;
   version = "001.000";
 };
 "callouts" = {
   stripPrefix = 0;
-  sha512.run = "cf7543395ca1b2ba7c9fd8cbd44f720a2a896781d4465ed5e9bfb46ed003fd011e5eaac8c114fecbd3aea8a5413d2702eab937eaec4bafca3a725335f5efbca0";
-  sha512.doc = "20379990311229fbf072024a989f39738b1851f77d19cbaee2a7a9eb954bf3693751380547c5c4d327337995f3300c94c2cb199243c27b063f0643d23633571e";
+  sha512.run = "a440d3815f5c5a6d291ce4d7a20bc8483bebe190a0e6944de9f5be78a23eef119f41740ca0fbae4515b6ea7f2aefff90a62005883c44e8d70c6aec0a58c777ee";
+  sha512.doc = "0801298bd110f2e484b45c66626c790217666f3351aeeab87881d7f32ada1868222a21f2a7861afaacdea302ad269d2062aaf5fa9d13fdf8efb93efaeb499bb6";
   hasRunfiles = true;
 };
 "calrsfs" = {
   stripPrefix = 0;
-  sha512.run = "27b031ac6f663c94a76cf763f9eb014f9749165e7bbf6b51a9f0e441bb8ba94ab10125aa0e419b3d5f984234b85ad87c9f364ed0bc27e04314eeb7484f93888d";
-  sha512.doc = "f59626c195f3496b1f5ed881a95a907adb365f9f3dc309da8f7a2b6b08a01b266f4995c99728e9c0871b7b552092727f63ef0faf5bf83c092e8b765cafcf98d1";
+  sha512.run = "34b5315e9e5e0ca532733f7b7ebe66e77d935fedf0e042aec63fb7cae257a423db5e93e288b9e1dacb26b0b75784eddffa8b565acfa537a7d970297f71e63a2e";
+  sha512.doc = "2378c004fe888bd2d60d0830ec98e805a2bdea3a5a6f4161dd3d4cb56c437dabdb579f3293845a10e316cd868725abd304ecb8eab55fb4c728ed5bc0d2073673";
   hasRunfiles = true;
 };
 "cals" = {
   stripPrefix = 0;
-  sha512.run = "32cca18edf550c0bac6d659a706fbaf510c76e1b851a9fd10d3b17c8fc6bfcfc6f8e2d453668aaa2001e0b2d78414ca8e41a461b9bc7044d01abfd113ed3d898";
-  sha512.doc = "8235472d0384dd8f1a39d517dd22f0cf7f7ba3f6cce143849b2afeed7f4b059de026a5c743f50b5d8909b2a6d3d6218b22f2f7babb4fb029ea85175f3fb659c3";
-  sha512.source = "545abf72a592d53e09b28496878e4b4fa285c49a43fa1fd1b2979f3347530f7ffb94562d1c1a8abed833051d953f6410aeaa01f351824968f5e51f7c7924d95e";
+  sha512.run = "75321e774560d7a205a7bf6b7d2d512c6aa9b5f38f6116813ff43ebd4d1fed23ebe26c235b278ee5723062e49630fc5f9480dccbe5bdfa44f5168f18657ddadc";
+  sha512.doc = "15accc06e3de07dc535078300efbffe305d8e26a3aa0e81304de37090500210932f08c24454d0bcb5d93ced903832891b6f987525eb64d04b1a7bfe577071153";
+  sha512.source = "59a99cfdb7923d0e9edfa656f53825194b3c1ad0cc554e28ce792783d3196b525a9e7dc0e5ef8dd824e4d35b39a71946c579978520c7fb87de24f1e8b91c1253";
   hasRunfiles = true;
   version = "2.4.2";
 };
 "calxxxx-yyyy" = {
   stripPrefix = 0;
-  sha512.run = "00cf9e6838d27f754ad9e205d7885e1255bb7d08167697026162171361a979d122747b60b60d72419e06aea0d6dea20938bcb33182246f45d09913dcb2c9829f";
-  sha512.doc = "6a1ef8327dc99f28f22979ac3d099b96517dfe22a0cedbf5bdcb7d320ed879aa2a393ad44dcdc8635a30c9ddd8986f70ec5727263fd4cfee32a34830ce987111";
+  sha512.run = "d66d7c31c9e16d79d28b99a395b8d2206bf64ca1f036d94a34d9a60c67f87c5ee0e9295a9d01a8fe16590b42e570ee2d49e7ffb07cd831588ae9d8bab40746f2";
+  sha512.doc = "53e3cc3a8152d7bcad1e00f2ab7163b0c6630c0a9a065f0bbe79ac9caf871bc50c985ba22eef2a69f745296ec22353e6d2780e92711d4c0453033ed436b414da";
   hasRunfiles = true;
   version = "20.19a";
 };
 "cancel" = {
   stripPrefix = 0;
-  sha512.run = "2b321b5e6342ba1089cf32128b4f51f4c5f2b3eb6c5f85eb4723c78a4a0f806f176522334f4a699136e53be574e89c7f31a8c505cc7ccdfe6bc79bdd37710f23";
-  sha512.doc = "ceb5721c446b0d71df0bf7ec87e87765af930653692fc84d3e1a063ca049c93da796615c4e7b7db14053cc3bf6b45f37d041ccba04a930f028c70bcd24005b07";
+  sha512.run = "ac6e6b642dde29e32e45d7a0e967370c1f7a6ce604075cd43c57b1ee002e75adbe4fbc81de30e8d252cd58f2ac091503595a433c5de898deb3bfbdbb6f2d2e62";
+  sha512.doc = "5af252a521c1976166db248c4c19d4fcadd32ec9801e0cd42b73e0a3a0adc461b88d765b90dec1af859474fc64bc00cbc8be44450cb4da6b43944c8fc46ba670";
   hasRunfiles = true;
   version = "2.2";
 };
 "canoniclayout" = {
   stripPrefix = 0;
-  sha512.run = "c13cf72db887f6fb2e01e832a5ed8b2dc253d9372210fa28a5abbafba39fbd3cc8aad238c5ca9c3f2037bdc11770233dc7020c7b1b8e836e61f578a49a51e910";
-  sha512.doc = "743b17de36ff13e7f59f30b66f4835eb29643ec97b5daab986ff7e307c5efa8b3608b54d6ec2bf82ef20adcdddf0726bd4d2a338e2bc4ad51a443fe07576a561";
-  sha512.source = "b71a626ec8a2517d3834a312dd7a43cf6509a16c925f03f05622bb2e60df7e87c261accc11d63be0da046ed3782b1efa3a4790b15d4a787972c5ae41c625dc23";
+  sha512.run = "19858946010eaac99d0a0b0808f31c57949b7488dea007e7a5a2d8820b0ae16518ff8aa48bfa5e067d90c8662937de7af7f325aa9a80dba382a03a66d89e46b6";
+  sha512.doc = "221b7eb51a3e5e9da2e354646cf1c09a78811ff1804805171bedc1e72e5c1ebc3a2e974f3b5ce3eb6322e17111ce2486e9c9452367e4e753be029d096ae9033d";
+  sha512.source = "27864e2f85680ac3fc8103bf14a420cd3b636124482ac2d0a382061825e70cf3674c8da8eb91fd8db5f2a7a15c173d2e16cc7f576cee28ac2a1d82417d662c8f";
   hasRunfiles = true;
   version = "0.4";
 };
 "cantarell" = {
   stripPrefix = 0;
-  sha512.run = "70485f4c80b6e5590c2a7e94b0e874e612a78f41f6d0aa4a7cdd82046074322a1ae1dad61ae734f270db73db812d6e4cdfacffc5b15816d2fe385b1a147359e1";
-  sha512.doc = "2e34510a95508a5d9708558aebb4b0bf0610d83fdbaf6b53438c354b49857e7f2aab1b57cb5f29b097aeb0092933016b63d27808a210ff4d8916ea6274559772";
-  sha512.source = "1665ccd34ffbbdf1163c624c49fbc30447355b1974667e794b01115516d9d45b2ce59dbb44fb961d553f0f56fae612d20670d081816c2ff3cbbd4a99f062c230";
+  sha512.run = "4565c3ff88cb4449fc2feab5f87de79eee7f38d0bdf61866d8fff421bc92e0382653b9956a724b1540c64ac78dbb529f34421e5dd0a3b76a2669da3a0d667c89";
+  sha512.doc = "2c696061a46a3b83951869ebb36b31da87e61d9489441d14b8f8ca2eaf4616802ac917e9e68d56d6e81fc03a534175b592d74ac42f8079340f476725f869f0b7";
   hasRunfiles = true;
-  version = "2.4";
+  version = "3.2";
 };
 "capt-of" = {
   stripPrefix = 0;
-  sha512.run = "a5f19701878ac0fbd2fc38fe6dcbb984073346a991bd1f34e51b4f07ecd34baed89aab19ef80208915a659d3a15a2c81b3dd09f214818f9c8a2bff14a008068e";
-  sha512.doc = "1a834571097a5304395b86fc5d9a5c3a49d1701b336330c996ada0ffa71a08fbbcbb7aaf381514854f914f8c49b989d35c870e4bd76e403503abf7106108ffd2";
-  sha512.source = "58854151a1e4af85661c70964568c0d61f47f28923930c40dd8a11785f47e6bbf2f3259e0cf21d201b63abf6ee2f3fee5b60d48b2cca945e869fbb95193ba9b9";
+  sha512.run = "f3b1b81aa5a8c2ed9d5ab94e2e242442674af957d3f987b0db459ff8ca920abaab43d46db234b92ab588bb5f7d4c587eccf586a87fd492659f5b088760859c62";
+  sha512.doc = "a8fa6b2a0787a3e52f3a9a22482ba9f9217ae97b985b4975c690d240ae040f4f1e17c3ea7439d53337e5a0815a66754d0e6c528417c04d7c6684d28e869f71d0";
+  sha512.source = "87d4bb47226cef478ada2482605b925a3ebb3c1ee1fc624f39e724a857101b113856d99bf659ec5e01ce6773e0f695e424c41ba0640f23a76e9721d06a1d4f56";
   hasRunfiles = true;
 };
 "captcont" = {
   stripPrefix = 0;
-  sha512.run = "5fa23b3c6fc6abc25fb1321da15252a5a6381858138285057512c9208faf1b1f754b5ee5beafbec66ab3ac9f4944b3d129bb7f5a84c895b0ca5a194003458558";
-  sha512.doc = "222ee43beeaf8ebeab885b4123b92fbe48a5bc6784e1878ee84df3187b6f9fe2c25ac04616b20d3ef0a892bb20501bc8a8a88d059af49d8a83c9ff1fce09b9c1";
-  sha512.source = "e2b20f5ae53bc6190024013daecb6a04b39f3700e0a881a96f0ad60ae8142b045bf88886c040cde872d6a113bd93ddb22cff8d2274b7c4500327521dad76c60a";
+  sha512.run = "b5002e8ea4fc8ca1840190e8a2d40540576dc5e17110da473a8981198e3f24c858644b181545be3bed6275cd0e0bb9848a6058adfc8dbef26956e0754c4e4699";
+  sha512.doc = "91bdb436163ff745f3aecc67eec747ef5a1853035d86258bbe23a080a92b3393f72b4029bad719765663c94e79217df4edf753be930a3e4b62f0b999c296ea86";
+  sha512.source = "9c9f8b2785ce2620db8e5c373cd2eee4d9aa3cd8eb47c648625ca7250e7ace861d9dbc31432a7dd7d0f6c7ccd48b43aba74df519d72e3fa1a3c9546de946e591";
   hasRunfiles = true;
   version = "2.0";
 };
 "captdef" = {
   stripPrefix = 0;
-  sha512.run = "a5376f7f5b1d4a751971b4210fdd32041009ec30d3e5bb8fd5cf8ace76a52ed4b74d11482beeaa6acdbeebdfc2b41cc714000c4383acd8112323fc71333f3aec";
-  sha512.doc = "9324e6ce581b7726681da2260e998312537153fa4c3df425bc50100bc3ab563f3b34ca7b5467227c3bcf5eac50f3ccf91e38e9e862fe04bd950cfb9335ef5b98";
+  sha512.run = "c24a7d66c1daa3a9c336a8555286876aea9e969a4107c42c258f0f4c9a88070316df70e0f2a860adb6335a33e49cdd7a9ba8391255f1e1fb283bd2f6a7e7b343";
+  sha512.doc = "c0a1a4584d0802eda39812d2c293fabed2487b0cedb57df622519d5857c2ef10e54e66032e9e9ee9ab81c757fb827eabf422b1bf2ab0ae6f7c22ab3aecb49a8f";
   hasRunfiles = true;
 };
 "caption" = {
   stripPrefix = 0;
-  sha512.run = "6f9f55e4eddba072aa2c10d42d49fad13d0ece4b24e70a4cdd66962103337c8a5a0af2fb28d1d4405c394f532e980ac39ab7b70f29f5a2b054d54ff3e6edae33";
-  sha512.doc = "3d6d721fc30c1721fdf1df933e8117428df55b6f181464cb61162bb22021dc38aecdfeb91e5de7c001d45de6aa8f1af31f901f848851c54d130fad5ccf57e02a";
-  sha512.source = "d6f7385c3ef087bb40d6e9de59292a3661000c8a76204bbe19eb79fa167403433fc1623fdb4d9fe51f1834c06089cf72a1e3b2a8491ac8607cdf4279ad243491";
+  sha512.run = "047ef9f5bb8b5885ebd656e961360135cb531a9b8b4e582a5d92b8b813b593e4b588e969c75d83c52e65656701855fb16335f9f5fe3ebf0145a3a08bd59b28af";
+  sha512.doc = "cf45afa493d9365446cce41ac6c4e7cecb08495dbf1c6f7ad5cb17a57a85dbc1237a595406beeea259ccedd0737776da6c393441010c2f7995b2675f7ce30170";
+  sha512.source = "377db41ee95d07c1c13c54b291d88d11c6c31ecaa982f59953d6b69c33f59f9a91f3df323e0a9bf975feefc4b8ce788d6f1485cb0e052b5d78315fb7e9bdab04";
   hasRunfiles = true;
 };
 "carbohydrates" = {
   stripPrefix = 0;
-  sha512.run = "600d248e5089ba077be105c7d8f8e03c508b15dca7c65628307b91aa736377ef2b7b43bffd3816021ba4bf1e26697882db52c1355d8674ccfa0dc7992c099ad8";
-  sha512.doc = "f9e0cd4372b40ff1f065d68a27f131007e3a22a801f1e7d6ce9235de71574bb4387540413175309e30c5b4953e13f1e6bfafb42f79778437e7901d346d4513e9";
+  sha512.run = "dfccca523ef4ea2c9bba9ebdbed7f6bbce1ab0739be02118231d1eb449bc826dd5e96406d5e009239a1bf25088e8df289e2e66423a536d76cf592af1a50f276a";
+  sha512.doc = "67de0675fbe00573058f428d34779b3423d1c9a7d47be5f8f1c3ba6b3cfb6783f5f1a945c1f201bb719bfe835ef035dfb56864a13ba0f12e0e83ef1ca0ce059d";
   hasRunfiles = true;
   version = "0.1";
 };
 "carlisle" = {
   stripPrefix = 0;
-  sha512.run = "3734bc331f78e4bd8b85dd2df238b4dbed76c6c1c7bea71768b1e9c7c62ec7d277194e54997b834931221023768af085e1c65c3d7688b77678e8d3d7465c4e1f";
-  sha512.doc = "91400a8a7119bfda80ffbd6e20c67dfae45fb7f430396f37bbac8c0f005b60bc82c0d502cc93fd58adf87fc880c8a958907fc1b3edb1d55915379c2eb2269c47";
-  sha512.source = "6e69b406b71462fb97a24e1d20deeeb1c814dc7dad196c97de4e92ff568734c273726708feecf58dd913c6b3d638aeee9d5f300d1b971bddbd70f5b6fcb2bfda";
+  sha512.run = "d3e743a5e614479167ead02eabfefeffc8006e27c486fb5c57f1cb94278418f86db0431c752310bc1f7cda6dad22b1610edf4d24742391f6b743cad4ea050344";
+  sha512.doc = "8d49c9d72669bffa042defaa53b4bdacf2e107753608747162947f05ad8438b9463afd905a376e462e6491293cf0c4a202e0b76db965854c19b97641d0a7d295";
+  sha512.source = "83417675f97cd8235ad3a38f3e333596188e717573a8739e41c1041d1641e1e53d48f189f6c01a58509ea8ca1c5d755c56aeeb9842e205c9aa8a01cfc7f688e9";
   hasRunfiles = true;
 };
 "carlito" = {
   stripPrefix = 0;
-  sha512.run = "f47d0ffd4bab7d892e6c646f3a4eb392c295b8f8a9ecd63ef45fd9ad891c33db8e66ec3e6d455649c2a8f8795693bff105e5ec48ae7c8d2fb0bf79d32e078bc9";
-  sha512.doc = "ff4a566ea7ceca1d2d095b3e99acdd65ceca96671eddb2d98bef69310d69e31435acab70272ab3f421cee5c37ba42c3aeaa230cda7e95559744a40080b9c1547";
+  sha512.run = "57575185b89cf337f612f3e5b8458502e0d86a49c992d40f8cdb390417b0387fb0039ec316fa807fcddad7795e9f6617f62cf0bd6827bb654ac28231f65bc0a8";
+  sha512.doc = "b656565ef24d9939545e52af7bafcfc8a3613d0f206e1aab455e339c1d2590e930207db24033c8585a1e7950ec9f550d3b37a0c1adf456800b85ef63b68f875d";
   hasRunfiles = true;
 };
 "carolmin-ps" = {
   stripPrefix = 0;
-  sha512.run = "1802e7fe2835863ac0859bbfdf21724ca77cfb56418e2b070a7f420a739b0324458c5e12b2705b03e9526a6a87fd4a9bdc49ba066960f3d3159b01636c6ddbb0";
-  sha512.doc = "70bbb0cee83468531ea86d841906c7d47d3ab95067aa03d4485bec644653e9d110619a0e643a6463685e50ef1cf7c311c64319522fe4cbc1201b77f37ae4e78a";
+  sha512.run = "61ae809b5e4e7ff493de30ebb825870ab9caa8dc64d6d3c82d4654fece82dece4937c798e3c1e5086a84411edbcaf8c2ea777a9534865b38d4bc5457ae59aa25";
+  sha512.doc = "284d9f740d1e4b1a4c989b527bac80e54afa74013d1234bf9e1c2d42ac2ca4387c3b0d24004818e1fb92b001582114a4432480804c721cc7df0bd3b85835f111";
   hasRunfiles = true;
 };
 "cascade" = {
   stripPrefix = 0;
-  sha512.run = "f45bbabf4c603aa16851745771d983a0f58fdfbc4bb738d57f81bfe43638cc36a40f5e21a5513d827f25895bd3269db92b9d0f5e2d1f6e5f92684d781866589e";
-  sha512.doc = "e7d688ddb0d9d22e67170c7f250737f1fe2a4fb722dfa659ba1716a2c83fbe51e621ee2880902d92dd551cbc6110b84ff2ac9b56a50cd6ce98ff37f9b090d2e9";
-  sha512.source = "6e29cf674695fdc589ddbf674f0acdbf1c64ca6c1cf8ff3454e3ab33f496778a1ccc5eb3064fff2ccaa2ca16ed30bd174663e10b8b6320c3f56df97b80a83b0f";
+  sha512.run = "d72e9c46f4228af10abc33e96818ee488d09389d21575b40cec183c03664c63cf7dc7b9dc319b0fb775c41b5c9df8f767d06d131ada730f9b8dfb655111fd7fe";
+  sha512.doc = "d74ad316352672ad753f48e1b1c317dbdf402927d75d583d85d85367ceac69228e81b726b575e84d2746a709457e18d25817ebe7850dd17ca07515192749b713";
+  sha512.source = "53ef700bc723b28b36ffde548b030639e467fa1fd41570179b7ae9661c3d4a9911d9dc765362ce46178d06d3a67dfa1fb408e8f074141c80d32de437554a3b9f";
   hasRunfiles = true;
   version = "1.01";
 };
 "cascadilla" = {
   stripPrefix = 0;
-  sha512.run = "e9a32539283dafbcc1cf676127308edf6a54c6d0558dd31de32601cceeb22ba213c30b4ddbe6f4007c6e1e8f3810ac47b2527d379d719f3cbf7ebc35f5907a87";
-  sha512.doc = "58b9111f86085c066f18363d4e168abdd1cb7ff74fd53dd34ddc537ea320e4ad2ec2450af0ff031f2d43325676c921a8ecbe008297f11170bc387fe21dc12745";
+  sha512.run = "df66bd91562f3678e2ef42f16a4a0c4af95209fb28b1176b5b63968632b3235391180b06431a42afdc73a9e4f97f47c8c954ed1ef2ccb746cdbf1d65058ad919";
+  sha512.doc = "2c15b786f550642c26cc8f5e0151dd5b31e964b46d59837b3f1ccbe118fba6ad8f06f86c6a5bdc6a791615929bf4c9b7c2287f930d1ca3c8bd6c2d0d7ddf64b2";
   hasRunfiles = true;
   version = "1.8.2";
 };
 "cases" = {
   stripPrefix = 0;
-  sha512.run = "0c33b5791952a315c72b18225f0ad0e3f6f331fceb5c3403db4c0da089acffd53ef2b957c13bf3480dd02bb6669135f96e786b32955fcb374e2d9a8f5ebcf629";
-  sha512.doc = "b747d1ec39c816a90c665be10a8721ff612cb379349213bc2e470236afa80978f968bd2ec99349a9f40233bcffea87bd53c73f1155eb13ed5c2b0fbaedde83ff";
+  sha512.run = "43d512d0a408c82b80cd3cc93ad858ded8a0af5634557e1a67fd41cdbef6f3df5d42d9f3e910d05fc203b741f9fb374271d22b2a22c4704010b934237e055c82";
+  sha512.doc = "1d09e32e370635db9c9d3bb618b51da7c16f178b6d6639eb7e4247b67e12036ddea3095a41dee4ea4746eee8ea7ec33ceed5e3f84473dc5c08ef078734a02589";
   hasRunfiles = true;
   version = "2.5";
 };
 "casyl" = {
   stripPrefix = 0;
-  sha512.run = "b74ac52b7bfc964e19a97f1be41c240a41b67182ea08a05021e5ff1f16c87546f9e216721c1b6184d8ce86c0855d49c93b4eeeb575d61b79c5f6df12a85252c9";
-  sha512.doc = "691541ceb4ef0f0c021dbbfe1fe6b75c27aafba752dfb105f9511237871d5db11d434b6d98f2d94fa70521472f850ee754f611c395263ca1d42d1584f3d2ca55";
+  sha512.run = "1536d4fe6c0cc647def47d3686ac73757da8b4ebbb99a5188e78944d59350c0da731f2e51a40c94a1e05b225a793f292766de4221792804887b4350631c8a24b";
+  sha512.doc = "74adbaee46656ad57512a11986f834239d60259eb45014e2c738f7f5b5bb47897185528c0feeb96c45ab7d6c04e679e1858417a93db791b72b5eea1cf828c0ce";
   hasRunfiles = true;
   version = "2.0";
 };
 "catchfilebetweentags" = {
   stripPrefix = 0;
-  sha512.run = "b6437c502cb5e14cc42648d80c7c7b16faa1a68d2d693f67b319fba5375e4c2db9ddbf2379ce50871e3211cb80b5c161f7027a27174c671a1c0f300697d36b12";
-  sha512.doc = "bdbe1fe7e88e0c9456b050ea600669072e38a149c9f31057686e3fe72186c900280fb454bc8bd0bd2e76e52df9f65b8cddbe28ccc034530aa33ea2eaa7855fc6";
-  sha512.source = "ac7a983d840bbf46e372fbc842941fdfd6b632c35a15e37cb9d1067fbb07b96da21f991dc868c583b2578dea5cb6a7e04c2f4cf99d0c8731b476a2881da46e10";
+  sha512.run = "71656fb162aae4fccf15767911b8524c4f3a72f4c6fbeaea45a3dd9593489ec7644e7c10ab61a49cdd125ffe56e61331c30e35a10517720948d4f03b97b20056";
+  sha512.doc = "4071d6d6ada488b5bbbac0df3b7604939fafbebc17808430d8bd389b86a8aeca0df90da77fb00f8be14af9e9a79c45bf5a2dc0b9ea45af34f60cbce83810e1a5";
+  sha512.source = "0d0e6436d1e065fd518a743fd39062f1ef9a86f450130a2339ae59e5af0a9fd0ebeaf72a66301c8ad42c6e218a01bef48c977044cf284c98cbf25e6c8f1773b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "catcodes" = {
   stripPrefix = 0;
-  sha512.run = "5fa20d32839ef18037c58361812588f2597eb8ea1872513a53a481a23955b306b64f0385b082a631d3b859e9f3e434a72a804c6fafd57c670650106b9289d6f1";
-  sha512.doc = "dd3eb46f3b9fdc1ed216c3594cb57264d60a2006bc36f103f3de844c846c7ab90cca09a8ae5de6d1c1559769e1b7d0814c5a506ef142eee1e739c7511ebbd6ee";
-  sha512.source = "c9625e787b87613032c5c6f1c47ed24558a3668d10938e4fafe3b28384699891e5cacf42f965f34f9e57459d6238e1d5e5a55da5a6d021cd7e9ba10c929d6b6b";
+  sha512.run = "6eeba6d0c7435050e5ca07a6b0a24bca1714a9ba3d3a20168547502c2ec954b9d74918767c9728c1595355fdb84eb74ef258fee86cae1907fc5b186ccac0a939";
+  sha512.doc = "4dbf09f34abc39d9aa5003ce3defe4f5a04b0cade5d6a848bbde4ff3f35ff6bd511b8dd8dade14f92b1ba38bda2595da65da589b0236920c7aa340d245e0cb7c";
+  sha512.source = "157520a8e968f5236add71d55aab0ddec48eeac801349ae1900cf70bcaf1faa4cfe98632ac5fa41cabee6dfb6fa46655a609023329d161cad06ece33f10d03d7";
   hasRunfiles = true;
   version = "r0.2";
 };
 "catechis" = {
   stripPrefix = 0;
-  sha512.run = "03e4029788bd1e61c60807e3c11457c856936a648ab91ac3fca44edee537126f1cf84fe4293eea1c84ab91ddb842fda203580045109e43d435bb02d732fc078e";
-  sha512.doc = "1d04e340519c83d9b5f4a9603a2ea670bf984f5da366742468ca9f2622126630d96f063cf2c1ae40d182127c7cd584f2e221560f8319a5d46952d0618469c838";
-  sha512.source = "16a43761b0731f2568ebb50e835247e9f899ab9cb205038f700501d5ba0c02fab19d1274206a95fc2e7992207361b9989ba8daf62e6dbac6396925550ee488ce";
+  sha512.run = "2fb8f8ae6f9e597740edbdd0e686f9715dbd4ad2df2cf9d3737b09d1ef496582e243b8e21414fab8cb89d3d5a8ad30a4d82276551ad6fa548895c6cbc7612cb9";
+  sha512.doc = "2273842b6b0222c98736fe6338eec505e5a75ca45d180c259bb3073ed47a5d0bab65fbb95630076f764db64d978ad8b3dbdb6a12775d2af3ea730c9d1b938bf6";
+  sha512.source = "bd78292392877d0694fc085ab92e64ea47df555103ac745c8a0751ac445d0c74a034bfa9be1b39a3e16c0578da7bb68c7635a359f3caf69a2dd3d03ad21b51fb";
   hasRunfiles = true;
   version = "2.5";
 };
 "catoptions" = {
   stripPrefix = 0;
-  sha512.run = "e89c0a434ec726691bca40b45275e13b2121d048d7b9d35c1594e6b44a957df740d9bae89f8d6f3c477d57f62774dbbc5a8cf6d8b5c3622d81ba82bcc640bd02";
-  sha512.doc = "0bfc8457a7f85dffda964a944d2fdd423943e46d7d043ed01a3726a5a42a47cf96e801c35324c5fbb4949ee452cfc175f231465cfd84b4f30dca28ba203001d9";
+  sha512.run = "1169ec654a56230c615f561649ca1fc22716eaee05e5229d1d2320ff73717b708abb98789d7457093e5ab5f2dc67f3e818e58c7e8f32c8f29014e19548f02de1";
+  sha512.doc = "4c35a3fc5829e3492fad27f2635bb4ae62b17b5d012db40fcdc5929ffe0f3917ec76c12a940d5fc6dad2b8d7d9d12042c7f5c2350467ba0777a23c97372cca5c";
   hasRunfiles = true;
   version = "0.2.7h";
 };
 "cbcoptic" = {
   stripPrefix = 0;
-  sha512.run = "d4d85998e0035d3498580f6bc4a4304c11493a6206ec19ab899b645a818e760fe5bccedabdd000c47c84a5f0ebd1f91dd5e99105a563e5856ed3b65e57d155d2";
-  sha512.doc = "89501567aa9b40ffa0ce1d16e4bae7a61305ea2a832f3e591f336e76c0f743a0232bc4fc953ed6e9eb9fde633132b8a750446d7d86a510131687577fbefd842b";
+  sha512.run = "7d48e324b5c5ff5b0755903973e0b439025e98277269f21cae33709a6c39eb6df7cd8f054b22fb8b1c072cabf9e92d0f1456cb41fbdd5a6e99bc0d63952e6c3c";
+  sha512.doc = "e7e33c5af518e7fc4f8fb15af79a9aefc1ab8cb4401d0eecbd6b418acfb01c2fa790d4d7f55206ec9d6d865aa177b2872f4d742bec2991e7118df4b834341af2";
   hasRunfiles = true;
   version = "0.2";
 };
 "cbfonts" = {
   stripPrefix = 0;
   deps."cbfonts-fd" = tl."cbfonts-fd";
-  sha512.run = "e78dc2d81c28bd20ef703375d0631623f594430c79e79d89390aedb975e2d42ca93fff3eeb5ba7641b05163a423401f0ffedc657f5b76c9732e9fa66963a12cb";
-  sha512.doc = "668467e02d5f7099609c7f5944b07156777f9e84cebc320c0f7dfe9b36903170aee5e7b3b9205d59e5865a3514caf45da238cfcd1e378dae3d76f4822a14cf74";
+  sha512.run = "652472d9251cc9090906627a823fbaef3015ce0a5db5d08a347f6bb496303adb65339ccc2cd55c19df489512ba06c605342ba2871f99175685259415f6d3bc0a";
+  sha512.doc = "5168d8ae6380b6d7521e99037bc2b28c13f135aac9a3cda160c103d3fdd17555e1b6ffd371e8aba968d74cf50ac1d01a7415977f8efbfd1a8841ca4ce730e66e";
   hasRunfiles = true;
 };
 "cbfonts-fd" = {
   stripPrefix = 0;
-  sha512.run = "43b610537bdc7f0e5a5656f20024fda260bf53fab34a789db731d35cead1c2e97e9d90ba26df239d346e2f7a3ca7f915fa81c95334401fa6153d6430ff2d6a9a";
-  sha512.doc = "4c3cb2cadedd15023209ae5002fc95c905b7fc84833884e3114ed99111ce393cc470e729ac984a401f9631bb39fd445fd7422d11a3c0d992010d4a39ed8b8c7c";
-  sha512.source = "d4b4ad9cd84b283b5ee2688af7110ae9259d24179074f0328923c9c8ca460fb63a8b805a6596011b77368986e4ec285d7748a42b5ccb7c39b8cd3d8f5d81211d";
+  sha512.run = "f892af7e63b4376f2d82d886516f6b25d362f8dc627435b4f353a72926f25c3867af1fb42a4083ebd16bddd05ea797d643b94f556cea37495fa0fb7786e33b3e";
+  sha512.doc = "dc2b0570e042ed2e676c55df43b9254a277d1258861cd3c4c45ef65012dc8182c0e374ddf71f3d3ec6a667b5ef99bb449c43ada155367e1ef26a6ca8c8dd058d";
+  sha512.source = "5a66545f0bdb71b951edde9debe8262a2bdd5e644da1fd3ee966cbae883ac62c6f121add0a5e9a39096081b1a810a602a45eddf5f2933c21bced260fa59f6a5e";
   hasRunfiles = true;
   version = "1.2";
 };
 "cc-pl" = {
   stripPrefix = 0;
-  sha512.run = "62f28fdf7a2592b5e757857468ebdf0297258a21a52396873e3a374a711105f4e0450326fa01c427cf03463fc69ffde2cf3ebf811531bdb1b5c9bb6f8057cc94";
-  sha512.doc = "723aa12aaff52c98de2d8db38608a88c1ebd77f29512a2851dac1e9b1d975f0d99401143a7e3e2bbfc7fec1581ff655da115227c51276cb238dad7495e6ff0e2";
+  sha512.run = "768977678d3948fa5f479bba6248ffaed6b176a4b3d0c90d691b02e91108b7567420ec600fac235a7d8351ed00803f760d4432015f518c1c62c93af95b0a8394";
+  sha512.doc = "cb004afd1b835f5d75389f3470e1cf46506e8db46f56f562e5376b5f1a8a9d45d59ec99d7df2d791df0462cbc760aa8a278c6a73a582afa8c4e7d8c73149febf";
   hasRunfiles = true;
   version = "1.02.2";
 };
 "ccaption" = {
   stripPrefix = 0;
-  sha512.run = "cd94324f5e8a44d1690a9f7f03d84ab5496cef9ea3db0d6490211f60e819c0a197d75d3e49cb02e2d284fa7ce4590e603eb172fa921e3b427e02061f507e3347";
-  sha512.doc = "7ff9a5e3b1d7a9a22d33f4aea36e075fdaf58b555f71cb4b1d92ea676b9c87cd7320a710d25976d16427c0c12e76587b3660ec75a341de0a1be13045033a1b7e";
-  sha512.source = "ec393eaa90c5f9ae882c8bafc0539e32a7d8acdf321bfbc490bf3cb30131f96585b0bc15d951a9bcb6cdb4bff5195d495cc760e76106316a0b9c5a06099aaa01";
+  sha512.run = "f002efbd7af71c108e041daaa182a4432d1886a058cbfda2da7fcf6c0f75a217d04bbb8498deed29c7f03a8d22d4d2e24327e6a3b284d38c7b37200431f17918";
+  sha512.doc = "a3d2f92700e3421c37a666093944ae297ed39a35d99d6971978f5707619046603fad06b84aad55f41d3af08725535470ccec6d6bde3ab8f1ce4f0a53038e9ca8";
+  sha512.source = "83a8ab7b7b72c156ea07bf7d19c759d342187440574dc82dc0f5e683abe490c3b408d672464d142922229593a1f8363881a48475da0884920484c6057a40358a";
   hasRunfiles = true;
   version = "3.2c";
 };
 "ccfonts" = {
   stripPrefix = 0;
-  sha512.run = "5d187aaa358360c87c1b5ea9c4345c93c6d13c6874859f2b11d706d9392b91d0ebb3b7941d10e12be5502357a3ab8c8ee1490d6c3c13eb52d2b22256c81cc6ab";
-  sha512.doc = "852f16671971b2171e6ebe8e56b236697f9883381d4fa0f3fe31ad7e7c4b8f429ec64c7dc5a21d2f5697be6744eef055b426179fddbe4e6aafc9b92ebdd6dd3f";
-  sha512.source = "28b64907c4d79bda5b228086051d6200e3e704335d994cdd092a3a9e78449cd3b52cd94bfbf5ec9009dce3f808936ce09bac593d2d67b06a45ae40d71706741e";
+  sha512.run = "0affcca65346d83ddfdd9f2d6a9bd9baf41113b396a99c76c88801b1d509f3e9d6168f0a4659a5cd440bb46fff996d5f3361ba342e11c902d0866f616e0d41c9";
+  sha512.doc = "6a08c3f13c5ece4ebd67ff1463a4c27c1b5b114fa777e916c034a66dca5c8c85bfc138394ae9c2955182f68f34a91ad57eb4834f749e7107b0a311e0eb61848e";
+  sha512.source = "2d560016ccd3e2c6593e5d06b4cbcf1ac238d3bb0b0d9632bff8f69720bc0cd1b20d2f7e3bc33f3204820abba18995467758db492b9f91fe1850f1eae55487b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "ccicons" = {
   stripPrefix = 0;
-  sha512.run = "bfb807e2140e4e0a65c6c43b62cd2c99cf80bb596ec8365685d1a81f7057f423935e2a57e70814d9fb092d8c1b4a7d3f47301e4db31bb51352f5d266572791db";
-  sha512.doc = "0262d79404416a037a13fdf77bd0144527ad0ccb69d5c12487edced63262741e64b0780e3e37cd9a149fd719c414716c347b06428c4bd93f525e76d62e4a6533";
-  sha512.source = "d8be599cc5fa07d33703b3050916d33dc4601716f8af7304dfe7ffab05c179dc45737b252f091c1dfc7c0f264da83ebcbf56ee82fb23634be279a9ae09f36ee2";
+  sha512.run = "45df39a60891940e4ab24c489d7ff76971a7d378156ab4c533eb739fcc8723bc7ff6ef81322ef157b2498e24b5df97e6807796330f5852301e1e88d950f90d40";
+  sha512.doc = "3e988fa5a9c4f3a07f0557d5ef787ff9f6ee2630be5ecbcab1e892086430f39a8f8e23deaeb624c1bc4b3f2f00b708edef4b3ed645c56400c13c0f9351b5d8dc";
+  sha512.source = "c071924713a6b3e3a45a5e83a116c535ac3fed4958d9d395151c6592c854e8e493b51d2409dbdd07f2e53a6d3b51657b6578888f6dc6197584e5cee2e629610b";
   hasRunfiles = true;
   version = "1.6";
 };
 "cclicenses" = {
   stripPrefix = 0;
-  sha512.run = "317531aafd486a08dc1d4fad2be01d4d4d3bee4fd7b5f4220ff1e8fdca5cfc33048125cb7f4ea999b794086238db756bd9e6da69e48dcb34cd497c4c1b97838d";
-  sha512.doc = "2ec7804b8251a4f21652b6d840226fde0e9f6cd51b27e465bfa9261080f8169cd6df2b734a8ec8d2190affb630dcea7abcb3f417926edad39921584f41972562";
-  sha512.source = "0fb104f1d69a072c3b1c31d761e64938de21932e9831dbd88b29fd0a938eddc03b4179bd30ab548e58e09f40d72657160058e0d66d8ba10e5c991f047d417705";
+  sha512.run = "dca388e065610abad24a76f7dc600d9ae659973fbc47f4fc2157958aa2850d9c3bae7811418bf76effaf696386a62584c8a2ff158e98ec7a971bd1dc800424ea";
+  sha512.doc = "eb710fbac41527da39c26d5d27aaa84faf05e380356e9c3bc1a0c0fcb4d2dd5412f304d323ccf13084dfe8d31243698350fbdbefac07fff6cfabceed9f4d842c";
+  sha512.source = "d20b1cce1635b415d7368e49a9a32ee3a61efca8d0807b67c7e92ed59604fda1fd9b9d168ac23d54b90e396d971fd421463eb1ec77009d3e077e474166afed55";
   hasRunfiles = true;
 };
 "cd" = {
   stripPrefix = 0;
-  sha512.run = "b0e8d4912487c57e87859f1e3c0f1b0db08e53dbd56591647d4f681f063519b9ca91a8e0b942fe344f9220e53d97297f032047655582341c150db7924cfcf241";
-  sha512.doc = "5347ed2a8ea9f94b857888c3411aaeb8a82ccb32952900c46fb2df6ade063b339a402f5fe204b0949a8df0960464848a638de8979206bbcdb986a31c4316a50c";
-  sha512.source = "7d6512bca59bee54880effe0a1055ba44a85020b375dcac36892f803f56ebdfc9841f28d25481de0db8eb2743736251780d9e33899dae97beebc7e03688ff2d4";
+  sha512.run = "8b47a219e4d40364e1a4ed4d13245c0c9334508ffca0cff565a8d8856aef32184bdf0a19966027fc4e958a06b4f5a53bfb66188c6fd065a1b3b230cf1da2f484";
+  sha512.doc = "5ab78083715332130aacf3a97f6280f2533e7f9383c38ddf431d3486c6e88589cc69b7cd760088fbd2928c9b349ff583bc275ce8d80590234deeaf1e1a23b4ca";
+  sha512.source = "094b4b41d99fcc81c4c02ec7aeeaa999b3e5ec7dd4984976021a1d75c5bf9c5a3e3f13b0acb939c14f80ec05b3843fda7558aaf7c324315434b69954084c57ed";
   hasRunfiles = true;
   version = "1.4";
 };
 "cd-cover" = {
   stripPrefix = 0;
-  sha512.run = "b0dceca272a0e0b1b096598c3b2b5dfa35f3bdf80c74be5820a9fc2dc7e7887a040120609fb7b3512ebb1d81312bc5c2d43b0fe4ab3500bd34292ee0375671ea";
-  sha512.doc = "06ff6ffed76e4790b98b2b6d103beeff362901ffe2ea809ce6f028d8dc09b53d71434b68e15d158de2e37f34cb7d30c9fdaccb11d16f1d495fd3faef15ed4295";
-  sha512.source = "da062c3184504f2616c5d8fa430cf5ae6e6564b24803cd450115073f48aa6e09dcb550d4d044446d4d79bc4056f4c79a67f43ab2532efeacbde3d38b15686701";
+  sha512.run = "345b001cd40137d9739a97c3c06549c3c7b761f56f61109dd4908c767151515081defd6c432232ec7a9fdeb8e85e95258ded345facdef0cf6bffa82bb5c39fbe";
+  sha512.doc = "f22c8eccbecb35d4c3c01788c0eb8ca793fbaf7b97e2bd54ec79e78ba10c13a4eef46c5eee70f1550cc7c378bb01926e8eecc6d41916df22a6e615aacd2b1e75";
+  sha512.source = "d8ecc73c18376678b2ee97b8bc81aebae7860e40451427e03f382aedbacdbc17a7761e8a78e275470c36927b3461c422bc62462163c6d92c509eb50cfa75598c";
   hasRunfiles = true;
   version = "1.0";
 };
 "cdpbundl" = {
   stripPrefix = 0;
-  sha512.run = "10d779e3f6c2b813344b92f14bdf7f338b0d6813835a4500f6c17884edf246deae7ac8b7255f3b0070656dab69d01158db7a02462db7534dcff11d2eb63c912c";
-  sha512.doc = "147d3776ca85c4a06f4a6fc6e51f18c961ff1d09d58c5d8c33c855c0f698a8011da3d27f26b2d9d816518b371c48243d86440df980a94b47a582f6c5f7ae62f0";
-  sha512.source = "4715d2c1da9fb1792932f09c70506c047bf0e559bde32e709abee247febebd5d66ff6935de06704b99c6a69822120c807a8ef7c20336e0398af7f76d251cd66d";
+  sha512.run = "142dc5657e1482cdf7392ee7df6967557cf09e5b733b12e8c7559863c2edc66a3439b29c7cf16c2461cc1090090117337f63db899bf7bba0cc23d04bb573c633";
+  sha512.doc = "3fbfe5b5a8771bf3a74c6adc7a90e04f6085179c11a6db4ed8ebe644e00e334f447f3d32214d72ac341d18e3c79d3bfcfd788053d2065eeced76ad7c7ce6a9aa";
+  sha512.source = "579575c916a417be5d097d7e766c0cc599856d0b2aa3d4eae5880748c57c7735457aed493d3818974f25f07990b7496b6c5a92ceee39e0116510c420ae69d81f";
   hasRunfiles = true;
   version = "0.36d";
 };
 "cell" = {
   stripPrefix = 0;
-  sha512.run = "b9507f1a6dd13964381aa2b77054059ab6fdf48834edd7f358c773271bfbd66aeee824c8b6ff2d775fca40c67639f23ea015a110421f4fcba021fd03f187066f";
-  sha512.doc = "6aedf30a501b74c7dc9a520d371622536feca8c8f4aacc2aaa45488456937b5498da7b8c301c3897a7032ab2f54213e632cc67db8009bce85848aa3c3b9d9411";
+  sha512.run = "917431174b203fd839d3cf81ed965cc654d66597246ef7a4f9f3c3a945397b546eef1e7bfc4f9fb52889e149ee2fd195dd559c317472831e66e0fc3253a6c22b";
+  sha512.doc = "3cbf1ffa3902f49c155f2ee6b13e24b9abcbdf50da4668042dbc720ef20f483e230fd2ffdc8448007df7ced1ed34077811199cda4fbb35c104dce73084215bf4";
   hasRunfiles = true;
 };
 "cellprops" = {
   stripPrefix = 0;
-  sha512.run = "77b58c78d3d3a5e4cb81245ebd24eb217e14f6652f3f162d3e02189e57aba0911c751c2af9048a642b75589458b59593b77fb030d7811930fb3fcdc315da88b9";
-  sha512.doc = "34c1ea98295d9cb7448d331418a9ae9d542b44285e70c21e590d118a6e4a813a52bde29dc60c3cdf6c5fad677c18678a7207a9e49f0c41de8abfcd5d3d338279";
-  sha512.source = "39a183cb50f4b164045da20a7de4d12a7464237a021cfbb9d772c7cc7779985c7c6dc017ca0165e28011e9430465ca1175c39ceb9bb380c785879f682143c6a2";
+  sha512.run = "0dd543116fdf89a6d83c5e7a4a96b6dd627f156b13bc56db5905bdb32f2e880d9292913d6e3423e1eb248c0340fa2e9cfb73d0c7795fb4bd363f90c9d150ebc9";
+  sha512.doc = "3f44b803ca78fc08732ca9971da4bfc7755cc73e0b8cae8d88ab3b4e4906271bffe9762b75b2281776f36f3813f3cf0d58c0b38bf2fbb14b25156e00c711e14b";
+  sha512.source = "aa342fe74a9e73f880db8aebcd3cccde038ce56b279d359c82d5f00bcd92bc5bde2a3bcaffed3768f3835c524c5706e695a3a46a938f4d92d352b4176606e31e";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "cellspace" = {
   stripPrefix = 0;
-  sha512.run = "e337020908bbf0f880cb1293730c8dbb2e85fd044d112cd970f623e30d2ceea89763f8ebf904f1c24c256e719a244570e86e193031f65d59c8d8d1ad4f335e7b";
-  sha512.doc = "24b439cac51e0ab77e87172885861adf06db2eed3892fafd7e60ed2ceef7f9c6945ff5dddac94864cda2df00ae3ccc49a009ce61928a3098e6e76138ae4e6e31";
+  sha512.run = "d2de1e55913a434eb5b0ab19f615ee325dca750eaa8d61222045220153d521eb8149bf025aa03b1e6a7c625cd994b8bdaea241b227b28d1622c1a75ec72d76fd";
+  sha512.doc = "a1cdfb273e8c32374b03dfcd1d2ccbf12a19918fdeada025cf948fefa624decda07f8c3384a4dd859efdaa9048adcf0c513f59f28e48f31062819c1f9acdcd0d";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8.1";
 };
 "celtic" = {
   stripPrefix = 0;
-  sha512.run = "ada569cc630b386f279fcd67861af564c34d8b2be4517c585adbb39392c0f84ec689e3e30574539d9d3de9a382116dc8e37b3259894128a7b3f26bcfa77f1bf2";
-  sha512.doc = "85b6a294fef592407f2aeb37bed2c8d6dc246e7e438b066d71ffc91f7c2c05772f1edbd4408e23683eeda3a0f4c8dff196fda4e1cad5023ace0c7c26ad23fb45";
-  sha512.source = "76f06805d6012915a22611076056ccba0eb9a88ec03c41ff773e04dcf538a79e9cbcb9d9a87d5550679d112abbd6f22e18094e428eaa37df637104db97eb943c";
+  sha512.run = "df78495c7a42a60bf40be46bf14c30d97dcd7c7d1b283f487026f7c3b6a680c750d09527cdd578f69234500eca05764792ddc90ae4dc8005126510ae33fcab4a";
+  sha512.doc = "ed29c2882619bc7f076578c91cfb7e1e83af9e6960ee58af78486c1af6aeeb2b2b6eabdf916fa30ab865991c677955c0fd15a43f128aecb635ee30b3ba514bb3";
+  sha512.source = "d60ef14ae649288b8b9484844fc9fbf15ce564209c04249b47c3cb0beb96c209c0401cf3f9200ca3be27ba0417c60a2a7a9780341ea311e1bc836753a2df7882";
   hasRunfiles = true;
   version = "1.1";
 };
 "censor" = {
   stripPrefix = 0;
-  sha512.run = "43a6912ffcccfb11bdea85abf5d03b56c61b1c23b4da94bca0babf70a68b22f55c39462b4c04044f0272edb280cb73aea4bc0df9fae04c192d6acec925531e61";
-  sha512.doc = "4b083396a2baefd7178be1bc912cbbdc5b5044434f487539cd98d9ca23ea766f16229e2964b7d5691a2657e17e86495e9342a9e5da954f4d0fc9a3d56fca1757";
+  sha512.run = "03b94dea9f5f69f0fde8dbd198e73a1ccc1e7b118b26c8272b217bfe76b7cec7eb0c8706dfbca7dd2a9438ea7337482cb55d631d3cabfaff3dab19d1cc565780";
+  sha512.doc = "131b995300b302f482359820bb9dab62188be11f46470e2c9d25753a22d6b81def5e272cdca4f2057adbacb3bb9aa777e758ebfe8a95205db7de36b378369bdb";
   hasRunfiles = true;
   version = "3.22";
 };
+"centeredline" = {
+  stripPrefix = 0;
+  sha512.run = "7b1359bd93853830d85fd84c9132d997c1384211c504999f4bc819cd6fe85effbe9f0fba64cc502419484cea3cacedf02beae22052bd10a7a7dbad3f97583731";
+  sha512.doc = "237af456a51f539d02d96bc1c2bfd1fde1328cb270985b50a0ee9760f4b6f3675610ca088af135a86f07c02a0cd84c651118726915a0a01546468030acd596f3";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "cesenaexam" = {
   stripPrefix = 0;
-  sha512.run = "8d8f972240f2278ee8f2b22edf133342107c08538d079511d579258a8efb8364a00c3a0e7484e303a5e9a2430ddcb309fd553be8fe8dd6c2a183c3f9a81de82f";
-  sha512.doc = "67992c61ecaad9e5e26d2854d7f7062ee887070bad9bc2488b760a7a4866c3a8d0766e2f6993e04a62b4c9fb12772ca31bc4bf800f669ee1eb7135289d0fbe42";
-  sha512.source = "b61e2c52560310a8c9c3833ba0b4933184489155dd363251281e4931aa298d75a4abdd5345aee222374e8f5291909e66d61f7f540638cab1a98dceea900ca106";
+  sha512.run = "780962e24e1dc4c6c385c18a6c95b8864b1930b2bc684d9a556a1d6579a2a8d06ec0df3fdb085c3ae8115dc72d06e376ed8ea6f6d801af07dfcbf133c9cb9c67";
+  sha512.doc = "72d53ea8ffc1827f3965c6f0728aa5f2cae36f645ab10d78ff8c16a3537f79c6f53fd34f388f2991e5cd2261b366e7746a140285df95d17475adde9cee3fcaed";
+  sha512.source = "e1668fb9f07baea5ccb79e2f61d672f838a83c8d5d01b3da2b3080473865b9bc8acb0165dad58aa46d1ca296e2ef8dc545db3e856d95f6749310a4c90591b4e6";
   hasRunfiles = true;
   version = "0.2";
 };
 "cfr-initials" = {
   stripPrefix = 0;
-  sha512.run = "38e67dacdfae1cca9cdc4b83ac4cda7f2e52cf2fc4c6cc6a440688f02c094b080f44dfca5f5803280d9b4c9f2bb2d872b6a9a43cc1dbee3f2c2b39d9195fb63b";
-  sha512.doc = "d5385dfeb1fdec3f4b2794ef08ddafcab9e2271aeea787e944e08fc4ee4ca6da47282a1850f09e56ba2b870e8d1833c1c2bdf9164fabced83bcb5506f67edc83";
+  sha512.run = "d67830168afffe72ef37784db45176528065210d4956b4aef2a166d41c886f5b3874e0878da9c56302412cf5939291451e1e20ba3e676429c598342982b64083";
+  sha512.doc = "0d628f9134254a92c7b88d0744b588bb197c6850d7d5e44a90e91c1ed128625c7add731916b727c2d3b532ade017daaf17f45e446e4bc6f0e447bb5fdb770066";
   hasRunfiles = true;
   version = "1.01";
 };
 "cfr-lm" = {
   stripPrefix = 0;
-  sha512.run = "959c0f99eed1914f2e04a2433b7fa4e2a7bedf6dad1bd5d16dd7661e3bfaee8642cf95d9aef7077e37c1e57ef2841137c768e8c31c392ed10a9540dabe87cfbd";
-  sha512.doc = "354bc54474d53172a0fc7dd48fbd000067dabaf21a4cb8da37c03b69901c3d28ba6006061702e058be38dccc6b9941ac5981ac8c79df27e9449a6946482cc859";
-  sha512.source = "2f8e361c4cbe991aaee880ea1f1169c1bda00882282d696337192212cf9efe0cc3c3c131ffe96630787806eeb9430cc8f8d552aa372f8ab12d6bcc8a625ee5f3";
+  sha512.run = "02e30f6d6d19bede2121ee0a8db20c3d96c26ef000ffeab08e800bb1da994dfa2cb356a6d67c815e8579566cf97b33b956c79940de61725524c4a239f7c1a251";
+  sha512.doc = "32488ecec8a781f5548419a782775725e6b32276bab5e1d7f660b99468d47e71087fb35b8f4534f874b1dcf236d04eae9d7920fcf0bb46e139a4e7fedc415ef1";
+  sha512.source = "643e7f1b48e3947506e97e1596972b686fab538511c2a0749ad936285c1e097ca8677730ea0748d1def6d6318030e7bb289e55d0c8f0ae9fc01fb308e974c24d";
   hasRunfiles = true;
   version = "1.5";
 };
 "changebar" = {
   stripPrefix = 0;
-  sha512.run = "683bace5dd64bc747459274f22f995d34d1bb836a493ae39542d688f10222e258ae8c0b293596cfc3f9aba0f311291bd24e2858dac1bf6ad6dff1cb9d47f3078";
-  sha512.doc = "e3d83058bb12b1fc2f6ce3c454f9d2886dd57778b71e249ab300130c41092a486e23da7dcade992ec48768abfcb113f67261f8e17f450d47d827c5ec45855d74";
-  sha512.source = "eda920eab1badabcdf89ff3d176839ae873b137e5fd34e585d716dd1cba7b88e09634d9f49e4018bfffe72710fd030967529493d396c236aacb56ab9cac14766";
+  sha512.run = "fa75f75aead49adb949e0bb5b5c116387e14b5fcf804502e12b7214a2638ec2032699125adc6ba8c528445c9f5c552ec744007530d1e5a69159f1041d2b7bceb";
+  sha512.doc = "f25c8bd3cb493bfe8446d98f3c599ec002f818daecac76ec4f08d19bfd15581bf8bf8970fd145886a42c51cd40a53df7bfc2e10641df2f4c2cdcd8aa02bf6c30";
+  sha512.source = "a7e2519d4dfd4b0b12a9cd8ea59ce32a37e4d0cb6e637b659e93ea5b296bed21298f8dfa13a13798eb87ce0ea0719546f721875a4115c62cf0ea6110d9ac8f76";
   hasRunfiles = true;
   version = "3.6c";
 };
 "changelayout" = {
   stripPrefix = 0;
-  sha512.run = "610e88430adafe87435980d6b1c6676570a5970633aa30ca42b112f743dcbabd2237e5bb6b4208cf1146171dc3a527e66e3fb628615e684052946edc05dcb243";
-  sha512.doc = "9b43f6137f06e5762186ab9fe78b2d45f1dfdfee413ccafe1f5468b69516a8238218f24fe4f0cfa18c93dfb7adcde706d84ef4ecb48f7af02b1af459dc8c7cae";
+  sha512.run = "c6852a40bc8415656b8137cfb90a79cff8f8e9938979eba4e02dadb3c5d1ffef60966f9e5779696402f2b9344026ebc1e22ddeb9dba856d779317ca801f26e7e";
+  sha512.doc = "bb81e02317d12b4dae8b0886ac3222849a457563ee8c43e09495596c56482202bb702352a8551f5d760ee41a82dde6b3f3c2bf57b4671831a25805d44e8705de";
   hasRunfiles = true;
   version = "1.0";
 };
 "changelog" = {
   stripPrefix = 0;
-  sha512.run = "5d16577acd57ee76d43ed2b739c6df25dd71921f65d4f04d4f177efddb327237442a9bf0e46c4f3236c93e894b81809f0f0c934e8c6cf4e9a0f2dbbbd5df1754";
-  sha512.doc = "bba05b22a38cf783946dbe69257c675e9b636219299e4431f0d44f7abc5af28dddfd08b8d84f6d3522c1316ef41f25b6139fb80201b2e57706fd24d886edef98";
+  sha512.run = "ba47ffdfdbc0c43a25ac4ff4379463d9a4d63edd0e2b477650731609685aa1ceaab71216f092ab7bb94e9d2b090601f0a2968f0fade479697f1d4b6b13d80aa9";
+  sha512.doc = "540814f3a757f145087f6d625cef48257303ebb0560e07c49102e086f747678032e4f2a8208060997e8ecbd54c0780483722675c6edd9913d020f70e2bc01396";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "2.1.0";
 };
 "changepage" = {
   stripPrefix = 0;
-  sha512.run = "ddf6c6973809fa47a49d93afb1dcf68eece4f051fe77c2330a25f3113a48d2abd5016e2d36a4919dcc2150660db155ae1c6d106354a901eb45dcfdb823afd545";
-  sha512.doc = "28f43213a5120345e7f7287092bd5e48ede32e8d088ed7fe9c590a07ed13211599678cadb26533df9afc234c0aea8e99cb724c7d4e4449ee84ec552b4a84f715";
-  sha512.source = "798b76e1f020080a965f0f7c4fc04beab86218aee8dcc590d20b9d1657e641fc4923e6aa15788440e26d11b71e11c24ea857f21ec0c1b9cd9f50a46c7c6d0ed5";
+  sha512.run = "0ef1d3370affd4ffc2ef77031a8713b5c663263802d67142b10fa7fc025569b3914dbbaa5e71e2c643718940a0cb89194d79ec83a83b93fcf5d57e0bfbbdbb46";
+  sha512.doc = "e3894d3a475f132e2242a6402899e8b9b6045681ce1fdb05fc5b0570e4d6b8b6980c2b5f5953602690250826db0e7dc9bab2f235d39fa5bda0e1161fd781478f";
+  sha512.source = "45ba09248231ad1bf14dfa553b11172e610ae8f46948451437ce3a88521f84791ae149a83c1ff104dd0f00ea6a1a029e816ab7dbe1e38b9eb97902c4a9b9b312";
   hasRunfiles = true;
   version = "1.0c";
 };
 "changes" = {
   stripPrefix = 0;
-  sha512.run = "b4106f94dfa9dc9774a675a93f59193281bc3f1539de20abb62b3286e91de562d36a4048afd001de9b0dca1f7987183800c4923f643e6679d4a4955e5e1b1743";
-  sha512.doc = "9805f3d8c47e2bad9fc378bb1c958b5e57a6e4a2bde5a60744f3feda1c18d156f915c89ea023948fe3ff31b267712558bf92d9ea815a27dac0dafe282cd996d8";
-  sha512.source = "30feef965d9ffc45acec7adf730ab3f6d0d92395295d07350e1cd1217ac694c5afa3b0d17a0ad40e11dd8efe0b56fcc9e31bca696e462f8edee6b69eaa91c597";
+  sha512.run = "8e5cebc3a86ca8152c36c6e0947a05e0033f817c7c49581d607ee6b4c6d18535eff31762bac071f679fabccc23e3c0fabe8eb142a7a8fb7755110a495a5503c3";
+  sha512.doc = "d25b8fc5fbe8b88a6c2c7dffd9180e6c40ccf659ea8c2bc6e6fe7bebfc695aa61a5d18919374894dde82c49d7dffce26c07b552ddb73d89b590336c817ff0a7f";
+  sha512.source = "934f9e2eca8541fc139cd90e9dec08f37473aac5ff8e465619ac37ed41bb27a59971a5cbb32829dd555da4db77e01f9d658312c2344b18ee5ae462919ba78d1f";
   hasRunfiles = true;
-  version = "3.1.2";
+  version = "3.1.3";
 };
 "chappg" = {
   stripPrefix = 0;
-  sha512.run = "44d1edf10347760f9abdaf829b766799acb5c795cc10aeb814bcc2099038245ed16a88821268d1e6897eeb0ef5e9247c46d2c8375ead6c91d3971984f6515f61";
-  sha512.doc = "be3706c87b0dc7eed95e0458d008e6cc8db2c61bb39225ffc1a949273003d469e7b4b750574eda2a3e2432089b704d33bdaf3d06a7d189ced600a1cae07b28fe";
-  sha512.source = "de19f94cf698b44d6cacf463da3d7f7682216145acc9b2c40bad2e1379f6a029f1205ec4bf3f6511848b5507d342741d8a164bae7e8e0b105d4a0cdcb5a88ad8";
+  sha512.run = "8286a7b7664f7634bc5dd16ae1888cc4b70e2880c8749fe2e894d209384da7a8513b2daa318a4154f9b443f89b7eb2e3c6d620b81e1bbfa1ed64c243ad57e47d";
+  sha512.doc = "c0d42e7a9cbae3fc7386e9734492cd3f879ecf69551d17483c4f4516c2ea09d0b9b76914decb987f850af362e54c638af190de6d0d6414d09c49cf48c0635f59";
+  sha512.source = "371b6630fc12563694db35e8e086f7659e60f49a6b881281bd3bf2c081c6ccc2af74b630b6a53ac9d8b447635f2700f3d15643a02f7d873b5451c9b43a331b5d";
   hasRunfiles = true;
   version = "2.1b";
 };
 "chapterfolder" = {
   stripPrefix = 0;
-  sha512.run = "80af283bcbc0fb84d899554777b56af3c529630d8a3ccea3df873acc8f28428b8264bd61c47fda119ccbfddd942168a4c9b508f3ac2936d69bdda4432fe7ed74";
-  sha512.doc = "c66e991cd5eab1b76ee7f84ac28ff95d2475b6c5969f8dab42057d9dad71d10dd5104d842011ff24edbd2ccf925d0e650c7a26ddea12ee2831648fce8921574d";
-  sha512.source = "ebc7e66b017475a3b6d0799c816debcab6ba82c517bd839b80c6401e395d938c3dacb112b6d2a2305aeca79e2f5e7248056f4433e7e040defbfd753682113bba";
+  sha512.run = "b5f68c160249e9cd94efc4c664a18c04e627d416b304697859144d6bbc5ef787c0f8721d19cd6aab6c60864dedc65e84b3ea9114b7c823a8131b4bfdfad0c2b8";
+  sha512.doc = "43a28dd7182e02ebe0541c7b236046a6c23d55c73e36aa1a0e85954c5efd917667e1916ed0bb7000cbc5285230d162d5e844726282f0bb93ff85dfbde5fe8c57";
+  sha512.source = "179e4fd7966f1bc12fa89fa36a5e292f0d9937bd5ae74dbc9ef5846b0d55fdfd53e998fdb9ea40311dd34c7a99646d2dfb309fc942c6cfa3ada312297975f1e9";
   hasRunfiles = true;
   version = "2.0.1";
 };
 "charter" = {
   stripPrefix = 0;
-  sha512.run = "b637c4b6a0ac3214974ec6139405eb389469d9f791f433b2ff12b1b8b973938c8f9894972ffed65eda37fa8f0180b2f35041f3e80dd4f636368f6be2e01797bc";
-  sha512.doc = "fccb8cedcb662fefa46583926693556960801b53a3761e0d89579765f4ec97cb2c51c4d1cd5fdad3a332628d00c52bd4f4e1dd2155acd0fa28176959b99ca4ae";
+  sha512.run = "706efb4e3daf7c304f5047b99d1f68051aedafc110cdd51b2e3cc520ebe628a87c41579cf476978e70aa0ae920e7a3aca1082013b41be8902174975e164a8f9b";
+  sha512.doc = "846ccf6ea679e3fc70192e340ce79982cd916d1383579a8549dba7125de645e4fcd4c276800bd5815fcb67d7227081a66b51f42dabebe8cf112585ce9685fb8e";
   hasRunfiles = true;
 };
 "chbibref" = {
   stripPrefix = 0;
-  sha512.run = "de885f3e253b3bef43aa68b6e391f437dd6ba0daa5f3119e542368a49f38e42b33a88c9b331cad4b98117814fcc87efdac8c8b3176c4feb675e291d9837f8239";
-  sha512.doc = "40fe01905e69ca135d64fdf5e61f6b69e3ffc86e389ee83aa0357f7deb0268c18cc155ce34161036be980e10c00ed5506f69210cc634abf7690cf72ae4d95e8d";
+  sha512.run = "c87fc723f7d78aaf6f47f0eb34760d20c22a46983e802f1383ca4d952b354e199fe17dcb0e8b42e66522826f71f1031c59457ad4c5f5751c6ffeba66adeb4c30";
+  sha512.doc = "58c43dbb1274e99ab60ae8c2911dff6d73099c02f3c6b4b97eeccaa336f56e677ad3a1897a4fd782cf97e59b9938c83f13c0741697630d2dcaa4a7daa0b852e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "39950866cbe1e27a9b38801240c3061a607b5aa00f2b79dd4c3d6fd1cbb17c03c7a88870741873c13b36bb6f45549debcb501379a797428ba1712605d1f01b55";
-  sha512.doc = "7cfaae5cd40f6fa83801292c9a666793ab1a1bef35d5460cbca216eea7f6d074c6466e5cdf5bf5e1de6388fc27d7c5260d327e30c91014675bf3a67dca3a5792";
-  sha512.source = "02fc1832ff6298a10aad49a69a2a3b6cde20808f6ee380a224cbc1382c592bc1f0a1afe8a246de9174634b52db9a283ef8108305447ed205cf4a3eb21adcadb5";
+  sha512.run = "5d50e5bc579821cc9296209983af68f5c12f6aaea90dffe386efb85d72683c10dd518fc2abefd51687402125bdd4f108ea6325c546ed6b2216cff130abdd1a51";
+  sha512.doc = "0c798c7057e6e9d8b3aabaf745b374823f0a186e95a01d6208ec22df8f733f02a86c01b35bf4dfab88837574fc63f159ffe177f6c155e52f85bc0d062966acd3";
+  sha512.source = "66f00ad307295e106dbc45827a78041329bc8f4eb7fb3eff6b2c34ea6614b84496e4cec43e81213304022121268cef3e844f2f55e95c850f56ad261068448127";
   hasRunfiles = true;
   version = "0.8";
 };
 "checkcites" = {
-  sha512.run = "b7c2ed45a32ebf117546ab44565e30eca0d3496f89df6deb50b1cd83ee43052b266fc07dc1638c365d5599d678f10a067b222c04d4a2075c2d8d1a02b57aa5c1";
-  sha512.doc = "88c46aa667f8c385a4d668d0be68e40d21f6df64f33a9ae9d6c0e8fb8e653bb004c270ba2c6ac7fdc7c3b555947353f09501ee5b48fb8ecd63ec7ccdc369a602";
+  sha512.run = "65af6aa0b8a8f0d6f4e3a1dbaeabea845bdec985beffe8589bef06784fde37a02baf41c3ea65055b3ff2b21dd003b51749b20a84ef0e1d0337bdb8ea416a0751";
+  sha512.doc = "35b79a866235727c65053f0fa2dae53372230395a61e8ed4b530b02c4760d9cb3a89f81e4ac905ed4966ed4137c8047dd80655f6d94ebb260bfd96e441e45781";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.4";
+};
+"checkend" = {
+  stripPrefix = 0;
+  sha512.run = "40af84a5510dc3038c536c4b0aae0176651f01953650c1e6ec8b5d76459e7000246205d55f2b13ef566930649daf1eafc38e6d2d822787d1fa462e99837b6ba7";
+  sha512.doc = "0527c3c080f502baaaaa14a398ecbdfa714cec872f6cf8391ef8a766aa24b497a0fc00012433409904ea11d7fec425dd7c7116a52e8d983bddb2633248d2b090";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "checklistings" = {
-  sha512.run = "20613c10a0b1a5f825ba975df30efa796dd662c90b330ca233c0e7d83b50127cd5907400860f714d395595ec5e6054ff4a5691ebb8a85d51172358f610d50287";
-  sha512.doc = "73b53c42d47564df296d3c289acf4bc790729216a61a9dc6630cfac87c4529b63a3e32e40b62204546968cf386c481081c0633b07a09851f01114a81b25d7f80";
-  sha512.source = "3433697eabc54ca3253976575c12a005677cf5ef1617d52e0b136b16ecf63a543dd3712155671fa3465c823bb11cfe5bf5f06730f2cf79382e23cf627f3ffc35";
+  sha512.run = "599ed476321a825bea61fbdd468670cadcdb11249a4a9324fc88339a9445ceeced3680459dc2d27c2e6263cd207ffc0ce3b60b325d31072922bf4644478cf544";
+  sha512.doc = "3f8d6eb67f305fa5e03bb625a4034ffe616a6c0223774688463884df99c337c1e5bdd76bbfa3b9428ec4812ec72388979c4252ba7407ae8b79e3de7cfacbeb01";
+  sha512.source = "a7435841305ce368f1bedac9cb531d8f0fce3fac27484547821a2e82998e977968e578601382f4cddf6c089b42e8e175c56d2e466faa5c4c0e5b49edaf6baf1d";
   hasRunfiles = true;
   version = "1.0";
 };
 "chem-journal" = {
   stripPrefix = 0;
-  sha512.run = "aa6cd185aafbc10935ad8f430e21e59756ddd2c664efe4cce40c2bfa6b8838a5febafbd613215609ce1e6fbedc7d1cddd545a570dc9b0684e0d77ad1b8dfbfdd";
+  sha512.run = "afe7c82f6e139c1321759ef9125f262d504bf602c1c5e16a11d41cc00ea47dac3f2befd602a863a12c46beaac4c50fe6fcdb145c5c6582c9d44c2740aa1b7743";
   hasRunfiles = true;
 };
 "chemarrow" = {
   stripPrefix = 0;
-  sha512.run = "f35fe7f7b18cda788e33a3b4d8f4c9034fb951f11bb140a013b4726e2322b1db74233d97f2af154e99ccea21e1d25bbfe6d7553556e6315842d6ccd5d179286e";
-  sha512.doc = "794515c982b43c471382c97010f3f17a5b2d80f008783ec2d94051e4fcb4a37284d7b3d19f61b24c267f679a31c3b6c7463304489b9f8a606155a90e287be832";
-  sha512.source = "31241cc5ef5ba486bf5b9ee663df7747d12772c8a8f05128d2ae19d140bbf1cc7de7f56cb31d39a2e04a2a4cd6522a6b93781d872de57032dabd5f71b2ecd502";
+  sha512.run = "4a95a6b81bd649764dea052984eb21c7f9e89c612ff96d23907eefce29e2d33fe92bd7944d94a6b108213d1820b3340feab35e3646f727288cb1df9b78302990";
+  sha512.doc = "882e6c6fbeb5223fc1d2404e8b9ef9bce2c3b2ed1279d2bdc45616476a856c63fe07cdeb42e27f3bc459199f3537fc620ef08c00f4eea83df77502463fc30ca6";
+  sha512.source = "19903052aaa97902f721892bf4a9df8d685db46ffddb4cdeb4df280c24a72d2166bc13408a32d5c760272aee45ad5516b899c0024ff3f077fec6825f94e36736";
   hasRunfiles = true;
   version = "0.9";
 };
 "chembst" = {
   stripPrefix = 0;
-  sha512.run = "93aa25688e7647cf1a0172ade332bf3ae99b6b994bcd1e258abe973829818c08f3db860e7dcb7be07f8a5a30589135d35d46dd77e3f2a4b73bc85ef15c98f581";
-  sha512.doc = "c89f50f9acb10746928c11c01f77c30f8c41ad6ad0d079a58d0456a297a73dc11a9bc69d9cf299d770e775628dea70b677c8583d68e2ad2289057071db417dcc";
-  sha512.source = "27c1203413fb8d0d86483ec5a6c779a1e207a4ad66e07aab39276f40bcc33915f72a7dc29ce887912c6a48af6262b450ac90e7ace98373b79fd0265f8de0fdef";
+  sha512.run = "f6bc14345c841db93207745de1d6ce189e08a30d17110d8efe04af0c5aa98cf7e3a1208e1969afeca0c69f747fb5db39437645e2437f9596ba5a70610747b6d4";
+  sha512.doc = "3263dbeee44d46b6661e2e755ba10e22475432d03de6b3286d1191acf2fc8df1541d9a9684d5e00143dbebf65bee468e9244ffe73d7ff43889153925b6edb379";
+  sha512.source = "c0c6658210450aa13a17e04eaee082f4d08b71a50a1552b571a49557ce8422d709da325c8bc91e742eeae04de388a777134a4d626d72409da3662c2d152cfc12";
   hasRunfiles = true;
   version = "0.2.5";
 };
 "chemcompounds" = {
   stripPrefix = 0;
-  sha512.run = "73d239ff027a51e5fc65263f8244fdbbbc859ad0562303657b4441faba8701cba993e5f5b94d609a6e06e4d6723ff81bd41ac33413014c2fbb4d24a932540817";
-  sha512.doc = "5b8699f6881605e26e68ab85841b3a32072fcf5decf5437c4e4fc650d79d9fcf960f337950aed5ba2b68cb53cc10785374488190fe3d9129d7d3baa313947583";
-  sha512.source = "807ea343b4b9dc910167c0445a70ff16caed25e31eeacf6f019292d981661096733b79a3a6abcc208ef6777c8967f9d468ebf11db557e5f92dc58765af591c4a";
+  sha512.run = "d8cafe15f21045522812279337f9680a975a3f9b9930231b7992435bf694f8f180b061623bdf5fbe7dc9cfdf7d6342e0d6c2dae1cbe0d8e855699064a97a95fd";
+  sha512.doc = "26d9568f73f6b0c557cc55b48a99826b70d87724f7f5776f7c58691e8374b3b6ed400206b338bb0397ae5e0c1df5d1bdbb638e80d0dbfea228138b96863587ad";
+  sha512.source = "d1a0c821c6624efcb31ca21ab658a64919dd6eca51add909bea4467dbf47b20dfb60f10ee979a7525a04bae0f7440ddfae2c244da25444ccf0486708b4d1a1a6";
   hasRunfiles = true;
 };
 "chemcono" = {
   stripPrefix = 0;
-  sha512.run = "6f38750d0c3bd5459e38f6d5f2467abb294b6df881c278500f62dc53c4235b8fa8420b814cc5b008cf711796453733f312fd8fc7867fb2f422def16ef8481095";
-  sha512.doc = "ab7800a89efc97367068486793bef9b50bce827b962854bdc2a684c975821cd7000055de3b49ce807db8e993ef7b53bf6d54c52455a3961ff971b11bc9c18b11";
+  sha512.run = "29b6e78d47cdcb21c634540ed6a935cd5c6eea5fb6a28ee85cfe681ff00c8bd24d7175ee5adbbeab03e11db2f56a38d3359235ed44771976917f35c673fd21c5";
+  sha512.doc = "9936d1f0ce1e6ab9498aec9d68c176ddd803de3ed1e5a698ca7b548203cac66492ce319af3e5951144ad11878065c8b349f57668498d245413d7db62d1b6a8ae";
   hasRunfiles = true;
   version = "1.3";
 };
 "chemexec" = {
   stripPrefix = 0;
-  sha512.run = "b5b08c513e9d4295b08bb6a008eb21b3a79ec89467c00d265f44f142d40caf56a48b421a64580497308c3a3ad2a36334f148129930b429509e9506645c5dd28a";
-  sha512.doc = "5eff13e4cfdfd9e0883de0a721da04b3b44648fd4db8e86b4ded3958299ce3c887a9b87fa78bda5c292288e0400125ee406134442fc2f119c048224f65db3861";
+  sha512.run = "62f374a57c799873aa4d1db52c56fcaf2f15dd813e3bd9295044499defa29a88567034e39b20af1e8a7e4208dcc35aa422c0ea8e1e0925fb1ae3e02a1a8cb482";
+  sha512.doc = "83b622fe694111fefb9c7863d5322f7a717778727c99db3fe5eedec0b6575d4fe50e6b5076413cbbf36a222ee7765bbb847c44783d6ce45cb07f55bab16955da";
   hasRunfiles = true;
   version = "1.0";
 };
 "chemfig" = {
   stripPrefix = 0;
-  sha512.run = "952b7fc8687f394f92e32315893f90dfc4a017f5e96cbfb49081ce4a33c100bd5f88898300ca9b58c237adbf442bdc9dc524fc593fa0e3ad1bb930c7ae2c588f";
-  sha512.doc = "7c0036cc69dbc819060b276c3922a0efe2a7f36949257e9d981871273982ad921077035d489ca1ccc045976623855df8e69e44dbb080a7eb6ac01a7c47d95e6f";
+  sha512.run = "bf8b9f313bdc239eac7c11c8b887755fc5106c389b3d62f013c764a8392298f4e0074796ec128edaa0d4126b52b055b3787454885dd2cd214e2603b7896b28dd";
+  sha512.doc = "61027d844de25043317e4eba23fd3003296fd0fad7ea9495f6b809c0a8b5cc055deb0798259bc6de09ed2a1e462b8aa9c226d5482c9642e87ae6c0de3787db47";
   hasRunfiles = true;
-  version = "1.34";
+  version = "1.41";
 };
 "chemformula" = {
   stripPrefix = 0;
-  sha512.run = "fcd15ebaba462a846c8492ea8f1a96abb83fbf7b36bb4546b918acfd4522d576b7ee4690a19fe0f68a45aef5fd811ab7cdb40aefec9b5b0fb60df5a037ef7c40";
-  sha512.doc = "0973cce31941659488426a9f66f50dec07fe46f0abb347268efec6c72351afcd50601d6b339fc3bb2c0c7c697e2e4ad4ef44351bc6576cfc642d76fe3a6a8bf2";
+  sha512.run = "4ab3d7f4b86899a2088ef210b4ec03f6a511d17140c0b0ccb8fbe61057107e018415c5ed591096e27eec701775ded1d2e3c6cf90e76a25ba58a47a6cf79e5ab5";
+  sha512.doc = "1b2edd7ba989074cc19eb5789a5f87baab32d7ef0ec96991e76c8c864293dad38bee3ea2f1def3b7fcafec01afbe4de4b3e34aceb8ac5e4140058245cd02e2e1";
   hasRunfiles = true;
-  version = "4.15e";
+  version = "4.15h";
 };
 "chemgreek" = {
   stripPrefix = 0;
-  sha512.run = "10e0122f032c852b5e4ac1b8ab3c8ab5da9d9af9ed27501d387ca309dc6443a392f970f98a9d39af0d310b4bce18b908b7fc8f9dd7f23d40a22b500e3bb5a04e";
-  sha512.doc = "707aaac95e734cfddad8ab12c0c564e6f1ee4816787e909250884331b60b0b1464e435ffe15c5ca711a03b97e51d96e253442cdc93630275ab80e23936cde110";
+  sha512.run = "5ad82bd7e1973ec3cc79277ab653e926bece0b9e8feffffbb798545ab1fe667c15a6ca08de7c6115c1436d552ec4ded0a9e489315f3e9325ea9dc0f82972a874";
+  sha512.doc = "015c8e3357c7d53745516a4c6d6282bde49c9462d516e9bebe9316769684c310195c23fee9e7e24a14d8084bf0d5875b158b60488b7fbdd03a83b590abb1cf45";
   hasRunfiles = true;
   version = "1.1";
 };
 "chemmacros" = {
   stripPrefix = 0;
-  sha512.run = "e9ec0fae61e67c077e88cfe77a42db93c65f7ba522c0e2400fb2005eed84e3fa16dd0c1194119629564bb1598fb605ff23e1ac17557af8c3f60419696545995f";
-  sha512.doc = "9ee87391f7da9f9142130f30cfafb09fe672ea2c3c4c2df061a83a84fcab442232eb467172045ad66c2147f4e8f6971bf47c5e71ed6c1cd8393d0c69e028488b";
+  sha512.run = "fe9bf2371b862873e7c1ae2a0b72ce622a4ab98b00846397b2b108bdd56051caaccaaae556b815c2c4e077c6c785b58bf79c66c3c764e86a8edc97faf7443fdd";
+  sha512.doc = "d5494677c903fb5e7c5376fb0a684ab5169d10aa145cf021a1cb9b87be03f1470e4b74a7c721319aa598779893fdd5a9144519207658c077a78998762a22d937";
   hasRunfiles = true;
-  version = "5.8b";
+  version = "5.8f";
 };
 "chemnum" = {
   stripPrefix = 0;
-  sha512.run = "79f5a6bb8096ce69792464b224d633527f4a0c59b0134c133e532d6dc314c833b951c59ee425451d3796709936e60c13c26cd745eaeb79ffa580d29018b9ad41";
-  sha512.doc = "573278841e9174e38265020678667b7487edd573c259372ff9a77bd296929e807a7819ecf803b7962d43497aaac6a8c46a474a8fb41ef5a0bda1f50b626c96f0";
+  sha512.run = "f16b41aec7baa6cb088c008b373ff648b8e801951528b24cbdfbe4ad4d54eab12c64a76e23521396bfcc8ff8cc3089f0da9cf9fad37526d1639547412038f5cf";
+  sha512.doc = "b9dfe8de349ebcfbafa967668895dbe5bb14cc6f065711f56dbfa5ef771eefda79114cc994f6de2d5d45143740aa9e93543035dfbe6cf1c2628088927e06ab06";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.2c";
 };
 "chemschemex" = {
   stripPrefix = 0;
-  sha512.run = "594671e855bb5bab78a42bb7dcd1bea30947d61e6c480fef8d06a21bd8d0f6630382b429364f1475f4a9ae8308a4f655f1389e59b3ee5f0be64f702d4437405b";
-  sha512.doc = "bf76f5e7d65f9b59c1b388464430157e9b4fd55a6bdbf10395845c347d3034fffcb0b18cdc56d769850638e8aee67c01911dfc1c6d96cb8d4ee99b1ea7100a24";
-  sha512.source = "e93b9c715433d3a92dad9926acc814d0d81eff274cff1a866fb28b8dce547ce46e146e5064ccdb683d8ad084d64d079175bc110223c47b57ae066cbe5aa7c16f";
+  sha512.run = "c7375af2dbf1a7b55d41b0ab617111cc198f1aeac98c354813cb2886e0707ce5648d3e4fd9eefdd23bffddc08b96c35a050c1f440f21d5a2d7d5c6b5e0b6aaac";
+  sha512.doc = "b5e864a02ed664e7d7596b56e2583f9a4aff2b8117f79415156df0cab9be084bb96eb6c70c4fca9dd4bd03b30e8b145e4cd809b165d17325625ae625c33f1dc3";
+  sha512.source = "56174f5943b8dc3aa0cccaefaf9d3f24903626d3c4eb48bc79f01f2a7be603921f7b1ee300e4009038e3a92cd550c08c37aff239a9426ef3277e47f645964488";
   hasRunfiles = true;
   version = "1.2";
 };
 "chemsec" = {
   stripPrefix = 0;
-  sha512.run = "6064af339a0a4b364ecbbb2b6c78cd16b71ead0d8f08d08ade479b003bae60a4a94e655c46f3d536b83d39c63a281a93aa604a26feb88811810e0ccb8071d425";
-  sha512.doc = "7a5c7eb943c00cb474603955557bb1162cf251a422b74360d49228e794dd46a9874515a179601ff3d5178d0d5980a074c08425395ff02811b22443c85bae15f0";
-  sha512.source = "147f2b8b44f8d40a6defdb11e70b74acf05f3085536b6bc70c9890459bb28a44a782baf438b2a4b53820a13462c53c691c250e7b4f790d182c6310543b19191c";
+  sha512.run = "7a69ed2535d477063e55541d53f73f5d1972905f63d2298629522dfbfbbc97dba0e9ea4a48ed1667ad7b50e24c4a0f7b6d5dbbf79863c9e79a0b3de522be54c4";
+  sha512.doc = "5e132354e874b3ad5a4363cfbcad49e3601380dea8f53e106bb0b5d92fb1aff6facfedbad69444ea362c76473dcc7bd8703beeeda9b69f2501d995da98ef71a2";
+  sha512.source = "b81e9807d8a082b1223d4747a3f0ad3eb3dd21d1d145de5c25b8c44a384dcd941eedf7117c794efc6e4af2397997d060d0b80bad1c7f487ae98b0679f5412b2a";
   hasRunfiles = true;
   version = "1.12a";
 };
 "chemstyle" = {
   stripPrefix = 0;
-  sha512.run = "d826015964ca505befc7bd6f6460c23e9621c46c9fb17cf9ee02ba1c799a4ac1c0a34501e2d2b852df4387f6d06848e04d3142fa32276966ce059c7ab075ff24";
-  sha512.doc = "515f3ab082674073b128ce428ad79b50ac0a171ac07b56a2ade977f80477028e51f5347260b66c07f569705609f84ade59cb3f09fecb5d5668531836278d80fd";
-  sha512.source = "9f79dc5e7c57d71f97117f3432b48215ded78abbca9b0e0478abe365bb8791adf16c0eaff67e7e1f51d8430d2b1e8dc7053b1dab06eabcea19e5d48616880f73";
+  sha512.run = "299e15460a64019177530a4d28154453a813c6987e6e89b6f60466ae9e59372c1a5e0fc418c49b85364ba3185d4fe4e4b7f98caad9add7dce9bbe1792d4e314d";
+  sha512.doc = "f8d6c51cd7e3df7ea8366ade62d0cf8ec3825b0ca54be600107a6be8853d1c58e1989f5c13bddcacd97673260890fd0f63e9a0282203dbdbc6a01653d86f0537";
+  sha512.source = "0ee97edc8ecf8f08ed39ed9fffe18b89249c513f33ff415e4205619395baa6e8b7c77832d5110d113d78d94c1d79ba84f79a5ff23a43fd0bb23d19db96badf52";
   hasRunfiles = true;
   version = "2.0m";
 };
 "cherokee" = {
   stripPrefix = 0;
-  sha512.run = "5a5225351f68dc0d73dfd16480c4aab886e9cdd563d01533b3c44b8a06570757aed12444f55f540c1d534fce66518a976a501287ddfb9c328e4690e12aa7f9ec";
-  sha512.doc = "d7d95347bab9915ead1f2e477baaa49495979b82be7116139c00d1525b09d1329084228fa35b053a8db11787b51006fc165bbd132ba4dc10b1b6ec21bdba6034";
+  sha512.run = "731fb10454a9d359d91abf927a27215e72283a9635cbd853a6738ddbd5047d81fdb8d547b891f29836d0b604d97749074e9f2676c5ad122522d987ac9bb46105";
+  sha512.doc = "34b258b5b699f644cc0f7f9b673f3dbe48357bbd338726af2b404da4888a9e742f04e397cc3b6a3221d218a96ac7180ce1e6ba80a19c688de0960ce59cb14bb8";
   hasRunfiles = true;
 };
 "chess" = {
   stripPrefix = 0;
-  sha512.run = "490af1195568c6588cf521da29eea488f6ec19044d48746c54c044144f73a948a938b6dbdd7be69b3ddc14252c76aaa22094471b2f8d3d0926086ff1520ce76f";
-  sha512.doc = "7a21923fb64b8f7c65be9eb508d662d8760329c7ce43704dd5bc852ad0c621f93920fc5b19024d73a7348ff98338ccbaaa3cf6745245e838863a6b7e7be1365a";
+  sha512.run = "236e195febc213825fbb5569d8eddd1967fbce1c6e9d550a1c52729be43674e063161adcd5dcb1f6293d9ecf8809518d40064fee08ab64ffe444affe3282224b";
+  sha512.doc = "95d3b598f63231abb6cdccddc970d6ccb29bec7e9fa29efcf1391bca70b610e9c0bc65754061a4b955548a854bcbbdd8cdf05f8f93fe52bea400b7c281ccc0da";
   hasRunfiles = true;
   version = "1.2";
 };
 "chess-problem-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "1368f408f360bed5d7c21997f1e75cdf838bfce454a40de4d11fbdb88fda9063616d692de29aaf36feee92364ac96b977af2622b4f500755472cd6cef2ace0f5";
-  sha512.doc = "b702188a31b369ea887db7426d9d99d7fff1302dff2bc9694141bb7bf1a1803d99b820dd46cfe2efe0bec979c1e0a97086900d6df3af4e44764b4ffd470067f6";
-  sha512.source = "e64412d79b0f79d49734a0135be2104ad2ee753471beac6ac84cb84c4716aa28868ddc20a830d148854d8c1c5eada15d9526591d5fbfd2d1ef53f05e962fe280";
+  sha512.run = "9216d5a545da3a9bf845d0fb91e345117a5917fbb992c93049a05baef3ea6517870572cd0c4f6f725045cb094f64ee3067a2d2eb461515c937d061a611619b11";
+  sha512.doc = "2d9268dd31ad4b9961824c7f9e73ea13c140a4d6fc6ab9c741ace4ec32de76ca2d0986b2caa5d2efa45c87968551dd3ba88d4d58b7c439300c9e748f551b2964";
+  sha512.source = "52ecd3daa5e1de9feb486c256cb0acd1dc262d12d574fec5cee8fa81cccd927d2636a6309a2aa6a8a57e27648c89dfbe4c3c5d380ecfc44e816e1a428c00831a";
   hasRunfiles = true;
   version = "1.12";
 };
 "chessboard" = {
   stripPrefix = 0;
-  sha512.run = "802e410fb61b63d92ceca09292a1ee587161964dbe1ff6a6a24e1a8e7c3bf855b837b674646b276046679f9184cbf501677286f44d6a2c8fe266b7c2b876626a";
-  sha512.doc = "dfa9e4e0c848759dd31ab8843803eda12869591ccc701796fe1e9ac1f6d26b417689accb9b81ad0e4a03384bc304319df4f7168af3338d06bf0e6861de8d9252";
-  sha512.source = "d469b8572424a1e5810d8e2211efef7e30a5ecea8be06f4a242706179ca3942acb9304c77fb6888c97e1f969fd9463710a7e35fd2fddf060b6872fac8f541690";
+  sha512.run = "ed7a1d973992897fdb174ef4e250d78a6747e40a822e026b787fd0899f6465a6e845175028279b57f5e16c50162feeb8b1c833248ae3b073e32a8d63051ac0b0";
+  sha512.doc = "586202bf2d2b8bade26af19170e5129da6a2f66f78e79880929d2df2b6a7971b8d3683fb79a3ea6863eeedddfee170c06bccce88ad96ca6c7d982aed43378084";
+  sha512.source = "2dd479a4ab573894437ab551bd78a1b24cff7b2ed53d2a8ab444930afcc228844bb5932302e4975bab617ad24a824810851a979eafb2433bca9dc1289860d6cb";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "chessfss" = {
   stripPrefix = 0;
-  sha512.run = "0016c59a8e2857166ccba3b4be3fc13a5a19b180837136edc60eb95be920b23d0d97cedf9fb15193431d9c5f6ab673107d77745b85e9ef32463b5eff056cf5f9";
-  sha512.doc = "9b19a27a91b7fabe25b98464f9ad7f258d28966fdea0fc446684f66f77500ed33fc641a5675d1ce479b2f35a0a3edc8071bc34b6ae72982a3dcb9fcd1bbf1060";
-  sha512.source = "5b1c160574e8d41d9d58c0e8865615edbb36acc7987d6386e86ece6194b0193fa44e483991cdb0cd7c82e742622d6017e4cae178334b5f1ee201df6c7d767aef";
+  sha512.run = "8250d4b470a74877c44093888657b0a3c6ce71abc2a23780e71590d0398fc08943ef77ffafcfdabdc6bfd739f7d5b4ca15f2436df103271de029e5ff6102f579";
+  sha512.doc = "1f9e625cb7765450fde23f5666af3b43ddb9ba2e67e7d04b98ef19446117cf26eaec3c2586be7c683286dedc37f8d628e4142bae834af716f2c068ac28beef58";
+  sha512.source = "8745f5c712df2da39a61aa3d7ec3b6b4917c4905e3a0c4ac25ea6484555f25db6fd31b49a9c86566f69a660108683b4749abeb17f512ece9af54ffd7806c1d79";
   hasRunfiles = true;
   version = "1.2a";
 };
 "chet" = {
   stripPrefix = 0;
-  sha512.run = "9a7a824be07b6fbfda73b05d6afe17cd0bdee515d4fd2a26916bf3d2afc22df0f5b826bf4006af646303177d7d214efdd54fc2526dfa5c23446d905e059149cd";
-  sha512.doc = "3d80a9b1478d29b489ddd795ac6eb0178224daf15e6f98036bf3aeb3ff3f7be59c5793060b82e84e246a64f6562e217280ec8ad27a5807b77cf8e34b037ee476";
+  sha512.run = "d4a43d5ed1f8e74f0b4681abeb2b1134e9ad770cbde69679d53ea77e09a1a23412f03705691cd31110d145a96dd97e078d675274342c9323b849c770828db5fd";
+  sha512.doc = "143b224d3ad957def3ec22a6e55c1b9eebd5db582065d422e1cf972580eb321ffc768c51cd687add62c01ab1cf3dec170422e6d9bbbab01846bf3e4cf84ec936";
   hasRunfiles = true;
   version = "2.2";
 };
 "chextras" = {
   stripPrefix = 0;
-  sha512.run = "e01ee6b48f446ec0a9bb4bb9ca29487652e1ff5b4522c8e7fcd74fa73cc1bff8d4cf7a77d38ac4cb33c23e9dbeec5033115e237ee828c905cb54cd9adaba4671";
-  sha512.doc = "19910b1f06ab7e2b66331067c787fe61ff79875441aaa24e21d8b9932563bd57e5cabf33e02dfffa51eef290d6e4e70a447f594b35c1b998b0467a56d36976d4";
-  sha512.source = "c397ca7fb4c770ac249cdfb081dcc36c3da0bde8a6df781cff5371b997e3010a6c3b8e2c7c7883d7262c0e51bce4e8b8e9255d4e181a1e071621095c520a651f";
+  sha512.run = "6fa92c9cf1da7cbe2ba74dd10f1f71274e25b228156f01efe5c67e54a2ba258500f7b2cc39fe935d4e92c641b760eacb7f39ea70643557ade4816e92e92a0b17";
+  sha512.doc = "8bcc8a6c99be02d8e0babc82ec016fd6e91823a31338701e3d741af895a1d87d224a849598c2784f5de9cfefaf9cd7a09ee5b102636114d528b1e17b830ffecf";
+  sha512.source = "1b82f258f1420b07699a0ee75f99e330acb4b9ad1fadc9ffb0f42a1a4321cbad9c08718f9bbb94185eea9bef8d707f729d610b5f671db7014fd237dca5fb0d6a";
   hasRunfiles = true;
   version = "1.01";
 };
 "chicago" = {
   stripPrefix = 0;
-  sha512.run = "3823c71849582a322466df9bf8ee35d786d6b37c2acc98b6693807075e4134739001c9cadbfb0197294a6ef943309adaac1e2ea2fa1dd73eeafbf0d84b838465";
+  sha512.run = "2313d7911a8c6bbcfbfb25405e3fd2ea8c0721045f77b9ecf27e4daaee5cfc1a5c010c72d192583e6025aecc6f69421fbd7921d63daa9f29145eb6f9c96c3abb";
   hasRunfiles = true;
 };
 "chicago-annote" = {
   stripPrefix = 0;
-  sha512.run = "273f4e919537517ad0919da30264360c05dbdabc45ad57cd2ff1c6dca820ff5320958f61a622e6641f2393a69c14da53a64c0ced16fe1ebf2ed376bab1a8fce3";
-  sha512.doc = "7fc3be286d55b5f612bd6bd34f5fcf2d98506b1fe5654b90107e3b7762a73e35f2cff20011d3715719521a8269334a31475df7d7c362cc065acf7cfa9657e422";
+  sha512.run = "be2bc8e7e8eaa881ed7a8225b211ef464dd5635b93b867333458521e405fa42375d4804fbdebe1b913fa694aaaa839703494a155b0ea5d4a99162f6335ccef0b";
+  sha512.doc = "893ba3ff20355e0c395b2092fc01689bd956eb177434ab7152aea686210a7167a04b64ed8ec21030e4f4cbc7e1367a90976168b174fd068d6aecbd0304f380db";
   hasRunfiles = true;
 };
 "chickenize" = {
   stripPrefix = 0;
-  sha512.run = "56a3a02fb791aacd83d26627c710dd9928270d8fe803984607e6d0735253083ab37b24cb1879c5ce1fc6e09a4d5194e466a5a6a262b463ebc3d019150bd4d3a6";
-  sha512.doc = "5168fd820e4a376ec363511dc114469091e1ec9675b874a74ebefe4a387c9870edcf4a25f7f561de21d76e8d3d4f788d054eb28937f711a75f611d3ccbc4186b";
-  sha512.source = "0f01520d20c1e0510ba02a83654528a045f24638205abae4be38fcb0e03c3691c03f2ef876042c9138937e0c1b8c27032c4e94892e9cb1940f9aa8cee3cd870c";
+  sha512.run = "82df32cba5f14ea8de96020b2412d7c2b3939b0afc4f42bd91e957694404a12a8ea38c9260cf472d81e9aa776556e9b5cf97a674d23ad32633f4fdefe3b3bf83";
+  sha512.doc = "6d29cddc0030de2ac6b82dde660e405916bb79bb1e18fd0579a66555d49062fde5d0fa327b906baa1556efd080c55b7ee181ed7569e96dab256ab2be27620935";
+  sha512.source = "bd53aa09a1a136d36f92ea0e8625684361b31ab9315a9f987560f171e893c022122b64a086aa2952a9f1fb96b7931f4e248c016cce8f0ef488c94fcd33c5e8f4";
   hasRunfiles = true;
   version = "0.2.5";
 };
 "childdoc" = {
   stripPrefix = 0;
-  sha512.run = "8b58f098cd1733f5d8b8141bd44f83d37b356fe85938abd3c38a4eeb7b1f9fa284d62e05a388b5db246bd4806c878157c1d5be2f65298bd0c873f51b8ad89565";
-  sha512.doc = "267cad5d7febfd11d18b778492d8e209b4cbd4c50d5707d615ae5c900b3edfe2acd3331e8f0fdc3e7bbe6266f4227cc760c06138cb6628a74f84c9d8a113bed1";
-  sha512.source = "d5b20b3dc6d88efebf9aa85012cb9fcc677b0f4697ed3a157b460b4fae9007013ecf0d86197e433d151fe00d6dc94d1cb7b9fe071e0453d6821e076d3ef11cd9";
+  sha512.run = "b268695b1d91b49ba6a0179124cafa5e5cfed56672424ab40cc31924c07879b4f50be47f9fe9d574f2adb3f183c71d799cde8854a2942b530c40a1e101d399ef";
+  sha512.doc = "1a74059d946b82da211f5fed7cb120453049ceaf5f10841a78ff8864b41444064b223939bd2296142bde9c7bececc0ca8bed141be02431fd60f069ecab998d87";
+  sha512.source = "d74e34799e3cce5093f59d66d2680350ccf559b0a06045882dad98a60626c59f8e0ed8a6e03d09cb4ff443d3f68a33208af996e2b870047fb381f97bf92dbea8";
   hasRunfiles = true;
   version = "2.0";
 };
 "chivo" = {
   stripPrefix = 0;
-  sha512.run = "e4993b185bf9595c389585f31738072728de027fda5689b00b8dd8435c7556f7190a2aaee0d91303e00f0d0ee01dfecebef7de084dedfb897f766c31392bef49";
-  sha512.doc = "9f360134bb7b4c315fd41d860415fe761747eb15785ec67101071738d08ba8f21b82d7f32fa50e91efdda65254d5d9c8a0091412d47045185e6798657598c6a9";
-  sha512.source = "ff4dee28c226cebf516381154863c6e42b5d5eb0b2d70b94a3e399bd01aeb30105e8a635e9551c97370472b39ce2e130ca8c698ca96ffdcff65d1d04011f18ff";
+  sha512.run = "c50965da981e688530e115352f0d1baae7c9fa2b286856fc1c3d7a9dba1b463b299c129cda72514792a2faf77f512b8720f02494bb178cd619ccac6a37e5f606";
+  sha512.doc = "b7ec648495dc0be4201f01b162ef995eb2168bdaaa43c84144a7518e9b1e0d471e08a1282d301162cc9cabfd23c86249fc57cf0136dd37c0689a33893917f12b";
+  sha512.source = "5b92272061540ec7e08797782af358ab0e50c6a2658a3faf7fa783e2b4e105a9e7d3dedf6e4ec1df82410254686d5adfac205835c68cd88394a85abb39d1f3e3";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.1";
 };
 "chkfloat" = {
   stripPrefix = 0;
-  sha512.run = "f89d84adf2e72facc950770f4c8df8f179d23ef515df9f75da0d8c5a29c6f159576d77e1a5e11433ef7aca9a1ca968a133539874e6d517843381a6dba719cd7f";
-  sha512.doc = "2a146a619aeae54577db53b8b1fd564b9de9ab7dfd8615504a61687e575d513918e9e1a9d88bb9d0638c8dd72d2b4d2c2ceacefffdc04d224b11389181d8fdb9";
+  sha512.run = "2a08b71c204709846bbf26ec3883e9037af6ff22e9bdf13b27319ceda55381eb9e3816ead4e444eba4b8a050a188e58d14f0d9153a813953f587c6cabb3932b8";
+  sha512.doc = "b79b6bd6943dcd07656bb46d44bf50ca2c0148bdb6ae711d17a49e78f3bbf2b95781cd6f3d0b2f7625b131f7485d3db608c963367dd91dc91070501b367471b3";
   hasRunfiles = true;
   version = "0.1";
 };
 "chktex" = {
-  sha512.run = "f3ede4ae8c4f56c0a3f9ce241617a2d27650e4dc2ed260a8b13be42528f045e2d333e84d33aa367d215a4f500af01f77764f61a73f2370d42e130debaac1335a";
-  sha512.doc = "5259ae0c5f186978cb5392df7484a6fd83fdc75bff5e840f3132a57a49bb0d0e18fec16017309e1ef1ec395422a1077248157ad57febb3bc5744f10f9a3dcb7d";
+  sha512.run = "528392dde236fd4dc9cca54239e7b1d19103fa5789a1c0f541a74472ccea52548fceb13e10a629e389f94ac5c16006246edb3ca584b1681b9e22346edc720715";
+  sha512.doc = "6c879a78bc9aef8b851c07f54e3e1974628b0533a843046fad4e82013c32da6f1bcf585547816ac3f3b97fb4425af61e8b7b2b6e3ac1ca177e667a9b26ec17ae";
   hasRunfiles = true;
   version = "1.7.6";
 };
 "chletter" = {
   stripPrefix = 0;
-  sha512.run = "bc5c46f79fe158ea19c68ca51f0c2f54dbcc9c65fdae40ac8206b4ee965ddc816100010e538d028734cce9df7802b9e16ad166d7fc6ed3c122e63ca18f253901";
-  sha512.doc = "81a79263b019ec7717727d4ac3fb6beaf3c7cad6b8efc9193504463b3a481d4fe20361489f07cee542947281751fd841db48c506ae7afa0e1fe9b885ce1cc162";
-  sha512.source = "e450609d0f8957ff3294f12997b83333e431ce9b1f6484568089d17fa2283645baa039f247d0a14192eba109ba5aebcd063a939f10cfae852a2fb7bbcc26d540";
+  sha512.run = "a32f71d89ee69ad60de6173f415d0a3aca7563107cfed71aab0ae99972a2ead442bc75f848ddf07c26c5d464b2224afed5ce976bf037049764f722396e9666d9";
+  sha512.doc = "05cf8a4f37eb51cc00d9c254dcb817c41167eeb7643f7a793d1a841bd2c8a3715ced2036b974533521f48be48ae493e52ef0809789d36155d1ffc9624db538d5";
+  sha512.source = "6e4c5063d7710fe5842ba684705d4b94478a9d468e68d60fe0b2ad23fdf717841421bb034317cf240269b77e4351eadce854145fe7e4300b2f9b698a6617679c";
   hasRunfiles = true;
   version = "2.0";
 };
 "chngcntr" = {
   stripPrefix = 0;
-  sha512.run = "0e902dc742afde8cde229cf17d20cc6bf47f042d4c03c3771ee544bd8af84e4670c3fe41d523703db0c38c38f1867009b39a9495f0e4a52187bbf222dcacbf8b";
-  sha512.doc = "671e6032ff720f7febe20b2aea8977d57f108f3c80aab5d7a6376c79cb53b4ff88a9e5ebd31883b3a3adbb5321912677c023329f623c6dfef83b227ff5ebd0d9";
+  sha512.run = "0fc94f91911c623578912ed43526d18f85a003f797e94ef5610aab8477154078efae7000256892cc3d3103843ac8065c27d56a10c6f57c16d9ff13693930b0b0";
+  sha512.doc = "3b63e4676232c05516bb12c189873e4af39b8b34df2690c897c4733203c9f19a30759850979c47b05e5fea0bd1c277a5c1ea0624709cda6a3a4ab0196231afb9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "chordbars" = {
   stripPrefix = 0;
-  sha512.run = "9b2c42244a77a0f55abca9ac9e2b02f2f1f173bc96dc288ccc5ce5edbbaf54c45f8e2a320e391613f07822710c913625db32e5d1f6ccaea72a77143f718f7d28";
-  sha512.doc = "d61052bd8d2aa9407f50b4599c261e236db9e19d8f4b85358c3e20ebcda2c1044feb001c6f6211f5b7ee29fc720f16112b6113c6118436860775ceceafdbd3e6";
+  sha512.run = "1349aef2649fdd9b54751425d54cc9b0746dbcec9eebd1264c36867517c4f422d74d390a0e43d22fe81c5a36ff00e6cedc5e652183422e9408a2165486e79052";
+  sha512.doc = "ba8aae66430e2df58f01bb9860bfab9cdb3aa0636f77f657a1fe4405ec9397773b51b01d94201bb8dfc8660d05f2aa4ce9233ef985d3e4e35faf005c81759404";
   hasRunfiles = true;
   version = "1.1";
 };
+"chordbox" = {
+  stripPrefix = 0;
+  sha512.run = "0e07cae95a8ee5f040b4df4d94f996f772f0780bbe47c77db891fbf44b08f20e28ba8442dee3e981a052b0ccebb0d630e0f0917eb7c65a490c844a65f3b2e3f4";
+  sha512.doc = "0826513579953ea80047d596b6c577e4b6f00fcdddb7a06bdc953bccd72e09ec2fd9123995c1e04260ad880bc860454abd283885817a9eb359ec7cb5beba3cc5";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "chronology" = {
   stripPrefix = 0;
-  sha512.run = "46345319ca67ea1c201b80cc527c37e0687fc537b2861587891d7cafd72e14b89ac8e7b589ea8e3fe62a7c94d538844325abe64fc9f2a6f035dbb249f3a96a7c";
-  sha512.doc = "18028e4013c272e94316fec67933e8c674716a07d745430c3dce239e34513cc0b9f3d134ef7aa7da0c0009253be5da5a59513be29dfc8763852a9a1797910957";
+  sha512.run = "6fca0b31511366c1e39f6518bf5c6e10bfb503a8a901d9e1167866a40e2fbb9d2a6e109f48e146bbaaa2c017ac96e82196a5f49a91c6c9f52eee2633fd5c0737";
+  sha512.doc = "ce0417e339724dfd97c227f104d9cd0b697c1cb7a5c586c890c3e938bbdaf5db2984fa83a09d983970c1105751cd012e544807a74bf0a35ecd2074a97d0520a4";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "chronosys" = {
   stripPrefix = 0;
-  sha512.run = "f9a53feb88c5a2f5aad738b3c1550c4161d32b3eb35a67654f3ad44c9ba2795e7d5f147503a8bbc729893026d1da642301675825218625b155a882efc1862db9";
-  sha512.doc = "7716b7c4f97df7ea58446413cd5f1e3c15e75228ea6fa8783e06be57982955f1a4e467ce939c95827452f7edc9634616d0eac9c617a80b75a4538b75b1f625eb";
+  sha512.run = "a9503f9440dfa9a42a3f2d345c5e74faa9f40b03264bdf8482ffa58c34318467a7863033acaf089acff6056f91e9d85969676c1b0b080b363c1274ab96f022ed";
+  sha512.doc = "1f2078bc645e1a9af4220bf4041391353495f76f530ab5f1a35ebf2c2a534d60a910a9ec079ec2222ced7fc3d9c146bce3d6d4d703acd2bfb9ccf357f6fd812c";
   hasRunfiles = true;
   version = "1.2";
 };
 "chs-physics-report" = {
   stripPrefix = 0;
-  sha512.run = "26f87639dc52ed08ed7918973c5aeb15fa3a6fab9637023220cedeee00fd37cc1762232fd7fe17f0086197d66eaf43c63373a520f11d37378ff2d5ab0ab71972";
-  sha512.doc = "a8bc3bb515bc744e00911626b4786d11cfa9f16f5fe82dd35bb506afad6ba456e8bb7544a0734a715a829173cf4e602cc08fe2665c1ada1dea58a9c0a28c8720";
+  sha512.run = "e1af3e29e5b59545804d7ac7f3cfd0c7463fa9487c458ff3790a2b434151cfec925863bc2d107e5eb6e43c988d85136eaabe28065bf95b04836a8342d5626d23";
+  sha512.doc = "3f87d4b32e3257a22e0e7146a89ab2fc90f796d524b0641ea0ec51ff7328518854d226f5405220d7f5466a138bdfecb6d1c6f8b056781e985cc1cc757d0f26e0";
   hasRunfiles = true;
 };
 "chscite" = {
   stripPrefix = 0;
-  sha512.run = "35ce1c67edc19ad4baba1aefe66c8369f97a247fa51ebd692e8c0ab7f2ba0d58de625f92d2856b865476211fdfb4768b5b51de50a2cac90d8f1952e4bbfcae54";
-  sha512.doc = "a8180c2e40ea23335f91b5f66829e90c6c405d845be88b5987c485ffcd15e67a866e420149a97393e22db9f58d178d3e449614774081ad548e0bc78a41d8fc0f";
-  sha512.source = "6b6f08a53a98301c7478506174d92ece0c05600c9de5f9656625d115daf16f3a88c28f8264c85366d530963b95065759a2f6dc69ab7cd4009f1c25bafb7d87e1";
+  sha512.run = "809c76b1bb47e194c43c869b27352578fb5490f6a9a8bbc2fae662b357bd36a099f5114765611d73fae87a846526781ceb7b45aa8968836c543e15f13e7ad7a8";
+  sha512.doc = "215085d808b75d0d7f3e7e95830c63172606fd43e1e30a20e376f43d12959da71e8e77a6f06a6058d8ab9f9406f1260262af3e904ff65254e5d2635ca6d15975";
+  sha512.source = "cf81a7ceda538e9a3a8bb0a78927c493d42993bb295680792ba643d6f771722e0fbe342bf59cd3104cccb63b1ece7905418b998c1af1dbd7c879cce024681f9f";
   hasRunfiles = true;
   version = "2.9999";
 };
@@ -4146,64 +4251,71 @@ tl: { # no indentation
   deps."etoolbox" = tl."etoolbox";
   deps."oberdiek" = tl."oberdiek";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "1b94bb78271baf9a32c0fe5290e740bc46a001d5c5f86c79a282aef0019995fde286d045addfa1ba39452888a98d06cc1da755faa806166b38f48f3687459662";
-  sha512.doc = "1be5c9f2b6a9d3fbffe98e76c0c4ba094f61a7e8f79bc541bf9c32928077094d0e814353eb87782457cc9c7ce0c0c2731237f6843aaa776d742b60d086a36032";
+  sha512.run = "6c572235b95bb1f8407addefdefa1d7d3facc09b963f4d65d2be317986eb6523db9a8ff7104f15c526962ea8fbd0e1430b68867bf619cebc9b494f5cc04bfb07";
+  sha512.doc = "90d563afc8248ded0ea4f30ff685e2fd9da8dec7ea92a3d4313040905be883af3f11393a031ec85ad39e9e51d374557e0f1f373a78caf855d2048fc4e0393e37";
   hasRunfiles = true;
   version = "0.2.1";
 };
 "cinzel" = {
   stripPrefix = 0;
-  sha512.run = "4e274d4ef5a5cd33059b3362d87c96cf3a8fc4dfe190239e4bcbae7c651c062b1b2e5e921363c668bb28b0610431bd269c1b16357de924868f247da7743a1f20";
-  sha512.doc = "52f321c7b2c33410e39ce1a9fe780ce7308df96b93bb991383f16badd761cedffdbeb68a5fbfdb123f2308cdf8383931f7be0b04576d64642cafca2e60fa3578";
+  sha512.run = "5325c8ebd42cb7311d16ac20b4b0bad6832cea05dd685b17975eef92363dd0ef99a06ac4e5e269c932e30df2dc9b0ec3b5dbe54adc70e93718c08a92a140d866";
+  sha512.doc = "939dbd310bb861bfef206584d8011b0a296f4b70673b7f334b85999a40d352ff74f07078c9215e6510e431b95e6fd12778e468ab53f401f3b952324c3162f792";
   hasRunfiles = true;
 };
 "circ" = {
   stripPrefix = 0;
-  sha512.run = "327b481fe266899b0c4beb805e0180b8b5a6ebb27e1bba8cea2a57a48f5c58945624faf6bb46e67ca00ebe20ef9f1920300d99d0ec2bfee594138ecb64f24db6";
-  sha512.doc = "64b626f8b7e17e96b2fc6f83cc0e41954d329d01742d6d5c4aeaa50e5a95c2e165160785657d8d8518996f9da8382bc3b6ed994542ab003619239c458a40593e";
-  sha512.source = "777fd7a8137e3f23c85a9ba1ade1c4d3926ecb2a5f16bff1c39a5a3ce22a22b5a4bd5993c853f899c770974dcc3000abe418ea19e6b5c5c0cb7b9070774f1846";
+  sha512.run = "638a89cd3ef49ba7f21f42944d1452c2866265f326e33e07b47d9607723de7f477766e8c240df7a91081f864f12346aa358b48f66cb67017fc11ace129c9c694";
+  sha512.doc = "389d98b3b5cce6c93d84bb3022f4aaaad1927bf78b323c106f7e89612835b92a2ff878fbe8d120406018549dba6cb370d88f098df523ff69a8810ff6e2b80241";
+  sha512.source = "b6127892465f3bbba51b3fa0f1d35e667cb4286adf0280691656a8b62c52ee57aa01578e716c495612b00a5725ed30c17b1a81b6346f184fd6d60611ea2663be";
   hasRunfiles = true;
   version = "1.1";
 };
+"circuit-macros" = {
+  stripPrefix = 0;
+  sha512.run = "a4b36693356178d6c3c15b9e1829d8d980ba5965ba4ffdd8dbe62ea44a5cb962cd326ddfa34e767b489d879e6ae39a9dcbfa607d3a769b370977d6e4dcf1e54a";
+  sha512.doc = "277dc7140b6fe176d27cc62afb018ad266bc946259b38f02f3166e0bc8ba9a5e3fa0b56134d48000545f41e59f1f0343985552bd075cd2d1fe98750c890862ab";
+  hasRunfiles = true;
+  version = "9.1";
+};
 "circuitikz" = {
   stripPrefix = 0;
-  sha512.run = "47b56b86e6f2f64bcf588bea145a2ebc4fb4995123cd699cd730fb9160a0211242b56b3ec92d65d10078bca4f96711ccaa72d82ac934a08f7cd8f30170bb315b";
-  sha512.doc = "920c8dda8ed779bde4cad7d1fe7dd0f5eae048325c9e282646d60ddaa095a47d34062a177a0da60459d1a5bef6064e8fc9331fcfa6fb43cb6b9201bea643f9f3";
+  sha512.run = "00474a4568fc629f57a76b963bc0445e582fecc3c6d7a714120998adb0f9bab94cf87b834938eb91575e22a5ad61896bc252f995cad439cda5f0b471bf2f9a49";
+  sha512.doc = "4e628fc482a6488ee6e4c78dab70645d42e19c2d34456ba4f12a2730487df5bbc09f582f9a72092edbd4bea019c80d9ffa65fd3ce0b70df955a4602ed73e115c";
   hasRunfiles = true;
-  version = "0.8.3";
+  version = "0.9.5";
 };
 "cite" = {
   stripPrefix = 0;
-  sha512.run = "43bbc63bc0036041ae949454e28e7f44cb6aa200d4cfc8573288f00a51de4a30667ca91c0850e201792f9fff47c37034ccbfbd1f4e72d1a6eb659112ccbc82dd";
-  sha512.doc = "77feeb9de2b82a049f72c57c0c3ddc39d9b7d5e49e3902ae89f315cd105a49ab5cd79ac9214f54b90129eed3a59aaf75d27ee22052d3d0b16ec4128c21b1066f";
+  sha512.run = "39196b799273a2da29591b1b59c0a504f0e0971a6fb12a21bed5ac45d94eb017f1e7c64691fcd46f5c151d867c1ffac706f050fe2e08bf3c58aec8867fa185d3";
+  sha512.doc = "f9ccc0e1975064ec792c6138907cd3dc8080ff2fd02a2925d1a1334cebbb2289797b234b46d92be0ba45d460c31359b5c143f20e28cd1aa1827489d04b88d300";
   hasRunfiles = true;
   version = "5.5";
 };
 "citeall" = {
   stripPrefix = 0;
-  sha512.run = "743e65140469f9dc7074fe835f4bc323fba06c7c9425eab1514dd71cace902695cf7b5900e06e7db6ba1a25bcdc380f19c118244d069c30dd562518d7eaf5e06";
-  sha512.doc = "33fdedadc830e57834570446ccb0133439da38f8e85010708e0d9afe6257c44b35f4f109e647a3fab67adf0ecce2a0cf6e2fd5894b4eda723075be5e966f7c4f";
+  sha512.run = "2549b398c98f82833849a45716d55a776ab3b7927fdc400c2e6d43c45fb0cf628bd66bdade7ca63bcaa2e98807914f7adb958c6a06c27762fb0ee70452d4d280";
+  sha512.doc = "f1eaf5ed48bf3fd2bc336b7d91dde09b5cfa9a1901bd6315d4abf032439571a89f1d7c4794ed0256ef1aff0456d275e68326e81627f164652c84de2900165a98";
   hasRunfiles = true;
   version = "1.4";
 };
 "citeref" = {
   stripPrefix = 0;
-  sha512.run = "6472fe09c8b5b1c56ac5f4b3a40f9a7607caaa9c39c06a6c2663fbfaefa196e609870af36c58add97da33fd831387bf5ead6cf4e4acf1de0807dd32fee63415e";
-  sha512.doc = "5e12ae0e1b43c5def78a50082695c051584fe82bff927bacf82c929d1269278b099cd7fb6391963b4cbb509c0f1ed6157f46124b869b1fde7fd406f050a32752";
+  sha512.run = "5f56fb1d813962358c737023e06bc2fa249712d8ef984f835073e11b075b676e845596a61ac312991e646d72068670b60eb002f78ac322f66d8e5a9bce185063";
+  sha512.doc = "21d1a8063586b09ba953ac5df96a3b1552c586d66c5f2af517b1b1ceb75b40f173bd411654dd313c6aeebabc35db7543ea8edcbc8705ae104c7f63e5a5b3cf57";
   hasRunfiles = true;
   version = "1.1";
 };
 "cje" = {
   stripPrefix = 0;
-  sha512.run = "c1a797b4f3664b47030c1d8b91ff5ba7bedfe0754cf81494d8e76646b447eddba2058c75acf40da9107c31093974b3df96d9a01b9cbfdf5c8944be8b881ef058";
-  sha512.doc = "f447dc2c2bdc42048fb2c37899e5bd28dccd616727df5604d482008b843bc12f1be21cc26542bd92140f0618a8618792ab97c7f262abce9d86974ba152d430d3";
+  sha512.run = "cab80d266c2b5f9d4ba9d37cc5490e831e3f773d86c92fcbfab9474864aebbb6123e1ed44877127e84b6e1fe8037f2425259789b9b9597de49e1b24b123992a4";
+  sha512.doc = "47a2d96b6b530be732385617af832ad48c3d6c7a34a7e9e0523c38a03b5116b94588c995afd153c25be6ceea9bc199685fab9eb83636b5fe27525b19a4bc7cec";
   hasRunfiles = true;
   version = "1.06";
 };
 "cjhebrew" = {
   stripPrefix = 0;
-  sha512.run = "738a599059bbf99602bc8c542e5ffc70a47f6e446ffd8d678dbf507ce36e2ea9070af64d743ed1b3a3fe6d2eade960a6e7a3861a27edaaab3b0ce1d9c58d87bf";
-  sha512.doc = "c18851dd111b353c6412a1e60c3ad934af5e5ca3039f0cb70147a5973b37c561c88032100e4b848b8629246718359644193c9ef19a2e61c70202a01615547572";
+  sha512.run = "65a73380bcfd8892ab2eb93d088076e2d5371019244bc8a65a4695e69a45f743248fce59557533add032a02a0b7ea4f02d6ea4634265d2d9718a5b100f5a18c6";
+  sha512.doc = "591d932ae099aa168d55f9479842d25c5212dd7aed27eac1a5d05a111a8a396baae7c73ddafe1087a7b8008528c50b1a85825851643d8107133d41470ce1e397";
   hasRunfiles = true;
   version = "0.2a";
 };
@@ -4215,359 +4327,376 @@ tl: { # no indentation
   deps."norasi-c90" = tl."norasi-c90";
   deps."uhc" = tl."uhc";
   deps."wadalab" = tl."wadalab";
-  sha512.run = "26bf5b97178f947769669d4b39e5b3a9c14b56e535b1d9143a0628d305ea20dbbf017850db70e98ed45a4b5b3c5fea23bc7fe95dc50002bb52648658669a6144";
-  sha512.doc = "12e668018eb51b9864320784ed5aa14845b67aef84ff4c13eb7734fe80ecf2fc4beeb70ef6ad234382d942f64590a0b11389e520011aab7ec5d3f1b548048bd2";
-  sha512.source = "aadf032e1e15513bdec19bd08f0bf1f94d5d819b0ddb0eb821086902cccc23d304171991cbed7a934441341eeabce4d5dc54234414c16ae419d8fa5775b9b943";
+  sha512.run = "c35be1fc1d9f9d44e78effd6e7e539591020d785ae255a1cfa0d7e2508fcdd496d94e4bb0096bc7a281ee93b0b8e461efc6724c82f49d589dbcbdda35143c811";
+  sha512.doc = "d598d599d02ca95b1375b8e989649b441980ae6467348270c366a670d79d606b1ca79801febdf5c8c636f2d1c7fa30eb87bd87f90f75b5b4436443ecdab53b73";
+  sha512.source = "bebcc4f77716c92fdff317d926b0ab47ff32efc8b235f721d7d3d1808dff5672127b4c80bb729aa1023f25949cee2c4d508adb40574a3d606f3d5840642eb604";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "cjk-gs-integrate" = {
-  sha512.run = "e20cc91b52f009daad8a70b2c43f51d9703489f3d923d12135da8e9386ef5fb467e3e98d100182c5cfdb0c2412090386c18f6270e2e0c08db4e7c761b94cadcc";
-  sha512.doc = "0eb81c03b316eefab4508775813c9ecfeb06e81b841fe9dc5346f2cfc6e0c083a1f84843b782f913f72a05f890bda17be9e35ad613cf91f9b1222cf4707397cd";
+  sha512.run = "f4b6cad8406972b57a540a29897962cd01a481932e7a1efad6000f336040517a1b5af19a8f422a74d4c32fea02d95aec30085e26cccaae3e8e634e8233fff071";
+  sha512.doc = "c74b94b3de893c2a93bd14c059f85b786684fd548e568c058e182935ccdef5e1ffa16788d7b4ed9af1544152e39e3e16ede95431ede8cc9474d2e72161fe2c12";
+  sha512.source = "0ac430f7b0f56c244b57d704383af91e74d0eff5262839c375769b170d84380b92a9e17ec46d2c894fc35a27a527b93b5338b8ef3440386c2ca17e2884b4c3d4";
   hasRunfiles = true;
-  version = "20180306.0";
+  version = "20190816.0";
 };
 "cjk-ko" = {
   stripPrefix = 0;
-  sha512.run = "038b2b4730908ab4dc2ab2a51213ef82cdfdad9b169a319d9daca7163b61345a5388ec446a60d0227414cb4c2444c1881db3a651afc661327257fe3cc47135d8";
-  sha512.doc = "e8a30e1c77469bb60c4789f07cd69393460b1b14b75245fae21dfc1d443ef04be71d7bfcec80a14fb5847a172d7518ffc081e4248fc41593c54505b112372465";
+  sha512.run = "52ed45e1e67b50a09ce4b1fc333222d93adba691265e13d0523aa2d1a2a82b78dacae5ec2ee1ec0e78dfdde740a15a3d48fe45750db17e5270480807521c59fa";
+  sha512.doc = "15b96571e56e9e08656f28fe8f8875e22de4a4c513a76b21206b66b8ffe2c986acc87c6f0bb1f693a2ac05ad07948ba89fbdf5f63259d08ef3b41726190e089d";
   hasRunfiles = true;
   version = "1.8";
 };
 "cjkpunct" = {
   stripPrefix = 0;
-  sha512.run = "f40d96dfe648847e220eb5b594101e390a4d1b0e863a1259758ca4d971f82bc3a3477397f64f49f948ad948a1f26ea59e8582a8be9ed4266061a5c34d8928e7e";
-  sha512.doc = "ce245e6b941f527d920d1a9c779e1bfc9ea200b4229b8b0b416801e234fe859dcfb148aa0db1d2a9f4940239e0238e0d24800c3a6478af85d6f34a544a3f9503";
-  sha512.source = "e0045810c446280956acabf9e85d37cffd73a436b58db977715adff54f789814b66d085423d78aa9db32846bb52e100dbfebebb580a9258fae2211ac531342d3";
+  sha512.run = "cb44aa3386cd79f05980e5402adcbbf9f8b67fa76bdd5b293063fe9810520edbdf243656cfb54fe17d6ca43d405e6b16e8012eda63bae3cb3d8fc0f7755e2551";
+  sha512.doc = "cb9383b6d3fe9ffd5926d10dddcb1ea758aabda232f015b22f61dc8a9b316193b30ca2d8e2b849b1c03d92e0073bba6d90cc5b3b50f47b28a745dff2f7229486";
+  sha512.source = "0155261e5a1a22634a4c6c779054198534bc2b6ef1f1d85d471a25bde59b7e872db01627f08db6dc76c7fe6fd08d9a2363c47e79425c80ec5319648c994cbf48";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "cjkutils" = {
-  sha512.run = "550177f316936cc107ae6902b334fa3b41f4955a51393ec2243dae92f8dc1a0547b3b181d6048bf171ef843daa2563b6431f5520b382757b4ce80795c5d02c76";
-  sha512.doc = "036a708dc3e7478ac47f479fc84de4130966b35bd6a8c57b5085356b5fd8a31f5397e5c67e60383fc2c7f8c3707d6b712afb9fcf094dbbd3d7e9f62271bd8683";
+  sha512.run = "0c6e2eef5022fcdedee3d3eeadd87a885e663f92274a4f671c039197b6fd886605c4d71b052669dc8665737f38f2ba02d070f75610384ed53d4e96d66d696457";
+  sha512.doc = "50437984ba42ea9f4d0a23ce78110d5899cbe205a46150998a2e44b2710196a0b5cefc44fe3ff78567e4372f57bf9f9d7177dc29ca7c37785b56f4bbe49cf11e";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "classics" = {
   stripPrefix = 0;
-  sha512.run = "1c7a689bb539df3adabb0da186f6d84382c9e0c682ba7e03fb279996e715ee1b748bf8aa0a5cca5fdfc465091dd4b7dd1f56cbf88638d656b85e5bbd6c02219f";
-  sha512.doc = "9202252352fbc2f3447d19ba53bb2a64c0d5c26ac6868a52f03a0cab52cd3fa208d2a0d2216af145f23d033e917670ae0d87b0e107e03f4ecd5f7bb29651927d";
+  sha512.run = "e92314a21577423aa48e718d044de1e2abd1c052f6f85139a5d20f99f670867bf448a52592ab267fa8fc88a96ef0edc23637573f16859843dd1e4b9a5dce489d";
+  sha512.doc = "353b486d22807305031d5b25e2a9d403da220f217d4dc7ee5b2d6c42e5127d004ad8eabf37d53f4933121961120ac476afa8ec3535498d1b5e4bee8c889fa53a";
   hasRunfiles = true;
   version = "0.1";
 };
 "classicthesis" = {
   stripPrefix = 0;
-  sha512.run = "cfeb589850bf340ffd5ee61cada1e153a9253b0fbc59fc5a43279d5c777e836face27d591ee9510262a197bcbacc8e1fbf86614517fd4bd61cf4364f07d2334c";
-  sha512.doc = "5a4a85ca2a1a5485b7b33187432e4e602758e88da31a6cf77ad769aea14c2ca58363c7d1808f04c75316fbc92ce8715c75cbf8034b85dab4c76ed75c495d7adb";
+  sha512.run = "9a8c0c9ad0d97f187cf66679613514000324a72d2745c1026889b73e5981e0dcf36f388a0bf630f5ab35d28a39ae50ac842db28c214442ccfd987ff2c132ce7b";
+  sha512.doc = "3eb82d6c0f951a060e56c763e90ec842d1692326501f538d71780f4a0981edfda33b0ac0b5d00ccded7d3273fa69d4dd5d4a9c3557d9a69e1c3bc17375fbf43b";
   hasRunfiles = true;
   version = "4.6";
 };
 "classpack" = {
   stripPrefix = 0;
-  sha512.run = "66aa1ebaa197c6a01dae5f891855b9983f231ed1bb231616e230d37f03175b2cc238c1e4ca60e0765e629fee6f4401606269957a76070c810be6d191726a4aba";
-  sha512.doc = "a141d52ca86b9d5f9aaeaabedc4fa61568a329ac5bcfa56bf3a0d4d15c806c4b47b97372ae44e58b24e48d71d4e560a38ac012853badc47cc352705e96c3d930";
-  sha512.source = "77192f6ab8a07009f3d006489575eed66cd53c9c171efca060404df11ee26e053856e497bd2fc128899adddc9ac4f2fef80c569faa3ec67350ec80b8b111c4f3";
+  sha512.run = "ac5e26d91107bb0166040c990e586b6504eccad7da3ec084a49b141a1e0fee2725939f10deef5af1c4fe89396bc8fdef86f3bd2e8de9099cbed9700867700e8a";
+  sha512.doc = "6a22b10f5630a52ba85d113ddab8dacae0ab8148f62d4f9958bf3619c2d88f9a1f3c9778e41773d7b9d392ddc4d6a30dc3cb995a24072cc60b446896ca48707c";
+  sha512.source = "48762603b928b53cd9391908f2b0497e766ab516033a246aeeed014a99cd09a6e18f1feecd107067f58e3ecdad5ca37b4004890c4ec2e4bcce7e5f67e6d03724";
   hasRunfiles = true;
   version = "0.77";
 };
 "cleanthesis" = {
   stripPrefix = 0;
-  sha512.run = "7d60dacfbc66ae1305e58497871d1895734288d932744eabd59974221f7ee5d9f52eb4b9ffe8f722714128d332c85b92deaed0cab27a70c25042d0a3b142c63a";
-  sha512.doc = "46da07fcfcde56d4b8ace8aaa204a58129407a19648ccaaa7e309bcfe4cc9a08299fea22184cc91011bfd844e6f06dffa8564c927159107c00f1fef57bb643e7";
+  sha512.run = "0f12e2eb830014bd08e742ed6dbbc83f9b6d17141a4c0a6c00934ff1d831ab7a9e9dfca6931f5842284845435593449b11b8ed9cc29c7c607fe4df14c2b11d7a";
+  sha512.doc = "6042357f473bf4bce302b6f43d67fadcf0f449a3f1b1183a26d4b04375d60013eedc7389b002c1f0ed62ab1a8672735774d5aff0d7301e9a5e435080a4181c65";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.4.0";
 };
 "clearsans" = {
   stripPrefix = 0;
-  sha512.run = "e0e8f2a05748cc6cf5ab97d4be02d2694684a74fbeda56fca3ffc4210422d348c57936aee9b399edfb53fbbdad64168fcd58ab28141e472a618d2eedbb117e36";
-  sha512.doc = "4f6589aab2b4d84131c6ab2f7c158e42ed75b6950d7a7dd41d0028c939a1e0659603f33a6fcb802333db030a0216b89326f946dd9d642693d66f4566f9e5d96d";
+  sha512.run = "af8b236f99abe2d0da1c0beb3237918649b7fe1d76eedcf1a5c409d5bd9fa3c89c6dc59daffb787f3e41aa3d45aaf3e78fdc2f7e67b376d958b00cdd111a57f7";
+  sha512.doc = "cdf49149657826202661563a01ae28a290b8fd9c7fd2395c1822bdf9284eaacff61781f5eeb0561c76149559614a59dcf0d03b765c4ab60151739f92031dc2e9";
   hasRunfiles = true;
 };
 "clefval" = {
   stripPrefix = 0;
-  sha512.run = "6ee265323f21486a57975543d431b036bc0347cc598232d96334bb1649cf3850e773e1108210212f2e0b440b8a4a39d6d8f0f5835ea930e4f3e5a407cbc54c36";
-  sha512.doc = "270e7e78fc901fc74622c77f86079e042bc4a035e07121e4e81f9e06dadb2d82fe4b6402c636f5be0348fe2ce1a49cfba8bb7f353914a9ebcaf67e73425c96cd";
-  sha512.source = "aa89dfd1e6c6426e6ce6df27c4890501fd82401b8d7a455cebcdbed3205f361af8c417ed9d05bc554931608becbdf066254195eaa89c68e21ecc9abbaa92ec38";
+  sha512.run = "8bd7457b6f8144982781b029500db910fff387f3872d09039a2929c5e62dd7dea56e22cbc40036519cbb2060ba62bcc7d621dfd383493420a88699660a796e03";
+  sha512.doc = "5789c53aed9c4bbe92e8c36f115cf63e07c7e7c35c26d62ba2be41eff8408c8e60f619f565cec1fc0e1ed55f2c571ee6f8115ffc2e88d9917fff085d19731694";
+  sha512.source = "119c560be9538b97bdd4366e8ef59b394aac864e54554388c98b7e5ef62fbbc0f13c4263f012fa6842081a97433caa318bc2eac6aa10c4b8a8f433ddb3f02090";
   hasRunfiles = true;
   version = "0";
 };
 "cleveref" = {
   stripPrefix = 0;
-  sha512.run = "1c5402b743e035fc2b903f4a3890c82d108932cd302ac54165ae17b2a3231e97c30fa6840833bf5c89c408a667a69f73e0e8fe614e7f8e05b986998aee5c6278";
-  sha512.doc = "da89a6208341219e452f56ec0c1bf669e85bc8628e5ff0222887efddfbd702a2c1cd492a8711ca70a2ead820144efbff3830ed10f4d600984f5de97a7aba29dc";
-  sha512.source = "ee718abdc24945923284bdf4a16ad7dc29ac8185cdc3f35e180b3847af2646d757ac8022315f133864afe1537b10588080195fcaea785166b081eb58c8288bcd";
+  sha512.run = "669e122c22c55c1fe95353533a2c35adcd161080ab2e4f3120dab2286b60df316f4de792e9a6fe5b971d622bc2b087061836a3c0aebaf0bc5df17c854f64990b";
+  sha512.doc = "3885fe13cd51967620f1e48a25a82c2a4916b07ee45c963dfe9ea933a920f347512cf5c30f29ccef9c49c3862df4c9176fe0fa57b1043d3ac230b7cd8b3f8d78";
+  sha512.source = "71a49c96a943dc152cc1621e9e0ce1d0fe62762fa51f670ecd4a0e5a3613ccc52d41db355cfb0c31fc81867bdc07c26acd3e9ad74e0209459a099be823df2308";
   hasRunfiles = true;
   version = "0.21.4";
 };
 "clipboard" = {
   stripPrefix = 0;
-  sha512.run = "f0b8c271c286237b90e3b10645e906735b78bae879154b184c7ce32554958148b42550a4a416f68ddb494cd788565e79ef65e9eb76c3eba97a82cafd93ed49e3";
-  sha512.doc = "d3082aec1a2090c2d2a9260d367465d7381af526510ef59dbadce2039ae1c0e4b9a95519f2a4f1055a85381645c88a72d14133eba5c51b2e582c26f5b7a2a35d";
+  sha512.run = "19aed32c2dc229852133a44fe5ed692a0d3194d374cc77e2301314b3fff929b834fd4df82e811095049e64ba127180eddb77fcc4211aecd2db40e8124a38d55c";
+  sha512.doc = "50e7447b35c1d73c1d36bab165a8bb476764ffcc4ed7994e1bc63c6759baad0dd6c2c1f6a95334c7bf649dd13c8e79d17ec536120f1112d621e833b6f9f80578";
   hasRunfiles = true;
   version = "0.3";
 };
 "clock" = {
   stripPrefix = 0;
-  sha512.run = "03dfd63d161abc344749c42a97ee6579726866614f1e65d0e47e96eb016b4e8b763c3626ae74300ecb3b34545c41b94c211fcea13abba5392cf0d40caa7ad22a";
-  sha512.doc = "1dddd2b6c80c7badd7a10ec93c5908c7395207505242cd2a4c826d9e4e00767c9f79bd701e016d6bd8c6e9015306a02311460263d4b08e349e40147bd49d336c";
+  sha512.run = "ba378fe241cd2e51b641f0edc4bdd1403477b392e0a22363bcf540b513c1c15b1c0e3ab37020aa77ec147ce59cc7ad6f09c86cadcc0a77892a1a798c36c411aa";
+  sha512.doc = "d06e263266ab91b48ae3238af6ce283c7f720c2113d95d10c7de6026b4557b0fcb22aaec44caba2f7ad743e578e9840da1b116fd3372558d545c424159d8f2e5";
+  hasRunfiles = true;
+};
+"clojure-pamphlet" = {
+  sha512.run = "a420e5548af550ef91103a82c5bf8e43345abfce69bb438d488ed9a3a62db1e6763ea1c17b246ef307cc62d28b5c575b5da07d5857241e21ce7d789e9a2a055d";
+  sha512.doc = "23f6cd97dc5d521689555ec95a695db0f9cae8873d28e2bac2969f07e9e8d2f7ca9a6c8105ca127da202d811717b3c1f4219fe15f9af01036800a083f065cd09";
+  sha512.source = "32f90dabd0e73206930f589a97e8630c25ce2f95f1657d08ce71cd36241bafd6c2a79c483805f7574ccab29deb478d1ef8837fdf2e922592e6d8f18f43121a14";
   hasRunfiles = true;
+  version = "1.3";
 };
 "cloze" = {
   stripPrefix = 0;
-  sha512.run = "15bb91a94ce187d17a3dd8d714005689cf9fcdd3f0994ed31f931927f79b9e7b01c7121801f80423f3883ce5cb1e76c8876d97e72e43b017ee678a4f11a006bb";
-  sha512.doc = "66aac2115c6407af6642fee3d5386995b3c32efac87f8c013464ebd9537f4e08b7d084084477d387d0de7d0e5b933cfd121098a13c64816bd64e8a9f93863532";
-  sha512.source = "6e84a3b7b0d7dbc35e84678df95f6d8bb1580c8ff9a816e5906091136a64abccd063a82781d6d3aeaa9917072a24ce157c1ca5f8aa331b809be02a4a1ee6cf1f";
+  sha512.run = "e66b5d9086d3d6ac39c0664cc4906b467413b919a64538371077bbd9088d80ea81276ce66a64ba29040068b9b73ec5990a7d4422608ce85b0d94e8b2ee3bdce2";
+  sha512.doc = "c21e8561c296efaa8b4c30044f6121736d58a98d910bf671d11f1931d29ddd0d626bca69ab6f50225a3cb588346877b76ec43426822a869e72e266ee5d65cd5e";
+  sha512.source = "fe68d18164ef34259dcc42c4ec395b929c92d3758a8c9e911c2f20a136c2807ed229612db1efa6cb02704eac6924b9ac8b98742a546e271241013245d855e50a";
   hasRunfiles = true;
   version = "1.2";
 };
 "clrdblpg" = {
   stripPrefix = 0;
-  sha512.run = "21bd4e41fe6d526bc2a31c64f52f784159bbdf1f57f9051c1180c22541483030f74b41beaa1cebb9315da063c3dc8ae58b7ce42e9b14d06e81d1bbbf87790166";
-  sha512.doc = "395028b9f523e06fd61688e3f6a31a1b84e4b32d5c5f66a5fd8d112555f7a13458bc6b32798b4a9c9d6670f85f44f73f925a0c63866f1ebe351eea239e912c1d";
-  sha512.source = "8fe423e789d79401be5d15d486c1d770c342ed31d944cdaff6f1c96c0485be580685fc9f378e14f8d518587161efa8c8373328e4a485e8788e3a3e5eef883cfe";
+  sha512.run = "bdd3de3ea16cb5d24879bcf2255bbe01612f8af70f663b9ac578a4ac98910119ea96b8a5b4a59d25c0406c1b33786997ee2940da0273b025455e334b48f17b7d";
+  sha512.doc = "53ba8c83224ee6573cd1549e7e425fd524b5caf65ab139b67e7de9b32bdd5c3c87f5af63c2c43696554fcc33c8bff4690373ad25582b23bf51134b9cb6301409";
+  sha512.source = "8663b5fa032e10cd77f4f526d30fd16302fd31c1e5ee268d815de3d4b9aee9fe6688e5c94ba50f5d0cb2bb11c03198401bb1a3bd03c431dece50dab65ae3d638";
   hasRunfiles = true;
   version = "1.0";
 };
 "clrscode" = {
   stripPrefix = 0;
-  sha512.run = "78e77750e9d78061506e6234f5132b1d2e38c4737c1925aef8e50c3da3720d219bed1bfdcc2448413ae22a237b3cb9917ec57ab63a2a9cb60a4f7ff7459a7e41";
-  sha512.doc = "c01b6a52de1ffb9bd13edb0dee69be08858d0aff29ce80a49ffc087b522df2be60c8e77ec4844e938b05de4bffd0f40b789d0aa48de0731b5c696170a863d7da";
+  sha512.run = "c26ac99b2f097b3b9df8bcb3ae040da959c0bd238be75a50b3711cdf0b7b0024ef40749169c0fe0437aa8c845b3ee9c9ec4ab46fe31fe6b1e28019fcd4779076";
+  sha512.doc = "b74c858703577f79c89b4e95a0fef2012a756defda525c25f2945952b6637fba7ae4c30791a5d566267a16627bf7ce991c4edf726f7106b27b2df3c2b81eb765";
   hasRunfiles = true;
   version = "1.7";
 };
 "clrscode3e" = {
   stripPrefix = 0;
-  sha512.run = "1ac50ca797a0866fed9398dd71cd2cd7d57fcf9480e06bb18926bca216bf6c13e7304ce1f9b8939ac4883bd7c385b0834b1e90318a7325a7ac81024fe543191a";
-  sha512.doc = "927de54698852def8741ba1cc1b104aaa90effa6cae0915f4bb7e3cb86a0ad94beae349c36aecd4c25f15df0c21035cb699bfbcf49579cb9815a99068d52cea9";
+  sha512.run = "eb609d4204f9292b387fb8ecac13eaaad77e1d32870cd29f4996771acc5f8e82560e3fb9dcd2c8284888ed55d2b7bfbf931b50e01b0e4b8790c2ce5ce4445588";
+  sha512.doc = "0792d458ee46b44d37c31a5bbeaad2257ae1aca818ce33d0b1c8ae96b7e90ea6e06e9036ce61063f232c3829ec36bcef58f111b5df0b25d209e867ac53d322d1";
   hasRunfiles = true;
 };
 "clrstrip" = {
   stripPrefix = 0;
-  sha512.run = "121553bb3e2b4a1bae58aa86816ffdba87909ceddc8f6b37b2d4320231a9159207ea296aac7c854ead99f4838e62cec51968fae3204ab68d8f63ff71ebd7cf3f";
-  sha512.doc = "4867c26010d526d9eee20e4fd8514ecc6aaba9f254de1e45a02112b74b46daeb38ad8be9138c74ef90c5ad69769784e23e440c60d051394b1cad277e0689d8b0";
-  sha512.source = "e783148b4f588d09c0b72b475ff2d22fbe7106ce49c808e28556da12a16154fdae5f7c7321201a873fee37ad10b0e2a251e110d271d93698ab66865b0dca5ab0";
+  sha512.run = "bfa316a11232b3d1ce78641dda962918788186a7e164cb49829aebd187c72305adba6cd51285cb9b36f9c31d7d0b4454eabd488038970d79132e0c941e989c75";
+  sha512.doc = "a9d7648048eced494766636395fe99177a47456d61fd3d88a70006c718b259f7cf13e39696869230c098d696f0c12e505a4eea33201e2414f6e1833468eb1648";
+  sha512.source = "f63197e26dd88365a5c9af83f37ecc04281fda2362bfc79e29d35d37ddb4d25892a89c7a721cd04ab9286ca19f382d16c2f2df89a5242f12862890f177b8f6c6";
   hasRunfiles = true;
 };
 "cluttex" = {
-  sha512.run = "ae4c45d88bf79363a09bb670d051983ceb8ccc9bf3a14ffb33abffd737b737cfe5001f91d7326e0cab3b3d030a30afbe9a715bff0fda01cfa1646e11d3c07223";
-  sha512.doc = "6660247cc48ae83cf5c48f91223aa6f0dd63cb871feea536e1dd32e773e00c096d36faf707347582e0967040516f769fef39edbe546fb8409dc619b4b75bf677";
+  sha512.run = "e6b721b8220a7196d0baa93878526f76f8ce986ee586ae8a31344b674061012a644b2d492ae7ca4f896bd90648a3786cbdb8965b8e25695eb751fbfbc6692ce9";
+  sha512.doc = "904b3594c4c90d906e7ab801a5d2bf5c3297cdc5a05ed4a9fe3c97ef1330b45e357356a27ccb15d3deb76d98764550da6e84d0f2f9a845452ed382f1a606a50c";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4";
 };
 "cm" = {
   stripPrefix = 0;
-  sha512.run = "ea93b0e74fec5e00ed2d3ccc4493cf2bbd747948da563fff3ec34ea5fe1c58b7fb30ea4a1a78d2ebb08e69eb6e3ca1050a66011c42d00a4f1fc99dbbe8fa20f3";
-  sha512.doc = "e1a396b39bbc8a9aa28d904aad10dd608119b9d4a786f834eb971ecef45639d5f997ac87fa395cef00818b01dd43a8a8b5539c2476cba35301b0bf84eaecdb86";
+  sha512.run = "e939416545071f5c445d866255050cd4302c3ede6af1e080909a68b6e4327ace1f90af4677c68c18d1a85aecd4d2ff346e13670b0be59c76e11ef6334991aaad";
+  sha512.doc = "d27b43854fa022de53379a84087657bf97ce5475d70f98c783f790e320d78daab2f002f49f3dd917224d30e308d78dcf0855325b39014fb0fe5b50d645c9b9a4";
   hasRunfiles = true;
 };
 "cm-lgc" = {
   stripPrefix = 0;
-  sha512.run = "81bb2ff1e126d5e4d4dda698885ea65a2931bdfe0d2b2f504e0af4d4b40f95d8d2cabc655dab5ae0659db4efb2c298b27698368871a4b4326ed47ca4b947f949";
-  sha512.doc = "d2b09136f219bbbba192e68c520ef9e504fdcc5d9d2d60ce00f6a8554882c747b026b6e3049a877d537c351dfafe0c4b24c7b4b047fc88d5c5d1feeaf5c6f163";
+  sha512.run = "5fcf591d132314d8ce160e3070036f6fba56962ed40d8fee7b58b0e8219a8124bcf380b1be4e943209ba230f05cfcd374c96e3e799695a018356d12be3215760";
+  sha512.doc = "eda2082e865dec858a010b757a2d60e0be9526d2e5f2c276d1c5e8d386a71f4d7631d1af8dee009f9d61e0682904697bfdc89222863499c8e1aca2b11d0f3ed9";
   hasRunfiles = true;
   version = "0.5";
 };
 "cm-mf-extra-bold" = {
   stripPrefix = 0;
-  sha512.run = "08e326e1d9a550083459f1aaa3d17330509565f7bc9a42955a05def87335815dca713592ce77a181894a0e3846cc30c913b0c4976335c98991f1ad322e3bc85e";
+  sha512.run = "c9a9c5631ce016112ccd37ac3325c753e608bdc55e1de524742ce81f1ffa6c53ad6d113346d9d90cbe5466fe301d27050d40bff258678df840c693987afaf6ad";
   hasRunfiles = true;
 };
 "cm-super" = {
   stripPrefix = 0;
-  sha512.run = "e779df1211337be41aaa36c25881744f94c9aa57fa87d854c9edc965cbb65579818aa9129dceec9d747f3740ead0c591c4f93d0a4609e59376ad53234df37ede";
-  sha512.doc = "8b12ff0a2fe86e7daa85f278cbad6014f2ddb2f8e8a7831b6d86ee2d550bd6ea437ef9fe68b6815a3ddeb4fa2304178d08122c197951a5e739009746ae072d7d";
+  sha512.run = "45638ebf4ef2ffb7c4b74669ea089a9f8d3ab4b98e555b3f9b2e9bd9732b48fdba61dc91188e2c8962b8bfa3caaab31c10d1ccd3e0aa9e26197b148e59576f8f";
+  sha512.doc = "5b524c55dbcfa1db87484d3437156ca9987fcca66e2c2e6d69e562c48ae708e51f089051524f324cbafb72a29e08f90e70c408d7fea7341e9ef0b5d53288b7d3";
   hasRunfiles = true;
 };
 "cm-unicode" = {
   stripPrefix = 0;
-  sha512.run = "b1b48d8b0ad636cdbd2d8d9b24d2d83cf223df5b16bea3f3935ef2233120ea7e77261baa17436b0e3281c9e6a285d180fed4c6f566e0b132efd90489021158f1";
-  sha512.doc = "d2efbc103e829246d5e771f0788bfd491c6b227927bcff6d664acaeb14763a7b83b9bf1c0e8690356f57723488cc9c861e6c3e401f6760109f6e6763485e930b";
+  sha512.run = "b50e647db3be42cb8bc7f1df849590b4f3f8856523c57d16aa5b42237a3f7fbd381ea5f05c1337091a66fe667841704133828141eb8c40e50f595498949acd65";
+  sha512.doc = "162e407cb299b1a4ee353fcd0cee7eee048f8356def550d591630f12924b4a5ff0e9d6f9a0652c3dee7a88e5c2521b0c23ba4549bdfcb21a90c1949ef566183f";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "cmap" = {
   stripPrefix = 0;
-  sha512.run = "0cdabf9c300accc209c4632683f0561158d79bd78d2dc24b26a49ed074647ef5e0c4fde5270a44bd038138dddf8ca63263f62e55f7236dc106e47aca2311bc44";
-  sha512.doc = "050904224936e112f17e11d67a3476cc817e8bb5b4ecdbda3a6ca2600a92e94a416c9635ec071f779910695eba64b6f1ba1028cea6b00070e69d51c731bf6d09";
+  sha512.run = "d907b1483bcd8de1b2b3158ad1a90493e86a27bd60f3ea901011866e81d57b22a555da0e54340f77ae9584aba3960959e89071330d035671c549e887fbedbdef";
+  sha512.doc = "c3ca940f836f5c5e433adedb404d3f1033d8efde61bbd9a043356889377e0914fe9dcb8cce8c2b9252502de6af3cc1a8bd71dbfc61e12446cc07bc9d5d2c2668";
   hasRunfiles = true;
   version = "1.0h";
 };
 "cmarrows" = {
   stripPrefix = 0;
-  sha512.run = "ca8293dcfdbe54b240e20f59981edf36f67de9c28ddefe968bf344bb2e9025dba3aa9ae080d9e57a615590c611daccdfa5cbd069e363ffa45acfb33f3c31b560";
-  sha512.doc = "548f581bdf1b440e1c558c0589bcc9d7cafebb65c6cac470a29c6fa46a6734711709d8258e532bec9892b16b4772828fb1985655b2af34aa03f03dfb1c27e650";
+  sha512.run = "5f56f9ab77b2f250aff664b0007aa17eccad96d6f674ae7417f610b62d84123fc85bc80cf83948e0df2a7bfb721300e149fc764b03638e5005cc4832f2fa5544";
+  sha512.doc = "0bc738eb48fc34b7cb35240622925d43e5ff5fce21b1c560158b2ceee2790a284b33816fd192a5b0161544ee5add98f4e3ebe7dd0165273d53e5ea2de7d994ac";
   hasRunfiles = true;
   version = "0.9";
 };
 "cmbright" = {
   stripPrefix = 0;
-  sha512.run = "9d935fc8714aa891367f8dc8655add435337fdbfad83eb3b3b7cd5a5a797133e2a41ef0d8ea1a4a839e2c92c9f81f0959c37a2ca3ca3354740a85de407204241";
-  sha512.doc = "eefdb387f8abd7941ed945d5ce74cdd7614dfde26a5c0af52b8711280f9beecadde5e130985c9f6abdb663ab0e683d80f905c93c86cdd130d8004178b173205a";
-  sha512.source = "246e4f17c133af66ad84d95d78836cf34472227908ca62c55ebb2c81a1ec94ff16cfe850885c40e893f8d5b4ca3adb0126a9ba4e4b4ab2420851a1a4615ae4d1";
+  sha512.run = "3251c7ce9f139a9e553e3cf343339367e98e6982850ca3d2a2087efe5e26f4828597e6f5c1ac85567e81897a09239f5be717a6a85d04b164442c9c5c53ea4fac";
+  sha512.doc = "7add06e9502ab0bf912e811afbb66caf7ac83d60b6e2575dbc75709438ce6252239a43106632633e2d90b2badd46bb800533c496c811de7316cd1766456058c9";
+  sha512.source = "5824d33c26e94cf0ec8d2b69d0c80c715a68ef98ab5e2025c84fc20dcda2be4b89125dfe69400f2f27d46b773c5a3918af533cc2c25fad01694776bf5a546879";
   hasRunfiles = true;
   version = "8.1";
 };
 "cmcyr" = {
   stripPrefix = 0;
-  sha512.run = "52f0e727f4b1d53b5adc196d20419e9b97d70cbba2fe477aae86480c26d835bc3254e9eb402b4bcb03f0e622a30734a3d99e530c7e15a137493ce48ca5ec8614";
-  sha512.doc = "1c620d7bff899141fc6ba221be566a059ec412b4bbeab3e7a3f23c8efad36bb5eff460ea5ab07f0d507124ea72d318489a5187302815d7a11e9454b9fdad6a13";
+  sha512.run = "452551d8563b53408a058f847a4a8d3738ac7f0de1da15aea05208c030c67f904b848d71bacca2f6f5ec3e882cdf0be58a4037ed7dea7c7bbd2aeb08776427b9";
+  sha512.doc = "748c60e2e54f49bc6afd2867574919003ad6412d721613dacf6f8dc48cb187ca915b1a5e7286a47db7087fe1133c8ceabd998a8c60b91e4d60264b6fc6253190";
   hasRunfiles = true;
 };
 "cmdstring" = {
   stripPrefix = 0;
-  sha512.run = "b9c97612aab11be19f4e4e2cc6bec679351c6ef9f7ab98f8eb5f7dee1a6a2086dcab59298a81e11ba027de7405f56bd123d81eed8464646813406b22cfa54243";
-  sha512.doc = "899f447a252751fd4e5101d8e0544f4b5539b3dae10f8447ba3055b33a3dcd99b4040d266033be0459d5d3fca9cb349e851d07d45771ff31b9fc1bc9a72b9d18";
+  sha512.run = "b05a8f8d326a6546b7c865e4cbc1afdfb0fa50993f4ad5e3b3a1e1781be9ed7590e1dd17b18d58f8a96c83aa2fe6218328b2df3e193e2dc7923d051374ebc9ba";
+  sha512.doc = "c102fcd054597d84d98a4f74656f36a9e1aa53623bebaa4ef39f341ddb889062a0e0c705074a4909bf50ae3cdc9a0e0da06fc6b12fde10bcaf5391fe6c792818";
   hasRunfiles = true;
   version = "1.1";
 };
 "cmdtrack" = {
   stripPrefix = 0;
-  sha512.run = "bc0742c601e2870fb361db3cef7a334307b41205a17e681c63c783e0ef17f2f86477611d7b9b54a975c2fe136d5ec9577a1a8b7334f8f9d7e4e0b44f9229ab97";
-  sha512.doc = "5a63edcc2cbfdc77eace7fa874d553af1fb514dba4b0826643a1e536d509c847090b0390b61b3e1d87757ecf123afdd7e5528f25b3fe3300061db5261811b97c";
-  sha512.source = "c4d7128340c8d05649e4274eb8eeae5c9d550350ab58bf9cbff8e4ce074698c4c782a107418b2d1e7e6d7568ad70353cb8a0da367d1066b4a0e862e0c844dd4c";
+  sha512.run = "22de643d5b45f3898a1aeee44ae88594b545af34bb5bdac937753c13d31071872a78935dc2c73fb22c0e591d164f618549a2bd67a00550f3fb70753a951ad4cc";
+  sha512.doc = "2a69b054e1de07b31426e653af45125824bd037cf5a24fcde1f0fe1b6aa3eb925688959aa84094ecc65954b92030e1b78545db18f08a39990c4412d487ce2284";
+  sha512.source = "c6b02dd165bfb3ab40ee05aa3ac9df74faff8167de021495fb08e0d173b83f75453915a634d81d260d4739166b2e5a519b8cecfc7807d25f396c27c5b65f58f3";
   hasRunfiles = true;
 };
 "cmexb" = {
   stripPrefix = 0;
-  sha512.run = "7c03e073ab795f009aba3891bca161576da870076552d4f41922053875fa0f980dbe04708d0487eb3338799c0e2070ea8f8e0ea74e7422b60c03e39d9c88cac6";
-  sha512.doc = "d63d244445426262c2ff79ef7267d78f2e24d1f884b4f5df8884061b496091917c58aebe74ee198cd11e16653627068a68cebe123d93606adb9e555219831043";
+  sha512.run = "1d5a3b2ee73dc85c2e19e7bd8bdf0eee0283ca161ecd42dbeffe0443849e73e09113220ca6e09039c0daa684b2f372e0f8b13bdd711a937a09cb8a8fb63b4593";
+  sha512.doc = "f833bc57edead21d4fcb27c5822849f26cbd4b434bcd230bfccb190c94c47d2eaaec4dbc9264c6a55ba24b2571d2607197abfd792423e03b7013c478e261ee6d";
   hasRunfiles = true;
 };
 "cmextra" = {
   stripPrefix = 0;
-  sha512.run = "e826041c56126c2ae2575c387c80b683da50bdf2e8ab4e74be708a4d57e9d0d37e66ddde750acc26f9765308a6a2582e51281ac0969d1487a53ae6e9e02b1788";
+  sha512.run = "a9cf3d6157c6341de13f400bc496211912679702606d4e6c488231c41c4a70053791d031c7b6973ecfd68ab8e28c7d56d41a10492af7d8e4ae66b6eb923db370";
   hasRunfiles = true;
 };
 "cmll" = {
   stripPrefix = 0;
-  sha512.run = "24d78402c511735555cff903a001c92d6aae431e902f9ef31e8412303e9f13017483e65afd02edfa2cbf22b51081c0df7ad453e154432abe4226e9cd8d7ba649";
-  sha512.doc = "dfc86f56d8d5c82ba82b27e9ccf00d77dbf0a0c0682a94c7bea1279894dc3aeb5180d5e1e20942aa50d1b0b52f89a42fb588d37cfac7d8063633ee9e87613391";
-  sha512.source = "9c423b757856b6ad928be40fe0caf9bd20eb78b882cf0e95abfdcb9b7a77812bb90a2484fbe6c071c4c6dc0f2cbf0fec7d7117039f25670122e999cb092a9642";
+  sha512.run = "8470819c5a37b3d8d1d44aae53b62ff020087e1125f381e51ef4a639fd6b2394c3d6f15a3a86fe70e61a4545213059bde6fc3e9d06cd054e46218e90e64c0543";
+  sha512.doc = "71a7cd27a2744e8e3ab09b8fbbc514eb2e38d9740349139212f0861c67948fa1a98728acb1d22a4397fe95d8efd5c6fcb87a1843a1f9dbd0d161e2e835e1ac11";
+  sha512.source = "de17c8e0627408358ae3de41a5bf557d99abf76bb480ab28ef9df424d8b7ae1f73ca2e30f4eeb26ac9eb2dd36ddafa143cd49ce6618b2ca36fcfc6e22e83d217";
   hasRunfiles = true;
 };
 "cmpica" = {
   stripPrefix = 0;
-  sha512.run = "c389a7f4c9843c8a3d93d405f0bbe670646b8d3c058ed9e18ea6206b58692e27e40455d22824f5e48826943585189415ae7a092b5704b71ec86f9b41ddc068b6";
-  sha512.doc = "60234a925b7bc6621d5608172616662b1a54da0139af055ed06ad29dc17385d631c8ae616e5d8c06f54143c371cdcfbb2b9f50f7a3703ffdeebacdc6b3d733d5";
+  sha512.run = "2aac63861c3c1099054286647917f4ab594fd535de9d513f790cb70e8a38278ffda0be29656e1da57206c7bac21928cf5179bd1cc22f50e0f10d1ca8083f4b86";
+  sha512.doc = "7c6251f1c5090328c93f6ec224bbb6d05433b5471c6cb8b4d7f3b9ff05f9be8ad49587d24a34702fb23b9f1803ca3df3a638b16335944a9b2dc35422ca8bf9fe";
   hasRunfiles = true;
 };
 "cmpj" = {
   stripPrefix = 0;
-  sha512.run = "d73ade0f5827de80915d898085283504f418e54188a48de0372fcfda69f523591725e880dc7eaaa1e3b42edf734f9ff7a72592f8e816eee4697e8b83c270133f";
-  sha512.doc = "7c41b1cec435f83e5752be493dfb81aa9795caedf09c00d7edc206a51286b9f3e35f35ca58f99d185066201fc1a6e8adf3da04826efa2b7a9dbee36bbe7f6581";
+  sha512.run = "31e9fb352cf03797436bcc1cd0f3d16b2ff6234d6306770e940f59eb77392fe7f616530febc4b299cc52c71036358b203e7cc99256099093fbbd4eceb71af4bf";
+  sha512.doc = "3e2b162c6c04f409e1dd32ac4be59431d65e6b39e813e091bff0cbdbb9fe101c751664df8f83704d38daaf4c7c04db24b22e32a36d3cdf07411b73a1d21c076f";
   hasRunfiles = true;
-  version = "3.01";
+  version = "3.02";
 };
 "cmsd" = {
   stripPrefix = 0;
-  sha512.run = "1e294d125e21a242fa9a9a4b8f77fb55eb24f8f587a2a76014bef7a38f0989a26cbc6fc2085c504c99599eec9fd85ed17453ce874b72be1b969971b3861128b1";
-  sha512.doc = "2ca506522bada7c003894be5e39ccec8770942f99086a231e928a69866917c64a0d7073ca0d6ccef7d6f81117a25bf616b90a853b3be13e61066cfd72f3ea2d7";
+  sha512.run = "97e1830bdbab04e321433f43e14d65fd2e9820d46a6fb3616f2cea38a54208e80e1238eba7b5cfd20137f6e3a3da3a1586a7caa3e0a495ed91235a05120d444c";
+  sha512.doc = "f9994a39f6e14f40398abacfe0f4c1a9cbd71d7b55c29787105fdbf8212953fb761f1696cf35196d446b9905a967d2908d7e41e7742e5cd7dd538ac0e7d3f5d0";
   hasRunfiles = true;
 };
 "cmsrb" = {
   stripPrefix = 0;
-  sha512.run = "a4fb2b0e56703cb5c9085612c19490e2a4fb2f178e8ed76fdbcc0d272cf8bf2b2dfce8f38bcd7fc5edf0e01acac6fe0fc4c4187373350052d9d2d87a5b3f1d29";
-  sha512.doc = "2d3951728a59c37b9ee1bfd252016fb2bd3786afa073e0c91aba3275f0398d440409026c0f9212fdd98ae8638465604ba7e2fd2c518bea879409ad37929d369b";
+  sha512.run = "71114f560befd3f1c7586dbdde38c12b682bf1eb73019d874b1a55e89ef9829786623ad9f53d2dad99361dfac09c9ec011dd7018d07f48d483463219df18baba";
+  sha512.doc = "81803d7ab7c220b64684ac2c7bf3b56ced62fafec33e5ba2ed2ab2bfcc4c8abccfacb5614a853fbc1ad0993bd6f221b41ddbad1c494558fa3d4af2c27a51eafb";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.1";
 };
 "cmtiup" = {
   stripPrefix = 0;
-  sha512.run = "1c274436a9ab1d3ec8bcf73f48c6da7874ba2bfa3e3a2135366a1dbf9a68b1ac30245ad7ce8c10c277be44276717aca04b2061a3643debd22d6a6d9722f85977";
-  sha512.doc = "e96081797ddaab898159e3dcfc68a3ae291a87bc7f1ff03a414d783782ed356c8392269466c35e49e011d7f0d5265d0185720825dbe7bd0aff76432b6f61663a";
+  sha512.run = "9412576d07ec490fda4dd01445f28e4b966d2664a81e5f44a574019df1eb4de4189b8d06edf7a1a3b57e8ade129b57c0147a96fa9b77337d9a906134e33f2067";
+  sha512.doc = "aae6105fc9e828715193bc4d251210f23ce6f4c4d703c79c244ff765a377f90055188f8af83e705da062cea8db8bf6b89beecc488cce32d7903fb7fb8c4bcad9";
   hasRunfiles = true;
   version = "2.1";
 };
 "cnbwp" = {
   stripPrefix = 0;
-  sha512.run = "d2960b30958ec42658db52566a25a02151e5f42f97c4f443ce8da3680bb5cdd39d111135c53f627ed5da592148a4b9f4d59fa2cc737afd9a29a76953bec68be2";
-  sha512.doc = "294b3a07b195797165fc7c858ccc83efd373e12392a9a0f6fedf4ff483d1628241de3911032a8d4d97bfc0c5673465c7512a83418ddfe561c6916af477e0b3ac";
+  sha512.run = "31c83774160e64dadc95afebe830ea1aa7c929e48f611cf5c9742cb66e12a3dd459928c85ed1378460247241fd4f007145b002ae7aabb88e773779124510c86f";
+  sha512.doc = "d41f72a3c5482b1ec50f1bacbaf8bed5f926c5d522ab5e3574d71d68b2d7c63e20fa1df65962f94e53b70f75aa7dee5337d064c212990c0f3351c30b05b567ac";
   hasRunfiles = true;
 };
 "cnltx" = {
   stripPrefix = 0;
-  sha512.run = "f1d5ab136f37882b921acd100eeaef3f25dfaec6ae2268fd2076ad24caee6af9ef7355970373eecf642de019769e79a8471b60decc97ee67ea7b72725fb862c7";
-  sha512.doc = "f4ef99db83da007ebd65abee419df1dcfc5cf467e27219d7f4231b319ac87261fad9ed319e2383e43830f784e2ffba0b6abe89f25d5a8cd42d8de5fabad548bf";
+  sha512.run = "cbe777c4dc81f0798ba3d64844e65c84a7623611feb93a14e949375f0cda982d7a973fd662975edc51e508c0cd0d19f24e92bff112f56b765ad4378ae95b8bd4";
+  sha512.doc = "1af4a294f758889b8cec97cdc53519fa9eb360e590e5db96cfb25ad2d0d0f89b7b3efa6b6ea986e29819b3023d04f3cf50a0a2e583bcd6fd80a61dfcdbc5dcc1";
   hasRunfiles = true;
   version = "0.13";
 };
 "cns" = {
   stripPrefix = 0;
-  sha512.run = "54f74c716de52194d5bab6e95c6e1b7bb22b0d60a46ea6af04ab3859578c594415341ef51d88863fd188008d1326e4e9286afd40e2e7cf2c85278b1476ff65ee";
-  sha512.doc = "9097cd54f01a31f7299c0e175c646922d533a971a3e4e448b9fc2bc0e34afc13558bf22abcad837dffd7cf5ccfefeabb164cd4f9e8824d19505a76b6d89e77c5";
+  sha512.run = "0b3645da07e0fc9482cfeddd93f949e18dc12b6aa02e5a6c45669f3d5f7f25d5fa7ff4992f40b9b71894e21b5b1855999ba8e1b130be27e8b7001444ed30db0f";
+  sha512.doc = "264c64f2ae29bff96b428500af07a81402434d9422792a36ee0da74e9821f161cf8281d38317787c0db78109d2eeaaff4e62730855ae1f1e1f250f4173740d35";
   hasRunfiles = true;
   version = "4.2.0";
 };
 "cntformats" = {
   stripPrefix = 0;
-  sha512.run = "3c455761573dcc88c7d89462f4e65b484d6735a407fcbb3f950073fd163a2e8ffe39d884c7e858d867491918a5c4f8ea5666c99dad99a3c14e58c005d1056c8a";
-  sha512.doc = "6eadf27cff3aa010481c4fb33c87656baea8be9f89372e6703bbd446efa16fef87e476ca052e2176b1311983a590448d3c3c94de91db7fbf46bdc0e33e053ca2";
+  sha512.run = "f829d6452faa20a514bfe43a8b002d4d728b57e0d6c44de7ba8aebaa96d9a40fc0ac26ca6ef637ab9efd3f133c70cd4d5b9c81dd382ed8adcd5abd1b2fb5d6cd";
+  sha512.doc = "4d6c9b8ad41dea1e14eec71570afdeb28fb834191587ba964642628674526a5ac82d6ceb972d5d89e0faeb3fb46da26361dea45f8757523f58765dfbdb773a3d";
   hasRunfiles = true;
   version = "0.7";
 };
 "cntperchap" = {
   stripPrefix = 0;
-  sha512.run = "d12d7ae00bffde450674a4699a896814185eda47e41224e3ef286935c7d9b66426254e8d358e6f0a2f24c444c028534c3551b97f513d69807f0d250ceb3158f8";
-  sha512.doc = "2c1cc5064468755fcc11bc08ceac7baa57e2616b6e08bdcdd2cd90c6661f55a6f389738982c60b0b5ffe59e40a8f2583f228e7ebd7d924bbdf38b7f9caebbcea";
+  sha512.run = "ade4e6bbb00d619d52cb65549cb50f4ff9275d20a9e871ddee99064fb2ae0e02ba7d403bd6c7d658fdc6d542d7a32244ce8ff7fbe023b4fe292697584aed966a";
+  sha512.doc = "354ea40ce2fe4e543016970fe81745c151a53c182800e8b861006d7e1c6fff84628a0baa4bfad29a0b81c8d0eede9f31145e7d3f380953921a48f31c5b8d0a8a";
   hasRunfiles = true;
   version = "0.3";
 };
 "cochineal" = {
   stripPrefix = 0;
-  sha512.run = "f9617982409776e4e0fb7a9add456ef860c549e979ccebeaa54279273dc7ec85a8a30c9219228e2547ddfe765ac1d39926591c5bc9136a7acd602e4248936f13";
-  sha512.doc = "c4179801fb390d58070f6f833ec842ece3ce40bc954953ce628806fb185b5d7e9136a51d284ee278ce36481709ad29d63b918d509ed6c7ee7a2eae69bf535123";
+  sha512.run = "8f59083fe0f335b08c61e68bc5f4e747409e9514e5ae9361acfa001b698e14effc830ad993eb2e0b4d026edcdf918868959766a998eb35310cc51e03a5894ea8";
+  sha512.doc = "84cfa9d369a1a342becda4837617b14436e9ec9bbefe5fd446acde3f73292a306e705e88c29b65621f39590c1507f7619accdb505829b8441ba58110c6a47ba6";
+  hasRunfiles = true;
+  version = "1.055";
+};
+"codeanatomy" = {
+  stripPrefix = 0;
+  sha512.run = "0f7613af5e91d364d0c8cc3978ce5251cff4650bf5e187ef03606b9cf5294eed82751b8f7604583af5187b62f40688733a39aaaca6a022ddd0087ab610f8c978";
+  sha512.doc = "877a827dfd0bb9e79f80fa0a9cd7275a647fc4f0451af5c5a5253caee306f202a419f0164b2878c7a780176e018a2f1a3f8e9ec37fd8245997da537eefcd4e7b";
+  sha512.source = "9cbe9969e777ccbe711f68936798bdd28e570e6ed772ba3aa8ad54f083792cd725c97055859cecc115bab420f3a929d707eb49584c483a9f223d7ea7bb5fe388";
   hasRunfiles = true;
-  version = "1.049";
+  version = "0.4-Alpha";
 };
 "codedoc" = {
   stripPrefix = 0;
-  sha512.run = "5e44c68f1b76188d69e0b30d60fdb24d3fce04a89ec20a47f444d45331e4850bcfe2a00a6e4fb022f9f2bf755a4fbdce7dd62c94ea63ea7ef6b1d4fd3b26c103";
-  sha512.doc = "8f57b95a7d45de4a3e7be5885aed326378bed6cd5184f0db8286d3cd63078e6672fa69f0f12bdc06d0257ccd404fd61a296fc088f5cf6af165267679df111766";
+  sha512.run = "8dc006776f2a3f0f28aeed0450e2d7b714402de1939a92d1e7f1e0174a8de7e9f7099e7ae9a5de34df03613ff16800bde17f7cc90fa82798f30c775c10c655ff";
+  sha512.doc = "fa23f45c539ec134cff114d7252a4d96585168729dc33d0865f4976f94620a8d3c02fa21572953161977d893c7f311b0d15a431f74b8526d1de0680dfdad7341";
   hasRunfiles = true;
   version = "0.3";
 };
 "codepage" = {
   stripPrefix = 0;
-  sha512.run = "a215056b1a9ab958e5b556820b1c014b5188baab0c657df4dcc7e6a248953b30070cd1869bc055fabd37263721b32646b85d445d48356df301de0b8cea7c622b";
-  sha512.doc = "43ed5710eb08a73eaefa30d67a43f04a617a36ae0e1a2885d2c836748a5242ff6399b973b1d662f774be59727bfe7ff07ce195c15a15aa959a25f54dc878483c";
-  sha512.source = "c091f964fcdc18a0814962c03c035f3bcf14499bcf155639a6adce1cb0a137ec0856677d30e29a01f36d3ce55a1b74a75c47cf3a813fb0c2903bae1e80f52a19";
+  sha512.run = "2531186744ce4915b8d903e0ea49e1d3e0a6be5ab2db7bc2a5cbc70e675c2dd00104a677c08b7b7d12eca56dfc4b283c49ee599fff6d3460c6238f414ba3cb76";
+  sha512.doc = "b49ffff68cc599835acf436de3117c7f9511b362d821bdd8c18f0af930c5b717dc0bcd00477e6f0f367229b9d1f6dd150a8166dd74bbfbc2cfcb77ccf28cd8d5";
+  sha512.source = "2c12bf42c1aa818d5718f2bbbb07460364ad40f7bc4cf0676cb064a03751e1bd88be16fffaae097f5ed9c0793f60ffb93374b43f7b90acf8ad3cbc8f5d7b8b70";
   hasRunfiles = true;
 };
 "codesection" = {
   stripPrefix = 0;
-  sha512.run = "e7a49e9c41a66e95015a69a05a0e0e1070ce3ddd5391b8b24a3d4c45e92abd7a59fb9eb17c1fd4465fd73df0392dac2077020e6344a067e1706976ff6ab08736";
-  sha512.doc = "0b84742061fbab5d10222183f46865f41f4e1e3caeccaaa7b7ffb776fdb13e7d590b8b6cbfc48ec06a154571b46fab13f89acefd01009037d7ce17834946d5bc";
-  sha512.source = "8b4872828e2e9484e6cab4cfa90c94d09b8b9b7ede761a7c8c53768c4189054dda90bcaa9f293837eaa96ea39406583cb3d4baa4c11be67b6e3dbe18e0daef07";
+  sha512.run = "95318ae4933d0cb43226c714c8ff931aaa8e06cfb2c44c3929db59ae8336882c588e26268445b62f8da32145a962bae0030daff3d5cfa22007919fb7b13fd69d";
+  sha512.doc = "881e62381793f548d0c291141944d81e19cf4340f2c1f63916857f5702756e18d107337c340568d62de48fe2190cf4c74a8d6604f8d4843c47ceb7c59608c0b0";
+  sha512.source = "e2ca6d6cb96977d494bfa9818d90aef30a915dd4c284fb7e555e79c09db022819a6e1f825ab895108594b90b488e70780f268022a896feef7dcc1ab590fabce9";
   hasRunfiles = true;
   version = "0.1";
 };
 "codicefiscaleitaliano" = {
   stripPrefix = 0;
-  sha512.run = "9ec16f9aadf5f25e900a079d75fb2397a074ae55947b6db6c2cc69b4a7fd093a5f99745ba1ae87cccafb772abb90d91b7f358d96542831f16870b63ddfa50395";
-  sha512.doc = "1c13e84e246807826d7dcd377b37c6e76c699391b2c01732d9dd535043176f4e52e48b2f36ceac3e1b3dc63486daf5ea8f71ad18d6b5745de6b14e910b663a53";
-  sha512.source = "ed47b42a709196180cfa85129e70eef4628adc0ee48574041a09fa54586640fb14f4ec2f8dda733f8861d1af985cd3178020427931ebe4fbb11039dd68fb5f17";
+  sha512.run = "7c93841ceadbb7bbfc9846d281fdbd84b7f284117344e1c4fd984e746186403e9be3e2048cfca53f6690a1e20b7471224b8d30ed1358959053111c22d3f15191";
+  sha512.doc = "7b0c13252796be7d584d3e5dad65711229cf916ce7c8e89e423805183629f161b3d4e4f47d6c9488ab32ff8b52723b0fbc4252f2ca99e965f4d7c4409881b67d";
+  sha512.source = "8602ad1eee729a5d21d760da54f31d67746bc336c9e18d43b9cf3a5443afaf8099d27a908cc1cd9cc028e94b2173e97179cf293d5739244834817f0bc50bbaa3";
   hasRunfiles = true;
   version = "1.2";
 };
 "coelacanth" = {
   stripPrefix = 0;
-  sha512.run = "ecd5a439277011ce1ae74ca594e3cc8cd644a7c65f50a4d7a3ec96653a5445d47d25fd6f707661c978e7502b213872fc3c57dc26867473786c74b0839566a535";
-  sha512.doc = "03cb530cd89e0f28728b9d1cc5f6233aac2c3da9013005aad4b250b431d73d2010eb3982b4a57d8535330d3b461d2caab7481f96596a81d95edaa27bd089fead";
+  sha512.run = "12c3567797664581309fd1507003838dd14c217b26d5cbf7ec149ebd60f77eb0b126fafe41b612037afbf6a79ecbcc5b1047516199c9a1dd677d0b81e1a40046";
+  sha512.doc = "47da656f6952b769049f0a3a267ce5245c08ffe2dc3c7902bebf51cfbbf0fa37bcf6522cae8b6d4040ad112a1aae5eeab997c2d5d975c1b64d91aad21ff1d025";
   hasRunfiles = true;
+  version = "0.005";
 };
 "collcell" = {
   stripPrefix = 0;
-  sha512.run = "5c6516589bcf2810b967d127825a46b2583e292ac3146ae257db9e9c1145f1134aab98f0b9dff4b0163dd71bd470671e8b4cce540121e35f68a94a64f922efd2";
-  sha512.doc = "025ea516e02b2cba9ddebd6f5230f84be4ab45f107603687c61d8ce62410484bfdd214641aa6e1ad1111fb5e7577a79fa980775280549d35a2bf1a1d5c2d6b28";
-  sha512.source = "3d9aebd246a51c567ba21797fac308ea679a5e326d8a941c40b540e522c5ecff0ae1237bb0ffe4bf4141fcd663e866d0736fd3de9d5a616ce968f5228b0e6666";
+  sha512.run = "34a2fb5a5dc309e625e4c7d89b9e5aa9806d15d93cf0fec124a0505b20c6711bfa96b3f99986c23393632a9db1c773842c9bf6f10c01d1c4da8dcef2960df289";
+  sha512.doc = "1bbb4e70a5f5163a62f1b0b135f5601b4d9378cf2a5d27fddfabf9ee5e65dae7a94cb4cf63ed5e98dbf35cee550bd0a7b425f505d462eeb7f1e7035fe3c7664d";
+  sha512.source = "8d567bc14b9e6a8467da4893245efd56f7537f5b721b8b9c4300f9ffda5ab30649f7c0ca51f3673f786676fe20af948de63d1fd36ce2c3d0f9d217ad4e6bbad1";
   hasRunfiles = true;
   version = "0.5";
 };
 "collectbox" = {
   stripPrefix = 0;
-  sha512.run = "cc14ea810f9012c6d913b09196c97c3fb2ff80296af9818051836992bcdee871c1c4c429eb28551657761fe3f104d1a25ca987f8cd4feea77109bbb44332ffeb";
-  sha512.doc = "12e610688a0213fc090f725532d00b065409241ee8e626f9946a8b12f7e259cf76ad7474dd49b1db70cafd744520beed72ea8cf4a2a7f84ea95c5b81b15f14d0";
-  sha512.source = "42e060899e89cc264638650f65f05a308a4ac20b699ee9d28f1b1f3ca5b9d26e908206cce48cd115f18da20c1a4264ab3c586ce4897975d8e23c8b949bce502e";
+  sha512.run = "e530c630a905084a3f9c43fd54c45fc5d4af437aab887f15f5d37c40d3ba2a86c576ef032e723cf95f4f5dc46256d3e7bf6440545f68133217fb620aa2db8a65";
+  sha512.doc = "e2248e9825490474e545c1674d1256ad586332045e2fd5ee5dc84d9965d4df263522277a14676010085a73dcf00d822ffb29117338b3fd3f854b7b0d0ddb5c9f";
+  sha512.source = "d29bd5252e632573797eba99f70172659303d7342ea345228d2ed448fb1c1b6a48aa2448a3cae1bec26849241a5d3e19cbc0c00e777a339dad23ad2864dc5da7";
   hasRunfiles = true;
   version = "0.4b";
 };
@@ -4587,7 +4716,9 @@ tl: { # no indentation
   deps."gsftopk" = tl."gsftopk";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
+  deps."hyphenex" = tl."hyphenex";
   deps."ifluatex" = tl."ifluatex";
+  deps."ifplatform" = tl."ifplatform";
   deps."ifxetex" = tl."ifxetex";
   deps."knuth-lib" = tl."knuth-lib";
   deps."knuth-local" = tl."knuth-local";
@@ -4608,10 +4739,11 @@ tl: { # no indentation
   deps."texlive-en" = tl."texlive-en";
   deps."texlive-msg-translations" = tl."texlive-msg-translations";
   deps."texlive-scripts" = tl."texlive-scripts";
+  deps."tlshell" = tl."tlshell";
   deps."unicode-data" = tl."unicode-data";
   deps."updmap-map" = tl."updmap-map";
   deps."xdvi" = tl."xdvi";
-  sha512.run = "4c747f68d982430dcca270f4e61310adf7d2ec641a129b47cb8664ad50a55279af93b58b0eb04c2720066f4d30345f1dc13047a6352d29e148ca3866ffc50b18";
+  sha512.run = "cfe97f315159b9f5732cdc417b16c18d37443d13389abee846d690c13bf5ea0cadbce78b77e78154e6adc3bfbce1d049a8302147c5a9defa9795ba98637c04b0";
 };
 "collection-bibtexextra" = {
   stripPrefix = 0;
@@ -4715,6 +4847,7 @@ tl: { # no indentation
   deps."harvard" = tl."harvard";
   deps."harvmac" = tl."harvmac";
   deps."historische-zeitschrift" = tl."historische-zeitschrift";
+  deps."icite" = tl."icite";
   deps."ietfbibs" = tl."ietfbibs";
   deps."ijqc" = tl."ijqc";
   deps."inlinebib" = tl."inlinebib";
@@ -4749,7 +4882,8 @@ tl: { # no indentation
   deps."vak" = tl."vak";
   deps."windycity" = tl."windycity";
   deps."xcite" = tl."xcite";
-  sha512.run = "36250733e12fcc95038d7b8baec65a204bf8de1c83e598ed6e77101ee8ba2046fe8dcfc562b9fade39b806f48ea8a3a1bf588c6f6326e06a4014bfcb6de4c1e5";
+  deps."zootaxa-bst" = tl."zootaxa-bst";
+  sha512.run = "b1582ade8d050be6c53fcdec2a03f2c8c5d9aa661bfc5fba874221fb2fdefa8382eba0b6d54aa43eed6916349eb1b33a94c7f9235d49951438e206625d5c6ee3";
 };
 "collection-binextra" = {
   stripPrefix = 0;
@@ -4763,6 +4897,7 @@ tl: { # no indentation
   deps."bundledoc" = tl."bundledoc";
   deps."checklistings" = tl."checklistings";
   deps."chktex" = tl."chktex";
+  deps."clojure-pamphlet" = tl."clojure-pamphlet";
   deps."cluttex" = tl."cluttex";
   deps."ctan-o-mat" = tl."ctan-o-mat";
   deps."ctan_chk" = tl."ctan_chk";
@@ -4781,13 +4916,13 @@ tl: { # no indentation
   deps."dvidvi" = tl."dvidvi";
   deps."dviinfox" = tl."dviinfox";
   deps."dviljk" = tl."dviljk";
+  deps."dviout-util" = tl."dviout-util";
   deps."dvipng" = tl."dvipng";
   deps."dvipos" = tl."dvipos";
   deps."dvisvgm" = tl."dvisvgm";
   deps."findhyph" = tl."findhyph";
   deps."fragmaster" = tl."fragmaster";
   deps."hook-pre-commit-pkg" = tl."hook-pre-commit-pkg";
-  deps."hyphenex" = tl."hyphenex";
   deps."installfont" = tl."installfont";
   deps."ketcindy" = tl."ketcindy";
   deps."lacheck" = tl."lacheck";
@@ -4838,13 +4973,12 @@ tl: { # no indentation
   deps."texware" = tl."texware";
   deps."tie" = tl."tie";
   deps."tlcockpit" = tl."tlcockpit";
-  deps."tlshell" = tl."tlshell";
   deps."tpic2pdftex" = tl."tpic2pdftex";
   deps."typeoutfileinfo" = tl."typeoutfileinfo";
   deps."web" = tl."web";
   deps."xindex" = tl."xindex";
   deps."xindy" = tl."xindy";
-  sha512.run = "1a95bee35b89fb2fa51457891ebdac9257c236a0b3a6e1b48c8d8cd93bed29fdda24561b0ce51797ce50c5697e9e1540e2101751cb499cd5e294790c197dc7a3";
+  sha512.run = "ef80a1b88f05deb69f19d0a918aaea7bc761ce76744c161229cad06904168eacd53eb0f67de9beec245b417692e587b78ed4ce7ad36c7eafc6a38ccb30becdfe";
 };
 "collection-context" = {
   stripPrefix = 0;
@@ -4886,7 +5020,7 @@ tl: { # no indentation
   deps."context-typescripts" = tl."context-typescripts";
   deps."context-vim" = tl."context-vim";
   deps."context-visualcounter" = tl."context-visualcounter";
-  sha512.run = "0bf93a5f5e3a97db7bd92d43a3859b1e3b6d3296807c25d970e17b77e6b76203059b13bf89060c004f8996fa56276e1a6711eefb101a8663a3b6f81dd512480f";
+  sha512.run = "21aa181d7a3e8c16dbb30e12e30822d18db1386e088103a0987dc2a0a4d611172079ac12d7edd7f9d8923598c1532f7162905940846d6e13e143883bd735996f";
 };
 "collection-fontsextra" = {
   stripPrefix = 0;
@@ -4900,6 +5034,7 @@ tl: { # no indentation
   deps."alegreya" = tl."alegreya";
   deps."algolrevived" = tl."algolrevived";
   deps."allrunes" = tl."allrunes";
+  deps."almendra" = tl."almendra";
   deps."almfixed" = tl."almfixed";
   deps."anonymouspro" = tl."anonymouspro";
   deps."antiqua" = tl."antiqua";
@@ -4929,6 +5064,7 @@ tl: { # no indentation
   deps."berenisadf" = tl."berenisadf";
   deps."beuron" = tl."beuron";
   deps."bguq" = tl."bguq";
+  deps."bitter" = tl."bitter";
   deps."blacklettert1" = tl."blacklettert1";
   deps."boisik" = tl."boisik";
   deps."bookhands" = tl."bookhands";
@@ -5018,10 +5154,12 @@ tl: { # no indentation
   deps."fontawesome5" = tl."fontawesome5";
   deps."fontmfizz" = tl."fontmfizz";
   deps."fonts-churchslavonic" = tl."fonts-churchslavonic";
+  deps."forum" = tl."forum";
   deps."fourier" = tl."fourier";
   deps."fouriernc" = tl."fouriernc";
   deps."frcursive" = tl."frcursive";
   deps."frederika2016" = tl."frederika2016";
+  deps."garamond-libre" = tl."garamond-libre";
   deps."garamond-math" = tl."garamond-math";
   deps."genealogy" = tl."genealogy";
   deps."gentium-tug" = tl."gentium-tug";
@@ -5069,11 +5207,15 @@ tl: { # no indentation
   deps."librebaskerville" = tl."librebaskerville";
   deps."librebodoni" = tl."librebodoni";
   deps."librecaslon" = tl."librecaslon";
+  deps."librefranklin" = tl."librefranklin";
   deps."libris" = tl."libris";
   deps."linearA" = tl."linearA";
+  deps."linguisticspro" = tl."linguisticspro";
   deps."lobster2" = tl."lobster2";
+  deps."logix" = tl."logix";
   deps."lxfonts" = tl."lxfonts";
   deps."ly1" = tl."ly1";
+  deps."marcellus" = tl."marcellus";
   deps."mathabx" = tl."mathabx";
   deps."mathabx-type1" = tl."mathabx-type1";
   deps."mathdesign" = tl."mathdesign";
@@ -5114,6 +5256,7 @@ tl: { # no indentation
   deps."playfair" = tl."playfair";
   deps."plex" = tl."plex";
   deps."plex-otf" = tl."plex-otf";
+  deps."poiretone" = tl."poiretone";
   deps."poltawski" = tl."poltawski";
   deps."prodint" = tl."prodint";
   deps."punk" = tl."punk";
@@ -5140,6 +5283,7 @@ tl: { # no indentation
   deps."sourceserifpro" = tl."sourceserifpro";
   deps."starfont" = tl."starfont";
   deps."staves" = tl."staves";
+  deps."step" = tl."step";
   deps."stickstoo" = tl."stickstoo";
   deps."stix" = tl."stix";
   deps."stix2-otf" = tl."stix2-otf";
@@ -5150,6 +5294,9 @@ tl: { # no indentation
   deps."tempora" = tl."tempora";
   deps."tengwarscript" = tl."tengwarscript";
   deps."tfrupee" = tl."tfrupee";
+  deps."theanodidot" = tl."theanodidot";
+  deps."theanomodern" = tl."theanomodern";
+  deps."theanooldstyle" = tl."theanooldstyle";
   deps."tinos" = tl."tinos";
   deps."tpslifonts" = tl."tpslifonts";
   deps."trajan" = tl."trajan";
@@ -5169,7 +5316,7 @@ tl: { # no indentation
   deps."yfonts-t1" = tl."yfonts-t1";
   deps."yinit-otf" = tl."yinit-otf";
   deps."zlmtt" = tl."zlmtt";
-  sha512.run = "b3132cb568f51a0c82432f654a7a8b16fced53cccd2159724d33a22940417f8b63f82ed985c1ee401a3ba3adbc61d921bacc2709f4143590cb68c58ac1979f1f";
+  sha512.run = "76ac1206ba9618472b23d739823635d9a3832917adf5c94f1e3a8aad663a01a5594f6f2d3b170013fc5dc30ae120b00f87482fa6034dceefed0749eef3c4977f";
 };
 "collection-fontsrecommended" = {
   stripPrefix = 0;
@@ -5208,7 +5355,7 @@ tl: { # no indentation
   deps."wasysym" = tl."wasysym";
   deps."zapfchan" = tl."zapfchan";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "071eb6fc2afe7f70e1fe0496aa77bd38953dd7fcdd5439febff7369bd93b7fdb04525bb00b90cbacffdd768b2bd1db5243197d091519ddda4d8efe91cc375b5c";
+  sha512.run = "9ce869ce9e21838cb467b7fb6e6087b2afa005c398075c5da77e07fcc57a3c153663ddf8c53f914638b3e1e44e8957b59459b689d17668fdf42a050b19d079f5";
 };
 "collection-fontutils" = {
   stripPrefix = 0;
@@ -5229,7 +5376,7 @@ tl: { # no indentation
   deps."mf2pt1" = tl."mf2pt1";
   deps."t1utils" = tl."t1utils";
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "e1538064dd72671bd1ce54c237e8759132068c378115e6f881902189153851dfaecbfca9bc8705a47bc5496d67df9ade054564e0341e669245450138b19d03e5";
+  sha512.run = "39ede1185914e6df2bd1a535d2ca955720dfd51fba425f0ee6ac75c9e8e7480e779c8eb41df0cd57d1f23595db0f247f5e8fb2988dcc1845dd5d51b3f8918533";
 };
 "collection-formatsextra" = {
   stripPrefix = 0;
@@ -5253,7 +5400,7 @@ tl: { # no indentation
   deps."omega" = tl."omega";
   deps."omegaware" = tl."omegaware";
   deps."otibet" = tl."otibet";
-  sha512.run = "e763bdd83ccb58095d1854fe88a845da6830db9f72b40abcfe9c349f84e0284f78c8a0f85d714a9d0354e3026511a2db9d13f86cfbdbfb5d43f171d558563564";
+  sha512.run = "73b00a08738778902d35e934e296552c76db6a202c197432e57c3fe03d300dd5b3ba41a618151ffcd9642275db6899d8030329f3ec424b55da0a743ecbc84d0e";
 };
 "collection-games" = {
   stripPrefix = 0;
@@ -5271,6 +5418,7 @@ tl: { # no indentation
   deps."hanoi" = tl."hanoi";
   deps."havannah" = tl."havannah";
   deps."hexgame" = tl."hexgame";
+  deps."hmtrump" = tl."hmtrump";
   deps."horoscop" = tl."horoscop";
   deps."jigsaw" = tl."jigsaw";
   deps."labyrinth" = tl."labyrinth";
@@ -5292,7 +5440,7 @@ tl: { # no indentation
   deps."sudokubundle" = tl."sudokubundle";
   deps."xq" = tl."xq";
   deps."xskak" = tl."xskak";
-  sha512.run = "b444ce117c057b29be3347d5b98ab761d1003d586e166b48a1ce37758db865b4e75bfc3c79645197882a3f204fbc2b8d37f46a15a823a9496f1b1b2de9f781b0";
+  sha512.run = "bfa055b06a2a56cdac916627c79ad94242fee0b1ae747f721e0932452eedbff05566211a9e41aa8e66607b27d753db5edf5d0ed04cbf1ebb2944d3c4cebbf108";
 };
 "collection-humanities" = {
   stripPrefix = 0;
@@ -5348,7 +5496,7 @@ tl: { # no indentation
   deps."tree-dvips" = tl."tree-dvips";
   deps."verse" = tl."verse";
   deps."xyling" = tl."xyling";
-  sha512.run = "0d71b4f94997ac083eb7b5dc7dbabf39b50f460aaa6e800c1c262471733254a79f3df95ab1b725634c33ce59f0b5939a94d388b46ab30d0766424f33a6a536f3";
+  sha512.run = "94e1a021c967f623d24a3720199293f564ccc3e7339c2e58a456163d617740d3a6bfc8b5fd54fc288f269ebe7a4eafddaba0c6c78c66ea565bb2e0d753b7ebad";
 };
 "collection-langarabic" = {
   stripPrefix = 0;
@@ -5376,7 +5524,7 @@ tl: { # no indentation
   deps."simurgh" = tl."simurgh";
   deps."tram" = tl."tram";
   deps."xepersian" = tl."xepersian";
-  sha512.run = "994e5764499c9bc15246378c682aef4636aaa692d506d083d91dffb52e91445aaad8635389f0385ea7c86e74f8aa0362b74c4d8edbca688a6f11091413aaa90f";
+  sha512.run = "4c0f4860c69b0be0e3bc909c577e2795fcb3c15b65961d7ada1624cc3c9f77b104f8a58a6d390c1085c464ae043c65b4912da9faa0e8334964d0c302952792fe";
 };
 "collection-langchinese" = {
   stripPrefix = 0;
@@ -5395,6 +5543,7 @@ tl: { # no indentation
   deps."impatient-cn" = tl."impatient-cn";
   deps."latex-notes-zh-cn" = tl."latex-notes-zh-cn";
   deps."lshort-chinese" = tl."lshort-chinese";
+  deps."nanicolle" = tl."nanicolle";
   deps."njurepo" = tl."njurepo";
   deps."pgfornament-han" = tl."pgfornament-han";
   deps."texlive-zh-cn" = tl."texlive-zh-cn";
@@ -5408,7 +5557,7 @@ tl: { # no indentation
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
   deps."zhspacing" = tl."zhspacing";
-  sha512.run = "504f72fa6c3d445f6eed2279492b237abd21c3e41c52572effd3664e5c717f9f9c42796e00efb774df862d55faad46dad9590bf0d86a3b982f92b96d715ef13b";
+  sha512.run = "fa19508a88844191ac410af63bdfbf95ac75231c3e7564aa0c2d54bb1b474b1d769a61c96abf01a11757ce002ae4cdc4c757cbd28414f6a182ffedcb13afb6bf";
 };
 "collection-langcjk" = {
   stripPrefix = 0;
@@ -5427,7 +5576,7 @@ tl: { # no indentation
   deps."pxtatescale" = tl."pxtatescale";
   deps."xcjk2uni" = tl."xcjk2uni";
   deps."zxjafont" = tl."zxjafont";
-  sha512.run = "1beec3bbed9f3c01dfda1e64df30416f0430e0d4c33c33dae2cc5ecadcd19c5935282654dff979bb110d30bdbd3109b7664c1e28114f934fc42f8226f0526e2d";
+  sha512.run = "959ee256fdf82076f8fa0d5a35f876b3c030e69feaf94cecc68e6e1061d968a72b9389e62b5c18c4d7fd4e98e707a1dfffecca7b7149d0c30388cb0c73870059";
 };
 "collection-langcyrillic" = {
   stripPrefix = 0;
@@ -5477,7 +5626,7 @@ tl: { # no indentation
   deps."texlive-ru" = tl."texlive-ru";
   deps."texlive-sr" = tl."texlive-sr";
   deps."ukrhyph" = tl."ukrhyph";
-  sha512.run = "e7fa80da0a1ca28a49eb0cb1339e6416850ae4ae5adfa6a1da6903c191e0b166270c9917a0d60bf530f1b9a0e2feebed2c3050a302a3e40b05ee0498f52fdbaf";
+  sha512.run = "15c733db1104a296e0caeceab761a9e0f89c7bbae5c87d49a9539638cbcb1c2489c41fe08b0bbca5df503cb8ee54b61425e35b0e6db41947bdbcc40e4daea0bc";
 };
 "collection-langczechslovak" = {
   stripPrefix = 0;
@@ -5497,13 +5646,12 @@ tl: { # no indentation
   deps."lshort-czech" = tl."lshort-czech";
   deps."lshort-slovak" = tl."lshort-slovak";
   deps."texlive-cz" = tl."texlive-cz";
-  sha512.run = "ec73663ed991d9f7729f39e5c78d42f908f08be09e7d0fc11b77a2652e7759be0d7b6feb04635eb88f8dad87e7b64f8817822c72e21747df07200b2d00193a3a";
+  sha512.run = "daee20efa3c125fb5dcf55875eb3a7a3e94553a5f1e185c8fdf35db0ab933abbb2ac2f67da7fa578b1f915d88f3cde764dca098e76b5df73da18dece3e49dc6f";
 };
 "collection-langenglish" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."hyphen-english" = tl."hyphen-english";
-  deps."FAQ-en" = tl."FAQ-en";
   deps."MemoirChapStyles" = tl."MemoirChapStyles";
   deps."Type1fonts" = tl."Type1fonts";
   deps."amscls-doc" = tl."amscls-doc";
@@ -5559,13 +5707,14 @@ tl: { # no indentation
   deps."tex-overview" = tl."tex-overview";
   deps."tex-refs" = tl."tex-refs";
   deps."texbytopic" = tl."texbytopic";
+  deps."texonly" = tl."texonly";
   deps."titlepages" = tl."titlepages";
   deps."tlc2" = tl."tlc2";
   deps."undergradmath" = tl."undergradmath";
   deps."visualfaq" = tl."visualfaq";
   deps."webguide" = tl."webguide";
   deps."xetexref" = tl."xetexref";
-  sha512.run = "47e3a0d9de45a933c8396e8a0ee8b8c8dddf5551b205a54b985627c4265438ae57f2e4ea3f1c935a1c6877a30f5d592377d71b141b62fea7e0ca5d3d995812da";
+  sha512.run = "1f003f1a719bf29ee0a0167784f48cc6aef203f714a5024c52b1e3791d47d2cae816056e78816dabb806059cb4f3be066d722f8191ca67e3d72e76b274759e89";
 };
 "collection-langeuropean" = {
   stripPrefix = 0;
@@ -5634,12 +5783,13 @@ tl: { # no indentation
   deps."nevelok" = tl."nevelok";
   deps."swebib" = tl."swebib";
   deps."turkmen" = tl."turkmen";
-  sha512.run = "9f9c56bbada51086cf07611dab2adffefea6cea468f7d12e8f25ea1f3a7b958f566b09912737b3ce86c873da34c9035b30410340ba80f0edd0f63f5fcc4323a7";
+  sha512.run = "9505445397888b80e7f92026c63d4ec053758f835d6b217902639ecef6670f85a49e308891381be0340b43e7a793885dac79f88e75c376226d474682cedc3b12";
 };
 "collection-langfrench" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."aeguill" = tl."aeguill";
+  deps."apprendre-a-programmer-en-tex" = tl."apprendre-a-programmer-en-tex";
   deps."apprends-latex" = tl."apprends-latex";
   deps."babel-basque" = tl."babel-basque";
   deps."babel-french" = tl."babel-french";
@@ -5655,7 +5805,6 @@ tl: { # no indentation
   deps."formation-latex-ul" = tl."formation-latex-ul";
   deps."frenchmath" = tl."frenchmath";
   deps."frletter" = tl."frletter";
-  deps."guide-latex-fr" = tl."guide-latex-fr";
   deps."hyphen-basque" = tl."hyphen-basque";
   deps."hyphen-french" = tl."hyphen-french";
   deps."impatient-fr" = tl."impatient-fr";
@@ -5673,7 +5822,7 @@ tl: { # no indentation
   deps."translation-tabbing-fr" = tl."translation-tabbing-fr";
   deps."variations" = tl."variations";
   deps."visualtikz" = tl."visualtikz";
-  sha512.run = "61972d1836261379d14e274dd82499c1288324eb1db07fc93eb5514da9fc1b3e0b6324a5802d05bb2bdf7d211732c5842785b5e28fa8856afa9c137c23ebfd29";
+  sha512.run = "be5230f2fec255b9bf7220a9ad33930032ef617de8665d2c35c4360852f77d2764dbe1d7917bab3552f6098e0749cc5e0a9e001bac87abbb5b0de6af24ee1eed";
 };
 "collection-langgerman" = {
   stripPrefix = 0;
@@ -5728,7 +5877,7 @@ tl: { # no indentation
   deps."uhrzeit" = tl."uhrzeit";
   deps."umlaute" = tl."umlaute";
   deps."voss-mathcol" = tl."voss-mathcol";
-  sha512.run = "94d4788d2913b56b5b4b3d81f80269e0c319bc8bbf0320c1ab8dfaba95941b327aca2a8323c0c3086a8ccf87ef9b83767753199a99a68dc10812cad7e1ea8427";
+  sha512.run = "efa8741b737f9331fed483fd4d0f8b286099f65503b3ea4874a272ea4c53f52e8d23cb9d76c1a4b19853d938a093e49b583a87003b7cdba41e9d6287598b396a";
 };
 "collection-langgreek" = {
   stripPrefix = 0;
@@ -5757,7 +5906,7 @@ tl: { # no indentation
   deps."teubner" = tl."teubner";
   deps."xgreek" = tl."xgreek";
   deps."yannisgr" = tl."yannisgr";
-  sha512.run = "29c6e1ad439079e9b91c955086d6814c23e4ef6c6f713ee9c1ef5ca9d087f2d4f2ea7b1b172b6e3c3a59f761d12476f8701483947c160138974c5782ce45a27f";
+  sha512.run = "9633d376e164895cc7ea0d1a18759c1f06c71b83e612c10069dfd18237d61afab99170c03a9a1ba461d43d4273c7228f41f899dd77dc9308a8d329da6b336cba";
 };
 "collection-langitalian" = {
   stripPrefix = 0;
@@ -5778,7 +5927,7 @@ tl: { # no indentation
   deps."lshort-italian" = tl."lshort-italian";
   deps."psfrag-italian" = tl."psfrag-italian";
   deps."texlive-it" = tl."texlive-it";
-  sha512.run = "436e66d3aa2dda1a876127420a148e8e589aa77cf7bdc8824ba77f67eef0b4ac19cb35d3d0fef8c56d898ac594898a18024d08164a6fc53d36c494c3ec49e0c6";
+  sha512.run = "1cace30c8b68dc6e44e5bfe070c155bc65462b4d950506d79967f9e7472c9d7b7f9b3016fe3a34049cc7ec50c21d12f4bd6c4a03bf4f3c63172976d1b888855e";
 };
 "collection-langjapanese" = {
   stripPrefix = 0;
@@ -5787,6 +5936,7 @@ tl: { # no indentation
   deps."babel-japanese" = tl."babel-japanese";
   deps."bxbase" = tl."bxbase";
   deps."bxcjkjatype" = tl."bxcjkjatype";
+  deps."bxghost" = tl."bxghost";
   deps."bxjaholiday" = tl."bxjaholiday";
   deps."bxjalipsum" = tl."bxjalipsum";
   deps."bxjaprnind" = tl."bxjaprnind";
@@ -5825,6 +5975,7 @@ tl: { # no indentation
   deps."pxjodel" = tl."pxjodel";
   deps."pxrubrica" = tl."pxrubrica";
   deps."pxufont" = tl."pxufont";
+  deps."texlive-ja" = tl."texlive-ja";
   deps."uplatex" = tl."uplatex";
   deps."uptex" = tl."uptex";
   deps."uptex-base" = tl."uptex-base";
@@ -5832,7 +5983,7 @@ tl: { # no indentation
   deps."wadalab" = tl."wadalab";
   deps."zxjafbfont" = tl."zxjafbfont";
   deps."zxjatype" = tl."zxjatype";
-  sha512.run = "cff2c86128ec29af717915d78e2897ee769181bc9ba0680a0a7b2a2c2a5fb7b0fb7b457a34b3aaba746b6db4c64d1a00156e89db23d42a843c3f50ebba70bdd7";
+  sha512.run = "01f27234f79c1f468f6a5d12175c9a115f425f1d36921136825c76208cdce9abf7171f700c4d13b7ba01eab87b24ec819f29e648c1a7bbaa10ac5ce3c4053f50";
 };
 "collection-langkorean" = {
   stripPrefix = 0;
@@ -5848,7 +5999,7 @@ tl: { # no indentation
   deps."uhc" = tl."uhc";
   deps."unfonts-core" = tl."unfonts-core";
   deps."unfonts-extra" = tl."unfonts-extra";
-  sha512.run = "0d2e89f89143b7ccce1e2eb94a914d90707d4a1a5565cb478e53c29690a56583dc25cf7b470fe21736dc91e84ffb73863c3f9cd3f8a0a8dac2ef12ca8613bd75";
+  sha512.run = "6234b292f8b36a13d1a3543fb8ba19cb3cdab2fa30df008f1e33e62f4e6f291280b9f3e85aa21e5400ddd59392e698ddbf8c9c642934242402e93d6e3661d914";
 };
 "collection-langother" = {
   stripPrefix = 0;
@@ -5893,16 +6044,18 @@ tl: { # no indentation
   deps."lshort-vietnamese" = tl."lshort-vietnamese";
   deps."ntheorem-vn" = tl."ntheorem-vn";
   deps."padauk" = tl."padauk";
+  deps."quran-ur" = tl."quran-ur";
   deps."sanskrit" = tl."sanskrit";
   deps."sanskrit-t1" = tl."sanskrit-t1";
   deps."thaienum" = tl."thaienum";
   deps."thaispec" = tl."thaispec";
+  deps."unicode-alphabets" = tl."unicode-alphabets";
   deps."velthuis" = tl."velthuis";
   deps."vntex" = tl."vntex";
   deps."wnri" = tl."wnri";
   deps."wnri-latex" = tl."wnri-latex";
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "38429d43b0cb0c7291df6cabae9aae8421a4ef3eff5bf3dac21df33722777b7420d3d978b1d9207b3b33669052c8076b46fdb46c2d33a9f442fbf67818a05bcf";
+  sha512.run = "1a5c0d201f18eae47341d5683507602341baafcf5bc519116f7e4ae8a0c535210469ce1c9a8db0f21cbdf8277cee71b0c989ab0a97dd7f11aebdd5bb8e2f3443";
 };
 "collection-langpolish" = {
   stripPrefix = 0;
@@ -5925,7 +6078,7 @@ tl: { # no indentation
   deps."tex-virtual-academy-pl" = tl."tex-virtual-academy-pl";
   deps."texlive-pl" = tl."texlive-pl";
   deps."utf8mex" = tl."utf8mex";
-  sha512.run = "950b354fe6d731322178d120a7d70c58b065c11aa3e4ddeba741196c790d801ad4ecf60b7b7478da1a6207fb797595a8ffc34f64488bb3874316cbfbe4f83bc7";
+  sha512.run = "38799df728e830c93a50928efe5f337c91e34b97368e4cce4707e6cbca0a8ee22b9edc528084034a86c72a748367c3f46af37fbe87f5171951563d98f836de58";
 };
 "collection-langportuguese" = {
   stripPrefix = 0;
@@ -5938,9 +6091,10 @@ tl: { # no indentation
   deps."latex-via-exemplos" = tl."latex-via-exemplos";
   deps."latexcheat-ptbr" = tl."latexcheat-ptbr";
   deps."lshort-portuguese" = tl."lshort-portuguese";
+  deps."numberpt" = tl."numberpt";
   deps."ordinalpt" = tl."ordinalpt";
   deps."xypic-tut-pt" = tl."xypic-tut-pt";
-  sha512.run = "2885b09a8e43d9addf666b6c83fc435f4d2da26192ffbcfc9aab77e445967a80e5969a430bfa52ab4b594c5a860cd2b7445acbb00f863d14fafe71b63f4526fd";
+  sha512.run = "d805cfa253db9af2c74f9aa072b384f7cdb775258d5063ff33713a60977899ef7b833d5bc5c5b589d9b4f61737c1a48209c25481571dc3be32d5ebdf43430340";
 };
 "collection-langspanish" = {
   stripPrefix = 0;
@@ -5959,7 +6113,7 @@ tl: { # no indentation
   deps."lshort-spanish" = tl."lshort-spanish";
   deps."spanish-mx" = tl."spanish-mx";
   deps."texlive-es" = tl."texlive-es";
-  sha512.run = "ee8b79f60ae87ab4919319e5c0cc2f782de50e1340d00361fa3f36a7aafd0a37462d03799b4fcee0634e99833f489e228131a266c597c9ddbe9dfb2fa833dfd7";
+  sha512.run = "ed816cee1ca88a971b621d4a91ea7e6beebf8aacb684f8f000da8c4ce58e368a347eec69676db992dd1f09f287957855b4e814336a9bec689656a3eb6c34ce8b";
 };
 "collection-latex" = {
   stripPrefix = 0;
@@ -5992,7 +6146,7 @@ tl: { # no indentation
   deps."pspicture" = tl."pspicture";
   deps."tools" = tl."tools";
   deps."url" = tl."url";
-  sha512.run = "3db8bef953d336d22c67c49b0b1172b00f76621a97f7744345d0f9214ee84d83dea9190e666c49a649b1eb576c9b50210fcea7297dc555afd3fc4c83efcbc016";
+  sha512.run = "b1aae6d9b6a16813d76ee4c4bff813120784f856574b83aad156bb6bd0edc8815688159f78a5fa74dc1662c02c94c675e8caa3f654e933673f0424e8f1ead80f";
 };
 "collection-latexextra" = {
   stripPrefix = 0;
@@ -6008,6 +6162,7 @@ tl: { # no indentation
   deps."a5comb" = tl."a5comb";
   deps."abraces" = tl."abraces";
   deps."abstract" = tl."abstract";
+  deps."accessibility" = tl."accessibility";
   deps."achemso" = tl."achemso";
   deps."acro" = tl."acro";
   deps."acronym" = tl."acronym";
@@ -6034,7 +6189,9 @@ tl: { # no indentation
   deps."appendix" = tl."appendix";
   deps."appendixnumberbeamer" = tl."appendixnumberbeamer";
   deps."apptools" = tl."apptools";
+  deps."arabicfront" = tl."arabicfront";
   deps."arcs" = tl."arcs";
+  deps."arraycols" = tl."arraycols";
   deps."arrayjobx" = tl."arrayjobx";
   deps."arraysort" = tl."arraysort";
   deps."arydshln" = tl."arydshln";
@@ -6049,14 +6206,15 @@ tl: { # no indentation
   deps."autonum" = tl."autonum";
   deps."autopdf" = tl."autopdf";
   deps."avremu" = tl."avremu";
-  deps."axessibility" = tl."axessibility";
   deps."background" = tl."background";
   deps."bankstatement" = tl."bankstatement";
   deps."bashful" = tl."bashful";
   deps."basicarith" = tl."basicarith";
   deps."bchart" = tl."bchart";
   deps."beamer2thesis" = tl."beamer2thesis";
+  deps."beamer-rl" = tl."beamer-rl";
   deps."beameraudience" = tl."beameraudience";
+  deps."beamerauxtheme" = tl."beamerauxtheme";
   deps."beamercolorthemeowl" = tl."beamercolorthemeowl";
   deps."beamerdarkthemes" = tl."beamerdarkthemes";
   deps."beamerposter" = tl."beamerposter";
@@ -6076,7 +6234,6 @@ tl: { # no indentation
   deps."beton" = tl."beton";
   deps."bewerbung" = tl."bewerbung";
   deps."bez123" = tl."bez123";
-  deps."bezos" = tl."bezos";
   deps."bhcexam" = tl."bhcexam";
   deps."bibletext" = tl."bibletext";
   deps."bigfoot" = tl."bigfoot";
@@ -6102,7 +6259,6 @@ tl: { # no indentation
   deps."braket" = tl."braket";
   deps."breakurl" = tl."breakurl";
   deps."bullcntr" = tl."bullcntr";
-  deps."bussproofs" = tl."bussproofs";
   deps."bxcalc" = tl."bxcalc";
   deps."bxdpx-beamer" = tl."bxdpx-beamer";
   deps."bxdvidriver" = tl."bxdvidriver";
@@ -6137,6 +6293,7 @@ tl: { # no indentation
   deps."cellprops" = tl."cellprops";
   deps."cellspace" = tl."cellspace";
   deps."censor" = tl."censor";
+  deps."centeredline" = tl."centeredline";
   deps."changebar" = tl."changebar";
   deps."changelayout" = tl."changelayout";
   deps."changelog" = tl."changelog";
@@ -6145,6 +6302,7 @@ tl: { # no indentation
   deps."chappg" = tl."chappg";
   deps."chapterfolder" = tl."chapterfolder";
   deps."cheatsheet" = tl."cheatsheet";
+  deps."checkend" = tl."checkend";
   deps."chet" = tl."chet";
   deps."chextras" = tl."chextras";
   deps."childdoc" = tl."childdoc";
@@ -6217,6 +6375,7 @@ tl: { # no indentation
   deps."crossreftools" = tl."crossreftools";
   deps."csquotes" = tl."csquotes";
   deps."css-colors" = tl."css-colors";
+  deps."csvmerge" = tl."csvmerge";
   deps."csvsimple" = tl."csvsimple";
   deps."cuisine" = tl."cuisine";
   deps."currency" = tl."currency";
@@ -6300,6 +6459,7 @@ tl: { # no indentation
   deps."documentation" = tl."documentation";
   deps."doi" = tl."doi";
   deps."dotarrow" = tl."dotarrow";
+  deps."dotlessi" = tl."dotlessi";
   deps."dotseqn" = tl."dotseqn";
   deps."download" = tl."download";
   deps."dox" = tl."dox";
@@ -6332,6 +6492,7 @@ tl: { # no indentation
   deps."eemeir" = tl."eemeir";
   deps."efbox" = tl."efbox";
   deps."egplot" = tl."egplot";
+  deps."ehhline" = tl."ehhline";
   deps."elegantbook" = tl."elegantbook";
   deps."elegantnote" = tl."elegantnote";
   deps."elegantpaper" = tl."elegantpaper";
@@ -6368,6 +6529,7 @@ tl: { # no indentation
   deps."erw-l3" = tl."erw-l3";
   deps."esami" = tl."esami";
   deps."esdiff" = tl."esdiff";
+  deps."esindex" = tl."esindex";
   deps."esint" = tl."esint";
   deps."esint-type1" = tl."esint-type1";
   deps."etaremune" = tl."etaremune";
@@ -6407,6 +6569,7 @@ tl: { # no indentation
   deps."fancyslides" = tl."fancyslides";
   deps."fancytabs" = tl."fancytabs";
   deps."fancytooltips" = tl."fancytooltips";
+  deps."fbox" = tl."fbox";
   deps."fcolumn" = tl."fcolumn";
   deps."fetchcls" = tl."fetchcls";
   deps."ffslides" = tl."ffslides";
@@ -6452,7 +6615,6 @@ tl: { # no indentation
   deps."footmisc" = tl."footmisc";
   deps."footmisx" = tl."footmisx";
   deps."footnotebackref" = tl."footnotebackref";
-  deps."footnotehyper" = tl."footnotehyper";
   deps."footnoterange" = tl."footnoterange";
   deps."footnpag" = tl."footnpag";
   deps."forarray" = tl."forarray";
@@ -6485,6 +6647,7 @@ tl: { # no indentation
   deps."genmpage" = tl."genmpage";
   deps."getfiledate" = tl."getfiledate";
   deps."getitems" = tl."getitems";
+  deps."gindex" = tl."gindex";
   deps."ginpenc" = tl."ginpenc";
   deps."gitfile-info" = tl."gitfile-info";
   deps."gitinfo" = tl."gitinfo";
@@ -6508,6 +6671,7 @@ tl: { # no indentation
   deps."glossaries-polish" = tl."glossaries-polish";
   deps."glossaries-portuges" = tl."glossaries-portuges";
   deps."glossaries-serbian" = tl."glossaries-serbian";
+  deps."glossaries-slovene" = tl."glossaries-slovene";
   deps."glossaries-spanish" = tl."glossaries-spanish";
   deps."gmdoc" = tl."gmdoc";
   deps."gmdoc-enhance" = tl."gmdoc-enhance";
@@ -6557,7 +6721,6 @@ tl: { # no indentation
   deps."ifmtarg" = tl."ifmtarg";
   deps."ifnextok" = tl."ifnextok";
   deps."ifoddpage" = tl."ifoddpage";
-  deps."ifplatform" = tl."ifplatform";
   deps."ifthenx" = tl."ifthenx";
   deps."iitem" = tl."iitem";
   deps."image-gallery" = tl."image-gallery";
@@ -6595,6 +6758,7 @@ tl: { # no indentation
   deps."keycommand" = tl."keycommand";
   deps."keyfloat" = tl."keyfloat";
   deps."keyreader" = tl."keyreader";
+  deps."keyindex" = tl."keyindex";
   deps."keystroke" = tl."keystroke";
   deps."keyval2e" = tl."keyval2e";
   deps."keyvaltable" = tl."keyvaltable";
@@ -6608,10 +6772,16 @@ tl: { # no indentation
   deps."l3build" = tl."l3build";
   deps."labbook" = tl."labbook";
   deps."labels" = tl."labels";
+  deps."labels4easylist" = tl."labels4easylist";
   deps."labelschanged" = tl."labelschanged";
   deps."lastpackage" = tl."lastpackage";
   deps."lastpage" = tl."lastpage";
+  deps."latex-amsmath-dev" = tl."latex-amsmath-dev";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-bin-dev" = tl."latex-bin-dev";
+  deps."latex-graphics-dev" = tl."latex-graphics-dev";
   deps."latex-tds" = tl."latex-tds";
+  deps."latex-tools-dev" = tl."latex-tools-dev";
   deps."latex-uni8" = tl."latex-uni8";
   deps."latexcolors" = tl."latexcolors";
   deps."latexdemo" = tl."latexdemo";
@@ -6687,13 +6857,12 @@ tl: { # no indentation
   deps."marginfix" = tl."marginfix";
   deps."marginnote" = tl."marginnote";
   deps."markdown" = tl."markdown";
-  deps."mathalfa" = tl."mathalfa";
+  deps."mathalpha" = tl."mathalpha";
   deps."mathastext" = tl."mathastext";
   deps."mathexam" = tl."mathexam";
   deps."mathfam256" = tl."mathfam256";
   deps."mathfont" = tl."mathfont";
   deps."maybemath" = tl."maybemath";
-  deps."mbenotes" = tl."mbenotes";
   deps."mcaption" = tl."mcaption";
   deps."mceinleger" = tl."mceinleger";
   deps."mcexam" = tl."mcexam";
@@ -6887,7 +7056,9 @@ tl: { # no indentation
   deps."polytable" = tl."polytable";
   deps."postcards" = tl."postcards";
   deps."poster-mac" = tl."poster-mac";
+  deps."powerdot" = tl."powerdot";
   deps."ppr-prv" = tl."ppr-prv";
+  deps."practicalreports" = tl."practicalreports";
   deps."preprint" = tl."preprint";
   deps."pressrelease" = tl."pressrelease";
   deps."prettyref" = tl."prettyref";
@@ -6912,6 +7083,7 @@ tl: { # no indentation
   deps."qstest" = tl."qstest";
   deps."qsymbols" = tl."qsymbols";
   deps."quicktype" = tl."quicktype";
+  deps."quiz2socrative" = tl."quiz2socrative";
   deps."quotchap" = tl."quotchap";
   deps."quoting" = tl."quoting";
   deps."quotmark" = tl."quotmark";
@@ -6955,6 +7127,7 @@ tl: { # no indentation
   deps."roundbox" = tl."roundbox";
   deps."rterface" = tl."rterface";
   deps."rtkinenc" = tl."rtkinenc";
+  deps."rulerbox" = tl."rulerbox";
   deps."rulercompass" = tl."rulercompass";
   deps."rvwrite" = tl."rvwrite";
   deps."sanitize-umlaut" = tl."sanitize-umlaut";
@@ -6966,6 +7139,8 @@ tl: { # no indentation
   deps."scalebar" = tl."scalebar";
   deps."scalerel" = tl."scalerel";
   deps."scanpages" = tl."scanpages";
+  deps."schedule" = tl."schedule";
+  deps."scontents" = tl."scontents";
   deps."scrlttr2copy" = tl."scrlttr2copy";
   deps."sdrt" = tl."sdrt";
   deps."secdot" = tl."secdot";
@@ -7016,6 +7191,8 @@ tl: { # no indentation
   deps."snapshot" = tl."snapshot";
   deps."snotez" = tl."snotez";
   deps."soul" = tl."soul";
+  deps."soulpos" = tl."soulpos";
+  deps."spacingtricks" = tl."spacingtricks";
   deps."spark-otf" = tl."spark-otf";
   deps."sparklines" = tl."sparklines";
   deps."sphack" = tl."sphack";
@@ -7042,6 +7219,7 @@ tl: { # no indentation
   deps."stubs" = tl."stubs";
   deps."studenthandouts" = tl."studenthandouts";
   deps."subdepth" = tl."subdepth";
+  deps."subdocs" = tl."subdocs";
   deps."subeqn" = tl."subeqn";
   deps."subeqnarray" = tl."subeqnarray";
   deps."subfigmat" = tl."subfigmat";
@@ -7125,6 +7303,7 @@ tl: { # no indentation
   deps."tocvsec2" = tl."tocvsec2";
   deps."todo" = tl."todo";
   deps."todonotes" = tl."todonotes";
+  deps."tokcycle" = tl."tokcycle";
   deps."tokenizer" = tl."tokenizer";
   deps."toolbox" = tl."toolbox";
   deps."topfloat" = tl."topfloat";
@@ -7182,12 +7361,14 @@ tl: { # no indentation
   deps."volumes" = tl."volumes";
   deps."vpe" = tl."vpe";
   deps."vruler" = tl."vruler";
+  deps."vtable" = tl."vtable";
   deps."vwcol" = tl."vwcol";
   deps."wallcalendar" = tl."wallcalendar";
   deps."wallpaper" = tl."wallpaper";
   deps."warning" = tl."warning";
   deps."warpcol" = tl."warpcol";
   deps."was" = tl."was";
+  deps."webquiz" = tl."webquiz";
   deps."widetable" = tl."widetable";
   deps."widows-and-orphans" = tl."widows-and-orphans";
   deps."williams" = tl."williams";
@@ -7205,6 +7386,7 @@ tl: { # no indentation
   deps."xcolor-solarized" = tl."xcolor-solarized";
   deps."xcomment" = tl."xcomment";
   deps."xcookybooky" = tl."xcookybooky";
+  deps."xcpdftips" = tl."xcpdftips";
   deps."xdoc" = tl."xdoc";
   deps."xellipsis" = tl."xellipsis";
   deps."xfakebold" = tl."xfakebold";
@@ -7238,7 +7420,7 @@ tl: { # no indentation
   deps."ziffer" = tl."ziffer";
   deps."zwgetfdate" = tl."zwgetfdate";
   deps."zwpagelayout" = tl."zwpagelayout";
-  sha512.run = "53328504434c5a14cca0e9be60cb8bff9968f04ff46dc51369b1cf5860860ebb334a4339ae938c79be74fe17cb9005199a090edede18f5ddf559ee064f54ebfd";
+  sha512.run = "278401d543e2dfa2ed93138b54c55e43d199f97ac6087421de844ff3e36507256e7eca7764f9c3df820aff2f23bdd29397dff64f800fcdca8de36a95ff3c1d05";
 };
 "collection-latexrecommended" = {
   stripPrefix = 0;
@@ -7263,11 +7445,13 @@ tl: { # no indentation
   deps."filehook" = tl."filehook";
   deps."float" = tl."float";
   deps."fontspec" = tl."fontspec";
+  deps."footnotehyper" = tl."footnotehyper";
   deps."fp" = tl."fp";
   deps."index" = tl."index";
   deps."jknapltx" = tl."jknapltx";
   deps."koma-script" = tl."koma-script";
   deps."latexbug" = tl."latexbug";
+  deps."l3backend" = tl."l3backend";
   deps."l3experimental" = tl."l3experimental";
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
@@ -7285,8 +7469,8 @@ tl: { # no indentation
   deps."parskip" = tl."parskip";
   deps."pdfpages" = tl."pdfpages";
   deps."polyglossia" = tl."polyglossia";
-  deps."powerdot" = tl."powerdot";
   deps."psfrag" = tl."psfrag";
+  deps."ragged2e" = tl."ragged2e";
   deps."rcs" = tl."rcs";
   deps."sansmath" = tl."sansmath";
   deps."section" = tl."section";
@@ -7305,11 +7489,12 @@ tl: { # no indentation
   deps."xkeyval" = tl."xkeyval";
   deps."xltxtra" = tl."xltxtra";
   deps."xunicode" = tl."xunicode";
-  sha512.run = "c2ee4fdd220cd4e46d650f632d4f9cbbd13fe468df3a837eabe8705490b0a44c68c5acfd3c6813e90fe316a4bab4cfc68fbf2024dd42810a62d7090fab750cd5";
+  sha512.run = "b4b677811f192eaa7a56f5208807a36c01e930ce966012bd44231b80fd39480a5103b634d2a2b349c8e6999e47e7864b1e6cdbb1052f6f5b803deeadb51cf513";
 };
 "collection-luatex" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
+  deps."addliga" = tl."addliga";
   deps."auto-pst-pdf-lua" = tl."auto-pst-pdf-lua";
   deps."bezierplot" = tl."bezierplot";
   deps."checkcites" = tl."checkcites";
@@ -7324,6 +7509,7 @@ tl: { # no indentation
   deps."lua2dox" = tl."lua2dox";
   deps."luacode" = tl."luacode";
   deps."luahyphenrules" = tl."luahyphenrules";
+  deps."luaimageembed" = tl."luaimageembed";
   deps."luaindex" = tl."luaindex";
   deps."luainputenc" = tl."luainputenc";
   deps."luaintro" = tl."luaintro";
@@ -7343,12 +7529,13 @@ tl: { # no indentation
   deps."luaxml" = tl."luaxml";
   deps."nodetree" = tl."nodetree";
   deps."odsfile" = tl."odsfile";
+  deps."pdfarticle" = tl."pdfarticle";
   deps."placeat" = tl."placeat";
   deps."plantuml" = tl."plantuml";
   deps."selnolig" = tl."selnolig";
   deps."spelling" = tl."spelling";
   deps."typewriter" = tl."typewriter";
-  sha512.run = "00c9c65eacf4e08108aa7cb6391a8ed41aea6e2579053c01df80e7117c568652a39682d4faa0fb2a2c042e3e26f7c0d8b849e3a8476e515fd7840e946458ae6e";
+  sha512.run = "0994c7425cc79885ec523d73d7ab2db08f32117d2bff82f4e5c0c4df6c70c012f7b90e04e8f83cc263cdf29c39b1104e09a92e86a94eda0c2e9cdfb66377fe50";
 };
 "collection-mathscience" = {
   stripPrefix = 0;
@@ -7357,12 +7544,14 @@ tl: { # no indentation
   deps."12many" = tl."12many";
   deps."SIstyle" = tl."SIstyle";
   deps."SIunits" = tl."SIunits";
+  deps."accents" = tl."accents";
   deps."alg" = tl."alg";
   deps."algobox" = tl."algobox";
   deps."algorithm2e" = tl."algorithm2e";
   deps."algorithmicx" = tl."algorithmicx";
   deps."algorithms" = tl."algorithms";
   deps."aligned-overset" = tl."aligned-overset";
+  deps."amscdx" = tl."amscdx";
   deps."amstex" = tl."amstex";
   deps."apxproof" = tl."apxproof";
   deps."autobreak" = tl."autobreak";
@@ -7377,6 +7566,8 @@ tl: { # no indentation
   deps."bosisio" = tl."bosisio";
   deps."bpchem" = tl."bpchem";
   deps."bropd" = tl."bropd";
+  deps."bussproofs" = tl."bussproofs";
+  deps."bussproofs-extra" = tl."bussproofs-extra";
   deps."bytefield" = tl."bytefield";
   deps."calculation" = tl."calculation";
   deps."cascade" = tl."cascade";
@@ -7394,6 +7585,7 @@ tl: { # no indentation
   deps."chemstyle" = tl."chemstyle";
   deps."clrscode" = tl."clrscode";
   deps."clrscode3e" = tl."clrscode3e";
+  deps."codeanatomy" = tl."codeanatomy";
   deps."commath" = tl."commath";
   deps."complexity" = tl."complexity";
   deps."computational-complexity" = tl."computational-complexity";
@@ -7405,6 +7597,7 @@ tl: { # no indentation
   deps."delim" = tl."delim";
   deps."delimseasy" = tl."delimseasy";
   deps."delimset" = tl."delimset";
+  deps."derivative" = tl."derivative";
   deps."diffcoeff" = tl."diffcoeff";
   deps."digiconfigs" = tl."digiconfigs";
   deps."dijkstra" = tl."dijkstra";
@@ -7431,6 +7624,7 @@ tl: { # no indentation
   deps."gastex" = tl."gastex";
   deps."gene-logic" = tl."gene-logic";
   deps."ghsystem" = tl."ghsystem";
+  deps."glosmathtools" = tl."glosmathtools";
   deps."gotoh" = tl."gotoh";
   deps."grundgesetze" = tl."grundgesetze";
   deps."gu" = tl."gu";
@@ -7453,10 +7647,12 @@ tl: { # no indentation
   deps."lpform" = tl."lpform";
   deps."lplfitch" = tl."lplfitch";
   deps."lstbayes" = tl."lstbayes";
+  deps."mathcommand" = tl."mathcommand";
   deps."mathcomp" = tl."mathcomp";
   deps."mathfixs" = tl."mathfixs";
   deps."mathpartir" = tl."mathpartir";
   deps."mathpunctspace" = tl."mathpunctspace";
+  deps."matrix-skeleton" = tl."matrix-skeleton";
   deps."matlab-prettifier" = tl."matlab-prettifier";
   deps."mattens" = tl."mattens";
   deps."memorygraphs" = tl."memorygraphs";
@@ -7464,6 +7660,7 @@ tl: { # no indentation
   deps."mhchem" = tl."mhchem";
   deps."mhequ" = tl."mhequ";
   deps."miller" = tl."miller";
+  deps."mismath" = tl."mismath";
   deps."multiobjective" = tl."multiobjective";
   deps."mychemistry" = tl."mychemistry";
   deps."natded" = tl."natded";
@@ -7481,7 +7678,9 @@ tl: { # no indentation
   deps."polexpr" = tl."polexpr";
   deps."prftree" = tl."prftree";
   deps."proba" = tl."proba";
+  deps."proof-at-the-end" = tl."proof-at-the-end";
   deps."prooftrees" = tl."prooftrees";
+  deps."pseudo" = tl."pseudo";
   deps."pseudocode" = tl."pseudocode";
   deps."pythonhighlight" = tl."pythonhighlight";
   deps."qsharp" = tl."qsharp";
@@ -7514,12 +7713,14 @@ tl: { # no indentation
   deps."struktex" = tl."struktex";
   deps."substances" = tl."substances";
   deps."subsupscripts" = tl."subsupscripts";
+  deps."subtext" = tl."subtext";
   deps."susy" = tl."susy";
   deps."syllogism" = tl."syllogism";
   deps."sympytexpackage" = tl."sympytexpackage";
   deps."synproof" = tl."synproof";
   deps."t-angles" = tl."t-angles";
   deps."tablor" = tl."tablor";
+  deps."tensind" = tl."tensind";
   deps."tensor" = tl."tensor";
   deps."tex-ewd" = tl."tex-ewd";
   deps."textgreek" = tl."textgreek";
@@ -7534,7 +7735,7 @@ tl: { # no indentation
   deps."yhmath" = tl."yhmath";
   deps."youngtab" = tl."youngtab";
   deps."ytableau" = tl."ytableau";
-  sha512.run = "2f8256930070c94ad23a08533b816390c1491ea258fcc8408b4ca88525f0951b54025a8edc1b682a1e6d0d51e7943bf885a8a04c2168185fc99065a1fd29fa19";
+  sha512.run = "8a57a2ca065d0bbcd1c7359802cd82806cb386be6b9324c154fc3d14d2fa155c0cfffc83317c6bebff6507b644c5d30c73687363c7191ab364d17b196ed297ce";
 };
 "collection-metapost" = {
   stripPrefix = 0;
@@ -7553,6 +7754,7 @@ tl: { # no indentation
   deps."featpost" = tl."featpost";
   deps."feynmf" = tl."feynmf";
   deps."feynmp-auto" = tl."feynmp-auto";
+  deps."fiziko" = tl."fiziko";
   deps."garrigues" = tl."garrigues";
   deps."gmp" = tl."gmp";
   deps."hatching" = tl."hatching";
@@ -7582,7 +7784,7 @@ tl: { # no indentation
   deps."suanpan" = tl."suanpan";
   deps."textpath" = tl."textpath";
   deps."threeddice" = tl."threeddice";
-  sha512.run = "f3b46bd99d836ffd672728806bb2cefafa59b0be7c098fbfc09ead73f7243019c0a13825acf89a8fc440d4785699a5f3e1170d16242b5665c45070f098489dfe";
+  sha512.run = "09dfaa35971f85134d0854c08a99c4d2b01ddf08e8ab97449460bb99d1236a38c48643501e7bb56197a844491509af301da6c4f75a33d9286601633211ec7d93";
 };
 "collection-music" = {
   stripPrefix = 0;
@@ -7591,6 +7793,8 @@ tl: { # no indentation
   deps."autosp" = tl."autosp";
   deps."bagpipe" = tl."bagpipe";
   deps."chordbars" = tl."chordbars";
+  deps."chordbox" = tl."chordbox";
+  deps."ddphonism" = tl."ddphonism";
   deps."figbas" = tl."figbas";
   deps."gchords" = tl."gchords";
   deps."gregoriotex" = tl."gregoriotex";
@@ -7616,7 +7820,7 @@ tl: { # no indentation
   deps."songbook" = tl."songbook";
   deps."songs" = tl."songs";
   deps."xpiano" = tl."xpiano";
-  sha512.run = "169fc767186f84cc5d9b01a154350be30b638014820bd41c8c1f0c33dc845c5f8a07d23af47a7e186ca7d32690b350ad57d5004e3963c51caa13a50e9d96bfc8";
+  sha512.run = "a4ad811435b9b6d51d59c6fa09fa20c82d8adf455fccca3121711f0814a1d73f10b3549d928555cd34ac9917accb1748f0a7ed3ebafd979833d8e6ebb146efd1";
 };
 "collection-pictures" = {
   stripPrefix = 0;
@@ -7643,6 +7847,7 @@ tl: { # no indentation
   deps."celtic" = tl."celtic";
   deps."chemfig" = tl."chemfig";
   deps."combinedgraphics" = tl."combinedgraphics";
+  deps."circuit-macros" = tl."circuit-macros";
   deps."circuitikz" = tl."circuitikz";
   deps."curve" = tl."curve";
   deps."curve2e" = tl."curve2e";
@@ -7686,6 +7891,7 @@ tl: { # no indentation
   deps."hobby" = tl."hobby";
   deps."hvfloat" = tl."hvfloat";
   deps."istgame" = tl."istgame";
+  deps."kblocks" = tl."kblocks";
   deps."knitting" = tl."knitting";
   deps."knittingpattern" = tl."knittingpattern";
   deps."ladder" = tl."ladder";
@@ -7717,6 +7923,7 @@ tl: { # no indentation
   deps."pgfgantt" = tl."pgfgantt";
   deps."pgfkeyx" = tl."pgfkeyx";
   deps."pgfmolbio" = tl."pgfmolbio";
+  deps."pgfmorepages" = tl."pgfmorepages";
   deps."pgfopts" = tl."pgfopts";
   deps."pgfornament" = tl."pgfornament";
   deps."pgfplots" = tl."pgfplots";
@@ -7730,6 +7937,7 @@ tl: { # no indentation
   deps."postage" = tl."postage";
   deps."prerex" = tl."prerex";
   deps."productbox" = tl."productbox";
+  deps."ptolemaicastronomy" = tl."ptolemaicastronomy";
   deps."pxpgfmark" = tl."pxpgfmark";
   deps."qcircuit" = tl."qcircuit";
   deps."quantikz" = tl."quantikz";
@@ -7745,6 +7953,7 @@ tl: { # no indentation
   deps."scratch" = tl."scratch";
   deps."scratch3" = tl."scratch3";
   deps."setdeck" = tl."setdeck";
+  deps."simpleoptics" = tl."simpleoptics";
   deps."signchart" = tl."signchart";
   deps."smartdiagram" = tl."smartdiagram";
   deps."spath3" = tl."spath3";
@@ -7809,7 +8018,7 @@ tl: { # no indentation
   deps."visualpstricks" = tl."visualpstricks";
   deps."xpicture" = tl."xpicture";
   deps."xypic" = tl."xypic";
-  sha512.run = "b1e6cba2443dae3d1b4c2ae56318a1ac3b0d87df8006bc2263a8ef047964871c5f3af2cc351b508ae236da68077cffff4f4971644fa1d5ce75419b5c40369f2d";
+  sha512.run = "08879ddc094db933adadc42a75a54aab493c5d9552b84d355f71b54572cd01e67a97baa1a48fc13fcea90da88893a5e0c8db8b90c7f96bd4861621de06ff3e84";
 };
 "collection-plaingeneric" = {
   stripPrefix = 0;
@@ -7906,7 +8115,7 @@ tl: { # no indentation
   deps."xii-lat" = tl."xii-lat";
   deps."xlop" = tl."xlop";
   deps."yax" = tl."yax";
-  sha512.run = "458452bce83bda1758fa0692dbf641c14edde8c5c011c9242440bc6fe77f3c4ea32f70793d6f70fe8888826c456d023949788fec42fbdf148f87cbd99d8e2453";
+  sha512.run = "9ef13861626d3431dae68447b371f05ddbd0eaa3f81a41eaa830825df7775a12a824a36e9be8c14a1b3bcf25f7acafda0b010d3c6021e6cf2b2eb17b3f91c8ef";
 };
 "collection-pstricks" = {
   stripPrefix = 0;
@@ -8009,6 +8218,7 @@ tl: { # no indentation
   deps."pst-thick" = tl."pst-thick";
   deps."pst-tools" = tl."pst-tools";
   deps."pst-tree" = tl."pst-tree";
+  deps."pst-turtle" = tl."pst-turtle";
   deps."pst-tvz" = tl."pst-tvz";
   deps."pst-uml" = tl."pst-uml";
   deps."pst-vectorian" = tl."pst-vectorian";
@@ -8023,7 +8233,7 @@ tl: { # no indentation
   deps."uml" = tl."uml";
   deps."vaucanson-g" = tl."vaucanson-g";
   deps."vocaltract" = tl."vocaltract";
-  sha512.run = "b41077957c5ef6a49ca9655ca80dbfa0421dac54754085ccce58c488f756013aa6b3844640fc9264ff52e764284418fc75e1567a49203ef35d50edbf7c3b3e9c";
+  sha512.run = "336ecc5633674197d366aa52ad2ce650378868110ccc8203c64b9a2ebb69cfa2172230bd46f40acf38b1f984b4fb2d831a7747cca26b16a7d3b2c2ceef435020";
 };
 "collection-publishers" = {
   stripPrefix = 0;
@@ -8051,6 +8261,8 @@ tl: { # no indentation
   deps."articleingud" = tl."articleingud";
   deps."asaetr" = tl."asaetr";
   deps."ascelike" = tl."ascelike";
+  deps."asmeconf" = tl."asmeconf";
+  deps."asmejour" = tl."asmejour";
   deps."aucklandthesis" = tl."aucklandthesis";
   deps."bangorcsthesis" = tl."bangorcsthesis";
   deps."bangorexam" = tl."bangorexam";
@@ -8080,6 +8292,7 @@ tl: { # no indentation
   deps."ejpecp" = tl."ejpecp";
   deps."ekaia" = tl."ekaia";
   deps."elbioimp" = tl."elbioimp";
+  deps."els-cas-templates" = tl."els-cas-templates";
   deps."elsarticle" = tl."elsarticle";
   deps."elteikthesis" = tl."elteikthesis";
   deps."emisa" = tl."emisa";
@@ -8105,6 +8318,7 @@ tl: { # no indentation
   deps."hecthese" = tl."hecthese";
   deps."hithesis" = tl."hithesis";
   deps."hobete" = tl."hobete";
+  deps."hu-berlin-bundle" = tl."hu-berlin-bundle";
   deps."hustthesis" = tl."hustthesis";
   deps."icsv" = tl."icsv";
   deps."ieeepes" = tl."ieeepes";
@@ -8112,6 +8326,7 @@ tl: { # no indentation
   deps."ijsra" = tl."ijsra";
   deps."imac" = tl."imac";
   deps."imtekda" = tl."imtekda";
+  deps."inkpaper" = tl."inkpaper";
   deps."iodhbwm" = tl."iodhbwm";
   deps."iscram" = tl."iscram";
   deps."jacow" = tl."jacow";
@@ -8132,6 +8347,7 @@ tl: { # no indentation
   deps."matc3mem" = tl."matc3mem";
   deps."mcmthesis" = tl."mcmthesis";
   deps."mentis" = tl."mentis";
+  deps."mlacls" = tl."mlacls";
   deps."mnras" = tl."mnras";
   deps."modeles-factures-belges-assocs" = tl."modeles-factures-belges-assocs";
   deps."msu-thesis" = tl."msu-thesis";
@@ -8160,7 +8376,9 @@ tl: { # no indentation
   deps."pracjourn" = tl."pracjourn";
   deps."procIAGssymp" = tl."procIAGssymp";
   deps."proposal" = tl."proposal";
+  deps."prtec" = tl."prtec";
   deps."ptptex" = tl."ptptex";
+  deps."quantumarticle" = tl."quantumarticle";
   deps."resphilosophica" = tl."resphilosophica";
   deps."resumecls" = tl."resumecls";
   deps."revtex" = tl."revtex";
@@ -8192,12 +8410,14 @@ tl: { # no indentation
   deps."thesis-gwu" = tl."thesis-gwu";
   deps."thesis-qom" = tl."thesis-qom";
   deps."thesis-titlepage-fhac" = tl."thesis-titlepage-fhac";
+  deps."thuaslogos" = tl."thuaslogos";
   deps."thucoursework" = tl."thucoursework";
   deps."thuthesis" = tl."thuthesis";
   deps."timbreicmc" = tl."timbreicmc";
   deps."tlc-article" = tl."tlc-article";
   deps."topletter" = tl."topletter";
   deps."toptesi" = tl."toptesi";
+  deps."tuda-ci" = tl."tuda-ci";
   deps."tudscr" = tl."tudscr";
   deps."tugboat" = tl."tugboat";
   deps."tugboat-plain" = tl."tugboat-plain";
@@ -8206,6 +8426,7 @@ tl: { # no indentation
   deps."uaclasses" = tl."uaclasses";
   deps."uafthesis" = tl."uafthesis";
   deps."uantwerpendocs" = tl."uantwerpendocs";
+  deps."ucalgmthesis" = tl."ucalgmthesis";
   deps."ucbthesis" = tl."ucbthesis";
   deps."ucdavisthesis" = tl."ucdavisthesis";
   deps."ucsmonograph" = tl."ucsmonograph";
@@ -8218,10 +8439,13 @@ tl: { # no indentation
   deps."umbclegislation" = tl."umbclegislation";
   deps."umthesis" = tl."umthesis";
   deps."umich-thesis" = tl."umich-thesis";
+  deps."unam-thesis" = tl."unam-thesis";
   deps."unamth-template" = tl."unamth-template";
   deps."unamthesis" = tl."unamthesis";
+  deps."unifith" = tl."unifith";
   deps."unitn-bimrep" = tl."unitn-bimrep";
   deps."univie-ling" = tl."univie-ling";
+  deps."unizgklasa" = tl."unizgklasa";
   deps."unswcover" = tl."unswcover";
   deps."uothesis" = tl."uothesis";
   deps."urcls" = tl."urcls";
@@ -8235,18 +8459,19 @@ tl: { # no indentation
   deps."xduthesis" = tl."xduthesis";
   deps."wsemclassic" = tl."wsemclassic";
   deps."yathesis" = tl."yathesis";
+  deps."yazd-thesis" = tl."yazd-thesis";
   deps."york-thesis" = tl."york-thesis";
-  sha512.run = "f7d351af3b8a1aca682957c79eb624f06f2dcb3d242eb78798ed4c5d1864afbbb6e2884c872fbfcf9b6ac18439859bb1f1fa018f9c71adcc2f42f9beacd1e3ae";
+  sha512.run = "3ff65b8b007456d71ce63e06569023b37fc06e05b777fc89aab3bbebfe3ed9e8e7d33801d1f32b7fd6ce350f88f0b8710e50f5c398024c064eadfc315c9a1ed1";
 };
 "collection-texworks" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."texworks" = tl."texworks";
-  sha512.run = "4d1850b3a52a8ea8a8e2aae83062017d80bcb4586c64398bcb044f1a044113cb65cd25bbabd64b1a9a1572f1e93c6b26ed92f61369c5a490f0c1ee62924352ee";
+  sha512.run = "76e9ad96aa649c70442533135cb3e198278a8df631f91f23b55bd2977eccacd81a2bafa6cf4f0fd1e83f86dd591a85eb8aaa93c5928b2cb9766683d089994199";
 };
 "collection-wintools" = {
   stripPrefix = 0;
-  sha512.run = "b935688c7e195195aafb92e88824d7ceb08a6496ca039e555ff66e99ca4cec9ec91878e21aa03487250ec945c997c01e8114720bd0918a960aabb4e71d17afa7";
+  sha512.run = "648617c8a047b9833429a38e77f1b605b060fc3ab4a356ab8a19e0c1b3650bb56eef7e7b9e8727e95d1e48b0fcac40d8994303527afc7511c5d1a34adab8df30";
 };
 "collection-xetex" = {
   stripPrefix = 0;
@@ -8293,276 +8518,275 @@ tl: { # no indentation
   deps."xetexfontinfo" = tl."xetexfontinfo";
   deps."xetexko" = tl."xetexko";
   deps."xevlna" = tl."xevlna";
-  sha512.run = "ce069972bbe05da14450bdbb17252fb5722034216109cd82c6980a27cde662a6f4769a412e1ec5c9d40016c01a4100770d54dc9bd4e28844eff8400a82f0258e";
+  sha512.run = "1dbbe2fba18718b2f7488bd078ce0ad2f46e66308a383ffe2a17e28f660ce56762da83df52e884867bdcce128267a2d608768a0df2fd9b29eeacf43285c78a6e";
 };
 "collref" = {
   stripPrefix = 0;
-  sha512.run = "9d032c27fc91ba51e9e2193e3990e44acb7bdb33d18fb307b9b3292286884c7046e6183ec2bae59f6418ea48d62cbd0e680c852c18b016d193d8204993245e8e";
-  sha512.doc = "cfd24e2e37ee496ebccd2fb5d53e18854e4dfe36f0420aafd7e5149bf21cee1e7c167e2879041eac93e6cf8506bd8413afbd339e8bf49e1172b44d2b91f3db39";
-  sha512.source = "2dbd247ffd7d79d1b7aa6fc4baa242e9361a59f7eb2aba1bbcfbd15da03bf2c644802e40c21619e42d312be09addd4982f207e32fa7806428fd52f71883fdaa7";
+  sha512.run = "56c2fda36523ae348bea381d90493238c7cbf5ab59f074437c7b694b441f913e6b58795ca81d2c549fbba01505a8895e9e139a9d143050761bceced2717fdb97";
+  sha512.doc = "2d75180ab389632ec320795d6e6b989d902b82d1cfc97ea3c5113647e605c1eead0d0f5a6733cb692b624f4caa7120959c0b15018e35be4d4894183ad3e4c37d";
+  sha512.source = "5a89f6703ab1818375ff33840b1295aee99e6a36338790014b7ac4b54bd49850adcf73ca793c57fb8159be87417741dcdd6ad3934af8bfde74595367f5e3a9fd";
   hasRunfiles = true;
   version = "2.0c";
 };
 "colophon" = {
   stripPrefix = 0;
-  sha512.run = "1180bd69f1f0a4a8467798069c0fadf1105b46ea625fab9efdc5d2c79207ae992c61868cd9fa5c1d24b979106633ca434f7ce4bba818958395c9c70be47e2e73";
-  sha512.doc = "01176ec0b511d3976663a81f7dc9a0fee7531eac353c843f77eebd22643d37125f174c1a67796c2e439dea68cc3e4099b1811ca0b5b84f2d0503f511c62002c6";
-  sha512.source = "f318c78266bd339672b146023adcfdd9e7ea17d6d41cbf1e8f86e81cf85e10a3c0e277ace3b076793b46e77289a492803073a0fea63dcf4bfa7b465dd83dd791";
+  sha512.run = "e85dfdef7eefa2fedd6af7c0b6eb71200485b5190268de3a89cbec8dd15f8e66b3260430660f6cb860e2712d3e20e5a8d0b874592a71b116dc07de6e28161474";
+  sha512.doc = "aba1badf34551d8340f733bb9e365a99c56c473f96ed69deadda917232ea8313df800579cb347e074ff0836553bdeb49f60330883581fb3cc7a3eeedc736d1ba";
+  sha512.source = "8764595f95806d0aa8cd956bdfbec118f16376c936ae457d3d28c072eb8e2d6f0e7028fdb91ab301dfb587a721cc40fae13f56f5245b418413187f8776624855";
   hasRunfiles = true;
   version = "1.1";
 };
 "colordoc" = {
   stripPrefix = 0;
-  sha512.run = "16a98320e38c041068c403f710a0cf9cc981ec5525533919a12e71699f932f58bf7a178b04d491cda6b616406f8e63bf4ed835df6f4a45fd7eb335cf1a6b3dce";
-  sha512.doc = "a5dadd8d74de32073ed78adaf6db4d402b7132522a7b561573ec48c8a0c726a1bfeed9483823e3717925103e8dd91ee7ea70febdcd1cd32cf2cfd40e631b13be";
-  sha512.source = "d0c6b69053d88a6e042a9a5211c1bdb4aa9a60ff26039cb462ea87283316737fef3ef378ac7c6b8374f69206c73145598dd3bf6943d4335e5f1d52cbe7d77375";
+  sha512.run = "a4d87deccae89f844a6251887e4d20817837fff4eef9cbd2874bef8890d41e0ab930a3ee55fae9ee46685c6b3b2b3324b54ce8507f1cb10eef332b7a480b94a8";
+  sha512.doc = "a2e5c6699a615651dd31a570ba6524cc7cb3d2f3c8d4b1fe49092dd4c01b40714c1c534f3554fca20fad7c17fdfb7104b699a10677519f57538e239820b6f1e7";
+  sha512.source = "2c42638129705d6e08375298684ff96c867a4deeb1d836ea12f8d6b0ad9f61f6840159ed04b92f2cac4c8d126da3a8e657589635ebd3388b9d457994bbc53a36";
   hasRunfiles = true;
 };
 "colorinfo" = {
   stripPrefix = 0;
-  sha512.run = "057f88a1ba076616eb7a5fd1cb1d0409a481e5535825df2347fee112228e5c73895dfb7f467be20c88382655ad4d5f4704b3249bdb5c01ed5ba9a860cac38145";
-  sha512.doc = "381d93db9ad3d06cc9ca72340cc78484d15465828cc40963d096a6644b07801e44b958caa94aae8bfca2167eca9b6b0bdd8dc4697e99fb4c6fe4e21c64cd9982";
+  sha512.run = "63bfe1dcdfd85dd1d7d3c7c8d3d345f221bc90bd34bd75888c361d4de97633b9c14d96930b41adf63370403c858f754e740c53d8100b9eb3c5557dd66e6876b3";
+  sha512.doc = "d871a76648cd57af0bd6bd800ee8673ff07b2572ea514a3806731713d9ec4ab368fba2cf540ba71005300d4e02beb180f8eba82c0b060bcaa7a60e54ae601df1";
   hasRunfiles = true;
   version = "0.3c";
 };
 "coloring" = {
   stripPrefix = 0;
-  sha512.run = "572696dbcd6d47e03eaf2b880efe3e137e0a179a3e14ba1a6078fb53670cbc364246a51b978c0657679a60f8c3ccd77d1ac6f098bc624527430921a1d55ee333";
-  sha512.doc = "dbcea5bc6621630fdfc35a9eb1fae1275b7a9283fd1563d9547e8d41548631fc82550890923f5938f526cf4d6ff2ee0b43a93dd2ff4343094f27122cebabbeb4";
+  sha512.run = "7c89a6c53212beaa06d54dc091021c5fd57cc30fccc917ea413d23b0790ec637b6b8e69a3bf1b44d0a9ed24fa1c0dd21608b174c0230a0a94a2e5aed221be033";
+  sha512.doc = "cfe600ff32f680f7b7d3916e5a2e767732a9ab9f1e6d06133afbadc87dc1b8ac420284c75c221ed5b5a81b76f6b01302c5595b69439566775adc18ab11185961";
   hasRunfiles = true;
   version = "0.2";
 };
 "colorprofiles" = {
   stripPrefix = 0;
-  sha512.run = "eda78251a0e6610a411f7cad4debc4474ac22c1e96e3185e131295d89681ff18498c3d70446ae5a53f578ef8876db10bf8ca17385b2ad13454c8611225082f66";
-  sha512.doc = "936ebf755ceecedc00492a53843ca906bb7f58b080a0d3bdf94d8608f6901475bf34ef45b411a4ad3fc44faca566a63ef278e80dcec9dd6a990815acbb73f00c";
+  sha512.run = "49be492e62fcd615b08bb6a32767cac54a9535ab859d2a27d1c84788d4e168df2a10133e5408ab1bd3a802ffa8465a61c4144cd9cbafc6fa98f995cb7af89381";
+  sha512.doc = "ab7cabd369cdde5c2e5108b4d75d71bfa5e6b44d7ecc2eda25509078f26bfbc8515dd10a6dd82adab979170e12552fbecffca1f5bd3a1105db21b31097ec5f12";
   hasRunfiles = true;
   version = "20181105";
 };
 "colorsep" = {
   stripPrefix = 0;
-  sha512.run = "3bd8002997c223caf89063ff643083f8c13a9c1a26395a8eeec444f2283029904055b2f4c6bd1bc7ad893792c1b391ead42605c8cbaf23bc20678bbfa2859623";
+  sha512.run = "3c6387a4c538235181dcaf7b6c3ac51d2893d35fa2c18d95d85810b778fecaed7ae2337d2b284ee3439f44d3570ee86884d42616539bf61a15526aa711da70e9";
   hasRunfiles = true;
 };
 "colorspace" = {
   stripPrefix = 0;
-  sha512.run = "8d7c80694dd3ccd7f44ba9c6c714f619482c80e296d1ab186b2cc49ed3f087cb20f1c368c4e4052e14ff3a5978be711fc337e246d53a01062c2b2862f13292a9";
-  sha512.doc = "6d844943e828d102af5ab86a5326ba6742ff11ecbbe38cc3eb5b1d66e0986db72941e3f74d5b2aef02b1c3f6fde4f04f10f44aa8ec5a1067c9789a3d11df3faf";
+  sha512.run = "677f462e9ec347467ab39f3c4e776b870861ed0a38447d61a50abfc3172936c99b468320ad40a5b43713df070434c0b280e2d9d13609e141603453fa7d6c37f8";
+  sha512.doc = "702060f3a2805be7dc472bab428fad866e947d8f700f8357e897443909d555dee399ac857feb1e341875bbd4017e7e456c46c4282def6daabc092417859bc634";
   hasRunfiles = true;
-  version = "1.2.0";
+  version = "1.3";
 };
 "colortab" = {
   stripPrefix = 0;
-  sha512.run = "75c35fefba78b3fdbb9fd56fcfd31c37d1da963af89371caefb46a76da53a5dc8d3121be07b2e8ea06d98e558a9971dd37549f04c652a78809b73b9eb1ad35fe";
-  sha512.doc = "05296a8c86e43d7acdfe32d7aa04caa50aecb32c8050b339c9444691cd24c5aba545161fc35e4f6815fe69a9284d37915d469643c7e78a34f943f2988687eb85";
+  sha512.run = "460225705cfa914efc689df2d3f0c0ef7f5883082195e3d8e29e124726589fb5e9b7fc4679541b685439de097b6b297b803cf08e104ec13b849dbb26cffeaa04";
+  sha512.doc = "947e46ffe5c83c3803e40f0da9a1a926e830e2b24f1d486d158da24bceade870cb1fe580aded3838f895deb238d1615cc0e3f95a05e99800fb1bad87ddf0b134";
   hasRunfiles = true;
   version = "1.0";
 };
 "colortbl" = {
   stripPrefix = 0;
-  sha512.run = "29aff43799b1c770ba174e8348246d0a3dc81859c13f362577a2c57c82ba3b18c9af2b07919d155177cc4982a7d9dae84e26a4a9bba1dca5475b095f7359b11f";
-  sha512.doc = "1359832614041e91500c2933d39c6872081b88ada89baf0cb5a96e7a83b40769649407190291797c01e3cf837f13230296eb36ce10e003fd04d615d64501e618";
-  sha512.source = "3a3c9155cb1474d5396ccf590be1dcefdaffbd4c1b94899d2a912da3750dfe899e44bab1f6a156b1e6ba6f4b26d4a614ba78ab120ff5c3e52646a837f562b86b";
+  sha512.run = "fcfad0e46aa26afb44ad18f0dce4301c41f2db3168a5f8914eb58b2e91a53eb3fc2533249bd330152e3632b8d5ffb591b70c37b3700f6597eb6cae29804168aa";
+  sha512.doc = "e550a2e3d3d0265a8d49db856a52899eafec47db8534297bae6c85f50f9858dce8e9f989d99e7cbdff0ecc61442827e79cadb4b8dc005f6cf60c9574996a661b";
+  sha512.source = "2e5af0c9831e0aabea6079b67ea53df24953c05c1bd0ef2fc96190077a898840d530a061d585ba6a37d37686f9acc6192c1220793e373a52588009b1a134acb8";
   hasRunfiles = true;
   version = "1.0d";
 };
 "colorwav" = {
   stripPrefix = 0;
-  sha512.run = "615caba84d24d8170f8408729b8fadd4992b3bafbfefa9b81da732b316c3327d49b011b3138420534a5d8b83d69faee8ffa0346a3bd141bdbae696e4c9dd99c4";
-  sha512.doc = "8538c10fe35d3530cdc0e27b190607167af9ae036858c5692570e332bb827b8d1394a725d6ac47c72e1bd1d9b03bcc2c908785db88b8df516b51a8151b48d837";
-  sha512.source = "f112f1020e075def73049dd8ec210c486cf6a8a2cff93db2688f2d7960181cf1c8e3e564596d395a6498d25865cc326981011aa56ba05616a07992fb25bec437";
+  sha512.run = "618f813c9e009a671069a151bc6d438a42b2c589b255685d91dbbbd162e6a106164d626cd772bdb3e6538a1b010ae178dd7e1519195b6b1fee10ce6e46253b6c";
+  sha512.doc = "e042c10fcd4d2760383352ace13b2d3600682a01c900220913c79a950fb1597a59a82483429557aa7598e1cd1eea52b73dd23367139fb741ea48ee9c84c4c572";
+  sha512.source = "96ff1933d48bbe938de3635588d9a9c682ac387415d5a7c316e310ed0931e7fa0adf44185d8232d753a1532653b6bb5c0f6c402903bdab654333694f7c293215";
   hasRunfiles = true;
   version = "1.0";
 };
 "colorweb" = {
   stripPrefix = 0;
-  sha512.run = "12673691e77ec9316d03b6a65ce932bd91f8570dc3939c6063934e4d8324153f1479b0d2bd395c10f26547a140e1487a6e74dfca63830e43eb0c281fe65247b5";
-  sha512.doc = "b95aa651b349b8d4df30891dee6af6e6b1564257fe4cf700199809389ab1b7c8e77239b75812f93b7deaa02100c7aa5236a219d6337efa135fd042b7945cc330";
-  sha512.source = "e63dac77920e8a6156bb15f56d1df85c5e716ee4d06af008ba0649271f38526170dedcac0210caff368973b6edd1fbb16fceaa0543a08599960b5c40abf7361c";
+  sha512.run = "dd8e53aa707f1e73276cca9a9c5732b012ca7dcb0926d101c71aa5fe3829f07251a7f606accc95266f6c9aa4b867a38cc654ca97cc32857edc3d196b2c5a7fd4";
+  sha512.doc = "b1ae7c14f2f07405b7a957831b60829046b058f6d1640051cbee877100c98a8f47d2c1d40f60599c42ff90eed246248b4f48dd8c1d31f9d45082f9ec5c341626";
+  sha512.source = "4016805ddde5974257fc9f20a0f4a8e40b12d059ba74ed6425f206c4b10127596d579dd8c057e85289e32dc1652b2258f6d2590ec6d4cb10c72aa4a874158275";
   hasRunfiles = true;
   version = "1.3";
 };
 "colourchange" = {
   stripPrefix = 0;
-  sha512.run = "4811c709d163ba87934c396d4f1e83985af1607f15330e1146e7a49f83f203589b5831cab9e5ed082eeeabf1e4d33096b50df91fe70016953be2ee2fb00dcdef";
-  sha512.doc = "99f20d002c50bd78877fc1563a0a19a37beafa84cbb947187000092e8d1533871995548aa302250df4eca9c16eaec1bebec6d43306103f524075875cad16b466";
+  sha512.run = "dba4ef8d97324c3da71de1c6a37e268618bab0a876e1da37226ec9fb187087d39f32507e97f4ab4fa801fd4bbb98c51a322c6f2493b719133154b24223bfba46";
+  sha512.doc = "628bc515058108ba97312c15ee5af00e086ea3dc124b4e7b038b176d4175e2146afc6f571593c006d749634896fa286d16c923c17d4dc9e55e81ac3a8aa95442";
   hasRunfiles = true;
   version = "1.22";
 };
 "combelow" = {
   stripPrefix = 0;
-  sha512.run = "90f17be87dbc02e346282f47694e2168b99c9e0111745f8c38ed31446b96c3258ca287ac79e80e05fd54384e27f4a44fcacdff05f04a3533d393558458c5c506";
-  sha512.doc = "bcefd624f3eb0822118109b70b905a75abd9c52031c380334bf7c3763fd950f916fe76378316bbf8541920686d4aeae99e707ca36df83ac7e3c2734c5c31eb3d";
+  sha512.run = "17f1beb58a11f3c754c57331d1b2d9338fee359b6c27cdc0a855671397e78c0b2d29ba60247f3104d3eece22619671f56d2aac862ac404502faaea08f40d7be4";
+  sha512.doc = "82d8e60a5cd8d46b952aa27dff03398cb6e65a1c5a76c1eb260d3e30172af89206a7a8ec7ab3871d5e33e87ccc2c99e2f54740facfd71d43ea6f88821c9ceb2a";
   hasRunfiles = true;
   version = "0.99f";
 };
 "combine" = {
   stripPrefix = 0;
-  sha512.run = "1ac3db1dcc8a2456711c4182a348895760c91880c89d4787808f04cdc4f807337d053c0adfd5ba9d9c4f1cec6f477dea33b4a96d134c77e5fdcefb2c8f2657cd";
-  sha512.doc = "5434cac620a2da1b4b8fcf087d720f5af53d7ec36da698d75e0386147d0070d0673c50746db59de167ffe0523cd157c29369c996e2e188b8eae4ed56980b76e1";
-  sha512.source = "8b9532dbe365d898a99bfc5df53ebab76a84019cd3a97d5dd78b9fc3813b7e1f3e1f88c1d49ef3c38fb5f2ca105e0ed4c2fd7988c3825fe31059a0361044803e";
+  sha512.run = "9e57b01fa0a14556473764144dc3b5e4e3d40a7f913932b02826a68efdd952adc69e990ba75f6b5057d69850d3e693e1c5b5c40d2c3443aab2741ce9646d522e";
+  sha512.doc = "4e09fd0a9b587d61da2c6a15579675b9a839c83f0b38b0f958b2f4aa2c0a49adf93730ebafa235043cf645d6b8689cbcc5916e4bba92b5e30ac87a8282402859";
+  sha512.source = "25df0ae6e799710f575de4aab975f774f53abb28e627547cf61fe68a4de18cd1f9fa3a8cfd242ecede15e6363734844a8ca37b49da7bb4efda6bc90f4f1da168";
   hasRunfiles = true;
   version = "0.7a";
 };
 "combinedgraphics" = {
   stripPrefix = 0;
-  sha512.run = "accccaf617e20b555ee67ae776deab478bb8eb3628845c2de6a1cbc47b10d405d81debc9c590d1774b7c62f0bb9239a01bb0c7f6491cd0b864d07ad29a4da335";
-  sha512.doc = "bd63beb20aa2fb1c6b523bd17d9361c73486c9e528d4e54f8cc3dc1388f4ae6e88697e8e5f55b42c04dd3dd559283e494204127ad86fbd7a624833a539299559";
-  sha512.source = "4ac1e6a20e26947bbe3ce2ede052f12226930133f28cabcacc46e3bc03eef9945d62f24f04f3f254e0167d1e47716f34c4c4b0498831a9d2bde1040257ba9275";
+  sha512.run = "22d36d3a44fbbe5f11522f28e716be862d354998750492d014d86037a24407a748248571e50dc99a6fe5518d8ecbf61ca657407194a43b75510b613438fa4b65";
+  sha512.doc = "4802871f57bbc131c850f89eef43778ed25a9abb0a850dac0e91e762b7a321567348f147ae02847cad4c226f9acf2bce921f9745832d1dc298d751b8123741b4";
+  sha512.source = "248524984e09cfe3a2a6bafdb0011d3470035243807635dff3ee6e6bd5c7d2ecb0483e7ce069a76f1589dc5bc2da4aab2ef94ce9ef587915a03d285bd95965ad";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "combofont" = {
   stripPrefix = 0;
-  sha512.run = "5b2a1df350a23d6a8fa06f7c8820a65b20ce3baa36606f4d46020e6c3cad58dd4c5d1c16a4f36e3e789cd41d422ff8a4849c8faee0c384ec779b7e97be7a8aa7";
-  sha512.doc = "18cbb6692855c1304e46cb19867a86c8c476cdac5c8d6ab5e171987cda4a82f74147b898d00f550650f2a11ecbe4019f1c19dc8b1a1c398eacfd025f44498056";
+  sha512.run = "838f10474c2e89f317df4592443deaec3d1a3310f7bb2b458c2a1b29a03013c4274912020ddd9b5807bb6018b6564c11df7b14b8a6db556e8db58dd98049c002";
+  sha512.doc = "ab322618efb3cd8089e9142a28800d34724e499bacbd0cc4a0db14a409bea3cb355f50d412f92862f53c0a5f91fef8af7b652b21be0596cc9687e4919f5122b4";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "comfortaa" = {
   stripPrefix = 0;
-  sha512.run = "557beea39d924482cfbc16a4509232f968feceafeeaa68d0dd3cf78b6dbdef96d1628200967fb4c3d8f71b11d621cfe1a6f6f9a3a7d767c21cd6e6798c14302f";
-  sha512.doc = "f8502148d1cf9e5146a72491000bf0e62263f3ff36c9de83b5215326e3b30f72fe4fabd301f486945edfd20d286cc3ac4b7c01b89b60e71f2b844155eecd1bf7";
-  sha512.source = "d937e33b13fade7afc9810788848542ef9439af80b5d9ad5878abe110f5422d2ee4f6d8dd3f5af321b25fa24dd5bfcb478c4e919fe618374340dde5d0f1afb98";
+  sha512.run = "83398c18c37a1e2d2e780133910e5ccd59daffb548f689e22bb642d7a2776e425a80df8ded3982f9b343b83d3421d3d5a9f363840b5f4d9e5ab470439183aa70";
+  sha512.doc = "e7c554f3d8ddccf5660e7dd21ba4aec1412433fb594398d9e3b57f9ecd7943c34529b4ac747d9678dd30374eb8fdfbfcacac0545f12769bf419644cf79123a05";
   hasRunfiles = true;
-  version = "2.3";
+  version = "3.2";
 };
 "comicneue" = {
   stripPrefix = 0;
-  sha512.run = "9c510fcdb0ef4165f162d60272894f6061162804be88fd17f7591426d39077c5d90be578faf963aaba707cd290ea05535ff04b490fdfd5529f4fc7f2574f6336";
-  sha512.doc = "304001eb14aa91e94abc1c872ce1967c0dbbcc4b29709287e25fe783ff0263922ebcd5144c0831ad0a8f6d18920304d480dda6d48a771c5ef21eae4456d2f9bb";
+  sha512.run = "c72d19a0f5219d96da92916ec13fe333703c911b4222b60f825aa5ea2d412df261fbae2227c56844e70fcc057ed8367a4c42f17799c4b8418b02c3171b8d4864";
+  sha512.doc = "e3d1630dbecc93365e18b496565a5430e0867f3d3a82c0bedcfec8a02168bddf71d9e65b996e4682294c086d1049cf88182a36c5619d8fe6762aa1050fd923a4";
   hasRunfiles = true;
   version = "1.1";
 };
 "comma" = {
   stripPrefix = 0;
-  sha512.run = "7fb323e1fd37563a7409a7eb8565d6a55c7cfbd539e8efcdec12866cfe55fc0c2a4e14fb2820d0742ee93cf42f0f8fa2b93eb0a3df64dbabee871d2b62675836";
-  sha512.doc = "fb9e9f5b7dad0b3be66884fa24b57ee50d4455ae102fcefcb49d19df543c832f3241acf824bdca99ca4016ce088e1e6fc0872cf46c6789d3fd2ada8ed862386d";
+  sha512.run = "65c21bca8e6a707697847ff96d1cd909cbe0c7d33140b4b175a2e3464c1c67827cea9c9f65e45dfcd31fcf2fd94262daa907358341fddf351241753ab47ac99c";
+  sha512.doc = "b25433b52a32cee71043c1f13d2ca45beff32733ac24259f767b6093f5b5f38e0da3c88569bcd637267397c49d26e546c26454381cf916040c52a2833b02df65";
   hasRunfiles = true;
   version = "1.2";
 };
 "commado" = {
   stripPrefix = 0;
-  sha512.run = "c552d4be89c7075391a407386c5927f4eb0977b7b7998d2acec615929295900526370a9ab992d60b698996a15b3ab7bf2e24e39a74fd203b39f819dca509f35a";
-  sha512.doc = "e79926a469f84e6e8dbbd7d68c11eea9dcd4cd5af27f39765a8e16f57fb50eca80a41dc678ac9ad8fd0583983cab0d7ef16bf63a5362e33d4127fa4af62c89cd";
-  sha512.source = "179069e789165ce1d5beb1c2da8def2274f65718f170348b0e102bc58d3c2fb0aa283d494f79302e628f790e25a6a65d2cb6be435a3e9e34fb9ba90e8cd340f6";
+  sha512.run = "c5e48910b5e685c792b9dfe191cd8666472e24e7ef6d6c2fdb3bfb05b2f39f4d4ca68cc7b859d07f50e5d596250e36e1664e1ca48666b0e3126eb8c91d27c384";
+  sha512.doc = "457d03b34ba53988ff287060d18f993f8e01ca99991505c5373abc05cfdde4cfcdda8fbb6dc3737e91c66ef0b30c083c31e64e326c08d4959ff8ed1a66cd4d33";
+  sha512.source = "e0f280bd901ae306f17ef58686345ca38546fd635dde274456af67f41fc05523a91c1f0c0a2b7f433c992193a6442f870031459071a5d7fd6c12f68728f24809";
   hasRunfiles = true;
   version = "r0.11a";
 };
 "commath" = {
   stripPrefix = 0;
-  sha512.run = "5716ac19591d8eba5086a97ff5f2a7326f0b51dd937f87f81efa881735b5fe01e5b406578e87f80d09fc54228f20ff67d2beb462fe0c291f9caa8133f7d40109";
-  sha512.doc = "a83407ca5345925edb4ff9c4be8c25ca549ef79bc2e8c95b9778cb028c52ccff963a0799303cdab6d23509506a0b65cd4b0d228a8a3cd5708faa47265118a2d9";
+  sha512.run = "68c25e035e211107c65eece91bf84d65f2328ebaa3dc81d70186707c081f865abcb1be383cecec7d780bbebf3f565647406d6bcfc2c6bb3e846058d50882a6b0";
+  sha512.doc = "5d1d162cf8fd6692788bd15e2d3c2021fa6ed96f289f2c17e9d7e9d2afb428030f0d016f4b4aac62aebec1c8988aa1a978f71bdc7f4873e181f1b2ec7e0f6d0d";
   hasRunfiles = true;
   version = "0.3";
 };
 "commedit" = {
   stripPrefix = 0;
-  sha512.run = "475be176f6219fa4cecb991831a79bbe80d5bbf4501994025347b4bc130fe73e1bf59332ec3625a958a52cbbeed56321b646480120863154899d8cc9a35c99f1";
-  sha512.doc = "64de348b0d227eea8273e1bb1e0a661682f64aebfd53aa0fdfce426e400f5d0c067519e7d2a922be964a92b145a162dd121901c78ca77399e3d335707c9036a3";
-  sha512.source = "371e5a4edeba87eb9639d24c684f3f814cf8751c93404061e0b92f4cd2d0b471ba9ab0a3a3bb6f612cf68075e2a97088ff1552be03e361fd3f6f73fdee1f98fa";
+  sha512.run = "7a2248fc7c3de4755a68dfb769c0862332f41945a5efdac8f0b9911c3479bc45cf72ef0176d8d2ed2abe127aaf388c17c90d1f58cfea4aec8bd9e488f2d96c5f";
+  sha512.doc = "b8c6fbb8c67aeb878fef32bb6e61dacdb3ebf9bb7ac92bcdb685bccfac8129ee3145d40ae579ff77b097fc81ebe0438ee5c50c6bc3df156910a287b368728c6e";
+  sha512.source = "19db6434ff564e454ca44fee29d22bb6a930b9f51f54265955565fffd8a7a4a1be89e3475c727a47c3723da99160f4d9ad9899321913d8739821c6491117c843";
   hasRunfiles = true;
   version = "1.02";
 };
 "comment" = {
   stripPrefix = 0;
-  sha512.run = "2b102bf1c2c278e2e336161d264e04102df7ac1cdcaa91d5a8462992acece368714645a5ae12c87baec5d6de6508edc8794b4aa032cb2e58be32378b524b5874";
-  sha512.doc = "a2f8af13b9529e088606bc5592b31e5a1c3f4503420021b10203f8a22b7fcc7369cce73851818c93b3b679f989a97d4734f96881f4c5d1c7d5175c5c9bb494b3";
+  sha512.run = "36b5b4c4d4345a4fcf706f5040c02c2de52567fae76146a06b7f084d59b12d151e65faba1ee4aeeaebee018d81200c2902feb81ae575de35a68c00fa14ed6ba3";
+  sha512.doc = "d5a360c6a0c549fee1d46fa0e9c3f9aaaa4b19b30ac48046e736008ddb42393062824950684185175f8ab569cec221bc8f9a798a07623dbe26cc92a3fd6bc72b";
   hasRunfiles = true;
   version = "3.8";
 };
 "compactbib" = {
   stripPrefix = 0;
-  sha512.run = "8f40de9cd7db15864d220c49afdfa26fefd49d2563205c0b73a7693abe4509316e4d15c1d60d5c944328fd2cfb6e3cb254b1e6ab38d061bd23a66e1f99356f74";
+  sha512.run = "dbc3bb28178a656b400a2a72e48ec813d6e282ddba7c70bb4dd0b5ed7f76e9e0be1dffb0ecf43e4893210453ef420c1b1d859c287663cad6bfe8c7f46dc8d86b";
   hasRunfiles = true;
 };
 "competences" = {
   stripPrefix = 0;
-  sha512.run = "cebca8ba6243f962208b4b7817d2532c28e5aa327c157cadd6113836ec711446e6413ebc9f8fdd19e749101ae7a8b8710871c706fc754f8465ea535e280aa06a";
-  sha512.doc = "b15eb8dcb19d8d2303ceed04240770bb5444733488c2179c80121a8c2eb4fe9e1fa6665475d00c5143a0b943f68df6bf42059840a7eb72acb1388887698c0164";
-  sha512.source = "81232d5a93fcf0c2b278872d51b34911faa7ea4a92479956e651e95ec44d609093c257afc0a24454ec736960feeff7b2e335d43bfaabff299a3786a212d53c53";
+  sha512.run = "e5b2b3a77418d5bc55e8fbbc68c39b1852ce6081b00bf6115573ac29cb7c2b8fd70392fda9b04edca5c3aa1617424541fef2da4d2f777c433b8ee168e850ad99";
+  sha512.doc = "8a0078f2a3c32f03aef58a5d1ba4167ac4c738103d65cad9a5f4bae67aebcce3cb7a16d6aa27fa7b83955c95b28c1f70a0404f5633e3231c3b6d4232265e6c53";
+  sha512.source = "2fb4c80d75808aca093a664bb2ef152cb4ca6bbf1ba0253c2eeb6ece3cdd2299cf7f183423b65f47655128c3b374eb756cd870cc24034da7aaae206216e79fef";
   hasRunfiles = true;
   version = "1.0";
 };
 "complexity" = {
   stripPrefix = 0;
-  sha512.run = "8377bdf605b7d625c7148e54f84e7313c6a3e6e99b2c0fd4981df3f359f8a2af64aaba4f61954b6407c7be95f726082a67eb1a937d112dcb14419522c72d8e7c";
-  sha512.doc = "d7832068a120e638fcdd91ac0c4e50e52f151aede46fd774fddb1337276f408d61bad0656c6bcb8e2c337ece53e59ea966ad2f3169161788d41eeeafa7753d87";
+  sha512.run = "352e1a308e159e432c3123afeba8b173b28e164c81b4874273ddd3f8bb8c8866ef33ba7c06e061d52a3845eafb3307b045b82c9da5ea6a812f3808417fa074d6";
+  sha512.doc = "2ffc63af2d86b7dc121c6e122ee1d23387c4c73a6ba65b226413671b86644d0cd9e9ec646b3eef49d9c4b2d64575d83ff45f3691337ba1dea6835945ca80de13";
   hasRunfiles = true;
   version = "0.81a";
 };
 "components-of-TeX" = {
   stripPrefix = 0;
-  sha512.run = "e0c5ab27cd8d772f2b890460e83d2fb681dabe1d3080a6f37baa8fae329af2675bb959925b0b5b7a345a6633edb5d362502928ec761de977a0896818bdc68526";
-  sha512.doc = "198ff64023dbae070b6995c75e75177f91ed0598e8145f2246e0b22fcecee4c02818781949185dc8923ec8ec94fdd0539b8a1d07e304529077fdee131987fc0c";
+  sha512.run = "364836128154056aa5d1e005144a64aa64ee105c78d34127958599c8c0eb82aa70e856017be3d7166d723a0fd7c9656d72cb24e46bd61d8768c1dc82991c5f77";
+  sha512.doc = "5da762a898a6cb95d5da95f444e862c8d0ac351ca63eca776fc1a9e35e2fb00389d414a85fa1bef357abc3d68b691a36ddac8c6aba20b7ea6f398c9017ac13fb";
 };
 "comprehensive" = {
   stripPrefix = 0;
-  sha512.run = "0ee08e9b2a9ed359ae61e1c1a284a18abea30413a9a2f3a1260a3f69fd12e0a1f2e9c97458043ba30f4aa31a63f4c894fbd20641559c78e6fcd312928276eeca";
-  sha512.doc = "1088ef5e1efb5a5657d6080727b24ee9c0aee88db36392b777f057814b72925d58b28fad102d8733debd9176cc61345f09a4cbdc2d1845d8ad00cb7bf3807cf6";
+  sha512.run = "8c34a44188cb3dd286f0f841cbfd2d4760bee9be75c814041ea7d2f9ffef39991f018fce276a440f88ca8771eca0c1baa9884d2a7f60afbb788f63220b51c3e7";
+  sha512.doc = "e262b3996a745024d2cca39d62ba35e00e9b6a8ead58ae1c89c5d8949744cf8a084021beba8c611ef6b2726447919241e0f2f6cbbb21e6de4d6c15af7c7b5ea4";
   version = "12.3";
 };
 "computational-complexity" = {
   stripPrefix = 0;
-  sha512.run = "4bc9be35eeccaa8d5dea51a219025391d950ac56d2aa0bf7e8264d047943df5cf3fe6b5a3e14973132edfdd0c0a9a68abdc95d5c46e54bbd79d315b8f12c4ef6";
-  sha512.doc = "09ae63bf095fba03b8db2f54a22f410c7f0ef2642209c917826c926ea3bf41c159c234dc56849c45f1ca73b15659dc43b466d3b7bb3d7b6c85ad8ff9d3f9103c";
-  sha512.source = "fa00f041cba1a8c9db5a769d578fd17443f2b8a8a9c590250199c76d416390bdc420e8456e1258c284977806cf8b49de271e69fbf678393a44032ba6e5155e20";
+  sha512.run = "639ae984ee1b581260434ace517d8209843127795e674af045ddafe16838946bebbd2dbeded45fddf62ec0a49b1a30492db0cba4ad1e5bf65530d1d5a5df9198";
+  sha512.doc = "9daf1691d33bbf00b67b82cc29de0002e1aef968cb1f182bc3d722082582ed7e60945f74675b48a87baf67aa9f5fee4a167bf1548d3312492a8f570feda93ac8";
+  sha512.source = "37d9b700194fb1ad6cd11fd9008aa1634a6b425133365819b5f76ec349a962e44ef43e8c18572fec16bb4f7b44fea29bcb4f01936016486c3eee4d44ddfc5ba2";
   hasRunfiles = true;
   version = "2.25f";
 };
 "concepts" = {
   stripPrefix = 0;
-  sha512.run = "b28ee91e7e558ec6f832f7422a0a29d7b813fd471b927b714fc056b36bc6147c606f1a10b5e678cdc0606dabebee1753bfe70377f48914fcc62792e5162aef91";
-  sha512.doc = "e056c91d0b11ac91228c0dd248c092a2b20bbba0241f9f0fb353e0a2d91d5916baf675eb661356adcdf0fce53479715e5292dbfbf2db399c5a64d2d7a5087d4e";
+  sha512.run = "2fe917ad25df3b14bd3a20566b97a7ece0f87f79ec7ef10bcafdffde1834f6fc4bfa6775a7ec8d044e5f3ad241913b2664a7a5c25893e9406de26c0a1008d25c";
+  sha512.doc = "5519f645d55e2a3e4e5f9156bdac2ea9e4ad4735ec9104255e75ea254f45b135f0d635322cf46a5536e8600eee1447ab48753763a4c89310e92d51c94c4fde80";
   hasRunfiles = true;
   version = "0.0.5-r1";
 };
 "concmath" = {
   stripPrefix = 0;
-  sha512.run = "dcd3f16d6ed8405bb7cf93aae518a1cebeabd0e27dca44daf7ad9dfcf4d8de280bda89204d01f14e37f27a0021b65130f11ba4d35e7cda86a66633d07ae41a9e";
-  sha512.doc = "a3c56deaa4726b6fad1cc94313b4a1f869eb8953726bc3c0bfdd92c2edb81c526562b4ad69ed519db974f8fea59d6947f16d182aaa8ec95143665c1bc92d7cb4";
-  sha512.source = "b895d6861c19fd86b9dabe9cc3ad53768dc18826f2144938d27498fa5483d4bcfb80b8b63d5213106e4c3871f65c1b683dd637d976fe56d7fd623528b52d1356";
+  sha512.run = "1e2fd3339fd2bf2a48967102ca42c930ff41a5b4a9fa850cbce6aa2ed701ab351a5dfb931ed80de34aa13e18ab2b01fa2893f981fc671d6399f4d55aa9f8ea40";
+  sha512.doc = "05dbb0a6d89d3f72f3d77824670afb29e6ea8dbba6d37255f6a36006a6a6b630fb56b12815ae3075c41dd698d6a85c6be7ce1dc2da9b3b69b636fcd8c4855a84";
+  sha512.source = "6c4a5a4af907174df5fdeb77f0c4d0f554c2b8ac0d95031fe98f4a748bc4a96c7a526e44229174ffaccdec5bcf086722b355b3c4dcbc4441e1a67c91a71376db";
   hasRunfiles = true;
 };
 "concmath-fonts" = {
   stripPrefix = 0;
-  sha512.run = "bb588056335d28dd9e98aa9ea52ca8a86f019925695ddcc1ec741229444a13edb5e21d11428218058af4d609762b83eebef8ec2f00832e4a07a7635f59c7d96a";
-  sha512.doc = "86eb3cb6035b233e1363dd301aafe5dbaa619bbe92a848f3a00f2aae973c921e650b5d2f425a34e322f524c3fe29c228017e5e7ca77fa5270fc9db5769484f35";
+  sha512.run = "65b3f7003b8aaaf6565bea6a65da11f42dca2283f1d53710f4b476a48ab39ae6fffc1d0f9206e23b66047b572c28e793e1a75d047f1c1a892fb4e7c17c854741";
+  sha512.doc = "7b2db9b8f2f23816cf413676dfbf6ca3413a39bb20cbc12070b9202bd2e98714a86dcb5f27a746ae197efd2284eb794f06af1b2941667abfddb72773ceb61378";
   hasRunfiles = true;
 };
 "concprog" = {
   stripPrefix = 0;
-  sha512.run = "77a23c872dac366de52c3466e7c9bb2d1c50854a63f5ac44a2bc878b6cb81f14743547140b535fd797060e1baedd61f14bd298025ac6f1198777b62a938d1142";
-  sha512.doc = "8354e96a7e3042d6068c5ed9a58396ea60fad48b3ea0212a8e288263bf40ee18e1d0d72f63b03ec1653f200e62b4caf4efd05cce00164d8283bf48916a9c3597";
+  sha512.run = "f650acafa4ffa424451f338d6432d665ff679396ed367650d360adf699d3b1e7d8d23f5b3fd070440cb4d6578d07978bfd02960c1219eed6c8594f110708e5cc";
+  sha512.doc = "bf4d76362f7a764ae4c7937edf05a575b3faa8d6919c6c857ae350b742f53d6390546263d14958dbdfd423c9b45a7f9eebe862a00378f51c754b5fee65f60bc0";
   hasRunfiles = true;
 };
 "concrete" = {
   stripPrefix = 0;
-  sha512.run = "fd799eae8a3c15ac07f4538a146ab0f8fa0971e660cc12c9826b4816729f161530697a33df753d916dbc67a66bacc99a8cb7041c0523a74a2c972d98d9fe9c6d";
-  sha512.doc = "a11a84161e8dda4a9f9a9d318578473de9784811d3d4f5d15466fef8249e2f2cf66445e03e4dde1f947307f18439aa8f8efa8fb37ba486ccd1878afeb2a1c9d9";
+  sha512.run = "465b6d7e427e8bd7b8cfb44551d4f8999ed0e8482f905416ec4ea7db6ea4293e6124f0b69e84a84655d5230cee1555f15030c8dfeac8c7da99c1c8ba20a3d640";
+  sha512.doc = "5fb4fd77468dd4d5ba19d43d176588f05345038d58c9b0b2630e6795ed33bdb3db0053d5bb249030a118bf19cddf7c7e4d8f1ae96173b1e1368e468ea2c00727";
   hasRunfiles = true;
 };
 "confproc" = {
   stripPrefix = 0;
-  sha512.run = "ceca3e99e7ba490b0da0368da6239e8c523d11863ec3f27d1ee60a864bdd5e58be776a2a2ada7b03bdbd1c2228e154ef9c58e2271b5cbe2216b61b42fcf31cb0";
-  sha512.doc = "e7f89fcf58d9c56ba5410eced55bb54b347780e5147786b6edc9260fbf7bb545dca6819d58d7842331351a1ea2146308808e8edfa9dbe26b728f896c90f83905";
-  sha512.source = "21cd8c2c57fcc31f457af44061779e12b039ec318af84c41d4b3ed015fddba6f50b854ff65d252910a7a3f3da530e6608634d22942eee7c7baaf665c68e5cd28";
+  sha512.run = "b6e054332f7f6a239a6eb102ae4b022f90d9523628a293517b1d070602290bea8e623379b5c246fcd5b8daae29c9d32d02a8a7637cd704ede5b1b928de4536fd";
+  sha512.doc = "0bd697d12f1740257e89cd5853aac7340659350a6374c32c5fc22da4249ea08b7e176dc499712f4c2cac6641c0161394ff0433513f7ce1942d50ac69021c14aa";
+  sha512.source = "f8530a8106931edceb4c5f0b87022092fc85368966e5029ab25e9f2f19cf95a3c97694dcedd5a78d707b4d9e4a9f358a6bc4f92084a49dde7d6100b50e77fd1a";
   hasRunfiles = true;
   version = "0.8";
 };
 "constants" = {
   stripPrefix = 0;
-  sha512.run = "c3e3ae974619d9d231d6404138825fad149fa431dec1650546306359fae83705e21d4418275a4c77d7758e431b8285a385d98e07bed2bdd1649d0a49dc78b49e";
-  sha512.doc = "964fad868080b9850e2c8f6ca040a3f3e6f6bf68d7db34e474052ef2643743111bb73f7a123f1d9d2b9eb0ae0e633fbc0b72199477afbc498a2405cea200fa0a";
-  sha512.source = "f0c3e7783ab2891e717db6fe9a617b1d19ccafc568e3af0f8e2ed3dd417df56459e6109de04ace6a214618c01611ecb58cfebdb635b0d79731b2affb76aa69b8";
+  sha512.run = "c4f807315c7f95fe7945e937e750ea18c346a8ecabb80a39922a9b861e3cce3956db31c55e68a0d3417406284d7187fd3b1d1c336c0a130eabb07e4bb60503ca";
+  sha512.doc = "2712e46552a8391b0f2a95991368882a393007788cebabe7ed6c5a604eb2085b4bf00749c6fde3c88028904b7117cd4865b964d11eb443c6939e734495d4df2b";
+  sha512.source = "6ea97687aa1f8f1772ba82a09b251c557b3cbacd056a27fc45412c9d72161d04814c9478bc495ca78ba2f8796ba44b3c29ff70f94382cf173b3e6ea2eb7dead3";
   hasRunfiles = true;
   version = "1.0";
 };
 "conteq" = {
   stripPrefix = 0;
-  sha512.run = "891a8b1b78f6656dc2032dddd4b67841a512bab4d71f6d64ee5ce1949802fd7a47d42d5369a60f7e46ad77b32ee3b72f6f7febc3aae89195f03e553b58ba178f";
-  sha512.doc = "288ec6477109351ae6d987bd5c720a5cbf40ee2ed9e7a1dd254ede630110561af5e28f7a2410e842922a38eda5ca3b04f81d4203a517370cc78f7617c7f1466f";
-  sha512.source = "95f7bb07cbf6c8c16e4c8c398ceec9098f87ee17d4535b174e06d375467406aaad5bd915134c903097148597946c7606d347465f5dc2fe7a4b9f94708d0b563a";
+  sha512.run = "ee0f344ed0eab872aca3c54422f83a6f8bbed2462a22cbd54dde075ceae79dc5a01ef13947327ec726d5eeb64eee5519e4074c138f4d172bbf2b4024eb88ceff";
+  sha512.doc = "edf52893cef8c5f8538a64d626a12725b043c5f0106a63f02cad91df9ad632009cfe3da51149750d4c23c12742c00052b951ada957b89641d9a0da59e93396c8";
+  sha512.source = "d3796e7bd679bd64c59a8d16e50ee7e190f9fe3c0774ece399486f8d5df7f6f63ec8a0c595572be305532c66b94011a92bde3bb5850f2feb4ec162e3415b5102";
   hasRunfiles = true;
   version = "0.1.1";
 };
@@ -8578,562 +8802,558 @@ tl: { # no indentation
   deps."mflogo-font" = tl."mflogo-font";
   deps."stmaryrd" = tl."stmaryrd";
   deps."mptopdf" = tl."mptopdf";
-  sha512.run = "b3f03cc46d37bc56b70ac3708b85a0b3b08ec95c3319ae6a53fb573c9e8f3a91b34e5194e886312eebe9209e8b7f8bc82b8de99b77a0ea670b6f9c2da27a88ad";
-  sha512.doc = "59656734c9b818c10a871a92f9280560763bd78506727082b9b7432718c61757e1735cf85641f50531c4a51eaffe465c70b9746024bdd19ac24eccdd2c08b3dd";
+  sha512.run = "1c525a6a7fe325dddb9588d3720e806ac762eefc90848e4457fc4d3cd60c64cf7b6e5c9388a1f22b22c526e84cca512140511bec9ca5ddad99bf7b968ac49c03";
+  sha512.doc = "b172eed71f2917ca16b4ce18b24d28e51ea48a1281fa8e34a5e104363656c1492c7a79339f3d0f7475ffc1f7ea13b647513f3af519afa684231dd7df3ea3b488";
   hasRunfiles = true;
 };
 "context-account" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6be85da4c189496a01c1abf1e3525caa16b8941c1f22a75cfa65543526dc8fa1364cd54a354c509a9d2ddd436f199683e00f92a6eb3376fd45ee9e6a33d23bbf";
-  sha512.doc = "46aa593aff0e2ebd5e983b9808e869ed4fe68611d3574df8ade9d241887e3d07ff16da54705eb21dd9981c2ac5f9d5b6f6c190b59c61ca4d14585148f5ecf165";
+  sha512.run = "755ddb4c62a496873d5362df01307163c79d2a6c3fabce6ea01b442c16dad2f23d72909df71dd44eb4fbbf5c57366e20eb49bfce240807c2e2a9a52cbd76680a";
+  sha512.doc = "b19f6d0330e5da99a961304f8c022609dedb2dc3a8cc4607cb9b2ca7eda38f9c8b972316bb9fac92cc36166e1c0822afaebda2c5e2d87db1e1efd2781f51956e";
   hasRunfiles = true;
 };
 "context-algorithmic" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "46109bc6f1219a6ea1010d1715d7584490d91e3b02fc8e0d926cd289762e008b4ba719f96c64eab813d30f4e92de2c965c974599a7d00ce60c0523d770e8d7ad";
-  sha512.doc = "14ea7273dbff12c4717ae785c24684c8dbdc02f0393a0f6c564f7c4801e5c914f01f0d6f15e710f86f180c666c186bdffd21489142e6316d7f0d102ea12979c7";
+  sha512.run = "72d4bbfe723b4012f8701c2786f96009bbed3c6b4bd2129f7153306f172e72218920e222f97ee6d5ee4b863e9e915fc38dd92b0c42066385fde35c5c3d0cc42a";
+  sha512.doc = "19ba676dc7822bc0a6583d6e9e031f3780977835c10d901e1ae02fca781719a0e015ac79cfc35c908a8de40a19614fcd17a35c604c9311b50972d0706d6f07e1";
   hasRunfiles = true;
 };
 "context-animation" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6109fdc6a302561c55d192ac89b8f71dc8f55365385c1c93df73c9fd6ad59e3eb015352a53f9bb071e4bd2b7ebf701cdad86c4fd3adc53f0efbffa56a2527b71";
-  sha512.doc = "fb355b7c436cc6c0b0f1d718a6d228b7124ad8916f9f03112dfcbd0fea4b223e7c650a69e63870ec4dd54a7053207c4e1bff0452f44df7bd96a8104e8cba906c";
+  sha512.run = "19691ca3325b3f72154ac8439e616a128b5f3ba8c9447bb1e92979e175daa902cd756853a2b6e6a34a84fbe96e02771a0c6ef27ed5bbb7eac94f62dd72d571f1";
+  sha512.doc = "a06227508c2dc343598fc6878e2b17b56341f5dd86a473957318eb94ecc6e150adaedf7346ffb931eda184651efd00d8f60e36ec6ea50e9ac94e2ed096058293";
   hasRunfiles = true;
 };
 "context-annotation" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "653c0adb351f4e455b03e11dad0439a3c6d4d2b22bfb9044535a033f40df2b4e0fdf5e4f7fb3bd9cc327e6a66f8d19a764fbb8aa7f54ac0ceb4dce009add1d45";
-  sha512.doc = "71e8ad76aa78b0730b9a22ab41a66780db09573711b6532e16ad29073178b9afb93cb2ef9fc3af9f5f015af392be2222780a11c49a1bd6011edd4b3fcaad953c";
+  sha512.run = "bb66132ed1e4f146c407bb3b2852c451b82d3d06de1dc25ddec6e692d17f4d994d1a67cfd7ff711dc2de7a4ce7259b1768d6efcfb58856321d5ea5b15271cd34";
+  sha512.doc = "4491012c8172beb64478b2de5557ed8f97701cfcb3996a8a5ff9990048d79ddce8cc2796dbf4c08812bc8963c0d318f9d79d2d4c2d14bc372f06dbc28e012c3d";
   hasRunfiles = true;
-  version = "2013.05.27";
 };
 "context-bnf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "dbdcf7575b7e344cbcb91e38912c410dc0ce37a09479592c06045562e372ebd853f59e374d0401d5026a1963b9206ce3c6c91f8920eb5c473ffb2f87b3f4e9cc";
-  sha512.doc = "0e512a3aad33fe9c00420c01262f62637aa3d7da6f673e1104a7c1836a492fa419e7684c85e288144b8277e7d30b73e4b836da051b28a130023e1e414bef39b8";
+  sha512.run = "53e5d3d7c977aab648bb024942263a8aed5da6314506825ace02556db890ea23400c6de714ddf6380235c942dfc02e127736579b6be1c5b0b0ecc65d25fb0d6b";
+  sha512.doc = "d7ab60c2f8571ce2e2e96b82c1f97b140c5750324efb73275062a8d301d530279a3f9c19f6a6feebd6d7c72727d94f469d9aad05ad67cde5dbd3de9f695dad31";
   hasRunfiles = true;
 };
 "context-chromato" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6021aebd5c19cbc0a1bca3c3e61197259a75f0deb2012bbdb72536a58dc6d6e5bcd62b6b0a86914c95f3e982d58f6effc723ce3a30bb16adec5bcad019d90205";
-  sha512.doc = "c9ec185b781b0dfd30d0c6fa4935824a76f64cf64008403d349c96fd3c06fb7bddcd5b0523a5d5fc4d1ce9898905ccecf32dff18af2c5a73d4dda5a48de3aacc";
+  sha512.run = "52e11c6953e7c2e2f9a3a20b8885fd12f5abef32d32da5ae5415b0321d37ac5ff8ff5bece3d522e1f785470cef542568cd56abd509d26671da9298c3d0ba27cc";
+  sha512.doc = "5c7c7f03050b0a17dadf23a09dced356a036c6b95ca76aeb0fda583dbc490d82222de64299c121224efaccc78b62364a1bc56daf020c177865c29e343529f040";
   hasRunfiles = true;
 };
 "context-cmscbf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "ce3c14c67754ffd2d644375286cd0cfe5cdf4f14397bd9ceabbf1e8b37bd8bf4b67b3686f0c42984298e5415472be84f7b68877bc213947bfb7ba676df014d86";
-  sha512.doc = "cb92d415876d6add2c357d0f2c737aedda6ef2d760a161a26d871939eff025eaa7143c182268e2573bbc0a644f7fe42a76f5406c88af1b6d45fcdb5cc558d5d3";
+  sha512.run = "cb0e5849ac3168a4ecdd1545edd029a1622ecf1c46d29eec97b28a66f65305e6b4d3a9c83e24d78e1596c8009ad5c9a0e25fa7e09448c3e0ea492e62bc933ea8";
+  sha512.doc = "8f45989c08f09381ccbf2942a08c0b13792917a18d5b2e92fb45c7ac2f4b4538f5ffd633da0348e12835c03a6f79b0ea7044f1ebea5770365a83d2d097a56df4";
   hasRunfiles = true;
 };
 "context-cmttbf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "e0ff7e8266977c7c560a491b966b695fa4db87d690ee5a572e472be8ccb56f8697089a5f5f63f2552136783deaaa067afc560caf933ea7cf760dc992e9b1b506";
-  sha512.doc = "2028462e737a2d3dc5e04e4eb2e4eb8da8dd3b23b8b5ec7182690b7c493daa4c439ba5948dce22c69b294cca85d28cc59d4434bbe73bc6800162942799154121";
+  sha512.run = "e3bc048c09bfdf114efa25077fa4e6a6c20b4d0e2ba337cefa0a8a82348fd3376f82cae0c85b029b863b7a5db9d9552b4fc5f5487d5ed5f6d88484181ea98ced";
+  sha512.doc = "2b55367f236330a07120229902405213a495de2ba455f333bc23e1c1abbe0f0a4be16ee95415f613d41572916722e3d023a71698f74e5e37f34a8de4fdca6e47";
   hasRunfiles = true;
 };
 "context-construction-plan" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2387cf5349e3456df61dd6817a5876d987446651b3f0ffe3ea38c695db5672ee57f86eb42e53ace12496161a5b4ae1137e348dfbf7cc53a789e04b44f9ee2566";
-  sha512.doc = "ce63c143e5d5a9c7a47d7a336a82016c736af55862a62c5aa46d52bea69a3f5c9b5e37530c5bacc5047afe41d69684e17215436700ed734d14d6de80bc08d9fa";
+  sha512.run = "b292f8e271fcac88eaedc376257ae16a401a6c31009eaa3d4faeefba25c33d034f57d30ba4638e85b76ffd0d24ef4d541dfbceb1bc0b5c806a8412d239a32146";
+  sha512.doc = "605e09bedb9e2ad1e98a621c0a4842f28592c93507c3da31f8c6437e95e63a47e795b38fa0263d7fa81fa3b8838f21d2426c8705f8e17ac1d827923cf5e88784";
   hasRunfiles = true;
 };
 "context-cyrillicnumbers" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "4f1b1eeeb6025122381336087f446fb494a817c43835f7afbb91f6deaf4239e7ffda314047ae87d6a6a70bfb8421031509392560407c9274507e5a74ed089513";
-  sha512.doc = "7c9ecf570bea115f9da4a867fa1a100db3f5d5be84e67064315a759b97546d41a452411f2f12d05a94d6e12280f54610fe3f64e5992def6699b19c86e5118229";
+  sha512.run = "14a90656d706d68ce441301aa6bccf2033c36f9c8d8605ec9dedeeedb71a5670dae325a5a198b2ca25373eb2b495e57fff31b85089c6c0fb987738c76ac636b2";
+  sha512.doc = "d95b1df26033aaff0a9f6759268ac3e68bff02556001e3f9b2bae1db68aa13c839a87047a6ae0a296f8e5817398ba35b7cbacc4f194dd93cf72684904190e7e3";
   hasRunfiles = true;
 };
 "context-degrade" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "274113ea50a43fe02f9b8c51ec49c185d42d94beab37c9462a1e3c34770f14b1d6f154886057b6f8121526c11ac36ea2debd19df2b3d566837e4a2d081b7c31b";
-  sha512.doc = "30b63eb0c342cd477bbce2d234698d420fad28979838fb8cffcf812752714a62d9bd9a03a6ec325ffe2f16d759efbc5d49144e3955bacdeddf0ae478791a49ed";
+  sha512.run = "b2df5bbee492b7137180bfe7b0b826f4149b8231b78cb839ac9716f02b622e5b3a0eb5964e12625650a224ae463714bb7cafbecae6061a6e3120022d2f545d52";
+  sha512.doc = "8f24fd70547ecfcbb163df2e3e4450525f0e56583b6984f61fb04559142bd838287e79c9b9d8cdef2c26a882688074b5010615e6d818a11f2f5812d88e31cd82";
   hasRunfiles = true;
 };
 "context-fancybreak" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2453e152e2b3aa99ffa56f972ae40a166497b5c0856036fbdd0784a05c06efea8cc019b0f812a29d2899ffbdf51442a8ad3109c5b3d0a0db66d2ee6b7d402724";
-  sha512.doc = "e0497f9fa9bf998433a74ee82d19b6d758cac18e00855e912728236291bbc66dab770372f1395de8f404372f02c13bf8ee0bdefa45774a74eed83791b570aee0";
+  sha512.run = "1e8e51de47c67a3287dfa4386f9c09b4dfaa494d9b59fe8d117a3a1b65a5041add24c36227f2d2d7fb3bf2ec34d6a5a8b6658d275b63f55793d05dea08722b10";
+  sha512.doc = "6082670766d63da902d2a53f2a6ee89fcdce942fd73439fea8326ef3117e6a5483b86d9d4271d2f3d9546a5fe44277721cd15510a9da392db36356b44ae2f36d";
   hasRunfiles = true;
 };
 "context-filter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "3e9f249dcda534a42eeaecbd4d83aae63dd598c117ad83713b3c2728b2f2184cffc33af264b70ef7e2993a9f8827132d60600bbc277cb271d4ef02631eadf586";
-  sha512.doc = "7ef047381612b397507e9b12c96f242570ec974c4e48ed18f61ba68070edda02f1ff99e110d8d16ced58bc6476cb88adbb8b3c37e6ac2fd4b07fdf5a55aba9b1";
+  sha512.run = "330e7085ce8d3e284c9e4cff349b351b862cf7e6544f736268b01d623370658de507176d3bf957f5b2bb2da28523a9b5543b091cf1dad0711f0cd38b2da30fb6";
+  sha512.doc = "f27471636d5fdfeec2d47fe901b87fb56613bed3fbf95c5580c531c5643c919b890c38aa4f33d12252d06c9c3a681c112b052de6dbaf279374c7a87b7b9ce957";
   hasRunfiles = true;
 };
 "context-french" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6e8f14e3d9e0e179d2733c4bbe5386932a9ef39c7ed7fcb99908f043410531a0cb28217f11b005d6f9aad821c08f1ee4df6bc67317365ab7ab6c62fc1f0718e6";
-  sha512.doc = "5ddbfade3b054d44b5486f2407f5694e3a16b86be3601b14ced488954dbe33bf1d94d7b4712bb63a7d55155435e4f9be6ed818ca2c367be912d11f8751e627f4";
+  sha512.run = "0131af9d1c23f612450333c2cca116d2369cb8ecd402bfb9c9abc7e473b4eab44c9962d343d7391d9d9a29bd376012c82bf9e6378a280d41e37d41736b1853a2";
+  sha512.doc = "96874c7039d9f252a9322cf84c4f77e8ca6bfbb9740e2b9fc8793dea79bf0d5f002ed1a69eff590c8aad6e43c315cda5af2aab0f9011bafb47a53da63101a9e7";
   hasRunfiles = true;
 };
 "context-fullpage" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "119c01690b881165b8c7c3e4928210e6c3dcf071b9c7d2e452656e232ca64df84d90b95c5649953045728fd65cea40545cb1877a1d04000ff111275eb6364d85";
-  sha512.doc = "c9f91af38d711cce9512d6c5d77644afcfc7208af4f9ae8e708d388e58e1529095b185667eafd6167ef62b4b31e3fdda2014fb32075db8d87886f37fdcf5d43b";
+  sha512.run = "280a16b47e04f3099a2f960435bf1c22ec623553303e339df4d06135b768cee6565e20a0c4e0c080d8c6f621a32d862ba6203daacdbf9ecd03b62829dd0014fd";
+  sha512.doc = "1d4ff98bae26e0d6ec1ce1ca58fac82f8592158f8635eeac737546873f1f468b2ad7a82b9f8956b770fdc0c01443a9327c509265cdecb90d83dca15462cfa23b";
   hasRunfiles = true;
 };
 "context-gantt" = {
   stripPrefix = 0;
   deps."context" = tl."context";
   deps."hatching" = tl."hatching";
-  sha512.run = "636470d76dd7bfddd3097483a510374bc69b5bbd7e5511699daffa0907746240e072a103d0f8e1426750767e48b6c3c975364cdb708a6dc980e422cbca05399e";
-  sha512.doc = "840074b5efce390401c607ccddabd279b494be32452f5b655ef98897ec52759e7f2a93fc456d5d872dc1faecf7fdb846ec2064f60b52a2d183a738f1cd16664c";
+  sha512.run = "e0c61179f4ecdf93c13dbfe19f59487fbce55e1a0dece76ac025a88a452e7168c5e3b84e53c01bcae4cc412993be36eb554dc5f7299fc1205f4070aa07a834cf";
+  sha512.doc = "a5cc76238f8377dc8d06869bf23a1367c880b57ba62ab8c8331886cbed145427e2819ba92965924fc7a78579d28b7c1cf331acf7f199cf72672ccb64962c9367";
   hasRunfiles = true;
 };
 "context-gnuplot" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "43aedb560660a834874488c07d8fe4a2332d50613f3eafa5caf2ae23234bffc7a2c332cfd4423d18aedf1b240aa19ca1cdc588c08a9805107d8f32c9ca0739d7";
-  sha512.doc = "6846c299a7989c198bf8024fd97952da2aedd8312147d148b0b1b08da81e62854e4d2088cebe4b4955c355aceaf0c2c61cc4292110c8d338f0a62f0593e4300f";
+  sha512.run = "d3d7dce105707bd8fd903038e458cae614ec63da7932231e1f659570ec3a7960ea0fab338a8405f2ca8ce8b03946b58db8255333d2a4ab5a659566f4d272b0b0";
+  sha512.doc = "40e471b27d53ced33590792ac62992a220357c6db1c78cba901197362a36817bc14b049f2573ee2e5b5adad5182c5bea2880c4f7a2477bcd1a06ee7ccf88b0b9";
   hasRunfiles = true;
 };
 "context-handlecsv" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "42ffac9cd8567dbdba97819a81445d326c82e477b854587a49d47c57f48e2af0633e1e5757a25e92690e24ca6bfbe7ce540705765df2cf8d6b5c2a61f7cc995c";
-  sha512.doc = "96a2a72564ebb6990d89cd01fb26c4398701d8f2e270f12f000ed5ef244dc3741cd82c1fc14efb97291b2f49aebacd8064c6c1f38e20ea7fb89d99fac9b5a7b8";
+  sha512.run = "10f862b7152e0efe2a8444fcf847ade2aad2c1499e146b94643a7e08a438359c2f7d1927e7e9773f3dd14475fb4535d17fb4f29ff053e7a29c9463f40c6e5598";
+  sha512.doc = "39330dfaf22a83181086343ac9ea7d64025fbe779e55161b33e5a9a9802e0928bb1c16941aeb307da641835aefdfe2e431becbc0cfe40ad8bb33a3816b9b177b";
   hasRunfiles = true;
 };
 "context-inifile" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "f7a267f2f84a3407aebc73ba7913315f9e96ac431edbc99f6fea5e797cc9bacf04a4d9f5991e74924cfacec604d381976a89d090b113d2b3cf17cb6a6f727d6c";
-  sha512.doc = "113c6a6c5ac51750e007a2df09c2024f8d2090f82aabd43050ccc4f48265d0a6eb81b14ee433ed8543e5861c63ca074a9b6849a68794f8317db7c30723a4fbf3";
+  sha512.run = "9dd9b61cd2b5700b0e2b6e59bf4040de9431820c659f121c2681e454ddb4b34454270eac6c442836c90f8a1819761ce0d7659684a1f0c8876fec1f947a0b16f7";
+  sha512.doc = "9635bc80ae7222c6a38004ad5f985004634b7db9596e03a23123ad71bbf177639bb1b028bdfe79d51b75c1c429c327f65c2b5e0720723d8bcdf63f4939312850";
   hasRunfiles = true;
 };
 "context-layout" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "b1313e3f6f748273d035b86f7d00cf05b70c8f9b6b411e0651d7f14cc78d8b1eabe31ca2ade6cd7f30d988ea4be4c22d00f9e0aa145a195d76eb8b742e52db27";
-  sha512.doc = "ff6ccec4f3c8086330305de882c5a438befe4240e1e524a99a05321e634de472640ae45e6f7e8266f4b88fed6c727fb3884fceac3d7b3f090a109ba0ba875e84";
+  sha512.run = "6cad00783d0bc91000ca0e0c8350fe2a2e99f7fefccd375d5bb2f1a144fc04a59f83122dcd490fc0596b1dc9fd0c0a779bfa35932362927ed50ed8df39ec359e";
+  sha512.doc = "4ecf7bfe5fbc78453cc116cf7a657f4b6ac7fc21ca7dd6da5beb0ea1af0c1fd48d6a74ab516213f49d1e29cb8bd47fbcc94145157472e3ea22b291f494fc3d1f";
   hasRunfiles = true;
 };
 "context-letter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "f6023b3e4558c0985a3f49e4489d7476fc7a9a0995200f2f39ff7f4ed2abb9135f960f8160e36af356357bae902e6ae28cf839879384d8e91765fce659893f39";
-  sha512.doc = "e48bc3616f2112f2b65b3f5a26082a48bce0534618a305b29785357655df315fcd6d1cf77519daad21473637179b354aab2f1f6512235f3c6905f33a472fbe09";
+  sha512.run = "52caf1eaef275b90c883992562b66f837d439f176c0b061836e1fba412b3957502ae9c5b9dd893e89e7ff1274d70e2ed162b75709563874e4ff6a9844044035f";
+  sha512.doc = "ef7e344e25095ebfa7376af1fcfd5f4e617e91b5841ed8f8fbd2109bdc645d71174ce7b571f2f3dbce46ea08ccf7c3c73b0075b2cabd3847c239171a7275ef87";
   hasRunfiles = true;
 };
 "context-lettrine" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2ce8f8f99342d292a2e1fea209c63337c4ed8443abd266bbe7d15cbb884f46dc90fb1cd00592003a01f96fc9ed5c700b5f8013dede98709da66e16159bfa3067";
-  sha512.doc = "52efa1cd862cdeab24d764ed0499021adeec724405ab1ef83789f1aaaa7d43bfe13de61f54cba163eeb1af1ab150fec86d2f63ab0495cf629f71dda9a1661620";
+  sha512.run = "79e4e246a7bb0a300db53425e2769a3ef61bc0249ce57840c0b9037805e86eadbd1ef4ab8a110fd806584393feef00f498418732cfd53922aed6df67c561e535";
+  sha512.doc = "ab32697b6c309b1099b809c33182ffc48bb3019c8d520269cbb616b61e8f20678cc2cf4e7e971e06cadb22ffcee0d502deedf21aa95d8d372d1840e4fb4a6591";
   hasRunfiles = true;
 };
 "context-mathsets" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "e2916d7da6bf5e59ca285a6421da87418a55a438e29307dd58b7baadf7957715200c8345bd05f8684cf49aa89ad7d4bfbf3903f1ad5479283300db0b1511591d";
-  sha512.doc = "d698d0ecb3f65ad68fa66bb19394d52a30a2c564f2dcdfdd03354c4c4abee34705e46c6b68c26b3015a143e96e38f2dd6ef17dcf42e7acb890dee359f49406fe";
+  sha512.run = "e4c689c745d06c61d6f693a9832001aa8c79d51664c2a5d6d0c6148a95b30870063f50eecca31ac0924193c6dab8c12cd5ccaca16eeaf5f83a99cef1a8889ec3";
+  sha512.doc = "f2c33244814da8e8838483038f507fe6b3e146f37691e55a37bb5355985d2af4c5fc423318133c4f13837a3e66a4fe72d5c14f6721bb5ee0417a59691b86d3f1";
   hasRunfiles = true;
 };
 "context-notes-zh-cn" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6d321dcf07b95659734ebdfbcfbb195d75b7c53c4a7e02306501998e884a975e4f506360cf1c21a71bc96c1d67141aad04b8de7591a3c01348dd1d57fb163a12";
-  sha512.doc = "89abcfaac2b6742fa8dfd0fa309b57b90a66172e47563a181e1f721e7354795cdf596e7c0d64971e57b94c7053d5a320731a349a15b8be9e73ca745b8fe1962b";
+  sha512.run = "a05cd68d609fb9427ca07f64ba1b9ad85762464a3294653c8a790c0a6a41d6af43aab72a1eb7ef0d56a299db2f54af5666dbe974f9fdac014f624350c8bfe50a";
+  sha512.doc = "4261b8aeb5b3cbebde2890af1b7039c6f557ce36f4979228f40f9e5e99b19aa5c457ed6842f4501f4dc32f51f58d9fcd0764028b9d5c74fd07d41c8c866220a1";
 };
 "context-rst" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "be0153e9b65a52a953e8cf48d08513defff40b820fc11ddfaa162820969d7287f22d3eda417a1cc7f3507aabaf3d407dfe69fff4798b8e9b53eabfdba3d1e231";
-  sha512.doc = "1ef3289c29964d658a6621bfecbf4e88e63fb4cddc461d72571dd016993322e16095905cdacf419160d1924999fcf4593e5981df15d0ba5e5597439bc623fff6";
+  sha512.run = "f93173c1b27afe538d670c791048f495fa3f236cf75511d43b33172d140ac47fa3b5f11c674db5d515733b8ef9cfa7ac2d3c46b78b624768ee95a21884dae904";
+  sha512.doc = "536f63f9fa02e37c38f445974dab1f75b38abf0769379ee1735001972db71be10d51a1782e850ddd75d73f2a6f1375cf043684c0fae1a88b20a1650248870f9a";
   hasRunfiles = true;
-  version = "0.6c";
 };
 "context-ruby" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "99940c243b67afccfb6085c7b06d898616c1f6df3051c9b08748cb78b614e2e557d729f222b3ef52323eb5bb340d1926bc44b2282b502454ad841d2b9b591f06";
-  sha512.doc = "8b2fdfe02dec6df10f66d7a062a46a9407c0b110f999f65736c36ec340aa39205627df98c0f29b71024d3650cc2b4a374f64e53bb669e7b64f9bdfad3688ed4a";
+  sha512.run = "e219c6da61585d88f8e899278d1c85f0903ed32b6c7368cdb6076697230a0e79f5f88f53dd98514394fa09e7580c1c6b7c167d81c010107f3399dffb18b13d95";
+  sha512.doc = "179e501b428bd87a49830a68236008ea6e962b80e79ab45a0e75a7b86a7fc11025ac38ad463c459c6d290aa5ac8627da5849d1fd8f7502ea7d97696b53ed2647";
   hasRunfiles = true;
 };
 "context-simplefonts" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6a151edd1209c8f39c67215f839d74d87be1540162702d5ff230581a8bec5b3cad2c37ec090c0e1c9e842005402112ad920385c8565c8721e7f54327c1689627";
-  sha512.doc = "2dbba6d9e6b142aabd19d8ebdcb02b372cf7872bb8cceee03d672735f431721a362a51cd3d13cbedfa61bb90294ef4908d4706b9727ceb5e36a2beeefb54576a";
+  sha512.run = "7c817f4a25a8883ce052c9657a3d6117042e8538fadc8d67b4b0194abd69238045c09d365e90e555d5b04d83a1ef82039ca9631aec00eb1f80b56fbefa729cd3";
+  sha512.doc = "238babc7694bf85c81e3079b5d72feabc9c9eeea4f3b625a57ecb133d70ac745334ca0426097dccfe53e3ffe108ac0859be4da7625bb6b683abec1101367ac06";
   hasRunfiles = true;
 };
 "context-simpleslides" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "a7ad045d3d39ba2f58d31e3591aa97e943a44ea30da26cc0f9673cd62aed9891540f75fefb976b41af331dee156d4a8f68e540d4c264352732688ee6f6dcdd20";
-  sha512.doc = "3e5710dba2f88e83ddc4013a0d84e63d6790a23848dd9acda0f713c6d550d4bc17650de0193a04c71d00cddfbba737effbe5493677e10fc7071b7c56a3d7871e";
+  sha512.run = "8bc6a0ee37116c200cffdc6595fa4d6b3383dd92da869f2e142d475a5693cc2ff4745144e3b2fd5a3ad0876a5182f1824a2a402aa48b0b02e288990e16056083";
+  sha512.doc = "06b57a4d89ad4aebdc08fb002229b822073b36da4096db390ffa3dfc92c32b6a0b138fb31a09406a011d647d260fba9274144f5463a1df3c50ec816d31d2662a";
   hasRunfiles = true;
 };
 "context-title" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6ddaed20bccab2cb06d27c485c3974a43ce9d5f18848a23c9405892b5f8ba7628896fb10dd15faaeae78ef36a90d7c4202c5fdb83eec53953d2b3aaa1f9fbf20";
-  sha512.doc = "d0b2e09c6134b073a9509c5b9e6ea78085600678ff66a0c82af70513ef8e997500d9cdaf8c36486ecad675f04d8ab7e888b14d2eadd22da9dbbbd11291d342a0";
+  sha512.run = "bc7d6cbd373cb6d6214489ed97117929ba381626c854a0a5a950bfa44c06214991d7a90290793c825c96e6d22ba1f6807054d4553d1d3980d9d9bc0e6dabafda";
+  sha512.doc = "3b910eeca8c8a442939873e082a4025523472b267ed3268e63cbf5fbe0821c9db8d8d183058d139aa02233dfdb6be7e23fb9df360a490f7d551875c59753c7c0";
   hasRunfiles = true;
-  version = "2012.04.11";
 };
 "context-transliterator" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "ad1bfc57346c01907d96a8b2a56af061eaaecbfda418fbc19d5da8daa9ca3c2ee7a277eee76adb70270b88c2e6b964df79fd7462e4eb44f7a987715028f099d5";
-  sha512.doc = "c379ab41c05bd3bb8b74e5aa0ee715f1de5650e25661942c7c6b198e7b56cfd32ef18fc543cad670187b0193ab5248d4e92b0b0dccbe8c50e48ed8a88def323c";
+  sha512.run = "d41cd0ebcb99670bd48f8becde633c21401dd9044bbf93618a031da10c59bb8f6d4d6bbc68eecac75965b26f5052f797609d67d791cd7a281f72cd062d3d7388";
+  sha512.doc = "4dd501af23511dc81853ddd48ace2aa572c553aea0ba09cf2895b8bd05c4bdf08a6f5e254eab88d4098d441f1d410c0161b1e8b24e3ebf88a38bf364e90b8539";
   hasRunfiles = true;
 };
 "context-typearea" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "125d837f31cf3f41ae6e6f7c561ece96f5a75492fd77109ec8d51d70202ec01a279c4d6240eff685d7c263d40dcec0636a7419b1a5d6a6095430dac0379a003c";
-  sha512.doc = "e49544aa6ff94b7ac2dd3f4064c85d9c375f03cbc8756df40bd68c4424f91224d2e58c8eafbc229ac7bbc02545ba8bf3dd53f31a9cfb9de45d692a266fb57241";
+  sha512.run = "c4a2f2317b146b31102273e9b616d403d4ee836a61fae96bd9315670b0bdd5f9d94ecde00b53d2ea5f7073773bd8af5c322b07c3b05bf7ad5262a9f0e0b623a1";
+  sha512.doc = "7171bc5c5e82b3897f75421e745e876c2aea84e9e9cb74badd6dedc75666b8f9ddb8b6d11c523ea64be6b57dca4f84555827afa32a0c90f6df1c31b68b1f6395";
   hasRunfiles = true;
 };
 "context-typescripts" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "c2b587c8c4fe62c86fef355ea8e1884fd76a1e828a7df51d971a0993410c9973568ef857bbadcd3eb4f0659b66b389528afd3c9aabba1c42c2cf0e743f586d6d";
-  sha512.doc = "69e59386e1c699c5d070fb2abe14b2f02b8b6ae68ba3885632fddc6415b93e9cfafc694d998b0992d5aadc6a858eb51b4cddca421e01e094a237edf0b1b3b2cf";
+  sha512.run = "f2d43256997cfba2ab2fe0fc8ebe90a3798bb42e6d455fbe84540654a95fb06a170aa19cf11e4f3477517473b21fc05426247b1f1d39c9132e703c0f1a9a5d0c";
+  sha512.doc = "de15432472678cd9c7bdc0e2597f1fe02275fa986767f269fb4237e8d0095a1100908e0b46429741c8ffebfa84fcc27272045314cfc185ccaadf5ffbbe030f69";
   hasRunfiles = true;
 };
 "context-vim" = {
   stripPrefix = 0;
   deps."context-filter" = tl."context-filter";
   deps."context" = tl."context";
-  sha512.run = "630cf92427d777d48b52be13a8418e1be0d6cefb21303f3af4b9dac3ae976d59a1aebb312e010b63149ee23865e991baccc4cc5f5fcd552b0c7fe966f51aa7b7";
-  sha512.doc = "982201a594aa45f1fe80c80479391bdd2775f83846824d30de0a27d608abe8c5840607c8ecf214b55c8df41378a2c174a45d2d11083712a9c53153538874affd";
+  sha512.run = "3e32d0132997f21c6cb5d4c5740cd2ef4db3894343196f3cfaa8e046a289082b0b16e811582124e974a93df1606ed4a5b6a1284663eff7524048eef098227593";
+  sha512.doc = "01cce32879386b537a83c203c3327dfd0798f75e781c631e24357d290534a657280b009549adac29ebc237ab1bf228a7cc6f513197c5fe8a2f6867c798f44949";
   hasRunfiles = true;
 };
 "context-visualcounter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "da05db90c965e7937dfafe51e36dc034357bc5af891ed79149fce07ee90961127a2af46eb1c6dc10c387faa47236e0544dd90f34dd8d7dd7337753900d8698cf";
-  sha512.doc = "d2ad6d2bd6d3f35bff6a6799cc1781a2d09b38dda6c35866fb0ccec38abd6686cfffcc50c8f972a08d5d03fe0d68362d423c8672263d5baf22bf4692f4bd8dad";
-  sha512.source = "fb83b4dd0441b5819e6bcbd13809e3d8692c35a65f0f9091f15455bfeac1e3635b65b173b50c2678212d50056b93656fcd8ec2ac759d72399b9ed87066b636cd";
+  sha512.run = "da7799ee31a4298f8e8cb02cb4e480fa49fb4188b776df877648c663c93523636bdd7fa6ca5eb403fc8f3483064bf223fed042c1d27eb0817c224ddf8e21c673";
+  sha512.doc = "1788355ea4109e7e2bbaa9bbc3798f60a814d549d082638a59a453cc5fb39b54ff8a00471a28a96a5501e91899874ae19981ae0f8a09b6353d19275b851b9f80";
+  sha512.source = "39bba551e9f0bb8d70c0b60a2b0fba3d7cad30555d4052fc6ae722bfd9cb79d5cca784474a9f1847faccccb1618662bc4dd2fadd1fdacaf2f4cc9c035b5501ec";
   hasRunfiles = true;
-  version = "2013.04.01";
 };
 "continue" = {
   stripPrefix = 0;
-  sha512.run = "107c987403a5954c9ccc03e59f4d5cd22bb1c5eaa43922633300f007b673725a6fc7426b002b218eb93802dd8f3e09a6f28030fbe3465fa6dda77b29a4070838";
-  sha512.doc = "ac78d84e83c7e5b6bf8c21be8c0ec4918ee8936137ba3376a1f65b4a0702b4debc62cf8160c9150574350fd9aeab85c36e9b491f252929685942566ee339cd2b";
-  sha512.source = "051e56692a7ddad341587fbc7c5f4f1bbd193c2e374d501177fb9b36b990e2333eebbbd43d15713d92f58ffe59cb271b11cb67cfd8b8b8db864bb3f3fa4b18e2";
+  sha512.run = "42cda9a2796e9006263320163777df7046a79e38cb2c0ffb53f23c27cc03c686e00e39b066228b09ca99a6e5c2bf4a6cb32d5d7c49b40cf614c542e258968ab9";
+  sha512.doc = "0b6bbf7c3123b7e741255bd3ff9e020ec61bcb81a236ddec41e709f14de514057d9b902ad783f48e5c04ba1ca6daee31a38f130649cb0e5b2d548ca9689d5dca";
+  sha512.source = "790671ec666983e4ff5ff594b7df54cdf7c9d136d57f9004f5400857c3001ffbd3a13a5fc559f3ab75a168c66fc5aa2ee3b5702e5ec417c9a31a1e65d18b801f";
   hasRunfiles = true;
   version = "0.2";
 };
 "contour" = {
   stripPrefix = 0;
-  sha512.run = "a81eca4eb5e8bd5fb426221eb33d712d0cc584dcfd359c777bdbd725f6c5d6ab7403e2af8d53ff5969695e68237684272708a02e276cc7859bb09b85f40b583e";
-  sha512.doc = "911163363093e8dd9774e3b2df387ad490accc021b6223c19a95d8638cb400874f71951955f27e362b68f6602c974bb9fdded625098ea04bfef5360d8ee58046";
-  sha512.source = "ede0b0c085a5ceaf06a9c7327a2a958a80eb98cbd6e3176e486bbd2299325eecc0386cf46d262ea0e0bdf8d3be23509aa548f0ecd12d61ccd0e77a27d1027098";
+  sha512.run = "0dd4a28f97efcfd0459595776cbab019168fca48984d78f9ec17e0f3af9dbebd378adc6649bce6a9a999651c75316f3ff44e0f10e208465dda2d904d080c41d3";
+  sha512.doc = "af1c649d2e5666ee3973395babce4802da2154ba95fa7fc08e378c261a8ea1c5be44053c40c5cc1bd0c74e2c54b659470c3d45063fbbd4330cdc5e664f19bff0";
+  sha512.source = "377b4a92031cd957b15d232cda9e4c2e7488a4c71624eed06dc2edf9dca37afc11e18691650ea377da2dd78b5f636272eeb6d94bebd99ad5ec1ec477f7b65784";
   hasRunfiles = true;
   version = "2.14";
 };
 "contracard" = {
   stripPrefix = 0;
-  sha512.run = "eb25275ebd6afa6bf1225cc4d862de66810ee6bc8fd9a50332843572c1a5932ea4137a322e254a61e057bbc5bd846f3a4233c00b4fea37fb0480788babbad01a";
-  sha512.doc = "90a85621e86703b2576e1aab2ffedb129e8481127a05f0c506da35e98fbd45f47d7c3eb82b2ab7649f87d6ff14f2cb688f59f1361619c2edaabcad71094c7607";
-  sha512.source = "73a21a2d8d3301b33f2e167bfcc14aa33a7ec57d22e9d9543f4f6a659eaae400374de839b69d8961871f47db08781eccac1a97ddecc2aa0bca8b8f4cb9f6fda0";
+  sha512.run = "07c77a1e864c012a88be95a98ef662f5642fd63e84801a994be702f5ae2d62100b02e109ba6c775f2c8d11d75627fdef48acdbd55bdb4735896fd945edc4fdc6";
+  sha512.doc = "984acf51897209c3bc3fe4760088a6b9cbae613acf51c5f8c848dae3a3d13e5e8171fc62db25dcea267cadaf9f2ba81d221085ae90a7da1fb5e6d0dd8e243f10";
+  sha512.source = "6a0f0536861da9f012b5600fc1c635a9f9124c25b4a5d9544ca00fbc3770760c0d1de77587452d33c254abec3bee6fd923e31f2bd34581c467f15d1d658a9cae";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "2.0.0";
 };
 "conv-xkv" = {
   stripPrefix = 0;
-  sha512.run = "74aeb5d9e7bfded02f9952a9e41de70e035647f23b9fa9f5a9f2bb8c62f3087f2e31894d9b29a252c03748de4c124133a44ee06fdf9a963414f59fa9f474b104";
-  sha512.doc = "a440fcc7bbc5690d24f25221595372bf7af483c4b7032c08a99de3c9f1f316e5a3450808354163901a14ed5b9205ea660b62d3aa76d485cce7b5dd6b6914f2fb";
-  sha512.source = "153e47449124c612cf95e30e8341c6f8ca4e1443bf6eb4812881aeadb271aa7405ac4f1b5411fe99456147cd5c3e654fe4c090cebee81b3c411e480721891a13";
+  sha512.run = "7bbbcfd71a32704f2383289d91fcc1b5993aa9e184f5d974f6dd5592312e85848a926ad9e6f412bef801daa20cc2b9c999ba137b9b24e31facfd6931309630df";
+  sha512.doc = "c1c923008185db09b3e7cfd90bfd9b33ca2a61ccc706b0f9cefb238e0860120da517fdc7166e4fe476a1cc02cb4a7a3fe4c9b81c87c8de25ddd1c0c417dcfca3";
+  sha512.source = "edd5feac4453010dd996edbb3741339904b0380c021f9429933f6b27df6d9c002d593d617467043ae6087de3c5842fb7a4e8ccfcc95c7763e124ab5f5c9dc024";
   hasRunfiles = true;
 };
 "convbkmk" = {
-  sha512.run = "4203c24aabdfea7ebfd8383f53be88b01eca50257359174a768896a81701f6c18ddc87c79e93e2869ff777436d76a223dca32489021a4a334d51384dbb0ba8a1";
-  sha512.doc = "f30630ac2c58c528f46fe31b823491ad316d7ec284c8742b1dd03d576112ac50941db387f2b1f281623b3d28dcaee0041393fbef5d78236a6bea3c0b1e70f728";
+  sha512.run = "01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd";
+  sha512.doc = "937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506";
   hasRunfiles = true;
   version = "0.30";
 };
 "cooking" = {
   stripPrefix = 0;
-  sha512.run = "1a368807b0cc958c916ae69c23af17902fa9ce7127efac84f89793bc4500418a1146753682f6c00b8dbe1aad9d899fdc13389e50a35499eb850c2769c49bae4d";
-  sha512.doc = "22c55b78060fe171927fbd83f4bae1aab6f1ebbbc2a301d6411b92bc479747ec756fc1185edf739aed0885536372bde3bbd02489d534fb12091dc386c9ddef10";
-  sha512.source = "b7fd5e2ed96f98f73daa743ddb907c2b2986b37c1aad1a1e7a65cf1c2dc116354555e5c2324153cacc616a27e52a1dfea429fd3e830d774233d5b74b96dbe721";
+  sha512.run = "6c2fb1adf244dafa9689844e1283dce19786e2c1df170d4172d3567514555d90adcb82414f79b5d9dcd59cfdd3af5d6893fff57972d6e4fb32196add0ed5b1eb";
+  sha512.doc = "30cc2a5b4679126cad1b13785081d924f9d455a5f392e5047c14c8ce1dd3efca102bafb74e1a339dd938680f3a95111a7025a31508ea63108eb33cf32b03c9c5";
+  sha512.source = "7b935bbf1a7e7dfeed2db1c4725e38a3bf847822dee7da8d6098e7df82b5b5035b47ce3f0b9403dcf35028b319c2661b0bd8288b8a1e80395944532777451bd9";
   hasRunfiles = true;
   version = "0.9b";
 };
 "cooking-units" = {
   stripPrefix = 0;
-  sha512.run = "049035772dccfa1c5c1ce2de4c0f7074508809484c27caa39a89c25d3307f4099c66f3258509ffd765eee9a33c14b1ab2aee8ca59e96c130f3ca2f3f36bdcb14";
-  sha512.doc = "c8834bb60eab775d117189df323f8f586a9bbfea37990906daebe4cc48a7f16586b23574fa3f795229ee07e004d7d52f404325da170522d9115b3f133537d70f";
-  sha512.source = "3863eaeddfcde279a1f12f3207e1f77c16cddb47d6598cb1f6c13e6803363e31d942cb9a0a3f5bacb485bbc532fcaa83878f1c5e960d148420da45fdc1c5264d";
+  sha512.run = "d37a80797b11767dca8494626e7c7fb7b6a64ef216f2f278935d5d1078547239e05b1d5945d03c1d91e902cf979d492d5586a6d1419df1a17192ce77d4c20d22";
+  sha512.doc = "06cfb266d9676148b305bb4e2a6b49c802752195abb4ef7510aa226e10b6d9f804b7e9bf45e8c0ecff19071c1aacd6dbafc9ff89adc55830609ec158a3ef2468";
+  sha512.source = "2a3ee2c632a544708b192b260809403bf6a9124c2207babf9dcce20d6b8869d01adb5a37a2644f6263c59d4c67eab11461484d454be67744a8243f6a08f9a4ea";
   hasRunfiles = true;
   version = "1.45";
 };
 "cookingsymbols" = {
   stripPrefix = 0;
-  sha512.run = "5ec5e0e19fffd9eddbcada800a0d57beb62581d7bd1c268a5eff19df652e1edf3a51061ad4a8e9d5f19461e73d6891a38c30a9fd031f3051393f231b6a9d2287";
-  sha512.doc = "557293dc0da40248f94d87bb03750dfc1f04a9e3146528d168754a3d21ed86e96c73df088cc8b8b8dd635b1b27f260bc9777a9d73f9f8016f383a7e96f8159af";
-  sha512.source = "525c3aba4d1abc56a343b709ec22b712157a4f6464c7507608923bc677a22d50fd26d852ada65863d0fbba7c716b1f4247fe87008a357ce9eebdec2db2b8974b";
+  sha512.run = "9b43ffdce038ebb001c0ab6198fa2d92ad6f1ec6040f1c315a53fbfd29367e5c851f4015c36b0cdb2eea84f4a8dc90aa3d5126a09f93766d614931bbf555f982";
+  sha512.doc = "fb6794942d016d12f527b86947c7fae9947a7cf9122a7b26d39bfeb6d5f55a7cccc11b666101b0c80a92c7385ae8305bcb4d792baa0974b738af80697ad12891";
+  sha512.source = "b2e8ff3274ffaff3a3f5b3de1ab95a534247878f163cba8cac9af0cb49c59c54f9ac7b362c75dbc394a3c942864b3255ed28310ac5ba842b5b63ea0d0d80f7d5";
   hasRunfiles = true;
   version = "1.1";
 };
 "cool" = {
   stripPrefix = 0;
-  sha512.run = "cd537d4145b0a2b01a5198d7a673695c4b512b076ea32e76561af00ce508bd3f63c34a5bb5ba41a6fba83c481ad7d95e5b872440ee87b0823ddde79630c55f34";
-  sha512.doc = "49a43f6795e82448463b7defaf88bad7eed76d2171ec0c53e1adef5ea4f15da1ce4fd3c6a444b5e70a4be35ebd165be781e6d91d85bb64d0e3051a2a7d8f8d28";
-  sha512.source = "ac87ece3b25dd69adccc11431d4cfaabfb075a0aca77fdc02c6da28d029f140b0f61d49a8adcb863d15c0660e8ef5d50aa446af79f99e0a4b96f885556285988";
+  sha512.run = "ec5b1612484852897856b58bde90aabc3e8c051f6a14674f2bf3a121993ce074214c3d61c7d074dae54e227c759630cff71793ac1ff433b048f3a15f90038c0f";
+  sha512.doc = "bf27e08a04f02f58ffb04ae0fa7b26860ab4129d3de3e2ab20d244a99c96b112a7a3dc10d064a364e38a80c1087ea8c693e7e7538a36975b6914f75418a82547";
+  sha512.source = "1f5b16c0e1d4598ec4f4c5981e079537b0142f92b514d1f3dad567b2a71b02f9be0b3441087d7a973750f308f691270e750d75f669784fa3c787e6bc919d7e68";
   hasRunfiles = true;
   version = "1.35";
 };
 "coollist" = {
   stripPrefix = 0;
-  sha512.run = "61a9e0e1d5f6920c964bbbb08e5af1154fcd52d582e738ceaafe9cf0209d7fd3d25a54cf069d858588213807c8d533da5a4ee23d5cc43dccef2e701a7e7e021e";
-  sha512.doc = "4da42e8602d22a4cc98ed5e10894caccc98abeef4f7666392a55bf8998a723be46224a4a22785be4a3a93c2005a90b90df48174ca12b122ad9ff05b11549c254";
-  sha512.source = "732d1c3ed798a95d339600f0e2f2d0d11dd760558677d03f8eb1a34a878b5fe96e501f5c1a685461c2fc109c1ec9a7d7b17ddbbcef49d9200369841366ef9f17";
+  sha512.run = "e7568164dc7d7aa9395cd79e52e4f58b1087d1203d7ad73dca6aefab9222af6875cbacd3270d3ef193416c1b2d893877118c74a206fdc813b3fbd52935ac9d7c";
+  sha512.doc = "6e183739d0dea5e0da341381c06a671879caf6fc666a74c87b8c3e9df425d3a99cc4ca2f2acb32969cce869a496f0a50bbfbf1351bd71e177b63829bd11aa6ec";
+  sha512.source = "5c49e978c7d2ecb73de8a1b5284bbc81c10ed311f67fc2c435d27ebcf048562e2329be02d92cb829ebd497e5cdd11660ec1372bd3256bbce0037766ee8fb647a";
   hasRunfiles = true;
   version = "1.4";
 };
 "coolstr" = {
   stripPrefix = 0;
-  sha512.run = "ee2b78faefb88db52638b362114b552fc1d15bad4b6a5d00fea7966fe849183e35fe02f8da1d158411de12c6c6a5169f1d0aa54b4ccaf2c002aaf203f8a357d6";
-  sha512.doc = "4a7f70afe1ac773456b587e32590c1dd1750df5c7b5b92ca8c94ead9d71c523de48e1ef0cfd684fabec0ec85caa76d39b323c4f3f25a6f44b8374bb4bb07683d";
-  sha512.source = "730ce85ffe38653fd99fbd7ae60dee40a8d7e33399e80b87e7c4df8019385e9674815ee284335651c3c09cc469fc756996cbd124ca98208f6f75a87e15a48299";
+  sha512.run = "d4fe8de308d6dd9711f1d877fd1d5ad32f36a4d6cb17480571d88f4b63f9441fb1db217629ddafb25e774bb6d43d148742f9e823e1d43f497a9799b869f90b62";
+  sha512.doc = "63c833be3ab646ce509e5082af3d135d81224c7b586f6998e5fc7410f2ed0e52abb05adfb49d78bae721889fc522395b53810e3ee627184de83dddb198cd3083";
+  sha512.source = "69ba696387583767b4c4d0b196c2b37000da16198242ea1ba4e2208fce6dab8eddb2bd40093eb092fe62b3be82aacab4b11ee35e2f94422eb07e0ad489709930";
   hasRunfiles = true;
   version = "2.2";
 };
 "coolthms" = {
   stripPrefix = 0;
-  sha512.run = "20b7ae10129a0a0202efc4c39adebc628fc309a87a52fdaff064b0e781339b7fd903c31cda6a148216aa3b17707c3625b545c1ab68e6dc573f0fed2900a1dd02";
-  sha512.doc = "a66f3e1d29327bf44dc3dd01de7d3934e0cd6dedc483c0617e530ebc5046189f47640606746c27a5e1e8077b135719996c90a7931c36fb3a3fbccb702151975a";
-  sha512.source = "2ffd24397f10f3f9b6d220ef21ddf3680b1a141529ae3492c107a9b2a2c1226f43c4a41c82c779fb85e8d36e0e7565ebf37949c925b1edad65cd9867301fb5a5";
+  sha512.run = "7a9d8f4605a0ff108ef5cb32ef4b6f455d16898248fee534e6557d8323c4378c8299fc1a6d58dd491020090ed4fdd3e41a90de99d18a9d114b72bd57b27b5e7d";
+  sha512.doc = "2f5ff3ead76bc83138e41ee881713829de7b8b0ecdda353fcbdd9ebdb7851139eb9022fb4eec1a1c03d125f4106ce748123a9d9fcd76859e82158a541aa20aba";
+  sha512.source = "088f76522c4576925af08d387ecfd18b4906aa91fa741c4848eed49addb9a9334b3f27de30c516e7a85583a450fcfd0c7054b071bb926eb8f1f9ab54b5791ed0";
   hasRunfiles = true;
   version = "1.2";
 };
 "cooltooltips" = {
   stripPrefix = 0;
-  sha512.run = "a87d6aa09f7181e2e23c298459b6dbc99cfaefe26c5779806f2c2bb58aaae11aa77b911bd66ee4ac79a3ff45f9d12d9712ac4fbfa9e2c5e7841f570b4e37c103";
-  sha512.doc = "c81d621ee1921cd9e218e2c187d3ab1c6d2c71140baf84ab2b387d2dd58bb7b7519d6fad719f53e96b1157d27dc0ce1ca31c1d2056b57adf07fa1f9779237d91";
-  sha512.source = "5f007487db12acc447f79d9e10825374e083225b074ec87b4463a6a51b924af3812d4c9369748f7aa537ae9c1dced5f54c4df2d94dc607f195f07b0c2a0a51e2";
+  sha512.run = "c17cb15979b575ece2c16dac8d56991c7cb32d99e165205c099b5058b658c60b393696fee5f7178611d5ccdf1d812522640dee56c1c4c881a73a11edc2ec8799";
+  sha512.doc = "6a091ed9c41f4cf31d9db7cb2c1c76a342583f9d568ed89380bb624fba35cb3b788abde47f746b0e8a0402da19171fce72c7f356da2a2e4cb8264452f727eff7";
+  sha512.source = "8aad4d9623d41caee76932db0a9436760ee5aef346c68e393e39fbc1ebdebb643b7b5215c232ef04f7968c34e3d0b73e0f4a23d2e060930d97b3a047d1bce149";
   hasRunfiles = true;
   version = "1.0";
 };
 "coordsys" = {
   stripPrefix = 0;
-  sha512.run = "fee26ae109aea045d34266b82982cf01735d1e2287e0ffbcde79c4c358113105475cc0f9fa95ef41e0b9434ebf51aacefe0fb417ea6b0dd86a4c7f2d3fbb7e42";
-  sha512.doc = "80eae21f13eec9f37ed97049f283c88d938413010ef0aae8538f4e81065df3930aa39bc77ccece0e88a4bab42dca2afb59e64b1e7ab8a19a340ba8a1d4485556";
-  sha512.source = "8550707098bc5e72ac8d2d2b112ef77e8b1a96e65941d7cca11144b80e40c09dab7047b2aeef7267b21b27abd82fbda8c0dd5b44b2aed1bc97823329d6f21942";
+  sha512.run = "83a57df64b3386b7e927ca30b4b2ea031bd656121dda79dba0f96779e77d733d2293b80a3b08081678bea9b31a31a586123e9866c6aa595561843af3de0cc4f6";
+  sha512.doc = "bb89a04e5889c39c23ee65c38232cc0be931dff383d52614e290b6bd8ab23e7c9063fd7ea656dde896c08830b8c7c85e1da7f56728fd43a1bedf31bef6ca2e83";
+  sha512.source = "dd03bf08143a43b3486524d4aadac592e3e2264d23aa45fbb499ec7e709edcabd87f66fa38349edd856a09fb6d55ef466d565714045559b9b7f418a7d3eb5acf";
   hasRunfiles = true;
   version = "1.4";
 };
 "copyedit" = {
   stripPrefix = 0;
-  sha512.run = "09465c229aab93e87a0d25c96fa9ba34a982b7e8f5ea91bcf0df7298e0218a980cc51e46b79cac71209b8897046381841ce778f7a7a20d93fa8ce616709d0b0c";
-  sha512.doc = "7cd490fa93566a74ff39e1b2cfacce8567b8b11015f3869792d646e5eb0eabd0c425b831459733d0a748e1e42df6ec964607795cba63cd0511324c06e410a67d";
-  sha512.source = "a543d5c235394ab0fc870d1df685cfbe46e6ba3ad141a7bd54bb588d6b785227bacc8295ac5f26624b45c285c792db84b286d696481c9496e3df076b52cf7dfe";
+  sha512.run = "27f48ff201c66d61ed7702b4d11f0d39b0c74974ea3a90506dace0f3cb4ac3c4ee5cac28f9669574184620b3e64a4b9ef3fa5564213e3d200754bbab791e52ea";
+  sha512.doc = "60fde840ac3c6876f031daf09e852ddf79276d2f841dea2ee5299678bd116df31b2ec2dfa6d6175e45a42fd781be6935cbfa2aab8621af641985e3df2c665fc1";
+  sha512.source = "7d2bb6e2e8c036345e301d45c03665b6c8ae9dfe91668f354e77e30e2d8a47d1b6db2e7032717c4b04e8e122952b916459b991fc5b566a020262835bcdf6a6fe";
   hasRunfiles = true;
   version = "1.6";
 };
 "copyrightbox" = {
   stripPrefix = 0;
-  sha512.run = "27fcb0324e5116eae66bdce9bd46f9edc6e1e140a393d8fb7afd0e6524f24e8fee31f9b6efeee5f47fbfd8c4dd06243220bc1ee7e3d58ca5a091942d76e506a8";
-  sha512.doc = "ee4aaca87bd90e0b84b14b5927bab39f0b34f90eeda450d17afbbbf070ab5efd4d4f233ade4551e22ee4075bf140123cc307907a40b3696a9d3af3051462df55";
+  sha512.run = "2ae2afc738cc906d24fca0a6319c98dc1e9382bbde6db3d0c3a371d3de8b92c30b3bf05be04797bc0ed6d905933a50e74809eed52f06cdba5fc5088be033d4a9";
+  sha512.doc = "9b817f2874a35f3e023774d3be32e0f8bf53a26f9daf553525c95ce0c21a64a22c3a716fb20cdc76921ec90b7b5305f305bf44853cf87d13ac38ce853ca00ea4";
   hasRunfiles = true;
   version = "0.1";
 };
 "cormorantgaramond" = {
   stripPrefix = 0;
-  sha512.run = "6b23250c801a862ae41f588426fcc561c59729963ec6307d0cf9bd631c369f83c6bd8149c340dd75190dfb343ff40006c2f62cf596262a812f8cf0a9c8fa1aad";
-  sha512.doc = "d33c8eabb4669083082f87701451f27dd37d370dd8ece23e92c07c42d9f903f80ee88f70324d2c1e569907e40a16b68f13aa2c81b8d39ecab1e3e83300f5e2ae";
+  sha512.run = "ebd296acc2bbff8ebcf0142f4e3053d3989257bab98366c80bf81390fa711d95b84f537f394cddeb9c034b079572c515ebb8eabce531329ea3863601cc564617";
+  sha512.doc = "ce82ad39ca86a383bb28b2c766f3d48c7234fc8c65418a8cf90c63b580a2aa92ca0999d90c44cb0c35e119a8f34a601b02ff921433f373d8c8dafdbe04568228";
   hasRunfiles = true;
   version = "3.00";
 };
 "correctmathalign" = {
   stripPrefix = 0;
-  sha512.run = "f6bca1a4213071a6752b423eb9b05383c2b36398a14994aa65c698f1b694f96a103f1dcd952ea094d44d88462f175c97af9e1f58598ce78b81d56ff366f32d39";
-  sha512.doc = "495caf73049a14a82889b87954e5b0c3d8f9a3dbdf70830ee440a21bc916c752d3cc6d80257b219d5aec8ffdcd0f75f17b4bb92e404f471c83e04824c06b16b9";
+  sha512.run = "5a7e9b3b51ae82980cc1ab9d4ae74aa0b65afa533d21230b1f5e6867bb6464f910a07bb1c38621eb18d8bccd8bc50260b8741752936c310012590706726ed6f2";
+  sha512.doc = "bc6c9f24a4107d28120e6934f6966b2560ca4c34169b0074023e941746240879bc0572840d3967effd3a1358ef288ac412946f79fd3b40151c1507cba8828be0";
   hasRunfiles = true;
   version = "1.1";
 };
 "coseoul" = {
   stripPrefix = 0;
-  sha512.run = "009166284f72779daa625af83f3486f86994891688feed3ad87d1a40e5d82ac4de5461b1eab298396f3f3e488381269b10fc2808eb546d219aa049c9a87f1a3c";
-  sha512.doc = "d5271f5f95016d0f6024256477b89317847b1f366580f2974276f8d310ef49e15741828721d4c47e8520e8b96aa16884cc644419780970c637aafb10b4f2bb0d";
+  sha512.run = "21524a0721fa26d85b383879cc75600bcd55ee05220eac245171eadc30dea7296731e4d6d2d3d82d10b32f1d674d444bf1df41dd82b92d5cfa7ea06d53f56147";
+  sha512.doc = "6e950d1f5129b39de2cfdbf7cc46b101f81336f29325a5e74f58dbb4378dd79189d1e29dd88a9e828fe4e758b6de93e76f70884c9fc582cc8a69f6db1e1f2617";
   hasRunfiles = true;
   version = "1.1";
 };
 "countriesofeurope" = {
   stripPrefix = 0;
-  sha512.run = "5a65d617e1c5d5d5b63b1153f115852361c53a5b3bef16355e8d586860dfac25f0c1be62cdbbf8ee0b308f68f845491b3bd93e226887b3a82aed2b5df5d2bcc9";
-  sha512.doc = "95e60960c9d35ea0e76a8baad3201c1edaa45fa9d253f05d0e7050dca20a04e1719931f03c27dbbf78bf5d0b442c958919cb52381be13818fb5c53d738e59893";
+  sha512.run = "77d075fe233359be6d50003d9577ce84965c409ae89da18ae91ab214a80200b83843ee25a1caaf1d0ac1e6fc076efbe560f3dacc1770120a89c6d8612915418b";
+  sha512.doc = "03071f1cc0c00f1930307395126f035080c2efae21ec99ae81a03abdbc572d1219dcd3a63b8d988036a1c2b9c4f1a4a564df7017a886965068d1ae314a995306";
   hasRunfiles = true;
-  version = "0.22";
+  version = "0.23";
 };
 "counttexruns" = {
   stripPrefix = 0;
-  sha512.run = "23603509f9fee86cf4c67b19a2b38bfb0ee4790613c35bdc5690de8ade1062a10ee54c93970a47225ddcca198c85ff0eaa0c7d0586dbb96a7ae6e342f375cb3b";
-  sha512.doc = "221af8bb159351029e85bcdded44ad495f1daead8751b97f601381846cb13bf85cf8f1ab5873c7b763cafe10a2eabce719305562eb2618cf18edb6982902ced2";
-  sha512.source = "c5dba9753038df64c4e72d241d3d2c0f7dcd6d1b4a1acbcad63c8447a0e1f2996a7996463c5b2a2625644602b215ce0b38c51c4645e47ea166b01f54a9a760a5";
+  sha512.run = "569393d76512308751bff3c5cb22bc11ecee420bb16b5f7d35d6b10beaa02f9c99a4d440e7f3a35bda4e6821405e5f8d621af5af176821549a0e0f0660f998bd";
+  sha512.doc = "4a67cac01589ae5d3eb61c5c6c66bb38ede138c9c2b56fcb6359c8f851bf55ce3cf2e5662cd7751d6708c86644cb5f607318612b01b60f769858d594c2b24218";
+  sha512.source = "ed482becf766081e5cb05affc10c64979e43f9f655074366063b95943229dc9043943422e1063ecf69e5d44659566fb1d0ffddcc27d33eebff9de69f4aa8c7f5";
   hasRunfiles = true;
   version = "1.00a";
 };
 "courier" = {
   stripPrefix = 0;
-  sha512.run = "5fb048c8f062725d8a3bba1cbcb82cbf83e37726de1925033bd5f3fc0c3dd2362eb903253f9446e9003a333965995256afff1206e980b76d3be3f01e81521d0a";
+  sha512.run = "a7a7350f23921254b9a37e498c2360aeb67d4aa8161072dafa38c941eca35388eaa5d8a341e8b490e783f346ed6b0f4a4d356dd914f70a858c92c76ff1808440";
   hasRunfiles = true;
 };
 "courier-scaled" = {
   stripPrefix = 0;
-  sha512.run = "593e9276737b01ba243bd288f9c6dec030e4e4f0aec559202b228545f6d1d2f374582968112f2075ce5c4d5940f13bfb28768f144d63b6bba5035cc17dca95a0";
-  sha512.doc = "dbc69a10a6098dd85fe5072044d78a71d8ffb2b85575f53ba336de5ba1a01acaeac71cb06c809a60f10537939a60ca28f1d095f68a68f1e854050ed9dcafb749";
+  sha512.run = "570256a4353163cba169ac5d649458d363edc5c2836efccff1e7df83c12d9b552978b3531f2ab026430b3222b3dfc00be0e4700031e6bc50bdb60a739a68c9aa";
+  sha512.doc = "59c5cec8491e678b084afb4c6e63ed07ca179b5f17be8fe581ff341c80b3cee8016601799ada090e1fcde9eeb72197986f3d4aeffa7c7a9d10a014e34282f52a";
   hasRunfiles = true;
 };
 "courseoutline" = {
   stripPrefix = 0;
-  sha512.run = "0caa7beff0a7ee6772f9dbfbfd37f35e80aabe3881626323402fcc51f00ebfdf9d598e6f1b9beb8d40ca93131c41f104f51cd0dffc7b76b7b9a061c69d18de3f";
-  sha512.doc = "6d6556e695db5ea4b17275c0203f9e8f3f411a444bd37867440d3c761d72766e7b628303d3ac1b4c98bc1ee3bdadf3dd4a75908c805a3c6ce4312597d5c34d17";
+  sha512.run = "fd3bbcd90570aa1cbfae49fca247d761ac0b886d795fd8097754706b21ab1d6954eb8d8a6c1fb4e69d550e7ec89294fa006f50bab0c7b806c545666eac4915f1";
+  sha512.doc = "5a52cabfbc28fe27aa6f85b3653de3ace51b65011ca2e33b56be59854b364319ed8adf95576f8211d9494a367fb637b47fd2805a2663df87103b2d67a168dc13";
   hasRunfiles = true;
   version = "1.0";
 };
 "coursepaper" = {
   stripPrefix = 0;
-  sha512.run = "0e4a2e48f45742957236a15245ba31064c083edc778111f31e9f989f0d4a8af755570825d3a0ec81ba97b65be9b097147cc5fe11160d66f098feeed7ed80dcf2";
-  sha512.doc = "d2ff6513c28eb3dd82ff361facfd74b3c5e59d380ace763b48f436b498bf1e2c8abe5f3edaa89ec24b7f64b15a88ee459fedd96dbe1aa4e879b1eed3b55ba069";
+  sha512.run = "bae9e3188a3312f970434b21f23436251dcf8d7b5b2049decf1f95903f5e58ddf9dd328ffc6908c70bec436c9edc3ae62b05d110f42a8ab322eb3f464733ba96";
+  sha512.doc = "359ee3956a6da4eb41947db9b5f8dbaac7c13c18ea91afd6d63f738ab43af4c77fd93e9123ecda28b4e2211387c910b7a46b2ccd97edeba70fd6d2852b228094";
   hasRunfiles = true;
   version = "2.0";
 };
 "coverpage" = {
   stripPrefix = 0;
-  sha512.run = "7e06405a0af0e8038e9848fdb318552040b7404aa36652b5d0b39bc1688259581bcf3ad49c196fbf964ca6d057eafa33891f47acfe201be89908e9321cfecdb6";
-  sha512.doc = "da848e5237283ff3accd700e577818fbc82dde6f46a01a1d14c620178ad1a04f0f6c9d9a806e329b706720e0b4dc8cc341994d8270a6ec1724f440f2e304870e";
-  sha512.source = "f9979ebc348c81961cee36a0265a829cb2e544abc0f84c1dbb10f040fe6f71c4137693659b4c327c32b1fd6e693e892e47e8de584c95f462120344627b18d20d";
+  sha512.run = "6ba22fe89f292ef65ec41a958a93a8ab729954fab33f10677954791bb2be8bcbca71ba4953b6ec47066d3b92e444ebbef9b5f465952076ff0c679706f0ba406a";
+  sha512.doc = "01346bc57d5742be2196c8768106fc06534ce03571dc1e3e9d48957ba6d0e1a3aab1a4ac070d4e545f058d1b3833e908398fff62d3ce6bd462b927646ff1e60e";
+  sha512.source = "cd47f6d17ab585e84244164bed3b905163157e911dec81ddcd630f23f0b520763b9972b3430f25ff4039e27310eac21e6257727aa4544b7a0e40e7020fc72b42";
   hasRunfiles = true;
   version = "1.01";
 };
 "covington" = {
   stripPrefix = 0;
-  sha512.run = "d3709a9f7569ea106e822969df5ae3938bcb46f0a416703126b9158e0a09041e42476d86ec841450feecbdda05cb4accd6f72a3c4afd624ab7e1f007312aba91";
-  sha512.doc = "e3d33673a713980cd12daeb22d68e46d01112507a6bc26c31cbddffa70788b3fdd75b148b5619a9515e8c42ff6824346bd34ca6abfb1531d1d1d421c71fe53eb";
+  sha512.run = "d317d23948d7308e99ce1e2b0d8371ec165012ac199ba271b8d43a869106ba13d416744d8f78fc8e91a14e4c33456675d6c277ee6841c07084aa8203b0a99b84";
+  sha512.doc = "819f2c75cfc0bb571df7736d630668ace9ecca49bdeca6ed760b7575d028ca2acf0e0977a19609baec02c4e409f52d1b35176492eb3e6d392e591ca3d7fdcb6a";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.3";
 };
 "cprotect" = {
   stripPrefix = 0;
-  sha512.run = "a6bf835a31dd911f7e6cdc33914b184ceb2ff1dfbd91e596ab416302952ccb66516d725fbabdb803dcb5a1ebaf0dcb686a35a25480bf23c803a923191b8d0ba1";
-  sha512.doc = "eebaefb15445c8ef7f69ad69badd881da89d626a8a4f406fb017b7eaf59efe691bfb358069741464ea1d9f4b3b2ef3b16b42f58f17ce5ddd41987a0b39c1616c";
-  sha512.source = "b5ab53b4f5e1ac1cab5e57c1fe4e83277357ca5403431a59d23419f69df676676b7ea7bd61a40208099af75e1116aef4296d0b1f9580feab667f89e7315b7678";
+  sha512.run = "f4795674aa97744b0d6ed70bcae83a1ce3b41670a1bff2e67d12825154bcfd7eac2a740996bcb4aa0445697a3e4c17ef3d8606b308b7db3aea263269a7e2eb51";
+  sha512.doc = "e8a5000eb9a538f95bf6df4e2d68ecd8769974192e8181b6eb40e5f48b2cc3a9b9d405d1c7b611e35c41dac5ca5165a503efb7584ee94289ed3255a9482b2b2e";
+  sha512.source = "a9c10d5437f4a9f55680fc3a9841e9dc665b7b642e2831c0bb6239d73ea08312eeae372cf95591d002fa7dd51ae45e7413d9651ea5d60e5837903adf565364e0";
   hasRunfiles = true;
   version = "1.0e";
 };
 "cqubeamer" = {
   stripPrefix = 0;
-  sha512.run = "f577a2acd31656a5b6ac61b3a347564f96380d172b5ea99aef87f8d16a8fa8c3c36b4bf97d00a6ab366cfc28f65942119ae23fc611aceb76310a7eff701b5874";
-  sha512.doc = "718ed336019a741910b34d438a7d4e8419697d788f9e0f1661d81c6d58420f81f43400b93de653e34b5bd9ca0b3a77ae56765d020a828b489a71b131d1061087";
+  sha512.run = "6dd13c29855533c100146e712431d64e4d55bfe9c49b2199a63f292933e6666c0fcd15e17e56b534e648a64b5117b8bf211a1f0f595d83db54e587977590a2ce";
+  sha512.doc = "38cbdd297bf4ff67d0404b75c497416eddaf18d4430ea49af8413ef504e8463a3127e3d42aa12f2920a12d13c03935d6aab5b036d398322428659918b5058444";
   hasRunfiles = true;
   version = "1.0";
 };
 "cquthesis" = {
   stripPrefix = 0;
-  sha512.run = "14ae2fa1a92aa6a1c14acd03a08b131db09e2c31861720be9f5b5192f03cdd4f7e4f6eeb4fdef17d9a8352fb7191907641751a7dd4cc7434f0f272a04864c2ef";
-  sha512.doc = "8f2e3cf94d81b5b12709b0bbbcabc2deac4e1889fea181ab2e6450c3af59ee32eb6e6b1bd4b78196d0b6c1af4cffec43cc471da00f73a6d4ba20880ffb56154b";
-  sha512.source = "444ee3789ebf3527b1d92f90b942ccea0fd0462caf150af35c572efca8ecff85707d3be006843308f3cd42309991b8e30d9ff1c7e186f085a041c446441cf298";
+  sha512.run = "08c18f72346fcb3bda3f0bacdcdaca72d68e89675b98f1aba46c3181a334fb4e21de82b219637d05bce0de4259b3b4ef4790ebdea3ac538f4a121311e5fcab5b";
+  sha512.doc = "88daa7155ffbf06bc393c991c9e043015bfa25122737f64203f6c0352eb2e9b386ce7398736ca62d33e0708db4f60741f5ac76ab48eaabb10b5c1ce7c4a40b71";
+  sha512.source = "06b48932193614c71e20f5e8cf0eb4905f798694eddae90f42e03c67d48c1b4dc0cea9d8e9a2cb0b9d8ca31c5b3b4f075813fd9755ceda7a09029e9817d95c5b";
   hasRunfiles = true;
-  version = "1.30";
+  version = "1.40";
 };
 "crbox" = {
   stripPrefix = 0;
-  sha512.run = "d11d406665290c2b8e5c39d1fa25135d3eb398a8d69d73b6af478a54d519db9a32d066e64cdfacf863d6ba1ce63ec2ea2e17a0e819dde564189b511487f18641";
-  sha512.doc = "47d8f1e0b55ca4c9ec866d26fc19b3896cfd6e11545842b05501dedf3518e7c458ca2bad0e336a0807c95912507c93fc1776862998371367b22355cb30293aaf";
+  sha512.run = "087ae9406fd8f6916e355b51d2f4dc7383228813716ab9f6c37714794c931a9b5defa4678a4471523c5fda2c6b0b7784d11dfb488a8d9c60f0244d9d2d64ab2b";
+  sha512.doc = "8927d6f60a3a895685c679e565632ee2ca68c1f2e8dfd795a481767463d88ec37579bfbd55858ce1e6e433a981de4b5140cf75489221243716cd8035a2967a90";
   hasRunfiles = true;
   version = "0.1";
 };
 "crimson" = {
   stripPrefix = 0;
-  sha512.run = "6ea30bace5375f3c8f644c6b7770af4803d564db194efe93beba97a97b2b91198aa9cbefa8673a0c1b1657f5682b4ca0dd0c16bb5c400ef0e09b6618a1089f91";
-  sha512.doc = "8daba8cc00bc1451ffc0c1a7d061d18710ba669ad5da7a7d1c7fd95c3d76473646c9730545cafdf3fa3a875a3b211adc702875b64e0d51eb582099fcb58ef986";
+  sha512.run = "58708970173456998d07a7953d86b3124a0b97a918910229c0d20a300de688283bdb85b63a7596d2bbf2a6cf5f1069a596e43b29d6fa0c5866ef9b0cc1d01b3e";
+  sha512.doc = "2fac264b2986a52a739496c907930b6182e56dc24c8b13356d4d564113d6aa019734fb450168122aff2b0f14ecea3d962b4097638277b805d3a13cff5493fa9b";
   hasRunfiles = true;
 };
 "crimsonpro" = {
   stripPrefix = 0;
-  sha512.run = "37256faa31c63f3867fa36dadf0314e57d3d2dc5a915f868de404903705b89fae4f3879ef932d174b54bea17523a17db45494d201b00383d70df9e5bbf9d7769";
-  sha512.doc = "4a578645a8572c4b443d6813b3d716034029139406bfaf3b678a7f3c0cc42bf728bf661c5e8b260e928ad9e7c1b45efd7473fedddc98b12d45e32006afad3edd";
+  sha512.run = "f7b01c39e7fc5d170896f1649c1230ad9cf6ed79f4ef5703fa5166bfd3b3bf2fe9c28485a56a70655ba0083ddaa2e444860be1ae421dfe06d63e8d81091f39e9";
+  sha512.doc = "d87ef7bf936a235be18527798ea657d8f963edc0e0be08689bf7551b378d80eba605d55ce6936b997277534069fc9065871e532107986dd9d987cb90bef1edaa";
   hasRunfiles = true;
 };
 "crop" = {
   stripPrefix = 0;
-  sha512.run = "6a070e0fb8e0421d1a72036a64773ca481b35bbe44567fc5cc417d1121cd7d5fa5cbf8bb10e7d4772cb20d94a36746397250c7284cb3bb782dd8e5dac7a72399";
-  sha512.doc = "099b28dbd15d01a4c715bca73c7f17c55b29143a0dfe675cd429f46aecb58bd5875c3ca5f8a1310427f8d4fd5bb4859792d17e58d63f2ccfdcab8261596dc25f";
-  sha512.source = "61f3832a4e43de4cf82435e46bc475456915f13ec25db1a5e9531a5a5b0df835bd439052522873b128eec49822c2590fbe76eb718f8f44ca0de5f10720611caf";
+  sha512.run = "6909ec6d94362aca7b0c0a00accba6015f5b30c06bce01acd22b87b2d1550ebb7747013d008b7cc82c4cf0b3f5fe6a6575fcca4ee50707214fcb0e19ed796989";
+  sha512.doc = "b68db452aca35a90dc77e500df8db574c321c693490abdf9c7135c7457b34b5a42dc32213c5917a2e4ee37252d909315c4e68ff76f3185a9c321eee3bee10a04";
+  sha512.source = "dde8987ead8158440334e35ce04b10051a3ff2c12ab61f9a3522c0c6d6bf93351e2b9ddfd17d03b8c2c42c0b7204dc3a54b46ad2f486a32374fb6d7a50e60ebc";
   hasRunfiles = true;
   version = "1.5";
 };
 "crossreference" = {
   stripPrefix = 0;
-  sha512.run = "50af472a5b172d5418646fd1879f339126f68aeb9578c6c05d9f6d3990e9f222aa3bed793669c1b67389c272ab1b87bdd6d0e52506605b8e5a774855ec285ee3";
-  sha512.doc = "536b7fd22f6864906abe4e43548a9dbd08eb80d75e1ea034794c780a018a33e29ae2da9b68f3cc9b4e712c0d13addf9104baf00fc4017180c5936c1c2f3192e9";
-  sha512.source = "b20c0b9f2202e613d911cd9889b0bdcdd62b81024c04b24d6ec0c8239efd23911ecc059f3c65433b03e8e655848d73762e4b5cfd409cb119f0da4db284f21c29";
+  sha512.run = "e34b4d383b8398880b962cdddf248c95f2bc7187b5ed4f0caf84655a94f92b915906b150ef904c696f49f22ef23c039ee66427a03b1430f7a3d5f619f2a80d01";
+  sha512.doc = "e21b294ac2b3489cc81ccc99c54bc60985d8769e297f137180a9373ad289248b5d90acf3dd9800d0690907543cf52f0532f6317ef55a43a5b55541805e2be68b";
+  sha512.source = "ebf66eeddeccc32574b0f6285d655d5e9a00e4c4c6a50c232ecbc438b51e4ac45876e925b41b71717b23004a24680b3302b8a0afb9ba124e279094d705676b2c";
   hasRunfiles = true;
 };
 "crossreftools" = {
   stripPrefix = 0;
-  sha512.run = "a582c637a1c22aa0ad22a05e7deb9362845e207cc8275dd18b962fa5ed1d1fb8433c06671e170d8ae7e4370908f5738a808f97eb951456f93d9d7bea6318f951";
-  sha512.doc = "bcdd2f6164c54f90c3a862ded08223e3f8fd39adbbfc0c4db4b7f8d4cddcaa740fa48f8e5f8b0adc8c3921afb8104b7bc332a46d49414c1a3afa14cffc43fb60";
+  sha512.run = "9f5426951f7062ac3a850d141aff2031ea2197a97d5e4bf2c2b93fcd2719d5b1d6587b66d51fb258f514423bcb43cc8699b58a74c411824ffe7057cc27d03702";
+  sha512.doc = "66597598d04218394abe1762aca2e9ecb25ab25328e9b203bb789459d053ec575f2a7adcc9460b1356d5488b32f2fb8335e8a7554074fb5ab2df810fde2be586";
   hasRunfiles = true;
   version = "0.9";
 };
 "crossrefware" = {
-  sha512.run = "bb82e6ace8cf17fffb50be160e22ddedec6327b9b3b919ced50e6df6be7c14451b7cca9fb2237e9584dcdcc0584badbe1336767b136e202a9ead8033fdf19943";
-  sha512.doc = "0fe4f5ea083ddc7a6f480a38b1e65d749de3deea372b642581e950a7baac6c71dc16ace7cb1d14a213aa361e15271a90a60005acaf7a215a8c5879e841717fa7";
+  sha512.run = "351f123bab2b83614b660959e86573845e32b6ac894ddabf24484cc3bbb68d71fef1e543b4d14a3684804f8b4b8e4a5123c8acc46fd813048320ab50f245475a";
+  sha512.doc = "cef9694f4e984ee077902852143e2c88bb533739c6b53c010eae74c32b486faf7806010beecee49bfce07d5f35270bd312852f6d5701860073854a5fec949125";
   hasRunfiles = true;
 };
 "crossword" = {
   stripPrefix = 0;
-  sha512.run = "45fbd93550c98b16ec8ef7190f4fbe9534994ff21055cf59dba3bf959637d802d7a3c33b665c4c621e1ec046ea4e9e9a0ee79a4c892271702a91f986885c7762";
-  sha512.doc = "3e5f791639cfc0f95300101a37e4bcf011b71c3744eeed5f79621cfca347eae079f4f86d4a58d91229f9d3e3cc83869a077824ae048779666d9391a8c9271623";
-  sha512.source = "e1e4f7890e1f1b69acb0970f3af6822bf5c26d613bbb1c5936584df4d95f308253867a2ad2a8b0c130546476cd6c7e5d4b59f561e6f5c7674d6ca181e75d181d";
+  sha512.run = "e55390ea7eb83686bc49e1f33fd4df2e7b977e031fa6d42e3d18d2cb5b9f34905aa4c43f173ad6745e98683376eb5ad4fae1a8344355b272f0b4b8096b1521ce";
+  sha512.doc = "121e26265895e99dd00dc84ef8b1ba9f4b6917ccbfafa6a35d1f6b81b42c70153bed17790eb6e2d4a5a4fcd8c5cf2e03f5b6e458a2b125a2b7a0f0292bb24947";
+  sha512.source = "91f7fc2a78a83eb404aa11a95f941f81f10da9a908a8ca4f554b5ed496435cca615ce69d9e608c59a025b51243e6c1bf14ea69c896d944a757e1c1cb470e831e";
   hasRunfiles = true;
   version = "1.9";
 };
 "crosswrd" = {
   stripPrefix = 0;
-  sha512.run = "a5d7b43d92334e099d5e9a1b61f615ae8c599fc24dea4efc39ec4c3db959af5ca985997f01b26c8f7b2b8aa0f9fb5089f68d277f973071dd48b0da0ec65b214b";
-  sha512.doc = "fae76a3c76fbfa80b7920436ad22600bec913e5ae7d3f6678d5adceb9395134d563e3afc9b26557c6df1b8ad86b0f025ca50896f708fb531f96ea130e76d3f24";
-  sha512.source = "c69423f45afe0b7fa1de5b6269c0316c8d43ca553979268ca4e545872f813176a32fcaf2f33c78ef3df825349a64c4ee380e3b63ed2751107d2282d5acf2d91f";
+  sha512.run = "889334e046aa6371df566c814faa98fdf4931c85be3d49e04d932f02bb71bffaa929614398469be04bf6426ec05ccbfcdbe0ad9798017f9504fba5f3781521e6";
+  sha512.doc = "0d4d1e8c1577ee23f7fc60ab8c106121978e986945b8dd399faef4ca55e60a7ed3ba65220ef56ad11b7a100690f89692f0c1ad80c845e2aa04d81c8664a6cd27";
+  sha512.source = "edb2825137c510f1ed32b9380b3e59ac492a76ed35d2a1b16ef486a8287338c1afd8b26cee9d1ae447eff3dd12de14cd7f75d97db74ef5f084286c7f5cd8478c";
   hasRunfiles = true;
   version = "3.0";
 };
 "cryptocode" = {
   stripPrefix = 0;
-  sha512.run = "aaf61b434568435b431603623b4d0aa49f41658af278ff3316c74c3cf7ee74e404a7b3c45f0eb491db3b76e248eb5f4f906645330e28e59e3ccf18259dcd5bda";
-  sha512.doc = "d9b06018d7375f7419de79b5e73d61d5f12ee93258f016c93c4be3c15ddbb3354e1a62411ed46bd84c5fe25ad345cf1c0f10b68b0d2ceb79684718250eca1f7f";
+  sha512.run = "b15b76169656d91a366e17fc832f0b661e0bd31e2d8f61e2431d3e7adab66b24c145c2e84e4c9f9aa8dfbe27655b37c657765e549e04f9de447c5c6cefe38480";
+  sha512.doc = "0245804ad3761368a634d7b062a02e5a073ed91499c3792f82670ea6ed18f6790f74d23e5ff4770c1c3af64b3a90d9f3d59ebe88828496ae19fb517dfca1e0f4";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "cryst" = {
   stripPrefix = 0;
-  sha512.run = "0fd7373670cecef60610c3f42b0828aebf413a62b16b86359cabcdd09e2443d0fbd1081ed3084372937b70d2f000428fbb5dc128cbf40fed8e70aec1e84a3292";
-  sha512.doc = "7f5c3692d8814f016ea56e2955c89787356e77b7ba8715e2703b27a66ff0b5bae01766a3646aa020017fd4ab43a6e07ad416aa0f47044ab8b4d81b06d866a87c";
+  sha512.run = "49e1c9d0cb6909e421446230bf71123fa71b4aad1d90b1c7614fc465651f701d91f576c2edd8b6840d1c78dfa5557cd604e61a5e745e1ccb2f60bde9e66117ed";
+  sha512.doc = "55c765a9a4799f719383473700a0ef5627ec8873fc9fbd4ffd191d205d24b29d57255d90687176789240a3c4a547a3a57ed341a0558d99aa01dbcff0fc7dffc1";
   hasRunfiles = true;
 };
 "cs" = {
   stripPrefix = 0;
   deps."cmexb" = tl."cmexb";
-  sha512.run = "0575b1a336d91aa9967503196666594975e55c6f58802702e068167ebb9d87bab4d9d92582a3496a9e837c3e30a38a7c7a1fa3e70ce36a545ae368b7f9eef135";
+  sha512.run = "bc956c595d4460f35c64c92e7730a7cc9cd3af95301afba56c49bcf8415666863de926733409ce1afd99ba767fe3a3fa45c68f2dcc912b69c6f72b618289fb30";
   hasRunfiles = true;
 };
 "csbulletin" = {
   stripPrefix = 0;
-  sha512.run = "44bd04478a5380c0b085cd582b265901b972bd594dfc5a26dcef9b72ec81833bd0ca8d9f7a8592b8a85b762414d91f78796b2a752f01ab45a79dc0c028193ae3";
-  sha512.doc = "9ab4f2c24c3feb3ab5a833fd7cf28a6df29e9d78d11e888820079d9cf74ecebf20034f2163fb226ce04eb3d989ded90872eb65a51d9041b8a2e6ef1e34261edf";
+  sha512.run = "730ca61f0678ab2dfe4aca6be57b64cf6944ec018a7154f25c565687c29cc746b9cbd508ea01600a1d17f31850dd2bd047ebd47788997cd244e8f74199a96d68";
+  sha512.doc = "b9581a3d257647ddbdb583c5327e1e6dbbb52c8bc3153e115dcbcc6047fc2146ee0b62271727826f608d70f9d1a1b25e844c6f772c12ce6b8c38e1cf32015303";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -9144,9 +9364,9 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."latex-fonts" = tl."latex-fonts";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "c328242128856f4c4ce33bfabed42f33d6ce746828018cf37ece8d33c8899238373ff779bfe7cb06491e42304bf2820845c1795b9d868d4db5c77101e6b7ef5f";
-  sha512.doc = "ee0c9e4b14e5fee30f09212ac92e23e1f8d6d4da153b55ba9eae7d6f9f130e3fd0c36baa8c2abc95990b0c8e5b88045160fce73974269fc97fc3806c959b35c4";
-  sha512.source = "91de6728bbd726c3c14e4df31352db424937a0aca0c269465999ecd0b19bad57df9bc282d2d91acac097d8401f576b764bbf82d4ed14a688ca491653edca98f3";
+  sha512.run = "d0a3ebaea7659e4f1b53aef42b9a8361e215083fd7d669b0a119ba744ddfb1afc79d5b25d7fa94082085dadf1d7d7da5981e485246c28c4708b82c40e0ad00dd";
+  sha512.doc = "9a8bab74f51651b732bd155b386f69ea8b0aededb0ac29226d6aee2bc3547c5157d0150a854987dd5f9f8a001a7191509340c9dbffdc02bd7c01de47fa80f7c1";
+  sha512.source = "c982e771c3db5b91806faf9976dde51499af9ab6c7afa81cbbaad04dd8808ba07e8c1dd683af77fe112237fe2868f73520a464bbe72fa1762ab6ccc0e8e4cdb5";
   hasRunfiles = true;
 };
 "csplain" = {
@@ -9159,2130 +9379,2176 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."luatex" = tl."luatex";
   deps."luatex85" = tl."luatex85";
-  sha512.run = "c09296f21bfe946098e131cbd81f10b6f10530ba3d4f3aa7c285c70ea07daf509d9e940eb27316a384cc638cbcfe165916b86f2adebe2a1950501e1f58babc39";
+  sha512.run = "d0e6ea08d7f8266de7b17dc5ac3290800ff39e1dd77708b3025034983347791ab2dd732e3586ed84e8a572429b92ebc312398587eb10b62ce99dab336c84b19b";
   hasRunfiles = true;
 };
 "csquotes" = {
   stripPrefix = 0;
-  sha512.run = "e303d9f0f3564e8e93c9fd84fbf9bd260ee6e4c9ac152a629db0c05d5ce5d4329f270505d93f2500a9f1dc557f5cbde077ad0fb29bdca642c768266fbb592d27";
-  sha512.doc = "e45d66b9106427e6f025a73c9befdcd706b1a548ca8e444edfebbb34d97383c2611cdf8a5ac3a1b012c95c207600d9f6c59aa14217a97bbc729067fc502f1d25";
+  sha512.run = "c3c8bb734145ab42ff388c08263af3b16e21dcb1995f05f91ea6fc6028d9c3c5f4c268aa9c2902e95dbe15e3bb5e01defe2d2360a8aedcf0c8ef5163ea400067";
+  sha512.doc = "0110c7d89008ff857076cc7a3c41870329d3421f10e6cd5d8ab0237562b01ddc238850e677cd0e4f3d1be4b4b3948c08f831807e37564c7075503969f993310c";
   hasRunfiles = true;
-  version = "5.2d";
+  version = "5.2e";
 };
 "csquotes-de" = {
   stripPrefix = 0;
-  sha512.run = "ddd91563217653865199be4ca23199f1350e65a060d4b59553799b912e3402cc784344ba15e7a0cba469f116bdcf53cb2b73678d5615e18112605df0229a1c2a";
-  sha512.doc = "fe0be620f485719cd0522ac52147a1e8ff382d6be42089bf36f1545743927bb4826bea67305a5dbd39c4c9676ba168a77884071c6e473476c8098bb9ea022c42";
+  sha512.run = "7d4667b77f1e27acb1d3c8becaad4889910edaab4b9da6b0fe821db262f3a31672050f5985a56533003178fbf1d579d170be3fcd22c31bbf41af9bcb68fb7c40";
+  sha512.doc = "1e8829faf2cb23b2e565a4b5daa5a09ef01d590d920444ee4659964bee042148ea19e9fbcb63e4c4ea1e2698697554e0bc532fa0fb7610bbf9bb4bca234d33d5";
   version = "1.01";
 };
 "css-colors" = {
   stripPrefix = 0;
-  sha512.run = "0f08d6b5c5c8ce9894869b0d0de1f8aa2cc54fc54122dd47e0f40f8504471e4b16d60a25ffc0dcd13fc49b39e59774c0c3e1f315190752c45fbb7a7456faf0d9";
-  sha512.doc = "fac801913bf12ddb569df8a5cf54dca87f0c75046cc5331c795832ec91982391f606000578a0af6b2c542e1a0e8b33a6f1f8f36ab9154150ccfe2aaeb9c198b7";
+  sha512.run = "b5e000180b583470bc6721601321f81a2f11e70388f05fd85a482b491e1d3ea536db0fbb96a6715fcca81e5bcbaf289af9540c82a2201befac1d2254fbc4cfb0";
+  sha512.doc = "d08c0212f4c36eb114b25128ac8516cb7181ac73a2ea61ee4ed1eafdfa7fed15a2b928d6d0f63bdbf2b4beb93a843fc8dd16b959297a4fccff89c428647f4ddd";
   hasRunfiles = true;
   version = "1.02";
 };
 "cstex" = {
   stripPrefix = 0;
-  sha512.run = "552d3e94c6597ed54479aa3771e00c7b5eea81106cdb47ede669036ac77f598c98d7299a68002fd94e7257d70f6e61c6967fa0ba05e4f7ef87cf89a16d21b7e2";
-  sha512.doc = "a2b87ef33cec9dadc1815da651f29cdd9ec9d5114c5ef19adbc87b54260e22a27edffcb37c0a972ccb8c6dcd9a840f749cbc40a22a858ea7a58da660e600b475";
+  sha512.run = "644dc718fe3f6a941304f8d2324db36954edee5c53d4af3ecb4d27088ca1ebaa667576414aedaebb07a17b499864ec0e48f7afca38d26a593d68e274936ac9e0";
+  sha512.doc = "4b041c36fdfde6f2eb5c05d0d130286d18fb22ebc92bb6f823edd5412f146f46eb89285e788291bf23496d679280e6057b929f499753edd39cd35e62395e486e";
 };
 "cstypo" = {
   stripPrefix = 0;
-  sha512.run = "53832f712de55b05e1f2a5af7ada9b7d64743e202581a166b49ca01b2f0152d4fa3f546fcc399f33d0e44eef0869a1095eceb27ed098352dd91e047b29ae032c";
-  sha512.doc = "4d5f05d51386e80cb5ec170b35cb28780d89f0daa0c16a0cf333b6dbdea4763f9b546a3ed228db1123d078430d5ae1d01b9c402c43ee22f49f05675c91c18211";
+  sha512.run = "ecc9054a0866e4926277bf5f52faf97b0b07f0ea660b7c4d089a552ab57d3a900cd1d688981770df9b3a4285c3d451fb23f1b69757381f3cbdf88cf0c88cf61c";
+  sha512.doc = "1ac42bcd1cadde9165f8edceadb438c4c2e91d6a89486e56e31623cf1ffdd5f38ec800d836dc90a5a6a0bc48dfac4a8ec90192319f8f046665c77e91fc51b91d";
   hasRunfiles = true;
   version = "0.03";
 };
+"csvmerge" = {
+  stripPrefix = 0;
+  sha512.run = "f3f679127d912a8df32893f0afec13b21a272b6e5ed2d2c147e1bcbea5698e043d88d5dcadc0c772f5640945fdbbf4ff43655d6d4450b48966740cd3cb936829";
+  sha512.doc = "b090bd51f547f16270534c2305ba68af9f86800f55809b050eea25d5566be3a3ce245ad0f79a76ed21ac64b68b6650800fba5a5ad942cc1f3f8e982f56ba5286";
+  sha512.source = "b189b456daf9a54cf8fa09706f93de7e8365d75b792336a8328414d589ffa178ff0c39c17064b532316fc778b73b000610b3f966f9eb0d8e526cf1fd5b4bdd58";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "csvsimple" = {
   stripPrefix = 0;
-  sha512.run = "ce957cc019cc1abd92769f178872dceffeb473d936763391a3891e1d8d6fd2dc6206fad8437c25485f0b9818b9786f9d651c975a15c4503f67e5952270c76b11";
-  sha512.doc = "836904921bf4a851be3bbe10c38e85f11c65998524fd1e7749240d0db4d8a05bd349466fc511d7216a96c9a5c6fd22583b7f05b472230c9365842103eff1c33b";
+  sha512.run = "c071fb93d269e27c7059919213a858d82bb5fc381d8a9a0faf82ad0b05eaac808dbfc19c30c8530a98582f3179a01774de78b0f290a15d4ef79e06eef0a9aba8";
+  sha512.doc = "da691d9d44e1624ccab48e5979ae9ecb8697387a19280602c28467c8f2aefbafc494067217836a09a6ba1a653c8fd3a7903e3607ca56922ebf47870bea49c583";
   hasRunfiles = true;
-  version = "1.20";
+  version = "1.21";
 };
 "ctable" = {
   stripPrefix = 0;
-  sha512.run = "68d546dc4110f9cf1ab53f698129b68bd0476094c785e1dcb6d5b442e47f87f0678c4fb678fe71f1fd8dcfa6814929be9cefb242a4c15e842c40450680e87d32";
-  sha512.doc = "f72c1c085c7860e1b45d489d977ae0663566840abc08b3370b75877d9dcd8f8a8fd2731074631fee8a77f6202f422fded6814254c636418f6f7724c80fbd6b51";
-  sha512.source = "8b77af670e6c694a57b98ef518b3c6d9747a85e56884f2f4386120a704745b965b8fdd2c62ddaf5e9f846056010533f743e2fb61104cbad99698c64b097f885e";
+  sha512.run = "3192df463eb4d307ba886b82d586580a741da8d901dc560c06d293e04c5d5af9efff56a1482bc41b03aeaade2cc25cdf6f4dda3e1baa26da1f7d4d138f44bebc";
+  sha512.doc = "a32bc9c82a87f1f9327d5cbf4c15052124608f970ecda1909aa67abcc2fb4f10bdfcbb5568d8af9332687817f6f5bd6aaa0ce4843490e8ffac22526bbe123fdd";
+  sha512.source = "9886347fdf0a1a7105ab33bba00877ce22df66b1d82a60b8818af063da371d8c0c6d8f60252342dfe44bbaa65ba9a93ac8f972c64439bea7296b9e98e1be4b41";
   hasRunfiles = true;
   version = "1.31";
 };
 "ctablestack" = {
   stripPrefix = 0;
-  sha512.run = "dfb5fd4e62c04311bf41c17d06395f5693c0232840bead53a41cf0898ba2704da68d6caf4cbe796fb728f189a57072f36433a51edc0fd9d1013a70f4906797ae";
-  sha512.doc = "d27e0392ffb1a4daf718ec780540d22b7f3ed3dc6e488f37583ef9fc06697309f7abd93e55832c50cc50e87a950dcc9cd602e0270d4b9fde9db6cbed59cf131c";
-  sha512.source = "083b381a0dc2b83dff0e71f475fa35dd60e9e62106a75c3537381e6b25c41155cdabfd6f5a07da1ad9d58f34d33052f24e212421b11e377c309c261454072e7b";
+  sha512.run = "3485fbd1bebf80814645c1be3e7358a959637439fa17cbbf7c2478ca73c4312cab82eed2aedb5403dfe94b0cfc09ee3e9c8182c08d3708608a267da235ab30a0";
+  sha512.doc = "2c74b9d2aa44b25952307e4593b4a792cb5d98b78619efef82ddfb134ee3da64de87973db30f3e5d5788ce5e6ef138fca2cabc4ed412c97cfa7b3dc6c3ed1060";
+  sha512.source = "c39356d4d78cc8121b20e572fe59879541ab533ceab64e68f17a346723aad4f73103df79b1711feb12337e5e2dcb56222b00a9b36ddcbc04fb5e946831340d6d";
   hasRunfiles = true;
   version = "1.0";
 };
 "ctan-o-mat" = {
-  sha512.run = "523d9ed02465ad0e6d0a3dd08c2b12369b37cab406182cd8ec6da1ccc0fc588c0642661135f34fc82844ae9310bfca6e6be4ab9e7aa22dfeb44937b02cbd5ca9";
-  sha512.doc = "75f5fabc5c932d9de95512e096018ed84ffe5ce5374d7e413d30248a740c09ce0d53057538b5b52c48c941c2f96ccf74900f85330ca9c4cea84552e48544b56d";
+  sha512.run = "a995dfc6d79ba77fe673aa501f28eaf9f057c34501fa032423569317e5a4eed048c3375d806eafacedefec02e91bcb587fa6bfb8c0ff980395bb877b2ce88c4c";
+  sha512.doc = "423efc3f2f850c5a9bcbe787edb8155ef76e56ce5e3a1ba3332bb465b8239616bd1fcff2e8a58db6f5ce9d5191ae3209a5451f746250a3b081fe9b35d024eebd";
   hasRunfiles = true;
   version = "1.2";
 };
 "ctan_chk" = {
   stripPrefix = 0;
-  sha512.run = "1e0b0ba38e401b786df8363e43571d4cf2383e3dbae2bbedb9085cb25c0d243743eb552086962711708d0632089556fa3327a3a32713073d088b5b3550bce112";
-  sha512.doc = "8c057c6486a2be21303aeb20a3640abe40eab2cc1826ef07a74ff838a98f7ae344aebebd013d1c4e3c773566f49f5b497fb1c51091ce39c6d96a5fc5fa42b708";
+  sha512.run = "6eabd7281d79ff0ad19080350dfcca8ee3a33ddfa6d17827a7851cc53f09f627729c8d715a1dfe50e0c079add44331a07d543cb8b6a57000efa6d73c30f2ffe0";
+  sha512.doc = "c61bc0d70cadcc4382dae55cdc1af076882801321a2de16f164223267732e476e41f949f566808c928f446d69aa22bd9965adb155c97905e32b93808810c76c0";
   version = "1.0";
 };
 "ctanbib" = {
-  sha512.run = "55bf990800244a2079140116bc6419571924136fd961b12fc0a38afbb7f824ac2f7310709365ad3550b485ad6d9c1316868e11da168c42c005b33a9e5c1d66aa";
-  sha512.doc = "5a46317043f84ef542cc3436a593b96306d08c5acd1a76d58a14cfc6706da4f759c39657c50bb2255445c6a0640415cd190f52eb3487d48ffb970fc4c375fdfc";
+  sha512.run = "af03e3079304d24b7cf996158ce7344a15aa2f17efc46378132bedc5e9bb4488f89210c24a8a5ef0c21a293600589aef78b7a8c7a7673ad09ceab2077b0a351d";
+  sha512.doc = "1a971e49827476b5ae419189f7acff4c17ab41159d60c5627663d435368b28aa7dc4aeeb5fcc2c4a9f34f648ac9f2de229b250660333ca2f32bfd0808f24e732";
   hasRunfiles = true;
-  version = "0.1a";
+  version = "0.1d";
 };
 "ctanify" = {
-  sha512.run = "230dcd3c26b6954fae10baf251ba3ead846ae30a48128ba85bc7271c2390803d51c5b483d87066095932bbc047dc0ce634d550a7edfffd87f910e71dae243048";
-  sha512.doc = "424519cce6baa1a25158a833bcf0a4364faafeb1d7ff359c1a4bad62900d81bca7502da0535bf8251ac91afe4bfe4e70433bec2fb9fe010e6667fe2f2198cd22";
+  sha512.run = "6774b151bb0fb052d41d8447c7e8d378d7f31b0a5aea5f2f00b93669b8c2f629f479ae21d40480fd62f468d866cbe0c6f0dedd8a0248f8d83cd1039131849439";
+  sha512.doc = "f9b636cb41b126809d808c167410a37052b1c6c385fe4eb8df3b819c0cf2cac2c7c1c74d7ea15d2916c1cbc563e078845e451000e3a08cd9a8e0696a342b22ac";
   hasRunfiles = true;
   version = "1.9.1";
 };
 "ctanupload" = {
-  sha512.run = "e13e3ac1d9c2bb6fdb28396c466ccbd81547742d17d2ab328edb471cffeeba20b245cafa020f68e71b9e7052cd4c2fbbdf3f7c4bc97b96400d6ca667975ba08b";
-  sha512.doc = "e816b2f6d19165f46f0445e88ad4076a1956f23391ec0e24091e99e42ea579c9811b16bb93584d76839962fb24b70ec91f521531bf48fe156b57358f75f68f05";
+  sha512.run = "4464bdfbf72318b24abcd88e1c25dae5925a96e867c694f3f02a594ed7b8b24cffdcdb345f0054e200a6af63f88b591ff84058af0adfb4a1b3feff2a057d9d72";
+  sha512.doc = "9e027f7ce08041be7668a7a404fad6b6c7cfc71e581ad1216956d0b53c379d204bd84d2d55d186c74f784df8911770b96f934775f44f7141a5f1b9b5e773cb7a";
   hasRunfiles = true;
   version = "1.2c";
 };
 "ctex" = {
   stripPrefix = 0;
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "f43172725420d70bfe4fe755a804e5e6a7c24a0e93ca9d279c7652d30b45b0119b90aab8bd4d36cd951c7931d43b1c5eb931c54e9f0313fd5d2d76e6a3fae943";
-  sha512.doc = "0ab5ab1050b0f35884d344fffd7f141222a2fd3d280ac5f364b5cd9f25dc1c9486d2aa46236436d4987f862e62046283d9c28340968f08b0fe856e6b46199685";
-  sha512.source = "19ada9191335508317642b810be88b9b7d10e9e7c7688c35893e8e60bd6641b08972d0dd6a1e9aecdb5fa972f83efbd44b042103573040e7546724b72bdc42f2";
+  sha512.run = "af7b2de3742d21021a71eb7659a04f78d8f69cd41a0ee66d2bffd61413d1abf5a9bc1bddcfea667f3bb0cce64de2d69433c845a8f0443c0df92a0a3131c7336c";
+  sha512.doc = "e899f98031757f690cadb37c457b1acc1f0287df5ba5c90417c6175ff6bb0f9b411356272f33552f47999f5c1869cdd9a6a122b340448077b7a1ce68e110c831";
+  sha512.source = "c1a9f995510318bb0fc71936c39958e65b696fae31fb218b6b9e39b875eed8054868886e1d0125949a654e233a77d21d3e1ed41b533687332e66865eac5fe55a";
   hasRunfiles = true;
-  version = "2.4.14";
+  version = "2.4.16";
 };
 "ctex-faq" = {
   stripPrefix = 0;
-  sha512.run = "d2188e89e483e8f635b0816dcf58710a5b68cdd443fe1f95c393d0a0916fc57dd3e18d546b72b89e238206da4e6bb23e02326bd4a3b4d7323b205a266bc26e34";
-  sha512.doc = "5efd1283b708acf4a96cd9862cf8864f7b52b2834dc631b0a5280013dceef5f53e37c89684497c0991e82792e4382366ba11b9f2748d38652731af3d8fb7d17f";
+  sha512.run = "39ff8931e0007a78e4fa0788d7c7fcd8f25dd4cf4fa3f34b694e681e10dfb3d804842daf45a6e56b5ff450bb965bc322dcf593bdce176ffec27f4696c1c99fc0";
+  sha512.doc = "0942a249a30f97d56bf5cbac2eb4de285a63406620b825a36d9ff8d46fbccd614af488f89e2af7472f1a9075a0e2b7228bb65a5804451df6945ce6bf4287b0a2";
 };
 "ctib" = {
   stripPrefix = 0;
-  sha512.run = "d8730c9dd420f6d872e900c479b47c3f6f417741fd75b4db6446d47518d340a0b1025c337ad1181bad9f5922b959becdce0ab5d7f0309f84d7416681a96f0367";
-  sha512.doc = "bd3e34c536669045f2ba580e07cde4973a7f1b12527948300965b22edb09857c122c4df62aadf2e2df45ce4232307abebd8116049948bc5823b4c498fcd16f8c";
-  sha512.source = "ab66b3585531627595f1ab3930180391bb94acc0581ca702f88bf64969a434648e3410d67098fbf2582e5440785fd545231bdb452af24d49c820c57c7ae4211f";
+  sha512.run = "8999ea42b82e56cbb06e2485060b829a0781550834ea421607b4621199692976488f4031266eee1a6b1443b12828e2fb5148ff43eff137c01ee9db8770bb1565";
+  sha512.doc = "65d8f613ddb651cef4c345791a4a849e3f672930fb94d1ba789e827b466c459bc321762c71675cb4c5fdec8fc456520bb7013d5b737b4ff2bd049bb5917a98ef";
+  sha512.source = "b387b2cc636f98bf7bf43fc3be04cbb62dfd6597c419b7791605011f59981cd9e90737f9d2f0f668f63bf9abff854219a75a7527d881c991190188f307f3642d";
   hasRunfiles = true;
 };
 "ctie" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "4688a2328dadfda291d10d42c15f18927a77e9ce7e87a825b697447e889b0ec93d13ddb911a174e74356e3c8378ae26b34d3976f7b8f75b1d2478e9cfd9ad8e9";
-  sha512.doc = "41f7f3344a307bb72c61c88d4660c2037dcc0b4723a5c7a23fa2858e01cf0cd53f65ce76f16a21a871303f918dc4488c777d7129d892fa11c96186b88b484e59";
+  sha512.run = "05fd794d4437c662b77b0662dd0c9169aef35a10140abad2519702577c087177d0a02ee5b6163873fe5b3c83c3f77c342c4774af168ebca2ed875717c7d0c5b0";
+  sha512.doc = "83bb53248ce262bc8310faa8c0e057dac72c7c682e295fb9888acff237249a66a69d66b99d79033f5a1d8611ef582dd2121f8c28be9800ebcce775bf3adecf63";
   version = "1.1";
 };
 "cuisine" = {
   stripPrefix = 0;
-  sha512.run = "8ea7a566630cb127ac23e7b492561bd7db08187020246a9860e5648c84621d7bbf3ecef93f45012ce21bae4b9fb60a57455910806687e2726293e6e43383f1c2";
-  sha512.doc = "92b3c57c14eca023a1383b5e18e578192361334cd0287087341be8fe06f5ba86e14bab96092d0949bdbf2c045eba87b4530928540df4c9544ef61b347cb5e52e";
-  sha512.source = "8d771982b36ff28d6f4a8b3580bb7424c10f6d29f8ce5623df9ea19550c45879c45075b9c4e1555d5d78696d3f7e84d617572127dbff1853552775110f5b6ee5";
+  sha512.run = "cb594c2ef79a1d1614ad2b7bedff3b5bd9853bf36947751c880c36c73a458152eb7036861d0292614992623192841c28a3f4010bc0c4107fd8a4277154a1baf5";
+  sha512.doc = "9e4f55bf8199b4bd06847dd39e67e91a8a6885b3903c9ea772199d9b9fd9d7cade173dff6f785d143b4e7c3b154477622a4c2cad14576b22068a6729693a8227";
+  sha512.source = "1df5e248af42513b212d4c18cd95c8c9f2155598604624cf3b5e5e5b020643bdbb9c3addf03d8ff111c14185234d42f0db8a06a9de040fa0b58cec3895f32731";
   hasRunfiles = true;
   version = "0.7";
 };
 "cuprum" = {
   stripPrefix = 0;
-  sha512.run = "d553af47cccc5737b0f0146e650601167ca5688cf9d92dbc02e1df5aa3abe9cc9139e396efb92274e627bd5cb08ec1ea6072c7b3987b07fcc1f10ea7a34fe4ff";
-  sha512.doc = "5f7a1dc0dccbc6f1d013e629c2f9de4417f2e7558d8cc94cb78a80915b033c0452c9dbfdc1d427aafc3701211ae96d6c6938278376e6b5b898982b3c2886fe95";
+  sha512.run = "578ce2e5af01e81ba80c0cfcc0225985722c1515e8f98460a1cb5d71d8ee4630d400f28dee04bb505c429b13f5cb604364d26503af0b5d9bf98164b218b09413";
+  sha512.doc = "b9a9bda8eab6087a134b3b0660282998c7c3fa7fda8890e61ba107b9f7576d85ca01b59664c1c198679151e01cef6ebce5b8de29644a2e249a6ca2100f526fe2";
   hasRunfiles = true;
 };
 "currency" = {
   stripPrefix = 0;
-  sha512.run = "5c0e3c639ba5e00f6d84b9f91ddd047c15d779d27ade61f2670acebd71334b141bdf887cadc5da07d7f5da5118cdcfb1330a317aa4ee2f877e0b6455c067debb";
-  sha512.doc = "fcb7434e443e9473c69f78944db49633b86026b91fcc62857077fafb6407ccf02c5ccbbde9bf73af2d09729510feba383056d3741ee4d8bbd42f0571aff1ce12";
-  sha512.source = "b3294ec4bfc28c693e66e8365d3403ca9364364c3fd2817378f6d46aab0771d063823b0714d9594aa5b68177af9f56d458d905b848f396ac5462a2510d0f2835";
+  sha512.run = "d975cbe846ad5708a3558252094f4568c3ea4c5bc840dea7ade74eb8f6d90f4527b417a875a7bc286010473078d895cf510560f1287013e70498c983c896750b";
+  sha512.doc = "1f32fed0bf778b3460e094239afd76b4be9915be8a3e8ea20b7e48b02f1ffdcffdd1e588a507b8145ed232a38cee43db1bac0e232c472d5b5dd85f1cf3954c8c";
+  sha512.source = "c7a99bf685283b415c7cf71a6700bcf2928d2342f5db8a3b78e96148fc01ad028b0921a7c048f345dd5d5fbcb3f47618390fd580b02fb4ab1594e7bf5def9904";
   hasRunfiles = true;
   version = "0.4";
 };
 "currfile" = {
   stripPrefix = 0;
-  sha512.run = "7903adb1697ead3a125f89e3dbf1e47880bcc2a7b93c8535d3b5775e9991ca948dee0f7d89db5183dff2b530f698ee9819997408634c9aa02e5664d393ccfa2f";
-  sha512.doc = "85cb2be7beb669a0af3e42e156aa2fb478cd509bd1e7575d6fc14a612e08b4320f470eb3d389192d1e5ef079b66be37bea01c7894a3862e13884eaac8d2aa988";
-  sha512.source = "813dd79d01c0d8e8c508fa6b96cbc6a473ccd0437f8fdc207b5b3e42ce6fd5431f7eec7e101f46313defeea18117f5d15e715e7f8a0017e6f93110731f45e49f";
+  sha512.run = "5e67b659df7048a2f3e0d99f7e7da753fcabc4cc94d284d88b6b6922dffe2823eff3c07e96d0d4689d2c430a1cd66ef4693d0ceb344609c6aeeb919aa378a297";
+  sha512.doc = "d45abaaab826dd9dc8a7d5cccdeece29b26d8f56c0c74c2047f5ae7d43ffc3c0596f009536fca744fa9bede2e8d87a13b68b8ebf4a0ced31afc6bbab5b76ad72";
+  sha512.source = "0374496112e380b2c8cce8b00e3dd97d992dbe194f660118c3441fd9b0ba536f476b5e330bd363a624f71d5b3004f50d2ee315534929093ebf9f63f47e91c1fc";
   hasRunfiles = true;
   version = "0.7c";
 };
 "currvita" = {
   stripPrefix = 0;
-  sha512.run = "8fe111e7013ecb0884f0b22451b44257633b1db37cd924817172f26fc28557854e6c544138b9dff7884e26c435f927360ab9529aef92871178d85e7941c51add";
-  sha512.doc = "ae12a321ac07888d2a52fb6bf69c7693fb39fe62c8b385852e9adabe1204e1c132229cd66e169c61d933b5816cb354a2ae16b0da4afe93e35e8aece37b87ba46";
-  sha512.source = "649379fc1650020408189dcd2478e1f5191e67003d7cf7cb090cc5ccefd2b70e61988b8973ade6b9797ceaa55fbe3fa7ce49100fd09d5025db8e88d0e11e6a42";
+  sha512.run = "c555b0e9c7a500e086f0435a2dc6cde8da8b02df4d27be14534d28c77c1f546aafecb863bc652922e07191d0441a77db647f8d1d11e33ec9bc6014f73a5822c2";
+  sha512.doc = "b3de1ad371cead2829225015d60a4defe604e63890ef06da65fa9223cce4e748707f0b6f4f0b0dcdf22c3096e381adc3432a7b21b36f834c18ae4eb32bfba024";
+  sha512.source = "a1dc7d983ac6badf9ced1492c712373205d5b0a91934f0a76eb1ac546470292e6c9dda4cd5f5d721e06c90d6237eb39236f1417d1c6992a774f7a9f7df9213bb";
   hasRunfiles = true;
 };
 "cursolatex" = {
   stripPrefix = 0;
-  sha512.run = "e7224fab9725b7f331aacca1057314342b517ea8940b17279d07115b5c70f7f04945aa88a4a242cf77edd4bb6699ad9f3ae07eb6b5bf03ea9d8f4e843c0f1448";
-  sha512.doc = "cc2310c92b7879f0bd4e4ed995a891ba4ca5da1b13e47e2f1f9b0ca847f7c054a08cc06a39f8da19640ec04a479e65b6328291ae1f3c2d2d9d49f04851b7c030";
+  sha512.run = "6c58f5a0f6fb8f129e202b786c258ba088efa44639f162b9e0109182072c16bfc6ba928953d6e9b31b2b1c2f693fe064476095c232dcb9e0c6bfcf18bfb7994e";
+  sha512.doc = "a0f726330a5b2d8da94cbf25fb1b1a2b22e5e9010e0cafdfdee3781bf518f0cb48adb27dce0fe2e46572460f8c1749c0db1c16e06343cabb8cb94227e3da58b6";
 };
 "curve" = {
   stripPrefix = 0;
-  sha512.run = "cdbe36f957539445d400f5e7823405a93e863622a035a64eacca045bdcef864de5115fbf55bbc6e181537043e07ddb50e9f45a7f3e4eee091189d8b7e72ee5b5";
-  sha512.doc = "58c245ef4b78e7e3acd848ac945f7587e74c3a64505475fe5e8c4f8da15ef84ab34f6853467f6651d83c014c2e180229ac3383c444372506ce87e0393b84b887";
-  sha512.source = "6a351067a0e9a99534dc8eaf2ef1eaf7565b9b484adc2edc9126243afbbafd1110460437479dc9e5ea3fad9ac709160fa3f1dd503a4792f377222e36c3457c0c";
+  sha512.run = "9d318d35ef04d171da1c36ab4646465d4aa0feebd90fd3e97db5f1cf09c28c174d0c3be288c369215812f51ca83b341abbfdf3fa44458d1994cf68dfaeef0615";
+  sha512.doc = "7a56d7c3bd8b9b13ee675b99a2f5a8a27fb3dfd81dc5225f3a880f338d5390c893ca887cbbcd9ad8deae2a1d6b6620ef664ea64384f93fd93a75a5c886641a2d";
+  sha512.source = "8e5026da24dddda0f266b8431fb28c27037ad920e37010fd97fdbfb5dae8024cb687b681356a6e27244dd4812bbd043e12c91508978dbe796a119e3e8633566e";
   hasRunfiles = true;
   version = "1.16";
 };
 "curve2e" = {
   stripPrefix = 0;
-  sha512.run = "29cb2cbdfd79e985dd4b7c46328c46c3ed7d42a9806e23ce947cfa3751e9e294a19e8868ffa5a7daebff53d386e366d7eed0f1253ef677113e248f7a32ed0277";
-  sha512.doc = "2fcee0b42fd5c602dc2b2e26923fd562b620455bbad7e5686cbdaf0c6c5ac52d4551d045d5b6d5f2720d2a95cb97461b9d277fe1f111a35181a5fa5e3a87e55e";
-  sha512.source = "f154da281e1c2504d79bc6329cf3859ad886743bde1674fd26ccfe0b099588d2fcb71874912a9ac32baf7a60b1804f9738c2a58467a035b2500748cf9ddf0589";
+  sha512.run = "3a3338e1fc29c7526291a5f6814ed8ba5bda7f96162bd96945cbb8e81c60a51071c178a7a0158f12cab162fcce37bbd9abc33cb2bd9b1a4ba64996b085800505";
+  sha512.doc = "677ec58576b1c5559127b3effd921461eef24be62053d4f74f2f86950a9f7ead20686ff1e15157c989d84df3eca138855c4cef91bd0f592641503068c1de458e";
+  sha512.source = "854aa083e353e53407fd456bcf5175a3ef691035a5c47e3704becaa839b7a13576d1b5cb59157111e26bf6dfb6f5c730c82a6a45be73d77a2656bf32e31649bc";
   hasRunfiles = true;
-  version = "1.61";
+  version = "2.0.1";
 };
 "curves" = {
   stripPrefix = 0;
-  sha512.run = "6383e102e3af8651207023c34ae0c56c92eab0d5ad8accf08892f277f916c88f9a193f624dc952d98b8958d887ca55816210362eea95dc70c707a7d6d1cc002a";
-  sha512.doc = "425049bb81ce1c06d6ac9a45f7665048e9e96de05378375675d8df95fc4e4c3dfacf668acf2d612237cb5ef41dc11b205dd025fccdbf434be0793d41ecbfe141";
-  sha512.source = "6804112c6c6314e8630fba7bc9d3b15a0853548eff5a11ae29cf8814db507e12c50469efeb9f98ddd2e465fe7b306a887e46d804ce665977ee0fb464dc4a88a7";
+  sha512.run = "b2ac96620bdcae2263e0ff37ef0975fc705efd2ec30fa53a5cc50d54378cb29c6ef44543cc321e6cb37dfca0ea9a6cdf85777825703b866bcbad9729235c9722";
+  sha512.doc = "afd68373952dbf2a97944bcd7b36dcb62d5b65727c660af56dd8da97137ef4845037988e211996289fb54efa435833fa4a503ae4bba70ab38cd6e55f1966db1e";
+  sha512.source = "cdef0242776f9976f72d953ac743a4771ac5d5aaaabf6988ef37d695c78e206f43d546bf21621c5a9f91e191c95c02ecbe9fc9d7e3f1eb23372a755856d61d2b";
   hasRunfiles = true;
   version = "1.55";
 };
 "custom-bib" = {
   stripPrefix = 0;
-  sha512.run = "a4fc934668c7d5a0172756f87caf2c9ed6a86e5378887b87fcdf19e05fce49a139b4f199d5a78c8cf738a36d08408a267160f12d14e335d8b10c5549e7e542da";
-  sha512.doc = "49fb5ad74cb3cc29e57bf01c5da76389e7b8081c53ec680b0dd8b9ffa4baac06de1624ec77dd252980543eb2a7fb8e41d764e2531383d15e6f801b6fbf12d0aa";
-  sha512.source = "c3d28480cfb8c66420cb000a4586801c8189cc160e2a74ffd67e587517488a1dbbaf983835b4101ce6a31defd4f930610ba585e38ea78c63fce8c12a6c2ee07a";
+  sha512.run = "95b485e330c97242bbea4b989ea9e70882d796f7ff8fdbb10b0627d102ef6177c8cdfca976a89853170a9171a69499c58711d1deeb0e420f9cb268e336d4f663";
+  sha512.doc = "3d5fe696f095ef5661418e3066f2f98768968eddbeb24ce9ec84647b78452f97482ae1dd17cd9c84cfb81fc4a43052b05ef6aa4080e32a464d2ba4e8ce33869b";
+  sha512.source = "e17d437ae7fb0c1328c2fa333f1f7d286a517bb536f7cf2d66ced327d1ddc78b97791852cac8fc9de4994b41f1433da17fa1e41838ddf90f1fe387eaa9e477c6";
   hasRunfiles = true;
   version = "4.33";
 };
 "cutwin" = {
   stripPrefix = 0;
-  sha512.run = "44091fd98c50809b63a0389affd03e3d270dc8345710f1def9d4430e19fb89289770d0f40ccc774e0226a9e9b5406e5fc3e1912ac82bb9ad29b1ed0e64f3c6d9";
-  sha512.doc = "c991c37f50b9180820024d3c8cf8c72af2eaada5b3a08605635f6f11cd104b1a17b3f3cee76c89801f9e1af1f84473e14c5c50cfd368edaf90c10d203a82f5b2";
-  sha512.source = "d60e3bc71d66065cb1bd0fb356b849a78bcf7bd5e10c0c4c1d27341bbf6ec69626a702bb314dae4096d1a168a9850b8d0c204be975a52299f861ffecf9ba28b9";
+  sha512.run = "484c995cd3b18f723899fc04e3af7b49bc7ac90a02448c4b49643b8ebe09c445bab122bc2ca0f2cab872323438fb02af3e5a053977ae8ff6146cb4af96f08ba1";
+  sha512.doc = "89b4fb68d949b86eb3b5d90f7d8c828e10df591cf734f5e6908a221aa9e2d50820841e6095dc912619d4461c37b735907504e63fffbfd95c3371602144f87429";
+  sha512.source = "0e6fbb5bdf3cc9b1d270979f379e2f50b356353533278495526275bab3211b1e6ef670a5269e412ae87c3fe4ca0ee8411dadfb42e4e2cce6dc200c863532b997";
   hasRunfiles = true;
   version = "0.1";
 };
 "cv" = {
   stripPrefix = 0;
-  sha512.run = "8d4845e0ac5ae7b8c72cd83e46cb041763585d0d844e7dc920ca24bc31a4cca9e16af01e85ecc3aa0c89a467d18f05ef900f1a8ee710c8d12b19263503c8592e";
-  sha512.doc = "5431df2e85f4c89f33946ecef9712362f3207bfccd857b884b95d669a630b0675ecda08a0ecafe27620260590a092d67af4b44603a7c0f4426a73b9f8e754404";
+  sha512.run = "624d9bd1578e0d2e40e2ca76cd97d7f44d9da5c71daf737e06e6b6b15c64911af17f0da197afa17b5ff3b145461cf7efb058a5cbcd02e7c21642e660cfa3ca4d";
+  sha512.doc = "c04b207a635f1b6f76e316284da987b45fd4387961c59b7b1f1b947284937f91f4d95ade824195d1f0db00766fec870e6859a6dd27cf3b6b426d095866f17d6a";
   hasRunfiles = true;
 };
 "cv4tw" = {
   stripPrefix = 0;
-  sha512.run = "508e837ae533aa63d84f0be128a65351a261694480a159c318db8a5fa8bed33f4d7ceb770b10ef70d3aa0fddd326166d12177717085fa5bf2035ba2926686089";
-  sha512.doc = "46021029f976c9ad66eac16c33880af2d81b0d17edfd115294efab3ff273df4e9764915c5dc29f0919ac3a0f153ca04cf9f3bc0aaabfe7675260402ab95eeeb9";
+  sha512.run = "607745abedd1325c59bc8ae360a1c5d00834ec7bd050b057ba5427c135f17046027da3fb6130a0718e8d33bcab74eaf235f2de7a1ace483da1af87be5e559867";
+  sha512.doc = "d9166421ab15d7569a4db66970486c78af43ddbda9d7f9c9488dbc46eed91ab5079c0f9b7851835afeed6045ee4c65c888e1be93a95cda14623405847267880b";
   hasRunfiles = true;
   version = "0.2";
 };
 "cweb" = {
-  sha512.run = "0b35c1c89eefee345954390e23cbabd01e9ce7fdc823fd7da6d8567a929179a29d3428f2051f7d367df07f978796cd6344b79bd815ffa7453040e98869292104";
-  sha512.doc = "0fee41e1ab3aabf4fafd84d0138b12497455066d9ae5a9cfea7880744abb16181e9d8e8c1b584326617cd239738ecdb0b033f791d8ae2ea8866c3bd54bbcc749";
+  sha512.run = "274b81a9a12de63e62c72878971c517427fe3dbd9a5ab10d89676326ecf23caefaa961504cb0e9a609224c519a3a6983346212fa67e759dbbf18c2c74de4c61e";
+  sha512.doc = "1acb8eb3dfa5d563369baccf3615c06c61f03ae70e18988fe4d4637bc97290f04288a9d15c548d48c65aba0dd3b0b23faa9c1a7f7aa093ed37035fab569c8d4f";
   hasRunfiles = true;
   version = "3.64b";
 };
 "cweb-latex" = {
   stripPrefix = 0;
-  sha512.run = "107d772799ca21900880b23f0f61c07165c0b3bc87be03403836ea8813a18734dc4c6015886bb70d63576176fba61ba9bfe11855865e8f5f2e347e8cc635e663";
-  sha512.doc = "7b2d93821a99b39cd43ae02f27c97b7f4ea02316376739955ae25da1b57c097d7170e828040feb01784003ef99e81215e5faeaed14ee72db16cfcd010c7a5ba6";
+  sha512.run = "5d94dd53bf3212967ae38c094115c4ae581ec15a49e3d0f64be311cd1aa190eb9efdfec2cd83bbc3bd89250efef9470a6a6af342247fb9670992546a976a5886";
+  sha512.doc = "16c8cd2681e216084564cec718401b9e8d98228e6597d38c42f8ef4cc4775e8e606fa11c84d21f0450d85ee18c7ed1e5fd9e1f54bcd0e8c2927b1147ecd4591b";
   hasRunfiles = true;
 };
 "cweb-old" = {
   stripPrefix = 0;
-  sha512.run = "6441c3755c3c2c55bb34dc18462d46be0740919d814f1aa38ef314a0a6778fe9015211c36b645fb56549d39963193e02695948ec1608654ac42c847244737912";
+  sha512.run = "efb1c9b65f7c628905d2dac1373da96346b6b6c78f15e8c0c8055e86c1a52b09bdb5f78fb06106e350d10a8daa378eb45f5fe788c6c3d8b23f0b47c3db6f256a";
   hasRunfiles = true;
 };
 "cyber" = {
   stripPrefix = 0;
-  sha512.run = "83435c0ea24caafa9f72d6a6c33486d62b7da06b61bab5ce4e5a0ef5fb665cccc30f19fd59819fe5b393ba479ab9484b73db3659b1bf6b09a9cad102e5cd07c1";
-  sha512.doc = "a87b87ae6a7e58ed7f8043f856a0da5fa6261d17657955edce3ab18d4497295d0b7ba8612060527fc94eb9198221bed72792fbded1c3e95e64eeecc0432de230";
-  sha512.source = "f59893865ba9738cc8e343a1893dbbd224b6dafaf45d7e22612a9913e0cf0359a8f014335291bf12a2ebd5d7d763b96e1bf57b5c9b45fe4d5bc5b77df87ee8f8";
+  sha512.run = "f79e9ce92036c8a106de0a5da06f5c2b833683527f1225f5b69298b6d886cb967f9d1eb459b7a0543d89b0943a8425dc802619fadb9d69aa4f57a5ccc71a593b";
+  sha512.doc = "4dfc2289e92552dde5cd1703e5644e6a19f4281dd16cb80d86caa35cfbc07eaf0f5cd57686e185adafce3883433fc87b1fcb590cd65087571115dd4b98023d02";
+  sha512.source = "cf9beb92528c860a3ec39041c0436d40d113bb0cfaf89ae9c5b76dd44ca18b846b14739c1a2b447ea1ff84042dbecd48ac2cc118615ebd30013da305e822c81d";
   hasRunfiles = true;
   version = "2.2";
 };
 "cybercic" = {
   stripPrefix = 0;
-  sha512.run = "ca5ce46f5921e8032a3c142e56db6b7f9ba26d7679f5333e8bc713d2b3d03ef9a79ab980fa1726e56a7a51d92e7e6654df0decf34f8196ba1ebb1071ce22f00e";
-  sha512.doc = "0c694194de516e11e50c20ad4c346de75e8cf996e42180aeabad225714dfe537ebd004e9726e56a5191a43cc93f3480fa1ccfc3882854ff7927cb36eac51628e";
-  sha512.source = "63a5780dbd05c0d6723b550591e41bf5cafec4b2474435e8ceebaf666610d8363e6beea6e02ce9bbe4c70ec5f3766d2309d7f99b53fd8e07edcb236891f416b9";
+  sha512.run = "f3bfbece973cb3b9a3077c160b0212561056cbf7733e1c011b39fa1dbf94395937f4858964acd0874f1cd3ba283df9797cdf19e8e71e7363a7619c5ae653881c";
+  sha512.doc = "dc72453f55c6a72913865f584b026baf287a35885548ee5c2c8d29cefd60595f4aa9f7c456f59ebf3ed3e3b72711beaf90cf85f24c2ce6773146fd2a4724767f";
+  sha512.source = "55223353fadf2986f777b4a61b2f34662f493d2c70e29cba8712625c16dfa49ba50644d406f49a908afb0e4b6816666c1cf5f060685d5428eb2787b6b4ef233b";
   hasRunfiles = true;
   version = "2.1";
 };
 "cyklop" = {
   stripPrefix = 0;
-  sha512.run = "706c1fe6411a4cb44e20d2a03f19cf3e8964e8a58ee8a33ae544ee9582fc29a4a492a79b33933f75ea83ea699b6c4a7498be572079d912882f5af89062ab7d4c";
-  sha512.doc = "6922d69489f8c7bb7f022746a128a9b54527b38bb9cc70797752bcc68295d060e7612f2ae66fea375deaedeeee4fef394ca9b53a78670a3c857a8137305e8758";
+  sha512.run = "dd6584831fae3eb388f66e42f289f9bdeff401412c7df471752c4aa56bc67c16c56f6f271d11c289a1389faae138ac15abc41bb716bf344bc2f49fa087ecd380";
+  sha512.doc = "4d81a01eea30a4f86b2f0a7c9c21923196dbd28c7d5ba5c1639068318ef227720550b3052cf0ead6f3194450d50dce9acaa325a0dace0e6fd230e0ed11d9b106";
   hasRunfiles = true;
   version = "0.915";
 };
 "cyrillic" = {
   stripPrefix = 0;
   deps."cyrillic-bin" = tl."cyrillic-bin";
-  sha512.run = "94e0619912878579b58758cb5b5f53d3c08b562c9146bc298a1f130910c78ce3b2eed1558a146340b221289751955e62e8ad5760cc57aea20aecced10c60310b";
-  sha512.doc = "253df9b5b0e3338bb20276b56127c19e2af654a34a358c3601f7ce79e5837aabaadd559d8de065d7a6c2e43487e842c2eae6dd8e62bf3d0d37220604f396cc20";
-  sha512.source = "9242dcbefbd21221cba7092bdd2b41b9bdc5f1bddc5e03ecb10c78ad9fa963f13464864793e063d96059474bc81b918809d3e2515b8258f566c0b7398385dda2";
+  sha512.run = "447f8628641df193b258559435567e5e7f912de6a87688e68676ab683512f09661b2098707fa6ff9544972bdf3a58d81caf946811d3ff8516782062b1a10545c";
+  sha512.doc = "fa2a5ca9c0952b80150e0d2b37f9472981ba3ce45e8ea5cba399551c6cf5a309d8329702494eefa759ca6423fc7df523cdce47eb9e9ecd12a5b15c1ba322ac48";
+  sha512.source = "5f19310aa96200cd97eede4308ee7e0de75c06905880879b8fe83c614b63588717e2cff476e4dfa6e32a1a83c5925eeda0bc915d3b1bdf42250ac8523f61c215";
   hasRunfiles = true;
 };
 "cyrillic-bin" = {
-  sha512.run = "5714f2600dce71b773e1d488e7bae4c79cd30c0ecfa3f96d08c1dc1bd3e16a3ce437a1b4cc64e878388e63eee283fa73e3b327daa7ea001f326ce0b932a54187";
-  sha512.doc = "0a1be40b054f1bc6b696fae24d7790480335128bf4faabe26d9468701ed830235b0ff730742407d8c53c9afcefec98d3c850ad98b4f9709f45b88cb39ac48543";
+  sha512.run = "f218abc7a05b5247ac3e7c6488c94ad775f7d238d4caa96d7537156052acf8c51cdd2131f55411050f7f8d725e163aa37e16a6af7147e0522be3db7115dcd207";
+  sha512.doc = "bfd4da4e4ba7c0d47e929a31b0fb52f5690b54fda797dd0df71864d411baffee9eb8c99b83942129802799ad95fbaf710b0f4da6be2e8fe003fc24fe97d9322d";
   hasRunfiles = true;
 };
 "cyrplain" = {
   stripPrefix = 0;
-  sha512.run = "8cb0d1f40df357b42053638bb7e195bcc1c661aeeba97d9295fe92bee53809290370ab5cfd2a606912e802c0acad27770e24e6212e98f2c0aa69f78a35485b2e";
+  sha512.run = "84651aeb63d3e47f208732f3c0d54ba86862d0ff7da7c56b3d8b8d1b49b6b88ed4c5f9abfb4c1c9d8a1ef8a455632aaa69408651e238bdc4aeb4eb7709f62096";
   hasRunfiles = true;
 };
 "dad" = {
   stripPrefix = 0;
-  sha512.run = "5374f2d2760ed69d96fb3e609c55e460a187fe905141ca70dcd3fa3c606c5a3ec0375519cd4ef5c982e6411409b5c825981a546bb971c705dd2bdea58850ff93";
-  sha512.doc = "87fbc52cf71155e31332cc98069b63b9f833fe32477ea0870a469725ad7620405f1624574b673efe6fdcc91413ac19636b2bf3d9c2c3f55accd5aca45bfe5535";
+  sha512.run = "3a4a039e8407ea7b8ebb9b2fa500a634930161f6e824e0d090fb00c233cc29bc110e5fd802ee11768569612df1c18cd03137ea086dab86e19bd3cb54dc806045";
+  sha512.doc = "5715bb8219f9800a89c660b2dc581b5be7fd86d9dc085417f3d8e3342dba2f27c16952d9427af64212d6e60359be551b8ddf4eb01f89be93a9c714024c82eeb8";
   hasRunfiles = true;
   version = "1.2";
 };
 "dancers" = {
   stripPrefix = 0;
-  sha512.run = "6af1b6466c248a3b5d58ee17f3d46b79f22dce00b0df307620f4590cf8d4f2a9811238e8ce341e314d64b460afd47e19ea81fa8d9f02114bd42c50d742a9736e";
+  sha512.run = "f570e4c775a7e4cdbeaf2ad764ee147a685b5332369aea29175a76fdc9fb37f052da295d20a177eda8e4b8352d733034eba36882c2507fe804d7b996c0e0537a";
   hasRunfiles = true;
 };
 "dantelogo" = {
   stripPrefix = 0;
-  sha512.run = "77c33cc1a6d801151e87b546c8ae28590bf9d454df89acca76cfc178dca86e2522eb990ed34e2aa9c4458ea2ba41b86d7b7ff637ed607cf8c19394b517922a2f";
-  sha512.doc = "cab3eea8565ce30179bcfc0155446b8881f70ccf6146121be2e112d7cc14f0f460965755a199de6f41893ddf2e6ad6919272509e04cea5c067b49114090efb7d";
+  sha512.run = "883c5d6f8368bed41002eae123329954fe38cc23a5e6db7feecd57c16540b6b9277cf7d13af6ce8f63994c11148708e1d3dd10ddd9d17457b015d40477f91eac";
+  sha512.doc = "4612de774c6a39c7f09dfc99aa182fd37d9f3e32dece37726f1e87e48e5faae246f2959992267f5b2cb685c26177e47c5112fbe42b8f1ac3a60da92e6276a681";
   hasRunfiles = true;
   version = "0.03";
 };
 "dashbox" = {
   stripPrefix = 0;
-  sha512.run = "4f08cb7021670c31533566f76bc3d14465240bc6668273a3dc73218983b01b0730de2ef9094094e5682cb57d8232db4523e867611086494c810b0f1f7f3be8d8";
-  sha512.doc = "79099859352d6120f8f0ee23c1ae6d40f3cda6bca259334dd593a2b967e84effe97cadf56027fb0dd3b94d76f6808656d2ddb7d247d5a02a89b56fa7ea8c1a6e";
-  sha512.source = "863cd0ec2c1b1086913889615ae3674948cd9fd9a1c6cf677ae962ab7eb3f3c15bda15423ac8ce23c8d6b034b92b51c073e8870cb2a499bbe77589c9c14ede30";
+  sha512.run = "a52bac248fa26031db34686e57cd3c9be90bc18b41339d7e2dc85a68de1de23a627648599e5fdb207d3364b2b4e3651aaf9c2d90e6c3bd0f0fdcaa30fbc8932d";
+  sha512.doc = "26672278ffdbdaee64b82f4e7554b5664ca3410ce8009454cfc229e3590439b4a4e212b77568605adda885761f5ad456bca022f198e259ff9a33b8e0abc1ea6d";
+  sha512.source = "833bcc8f98e6fbf3e205b54311dddb9377026234132e5f988abd25e3ace36b9f3b54a95e98a5c4cc40ef1f049536093b0f779517c6f5a63a08459bf0a7ace741";
   hasRunfiles = true;
   version = "1.14";
 };
 "dashrule" = {
   stripPrefix = 0;
-  sha512.run = "3ecfe13b8901f8c41af79b94b2382a2423605f454230e78b86521844574e51eb6fd961083f908c9913f36f5f4a7258b856786aad1995bc418d1409cd33fba1e9";
-  sha512.doc = "123a92f8ae45087e3b6a560435c8d07c1914df7e5cc681f93157e8367c3c251393c795bb6a0123b0212b6322da807937137a591e906ebb23c5baf03dc73b3967";
-  sha512.source = "786ebf42bb524fd13b1fdeb0144eb8695453e7ddd3d83a500846e309edddd24491efc0b3e1368987e24b770c4ade54dd1df62e5445558d1b35000dde2fcb4c05";
+  sha512.run = "4b1b993e9044eb2ed4bf6bde0c114b0cd1fe7daed38f8bc5d3e25a2705d55cb41b8a372cce84b0d61093044d970003a4317de98cb468978c8cb1a8315f980940";
+  sha512.doc = "f45e0785d7c6522683e724ca27f7505e3da6bf5923d5a8c71a75ef8c67ffba8a4e4711b91b64f25dca95566448cbf74b5937dcecc73f5ec0aeff7ace8d0e4c1f";
+  sha512.source = "0cf95a6d5fe3e80e9f77266033d64186300676d74a7cc39dd6f907784d1a6f7c9f83ff5a50198eec8bfc075ef5adecf58d226063f3f0e02f55dd7cc0daf691a4";
   hasRunfiles = true;
   version = "1.3";
 };
 "dashundergaps" = {
   stripPrefix = 0;
-  sha512.run = "6bf142a1b93bf4c34b3bd9edc74f8842289cd662824a3f5f02b90a74e62e8840cc9613c756bfb5bde7df4591e5541742720f9d1c10c3672914f94dce7db773df";
-  sha512.doc = "67f75a224edb4c50ab1762e70c19676639d538cff361b6423106f1f09f896d2b4da2a78d35ee70f852229122bd66245854a73a11755b3f5311cb25b6fafdea61";
-  sha512.source = "78c96a90a46deb1d02e923738ca0befab62e31b0ba453b3fffc72a2c77e34808e7ff948979c2b490dcc48a188faf52b15b4a70af3acd07c8de8e4fbf2d38ef4a";
+  sha512.run = "190b4559e568ac1b5281314dc17d8e2b143af0b1f3e0812c02b70eaddb6ece2a33843585dfbf21f10af0112e2f6611338df3708d396997bc63f8f1ca5e9884d7";
+  sha512.doc = "262ac83918e07be8fc0d57c416a6d3fc342c75160cc603186147b81c00af2edec662c1822b01d486bc4dc871733dcb235f3f7edcf9f4cfac6688d412cef54744";
+  sha512.source = "22b6d3821c2b9ee3d8fb1ec40a0d5825e98c957028935706d2ec52e8608d413af6a14ebddf02d140882a79b480193b940197afb12d94f4af3daf6c8e67b69c82";
   hasRunfiles = true;
   version = "2.0d";
 };
 "dataref" = {
   stripPrefix = 0;
-  sha512.run = "11b6007a72e7439eed6f9e4d75b544b3b68ae7173504abf84ee5d0ebc559acd9a4ea88980b345cc1342cb6867cfdabb8b21f9be7515f4e743b76ada08cc1c90c";
-  sha512.doc = "fc9a3144519306af357f3e07f61a92a86133820f241d9dd6c4b1e5a4cd8c75ca20ac3c62d2eeff47f3adcb2b8b6c83d9d394574c9e6979f7f7dcdaab9ef6f18d";
+  sha512.run = "8b76861673fe05785582abbfb50d46ee6beea2cd63bd7f622e2640acce9c88a39e4fbf57b6db7872dc3f3b473d3e33581bb6c93f305e036148efb1c3ad4b6d8f";
+  sha512.doc = "2d1bb12245c071b8282db3d0aaf198206fe2b8509527ef6e56950464b6f13d20be8381015fa62a1b0c7469e004664182170ba400c7650b38bc597e269f1d173d";
   hasRunfiles = true;
   version = "0.6";
 };
 "datatool" = {
   stripPrefix = 0;
-  sha512.run = "9ca2e235a0c3c86ab08a9d3bf18b7705451e9c9bdc57b8103a9f4ec5bf6bccffa6d179702ed12f672425290abcd2bb708f0333b0a8c0f73ef13386a72a2c2111";
-  sha512.doc = "01f1e848a4498e0d9d27747754f6ba20b283c8cb076ac5e8fed0b0657e849317452c31b31dac71133d354acb6bf352518747659f5705a03600bac87d940fa6ee";
-  sha512.source = "03b17ed5b9ec83a136af9cf9b012468ffc121f47f82b6c3f8e29fe4e3e17205ac07412864ea758b2f77a962190f2e9a0fab707ac2053bce9853e885e7e681721";
+  sha512.run = "e399e70d6d5a1af9a19e47eb6beb7bcfaa2200d96151ffe5e068cac279ce88a3c9ad5e3b55bd93bc4eaa7ca26e3ba1dfe906fd979275b04d57e86b1546b7440d";
+  sha512.doc = "ee42a5da7ed08e6938881f991addc26f3cfcda8e5dc03ff3aab7fe268d749ac38793efd9dbec2b195f88a76718d7a02a0c9c2ae11a901b89af0cd7c1081a1400";
+  sha512.source = "287d96d2b74cd34909917f59154010bf167e43051b5b0d992813392b826641d01df84e03256988b46ed843a7d53e3f6f9c29754ad3cd5c2f6c33c4998a17fb27";
   hasRunfiles = true;
-  version = "2.31";
+  version = "2.32";
 };
 "dateiliste" = {
   stripPrefix = 0;
-  sha512.run = "c19103173ee9aca8a24e120554c4af4ea658db903b6099833789a17c85a8f05d543242737d4cf402f104e3a02a4e06fd7429a08c4c90ee9ba6361956a5fb6235";
-  sha512.doc = "2b4e3dd0cae8538082a4371d444e00f6e49bc2f007b28fca39b01af504df0a066db432d660f16d80de5c148ff48a69eb09226dc8899f43897b593b37c7250500";
-  sha512.source = "5f3ff3392df637bd785ae3c52644c634b3c7221296ce670b934488f13ad141e6d0dfb73bbceff7d6a042a429fed0700582343baa9882705ae0aea803ac2c1106";
+  sha512.run = "6da6a802994a06e040d43ac7fc9db0515d9273ba9d4cac061e04b05922f9eb9fecaf138eb641b3149be7b98f9139c428084b6470bc177a020386e0dc053427b6";
+  sha512.doc = "53ca32cabd7e3a32d02c77beb076b08ccaa782b6a2ae249b932242987741f0e255bdc83a2b6ccc7ed2e0efbec66923798026040745152f7244984a0843c8c23d";
+  sha512.source = "563840e069cd1e1c1e9b1774c5c3ee8b1703305fac3fd5f58a0afe76f154210150be05f779a94717c227978d2a1317a10f5b6232f51dc7b3e422638b84b2ce95";
   hasRunfiles = true;
   version = "0.6";
 };
 "datenumber" = {
   stripPrefix = 0;
-  sha512.run = "dc708ef113c196cbb38748f412840a35c0d44d1872fccdbeeb5e6614c466b61b4ff78bbd1606301c94aafd0af3527e77f2ba44951f021724ce517e0a8623afe2";
-  sha512.doc = "f974cbb2902dd51c69cd6242b885cdf325fee46f8ed495ef352794149b995c51e8bbd74b4bec49e5aeccf1ad61d9583590680cf1fea8d43116fd689a7b490cff";
-  sha512.source = "310363eefcdca22b23c0f411ce098015d9f51d7cddeed3ff195bcbc31ada79cceddf6383a090c7c0be10d325d4236abc6cf63b0d2937adb6bbf6a29ab7f97347";
+  sha512.run = "f87518683c9820e816f33e535bc8e5d7e31fcda124178593f9635b040151d1f43f6eeb4d69ca974b847c97efcf19fa94f571d5534dfdc8ac0e40d711d26190b3";
+  sha512.doc = "b9c156b19bd6abbb3f996495dcda633172f8e559add744ebe25bb58070ba06bc233c2dda54c93415da14aecc30d2888241bf9b80c0dc5922b46cd3ee05865701";
+  sha512.source = "ffeea9042501496e815db5c90cf8a99931fe96bb8dbae6e2551994242336892567c140ed352ddf962d1f144844960eaf03187aec6869780a2c3e218446940174";
   hasRunfiles = true;
   version = "0.02";
 };
 "datetime" = {
   stripPrefix = 0;
-  sha512.run = "513e226c6676aac8d1a6f5425375b66c62ddc2a77714684e458a13fb641b684910c1e8c3218044140640d957be6bdf215bc2dd44a82259a4a349c8887a0746e3";
-  sha512.doc = "0b5543c957cad8c898c6aca6e991b5aa0e7a90a64d03e4eb92f297c9b8df4ecd9391507c75321347b7eb446bfe615943e61948d7660ee6bbe2eb22fa3bfa0d70";
-  sha512.source = "a0e2021c402a8832ec56f5105443118a26a2b578efa11d1bd4e4824be1b2fe148856f601103177f04cab880894e4f2e56c90f93eea3ce93bf308faea16d55cc3";
+  sha512.run = "3d033ee164d52f7085bffdc12f2062be7e94a644d9ed731b4d1b97a3a46838dabadcf6687063e165c65fc938a51a4adf8078339b720a305175d6cd6a3b889f07";
+  sha512.doc = "510449d17b09d9207b76e732b5d426121888cf653f29bb3be8872b74a243596ac339f09d11a14a4a3007f8818171aab28727cd1713ee35c8908d2d168a57d9b0";
+  sha512.source = "3e03ba12952ad5dafa701c7ddd5d79097890d13d3510d420cc399b30b1c60c2b6f72bc5caa2a6d2f53ec50430d13582c5c6fb549dcb3566f827af0d4abeaa011";
   hasRunfiles = true;
   version = "2.60";
 };
 "datetime2" = {
   stripPrefix = 0;
-  sha512.run = "b8d8276ba1a596b77c122540926e86b59968f0f54fa9e4897433c1f0607c229ded01d7672c7b95869c128ea2fbb7e113f6a8c63c0781449fcb152d397a92238c";
-  sha512.doc = "5aa78c82711c91fb4203a5f37f2ec2bc75d9848674185d4bc265092c5b6695024d54e796cc038baaeef615deec4a9ff2e01f5c4baa186dd90264cfe438a7b31c";
-  sha512.source = "29e241773af4e71a960433017206d051fabb9b3af4a25b17ae4e3b9fa9f47017d0d73fcaedb08d4629b7935a20f27a579c540f9adf45993a352e182a005e5f6e";
+  sha512.run = "876b16d0fe08584c02804e93bdce6029376e1c37b3c8a3a0a5ae4ce93cebed615b077d042cff0a658f0f2c65745fd22b40f18c4db87ae73ecf3844a699f09e81";
+  sha512.doc = "37fb08d1d23645a53a6d0c76aaeaf8df34de9ee148aac23723adc892e026a5daf74c446f1ef747a62175984dd601560a1338fc37ec6600d9d0772237e60b1d21";
+  sha512.source = "42f6ef0eb78480c10ea1dfa1ba3733f48fb5f4a639ffc11c11d264ebb46845823224604b7c43b4120da6ec0534c2d8eb63c327825c074c7ffe01ee1bad3137c2";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "datetime2-bahasai" = {
   stripPrefix = 0;
-  sha512.run = "25838a4c25fa54c1b5daeb02cca8af8de1a33561b7a5f6a0bc4b662675e0382a9b4a877104a72af1518b46b0986e988ea5cb48cd82300d68546abce5304718c1";
-  sha512.doc = "038d22520afda5faad39c74b94f26004def5d72e06c451772b2d31cc90cb561866d70e98e1866950c0b8111f166a931532feb696bd3ae9a63a541bd582f4b26e";
-  sha512.source = "e1db98c267e207b7046d9219a0224f4ebb762308994648ce5cf7c58d62ae99c96faa496b423518087b6a706632b4d6e03e77e572fbac81bbf5f7e7a17f8a31bc";
+  sha512.run = "6bc05fa0f1cfbf05008de715f9b278948272cf7894e8c29b52b6ee4ba436e01e5588356fa020fd5453ed2e9bee185cb46c54ee3e808417782587c9509bab17fc";
+  sha512.doc = "d9542fe7057b9972c6e0b9ebc1360c2fde8f9b3538e70efd7249f0bb344f2d5c2845acac9ce39fec6f9f7197b47e65496ffc662b9f3a3044829e4709d6202995";
+  sha512.source = "7edf39f7e2c5b44923e66cf3dee57e7681c549b7ae944ba2f4593e4643e9d50b686b8c1cb6905326899b6974ec5c0587ec7a5f4f880b5b1e81c94667240c601c";
   hasRunfiles = true;
   version = "1.01";
 };
 "datetime2-basque" = {
   stripPrefix = 0;
-  sha512.run = "a9b93a716adeb9b25c06d1eb1ecbad80888cf68d6b1e245853431fda8ad2c52d6096fe3abc87daca8bea1de001acbdfa3d33544f2d2d0e9665ee4815af9c1a66";
-  sha512.doc = "4e313ce2df3fc67c43e4904cd6ea331b7389f39184f301d1938b5705dba47dcc916d2b17ed837f607f1eed2b67910b70c0f6b15a6eabdbe929891cf45cd543aa";
-  sha512.source = "8add0cc0c4e60e2d9b7474ddf2aed4b5bf5ee047eeb0c58a41475da8f56820c7aeab3027fd1af016c4e0b864ba8affba64cbefa93ed8c41bd4800fc61cae6c58";
+  sha512.run = "73d7dcb4a2d13d4ad4747d4d2a19b839bd9a1bd55793657315832178091357f61d9b748d5aaefd317baa7f52df2a4926dad6196d11d11cbce0df78168b2ad380";
+  sha512.doc = "ce083f982f95f5e4beb33a706144d26f6f09de8ede946ac89d28ad5e5c75f9a475e4e9bca5fbc7773ee90a91ca095f0b1a9908fc0f74fcbb4117ec7511d603b2";
+  sha512.source = "a2bab4c1956a0471571221a57f85e9f4260e349a9b775540638255d8313f5db2c9922120e045b8c769b7b7fe1698c7fcfae1e1aa101e858e84aac32673f6fb86";
   hasRunfiles = true;
   version = "1.2a";
 };
 "datetime2-breton" = {
   stripPrefix = 0;
-  sha512.run = "0199c9e1aeddc11f8d802bf600cf874d46a23e18f6d5b0dedb7a4ef3ed0aa3680d20046c44eff7c293f8e01aa628f098d3e908b99930fc6a080d455b61585bbb";
-  sha512.doc = "c4228974e1e7e4a66507341bba28560c1169c946b7f3edd1dbf9f8c1485c1fcb897f4c5b970c20e0b2c8d487d0a77c8f1d6486aae4c91c7c1be4d3fc7c4682bc";
-  sha512.source = "0092fff59b306038b4ad494002c2b19843a7a2a5b7177f31cb105066b56a82fe1bfeb85f7a0c29d3dbdfaa0866f212281f68bdcf09724621acf5199a42783cdb";
+  sha512.run = "b212e5cbae4f1b61c3455f2ed2f05b9b61f34d65079d5f9fbb0be716c9d06f14ce915efc1059cccc828b52b3c0fae3a5e08680195c4ca20bcfc8c6378798229c";
+  sha512.doc = "4b6d0592e5fa100b3a68cdefaee29a089827fc2f86d5dcc1aee79aa6348b7cf4165319433714914337239220d01e8a3d93fbad1448cd3ff4790c817215a1cbce";
+  sha512.source = "e4a7240799195b9be7a9a755c181268082076218e1e49c4a81e5ac2c32bbe1537e3965bc5e6791a62a3a502c27059292bfcd985f3fae31e961bf129ef166dbf0";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "13faed75c5ebede70585ba403d6ec4a6e87498e2186982067470850eb65b2a94f4ac399d1bea9092e49b36e432675bba00bc46d1274cf4a3eda4d12005cea9bd";
-  sha512.doc = "44d231018fb5497bf5234aa96ac0869db73dce6156e4c66811f9c48b14b97c88f3601fb3ac4e0e3b5021c7654b3b2e8c5e290dbbb37b57e055861e1d3daeea0d";
-  sha512.source = "98f0b5f92a4fc6c61bbaa1fff928812c3421b78f1289c4d3fe5cf4481dd12dec88441cd877d75820725d0d3b8b699136d92687aeb60bfb366e381103d5293373";
+  sha512.run = "fe0cf5eb73c5253467a8d2b972cc20825b5179ccd3964f64656ee8f4fa5d7fb7bf1660a7e79d58c491fe74e8c9421b75c177d4c8bf7309782c81ddeb69ff1203";
+  sha512.doc = "f07df79af157b8ed471f5c8021719d8ac4dea9075885cc42ed0d64405692efc5ea59b6a77448225aee477b8fb05d564ce9155b7e1efb3d9cd7b7baa794783cb7";
+  sha512.source = "9692b6932f74a7e15a625612dfefd975a948f8a2111401c44b156702fad868d7d34381191b5cf675f0c17aaa6234071e10722f6b912e80f8afc4af69353dbc6d";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-catalan" = {
   stripPrefix = 0;
-  sha512.run = "31bf2df2c1d6e664ca5b8bba2d2733c1ba9ee3f46f6499c4bee0eeb3aa624ad2b1dee0e297f3c8d07f8167f2f33ca9b4aca73dc1d7e1ad30a66bbd26a68bb3d7";
-  sha512.doc = "dc75baba23ffa4b0014d7de107244b6848e0a28f27cbfae6feae98c81fef6cb95ab6f06428404c11777fb4f5b05bf0cd100efbeaf4c73b4d66ed3c31d26d2d93";
-  sha512.source = "2bb24a3fc158e4c179586fd7a024c455ac41fb499e34f04b44181cfc049d91323881201a475b462a9d6c76d060624d6544171bd4efc4e1e13df960be0c1b1982";
+  sha512.run = "7a414761760e3fb61ed12c656a88b6ae4d36b8268998f10ffc85a9cd362a6ee60b73b37c0994aa47603e805d785a3a0faa7266efa46c3e017535b864f2282e5d";
+  sha512.doc = "d1613bf5d8a35f69bf3dde127a764434b8527f0e627cecbdda43490642cb8d0a10ae629bf5f1359b7a87c12b3845bd468fb2c00b508be1d2cd80b6ad98904ebe";
+  sha512.source = "35fbd618c48265f4cd6bdccca100396f54b6379111189f8fad705e93f69026fbbba21f246074a3d154855b0a04e83c4a310b99c78e2105f821d109cfdadff6a3";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-croatian" = {
   stripPrefix = 0;
-  sha512.run = "7da533ed5aa33e3035cba2a3f10ca03f78f77a4d45114e181bad4a92200d49fffd395593d5b572b2ddb0c6e1164c6fe1636d3092bfb6fbcd94e1dadb432934df";
-  sha512.doc = "65e3058d8543572140006e287190b4ee2dc3c52dda14a588e4d1689ff1be26bbfa4dec8f6fe1dc43c64ad6787e1425d9d22a8c3e187e55f1f941d1b6b9422145";
-  sha512.source = "643d4c454b7e3d6ef34b826738b494a009d0fee388f12612750ada78b168ca874c2070810050bbb6b215b59ebe632b67b123d6c6edeeb65e59e799c0db0bdf1a";
+  sha512.run = "603052fb5cff6ea8fa5b951623efb1fc72aa6583fa1ed560b4c5266ce96cdd209423773ee0d3a592465247343f3fff966d7a9cd9698e02e339d5a1c579591f37";
+  sha512.doc = "a56060b84fc6d2917fd0cf160f0405104a3413e02456ce91cbd97aebd746b0e91c730d2e2e4bbbb46f39521b5c6cbc45558bb4327c7260719ce21e8226fe5910";
+  sha512.source = "5eca1a663801a65b79e0cc069bfa8840e04e08e589445713ea0646f104f5acba51d6f925d2d4ea1c36a83b8f4e095693767a3ca71a33af1015fff5f396c51bc4";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-czech" = {
   stripPrefix = 0;
-  sha512.run = "1c1b1c664e3f138c183da3f3f1d7242684da5900b636d3b50190ad239b1722206fef04cd5a24d88752ae92793ab32dbe92faf31d6ca8162129818331b4a8ca6c";
-  sha512.doc = "00506625bf80aa0d3f3bc82d97434d0f5b09c2d38434fd3e634dfff96b66793570b70874e912738c1a6b4b69784c3461f10d7ec04bbafcdd911b0911acd5528f";
-  sha512.source = "d4a649663708300a9aaadd6baad924fb634654872d36374636f06c87a386728796e22d2dfccbd49a713f8223e412eee167f92fa366c92cc081ec8ed82ed312ff";
+  sha512.run = "048ffe6258ce1d4bf9d098e7623d3c5e25ef8215a538e33806c4d35d6368fda81941ff9adbb394085c9b4f058fe9a3b02cbeeaae8cb1f7b2bb55aaa35c743d61";
+  sha512.doc = "976e98000a80e15a4ea5204f15a5288781ab35089bcd9427b62fb445f28a25ba0c03af4e64a3de688a51c5c94788732fa199705a68de3e9925f1db4ec7dcead7";
+  sha512.source = "9ef924462b97d29d6102cb691d1845f68ec50054a71d93222b61af91f510211016fdaa4861433a65c589263af11a62cb23d64a79f5bb26624395589dfa812515";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-danish" = {
   stripPrefix = 0;
-  sha512.run = "c6c8b9299a391b607b00d461edef367da845cf932f6f6013768aa9385dd566bed673aad08f602b73255cdc24d86507e421bf022d77707ff9756c6f2da0677d3e";
-  sha512.doc = "e37b993eca8fc9f40938f27e8721d5dcc78b2b884bde336f873e33769f6a5ca8cab40b16745bb9b546708edfcd2d81ec6384a134bc193a8bd3c26699af720813";
-  sha512.source = "bd9747b90baa2b0832eb0dfa6f11315e5a7c974a51f8f7e827b39b8eb872070b6fd26b8175a50e13d2c9bba69dabb313c3fa1ac9a5aadbccdb4b3f50aebce04b";
+  sha512.run = "b9e5b442282fcebfc114a772af8317d8888cdf24cd5cafebd5d3c79e3ea8790a4fd082c2facc1a466e7e5b4266b0d93ea5fb6cae64f96f3d131fd4869a465a4c";
+  sha512.doc = "1d933d9d48ad6ef3dd0716fce0b2da6de6700bcd8c1d729d8216145dc5f243ea83323b0fefb6adeaf10a9fb264343e1b429044aaf86e6a77a121b0c951c2c77a";
+  sha512.source = "dbccc381f173d7204eeaeb8b8a4fcf59e6f0750213986207afbef3754554e4524e1ceb3620135a93ed43d786210583b3f931b41a1c645bfb22e33dcaa45a6c85";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-dutch" = {
   stripPrefix = 0;
-  sha512.run = "d968ecd90cc48cc0308ab7a092ea1c9d7240c933dacbae753f9a3e8e1f798bbd20fe41e6fb6474a794442226e9f92c27612cc857a8e27677ca06aeb6750da39c";
-  sha512.doc = "bd617f47f5bff2fc699ea092502de1311949fde3f60923312ed9da0951a5a0a3eeb75eb9961796ab3ecd42b555e73830bf178c8a1aa13f53dfefc9f27a27ff09";
-  sha512.source = "8fd61874e24173bd27e533278481b838d9c7654ed67355fc1ab539cef33e0a39592c5cf3ae3b6a54b364b2fefdacff393ede89160035595396fade7764cb1bed";
+  sha512.run = "c14fcbb882183095c60f0e881ad1668f90855b90cce352922a562371bf2cdd556bd196ec85068775b9aec590f098c956c784b98da283ee1117bec68ee585f5fa";
+  sha512.doc = "e5f2fe126eaf87ef34dce686db6e9b9c3c322a2266293517e803435dfa67b55da6a771f6c7253203dcae0dd1237096093a6463f6bbbc096c108b73bac4a641d8";
+  sha512.source = "32036be5e4e8643da1cd0a2a291db4875328c5e8685f711e247eb7fc38b6b25b92db2f98bfa3769a02c982ea09cbedc75bb963d3f39c36860f9c335e73e331c9";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-en-fulltext" = {
   stripPrefix = 0;
-  sha512.run = "569f7db14d4a904313f50b16c8ccbe8ea7d1bd547ee1c7eec801cc726ba0b7dc9d3096d5363b5819cddd12299c31a85d48172879216669257571bdae01ce7522";
-  sha512.doc = "66c0b8fbb43c30a3376d3aac95a093c91fc28536494f6c59c504a9d9172880fc65d8e1aca02e30392d5a6fe084ff03812430cd8232db2aea825a419bee71c379";
-  sha512.source = "24acfbb2e634da788ed1236264b6de381c8a21487dc20ce1993d9229c6c70a45f1bc7eae96f1c18738537ceecd1421a652d5d2cb0e7a72e48b859a4a9d2d5753";
+  sha512.run = "19f08e264921b8b12def2b20bb1d904f90dae712bcbe579a9697d1f657f148ad8311c6d7a8621f336dc82518ec64438640b49776fdab62f302b0919cc7de8e4a";
+  sha512.doc = "a6ed1e804d8229d735aaf1874458dda3206ecb5e648c35af82a1d3fe524e65aeb7669088dc4bd9fd83919263d59035fd539a8318a24b2bc2470f14670e28eced";
+  sha512.source = "9bf741dced10ac57d7c4fbc3a8a26b49b35d07a221f4d7ecf56ddfdea6500edeb39ef75ed0234d6e510ea07da5da06cf29691a36545dc4367b3682e879d92b10";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-english" = {
   stripPrefix = 0;
-  sha512.run = "b6586534e636d66063f85a5f40ac087e308f40f9b4f97612e06164de745795458f17d028537a8c0395a59dd1118dac11fd43bc31237fe2559b38c37f048e134d";
-  sha512.doc = "cfea3a5472d4aa54e7cf4db7f49deeefc377e79dd9b81714ebe0ad28e6d9b27b68f266ffe7b76d2c575380c26f90493a90890af7c1f8365739e49bdab466fa7a";
-  sha512.source = "efbb49006928e56e9e312b2570fb6e87d5ad51ca6047bbc10bb6ab2196320bd7c1ed4f3da0fd9d0ae22380478c63cffb2ee2044b96bc0c4b740ba92aec4314a0";
+  sha512.run = "1385ea09d797877ea45dcc37e864c5e695d8eb2e210fabe33e6c13ab221cfeb5c55bb2d95ddd9db5c07653ac882375426c7694dd8d3da6bf77ac8f3fb798e02e";
+  sha512.doc = "21fa34d1dc4fc5e082bec3c6a82a29683c0ae6515cc8ee3f07c4cdb3c01639fb05e033e40c9aa4e8489789eefeb904e5b3c2e5cbf4501db26477db34f5e39219";
+  sha512.source = "20cfbd776fc91c547fef6dddad5c87b6abd49273607fe854b6dd453602833e7bcacd138e92c3c567c80cc8a45b1176160cd1cb0334bd6dbc55ff8477156cfcc9";
   hasRunfiles = true;
   version = "1.04";
 };
 "datetime2-esperanto" = {
   stripPrefix = 0;
-  sha512.run = "3267e868724fc5e5ab73d5b0d2e178be28f5507be001d5a85d012a43b0ce25bf90921e0248cbc4793348d6c5b06a627713a944fbe9a5f0b8806d349170e9fb46";
-  sha512.doc = "aa91fba7ea15eeb4d12f84bd9a353be638642bb9e5d51a07887fa9c4cbe5c84d7bf131b615109f39d7d7b96ac8c623f7e649e89f0d74dfb4248ad6d12e217b30";
-  sha512.source = "5c20f768a768d4579162fd0abc28e17ac2fead886e4441ace440f932740c93cdc0514c4b40a3d7b7982dddd5292406ffd349648bcef1a16d0fd9cd69d5cf1f9f";
+  sha512.run = "6406e5a6708c1c97da6e0f8460ba70d61c403875497c57008013a3d1a8a9100b344b3d7267ed869f777566aa403110e17d778e2a47b3970846324bf08e8ae046";
+  sha512.doc = "c200c3f39ed756765876ca5655b99025a898719f9723a996bd4772974643e0421edd8d36a8eeb00d29dc75ae715fb55927e31f067b1159bbb1f4dd218de780a7";
+  sha512.source = "799b2197ce9f0950889a933952dcc33dc0ad2cb97d906baa61bdcf8d32bbf341d65aa2c2f1509fa59f366cb570e9ba6b4946d4d5785c5022c55117297192a32a";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-estonian" = {
   stripPrefix = 0;
-  sha512.run = "e46be8d994ba03558f361b6796febd9e6826656516edbfe4eedef3723e6d83fba29a1c9e1f65c65f7e98408d61d3da53a3a4fbeb55c795608617c40a9f80068c";
-  sha512.doc = "b4c86c7f96b878981d75f7943a3d4cbf729d7cc4ef88dce9da17f5fca44613de016c377a48686928aa1992163a2c2fa3152b2130a7cd99b760a50083e82cf73a";
-  sha512.source = "11056943b23b2f606f2fc04f7344a4dd9b33a449d20c62c40d8c9210c957ad92e2a99ead3816cb2faaac330234e47d7d8668d6e57168c73118dd7a74cd5b9d1a";
+  sha512.run = "93e8ebc62b48da8f5c159822f53c35aaa2cbd2fb6bc701108cf6452db7eca3df39de3c1ba9b84136683d22d65a975dc138aace0a81960d1c9382309a4cee5f3f";
+  sha512.doc = "268b873d870ff19a3151d4244b0329994e559ab61198ab3d76d830b1bdd6a05e8b5a7a7df2fd6eec8d57b9e28626f80af755b1866f4ee90eb0c7e94b85f3c087";
+  sha512.source = "2cccbea84fc47da4668a06154b97116b39e1aa51e31196c7c9a41d517aa5f24924c86474fa8f7f1252e356a85392977553b6a28ad154d246bd5192a7e7f07b4d";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-finnish" = {
   stripPrefix = 0;
-  sha512.run = "bb66a911f45132581cbbbde263a31166f53f610c212e05ef284bf762ab4c7bcc240e3d359e4bbb5c1af9479a9e07fcd22a96cba205ec70d475030a58e6f7c67f";
-  sha512.doc = "4deb69e53c37799560c218e33e443b9291d7d4af0642b40e40540fe4baca5fee4fdbbd8b53994cc339c302d2567a8a2624221651d02e5e65e92c7c40b454401e";
-  sha512.source = "98906c8851ba0157d7574d4e728b45197f32dd28e63c7f22c1b7cfb6da80e90ea5171c4b62ddda9015263230adda8504ae96b058c839f7e132c50d06b36ae06f";
+  sha512.run = "45f971bd3711d1424b002f32e0535465658e50cd9abd9758faa3685aad6a6e74747e7b3cc840a38968ef49ecb91b3007ec678f63f0c0ad3b77ae0c39bdab2457";
+  sha512.doc = "01470814a87a5c87bb54b17a763011872864aad8d1f78f82c2325defb7f135daf34aa2b721bb4cbe7ec80efcf839372de07c29245ecc477708fe60f3d501a258";
+  sha512.source = "56f4b99f506673c89115e37dfd9458f5e3e55b62dc9dedca98747bcbc7e6e27306dc2711c05b0c8e2844aa03a4c8f7835bf6643ff082b7d1ed246a68b2af37d3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "datetime2-french" = {
   stripPrefix = 0;
-  sha512.run = "68ff4a94adc63910c6e7c6870ee472b11e934fc05600d29f01a21f3ffc70ac40fe7f19e14f42528609a405592a5a28a452a8091dbd86b6ab0efc6afce90ebe82";
-  sha512.doc = "cddd1a43ed111baf51d570edd967ad73cfcc662d9d2b058a054f58d811e8e685cb403663a0a985118a4bd1835b6642fcdcd164914e9f95e82c36546444362aac";
-  sha512.source = "322e33c64ecd4b5604607b5d4b964f2e2bd39ddc305c341cc55f4ddb4d8e8489c085a89ab512643d7e989e3bc8a40132e1ce2d31b937bb9f92b8fb49fa4b54c3";
+  sha512.run = "90a5f2e7c7570c88cfd10ea78cab34affd0483916a867c425cee593a080dd41f85c1db9eee22f1c5d1b27899c0d8afbfae2169e0b4fbc5951f0580437f735a86";
+  sha512.doc = "d86846e741d2c4f07efee33c1bb15b1de205d0ceb2f6c2c5930c3f224e350e53d3817b7ca96b47073ea8510389d2cb36b49f853812fd98c6a3d1b2484fb3a80d";
+  sha512.source = "277586cba75c6356674f763679c2d84d46aabeea1cf95211c61e967e413a61324d2e1ecd8ebcda756d5a0406f189f239d547b9b2879ef8ea854722832401939c";
   hasRunfiles = true;
   version = "1.02";
 };
 "datetime2-galician" = {
   stripPrefix = 0;
-  sha512.run = "39dcb4756100905cb34b848c6c1c01a202b685290c18f2bd774dd77d6e28690d2b735445afe591041c9e1705295f34184bb1c503789d52b361d810ef35a02a42";
-  sha512.doc = "d52cc480c25b9c07ca06ecdba4e1c338424c42e75190c14f66a95a897cefacf6cbc07ad19bbbd6f1976034cbf39af3944e6594f19f0923ff5256e94922fb6ec0";
-  sha512.source = "942a2a79453e64507a0022a629d3b43a6304626db150fa6438de08fe487f73953c582a40597f325c9dc8513b4954abe2c1c3407721aee10daeb52e691b81b50c";
+  sha512.run = "050dd3e5db5aaae106804a315e679cdee0a4e9fc2d10481f21059c410a73492d6e41d9db070bbe5112377a4f1dbec3345bc5f87efba998130cb20e31a443bf34";
+  sha512.doc = "881250aaf53eba33ee223e5d87f0d8d4081785ea723d5f2e605d04767aed63b2fd8a592eabddd4343c489f1abd809218c600aa5df2447b24bf0465e7a31c8ff5";
+  sha512.source = "671230a9b4da0cfec5c1afd50db2ec103c1712006c70be0c9d6d1eec637461005673c73dd1c457561e54af1409072fab111e7d93e785a91ccc6dd0cbbb497127";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-german" = {
   stripPrefix = 0;
-  sha512.run = "4dd22161360653dd9953482601bec0d094487f93f11f91ad751b9f9ca4744fc2a7125f6df9c8c4c5159fd7353f912ed12df5d6d56f3119284f0b5954d7ef4ecd";
-  sha512.doc = "88fd203580a26077112b933fcf3ca9af2e5345cd589cae8a9715bf8b89170ea6515c003e73bb2986d6ebff7cfdd51664390cd11290b9b67e154ed5738e08024f";
-  sha512.source = "a72220f354dabd03a7db28760146e03b49817544f2eb1d10f4eb6a9707527454b85c812913b6d9c29d9bcfd8c54b45ea0b7277c046a98d272cc58d89acb53a8c";
+  sha512.run = "596fe3086d2bf16922f0219815474eea872950b1f31bb6777f375107571e70e5756bcd8c3930aefdfbbb6e1ab931a2a9d7976b537aeebedb98c1a541c178dc6d";
+  sha512.doc = "5fccb91afde9d59f6c26ee4bc5d7a5a90cc6c727d32effc328755e292477659feeb9eaadca85ef4351a104f9811426d7324616ca639a9c0bbc061ce32f10e778";
+  sha512.source = "35d7fd9a3f164503861980ee78b16c8784bcab76d46806a64e21c400cfc24900dddfdcab7cd8538b9071f69137eb746797e9555658540605950ea4081fa515d1";
   hasRunfiles = true;
   version = "2.1";
 };
 "datetime2-greek" = {
   stripPrefix = 0;
-  sha512.run = "d1f0f33a42da3ff4cca7ec3e257a977172a3b6a36d7813a69ed5df29437f1273564fde3f59f4fbfee3ec495f0554fbdacfa8a3d2e60826881651f88e7089363a";
-  sha512.doc = "fcfff6c6dfd31ab1cd4a2717c527948babecc13bd1fd49873f503a7b062e24a2b101cb4a5ffbb12f594f3ebf0011ba379c0c9d9732c46bb7c655b8fd13fcbf8d";
-  sha512.source = "2b1a208e6a210461c7dacada232897e56605b2deec0c86c5500a6698815ec7edb3722e525179fe73074e70437fd969fa34e78fc39c852d7882e25d424a0961d2";
+  sha512.run = "d067dc579e739c8ebfee602d667042c4727e73595fc199197d58d0c6caad4460401bc9d08965292b36811e38be5424c22d6dc4f49c4a9682da3ef34d46e35cdd";
+  sha512.doc = "5025cf0113e24efaa2bc413da5d2c14c58ead82ceb07fedad299783c5e445a40295d54e0d5ef3a5937586c484ccaf80e40fcb95e5592266fc82e5e52966af6dd";
+  sha512.source = "b0cc23d43a600f72a13234938b2d1e26d011e416b5f979f86003b4ba4cf53f3fe76db4eb5301db23263490b59735d0226f0b27e10a8f521febe52758a3f63ade";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-hebrew" = {
   stripPrefix = 0;
-  sha512.run = "8c8bfb6362a236f053012d5046673b1432d3da2b0f3cf12b6d9e9a60c401a34cfe6ccd6907aec1e2db3175def3a323b1ab8d2ff2f26c3b9ca60531ce36eb302a";
-  sha512.doc = "27ab941e01db57e7e52e106afa9613b61f76a6e13fd0a16a9e24a0071d71182e1c74a03d87e4cc055d8361a56ba7208fe7b23229a678c4d7a434566945cba83c";
-  sha512.source = "87d6960b3cf687ea6f17a83f722284971c817d2269dc7f063b6dc45496fefe789c697c71b94f4b20582c52e5e73ff06760cbd9dee82e8ba1e7efd8efca88c89d";
+  sha512.run = "c9bfe10e1cda7e3890cd79fac15a8f629ece47971caa43229fe73236e80e1f476411aa4d05be61f7f03bc34324b114ccac2585b83cced2d38a28f279639523d1";
+  sha512.doc = "636dd01321842cd0ae1c3a1ed8ef41e1704d720aeb830f03a93c921c4735c1913211a1d987a1b430e312c57440a11cf8cb80f4336b4770a13fddbd9d6a5c3cbe";
+  sha512.source = "9d1cd5f81a144ebe0efed5773ccc480fa2a14fca7411ac621a489884873dc7fcc6d877c66c7e70ec6736f4e2f6a90b57c9db0516baec961230f14dc6fb55d404";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-icelandic" = {
   stripPrefix = 0;
-  sha512.run = "276a9ea14a5e9c0a7741e883376c103a5b65d55e92b828467fb7e00d519ebda3fdbd706c9fc57774b21dac60b15e2b13c7fd97da6b2b446fefdd49f89b3040e0";
-  sha512.doc = "8e45d11a7881599bfc6a562b2a2d96f9900b5f4aebe2b8d5cf2c1d40922a4c1411a5452dea26e33e7316a8b2213fa3def06bb7c3acdb6210200c2bd10386dfaa";
-  sha512.source = "7c41fafeea80ae7ee295e7fca0e1cb4ee019ef064a4272ff18ca225e4518b6653fb4058adfd3b3e5d6c8f986e16031bcf6a72f2c9f99059cdc2d3a44d9bfe9c0";
+  sha512.run = "50b5b4a4dbe38b669929637c9b22517b960ac0eab3486705efbd92e57e50c7c3a7f46c0d2ab0048a1c382f052589f091724828e2139d8796408edb899cac2e50";
+  sha512.doc = "148963ad2651a79371d8f218c763c90c96d28d18d84c2f57e76ad64b456418a44d15983fd1b1622e33c6ef256f6457b6b33090b7c57fd3c37b8dbc8a0754c09b";
+  sha512.source = "83cc155aa3cba3aff874762490d6cb9f85c0218c7209ff6ce304c16f04ef28a0b30a5978d08ed2e1ff24a2a81359387185e2ba16d45d8f83fdc8c81bdf5b5df4";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-irish" = {
   stripPrefix = 0;
-  sha512.run = "08d3a6b076a50eb16b18b3b9258fa4fe2162f4241161d894ec0bec60ca5b6dd7b8c11ed364eba708275ff52c8aa2db7624ba5da6b1703ca513c4aa99f968d621";
-  sha512.doc = "20b4273dd7b40dbb4406bad1d3ea5fe3ddc591e684fbe62ac719ea78985b2b720a72f3f26e44fbc980c18002c2c566797b57a17a5bdd4876304b7a464985195d";
-  sha512.source = "582dac3cf29d9dbbb77b1423fae7cd92eb6f4579fd10183dec7f415d3591e56a0831f053eea07e66a4ac5e90ef3ddbf7fdb95194ed30c0dd2e34dfbe61f75245";
+  sha512.run = "8c1d54d5fc80b2f7dd8faabc31df20253c9ee48987c268ae685144b02acccb5c3ec6bdaaa5bc420e90ecf4ec7d421afc96d82aef1a76ec7e01fb8e5f81d0a036";
+  sha512.doc = "692acb7c50c30e6790344b37e9fe3cb07f2a0e10b9d63b47c78df1b2d1bd1f8f186107acf4d75dabc14a99db57cb32810989bf7af817bfdd16fa694bfee5f17f";
+  sha512.source = "1e829006f0182374511addef820ef08868eb1c00b5e82d0da82efadb4df377531755a4212fb0e2f4a5df0d06aaed39863094524b351c29dd88dfd5ee71c84860";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-it-fulltext" = {
   stripPrefix = 0;
-  sha512.run = "6d9f454d028665c41b25c74dfaec12b8fa39c0384cf20423a376ae9026f7161d37a74c4810a7fbb3e6d56661ce355d1354c8da91af9d9061b61615548b834c44";
-  sha512.doc = "32f9599d86a6d47c1758244d68b02fcbf4fa567ca18d4800bc3a36960bd6bae1e610e222027ed5eb40a3fc5cd5bce20807ad65e693a025a23125c4965a574873";
-  sha512.source = "2308ac47b77b4e65c86e11daf0d529f26f30625d93c8236e3115105517ac97d2840e180417ff3745d405915a6fcad487f4de2bfd9068d9b672c631cab85c424d";
+  sha512.run = "389840e273ea5b9e8e8c66e77578d9908349589b11a599308acfde9ab8dd972ec855011fc4d3302ad2ae16dfad05812ae75d6eece275761587242099fa907d67";
+  sha512.doc = "a5a56a912b1b618999cec4b37fccaefe6f1e00f3b84f6aff8dd6b9b3ffa1855d25e8af8b49d04112829d7cef82f21b757772876b75cfc910a4dd5c89920ce131";
+  sha512.source = "ddffefcb640de660f1f9258d7bad92c40d3ce73017c53534389ce1d3e772214bdfcdf7a4dd927201aaba096533d7000a84871000772762c2edbfda9d1d11d9bb";
   hasRunfiles = true;
   version = "1.6";
 };
 "datetime2-italian" = {
   stripPrefix = 0;
-  sha512.run = "d34de7132b00bcb13e0a7ce8c5f9912654746f1d276c77dd630c5f7cbeb866aa9f97a927bfcac792ca1421c160b34904155beb6618d8df52105c5148ba45c60e";
-  sha512.doc = "85cf37a06920618da2ab7fcecd8bfceab47404f2381b200699171c21880ebe7563202b3bf042e8634c9febd6bce8ea4644b19aa11008c5eb25926d137f4d5674";
-  sha512.source = "109cb7eeb058544715eb8704fc666b8fb9adfc366a7d543f0de9c0774601aefb193bf7665eda4b387dafe37a660f3cf3e0a7c11cf3cc593bd163c8b2b7cd5b55";
+  sha512.run = "d099d05904e416d44e9a9ffb337b23e2c1f908dfddbb41cfd7629c4abaa7769c76f50ef687751224ab4ae94a0df4d1962adbad602ed3a7473566e16c5c4bea48";
+  sha512.doc = "963759f5e07e01315b827d4c67364d9367d114a09d518154524ba4496aee69f1ef08acbdeb67522d3b350a6f8abf8bf571171d4c380bc3f093d59ea3207beea1";
+  sha512.source = "4036338ded2298c97e49173758317706452c254bbf07dcbe83080e28b6d59415d0ff14657cd11b9a5981ca893a4033db338518e251d59d0c4eaddaa9498189f0";
   hasRunfiles = true;
   version = "1.3";
 };
 "datetime2-latin" = {
   stripPrefix = 0;
-  sha512.run = "b815d88444c44f38794fdb54cc00b0e929a6f0489cd5a795a451608f4d51ecd0b373567b0814d12fa9f28d58314a69a9c4b7e9e7e44daabe80a73671f652ff56";
-  sha512.doc = "5792c6591cafc5101ee7b4a7ebd4102b2a2e522d91588df353c78453e022f6b6cc087b3032e4fed95863c7a465c557483d8ab28a9fa47efd5acb4148be920cee";
-  sha512.source = "9a06dc0e9d702bf2ae8e5bc59ee73729967585c86926e7306af6340e8bedae4ed1e02416492882d41f964ba38a5bb4fbb47f232193d1cdce6014d02314b76937";
+  sha512.run = "25f4e92c72abe14db9340aae354e0f598aadf88ec109b6dbe6b48e12f55926f63fc80ca420ccbbbf8fcc8dac066520d69b653981ccdd41b2e8588d85d4f11a99";
+  sha512.doc = "f683c8764e99edcd9d9a449eecd3f1e4a10a2803a20bff7be22568a69ee1b06c5d054d6664a051b0eef8cdac5bc2387175cb582d005e1af31a5be8bbac4a0de4";
+  sha512.source = "9270951371b2595f59a5dd8f8214603d9a72856caeb7902488fd7e7068b16c09b7ebd8f94cf10b99d31fa95777b475d403d49429944bc79f20faf37ae9192f8a";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-lsorbian" = {
   stripPrefix = 0;
-  sha512.run = "1048e39e0d5b67b4019248d839d384e32028fb7970589a75e427f75a42f46aa8508bbb05aa98b07ebf2cdf3fd26ca22c4124d77f2b51bfc20ae2d3cc1b4893fd";
-  sha512.doc = "a27bfd05fad0d777a7f24a62487fc15edf8ea506d1f81fa8986e12727687b3c3ed260f0c5297c76fc7475da74b2b3f753221d480c219e5f18f9801fd2c2cc38b";
-  sha512.source = "8fb97c327119d272c6f2938bc73f323c7f082c277e5a9156c7b0c8286a465d56e0ad6e4565661bb49095a8697e33229cec3b6ff822ce6e9a002c93ea26b3e3be";
+  sha512.run = "04fcebad65bee525697ba96cba9d66d6acfe9bc602b6cfb207103a2bfba0d3cbbef948d614930c1a2bc785a6ae2ad6c4e0b06db58d562681225d67b7a5f2f8a6";
+  sha512.doc = "7bee606e0c48dcfa676835e3a313ec8c3b79f566fba6d6b65cb34c4f939e7a7df34d73e24f0f03d569e0f6a01cb244a90b9023e2846c597eb589e984ad9d1f18";
+  sha512.source = "9dee46b9c2290e00c1a9f9d7e63b3872ec206f7afe9ff0ca592824319b035da1295f566a8934d7d4e87f47b8061311682d2a6ace9a9ea15180433279759d847a";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-magyar" = {
   stripPrefix = 0;
-  sha512.run = "880496bf3c1273204fbacfd90bd18e06bfd70d9003196a4fa15f2292a3a23d84f75c922cd361937f50d392193df2869a2ad04644960da5d4a915e6355488eab8";
-  sha512.doc = "41265047a830b29d15aa7bc587e20efeea06fab752668e09abf594daf590abea65ce8b02f7fbba9fa92e172e8b4547c3ede94a5ddc6a7be9b1ad041e5d377d1b";
-  sha512.source = "0a95bac32b7c51d8d1c433f8f3ee5a1379059f47634b373d982685aaff2e818a3653104b1c9e86db1aa7cb2bcdb45743a304696db841adfc44d1872e74267e24";
+  sha512.run = "4d3b27b0409d26431cc06a1ac83485b6d4d63b9bba30a862ac043cc27c25a77805d5c3aeff3a329e1348a32ca4ceaea917f2f840ce1696a58f00325775ae5009";
+  sha512.doc = "1eff11bc2c7cdae101331521f08d3a9eb878e8d1695b35724475eb5b99e0a537bf16a00bd3c13760cb36306e84b72f15e5ec294ed958ab5d67e75ad8571ac9a2";
+  sha512.source = "674e795a5b3d49665bba89c7f01abdf4c366a72f9968ea008455179319f66061ef2f73e21c6ae736e6dd960aba1184b7e374eecff8429d1b533078202f294ad7";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-norsk" = {
   stripPrefix = 0;
-  sha512.run = "63a2ba1e3d68981487c1a83547a10397f13361f2fde38646013d3973ef26003037516716f40c683d7806489916f5cad305e5150ca752c6dc7d868fba1c16cdca";
-  sha512.doc = "0d184343b60da97c6eec2118be8aec125560777c260668f61ce8cff33b7f6f0fb01130d19a595572eaf3620a3fe339dd7566acae0f3e450c8b1130660d75b0f5";
-  sha512.source = "4cc04c57ab9898c5ebccbe031456f673d809647555ee597bce08f077ceca644c0b32cab397d690be2ebf45ddc70b101813099cd28283f833019ee47e83f64b41";
+  sha512.run = "9ebcd994305b3b3aad61383b9ece13425b4c34432dae0aac2ce38c0219b2f19871f89cb30bd774a7db9be45cc8a21f7856f1f568c32941502b18f6089b787066";
+  sha512.doc = "3d834d8572cb8f1237b4b9e69bcbcf1a5eb0a1e5c001e8610a00ec377204c570218f6d97765c3efbad9130cb2ad9ced3cb80b32bcdfccfd62d7069ece93ab1da";
+  sha512.source = "7dbb4161731dceac735ce39e042713a07d3d63dabac0a4dec870a022ba79c2637d7fbde4715936908d39f3475746f243dbe2e39d88040f35822503f59c0f87d0";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-polish" = {
   stripPrefix = 0;
-  sha512.run = "279b0cdb1800a13ab31ced923948e1075d0699dd8645faecabfcac7974ce4cfa8cd74b23a9569dd2f00aaca818cdc9bbcc844b17877d89ae8e6b509e172d3848";
-  sha512.doc = "512206ee7a44a1cfaeda700a8c5e98560c057c51ec92a8566f66e81ebf6a70503b9d57fb633f867c73e580c65c6f4204fa68a1f16ddfcba3f2bdb28bed4d1ad3";
-  sha512.source = "7af7b4e1a746f552c8eb125a6bb7ae55babf44b880c783bda3cc6984711c781309c3047bf1d8f03bc914a2d51e35c5882aa5394bac59de64bc3f01d7950dded3";
+  sha512.run = "3b63541325de4082a828af5131a639c11f2562b8e2951f50199f7281e7c59e2a2deaf8cba124cc8679a4de5da3e95d988bb3533eed6cdbc9471a95476ec59bc4";
+  sha512.doc = "6bcccc320063567e2527ca6acce6180c9d19a3ec8a1e922e640e82d3ad2a244cd455741e059e385fa26ee6479ddd5086b9dcf73a705988adec96a311cfc5e40b";
+  sha512.source = "0adc45a662620826c90aac5f0372d83462eb571b7dc0751465ea246602ffe4f7b43f6a5b3153cd04681ee8baa23703784e15b79e5ae2c15cc9e6db5808265b8e";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-portuges" = {
   stripPrefix = 0;
-  sha512.run = "249da207d08d396662ce8ab61b7f565a75bc3c6b4a375d0eccfa8f9c17ebc6b8dfb7d5ade7f28974584c6b1b3f0432f3b847a5e6435badd225d6efad0bfa49cd";
-  sha512.doc = "993e4ba069df709610af771cffd0c88292f982ef27369264afc0c8b10057235b3bbf3d720aca6199f2757f0c154af3fcc3b686f2eb7e191a760ff6221f90bd1f";
-  sha512.source = "de00206d85c9c4ec0198b1b3df2e69563b07f6bcb2f49936897cca05bb5ab3bf6efe7978b920266e9dfd6509617890bf9213b4431c8f9bd290d5cadb1d00ab51";
+  sha512.run = "976ad1440f05bd166659b5b950691b4d0ce988a3d71bb91525e4448b1520a6ead37bbb3ef9a899bac08c7dfe8cc7b9b7e15174c8ef143891133bc00e5c39e9fe";
+  sha512.doc = "3cd176813f3b0bb16341ddeee4d0a848b4eee9bacfb90734d97fd9ddc3e88285057dd0bf4f0f3ebb5641ebee48b15161feb3e4e75032e32368a51bfb9ca4a8f0";
+  sha512.source = "71b769e4a63cf02cf6c2794d3fb876a33d9c8b150059a2bc0960b8cd1b355e5ebde3d02b48ea47653cf781721fcec118d78301021e8b95543d32215e690a3c12";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-romanian" = {
   stripPrefix = 0;
-  sha512.run = "3e7efd5ef93a7da6d2e65c782f93f6bc0e3af80d09fe762e4360a1ec9a03824930c14569994b88b747a7cf41518aa52a26aff07218d16bbf10103f10930b81d5";
-  sha512.doc = "d3688a46661510083b638ef1e2bfdd58c5c243bd888b46ca0970b8b0a7f1ef9760366b1cf65808e34d9cd040d37c1807ea60dd8a2533719d14fdbd85e79bac47";
-  sha512.source = "f1fb9e9f95dea59cb113f3d09b66469579c84d4bed0386b9333ff110fd7c4be65139a97e5cc303296558f72d7934f97ed383e5e6679051fee8b3c79d6bc1a786";
+  sha512.run = "9167976dca51779669fbd91cc54ceced2f0dd6a97610faf9e55bd51a9e5c0ca3c8096c143a71180f0d572d1f1fdca5c72feccdebb58c7caed6e3e33a21c4b4a1";
+  sha512.doc = "62514ec016e7913b74e8c19624aceda5b258d1e1972da97b04bed2565f1c4ac0c694e695e6eefa528963f0375c3866ea4e475747e6141f0612dad2db8e7a1b7a";
+  sha512.source = "617a1cad46eeb6c2c0cf434fec3d436e471d4cc25224c99cb3272bfd14eaecdf3f63862ae61a83126c222f9215b244fdccf101896469e64480991187878eb71c";
   hasRunfiles = true;
   version = "1.01";
 };
 "datetime2-russian" = {
   stripPrefix = 0;
-  sha512.run = "15f0b9090aa7f090225a69daa4e9be4048507628e9ad269f0833e7d805bdcffc70c35e7162a3b7a8e7972da4fe17f60e059f9ca343d4bd254cd26d35b51d3482";
-  sha512.doc = "031bafd92282a89bff58888c4f55830d51b9cc04afa225d8143e1ec71b56ae652e617e91c0d47d7e077cf5d92caddf9cf2b1afafd9e30518b08aebe76caee4ac";
-  sha512.source = "71010bc2a5ca3f6f4a46289897744f0ae7506a13df7e330c80b2545884b4619df791d2720bfaee49107d14d1cfcf6785d47640a1ccf464a1a6c8ca555ac53abb";
+  sha512.run = "2821680ce189aacf8b0303d5698d9359f240ab4e470c0e2b052235e6aaeeffc882ea4b9c9c4f91d52b1402ef7486c7115bab8058e2223b7ebd3186fbd4c4c34f";
+  sha512.doc = "97c1b02377328ff75775194baeb2c3e15f2dafee303dbb85c47a0baf7f6edb4323f754578a9caf9db609477204c1310dade3b87d5a768a16fa940be2fe320081";
+  sha512.source = "f9055eefe76d9844e8764ec766c0e1da7d3c61db65c754115cdc47419ab68d84685688e59939f219cc5ab87f79570cd4c28011ca597ee4f89fcdc38c42e82a75";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-samin" = {
   stripPrefix = 0;
-  sha512.run = "c09a329c1494ce13ff491091283608f53a24bb9c5f432b331107e6d7e3bdc098a55dac8a626cf351b38a3041d11d7a3ffe5c466b85e60916bf69ead7ac6823c6";
-  sha512.doc = "e69720e2b2c2c208ac59d6b4b1e4c0e9da157adeb1b11eb15bbe00835c86c5b7daaa447b3f9f4d1556ba8accd9b685d653e395b1363141b950ed114afabaa1d8";
-  sha512.source = "60ef59d8aeb06c962e9f51090a8cbdb8c09964918add820869ddaa62d11c4211f103fb53ad565e97f355d759caee7f585fbfc6ed150f4cccf904e75b1055e250";
+  sha512.run = "fc4e6401ce02b1aa7be5fd78e5d5e74aff6ac35cbb6864cbce6d93fe0b2716510f6ccdd290c82286b8e51f37abe8460c0f8340ce0f9135838ecace7502f72784";
+  sha512.doc = "e5879faedd4d4fa5ac40575e0ccd1d0db94a80d78c3d01f8d36bb37875e2b9025537c876087b85626ccaed5c90f505a98fd3e5adee64ac1bc72f48ff66114438";
+  sha512.source = "4aa4d272188a8a2b6e40792b97df9b205857870f3787153502c12fbaaf81ed61d9d823a7966e147fbc1d94f761c40f179d4025166a48f358821134559a7bee3b";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-scottish" = {
   stripPrefix = 0;
-  sha512.run = "cfdfd26f6951ed6acef320f9785adc9f0cd8a1b4e8e8172004a07eaf46c8c7c966af4b8f81be2bda8a72710a2515ea13b5d81aa652bcc07940417f1c12e2f64f";
-  sha512.doc = "80c0a13d584e7f1da03118eca7faa4e8efce23be6d825fbcff8f21dc66a7da6dd9080ce97ee20d9ca12ea54ff90169329e03afa03c3a792ceec7406ad972f7ad";
-  sha512.source = "760a0beaea21ac17b7cbabca48abdc80bc5b9d42aa17f118ddfd4d76ebae0f500a2fdf82df598a3098d7277812d2668706381d09c908fd377e1c5d81282693ed";
+  sha512.run = "b3f8c2e2c61461c162f4b7c029ced53b5f0c61398415d17044a5189c08460550bfd0ddd15c693dc959b5cb5bacef63a1d4de8a9fe11108843edeff475964aae6";
+  sha512.doc = "87035e38cea316b776f2c61d0c1522e61c560602650bf6955fc7330536fac42dcb17bdad1c3828f2accd10cef009efcd805ed917352ff921d03b46ed3d0bea18";
+  sha512.source = "4e4c7d02ea59a5d7592660e80c996adc11968433a2d88b54179ff15ab577a487789cba6fee4131511a5c22de2025879800544689653c48c0f7560a311b264c02";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-serbian" = {
   stripPrefix = 0;
-  sha512.run = "87b67e49caaa3de3b3b5a2ed957b075406fbf0adb896f1739891bb01d881cb1dba669bead1b865908960485e08c35e61ace068ce45839096dca72a3077542cdb";
-  sha512.doc = "3fa8a22568c7b3108c7eaa504df1e1d7f37eb6815d282d58cf0259d1c7490e7daf2f02585326d77bd0839a65f33908ea7385c25b4dea77efc9cfa3d84825d4f5";
-  sha512.source = "9806b6eddae573bfca3bb0fd8509f703e6469b03c8ff9efe359107d7e171af1a88aa1928220d000ceee143d9fe1cdad0734c1b431c548bc8d4672d0c7320b85e";
+  sha512.run = "d66f09a0b8cda86efcf006ded72eb90c75d6d675ea598048e7003ca8e3d5910d765d202855c3899a5467b71c1fd04e2f0605b8f9ce0aefb0e689567c06333bed";
+  sha512.doc = "75e062aaaf56b2d244c15c7f6b84eea54cc6b2eb2177c5f7dc73c2e82d17c4274dcb4df5f37f7f9ea1da3bd3389f206ced0b6024d9ca26c0d8469bb9cc2e6acf";
+  sha512.source = "2a55f815e7d93bc99d7f0c7ce775ce9e09624ef96c91605b66eb30f7b4434be5c3cad995d25ea30ec59761bd4553ec02157c1dd1ebfdc8429db1855b2becc871";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-slovak" = {
   stripPrefix = 0;
-  sha512.run = "775836ae0269bcf813cfc6335e60b05cd6984281642231ff4e48f8965ec264f592bb396624e526a8c18a22de64ba955a5cabe905f5ac4bccee101a53cf567a8d";
-  sha512.doc = "267c7f8d678ed2d598999487d9ef6290afb27382e6cf83852cfe8988023903532cfe33127b9019ef3ef24ee6806b5a8bb159cf510a25b1bd698d65a4b976e23d";
-  sha512.source = "0cc7c5157a67c51795ed9b43a058f11f8fe4d7c1240f47b29657c612390849929c03bd08a7d2f801be0e41b243f8abd9cd9eb0d4847ce2b08d6d062d8cbbd456";
+  sha512.run = "c69d8eacf36fb7232a85d92e5db277b281b631c0c8f63df7fbba51876d1be782b7196efaaea0ac25140716f983ada40aedaa550102fbe0d445e5cddd41317a09";
+  sha512.doc = "c40e20b000f3fd5ac368c310d1f11519566410963cadaf4aabfb0c9cae05e0d3e8a3810c7da451a5e206e8b5b174ac0b837c1beff207597e050ec529e82acf51";
+  sha512.source = "19547ebf7016d1e416227830b81e95dd6d91c7ab7823d3fc2d6890d628a51074e4ba7b8b5f31020bf86c2fe447b60f22754bbecb3f7e65dc908ffcfa9087e12f";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-slovene" = {
   stripPrefix = 0;
-  sha512.run = "02f0cb9711f156521625f7d2a840e2d524d0bfc53be53b1968f5fbc6778f4f85913b7bab5934a13603010f797edced96e9032d5fd3d5b13bc7151b8998e159dc";
-  sha512.doc = "f89f0836ba1d4c30e27ae3c97804cd81a0a72650e9b671e7e01bb992135ec0c828fb768b125b61527a46f8e746461cb22f9437bde3966bf58ed81fc1a4360651";
-  sha512.source = "95825cae4b867275b39fca8dc1a48039e6068f5edf06a623da9f838497350e229ef7854fe5a7e5bcd98ab3de2fbb17dbc661280321d9fbb386ed436d3f047b0a";
+  sha512.run = "1d0a73d3781fcc9ea0df63e391f6b7a0a254bfa920c63ad1a0c76b56d4770822bc4e049ce18c554974bbb20478150cd7a4f545ef8983bacd31a112fc3acd5419";
+  sha512.doc = "dfb2a9808488ab0e0b225d0a397490f7e1cd2343caf0a685d8e3f48feff2ce549092771f0b4017a3c45640067ad1ede8a852e714b313d9abfc7c9642f983cb46";
+  sha512.source = "f1a60b0173e8c1f6f245459ba35014e4cca9308e2c5aea203d6123cb88f6de945a6f80ae350ecbfce6554f6d2b671f32487825c5f01093c3bd3fc7a1902231b6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-spanish" = {
   stripPrefix = 0;
-  sha512.run = "0962b9524fcbb40912c10d5f2c2e364f9f278dadf76c63bc20527c8d031caa9a6a85ec92e47a38d4a194e24fff799f7c061f52a979952ecb67a7c58f5a4f22ec";
-  sha512.doc = "9e543bdb9acd333282176fe73614e48ca9ae779547d5b664dd35bd970da7922a874f737fff6ecb86133fb59346c56cd57ad69f0d229b998d16f91d1c099e96f3";
-  sha512.source = "8fc10bd792d13f4ad661873bb0003b16256936bc86783c48589b7cb3350e31714f122bd5255459ad45d0d4ba8f835c80e38fe6718d39143c674f036035b6f7b2";
+  sha512.run = "07c321a300d779e39de46628b8e1b95d383e2a1a0af882cc607929d894f11b2e8329cb256014193d428182e78f2cbd5e3e277bc7821d3ad7a2740fedacf14e28";
+  sha512.doc = "629b4a2771fe68715978afcb202d984e1032d2e0f1af95d4971a980e14baf4b0705187f4a7ef9748c024eb27780f7720d8d5010ebfb23026ad8605a42730293f";
+  sha512.source = "78565125794ec1f5cf762cc27fd24c96eef5a1792941d4ce88c85bbecbec777da239db94118260feed6502e55f81b45f105a170e4b6207ec5e4201f043fa67e4";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-swedish" = {
   stripPrefix = 0;
-  sha512.run = "9d976bfb47fc0eeef5b5bbcf8657f3ca5c22d4e82745cb3eedf2237c990932427b31d36566d071f186c3d235a533d8fdca05ef0fcabaf9ad9a16740ffe6175f6";
-  sha512.doc = "fcabab9ad37048045ebd7e52e2c32632121762352e4a4f06e6d6a3be4e157e0d6e0abaf20163ed6465a09444b02562900677d15be97122f8cec456810ff0245b";
-  sha512.source = "75e074c37c0b545fef5dc315c83e3f3f04c76b4ec4b7e0d359d838931bf7a605cb4811774b40480d75b9495d07ae51b9585840319ccf3fa956b99bc0b1ca7ab7";
+  sha512.run = "b904b21b593e529ffb714f3762ca5b8de37e87fe25df593873defa43de3995d1c72b0500217182728eaee6030cacaca969376a5623bc0baf48fe33aafafc0a66";
+  sha512.doc = "7d6f2468aaa20da4e086201c0ffa6e6ae031e2a23db7fcccbb9ee8776c59b56a51cda9a03dfcce9fbf81b618f2e7543272f4ae88871f2b5380d1b98ff89e451f";
+  sha512.source = "bcdb2b0eb40b7acad86b37e215cf4bd3c5376cad8fbd10d7f1af32a5983243aa28d950116d40abf4ae10bd28e32c10022297b77ca40daeab15b6f88ed33758d0";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-turkish" = {
   stripPrefix = 0;
-  sha512.run = "c70299cabada8ab706a4d18633fcc3db8e12f45f93732969193e4472a538c6dbdfe4bce23f1631fb89a2ba011d6fc956df2ffb54eb05455bb1e420c4f5121049";
-  sha512.doc = "2079e93814c90c91fb4f2aad1a17a280f5db3de98adf257b3756f7ba851937c0a3175fc0f6798ad82c71c0b78943fb9140dafe610fc043e663dd7af4d7853bbb";
-  sha512.source = "142a54ac6db01a893f4989c13d1ac332506736067077c0e5b1aa1dfc3f628f54efb5c0f1f56a525fef52dabbf3dd49e63fb515459882ee298959c3809b916bfc";
+  sha512.run = "7d4b756ab2f102c7981376d6f87e5a7f7b47d57b1ae9f821185bd5b04e7a5d9a81aebc7835a9bb43a217dffcfceb5b2c46b838bc652dab7c2f468d9510c2ee4a";
+  sha512.doc = "6c95641444f2eb510a330c7002bba2c40cf28daeb63fd9092d74846673c03d2aeafd1e7d61d5a7470bac95117c3717cd75566907a896f5cb4b54ccbe952c6d65";
+  sha512.source = "da530162bdacda3904b07bb2d9b0ab74c56cec0341f0c0457d6bd2e27e45b2d8c1f5ca298718d96924e3dce30e83beacd0fef919d1b5bdb5dedae29c7b3edcc1";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-ukrainian" = {
   stripPrefix = 0;
-  sha512.run = "103feb2ca14fcd0f3d3cc722008c39c6d7ce7ae0c5662ae8888cb1e3d5d22ae9cc38551832284c5419e72798a8b3cb4332cd04262db3da1556568fa7a2863e08";
-  sha512.doc = "be864a970a62bd8596dfdb3c249206ead0799428488da4ca8e84cabfb18f40ab2931b700417317a858ebf6ec32e77310d439fa9e1828bff2489f011a29f8e5ae";
-  sha512.source = "4f6369c2bc9bf04c7514d747a01f436acca18a9ae439b3aca3836ee2098d4e0f900ec65ec0406d11fca9b56dc000c83de9a26c29103dec0e58199af7607d49fb";
+  sha512.run = "5e3d412b8a5b73bb6bd2ee176305806d9b41c5a67196ddd28640e958a7019b3e73f961964b7510be4cd69833c4599db1fed05c6a6f66d4d0b3bc5ad73b5d6dbc";
+  sha512.doc = "df40b4e156164a1c05a94c926d691b887a56ef8f42baee26e684383871edff05e5c6e87eba95994783cac2fcea1a5c72347c8eb86f0cca360faa8dd4829349b5";
+  sha512.source = "36c7db71bd063a87e8b9f2958217c71c7e6820b4e5536a5cc46db35ef69e83dd5e7b0ddd57038b66f8405d5a24afd21253ca34f7a8d174a26b4a67607048caf4";
   hasRunfiles = true;
   version = "1.2a";
 };
 "datetime2-usorbian" = {
   stripPrefix = 0;
-  sha512.run = "7f93732c10fcc02c3c360b2674fb8e0479bac0bf341ff8488cfac902139b7838579207593deecb55ef2a2f1d2b1f108ae0f9f9e8df0ac5011343ceb28964d259";
-  sha512.doc = "fc64e097697beffb0a8f9c49d03339f318bcbb2444405281617be2c95cc9cc35312cc3c9cce5d4dc314458efeb6aba8c3fb987b0d07d83bdf93a42a5193d33f2";
-  sha512.source = "6a991d9253df03985a40c9696da8458b2d95a24eab034e14a4ed2bea74e2de0e1a5b5569ef2e4275d025f05976ab14657215aaff607880939aecf13528af8b85";
+  sha512.run = "bae799fc523f01f7c70c7818ced0294bbb57a849567e05768c4f1c3f9cbe241755ac2dbda0a9ce0e3bb3f70eec45bae1c0607410302b458370a4c05951d791cf";
+  sha512.doc = "bacc067e851e4b58b2978472551cf869cc9d3d4412ba930b2ab81f39c4fa9ca352188b6a6bffc5b5dc4a6bcf611146b3d1344d221732a7caaf45f95bb67d5589";
+  sha512.source = "dcc7b42ec9873ef0d23026d07165301deda63b829462ab7f4074ae7c828945bc5cff2e2dba372782e250175b596b1be536dd27271e4b2f0913f42fb1a17ff320";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-welsh" = {
   stripPrefix = 0;
-  sha512.run = "60dbdb53dd693ab50215d5ea1a6067549977cf63b6fb883cd5656513ea8ba8e75f50ce5dd18c75cfb4d99f99676c45483c84b6689c4bc6abbf24c876f07ce6e7";
-  sha512.doc = "5e0079860999445bac64fd788ba7535dacd35075e640f8fa671c535369a39979e56d9468249b7515bed3c7c9b5939812ffd139e2db67a81ea70cab10157774ad";
-  sha512.source = "6955148ca28883743a0342fa10355397924bd37c96845df3c68ed97c31ab15179792fe34e098c22b032cebc0f226717cc635c19d2284717214181e1ce816c2a9";
+  sha512.run = "6590e6facec1539e60f9abf746f6359be87983f9c637cc7c571ad08c279d719bd4b820507feee1a18cfb4d97e8710d430ba4fe959e422b583b215aad9f059a8b";
+  sha512.doc = "5d61392e7563d87e5f18723aa309ccbd7c42b3ab19cccd0eda6a714c925c49b259c2202f90d3fc7e75158dfc0f2a34b5104e60300e5d736f655f98d9fe72f9a7";
+  sha512.source = "d285938163f81ae02873bcb55ce37d0ea1f416ddd42ff5dcacac3e8ec82e9d89ea53b2363dbe5b5f3ae93301af7f46b0fdf1d975a5e1179b528323eaa94fcea2";
   hasRunfiles = true;
   version = "1.0";
 };
 "dblfloatfix" = {
   stripPrefix = 0;
-  sha512.run = "0da2dfe1979354090d97636cade6ab02c53aca0c9dea2f205e77fa9745276c8199be6af49b3d312cd74bae4846bdbcad59e269a25e742b17e9008db2bb57803f";
-  sha512.doc = "0baf4c0107050d96fca9a3091c8b535ea4666d67855d8c40cfc8376951b064bf6d84d9b914afd801e514307ccdc87c9acb702253707d396aad87bfcd38a36776";
+  sha512.run = "05931528012077b92702926856b1e0d1aa6472188f9b1fbff74e5534a41a3260e53b82bcdd0684ff045aafaf4b427dab6d8e06fc7a5d11cb42a545949bc6bfc8";
+  sha512.doc = "5790850d01d9f3734cb89146c23077bc852d84242352718ee655f1410ee84b77366bef133d8df49fd46ad976aa007fe2c4039a08035122f93e719c5f0f7563f7";
   hasRunfiles = true;
   version = "1.0a";
 };
 "dccpaper" = {
   stripPrefix = 0;
-  sha512.run = "7ae8d10b1ff1855ce6f1f4917ec7563986a30c47e362b1a58eaf2f36af635dc14354090e8ab4a7ea0c99463119580cbc469510d30106ba899096a439a637049d";
-  sha512.doc = "e36bd4ed494fddff2870bf884a86522ad8adb518f375733599d821d8a5f0aa4e9ac5a347382c291593c99611ebb9d74958de83f290137bc7b1704ffefb37dd92";
-  sha512.source = "a58a678cf9a3e194182a91ff8638b14748c776efc1926e49f56cd26c70a90caeed1157b71caf3b64b56a5618106027ac6f9e4761c3a4c14a3295e52106917b9d";
+  sha512.run = "fe202a6540c5e95f4c2b2914409081499d31f4ddff41c9d7d25630d00b3dbb3bc7fb2bac4bf9ce17b67867561d8eee8625d849da1ede2e51f706ffec21fa081a";
+  sha512.doc = "59765c9239c6ff8b263b3e819fd26c7bed841279394948fe902bdd5c5364fbce08120db366abf2b90fc8364933cedb834f982d4609e1f2d9686bbca341e3816f";
+  sha512.source = "41b0b7f978c0bf5109c976a76b593473f492090a5f392d640377c24a034c26a5829b28e317944876287b9a0a092f47f3ce85195bfad7b4d2aa41ca226abe80d3";
   hasRunfiles = true;
-  version = "1.7.1";
+  version = "1.8.1";
 };
 "dcpic" = {
   stripPrefix = 0;
-  sha512.run = "abea5ce71849ab3b445de50fc16422b832935284d54f12302d385a8db4d21dc649c5c2cf6fffc66e6f1decd69e673c6a09dc8fb654878dfe49452150e1653389";
-  sha512.doc = "cb770ce774577d44034e4897ec8bc4391a69c84868f0151f45186e1fde07ce3f4b4834e990c6cde0da8cf58900326ab683524f443010ae1ba90197652a3a4ca5";
+  sha512.run = "6cfae1fe50baa81ba778ee1b8cc76dd2d0e66e3cd4a868364857f2338b1078ac81178dbcea81d4edbe013726b7cb14700506f38e49eb528701bf784280ca7de8";
+  sha512.doc = "25f768812f31cfc3e4d00717ed8d77392272f2480efe3311ecf5e922b18e1f5b6fa36892c7eb69cc077e350d5d7e55b7201673fc653c188ec8a76205f90b681c";
   hasRunfiles = true;
   version = "5.0.0";
 };
+"ddphonism" = {
+  stripPrefix = 0;
+  sha512.run = "9ccd7a8715af4a808a72d4dbc96a1216663c7eddb7a0fea48b77bbcb546a12d0e9de00928189b424e9db8e612778ed53231456d087a1eb83bca827852c9691c8";
+  sha512.doc = "d75ead2518ae448eba251b3f43431751f415c9650e9ac023e1647fbfa828f700ef2fa3a19f53fdd6e28c9e8461e071fabb7c016aeaa62678ada20ed0b96017bb";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "de-macro" = {
-  sha512.run = "757b8ca64cf446a01ba5e1ceb68f84dc4c89e7609e8a148b9105cf6b1646221e0004441023dcdfaed2daa5f65a650741a3352687b5d6c245e94d00c9daa18896";
-  sha512.doc = "d45a17b93884394dd52d8e0de33ec715aa03ae98455dee7cdeb2bedaaffeb99a7499e794c4a267394760ef05c79e5a34438ee53f9ec5cc23f3bba5db6dbc1dc7";
+  sha512.run = "5ce9beff85d65654173557af668ff15af6989d9fa6d341fe9c26149d0715ed7cf57bf5b2a59b6cf99e8ec14e4ebb6816e9972268516a0b2a78ee13c6423b3599";
+  sha512.doc = "05793930357ad58a57e221696d836895f02dec82cc93b9aa7ea302978bee24410d4b382ff72407faa67f4133c75a84fb2454957de446beca05606776c6581ade";
   hasRunfiles = true;
   version = "1.3";
 };
 "decimal" = {
   stripPrefix = 0;
-  sha512.run = "00c5c1cd9a81979e447b59b43fe77219a2ed4abfa16848d791f0ceaeed248154c690d7bb5d8331526c35cd5a7f8a50e0406636370cd21bf608383d430c0cd7de";
-  sha512.doc = "fb4850530e0817523287500470d318946f30c6ecbbe300f9998152aa2aeedb0fa8b5ba14e6e394ad142cce16acca23d86d05dd7cc34eabd07513b9c5723c3108";
-  sha512.source = "ffbc4c2a70a6b61b2e62e36e83da4e5b97b65310155a0634ba7c3401c09dbf10c608540a7a51e2ec89035b17be09f54d077b90c367a09f7a7e0c6c87d12e9d2a";
+  sha512.run = "9a0d0947eacd52800b3b2cbc36d6e866c1876bd5f929896825dc604d9d633cfb169d93de0f86b0e78e3274936bb47834c222ee54b3571bfcdc0fe81bb2821776";
+  sha512.doc = "977fc97627bbdbf4d65844dcb7ce267cb2291b102b718ca36ba2fee881d5fcf359d6d0dae839d4e640200d3b8a31cba301d20560f5002344b8ea256266efc9e4";
+  sha512.source = "a880091295229345290acf605feb833489976ed3b661b403c8effaabd07c48730ac958a4b48dd48d429a3f031413c1392f4006b820f04e3dde6b2035a948747e";
   hasRunfiles = true;
 };
 "decorule" = {
   stripPrefix = 0;
-  sha512.run = "a1745e0a3e7a28bda4fb8ddb9932b9c822f3548b0f3479984e75ef1bf458c68c3500fe9202925dacc31cde9445ae3f6a86176035bb0698aa41d93b7258013d9e";
-  sha512.doc = "ffbe04812d249dcd60ed310c2bdf8f1eda025af3ce4a71d90a9dcbc8edb678eadc3b11f22fd1823a46e49a6fdfe153f8b4da8ab7bfc509fd3fd2f6db69cf72ed";
-  sha512.source = "8e13c353244c54bbbc057a69f8c471f6e8fe8d8de438a1450c27e015261459c50fe4c4cc9cfba8122349e3a960a844a58c4fb270877e3cbb2d1e748614aac5af";
+  sha512.run = "e5a962002f66d4d3a5c48d93930ea2e14a68226a1beb9f9aee5b7936ef51a49b4d9a249b7a3038d5ade41aef8388ad78f254973e7ef3558e42848409427e5cd7";
+  sha512.doc = "533ca67eabadea3125dc359a839d5b45b5e1efee88fe74b4a2b911014b599930419a49e7e0b5967e5f89d29e1b452d223faae3d31fc3f94c64cb613907cc2255";
+  sha512.source = "1d612d121367ec69f578479001602aa2a25251edbb35c495a13b636e23831e8dca5f7a2715ad6fc5f3b5e3fbf3769d0b90c88949f5fafcd8d778e8489a80892f";
   hasRunfiles = true;
   version = "0.6";
 };
 "dehyph" = {
   stripPrefix = 0;
-  sha512.run = "3fd71f830b2ed720a7ca339143f0b0108a0c7a2d70e5a9fe2643202ecc96be3deae0dcd69f50a0aea82b1c426db02df3f9cb4970e8c027b12d9cab56fad1fd8e";
+  sha512.run = "2dc4ee5b4389549c032f3a4d87740ab3c5e296a1ef109a6b673656a82ca4c317ca774f39f61417568b8ccbeac787c4058184fc893d53799bbf0b042ba5aca9a2";
   hasRunfiles = true;
 };
 "dehyph-exptl" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "78b2589bb881f628ecec66cf3fb5829ff2f752faa4129db0d06321c63cdd229ca3289fc788757508359f04c3ab17d7dd2af87b72f27704cc2a172033a133517f";
-  sha512.doc = "f4c54e5fc362b37f8836b534e2ffb697f0eb123aa2fc3e46a97a373e0e7ba76d5c7c09f2056c847940e2c22106c4e1440cbf7288fc68374bd08598545a451a3f";
+  sha512.run = "df64c7988e8194564716a0abef4949bad9b34b8571a579148cad5eeaa3676a6e066c9eeb183f69d49e5089ce92ef45b4c7747bb4d23334c6812c900c91069ef3";
+  sha512.doc = "0199cf3ca0a7fc36fd3b2b736be56c3baa1430422ec97a3bdf86e740c4117ca73cc0b7d057ebf40d1d48def4d5156bf51e9023604794ac3cdab19f0716d8f6a9";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.6";
 };
 "dejavu" = {
   stripPrefix = 0;
-  sha512.run = "4c9c92c9572973c24200e6a1cb475879ef0324833e1f5b201fa642ca1cc0bbaff7442a5b91f381515144fe9597883ce622018ff8df95e0b06d0e8a31d9ef3535";
-  sha512.doc = "97a8c3c6ad9857d75e1aab8afc8bb1171ad641f49aa4079227b3ca0fb1b690e331db9298c63c0e788ba6d5dbb3a38cbf0a176469a5748640ba50ea23f358d491";
+  sha512.run = "a26a57bd02b14c6e67d328c2c00174730b819f7da37ac147ec7f34f37195b6aa17e3223ac4d03617f5239700b1dfa45ca1741eed7b4488d2e604f02ac34ef2a3";
+  sha512.doc = "7e3364a3e0863c63f2a66057780fa922cb53f4da2f81e42ce9e200d5a034854216f4d4b833756a6d4d6837385e48aa8d03f608846f2f95caa84a7ebffe3257b0";
   hasRunfiles = true;
   version = "2.34";
 };
 "dejavu-otf" = {
   stripPrefix = 0;
-  sha512.run = "a566a93fa963b5b0a3301363313d090d02d283d04cd11ffff601845d5261b45875cf2d2d8e89c6996caba315620738db93ba7707f4e4710d74216c2360c322b3";
-  sha512.doc = "78630824e4f05b4f4d19491b6d78a6ad58a3f717e93a54b1b566175a8f0e7de1d9b9e1361fd512a7fd5e84b6463e321f577caaf9c1b0e2d42d4061ad7673a3ed";
+  sha512.run = "d0d32f3c9d53a1a61e6e717a6275f3fc934c0815fddc3b36fe2afbf7702e5128d4cf15e8cdfe8b02009a6fb7c203ea42b134eeeb080b9765ff99c4143f887744";
+  sha512.doc = "212663371f747b03694327a40de3bec0be8efd5cda15c0cc343284f3a427890e8d16c4223098fc16a260b837a9d522c9cd35876a4c1004e09ee9ee29c05ec7b3";
   hasRunfiles = true;
   version = "0.04";
 };
 "delim" = {
   stripPrefix = 0;
-  sha512.run = "398319d23e1fd48ffcba14d61f7299fa7b42b3365abee3ec2ddfd9d9f5b7bebdfa505bfe700017d2b67b7aeb5aee756b41a516c7483bef150cc56683572b3d2b";
-  sha512.doc = "6226f6f7c6e57ea81cd396876475a88c6ca9aa5cd300a7a5665d72dc60c3f5ce6bc042193de728a09f60d69924374c40ccfb45e4954342c1f163b8dd57d11129";
-  sha512.source = "c77fbc32522d65137251c7638fdeffa704856bf8b3e209cb3db94861111574c3dfcfbb3ff85d0795f0070bceee0e544a369f6af3a6c94cd486bf0c1f42f39760";
+  sha512.run = "c18dc230c5bac8db3d66f062402392761467ad18f48a65930a960c0772be30a7ed729a50657b12f533d72086563a67a98e8f5ce7afdc9947b52146e76e22b157";
+  sha512.doc = "c343842bcc03981c1814f5cffa2ba3eacc2e6abb5673ba700859406869a2398518e9abf02e159f4d92bf91383c3a6cdaa9f5720adaec81715fa30f4b8f36ff9d";
+  sha512.source = "8ff42847f918ab8d65eca86ee8daadd14ee138f984e06e1c4d66704ab4b6c53c1271b23aeb33003f9a7489e22e29850711efce99459f10764150742854570034";
   hasRunfiles = true;
   version = "1.0";
 };
 "delimseasy" = {
   stripPrefix = 0;
-  sha512.run = "a002802ddb2dc32b142165d8960eeb194719119cc79bfeb92944457321e3919bd97fca7adb33647c902f386dcc0754a765b3f17db49cdf060105d8fdea9223f2";
-  sha512.doc = "c483b8d91757673a96f3f9429fa52a0b352d2a33bd2310e8da641465bdf2fab4ca521bb157fea89553635c3c992e29e318441930ac5b51a418aa78e7ab949026";
+  sha512.run = "7f9b1d77e9b9bdc6e5c45ed3c38606fb0d65113f7303e03f591c1b84aa83748d72fb8ecde0cd0c7b19d1bc9fcb454834e156429fd9080660aec77ddfd7b53e42";
+  sha512.doc = "bc9c1ff757a9d98ff9b84993cedb62ee024d0f4aafee301db0d862be3d45c76d8d164d2d3099ae37d41017316282db1e7882330dd10de43a9539ba0b10e86b08";
   hasRunfiles = true;
   version = "2.0";
 };
 "delimset" = {
   stripPrefix = 0;
-  sha512.run = "6f1078f6a76781a8d9a2dc870ad6fd51355b7290c58967425e8d85b5e9ae0c6be6762d4e23b1bb35ea86028d7463dc4fe9e4229cb7571a8e34d648a6868bc5af";
-  sha512.doc = "85f24f819026617502995db52d1574bca1a2dc76b85b01757c8e13b7eb34566e36c2ee35ab514909531d99bea32324cdb9f346849c340f14b0ce471150bde9d0";
-  sha512.source = "1f806a054564b6b76b15cd8bbe9c4ac3bead01d5b5a507fe88105d7b9b37304d12b76a1a2e733f5d897d3501a7ee7b4f8dae2669dd3d5fc243e5f58490e7ad3d";
+  sha512.run = "5c19bda2a87de91ac1d32981198ce7718d490184d4d65dade231b66c3f46621af91dbeb89bb79ba1370fd82a0527d01d0aa7cd9dddeea818e8c4b4380a7b63ed";
+  sha512.doc = "9e671fa601b878187b5b3ae1a47feffb6c451fd42f202f948a87b02f35385b47239947a3e91260e699c64c453df161d9ae734fa3a8e241b0e47056181fefc46c";
+  sha512.source = "d5618af6db29684ddd58164c9f55fbee73417d6968550361d7277558de98e621e2d1233b593c87860ccd8f7beb66a3c2369518736e14c86472d77425d6499869";
   hasRunfiles = true;
   version = "1.1";
 };
 "delimtxt" = {
   stripPrefix = 0;
-  sha512.run = "9e2c7fbbe0b86c9059be8b58950a7495f4e67f5ae1a1c6b296b5eba614e791efb3214aa3aa66b3b5bf3e158487f3da8a0cb749dd6ab7a0315655676555763f4f";
-  sha512.doc = "b7c54f4f24b63df675d8d0dd2356a243fab6aed848dd26f0a0f627f9faf512ca644b2f8b9e8c4ff3261a8d7edf87e1b47289a95600b34ba3bb5c9fb3e61d1c59";
-  sha512.source = "fd90108f697989fee93b195236c8f5eae92ab4e276cb68bdf4d30a33fb9e608f3d558034f0bb4751ad29d596942f5e034e8e2dcbee0b02854fce83f0f70f776b";
+  sha512.run = "25332ff7d2602047938630668c849829844fcbd622f911542bccd59d2eb1293e406cc79aca08ac3acaa98828b4a6fa4da98feb08fdf678ad3863c70cc2fc1817";
+  sha512.doc = "cd9363d8d44309c2ca51431bae067d87c790180eb884888144cd089cc9c14f83e1e7ea2389650d547e47d4575755a5b6b369e82b76cc19150b1dc973e99109fe";
+  sha512.source = "487557d866b99ec0fed6d9bf18c4bdaffa4ad6a8294cd2e9c681a4f65fbba051a97577b82e7170464daf4eb9f154e66478f46512331e1f4f41b48e61d65a86a3";
   hasRunfiles = true;
 };
 "denisbdoc" = {
   stripPrefix = 0;
-  sha512.run = "35392ca689c9b9a5f19fc514735f847b5b8db0c4726624d4089037f8a6ae19c070d73c56312e8f1aa330888dae53dc82a68ac74a2109bc6283508e143c057f12";
-  sha512.doc = "46f7c310f68087359c3fc3dee548d52fa26e7e2f8a7585864318efa5773239ba8f663dbc6c3128d5c181ec920f4bed02df273b446f4e39c51dc35d3531f74591";
-  sha512.source = "bc5581e64aaf117f21325a0dcb86929b8862a034d5efaa31742ff41ea03280d4f93e85de0f07a24a465dd6af1eb60c0993d6f74c016c0e264656516d123c7b4a";
+  sha512.run = "c713ac155e390d3fc75549fb7ff6e3ba13ebf3b3b1a0c001dd39f6300fe2b55ec232221d5aa07b84c87ab7daa971504c20e5f08f033ef5d36dcf9af097128b74";
+  sha512.doc = "561342a0807ca00550410463755c0a348c97e2ededdfe7e6b55c99e34b8a93928167b33e1ec0a7529de6280ee5cdc4001f051234b9c4eec9c41bc2c560bad62c";
+  sha512.source = "e6c27403b1b6603aeea35582f91348a65a5466679a51da2926be278947415f7bb16104220891c3322423115aa973f66ef820462eec7b8680d6020c8364080c52";
   hasRunfiles = true;
   version = "0.7";
 };
+"derivative" = {
+  stripPrefix = 0;
+  sha512.run = "b0fa98877855c265cc0f0973a0b848924f189f445403461f22998dad4bb470ecd5b117075de8e2cfc1292eea27d93b258a1fa0ac1c005463f645ee6009e08315";
+  sha512.doc = "1247f1977d624e4f00b505c4758b1463d03768c4d47e6bae368965566bb7d6d0589951d0c356dfe024245d93e8d8f0f584d3809273e7474beb8f5bd100ddbfa3";
+  hasRunfiles = true;
+  version = "0.95b";
+};
 "detex" = {
-  sha512.run = "8d0578d3d6e8b57628b925ac3a4e80ad3395ddf369530921a5dc5ca10874d94454cbd7217401b8a7e64b4bd0fe49aef448102729bd27774d5b391730a43277d6";
-  sha512.doc = "51c53fce8f94081fde38d59aa47b1220f0537aa5e0a4c0e95abfa7cf8364856a84d5d09e51ebc1434c0617b375a0d3a22c302ef96e53dc774132af26e692d5f1";
+  sha512.run = "cd2e97f09a80642c52b2ea02b8bc9f81651de23ede8c5425a6f37400191d68a6f1c25ef451d4048a2b2cb4b263fb8bab91ef5649d8102396c98a5d4761db1d7e";
+  sha512.doc = "60a69f4447b51dc7c2b8a15d2027a30dfb47fea82713617f0d4699109711fdf507ed6d2b7dd950ae8afd89b838903db4f94ea5b91755cb1f53feeb433939f5b4";
 };
 "dhua" = {
   stripPrefix = 0;
-  sha512.run = "78c83ca709701eaf068b4ca9a6b058fdfb1ecd495ac8a7cc6996106020c1da0dcd34d17e4bdd7af8338ac182186435a99b4dc15ce9a6fe97ea967eec03eed880";
-  sha512.doc = "7d1702d6041ab0405d67b57e26de3181d30a050c3ddf97739a971bb290c765b5efe825d459fa20d5c8bc12dadbcae2d54345b068610928d65106ef4684b801eb";
-  sha512.source = "4fd741cda3aa61ca0c6e8702860f68a454deae5a539cfc8d0486df993103e79993b3e8e3836cbda3c62c5c234065b2de020ac0dd0803e2aa9e51ce127fe7ea8b";
+  sha512.run = "c6e6187bdfc80cec3ce092a4dd3605055f3ad67ff49777bf0948af128c8b48118247ed9ca6f5feb1a69d32719f81968d8259794082a28277796eb6beccf9cedb";
+  sha512.doc = "a2f9f61ed61c5476d5f70fdfe59a451e7b3cafd3412336c5767b53b0157416149ee9ae924834f8a05beaedabb9e4a8dd3e4dbcb2f17b733af113c0a8085e363c";
+  sha512.source = "ff72f267dcbd05830664f9ebc328fa1b6b80eb579627c5ae78965b47b8b8605ddf33c6b6a9b343774b2944d985afc9a9816924f23e8e7ec9fbc807f00bddb143";
   hasRunfiles = true;
   version = "0.11";
 };
 "diadia" = {
-  sha512.run = "9da55c18d8c4793f8489dc429fed605f6f1d0a01c4440aed744161c9447d56c022b47a0721d39aa100c200bef7e4952c23c124af80db1a51845618f0a22111cd";
-  sha512.doc = "86aa3f4afd1f7ff19f072654b86421551b22a715f71b2dc17c2fb79e4f753914a41a043b5673f9502c4064f9c5865425de1c3bbc84565e0162a9018005585161";
+  sha512.run = "55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68";
+  sha512.doc = "e7487bb47fbe8aee714304150c00866780782a9ad32bf6ccbb02799aeb251345ce1cf042e8b4d7b4011083a3be2fe3b16b78f25a4a4206d173ac1384716592ab";
   hasRunfiles = true;
   version = "1.1";
 };
 "diagbox" = {
   stripPrefix = 0;
-  sha512.run = "6aed511fd3b1a6eccd265511fd9b06756c1212815c7bf9539b42916bb8936e345a729ff51f483a5cdf959be932616aa6ac9ac02dd103bda9a4b5b2888acc9583";
-  sha512.doc = "84efe8524fc846f3f48bf9830f4c3247e8f3e3b13c389f3816f097d0bfca949600601c5108435e84ce50782384df0cbfc60fa6a15e90385f21982c7d2522703d";
-  sha512.source = "7d9df6c4557ddf56c92c9d06a2389a68d7d09c1d8f77dd47b3b9718ed2a79cb2ec5864fd7ea80cde800b1d496ab542402fbbdc9dd99f5e38ad8dd8b8d0904a70";
+  sha512.run = "d1a45837a94efb7361d7f0df518170263d9ade42110c95554531e3e877e328f2918e63679220125c6803e2338c9095ace5143a1f56fa154b75fdf7e0b539dbc1";
+  sha512.doc = "e986ab45e44315739a02a48489076be1ecc4d19bce3f3f7689a58c78fa1d63b4375955f82ca4e6f9cce51b10c14a14068ef88171dcba9bcef4e962fee1a153ce";
+  sha512.source = "946f732d453692d9e16aaa8a48c862bd8f904d7ec23a1c51a419582feef30b57f3e864aae344598a9ce610ced52034a1034bc8542f35881b642a284001c330ae";
   hasRunfiles = true;
   version = "2.2";
 };
 "diagmac2" = {
   stripPrefix = 0;
-  sha512.run = "2d5db3fc311c588a6fb7fae2c2ffb36e330b90485ca1bca77e3796d8cda8b8da9d9b75020665fa65d2564826576e9cf27b5a4d8b430e2a2fe3a14c0cfc6ed814";
-  sha512.doc = "5c6f1ea99afc70106b826474a3724fdf44831fc2d7bd8a120b0e86954e70d8d5205fd3f75430fef2638d9e4e41ee747fb1d53a73eaaa408724a19cfcf9348747";
+  sha512.run = "553d3610ef7bba5bf669040cfe6b51b26718b9f04835413d43c3f8a018a8a37274b445bbdbaa4a512aaefc8327f6a2c7abd8d754b3d8cbd4687c9c518265ad09";
+  sha512.doc = "37952cbaa4c20180a2d09455c748b245927245c40093510a79fa0461e5836197d8bc05bdc3cf5c7bafa72c54cb503fa9722d7a8ff9a0630ad1b5e8382b4029d2";
   hasRunfiles = true;
   version = "2.1";
 };
 "diagnose" = {
   stripPrefix = 0;
-  sha512.run = "8a1fd10a3ce3767f7535bbb8d8a2ad5c4bf93217195a266aac9cffc8911d066c00e6b30d7516ef35d2f0bb8401242cc81554adb5d81b923f69db8e7ebee8e325";
-  sha512.doc = "dc7a9259ef3f657ed045fcf2f67153f941e355d54c35447166ec5d782953e3377e2bef6e9225162d8e738a5147846beeaec766e26bc04a8eb27ad3fed580c996";
+  sha512.run = "91fd8eb4b7d896f27c15c2b3b2a0a9bc839bb736a1fa053d47896c6b989729c3dc3a644ad59f6b3bd4164c150034f6ede5d52b680fb1c8cea6838dc70713f654";
+  sha512.doc = "f3e7152e656ee4c5f6ac28205b1dd5e9c0cf19c3d9400e2c40c8d8e9fecbcbc01cb1f7a36534849b6ba26f222f9547e3d669114a7d8923645528b7150cd10de4";
   hasRunfiles = true;
   version = "0.2";
 };
 "dialogl" = {
   stripPrefix = 0;
-  sha512.run = "c7589eaaf5ddfe668c0153505ad8d8251b2bffd442a3afcef25732e870b6d7552da6ca5e7864a141120ab036b6be4f9f7a47922264fbcbf21499d27a9d2b9f43";
-  sha512.doc = "61329d07bfe28603096da087e8dd14a686f1db0daad0fcbfb34accdd603db610a8af1ba48633ae4d69058f73989e81c5bf3123cb53defe0265f37171c73ac84d";
-  sha512.source = "34db457e1ebe15ee633732f83b9607dd26d41e3b2856d461ce335df9dc278d7692c93808b8084057b358e14d49f304511ed052b39f2787a1b1c032732365094b";
+  sha512.run = "68fb25b66499e289c7615fda04fec859d2a3a6105ecb3bc69ecd0e5af8f87027e74170495fa587f21767028d9f423cf04e3d11768ea0581a7474e9a66d62882a";
+  sha512.doc = "cc1fa10345fa089cd86ea4b0a638334c55c6a57cac3a9c549469cd52cff27b8eb3d349ce14d49de14fbb65f41d1887bf98e9c69081688703d8eef06e6324f684";
+  sha512.source = "0a39faa751021dbfe7638f139e50689201f93d4490339af70b4ddd42a77cec252cffe7a18a5ddce43ce8dde7f9645dd088fbe9c6cbdc4efefa65280f70c54d23";
   hasRunfiles = true;
 };
 "dice" = {
   stripPrefix = 0;
-  sha512.run = "b5f13508c7610d4761c86ad6eb4a5bd4767e30926dda2ac33d43e48b8a580bf479b38fc0791778f71109627c9f1774f79a85c0017cb76560e8f5f38f38425aa6";
-  sha512.doc = "a28869cb1dedd2122abb46029d8889d3df24adf39cef4c4e2dc62c1ba253bc27f2e77c7062845d229a6b0222ff6b8695fb0698350749c4a7b4e10aa34f3158ac";
+  sha512.run = "7ec762fccc174a13f2a84ee43aa49319548aa970f017cd17bca73add506ca270a6ac621f51ff96d47a4f5eadeafc89ecc44f1c99b31a2e76722e648519e1fd69";
+  sha512.doc = "9c09c47b70e28e4c8ccffd4c75f8cac7942767279d0e01e543538ddf0ee70fe60cd15d1e3ddce27b56e1a9f865d5ad9b1794a875e41d131d763c11a3e0fb96ef";
   hasRunfiles = true;
 };
 "dichokey" = {
   stripPrefix = 0;
-  sha512.run = "b3b87eead07327dbe3424a65b1f45dfc5b6d706a57daf822f9a66b318a7ab05124c622ee931d5d3c261d8eb4084cec9510469dce298f7ad3ba254b2e4b2f78f1";
-  sha512.doc = "3b7a4e41bbfc67d72cd1504278b3b872dfe8ed9a60b171609518710ce9948eaf463ba0a89bf796255012d42c905cb27106131a4427f50ab5bbb71fddbd7ae98a";
+  sha512.run = "8ed4f0010546af68390f93642cab4495226387fd7461383e32fd3dfa72867050d0da05ba90cb768c6893afeac9bfe55d23b7299ef4a76432e8d11252012b47a4";
+  sha512.doc = "16a75d20463a0b0b508c2d50aa67a77999cab525e003704ab34663d1f0212c39432caab0e4df1c69b540be014bc86901031c7c8f647ff18ceda77dcef7239233";
   hasRunfiles = true;
 };
 "dickimaw" = {
   stripPrefix = 0;
-  sha512.run = "dee696667a2c05150ea3da51c4c60ff67336aacaf82a787d9ec4bbe0c04b1230fcb6a175d35423f2ca95ecbe34a9cf4930b5e099ef27593a295dfc217bb2d9dc";
-  sha512.doc = "c915f7cead9835528f7a209f78030a96ffec91d1fdc0d340371121cd479b87c301de458e35878c4229a232879e49615853b077c4e80bcd06a7544eed0b623d9d";
+  sha512.run = "8e478160699ca5dd9c52ea7e6b0a7be491d0af44b3022c22797b02b9e6ba6ef67ce9dc35649d9a2ebb9b123e3fbcc02c0602271bd8049a12c4520a32a15d4ef3";
+  sha512.doc = "5ebe8605d1a4ebeb11896919c39aa736220e9ca247912b5655dbcadf03bfa45b4cdfe44ee6555bf8d5ecdaf63b0d2527d3d58ee6d7056a194a6a42f88ab0aa41";
 };
 "dictsym" = {
   stripPrefix = 0;
-  sha512.run = "44d2bcc9ec9f0d1ad8f9cf75d5415de89dcc77fa11d4193180b8c63ee67b0e55eb87b95b05d0ae0cf7f35b7f3f85d93ff79819020e11bfa71e249adf61bb748d";
-  sha512.doc = "1cfb975605ecc9b8c5f3005f6803daa6daae9369348a70238fe4950e594c71781a620e19dabfc024bd3e8db620a66a5fad845bef5acd347402da7b35a6a22345";
+  sha512.run = "6195ea914b422d5bb1c098e3a8f103d91aaa94520bdff1f5a04d7c952f84f16b1aa96287dac4a309d8d72eabac65a5dbaca275abc211d9290266cfb8f5fcce3a";
+  sha512.doc = "935e67c0be73969b572146ccfc92ca42c15b3b5cf2cdfb596cf3ecb9368463b793d530221d2a7e90df18edd54b7938dd27d1ee00757b580c543ea59ddce5d277";
   hasRunfiles = true;
 };
 "diffcoeff" = {
   stripPrefix = 0;
-  sha512.run = "d8a09104ddd3d6166a54dfa50feee0db3a7af04688dc92c663aad81b505f5bcc2c62b00543a822f79d6534fc0d2c28c4550c3d5eaf02d562ec00da93023d3a8c";
-  sha512.doc = "dfadc83524ca798a599fe2e3e6bc672428b09321b302b5412d02e85faffd4da01159202742173f0cf7e0f3f4df12e20cbb44c21d67a0b5858c48800688b1ec26";
+  sha512.run = "5677888e02bba39b32d6b2e421adf69e7777e76552bc8a4a30e157a0a2f20d040a9638a382cc1df1542e6d62e1cbbbce015c864ac54ab5b1e98a092525900a1d";
+  sha512.doc = "66bf438f6a88309c58dc22df80992afcbbba5a25a23bd6726aff777e2d628bc11c423c24cc142569ec1c713af97c8575e409af96fb85e3ed1c04748ef407dfba";
   hasRunfiles = true;
-  version = "3";
+  version = "3.1";
 };
 "digiconfigs" = {
   stripPrefix = 0;
-  sha512.run = "e86fd88bdad9d702a4f1545696b9bdcd0898f33694f032bbd4fc6abe2f7cebd3ffde1db94a630c15c823afb59b9723213740f6786340ceb77f4b279fef975f91";
-  sha512.doc = "ab47be821ea3850ef015f6cdd57241eeeb330d04761c841999cc0d228fa6f37ea7bf4641e751343a581a0060ed057f0a56cd10e3887f722c7ff46e701e5a344f";
+  sha512.run = "a1d5cf0e93aa2722087a491d49c87c1b6c1dc863a39807f28dca198d4c52d8add42706f992ee91b6a42fdbf379293a2aaf3a21199094526c545f41002e8992d3";
+  sha512.doc = "95e948491a51321671b15aab55dddd7c6b8bad78bc67bcc25db0970dc478d1bba898fc2efe44537a18d46f3fcc73bd2af600c4a74af4982e8de8a5fc0345a134";
   hasRunfiles = true;
   version = "0.5";
 };
 "dijkstra" = {
   stripPrefix = 0;
-  sha512.run = "e0fc809dabf7e8367d1c22b88d4faef748dd694044f2af7abdf6ada699ac9415b93320295535687f4cbe575965edbef7da4ac69b8bccde73d85f64ba9e146901";
-  sha512.doc = "1803a8918675d4ad37ba8151567a78de6ea6f0c282117895f1813da9bd6c88f7f0f123667da02a4af52c112e79bfa0bb796575f6be3a8daa6e60c7c73d8e4216";
+  sha512.run = "2b3d6d68c6e3eafd1c88eb44c8ab68f27dc77326ef43a34119679b0dc1c1c584db8568584956617354f359a52792c6a2c0104dddaa1ec389004dd673ca749136";
+  sha512.doc = "96ed892f5c910421eb5cabe54c4a7c6caf4d9cc139ae7dfe454fac9e3275d3dab4690db877bbe8fa303523f38cc563611ee5270949a6d2fa8d7d2593c1bff06a";
   hasRunfiles = true;
   version = "0.11";
 };
 "din1505" = {
   stripPrefix = 0;
-  sha512.run = "d44b2758273e4cdc69721ea0be9de88dc1763b69821df76be8ae341809f538278989bebc81633e597c7e4e11b6c57a07e474781239531edfd2f216288a47889c";
-  sha512.doc = "be4913c9ba87ee6d05c3de5ba73f9d67ef624b6e093908ff4823e9e14ee5ba295462ad497249e23811a1cffcc2b17da261b6f7513deac1bba5e018bce7181f0d";
+  sha512.run = "cb9b819eb69ce4870dd36da844b1d24e4f678ad05f43eabbe861e9de5b53258e45e70530ca76c0aa9fcf54232e8f33dc55623f94c1d9e5fc3dfc48481093c3cc";
+  sha512.doc = "4479f5ea1e1ade4bc7951d5722e397a688e75293da55ec57dd0f3d32add2bd551844da81336be0a77cc783e4c9af958be46501c4b78adbbf8a5463770b5cbb2c";
   hasRunfiles = true;
 };
 "dinat" = {
   stripPrefix = 0;
-  sha512.run = "182665e612cfaf6895faf597cc0f9145bf35e3f0d1e3825f29df8c8ec9640adee142e9719cc30997d8f7a9859be687f005b2bb3e1218e2178de4d6455f0f5708";
-  sha512.doc = "542b327394cf804f3cfe64ef946030aec62cb35c69e2ac6cb5f6bef305aab0b575e0bcb76274476c60081cbb860dc382eaa8039eeb2124811a7b84bf42a058dd";
+  sha512.run = "0b22f43a5088f669820674b46af72e66f3f2714a36052bc7d18c334b202d0060fd07b1a608626adf183314d2380fad672baf58307ed83aaa888231e75c63b1c8";
+  sha512.doc = "f4491ab35e2ae8003faa8220e88c0abd2d970cc6b985d2baf993effd2ebe94a964ae8ece6db70a55f922abc83c91cce5f598ac2e722b5eb7e1584aee436e4393";
   hasRunfiles = true;
   version = "2.5";
 };
 "dinbrief" = {
   stripPrefix = 0;
-  sha512.run = "e47c60c8dc28ea59c0c50792b22a82e32c4879820e3df0a33f496b18b87b9f2e83dcf9fecee62383b621c3dc2826d2e68fd61fd7f1decda99577d8c4ae63ec2e";
-  sha512.doc = "e85a36ff3b35b66ad186ff748fe43addc16f3671abe5aae5c674ca541dfa8670c0b718f5162c1dc6f1a870aaed9e5562f14cae85542b1cd6ad4c0a89fd65477a";
-  sha512.source = "82bb581c0503006455c0700d96b9ca4f7776d3784fc604256ab6934d485d4233e7dfd2a95a72e41c89580708190358403f51785d3f41cd1548aa9efd98bee318";
+  sha512.run = "0c2679265417acb042f81300895be7dc7d6b8d8f0bfa2ff8853b9c1adbb6bae78598c7eb4b7c2c91a9f95959ff7a7945f846e1f262f923d741e6fc77458be9f0";
+  sha512.doc = "5182bf0761a484e89331ced44d05f82da097cb7be010333ad3eea1b987119af3f3e2a3cd8ac2c4b2b6149a09a5789325edee49205fdfe52d2960c12edacad0af";
+  sha512.source = "0f81c2cea6799ccd39039b3fc9c45ab38b2041d0eef6efad245cae9fdfc17a7f967c24509b241fd19870170b4028ebed40db25884556bdf74e0ce2fef1a6e1ec";
   hasRunfiles = true;
 };
 "dingbat" = {
   stripPrefix = 0;
-  sha512.run = "207629d45e629d9d7dcdf7e75a23741b1a92b3f6fcfc49f6407480f1b534f9245abd60242b29932a6694ffdb2f7839c3f1ffabc969bb156bea899c40e124c5a5";
-  sha512.doc = "ae9525580681685f5c9200ac51c21fa71e244691b92e2194ee386ce19dab7d64d140715bf90cf7885387010d2be902464229db2c3bf638b0dcddef4983194543";
-  sha512.source = "414cf13ffe76f15cf66e6639696908a1f8640da5d1d7230bd3f8433fac1a04b52dc4623f124124a814e0bface44b5c221605655d03168e877c74f70061eb9cc2";
+  sha512.run = "d6bdfc62eff8816e03eaea41ffbabf2d3af7194edbb2f9073c8d8b3d333c75f0b587a74556b916efb40afe41c88a8029f0dd764d7dc5894aa50e66e06fccb77a";
+  sha512.doc = "993ef5169759d86641e2a3185064f94df858d81d9b7ba4b0516b22abc51eab887b5d02ca487ad85b007e7ee3117563a257d80b803a361ea1d32857921e794b9f";
+  sha512.source = "01e935a99ff83496cd1e5c9e297d316f879fa8e54808c33a2daa54c78e1afc5048d3fabbf93450d15d6fed09eb59389348da266c751782cf017f383a97214d2a";
   hasRunfiles = true;
   version = "1.0";
 };
 "directory" = {
   stripPrefix = 0;
-  sha512.run = "4cd6d535af7877f5fa6cbf64149a73c2a38d221dc100a9491fb554f1c29856a1db138eb8e4f6e6d97c5992aa774af7545e40c35810d6c9a236bed493b9d61038";
-  sha512.doc = "564136cb7848a6ed0a804a09e7434006202f7f4b0e48d7c24972f8ba06494dea2c9a000320506b76afee220024ae68c58c011832aaa1add45f00aa859a801ac2";
+  sha512.run = "c07947f06fb08da461391cf6101a7a2e55875179c5d19b41007b0d11ff1881623e353b813dcca1da1f09e55beb80bf412f85ea6c9f7e3dd6e52a875770a5ffdd";
+  sha512.doc = "24bf3fe447363c20e4ace4fb326c329a244aaeaafbf6f596ec91a3975e7cba86a2d711f9a5f10c2a70d72d74bc08dd2540e5139b4c4b525103e867a9d8e62bf9";
   hasRunfiles = true;
   version = "1.20";
 };
 "dirtree" = {
   stripPrefix = 0;
-  sha512.run = "e7dd498337de6078a977eeaf549b0fbcc73b1d90ec4183c8277b29998a1bb1d8ed5490ac4c1e4aae6006a65b37503e84e234e7d34be41ea014df697db77a88e5";
-  sha512.doc = "5019f352f4abc5cb967237163031ab340104ebc055bdd2ecd2fc637ee6cdaabecd838bda496f32affe1d73f7f1dd39872f6e31c1c992d8a6346d985963542617";
-  sha512.source = "1c06dcab34fb3c7928ef5e75f1642e42adacec51ccb86400a576899d55139b3ddbfd69b66153f4ea7f1b758bbc4dbbb89316532eb2453e4b9ff3491974b70479";
+  sha512.run = "5faecc2a6d79ae79929481c283b01e69df482267635957c5eb11c264d924ce299021d95baaf8cf6f9cb10e57f5fe14820c6b3506021b4d0213494bdeff5746a2";
+  sha512.doc = "9edfb6fbcf4278c2b24599b58e10f64918d901bdd19dc0e9e8c8bd77756f2f3ba5dc13e31fefd2bd5f1467a0fb0dc0e765fe4e0515781103bdb1b81f687def7b";
+  sha512.source = "4939918ace772a76142674410f9a1e91c698e02c113517385814346399cc94e031384905dc2719d717ac1dc65ff04d1d5a7049408ec55e20b4c0000f4b8a7049";
   hasRunfiles = true;
   version = "0.32";
 };
 "dirtytalk" = {
   stripPrefix = 0;
-  sha512.run = "a8f892a92d7296adfc272c3dcb651d446337325e26165128fe62ff821d7983d0123ad63be3f315bcf391a3421979f20d14f53319dff4a36eb685e00bf1646492";
-  sha512.doc = "90390854b6308ea4dd1aaead46fe72e53fd9d31a2e2b3b5f52a58066ec252c2425e87278e7bf62e2cffc41e25ea854ec0475d29d5d524d58bb6e0a1bc5de6f84";
-  sha512.source = "60b3f24e3093a67b9692eb10b9b4a11759b08fa222892e9d9ace283e1cb7549f27a9155d84b3b85aac3af8690f12244b4be16af4da3b6765e0f0d1cc729852d4";
+  sha512.run = "d5cf28f17a68cd064a290769aff11e656debe87ff0c04e61d4dd4fe87d285daab6dab9516b80b33b03680d50c420a4f3a9858ed5d2d3d5c96fa7fbf9989d29d6";
+  sha512.doc = "8cdbdbfca4bdc58a560703b6406c98334ea0b5d9920cbc98ea0fdb7b56c9f1d48844167201829cef83fa84f0e21530baf2fcf4a3f8f8b5e44c5e792864ebf94f";
+  sha512.source = "448c9b5765cb054981e306b795f7747e6e5a9219f00a4698d6f5ee36ebc56c80a1adc857212b3baa1a065b9a8f585f9938e2d20d8f6d30f8d17aff9fc80b11c4";
   hasRunfiles = true;
   version = "1.0";
 };
 "disser" = {
   stripPrefix = 0;
-  sha512.run = "aef60e17ddbfca507c233340d48ad263e27c9fde9fc596cb3584223cf29015979fdaf549aa88b409809386c066c3b34b70e91f0fb1b76ac2d89907696e251863";
-  sha512.doc = "23847773835fa8a81a6311b8aac152aec7da421203035aecf3f0e51ad68e37d78be78e6a980b8c32e7afbd4363121ca44ff8fe7b42e01c01e6db61930fbd02bb";
-  sha512.source = "29acb9b33c3eb3c7fca2de8926cb1cd34d0deb12cf150dbc70287bb51d82694ccd7a8eea1b2bb463c83b1a5ce5c2a574e0eccbad92608f7cc83654d5edb2ce7a";
+  sha512.run = "98c497bd8d422cacf639cb38ff3a489b5fcda3f92cb5a734287fc930666867eb0e9e6f6014ad42df527d3999eb5a87da28d7178b47cc53eb44a338567f952ca4";
+  sha512.doc = "ed0c04c0afccd7f9f68bb8f65a6497b9cbfb2bbcb5333852da7b790083e71ceec8348f6893f1e0f16bef7e4b5ca0b9d1a58ca46898dc58a02f0324a62971b916";
+  sha512.source = "9a9770eea5ab44b2265cb191bd113be4e98038a0ba8f3c92ffb837791cf59447c82caf63d50af6bace698a3b5b8a2bc25f427add6cefb436a6377df4816524b2";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "ditaa" = {
   stripPrefix = 0;
-  sha512.run = "4e1ffebfde82ae9788ce906bb1e6426082e9bc5406243c91fbb406670f77129f9b08c741f2d3375078b220cdc70c8eba312c4fab565867e82b860fbbd07f83c4";
-  sha512.doc = "e5a8a50fc9956acecea2374560f98e5579155c8bbad9cedb2a3fe033d77e4d14aa72cfeb822a488f74068184ada747d377ab2abdb529e24ed4ac244e1414aedd";
+  sha512.run = "1aa2fab8150212ae8dbda9d0138a4c396f47256f93582ed38d9449f9440daba9e07dc0be397c49981e2d1813b7e41d2002fb7ff914382606f417f2738a8d2735";
+  sha512.doc = "345d6d7d3f21d2dc728b93e2cbfeb4fc1f589797e852604809b1ff3e7bca53414d684571faf8245c740a50205e7d8787afd5304beb89efd3545a389ec4a74331";
   hasRunfiles = true;
   version = "0.9";
 };
 "dithesis" = {
   stripPrefix = 0;
-  sha512.run = "d0a2d42001e187bc40ae90f8c35a3e4201062ff88302b478fce744d566566d8366b7ea2e3e2f5aba5e140cb0561df6b9c0a9ed02eddf214b0f03b3de2ab6098b";
-  sha512.doc = "0f3f1ecfe0fef0a5cb39374d3c4d32255f196c9e167ab5216adbabc1064153c552beff9fcd2f3bbc44de3e7294ff4ca368ae3fd850db6066a4f66e8ca35bf973";
+  sha512.run = "b11165408ccd30427390e9f409e8f561122d1a2dbe821ce90687df9feb2faef692d8ccd75fd8372b975a06e3f11bca0ba6e873d59b30aabfa95015ca35e557a8";
+  sha512.doc = "25058b262f803fbbf3c41fa62ae8983ade351fc7bb65be7d886a4300390f836ef5d1240e59571839b407afa2ddb363e6c31e76e36c160ed3fe0c6d0e0ef71fbf";
   hasRunfiles = true;
   version = "0.2";
 };
 "dk-bib" = {
   stripPrefix = 0;
-  sha512.run = "a426580847f7191e7a5be0b30d40a5ae8cfbe8b99931b4e71a9a24a121f15929fdb2cc67ac3e09a05b0e23706e318e35f9864f852ada3df9925fcbb03015d7e0";
-  sha512.doc = "0615b75f8dd8b6270426f7e4d7ad578b02749218efca1f68c0d6978d584781de84de9716773002d2715ffbf7367dad5d964e120a4e8ba8bb3c6de48600f16a7e";
-  sha512.source = "5dbf9347b53041b40d424c3b147fb63bcb4675417dd4ccdaf9a83896a47fe34a70cb5d8a8cd8ea663e859fa718d18053e600ce606c58ecfd1105c4aff249198e";
+  sha512.run = "9de9e026b9e3de53b297d7925bd0e4e9ab08562e798a8f1b9e6988ecb891067534a741aefbbb81f1c53d7ae6b6cd0e0796d8c0690c5af661e76a5c6d9ea876df";
+  sha512.doc = "258d8413d860f6a30c597c10b8c25f352166f8bc39cf23714a137e46f4748ba716dcae8eb8b6e17378f6a850ae64a68a9f331c8301c938f0a8042d967b3e62b3";
+  sha512.source = "ddb3927504b35d025c339bfd1c072e9ef770a159f046bf86220ea675df481e5b781026ed6395a776f27518ffedef83b7c5f95be30f1be49747a76bb2e2280817";
   hasRunfiles = true;
   version = "0.6";
 };
 "dlfltxb" = {
   stripPrefix = 0;
-  sha512.run = "1191058be1156138af851fa49bb282c4a6c09c0a4a8ab4c62d798ab8d2a257a499fb984c85a4db86f9ba9246c31336281262362d2c766064d5fdfc0286deea1d";
-  sha512.doc = "caea35de364a26e39b20e9427a0b0c2f4411f68856471e800f89e4e687d705e9990d0a6bfa15b1eb4eedab8d0a0dab620617d0a5c76290487c467456cce3a601";
+  sha512.run = "d1d7bd6a855d131324fee30bcb920e0dfa6ba733a1d52f94c59e8f328b533d63444b5ce7e5fca9dcc7f21833a9cef84460106aab0a578fd17974c0e348f1ee07";
+  sha512.doc = "171d6661ca71533fb869832be2bf6f7d26244bb5735fb884b5b1ce7c27d291b3e9518a902d6c7565d94d2c55c37b00564184bc5851824a00b5a71963a577128f";
   hasRunfiles = true;
 };
 "dnaseq" = {
   stripPrefix = 0;
-  sha512.run = "c051207f76dc0d3ae34fce61198a510a04cfd3b76e33da3291b8c5df8d56cf084ed930b3423d759e390098f86e797fb5877fe3faf3387768d01239caef64e718";
-  sha512.doc = "a811c8ffd9f0de9c28c31e9ef96ca80883eff7696c8390b80d8ff7cb98ba2bc296d39d492144514a80659378786cf78f2ad8538fd7a96048c2f1ea98ef7ebe71";
-  sha512.source = "f2feec6e5d21ed3bcbdab9a8ca4546a09f98c158f1be541078ab810a587cbba0532c17fe60a56f207bef982f879ae78c9ccf57432f4fae72b118ca9675e96c6e";
+  sha512.run = "b4a83c42e16aa734611dd8295aa033904828ac1825ccdd41f297586c0667ebec4a43606740fde56bd01f58ffee1b1f4afa647ce196ed042a5dfdb641f0ee2d7d";
+  sha512.doc = "089352ea3210231ad158ecb0bc17d5ba0a9efe49ee4c609554f08dceff9ef534185a7f9f17526910d3b602c4c6c358f211fec4cfe27bd6df61555bce4f9d795f";
+  sha512.source = "f4357ef3a23d8b1c7ca3168441ddda57fe725c4c17022807464e61035b89a8a8334684144d86f3d6ff0f3955c1c928903b80a61e6b1792cab633d6dab51d44df";
   hasRunfiles = true;
   version = "0.01";
 };
 "dnp" = {
   stripPrefix = 0;
-  sha512.run = "408ee3bb38c49e17a1d7909fd36547fadf31c138f0dd4b924a249af8ce66ae1d995b0c125c2ea1654439a21b62be8c66b45ded247ba24f0b1b4834b581cd2236";
+  sha512.run = "9cccb6befd2059b13571e083664e4c85215cc12c96b41afdd9efdeb758b444a95edd4c2586ee1b44dca70fe31f38c4eea821cf08cc1237a82d67e0e567d65d8a";
   hasRunfiles = true;
 };
 "doc-pictex" = {
   stripPrefix = 0;
-  sha512.run = "bd82b467e9546635b757a9a4d564d276cf749841484fa5dbfe74d777ea38e9c05de376cc4a7d7183f9abcc54f1e2f18fd356db209764cd17030e8170b8b439e7";
-  sha512.doc = "e64ccf563460fb970f300c056fc25e1367ae8ba659793fe87e864ed4bcff84e3b429aa3751012c448157d8f09bfe1d1fa9f61ec84ee74bd03fb4ae699984c530";
+  sha512.run = "c866f0855f701917fa81966c16a7f1c869320ddaf38e2c1c2a71844fa7b224fe2216f267b7b700ef6e36a13f97fa6f33a1d05342d5a7a8dd47ccda761fc577f4";
+  sha512.doc = "3440fd4d0e2117594d6b350dcfed891506ce7fc0500ecdd4f156431363a38e399061469f5def9082d59c39b14b65ebc19ccb3204fef71ade300825cf35659158";
 };
 "docbytex" = {
   stripPrefix = 0;
-  sha512.run = "f4ebc8dbd8c64505530cb3ce0565d26617aceff17c312857fda79548156d4c7a4f26eead1158b1ade18118813695952ce9b6bccb27ddddd7fbea4c093e7ebe6f";
-  sha512.doc = "9285323693d2b4def2420b93d71389dbac40527d9a3376b2537c3bb819fac737fc4a59e27013588eb70e8f7932b78210e9fb70921c6af5a1fe28a67a7f0117e3";
+  sha512.run = "0b212fe2131eb4070e08efad7f1e0745d0538b2173b274a41c113ae6dfce46d7d1fc8ebd22f16b3a956570865df9cad668866fc2038687ad6c0b7b72e76a79d8";
+  sha512.doc = "0daa32aa23ca248dce228b8029cb19c6d4509114094d46efdcc45b52d6593176c44da88040b37d83054ec286c4b79727ea4ab2cf07c4522e5f597750d85118fd";
   hasRunfiles = true;
 };
 "doclicense" = {
   stripPrefix = 0;
-  sha512.run = "ac014e1f9e73092f027fbf3f63a4a40736231b6dd486d7aaf455465576f38cfa9de7832c8c0d77233fda5b8521a2af37014775d1be19a9e66d00ac2fff0dd35a";
-  sha512.doc = "0b915bbd69ede897c1af0b46bf99eae3948463f32258e3c61cf1cfa8f9fd500b83c244aabfc10c8d3d37259d6e3e181fe834d586d5f6c40aba5e9deff6e2afef";
-  sha512.source = "b8a3af96703e35ac14b8ce9ce5b95b09bd967708530a671e45bba3d36012c4be59ff9657696e7487967e2ec708d2218f053c4ece4011d891ba276a704b545ca2";
+  sha512.run = "a66bae24e43e619dfed88b039b8fd44143a1ee1c94a7764d49f7e5d7920f041deb66c8c0ebc91ddc19e7725895a5e5793196724b45945cd31675765caf06a236";
+  sha512.doc = "d0388a64e6679007965b2c1075d730f6b25a08431bf9bacfa8cab8890ea809150c334c96730d8170515b552e5743784c07424ba34d9033669d8463744b5ed5e8";
+  sha512.source = "6c40642c3bc7eba7949da51c7703aab84033596f541d0fc433d5bced75c8be4666b4fd43f6b81119a3e4c2e73a7776aa452df2be544b91ff97c827b925a3df93";
   hasRunfiles = true;
-  version = "1.8.0";
+  version = "1.10.0";
 };
 "docmfp" = {
   stripPrefix = 0;
-  sha512.run = "951a247be986e8c59f6a38879bec769e2d12987b825420bad31ad220533060059209b9dec00c63fb8490129eb535e4d6415dbbe9d158129d0ee91b58a69b4545";
-  sha512.doc = "ec70f25d3dee99e016cd2ae6b2ad7d62d21cbf1fc4e80d6d4fd55dd650bcce15f3078fca185875e233040ea9276e6f94580c495861aaa3386e1d92767ffadbed";
-  sha512.source = "a2603d9494ecfb4aa079ba28cb0de1a3dc109019dea8792524278c99cdc34d4ee13dbf41383321f99370d7012ed441eeff827b151a23e34e41a04db71f5964bc";
+  sha512.run = "55f68d7affd8d82631eb0e67c6232330bdff97ea908259a5e14255058d88f9f745afe55bd4a15eb91bff959b7cfc31835fa22196d3d0edcafa40da521b3105b6";
+  sha512.doc = "fc3721046105ae78b19b61a45fd01570873842c6786a096575efae282e4fc884f5f5dfd5ea6888a25ddc82077340bf0ede4a36977cd33d2b555ccfc3d0ff2c02";
+  sha512.source = "90c38a698f428980635ab3a826f35adb65a1f9b2a2dd385da8ff41ffba01870c071b7ce100dea1142d85ca216a68a0170aa8fdf92feb80a8ae055899f6b05633";
   hasRunfiles = true;
   version = "1.2d";
 };
 "docmute" = {
   stripPrefix = 0;
-  sha512.run = "6014904b4303ddefeeb06f84128b1e8d8609ad6298269cbaf1e56b9c7dd87d481af86216ba488d764f60e794854a3c2ecd3aadb1433b592790088f4fb371a7a1";
-  sha512.doc = "5bdfd7a9113ee1a17c1ab2578d7d5035b81572c9bf40156343f4cc819cb26ee0214bdd95a7258225eee934f384feb50c5f2a06485db528c1529586f81c5f9be6";
-  sha512.source = "4992d9097406b95bf0746b6648e1e1d90fc11919d83a659572d9ae043bcb0ddb944cb43b575762e8f09d321dbda9c060862dd39a2da33ce2cbd4f3dde9c94b74";
+  sha512.run = "5c01f4e6922b7a23e753edf9110ae7f1386a4d6ca719ac898b058068a754a6c3bb123f918bdb1087baf5efd1176545f543ab8b93bcb6c9529c9000ad6a3b1e97";
+  sha512.doc = "8207eade8841747201656a7e6edc789926a9dd411946a860e4d865fed618392bb9159245f7162adb4a58c88d00191d83f2daef49f610c3d8e5e231ad7f1fcb7e";
+  sha512.source = "1809026635be9610b39f5f428dfeb2c323b4588dbc6306a50e00f092910fd449921a2cd797fdbf3408442b9f24cfeaf7c69e75db9bd217dce975eee2f1a4b930";
   hasRunfiles = true;
   version = "1.4";
 };
 "docsurvey" = {
   stripPrefix = 0;
-  sha512.run = "782240c01f70dc572a65561762644ea98f446d2eb3b0398ddf4fa3e83438a2e26407a9786edfc147c85fabf815fc102b942c75104fbd58c21d61d43cbd7fe411";
-  sha512.doc = "26968e315c5f4b30796af5c57b34040b9ba7fc7d081bdf8bdf5821f372e16966b4ae2a877c5deea2f44ce2322895090e31cd76a346aa179fce2307f5245d7d56";
+  sha512.run = "e51d73b0dc7267b0564119b6836398a939676d8929e850201900eacb49e701e873661ec897e8c0523a094d82e736014e0ef61d07e2ffb5311924d2fdcaf1d5c4";
+  sha512.doc = "3231dbb4c28a03b754817f50f930f1a6eec33ca9ef6e29a1c4b1edd025315ee9f9e7a371b8733d6624cf9b02dbb705dfcc82d6f98a99aa1ca05b4f277e083304";
 };
 "doctools" = {
   stripPrefix = 0;
-  sha512.run = "5e3b1525b58590a87fdfc25fedafb7fc88e3fdcb1859b70deb9760c17033cf666a9099a2c00390e37cf0c58b690ab800e3aba3193c0b0c504f54c68766e04a27";
-  sha512.doc = "b51871fe430cc4a07064e6836808d85ba1ecdb9ed7dd447f17c8553e77f8d29aeb37a6155a75bdfcfdc33b796b327a53a5bb902c185fe1ab8676a50443b79677";
-  sha512.source = "38db24c874a3512d62c5a4ee0317476c2073baf5a2782c6efd5f94288880591c3dd597a8bc49132576ea3a7830de947cbb4818275b6c5e9a9a8a14ea3b67f5e9";
+  sha512.run = "5c621b063d752fbcce773f2b209d358de1588e7c4edec017eb45a74c350e86932ac9c4e0662415ba7ad5bca8ca86d1255b15f4e5572ea949a5d6404b28f14025";
+  sha512.doc = "a78cec3ce74e4689c848b49af7da035cc7c684730f78acd7a7f8d8f78194492e53880e7884eb00dd22d4bbca4f370aabe8175048503959f88023a12ee4f26598";
+  sha512.source = "bf61b5c519ad73fa8187797367355c195ed2048d83cb4842862edca740f51d60bc421881da10c474d950485faf701631af6299033d2005f0d2aa8c6561625864";
   hasRunfiles = true;
   version = "0.1";
 };
 "documentation" = {
   stripPrefix = 0;
-  sha512.run = "928289a74bac72caf5a85814746c2dd0da0e45a9f71c57cc1ee6a0f5806323b8e6507fea35c4bf500deca3d73b933b0e0b89327a3ce6b22020090d08406eb8cc";
-  sha512.doc = "31d807da24483726a256355edea3ed0656f7947f8090febe1e42a50f336b96126d72d45e8abf356ec532ce9ff66ebdd5192643c63bdf46b31956fac3f02a7cdf";
-  sha512.source = "a8fe4460c0e317b0517866fc91a7d6130505c90e9a1a1a0a1e19d492df321a2a90a74fdc64f35d51b816f2afebc51c71592b3ab418e49caa40e58a36ad8246fa";
+  sha512.run = "330534f15cafffa56dc35e5b4de8caac66a87ccb0b834df5419a68a7cb136136263af14ef14ee7ecaf01fedb2803c2653dab7570ec2535ad1ca3033e1afd64e2";
+  sha512.doc = "09854b00d86dd902c26c1b4f8cda942ea09796911939a20014b6d50d01b052e04007b55fe814877cb4515a6aa1f4ca1a7ebb39a6a6ac1bfc89b98d1f910329ee";
+  sha512.source = "7e32523123407b913662fd7bbdedf5d3058e1e7e3592649b7afdd4d4df6bb704c7b1c3153fb0fdf3b8bea183259a64b8ab6ec17d74ee74ea086a56ef1dc90bc2";
   hasRunfiles = true;
   version = "0.1";
 };
 "doi" = {
   stripPrefix = 0;
-  sha512.run = "720551efaf406271711ce3254af22ceac0a1875e9f7ddb1ece6ba9152bafdf2e2cfc632b94c899511ec346ab2f1038e1236373e3665b37394e7f479d4f4f9e2d";
-  sha512.doc = "b98e6093fb78d026143d6668d37c372c5cf0bb8bed1cf8213d6439a39eff4e1b5ef6fd966b42f1fc21fe2dddfb0fe27b87fa026014b0cc882ba2b6c0e3dcf16f";
+  sha512.run = "7a041a56ecc0f88d5200d39d7611c74f955e79e5f5f887d26a70c76624c334b6229f7b937426cbbabfd7de7ae0f9cd2aee70c502981c46fcc3f18fddd62261bc";
+  sha512.doc = "3dd77559fbcb32d8bee7121f62bc37ca14c14c8e62f8d2ba44978438920dcdd54605a543135a6294e2ea9742f5fde4862a2efe3eeb6bf22b6d7418b4b01a2ebd";
   hasRunfiles = true;
 };
 "doipubmed" = {
   stripPrefix = 0;
-  sha512.run = "6935fdaa9a5154b6917ab80af5809ace38432fd5ad7b8b71bd896a5d6794e6ae4f07d5e2bd54d6b81cb1377e2cd2b208e365c6417ee24886052eb4a2bea417c8";
-  sha512.doc = "4b914d757b2e262add61124fe45358119a72bcff39fcace7c2db44d99502f99440425692d07767fad4f3388920f5ee6f3272d31170c76f56ef30f47d5097040a";
-  sha512.source = "324a9b1eb6487c86b88ea7e1b6c2ba5eec4e7b116ff76f468cc657b6ae518527481f3af03c4b868ff17145f585d8b7d29f9a81df509da67a23494168e104cc6a";
+  sha512.run = "3f313afd9cee76d11b5f957a3e9f7cc0d5d2d04003c285df7cd872adc0cdd26d0248c03f0642d62af53f23c4399e7e5ac3ffcde38da782f64ab265e5879a7f60";
+  sha512.doc = "0298b7f4a408f2092bb7ecd8d5b0cee745f442bdcc2bae463d922ae4511d5b0fd79b8f78d1de49f77b4fb158937fcb752d919239efc25829228c1f75185454ae";
+  sha512.source = "ce8a2d5300a2a3555cef789064047d49810f1f7d9d00429eea8122cde3e4cf75b41d5cec901a3d6cb3596e83bfb43e8ccb2558c64ac3d0574970e9980ceceacf";
   hasRunfiles = true;
   version = "1.01";
 };
 "dosepsbin" = {
-  sha512.run = "3e2e34c9d9486dd026967fc5e5cfc8a9f5816c46ec1b32cac1a64ff27433820c4c1257d04f7048dbea92d74120b07e8769e3a5dd1c9f9bb5c24d583febd33e5b";
-  sha512.doc = "f58c55f224ada686e2c40b00eeef38720bc2cb51dea8bf434471d466dfbec4323f3a5cf9b617de345e7dcb49a9df93e6cb0fe96ed920d27609b72f2890b37ff1";
-  sha512.source = "648b113da74369c09fb0f83cfe1fb3fc007286f6c61aa4ab214d6f070f7b8b2c7daac37b4d2f767cb146782185905e9f7472908d318abbcc0af4d4f00e079761";
+  sha512.run = "7f31d47d60b0bf151cd6e6516e29a8414c6344657c133e726e6e8dfe23818995b10b9a2898b1801c4bcb9219969a8af1d2725b75df514ffb119730b3e49008f1";
+  sha512.doc = "b9edce9984698db8e50f9183f89b025cfa89dca8a8725054af80f379c88ff1d2b02cef8f3d5f37ee5b8585a59d1a4d0f0ee0e541a7784f3f3f4e382d78e6a47e";
+  sha512.source = "d5739533a9d10e584ed7de4ec033b4a31be5681fd06fd9a2268f924d4434df902fc1f346ac2636f4ba7b7dcc6b5804a80b5431f7055fe8eccfeeea09915ad2e7";
   hasRunfiles = true;
   version = "1.2";
 };
 "dot2texi" = {
   stripPrefix = 0;
-  sha512.run = "3be610219f98ff0a998064c288f30ef9178386eae37405cee06c8c3dfe1d3672c9b329b7a674ecdb1ed5da0bfc44240bf1ed0405d5cc4c31b88bdcd5c4730ddf";
-  sha512.doc = "39d7d3b38cc711b3a2a3c4e6f7f98e0f147e7ba3b908b3cfb715ac892e9518f05c248b83e3b8e4537cd8e20bb2f54c2f82d055499e6f0f5e0e0ee9fce0eb2e3b";
+  sha512.run = "20cc54f907b00e2eb14e4641d5098dd4886ce8d4627f391421bc5e819614dec97e0ec42c92794bacb8ffcb03737cb8736c308fad6984abf13c127f6d1174ee0f";
+  sha512.doc = "9e8461946582e0c99ee35437522e25769e2afe5d7051f072937a57c5d4e1a0c8e144509c751f9ddb7ef576f43ca408ffca663f81c8b5e69fb176a4233ff45ea3";
   hasRunfiles = true;
   version = "3.0";
 };
 "dotarrow" = {
   stripPrefix = 0;
-  sha512.run = "4107c16284334e2a772aa5186d11e37a0a35acb10a19369de5fb23c6f927c6ae1307821c33ba07688d0e9310fb83660d2c1f615c929d48e7fb89934f26a0ea77";
-  sha512.doc = "68a02a03f1cb35b5e9f309cd6ceffe54508473567bb331f4d582db1bbb376b0cc2500972ee80c51578552628b2b94dbbfaa1f2decde55d0f2edf440d6b3f36a0";
-  sha512.source = "a36b152c86a2c17c12e4d967773915393e2681cf5191e70fae1f749fbf2412cc3543eb5af0113548fe300fd1409ecf8fdfb06ac5aaa2dfe13109e68d2fbc872f";
+  sha512.run = "43ff7e4e163764e703673312a1213c50f0a77da98f3f36b726e87042d082f3d2433e35156e1c963d1c6287aa4cea5ccc64f140f89b82569b0552f406b29813c9";
+  sha512.doc = "7b5a4d0b2b31f55e657eed5b7cc0185a8895df77895bbe40f27c4d29d1086c9fef1779f7c4c726faae25821972fac418c379e9e68ad4cd059b1c6f5b0420e9fc";
+  sha512.source = "3d756e93ba60153727d1719f3eb77d278ecae65c08f18529a6352707b655bf39f01152f13b60490ce21ba358e2021681a64de8e9fa6f46f9f4bae5b3a754f1a9";
   hasRunfiles = true;
   version = "0.01a";
 };
+"dotlessi" = {
+  stripPrefix = 0;
+  sha512.run = "348be296d710fe22d8122b45437d91027913b90ef36fa7aa365ad49dbdea566506c80072623ccc95170227e77ee2fc2fb3f711772afe4e7e7b83195eb3110b61";
+  sha512.doc = "c77fed1f0b8ddbd6ed141fe8c9f914cbd5592820ffe3e457ecf35952817149d1315598f449dfe0e15e0e50328e45b408d3f1ef91fe83154f5374bcc62041ba77";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "dotseqn" = {
   stripPrefix = 0;
-  sha512.run = "b262a2156153ae851b2f6db0ef957c2c44bcdd42091b92ffba7c983683e72366809e0048f1fc71d937be50987ae8797f99402b73cb6f01703260299beb45e8ff";
-  sha512.doc = "3bf91364b4df0d7a798d7acbbec6fa538208b3aad03e5067ec78a0564b25b1dc782fa8cee4e54756a07a645d2176af2ed170881164961bdedef39a7acc09f424";
-  sha512.source = "c6ce0d906752e3451d2fd398ea068812aba83c469e0bc61bda995442539b368b2de95b108b0957a10f5eed6810d40b868e72e73c6fa7bc34ec4fe3ff8c042da2";
+  sha512.run = "794be5110d50ff9134471aedec8adaf7267f112012d962ee6e1cd7ddaa36cc37d993517cf4663686c90df891fe2e912d260cc9c9945aaee25925c2915afcc45f";
+  sha512.doc = "aeb026d83497b78725d623b52223877d4d5a0a745312511f007d69395b87ba5362904cfa26bb24f2f2c7d0e0ae14bb82699d6108533260d736c0e85bc29ceff2";
+  sha512.source = "7cd2a4a2001a38e999e0632222116f32b559d8f004c9e378493d84486028e5c1cd5268f63a0eb93f9d1402b2c2e11b2db2429547f300809cca3d9f39efd6b17e";
   hasRunfiles = true;
   version = "1.1";
 };
 "dottex" = {
   stripPrefix = 0;
-  sha512.run = "6e6481c1697a285625bcbf744463608264372c73cb499566fc64c37977f9658888cc8cb966a31eb29e3f047813797b804b3b8263e574ead8887b2ca567474bd5";
-  sha512.doc = "fe0f97117179666470409164717cd1db5039e89c1bf49f872dab44ed86b127816c100cefa1824b17fed5ea3a4a9eef8a91873967fc063f3d954815c9a0cfae36";
-  sha512.source = "7d1ad61ffb64825d6728676fab31dfc5c25d2112e4f34e50d5524208c0d79f4bc1bb69ac32e3a2c5da7b339d972aebab1885fb7f4bbf09bf4c2ad9f8f9a3870d";
+  sha512.run = "037586577425d8a38a2170bc4bb9a7fa28a7886ad852d1c85483f7c3b625321c41a204b613479382ff5fb9e8cc3f8f9d8ff6e0a07c14b71ce6fdc68280515e33";
+  sha512.doc = "3708e08c630e27d744c3a865cc02e91868a32b1648b4d390cea0f20ea6340c56ea1720348f6b82796df6cc3f4d5b7feaf59ffe7e24c32e34535a4e5763318df6";
+  sha512.source = "adf26c722ad1e2fa26d10488125267516923db87c1185068a33a082c6f51bf5ec644ace69aefa0630eab9a604bfc28032cb5d10db15ef0c80ab28fc93839a13b";
   hasRunfiles = true;
   version = "0.6";
 };
 "doublestroke" = {
   stripPrefix = 0;
-  sha512.run = "4c00a764e11441079dcfa369f468f490e817a4e973021076ae39ffe6eba54c3a83453199b1c3400afe536ad32348bf10572983bc2b82405fcfae5db9f583a4ea";
-  sha512.doc = "5b9a56f557cac79930888f9673e7af694500672ba8e6811f23f3cf7770555fb6d7551e7160d736f630ed5c561a31376426b60751d59f0493afa01c3a8841bd93";
+  sha512.run = "ff1be47939d9a2e8ec4fe8e6852d9fa31c2776511de158611ef8b853ac73291d1aa4ffe81985bed60c75a16e3cfc963a3a8ce3fb9494dcf6664cd6d92a549e73";
+  sha512.doc = "2cf0cc8936393be2b01ed06158b250a43514098aeec4007bf493bd9232fda911f4a59f45716fba5837e475bdc39a86cf6e1180d4220e6aef26ff9e0315389200";
   hasRunfiles = true;
   version = "1.111";
 };
 "dowith" = {
   stripPrefix = 0;
-  sha512.run = "85b160e3f2468602296284763103087f40c69268ab6a6fe64ad33174155b61c1da41b87e9818b1eb11e9abe98293a18b9578aede00985b37c7f46f1f9347bb91";
-  sha512.doc = "fe091342c22b2764778ef72d804e9d974ba22f3b5e1366c8c785b0ea83aceafcd297e7f71eeccf614f397187c4a2791eaf7e0f6ae475669bad4620944c6b42ee";
-  sha512.source = "c1552c6c55e6396f2dd4344b10a72886e4d62c0b705c5e339e438429d97d9bace5c5f349dfd56b770ab3ab84294444986e027941f4a3bb47b91755890089d4f3";
+  sha512.run = "7c9bc25d94364ea13326ebc010d15c92b27ffad08b68fa5c3b5034e6bbd6a96370d159727270adf76e6edca15d08de86c13ca7ede009a445b500ac22b151c05c";
+  sha512.doc = "2fb2234cdf6b42bd3f9f991b3d2d76473c45c51ffb67e7c12e7976310e0fa562cb8d1f01b347e9b8140c854e1ede865cfed17f5748ded909dc8d983d4f246961";
+  sha512.source = "44d331b8f99533a6bb3b150748245787f686a807b22dcea3dd9bef311000881fcf0870d19d6718574d56adae79451ef05aca1bddf1904a76d50dd4e74529fd47";
   hasRunfiles = true;
   version = "r0.32";
 };
 "download" = {
   stripPrefix = 0;
-  sha512.run = "298dd897f57b622e86e235852ed4a90f4ed6922c42007e9b4a98b26427d5829bcedfd0bc6eb639a2b1333f86dba3f3954fe8ffb07dc6ee7fec1147ab6377c180";
-  sha512.doc = "fcaf4621cf5b1f319da5294c700f4cf50ea8a8f89e571cba4c8b2c7bfcd59c21c53715abc16d1c4804065475a8ce321fc72f77d858fbeb28b8c53bef0555a54f";
-  sha512.source = "2d2b76c11660cb2e520edbe5dd137ff47486fc621b9d05f0d5bd1a0b4834d53159a64d760f3ad0aafa4208a6826c5536ee39288b2c45d0b551a2eb251d08f66b";
+  sha512.run = "051fdf31160c95e88c8ed1214311b0ec8eda80b7128752c27a203c7e7dc5cee6d275dc4ed93f06308b71d199d9216b18600a2b6b219f852fc256eb2486c2bfd2";
+  sha512.doc = "388fbef93df8f76de34e7968b8a1925f294b87972e2e26cb1ae92145b252b5a88fc06254453a6bc15eab14a4532e1a18e3b719ea243142c09239e3521ff8f7d7";
+  sha512.source = "6090434f8a33e1ac95363082c0536a9990ea6c4936adbe151c1f8e5ad20e7ad9635ee656c9c29af9360b5d8bd427f78d26c9527c4a84dfefec7dd73a007e9839";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "dox" = {
   stripPrefix = 0;
-  sha512.run = "f3fbb2949b44094295814e62d660573577d2e267e02cbcc6f49e108e7cf8bab44dcf9d847b1157f5bdc0fa4a3d888f437be8e64869e92910e4e539d5d8fb377b";
-  sha512.doc = "739857f7bc6cf298dfeb7bd2a6fd67598e6651e232043c09224ef52cce53372f329929922bfb1638e20c754ff95481448964ae77a67bcb2722658099141bcf1a";
-  sha512.source = "bdf0796bd982a7f9797798251d831f93d33370ac2525b7ee513bb549ca641a81eff13bac0e076314b3be0b95946e57743d9024c1c2cb145c9f09ab672ba6d8c5";
+  sha512.run = "dc37733e7253d457b2fe09b72b808c5198f222dcde12e0d36ae546a8ad0537419fe7f27945625bb3cd3efd2b5b63991e89dede1199e89c67fe7d6917370cab67";
+  sha512.doc = "4474e38d3dd35dd14b281f7d2e5ad1d6104d95579901a50b3575e846532c279111c81f813b78c4d16ca6c78ac627a30e51515ee7b178602b7338c1c799c62609";
+  sha512.source = "08cbe72a2af77f3cd34a78d0743ede6f0017e7edc275e56c66defd51b1550990cf00d9327ee9cca5c44b7c73870ead063346754c4dc1f1aafc00614a5d5c0707";
   hasRunfiles = true;
   version = "2.4";
 };
 "dozenal" = {
   stripPrefix = 0;
-  sha512.run = "8875f5caa49673be6441cdeb4c35bd5b7614bf8cef76f3afebd9e4be817605c6a3795947ff453709fefc8bde8d6d5f1bbb7598b22fce7a12f448dfba2284d68f";
-  sha512.doc = "f31be9e8c280e8c518735abf46908e1347d07cc815d42a6156040ff014384a6df77c918f33ebfb81be0b9a8454d34975331ca0781679d423b348cfecd01c1fd6";
-  sha512.source = "3d4ca7130425990747a61184ffc431d8a88115cda2489d53816bebe209c8f1cb83b1abf49d0e8bbd33b43a5a0e41038960d176c8a999c7bd021e7a5c10bf256b";
+  sha512.run = "ca4171da87126231a791f432a6015cc069f0eb0d540f8b79b3b5028f3f3e30d9202622886b582f2e351049603d0323a458fbce3d6b2565af5391a4aa94b734c0";
+  sha512.doc = "e7c180bed185135cfba31acbf4488ff0991066be7456a7c54625df458a24819ef8b41bc19eec955967f22fc156ad6efc9e194489178e2cffb806bf066ea42520";
+  sha512.source = "4e8c3cc35fc2d429fa286fc68eb92d2d290bbbbeabcb714d849f9132ff71bf99edfc5b08a0ae596f98e900e1b49d658af2b2b9daf1fbacf57e2b3aeefa15f6ad";
   hasRunfiles = true;
   version = "7.2";
 };
 "dpfloat" = {
   stripPrefix = 0;
-  sha512.run = "142e9338025d4e56276dde48b016405cb32c3837494b334bb749a4f185c5e796ae20cf39c45d75c2be421a3aba25ff09a1238edcd479c13f412acca7b360e214";
-  sha512.doc = "a4f935b6bce0c2cd4ee194bea1b29de4652f2ca0537543cd7e1ff5e89af7f1677f1e118d66e84fdcc56601a8a3d94cba3cd1ca559cdb8d04d1e2e36196446ce8";
+  sha512.run = "df136498f7ba41b1335ac109667d07dd9584e6682e1d75fc82a80839bf0f6d7a4de1f5750aa738eefb96d14d2adea20a3ec9fbc92130481d9bce0abb6c6f175e";
+  sha512.doc = "2cbdb8711556580d14a01b9daf03b1a1095387c077413b2815bfaef1af2781fc8bc56fa7a6a36abee60d6ce6928f920c9d9c3deecc2e071e8e99d51c1421508c";
   hasRunfiles = true;
 };
 "dprogress" = {
   stripPrefix = 0;
-  sha512.run = "eefa24b1eb960f8b5b092f6c2e2024a4b7959a521cc2eb450e51b551a311827d7e6c1c2686781bb4908f807af2dccf7715e5acd3b396ef14a7ee1608cbd4000c";
-  sha512.doc = "3f823b848309f6ec55cce98272508bcd3a180a8ce2f4f317512cc5a24d2e3ad6fc334e653f7ccb8dc53560ba70d5ac09fd567644f7239f5f6a47bc6fe8b74062";
-  sha512.source = "e872af270ea3a7982a8b8c859f6266f7dd484fdbbbcc80dc7873b8492c4d86ed73c4c9e9bf163366f13a0ea0eaf94bb1611cc1b2ba30d8bbaa1fffadc14141cc";
+  sha512.run = "4f56a2d6e345cb98eba3ffddfa977bd48661d90bd10712387141b3398c9a85e8b9d7b0f33e75635b7a98e91176f1e866ecf0b14ef0197fc488bf976dd4889673";
+  sha512.doc = "455451396b22b3d38288a5c51f6c2413c56ffd07ac1331c3727c4f382eaa07f0a128373ba033ae58e53411e69a4ec0eca67609fc3c111c91f24f2adb2536a2e1";
+  sha512.source = "de6166c9c79f62c0f3eb973b6383f2bb486a8f7673628862d54af8e00a5ddcdf78419ea819c95e750f47fa3e65cd58b598e3a3510d43ec3d4d3fa9538a846a79";
   hasRunfiles = true;
   version = "0.1";
 };
 "drac" = {
   stripPrefix = 0;
-  sha512.run = "b236d2793b5e6735c092ec9e21107d1160ead9d3bb9b120c9b131abed9a32c4a76946c70fc742a5ca3ba82b507ef18b6d1db66a2035ae8016c7b352fc93743c5";
-  sha512.doc = "41fbcff3edf5d03a15c9fe9d177d82dadf64cea020196faea40368825a90f0ac0e5e35de193ceb6975827c46c136a5051a2df77b139eaafe54e6697b5065184a";
-  sha512.source = "da1dddad4d392590a3c32d2ae98f4d996219057153d04b473bfb15d3358c1ce8f0e81807c7cbdfc05229e848f67ffdb473b039a7cdb86ca9d92ea11b2de554ae";
+  sha512.run = "f45c94e222a6bcae0d87ab5aebf0f594f1674a49787391dfb9cce32f9b36a0aa6a81e84ea4ca345e0918ff2166e36738ae9969e4d9e4653bbb99ac6a7f0cc63f";
+  sha512.doc = "7e6debf9580d7c145d8f95329aeadd63012bcfe3ac04fb9c4a3e815391757051ce021e4e2659c96fd7ff5066e3e324ac947cfaca16e52bf5895fd5724f81f552";
+  sha512.source = "a56b3648bc75174179ac74eda67d84226985d18863270cdf6b6c1688ff1405389ad27f20abdc6a41f68520e1d95890fe021d1896d00a5c44a6a4ec2b9c380944";
   hasRunfiles = true;
   version = "1";
 };
 "draftcopy" = {
   stripPrefix = 0;
-  sha512.run = "4652ee26259e986678f4c5283b44cd51d50c5359f29025fda360f47dc0f3fcf9d65069017b7840902f87def352c1e8c0f8a3d97dab5357c52c149ddca47fa3c6";
-  sha512.doc = "bc58e287cbfadb9cfffe112ee57fb72b34de934b5bd84e30b6d104fe052d97d153252db06b35e8d8f025e3cca215ae1adb41f21fea4fe961085ac85adf732cf4";
-  sha512.source = "7d35a60f25fc5fa8712c5c7f3ee6303715b6b6a8a91fc7da28beb87d9c6d3cb4758bbbeeeac487b5c8c43ef0f49081154106210c368fce37aab4b49436b186a9";
+  sha512.run = "f1f2ac803e1858ffab880c7427ed2dfeaeb435255e83ed795e0d5b4262fce1fbf7593653035af2e45d4731107c8f886938015ee1a7fd0018001c0e39e9f1018d";
+  sha512.doc = "f7a4941c26c92223a9dde51e288380efe3b701d847051c13345e97f5a082cb3cd9e5d5421dfb2b1f1cdc12214df1ce6970a8ca6fe7463faad73af1a12c3542e7";
+  sha512.source = "9320e076a200fa5d7fa297c7d3228ce77ad9a9a56f57e4ef250a21320e9f2e429004ab716747499a264108ece97ae03388df084c24e2a370f57ee22b80628cba";
   hasRunfiles = true;
   version = "2.16";
 };
 "draftfigure" = {
   stripPrefix = 0;
-  sha512.run = "6c7ee9270f74538d4a1383334b783d109b1b70ded0ab8e445fad905cf9f5ea225941a83ee21c924aceaee5b3071762dc22f9fdee60d9f9881c2e7c4d2578cdd5";
-  sha512.doc = "2636faab9f499f3a4d52b458cfe58cb3a8c8289d788dafc9d13247274988cbd0378e50dbc7fe4ab8dd578bfc84dc09b54fa373a7e8a83ea450eb23d5a6bb2589";
+  sha512.run = "e8ced947e69803243543657185e8fb28e67776dc9eee5e095126ec712fa368c32903f53243aaabb7308c895cf8e0c10a6d89c33e6b6c5d109f0300dab5213e60";
+  sha512.doc = "f0a9a59ee326746802fb33412c44148ed8c836a24653df6685ecb69bc76870cae63ac8955274705639e658491566da0d0633ee8d57cf57d58fe43a971252ee05";
   hasRunfiles = true;
   version = "0.2";
 };
 "draftwatermark" = {
   stripPrefix = 0;
-  sha512.run = "d44be3091742fc281f02d0576ed4281e89674e30ec44c2106fc18f552671f2ae6cbb6fe327ce7e9ceeff9b8612ed2cebe8920676ac4bfb0e58773df8ead69b0c";
-  sha512.doc = "b4e8e2d0580b6e85fa939e21e8de399235c3f131874c59b46404bf0d235fb9be29a12ca84a0335f345a21f4dad89ba82beb4dcd0165bfe598cd6138ded845ba7";
-  sha512.source = "4f23c5304491c9fc35a8e5cc1dc10175d69bf0e8351492bea96615c67e43ad2e515d083e5be1a1928554545910502281310c4e13922ab9e664f9463402b7594e";
+  sha512.run = "10cc5a9f6ba21ce87022e0f45d4f4cb92c4aaf8e1a4edfb5e78d24f8cfa1d283745db0d04f32ba2943963677bb3fa934a1f410e9148baceeec23b70436682a1e";
+  sha512.doc = "5d7d9d4dbb18f452e917f91a5e67f46bae4f0ac2b8088279832e32d9e7a7fca1230a666ea1031c258ea3882e7a00d3a071864a20a75b523bbbfb12e7a3da0a4f";
+  sha512.source = "01de29c18e5ca16c0cadfb171c938fc444feb7e3dc558f9283cf4f9260a94c02b6ddb007eed1a296d60c9aceac3cf370ee2e9c3fb63f6c16b25397b837fe4993";
   hasRunfiles = true;
   version = "1.2";
 };
 "dramatist" = {
   stripPrefix = 0;
-  sha512.run = "ed01c63c38ed96e407e2fb83ab82792149b676aa6ccebb08929585af91278042f65807b1bc5073e4c3ad81354e1724ec2dafc814bcb6683f6289748ead812a22";
-  sha512.doc = "9c110d01a61eea52106a48b1bbbab97dab0a658c0528059366b9ac95a4bda149afb1f887a708ea25df19b273023e018a753751bb597126a9e8d2bbf07cce681e";
-  sha512.source = "a3a1185a11b54de68f23274177d3712b4fae09f9ba04884e006de9337e21bb2ee891f159cb31a3e14c0fdcd54cc5006d35e615dd502d50811368e4b77e36f33b";
+  sha512.run = "d61da72538a7d83ee902081aefc23f3addf2fd6e5fa7ebb207fdac16546d13602c50419682e842df8f36a899c2c0aba0aaf615bf64202135dd9f470f5391838d";
+  sha512.doc = "fc28e1dc8614d836637350a20478a0e8a03121909cb42bfd1cf4caf8e7adc01a4ac3eba08e82c389c41a567cd00f191ecd8938ac40a0a226e2fbdac047ecb733";
+  sha512.source = "a364353dbbb9540a9f43c26fbfe6be8f814452a23e9f25c5a4c4f45a65534e0696dee993bddea4eb20eed284b892d258f6947fb0f96af63a0516f9f0fae01651";
   hasRunfiles = true;
   version = "1.2e";
 };
 "dratex" = {
   stripPrefix = 0;
-  sha512.run = "8f91158bd74e369a005991824c6b9a12e64d9936887d0ecef19b2e822a7e7cf8068425ec629e04f4d59d2eb49167b6bcdb252b853eeb2dd2ff6b7426c76cf917";
-  sha512.doc = "a628ef6aaf1e0157e33ae1e44cc72c033c827cbc1fd3e38641218a82c873798e3941368c69e9f8eac6b02ad2f37fbf46daed9abdc0c4a3a26b8c3113ba7c3c55";
+  sha512.run = "1a18f8866d1cffb0ac3c277bf27e1585c7596eab60ed51756077abe3154b6d67ea95205f60b5a244e9acabb05e8dc95a792d48f0a2fc492f90d224f85895fdd8";
+  sha512.doc = "0ff34bd23dd8718f4f8b0dc3e84068ca2b38a9758849d98230f1a8d4561705d6db7be3b0fcb34621054993f27df7a9215267b3ebbd7fb3d77b8cd9cfefa0ad60";
   hasRunfiles = true;
 };
 "drawmatrix" = {
   stripPrefix = 0;
-  sha512.run = "d41aa3814fcffafbf32998dfda97c9e2d3a9b9f1cc10724e324272eda84f9668168c8a3fa107cb82dc9252a6dfd998a811d4bc566dcf669e07c0781bbe0e0c5a";
-  sha512.doc = "912dfe71b61f68f9817ce0634f3db0a1b5e3172e44c1b2b90bff5048d5b79ac508deaf0d4340e587959a2ac23b336b03cd6b15e73ab09c2fc6cb3970a9c2fa45";
-  sha512.source = "f05391907206fcf32ba1e66655e826da263fe5dab324d72e57c21dbce11899da39c3ce343abbb9abf51c3d5d8a8b0a685b31ab1c9d6e7085693f91dc866368a6";
+  sha512.run = "6be4d4ee6970956dd2f3b31d31ca0cfbad268e2f98ae64fd87a49de9ab26765447531121aa0edc157779f3f9c0dd76ab2ec3f747912f4204aab9e2e7181368f6";
+  sha512.doc = "07eec69024d4daff597f2a937178f66413e6dc4974a2044f983e809b046f09140db7eaf3cfd68833bd95be0d56b4a564dfc9ad4d771fa124f55ea3783eafca1b";
+  sha512.source = "8125f7c3b0867df9d8f21e45d89a03e6ff0f946d946646c26b0ca825a30c62051264f45e5c2da5bbd45b35afbc2f7f7120e9ea3d2d289f6a228385860d25f523";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "drawstack" = {
   stripPrefix = 0;
-  sha512.run = "04ea6d1bf741cbc56ea067b7b36ddbc3877340be19694a57e5bf1580c102a942b40150d8ec8fa411fbc1267bb136e24e32f23d6a6695de2ea99806791f78a006";
-  sha512.doc = "b0752028a10937096a62357b86debc7a81eb7659ee514ab64db8ac61189025031882973a036b54f6828168d0318cb695d46b0f5ecfe2975922b4eba70a78adbb";
+  sha512.run = "383eab0b77675ae418a775a413c37720d6f74d51d1a31bdb2923b45ced53afa576f10304e372171298ddbd566a8418526d291f74a1871eaba36ea3793d7d0173";
+  sha512.doc = "d435447ec29bc26262886b3dc4c41cefae81d24e0704857a9ea61f1fc08ff8e4bfb4ead7686a9f49808dff30da47fc5638e2c0dbea4c6a551800a373f68df0e6";
   hasRunfiles = true;
 };
 "drm" = {
   stripPrefix = 0;
-  sha512.run = "6ef9b2f809f38df44c96874f8d72755051f7438c2a6b78e63151a89b7e18c5f2544ab1c45e214b8ffc21ac223d6700e00d7345b75b6f77137bc6c471545871f1";
-  sha512.doc = "6d793ea685d7706b4800fe699d3ee16f565c1266369edf6c38ac0096a2c4b4224406c22afd3c3047d5a0aa3699b71b79698e7dab3c58d7b3003b30f6a9114a34";
-  sha512.source = "85b16df5ef5c7f80b72fab276f904f45426297b40eac54dc6a76a9b2aca11552744a366b2e1bbcd35b415b114a97a69dcb5391c25dd98f01d905b68dfbe95ed1";
+  sha512.run = "662a2593713dc02debd4702b5184586736f12200aba4079154e6890b49d581810e1a7a94f0d3b6750ecd241dc03cd5a638a3ea5bd4792f13829e7812f5620b36";
+  sha512.doc = "7821503ea6548fa200221d2c2234389a252ddc61498d66389f0afd13b6c36536b744f060f42bf26c4e2be722a7cbca8841b1b76510391da4960dcfbfb9956177";
+  sha512.source = "a505f89568d63bc36799a3802fdd4e5a4903a10226b565c58b1b6d0900f0efeb699838ef17f84d9720558c7e1959e33d97c387b371862366726c6b99e30e838c";
   hasRunfiles = true;
   version = "4.4";
 };
 "droid" = {
   stripPrefix = 0;
-  sha512.run = "0fea92248c58c9e240c12aab63bb7ad18ece51d07a05ce2b5ca47b11d2d2e60ff2710feceb949beea10c5bc0dde6554846f4dee74769ec2421b3b8dd4fca53ff";
-  sha512.doc = "b31a0ce794df8a20ff3a038b308c20edf660924ca9de6dbc09919264972b0e41db7be5207da49b0ba84b84d8f70312970385b8c26675e8483b48441ca850fe55";
-  sha512.source = "6a9567af182d91faa7e2289bb4ad3bfe23b61ef3cc6b2f9ff51d072f459bbe87e84d7ec45cfebed4edee9d3099d7f3391b785707f189e01a8491f2159e0ae563";
+  sha512.run = "e2fa1b84bde04858b16b39a559478005a6585d71ddc9879d6e54130970a1f0f6e45e584f9635f457af8143093872541dda0ad98fd647ef2af309b0d0badc813f";
+  sha512.doc = "82613922360967cced68b24fd997b06ee8a082512f6567c4ae17f0046972eca84ec1e154d78ba196eecd0aeff8e9b7adae12f3b7efd780e1eb1e161f8b18ebe7";
   hasRunfiles = true;
-  version = "2.1";
+  version = "3.2";
 };
 "droit-fr" = {
   stripPrefix = 0;
-  sha512.run = "bb5ea7648ce6346d2127c344614fb39e1f8c2558eacaa5b0a3999475b0f9dc5d1afc0a76bf8e101898ba2a14bd070ce82ce24120710405a6a2c13cd97acad2eb";
-  sha512.doc = "e53efe18973efd69dd472946d149bba18914aa4144b747338d501bd7c7b45d92a6505d2f1da4d7ddadc47d5966f518206e955ca0951debc6496f7ad44ba34038";
+  sha512.run = "76c928be0648ae7bddc76f654b65a99ae6670cb17b0ae9a54596599ff655636d4520b31d4e802a15af65637c5bf956d41a2095762a3c4bb77052c9f74da5e7af";
+  sha512.doc = "6129658aad2fae20dd12252941ee774393e262d9322ec2163ebc964ec27c4ffb63f2ce0faf9b74a90717c137065e9af238d45c623cc58d52b1e4776da221e231";
   hasRunfiles = true;
   version = "1.2";
 };
 "drs" = {
   stripPrefix = 0;
-  sha512.run = "b947b71d99fe38b1aaf6575af716597413d028849584c22853a1aad3d8738910243defc6c9563609515019d6c5ffd4022754bb88781c7399535ff196d9b20f45";
-  sha512.doc = "58827b5c2cb557c2b14f11a5babbabd89b535ce59420f5b7f9c23433f92517f1cc9a3af10e2d5071bc3733e7e09819dca1d50cfd799b960f6a192e8e1a4af0be";
+  sha512.run = "5054b389c79b6895e648d3d4fcd1a3f7b06b213963245702e5bc4c0e8b6e3a87c6a2d3f72509998216e25553148008e597c6dd3015ef0b94724e84f3fade5936";
+  sha512.doc = "c265c462094e50872fc2748167226319a5723aabe54ca057661b95c7cff897afd08f42ce6d520b7ab35f259b760800e79ac6deae0f1ca0c776c2c2aa7839cf80";
   hasRunfiles = true;
   version = "1.1b";
 };
 "drv" = {
   stripPrefix = 0;
-  sha512.run = "682f33123c0e1e3bdf35bbe02ddea5c2dcdad9ff90009079f6ae8e876f0a7acae1b409c1045b921d312d4976c5f004168a3ed108ba65c49d687ac2022d4afe35";
-  sha512.doc = "927529113f567e10618d3397237f2cc31b70e051b7b1e4b06b6fa1d5ca4ee4c1bd86844989e31b4a8f8bae2c5350afc8c320ee517c2f249d551ed5741fb2dd9c";
+  sha512.run = "b7f2b56f305d552bd857a5950fad2dadbf800857d4c8ee411fd2f5786697385404fce3956e59b5928ed5f0a688117dd740c0f56806674d08cd8cb1d52b79a9d8";
+  sha512.doc = "a79d9883615568bd6c0d5aac44cc2ce28e0bd08e96f802d500515428ffb5400beadea94347abab7752904ae01342049b8d6687f6047aa9d8b27f5fe3a647bd02";
   hasRunfiles = true;
   version = "0.97";
 };
 "dsptricks" = {
   stripPrefix = 0;
-  sha512.run = "7059577b4aed0eab5f2f82610911fc97001e01497717b0141d4e95b263ba825bfaa481829cd00dadc8eee278090ebeded09fb92e8502a7bb250330c6f22539cb";
-  sha512.doc = "da2eca39d66788da6dd13660d2c41927bfb12a9de5a2342633488a099f2aa5e17c9bc2d211b0334e3c5f7ef5f3cfa8aee4ca9b8b166e5138ff5c952d92d2acba";
+  sha512.run = "282c1c1aa51c70a77b0b63190ee875668dab9fc2303e2a84ff0d79a7c9f78a2534e4752a32c093e72eda7e98aea220923f9d1703b5c94214f9590962187de194";
+  sha512.doc = "c45da3740ed14540cada0c75a98c19f5e3cd2b32811a4f1906e11c45a40e0e8d31bd706ff4afb18073690e4e285b7b44b858f53f33f050702526dbe0fc88f8b8";
   hasRunfiles = true;
   version = "1.0";
 };
 "dsserif" = {
   stripPrefix = 0;
-  sha512.run = "4ce60b62a45aab9f64399ae3f6ea3f25b1c68c399c63a2c75afe5179c0cbc100cbb5dfbd68b247b758df1d1f5f4c2cc17cb6f2924e24ebcaca28bca9b68d7f53";
-  sha512.doc = "4dc47b830a1f2092918c08ab39c5157146c1ca514b6c042734e03c9786137cbd2ef6a1149e75fbbf139f457c170e70bd3da484680f38ef261d6d4eedfaed0b42";
-  sha512.source = "258be72d2eb7c5ea8a07ba79aedf87f765a6555f6de540b0f40d731d4761f29c3a1795c3561ed0c8dab4b9458cf785499988be4799b0ec42b9eae2d7cbd16b6e";
+  sha512.run = "346d9192803712c47d8905920b6c86244759635e7929e1a2c049a558a7e50eb36dc6574dae59f17bda21e6c95d1a661c9857514eb7f5f60d008f293beb758da8";
+  sha512.doc = "87e5ede487017ac47d7502d5983d5d158deb4d709f033ca34855f01f4b93fe7e3001c6287277f4f830b79c2ff1cf41caacccf2942769f8b2b848524ba4fa6696";
+  sha512.source = "31ad24b5b7667c1763dc36a475ce13b70bdc38c239a5c38a09acc3d4e66c95b1abf82d60ca240e7bf121f9dc93b17a17f420ab863a8f2052ed363c5adc46ec22";
   hasRunfiles = true;
   version = "1.00";
 };
 "dtk" = {
   stripPrefix = 0;
-  sha512.run = "b0a4c2c5c796d3e9d8493a6ae857e7278095d841d179a300f39d09a7a413f0baffe24e61a1fc76828e9159bbed64f7295c560a6ee93f48aaadea45548c59907b";
-  sha512.doc = "f1d268a54d1911cb94921af8c865f2aed259ed2d9d096a91ce19c0a86deddd409c44df77198a56f18ae09a06d5712f9f1c624015843d31a2a44aaa87ded391b3";
+  sha512.run = "12ecc654b0bdd73c96297e7f05a2f9d031bad727b6fe83fb247cda5a1c496bd8a63e2f4927fe4f4fa9755237c7c0f85a81326732f95c7daafba7cb7eb03b265e";
+  sha512.doc = "5ada9e107e6de2efa8614075492d405aa560d2d2a0eabcbe41976f03d28064c152ec3f66ca22d6d81dcbed13eaf383c53a60c68e7b72731cd39f6e613cf0f14f";
   hasRunfiles = true;
-  version = "2.07a";
+  version = "2.08c";
 };
 "dtl" = {
-  sha512.run = "eb6f1dcc4d681b995f8ca3a4141b988dd42001881ed0e1290b6c188b5d5952a5d54901f924b4cf3f2015376c452ee2a713d253d532985322fb7eb0adeaacfeee";
-  sha512.doc = "0da315de96913bf61d0c24c34ef0f39c72ed0c1189dfad5f6d8fd1159d1c3e0fc2c91ddca1aa69798b4a0e648ec9a1d70b4cc0c7340ba273dc2e4b08aecba25a";
+  sha512.run = "796f01b568969124edc40662db5d8699a815b72d9eafea640c9499b7cd907e4cd36ab42c87ade466c51fcb18a47de3363f5c6068f4c678243c7633343705f35d";
+  sha512.doc = "b0e1d2c3728b859bc010efc5d31c50b10c7f9a045530f99278228fd4a4bae5563d58852dc995e9f4430d64512f7b0ec0c868c6f86259127bdf524c6f66bbec86";
   version = "0.6.1";
 };
 "dtxdescribe" = {
   stripPrefix = 0;
-  sha512.run = "cec7efafd5b27d98100eef18de2d1b802bb717f38326b98b9e095f92c7c4993c3ef71d9ef328eea026731632c17703fe174c8bc3ce3563c15fce715594b1f845";
-  sha512.doc = "43d7f51b77f18f556f88b6fb3ba4b1b09d77b7d6ff588dd838841b86e95ad7089d8d860c8d5eb6a86c3fe418541e0a65c605e8533eae7736dfedd7b4d258fd74";
-  sha512.source = "e95dea85d6c2fc1f9c54be37ab89a75f5a542a7d0b57d4c8577f7f36503b4c68208acf17cad197ca45cb8f49d62ee441aa7ec9d9346539829cca41d5a12110a3";
+  sha512.run = "4f226da178f26f2e3310a86e2d884aee681f87528c0d43f942f23c68b6e335eb21bef830233524d44d2945a1d287ff9542bd69744c15c722a54ba38a5af73d96";
+  sha512.doc = "45592bc0c6836d83f1db18f7852394a0288c2557aa708ccbd1407656b7939cefba07556e924fe495da36078411b81bd00702f7998332a5fd801aac0327655f47";
+  sha512.source = "9ad27a4f1fc13deb348a3bb73dfecb634ed3f0b69565f4ab06763cafdd652b4899fa4914d64c9596534cb561ac9724c86ea713939d7d6e6c7820c869acb0289d";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.02";
 };
 "dtxgallery" = {
   stripPrefix = 0;
-  sha512.run = "62328ab01d153853449e9581a30771e7fe5657fe0ad7501e7fefb34a7cddeb32839442039e6db3946c45aa82839a9573b0970e9d5b606731029d96de339b69c1";
-  sha512.doc = "57dc570a553962c5f115f362eb0f6bc1b7034b5b22986bc652c3c92332b5c89e6a0ad92b0130ddadb83168728235d4d199cc38ffa26f7a33b92174cf2d156236";
+  sha512.run = "c4b164fc1fe9230aa92bd38689ffa67391aea511af59e74b93c9379f1d027f07091f98734af837a1af90b35b0e2e5245f78f0198f4a09465a8c59c18077a2457";
+  sha512.doc = "ea56d62e0fb8b168461f8d01a08a9829ed00db4e2d6a460791de3018be21b4b446ad8ebf4a1c4a69e99a0989b85b55cbaa8aed171a53479df0501ea36cf03bdc";
   version = "1";
 };
 "dtxgen" = {
-  sha512.run = "06e62fda6d696b6ce3512957df7e5dc37072939c4b0dcd7d83b5894f1d0be1856ea69457f7e16119cd46d62b3e69d0646b96a768f1a2fe16181911480391c90c";
-  sha512.doc = "bd4557f8ca056c04aec9a9cab5e1797eb7042402b396f6772a2fb5bb961d1981ad3a79f02df827059e8e82a3ffbe11d86d51af99cf844f234f328bce47c4e0c7";
+  sha512.run = "b197684c1e941a64b606b472fb9e0f1ed4f5d0b0db2df59202712c0e3f3b3993106b8d493d707c4875e90dacd9dc7d12bba784ef7c8d04984a38708073b1b92d";
+  sha512.doc = "f666a2b5d3cb32d43a23cc3edcd92bfb727d500a8c439b4b78bae89ac73c317adac9786e4702e78b5b4861b76489ff7af5cfd115a80b96cd6298c65412d56a50";
   hasRunfiles = true;
-  version = "1.07";
+  version = "1.08";
 };
 "dtxtut" = {
   stripPrefix = 0;
-  sha512.run = "511506ec001be0b3879a9f1d464a1d453e8ae8938a1446f08f874e59a90d861cb66c8487a4718f1c57870db11c3f8c2c274d37a968cdb32a8bb90353e968cbc3";
-  sha512.doc = "65216d3924211abbdc67e6ecd109e7adc3713cefcc6ea0a229ad8b4060a4b0342098594a64cedf3483c51603531496225077b0e12e2a7f28e593422bb5f1c30a";
+  sha512.run = "cc28ede4898b583a89df3efbfed45318be9034b3c2a92bff083e79007326d4d680177f1884aa506dbc9574a924687eb463f2d69c297906fcbddaa584ef9e52bf";
+  sha512.doc = "2c8a2ec4fc38aefa720bee29f24149837f985a54cc1b9cc9325887f5b7738d89ef38d8b60acbb4b5adf0e6c13e1677003e58adaaaf50e8949c33377ca29679a7";
   version = "2.1";
 };
 "ducksay" = {
   stripPrefix = 0;
-  sha512.run = "e47d9d3aa395c8a15c679f6efbd4ff5363fb2717dd7286aacce4fca11a5e1918cc8083d3bcbb392d0717b3748496c55f01b6b0415fa7ce0b26950c3b87015ca2";
-  sha512.doc = "80354f124b50015092e2507323a6307a8341de641ecdb94e4fdfb6a9131751a84b2b528ab523a43aafe6ca9a19c0f638a0e69bd6958552688b1b65c46496e879";
-  sha512.source = "0c2a2a7a7bd863eed257ce87c13b4438fad0f749c79215de35017da325f3b2ef50b72dc30eab6ca7b66c46e4610e5f202fe4816f5940b6917748984d3cef575e";
+  sha512.run = "57deacbacac1d79bbe0f4657fb55c05eb03c93068534f2d6703cd3785f1b056289f548edd9f01f52dfb22b5c1b402e8a3809240d323bd62fddc6b69a32e27e9b";
+  sha512.doc = "f4b49ccc5c3044a00c55fe396cea8e63b04fa5ad8d24e894b15044c189d6f3abba4e4e8d3d2200ebcbd15e9e40efeb2ac1f29996fb41d82d47b83810260408c0";
+  sha512.source = "8b027a2d0f11606d4469c490c8c4825cc68f147f99d1e708689cff2627e7df0b2583ab4bb4accbb2cbb7b0b8d803c2f0a7a13dec1d67036bb25330371345d515";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4.1";
 };
 "duckuments" = {
   stripPrefix = 0;
-  sha512.run = "e820d227ce7cff2dc6533abe4a7bdb53834498167f44cfccfa49e2925070aecb2e718e428cb15969e9225d79e1d38c4f6e93000d5b863687b3c07cfa6ba30919";
-  sha512.doc = "44f7df87905cf4d6c5f15f3168ae979a361a9f13f2451789f7ffe238794ce3f3d6f25c1e59cb78aa1a7afc494627a77e156c6073bba56c1ea6a774369aa2ca89";
-  sha512.source = "c076385dd41dd2d5ae282c831b7bb2f56eb6f7986c98579734aa006e2d5e28cce4e9fcc1fa0b46e22cb9204c5ecd777086975a7d9fe62af04ab92d454e23f0ca";
+  sha512.run = "77c975ea3e42faee4db5d99d692220884b24ccce2d69a30ce484d113cd261ddf5cf5a13ee04d9e8a95572e98c8c4bedfd901db34379af6a567777f9358e4bad5";
+  sha512.doc = "0c9e24cc988b9350d188878dd8b463428133fe30c00218eed3d67917ace24412e55c396422890fc6c02030378b560b3d374970e879e3a331db7d8e34b3302421";
+  sha512.source = "528db05e9c1c0232fae271aff911f35cd55f85bfcdc931820f5a74d6f490fa3fada99c274b36fdddc6163cad6f779183b0056b1a6e003c4c2737282fed608497";
   hasRunfiles = true;
-  version = "0.4c";
+  version = "0.5";
 };
 "duerer" = {
   stripPrefix = 0;
-  sha512.run = "00ac7c30c3f1df9a34b8c43328d664a32a087ae029f0d7b8f3f361b1df23815fd514fedb5dadbf8e36cf9d6fb9708eaedfd218b86f82484bf6d45c5ec8aec993";
-  sha512.doc = "9d5851724dae2a758dcd7e5b9e7abb545e03cba2e594a4f0ed966557346872869bbc7f89de2bbf463bd572619110a9cc09af6145984fe5e4d927f584704f539a";
+  sha512.run = "15f39b70d6b595a1c4d6594a2908fc07e3597bf1bf88ba25b24ee545d473c709a15b52ad0bd367b0cb1a47ff9548a110c6dce6c2a2b2402f655c21f6dac5a393";
+  sha512.doc = "babbe18510ab7acc910639e2993858b2cf27c4414772d2a03fd2d3576f7dd64f4c7b1aa05d9a7913b4eb8d4eddc942137b41b87816631b34cf35e0120dd3ea40";
   hasRunfiles = true;
 };
 "duerer-latex" = {
   stripPrefix = 0;
-  sha512.run = "4713018b0facd8b65b6305cce762b51bdb81ebb39c62f4544c2fa83ff578713423afe154264404eb5b557b7f2fb17a7a4e14b387d0ac265786c3641bdfb7af03";
-  sha512.doc = "fcd3e0a8b66f1a28882f4925a38cd472ef8e3dff2fb569a1cb1d737e4ede8ab55e26faf542424afc5a2412e48b3fcc55316ba367305c4031b5052fd0ca8f283d";
+  sha512.run = "e474634e00b86878bc0c09ff247a930e102621d3606079d72e7c284a8ec61d2a2b36f1d09c171b7a4953981dea65df49da1962f01df272fa80354281a3209bc6";
+  sha512.doc = "d1ea1a023e9f2f1ea4e0fa045d8831f764dbef34d1ef2ec96090f7f7a49aa1f4ed2df63bb611ee354a1e816a204841fbd7f4059a14ed06d758a31ca9f460d50a";
   hasRunfiles = true;
   version = "1.1";
 };
 "duotenzor" = {
   stripPrefix = 0;
-  sha512.run = "5c02daf4d27d7c1bce3b700196ffaea9e9c84917e1466c1b5b652b0568d5dd9090523c2f5a0879577f56ff707a46746c397fe220c89335b3b869de8ffeefc18a";
-  sha512.doc = "5a000c1c4fc212c2aa78344df918684cd9bcc39a45b94fc10bdeed9a8152eeb3d92d2184ef5e26862c5ebe522ce6c1f2945f3061f4992d84a473c8374e0580b2";
+  sha512.run = "33990302586baf5731976a27a8268986db6917137219248e559900fc2e64e5ef443bfd14a0472194a962f6fa59a8ed8bb1caadd46badf157fbe39f36815eacd7";
+  sha512.doc = "83a811a37004975e4b3fca67bfed83d8fc85fe97a07a20f624d321c62efddf2ce188f1748a5cea47185675e8d5226433b48327d8d7daf87465471b89b652f2fe";
   hasRunfiles = true;
   version = "1.00";
 };
 "dutchcal" = {
   stripPrefix = 0;
-  sha512.run = "672879d41cb4048055a22e14b133d271eec90494e4ce7411e0896ccc2f26f23e277a8e773f0939b39ebfcd69eb825fdfbf6e09a3914d0e49fbebf84b9a200544";
-  sha512.doc = "c95a00395cfd1e42bc7ed3bc42dc6959678d8772a9acf70d57a831b78e8cf7cfc8ec28f92eff235a84c8ddc31a73655ac5d0da8ad900e4d6def4c74d458fec2f";
+  sha512.run = "46b90d505661424bcc96d40bae09303193baf5c681338b5b2d526e51ba59cd56fd64a81a01710fb4911727a3cc4263e731754d82a9a2c021bdf73b6ffb15f5b6";
+  sha512.doc = "adbd2c44d3b2de4149dc647d4e88e46fdb968e6c6898c4de3395d51665bb147d0abb474ab462e75da028265d0cc6935f930f4397558d057171dd56a4999dcb25";
   hasRunfiles = true;
   version = "1.0";
 };
 "dvdcoll" = {
   stripPrefix = 0;
-  sha512.run = "7fac05f7c72b7fb9117e30acf91e65196dc11b98844b496060a37aa47a78ba15ea1b7217cbcbce9e533c322cc32c147b37bfee9e8e19a07d72f91cfbff9a4908";
-  sha512.doc = "ab1616c844dd126885652b678cbb1fff7e9e21d970d8ae47b093bae0a333619134ad9354e42bc5f15d3b2231ec19dac7b3b61d80f69e74465792245fbb97b140";
+  sha512.run = "e6b553b2e13e87e105ba1c64422e5269e2f285754f12db1d43f475e0f94dbd32253620c1e71ef08de106d5a050c531e058e529264478e7f4545ed83dfffdd233";
+  sha512.doc = "59b152b1922bc79ec3a132902547e8ffebce8cc05e2933b3b54292b507d1ac1810cd0aa2c974045b9b996fd14445126e3eebe6ae3d6ec45e1fdccea9a6ca35e1";
   hasRunfiles = true;
   version = "1.1a";
 };
 "dvgloss" = {
   stripPrefix = 0;
-  sha512.run = "40d837000580b1643f67e466a084696eea32faa9239dd42dced6e23feef125bfa52cbcf7e96618e009a7480e66ef772c4630eef87f4d2a9d9caf7e2a29fd2176";
-  sha512.doc = "2cc88e199da97a9f4173088ec49b5ce8bb09e5a539962c7167a79b12542d9e82fe866c136661e18cbf4ee1f4f7995677372cbbbcf55b7fee4973ff4286ab762d";
-  sha512.source = "bea81bb46b9311cc5f39bdf9233e918680d9477c31dfce494b437fabad6c61738f87893c88a3d2304088eab7d4488d5ac12a8ffed3a454caac7038505e318f94";
+  sha512.run = "51227cd1323c6ef94f8e0c537289abd3812f39109ce178793347d6615a718109f120bf9e6a4dac1ea801effb6f2b9425c376fdcfd5db6a5409887a8b9b49dff8";
+  sha512.doc = "4e59a568e0230e5e5dab7968eb27a8bda4680ed31b23d21fe3dfc15d0e3d8b3d6599535f91a092e2f9dea69402ba8ef07291d2cadc1e1cce28aea927fbb84341";
+  sha512.source = "a4df82b4ea3e57de02e61e28cf4b9e8fa91e385534d7676fe3e287c49148849dc736003b867f1b481d56466847f9f62f020bb2e826ec81dc31be3d2b6f6a47d4";
   hasRunfiles = true;
   version = "0.1";
 };
 "dvi2tty" = {
-  sha512.run = "64d3a50cb8a84e92f6c2222e704f0d4bf43e3b2075abb24c82e66c5d4c4acfbbb753cdc83753da7306e6a452d1163dd94ed8caeb318b7ca16b302e6459f30757";
-  sha512.doc = "cd86896ea463ac9bb6d2fea927c7e50bfb81b0a7a1cb01b8324f4d95be13a393437cf649dc333fb4866637c725f7fe664372857acc2317ae751789d0d6b35608";
+  sha512.run = "41399ea5ec5d9e32cd032caf70009181bef98b28e29ffee84414914ca436a49bb59caa7e5523ae3c76cb8ede89d89ab74af79dd6ecc89cdf9f0d65605668e9c2";
+  sha512.doc = "31cd9e13e873269f27e7e40b681a56022e7c0d776179fedb3c9396bcd9743b9e2b5f3043d6d2858858593aac49e40c16bb27d676f77ded984f4b803dfd9b07eb";
   version = "6.0.0";
 };
 "dviasm" = {
-  sha512.run = "a7ee060b29b630dbb7d1237c5651e0ece1764cd1ad87da50e1cf3f59a934cc38ecc048455d307c675d3929eb1d22f32b515c8fbf6d3b66f78e279e611a22ffd0";
-  sha512.doc = "6d9a1f0485158d68c4200eba104e71ae3ee012173a21728a09a96253a97b4f380b2c674704756fa647f1b1a852d76b1c4db2be5685627cc21a3297dad5650a96";
+  sha512.run = "f8f24627f416053ed4a53008eb6f4b83a6f7114793e361956c3a968efdfe06c11c233e24e14568ccffec612d1ef63daf8f6644333f68d202b816cafee1da98b2";
+  sha512.doc = "49d49f53bbba34659a96d587d899af7a1d4eb4841d3b5132ca8647efeb27bf6590f7bbac42bc5d5becca356f7bfcd4fb244f6ce9282539fc9aae4bc99a633ecc";
   hasRunfiles = true;
 };
 "dvicopy" = {
-  sha512.run = "eb542d855a28fd8e06306472586c2aa4a4235843397050703ccb76c0663050f5ddccf334536e4417c8a0976ad78d3684915160242f30700ecfcb7f0ebf810bef";
-  sha512.doc = "ba9b33b91e582147490bb8ed3703a9cb181330fb0d7f2353fa624f494a3c33db0e4948e7ee7a8a8869d938b7b7425f8d271fe68f54983d4a033f657f7172fd6a";
+  sha512.run = "34e16ff93daa924658b433affc70fdab01bd8d6c1d537cf1787389b8de34e7348aaa91a39ba3f3671d25d216420421a5ca73cff5de254fbf25a8433e20fda322";
+  sha512.doc = "a85e3cf8ee5e500264ffaffddf8ebe6642373f29fcca42c346654f304f34b9389f2e190014eacd215ca0d78debe44859e05696789b9f703fd6eaefc9bebd4ff7";
   version = "1.5";
 };
 "dvidvi" = {
-  sha512.run = "e50dfe7c6b0c5fe13db3cb489a885a2b5b5ba82a5279834560c6ea747b2c11218a072273d46df13b061f38601e9705496a7b058a85de8d7ab6a5dcaee1ef4df4";
-  sha512.doc = "2c48aa8d74262966fac3b084aa4dcaba8186267d02dc8d9c65781158f28ee2be0c2864a8c99cbc787e1f5b1c48d9310572b54baa4ede164c9575ca0136e86e11";
+  sha512.run = "0b21ec8ae0741fe0b9cbe53fd97c4ef20cd4330bae769424b2fbd2998293b05419008ebcc7ab74bc17f166a30a66cad980f5692ab32aa1621ad4a771d20d720a";
+  sha512.doc = "831daec5b770f866c15440a384d1352824ead05faaacb8ae991e2d9bc1b115d599e5260cc9d7db6f0752ca7a16f21b0c52b5fff58ed1b23f30ffbfae59387c13";
 };
 "dviincl" = {
   stripPrefix = 0;
-  sha512.run = "b4cae4830ef19a851eb6952183b5e8f652f237c5a1e4be8e92230406684d91850c56ab867ca13844f701fae070dbbd54e3e67e9872d08c49398836828e77d904";
-  sha512.doc = "7b679a236c32ddfed978cc1d9bdac3efb5b66abe6b1be578f656a5faf4914e8636a87189c8c1c980f6de76cb9b6912b92ea397a97ee9445293a271e1394b7d11";
+  sha512.run = "dc09380d453b2c83359fa1862f6d289162ed4ec12e7f1b2842789db26e780713981261369dee0d03561a6864bb8bb25e071ca73c3d85e6218667587fa78f55bd";
+  sha512.doc = "3418aa91ac8daf98f2ccbe67c2ca13bcf8fc5adb380f7c56e133f4487bc3ab701be1925d7a5878fc02ab7b8607e70991887a3d875d25b777b5489b7ae904aa7b";
   hasRunfiles = true;
   version = "1.00";
 };
 "dviinfox" = {
-  sha512.run = "a1e296c777a65a520ee21e7c02e877a5b94d9c444660714d5492642aa3f53311a440a7aebdf70c8c33373d7895c4ad14dcedb6efa50d770cc54898c2a33f3012";
-  sha512.doc = "356ceca531a8d8f0de2daa5101d363b8887a0864b8f36228c6f7604e8e77169aabd8d947bd283916afbc2a5b7a092c80053519b8c9ad6b96d34a3f596c6ea8ee";
+  sha512.run = "33b37192832362c170575d1770b0e8da105ab0f9197ee52ff86a9dedfdac718fd7f3ca87d6f3f2075803fcffbc2f3739b806b1088bd7e2a21beca53292d918f0";
+  sha512.doc = "f5f84a2df36ee93ccc0a8acb687fa4fdc6441ee6b0c76fe4330cb28ff2e5106014df5f367d5f2821c10864ff16988837099114ce331afe8a303e0f9102d92193";
   hasRunfiles = true;
   version = "1.04";
 };
 "dviljk" = {
-  sha512.run = "830b8f6075bd4506770ea0c8b12833ffdd201d0834c73fa8d6f1f9b550b4a3c1cc23aab513b895f657944d1d8bfde634942fe6530352e43567e1a67fd62659a6";
-  sha512.doc = "facaf508b2b2e884edeef713f6e3c649d4ffa19d8aa57ecb7ab98f341b3a854af203140e4ed98265af134f5838b6b5df6b7f6644ef79f47e466e943a28ce2bfc";
+  sha512.run = "9c94578a0e4a43663cf1d3e05447d51ee84b892bb78ac105321b471e21417dd636bf8746d04c0decce06293f8ae8d8f60e0127b52796310a9c9dfc512158ab4c";
+  sha512.doc = "fa77f151e69f8baccbd01f8beb29c0143283892d42f5b0213909c7d434688a4e4c5e121ef9b8b73d93ebb211ca03a454ce309efd447a7d351968cbe9066b5ae8";
+};
+"dviout-util" = {
+  sha512.run = "bc4ebab6476e9023c4c6e130082ec1ace7f068f9d0b2835f1bfb40db892baa7db4a5f0ffee0e49e4368f2b34ca044f2de31c9905c244157d9238daa8939cd56c";
+  sha512.doc = "916faf1b17e02ec011a6ace727f17807ae72b64126c3a29337b06554aeac3fb86bb5bc0ea36c5f82523843be1f051e56cf9cde9370b40170295d911cd91eb6da";
 };
 "dvipdfmx" = {
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "82cc1d7cd1b302619ec26d8abf4106ffa912e4f29e708529facee137989617b72ebbfd4ddf80fd7c2631e502694013c2c80a3b259763d5e7ad759653c77345ea";
-  sha512.doc = "ec3c3e040e262fc52535d9289270aae337bc86e29450c516a9660df1b668cc7dadc2ac3b183c547d81cc014e33c07876b3715210aa0678dee730f3269732b9bf";
+  sha512.run = "eded65e852efd5caa8cad6227894b5d76b190baed17678a0a89a90ec14ad0853abe0b8bf09d2b989af05b05c47dd1167ccacfb18aacbfd70915a483152904fc0";
+  sha512.doc = "332955e7a57969de8647845f0d7a36bae6bb2fe8bc431533198c7225d5bf67ea18228a2c71bc88581fc3e72fcaef366002ea58b4ab54f3f8591ff7a3d4888f1a";
   hasRunfiles = true;
 };
 "dvipng" = {
-  sha512.run = "1392b745bce912cd98299b8e6c643d95590db0a14314a78504a5ee6f7942ceba994dc25763790349eaf5b07b333f59acbe1db12eb22dade4fd8114f176f8c134";
-  sha512.doc = "127010ed1eb30a2c88e59f2ca81c7185678b1c628c45561686e009e5178d825028d1ae0a0325806faf20723837a09baa9503bb375c51fd3a1731cc724178fba6";
+  sha512.run = "3716cc269d2f869527f6f4d5cc9ea92844c6d67e8eb56d80874540f37b89d6f8a391fb5c3fe0c194088f4ee7301396605c22d2990322ff441e1d1872a58eca78";
+  sha512.doc = "752961d28935c2399badb3e31af65c76eeb5a9cddb0de44f5d9907b8800567bf9fd8019fe8c39cc335dc9a60487aacd4de196611fe1f289cd0c424fd1d6c180e";
   version = "1.15";
 };
 "dvipos" = {
-  sha512.run = "ba8bbe1797971bdb1706a8ed059cc45c0d31a503380f3b1cff7c1d74ca8067d39cd6d0114e366ea0731d18ab00cd68eb8b57db287b0602c74e2bcbeffd6d3316";
-  sha512.doc = "6500b125af937ba20cd21649c16ce82ff8f8f1dae31294eb724f1e47ae1f9221966f68c5ddc9019dcccf411bbc262a3ac362fcd3d659972d3cdf5f559a87f756";
+  sha512.run = "ea771c689b519ab7167a0e363af501db771e7883c0b82fe0ded3661b57fcf31b932cb268b08b7e1f2f4ea3a7f85a7bc1efca83272f7eaf163354166a0b9a5a93";
+  sha512.doc = "0e4548fc7abe4aa8f54a1b1a17d4582e1cb6e9f0aecd9812a1e2337ab1aa9995b4f3c4e2417f3eed248a9d40a5ba2c314aab273fda3ff5dafda3d9ca23307b77";
 };
 "dvips" = {
-  sha512.run = "ff4be6a63fcd460dc8d43aefa4a9cf66bddd0225f816bfc6410b47d3f5319e33b65437e3360478f2cc7cd7855ff93c89137dc536783688f7f62f4d8adcfb70ad";
-  sha512.doc = "32e8dd87a78f79a068591ef1bbef39d454a43bcf7a295fe1ac22add8611e8dddd48bc9fd29448e8c738ddd26701b8fea4b762f04237f3f6b6d7dc2904452476a";
+  sha512.run = "ee10b8c1b67997d1c781fe2c3e5ce7826c111a2b6f4078330b566bf5525ad2a1cb2b89c4efa8d877ae1557fb319941ed09db30b229a62b6d3ff6f6a784e48df5";
+  sha512.doc = "fcc91e88fd3536244d878458a90d31ad3b9ec9efbc08d09d8b23f13d3887ca575e17663b2e21451abf88de389f7fc3937ce3ab49bc9e6ea94ab77c66ba179a00";
   hasRunfiles = true;
 };
 "dvipsconfig" = {
   stripPrefix = 0;
-  sha512.run = "2c30561bcbf5ff231a3e2904094c144ff16591b1c88a8180e3bf6c9f2051e2d689bc1dc6bcf389e5c6c3c0df3aa6bd3fa31c58d53217670d5a1bb6fcd1ca6fa4";
+  sha512.run = "ff7ad395329dd1cc5d21d5459916d0f10a8c03399d733048bce0a8aaa4e3a955f3ad3dbb228319d4bfb96e0694069002507bc294ed81fda5a48ad93f8cd82589";
   hasRunfiles = true;
   version = "1.6";
 };
 "dvisvgm" = {
-  sha512.run = "0588cb349d8757f48954e6b80f7f49d6563e8fc186eb241b7dcf910c32deca74e4d9bb2dbab6dcb8da4900e00a911681dfa23d4fa5bdc10bbd8d2f9dc23f66c0";
-  sha512.doc = "815cab417e0eea6b968e0ebe60a027a7fecfb652380c350305e2172d81a2a21e896277fcc3972fd76f5a2e2a586c8a7aa24e3b6b625b951dd2ca2d5c43f33159";
-  version = "2.3";
+  sha512.run = "9497809c9788b1bec8afe64d67828b7035545eafa92fc6e3be62e9ced5a2428db6ff169d0919fd929a30872d0c70359d679d0d32b3a741dd9070bf6bc2901556";
+  sha512.doc = "2e44abd6925358d1dc594296ac2c13f146b4c8bd9b5d7dfd3dce92f5bf00e88712cc0f3a0da915578d39a8e1243c84b936cd624aec424f7d1661e9a7fe2b5635";
+  version = "2.6.1";
 };
 "dynamicnumber" = {
   stripPrefix = 0;
-  sha512.run = "41d3bcf563eaf30535369b7b02c949091ec4ad6ec38894a10316cfb53b2bb1138aa40c4ba87fbfc0a883e687632545f755fd931530d463b043637913c251f94c";
-  sha512.doc = "b3988e0c1e94afe82f8011b57b9e4cac16487e8a6d43c0108774d2d5337c9e583b46b3540dc939257048a69c915ce5f1100813fd5d2eb9c74643dabef81fecce";
-  sha512.source = "c8bd8789a1eec8b41347e62118134f4e95a96db736686363c76a90da7dfc62a9df725e86eab2372bdddb858c2fb51a6a9faa74f2a44583de5f41a0f71fbdfaff";
+  sha512.run = "802df3848c8ace40e1eef5c1d30c07a6a5f30fc902a9bb18581b79ff322921e7235ab05981625eb289f093f4486f0aec2e9c83bf669a9afa993a86146317b619";
+  sha512.doc = "3eeb8617b33d45c1f97756f58bb87fa1244cd3089e0ed64f363f2909480459ce17e30d54bfbf948642856984618081d0fd15c0721d0190c187b375fbdfcfcebd";
+  sha512.source = "8a4ed9566201af2835190f574c3316f5eff4258ef0e9b25b62b146b483c14e9fcf66abc2e1c4b3512f12969bcee1a8102ba020ea78874e0c7f3e68c0a64232ea";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "dynblocks" = {
   stripPrefix = 0;
-  sha512.run = "4f3089e8c908bf6f55c9472c6ef6ce3b733360bc5a0c1339f8e03b0ac746746ddce93cf77b22528ad0af83ae04e2571e282ee12ae28012b69b4214f2a18de654";
-  sha512.doc = "9d399d28088d6ec226826d08e28b81185146c382e1e6af405a44b855d64e4b1e06b779bd695fc2ff3f040041706946ad117fbf73fc32dfc8f70a2091fee400a8";
+  sha512.run = "bda4ad43754e7d4fa87cc4ac5bdb772cd24a4e613bcf7993e3d448a9c884aad5ad484c6dd7739f4c6edb983560181717319dc26376a6025f3847afb588fa47a1";
+  sha512.doc = "4f4084cc4dd913bcff3e71286fa4e881c7d577afd8e0669396de2ab18ccbdbc8649117bb931e365fa5999c5c842a71cab18da5573e83c1d721c87256e614c321";
   hasRunfiles = true;
   version = "0.2b";
 };
 "dynkin-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "89eb8f20f670227e5f97404935e54aca559c6e15f05674aa702ebff676768165bd2498eb9c91399c90e4126dbc072e81e12bb3371d4e1dbecf4c59ce81e00bd4";
-  sha512.doc = "cf619eccba42a243ee7445f5532609b88cbfc8a42adc73ebedb347f92e9c63723ff8e953cbabada80543f46a9feb59dae0545b021d31581238f98597de06cd62";
+  sha512.run = "077268d796ca7e45df408fec24dbdeaa8d2192097f99880edefc12b7773359ef78ee243c0e479b6259c11b928908e8cbfead96b1ef0470831a65d1c58ebc4dfc";
+  sha512.doc = "c188c4e237439e6f38e062a89428413f94951c747e3c0cd122ea3ad8b0ca4d516f545dc2c6ac5fe5221d8a6d86b8754acc1981986d0eb53498f00a3b56809cf5";
   hasRunfiles = true;
   version = "3.141592";
 };
 "dyntree" = {
   stripPrefix = 0;
-  sha512.run = "800e0074a2459419601655c6eb030925c7a4d5ae315ad375db341170d04848b1b24573245562902c14d49cb81cacb3e6a7f341e30784fe8e3b03355e93322ef8";
-  sha512.doc = "38abddacf6486ba5df3c820c77c3f2da2845d26eacf8d083a81231c4d4b6133a28eab5c98e87f19fe421f3aaa0776026640e484e736918f0337c86823e03c5a6";
-  sha512.source = "2b4e20726864dfe61ea12c312493b0c8f74b60e42da13de194469c7a26e5ba8f4eaca53063eb7c2714b451147e173b9750327515a00654c26dcf7fa7b22740d0";
+  sha512.run = "8f8d568cc708e62ae1217188acf3deef05d7bbacf1da04f38c1f5b08d4b2bd0ee465021c923ed314ed284dd2234dce5079b7918c12d3bab72ad5f91749bdfe4c";
+  sha512.doc = "fde82bf8b97840014737734fb57eec7c37b34ca0d5eeb1a66c27dab16d4a5f1c4a7f7c10fb9c8bb98f3ef56a15645da0ab66cdcb658f69ea32eb84625b25023a";
+  sha512.source = "57d76ba3ff2e85a18fad69126a87b02fecf6f994de63af530831d63a0405abbcfad5ff7b33ff0f13c257b85bea73788e72a4347337c7355a25b85c5e762c25dd";
   hasRunfiles = true;
   version = "1.0";
 };
 "e-french" = {
   stripPrefix = 0;
-  sha512.run = "470884cb78b3bbf156ef8c06d0f07bc4b2316fb7afea6e478c47933066c9a400c19dc5ddfe1a4d6213e74c53857d4e0b9a7ddd360d02bf89526d6262dd7c817c";
-  sha512.doc = "b8dd3f97f6e13c9d4cc0eb1809ea86c970046500e09807633eb40f286e47ce1380c0aa87308796b12b8e12d597a71739853d845f349081527e1f7211c3ee9a91";
+  sha512.run = "ed14a41b05d47117fc354bb5a1782338ed91ebbd6071af96f4bb94fcefed31048ef3ed1301686dd720d7f1c9ee59c518adbf83c6c7de2c35e3d50cdd65c0b0bf";
+  sha512.doc = "d76ba6c016c8a48a06ed126d0d011e1336203cc8182f744de9d238e723019156f369574b7090cfcc943829ef058b77ec536ab6bb7c054e5e2587dc92998258d0";
   hasRunfiles = true;
-  version = "6.02";
+  version = "6.11";
 };
 "ean" = {
   stripPrefix = 0;
-  sha512.run = "6de1f65fe142a0b740db362c8fa4c90a410777fdf5ece83c7c9a21bdf8ab540b57f9e74ecd917f6ccae813b839d244672fa0a280a728340675e948c90f2debff";
-  sha512.doc = "5ab5f510a7849d41c9b1da5cb8909d9bdab21f8d88c96b8e9fe01c795d9605b2c18b88ff5d13ce94f459163c6885ec9c8728cfbbc9079fa14bbc9fe79955b7a5";
+  sha512.run = "8a44b134d612ad4908a3ec025b0934feb56a8a8d7c7dce91f7ff152fda91c99c0c557ecacf7b22d8e9abf8e99d28b09b21abc8658e598baf37bfbbaa885b86d4";
+  sha512.doc = "35c7d054236569b03082af07412f00dd08d760547433ec8da1876a83546c7432c4cdbffb617ff34b4e48b86873d699d41749bd838e12ffe32980b3d6e92865b0";
   hasRunfiles = true;
 };
 "ean13isbn" = {
   stripPrefix = 0;
-  sha512.run = "3bf98eed7614063289dbafe986d25feea310e8241f181e4114ebb18ac3c942e85e2766985b7ecf8d36a0ece11ba11f47df7974816e2524b42cc913b410d76460";
-  sha512.doc = "a4361b89f84d31489626b2e1a632d9aeae52c1e6f90fba92c39f83b3037be2ca1d859a93dbc3ca7bcd89b74dc9709a869c1fa68d02f110bb21e3c0b9f1986604";
+  sha512.run = "39d124c59b8c35c0ce103530d30943bd0c17060981f2be4412cad2a38bdaf0a3f4332105e07248718d835169d33fc50ccaa07d462d494e3d74ab02d7de344653";
+  sha512.doc = "b4f5f0f2e3e8316c61129a6b9662cfb0e23aacbe58bc3e111d94ab7a51d01eaee6354395bbdb91a944a261a794362ed719fc6e515285f55ea901acc5e6653d75";
   hasRunfiles = true;
 };
 "easy" = {
   stripPrefix = 0;
-  sha512.run = "07b0c9fd34e57b68e12589fce580bc20cac19e6c135e4af3415250c2f3bbdc27d0ca6057ea2b1dfb85d3af545ac1d1f4af778be121e69a54f6b45f2553e404ef";
-  sha512.doc = "68abc647e1e2855158928a72bcf92079941f0e6304195de4dc97ab20b21b4f2c97d9270e5e432caebe0a55ace336adb0a9c3e846acbdff90da0a351914d94ac6";
+  sha512.run = "fbc84351fe02c560ffa1c6b1713e762810123e7abee47bb31899d4baed353928350422e7d237abca758753ad306f927466919ce6b160a3820d1d5101c0b71ee9";
+  sha512.doc = "27bfb9792f0c8261cd2de9bc95dc4023c69a37e12037855e31c606f0dc18d47e45f8299d385fa1dfcabaf6df298bb529e9da41f6d9d36f38f8d7fb5ef7930886";
   hasRunfiles = true;
   version = "0.99";
 };
 "easy-todo" = {
   stripPrefix = 0;
-  sha512.run = "d6558760eb8f40add9c41dc84995a3efe17d5646b161719824e86de9ce99069b9ce5cfa4287188d83433f57df67717427518f86b4ec0775d13f48da0a8f164c3";
-  sha512.doc = "5414bb88289fa112784c55335413fd0646140f3c39be3255aea439f8e8cb047171a7364a3ed84234e886abf13e6956f1c5d247c883242fbd58f45db5dc45960d";
+  sha512.run = "88b496c1f4f56d26ac2fcc6d82e28d71bf11418368d82d3dcb193f8299672bf41d6c15938f3f6af5ac28141f2a52d132844fd178ebb9694de7f7a22fe8f13eaa";
+  sha512.doc = "b2c49273445084f94083ed11f43492ed8ca32582fd9ffe9d12ccb7afe316b06b1924a507c5a12ab5880cae40ef4ee196c6d3e5d05f916356fdc026acc0a9acf1";
   hasRunfiles = true;
 };
 "easyfig" = {
   stripPrefix = 0;
-  sha512.run = "a604630a9b7e60f5ddb9c8f3ed09f8875ad0e6b3c9b809e0c8335b1bc432cfe70d603a81ef5cde3bca080d7b2871a480eccae5849b828a3f431b272055773099";
-  sha512.doc = "cd00ebcc22e99b829335389f6ad4e3f2652ce939f18f640eb0e69c2da1a11c693c25717b0544f5fd1326c238de0b99b2c32668071d34df6d2fd529c0957ae9d3";
-  sha512.source = "77f3159d682e62917a6605c5037824c917889f642fe062c0c22ad59cb7c33e3d9c6aa609531a9649a6ef4e9d7d281d1dead8dc3c617cf08923de33fbbdffdf7e";
+  sha512.run = "4c84122d2989fa90533ced69f6eb9d2536e6de9fbecb096412b6459bdd45225bbf48a512ffdf4fd3f8ffa8a582b47692661b3f4197fe76f911682582b038bf06";
+  sha512.doc = "9544e9d4bb98f78915669d8ed7f314e1de92a0fc5c57b6163a1aa91afa7c97bc0a0726fe57fb1f3b03d981f9d9b320f211316e0d1babeb3d2900f7f49e9a2fdd";
+  sha512.source = "56cb02838c8ba147b56fcae623f86566f9885c67bbc43ab0ff40fae18afa8c9a23674fe4923c8cf4de2b62ab268dab0fe6845fecf2af227c8cce9891e68bd626";
   hasRunfiles = true;
   version = "1.2a";
 };
 "easyformat" = {
   stripPrefix = 0;
-  sha512.run = "4b7142fc6f1f92a9fcd044fc0e1ad958d35c50ed3b8a4c049f029cf68bf6561e9cf0905a4fe55d7bd6e9cbb9992ed5ac8f9c61b9fdb1527a1f78e2561db5bb03";
-  sha512.doc = "dc9b19e310b3ba73aa5bce51b73f06e706c73ce8849f824cdca4b8e6885c6e6e6cdbe283244ce35de17809718fc0aa00eb50ced3fd002d4025c5c33778362b68";
+  sha512.run = "f952227a7b0e579d2bf432b3a72e80a45e8adc22ddd9e7af380de54c12f04acf6c4a88dde5a8e7027d11fb820448fdbcc6a343500ae493fa20341634fc64aed5";
+  sha512.doc = "99b5f56c6004b72bfc7289905d2808b5e3c743449896e2af88a7b5c23bae3c62aaf2da9bee43192c662be28372bd856dec1b78a56626d5b1eb91b5e21a759356";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "easylist" = {
   stripPrefix = 0;
-  sha512.run = "ad44482ef848661b0002498cf1732ef56df15c28e14601217002882c7258f3aa1f31d7b65416b875f50b394479f45a8f31bd8da34a85e1d5672eb3e97ae9cf6d";
-  sha512.doc = "aa606e2dd57fab7e8aac263627ed98ffb2c11ec228c457173a8d4f2dc4f60a364e09e94f563bf2ad51370181273b4d03997aa0db0e26c4b1ae651ac130ca15ec";
+  sha512.run = "b1ddb6242b9ad2e40785602f942d4381a5d72a7d35784bbc2a1732ead1fbd9d730b580226452e9f56fda873b174c56f9b433f1193e0e3424efba4821f7b714ad";
+  sha512.doc = "518258b7d24763477376657e128ef3504d2c8e0f71187edf9edd34825d567f9cdcdb09d61a37d99655959d7c76edfbe550bd08ebd7760735e46fff33bddfbf0a";
   hasRunfiles = true;
   version = "1.3";
 };
 "easyreview" = {
   stripPrefix = 0;
-  sha512.run = "283125df90064025667636eb3948cefe24d0f9d583a08daec135c0a71d9948b766efbbc1db700a8093162c06ccd55eaecd1a1c128f74babf8df9021c46d481c0";
-  sha512.doc = "0f88e47e74996011daac426432c28099317ada3cf3d67c1e123ad597dfa70c7d67010f0c17580550666cfd5f6c811c1aea4919a7492ab9046298b6bf0b1b6f86";
-  sha512.source = "5e2b84f6ac46769ca2c5747068e995d2026c850267c61d7ddba8acddd6b984c4a014d310a6dde1847b7c9433c362aa356cf192bdbe2e89a637fb17248af4d9fd";
+  sha512.run = "4efa69b2e6280333a89022f93a95c8af4d22cc9b82c4e8692291470af83696e7ed524c77cfe9d9c397c4136c0ebd8399a8ca4ab47d42b84da35bb79189ff1b6f";
+  sha512.doc = "4f71891df0b1dfbf32be06a427f34e5c45f73543b3acb9117487d2bffa46f5b61b74f795249cf3d806705beab710c5a7934a59a8e215c87678e778db517a0832";
+  sha512.source = "8e4375d0711a1fd8ffb3c43a53b62e5e9b84ea90217c21a7155e514a4a42b8b34c36a0f0a839766d7e9b4eee05a6cb36ffd1da98f1c9f756d67fc8ba0acd4807";
   hasRunfiles = true;
   version = "1.0";
 };
 "ebezier" = {
   stripPrefix = 0;
-  sha512.run = "3f3e08383e8f14846f6b5be6920d5d2c0e219a2925d08ab2813f4bd56ffa1f1c9a59251b09187b514379e663bc08497f87734bda2a7af8cd1b353e6870f0007e";
-  sha512.doc = "9ff660e3cee2c0619b6d74b2eaf55fe71e0eeb2f6de05d6a971bc341f2fca24ddc6a28c5fa39aef91e0d657a8827ce4c2e4d99b52116fd950b860f658aa79db4";
-  sha512.source = "67b3fc4c1631b2acbadec70b88a6480d24203402f96c6370f45cc612a1f1052ac1bc3f6b352a94b860f99312d0d8a1d16ff640822942101ec27a788566df2c95";
+  sha512.run = "ccd80579b8c7e7e3500ad644f8a418bbd48ad1f2e1cb2aaa82836477553332b43092bb760c01cd7412393ee5b8bf23c055361f111467c71bd7061459781557ac";
+  sha512.doc = "b81d28abf5c8b4a3dbed9219e6519e23fa5b94428baa8aef0ff32dd4893b24524e49cbb8ae08327a7ee59eba93cb0fa2950883d22296451c1f7949225f42b1f1";
+  sha512.source = "ee742d7061a7891ad2b9cebabe827a408750f00ce2012bee8ae787bfd7b6d7ce8e968614d3d3f9eee72072560d47d871fc0022bac8ca8231643f85adf31218db";
   hasRunfiles = true;
   version = "4";
 };
 "ebgaramond" = {
   stripPrefix = 0;
-  sha512.run = "02e67cd7885e8d2f4c3ec41926f528da11a0c1e5ae773559b319b25e8fd8e3027bd39450c210db7bd38047fd8315607646bb69a975068fdde82225b457ed530a";
-  sha512.doc = "71c4be3cb78266c9d246b6fd8751d64f82eec6ccb58c2944337331d79ba9fee97fd269c8545d27aa054cd3786b8855dbe7ea97c327fa242e4a31831042c4867d";
+  sha512.run = "36ee434fc88f4b72e0d1b5fa1cd0a912b1416bc3d74881e78494c2e9eedd1eca6c8bc5ad684969ee8b2bdd83d31c944e3f01bb4e26a6c6581d67cfc9bded6184";
+  sha512.doc = "da563ee20f8271177944ba4c891e91fe54a778bfdf2c17f5ae106357b12ed34ae9db71e4e82680b008184c6ed18a5fe645d848e450dac7b031246821fdafa925";
   hasRunfiles = true;
 };
 "ebgaramond-maths" = {
   stripPrefix = 0;
-  sha512.run = "6d0ff4f85f83a350c2291c20798630af205f0a17f69e959979938b80e2db1b0dafe28818c6023ab1ef5d10ff7012e294403ac46f182658d563927f24d048f749";
-  sha512.doc = "7bb8132ecbd6bc1a73ebca1cb81e82ab3e497727ea2b932424eff628c81982bde9d77fd7aa2bdd5d54c4500139dc8da489f377912c0e1b86d0244f4d6969b4fa";
+  sha512.run = "5d65f676daee62f96875def0faf6d1fa217143046768985956372473b4cd3c6c00ca650cdedcdf677d6ae6a03c65743d30df6d32c36cc8366d8a1a9961bc11d3";
+  sha512.doc = "d2207e0f6535be6ed1a53fc15717a60fab0d473da4f307cfc70c7271fbd93e7f6cbd92d1c0f0738da6d1b607832cbed95e5c87edd53cc5423f35f287289b4573";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "ebong" = {
-  sha512.run = "9dbd783045b4976fc29601f1c5630e29e0c22826386322d67e4b39813c73e6f1f975e915a4e5343ae65163f050385b2f76a0aafb61c121eb7ff7e3dd1fe5466f";
-  sha512.doc = "eb6333aa57baf642e7e9e8fb9380a6737b3c54d32db7ab19deef90e240ba9afc35de74ea6b4639704e70faff823c7a9c0215ca7eb1139b09656f8a4ff1ea36d6";
+  sha512.run = "c16699e17aec0c6b8148b8ea224a3b2a0dc4fe1982e0b8dc5105f3a07075d99a07e743b55cb3ee23451a80d84e9887ca10c810c639b36a30c8ff275a27d9dcbc";
+  sha512.doc = "82fd3ee7c02b22bd42c38349a50fc61e78050040877f28b4f9e88f89ead962732b7e20f1999133074488b26d9609a36afc563d8e6cc5958829af22d2e3e44008";
   hasRunfiles = true;
 };
 "ebook" = {
   stripPrefix = 0;
-  sha512.run = "7293346edefed31af3518717cba1bf49612fefdcf997fb22910275eed6847dff472f93d123231c453dc4a0df5a190f5d2ea82b31df7e3e036956d6dea2927fc4";
-  sha512.doc = "34892cd456a1d743bf8a9f4d121a5ddaa9aef97b85b8889bb0e4bcf18108f48f5ae438a5d4bfee2d0732ffee8a93f9eca1c5e83d86514275d406d72616b51a9c";
+  sha512.run = "3345ec303d77965800fb78a1a6b0645c206534bdf84e5b5287d23fb273a720025ec770527d662a5a535e98fb6cb9a6d37d50569963ca24225af8d626ea7d4dfd";
+  sha512.doc = "0aba8d5010ece8e6e3c155d05a87eea960d8ec1b4deb1cd7ba948b4106eb8e20d752d3032696bb98c1d23b1927317d3d53a79fdf0b62e9053245aa86ef6e79e5";
   hasRunfiles = true;
 };
 "ebproof" = {
   stripPrefix = 0;
-  sha512.run = "7d86ffca1d5c6b6105e4490bf4cbab7f08c54dd42454870fe1756c5f518535d0226e2e10b9505514d39b5125e001ec062f17fda3f15bbc7250ec407e0eb54afa";
-  sha512.doc = "6f46a6b296a44ba92106630ecdaf066cfe8537e1ea6066525e84a7a97fca5fbaca4602b8d0140b631eec18ffed2e32c49ce19238e2099cf7580ae00d274150ef";
+  sha512.run = "1b8ba3dc47ba03fdb14af5e98ffddab51ba4ea2c423b959ea6b88f00e7b3c837daad5f43d4963de1f6a4b2f55527a45645783b0edf62dc30118f51ed71379a9d";
+  sha512.doc = "33eb4e25b0083b9c3844d4786c1f483d37e7a00f716ceec92c4e5a5e57cf1c8f1a5eb474d7f3c9e98a688174a16caab170a1853a6757ebc5ce0be837811a32f6";
   hasRunfiles = true;
   version = "2.0";
 };
 "ebsthesis" = {
   stripPrefix = 0;
-  sha512.run = "d0e4e65ac91f4f92507fbfc1e24ebb73a3d4cad29141261c40379b222a75d9fcbf6ff07da21c6c5d27ca09f3ad57b9311ff68d464862e27c043f1cb0936d8428";
-  sha512.doc = "842865acf71f2f6e78b04f70d1cc20f977deb90511bbdee0d12ea97e81b5d38dce882054fe95606d4607c05daa340733993119c794dbd350830972a3e12ad1e0";
-  sha512.source = "14fb464218aa59eace233c25c234660db02f5771b02bef0cf4ec6374246c0ea01502746db36604b2b08c3bc6eb1a7390cb3e5755c5c5a87af3e3d8781794b68b";
+  sha512.run = "37df2bd7749bf91c2e2a6e27e92a9222ed9b9d499b3a9bdb63f7751008bf7a4bea20d62bd59e8672b7fbc7bf0caa1ca77ef797c42224fc4167e5212f21cafbd3";
+  sha512.doc = "5c508fdf7304668a371966d1be0198d71cce4ec762aa1b5b480dc495f47dd13d88f678d8613ed266e1d8e1353811e3058c31aaa5ae9f181c34c6bcf40adf5ae9";
+  sha512.source = "0e35721d759fac3af82d3c627c5520ed60c36a83e50f10a717db990f2bcf5a3b22a0b28cce5f3926ec0a9859d5b08124efbe24ffe9a64f9ddd15f45f3246f596";
   hasRunfiles = true;
   version = "1.0";
 };
 "ec" = {
   stripPrefix = 0;
-  sha512.run = "bc5aef78d26464530d50e93f4120c2639ed9ba8909cb4db213b12dbd4fc851a91357604d4db00d8994958fc3a0d96784515a909cb0106f0df9c8dc66887831a4";
-  sha512.doc = "fa3e5e73f3b4ef6895cf36bf4806ee4abe48b8c783dab134a3c49f396e8740fcf6af65a7d81cc4c25c26117017f178de182f9b01db8cfe6e510ab0d8cac3191a";
+  sha512.run = "a967804b42bcc11e766d5b74de28c54d167625d2b108a34bc5e49351533ddcfe3334e4a7a34966f8d159bbde6a80f84b4d216553ce03fbcfb7a4b6267574538f";
+  sha512.doc = "bcf6617cf66af91312aea98f6c4a034f3af4ada14687414e7c3572e319fa4bd957dd25ebf557078297950d8ba8fd02229c5ad53464077feda462263b52536f29";
   hasRunfiles = true;
   version = "1.0";
 };
 "ecc" = {
   stripPrefix = 0;
-  sha512.run = "3876339ad96d7a2a7529c5747466de59dfa00154d6b27522ec701731d3e07532c9495cf7dce5d8979c8841549d6c691d9cc712349df932a240b6a508cf5b1297";
-  sha512.doc = "4be868f4d6a66a4af02f2bdef534b431f0878561cafbdbd46ffc050336bc56c28fdb56a45049703f86d0efeace5cf1bf0f8a5c151f5e8a7eb7c09d0d7bf35c5e";
+  sha512.run = "0f91383595d8606d0a118f8111af0531e0c53fe383511b6424f7cbbf70ace9c4d94dd379813bfceafcea11f6be361bf7d8df2088fad98a42a5e5d31476581f11";
+  sha512.doc = "e3263aab5c8ac9985c579d4fba121085419d5c28e4813798402ad67213f96575dac0776d18918edaa18d42d458937a1e60ad666b2a01dea445675eea7e32b2c2";
   hasRunfiles = true;
 };
 "ecclesiastic" = {
   stripPrefix = 0;
-  sha512.run = "eb0016cff85625cd4d6bcddf73ba0681471f0462b5bce08ab6b6e3fbfbaeee98fd870c08f3b82b44ac432f94aa1dd48f82bf0a1f13d67663350657219f1d1945";
-  sha512.doc = "cf19634a34951664a3a1e4b5957f0810f7d6b32559f1a9eac6c55914b792b2da82cdf314af1dcb4def5bfcc8bebe0372094ba05b6a5d4f61cae09b6068b8b483";
-  sha512.source = "b2077410ced6053321e1ec396b15052a362081d3db34aae7f0c48d33e16f71014c811c6a0306f79b9f69fdcee217dc7a12ddd67ba2b07ff137155f63e1cdfc96";
+  sha512.run = "f2518f8f25bf4b7c7fd34ee5fc271d08c3262ca2d90e271e02db96ef4826bdee53565f004fddd89e886258716874b101e7fb63b46a6124ed13b67facded6ddcc";
+  sha512.doc = "35902f78af7c9acc42e23ae1d5c39ead5d92f0cf73f9c27b3f15d025555ed08502709638dec3788305fa776bb2924eb43e691c6e69424b23c21110de3160b60d";
+  sha512.source = "9661b16b8d3af5e205e99a7b8da8ce1913ac1ef495f3e02202ce7cbe1fe786692c64b4a82913190db42f922f33d939069cf423b55af53792808900ebbe728b8a";
   hasRunfiles = true;
   version = "0.3";
 };
 "ecgdraw" = {
   stripPrefix = 0;
-  sha512.run = "8296e06f21c365ced65e1f7faf11d38ae8ad5004aa72c3e9716350161a21944e0566b86d02f0772498429b9d27ff0c7fb82df9b1e72ed8b33fdc1d074a55f1d8";
-  sha512.doc = "f92ed3dd1c8f399bf003b9778327752214a785ea95ffd0921c17dfbc26ade5d0bec40d19284caed6a7857b376d029f91dd85df2d593dec4ca03991c0948ad36f";
-  sha512.source = "eb794c09901a5c72720537be6c9f0e4e735417035f63be90683ba52bc1326963ab8087807524c260e3cda3b29608a037be6e534eae917545cc2f57478e950869";
+  sha512.run = "419650d8ad24b9e08523953596a79c318740b2dcb7fd18a7c7a17019fe17cc66439c0acf56a7a7f8176349df0d80b44640511269d498cfa19aba6fb1f353923f";
+  sha512.doc = "24968ada8568861eb973967b33827642e1201d002f73d40de5183a38d5f447a2fb93feb1db32807829c071d1a1147039e34ed4c287886260453b9c9737693986";
+  sha512.source = "27ea4e0f4d184883eb0515cc95b7b797ea215626fb5c4003fc02bb490b6f3edf1d9422a7f764df28372d9ded429dbe47645bdaa8fa57c4517ef438096ac68801";
   hasRunfiles = true;
   version = "0.1";
 };
 "ecltree" = {
   stripPrefix = 0;
-  sha512.run = "d54636eaf81b2131df2d72fe8bfe6232d1c732349865ecba107652a23fcdba4ffca7a6d1f7fd0680fe082596cc3b4f17611100c8b3e311df06a1b503487e62b2";
-  sha512.doc = "7ea18a4468340745c0ddf5959a911b96bb969e4b34799f2718928b8fa9a9b2dc24939c9ae9ac381c46b4a8f5f1e9d3f8b4dde92bc53a33f05ea74f6051d3b066";
+  sha512.run = "7461fe472dbd2ecb4e692cdbd58d5b801960d160bd7e18fa7d5ebe3e42defd11faba318d5d9134fd17275a4271f4c7761fa2d65fc1f202b4eb7b0fe3968a9fbc";
+  sha512.doc = "3dc607ff60f9e738476b1f5c801801e3dc10713d7f5dc4b790b92f454fec1e68e9abe8efa7e4b0464ed6ad854d7971e241987fd63d406ba9deec9c99f8bf229a";
   hasRunfiles = true;
   version = "1.1a";
 };
 "eco" = {
   stripPrefix = 0;
-  sha512.run = "515309014215e6c6989056b11f3b43e4451cf458a53ddc54e0d2263248b7a84c339ecccee2b6e52e95b822a141f073a388c31b98d31ce456af7a51fa474b4f18";
-  sha512.doc = "f26e6e0788fd346c870c7eba75c0c8acae2496789bd816293b4a952a9ad1eb35dad26a58fd98397fb49f3596fda7343f8e7f4c266065301007a805a3016a600e";
-  sha512.source = "623aa1a5ffddb1fdf5b06103023d8420cb2e2ebb788315ab34931d1f9eb93395344c922573218ee4d21bb8c1ebcd1e5186fd6bc35a20b591455b07ecfbd76fac";
+  sha512.run = "7bed893bb3f379d61dc874280ccc26db037511ea69faf37076f3cfbf01cf3d747706d40086eb99c502f215f026b2e357e44e8940a859559c3a5d9876bfd70c00";
+  sha512.doc = "3c2042779dd30c8ff0e8f09580b3173f3dd43659ff2ca94c52500f989a338a29799c22eb08c493dfa82496117d7fd7548f903f71fe488727acf4e517dc6c0377";
+  sha512.source = "355f1a47eddba5eedf9933d0a137045d9cb06e3918814754079e7dca0852d2fb10969f0c48a030ef9dad923e7131b6e77af8e1e8b2954b3d70409fad400ebe05";
   hasRunfiles = true;
   version = "1.3";
 };
 "ecobiblatex" = {
   stripPrefix = 0;
-  sha512.run = "164200b6da6992ebf541371032c1cf61f8c5076be0ab003e7a225c1f6c1b897701c805808d1c6de15cab82ed010919ddc282c932a4e19af4018cf16f7d04429c";
-  sha512.doc = "20841a19c7df4bb2a89ad0b91f3785d27007ea494ceb7f7d6c4c2bd34740dcb86ecbbdcb91e18a0b1c3442212a5f749905f445466ef8d86b9f2467f78492b1ea";
+  sha512.run = "bfa49fbd340223db68ae6d0906b617c06605a41aa141ce7863d5ab85b4da44eaba554b93bf163f7e4b7cd2c5131e22ba30161082663588ce85240fe2147433a5";
+  sha512.doc = "e12bf5be5028e848baf10fed969a5ea94e2246153b481fc1b8ab55a6fbb5c356391ec4ccdb37ae7c71d76885000d9d74e46271402ed83ed08d1d67a94cf372d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "econ-bst" = {
   stripPrefix = 0;
-  sha512.run = "5cbd14c1072af65b9cb70f61285b544ddadf94a7b9a0151c76882707ffb80b1eba9558e035f95c84555b68c19198e78ba800cb42fd59c1494ace54bb32561a2b";
-  sha512.doc = "30a32e07a82041cd9e04fa97b7d1fa92284fed690d9959de17475edce5f67a05b3fd3e5bc5f9396c3da7567c9d201a29ba1d860a14cfa8c66679f113f9f4c6df";
+  sha512.run = "8d54d44602d10d09ffa23b289763e439e0613a753039acfce5c6b2ddb3801886bc4c621a3749730488b2ae22cf41f5d0b887dbaf2fb0050afcddee2b32d02eec";
+  sha512.doc = "fbbb25b129e477d89263e5bdfd9e998378496ed0be0b77ae580cdd3a6bd539827321fc966d08ee7f71babd3911ec4e3aa1eba9f0e0b7b41dbbbd87c61187a891";
   hasRunfiles = true;
   version = "2.5";
 };
 "econometrics" = {
   stripPrefix = 0;
-  sha512.run = "6857c9cba42e12a2b4605f0c7b094ca575110111ff1efa46784ec413482496309dccac13865648be3f9e7ced08843ec22b5892ec95655ef291c8a661359571a0";
-  sha512.doc = "b567c985cb1f43d0c994792f67b356f3f33d31ddf3a592a5720b961f6906d0e22952caab1d47742a896ead71961ef8352187441a9dc2b2ecd6b29ed4de36d920";
+  sha512.run = "40c205421ca11111d2aeae9f84b4e418e6b4f260858805c03029753af03def61221b81eabc18dea5fd4cf5722e3dca1ff9f575264257db3a8431b061177530dd";
+  sha512.doc = "b5992f38536f0e4ec1c570d78523530b53e428d922517d0ad380ec76dcd2ee21243b9979e876a7f809b1581f4c4b6907bcd3f581dff97c13a0fea2a0fca1d790";
   hasRunfiles = true;
   version = "1.0";
 };
 "economic" = {
   stripPrefix = 0;
-  sha512.run = "f89113cfc9071c5a064f2f0f647f4b1735bc584c2fc637c7884707de0843005c4c2c9ca19d538e9b335378d0a2944e2bbb305b17c945212ea9728c5553d10c42";
-  sha512.doc = "03d49f08dd445e41916c254261b2de7f3355736b4b8c30a3f517ebdb270a4764501c4f6c3c6829b7d4941959e0d4936b5b08c514c90b86e62735ef835dffb4b0";
+  sha512.run = "d8bad4a76eefc8729ea06e93a63adadfeed57de5694775bc44f1dfe03217101609ada6d12b7a2382b9d80d068f0c51fb2ef45c2cf289fe294efe23fcf0bd028a";
+  sha512.doc = "39c319f14ee3d6fb10fa3c4f5d3a873322d332bc181a33a70020a9fa787383b72809b3b9aea5fcf4a3cff9930543e0d0269f74146c12f2b0d77a4f77c159eeb7";
   hasRunfiles = true;
 };
 "ecothesis" = {
   stripPrefix = 0;
-  sha512.run = "ff38f30f7e26f8889bfdb17b04cac6237ea42f5206a63fec6759021a6d3d31a594fb33e228e3c57e727c8ce521b6602514a929910410691df46ecfa316c6dc15";
-  sha512.doc = "3f6448549ed7ab119a7fb466b91eee7e9869567f0f59ec1c0faf1b3d54c5ce902b14c63eb9955d6c04bb40e98c5921864397039228aa301bb8f7e301afe11a20";
+  sha512.run = "bed57bb0ea79c74517b26e51d88966f9a05943c4df6464200ffe36f486e9cabccaef2fced0a231b40b40410ef32c44a3ebaa984e6def30bde5d426dc68e42309";
+  sha512.doc = "7e1e3716de1eb964142a85ab31e28fc807ca1433f964e44cc8a7103b9ed023457bcdb01af2797a5e22fcf75a2e851d9c534f17937fdc44e4ebb6b5a670c6c115";
   version = "1.2";
 };
 "ecv" = {
   stripPrefix = 0;
-  sha512.run = "6a735b35ca107505b4f3001cec4eaceef97add305c9b4b0500ec831989efe128870f5573e4f731c898c4b6e2ab52db1e841d21b93976494c6e019734d3696636";
-  sha512.doc = "dbb8f0a72268b2c2dbe3a39b30c2168ab7015b6d7938a976ca32c2e745a83bf71c95dad64df660ebcbb71866290ab77a6f5982b460c04da91b82996b40f65866";
-  sha512.source = "b2b2ffda7bcec34442b74d61f6d9715d853223fc49650161cdf8058815934fcbaecbb5781b339c55360192ac9c47a023efd506663820ce1aa14dd0f5572edccf";
+  sha512.run = "0ff0a352516aa90a19eb1a0a9bdc651601edc63f03c5cce9face4bd45b359734d954e2b7859a0244015e3933eaa2d3803d5579ab9260dde51a0ec89db8034910";
+  sha512.doc = "1cb8871b552a3d91fb59c644ea98373742ba9bfea64a92911f67f2795afaf01babe82a691fb3344f236e42b92860b754d7e92132b266713948cd1a6af13c58d7";
+  sha512.source = "e17e9d577cb3a562a381c8ee8a09e7b3bbdd236812fd9e647b72fa18d6f7b11c9a44f70376d5dfdf2a3b81d1480b055d23e8889661b557e88c03f02eed033946";
   hasRunfiles = true;
   version = "0.3";
 };
 "ed" = {
   stripPrefix = 0;
-  sha512.run = "1f3fec79ae46c23f2cf52ccbf8e5f6521a67156c94c68b54c03d61da2f0628b8ef676fd9571e0785ec1fd08eb2796210d838cddf35742ef4405214f6d7c5f3e0";
-  sha512.doc = "ec02d591ae000ae9b4fa161f9401ca170be33f72985e96ab9025cdb3543d17f921aea6c9ccf061e69769696ef28f5e81d55bcfb85eed27b735c2b186a5f84b59";
-  sha512.source = "1eb9a4eedf186ba0b3130cad23bfd21745d838ce9869886fb2d144fbb41cd89d3272115fc67ba91b9bd74475a407d310eac45be908ffc2345adfd5434be5d3ff";
+  sha512.run = "a6999fbe2a9a44f961ef60d3da65ea306809d1ee5c39d2fc605982083d69c3c723a0e18f4042cbd441103421cb569008925279871ea8ceeb0af4c4a21b746943";
+  sha512.doc = "cd7bac245c14e969b5162b86cfc76e0673da357fb1492ba311930ea7e20a6db61e3a13be2069f4f589ab57cba9fdfb0fcc8779ec8607a624437d1b2bd746825b";
+  sha512.source = "7736dd9bef8c265437675d87a6b70bf0bb67ad736b668210b7187ddfde899b145050e18a9d54629b966cabc8b46028dc982b107c0f869e581669b663d3267ba7";
   hasRunfiles = true;
   version = "1.8";
 };
 "edfnotes" = {
   stripPrefix = 0;
-  sha512.run = "f08a76ced11ed677e3e5be303d887bc6213f0ac6f3a19a1a4bd5d145aa3517179ab0e95fda21f7e5e2e48fc301cda825e4727d50b1dc069443af9e01e03e9288";
-  sha512.doc = "d8766b87b737470fb65e653e79c3eeca5e846e3afae6c067b62f8372b9c9e7607be0e2c29587747ec727f6eb588740314871f8671b72647bef87a215867743c3";
-  sha512.source = "fa748057e28d6f37d278010dd3e75e475662b20a380dc0b67eeaaf2bee72652b8e9c2a4bff85f4cd9d10d5e98b424ce1493488de35358d44da1a90e9062e616a";
+  sha512.run = "3ffca21a97b1e54045129a8894db25d677a54c791e3453f53285741bceff0eb4c7cc00e81706ef77ac475a0f54a7868f2e9b444df0c4e4ba6b161fdfa954dc07";
+  sha512.doc = "144e2e22c4ceb6ea46235ed51b9a1ad4b20aa524af7b6eff617194aaec4f1606d857a8575e95816b4ef089e5c7d3fc1e2fc8e622486bafe9e5a9ace22bb44105";
+  sha512.source = "9fb306c9b77f0988fcc2dde74336687e8678364e2d53167bff8053a5888de1cf51240778281a7c864a7b8a66738d2c894e7e4b7a88871f0f7ce0e40c61b706be";
   hasRunfiles = true;
   version = "0.6b";
 };
 "edmac" = {
   stripPrefix = 0;
-  sha512.run = "b7c3fe7b30a323d6149563991db847c7767bdb58581db6f93f5d8e0d4cfb289c70e9d2e24a5361e4c2407831d86a25096ea7d0757634ac83960ab1c3f49202c2";
-  sha512.doc = "e1b679a2cb755f8d43fa89c5079144ddc0db928d6e723db0c36a80c03ffbc839b91d682d626e65af3c741bdacfd9266d52e041fb6b8470ad0d52e3f7a349184d";
-  sha512.source = "82951241d58ff2288b5f0a6cb3f4ca9f1334af348c5b21227c1728b10e1785b801136ce54414be39525b46cd6c002fa4037c47cb8d01be5ae7f2c359432fe274";
+  sha512.run = "a9f12f0745305ce261b142f96ed496341997098461df749715723fb09d978ebb037976c7fd7176eae2475d24c71df201a0123b1651749b2b96c9ed9429746f6e";
+  sha512.doc = "a54f4b1171f8f6edd6e655f49adec69f21a8293af03a02228056ca700feb7b656cbf715047a20f45127695fa851af45fb5e4852ccbf7d28374a02d14f6e55acc";
+  sha512.source = "b32626fb4acd41e9d853131d1c32e43d2cf10ee021ada41b06b8cee5c88b1f8ec8511057f83865c9237d8a96a9648edf8696d9fb6166e4c9f072e8dfc10808a2";
   hasRunfiles = true;
   version = "3.17";
 };
 "edmargin" = {
   stripPrefix = 0;
-  sha512.run = "181420648bfd1ea6d96d5727e4b9755d5764e34d1402a2ffac3ce661db512d19b30848e44a3974ff93773bdfe3146ae68a97c010abd98a8635c236a20194b13c";
-  sha512.doc = "0d06d22779d492c2f6873c9c5b4931b68475618f1774da9a82c4edeafd0ccd7357a9214e8f9e536f18efab333537813748166a3b1a2bd85d66522100628bbe0f";
-  sha512.source = "8ecd526c9001e72bdd12bea4119ef25eed8a283abf9e32b83f9209c2ef5d373bab3a99ef91dfb4bd2289547787481a032a70c95829cd1d907f9beb619e8f15ea";
+  sha512.run = "242e7eff25ffb539353b73c18d31a268efaebe4fb51d9ba1cf376346e559ea2fb380743b29056aeb8e4db2065a660bf59e7c8dcf5469f91c39135be2b8c9527c";
+  sha512.doc = "da77df03b3eb89daa0a544d61c88956a7105073110dd9e1f4d1a753805bdf722a63f5a9674897f4f09a92f689d6bbafc190c870cf5784e02df7efed781dbbcee";
+  sha512.source = "6f3b848e12b92f773ed23f51bcfcd52fbb8209906b937486c87ee34cbe29d40739cb6c20799ce64bfbe7b0e3dfb96d604aaccd005ecc1dbb7126bf5302d3c814";
   hasRunfiles = true;
   version = "1.2";
 };
 "ednotes" = {
   stripPrefix = 0;
   deps."ncctools" = tl."ncctools";
-  sha512.run = "797821d6a4d686c74e4e798de8f78fe65516e9f0b3f0a994d8237d1a830e919e83edbbcc709fcb3563e1039a8ac11adcac715ae44c6879dfd55574adbc396300";
-  sha512.doc = "86f0e299c4d39cba61b4c69174958c3001e076323ae7422bde7d557e7b8d6f99c07276d5568f88a74ea2b777b471a681a2e21cd5f863e0eadd21f15002baee78";
+  sha512.run = "be181a2665a8dbd44d98f75a0bc718b460d85c4fb66e412e18f12b542d65a870660597ece71588e9410214a61d6e2d9883089ab1439eeefd63a5cea95fca5d6b";
+  sha512.doc = "242ee2a951a61be7dc0133b0a156611bc574c4c54b879701960f312c58613221acad1c83132658d622962ac24b13b4cb5c91e46c77f774dc3865db57e126e0b7";
   hasRunfiles = true;
   version = "1.3a";
 };
 "eemeir" = {
   stripPrefix = 0;
-  sha512.run = "5f340cd1c0aa44e273d58e3a7327ce66fca6787b654ebbfc5b4dbd8fd52879423e1f79b7fda90b34b5cbb973200776fc0095e75ffab80f6ef916c5ce3738dc48";
-  sha512.doc = "36de239518df2984bc33d2ffcee53a204e8f048f44e4f12dd18fc1354dcebc4c597f62fa62ab4481dbd9d2c82245144711a9d4d74fefda3f5043d477c8a20a9a";
-  sha512.source = "f7d93c5e9048c0454a1b68a6a0e7f6d09eb4b2de98eb0abe5d7f48ed5b632c460b778a7c1b7ad0e0a1d35807c2fbf15f9fd6de9257af350211dd5138b28a7339";
+  sha512.run = "81679a08a320275221058cf0a73d71489621bfa4322a4b90759f67253df06e5c98c1325846966924c145092d9f63d9ba51544d0640c7f0827c7ebc42fddf9f3a";
+  sha512.doc = "4f7a67d76504c4fa8de1f7f4e5db19c1ed1509a3ee68d93811c84e3ca523b8ff040d61e14881ccf75d20edc7c6b52550b3b3fdfa58a9a73bf21ec7f8b0b719aa";
+  sha512.source = "a75e1bc385293e5e418af04a1c03ab606c5c77fa95bc6830a029e53e4298edd853c0bdb92ec0b97994fb8d2b7af293c3ef60f3d14974b87e079f15f904436d4b";
   hasRunfiles = true;
   version = "1.1b";
 };
 "eepic" = {
   stripPrefix = 0;
-  sha512.run = "e5a6092f6077bb779118caecc87526e4815a53703a99c374b53a8003d4578b874ebdcdd9c002e5757a4425d3439f1413519f17088e7cf050e0cbcd0375e214e3";
-  sha512.doc = "47fc6adca851f7f25cfb769a82efe7a5aa30973d14b2f3dd0523c3f45ef3b00e0bed7867fe73ee3bf76c2e8fa445dc98c53e30c9285fa160537a64122ad57843";
+  sha512.run = "37930ecdebd43ac8ac1dcb42da4d4eb4b5ff371605b9bfe4675ea861f4edff7cb19703669c8356c3d69e7ccc09789bc536714114397c3bca74fcb4a22b6f4d9b";
+  sha512.doc = "02efd8775f6d0db35fa4682c6bc715fe619037a6531de60a2955fbd7fca01d97a8e6dee0109a8cd7cc8237bd694c64797392991e5c203baab49dd9857b0ccb4c";
   hasRunfiles = true;
   version = "1.1e";
 };
 "efbox" = {
   stripPrefix = 0;
-  sha512.run = "d58d6a149f45075d8b0bcf8722db17efc2816cb3cbebd459a46a797c6429c7a20f3c0253c3ab5234caf314ecd1fef90f2e34119512dafee9ead0a9979f975dde";
-  sha512.doc = "9035f0778a287edfe7cb5ef2e30c6c3997ce31a48c4e1fd59f3bd8316c7a4549ef741c198009c98beb265e733f6c5f79de42186b323b948d91a170795feb685c";
-  sha512.source = "e7964f8d690255df4ca21e5c0896a300e7a28bae50947a21f7ad53cdd58931a9aca20e90e58f30b6c119a7b8015e3d8cc92f57634f0130a30e4c314fb421914a";
+  sha512.run = "5091324e7f5c05385296d570027a8546db4220a24da330ab85ef5d1185772f51b4f200f63eaad0cfa3eaeafd3d055509f4ffbdf798c1139a60c5e572ea46926e";
+  sha512.doc = "394387e09ecb0d497014a62fc1caedcb3e00148f6e0a9a16ae1b53efbb4d5cf749e154e4c905d197280e4ecd9bc88ea07ab7e0c004b8c30eadbe7f9f414c1345";
+  sha512.source = "4739cf6bbe23b69605079bdd8c39eddd6b44e192c5c335001c9612598f2a005e98b853bc02ff67996b63a971b200996f35de2331f230d9c43ed73ad9a8a98a7a";
   hasRunfiles = true;
   version = "1.0";
 };
 "egameps" = {
   stripPrefix = 0;
-  sha512.run = "205128754e28949c842992a8a14863dbc2d0dea34bb16c59a641d9b8e5339c5ffb3b46c39bb4047470bfdde1fbce73c987bdeadcacb118236ebad64bf68a3992";
-  sha512.doc = "477975b0a6951d4261a208075bd4014a13250fc32179cc2a66738aba6aad9fb497a8b3605a5b8c5f62b5b491bb12702fe05546ebde7312dfe649adbe0072310b";
+  sha512.run = "b8d1c056783c4a71484a00f0d80de4eb9de3beaa54cc4dc71e5a7c171871b5dacba753ad03ab196661b1bd73cf9d2eaf202a813b73bea405f807319a143644cb";
+  sha512.doc = "0216a85d539ab19aef8c2c4f313f5095aa39e4955ae9610c14d0243081b7af98f50a74a2f7720b376493e660a5486f83e69b41f8cb8017ff66a8e706eb9ca71b";
   hasRunfiles = true;
   version = "1.1";
 };
 "egplot" = {
   stripPrefix = 0;
-  sha512.run = "10186e8c2334e7858995643e998b5fb8b5ff0f99463e893b215da9b2b822c3bbcdcec23c1090198dc1e1c1ade49729f3da7c834f987f4838a092489fd3d5c801";
-  sha512.doc = "8a72af7dd0d5d022d9be243974de413c317b36af1e334f2c858dc7b6a1dbddf4c6ce2a001321ef39cfc75bac5ac37bd043aaf87e9bc3e6e11f546d59b6aaf91a";
-  sha512.source = "d569aae99941d6fdc11df10d41f36fb72142248554acf7b923b260a9daeabbc1b9e13efb74e6dda1141ed2e4a7ce07aed311dbd9f0b93052de537e4ca4d4017c";
+  sha512.run = "c96cc3185c09f66fc6a4c19958b88d178cf0b6ea9d889938df5a07d4fb7b19962a9c17ebe0a906ab19a8725808aa09ee41b39a0379fefbf8816a5e78abf9201f";
+  sha512.doc = "e6e55708004cdf3dfd753071e2fc242428a6636944f3ea65510d2e9f8e2921b869ff4a22d100b43d70ba0708a5b19f002bbe21f57c858ec72b11ffe82e161e50";
+  sha512.source = "45c810de39612dcd60d71b4acc8aa9a7c2c22c1eab8e1ca1628ced9873c86b0ff31035ec5f72d89decf91ba552c4e3473249138f557bd650b9863c5385502436";
   hasRunfiles = true;
   version = "1.02a";
 };
+"ehhline" = {
+  stripPrefix = 0;
+  sha512.run = "d0549e354c34d1ad76502ccfd565292074a8e1aa72f021c9efd8dcb39ce9465ccfb0add899226775e82e9e90ad27a7980d5f79fc8a5a71a449a8a17845384918";
+  sha512.doc = "a3c436900a964fecb613469c5beca557a0f923d1c651591d9b884f88f127c435081a5fbd2f4129041f5438536901feaa4697b59a011064a4b4822ef6ecea5068";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "eiad" = {
   stripPrefix = 0;
-  sha512.run = "6007d8e3a6d4970ed57360a47cd01264b9c427efbe96a324e89c936779e13faff7f3e978afa125576f8653a80c06fe777c42998a6ad5e09f398ad394fbdc650b";
-  sha512.doc = "b9af768a3106b9e6be5e9afc68ce1b5ac113ea0d790a53013ed47adfd056fb10e89ef25fca935760ad24590cd2cbcd4b2b4ae7853650c8d1726d99df3f9af9de";
+  sha512.run = "3123d601a5f5c34c45bff20eb052a0934a2bba9d693e460fdb84908ed327eff8b3a022a5c617c8818bd48b1fe72b9b0c48443e0cb290f15e94334152f1f5e5cc";
+  sha512.doc = "546bbad79f9f13e420b05b318010f078ea8844a02cedf11faa506d41073e2e0668356291a4e12758e5a37586e4aa9c79c17c8135f244756c39b61076038fb8e6";
   hasRunfiles = true;
 };
 "eiad-ltx" = {
   stripPrefix = 0;
-  sha512.run = "9d6e2c3790e2812b8865ebf9a1011b43fad20410b8cc176baca397a81f7dce48e9c286e64f6d99f391717dbe2a75252c7ee993be45bc3bb9c08b405c29cdd01e";
-  sha512.doc = "21baf2a00e8ea5029d04a1ce2e35efe4f57180c18ffaec1d5c335894769e5419849aa6487dbf9c2c1eb33cf2bcbca6221577f1c34e2a82dd438b383bf93bcb3c";
-  sha512.source = "e07fca4c1602307235a87258205ddb1d026d70d68396f9f4b342de457bc5136899b40bf6cd7dab887640a20c2cfbcd5ae5662c58840d78fa356acbd6144b4c0a";
+  sha512.run = "e052333d39e72562e8e84d0e7f6af7066c2068a782422f612a26bd2903d8143874cd4dcc556d7406f3601a6b3a28506a3c0edc92e4029d124f02fe91edf0163c";
+  sha512.doc = "907a20283eb78965dc4d8fdb46c542937c70c7a3f2849984034f9f37872d4d3042064fad0ee232132aadcb7daa4d4ec4b9745f8a6d0406dfa7b929ea68be0d96";
+  sha512.source = "dcdb63542954048aa74a1a412cef02c16706bb7f66870e72ab4c772e2e41048c255bd02877fc60ffdef15b09e229ba721054cfbcbea5ce16fdaa181ca0bc8283";
   hasRunfiles = true;
   version = "1.0";
 };
 "eijkhout" = {
   stripPrefix = 0;
-  sha512.run = "8c23d5c997321569240833e95c46c6c8cde2630a8ced730566d2d3cdb983efa98850b6e40305058cd1b264ada9ec631c715651899c564d3d495b9aa58b0d94b6";
+  sha512.run = "448f3b51c984a1ec81428c1840ba01d072cef4d1110b85f8d4f4d786d02e8d08e702e0b33e757035aecef1f43b604746c7b6f492905fbb201fc1a34ca6fb859e";
   hasRunfiles = true;
 };
 "einfuehrung" = {
   stripPrefix = 0;
-  sha512.run = "fabd484a6b579c08f195b4be6594e43f99e1a2f2d1611697a285e8ae5b6028a45723b93fbed60044457ef1050d7fb5b91d2c0be03c9d93a2be04ca4535b3bfe3";
-  sha512.doc = "e617ede54cc003a4b9f61c14c2dd092a0f266e00a5c885f3f91f2909d3cc98bd98110886504ac7ae0a0db45111c2d4e91509aecccf4dd93c4f0b43c1e920baf6";
+  sha512.run = "e346283ecfc6ca35684267e8b11f2800c6715378d84c4896e4d29557fbd97e57665a45503e7cab7cb7def679914b7d737a222e05eaccf543d8d2f7370ed49792";
+  sha512.doc = "1c012e15159a2c4940cb7bbcb17bf3675c2b2028e939acd3b1c98ff2cc377b55a602f404900cd4eae3f03de74a98d61f6db0de9ad90e8598d9f49b398b5a6a83";
 };
 "einfuehrung2" = {
   stripPrefix = 0;
-  sha512.run = "0c0d36bc2c7ec2601dccce929c0a95ff4fc7145e1e7d7d8f5eb728fb59ccb297145b1af4037331859cd0d80a57c78d5d9eea87a8004d32a2368908bcd194e503";
-  sha512.doc = "44ca3c727ea487061934f861941737a139270466781b236a953dab8e8b43f154169ea5892779f3fd8fc377d29d96943bd2f119b38838c3eebdb02ac474826da1";
+  sha512.run = "affafa673dbb2bb3bd935a977a809bab30d01c92f8c9162eff337b635b57993e884c9d96398d39acc16e470a362276579120f4ab27e8cf8111928b12e75cc72b";
+  sha512.doc = "4a4c9549a7957688071226e4383dc9ad3c0580c9e321ab5a71c75806477a2156ce74aefa6dff95a329c65ae8ae6eeec9fab6f6e1f689a827b7050e457b248093";
 };
 "ejpecp" = {
   stripPrefix = 0;
-  sha512.run = "3ee9bf015d9ac2b192eee5d004781e1100d52ba992aeb17e13689008aaad2e77ea61ac56cebfbac42152d8e4684591d401a2ee7c3029055b0b89317741bbc20a";
-  sha512.doc = "ddd544bb7320a80316ed7ea132c30ae6d0e6fdfa920aabb424762a9df7672ecf4c2c584068917927de463680f8e2657a76c0e5664ea0c3817290d7f1dffb00e6";
-  sha512.source = "e98ec063e58441130aa457d70649939ce39c15e079eb1629f42670a5735b292de0ffa34abbd845352deeaba89b7fc13f4c8a59243cb29c5f5e6069d112d26457";
+  sha512.run = "eddfab8de433480327dac32762640d610fce78903630bf0b8b26548024764d5ecf1b6356d6a8d725eda75f075a0b8627be6b90117a11a6dc39f0fb0e60eeb155";
+  sha512.doc = "4131b375690a452fddfd5124611bd37017913cac6ade1bbf35ba01d2656f098141e2bfa83da2af7a25dd814312394c127fa1dbb0fd61a3e0f511e8d8c9e6d608";
+  sha512.source = "0d7ca22abaf589a795717bc09b06b9d4b91b030880510a7696dd93f8d4dfea1320a417da18659dc4e1019e5f66e178c943cccf65842da611684a1ab543ce2097";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.7";
 };
 "ekaia" = {
   stripPrefix = 0;
-  sha512.run = "29e8ca6b329e656b2a2466731d74ffe8ac5b6fe02ec74386bc27da259c1a10c72c11d04c8c46d46f0cf0af4e2f4586b3dd79173316df3bd26e25438e67963c9f";
-  sha512.doc = "3055e197d52bc7bb8a934f0ae3516fa41f1eaf14b2c3c6fc18866c737d0b83c3bfbbe395be6a4b4234880f7cf766a5656e78d4f83dac67909fd52fd29ec1c1f5";
-  sha512.source = "8e82436dd0ac66bf9d536072cc26168d4dfd03620c1bc2cd11e7bcdd15a49f4fe65dbda74b293237fb04209107ba53bb989ba18816c5e7a3b8a90914fcfba64f";
+  sha512.run = "97479cb146f37e0fd80fbcf67db44a474d96da9897fb058073b75bbd9a109f16dfa36bdd97c5fed5397255cf0320028ca687955fb40e069bdfa262af50773c99";
+  sha512.doc = "f95512969ca475b87f09fa3b61e2be1ebf949161b7209721579f7ec1399e6873186535ec30dbee092fd69dc427a199daa4f94ee47cc08a0fc37fbac6213429de";
+  sha512.source = "f39b1a8a90bfe899fe914b6a4e99e08334ecf01ca54bbd6275ab9edfefc12f7f165eeca09b6195532ff92d72e4aeba63e94be7afe00d8215a86dca3695d523c7";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.06";
 };
 "elbioimp" = {
   stripPrefix = 0;
-  sha512.run = "6ebf09f01e32d39e285c51bb0e8b04077075d4e522d1c1b3f173fa67926ad8b5003e2e604f58c1e1ef6171ed23c0f3987e99601cd777df53fdb5c97569ef5ff5";
-  sha512.doc = "ff9f01c92e3156e3cdd2f384f4989d86202aa7e8018c5acea5b2cbfe38aae835b9e2c2f036aa0839fe74dd88441e0685629b3c790f2c189ce3d55314c071daba";
-  sha512.source = "8ffa21f034924b540352a7dbfc13f620cfa3093a1a9ab95635e42186ff72ca4630c57e8a581dee3136269508bebff1a44b5b2fe34cffc68b9a87133030b28d35";
+  sha512.run = "4db2b191fdb73854bfe605efed30c4835a77180fc865eaf201f8405fccaf880e02ac9ef7802c2d215df8ad77d01fff611114c391a6c43190f95dc2b40cabd596";
+  sha512.doc = "5097310e0e400c269a30ef8ea26f400ac7768f4a790ca5b79222c0480553434343de7b0976b18bb6d67bc89dc2b2ad2251c24e94e4747450275fd52a8c9d3285";
+  sha512.source = "00fb96c43b0639f88b582bb26b6306d1ff112e9277c34f6a623d7643ac7a003b31a14b5a82b3b03680298e5c054c137f44a186804a90127ebba14442d5c71d6b";
   hasRunfiles = true;
   version = "1.2";
 };
 "electrum" = {
   stripPrefix = 0;
-  sha512.run = "51e9a66812cceaebd2c3d69a94dcf3187ced4164defc0d77b6d9252522d6408b92f4b0ee32efa15611b107fa9bdb97ccb736a947842dd8782dc28eb009e6142f";
-  sha512.doc = "f743cda23ecb70993726246bcd3b8aea1bcce91f2dfd1efa273a3c5f70d9c42b3abadb41897e6af379d1836a726223fd772a0146f39333aefc5df951d47086bd";
-  sha512.source = "f796b4c53ca00bca59af73a6da63248f88ae3f8dfd06a9d9aaaa614c74423770efc483f0616ac73bc61a9036dff0f308501fd929ec038dccc4f096c1898d4c6f";
+  sha512.run = "c12af3a1e6a76d4a94f0d02fa5802179fd1f47e31be29e2151e7be3f569f027137c9d0268c86696d822b8d7a4c88ae2ef264341345c6a7421a8ec1026c104213";
+  sha512.doc = "b840b153a134fd9cd923aa9f70576b7e586bca87d7f1b9cfbf7a1f25ac4972905989876545a914ce845096dd32579901ece93851012d057114c0c61b1eceffa4";
+  sha512.source = "caec0c43c2870a6640863bc060e02c764b235336123777181ae1fab42e32053af0e2c09c226dccbf8bc31b450c720b69ae67f01b66b36d0ba308282637afb414";
   hasRunfiles = true;
   version = "1.005-b";
 };
 "eledform" = {
   stripPrefix = 0;
-  sha512.run = "2025cb9307b28e472a4a91f8a061d4cb209a8a4f859ab6d91dab68c0a039d4dc757cfbb4b5402788f6824d5075da98ad96f7f3ea85e11b6f861738ebdc0dfc5f";
-  sha512.doc = "0b467c65d18bf12b1fe2b1eec229aae04020236c098dcb51963243b3325f46d6000c3c00234f6cf726df426bc2fd8b349c5d239b14af2ed8815cd5ce9ddd10c3";
-  sha512.source = "53cc273f1943ea8e4238d5342b9b696b203bd228eff4dc72ba539646b89baa20184bac0009d6104ecf9a6952d0c1e1a060a4a80ed4b17a0877d0871b6fb5cc61";
+  sha512.run = "4103aa370bc8314433b5cc9242390340467591bc38e2f5b820f9d35a1951bb9fe9e384b1d3c64a0434b3c3dc87c42463a0af5d9ff872180bc2b7a08d4b40c080";
+  sha512.doc = "c59cfa6957a21c5e74d9a15b7621536170137447111f9a88295e79aa7a29dcbb3d1f1f1367afd7243d2506b864a53df41b0e10419592a5e4e12af8e1e90216d4";
+  sha512.source = "3bf4fe6df4cb16c8ab7a3fc366754321c5a1056cbdd51a787da33d212c39ffa0bc73d394944b7b2cfe52b4f41abe0e3df7156571d3acc1d1c3ccd4d467798430";
   hasRunfiles = true;
   version = "1.1a";
 };
 "eledmac" = {
   stripPrefix = 0;
-  sha512.run = "b48842a73130d6e0126d1909d9b31c68dafb4d83c53a852c1833f6fc28af445c0b9b073fd92ab2fdd7fc9aaedf46027eb523657aa03473f87565e040f0fa14e6";
-  sha512.doc = "bf47b75d3721a7e15888329968904e88c8d3dcd58a3d4c7851161491f59884e2d2db4c495a624287fb85708fe627e106df16b845831b3cd3856157c23672d0c3";
-  sha512.source = "125c734378cedfe95d1671945e3025aee97aca10e14ddae6328ab99ce579f7133af70d97cb7337cf4e068333eb528a24ec3a6013586c6c3aa33a032a068d373e";
+  sha512.run = "644df002adf2f39acd9a6704a5c2e18e02f30d17c8e04173fb0f68e9daf5469bb6290c7e98ca181ebd45b40d54dbdf4a14fbbbe7dbe8f945b226ee086efc3972";
+  sha512.doc = "14c8b024b6cc817a025b6a4870d3edcf956ac9e358107c80d29fcab41f343efba5b5832dc22cd11fe2e92bc74b58fc5d67982ab26a60230a5b92af4223543e04";
+  sha512.source = "8d3436d3e3cf377148a52ea77ac93491abc66bfb1271538aa85f6cebc559ca225221b4b7dfaaf33426505b792ca57697d6edf5903b5d0e306434a4c32e06e8bb";
   hasRunfiles = true;
   version = "1.24.12";
 };
 "elegantbook" = {
   stripPrefix = 0;
-  sha512.run = "e2db7b4368dac303292ee41df8003f8bf9dd3b86676e8557a4a63a01bdfbec3602d8705e554595c4abcff114f433d850d2d3e795c09310e5338f3fb61efdb131";
-  sha512.doc = "46dbe9ea829c378a822e853fc23d5574555e2c5cd37301fca88c49703859863999b652061cd9b83ae18fa0354579a06a5e95358b48c29c434eda34dd0b673288";
+  sha512.run = "8903163ce14195549cdca1ada3473c379630e273d1889f99b86eaad85f07913cc3ce54ed6c14650376729ca0d470d639b8b10ed915fd11f5639d5c62845c7118";
+  sha512.doc = "bcdda56507c66123acfc3489dd055d2fe3064875969d8b31c535f8f9cf6e06555f701134c1075683a392ba0ec2933c1a916b0a05eb70d761ff45b29a52df8648";
   hasRunfiles = true;
-  version = "3.06";
+  version = "3.09";
 };
 "elegantnote" = {
   stripPrefix = 0;
-  sha512.run = "d825a9f543c342ee0d5af62ae7ec203e444405d5ad49732bfea6a27fe94d0a1c90d2a21159270bc351498c29cfb4212b8e4436cd85de2b8ea05eaff19988c439";
-  sha512.doc = "43c055b82d0946e3b18b519e8e8afce2b095e6ad4bccd7a735961630041bd75e63220bf43319d0229a1760c9f0822e97308b0c5643e7d1a78f8feb680a984a93";
+  sha512.run = "fa01c305f478e100ab30b187ee053ec82c0d067ea2a463584a60d68b8358f9e8f65027b87d2e59f9c6c6df2dedb3885f151bcd9db8df5bd9e451c035d21bfb51";
+  sha512.doc = "a1c24f6637ece128a313f24e8ef1ba2b587490c876706f0d2fff2734ff0a5e799b6ae981d073bd2577a60040e121e59d1b3aac81e7ec0e844a0a270a52862020";
   hasRunfiles = true;
   version = "2.10";
 };
 "elegantpaper" = {
   stripPrefix = 0;
-  sha512.run = "47c5fee7374e14f4038fbcc71733c909be01eb408f6e34a0f1f90fd914e897c3d4879de00cd21bff2a33b01c7e3a63929b6cc8acde65f03a4018c85fcbe1a61c";
-  sha512.doc = "b9dcefae913b6c37a27c0b3bd94a08772bfeaf35b9027938cc0197acff11588c93e788fa8e7a8626bc6bfb8ed296cf29d1556c8a7d20e7c76097c100a7fefb7f";
+  sha512.run = "b7fe545c2c9d2e55e0cc9983bc2158d41cf550b228bf3357b8a4a051a32d6692aa7ff2b1fcba33e17cac2fb2852e2bf14467675aabd6b8ff6f1d40f89ff2ebc2";
+  sha512.doc = "bb99b00f8d826290757907db4179d74222cf4cd992c2bc7c3342a4ad97c2ca83d018ded548571b9acaf9b46d444909be60603710e56638781edf3c036817d470";
   hasRunfiles = true;
-  version = "0.06";
+  version = "0.08";
 };
 "elements" = {
   stripPrefix = 0;
-  sha512.run = "b926fe3ba4e78a6edd6a99a35edef4c90516541dc3d32d5857df3e90784780d7c34f25d80fbe9f98feb1a0f29583dd41eb1c093253529334f1fef0ae2ac889e8";
-  sha512.doc = "73f613bfe8dc49f6904ebad6165c0677bb2f2855be257b9b82c68a9c159e07e328b4066dda75033bb4a70b698f1a50f0b165382dcfa7404febf6742965fceb73";
+  sha512.run = "777546b1aa3ab2c4a951d618f73b0a37f15de10afa72f710786ae5c9b29daed45ac61db978e07a010f72531203d6fb066853657c6cd728a6dd8850736756a063";
+  sha512.doc = "d72b74d189689b77134347ab0e76e7219fa2b4cafbf33cf7f9504a9293635487488b652a0cb293be2f28291481b2eb990baf92739146ac7a554d710b01b6df57";
   hasRunfiles = true;
-  version = "0.2c";
+  version = "0.3";
 };
 "ellipse" = {
   stripPrefix = 0;
-  sha512.run = "75cfe216b2afb889ef873ba24f324a0ba5d633a2d0bf4c3f26d4282b16b98f0e2ed2d72c7fd4ed528e0f8e8411f5a826d5785b364459a34ba9c959f5aceb58b1";
-  sha512.doc = "e91ab66f4a71bf41e2343fc4f8ccddddeb13d0750a14466054d8280c951026f8fa06bfae3f1e8b1a807b757a61c87a5d8c5bbc89f1cd0ea2533354dbf01487c7";
-  sha512.source = "89466b2e3b44700341f96d52c9810c213baa79a543abc8804f5ecbd5d5e9f76cdf032378cd76d9b8545655b45f91bf15cfa7ca5720b00fe113bb1173bc488553";
+  sha512.run = "edcbca8843239eae7bd927d9bc6b5095d1b9a4d8db213e22c77ab4a7c5bf7a09781aa225af26f1e4127f263d5322c8138cf38ad1a7b19688468ba2ba56f840f9";
+  sha512.doc = "722d50daf9863145c81ad2b97d6acf6b6229d65f868985878651b506b00f52c4a556b888ed848ac1194c4a68e793bc498b2b6b09132c8070b61b103e6ca9137a";
+  sha512.source = "29736aeb1a6d64d0e94124e6c67246650f517fefc9761f58e70e1438c8380a25ce48d2deb180683da02f77ebb508302b3e446b534b7e56ba257e61ac6f5fd62f";
   hasRunfiles = true;
   version = "1.0";
 };
 "ellipsis" = {
   stripPrefix = 0;
-  sha512.run = "93d2ea4ce7551f6ff0388e067661d299bf8f0a1fe335b5e694a3556760db6a63ea0f418fe5a42c450acf7d53fa60fa80a9d3bb85a6c29074ab6f14c9d4e5bfbb";
-  sha512.doc = "e13ab159b28cbb6e9cbb489c829065c8bcc8e820f4ebab7c9f292d8985a4cdc16a07cd1f85f15c28df84268474e1dde03a9c111f4cfcd67871970eaee8995068";
-  sha512.source = "469c84ef48ad635cfdc0b6e7a1ab5cb0d9eb23ebb94532ae6cc5ff9e4795e77909edaead343ff96a3baf15202c5ad8e63846315836fde0fde11d1ca1e1e7cf81";
+  sha512.run = "1a60250e0db34f3dca834a1cf276b2f0a5975709bec3ae3c7486f92fb3a5c49ac9b07bb3cfa18724f27504c8e12bc7ca933edc453dd0ecb65d63dc5f7fbf75e9";
+  sha512.doc = "35441d8562d2be79787f2d3326352dee2fa7a9a3bde500f4d61dc5d8d3eb4f4f782548d464fff74e0156664616342e4afa3a03bc91a2b6f8a028382c12c19e9c";
+  sha512.source = "68e34b002ba2e9763d6f5e84368fc1135d864a46288d16e6d7ade872e5205a09527b3afad4c0b3bc78509a4f8d91460cd22a40b8e031e37e9ecdece8b184d3e4";
   hasRunfiles = true;
 };
 "elmath" = {
   stripPrefix = 0;
-  sha512.run = "8542e08c3c50d7516885010c902322057ac52f7e8642afd11518abd20c676d25d3af9d73d26dfddeb8a1ba5d03a350a82224d52a0148f4ac10634c2dc9e8879b";
-  sha512.doc = "94b7c53bcd2ec53105832b6ad4e91e44b2a0639e1b3716c13292919cd58c10fb4252021039f4fc772551163806ff6a1edc19816cc7be8c7825181af1e88e6f40";
-  sha512.source = "d7a08b9d9b282ddbce129c7e0f4569c998836e0214deda2a72479f95a20d2e0b0beafb9d00bf7b807f5d97bdb4f3a7a1b4bbdd11caca334338caa51e3a658b5f";
+  sha512.run = "66e11b5d5166fc6399337183dea142ecd045050176384e71993c76aeacf57c693495b5153887a95051a902167a8444c24ba6fe2ab2fcfc699abfd41ffaa96b18";
+  sha512.doc = "3454096f8ddd220820709a83f4b5b741e80213bada631f5fd78292ff77f3a1963a487b07bb6c227451568c594c5bcaec9c1fe9724345a35478a68191305d5a97";
+  sha512.source = "0ff2b6fd17db3dbae757d4e015007ac99628f0d1940e584643f9df2247279cbfe3ebb81e057884a38ab167aa18b60a8db5eb7b88e777653ec68675205ca0fcc6";
   hasRunfiles = true;
   version = "1.2";
 };
 "elocalloc" = {
   stripPrefix = 0;
-  sha512.run = "b61c0edc92bd64d6738a963f11b42ca61ccc167c9c4b93f6fc1f055395736a9e9043b413c9d9f9d1d5e4555d1c18ba7d66ddcbef67d508c337bcaa3b3d148bb0";
-  sha512.doc = "3648d15d3602c954708921ffba3b9e5c3928677bb1e4c5cd3957cacf5c059d6e7a36bec7f77a80a9d8b5b5bad44f4059e0d9ea23284338c633b155808d266063";
-  sha512.source = "c6df39d63f693d1cb44c7a014611e94f02a9c3bf0f11f20306910c02c01717af6833d71b386524087565b9de238b2e90d1e9444758c5e2925146126bab826235";
+  sha512.run = "7bd72984c7bc1530e2659364b5e93b643db1accc8a034f6fe8333e26ecc12b8dca9cf40ada0b5986576e266e0eb7c801f9a3e4c2cb7dbe4d8c373ba0f0486ba9";
+  sha512.doc = "6b2d6f65683912405cc97b81a7cef07b4eb21be4304a12b5e0e11087d809d32023ea8067a81c01d45851943af2efc4eb4018f3a0e7a39e08bdc821f87264d9cc";
+  sha512.source = "c1dfe4848af6e1cdb57496b8f42f5f1744494857648ca1db92a770f9983d0ec7a4c3398a3a7b7d473204da475ffd0e33ea10606201edcd86f9cda3bf5bdf24f4";
   hasRunfiles = true;
   version = "0.03";
 };
 "elpres" = {
   stripPrefix = 0;
-  sha512.run = "d54fa2bb5395bd9d1178026929f2a0e216c3f6a7c11a472ff383eb89c9aa0a7e208b8e2a62d457571b412c6e390779ba5eedb11b8facdd885880b9ea9edb94d2";
-  sha512.doc = "5b6d736cfdd0222a303f903d5c7719d952936966e03df58c8ab10d99b33aa42ad7e02d35ac5ccdaf2c534a86457267e65e6a8403f43fc62b611a9742fff5c8c2";
+  sha512.run = "e3b0dfc5c2da908b95a882acf37ccf56abbad0e37c53c4e8ece14b98401be3a84ebc4546b739ed8a3f5c30977522b5650c56f12028fbfff467b4cf0a53877475";
+  sha512.doc = "bd4b73534eecdc0e02184d0736684e09c688bef1658ddad28b0c1a952a63ebc87546c426e7bf3a9733bd62192d87d500ba3f99463830d3e14f30c0726d80cb6d";
   hasRunfiles = true;
   version = "0.4a";
 };
+"els-cas-templates" = {
+  stripPrefix = 0;
+  sha512.run = "23197c9c87b21b92dde909aac95128b0e92d1510a98479d739ee38cf05f5873538bc5d558181bbe62ddf24f5ec1e62a06bd42fd4b7abf73d99bd27bb70a566ea";
+  sha512.doc = "d32781a8dc8b9182f2e1ecaecc3a952bb4b05d596dacc6346a45730f0d43a1b786b175dc45d4acf15279f6b0795f4d7227ddcd350f32b0464f3debb1ddddd7ba";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "elsarticle" = {
   stripPrefix = 0;
-  sha512.run = "ca04ed88a48adbf2b65a6785743bf35f47ac114e4c7b324b1572b9599983a25788ed13592d007a0d8c380ca387f2088dc0645f94669751afaf49c9324debdffa";
-  sha512.doc = "cb1e5e40d7277c56173bbf12b65bac6d436f5725c844a557512e80d9ddec9c223ec28a384425e8ab744abfeea4ea2617df39395939af9644c36a002d69a34c9d";
-  sha512.source = "2291a172f27c45b6a6c9d3794b03662f02e3145ee731d6387faebf79242ecba17f0fea5e5a313ae028dc3905b1b61f2eb6389cc457708e0a7e582692a6d27a1b";
+  sha512.run = "17770bd130aa601a8208e996c1bcf192459d6c6ffd4ca170a303c3a548c7481e7e3a136c64865999ab7ab38ab56b09fc2021555fab60e344a7fa23d8cd62943f";
+  sha512.doc = "28c78ca516aee82dfe3be32683ae404cdb7be9d2d248fb747079e2d9cca9da44aec40145d095d2e3f0bb2f3d600712fb75a987c8d1aa1ded3f738e58350c44f6";
+  sha512.source = "55755e1a228bb834820f74580935b7e8a5bb162a675ffeb617bb1c0f7a1b5d99422c53ed7ae6b0302fc51112d5dc3cf63bfa9268c49aeb66cc194529c9d36b85";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.2";
 };
 "elteikthesis" = {
   stripPrefix = 0;
-  sha512.run = "e87015bc846f7e2b7c6b14a5befe84756a9438cd8989f6e32ae616a8ce583d5bef897a081c5dba642bc99681c5d6a11d93b2175a981ebfba1a25674d9dbd76b4";
-  sha512.doc = "698179aa0d4312e7af8a2f5a965659088fc3fa20baa5929ffd94228545d45cba8ef1e3dd0c9a70cc85378ed2cdb19ff525441cd7562d5eaaf4cf6cebb04a5884";
-  sha512.source = "e17a7a5e9f2928167151d34d834348af45da48fddb40890d4ef5bf0f42dcbbba7def6af5c895ed9fafb300ce32d48e0730870fb8832844b2f2d1dd2120088f70";
+  sha512.run = "e4e4eb999e46b47e2cfdac34e1f36d49354104cd3bd0e13a78ccd63acc8a36997e3f075f40785e1eef059b79c0ff154b156bbc2e7ad039d79db778819de6ecce";
+  sha512.doc = "3d409ba033132d5c4ccb14e4e987cabda0f62e01d79f3c45b8fcf3ebc571fc9a5f94bdb0f2d66daa8d746de573069d9c3e7af0c998925a1176580bac3eaaafb1";
+  sha512.source = "a37110177743fedfae82f6b84c081661b29d29dacd4e54f810f2c69ee6e288836ccd6c5428a53350d422eb2f1d1c503e50ea1ee0861d33fc80e93f63eba89586";
   hasRunfiles = true;
   version = "1.2";
 };
 "eltex" = {
   stripPrefix = 0;
-  sha512.run = "73aa10d6cf9c75d676103335accd0c6f88c46cff43b3a882d4df7aa037e5eb62c5e628d0299bacc1f9e8287a4ebc711129387ab2cf2680a2301a7b998b4c2708";
-  sha512.doc = "3db5f27b31389dbbd4a624248bc754bfc592d24bb71b9209f8116f3571b7fe347b481d918c9d5846614d7bc4b98b6b6953b4d5d896d3f39510079cf72a5f3368";
+  sha512.run = "6de1507df2fe408081aad0f75b69d7c21807f238d37e3c6d9cd243b741ae1761aced90e948a0c570f28db5a39616954412fc77a87482c890183f039923915c05";
+  sha512.doc = "1bdd0f64c524def46dd0a20482b9ad6925b0d06ea272b05d6163a23f61ad1727b099a893f5af7a7de4140bd264b1d3503794a4c9c11cf8137c5c6070d08fe0e3";
   hasRunfiles = true;
   version = "2.0";
 };
 "elvish" = {
   stripPrefix = 0;
-  sha512.run = "d5861913aed4d151c0ff830b997c27f17f9f46a50a9bd6959c9557d633e80acd4ed50454af3e4f2fbb39a1345510f9a471b43f7dc9c061391d09b53a6015c8d7";
-  sha512.doc = "91165c2c931c389f905557af01fddb91a36ce3d1a70c748682551639d9159b9c007dd35141bca5df3ab642fcfd968b2c17e06526b2ad15909afe86fb5672b45b";
+  sha512.run = "ca1496b488a85a32364b264706c9b4e4edde5c92681493b150942a3a8a2a32158b314a163ff4be8afbea489a75feb5dbb1c96e8e70f730530cce6472f9e46912";
+  sha512.doc = "e296ece5bb11d273b33e801ecddb1b9bb93e5f8cfc4a7d62b1555ddca89661557149935b7c5a71880efb888364989715b4e39585b2de1bcd8ecc24203afef199";
   hasRunfiles = true;
 };
 "elzcards" = {
   stripPrefix = 0;
-  sha512.run = "65ff5fd441ca23860d911d8b510f1ec0560160175174faf033f5d83bde5fb2daa35d0ac16479338a9b7e6f3bf49d53c3e36ffcf42152425301f09720ec8753b8";
-  sha512.doc = "532694eae9fd9afb6f86da5f5b5c1453b3778d0ac7772730cb33f5677a64032f77b0f90a00e92f97def23beaccd4882e160c8d3cf26b2f5ad6a643307e8519ac";
-  sha512.source = "bebc0cbf50a64cb2dd61dc71c840a0fdb089ada927a45400f41b9807a32c2331c19c6c171611267a7985fb6c14e51a067cbe5d8e39ce43d27b6c3092a22f8444";
+  sha512.run = "436449b4e8d6368fee200dd810b05db570d27846a56a5159422e7af74348f08e6f2f4c45cdc1aaf21d31cf0ac6e8552cc7f0968c2178ad4e65163294d771e027";
+  sha512.doc = "c24119acc3aebfc676641b17a0db75edc30dab7eb3aa766e35291463ee6049c9570ebe05d456e0bc0fff3765bee514332cde7b80e7d1479ed440c621143b7457";
+  sha512.source = "59f09337eeafa9b2ec6ff7bbfcd1d04535fe7d3defb942f858ef57a8007422358a68a72894ed120c3792da7c0f397d1a50dc093cc1dd2058d598649ab905d354";
   hasRunfiles = true;
-  version = "1.23";
+  version = "1.60";
 };
 "emarks" = {
   stripPrefix = 0;
-  sha512.run = "40303e01c970b384af755dcf4ff5d72f2451ec8f4d01d644fe11db4c838ed718044970e46aaa95cc7bc1c6e9ed8ab8b6ddf5824d973c646b3e0598ef04c83897";
-  sha512.doc = "8bcfc7d58b91cd269ad9f607ece1f734dd9d229b0e093a07c835e1afac3227ff84be01ac4b99baf53d6d066b38ced4e8c5863b8789c4c853a824a2871da23a61";
-  sha512.source = "85e4482bc5d08255cb931396b79c7223a67ecb6f6bc22fe33cc7955fcf9b62dd6a138456e4b34cdd3f475ee7a0a11b321f3dbe4a000ecb354cc3c4fc51fd2de8";
+  sha512.run = "8e5f2d559958083abbde5efe9e70b3cb3dc71cdddd3066ac305c310fd5a8b2652bc6b5ce66531963c5a5f9426ccfed7eee0700938ed6a515865ac8e1718de5aa";
+  sha512.doc = "4deafa2295612c7428b82a4c8c2c19811f91c2d456b430b6ab59014b3cdb42a86a84e67319745dea469ae40f89b36d104d30db28228c825ba0d86436a37cc7df";
+  sha512.source = "d7ded6022917a50689905c953808e9f4a43d03811bda490721480f823c4ffd36d15948e5693d73cb061a97f775e6590cd376ec20e0093af3af5b792d7d67e2c5";
   hasRunfiles = true;
   version = "1.0";
 };
 "embedall" = {
   stripPrefix = 0;
-  sha512.run = "9d84d0249bf5bf196d91128ffbd0ab274b6edd02f04d31133bd546e98244e41c763edcc82f7997c2fd1ea630e2f1f81b2bd849c0339ff6b89257cc17bd9ad04b";
-  sha512.doc = "38945cf33e3aa07a286c325d7be63ea85bea7213e4601dd81071f8e7fb4e2160e913506d54f897c9da741ce2371a3a7fabd3b247441a492c36b850ad9cefff08";
-  sha512.source = "f9dc77e3bd97e73f8c56006829f255af1f3423cf9b149ec962e60b824e624a29e648fd9a46e316b4da8b04e07c8958cab370537d32ae6f0216700a68cdfe9924";
+  sha512.run = "c531feeb7557cfca45127d9c37c93bf5835e35efa7c8aab65d58594c30d6864deaa22b64ba90cebcb1e9dcb139b00ad64ff96238835b8e059169278fb602ff2a";
+  sha512.doc = "be228eb577bb2a59b93c7684bc1fd47e9a4a505f6c66eabf434ad29523f978c877608fe76cd6ee24c8942889710270b8f304170f445e2a1408303d7c5a8a52b7";
+  sha512.source = "f1d3527809502aafa0a0b9aafd02d25fdbb97ab795cf4306a4ac84dccb873111e580390eb0499dfe13ef3f0bd7ea1a61e90220688dc814de7ff21ab4ccdbb1c2";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.0";
 };
 "embrac" = {
   stripPrefix = 0;
-  sha512.run = "dee1affa977831255d152cdd883c924db6251b6957d64eac41b3204cc37545da05564cbb983a5f941d7c9b9d0bcc206841d68a3fb0dfcb600674dd47172c1d37";
-  sha512.doc = "c0957d153b5f7a89c406c3423d14653c82793347117cd8a7dba1cab3e97b8068b5743f328f750bb73cf8ecd547f077b00c51e26efafcf34163e20c7032f3e619";
+  sha512.run = "fee6203fc9017cc9471657ec8283342a3ee7dffd84d6e1debe3ee908986da80732dfdd916d7290bee51638dc624fe4d1920b7b561d19de5649938b6cc7324286";
+  sha512.doc = "f60e2dec5ef1d1a1cd370f98a94fa7ac963bccc97a47bc29966e26748b9616f4d1b8bea9d180bd7a1185d82a5c0ddc9e5cf0da3f019c2bc8b32ad07dabcd8b67";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "emf" = {
   stripPrefix = 0;
-  sha512.run = "221fba9ecbfd08f31179d5b05e42e944a12c1d5c4577fd76acab5bccf44129f1b8a10ff94220717ce311b9d641c0244ae89ff6548f4d179a4dee083bbe250717";
-  sha512.doc = "d8d3934d1634b616651c3495718e8767ab1feebdeea6631b9c66705959e98005d11d89fdb7a08b883c9c290227658d6c135e6a562e4e87d7e0ca07ec8fc4a3c1";
+  sha512.run = "bc1b601aa523b30a54493ac92e15bcdb918775e9f57514b62357b85b5919fb05cc945b3120cea474fab714585fe2a81603f43eae51bb266e8989af6105ebc65c";
+  sha512.doc = "f2e37967476ed678dce7c01f195ec03f77327d59beb2b15cc6a64ef92cc377700a2b7b528ae6c42497cde0ac127cd10c51e3ecf5fda0cf7954d598a0dc92b5df";
   hasRunfiles = true;
   version = "1";
 };
 "emisa" = {
   stripPrefix = 0;
-  sha512.run = "4879998a189c2c0cd7c556e13205d60dc57cc213efbec433d499663952dc68bf6445f55616c874a7075fc6f3a49c3e702b15f5d438226692b58925286ae74da1";
-  sha512.doc = "b971256d4254d793efe309f0cdcb13ccb4fa1836c0f7a5b124fdda1dc58568b739e0039b1359867bc269e64f899e19b1634b674f367b6404fb17a3ec04a13a02";
-  sha512.source = "652dd3f45223b899c23555a3a3276ab999cfbe2e71af94c3a6027d75a2f24631977d0c3e4a73e9443c659b724089479e2a3bc8b89a34222d5513eaa054707795";
+  sha512.run = "9f62531d3cc26b428a628d2cab0e9d3fa95b1f67e91f5ffecaa432432b02acc6076acd32ac2650eabb54d9e14b6081d70fcc09299b45a0b5bd27905f1dcc8506";
+  sha512.doc = "092818afd707380679c4d3d44ad50954c48562ecb5b988d3bb94701991bc30cfa356f975a8fe8a381fe99171efea2b790115cd0a4f12b17430cecf2efc3d7d78";
+  sha512.source = "cf43591889d823125ce7d49dece358563c5dc4ca5df89bddc8cb6b73550e34e5e02b5aa5c67c96c747aeafc6070fc91f899d2142ad23424b11637a7a52feb55c";
   hasRunfiles = true;
   version = "2.2.0";
 };
 "emp" = {
   stripPrefix = 0;
-  sha512.run = "85a0506dbf9373ea3f5a0549a185bc3bd9668e8eeafc1829e8a79e8e95ffc64e357873f2b1f0a78713634e20d3be8cb28d3d10bf4519306456d54cca16c70805";
-  sha512.doc = "4980c12792a907ded64efa84cb27f528f66ef12cba0bf382e8441935ee97840d49fc80a2a84e7b9e198e1f8c6b1842dc2d3562db8736e812e54ef69694891670";
-  sha512.source = "a9eb0e2ee9a630ac54af943a0023a280bd24365fa0c44302487af83984b3c98daa0bc32aae74d5d5b46bf0c0ed014b81cc67602832485a5732229f490e26490c";
+  sha512.run = "5028360a2b412232b06b0bc53352c7a0a379943c14781b49b45cb75aef044df5bda24449dbf13601d1a574e5349bd0f2d2f7b7969f10bf72b3aeebe9e81b6ecb";
+  sha512.doc = "480edb224fcb42457c6252d4b6fd8cf42796e9b2ac72aa8d4bb22b3840cb10a55a509a47b8c504efbdba3e28192acee367e99638dfdbf9cab4fc5628496cd5db";
+  sha512.source = "e80aeb8566f31c3582423abc2794cd468b2a7b3505d4d01cbcf261201e4e8a95ca6ed87c6deffa03c9f868762fbe8b2078bf8327172ee9a172605fa0e6e72c40";
   hasRunfiles = true;
 };
 "emptypage" = {
   stripPrefix = 0;
-  sha512.run = "b5faa4cfc44930dd817eac8569b52aa64b3ccaa6233e9e6e36fdafa3addc7380cc32689d6cf87508d129e97104e40dd79ea11a0ef554fa7277332a95af0a9014";
-  sha512.doc = "7dd45366b98fe35fa485180b1351dc459397a8cf0264fc03651dabf7c11ccbf41730ddff1943b4e6b9f18cd2672311e55b131cfc1c8b95f4b2a9d2888d18e09f";
-  sha512.source = "66cf2692cd1745e6d4367196fdd1f0f2f28e0b7deecbbdd726be55e5bfe4703b6c3e0c532e8403d3cbda46f7c8ebf9ead0a37621dd9a269fc7337ce9be72b637";
+  sha512.run = "6379cbd0983ca7b58d2c94ce02a76e054faab1afb2942227469dcf2c4d572d9946921b6d24e9c7d2b5a82cc45e7e380a8ffae671f165ad0e2a3a611b95841352";
+  sha512.doc = "11681a155df95f913c3d25cceb32b54ace35bfa5aa7541916c15473b951b02a7417380dfa5c30f5dc3de1259d6cad99859c31bad4c2f2056ffb4608c614a2e14";
+  sha512.source = "1bdfdd32ed844651a109b54c65e7297222cb065a122269bd5c10cf77c6ae0e38b717fe182dad6bd0432b5eafb38b3d8631218599a46bb61a598eef4093a8ce1c";
   hasRunfiles = true;
   version = "1.2";
 };
 "emulateapj" = {
   stripPrefix = 0;
-  sha512.run = "3d31ad11f250d92131792808563f9e00043e17f979aca5600913c07517096b4f23701490dc2d42cb0371e932212f8d385f486a4915cdcddb683a4d84d7237e00";
-  sha512.doc = "66f10ae7adca59519a8ea101487dcd99b47e85d38cc8c6d435ae7cd9011d24a875634e21ee3bc85b9d0cb142d2950c8be8b4d0ea437d5d2f66e8de3a500517fc";
+  sha512.run = "12b73ef4234af72358c1f120d860b7ba823bb4d65f91cba348a4a136b57f8edccf3849eb36e95c50cc40445a5fe3908652c221b938ee34a17aed6b4cb265744e";
+  sha512.doc = "2d226b60313de3387d87c373a23e490a66c2fe1a94e97ef2364e65fafb037a148db7f5162ab9d3f1d788a037fdebe02ddedaa772eb715dc1ec8fea941b0e6708";
   hasRunfiles = true;
 };
 "enctex" = {
   stripPrefix = 0;
-  sha512.run = "ad7b5cb9ca57e4db7322eeae184f9cb0a63da9577552bba97917941b5b6516db832bb4661cd96fd7f5b10b8ff0c3575e7d6cdb1f8442bcf022be33f734f55dd9";
-  sha512.doc = "726ad5443f5813a4cdea85ae73e7bd5763230e25c3f0ef5c5caafe8c817811848212369d099451b20db4611cd2a6b496cf8c54d911a511e6a484e844739b795b";
+  sha512.run = "e6dc0988bd10dcefd63db2a57999637b63187d8a234c46dcb148e9dfe8388800e61237d7b58d271b735d2658d40c1f81016b5018e239d556fb9615d35b4129a0";
+  sha512.doc = "2bf47c879c6ed0fc539763c899d8db261135f1a0ef0052904d03a72663cff38d40d2fe7b0daacaf2d54771c7b9eb5e98b73ef71d2a733899d458803f8caee723";
   hasRunfiles = true;
 };
 "encxvlna" = {
   stripPrefix = 0;
-  sha512.run = "c4b6a3371733b1ee2cba037eb29650ed1dfc7b66f8f7c1947ae80d26b04a1e8384c4b92f1912e53d254c4ef1f0ddc14f9e53284a9a398f0c796b7e5431d4d386";
-  sha512.doc = "5c10175b6e1ef5811c0ca7f143fe0769e8c62a6f05eef1fed2cb6fbc05fae0bdf7ba28f230fbe6005592e7389bad188c6c5b669ada0d673f6da1b72ebe1c4f97";
+  sha512.run = "f6aa0a954affda9152f5b15958ea453e3c2979205f25a5d9f15e3fb189b2352a87256a345d382a3c7dc401eeb55360afa9cf942cc4779406b97cc8f8c47eba81";
+  sha512.doc = "01f44c8205daf33006eaa73061d27c9e17ce5b456e73f427f797023cf94d7380e44180c347021cc5c17870550fc7e626bab8de6219d6b56000526aa54ba34efe";
   hasRunfiles = true;
   version = "1.1";
 };
 "endfloat" = {
   stripPrefix = 0;
-  sha512.run = "11dd20d143a6c7697b1bcadc2930da3dbbba244ae66522f82a79aa48df2920fd405143bbe2f0e5b6870fbc1d4f81d9db57af0d6fd96dffc0dac76df33575c857";
-  sha512.doc = "46be4dab7f971b25bfbc15b8670c5b54690d5c5355498c8a059b9dafa6c29ae808dca939e6760838d82c94d6fd2a1a4668c7d69494b0b42249c6e25ff54fe49d";
-  sha512.source = "680d9f787dfecea506abc18b5ad7d2a7d96c90c597ddee567ab9eed3523e69bedf5f24f9651678e44266e455417fc7440c7de2940d0ce9b5933c5c1a4245a290";
+  sha512.run = "2bc564cb0ad7b9bd53af9304f378b6d0cdd9aa32564f2bbb39abcf0d942c4e18015b7181d4be5e873bcdf4e8f971d65678fdbcfb544c005ad012b378eb6e1351";
+  sha512.doc = "39a1cfa84a2cbe5ff1b59fd9c5fa6a19cb1d3aafac6d1fbb111f117892e34142f6a21ce7808238608ac0602d905cfff6235a78762a0d510dbc436c881baf59f9";
+  sha512.source = "551afda371c0d4a6e71299cac919857eaaed3ee8891f96083cd76fb33ededfaa3daa814593efbc9e7e8dbd4e7d257945972df547d7c24665e760960eccea07c9";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "endheads" = {
   stripPrefix = 0;
-  sha512.run = "89afa8d3238e25f22744711325a59b05fec155865bbb03eda1f8e4d413cc0c3839a8a7d30c80df9a651f0df2becd92269b7f2d127fbc173675a204edb8dd1f17";
-  sha512.doc = "2016b165ab8e98b7c6dd09a077647b79347106142e293385b3a1fb9be32461abe931ce6d5263b245429d007767b1efdeddbce2b666750961ce352e321c2fe012";
-  sha512.source = "31da3f88222cd5c46583a8f0ccaa459368470d83e3586e5e7bc801af2ac17fb2f02dc59dd93e6904e182e0d83f290ac4b0c098c02ab6e3254aece62ed4223b82";
+  sha512.run = "55f01774d62616b81fc846af275067445c8979d50cbb67c8f6cdc362a26999c83c9ce5428af28170ab9e4c6262fc4ed8bd0431c5aee8aafa89e38bf4cdc30989";
+  sha512.doc = "bbed9408161f827ebe39ae2161e89f1f15d8327f29f7eb18bf58f3cac7c58492529caf05ebe3111891520c406c547b2f1aa57d2927c5f857ea6e02ecfa9cf84b";
+  sha512.source = "c58d68a17da865391ce4480dc02f3375ee6d311a2590f8505885c3ce7fed65b2e7d6c6dd5838f55f4fe3d7192b56217b7146646269938a3a10cdefd3c55bd0c2";
   hasRunfiles = true;
   version = "1.6";
 };
 "endiagram" = {
   stripPrefix = 0;
-  sha512.run = "b827f99d416465af28086098abc1041f6ce9ca3f099015c8c2cfcc472a84de484809832eaed6c11c054305b410446035ca68ed8582ed5529762c1a2a7c7ff263";
-  sha512.doc = "88e5669b25338f7ba12c0595cd72dc4192b064bda58d475ebc69fba0c7099681e190c1cc5001b01a55d2271943bc78996fbd9e788d70e5de9309d46fc5d17b24";
+  sha512.run = "50cda29c5f045e45e0421efe11128b11be1206b4ea3b183d401562a9c8afe214031c993f885bfca67f81e8b4827e024a0aeb1d95e5a8a03426f72f414cfd17fe";
+  sha512.doc = "0807629080916e9ca7451fd1975da985ac786326914521c21155c337acbf48888620e3bac03b00fbbf45bbb47740faaa40d1db768a296e4a6b1cf6c6671357ca";
   hasRunfiles = true;
   version = "0.1d";
 };
 "endnotes" = {
   stripPrefix = 0;
-  sha512.run = "a7cae9bde505bd14be9d51e4a5fa8276408a9f31d0603e74f8d7e3f8b529b3398f953f0fb7cfbbb7b1fe1e6f3379898da1cec6ee39d7e0fb01b9fc5e2f1086c3";
-  sha512.doc = "7b9b3843c40112605c35025d262ea07a28f2d2a9f1c3f6904b99539f03cc56df8b3d1d2a00cef965121feff90d9b19b0ab2bf2f6327079830be595739b7a351a";
+  sha512.run = "927d0883e4453e96dbdc9739fd2db471e63d3ebe2ced9f0cf55be74f2bc26804ddd1151b82d04a6d977427e0396bde01f4332083dab7a413049d9d639295c196";
+  sha512.doc = "44aa9b7d48d7f363c35c61c1945161650cd030ca23d443931236bd1739f6b1d084998fbfab27fd48fd17ade00d1fa494a3595a8101963c311b7fb41a9307a40d";
   hasRunfiles = true;
 };
 "endnotesj" = {
   stripPrefix = 0;
-  sha512.run = "95c029534a6c5f5238dc03d1e5ebee92f58bab4bb086d870258e18fd035432bbad1099c31b64ea0bb995c543dfe2de293cb933b90325761f58f9217f4a8a6acd";
-  sha512.doc = "88f344ae3ba366222b30d0d2e2999807e9abbacad8a412cf63c727288f3117e25b24128278bb507679514f1808ac1386af892fb97a025ea61c563a93cabb9d45";
+  sha512.run = "acc3ecb055add319d5cbfc4e542c1be490c00187153990dd42d5b9a23adfd19795bebe4648129bc1cd8aa8cc243111602b287183803db8b5962b23b6c60487e3";
+  sha512.doc = "71e52552f4a432b8743e448142fdc8e49b9e1ff1d290b6d20731c083f62bb5be823db76720fcfa40cbb8bf75968b80875926aea8a7f67808555fdec160de1911";
   hasRunfiles = true;
   version = "3.0";
 };
 "endofproofwd" = {
   stripPrefix = 0;
-  sha512.run = "9f476756673f42480cc243f35c91ab1836eabef9dc58184fe44cc086ba40b5b93e80d7b1f24f75395c8190ca761a84c57bb4e7a4c55c6fadfc16aad31c90def6";
-  sha512.doc = "238c1b5933c3c1bba365601e19dea81fd5a23e48210e8f48059660d3c65c38a0fa3da728684857138233981f21dc60f3457d55e9e41edc70b194da25eb438cd9";
+  sha512.run = "900fc2d9a2673cd75bb25a3c1d5d13a66a91dcf21a105ed22ab52b7e61db4753f3419e6e7f5d09b64b27efd6d4c52b6fc6d1ffd06d6cac37bba9017aa96712f6";
+  sha512.doc = "1b99e26313b9a0572c41900d6e0b10621032957e7569a436d0a84a4d2451b857993b8bcf3554da5ddad00ebb3d83347d5f81e7df858b7b15f2ce3ca92d5ce511";
   hasRunfiles = true;
 };
 "engpron" = {
   stripPrefix = 0;
-  sha512.run = "8bafb892342fdfc6e4d8534dbce52772bf6a821dff9991a67a65e7f5d859ce57227e06bf1401f86d944c5662187cad1acc3ee8f7fb0a2b369499bc95d7dd3b6a";
-  sha512.doc = "d9e06e6d5f9d52bb59ecd8aa01a985d6c396fb406aeab5393250e7c39e9a3ee468533cae840570b1d5e97167c3d786db131c423c80e09d578d10e6ce439c2720";
-  sha512.source = "11cb8883e1a58070aa39e7650a48087e95cd9836af6b95170755ac42e896ae3ad38f58fb55dfe7ea83803757113edd44c1dcfccb9b753e722699d2905a8c7c71";
+  sha512.run = "e525f8d2ad25b93566c101edd29a70d49d9f65f591e15bf3457671aaf748da1afac5d483389eada870cefc9e144010e16c561d0561d97ecb3ae240e21b5c5b39";
+  sha512.doc = "dfa3ba98bddd11db47f308c988735967d1ec92c688081bad0deba88c29bd01c976bd1180342b890489f3026c964520ec1fa399fdb52f484c24285e3540a12859";
+  sha512.source = "b47f186eb08ee68b769d61954b705fb5e0575f9af90968569a1928a6b97bbe5bbbd8b65dbd2f946a40ebc7dc1fc676a03effd7cc51924356531ce18fcc3c8dee";
   hasRunfiles = true;
   version = "2";
 };
 "engrec" = {
   stripPrefix = 0;
-  sha512.run = "7cc372bb9ed44acaba2fd1ffda68f513726186896c32d5ac66f12d9cc1b6c2e4852e0e01af3d12476582a58530280c308091f04f21e42fab315dd8497bef213f";
-  sha512.doc = "fda2b8075f8fbb4c6530434d66bd427d356ad3fcad80d655071a1b878b50f12f2f86d0894e26e2473f918fa73a74be06648734de0aa9006cfa7bcdb90dd84d7b";
-  sha512.source = "379b8b25d5fa6cee1f18d3e0446360f7c92f80b5a281c394629b2ef2d6543ea3fa77503e7d8d8e208402771ad7f0059baecac3df48a724d1a5980d19093997cc";
+  sha512.run = "3856199a11043eb42062122d99f11a64791113ebee137b588b69eab7ba79d721349c2268440a4b801b0e7bc293fc99011fb9a70a732a03a5656cc6302cbd0054";
+  sha512.doc = "f5402766dee90ec0cd2aad59db562a7314805072d4247e5930e59f5aebda9c1b87c4b6935028ec960bca4eb27a1bb1c7ff31b2a671ae0338e1058e24323d4cec";
+  sha512.source = "ff2e4447135db1164447ed8502f45e9dc647cc3b8c9329fe21d3a279b40c2da0923fa78be44ef52d4d9a4781945976714140bd2837268d0537cd6bd6c430501f";
   hasRunfiles = true;
   version = "1.1";
 };
 "engtlc" = {
   stripPrefix = 0;
-  sha512.run = "b838ab57db5bc63dfcb7350db7d50ac5a6bc9ebd55610a840859538e52ec75b75f12799fa42693e123fdbf1c48b103dcdb9fefbab5def6af970e18599b337094";
-  sha512.doc = "0f2f81e46963de20e3f45edd28d295495bf0137ccfdfbb4f5645eb9853981015338ccee249726d217deba9d7df9c68d7e5fb71988f72227c6d34b18c508c6abd";
+  sha512.run = "c1ad2ed5337168c70bcfddd35c72b83b19a1596bc7d9c71298eb82ad8637c984253c79216606060753d1cc5ad4f961095eed8be2381b786b12202f5b0bc748f1";
+  sha512.doc = "4c6cbcf337eca115a856eda24924588208ed9e7491936640c8875d49d649d6012279e4eadfa7cdb6544e08fa283c341754d896c921402a2b1180764e8a8ff233";
   hasRunfiles = true;
   version = "3.2";
 };
 "enigma" = {
   stripPrefix = 0;
-  sha512.run = "5777966b33c524be97ab68d96307d20a1337128be3191f89de171903f629b91d3584204433665af367a90db3a2df8af23f418efd7810d5478476016ab7950815";
-  sha512.doc = "a0dd09dd0d59ad965d75d7c1f71bfd14f9fcb8c5447e8cd38ae21f813aabf153bb05d80525187d6d0f4e6af9747e3bf5c94d85005976210b9efe1f38253eaeac";
+  sha512.run = "70cf80101d3fe9a75e750f5b3df4db79f30f5ef76ed65f4bfb40f36e5c8c5f0d22468396fe3a531508dd484ed5929cd14d4e22734a92814a4eae9ae2ec3e2b07";
+  sha512.doc = "b0509d252a2dd7b61339ed084dcb8dd4c3ec0e63aa6fcb7fd81302b82bbd3ddb0b68d0460e5970798a12b2b66e1f560b80c7bf36187553abf6531e0916ddb71a";
   hasRunfiles = true;
   version = "0.1";
 };
 "enotez" = {
   stripPrefix = 0;
-  sha512.run = "aef007f46c45049f07475e0e5c467fdfe4f72afff233521f483d0e62c0ade11656ec52ce616ed374fcb34286d4f69ca8aec5811bbcc2d2a44ad6fa0ab8a3a096";
-  sha512.doc = "3a24e1001d2c4c2c3bfc5fed073b5a5b336c69a83c99e63c1ecf8bb042a9295b42a5464b015b2b7935962753be5a95724eee9c661e6115970eac1e5c4d17d030";
+  sha512.run = "98c83d1a6f738ad708568e620574a14ccf75325838a80f9beb1e2f345e236b4f5bed156bfdc9c280f20e5371007dbb59a8e7081eed07f65c739c3105c794b829";
+  sha512.doc = "c77e63d310940d35be4c7bc9cae0c9894b815ffbf27b41092f6aad32389dd866de08a5b15b3283059a08c88510fd6d1ab60ff33cf9f483a586016dcb8604cb91";
   hasRunfiles = true;
-  version = "0.9a";
+  version = "0.10a";
 };
 "enumitem" = {
   stripPrefix = 0;
-  sha512.run = "bd44433291bbdec18b730743a28f5af0d58413d3f2818a6cf50e23055c51295f35c7c03827487ab6426a66e4b1845b16fd50d649cd3d50515b3ac2d32c9344ad";
-  sha512.doc = "1cf666526ecb425e58e095c549d358104f04a6714369faa5ac940e79558f39780de541e20edc1539e00fe29420efe9ed0be0473cd82f850ea49467cf824c1c4b";
+  sha512.run = "d49701368b0ce611f5cfb52ec06616edc27b2dedb99230983ffc59c4c1eadc265a8afd3c94f1e57920de875c4ec684fec007dceca59fd4f4008bb5572c13880c";
+  sha512.doc = "b61f62bb0da61c7124f661739ebfaff6147d73899511d8b1a1d4b98b31bc596c3994acfd73c3c1922f5cc8a05c6a98572254067718be394c48976a10b2351503";
   hasRunfiles = true;
-  version = "3.8";
+  version = "3.9";
 };
 "enumitem-zref" = {
   stripPrefix = 0;
-  sha512.run = "b1160993c23a95b7c2a2a79e57cea992b83da56268e2dc2fd80d0841b99bb4036383b0811076498173b7e8982aec393978d7c0434f2d3349d4555754152ed5ed";
-  sha512.doc = "3e7d061479f649125628394408b3d859e7fd50110616e00169ea131fcefcacb325b37d9a23fd8b4c7eb7da258a3609c0384a3e3cb96a6308ae8b2bc5e4116e29";
-  sha512.source = "6e8fdc7591514ba2bc8381e7f712c36c6d2d6d9decc74882b9b4028bc6eddb8b75a932d907d41cd4623ce0848b8b89f263f106905048d8fa35522c67c8a7794d";
+  sha512.run = "5cd16cd19d63d4825dd1f726ad7617bc892a0d80e41f559234b3f82950f589f044a9816005a089f6837805ab08f07b507e47c5d2d389728adaa5350a76d1c1ea";
+  sha512.doc = "af4404c0f76f6f693d1fc0a82e0673c461a1acd6a0d7e9cbac10719790e54199deed1b87fae59db4826c2d1874ce59c7c2a1e5ae33286369a4f7e495223fe2e3";
+  sha512.source = "7f5642d0d3f3779b0d66832f509265a17e66c6e3ab4a74e7fdeb0bf4af9c66257eb78a9bb3a1a7dc1747a07ace12607031f861a14664addcc9d707d3f8c5d5ce";
   hasRunfiles = true;
   version = "1.8";
 };
 "envbig" = {
   stripPrefix = 0;
-  sha512.run = "bd004f62551ed8ad29cb833fc958f56156f0ab1a4134ee557b2fd9f64ef61a04da2d39eae3bdbd2b42ff232447b28ad84455d2f37e028d5e645467dbe5d520aa";
-  sha512.doc = "547712391157c7368d98892cfdda5ab82b1ffde08d1064e27ced3f6f9fdaf23d4dd0ea703bcddd1611a8367a45b8fc1f9a84156aa4b533fdf45d65037cdc3360";
+  sha512.run = "e39ce40decbb52360cfe465d8a5147f9eb5bfae8dd42b86a868a46f1d3c2544d14035d6c307e116c0d08e6ecb62ba5943de803ee9d40a0a8cdf94a88aec8f808";
+  sha512.doc = "cd8c32d4694252449e78736be1697f9a8da01079a8aeafb774d92ded858de9ee7ae163b3758710df466dd0f75fb8b325e86e575457b66c8107f3c580fe0fc737";
   hasRunfiles = true;
 };
 "environ" = {
   stripPrefix = 0;
-  sha512.run = "fde1efcb82a9419bd7aeb065c39c3e1c89527301011e64286d58ad2ec9530c4157ac606f913a7b72c2f79a12aa131b1e2d0f8c987d0754e6618ab2f51e1cded4";
-  sha512.doc = "0f7f84134d703abd4589e7b4c982618560e652598fbd278ac5a2ffc9740a44b1d46ce4f128a5d042721f9699e418c6fc690ca292e0b0179a8b4f296bb42cd5a1";
-  sha512.source = "d1b1e1273582db5116111b726ecc6134a768e4027e2ea00ba311a4c0d21b03e67c76cbc3e75b256bdad38e7110e29f1155b0a584988f14cea237f5169dcccb56";
+  sha512.run = "4e5bb20e2a69875006e8d9ebc3a8744dcfff3240cc28ea44f7acfa3775914dc9ee108a89368b6a510eb0a7aed19d2d13b001f0270ef9ad011b881c3cbc6aab9f";
+  sha512.doc = "443362ac9bd70d88bfa92c26e66871ebfc9ec1bdc226ec49b8a41c7bb76f3afa8a424d7ae2e16a7d06f77f4da4208c10f8dad014d918ed7ed239d645781b8815";
+  sha512.source = "5f539dfec035e337aa659aa29815b9293e714efe27d55286a96afc1d52082577eb42bcf02cf19388a2ec92bc880bccc73935a7f5a55ad7f6ed5bfb2862476aaf";
   hasRunfiles = true;
   version = "0.3";
 };
 "envlab" = {
   stripPrefix = 0;
-  sha512.run = "a0355170a81d013bf139c8db9bbdcd2210842b9823aa00d13739515e381dc87d3963748fda8a7e5ae4688b1349b96e3112d3e4176e6b4b9862725f384ab2b73d";
-  sha512.doc = "a23e9f54eff536859a3c1e73d5df2daa9b8fdb0622140d9cc6a1e8b719babf61e23ed9c3a1b6f6b0fb66bacd8d4e30e96e25f878b2c72412755a24b920a51ad2";
-  sha512.source = "50a42367bfe3de01f4f680154f0f81a895cff5742f088c77b79151879fadf3e4e57cf92b9a2d0a209dd6e0e55b36f8ce1b1d2d9cf71921df87d52d60e814a519";
+  sha512.run = "ba20028efa3c286132133d8c292fbc02d77881e64923ca98cece98fbe1e60acf4033b8308a3f9f31f144de071938698a75add803436e1205f7baa820a308a4f1";
+  sha512.doc = "4dedc851e00f82ff3bb912e99bf112f4e464b129b89ed75ac41cab9e9ec8c54a32ace3901a3bdc11c90597cfc0481fc7cfc89b4b95bc9aa0c8850a1e8ec88cc9";
+  sha512.source = "9181b7083e3b57329effd0c9ef462a626f8de6db5eb6dbf6800237348a010b74eaeaf11ffa2b491ddf324f0d9bb2c792b9fdda238b887df057b82dfa4fbf04cf";
   hasRunfiles = true;
   version = "1.2";
 };
 "epigrafica" = {
   stripPrefix = 0;
-  sha512.run = "38deb54c6e10db2be46d0bd8e960f067f759a18ee03aa298ddc21fc1207d082ae87f29b784bce99b2d4d47d9edf6c244f98f33eb54596dc36ad5fe388d78e21e";
-  sha512.doc = "bcdd4d9cddf2894f39c89bb78910a4839dba918baa04238e1a0c3f7cb824ff58875c0ebdddc2769ac483f4697699bed638062173d1d6062cac6bacb2d6a83e5b";
+  sha512.run = "82e5dd9f781b6c3ad0bef743b117d9658ae9e0162fec524fbb59f35f13008d3ce9b37daef8d6b977a5ec4834a1ecdc06346627857445c5f19c89f4b202706beb";
+  sha512.doc = "c90061813a408ea74da7c0a9a53c1dc0f4ef65a9ec1d96e92002127ef401abb5211b7f029630fa445725497018a6e5ed3415e31c40001674405b13a4b4ebf6de";
   hasRunfiles = true;
   version = "1.01";
 };
 "epigram" = {
   stripPrefix = 0;
-  sha512.run = "07399b0109f88c91a42002529a35c94f43b3d44a161cff988633d6b1a4bc8f60bc30f2a7b13e38eeec045dc7ad4d39b1cb872b3b1b9790e43978c2f08d05a29e";
+  sha512.run = "8952dbb6f7c573028b1f9621cd9c947a264847e59e1ead9547d386d71c2c15ab5f9c26088568b023030645b02191c9b72d827a80706ca1570785876c6acac6f0";
   hasRunfiles = true;
 };
 "epigraph" = {
   stripPrefix = 0;
-  sha512.run = "eca90f0e04b861c0b4fad52ca63aaef42035804a5d6c825dec0530f8475b720dd07b62d78617efdb1ca41db019ae481227a9a860fb1bac743a2df7277d8d4101";
-  sha512.doc = "509d632cb50fd408b0c5b7d3540e22623aa66a8a1936c2fe2dc60252ca2ee3867676b22eca3039ac50899582846c535f0df0ac9959c5be4e34135176366edbdc";
-  sha512.source = "0f0c9cabff3ca5664d1ed6318af17b42a932256452b467d70f191b832a3f12c962cce4a57e43c8bfb9025a2b83994e3c6007c2652690427096348f566b388c03";
+  sha512.run = "a6d4ffda943916b41743ad9c924351279e469c4fa2fa419e6e54d566d68faf6f381db54c9c5ffc2627ec2d7c699efbab47794682d8eb6633ec5a81a9029a9fda";
+  sha512.doc = "bc9f14e7f1a6897720c6ba2f2faa5e35f739a2d581f3f865ab4b46696656ad996637ffc436bc20b91eb0f09632ed89dd79c42c11905d3ad419a580a5f87fca68";
+  sha512.source = "1736ff1760772cbe5c806a489b3bfd578300405362a4759e0701915cc2ef8e4ceba58f07d53419d0136db549323b57d0bcda7aa35d2ecaa021e1768d6a8024ee";
   hasRunfiles = true;
   version = "1.5c";
 };
 "epiolmec" = {
   stripPrefix = 0;
-  sha512.run = "fd2721b671df77931512af2b10f01fac367f659cc1c069c5682f2d82dd6dc637481b49e838c911ae52717c03aff560fb632f97548a53051fab97c2d08ba61e10";
-  sha512.doc = "c1912940efbf6453a8e6168930545fb42d3586825811894e3f220e363c01cc12e18e762036f26ba6f54616ac50a0e6caaf1904b5740f5af40f6e31344b124fc3";
-  sha512.source = "ebe0063d46e5b56decc4fbd37f82532e73f00666ae9cba46198e0bc25700b4303768e7561ab24e39fd6727eb3a154dc8e3e5aac8db4527b248d0c1bd9d479290";
+  sha512.run = "5cbe40240b14ed494500c3831a02659be437ad9710708929a69670d00b788ffc99d4d35e66fba04f170c9844faf2432c116d75e6b01988736ab483e7d0255a8c";
+  sha512.doc = "d2c54da2821e850f17ea0a21d0bc67385e2d986948503fbc23ce6df5229708f0700cdd30a94d09cb310cbd911c183c40935e944341b6ee7ec56cdd9c2602011e";
+  sha512.source = "a52ef99c57524444151175f8e345cc59ae99c962e31420363c01e3121e1b4ecfbaeed28a01c3185d9d57beae90aaa8fe55dec15fd0790088f72fc4ee8860ea12";
   hasRunfiles = true;
 };
 "eplain" = {
@@ -11294,1446 +11560,1467 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."latex-fonts" = tl."latex-fonts";
   deps."plain" = tl."plain";
-  sha512.run = "b87777213eea23dc213159d6ab7b10ee34c921268c46c46e8a1360ee208a73e67e5e7e5fbad0a68dbafff10978c11a972b4c879492d6a2e61595edd388491946";
-  sha512.doc = "3ac9f1cd32053c5f8e48ec2fdf19c58fceb9b753a0990f452f15db38a44e033ee5ae6edaf3faac09dc316c13e755c34d52abacbb3faa38b2a61c390f6b28f067";
-  sha512.source = "f26ef04d0a891a8789ac143a1cac8674423a087584aabeb8e5d31aec0410ccfa7941724877c0c650644723d6211fa7d504be48de8e6a25948bbbb2b72248e811";
+  sha512.run = "66095056f095bb8d716382af1cc0c269bd61a6931dfd4a0d5edada684f4e2e794583417e6ffe09e64a3276ae3330844bbaa3d668697db163de89038e1d020758";
+  sha512.doc = "93086e5846ddbd57c799446be06afd6489a788427202ecb41bc60c283953af07513f3cc7e67964929a9944515dd3582f54ee2bc81a99e9770f15cbec51a86534";
+  sha512.source = "41ea85290fc3abc63f0e3b879e0210f204bb9e5dbf99ea44c0d506e9e68533313f19837ddc1ca1c45616d709cd0402396ac4729908f3acf38491e80ed4cb24f5";
   hasRunfiles = true;
-  version = "3.8";
+  version = "3.9";
 };
 "epsdice" = {
   stripPrefix = 0;
-  sha512.run = "b0782a5548f456bde627ec2ac04a7cea45124da43d88da5a9ded85207e70331769437a559266ca38b641ad13ae67295644d7d4a1100544ca209481a993fc18e8";
-  sha512.doc = "7ef7df16ef2fbda2fddc2a2ec22f3ae44b5eda4ccc45c94272f53835d466c052c87aa484086294ceff8973ee698f4b06efb96e6fd086948f2ffa041e4abb0e04";
-  sha512.source = "cde2a3708dcc061dea42945bfc7c62f566236a7150748bd844564d79518af42e61edcfad6cc42368a36694e9db353724dd2d5f7ca027c1fa9fb123b58c9161ec";
+  sha512.run = "acc0ceb408f320570a93a52132d3e37d43d4be65a31a038187edd6de9899427f08d7859dbc383b7b27e9d9b5a635ae94ea97f0be4ab8386b5991089a1435c350";
+  sha512.doc = "6d9db45832d3e26e79a518f06d00db992ddfb2999099d32b415891e8d05b51803dc4f03d097cdcb04e5ccd6073606d4c7a87a07b9dd20d8d257456f927ee7427";
+  sha512.source = "9bc8b64a815e9aa14b6ef09e9ea6328e338e9539ebefbe3df805d3fe05ba3aff61750fd98033be72ed7a7cb4c3d5aa6152b557c9a1dfb0272dec856968171d29";
   hasRunfiles = true;
   version = "2.1";
 };
 "epsf" = {
   stripPrefix = 0;
-  sha512.run = "227043a531734382b48eb2b1250fd0ed2f0f836195a95f4d962db218a06016a940227f8e9bd8a44ab0e356aecc51df526a2f03b912f6c33f69157074cb16f74c";
-  sha512.doc = "a8fdb109e3efdf4fedf7d0243a8f1fd067584c0c1025a466dc845b0c8ed5973c6fc54d876329a7fa5bd464611557b825e0c3fcd2691890c03d58ee5e020014e3";
+  sha512.run = "4c3698edc9ef386b08a2ed7c360d926be6ca5a8284e3e53e0dcf5f222eeb27d4d33b4547b42dd2e5544ab381397aafcd58899376d26a4d9d47beee00ad1e9bda";
+  sha512.doc = "52be704eec6159e70d99ae2a4823c1da0790f41da9e6de130c84cc77e0d8d29aae145ccb9b416ddc5c9641100821f5099b5c597a350438652381be903e7681bb";
   hasRunfiles = true;
   version = "2.7.4";
 };
 "epsf-dvipdfmx" = {
   stripPrefix = 0;
-  sha512.run = "16dc2da08c57eb05495b2a4c749babc16075c7bf2ac63208c0bf80feae52acbd0924ea41138659070a0211ec7a420c12872844af4d2320fa2a5f3f769273aa90";
-  sha512.doc = "dd094950ac6006c7708faa1cbb65a47aa56a54aff27b01f62f5ba3d1ecc9f450b615cabb853c4692b8693f79c1b7032ea8f09cbdbc8b654cd42988b45cba9f88";
+  sha512.run = "0f210b940d55bc2e85b3c86318be82fde1bf2b6fa2e5d498101036a01cec3b09cd8081079476f128f21881b14a13c7fa248c758a7a33ab0770f261505260992d";
+  sha512.doc = "e7b770f6880bfa8001851cfdcf2f2d03117fba3a2d38514bd7e23683aae08d57774bd1bfa4d0f75df443d9111a5472ba96bf8129e45b618b39f1798b27fb533c";
   hasRunfiles = true;
   version = "2014";
 };
 "epsincl" = {
   stripPrefix = 0;
-  sha512.run = "c48d53d39281d082cfe56ff64ea33f42dc05c0d8943e669450635bfa3ba36ed91eeaae636d209149bd05fc08dde07462f15eefbafa57dfd0b8b1ac72152560b2";
-  sha512.doc = "8029eac2871973028d6e790263bb3e9247a19deafbbcdac1061544f293d326b6a483dfa2ceead46a6d3e89da1e793dd51de7f6e496912cfefbb3988f6c1663df";
+  sha512.run = "f9251142a990038acde2f1e7b61b94eba39b2c4f5c43a1151af29a17d5f0efb0cddc0af1ac8d056d8617b5ab4eef29bba14a4731ef933480a9bdb95fcc15d023";
+  sha512.doc = "2cac5738a39157563707879656b473e7ac7edac2f304c209c8164c7878b10f0d5dcba1d38232ed6ba8e20fe21b3a0cf78dfd51733b993ccd5fcb2c0a05ea31c6";
   hasRunfiles = true;
   version = "0.2";
 };
 "epslatex-fr" = {
   stripPrefix = 0;
-  sha512.run = "1ae9b36fd14bfe91a03f53b4ffcd40a89fb14285da881cec644b0d1d5c76d1c43a337ecdf5ae90e381155876aa82f496aae1e5cc498409bc56762efdbb738cd6";
-  sha512.doc = "8b7a314af1fa4b4f0cc3f138d2ea00e4713b895bc0f0cff966104870249627d0cfd74cee4a0103625f73ac7a27e713641c5ceb606ee51be533adcd7ca6984e9c";
+  sha512.run = "f3e90ecb487259301c20ab4c4c28702b9cadfa844a49361fee0881a26f827ae602f954e4a3e824e910d2e098097c387aa5311c5f32cb58df5a0a1e2fcd9d2364";
+  sha512.doc = "7965e6094535d22b04193619842bc0bd090c2b47139e65498dcdf428f4ce2ec54e7da5edbdf9015c9d8f2013642d11347373e625a3884c629d9d807af2a9880a";
 };
 "epspdf" = {
-  sha512.run = "ed89448463664021c708270df8687b04b86636ca6b7ef749a39cb7c464198ea0c649a973f4b718160aa19e7e8e19fb59964e9320137a20c31b968b280773d0e1";
-  sha512.doc = "48843c5f43bf728df3100ce27ca70412baf977c1e7d1f7c59fd8a84032e98748f430d1b1a4c4d64b777af793ec54fb5941cce89b285053ae8272652a18361174";
+  sha512.run = "a8d2e4cdf1b3e4439ce8c96b18cc7182bf29f745b8a35942623575951ddf179964536f72ec58a357e7544d861bcf624d7b35ed3a0932d758e011e56633aba078";
+  sha512.doc = "f2c5ed08890388bc064af0bfe31f540c126b9bab4a5b262a5e44f6cbb4e4511ed43ef0fdd2945b01bfb1ff4aba15aaa7e7fa373f7cf93827fa352226a423d8dd";
   hasRunfiles = true;
-  version = "0.6.3";
+  version = "0.6.4";
 };
 "epspdfconversion" = {
   stripPrefix = 0;
-  sha512.run = "057288dbfa1e8e15205d7506bbdb801d90ca2e6bcd11bfb36ae18e463e406c6aa5b7b3b770240c882822e91d5a85920ee2f953f73d31abb7d59ab05df9265f24";
-  sha512.doc = "66f6c09737870706823e5fbccdca0c91416fefd478751fc84d4fe75199ee788281cfb56146db93c46515175da709689a1d213d1949625d602911190172a58317";
+  sha512.run = "a1f328125f82f33bcc881adacec981f4ce8aefd4cbbe160de66397ed3b1d4c2ed980f5e1c17c63b75973e3c253d76afc2f1227272ab7f0236e47e8e48f0f015c";
+  sha512.doc = "dc09e2ef835a85bbfc7c399b7c7323d64c312b04143e8070fc403fbd484bd893be1e4b532580efea93baffe64625c33004405eb0ed9bf6295646cfc260d72c40";
   hasRunfiles = true;
   version = "0.61";
 };
 "epstopdf" = {
-  sha512.run = "f8555a7997bfe048876cbdebe187167f2624812dda83c4d74045783a8ea3e7d807602e268d0d9fbc653611327fe6c9ed47be801411ee84a5ecb75b446143598d";
-  sha512.doc = "05af8ca35f7739a6b5a01b993d6ff815e73e6da08d06495ebabb28e662007d1adc70225235e61fc292e5fe70c607ccaa02a57f451f9d47caea6461c0e265160b";
+  sha512.run = "6412bb97554b271cf5412dbccd316f3d69d7bcf2f524a5d6d1a75f69cfa11a981fc4ab063b6ea8302c2a0236ff93c59f1ee2f8f2b7f33dc466324080fc5016f4";
+  sha512.doc = "7fef59ad3bc72b2e3fc10021216b88b8d5465f42503d9938031c3d40d93fbaf637094fdfc87b19ccc1da4d9a28c9890beccee7c30b915a513a909edbac6e0a25";
   hasRunfiles = true;
   version = "2.28";
 };
 "eqell" = {
   stripPrefix = 0;
-  sha512.run = "140a88ab6d470457adee2887a178d56c42ff9864f23f6434d9a5c8c30d28625168c5db64f38499d3ed1604eb36a6f49829967b24c3a4daf1966046f5ca0da931";
-  sha512.doc = "04abaa97ebc8161fba6f5fb7814f165c55b1bc502fd9b23d43a79a5ef0faa3732a6fb95ef80da6ec49e9ae37d09d81e3805d07fcabe52bf42ad332d12acac4fb";
+  sha512.run = "b3544579e03c33b7a5a10f1fbcb22735d1bbcdb9fb5ac94330ec1eeb6f6ae646935a46f4c7c3bdb4305368b2e9aa9eba244c80f08f3127fad2080b610f1041a1";
+  sha512.doc = "9210b85937d0bae3eab982f45b1f38f7020327c9b4cfc6604de5b171ecc84f54f5bfd088a3f06ba7123a7fc01a6fb09953015b1813db9ab2fbabf2a15bca955c";
   hasRunfiles = true;
 };
 "eqexpl" = {
   stripPrefix = 0;
-  sha512.run = "9da410140daa41ad40a9ae9c4d3e81253d54077359493d00f1bcce84741cc9ac984f6f06ea89dc8aa5c7b94d93c10c53aec2e56492a410b720aaffd3f497bd68";
-  sha512.doc = "3585916d140bcf7c3842e74d239ef3ff406945bf588444bff3da8dd12ead35f6fef8b362ed95e3cbb650054814fd2c2401834c701c8cc8c0ac35a3a15e5508fd";
+  sha512.run = "c3412287917852e6c8c1ae224616a3cc1cc15156d66bfccbdd3fab70b02e5d4ed0b3b097e7bbfc89f71ceeec6389d4e66c0c1abff2e160d813d2f3b29325d7e9";
+  sha512.doc = "c94dd14530cf7b93ade41c7f4084988ed480dc4259b90886278dd5665e5b6e705e79a5c4d1db428b9d43e9ed9fa63a06a6e10569354d848dca3c76fc28c847d6";
   hasRunfiles = true;
-  version = "1";
+  version = "1.1";
 };
 "eqlist" = {
   stripPrefix = 0;
-  sha512.run = "f700c1bb8b88a0f2b9bde6fe4d6a9020851dad3fc685522b48584e0b51ee7ff7d15cb941fbe2eced5ca0872abb3c6a8df6b35cd2d0c24473e18649a7d03f7ebd";
-  sha512.doc = "080eda6a0fe3676928d86742aba9bff6a15170366c4beb558a0480e6922c15a0a763b148dbe5c193e593b94ccfc459424d18ae62d37c92ccbf909057b372121f";
-  sha512.source = "3baf57959d289fcb0eb7046550784e5a1c46f66baf0de3f4ecec4171915703b15fa4a0703c06cf5ad0ffb01bea426a7a302e27121e599055437d49eceaef1c43";
+  sha512.run = "1af830f51ce25946ac8bc6a4cca323dffeff20389ec998b74afd49a8edab5ad7a453818d4799e55ca564153a87b85e2a6b03ed67e53cc5ae6fa74c45edf3aeae";
+  sha512.doc = "a5b22b8e9300064d77d02ca6f5652659293c6fedb792be2f0664a2383b3167ed7bf8796af26edfabfdcab8d75ddf30f3815be36e8f38fda30f1609b56c16ac61";
+  sha512.source = "15817915c95c5f609c3def3bce324e6ca362408aa862e7b3548a67225bc1c33bf8a5c8f924dcbb1951958beaccbf86071b4e866f0e7a4d55a09456412fe70223";
   hasRunfiles = true;
   version = "2.1";
 };
 "eqnalign" = {
   stripPrefix = 0;
-  sha512.run = "92954bae2da8b1bc387ea1163c4d7b4802ae01b3d24d0af9a3d0af88ff42bce73a20f0fb9898d600785a0ec5c8a5e3f63848d3f043576f6f4f26b58cea4b6c21";
-  sha512.doc = "d30ae8a7555ca9058f7b779116771b4fe442179734e308eb1b6711a7ff7f105caeca0b5b944836bdc8b85b42a07b2c1fd303c84021cd3a811178077efe1bc5f7";
-  sha512.source = "c7d95f71626057e69ba5b3c3ce7cba60f9f7f6ded41f8d2c89ab9189ebc372d6aded3b1b93416a2895a44995249ac768dd14d847fc4ce74293255abb60bb539b";
+  sha512.run = "6793d24d272ff5f95b4e37fa3f4206e7358e0f5b51c51bcf4c61908e3fa554d8c8a53d888c7d7b1adde09f5d308c19944e93abccdb7846c88544abc90bbe4924";
+  sha512.doc = "65847f34d7d1c76dd4d87ebd7e46aa1bb9e9a34ecf04cac6e58c18f9f4949d3e82325dac982f6d704fe6013e2acf718f0372873e547434c15a4a07c07ace27c9";
+  sha512.source = "124449d3ce1f3b120f152c1eee49447f640f97d01f1d5a6f79ef72d1465cdd31de896049a5a7163e4e366ca9454b0f78723c4a94a24b8d83e2c4540d613bfaa3";
   hasRunfiles = true;
   version = "1.0a";
 };
 "eqname" = {
   stripPrefix = 0;
-  sha512.run = "d5ecb6dacac2258d45951c1f5209555ef7a40a9ca7f5183de287660d60adda9b4d369beb1926da6120b4f15153e3fefa1b872fe223b525205c1dc898ad8d360b";
+  sha512.run = "1717aa83439019ba2c07ced56ca5dc969a68b78c9a711d97d0a168d432c6e26b53f30b2a3f6f8d241acf465fe8817d7e4fc4238982a68bf2ae143c5fdc2ca72e";
   hasRunfiles = true;
 };
 "eqnarray" = {
   stripPrefix = 0;
-  sha512.run = "586614eed6798c48f22da3a532d1cd3c13f49f9e8adf8d32f71f8111a88471480b7b3903d4a97ea86ef48d3f4817976a05c9f28c8541c68d6c89a4e460f4a552";
-  sha512.doc = "06d3cdccbbb2e2590022e900ebf4519625d112acde1d7f2bb7560b0b5c845b85be48443aa7607583476e7534fd326b97c29a7f6aa3cafc8a090e4dc73b6ad61f";
-  sha512.source = "ff0efc31bae1426ae995835f900f41e42e836a3223c90d8f7e37eebd1c80e43087bfe5e84772dc66f081ae75da9a7a18a22b762b4d239118638361d37b4a52a9";
+  sha512.run = "f5abd20910152cf65d92c7e44930729c1052f72441f162de2f4ad869f0ff37b669066f43089a1369298e9ebdb536ed62d437b3f34be5b3e417d8b0bf34d9c870";
+  sha512.doc = "7ea3d87f81eca28dd52f9e9cf4f7df1ce4f7b9cd82cc40d0a7fff234415b2a3e033fa1c8a11594b2c08e5edf87ae265e5f7a65eb92a79cd523568f37853de30a";
+  sha512.source = "9dd02c43fca4f6e8dba0bd44292c8f97aef4cbf39d521b9df10206a2309e82492f344fb65c35ac0509532e9efb2571aecb2a5894e639de5efa1444bba9916587";
   hasRunfiles = true;
   version = "1.3";
 };
 "eqnnumwarn" = {
   stripPrefix = 0;
-  sha512.run = "8a1a9d9e362d6de0d6653ed84830e0441cd41985c442cc4e74c83ec442fbf457210a1bf47f3ff6fde413f3c3facdc2ee4d69170f009bc6406e1f9c8ccc2e4117";
-  sha512.doc = "0f45c2688915fe30918e626046d1bf339cd366cf410799f51441ea30a0c3048daa741fcbcad66dc0ffa9ff8ff0b73de0112f7818798710ace6706fd1bc7140b8";
+  sha512.run = "ddfee700caa63f65fb4f53fe2469d1e6ef6338843738dd2c06989f23b6f4b40dd1dfe4b5979a04b34a9430d7cdd4d0f3ef14e3ce39613c8961fb0266e4ce6af3";
+  sha512.doc = "e6dddee646be40e01c211854d3fa04855286e24a39b8217380e555eaacfad50fc66a57e89336d505c80a8df77ff7885922195423d11c2acefce583c9cb9fce81";
   hasRunfiles = true;
   version = "1.0";
 };
 "eqparbox" = {
   stripPrefix = 0;
-  sha512.run = "15f8e86a1e878b90ccfc347627affc420a9cb0b91e8c48a074b08aad2b2f86923f06e0f76464e831d9d7f845851e713cd183971c8b530ac1af3ba32202dd3e14";
-  sha512.doc = "4030ad92e666a34d3c9ab28a7a9db08d0c2d9701a658d9c557c918ac058f639a7edd489b43ee61a9455882c88e8af83edda2b5b2eb112850c65965be3cf77be8";
-  sha512.source = "af5a1c446b498628dfbfe2cc418deadedd7e77620e8a755b17061291de12751319207ffc7f3c25999075d7ea284e30b81e57d0d8d7300f46d3ab7f71b5b7d65a";
+  sha512.run = "b6e64a4d30840933614a42b16ffec215d1e01138c42805ed20bfab6ec03e232f87fcc2c20decb2e7e75234b7bd5fc2ebe5477808756ec92e6e724acb3482afca";
+  sha512.doc = "1b0f7e6249e114bb6371d19f941cd2308f70ac4f1c831ce5a1c15551bbd65a4289b0b0e718580cc7df97bf4732ad3a76b3f22ea12f7caeaa2ea6362fabab2074";
+  sha512.source = "2998b3fce2cce05512a41b4700905adb78d421302ed0275e7f263f891a0d8e9d5d8793ce2fb80cf1ca3e8f5f148e530a48c3c701f72729e6f4667382ad9247b1";
   hasRunfiles = true;
   version = "4.1";
 };
 "erdc" = {
   stripPrefix = 0;
-  sha512.run = "179a7cf4b488496b93482727a2aa51058aba7b493af3974d0786c4ce6b6a4d1fd52ea0b3f9fe455531a4d6ab65c4a327838bec76d47bb2f54322f61fdf5c8d2e";
-  sha512.doc = "8e6b9de4022a5a0dc85416633409e8a9eeb4e0adf137ddbe6fb11401b02a99497bad8df03e2ea46e9fee25ef53ecae0c36d727d835bda63f079c4be07faea618";
-  sha512.source = "68f815c3cd1a2ee8154f120592763b47bc45b54e86790b838e80d9cfc99ab79c35ed8404b81da6b3e0a4fade9b9871fff227cb0ad2cff5a96f3ed070aeb9eeda";
+  sha512.run = "56754f7ca1872837a362b1f5cc929fe5ed8bbd59a1a45eb2fe20b071f7c44362b0d98764c6d2870d275d0f0216a9543cc1e9f671f92de1b6b02136f9076f5f95";
+  sha512.doc = "3e9d2dbfb3bd877c6bd105ca8cdff87cad9cf801797cea39e760ceaa1f27ed802795d728f9bd675c6553a88e22c03a035436abb19dacd38c774b94a0e2bd1567";
+  sha512.source = "afe35b5120001d40259065ba25a9c5720f78fb1a679ed984727b89076bc265113e93184bc8ffbf998f069f85636f332ec5c93a40ba39aef4d4b7a3884da42446";
   hasRunfiles = true;
   version = "1.1";
 };
 "erewhon" = {
   stripPrefix = 0;
-  sha512.run = "320cedf4f07d4afb1f1e6bb9e0c8d143e931623861c4ddef491bab3804f1a877ba5ec7b6169945c810b4f69fcba48eb011832601515cb5b9e9cb1705d550ddf2";
-  sha512.doc = "b3d2100f9007e5d5718de495b7e46eb8d1f322c637e650124e7de6969c7562c8de5b060fa1d118942f57d401aec6e90e6ac23ed54aba04722286dd5f67ad183c";
+  sha512.run = "efc2a9afd043de41d9fb81fbf09cff81d87165d96bd402d68ad8a00db4924d6c7f0b33d2e12efde8f34d24979109a47c1cc542289b4cd89b089501f88905f9a4";
+  sha512.doc = "a25654fe1d3b08412a5393a899fbb1192510613478a2f6e9143c802db7857261ced89f04f52a90349c450d4b42650d964e633687ca785f4bf69f6a3adbd35c16";
   hasRunfiles = true;
-  version = "1.091";
+  version = "1.093";
 };
 "errata" = {
   stripPrefix = 0;
-  sha512.run = "eea1906709e66a2cd61f292222f297c99c7ab92009fbef1959405b6d4512498d056fd4993fddf91a61e59560d01dd1e568d63725f197b834e4036bc129fa1b2d";
-  sha512.doc = "8a136c2d6e9239ad25f468902bab311f29d63d8901f8ed961133021136a502da8bf1ae4429094023becbe2aae21a863602577789f26b741e90eecaf6516e71ff";
-  sha512.source = "cb5107a069107b40eee5372285ab9288a7620f0eb0a363b0eed104fa0229c7512c2929b3e59860308dadaafbf8f5b7f768e679c566e8ba8b676fd745bbec9a58";
+  sha512.run = "ac3b99ef6e120a5b488cf79f3e942c10a47ee92e84a04d3667f99810ef365aac66598908c491897ef7a99df268a0bbc7185d49aed2313487712e300383356ec5";
+  sha512.doc = "7fb625a66efc914e2eacc45696ac43112d7ca49b668ffbea179f47f04746509f981141a77d2948f30b8c56e4a2ff06f6af3047fe494e4f084237891fbbf6710f";
+  sha512.source = "ecc57287f78000349f4999d1f85aeaba0206a898ff2d97a1fa9b4f94acffd76099cc0f92a88e5a38153f71570f62d9616e0332edeb987e468a6483de0dfab5ee";
   hasRunfiles = true;
   version = "0.3";
 };
 "erw-l3" = {
   stripPrefix = 0;
-  sha512.run = "91f9f5a89f80cd407836df82d1171198c9cb893c69d00dd30ba49846b8e3fb12e31e8b2184b71d9147b708950772ce10508a30fca86b190a29beb2c051edac42";
-  sha512.doc = "a33772b42375e6783efe9699c9b2225665f7ae992128f9c78f2f8bbdeb5219803fb10359837b40d5e20f24170b465a90a3200795d6423ed5ecc20701b2931ee7";
-  sha512.source = "9721b922e99f00f2c54d4844253a5171b62cfc5b9315d3fd031f5068784abf7f1b4a3616f2d3227fad65ea9657f08fc16465c9691c82bd911f1babf6f50175d2";
+  sha512.run = "d38e28024ecfa8be96a0125bea5728f54618849963881983fe9d375086530246a8e0351fcfd519ad37a235c3897906ff2f7b3f88854865e2de92237d7873aa39";
+  sha512.doc = "8d1df458ed784fad2be09b46bfb48f1478c12a76127dda7a16b3c8b89966643e385ec139f0caae7a71b265451140ad95c4de4678ffbc6540bd1653c82a9775f2";
+  sha512.source = "e7e2ddbb2bf750c16148915d779412f81d4508539bfed20f0bf0ef1f983675f9976984a870dfe67ce56041954e25aea6e5ebef5b07c82197ab7183968402e20d";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "es-tex-faq" = {
   stripPrefix = 0;
-  sha512.run = "965c3432fd649d1dbf7f532bf771c43eb613c6dd9c91d9fc83c97452f06b25f3e331ad1f0514f926b0dd79e485bf5ff221fbdfaace6aa8fd3776922c260e2c44";
-  sha512.doc = "66e5a1c57fb1accf32f2c1d6d86871c8187056e1c975dbdd09cf262c22e604e67a0f69cbb56160e5dbae8524a657addcfcfd22d66c0aef649ac430eab8299198";
+  sha512.run = "33f66e4f928591188289f07e003cac10229735e69ee7390020748e119930ea7b74ad69e5eea991d8e34325ac4d548ce0b843a00b3ca50b9e6fae3e96526a4ad8";
+  sha512.doc = "5b5d0ebda1bde2c1c67fd4853a41bb10956487fa5ad2686d6814dbdd51f68dde2a3d294797b7b1602d587a44ea6acbd8260ab9965efab81d91eb9d9fdb93da69";
   version = "1.97";
 };
 "esami" = {
   stripPrefix = 0;
-  sha512.run = "1186df46de1ec9fad8c60340fd71ec41b86449e197b74641b3e4948476aeaec5ecc6dee9c6f6c98c001e80980cf47a921e061b57abf6a9823adcdd8d82e4a21c";
-  sha512.doc = "db1ff2a75988d78b4aa0ef78369bc29538cc1bd96364f9aa4bf364421eb0e8b7392a840d4312c00786ec29ebdce7dcedec163ac1d237ee88241f1930b23b8440";
+  sha512.run = "bbf24974b4feaba88b92b3179af6bdb45b86053ae8037fa41c99d0823cf3c79807283c01370365ea0264ba1eee3c4c289fadc5c2619900e85657366c14920a7d";
+  sha512.doc = "d9f57db15517f47d648e4ef91111a843fdd7f0d0706d1a863f5b4f7c65008c00507c552975c01b60c00cc724e63aea24f7a6b40930148bc981e200866cc30ac7";
   hasRunfiles = true;
   version = "2.5";
 };
 "esdiff" = {
   stripPrefix = 0;
-  sha512.run = "a06f52927e98910526bd280806003b3dcb63c547b127fe01e090b45d83499bab1b3746816169f8d9641230cdbe135b745bfe0e551a8436e9e057a7fc92a97a20";
-  sha512.doc = "5b1b5037e480f797c5ab2b18b874ae23938a2e12b93a2df1b58311a8c363fe4f6450a7bfcc1d665d6be814f309d86dd4564d9a202b70f9d4aaf8c3dca8b18b34";
-  sha512.source = "d720e85aaf9b760087be5e2e8764eae4eea4d1098f8073f5fe78eb4c9856967176e5c96f5e641fbc39537ccb7e7ee51bece80bf758f3ada9cb2a5e42157cc87a";
+  sha512.run = "84b2490e6ff743f0133deacc22c8e0368368e961d634239694ccf7b5cde7826996e080077baa0e0045230b6d2c3cad53ee055c05b17c89ca735dc2e40a01fb5a";
+  sha512.doc = "97dbb512437c868f2b15ebd1271f51a7f196e40c70043c224617378e6c9333f19e2c18666f64fe6ea323c7aa5a58438944d8c6f5b1a9c0d36a239caee972eb08";
+  sha512.source = "983f7f7cee22e442768ae56fac614d569eef18bff35c52c669d51079a61beca395c06e7fb9bcedde338bbaa1b3775094ce9b77fe7c043df2e1e25975410ab7d2";
   hasRunfiles = true;
   version = "1.2";
 };
+"esindex" = {
+  stripPrefix = 0;
+  sha512.run = "4e3fe4402e025dbbf300b509954600e3a1eca221a448d32ff2399aaf552ff930e6921bed6f0e1aadb20d6453848e235e42e8b809c4f4280d39c29937615e90f5";
+  sha512.doc = "6db4b39371280b0f3a3e0be9e18337a75611410ad25e7953742247e750ca439c92c614edeffa03c4a7f39d8aea447037a6e25cb8f6f0d22a190f359c9cc35f8c";
+  hasRunfiles = true;
+  version = "1.7";
+};
 "esint" = {
   stripPrefix = 0;
-  sha512.run = "c5cd12903813146a4184d04911a7abd76862d781e7ba93523c533ca6edd48dfe1ffadb8a054e9ebcae639660693b3e7808ef27fb2d6c7744cc7d5efcf08948ec";
-  sha512.doc = "46418933503f2abc4054e9d075adb9da315ba3a01ec23757dd4e8ff1507b251ac03b52a63debd8d57679c368427d0c9043335278810911940ed1ca297ec0cf45";
-  sha512.source = "e9630518609080685ac8c2188e7196e497c26d3ec4d8d4efcf59c8d5bf89f91d8c49fd59fc04a5df8d745fbfd0e7b94e3f26cedbe0dfe31b4fd436ca4a1db94c";
+  sha512.run = "d0eda90d6a890b7813648516f21e3a88213b1374df0c418895301354de402b9634492a1fd89193f34c6db6b9fcc0cdd0f8f46472e0e3a210234c7d8cab1bbed8";
+  sha512.doc = "aeeaafe3746b8fd75ba80fc36b1610a3e4f7c7f26044ca82c2c8091139e0294275a1dde9dd73fb3e5b013ff04e4d0f26422e8c2a44a88beab167353e7686b3fe";
+  sha512.source = "242e864b822f5deac76740d7a00edab9b6ff77e260b3e1adb6676dda009a8c200b9352e87998b76ac3047f0eacb9bd5ef87ac554c7c20ae649e91f1fcad889b2";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2d";
 };
 "esint-type1" = {
   stripPrefix = 0;
   deps."esint" = tl."esint";
-  sha512.run = "a6579eb0e3cdb824293ff9f1ca261993904687c7c5f75f32ca38af9f59f82583de7a3c680528d09ef6e489e5ba32483c71cb7e9275ab04a8419645933f4f3d9d";
-  sha512.doc = "ad5816611f99a2704f1cf100959e53e415109a0aad3c9a18fde18ad4901980a68ecc95b8c2e65bbfa963ee28f7445bc5b1f9549444706aa0b8d582a9cdc2ad04";
+  sha512.run = "5a663d01e9241adf1961c922c588888561f495e6378fdd7aaa90954c3e51c5f0f8e6dc1e1947c9f03ce3472e1aab3dde1b35e6b5f0814f5e2cda564a31a45a1f";
+  sha512.doc = "081a225225f503fac403d306fac3ee3b2747341ef5c4ee9420f49a56ca959c7757f154c24f90ed9506041b13464ea216e6edb52f29790d189ea7b33c7c797f8e";
   hasRunfiles = true;
 };
 "esk" = {
   stripPrefix = 0;
-  sha512.run = "82a28edbb32a94d204c6a349c68e2e30ffee2d51f95452753d300b017adb11bb757a5c987be485fce16c27224389531161fd2e8238026be628f0bdf3699e758d";
-  sha512.doc = "38a869264d24faa2c6a14333bd75e31b9895f9b04a8fca8d921f072f946dd1e4bd38b914b116bfc08f55c794bde055e5e8251393c851c95de3a20d3095126a14";
-  sha512.source = "d9160ce972ae3309a625316927c57dc8b282e4c78dbd9904b3501ea77d62dcd49dfb8358ead3e91351b5f7c785024f36b71e3ff04c59080e7c737c04a4cd8470";
+  sha512.run = "584d9b9abf202d93826c690545206c3b7276d6b3a4b717ed3671f9cbd2a1c6c6503d3352471fe60232e75d63632e021fb0ed34ce49d5a1e72ae58b08fbdd7211";
+  sha512.doc = "acc40c8829e69c681d3bcfd5aa7223b3f5320c1ed5fa3f4a9a700f203b622f300b73912ef5df2c163d2cce1b40aecfdf1eb880dcba48e94783c14054981e0e11";
+  sha512.source = "8f7123816c718d86eb1b362369dc10a745a003e8e79c54b8edb90813382528466a7e0fe3eb6b579372754d03888065b6f5c48a0682c6288905e93cebfb1b4a4b";
   hasRunfiles = true;
   version = "1.0";
 };
 "eskd" = {
   stripPrefix = 0;
-  sha512.run = "38502358c9838ea5e50a924f4fa0730dabdf442c672f45c33568ca97e91cab2dbee2fca01d677f986a54f075f287b1df920069cafec9fa920e8929959995f5fc";
-  sha512.doc = "809341e2fbda85ae67d6c776a572d2e96ff369061961e7b80cacc901ee5714036b7a01e67f09b649647491b6f0b9e9b79d7c411a139cf84fbf7055e265ba8a0d";
-  sha512.source = "48877daaeaa0b3a4a4c8d3bca0d27494e0574a2305af2504abc6d4d750dba89c0c714a66f4f79c64f2f7f590622fe5d9480382fef951f3166b87754b77fe08f6";
+  sha512.run = "d0c1745172683bcacfb061f48bee10f78dbc849657295f5e7714cca949afd586c441f727e909c627b595ccdb50b81d813538e6837a00809ee884ffe1acd6b25e";
+  sha512.doc = "01a0be9d02e7fece62cfd1bc8ceb26b2036f3d2e374794f3c4aacbfe004cf4059346510009760fe48fc0141c4e9f3cf1e40088203d31b7bbb31ec375cf5f70ea";
+  sha512.source = "88b3edc0487b638142ba353ef108558b8fa6d420f2560a4fb1c189829af87d877a8900566c042556b15d654d11d2a0def58fa958fb9b234fca84419b2621cba4";
   hasRunfiles = true;
 };
 "eskdx" = {
   stripPrefix = 0;
-  sha512.run = "1a08d0ce904ed96d059aadb1a7ee35caadb333dba3e93472b17a3ec7a013f481f81259a96b81572a839866974d76bbf002e4d5ff73eafec6e7200b6f80b8ac35";
-  sha512.doc = "4a6ea2a52e6155b6d8deb561828f53180cda84ed7336dfce38aac32397ce8dd6dd4631e750007a50fb028ff94c43c247a47dda78290c3c7bb1be8c8e74006aa5";
+  sha512.run = "e5ef11cba6b0251844200093445f5183de60e0c0198da9c7000ef5c05a2a9a4303a15dc77ed03e9874e452ffdd283016cedb8901e78cd0312ea5bbcc529b74d5";
+  sha512.doc = "748dec387a09546b28718e943e05772cd56c75a0066793332b343e7f604e607efd37a071c1f4f32fbd20d7427277bf2d598b355b8ea3a0a04943ccb90f4f249d";
   hasRunfiles = true;
   version = "0.98";
 };
 "eso-pic" = {
   stripPrefix = 0;
-  sha512.run = "331b2ef80efd1a123a11ac4889dec80f3ec7ba34abfa46fa6528b6da23d0a753e89fa7d0c36855b6c06e021caf9b002a904b7ff85fe673e16f52c109ab1c6547";
-  sha512.doc = "ad391c5d56b9437d48d63694f56636d32f4ce786a71da10bfbb8c513ab68d8fe4e3af513a63c70b644743fac07af9a0966d2806cbadcc7091bea098554090c9d";
-  sha512.source = "e4920a366f2aeb65f6c9f4e548c10b0d8f697c53d5320dd37847c3fed8fd4b5628da3cb389b116434503391e9d2facd7ee7d1911f99a108c77cf3b05eb5a5144";
+  sha512.run = "52c1987317382cc5b3af5fa05627d3137c692b402dec1a19104f814be191222b9699935a52e68c5813beabc0f659735ec22dd37926d6a681ca6e415ac0235cb0";
+  sha512.doc = "e78570568903fc10ad3309c8247599da7faf2ec9851df46b2ff36451a874f605fd12b9aa0dfd68f237cc65e77b527baea296036721fbc0e2185d4cb61f0eb1b3";
+  sha512.source = "7736c3f6bc4615034127de7b88d0be8e88e1564760bb340d5fe555633ebedf1f5b12881e4c1cd504af47350000a931582f8f75f1de431f6151948c8a27af1ca1";
   hasRunfiles = true;
   version = "2.0h";
 };
 "esrelation" = {
   stripPrefix = 0;
-  sha512.run = "439c6cb57f4c7c540ee84c7144bc676ce40064754badc62457157ef05722be6632287bf66bd0d1404cc110cbdcfee634fb3790335f62269f9e6d08e03999901c";
-  sha512.doc = "4f44d211656cc7fcb24ee181e955f5831e447494dc1b041d76c1e4b32360cd7dee9afc8774ee9eafacc091e9f9d022e451d3ffb73ca03c72b3bdbbb14a36dfa0";
-  sha512.source = "0d81f15cf818de579453ee2509ba0818dfce237ba946a948d93c332f5612d94621529625c8ecef6e47a73cef15e904e70e78cff7c4af038f297d733a9eef3e91";
+  sha512.run = "a6d8a0a9bde08e3582826affa52142fe5b5a0dba43c4ff15f5fdd19cb24b561bcdcdd761c2a84238c9b31d3fe0a023949d2d0c716e105852443e06ced9df13f1";
+  sha512.doc = "6698e9f57df458d9652ae98abbea08ce1f14c6c31677c32ab8cdf9b8fa0866a57c50028ea36d2c7cde133588358dce0b2bb37b7085995e4bab9ce7d3de1a541c";
+  sha512.source = "17b0495b4b19ca5166835549c62c9c5e1dbcb59e2252e321860dc7254b9ebc9d073f317a344a2a8a4ec772ee1a931a5181d9d3b1af45f913b0ad04ebf189bd3a";
   hasRunfiles = true;
 };
 "esstix" = {
   stripPrefix = 0;
-  sha512.run = "23af2d293f7c0d3b231388d140c75af480a1f6b4f1515544549af42e1585e3f138f021cd4161bc94d3e6a9dfdf3178c11abf54ca71f00b65562039bde14483ac";
-  sha512.doc = "9c1cd87e3d60f8d3713de4d9288286c4c074517970c99249d89f764a05d355e3ca77ec817ab12d8c5844f44da6f1d4a3893fd2463e3720bec7bb30728597ceb1";
+  sha512.run = "e503f25cb713918329f297a4ed088b63967eb06828fb753653aaf60ef99c5fb7db6507d6f0f74080b9fad2050ca1917f7ab873be2fb0bd3fcd126f29a43eb775";
+  sha512.doc = "1233a284b88e5c8bfb29350b3b534e7a4c81b5692a9ac7aff5d69f77210e026dede300b511bc45efd18d6a96f6df9be2add166c80f0ee5d17c93732c0c242bf0";
   hasRunfiles = true;
   version = "1.0";
 };
 "estcpmm" = {
   stripPrefix = 0;
-  sha512.run = "604d0910573b2192dd8a1fc97214a528258fb3369f28304c6dbe1e91bc85456a6fa98bca6ac7a2e08144776208e84de51a217ea0708d0214b68c470700b70e03";
-  sha512.doc = "4ace679bb114bf83f5a884d3c15ba07405b1d426838fae064a4e2fd4484a807f86b592c29456f2cbd95a439f6d61ca5ba57f81ed09bacef7294e4b8d44d2af68";
-  sha512.source = "93a9070dee14c258f1834f7bebfb85237a29bbd3845cd8b80f61a75548903f29f2cc14575851f64a9351d29bbea427b8fd3596f7c086f56195408b9375415cad";
+  sha512.run = "20213ddd795e862dc924ddd71df08752f6adda4be7a06237507cec84abf6a6ccd664fa9676cb9b275ca9de8647011da0bc731fef9344945404f885b56b75aea1";
+  sha512.doc = "c240305f2ad7a841c1d9309d1934001fc42d68819505b5c862ca8c97c5ecd7b6d2fd8a79a4273be79126d1503d968fa4649ad06e0c001f3b731e300341802dfd";
+  sha512.source = "f867a24f4bde53c0de195874f1717fe49a3869755834ba1dd0a9004e3085f06076eefaca2e83c59cdf5cdf65fa740d0df898e0ee75f88a5cb516a3cfa404c164";
   hasRunfiles = true;
   version = "0.4";
 };
 "esvect" = {
   stripPrefix = 0;
-  sha512.run = "63a248329d3245266ea84ef9835ceb2eb469fb93d13b9469af851be433e6b8353ba07af1381769fad54e1d8c8495a6e1e7cac1a2658a1b59a521c09e67abf023";
-  sha512.doc = "1885c718845210db3341732a65961244f7793c27d825e48fe510b0bc346a6cf3d7f4a44a4b432812dfd0050126a551b4d1391570385ccf8b3434b70affd53f80";
-  sha512.source = "74f75ff7824580874d1a4a6b30c3d606f4e6a407d9aa6af06713f05162d77a99964b27e94a29a22bc64843e37723c901b4174ac86c1457c11e26fefb4302ef0a";
+  sha512.run = "1a6940862940d8ca29bcb19c69817b84a7f71f7a8762d3a63829fb0e0e88eccd940f3e2973d8d05dbe9323aa1f80dc9045b531e3509239eab399f02a55e7988c";
+  sha512.doc = "502d2cce629280d7c192ad11764c0c12e65f9f1318286d1acdc3e08c9d7d36b07fc3e5939c053aa57ad59ee91e73b4035c9bd1aafee3672ddeed4a64bf3cd7ad";
+  sha512.source = "658e98e4c97dfdfcb34b396ff644fda060a645d15760bd975ad1397ca73f4ed24331a77bfd914bfe6f8f218aec9ab3fcc0a2a48efc19a0c6adc1024943584a47";
   hasRunfiles = true;
   version = "1.3";
 };
 "etaremune" = {
   stripPrefix = 0;
-  sha512.run = "5bf23fab5bee34bd020211f056d341f5f459edb3ff536c12e186468d403bfbe5862e1d83a4a2f3633b045787982eb55937d7eb5ff788400bd7ec8ee60fe9b982";
-  sha512.doc = "630c9d422c6db627c68dbf600692c7fec75fb180e27c534e62817242d8447bcf93fb3cd783c9b6587c33f71befcd7c0501508d7d8e4ad2c5afa2dc85816d155c";
-  sha512.source = "e6af96170ff5f49191acdc384737ce0912bff603f6380af636a951144681f994c96e2ea752e8bef9a31c4c1a60f52dd4e7782ac9b11bca1e67f8b8bc11e16438";
+  sha512.run = "511f84d8cb951caaea65cbe839fe83c9c2dcd7dbe0e0c3db3611d914dea475b60de029d4dbe482616e9d219929c50b2a87f6c33451d0d880e3b368fbc9f7f612";
+  sha512.doc = "4d7728be13e1454b2456e543ffb89a19fc5204e8025f949dcda7ce3b8a8b898dd9a6d96e44477cd158baad4d462afbcc17b6df6ddd9982232891e7b4ccb112b7";
+  sha512.source = "17c0b9d705cd5ea494428bbfacf73d12f0f40d5eb4be2a3b1a4e2aeb97af61d184ae6a471505d6dd604174cdf34976f9e64de5366be7877da26141720f542953";
   hasRunfiles = true;
   version = "1.2";
 };
 "etdipa" = {
   stripPrefix = 0;
-  sha512.run = "6726067f15698390c7e1153658725465ee9f5ea7a730c7064a569af1827692afb27f31f0971e0a35630968a7bcbf1783e74079f830ac7c098c8603a9b1659a62";
-  sha512.doc = "60ae9d339b09b53d18cc90947e354d16476460e646ba5c822ae89f2f4171f3d62dbd296c5df0df5c44d2b724d825033186cd99653d0b6676969a45404286a9c1";
+  sha512.run = "88502eeb78f2f5901cdfc192638501690aea861de2105445de226261c62f526d6602ab5c63f02974d067e229b12441ee6663b54769236a1e0e125896b869301d";
+  sha512.doc = "6aa2ecdb393932a485857222e66471b9c52388e726edffd0b4357e340e8a5092af96ad1847486a58d6a8485a4ce0e80e25e80ad58f60991004136739d26aa996";
   version = "2.6";
 };
 "etex" = {
   stripPrefix = 0;
-  sha512.run = "cf1c7ed52510440f58daa4dd9fbc8e29e1cea1468e6b43c35e5a34555ce63e5914cd281673ba6551fcb52cdbb6b38f33219e0b1c79ba8e342d1a9c4664a7774d";
-  sha512.doc = "be1daf0be87cfd94c42f59cd4a09d86e617b642038b42faa62dbc171b7518ae87699398a17b61f6df22e3bf9dc06cc71cbb662f800727764dd18de78c4e5974c";
+  sha512.run = "8d9bbc49c5a9747bd0469d6941358e33dd273841c0e467ca5fac191dbf5d353de19e43fa6c66b95fe5975211c01cb6dadbaffbaf544faccd3e35af0158a0642d";
+  sha512.doc = "5d10427a79c38a573036164d5de8315a80b709eae87eccc050e319435622664203b4f859a7a0875a13e444a3da06eb11a2801c44c8c3e7d5ed0241adda8b5d22";
   hasRunfiles = true;
 };
 "etex-pkg" = {
   stripPrefix = 0;
-  sha512.run = "3b9f06f5d621a5f080dae7626ffc6cbbf2cb8eaab0b12d2e5c8fdc7747fa9fccdaf2a9df42e60c3622ba317814b5ba244b1e809657c7e6b57d325a0b489b82e5";
-  sha512.doc = "c66818ca5375fbc768533ec6bec0e1002c501f49221f0822636d810641abd5b6a8a63913dcecc5b9b82ee7dd70d417ace208f8a7d9c1fd4aaa22a64be46138b8";
+  sha512.run = "e2afebc530bdab4d5384170dd807d6e39c96d5a18af0defa534106103243b0e52d926e09f3ba62378452ef643bfa8f0e4d92a3c0256847c91e561707410052f4";
+  sha512.doc = "2ef9984629ffdafdc799041127e31360c8eee80726d8c410130d61f12de306e7b4c2cc892e8012029827e8ed470f9191eebcf758830cd34b8d01593ff78cef1d";
   hasRunfiles = true;
   version = "2.7";
 };
 "etextools" = {
   stripPrefix = 0;
-  sha512.run = "54ee643db1c1bfd65e76500bd6a8fadd50ab5c8722a6d9fabf5caed767fcdb95c4e71cb8e3d88458cc92b84d6b7d4d9b7336d4aa170d24991392b3c6c4db08c5";
-  sha512.doc = "7658a45e46e6e9978cdcf0d4ee0282209bc15351ca93c23f3f9ff5205a4aec3a174eb10c2313487169b7fad5a1de5636ddc50a7a8770f6d16c4fba6c0bd98182";
-  sha512.source = "c0c2fad3b29ffe3d7b564db7dda4846e3dcf2ee703cf3386bcfef8f81dd6c68c3e3ff1440818088d8ff3d752afd0642de2de7397c183e7b1e9fd5235840bf562";
+  sha512.run = "ed7e514441de2fd296c372d9c56dd71ebd5318bd67eb4611c4bf784b16b045a08338ca4456899739dc023e5bc4695a6fd1784e592e542cac6a0564a68307a983";
+  sha512.doc = "5a8d722f9e2e59d483c7421909b4a0f8719b0de81f2b8b95801f905d478624eb4df936f193eb3e4ad1e3f0c2d844c7672a5e2ab1c0ff0654ed88c66bee4802ef";
+  sha512.source = "a2535e9648828eee76f6fe48d7c85ab4211c2c107bc91f72a944f8a9eae384205ef371459fe2df743712039eb745e48dfbcfc42cd39b7d5391263711ba027862";
   hasRunfiles = true;
   version = "3.1415926";
 };
 "ethiop" = {
   stripPrefix = 0;
-  sha512.run = "53759564ba3be8030f02f2e03985b1052f060f41a1f33060c6aa78c56f1b10dc2baf7832a40d2ec0ea1cb85831b17bd200d9ea3bfb98ced6805d3978acd663a8";
-  sha512.doc = "dbbfe7a8ab49f4780d512c232d5f22f1fbbe943f5c08283ca2a62d23c70ccb7daa71f8771c8d90c7c13090c170d8143668ccca46eec3953250893932ae17b9d3";
-  sha512.source = "5c70ee267369862577272116db81c692ec4a7c43fdc8786835066f931aa671d09614f5893ed4fab5a2da28ea0b7949958faf94746ec71d5165e594b206eb6f05";
+  sha512.run = "ad9da81e2a9af7f93c3a9677a72b80335562677d552511463c20b73df25adb0a6765463273306486e295b8c5994af03fa1df8f1e70cc48ed7df44698637f8459";
+  sha512.doc = "13e9149433cee0c44d8eddbcc6f738cf113581e4890a8728aff08a6f3f26a62617e1770b4875668dcd75a3714925db9cf5c5d9fb58a9870292bc0d22005c844a";
+  sha512.source = "46bedb27b22953ee6aab0b372581fc58186f3208c985a88006846a1f7917d998b5b8abfe463c3f415100f27aae20ae1d1648044850e6e7d095afa480adbe5837";
   hasRunfiles = true;
   version = "0.7";
 };
 "ethiop-t1" = {
   stripPrefix = 0;
-  sha512.run = "448e86842514721dc89fb6dec5017c8413000b4ecad50fde2d32986533cfc0ef1124028af17d397e6d96ebc649ebf4363f0da705c004b675a6697ba6725110c8";
-  sha512.doc = "b6a921529e18634e7a5f4f9fcb28e0ee8207b7277b73dd701687e41260582f64b5e510334a431129bf659fbf63a5b6dfb090863bb8d558e8f758d1816d3faa03";
+  sha512.run = "84f97fb5320ada95562aade797fdb62577e533feee9d7ece5cc51e17303012b198c0b1e6b4f720dc1539c4cb917ac71e3da6f48776d6fcfe84d4527ffd7b78dd";
+  sha512.doc = "81f2ed72d5cef9119c94c4b0025e31be6739153e36b7b31a2c59b0cbe5a683a67746da8346345d561472fdbb760c07831d1936222ce1388ee12d70c9053ca8ac";
   hasRunfiles = true;
 };
 "etoc" = {
   stripPrefix = 0;
-  sha512.run = "7179facd22b1fe974b4420c19bc241a0fb047331f1d182c8894713029d760e0f04e2e85d7ca7661f2a2c64503ac4f089f04c58899869aa3f8d193a614b095515";
-  sha512.doc = "714118b62079ac9aa0a0df785c62dede54259a75351e8bc5273a9c4bb048d835bbde9ce533a2b1990215c3aad434934151aaa16f300635a38e1d60d6c9b7be0e";
-  sha512.source = "5fbed78f92e6ecc003991240c40031f74e36c26734c46700ee218e97678c2497b18b439639231e7c473766124d04367f15a8384a804e13d00e7b99a05fb5f492";
+  sha512.run = "f513ad397a4c48add5b1eb21714bacc54989532a9ef56ae2e7d02254e325acb430a1bfdbd9d90ec8bd20c5ed473c7f8a73b3f2ff615690ba85ae2c69acd283f5";
+  sha512.doc = "e4363e5790dbe31c12e3c4392285fc3edcc3390af6ca66d5fc98008110c35c9f9eaea38ed401315b9403368ca4a977f4a926ec59cf76f70424c6e59bc52aca14";
+  sha512.source = "895ad1979e26e8fde07f5df98b338c661b849e4f67f5db77df7176aa7bbf37183c377acf19d9fd92259ce413c4efe5fb0269a854213e565925d826c9822a7939";
   hasRunfiles = true;
-  version = "1.08p";
+  version = "1.09";
 };
 "etoolbox" = {
   stripPrefix = 0;
-  sha512.run = "10df1906c7fc0617ca28164da6002c47852316684b15f0cb871082b6556c8d8f1710e9378b8f361e00a77eb9444a37dd5805a5c3003da8e7e55303f4714d81b9";
-  sha512.doc = "b180fe1229785c301dbfe0a9c58534482f55190d895595c21561694e7a26145cadb54bdd61e82536acb1369e31b1f0c143615a3cece41b32a295d760563f2f87";
+  sha512.run = "f614e649193857d2348bed9c9ce49a64b78e0c165962acb51bab6b340a1b7397793ce07d649808eb04322d94c3df1699ed69164c6e4c3583600f9adf542650b9";
+  sha512.doc = "89b5515a47fc18b6a0a2e70712b614e5fc32ae537c632e431be1ef1e8c55ec2791c7394701e676b0ee6cbf6addee38ebbab67e60d67a34118381fd4ebb0bc0b2";
   hasRunfiles = true;
-  version = "2.5f";
+  version = "2.5h";
 };
 "etoolbox-de" = {
   stripPrefix = 0;
-  sha512.run = "869b0fb0639aa81f9d0eef63aab1157ed954fa67c6c19b08a303c7b0aa64a26fae2eb52d231bbb4f29c15545a0922ec7b959ffacf52bdabfd03607bc4ff059d9";
-  sha512.doc = "80bf5e65b40e8ac339ad8d73991c8d845c39e5133e2957128ca15d6435ab6036c383fbfdc506d4a17283b9bb9f59ae4fdbc8f09a2af07c104e731337f3fc83cb";
+  sha512.run = "cbddbd599e10b6409db5c9f9d27f35b5922bba82da39b19aac010ef77e76a29465d91c10a40c578e834acf5d9ade2d52baec5cca06eddc802eabbe599fb3dd28";
+  sha512.doc = "4c966dc094430caf72e462c1a854995fb78b54dca84322233a16508e41f33f0dd71db2b997b26beb7fd4722f0df1695a118ef782d7954983e9df3ba2132b828b";
   version = "1";
 };
 "etsvthor" = {
   stripPrefix = 0;
-  sha512.run = "3ffa08004d3bceadf2f2c36f15c88e3a5facfc25093d84444c21bf64785a7d7f72ca7c65184b72f138638659fbd1c27a079681aa146404019f0fc8996418c87f";
-  sha512.doc = "2cdd0c03bda04e06f90d41b1a85088cc7e351f3fbf9fd129dd96d66ff89b7cd75e9bb00cbc2e4f48411b2b549af4e77ad04316f38413c872693a5d01aff8fa2d";
+  sha512.run = "c70654c50e186f73bd6dbbb65cc40cbfd809a86de223f96b4bbd1af94fc5fa928f2400eca58d6a97e5578186c58cd038a99264a412d9bb7fe15a01d7f3aff8b9";
+  sha512.doc = "47c9d66a720a8225b34bd0571c0f0da18fc72fb5f37e4204e7d4842facade9a0b72550351c0743dbb9296ca8bd2ad61036361f0cb7447b06e0994fcdb7c657b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "euenc" = {
   stripPrefix = 0;
-  sha512.run = "64a1138033402ce014dc1cc68e2981c8fbaea03d4362d8d5acc38cc3e7263b281d43a4b15dbf72b25ea05ad5dbeba9709a733b6be9078ec77b5af5ee1df23d48";
-  sha512.doc = "69bdef150be2a41c5099c111b1d915e0c82cdd498863b94c798dbc5bee004aa43331464923ec40bd15cddb53a5283431d00e089c3222f0901309739b1cbd44dd";
-  sha512.source = "339f1ad3d889ad88e57d14022f692e79ed98224953f527070dd78604d97ddd10ee7c194bfa63b561ba23cdf5ae450f9b840b2c04542c1716f64ce74fa74f5637";
+  sha512.run = "f5968e42b36d9c3ab7ae17d156283f8fc09f0c725dd1037cae3b232f94af11a8ee84507efd87cab901bdc8a34f0f72d831a078de205e9beec81c574bb65f79fb";
+  sha512.doc = "ac8d4e83ab23bf692d609a617bf8aacd8b33949e0bff1070301b8cad4e91f2a651555ffb44ad70be99791e64020984fe07afbb25976b73963abc79660eab96dd";
+  sha512.source = "4037c8f9961be1f4cd6a41d0cced28f4bcb54e5b7c4f9681b702f1d90e425ab0c772561b662fded93a0c469cfa1c43967fdfb3eb8c9e0e8c86d8340930565910";
   hasRunfiles = true;
   version = "0.1h";
 };
 "euflag" = {
   stripPrefix = 0;
-  sha512.run = "15be1fade27e9ec6d850e3fa141ddbc532e0583144f560ec9ccb2e930920a62f85fb44fb69833d26ea149f6a731c5ad89cf24c52288988cf823cf25226d5fae2";
-  sha512.doc = "1e479aa6a0f1f019dc6fbac8fa54e3f34557f285f673174daad1b9763779ae3b74ad8f82fb746ec30b4adcdf262eae73bf7bafbfba6f58c3ae43af922f461a7a";
-  sha512.source = "aab81853918f589a3b5932fa13f7e0f449baa16693017d86137a466bacab4b44ea31592932ea8dd803c68e8c9d8c547d395f4e242c1f1f08fb5ca00066af7356";
+  sha512.run = "e046d3b4b0de99d6669aa7cb62b4304ea8c2b83bef6dbae7d997355bc97ef07ffbad6ba139a4969c0a99307a43202566a283a40de1a69635d09afd9256ba0a51";
+  sha512.doc = "e0b58801624084e20083f1c92ee71dd6f53b75954cc2a63c7f99b2453d3925e9d4bb9509e86cf3fec3bcb2b1814ccc6ec27bdb08bc24f23803c0349dbe1a9574";
+  sha512.source = "2365d9bf74ff4194060edd03776363d3890c6cb3ea4da741413fb7a2fb03a79bba1c0775b287a82c9b30ec68dcc3db3d778460b44f5e249be5f21e130e7e52cb";
   hasRunfiles = true;
   version = "0.4";
 };
 "eukdate" = {
   stripPrefix = 0;
-  sha512.run = "38935de0c71c18fa05511bd809dbcb808ede10e0f9b026999e710ee1d0ba52a01fba4e32edb8614cd37cbd4a5cca3cf71cf494e159870a59efc160b4a22a128e";
-  sha512.doc = "5488becdc0cb30e23c6add2193a9b10ef058e7de200ad54119c11976372a71c181a8a15df63ecb39298c4466b4776ffb50c5303fc9e603f14fb9d69ec3ff5ec1";
-  sha512.source = "88471f75e44dd51e7bb9d71f23748dd1f4031ea9cec8406fb11abb1e29a5cefdefd516fc6b31b7cf274f80258665c7ec404557743236ee3efdae3b4aa7d58821";
+  sha512.run = "4f64df42384897fca09574330d919704bfac2115f330f8ef085c9be60b51c64a9f1f46c10b863e989b9eda6559a3e2cb2388a59a997afad73632d83b02177b3e";
+  sha512.doc = "7c79bb48296d491816b5e5cbcec389fb7a2a200a9b8e544394a8363b5b99c7ad36b332c05968b98c1bfa1caf04fb554318494cafd0781e25ecbed532c752c65b";
+  sha512.source = "114d472984fb42b7043762f7f76e1ac384ca4efd338b7ea1815d25178256dafdc2c83323cdc3e4c1835fa8d3cb019bf0d73dd3fe82acae16b41db4e0c76e81d9";
   hasRunfiles = true;
   version = "1.04";
 };
 "euler" = {
   stripPrefix = 0;
-  sha512.run = "d7fe30994bf26895f51bf00b9cd3220184558067fb41990e9832ba3f2ac35f2703a398def670ea9a44474bfde87e6b2b745e25f8ec406984036e3441330ee728";
-  sha512.doc = "143c3c2118fe71d091946ccfb2494b2dd0e8bb627579620f021837c72aa192be9fca2795db6b734bc2da5a3239da926927c12d020022fb5ff0014cf7c321e06b";
-  sha512.source = "c7fbdd3c93a9222286ed0222b2e170fa66ef782a65d1bec787a0e8e162edfd7c6c911f8fa0058e9face0b415b2371af68ef1c5a277682d110db34a1e88892937";
+  sha512.run = "3b3d383a2f715f14dba0ab926d3df9d10ab63c06d203c59e551732a7f6af4ff8965750404a37863c91d3fc3db7d44d1a279d03839162fde9d8d9fd849f0047c3";
+  sha512.doc = "789c0b35257ad74dcddea589eed36f0a3b86eae3b201fc708c13cb11dbedc5b489d1495c218f9e10558b8977658b72c345a5622c10b8b1d7ceb3065a6c8fb9a0";
+  sha512.source = "59e262e4ebd3eee88828fb2cbc91b55ffe962e2bfe662df5c052075cf4fe4b9b8580ce217e38e4709789a0e77c810f9681ed3cef95f10709c54da5f1dbebd73b";
   hasRunfiles = true;
   version = "2.5";
 };
 "eulerpx" = {
   stripPrefix = 0;
-  sha512.run = "d535ef04ed81ed919cb14b153a9294ea7fce21094f59991185a12b3f2158c1a5b3dfffb8efb0421d76cbfb2ef4ccd46645ade518be7d3fa86d2e93505fa789ec";
-  sha512.doc = "4881dc6e74d0c2a465147068f64f5277915b9e9392ecbe5308a036396eeed549153f1de90985865a56d75d9ca218fe58719950377fcb474999fae378df973206";
+  sha512.run = "1dd4c01260b9f2cf7053d7867530b1383a1b1218719a5a58895bb56e61416f9a93199218670e88cb59f0d87e65efdd7f10a218b45a165894c13b99330797296b";
+  sha512.doc = "d755e9694d0631e80ccf81f78a2832ae22269ded788fd30f0acd83a4044ddb4ee4308c26ae5f79c0510a2986f146d28847eabe200015bb197805d57d149ba20e";
   hasRunfiles = true;
   version = "0.2.1";
 };
 "eulervm" = {
   stripPrefix = 0;
-  sha512.run = "cc21a6eae46871959eb23ee03136d3a1496993ead66cf8fa6ef7193ceea6afdda79e6a290a4d880618cc09bb5e1b930669879cc9c50087982ac17a422c32ff43";
-  sha512.doc = "70d5e1be5e7c0398804347d30ca75d3a6840793cc4e3628799e4870bd38bd4244da94962945246c102d25e3f9f197b228bfbab0845045d117bb9d588b8fdfd7c";
-  sha512.source = "3f2df5a617f04fe8b770117ddf28b30b20ecf458c78c302ec4b2f15a8e6434e529aea2cb6b69c2c9ff26e059a682f4f37114ced73dfbef7e9d2261c6b7b36842";
+  sha512.run = "f497e30a188bd0d6cb66795253b35f6a108ef11a2924da94110e5a2c913af64826a21789265bf7f2b15a31a914b74ec171fe3c3d299b1164801898c0d7b0e7b0";
+  sha512.doc = "dce6b483aa0d8ed6d6e607a0a518060fb290b25f04306ea4ba50f863034aa3184118a7a13f42e89fb2706daa173abb7eb5c2bd433eb038aafd1f3a8eb9c17995";
+  sha512.source = "33ad15486b813b4c4cb7758cb22acd59a9578df070857483e6cf7997997437df954619a197c4bd762c38417bf9841c06db446ee74939b8eeeb6a0d3bf893f5e4";
   hasRunfiles = true;
   version = "4.0";
 };
 "euro" = {
   stripPrefix = 0;
-  sha512.run = "86721483f866d367a2d5733ff4fec6b3b85a6fdef9b0feb80b2ee87234132aa99b5e6cc4f86ecd83d23b238aac29933b3c18787fc3940a6d915413fd7a9d19ad";
-  sha512.doc = "cdde695a635ff28d4977b33f86407ce7ee0ea5b5adafa2ad5adc27b7dbadcbc2d4fe07d34a7461d5268b3b73db8a886d3e371022e5d22c06608686ff08f21700";
-  sha512.source = "636ca697b2a2a489b49749e9057d21621959d67c404a20b904a889055c277ae4711bafe995831e10aba9c5362734126d9b13f99b3bbdb0cdb35e2feb6cf7af9a";
+  sha512.run = "35a1c763998bdbc3b3b54ade3e4887859aa9d166699ccfc73db432aab3439be075d858e88d3542c25f8a0065301f0b1fea9bc368f85ed767e9deafa090f35beb";
+  sha512.doc = "896a040cf80bec968e4fed5b2bd774e433997d336855775c1e6e5215cd6d9bb094550da324a2433d4da94ead4af3cfa6b192382efa73bb7c6bc951c22bb02fb3";
+  sha512.source = "cf587911ccf53bd78d100221518aa62595279fd5880152d715950ece34b23eb5ef39b0ec190d2c5b5060a4f68861a8b9ac2ef93a3a6f3dbe3b85223dc386bef4";
   hasRunfiles = true;
   version = "1.1";
 };
 "euro-ce" = {
   stripPrefix = 0;
-  sha512.run = "33ab79909ffeb2c66b406c337d10da58cc9608be8ab65544be5825f08a7bbca993440e53534a87960433a8a83ce165614becd32298ededf508fa43cdce90c2f6";
-  sha512.doc = "baed65a37954162826df93acecc031437514722a422dc61972bab10663b1df65379bfcb2cc690173edd4a9404423d8e289c04e167e1733b1cb6317c64418b1a1";
+  sha512.run = "c1a864ebf022c8949b62195be6ce857ba108b7f930cf6e0152d70b7e3283e09c2f93fc670732cac79e3f48b860431186ea903324a02597b2a92fa43a0819b57b";
+  sha512.doc = "3a44189546231f3bfde594142e6901a69f6e351e1d04203d1d646c476ca330431c0560faa79fec79485a4092b667864dcfb522ddf9a56bfc2b2ab76764b3852e";
   hasRunfiles = true;
   version = "3.0b";
 };
 "europasscv" = {
   stripPrefix = 0;
-  sha512.run = "06258e512888fb656a55c7d29f9a2561297e6ca1d92b1e9a9a9c91a5caa508bb55ed1d2d5884a0b5bc79848bfe20c96895226be0c4cb92270739e8e9275023d3";
-  sha512.doc = "652cdd7b97187320ad46df3b382017c43c05c51db4bf1e34686d52acea0b0e1df7a4a5de07ba2e9a729cc4d8bc6c3bfbeec67ee46896b989bd13685d6966bdfa";
+  sha512.run = "b47453280812327a1528e7d2a484e0b92e5464381bda11b715c624bb8fb7a1f57e3df71ccaeba7dbe8b0f757297ad3c4515aed773a44bfe78efbe9f64297e180";
+  sha512.doc = "e9041765db618541c6aa9a4142b047f4096bc335a9601186a26860d6b594d6b6125c0f5392fb6dae9a296392fb565ba0a8c288155e8d99e12bc12bec0bedf52d";
   hasRunfiles = true;
 };
 "europecv" = {
   stripPrefix = 0;
-  sha512.run = "9fead1161da43333206095f00151220675dc27c7381de054f4b76554425c717692fb203293758bba7b9574c375d0ce6d9f00d0c08ab17a1f719a7f53da56e5f5";
-  sha512.doc = "47018e8587b3f917052899c7e8401509ec069c65da863ff60ebf0b0193c02c7f48c55013c2e31630ca555c7f17f9f96b3c4fd1ef82f4cd7b4c0519710bc922fb";
+  sha512.run = "474af2851e52b5b4b385ca9014bb6868494a6eb06d86d9ba7ad62cb5defca53c094a0bc3a91d62cc8d9af656adf8f8e8efd577fb6f3d940c134842d1c6a172e2";
+  sha512.doc = "fa6a2a0d208b7e4d87e0927d858719f522dc8ea8ff57e9db391372138b2d20447e5835662712bd81520868a0155c5209f6336a7ab3a14ff811b3da04ce11662b";
   hasRunfiles = true;
 };
 "eurosym" = {
   stripPrefix = 0;
-  sha512.run = "f2e1ff317bb586be7f3c80780dbaf74fe27d76f18fccc75bf88e9031f10d58b0214e6b49eed72d01c21597dc0d9272666084b057b0008868dcd901ed1c55e66c";
-  sha512.doc = "49eeba025196c77307e84443f362f31d46ab89c45ee79edc43a8b46956d95b76d5c63a23c5e1147d3c2326bd65eff04eaf58bcb7e18c064b51d99dfa5dd56af3";
+  sha512.run = "9624b0a91a8491d4178051e8e8264e506725ace0eb1b4e4ee9f3cf38cf7868d392f0f4fae92947c74182a6cdf7d4cfb46319a269e4e3aac686ecf4a4cd2f7b3d";
+  sha512.doc = "db226757ec82087da3e67fe69b5e9c2429e3cc2addb126bc528dda8bc421a4e9da2a367e64f119eb109e8898409a4e50177b81f9035ed1e0672bb902836bb61f";
   hasRunfiles = true;
   version = "1.4-subrfix";
 };
 "euxm" = {
   stripPrefix = 0;
-  sha512.run = "445033ad32e22be93ca0b29c69ada6016cd8d34f1eaf90a42678cd07eb44fa692f243746b673e07922e1ce4efd22e53ab2bdf26aa7b6262a23293f92d2a9145a";
+  sha512.run = "93f4eb11247f8576241a57b247dc2dec20405146a0749d54bb8631875256fd262ac06968901a8682f4d530ae68602af366fdc3ceddbf0fd1042ab95f259c3775";
   hasRunfiles = true;
 };
 "everyhook" = {
   stripPrefix = 0;
-  sha512.run = "3c5262d7d994eaec11bbfc7a326dbd0e687b7bc951142d54b75191cb0837c808f1766346bc368ee8f2b8701e4d792d5f594fb73cefa2b6364dc98bc0a9c96b80";
-  sha512.doc = "d205c8b10663adc2c1f93fb52af2a74b4726c3e6491278e1357cae58419d9a991167d62204b6fa9545d4afef6d5c5b05726c21210d9d432abd712c67dcfd734e";
-  sha512.source = "ead4d2df08498a3eaaaf5ddc9600db7a9d75c12e8cc180e910b90cdd0c134bca72a85bd538bcd67ac9b66360ad4c4407b3449766b609bed7e8c3e86ea4dfba98";
+  sha512.run = "56547973d184de21ff5d6d3eaf1baf9b8cdbcf93307c31fbbcf658350ef0d441509ce359266ea6f962ef9b40b1680b47e4c14a822aa043ab8174ab0610df1665";
+  sha512.doc = "331def0138dac385605b3ea1d88af6d5d1ae29bac696b76f41cdcfd070d50915eb3371a14a894b1e59bf35d55eb7dabecfe18e89f0bfbe6f028ce5fedfe1bbc2";
+  sha512.source = "ba0d5e3f2661c4b5ba765b7509675f301dffa3fb3d9f158b3c3255d84b3a5620ec4d883a9c2f116319e6c70784eb5efa4a1cac270d1a299b23bd6fdcbaf60b2b";
   hasRunfiles = true;
   version = "1.2";
 };
 "everypage" = {
   stripPrefix = 0;
-  sha512.run = "c4ab90d1668d1b71393a07d6be8edcf493aeef5084c08bc057e759ac857997cc5f4647514f9dc8730b66d3379401055f23fae393ba6b0c882bb4cfc3c33c395c";
-  sha512.doc = "8c017ea944d9a4a22a2cc554f57ad2c7affadfce379a9ece6359aeb33503a2853ab138629d5de617fdc37e54b4a6478a330c4c5dfa157879e0ff67670adbb122";
-  sha512.source = "ab3aaa2b7e4e3793722b3c76119df69d9d50a9879b053e50f224d0956937fcb52924051d3ba45a5c1b4ef850ecf590e169ab1268a61a4e319881362fd59117a6";
+  sha512.run = "6f4779a2a0e0d2352b702652a583f6ea7da71865196894b88b630e1105e56dd5ea525cbd4eccdebe8dfa347716c192fa098d5eb8501f305109b337b266e7ec2d";
+  sha512.doc = "185bb6b87896f43472d8c902cfda976139d8b1df09c5eff75e8f579314867dc05b6c215f0dcb09a3438f7279c6579ffc8f92fa7fc682fce18ddf7f080e0c6e37";
+  sha512.source = "ca04b157d255502abde15994da4690b99e4c6d015c86704d179001b3412e9c9170a040216657ef5afb174aafc34d4c0501b51155b84164b17401843837a9483c";
   hasRunfiles = true;
   version = "1.1";
 };
 "exam" = {
   stripPrefix = 0;
-  sha512.run = "a402b55a310bd6d112dfca40fe3805592e5055880a539afb461f50b6a50a3852b2284cea7d0c0c1d7ed2c1e2495bd9f4fb161032b558df8abcd3f0ba1eb9509d";
-  sha512.doc = "a0c84a0784c49af226eca562ada98d808501a09f9915e1b97ad417fbf8fb4ce1ec5c5564cb07962d76a30436845fc2a52295de9b6f5681e302043f6a575dc3ac";
+  sha512.run = "77c488cbfa6960df070c9898d699492826751ab5cee72a4e1f51e839b6842bce910542d02c42f3a87125f4f3ea25b496092c26d0eb698a50bcebd8408efffeab";
+  sha512.doc = "7b225aee549267ad87b5e900570e5dde87e2e77d84a42f33043d760331cc71415f76148cd30245612ca8e566930531c07b71508f50867b4cb2c6ada659f4a2e8";
   hasRunfiles = true;
   version = "2.603";
 };
 "exam-n" = {
   stripPrefix = 0;
-  sha512.run = "2889e6a494930487a34a26871ce53b93cd9f9f1210de6507b5ed8657e5e86d528bf4ed926ae999e2c127c41afd529dfeaa7bb86482af78bad0eb6452cd386728";
-  sha512.doc = "fa187f29eeb05edc50a6a6afd2c4ee5003233b4fbe9601fde5b2cb112d649d58dee56836c6ee1efa7103cda7c27084acc72b803ba67d38a2ff2a4b237d4b1838";
-  sha512.source = "bc53ddac6ee065de20ab89997f437e532832344b95bf0b02241bee760755807d603245e0029b9c25c99bb0999648020d485233fc6447d636da566faef6b20fdf";
+  sha512.run = "6cb28928125f1164fcf2a78980345373a094fc1a2f2f22756c8f9b27da05b88b6011f000508354b4d73aafa09a2a877bd0e6913a274518b471380074762be392";
+  sha512.doc = "502d6fd1073f4ce68477e6be652dd131bb0a74818df2b1fc6b0a97aafeb946de1d0fe3fe90ed5843bd63305c528031acde37697cfd756c9839b083f9926a363c";
+  sha512.source = "7241ce6d5e83e75142d8f3df652af4eaed554a7a2c93ee3b2868bb8c5918cfd950c7fa1413464604607b120eefed14fece4f801b08a6f0fbbded59f29e8ba620";
   hasRunfiles = true;
   version = "1.1.4";
 };
 "exam-randomizechoices" = {
   stripPrefix = 0;
-  sha512.run = "5eb6e6bafc0d2f26ef0d95390e4ce02b1596b430b05893853712839bedb3df6d425f1fa61ae193008348110dd7d87e04dbb90e6612ee4e8f9051d766ab22b99b";
-  sha512.doc = "9914509b355d4159eedbe5848646a20b6fd42ac1b3300d64138d0cf52d3db2eabb27349980d3ce1dc90a9e1bf45baeadc15227095ada2d7c4842ce7225587591";
+  sha512.run = "0cb93637dda7a7813f8f89dba62db03cb1c1c6da5ce5dae596a14321fab8c46a5c6d67432c31855b66b37b0eb9086d23b5bf2881bf8fa41e410ed7a4724d84bc";
+  sha512.doc = "74daa43aa020898bf2a969e5f6fa09aea190209dd71eab222dde2b30cf2f6e12936b454a62b328aee59f6c3ae13bf5f7005ec3aba66766ade77672f74bb3ee8b";
   hasRunfiles = true;
   version = "0.1";
 };
 "examdesign" = {
   stripPrefix = 0;
-  sha512.run = "3dc287e5c6e51597689e82b738270dd57d2c63463717f9381ed992e421cf70fe37dd1df808780177904973f2fc916feeb695efc109dcad3230d9878400d7b6d8";
-  sha512.doc = "97b83f9d5bfcfdcee45d1a35b757d3f61d33bd899aa2a2f86c15e12698bd0dc8e48a04a4b31be63c55268bb161923e11148b4ef68b3e6cf60672faed2f07b8b0";
-  sha512.source = "6a287a229a70f7aefc5e6e1c12964fcaa7f084c29e42aad36f7a589141d2b12fc46dc21d8b31ccee12b9d2de90d2e6b7a04428756a3b36f5f332500136d0b711";
+  sha512.run = "bf052063b16056faed35007a5e1b6e2bf4f116388b2698c24c7c00ff257fde4f0225f138af6c011f99d051085169b51357c8661647f28be07a7f6dfd330ac10c";
+  sha512.doc = "1870e3732933e0d69f52eff2c403011b09814938083b91bb428c776ef50140e1b43713837e018b09e8340dd5e47811aa1050bb9f90b350aa341216edb00c2a9b";
+  sha512.source = "8f755df76be154c4a2a1aa6d2814774a0b9398d0b64f7a59cd865e92e805dc3bfc84026a18dc449a2ebd6cb6215097e351037430de19960e957f314ae724e244";
   hasRunfiles = true;
   version = "1.101";
 };
 "example" = {
   stripPrefix = 0;
-  sha512.run = "3e6427f2b0fc965e97f7f9c1358b7c80a859fa4619d0843c7426fbf4b2a9d347a36945bd54698c7ba8c44032d4b6757307a46644b185cfabbc87bdbf84e4489d";
+  sha512.run = "2f790c1bb8934e1127ba64c61ccf0d9ed503c01cb8975c114257a2179db7d88b4c969475b0e357d17785fcf7e42487e991e176df3dd7a1be5db4cdf87abb9cad";
   hasRunfiles = true;
 };
 "examplep" = {
   stripPrefix = 0;
-  sha512.run = "7b56e5ec0bd53a52d5a1630c618b7b4e2f01931da047dc8415d085dc954d4d984dd9461f10a1be99929db51a9ed32b3d5a09cd4a0bd0158c3e482c1585067ad2";
-  sha512.doc = "94680c5b2015d29df39455bd29d3cf8b979263657633f0dc8d61667238f0ca2e988a6cb63f173036cecc6d6c470915d812ddcb5e6814c50f863a3406324ebe5d";
+  sha512.run = "1e28a283a2d6d2ebc0bf7acea39bbc97c459defd6115e125c6b9482f880f59ac5eadd715d034b78f5690806345311946bdf6122db9b41e2da9e31d730f2fa82f";
+  sha512.doc = "f72f9893173263dab5436911b2efd5143a52dc43b24b470fbc315c69eaca0d326cc36e5254eb3f93f734a3240371e9aa2462c0c016659088014ee5a63cef756f";
   hasRunfiles = true;
   version = "0.04";
 };
 "exceltex" = {
-  sha512.run = "4175a2e4d9f5fbbcb441d9272ace24e567c0ec2cdac87f46b78058cec84ad4f1c8e62fe98d7ec20a8a528285129bb73187be40ca814de7f220997c5490404983";
-  sha512.doc = "f53a69468572e296c27665a86d81de4e66b780e8972c2520f35db37b54ff9dd9b1fb26355143008d0866c676e9fd3dd1cb256c00f5b24c696ad98c2a3a550003";
+  sha512.run = "ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613";
+  sha512.doc = "a6c4ae60f2922af773f67494c30407b5b6ead39def9253b4710940774e619496a3c242f7e9bcc8733fc733234679bb2b01c6f4571e30dca16c8eb15ad8d6d01c";
   hasRunfiles = true;
   version = "0.5.1";
 };
 "excludeonly" = {
   stripPrefix = 0;
-  sha512.run = "09846074e61b5297945cd0f6968fd775eae9aa48b3e03af4829664601d5f41b7acd9f42db9f960a573d276a1bd68f837455651d3d31cebd4db56b6ef55ee06fb";
-  sha512.doc = "c1e8503b7a5ab87913b58184e61cab0329c6b39a38f0b4aad4c016aebfe41aebf775f0c68c9e18524cd2d4890416dce429e5185614ffe992c8c538661c3c1c32";
+  sha512.run = "b83426d7ff334e64f8a5566fa905f1c03478ff68da5b74b85dfd6c872db7a63454f627db4e6bea48f8048da0d84bd80b269cf5cd3a5b487484dcd8f2e21c5058";
+  sha512.doc = "11f1a4e7b0bfeb5728ab632756fb612b784e7a8b46e68c2e5cb3681928811d394ac0b7f508e7c655945209b1e75837d4ec1a69bcaa6b0ac8d45d66302b4bcb13";
   hasRunfiles = true;
   version = "1.0";
 };
 "exercise" = {
   stripPrefix = 0;
-  sha512.run = "adcb9044d1763933d07d2c52f718d6a63b7f4b361cf0565bbbdf6242c319f2fb589df02c8548cc3d6ecc04660b5a832c46377966dd31f1f15c70adb431f5dcd4";
-  sha512.doc = "36ae9e179a3835e18ecd7f512a1708f3f70a6eb8df762a8bd6578b466972b2f7ed9a2404338dcaaf9a9cc535b7dd8550cbd69c53e5bb4c03ec765af94553bd75";
-  sha512.source = "d13b9f9ecc692459d86d7ce4ea1eef12bf84de86a86f10334adfb52215d7d768cfa75720aac24fb927c0f1f5d38353ea66a4a07c10ff86b8bbf8dc8200fffe85";
+  sha512.run = "8de2044404690716d781a3b081181d9a14596487213762bb1ef426a0951dc18b1097a4cd8255bc7094d9d5e7f874e68181849c173a4932e7d07c46e14d1609b1";
+  sha512.doc = "3059c297ecb8a990bac32e1e52bcd6fe39e6958c96c145ad70b937ba89284a6f447a84e2f144d31aefa1c446331c7ce80ccba926e288d7ade917c7aa68095076";
+  sha512.source = "fa76e8b16def4f53a968c897e12e37707c054c3a964f14ee9654bae4e7285a3d300d62f0a79ba7fd80b2fa15e9a334bf38f3a744f0c0f6c32659853bc9b57855";
   hasRunfiles = true;
   version = "1.6";
 };
 "exercisebank" = {
   stripPrefix = 0;
-  sha512.run = "97e636b1f3d1a3ae57d9ef45857f2ed56fc0acfd46e586bb66c1dd1d12eb9270dde88b4fb41532a2f60f4e54308da8a63928e3d796d366430a981b15efb03848";
-  sha512.doc = "d9864d6f97e52e5cf247f09bbd09c5e517ffa191ccc54cd37df130eea5e5fcbaa7736a77f0d3dbd97a6c8da118a1389176a855a2ec5290758c0ce6105d8793f5";
+  sha512.run = "6398abee37218c1c4b0e21f7dcdc82b49985888c8e5cc4702fbe20942471cfcdb8bb37c66edf2c6764d9a38dcc932b8584f65bec8dcf75ba11c738705a71048e";
+  sha512.doc = "d7b262b7a9ae3a45b69112e2924be8ec7cb2c13a8b973056e849cc5a0f4c82f85d4b5887a3286360b38c3459bc99ea9d917cd1084d6abf1ffc343d7ab522fed8";
   hasRunfiles = true;
-  version = "0.2.2";
+  version = "0.3.0";
 };
 "exercisepoints" = {
   stripPrefix = 0;
-  sha512.run = "5674888f366c9bd6290eaab935a7196dff8f2d9b2739eb5cd6b3cfbaed2c5d51587699ee4630fc8ec3909f51af82d054f80674cecec74eb541e4bf627e2aae05";
-  sha512.doc = "01551f962cbc0d41580363e722bdf75fce5530f65c0b9f833a9baa93f6bd9ff11410351ec6a0a8c096367c5db9461f2c4a2358ec09847723b565a57102b24f17";
+  sha512.run = "cc706842f62ffd982dfde7f503f226c7f7050099b581dbef6e5e7f85269e3110a738232f1a99752b353a54a91ae5ef145697ff36ad9df1fb69ce1051bf92858c";
+  sha512.doc = "81493e680086ce4d833e8e9107a056daa4e74e321964f914d8824e25b4dbd6c181b1e10d41ceecf27d18baa53958babf77b0edf4c0234e0b80a8a3f5ae49c348";
   hasRunfiles = true;
   version = "1.2.3";
 };
 "exercises" = {
   stripPrefix = 0;
-  sha512.run = "e61c9c18906ba8a36a3025e56e89799f9b0ed458bacbbcdb03c024ee86d7723bcf7d6a89a0f7e123cf2e24f7fc17875f9e76e00b669af17385e474aa60f8fdad";
-  sha512.doc = "83cdd2604acec5f48afcc7f2c7533a9bd783219cb379fcef43f9e9237820d939e498e7e1beda8f73b93ac78b2fbfff61702e0c660547c0393cd8d62388b1249b";
-  sha512.source = "40c83ce9ab410e23765ad71ed3601a8610c1528872c0494ba418c253b9ad985a53c4168cf48a82b6d89fb3e07a632e78694cacd961fe88160b340593bf8618ef";
+  sha512.run = "064b8df6847af6e8464989de7070ce1d5282a050ed89016ba9954767c6f175882ee11dfc4c92791f68f972cb7dfefc801696a10a650b7113e93dfd9a9fc1adba";
+  sha512.doc = "7108d509ed012d1560bf19205e45a2fcd09311c50e84ea4dcd87cf17b8c70d4e5496653d97cb303d32783fe9f1d29a17a273a7ac6808ec384b7972dc33106c87";
+  sha512.source = "eb788aaea48e5f9fed1aa8a9ef47792bb24734c5309b74e3554ca22618c9f35ddcfc1b5496299783584310ec7ecc406d8679c7d90a936bbca5122ca665bc6098";
   hasRunfiles = true;
   version = "1.0";
 };
 "exframe" = {
   stripPrefix = 0;
-  sha512.run = "03e07abffe52b3162ed0cd07a09a73c330bb729e3fa5102b358da800cac4d5d9830594a2e0f6618916774d325ee27553735d0bc65387f8c0dbb34b390391e4f0";
-  sha512.doc = "b61005d59de06a4438362d41920bfe6ebfecc5d8883d48956490a2f41aef2c8b7c08632f0f47616ee523465802cd76f88de97bed694e0e3fa19d9642976aacb8";
-  sha512.source = "62837be5564887d4f1dadc708fe8945a36045749f61fc736a7177a73bce70485351f3a692192eb6831b6fedd4d9c0e0ec4d1e2308a2e6b6ea5f2d19f0c62204e";
+  sha512.run = "36fc2c125586780b798225fd4f3bd5d089236b7d0b19fadaa92911fbc47e9bd47cb5d6e6f31e42262c72d9ac1053999ba41a4dd23054abfa43283b7a0e957b75";
+  sha512.doc = "9697e6388b7a1c1ab96ab945d5da34249425c460230b9508d9c3386f3c2ce0d969a2dbc20cec96a3390feb3e81bbd71ea13646af3982f266dc73031d3663ce6f";
+  sha512.source = "b8348107fd677a900e4a8f3f5557d9b2fd6cf154359a1ed991934f74db331725ba1c790b99b9f291dd975873050f5cb5dc42f9a094839b8d482c08e9c80a2dc1";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.3";
 };
 "exp-testopt" = {
   stripPrefix = 0;
-  sha512.run = "cf6c61e036488ae1f273f474cde7c54b91427db8d73e96dc39f6b3951df04cee1c039f40b52fe2918834422de6f28637498d127b3449d39141f001a7bcb79f34";
-  sha512.doc = "3839178742aa9a1fd3c4fb61a23044404bd8d5d9f4132831a3d7bbb020a75e13444070fa0b33881cc06a529a3661a50822e1ef6f5cbe21b58610eb3475715b45";
-  sha512.source = "f58044277a2abfc0b51bf3140fcc18fa5d2e826c566ff1e7faecf1c8c7279e416986429e7ed139b4f29e75122a0777d5798c361b8ebe1a003e7c933c460a1327";
+  sha512.run = "26b5af9bdd06a3bbd231b1b55c4ae8929efa06655656747b804425e802fa7d07355e510ac673590cef235cceaf88fc03e1493f4bee9c99ce2a32c32b9a3f9aca";
+  sha512.doc = "f4f7cda5cc8b3f8900cb12989834e5b1702f751248f58fe65a8d65ab69eb2a4118002212eefb609e251d4437579e635173366beb471e32d07d45c5c645ca506c";
+  sha512.source = "a41951719a9a4bc391216d3c5ed796b0f285a1a7049fa3617bae689127cffd32590ebd3212bf24b221bd7214128aaf564fa62e0a511f98f03961c16a39bc6fb9";
   hasRunfiles = true;
   version = "0.3";
 };
 "expdlist" = {
   stripPrefix = 0;
-  sha512.run = "005fe946714ffd88815d80f1bf92c85a2607f8216e8635a284e5332d1efd600d24e6a3f235edb5897d102f9c4005500c3aed1b92254d49404405eecea78114b7";
-  sha512.doc = "2ad7d8daf09012dc95ac92134f8874c21b25f088697e13a7840806bfef80aab4c13ff16acbfd7bde1f6e476b510188fbda0dfce36f3407baef607c5235128498";
-  sha512.source = "a83bc009fc732444d2f79b4650ad9f0edea3bcfaee7130678c203761f461d268798a597fbea1c73ac5d667b868236df08ab614b59b6c938c8882749fa1bc7492";
+  sha512.run = "fc0f0473faea3d8ffe917e654909374bef6b6d7e41d14c32acb3ee822748c6f37d1f5ab562b4bbfe35dde983f12cd9e1469bd2061aff32e3f79de66e6b3a6c32";
+  sha512.doc = "624bbc4ce685589e7e6393cd991b6305d8a20419b4538f2e1728f9ffc004ef4d724831515b77a607093bf45b8cefefe3e6a352403ddcb543b690b314fb469ce4";
+  sha512.source = "6713de4d316d2be62338ac94d465393a9e20e16eb2a088ca9086f2e9ad0052f799e47d89768e38fb04a38ed07800cfe9cc505b578b517c2f4cadbe520ee1bda3";
   hasRunfiles = true;
   version = "2.4";
 };
 "expex" = {
   stripPrefix = 0;
-  sha512.run = "39b77a5135445ee2d23d42ead06e9624c2127a8ab7295062793df9d3a5e6f81647b5ec822e4c2acf572e08b8d474131ee8ad45d0bf061bc5aa6cad6253475163";
-  sha512.doc = "837a068cf5a70256e64c722263edf1568f5cd507b96420db51e85a0cf8c7743ca1497a56520872db828547b808194c971a7480f54d292c82aedf76788ebcbc2d";
+  sha512.run = "b447a885d65a000f0b79b4c9b050bc89bb32b71426a29261d282fad72428fcf64dc6c660d9142114094bba32040c8e723190e553260c3899a1c1923ebb9f765e";
+  sha512.doc = "b0dce6401ccdef7fbfebbcdef9d68f073058f935eabc95fa45619f4d4d85e6b53e15091d845593255c000c3e672dabadb1cef024b2b0c79765f4f6a231de86e6";
   hasRunfiles = true;
   version = "5.1b";
 };
 "export" = {
   stripPrefix = 0;
-  sha512.run = "3df119bb2d68bc3a8ed26efedf16758d188eedbd0cf1708e15b729768e709f75e13ad739f2e6a4436359d49f54f172d4b556bd2a8a1c663412e25050379a44f7";
-  sha512.doc = "ae3b76ce879260e019fd41f3d778e3290304f9d7db1dc83f612adbde59174461006f5c1384375914cae3808fcf6ada79610208a4021b7787975239ea8c418deb";
-  sha512.source = "ecd92735ed51c56e860fb80dc1ac02acdae5d9e34d949a332855429419e9d5ce86cd81c47a092636e0888bfc214549e3b23948940ac0df834108fdb83fdc9bb5";
+  sha512.run = "04b5eac3e263fd692a1f4796ddccf7c5f41398075c9b15e65a0712cc83dcd85a65ae4506a882249e09c9ceea37f973be3398a0c31d2590e0c3e57549f07e9116";
+  sha512.doc = "169236b497ce09d685c71bd21eb6c35ac260d5978c03f074371386062ce8219bac1e501878ba13b60677c423904ed11b37d8e018adae573d135a1e1cbfdb84a4";
+  sha512.source = "844f1bb688d389fba93a7350b884b4cd5298ed6974d48218cd1cd2c863b9193e6d4d177f3ca1e905dfaa028f626fff4af4b9912ab9bf3eabd2bd9f4ce5d5da7d";
   hasRunfiles = true;
   version = "1.8";
 };
 "expressg" = {
   stripPrefix = 0;
-  sha512.run = "3175a35fddb3bc5f6e59e8c2d01a9a301689c9bb1f066af079d36158834797f35a5fe4b40d545b3e45723ac27783dbe4f8ad0e9527f73cdf9ffc3d942866e592";
-  sha512.doc = "7ae382eddb9a54ad9f812fa7d3d2d79fb1fa00aabd92b2c4f2003d8dfff27fdaea9625cbf4bbbc417e6183e8e4747476fc846bbc6f4cd9310705bfdcf2dc06da";
-  sha512.source = "e654e012782e06af9b88560e3cffc0c0d784bc570dd9dea4485db23867e03e49749b9a78b6793cf0854144c447da456b6263ab6ee37ebff6fa00c80b8bf7b473";
+  sha512.run = "d380b7ca2efad2cdafc3ea6f2265452a85035765a221dd5cfeb33a03859dfca0e4cd01219995870c8943657d2525e25d32bf7e5b9fe8aa9afa8d17c1ac4703df";
+  sha512.doc = "9287376ba5aa36088b4a99455b727c0f60648d50421ebf2fd125542f208f490c5b57af256bf2b704f01a3e00e85e6023c69cb6dad529fb7521ee8cde74ae9559";
+  sha512.source = "4fc193835f6b283ebeb0906d847d54e99e5026ae53929b8855d78208212bc4ce6133359191830803298c1dfd07bcf7eb1e163fa12f8bf799a9eba381e11f7f82";
   hasRunfiles = true;
   version = "1.5";
 };
 "exsheets" = {
   stripPrefix = 0;
-  sha512.run = "f45b35d31e4d777c06ae3b4c4e550a498137eb0b7231bbc9b521fe383cd8cf80f9069b394761b96376e31ef8ea2feb664d87921f121be4b684d14c06f86c4ff6";
-  sha512.doc = "eb7a7a80d3b947ae05394aa96c55b800fa229b809dee7494d99fca8b67a111a8d08a2e5b46aa289c18a2fb0e5c8774383bfaf2300e8746d39a5e805f727a2afb";
+  sha512.run = "c1263842d06916762306b0ead03cfec31535f40d41a0abe504366d0a762850f683b10563d47d149e89ddd75c18c3da7687a19b0a5bbe2b628acac1ed891a8285";
+  sha512.doc = "fbb9dc0826789f6c19734b0b50925d035f3b55a5402dce6ced4cf6881c032d784d5f219b222170961a5e1563b2dd8a5c64e7bcdd434ca61dec94a857451250a8";
   hasRunfiles = true;
-  version = "0.21i";
+  version = "0.21k";
 };
 "exsol" = {
   stripPrefix = 0;
-  sha512.run = "55ff80263795fe47072cbdf9cb9f92770d81f9adf2534e846b6a68926f2ee24f2d4bab049d57d40e847882f11014760e8526e6c7f57fa331215ea27f91c180a8";
-  sha512.doc = "f084907c537fc753ea43259fb7d6c0bb57b12fee0201e33f0c41227bb7272d14d66e3a4f70ed42fd2e0bc24a6ecb24e7b147b1b027989628a90ffc68d5e387c0";
-  sha512.source = "8bba8ca751ef754362e8d625a51d9f6f66d5dff7107c94b97fa8830e3ff1017ddfe2d0e8df5866a4ddc55feef91e3972e83fab303e6161a3975c44cb1ddb33f4";
+  sha512.run = "ef7e031334a27a522f54c5ba5adee0fbfdb4cfefca6e8c1d4f67c8bc542c82bab6ee89d35f8ba8e65ed0b17107fd164c00ed416c64160991b59693f5b567b502";
+  sha512.doc = "b6c5dd47fba5d14560a2d2341f1d17b17eda0ce16a6198ec589f47143ab46fa71808aa6a40a43613cf906542ed9df7d164fb2c7fe5785bf414076934932c63b5";
+  sha512.source = "1fa45d6d526e94e0574d15396a6d191d6b00bba30ef996aa999bf2b77a5426263f1e0a94303c07ff139bf44b0a07f419c19ac1c854c32b02e4c43c397c8a85a3";
   hasRunfiles = true;
   version = "1.4";
 };
 "extarrows" = {
   stripPrefix = 0;
-  sha512.run = "52264fc10f2f78f1455c2691673b890b5fd7167ffba1adf0572e640f7db537b79a0ebb4582d5eb42261e97b7d0bee2e86134d652404dc393b9854c19c5d9ef7d";
-  sha512.doc = "13ee4cb016f65dec37cdcc7b2b92bb22e6d1cfd7e6762694cf58d029017b8efaebe6bb5d4fabafdbbfaaa38b6c251483361b7246b241509252cb2f166b5b13d7";
+  sha512.run = "c5ec26369801ba653899a6c67c41a173842f7f5283d1279d512104cc9cfd04707fdd0313a9fde03672f03a7bf1f2c46f376aa961b211b4bc0ff2641d34eb3b8d";
+  sha512.doc = "be17974ce5f9361bbfd8ffdff55ab39cb1de6aa5701c4582586ea43cde45854bcc8c65f5c4c7a9a1eaa311c24132294ed02f36998905ed7f872c81a022d4d6ec";
   hasRunfiles = true;
   version = "1.0b";
 };
 "exteps" = {
   stripPrefix = 0;
-  sha512.run = "8347bab209d794059ef0e9377fcc8702ea69214b715a334a7401436b868dca176f1bf042afbfe17a34b89d2ce8fd238d0f068a262eb005e2913115b6e049ec2b";
-  sha512.doc = "354647b3ee8ef0af7846af314afeeddee200c7a6b3bc3eeed1aa37d2983db778943d1841f7ba2c248b3c87eee64557e7f24dbb50299f178dc81409d9852dcac0";
+  sha512.run = "1991bc0b471276ca3db68a8ba7611becc4557de4335a321b5c3e92c1fefbe34dc0488ab44850835b5ceb1684ce429e7756fb86d885e2da2177e0d9081797aa0c";
+  sha512.doc = "aac2e20a993818576f9e1efb153e9285b17b48827a1547a0c1033f22fa1a52f84ede214b4322ce4c6ddff69b8736f214f27370b3f1c006ea6e5fe2ab9fd64304";
   hasRunfiles = true;
   version = "0.41";
 };
 "extpfeil" = {
   stripPrefix = 0;
-  sha512.run = "081e4f9ed814d9c8d8e9e28640ea1e8d19dae3bc6184abf7447371ff63fed5e75b45d92ce1c6129b169c689e108d4d33e09bdbefd8222428f94f976f98048649";
-  sha512.doc = "3d055cdd8e83f5377b18825da05fe348b3fae1db2fbd8aff29e417e991a682f56986cd99d9b372048a4301b3b015b52aabf6f7cf67949b47a0b66c5c6fb50609";
-  sha512.source = "f5fcbabe85a4c1eb184483d9907a3c2a73b4fe80d00ef616a9cc27742418a06e671fda1ab3e3f6eb3da48fde327f847cc59797fd0a8fd228840769f4afa44d3e";
+  sha512.run = "5cfe0172ad420c3ca53c57be33fc56b205ba05a11876e4d14c6d86387788c73370bc0708bee46e43a02f10ce9db4b3611b4ee337ace44fe8fbcb2ca82f88b2f7";
+  sha512.doc = "8c2983b2e777e21e95d6ce1b9b4732491ad8a931205adb071877bf966fbbdc4306b88b35db87db4c3fa0bc52cfd333f721de2e1e7d233ba3c91d192a3574171a";
+  sha512.source = "6dfefa85e111b39bd46b2f39ae52e94a053569fbb0b263bdf02996bcb122913cbb999ed6c060e00a12a88e0ea9b187fe2e33a990bd75fd1f6f78082d8859071a";
   hasRunfiles = true;
   version = "0.4";
 };
 "extract" = {
   stripPrefix = 0;
-  sha512.run = "7fbe5537188930eac068e7c8989de4c978964e39274c3f6e2f4f8598eeb4e6024ac130643594089c5f69e21bd3118d9e6624c4cde8c85b130b23ae6d7a0a5a55";
-  sha512.doc = "ca18f79413c3ce9b9be09373fd37dce6d2b55976e3fab30b3bc7931d3e6a5e55d065e4f6488bece046745911da2af0e6d30d6e0b9089554c4bfbe118a897ece0";
-  sha512.source = "b51bb86f90dec89242078c34bd33968f37f97b7579d168b6ce2f609c20fbd77cc5ca6ac373d5cd3ac30a72e744b01282e77a3d3ff08c2727de29ece8c6b4d91c";
+  sha512.run = "32889da48868c2335866bb5c229728f9a37dcfe552830ca03ad3b704d1f7a471ee120de2ffed07bcf50797f7e34dd6fce53c77f1b63d15071888171d44cc938e";
+  sha512.doc = "64fd270a61f5e5f39442a56bb7a20606854b45a995b9a455604139df8006a1b198ae332669de09c1baa5dee5ccdf59e5989d21c17376a764a096f535ceff3f48";
+  sha512.source = "c94663034b4069bb47f611b761f08df36e2e69705d491ad0405d826d81d07f0862dd2a7963cc1bfb0f071ca4ac56aedc96debdfbbb35b097a6a49f863ac3de2a";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9a";
 };
 "extsizes" = {
   stripPrefix = 0;
-  sha512.run = "4eda9c64a6086a2eb7b8de546096bc2e5e00c9575b4ad89900481a99b4e5ed42a3941444a79337b26646c7e69811fc9b53f64d408609e79ec648c1e31b13450b";
-  sha512.doc = "8e0489226942ea45e916dff3a0062d1588d322708f1dc416438f8f6ddfb89dfbcb4dfda415fe868848a048c4be15b1535624058ba3a2932c880c6d429a6a127f";
+  sha512.run = "5b000d25ff594af2895408f0d83eeb0e7d6dd5604c53d5acd835898197e44fb88ed2469039489b75b45678f28182dc88a0af56ed1b1730be2ce41e6e81f13b7c";
+  sha512.doc = "9bfa898f7eab416beaee2938902fc0f3a5ddcf1ce972f30d18a683756fb53bc8f66ef1220bd3bbe6ca6a473959a67c55c18a7996eb095ef301da8b594f42d3ae";
   hasRunfiles = true;
   version = "1.4a";
 };
 "facsimile" = {
   stripPrefix = 0;
-  sha512.run = "7ce1d861c3562369771b2008421e36835729245a907a0bd5e5d92e2a816416f89fb1f270bef356491db0c2489984c8984bd45a91c28e278e56bd253f1ff04b68";
-  sha512.doc = "e5f003df30a6ba2aa15a6a878fc51edf4250b441f3acfce7930aa4e983101dbbd0fddc75a00e0c694a007383f24becbc3d2372743b849b3eac71f568406e0fbf";
-  sha512.source = "4374b1c8f76123a69f2360c2037a0c1ea711fdbbdeac13b0c18840e7633e5a49a450393cfa3e294e55864ced0d2d0c34a07bb76959d630c3576d6b8a1d4b0191";
+  sha512.run = "3a179a3abcc33bd0f48bf267338c8a7dc0186f7eed097af74cfd8a936956952fb50876dea447839738842fad34c724c057f577d427a82fd82f85c7e8ab80c8ab";
+  sha512.doc = "36da402d7b15601ad768aa1e07f356812ddf0a09b30d19c13bfecaeac847537caa3be31036cb80441370b6c046dee24b13aa3e04f339476e9ecd18cf09c8c9cf";
+  sha512.source = "ad8f90796cdeefe11e6c12e254c4571f2be57f5cbeca8b68e301d857a0ef8e52fbb1e32eb2d39e6d6b8c7ea19af58f6087c67c9bcee58e84a32038f18bde223b";
   hasRunfiles = true;
   version = "1.0";
 };
 "factura" = {
   stripPrefix = 0;
-  sha512.run = "f9ac35ff37b156b76f940f31ee68642ae28b276afd424c324d4b386cf6fbbf4f0115cbdcf03667c5e9a186a3b7cb9d4693fb4d8c1a90ea53f81f2a5ad80f9f49";
-  sha512.doc = "0ae6bee674dce3b651b9abbd124fd7d45196d24b9371291f7bae6cbb745099596abd02d58b4cc7341d8155c64faea1288113fd97a97550865d864c5ccb63f5d9";
-  sha512.source = "f5ddc8449fd8fd8cc3c5fe050e1ceda817ad64ed836365821b69c71705a4b87e312e414eb94b07e31beba0b6e08a2ed64d4c1923303ae037893dca3f05f3e214";
+  sha512.run = "e4ae9c0019ac296416497fbc8d30bc981a1987cb7b4fc7ccc21512fa2ecf11da0b4057775dac37e3421261faa8c76b9354725a2c514d1fc514cd7815571d2004";
+  sha512.doc = "0b091d2d4da4cb858ab13514fdda12babe9bddbffe466fe4d40c7acf828e31b9aedd6efb3eedd8895e7e12691a0e1e2bbe1f9bc8a21f3c18cb3fb1d455a8a3c9";
+  sha512.source = "52202822a438daafcfaed256f1091a5056b8c9e58273013bad555228bbcef02df9da3f3074f0cf5aaeb7349aaec64515bd1eb598ba1463927d7dc1c0a860afb9";
   hasRunfiles = true;
-  version = "3.57";
+  version = "3.70";
 };
 "facture" = {
   stripPrefix = 0;
-  sha512.run = "38191fc9bd763b377ff57ff415f94ee3e21faccca851fc88f46ea5093dba0ce5b4640c5c9d7335f979395c6becbcd88f753ead58cf7a0dac73ceb24f22f0ff3f";
-  sha512.doc = "995c9cbc559df6f6adabd1b46d22d92467c24fb2d2577823b7a5f839be11c508141c3a29350ab7fa138fdd162a2d8c02dec94b6a4dfc013a229723ca855e77d3";
-  sha512.source = "e8b599ccc78b111d7dffcfc8970387b1dad1ba54ed219076b9e10da583a058cf49bf370c10b17a4c09b1c11109e5c055b33c7ab0596a5013b73513947381c7db";
+  sha512.run = "6657931eb2c0a134c53cd9271109552d4b8848247198fee9aa8d9010ff2faa4909416484dec8809d7ddc58b4202f9e2a97c5b97279e5432a1e928f91d7cde71a";
+  sha512.doc = "a96e30b15f1fa827fa4dafd3594e8b98ee8c17c23056926d82243955971225d5a4bdf41a1a2a5b19049619c2eabc1b8529db70adce17bc126c0e1e3be7ecb2df";
+  sha512.source = "2612d792d95e3e22727e3e7ac4c4932e1f25c3788ebf6b4eb1be76727c52694a65c378f13ce917f9cec3975468f79f7a6d62adf4f125c57e6b644076d22e7bce";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "facture-belge-simple-sans-tva" = {
   stripPrefix = 0;
-  sha512.run = "5aec539f8122caf6fb037aa21ff67ad719a6ca2a03b6075be64c94e00ad4d671bd2a69dce99569ded440dc5de1c1d255d367d7bcdbc04e32c58aa77b8a9792ac";
-  sha512.doc = "60e59e441b6d73872560672dfc95b1f70334a1dd4586f398ac68a13cb6f71396ef2a432153eabe709c6080c5ca8c188284286bd1a237dfad1d126660c449014c";
+  sha512.run = "90d1ed96793b0463f14fffcef020ae58673df10bf511756387eb38bb2659ae3e362f52d898996410447bb5304f3950325fdaa25841ac4351b4584da951da2b4e";
+  sha512.doc = "f111fd7a81812aa0d65c4143751bf0bc331f8de248876f81c5517301d8a9743cf2e091de6180e3ec1d74a646ec539b65f0f1d8068ad1eb5e6638cbb783b4f420";
   hasRunfiles = true;
   version = "2.1";
 };
 "faktor" = {
   stripPrefix = 0;
-  sha512.run = "4f9590b54008fa7646664dff5b7b711a7d91d87535798726abb49a3d241d30508bc7c3028cb615f277fed8dd1d613cf3503d0efbea61c4a1579b09c9ae576511";
-  sha512.doc = "207020f973a717150ca96c6fc0459c3abff43761e9cd541f86db4771eab08a1b117658c93299cd63af11448e3d040124a71d1620edf9950a460e265cb871fd9c";
-  sha512.source = "ef21eea80a13249cdf2057b35138ef5992b7e91ad1705a294178adea420921dc56b88b32fb480784904781a88295a0d11d63f973106ef1e4b153e10a0130237e";
+  sha512.run = "5c598fbb40d7b37ee5b66bc1bfa8b0b2a0b45f7e22c992e6d0c85ed952a79a120803d41f9b4a13bcbbd6424c555c8b9ba6adb4eb79d1056fbf759008f9b741af";
+  sha512.doc = "57934606287afaf1471f1207af5d0e97533a504aa83324069154e88e70f10779d2eb19ed2a9e177c5a4b2cce4203b576272fd2513d989d4ee276330305597034";
+  sha512.source = "01f22e60260621a41e4efd6681b6fa226f7461f47348a79dbd75f214d606c6af2fa54d904792e653d1accc22298385d4cd658c204e653e4320e2932d742da28e";
   hasRunfiles = true;
   version = "0.1b";
 };
 "fancybox" = {
   stripPrefix = 0;
-  sha512.run = "cf5d223e392151fa71b831510e6217c9409e43700a47522e142f21d5403f38a1fae59fcf594a4622b91c75cb54c2cc9b61094cae97fa3f8d21c6f492a8a94c26";
-  sha512.doc = "39970283af4bd1e87a94c89438260b6de07a7c5fc2eed07361c3c566c73b94b087dc58396870d1afc7f9f8ebdcddaf43f4ab97f76553cbe2e1d89f7d259ae978";
+  sha512.run = "752e26abee96dd2bbf77b30a6d98d48a1673632d5601d28bba5799e845a015357b96302f3f1d8977f0458003d3456df4694884a05ccb6124b76ca8f7fc84fcbf";
+  sha512.doc = "2c3e0466198d392af57b2bda16f80589a9aa9db992272980a2e7ab9d7d1842d7e8f2980003b3b09648cfe0b9a1977562534ca54fae120bd7e4d950d25a83c0c2";
   hasRunfiles = true;
   version = "1.4";
 };
 "fancyhandout" = {
   stripPrefix = 0;
-  sha512.run = "e51de612fe1e1bd8f266941952c24b10bc404d075c39119c5506623f763f98bfcf8d30d01edb17f7a63b14adb85ae9b5f48c0e97edc5288355fb4fcd67d3bc31";
-  sha512.doc = "c49a4ae58599939d55c1adf2baa2d8438649484de07f7060ce76780b032accc95f655323e1f9fd9dbfd9423ee63a8160d9c9d5c9913efd7c569536fe9268b50f";
+  sha512.run = "0091703483cab573f9c9202603d31e310baafe932f929ad852c23d2ca97f21681637bb3ae34fd3d916f3e50f553b42ab1682b437f5a63b67c6dc4b7b7f202c80";
+  sha512.doc = "be4c7b2caf2e85ec192f3aded87309ee2361fbb7e8fd1225f8f98f96446251aacd69e04e306473d06e14c8a8b686dd7a1c54cb0311bc4138fc9c34fa2d528ddf";
   hasRunfiles = true;
 };
 "fancyhdr" = {
   stripPrefix = 0;
-  sha512.run = "f7831fe54b77babda97f65d490194385e01464dbf9079579d6b697fecd2b1fe008266a3b6f7826cd6f60b4d41ac5a56f758a4ec7dc3f7ba9077abcc5c89e9bed";
-  sha512.doc = "08f1f88c884eefd829c641d37e1efd8ac01578fca4c69aaa43436ac33239ca310ce00858cfe42c7b2a12b8ab3e0f8fb03f30c94071deceeeac52d663e2944f48";
-  sha512.source = "59a5d48399cabd62d099a0f40afac97bc7f80133e5a386668df85f6bb69071a85e467071e7784f29cd8a45a430961abc7344c364e25f6116a33be354adde2d72";
+  sha512.run = "da99c0def1655589988fcebf627dcb35ab1a3f7ef481f141ee91045f81138cc02f849f4879507afdbd89e631460e5104d49bf0be6a640f4c7e9532acbc952454";
+  sha512.doc = "a54bd1e4c0835e1d3790ceb9c50ac63766df45fb3d807b74222465c116fd103d65bd09a8e0f4cd20941422734cc508fcca9f86be3ee0cc2beb4927b9a2149849";
+  sha512.source = "aad6a82c734ba3a1a571ac67f38851808e42c600884b22b64f463f7f4b41f83a85342845ffdd70244236dbe1cb013ad77f28c1897c6c28edc16590ad61d79510";
   hasRunfiles = true;
   version = "3.10";
 };
 "fancyhdr-it" = {
   stripPrefix = 0;
-  sha512.run = "cf68d833f9422cc5b9aa1f5c62e84e098dacb005f1799ab90cdf3397dd9afed06c77b89d9017946922385ee2c65528e09585f9cb8277e328f204fccf6113b104";
-  sha512.doc = "0a3540263b9b6ae4a65a0cf9d2c24117e5744616b5c4d8a4cdf417ebecbc489b8dd944637360dfdcc93d56f4882fd7abb4226469b0ff0d2073d6f2168a42216d";
+  sha512.run = "6899f3c11ed4a8f7476fe954166ea7576446b670d0b22737766927fcd29eb24e6143ff3031b974856562a7ff55e68f208164729618a4d28d28b856919f2a666b";
+  sha512.doc = "cda5ff0581545e4eca9787b27dddcdad226b5dc9a630773b13073e9248b7b30b985fa5f5fc1bc5380e5a0d96f06c666d4e7e73168afbc2fa4ed0dd202967dafa";
 };
 "fancylabel" = {
   stripPrefix = 0;
-  sha512.run = "3e16ed1347eafdf3317999221e238b46e42d35003cfbdb0ebff877ee95f9c0d663971842767409ff21db2b9b1c8fd43cd96dfa6deb346a43ae758d25741a41a3";
-  sha512.doc = "de3e8cfd4e49de20228355b36c7abea945b0e0b5b1526327aa101b5cfbce2333b6e5bf85961142dae05ef2af95b06722c4e322b7349c2fd6e652d8c11109f062";
-  sha512.source = "9ca32782079ae1b508c10fbf45b12d55f08ae22ce0a2644069a17392d90083e81b9dd4287fbce240bdb14a3706b6c3aab46f11d30bb53e272c5808d52ab01802";
+  sha512.run = "950455301b0bf3ea3be0817a45c4e7453ba95c8afd397c1cf9ebf559f160e2828f414f0dca4647a80481f6e8daa0902e24692469023c21ba844afe1edda60b2f";
+  sha512.doc = "3a05f2b388eb2a22a0b48b4761b3964c7b0c616eaf0c8adcbd4f375a3dd059b3d3b0831e754842bc084123fff7a12f59c87c5c5b362739c062f36a215dca2ca3";
+  sha512.source = "5d0ae7fd455b679221c1877a5a8fe58da76d3db96de7bb6eaba24c50ef9a0bbc3252858276e4f0c6b81161f65e985911ab1608bca21418335e23189a2ddac425";
   hasRunfiles = true;
   version = "1.1";
 };
 "fancynum" = {
   stripPrefix = 0;
-  sha512.run = "fbfd9952fa59633c42337185521ef1bf28b38ca3f6af5485b47754e7bafd26f8199a87cde265913449f5a4696af5a7d38576054d4706cd7724500c246a1f08cf";
-  sha512.doc = "dc544d6b5258a99e42ccacdb6e32469193848300786e7666b1e14509a12c4e5c9e78d8f96dce388025dafd93d6edac2a4aded246528b3916b154ae43e90e1101";
-  sha512.source = "59c7b1732908463d413dce66f2e29fd6993e2adbef5c9da1b4b489aba03fc87d61e86e2245a8fcefe8bed56143b7398605f60ee2423698ebe654a2c5c9534e5b";
+  sha512.run = "93e1b88ca722b4169a572285443fad53b66ac59a3c0b6465aad54bd8d416046bfd79897db3d8f318f9d6e004c958b94bbcab16b1183d66197e1078840934689c";
+  sha512.doc = "4be390bfd7562e0c94dc19fad3e0f34e52db393878290773517d6d7951e428cd3d0dccf5f47f6f03e5f0b380ebb386c8d89373e8c8e4cbd16463a9cdd2f2417f";
+  sha512.source = "8f2f569fbb2a6ddaf371814e26b251286f8046e8a1e923f18e67b165c26c69cd09b46e39dae5fe00a427dbe4f95172680973b3eda7be16c60cbdfe6daf37710c";
   hasRunfiles = true;
   version = "0.92";
 };
 "fancypar" = {
   stripPrefix = 0;
-  sha512.run = "f52089a844d655de93a3319636ffa958c5ed93b8a215e3f510c4596b27e20762e60bf5ac8506adb4431cd94dea6bc6d219a85d8895db7875151b12463ec75b0e";
-  sha512.doc = "fc3fd752e559f8d29e5f6c2325b22d4bcdf24d4f752bfb89ea56043e5bdf393f8b5ff863f26f605e97ca64f7f72794125ce36ee2295c8ee90435b78abbbcabb4";
-  sha512.source = "4fce4c3e126f77edb522399e5826b80e7306c150f138717d6010f6fccd5d74b4943204fb2fcc012934f24807fc7e4625eb7a77a21062f08f461409794a39cd39";
+  sha512.run = "18a4989c979c7d0b1a5c303b4663484e920962a5090e229d7b75ac5678860fedbc95df530fda954a3a2602a740f7afdae3e41f6a3e07405d77263045a6c62a1f";
+  sha512.doc = "98cb690d9096a73523bfedc6a2ea35414e34043d5eef3d73d337c3d4feef3bb98303a22a1933eab53838e78cffc8ca1ee36bc00fdc13a50213849d87fa92c553";
+  sha512.source = "dbbc831abfc030a45f530ac6e85cdd449cd411a2e5e52dcf80bc20770801c626cdb308012610ef188b22b7e9c4690836a65ad543ec6022c75e02f72415aebebd";
   hasRunfiles = true;
   version = "1.2";
 };
 "fancyref" = {
   stripPrefix = 0;
-  sha512.run = "fa29fcdc7b7cbe335df3c5cf235728a1b720f6cc559c8586a5baa4631ed8d3b74890e93789687268b788fa2fe37fb9d1eca61c834ae95215e9fe0251c82d0ecc";
-  sha512.doc = "6d1055a9ced2272b074d3921d073a81655ea46d6fbad03ade5487979d9e956b8d06e1aa89665e806ce6ea9b4f6511b6cd633230b8be77fa0b2a44c3d903afa68";
-  sha512.source = "d6f6aac983bb319b6b14ea0c7bd1e2ce4afead61d94444549dc9e991d78373204f0f9adebbda069749472dcad6801c56b947a40417b44aa9a8b82c6cff429f42";
+  sha512.run = "8f4ea5f16bfdbd06bdbaad76da724a1aad82263f4db2c24cf5f2e9f2db9f2afd9d4004d629098f936e0c2d4dcfa5fba8bd278746b90542f87b547e20abb0bcba";
+  sha512.doc = "2231f5fd45d45cb7b538852c95b90db35fde9b66629d17ec9288de6ecf5339359c17fdc8931019fd4acce61ec2927a0cd494cc7462cab0df13d7660106b6a142";
+  sha512.source = "65de000487a8d317f0d05ff6d35574cf0bca521e4ab029637fd459b34f8640c53fed78bb9a54c21e4f5cc7c03dab221995810057350c46690c948a9e436c74f3";
   hasRunfiles = true;
   version = "0.9c";
 };
 "fancyslides" = {
   stripPrefix = 0;
-  sha512.run = "a70749962778866e1cf76c1ef60eb8fe97597007163719f5c441cdd0ef00e73322ba1442a4ced0fe04cf076b5c9e2167cbe160405b470c5b429e2848e0d2ba33";
-  sha512.doc = "630b9c9ad27de354fb963a60f4edd8d4d1739887445097bcce11d6769994bc3ddaf2141e3b792927efa1920b2de2b64fe0ad3835b5b229ce37e0828619dd7ebc";
+  sha512.run = "a0b9ef4ce804b78a60b4c3a25d5d70bb7ec17324d295cfaccb64d166bb1a704bbd2baa5cf6edfed7adff03f48bd3f3e7854e2fbfbbfdc7eb953d567a257a6e46";
+  sha512.doc = "77e1839377ba440d4009f30ae6e58d843ec4b7a1bf7f0d3414700e32c9a01062cd6506cb589039299e7a4fd945f9ee5cd951a62fe9795f822089152ca19f3441";
   hasRunfiles = true;
   version = "1.0";
 };
 "fancytabs" = {
   stripPrefix = 0;
-  sha512.run = "ccda127c0d59d6200521922ba226a3f2602ef1186cdaeb1764398e3f5c742ccc3c3a628539e4125bbdc81a95c030f10430fcae930b1a7cd512c8ca4ecdf52b33";
-  sha512.doc = "f3f383377aaa5a89db6dc5f982cddd1c575176b669312244a1f17c36dfcd4b9dcc3f4d1eb206c38916251fefeaf01fb1ab1a35f9478346427da8f2ac225811a4";
-  sha512.source = "3d6660bdf9f74ddc67339e81f246627d1f4eb43f74c84cd76a9cd2b4a4859be487229185862dee2394309e6e028150a2e6eedeab9efc185afdbc10986f135940";
+  sha512.run = "0cd45edda0062f4a0fbc26a0516d7f5b35cb4f8dfd4072830da880369d71d8a4aea6a7d5dd95a0b479ec3128170108f114aa00ef4b0c8324c60ddd214568f5cf";
+  sha512.doc = "0113da627d27fe88c4faa87e1564851344dac2efb75c78facc4da49a8937e2bda8e1f22997a2018b368001c24e721cbf623fc199d03673701a55c7ca45404770";
+  sha512.source = "4a7c92f30414a595cc8c928b181565e3d50614fb4e5a128197bb4a8f90a50cbd9c75ca447bf37c41e9fe3c05d4422d6e3618da63edc51f240dc3e8d55c8d61dd";
   hasRunfiles = true;
   version = "1.9";
 };
 "fancytooltips" = {
   stripPrefix = 0;
-  sha512.run = "2ed53370e3162f678f1b606d4f018927b3514455b6804e97f01a8604ee738cbc07f23e8d8f50b27df7e670ccd3866878d3abae5f495f939890da484243bec028";
-  sha512.doc = "5e9992dc312c8d0360ae8af789295ae5f2e3c81e4375ebd39d478e2e6d3b7e6776190308a2c3bdfafbf61cbf188e9135433b4b1019d625a1005658cb4ae4f28d";
-  sha512.source = "87cfeed78f6935fc9ce2be9344e48b95c96d8388a3fe45d5c608aaf9354ce6241aed1f85dc5a8be43191ef3c40286fd2d98799e4b703eefcf6f3e3d51eed2f60";
+  sha512.run = "e1d7243552cdf65cef1e647472a7f6c1d818c1e862afcf8069768d9beec01e4c250786e2c4c1af4febbdf94f20362110399bee33c7902bb7006de474a0d013e6";
+  sha512.doc = "4bd82e0ae682abd0157f94b5374ecdc6cedeff0af22a5227ab527b725d8710bd7f8c5a38b7380a91ecaaa383824d8b88d182d1edde312492c34728ab6ff2f4e3";
+  sha512.source = "3c6d477873c8fa6560d4188dbad1dbe43a422f08f4bcbdc15b034e0ee7dc5529171d005f48a25e1df6d6e6fbd0f8db5f11c233c515ee70e307cfc31e5f434e24";
   hasRunfiles = true;
   version = "1.8";
 };
 "fancyvrb" = {
   stripPrefix = 0;
-  sha512.run = "429d9c6cdf15e39b996bdb0cd5fbf923155f9045564b60caf1fabda0d00ab8b1aa9990368d8aa817391946e9e534fcd57ae1efd87511f35b7b2c648738705d18";
-  sha512.doc = "d32a379005c931ae9e48ef93d76c31952761ca8ce0a76523009b90420e33b819eadc710b7827e59df652c02c043f12a5fd18013838cfdead1b2ecbfe61bb8930";
+  sha512.run = "334df96a99813a99d36a68cb99b35145048bc478e463373efec5932bfa981eec2eeac910616e6cda2491636961249c947b9daf4b130329696c755076909cf46b";
+  sha512.doc = "45ef859efb1e9f22799686600c1be8a5f2db4acece1f8c0bb4e1bcd37ce5a83d708ea027f0c0b60da7bbb2c8add47ce70ef6f53f68bf0810886066230072c9d2";
   hasRunfiles = true;
   version = "3.2a";
 };
 "fandol" = {
   stripPrefix = 0;
-  sha512.run = "0e2da47c1fafd801700ea94d020df8310455d62571808008c1f1becdeef2066db5bcd422664ba67a50b4cedd7335c0e4fb173364c17eb143cdde5fc7c30d327c";
-  sha512.doc = "30ad7bd38254f82a8de78667d3e56b8831bed9bfc11ec59012719438f652549b0fdb9e63f8687bc0c75a19cd6899848ae83d3e4804f4c600164cd13183726271";
+  sha512.run = "309b19d6bff9d3e009610d698a73ba191da70cabd57157f274dfca7583a9e9b31fc30ea52b2b2ab3386be7290a680f8eb47dc92381c3da8251b01d8c6a65c3ff";
+  sha512.doc = "d74e78a1c863d3865ec4b21a4c762bf6e2c30a8656fe0ec830d1e56b9fcb48861f316ccf8d8641e7c674e25f1ac2292d10ff2127315275347096ad325828d7e5";
   hasRunfiles = true;
   version = "0.3";
 };
 "fascicules" = {
   stripPrefix = 0;
-  sha512.run = "c63d1bb7e15d0ac32846149584fd4ae84fb60d11bcd3ce3c3636a8d491b32aa38dd2f6ad6fb7f28f355b8b65b1d2901053a154772f7bccd8522d318df1fedc83";
-  sha512.doc = "4706569bcb66f72a7d1960b2e0b0b8829ef93d0e9a7e2b8eb95c99e943b4bb5329248d072c27482c4f0ad845ee2619b1fcc2fd0144e960e1440a6500311a6b50";
-  sha512.source = "e55f76161886bca6f105d6dd95ec7828c8530cf9ddc9ab8dfafd366b66ef5db305c4e03b54ef5a4aa9d4bdbfef56bf7e6764142c32f28d673c9bce71a961a2da";
+  sha512.run = "5ca661dea7cad6094d66d0a843cf5f19183154f81773db38f9a13795a5b9d8646e9f0b471bbd741e5f25cd424f199b3a18d1257a7e8d07e0d812a04ae202ca24";
+  sha512.doc = "02d72ccdec87334da2c10d5a57b004357e36c8fc1aad33783e44992019fe3dcc8b8d6442d63870b4806c3dd080c3518bf94ae110531ac65947584301a11b4b51";
+  sha512.source = "c129da364d22c605feba74d4e93d7eb48c8b5a3ef77c60d2f930fa2d3c8f757bbf3fd8a5aa8f3afc688057d80d86acb5b74d2d9b422d387bc075e7e7122150d8";
   hasRunfiles = true;
   version = "1";
 };
 "fast-diagram" = {
   stripPrefix = 0;
-  sha512.run = "0cfaef660148c62b2288057d38ee082e1d2be21c2955a4577fd5a54546f08b8fb2a96ce459bffd45587b706677fd3705f58df243dfb0c35dca9ab3d046163611";
-  sha512.doc = "62e98a27e4883ba1b0ffb35ec14e39c95f2ccb77fa761c369a02a3561d9ba1ef8db720f9d6304ef64a0c15fee1dd5ecaccc55dd3fb28e43089cb27d27b3eb28d";
+  sha512.run = "cedc8305ba0a7b1d22274d869629a1872a80a4001b443c8baa93e44198a5dd88e39c16c28bb5edf9fedf4f8f2f68c6964f009cbf6feb21c7c14974c4b598acbb";
+  sha512.doc = "cd8e3edf882fc16b5757f59d16ed1a479e437eba36c783cd86cdfb9cb81f8b30e8b95a522ef6fe4b6e22b4b0bf6637e72bff734f7771034cfaf85df935e4a003";
   hasRunfiles = true;
   version = "1.1";
 };
 "fbb" = {
   stripPrefix = 0;
-  sha512.run = "6ed1ccf4160837f40a37330ec4ecd0dd5d8ec9353eadb1cdb0674d176cf65934153f96484ecee5286bc49069e78c004127f3cae62cd87010b9ee320a0e68ee8a";
-  sha512.doc = "98ccb4f7946b2337515f579c833acf5a108689d73a5e307413bc5e7712b02a461202b5664d04bdc8fb15d2e1c07ae17f0c60fe409806ef5529b1c277ca159995";
+  sha512.run = "eebe9b977296dc02938c13cb9a160612adafc00dbf200fdebaad5eb1efe8c41eafd6102e40b7be2e734fceb7c92cf84730182bc2743c5c68924b00a5769ad172";
+  sha512.doc = "480f1df4a1b1ad29f009d70f56e96ca3ea3e76ca913a86cc4b75850211dd4f92e3e43fd9ce832ebba98aae194111ed340af2f530f00edd37e4a63016dc7bc215";
   hasRunfiles = true;
   version = "1.14";
 };
 "fbithesis" = {
   stripPrefix = 0;
-  sha512.run = "369abe7dd1494770aef74a6d2e06047bdfd1f5345ddd6d0166b8bd2a7461f5c151d2f0469fff3bc4ab7bbe7184fc1e5f39c10cfd906c18b0d0311a216c1a49cc";
-  sha512.doc = "6ff5d6b4e371fb88e775160700dbe27078298750681ae9e07914da18c73335cc57789b2d21175d63c1364d9e3100bd6c25c9611005323cdd75f5be8d75d7f73e";
-  sha512.source = "2f6d12ef1ec916b418e5f948a0fece0a77bfccf12f3710c9554b024e9a06aee2b9668b90045fb9ec3b0e9a41033124514a3fcf71f851287e45b159079fff5dee";
+  sha512.run = "3e593e312ac8efbbdd294e6a00ec020678dcb12259ae778ddaed4d43a800aa19ba16f8eb15b5122ab22f44c5e23c77e4fe733c7772929ef55589d387985db694";
+  sha512.doc = "92d0ae3382aa71260f6ed204f6bce1bcbac26985f41789e00c5d3186dcd448bd169b7641fa40d34cf87c556ca10573b0d8cd4235aaea8a0d1533dc40c71b3779";
+  sha512.source = "a931b41de1feb5b0a78bc40c20bafebeb529a8a8b351344020032641ecf9673168328dc271228130ff22ea17190cf021b1dbe01635d7cf77984f69861c84c02d";
   hasRunfiles = true;
   version = "1.2m";
 };
+"fbox" = {
+  stripPrefix = 0;
+  sha512.run = "1216117fdb03433d2986eaa8b277718304d5cd67b0d7944c7a4712c27a68e68979a3ae44d563a847b01bbbb0d5dd0d7da8feafa7699e27e8a336077cb96cfa43";
+  sha512.doc = "d2cf24e58efb78c8680cd3a8cbedf2517bce05025745bcae80dd7ccb23f127f3262cca75bf8c4f9b33100253194525f1538e6340c145a38c473a2afe5737148b";
+  hasRunfiles = true;
+  version = "0.01";
+};
 "fbs" = {
   stripPrefix = 0;
-  sha512.run = "ce26c38721a8583d1eade2da63298533b2e751add9828b9de8d5f1c9e42040ced6d186ef4d027a34a919ea166035542b88b498407f487aba06cb2438ab9c92d4";
+  sha512.run = "2d5bce7890fd8e087e035e60064bf134d8ac7ca2646f7b846df8fca7c594843c2778d0ad1752ffefed40283153194b5da97156e866bb4b8bd10b14c8ee3f2c4d";
   hasRunfiles = true;
 };
 "fc" = {
   stripPrefix = 0;
-  sha512.run = "fbcdb6b7c0e12ddaee44794c7c39dd80e3bc405d85f764e0959c4cb99eb2d2254547cde532b821bb34f9c3693bcf7249021e49b02f2cebc0a8e5bf7beed38ece";
-  sha512.doc = "2d44161b3cf5604573114e4eeded4ed39664a7d90d22b38384b7caff2d8a1febee74f42c5273e7b89717e3d74ac34f53c5c7511954e602952ce2d71db1cbbbf1";
+  sha512.run = "12bb408f7ba4774d943aa954bd3d2558a329d383a65cd4780f6c5bdc39f51b943f01d87ad203aea3b02768dc0b9ab42f681175c18a1e1dd901255aae05156558";
+  sha512.doc = "a7495a0d6bd394811ff22438a42afe3c5109633da7c606a732f4c5746cc4162fa1c86ac3774aa7754e9b07c499f3519423d4b6fb212ecae156b0b8e8f848d914";
   hasRunfiles = true;
   version = "1.4";
 };
 "fcavtex" = {
   stripPrefix = 0;
-  sha512.run = "76c5c5303afac13ed471a90e589f70a6e8ee257e07d5b583b1f8189506908a24fc8cad9f682526df278ec7139b24f9c91cad51bd229c70e0c249b3e13e7cc747";
-  sha512.doc = "69388eedbc0df92f9d07ad15f466d005657f0e4048aa0761e3ef58d71ccc410986c6d80053b21972bf0805d989b76ea6eab1f0575028471c32b31117bd13d1ec";
+  sha512.run = "db440d7310805a7f3d918996e577a07c5d8dff72e6d667f00c1ffe5d88e3bcb689e794837609d9a0760530e923f9a28d3e5c052cad4c38e23ae03454e0ec26c4";
+  sha512.doc = "2060c70b6a926aae23c145f11c7c6e255f684f925bf5447ee98fdd6f6290d64fc5a92ccf8cbf85e0c6f0d6fee869a2d947e3df8726fffa4a5d2c87c217beef59";
   hasRunfiles = true;
   version = "1.1";
 };
 "fcltxdoc" = {
   stripPrefix = 0;
-  sha512.run = "9dab396e393853baf4f68d3ef3690df5081c904b7f062bdd17e32d4b627587698b09eabb980273fd09be388c2968db7b0f0911286ff14a1c5577bfc5b58ffd37";
-  sha512.doc = "c70e0da6fe590dea2fa94a696b06518d1f24dc03cb20f57f303e33c657a0ec1b15f73a42550ea1b1e714619ed3551f403e1a14eb4c83617e87cf865b39b6caff";
-  sha512.source = "f71822e56f1e7791f93383cfbece9c0a13e8528d906d4ba4b6c4518d413dd9fe0082db31538c0c9fc62cf5e376fc20de437667c0210dd93a7b5595432d26d97e";
+  sha512.run = "c14db194a73247122e589024824a53125ff10e15f8bec2475530aa41e78d74993f73474ff9b3899bc499c0cd8dd3e1ea034ea821d233c2a512f8c4d4d06d095c";
+  sha512.doc = "4aa6aed9c5b4ddaa63eb2aa7e529da03dcfc57723a6cb40cbbfc729636e459f4df1e292bdcd20093595cc3ea154787fda41abb4f6f46db2a7331626f181f47d0";
+  sha512.source = "6b16053cf7941063e4f08a249d1b4dcb61127eb0f22938353b17b959e7a9cb78d7953b81346f25a6e49f4a7c8bc602b3f820c3b9acd3b84215796b3ef1a63550";
   hasRunfiles = true;
   version = "1.0";
 };
 "fcolumn" = {
   stripPrefix = 0;
-  sha512.run = "93084d36d630f893a5c5eef99356d42fb5321fea48f2df0db2c0ee4ec66bb9d9804fb1f9d717cc322213322bd47705417a5a8e6426b5dec51b153995a96a89a4";
-  sha512.doc = "af3d335e2c423b2414c73f18055c787e89b1a47d96adbe7482ac0319e16972752d809e8552672dc567d9e0a2f3618fbb5b737891fec30a485ba7ff2f94f802a1";
-  sha512.source = "0ed1f3f6ec013c27f9ffb5c2f78f1da3b9b4e56225c3dd0abf519f4fc13ec202ff0c65f1502b1cbdd75d77096c6d187c54f961c87767c48fe9e68189dd9f488a";
+  sha512.run = "13128f25e12c914bf25c45c87a75bad814eab519059c8a478162cd4fc678972ed8e24800042e87866197174044eaf9f90d3cd3a8eca62f33400e3fd2294922c8";
+  sha512.doc = "ae0645744e26bbf1a940ba1339256b7d718f4df819ad04f5f52301a26d445cbce4a1ae4bfa2fe6d13bb81ed31e94839d87a251a7429305d396a56ea113df37bb";
+  sha512.source = "47b78b21332aeba11b08ed6f4eaf781b182c224450b508a48a80ca7f93ffb43c4cc818739d3793ca16674b29fbfeeed320247170c63a4aa321f6054610fe782b";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2";
 };
 "fdsymbol" = {
   stripPrefix = 0;
-  sha512.run = "95b189a868fff1e3936505cea19aa0b7d398e79ce2b2754eeacd41a800c95554a89735b6c956d03057813b35fa172cd3342bb934d9775bba760fca6dc6b53118";
-  sha512.doc = "fe6f9d1508c7da01958ddfa5edcea015433251db7b4b5214070c2fa7a6a506a23d8254457cf0aedcc1432f79b7779ea847db215919712130dcb9c39204e973fa";
-  sha512.source = "ab9f6d39eaabe378e8aa958bf6ba0c86a6e7410c6f2cf4e35ae04d098c832a7d00ef16695dc3fa849a9150d8b0520b7bde790d55f63c04d7f64930067b801e28";
+  sha512.run = "37f716e9d540d7742f53cd38155141d763d3f8509d1aa1f3cff53ff33c45537c44dc68c9608558021868de3072302d7ac84909db05e8b25813c23ea01c87edcb";
+  sha512.doc = "7d1f3fd153bc17e65a99ce6a38c8992b2172c1d0b85254fcc7e926b9539928ad403809b8af4355abb1e93196b4e4d5461b587c8ad94d04cca7785c8a334b4ac1";
+  sha512.source = "d30403e01b2a33372ce49477ed81fcfcc505b50b1c0eb511dc360d86ec3793ff2ac0c8964448bf2525bec1bc5bb3792ea9729679e2ddd8215948c65bfd44afd7";
   hasRunfiles = true;
   version = "0.8";
 };
 "fduthesis" = {
   stripPrefix = 0;
-  sha512.run = "02dd9ef79be0c04a35e698022091bc4383b8fef1c86a9c7e31191ed9878535a6c11b028985f60723227100b7a22b51b937036855d05ce0b6f2d6a1e234737477";
-  sha512.doc = "f94c29076791883f406b584f4ac480d84722375d66f960575ecb23b799c836df772692700056d054a30967ecce263a8f2f3c1c5861b60f1474ee347c3f09537f";
-  sha512.source = "9cef69446a7dcc9cd4b8f22ff8ae9054dacd7e445c6e640e40470403f0b27c8827e311700fad008f0bdd30e5a2a5ab339df75c41fcf8f3edc175cf393116801d";
+  sha512.run = "2c33af9559603c08ee844cc0dd6dcb8a6c215f0b0c7cd25435b64b1ad6c83dec608c601ce16efdfbeda890258bb36df8eb549bf43bca21bd778e003cd637507c";
+  sha512.doc = "bc3d2c383233846631e5042742a08b5ca05d0cbe68fad908065310f00c50e9732af0b912eecf01496615d221a1ea6fa5f3d9be91c9533b97fdd642c47d6d8c5d";
+  sha512.source = "4f048791cfdfa5eb1dec273618111f0d8e685c9a638bb4aa2edc1e6ffcd11097aeaa85d9130be4ae8136c14277f85a22580c42fdde9a8f3602cdc57eb4beefdc";
   hasRunfiles = true;
-  version = "0.7b";
+  version = "0.7d";
 };
 "featpost" = {
   stripPrefix = 0;
-  sha512.run = "ba519599c85d9ba12be01c442aab7ab7066d1880cf774c56bf93bb76a6ad5c8b67ca53a97d1b432b0e8fae2859dabfd37efca3577352edb37bad0929cb2335d8";
-  sha512.doc = "55094dcd9bfa7bcf527da6669d1d713e39ca62fc39e01ccc01dbd1e5e2919832a3bd93dd5f76667c32a5004307d2ec5a6fe5bd4994423f58df98c1ac86a8eb2f";
+  sha512.run = "9d7c35499df5c8c8efe8ea51d88c4cd9ddc6bd5238ec527d842aaa9ce42c30bb1d73c667f5aca22f385d3725c7443f043a2b63cd337a7f6d5b5d5810ea34bf64";
+  sha512.doc = "e4eefb43d63c6522c3080a76b4df3a369932bc9e2f868ed0143d62fd2365bb74e6891705b287d19b4ca4b2560b0573d6ff9a0e5cf2a3da2e4b21482cd6cdd0b9";
   hasRunfiles = true;
   version = "0.8.8";
 };
 "fei" = {
   stripPrefix = 0;
-  sha512.run = "e74e33c72677aa011be29cc9ca1d3cfb8eed0ecb63a2e441baba8c0ae27bb6d2072bd6f2876d510730ab568ad5716baba653fa29ab6524edfc3eb9624f1f69dc";
-  sha512.doc = "b3f705e065306161bd5fd6846c81deadaa3578b54094031ab232fe24e7e362166e38d2eab4535af608f96be8e91ae8fb835b222d9c816b823b162b9d843d3ae1";
-  sha512.source = "8e48998f200b3f492c53c204373de5e8fe3893891f4fa46822eca3606bab10b87712cf80fd407aed5b27eaf8bf00e737d045b19a3369881d4247f1f381d1acc8";
+  sha512.run = "ece490df465a83203acbbf0a1002a801534e628fdcaeac7c54536a8e33a633d41fbb26e25ca8cc19677799a2be1f89080f3e9472f4d9bff10c6260ce53692844";
+  sha512.doc = "b1f97d16b0652a5e19144f652a3e30bd45486ad5de8dd287832a73345539ec6c2a509b1851b5ea6033e8d967c9fd2c997652163510a8554750641a61037d5bf7";
+  sha512.source = "1e9f70e9fe26fb0f5915fa9e9aa1bb5debde0f43a75abe64d9490de3d857f167dc19c9f215376fba3db7b1a9d2ff4a67e4c2d0708149b122afaae0e785c32a27";
   hasRunfiles = true;
-  version = "4.3.1";
+  version = "4.6";
 };
 "fenixpar" = {
   stripPrefix = 0;
-  sha512.run = "7c13e910f0aca3129d2f93cddd3ee727e040e6c579486ac871600614f68f6fb6147b5d350805758c62a552a976a88c6c96e5022516844ac8c99166802d24b416";
-  sha512.doc = "64a881986cad1cc04f954b33e174dafcdf82433b6c5cb1c4ac3ccbd4b96d6db9017c39ad31a7f181da7f2ef7d600eaca64ea5c818176928e0511de616e4ae0d8";
+  sha512.run = "1b09294b430bb9ab6a4eae11549500b224514e55bb99329a4ee3d9d72ab906128063537302f672a772c02ff4372d46649656a88c4a303a9301976fc7a804387e";
+  sha512.doc = "6ee02d615438e99df82f939a8104097e43802b00af2a0e7be56f329061722cfc7df0edf84c82ac73754d63a703533bd6d5b88b6e648bedbc47be712ff86ec5c8";
   hasRunfiles = true;
   version = "0.92";
 };
 "fetamont" = {
   stripPrefix = 0;
-  sha512.run = "df7b696e142236b7ee0f1fe85b05f29176c95383a74722a1b3a59c79836512612ac1d94fff4f97e74256f214256a4b9dee8651abab0b663909d754e7b11ab5ed";
-  sha512.doc = "15d5722ce31bc5b216cc2cbadb42fe9cce4c43fbea4b2538883da6bd937f106f159f080e21d8159dd92c2ef93605e5655810b0608c67d9f325d1db52fa8ca69b";
-  sha512.source = "9208a9643c6d4961db737798b46e3aafb3b1ea24cbd201916547f27277b432f237e4f0c816b98a48abf907a8cf7e1eec223ce7e7fbdc18da91b0d526cc649478";
+  sha512.run = "20c5c83119d70a94e66aeec0bbb9a0494525deaf9addb9b91d8d5595397ab5a1195eb9d72056a5fd1c3ca490aef66b43558f5c5b86688e7d164360a697c331a2";
+  sha512.doc = "16cfb520cf8b3030d546e1c7f7cd41772fc9d16ea55db6920a50945a7aa3034050d873d3d5da05c108ee303dc1c77217c8a1f014c2e9beaf36d932e33aefeb93";
+  sha512.source = "de4a25f0a86f29d10fd1cf799ac6c8efc58633a7ba0c48bb33716c46e6b0e1c9d5be6ee4e8e4955739ddb324270e44d6fa658c360d03123c18cc275ba6abff06";
   hasRunfiles = true;
 };
 "fetchcls" = {
   stripPrefix = 0;
-  sha512.run = "90a153d224156ab0dba0431e2bb1d808a9d8c99769876549c318b8369d11704d17f3ffd8e9d74d24eab27364ee366a62917f881f4b0128491164e70df85fdec9";
-  sha512.doc = "f92ea859cca20b94deede5cd7f604f6642f9fea247855ada2c78e653787de611b64e6d4e74c1e31e2094037180c41db491ccbd9f61367896e164ca9f60a55be3";
-  sha512.source = "c3e6a00361ced434b3f8bffe954f3f5342278df4114684b8024453c41e523e3e59c8c568240b78c4b25a38576e157cb08ec64d386a5ff92dc067658e589aabb4";
+  sha512.run = "6cd8e2016f7ff344aa06587fbfeb4e498d1b2e76d9a6ff64f167dad71c4ce6ae867d791660f50e80b6f2e59a9f2fff4c4c9b7c1cdf84cdbbec5113081b24a25a";
+  sha512.doc = "ebf9aa0150b06a0b4674e7be076fa5ae4b2ba4542aa28e1b9d4320ea0152a5cc9cbbf926d713f877e74ea948d6132fc36898647e4790c67aab651502c4e5d57f";
+  sha512.source = "067385746ed2cdba4501038cbc4565bef431f2e35e9069fe883c0de8669cbf6f59d8233ff2f561e8590fe8b32a7613a195104f89774bdae4ddd63d65deb3123a";
   hasRunfiles = true;
   version = "1.0";
 };
 "feupphdteses" = {
   stripPrefix = 0;
-  sha512.run = "5226ce724cdb1abc24feadea33ddafb8003e02731aeef0116620cc7a6d50db68f14971d2cf21d32c08e8ff1472a118a5a5a30a0de7c76bc2b5a300509edcbe0e";
-  sha512.doc = "29da36af12697d523460e6df8d191a75262ae9d360374bf41fe3c0185c596ea23e46b73944420bc77d32f7cff3bfb51a0817fe8ca2116fa6c4294151f723549d";
+  sha512.run = "b4d4285b33f314720cd07eea903bb2fc6092f96033f75d4b06cf315fd24d1a34722aa73db4cb6410a847e1d23a131ae329f8ebe75fca15dcaffb99097768f55e";
+  sha512.doc = "d87c0a7722f62a599bcc63f7ecfea190c64d82a4a4a1ba21d18c69866f80ec77a527a82cb94b0d081002073f5faab95119c6902e8f8f2c10d815ca2d206b1d4c";
   hasRunfiles = true;
   version = "4.0";
 };
 "feyn" = {
   stripPrefix = 0;
-  sha512.run = "73027c19e958ceab78b1205b3bed875c1b0ddc4bbe1fa1740a305e56bf2129e73eb7e0394db2245689d8449a38034b95e3ed9e560f9c8a068c46e732f50bf17b";
-  sha512.doc = "f756b4a142b69daf1c0a5aaf64049c26ede2ecbf094a1b63ae30e3773f8a30f07ea1ea4eaed0fa7d2f451ecaed98505469dac7e9a1256a7c064a0be0f8fed677";
-  sha512.source = "d89c411815c7d3c3967ffeb49a0ba479255aae5a274061fb8a9229d3ae48e3b8811caff9ec3618896b2c4635d2eca1b929f2ad0406271b0afb57b46d289dcc36";
+  sha512.run = "56e7d5b875db6eb6e5ad2b07d5696fa4fc6cea7d0f0f9d691bdec0fb90f16bbcac0c9f20f8f16bde20eabf98f72fbbd75831af1191b229cd7acca60bb2edda28";
+  sha512.doc = "df4454efa6f9130fac5ee2986abdd8eacb42063930ee194b65d94a1e1a90460c4116fd62da232f01f94fad63d9eaef627655aedadaaf034f910ebb97b40a7792";
+  sha512.source = "fbfa44afe7f1ae10566d736cadd02a3d9f562b19d25b2f23b1dc27fefc77d6b7af550e7161bba7c62d63f3c75d8b704dfdc3befadef9ad42ed42e42000ab4557";
   hasRunfiles = true;
   version = "0.4.1";
 };
 "feynmf" = {
   stripPrefix = 0;
-  sha512.run = "88222474e2b5894bcad17f774042b6bb37b22739e29d5694c08977576950b2a2d302a0a3b23eceff308b7cb3fa0c13796f8cf6597e7b4fe8518030e75b3f8ec0";
-  sha512.doc = "dca778be6ea8fd00a8707abe507784abe12ba9263319eb372bfde43b8251e22c66eeb6da4c748b272588918d14ab50cc5083c64c7b8c27ef854d653f59fdf78c";
-  sha512.source = "1cbba7a5f1feb616e08f867978c431932e8ecdf949fdcc60ea27b4734f9d8c03770b19f1c57ab28757fc516eb142dff0b5c9e25ea3ba8b515ae4999a621e6b0a";
+  sha512.run = "d4eb87e3f086f2d39c87eba057fc490ce5d39e9c5ae39aa1c04ee8c3be9c4a188ef123f860fe74d31e0e9e9182909c39df3434ddcc618632723f00627f66397f";
+  sha512.doc = "933edaceff112f7442f7c662fda43f343b0e7e41f65aae4f1a45bfd2de18c1e4bda505a235eebc4daf2451846dab376449242217ec803f2932a4a1584038f4ee";
+  sha512.source = "bdc4dbbc449c911c0d516b10da18c1d541645ec57fd95c163d571a039c70ad46e6111717ffc86c802123c272509c85ce1d71d90f49578b2e228a9229f4d40f02";
   hasRunfiles = true;
   version = "1.08";
 };
 "feynmp-auto" = {
   stripPrefix = 0;
-  sha512.run = "22fe3516aa71999464e4262544f50581796654732b6a2040e4047ed21735cb0bfb08594de5317677ce7ad7762425fe3036c92d107f0ffc38c09bb2a5a1ff93bc";
-  sha512.doc = "e6fae6da300f974ec4d09162997220d5f1cd306cfb0f5bd82dd356de55f580b55a2a3e638da2e61a8721dd958ea21268eeb43fa719ab5933968221d2b347ea58";
-  sha512.source = "18e7e6650853d65486328e1ef377f6a210a424f19bd85882692fc4b20b47a4e6d678fe193d71b726893877b0b7824d7f32f2ddd8674ae6b304dea590056f2ed7";
+  sha512.run = "64ca275292b12847d823322ced9dbad615a34089c8cbe43262e676b34db205ed56509f641e18e949523bd252ed1ea73eeb5f019e2cd052274c02b1df67860a25";
+  sha512.doc = "3dd88f5af739013ace4fd8eea70ce247b997e887c0f7067040ff9bf4e0300126aff53845ecefafa7bb52dfc4d05d181a1e96847e6a534c718c5a7447231539ba";
+  sha512.source = "ea29f32f9f1c628d63b81c958f7c8064e884ba1764953dd62fbe5d90506547846f52fe378f813a09090ef6991c9b7d2905095b04fdc0e26aea4c8cbcb5e2b2b1";
   hasRunfiles = true;
   version = "1.1";
 };
 "ffslides" = {
   stripPrefix = 0;
-  sha512.run = "de917097f213ea57a8dfc299a9d2a9a76485a52a74c2e9ee2b637c0c3d7566473bea4ca576e80a9381c3c47f4f19baa50cb07b39b6136fba0e2232540d1f01a7";
-  sha512.doc = "52897a4551b760b0dadc9b13b029762dc191e47049320f44fc20255cb959a9dbc8e4eec60ca79e2b96856d973ee4058558f99271e5798b08a808399bb2d85f08";
+  sha512.run = "393903c180f2fd554178c909bf9a4c060707d8f2fac44022b4811526c7b505a0354afed77f8ae0fa3fbcebed3918a6b46f9e81206be78d7ed6b1c959cd3473a2";
+  sha512.doc = "4a8e176b7bce3d54464a30497e41d5a899905a0029199710aedca7234612092f0b2e265a465084536434c9b8c7f45eec3f2ac3df5eef66cecfdae5cdae36c798";
   hasRunfiles = true;
 };
 "fge" = {
   stripPrefix = 0;
-  sha512.run = "c26250f4c8fab830aa6a38f782d8fae60d71cbfd040b833f3b5c2fe2be8e25ad295693109b3b28cce1216769c96817943c3b30f55a8b379e36a975f7c1501817";
-  sha512.doc = "843e5b37bf31a3076ea99925ce8a5ae9be504e7836de0ee5d0b0ecb5a39ad3147c9a5222f1c25ab9e95c0f59fb3c77f56836767971b12fd25edae3b240a283ac";
-  sha512.source = "5ea686fa6c1116022da456b6b2949309ed3bc8eb29451213752d8167474f9aee2d1b67f7084b910439dc91017302596adf4ed11601ad8e93b6f20c447f79e601";
+  sha512.run = "0336a91c06bf658c1bf139d716952ac2ad420e307fb8b525e53cd4a488e0cff536c89ff06ceb8788d1e54b96a9fe4b24d94beb6913c1be8683e359a4d00dc4f6";
+  sha512.doc = "4f18f7bc1c8000664753e6f0615f7dd1d0f71bf51aeee6860fc2181536f6f1fc37b21e83b0c5b6c151e1012a02ec97d3d5ff6d132a5f6986e94bd173f40f994c";
+  sha512.source = "4eebdfffd7fbfeb7539543719df1e50564df6ba815f37a503fc98420cfca5c6c2a0a0a0f732656bc288009e9bd0fd1ad7fb0a4625748496575179c3a7015e7bd";
   hasRunfiles = true;
   version = "1.25";
 };
 "fgruler" = {
   stripPrefix = 0;
-  sha512.run = "f79f01da911aa41081738aff68486c69bfe8581e1f23c88b6e8f0e97030b8042e50742dc5906d52a4633bbec3b3e0223d7a39d054f8071652b5a55104bca1704";
-  sha512.doc = "d24ed685cec23a410a08f9a519510442947725dbcf8fc010d9cef8814bcb0e67d9c6b10e8eadb51c77dae7f35de6edf8d66ddb4b39fef1eee7f1114c9ae4da25";
-  sha512.source = "4d9d219961fd7c9200142c0d51e3bb7e690621011e23f25e3e449530f941c4494075b89bfa44afae31fb5c1a440d86dc75babfc57e80b897ce8628a4cf54e8fd";
+  sha512.run = "d189eafb4b2f7788d42614f87684bb3cc36d8e022c9c98f8f7f44babd5f95d3462ff25d2d9ab541384d35ad4daa39b09e28dadae1fbd0f7fa25d0f8ae217c34e";
+  sha512.doc = "16e5f5be432e338788ea78c5e41091eac616a3ad779c3c40bff723fda2646d5205599857f0e23f1b2774fb56a2ac795c61babe21cc4de5ecc2fadb7b6d33eb2d";
+  sha512.source = "789c6383611f55e5efa878efc1ba229794a888a26bb4174fe263c5cb2ea678e67422a47520410bf83b90ebc32a4c9584a7f24bb66f4175d6b71ff0ccabdb3de0";
   hasRunfiles = true;
   version = "1.0";
 };
 "fibeamer" = {
   stripPrefix = 0;
-  sha512.run = "fd7d7c52f99f70671606bbf50e7ecbd590aa53141bd50533008e29f654aea18d336156558a5a584de6ab8e6843512f0bdd0a8ee6ee9233eaa9dfd6e2992ffd5c";
-  sha512.doc = "88d3aaa12fbcb35851fa38ed746e9738ba458ec8add67d2f818cfd158736ec4174acbbe6f4e29922d9ee4cded1b7618c271a80ed1d739060cb464e2ed67ef7d9";
-  sha512.source = "1ea9ea639883de3543ebc215622a1793d94819cb738d507295a3b0073aafab813518f3346f15e3924bf288ca266db4c6a28d7a4718beb04596b404bdff8b64de";
+  sha512.run = "566fad32f04b81c95b85f65415acd86e729802a3b638c217054a2b5c0432deeae87213a4ac4a71e35f0113c23b1e98e0cf7fe047b2bcb4f9e00b929d804a230a";
+  sha512.doc = "a70d38f8b6e1f68f9261a99144d6fbdbbd4a883d4b60f3ddaa01524710e0405bb61599716fa80fd99e9b40e37dde9dbf3ac6fdbaa48a8f2ff4da2534973c42e4";
+  sha512.source = "51947801fc6c4c8e4098fe38bc6638bcf328884cc86b25e7beca8525db1c8888145b1852a3113d651f5595b84a84738adc5516e65677ea8c31c195dc9ab0c3e5";
   hasRunfiles = true;
   version = "1.1.7";
 };
 "fifinddo-info" = {
   stripPrefix = 0;
-  sha512.run = "62167afd92d1e9419950923434a46eadb5243d41acafa5c1869ab39ee1e71a91956fbd0d9ee9d453eabe42e31c5c13b1a8c4d570f50eea7b116ae78a77cd01be";
-  sha512.doc = "90bdff2c82815051ba18b7661ba0f5c561b427a180882657e790e310ef6c71b723a160be142e0a5a52f71896441ee341623f5957135e3bb11a5ddab92f4f8050";
-  sha512.source = "3e2e43d1d61125ae336f8526685952a46323d5df92c7b71926a8aee0cd0db12e4c457d49e81a1d95f4d528bd14ce6c01461ff1ead3a12f672d1e64637c9c2ae8";
+  sha512.run = "86767390bc9946b8f8d47dae0334d7cfc21ac2b064b00ab70732f7ca3f50d875a35dbb0e477ef1c014452fc14c177a1c5c6b96ee334c99bbc2bb49eee9ffe6b9";
+  sha512.doc = "e6635f5cc989bfa0da9b2b0cbd5c3719aa793552f4c1adbc1ee218a78b6b116d2c2046b04254e3294834e63901ece9489b8c86421afd3c58aeb8615b5859ee92";
+  sha512.source = "f01f2453c206cc7fefaafd1269c77b43bf1f24a8fef034ebdc40ac2be5c4ef553d2096f4168e7933e63aa816b1397c74fe21d725f0a6bc3d8187c751145a44a7";
   version = "1.1b";
 };
 "fifo-stack" = {
   stripPrefix = 0;
-  sha512.run = "92c22652cc48fc7aac57e2137755be490a488b03924d08fa6c00d70412c8365783b03b576ffaa69704a33de47dbf79c92fbdfd222ba594570cb1756b987f80c8";
-  sha512.doc = "320a14aa063f66f3418be7ecefb7dd96a2b3194fb6b6aad4ba3f88da9deb6165381aa85717883d7d0c59226eda1be49b033b753186f0f8fe57950c49c0a6a174";
-  sha512.source = "608930ce489ef043617bfa5cda442ad165ddaf43e4eccf079a7819829442d9abb7f09740a706a0cd6cf07ae36899466c660700af5ab829ec28f9168c52b53593";
+  sha512.run = "4121e3cefed7ffe80bfaa8b054ba0825ab0fc2b4073a845386de4db3650b4d68c48a4f7378ffcfc4a221b21ad30ac6e199920e7d8c44f503b35c14cf4c001462";
+  sha512.doc = "220d9b2796c20251ae568d1dc5a7eee1fad5cf6aff26a2b94c1a2c9dd6d853dfc9c25377ec8c3d6edfc43f5b4cf645c459754c5d6a642506fa7779cf79f1a901";
+  sha512.source = "3ab0e67acb7895c527be3cee1ab0fe7ba03397410f9970dc7c286418ae6e785d8051b82add959ff7d0596d6983ae6514f70c631672fce5c66bdb6542a3b7d777";
   hasRunfiles = true;
   version = "1.0";
 };
 "fig4latex" = {
-  sha512.run = "f6c00e585c12b56a65ea70ada98f8a42616ae79a5db37cf117847f3a05757dfbdc4a73b0cc58945fd143c2bfedf5c67351b6b86bc7e6aabcd963e400c627a063";
-  sha512.doc = "49092e5b3cb3d9b2cfea001ac31b373c4b31193790d9fb8dec7fbe1b4aac68bbd1bbed0e732d84e4c2653d117765dc1b581911905fc927385b3171c8a149da55";
+  sha512.run = "3f01676ea85d64e09376da4481794e1537b9e19c0ff0bac77c022b10b5d49c39d789de6e4f0356b4ea4b23326f9ef320f4b08035bc04a827951cbf44ed7c6228";
+  sha512.doc = "c05d3c08b916785b765694e68b8f7cd96c3c359325e8f84166102beb4caeada7490ed24ad0b4f52a66cb822000f8b4d75d1013b93055898e88e82d7f23d5095a";
   hasRunfiles = true;
   version = "0.2";
 };
 "figbas" = {
   stripPrefix = 0;
-  sha512.run = "e246d380a26efe266563a8797cfa97da5c1bb0630ff011f0b053437f4db030c78a3ffa98842f54fc02f4c640bd03671dbe2d8892e056e20f4601ab9bbb958781";
-  sha512.doc = "c97a087a0573c04c44635308fcdd5cc2d131b5b6e0bd394af2c783cd8c0ec973491a54d0232cbc1494625a0146b241cacae05ba66fb1b2e13b4950a3dd5f431f";
+  sha512.run = "2fdc1114b03123c35eccd6b617310c714f37015620551538458a1a49b1e9a583aa55b3cb661f204bb9168cee0a7325b066d64315a15a94daa01e43d05bbb2561";
+  sha512.doc = "7dc8140b3b545d2683c471e2e2907a58e2c995f23acea26d763da8989c3288940dcc154ffc0f81ea99169ce574bf90543e94f86bf8217996b7c83474a300806e";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "figbib" = {
   stripPrefix = 0;
-  sha512.run = "64c680d9d2901af03c2fda7598a22cedf7bfcc16ad0f341cb8cf1cb809a093589bf5f7bd923be544ccfee58802c406c60046ddaf5ba8ab8ea9e94df4697194e9";
-  sha512.doc = "9f75147b83f995f5e3a22573e098a294cf56a143597eb3831defa513d8b8ae6490f558cb89c221032c2ac05dbea03ce7688186e75bfc80d1cded28a8ed9c5613";
+  sha512.run = "1632b372b06d8ef3cc363d6b05e70b8a493f357fb947ca1b8fbb7752d7ffc4ec09904e747a3e9b91b61e5d094c96eee954d533d1b286b372aa57244ec2abc63d";
+  sha512.doc = "ba42f6cc811fc9e00c41bb6fb410a57a2efe759a0fd0621cd83801963d0ed138dc66a1a245a4b7256cb056f3fe71e883a8fa84d19dda785ba24825e85edfa044";
   hasRunfiles = true;
 };
 "figflow" = {
   stripPrefix = 0;
-  sha512.run = "ad50e8df3e04371ff96b9d4628c0cbe2cf03add781e1741eb9a188d414b64dc4fc97de8bea1185b4f1910e472b589bca16c9ac218e756ce7413243accb480532";
-  sha512.doc = "d7ae465a24f9e0ce7f06579c9d997c653d544a70d48a7b59e6ec0b9e204b5c9646cfeab7dbce470da15b54e5a7d3e77e3eaac10a8569bb19b775b37efc1fe0f1";
+  sha512.run = "f75517b5c43119d33edf46fbe124523cacf0d7d837cdf66af702ba563392a96323b266bece1ec9e7f87df34d684a87ab38f9ddafab6c3d069dca8ee22c3bf25a";
+  sha512.doc = "c972bfb356731aa119e8cdf1292a3bcbfc08a74453feb7e509a5cc519f62ae6c7e6b0c087973549b9d860b97ff1a3bae9cfd1166c4ac6a74553ca6c0f463694d";
   hasRunfiles = true;
 };
 "figsize" = {
   stripPrefix = 0;
-  sha512.run = "a48134a4cb9acceecbf382d3de106b8d3169926757367475ee4b0794fd34121a03d1f57a2ceebe764fc20cd5a07946a5e19ab99de20c6acc6f2179660de42d29";
-  sha512.doc = "ae2f520a04935789e3018f94344d336aaf6ddd1362e9b7623df66212297a624afbd5936c4afa52c4072de40a23bdd8a6774a042a6b7447bd14fbc0269bb0acfa";
+  sha512.run = "3c7523b05d04363c57c1ba75a39d9698b1648ab6a858be15112b6f47c052742033e3ed16752a9b9ef3854ab93f547f0841c32f1cc68fb9d4538fc02a7bb19ad6";
+  sha512.doc = "598f631423a97e189c21e117a7da23c95bbf4dc3b616e62fc6738674848fc46be4d7dd43832ff58ef834c0fdbe35d8923ba9729d5c48f90b0431a22bf86f79d5";
   hasRunfiles = true;
   version = "0.1";
 };
 "filecontents" = {
   stripPrefix = 0;
-  sha512.run = "98fe1de0b2b0b775af5a82f77c15838639501f80b8a914bd72d36d9b7d2f98d357b90a8941dfa91450db5c9d3bc0f8bc2daa744c44067a3f33875cbc63e90ad5";
-  sha512.doc = "ba8246e491a33afca55cf1fb6e65220f66e693ad850071045607b828e564e16c621b47c46284736927c1f8b3330004df9ea260c7edd23cb91495080038ba4af9";
-  sha512.source = "3248206aaf15b6975757628b0b46ff54df45ef41bedd901e048ec6854a396c5e4ccf6d27e4fa47920f132bcdbb5a0cbd021c1de8ff9684def897ef6ea0537b62";
+  sha512.run = "b40bf2e4eea194783dded4f00dc24f1cea26a854e96b57995b69354a70c1e7ba9ef0e64542c2b524ad59d9b12fb1accf93ee28b4c7e735279c0bbeb915b6c991";
+  sha512.doc = "0ebf1990c005dbf92b7ef73ccae0cf1ad47ca896f0805a5a8291a15c6764e2259ae03fe14d9c713484ea258764b706881051b4001589715bc36ee17ce5bdee23";
+  sha512.source = "e0238c49fcdda4a6d5ced2e52a7f5113996fed3bf7d8d2143d499870b06a1d8381a2b0796c2708570e554c1ffbd7f12c6c69b52980b1e2b7b91b2e8d2112e42a";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "filecontentsdef" = {
   stripPrefix = 0;
-  sha512.run = "2b4d4e1f6bd57d7bb62140855efa501d12eba8fe75c6e05b0e4a8aa963ac195246ba6650656dad059b3dfbdbc8b024dd575ce708170081e97f5aa2dd0074b546";
-  sha512.doc = "b1b8849577b15112e283be7f5af1bc1ea16f29fab06b73e0df24d8f292fcb2161924f011925b7246a04948d43c45c1b6678784da58a3e656ede384c9f529eb45";
-  sha512.source = "1bdf5390632dc1ce361c2e5a44a6096a0af24579d30b04bb51eb961efcac4a464eb7fe2b67f7370eeb255dcb79fb89a8d9b5281917009ba058edb38aca2d5b91";
+  sha512.run = "63b399a5e21d2d4946c195f380a0d5f269f8c978c0b504cda80c0796604dfcb66df38ca79d31078efa03c7475967bc0ebfb856e933bce6b21d12836368780e2a";
+  sha512.doc = "26e7ca9971a0683325b62e2feeeb0db6ecdd3a732f07ae93515f2300ed58e97a44ff8a7504d194119c1e27d1d9bc4f367f29c17458c0e7f0b6a0a61fe18ea0ca";
+  sha512.source = "f6e822a28e074fece05b911f0bf9d262e2b925c2a73559764e1eb5131d9081b48ace0ead5f46bb250bf648eac204eb1d5d7b362be508f58b40a50f70577de534";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.5";
 };
 "filedate" = {
   stripPrefix = 0;
-  sha512.run = "5d708eb35731a5623dfb01a92a1b8c8b44dff7437d28e716407630b3cc63bcc57b14738010b6106b02575daaa294dff3dd78c1fb2c141310d1b8648de85de40b";
-  sha512.doc = "d0fc0ebd2bdae61477598a9bcf62fe7b02b2ecb1798b5188ec9a5ab6649decb25d2a05c1941d3597a6b0498b3a2d07a2d98b54c03fb172bdf4cf7e3fc52d602b";
-  sha512.source = "a98556187fa34839c152dca61fb45e2bd144e8c7214e7175243685e263d3265bf9554e84b6c65874fcfccd8b6af5dbfc55f2458f0f64818860a4442f4b3ffa0d";
+  sha512.run = "5e2789c065459e82f073599c4d5f04c626fedae7e02c8dc58d6595d81ec8281c9c362592eee9547369b7a8e9cd2aed1ec526d69a8ae22f35771d5494e3109032";
+  sha512.doc = "cfc2eb596e6b6d17015ab2ca061da39e673376d6f4c526dc045c8d2514fa8372f1a853a97425b4bcb9eb0bdc522c6b482a9bc3da9f56f8a4e0c22e4970a40575";
+  sha512.source = "cc2a12c8f3b9e7391d6b57eec6c0f486137524022d89d3d3e7c037ab468a4858b253e8baa1cc8eeb731510c5e221b7cbe9a9f22a972023b3d1fe2f975e4751dc";
   hasRunfiles = true;
 };
 "filehook" = {
   stripPrefix = 0;
-  sha512.run = "b9c4837b60c6997b8df6f9c4e5eaecb69110395b4dce7645a7a7692887bf4f7962635e09e4a2fae7a8f30b623d24ec126107b5df93d1a7ff374d0d0c66e3472d";
-  sha512.doc = "9a716bce0053c97e6a6a5df5a11a99816ce4c893e3b64058c98b886b11d902a48fa3f8edefc0011c1079200f5269be6ab303e519658e3b981635bd37da97641f";
-  sha512.source = "2b63b01bcc3f3fdc44a671800696c2a37694cab5093826984b800b5f6acc866bb950d03e38a814fa56e055a773ef9ef51c370eecbb61999676187f4dea52b454";
+  sha512.run = "cecba772dd7c5059750891151bac94cf1ca37512623363a3b42be449c47f29faac5746ac937fb43ea9a54e6e5f8f54087ceada240d3f1fbb33564c56d14720de";
+  sha512.doc = "dbd41905d906934608fcf83901b946ba811aa37463c8d0ef42679abb1a19d273298ca9399964e2c16b76b9451ceba89c220956133bf9edf0a83be1b9aec019f8";
+  sha512.source = "65bb2fdba8b6288189d6940d27caef6c25a999efb3df6ac673441cfeace02934fc7121e4a4df27cd2fbf7b3f52619e9d8399d2fe47cdc26afeac59b6cb9c4820";
   hasRunfiles = true;
-  version = "0.5d";
+  version = "0.6";
 };
 "fileinfo" = {
   stripPrefix = 0;
-  sha512.run = "87b4bfbf19357fc971b49f1e582ae6a3a7a70289d4f487d9b82c7c8f51814231097c492fb581d406384d9c54e41545849756f5e2e1fe2e5658ef1f179faeb099";
-  sha512.doc = "90ec6f61c9fefbe471d0845676f4c7fb099645337f7d75cf8690462bcf7b55367f6911dd0dacd522eaabb1ce5f067046bd51f9867b44b69fc6bc7b96cc058b24";
-  sha512.source = "ec5359366876b018b7b310d594d17021a70fb515c6227fd1f194328f71d69ae37bbe52eb3bcfa1efea43545adeecdff64c5105cf489a20fdf6bcec3a08915541";
+  sha512.run = "2e5914e32af48db731aa83c3e51e6d9128dc969891bce21e1e2f859cab79130c9f5caa0f591765fa8a9b48c38eed8d19305f4be598430ab1e2cb3276b6faf191";
+  sha512.doc = "03b4ecbd21ec39d98949f2e8ece7e48bd539a75051350d1a9ea19e3d32ecd620c0f1a5dc454e626237534114d0430e2ad7c175e9c1b27ba15c78a35aeca3e3b9";
+  sha512.source = "6875ecef667da4476def344901db38f38e988d2345c2afff42fb812c01c356df8bf1dd3c8c9a563a883fcb9e22e85b8813bbf50905d711004a439767ac0f7227";
   hasRunfiles = true;
   version = "0.81a";
 };
 "filemod" = {
   stripPrefix = 0;
-  sha512.run = "57196ce4e542998eba3541084d26e65d712bd038ced993d656b48c70bc867a21f05e01542bddfb87790e4b911f7c8f324f69d517d497e4d47798d16499e37619";
-  sha512.doc = "0dbd05659cba350fc028ea3d5663e8a30e3a30e58b2982a7d7b6e17c1d0ab6e1e9667ea10b21bb082b5b807d52c5e0d13797e3b05c8e37aaf6bd4ff789d50830";
+  sha512.run = "4ec27d16dc551d42f9ff326d20f78c48d73e7324af65f6ccb9e662dcd399394c631d9a742aef8a2efc235dfd769a04d22b4ba37eb8a2cd06631cba298540c08b";
+  sha512.doc = "88c1d8c61ed1759617c9cec7cecbb28459dd5e06f139ba3ca2f98d7b6357a15fc89dd90daf26e5f4d17f33fe9673a8c17363fb757ecb71d9e530f0e153ec486e";
   hasRunfiles = true;
   version = "1.2";
 };
 "finbib" = {
   stripPrefix = 0;
-  sha512.run = "407e12fd58de8a0f60eef6e75b815f5d102f754d4861b4fb9f3a0aa4a80b27b964714909989bb35ea3abeea3a45c42c89afe29b8a7ff30b6c8d1980a34469f1f";
+  sha512.run = "14f08cdc92a2d6d511c112c480efb0112d45c199023e89c9314740c2b9b83598bc9f8917ce616bb2493671f408f946ada3de4535136eff48b7bbf72e7436f912";
   hasRunfiles = true;
 };
 "findhyph" = {
-  sha512.run = "7125515ebdccd398d18cb71eba65197519b461ff273970fda6cb2f882d84d12418b60263a85671917f2d7450339273153e5e0e4ff6eb0f8a36ef38a949f6526a";
-  sha512.doc = "0d2793837bc16ac5f9b6aa245f24366d68541e0d4ddc55f70fcc28b6c324b8282b07a2ad6b0eefbb77346621e1b0b44d25a11971357d70870fcca7d79f00ec06";
+  sha512.run = "aea6305dc0d9b31367638078a7958933468e761ef4cf47a1c44d9fd5ab2e25f7af22273c4631946a90edc9b51947c2e56b3d4b74c8c59f0a79250c2edf5bc137";
+  sha512.doc = "97f3fa22fe490d21bc9e5ce5ea0b23ff25ab9afd9c5dbf6e8d78b24fd306ddc132c5ba7ca7ea7e3d7aaeb48993c7968b0c02ae0b765416a939d84b53171f4179";
   hasRunfiles = true;
   version = "3.4";
 };
 "fink" = {
   stripPrefix = 0;
-  sha512.run = "3db9998be0f255b9867d8e907c1247bcf3059e6069aa99c303d014d62f648890d3b9bbe0976cee6981fbd022f5ab7d12fa7c4ca562a074e4da93ef5763f5d4ad";
-  sha512.doc = "4b695569a5d487ebf0803ea30f942f477e2b11adcfdcd925583814df2fafa821bb243c17615f91ab8a9786f737930fd7f1699281e6e3d0cfe69eaa040698dba8";
-  sha512.source = "6b4c5fa64e6530251cc7777821a3994d4e956d001a29b24651fe50a57e5c2c5efbcf4d52db669eb9c8b081da32f49a523901d0e98e0e9b0b3a8227e84c6a26dd";
+  sha512.run = "837a470970c8376e1d699b28954cf2ac6ed849c2f96a4c17ced56ebf142297c36d3f856f9cbf4db920ae33f491738f7891433c5c6627565a48fb5391b663634f";
+  sha512.doc = "7b1d9d1c62766082030d7632bd91c65328d1bf3e8bb6abe4ed64ec5188d9f38d3b2a99695f32c2bf04e2fcd634819926ba923eeea915186eb9fe96bcb43954ca";
+  sha512.source = "e37a35a9c292ad3f213c560505ca6c446eda397771c18bb1fa2b64df70cd667b58ca03b6f821aa0a9d6bedb3910b66c411349f70dfe3eb5ca2f1fbdb9f925a35";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "finstrut" = {
   stripPrefix = 0;
-  sha512.run = "56a940bf6d97a8e5ceada5c8e622c0634c5fb349df86ceeed6c4d206510c9e4479c913d136df71428549ee72a9fbe3385db034cd70049efdbc9a4eefab93ce2d";
-  sha512.doc = "6852224ef7f7e2f7c4f4553e0c9a9c3314947e1024e871b1b1e6671468a66e72c98757d065b858eed3cc099dd79159d7b343852a2f3d548353bed54c609c435b";
-  sha512.source = "b439aa92c4e29dc2b8fee4627af9e7e1bf5ffd359142ff8373594278dea603d6c900060f01754b987f02d7239784bfebf00b9e4c5133afb66dca2647e3cf89e3";
+  sha512.run = "8b360a3426056b61e58e577cc68ba9e2f55b63a3b4a0a2eb76ebee53e9ff327da9235e9da5cbb85e3cf369cd48354c00a79cd46110ba4adb4b64192b7ff7b603";
+  sha512.doc = "8cc27d82f7125b5ee82585f97385924737406e45d9739ec9cd57b76736e902a588c7258628bdcc4841e3e23f359a4d8ad22a31ed6f821f1d1c59798f4e8f3d56";
+  sha512.source = "c06f1b10815444ed51b13d83258e1f3d246da65a581a0946e7a05a9c8432e78ae395efe18ff6c0a84db8fdf6016ab8dbcc6f3242e72936f46e522d1074ff1b87";
   hasRunfiles = true;
   version = "0.5";
 };
 "fira" = {
   stripPrefix = 0;
-  sha512.run = "26ae1aa1b223dd021f065cc16d2879b48cbf15369d9ee5af1b8656f227880cf17ca477ad790883ed4ee1650bae25b2b94f7b93e4b035f18e4dfbd94c3529dd44";
-  sha512.doc = "d3e193d0d2924704a0c2b01d3c0e2bdcda174b1550ed881c0662a627b971a1c18d7e5150c1ed2e9e6c7d3ae37e31f21fbea6606f3c771130ec0cbc607b18f9ab";
+  sha512.run = "3fdea4c886ccde87500e792a7508d5e7923d7a58f7f536b047ca537728f42c1ad44ffebb9b80869f1e30206e7f17ff5e694bd72b9d4c1a68eefcd01ec0b6d6ab";
+  sha512.doc = "b54acf3f963fcfbc58eec3fb1ba058724638939d6d0f63b69108c431e6014fc46313e7d2a11f2d31e1bf12041d6d85f426f2b0533a3669f3bed14ecffbb3ce3a";
   hasRunfiles = true;
-  version = "4.2";
+  version = "4.3";
 };
 "firamath" = {
   stripPrefix = 0;
-  sha512.run = "a76f4049ba6b83e514462c367d84c6942d5c283daad25bad1a1a64a3384dd7f6ace34ca6338402057793ef7ebde39b7bc138d091a6dbda070703cd4dec8a8f77";
-  sha512.doc = "87cf902998aad9f57a90c71b8184c608f2ecee93dc5bbee1b71eddb972d3ac1b0cb1369e6667e54c4a165b1f4998b2eb29ec39375ed65ac4b5fda1c0b847d98c";
+  sha512.run = "0a2e603e05302bc9dff0ac983b9f05e62cf085a89056eceb8c82aa8fe1d94b40fd8be48ab30a59cbd5a48cfea4f9da0e0060adc73d4cf76af5c03e0f3162560a";
+  sha512.doc = "f00a37d702ed8e38a841d308e51efee4c6b474a56dd4ccb9c1b395386da6e0de16be9cfce9acc7486bf5a000e0553bc1a47aeb189b4e7829db4bdd6c0739dfc1";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.3.2";
 };
 "firamath-otf" = {
   stripPrefix = 0;
-  sha512.run = "b5f0f33439dbabff4daab648554b32470ab242c56f4ebefd554857c42db2231f035db4534d46745778d66260435bf8d3c19d65ad754b7cc1148068f050aee3b7";
-  sha512.doc = "4f11743035b60ff319bd64a8b769470375036ebde523771e44c54d86426a5648c5cfb3835bb0e0153b3bcf3d512d7462a0188947524eaa573453e40a681a9716";
+  sha512.run = "dbbb13d184e2a407bcbc2681bc9c5ff0e83017141792e956013254dcc50815f5b913bb2e40d6c09421883db774e9ce5e5ed17f6602ee902f485069fbd570936e";
+  sha512.doc = "699e10d44b1e36505e872070c2799e1191e995ca6ae26058e7d069c96500a9c0914614750f6af076abd3a30b281409613a846c314a64bef047b3e313b0a4cc97";
   hasRunfiles = true;
-  version = "0.01";
+  version = "0.02a";
 };
 "first-latex-doc" = {
   stripPrefix = 0;
-  sha512.run = "b5f0b5ea0787819e8ff1863e545a3af3c01c20d2591cb8baaf4cbb95075e31ab1c50753fb4f77ce8ad166ae2299c0a488b84a5d1f4b0566cea5cc15538bafbe7";
-  sha512.doc = "2ab8e4454afb7b3336f7d1f72e49f783a226e38da10d0973ca08ecc9aa7fe13a0e3fbc37db6857e0a5d33b938e064b8d6448e448020d2fa0a2b955684da5ec76";
+  sha512.run = "39641224689a1d45d59b5643e5037599d03df3ecbe95090d565778758d334bddf832e867a25c1688adbee1f99eea23b3ed21fd6729fb3d4e50f1503537c9a400";
+  sha512.doc = "497080fdad8195bdc43bef476f9e678b49d83829f10a6653c9443d327cb0da8505623e941cd3038349b6307ee37a65ce1a3d3eb48e4c6262f9d636d10d96e17b";
 };
 "fitbox" = {
   stripPrefix = 0;
-  sha512.run = "4fe060ac5a63a6a6d468e1d7c3eb156ea139c8a9c2ca94b407e89a931c3f48f1adca7b6aa90923617c51e485a6410bec479580dbec8e86013a3ff4f483e69872";
-  sha512.doc = "604919cfb9aa83b645385de6963fe26a165c3e46bddd961030049f61b51ee5835ec9bd490b5a017a8e4bd149004fdd78b0843625b15d9565b99b2b37197ef1e5";
-  sha512.source = "464b559480bfb8623e6bcd2765a959c91ccf5c23ba0e06bbc32718368e26112eb30d2d372b03459e79c4ab66502f7319e5eb41c1501804aa6f9aa6a52328e9d3";
+  sha512.run = "5244567062493fcb5300048be6786f1ac48c72c363220b894a2695e78646f461584e189f227d04f55e9127a66ab966dc04cbd762fd08277774fe1c0fcc7d3c96";
+  sha512.doc = "71d77dd1879a2b9b20f9c4934af8bd696de567b5c0187e7a5bccc9e225fec5793bff6bc670ce0bbe1065cb67de73f518942ae48aa0a27e46c2aa47dcad6856e8";
+  sha512.source = "406ae04d838114e9cb7205c9e704b95e8ea8c4747827bb82fbc53891ca552042e5742f7e524361f2a797a77d8b7286dca3512ce7099ec8fa23101668d4bad5b2";
   hasRunfiles = true;
   version = "1.02";
 };
 "fithesis" = {
   stripPrefix = 0;
-  sha512.run = "dd7e8c5306f0d2be96017aaa3312b14da33efe130c7cd8ba08c254796db0b6cac0e14fe50edcc408ce8a134ddb77c7567b31a4dbbd96d7b629302f9b461527fc";
-  sha512.doc = "efe6afbf9b59248e7ec85415b9a4ff5d6932b85b629dec4e306a96e550a34250d1e81488b1f9473f5a82cc89f353cf823c426dc5d2e9949e0970f09680034c43";
-  sha512.source = "b14b508955875c70ce4d6801a341965b5e640633f651b5c65d21fb647063136e64b6d0aba8dd9157b1869ebe3dd21e5fd860092f1fff7031e66d9c657d5e4f76";
+  sha512.run = "f21aa6a1866f0a4d21eb8ea1e1463e421fcc72c75b72f4a79efabeb65da21b633ff913cbf99eebc71232a9e020d2bb7743f520863563f7eaf9763bbf6e9ad29c";
+  sha512.doc = "ba5c0e75760119d9423cef3d26eac3f4b5621c80e760ef026aeef68589b5a724b0c7837088652e4e369fc48850a3d78c0e86f1f2b1149118a17739b5b9c0809b";
+  sha512.source = "33f8a8bdec9faa2b8a57d874c869d52e6b612c9d24da4ac701355c1ac681644388d516ee7358a0805ffb04ba6842d7c1eea533c17b4b14fd3c87acfee180a17f";
   hasRunfiles = true;
   version = "0.3.50";
 };
 "fix2col" = {
   stripPrefix = 0;
-  sha512.run = "fb4f181d182c8d3be5ecdd90dcdbadfc54318a404ed5498e6f8fbbd509693cab1ca66c5cd7d2830a8f5718195cd852e3808516bcea5b49bde15b4208ba51dd61";
-  sha512.doc = "4a1582896f707571e7ff9686fe99e2d77ce20269f1dee25529710cea23148618cc24d4cbacebe0741740fcecbed8a3c8e0d2ee0bc5310b660e973b34dcab0aec";
-  sha512.source = "e220c6bb620dee018ac7fe6cda9bdd2fa814b81689e3d6330b954c4a108cb2cc6ac2141edeab23cbef313d2a38193eb625212b5fdef919b7e49c83edbb8b5fb1";
+  sha512.run = "b3f096a64fcea6c6b2864d4e8a86733afb852f3decae4704e6c275c41e1295622f1eb1c8db0e0d33a29e369a9b757495477c9ebcf82ae0003c4316967c03f0dc";
+  sha512.doc = "302ffac957bc37305fc5b6f458c4b7dcb06b65408131bcf64c0132638a110813eb6c748270ead340f3d864b927aa7bbfe0a16c3722cbd8334b1d8ba8ca72e7d3";
+  sha512.source = "af17350815d50b2f880cfdc9cdefe457e541041e311e886a87fe45e53e7e48ed12ad83c27b6cddb0b3f719469d6c0e379a68860d13892879cb89678f51607e97";
   hasRunfiles = true;
   version = "0.04";
 };
 "fixcmex" = {
   stripPrefix = 0;
-  sha512.run = "32df4f4e2ff4591dfa42368bed25e0f24e5a6413cb15012431bb3d0d15664b941674197cd51580549c6b1e26b2cc6f288df5527daf8aeec3421c0459cd62c7b6";
-  sha512.doc = "6fb12fa5b0155a04e7dbb71ce0807658e35b299e171c6701bd399aceff884a4df66cf054b472003e61db529ffbf3d44d8b18725589e50d014fd347ad1f1b84b1";
-  sha512.source = "ac63cd2ece9cbb68fb88944b2e0e1af240371b511d145fd1773408703f51f565450ec84256399b1e2e20e7abff865d8ecb8fdad9af1680de7ddfcff25debedfd";
+  sha512.run = "fc3a1ba6c5516378182373b89b71ddaf22e713c0be959e8d5afa1cd57c50f363e68669049750f286142499961c56f6bacd60c63b0211d5e6ba01d7f25d58f759";
+  sha512.doc = "e6f65b38a4baddf6c1840b0bb18464b6c94f97163672b67a87c693af19030bc3ab2db7607646d73f8f684e08258906da2380e7b1637ba85f80c49cf7d5045bc5";
+  sha512.source = "2967a93b0d041ff868b4f894a2b9e1d59d445e601af982d576a8ddcaacb00d4688eccdfd56d51beffd19c90903fb15fbcfdb0cba08983e78636757daba176cc5";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "fixfoot" = {
   stripPrefix = 0;
-  sha512.run = "658f51450828ff5b1c3127ad666c565ff25f7d35a0a8bbfc9c5f02e0505267bd544861b54be25698d2626582e51ef240e73b99105a2fdddbddb6c6dce4e5cbc2";
-  sha512.doc = "729934182676f566a1a5e07e665e0ac849acb21cb8def4c88932c7b1e03d30b539e53717ef35710b1c8bc28ea64a72d30138b915e30ced67eb461b45dafb4eb4";
+  sha512.run = "52c25b4d5bb9e34fe3f8d2b122e68352ad572ff9ecf1011f3e9fbd67319d0781a48ca08ab03ad3201f1d1d2bd6d4e35fa3818e695a741a8ab440ce81f7724039";
+  sha512.doc = "bfe0e39165be8f9a56e2cbd4b91c0b7b7448d0b9d8a4a0b62d6c0d45e542a9964af3d34233ec777b69f0666a0945513a8475629f0b084f72a0b349682e8ad6f4";
   hasRunfiles = true;
   version = "0.3a";
 };
 "fixjfm" = {
   stripPrefix = 0;
-  sha512.run = "9c4efd9a422ec0b272686c5fe4c2d12ae680788241d81b3566ed771c4cea231dea72ade81ae01408a263d0e5b17905e2f3fc93894fb919112171776bfd715903";
-  sha512.doc = "0894cadf0a622e7417f9c7016ff4abb5bfba98dba58e657dd7e78f80e97415b3add502991d15ffac0a50b2f8a2927f478d112763b16299e0931da9d486c9fc15";
+  sha512.run = "5ed8db53c1757c4ab6f14e763f9e58a76e5f8c594c30c1d1fd4d7c9a49d65da90d72650c88375806997d0f268b1a75215bf6969f45e45ef3a2127c422415bf16";
+  sha512.doc = "5de4126f1f5215fc8132e0449048bd66dc73d8a5cff460d7873205f3cb55c2f8069870d9ffc794d5c173a52acccb5bdbe45b34189fbdd40509bfcdeed804153c";
   hasRunfiles = true;
   version = "0.8";
 };
 "fixlatvian" = {
   stripPrefix = 0;
-  sha512.run = "9f6ac11a75f6c211929552902edc6a2f7303a0928bd5862e6692220ab32153941761b4a056ccf04cc71b767f91df107af56c8ac373d6ebde1368915c4d3113f8";
-  sha512.doc = "6ff8b8a5b2b62a2fa83eb541a449d5fe12df3f17bf0b5fd12ada7c1becb89a028f395bb4e68183700452bcac3026da81816114314a4c1f09da9d08f7dae5bf49";
-  sha512.source = "6f510e9325842838fbef50523f95ce432a8b8827bf34a612b8383b51c8875fd5c748ba8e575ebd0b76fd585a6faf1251fcba4a2c20fc4299014a454ef34ee052";
+  sha512.run = "48d39745498c187d23c62191d7da6341ecc13d6c43ac97deebf453046e78a26d221b5c7b7ed22aa8909476a754e877de26c20391bccb5cddb2db1fa7b238d643";
+  sha512.doc = "07dc4fa87b8564c3ff3144936ae4374e0bc7cf37a5a3e4b5d0724681859a41d30d714e96742253bb9a269116dd32d2ab0c1e5e1965242e88ea12fdcd224ace31";
+  sha512.source = "04903bf5ba774034c0b3dbec7c7d37ca5a802b3d104670d259667f8a965da26e7e954ce9272e14b6bab058a7e6a4b8ad42b710e22f85f2d0320a7827b2c7e173";
   hasRunfiles = true;
   version = "1a";
 };
 "fixltxhyph" = {
   stripPrefix = 0;
-  sha512.run = "a9758d799989d3df6ed91d88c86eac84a14196a05e0ceb52e3427397e785b84707b3557236ec3c7cc11e4fe78c194e5c1ef2ecec9dc293f2d2bd2a45f52edda0";
-  sha512.doc = "63f1a9b43c00bf097d2460b9dd4e1aa7b91d48fb7ab54987e94a2da05a0f33f199e5c66c3c9b5f2d592dc9f464c4bd29b675c4b21c3f7edaca7db1448a5552f4";
-  sha512.source = "b502b61ede064538ba4311abe12246fb7d79ebcbd8337fc847adb066449adb40365f17342ce471b1796c1b0ef9e42e91443495bb591af21bbf6c5ba2342a0b40";
+  sha512.run = "df41497da718b157073b6ad2a4b9cea3f9ee0a0824698f47d4441b76261efb21271f1605f69b1c0de8a99e3e636587a25b4efdb4d578683ef0c89d7f849d2c8e";
+  sha512.doc = "37d6b9903a56d33577c8aaabd40de592bd78dc6b2f5a2c82457f6d5b499d1d6f9a9bdaff29bb9f9511365d32e160f92c85c6c0d93ed065fdd1688aaeae9ab246";
+  sha512.source = "321e52dbc69bceea16f03d5d280ae10f497278876cdf3b7f64cbfb6f31993c18afc5bf4c38f424c9a84ffa55b235b73b4daf7d68dfd115c31dc3a237a6b64eac";
   hasRunfiles = true;
   version = "0.4";
 };
 "fixme" = {
   stripPrefix = 0;
-  sha512.run = "00f83022db74a076029f954aaaeb19fbb3dc0315aab9cc52523d0c4cb6d5adc512dc1dac6ce16acdf30acfd1e2fd1c483c039842d81ad5b4f1bdce8cb7cedb4d";
-  sha512.doc = "00aaba02c55afd9effae31fb458937889bfe7c97738a04e9f44e1adeb73e5107be9f693d1d1c7ff72ea2e977e06265b9de2a2f66a5dd952ea440c19a1ff87bd5";
-  sha512.source = "65b7334a492184aa6ebf4c75ab53c1eda6c2fd8d115be1e59439e2d1366dee2bac075fa0a88c2e76a23b5a327b83b3e2380a90715f021dcaa9114c7a4f04f647";
+  sha512.run = "fbfc3a79dbaed48f79dfd59efba58eb3d6c4e3c3f6716b0910cc0ee7e6b0913f345f4a05bcbc5d9943437d072cf3008615ab573725c4e7b4d7d716bd90dd8d07";
+  sha512.doc = "78f64f31246acc6c153c0f0ec618a3a1c473ea3a5cce47af57ee65603d2064b64a3a506cd18332f1686b41768dcfdb10a9f9cc000dbe5cb476c8c4c61283dae9";
+  sha512.source = "f5c1f64772f76f43fc64e1395804f155587d677356bdebb6bc2e3bf6961b38004463e8e83b2c3b5406e32f329c2fc84083e0f0db90875fa55319f85cfe4223c5";
   hasRunfiles = true;
   version = "4.5";
 };
 "fixmetodonotes" = {
   stripPrefix = 0;
-  sha512.run = "4acc23d93841477381ce6da0126a4b0c953ed99fbc53ceb642b17f31a96685239a68b4d8852387946ecf94a0ad595a8de09e0b1596bae157be44ef54d163afb4";
-  sha512.doc = "11d0c498719506e55c5ecf29ed3c1bb8ca1d6eb46036e6209fec6075d81d46dc688100e4b03553fe258d9b30a8efa06e98de8b0933ff01bbee2bc32bc75aaa12";
-  sha512.source = "e0c2e2f190685e3c59d33e974e3f96ae3d7bd36c0a401988bb4406131df543a5ad9fb56ac137e45d7b2774fc31af0245edc7f85b4b16656483584be5156797ff";
+  sha512.run = "d327d19ac0e9041da98458e9147b3d1a9c9182bfe5c893c03ab9ef42b9c8044314f4024503327594bef337c1af6aad0b4f2046ea2d6a433947c6c45ebdf8838b";
+  sha512.doc = "7d7f8b049feb8e70c5d1ab0c71147f1f398b098f9c961267c3e90dc5e9ea9a8317361a0dacd8fe581e17cd85669bd39e83a1391641d353b01265a6195af33714";
+  sha512.source = "1a4028aca8ae5fd53dd8068d17a5331ad9011d72d668f9ca8242862599edf7709e84a8848bad35fafd790ec756c972488ac8db53a240426dc5dc95dfe18385fb";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "fixpdfmag" = {
   stripPrefix = 0;
-  sha512.run = "cd9db73b7e4de35a1cfb83fbc0687063e98bd2caa72798cfa9142536e6aaebcc84343de80640c3e59b8243508de68e3857910541babe601e6192195f371d1af6";
+  sha512.run = "733995ec82df92bea5a674fc25a3a6af2102739c3c73eeed7c9f40cd54bc4c5d65cafb35366b70641ff0661dc83700071054f7af274487474c3893ce5a44c9ad";
   hasRunfiles = true;
 };
+"fiziko" = {
+  stripPrefix = 0;
+  sha512.run = "785f99a52193acc630e5fb00cc2db9e16795f42059d65054b0fa07f8081b95e66a245fd05c8b3ee49a69d91a17e7447d10c39863612e44e2632afd5fd0165e38";
+  sha512.doc = "e9aafff476605082dd4116cda573c8f20311659276ccc7dc3477a24024d59604b4b8f724effc853d7d7832493658fb4f8b83302921544ba2c986266317f5a895";
+  hasRunfiles = true;
+  version = "0.1.3";
+};
 "fjodor" = {
   stripPrefix = 0;
-  sha512.run = "307b4ccc6aafd4b4791a667204d713ca0ed6bd20c1494042b891487014f552fade5a3b85f1953001d5f699542bf312e326e99372681410193b368db83a509ca0";
-  sha512.doc = "cbc4ae27c667cf4d374d41d63921646980cbeb5b07227fb7ae7c26db81a5b815d68908c760c2b55de7553fa691a072ff23df60bb80e1638cc3e3e0a13e49f4a2";
+  sha512.run = "26186ec669370270049d45f81b873b444d829c11e9127702533bc09036795ddbd5b6bb43ad54b91662ab9206d56211f1db08b99045c2693c0826f2ec531958c8";
+  sha512.doc = "3115f5294219a3db2a87d702081b69a27c36065345b4c2bb8fdc4d63f3d20c542c81f6d7d70cedad094297b358b83be4141b69615293ed2530e7e1224a5796a6";
   hasRunfiles = true;
 };
 "flabels" = {
   stripPrefix = 0;
-  sha512.run = "1f6a98ce9f7342223443290bfcaa9ad2f3bc1c7f8971a009a7520d811a484ab8a8d607da7ac985902ff010da7afc8b0753eb3f556c062c29d5490e42952c6d65";
-  sha512.doc = "272bc4f5d7f68d01bc32f49f199015478bfbe89a144f2d3d408adce98845de69f06084b069f15f8e88e14242151d2375152d3b6ceb3b940daa1d513d1fddee3d";
-  sha512.source = "cd06fa5e4642ecc2f3469edaaa478f2ca38dc8f6f9afc6df73c67eae7ef60049c36a353a57eb05b3fed03a87cdaf576d1ccecc9187a7549ca6d9de311ac7a82d";
+  sha512.run = "b05d66f1181eb9d7eb80636b69ea3af7a29ae7011f6888438cf80a7fa6fde44666f9fa7ee71620055f6882e73b6f5e211a2a65ca003d903cb26cc4f9571257d9";
+  sha512.doc = "cf9b774ef4e1336a123d48b3797d8122c5b9128324a9f6c0c1497194e8d3a3d9ee46a5a58470074c0dbc02f8c0aaeb1da3b4d5683ba9faf6e479a6790bc599cf";
+  sha512.source = "26b2a3e7fbdfe3523cad96880dc6b168cf633a115f6b8d794709514013a79eb2ab6d1545769b74236248b73c3b08d5b52e02fdac9cdb420e3a4f1ac5cad55d32";
   hasRunfiles = true;
   version = "1.0";
 };
 "flacards" = {
   stripPrefix = 0;
-  sha512.run = "32ca7a00841b66c5f2301ca7518f18e376968933310e4449f546db1958f37f91848fdef67973ef043c3fde04a06f019ad13b4d217ac366378f21ce274fb66694";
-  sha512.doc = "62714468ec7892548478c23269a66e7046956570f92858da9f7847ea28f520c0576088356c3ef66255309bc04f6e99dc4928496df5ecfe3952521f644ba272b1";
+  sha512.run = "45cf4fc3f4678a5242873f80ff1ab328e7675107d14052be90308d94d44a931ba8b2cf3eec67e7456a21168aba168fe848979a8d45ef07bfc62613ad9174488d";
+  sha512.doc = "087d2c5500b5ab51280bf3f57362f00723856b041f520d41849d21043859bebc106ff9af33dcbf044aabd838f68d1165f74645360247de2c3feb9a8493ecc441";
   hasRunfiles = true;
   version = "0.1.1b";
 };
 "flagderiv" = {
   stripPrefix = 0;
-  sha512.run = "c61c0fd9a2a88b06f4ce0939425d5de006bccce07f7c371a0682ad17c7f74dc61caa2d205b0448bcf8695f0fab1a22477dcd3a0eac2e8d7938ea11fb8038d238";
-  sha512.doc = "bf0644ea71d917999f2c3c157f60e0fc783433420a8bafffc56673e776d9108ce122080861cb33b5b93856284319e9542b6ea8bb528de42c4fd3749158e03974";
-  sha512.source = "e632279a2d29a1ebefa2b001b8a4c158ab9393c27abdc65ced00cafa5a596e760fd4b8d7e0f0e3de384ada391922d1fd1287cd852654c5ae2256c12039e05ae9";
+  sha512.run = "a7618ffc60c548fb98a581324901af09defd9226a655163d967e251b090b6ea74d91ec10bbe1e5d685a83d147818ecbf8b66d84c972cacaf3e270baf39293200";
+  sha512.doc = "8c9731aec45eb594b95e1c89a1967f169bf8394664977059af0fd77aa40ebf3769200925382694e221a32ced470161f505420539b5e3f7f00be4688e308ff54a";
+  sha512.source = "c81038f892b37dc2759251cc14d8bfe11d0aff056b95204cfe1a4434ef1bdc6fb3c035edca0e01282ca019193871dd6044a8b9b64f3b6051c24f041700f2b71e";
   hasRunfiles = true;
   version = "0.10";
 };
 "flashcards" = {
   stripPrefix = 0;
-  sha512.run = "5fa5ab1f1cd9081f86b0ff367b2456309160e124cedb6b21c1778081022f22f0ccd0db86b7719123930fddacd2fde4b99ed5a16f3f79a7d50e05b27ab748ac69";
-  sha512.doc = "cb981d5c7f128c8d213a0da2ebb05ff1e75fe9725bfa14782df9c29b8298f6c39bc580ef017bf4fc116f40c34a22a784e98d8342fe79c357749399e222cbb0ff";
-  sha512.source = "a5c55863d48500ea1212e6c5e17ae7a7eb65dc2a3455213a6170976767a87b8ed506b0b6dd595e52cee677c0c74503b25dae7e44325d20d9806dbd01de013158";
+  sha512.run = "ea1d530296c2b3e11645bbf09b4776394cf1725db5f30f23297818fa68b5a8d1d860d5873755d1be010c8d7a3d01567d878f3a12490fced35f6f825034f1c9f6";
+  sha512.doc = "f42cef1b5a093861818d03f2df9cc5029546a1bb9b01a4349b815fa26d7320bbb9d596adceadd0583dfee7bf7bf8a011c8296ec06058717a61ddce10baf19e53";
+  sha512.source = "c9d90cbb0c0fa854a6d187ffafb20cefad24549083c166a5088dfa05c3240869996bd16097ddf74adcdd658ab953d39021c896eda94dd7ad426e5bd972d78c73";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "flashmovie" = {
   stripPrefix = 0;
-  sha512.run = "2bc088e1b614ebfe8268c59673d8340d908cc399743e827bde651e5ab8e070c3266f8b1480594bad3e61d86fcdbafc27d0b63f3aa6380bcd12ed591627cddc07";
-  sha512.doc = "dfcdb1bb2c1d78e12e1df4b14e968c0c70e3da8e5cf62d65007521af10f000c9cb369504dfc7300bcbaba41c78fea2f9e3326167ef455d29f361e818a04861d3";
+  sha512.run = "99ae914e1fa627f462be84f7bed923c638bf493ca183f010bdeb5d607ab00abaff7a1fe3d0f8613e6fb9df7cd5047b99e99a5da18470df25e7507259a441e188";
+  sha512.doc = "016331e7328732f5549487f8b2edbeabc9548eb81201584d3d3f7e0ff41a9a962761a8af867dbee8951bf4e99ea4eeecec7e9230868c23abc95260f288ca7958";
   hasRunfiles = true;
   version = "0.4";
 };
 "flipbook" = {
   stripPrefix = 0;
-  sha512.run = "3e3326bac4aa8301552aa9618a98a68f2058f0c417e4e935d09a2677a462f35e5b646b47ab7a252779d8bb529c437f80d588953783b707383b46e635966b428e";
-  sha512.doc = "f909e90487084c7a37f08affea0e84a787446590952c75e73bcbc5540d546ef0a31f012297daed5a561de9c4c8a3290f40bb0ae3bb6b3a49aa26e3c1d872a438";
+  sha512.run = "8e3140fb417115ada958bf6dab1a22b39779926b47938bb49cf86499d64ae16d321e6e6bbc8482ee7e6a2d79d8341a227785ecf04c66a15f7e5c0ccaea016d21";
+  sha512.doc = "a5f6aa188e7a0aff29d4e693f0f8e52512838278e12d13c29706c7bd5c1c1c2a8d70beb619195d8572ca5a3920205380d586d02580bc747acb8e3259c79c3fb0";
   hasRunfiles = true;
   version = "0.2";
 };
 "flippdf" = {
   stripPrefix = 0;
-  sha512.run = "adc92607b204664391bac6f4158d5b6ac506e0f49a208f40a50420de7555825bcc0c0801b795467a44042c1a4275f035e799cc4d29d097b8be506bbf1865f95b";
-  sha512.doc = "1a863556a4a9fef2f953e672bd798ef3d0bd3fb6e910914a196c464182f94cb31e1ae29e92246e42a293d0bf96c0a117f8d77ae707a58cdae8297312121d095c";
-  sha512.source = "48039bb008cc4b54a1becb4b55e2828435bdc7ba2fe2f0dd015a831a1b03475869e0d083afb54f68f4e9a4b1990f35780b7e79931724c3eed10ab8ed43fd82a1";
+  sha512.run = "8f4de43f2d6310bcf3bfe350a071d43ff4ddf4d21acaebddf59e3fdc62ae562e32006707a6f7f5de1f631f9aeec12edd7cf75332b012e433478d171e149f2c96";
+  sha512.doc = "3b40280c0d142add31bf27dd57cf52ab2d5f4f43637cf1a1a20202b5615b58c52567e53ff2f9875d2d1e73116c227319909d77df1609ed5590b30d2c151f2c63";
+  sha512.source = "359f526185b8d3160cfe2c78c22d36e2df4ed245f574d3ed905b8e0dd95664f57f0efc128130a00d2945c666ffb094eb4333a26c13b56c9917bc0172e31041f0";
   hasRunfiles = true;
   version = "1.0";
 };
 "float" = {
   stripPrefix = 0;
-  sha512.run = "da8459357daeb5441146d60e2d5cc603cba1f62cd15e055af4fa912cb25476cc110f6b736f34a8752aac32b041e1d7c82a2813ea3ae313a6ed504fdb036cc8e8";
-  sha512.doc = "57d101767a58de9523efe89841481f8fef482b6f5a705768e59d417fc18675dc43c553e2b072729509c079f7a80294e6a0a62ba0e801e4b5ac4b6c13fb6f3c28";
-  sha512.source = "1635da7c63febf72f2f43730bbd5f6cf6aa045f4e82d031b9b2f0a0f4f3da9d154e8cc38551c78f9437b2b4f4e7fdebcc45cfc7fd0bd2dc3a5aba6383e09ff75";
+  sha512.run = "4a5270ca2945915464ba25b7996dfbd4771ca5f477e4bf248183bc340b7051c042d9566908acac881782af74a59154f4163bc7879a21e042e1c31d67237fc6a8";
+  sha512.doc = "6f713c71361c1536bb086e7638b770ffe58e97aa01bd59bbab779f71cb485b9c06322d7d89e7d87cc8f77a0c7f18f4174fd4ec47b62556faa32d82fead0b7377";
+  sha512.source = "9e577ba84dcac612e4105e597ca2385da3dafb39327189caf30e5728b85a380b5a90363b8bf9070a0464aca2130bcf9419d030bd6c39d51f9a17b0a7dd578d5f";
   hasRunfiles = true;
   version = "1.3d";
 };
 "floatflt" = {
   stripPrefix = 0;
-  sha512.run = "dec5ca9a6b58c0b44794b55dde27ae57ec0885577f24c3a903ebad8bc4bc7723ab19156924cbf4115e9fc2fb23560c1ec352f23f783991e8f60972cdd87252a7";
-  sha512.doc = "4ff43ca25ca20223cd6b39a3e8968669120bdcdc7ff220b07e3b33d460396417f54f5c3cedeafff5ed32604b2a5a4f4788cdaf2c27e65ddf570d51bed2579c0d";
-  sha512.source = "51c3434a4eb53573f75a36d20a7da770256997cfb6fc28313c903deaf28ed8a6efddbb695cc31b05910feda878893f6e6d8c11c5a476211dcca149ccf01321b2";
+  sha512.run = "1f7de96ac5e82cc4bbfab3fdb665a18d20413cceea097e1407dee2073109ee1b82d7d3ea82c80630d9aaf445f14a8497aee7e3824458dea8b40b270135052ef5";
+  sha512.doc = "7ca1c6ed832bb3d697685cad5575e02b531c0469095468fd40eb3131d89b68dfa0fcb9c882965aa7a9cc9c60292f64bdbf6264d3d990bd697dc27b23a46fae47";
+  sha512.source = "6d243fd8c9a2fb7bbc242ececd19d94916de97fd3583095e8342d8e7c56decdcaceac8038eee9a774950d9261979150035e8c9175175ad7346b0eb1fbea6c5bb";
   hasRunfiles = true;
   version = "1.31";
 };
 "floatrow" = {
   stripPrefix = 0;
-  sha512.run = "95c8c72cc22b7d6bc4d164c8a7d994a1b07a13eada7b9a0e98f5f75d8e3fe88188239300f3b86b8be48de3adf917b44b2f9b2a055113066bcd2aa062a1761c79";
-  sha512.doc = "0de9418d6361cb5742a306e68e48f16a5661b73245aca8f01529e1aeda1bbebe6e7e4fde489335f86d8a3d1dc48306bc7ea60ed69f3dae5e5c2e215f486e1602";
-  sha512.source = "318f7e0adba4a389037bd274c6fe6957d851931a8bf467664eed75c43bbb3b3b5ca33ea2c3acdfbc27a36e4b9bb68b4947c18c3015b6d6f88e505090f76cf5ea";
+  sha512.run = "c650b5c856bd625ad192901f3c056171f790c549748d5de5675f14cedca5cf32931ece537ce2280c0e4895895a8eff0cf140c3408dffc2b081ebc8c62d2ae1e3";
+  sha512.doc = "b721ebbf59ca3744f1834c130da1a859cd4a98e9f5f977f5d35eef77b420deee303c109439fa70f89757cb9f57114bc74c5d527cafacc1daf2125b975621b525";
+  sha512.source = "033c5c65c9676054e209c64dd065f86631c9765b1582e4042e72bfd247a49602dd97ba4dcd5afa1fe2f7e3d252e4b6ef2ff1a2b00eec3156937fc214d7cf0c3f";
   hasRunfiles = true;
   version = "0.3b";
 };
 "flowchart" = {
   stripPrefix = 0;
-  sha512.run = "e6ecbb4df7f449e8f24a8b4e795bde0f84b32d2ad86fa74f07a440c28013160c73ee8c5ea3176a77d392b6f1d682581a174cad1f3d38c49dc4828825604196fe";
-  sha512.doc = "e6b4304cb32bec33fef3db52f18b100004e21d2f88d6e9c20c34c49007282e631782303cea0c0136cedd98f854f96924a66950852a6b4269f08f2c1b561dd435";
-  sha512.source = "968d7a7d4524c6cc0eecf76d36be12972d71c6961cabb95ef4ce1d3c38c2f1a7dd39b24c13c42933f35f926953d7bd35691b6bce60c6de08b8cd881d90dc0c4b";
+  sha512.run = "9adc1f823378fcfaed58e99727b68389b97bc489ba38995e5e7451608cb712dd7fe02b2686f692328b73d1bc8011131017b8edcebcda5e886f3bb4a0f6aed65a";
+  sha512.doc = "0bbc3f1f56f5adbabca07096804412b33e93669e20af345e57bc9ad42133ab629b9546887599b472dacc8ee43b9c395f8c2e58a288c487e78920be1db5a110aa";
+  sha512.source = "5ea69b98cca431225564482ed0597be71fe45e9ed933f4417059f4cf16401ba82987f90617e57a5428a42d03c0877969579a2b976a2c48d439d0dab7af0a6179";
   hasRunfiles = true;
   version = "3.3";
 };
 "flowfram" = {
   stripPrefix = 0;
-  sha512.run = "4a69fe7bcdca106dd96ee9d2528a574ad58b59dcce5ed0d10f84d4d52f2967e1d5fdfb246d619f4cb6e52e860650135f70d612200c14ea3560a96656255e854e";
-  sha512.doc = "bcb6ad016425c3219fddacc3f130d9ff06cc0dd73354ea42ba848484a3863facd761d580c4b308b1b23b1c96e3889a6db5b961998bc33d5fb03cda9483072f44";
-  sha512.source = "f7f1b09ac3e6426b3dd36bf98fbae04ff7b0e37cda96e12b5453c77fa63329fc1042b0b1dfaa7753c297dd25b613e0c5a0a1e00ece8d6259b729192a2a25ea74";
+  sha512.run = "880869c22914392c4ade9dddeaffb20d6c6edb6da78d30705d9f6aa1b1352ba2734565fa8c2a6851e81f1107573753748d3f4d208bbbc4c0dc443c066e912719";
+  sha512.doc = "25924c121d2feedc7d815e4510b89f05000eef87efae8039c6566136b7fa92d6d4d9f25f2938363dcce8222d5c824d42894e4863b95e422b7949207a1e1daccf";
+  sha512.source = "993d60da76f1144524f9ece2c5c9ba0eb38526111a7cbaf6bb5c669eea790c1ab9519f4e7dc2bc955c611fadf5771f2d9b6582d753b4cf3b79038b2bdd29837a";
   hasRunfiles = true;
   version = "1.17";
 };
 "fltpoint" = {
   stripPrefix = 0;
-  sha512.run = "81791d6c757f029f7b08667c7eeaa1a00b1e5fc0555703685f317f3c02b069eff6c6d01a70574c671ca588cdcfa88f22119bfaacaed175d5ff2d496fdd7afc26";
-  sha512.doc = "68ad4d398b1e6eca1d57bfbf4aa61f05e2271356b4da00439b82a92a5fdbda7e9abf9af9c83397b97385746fe55a2b7dd6b2462cde8f2b0314a439bc485b2874";
-  sha512.source = "c8a0cf1593fc0d73730e954b40db37fcd604d6e0158ec32e2dec3be1d8ee46a60bb89a0a04cf3bf8fb30aa20c0ebbb80fb35df62dc8eef86c7e2508049d0c934";
+  sha512.run = "8991df799bab2ef9e9e7787123a61752260122ebda5491a22d8bd0aad88810bce93fd78e1fd6f79e58bd274684c2495225513d0f69591cc3e92a052ba51baa67";
+  sha512.doc = "3b175372a197bdb243776d068e797e8f318200e6fb9cffd1ff612cd771a4c53e9e26b36079c2b392caa77b1ab430bf3ad7a6dc235a91f25662904ee702a84508";
+  sha512.source = "da74554dbe3e21061ec4d0405a59f3705c821dacb359736d7c769536143b22ece17114ccba579ec4a0b941d37a6c60753dc8daaa6593b2df17335070c098861f";
   hasRunfiles = true;
   version = "1.1b";
 };
 "fmp" = {
   stripPrefix = 0;
-  sha512.run = "d45ba07aafcdc84449fc9a3c5660c5a792250ef30b5f284e328806fb421ddff07a5b1e917b8361b86efb3d6af2cd2b7bf2fa9d26a4a18c30e5aae2bfa0656c86";
-  sha512.doc = "a59448581eddab4a0ed9804c07c63778740d25f885fb39e2fc3b6182d2ac6bc23c679657d84517449498d111c50373cbde4806cdd5361067247022dfd4b5a238";
-  sha512.source = "32a6d3a6692dd3a5c9473832402d4dd72fe9a6c9934bbbbe8fae6c12883a95931a65920f3c7e7f33ac0b67443a621387e296ce979c9724d960a0b54e54ceebd3";
+  sha512.run = "b87a361454199c16e1fbf97bd2b82f8b5569bbd71b7beaa780a6d88357e9262f77c9c3ce17d2ab0ad9b043ed7a1dd721e533c516e1b927f0439e13ced6598a30";
+  sha512.doc = "461ee793dc8156b0ecd6931b9d4c56f368ce4938838b042abae5d6475ca3739c4fe47517168dba742f03c98229376f59f8654a89f1d65ab394c0dd907ac48ba1";
+  sha512.source = "912cfb9e0d4669c5d128ace088190ab4c5f90e371b45f1e399346816d606ef3f96901775a51b5f89a8670abd1b08e159587c9eab4ee6383c12e260d26e070034";
   hasRunfiles = true;
 };
 "fmtcount" = {
   stripPrefix = 0;
-  sha512.run = "dacb809f12fd58d447cb481500ff5ca4628102346270dda652afb37b63eb544a74665ef5bded1ee541674b9e31007514df27ef6c364a2794d46ea8781c05913a";
-  sha512.doc = "1f01ed3b3456f2216d36ebba206aa9cd7928b1c587e9a93e41491896a1e82676796d297b798d91c62d5acc34c8671cc67dac51cd5184013d1a123c2c9817a18c";
-  sha512.source = "02e1ae68f4bfe81b070e288ae94cb664ff22b2a714a0d92c1a990cf7c548494de7526d4473a5c28929528f5845d8551a731180d0bae121d998e78f6c77583c37";
+  sha512.run = "847b8337131417ef6ae30469b6a8780539511e08eb3d2723df0a444d48a427b18a723e2c6da8d88ee65c04a47d2d8796ae95afea61302d77efab3e3e584ca8c7";
+  sha512.doc = "6fc1958d288d657929d503301e6dc0c68c475ce03f270767fccdc6d2c95a58809704bccee3122763992a24817fb5072844c3a50fef99dd541c0dceaf12a13fc7";
+  sha512.source = "f7cee2dec2189c65500c58d349b6273014c6273ca703f809cc7e5843136d70ada0f4baec6ff139543fdc9d5648f86c81fd4db63102df4240266c52cf19ab3c65";
   hasRunfiles = true;
   version = "3.05";
 };
 "fn2end" = {
   stripPrefix = 0;
-  sha512.run = "6da10d643daab4b65827532fe94c83715ffff3fbd4822ffa908835f9aa66c1f2d55eb46c18a801a64c6e0df9ba0c6e3ce5b4e6d27afea4745626b0d75d46332a";
-  sha512.doc = "681424556d76ffdf5f188215aa8a4425c8f8344aefdc36085ca014839e5a0e5352c0c83e63ce8d1be5c6f5c7d2016d92fb73d7d0ee71284a4a89197f01fb59b0";
+  sha512.run = "6be5c07123cf2470ca88b7c28c068c6dd308824138fd2f645a1a7c04c69fe84953468733ca2994faa42389b5889990941c8e09dc543b66a1589f3cf22df1e017";
+  sha512.doc = "17f0a1d12afd607a26687b675ccc65a150e4ae67785389fe9582a3b05ee383f078bde35f296941ea069323757e1fccd1ae0e76e5e24f3446b4154738c1a45385";
   hasRunfiles = true;
   version = "1.1";
 };
 "fnbreak" = {
   stripPrefix = 0;
-  sha512.run = "e1a4c4a9b6a8b710a9e2db85b4352e190a53f75894256ffdf50013faad7d2f49bf74ca48b4b39b07cd22882c1db43eaf8d554ee24bea8cd0c0750a1b5f1553ef";
-  sha512.doc = "2343d948dbdf45117971a46b99014dfbbaea68605872a332c74ac40eee6479a4f861aa0a67533e9227fe3c69c6469272a5a37914e6ac1b333fe7f911650458ef";
-  sha512.source = "0fba7999b40f12bdbe657c8e0190945f4880092ab63ebd80a5ab175dabe580c8d2ef0f5c4bcd2a4243bba0c7f6c4cff03346cbc5893288c9f8328d4eb6f5b752";
+  sha512.run = "794e427d66efeb15920062e86b4a405e36604703f350c4e20f2c237b358eaf08aa22cc923c7995a7db22c117b48555fb92b136edbc94100af8e2046d49eb1fc4";
+  sha512.doc = "0e8778265258304ec1cae1f2d21902ffd6f99af18527b86af064209da7f4c84e8ca6bdcb359000e3f0e9aa75819db1b375f8ae9f0a825291ee03398b6bf345bb";
+  sha512.source = "05b2586aacca96367889e328115780eaf25ae6af3179c71701c35fad2d98aab79730d23a67e165248793c58a9988442bb54bb653697fb81f1832bce847ec8b3c";
   hasRunfiles = true;
   version = "1.30";
 };
 "fncychap" = {
   stripPrefix = 0;
-  sha512.run = "2a503c8bb1251a42688cd2e8a563f61f3e78e687b9676af5d4607c3ff88bd2bcafab908bdbf457c64825e56ac11264d445c77408f5ce6671a799c3e972391b08";
-  sha512.doc = "5720e40c286f54a2f1ae29347086438d659cbb7f00749fa76f6754986075637ac35818430eabceb59971bd59cc22c9a9becb6bfb23ae879ef622616f0c6b87fe";
+  sha512.run = "83d74f4bcd8fa90cdf5d0b6e03e9e8e36ab09884998f9955647928ed0a33924735d236a82cc730412edbf54485ec8c357ba3954a264965f67752e397908ba295";
+  sha512.doc = "6a8c6910f0790457c71cd55c8d30d07df81c97f80a8b6b7930c067966c76c47848142cdcb7454c4b63a154c5c653933bf71acbd792c06eafdc496c92e4bc5806";
   hasRunfiles = true;
   version = "1.34";
 };
 "fncylab" = {
   stripPrefix = 0;
-  sha512.run = "b0e3ce2bf0e8e83e31bca923c8d9646ed5fc1cb68414b99fbcb6c5773057f813eabfe762c6c3af6000589ae5eadac6ccac653b7727d7e15c28b98ef1450fc591";
-  sha512.doc = "f41fcf6fcfadaa4baf0b94663bd41830f6f2e03ff412cd530a024f5627e828e9fe907e32a30424b9d55a9b54a254453a00bcbfb3ca5c8d314b7c2e2457c9d9c5";
+  sha512.run = "47aafab923d6455da7e63eb24e0fefa8b869efa5a04bb301000cb2eb658893927dd9f9aeb8e6919ea29e0caeca235b1883106228f6acddc667117a3ba1136974";
+  sha512.doc = "a987a6efd0964bd5ab5328658e011b5c8da56b404d233c55d96541ec2f37cc72faacd934908c7346041ec8bab3866dd1f171e1c5de5eb528b0f0e80969c0bba6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "fnpara" = {
   stripPrefix = 0;
-  sha512.run = "3885412fc08219ac39c18c0ff47d79dfde68658b0ae26e381bc81b66e1ee91c158ecd9ab37b0dcda45e539d9a764c93c60d711c4f0e4f376855e80c056ee019a";
-  sha512.doc = "272421ebd2be07bbf0721db8340fe9befa3da38677705a5a7f183a481c88868b531d9273cf5b955322c629c45ac7adc0af71ec2935c345487b950f733c8578de";
+  sha512.run = "620aafcef4ec7fdaf5cd732551fddbfce53222cb7540dd370f2cda425e1782c907e59868953f50acfff993a8fd8a84d108da7992f1c1565cbfa889a5ca0ef5d0";
+  sha512.doc = "798c7fb03a8fb20695ed63ba1333686d21832a936a74a93ca77c7614346316234b2255b8e0340dd87fd57bc1480f23df24381107fc81c68cd4c0cd594ddf5329";
   hasRunfiles = true;
 };
 "fnpct" = {
   stripPrefix = 0;
-  sha512.run = "216bcb8d6b6a114a54762a2bab1eb324e77ff0db5def114d3b0ed1e186b47da3929623aa02deb0d4be35a7727d106db279afb6940b5fa98a775a635e15285e8a";
-  sha512.doc = "85ccad57dd88ea98d50664d79b9eb535ede18c724205a42dbd3a8a26493f5b9682d6b7f0e35f094af30da383a499c71c7dc079de289920c702c297384248fc7e";
+  sha512.run = "ab53cf7a616b6de5c5914efce55698dc02687892ae7065cf480eb2be1320592236f4150d520d606cac815b7a9c25c025d47bb981e28ff82ee0b16e7e39daac36";
+  sha512.doc = "ef357a4e65cc4e5ebc1a73a744e3eaf054d9d940573f456171209d5d333a7ae63f572e37cc4e78dbd3a5c0495d450802e8d9e18b6dabd7e973595ff7fbfe726f";
   hasRunfiles = true;
-  version = "0.4f";
+  version = "0.5";
 };
 "fnspe" = {
   stripPrefix = 0;
-  sha512.run = "aafc72460c896dea613f42f54910ff4d6ff7887c088e7c188a824425dd0d0f43c4ea10b09ba51b218f2c7d37fa4ca4bdc52af255b67ec99ae8e94dc9bf19ff8c";
-  sha512.doc = "21555504df662523ed1957487e8451a0804d60f0d4d64c9c184e2447e2ec4f3e9fb9c527fbd516f8c389cb5dd2802c75d04a749a04d6a07055282aa20cbfcd78";
+  sha512.run = "5e9af6b3b3136f49e49524c7fc85074fd75fff30826fcbb8dad358102e3eee6fa44037b7dde99b6556a063dbe4e819b27ef5a522999eb304f70c2785642478b3";
+  sha512.doc = "733a099cac2d96ddf6593b9e0195b85c8d5e86f6a1b283f011a55acc4a1bb7391bfd4356c6aaa40d9b2c70a7c180886d64162eaa396a5a457fbea491af1b47c1";
   hasRunfiles = true;
   version = "1.2a";
 };
 "fntproof" = {
   stripPrefix = 0;
-  sha512.run = "77851e7bb017aab274e1a13af6899d0417a5d58f777c063978469799086516a2f40ad6dcf3f88b3a564c8e5b383fa02c33de725099146d49476ab60b5c93d6b4";
-  sha512.doc = "7712920134c1820e117c657a99b35b6212bc48c4f78b6408e4dda4067b7ed654f91dfb326a7219b2aa702663d92420ac4660cd1df4344e5fed3f8335f1dd94c2";
+  sha512.run = "c1cdc018808a2b9fb5b91c54b55eddf3d517b8dc6062db1ffda3db154efe6f3abb91e61ce90a68743ce411ec614785974b4362f20f03ae398488ac1f816b3ba6";
+  sha512.doc = "cf9e8909ed030b27a57573cc257682da84b7f14c3c3775e17fdc8a2203fe99dda8797ae7b2599dc92e9684140102f6d1ca2147bbb437edcf8eb41ffd28b9a576";
   hasRunfiles = true;
 };
 "fnumprint" = {
   stripPrefix = 0;
-  sha512.run = "7705cabc07005c894dc8dd24abe62165675fb3468c9ef09d3909aa0bc74075c431e2bd410b884efba446fb86c65695759e57a00ad4bf99f9ef4805f90a000fab";
-  sha512.doc = "ea10c9160429e3587083f1b386953e2fc25a7049a81f49e3b9d45e0075fb1b1be045e34f0ef5a7c11159e8fcba15be329ffc0e1bb24ba7a78d1a575e697d3edb";
-  sha512.source = "610a346894dcf4d7f792278f1a6840a3e8b8773936a8aaaed60e9ddf466d3493bba3311b1e3ec153c25433762f2a3338485786af16a2eb648a7838f00e6f4842";
+  sha512.run = "7f43363ff861fd4f887df68dd6daae6c97940d4cdd60b19563a966dc7c08cb88356a150eab0cb5b91bd4c3d5d47e324dbbfd43cf45872a5738c5f9b70766e047";
+  sha512.doc = "44d6fdf74bf6c231a57b3fad63efa7eb1bdf5b4342cdb38e0d504c4c09190130d37534769e17c3f60bbad668d50aab064bc5c0a1ad99808a6d084dd1921769a9";
+  sha512.source = "3f6465877aa1dbf5ab021e8397725ec83217bd774ee0623e71cf15d746d7d0edeb2f78ce76dfd607568be75b67f4cfa8d3e1ddd29c0ada6d376f7b4fdfad86a9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "foekfont" = {
   stripPrefix = 0;
-  sha512.run = "17763dea28933e618c6a14615bb8119bbac9d3ae145b1e004f174b15df35b7b37143629ee9e55b79dcf48b16b234f215ffacee313308e8bdd11ac1706eb85428";
-  sha512.doc = "adfcc71b92921b2e1fa17b16f96feec2594f4a97b240a1d04c261fd1df4468fbdf64cfcda795a9dfedc74ef4f8a70470ce31afe6fef3dd23926cbc2de71cd300";
+  sha512.run = "45342633aec41f2a5fe7213dc418960d76ff196a08b906965e3b68f2c5ed264b3192ea45756133f12662e451fcad11d08232995c0de2493495c40b9b59cef7ea";
+  sha512.doc = "7e1aa7a240d825c014be6af7be5cd7c1bbcbc6e52bd55be36f987b4a25223179bcc4c4d342906c10f9df624536252fe4dc5a45cd3b5ddb63f91e9f4c7401a239";
   hasRunfiles = true;
 };
 "foilhtml" = {
   stripPrefix = 0;
-  sha512.run = "cd367bc008e5773e026af6b930c7b3764e715bd251536673ab60179fd1342f3ba4f31f1da755c987813331423a73c9d31baf136f3522093a3d2936cca753ff39";
-  sha512.doc = "5015263b6047e5ab6e0863acb4087175962b24d8b5ca4681e6ebfd70585297a67acdec0bfe30a1cfce01ee26b0ba9d9e235f94b2b61cf3dd1ef462652ffcc904";
-  sha512.source = "9a0ca2ffe18c68fd5b1652a94c70b0cd2a771b08b27f1899cedf23ad49af831a2b95924cebb2c4659eb30a17543c995d6239f814900b33c6bf392a5eb2a7cdc3";
+  sha512.run = "80b177c1eb224dbbd086d3b8a0b10b3f0b3434e977c8d71b34a58f76a5a73757148b4e7438a275f1be186df51e36342de132940ebdde9608e7c741664ea200d7";
+  sha512.doc = "a24c9f048f7e1cf187d40f6eb3370cf68f6de80e24f2f72b077d782be5dcd369cf3a7ce9bc7d0a269c285d04cbb543481cf439710037a26a7597164492b277fb";
+  sha512.source = "a6fc97ea007ddddaef17cfb4bf86d75ee34a5525ee48b58b111188cf6a2e6269052c4f90d87ff3aa6157d1523fcca3f8f99471fef108cc8c1e69dffa7c6656ca";
   hasRunfiles = true;
   version = "1.2";
 };
 "fonetika" = {
   stripPrefix = 0;
-  sha512.run = "be59af8255547f310a7b07443477fea4c3eb9eb19c9e8873ec29d8ddb3e3af7ad092147f3de4735c8a8debd4b4a34d789a99765addbd5e4307a90a3143133d81";
-  sha512.doc = "4db3227332c484a0d1ec75bd27e9e7ccef82721bb1ee7e50e87d76f74759ed0da8465fa44f0ec597f21afa9048bd8df609cb1005228e9169b9157c17ab1e2ba8";
+  sha512.run = "4db9e50fde60ac69373f5abd151f3e17275f5c492b6855a7f5dd8895650a79cda1feda43398fffebbecdd6f7e032f8935972ef573f79ae1cccc5844dc148352b";
+  sha512.doc = "ac3f0de2a9a5b5052d4ae626b4368f8b1fef419503cab9a88d4bf89db348c1a756555a6cef7aa70bcf733fa032840fe9ae7cfe347fb40bae32b54506e60ccf37";
   hasRunfiles = true;
 };
 "font-change" = {
   stripPrefix = 0;
-  sha512.run = "7965348e1f923ab1b261a81224dde1bfd1b0b3e62b1f028a634d1f39fce8fd32cb1044359554d949a750bfb41975ce782edba9822203c1127c2f9d01bce28f61";
-  sha512.doc = "dbad8aaf2ddf8ed5afb4b4eaea651f5302e558c3a5a78cfebba994f34dec54090497164e3c3231593c6970bb7f8cfdcde5c01eb9a6634388b5bb314978cbb8b3";
+  sha512.run = "8ec91864d719d20ff66195ec1bab456d772417ff2d4d9ae75ecccafe0da616d1dfdf5b965be489a65eb28130b3672a5b55c33f3254f59c00cf204dcae6fd4eb7";
+  sha512.doc = "75f7e45fb5313d0bc1c333253aba2bcd1d650fb6c0baffce6e5c558b0e7aeaf2e697ea9412860b4049d2685cdee26d19f12d9a28184084ab9df66101b78b0361";
   hasRunfiles = true;
   version = "2015.2";
 };
 "font-change-xetex" = {
   stripPrefix = 0;
-  sha512.run = "79e6a0837adab9c5fd493477cd87d183dd13d8a82066df58400d5d0dccb1b05afb16bcbfb8f8d5f52203615c1a6fc7d2ab7050b351c50b888f2951e38e5dc3c3";
-  sha512.doc = "0a6dd281eb5be193a7452eea7ed36b95548da35b321f48bed367917249a6f7c54cb0a4b677865d86c139059525031d1e37362a0d5fd31544221976bb18f5174b";
+  sha512.run = "17de7c596a774c5c2e115704c2c57385f3fa90bf2dd49362547873453c27700537ab7f1e8a143c2ed49c90efe6aec234d3cf61643228bcba5b51c5ddcbb8bba9";
+  sha512.doc = "138375750a4d493774cbd558c6aa910d04bf3f32337f773438d6bb31e16df3d96af3a6ea12d4940c785c04f98130977750058f7c0ef2425e0d8147b4ab882a64";
   hasRunfiles = true;
   version = "2016.1";
 };
 "fontawesome" = {
   stripPrefix = 0;
-  sha512.run = "27d033f45e343309154b80e21915ba043b2956571ce83fbf6aac43d9cb918da264dc12313c7ab5a5e7b6faa00f21f1a4fb999ddc6ea8753077b6416e97a75e1e";
-  sha512.doc = "56368a42566bfc5dd0e5498fd8130d5c98c635f366eb254c5dc976011d9ca5eaa3dcc243974ef44cbf7579c6160144c6629a9a14fdbb69ab90f6137a577b2236";
+  sha512.run = "e08643104006c9e14c40bb965b4401a8fe296f43e5f39b285cd19d5aa0ed33602cc0eb6ffcc996e1d6e5aaa57dd906903324626ee40facdcb3cedc5216a3deb6";
+  sha512.doc = "bbd18a60db734922ea006ebd00b0c9f90c34907a7b519a08bf007daf01cceaaf6db3b31c3dd8c76e1dac199d4f7c312116f6935b764afb62248b7dcfd92ac78c";
   hasRunfiles = true;
   version = "4.6.3.2";
 };
 "fontawesome5" = {
   stripPrefix = 0;
-  sha512.run = "2e8a9008c190cf7a9fdcf885d604036e6c700323dee65e43a6a23ee2cc7e9c3700a1d530a46c582df4085a829de98821b17d77240636652dc95cf682b558d80c";
-  sha512.doc = "ced2dcff98e84eb1d2569c36e3d460b9c1bff8d84dcd380cf1220e5a4fdd1f041c9c2c57ec3f9deee205e785e63c7c64b8e518cf358129d1005157f4481c940f";
+  sha512.run = "31f9a5ecf1db94e562764f0e645aa4b7848ea7f940957177ba457cee4fbfb0b829af778fd5ea039d3269591c1f67288193bb17124a0059c286c33e45fda4bec2";
+  sha512.doc = "1901cc7843051cb0bc4b209c57903f380c6d9eb75b09991fd05792f9232b51fde09edb35cd0ed82dbfcd39a8712ac35fb4808eceabd43488579d9b5a5c9817e0";
   hasRunfiles = true;
-  version = "5.7.0";
+  version = "5.9.0";
 };
 "fontaxes" = {
   stripPrefix = 0;
-  sha512.run = "2697223d9944c785b21a918ec57a0525deb7004180d7ad16b89b74c11ffaa28691d373b5dfa8233ec2a721020fba36d1f21bb0da5f9bb7ca047e836034ee57de";
-  sha512.doc = "76cd77a0ad214167ef4708fa7ecbaab22f0a1f5121f7155cb6fbe097ae0167cd3a98e77e8f60577316316b06c19a933c0715f1bd83a14ce39fbedec7f4fb3617";
-  sha512.source = "c9ed42efb259fb6ae80e60fbe4bb9197ae22f78aaa350fca353b9c273a94ccf95a9c0518cfd2d48b574727dd9072645bb4ca4a2624022ca9c554e76a46d3e374";
+  sha512.run = "69aba944977a676c557d2015aac1058091b96b52a50da52cc733187b96ca02b7a8dedcbfc848198442a5f62c824ee9e977696677f9aae267579f09d2e1637f73";
+  sha512.doc = "f7e0986d9f811b6436ecfc42c943bc2b21b83cb94d8bdbd5daea3ab66fec5bff2033f56ad9509e9e9591b78e68dae1ea76e810bff51469583aba9c8b691898e0";
+  sha512.source = "6c966d9c88e62d772b0a011acd77a81e73ea92130de23d0f676bdbdff1c65bb73f54e3abb03c744e6eb7a48c22f3bf0284c1a8ca1ab0538686586e737526156c";
   hasRunfiles = true;
   version = "1.0d";
 };
 "fontbook" = {
   stripPrefix = 0;
-  sha512.run = "0991fa4c65e929cb6818815a780ab9fbbd93110e051fb7d2afe167c12322eca53a1f86160ea29a4bb7fcef789dae20784a562ad192e9b9e7af4502596c58c3da";
-  sha512.doc = "f0b17a0ade838bae8de9d4a135a9fd715b98cfef8a94400d472b0d6fb16632c305afe325e7b374c6ea3dc6389418d8c3e7fc93130228cf97b6967727f1aefc88";
-  sha512.source = "fbc85bc5fa510a1ad822ebcacc558f31b2afe36663db4c9af0b0c3dae20a4f46c339b2b5a19a6eeed9305fb608acd0f62bc3b2125b1f4ffe6a96fb260137b5bc";
+  sha512.run = "55ee9dc22aefcf91c7fe30f516bfbaea5d0b8c5423cec204bfb208ebfb4b2331ebdd65032eb6f2a9f8958f15fd47433a9c7884f49ff1f3900f1538f9f25d4fe4";
+  sha512.doc = "65eb7d3f6426d3dcb13ac9a0d5b396eb4c03586d9d2b3d842af9ae4ad98119e8721034de499eae485c5803873946f04af992ddd860d09a7131021027c14b5d4b";
+  sha512.source = "8ecb0b7b4e5f00806a377acfa0198ef217faf0573930be1272d13d743d1e84db76f067afa7e7a665c4540536c1d888bdb702ea9c203a2a405389079aa49f71f7";
   hasRunfiles = true;
   version = "0.2";
 };
 "fontch" = {
   stripPrefix = 0;
-  sha512.run = "eda729617b6796e46348e597c7d13bc8642bff6e41c5cb2ba83e81b6b4ca872543ebb301ac24033347dc4e109b91aaa93075f4e463ea643abfcbd7a0edd31e02";
-  sha512.doc = "c793170d89cb8674032baf4c39e2425b9b0e4c6611fde66995911178af447ba123038917328277f1e578a21ee9c18afb779b99a54adae68cc8a12366fbd2eba5";
+  sha512.run = "c8354fbcb6a13f2f874dd3df71f23ee1fcefdaaa1eab5166f35001811b9788ea2b53e5d5653437071d02978dc94b0a658bca5e2cfe825a0315d3389446b6c138";
+  sha512.doc = "a7c5f6622414d943a20745f7b02c3859d43d4f4ec0f9ffd3b2baec34e142c01474d8827c7b0fe5d1bebfa25d33224b26cd876e3457b7179097fd9539cb9d9444";
   hasRunfiles = true;
   version = "2.2";
 };
 "fontinst" = {
-  sha512.run = "9768a036ab6b4ef3ff5dd2a64feec41820b18e3997f0a98917ef2596d5966a03ddb6f8bbcf1dd8ba4ca3ce2087aaf2cd563c7e074ae153a2e76b0cd7847edb74";
-  sha512.doc = "e462da9b786aee455a1da52b208df4639cb1b8e44dd19efce5d9e4e51f85923d9ebcd601a12f615226b4f17484893591e66727785ca2e43fdfc8fb1dc63e0356";
-  sha512.source = "3976a1e79dcd6bca9ff5d8e2c3dbe2afed04ca6bfe03b717dce9f339f26ed6064f2c90562379028455e24108230a80a5534fc0cbeabe05f3b5e68fe4655f5364";
+  sha512.run = "af57d72185dbfb0e169231b2dc0d7117722a5c1b4db7a9b2054d4848d1e5288e5dd5b6f0f0153f2e9dc87a13915fa77cf9286fce6d5afed7b541eb9e48024d98";
+  sha512.doc = "e7774b46ac38bc2dd86ec8091ce4df364cf377b3864fac5d67ec0299e789ec10a171f8239c98f12775c750d023f69104a25b03f7bbc7dba15a2d1a7da3e70929";
+  sha512.source = "2f6deccf77ca8325a105ac187da3f4d6cd038ce7bbf174c57724b73836d662d3514355ff7d51ff51ec4ffae2f55871510817834cdd8c0431061e310ef20c3093";
   hasRunfiles = true;
   version = "1.933";
 };
 "fontmfizz" = {
   stripPrefix = 0;
-  sha512.run = "686dea794df028564d9792c97d224e0bb51df82aaeedf551ab930d18e67dc7e4554b1a334a34a7676a849818455ec63c7f8deaefa6d31179c439331d37bce44d";
-  sha512.doc = "d4616154d4b221618a325114829217cec63304073639e0e2e2cee6093ef5a9ad32cffe65dce84480b8d90ed4c044dc7bf38fb8fded3dda3b671b09e76767a87e";
+  sha512.run = "43febb41a8bd7b0a89a2b60b52f9b83e0d0fa8303c0a7986658a95c93307ba6642fe07f8ac935ccb50b3047bc74100cc7268fde438d3ff80c944ac59afa6e3df";
+  sha512.doc = "6dc0f6c10d44a17d42d8ed4148f39bf89c84dd5a3a672755340456b0ab983b1b52cbd3bb62cd6f5ef4c3f6dfed8a39568d5ca35598c4b016483fcf7d3cdeb360";
   hasRunfiles = true;
 };
 "fontname" = {
   stripPrefix = 0;
-  sha512.run = "983dc78451ec8a254caa984d5fa12611c399ad6a5d5574babdd44896484616c4c8305d4e516f161989969117603e77550ceb520d9577b0ca0a9f66378a5db5c2";
-  sha512.doc = "c3cf408c747132cc5cd48ae33b43ea236b02cb31433b69f6562e828c9be3d791967ae68b7d857d75c511950d365b64061ef8632ff895cebdb046c2e112af4095";
+  sha512.run = "42412120cf59a9a3fe284c2d0dfdb0bdc4f8856ef1a2d814644290c772b00ad37f296fb66e83ed306a110602b314f6e7abd482180a0119bdd1dfbaa2233c77d5";
+  sha512.doc = "b6affbe821e1f127a5dd9962a7d89373108f57391648a15311de802ff555205ae864074d296690ac594377d00af5e4d375989b663c79e01408936c0bf934ea5e";
   hasRunfiles = true;
 };
 "fontools" = {
-  sha512.run = "8eedde1531eb4dfd2d0012a7317c26957d57b6d57cccefae52b0e0abd0e8af70eecb0f1aea52885460326b03755da779e8b0253db264dcaa3626632d73abaf44";
-  sha512.doc = "23a9b7db94ab948275f35f4694ac7eafff56943f7d19655f75bcacee48137ebf1d6635e1030d7de46f29e3c4f4f09065dec96a27ed535172b749dffafd2d94c0";
+  sha512.run = "3d9635c6081f59b702107628f45df3253544ab4325cda5a53fa95a551c4acc8e067bae8fc863b05d087ab2f7191ecd35b32c7f95fb8a5c0e8c9a1df9eef42271";
+  sha512.doc = "eb5d0b04751127225964b28230d91e4c8dd9c630c93addc0f2bc19b4e657c874b11c93901c126ebfe83778f5d71f26fed9b7a4c823ef4019660dd0da2085134e";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
   stripPrefix = 0;
-  sha512.run = "d5fa8427ae6eca83d43bb305a3b9b01cbefe791d0c76e46bd5ca57b6ac56a9f2229c60649868a9863e6b445677589542e5591be9da178a85d7a7617e68a01fa6";
-  sha512.doc = "3262591dc394bf46471bd9f4be75025bf663d0d6a3960e9d4b85332e6ec903696e4bf4e2061a1b49c5fd23c333ebda7a014b18aabffae56399f8dd3d78f456df";
+  sha512.run = "ab57be2bda808cce456fe2fe75d0c9f7560d1ed376631c907723d156360f8f20f734d4a2379273c8b8378a6cc124376574c162e3f95c4588c688dce34fb49029";
+  sha512.doc = "596ae1cb37b35ab59bc712653ec873250cded1968b3e4874295692812ad4001c6f352c396ef6d224571da630d730cbe41f98bc5a3a5374a2f9532f9424f7a0b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "fonts-tlwg" = {
   stripPrefix = 0;
-  sha512.run = "2cbe177b590d3502592755983f19e8026aa2098a2a552ac121cffbf122d5858e6d69056f5f0eebe4946618ed348fbd4b924002974eb341e19b423d100e69f06f";
-  sha512.doc = "510373495809da6f44f0eeca2c9395df96158a53daccc4118b446bf1dbfca5ee8eec482a625f6fa675445d1b40f0cdc5142b7396c977f18dad87b8cda3078fd9";
-  sha512.source = "222edf46a2be1461d156ecb5af49212ffef092274c6bc803ea9d54c520a576d6a053026b1b27294398fb37173854dbd88031c8b553d0bf2007e5ccbc84472511";
+  sha512.run = "4d614651cab9a02809065b169f56685a7643a28d616f7b221dd6750c19bee5b4357ea003e4a0956fda585d73054288a2c7f60a8f1fa86650e2f175b08eaca35d";
+  sha512.doc = "a0245c7b68836a8c80830fae693016fafd3b218340bcdcf2926ba88dc845759ddd7d02c7b50b025b6411667ce35f562ee6dd7cd9f2d7e8e7f0d6570184242987";
+  sha512.source = "3fe3ffd8a171c886764bcc435e9e8b38ddcd888b993d4864591a2e0a05ed27efa9cf9a8aa5ff8ab900856285a3cba5fda7adf8d7a600476adc4c546b408df5cb";
   hasRunfiles = true;
   version = "0.7.1";
 };
@@ -12745,1902 +13032,1948 @@ tl: { # no indentation
   deps."xunicode" = tl."xunicode";
   deps."lm" = tl."lm";
   deps."euenc" = tl."euenc";
-  sha512.run = "6cb0a68574cf513e763bb753bea148de94339d4787f4f4b34a2e3919126dd62f83ea375452ab16cb1fad90514a5651cb4b3f4cd95f45c2ab325f14122959221f";
-  sha512.doc = "9cd1f77d19fa30eefcf6dde4e77e12282f5419cf70282474e5833fe6fb56fa37b8bf8809dffc382bf41a26d0ff049600bb063d4eef7fe4e5b2bf195e9c54f709";
-  sha512.source = "2152aa63f17403a737e355afd47af894a703eb98c5087908627a3807e19b81cfe1f90b878c8ed118f8f13ac439b057ba295b90954ef44f319b87e980095a5c9d";
+  sha512.run = "12ca8f1195131cc60a4cb61f35a4eb3cfba88cbbcbf3a4c8b57f24ccd27d16ec0fc2975e0b2f456ef753dd983b25bacd865e3d974adfc4d5532b766a83c7a75e";
+  sha512.doc = "cc8357c53c3771de506369b92a4db08b9964ac8071f84839a9f4ad02d703d2bef3e56053a0b389d7c4e3e686038a33f587eb75f8a898faeab845f4ce92bd3166";
+  sha512.source = "7b36496857143742acca3df007f68d4b1bf197c938804ca3421609f2cde4467097a5cb810f983370f522805724764c81167652c2796607a0b5e90b4d5f628a17";
   hasRunfiles = true;
-  version = "2.7b";
+  version = "2.7c";
 };
 "fonttable" = {
   stripPrefix = 0;
-  sha512.run = "9c90178161175f7fc6cb6ccc7d34fc8923a7716d48637219d4a1f8e9e2b64ee9308a536c48af2b386de2493f7530fada7e9f2f41360ac9a61fd7af04718a5b30";
-  sha512.doc = "7198f27f3eace8ed272896b8a98e48542b38d5eb006817b8a670eae7baca54eec4fff28bf197d292f9f5b2e1eb40ac58e317f1f190f4be0cf6b36ed1abd88886";
-  sha512.source = "dd1711a06d44dd76467f0a66e35398f15c078e824fc00715492c7d25e28fe4012c4a5db73ca13a6852b7e2191b7c73a53d0a3a6796616865c163924ab44b14f3";
+  sha512.run = "f8db43eedd7f9e43b0cfb8c37e2687321fe236daa4bee898141c305dd2e59fb40bf3e8b3cabde561c75fb65dd053de33e45b90a8ab9518b0b30aedf35f6af1f2";
+  sha512.doc = "1d2b27ac253df62568087abb8f9e0f0054e3bb98cb62e65784192b281722e69e8565fa569eef4d061684e8965e0b05a0cd6dcbf7e632af7f68f97e8d4747426e";
+  sha512.source = "56210bc42e0716196bed05a35ef9ff7ffb40a17a8cfe8cef4d31e2c8ea28bfb75ee035bb887ca62387460cb7f99eb4f2b408cea767ce824124116caa6ae7d15e";
   hasRunfiles = true;
   version = "1.6c";
 };
 "fontware" = {
-  sha512.run = "26efbe7dbb32c6ca2af0c7ad3692afb746a5623d7f4d9224cb6d9ad3aadc4e21e288c2dabe9d2b42e22e32885f7a9074704c2c8c119ce126982d48ef32ded778";
-  sha512.doc = "f9e8f57eaa61111df2d59a32f2bbed159eb88a2bfb4ea5353a6405584e944e279f6eea07d556c8f805440c5e99bc5dd2118e837f93a27ac5ad5e845f3aa4da12";
+  sha512.run = "6f6a58e0c804ff0aac48be7646bf1ef9eb13028e6b2d25d69b4764280d71ba57e5e48eded61b4855794efddcc7f1520b24a52f09ed541a975c205b11b23abc49";
+  sha512.doc = "9ab42743fef5a65eaaa0ab186bdef895f8e7e3d95688fecdac8f7b59e064fc20f2b31bf5ef1b9b6676f3bf901867b06c25792ad07b2a13192e7290b5fbef33dd";
 };
 "fontwrap" = {
   stripPrefix = 0;
-  sha512.run = "5188b2b39c1a34a53370dc49f4cf84e9081039a727b6f3b98c809fa08a9dcc3c05c19a077776b439a3dc68c56e3aa23981457dc68e8488e434211bdb4412f87c";
-  sha512.doc = "57ec44ba77be65fee3165750af4845b1b7f4f2e9972a0802760dbc7c7cbfb8210c4dda341b5ef8bc601dab8d21ac05e2ede7462712abe0d82452d0f6ed10eadd";
+  sha512.run = "5bad0487f5cfa4119d7baafccc6178925baea12f1cbed5912211c52f2c4ea01eb00f9dacd300c24b93f48e5f13197a86ba1e37c35ed69fb1031281fdeb08edf2";
+  sha512.doc = "857be54c81d9bfb14277c17638ec24c643c278d660b56e18a4701aea0ad28e496df0aec191b12d93bb29b7ab326b39ad9cc7ddc3615871d1b70fdf6e44ccdc6e";
   hasRunfiles = true;
 };
 "footbib" = {
   stripPrefix = 0;
-  sha512.run = "ff87c62784a403c3cd5fb90d8abbfbaaa79dad47ffaa44b09159a360b6d5f19ca2bc859334e42066951573ba77652b3e26797f0fb021136262e1bca5a457eedd";
-  sha512.doc = "61c56d8b0c579c584db873bfa6422f4a27c64a683b08f7cfb9569a1f2f19f9e5605e9fd9e4d7327144d0e5fed26aa0b2ffe94b07f39b1aac13699986f68b7c04";
-  sha512.source = "4f3c2d5d8b70358258669cf1eca69f33d64e5be63a6027ec431c9f58158eef059f9c08af732ea76edd999e24fbbc5c6f11c9926042135a1524643eb9f4a512d6";
+  sha512.run = "0cadef58331d5d51aeba1f69d0c9ceae99104f7c31ea79e0f5dee33c8612bc52cd0c8551abc6da1799705c879cc88535b46e4ef15232d3c4a0f7136e0fe46e05";
+  sha512.doc = "27d1f0e6bf0ef526f2b3c4852c53b78fc60fc10ec526796447940565ad75fab023406bd28548170f7382e822c3b0f43d96181233bc772ea58f8ac195f71cf495";
+  sha512.source = "120d5c14a1b12b15a39792d2cae0bfee5b1695af1c014708c65d61eba6f2fd52f17e2b61b576e192a2d2a9abfb3aa2e059fcd9ca17e48e8a3ee6e9cc2150f119";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "footmisc" = {
   stripPrefix = 0;
-  sha512.run = "1ef81bb84a2ea5bfe3bd21d4fd5c028b720696ffa8e1404398f78c7e50a39b1d21bf3b3e55c3ec216a638ad833bd018b86b66098f0e84f4dd52ad5955d02976c";
-  sha512.doc = "8dc1dbf98355831eb50737fa3fc8f5c4a9809ec0d7fcf6e601e5caf22e37aa3014c9815dd6c8f05aa69718766d9fd4b48f0e20bd00cde4027f0b004809daebfb";
-  sha512.source = "0eed09b8d7405b3ac6c3f53533e073dd010677e4fbb65dea72263c73898e3381078aa73bd8431f5df180278fda65cd0fc16492641486a0b63941d245b1fb4928";
+  sha512.run = "50d0d02b243936d2455ad2353c0da1b77aab9f8f822033a98062d979b686163b94798784dc6b8496dda3ef38eadbd04a21e153f0fa9a76b499c50159c169fb85";
+  sha512.doc = "3a732fe8a1ca364275a7b0849be097e307ba322ff611a650a4625cc47792410b974055c75165b62ec8d5d2a128b0d6a194d798248bcd6bae266c7638ffe67e01";
+  sha512.source = "3489b4c09a145ba19d25120a48368470d65c2407a8c5697946ae669fdd63f0dc7176ea171ccd2a815055a6fc16f02523f7b2ca084c60159c1768a8a3b2eccf11";
   hasRunfiles = true;
   version = "5.5b";
 };
 "footmisx" = {
   stripPrefix = 0;
-  sha512.run = "12a3cdb832a767a56cdcfed4db8c23e8ca9626be47a6d5bc7202666ebc287838bccea2d36fee6ce11e6e9097da2b784a718645ad69688fbe78b4305137fe6480";
-  sha512.doc = "71c3b46d9448f5a567fd33ca85330cdca4a233c24b18ad555f9ee6055ef7aa5cf3a114cb533fcc3620781ab27d29b30887d637d6a2e62c38c87c9fd13e170246";
-  sha512.source = "769908f23d1d9ea748a59b5b315819f09b417a24be45a06eaf60097731fbc2eeadb89e3a0f5084fcfae03d1542fac66469959843419927ff04b45165e6b24909";
+  sha512.run = "591f181c8103ebd7a86440b27992df9eaea91d5998caa0f52dbfa48b7afc4791ef8c1f5a95d85b7cafd56113726beb74268b7498ec489d7b3142dcdf7f07adba";
+  sha512.doc = "8c36c6eb169a804769ece280c2210949db96bbe57d6dacc1a0952fc1338d619334d3d8b46cbaa3dcac09e05a0c015f37146d8bed315238b5e918c373b2b42155";
+  sha512.source = "5b069985c3a55240d762ee67a1da66895c304b5ac82bc0ce80c9e5fe9e77906cc0810dcb11c39b3ab63ce39f5d52964b7fb3319d49c0b18c85bc1410bad84ae2";
   hasRunfiles = true;
   version = "20161201";
 };
 "footnotebackref" = {
   stripPrefix = 0;
-  sha512.run = "b25eef45a35fc4c67634d7bcd7bc619603f983a97d0fc9c9b9febf2b6d2cb367eec59ceed4e45eab1f206b3b5dbbec277527ad91bba4f41da7686abc4286a8d0";
-  sha512.doc = "5db5d2d98ebb7b2c38720ad73345df7bb5161f040057142d54066f46e0a39b5ddce822f94ae2809b715de686eae4bd40bb8c7c8859f114180ee812471661a36c";
+  sha512.run = "8c18d95a4c74a7fe2ea4cc98df6bdb6813d9cf8323e44474330f03694758ee53da46d0d691164f6d90b2148a7cf9dc253dbc93548a3b33df3b0344096e4a90c9";
+  sha512.doc = "685484323b721c5277aeaa041b1d40b0d4675bc901a371f36dbff6246063252bca69261748a096919c7345a4a6e6284a6093068555bb43eb92fbf7cfea41facc";
   hasRunfiles = true;
   version = "1.0";
 };
 "footnotehyper" = {
   stripPrefix = 0;
-  sha512.run = "d14070ac2cafa4158bdd2f422102b9cca40a94d0179722d0209b73430dc3f27205f0cb4c7080c8612e714fdda9a57bf3e9cd6c9210649002ab2347358ece2e6d";
-  sha512.doc = "59551554266354f6d4dc2f3ad2d1b43ed0172f661f5100d605b21a366500d01b4f340657ab1471acba79b735d60327621fda3d0f9547e5649128b5bb1a989810";
-  sha512.source = "3071a53c6673a962b881b11151f2de97881ae959348628f183dbc7d66803e462974a9ec75eae3e7a3ebfd5f307869cc03a7a1f3f5c89ec7ac0d19916e5cd9f38";
+  sha512.run = "1daa49ea85b5ae7ac0d1e3d5dd86dfb1ba79a132c4a1493d911e4416cd6f1f7d7e6487032ff0cc970284a9df039996fd26258868f734a1ef7fa0311380bd7709";
+  sha512.doc = "d380557ece02393115148311e2186c99c6dda4f7ab311e448c3a52111a52a93fc17661bba80a6f62b24a30f7096793e422a93cd0d326336c1153a572b69c8b72";
+  sha512.source = "ec3dbcda29e1e7e441741607c897e39c3cedf5728b3661e8274b01ce759a1f78afaec3e69a1f5ddbbd8f0e0e153a9924535ea015645d2d2b09e917dc6724635f";
   hasRunfiles = true;
   version = "1.1";
 };
 "footnoterange" = {
   stripPrefix = 0;
-  sha512.run = "75d22460b1d051855ff244df806da99272796f94067a2a8319cc9eb04f7e83f5bf7f8343294adf375ae56261038f5389d4ab846692fe11596a5acc1058ec4c40";
-  sha512.doc = "d9bf49faa2fba09afc049a87e0740c4053a65a2c4c1cd53bf5243682d5fe889a21aefdf25400dbe0a57f300f219588801c4dcb4e4770adc8aea59773c4b3004a";
-  sha512.source = "61614ee0e84721468da5bb5a00d59f99a1362c2965b139d3793dc5b62c421b00988ac621d1490b18fa43b44f4278ec9ea9697f857fc58ab75102901f7469dde7";
+  sha512.run = "c80c158c550e99e0d10f2ddfd248e21a897947058ef9d5f6e38fcfd9bf3067eff1846181b46a3abd23054f133974f1ee6e53496fc80b11b1df749d889cf983ae";
+  sha512.doc = "d87cfefdcfccea2c08e8d7669bafbb18b940bb06fe3986634c684455ae12da25c515be60b5e50b685bcc4ca745e1b26747abfa88f2328836a30ed89e60efc366";
+  sha512.source = "9b46378a9a8282d78edbc8c73edf10292ef2e09d25e9d09e9cc1718df891e464d51364945221e84609a096116bdb79388045c1312762ea08f4316158512707af";
   hasRunfiles = true;
   version = "1.0b";
 };
 "footnpag" = {
   stripPrefix = 0;
-  sha512.run = "4e41ed0f2eb64527123308203f7a31c61715617ac11698e0c67363e51cbb73e61ea2b74a2c9bd12c893ad8c5fbe229701db47b71f8114c63408d122e9b23a852";
-  sha512.doc = "99fb443298ee5087568f20d1aab779f90fd1c63d9470179ce8103d780c6823b7fc8fa7a1f748df6ffc99e1e99007dc04a95f4f1929f1a049c51a45916459fa5a";
-  sha512.source = "cb7de173d9553cf314f0bc8cd90b104f76091d6f99aed8ae3fb85382f860e576783ede87df4e31d8b728ec6738cf116caa11d55c2bce3254c4d294901464ad30";
+  sha512.run = "a1ce9661f0f6a69d1709ea053fd548aed428a9cc8ef0445b9c4b897eeef349bb9767c219f5d860ab4d7d264982c1f4404d33619c80dec8411350bb965b19d709";
+  sha512.doc = "f83c9cc0701c63dbd5d3b7dd6038e1bb2c427e6edaca05b814778592587b066af3c4f7f12646f7b2ff7cc1c2ab8d2ffd99480dbfe72e50c9bce907e8e2d4c509";
+  sha512.source = "a44b0ba4ef7b6328d6d307eca25c34d494000a238c69fec3686a55057ff56ae1ada7cacc763ff1cd26aaa83962257442060fbd795c76d61f92761bd66be81378";
   hasRunfiles = true;
 };
 "forarray" = {
   stripPrefix = 0;
-  sha512.run = "a996a822e5626680fbf0705b8b623000edb5f9bd28ccb9b6807f0f3b93c6db338bff984d0994f9ca399222020c6a3f167c0a7e6dcc31e0786a7e0f0461eeb5c5";
-  sha512.doc = "f34a6df2fd2b84eae134985f65aa7b6e6af93a659272df2cc2245e5daabcb960954ea7b63d8f5d68198f7b35115733a2ba20d6cef4f3fd0676fb05c4c49ecd25";
-  sha512.source = "c2cb83459a2bc1e3a2f45888cde095115072acfe7486c6a6000753e1c58e3ff426ba0d4df4a647a2a9d34ea0fa74413ba72c392658c0963ed419582cff0f7f92";
+  sha512.run = "f818d0899fcba2d61ad119698d3633a28d5300098a4bd56a82b7b1c9cfc12c47a9457efed7cbdf8aee3ba9ba4143eefbdd54bc995c84c9bbe99dd5717030bef5";
+  sha512.doc = "e292418f60b290bf0567ea70169d66557a8408b2933221e0658d6d8e807b6495258a6ea33d65d14e13129ff8e58dc9cb50115459b014ec00e0b084f3d3fd55fd";
+  sha512.source = "4a9574868753faa19d0e80bd08c524445a015bcafe241a85d59832fb308981d12dd133fa64e65804ac5c3d86617046f06a17a4667e8cb382676dfbadd6f012a0";
   hasRunfiles = true;
   version = "1.01";
 };
 "foreign" = {
   stripPrefix = 0;
-  sha512.run = "a1cd8e172dfefe9eb2fffc0b9eafdd961c0e4ac0a9058f25443d980afb85119a53b0067ef7ffca0d16cc6dfe2dc53b16925d1d74795c5e5ba6ee76cd9d1e4974";
-  sha512.doc = "bce22ad824554a3ecb1a31df292c478f4b24ada58812c691ad1422140fad1d4f7ae8cfca44e11198a8af722a06a8a3df335cec42c272623f87016d5c87fea069";
-  sha512.source = "e80f1b38883e8eb3db43b7412c2ad8ddf575af62a7846b12eea9cc17d08f0898540c71d7c5741be9ace7db495a38bb3d133636e8234b18633865672e07816160";
+  sha512.run = "e886be0cbbb64b11b6c54d6b62d6b38db1bb7e65b7a3a9cc951ad71d4cc1a93c323d8a1e17ba863daa6535c747c9801b06bc4d3c664bfb8da38518a9c93d45b0";
+  sha512.doc = "d3804dd1b83ba173e4098696656c814629ff099699f332c3b81136c4519bd577aaabd4d2601893f88a58009f00e8c8ba44fcf2c4a3b72ce90af4d4febb510ec6";
+  sha512.source = "d91bd89508318df931629678cdd0415da8baed9efcb55f965d71e26a61db705acc6abe14c6f7c17b61f54e32ae123ecd48cd018920b1f43626559e2b0b4a3c16";
   hasRunfiles = true;
   version = "2.7";
 };
 "forest" = {
   stripPrefix = 0;
   deps."elocalloc" = tl."elocalloc";
-  sha512.run = "3abe903346fba5b97d972915bf45a87616edba938a773ee943eed90a7c3ccf82d46c71a195e0ea7a77ffdf4eaf52b741b1e8c8c42336724c0b729ae9dc9f3154";
-  sha512.doc = "187e2656adfdc6ec7891b98ae7afb8f205639bbb6eb3a82a8029f546d9e2784cd35226003ec5dcf005ba743da8a7cc73e0730540be78f4d2c6c5e10a9379c075";
-  sha512.source = "c02b0f3e5c9f0881e9e2933c77aa8e4067c0a01123ac859286d21c1aff2847b8d294e8250d34220570b1c6091c94edc8e88f712c5e581c6f3882c452ca966ba0";
+  sha512.run = "84edfdecfe017508c496ead33102977f2548b1e664ed6fa5108ea54d738e5bd201716fc2185d917fa5ef43b727130ca46061228cb510f5f8f19d25d677dd689f";
+  sha512.doc = "ffe229aafaf7fc3a2c4e48a4e549938bc80b2ef4e40e2f22ccf3f62e72b8a1eb1a88972b58ada2490efb61171d14a7d5d1e6f940754c39e3b950aa889d585ffa";
+  sha512.source = "37269033ab2626581dfd8a93d739ebd74eabad9ab2b6dac1cceee33c84583241e2e5a660703befcc85c310233947222e1990d2fef02ee7f3c0ae50d2705b169e";
   hasRunfiles = true;
   version = "2.1.5";
 };
 "forest-quickstart" = {
   stripPrefix = 0;
-  sha512.run = "38acb6d669db3ff2b8da78d8017ce538680175d8debd2d5e8442c376a65b60af0d9674f3ae6fc1cca17bda91bfb9f0f429bbd0637747376c9fb09ab4077832e4";
-  sha512.doc = "53d81d2ffd9b6495de0fb8999eb45962552a1d89e3ac4b552f28c817217e7de7a69acf959934913052e9627214c30a471ef1588771c2086efedf1d824309cb3a";
+  sha512.run = "14c3512b55e7653d26571a73216cd1eb5bc4d7ec8b74ae71475c37372552fb309c148e91d4e973bd60710f2a43af9a8ddb6ad99087fd2a9b76da896e521eadbe";
+  sha512.doc = "c53a365ccb1a4059c9440b8f23b3ec0bbafcbed14f871c92b99abaf91adc4bb42ac1d3b784cf545a6352298bded8b4cc7f6b2e114625335af5d9d003fcf922ba";
 };
 "forloop" = {
   stripPrefix = 0;
-  sha512.run = "3ad0389bc77c8c9c1f3c2df08dd437f3705c78b7967b88cec7218dbad2cc0e718b0f01e6425986021bf209c5198dae00c3950faa0cfbcaa7a435bf074466a430";
-  sha512.doc = "d005984e6a7eacd02c4f5110a1a4c6a194d8c6361c665e888ab4edf7af083838a45f9d5a521f51dcce25b867621a376ed024a08d83febb2b7c1d1bf1b6d18dc3";
-  sha512.source = "22c86944eebba0466fb097cc124d68d6fec402c4d23a59df2dfd06238d59597422d1327f055515984e92873dc223f591c7b1b0f15d0ff956e4950153d6fd8a29";
+  sha512.run = "a9cfda31fc63d24737a5b422e9fc7072bd1f75c0926cb45d26ea3cdb7cfb50b3f74d7602964a08f13d216f3fb3798acd21f04bdcfe85a3e3652052b9f2cbc9cb";
+  sha512.doc = "49bb7031207902366fbd0924a025c692ba015af134ca38c90c43e8efe7a9522ee4db4cb9b071dd00681251ad07b4587cd49eb9e09bc77f1ad5632838fac686d6";
+  sha512.source = "f41a62a677f37a57c96a398d48cee84d213ccc23fbffe7f2da6c09e8f58d8b9524d3b53717b9657004e7de0083f43960c0ebd54de3696994d8e946d8044399e4";
   hasRunfiles = true;
   version = "3.0";
 };
 "formation-latex-ul" = {
   stripPrefix = 0;
-  sha512.run = "f40f5d47aac3cfede372d91bf833157b83aa6216a03e759eca0a68d414dd076f2cf80c7d20bddec06d5b4ce68f31eea27b227c86428755be29159ddc55c71cd5";
-  sha512.doc = "a99aadcfff0c880c81f60c33b0f85052e267fd0f3d9fc5e9a6ea14ce2b44cbc7ba0fdf848d5eb3478c1c09a2b180f6b70d48fc0e7f2b29de3234b60a58b05d54";
-  sha512.source = "2315095e3649e583b98274705e4241d930f0dbac877a6429fc5993ebfcb925e8628dd421ef6db7d1a030aecd4fd3a806d7698004fc33922068edda3db786b144";
-  version = "2016.11-3";
+  sha512.run = "d705a402a4ba61f232e559e6a610646180f22f47df251d2731cf8f62a9edd26d60be53ad969ae0bb8d02a767b302df18b88c048ed1536b3677b7199d347e35d8";
+  sha512.doc = "5bf8c412d061a5ce30ea3af713af400eded6a0f75ee019fc9f6e40623c3203839f718eb4b630282ec700871cf4b0cfe68ff38d43cb50f53560184d7d44d528e2";
+  sha512.source = "51a77394f3471dd2fe6b29717c89cc8d2f6f0a126ad84d5973bb1d3a8600539148be0450b1e5f5cde7070224ea02b09ed9b871f743ec82c78640b9ab54ae602d";
+  version = "2019.03";
 };
 "formlett" = {
   stripPrefix = 0;
-  sha512.run = "41b47cfd4d381b109c59b245131cc345cb7ce12574a5f7350fa7a604f34e4211cb1d7d3115c0ba4a41c2059ec8cc73c5b4e2e5fec298f6f7861d86c59414f65f";
-  sha512.doc = "508bd92dce6af5d0d4e1bf9419461bf491211f012d2b091540b29f0fbe420a5bf62cf33ff9899ae36b60d045ec68c22d34b44f1a74d5811e1eb82e9706baefda";
+  sha512.run = "9d984435565a9354d03f7ef1307d543e3a0bd3a8d398f6dec426f7ae16fe3c6b20e60cfb5daeca7be092427606b5a5886a31dc05d023d0f26d61aa1c07be4b8a";
+  sha512.doc = "8eee17c77620f48319e862f2e7d8ae4b979c84250dd17f33cae9db52b1f219f2f86c690969a783648ee3979f24ef58e410cee47afcb12bcd26e4278af4625c6c";
   hasRunfiles = true;
   version = "2.3";
 };
 "forms16be" = {
   stripPrefix = 0;
-  sha512.run = "5cb57ddbd8d7d5a259c3896295de2a4bc7d64cc41869f5fbc0a259c356a1130cfa62565592a7d701108cbbf7d49bf55683502d3a0bc8eedf2618cd5abbbd3578";
-  sha512.doc = "56432da4c2aacdd153cab0d118c68c4c971d28ad5ebe1a172c4648be40e9ee6dfa39da91a11a14caa50fdcf6468de3d5e48c743f192aa7ecf597ea1f2227c855";
-  sha512.source = "90faa2171d972f4b9dd45d1cedaf7d35b5787cd62f0899e700ae0e043237711f940b96ce64070797b8bc8f12924789439d3367f722a2138860c22e73f89a8742";
+  sha512.run = "9d8b0c7aa2314c81afe09cdd9ba3455e3ff7e3000fa9de0e99da935b282c3d32bc60aa7f97a27450ce999ff101b606fadae3dbb4965cbfc1d4a8ca5c29eb719e";
+  sha512.doc = "52bedc12e5ad33ac78c906f9d60284ed079b0f6d66e578f826c946c28de3996c70da0b11284e774ad56196875b3bd166962eeead9282f3d71f6c6a0d4a8cba68";
+  sha512.source = "19e3efc0f73c919c7e74eaabc4b7f9b70be4dc2776b22719eec4f373e180f3ff736ac3ddc26209acfc9f9f9de9c594467cb6f67899f21f563386a44ff58c9135";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "formular" = {
   stripPrefix = 0;
-  sha512.run = "acb5afed1497cf9af824c925caf771ebb0a994d389e86707e66761204f601ea918a20a92bd689922e11c40fe69a158f5523967320474dd592a27e8f8266d5ae2";
-  sha512.doc = "a3852d031181deeeb0bf81aaadf3d19001605b9fb1a93ac06b02d1c657909686b260cc5894b9798c2098f4f1c938b76c8befe3242da8d125147695f3959550fc";
-  sha512.source = "273f7ad3a288d00ec4d41c82672691f3e10094f10b44492d25f8e4f239730271e796ce09c54d2e415b18cf18499cae0a21ff73e2877fc7e940bcacfd2c82031b";
+  sha512.run = "0be09e33fc3cf97552dc9e960979447de61c53bea46205a52b37094f7ce39f10309f559dc99c0037392d4924bb688e27bc8d26e5f6fc69dfbc3d3c41736223ab";
+  sha512.doc = "09550cdf735f340a13c9104b86b37dfca67e39c277ec9f98bab08754f393368bea8379019c402662b7e7df351636e44814bb45c0970cb24db10bf3efdd9dd7c7";
+  sha512.source = "12a7c774c2b6638d610c3277246ced4c8946f0393527ecd0da101481b1b85d1418537019962f86aa8b7657a0159f7c210acb3eea1386e8a528a09428619f0b6f";
   hasRunfiles = true;
   version = "1.0a";
 };
+"forum" = {
+  stripPrefix = 0;
+  sha512.run = "6e15fe7d945fa300e85d8a61644de7783e34c1f8a61dc6a8f7496f3d14ff54bc5cc10ca7e253b5cc2bbff5db0061e50208a5892fc0b9f438326bf6d7137b4bd3";
+  sha512.doc = "c043736ca7c6dfddb6397628a5a832b37a98fd0a9e1fb95a3df2c786baceb3f289e53e49beadd05a481a1997cf0072903cf3c934101df4b542d41c15801e20d8";
+  hasRunfiles = true;
+};
 "fouridx" = {
   stripPrefix = 0;
-  sha512.run = "82e7f17a0699f9255c04fc12f4addcdd7659e1fa8dcfa27eddaaa7e7a4364db3e1ecbdc44ef003a4f6ff55bb219d91d583dd3555ebe923f9ad2ee308f5e68e54";
-  sha512.doc = "8f1b5c7b03d2447daf5416cd2c885dc8395c3afc839873b137be7b5168bde7b686769208abd4a19baf3cd4ce7c80a019ac89871a8d5955e67525460c4e7eaa90";
-  sha512.source = "fb4c61f9b69f38cb7010781cf2bcc7f382d255971c3dc622d8f8bcf152edeaec6c8df8c729f9c9ba75ab8d3238af3b524ca3e5c32916b255acce7fdf62bd27c5";
+  sha512.run = "01a2cc941482972cb8ca3f5402bef75f53d5e7db2b42f8bdf614c34faab3805c3548d3786c3e7cd9d8d8f7691cd5e8e71e056ad8afc24d52444c6969c11eaa14";
+  sha512.doc = "8bc55b8e191b83ea42e228b47621780f4aaeec65248f5b3e9aad94443eeba08b1bf1bf44b7cf252f66466e5b0170260ad202c13abf2d76d4576833224212ae44";
+  sha512.source = "c29e1c93e31da33a3ba3914ea2992a53b52bc18a4da0d20cdfec712037f98058be5113dc65d731253aff8c4e1b0fcac4afe3da36b972f1fb23ce45a795c546a3";
   hasRunfiles = true;
   version = "2.00";
 };
 "fourier" = {
   stripPrefix = 0;
-  sha512.run = "b275c98a68d22f0e81e5e79051ee7a0bcb0dfa93e002cb821eb4837dd8e5fe25deff9810647ed78927b861fe61ee9a349971abc73e1cd6f8c133b5d1857fffef";
-  sha512.doc = "6367e10067de7a34cf1ea8688412e8b1512f97e87aa2401c7ea8d980b6f2a3cf7a533441f5ffcef4daef3a5fad4d622f756d484e6b41fcc04a2594a6ef826dce";
-  sha512.source = "a1ca1ec31e9e68d9ce7465731cb5702222648adf49d04f399a40440f767d068ee963692d8cab55cf7ff403928c51a17393819cc870f58df1b69a580bbe818793";
+  sha512.run = "3bcd5010df4ecd50bd29664b69d6ac6d56d76615dd20ef44d38ed021a2ca3beadb7eb5f8cc2634dda2476f225f6c174f48dad98fbfea7f3c91f3398ebc29c737";
+  sha512.doc = "49655ed0c27aa8b9f76ae2f1dc956eae91ccfc074d4811fcd455709d6574affca3706d06b8a2d1ad5b1285daf287b2b46e61f6ae28575c3197965df78f2e9107";
+  sha512.source = "026c359eea5d49cda0ac58c5905277c90231664d96cd8ad1276626beaae05bee30a0f3884533eae5641e494942ed65848579653ac8adef88de4075fb5d6f114a";
   hasRunfiles = true;
   version = "1.3";
 };
 "fouriernc" = {
   stripPrefix = 0;
-  sha512.run = "573df641b416a3df871c2c8f686329e2e1ee4f118cff4892becb63e5384684f7c21e8ca4e8297c0e989cf4051e24d562ceed046e4ab0fccc1d229ba4e198a0dc";
-  sha512.doc = "180a6bd2ca416e72b8f8c8c6da08a38c2af4d56a993431e7e30d50032c5b93cbdad7641a03790d060b2f1225b941dfefcf4f1a78ebfc007f3835e4e39471ab6b";
+  sha512.run = "904b464fb9066100512cfd8a8998bb089113b443e2df1fb77100f9b5a26d48a5b3512931c00292d19764eb4f068f207eb38dab78798f217f2533a65229411df9";
+  sha512.doc = "039ce79d06bd1fb55b257f1c65c53412b15c26d4eafb9d3abe9bb7a7fa836c8b545718f70d935f1449fa235f33d07c81ad8f228608de20ffdfa99b9f532e059d";
   hasRunfiles = true;
 };
 "fp" = {
   stripPrefix = 0;
-  sha512.run = "0912018b4b1ec57a0ea33eb80b556aa111c738c3255e47f73301d926ae9245ffccab8e90b30cbe5a40ab5bdccea602f0ecd879bdb6681f02be79c79c2f3375d3";
-  sha512.doc = "8d41d11a282d47d77c0fd004650115a5dcb00f06a4387bc694cb15b30b852f2a66638f39c7f7cc72ce1d9e0cce9d840380f959a99a3fd73cff799d90ce420b57";
+  sha512.run = "27e60a78da80caf0e50d1fc83d227d19982e30950650845df710949f4d88db67dad96212331182561c43d37cdeabd3b68f9af55763f30175ab27a6b5f089870e";
+  sha512.doc = "79b62424943f725ffc6c1698cadb9ba2fa6d9f0694741a951bbed23c43f870b930d966f110bbe722c17249c7211f08a3a95a5ce7e9da69b7487aec37e99e5152";
   hasRunfiles = true;
   version = "2.1d";
 };
 "fpl" = {
   stripPrefix = 0;
-  sha512.run = "459008efa5ebe60dbf45a5d3abea7bf4c857f71d50ededb4bea5f90f23877f7eb311c3427fd3ab3a67a04cd2bc9906b8dee325a7153d8339e329befc8edbb15e";
-  sha512.doc = "31e37d3d7469736f3b3300711e507e16a9ae399ac922ee2bc5ba7328c5c993a21db4bb88e8470515e55c30b649ba07754e7f0a995e8cd75898b3a4ee69b667be";
-  sha512.source = "88df77d4f91922388b31cd33c8938309d7cf9465a23247fc79008eaa72f812f9eb7f6a94aab8cb6dcaedb1c59ff3ffff57cca72a46762e3a5a3841b3c04e3442";
+  sha512.run = "5bd87e686f418d0ef76ca1868b5034ebf5239665dfa52eff5d9e559a733420891ec2f17d7e08b527a422b8c4cf6ebaaa80753abace423759fa06beecef31228e";
+  sha512.doc = "b101782fdbe6896cc49fd81b6ec213d5b9951d3e80de22d7797bbb34ee4ae18d3ad6650fb05e57983cd665d09d23f3d7efeb4dd1b14c294373f9d0df95e66162";
+  sha512.source = "7c98491db4a2844340c33f9f23f90a50c7a41404c010aab8ecf544c504787758ba86265da3f988453c3ddc3972df8dda55091b3ff5751d2c60ff4c5bab24a059";
   hasRunfiles = true;
   version = "1.003";
 };
 "fragmaster" = {
-  sha512.run = "1f534934532e157eb398e330e2cbd94e62b419a03c313c492e9125953d1803bacf5d4707297027345d32ef82711b323003582d3caa05bafe903842e0a2fa8a5c";
-  sha512.doc = "09739ee4ab0bec2d190ffc5382242eb8612291a7e93ee0286169173bbb84e5e0affa6bd363496b62abafb220bb2eafe504d4ced43fd75eaa0b53a8ec854a7a59";
+  sha512.run = "dc5d80aa4bab7a0a66258face6cf8222d03b12ea492f7cf568ef815a6d5950a8a2b36c7403ab466141f49cb8faedfbb33146820b88da17d8b8fa18a2b16235e4";
+  sha512.doc = "61f0bd7dab46bfb91b634006217f01648007cbce3c9187b0811a5cc1755ec19654da94b47866ad9873fd57629f1561d1cc46bf3a4d62db618502aa0e67500637";
   hasRunfiles = true;
   version = "1.6";
 };
 "fragments" = {
   stripPrefix = 0;
-  sha512.run = "a033d2c411bd6defa3461a036e286e15b779d6b75dcf2b23ed9126bcf048e98b96d6e5c6638ae4bf52daf417b11c1a3245a82b7f79611eec7dcc1f346b48dc63";
-  sha512.doc = "099faf521580f2ab96d6e6e778162d273fa97e916660114275b821beaaee61386d8c61dcbb2f74e12c6b22a456d7cfc7208f0705d37878902b285c2d3e6ff309";
+  sha512.run = "adab94e7cc71c6ed2d881d13254793df16eaa08d1e37e4d3f0344e7a56cf08a4ffdca784871e8939f5db8e868b7166846843492ced0071c9dfbf56e39d20ec0e";
+  sha512.doc = "dcf795392d989fdea695512c8f7011f783ea9091bfcc238ad296b0cdf1775bcf631c3097ede09a138117e39c7fa71da7eb355878c8389bdab2deb76a319102e1";
   hasRunfiles = true;
 };
 "frame" = {
   stripPrefix = 0;
-  sha512.run = "d630380c648d00b6f1cbfa751770f7a520fb86f5525b986ba565c330908c5f6de9d237bffb1d0c06bd29107bc4f1826aa3bb375e2f533d8f2e1aa40ded6cc348";
-  sha512.doc = "6d69ae2387d69ef3db67174383d323e7cc095fb8a8426658cf37c0d288c57f97e77548e93f7a3faec881d2ce0e617b07076932f05c0d165ec469d696ddf216a9";
+  sha512.run = "b66df0a91a8605aaeef2452236b5169cd363689a40f4a35ab9006ac18c21d4ae2a070407f84beff7de0be246f2f1e55c8b06f234921c4d7153fea9a7f2df1679";
+  sha512.doc = "b61a3dfbc23031a39bbe01788f0f1d51750a3aa9132671917ed8d14c57453d588c75f8cd54beac9ac120f26b09fead55b871d53e918a735ee172f1603e4cd1ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "framed" = {
   stripPrefix = 0;
-  sha512.run = "47ebbdd15f22c1606ec5bbfdabf18bdce3d1abdd2fcaa8c3d42d21c8739838d41be0fe8ed9213f17c49d0951526aa5b65591884708833a6ad1639d4f46a83841";
-  sha512.doc = "c1ad8180bc6edec12c0d644bd8694bacb0c2ecd6e946ed54fcaf530aa31f6403a8eea75f95ff6b0127ea01c67f9815bbd85952e682c4b637e7444e1311389d7c";
+  sha512.run = "06f0da36c24ba42959b2176066d3e95f23dfed41753f4e4b07c1f92c4789e68d1b246c61cbdeacbb9c00b6eb990ea2b3ec75dff8ac57845102a867dfdf2c72c7";
+  sha512.doc = "1f48ac19f74f5003df88700ff85c072c8a655d4623b82bc3b7c6570a548c0a7b7e97fe292f8557a72188c0047fc28e280bc3ab65f58559804fa78e89317fd67e";
   hasRunfiles = true;
   version = "0.96";
 };
 "francais-bst" = {
   stripPrefix = 0;
-  sha512.run = "277a6e0d711cb0a48ac52ec76b64d8c4dd010124c9b72782d2c16872326b324c49613189c6ad422a88c46326b3105f603346ef5199054669f9294b3f43a739b1";
-  sha512.doc = "6f0c57e703f4fbc5c175ea5b7dd793c5b0a34caf8fc601e0d6c32a43d7469215c008dab7402b314c0d8d6212fdedbbd898d1bfa8f0febe42cff3453e22b5c39a";
+  sha512.run = "b271711badae8883426ffa2783a2f942c9d37303fb4cfa8b4a2ec2f8999dd150060dae6689bef17d2120cc7489896ffa497ccb1f7f693d5db9a8ca5ef6747f21";
+  sha512.doc = "b3a53111f7fcfe972c0722e8600b3115b6e1a93631568d9bdb1f824b8185d4c78fbb135c4593856e3766404fc8e4c005daaf017e5c1552dc452c57e943832e14";
   hasRunfiles = true;
   version = "1.1";
 };
 "frankenstein" = {
   stripPrefix = 0;
-  sha512.run = "ad7e9e38f24e5eaf231685d1be8af70c1a6d875cbd8957f44c01edda48299653e3c3386e427da00de9db6b83ba1e84155f49b68e6c19309e6f37feec4ca226db";
-  sha512.doc = "8d5c2e1c7dca50f4942accd46756cd1730205cf382779d06ce823d9e8715c77e6b9df76780b8dea3d5fa12daec4788a6b302d031a2a956d4c9e05b67d39e5db1";
-  sha512.source = "46b85983d6180871ebc4c80826578956d901c47be460fb2f7c1ee7881a7c8c8fe4c80e192f44b09590dbba7d3e35e43373d2a09cb48a2ad17846193b2def8f2b";
+  sha512.run = "1d94962185391dc1fa9edcadd67a60d9a4b59592442ffdd45badea6279db8dea101b418ab3e03284e6e88c247fd213887f06e72fb6c4a002a66acaee82d8d4bf";
+  sha512.doc = "8d8a404aa0a61fb76104bc57e1c2b837ddf68516c4d4fdc1af0a84425943f4e23a4f660b28b02e088db8849090e3734915ef7e0216f578a5199cf12115c498cd";
+  sha512.source = "8481205c937e58fc0b46eb25e4f7c8b28becc7ebf2529ab784f0bbb7292dc21faa9ebd1ef3be2a98950f1d2570b23eb13f7d6e134b8c8c5eea25e81c0e6c6eb5";
   hasRunfiles = true;
 };
 "frcursive" = {
   stripPrefix = 0;
-  sha512.run = "9e3535dc5542dd16c0fbe0347b8086148e35f7494f2f83a4b191f389c5c3694770284a1b44834c1897385dd08d1feeecff48cf23137f1497afeab4b663bf53d5";
-  sha512.doc = "1c930a082401b92a0dbc6b83066e84d08f0bc55e8b98918d1d35d526f5cf94d5bf679f4bae5b318681c6044ab64474eccff80a85e82e1dedd76f7e70351117b8";
+  sha512.run = "5ac038493648ad14626e2a015c7dbf96a41257ab1d1086f9e79b0128df2c85af1a279e021e52c722636f8647364791bcf7580cccc1d80d60084f5a9a55a23317";
+  sha512.doc = "eb0559574af52a711f61ab84cbda996c7cf4b2314b4d5faaa18824ae3396f041b7a5948151b2b5cffae6675bbe09c2e4358b81e9ad7792e5ece8a2912d7ff030";
   hasRunfiles = true;
 };
 "frederika2016" = {
   stripPrefix = 0;
-  sha512.run = "796610db48d86b4e90207578917546955bd13e1793b00a6960cae36696d9e188a350289ba79c3bc8f4840b405f97947e0b4a39607521bf1f90896c8dfb25e54a";
-  sha512.doc = "db39b9e807f7d53a619ad0679caa64ce40944593fdc1e9d2666c71f5e98e22e18f2c963106ba675055ddc77c859312a3a817a9eb50dea076ccfd45a7582636e0";
+  sha512.run = "b7b271af72364e0d2d00ac499bc1e419534d479d27fb424b7046373323354c47da29b888f0d765e3ff4725333ab3d407cd21a064bc4d063adf890de75aa49e3a";
+  sha512.doc = "e205744d689113870fce9cf791f089ccb59cb6fa326c811f34db7183588df3de9b946cddba2a02128a9b88490e9326bea6563fa0fd9a3cdc76467555b7b8d198";
   hasRunfiles = true;
   version = "1.000_2016_initial_release";
 };
 "frege" = {
   stripPrefix = 0;
-  sha512.run = "2952ec6f6e6ec3e8b2a5c4c923bbdf4dd8272f28a54202f740f1daa864f4ab671d973a695e3a606662c45440c9ad2d2368d1c585e32aa1924bb982b8d02d1ffa";
-  sha512.doc = "8201b7d3e9476614b1d5622447795457b01388c2015d623590a1f85ee848038b3c6975f9f8730467ea7f9c03a6cc7d65905fcc3423808014007f89e5533cf852";
+  sha512.run = "39d359f01256f2399cd9226744aa9735543d5c9eb26104855bb52efaf51b8c720cb85e5be08241d72d3b2e1c2deb9cc7a10dd90ffca789ae91b6ea6b7cffb879";
+  sha512.doc = "28c5cb420f25ed57a03f3914ce2286732ab8e06cbb0b8446ab3112ccb79b34814762becb7ac7457593e1b5b1579613a76a8b21fe2c43ac9f08175495ea87bd1c";
   hasRunfiles = true;
   version = "1.3";
 };
 "frenchmath" = {
   stripPrefix = 0;
-  sha512.run = "14c3e9fbcaa5954e6e042ef993b1c6bf07a7308d46eea38bac4d9ed229ff27b9c23415de8bff354d4e13cfbcaa7ccf41d4da5513c698310250762e7d24dd5b03";
-  sha512.doc = "8bcb488089272592420d21017bb87dbc142255d722609e61fa5fe7eb9299721021cd79c22a105e66b61deb4586c2032208c1432566b1d48d465e2f4f04ef49df";
-  sha512.source = "7075fe2b0ef12764ae534c1341b7075b634409040903dfe9d556ece1d349044e45d0f93f5e5c362eb00cd08d40f73200a80b344e93db79cb1ea764e63a946cec";
+  sha512.run = "1102ab998250a36d6d93aac7c673628eacf8b1abd203d91989922599ec6dae58439ec2700e40eade5b0ee1666a68a30d94f89d3a225082a6273ccd63f61fb586";
+  sha512.doc = "622cbf8f1149c53f240036e2cf2d6245d6870ea24f9af6e1883e7fed2f1001f38227176156e8a33c9d9c07414b1accf1a924fbf7248e91903d764fb85d277bdb";
+  sha512.source = "f41712d3bd58290fbe205001e9fb531a147debea4b93aeac3b9831cb3bc8edfc7d1364bee575c750aacfe1db8632c357a36fc5afb003a7c895108146a1ab3b7e";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.4";
 };
 "frletter" = {
   stripPrefix = 0;
-  sha512.run = "3d71b22fc4f356b09775b3bdb82bf70a27dd8a08b4cb899986bbf575c626e74a04ff5bec7df2ee3d03d6e89b3a6ce1822fd49e14e18bd4bd969b61e78bd7e1f0";
-  sha512.doc = "f44d5518d3a4d78e7b59bdf2d484d21ed1b892288193d1bcf2c93e42f9cd6318b45efe96d7642a97254f52c0da63e0fe844ae34c738bb64fdc0aed8ec0ca9ec4";
+  sha512.run = "5f6c61585ab0626931cf7f19d18138ec70572f3531f36cf94eecd82d93855a2ec8ed2ed0146971e035f8b5119df7c602c6279a9976e024ac85869953448d51de";
+  sha512.doc = "36fbbc422eed8e577e054067e7b442cc84b640fcbd0706e3d8cb503884a5208e0a5bbe0c40b67cb5b495bcdd0ba7a78855338588757e5a9d26dce21f9bedcf3e";
   hasRunfiles = true;
 };
 "frontespizio" = {
   stripPrefix = 0;
-  sha512.run = "ab73d2883345ee9ad92cd2bc1a01560f62eb399284dfccbc132a482255d59a3124c595ac40e47027bec02058a143d9362bbcb6e6742e458324b736062cf28ec4";
-  sha512.doc = "659dcb35912a4cc82f27e126e8aad4a9459673ebba0722614670f27e14d0ef434873570f5e64550b06c31a49c2fa40b4a0e5295df7ae73e6f4f6d366a5030da0";
-  sha512.source = "7023a33cbb831d9b83962400312e5793cfb1a07dcfb476f17ddf9ceb90f7fcc09d076773716d8ef3a5c999ce5760044127f7d6c0c423e1ad8abf35fde322f6c8";
+  sha512.run = "6045214cc6a8325d8c828c2591fb43995f098803b031adf50bf8b4dddfa0047ce110dd25e5db71b068376893b7ee83a70806713a83b90a26c4d1c8553e4f00f2";
+  sha512.doc = "beb8cec7ff51ff9b85e2a650bd7931070c126ea3b126051eb63194e8a071f6dd92d0014953afd85b0e73095208fdcefbf202d9c0ac22003f71d7f7a72f4a4034";
+  sha512.source = "690c42ad3b6db68c8d4305fd9c402126013a26a28049f5cdbaccc455effacf9bbf86ba77d91c518d88b72e48930939389ec33620e8adf06eb20762606ad53daf";
   hasRunfiles = true;
   version = "1.4a";
 };
 "ftc-notebook" = {
   stripPrefix = 0;
-  sha512.run = "b67a6dc2f488a7a3ab5cc22c74cb7e78370aab5c794a17d5d078919fe90602d3ba7fdd00226c90ce1da34d52f318bf9819b0802986b57b2edcc40dd77ef5e106";
-  sha512.doc = "d2df12c56372044c3114d6a5052d749663f3f211464f5005bd50472c2377dec6d3796ca690d1b40223470a56a5ad03b0dce62973adcff021e7f6ce8ce5c912a8";
+  sha512.run = "9dca1b2e09293df3a12df85f843e1701e1ac428f4caccbc196f43cfd02517cbc98908fe95fcd3e26685cd95dc8565aa5e29ad79f7d42ec5cdeca0346db6a759a";
+  sha512.doc = "36022ae2df65e45e2fdd2a01e2c95502c3acee0e8fb0b738ef06b313f47cf8798df30a41a6f5e7b4021a556ebdfd17f84b4a79d54d2b6e88c8044f0a67a87f8e";
   hasRunfiles = true;
   version = "1.1";
 };
 "ftcap" = {
   stripPrefix = 0;
-  sha512.run = "58ccf3674d424dc2f0b8a948603824fcdf621f054cc9525775663a5733874634eeba3ee8a2c0e7a1492faae6d0b4918754db92573961de343d9a453b1c0c5eb1";
-  sha512.doc = "743d53a67cf7c237cc6e75a9a6fca9a364d5d3c9ae37ef885425856d6dcdb2e961d004c8043532a6baa1fbaa51b4be81ba8cbfccd18128fedfe44c62450046e8";
+  sha512.run = "1287e0bd63fc92ef3e3c77ae3a6113cfcca38dd63f4a90948baadd2a365c07b38631d916230baeaf550b1aeff07f9cac3a26a07301838716d8d70fcf0843953e";
+  sha512.doc = "afa317f10c600c88bb96fccb0383b291e1fb7c11abba5f6bd1efb05e7d2ce117c4ece7bdf9a9ea16c71c116143aa65ba26cf7c2e1dba68f225b655d122169001";
   hasRunfiles = true;
   version = "1.4";
 };
 "ftnxtra" = {
   stripPrefix = 0;
-  sha512.run = "b938db2391007e8c0886b8178b6e7c77d420fc15df8b907ca1132fb27d691145a3ef4caa72eea6f2e579237c35dfbe0d3e2719185e59409dde946dad536358d6";
-  sha512.doc = "441b712c5c0fd7657b0ef6db2604149acad27c1c2e55ed4d9fe7f87e714888ca7ad2d4567ecf61071dbb6c9afb4c8dce4c8d82d338be701bfaec2fea5c634ce9";
-  sha512.source = "b4fadec0bc877799773060c4625dab892e709037676fa5f8166f87779ed079ed7651f132dcff3c7560ae31108653537a47cd93e1cc9252a61c1721ef6cc481c3";
+  sha512.run = "df8395b996f96ed72505ef1ef7f0e8e6101d4b26059831b227344023514d377eb189961a240e83ba42ac4ef7e8086b8ffcda347290014fbb1cf1531371c20eff";
+  sha512.doc = "fc16ff992e3339480a4154169665be49f51e56f361d0b1f97842c555be59485fd7edf3cf815e32642826224e188c5377fdb2ab36746cdaef7f552399a4b7119c";
+  sha512.source = "87e580467312c6198fd7106b6fdfdac994c5f9fae3d131b793da60ebc9d852141ed6630aa0d4273e50e7311b6e10499a3e4e2cf141ff197d5ed72822f0c15be6";
   hasRunfiles = true;
   version = "0.1";
 };
 "fullblck" = {
   stripPrefix = 0;
-  sha512.run = "06cbc00a95c7d5684a1eceb477685631f054a8200190c0cc7472d68587b125f95d2cad46b2189326b7edb11476914402630d0b74d6321b0c3b7ccb73d21480eb";
-  sha512.doc = "84bdb73042dc8556e9ae4ff9cc3f996f12cf0705ed5c076f8aae799e51c3a188a9c7323552f3a0d04f8747adb8c7a8abb6f1a6e1f051f08986506cdbab6afc0c";
-  sha512.source = "b0b20e4918fc456ab5919e24b9a4371fed56b24c1d15026f7dec4b91aabcbd9647497671ad5d951848db2092709a89f223b5ee82a8a4da0bc7b46bd85fe07177";
+  sha512.run = "b298f55ca3afe8819e44704329c06be2867b00c1a2a399b5db8de8477751f9945bce1041450c7e91559eeee65c9bae5e76b57469c956239c9752341b820047c7";
+  sha512.doc = "9da7587195a077f8218abc6a7df98bd15369650e00ab3893b6cd70a268bf34431b8c2c49b3415269bf6b8d1ddf51a8e23e76ae87667309f8466ad69da87f05a0";
+  sha512.source = "2ccd2da9f1924a1547f4a6b870ce150e6140abc9c1984f1a951a59146944d50c6f8e115ccfe79232f941dbec756e26d460037d92af191eee644bb2dcbe986c6e";
   hasRunfiles = true;
   version = "1.03";
 };
 "fullminipage" = {
   stripPrefix = 0;
-  sha512.run = "42a1a17467872eb2f23f8abe0e5661020ef5e6c310fa09a56e71c73cc420db4956cf6e5512afbbab29d57f99f56258a83348ad7ec8f73c2195f49309e54cc0f8";
-  sha512.doc = "19d3d3c4a56915885ea1b33f775dbaf4e6ed1342b797fc6ad2ee98304952374d7972fcbb1fd3243a97e2adacd1ee753930c3407c03ec00de351e4a12a209ae61";
-  sha512.source = "c8c88a5cf32b46762e6bab1549fc441bdfde0ceaeafbea1da5943f659575b5ff40621b083e65672d26f677e8f599377c510c99596986f12ca46901928200ed55";
+  sha512.run = "7ca92205caae688761ddeadfc0a37173b37e285adf3c1f54c4b2994a0c82c90713a255d5068784e3f3866a7f1af603906513a561632b2d09c68477e497330d2e";
+  sha512.doc = "111145d2f1c81f74692df8ef397d36c4c0d7b6c89efe0250571c0153b22b9d562df0dcefa90e3be96f8eb518af75ee8a23d42ad898e23668265dcf39d3c678ff";
+  sha512.source = "d95dabc4565fd48b8a6e8b35777fd456934a3cba8bac34629ee6ff4847cd1578f70a06e6b87a9b76d26e341a502d1c284e4e155aaea9c92a12dbf6d0043d8249";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "fullwidth" = {
   stripPrefix = 0;
-  sha512.run = "ea79226fe4c421f9c6059e58c9c1d47c6bfca4a4c3fe24f10a42b6409af157fe306b524eeb090b7cd5cc72256fd2976b37fda2f546a4869635de6b267cd0843e";
-  sha512.doc = "5e7fed77cf33115ca40cafc71e00de29497eab384bfafafc920f9ddca334ef0e3bafff72c606f2d64b7b1dd3fb596f8614664043ecbc597177c91a318249bd1e";
+  sha512.run = "c9b9c37991365346804b51aae7b4645e5b63eb6a3c5c60a953cbe0583de0960e8a9d6cc99dc7526944415764869308d778fb85e7cde821792bec940f6c19072b";
+  sha512.doc = "55892645ce01b31dd0285749091b8fbcab0061a7190f7a426379f6d3ea8bece8a5c054cad8b53efe1bb69a68fd3e49c3e8c8afb94954ff4ba8838142ab4576b8";
   hasRunfiles = true;
   version = "0.1";
 };
 "functan" = {
   stripPrefix = 0;
-  sha512.run = "87ce583e4626798b269af7e14477c1a17acc79bf63888dcd3aff36e679cf87309914bab0794ae7d832e2cb549fa7f7b16d1c147299ec3277fac911a9874119d8";
-  sha512.doc = "9904a29683d4569bda2a1d8cc749251ffcf073b3fe0b00bab0b8a36e672ab6037677fc37bb09aad60050193ec35525d1bb5c85d920b452ff9693e4b417d5117b";
-  sha512.source = "1b963b9b405bce32f5485782e12b9808081c93f413f43da1a63d1ac327a008d0f7bbf5b811bbf3d0527c5833ed9b170f36e515e80e975ba191d2b15fcc01fd56";
+  sha512.run = "0899d9a3c30e701d5ba6a0275521a40a3cf2df680e9d4a95624730184fb370ae2537bec1becc3b185647a988af5fa8e4bda5198f42cbe68cbc848d8915f1c9da";
+  sha512.doc = "c824825fd424316701e25fc573a431aa5967af0d520b631489b20608459dcd0f7abfac277c5b1e7b60e0a2888e0b37d787755acd6f671e48d4911969e3058692";
+  sha512.source = "f83465845900ae5bc872fceead5a83fa972c9fa8b858606007237251ee2dd77cbd095376194aca0356e5c8be53fe653a88f5a10c1f73effa8201b3adf55c5a17";
   hasRunfiles = true;
 };
 "fundus-calligra" = {
   stripPrefix = 0;
-  sha512.run = "4e4af075b48df0727dd46b3c7d00f690e2100e3c341437313dd2e5183db2c0173e705a72964bfe0aed2b9ae50e74a1338a7ec3ebb85f07ed2204d93d506b21a5";
-  sha512.doc = "4e8c4e6f5bb27edc11ec331c9e6781e9f08b9870f2e627875c7673a2692b82a3d7ecb079abca94af447be024a4ef215d7cac14773692d58a9f09f74a2c70d916";
-  sha512.source = "5660db1f802c5ed82db18b8e23fd8aeed8d5ff003e3e0c663431c398b933a24229169c969327e11863ba32c56383d876e2990193434ac0dd05ab1688f1cf39f3";
+  sha512.run = "a999f372ef266e66a199935a0783d99293141aa08586a38d65a3748c1a239eca7b0faa74d537085852e79520343ca937943b30ce38820fdc925d75b1a334aabd";
+  sha512.doc = "93aa54f12ade2eab798bd84596ec3b366db0a15eb05b5279261af8bc13bc1ce782077de36465e8e29d11ea1b89456ab207c33ab907e5c31af95e63d5d897da88";
+  sha512.source = "bc5cfc694592c7a0fb469f752a6ec854d11d9f69588fa6e42390080e88cca3da2fbe888b826ae7a3c07505bc418129237faa791dbf4f3dd9a31cb8e06ad1a9af";
   hasRunfiles = true;
   version = "1.2";
 };
 "fundus-cyr" = {
   stripPrefix = 0;
-  sha512.run = "2cd1ce802b9d4f60e547177b00b535c1b94aabb1e23a5da29fbcc8fafe85cbe84c5bd23a62ea58b496df95bd50b9cd72bef91f2533429e437072d674a4e8469b";
+  sha512.run = "de84ebbe6e70f61bf9765b9368df95fa5ae607a8d6e1c5535240e8665bb097c6958956d1b19ccf12a2a510672675c7ffa08ab98bd80b6ae2973fbe65d0e8d343";
   hasRunfiles = true;
 };
 "fundus-sueterlin" = {
   stripPrefix = 0;
-  sha512.run = "eb9062aeb2c888aa4cac7dfd4cea3cfa8d697fa4674dd0e1691a0b045a5a3b1ffd0efd2b602a6b1f1ac95f5b38474f717fcb6fc9e3c8e26b1ffd48ea7c4fb23f";
-  sha512.doc = "822f4dbadda70995fe25be9b90f7ef4b929d6109a6b0069d596dfb1662438ed7d08ef56da0ab7cf62207616f81da34f598337d1613e30f9b9d72642c125a1af6";
-  sha512.source = "16cf25413c96f27b05d2857778623ce4189309d642e29bb6b0360b6430e63d0fc4d63438f9b16cd7fb1d5491fa6995fad795f6481b78bdb31b73a471b237d771";
+  sha512.run = "b15a1fa2ee3272f25a616234a335d0bd5c8ac810724ecf453e172d2b68293b55f01f3e57acf81c17721cd3f489b35cde077d5456b78afacc589853224f1bce94";
+  sha512.doc = "7162188682c9129e1788104fe94aae2a70607e276eeec4367ae60ff9e50d26aa88a73998028b99ee42627aa27e8868ed2fe72063db2e033798b09ff0b7a13477";
+  sha512.source = "59f5e1e7f338445d3e8430c5c7cf69de9499a659ad5f32566c26166bc2997eab82964919c50aa15311d19c80a14a1a7bc4380e985f382d4ee89c387faef38b37";
   hasRunfiles = true;
   version = "1.2";
 };
 "fvextra" = {
   stripPrefix = 0;
-  sha512.run = "67e4468f380c1386086ceba43b63cd97d9102fe7ce9ed88c8ac969ad6c60c73a4b8bac8e7f1f2d7d76f2fa4439622bdaa8da4a34e5bd7f1ebe7a12c0abe6fccf";
-  sha512.doc = "15a535efa410fc718ed2c027e6a949d4a95bb5552aa3f0e817eabb2e3de412083b26f0bc1ff01d90c42411a8bd63f2590c578dc1b4ddaced98a4c7f1cf15033a";
-  sha512.source = "a31682c1ad62ad7fb597e30e44e67cf7732610f2c83da52508e63cc384c823632ce28f4c50a7be5378f6c1f26cd7813c4e743e1017fd32011b4152c567d433cf";
+  sha512.run = "9b5daea58dbbd82c3c2d5e637b3c46531aaac1600b39a945eecefc725591c885b0fd706fd38a11c3149fbee3b6029ed518147617a9f0c95b57fe5d66d19541f7";
+  sha512.doc = "8e21f94366f7642cf92b8874050c961386fa019450a5e1ae9f6221ab3bf473b41e768bcb2fd1063a4421e721daef6ada5b964a1b6b9fc0054a1b9d7c4040b54c";
+  sha512.source = "85330a89067d35c88c86ffaffb0445178b899a9f7727148ccb6cece070317f0d559e72e216c7ecd5a39bf830f5ca93f9f5f711a931fe8cc9d942e4572263f74d";
   hasRunfiles = true;
   version = "1.4";
 };
 "fwlw" = {
   stripPrefix = 0;
-  sha512.run = "9f4634a743206a5f82c95ec5c2ad247280ff8b8e95b5d6e98d4171635d9c226e3b0232e6507734e47592ba04d8102a8b47712d67e08334b9be4449b2330caeef";
-  sha512.doc = "8ebee4e71f6486fe2ffe05aa9aceee4462fac28b43ebd75dc8a5556e86eb96cdc2e03fec23a3d2243505168a8ee5622486d7081c99c9a8c1d0246b8f389b1115";
+  sha512.run = "ac2c981bcc4da92a7f91c3ac17d66c4e0e7c94ff1bdb3bf3c7f6a4eef19fad1ecbbc6048a5c74627126c7e1190ee18c2c9373e80d52130a2d272c58ef70de6fc";
+  sha512.doc = "bb55ca044aafb5b11b89b3c817066c4fb20facba8812667398ecf945bd8ed4b11bec2dfd21455db9cfa5e81e5f865655a3e6f4d3724bf40e47ad1db708896902";
   hasRunfiles = true;
 };
 "g-brief" = {
   stripPrefix = 0;
-  sha512.run = "c88997ad2c25f864fbb3b7acad7b19333cfb378a9e02df602a322cb2b5dba7bd29c4f0a0dfb7459996d2cac6c0b9e3de22431a3e1d6a70cb38dd8ae0415fdd7e";
-  sha512.doc = "9f1e97232b00ff2afe7d2ad550dd14e1e860a95ae55f9f3f9e94ac9b0314b6f0afcc63aa45875db65ff8d3e5bddc76a5ee4dc7abd03431efd65d7191fa9e4d85";
-  sha512.source = "4257cfbb187b7a68797a8bcc31967a4fe95ae5e57beb9f5d4db5bea360e0a93cc040bbf4c5a2ff38d60b4582cebfc1a225c620837d1f490507fd6554617eee1a";
+  sha512.run = "6c0a8e653cab5f67a85d25e18b98371323b3dd09365f6a3d1b47eee409b233db4290f6e6de70128f5b45facfc7771475671990bb2c79a1718c74972bfba78070";
+  sha512.doc = "147d30be05a9224e141d9dc23a81750d0c43bf590d6e1dcb3e92fda6c668031522ef410904e5c7621c9b98879d6809fe604cf47de7f24891bc7e15c7be5ad05c";
+  sha512.source = "447a25d983f71d109bc747ee8ab9e120a0b7c698a9238ea5363d4d826383af5587f78f21c442d4e1d999eaf4cbfee813063f7547e786df962866e57c55673c8c";
   hasRunfiles = true;
-  version = "4.0.2";
+  version = "4.0.3";
 };
 "gaceta" = {
   stripPrefix = 0;
-  sha512.run = "4a99b460e2455da5e82cce23884e7fed1543f942152c286ce58984c64bc16599cd9e5ad4cc2c2143cdf3c624737192a124197fc97e4c2f654ffbeda49e81a89c";
-  sha512.doc = "97e7e6abed0a0f3946e53082e81970344d27ecd95f7245fdf419d20f061d994b45a5aec9369ff30aaf1a31e6312cdc42d8a7eecb3a0e237781e13f8eb7f75c24";
+  sha512.run = "54c42cde3613f1fc28ba0a675281e64d2596e8f3c7831e1b1611c34fed1a82c01da2d6eb98058d5776ffc625d04e62359f63819307d04c6296705de74bfcef66";
+  sha512.doc = "594fb3b44492018c6777e014ccc4784813784d3e282cffec0f6b6410a59f088ee30c8113a714fa41369eb795b35a1c615f3069a43697d0bed887123a44c02bf7";
   hasRunfiles = true;
   version = "1.06";
 };
 "galois" = {
   stripPrefix = 0;
-  sha512.run = "bcab33037af8e711038628116c7e5b4c3c0e8fbc59df940e95c224379afa44c17bd9f551fb1b9deae86743ecccdc3130e80cde803f9233c99236add31109d52f";
-  sha512.doc = "938ad234561f95a60fb6ed7e8aa3b88aba63b7081044e37fdc5ec0e7b2eafd92afa919a927be6902a5d6232817941336267b8193d307e4de9ab2d58acb93d9cc";
-  sha512.source = "9ab411987c51c647a732dcc9e33f14780d45221698aabaa9d5a569212cc15d85d1bc4ad76543364e1550dd100d34ccf447b3102a449d6b55efd27ed73ae8cee8";
+  sha512.run = "0c864940c2a47ad82f031868c1933679f9ee0e5ab01e98386433311a4230a77c7a5d41016619fbf7bb1957fecc259bd092d7a0894eedef91143a0d85e68a6978";
+  sha512.doc = "7c71fe703efe235b3d1cf3298c99f2ba7dfbdc8d7c20861e8738070ef03b9671b1a4f6df40b2238d4b7cf9e765a1cfdc6210ea63ad06dfc60e0ac7a101735315";
+  sha512.source = "f1f62a005edc9b6b5c1b294aedbfe00cff61c48f22d2fd0b90d76b1c6144fd9c8b885890e4a6c6e64e054ceb67b851c6fe3d9f2f1baf2801f070f0bd269d4925";
   hasRunfiles = true;
   version = "1.5";
 };
 "gamebook" = {
   stripPrefix = 0;
-  sha512.run = "71d9fe895c72854c43d79b5ef48f8cfa4ecd12f6c3a5c9a267b3b67cb1d549c2a910c113801a0dbc0f3642c50dc54395edb5dfb369de284dfb95935f98cd682d";
-  sha512.doc = "49dc32afe21fc090a1f8f0c1f8734ef32b82ee41b5586df0bf6fadfab44f152a42f580c0119fdc8ed11d961a0b1b86ad9c900228a45ab91aa140c107f5769900";
-  sha512.source = "14718b4e3f70d98934662559b263c5e4314e745b9eed5a0a04ef3788590f4ec206eea1076acf5c08b386892cf2b7c0235c1af7bd1d075b00851852edf754dc63";
+  sha512.run = "4af22bc285bac3f368778dae5c91cf6a1999748a6dfa5fba96e166ed320e124c33f2b6d6bee16ad8d00d0f8067b24bb3567a1aba849b74a6b02fed3bb85dbc0a";
+  sha512.doc = "58493c9b39343846913263f53b3bfe0fd89e4adb4154580d1bb0ff5d32b5b91ddc75511a0241fa3b98faef8b2d9d7c1846aca486e0c7262f8b3ea7a6bfddc619";
+  sha512.source = "793f5cb23ef53b3d24d10ac5d52cf1e8bf90438571e23b5171c778ac720fb2c52a03a90e1f83f353df0b5410e94b5551d0855284df72c34a0f212842a3f96c41";
   hasRunfiles = true;
   version = "1.0";
 };
 "gammas" = {
   stripPrefix = 0;
-  sha512.run = "ad439a67c112064fa94b292a9d2f9a1c6b88736ff4754c880870cea47a1aa6ed32505dd00300caa334a1e465ccbe7d092b2521e2c40d2f84a641fd9006a58b4a";
-  sha512.doc = "f5bac7050063eb146a9899cb733208369330b38dceb9b6225b200169ba13ebd371cdd9c23f9434570c3b290b00a6b76ebd0b368cfc35f9431c0ceef311e73958";
+  sha512.run = "96be5ba2abc71f93d044d762403f294082e9afd10ff4f159713ae906233d1581ba408205746f968e10f84ce4e79e633a4f203ec4a8dade3f9738d0f277cb703d";
+  sha512.doc = "0c1739b475a45149deb78daca921ff8cdba4555d466fcf26ee0098632b835f650d5bc5e9855aba889a0caaa2a64e08d7afe1021d6171984bde3161c3543fe7f9";
   hasRunfiles = true;
   version = "1.0";
 };
+"garamond-libre" = {
+  stripPrefix = 0;
+  sha512.run = "3ef5b7bc8255319a25245616f1750cb09422a9dc0184f0e7a13d481e7124278e093dcc2962f9d65a621bd1ccf54ac82f46d74c5a97b5a2117f8e23c7a39fe587";
+  sha512.doc = "d62d901e83e943653058d64c20135e460d5c8418665e5418439eaeaf662666011e5563fcea1bf3e68980bfde9a9572ad92a4a60d6755acd8737fb10932483d51";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "garamond-math" = {
   stripPrefix = 0;
-  sha512.run = "e09c9801978859d7d28e6ccb8140c135b614378d6ee9ab3c3aa8b9520568843a03f2c68508d40d2337fb79ee27e4d28dca58990a97477bafdb39460cf2f18458";
-  sha512.doc = "4f5d7368b8b8add06f4bcaa2a71fd418962a58056d0b3a8b29a0036b677045d333494bf8b570703f2e534ddb5909a3a714604e195ab972329f1a95342f614a9c";
+  sha512.run = "e9815808b7dba1d0c37835bb30838fb8073f3ba7c3700bbf7997cce30b70d71194fe07e595728ffc894e22f6bd76bb559104249aa6c22c1b49a92251971c513c";
+  sha512.doc = "1fb3966ec8d6d7b8e048476a7129b8e6a650e4f7350f744db53f844c35528042024d156db8cf20939aef79d74292d3d90a61e6391e8723045efb4603eb0a8a38";
   hasRunfiles = true;
 };
 "garrigues" = {
   stripPrefix = 0;
-  sha512.run = "04ee1157572ea1ff83d648937b89b43c86fa10dd5c918b57eb43944e2886e6f6899618b165f02573e436b5726f1f82f4b4c1e5f28f7875fcb313c30b8c856a17";
-  sha512.doc = "ffc59bfba07dc6b46f4c63a05d22722bebc6f87052f3ac72472bd2ab0f5b3cc8a09f06e262c8db0392d11ed12cc14642ff10ece036b86a6d73ae0dd754f8066b";
+  sha512.run = "e1440fcf8eb0ccd3b140649c590c902882a8a5a02d4cc14589ed44193f3a70bf13839e9de9663c500bb6874d6fce34f5a21c07e38a7456738548b6ebf449b258";
+  sha512.doc = "0c91f7e1c8fe4910fa7052440edd9afd81c8932e99368219c8a5037bddfa4c8c11037576e9c94721062df9cf7fd5d467389ddcf3aed3e1853be38846c049100f";
   hasRunfiles = true;
 };
 "garuda-c90" = {
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "de8cffea9686ce311383b647a57dab4e6dae6f9a94930e17d76f13fadaaf762c986153c75cd185fdc1bbb7719676d348ea66779d6264b176370c76c379900799";
-  sha512.source = "699b6922116896b06054edc7e8410e66f7e7485adf9e02a12e78b68540ccf1aca00205749b0589542e32c26a7f65915556f7cb764d0a994c9c20c47f874f3a43";
+  sha512.run = "304e330de80c822862725f05da0c800ff8043d73398a48a4d88b9156d5575593aa1797e65f88093d3058594969fe3a288010efd2a13e12de52beb405ebfdbeec";
+  sha512.source = "2e2b368b01952c710fa01b68b8b094e2c64905ba9e6375c3d6a5d82a4b63dea5f6343db3898472416ba9e7faa46d660f34bb2f6d3530aca753feb5aa5c1ffa2a";
   hasRunfiles = true;
 };
 "gastex" = {
   stripPrefix = 0;
-  sha512.run = "02acdaee5e853c897f459a2adf0291d87b97489e0a87d6c333150abd073fd38c33593a5a826bfb670e83be200dbe239f732610039ec2ad5055bb67d17154267a";
-  sha512.doc = "f0f631824a24c4648cbe2c525c479861e33aaf05818efa3a7e1a26734015b6b44ce241a30aeeb1e682ed5f57b03fccba9ee5f37a97e96bcfa8292bf10e4c8634";
+  sha512.run = "b6e90db05d820b5e8001fb5d7168449d1fb6ed0679d158850ab4e5ad1166ebbe05680d190bcaf3c2808e2fffa6b3ddb2a824f223855182960cf849370493a1ba";
+  sha512.doc = "2890b569863b2d65a2df850e0e885e15754ba4b483fd559c0f914fd5ef2516a4b33944d365fd58a381a1992a22bddf69166cec0bf2b1072c9aed7829fa21903b";
   hasRunfiles = true;
   version = "2.8";
 };
 "gatech-thesis" = {
   stripPrefix = 0;
-  sha512.run = "507566b1712e4e246424b8d87c659f86b2b9913dbd1f2667ab208f56636bdd9d8303b6b5fd3580bfbb85291ff4d3e5bdec42a1f5f33b858a880bb19122d4e0ad";
-  sha512.doc = "626e2067d411401fc0a43cabc6cfb39128ff0e1fcae1c4b7d2d0ddc113c22f04b13327f133eaeb365588a782c2d7c834026d057ca35269ee52f09a10c8f18117";
+  sha512.run = "c5928d0d383da4057a0ba00d2848d324624228f1a98f0f254b09fea35ba21e3ce655f1fbe02ecc6291921e43e9dbd2ae954d6199dc22c1390bf04670ca41038f";
+  sha512.doc = "9fe1e4342becab8b57d892256bfd0723afea3a3f4ad3edab2b3c374bdf410d14b3105f165aed56479e848939a5cf6c807112788ff3a82099641fa71f4e78b5ec";
   hasRunfiles = true;
   version = "1.8";
 };
 "gates" = {
   stripPrefix = 0;
-  sha512.run = "cadd90a07909d9f1248ba9107fc8af64ecb54df7bf1c63919c30ecc032b496c11b346490c1b37218f75a1d191fddf11208a229dd9980e4a550b4af71700ca947";
-  sha512.doc = "bac81ed9937b5d52c4a9f12a31be2614734460d382cf5e19e0a7387f66ab9b07a4b3ffe96146fffd608b4d89c89d5ab925e15feec0f3f0ee47ff359e7a8c0b1d";
+  sha512.run = "704126d5e113b9718654e5d611d169df17b45ec09f187d86d1c108a331e80939d0266c4473233277e1b465a70775da1ea9576744171209ab45203b4059b96b83";
+  sha512.doc = "a9cd7d2c616021d429b299027503fed60e8474774b6d57095371f1afaba68709770857ba09f74e8e5223dcbdd1d9f1f70a0ec81c3801b1a77c3a494336fa86bd";
   hasRunfiles = true;
   version = "0.2";
 };
 "gatherenum" = {
   stripPrefix = 0;
-  sha512.run = "0819f78de222816110286cd765b0c3223e5ec467fd230f065fe283ca0e4340dfcf8d73862c8df5a7e9488f1ec68c2cd2e6b44a646fd498360f3013d9853e525c";
-  sha512.doc = "0675c77700e8dabb9613e3a5a55c8151e750152c9a1cd053948b34fa80691e6d92e2fbf72d5be43d617aeefc9be5910e716aa1ea0cda1db6106be42285606219";
-  sha512.source = "4e6eaa37129662dc756780a55cf20974b07a4a5cece933c8407d10fe91b62c918eb01976c15541d384f583dc40b61a093ea1c0381dd46f2dbc5b8687e0ca27d3";
+  sha512.run = "f0a0897ca3b306341a8af5121d09b31d9169a90e073f3d2babc2b4a32b72d33b4f7ded73f2455e5b6e7454188112440cdff97c4332f3396c948ace8b2944598d";
+  sha512.doc = "9e6e1c322aa19a1c3ccaa622cf8657dd314dccc0fedeb7056e182bfc648fa21b06b67e8d1bf2d529fbf84652a0d6eec9d5a4ffeea1003dcfd2cd195ba628c6f5";
+  sha512.source = "5696c57b7a05132487fa04c16a577531886e8e443aef06e2b3b6418f74d2d971160cb1d95df43ae29c81ebde9459f8611bdea151895f8390e03d5ff2193fb318";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "gauss" = {
   stripPrefix = 0;
-  sha512.run = "faed4d59d517f2c215d2467cfe5212e9dbf38cf76245a9eb287d9ec172fb3c25bf4489e26c02628ec836e69a8e0292a12d92c505eec1f71b45dcd0d3bdd9ce7f";
-  sha512.doc = "d0253226c286290860e0d5e9a806d98fcecf3b8e847a039c1c08deacf64eaaf57b3bdad019e8af3d75fd5f19f88eb282c7c9815aa65bf6ee0de30490c017e595";
+  sha512.run = "9dd3f7685a8b7bbdfbee1fbe5dcc5d2819091c7c20df7979b1b0fb7971e613e45b6321a18674e88bb0d6222f050f0ab3959b087be70b90b5bfefaeffacc733f9";
+  sha512.doc = "50de7e9af2360367de7f7136def2536a82348752656b1c40022d7e13271cfde64e67bcd482c2d208f47b88a30560f8179b7b8706288809b41d023c037147f0c2";
   hasRunfiles = true;
 };
 "gb4e" = {
   stripPrefix = 0;
-  sha512.run = "b80d116441b5b64dbedbef647fb827083ea6440ed903098f62e6ba29352ee8875652ece3ba4ef03cbd312956cbe3e12555824766bc6cf21b5e6c47e15208369d";
-  sha512.doc = "e97f5db682638fb74215986d85a8ae4ef1a50c415b5d48b202a3ec4d97d82e57f059f9e86b90f4a954d3a56260591e45ac023e0512050807907394e39e03c02a";
+  sha512.run = "1ec519ad5f22e6d61d16a0233a73065b45e8628549bfecd109f968b8749c362cd04f358d67e96b1311577f94f6152e7de7a9e3264ffcff5c5769662b52df7e29";
+  sha512.doc = "9b8c8e2590a1a515aa84e11a4028aadeff9e4acb7d3ce99b0d21009e17443db3d2feee85d888a333595e144244efbf978239e6dbf48c68a43bd5709d9489c203";
   hasRunfiles = true;
 };
 "gbt7714" = {
   stripPrefix = 0;
-  sha512.run = "09109545412bf81801f5bf3ff2a11c499c46bf38042602a7c16026ce34f6d223c53aec6983c9aaf1bd3f98f020f728d82d1a51f883a0ac77b5ae3c489b899262";
-  sha512.doc = "663114268e2f5459d2bc6d28752d01483a88bfd1d7abd6d98dd115d421a25fab7acddd5892e51343906cb71ef153376e6ea6c60b9cf6e65ee7958dff4a2ac64e";
-  sha512.source = "10e7e84891458b374f7fe70b9b6021cce8b0bc9a1aaf57a673dccb014bdd4567300cf80716f1a11ef8ab35a5944c909f7a7781145d6668a4f79415fb6c95631c";
+  sha512.run = "20d7691ca964b30f89560a250d73ac35fb01e2da40026d5e03d1367a12c0466b94d19592694950daadc41d76b3dc15420b0fc257579a6be0a4cff06011b0f39f";
+  sha512.doc = "4c251b0ad2d13581b0085847eadb6a376c6cc64218c08439f4851cd3210671275d692d49a57f115c3a5764667f0558056ecce99fd51cccf169a5e61d80af84f5";
+  sha512.source = "8949ed61bf30ad172217bf50943c805edad7de98baf01e3e07bf411dbc95b56f8268b0c143156c153fcaac7326134282c1a7d797b03989ddd14ecc4eac810201";
   hasRunfiles = true;
-  version = "1.0.9";
+  version = "1.1.1";
 };
 "gcard" = {
   stripPrefix = 0;
-  sha512.run = "47e3b6d7910616831a4e2a3b6d6b77365fb5fb6ed2a7542f08067fe5e31fe3a19c4dabc232e41ee0f874d62277dba6c8587eea042512879f1993b5640e57a8a4";
-  sha512.doc = "f16c2f67c1d7dc6842c169b41404090c0d8702692deb32c498f1adf6a48ba7aa16ffad49ae7e9a7cf628d7e046ddb02db82dabf2a0966bec63bae77ddd9bcd4f";
+  sha512.run = "de462bff229779faa33c546d525e3624f1ed372c09c1b90fa9270928caf0a2604f2bb9d3ef0768de7dd0646202d7a59995b7252c0b83b19eaf777438bd1acc47";
+  sha512.doc = "f7fd3c07e053962c88d0a0b8e5899272a3bd9af4cf1731f88a7014773d8f0ecc91fb45e1e59b1a372d8c8977e1dce91c5162558d0245d77a187ac7787a3710ea";
   hasRunfiles = true;
 };
 "gchords" = {
   stripPrefix = 0;
-  sha512.run = "620ff42fbe396f13cb4d4f83aa5b55327638fad8742fd9004f37f6382e3584a957b3dd3de3aa9691c71fe2e80c5f89496c0acc7a9b1df9da6d13b07152c17734";
-  sha512.doc = "ff33c35bf00084e05a4e7d95030d34eb382ffa136289dfb4ad02fa831be425388ea51a3ea511fcaa103dbb6b16785e8a5ce44b7d45cc697f29e8c06b9c976687";
+  sha512.run = "7fd655af5446982b450e3eec2b8966f2fc17c11686bb75f516ce0043af651b90e4f88c9cfac133929fbb686fe3f7be6de64d89bda6822f218b691791c9207950";
+  sha512.doc = "26818218c9e3142f4bba491e996556b28266953c6b84f1c3de58d60b1bf100d15513fd2898507cf43226eec127942dede647784060668d86bcb22e3fdaee96cd";
   hasRunfiles = true;
   version = "1.20";
 };
 "gcite" = {
   stripPrefix = 0;
-  sha512.run = "9772a2fdc8a07abefe7881c662cf5469cdb17a41b80e9ae9aee6e8ee01d4d3f42d55fe887277dfc5e912227a672db89ed24b26b948ef20e919a770c12a59d765";
-  sha512.doc = "15f2c59104e5d320de4f76eb32942c67337eaa9f40bdecc3d19edae98a675207ddf8d7f35cb314582554ce44432be2cc86960ed830e0a362ecb59127895f4402";
-  sha512.source = "f3e6ead38a6026c0441d084f921a78a0e0942cd4befbaa39df39b3b0f9d8cddda7f5120cba432df78f3a5d341c150463123ba86867a46b98dc155115d64e96a5";
+  sha512.run = "169d9e96121d80bcbe7580e7ff447e8df252b19dca5b304514a792764344df679e9275b1a552d67070d3f5b0fc41c70a6cf1ce9c90358dd9ab58878643be6015";
+  sha512.doc = "d9b50778855efc00ba4d6d6f48891865853b8de8e55c3432140b0ba69767c6c13ab934c2be43b2556a862bbb5413ddccce158ec4130576617a75708919f1ab0c";
+  sha512.source = "44e8fdfff2e015a9bb034496454016f8f03e08e2f5b8ca907670447694877a383ca99a5673db107397dba07142e99cf01d9ee59a4a360d6146a389de7d103cb1";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "gender" = {
   stripPrefix = 0;
-  sha512.run = "806db75dc9ec6e471e8a4e730298a771b791ac391cb7e0e2c2838de120e096c363b4143da3e19617f5c6014ef5851fa65a90d85552dd27f27b8c76a12d34523b";
-  sha512.doc = "3fb64631b8c2e49a2aecfa59b0717299ad3d5b5186786878abb5e539fe0f35e716c2175997cc084fd4f13c68a653966b511d43ba3b6bd6e44acb7a52a928ce98";
-  sha512.source = "d6af87c19855eea27c687deb9919e415e0e31838bd712640eb56dd9a9818439f139102fbc1dd56583a31f44742872c2a76512c25e45bac623bee6fe27e5d0d87";
+  sha512.run = "261d57b05993954b80f82844f590f952fedaa4ade8f89704f2e2b4e2d18441ab5c8adef2ba3dfd81b61bed53150b737ef72964e1faa44ca48e923cfeb5a1bc14";
+  sha512.doc = "7c8bf143cb7ae1d22416df88aecf7e004eb02bf199f74f8003aeb9ae3923a3db42f1735650fac8aa908bf220f16ca48b3e4f9dbc312668d87df65149ea674be4";
+  sha512.source = "ac76060cc1b8c3bd876ccece1d82127575b956fa1bd3bed63d9d8a927845c8477c903b47be3a6e2d85de06899957d273d981f250cc7d02a12830a8cbfa6f6183";
   hasRunfiles = true;
   version = "1.0";
 };
 "gene-logic" = {
   stripPrefix = 0;
-  sha512.run = "74fa725154e826eda2e46f506bc5be514bc1fe5f88a758c6b88434d2c71c6ac252f617439e18d1ab67118a86fd9164f875b86ba65c22d85f5600758e7501d7fe";
-  sha512.doc = "1265fee0f421d8c5f06b1ba6c1404b563207677925724e30d29e6a4469ef96b6fe62b7718821449a61d93c77228f245cea193a15953b6587d77f7b816c134775";
+  sha512.run = "b7cdc0d653aa8e25d763ca4115fa6fc857ddae35ed835aee6b6a204ba83d01ab91928b00248c40677ba132ef113276912a6b85dfd456d937114a3263a1ef4c7f";
+  sha512.doc = "db358777af18e7d2e93dc23084bec0f47270b4cb6c6078382a1eb9ce288aed06a6f55fc30ce728b1312d06f871458fc6b5b697b1073316e8f727b5ee80f99468";
   hasRunfiles = true;
   version = "1.4";
 };
 "genealogy" = {
   stripPrefix = 0;
-  sha512.run = "6f583417b4b950238dda3bd4a19986701780e47f541adca3b7d7fe355223064547b08e3bd221d81b70653b578fa05b0003eccd5219effc1f9d065df47a32d6c2";
-  sha512.doc = "5f492e8821642350e9e96d622da5bb9d21449f1a8ca1d381f04f27a9a878308c2f40f05b117ed29702094ac1c790acee84689ff17b3097ae9c014e98373a2112";
+  sha512.run = "907394cb0ca9b3d339d78595e613236038ea2acce27c4468b7d028d0db7ddf36f7037c4f0bc63d5970e904d0675bcaf057c769239a79f064fa6aa9dae4f2014e";
+  sha512.doc = "34c9d737d31626331a18051a5b04584fd896d7cb8ea1814ff2fbf30486ec3578b2bef16155b9c8f2ca645d42f797f3101c799d3422c05f824026e268fa4f94e8";
   hasRunfiles = true;
 };
 "genealogytree" = {
   stripPrefix = 0;
-  sha512.run = "9ef09ca5452d81cc2d6778723ae3b4b5798864e757c553f70599174e359e4a2f2302a926faf76ee094e6cbe3935c3b7f34087135ec086d8f31d1f86e78c155e4";
-  sha512.doc = "784799d2a934eb9e0dc42a6299b0f1a47a25a81bf3b74ebea994c82066bd6f3b6b7fa5445ac8ad619e016ca4c38cacf690bfdb60dd868f23644918ad18bd774a";
+  sha512.run = "295a763f682dc1acb025856df4de0474d3893d87cf0e530a2b3f72ef7a37dae87d34c97abbf40898f920f188f7cfb7366b654004b7c577b409ff14caf25c1072";
+  sha512.doc = "9ef261874b54e2d5d092b2f362ba0e5ed6b1932f433290ebe6fda61cb87aaa3b6ba09708df31d6b10c1263288fb62ef79878ff0dbfbe104d83d3b4559292b6f5";
   hasRunfiles = true;
-  version = "1.31";
+  version = "1.32";
 };
 "genmisc" = {
   stripPrefix = 0;
-  sha512.run = "bb8038964454d4203f064100942470e1ae88e830caaacffeafa0281808176199bed075224fe62e99dab911e2e071f6b2916ce16dcc2f7307f0e83a7322c668a1";
+  sha512.run = "3e41f140088d5340e2ee6dd022eedf2dd9d9e6424d5a2467a674334b4afa079d91039e1eb018c4e95bea47d61dc32350a3b30897ff9e4c70cf9eba36a29f07ca";
   hasRunfiles = true;
 };
 "genmpage" = {
   stripPrefix = 0;
-  sha512.run = "ee01a45c5dda8360552168adf2e9a9dd85a2e715cecd287e7a334509e10c5efc11186ebc30876cf4e7cf3ecb44630333fa6835c3bfc4380e37e973d78f1b57f1";
-  sha512.doc = "98f499fd5a908e5dad5f7c27794aeeee512e164f7e7a502313a52a5c17af7836d9833a7a2c034b30f63cdf7912855724cb96a4ff430eff0a2bef22973a883cd6";
-  sha512.source = "eb3c9dc0e4de3b3a2805f557e554ade2fd882cba16f645f2e44e8875680437dc38c88043821f91db3b63e6cf7481be317780de465f8d7dd17919ade5303e5a50";
+  sha512.run = "b2618005fc0f00a636e3a307ba1038f8dd39798e2ee2afa4d9169eb45ed4b38a67a57bfb516e9dd8d93ea0210a7fcde21b26c0564b974442e18021d83f905265";
+  sha512.doc = "c428886adead6fed52f0d249db34a950b4f22b03770ce1bff0831fca29477ab92b5d83a9719b73aa45aeb5f2067f31afc810b6cdfdd69e709ec5e61a08f45472";
+  sha512.source = "563042ab68aaab51d357c957111419012a0edfd27332bf30be0985e8625abce945ca6a6a081e62f6d0ee29b6885a55270553b622bbcda5f369ad61b53d4ea723";
   hasRunfiles = true;
   version = "0.3.1";
 };
 "gentium-tug" = {
   stripPrefix = 0;
-  sha512.run = "16e8f323f318166d5e900897de9fbf6b382156d0c2590964583b34b0a4b3a1c91fe81c6ec794aae56cadbe697b78f7779c7f508a7ec9aa87f2af0aa4610caa4a";
-  sha512.doc = "58cf40d0b34e5929ab108dbad393591f1f845720c8a2e33220ce95a016613c310e900887f11290699f93ba312f4b574d55a2339559e2cdd49c1b0c99c009468d";
-  sha512.source = "2f91e06f209a5f021b01a2ada22eb7d72df58404938c61dd8631ffc04ff1e9b42f95485382ddabab9d9287542b68d62662ef7a1454e3f8bbe315c32ac448ea38";
+  sha512.run = "b95a521b417f21379e61b7afec5462f06e3e20265f9566d40a19fd6ba430b02c6a3994a2861ca1f885612bfab0ac174ac89fb2221734e33aaf267c2a532e56a5";
+  sha512.doc = "074d5a42ddc427f240a956aca94d95b065813206b2ba66778de032665b924d02065cefa17dce14671b31bb8e455215bc34cdae29ee09a2db8b6e330fad3e7e1a";
+  sha512.source = "0c660e919f9482d16ef6ec5fcc91a894b2425a250951db1f688f6d2d13ccab5463225cce652b35f0f7e3781e046fe42f7dfdd285eb85deafaf420e0100dbb01c";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.1.1";
 };
 "gentle" = {
   stripPrefix = 0;
-  sha512.run = "b5233a9dd5a5829460fcdc84b3bca12a4a5a96c6e6d6fe44c306515bdc4185755711884323430acf6be0b5a277961e27b4a81711b1cf92289746a076d49128c1";
-  sha512.doc = "8005a7aa84be338f8247a5a8f5b1c9effcbfa772206a8c3b4518d748445322457cc591fe2da7c3458a18bdc3217a09c906f44e163a67eae825aabc5766a1d58c";
+  sha512.run = "b244b249329d1ee622686d2a44d1469ceeed7e2adec5d82a2482e8659266a8224490531e0ed971b56f945b63fd1081f29aded9c43cea78fa8a9aec836301b26b";
+  sha512.doc = "fe296c5bc38a1e6d13d2b46dc8081a6658764f7017d0831cfd46dd86082371d6ae095ec3b52b3aaaacc0a57cbcee066b94644a5746391fae4129eebaa246e146";
 };
 "gentombow" = {
   stripPrefix = 0;
-  sha512.run = "2c9bfa3184f6bf33d22805b44cff732accf850da4d2b4e5bcf011fc3c925ed3c795575fe9bc1d62bfbd965e1bd15a3b4d158972d7358060757ee70c04898b21e";
-  sha512.doc = "9bac65eb7a490ccaa0e20201389924600afa7c1bbd835b2470a4f8a07d44875179ed672a5626ee15332a6fad738fcbb37554769ae8a27646234fbafc22f5cb33";
+  sha512.run = "4643d4146fe341552af7b3600b61b7c852427fca554b9c7fd4eddd3b1645ec7a686a799fa2371e0a9b1cad02ab5aa965a690daed477ea8c14711343e8c274992";
+  sha512.doc = "0de50b7a73f752f36bca2ae985a53b1203e9bfc733e2cc3bb5e7ed9afbab0bc59b91cba95a315d8f41a4097402ac9c84a5fa86bbbffaf003fd1bb7da643af54e";
+  sha512.source = "d73b8bcaa902875be9fbc2620e69a85deb226337b9c330a1e083bc6b73690db214a8a426d243b41b50ac708911559ad8287f7842cd449039b98510c04b75bec1";
   hasRunfiles = true;
 };
 "geometry" = {
   stripPrefix = 0;
-  sha512.run = "c46127522e9f862ae31f6a77a7a64bb1375a02bb2916905aa7b1ce10df7f6680a8959b18f8680bd38e6a21b494c6d69e59df1ae5a42c9a69974bf6a130dde2d2";
-  sha512.doc = "7611936292f14a037e34a719807c224b2468562d704bf7fdaa6110c31c67bca89afc78c14fd78b8ff5f4738451313e94a4c2ee8c933c666167134ef9ddf58c8f";
-  sha512.source = "a93b2068243d9c32c6cfd03ead56e6ec1a53c76857a9f72cc4525545934cd8f9944a92a76ab9fe37bd25a46aac885c52096d036c1166f66848ec96916966b0ac";
+  sha512.run = "792e765a8882e18db38219b0004c6079793d630ca7f80b6b53cb79989d0a9a0d9a58c69507ab6418cbcdfe4cb00236919c51f3851171dfc42e43be682e0b92d1";
+  sha512.doc = "0293ca9ad86d2b2bb0cd38d151aab88c2d6991fc8ec5c6745fe68dec0795082c55d473114cf44e5dffeaf17f064b24720509f60bcc1830bfcae67254b0997a0d";
+  sha512.source = "9a18a0339fef0c5a0056ddd03b100e329b8860d1778c1e0119bc9677d5e571323adc5029c245afe30b7232a65d5793221aee099e7666a73e9b695a2336bdc341";
   hasRunfiles = true;
   version = "5.8";
 };
 "geometry-de" = {
   stripPrefix = 0;
-  sha512.run = "8bb8a7b64cb2f4f07598d8237bb708cff0b8eaaf00789c74c7407d6fe077a35b540520486aab6ba5d476245e38aa37ff36e710c3c8e3c0057354154ec1be5a51";
-  sha512.doc = "e57236897990d065b3dd3d16c0435cb2df3b75a57dbf1065f16dffdf78a0475aa15fd1edbf85e01f59754ca987784caf87af257f95341f113cd1ac2009d3f13d";
+  sha512.run = "462a81975ad340106b5e35d6d57e6102d31baf494b203426bb8783ca82b7f02e0656ccda608d558e91693a771e14ceaa02094f365328296b721147eab83fdd3f";
+  sha512.doc = "afcbc17a2cf01ec949cc2ad427335f092f65b3187a7a0225971a9ebe53402b19629767dcc3b1935f7d019cd1dcaa72b46931efccfcd2aa61c4fbffce2034e4dd";
   version = "1.1";
 };
 "german" = {
   stripPrefix = 0;
-  sha512.run = "d360fb727a70c83d050bd870092213a93f9a240dcacc4da03520d9a757e925e84e0b75323b272c39078e3612b99461b82e63a38fbfc53f56748c6bc98a53dfe9";
-  sha512.doc = "b1831d47672d54118272148aa56fa54042e6a667be4ab91bab431db35d4f3a39b5aa4598b4159a77324e27ea1ef41b12721528b73482e71284016b4a4fa9a678";
-  sha512.source = "5005e00b83984b3a15c10463359deb399bd0654898317f5fe7d15b65b0829a9cb3a48008b69d7158f971d3cd546b7cc8f5aacbcd019898ab55c3f6b761a6215a";
+  sha512.run = "6cc469012ca6cb76baf2bbea00d198b97c2694d9388e90d2ded6b27da30f8d56aa2e6742ecabbdd335b7299c0c7476cc5479b59fa94468c9354f35ce18b59732";
+  sha512.doc = "b9795ae418790119ca923079221114b9bf608ce2460b810cb39575910c0b173ff445c428a2ce6260bf90a993fb354d2b5c300ba58344d907965b65bb6f2d4ee3";
+  sha512.source = "9064ca69c304f86eaaf2530bafe353902de078530f57f39cfcc0a9dc0d5a04ba5329ac9d0e7e10e3ddbbbd380c14b4efd8a5b7a6b0099f2c504563af74469c42";
   hasRunfiles = true;
   version = "2.5e";
 };
 "germbib" = {
   stripPrefix = 0;
-  sha512.run = "b920a479124e04ec4b5c58a6b48e2cdbdf72c6e1720d3f938d5e1dd4656ee65227d907064e86b7d65d2c70c1edaae25223b0e328d0c325a8bd91f01ed2347ea8";
-  sha512.doc = "85efe11f202b4d2c119b0ba4aa545c9305fe0094d94e616bf29602ae50e1d73c459af7fab35b35d7f57323921a9e7be72b46d56f828fc3325e1c77145a127a64";
+  sha512.run = "a7854f834c868ad80bcf986380f19139687eb80309e3aeb9a001d2030c5bca51de617394f920801834df460d05b52878301c6b45a52666984b3ba2d0910c416f";
+  sha512.doc = "53dd4fff2fbb7044436f37e8a2baf48877699db4f99b92a701d10c0230439b00b48ee09051839efe4392abdb4335c3998d92d6239802c765bde4aa2df3d34ab6";
   hasRunfiles = true;
 };
 "germkorr" = {
   stripPrefix = 0;
-  sha512.run = "39478f3902dd4e9e512ffeba15af41f11d881dc5e629aa7c697bba76c719fbf7b7dc0b68e7bb4f11b6955de566ee51ac16b7583cae96010e68b254afb23d8d25";
-  sha512.doc = "3abb2a5710117d55c65b9ae9d8b5488bd71e0a8063e105f211d21d648de0ec59fc84c950823d3e352aeca6e9afc3b5e83582920bc9a21b8686360d4d5db57169";
+  sha512.run = "6819a79268da2704a3fa6baab74be48ccd591ba998a0b012d323cb0149273deba6298a92629f0d19c19725ef0b41db9dd28adf9bb898c1c637038f9c22ad4b16";
+  sha512.doc = "ab5362e069674c2c53709bc776be9fcbcfd3e56226a8fa7b9230c2f4ccb6fb74bba20485362f48130c153d81df838281620a628671c202cd60a52bf8ab5b89cd";
   hasRunfiles = true;
   version = "1.0";
 };
 "geschichtsfrkl" = {
   stripPrefix = 0;
-  sha512.run = "9486137efbc111afd1d2410aa6bb91e2a1484c38f466becf922c2b4de91be6aba9dfadf2def3c73929b000ceba0248831809b45383fd6d8fe289d4ab5670f725";
-  sha512.doc = "ba8a23e22042878026c9251f610515aeeacdd1fcc41346fc4ca73f5705f62508cb07fef0dfcb8951dd4257130cc7af53ffc327fa4cf24e1104014cd9172a110f";
-  sha512.source = "b976b5c66562e49afc93a087a3221d2c2ada7be608c6a0ceb9c960ffa06381e96b5bd91c9e862b8bb28e4dfb5724dfeb4a9a89cf5d7e5531be070d55257f8d52";
+  sha512.run = "24cad33dfcbdb8ab91a80509771bd130ea6682a14fea5510ea202af73155653471deab91abb43a302b9717c252475db58135ad465f28509adae5d8583bf98e0b";
+  sha512.doc = "6d1097dd0047c029100358bd3161f2ca515a09cf9a62b2633d4797059688bd5c30e4eab11c31081faeefacf892415c5d9a4985d20245ea9cf79b4197925ed2e7";
+  sha512.source = "28c6a7181bb91d32ddcdbed7dd9824c8a63a351acc39f4c2e60ca507630fc23b0afe62380a64618d882fe742388d5537a435dc0b6738ba8d5288c5f2894a4064";
   hasRunfiles = true;
   version = "1.4";
 };
 "getfiledate" = {
   stripPrefix = 0;
-  sha512.run = "f708fbfce06bf36135771b5b81cba833eb8e83c77c8150ec47318eb194a95ff91c761b765049c29b86d381af760b5b87313ef8cdcbea0affc33068bc91a5a94c";
-  sha512.doc = "8a19fa537a752eddd8a6326d355624a90afd6e88aa5097b6ab82992020e5ff53f8107d04fd48226a5f11a390a98c7a2c03c5946243f213fec8b1d6294eaef1b7";
+  sha512.run = "017b3ad95801da2788f2c5040225c6a8a2ac6d005c1d68d9eba0be061dfc9fa6f088a0279a75d25bea8ba380e4a92cfbd9b6a6b812d08cd2f86de097f7974fb7";
+  sha512.doc = "490daffa0b0b28c9c02d745d8de50f22395f6ae773e07f6e826a8ddaff0d38f9ee48e822953e9642e46be26084ec2919bcac76c388cb3f42965f1b662e4e43a0";
   hasRunfiles = true;
   version = "1.2";
 };
 "getitems" = {
   stripPrefix = 0;
-  sha512.run = "4b32265cecd3d2a3ab6ecbc0f60f60d56b978fb62682e8f913a1b453db40220b54bdca8ce81aa078f8ebcb57306eb79e127575017939e6ab9bf068ae01351909";
-  sha512.doc = "dbacf5714f31da72a348fe69df63ed469363ba2ad1b02f51d9704f397e275dafb0e537dc55b519c2cb97766595c13ca8d4c9a306d75fa2f267dbadbe92d3bc7a";
-  sha512.source = "c40cc53ece800d7a88488d1d8d0e57033cd7a79231e252e7b516c9514aec73f43cfcfb97db064f6f09f9cd25240e403626433146ed6feb32831e4a49a6434aeb";
+  sha512.run = "8797c7e70f1c81330b68b6c386116b0caf2c350a2b75724d796f0ab7380a2ea4cb2ae293ac3e6b941887b30faa2b73775c2bfce7c674ee98c4256a23231443b0";
+  sha512.doc = "95302dae67f3193dc3d52b4e5724584ee066eee1dbba30b1233faa0c65fc568f932805b18b8054165760a2b655b486e7f3115d3b37be780f8f5a7220f2f924fc";
+  sha512.source = "1bc8b4c2b75c5cf43e18a510e5e479a7109ac440266e0dc7d748d6ef391280d81f72a07f6bfc518c6c0c313b7c8e1e11cfe9ccaae33540e1b48988414bef5ad1";
   hasRunfiles = true;
   version = "1.0";
 };
 "getmap" = {
-  sha512.run = "6209f31d7826cccc8791e3c1733ea1a86a05e9bfc036f713584cc6386cfe2d147cd1663e9cf18a5900f77a155ff2da13e2152881118b2647b9fb5ab3ad86e8d3";
-  sha512.doc = "47f89462fa3ced7b39fabcf2b95a80df43e09a4fd337c111496586e0516b5319edd292cce88995f824aa56c986fbe39fe7e0776512e1781aab6b05440883f478";
+  sha512.run = "e5287152442820e20087b45c50a750af621e71e2175cd6790231d81e1f338e50aa75f29d9fbc31c2e5802229c8f15c4e0c7769d0513f1d1b0bafc96a8a3b120f";
+  sha512.doc = "bb55c60ec958182aaaa6dfc292a06fbad8a0ebdcb56a6799f1358ad2009bcb72b06611672219c5e9bd6d7cb4db76c4fa030be5e06f9bb38d04fa6744f8bca330";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.11";
 };
 "getoptk" = {
   stripPrefix = 0;
-  sha512.run = "8669abadaa18e96dff02381a5e7c82749b50be58565b1cb27139d6cf50a5b89ef141954501bd2437d59345829dee94391a5e6481e0e148d2cf5e172b00dbb2fc";
-  sha512.doc = "a2090afd8067557e6326f001ca1a0dabbe471ef82df11320ce5b414e9d48cade97a0ae18bac7087f714ef0bc1d391fd15fa2c8844540a5bf8735839daa4143a3";
+  sha512.run = "6a2e543d0997c52155807d0d2641af9714cb09531286a58bcb2d5fec0e70c694edb7d603a250281a641610d1c39495d5f93417da5cfea7a86da1fd53a98ef77f";
+  sha512.doc = "fba54e8acd4f494c4e859c8705cb97923e477ed909720adb8c4735c527c3b13799ad74ac1700099bfa282144f2b38358b890bc52d4ae4a9e16699c2d0e10619c";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfnotation" = {
   stripPrefix = 0;
-  sha512.run = "74022d881516a4fc215ab98323b15e5f5824e2aa15bc40e8296b2075819293f4e61c29b56d9bb4391f74a03cf8734fe0ff6981c61eb0f4c0a2a1bb06d8fcb954";
-  sha512.doc = "324e1894ac909bf7e732660549cc0e3949c0deb1430f046d48c73b88f580a9332114b28629925079d0ac0e8704b8873af59a88e5c3a12b26785a220c0dc02a0e";
+  sha512.run = "4f99442eacf28ea13cd98ee4bbe981b95ae9d849e6bf2682cac2305fd793f6e9f5e4211362385890956fdb24ef03748e9cb0184c7ba9ed89e7985b2caa3e2da2";
+  sha512.doc = "b65d173c11400a7681510cd837ac6e8ebf65a458327bfdee140013d49a0c6fcc339f6c45d4b4ee918585acaf785c12e66b3df5f73f01a1f2d8c5b8db58b9c47e";
   hasRunfiles = true;
   version = "2.9";
 };
 "gfsartemisia" = {
   stripPrefix = 0;
-  sha512.run = "aeaa238e5d57a0481d63958cc86be0b5770a4569b34a4bf5e949ae2aaa67415f5d4d34bc80f17e0e664906f1c0e3ac85148f4edb8a7cfed5ddcc023006a414b5";
-  sha512.doc = "b19eb64545be5a0d0a7347a227e63566f7e93a3a68205dfbd1e24349eee07e0076fff3c83f283ce67ff4340df23f1bb8cfd27ae977941c2909e668ebfea2234b";
+  sha512.run = "28cb811a30c06bd6390b9268dd2a7a4dadcb2fa9d426d9461af1ba5593b2c419ed1c7886c3aef9bdbb0f1fea3d6bf127ff6088a6b2c2048dcccfb21c2a06a5ee";
+  sha512.doc = "9f2efd76c243177240f237f7232fc87eb33d7ea1177a7bfdf7d506077e19c40d3fd923a960595c46f50fa19979598bd06a1865cae8794d45f91da1d6a9a60a7b";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsbaskerville" = {
   stripPrefix = 0;
-  sha512.run = "748726e7a51359f9e1db7d8e9b754570181ef22fee0fca0bab2bebf46a30919415263dd3865caf85b3a312e865246b878e803789d12925ccd3fea7f8ea097d9a";
-  sha512.doc = "ae0ff51072db75afed124be042218b147362ae631a5126dbc3c304f65adec74948aa9419d40bd91342eead325e83ca7176ef30c40c9c3211b8da5fa9f9fc482b";
+  sha512.run = "b545ec586b3bdfe3da2cabaa959ceeeb4ff513b48024575b1b5e3c57bb2d10a0b4e2cd7507726275eed0826dabf03d05c20eb9d5ec341aaedc0313264214ef78";
+  sha512.doc = "a45ed2b35774755a6558431f784faad4bbd63aa81ad5d80c3cfe3f7726604aea3e4de2baa72bb27a4e2271e9bfe180c8963d06b880a0efd2dc5f7789dcabb51b";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsbodoni" = {
   stripPrefix = 0;
-  sha512.run = "c8c616a736d543cdaa22aec02ed82ebb50ccc3a27f47a522b4572450c8dfb30fd2b2595049d192eee75e3be7db34abc4f556ad7545a3ec2458994c11e2cfa353";
-  sha512.doc = "5632de9367ec68c65377e91a480e295074a79baf536694752b3e96a8ce7fe548e0d23d1d22b90a0768c0f4c984c886dc25a79c5dc41c95bb4134c295ad0acb44";
+  sha512.run = "e01cca38176330bdc0a4b523bd2bd4f73a497d90a34682d29920e145d11ea099f163fa08470c79e10a27a137a5901d7da9db54e461667af61c687adca1960249";
+  sha512.doc = "c70b1a32e945d82e50b8a37319ee2bf63d4800b381f317168fd945311485cf6c41c7a3112e89457f4ee40bd29736accf681bd61494120e3d41f0c8fb28ad466a";
   hasRunfiles = true;
   version = "1.01";
 };
 "gfscomplutum" = {
   stripPrefix = 0;
-  sha512.run = "6c34446f452b1a87fc266cfd80ee55d3a59aa6bd545bcff002261ab571f26fb02c388adb15f50b8abd5b46940cebc626977eced644050b05b6411ebd52023bdd";
-  sha512.doc = "426770fa9abca81b0603e8e8ea32a7d268f9646dbcef823c59b7ee07235a4c04b762eaf5f23f459aa25ed8a963cf3fa1bc28729e4650c47c9d18660e52719da2";
+  sha512.run = "4013ef92910c3c1145708afa5a9ff13cfb0aae05e6b225c56c98090ea7cd223799e73212982312a14cf504a355dddce08e3364df8c046dfe462d07429cfa617d";
+  sha512.doc = "5854b000522120f6a1b065300943fd8aebcd75f57da15d667616a3706d35ffa35cac0422712d0b008dc2abf2b9deceb0248fc044be68f893f6ad0eefcd50b316";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsdidot" = {
   stripPrefix = 0;
-  sha512.run = "6ba55f79fa7724aa3c30d1b6d74ecb0bb656b197ad36967caebf32b09ccc093287fe4b06cfb9c40347dc790d6f1e7046a6a165b6de9e5b805ea97d6120512158";
-  sha512.doc = "16721250fb94a803de947bfa52b6902e18d53e39969d9314dde2b9cccea64d1f3b37fe21af42122b11c66b731f7ea59df5e3bae3b5a822b7de3527a0159e03ac";
+  sha512.run = "9e6ea7c3d5b7ecff95270b17879297abcccb62df11ab7eba54f02e7fc2c732d1be39b052e3b4b6eff9990ad010e46f73b40b4134b4e024f7d914a1bde29b4a7e";
+  sha512.doc = "93bf3a4fbff9e0c936877b135a487739a7f48c2797cce9d27c2a9f173fd290c2da5a3a3f30ca883ea057ec47a4695d54f5e85ae01f13af40e1dfd3210cc7c273";
   hasRunfiles = true;
 };
 "gfsneohellenic" = {
   stripPrefix = 0;
-  sha512.run = "a4949ecea09af3a45ddd8141476c83ecde44aab826d4be675560c08b0ea005cad1a5cdcf5ac6947b64924f32b25dd99689acba351187b7a0e9ed1888ade289c1";
-  sha512.doc = "7d6831a455cd401e2917e2eb20f94399ae3c55a11d95207c159088ea8c80ff0eb8ef641ef46505d4a00ca994546e488f43183fdf0b6b811d0208a15f70967812";
+  sha512.run = "c8ec8f9fba5d653e5497a9812c5978a21cdb5b59f6bb0f45441c761d2afeff1c055c48f1b07c4f56c6ba6a6adb2f99525d838fc7850c7c97bb3f3e0f67f50dbe";
+  sha512.doc = "581bd169fc4f6ed92453e2e8f50ee0efa4d3ea282b710c340d1f05f8ccd1e117721ef4b9e9fd6553912ca60d8ee63eccadeac710186cfae62a39842d31b5b766";
   hasRunfiles = true;
 };
 "gfsneohellenicmath" = {
   stripPrefix = 0;
-  sha512.run = "2d8907097554ddea4170df9af8176e736cbb2321ee349e668c5e157c9821074a7646fe914f721270daceba20f0a522b7cee4a9c1ac754758b674697eaada8fd7";
-  sha512.doc = "645ed59786837f01fbed8d915bd84ca5b064d0b78d25abcbccc00dc018ca6eedbc4452064ec6f668dfc41c800a4e944d2bd08c913fb3163701152900e8857b9e";
+  sha512.run = "11816aed70ed5d89b65148b3872f77a788271c603ee4f9eda71d250347bf7f2aa251b7c8e9dadaab75dde273a465a199adbcade3a957dcc79947d5d52297e7b7";
+  sha512.doc = "2022e02ec438b19ce6e8fbf8f300ee050c2c7687408a4c4772751ef3059c882cd6944985a59ed9a5c1c8de1aec0ef2444c6f06c468cb4a8c8a3ea269b12b7ed1";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsporson" = {
   stripPrefix = 0;
-  sha512.run = "e5e67659f694c15bebdbad7978033c937ffe0610954f46283c6ab8f08797fab4d9d895a8b72a71b8168ec9c5c66c553b82301ec0cf91cc279ebbef4d2e524577";
-  sha512.doc = "a6b3519bc09c476a481c28d188b5908ba09db86db2c127b12e3deab1bfa2b5568d9715138badb315b491aee6ac276cbfa2c787d7442a5718d6f01577eea056bc";
+  sha512.run = "f52d6cd8d0b674771dd56a5d2974fd3edd8b4685bb201489e578c62d1e31b5dcb6f2cb2e9b05702ec439ec7f0b35740e291d3a92de53b75870fd791858f8a474";
+  sha512.doc = "3dbcafd00a88537db9e27aece276df08da805b59076d5e65395a4752d8ce57a794f23508238e96ec26b8d7e6d25e11992c2a567e44ca2f930bc44b9dc980202c";
   hasRunfiles = true;
   version = "1.01";
 };
 "gfssolomos" = {
   stripPrefix = 0;
-  sha512.run = "618ad24e2ab0289985b0f8a5da7509704d7613435388472c6a300e4bc56256a37dbef09d0d4f086c51f9065790d707e087f1218e00c8f47302f92d6094409659";
-  sha512.doc = "8e12674e5c445eb6ba2f245745ec25de1ebbefb62d11784c30b11ec2640517eb206446713ed842e04beaa02c8593a92a587af82e6cdb2721b9aae4b9cec82b7a";
+  sha512.run = "6e6ac03cf7ee20accfb67855b3dce136e3caa2466fce760adef0a2c1633e0a170543cf861a6a07a0c80344ab026dc2f74a35c5543ea92a53f7ce8a1042f778b7";
+  sha512.doc = "67640d1a95ad7ec43d7df407916cde264c5460cf400011cf0cdb3dc4caffabba370f2fc15ae945e20b6a9bb6623645f6ffe80034a781cdeb11c400bd23985e3b";
   hasRunfiles = true;
   version = "1.0";
 };
 "ghab" = {
   stripPrefix = 0;
-  sha512.run = "c123b87e6b3416a0be0388c87e91262e0353d7939bc059e9cb87870656f6d9ee213ab08b5b5fd485a16bd033bf7f5f296a951ee3236c49d3c742be7c2db9fa0d";
-  sha512.doc = "1be36f868af14a1b276881c3c43c23b22915acc17c63d8bb3e9dce9f4e155220b587dc09209803cc3d81e13915dbe9cd2073671c34915223bc51dfa0fcc3db44";
+  sha512.run = "7e919cbb0c84fe337dd05c749a3288990e750ff0aeaf119736108463a1684a18a66be94811a31156f951c871b2f073627914629756b06e747f3220d2ce08950f";
+  sha512.doc = "2cb7dbf5b43130b122618c50c18e513dc0ee0ce267cdfa6e710451d1fa7fce8965617d74d48748241321948ae8c5eb9cfa4945df146ed8e5d476d0fc5caaf204";
   hasRunfiles = true;
   version = "0.5";
 };
 "ghsystem" = {
   stripPrefix = 0;
-  sha512.run = "68fdcfd47ecd220dead1a7aa896708abe063d35d61b15d3ddff5e210b05614da1d3dfb58b389736711a360a0e532e52f013ffa73648a0ceb3c234b6ca7330dc8";
-  sha512.doc = "61fb9d94b7fb27abeffc530615def569dd9bb5fbb62fbe759711d669a74a42ab7fd8d6cca0f3626f625225c8183a53100355b02009673d98575452a256e2f8ff";
+  sha512.run = "fb818e9da2c92ec4b8f943766f00b39bf2ef0f9a5ca5606ddbc4846cd8294ad012c6e7e45b51d04c249af2bb8f4d59410b644e65e20e397318453e0860d60b91";
+  sha512.doc = "b013e2e327a648b07d541c6d4af50f3142012a8ad62eba032aeb625ddf4ab5c285b8428f795b193fc85d6487f68921df96f8fac70f0128c77b1604bd71443b62";
   hasRunfiles = true;
-  version = "4.8";
+  version = "4.8a";
 };
 "gillcm" = {
   stripPrefix = 0;
-  sha512.run = "d0a775cfb77ff29ee4c4ef06c97ef306ce7b0c2210c80bb8bb676ab6a3dcb6e81f98f7e1cc1c9794a2d962551032979ecc7cfab551aa9f8bdeec6eaca1c61de7";
-  sha512.doc = "419761c774dd0b832730614c9a60dfb15ab4b488723e445d654090c14a7f926f32135901c939603444e3f4902a244eefdc449e0b6c3e737e9233f1261079f20f";
+  sha512.run = "37c8141eac6b1636292479299f7df6b3dc128addf8f7ba680cef2c75d2f7ab04686134b243a86168c54052d4dcbc33f13c13a6629d7c98d3908e4cce5fb53f06";
+  sha512.doc = "55e02d36c12bd12932c2d220f892852dd1c8c947cdea09d058ad38e5e513dfb684e75a8ecf07f5711200f942ea7732519c739866458c330ee271bf45af32ed45";
   hasRunfiles = true;
   version = "1.1";
 };
 "gillius" = {
   stripPrefix = 0;
-  sha512.run = "bdf639b81b871239429da96e313c805a247fffe2912d80bc1eb38481f9a3ad5c2b8198bd6d8b3a18710b99a729d9b2b18e0dc28b9c37697eb1acc0e6eb18f812";
-  sha512.doc = "cf2c841e299ea3376c6aa3761fe4b31b18a96ccaded261a7998653614494979ebfa7797b178ea5bcb8dd565a8827f7360b671159b77aaa0d338044c4673068ba";
+  sha512.run = "9620e63fa3a9a981bdb20cbd6d8002179c722e844df0a18566593acef864f134a894a7e1920fbc4494467b1301af0bbf9ee80fb10bcc192762e5b2505fa8becd";
+  sha512.doc = "df8fdeb2055b4d3383eb6ebab3dc4fb92774a96d7b31e7bdd7a238e215619710a8c0ec3fe9593213535933fd76c38947ed295df1a628aee7a7d7b21078f5ffb4";
   hasRunfiles = true;
 };
 "gincltex" = {
   stripPrefix = 0;
-  sha512.run = "d0555eae18a22bf26101f9c8c273dd3b676a97a73b83e502e4adfe0aecbc1651f8e6faba856ca502266291c938c781154b2bbe54d1da02edb47b63b7ed95a14e";
-  sha512.doc = "c7ed8ee56c211a3ee6ca7b8cd456872dc4c4de2d51567128cab6e11a3cd9be27e3d2bf845ce865f2f6f719fa492c3089c360dceddd085f358441d7ff2c17bbbc";
-  sha512.source = "7fb23614f759ef4476aa407812eb44a876f36344c43d3beff4072f72dc4204076da5d2f97019a80ee46553d37a4adf21b32431b6c69ce2c515e2788602e1d678";
+  sha512.run = "c77fd5030e626027819396e94d07c1aebaf05a1ef6a02025a6a0f4140d22fa8d0a8695e440ab72eb0a042ef5f33430ef60a47706658134907725c49969841171";
+  sha512.doc = "2f3a0ef1eb5d1b9f5a819e99354572f34b6fcb7daff3ae02f277d9280e202d1d4d1a54b9c033860da1ef3ff302229bf2d1aabbe1e6acff05589d3daa32f5c87d";
+  sha512.source = "ef3af40826e339dd7ed92d0f93e16029bff275a32e2c2cf64fbc1dd48a243e9a5efcb6cebc9bce237465c62a319386dfd94706238958381667195cf86face04f";
   hasRunfiles = true;
   version = "0.3";
 };
+"gindex" = {
+  stripPrefix = 0;
+  sha512.run = "b65317c570c923c7b6b84c2923122d844f895657267b694b46fed2d505348833a57700e4da93cde3d5a81e7589a456eea179a455dacb7c9324e0f65d9c718c9b";
+  sha512.doc = "2a3ed388473c669874b0474b9b1f45c60e2efd69e8c589a9f9086cecaeb5f1e3192fbb949c3d0b485422c7f6b49075d3db4cb8ba03bbdde0f5f77089331f770c";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "ginpenc" = {
   stripPrefix = 0;
-  sha512.run = "f982140e9f6f71fa2f8ad0a22e199ee7085f0765f2c740430a79799e308c91a17642a5c7c2c7679214d95a1ef57a93947e278b4da73b2b6e50942b77e093b768";
-  sha512.doc = "ca32af66b79de0282305ac7432a96bcb9f0d02ac428d93a50bce0140170d3bece148db47dfdee56386a0652c993e5e10b2e2dfae41c0ae42572049696172c4a9";
-  sha512.source = "3e9cd418912b2b05cfe97f91e9781e895b70796ff3283452b2d53efe7047203932f444319cb9231084b46b2fea538c8ddd8bf874d6e7e1dee712bc05b5b9a73a";
+  sha512.run = "20ea4e42fa07c21d8f2ae5d4419e6382141e6babca0b89b508744ea22d6310052f2c46e6ba0ad32b06f5623daee07a16eeaaa98378c9ad04dacb78634b9a583d";
+  sha512.doc = "4e343ab469e2445f6a2fd5297ae38d1cb42d4db1a3c438885815a2e4c5d367bfae3226a628e11152826fc5e4fd28a9c4bc5c393acea550c5ab33cd854d4f3e8e";
+  sha512.source = "b28077cb4b369567952e77198cb77f4edad02f0949d4f46836ae59d75a2f113f64446fba83a88e6155e9356797577fea72c79244808d575359eb7ca10d029940";
   hasRunfiles = true;
   version = "1.0";
 };
 "gitfile-info" = {
   stripPrefix = 0;
-  sha512.run = "8f47f876665ab749441bfab4e9a75540031a194af009aeec13cd35339fd82cac674d489a69f37acf7e14e990b075f9269161c5e5a0de7f238e4971303042fbce";
-  sha512.doc = "744492af4cfa0d07daa062d70105f369d551cdecedba75a0175791d86af621558985385b9f18d8a7503d9d41046a0a32b1720eecf63e39768dbefab6ae7c67be";
-  sha512.source = "8eaff16139a4684a49bcec93f89b952c74a6a4ee4e4bc4ea0dff90889a05c71f5b7943eb214d40e4d45cc239732f4d6e82a47d8ba59bcc1bf4ec4f7565d5009d";
+  sha512.run = "7d3577b55f0154dd9c0a1aff3d46741631fc561b4c730a4f55a84dff361e6c27f327979638946d89ceb35370bb4051b1471481e6bd761fbed66757bc613abb2c";
+  sha512.doc = "ac2083dea1ae4373ee2482f41f9c66ab93a2b66699fa01449c712c219ec0c53635230b062ba58b4107eaf7fb54fb7eed76c5b9346ffc60f6f35b18a72ed0a08e";
+  sha512.source = "7b15a31e0ad37c75fc1e64079edb4ffe93d9e9a71fba7db13bb9ca7b68fa8dda0244fc0da473ecff8456459bb3f6f52e3edec2ac8513433d03ab107715ba5258";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.5";
 };
 "gitinfo" = {
   stripPrefix = 0;
-  sha512.run = "cd79bf3a48eda5d919ac7f497ae182144178f3a0075ce40274ce37fa583e469565aa8cf70882859d93c8d43793f16a4734f6dbb260618e1411439b8216667f97";
-  sha512.doc = "1086c4ba51d29659a56d347ea78b034ee1eb2b67ccf4b6cc4d2339f7da12cfff5c56f6c35b55f2b080c810d6876e86c2b7e63a81dfbd52f4cc6afdfa79607a68";
+  sha512.run = "099bcb4970827cd3309f88278d8ed993856d5ebdabb22c3a3f558787bc6cae46378f7a92b88c5cbaeef496f40a8adf1e0740e685d667ba2376b5852a12af9e5b";
+  sha512.doc = "c5a9c948ad8cf8f2bc3cc134d60165ca4fc79117a6597a5981b39e26e25f4334f479f2bc1a0e22c52fc48794224115c0c170612c8088a414544d9f51b18421f9";
   hasRunfiles = true;
   version = "1.0";
 };
 "gitinfo2" = {
   stripPrefix = 0;
-  sha512.run = "727e0ded5837033380a835dd57a4110b79ceb3442cf3705be3c8a80f79fcbf20232cd2b2188947d8c53df6ac4569d5327e7c4d96a101474d791fe265ee9b36f5";
-  sha512.doc = "e02ac353674c2716b75a2006fc85287421ae29a2dcb40219c383c151f9668fa3f2209c7b5b644fda15ba386f330a66c99919a4781eabe5f9ac93c6fbf0e77d69";
+  sha512.run = "7dd68c7b1d5ea49dcaae8ba1a1582676617bcfc6f5c6ba34eb1c62e60ea5b8ac3a50841a93394b640e8a79c3cfe447858fdd1630e4095683958f8d36439a84ca";
+  sha512.doc = "872b7fa8e0c97e4f6e0e1989b7c45507773b4f96cd56f7aa7064376b520d8f2beb4acfe71a21e295a8a457b86fcf7521809fa59ad02875466cf426fa09bd8aa9";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "gitlog" = {
   stripPrefix = 0;
-  sha512.run = "395848c7a059b69723fa4e85b58a9758888acdaf88ce84cab33787fb50d9d806c543f770296cf6b54fefb01e72de27203cb079fd266d2a4a84143df47a5568b5";
-  sha512.doc = "443fd4bb291bc00203fc22ffb30b2f447b9000976817ec3b1c55b96bfb5f98cecd0dbbc34aef3e92120be6cbb671bdc2aefe1f8d561855ebf5551806f1c9c78a";
+  sha512.run = "2fc9830dd1c43cf0c32fd743c9fa001287f5753dea38d8491af43803a1d98a0e09cd05641484fd2f7c47e68c8c6919c2eb9fc298ebd761166eb5b77c54d7f00d";
+  sha512.doc = "c1bc22cdf9b23baec98ddba49784a09c97e9e5f8c1a471dc39b3d58d67bb3ad2559f25766debeaf613b3c4e8d8bb4b22244de07d09e957ff09a94c0254fd3e64";
   hasRunfiles = true;
   version = "0.0.beta";
 };
 "gitver" = {
   stripPrefix = 0;
-  sha512.run = "db4b7b915a7e0caaa0a3dab5400abfd6d4a6948fc4b598fc5b924d16fc2cac3f55212d9c5ccc8188c5c92aa30b732a24a6668f570ea8e8038d0faa1134c7947e";
-  sha512.doc = "ba89bf8d10d9b6003114fc3dd0d00fe9888d7a046e9c86252fdce9cf860b3dce394829bcbfc1904acee8abf4dec6b624aec67dc0874ae06ed7207f3438d9e35c";
+  sha512.run = "ccb08db2f49ab23e832e12dcec8b2754b4a1c916f2b0b5582723ef6080dd93a922111f6b5b514f1f53ca684e141c89f0e1d95d0b391adee857211f0e7bd243e9";
+  sha512.doc = "92bc02edf0ba8a6877444b418cb15a9260fb5b26fd95bcc044665b306edcc1c5f5b12e36695cd02ad9260d7c996195e3beff69843ab7ef9a9272bafa2b1f2419";
   hasRunfiles = true;
   version = "1.0";
 };
 "globalvals" = {
   stripPrefix = 0;
-  sha512.run = "263f358f0e2d48bb375a9677c0c62c6ff5d9836404b1915f976781af3050daf7c5d2c0e3397d3d54b1c3dccc6a615e634c8468d0534a0cdf9676cdd2b65eccfe";
-  sha512.doc = "7229459ed5ce71b7670451feb583c38337fb4f5962fe6a79356357f47a5cc0b37293573875f2c432538d978ae65ea4f1f1642427a39cdbd4ac4f42aa7400f516";
+  sha512.run = "815a1aff9e889313854962e44c1c09a41713f4efae915a1d1a65a3f0777a4c36e9987c588c0d6f2f1ea91cfed6c28ffbe045a842ad71fd6babc91ae1bb16aa5f";
+  sha512.doc = "36a8b35ad90d9fb797a03b48f8cf818c9514ffe6e7c24be157e04455559d3004ac6011e2dbd16a4c478105b39ec0d2597f74e484a1913bcb180a7209b9191fb3";
   hasRunfiles = true;
   version = "1.1";
 };
+"glosmathtools" = {
+  stripPrefix = 0;
+  sha512.run = "9587fecefba724acf5db13a1e915d1adb8494536be2cd72b1d20d9a52b065e4efc91ac4d40da9a16bff1fac0271c0e982c8b975ed0606bcc188cbba46522ff89";
+  sha512.doc = "f000a1389a70239256c61ce72865f1b606f11802f6ad9761c10786d19414f0e59de38dcf0f1414b0b05fef3f49dbc4c0c345b2398b4066e6accd62a746fafd7e";
+  hasRunfiles = true;
+  version = "0.5.1";
+};
 "gloss" = {
   stripPrefix = 0;
-  sha512.run = "7a517048e3edaa687f586d2ea1d2721d704c7f7791ddda3f9752d1f733b2d7fe3d7a2ed25bed035fd3f7ba8fe853e26a925f1b563901919346947222d593f24d";
-  sha512.doc = "1a3e9f0b58f18e9822f20a086bb6882bffa988897dd31477abca8c3fea398b24b208c2c956b56abaa702ed9af2fcc8d649232414c3e9596bc4cb72158362d0df";
+  sha512.run = "399bc1b809c01fd60934e28834dd7d6f263aded75bbede67507a5dc7bdbcdef725248b9a10d4ebf3cfaa981be33fd35a4ade78eb20b2b23cbf851376ad5e58f8";
+  sha512.doc = "871760a86ffb9d50cd480e2cd234a9873de48ce620f57a6538b36b0c1fd5e7f11342fa435e147ee1fb47ed08b8e855eba8168c8b755ed67ed7fffcb8f0e0ac86";
   hasRunfiles = true;
   version = "1.5.2";
 };
 "gloss-occitan" = {
   stripPrefix = 0;
-  sha512.run = "ee3607bb7e3866e50c747d831392e8051046b228b2eae49cbed63bdd64604be6dac9106028a09f0ae4351106ad21695dfe278831c24edfc4e338f9b91208e314";
-  sha512.doc = "f60decd3b8dfa3999c8f9ff0dfc7e7e5c8ded11569eea9f4ead2457af24a9c3f0258ad3b8bb4fbe98a6faee7dd428a787b1aee5e26650f0ed8b0f9426c068831";
-  sha512.source = "054686d1f3fe1a57eb6c79abc8390a34a955af1d00c13cacf5fee6ecded92891ee9f67a35ac08002a173f5bacbeeb0b19966116e8bec5939e7540ad5281c9bfd";
+  sha512.run = "699068d013af556efe5c02f5a2338f2440c0b8dd6bed61dfec94c9fea3f8b50926061db899e5408172414e48fbef98e79905df51463967ae173ee0dd7f361b85";
+  sha512.doc = "68b577e22544b76caf10aae62282a2649e1d18d9019c0727d9eb14d5f0342b95f35e1a95c85bcaeea551808aedebb76a9d5031453269d5ead71a2df0fa45e228";
+  sha512.source = "a4d1936873891b2e04e6d9b476432090b7b3e31ccd07dcce7931b62a8044f691ae79df929dea87ab2f6b7bb89dc84e33054f56e51332d84fb97db9d787dadb0f";
   hasRunfiles = true;
   version = "0.1";
 };
 "glossaries" = {
-  sha512.run = "c82109389164260b2bfb7e0d26455a8883cd13e47d4fd1c5f9d5e34f1c30dd0bf69bcc110b6236fccd0c30ba15c6a3b50476080b69d0fc4e8bcab283bcd53b24";
-  sha512.doc = "e0400a444694bccf4beb37774d5b9b8db7835d18070865bb95ab4213626104c092041fff98083a19b1bd6ef9784369ddab8d0cfbf526a1192266f17ecdce5762";
-  sha512.source = "6bc6dfef5c6e6ccf8396beb2e9edd70733156c9fb93e1595faab6cb7fdc009a935925b5bc06dbb9d931b91a35935caaceb62ada204a700f1b825e6fc0e50390b";
+  sha512.run = "2b70c5a8318f35288c728d3b03caab7ef73a689fbbe186fe46266c987d7a7922be1838307a00be2bf6c3714bbbdd30c778aea61d85ae92545d0ad4111021b9db";
+  sha512.doc = "2a3f0bf2bc02cead8077dd45f3b1c3c02fdebb9b37a25afe7c7e63f99c049cb41a0ae77fbdc28ab72aead555e926a95a242175490fd548dddf8cdb98dc4f10d7";
+  sha512.source = "1783b1e706e870b2814aa558e3f80b8c4a92f12d6be519e532f0f6a1c7a7316860488347ca1b4a53d75a75dbe469014cd424e098c28efe10fab4e3ddf7c62fe0";
   hasRunfiles = true;
-  version = "4.42";
+  version = "4.43";
 };
 "glossaries-danish" = {
   stripPrefix = 0;
-  sha512.run = "d1d3a50bdf0057f6a1d9c608a89941c152af6bbbc158d7f3c4916c315f34e28421cba16e277d1892763fa822ab84504a20322d012b6bbe7748f76cbec0a14bd4";
-  sha512.doc = "8458a62fdff455e2ec14942c719eea4452c1a268ba039ae5187241f8fe47bddc7d81b0e6017839b9d5e4f0049c1a632a0ee6cad3aab8709ce4b1dcd973c1ac25";
-  sha512.source = "a62494f080864755d23d04d89253074779cbc76ec88e7a097713695c41e02c567d5e6748a81a33c5828c1163ae07cd6a284e9e1c74ebc1c9630de1c05beecc8c";
+  sha512.run = "d9551aaa01e6f6720406a58f869048fbeac30fd629edd7fcdef657525dd1f7fb3faa2127cd81fb777d339ae65a1015e9cea7e5fe26a7de10db3a387152aaf0b3";
+  sha512.doc = "8e6097ced6686f3f5f0162c7deb11de9acfd55ca152c8ba3d4eafe155f645f33ec32dc495e3b4f4832e33300cd63d2d4ba56d018177f96426ee72e14cc60e230";
+  sha512.source = "f8a52fad43c5a95989ed8da27ad5a15da56e5cb2b08797bd70879327a512d9bad44fd217270940ca1ac541a880bb939b9e360fe5a686b0b25d779baa1bd01de6";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-dutch" = {
   stripPrefix = 0;
-  sha512.run = "bd2e2a67c976b7f7f1a914d4976d81f933b5ff8d59607f4eb65f799628f25f78a970252efb7229986a203cf9da60e7e11c4fb2c537e093f77e27170e0e294896";
-  sha512.doc = "7e9b8ebf101aeb0c0b49bde9bcbaa6f7702fb9b17f3d6ef6dc654b755f3124ccdbebd99e75d85478b0496a161a60279e68ce04626847aacbd28894a4ce646568";
-  sha512.source = "b1c8bef55905d2e4e7b297663c18e1df3255896f0b15d18866ae401d56f5dfd32f3b89e4873d16bf382c158bceb0e0491c9d54cc518f4a6b506fb0c85375749e";
+  sha512.run = "0e3d2607caa6032c8c768c1bd7c84808f6b836d6c167b1e0c720b57c3033c175269663f6e21edc248676bb2b73142c20c85cb6c3011586cf17d876e540a435dc";
+  sha512.doc = "c2d6ce929bb9e7482413886967beb598b6cfb4a2f84d5a2e5edd7039b94e397ba9ad2e63954178d6fae91c5e3aeb080a68ed466b609ba0adddf98003f570cfd1";
+  sha512.source = "5088bafba48d95e4392a5891ba3566d37a708cc7ed002243995d67ad6f6cd1eed19f6a572e5e3234c8e4ce58e815b4cc79e97d2644bc5341911388f7b80030aa";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-english" = {
   stripPrefix = 0;
-  sha512.run = "db7d6b615a7e265616a7cea3c7914c3481de85a4c64ac7dd7dbc02ac390713dd686ae90146db96c953d28e9ec88a80b010c6e12b6b27f9b4aac4b59735235f87";
-  sha512.doc = "1fe6b0c411ef46b08365bed3bd260b32d221436ce6eaeb7fe6d1e61e853685d92451dcc346d716aa612fad6ca68345c16ff29fc5b8067f2fbb825cc553506484";
-  sha512.source = "7bd582d9ccd6332e2de5ce35c87348e5250f14f2aacfaacb4180736fe373e3cd561ec804a2db05b38d9cfc3c3ce2bdd04e236b579f7f25404a8a65d9b414131c";
+  sha512.run = "f62c43c9cb5a10fe5e364e6aa4ca500aae8b89e71f6bc80831a8c8211ca640f3631f011735ee5c82278b188bf896360b69502da2128e1db1287d24e44805ef97";
+  sha512.doc = "40c30888541114f5594403ddf251f0c209daa57c6b6f2d3d75b4a51416bf3011bea70cdc5f461e80a1e148181d6ecc2b2d7c891a7c75b1c577a72e5ee8ddc8e9";
+  sha512.source = "4a1d9cbf515c52d8f8a787970bf5537f25d6de7a66c3a1819cc5dec05df0f004aaac3734dba6ef813473db0cd5b08db4ddebca8dbc8674c2582abc7e9e85524a";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-estonian" = {
   stripPrefix = 0;
-  sha512.run = "ff4848946b8e058e987edf255612db7eb33fb89af067a4a1cae1ba446df1270595fe3c7de78f856db7ef02bf0dba9223429772b991507fabb4a97b169cebbc41";
-  sha512.doc = "e758342cb7268a492eec4a24d9055ca82f180fb2247bffb542521cb895a9fd29974523f919d949d7f6d1b1c519e56fdb56f42de0f9b276cbbc4107aaa44441be";
-  sha512.source = "67acc8386f9be22ce535c25adf5eab11603747f22bf89749bf36cfcdda2000ca7ce344cfca918ae488c3b22f7fc4b11a7f0ac8a8edbf13df2cfbe5d1031de7c3";
+  sha512.run = "48eac96868bbeb636bc8d4352cbc1959829daab75716b3dea2ef98d98e388a2668a2ea1e35cc46f53e9ee030aa07dcef3e528f056f59d49883f0a00380785bcc";
+  sha512.doc = "5f957f53acaf6b56e338b606843cfa2ddd16dccef6bd2c74844e514c157ddbc3c5c24168cbe28c67894afab8d115460fd497de91f0142bbec3d1987d5889925f";
+  sha512.source = "f2d2ddecc5a338f844a9b98d50e636d69d31866e723e3aa261ddc5ac2d8349d01e76afdf9cc6b7a4b4d96dadee78ea6933c0d1c69d1196f11770c92cef356fb2";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-extra" = {
   stripPrefix = 0;
-  sha512.run = "d67754e2d462db73f51bc41b89f2be084fe406417d99a9ee53e156d287f9c9c9b4e1409908335ef25861a5bac454675cd3436d01570bf6111fb808a5d7ff0b23";
-  sha512.doc = "02509e430428e079566be59f5bacc2da2d04c2dc67478405ad81769916bb1c15fd5c3e9f608bb436bca22d751aa94b7e2d694aaada080de9d0611a64d53267ba";
-  sha512.source = "c20710f423840df12e444e2c534edf09873c51f329d4aa087b80048bb9ea919573beaec804a874ae743ea0f1c49d677f21719dbcd94cfd251d8d4f33a3a1a145";
+  sha512.run = "419da7c981304d369dbb6dd342bc5315d84fe248793df725e454841b25ce2b5d2204e76e84539bc4bd71025115b9369944cfd8d879a02a5a63fb3cca11d0c977";
+  sha512.doc = "e2244e01f9efc52e629a50491543ddf9b4f441be5afd9c185923a9eb23d9ba01208e90fa4a7c05e11072fd5f05246c30a4a48e9deaabb1207b05aedf38ba7fc2";
+  sha512.source = "a11ae8c79f40f47ed05081112f811242b5b5192e35124fdc6ce628c1a2c3cc73ae816f6ce43f9804c783072f9ffaef1f5a7bf9744b7439bb754cbd588b948729";
   hasRunfiles = true;
-  version = "1.38";
+  version = "1.41";
 };
 "glossaries-finnish" = {
   stripPrefix = 0;
-  sha512.run = "2b3dabc1755c4237f67fee04f07d5760e9542a8eabf8ad5a3d8644845802d6f9b00a381c233789d2b32e4626bc9138131baa0ac96f45fdbfe1f90f2352ac2ca5";
-  sha512.doc = "60a75c69047de7011fa3292b999a9ed5da5ef5caf0974859b3b7e2d09c66c7a4d0a6c12236026319f336953708a7cef8143b2977713b4777df891ad46e7d2613";
-  sha512.source = "7f0fd5d04b156941f55239762813d5d55b54dd57a99b680736116eb102e0031ceb82c9185fac927dffa507ba7063980055a192f21c1a45b884145c46c29b3b1c";
+  sha512.run = "f4008f165ed34678a9f9d1cc2fbf2f2dedfa66d31acb5449da6f93a8b19a7ea6b7a7a584ff7c744e92637cfa4a7c98a478b096be73a3abcbeadf7d2af00a607f";
+  sha512.doc = "46ffa9e86596919c6ee001bfd425fbe0c58e890e8af3131ad89b4e5ae8ce20c8f3266f2ffae6ce039908a137180c0552b9c9f2a729bb55094f999a0bdc3443a7";
+  sha512.source = "e21f3dd39d6c5adaf829657c75badfb9bfe71f57331a89ba196e34a042a03f308206f2c3cdf7e1bf5dd82ac230c0aa5c48fe982e017ea7bebf2a40bb2e664511";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-french" = {
   stripPrefix = 0;
-  sha512.run = "56aadc863aac72140c191aa401b8b1ea0b30f15c5df0be362d5c23b417f08252806540c5239fe14ba16e6a803c1915f7324eb9f8cf641107757ef71026ef4745";
-  sha512.doc = "30d54434170b9ad32263ffeccf00b817687f0d7b4aaf0513b42d4a3e71b1a8ee2179302336ddd7302a354a3df95e73239d13b1fb6e3ab1be41ee6d4ecbff0311";
-  sha512.source = "d36139182679dff6d1ee5cda58a8363c60f5fc3ea4fd8c2e225030e903f97aa2add848a879707573391390d4f862a85f9189baad4fe23f6bda7c0a555b10ca0f";
+  sha512.run = "8516e94f69248238b0e94099b67c9807f02587e934e6fd2c9ef23befcfac783297cc4df71b8e41be77fdab85abcb4103435c3fd24584b46a3b473fc4489d5d82";
+  sha512.doc = "c26b40d499199c15c875cdca901a3168ab72e4009a04e92f3b1ae9010d7912484b1185453d117154eb5b9e63358b36cd58aeff3d0c4727945a343be4c3c2ede0";
+  sha512.source = "9c6b0b1d851c88c757e87c8b29b2cfaa3886efb00433a9c3744e175fd4dfd4433de3b80b9d70df89f879536b1058ddb1baeae41c5cdfc6c47377256df8e63882";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-german" = {
   stripPrefix = 0;
-  sha512.run = "1fb5413923070cec4fe29d84328fb303ed729425012376169fca74616c0f9c7f0aec48ea4de23888f3a7b94c7d91064b23fe12049bbafc3b68b2ff04b1fb086c";
-  sha512.doc = "0e3e4fdfff984ebef69ffa7b4de31fe5c8ee489a64585b885f868fe151b7885f6aa6b286df281db1e7a10a8307aca95a9bad914bc4bf7a3a0fdf391352ac90e7";
-  sha512.source = "35b866f2902d41ad81a94143e011bc8585c33be88e489b57c4eb28a8b1a2e0c09ce5d6ad3eaf4b15a7b276698306a8eb689c80138a7cbd110dd26ebc33f44ff1";
+  sha512.run = "e0b8e18dbe4d4e503c144be2406b99b56ef0a48847b4044665ac178dffc59d2b8ea95873ee5f2e64fcfb8379a44ee8761ee84ae44fddf996d1029372d5185d58";
+  sha512.doc = "0ad0d7d8f41e52613d049fe3ec6e48d5ceb77e768c7b9ee6b3b0978eeebe6abfc803df44bbb7f90b4e487de074a2cc174224ab0e89d5fe7bc896adff495abfc6";
+  sha512.source = "7d34e603e6c667fad268f4d16edd7b066d3f6fb34739ae5e7620cfb2024fb6c7882862845055205d3a3c14f2c60bb3b304cbb1871958c17427107cc245e10bcd";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-irish" = {
   stripPrefix = 0;
-  sha512.run = "828f1176666beb12ee36da4c8b058c673b2630bd872485ab9aec7c5ae97749e1a6449d96ab69ca8e088aede7e9ddf78a43f7e4bf425cd2275bc70114fe6b65c6";
-  sha512.doc = "bbc879818fd0324f8e912114e5dba97772e2cdba1808b2d66d13f1a5348c5df997e058e65d9e77bc54fc159c10add9a9ad73917ebad7c8c91c87678cf90c000b";
-  sha512.source = "9954cfd2e8818dd91c5597adb0e07c845ee7ce10b747b5a427c1203037b7779b0c552f5fae4e869af157ede3e9dd4ad505dafd8ae935a229f61eb885440e7849";
+  sha512.run = "b59add658270f734a8fcb70bae29ac210c84472f0f7ded62baa647bdbdbcba2e63dab71aca6f8c524eae9e3d80bfa7bf96bef45bef7039c3eeff738055a93acf";
+  sha512.doc = "9ce14ee4ca3ac1eed10f8c356fd6561f7ac43abcde46009a6d43245395985f045e9ecb83a38a190ea3a5cabf462a233967993bcaa40211cd7e64791dc2a583a5";
+  sha512.source = "cdc7332678be3abc86804b9b674aab88f087791c8418e6273cc07f2c2b4bc8316ad21a3421af9ca2f87f76a3ce42a6fc5e7343e006120dcbe1c7cb14901d7ff9";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-italian" = {
   stripPrefix = 0;
-  sha512.run = "cc58e873ecf3ced0c0ce6a28ccd810940f4511c9d83cb024791b24cba86b34dad48cbabb9cc0b1cd504cc7984f1c5124e9613beb5e8a3cb075a3bce9e91c37e8";
-  sha512.doc = "6b49f3cdcf424430cc75ea8fc931628e05b5f92c280c5c2f80e4747857626f249579126ef501f42ab588c59efced8f41fdc7736b5d08424b5af427b7e45d7ae6";
-  sha512.source = "79a2b76a6ddd32ffb9793002c513452a13a267a02f002944302f159b1187ec6462c90ee74bfd6f7a1034b44a2b6acf40f9a52a183f6c8f236ab87cf7022a1c48";
+  sha512.run = "aeeeb9fcd98e55ed64c918276e0bf0b25489538da80f96030a85225635e7e0ca3d1c93c65aba8b97b486f086a50504c257ba478bdba28de92058053dcafe323b";
+  sha512.doc = "f1ee5a84c9a67b88087f657c259a3700fcd1fa4ad8c765cfae11cde2d54c4a71e69dc57bf626ead0d2cf1057750e284a31443c72e994e37a62715548fa9dbadd";
+  sha512.source = "9a014922abb8be849e97660f2aabff49413a56c06a93f5a3fb0cb89f972b54fc371bff8dfd6a758196d941efbc9281c5cab3fcf047901ab08e296d55e529206a";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-magyar" = {
   stripPrefix = 0;
-  sha512.run = "e6414a864cb7dfeb7298a555717b8f5005e577f2a1fe8fab69a72ffc3e0f087e87a414e0334a1b5981423c446794fe8869de22f4cacc9a8438251a050d293fcc";
-  sha512.doc = "869b766f9b00cf3c9cf06b9567713af5b608bb6ca53330405509422e670d63dc49cca39c386b1a669f2beb84e462d60d491ffe205e6525bae3ec8da356f5a2b9";
-  sha512.source = "575ef0a9b907df7a19a13c9949e16a734374777134fc1e1ff1d52791d1aa76df6f84a2e8409ada9acc1d0ed7cab76f1d33607d9982cff08efcefb315c8af83a3";
+  sha512.run = "66847635e1f00af9191cef210c19ed154dc1e5405ef0d2ad38485a913626ab9cd93b7c35395feedefcc04bfd1b46112e6410154c2ff26be51553619326d1e55e";
+  sha512.doc = "a6bc19bf794943b1b15c8cbece363f644671f912bb71d8b2f0a9e75d05886ae4af4846c78cd060099bb78872e4d7991a9a3274fd1343a07bf73c3ba1d475241a";
+  sha512.source = "e0e90ed2fb01df98b20a7807a0dc1155b108c35788ea952f753ee9033d2c7e516086c6380b8617411392198c5469b57b96aa35f8903e44ce44d30f5758acb75f";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-polish" = {
   stripPrefix = 0;
-  sha512.run = "726bb6287552903bb1b8b6d161e2b07c7832a66c200c23bc873dbcf3dfc7185adaf551929a53f956f601e115d68de2cb2f2136cf6412a8d047e7d1002f356474";
-  sha512.doc = "13e70e01e8b902f9b47082ca3138e7f4b5546b0dc0aa5ef64dd68afe7843d8d9e0967d7b45cf8c9b5ff3bfb83e48613f0334000aa6a03f3e823866a36761a1b2";
-  sha512.source = "7db56dc25c365bea01590b9a4968d31780000952851aafb6332e60ed02e049a27f75ce3b6a320f15b8367f1b68ee71a09e0738fc0116739c40967fd12173a88e";
+  sha512.run = "7ad5a924f24acb052c16436f1d1eb198bf10c65ed3f77fb8911cc8b390cf286581a6d7ed409211993545d597a4dee4318e1d9b820dca6f831ca215986ec4a1cc";
+  sha512.doc = "cad7bbadda3e690ce56c75d2dfc92b02576226cb31d848b0c96d6115d18d222a50e514a6c6b5db9907d6a0e542824e229b063a0cec49dd726246f3dc5d4b41ed";
+  sha512.source = "5f7ba658feb54089405ed6a2fbab3a279143205438a9dbf6ba0a49d38245799cfac6369c48f9ea1e5eac2125cf475e26a3b31dd3745f283a21f3ed07aa8e64be";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-portuges" = {
   stripPrefix = 0;
-  sha512.run = "3b31dbd9bb8f6ba0d998c6a4adc1e65c78414e620b44f282279a4f7d7562d494a13e2b8dd1c5e6022d0a19b53a8b2b6d6e266f07ca157b3734f7e45252bba665";
-  sha512.doc = "ed214df5cbf6aa5f7d721a1c9aefbfd9a4483b69803d3df2d10c6432db3604f9c1981dbf8bd4d8f4baf62c556b4fff4fc93c691056fea23a8992afe4c4a7d366";
-  sha512.source = "a1ff4ef92e3efdd3e89d4ddf520715e451e4417b77c2a195102ed6f9fbe2226cb09c545033775501570ae193828a0305070d01b971e533c8b34f0b3e5db100ac";
+  sha512.run = "64582081553f90a5000992f9db3f79aae7ddfedc6f128ddc09ec7878576b0e17a580f7c58515c2696e2c46ce1ba49c2cd756687c144d0134d91cb6c5e0506ec0";
+  sha512.doc = "5f1692f14e2e4a596555cc426a556d069fcf710775d9a039f0143eddbafd0502e4f4a10e677a43589b1f91cddedba6dc9358b6015801e68f1b3d1e908e57dc09";
+  sha512.source = "a7cb8046b8ce5d122f691170804acbcd39b5ae367cf66057d12fb24d58f142e2a4cf52a1039de9cd73a0f8c0bf851f07367c180eedb12923ab3398189de29652";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-serbian" = {
   stripPrefix = 0;
-  sha512.run = "f240dc5de854d29d73b91c77df99b6c544a535b8a621b7d4b40683b4e7d1969681e409a466475d8ec68244a9b415d8addad856d6055c47f4015c19f8c2bb2327";
-  sha512.doc = "67b94bfa70c27840aba2b9eeddb3bd5c8f45b1182e657ab7fe0fad950624b3c09f07f4e4a2066bd6c704006de68cc021c2df435afbbecccc1bd009adbb0da8d6";
-  sha512.source = "bf371774f83237e812f6cf37d452335ab7773a9bb16e1fd01e4f0f73148afb9a21c9a9ed2994bfb7d67ce97d2de1b0c0f32aeedb85e24d163d3a48a24c4f104a";
+  sha512.run = "7360d33c1d3912802be171ecf8c218fad45719ee6dfa0596904484ebf9dcebcc0d926112e40fca76a196ec6081fafc4524c81b366008fd20207f8150dd82be29";
+  sha512.doc = "1ce493838bdc59521728b6856d2cc2df26f44f3bcfcfc04d32fc20d3e416639b1420e1451acad8b8bb0597336a77b553ac599ec0c541527ab4d8e56765f07f3f";
+  sha512.source = "9097fda313f9cd3e0db095c27fa534269e2460c6b5efa3e6681471590591b0931c52f28374ee33404ae0491297d1047dac8b7ce7a525a46b01873210b6242515";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"glossaries-slovene" = {
+  stripPrefix = 0;
+  sha512.run = "d569d73cbaad175549fe5d4000ac73b0fb65d00598dcab0f3a7c7b384682568d21016fb50d7dc6d2f6a1b250ef34c44c784eb99a1ff042bc3a52bf1c987e0b55";
+  sha512.doc = "63d212e4c04dd7c7e663de230274b9111b8025839c8136313677d13e967a23870927a49220aa1efa0702422e8ad4cf683d1e5e09fcf291873d78bcb055e24003";
+  sha512.source = "0e779292973bed40b3e077058aa99ceaa851ef516af7be57a21bd378492f77b87e65ca95f9f8fdbebc8818dc820108e598ce93efb8c6129560e0ed40f3633b48";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-spanish" = {
   stripPrefix = 0;
-  sha512.run = "b30355a97f8a434e70542195ea3d11c90a243fc76d5d8b2c374a13a8e9b1b94c7dde82237d83594a8442da92eba22e861e589e35f49397ce599ccb528761319e";
-  sha512.doc = "6951596bb259a85401899c2dc532c5d256c0026647d0912694df2768cf467597f6ae6b014277ddcde7603dd2efafef95f695752604e2f5d192e185ab2d054a41";
-  sha512.source = "1dcd8b4d50bc079100ff842d4ec7c1a046b51de66421f2d099a1b85eb35504f0afa8454f756c265e0c6e096a5be54795330c07ee033754323eb19c3fa5119c38";
+  sha512.run = "6c92de5e24135a9c47d200f8f0c0ce7dff8a01f8c13bfb49d4090d1c195052559f75763c0ed68d633b40cf18bc89bc51e7b6c2aacdec05376a3c2e1d1b7a31b2";
+  sha512.doc = "5fc58f64a7f54b50dcfd632e700805bab2f46a92b727853b147d9f7156b2fddd50a8fac08d0ac59bf5f89e0ecf1d5ddf7c22482e661f8a5e7b5568832168bd5c";
+  sha512.source = "8bccb84eec75980107ed08b9f7e1ef0a595f7eb0c270ccbff77f4ea176fb5e17292b7d34d081ffdaa7d7be82fe40f71bbc30a65904892400536c51ea777475df";
   hasRunfiles = true;
   version = "1.0";
 };
 "glyphlist" = {
   stripPrefix = 0;
-  sha512.run = "493d1d5af92fda0bc44228e3001b39e3675a9a9d367fdd95fd210fb34b8a0802ec84ccdc121bc139f70350d905c5587b489d9afdeb49e63a0c585a55bf396bcb";
+  sha512.run = "d4b606f0aafd19d642be4e18c6ae4a6fc2051f0359bd5f15cec2b398b097e204bb9fdfd0b0925f3b697658c671e598e7b2711a85d0ae13d21af1d00040cd2354";
   hasRunfiles = true;
 };
 "gmdoc" = {
   stripPrefix = 0;
-  sha512.run = "34b3ea992dc387c99e8703be3d2af11b4e0d8c488a31de1b906f94c7989ff17b2dfaa1217d4798811cb44c4b4c9d36874991f0392191263d2e77bdc9f09623d7";
-  sha512.doc = "d4b2272fd092a6cfcae9b560653299807708959187c89e59aa7fc27c393f7c52463c135d201369710e6d76bfa4fa672a9538f192eff868b7eef4d2df21df38f3";
+  sha512.run = "cfe29d7bd5e7936c2a40292fe2518dcd79dbc105f08d3f0dfa11ebdc4693ff207a1b312e6160fad4c089bbe5012697bef1122a893b1d42d59fc39fa5c48d2ccf";
+  sha512.doc = "68825a5fe89383d68b2829bc7e2fe230d717104a2ec56010bc7e67fcb14f9191bf47594cd0387b490debb5e752670048404a7985ab0b5dc039f4764d7926192e";
   hasRunfiles = true;
   version = "0.993";
 };
 "gmdoc-enhance" = {
   stripPrefix = 0;
-  sha512.run = "b1b006107bf7ff4290ef90bd9393b792240d68cfebb9fd84ca13af4e9239339e7b1789efbe97a9f68fa2e121c08f2847a032482afa04838b7278dd4f049f6f45";
-  sha512.doc = "c27eced1666315e492ea1fe4ff9f4760603149901000587cdfb8fbfbe6c99f3f9fa84d5bb23f473dca010b479e1d5307f976ad1fd147fee26dff62f55b63aebf";
-  sha512.source = "500f3725ddd8aa74f70247a8d01edc68d6f9cdb8d2ab9ac362eed15a1664f626ea156c96cc351fdc3db00b893bd5f7ef8637ff1a17ab9f4a70bcf675e495521e";
+  sha512.run = "481bed630ec444fda66a22656c2cdfcbd931a6743823c36f570ede09038ec4f219ecd1985243a4fc8d852f38512c6b369227f559d3874447144e0cd62d7949a7";
+  sha512.doc = "0cbecac4ae6f70ed01a407a9e5fa388f2c142b7bf77d219429d6685bf7d7c6bb3f324694286e6fe49bc2eff287faba901b7eba44f8bde1894e8cb09527c289a8";
+  sha512.source = "131afb02bafe204637f0cd1589db70584071d9f2480d2a11c03de4b0c14ed79500fe0e811a035a761ae4e6084d63a89e1dbcfd40edd24b4715db55d206f5206d";
   hasRunfiles = true;
   version = "0.2";
 };
 "gmiflink" = {
   stripPrefix = 0;
-  sha512.run = "d9c7a86ac218009bb6d431272aba2ec5be5dadc6cfa01f144e1a7cc7a9b6135956466e6b010326980974c93c3e6fa616ff96838fc455ea68758a1095e8016e17";
-  sha512.doc = "101f2ae37a1546c6dd8738fa3814d1332eeedb9b59a107fdc4a257eb4f8bd3f48b5a36bd3fba4155939a0446d07687d7fb5e1651c736ced7a32a0c86d7514336";
+  sha512.run = "768353fee03e36d5f13e5ea8ca2cf0925fb5dc3c847680325a0961b78a3ed6c30859bc57de7b927cd9e782f85539c97183687755c31738e1da3cc27a08f52387";
+  sha512.doc = "4fea41151ea197efdacd9e5756043b87500af8445769d0d0f69560cb94decd4f097bcdd52041706ada9b1ee7826f3c56aa30db473c472b1c74553cebb5231072";
   hasRunfiles = true;
   version = "0.97";
 };
 "gmp" = {
   stripPrefix = 0;
-  sha512.run = "b959ee9e96675c973944c1cefe1fcc2ca3bb64f8a4fa996c53dc7d33c47838c8a95cdcad047688a891ee271e786765ac77cc37b75e417fa56d023ef96892b26d";
-  sha512.doc = "362ad7d66efd4447df607de3a4da6a7eb7c28e04df02be991b784bfeb2ba6c1567a3e4a6b1655c1a1aa3c81c2d528032539ae948d3a9f77048f67a7211ce51a1";
-  sha512.source = "5e6bd221c09130daaedb0768f55d29a7b78ca92c61f5e0b54028f15f0bd47698e10608a9c01f39b29a49f4f04c31eefed84e8b36a5519ed951cbf3436d7e6e9a";
+  sha512.run = "79ec2dd12610086eb5e7b582f5296fe7f1101c20b6d4edf10d47c5dbcdd506ff7c5f326af7600287a148031be060b3e8319d20d8267933b94b6c8a53e7753bf8";
+  sha512.doc = "d3d4bdbc5b1c4618820247ec101e43c1c28b9e023e7613d5256456424fa95a54f23463ff1336f2586359a6078aa733de77cd7ccb892b367cdd00215ac7b67512";
+  sha512.source = "13c602f735e86066e87231dd299680739af8ab526d55897c8a972b177ddda6a92277c3455208a11184281332d94f924b59dc845b51d7288c7c6ed750c45a3fc0";
   hasRunfiles = true;
   version = "1.0";
 };
 "gmutils" = {
   stripPrefix = 0;
-  sha512.run = "f7cc3aabbf7eacf805e270d599784acb91fd592044e213d26ad640ea3f5d78654bdef08af1292d6f9dfebb75ce1b1a76a0a6d5f05fc7bb244f38dfc3879d0ece";
-  sha512.doc = "affdfd366d466e077287cbc998205721298f1bf6422bef4d968a4b469f371cfc403480f74f16e32803f6b25b11af774f513ffaeb6099132b4130b0eef76dfe83";
+  sha512.run = "af0fa2ec7a3ce1414bf5d48d0bd8ce9de1b96b2bfa4f9c2babc6b27c52d11a7e5024bcf66938f3566cf6cf331b154f7eb4ca9d1cbe7109cde939829ea5be55a5";
+  sha512.doc = "f1d6205f39f573b0c9b28f0ebca03b32e20e27c0be12adeb7eb23e12daf41a9590733270661aa29d6b8393dc87855f293437617cd8598f39082db8a33e9281ac";
   hasRunfiles = true;
   version = "0.996";
 };
 "gmverb" = {
   stripPrefix = 0;
-  sha512.run = "f17bc2b8c31f779682d2f4a9a5514173a90361a4b00b56f458fb4a0858eb2495693bcf968cda21d0ab3d5b6e1ab962a75d9b8959e4fc7feb7bf19f0349d5f07a";
-  sha512.doc = "3e40b6b06c3b20808b04878f4c52fd57fb4f6f6d544df7fe107650a44839bed414cf5fbf66819a801c3dfb82586ea682fadb2da65b66ac7d06263ba6c24d2c19";
+  sha512.run = "18038202bca3493596925d9d7c65612434ccddde4b301134f1f57706e5d2978025fead598751e27a29d23f66ed12306e6092461aac1d9d921ce818b0a49cdfbd";
+  sha512.doc = "6dfcc27b38639d4a97ed311bf7c6f1faeb1a023abc27d53e272f334b232a52aa0edc030b0c53d6587845da64097496696ceb03cbd6aa13c8ca5ac12c1772860c";
   hasRunfiles = true;
   version = "0.98";
 };
 "gmverse" = {
   stripPrefix = 0;
-  sha512.run = "8e5396d11f60da6986e34a4822bd61093885c2c9308f5d2314f7af5b769138d3999a19e5b2223a0b8185fa5be332a2478874acc5a18dae94ae2c35a5c7310919";
-  sha512.doc = "74c7d0644a32c8ff1997117ed1b665d73736d8ec99c698fe537898a22ac134ccf10e66b4aaa04a967888bd849cad1396e0cc61b0baf1348f1e8173621f881e70";
+  sha512.run = "98692f781fead4dc292648153ca18a05d03f2c44174bce8b2f72e85fd1e98cb5ef0fb67c12f33dc982f1d04958873ea4e78f486fadb0c94544ecb66180ee52bf";
+  sha512.doc = "7e37c0c2e8443aedd6462251f603e2eef9cbacc45d980d79bf42cdc64b7ab0a5d81f50ae65251c17115265c45e641a5930de640099f04dc8112155f68ce9adf0";
   hasRunfiles = true;
   version = "0.73";
 };
 "gnu-freefont" = {
   stripPrefix = 0;
-  sha512.run = "0955603a0107f6822fcd654b1b048cedc5cb3fa7dbca5bb857d2c96cf6f10b969d2d0dcacea5566bf0f2d54ebb1d854eb51cceb1435123075f14635ed2ccb3ae";
-  sha512.doc = "de7b1e65675edfdb9b6aa986769f9076af7c657e0c5799b343e140fadc00947655255e0af7619a2d4503ebbcddc95f0a3a012ec67b4d823e3c190bc278221a00";
-  sha512.source = "f815fcc6f786a66dd4b9beb809a22385bb83f62d6e3433180d431cc4752681fa991ede7cc4ad6a59a1a2177be174e4b55407317c4fc1d2ca3c323c98fe69e3bf";
+  sha512.run = "c8ced8afc3b1b9108e5a4a82db54a9a28ac6ba5f4f379062b0d9d8b9724716ca98234a345c06c7d809b1ce609f817f0a9acba1ef8e94ecbf8f1301fd3bc9d248";
+  sha512.doc = "3b7adbdabaf996fe8e0cff7e1192cb7f5984103398b22af6f859500a0041a0ce2ac0c70bc3f17abb7294ba80e34baa5cc77639500fa03f1a2c1c93548aa2a816";
+  sha512.source = "df7be02fdf1e4559f701b67183237f95c7b6c1b9b22f3b65688bc84d96f97964755397e4cf9039229ecec8b5810d65042ff2d7c101ef7cabbb126e6e9c93b3c5";
   hasRunfiles = true;
 };
 "gnuplottex" = {
   stripPrefix = 0;
-  sha512.run = "88af020c489b187dfc86a9f83b6b64eb2d3a0f4c922426f6784e3c6b094c5d1b22c430b407413a980302e324899c6178f7ba184168b240a8e50c42d87e9a06ab";
-  sha512.doc = "448cc866ef0a256ec1ec64d8f2e43ccc1dedcb8e483aa808ba0c918d6f1a67ca81aa8f5053ef733b2ee0dc53f152982f41073791a91835978001083c691899e4";
-  sha512.source = "6811c1b75a07a1258c601a6dc86da6be60ef62be3ab362eb48627f49e54e68bde62a5610dbaf6dec953a1fc6a2dc229ede97c0b8f31ff6a7d5b5f40cf242e93a";
+  sha512.run = "1d1f271fb02e7cc8e5a5fa563d4ff30269fa3f6a33f0acf3eb833998dc22276c0ada1ccd751588987bb2b6f2dd9aad2fb6c44caeca47953c2ef7c5472dd50dca";
+  sha512.doc = "b782fa72903c4de4aba803b0e3b888f4af5598cbf8c82a94929d0a5148f081ed45d6f8339f6a20a97b8ace731e2039047173e4fd02d795b75cbd2e5bbbfeecf2";
+  sha512.source = "5101ea2848d49449f0899e2a3b83478291c03b439c92d2033b56a0f01bf4af628f592cfaa44ae113388603ee0c4f0588cc08e226de4ffd01618ad785d6d1ae07";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "0.9.3";
 };
 "go" = {
   stripPrefix = 0;
-  sha512.run = "e73b4fdd85590adc4cb7aca073c647b6bf136945ef49855b8fcdf55096edc928037de6d057e35f8ff76faaac93fa4d09c6363da5cc638e4c34b115c7190c9650";
-  sha512.doc = "3cd5af1276497f9aadc095b378dc3d49560bc9dc3f68c06cf315c6f1f33c48c171b9733cbf99da474d340122b31e525131991600e5e27b7470574de5d2bb79e8";
-  sha512.source = "526c9a9c3e9df8ca9f7764849c16d7044ecaf30bdcc8eee2891deb0f3a2c20a1f19d7b0ae4ab3b1f856201383b2169566c890ae9c127ecbd440bfee6e464345b";
+  sha512.run = "772772146ad95f2ebff85a2f3064615c26300a6a4050c1a6c7207d53e12b41477b0936b1c3d182f1c5db0aebd8499de19e0c23283c2bccf753addb2623dfd1be";
+  sha512.doc = "c65516b11156d4fef5104a36cb361bf59be244555233cb5d9692892da06d3bdecd0b09866db136aec177a2bcbacfae6bb41c606f6b9da0329a00c614055905d0";
+  sha512.source = "54cbaf16bd4a1a9bdd02b7811120cc82269be40e97853d94b1d526eef98e7df8e7ab8de2e7abcdd7e7db4c1f7fdf3d7355d511ed57c44c09643ea291e5b1c6d0";
   hasRunfiles = true;
 };
 "gobble" = {
   stripPrefix = 0;
-  sha512.run = "6d65606ef94a9e08ac21322730d418bf693364ec36a1e04d30fcb4e3a88d3f0e8f2d3c411ee37155869fccfe6065739d7a9206d9be9c4a039f6e91cb04bb6156";
-  sha512.doc = "f63a5d3f312d9b445e9accd3b39266d39de16740c7107a30e2478d82637175f97cad746dd72f24d578dc97434cf07bfa21ad32806e7c9542ff1d87d1274906cb";
-  sha512.source = "821d462436fc48997eabffaf3b6416a45c90839de9e5d9867a9eaffa719669d2c8744aee8ff13a3742885a0d290cf84f0d579f1e4d12e3cd20b4ddc093fec272";
+  sha512.run = "c2426530cc89a96c8a8e6e01c936053c9eb9c4a07cb46369f3dcf6d0d74557421b1a749a112f561f7248a34a46262fa0b2b52d103bbd8cfed720285383a5ff8a";
+  sha512.doc = "1f4879234402deaf684312daf31abec8a9c36c04ec52ce9b48cf6b7358153b6feef328f2c4f704a2ac7a0ead18a87e35e3ec21d9e22b1a60311aac56f6b48413";
+  sha512.source = "ab765f57595789abba5fda194d49ce1c267541a4b22dff0b4fdbc6f2690700503c28f860cc21eb585894318d2bb88ec9f0dd6b48ebd515c8b23ac4c0f46de195";
   hasRunfiles = true;
   version = "0.2";
 };
 "gofonts" = {
   stripPrefix = 0;
-  sha512.run = "6401682f636cc451c326ba67120e860e5a21c97915d168294ad4bc38c1160160d4e9de981a49ef30d042f07ea710f2e302458a0216c6d8bca783eaceead45b7f";
-  sha512.doc = "59c48dd701bca3f0dae5c80fd4e182145d01c98c0e7d19bbd3335da138c7d0a1297f16369f942d1f07d34e113e14970de1835886a596931fa62ba81ec52ff356";
+  sha512.run = "564685c341571d012c0ba80b44470c257714cb03644791bb4d0dc771a4c8234aa980adac503caad9defb0a6230bbb65c6aa552989c25fe59d42b0e623077b538";
+  sha512.doc = "0ba8fe236f77ca7bb32fa7420a8c6dcbc1a493837c6fb78aa5f32fae80614c4e3a413aae9e691a33eccb747f297ae0c2e3dd3da9d483b15ed043aa21c0a01c74";
   hasRunfiles = true;
 };
 "gost" = {
   stripPrefix = 0;
-  sha512.run = "af42c1e2407b682057c55b2672a7238a9cf93728ed26b24dee16452f4ce1ad53f564118b49edd00fec7f423d405c2ea4ccb3d965e63942ee0d639d6731678b90";
-  sha512.doc = "69331bbaae1cfbf76dbbedaeb2112e7b62c61b3148f78c6f74333960a72458f0abc44891d61e7876a67e24e800eb42845219af4a8be894bee296a8793c53ee36";
-  sha512.source = "9ed231579a5c156edc92db74a2d224dbdc94faa0edda9a7be8a18771a3d6bdad00806adbe419e19a3752c02b59d6c78e24e2dd11af1a65b56041731292375f38";
+  sha512.run = "81509f8eeda503dbb62d696adebf15c7f5fccfbd34d23ca8d83a9e7e2fa328c98fc1acd1fd99061c260ace3895cadae8138f0350027c6e81a0b52fb2735a0cf0";
+  sha512.doc = "4a1a95d8647cc0e2b57f7815b4b06b7fd009e78a6aae701248f70a73825b394ff508a558a03386871d0a2ce22d43af81b677a2eeb3c2f2475a64a13d87493e51";
+  sha512.source = "4d54271026bc1490882e207c079a4caabb8fae9075fa39a2bab4673a4046a63d175e12182fd536d8c2e4bd049858add1739da987a4d99baf3d61a32fc0596687";
   hasRunfiles = true;
   version = "1.2i";
 };
 "gothic" = {
   stripPrefix = 0;
-  sha512.run = "b4c2f02b395652c1f763e78f7d6b32f5158c1bb4370566868b0aa8c25cd2ac3e5f33dc87f6a5938756be68f1ab95885d5763f00bbb3945cf9c26d66b35d1c026";
-  sha512.doc = "b5edfd7f2dfe64c72d629a6a69c11bb53bee222bd8f0051a99a0e4c8f7e7f1a9b2ca1a5198fe56e4976310281b8cf388020c1f4b73515d973a1ac7dc1830993e";
-  sha512.source = "aafb0b72a691d198459780d9a25f8debd3fb54ba10a40b2bb6224bdaed46fd800981b21eb085a07e4e838c8cee137a3fbadfaf61b8dc7bab8a3e7dfcfa90dc75";
+  sha512.run = "0c3fafd295fb087d3ace144df7253ff09fb3d79091dcd49003964a7ce57308cb4e86f3c3158a5e3d7e509e9958f77d5cc6da03fc41b585ec4ea397822ac29a7a";
+  sha512.doc = "8f2495f3f9c72e5a5b01e17e1a9f80bae3ded97b902765dd2fa9b43ff87769a9ac2b972aa660344bcc8e29af3824985c49639477ee96213c0ee7d9d411e8ebad";
+  sha512.source = "f6e600c736989ac81cde1fd51306ddb520e693b6a5ee8338c3413b5656aaacade8d4f1ca7aa316589c4d49fa8b96b598637792825b03ab0fe3efa4bb584067b2";
   hasRunfiles = true;
 };
 "gotoh" = {
   stripPrefix = 0;
-  sha512.run = "7371c8718ed8651fd13e69897e2b8f8c1fdace736bfd40a669b866ab849af17be81afb9c258a99ba0e7722b8c54a4077370c9e3501c14a22d2f2a49115e0e8ce";
-  sha512.doc = "6584b7e4c40ea9ffbf503f99e1e9fa4f76ab9d40bc1b96e9dedca11ddfdacb2565c10835900308f7d3e54d04ab07b346527a827e17d8a358852278e729570fe2";
-  sha512.source = "e166d20459d2e9ab63e2897f4fdf90e14deb3322f0937250fc07bf3d7349289e16185e8e986ebebbc6e68f9639e1c8cbbc63e8f4e7ae2d68961cf7c4172dd46f";
+  sha512.run = "478d51d4f8af849180d1e21ea21c6404f6eb1d13cd70d232f7002f62a588ed2de40e2950699c1bc0e5442069a957b05f3128430ef421311737cf55a6df868a12";
+  sha512.doc = "3aa9837e81bc59adaba5b1cc3908738451fefe2645bf1422e0c6b119e4ff94ad85a7c2ddbae798e1e1ced95a530ab95b2f7a5a92da827c9f6d9bdc574b5f3231";
+  sha512.source = "8ae972cc1f0095c442241e5340c3688021253d135167a89c67000c74a53418c48c3fa13b4b2007dbbf598abd1445ef06a9113a32a1fa37b0b8a5dca6c050ba5e";
   hasRunfiles = true;
   version = "1.1";
 };
 "grabbox" = {
   stripPrefix = 0;
-  sha512.run = "7786e67b645ae018d0a97e307a87e7c19530b7f486cf2f96901b7700f6f5e4067fc93f1f2295268799e9f5919f736a73af42abfd53cd76956e7d5d4f665b7e46";
-  sha512.doc = "925dc1492090dedf948685190959b7e20b7ad9fea7278803ff576be7963b78e42a1d5b66da3e2e955cf6b65a1664c6e4cd2db07d4d93ab57a217682537a026d5";
-  sha512.source = "9fa9a1aab8199c97551bd097e6afb0a24070a224a733c7dbf4d77e817c72549da555380749bc9661db479cd8404047028db769858ac50e0e523ac365ad148701";
+  sha512.run = "d56aedb2c60216ff18af9cc2f2bce0c646545becf973c7d791db5a17cf593e6677c3bca7134d9d663e6826c249e0ee737128ff68184200f1cf7c09c308508db3";
+  sha512.doc = "584d8fc20bb49a9486426eea0c7694461e904375bd9af4d0030394d65c1dae8d97451244decfe3c00a59ee7ba92a5e8b5fcfdbec6668cc1ee3652657b7b04330";
+  sha512.source = "a82cbee93e9dbc9a2485f13783275304d11920ea201458175dface98da3545b4266be0402f4d39fe3f9f0a0adfdc2210244982e09fed094b7487385b65bb0808";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "gradientframe" = {
   stripPrefix = 0;
-  sha512.run = "9fdb9eb50f689b1b4bcef0e96b002a5db0009b13f4d34d15206e5530bdfc8eda25f43a30a69c44008aff93463026d801a355fe5c3e02afd49c2b7b4f74b6171f";
-  sha512.doc = "fcd1920d85e51a96e17ffce5e0b14fb1ac864100ff8cb4af03d0bde2aca18c95569dd5b41279e074e86a031394a8f176d2686259c0c55c0b4cce31c7066e56ac";
-  sha512.source = "6ab758a0ecfc76b11e0c069684ec9acb0918e22ce9415dc7ac92c6114728e5550f2aacadecdd2b4dfa0f7551061bbc2446a9bb0e14b26bfd9de14e962843a55f";
+  sha512.run = "31612230548e2167c7f1d6a13029ecc202675d6ae3e681fd915d38aa116374214916155453616da51ef3dadab06955fcbfa9bc383f12b5008adaa8a60e24e6a1";
+  sha512.doc = "8b010be9e222609d13015176dee4bcc196d953caf7a8c1814e49f9e50325bc33362975338241bd5cef27d59516114113bd5ac81e3dcc6e89ea7f4d53465b3cff";
+  sha512.source = "7ac2eaaff343101c1e9501104e2be138bbbf85d009c2eff98f10876ee814762ac2198bc800ca43b9573e206241b9e3f196ab24e053078f78138415db8ed8fb51";
   hasRunfiles = true;
   version = "0.2";
 };
 "gradstudentresume" = {
   stripPrefix = 0;
-  sha512.run = "99236f32dbd505b6b408fdb8b0cc78a43c3907a6fa011453b4ca12b71a5b4d85269bb830bcb3b33f43d0f13bd3600736841cec17d848287bd4e401e38a7231a7";
-  sha512.doc = "828328262784d92e3a809992211772996bf92ef82e65d30a906d4d7c541ede3e7ab3c13e2e77237087fe4dd609e457ce035c5589037f1bb51df7a459d199b84f";
+  sha512.run = "b66b3b8f7cf16f17758e4dae3bcd45f6e6e5cbc0dcfd6fc42f8dbc08abb572f16b96d5de4ba634b27cd16a1c4177bc62644d3eb5ac6060e66d9ca6d3f5df4eee";
+  sha512.doc = "e7b166b87a5dce9941d6bd931dec91124a118ba127075aedbe70fc9fe415a8083911f90f094ddede551eef197baee9cfa4ab6ac65c8ae081cd8938f872ad7bb2";
   hasRunfiles = true;
 };
 "grafcet" = {
   stripPrefix = 0;
-  sha512.run = "51f50b30976c73069a380398658b504544a44c6e32c1497575700c2ae7a5cd31febc6b2e5e99c95ff9a939aced83c2ef496aadc9d8df3f22fe8ec62b70a5831b";
-  sha512.doc = "67a0105a95974e88f5a5b24a06c3831a1d69b03f870e1c0dda7972ac420f77d82ce81f9030afb83f404716689b08e3ac717a26ef0a70e66b29f07226fcf867a0";
+  sha512.run = "d322b1b45762c65232f6f66adcc12955d85d4bfddc08655cba8e11903f6403f2031a78d7e566f4d9b5eaf950aa8d2a53472038e204a1d18517c754c379c60bc6";
+  sha512.doc = "b02bfb612cd5fd85c1839307a016bfc4c3d472ddbd591d1318bd7c5fcca42cc1200da07f2105ec429768cb0f9270273425b01df1242e475946bd37658e692f41";
   hasRunfiles = true;
   version = "1.3.5";
 };
 "grant" = {
   stripPrefix = 0;
-  sha512.run = "97532f2d870189e325af363b3825955e76e11070ef524f662155c90a5342148a93b365e53627d2e0d7909fb45558a4e0cddaded8ee9d9398b2e516eae987cb82";
-  sha512.doc = "fba7a0d396f928cf5d7b6a295e7ba54c4d7168f0a120d01871703966b075b627e5e85ec95027aa1be7baf920f7a0f74219ddddb4d4620540a26466de21a5df6d";
-  sha512.source = "0eff24236e91e76e8b5918f5aec7d7cb8e8e76758f3f7c81e2b82349317c8d534fa9332cf67d50a2627b6c679e3e0964ba2cf5c82411eefd2d7529a9e005a1bd";
+  sha512.run = "849bb84949f2fc2f766556988eba540ed1a63ffe1d3a16279295cfcc772ab027dc1e9e5d55a9bf834c24e97a0bcdb04bdbfa653c71f99cf55ec3e18a83015a40";
+  sha512.doc = "bfadcd59264fe3d3a6914267cc9d26c5bd6f7aa2061160a6547b04f448daed041d2c15633a61a246ea7808b778ff32679249f4c68e15b84e8502a454a4cec1dc";
+  sha512.source = "183057279f539234df3f3354e0aa569679ec5a265a515dbac71aaf9cdb430d17804c001772a6ae69d7918f248d3d641c1f04740c5e9bc578dd65607cd3e4313a";
   hasRunfiles = true;
   version = "0.0.3";
 };
 "graph35" = {
   stripPrefix = 0;
-  sha512.run = "5026f47a57455bbd55bd87f4267b1ece00b7e1e7a8ac2b93cdf168198ca13aa1eef87335660d2ec7fe33a2408f1e12978adb615f81675ed8007e21daf7809d23";
-  sha512.doc = "64750ba4543e251661e5e054435588e1def17ce91a94bb5ecce74f621597bddcb3fd765bcc2662391c3adb603a89a419ee998d0f9a441806fb38b8a7e1b9945f";
-  sha512.source = "db4ade0d195e34245f0866ea37b3ab97beeb2b6b3dcdb8424d3a9b2dd26d9eb3fd8714bbd596bfd2eb2121c44adf45efaaf5a3841f1c746f1e031b8f118cfbf4";
+  sha512.run = "c9e2cb847614a7c21259b7b4e28ea1134d900049ca55da63990ac1f2c733e3b567bfae48de46b1e4b6b8faa9b4e0d4f9202bb00327ff33a899380dc3496214f1";
+  sha512.doc = "21a04b52c476b78142239e3db4165267b51ba596c2c7a95b175f323cf1e78b0bdcd324f55f817cfd8b2b6b7434200b060b51165e3468ee009d295eed752d1e88";
+  sha512.source = "4c2f073a22fea162e1c3347a74c60f680d5d2088143fd1e6634d4bf2884131c6c8a8c267531a04db705acf2bf2f756607d8164cf81659259f92ba600c7b22427";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "graphbox" = {
   stripPrefix = 0;
-  sha512.run = "fd3cf4ebc945d889d74d54571a158052e00799b9f973c2eed0aee7eb495a3311fb1465b9038103bc9bf6f9b5c0ea8b74c9ab36cebc1c9125f9b2f23fa513aaaf";
-  sha512.doc = "b43c56f85b7a4b1be4866b3d6c53b7c106e9285de03d4b9aea8f4871d32e391789c6912d65522bab3178b17577229016db64ce8b1c3dad788caa5ee2f6ad9f59";
-  sha512.source = "e94d59027803f55e87d05542f5165ab8a78973211cf43ca7d0fce348275e7b8b3556af92c9ca6dc741bbbef39bdf87b2a423549a3330be1a7dab94f22ea1c8f1";
+  sha512.run = "d78f870b4cd54f7c6819413fd8acf0e3e1fe9b3b44f3b68ff3a20ad51aa6fde69c52b336b57285db1f6d5465204beb8a1179f918a71922889297cf6925282d14";
+  sha512.doc = "342c9018116e80ebf3414358320df55e456581630e7e266ff868e6c624baec0b7209ad3895d3232cd0bf35a9677b8c3db800b7772606afa928ed3424ac16c71f";
+  sha512.source = "1e97e3a1a91d007309c091fde6f05a7c1b062b715ee1f35051b20ad5fa119ccd415fa3741cf0d5e4f2a090ee9acb090c06b5467294ca26ac8f25a11971ca7530";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphics" = {
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
-  sha512.run = "5f11bab21969a5ea2fd6419315ce75016147d6c2b19cde5fc62b14b2c4442df2078ea504484b8d55f9f9f9aa34955ad767775b80fd33d3aca2a959ab8e762ec3";
-  sha512.doc = "a1cca357a00fe2478db4409e34b89535c371416746f225a0392007e1d6b1798e74dc144b0dd2be4d3e80184993bcf8c0fee415810c61223c0c50801b829bcc3d";
-  sha512.source = "df668bc141aa225e2fc7449f0eebe2d415773338a78aaba2d0e84409b247f0f7dc5b5e70fda9b415b6babcccb138f22b12625457b61954c3e7791b8203264c5f";
+  sha512.run = "56507f63739bc8257e849d77f08fe2a4daf70ded39bb474d7da6dc6013ed6484fff7505fddacd445d6510848da6a955ab15e1752e5abe566fecb47419d4b9000";
+  sha512.doc = "c938e463d63715e7d5803608ef567d7dd58fdfed49acaad19c079c30239ef9d5738d2308b1178b9a77c06b472d91f1e42fc724c56bc34cda9885d6e7d1f3a899";
+  sha512.source = "057f7744323cf220bdebb07ff17f5f83882b3f0b35d48198bf1e7503d4f67b2c0db770c81d7ca21fbf7b7f7c38e8036520d8acc71f93e2652c8b92de2d08c3a8";
   hasRunfiles = true;
+  version = "2019-10-01_PL1";
 };
 "graphics-cfg" = {
   stripPrefix = 0;
-  sha512.run = "de5503498e2da72de1eb8c17e3e182a237dc08b821325a1cb99a291a119a68884d0ff5b9bc48401918a5574e020e59d7719f23588ee7df1a0a4c2e0f3afb64d1";
-  sha512.doc = "a8b6caf61ddfc74817b92124dc4ac77f652be325af9e6caf76b5f1f3e9b41b7c13ebda9cb7cde8afd4a227acbafd26d420fc819fe85d4a6d9583546baf3b1847";
+  sha512.run = "e1015d360b56f63f1b9790daf16e2101e6af995bd1e45288ea604ae94e20196cab22e7e54d318aa79fa386123032a928be70a57154d409321e04f03ecf97ab75";
+  sha512.doc = "dbcfdf635c2816f305205915119e1f6acba816c17b683622a8a32c361d75338376426b258c1fa3271abc1d7ad2a520ac85092a7b3bfbac6463106449bc906ae4";
   hasRunfiles = true;
 };
 "graphics-def" = {
   stripPrefix = 0;
-  sha512.run = "c38f88cb97cca4c9410fdc35933e6ebc4aa54863d38ab78e07797f88eeebe6a8ef6dba74e2ab92c49114d72b72d4889d4a9b56f51c8ba7402caa0b3bcf721b76";
-  sha512.doc = "6b98fc05aa919f65259a2b5fd659174cae036697b3b5c1fc4a446ebd861c0b641c7c4f6498d960191197aba270f242f282f13a86042771b69b7275f30ffe26a5";
+  sha512.run = "ce101b28d6a62698636e03bb1f79ab7450552d15603e1d8df416b2fb55d397b3d696152c05e84e12415790b7e634322eeb6266435b0d9ff13fdac28ab164cddf";
+  sha512.doc = "6c8d0cb49cfe1a5abf60a1473da509e34685c4ee2525a3d0e895b9513550842ed420d2bf6e949e8cbbaf543ad32e18fe1fd8434b16e46e2bcbd3ff7f50154e99";
   hasRunfiles = true;
 };
 "graphics-pln" = {
   stripPrefix = 0;
-  sha512.run = "c24212eb46857883081ddd7639be20850a68afa036b4c392108b8a06bdde15c147a77ab64421ca3513063d531e7805dfcc869b8adede5d32eed49494f52dbb4f";
-  sha512.doc = "56c8f8baf3623116758c9e624629c3ac5c8517668d6c96205517ad04f12f8419100277ba44241d475781d29b60bde40b7020f832091bd31e086884906a2b708c";
+  sha512.run = "fa45e825390e1a7db1bde443e24a73fd84ae45c1403391bd2d4c944820a3bedddf388a29998f92af7c3c22c895fc2580f827808e84ca1ba334bf5bdce38f37ff";
+  sha512.doc = "8df46cfbb8fd1a6c2b921030645f70795923fa21046dc209414fe3302f0c920cd47b432df22e0bd77574834dc67ee68fe4f307d79ccfdb95c1f8bcf0c6d5691c";
   hasRunfiles = true;
 };
 "graphicx-psmin" = {
   stripPrefix = 0;
-  sha512.run = "c8adbd518b130b11acf7e528166299caa5451b89332f79aa8b27e72243845f69736460c840d2fac7782c77ba4926f1fb6a97292ac312e2a44adc537f25676c63";
-  sha512.doc = "06a6703d35b86e9accad930e71977e6186406bb3b131ccb78fff8f583ad3a5239fbc07f5cc046f9a7059cd4ff1cad3b5ded60333a6d0f7c95369a8ce620173e8";
-  sha512.source = "e81b2dbdbcd61c896a89c8a9777fc9f0701a7051f8d97460701f26ebb9c824f112a5259d11c910ffbe45aaac52469b1454edecce74ce1d4e88a8d00421a84092";
+  sha512.run = "852b917dd2f4e4366516db9e7e22a6f34fecd1b69dddf687bd79b1dd995b1bb94c8372b85214e4d4c668a4a8d7d84a8c6e246a09e9d36937cec380c65a14c12f";
+  sha512.doc = "7b2872618992fa6363b8a5a4e1d72f51779372475e7b7bf8ec3c5b9b571e77c1d80be42f2958d7c89ee4c09ce87f7c3fb76533010b0266d5108cdb89a81c49f6";
+  sha512.source = "7916831178f04abfa1e9a87b993880cdaf678f567fd9bfe37a05529296c7b19ae9d1227711b7ecb829542aa49bbbe94db523ab1492e649304091a70e942ce9a6";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphicxbox" = {
   stripPrefix = 0;
-  sha512.run = "0e1e0e9fcbe56ed93bb87c8d29049e756ce21d71488084ebbf51c47ab16107ed213333da137eef8fc38e4431ee95dc02e66201977f1133babdf2b447e24bbe70";
-  sha512.doc = "39182c10a5a3c1ff44aabc7359f974a89d7a67f931156c6c0c10b10973c0fa7de3c4c5b558f3cdcba7fca092c0b318eb0cd99da0cacce3a5b826344c939b7882";
-  sha512.source = "0077fdffd487632502285409f2ff4c0addb85f607ebb1d5e3e909ef58f3c1b7ba67bcfe07f5cc2fe5b95ec1f2e3b9d5d7ff2f9c66d48a5fa8a73c4cec13e795d";
+  sha512.run = "032168dcdd5eab142cd6bf24eaccc3fc6482e3eba7e0fd2600322b4a6f2bcb1ceb8e30a64dd811b500af37c94e7de3ec25c60c437ba9afa7ba4d8a9af8b79a19";
+  sha512.doc = "6fd432f48c05c486963b8058025dda2a65b5cfa87b6ae03581009dcdeafd26396bf16e04fecd0e68a896a99d5c3e09e43902bcfd3f58fa9a9b393cf64406e160";
+  sha512.source = "a563a3c1e81496da30aca7256b5b2afc57d9df9e9aab2b6f5bf908691961f736a616f7c5f86647b94a6dcf36d3732bd68b75f5a4ba7d7d049bb67789ec48449a";
   hasRunfiles = true;
   version = "1.0";
 };
 "graphicxpsd" = {
   stripPrefix = 0;
-  sha512.run = "616808aa01900a8712fa96626864a6e423359de5f181f8bac4556dad99f12a147a8a8152339c6061cc90bd20ba5e2db6afa8a9431b17c1fd9058eb04948fab3b";
-  sha512.doc = "7a9d1a5c9a9ee43985a0fc3c826bc7b93024ca75be02e5b155d283faabe4ace3c1946f9ffca85ca0e98f6b05fd6972e1c0ab9210aeab8da982e0c8da64eefa46";
+  sha512.run = "b9a6cd054b8b2bf80372d1e4b7d8a29e1d0c6d0bf0b3d67d961e37ddb433a73678fbf99cc6f2b00d94e6111871b0b267b8541762b52100ee7ead3ebaa6257543";
+  sha512.doc = "61d86c6eacc90a74a349eb52bbc7ababf6aa7dbd881a22ab39e06c0abdc6b8498cca525c431b2057245b294096a01a22d40c9dadbea91565b660f59c7b08120e";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphviz" = {
   stripPrefix = 0;
-  sha512.run = "01188af4a90b3906959c8c86f4da24e74fa230bff75d4a21ba06f0524b1a195e5640c992b77a97575ecb0b21c6236fccd8ec4cbbfcd3d5fa1675157f5f305402";
-  sha512.doc = "298c96bb4c07dcb085111d5eafe027b61e1d6abbcf26efc5888fa2bdc4bafc9380f838eb9065d8ccc431b46f0f1870f50cf00de59f0e6f3ccfb35db2b06a9c20";
-  sha512.source = "cdb6a5d2ba774ac28412cb465804dd07c18e2282efdd7ef4721a1f48cacc22d55068e32188d505dcdf28d5c34c70d3f6026c1b8637378274d8e04533578e379b";
+  sha512.run = "9065f2316f423697c8f815ddcf91254f22e44d89964196d971c3a42192bb1e20f9152c5a98375060daffbb295f8885899d2800728de31ecf60e1a25cf7bce31e";
+  sha512.doc = "688f17db6771785753797edccd141470517dbb2ee875e2a70769754bbd314cf8af46b3dd89d5c340e7da7d81d86895894baa2b9e8facc0a54ad91cd1a3947722";
+  sha512.source = "c3e4fc091b5b64924e886435667049ec2dbf91c20fd7d1678f40990e66aa9d94fd7b40b30dd359be0fd1fba0e169b29058337ede8232189dad3dab7bb34af869";
   hasRunfiles = true;
   version = "0.94";
 };
 "grayhints" = {
   stripPrefix = 0;
-  sha512.run = "38a62008005bc4815eb6c887d9802133b6a0ee11d6b90aa11471b47dbee6a373705e4ed882cece927e2338502fbb8098632a74f7a462c443ff29791e88350427";
-  sha512.doc = "79f9cc7c1c142f338c929b21a33f3b3b7b446b25a85a1e43d07c978c348048d11c506ba227d8be6df73b93bf0d732c070ca1055bd049f9582c790dd7fe51c66a";
-  sha512.source = "61ed1049a4314125864ca06ee8c6f58a4cb1d1eede93733f9f59020d6e39858d71a6fc0ff97892b5551089351cf417a3505c8881a74559e1a1fc65d24bd20db6";
+  sha512.run = "45d0736b5b600aa3ae524e0ff2471846cf48105464710fc7bb7f8d27326275d1accc63b5a0726c5d43e5af487207eba105e1d5e4f59913a1b27d33e950122574";
+  sha512.doc = "85a6b8e44ec045ec00b7526f034e5b15d71fc8e439bfbbd43e1c8f85d4400318d8dfeee4bece211705c351e2b5afc9ddc89073fa14c1d90756bdf458d7b5b100";
+  sha512.source = "7342b60e1957297f41970fa2af45a8736f438e6560e4cb6bd279516fa40ca283d7cd60e5faad2959aba12958c0fa70a95d94bb9c48e7ad47956bbc646af82173";
   hasRunfiles = true;
 };
 "greek-fontenc" = {
   stripPrefix = 0;
-  sha512.run = "ada072429ca788a4186e31d9fff6ae7907ec220dc485d646ab5de7ee345775c3e9dde31c92f6f3ac5d3378930ba596e25457ce84ccaa3fffc2833b7260489528";
-  sha512.doc = "ca726404f67bfa7c6c010c2d11b695e7695bb33e5f594a43ca62fe84b40ce1abd5f45756bd22e36c990bf88df6929f22450fb24b70d81671dd07c2f89fbcd407";
+  sha512.run = "11b9fa2b314fcb5ba800ba800be4b88935ad2f56f4fee0209d3ca5dae9bb120a9267bca723195a9945535e24f4cb883b08ef335c1db1061773e1ea91a42ec132";
+  sha512.doc = "3fd4d1459679fe228006957bc194a2603b3064dee8312e5dbe52bad517192ed58fdfdbcb82477a30fa80ded661d97529aff463ca468c8e9d72073a75ed58f958";
   hasRunfiles = true;
-  version = "0.13.2";
+  version = "0.13.4";
 };
 "greek-inputenc" = {
   stripPrefix = 0;
-  sha512.run = "685e9df2ec95a7de4a1ee1fcf27b5cb7eec1d6ed12185ea4df1d966272a5db1ba542c7f882e1999146554304a5cf85cfe4ead1af9884d0ef70097db808d0fea8";
-  sha512.doc = "6c4e1dc8dec7dc622ff15a9bf24e03c15870c3d3563acc63101f6c73c294e421d809146b2df57c602ffb7431bd823f9a7ef51cf091049c1adffffccfe5408d47";
+  sha512.run = "1b3ad85dba5955a9dfb17d44a41db3e39c0d33920e1c36157e77803c4b2e402c6f7231c0628ad549c07ce7914f4a05c7da9369950b406270233d28f1a5adac55";
+  sha512.doc = "42cab0f26d944da70ec3397946bf217155534f0def949f2a0fdeaf8c0dc30a5046447c5daa1d8e2d4fa4235cbd29fef2d8e6fa0c4c440c1ea58d1f2c4c2ab81d";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7";
 };
 "greekdates" = {
   stripPrefix = 0;
-  sha512.run = "721a81513a0b3ab8f2405d2f78413d05a13cea26aabc2ca0e9dba50cddb608f2fb45cc52cf63e71cca1abad9ed6eba1aa05bd5d7619a6df5988380b2e56b5481";
-  sha512.doc = "4c815ce71a13b2e67c06b533d7f0e6450f011dd3d6cd591653fe1921ad490f085aca51a509689fa36f72793c3f3decc41c45d77c41ee7cdb8150e07d7fac8351";
-  sha512.source = "9ac531d4dbcda702fc7d159d655693d519d8d3d4fcb0d98ad13d88b9fd9aac60b4bb4269c183a1bceeafec35e211c61e9c6643ff119f8b63d3f44bbcab8e7937";
+  sha512.run = "7f350b4db9578f9020b28bc217e508574b697749c1d2e10c9de9c6499e26605da8334583ea7fb56d74bae77bc30e5835653014f5f8f594d3f35d04478ccffa9c";
+  sha512.doc = "979353f7cdeb127e12388e1eeea4903a929d911f6f8fd42cd814b6cbea09a64d0ab9c8118968bf218330dfae64f9147621d23d2955fb85291f484d0b5eb92a00";
+  sha512.source = "16a5fe04bd6a598a09c7f326f6848074782e8801d0723366e5ae2b1ae51580319210c64f5e7dbae7eca5cfe3573b0f24d689c802d9594d18dc7c8f4126d9ff49";
   hasRunfiles = true;
   version = "1.0";
 };
 "greektex" = {
   stripPrefix = 0;
-  sha512.run = "b2b76c3ab4240c67415b6d45bfb8e77e36038650b91af5290de45ed8c8ad2343158c21bcf7e70bcb5e80783ec0db41d2888959ff36b3ee74299ee24e2d047d96";
-  sha512.doc = "3e010611f618a222ba9b53c57c1d62d5732903c3462de4f2c149914ba1d43949e16eb1a0211ac04f84c8f05244ad38fb396e04b7f32bd4fb364b51121b2aaa50";
+  sha512.run = "d7aeb9640061341ed39a71f7f69036f892bbe60b9db2236660e163b42fede81d6be58627b0163d3a183c120c9c8fa54f91a1a036ed9e50d2a72d5eac7f8a79a5";
+  sha512.doc = "b58305d403a58a60ac0cd6ebb60afe3058430eae15774895e03e41b331824673c128c5f06b583525e2311dd8ee5166549ea831e756e8c934c73ae911a0adbaa7";
   hasRunfiles = true;
 };
 "greektonoi" = {
   stripPrefix = 0;
-  sha512.run = "b8031533ea50ba9ee2f2c9291f81f63858e0c2a76f3c893cf236c3ec0f0fc800f6a4d520754f1f5d1648fc5bd63ad96e979ba8e34863705efb97a151ca2ca071";
-  sha512.doc = "727930dee43368f08e83df6af725cc920bd8955db2fd7562c2694f92f21486de670225ed535ee385e0ee9e4615683b74bbb537b3e9ad9398e5cdb67a8a7e71e1";
+  sha512.run = "a19dd42de4bfdc3c068169bbf32c55fbd76135a8138d41e0726b421d3cd5e20483f77d7b78f85e54571381f780568f1fa1ebc57d23ca460b33e4caa256c4894a";
+  sha512.doc = "94da0bcac7b513fb9f720c0bc6d7ca8d822956b1517a95335b415e477d3144063bbff65d57978421b6b9611c6b4a866701762cbb2ab09351fe6c5d02e4b02f39";
   hasRunfiles = true;
 };
 "greenpoint" = {
   stripPrefix = 0;
-  sha512.run = "c621456c62481a8815c6b9072fc9c1286912501f4a0280b9191dc8c2e2d377e7066f0dcd566396b61dbf81398fa586698b97a69e6937b2df31c2757dc76b675c";
-  sha512.doc = "bb66340a341f46b1df0437269624f900bc9fa22e076eba9c84d7634e18e3d96edf59f9d4951e1dcb5860385aaef78d895d2f381131df2b88bd9341ecb3cee6ba";
+  sha512.run = "2ab6b0a9d12c12936362e9e1ff387c393bcd2e9769357dbc74a5d9bcbbe027424f5d58d85d608c2c519d615f01e6e809f6192280c8c60aa53fb8d96dcbdeb8dc";
+  sha512.doc = "84143440a421999f0a59461652be21d49d8ace66fd3b8d9d89132c6f06f67ef4b571522d6ed54d87f614a15dceb99cdf4c3caecb54eed9a4bbf49401de20ada5";
   hasRunfiles = true;
 };
 "gregoriotex" = {
-  sha512.run = "512797dfa961e12e38f46c1d2d1300d8d84f628e52cca51e3d91cce08ee5be697b495fde415810e63b51a09f5588ed306c0fd9a821dc22ed1ff379af70ea1ff8";
-  sha512.doc = "4d7d71e538da4f69094d06c3ea06bc4ce7f70391f2775fbe13aea23ae297a7ccbfec88fe7412a37dfbdebcae07ab92d1c55e51ed71c4772992a3ae76af2c3e15";
+  sha512.run = "b27e105c26022f7a9d04d4990f83ed6a73cb92fcfde1698c4be81faedfbfd67730d4957db1ce5b865820cf714072c842b85fc698dfe6cda0bdba100b3d4d60fb";
+  sha512.doc = "66e5170d2084c01b2a9cff2ec344322e1b76942d7424ca75306e7163ffa592806240ae0f1dab176053753dc3dcd2ea7f0db9aa9afd5d7dca8200e593b2158193";
   hasRunfiles = true;
-  version = "5.1.1";
+  version = "5.2.1";
 };
 "grfpaste" = {
   stripPrefix = 0;
-  sha512.run = "431b0ea9df21d22ff4c8ed26a3b20e229d79e6c8873f445fab65dc748e79c1fb45a95a1c13ff05af68bb68989984642c1d024451e826f82a26e289b53ccd8df7";
-  sha512.doc = "a0bfed3ba3e24e05da8ca49be0561d4180e7cd33a61feba9e046e4271936c622682ba819e6f6a2222fb994735aafee45ce9c1cdc371acf6f23b4aac7eb870414";
+  sha512.run = "e7c28c38a20e01b05c5839dc7d011ef5769b3344fd4321f68e1189a830a90e6ccf9edd596e248489a0a578b2aa4e5e5f3bd1ec21c76b3dba86a91d5e431d0617";
+  sha512.doc = "63719b8f7904baccddc9e68d1fc7d609453b2eb9feeee95bb077b82d1345c40db7a92c649c3d9abae6b9c2e19090163b6a227418f4d9d4d91b1e8b1c0438005d";
   hasRunfiles = true;
   version = "0.2";
 };
 "grid" = {
   stripPrefix = 0;
-  sha512.run = "004e211b0129672ca702afb61ba257ad547d61a74aa9a5bae1cccd2f5dd9aa37896dc774adace999800d510ef2a701cb01e6d841dbb11ce0293eb879fb6d1b80";
-  sha512.doc = "05ce56acbd728ad63ce4e6372bdda99bd060c18894373923cdc8084ee56b2ec4c9bd267471e5dfd139cdba3525d8c145c71554bf8eac353fbcc105d9554f6331";
-  sha512.source = "94f3ce897c7947e8bebf4bfd9e76936d0da764934048f277be389a35ac34d2f7b3d6ca38efe01a53ad755c540ab590acf9b35f72f5720b01a26e449968b6dc17";
+  sha512.run = "c8a6c0d6ac1f6043411d5484c87877a939d891aa3bbaef31248f8dc04f39bfc5f7f13344ab2997724682f228f180025bc5afcba8712ee95de983d7182785a8fd";
+  sha512.doc = "9fa0fbf1dfd0fd334c9dd57f50e6d1f893a222bda6402345c70240fce48ea07065fa25ce890fda77983dcb537c8b3b4740cea71ed6a6b4b94275f1e2bd8ea983";
+  sha512.source = "01b7c6dc356487d9e1d9b210828bdb6af50382a59d65b85c8246defe963ada4ee0796a93793d90d25c37ea9c86432d9c05c3eb05598c72410fc2f865e1e69836";
   hasRunfiles = true;
   version = "1.0";
 };
 "grid-system" = {
   stripPrefix = 0;
-  sha512.run = "976f5af3d430a8cc60883c7e6d3a1f196b24cbea14ff1ad003e480b00320c2f77c21ba4a0cb6342eb597ed3ee3678df2fe06697c0936eb8005700ad576d0d93c";
-  sha512.doc = "2de86d7c39c887286cb8d421e1b7a511815f55450f5b27a1f5abbe59b79de7e6dfb09376555af39a580816cbaf5423102d866805b8af56601319e96569e2f5e9";
+  sha512.run = "b9846f467854538c488ae444645fcfb962c1aece34e3847dc3dfdd4a2aadf8339840c09243448922ce184f6211bb3b95c6fe9675b5bae0e3b3756b2787e7e87b";
+  sha512.doc = "659b426e99db9152c64f37a4c977176ce1a24c324465399f3e481cffef505044aa820f1a445a79c68f069702c07082d3d5c73c5fa762068a44acdc21221cce68";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "gridset" = {
   stripPrefix = 0;
-  sha512.run = "b64151aaabf19e50c5e268874f0c4325da51911d59f3e04e3a1c4f07831ebf136887315b70fb7117ced4e9665ae9aec1a8a91edbfd25454e8981dc4c664793da";
-  sha512.doc = "41de2b8ef64e58e2aa41819a98d913703566940a04dbb9f3936f97c72f9c76b5f5764bbf4c65c68ba9791fcbe8c7c79c16d1027295d66fc51c5eb3e2ef3c4126";
-  sha512.source = "8224407a2a12b7cb3cf432d65c4179e82f44d95f90784fc869187effc0fd92c06142317a99e7a78afd71f576b97bbd1a63247e93584934ef2c2cf55a4771ed24";
+  sha512.run = "e9e9fbb2dcec8932e96655886ab9c4c19ed3e986f033feac7d8e64241fcb41f8e2be5e5bbb47032816626580bbe77611dabe24fba34b43ad53f3a592062b826a";
+  sha512.doc = "b9c0001a5d89d592e9d176f2bf91cdd5fc6363de32e21621b73f9d7c392928f0e39ef4eb17c589469e59e2e865b05e33233d237afd1266f0477ed3d8f3c1c66c";
+  sha512.source = "bedb06496d04f10395ba999f91bb49c4ad6c19d26f3c8de3b1492268fc58dcde72d8c03bea6d646ef75ef65dd843b4459af453ca673634fce164599ac014d50a";
   hasRunfiles = true;
   version = "0.1";
 };
 "gridslides" = {
   stripPrefix = 0;
-  sha512.run = "dca3a5375d3fba8711f470773522e29ce1555d5be72d06377265edec7b75d2b4d9158222286b5f5cc3638c41c39860893cada58c77f6caa75b6626d2cd42c2a3";
-  sha512.doc = "b272d57343c179c281f323077bcccd93c76f146d8b15a9d6fd470c55c551150bb66610574aeaf670091551a0df0cdc57b2b25b1dee846fb42948646c22ccdfeb";
+  sha512.run = "222ba30817fdd016d80210e25300c925fc45f5a0e5eb02d569f8e709ba578a6ac12aa3f2ed16e5bd6fea3e4b4ffd2356a046a27445e47f79bee9be93ca5aff96";
+  sha512.doc = "6d8a2f2a43b7e0b6232aabb78b25bbbb2f256e9afd54c704b818958496f7ea7b38a2741a60b3d2f3f7745431c302a7106ee015fc18d5c50349ad3cce375789ff";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "grotesq" = {
   stripPrefix = 0;
-  sha512.run = "cf22c79ceb07272d414bb6d761e6709dc32705a0ee080ce08c75e95d4eaf8499fe2a579bc85602b4ddf04475914c7d23954f2c80398ea460be41e17cde0ebe06";
-  sha512.doc = "8078639cc0c63f629049c73db9c323ab0cdcbab8a4944a2efe90732922e6e09aae1a322542f0e7521efc39afa7ad08cdcca7eff857179d61098e2aaf6f9f3e14";
+  sha512.run = "30d0d52c98f44945ed40f45f1e73ed60e6b98a8a74dbf57cdae5c2d400ef613f8bed2b89b3b6afbf7b98e449738f637911dc1becf0c0dd33c21a23ecac9a9767";
+  sha512.doc = "d41ae946f315d87b483a03d8b5a1034706f5bda765c69fa692f117b79bd5046b409e42c7b17577ee086ec98795e8a93acd761e30815c6083520b4bd244c33cd5";
   hasRunfiles = true;
 };
 "grundgesetze" = {
   stripPrefix = 0;
-  sha512.run = "077506c3c4ce6be1bc1a1851909f26ad4044b5186db4371f1a37cc5e635c4c7824d16831490809963fd815ccececca5eb8e382dc28111a1223bc4a2621ea88ae";
-  sha512.doc = "b681dbfb17ef5858c47c3eab38b50f611974773e8dcc68ba7ef075ecd0cbd0b56a99987f77d895a4938fa56e53f3df4ce58cb5acd4c5414d6051a260e340deed";
-  sha512.source = "a0f8eaf53a390d72f0955ba4b915559e6b41728c7176725186dc30e83f389161ba3558638d8ea8ed01e6a14d8898b743d6bc457bcb254663fc5d86f1c7b6757f";
+  sha512.run = "2fb5c03a405e29d27c929fd3970af300df8134efc584a52dd088adb6e0678979af7c6302cffc590b2471a66e13399f628d257f298f1ffb9689d8aa1d268b9438";
+  sha512.doc = "cdf228d38f34810d543b0e5135acb75a8ab12de7b706bda79f2abe9b6cdcf1e7c7ccd3f0ddb7cc4cc2560f5fb06c06eacdebcf06af89500953812f2e7a0c8285";
+  sha512.source = "7cd35484acde51219cff50fa78fc202c03ddc761fc2151bca789454e0aa0a2ea4a8088a5c6b9cbe468707f9efcde661c2d4c5357efc161d8454b4749870358e3";
   hasRunfiles = true;
   version = "1.02";
 };
 "gsemthesis" = {
   stripPrefix = 0;
-  sha512.run = "3d90719beeabe2e7bec382761f83b7c34e70545947b175d1b5cf1cf5f834b5a0cf4f4951bb3def70df8138b2d62cf6a725859b22f80c08cab0db9d3badc379a3";
-  sha512.doc = "875fd5a5ebdc26ae92d5e304c61aa1f34e8049e648d29245062700c529667d2d6547e1a5407d200c781c07e19664c0428cbd4da743f8d9a610b3203462cd324c";
-  sha512.source = "ff03aba0135b33905ef4649f58ca1d92da0e5c88a537cc95233e8f85fe4380eb2680e88a9018c3ec7b79c8124a6f734ee1879937fac8e6110e99df82cc212875";
+  sha512.run = "7debd75f882855b45665937669a3869a9268d2184b22da3d344a4a6182577aa8bb440a6f4e48123d359c23b630b61016331cad94f4a08acc3295dcfd722c40ea";
+  sha512.doc = "41ecef19c29f63970dbee2242fcdf612b7619a6930002d8be03f4116f3397a619951f2f19a79f0e3772f17005847ea5a6a20a91b6ba9dc3529fc4e84dbf7833d";
+  sha512.source = "757fad4bcc2bac03acfcbcf5dea53c30e7902cb0a53dc8116fde2b28ca9f85861b08f19a296096253a4e21e1d3513faca3e0f206f9f0e22e3699f32e0a5edfe1";
   hasRunfiles = true;
   version = "0.9.4";
 };
 "gsftopk" = {
-  sha512.run = "d60ff1257c2f00d12173593648b3e1d7f9c9ea043ef16b5486a039083f9b74e6129d48a71efbdc8f1f0a7adf74ac59e13c971c96e6d97cc7c8cf4cc0093be61a";
-  sha512.doc = "e3ef7876b48c4ea9afa5dda8a72ecbd83cf32600eac87890e44c42e77557c05e386f96cfcd00ba31e527deabdb41c84b22b5b297d0ac08dd9121ac3b9b724efd";
+  sha512.run = "d05802963d499c4dc0979a58bfb56a1c04e006b25b7eac4cdeb7659ac6f31a0380e476e933586f4169846f88d727742ae5494cdbcb29995439a4cca5be4c7332";
+  sha512.doc = "7d9fc4dc5c3b4cbc05939332e7286be712a51f74b408df2e6cd9f1c52f81b01104e4f41074c55f74ecd003276f2b9fa2285e875a27c20e16936e78ffedc6a4f5";
   hasRunfiles = true;
   version = "1.19.2";
 };
 "gtl" = {
   stripPrefix = 0;
-  sha512.run = "90d77a7d25387ccf67186865d25d30f8d542b8e05c0df6fd7f5bfcb4d5eaed02bfb1405a1e0563c089e96bb78c9695ef70d9d49afd152a9a8b1edc62933a0fe2";
-  sha512.doc = "53081ecd32dfbcd7c6b49cbf27e3f44e15070d55e5224661bb0ecb3827d9d66db65c008e425f361a539511799d5daa8e8fa4c5c6b910c7860594de0ac274d3c5";
-  sha512.source = "a9d550c81304af2b972c50876271fcc6ec00ae373f58a6e0ccd87781510f77c661ce8978055a17179e1e1a04fd079a82adcee54de515af61b9ef35bb47c5b83c";
+  sha512.run = "cd1c08d092b11423d77a87a5fd7cf4f62290aebcfd6a99b12dca957e075d0b26cc3c482b45e5083916bee3bb6aff91940df375ca4b1dbcbd9fc37a31d8709aeb";
+  sha512.doc = "2f41bb930e46a95d5c7acb07153e5d874724ac009b2741f6f2e62a9b56165b5e2cf06cf8c89cd9c1fc42a1a93babf6761d0a48b418ddc0a0f5d38e9c2f31f175";
+  sha512.source = "5b5d004fbd3dafa14102774a3bf57867df1cf9463630a7912d49303aa9daa2c147733badeee3f628c0d7c2c9b8081131ac39f195f6dfe97d659a945702b7eae2";
   hasRunfiles = true;
   version = "0.5";
 };
 "gtrcrd" = {
   stripPrefix = 0;
-  sha512.run = "632759fc4cf26e729b5f15c40d973f9b1cad67ceb6e8d721ce1c5d6533bf8a820a7f66e3eafaa3b390ffaf10473edd05f91cc667e1bf36bac1f817fad57ad1a1";
-  sha512.doc = "c371aae1901c087f2fec07bffc5c447964fbdf062160f47aaf84a492efccbc5b2dfb1430134c25492774aff21252a668e3b39ab9d909ebb24d0b3b8e00de29e7";
+  sha512.run = "dabadc0fba92f6da23830069e533e8d4fb234bb679aa355382c03bd3ac13924328ea8fcece3186f36d33b7d7f6cceaebb23f1158b855673160f183991e880796";
+  sha512.doc = "d8e715d1c4d9c7ebb0c34c690a82e338733501012ad19cd9e2c52e6b39dff352a4e042bdc5f54e63a03a38eb9c76b5aed2ec3afae88ccd63f56663ada32e828b";
   hasRunfiles = true;
   version = "1.1";
 };
 "gtrlib-largetrees" = {
   stripPrefix = 0;
-  sha512.run = "8e030581ddcfa01d93711d96ac26e228b5a5432432e03b02430e42abdd47368eae26b6a99ee2ca64bbb554af977f55411ddb2aa03dbf283d3d815d9c746bf451";
-  sha512.doc = "03b07bf6a25e5752dd762bd530560a4655f2fce938e995ff559bef47b39c4bc87402f2593b02097f15b4b68ff77f8e313665258fcf4a8ce41153d0fb29af8aff";
-  sha512.source = "3e945ed75e985507d8103cb8954ffd34b4b43725a2baa6ad9a3c42b633d58b062a1f0d0162ea505f9a4f800368b0066f76e2f2896f4c673106df8c4bf57d4c8b";
+  sha512.run = "320b5993b676d803b235d0a10cfbcdde966c3e9415f164da6f45dbd2f6f201750b84cf9dd8ce5383afd92c72acd35aa8a44d0c6518e359615b5b2009e772bc6a";
+  sha512.doc = "6558466d513a94cc98e5fe97d5e3bc89f518128dcfe411e27d0af171716545557096a6cdb103511157f0cd93540ea784f97d688ba271d9b2f1918f11608bb437";
+  sha512.source = "258780013cefe87f8fed74b0e3251f64da8fe700b13f45dcdf20e9d9215a5b7b74e931bdc1da944e70b5a6c9d87516eb2618546994b5b45193112fa9af74cac3";
   hasRunfiles = true;
   version = "1.2b";
 };
 "gu" = {
   stripPrefix = 0;
-  sha512.run = "28941c3b24e96e01931220f2f5e7962770e373005db8c58f70b880ff0a0a2cd4da95b0a902de5aa3b9ad3ccac4086722d8d00240fec27c3d2ab45d3fe781bf91";
-  sha512.doc = "fba0d6976e5e55eb1254aa281fd301806717fd5f99e8077d5e5874041e800e2e428e99083267ab618f0bdbb8e07ac048ae79a29ca375859717c1fa83247a5eda";
+  sha512.run = "243eb6ca0af62518d60134a8fa66f91ab05e39c96fa9c0ebeb2232d27f46679da0a634b64273608028bef7f80bfaaf049dcd9f0cd935d5f66b0d5054b2d21a20";
+  sha512.doc = "151f9765d6da2312a10523ffca06cb4e0529d4ebf8189e9ddc00f86510c9cd13be9a04e47b85dc8cd815461c17f7e4b8be9604a1a605c86d7228d1113f985a23";
   hasRunfiles = true;
 };
-"guide-latex-fr" = {
-  stripPrefix = 0;
-  sha512.run = "3ae4493b2f91b3c834d2d155601a3fd35b7e5ed4b4991c67399fc77adfb138f5b8f6adebf7d6f5962cfdbcfc8d737be503ccc347a859bd3024c70371a0350ee2";
-  sha512.doc = "b8d3fe804e22d181de937157159e5ad9940baa0e9db61eea05b31bfcea4cd89469dd8ec60cfec03c7a416417d9b783607932631b8a7b5c2c3448659d1c712c8e";
-  version = "3.0";
-};
 "guide-to-latex" = {
   stripPrefix = 0;
-  sha512.run = "415a26bb9a3811f6bcfacd5f3a801045c5ac86c7cae439ebbb184523f328d239145551520b3f45ab6d9c681417fd7e2b84634da097775deb643e594d3c0d3be0";
-  sha512.doc = "2d9d18cfbe4e961c36f8d5384908b0b802f5ad8db1ad6070319778d79fdb52e5fbfb8555e1d6172f8cbbb26a051c38d1f40eed4011aa943c106c8b5cd61104cc";
+  sha512.run = "cc569e242b42361e6506144257db1109f1adee52915f361ed330699edea1895b78ac64488ae8b9e2224bd3baab01515be86486113afc1ed9b072a400ca736695";
+  sha512.doc = "bba47b9a9e5223e558244029e258835a865b90824c7069287f0c996a36c4fb78d21e62e88e52ea008dbc573e7a4ea34843a646eab11d8377a5167724286c397e";
 };
 "guitar" = {
   stripPrefix = 0;
-  sha512.run = "c5a72458a7541542341d5abb6ea1f019a3027c447e94f47635ded971dfe8d27f70ae00f928650dbe1f22719db59c935a5ab47f7e2e67f5dc6c562798d6a20fcc";
-  sha512.doc = "0e948da10d5a7ad2b5be2bafc07b5d4793909350d9bb91af609e29e2742394ee69e75a6fc35ed44e78942bdda4d819dc1c6c0ad1bcb05198a21509d560cecbd4";
-  sha512.source = "e2c830562fcbdf4766819df5f02efea556d06e3251cda1be293c2c666e780ae5ea705cef33c26d3651836d2e90d4572178b7ef0ce3fedc8a32a2d0bc7cb73edc";
+  sha512.run = "fed7be24d0bff6d2a0022374e4cbb60cda508b0f99a5a96d59060247aad561c1124728f00a6d0a51b3b22f4490c6153df740a5e9d8106da23c85bb18db385195";
+  sha512.doc = "4a2012e693257c2bdb4daf46a2402882caf0c8efbc65bd6679c9eb11440ae75f09d31369839f84312bd1028207d8aa23a745847be1e762dea977ecd7f73b4a87";
+  sha512.source = "26b552a91240900b54a3266f26e9f439c46315bb9558d95ae5b27f518a7f5ffdcc1990a4ef676e9186b5492d4a66826754c4d34e13e82b9bd912ff74d14cd185";
   hasRunfiles = true;
   version = "1.6";
 };
 "guitarchordschemes" = {
   stripPrefix = 0;
-  sha512.run = "488e38d6b68be45780e76053bb90f86c80ee12865d81a738796316e87c0a4b28dc4f3db295bbef276bd17bf9f085d192a32aa5ebf3321f9c27c85d4662dafe38";
-  sha512.doc = "b2e00eb51020c0e9df0d6fd1c71284dd62fa8bdf51c03d1cedc463d4aaa645258a9bb12299e8b6671992a7dbd537734ed5fbb3157612fab21af2f28d6ea29cdf";
+  sha512.run = "3d4506825043357708cb5fcfee6ba7d6cc42fdcbdbaa772628bbcc89381afe40c58bebe9ad01343b96f3535c80c217bac5b85d5079d1e83a42bacfec995bbfa5";
+  sha512.doc = "ae3e21f74e66ad70a60403c8e9a06e747b770af3e586ee580686095fce8b405801e9c4d1bd59cf429defff61fb087974ce305c5fade387d5be10fe47be46e6bc";
   hasRunfiles = true;
   version = "0.7";
 };
 "guitartabs" = {
   stripPrefix = 0;
-  sha512.run = "13c55fbafdd504a539e7f3626279bd84331c5be308c1698b5a393d7cc6945f9b15172eea3867d79a7ef3b54dbc083c08ef7820c8f6ba3987a578ccfa3136c6e7";
-  sha512.doc = "f9c2c45571ae4fa9d9525222c692e99918e96594987d195a26c1959143be2cfce02feeca754dbb033fea95063f5d0ead6d39797402c690b35534fea1640ac334";
+  sha512.run = "a4866683cb639b63d455f40da2ef58ee4c69d0e29e5071437a07922a0a45598677557ce609905dd8fc5c3e40a98bceb9a753cf4506342585e6cc2c37fa591271";
+  sha512.doc = "ef5f516db586d1473d949f44a2eb9fb307b84ea5a7dcc3c9419298203b41c54ff4dad75d3b24cf30fbc24f4c60ad4b79b9c1fd58804667732a66b0ccb52cc3b4";
   hasRunfiles = true;
 };
 "guitlogo" = {
   stripPrefix = 0;
-  sha512.run = "9c8cd064bcd3d525cd2d95ca9a0ffb551abac21b9116bcc0471b94b595fe9299cbba005a5c07a54b964fa6762d0aff8b05c093c966a817bad6821af6597212bd";
-  sha512.doc = "206b46aecb911289c513d8a1c8d5e43e787e04b1be07774c68c6630acd2b135156c0fa85306c3255eaa4115b31b14f68954b077e91f533491858d044d22f11e9";
-  sha512.source = "0c18e36ca4bcb7ab908fab9d4ff60a3c1ff00bad125917b7553c43b5dc60f2c6031e9db09df34058ec9e95d55448aefaf858dfb1c7b0eb8547cb8fe831e65515";
+  sha512.run = "c4fff100ff6eb6c73607ce83ec90057a47628d0d354f24176be02c8e9e4f62311c466cf7d8e7ec27787fb83a4c35accfe06d01055ad1db2189c82b9a7277aec7";
+  sha512.doc = "e60d42b6db1db84688fbc657b854cb17f60657c22e296d13677e462b39090c8e99e83b86227ea65fe60dfb7616619f0459aecdfc6c6725db68567f458d0a4308";
+  sha512.source = "65773fd849d06d834505c9ee4e97f7ec6d30308550029e5a71756da7f70fdfdb8245bb6f2fa0ceaf2cc3ad5c9b865f7e617df0c763695bd0cca60431da2bbd5d";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "1.0.0-alpha.3";
 };
 "gustlib" = {
   stripPrefix = 0;
-  sha512.run = "028808a38b9072f81b63ef747fe4e1ad6f937fee6517f6f6bb103a299c01418ce14a3c1bcc4e7858cea20842ffd5461f50946cd458469343599b25c1aa2199aa";
-  sha512.doc = "b4aae1b3af101d428c40af14e89d59f876939af9801e8e9ed7be8bdb9cb6e0106d5346d7688bf1d52defcf1e64cbaeab1b22b4bb0b2d8dba2b14b799b6a606df";
+  sha512.run = "cb91f48e66063c784addd1a208946343cdaece3ae0d28d3eb697add3bf16d82b7d01535018984434a882aa5d1901cd05ac68e0966554b77f4a2feeba933ca880";
+  sha512.doc = "0a472bcba101b759b0864c09fbb28fd7473e8382e73cb5c2cfa8fe97f075a9a0ccba1603e0b08bb17fc10faa53907e52d78efb7ab09a7d5cd06bf1e17d82a1be";
   hasRunfiles = true;
 };
 "gustprog" = {
   stripPrefix = 0;
-  sha512.run = "9984254e1882486e7e8729cffdd00c861e255a4e7f7c7926dce555f904315866b618a113df2550a84fca75bf52b5ca4dac6973b4ad5dd29e29386f661582a7bb";
-  sha512.doc = "701af6dc553824c47bde4cf172ecc73ecfef56ce55a9202f7cc40ae38fe5191b2ff8ef1931d4225623f0a4f2ea744b925a9a3e8281dd3fbe918a532add7a4342";
+  sha512.run = "597abdd6c2eec380c531ef7f89ac0d2fcce6e33dc2d2c5040a58b5da3bfbdf2dc75cad926291c94ff1207a47e66cc213c7b7f76890495aa9ef6466bd830caace";
+  sha512.doc = "7817b203f9722409f10161072096dd410d34c2d84ee0ccf332d717c2eea0f408c76597fccea18b6022088cff0155433f77d085a8e8d5f28b72c4c227f578cb0d";
 };
 "gzt" = {
   stripPrefix = 0;
-  sha512.run = "b720c5f9e097cc04e7f34eb79d469dff04def91af96e6946fede29d86b1372a649a19f393719352bbf7a3b75fde946918fa05264819ac59e8915224ab0637852";
-  sha512.doc = "2379f23ebc1c9e2ada9159ac2bc06408e4c810a938a5f951ecfc795ccfa16ac71b147e708b1db2590866af34410744d92399ddf44413bdb4469ffb2b2c25ad74";
-  sha512.source = "082fbd44cc91dddea942471d2caf2f817027ecd0e3df50c3e89ff067f216142ce604d43d96d8ff171d6626f6e191e89130ec5da661eca71953909bb569ec7a41";
+  sha512.run = "7e0f493dca3e9916f28509b94bef393e8ff7be95f55e8da937b4922139ae77f4f4197586c3bff343f1fe1d22dcb4a803e2d4a3a115d201cc0f2c5fd71ba8a836";
+  sha512.doc = "388aa99642bb838ae4a81a665bb90019c6e31b3aabefbc2c49396edc98d8fe2d00986023699b849162a69db6e6dafff26602f61540758510acb1aefcd883c4e6";
+  sha512.source = "f6c4b16c47fd5773f6a25822d7cea758b5e612603e8004ae462b4e40ce4ef45e6fcbe8ff62b41828bbc3c7b83b8596919eb88864833546b9d785b865c475b312";
   hasRunfiles = true;
   version = "0.98";
 };
 "h2020proposal" = {
   stripPrefix = 0;
-  sha512.run = "51712a270162ab52423bee272ecd0e9531ca9fc41f0dd6e524dd41df1b7db727ed5d09d4bd96e99b8190d7cdd95b2280c62ec0eb1e8ddb8471dbd6de3cd8bf02";
-  sha512.doc = "35a7d2890a6143a089a19f49fcada289e08e8feba2327439fe7f2568806266b46047ec75be93e022f2bacb12733ac100f3701562a361864c79b77586917ffe32";
+  sha512.run = "ddee9c5c1838bad606f212c1a7ebb7ac4d7ae571f1e29e83d55744dd50afb55e302f4f20a3cedd0d4446886cfa515371fb913b862d4549618858896de2a543ef";
+  sha512.doc = "5ffad62ed8eb39c8cf07d4840983990009e5696a2d7714d2cbab13a69c77634d01f10a18f612c853a09dfd91ae1ea453bb3373681e89a6994ff4924dd64c3093";
   hasRunfiles = true;
   version = "1.0";
 };
 "hackthefootline" = {
   stripPrefix = 0;
-  sha512.run = "b9df492b9d6663cf5a2ba47d623c50b1476418136d36b6d52c785c28f36781334989b795fbe57770d85196abdb36a071d4d0867336672676bba946d01216c6a0";
-  sha512.doc = "11075c419ed60fbad9324709bb55fa8b034bb2ee66a4b0a2e067be0ffab1c64be463c093f042b89f15dd851c4e858763cb97ce5d0522642feb6c669e468b8b2c";
+  sha512.run = "223fb22b01327fb63ff16684d578f89ee583d5c7700dbfd5966aa8cb94ca4e280e4409620b0d261bf2a80a57f51658990b0a221c0dd311e3eae1f39d459e8098";
+  sha512.doc = "960c6a0bd61210b097710cc6715012e4406b54dafcf070659228074598a05e0dbb65669ef77c3f6ca2cf80001e95c5f801070be29d416d2bd552d6c2a1d27f56";
   hasRunfiles = true;
 };
 "hacm" = {
   stripPrefix = 0;
-  sha512.run = "f62d665d3151429cf2d66f15c61d9afe60bd8c08c327cf8a1dcaa26ce7bea15c29b1dce75cc1133d787fb3e0fc15645be111d2dd8c1f3b0257b2ec7885a142d6";
-  sha512.doc = "71513c80428379262bb57db29d5f01035c7c6cdeec320188c49b0d1b75fd968417f0a2408ecba5ccfc22ae4253115bd033639344b7c3470b799d149f72dbca3a";
+  sha512.run = "6f4373f4e30d95c747ecbec45c53a9af23b78acb84a063dc0b2d4d5ed218e7c5f70d4f29817d39f6cf62cacc455cc3117ced589d41bf3f321a6f9d882823164a";
+  sha512.doc = "bb6d5cd50e68ce84abd5f7296d8216d929b772f30e946508ca9bad2ffcd8d077d1927fcc76a5ea2e338799109b34adc8272f9f7f6d316f5af1312070f57fcc3e";
   hasRunfiles = true;
   version = "0.1";
 };
 "hagenberg-thesis" = {
   stripPrefix = 0;
-  sha512.run = "e4da468858fb18dd8c97d703cad519baf8cea61cd65ddf60d18c4200d0aaf5f04305c253fdd0d6289636b17ff43d4550bdbd6db20a01c1e1a3c29a1645eba6d0";
-  sha512.doc = "82e538d4526cf83ad0cb061eb737634d0f2116aaa7d7d0260c999db2b381160616536c338136b59e10c9d48b48fa464ea98d856d285720b56d394aa5ff4db9fb";
+  sha512.run = "a8515fd281f726029f3bcc170f60c8a98447d8e16cb64ad787fdd5576ab5fb58a077666f191a02f46608e1aaf84bfcc8f1064a28e00c77f62505134a5508be28";
+  sha512.doc = "e7f1ff1c796b7ec2dcd7758a46149a20ce3d33fa6bfc3dc93a0d7dc4832e4f4692e1e74037c1f9e990a0245fd6cc5791ff998439ea6604519cf40bf463be7476";
   hasRunfiles = true;
 };
 "halloweenmath" = {
   stripPrefix = 0;
-  sha512.run = "7117c46bfa37b9493d17e1ef86d01790f0cb33c578a82d59ae9aae5bf7973bd82e7659dd6e02939c545a0d978e728790a7c8849eba3e0106df8e7a0ec474eeea";
-  sha512.doc = "c86370f7bbc6b9b8c1bfed07cfd4672534306fa3abf44a3cfa819bedc064d2d44b8d84180451f1a537f4dfc28050df9f73a38f27f342352b0acad287b897d3a9";
-  sha512.source = "ae7a0b897b299d123b79841213ada242427d6cf311ac5447388a78b5da725a946b6b1a5ba468fcf81bd47d8c6cae6f26aa6fb3340b94b645d4066776be042bee";
+  sha512.run = "f56079b815307a59054559a0edc8c0d3e9e4138b0d961f81282a80af5ae579e4e3a2b18a3722cda0b49c014b834c6bb76971862e7e0740e0130b2f89d27318e8";
+  sha512.doc = "0ec7d77114ab6296be8c7b38b2a6dad0cf5cdaa9c8bc833df52e89971b5d71e3cd6f026e02d480e8cbf1ce1b4231563463524745ce0f76be279340cc03550d4d";
+  sha512.source = "84dce1251e7fa939233322d5a74b41225e9a2d786af0f49b8a4b8df962ee1fda46ac492122fb361a4184ffa2c6dfd5bf2967f577b3a9b675900f3ede8015d790";
   hasRunfiles = true;
   version = "0.10a";
 };
 "handin" = {
   stripPrefix = 0;
-  sha512.run = "7bd2f9568a3e0f06475b927ca77af4505d1c2fee4a22a977e08835370d65a3e087115051248e68e26ed24741ea36caaeca52ab3c67b33d793d5f098355f2a693";
-  sha512.doc = "50afb88a7153e1c3f0cd73e46a1ba65a33081b2e293f7d0195a0c5516d7148febd39720430a224b391a260c174c52fb7494020f33d4df1d07a5952a15765d121";
+  sha512.run = "361fa013f1932da2370ccbd67e70acaac725349e4fd4fea28a6b676a5459aa8ce8fbc1edf42f3f3fe234e12771c5be8bc463ef758f823a3b43fcb7191bc1a660";
+  sha512.doc = "cf91e16a8f04835a47da1a5ccb31711fd9317db557f0152689a93c4f58de33c8e7c8be1f7c5d9eac599bf8dceab3f4d3e84831efd0612a58571d3c71f508f20c";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "handout" = {
   stripPrefix = 0;
-  sha512.run = "2786448e6b86e340d7f48c28a6df595a2ec689b8bd643b159fb74a9722a80dcfe7985bc00074a6e8ede8a237b71fd3183f69f51dee30c06e5f0cabd3edb0d39d";
-  sha512.doc = "5497ff31e3d76e386c0c2ee97d6c355b8e4816461c64f817cc2701e86d548350e772dd8916c7184a2c4f96cb9f9c307f7913e7eac7b5a4addfa257023d2d5624";
+  sha512.run = "9c5da5e16df3bfb4eee1ff7b8c6881e7faeba7001fd7f0ecb8b3027a464d611149c8768b8d8853c07417d67a723fe5b1de19620593a177139241b47c7a814285";
+  sha512.doc = "6da7783c7a0dcfee168ec4ad6924fca636ccb5fc965e326d9c38ff31c9d2c7942a820165232e4e89b7c1e4857e81952156198de55d7990ba01e5abcd4c31bfcf";
   hasRunfiles = true;
   version = "1.6.0";
 };
 "hands" = {
   stripPrefix = 0;
-  sha512.run = "404e507f404e8cd600b5d38c3cbbe1271356e2c2fd224399fc2ed139b2634643a00a674984eef9e2171ee5e9eac46304905a5bbf8f8a05451f0eb57babcbd59a";
+  sha512.run = "77c1742d045110ee4da7473b14c1804fcfab3772ae10223848fee99c7c8a8fb3809aabeb82e4c99460f3cfa0e009ee8d470d60e8be4c79c25c3ff990b7d1595a";
   hasRunfiles = true;
 };
 "hang" = {
   stripPrefix = 0;
-  sha512.run = "ae6d8f091bc4e82a0199312eb2d919b2bd66613d0ad46205d02c5dec4f6f39e6c516060076a52fee75cc63f2aec07f68735bbc54e7e265856ecbf4b890197aba";
-  sha512.doc = "7f9af4702676ff5899f1508ecc31ba47fbbe1da7ea7815f8b17a1cc5db6322aa1bff07d74a485493283e0cc6eb51518ce0fdad07c769365ba6c14106bb4ef252";
+  sha512.run = "4a8227707b6878ab010b595296dbc96f0b31489dfc0abf0116e00d6b0acf54e91bad1ec182169357e4a2e1f14ee27afcaa23bd35db1fed7e4e972e66eebee042";
+  sha512.doc = "bb0af0db38793e12dbd8d33e2df613d581a1809e0661138a3e75cabac1aee2aca942aaa429678a817f487fda82f3ffa3a631d98c3129853ba6a5ce4175346b09";
   hasRunfiles = true;
   version = "2.1";
 };
 "hanging" = {
   stripPrefix = 0;
-  sha512.run = "e30fc568335371bca9bce003c7cfb20845416317208705c6e35cf0a2bfc01db01dc53807ceabdbef330d6b15ca47316950972e59b278a78ad384e694ab287335";
-  sha512.doc = "d75243fa745ffdced25acfd24f69b431f577fb6322c9f119cc7159b605432ffe98cd6026db34b6a5f6323f8b338285d1996d40d556a5380407ad5d921d942314";
-  sha512.source = "a5edffb447641950b519880e8e950b9129c0d11b9bcce78556824334b2bb4274231966e96941515f6302aabcb248281c233f80ebd586f434ccf238ef9037d1a6";
+  sha512.run = "54bd2269c169bfe2a28513354407de22948658e8067cebafa3a3b3d88040acc318f3f3aa375798e36bafacecfa10c4ab5500095b92328e6cbfc12a541a8a7b3e";
+  sha512.doc = "a1e7e9d0d5b85e43ebd7ad88b39d6d5629807f668040041fd1248239c02394cf3c51aa676065c1d1d9e9ba8d1ad20f00e46d25025ddc0db7ec15148280a5b9c0";
+  sha512.source = "d982182e5c6c19d6dfaf527f5ff95c0a1d15cfa3078205c73d9ac894d24ebeea31a636d66356387996fc0faf9815242661c884dd566c0dd1d90779d61ba93c28";
   hasRunfiles = true;
   version = "1.2b";
 };
 "hanoi" = {
   stripPrefix = 0;
-  sha512.run = "8c1a70492755a88009688e527411c28e90c759b28a86832cbce7537191cc25fa69f6ae3ad32eef9cd971f641af371882e1e8abb408a43b6759512630a0f65476";
+  sha512.run = "efc8c4892ea4cc8ae395907fc428fe74d535d689a68b3b21422c5c944d4defd57747e519dbca9bd2df2dd010b99e3132afceadee36d547fc11b04480147626c4";
   hasRunfiles = true;
   version = "20120101";
 };
 "happy4th" = {
   stripPrefix = 0;
-  sha512.run = "803e4288ee72372834a131397401f65a822a9ae3d4240f1e1f3e768d2f67766d230c8ce957f167a98a2d4c188a3b091e0f447b94f928ec90bebf72f2f1ae93b9";
-  sha512.doc = "37511555c16f90cb0bddf62b4484cdb084362b0a54408a5c187d04b06ea42b28b5c8144325895afab6834ab45f816c8979dcf15f269fca4ab6cc1b0c9418b526";
+  sha512.run = "45492a6becc7496ec6ca6adca474aa141b9c68b06aeed46bb1459f15b6cd1df9e4e2de3842a91ae0121d83269c1fe4f772418a93da67031bd14b6649f3a80657";
+  sha512.doc = "78fe311673e370b867ad209fc1c62acd7aeb515e4b145bb7c487d30c121715994803e6dd540bcbf1b9b0776014327c7ca2f6c03437d9ff0b40f477ebff9cf254";
   version = "20120102";
 };
 "har2nat" = {
   stripPrefix = 0;
-  sha512.run = "fb4936bdcc959ef262a5b491d4b509e2dfc394f3f24e6007678947003c702d12aea56d0f4f3432607fe0df338dac16715ee12b2d5fdabce7f4b8890406bfdb38";
-  sha512.doc = "8f5fcda18c674be9fc67386cc044e37107b12c32009a1caec48611c8e1ce6852f75026340cbddf57f0e704ac7714bb93aede2253349959d8850933dd440ab801";
+  sha512.run = "b3e76b7c4a3a241f716de344481c9927daaa73badc2f40cade074402629cdb3ed02568d9cb3d6276b0abd59ddcb34254fda419f859633281870ebc394c4a5a14";
+  sha512.doc = "927ff5d03cb3559dcda63aa2745958722ab9233c58e55cdeaf7e1c441146991d3edca9c3a40fae2cc147e5e69d0c44c0d357ed37ef0e02bea41952474b36f88f";
   hasRunfiles = true;
   version = "1.0";
 };
 "hardwrap" = {
   stripPrefix = 0;
-  sha512.run = "28d381c14a4f0311ab13ee858eb51a568e67abf3e06657ce5faa30d7aa36510fcadc2fd4e5e4572252fdf5385eb64a43737efef6b805f7f443cdb5d4e221ba2b";
-  sha512.doc = "848f6f064910d9508d3b0a595002f53a88dd11c6840cd485005c34e185e8433575aee3815fb130b1783b50c3415ad2c6936b845d9a51d2285511bda5d23a5922";
-  sha512.source = "1bf651dd7d1df7fc9e82781d55aafb3deccb1dfd95da28862e3f51aaf8a45cd85bd319a26351bc704504cb612955293e83256b74cc452a5ce98338510ea5ab77";
+  sha512.run = "eeb0f1da2161dae80d292db7b3289a307d892b8967ecf16021b8ed73c5fe724d914dda356bb8fbb48786760698e0060b39349b51886e13289524ed9d45463106";
+  sha512.doc = "6dbb83fc5d4b82d11bc8d97d0ded3bcfe583c2b21ec2a260000b6bfb0bdea9c10df834735ffdcddfa9785b7c86b53920a20146d020b0435b8dc04610f05b9b16";
+  sha512.source = "9a40a2a441e9f47b3d681dcd064fad48fe90999b34b57c85b7112e518c99d3b87a9bfc3867beb66e76499bb53ff3c14837f71f2d261ed4c78cad447f185d0ce5";
   hasRunfiles = true;
   version = "0.2";
 };
 "harmony" = {
   stripPrefix = 0;
-  sha512.run = "c2fbb9aef4effb5e6b60503d1f4b46325c2df8b6fd145c2a35de691babc955f1260a7cf8870027feef4edd6e31182983ab60483c3d8913f0dcf4897e3790fe53";
-  sha512.doc = "61390b600a1e3fd1eac08fc369d3802147f8437df59173d7199b37ec32864e7d19c0ade5c7fc7c78454700d2b4dd278882c7c607eb5db8b5567c1e547f2195cc";
+  sha512.run = "25e84addf5ac4c67985e1e433f795f377accfdd4dc56eae0ffb25ddffeb52e0a44278ce1a936406105ff5b7e9541452a103e0bb4ed91b8949facee75ca7c11ae";
+  sha512.doc = "3226831df9702b669ba4c269549927563ae321e8e10e0e41c6bd1a8d6522dcdaa4ae6a25a907a84cc1dc324c516a53754c81a0e1296fd8e3afbbb29f0992ead9";
   hasRunfiles = true;
 };
 "harnon-cv" = {
   stripPrefix = 0;
-  sha512.run = "c6075a8cf730cdcac250729b718ce8ad6216e352d89531476bdf59df333f09c13167a9af92aacb4d7f5fb3418aab2b397727c589a45e304e403484b5408746c2";
-  sha512.doc = "52230767ecc14ea7cb371072970f3fb72a2371887854104c577f60bd073f7cf12c88aa64888239dea204086084cdbaf8671301c7c1aeaa3f4125775b1a364d83";
+  sha512.run = "5acef7bfd07f896f4251fe922cb96f71e9f289205eebfa83dd6aadd241f20eec5d9ecaa3d70d6df3dd61fbe7523f568407d89b7c32c27aa719a6f97b89f4cd33";
+  sha512.doc = "1a8d96a152f9ac90f3a6e546c03652ebcde8f8d88a7282626d44177854aa41ec1c66eb6f4d787853711b80935f5e3e3c31d726d0e49d60841119db7ae278de96";
   hasRunfiles = true;
   version = "1.0";
 };
 "harpoon" = {
   stripPrefix = 0;
-  sha512.run = "74be44d5627f0ecb5cbdd3bb9243526201314b7bb113f3a3f9efda5d688be5fa8fc8199a8ca32d86d5b2c2ef64156393bbdf352a912f44593b06da5438d0c227";
-  sha512.doc = "998b475f0bacd97bdb4776ee0853d12c7d7b4f6f140a6fe556f8a93417a4123fac542b6f3db8e53c8dad687a38032885e09b07404b25ff0f6e1934f118a10457";
+  sha512.run = "1894f54ff9eb98975f4eec9250a382534a0ede5312b4b540223d298a0fe5d7d8d24abe2018d07b30773e14bacdd97b60039a458fd274bb446aeb2e26b91bf96f";
+  sha512.doc = "4d69050cd2a7c57219a7c55e8d97656fe6f130936d2e79a00d3760e9139799cbb98db2f338586b65412402069b22971ac73e5b722a3911bf1402625dac3e7d52";
   hasRunfiles = true;
   version = "1.0";
 };
 "harvard" = {
   stripPrefix = 0;
-  sha512.run = "cb6484a9a28ac06e74402d4ef63576b8047675a772514b51b09b269ea9280286910af2ff03134c2f2690731e2e79f5ef48d05ba89b9a33a0183e56723fbb2ee7";
-  sha512.doc = "e309a653f60498a3108706b6d650e915c12e4bcbdff80bf107151aa8a559a3540cfbb43a4c024d19713126587c236bc58aaf6b257c7cabfd27e53512e311b018";
-  sha512.source = "6da1378b3c77bb3268dceb71bea4cf19e2c3faf9b9b6e7e317585e76d0480fdb20409bf2373e6824d388b1eb3abd205440bf8c42032023caa327e4f8658f144f";
+  sha512.run = "64781bb5c419248934f259dafba2c43270396a1d3f49bb9a79050ebbb5655a5836a07fd69720f54f009501c5294a62f344f6b6c76adb89114a8c60d1e149e612";
+  sha512.doc = "291c2a530da6d24ecf1a87818d27b6141e99944eed10cc2dced2537f30ecfc12580c2f58d01245ef53f7d2b803853ce9bf72c03f8a2c3267dde0f4c799a991bc";
+  sha512.source = "58720acea1588f742d95d2916f8b1a5c8cba391243a433ae9b2cc4845dd3949c7b2a7a349b87fd663023e4d26b15b15dfb89b7f8db92e14e52f2f7ab835a160a";
   hasRunfiles = true;
   version = "2.0.5";
 };
 "harveyballs" = {
   stripPrefix = 0;
-  sha512.run = "43cc15f36c27f6674711ec6a3351df74424ace1258d0d5e907f0125aeb498e14ba171c426a7db22038fc3b8c352603fcd65a771d14219285d9dff2c914a6f45c";
-  sha512.doc = "4c0ce6df5eddaf81e92eb59883a6a9407d76fe2b662dedf27c7235ff9b49f175b9675cff8092119a2732d1be957254e25bc50080d3d4cd25fa58feed51b96eb4";
+  sha512.run = "c282249d5758f6c8aa9dfd06cc4671211e76adc2e7c4f5cf925e713472e60f3d44c8a389c9ab4db5b8096336d46d99b62bde0f8c1f9fb5d22857e3cba98994e0";
+  sha512.doc = "89ede2f13e82600a2e78047a08766e99879ef5c64dcbcf747a2c21b1a395f4c1a1184921a8a0064b15b86f574834f602870f6641f0f265f92dce506959c6c4e7";
   hasRunfiles = true;
   version = "1.1";
 };
 "harvmac" = {
   stripPrefix = 0;
-  sha512.run = "b3e67dc6780938f0bd7e46bc814d6776edfe5827df1137aadb6ad597be6c40a0bc1d3611b0273a04a31675b0837ac7a3de79e19b36fe07278240e9c74d7b07a9";
-  sha512.doc = "f8556792bda5f61402486671eaa6606bfd02ce80c67bde6635186869eeac9b86f0f3314c0924cfc8b983cfe2ff3e29f96d2f1b027ec387e55379be1f4850ef26";
+  sha512.run = "7acf7eb52104bab80b0b9995cf43cac842c106b8aecdff8245b0d1ce8440823e65ead75e470f00923764eadd32e936e02192ec7bbe70295ca254aa57f9b5f662";
+  sha512.doc = "a0f3308b938ae73c66398c5a3140662240603248cd6fe338a22f3ca6b23f28789dbccee48dcd94a8bf84de029ec103aa35c5b9a78151ceaf61a9cb60b832c484";
   hasRunfiles = true;
 };
 "hatching" = {
   stripPrefix = 0;
-  sha512.run = "3b4875a8973cd6aa23bb698f77c8b72c375f88327e98bf5a120ff2371f1e79de8e88193a7ae715dab8ab0f1bd2ab386ec1ca1c61d6b790fce878d0d8f2fa2dbc";
-  sha512.doc = "6cc2fdea222d7c126a7b92d8c430cdf13d7b6a2d3d990fdd683b4f896b01a19d19f95e8dc2344fb11bae67875a5bcf539f5cc1037c7b58c5fafc3d64f923f227";
+  sha512.run = "71983591270b533a6824a836948fdd15d19c3f966c8277d8948b13c5f38b29c29c0b7fe577661f1ecc570dd71d89fa964afd254d50556b6893667cda95e21aa7";
+  sha512.doc = "02c2eb4991aa9775feec0846eaad9ddb74123a64eba8a3731c8e40c689844e542793e0f6884df8666f3cec2ed43af26b2d25254cd0536920c6ff0b107f35bf5b";
   hasRunfiles = true;
   version = "0.11";
 };
 "hausarbeit-jura" = {
   stripPrefix = 0;
-  sha512.run = "2da51cb7fe7f37b1ba25c9294ebf1a0a29cee13b7ad9b126b893883171c84664f3b49c0a831a4135bd6b51b0aa7473a253341f821450277a7bc0e23e6a8680c5";
-  sha512.doc = "abebb83226adbb9a0a58d537d1c2081f8cf5a79b6de09767b439dad2f72f9aa87daef46cd892b03e3666a7cfe03da2819d8bc66cc1cb7d638475fda944e211f4";
-  sha512.source = "f578eb4d1ebfa2b33f2d8c564cb915808972a04695089eb6a15b251eca985e8d926d1d804a9659317eaba5654589c32a796d4b3bd0dd769c33725b0ea3494189";
+  sha512.run = "99fe789073c76535c9c8a307289bc29b14b0b7a45adf01459d76ee67099d56c9cf36fbe3587b108c99c1563cf077066ad6408955bd55f31cce6b4e53bab378ca";
+  sha512.doc = "cd98eab62d47ae03a5238702ec5a246496880e55dd8a1a9913b3639197d0fe65d607317d9cc9cbd578bca6bc64babc80d257c2f8d84b7327fdbd77537ca1f660";
+  sha512.source = "2d8edbc3163c00117f9c1297970f2309df35ccb6d5166c723365c1267af736c05dc5eb4bf77cfe6bb6e25a829bba83007fa95bfcbe6aac7473f4657cd450fcb7";
   hasRunfiles = true;
-  version = "1.5";
+  version = "2.0";
 };
 "havannah" = {
   stripPrefix = 0;
-  sha512.run = "2105ca746cbf7bb010fd62a36f76628a753e8a99ca392f725add72bd87963b87d19d6d1834d9f1e88ed7fbefd20047d3c9010932d646a1cfae34eaaff5005cf3";
-  sha512.doc = "66136477c70c15adae6627013e320f6abc269e7d41e3c3fb9b795f8e91e3202a5ae77510186cabb46383bf701aba4e00f7f0273bdabbdbfbe742e8d65ae60c04";
-  sha512.source = "0697b802a96f76df540c1f2e2d0a93bdd57614c69e00e224108ca50630ef5f8a603c11e1973f930c82b5fbec8a72deb1b931d3f2d6e77ba51ef8264fe1a8b732";
+  sha512.run = "f19498f0f9a7ce349fab4291fef80ff2f2f9eb88c60edeb76174918955fab51f22a0d06b533112e594c0f4cfba23feab58c41fe75e1c4fa2fc4db7cd9f473d0e";
+  sha512.doc = "ee1a90d491debac3f22f470e5df79e11152d153cef97e8d2e38c5d8a60a1931384d65bb91a6d459e6aeba39741763fa67d589bf9004efc5059699ec621b99e43";
+  sha512.source = "9831ea87fbe6e12af8c7fb49d321049316221f4dd33b79a9495c5205b60ddf2f3593c8dfe2f4157e3934f21e69e3004b05802a0d592ae608b2de69cceb2f0c7c";
   hasRunfiles = true;
 };
 "hc" = {
   stripPrefix = 0;
-  sha512.run = "3f5ef407d17bf86bed61cae9c8edc6852e9a4d45c0a8f80c8411fe4f0cd0b2398df89c1ca1bb70f9c7db8a5f4b60430c69b9d31f947a5d14c4580cf7e1520e58";
-  sha512.doc = "9d1fad6d29ea117c6d4a68c4b07404a25e5c2b141ec9036e15d61d4a70cec5cce481645a700bed83fa263a97c0341f54384a35e5c4ab9f6b429bcfec262c8c78";
-  sha512.source = "d2e7696e04912b6d1901a05c8a0053198496a50f34fd47904f2e28ae82722219e0bdfc397de68cfb16656edb22277106bf09c4d9e23be7307bfdae3f4c34f64d";
+  sha512.run = "17c7037eb04c1d0064dbb637f51947243d1b8f07d46245dfb8f2a38a1ea068ebe41da7e2346ccedf02979003a0a2fa0fbd25eaebf7847b266e21b7c873b032d4";
+  sha512.doc = "18aaf579ef82a11ea1e752524d9a04a4a0aa5d6cbb496bde380664723dd30cd421c77dfba1ee6bd88def576c76e202b328198fa6dfb4a9ab451875c3753a515b";
+  sha512.source = "42d3f57fb2c38823875116a67e3e71a3b1aeccdfa00c7a201163325c31fbd47d60a1dd028c6d9102d38d6490424bb118178c7589a433a69ec26e505b805418f8";
   hasRunfiles = true;
 };
 "he-she" = {
   stripPrefix = 0;
-  sha512.run = "511c08089b88dcdef8b938d4db541c1cbc6a1f2f4673f6989284ea6fdd347c857d491311b1e7d3b099165c634150691d739140dbbf98dd4b909ab8a63d778db3";
-  sha512.doc = "465590b22a79087227108df5e91bf8d1d670b01f9e978f26f6d59f9dbc1a6784bbabfe89652735b12b0a20694f9399e1cb5604121a1068d4f05cd04babe0cc61";
+  sha512.run = "726954216d3f8328eb7868553875651c2dbc3f626a9eb60fddd770b0e236a4e09a45872020589d8f263cb9f39300d1743e0a35676947752f33933db1e766411d";
+  sha512.doc = "580702222de769b066b01af45aad75717d11f46178a2b1f19e0bdc85b67497d9aed8b7ad642f76b8b85c5513f4921f58af8bcb80d1fcb88307f8ca8b07c8307b";
   hasRunfiles = true;
   version = "1.3";
 };
 "hecthese" = {
   stripPrefix = 0;
-  sha512.run = "502f0163de31f2b896abb948e031f837916e97d78b59609b58a068409f063a34286c908eb3c5d2b4a7e0fc3810eb973d7d652c868559c2637f4eef8139a78bce";
-  sha512.doc = "c3f805294f13a09c30370634603cc26d89df4fd293204789921d7df4e260e922d21835fe0b0e4802e9eb30ca8e6fac2958ee9dcc143e571812778f8a62085dcd";
-  sha512.source = "12208e8d5d24ed8d295cabaeb1706c61fa113c64c1a0fa1318da46d75be0c87b7b934d5c9b0b1d7ddb7fe1f65b0b1133e3a4b3770bf5ac55920213d0cae21868";
+  sha512.run = "5cf62262cc231f229c1a66819e620fc55f798d8152b09434c0c288610a59a6ada5a9703e903b7d0fe761f1197757a1594242fc181928f6c6a5bad1c3d7dfebde";
+  sha512.doc = "3d06c52646c4985df8fe71bf07ae0f5305dc719c03025f1cbaf511b1c1de99e02f381740cd4f1074f0fd4b211a16575dcc7c1def28d9d75e615dc1d08d5257fa";
+  sha512.source = "76faa35c65aedcff2e177c40f08e4d5a031f3804f3c786e38429c55b55a2f0261c66c8515691d2e23b0ef954316479d6d02e57388896f1d4bf79e9fa24e277d7";
   hasRunfiles = true;
-  version = "1.3.1";
+  version = "1.3.2";
 };
 "helvetic" = {
   stripPrefix = 0;
-  sha512.run = "8347129c9489f8d823acf647ed4b0b68e050065c41ebddf0fa52658bc55507afcf72b5d3d18a85a98c4410c6317ddb9c76e263fbe693dad756cb235b3bbdaa13";
+  sha512.run = "db1921bbf180287cb735ef403948585a91b3d84fa0cb5c99ca1bd06db57632f2533f40d0b7aa04c01664ca7898166482559e130f375a85242bc44f362079ec8f";
   hasRunfiles = true;
 };
 "hep" = {
   stripPrefix = 0;
-  sha512.run = "a044fbba300393f51e20e658568813d275ab6d94bef11476596bebb562f03f1e18e212ffd39a4627f69c01749e43cf5755fb4f5222214a3b9ca5c4ee6bb25d89";
-  sha512.doc = "303be5b10add656d2f9ac537cd5656007573512adaa34de586d910a7d3dce4819401051dfca2c3ac370bea5cdcbff00d30887ffb3b8bfcdd00f69dc0a36309d1";
+  sha512.run = "9cd27826b7dde1ebd5830cdd17423f4092c9833c962be7e73b515de2e624a7853badde0c244dc26be6b7d3d9f9c3932fffc48bb4e86e06b90d6699dcebb0d497";
+  sha512.doc = "1d77a9bd31e982a8ff908f772d8cf67692145624bf00db2745afaf1aa59fc1da7cae6d2e094379077a550e4d76338a5a82bef8e25c8d733547751a24c84035f2";
   hasRunfiles = true;
   version = "1.0";
 };
 "hepnames" = {
   stripPrefix = 0;
-  sha512.run = "fb737248b78ed8e9aa9890eebfca80db268353efd88633202bbc16f1ed5e21ebfa17493a9501af700bc172256b7feead84239c19a6be6f4d63ce080bb337c6d9";
-  sha512.doc = "9d90471d71db147826f5c1328e07897c4241b516047225bf0f78c5181dc80ac95299e94770b616394ff7fb422a0a4cdb8ea81c3e2fc9cc917242d6f684dd4290";
+  sha512.run = "ec893de8b4cedd1b18dd16c3237fa79b434e91cbab4b856c4fbe11afef162b560bda18c0fd75ab2c47b863cdcca1d64809a139d51f04e9c2f45eab6ba4036c28";
+  sha512.doc = "36a0966b755b6bb0f0dd27c80235e66af7c5252df1ae27652e59fd65fc5f280eb487666eef04206813438204dc592c0295651ccf0bce1e5f85f4797cdb439850";
   hasRunfiles = true;
   version = "2.0";
 };
 "hepparticles" = {
   stripPrefix = 0;
-  sha512.run = "b231fb3bda7785f428acd38b84b23d6f49f203f2991b53d3730c47efa00671b984d30b5b62a819e9b71a48477185d16739b25a113d4005b65d6e516f9eda6564";
-  sha512.doc = "301b6b7e5d36d5ecab33c2254738a1826ed4ddb45e17a980b9ec4d0111292527a8ab100f74f2dc9dce0394d4660f157e7490e8af63f8d5820550495ea5c2c0ac";
+  sha512.run = "fb9229745b601b6f731c959856fe46d6871dd3a1c7fec2bac8116f4d74a575ff52523f610599979e25e7147b4ae6d36906d19ba66260356f15bc1a47a2d57460";
+  sha512.doc = "539025b2f0998bf031f417d002028e29edc58c1818d0dc9c07ee58c6877b5709936be23985ecd5a518c36187f451a2d5df66b5832d0019ff8b755c763b903aa8";
   hasRunfiles = true;
   version = "2.0";
 };
 "hepthesis" = {
   stripPrefix = 0;
-  sha512.run = "03a1c835c0ba739fe9c099cf5757048ec8c832f3de119710bca9096a93575251cab0786a89806ca94e3c144b7f56b8784b5ae34ffcb02f9aa7b0729f960c96c3";
-  sha512.doc = "148f902854362d602c327411331a9af33d5323b04b03b791c6b673764587a7b74a27a1ffbd20bf31ffb6689aa27c3aaa678b5fdf56501b9cfab1d89c36674166";
+  sha512.run = "ea6543fec07480af8db52e43ea5fda346ed4e9ea245af0810a6988d864675a903841849e502506b333cef0b1685a6946ebf1f686bbc74f4ddcc7eea676c019ed";
+  sha512.doc = "e456a0ca03da4bf71d767616a140b6e1d922e05944a4db2c0cbb360dff39fc7e8bae741ae5adb49972253f38774f1a9c65393bcf4e38e3c568b0215a04f63d48";
   hasRunfiles = true;
   version = "1.5.2";
 };
 "hepunits" = {
   stripPrefix = 0;
-  sha512.run = "3ed262c1b8f33aa4a6d183f6685b9e715c94d5c7381c08a6adca15de7667e65a84633b777a853d016d1c01d0b3ff732daa3883f2108fca17388562ff00e2fd1d";
-  sha512.doc = "25fd34b209dab893fd93d21ca5ff377f97e34b31378836cab28d6697367bdd88264bbc49893c4e9c06e2e6586d65a97b14dfb37633aaeefaecf0c2e5d7278ce6";
+  sha512.run = "b6abbe3a93eac6c7c159cd9c305fbf61664908b93956b90cb413e2220b12d183e4fafcb361d8935bac16a39d14451f538d38d9452ca78eb4ed03841f3e5bda78";
+  sha512.doc = "3247cf7865444fc2a600c05843c55ddca792b59b5906326e79591822c0e2577880d55704d4e726447aa503983644e7c0b7943482045b5c9ce6e8fc765bbc67b5";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "here" = {
   stripPrefix = 0;
-  sha512.run = "1f5b8c0df20a1c51e2796fd0ff74765c35f49611e7ef7d24502dd13e8c7ec97d964c34f2525e16392873674d6b6b71a7f7ed388eca370f28f7a31d10496f8bfd";
-  sha512.doc = "8deb441b571a1f959e7d53f2b425ec2706135b248ebbf67f96b9ffce0d9798feb47c21b0a74802886e03aa53417666575f8f23bbbfe463e78d94a73fb16da3fa";
+  sha512.run = "35c9ac325579de5d3bac4b8d16b1f30355398037cd0ad1c52b1585eb7ec666e743680eb05bec7b1f8cfa3bba3d7f5c0e6e06cddde6ca879ea708388df140eef0";
+  sha512.doc = "482a2ef8edbe41ce76e2c32bb579b132c84306cbd5387cb5249b10a02826e610229ec9c75a1df53b5b930bb982e1157ad9ffa63a77f84461cb6cc6332f6d6e54";
   hasRunfiles = true;
 };
 "heuristica" = {
   stripPrefix = 0;
-  sha512.run = "1e554bed979dfc24f33f2d226bb7157152d6994f54010d18901c93131d0633f88eaa6f75ec88e12bddfc225cc1f7e1b5f23e7c06b20832177d0c6aabe083d0ab";
-  sha512.doc = "4dee89a14593ccebbe70f2bf68795a029e8df3823d0386e80c494d4e67119fa11a7b1dd136993090535a0983c972da887acce0d4898523336fa675a023c00a56";
+  sha512.run = "bbadd84c1cc0825f0dbe72bdd8f5c4b939ae1986dc0f97ea80ecf12999f97d455e2f89cd12e71e8a51ae4ccadbcb01ae7768a60a47b9b35f19b98ea17332372f";
+  sha512.doc = "f445e4588ba85a71af43640e6625fe1fbcb1f8a2208d2c5cfc7fadd1df325be3fdda85b9da4dd824f3c0445033b2bd9e2120e71abf61c6f55b9e828a3e61a87e";
   hasRunfiles = true;
-  version = "1.09";
+  version = "1.092";
 };
 "hexgame" = {
   stripPrefix = 0;
-  sha512.run = "6f549a4705a4330514524b88dd798b7ab46f39c8facd0a83882373e1352c8ff63ce6bce5cb05628f25cb06da3226a6c29d54f86ee6a4178ea406207869ea93cc";
-  sha512.doc = "5d93321d97204742c6c783b0b665597e9704ca88a733d55a9b55c0f1262781c99db19135c89209fb06df6d058b9d6c7af2a82f1c03493f446f90d23225bd7dd1";
+  sha512.run = "b16abb669f6bb5c3111e6c333353cc37a76431c49920a4cd22af79f6237f78a5c56124c5854b7665e9dcf963fb2715c488dd7ef4df86d5582aa7b3dbe3d08822";
+  sha512.doc = "0fad11a5510dd1a2ceec227c46c3f8c0c387ab3e2819bd70765d363ca5f97822147bfac62e69de773a96d24a881394c35c1542a8f08a1828a82f94aaa7f02644";
   hasRunfiles = true;
   version = "1.0";
 };
 "hf-tikz" = {
   stripPrefix = 0;
-  sha512.run = "e88264f40cbac85aefda33aa39d7dcdbb986dddc1871e8f3587ca67ed46c4ed815f1974b7d86fb4adb8ac4c5cee2c38d34b4142a5a3c4d27209510dff196d8c3";
-  sha512.doc = "ca50c52c2b6b4bad80d689f8a202646d3ad9de8ccc2b3dcdc7ffd3e76cfa51483c0de0a679fe5e12327667d66afbfb063e1a4cd72666e1165697366d46298aa8";
-  sha512.source = "f975201174caa84f26964fbf25aa04bdbfcd2a23d820fbd41ada4f5918faaab7adb73ccc94677eb053cdf2aeaaaf5f50d1baedd6847159fc2b767156b7c4b32c";
+  sha512.run = "47ca98b066829e6ea2009c4beb92db2c7671642c495f1011df9be00d546f3613b7853aba5db88e3805441eab66c873e15b60f5ef75cf21e906f80b5f11aa30a7";
+  sha512.doc = "234a8ccdd9cd921368f700fdcca818d0c76265371ac89e09c1a54454fa3e00f0f28fdc7f962c227f9bb69d851585f2c65e20b4a4093aacc3ad0aa84d1abc7f87";
+  sha512.source = "74fd110da2d0d248d70811db52f220012c0a41cecfaf702765cf8bdeae98d9e1a96c6087770de4fcc1ec249901ccc79837ed4e89b4527dd3f746ecf503c201ea";
   hasRunfiles = true;
   version = "0.3a";
 };
 "hfbright" = {
   stripPrefix = 0;
-  sha512.run = "e9a2e0f6e51f334e9a9907cb88eb8c7e816ebfe8217d185f4c632b25b5319222faa2cd604aceec48bb0d45ae0490d2069798838e9b2491883e7c409d8524b4ee";
-  sha512.doc = "6ccc4c4ad1bb46544d637bf7b05a4c9cbac8a396a4b7ee85b6253e71ed13c36e6afdb32d8736c04da30dd55011ef4d9e6dc94b488b0d825d0caf7c6873057ef5";
+  sha512.run = "91c8b007dd8ce71af9dbc98a66a82a395d68fc87a0abcf9518b5b89a98dc23b28f1b9b9aa551f82b920dc3e2d8b6500884eaa3bc98be48371a9774f9f283a641";
+  sha512.doc = "7de24b513093d965fab1f8d7d13ec4b356e7f5495cb3a8f17204b1a786288488b4921df6b7e184262bdd3aa11fed6483a25d0bf8e898db05c8b1f7dff769c175";
   hasRunfiles = true;
 };
 "hfoldsty" = {
   stripPrefix = 0;
-  sha512.run = "7fd7b4b1490f38c2a978ef8a530d7613323c934cfd2ec87b6ead261d94b464e9e96806899910d364c94445d6706650ba48b888de3c57bfcc3bc6ebab9029f957";
-  sha512.doc = "cc2817ecc48c5a26fa2374212b9fec1bf64ec30dd18446a4c06aa6d7a2ac24d4a404e91090db1fc0d0359bd234ad290451da7d16ee20c65c66aafbce145a3326";
-  sha512.source = "0a190ffadea04c2dd12bef0317933c5d434ffe779055f176e054774681de20b5bc984c5e141c5e21a592a8943ec1d9c6aa4151c1bcb369f4159d6b22be49f8e0";
+  sha512.run = "5ff36855df468bf59d387d56f4ea65c86ba304eb2495f2ca110558ef48c528ef444c7ebfaa378a454c311c806525ddaa639a32d3d1b16ca492b641f223133390";
+  sha512.doc = "1f88ae3c13857be317ac2097093bb368a9f1ffa2a8fe1b5e15f59622dabdce2f2b3aededbca31a4d17f05c2dcb28f8ae0c9be3cfb1758bab4501a99efc68612c";
+  sha512.source = "5ccd5708962e9ddeea3ac41426cac6469ae22914fc4bbb5779e25d592d1cfb0df78f73d79c969e00b68b38eb9ae7016cf394f9592c14d9400bba152e6fc91092";
   hasRunfiles = true;
   version = "1.15";
 };
 "hhtensor" = {
   stripPrefix = 0;
-  sha512.run = "e974e6742276db99ce21721d86f4ef258581e27d4a4893a21b52ab71e976ad7e445b4ee3c4c675a601e11f4d7795047818ae5decb28502a3633f1d21dcc6a123";
-  sha512.doc = "6f781f8b0c6701cc0c766963bff45a2de35db9f688b7647d5d2624912f0e95a82ec302c995ae417c961266375cedadbf17aa326f8807287ef0effbbf25940a7b";
-  sha512.source = "e78f57ef09994c2e4fcef640ed332bb884f2bbe8b1c31362d4d5f24f92493771ab0faa52d0573f13e52bba73651d55fe91cf5b6ce264119c826bb9cfa64f3b13";
+  sha512.run = "387fb53bc2c9b83d2f34d9fe7856e3e7c54e2403378a1f806e29549e1d4b871cbc8333b64f721230918b96b9082ebe0ec07533cae9e4ba54d73dd8244a95b1f3";
+  sha512.doc = "30de49c3074840066555f2363f2c4120d731c3d515c2b3ad6839bd4e04abfc7043930428f0345149c6da1b5396950c8864baff6414a42769f1652a057817616b";
+  sha512.source = "10c1cb953af7cbf3c1f31d06116833eeb4a3c81d66671ade683ad38cf97271e4f05070cf065389211baf8df13415d74086329d2e83f141f4167f0909214973da";
   hasRunfiles = true;
   version = "0.61";
 };
 "histogr" = {
   stripPrefix = 0;
-  sha512.run = "575dc55866f1e22ca0e749515888f80d7abaa84b590306d9a44f9e8268c05cef1e15b8c2095969b5c1914a7307a0ea0834f24a3ae1b903df8482680b32ed655d";
-  sha512.doc = "1f1861e7948e09fe03e6d886404f227f2337f963aa938f4e23921ef806adfee80bf16f83cfe9b8dff6e92e351f18960a3abe51e10e820b2cbb8ee72a1da8ebe3";
-  sha512.source = "0dd340a9ddb5d8baa9792384a7060e1db0e3c51e70d9dc67d245ef9a316f164f0db0c1d1fb132a9e580edf492d51f9c19ebad921c48ef12840dbce22ad39ae08";
+  sha512.run = "987c392828a4995afdb37b10194c7735a7dfe3375bcc6efda6592d3f35351c369c045a2c1464cd2653d6275913a335ce3d527afb44c51ee38d3038d4751eaadf";
+  sha512.doc = "6cebdf9d6000ba48dd8106645e7a05709ced06c8790f8383a036629d8d53ca434f5c5aa0ff511754ea9e00fa743e435a304dacc16edf18098409972f763f9087";
+  sha512.source = "f5e764adfe67c9e07261ff1211cc08ac9b4b076e67683dc50f9759e942f50810a72222a9669770b9f281b7f821d50a7da85014ad65461dcaf1117d54b98d89a2";
   hasRunfiles = true;
   version = "1.01";
 };
 "historische-zeitschrift" = {
   stripPrefix = 0;
-  sha512.run = "5374c1f2cda6679fdf9dfbbdbf8325097419947d69bce2cf4f1d72a8be9a5802d10d3033c9c93b0e0f2dd7ebbe604614d03f77ec51ed5660367be2c6c1928910";
-  sha512.doc = "9614eb3a642fba44e2818b0feac246aebff35693d153ec727602dba14259aae91fc5146dabb09d8c9e4f0163dccf618d68f442c2fce6d13ddcfa56dd2238b25c";
+  sha512.run = "da501792653c77f7cdac978a348e1267d4abc2e80d8b5565b47fdab4a1e2204f9544bab972a291d191ce26bd29203ff28a6440e2f8969cf1b33a5cea48998b04";
+  sha512.doc = "1b091b850e4936e8e6484ca484f740005c66458655a0cbe24938c3f33f23807fe9b7a0ab93b38f6a3481c684e35031398860d5452f6bc3fc8a8e6f4c2e82f927";
   hasRunfiles = true;
   version = "1.2";
 };
 "hitec" = {
   stripPrefix = 0;
-  sha512.run = "ecac36e6dba021f36c159b66566ef09679396f5b66214b2d308c2c6d7e863772bf583112c023c86d653d2da72cd20e930742d2dbcfa80b2f6b84349778b34cf6";
-  sha512.doc = "a219eb647e39a3971d26d31bdbbc36a5e4a5ad0e2c703796660da5e9e3ea2d85b60a3e4d7b2e0089cb5ccf958388cdef848b1c727ef06e0c7f2c557ac6e386d7";
+  sha512.run = "d7ebe166a23c05a1b78552c102507e697c07b955cddc8f4061d22fc42fc414664d3a1bc1c08e0dd122a987c736d24d4935dd944b37f62fe260b3c811678a3b30";
+  sha512.doc = "f166b529f29f0470770d5a24e0f3ea2be9021732fb5373611b87cda10ff2196d1d121258fda75369a2f0f9a65324f4a8dc0d3c5f377cf994c04807b18b5a46f3";
   hasRunfiles = true;
   version = "0.0beta";
 };
 "hithesis" = {
   stripPrefix = 0;
-  sha512.run = "3f1ae823b78c33d64ea06d492b41912ee7f8e04e8caaff5cd82faa9bfe1790fbe908239166df1f845e9036c225e022d30425def6147d01faaf5834d3d1f7ca2a";
-  sha512.doc = "8dbbd33a838b374694c885f7d23f069f3c26439fe28f4e30d5cb49dd3216cb87a71909b38ac3fc1dbc2baf9dfc3fcfd3124e2eb8ae3814f94148cebb0e51ffa2";
-  sha512.source = "ff49275c92de0adb28ae346f59d3360064dfbc555a5550ddc51cf6b132ab184ef9487f417a15e46947b1b9132063aa6aaf977e6e8103999e369bd6b85b9bdbc3";
+  sha512.run = "987d14e74f7adb87acc5b9ca44ffcda67872657f48ce421a13a028b7cde886ce6ae70d504d6684f42ec03774b6d1012a7fee11616b9f66ce6d989a2c4594e2cf";
+  sha512.doc = "18fe3f3b8892f69354caa043944fc6dad88b0f468506acbeb08eaa0b220dfee44af5ebd2470e70814205d07541b2eb3ad93532dbf0c1c1b544591eda81e05da8";
+  sha512.source = "9d77eeacbc6738862aeaf12b9af9f9474c90bd2a916e06fe4eed26743101eeea48e64508cb2ac29cb7abe9de56f1d187e4f84d89d0fe8408dbc4c878ef6587dd";
   hasRunfiles = true;
   version = "2.0.6";
 };
 "hletter" = {
   stripPrefix = 0;
-  sha512.run = "47f01846d4d0696af56c6e16c4aa5f61d0cda81e7b38b4a30bacb2bb88ae0494844e6f41f2e6b3fd403f5d9492d965babf7007994fdb5eeeaa047ecee85c264f";
-  sha512.doc = "2638b350b3244bcb7331750269c21be0d40a2faea524e9956907812ff4cac265a35f6efb19ea935edf1c44a56fb41fed4e4481ad3a41e954d518f9cd7fe76aad";
+  sha512.run = "bd79dec347980624c634918880718af9e434e24acaed206815e974c2db856e8f424e12b6870d920079626423f18a02fd326bdc387c256ae9c3a1dfa4ae26e71b";
+  sha512.doc = "67a9a39cf0c8ac1054588ad542a8ba3705e94445920d4ca85b46423a4cea364c58e8d2b02b7d7579c9684653734f0766e8ddced28a7c5ec77e0daa3c3dee26b9";
   hasRunfiles = true;
   version = "4.2";
 };
 "hlist" = {
   stripPrefix = 0;
-  sha512.run = "0d6fbd18d1f1cffb6f6f9fe00970bacd40a337bae6dc701c66782731224235a9e252fe78f2dedf997c6030d45dae43cf428e748974f10206cf68323a173de449";
-  sha512.doc = "73803f7c1f7d888271b99452a3ea2f4d7e3fd34e60c6b1f564aa230c63e58dc1fbfb44dbed0558ef95a924302f25dcd8c0e003ff55a76425c2957a95c4b8062f";
+  sha512.run = "9e2150f08a7fac07a0e2e36edcecbd5c16ab3c119d8532fbae9399f14c6c7567d2cf4e2a92eda9a650049a901a35b6a9a0dd3423a06da6a9d266a3859392334d";
+  sha512.doc = "5b3748d7f67fb51dc0df2a03318e96ac9224abc42291ab475a907befa14fc210d9d2371005150404480900865e8ffa9f97e3ab122109bb5454c3b061f66a064d";
   hasRunfiles = true;
   version = "0.11";
 };
+"hmtrump" = {
+  stripPrefix = 0;
+  sha512.run = "62efa57cc09a2792fb755112defae31666d44ef295f75f1f04b3742b63ae5696352bba7369778a88f822ff3e09bca00ed58157df6afdd664f7090c084c28f9c5";
+  sha512.doc = "58a765a12ff3ad55278502d8396c3580f971cb3af772acedd54d29fd47b73716ad543561d7d7f58a97b54c400e827e54bdaae3d6a599999ed12ef8d884d2c7fa";
+  hasRunfiles = true;
+  version = "1.2a";
+};
 "hobby" = {
   stripPrefix = 0;
-  sha512.run = "3746a55d5e85247837fbd49fb8861404400d718b1e58be288ec95d80139fdc54286fd297b1688c2ddce6ca9cf46a73bdab4cf12fd127e0989d64f62211d13c5e";
-  sha512.doc = "46696a2b257509758d8dec1736f12f9ce8b54358fa7dab23b56cd6c78bd34890021868aff3dddc9c28525a8af30924b7f33fd7e488e6ac90dab2e28c1b1a14e2";
-  sha512.source = "cc152d8c0669a54680b66237be894535eb7da745985050efb9fe249bcd36db5c5e99a454a0834f02bc07f57c5a3e3eeab0583e2b705bd03a2e9311b3e7787a53";
+  sha512.run = "669c768dffa4e88d831d0a03a7e518fb2c101cd0af9ca1e15e6527ccbe78a13485145bedd4ef45cbaefcc94e4bead303acb89a0d0f50c6fc3a7ab312717febad";
+  sha512.doc = "7c8a353078be8b94195558d1d7a319173b4480a616c8725b99357ed3a086565c238b944b9b3baa719b354dcff9476aa7c7ffb055565df546054e662370d5d808";
+  sha512.source = "216ff34f42c28fd3e2303ff5032a299668881fbe51e8c8957547dd7953b2296e984a449cc09b79268b968ec8fcb8b774453a26e88156f5b7bbc6cb78a57de7e7";
   hasRunfiles = true;
   version = "1.8";
 };
 "hobete" = {
   stripPrefix = 0;
-  sha512.run = "29b74fd2f761b99e15329633e4c38c0bb37629d1fc158511ccbec620955dfdb1c43f92741ec700330bba78bae6cd2733dd1f76d13a77929674111f0f196b0586";
-  sha512.doc = "c6a8f41cc7b988813d02c24a9c2a8f010da9513385480f3549e4148d62c578ae35b28394656a51b2f5b337e2137034aa9d08ea5b5240c4439321f9d68dfe1e7d";
+  sha512.run = "d2c79f5d39fbe82b43704a78add3a016768ff282d48ed1f49d1991c6ab56bef5266e8cfa7b3b03bcc944990d407ae43eca99930270ab84679f51323407b861a0";
+  sha512.doc = "ef7b1bd487c496cb2ffc01fb2940a72ac69edb1a5516d19ce6a6e6cb197ba6f517e03ac673b2372cc9cd4f40e5c6ea2469c2712528a10a3f5ba09e9d3a46f209";
   hasRunfiles = true;
 };
 "hook-pre-commit-pkg" = {
   stripPrefix = 0;
-  sha512.run = "3911e1932a1667cb867fbd62b58ae832ac8aa63d46ef905195df14c924cc682fc3517d006da78eedba27b950d9e9488b3523a97109c15befa036f07baf59b853";
-  sha512.doc = "94945a10d1384577c94f4fd4ba8a2525e6ef1f95899d719396b7a6d7526bb9823e07ff32b8bd570081da0f78cf1310564bc7c97bb6fbe25c880845b1c2e60f32";
+  sha512.run = "6fb3009d4bb4016f0d6e92571d52aaf7e3780d39a6b2ec73ffb37112b3f153ed71ecbcd985b81dd841f296a39da83e9004a2d6e6e85e9a49765e1682563cfde3";
+  sha512.doc = "3873c4714a8a6d221f860a5d0606113c64482b363727067e0017d27e99d73f31cfdac88a799fb1412225baffaecd7bb03dbdc66b607a075b1e4539ffc0df2a9d";
   version = "1.1.2";
 };
 "horoscop" = {
   stripPrefix = 0;
-  sha512.run = "8ef1f301ee3c5d934ec79dfb4205b8076f6c6937db298200474e4b5f35ca9821b8be72404fbd09184b4691bd8a73b76ebea4414504a239b7c97592fa183b64be";
-  sha512.doc = "ec47fe5110fdf79f218ed3a45c8df8f8556099627aa04d7dddb9ef248e520526764264259b6c47ba19053b9c014327cddde2a3624160a2b4d47f72ca5a59617d";
-  sha512.source = "a955e8de3273af88e7048ee5289cc7617b0a26387989bdb580b5c82d453d381612abada18e34d677b3b03e8314115567106f413c66ef738654e80a500814722c";
+  sha512.run = "077b7bc742d0526daf7380a080e640de72d61d5e65cac441d3291e1dfee8c0240be8817328e7080fe410fca9ebc8b5d13e8719ed48bd7d412485d7c5d2f67ce0";
+  sha512.doc = "b7cfdfb772f5423fe4cdcd914a4b0934162ea33542a773b14d91d057efcd05b7febfff46decc3760512b0df95f52180a4de0dea2f0dcc4b504945ee572f832a7";
+  sha512.source = "2e132bba43dce98d65a717f755062ed6f63ecc0775134562d1061fc28d7776fb02baf7502273d1e825306a8a19eecd4d4e94d4603687ebc0df1923b27a213cb1";
   hasRunfiles = true;
   version = "0.92";
 };
 "hpsdiss" = {
   stripPrefix = 0;
-  sha512.run = "01040a8493fa4f072dae13d14357a57f24fdd825c49090b6fd8dc0b19ff8a8b0acb79c2e16d94f8f30ba185c51116a7d5f9b88f4a2b6543c8ba3bdde98133341";
-  sha512.doc = "85a9d32ce39bf02399de4c9ec7eadd0d24879c27adbd5bcc945c780aa978144efc48b9cc21d1bdfb9d610cd129f86efd3745b026690d85d76511ec24e3f9123a";
-  sha512.source = "408ad0eae02e7e2ec6378c129610805b7886b3a157402f7d95a6885c530fc81f8f850e16d0d70a82bf5746e58c8f1d79e271ea8fd79e9f6e27885e58ae02bf7e";
+  sha512.run = "4905368d081cc6e7f2c7b43b28d4c6e22081796d8594e5a07e521bb7ab0fb14c9ccce1dcbe135b0cbc5a7b2671e3041d7764ff80c7e1543b4ac4cefe945794b4";
+  sha512.doc = "566f0509feee0bc5c28481fb62f2c991827cd5855f9696fdda79628f5c43329b39dd508fe9613d2c0f823bef421a97393fd303d830c779c42ac67f88303a239b";
+  sha512.source = "8337cbedc42502ececcfd60adf422e15aba32381c46489a82d8b618286a4d8848c0288136771b8acdbb03af9f39029e4be8e1c287f6dac9bd3ade3b727e8ec8e";
   hasRunfiles = true;
   version = "1.0";
 };
 "hrefhide" = {
   stripPrefix = 0;
-  sha512.run = "d91885dd641c9cfb5b9b8ef7e5806093fdeef096e28d89eca7443e14327095fcf81b076c18d97979d8f15e08df9fbae104a9fc270eec6cd2c3063412007d1b8e";
-  sha512.doc = "1774553b6bccb4bec504b5a34a3ed29f2edda4ad5a709c5ff92826d86a776dc1705bfeabb3c8089e5a7178fe0cec0bec7f45d4aa4e7d349823b889274ed565e4";
-  sha512.source = "f02eaccb774c2442166361f24f0dca925cb515c336e5aa5cfb9f202fed5d1a77e2dff4770c11ce2793245f54ca3889168625759506339767c97fea5ff0de2cde";
+  sha512.run = "6d96fdc550a99ed7f3e4dbee19a589c27b27af16f910a22befb51bfb452d8f9f57cbb27f1ecf96c5604e61eb1cd0343c0a07810ac1519dc51422183d6229916e";
+  sha512.doc = "a8ae0fbbb185ded46cbc1d7550526230de4098bf3a5bc8bf72ec8f5a5b4b93703501da19a4c9e09e08044aea768a01e39dfa36c38c9be72c7aee8e61f58acd71";
+  sha512.source = "ed08bbabfdd78725060f3bac173d2819ddfe494e99d76abe02ffff755718caafc520e0336299c8c1dda0db1492089316e05b1b85c93c866b683703b471e845b4";
   hasRunfiles = true;
   version = "1.0f";
 };
 "hrlatex" = {
   stripPrefix = 0;
-  sha512.run = "ec8be06c668db498225eb27d08abf178c82518275471f1b9a458c230f47946f0e18a28513c27d2aba1bf4937ab60d6f88612972210a8a631589e294fa80c9b25";
-  sha512.doc = "d8d5bcdd588a57a20061dadf62bf74b447a211574efcbbdb288119b3a51255182047cbbe4e9db41199034d6e3733f112bc4f741f5e0dd654c68f844aacd44961";
-  sha512.source = "a3127361fdf057ec7a69a75a40111636c68eb2088330c966074b4f9af9eca6a854d83d6ee5346c582a0ef32ad99f1c2066760885912531d45b286498ea7203c5";
+  sha512.run = "14bd6fdf4a60ec599971b1f5ee7ae5fc649b0d1382f9dff8bf9905f4623f3964c2d552bbc4485680d22cf04651a5e49b71220ec2c05e6599356b6dcee6e4d122";
+  sha512.doc = "ecd67675466d365f00e49b775ae3e5264e2d10d574dbbe913d52b3a5b553fe942e06fcca26cb2357fa76688c55fc4268bf7d18f5cb2a90663bfe47c11a5bbde7";
+  sha512.source = "01f47918a1926f36840fd4d78debc70cbe09fd2a52b06ede7b40d7c3ce0d42e6385d54cd2cc96eed8bc222ebcbd2e7ab191c41f8c8df82f9b5ff93d2e0f54a16";
   hasRunfiles = true;
   version = "0.23";
 };
+"hu-berlin-bundle" = {
+  stripPrefix = 0;
+  sha512.run = "1f7e2b6dece2dca1334c876cb881f7754bdc2e66eac656c577a416f26873b5fc6ffdf0bf539b446ceb66ad28d7334e3dc340ed33bc59a24a1ebd734b936b754a";
+  sha512.doc = "67ae49666ac397c0cf86eaedfb1b7a2cd0748074b518ecdba2ab9c38f25408f4de42a8293eb3ddbef9724dfb24be1e8da30f3ee5ea4e6bfb9f11c730d622931a";
+  sha512.source = "7de2dba58b4efbe8bd03290fc90c29f6b515abbd74d32f8eb1639a488c5ea98cb4b7a94ca9883d69dbb0cdf16adffad913fabf01ac5184fabf8ea615feb4ddf5";
+  hasRunfiles = true;
+  version = "1.0.3";
+};
 "hulipsum" = {
   stripPrefix = 0;
-  sha512.run = "550c0c9796d99aa685c448e9a64fcad28a61ed1a5c3c2a7a6de1d8b0a20e873c140c324b209877d09fb57864736563f862de7ee3c56360c5284e88b52dadbaea";
-  sha512.doc = "c68827618d24f702e438a6bf1e22f70bf1d1203e67758f767d32b0224a4231a1adc4b339c2ddca2b06e59615fcbb2f9141ef193b9b7fe0f2d56d63b82369db60";
-  sha512.source = "3e5da3c8af258bc6cac81490f5f65f6710216f476dd3f17a55ebef7bb7f79ae8209b0f269620f29d2983194baa2478a54e3851bc15a095c6f2134ee8a2151463";
+  sha512.run = "c43867cb608e955254f2c597d3fd9938fe815c1683c9d61dcd1cfff29608b5c391d7374a740646dd915fdcf282d9adb8f83d3dcb6781fbe547b685de81f67143";
+  sha512.doc = "43dcdd731116bd1eac309b1213b3c961dd189f861b8732d73127ba6b4c20d3ea3584f03340ff5973b4aab11744e61069edfe6736d389e1487587d0372591e343";
+  sha512.source = "e1290087087ab8d63d2e2de72cbf641ec71ae362a64faca2e362cccfb05890abc9cd970a2eca1b1c10cdd95760dd82e8bc90fe0e8ef4d99df6cbabba24c80be0";
   hasRunfiles = true;
   version = "1.0";
 };
 "hustthesis" = {
   stripPrefix = 0;
-  sha512.run = "6589bb1d8450db368522f141c96e7498acb098b1fc68902862fef692d49dde8333f18c374c28db9dcfe1d18bd03193ef94f84564db08e275e266e107b6c934ab";
-  sha512.doc = "f9c20575406b5284af3f7a53b9add4c5fcc9095f7d514ceeafd7793acd81704762aaa0b45f45d5d0bf5abad2e7a381e955910cb604e11266c6a057f079f411c2";
-  sha512.source = "9dd31a9b6ef2ce2b52d8503756e7e0ce8e74f7e744b043530aa992092ebb117a4c9d1b8e79dae545871514934b3f7774f14569ea3540685bdb4593b9e15ff746";
+  sha512.run = "508c86a6cf5e3d952dd43786f78952cc8bbe635620a913abd82b49c2cfade29875bc924d5ea89803b03008328c7297010e98f70b62b5191d9855e0cc1614d3d0";
+  sha512.doc = "5c114cda4bd4264904b7fdfedd55720046403b8cd3c1bce4181dffbf319a9107ec0ad8cdd092922c8c5268aac62437d1128a45ea0cdff4121a40f02e26dc0148";
+  sha512.source = "61b6147d4bd063995900479b894b60d929445e60855c522e46abaedfbd33f7516f90a99d5052b3241d7070d375504cd660446d6647c28284e76d0ff9ec5aaf76";
   hasRunfiles = true;
   version = "1.4";
 };
 "hvfloat" = {
   stripPrefix = 0;
-  sha512.run = "1213690dc1b074c39ab4dc2d932966961b6788c37fe9d5b0138bfc40ee854a1c33f5c84de93ac642a2741a74d9b8b9589b1e7e573c1a289651f91bc52f003985";
-  sha512.doc = "692749091967845b981771fb52a07c5aa256ee05a8f5293278a3806526c2414a5fc8985d7911c3a72996675c7f290485941c4b836b78dc25959eb1cb8a9dab84";
+  sha512.run = "717fd6f3a1b9f7fab0cbbfa929b09e9186637d56092f50d1f0d1603b7b7d67c300587d12e9ec25e73a89b240ac3744bbf232802b2046d34b8606263a7fb6064b";
+  sha512.doc = "98b61ee75c06007773a5119a5c9ded7d0ff9579e016dd024265329193661771ae246b9e0e44c55017dae9754219f2898abf221a4affb6231e0d7ef775fbfc30d";
   hasRunfiles = true;
-  version = "1.2b";
+  version = "2.16";
 };
 "hvindex" = {
   stripPrefix = 0;
-  sha512.run = "229abc2d2c8ae1db136c4cae13bcd9b24906a0e594774b098c03e907960179af2e120df4498b6e91a594464bc1d6b598438def80c6f5fbcc878bb8803c2e4232";
-  sha512.doc = "24dab31ddac4edeeb1ecaa235ce88fa6384eee0b80df4aff9d0c4e1ff35c3074799a34111ca05e1176b5f18b0abbc0b85dea930b6dd72246cd709a3a9950cd48";
+  sha512.run = "12e47531ca8dcea2f195d86b5721f2a62d2590de5a0b464e5e6de5484ee34803eac14f2474e4a00938f6d5e5b307ed3183ea3aa0a4f0d5874877356de6e8c83d";
+  sha512.doc = "2a10c26537e550e3d51330c704711c2c43b872f90db15ee709dcfe603a5fc64102a8b466c5d5b7ab4706d5e96e91b11559305ac607477776f34da97590151368";
   hasRunfiles = true;
   version = "0.04";
 };
 "hypdvips" = {
   stripPrefix = 0;
-  sha512.run = "f0f6bf1ba27eec8c78b7e11b53ac9093c68a133dbad15fa9ca220d2f6df2bcceb3788bb1b0d19582803220d397fc7e4160a4ccd5627852180dfa64f617a2d9cb";
-  sha512.doc = "71759765aac53988dfc2033efb33c66684f5649e5c6d827c8d1447bb64544a41474d4ed75aa5c2a9d62c012c6fbc0723994f6f0bae4b0a6b31bafe3536852636";
+  sha512.run = "da692cfec4c9989b313326cf32c00a2602413da7a01b1bd7557ce5bf982fde071e1e4ca6613f0e2c7ff74b53a8edd5cc88c2b8ccc681ea94a46a5ccf97f2d3bc";
+  sha512.doc = "40c8126cb0fe0ee748afe0c46f80fa3a01cb52142b3d8e06168877b8e08a7d35c80e555322ef97ada73f17f649e50ded340836d33eba3d9560143e7f64abe2a3";
   hasRunfiles = true;
-  version = "3.02";
+  version = "3.03";
 };
 "hyper" = {
   stripPrefix = 0;
-  sha512.run = "6d0f94126fbb76fa8d6f6c44240b6d8b9971f0513bd5e9d9d14f68cc32bfe3c9c4e8adb8b092ddcc615ccc5c44be52712b72d2ff382ab0810b6f7f72d3d5f960";
-  sha512.doc = "f07c0634e9cac0053164c1689d80a6fb5868180ac48534222f5bfe661bca21ac36464b4ae369f0e1ea874d28abceba1d4f0027df6fb585a0efba054f64274484";
-  sha512.source = "40130d795fd88720fcff24137eb7cd83fde37f134b7674dd04890363fa388b0d805528511f6d99bca08d07bad9ecb47cff7478bfefe969abc0bb39d13cef219f";
+  sha512.run = "6e5bbad0a682440e28be67fc893a970de315671e1f4987bebff4a163d9c38bb33d8de9557765f1d8c74386556c59e332ef5855a3f1fe36d08eddcbd2a77179df";
+  sha512.doc = "41fafe8bcaf651994c45abd0040e2123caf8e33fd2d06fafd310d978c10ae5c705f7dd64d9b4740bacee51f11fe52741ed64f83d6b236d298cb6c932fd3ba06e";
+  sha512.source = "50552c5d6650973719d892d2696ee4885f8fa78d9e9c62e3fabd8ac42f35610c025c508aaa250f52c5c7676cb5e0e6aa4b75efdd19d3c9e1f3b3ac6981ab1342";
   hasRunfiles = true;
   version = "4.2d";
 };
 "hyperbar" = {
   stripPrefix = 0;
-  sha512.run = "c778d9a242267a20c0e4fc5f097cd01d907411bbacdecc96f2aa98be73b7b666b8194bd9e9ee38ebb77ae5c0277546a1d64a9749395f2b5410222bfc84d3a932";
-  sha512.doc = "63503e786691e75155e236eb35e704d426d0b2e411987a13488ee432cd33a7c2e1e6976760d5909ddd483ac03bc0058e30fb15a0617633c557b3da39c93b5846";
-  sha512.source = "a21f7d15a908ce8ac59172d53326582b26eb69d80d4ae8be3a6a469e55da0c75c3784894fb40179d15a397ea1d414857b4ab3ab304d7f1e7dd68dbf887bcdaf4";
+  sha512.run = "80077002a3bdc99339749e2f76687a0f8597a786fd3ca3f5207ec44dc2037dbec1e696ab58d77ee6b067d6e958357cb8f0c9805621c3feeb40dde004851311b3";
+  sha512.doc = "0598acd8fb945605b204c5c99982db63f4fc06fc82c47f7b301ead30be0474c7dde5eb4f78f3aa698160cd068d38aa2aabe3a1fae3c49cc32194e7cd796839c2";
+  sha512.source = "99555f8a939783db613ceaf509fbf2d95352ce8e774e750a9d552717eb538a64663a905a063b6b93aa83384ce322079656c61eeccc9678bdee47b2c56e52220b";
   hasRunfiles = true;
   version = "0.1";
 };
 "hypernat" = {
   stripPrefix = 0;
-  sha512.run = "4d11cb8c93c4b545a8d0888713b88ea5bdec07f2c102ee8dbf660b5115083dbb5f2154385493b72f97b16207e349f89dd22cf4ba008fd0910b719e9812854990";
-  sha512.doc = "b64dc6fecb5b0e9acf0a53442ca2fa174743e93281d9982bd36418f2a23983372ae44fbad3de66feae19882cacdeefb8d4a62e2eaf1689dcf4a19a33369d5c58";
+  sha512.run = "0a803b9e7d23d364122869a89a6f181132f00b54d39f677a9d9471c336c933ba0e743fa4100636a6d3e929714a8896ce964e7614800c675ab9df7cce7e6d732c";
+  sha512.doc = "04a3f646e1595404513149f0ba56a36f0cc21a29f3ab455f38c4a7c3f5a282199208ac3aad329f38aa9fd5086762d326d85fa5052dba125d944969bfc0446489";
   hasRunfiles = true;
   version = "1.0b";
 };
 "hyperref" = {
   stripPrefix = 0;
-  sha512.run = "c17727ce03aa38b87195485bc7b7860181a9940ea1777f435a2bd2ca4bdb475e50123c85d4d2493f4314134ea53e09374b0df2e5299a0bc047621ced0d860a55";
-  sha512.doc = "b7d46f626322d4b01a5a266e0d00f17b13bd02a1896077c97af4378a98cab8e7edb67aaa9e1076af0744732bde2ef40574b5c624a9ea42d63c59890fdca16733";
-  sha512.source = "f6c33ab693e91d0dc90146b151be50bca05eb91c1c9a5387a9cf4bdbeb9b9f71a793340468e1bb0c79a2329fda2aa9cae9766e72314dd4e1d9d74696e3d64a96";
+  sha512.run = "a05e87f45b52f1e73fda4233dd3c117828d3edf06ae8eeec2657a4c887bd8f7ca65cbb4def4f68a2222b2b586da3df9be7eb75aabf2aefc6c80c7d1f191e2af7";
+  sha512.doc = "d3a016cd4de4003d65dce1382e0b987bf62e9d5e6107fceac9ff78c23cda49f8d35b8b2963403258ae4328e3feb3ac8d4d24936a3937cd4fdd575e854a082be6";
+  sha512.source = "23a44931030ff104b7f2251458401a10133b9352021ff9f316b12026a56485b05c5ac05666c8f4eae038a962ffc2d06be32efbe80af16b2094e8ff6cad6cad0c";
   hasRunfiles = true;
-  version = "6.88e";
+  version = "7.00a";
 };
 "hyperxmp" = {
   stripPrefix = 0;
-  sha512.run = "ace4419f17f5546a0613ced04a23aa3e0aba15300e4684ef0bcbd8b1ed74b167d67b2e98ead5968b02b3a4a2929f96536e5f5bb6d850c8e471a9390244226266";
-  sha512.doc = "a2cfbae67380184eb7bbdee6abbcfcdb989993a67cc0e9c660fadb39da3e1a5e58b169ba802eba208257f02309d59faa7ddb10120d0faa2125d512b55c591953";
-  sha512.source = "8d37b6a604e48bbc672de4a0bbb54c66c2731df36ee6f936d23de89b85dd445da2e25d33e07e0ea9036d743311807cfe533aeafffb41511961cc92ae5da9e5a2";
+  sha512.run = "95ab28036eb17cc540ade3462c3f205eeb07e6dbfbb6d150bff2c8264c3ba344dc7e977391a2c72c0d2d26f51e5cdb56751507b56da8d6862b7a2eb941929694";
+  sha512.doc = "473038ca262432f860decdb67c4fca775bc96ff62da4dcff7b6f6b5c681302f32383c112b46b470fe0d96edc4599b4c2e328fbacab0ba091d9d1e9e5e837d1d4";
+  sha512.source = "bba2d1f71c938ac57423e792ea49cd6008f97a3aeb608359780370f832157ed716759460dd1daefaf6b88af40ab03ab7ccb6237202e8fd7dd43c0504df1e2daf";
   hasRunfiles = true;
-  version = "3.5a";
+  version = "4.1";
 };
 "hyph-utf8" = {
   stripPrefix = 0;
-  sha512.run = "20bc63ab0c3943525fb90c957ad2fc05b799fd0617434421c5947ba2b8599edf9882f666394723eb5f0026b4f00f97be7bb5ebfb33060e61a97647de252bf630";
-  sha512.doc = "aec63ae1506f9de4bdc7ce5bed6cc64bd78fcb7486eeddc885fa69074576a0c34818ea407e6309f0694c6cdefcdf3bd088878cf90a004701295ee6ee871fda7b";
-  sha512.source = "e551de53c529ecbf137bf854a99c1b415148ea089d1dc81c2a9cc722a626f94a9679ce541ed64a8ba8ebf0cb0cb58d4829bedccd47e344706f37d9da3c560a83";
+  sha512.run = "51fd6b51c1292b74c7eb6e8ec3fa7cbc7e02b8c5d716aa55e378a4103d21f7c4dd5298e2efdc47378d27d5326830b9b94846fe3109d3bbdf60f8e038969ad95e";
+  sha512.doc = "027285084e97c6a51296e532d306dd22d4b43ef02928e06d9d684d0137d0379d4f67f83e0f16e472fe37bd285793615af8bf082bbf7a959d586173a04bc5326d";
+  sha512.source = "10c310af9e16263817c400686b7894d6b62f99c418972e7f494245e2d810e8fa02464ddf7175d64a857a3b1237059df5d63277ff7852993bc0f5e6680c82111c";
   hasRunfiles = true;
 };
 "hyphen-afrikaans" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "95f9aa7e9852cea83082bcd73786071786ed8dc5d1de57c1374f1ce5802dee3b009b9f9f1afca2d6798ebf06f2fd2b8de47bc5526d898e563376dbd2f89f13ef";
+  sha512.run = "71da785bd33d3c4ebb5315696e1fa9466e188e13a60fd60920e923a49e74b593fdd0f50cbe5350d28921739a0f3e72866e04736d95045a670f53c36b6ae7e83d";
   hasRunfiles = true;
 };
 "hyphen-ancientgreek" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e92f92508b5a9add2395c7f52d2520b96b62296f992eb886fbb6865fae0407edf6bf26ee00051d8935e07da5f5abf789f6087d8acf1b4a367cc4889551d56596";
+  sha512.run = "ee5105a58c49f808594d9b2912f85f15617c8187113663d3de3bee4824dec509f8010d89b8610b67c074b38ad7e7aff835994b044dc40c8ba72f2d08e370bb9f";
   hasRunfiles = true;
 };
 "hyphen-arabic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "43659f34dffc68e8e44fe46bbcfe7110473a12ad729f661184060124f3cf777cf46f260b27edc8760555fa944381094212f89ec649fcb794c809fddce4f60993";
+  sha512.run = "1b43cfa50f074441f757b841b00656ab383ccabf5f2fafd8260e4088de13aabe8e2c3e7099e3d84ef0dff49fd312f17fe11e44892f95b6d7e149e2d4cd023171";
+  hasRunfiles = true;
 };
 "hyphen-armenian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f424eb6b1b21a94fbed73e5d6fda2a4e171a19705a8c8dee805c64b418e78a5a67cae7ae189f988708af1ad55f295d84826e628f4d16c3aeeb2365bef7725a92";
-  sha512.source = "0fdf3826fbd7797e6b7945ffa68b64aecb7a27cce3cecfbfb55f69b0dfc4a3ab5887d574fb03cec5c2948e19728ae02101bd1a19b6c62ecf78c19da37eacacc8";
+  sha512.run = "a9963cd663ec8e060619d01516fe326149666d3b34e1f1afaaae42020d17c40885599e485d60d0241c9b3b54bfb9614725d2ff39a9bb5f002a240b2c54d2d57e";
+  sha512.source = "8c2177d07755e7a0255057cbe8f9620badedef5fe70b6945c467b555b079d00b7de42ba4b65be095bafb88b2d867e2cbdded53be5bd5c6b5d6d3cc9b55471584";
   hasRunfiles = true;
 };
 "hyphen-base" = {
   stripPrefix = 0;
-  sha512.run = "445afd44630f10078cd5e2780ebfe5c27cc384956180fba70dce7afee00686d68bc3e3d7f34f014a76c4b246877bdce6ad64f375dcd5dad786432d1b19822a1c";
+  sha512.run = "e1980b81a98b82da2e590d08ae5873529041f3b048396d9bd1c3e644e6e8a48a8eb2040ce120462a9e844353f8f0c3fa93c38bd7492d35d390525fac69794503";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "96023478789ae311ec9887b8a0b6bd2104a96d62f3307a65d653d1bf91cd27503f8273dacdd963bc562bbccc3001de27de434592d278d2c047394d370c943e37";
-  sha512.source = "b489763fa6876161940e4c8164db4ba7c2429f540d236bb4b474003b0002ac5c87729199f8a80a6390fa0537794f11196e58221526c325c23567454f07c14744";
+  sha512.run = "dc57f3ec18dc77de7f638084dfd42e236fb53cdd4027261f81b1425e89397e3343568558c869bc2def57cadebaa5ad113e9993bbc903b157ef3de88d9b6ce23e";
+  sha512.source = "7828868113962bea3e6465f7d7bfeeb9e1c065180fc11faf8d4c17d855931cddbcf4194d6ff65f0af71edbb6d802ec087aa9f745dca9e311a2391be642d0be99";
   hasRunfiles = true;
 };
 "hyphen-belarusian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e04e3b2c474bc31346432f95676665d6472466a88c81ff5dc6f70cc59e0b19dc7aab5d7f7d362fc58fc31d8712b6fa0e9c6582c9d73c5869959cbd6b670afbba";
+  sha512.run = "2da329c3f21b3422294bde8a9cc896aa3e65fb892a71e98a7b836d681b8f3f3b54dd3fa609a3e4c2a46776a0556cfa190aefae10de2f4e20a686c1c15d18c913";
   hasRunfiles = true;
 };
 "hyphen-bulgarian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "eab382dc46de0d78661b2ae89d78ed59c7c9fc5013b18fb7f48a0ac78dd12d2eff610c4f0cf4aa8f2220f68b2a7b84b386c398b20d6cc075bbd3a93fbe87fa61";
-  sha512.doc = "b0ea82c4c4cbe032ee05da60c010bc5487cc7b030a3c67ec2547e3cb9cf2a56419b01140fc5b316b30b3453ce6fd8a544a4bb35e14952d9028b5f018b5ff8cee";
+  sha512.run = "32a2745a2d94dd306b852ae0d86f26fceda1fafddf0e43c36b323b521b77526ed1a703fdcc1fc7c0548563cdecb80bfe60218c1c939aa5fd595e2ad7ae5552f9";
   hasRunfiles = true;
 };
 "hyphen-catalan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "9a85a49de1c4856f352288f475e9ad8cb821583d53cc5e3d6ddbc459772876a8c6d3439f316f000fb4a3829de1e7ebb7cdd5ab48ad111c429d8ab3dc038f537a";
+  sha512.run = "86979241d2a216460d2cd53cb5bb5a6df257b0273c4a4f5b1b799397be48ab6783e37fd041cc8071a1433a8af138a4d3a777cc050cbaf4907578e7ce0645ab5c";
   hasRunfiles = true;
 };
 "hyphen-chinese" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e254cbd679ae63b02261f0070fe20f3d4c7b510d809490fdce7e3dd9c62505c1a4272ef75851d55e84cb79a98d280b4c45ae4bc33f5c0c4f67572cd4bd0a4beb";
+  sha512.run = "1b37c95821b46758e2ccb089f3897c1691e76e7c7aa760e45c0305835c8e4719751c53e6a1a28d2153184e6c1aa20bbd4595a4ccd55a7fc196dc36cead9e2f71";
   hasRunfiles = true;
 };
 "hyphen-churchslavonic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b65ab2432caed780663fd35340b5185551a73d947c76d0fea9a77688567dc1e0ba057e613d8676868ca4eee8a9c95f57ceb441c0c32a8b5ef8fe1b06f58589ad";
+  sha512.run = "5a2f3bd482818959c2abb74587c04a46919cda5f7ae627a830e2eff6f51ce233e8a2ec8fad727eadb7d18dfb1d2c19b589d94dbdffb36d7af4307e16ff6d4ab5";
   hasRunfiles = true;
 };
 "hyphen-coptic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "0fb6d2060615f7fc78bc210aad82d837d917811fd83cd902fe1b23e1b9d07626d3f8535182c47bff579d582336d25060120176737db8abe758a7e2171c4f006b";
+  sha512.run = "737dcf70c32e3d39a8092e69027663e9ee173116c14219dbce52f583bf33015035249d34c8cdea4317cd1d94b658869852aceeae1279ce784e9754149f420465";
   hasRunfiles = true;
 };
 "hyphen-croatian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d4fd152ac264f9bff5560b24890822b0aa7b191b7fbca8fae9d721090a033ee7a42454406c51f6643f5d0ba1c13b6fc2cb2001059a4f173db4b947b413aea42b";
+  sha512.run = "97c4b047a94488d43a1542ed77ccaefc6d369051707298a3f86926e0170c63647a40e0dd2eb4363a7d5bf526358ba48e5674a386451a41877c9176f4ba49c994";
   hasRunfiles = true;
 };
 "hyphen-czech" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "fc00e9e5d7137c353d0871d3ef648102b9ae01ade41eb22e1307bc900fe41df8be385f7964891ed1fc778318fab4ec6e06c242d2bb7eed65bc91d0297fb73a46";
+  sha512.run = "ea97fbb5b273238881865f8499c300d9b1886e921eb50ccf01291c40059cde75088890d4a06cdf2e43d4aaddc7aa43ab82174c0a50097044a69a53a694b47aba";
   hasRunfiles = true;
 };
 "hyphen-danish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "2993f99ea3027d7f8f55dfe210216ffd891fb8a0a85f1d41096740f01d0b9e455e668d7b51c90dbaff36a9f1b5b4135b265ad609919ea59010e06f265e3289eb";
+  sha512.run = "b579b6d00c0139fc5fd1058b5b1333a231a21738a44152346b69d04b39e02ffd01c530ac89f98d2566d17c765c42461c71985b645fc2e62a380814051d064f03";
   hasRunfiles = true;
 };
 "hyphen-dutch" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7c9ecc54c946ce687b4b70276a28c4abc6dfe6dbe86112ebc6f498520198058ca593657fbf771f0412b6ed071adddde99a8b6c29a3fb3d2980334c1479baffc3";
+  sha512.run = "934483760e5a81a65ac8aae0b7d910b5fdea1a62ef7d9575e1a15027309e19b12cae27fd36f75b5336f6f0b38de33530bc4222e27ff3afe60f8e94b16897b816";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -14648,71 +14981,72 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "08736fd1cd7ad6e4df3b5fa5920a99d00d61a8f5a20a57af19312fcd4037662198ba07ccf0532c916b46c154dbcd1d65842073091613b8f63975cc9654934a59";
+  sha512.run = "ce688320bb2cf250f9ef4089db9c5d8af38fc1fc12c289ac87f1508f8f5ac09a5fd0fb9206a1b5d446488e68ec3a7184ae45038501afcdc1cf52dabb6cc7ca50";
   hasRunfiles = true;
 };
 "hyphen-esperanto" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "6267f2623968803f9a9f541e693b60fb69fbff54a40b3703eb3c1b8e62de239a152dd54e7fcece2138667366ef200ed909051234497d746c1f667353a0b2d305";
+  sha512.run = "da7b5bcf0bd6d6f2a34d5b5330f9a97c73f7dde48b28545f8c6d21b5235156535b2910d386fa9f3b4e68915b81f534421022be345da967bd90723be7997f3b6e";
   hasRunfiles = true;
 };
 "hyphen-estonian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "609ea42478d9d6fd1117a9a819c24ad4345397eb5e1a1e4329ebbd33dc1235747ef7bb8ae2d453021cac42aad95bf22bad3ecb5a2b1b91ac0f053ba7cd2a1e07";
+  sha512.run = "899452321c4d907d7f811f044d9d8552d522ed53446419f59a5f8668dae977a3bad3b1dc02bba05c803cfff9a61b4394fa7bf879e1c85a8ff7400eef672d6d64";
   hasRunfiles = true;
 };
 "hyphen-ethiopic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ef83fa73766cc8a705600fe3c43846ddc41bc27c4fc1ec997d0ea569020dfd887f2d0f4bb968513e1ca9ec5068c151c5c3607dca94df3025fdf65ef3217a1725";
-  sha512.source = "8020418988293c3c7a24b2843dd42a75a218268e9daa979d82dbbb0f67403673c6b172cc7e49459782046592a6ab9772bfd0727954da74a627493f6880469444";
+  sha512.run = "da5ddbbb8dfd8cc8a0b02ac5d8a7b9056d5f5d3a809b4afa41032c5288dbb3d92ef60fc7edb0196448f055aec0770687cf54490a6a5b99d7a3608318c9900006";
+  sha512.source = "0a68114396d036f1a3e63507a381861865ca7c69ed56de3795cdffad134c76a428bfa1dfbf45edc5456d02aac917a4d8690938f935594450a968ff3471c82923";
   hasRunfiles = true;
 };
 "hyphen-farsi" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "39b6a4311f5b125a52d9b68c97e046b56aa05bc6c9b2fb9ef496a33bbe384461c6be1fb218204a19e001d995a733bd6ee4255b99b1c7d1b98d530fa4860fbd82";
+  sha512.run = "196bd0331cb51550437f634bc37c426c8006a297a6f16d7c43dc291c92f3a635d5a0825a96f2b4be0d30e9b850422fabf3f404a262eba1f65807c59ad8213e86";
+  hasRunfiles = true;
 };
 "hyphen-finnish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "659cd78eb1f8a4ed488d555312f5a04b6e24401a2447907b99a267fbd6b6c7995c5ebe5e1601bb6a48656304c62968cde84d9c747352bed067092aee170bb8cc";
+  sha512.run = "29e384aad09ab8a636ee47433f83a0147cb4c55698f821b5d40cef74cc265c85c15903d84d721a6bc4921dd0dce0347550cedaaa4bdc58c85dc93043e6a61738";
   hasRunfiles = true;
 };
 "hyphen-french" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4f79fa67aa424d8a3a946d43bcbf0562e40e4c498909e8698676f78c181c725a30acfd92e90f55701aef249c0444faaceaf5643363190008e073fec082eee4cf";
+  sha512.run = "625087254c231e68c1f9abecbc3b315c08021c22d9c0332ae07eea8e600b800b12ac5147ce11488ec99d6368d695c0766edbd78115c8d5ac6cd6fb71478723d7";
   hasRunfiles = true;
 };
 "hyphen-friulan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b0f871015c0c28166e0d45f05c30c24dfdd8b77e45390832ea166c761c3efc70e5a4dd3c122d7cb713c7ef9406f57c8c9bfc4fe8011edb539ee6ccd3135e2b8d";
+  sha512.run = "fa724316ce1babb63981a51835bae3409b23e23bc0a65cb1bf8715073d076659abf8b4ae942b79257a92080857b67f807d7cc56859c45d8d4874dd0c9b26f001";
   hasRunfiles = true;
 };
 "hyphen-galician" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7dfb6c7b8c6e1164f4f48c537fe03fda8477c5540b628ffce053002e5ec61bc06f7a98b9a57cc6bd3221ee13a8f1ad674c5b2b690d3cf876fb40a44b0af0a4da";
-  sha512.source = "50b000fceb22757d7abf441adc95bfd99da15879829268241b288dbf715f2675c1f71559f71f14018b7063e5c3e95a802332c73913f13d24c1c260dbcdddea53";
+  sha512.run = "fc4bbfc8f824554487670e115d9844cdab69e4410d8db6382c87386513627a2a96c3a5fe1278102704abdff04f859a51db79316f695ee259398723a32d4fd64a";
+  sha512.source = "ae42aea21c42d2a823e0b1fb8d1a595681bfd797fd5205516b5221d2c80845ead8dd7a9d80c205856a4c701a942d1dfa407150edb0a4236e9a069f02d2bfff17";
   hasRunfiles = true;
 };
 "hyphen-georgian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "10c75a093cd71c8521b6af89d7171a2081b505e9d581f10bc85592104e833d46e9221b6c9b361a0a92ecb2110db74cd70bc8eafdb879929bdd8275ba55eb0971";
+  sha512.run = "ac68c0ce6febdf76178e9fb88b88aecac9ad4cf25977054a8276527d12ab55da5be080b01fcc8111ca4996af5d76c26c7f883f9bde5cbd38140e9785ef45713c";
   hasRunfiles = true;
 };
 "hyphen-german" = {
@@ -14720,15 +15054,15 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."dehyph" = tl."dehyph";
-  sha512.run = "ec33f6411427917dfa1a4262e072b3c871c9804256258a6ad97a6d00ab8b82949ef3b7d5b22fe7ea7122c51b29c964b05c726f22e08211889456327a91e858be";
+  sha512.run = "e3437e3838dde9450c755e442b5d90766af9b2c63e9a806bf4aca97c6527fdf5ca38e0a057c8241ba3706508ad9cb5bd4562ce30c5965efda282a66c83829810";
   hasRunfiles = true;
 };
 "hyphen-greek" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f2990d4a0a4c5179a9c0ffbdc2f02722a787c3da1b3813f2400d0f258ed00e7c4ede57e6fc90f2644a07d820c1cb20732e1552f8c5e64dc424818a41242bf709";
-  sha512.doc = "93b3e4c6d00511b5a24e45fe7334e0a06be6f48db25b360ca087f945d4948a8a944d9d9129cc583aba377d4ad0d87af0f9bab0d78ded1e26d2c00bca569e277e";
+  sha512.run = "7af2a6fe7f302dc537f6087c004fd38ce9269679913765c08820c6d7e060b14ae104ba8ce0ef2c54131c62a3731c926a7c521a5ff9188b622c6fb2bf588b410f";
+  sha512.doc = "289e4bae20e0c52e7ccc4156908fef8639b2f803381bc362d1fb6a764e708e7a345fb14d2614ef1d46617e63f0cb4b4852c336a78f34af30ec66dcf9601599bb";
   hasRunfiles = true;
   version = "5";
 };
@@ -14736,50 +15070,50 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d9fd4f747b96807132d5d65a01a0478f03464c33243157d95468839afd35f45ce47342b476cfac77720fc7ab3933ea97ae3dcbbcb6fa6584505e215819b39913";
-  sha512.doc = "0868e0c21b7cee1293d9dfdda3586aadaf86a642996d49b952a54a063a731a8cfbfe7243f003012d2b302a875176164acb11d0b0a23131652c3a808e18c46dc2";
+  sha512.run = "54d8a0c0ae2040934f14bf7ba7778108eaafeb5408e448d23c72e2e9a3cd79251b06b5a015fe2a74a9264de7100fc9b9f7f66e89b89c731198aec5b0a160430d";
+  sha512.doc = "1786a4b29cfaaa1b0f3cd2d9b78b980490e2fa5848e6f68f7c9b23d25410eb7aa6ea0dcdd2db0e2270e804746d4523a7a4f40ec53b890acf8a894ae5489fcfc9";
   hasRunfiles = true;
 };
 "hyphen-icelandic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e6a3067e4f9411c4402fa7e1ba550530430f3c653249c5126731acbee5c3ac73846b9da3474c0683c5f497689c23df9c344ddadd27d49a03c88c56fc2ab9fb96";
+  sha512.run = "32faa121a9a1ae6d21551b01fc953041da3b1d7beee179daf0fcb022a99c15dc519ff2d32d3e8f3294e6b9d7cd5be07a91d21f7422fb85bac2a890835784c588";
   hasRunfiles = true;
 };
 "hyphen-indic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c5c0f8931de32bd4d9be80647b0465d4ef4f86c05f594989286e584e4dd21bd13a238901defbc0288cf8af396459ae004fd25bc5c97a93f5eddfb32da1a44435";
+  sha512.run = "857d447939444570c5d34639789f2846d33e11e434fb708c2748d275b0673de72b001e6c6c724271496cecae5814e02fa0a96f765cec8df27b719a9e686e2a07";
   hasRunfiles = true;
 };
 "hyphen-indonesian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "dfe94903ed4f1833b092c8082886454fa68c7f88ea7cb5841f57200193b67ff4d3cbafa427d8956ce09bbf43459c6217c38e2dc8f6c928424ff6d6c6786d9f77";
+  sha512.run = "53cc5ef4877c98b5507cf1952cabc009c0c74e3a96bba42cd5742626ba911145ed44cb711cb5f19d37fe93f15e26eceb3027bc6d22a542065d6bd1211b8357e0";
   hasRunfiles = true;
 };
 "hyphen-interlingua" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c794cbd23364be8fa4c961599fa9856262b3c490651ac71b143eb42488ab3c5ec1f540f3ab3135e43e51da80b609bb48d78a5112613e74a143157590b14350ea";
+  sha512.run = "f341dede7a02b24952a18dd26310386f9dfeea3ceddf6cae3e589528991fcf3fba889096b920bd85a20f5405150d374e2f35f520fba693afba52d071765e9493";
   hasRunfiles = true;
 };
 "hyphen-irish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e0699349e773a04d814df103981f37c67575e8a972b008a8c08cd7c138e47036c3b6aac611b4e8fe82a52ad9866bdb27128258bdeeabe71ff5a5954688a5154f";
+  sha512.run = "f0f577439fcc997b0b634c7fab538d56438a670f4f08b7189bddef7d5a88fd842c4595332544ea4ff2bec70d55c67a8684de170db0388a13251f3f5b2079847c";
   hasRunfiles = true;
 };
 "hyphen-italian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ef2c552f3214fb1fa913c086e63badb44c214bc8cd957c94010cea98f008920126e4d226c6ceec918024d26aa0b01f381f76eed2cba4048fac0a1598ea92ffc5";
+  sha512.run = "f873581b4e5f674e4cd37101d89fb3d5099930bff904d2c7a55512ac4dc7dc48e050cd18615bfebc269d894bb46b65642badc7de37e95e6730d8312afff95b65";
   hasRunfiles = true;
   version = "4.8g";
 };
@@ -14787,14 +15121,14 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "cbcccbdedb84404b7b3b02f3169b02a216c2f023f33581ae5cc1fbc45b001a2edc9794251ca47e05efd5d3933697886495a0c2ded6495cfa28146b6aa81e4572";
+  sha512.run = "fb7bc7353bc20cac4a76330afda172f56048374dc231df8cb171f6a8fdcfb05ffe720ea358603df991e6ea34cf83495e573a95b4195f545ca68fce7aff0f5679";
   hasRunfiles = true;
 };
 "hyphen-latin" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "651fd4a2a182969e905cf8f95c5d6443724a0d0abf38e8f7dccc854d11119456a693aaae26265d1e9d4cfa8e90bf63441ac5474139e1bbe67879da0fa643944d";
+  sha512.run = "2b1c40f68c25421cab3fd6c9b805c509686c4cefb5e8de18490fcbe8a4556892fa4e4b692ef26ef388a7a9a7cf690828fcd5a0ff3d2c374276b4a12087e1d58f";
   hasRunfiles = true;
   version = "3.1";
 };
@@ -14802,49 +15136,49 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "eeb3388a92f180e667588846dc50b703480b6c17c9ddf2d69672ead81262863adf6714eab50cf8e7d581efbc21ad562a53301b71aa19a06623658b513d02fd40";
+  sha512.run = "6ebb6611f20d90ffc57d4f67c5fc4987e31da62979342dd0143fb51126a6400c634e9bbabf4b2383ad71619833280c30fc22175d394800ad5960b33434c38c52";
   hasRunfiles = true;
 };
 "hyphen-lithuanian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c1e3795924af20e948c10fa7abdf9112af8b9043ced1cf7d58527aa17d854f19c9853796301ddf94d430ca51b4978a2cbeb1bd7bfe4d921ecacb1779aecec881";
+  sha512.run = "7f1fc26d4554abbfeeb1da1f0eda68ee163589f519e3eee958fe1706d2dac7ace451da18e0b1ca8078a00319e2bf6ec6da8a9bd75d5d29824760194c1d9cac87";
   hasRunfiles = true;
 };
 "hyphen-mongolian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "6615e5aa44a9493a76f356c8c4915f5143e9de4f304da1c4c23bb4d67831c241f801a0189206d6d0a3477fdba55cacc3f7236f0ee7070b2f64bd28822c14ab34";
+  sha512.run = "0a4f14b167afc1bb4b017978a61aacc40b27ab13f26aae90f3d970a5ec97f2d8b2ddda992bf83488821d2fc58238c4d4197f91586e36f3812271d2ff5ef66663";
   hasRunfiles = true;
 };
 "hyphen-norwegian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b85d7524362dd37895a75557d55560e3d7d805c7b52b278cf2328871dd91d51029fd7e316ee8ab3402751cecf0e649ec340ef4395332fce5f32f5ea340c83a37";
+  sha512.run = "3bb97aef0042c3d863659a3f8921290ec9aab46f731a6908262f7f35f3843a4b2a0caaaa1d373d643e1bea43ddd57ad85b3c0fbb9a576461bcbe21fa8a067759";
   hasRunfiles = true;
 };
 "hyphen-occitan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f96644a2b355162b85cba1d6092babf7cb8e0aa054d5c938d59ef6e9dd2b17c00d25002a6134d739bb4dcbb2694cadb17e4c055c8a6f7d43307e3f88d056dd5a";
+  sha512.run = "8bf003921d4b93a73013e7511d3ea0a11f1f9a1f927e46ab59e65952e7e51ccac69ccd52382e37785a1136426835d7d88ca71241b29ecf7a1d582e2294f449d7";
   hasRunfiles = true;
 };
 "hyphen-piedmontese" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "69bd64098ed11d8d65e0a3f0830835aac0c11a0d725f68f654f3df051675bba7482732ccaeb3fedc7ffd151f142ad4a4c20c14b0c1b10a8d3429b9384de55842";
+  sha512.run = "cb302bfcca925b09ee9ea9f24014249ffc48dfbe16d3ed8c4a4503c036df1a15af457e1a1a3069d4f8f00c511d4099cf1a3541854a992b0ab5f0825ae1df378b";
   hasRunfiles = true;
 };
 "hyphen-polish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "026e5dfa3f1135ad5399e45caf0c144309b6115f083564f377540a3b976f2faeca79d0fa91dafd12a16f638c2edd73e133b0a266d74be6ecc9d3dcee3bb97292";
+  sha512.run = "c36d67a9ed57e6fd0d683ec1c8b86ee6e1336ddf8103c430d074b71b0710a1fe64e7915de32eb3a789aa42b0576d286e11cff966024e6eac83b80315101df529";
   hasRunfiles = true;
   version = "3.0a";
 };
@@ -14852,21 +15186,21 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ba46c6d0f04e84be4b22d23d7fbeb8dde5233a840ef68e94b93d2cb555a0fa887c529295a4a8470f824bdb4ea0aa30d34e7e2c6ff07482511b4e90397f11e43f";
+  sha512.run = "ce865fa130f7d616aa0dfaf3bdae399c360f624245fc4af156ef4deeed254cb66b549cc64ae5727bb5f538ad9b2613bd2b4ff64ac0345b8ba59dd172e778e01d";
   hasRunfiles = true;
 };
 "hyphen-romanian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "80a689f7d017cd1a3425692558fcf7e7ca757383e2475c2eb161905d80a5376513d73579f70ca0a03835488845bb85a8678ca1c8950d6f472ae67a1f5b64145f";
+  sha512.run = "2c49bc2a8ab1dec522ee37a0e235b4dcb327545b072fbda972c68c4dd7faf8bd029b74316861168352effcfdcf022e37c42d079f71f5e719764ea2ad50d294e4";
   hasRunfiles = true;
 };
 "hyphen-romansh" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ed2a1f86ca94fc7419e9c87e3d920c4e512593c3fd37ce4df57e9f48cc1fdead0be1308566b94ed66252777da2324c66a4b533ab7a7ab34698d0d701dd881a83";
+  sha512.run = "d2d107149d51fbb76813ae495127b1965002d38494cf933adfd17fa613db8658fb28d5303222e289e81c56639ff40001b73804474f7d8b09a4bf763286d5dddd";
   hasRunfiles = true;
 };
 "hyphen-russian" = {
@@ -14874,22 +15208,22 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."ruhyphen" = tl."ruhyphen";
-  sha512.run = "25af63ac4ee4b2bb1cf3d65731da5f385adffa350d81b0d03adf58e88c56a93da1f39195559c85f21bc98e6fb1d864c793a4c9cbbbf08cd766ee8659ef02c864";
+  sha512.run = "b13290533a666b3377f9d0fad9d441f6475a3363e32e3675ab836402ed03083b4a1ddbc2fed946e7e7d048a4ef9a8e6d13ece7c98e77a828af3ba6e7ef14c0cb";
   hasRunfiles = true;
 };
 "hyphen-sanskrit" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "516a437492eb1ecc540946eecb66a7a90a6eb5242c7b8e3d3a33c6c983a963640c5cb01aaff3687887de91cb58423be43882a330386ee8a0dc25c429a2830096";
-  sha512.doc = "50bc18b1d6f17e0c1dc11caa6b55b8d487a6a80960c45ae54df3d3a6a6b435677bde30140eeaa9c981ee5ff03248ab94ed47e3a7de9d4d012b19e0c6d9a9ba79";
+  sha512.run = "5dc85b741c8658af4c9ed02a52c394be315e2a076f91a98ca44254bd7006f585c44539f1a911b6d63fab17e2dee7ef89cee74c878348115eeb9d7aec2e253595";
+  sha512.doc = "b93af3eae61de575fa8909a8cf39bd190585ac702577c76df655ca94fdc3d1d5206d4017c80641e5351b894cef9d214ed18c3d5cb1a30f5e06388445724c28fa";
   hasRunfiles = true;
 };
 "hyphen-serbian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4231cb5e4392d4d396ef6856deb3597521ef1c38e9dd4d1ac5d353c0eaa65534f2cb3f622e80cf6524bca4bfa045cf1653ec19048c478bc48ab76a441d057602";
+  sha512.run = "979ec2b533f3bc90b672a856237489b78e11e1f78782d0c14320ad38da08514ecbdc1b7d3d42930280324c36717c11fd8e3d57bfea74e3fe257fdd84138a144e";
   hasRunfiles = true;
   version = "1.0a";
 };
@@ -14897,23 +15231,23 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "895c01f0ed4415f6342d22f89d791b5db07eb3774c9140ef2162dbde2acd25ecd3e405cc76c06d6028453f075dac7a4bc8e81e798625e5c261745c593cbd7815";
+  sha512.run = "08ddbdfd97d005f69829477f0f269c168dcf68ac2adc278eb91db91a9e61bd8ddcd3890781ddacd623a12aa6698e6a46651d8e26bf9bff3a817c655448f1747e";
   hasRunfiles = true;
 };
 "hyphen-slovenian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "84fd62a083cc96ec6337248ae5ac4d806a3685308752f7ef19f2d733ba5ddf65686f5ce9f295f48b609f296ad8199dace9f1790effbbc89617e4e1ae6543f8aa";
+  sha512.run = "3caab81e3d46b889c1f72bf4a2bbac5a03ae6581eadc919f21eac47af8defab69a7fe3a8e975d8f578cf4ec6c56458f78428ae621fbb2334a605b3480426a833";
   hasRunfiles = true;
 };
 "hyphen-spanish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "71f4d881980d9fc4f2f6291e7b66b3f97f9d9e388349d0f2f623733dc33371f3c3ead63118b7b38b287bd62f1e1c7194817a151f3bc1247f037d41333c07b817";
-  sha512.doc = "725f7696d116a64faf5ea76dc77434a591a84c732fe319dede682ad1f47d575111752b7e3218ef29e9e4605cacfe69871b57d4f13f150184108647449befd032";
-  sha512.source = "8512cbf33551fdb8b30a22c8d8467c8f349cfa80d2d644bc2eb5bf0e2f251c6139b311fe88076690e2d79d1686471c548fa535a07446f4c8971fe8608a544f26";
+  sha512.run = "171417a27ac9303f124cbfe5e2c788e11148426a16336f2b2f3f9651c67090b6a72f32ed681a7415f886d5e18f6075c6ee0dd421b22240d6a130897865953488";
+  sha512.doc = "e52e6f19134c653772b6b36a37b00a6a1b83ccc93716eeb9215b1d7677a1df5d203493bceeed312cd668e4de123249b41368b4c8d0479684b9b5099ac5ec9f75";
+  sha512.source = "3e010822e51974cb70c8e551d0bf31b13c754d3290f04e8829dca6642a0135636255a578bf50ed2642d3aa383bc6acadcf11d25c8184833d692817e518a83e84";
   hasRunfiles = true;
   version = "4.5";
 };
@@ -14921,30 +15255,30 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "277c4ed950d8bd9ceedf7adaf058acd11808873b9022cdf91e7b495236d30c9a50ae9814f2648ae88f6980b43d33eec16669536271ec3931da22d257d9e2b4a6";
+  sha512.run = "bfacb0ec44c522f993000db583d495107da1d98ea905feccf36a3fc517058feccc8f4868065bedcb6dc64f0c6af7f1a2cb082179b6d86f15befb4c712bf5bd31";
   hasRunfiles = true;
 };
 "hyphen-thai" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "16f4b2503f64ddffc5c6eb1aea4786861c5a4983d53d91b64ef8a18c1bc2494454d07e56e3b60a050fa6516dfa4d3b36d4600c2211992fb74ce3aef220ead8ad";
+  sha512.run = "4c47391ca4cde10be3bc50594eaf506172c0cc12066cb028073845868639e1ad18dc6d57dc418176695df1a7cd7d8ad29f3b4c007c746a39026646dbf2b07123";
   hasRunfiles = true;
 };
 "hyphen-turkish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e40aaee7872ec2000178b09059b97c1376934bc1dcce5ebc8e0849210f79592fb705ccd180aa60e2fd85d9aa98d5ed34a06fd663b5bf5c3fc0345bfa28d69cda";
-  sha512.source = "2817152d247b1bc23f51cde0acf43a7819540df1d681e76eab416571e54bd6e18f20b94c6758e41b8891e27a3eee29591a6aa475397c6f77570e16970f9a95d1";
+  sha512.run = "d65df4ad0364fb7da5cebe9f39a2351671cecc49d050882399630975c5ac468dd1e41de9609c0581322937dd683056335fd78c7bbb1423610441e0bf4acfdb72";
+  sha512.source = "27a469eccbe748ded0466c4034dfaf280bff3e6448aa828f2411bad7b9ac8e875f172eeeadd077670f851e4650600c70b222b6325dfc3d362b6737bc988a20d3";
   hasRunfiles = true;
 };
 "hyphen-turkmen" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f58ac32ff3c9f893ccd7556b302a65bb02e3503d70b04ab187ae7d52deda672182559f31aa4edd4b82d8d05abc35aa59905936ff02928cbf059053ccb25a701b";
-  sha512.source = "3249a3bc2c0641ef970eceb724bb6b57af9ed4d8d5969f748be66ed3e3ad812c3c4c87a923ab3a0b3f5e887b1ad135ef10c5bb610003d27421e88c094639ddee";
+  sha512.run = "e4595aff01856c97ec6bb178a0b045868e2edcdfa23cf24e20942b4130ce46ad42d7ce6f13edc7c7bdec2482b29d21a0137f0cc8b77c85e044d85fe3955aeacb";
+  sha512.source = "dc3e3f607c25829dbaa3193ea92ea16dc86503189eb19d66738c0148507f3db9cbff0b2a0700a19ed994e7ad518aa0938c1fb4fb28bf8d6c14c2b82cc130e6da";
   hasRunfiles = true;
 };
 "hyphen-ukrainian" = {
@@ -14952,637 +15286,652 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."ukrhyph" = tl."ukrhyph";
-  sha512.run = "4327d060f725d74c8c4dc56fa97376f4e4e3c2b375b1a05cfefb14fee74321d2d2d45dba31edb2a98e5eaf56cd88b9a7599524f7c8857602c3df59f4100fb205";
+  sha512.run = "4aa80aa8365598bdcae2f7dca2a1c7ec7b1f4bf4a5ee434e2e8684263478e6b1346d18c64756fd40c7007f73d3e69c71f2868862cae0c983d9c9eb9e645ce237";
   hasRunfiles = true;
 };
 "hyphen-uppersorbian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "9a1ad73341636e3cb46efe63607c403a11a1cd38922b936d34ec5db160d100054fca940df6cf1726b4ed64f4cd1061167fd067297253417a0fa639884d82b195";
+  sha512.run = "b60b36ae0816f11b6064285d79098ad6aac605bc1b20bd97191b97bb10a28b445e0e71d1ea2476c0731a72d96c20d114d640c3d4471d53a8b6726dc089377a0b";
   hasRunfiles = true;
 };
 "hyphen-welsh" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f9043b1db0199464dc7df43c455fd577723f5093a683d23a39639364908091bdcdc21969a0ea1db5105b0410a1062e4bd21449a528e9c9a23741ec1189164df8";
+  sha512.run = "e4b61366f67645bb8ed2b848a246cab0c267dc626c7a033627d603c91b7061259d2b95e360f15672aa03197b198c4a45152df4dc88f923fdbf8c1ddf92a5f33a";
   hasRunfiles = true;
 };
 "hyphenat" = {
   stripPrefix = 0;
-  sha512.run = "e4579c8c18fc6e42093da75fa532a318c0a3367d566817c545c9c980c661f7a3ea84c730ebc8ea91a9373755d98d5376590b025fde5fe431d8ce33be9a373122";
-  sha512.doc = "93743c1a61c40bf476f8390ac232ae1ebf0355b896f8f89587f710c58474a014d834e3a360e0f8f6295b67ef4137e94ba0bfb0517117287dafcdb1fa7754399c";
-  sha512.source = "3f9d367ad03eb4bd5e364af27ed8b242cf2d2feab3e69a283753c7f83c285491302468ecc4a3cd77337b6d72216e02f86489e9f932c2b3d7b570e8dc4a10df28";
+  sha512.run = "5af847cd55cc1b455b1928f6ba275054209ad5c9c2f81a7ae648d87eaa39353e842b2df4e91cf530909a46b4aa226228978d771b35e46b7e12f1a08a08faa181";
+  sha512.doc = "57f8a5d71763cac73635fddba75eb59faaaed01d47bcbb7ecc96b80fa5a926bb0091d3cd3448c6f53ad82cd44c9244ee631fb5b56141351b578cd899509eb323";
+  sha512.source = "781337dbca0ecf6155221b768ace1fec364bd1ddf29e3df36b2da64b6137a09996423466c8241cc5107c3eba056b4bf5c54572af77e781fe8e1e7f02264d9577";
   hasRunfiles = true;
   version = "2.3c";
 };
 "hyphenex" = {
   stripPrefix = 0;
-  sha512.run = "e600c6c31be4d174b62d12d0a9a371f8a28d261977fc46291ee3cdc69677608eb4babe6727af9abc2aac7a4441e82960c8b52741ba4fe5dd46a62647c6eece17";
-  sha512.source = "748950dc28ae855cb277aa678559e375d6d1de8f107b8f531c55c8e5c4ab87fb9a330c96e7be4659f79ec2643092b87387379d959f02468b64250de2307a485d";
+  sha512.run = "dfa1f625e736c2c4125209552f084fbd5d64109db5dd5b8f37b5add3fce90984bfa5db855b581396ffad20b1f5a3461cae01e031c086f7db5dc98203bb7bf8d9";
+  sha512.source = "cedcf83033a5aaebb44a8270b5e670b9db2fba2b8f65925cddee4684bf50fee5dcadb02921b04288d02c91ca3d003c8da143c7bb1974e7af26b1f392dfd4283f";
   hasRunfiles = true;
 };
 "hyplain" = {
   stripPrefix = 0;
-  sha512.run = "badc61562fb6c305b47d4d58a077a6f006fb58fd4bb216397eceb00cfe2d6baeefce329e780db9e8d89e4472539ac56af1dcd66af8ddc6a6e66702616d13b377";
-  sha512.doc = "94ab39ba1a75b3179c03f94df475407a8cb03d0aaf6bcbde0125521e1855622e3d84f4e1c2d4b0c2bcc29925edbd62b3ef0ed7f6f68ebc44d31f3a7594ed09cf";
+  sha512.run = "f2968e8baf048329d8c78934770aa5d0a364ac7b3f77dc00a163e085e4fe45420c180acd05b281016aefdfa6523bed234e75ca07da0d133438798c1e51330d83";
+  sha512.doc = "cc64c35df85ba832f18f153d0f0cdc9f153ac4a9db0a175a1961a353f59ba585e19b6607e0c4cd1a832d921aa3451687427965cbef4fcb2a87488895e6643bb3";
   hasRunfiles = true;
   version = "1.0";
 };
 "ibycus-babel" = {
   stripPrefix = 0;
-  sha512.run = "0ae5a9ad8480aad9bc2a6e334f818c973462df46eb2263f0ff43c7e42ad235b136a6eed9aaef027fe11f9505458c9a546960b4f3e12763739bf672dac960b935";
-  sha512.doc = "26adf6ee7bc0eb7b7da825d6574c72d1b0cbcbda92dcbbd8691ca0433124447ff56609ebf2c89334bee23e3830a8523a08e1c1e4e7503033df7e36efeddb7d33";
-  sha512.source = "db5efc9bc39da60ce12c507179791dd7f55c55598fdf5511d03048a6e3847cd37eadeb45e34ece14eeec5ce98372694871bf740e3833bc35c752bedea65ca22e";
+  sha512.run = "30f810bd70555df4f05fbc0b073456c030a0768372bd3c681921f41fc31bfbe0570a39e474ab26aeeacb142622154e5cab3714412b09f89d1260fae8b60e817a";
+  sha512.doc = "f09dfd00f35f653defd756b72437dd712ed1ffceb05beeadfb34c1c5163559ee7c0ae6ce0420f57b722e93080248cbcfd678d811f1383fa5fa1ab76db52a060b";
+  sha512.source = "13e3ad11b56a70d7752209feaa9437bda4979c40a25597114bfc5b4e26a889c623aa7266959a212de6b7e74ebe75fb38b36767fa95f692adae027e5d025a4702";
   hasRunfiles = true;
   version = "3.0";
 };
 "ibygrk" = {
   stripPrefix = 0;
-  sha512.run = "07fcb4978b909a1da79032f73aaec4c05c2dcd4251010637aa15eda6b79e65c7f7792287894dd87ba7bc4789ced8fe61a8189ee5b0eaa654337c4f9f41853917";
-  sha512.doc = "8a1897f6a0231564896be560a5beeb0cc732fe30598c6f15d5c3f48abc390de389863ce7eb5510f187bee63409bdb818a38b404d675c82c7b71bd3c1ee9d0e0e";
+  sha512.run = "89002af0024ec804ebffcc45f3a33337ffdb66f71e1ca70224b0936388892dadf99605a8ca3f59a2b879e76e24acc91b1da92622d602f49b236aecb8aafe64b9";
+  sha512.doc = "9dd3bd7a8ef3267965f30048e4a71314b6a9813cb400b7a94dfe285606d7554cde80aa429603d0fb1f587935e193e5ece5ed67870fc4e0c66eb5152c392a9cdc";
   hasRunfiles = true;
   version = "4.5";
 };
+"icite" = {
+  stripPrefix = 0;
+  sha512.run = "1a71e185bf65c65f64ffe49d4b7cda415bdec89a7f92fa45914c0adccc2b1430f0022f9c789c2e13c2acb0a780ef90360a22247ba2aecc171a3fc6e06b8f05b0";
+  sha512.doc = "efad2e573358b64b6d6146fa80011b033e4acd7435d9b0e32778240cf8051c732f1617614cd4ab56c91a03260b203084aa5c15c03208bc86686ad18d2c75e93c";
+  sha512.source = "a0c728f3896f269ab6f91945e1ac984bd3b6774525567f8f196c46ea8edba2cc5f6e6886b26a9ecbd2b1452e9980ccf4e3ae7a7a5dee852c073cb9349a6a874e";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "icsv" = {
   stripPrefix = 0;
-  sha512.run = "5814a58b6702f9f16464cb3d199f9f0f1a3178d0f1ad9b7fffb828e0750c99cb90223c848fee35e4ee8328206f02855e7eafa9f00e406aec5c2c260bda89048f";
-  sha512.doc = "7fbe6c7f4af905b54864fd3dfd9f0a15d832b5a09a6cc4a7ff658da9c98a55e689b78842249fe197cdd32629db53a82e3181d18880dd1b5dcbba727fcc4ac23c";
-  sha512.source = "5c04b71a1778e2b79fe82045d04f6fe4c68c8235e29d7e203402918e657517c8696673b12d3ea6e420eadf45d6a844d5e77a32b9db04fad4004c0c4606d7c97d";
+  sha512.run = "e865708ef636c7c917cc9a870eaba4b8c0249acba01bd2cd3fbfc9d95672405db133bbf0faf9f2d299bc4024118b80b4354ecb8216427507f66817cac085e01b";
+  sha512.doc = "dd06bf5d8a087bcb20c63a61cb9867bda3df35e8adf30a3d4ca69ab149772d46e3b83f168a8fc1c597aa2536a14b98561f42226a59b6663f58de4e338f9b4e82";
+  sha512.source = "9ee3fecec68c7719a39d83860e8efaca3f5daafd82b9ed06af9ac38ffa3659d03f7ecec5407d568ec5f071c22c0cb33166449b64757be7b740943472d9ca1941";
   hasRunfiles = true;
   version = "0.2";
 };
 "identkey" = {
   stripPrefix = 0;
-  sha512.run = "58f83a63dd1d30c6c26e76e1bb81907b5d9ce4c7d520748b2fa5414d4e1d295b73e8c8d647c51f1a11baae0ba55392941f966b0f7dbf3452085f1c0f2c1c677f";
-  sha512.doc = "1f291f54e798f2854907408559d1d6cc93e07930fdbef3a123e7b5a5f891e1834b01a0646885a3def10279803fb71d508a0d7c8a1b085a6c11a3dc2a17a2ff55";
+  sha512.run = "b04dc4859826ad3f4fc4dd4a9b19abc0f6125d66d200519652a130c522fc6b49de8565af73f81efa9e75d592036ccca6d373a368e66526d8997dab9d8a5f806f";
+  sha512.doc = "c676908535a4a67efd8569e81a1d3ce5a47bf7a5ec755e87e62830e370fa3307bf0d6a84f3ec7c399bca3cc365f97469393a6fc954bf83b2e2fbc9eda9983811";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "idxcmds" = {
   stripPrefix = 0;
-  sha512.run = "8cf7ec540377800924d9d6414fddfc3097e9bec218f68411d75bc566c412dbedd0c988c40b4d01a8859250e11bc6bb4d7fbf5f3772b29c8ac2a6a1fd530ddcbf";
-  sha512.doc = "99f5164839a2a3621224e2672185609a59598aca6eee0787e382ab5d973e08694035dbe539b7d87c4f856d8066c7484679afdd575cd7cad4d76cdcd647f54b54";
+  sha512.run = "ec7d58e5f52472b0d359f84afcba179ce3428638ad8c45293b7de2346d4ba84c3b22792bec27a10328dee9f0f186c2536d562ec47e9f6aa2103e708788a553f3";
+  sha512.doc = "9c55acca21ba10f051c678f0e59d68f4a1231c744d7b470f7a905c81226a23ae0eee03b02b9466b5fb6c92af1e884a95d1f6644401f83a50441b7c77becf0874";
   hasRunfiles = true;
   version = "0.2c";
 };
 "idxlayout" = {
   stripPrefix = 0;
-  sha512.run = "a57b765fd4129a83f119786c587e8cf00d3ea86de7add0858b4f479aa3645a28b68b2bad1d19bad969ddf9222bcaefb1f4950d06931a2f4b6a24e2a1480194e8";
-  sha512.doc = "edbb6e8c35967ebc4425f787a7504509b43ddb2c5d61bdc85cb5586c27bbe893de53c712af3f76e1ed5c895bd458ef7e36b6636dd8844debbedd15b526926678";
-  sha512.source = "3ecffba6b07096ee909d3788d2327c0b69fd7d22bce3d70ca903e3314f0d78d33c5e76722464ebbf8021739da2d1749f7b847bafbe8a18fbc77fbd238087f4a7";
+  sha512.run = "968d869a0b635b14ce8ce85e710c987ecd8ea2efb97a03314098014366ece450b4566d626031e11b52d7ede53a019665640fc1626dd1e24651275b35a8f2cac6";
+  sha512.doc = "469a20893247406856f15dad6b14050e221299dc2adc40f1547361d74d3f7ce90ba6eabde06402bdbe22c845119df4bbfa8b999931e99c1b944b165f3b245892";
+  sha512.source = "a2fac68e0c6c0f2cc0c9472d9d58882c337f519caa3b2bb088a330bda4f65b43a1acbbdf936e4975f3c628ce1f5a45f58def28cb129a0708a0b4168cbcdcac0a";
   hasRunfiles = true;
   version = "0.4d";
 };
 "ieeepes" = {
   stripPrefix = 0;
-  sha512.run = "a0335c98433d3673a68c421b8a561050b9f20b29581c87c70806adb6a34ee9eae5c872978f6998ebe5146576c6684f6c56ac99e3b151e68c983ed63c9d7764fc";
-  sha512.doc = "b5ccca4fc4dab5e9f2aea77e9b09992ef34c58f41d3e8329d9a90bdd134814102bc5b25c6fc44822e3fa28665a2d422e3475c1a9a05739096a0e02f9df9e9922";
+  sha512.run = "60ae4ff80be5c2b02e2ebeea5954ed61b73dbc085a4d282004796d9be6038cc7c8020b7c81226d7dc7b121683e4196e461c7c3d101bb460eb8c39bf2da179bb2";
+  sha512.doc = "ae2413800f1bd4c0467321a7332fac15a8010e31ba7a4effc0fdb44e9e7a0001ba62d6acb44a72eb6f996560ddf96231b7355c4b9ad8b816be102a143b7c8011";
   hasRunfiles = true;
   version = "4.0";
 };
 "ietfbibs" = {
   stripPrefix = 0;
-  sha512.run = "1039f113f8ceeb0745fdc73c8df27820c453de8eaab2138163d6e8bb7a1ad66e6304f08cb80bc7d3253b9b7c6729746a5eb2610706bee155d82d67f3a5add799";
-  sha512.doc = "ab8df81de97c30c61360459e95eac29bff764e3d0cc334d45ee476b92eff5988bf0509ac2aa270c730c1cfe2171ba27545525bc8a3d8950271d6d6a1d1488647";
+  sha512.run = "ad8796bf4e492072dcc9335f913ae2b5d81f2152289ca76cfbb61a63577c631bc38f5cad6860aef47b1fb54c02157f509c23c3f903b34b8e7a82b8604eaa449a";
+  sha512.doc = "586dc66004dcf4abed254d223394badd45557d79c7e1b56bd20080f41185ea8dca28b3d501e708cc3ed4088f1368f153ba2d2af313d5d6add2d072b46954952f";
   version = "1.0.0";
 };
 "ifetex" = {
   stripPrefix = 0;
-  sha512.run = "244537aa156a2a6a2b09b3ad2afb052fa71a7f1ed4f2e5135ec4b3e86de48f6ae5caaccaed5df0c928d1c796b6b3eaa412d00b8d89a00c9b5d65b8989066606e";
-  sha512.doc = "8e30cd47a74075af82439c1c07d64392e1977072cc2200203492cc5eb01d31a74180fd5c0fc0fc71441175b3c46d9d5cffe2fb7998729b14f918ca62df741390";
-  sha512.source = "edd3a2cdd20b08657c76d93bc53d103784f8d3c74ede88a896f48a0be90fc71f064ffcc9e71a650d1a1099d5f59432bb2fd7f2a3d067fefc3c40d8255c941f08";
+  sha512.run = "0f814eded272bafb38e04d7df845f002382c1f87854f8eb8dbe41e964383d3390f5f44973d0a23461568700b7a3ed0f837afaee360c996fe17fd7b2473256cbf";
+  sha512.doc = "34741cc3514404ed1327c8c621926cdd2c24a5ca655c24b9e6157e0623d61b4e2d9bbb7df3bb396251e564d59eeafc9eeccc5509914eeda931a43b9d8b23df94";
+  sha512.source = "4904d2d78dc8cf67cb3d4b2498b391f290addac86d07fba24a76dc16446ed10b18061dd32e4890fd0344e10bc02302a13cf3a16cedf9033591f35f0bb4ddd00d";
   hasRunfiles = true;
   version = "1.2a";
 };
 "iffont" = {
   stripPrefix = 0;
-  sha512.run = "db81318951811058cb3d447122febba2c8847711d21fec0deefa89e46238d60c2bb53f80b91db4ba17ef3dbd82b8b43b13607b6e87517d21af4ba85e6a820d51";
-  sha512.doc = "5d5a52504d3ca36400ce4558251df6f3f1b6a2f0b7a1b2ce9f8ecfd219505e4aab90cbadc30252199afb3f9d1ea3054b10edb03c031ede773d02f67f67213b5a";
-  sha512.source = "f2ff5e2092e4b3da61622d8799c4924428d95cd727a81a889ece6fcc8fa56f0e09ecd5773ed0e837192ebe5bc53b7c5758a002e4ad5b9b660f451ee6a631cd7c";
+  sha512.run = "a2a329da661f003edac0e0bc701958e0744864f8693ffccce7f1ea6867eaabe7d71b38a1dbef8bc27f770e8b4c30a4480ede1dd575d26860095575020db987f6";
+  sha512.doc = "95a8f7357f095dc39ff642edeb6d7df206c37ef01c14a1daa280939d44047c5a935eb18049c280ce00238ad4fdfef6abe7399dd8c6fc815b7c70b22072465453";
+  sha512.source = "2a12158850d95a2008e5a845914293cc9aae54dedd54e4a13a27899b0bb8c272e43bba374447b34913f7b4aae01aff9b9fee981240bed93f8995dfc53eefd2e5";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "ifluatex" = {
   stripPrefix = 0;
-  sha512.run = "580a54225129c2dee8025839b91f9332b603b478c7c3a57aba69e6dfa104771d8a30767ba586a83ab548c95bbaa69026411e2e2a2c2458ece60af0c18dd59e4f";
-  sha512.doc = "a343c5cac8e83cd2adc164865b54c3c34bb1f8843cb6a6c58a4c718ebfdfa716c4e95e087dee3799375c45ff03d4c96fa79edc214a058e4dfc88c164cb02db75";
-  sha512.source = "0b729cf2da8d5e2f16919b882eb68dda93452290fa0d7d3d33c8faa1cedb5151f2f5848e0f2b96061c786aa750f0c223c20dc856740aaadbd7b42a50481e3abe";
+  sha512.run = "b381103b0f9bba985d7d8eab15082207ae5ec5b12c2f656101796a2a6f5ba023ed068ce06bd9e960b23d8182baa3c3d24c63050ac35a924fd94b5b8e38024bcb";
+  sha512.doc = "12fa539de223618275f3484a7c803dfdaa3c7ba7deabed7c591605beea2aedc88d48c2b66606c4d5a208324a4fd385474d911e4f6489d0b68f56c504f0e459ab";
+  sha512.source = "221972938c4b52a57b569b0729f04b517baa703a7e9cef14335512ab3a0a401bf0c7a131b8c7af7c1d6727073d3c2f21c9856608307eb612ad2861d5fa83e40d";
   hasRunfiles = true;
   version = "1.4";
 };
 "ifmslide" = {
   stripPrefix = 0;
-  sha512.run = "63a90be74e2fd845dbc5b441bbead45f3c274b78f621734ddf9de71aacdf9196715e3addcf935755fdb24b01ce9578960a9ce5bc897a2b6a7dea101c6fd544b5";
-  sha512.doc = "948abbab43264427cab5718fc1cb8208f3ddcf0d027356c473815855271fe3f2e12b3bc5709ae1570668744c08af062e84ddd2549ed265b13903c5793fa95d4a";
+  sha512.run = "c9027b8bb34f15e667e530a8b8d57b793ed16a7ea33feabe58f22cd71230945905054e01853561f4cbaf5fe22f4aa140cbc95072f375d567f57bcce3c4d07d09";
+  sha512.doc = "4e7a64773cc1a14df0d2f58ae0b66d1769b44958bafa8fdd4e51bc294555e7895632b741b47edbc29fc5f5ac0ddd73dddcc16723a7297c12311d3915e88f633d";
   hasRunfiles = true;
   version = "0.47";
 };
 "ifmtarg" = {
   stripPrefix = 0;
-  sha512.run = "fddd696d0df09f2563052789347b9718fb8fd47cc7a985039611d66e5662be89bf2e52edfdc9a87d104947340f0420b008e12cabb02ccc257069ce0ecb5ca25d";
-  sha512.doc = "f2508fab4080f3f7f042da3e124c2431f8f1976967efc06db09e7c8e6e2eb2034beedc73839fb2c1d8453ea066e5e6225c399c6ae2abaea671f58e669411100f";
-  sha512.source = "0d98363add45581481a89c2e18115c554c2a97a4a5d0c9c1a4846464bee5d9cd8d30584c39a80241596590e2e4486afa782aac0b4076a8a93d705bcfbaed0a10";
+  sha512.run = "b04aebac5acfe90a149f417cdf0d45b3a7cbe53d53d4d9f39d5badddfcb894e07f397933199bca702f3f0e66458133ba17feb5ace2ebda4a25bb24bf1af5d259";
+  sha512.doc = "8f456c15ecd5090d2124a85b02c1ad100dc999064b258678cad3c444acae3e88b95e38f7ad1785bfc91f385d6bc1664c0b58282d5ef36e6cff9857b81176ab7b";
+  sha512.source = "e30806ba6fa85737f67dbfbf7cc1556781bd4cb2179672e5b9980e7f625366d5627c69411dae34a9e1c0fc29c16acaf302c344d9d93b9dd4afdf23bea020cc63";
   hasRunfiles = true;
   version = "1.2b";
 };
 "ifnextok" = {
   stripPrefix = 0;
-  sha512.run = "5e84329bcb92190e0ada853b0448725de1f6c6071e309677d804437513affa16e1862ab070e31970f174c7b3a0f6d7c7d0da58d8d9cbdfc584f342cc53987420";
-  sha512.doc = "ba0fd47d517c621f43982a70f3e1471d3e0719f6633e0e7b2b454f78a1e213f1e26d64a5b10930d54a8409d255231b88e6b7a75c7c59649844d0caa3bb5e9d98";
-  sha512.source = "bbecfe991f67b53b7ee3d3c5a3da39f9167096cb6d11c7d04e2b9a2f8c4be6d51cab801a35b34dae6cf42516eaff035b1434de24fd624e5f1ac7c7f02016c8c6";
+  sha512.run = "a56c703e1830fa64432d1b3aa72d3dff52b17c0e5b90b2cb34f7dff974e51331f5d9daa2b5aba578a8bc4a73b693c9a3dd811c6d7e32379165cc7ec1349c541b";
+  sha512.doc = "1eeb8d7627ad8887761e66704a8f3c848b633a4f3a5b094626b3c64888e6db95c25b8dbad4332887a6d9e866e4aada2816b7c7e7fd19c07dba03db38842886fe";
+  sha512.source = "05422af6ee53e12ad124b314388811490304c5f42b81b17aa899e7cea5c548395043abf4abfd0d4819e6338b6d93e99c57929d18312f49500f0368038e440495";
   hasRunfiles = true;
   version = "0.3";
 };
 "ifoddpage" = {
   stripPrefix = 0;
-  sha512.run = "c8b7cc7ae1ee1ba089c5b754c247a7de8263c71d913cba5ae37f772048944ab025266b5967e36395866d97c13bf614453b857ecf2dca5ca5197d443d2f843141";
-  sha512.doc = "8cf77f9deb7ea57f9ad18f240cf6bc1233948dd1ab296d8d8d4334ab8860b33d85bfedf952ff328aa8873dbfb6eb9160880adf2f7d61dc6749c3fee8d944d49c";
-  sha512.source = "41c35dde706a70697ac0627427d0a656411ea78d4ff01ba413b084eca5d09509ae5e412ed1e397f4bbec21c62e717430887e759a95bf0dcef1d58c297cfaacc3";
+  sha512.run = "f6ab9abdef81cbcca8728bac7e1f94e2b72e5db6a8e17ab13c8d56477e98fcf7fb20f006012c3a3cf815378d8bc9c5cc4d39e2767b7d634d1ad99bc24dc1d1d3";
+  sha512.doc = "80f1431a4da340b0b2ba6f396c618e2923457e95b5de01018ef7f95937e55814e3c3e96b2f45f18e971fddd29021a16852b57bafd0b1ba50cf2626b4b784541e";
+  sha512.source = "dabf25b7588f3fe4dc92c4a4e20f2293ef62878d60f1ffa01e1e9efe564b930d7cdfeada5f0e6765a88c46d55aacbbd1dc692ca26168c86690db6c229b79836e";
   hasRunfiles = true;
   version = "1.1";
 };
 "ifplatform" = {
   stripPrefix = 0;
-  sha512.run = "22339a035bbfd771e38b78cb2419a3a834545f037dc7f11335e9334b43ec77679875cf696caef246415cda02c0848e0d96ede820a7817e738bf9d9d0590a1a3a";
-  sha512.doc = "b5678b1de625f1afbcfafe997c8dae7eda021c24a997dc08c02bfa07d89d9a3f87b6fc4c563922b602de450778b7c8562c5c3c784da34a889e44c3955db3e841";
-  sha512.source = "f09c3c8b73d4f2fdff8bc892d547d08e790c33aeaad3224c4e33c4f9e9b4067be340c6c681af849492999195938e908e32a417e786ff79626fdecb5a0be9ddff";
+  sha512.run = "952f87877c058c1e8ba3df227ed7332501e7861bdfd2a29878dc4b14e6b95a1b116459bef7f65c5bf277c95d08120c7e9fa9576a7654739e4a26125ca4d5c724";
+  sha512.doc = "520004cfa412c2a24ece0e00b11d457405e71a446e554a1d930e60ea7dbd00f61b2b6a7ecbe89b62610316fd3b6fad685d7013042fa71fd7fb270b40748dee56";
+  sha512.source = "a3c33b16decd5fb443d9b5bb13f3a5e0ed56705d353b0260772d81f963460ff7e914fb1d7f4ee24e249bf15af77368ddc6fea49014202389baaf035f2165e17f";
   hasRunfiles = true;
   version = "0.4a";
 };
 "ifptex" = {
   stripPrefix = 0;
-  sha512.run = "0ac89e0f49ebf958b81c6907d4fa2d02aaec512837f53fa0b3ce7e7b12e9b3926c54561fc13650a6d63c2708d5d46917cac39c7548547b8b7e002a8de219cb53";
-  sha512.doc = "559a451c6098e1431599b03258c3c067243b9d97a7c2c14f3c2b14d2a09ef3fc66f635537805e6281d9bb6c4a64781a612ab286189697904442a2dcde4f64a63";
+  sha512.run = "56c72a37f02e87817736a8c172bd031293e63379a15a01c727f5d0208e6bba1900e06383bdb470d96edec80f5151eda05c5ee28bdbe37943e07d6d846f0f2a93";
+  sha512.doc = "47aeb2a9e1f9b1b2ec102fdfbefbc932f0a0b5e7c89819609b5b6456dd8c50effbd05ab7eb24d65d40bd4f9065baa5aa5aa008e613a23a10bcc5bfe44e651377";
   hasRunfiles = true;
   version = "1.2c";
 };
 "ifsym" = {
   stripPrefix = 0;
-  sha512.run = "aadca74b07372d26d278d013329fb0b3a06c7b9d8d5f731765107ddbb4cc91880a46507d7073720a260ffde2c041a5627f8d3f4d87e74b68de333eaaf6365cc3";
-  sha512.doc = "b6ca0942531ee454b3f1d79d7430a1996f3a82d9ddb16b2982901775a2e3aa74c69723e483099cd968c3b82af833928f422814dd11c037f590a6372a2f55cfa2";
+  sha512.run = "ef6615a3768f87009d22c3feeaa074a0589b17efc8585a509e21692195a100e5b11e2d0849fa2eaf8f80cbe0d96ea12e773aee0be28e7120ee80a86dcfa6f8e2";
+  sha512.doc = "10dca0c00a52d9d9775bd2ae35b50d7d56294da9b8eb21f2bc35f7863cbf1ab357cf8f3e1d949570ebf4908a60d9ccfe604e69fe779780c8e7527172f3f0e999";
   hasRunfiles = true;
 };
 "iftex" = {
   stripPrefix = 0;
-  sha512.run = "3a0ddcdb5a7c866d9b38efd5129e739d2303feebb800e492e1add76f56646cc02f2bac549d3030e6b57c57718fc499d16eaf40cdc4425474807e5135995b2cc8";
-  sha512.doc = "2a3c5c51c3e98d68c2a91dd735bf65a2406d5d8e3d2091e03e694a360f8aab43bd2098f084d237598fcac7f58c9d72921a3c7001ddf78cf54ff344076054c9b7";
+  sha512.run = "29f81db9d89a5802558a0e6abe9718863d1cbfa3f456aea211da5c6c6e134aaa47ddcb3b35cd2c4c77c06c2a962aa0687410dae2963fb02ebb69c68ff25784b3";
+  sha512.doc = "59bd612d82b2f5d8bc3e5d978a61db54f7626f779ad1c183e90fc03e998b73608cb54263ba352748763a9cad657a24fff51ad15e71d5dfc0cb36c7cf65636045";
   hasRunfiles = true;
   version = "0.2";
 };
 "ifthenx" = {
   stripPrefix = 0;
-  sha512.run = "362cc2672d36cc1f89d773e37b433c7146f59fa3a2e7d048e5977edd4c37d96ce6f46a9d79a0b12288dc3ae724174d51348d02c856b40094a8a3872bcb235b7f";
-  sha512.doc = "7db094ba518d79a9c839c3985ab4358244bb3514dc38dbeb004abc342de3f0d135cc8bf7bcd0c8bc6df63d24d5dfe7a6c86aff95ff70a7ced471e3c721220a17";
+  sha512.run = "76235d3f8dc4e62604828beaf87327d11d4a9ff69061edf1a3ed4c874983251fba75d80973e54fb3daa2d160b27000089f4cdf1c29748124825fb4075b6f7148";
+  sha512.doc = "efc4fa3b5d6e91d1d5af27846bf2652672a233537810051b2858c1c4ffacafb9771b2c3a222cea4d490e0478eef96b205c4043f4957b876b7f4d57903b26454d";
   hasRunfiles = true;
   version = "0.1a";
 };
 "ifxetex" = {
   stripPrefix = 0;
-  sha512.run = "5c7193adbbccb2659dcf382537eb4940c73f6727846ac3944c8803a7d5fb269e6e42cc276a914b5bcc11d18436e9bbb9aad503dbacbe6f6aa93c5465f7341b29";
-  sha512.doc = "412d2b0c1bd2aa6d4e3960c150b9b812e8fc0a7052225ded2afc8ed4af1f55d8f51b3ef0504183b622198ec647f9b437c073682311c6e7b05a495348b577c1c3";
-  sha512.source = "63edb47d3ef4554c7753c8b7db74499dab4bd90dde460c26bed0c837b4a8f8bb6f0736f7ff03226fb3ccc1f2375d3db4d7e2dfabdca0f88b6401c509c36a43db";
+  sha512.run = "44642709a4936cdd65d9cc25480a34bba64e3ea38426ac6566608cb40b54fa82fb96067680a70d8234bb448c3a3423a43d565014860194242ad86995dcfd200f";
+  sha512.doc = "231969b2185c83eb9be54abf7bd06797d47bef253198fa8d73df951a4f7fdfc7218d6155c971dad77546767e99e476bef169df1fac13146abee841a10b257fd2";
+  sha512.source = "59e3644df1afddbf83fc0b8db58290b47f0d7065fff81535b3bde024bfb6da80c62751763aca5c2ba494ea7bf2fbac3ebf5f4e95579af4295916ce1a80ee1848";
   hasRunfiles = true;
   version = "0.6";
 };
 "ifxptex" = {
   stripPrefix = 0;
-  sha512.run = "329c5d5a5ae6080e934b2e6560da0da94dbe93183b4692edb13ecfd460ac93cd7643f1d84e53a85eed3164f0e10d8e277525a2ce512b9afe84fb59f37cfa97dc";
-  sha512.doc = "2ebdb370e07007ca2b94463aa3cb6777b55504aaf61ccbe5767b1113a46629b89be3f27f1e7ae5fe93e79a4e6ea0328205378069aa60d2d9a8d3029b64873208";
+  sha512.run = "7bc52847fe21879614ffe673ebec74c735c70e07d63649def00f70d22db80faa920f0764f76c5094ef982abbff8202ca55410ee92d033c45ec43fd25adabb23b";
+  sha512.doc = "1bc4feaacbdd33ba6f46c699969638cdc8a4b962287332476d0d163a10141136f9b913027ccc3418033dee0862d5e572957dbe07d47371c1d932103958151e27";
   hasRunfiles = true;
   version = "0.2";
 };
 "iitem" = {
   stripPrefix = 0;
-  sha512.run = "ab91889a6515fb1baf9b7173b601239736358877de660546a50a2253dd96d11867c06d9479d86b701718fafa2723a6a17ef5aec16233cd22060d28edd743a6c0";
-  sha512.doc = "72f567e70ac57e6a58ee79d27aa3d10de3a777d4b0305d80ba7e7975d801e8323a744b01809177d3626cfb50ee14da688aff46fe038eebb46de1fece0f8be5b6";
-  sha512.source = "e943879a9aa19e1181abc32500c7147c3261a14bfafca3d691abe9748dce0c7daef2b38e5d3318eab58035e55cf5e0f50991f254538d2cd82a36a35c731739e5";
+  sha512.run = "b2b37e68db2b33e414ecbfb9078b60ce5571b7ae931ca828a3c668ea7cccd7b93a2919cadc7723daa3f63a7015939a8046973ade140fba01025dde0d5212edd0";
+  sha512.doc = "f9f001123e1f49bd90cb3b24448e423068565c9256129e23126791e2ea2bc39788ff5769939d90018087beb1b31fbf3568c6d4962f2e92205717c84aeee54a21";
+  sha512.source = "e24eb4a7a6a635b95b6a1b40d27651eccf86a6c5276aad3ca46cfde08185371fdb34ac2732d87750db74605c14e087d2102399e23ad85a236a68dd5987784c0f";
   hasRunfiles = true;
   version = "1.0";
 };
 "ijmart" = {
   stripPrefix = 0;
-  sha512.run = "c4af4173b33a946f87fa12c008e9b25c2906458d7e873775dacbbbf7c55c721a0ad16fe28e06618dd7fb56adedde49ed1fbaab6fa26aeec9ab798afbd5d448dc";
-  sha512.doc = "40c4ab62964c94ebd5b2db82b6406f1ad4587c31ffec7ade043997e40e7c76fbfd50226ae4bd1dfef7418d27225fe5649978d29b0ef1d787c28188ef12cf0278";
-  sha512.source = "8d88a0ad7d5a46415afb5164639e3e504ac84cd9450cd76a23ae177a299bf3689acf07bff6048f2f7cddedb8ef430d306671b7d2401fd600e973126e0d0b71b3";
+  sha512.run = "a1fc1aca9f557ea9c8c70343ad1e5712a846b8a7edddf2077e78fabc3919b928a5d7e8b1fee0f0bc29ebf7887e26dcda5bd95f2ba613051e52f13f1ee24001d3";
+  sha512.doc = "502aebf377c8b13d7699761651cfd67e1e2d10a8e8a022303921aa1e708fe913b217e186b4e2527d8ed81e3db6ff055dba5edbea218d6b9a92f679da66fefe97";
+  sha512.source = "e42bfa6ded16f78b764d1ca55e905ae0b2c0a5611b8ffb2e882f121d04855b5f72bf925002bc322cc1106f68c7c68ebb412acc71789d560fbca12051a75860e0";
   hasRunfiles = true;
   version = "1.7";
 };
 "ijqc" = {
   stripPrefix = 0;
-  sha512.run = "cbf3a88bd185ad2e213eefe1f0d87d96dbea1416e1ab9dc4c693d2658f941e3fb64d23ae4b104fbaa86f25e0bfff9001ac28b9c7268ea842100b4deec94a8498";
-  sha512.doc = "0cfcd9eaa19474da6c7f41ce323a677c320a539948973b51be1f5b56c46381b9861350a369b76cd9259c797b73d554a8b7d9efbbf31e62b9b2b2ecabd9c0ec83";
+  sha512.run = "55f7693a820f0cdaafe8697ad352cef2748471711113cfa4738931926cb4d49497f4e825b0a737c233541203cb5c8f23dc4f8326950520e8aa0f4ad27f353347";
+  sha512.doc = "6b94eb95d58a06b54a1fb28b26ddec15528ae99286a37631a64b4ced32343872a04b96cb2de540d54c54f02361981ecc575ef7d014a17e1d0111883e92671fad";
   hasRunfiles = true;
   version = "1.2";
 };
 "ijsra" = {
   stripPrefix = 0;
-  sha512.run = "34a5a8c4068f0d5f81baa598a76a9b120275cf20a063f8395e1866bbea6d213479b04d300aaa3cfb703fa1b6974b0ff3333afda5562c9ee5619fa0505d4bf0fd";
-  sha512.doc = "d0fdf2864cc55a56fa140e6b58838c0f6f9b1feebef7335097fcec0c91b66c598836be6b28baa749a6ec171800b710547123bf557114f2b81611897d844141c7";
+  sha512.run = "9d5db4217675af4577fbf9b7e8a5dc4a42f447e7af60a818d740327326d478afa9071be37c80315b0822fec48d1fefe4e3d6a8dfddb6f34fbc11cd81a5d05a12";
+  sha512.doc = "a3424b8ed16d1881c5a2c4d80a42277a1c0e3a62484a0d5ee6a18a9ed9fd39fe0de241fefbc723960bfee331908bb5c95a0b1b95ecf5e06d6425ac8e6c2dc342";
   hasRunfiles = true;
   version = "1.1";
 };
 "imac" = {
   stripPrefix = 0;
-  sha512.run = "76b9046d79c8ea0354d73a81e815dd486989063cba2e12ff7d1066ee61423cf53e652e2062ea36f4b8bd23afd1fa2c4615c41f62c754f8b28a4a19f55e11568d";
-  sha512.doc = "4c147ea2bd1ffe0c1519aa9d66da6448376a6650addf4c2a8a23985caa0866842a310eb041171cac71c9d80613d6a919206fa6afc06f0c75dc131db78f7f28f6";
+  sha512.run = "5e51d080e18f2a5d9529705d0e8745a8c7b2d0186c929e04434b71ed356df3ee2456c268ce2232da9cdbf6c15182f6580b2b96995a6c48e40fcff1efb001cef9";
+  sha512.doc = "df4232356db6e2001277bdd8de706549d2f91b2d59d4a55f39c4aa9628e1a2b6ce092a7630ed4fc20096d069d19f2ecdf445129a870ca8bfc9d87e522350798c";
   hasRunfiles = true;
 };
 "image-gallery" = {
   stripPrefix = 0;
-  sha512.run = "bd1a028da1f3225ecb7985de5f8a1d9fe1dc2258bdd9342372f92d66a3a19b580989f3fd5d7c849cc6bd578097fcc32ed224dceeb3d3602319ae22e7640d626c";
-  sha512.doc = "10c3230cb0c9717a900ad890cd1b74461a229c591e07853fdaf34136816a1cf29c396e4165b04466ef539090b36770c3a32132f8f5b9f98169d40036867ecfa5";
+  sha512.run = "0435d5011bdaac97c6f36202a03cbe52cb45f83d7dcf37111b9c68706e4cc971b5b13ab5fe0b29cb296f7af4b217a64b5507ea00dfe63e8496e10b5adefeed8b";
+  sha512.doc = "ae9c965bcaeaae17b8a815bac824093a5834f2b96c99bf44527d915ae251cf1dc818279f78d3cbe75e51875e658d47baa3b9657e27f5121ed4e259ae5cc052b9";
   hasRunfiles = true;
   version = "1.0j";
 };
 "imakeidx" = {
   stripPrefix = 0;
-  sha512.run = "e7c90e8b2b82e57acf6a8f4447ca832a9ef627a1e9c17b0f02b7c235de83911dab6dcbc19af9904f50b31ad631c78852ff815e1382c44087dfa7421004ed8fcd";
-  sha512.doc = "66475a428a4592c5ca225df2e2a212c4f8955c798f8b01daeed7a351ec8d6d8db97d78ef25b1768e737a541dbe9e4fbe9abaa648c97b8b2b552e1bbbb1f651c0";
-  sha512.source = "cd30fd8cf1e17ac236994cdde34de8d09e228abe18fa384809b0e6d78a17622c4003bb98e50b0fa1106a3a93a5c769cb9943f42f9ecf4528038f1e368b5794d4";
+  sha512.run = "6ca0680f29daf88dfbd26fa87d47a65c8b2c2d534321b814ff78d77d0b97d7fc5654b4dc0b91d12eb0c9373cfaff5fac59f24def8d0f50d97da34fda6f839d84";
+  sha512.doc = "a07d9461013045274f03145e97d286d930055c4573e917a78e8913841cae30fb61b99e66d098b4ba014cf44e92982301c7d72414e3ce1df176bfd35ecd26ddf0";
+  sha512.source = "f3fd8e1a5057cbbfea56a0d21f16bb310fb815ad7363e284083f2c313ac055b1b335fc1c43bbddd1b1beae64ec42e29bb4a194056be658cfd3ee24e49d5e5804";
   hasRunfiles = true;
   version = "1.3e";
 };
 "imfellenglish" = {
   stripPrefix = 0;
-  sha512.run = "d90fff2792b9957964bd360d1366a40b817f32829845a5b44bfd876a1b1f5d66f8540208868f115385f29d81fc139eceab107fbe16f2c134e7e0dc7ac9b56f7b";
-  sha512.doc = "00adcc7980a53eb452f39d30c4cd39753e2a19e31bb9a5d2e55d1396d39c08f353a10704ad698cc4b17ad387226caf718ed04f5223304b9da8ec350f3cf98ed6";
+  sha512.run = "99dcc3e48c55b402adb5e5481615a35f4d6ecc535cf68ac95b223e13bedd8edfad2dcb2d6ce99712646b52d384e02a1500f333823a343d887f87fbed44a06ccc";
+  sha512.doc = "3ae58fa270354ab028a4cfbd6d23ba12a9969073f28db5ce2de4888af2ec70a904767dfe692ff7ef657e5ce13747e7a2602856b0ee4cc92db87ac8e2f4a9e635";
   hasRunfiles = true;
 };
 "impatient" = {
   stripPrefix = 0;
-  sha512.run = "5d035e82458dc283a0b934e7f873950e0d685e3021a0e47f922f6890f3e35025e580675f3c10312524ce1582fd3a15facf432df4bca0f7721fd2e11689061ede";
-  sha512.doc = "f5702f458befd535744eb5ad91f020e05adb02143ae91c2a413f82dfb3b57a1d1c630e1d03abcad0c6bdf16574ef9307455f095769872a9f68c92486d7ae99af";
+  sha512.run = "d66e22eadafc2de1816356c60151578f7ae7b1b7136ebc9cdb4e1a32e019b4d403af2f19d4bfb15d8fce4a7e48576e396cb63dee1a07da6d013e93fb09421423";
+  sha512.doc = "dc557d4bf80acf430ba867a0767e17ab2ffd57acda5d811f38144b57ec19ee797ca64fa01487704a90c3eb84ebc14610719370af358d60fa392877d4133a49a0";
 };
 "impatient-cn" = {
   stripPrefix = 0;
-  sha512.run = "b5fbce7da2b456cc20415f4ddaace64e93ca73ce7a6c238ef11f79ebc1c2bea12eaa0416ecfd3e1b0c98cda284d170d28589cb2d6c0c1119c0550fd6f332ae56";
-  sha512.doc = "30cad393ff9463cababe8580ec87a7a3734064290008be075b29837cec560ead4f8ba67f040bd0270e3703fbbe0fa319c13d9c7a3bda4ba60d9e8d818a63b55f";
+  sha512.run = "216d5bddef463d26c6cec794a38f0b6d325aa1d4cb9792b642715d71d4f30f1d73396036f8eda79b12498c7ff2b3e1e3d2e17d04e3f071f90e8ca35b3acc04c3";
+  sha512.doc = "00140f4b38177ad8c3040cb29a90545da65f2f6100d7058b1974a174e3cb9e4ccf03f0f9ba196953fdf6636bb44d46a1346a3f812aacd177247f40d16f1b78d4";
 };
 "impatient-fr" = {
   stripPrefix = 0;
-  sha512.run = "5b834188fc95ee389f5f2634167a4851a7d681a4a1ae1c91788774838e38b7c10babfa7c410a41e6ad9bde8e22ffc41c59b87c76ee750458ea876b9e0cf27791";
-  sha512.doc = "c40f4d9f22bd4794af4361505ca7254e7f2f91c6616ac2d4af31900d2b64dd6f2071e12cf5bd8ecec3b1431c78cebd276f3fcffcfb3671af4645b75d29f6f725";
+  sha512.run = "41bec2d1167dc2f57a09d0028411147f8bf31d5e020408bebbd1b6c6577d531a38f83ae395146da699a53d9504f7f6ec1ab5edc5d6b559527867b352e4a8a551";
+  sha512.doc = "ca3f388df4f17940ffc3b27ec1bb6d07d3b8728d8de011975b4f2696a96eadb45f208f5455890491af6fb169c30d6cbc6849dd3d25b6aad0284f0a65a81c8e9e";
 };
 "impnattypo" = {
   stripPrefix = 0;
-  sha512.run = "4dba7265b2ede3ed02e12e0c79b6d58d854399d1eb9932d59440457e712ce004b2942800449adbb8c3f9bb648c10be6e0939df4822897f35b97e74ccfad6e9d8";
-  sha512.doc = "96b441f8215af755f13723aaddac2f9d9d67f0e8529ecf1970c780ea97a5804d76512e642e498f5a5dabf0f66fe6476fddeb4663462a70c32a70bfe0b5999954";
-  sha512.source = "cb216d896e8d17ab8cbc4da1783bfcd070e8f8bb95013f1dbeea5ece3caf9712508a3b08fa685d1abe1efe4e4ff4917840b943da5441e340d7f3c053d8d1fb87";
+  sha512.run = "7afd6cf1fc2738bda4f390fe7f2f9d5e1bdd33c2e6bd32b4dda5b232005589f38436813d9e5effb6feae6371896be453b608ed61c64b9bf38fd25ec400c4b101";
+  sha512.doc = "086b106a965e0f469cbf3560561da7d84e4151d5430d42d87c2c52568243305e20a1bc99ec4b252237f4c61369127683ff7b629013af8c76e9dc8ea6e551e24c";
+  sha512.source = "5bf181ff35a90a1d5c7656f7ae9778305088035370cec3542fa451b055cdad6d3b1ac1cf830fb7ab7ba3d4d89ce7b96a1112575f924fb13f24b1a90fc84e24a9";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "import" = {
   stripPrefix = 0;
-  sha512.run = "4b19993b8fd0575c25af5bdec258412a9a9edc0fd7821138b21c78318f6a57e2309865ebcf8ecc545444b2985cc4acfbca827daecd25387022f29098f1f3837d";
-  sha512.doc = "5b16f74bfc6baafd16e7355ba168226b037398969f818bf630e7328d47a1d37246b522fe21a8fc7ba9472b922ff979fee0282399e9f504babb16206ae4852be8";
+  sha512.run = "d3b1d7fda67d0f685a7f338dfbe37199c40a4ade516d482b12efe03b5885eecf1258dff861dd17ca98f267cb12bcdee05178949dce192c2e8336d42209029e3c";
+  sha512.doc = "aed56b21c2b10e94f72ac15c7b892a6aa2b0a27f50e502f49366ef73c72f71021a85ce5aa4288f48a09b941c189bc0477d040ae83f9b52a20db2d23160fbaa5e";
   hasRunfiles = true;
   version = "5.1";
 };
 "imsproc" = {
   stripPrefix = 0;
-  sha512.run = "377ab9514203ff67599b0d12c6e42d4da23729e4654d3e8a05cfb3dfb633ffd1c223e7efbfab9d217d3df21c662f6cf96a215a7d6c9968f13b56e3f8c5eb779f";
-  sha512.doc = "491ee560552053717e7ebf68091136759ab5ca36d291d5aaf0db74d9f49e34fd8a35afcd63a38180ca62dcf1c1af082dc6d2b2227f8f95a65385f3aa4a1ec18f";
+  sha512.run = "12ce0d8ccdcd54890f846b501cc5cf7af00f7759c916147c676358b689b852a86a1981b76a14e455a4edece20ad1857100123f91469dfb23ba168177e15fcafc";
+  sha512.doc = "a4007fe80cca88525dcade8d8201fb82a2c35cafd7bf92a8ebe6b4668ddce6bd43e958e1223d5c212e91ca692df39aae84c4a25b6862afa3aed2f1f646eabba1";
   hasRunfiles = true;
   version = "0.1";
 };
 "imtekda" = {
   stripPrefix = 0;
-  sha512.run = "ccef323af9afccdbb73d35447aeee07c0cbfa517f25b6dbf7ddf67745781aed1fdbf7e0dc7de9bde0c42c6c79622266cfcfbba4ef901ae1a87b0531008e49364";
-  sha512.doc = "2210792c87305740c7b5c96e9f57b1926d98d4c1fe0fe5a1acc7dfb7ff82e88bb3b0e320b7d7788580f268433be9735988ed0db1d5d2e855df7340ec74a2a61a";
-  sha512.source = "a4339e13ae17cfbf75f140588099cf8bb52c3deed1992d558bc1db52fb64da71aec3315da68fa6e0dff3c959c0952556f30192e491cb7376fcdf30b5f541e3b9";
+  sha512.run = "ae95a9d52ed07e962a9d98cdcad868a9d2dc6e1eee82c38fceda7f7668934caab5062727e75ee3b1824ec60ad112f15541c9519fd494fa8199caaf0e83906484";
+  sha512.doc = "6f854d85a7649b49b3c88d99f1f011df514b39064e2c340ae1e807de3e730a46a432afe178574105a414bbd46ae0509b9e88d6c0ff825e74dd55772ed189427f";
+  sha512.source = "c4285c9099d8a2582570d0d7df327e6f693825a63c7dbbd6626361d9ceea83a039425b295e17de133fe51e43a23ada74e5fa83d0995fd4a6528eceaad2f59461";
   hasRunfiles = true;
   version = "1.7";
 };
 "incgraph" = {
   stripPrefix = 0;
-  sha512.run = "7ca01a4e40b6f28b51c46f664f3ae869636452e0bb600fb256fee87a5824a1eb8e9bdd7d7c7b82a32b1dd0f9a407f31b9beb4b3d56e86d7a4411e4a23b58fade";
-  sha512.doc = "e1097fbab528ef96d82d972214893a2303c9ca70a63c47ee83574389374ae83afbf437ec047f3ecbe12e6961ef159c27b6659ea969b9b41d1bbea96b9e9592ec";
+  sha512.run = "9a063a51c77ec55136a60a7ffaa259f7c8e2fbc9c71dc2d5240f125be50fc246e2a1d1a6c3379aacc044ad0eb7a754dc27a6445bd12fd63c3d5b2929cdacc133";
+  sha512.doc = "1a1be60ab0ee587095ad6e2c74ce356292ce454f3a40fa96e5fab7d48da52b98cabfe9826235b3afae679baeea1b23e5c4fb4d7a4b00279ce0433568a9cf3108";
   hasRunfiles = true;
   version = "1.12";
 };
 "includernw" = {
   stripPrefix = 0;
-  sha512.run = "60b67dd314d904d7a2ed50dd6c167f0c8d5ce0248dd723b087839cbe19e150f3d48e0945586c02f467a38936bcd9b17393c1b4f579c216a9989c19edb0cefe52";
-  sha512.doc = "9be0e0bc20e12d3bd5ca96fdf349ce0da31724cba29e7812a55c742459711128219643a7559396ebd00a1ca6aa4bd9be68da54bbbe3e96fc7ff9dfd83de6ab7b";
+  sha512.run = "a2b43d658ed62ff3a301a1b190cc46f04a4a46f413ed4af3e0f84f1873efc6841cd23fc07d68a90cca50b6ed00ccf654aef9dcb6a8b4863277b06c7e8c666e6b";
+  sha512.doc = "8ebde646868cebadd8d50cfca25cd8d924c0112129ea86b0ca3ae5b9f9f4e4fec3c1e464486ec0f92e5cf7b7fe3df1fceb1a7967bfec755c57645e6909705c0b";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "inconsolata" = {
   stripPrefix = 0;
-  sha512.run = "134a52eef41ce0dd1338c700cb06a95a15af75cce5bf5c7fcf1b12740456009a801b374db694bff8a2b8b3c3d26642c1b3c44093db02534bbed1b46c365d4922";
-  sha512.doc = "028e6819f8dd4a310af7491e951c6a843bab124b9aabfb8df564549b952cb288f7a71a847b2a2f5706d2b0d971418e08591d2dfd913574552e625ac6af440c05";
+  sha512.run = "0356a6022a3370663382f887806a86adc20d9ab7943c5840eb9344a6c64893819d0e3de6b42aec599cf1cfad0cea5724625d96f032f67c45ab282aa386bde484";
+  sha512.doc = "bf80610a2a64c12098ee2c9d6d034791cac79154869562723321c715a008479a267c2f4b8cb490b6d4de041c80bbcd25cdc3faef2b1986f2b53dd463c4b81be4";
   hasRunfiles = true;
-  version = "1.114";
+  version = "1.121";
 };
 "index" = {
   stripPrefix = 0;
-  sha512.run = "4e6bdea9f0e7eb6ee910c820984706f54a0e9c4292d568e6efded5214a2d3981203e90ba6895301c590587be190ddfc262b7d2803b686387668d3f5627bb5c18";
-  sha512.doc = "4b999cf6feaf4fab3a381e2fd33a029a09e3dcdb022d1904ac95ae54ce7a4e8b6c08db2e81495399dcd14de6772d9bc1145ebd9ce659de40dbdc78bdf9a212ab";
-  sha512.source = "80021647cea6c178b30946e20b11e7a9ba24787a5211443d7a097e16b1ac22c0631be28ce27db0b2533852e3147fce90d0101c67fbd54a5666c547fcfb966972";
+  sha512.run = "2b9bed00e12b5aa7b1813be766ba7c2e1eb750dc270e9eb585b1cc3d559a3f0c9094919344aaaa51cb6cf7cc132a5f89f8c07c96a12c5b1a5446524d07f4121e";
+  sha512.doc = "0e68aca1c5dda444aa42cb1883821f2003c450291191b2eef16169f3f76e03e5ec9d31577574afd8d3b10237309be303538ccd1d4c8edb9757e7c910da7c5f51";
+  sha512.source = "fc9e646c54415a14e41f1adf9894e723ea8d25e1d151b56fe40e5dd437a4659535b11eccbe9e2b6077d01a7a83b044c2d1d2b9aa1b08243d82b5a37a70641c11";
   hasRunfiles = true;
   version = "4.1beta";
 };
 "indextools" = {
   stripPrefix = 0;
-  sha512.run = "c716037ce45ab35293c12dfe2868958b529c06126e7027935a0c89cf43a4289ad5980f5394ac755474a58b4a2dcd01fe922740d3cad71449ab19e531c4e3f736";
-  sha512.doc = "39946a98f88b1d055ac8407107bc745db546431350c689e0d00f8f6f0fadd6596295b929bf6c735b385bf6938ef9c48fe6cd83cb451e4d4bc7b807821569d1c8";
-  sha512.source = "2ce8cbce477d00f3569a14016f689469ff3bcbe6d10fd53231a71efab0aaa3e896dd4201f54315595c9b22eb0da6ab6570de0f67164b6a5f2deafab43cccf0db";
+  sha512.run = "69bb7007041b46a25e9f6bb12d8212a4dd4eaa9dfd00fc033edd94de153e8941cc4de8a06d74516220ade56f2f5800f83a96ea2c02d766939cf70aa3822da63b";
+  sha512.doc = "9290dc53a68dcc191d39bc0d1e760bd4cb8db50d7cf70771e60686ba2b1a7923b408f21e777453a6f2ec9ec372ac30faa3ffa2cc6bf7d2bc82b2526327d732a7";
+  sha512.source = "2d6d1a6009351911a3dfe204ab81ce8b54abfba885525a98557f56ad22ba6a319d35d36ea6f868d3abe9d788628d9f635dec8a657827ae3b772dae972a11c53c";
   hasRunfiles = true;
   version = "1.5.1";
 };
 "initials" = {
   stripPrefix = 0;
-  sha512.run = "f4fd172d489327fcae8bf3f552542d44ae730760e097330125de1c590d21903ed196647f21b95af6fba2dd3f5efeb0a27326a0e48f052a1960831daa02b5ddf1";
-  sha512.doc = "4b12041062f077aa02f14065b3b63b5e69bba75f8f4d48d6a93b2417f9b155ee5076609698eea574c757212484a0abc0171804929eb699fbd4adc7ca13143fff";
+  sha512.run = "65b2ca2049dbeffca1a425530ea36357b0f06ae8cc744f16471a29dc9f1668023a7edb184d23c80dfdf57d74f24c9425b48a90133f9fa6c794ddf495e3d0413b";
+  sha512.doc = "ba6943a564c000f986a4029d31ead6ee4cec028496636090fc56267dd8594bb20be94e4fa4e4a2f39b5b4c7af1b0db3a74111e45a8ad229f6e9fa8862b11c68a";
   hasRunfiles = true;
 };
+"inkpaper" = {
+  stripPrefix = 0;
+  sha512.run = "a5357a2401cb104c64f64d31e9583b9e427673233a4dc6251ced5f23bda1ad895fe499f806aa7dafa3bfb2cb4f2aa9718868d6d3b0a71f249a545960232a78da";
+  sha512.doc = "ecd15bcb523948b5dbd89ac387fd427a5041b39f6ae1aac26888632096fd1e797beb0cdee926dfad1b3abc5b55c6e1f599a07421e7a52953d0812261df21fc3f";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "inline-images" = {
   stripPrefix = 0;
-  sha512.run = "ae88646433bc16d0335f72d9f761a89184f41f2fde746d788b804cafc974a73275514dbe95216dcc8b7e83b0c2150e00c7da0918cd5912e609ac64aedf4324b4";
-  sha512.doc = "2796d176a59f095e62fada630a6153324c5f61c7948c1a0d2599a88b6867f45a596d2ad0397fd6b18ead3b75e9897c29394b9a4f545c50a367b29ea987633821";
+  sha512.run = "60957844daeeb2e4956d83e1d57e9721b2dfaf4ad2fb4358f1d27cbda225ceec7cbc78cdae5144d28a946bb9408fa960748ca3aabac709bbffecbbb64356f8a5";
+  sha512.doc = "5ec326c1323cdce80f5a83052302d2e18de3b0f054ddb7a29da5002605e1020c81fe0219ee68866eb5d8c3b12b4c138ff56f8a630e6f0455b27eb0a0c905d027";
   hasRunfiles = true;
   version = "1.0";
 };
 "inlinebib" = {
   stripPrefix = 0;
-  sha512.run = "8d07e968b6d36856f74e9db4ff8a5a2fb040359069e5b257022f9774761748da57583d3a4f85200d213925cca1a1810fad369e0039a27866e9d28f134d1c7273";
-  sha512.doc = "e8781b14701027b9e78d6374c04fba5887d825bfa2a142a736abc0ecc84bdd1a1c0faaaa089801eae6cd4d97f91d71a5f9ccc3e5f129c4591edf0058caf268fd";
+  sha512.run = "42e158a9ff10dc165345bd08b18fc0f90b463482fbb824872289edf93269b36b04faaf35cd12538e83ef1e509b7400ee61e604c5849922106368624c6c20f507";
+  sha512.doc = "2a00d2f51daca68362b5243d8cc485bff6f64fbb9156d1a221d75dc5eec001c3377e6d67afe5d6384ba3f7504eafd65919f5afca8e1170f8b584eb101c947faf";
   hasRunfiles = true;
 };
 "inlinedef" = {
   stripPrefix = 0;
-  sha512.run = "8d88246963a50ee8472a5cb806db0b53fca6b2da4380c8cc9ede626ba7f0091de7f07fad8eb0bc5503534f62dc63a5850dcd47792ddda5395860f281fd029643";
-  sha512.doc = "31c8b1f16ae2a4a2b72d975d25d7c69072e711a0bce8af415fd3c2a726257ba79212cbfa0aa9b3694202b0a62553124a1732c305e4efaf91ca8d450cbf970528";
-  sha512.source = "78f54c99ef084252ec0b4f7dc3c630b6321cc264dcde1b861039cfa8c1dff104d621575c3cc28309444d8d4f80cf098b459fc7fbb7b57707da34909bf2d16afc";
+  sha512.run = "b98b83ff26b5ecc9826f111d9faef5aa0f51ebcec7978881da2a61287af7aee022dc1b7812ee457885c7813eee0d2200d250ef45648619f3d105e2df54cd21d0";
+  sha512.doc = "6bf73914a9eff5d774ca7b7e37a859b0e7da3d408bae603b74c9f76e379ff6d3558d7e30ee4a246bf3f7d40f18446fc78299edf4eda0228e2f22e47ad09ea024";
+  sha512.source = "ccac53e2ce8ad0fcfadfedeca45d136ba94bd51d46fb4b860269f2efb7c0996823d32ee1935a0dad79ebe69c9794e2882e6dabca0c5751b3e8b25e5329623953";
   hasRunfiles = true;
   version = "1.0";
 };
 "inputtrc" = {
   stripPrefix = 0;
-  sha512.run = "2bafafc41be7932ba9ec5b28bb6995c651d1b0f083029c006bc3dd4e9e9f644ace4eaa84674b1cf133ff67e1db2e67a625d29d1b9f908b79cdbbf1d4c19d6891";
-  sha512.doc = "8a504e91e13152f8893d2312ebef4114be5ddfde343f4da17c9e4814605c7931f3ecc09aa35e9d2ee0dfa6a6cf539b028c8c969f8957a5f15344407e5dfa1ad0";
-  sha512.source = "be48f2138583c4f4271e239386b78deebda2aa06ecf06a0c390862f406da6b35cf851e66455f1d1168c2d2a02b43338f48308110b0b681d2442a780cf1161659";
+  sha512.run = "e6450fbeb0f9033b0bcc586c34f5bb8e9c3a6aae102c15912be315d14fe883b8bea62a59a4a65d0ebbfa9cebcc518b9dedf59297f026423ef14aed2c0a2004ab";
+  sha512.doc = "4fe7894ee87bcb81566d1838f52c02902d8f5668662fdc016005e9a44b31f35eef8831143cdf5321717ee590ed14fc6c35305f584a0b63254549f96149ae2a50";
+  sha512.source = "942d536481750f2272cf8b1420e13703d16231a0998b90c7f3335d4aa6dbd0cf1ff3b6ce072970b182fffdf14614422cc794798632ecc5ff41dfffb18c836398";
   hasRunfiles = true;
   version = "0.3";
 };
 "inriafonts" = {
   stripPrefix = 0;
-  sha512.run = "9fbb9e4a820a9b7da27d0fb5395c258563ae8203511cb4e8e1fc94983e8895344b1a8d14237347f832c72b368c55efc740995c09585a85d1a68d9f15a05d3e77";
-  sha512.doc = "6769068261cdbe50070d515be242dbcd6798d8187a07ee3f3a60c46f5a8447dd1dea41e9a1960ca505e33491a68ecdd9024843a92cf668d3d9d0264eb6e67069";
+  sha512.run = "fb8218a74562131139d0125a40d04363df7f50e43c8207181f3c72210fec7f501497b5256cfa38d663c21b466e6c7fa94ad2fae9612f4f9767b32a7f5784f7b8";
+  sha512.doc = "b55bac3fce4d012be6d8d604faeff7868b62fda93493e49d7a0a0cc7d992c704de5a845ad7ba4cbd97acc787155b33fbd939954001dc6d4a9b29cef21b0004a5";
   hasRunfiles = true;
   version = "1.0";
 };
 "insbox" = {
   stripPrefix = 0;
-  sha512.run = "37bd2892e0ba09a4e0e1154ee94899f49f71cca2292e59d4f3d929c430e986c376324a929a58e92f7946767d83b7cce5d3835174b9e8256d636c606b0763d64b";
-  sha512.doc = "ec8318cec96402f9e86a50495375593d6d421ee20359fdb93877b72ec6752425c8a36c6bc07e1b7db4363a2986e18502dd0df36b19f1e0a5c49f21cd22597567";
+  sha512.run = "98398c838689cfe22ba859e2983f374ecf94b21bcf46de362056821af31285754717f7b2169f8bfb6fbbbee849449a1f3caf52d1397a901133d0364b392654ce";
+  sha512.doc = "53baed8af86447a60bb1a97774778256fc4ad1f08f73e2172a68fa091c32e41bf84d10642ebb426be610e34ef5575999d15be7f0c5a966618cea5b3a3832c9a4";
   hasRunfiles = true;
   version = "2.2";
 };
 "installfont" = {
-  sha512.run = "b5f28c690b1eceb036102cf3838342dc506c5cac6cb6c227287b23121b53536748f5b79822748191dfca4a2c4912b5633aae55e87fabf28b63f949f5a654535c";
-  sha512.doc = "c2db89e1349f8586cb3ff2f8cef1130d6542d927cfb4ac7a313f598cc7b2b113b17961d21092ee898be5484b8fc53e61a6637ad584777394aff9d9a98376359f";
+  sha512.run = "cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae";
+  sha512.doc = "2b61c4b229e0c4ec89c591075e52bcf8c150f5f9584bff94f81ec1f229940dafef11d6b6f84dd086692cbd99e6616685533d4313ef5bc48c56a7494fef3583b7";
   hasRunfiles = true;
   version = "1.7";
 };
 "interactiveworkbook" = {
   stripPrefix = 0;
-  sha512.run = "8068beea2b172d3f9821e34f77b6fc05a82a4b40706f125bf3df259b5ba3c3d15691327c5caac31c08602e74dfd67210fa170202450b5efb5439b445e3ca734b";
-  sha512.doc = "bf85a7c00da476769efd504972ebd76bf3105e7176aa231e2a7a262decd094150d13d9bc04f2cd4caaad114353e261751fd168b381c69baabae3af526e5592c4";
+  sha512.run = "2afca3ee8051065d4014cae8ee751f085abe6e62ea0af7d6c036bfd9ae6c3f38a295857d67c7e8f75a049fd618c82ad8b28a66f5c83a387969549cbf20ef159b";
+  sha512.doc = "cdc12a36f547787fd1e6aaa5f9dc38b99092f4fd7e71095c1b5ca25730b4d2a5a5fc1636798978741538624091721c96220d91b8f1cc29d7f4698767ce0269f0";
   hasRunfiles = true;
 };
 "interchar" = {
   stripPrefix = 0;
-  sha512.run = "241a6affde706eed95960023a3777abed6b1c437356dd87b080e1408ba567091c319e40b5e179e6d17aaaaef0792daa114185fd859da4d9af9d15704e013f47e";
-  sha512.doc = "6a8a7131d713ab4a4a573a2094ff99c52b23ca40ad23938248ea49fc55e044a17cac2d9635938c18a7fa64c051008cd34a720867916c4f14718c1aefc51ac81f";
+  sha512.run = "8beb2e016e1a6af0199708355b8f13aa1accc614135cdf1d6dd534eceb6fd5a8d9e611e4d6fe0d72da9effdef446549b01d5ea2aad043f3fe94b81fd3d4aa188";
+  sha512.doc = "c36dfea3f3f62660cae4f4653136269247bd109931b2eb6478eba29af089d42b6ea9f8afaf0c345c9364a68c1645e288d289345e13c8582e1639edaea20a26be";
   hasRunfiles = true;
   version = "0.2";
 };
 "interfaces" = {
   stripPrefix = 0;
-  sha512.run = "741e567a19d666b852bb8a5ae288301d267add352056648ac607e2c93a22835e5408910fb8ebb21e1b99c2375bb0de9baf7c070d031b210c1cfa2415a454c819";
-  sha512.doc = "247b9eca1bbe6fc23c38ebcac7fa24805452791e5a27a2aef1fa380eb7012ba333ca25b031ab4f4cbe8eb085ac7d1b50b6dc0fcf02626bf4f60ef52c830f6097";
-  sha512.source = "71637489c0d9fbb8be7556b33d7e94d4f9f2df862cbbc0bd4ed1c7aa4ba5585174c515b328710c41bfd889aa5a0815f99d15436346818d77273879e5b318892a";
+  sha512.run = "3c726602547ae05d0ca055d92b98a3cd5fce9709329fe9e769e5bb02c401a28b9b4cee53e5b1ee21dbb6c1c4223cf7a098aea227d615a45ced885c7c4ccab93e";
+  sha512.doc = "a9b44711b1f38c48886f7b4a49b3a58ec5514995c9bed9a067d41cbf35dcc0093fcade7ef28693970f1f017924dc2f6f79d8c89a1efc847f7a8c264cb8f98ea9";
+  sha512.source = "a93e77e7d12c91515e2d67f926ff6bfb76a278eae5880c60d2575580517d31f82d45656061f2999d5c4e73279a09dc5c5437351f10419b6ea92424d555e7e3a7";
   hasRunfiles = true;
   version = "3.1";
 };
 "interpreter" = {
   stripPrefix = 0;
-  sha512.run = "f24c8cf2dec52960c3acff13322e585cc53c7d631f72aa047ecd8c4c9707f8bf37c3cc347f8b0d290e50e34a5a6187d6036d9ce74077a7cd8da96430f04c0b46";
-  sha512.doc = "bc5261408545ff66066e67b0292e7178d86498b4f4a7a6d03e45d374ee03eae7d2869379e87aede3d710585ff9e905e7a2acf76b86ffde257ca91943972a249b";
+  sha512.run = "6dbbf39f9f0f357f45ae275458f03abfee625720b5f2dd3bbb5a78f60f4c0e8972d153c8d1647f147403f7c665e25147fd0c576cccb226a74630348a9f0a7381";
+  sha512.doc = "3408bcb3cd3e6da67294c830870534d3cd620b7abc3ad35d4833e30c831bf93d11dc06d00547888268870c75f6a6e2e861448a0fa197e3e5a3c10aaccc6e4dd8";
   hasRunfiles = true;
   version = "1.2";
 };
 "interval" = {
   stripPrefix = 0;
-  sha512.run = "25f18044f470bf074181711019e01beebadfe537fbc69262133da953a913fcf67e653cc4b673a58e7764e7bed5853848d47d2befa992f1aef85a7f4534be56be";
-  sha512.doc = "1b030417b50d3af3dba959e8a9a00d7d228ceb908d07fa36fc14c4cc0c24b2b6cc43c4b45539437ede99cb4f0c381c43a7ec6aceb7afdf5ee464b7ae1847d9e4";
+  sha512.run = "2a2fe0ebdc4754ca74962270ec48c69e6574c13e446628f34604b13584e7b14ff33add55744f03a1d28443b5ae87ba79926816bf44781951a729913ceeb4d6c9";
+  sha512.doc = "22dcf2288d7f888e76967209ef1fd31bef66dcb9784a45126a945c4a0ea302c67ab4a35bd864355b29679131cf2cf36fc6172017599ccf3025c4ae1537362b9b";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "intopdf" = {
   stripPrefix = 0;
-  sha512.run = "049fcb518a2819f442b1aa57e0c4e51cb1d1810675c1976ec944b7220e0bfab2a832db0edc09afa82c45e81a387c1258e816a0d04cae54bd37dfc2d5a3ca71e1";
-  sha512.doc = "91d516ecc72d2c4f05a239a9d867ee3ad800542e7370d6bd459c1f24d96d7048d734890c8f685d7110c595a6aa19377f96bed9eaa7fb9377d830f8fc14c40879";
-  sha512.source = "306444209ba45eadf584fe1be059d9692252a474a2bc84f0508e3cca7f90a6ac518020c70ff52c29886dcd993559891328ae3498edb9311781462d44bb23077e";
+  sha512.run = "e1bbdb7fac641a3aa6965cc6dd7fe1c2df56026991277d25814e07f22722ce9bc3851db045611b121b358c46afecc2d8072e36f435cb56f4bfcf45859741d2e6";
+  sha512.doc = "b56f170934bc7d3528604c27d4153800e1069b10ef98f4dcee6276d0c4259327160f8acd381c294490422e34dddd2ebe690d7143aa1493ebe36280323cbdd633";
+  sha512.source = "dc48d013cad264045e8515bd8e87feb09ad0fdec11a811a0933263949fd6f93c1ea0abe5a4d40553e3d37e43aebdb67dabf6715ab40b3abaa2971b2843a07df1";
   hasRunfiles = true;
-  version = "0.1.0";
+  version = "0.2.1";
 };
 "intro-scientific" = {
   stripPrefix = 0;
-  sha512.run = "6d45f369159148340fb28174a4b73594011c5205069b540eabe836afec990bb03b5843ea59b93c64c18c7bdc21be37e54b20469482115ad0e9e8af0477bd9aac";
-  sha512.doc = "4acae1d4f0b4a8f962799aaf50f2b77e7126ce044281e3213453a71c82b5982fd44739cafeb995745f2593bf7aae46f7405f14da060f2a0d1bf075bcef0770ac";
+  sha512.run = "9919021461485fc22ed6ecc0b30d0a23c0a2217c76a07dd8acd87c9091c9d71be0e370ce1373f90e6f5a36a9638ce4312fc674b16ccd0846aab97d1b05674391";
+  sha512.doc = "0daf84bdf7821aeb2f7971ed15de5546a13a444f3dc1b757f31490679350199fc893111109fc564aae2c8786fefc9e198e79e817bb318a1ad62698b6a5c79af5";
   version = "5th_edition";
 };
 "inversepath" = {
   stripPrefix = 0;
-  sha512.run = "97e8327853efc3fb15c8984112cf13b36af6981484068e949de44952f23ec703b46a9c603aea1df5e7e21bcec60f12c4d312124b8abfd83435914d9901d2895e";
-  sha512.doc = "6404ba872692a7cb05634e1f2c6f4c5ec4006835413ba10536fa59d99fd2afa60678da4aae61af4e5bc57251b030c1b9bb182e55c05b9569add65061565732a3";
-  sha512.source = "bb6b4ceeb02bbc4981dcc573ef206e75b8535035d06a6a3c193b31db48dc1c82797be514a3f8fb7d7f83b74592d9c70e9a7d11cacbd97848dd60f38d3fd3633b";
+  sha512.run = "d0d95399067922172799d17cc9b9b4fa7a79cf2928630c63441114c479bc60e72b3e5133b54f8f7925cbf90f5b419c89e07699ecf8e8269b43f969e584698043";
+  sha512.doc = "a9dba77a8aa851a5e915e368c5090fc83fd894c22efedffce97ee0915b4ec50fa72efc30f377891b5efc0749c12018228ce400cd4024369cfb81ff3fe62567b8";
+  sha512.source = "de5bfe7ac5967f4ab02dd0931c5799c6c68c5c7a57d8b6c40a205e76546d8a23a6ac6be292c6a1cd4c8475bbf0eb229b6d198eabc66a17b2ea4b0ffd0c798323";
   hasRunfiles = true;
   version = "0.2";
 };
 "invoice" = {
   stripPrefix = 0;
-  sha512.run = "f1d08d9ad7cf1ae2c0a5f8850e4cc036947a5d35e71b815942d9aaf431ad3e00a73043a29849f1c108ae508ae6919e2c0e01fc60bb645458138724a6bc6a97f5";
-  sha512.doc = "79007cb97f061171de3df6e10ed36c874da388f97d321cfb5be117b68cf635ace12b6532a51fa0048cb2ba3b3f5124f0754c41c4cd8a8f5daee91b17e70b235c";
+  sha512.run = "7ddb8e05d88321f45cfe8618c740671e17e79ddf53fc2c11a3b9224a27ba1ebc815635484f3dfb4c849d90efb859412028df1e7f91a4e746cf812b19e5d1a269";
+  sha512.doc = "7b827f575eca669f15767be9fd215e827a3e98b03ea3e1f353039f5190fa7d75a5e59dd5d89ada982518101fc5164449843656c60a65679dd82061dbfcb95ea2";
   hasRunfiles = true;
 };
 "invoice-class" = {
   stripPrefix = 0;
-  sha512.run = "2a4048d0d1046ee3277ec8862055d167066f40e8fa77427621a8d00fb8d87d09fa08ee0bd39867137aa12ab730a8df898ac3d4dc7c7fe133278cfbc9af0f6f67";
-  sha512.doc = "65f50be422a060aeeb29b5dfaf2646d0c7bd453720c548ea596bcf109244f03aa0fb0ae727507f2c223399c91a28833cf5f814b2054408b198535aaf5ce0da39";
+  sha512.run = "d31a445c1696741dbbdeb4f035358cdabc9a4ff74855c432dd2b6d66b0d690e65e400207bafdb643a1ae7bee3b3472393043088521a685251acaf9abadb08769";
+  sha512.doc = "a3ab71dd11f6aedcb7ce8a89f8b97f8a18ac4c610e3460fd13c1d31b8db0d347d25ff6520af7bd4d37453759d03db384df9e69b281307a36a1d05b4beed0a60f";
   hasRunfiles = true;
   version = "1.0";
 };
 "invoice2" = {
   stripPrefix = 0;
-  sha512.run = "fb055a1465083701bcf26b6ad296f81f7f49364e9d4c802f812333109a5fb2ec63f6afbf777dd8528f117e5a65d035160140e7dda024cea858eaf569841093d6";
-  sha512.doc = "ef8cde71c1f552ecfca199b26b0a7439b07092e4bb827df19f2812f680655e5602bb47f0c3ec3a2f31b379df13c9f08c27a298449f252beda6c4644bdb950033";
-  sha512.source = "06bc86f3eb255ba78f7b4919748e9304117617345e532a6075b72c1050507760de40061ab2db5caa8621da433e80b17b2fdaa1e1c02fd6ccd85fa781fb2caa72";
+  sha512.run = "a790c180fedcf407b999e018cd96b1a0440b07f98c403e9c9e780863f2ecac4f4559ffb88f6a3e4f6080c89745d8a99e5ca6ee98299c7529972edebe68e00eaa";
+  sha512.doc = "fc4baede264c6fd1ec94338829c6973c79c04f21284532194196063b3499becf2bbc2933644ca8b870608e8879315f724b173bbbd26548d24e1649929feed7d3";
+  sha512.source = "cf014bdc2debe9e400d940232eb434b1354ba7f1a093c7389c5b1d332dd2c270e7e3c1f07d65ffe9fd5d2d088e59b3e846e2fc2598eb7297189d6c772b2b16ee";
   hasRunfiles = true;
 };
 "iodhbwm" = {
   stripPrefix = 0;
-  sha512.run = "35a66272cc4a6d9e9f7e8592965de52095f6b53a61e780af67ddf02333656e503002b4c244059efde7f682509b958b99fa78470e28d5a12140a731124cb29279";
-  sha512.doc = "9f24ef6671ae885cfab0b1e08e6fd3ab101d46dc3d5e4af310fdb46d70989f16c0a64964013753665b3bcb05cb15aa6505f51e0883ff9e458fe4bd401be906e2";
+  sha512.run = "694c87987c02504c3e9d4db2c094582b0ed979d240f569a8d8fde37563885b23fea977c6671cdd7be464d7fe1fe2870dd321afd59ca5a33fcb7f0dbc6d6a485e";
+  sha512.doc = "a94dae7e699365fdedda975b69905861a2187590269ffa65256d97e28c8b7a89facd79edda6b4b177afa18df3b790c6a2e95c82cb59b475a7a2e57c7e26fcf3a";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.1.1";
 };
 "ionumbers" = {
   stripPrefix = 0;
-  sha512.run = "2864db49f4a2ad24fdf9ed91006347f09186a828ef2103fb08ecf12cb145af0d41e92127dc3a76c7c32761e2e092a57b358ff9a8c9bf549b381fdca1daa0ec34";
-  sha512.doc = "548988dca2db6bf22af23e520ca83f0a085390b2d09546559e0246b64749a276eb7cdb6db9923d1821e4156071c83dc3e0aeea6578a9716f059ffad88118d4fe";
-  sha512.source = "c06bce4b589dc8a9f2d19f27f8c5842ca4a508e83b915507b9eaa39dcd47e1b2363d6c5f14cb4563184ba7c72b4de7846e85def32c671395ddb7ed79ad97f4b4";
+  sha512.run = "f964955ea6470a8906dd7623bd6959aad72ab4da5cbd4c32aa78cb2350cda05a1f577316ef97cdec9658deda027429462b70bcdad18024f255191b2f6cd7f99a";
+  sha512.doc = "5bf57ed5617846d10834f880e4a1c029547f1ac678a52be3e79613803b4e6cd0986887f2a44a0a4bfabaf9134ef39c44e420a12047fee81fd34243ec42c5262e";
+  sha512.source = "f7d0f56de1a00761104fa7e9aa13f1ca4b9ef97051ef2dd6d28dba3066998d53aeae015d956dec0d3c771d85f6553c5835e4a9bd9d83dd4feb65591d6c613fb4";
   hasRunfiles = true;
   version = "0.3.3";
 };
 "iopart-num" = {
   stripPrefix = 0;
-  sha512.run = "0b1fbd2e8c46d777d5ce1009f660d59757b9c76903b13cd24e13a8e1b0d32852bb233b5b646785dfbb1ed9f99fbfde70baf47b32ea746c2541cb3a6c822fd9c4";
-  sha512.doc = "cf299cf16322444dea007f93cc226a5988417c2e1b3f3cffdc51e827ef9e25eddba98fcdc2b6fbaff2633fa500c2e999cf834e45942f99024214a04c7c8866b7";
+  sha512.run = "49fadfe2a8a1796131be814b170e270e7d39c035419d7e546e57d2ef1fea13d48b2b022eda463829e1bdbe60233d361773321d86070420ad2b63b48154adf18d";
+  sha512.doc = "167b0612883558f74d7696a6c9481fbb75e9ef6e7760edc4f79d81b3e1d7a344dc1efbf638eb4f5ba69be7002391211024f7aafed2e08e19fe559b58b0f7b1b0";
   hasRunfiles = true;
   version = "2.1";
 };
 "ipaex" = {
   stripPrefix = 0;
-  sha512.run = "6925d4abf2524bdc5334f496724bbe733aa305c10302e5cb4674fa3802339a0fd7a4177183de67ba2ca78f70781c3d929057186173fa67ebc75943d13ad9f248";
-  sha512.doc = "a6309bd2940c3da45538b1ff2aa0404144e9054d90973ad63f84be23e9e7f2b88de5aff447bdc99504cf5ac855dbc8a3efa3609f921b002f173bdfddc0f99672";
+  sha512.run = "c15157c117594f670a5779bc33e1cac043fda730e2b7a95d781470da2f42075e387d2a939976d469f1b0d05804b2907a7daf7ddb7d9f45074239c6893d89c21f";
+  sha512.doc = "04fca8414689b3b828937ba46767415b3b2de1a4cbc87ae95f790aee4bc82b658c1ff0ff705bea0c45952589693cb357cdf00c1721722d7c340a32f502d3b961";
   hasRunfiles = true;
 };
 "ipaex-type1" = {
   stripPrefix = 0;
-  sha512.run = "5bbeceee2bbaa2748cd6ebf3954c598db8e7d72a04af75e0b6aad510cab9ccf0812c0daf17da8b11d5676eeea10ffee8af6f35eca063fe5784a8563803b7266f";
-  sha512.doc = "b35e123b658b609cf103c41adedc154b1a9e1cf7d69ef575492c7bd8cb5575ea5779532a3a3e85ce9796a90427088af83b9189f3ce05b51e304ac08afdf775c0";
+  sha512.run = "0dd513aa3cbb9dba7e1099f7f08d839e80002fc5f5bcfc2a2a013dc799a0a6389f128fe72ebc32b673afd66f3ebbc7fab9b97c31763f94b7ad64eebc83b2f569";
+  sha512.doc = "1c2974ec35c0291207ddf560b6cef4cb5b161fb59e80a6508b4f88aab5ecf93c6a3dda2a3107a40e838235f5af22ce23704bf4f13fc4a0b344f0805c29655605";
   hasRunfiles = true;
   version = "0.5";
 };
 "iscram" = {
   stripPrefix = 0;
-  sha512.run = "529aff3b63d5fa2d5bb9f93c9127d5d1d03050b0153af74793dacf29988176bd53036e35c4447d982430d6344766d9711ec800fb1c91ccec66891353c4779f44";
-  sha512.doc = "afe9ccd889ed1573c60080897b8a2a3b17bf3c38e11504896a04228aa8f8dbfce5fefd1978cb10f6965e6a983563ec1c72c1fb4cb2f59034f5c3505feeda4604";
+  sha512.run = "6111c93a14c28572c17a1336fdf00ddd16b6c04b34b4a10a1b4a5e46742852b949cc99438397895de36632c9f2fd57c4940a0ffa458ac148b4a5e49707e5ca79";
+  sha512.doc = "24f5ebac7b8bfa826cb9ebaaeac0ec82db18807c5c3417dac53c6b636f6cb32b60901ef51f0d545cbe185ef0eef034404d3120c1211bf65c4ed4d155c67e19d2";
   hasRunfiles = true;
   version = "1.1";
 };
 "iso" = {
   stripPrefix = 0;
-  sha512.run = "7cc5c162d0437a95e5640f9b320baa824cfe650d9f0cb8232d43a3fd3758a1efd4e63c0605162a6358c562787e8d813c6dd10a65dba758e228bff33f7dd4b985";
-  sha512.doc = "07802f739ad364920f605f8c783211b0e296dccab57e227397c188a796af59b667642cc4d84f6d8e053fb6fab42d3be6a57ebc8c350f23cac65b63e30c86558a";
-  sha512.source = "29c4a6ff6c5d5b1b7c943245b8aa80570d6ef884e43daa224fff661685998f4d1d28622b32b44a7510c712e6354d4af99aa5395ff98019428ba000e7d26b11bc";
+  sha512.run = "1ee4026383b28594c02ee7a3fde24228ac777814456fd8580954b1708ba3f735b563beaa291cea859c6492f8b9cc488635b67e373fc3afbd8f884a3b6d30a392";
+  sha512.doc = "f5c874d3e00fb451f81a52f5711ac0b1c39ce48eca50a6edc0b1049bf4aeec43830fb534e207d852bb440c96bcb86d960d5e2e0670610d7cb9eabad2ff1451a3";
+  sha512.source = "c40bd267337a62dc7dbf437087e36e569b83da7806f801017ad3aa8b3059409cfc51c32d83e9991b7fa0c9b2e7eb5aed22f841670196fa9f7080e5398a098d74";
   hasRunfiles = true;
   version = "2.4";
 };
 "iso10303" = {
   stripPrefix = 0;
-  sha512.run = "d0911a77646ea4367e76f03173cbe4d445782ab98cbd36501a9af84a5c26a876c94b8cd59833eda8b78a3eb80c0159546f3e108777a386538b23c83618372e81";
-  sha512.doc = "4b237ca9baaea13234a0a540f7618fcd7dff5be9a0c6f01a82782b44b2a2760fe8367fc1662cc2231f179ddd33e6aec1737a0968573e3be2bbf305208130004f";
-  sha512.source = "b87353745a0be9dc6c8070f4b9e6d1621498a414c482e85a3741a684123841f873d599705ba650922e9f76f87076a0901827a6c074fbee20045a34169abd0ad8";
+  sha512.run = "40a36335c15b453d2e5b5abc29b2ec1891c6f1502ee2f8ffdebd2f9a159cea3aa28eba7c661c12a0445a4f713b77079d8b965ac955123fc81225cfd4491e5317";
+  sha512.doc = "24c2a83508282a348d6748bbf722962f3ffcd193cd1cfafc4ca1e87c60622e463e5fd382ff65235590f2a9d629e8f40588630810036d2195172f61d1448e3dfa";
+  sha512.source = "27cb8dd236ad5f249595d963282054eb40de35d135cbd6ad6a106941955e0abf8777602fc341233d22feb1073980341d31b6e939a69097d3776d7e20096fdc18";
   hasRunfiles = true;
   version = "1.5";
 };
 "isodate" = {
   stripPrefix = 0;
-  sha512.run = "4467d4d48c4b4602bde671ac0362517b525977e848dcc8f4b044c4261cebf6c0710824d8134498b391c619a5ac5aeed456b0f56f3e90068c09d9c3627fcd9853";
-  sha512.doc = "815eae6e63cf7a72ffa10465dcfa18685a64a6f632e07045edf5f41a099fea520d7902029a840705cf3859c9798bf3c8ea9a87ddf7980112f20fe2a37ceb8fc0";
-  sha512.source = "ce8755490fd80c68da081862f8ead2f7120cfe19fe58fb003e57f7b07a693d6087873db7c6e29e12477f4896b93c6531a6d1f708306ced3694f2cea7dab7109c";
+  sha512.run = "5fa145cde64155e9a4ca7236cf41449169ce0d1aa88381b46935641ed94d166429c1b139c852f96526dda270fb85736ca54e8864c32452996109b0061003639d";
+  sha512.doc = "75118f62de8568c9826dcc11b753511f57b7fd237cac6aab1c75377121fad2179c81ae5ec5f64ec127a299beb88abc209727d17b1ded623718c7594bb7ca5da0";
+  sha512.source = "43bfcc11aefd2c68ec96cf05f7609cab4009f960b5220bc15d982ad384e062bc42a791f269d5480bb1582ceda68f8c7d36e1308129aaa3df41d25d35cbbb96d2";
   hasRunfiles = true;
   version = "2.28";
 };
 "isodoc" = {
   stripPrefix = 0;
-  sha512.run = "ae0e23d61388e41dff59e77dd15fa8ff563d48767ccc686b1890c20e817270b9c331f11e6d5841dca8060bf3f25f1fe089f19908a31dcc526d742c7265d600d2";
-  sha512.doc = "4c70906182c5b033ee55316c74f93f0c26fb8701dada71f83bb4add4d37e3fcf1b1c4a81a9ddc6093032fdc68a0604354001e1a53a2b0efe66bc31861071b923";
-  sha512.source = "8f6855693b2b40d8f4956ea5035f3ab040b3c0114455f198c1e0d7199f058e6ee869345a57b1846002443bee0a339eccd555d8a230eeb3268c479c7a856bf3a2";
+  sha512.run = "09256daeeb683ad518302f29d5385b4a084dce7fb6add48249fee7ed9920c1585f6c7033b19f466d9bec3c396c1b7950c65cc736be650836e09d3304c14312cb";
+  sha512.doc = "0e215043768c2b55d20aef9ada76bf0820e9207ecd3674e4769944885477db9392aa978a90f221da17d75a010844e87988a3f449a29cfccef2c9560d5a98c903";
+  sha512.source = "ae4f54b4c8f8b2d1d9caedd6a89e45e66eefa47a155808b8c9f842b3976fac25769dd349cb5d2bea006dea042a275d5c1396b8a98e4c65a4bb29f632225ca49f";
   hasRunfiles = true;
   version = "1.10";
 };
 "isomath" = {
   stripPrefix = 0;
-  sha512.run = "70c46b16cb90b587cb85be6cd2d88f0d2793fc65b9f80656a0f279e1dfd37fc29b0c696cfb2a988c729e410b1f6d76939156ec9b2eef12528175a8e782afd44a";
-  sha512.doc = "3e7d4c871a554def747a249fe38761e709de9a9a23ed1e21e90855ffae33d858bf40830791e68903b7da8483f9c19f95ee95d4a02f2dabaf29c34eba83e9c1e6";
+  sha512.run = "c9ed49ca5df0932ab59de0988de688fa119682810c3163ec530a8cd80f439eab858bca4dfad85567dbc2de08d226117b4df5249ff29f247c208ae2b1739165f2";
+  sha512.doc = "55d94c6b4cf4c2ebc0eae4998f8ed6a1f450efa70e1644549e169cabcc782f1acb879c99bec5237e3147886c696c36f675e9f3c452da9f9880570dabf7adc5ad";
   hasRunfiles = true;
   version = "0.6.1";
 };
 "isonums" = {
   stripPrefix = 0;
-  sha512.run = "03eaa0dfda4740c5bc730083385934c0935271d6b7ad77d6747cde5d7fe22f3ef6fd64fb287aec933763f508720915acf947c2cfe773b390eca965b30251f224";
-  sha512.doc = "76d4be777fcea2cd8647e2d3720b72e3dd349363e3f263868b277bcd4a2469e48e4cf2716e35e1fef56b2449d17ebedf66a0dce5724a16b2830429794714e363";
+  sha512.run = "d82a96c2208dfd59f091b8316d8b496115ee56d51e5418344f128418c3b202f0ee20bea505c05f5e81f76006e2efcef48b2d3592bb5c550e219b5c8e4a6e5f4e";
+  sha512.doc = "5ecd4587ad6d782182986592bb7f76fd62ccd2e9245921b48ae28e9e381f4084e0d5930b32815ebd074be4190fcfd6beec8be890014edd76e9a5b4958f71d6f7";
   hasRunfiles = true;
   version = "1.0";
 };
 "isopt" = {
   stripPrefix = 0;
-  sha512.run = "a3087a33a5df7f5e67dbf58060b01eef2f4feba4aefce84da65ea49dea15ecf72a013993511870a37fafb67b2105506ac0854158c3b66d8e6ba59819326d70d1";
-  sha512.doc = "10f09a197037821e408b5f90f1a04a4b05c2091997d41a285bfdd0c6d27cf974468bd32d3e35d78861b061d385a6b5a03eeceb1cf077f7446d574f6af33e1263";
+  sha512.run = "2e313aa3afe2e1457a794834c1c5eddec66ac2d17fb614e15e6781a23ca0834a3fc2d68632b07e55618c6d8dc28de5bb8bf435e34f61a419cb27fa53042d4a7c";
+  sha512.doc = "94498c64a4acbb2b41a7e4869b628c683a975f1ba28a8b721b9c44843574610a47a39883f5333b405bb8c02d49f50c3d9ee4f344c27b5e5c0d22c181db46bac7";
   hasRunfiles = true;
   version = "0.01";
 };
 "isorot" = {
   stripPrefix = 0;
-  sha512.run = "8e574c8c7861cd6ec143c61ac22b2c884e7a8ecf9a4ef890063844174bfe47ae7a263530c4745a211b3a401d2036181a74d34399924b7db071629ace033920f2";
-  sha512.doc = "7e33a76d75dc7296bd0f2953694e4896e7541dddd8fa0139a6c681214fe416d8f5cffa387337ceff07d0aa6b25cae8772543b477bc55f19f2854e98f9f3dcc39";
-  sha512.source = "8b59fb7c3b3f80ee6f27e53e89f0828da591242fd7e18b8eda94ba5c5ea37a17e62abad61fd44ea0bb7d7e9adaf80897b65229d9400a1952530472b3e23b9fc5";
+  sha512.run = "788b712fc11f3e4dccd58a75a950752d0492dbc30f0475dedeb26b86e500d0d23c4babf0dfc2361fe16e74d7b37d8f5605b4d4faf1e7018642a5e9dd1be73be3";
+  sha512.doc = "4aed42e6fe61aecba99783a1173d903daec621e7d5e0867f6f73319804bfa7727a2a2dac204d792b76a98f8e291bc563bff364360b19ccede2b79600a59260d0";
+  sha512.source = "99767e98f2eca92d4f0d8e32024805bea9646f10eda7cdc7fa5b325de04d6e70648c1e1421172e2358d7a6ef7eeca718db3e31e7f272160ddba2f24e4c516888";
   hasRunfiles = true;
 };
 "isotope" = {
   stripPrefix = 0;
-  sha512.run = "0646e95955bb48b78760995842a5a97c4f1bae8d7cdb1dadac51e10f927606bbf56debf1cd8b4ea0ba334843dd8d6c7f05b4a3cd6edf0b89efeb0239bc04d72a";
-  sha512.doc = "ad9f3c26b3609185114d2694b5c90472d3c7006ada6e87b203249dc9a43192ad25e0bd21b51dc5d72bcf8ef702065fa11b18441e531fa830f2fb2a80723bffba";
-  sha512.source = "64975de3e008b588c670f9ccf29c66c4a2042e016f82bd7c92473c05e68f972becfc60fe4e28bf9826833c86909b102087c6acf29d0a3a75d2368fa332132a89";
+  sha512.run = "27c03c4c6519c038185ee485e94ac51d90c21fd095e4a4cb6d91b06f98e7adb7a423a53b1df035514f58cd0556ab0ecb1afd55c05008e558812d95de2159c8ba";
+  sha512.doc = "e1a6e798f894f9455e5d2144a935ee2960199e65db0499c4a900f888065eacfce72269f6808e01e98be3ea3440144eb4004c53af26d80d6ddda1be5df5492b1f";
+  sha512.source = "555ad9d5db22d4efe1373bf971f441391371c91538b73f3140996d3a2dda85fc3003f6d685c3e54c06be216e5b54493d07f165c0a7adeb00845e79bbd9958c5d";
   hasRunfiles = true;
   version = "0.3";
 };
 "issuulinks" = {
   stripPrefix = 0;
-  sha512.run = "a56207011e2f171f06a08754e5b949ca169d681f7d068d483474a718415cec5c6567ac6a5a69590d978f3c693a5028af7a81797efa8405ee1a6749183e4110a1";
-  sha512.doc = "53588f04fb1160cea73713551d603339b32a7a3e31578deb66616a3b51fa9913e74c729acb10d363169083c26725c503d89f16fb1c97f8ccd2247a33dcff604e";
-  sha512.source = "efa0a67522f16c9aefcb947bf5fbad0e4ce6d0524b51af8982972f9c76c7c1faedbf1c2190423758293207246447278044f240416e36139a35e0c713add9eefe";
+  sha512.run = "2ac24eb0e19b92e29fa898fcb8cca7e2f64cf87fac408aa0c834f6afc0ef262560a512637b30dcbee2ec06e9f0fc32f344258bab983b1b1d6fd4da85c821c056";
+  sha512.doc = "2605ffe2f42560b04fe781efe3c1972ad76f6cbddc7ef68bdb0ece9b0573b8cec785c2bf4befdf339935730a728bf19b83f3597119d3f9705f571350e963801d";
+  sha512.source = "c66f332f9dea7a03a0ecc7844d99375fbb91ca262aa50faac13b9b396db0991411b33616aec6c1af22e915e3643e7340e0083635fb40b6e693a4e487e1e45fed";
   hasRunfiles = true;
   version = "1.1";
 };
 "istgame" = {
   stripPrefix = 0;
-  sha512.run = "a4cbca6370d3ed63e7d61990569c03496352fe438c6f6f2508f215449369c3e9e10ab490f48ca5b864dcf0fbe79befcbcf1180f4a45a531f45bef99765c0b764";
-  sha512.doc = "555f741d68fbc246eaba550d8d7644d8fa71c7c24a0db074c60f957f1d10524b80cd95df8af5d2c773a38769e353577f46e083b8aec687738ce8ef258d97864c";
+  sha512.run = "3380e604bb3153d94ed21ca3c5fa16bcf0d81ff3ff878a3f19ee3f1beea0ab32185ea9d8b0118eaddfb15e483d040bbc5f915ab7bd3033978518fd30aeb5f609";
+  sha512.doc = "9838728c32479b6a1229d2f9e9755209c07520bd691452bfba81a62f21ba929237bc916c5f49523610516aec6c054d080086c82be277eedd5fe4b0006b4be8e5";
   hasRunfiles = true;
   version = "2.0";
 };
 "itnumpar" = {
   stripPrefix = 0;
-  sha512.run = "90600dee91d73049cd9d80074d2d137ac839d61b9d4d8eb8e924d3f529688eeafa835565ed776c9aaae2a74b58d436fa7956be220422cfd4d6787c899294562e";
-  sha512.doc = "85288b2924e4350a1d1ee209fff09cc05e2c7eedfb44130e1e6d66b1d7659f3661fd00c243840c2b3b7e5a0b0c945e3fd409dbf4420a5dbc6480bb6e78b04349";
-  sha512.source = "95423bef9a2692d18961e40661047c381654d94e86b5ef084c5239b60b5f91c82b5fcf8989eedd363e4805de4b3461a08ab295e781f5b18b70447b69e06efa5d";
+  sha512.run = "73770854d45bf404e874aeda0d0bc95dac7ba266cb012fe4af7c4e7686c078b1314500ddaa767b1652e9b05b02691c93cd24b34d6b145fc30c0a3f56693f6a17";
+  sha512.doc = "b7c81a74d816508121f0449580e4599092bcf3d176cbf9f754fe9e662d83a5c8b66e52e43b2621338a13b09c44babac6a575f1e8894863402c028dc3ed792486";
+  sha512.source = "72ad2e68d946f5a862e97c3cd3f20f94c23a2a85fa5183a6da9b1f03be60067a482b2f22e7560c5c731df18f910f643f0c991a2b0c09925cc270287290654c86";
   hasRunfiles = true;
   version = "1.0";
 };
 "iwhdp" = {
   stripPrefix = 0;
-  sha512.run = "ae98cb6a8e1fd1fe3cb721286c81aa0b54c31490e099ca862b597da09fcc6f4f33d13c529287bec6e671aa59d49f3d221de3a8579af91729b444200a72bcc3c0";
-  sha512.doc = "436464e737abf05717e39aa8077bc6172e6ba359e6391eb5c566868542d8fd32717ffc871e61aaf830a1c96ceda47ca430029665859520b5930e91968abf4d06";
+  sha512.run = "7153fd75ec63a6abbb4d2bbda8a5eb150f4b202b72baec8361a810d28aac5690f76e4099ff3a616a44077337ace469d6a111d4e42ad8d68428144b7fdee58575";
+  sha512.doc = "f75a9d0ea4b69de5a82659e18a0ea04544c93b056c52efac534e16490a5ac78b329d700f2ed7b3e8564a72331489106bb7e735c44b3e24ff943c6ec0b89eaef2";
   hasRunfiles = true;
   version = "0.50";
 };
 "iwona" = {
   stripPrefix = 0;
-  sha512.run = "2dd5001f4c302cf8f889566b0891bab13ce45bcd7f99acccf1f8ef7f1ca7fe8e663369e473ecd57f25a703930896cbff10cc5a5c943ea6039140549d5e6c1966";
-  sha512.doc = "ab62cdddb9557f4e2d0fde7aae7987e99da3733f8ea057cae5433d8f88399eaefeac80a3b45244a32414de7be819c1cb9d35b326b9bc2836d5b5e9747ddcb013";
+  sha512.run = "2a125919a015c82e00bff575407f02a6c9a176f83a6017df682b98af55473e7e36ca0a94ff27091a3a4279d42fea9c49f0d8ae6da7e852ae9c44389dd5d8f7fe";
+  sha512.doc = "87128ca46f7f2f13f8f886fc1c3da11f17636637632c0d39ebae07dfe70ec92024e1136da7a736a3fc8d494e856b86407ef9c01cd54a56fc2e41372bc0f1c4fe";
   hasRunfiles = true;
   version = "0.995b";
 };
 "jablantile" = {
   stripPrefix = 0;
-  sha512.run = "a3d6a7f0b76eee7c9c4569830d46cec4ac8bbd0637910dcfdd0ee29ecf2cc1eb92e2a67f95ad4672b25658521af649978dc0127c8759647d0be38e5654a03582";
-  sha512.doc = "3faf8ae22f5d4f8403f71d4245471f0e28d7a5766e0a332da0e2d3d9b6db468f6b4828c5b0169a42459a96cc124da1ada7c6431dc8c0c69cf54930c7d8d99913";
+  sha512.run = "40fb96443b2194adf8477a68d9d435101dfa42471d02ec48a37968d21e12802ff1feffa830484642b457562392b6ea147d394734acdffd735a8a5db421d0eefd";
+  sha512.doc = "00e753a85f3521ac0c6f336e0e563bd0a68a5e2ae756dfce72d3cf59a01eb9654b6f5c9ad9b83047d3d4f7743b7cce6f2d0d734510532db13942ef6619ae813f";
   hasRunfiles = true;
 };
 "jacow" = {
   stripPrefix = 0;
-  sha512.run = "7f9cef6c3f200b6be71547eae17127e27d2bcba240d376544b95a3daa79e1e5f08bef1418040c24b40baec974716b043bbe510dae0f210141b3360018cf739ff";
-  sha512.doc = "fc3c88d5ed43f9c9824e31e43b4f6d6a1ebcf07e396606547dd030fade8f7ab392932b06601151916daf251e77e1509cf9c58d88bbce304ebe15b2ea12b7b64d";
+  sha512.run = "11cdae5bd4387f11e30200f72ebca29a0c19c61a44570fd02de40dfffe1b7578defadb15eef1b7e9d06d5f394f816ab8a5f46994b3a225be446c693dd23796d1";
+  sha512.doc = "6872a79aacf4a59ab408fac511604a596c40ad8dc991d0519afd75590a1e3b06ab24c3b7ad33eb4a8447e14094fb34e64d52cea75fd4d41b2ef1e600b4d12d6b";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4";
 };
 "jadetex" = {
   deps."latex" = tl."latex";
@@ -15617,407 +15966,422 @@ tl: { # no indentation
   deps."url" = tl."url";
   deps."wasysym" = tl."wasysym";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "45e8dc0c6ac803eabed2790fc7cf8e2247cf9e2ad87b118a472660329d63b5d8946219ca0c66ea3fb0e20ab940bf3ba26fa20e9ada6c4d21b2f54c4e5f56340e";
-  sha512.doc = "ffb5459b4656248e957b4384bf3f0f96fc37ee67cf4e44ce41be336240f9b92a4d345e915f04ad5f2fdf8d4ad7ad39a46a0873c14af928a5b6c41b03c35a706d";
-  sha512.source = "4a0356ba4f0443a40ef86438263fcd67c67b4a3e80c0b01e4990fb6bd34b34419dd594c8f3ef959e87c640d4d6d625195bcf6adb417bc855ab97b02ad9b004c5";
+  sha512.run = "7a284d9eb0639b64299b59a3b29cf939786590ee7eb289a7f67793ac10b8945272116015d7ac8732870eca5a2751e17e9d69946664620cd8617d056f505ab85a";
+  sha512.doc = "00014ee9e648cd179c8435c1eb90c804f8904ed890ab1c3f93ce8a8e04785a493682b4191c1790a1c0945761fa193b6c6f759e852e43445e896b0c97870247d4";
+  sha512.source = "a9e70b48db9ee9fe389889acf512bb9db9010fa61e19aea210129098781d8f6f211548b1392ed2299945d7bf24cc213d43fab2fc7f792ccdeb8dce6ec1dab09f";
   hasRunfiles = true;
   version = "3.13";
 };
 "jamtimes" = {
   stripPrefix = 0;
-  sha512.run = "00db9f45801060d06c3bf64c62ed17cdc6af397479be2ddb0ee32c10d059c47f5ebee7f8900d1b3a4dfce179a10399d0a63f6ac4812c774bf081e1f727ca405f";
-  sha512.doc = "6c6de31871bf34cb2ed2147a43cab003597e62e4480faee70f49a479d8d237c77b90d631cb70956525b2363daa3a1dc60ba503c09853836262527a6322321750";
+  sha512.run = "72e2dc3995f173f75aa4714c397bb036c140bace3b17ddbf321afad677ad397c2be804c890df472f89e15300d4645d02d8ce3746c33fa37be85a9d9312ece3a7";
+  sha512.doc = "bc14db250b9d34e700c0fed6390948b39022f7ba39cc0e083c6a1355517fd10aaf7065f6ca90f40a50aa0cd6557a35cdfb1534aabff12ec6c462a2fc87ec699a";
   hasRunfiles = true;
   version = "1.12";
 };
 "japanese-otf" = {
   stripPrefix = 0;
-  sha512.run = "ffa12f631de025553c73599afa0bdd0d8375e2d49dc3d854ac77135e8eb80e2414c36139180d81cdf33c855f42e1d500b878835275c5beba6934f1d8d08a83d5";
-  sha512.doc = "bb0fa39567f27db49ed091add238960ed5b1ce826239b7b6a1dce38b8a639b98702efd325d651f11f1779253f0ebcdc894a7c0371648093cfe0a43764421349c";
-  sha512.source = "2d1ec9ee99900d42ee1502ef3c3f1e343979158e94ba7995203f208a1e4562f5f26f4ad6854e712bc8e540327e8f029914c66b598381274131dac0dc97f43700";
+  sha512.run = "e62e32e37fd460dd16a5bf62423564a83c6fc16a9b485dafee5f00fd4c3342e3b94c78731e25a9fca3aebf9cdf91a4bd1ae6edb8213699adc4c8e7d139e14ecf";
+  sha512.doc = "90d9247aecc96871f1def7db153266d9c42292c5f0fdd7b835392cdf61d2b15c908e2895868121dcc5dfd508c75c1b7424104412a2b75e430a8fd2f0107cb085";
+  sha512.source = "e3cbd6b664fdaf62ef764bf10c3f42086d541805d8ddcae3557f19bb607678fadbfa2e6d7dd97e9fa914a7153765c63eb0da6e8a89506a8e3b453923e785e869";
   hasRunfiles = true;
-  version = "1.7b7";
+  version = "1.7b8";
 };
 "japanese-otf-uptex" = {
   stripPrefix = 0;
   deps."japanese-otf" = tl."japanese-otf";
-  sha512.run = "7499ff51cf68dc5b267c129c2dfe0d773c5cc489faaa8373c2046161ec9fbfef2c0b16b88c55e44953744649d66cbcfab8251995a89f5bc1798e72b96a895564";
-  sha512.doc = "f0f80006e30f9f303fe673aef575c5423199de8e438ce617e59d29f6f7c734f4aae7ad0c0ab20c22a2cfce439d62f134206c48388975fb6257d3de5cdf9a4d15";
-  sha512.source = "9dd3961f3505f0a6ce41221b24a9ff7190a8ff1874523f6d878cb725e82a3d258a0b6edf96a224c222cfd854981e32e121bd4a700a7425277d037316c0811e71";
+  sha512.run = "130d2667c3829311153121415d27d880e475e121a16a8f739b018894b93d2f45200e50c53ead912419900100d596ce2cf6c047a201423690ea52ae415d82982c";
+  sha512.doc = "fc672ee767090c52c2eaffc6cd42e74763f879e66f45942d30515a498eb83b14786e52afc98ea4a47b349687dcaa7e782fbba4534a7adaf56cc46796f79a6481";
+  sha512.source = "0ca42ba766cca6d917cb5fd435720bdf6ebffc0aeb5817e725977da51177178b14c15a8f5dc1d66a463934690abe338b669aa968927919882359f39ae01bbed7";
   hasRunfiles = true;
-  version = "0.22";
+  version = "0.24";
 };
 "jfmutil" = {
-  sha512.run = "252be1062d146a9e0419794066008c9bcda0300360da2583489ed572d30dbb5e96ed3dc2216d0a798a6b71b1d8799b1ba66c61d1728ef70f638fbfc1c97ad6cd";
-  sha512.doc = "a786b9f14a3f8d3714d582c14f25a6b493fd9682be61258927bc889f1485bcf439ada3d542f6f3dc9989cf729173486d65fc40374833721a30d78318b5d3946d";
+  sha512.run = "8aa9ff7477739e75824f7c7242a02cf6186fa1a7a37ae145f7fbe989d6a7fd774c0428c60575609b235cc8d1d4f0f108cf6bdd7cb1003a0b12b6b6700e9414ee";
+  sha512.doc = "b607607ac051370a5374d57f2aebe33a2763029bee0e7cd8816a614e3a49728d4ef4777ed5c8de4d9f09edfbf3524959c3f8e644d811105e5c69d93496ea3dca";
   hasRunfiles = true;
-  version = "1.2.2";
+  version = "1.2.3";
 };
 "jigsaw" = {
   stripPrefix = 0;
-  sha512.run = "959893321521824e84e2fbdc0ee49b1e58e0cb3f9bbfbb7a82c07668b254d1bf7545acfcae25d1e1d0c2108bcdc2abcae6cc5689bbed7ad57251382ffef37e8a";
-  sha512.doc = "f58c52269ecb1af5d554b627bf4f52ffeaf7f206a752edf8be2c9a822dfb9b4ff5b5ea0b969aa229cb99d18d13c791ed1f9392bb3c88a3ed1c8ee157ebd43a22";
+  sha512.run = "3bff01425c502c98894fc517be9b4af8ed48bd5a059835fb850ad1c58a2618998967780a65a5bb43946acecaa397ea51fcdd051dc2b8c863e27b55fd3beb5230";
+  sha512.doc = "17c263228124da3f17ca338738add762992e2674b0e0fb80e250c8302cc59d11bd1017a1d4e005a7c9c9d66444a91851cfd6e505a5e1f6fb73aef7d5ee703d31";
   hasRunfiles = true;
   version = "0.1a";
 };
 "jkmath" = {
   stripPrefix = 0;
-  sha512.run = "f55b22a4af38ab63377a34b882e273bae8d5bf7b81e2168592a5e58245d83420bbcdbc6187e6a59f4f4b119bd945fb0ef83f9673142988362b682011283c1469";
-  sha512.doc = "b51b92b3cce332c4b5db5ba239f59c2a86e898bdabc4ad2ab4ecd7a1be9c9ad6616b926cadf726a82b2b8a37b619dee23e546cbcc185b51a8e73458dceef27d4";
+  sha512.run = "8e549db42b25c2edac71013afba0ebe3e09859ce4ef104da2b969663014cb88c10bf1c8899ee181070e6cec1b28d0ec9e5966d27f2176e2032d6855ded8ea941";
+  sha512.doc = "99a954f6eb917333a8e6c4e3437fcd16f6950e0473fc1a48c99d748246c97d5a3df5b96e0314a9ec5e7c6bb0b318b934c40070ec94df00546e49cf140aef23c2";
   hasRunfiles = true;
   version = "0.1";
 };
 "jknapltx" = {
   stripPrefix = 0;
-  sha512.run = "7ef3a3e6ad2b1205491035233ecbdd63550522baf22d8ef6a10d63e1564addddaee10274dbe6d62c74193d15b71356dc628f091125fb1c026daf8e3441f30d61";
-  sha512.doc = "30d6cf0847674483c9e4188a4ff1ee94ca12ed0969694ae76506b501c378355798df50cd87e8982fc626e5e323c5c721f8beab481cb1ba5821453310d0794876";
+  sha512.run = "0369405034393ea8de2cd94497a97ba6c40264ec9142eefee09647fd4e51f83e169a99757a4b92c1c9d911637f137404fa54231de452bcd208ba3f9982984153";
+  sha512.doc = "cadb522c007963278990e75a011e22d2c6bd8429e55fe5ecba3c2f20b9ae13fda4eac304bc405440c1c1566b1458e0f3e77a6d4adc77117b20673204bf502131";
   hasRunfiles = true;
 };
 "jlabels" = {
   stripPrefix = 0;
-  sha512.run = "7b5670f939f812bc72fc52f7371e5239ab0f22ac8f607de803175bfdb6c9b5b7e619c5fa019d6a103d78a38440a3c6fa01245f9fc6a481dc3a6a9764b954911f";
-  sha512.doc = "f3e24f4c751ee83577e9e328d90051d05b0e3fe749e336d2587e9c9b798665f62c951f918be583b53eaf65c30fddd58943e6225822d555ae4ad573037554bb3d";
+  sha512.run = "5077471a09df4090e087a465e9d1823668ab80f088a7d5fea7d14559e9ea8906dae029a2093038ce5e9f013bbe3a9bcd74d8626e6ccbcaf7ebedd5c2f1e3521e";
+  sha512.doc = "7736480f6736d8b623fac61683321eb7444ca8672eadf0da200eeca928de9dc031152e4599783d602e9c11b58463b03fc1162756edbaa5bd3dc1f6c5b64e08a6";
   hasRunfiles = true;
 };
 "jlreq" = {
   stripPrefix = 0;
-  sha512.run = "d411549db08de2801d1bdcb1716ede6212c6bef6fc8ac4bd3ce81185e1a6cadd490e5ea80bf97dc9acdd734bd29f55981ff946e6e5188c43b42accdb005f56c4";
-  sha512.doc = "c7ca2e4428552a894a673c7770a3aacd2791a2d08dfcf799d7fb0c7ee52ab66ed2ca5ca7af83d3d41e2e38b4c5ebcc0582068179d379899e2232b284418b6685";
+  sha512.run = "adaa5b508bb35b7fa362f9a8b533f147214eae0b779169d2e35689050548c6245f29c10527dbe437ace467f176deb7f5d8a2f19ebddd667b29dc9edeafb627b1";
+  sha512.doc = "466f1083d06639d983b1e2d6b4ea502bf7e4c70e32de27f58c2054cfb4197258537dc531d3ed7b1a5d1d2cbd3753eb5fb67da73aaddfc757429622c2effd33c8";
   hasRunfiles = true;
 };
 "jmlr" = {
   stripPrefix = 0;
-  sha512.run = "ac07998c36b782e20a1fdcf16bd0deb9e878562294888d3b551364a19f83065a31e2a06f1276091fefd3c193726e02925039ccd08e24b9891ad9ec1f503a4f75";
-  sha512.doc = "8945fcebfdc5a68ae6c4cdec98fbecd66b16a2eab4f07c84842a27b8a77249e1f1b69e23882e81923a4bb8dd22f8e8f2ba5f3b9e773476733866ecc59e4eb526";
-  sha512.source = "a28adbfc3edec772297af1428ed90c7e975a8f4dafb6b80c35fc4fd7eb223881889dcd89961805a238fa4a501260e2c9dddecdb60461ce9b817b184f2f7317df";
+  sha512.run = "68e236de2bbf2e1658b2319f5c6ce8cde914c8be03090c0ce2893e8843e5410c477a9bed4cd5e5912c69fa4a268ec1ba5ed13d04f2f49395d60f0c72a41ca44c";
+  sha512.doc = "3b42e6e17818bbd8280e6501561ea746f754ba9b9a4d7483e7b74b40cabbf1bb634dcc4e27677c1f8bc68f932fa03a739cfe5b928ffc8d4ecc0872f263f352f5";
+  sha512.source = "706a99ddc53804b5d61a7ca8f65fe6acb7632dbaa8d3f7a4e9b11270ca5da1d38d811c2fd9ebd9bc5d4aefeec406f36cfbaaad0644051e59593c297a35abaa42";
   hasRunfiles = true;
   version = "1.24";
 };
 "jmn" = {
   stripPrefix = 0;
-  sha512.run = "e3fd8c8bf6e7a7bb5d7f18a134fc29b4c390bc1f5995007aedaebd08e1747bcfafd7c18c343647bfe7a6f1bdbcc7529df13427a664ff33a3aba6716472af3549";
+  sha512.run = "2e250c3f115911c56f9b8d46d358fdef289c624a5b24c9b4213bbf7818bf42c7b778df55d4bf181bce115b388915cedc90ef7cfa99ee6ad8dd621e7853fc7c29";
   hasRunfiles = true;
 };
 "jneurosci" = {
   stripPrefix = 0;
-  sha512.run = "7ac58a7715887e8d61f14e8bbb9bd7d3b03055fb69d31368e204bbb13eb570d93e76f9dd0ecde3c8cbf79819d31f160a6c7c5a6a23edce38c336c8fdb2834265";
-  sha512.doc = "ee1b93ca02d7a1d8b0ced845411b9d9e52fc39ad331e0fae695c1990754b52419febb6d457379cd148aac3d10568b69cdae531f1654004adc4f1cbb6cae1809f";
+  sha512.run = "1ea3d11a66045784c2d1abe0290d95482c5a2a65a21963a58d9626872b25bb0d20f8d1c3c3b8173bf7f63ed71f7c33e13c8f6dab0918585b36d72fa37dc35714";
+  sha512.doc = "2ed6a342b376ced405a75da39fff51d03e9fffa89341522555d2edf8d8eca701013a95f09f01cbf642d3ed1ba93a1aecc89682986ae5c94d784f3c857eaaadb1";
   hasRunfiles = true;
   version = "1.00";
 };
 "jnuexam" = {
   stripPrefix = 0;
-  sha512.run = "bb033c5d1dbe52ea882206d4ddb42609175246a9bff97b5e090b23f74f3e4b74f4ca4d5c6ded12cab909f395bb6ae3f86108ab84cede09820f68f65627c0d323";
-  sha512.doc = "a900f1eb51855724673ca4f9adce3bf65d5b0c036e0e05274347137920846d118cadccf2df0bd304b5b889074ccb8f374cbd253fdeeaaf79b543374d299845a0";
+  sha512.run = "2dc1aca90383740ae471a096c82e99b613841305f55d960b861cb3c3c1ae920caf8386adc56f6f0f5908b412c399a12fe69648820525ee0ec5edaf6cb7e46c48";
+  sha512.doc = "0a87e1920d853a08516ec039f4f87f7c2d9bcf28a0e8e1153c6748f9fc067a9fbf1d168e7f96d4dab59961d288d514790d79e31da7a117378055252f8cf9531f";
   hasRunfiles = true;
   version = "0.5";
 };
 "jpsj" = {
   stripPrefix = 0;
-  sha512.run = "cd6ccf7f0468eeef89592d0bc439c23ce396f39da63843174d85433a96297c8d311c000424e44a17b5a0214c6e8014b09b3ede56567f8f383a634517d7b324fe";
-  sha512.doc = "12ae57efffc699a5a62da79608a058654577100942f15b7d840c18aa61c55e87a3120aa224ac5fc0dcda42a4af81ef99e72b6f57ef77cfb0ab9e63228b1e7227";
+  sha512.run = "70b0e83af5b828e6a783d888adcacc504342e2cbe255d88aaa2fc3cdda629fca8e2fec9c98c73c0673d98d396727025b0a622905c3403c2b568d67597218398e";
+  sha512.doc = "220c28ed6312c046dcb2973e2e22fd47c683460578dbf952d12d52da0aa4c21a5dc5e8195b78d743c093e05772ae1e00a45d3c221e805a452420c435f23b6a38";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "js-misc" = {
   stripPrefix = 0;
-  sha512.run = "3a72dd2466bc7fb1955a52b17f0f7ac2d9a78c5f0f1923adcdc32707651f5b45a70af24df0c543230882bdc9d5e3332862e66a3c041fa5271d2c2c7f566a8621";
-  sha512.doc = "0f4f8b7029219294445c5c78128ee8d4a69e8245367c30142616aa4756cfff7eef172d01cbd921e1eaf0590553bf96da87b9d6cc5c83de7f583dfb202e328a24";
+  sha512.run = "6dd7920204cc66ff28c78f54bd6432a71d77ae2f4463bd997d2a4170465053eb86d61bc35d8da66377b47cb1eba88c6ed0918142910a5bdd4e44aec41d3ec4d0";
+  sha512.doc = "507cc8c04589dfa7b4d36bf32e4c1d18af42b90df58fee128c0ad37284a87aa1adad32623591d0e8ca880c53a1f583b0bd8054487e231bb2a58ed06d1bf6c6e3";
   hasRunfiles = true;
 };
 "jsclasses" = {
   stripPrefix = 0;
-  sha512.run = "27b46a4965b4a85310dc606c9a48cdd8a92af786dc6658fe9126bb7963527ed055c7a4774db19522a13b4a3d9c7dbbe92fd4005dfc92af83fc34b22fff09bcbe";
-  sha512.doc = "fa536ec7dfdfbf00e3f6d947968361e22ad43b03c6104628ffbb6e9ff11390302345684608344c2cc9643f421dda82ce3f6a6289945104a1d7b6b392ea250719";
-  sha512.source = "0dfe169a0cd552fb5e3f496ae1992dd97cf2ed8905f072cdc5a5028ed3ab783be7a09681616dbdb5b7d31f3ce1e4853b8bbc87dfe6c75df88b05c8bdcc76bf97";
+  sha512.run = "3ce4b069c3446c5a7973bf9e26b3effe276a827aaf8658068193710c480f1f32bc1299ff008f760df7945ead776da164130eb7d7d63e09dac2aa6ccd0d19222c";
+  sha512.doc = "ce4144322f2a1b3cfb4a3197ca079c59fd775f2ee0443bdec29f713bc98691245c1ab95e0ac6d685df48db13abe9813bb42344c3a3e7924e221d6f1c4b2e84b4";
+  sha512.source = "050f9eb1c70a37d3ab789e0ed5bf168cf91f515cc647943842503606c22eca20a0c701f2b80d63ad4d3d662d3d78fd5a2896c95577f60eb89ff4096df776f177";
   hasRunfiles = true;
 };
 "jslectureplanner" = {
   stripPrefix = 0;
-  sha512.run = "b788d4f334da09183111e2bf84536e31cb83828be8cfa124e6b740a07e755d85e2edd0ba118b71234eb22b9721b4cf1dd4197152cff1f5f230026421eba0b75c";
-  sha512.doc = "35fce84a996f419a85e63f3c0ab605789679e0ee9e7eaad1e92edb098b0d1fcfd0d10759eb0781268c724c930e39478fb176d6ba14bd303ffa1f4d3a32a47eba";
+  sha512.run = "a60f38383f72ab069fbed0de38fd139bfe2c446c0dbf566e3e78c842bacc27b0a49e0595e4764645018a73f57dde31c4f945e2ae77978827e35014a1d69aad57";
+  sha512.doc = "f52f3c0212cdffbab4ebb12ac99a07e3f496774d89039fadcacd2d96d9f15fd508c7d7a759e440fc69a4b17aeb7b38781fe6a2566217bfbac6b59782e1e4ed0f";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "jumplines" = {
   stripPrefix = 0;
-  sha512.run = "e4835d45643351542959f04ea57d3cbc1206a41cf06be96f37ea5c96342669992af62f7512cc28b415baeb2f99ef5a14b7ec732eb2bcf3c804de3df573b1b6b9";
-  sha512.doc = "8351f486e852bc1972b5385524e3de6fe20a3db916800d5bfd50c57be6bf3c67665ec00694689e9f463601f4fc15fbcdce3dd34f0e6e2f785ce6277c4ab4c286";
+  sha512.run = "e09ee044fe7d5692fe4f1098406e33481ebdf81698168223235e735637499053c66f278a1f7e27585aaa1a586ccf85b4f5afdccfa3ac35950475f56e46324103";
+  sha512.doc = "c7f56f012d6eca83e54610aabf1530889c01c1b28e9b790b220726bff860504a3e46ad4fd8d88ef50d3fff17507710bc168fd2d5861e9f2cdae69cff6f95ae71";
   hasRunfiles = true;
   version = "0.2";
 };
 "junicode" = {
   stripPrefix = 0;
-  sha512.run = "333ce889518880d2eb9af9bc748536c1bd46288dc58b40590c45aaab6e3faa72bff29f30243b89a5ce0dcd3be71a5a7f6cc720bfe622090bc550f7a0ada25b21";
-  sha512.doc = "d7b2fbca2e4bffaa2742eaa541f3539e9351166a5205069a1e5d8ac18929a32efd8137261b71cc457bcc3ce185e39b6d5cea2f29da3731d755209e4b848689b1";
+  sha512.run = "e35652c1bf36d48b5e98264604d62cfd25a0a69891b1577d701d75944e859435bf156ad70f808ccf2dd74f8fed963eb3efe5383fa5fd18b341932b7ceb2fe9b0";
+  sha512.doc = "f2e31f4459adc639f6dd36654c82871e1e79ec24c5a2a864b16ff3d4fc230619264d958e7915da9444bde9c6cf828f9c919880fa48a4339ce7d867adbba2e950";
   hasRunfiles = true;
   version = "0.7.7";
 };
 "jura" = {
   stripPrefix = 0;
-  sha512.run = "d24bec6792ea9add04f124a3255d9a3ce72d05c010291b4f0680cc74277cf867254c27b1f275e079f00687dd9143ac98c9ee73bef64726dcbbdba242b2a9be32";
-  sha512.doc = "783c4d835258f56b66bdabe6ecee7942fc48dd3c9ea68fa43301396ce0d90a02f8c6a058b688ed08039d2bf498c525bbe4fb031de71c7c45566d70f0cdb3ba45";
-  sha512.source = "d3da1019c3d122ec259d5485fc2d529d4420e4668436de68592fdb85ccba1e5e395eb29d9b5bc1cdffcfccea759fa815649bf1ef1881c28523d7c1fd09032d99";
+  sha512.run = "08426bab6c0627e945d620a338c6081a8a21d80567d4a4b686617d0d57c99b1e148f5e5c3406a0337ee4ad61bd795dca353c28b0f33d397c5b47515969fa5951";
+  sha512.doc = "4d19c663f73791712d9c24361d8e2a0c2faf25bdac15dcce48825f02468f6a798eff7e147f531368bcc8d7e2a1938202b5614e2434cd46866f359f8349564adc";
+  sha512.source = "7c83d639330c1bd405b2439b5e85dd723f476f8ed5096c8085180f03d63ffdeb834639fc8a49a454d50df9f882f27dd42782741fed89f8bafe45b6222bd43239";
   hasRunfiles = true;
   version = "4.3";
 };
 "juraabbrev" = {
   stripPrefix = 0;
-  sha512.run = "a786d90596555de4d9a709a31e29b18697f6d8530ac5903b63d49fd5648e55541d0c6a647eb0c9779520093f9a7f1e90f7cde95c6e68d3c82feaa79db156af98";
-  sha512.doc = "c2ac7476da488de1ee416b5e6b1c9a18ccbe68de8b45c16cfb683cc636ba30ca39b4c8e6074994ecafed61968e3507f9c9864863ad88de45d86089754b1967b1";
-  sha512.source = "42b741093a194a310065edfd10190dc11ad947081c1e5feee24bbcef7f464435cf682712d05309e34e4e0fe06b13c78175198c056cb6185a4b3b98bedf64bc7a";
+  sha512.run = "4d6fd00247c6c915956679674dd029048cb96ac3bc97606c0a299bbaff24a4cbb9440d557eb2945151720265ecb27bf15c638c003e1039dafee56471dfa03945";
+  sha512.doc = "ede48ff67dacf107baf50be345b042a7b64c815442875281241b7de4c3be56ec40c969e40ec69669f31058bbbe9b27c51cae25938d93bec99a8c57dfb8e9cb75";
+  sha512.source = "3a92a5231317d6f7d7b1afdf5df14997e17217e10b694ad97a9a2f3984b0afdfe5a3edeb4368108e4fb389a98a7f5414409e5fc7d319f4c78802cdc1a350d6a2";
   hasRunfiles = true;
 };
 "jurabib" = {
   stripPrefix = 0;
-  sha512.run = "743004ff65680a2ade98b36b01425a90803b048627db44370495fef410a0cf5fcc51b5222f6cbe041b927e41a017001361cbf80bf2c7eb532cfd3c7fb075008f";
-  sha512.doc = "66be347fa123db6b16b1c997a9df96a438ade06e764b68cbe5ec5b4fd4cfcf97a1f345e017ac776734f506e0b04792aa1659391bde3d275fabdbb4ab5a2776a2";
-  sha512.source = "e705e5fce178f2fe58bbc746bad4328642cbe6f6e7ec6e62f53f8df5d34f1ed976e28f59de1fc8efb99fa064e0475a4c2e83277087eb022cf0db58a1e280ffd5";
+  sha512.run = "12a1d9402ca15ff23cbb9818f07290f0b295c9844bc4cf02e1332eb27a26a3a8d0ed3199df1c4f4f85c9ff5308e7426d0c7adad8dc587fe905c5a15314863b3b";
+  sha512.doc = "3f804537752bfd7b6780d082b37834c805e521491f39bd76b52541707e69f8b775b9e18bfcba0b0827133be8cf82bab86651f2a7ec351f9cc140427056ca0dc0";
+  sha512.source = "349a2f55265584d73d0a1b0cdd00f0fdb384c87f8b1399acf62f14229ec4cb03919bb1c37d3c8ed992f72f3cd846c93bb13f25bed052edd80810bb6a92665e75";
   hasRunfiles = true;
   version = "0.6";
 };
 "juramisc" = {
   stripPrefix = 0;
-  sha512.run = "8d98f6918fe761a37f2e8f8ea3da8a70dcc7ef7231739bf54ed47b693e1d813e7cac02e3df8fc56651d9fe0018a60543504535901e8e1f455f2ab1feda1da6cf";
-  sha512.doc = "1a0c376edf2a53554bc5772890a2f2d2ad129bfd9f788fc6a7b0700c2c425700fd9d3d80e0b7efc9ff36475e4363d94a7bde2edd5d19579854ed88cf6abd210e";
+  sha512.run = "cbf6ebe12bf72dfb823578ed49066f34059e5ab1beefe0eeee84c7df55135644eabdea7582dc848b52cd575579d8807a2a2723bdb697e851eb8aef88f8a5e533";
+  sha512.doc = "3925418b9e4d05def76b9e0ebcf882c4b7061ff7ae446aa63d412c093caa04536ad45c757e04e088c3b4099c569885c6e6708ad31b866ebe89ecabb8395964b2";
   hasRunfiles = true;
   version = "0.91";
 };
 "jurarsp" = {
   stripPrefix = 0;
-  sha512.run = "61ee03cf2ea51772f96449c6f0ca1c3a65a5914a8c8b0bded9f3c4b2a74de06838f1ce53d0c36cb6de6be9b58ee6433bc86b8869e426821948bb82599e68c598";
-  sha512.doc = "c339dbd71518579ed5665e343fd2508c5b1fad576160a7f56082fb335a08cd40a3cd75016e8c6949784da064b0e1877120c741671beeafe0c06533e56e619443";
-  sha512.source = "1d93961c50dbd95f2e075da63d960bf16058edafff41d9f23c6c6bf26f78ca717f05459c52b4f6bb2df68557afbb4db459e5d08241fab37bd4074364583cbb61";
+  sha512.run = "511130814ed94c7f0829802a0c3e8e613b0c4aae50854f6e06779448f430e78c8712142fe04d3662b799a488d90944072847dd223b01b642de78c1f98649e79a";
+  sha512.doc = "1c439e351102ae3f768ae38404cc5d98403028fb6fa6088cd53eea40593ee03c10d20955f3fadef41f41af6d23f139ba356a9b06ed735644b67d3f42a076e0af";
+  sha512.source = "8853060222f8f45e69fd7d3539534ed6a0762cb7f97d4c140dcb4ac59fcf1fe339d7f6cdca6e035d4e9bbcd730746e1311885d837fbedf65e208be2100ec2a90";
   hasRunfiles = true;
   version = "0.52";
 };
 "jvlisting" = {
   stripPrefix = 0;
-  sha512.run = "e2d4dfa09a23c94c39367056db32a36829a96ec9ee66680650fc543e4fbf453c291848265bbeaa6820743e5e7b4152c6716445d9730c1783d84693d56f2f81fe";
-  sha512.doc = "5d2e61c410945696b11fe5a86a14467f96ba2458acf4ed199a3746fd3e4f828e859af0bf52383485fc01a7f0207f9da346daf596ae0c46cdb5b64707df69874a";
-  sha512.source = "7fe9b09a857aefdcf8d545cea9c20a51829dc174bc85e875410724249d3e6c13e50736a911f287906c64c315f685194d9f75663ce7991e4f48169498d056ab1d";
+  sha512.run = "70626cd23359751909ce385a7ed4415c5641e9c303d0dafeb99e36d0151f382c02c2f6818a135bc92fb156d4fa25d1976b2c906074fcc112e56a1a7a458801c2";
+  sha512.doc = "de6a694c26332d9c97bf4202bec0989370226b7381d080c4d6f5a106cd8f2bf352d756cbe7cede2a4ba3e17f85ad553e5c24e874a00cc1dd307325125e6d0bcb";
+  sha512.source = "776fe9200a5447c151f11ee09b0f3d95aa5f07ccd427607b12ad7069aa70084d99c7d620261797e6c147ab134bf3a151bb739eadc8e3898dc8b16f284c66a965";
   hasRunfiles = true;
   version = "0.7";
 };
 "kalendarium" = {
   stripPrefix = 0;
-  sha512.run = "fef7adede5b2664b2769ecfcc16aebb89a6960b8af70e975d52b783ee0b9400faa67814304406512c4590ec9013c687dff6b8c1efd58c81919af3b0874b4fbce";
-  sha512.doc = "e54940b6303faaa2a63f88319895567fa797127a3afb5cf41320ec34c4ea6cabfaa8441741c8a6426c6605203f89ec82124b3840535b4d8888384010d691ba13";
-  sha512.source = "ac0c173c9aec255aa64066a3ee05dec78080a712688dcb559f48e7c653441104be4d83aa9d4b9e2ffd08cad5616d3fda75814635e2944c40c971ea7ec2af4868";
+  sha512.run = "fea39ce08f6028f078e2d87ec73aeeb56d72006d24d316f8e257b3c71604efe2b4ea2fa698f79798ec5c9b3d271d758d4c0699ffce1bf380a74d21158224eabb";
+  sha512.doc = "60a1dcbaa92fcb4438f4a2416dc4784fc30af34c6e1511533b8827a266b61a62a6c0e66f51b27ce81dd879d774e9fee6b155a048ddb9f68e1f991294791739e1";
+  sha512.source = "a1668bd43e489002ff365f5f90c6f9f8d6acb752256159f223a444b41ac1398e8d0bde50a63deac11f8d3a22f792278891cb05109b5af4c2efc1e8c278f01a76";
   hasRunfiles = true;
   version = "1.0";
 };
 "kanaparser" = {
   stripPrefix = 0;
-  sha512.run = "2f8c953e807d7f5ad5bcf6917579770253918217e054983f1cbb261903b2afbdef02136a85c26043150b766662f7711b234566f7dc13f41c1a83c99a1acea8c0";
-  sha512.doc = "22c236134ad46285cbd24ef518da1eb05870c7c2d3f12d59498126c30faf937a673cbbf8b6aa4f1509efc3ecdd1ce43ba42a91a50892e46cb7eb0a5e3dc8476b";
+  sha512.run = "a9db1fc66330bafc5fc26ed600f1779dce328d6234ebe930aaff65a02a0d740188e73c5f73a9c75d69926323a610dca4b37044e7357a141eae9bb3231fd3e272";
+  sha512.doc = "9eb00a9652f22411f9ae0123bd2bda62af617f39ed3eb8266c4ca38ff0783722a3d1eb05a0fe1ef6a238a3132ade65c5ebd882309f154ca416e2191b9db44c4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "kantlipsum" = {
   stripPrefix = 0;
-  sha512.run = "c50685b94d882bc338f1cb63fe0e70ff1189f204edffc13897a7afafa751ca53be9227d28fbad22596934b179337f80f7ec6e6c05365b52ec9d58a1727475027";
-  sha512.doc = "8bcc6cc805bdecae8cd321c08fbc328478fca10c20318e2ac981ee53736dc3f8b2078af60e3135281ff49f232bdc65b1efa64b62e526fdffeca4a63d79cf8620";
-  sha512.source = "8d155c20bd92c9e0b7146fac3f09836b6e5167e1c0510ffdd85f16f09d86b9286c2554451da780a2667c099283d6c885ce0daca092834038928fb91895b47444";
+  sha512.run = "7aac4684e6d08b46319b711a824dbe33446674f63fe301e366543553e6fc4c41aa1eb9aabfc9d11710014c9347ac559dfa1882478f6ec5d9edb39c5dc42cda8d";
+  sha512.doc = "bb96e91c7562c34c56c7170e246eb71c353d67d649cbbaee5904f6bd82b905b93e79baeee536a3d8eb8b9f08296591a8d0fe621883914f4af676f78c6f244523";
+  sha512.source = "aeebdbaa22e0e2b369a18bf7243d714b872115ac9f0154438d37aa0719e3623ce27d31068d90bb60b301322b30c18bf34d4ad312355a65c8e00043653f696b54";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8a";
 };
 "karnaugh" = {
   stripPrefix = 0;
-  sha512.run = "2f9c2a53bd62b93a53897b2d52d97f8067660b5d2735927e7ff19eb9722bb41b603cbb5c120655453ba4cacb63ca3907fd6f8ee8b925eb0a3f62905b361a49a9";
-  sha512.doc = "05d6614c88ef2aec3abf9b0a3ec5793a7e41560f93271fe9ebae7ffdcc1549f57eebc60987cd40549c37c7fdd0dc5698065993d33e3f6b0f524587e1a14961c1";
+  sha512.run = "344027bcf79a9b1d3c408aae774bc532a39e7c638c4831d2566e7cf5ba5780161c6314bc0f9337de21fa08a2a2d72f3b5ccf9df7a521d7c95b4dc6e62cf2136f";
+  sha512.doc = "379638ab38cdfe3d94d049fec7701995566df9c5451f4f6a862c7cde232ceea899222b13f3c40398676bd2746305ee48e8b43781804cd24f48f36946526d23e4";
   hasRunfiles = true;
 };
 "karnaugh-map" = {
   stripPrefix = 0;
-  sha512.run = "2fc65deb57c29a490788c5c6edd8b8e56d2a4646535e45997140f7ad06eacd44e4190fbb6f4a988746df732acd0448c98b9ff3e01849cc2df635d89b26f10913";
-  sha512.doc = "1a39b0c5e473e78f2a367ed967382b5dc731b10a864735b25ae6c10e95060a2156514c2a3819bb5e5d9ae126e135683dc461e932c945b38f379195cd33b6d385";
-  sha512.source = "0d330660d0f8d00d38bfa8e381dfc478169c862e61ed380d2735ff4f431ed52d5d97221da2fcf66edbf0005def3e69ae62e889e5f42fad7165c9f8fab4f5d4f9";
+  sha512.run = "dc2327e4cda55e4b60365d6354f679f9bc68d87a3d3695eb98c2754d7a5f7f64d65db8732b107f686fc39a07868d4703afc0fba754f42af3fd567a143199580e";
+  sha512.doc = "0daa9aafafd67df8934ff2b7b31794b23c8ebc53fb142f23111e64957a75904c4813c6f40512e4a440861351a2185884969cffef35209dfddbfd9ac4007e6557";
+  sha512.source = "3de03d6661f8a8d0955de760bd8e0a9e2c5592e1ec95e55224994c9b5580036da6c20a9e68a2e59195fbdbbe0ffb5f431dd025400a3c1c57c44fa92000575dfc";
   hasRunfiles = true;
   version = "1.1";
 };
 "karnaughmap" = {
   stripPrefix = 0;
-  sha512.run = "a14d21719011ddbf2735356ce4685c77973b6cfba02a855ea05d7a35f064644b1e730e6fb1ead02034957cf8651079e677ec1d96ee7e33e2a7683a4e968c5d4b";
-  sha512.doc = "f2363bda04a596a2d7281ad98f7e6c2c79b7ee4b6bb2d838740284df78266c9ccc7f56e0762b9ef8230be668b80bd39dad9b98de7c537f815ac090e5b195efb8";
-  sha512.source = "7114c3b579d5f355ccf85390fc3dbb1dd5621dc33c0ebb863cb947109a9bb6b9a120af01078e8e6ae99a4f859c7d3b2e5b0e191fff50d224680a9b701d5c065b";
+  sha512.run = "72c5ee674d7719b535a03cb9180a605fce2ac089c875cf57b95739b5c139bc45552960faf8f3287731fbe12c8402ce3c2c6517513d20bbc484e12a44468d6ec7";
+  sha512.doc = "c79e28dbfb45764c3f5feff21bf3cb8ec5ee41380fe43d35b2b091b1e263db1eb417a19c74987743c04a2f41fc2c3655fdc531c8971320580be48beeb4d3d6eb";
+  sha512.source = "ff5bdbaebaf55faf2d617b1e3634e52a6ec52c9d56932653d9b13a8aba94db101c4afbccdabd916d51be201135de2e739295b8a0523b63def160f1c07171e4a2";
   hasRunfiles = true;
   version = "2.0";
 };
 "kastrup" = {
   stripPrefix = 0;
-  sha512.run = "e9eba3a9901e8fa2edcc7b2f12cce2a2f3b5854a884e163c04ab01bf38833aac3c3f03dc86499f6b08ce7a4be5045d578ec9de9f057f20d32a0f7a32b003f248";
-  sha512.doc = "09dd54c1203787c9fbecfe021f711a48c3b43528ff1ef58d1f3919a2e053a52a5ab84a594392729ddd7a2e18aebbf52bbe86d4c245d190dc3106de5c087e1b59";
-  sha512.source = "e8cb85107baf55653de215782835617cc3b27ff858341960f948f5998ebbfd9f208c23a93ca14758fe876205e1681eff8e937ede3f0335901c4897537628cd81";
+  sha512.run = "d7cbd22ead6633284e9d114d90b2cb47924bfeb10c15eb350e4c2f82b883930c953410362313cdf8ac476a68cfa3a9b020217097909504b97a8ecd7addbc8d97";
+  sha512.doc = "32883a008b0f44c341fbd5f65f9783e403fb5751201235b0c4a2dfd9af8400e1a36adaf4573165688d78cacdaad3c8b2ac1b92ba87ef6951d3bc5330537d1f9e";
+  sha512.source = "60390a053fe2fa53685403df1d67a2bf8795f49db0f4eaa5a147ccaed951a55c1ed50c9cc5802bcdb5e356b694c2b4be78715022842c958f784908cab89a3f75";
   hasRunfiles = true;
 };
+"kblocks" = {
+  stripPrefix = 0;
+  sha512.run = "dd234caad6b289f85109303a8e3f770bf7393abcf1685f402c3d44234d6ea4da060b9995b8bd2c11450e463d4b729538ab94d41e76deb9a0fec07bc1f909ea5b";
+  sha512.doc = "924ed5dbe96eafc0bf8dd2fdffd4cfed43e7b8f236181553c999ff07a40aa3396e0b7fbf5c474b50d7c1c5cccdc364f941479ed710003055fbfefe2a34cebda1";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "kdgdocs" = {
   stripPrefix = 0;
-  sha512.run = "06522c8bce7ea8c4825563bc3872b6ab8a37624e48c3d20de26c210e1e779bde7047b8da215f4c39d0f908aeb2413b1ca1a2e6141cbb1914d8f4051ee8723b10";
-  sha512.doc = "371791acc5561d20bf459ceb51486ba9d3c8d8e47c39cd99e0fc9c0d5dc85ed1bf5ad98be4c6aeb6b5516d60c799f8c1cc8f2a63a34c41ff3fe9a19f26a16f61";
-  sha512.source = "d0d99893464f8c80d2b044bad065f47d3132cbf4679ac08849855a25aa0f853b1228375db86f2c4a67f2b9df037418160dfcdc6da33bfdc7d9e3742ad80a83fa";
+  sha512.run = "79b64f2f20b9da908fd9acee1033fdef290c30e99794c37f5020f33dc5fdbb670383463bc17614f4ecaa1d5d4c03b4ffd3aa4f2b7c53f27455740adda9d0545a";
+  sha512.doc = "6b579a44d041a10eb9224aa80c1b59b113492cb12c121b1ca5f57625d044b52a80cbfab63d7a3160043b41b1b4e27d463f5ef8c9688f620f431fc1937a8bc561";
+  sha512.source = "256c4c4e0a8dddf39fc6ce14f17313f2bee7c967dac21910fb44fd674573de113e78b0beaaa979d3c7f3fba06ad15d24d6243b8716b0114507331f267144d6f2";
   hasRunfiles = true;
   version = "1.0";
 };
 "kerkis" = {
   stripPrefix = 0;
-  sha512.run = "d3fc4814ce8dcf203905ac6246443167746ba06d4d900f68183f1fbeabe918c12062ccd0dc8005b7667984f9d209a3abd41c44050416b76af8a98bbf49c8d691";
-  sha512.doc = "35526824bf43cfbb24a8abff713310c51c03ff716eb8bd6496d28297a74dc80d88e2c9b407a16ce79e342c33c914bac15a9dd26a821c58e95299a751db4c0eb4";
+  sha512.run = "80989cf32881e82a9111bf99cee96377b8e315dc4b36af014653caf551fa008ee453d342710b8a5308d01654c68bcd0beb7d2c868f81354a699522379ff95061";
+  sha512.doc = "bd7d84083fe8d07a8e3fa7aebe9964771616e6a8429888cc11188ad7ef00912e92399cdc56ced9b67e2a7962af3bcdd5d99fa183e6760b8458427c19f79b354b";
   hasRunfiles = true;
 };
 "kerntest" = {
   stripPrefix = 0;
-  sha512.run = "e8fff2f03c74390e6063048c5097c71bb1d10696966767f97ee854e64b48ba9405f79a7db4b4b557abca50c73a993342ed471b6aee4975db54ff34d8a5dfb7a0";
-  sha512.doc = "81f9dcd232c158198fda7edb8f82b307253bfb2cfd0d41abf4cf688652d53285cad0c423eb35d9abba047854f3d3659bd9e6f3182767596b56673178a743fba0";
-  sha512.source = "50e50573dc409c5829e49f2824b2ac252efbebba5be2dc4f6dc0565c8af28d1b310b1f2657a96737a463b30db7e184795e3ce7135dd1ba1f5eeb4e9d9747c665";
+  sha512.run = "9f295c253228745bdd91db65f2e414bc6113d246242ea1717db6659c2ccbf72530fdc326c0ec499f6d6c2af3ec8df2b78965666dd8544e07bce864716804e76b";
+  sha512.doc = "b471544af9d1ecfd6225e4b9d61f05b4da950a6512ac4c4bab54b1ef9befa859ee5aee2498690e724d84313808d2abc8f005fd4e121891878cd2dbd03ae36415";
+  sha512.source = "8d7c2a8e8881f361c67ff71a57056dbabd3e0af5d24cbbc5f9e7e6e321504482469809f8bf349b5fd4d65e011049d5a67e7570c0b364cfe178b0fe377da82c31";
   hasRunfiles = true;
   version = "1.32";
 };
 "ketcindy" = {
-  sha512.run = "cebfed1c6c6fa7fb769278ab2de149dda2a8b7c8506596f47050b1c195acd32ddb4b41f86568cc0989c2542c8ca530c941beea9a60f3f3683935adefe44da1ee";
-  sha512.doc = "a59b14e455f388f17f4de2703917b187532f59da9340288e993b06ed929cc43e476f9f412c9331fa38653829eb466ec1c26bbe1e2dc299f69f60fd6ef7c59f7b";
+  sha512.run = "38c3963781e1a880ef3b8d2ed5d21f7c64f9454ba1fa01385592fde62815c935594d3f7d1a1ac5e77d709f012034a194ad9c4f78c06903a12ba71be5ff67f720";
+  sha512.doc = "0bb1eb8c190ebe91624b7bc8a1c1cbf922a29200159236d683a1bfc356b502c38d2c2d2051d65104a85a15e1b55625b32025e2496b7987cb7dbdd0e07ff1fdc3";
   hasRunfiles = true;
-  version = "20190203.0";
+  version = "20190927.0";
 };
 "keycommand" = {
   stripPrefix = 0;
-  sha512.run = "b521d46425102c3b7bb30df43f2bfa5178376a104aab10bd6a7010db591401df252e90b5a56408975d0fc37cf593df2eaa50412db1ecb3ef5d12b4940b1c45e2";
-  sha512.doc = "5e384278dccaab65989918ef9027f0c7c82449ba47cd4f031fb66c8a107c7906e398260cec18f25ab0272c56a76566189c0fecd05c41920f68bcf4ffb124938a";
-  sha512.source = "ec4f05a40eb8271b8c21d3ac8dc8bccdabd68ed09ed2ec6e4cb05fa1b44a0d258ff56fa090da5850dd67237bf52433d72976872ac3833419b05999cf8b019770";
+  sha512.run = "90c2246edbfd199d98a05df336ee228c65f26073f3c95c5ae55c3201cf59453bb5afb95ad367ab4af6b36dc4e0c52a25bb10f80fba265003c701122247be50d9";
+  sha512.doc = "b99b58407f5d93fb868bf525ab199c41e07fcf5f31c7a6a14cf68622ef3a34e44d1014e4d34594441144af5c7d9a9853cef1505311928b32a9fcbd41c7bf4284";
+  sha512.source = "44b63a11f08c3bd47ab337ccfa1b0b2737624f77228ca1d745020e2c1ca1b1616c1bfadda1b99c362c0b372bfbdf37d839f0d0457082922a54a66608c82aa928";
   hasRunfiles = true;
   version = "3.1415";
 };
 "keyfloat" = {
   stripPrefix = 0;
-  sha512.run = "24e0298106e75ef9ac20c12aa5be6f29737f2e275e3618dd891adb231a765f7765a6ba9e9c658a5b69d2aa15af9eeea3c630d108fc831e3a6c9f5d37e6662bea";
-  sha512.doc = "c0ee09178f5751cf28a5678a9cbc940ab31738a72ef68dc60bddddac6f21ab27ad7caa591001b539b1c27d1faaeb6c1e4ecaf765dc0c4230eecb8dd648262a20";
-  sha512.source = "b59cae8dbc56c9bb6552b207f45a2e2c7d0cea120826fa50d86427a44c35570b10e9632719b1312d95bfa07861a1d1e2cd6a10f5c1c4cc2109d72a7b5a2dadfb";
+  sha512.run = "3d2be77c6ff60292b3cb50e8033d5f182fa731b6b435e4eec4d6a3f4376e6f0487a6bc5bfbb59da37ba6d620721f3756e42a795bc26547d2218f66b2dcf82a4d";
+  sha512.doc = "b678b7e0fac699625b9638b67e3e00b892ed4d0a01d78ef0fb13ce65d2a1e74afea50bbb9f4ffbfaa37b1e80a96dd1cd8f8420e8b1b5f1cbf6f6155d745a7604";
+  sha512.source = "32c7cfd96870d94034984b923d47075a2e071df11290f076ddb4def33236aa3ca40118382072b3d17aeb8d8fa263c1c0575182ff5b91a4c410f6c7268100eefa";
   hasRunfiles = true;
-  version = "1.00";
+  version = "2.01";
+};
+"keyindex" = {
+  stripPrefix = 0;
+  sha512.run = "93de5becfa1b4950f518bc004f0dbdfe96f567e17ec4b7656326b89201f1f85edcbdaa771dc8568fc0c87bcbd8877b618d0d00ce387ca70036f6794a8b870695";
+  sha512.doc = "4be79367bed5a7bc3f5bfd6c10f7ba6a4c87ed51139e8f8a7f55c59ae3ce6c1aa10df1c88728f7dbb4573634bba2ee599378755cf6c77a2ccf8d93ece5540736";
+  sha512.source = "3f177cf8d323fa6dc0b47742a27cada66cc505777a20c26864dcee73c272e46ba3867c4120f480be8ce5afcfc6896d908eae0f336cf306a13019bd0f0206f9dd";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "keyreader" = {
   stripPrefix = 0;
-  sha512.run = "7042a31af913f95676028e185639aef01150b3b0927d56712119e1c697392f12b38af3a054880613daf06dce2ffdb6df14b3690862319f5f6d750d3f49c5fb6e";
-  sha512.doc = "8a57b1987a214ddac40dc723157f307c8b337dcb353c7a9542792910a6aa3591236cda7ccb40e14959df85dab29446769caff0c0277514170b76498bbf6f6b54";
+  sha512.run = "d1786b07a3dc87f94248043f0bd941dcd8dccce29132e67118d3fedc0fe207a2df846d850851217fa87ed2219915719e70fa73ec284ed420072654c578ee0b3c";
+  sha512.doc = "05c45cb13bd2612dd5b048f296437b605117c71a52cef2a1b90ad58b693a31d05da9491464ea9b208dd7eed3f3cfc96e9b5a00f5a77e5d492208fe1e924dde4c";
   hasRunfiles = true;
   version = "0.5b";
 };
 "keystroke" = {
   stripPrefix = 0;
-  sha512.run = "7bc9e6f188a1993a7a7634212d8fda998cd46d95114fda74af86c4d839df309a00b992d09a42e631334ac438a307fca2676a6032d900b3cb477796b61c07cbb4";
-  sha512.doc = "1961c326f829c0cfa008654d363318d0a02993319f3ec8bf4e0dd6cc011c231a93d50aecdcecfd8425680cf0c2d397b8f770713049b2c4836add6d3dbafd7db0";
+  sha512.run = "e04e13e23b3342686078c2278d3b6f7c8678d99acda197f50296ade3dd91bc4316323a669efd7238fd246c60f169c694677252601a81d9e23b49a1e37049c93a";
+  sha512.doc = "bac7f2e879796c0ccd5ee28c47aa79e9208ce0d01456de9ada6cd00d822c098cfa318615311c43b1815de0e6968252f6005a3dfd9d0475ee7dec25f7d24d1d86";
   hasRunfiles = true;
   version = "1.6";
 };
 "keyval2e" = {
   stripPrefix = 0;
-  sha512.run = "9d9e1a83702f274a4d9d301d26da1017ff2b7591c25f971f2ac4ebcd12277afd9089bf786cc00523378e4e06a885a47b581bce389670c1d0d9c698cacd849dba";
-  sha512.doc = "01fd04920146e44f36f9d36e7b93fb1b799e6153db8fe362f4a6014967e3ed6c14dc29e8079aa1bb49668a30197ffd27a22634e431bd447a902781d782a8f7f5";
+  sha512.run = "08495711a9b509707ce6da359f9743b267baaa6ba6e18e41c965ce016c4c51e1bb7353769ecc9596e9bc415976449612f602e291608d306ee5baa69a4e823160";
+  sha512.doc = "424035c6250990b4104200fdab744d50643b6ce36ea717f50544fecd40746d47d7d2145203f0d6f19652a7217c99eb599a1c7d8b0e3a0fe00e1355c416cd4294";
   hasRunfiles = true;
   version = "0.0.2";
 };
 "keyvaltable" = {
   stripPrefix = 0;
-  sha512.run = "4f695358c4d9c4c9df3ccef9a4b1d4d920a8eb88ee2c811fb29f68c826b03c946604fe77463317f69250bd1a300dc586622d49917f007e5a47bd0de058b35766";
-  sha512.doc = "7363114c5ff8a096303c427dd39c1f16efbe559f035c4810ba8c6d7085d2cfd4ccd79f7cd0f27b41c5a4b1b04255626ac85c12aebfd17d70501e8f3847a91802";
-  sha512.source = "27f63928c11f941cdff54b76f4025a3ea63f5fd89266d2344cabfa48abb6fa533d94d7318b3227723f3ba81a4bf5d9c094e05bd0515fb349eb2932fab77a700e";
+  sha512.run = "b7a0fc52feb2a4e4bf6b626701f7d4fcc455e4ebd560389f2ac7eb15e9cb2ba814ed3f179c1662364ddd4fdd899158f863656555e9d3bfe08ab03ac2471c1025";
+  sha512.doc = "277544403f8e06739789396077dfa08b3a0fecb99c8eaf41dc61528d66f0765a519a8314b85196bca5adb733dd1356034b72c9a949fe0d09a845ed3d35ddce5e";
+  sha512.source = "039b27d55b8b51a4d49e8e06cdebf3266633a3ee658f7c99e191d248c27ed05ebae7bb433bc5b242d815a795160e13ab8a0853e92147979a6ac0a1568e013662";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "2.0";
 };
 "kix" = {
   stripPrefix = 0;
-  sha512.run = "4d038fdd6b3b37fe59cbcad7118501313c12a8d19f60deab25c893595b5d7a3d82e5c4d54892ead56f89271ef3c810ddfaba7c1109c1050bb3e5a8c4cf6a469e";
-  sha512.doc = "acddef8940de408a8ebbb57bc9047ab324ac2a549401653a64260223bf845092bb0165f543655cb8b43c09daead4e8149184547dd56d14a1b7176e0dc269fd6b";
+  sha512.run = "dd819518a80ca0486a191361625b58f91d00ccac88a2f69269bd6e1753f6c87dd3c97d39a14a5dc3768c9ecccbc981106eba1f495cb7870103a828ea69ed8bef";
+  sha512.doc = "3d3816d395e69ec83c88fe55801cab052b12f5e38702edafec2d3f9225c80a31165dca553b60401dedac7689c583feb00615e41c7179fd19ccdc420fbd5e6d86";
   hasRunfiles = true;
 };
 "kixfont" = {
   stripPrefix = 0;
-  sha512.run = "fc3e0b2b95b7b838fc719e65a84cf8ac00bfac9c2b85fe2da637775a346ab4f8f19c4458980074b93c8e699915d1ce5c4ec0bd349e1c378ebae2421f2a47c14d";
-  sha512.doc = "c733c34c332598abfa4463b06b8c0c30437f2d4f4e8e36f07fb84ef0957cba33eb7030d094dd3246904c64be7bac5ade61fb9b490e49ba343922e986c2b20224";
+  sha512.run = "a866364705d75ab560488c84a5e403755acfffe7b49b8e6dd65342f45f852a5be9d4072d750fae606c3d5789e1d46458da66f0af6fb9f9e0225c1d9acf69d4a5";
+  sha512.doc = "ca250703364924daf9827ddeb48126fb21ff5ec3230afbc3f6778d23e96dbbb16173e5504900032ddbe14920cb40adf8130be50ee92f3c9c2dbceb95b8ecb90f";
   hasRunfiles = true;
 };
 "kluwer" = {
   stripPrefix = 0;
-  sha512.run = "cea707f796ce6030d1a641185ac6640367ecc3e1c9ab8f2c316f5c6d121e934d2bf09da81bb01a9b2130c69259e828dd35038501ca1b19f90dc4f8cdd7a85774";
-  sha512.doc = "30287d921ff77974c715c95da106808f10090636f8501d091db7566d85f690a1656fca5f8115c56728512bfa04acbe74f93b4ac181fbc988fd1209e6924afdc7";
-  sha512.source = "28570669f4a8437bcab7b0810d17a9e6c8cc70fa4b3e45868355b827d550ede17cb48a70ff51d171f6f9e884e324c093dc423de5a6dd1794e0279ddf06d69bef";
+  sha512.run = "36f0d6ade1e6afbc7a021780a9d6d56e358805be8a8d5835ce256c87f426aa4110b9e395d6406cd1572a362557ba0d914071a6589a65ca064cd77c9310c284c5";
+  sha512.doc = "9990c4fb99023e6262c1c7336f4b8a98e3131ae60f380652469f7e2f88a8793d745655e0fc13dadc78fdb8c2beec6248e54af661bc81a8ec016af58b688e583e";
+  sha512.source = "a6ead8f091ea55b4443da5d048df1e27a2f2af0abd047d7585490cdc27b9efd1f3a59a5eaf6b77a8b5dbe676ea89dda8e96e80b833bfb995605ca36b21e3cecc";
   hasRunfiles = true;
 };
 "knitting" = {
   stripPrefix = 0;
-  sha512.run = "64dfbc625540a8e25e3025e11d1f3ae327e92aa3ad24e4b832414bfb4e8319dc289ff7ad29314427dcaf563e619d740f839b4bb04deedb8dccf191cad0486b83";
-  sha512.doc = "22042cfba330de899d2024897d072306577d2700cba5d33cc3d69de3eaaf36d703b7bd30f670bfae9683c8df156463c0983f0490859e110fa7ac7a2100a419f8";
+  sha512.run = "af3f7d2355054293c2c7973cfd40f0b741c8821884cca6ceec7562efeb92433bb81aa204b7b0ed4dae77cf674f4a63005f36133fbb5bf3d239f0cd5ef61a69ac";
+  sha512.doc = "effaaf06a5593a9d73f2e93a722355009a0a957a2067a1432edb40d8dda7649c42571cbc37fc7aa4103ae2094dea7b1bfd861273566102c55546f71b326e7118";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "knittingpattern" = {
   stripPrefix = 0;
-  sha512.run = "c497ec20255e7402069d94dd06b72b3fcdaef7d7682336a4d6062f24056cb588cdac62b73578abfd74931923cc2633eb8edbd926eb3cde6d76a4c54d580f795e";
-  sha512.doc = "8ff15c48aed895835ca2f621672c0c0421d943c3b77c27ab0235d1b346d6116f9bdf1992ae542b5c8d6e752e8727cce37fe7c5d44dde125e615c1c1a9064a306";
+  sha512.run = "cee26b0e6fd54a43a12e0e48fd5b4bf381816dabb6019cbd7c13ab5e2561b9f191d9fce4c75a513c06530077bba8d383b26552e2e6f4e97600aa2216547a08b5";
+  sha512.doc = "d391a25a224713092128af5adf68e5331c530a67a763dc37f657d8bfcee0d904632e86ae2f3745ec2c4bb0cea5e886c85da15b064780dbe997104b9afbef9e4e";
   hasRunfiles = true;
 };
 "knowledge" = {
   stripPrefix = 0;
-  sha512.run = "51a651c231110750d9fb433545d5f98de2b45a5965183b0052f827889e035c2b1c0bb6ef3e1bd50d85d9763155729a2e86f7a8f606407471a708a52957462820";
-  sha512.doc = "77a38a1d722b8f1ead2e77dfe861a0b935dfa7b365e5bdc7fc7351099103f2dfb0a8d172718e58c87c762a5700c65d60d7c0861e83ca3e0abe78961992ab604f";
-  sha512.source = "0d5f55552b0d100dae7ad8eaa53f95449b330efbe2c549458954cb5c0d0b4d7f610e207069c4587fad2afc07fd1e4e7395914579be375da0f117ddca5fb32e64";
+  sha512.run = "b0b447090a1fe99b3c30d47aa7e3b9dcc6dc7114e37d1eec6cd6fd66d1b976a70bf8e00fbe1decf25b8d0d74c77555282ebf0e4b921a5c28e615191403c57286";
+  sha512.doc = "cd77f5c9880d32e48daeec69fd4b23f0fb1bb3d945a3025f2f62da9c9a4becd3146e9f04033e9b40a4103daafc7a356c6c0796a644d1f4e20a8b26ad84e345cf";
+  sha512.source = "74d7c0a1adb9ec30ef73f755e0b14dc986c69bd85341f0c1dc92f03469709f65f2d84094aa5e8160256e2241793a68c97dc14eca7d6b7ae1f1e2f7d8df178521";
   hasRunfiles = true;
-  version = "1.16";
+  version = "1.17";
 };
 "knuth" = {
   stripPrefix = 0;
-  sha512.run = "d5b2d76e329d483e5d438c2a6213c6c5d39c2a9c38e7eef6c14321ed63204604a898e589e84c504f2a363ead6aa51a9e650531466be64b49477480fc87779563";
-  sha512.doc = "99a914151d7dae014f881c165c88671ca374a29d3f07f7d9863e552230ba5c037324451f66c5c3b06026dc0e22417cdab05bf6eaf2324ca8a9e79d61746482fe";
-  sha512.source = "54c7822c781063fb972ede26f9f7bb4eea5419bbc4d295fd3d5c080affdb85bcac2312c63cb493c6feeaff32321a8af11d5febf9ad33a8489125e4d59d58d772";
+  sha512.run = "0444090d99b39e2cdb47060ec7eb07704948efba49d4c9ced27a0565e34bc31cc81e10ec19559d3455ad2da79c5117da3f2d84f2cdd080cf97d5c14e6d02f707";
+  sha512.doc = "a2ec4befb238f3cc51593e0aa145d02f40e3e792d4ee13147cf58baf366f9e019fb874179940b7beedf859c9d756a8fde2b6f65e8c6c20e9c2964e980e7dfabc";
+  sha512.source = "a5e53275149199e9bbf88f6f6f03759b39ab0401eaf1fee4cc9875eee62a82178bb3f79deea9cbddf5e3153366dd57e43733f583bd66327e73b2e78b0765964b";
 };
 "knuth-lib" = {
   stripPrefix = 0;
-  sha512.run = "f85a1042504d410f7f3368c939d126fe08af3510d148c5e9401fe946075c71e91c1f980f0cb734708cdb37213cbe21b3b6eac6d9618e21002af9bf88f262488c";
+  sha512.run = "8925cee55d97e93e9947e62581bdad06cece4448b94516c72cdc8826ecb8148fd393c0621f57eb92dbc4752626a38029bcfb30963b618027e0fb5459e0b29bd0";
   hasRunfiles = true;
 };
 "knuth-local" = {
   stripPrefix = 0;
-  sha512.run = "7dea5d292c44c4ce60576ae9bcb7a5cc5b6739994f635b6cace0494c2c1a77561e9695e24296b30db83990481a665a581a97182c89a8656374bb80c0ef4e4309";
+  sha512.run = "8ff3f05e2584cbc5301ce6fe74e469db70438f689323617ab0cd762af9f66fcc8db10ef687dbe5a97deb0771a75320ab099cfd8cb7a900f5ce6c65e2f6fc9edc";
   hasRunfiles = true;
 };
 "koma-moderncvclassic" = {
   stripPrefix = 0;
-  sha512.run = "55eec1674ada0edc45bd5f792def8511fb61730d086f8349f0cb459964d550572ea3b01ac6bfdfad9be69bdeae4542882e8a2e5c2193f4fe8d5c9c443a03c91c";
-  sha512.doc = "080b602ea8b1b80452c7dfcc977c2cbb973ddda8cf8fb729bcef9ba78bec8096797f4c3ca964b7694b3196e5977f40574c96fd4ea9cb098e407df0aed5bd1848";
+  sha512.run = "68aa7ea875f46a4c1d1bbf29d4abb77f4ec729242fab41f3e79caf95a925a076ec3d37ce7d98b44aecaaf9edce541d1673780238786b36cee0621acf4212a1ef";
+  sha512.doc = "968f5303bc7b5fa3df39a2a44c38b63e54059a94ac7df2349b45cbc0855d22ec64ec39feaafd761515720d306d5e5ea8a223ca74790ba160bd093f989d8b69c0";
   hasRunfiles = true;
   version = "0.5";
 };
 "koma-script" = {
   stripPrefix = 0;
-  sha512.run = "d12003954f079dccf1e3aa3bd1968cda2c03eb9eb4ac84115583120463ec2732389cab414b7d8214983f0f484c483852fd665dc254b924ac15b190f4bdf207e7";
+  sha512.run = "9a87386ea77897100dc1edb17665ad32cd1282b0243de956c7c1d60983988fd22f54dac9d519ecd7d0b3b00bf619a83ff1782baef6012299a8159d6c5264b1e7";
   hasRunfiles = true;
-  version = "3.26b";
+  version = "3.27";
 };
 "koma-script-examples" = {
   stripPrefix = 0;
-  sha512.run = "0723599b64a4d75a27e6850db2e5b092e2be9af36374bc2ff5b21f3278990c1172fbf477138ac984ca9dbb38346f41192103d6f0515f53fc549193ff0099d2e9";
-  sha512.doc = "bae427744f56fd0026903b8f63dbafe85e2a661cc2aaa71d387a45018fb740cbcd03a0f22cb3e73050bb4b931959aaf012fa0d65553242a6adbb2f37d8f30217";
+  sha512.run = "df9ccc215a2693454b3f8e1cbce816708415e987451cb652c1b3c2121ff073b7dd0311e3a61de493b5591923edd7688edf66e061467d28a5c3ea437f912568f9";
+  sha512.doc = "6cdd548d21897f33927ee33be350b77b317777464ce3c7be24223cf10b6200ffb73944d72d0ea8491795de71c9554881ee52ae157a035b667f8c2c74aa1c3641";
 };
 "koma-script-sfs" = {
   stripPrefix = 0;
-  sha512.run = "287535c4cf7e3477f43b3920a5d53d3789447e072816f15f0495722dffd3b3ba3dc92940007d83ce2979a3916e8545889c28ef381864f1d50772d207a6561a45";
-  sha512.doc = "ae1c0f36ffae0e1f776e56cb65d9541d35d344ab184304dd884496132021f1cd189b59680f6cafb0c56a1f4ba062619d18e85507cf6c549fc5faf9b220c78120";
+  sha512.run = "3b281a1e94c73e1d8224f6ae552be91e3df344f9031e139334fd7256e38dc70bed4132164935845c710bef9dfe0e8c439c229d3415ff835e48777aea182e7fae";
+  sha512.doc = "84f7fb5c11c9b40029bc481d34ef7cca39baa2a3872f22fd5b656e324aa5cc0becf3ff6d894ceaf26e8ddea0d8cc14d428a140e1f19ff2e060c6d32390d51070";
   hasRunfiles = true;
   version = "1.0";
 };
 "komacv" = {
   stripPrefix = 0;
-  sha512.run = "36d8a2fd4e2113269b4c9a994443b2e696f70091e0008e5129cb4fa178c0acae4b52b59b4a727b6055f63679325c8183dd3ef614c91e7270eac678f96bf484ba";
-  sha512.doc = "863e811c07e2ccfc4dff38129d5eaa3891f15a5d1ab7b6df36b0d8b57c0a0a4614892294a0e27734bbf834d4e260ed3b90fe39789d4b139ee2bb33fefd29db9a";
-  sha512.source = "ee1f5168d2d970e90f3edf812bd575b7cc7e7857a293b770396a4414e68f5f5fe3fbb17feec14800dac735b0d9f67810230aa0a8339ff931df3d083e360a7701";
+  sha512.run = "007ff84d143bf46d2c5d0772111e26a459be663ab40c785a8dbc8b787202f4ccff15060fa7d52cb547348ae1b128a9f66256259c2f72775d4278ae0f4e04c0bb";
+  sha512.doc = "58548f1dc27a80a65a275140bef757329a49255353eb09c0c41e7824985603799620b696fcb4af454d85e90b61a6bdc6965cd0f3f2f603674064be502674cec4";
+  sha512.source = "eacfb8e12e043f30daf41c3ce7b4a72bf46170a1c5f9be5accc5c8b414a2a8a69b3460d26832806eca69c3285d0ff87014e50a411f8bf6ea1d7d82fec250ba9e";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "komacv-rg" = {
   stripPrefix = 0;
-  sha512.run = "50a37f266e83dad36be92b2f71fcbcddf18961c3ef37c6e9a353297ae9d250ac64747c51a555178649ac3b77ad92763042846d7e7dbf2cd731ed79c8714b6847";
-  sha512.doc = "0f72bc2a8d68962bcbabeda7326b98f3970a74c38f5cd2c101f7925c8e1326656823a97309c8e0c451e062419794b6528cdfe85868b1ccd37f03145861a84e55";
-  sha512.source = "e71798d4051585eeff58f85e6a4875f65852be411cccc6038f1780d9c1035ac794a741b1f82e1ba5b50331a1d26c5cd16020b0af586b54f53c4851a156bbf892";
+  sha512.run = "6d400b0f228d42aaabf9527bbd3447fdf92eeff81f1fb7978cf90c3afa9835e4731a9da938bbece65034476ac2e2f7afff19000d9012ddd76b6f65618bea7223";
+  sha512.doc = "58236086df2335cd167a5d475cb0e223747d43d81d23c0c0ace1cd711a19ca371426d36e199d69a9fd5414a33872dc4ab3725850a6677440484daba0e55d5208";
+  sha512.source = "512fbddc0b233061afd3a2af20846e8eefcb9d1dc00b29669e45499b62289d842053201b208819536af0a2a7db56cfbf2346210775412035fcd13d2b2593dcf1";
   hasRunfiles = true;
   version = "0.9.2";
 };
@@ -16025,244 +16389,261 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."memoir" = tl."memoir";
   deps."kotex-utf" = tl."kotex-utf";
-  sha512.run = "8d0d72f5a3003dca30c6d0627f35dd5f921175f4f48a7c01dea8c13f8c79abdd5da3cabdc279779bab9bd0174a2db9c1247c3d44f70e11a4d7d192bcd6baed92";
-  sha512.doc = "0e51d4e2a4274252bbdfda668f8b5a9857eb7d798ed2f1fce953477fa6f894904b95bfa62ffed0e85e6ba63c522d95d6e086671c18d20cfd9cf04e963fa12e58";
+  sha512.run = "37aa00c2558500c5c308f7ab5c0d8af0277009ddba2615229f718f4e7f954708dd8d3942e03f5fbeebf29a7bd49b81c24c8364fb17468ca0e998d3235bb68791";
+  sha512.doc = "907fe884a715e82367ade24d3053a9cf4bd06ab276cffb4622932de1d485813ba9ebcf631680963e926ab80d18838f3c078434843c398000df9a7bbea5543f4a";
   hasRunfiles = true;
   version = "2.1.8";
 };
 "kotex-plain" = {
   stripPrefix = 0;
-  sha512.run = "57bbcc19986b1a6035430fb0b18716b2c14f6cb076fca20950166b02d37b751f1955c05aadfed95a0054cf6c52a22e561d1776fc8342f401a7148eac123ea924";
-  sha512.doc = "c780bfbd022f5f97d1004318d368056b67c39316293c3f2b27591636e482cc1ddb598f2940dd6fa3ea1710c0872fc8ead55cf437dd3612950e9d0f8e2ec1ca35";
+  sha512.run = "f04333a7b7ffa7bee44b2d74bc1c4b0eb22fc57fe0721db0ed3bf260fddd68a6c10d92a041e42fe0ab1f897b5869cd7ff67da168336a708f03d072b4c4cedd68";
+  sha512.doc = "55b16054d06f079a5d8bf6baa32155a0114e2a12b0269e1ba07ba988e733ad16cdebc1c991033f7bedbc3a180ef24fa84bb463c07e138136ffd89bab0c48b0e4";
   hasRunfiles = true;
   version = "2.1.1a";
 };
 "kotex-utf" = {
   stripPrefix = 0;
   deps."cjk-ko" = tl."cjk-ko";
-  sha512.run = "ca4235723625c349863082d973ab35183562fec8bc3d2f5932825fb792cc92fab9fd36b2046c0f2ef5508bce1ee1f834b081d8619ffe23d7a5574706efcf444a";
-  sha512.doc = "3308cccaecee744bd62fdac857457bfcb9f126d52de232cd6406f94e431995e9a621677e9342ebca39df4a1a16fa2cbf6b5a47970247145d91ab1031148eba0a";
+  sha512.run = "65ce36703d824ae483a53ac6a3550a8d71d140bdeb67d3c9ddd343255cedbb74739c1688b05ae4742703c6c46b3e46deef5c6a7c5571cfe8f8a4003d56aac446";
+  sha512.doc = "692a2d90f404c571aa0dea436436f72139bf2024dc6f3be0b9e48cb57b60e36d1abb79d7e51fb88b5efc83176417b8f74c8b945fbd236c0832873ad8fa65f410";
   hasRunfiles = true;
   version = "2.1.2";
 };
 "kotex-utils" = {
   deps."kotex-utf" = tl."kotex-utf";
-  sha512.run = "59a30d2693703b72707f6026597cd53d54e41569ac1b1410a7b73baf8c1455140f7d45da225d3b6699d0208387df33f4ea9737eb10ea6f9fe7614af6704440e2";
-  sha512.doc = "a811988e250b1888e32c9349026b036c7341a7184f574e14b6fac1f821e21ec398c94efcb04d32d2dcf147af5a1fa1db4a863c8fbd7707d10540465b9c61d934";
+  sha512.run = "569e9677ef0f346e5a53f4cc84302a8ddf2b4ad85708f4ab8ba7d076ebf339ec60998a41fa92fa815167e9bfc37085ebfd921dd13a60b017a0574e4a5d205802";
+  sha512.doc = "a46c5d09d119fa2fe8b9acea87a37776536e3216b776af6b7037fc5b0a522af5c1a58baf081e60f06c9a4054e8ac2372458c276c779038a030dc92efdfa3aef6";
   hasRunfiles = true;
   version = "2.1.0";
 };
 "kpathsea" = {
-  sha512.run = "0fb021235bda8118aaf646fbb1eea4ee06ed8520644a4c006f23b318dc5520a10d352921876fd0da10b80914389542f5761f1925d6941d767f3ce791f9cf1f57";
-  sha512.doc = "81e290032ee743a1cd4bda27df9ac47dccd2f3f75f56fc7b2c11b37a5c0fccc391d99c910efccc18c906fecc9af7b050e1570730ddf20762321d474395b0dbbe";
+  sha512.run = "c501be99e4de8c65a63e4e9ce4d1c5c518d849e792b36ccf4048c6697c272b511a4f9a34bcd2f3372daae96f97c0378d04348eec7ba29580a9649dfc3e144637";
+  sha512.doc = "e31624b39e972b6c18bf34e513d14b929deaa203d6df8072a783cac661ec1431b28a36dea7b0d0f1793f7a048871c3697965ef5948a400582d618175bb314bac";
   hasRunfiles = true;
 };
 "kpfonts" = {
   stripPrefix = 0;
-  sha512.run = "e6997f0a3cba6f4de6860986569dacec3ca381f1c13e045539a74e4e2e7f84656a042416cdc7adf3f77ae9b58d77baac4782d0374dee56fd2e6a6301678cb29b";
-  sha512.doc = "65c2fc56d27f6bf3bccbbaaa31276f2f3918e0b0de4a4b7708847f5af26630f10e84236bc33a682dcd101c7ac62b68455f0ae521a0be0e14c794e38159a70eeb";
-  sha512.source = "f8e1782af4d99309c6b8ffa634f2689a45d70e101e3f841d2ce17b286a3beda1b3a0661eea6982e192954c5e8b09fd8653084a120dcd62b6bb7f909ea901235f";
+  sha512.run = "65cb12b6d10c91605db91de58fd33597720a4d8a7cded8a4b60c5bb3c1f2e7220c5354488a75e5a25ed0f8162d42689b6877b3a7efe5c1a0758dab237564c5ae";
+  sha512.doc = "5157ad4e67bfb1f0ba54cb34c2896a856d167bdd89a9f4bc4d69ad0b6f4899ec53cb1d22582b352adbf28d7af9458e2d78147580740e7c41437855eb30557a17";
+  sha512.source = "f70870ffa7dd55da69af7d8274fd3089c047191197f4f4afef4908a93e56e9f1b8b1655cf8042138ddaf95c24240df73549bafc6e2a3b3002b0653bb2e2ac592";
   hasRunfiles = true;
   version = "3.33";
 };
 "ksfh_nat" = {
   stripPrefix = 0;
-  sha512.run = "5f67ed675f92fccf13069e8659c2fbef96528aebada68d006c28538409c513354e23c47b3be0041b5be34edb8fa9f71288e3eedccf45909ec443c5dba7c79bb2";
+  sha512.run = "8893133ed49c9b4ba7472bc80a4e5583ec2546838e261fa2cf9aee188a0b00bca45de05c4e969af0b6f222a9668c3a7fac0caadbb180c10500fc53ae8c9f56c6";
   hasRunfiles = true;
   version = "1.1";
 };
 "ksp-thesis" = {
   stripPrefix = 0;
-  sha512.run = "840efee7d2e90288f2b420594b52fd871842706f5f1e0a28e3b03730da2cbeebf4976c54de27c81962aa182543432129ff0caa6c1f785b54d93a8dc185d304da";
-  sha512.doc = "3f49d4bcdc9e9c7a6901d213c3f688fe1113781cb5c6d4e2724ded1a7cab4492e2537a798588867d51b6faef096beae6678596da6827a6b9329318467f3639c4";
+  sha512.run = "3a250167d8810e3e81c5b6f86dad57e191a2a8387b5c7701e9b176cb007ebed79bd11867caa63e9cb9d3412fd59baeca7ff8e7589b11c4ef1144678552957216";
+  sha512.doc = "ea4ff7ccabb237b113511b58ff767b494b213cec1382467ea8b95b72abe9c0d361f39781940c976075157bae93e8e32364f716cdba2a07b8a7d72c0970a31cf9";
   hasRunfiles = true;
   version = "1.0.2";
 };
 "ktv-texdata" = {
   stripPrefix = 0;
-  sha512.run = "9617f2cb5a70a996f0407b2febf7e3ab6d65b828301ddf501e1f83088654cdf5778adbda0660e9d6b7c5ba545d11558d3612901f4625ae017ee3ec791abe6f85";
-  sha512.doc = "2047f3b3043d4feb1fae37ff737e238eac4338b711ca685064af905ae4c2a10ad0d581e2745dd6d03cae8a494d3bfffa84a203790774eeab57ca89b7efb70c83";
-  sha512.source = "5b0d584c2a3609c0f262e07c8637ca1d8f447fcd620a24b05679b2d980f0fc9c85ab6da532c88066e9eca5cdc1e9b66a88f11be8ecd62346a816eb1f7ede72b8";
+  sha512.run = "c2f3e86494993e6e56f131b9e7105ee2d15179b96580982ae7fba9e32c3e9889159ae767d96d95111f2eb052bd61f0c3c15406ae3af70b359e3b5ce081a6978a";
+  sha512.doc = "d930db31105dbcfe3df4184422115d82fda7efa93d00eb8f9fefa0eff3893602fb4db9e7be26d2a44c0b3cb56e8e9810f61bc660c15e49c23880c3f0cd44025b";
+  sha512.source = "1f7eebfcdbdeae66dbff4037a01173bc9383f75b5d7704755a10c442d63380d286bb4532546e036d5c558dc399defe3f9d3d035bc67a5ba90f8482e427b507ce";
   hasRunfiles = true;
   version = "05.34";
 };
 "ku-template" = {
   stripPrefix = 0;
-  sha512.run = "db219686bd5e5c7fa087141b17edcb3a364059a31f76c99c0ae3da071f35a61b1e655862901ba37c1e90be92071bcb7126b20fcc89506993942015f92574c731";
-  sha512.doc = "c973d53ec268ee9ca5b3c011f99b8f4c2673237391c233846df93664a71218d1353ab3a27edb4819ddd6978b147171ea3be11039f52a1dc2cf52a196028ba932";
+  sha512.run = "4603e59129f749b0eb065283bff9cddcafcd1096627f196749be09c19a4a79848564ee9343f14f31dddb2e37a01e222bf08531d5b3237bb906cf88efb427fdb9";
+  sha512.doc = "6b8535ef84bd1ccf70d16f7098826b5acea602b22cd461df66cdda64c4afe36f9ef6c4386227c5317a31767e4694c388f7a2fd87fe8fe06697af4bf5202b29bc";
   hasRunfiles = true;
   version = "0.02";
 };
 "kurdishlipsum" = {
   stripPrefix = 0;
-  sha512.run = "f226b01777b27962db60fb87c8cf7f32c708f057650d16696547a9208431bfef31b13ca313953d2cf512226a6186f76b715d630650eaad6370600f3c07730d81";
-  sha512.doc = "50016b1c0609e893c6bd63bd5ee22baaef8b12e28a1e9c2cdfc012ef927d8ec46def7208a64e0d734e3ea71a0361d618ae097b2c1b2b8043b5e77b6763b1580c";
+  sha512.run = "d7160d78d7f0d8d7771740f030cf1c76b57aa9ec2d179887fe4065337e35bef528b522c666eca0974aea6696033678dec5446a9a198fb139f2d2469c8cd47eff";
+  sha512.doc = "6af516595f4cc5b090398078977bb37e97a5aa4b28a578c068931eff7d34fa2cac379b53e70c8bcf270c998fa6fbcbe354b56d0299657fcce9a4e076a87b36d9";
   hasRunfiles = true;
   version = "1.1";
 };
 "kurier" = {
   stripPrefix = 0;
-  sha512.run = "5c94f27d9897c8b33c4dbf9e4edbdd7b3f445dc210c442e73b5ae19bb6dbfbb800569d4d1dd98b0716c2dea27764c6dd5453d2041ece8004d3e743d8745b73ae";
-  sha512.doc = "398205b45f868a3d00eb7e45af8fd094676012174b1e4be175da0bd01ab24497b40522e77cd0d29c8f2e6283548a96ba0d0f3b88ce7e593f4509258aad4a98db";
+  sha512.run = "4f727e8733824e8c516e3ab1286cf0c834413a6ab52bccb5519c9a14a526cd3397a6d0a264679dc8b7d80cfc1d75ab11dcd2c02734ea63d5a2a5cebd3ea3c24c";
+  sha512.doc = "7fda14c05f105d341a31561e761517ce12b3e5ceabc01e0c5c8552ddaf55be1863a22545b268026c844b23f03e8700350f0dede79ca8fda62e7a2672fa510407";
   hasRunfiles = true;
   version = "0.995b";
 };
 "kvmap" = {
   stripPrefix = 0;
-  sha512.run = "1c0db537f139253863291a146d1b220b940d64bb2d9cfdfd96e8af0ad9fa4d681d81dc026f476099d204dbcabd45e5ab552d4b5156cfc4303e6a295f1731031e";
-  sha512.doc = "6114e2f88f361c9c6e0c4b828a00364d6738ded64e9e39d64b430deae0418117f1aec86fcaa36f8c2aebd627cd0282beb084cd068083c068516e633fa6373ec8";
-  sha512.source = "4945bce663aee547e6332fd062e789573516b60f4a0617ee8cbe04629db1dd766d88d712fa40ad90affe8b63075a2132b42e11fe001e30c00fdb059bdac3e0da";
+  sha512.run = "e9482c26c7f188d1bf45e5d577899efbadb221485e037460f233ca3b1fdf540f9984a371f62d5dbafb6bd8d9840c6e26ab3173152ec5b128e9a3522540db7912";
+  sha512.doc = "fe9cb7b39aeda44d826920898c48001406801ba9e651af34ea9d25ec85141e6a0a6cf4eb7f95451c84da5c7716d4214292c7e3f9e442d0ab5aca1c16e17e5c94";
+  sha512.source = "07562b173f46aa4787d3e3d279f37f59418260c9c610ecc476c62cd8c96f7f59629a126af024de5664cc8c8dc8620bf7fa5fa00baac009c62575c2ad47008b7d";
   hasRunfiles = true;
   version = "0.3.1";
 };
 "l2picfaq" = {
   stripPrefix = 0;
-  sha512.run = "0c876914f63a12ba657c14893480e24c4b4beeb2a42537937c8e2f40dff29bed077eda0f74300745f3d4dec8bdf4c06cbe7c8c7ebc2ae1ede95c1cb7b891802a";
-  sha512.doc = "4d5cd178c45aa30ed738c8d4175284ebd6e1cb83693752732d77fa574607dd4887e6a528229e8c1c1ebc8a0619b47bfaec3dfd5431f916b5f7de5278cb448844";
+  sha512.run = "c6ea1d8ac189784d6581eaf9cae83a83beba9adfd32536f43c04633f7cc457353f0dbb69407332a29856633552910bfdd31cf85332c6dfb05da2cbab88ec67a2";
+  sha512.doc = "e4202740ea2842296338e9d635b27c35801f4a5f8b21eb8dc0c1db572da0718fc5adcefc5c122793618336272606ec27f02f13825f8d2a6cf4b83583ea372288";
   version = "1.50";
 };
 "l2tabu" = {
   stripPrefix = 0;
-  sha512.run = "03814d3aeb2fda70f001f7abbd3f31a4112b2f4f6a6e6380dcb79ae11fe3be7b2c994f25fe5ac1a7b99ff2e2852dcaafe84edee7e092a558301246727aba8ad8";
-  sha512.doc = "b462d7118bf3845ac91b2bc254df881f35236cf7bae1a64b154cb175770a01c67c358d4dec4b0949d2377b3ee3985158adf44a3f1bb7882b3009d1bfe6a959c8";
+  sha512.run = "2e94e77ab5c8327396d2ff714f7c6c1e8c91a3ab0f35be411d11f617d39dd815d4bf1c6eb1dd0be5154c1d702697c08b8658c8371dce3dca0349712a5dac2d1b";
+  sha512.doc = "84673b59100568d1472f3221ff0cc35b8e8512ece38701f35d60265d316aa52186642def2d66885df47e2f613ae042a86972b7958349b7b2b83e754d72163df6";
   version = "2.4";
 };
 "l2tabu-english" = {
   stripPrefix = 0;
-  sha512.run = "0ebc04eb6bf4b4600616d8d82bc847f26287c34e7130d4d2e315577b8fbbea41846344071a250b60da95d46a3fdbd82994551eba10778708d6a0b3ce6e8618bf";
-  sha512.doc = "6cb0856a2428d2387280c47f26a5e479f49bec0a2d76e8a26c26497c228a1795cd51d7e19acf03eb6e39d2fb4d025115a44f4238fac80cf782f7a87cc683ca58";
+  sha512.run = "66e1d62c731a021c1be2fb6e9e3034c7dec59edfd03dc2bb0042a37ff6f0d967e59a023fee994f45cf2c9b15e64445b45c48a207e21b7edb81d8a538b6c8eb6b";
+  sha512.doc = "250ebdbd2a6dd3dd7d05c35cea0ea8fdb969bef983bc0a5f2c804129091f22ac0a499df482a1a990bf278ad94befc774d354341b30f9a0cd67539e1f63074ee4";
   version = "1.8.5.7";
 };
 "l2tabu-french" = {
   stripPrefix = 0;
-  sha512.run = "7e274ff36fde207f23be08ae1f72d1dea4fef39941b3eb319b7b6b15489348de996a7ba299820471f03e38dd4a8cb74d069e43bbb90f3768aeb3c3e2c14fcd0f";
-  sha512.doc = "ec5addaf9e7f4aafb09ed402713531eb4f94661b9e9ea31f2251086e3e02701a19c6b6c214dbdd2b531c6edcf50c6cdee0033c47ea57a2f4f6c66bc1647afee1";
+  sha512.run = "8478211e871e38765cbbd36f8f571e63b5cfb9dc652107a4a9178c11a16b419eba7314246878507f22bf7f66818f8c5d1516a527deda5a2dc6c30f9260f23b59";
+  sha512.doc = "f489b0bd07b60797b53fc9010c699029dabccbf326767948dd815224f1c591cb59d6da7bbac0d0385ddfb6f0e885e187b2385bfcdbb88933588b06dfc34f640c";
   version = "2.3";
 };
 "l2tabu-italian" = {
   stripPrefix = 0;
-  sha512.run = "155f27842e2b55b290a6656943785fcbc445b7f4117c5c3b1d15bc7cf2b8926abd5f92dbfd7980e1e2e93945ce0fe4fd6b699e67beafbc6f4f98959876091b6a";
-  sha512.doc = "e593673e37b8b75bb97ff5d9f253dea797929ab48cd923b7297935f534a79f3181fe37461424faec16c38feb56e46a4a127f2a85132c3e4083cc1debcdf29e1e";
+  sha512.run = "5b2348bed7ce47d7e2b8de6642e14b24ab440226d0de46a51eab08b3d11a39bada93d890e1ab9e2dbd3ce253b3263460fe7114baf9bc7b5c775a7d806c731ab2";
+  sha512.doc = "c76981112631423d5d92ee9236d9b5b076e3d71086f9dada77de51362a5d5e01d82d5b018a68950c2b7f4b10eff1882d677243594436bae41bcc6ab996aa900a";
   version = "2.3";
 };
 "l2tabu-spanish" = {
   stripPrefix = 0;
-  sha512.run = "7b7c963d78d8e70351e4d2043e9356c7a5730fbc86f24635d3f4c868130ae7468d1b06f7d7a4c7a484127e2ecf57f12f547f008a832ec490336a85c88dd9c1a3";
-  sha512.doc = "fe9a6a6c41e71575a116bb71d913ff994abb5a3bb8af6963fbd3349400e67fb8fb4268a0344bb162054c5ff12eb7e73d29014220c25891f6912e12149fc18931";
+  sha512.run = "73cecbb031be2d421c25a7d6a5c04d08e30d83a88b4132682d434a879da915f1d4af56980f1bf04f7df5a3e881ecdd940a058a2dcf89b5e9f48c378eb322da06";
+  sha512.doc = "a6886d54c0f5e1915ff9efbc4974ab1ef7f6dc026d67a0596ed47ac9e94da098e690bc70d5ed3e45a4d8cbd0f877f0cd6cd3a3757288dfc2df284e9c040b7c1e";
   version = "1.1";
 };
+"l3backend" = {
+  stripPrefix = 0;
+  sha512.run = "333591d082c62f4455d7e8208857b29fa7c4a9ecd0a29c1e51f326f13f10cbfd7ca71fc2b5a28d13ce6e1c6900bfd414bc2599aa9ffc93e7b29f08958998d277";
+  sha512.doc = "da240912b67819ef4ced9ff48064b5d84db033948cf318cd86f00142cb6ed9e0e31f26bd56e368cfc532f0f10555dda5c2fb52a663bd73a0512cf1735b760334";
+  sha512.source = "404811374a59ec3dd65817ac920639c2ab002f9f0974d53ee75836d507d82cf1c9c93b8d7178911b82713a0f2e99cb0245720152397467420822d84fc093171b";
+  hasRunfiles = true;
+};
 "l3build" = {
-  sha512.run = "0098484854ffe80228f879d4c18a01289b7d3f2d5212d0fd8449d069a031b99ed5e9446089f1f75bc7702f84f548f303b7d9e9722ed3aed81dcb3f924a922bec";
-  sha512.doc = "0561d6451d046660f40f74bbda898ab800e7170e158b51231af604edc70e36eab156e6f246c3ad3dfcde8e3658225f3cb7d4e9a86cff0973de3b62d397bf5e9f";
-  sha512.source = "1cdebb63294cf066383e7b44b6823c6fd4642daaffee41f646ea93f5374e52dd45ff2cd96573edffa15bce94557eeacceb659792afe62221fd046893f7380129";
+  sha512.run = "c9f28b9d6f84df09f1d3f30a86d228ebe1c0108b235aac32bb11dc605323a2fb04a9b7002e3ad0969ff29c321fa96f2dceff02ff718797f21b2c5de4fe499462";
+  sha512.doc = "f1eb06d0f8a521f14c76581600151a31aab40fff6f43961c971202ec6a17617192c39b14e79224505ad31707166c165c7b08a66dd0ef9950bba6d6293309475a";
+  sha512.source = "a41771f414fda27e16a02b7b6f8d46a864532197a3f8361751db54c66db00ca4014a3742d34831d3bbba7bcd869c1c28ad10adc8a742e7686d923dbf6bed463b";
   hasRunfiles = true;
 };
 "l3experimental" = {
   stripPrefix = 0;
-  sha512.run = "ff30d0c66829cbc22d4e3a9932314d745f75694df4bd3454f5c11b3ed3a4e86acd2838827a814b6d276a7f3061c933be9dedfb4d2678afac4b4251acc1145503";
-  sha512.doc = "9a82b82a5a88917c85b1b65fc95c67380772ef90ffa843b43e0ed671009d40fa8ae217525f9f3f858b5014182605fe0c6a32cc78266eeb1cdfd9023dca8d5030";
-  sha512.source = "55f2034d55209917bd1a41619ef2278e0d02ad714f2aa91765c35e10e6a3bb287c56b8728e9d9b584e7715c85b236a11a0ef1828c4278ac75fde042aa86a3054";
+  deps."l3kernel" = tl."l3kernel";
+  sha512.run = "e69ab380e3039e4b449c811f201e6ad8bcabbd74cfb887e18a2760d391ce7d0d253ef152e2a27857cb182ad867629b5a4a1982ae4253d618bd1f2ab147a42c06";
+  sha512.doc = "40da1995d9b5932dbe4278f0c24ba512f6880c048e04b1e38ea7fdfe47a60ae6b0ff07c2133f7faa3d901b5c5a29716ad8e373256ad65f9684b027e36d734724";
+  sha512.source = "2483730b0b0ab47b55c09f0d51c87f427b0f4c1c5967057a907807f04f3c9fbf977068156ee8ac2ac1b8203feaac826da602e4cb894cca5eec7d6f1ca90b17e3";
   hasRunfiles = true;
 };
 "l3kernel" = {
   stripPrefix = 0;
-  sha512.run = "6d266d2a51876c457f10f2a606fc0eb5848a95e058c0229025f7b38962e215c2a7d102e8a1532fb191caad39244254a8d3f496fa4fba17400fa94d090c15143a";
-  sha512.doc = "712459967ecbd8b27f60c90ab5243bd9c2c1a132ba192aecb962a410384707acbbda60f5d02e301bed11fc7a9a30ce897659b7f5ef08eed2f92d402c94bc5859";
-  sha512.source = "2a04c46aac670071453b3c76b616ce394f6fd26ced5e98b4296e6ecec0c6271a4e8bfed822d2f5f176f0ef79573b314993e26fce15dd2ee9568338998ce2d8d9";
+  deps."l3backend" = tl."l3backend";
+  sha512.run = "e5290e256df8a05d80e27a33ab9e498c061e2ae25ada357ee1d2b50eed947f0231c6e8c22960603373a1007095c3ae56381037aee5cc0297c57e7657b97fdd08";
+  sha512.doc = "6b6fda38fd8cf982682977a3e7d90dc22f45260251f30f29cdd6dd047a97368989fbb45bf4a1458ed29e1f45dc22648a75599fadd3c9528999e98d5bf55e3f2f";
+  sha512.source = "3682ae236165b37846d9e0605f5600117a71c31c1d282d95aa88ee5711b38708b11f6cb1de06d71d97858fe612b8ef7cedb2c479e58e0d7a0e9e29ad37b98cbb";
   hasRunfiles = true;
 };
 "l3packages" = {
   stripPrefix = 0;
-  sha512.run = "8535c62228468ff7c0c10d315661d51a8cdf0b6a6599002a775d19432d4f80636d622d35fc13c66f4c14a4cc9d3acaa7e4d79ab8797f3ed1af426658a9221ba0";
-  sha512.doc = "6ad04ae0234566144188a399eb3ba047ae64175de219af300443a4c0fa2ec1afc8273739e03180ff880d6cd7fe39dc2ebe15917a9f69b86792f8c5b4cfe214d2";
-  sha512.source = "bb292e51a547517c2731d95c1003ffed9d67e9058c82a006ccc789513edee519c29ce47510140cf4aff813cf11922c1663997d988fe6f0a39899ec1463c00ac3";
+  deps."l3kernel" = tl."l3kernel";
+  sha512.run = "eabaa7d60a77ab4dd9b4ae96e5b5cd1a93bcc4e5c4ee0259c3f3dd7856f1844b1b1b7eb4dd9cbab5b9b8803483ff1d9b1b84618d627a2bbf157472aa3db46289";
+  sha512.doc = "6f296faeabe88c7a1d6b47b2ae491c138be85b1fe93611f51eba8d756225d569d3c415969ac1907b08c6cb8885ee2f98f0063e43eb7907bbd8cc805588e51be8";
+  sha512.source = "59a319d8832072e9cf57cd5a3d4a9b0173bf8357f8714e587b2b1b50d84ae2a59e9ab9f8284f79f110d27e6e513c389ce5c95957811f2ff7039dd12eb1ae3ec4";
   hasRunfiles = true;
 };
 "labbook" = {
   stripPrefix = 0;
-  sha512.run = "a06297b8b48fe6d3df24733648d680c49ce356befe24accde5ca358e9f1e80ddec4fd7a335c1016e2075ad1bb7934af3d90a21977ee1bfd2b47e50a8fa90aecf";
-  sha512.doc = "e92d3d316aa451ee33576340d7c383a4e565eaa67bed6dfc7ad3041fbfc63c67f60b8a01b934a18964e28a89791d668120c5de9592a0a0e176a4b77e6ac7de23";
-  sha512.source = "7d93ac14bb8fda72fa65de59033c9b493fb5fa81e5ff9a259f691f27aede5ce4ab7caf063df02b9e18685916d08c14abda4ea93bb24b7f28486c70f3c681528c";
+  sha512.run = "92bd582cc729bcd3cea6979771e934d5a4a194536ff89a475309d3999ab0a2ab70d5ba5be6f0353e97498ab4e971e3209df9a3ca4ac99a8c9de27586a0f4a3b0";
+  sha512.doc = "98758f4cc186df470e8a16b2e9365f3bec585be18c0fa8700df238befe052ad69b697357c7d89b19233a9cf2b308c29a54bf84215fa3ca8859111b0214971ed2";
+  sha512.source = "23b9f993dbd431328590617c6715bb082cd1dac757db003b05296d318a002e85c8c541f5ce6a45703fa2cc481c7af98fe41e483c77b5025e50de324b68fcf525";
   hasRunfiles = true;
 };
 "labels" = {
   stripPrefix = 0;
-  sha512.run = "5647800c562f346c7777db7f2433dffcfccddb4ea2f0bb0633f099c0a486629c25b6289286035f8e34a42fde637761e797fdecb58aa43601409f63b962ebe194";
-  sha512.doc = "4efa287b894eb727c94a9c5669d1f6cf79c9c6e1e5f82b1ada996005b3c74672e1c08bf38b40ff6b01ad47e1a385f7e0ef1fedaf52dad504213a3424584ecab2";
-  sha512.source = "a48650834f036fd80ff0dda6287f37c8d1f2da76d90bba9f1d68e54cec4b7a924e3f8f9f0db858d4113505fbe3b70f55ee774491e33e26b7badfdf9f6ba270c1";
+  sha512.run = "b1cd175e1c5ece09926ad3fb5ef3b2dbc528435e26c81df563f674388083b481e6a6f072724254302c243a640960a942a6b356664675f4041c94962155f5ee62";
+  sha512.doc = "0ac61f3a1ec027dd3631a4e6ffabdbf71ca27eb19c877a0beef8d7d991989d613769474e99770e9edc74dffc8b59981da8666e5dcb26450717be37b098a028b9";
+  sha512.source = "debc22ed66f978aed88c84a0756677cc5faed39ef47ad37f8fcd4d6dcd02ce6b3a582ea6edc73ddd96ae04e7a50d43eddaba8404ceadb8c49439927f41f8c210";
   hasRunfiles = true;
   version = ".13";
 };
+"labels4easylist" = {
+  stripPrefix = 0;
+  sha512.run = "1f792dfc8c3d51cbb3ec4370e4ea36612d503a9a92d088f0d8b03ccc78c480118308aa48e4dba66dcfd55c8a3442950242742eddd557bd6b44c925e01e361163";
+  sha512.doc = "1ca630c5aa01e53d6a7fa65d9ebb4ccf5bc43af7d3cb66a6bbb287398e28764dae0b535eb4b821c2c406e22e239e8a88fc63a010d4e79977ef6e8cfd563afde2";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "labelschanged" = {
   stripPrefix = 0;
-  sha512.run = "54ef82e26b97bbf719bd0d8c2ba678442ce653e0abdbbc9c96186c573e0e778f40803ef43c993712417972fdee05fce8cd862052daf1cae4fc38a572f6253a67";
-  sha512.doc = "a6a530f7fb8d373ab9b37ce3b6062790d8acd6eca826682cfc775aa49a38d01fa9a9549ed1721cfd77a9cd714fd6f286fe37c0495020493ac8b756caffdc2d10";
-  sha512.source = "f794f4c33e78c8976ef4b053c3adb1bda71d75d82b898dbf60713073f9a90307731e4b24fcf9064345bbadf4052e71ad6a0f854dc90ee259851959742909822d";
+  sha512.run = "e9cbb45a636fa75c9b9c8d8400fd9a0cf0ef2a46f998d650631e9874907daa7b4deeb4c99d1610eefc343436d164ace717b32cb1d0c45e860e64d69e4c827a07";
+  sha512.doc = "130c0e5f27f0de161949fca202f73bce3486e9346a48584ce1b8636c16367eb3398b36f0145e37531d64933698c201132ba90ca3b5d5b011978d0fad0cc5ad63";
+  sha512.source = "59c1cd3371e97542f6f1cd8fcd14b3cadfabffbecad635bcea33eb535e45ba8b174e9e392e135c799afec08c195b867477255d1336c281a1e9dffe7c1c457cd3";
   hasRunfiles = true;
   version = "1.0";
 };
 "labyrinth" = {
   stripPrefix = 0;
-  sha512.run = "54b504d5d555246ae2f36f49cb060179cc62a73d6d1f3085a9280ea4d88be25c5371aff126a74ebc6197ef98b9bfeb9cb17a20b4a118e2f33c4cbdf56b83a64a";
-  sha512.doc = "bfa1ed0645f4ff540484cf55bfd80cea7255e488ce04be2c7e0f0ff415256aa13d13accdc30b8cc33cdca33bbef38bce1298c231399da40661b50994c709e4d3";
+  sha512.run = "06c61f5a0a2b39d644d5b741877f445dea48fefaaddfb7f60251ecb328f16ba2ec6f09731608ac5ca7b288fe77fc193984dad25b8f0ad0da5f35bdd43fb2f8ee";
+  sha512.doc = "980a3bef8b8eb51cd454c835ba09205f8dedab92f747db9704c72d5433db75f68df298ee4ca06c6d68e0cb4c4b733c882d14bbbb9d877406163b0f95730a10ce";
   hasRunfiles = true;
   version = "1.0";
 };
 "lacheck" = {
-  sha512.run = "0e02c1a8a47aedc47f9346ffe21b5ca7dbb5c89618561afd74b3e817d8b093df551baf2243e44645557da722831ce6743a0fcd21ab98e0f56e0efc9f67b0dee6";
-  sha512.doc = "f69dad894e5b6c808e9653d45500140096009284f01cab9ab5295d4c516488cb1d82b5ed616c6e10c1f25ba78169faa980ba4cfb55de9aaaa5c37d0b1e5b2f92";
+  sha512.run = "7b8c4c7d15618b7e0d860afce675124372d31bc11b5e89ba169c355401714929c2c192912e7d666a3ca98c805e2f4942bd6173763a5a9265d1f19467a29223d2";
+  sha512.doc = "59202286440ad95fc96576f6915843adfb2b3f0092509175c759c690069e36c0ce1ae66ef46c1dc1b9c33e42e7819b1f3490b45d3c3933233201d3e86eeb5746";
 };
 "ladder" = {
   stripPrefix = 0;
-  sha512.run = "41ce1702c35cbf9794772ebbcd80e2f2d4e445a37df0b7a8cc6e184bdf0051a2979560b2167c244b4d42712c230f45f362347f4951a0dbb1b327b7dd0f5d1eb5";
-  sha512.doc = "19c3db31ba877b5076575f32fe78c8998b5e7920ea38a003aaece34a99300c9f52e05aef5f89d9dfae04360d3ddf87a636a969a2892d1dfea14b2dcc369c4895";
+  sha512.run = "bbe2f94442a4f308a416e9d849f9e4b8af12387e59e73931b563d5daaee312dbdf82a99f5122de897cb069a54f3bc13619e719ed717b38db4aebcac72c2c4f93";
+  sha512.doc = "1cf2a2a2267e819c9ee723af9cf51d711f778c3583c859eb01f2b2faebfd0f7a6fc4f4ab6caa83a9df6a797175ec27d29f0debbeaeb39387954070623ab60b29";
   hasRunfiles = true;
 };
 "lambda" = {
   stripPrefix = 0;
-  sha512.run = "cce054e426eed743c11f6dfbd7004b10937b071ca305837a91a62608a121bdc45effd2511192d477efeee8c6aa37092feaf2bef4d24820bd7114501f7905f112";
+  sha512.run = "54da97daf172e3dae434e75425b80d1c617ddc9991f6ee804cd812e2c4bd70b49eb1a01318e243c10998870877d4f76e084b5ef0b0eaa89afa66f77a124a7c02";
   hasRunfiles = true;
 };
 "lambda-lists" = {
   stripPrefix = 0;
-  sha512.run = "368575ee8b74228752c377b67a226b5eaf6cca9b6c846f988d599ebcace0e12b0bd54a2b8f7e17d353c974871b0b0742b85471f73f40e354a0fd6ff7df51aa14";
-  sha512.doc = "ca0dccf61dd14f3d146e05edaa5c71e1b4869ee6dda86bba059538a086555ecaf8235fb1d7d13ac61f8b169c3d05a4d17f614c3698117995838f90af1d44f588";
+  sha512.run = "caeb3a547eb68d3e255d729cb6ec390cfaeb3bd9d4b4b6e8f877140fe24f4ee3ff0ddccd4107fa836faf5163d3d71209fed4a9e052d3329ff22a892d62b43b92";
+  sha512.doc = "846c403f99194a19cd21e4d7367a1b43a8ad608055315bb36a1113fb37dd3d922dd8c5cb8474ae52ed3006be520b7e9023680e85f0dbb17f69a41c8c17e81a5c";
   hasRunfiles = true;
 };
 "langcode" = {
   stripPrefix = 0;
-  sha512.run = "40ecfaecb171d4b5898513747026fc917388f8d75fed666e0dced7a861139708769f75135f846140103065dcb8369fccec69fed7ca5e6e0afb55a66e421f5167";
-  sha512.doc = "7f631cb80439df5a83f154e88028a998d837f1d84c02db589a0ea72e350770c539326056e5e25bf462a12da25175b6d0a8c9c4e5e90eb71c30839604278aef3f";
-  sha512.source = "6aac199dbabba9fb194a9cf822381166fadf9f2f1a73d0e5ab0e50cb811c49d67b27b51f4a97be7930c559eab523211112bae1f00bb335d422474ae1ee56e007";
+  sha512.run = "bc3e601701732d3ff533a7415446c2aaf7306732fdd6a8ac8aee6571cbdfc02b38f51fffde3a80cf5df6b0dd5e649971406f76d394500a74f1830139ea0bc0bb";
+  sha512.doc = "7ac261071a2902d1e24cbe4bd43bf1baef418bdeb4d3c1dbee4db273d29918649f346e97b5ead3e3de2820110c0cd11dc58c78f765dbd07f7221f28ede5242a8";
+  sha512.source = "60baef83840b42deb38d8ae66e18484e4a0431fedd23b1a8dc96c426840ee57f37ab613d93409c3ad8660eef2e759757daf39ec9aace30350623accbd21d2de8";
   hasRunfiles = true;
   version = "0.2";
 };
 "langsci" = {
   stripPrefix = 0;
-  sha512.run = "5c5de4024b3fbde931c5915ec6b653cd10af30c88fd3b320b1b69309153259a09fc0cb2861fcc50da43ae79253d6f59ca7ed9085e7925b296fe2e65cc567a83e";
-  sha512.doc = "1acf6a4eeaa8630a28b0b6b5c388965a54ebceea867721a1e1855c79f0f8b614dfe1ee68b8c2e17769247e4675ef2a5b154ece42b4e340c03219f9b3171e5d21";
+  sha512.run = "de35684ed71408adbda8f7238c80bd4e453761e18dd4083ec4680ac8cae711dfd0aa8339cc0ee211c231b17729d6e85316845586f6f6ee70e5c0577d84b1c9ad";
+  sha512.doc = "439ac71163f1dad47fd4f2eb533f4a17a84bf3258f31baecf941242ea845d37b55ee88e8b879b3cdd070caca8f98b6b5d591c07889214ec1d64e32c3112d8476";
   hasRunfiles = true;
 };
 "lapdf" = {
   stripPrefix = 0;
-  sha512.run = "ae3ba4ddd6bc8aea967f9abcd00781e65459c3b6b9ef2d9df8d33b52686700b98848c6b049a75c73b39f3b35b81639cc9835a36a1ef551de6b942eca868f3cf1";
-  sha512.doc = "8b0b8c9ffa68c0c64e3954e04a65e1e0c7d821c1055fff95954c158f32c2a40ad577e71b93605af032a9dce1dada4b68e023bfd8f3f8740cefe29d5aff9e083f";
+  sha512.run = "10bb6891b82334f7dad4a1cf48c78b2b55c3b4a8939628a26576e99495f00e2bb8ee82028b13db4de6224e58e421402794feb2591842030cd47898506589ff6d";
+  sha512.doc = "6e561e0d513f7b18e4e40d11fc1f077a061e6cb08ed072de1d186bb86ab1fbd3905af6a79f9dbb0c201e437a1a8716706a83f1709d580c293961ae454699c9c0";
   hasRunfiles = true;
   version = "1.1";
 };
 "lastpackage" = {
   stripPrefix = 0;
-  sha512.run = "985fbc2254086d29281aa6c2110abdac4af676bf4296ecacf78d33324bc7d8529af13b3d34a6f2bb8e0d613386f5e77bbce3120da34b1925d1450a0efb20c9e8";
-  sha512.doc = "e19b5a55ff29b97f970a8ea5bd42b46b346e8140155f2f546e29fa8574a0c4f9a43286de1ec1ed65aba018f6454b3d3d454724220fe0910c1c6f9919ee00807d";
-  sha512.source = "29df3dd1bc7e6882ea378a0c1d1caf7c8c1c7e021cc0e34d919a29c5b9ccd947b79ad8da8ac17e31399ed7389f5e9f0898a65f8dfa4c0c145b9a6e9c171a69e2";
+  sha512.run = "f4d30e327704b32afe1bcb81023a247095203a9b47357f9a6dc4b631f4bb669255ba899cf1c8378b42ebd16f2608d8a649a0999f26e3d05c963eced1cc955ee2";
+  sha512.doc = "f31731b5a93c154db123e66699ac5175fb63b965522bb511d344577645f9b8ac6d78c6a1a108cad8914b1c01b1c7a6e656743b075a03322c306aaa5417f62be2";
+  sha512.source = "f894a701e4f30797039bf60e98f9f9e6cc730a167fcccf88075802c0a5a0244eefce9f854b95207b7a0714984592030965f818ecd72c98af199c07f3400eb74d";
   hasRunfiles = true;
   version = "0.1";
 };
 "lastpage" = {
   stripPrefix = 0;
-  sha512.run = "3de2ae8047fa3c8bd2ee9af7fa8a09e20f51d669d8cf8d32326bb4481c6824e1b8f09a0550e6d75b0f0e6964fe28d5bc377c4f51f99ff5794795ea086c8d8c91";
-  sha512.doc = "c70c89f91472e98e142495ab5473ef7bc8bbce2811e01a082f767ef98c7d7f1be79ea10dc076227246d9130f7bf0836276eaca854fbbb26d3cc0938c37ead0f4";
-  sha512.source = "a9d1da2deb2245755e5400a1876fc8725820e185acaef99345bbf7d7e46430e2ac203e0b06d38803de51c2954fd4ace1b5e1b371003f597a6a1c8dbc2378bbfe";
+  sha512.run = "adcd9319022ecf2a5b959ede5d5ce8c5d6a3e7efe1aae5f84abfa7d138162e24a403c6d50604cb6bf8bc80a918837f6d78dee60a452397e7a495cc4d15e52956";
+  sha512.doc = "2eb7e8457918e2ed51abf6f48d5f5d93157eff19b8e320a782bc204b44c58a684cdeb2dd3b1c28f5a8de7434b6da9af49ffb2d939ae80875234797149a80c2ab";
+  sha512.source = "53b1f86deddefe6f61b270ae18cc705a8ec1360a98a5e5338730aa7cb1653383062cede821dc670c5a9db0064e2989961d2604491bd6a5df9fd90f6e18ba0ae0";
   hasRunfiles = true;
   version = "1.2m";
 };
@@ -16272,20 +16653,37 @@ tl: { # no indentation
   deps."pdftex" = tl."pdftex";
   deps."latexconfig" = tl."latexconfig";
   deps."latex-fonts" = tl."latex-fonts";
-  sha512.run = "6d520e2164d259a62872b21af5b416c66eceec8ab490e1b8379158988e3be3ccbf613cba6f3dead9dca685e6108db91e9da71e8c032865b4a9c687005fa2ca15";
-  sha512.doc = "3b1fdbd4951ace07edf8c43c8cac1ae657c7853d3cc232bc35c75be4a19a9883148374025d661101e4d4a87d7c163f78f4d2fb4670b2581f0a9a49f59a947cf2";
-  sha512.source = "4fd92a57df789b2ab420ee86e7d34814541eaa3f133bb0fb9f5b47e8aec29256e8c6c0c9b780fc5a615b5946c88020ee3c09e7d82337780a125631200153649e";
+  sha512.run = "c1238a06abcf973717a49441d243bf7cd30ce4f641db3ede8c04796ae5be38b5724c3431d44ad0d2e83998b7421443ecc7feba2ea318eeafbecd33d959704dc5";
+  sha512.doc = "7dca728cb9733a93de6265b4504f2ab5bd4b9b518a28c7980e658564c32f800aa3a9ed8cca7e43252b54b9888077efaca385308b33d7cfbe8ffb942e170d4756";
+  sha512.source = "c28ca4c596a1fd0357fafb3f67332ead41ab0445c6f2258fed19249a67e25864f70fbe1a08d5879db918d102d30a0249b88e5897097538578c5c52b8523447a1";
+  hasRunfiles = true;
+  version = "2019-10-01_PL1";
+};
+"latex-amsmath-dev" = {
+  stripPrefix = 0;
+  sha512.run = "97acbb55f65abb9ead2b6134d47ff72dcd6de996123b5916c6073f976064a4c8055228f37a82a124fb7958f3cc7c08f3c2c4e61fe5c9004a5b8c24a086d0f9e0";
+  sha512.doc = "cf2ac69cc86e95f8afc814bdb9003c6ab59f3f9a9afce7aec776352496ef114fcb0d8ae672f71d901c2bdc0d45ad5efd70a7bb158e9ee7eefb247142d9330db6";
+  sha512.source = "569e963b567e5e1aaffc8352894f707063d0b83ac87728a125cd9bb915e1f6e1f82e89fd6c35a1b4fc440aa4ad51b61479c8837ba910b4baee8400bc990ce4e6";
   hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
+};
+"latex-base-dev" = {
+  stripPrefix = 0;
+  sha512.run = "2667d8bac15b58018d60535087cf1e95f78cefa7c55203220af2ab895dbc3d144e140f80aa3511f2c08b1a31736e893a4533f41a3d6c60b56de6aa522bd129f5";
+  sha512.doc = "0cde2495ea61c5f0dcd066b50a487ff950022103947894cf28e5859590065879dc9ce4b3c6feccd195bfe408c3ef4ff3b24feb86ebe5de68de4d237246c131d4";
+  sha512.source = "551c2a9cc8389bc5cea38672a68fd746593a74613a95072856d2a8edbec84a8569ba77f39c06adcdb5caf4c58d087882b2bd56fddcb4fb0e6ad7ce0940e51afd";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-bib-ex" = {
   stripPrefix = 0;
-  sha512.run = "0f919bfbfb21f2102aa44ac6445270fa120072b960aec9f09253381e6657a418c2818cf85ebd201f9a208f384174ffed3924d46f35e6c6f6a888b049d15febdf";
-  sha512.doc = "b33691bb61b09d4e23060f04b41fc6e004708a15e5013b09b21e074c24f7a15fdb0e39a21e6f14f4810e6864582987810ef5c21050a00c2c41cdde462910eec1";
+  sha512.run = "9f91b724d8fb1bf1c3140632c4ba485350defdfc926dd3d558d2a318affb5b6d56cfb1d0f8651d0af878f165148a5a1f06c82f71b8033187ca485fee1bb6ec0d";
+  sha512.doc = "127f8ef52da49a348e79b062e16dc6a5f2b1728fd553ec3eaf824117e764e11d8e9dc63d34c0eb86417ddeda5e7f53403fe2361d8f959acb697330148f5d64a6";
 };
 "latex-bib2-ex" = {
   stripPrefix = 0;
-  sha512.run = "25ac22b5d0f2b842fbd1f3ac2fe6498f7a0965a0e02f8d46ea818d840024050bab0ea1d4c85594e35e421b2e464cef638c70aacc83d4ed9a8d5072a412548c56";
-  sha512.doc = "0ce885f124577f99f68c1c83b1dc6249dce152e80384bdf42fa82a991f97ab5ea403d23ff1ffe24d3d4e0bf41e23a07794cd2376a92b8260620a5545db6d460c";
+  sha512.run = "cabd865b67e6e41b3b0745557b25d03cc15da1f1de41c79f92274c05e6d07718a598554b25c096a4261b202a20134abbd788f578e279ce6d57efaf1dc133eaf7";
+  sha512.doc = "2b5f1cecb8cb5d3ed78b10846b6f5ae38e02b930c2012353e7064b12865b155019924aaf48d995910b6cb7594928276e896421e85e71bef17822237f8350dfde";
 };
 "latex-bin" = {
   deps."latex" = tl."latex";
@@ -16297,1343 +16695,1401 @@ tl: { # no indentation
   deps."dehyph" = tl."dehyph";
   deps."latexconfig" = tl."latexconfig";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "5fe5b7cbb22870304818b0c07f74c604eeceb6929ee7b8a1be053f5eacf3cc94120aec9a97a32de67fdae9b1e26e2ff45e9b30afc1c0700d33253fab25ac093d";
-  sha512.doc = "988777f2dda08f4ce4bf5793bd9d06c76afd65ff4c4b4cc73fd7ad3c50ea67f1aa26b849e48a7bd6d5c6c6e187d81fbf42fa743a0f9e20e2449dd940e5280e4c";
+  sha512.run = "d06524764c097f26b80a82d53ca02d2648cf6292a0d346cea6c52029c3838829cc2a3f1d4ba410f009648a1cac0c851bde40955fecdbd25146293fa63ee99af1";
+  sha512.doc = "90a9668373a99610db35b748aa44b34cb56a0c02cbecf483e93af106b0ce2745bfc03aa2d41eece3038e9c9ca0b1e1428ea38c2606be6a607dea01d4aa46a5b5";
+};
+"latex-bin-dev" = {
+  deps."luatex" = tl."luatex";
+  deps."pdftex" = tl."pdftex";
+  deps."latexconfig" = tl."latexconfig";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-graphics-dev" = tl."latex-graphics-dev";
+  deps."babel" = tl."babel";
+  deps."cm" = tl."cm";
+  deps."hyphen-base" = tl."hyphen-base";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."dehyph" = tl."dehyph";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "a00c38a2e40b62c40613b73ec6f71344453cc638f17840984a95c66de4a2b42fc670710d5e242350e6cc4245c29b5cb35ec0764e56d5c8e094e841c29c6617b3";
+  sha512.doc = "109e4028793c4c0f0db6f7c7d004b11d483ef35cf0091ce50135510cbadee2069d6203f3b6504cf50f43f5ceea9a409dc47707cf31dfa6cc7bb013e6c7ccc781";
 };
 "latex-brochure" = {
   stripPrefix = 0;
-  sha512.run = "aa266f2ee796a86498ffc7f3d260fc5ebc7c0207dc7ea282c09dcb3b2a192b4df0e9775e0afb0a6250d80cac5092b98400c600d4183cda4ee60fcc00ab59ec9c";
-  sha512.doc = "56c2f8ae0c56d06cec4e9e6afdfbdecf68ca4fc445450ac5b193ffe343ad5a984ae6541ac02a20ba68a220172a0fb90d8caac3ed0d39caa6f0ce92413dd58a9a";
+  sha512.run = "de98a91947d5cb919b6a2c6e6a87f63499c8c5975992d039bb8d2a4662ed597cbdad99668b006cf775f71af936e5ad285958b48b57eac61783460fe37ed76298";
+  sha512.doc = "f057b86b61ee1f50430cdb83a56c27896e052047bbc93c4f09884b7d76f16f73cb1b570341faa2b8c771c0d42bb4d6450b8715c921fe866a57727eb4ffdd329a";
 };
 "latex-course" = {
   stripPrefix = 0;
-  sha512.run = "e244576c0405010ae1ec0545e34d57f49b43334a30f53d0f7f66df51855fcfb6c58e31bf59a2834a3bf03cbb4ba6b6a10ed6be2f6012148422ec04a9bf5ff1c8";
-  sha512.doc = "64cb01caa310cf5c1553120fc31f63bea713cf1f89560321b842930cd74a9b75be6485a15884eba2124591ffc77ae3d7f1fdbf84159f29554de0211991d4cb50";
+  sha512.run = "9af9e8a2ff7663ba89538a93e45e27098451be4ccb9380b0deb002a9a42613467184b5a4d38ff8222c7ec5e3c722128222976aade12000c447ff7f8ab42c0656";
+  sha512.doc = "772ecca6e71a9af7c31b9c5fd48cce88a7dd880a98b0885e9e5084247f64049234a8d123fe985e247ae706f1d0da1f58bae9e62082defe1acf9345bc252b03b7";
   version = "2";
 };
 "latex-doc-ptr" = {
   stripPrefix = 0;
-  sha512.run = "81607926e05e3604140acc87a52e5e2f754d9d1d39a6a19a0982383fdedd54369cf8174a8e2261f6229cf1e387175bed64cd9ec8320ffd790a0daae0ce10d1c7";
-  sha512.doc = "e965b4d9fea1c1e514a808e697c346a8c53205eb24475573fd5435c22cb3898c6b490ff3672c60012fdbbdd19d9b2d4552cbf715c52514360f77319bbda83397";
+  sha512.run = "dfdaaea00e167fa3e4183b6e6a223996d1364707a7cdfc0bb8cc76d02a0c5b3739d8171979dd80540edb571cef84167b24639b265349fc9646d5570e6c48dc61";
+  sha512.doc = "e5ccf3968aa02ecdedc2a64f0c53b2eccfa3c4df66da5255068248de013753ec4be67937d9c41552f302979edabc53ce64d902a9f13e4174d67f39909adf9735";
 };
 "latex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "ce52b60862fd61367d4951db1852db7e0f4f7922580680b3560bea1df065d2a6792ca5ca9647c2cb6cc5e2bbeff44c410dacf6d468a58e9a2620004b4f6cef62";
-  sha512.doc = "2c9d67d0b9521680e839f14b7e30469c00824c8ed68856aa63a56f21c2ddc1cc8dbd69a001e989b5ce331eddb66b12f0ad1d391f75b94f5a491ba77e796d6c9e";
+  sha512.run = "98549dd0c7b29511abc3a1a6b6803a86af0b48121d47e292066f3b67e4b5847efbb7025352c1ec996778c7ea3a5cba552385e9b4dfd6ab005d716f503e37a26e";
+  sha512.doc = "4d3162776a17f31caa8e6a0fe05eed9447b681d77e653371cb5fa5d8dd2f01bddddc9f95ca916f233c11f8ec7d15e02fe575dc953fdd18c34ba877829a142bea";
   hasRunfiles = true;
 };
 "latex-git-log" = {
-  sha512.run = "9b889286f9eb3a2ba0b1123252866f7de61678e32c1f7988ab3d5286cfd946acacb602170fa2f63d56dd63166815b103588fa545c94559e105c60478c6b0e8f1";
-  sha512.doc = "f27474c0f8837d8b8d90af1277cc2b34fc769821923c3ad3121a73de6c239b97c113409a9af86cc28af0df11515dab8956ecd04d211856e91cec84280cecd72a";
+  sha512.run = "7277bd2160cfbab8daa88144b384cd03647192d516114d692af232906a39ea44ae5721ff0b935e7dd6425ec5514851220787827b819af71ae3f0c57b29d0d924";
+  sha512.doc = "34c96eaa3950f9577ddf63fb42aac51080f8e92c55f02b217d2b680353f97b1fa6bcdd59158fa9e81d48dbe63d35859b52285912ceac4b523a8ae34ec894a1ac";
   hasRunfiles = true;
   version = "0.9";
 };
 "latex-graphics-companion" = {
   stripPrefix = 0;
-  sha512.run = "8907b2f669cecd9f32c644b531a531261cb891e8969742d0e493fb16fbbeb266c56fd0ebd2865f2367f25e626efffbc686db39e24d56a38242af7712bf86afff";
-  sha512.doc = "bb53f00319459888ca5da925e70db861756b2ae1249327590cbda5b26dece09c97b98671872b819fc5f32842d4b298c201c058339967ae9e8630c83c2eeb1cdd";
+  sha512.run = "3148a646539db3622096f9aeefd7ca2d44b0cf83cd454673893978897d07cfe7107b8f5bc745bc6b60734d4ad3429be1ffc2edaa8c9dd1721b41bfe913fa0dbe";
+  sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
+};
+"latex-graphics-dev" = {
+  stripPrefix = 0;
+  deps."graphics-cfg" = tl."graphics-cfg";
+  sha512.run = "92bdb4f11668c51691cf39f65a2998b8fe9eccec0928eede30c38a85faf3cdc5f8a97ecebf871a15b1cc89655217e7c94557f9a7a83945e900c126b28a94d950";
+  sha512.doc = "5c0b12fec212b50cb444ee873d0e09993bc0b969cb6118d9cad02ec3857cf89a91c0fb23b288af7c3d21c3dd95fd979740952bfa8557ca93e3a76a1815a7d22f";
+  sha512.source = "a92a2b7d1a6e970e4be733697c4e9d00cf7cf8ea3deb19e1b076e3967ccf2e00828054001de482db3bbaa7e90f593d3e199bb9e8c77b07bbc79acbb78588ea74";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-make" = {
   stripPrefix = 0;
-  sha512.run = "34ec1cd0d02f493670077b9f93267d8acaa64e1d60f90888c3de840320efd064fecc51d09bfc7586080a81dd14f3b1481a97c8dce394ed8bbdf327124c840fac";
-  sha512.doc = "77a14eaf845f377a3dd9504ce909fddc9cedfac86e0af3473bbca87bbe8d714bee2e3b57be86b51e108080a49afdfec9e8976252f6ebf65ec45922cbe10dda11";
-  sha512.source = "f8c87e78fecc03969185e923fd4fa8202080337f2f59a484dc52aad22ca26dded8b69a2dc7d55396d7100e7dadb2be04c6b385ac5e6844d583fd6eac44a21435";
+  sha512.run = "cb48ad252c77ca6271a527718872f95f28d64664aa62aca9ed11d73b1fdf29dec1cefa6c2fc07f0c95e16495a0a2410b59087e88a889b1047ce24bff71495ee4";
+  sha512.doc = "bfe0143040544987d9e89827b79a847657f9b705ef3607ec2757ab7d5a8b4e005c64060ba5d3cf4066c4f21e622cafaf5e7c442aadd53f6583230e7f276c317a";
+  sha512.source = "c437e31d4cb28c8ad838545aa0afe053318986a8fd9efb8dea0500d544b94bcb2a6b89c96d079ddc640477bba845b84f7f1fd8cf86ad689c04628e274352738b";
   hasRunfiles = true;
   version = "2.3.0";
 };
 "latex-mr" = {
   stripPrefix = 0;
-  sha512.run = "aac1311fb74a34233e5f07f44c64d210cee42f8f40d3cc711fec55e70d76884bb537f76cedd51348734c6bc003b605395f0ee6b5b877a292c28977eb63dd65a2";
-  sha512.doc = "2979d7e7c2418a9c6694dfa05d7a4e3a015259780cf9187ddb142067d1f60bc5ff818ae79c1163aca26c6b324a3d0b39df813b57a3216e9316c1334f48c2ff26";
+  sha512.run = "3c5b806bb100cd7280d4a7e97104f21b4260372292aba60264f88fe9a7230fb42365ffea15a948d4334f8f74683d9a79ca40cb9b87c49066d61a2b0f101dfb8c";
+  sha512.doc = "6022c2e3642928e716e6ed2536c849fade08dd26138312567b139a450032ec75d029ea5f1103bfbfdbdb7bec4b35d972c08e866da8d5eea89012b7a1fc414678";
   version = "1.0";
 };
 "latex-notes-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "11cdd1a27de3a7419378051016245d90ba269cba1798c516d5449d0c0dfaec639dc77c663b97f56bd07970f8b2e58b805f13544245e204700485f93e4864bb06";
-  sha512.doc = "99e6ca45546de6e2b65ad302fbd379c8881452b5e71fd2e80f07445ab82eed133c0bc37225ff81bb3b5e2c4a1f4649e204eb7cfb5582e218de59d3f43853c89a";
+  sha512.run = "5e5b3bb01456fec3dc22cb5d0d4f521b4d4f5f8f3119fdd76ea9cc55a70a2ad8a2b72e36471894ee448c1d40d887d20ac8fda39c4a3fe2cd111d2850eec12071";
+  sha512.doc = "477df31445a2991db3c2b8cafaa97662d722f3f7171c2f756cf025717cb3b896c1773adadbc42c22cb360f7542a0e658547f15cd71c54e9b79f76fb1e2097e90";
   version = "1.20";
 };
 "latex-papersize" = {
-  sha512.run = "ec821fd792e83a8aa9230e60898286225dba8d0cfbcd1677dbc75746334db512c063fa37268a60add8f2d8aeab182a29f8707d9d6ce75e730f0cdaa53ded20d3";
-  sha512.doc = "0513959efdcbb9a6a210299cf35fc4f2a1a83affffe707bca1a210263d73acab60e75293a50273116336ecd66c086c1c5f4f29a31ae26508af2f0784c935ee4f";
+  sha512.run = "cc3c6b563e16f70cab0ec113068d7f870a266c090ef518c06b4e3eced8e8fd9cb7aaa3544ef362ffd4af7f1d033a104daa48d47416061c3a73ba8329cc9a0fbb";
+  sha512.doc = "662d7a890978bb772a79db7a1d406ce6958970f6cdec352f78347d9ad8df47734ddae444370fa9e93582d4030568cd516ca32125b2d1e0f60aac3ce1c9b930e9";
   hasRunfiles = true;
   version = "1.62";
 };
 "latex-referenz" = {
   stripPrefix = 0;
-  sha512.run = "be060fccc9bb4518ec7ec64035fadff208e6ea36814122d7d7870d53ca8e253387175abb8c0965278839c04f2964e9694ad706d1bf3f1f9e3e18cd854fbe71a3";
-  sha512.doc = "e905b889488d868982cc253c4dad621462301191dc5abe8bb7d77853d13bf460c9c5396bbf657a3003fab11b0aefa315f24cc7ec59ba4320b3f835fae9cb2819";
+  sha512.run = "b61dfd5317eaf0ef7add1f80506492390d5ba0c01480e83d384e60ac0aff39710945ab81e030e7882fafa77a2913d88efd31f3cf05729ddc09c63243e825260f";
+  sha512.doc = "e71abe8a8384be7b0e343657e992b7703d30b38bfcb1dfb689954bdf84581336e099059bdb14af464c951777a8a6809f1161955868dd2f3b219fee3d2046ef94";
   version = "2";
 };
 "latex-refsheet" = {
   stripPrefix = 0;
-  sha512.run = "f12ee11dbabc330396539a3a97a2592048d4a726c8a3e373e3b478f41f649fe2d6c0b9eb804e55a980f71c61d2e05298277b4a6efcfd0c739a043f2855c89a9a";
-  sha512.doc = "a5d57a859c6e293175090492bac0d99da31bae58264fb08d9859cb65ccef558b8b4ac1390c1b4e286748ec4734664d2d2a51de9f1bc51a82ee96bd958b68c637";
+  sha512.run = "ea6751fc09aada1b8ebcca08ecdb10279b6df881b3b373b04e8c238609de92b4cdc4f1e7321f178b15637c0b712e9781317af07030f2f9297a3ce23a5f46cb32";
+  sha512.doc = "77149dabb1fe5c4a46591b3b307d02b2e2b33a07267afcdb44b77a2a823dcea9ea76b4be5ddad530151b638cfbcaf5d87ed0fed59a9e8ed99acb0895717bc71a";
   version = "1.2";
 };
 "latex-tabellen" = {
   stripPrefix = 0;
-  sha512.run = "272ba504955b7376da617d79325421e38fc228c7ac5a894bfb348572f1aaacccf5764b4ad6f0c9d6fc3002cd4872785528bf98ea18f4ceb9985b203f480df803";
-  sha512.doc = "f17b4d6267c9f7518c0fa8344a66162bacfc8752020db97314d9044a9cbb7fca4b991a556442c146f32a77cb3f28e11eb6ac4b5a7d76f9837354fbf2437e5110";
+  sha512.run = "ca056b194690d7b71429022c4b80b9d171cd7aa2e580921eed556a11fc2e3162106a06d61333dc69495d801120c35528fdc74b9c282cb6baa3391595e5f28d76";
+  sha512.doc = "7f3f4ee26f1f9f6bd6d27cbde4193d8e2607a34ee2ebcbc44934b17673b60375a566828461ce672fe8d4404e32784cc62a54b51873645592079aedaa7c82e081";
 };
 "latex-tds" = {
   stripPrefix = 0;
-  sha512.run = "4e0375778f7b7bdb64685113214e60c19b0156efb89c58e20ea527fe17533847743620a5786b8566df99463916a9569eae392d19f1ee79debb053368ed6eb02d";
-  sha512.doc = "d8b9f54320e4b99f0a415ac1d545730bb4a3755dc40322e253f0b2bb024f5ab3b3846389e83f3cbea5c1e0c8b8efbaca25ee1218b1fda3066eddaf04400105b4";
-  sha512.source = "6de2a95864709e0465eeac11e2db3919f7348dcb9f9013f039e285d728f7c4b4b03550cf4769f39ef589b9192c65e4dc05162a2d8fb9fd9d2d2c4bcfd789d640";
+  sha512.run = "a688c4e6790460f3155110f31c36c240fc1d9e9b8c3b2641a1a186c54d7939bbb4f779e80cb125d34036b64ce8da26d3460365d34d23d49067bf8438816cdaa3";
+  sha512.doc = "cc4928fd82e07cc0b601c702444a84475978671e3c86280cc8aac334ca562f3841a9f8c191bc174522f5c00e45cad519e6ceec1344e229f4b125611f60e43766";
+  sha512.source = "0f1b88a565c417a238476ab3c91bef40d265388458473f1ff3b4dd5e6b6897e8d8cdcd15f9eab17606aadfd5ce5ac978b81385618d8d3906defe4d13d438f72c";
+};
+"latex-tools-dev" = {
+  stripPrefix = 0;
+  sha512.run = "67afc0ae3988c380dab97d9d9af8667448df0e15aa0e403f6db7e4699a87bd74522bd396ae924af3d265dadc9825a6f5f22e47bca92cf3dc07e7b243a97fd78d";
+  sha512.doc = "40eee2b3183fe5c6ac1e7af831c3119b650bcdecfd596b5cb5b8f4799f886829e6bbdcf042c027f3d4d9713741bd2017652551c95e02b2c4f0a8464efa1f2f2d";
+  sha512.source = "2062c2d699afe1c5a6ed1a8b9f3f09ecff3bc2f7d36b13d6381e48b27c25ec8539f19dfe6383a504462bbda8184fbce0adc555efc441f73092c84c3496e16679";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-uni8" = {
   stripPrefix = 0;
-  sha512.run = "150d3a40044969cb1fa86c218c8cf1901e8e26fdf46a2e1b241b7a23418b5bdeca0d4c76a4f5c3e0f8156fe9af5bfd8ffbe8d744a04b3baf66e7b38169ea3fd8";
-  sha512.doc = "ae162da5f2e59bad818227ba93c88181935bc11915a0710ed64a0797ea4c3ef5e97d8b6ef47332802cb05ed16a18ea5c673331f675f1101de4ac3ccc936c37af";
+  sha512.run = "1e98eb60547932eb218f30cc713b94e8c7ee5861e66cc600b01f577a37e318a5b440b65c2aef1c770ef94bb4c4cf86d5d1636943de60f78049d2286a92ba5d81";
+  sha512.doc = "201de55826ce4911153f079e1107e2f4d2399d3d3cca95bc669cd958d09839ed7de778d644502cb6af8429818834027c9d3f3255fe58f95c985d1a96e4682f22";
   hasRunfiles = true;
   version = "0.03";
 };
 "latex-veryshortguide" = {
   stripPrefix = 0;
-  sha512.run = "008ec189589e50e8439cab7614dd325e19ec40c13eef4d6eedbfa633596b084183089de9e7d61b56b31c8a4b39f7353f7d738cad738ba7abe66ff8f50943d032";
-  sha512.doc = "48be36409f33bbd04331e0c70d173d726517ea330077594f9620883f3c7469183d603d6a57c638b8b8a8760dcc4ed176ef6ce0b1f4a734c872cc9c550db08651";
+  sha512.run = "239b6ae896eb109fb61aaa96149e3b3962fab250a4e017baf81da0ba7836837c1920456eec8fd20999535c96fe415115a621e73e639cbebf64cc2b14989c93cb";
+  sha512.doc = "aa58ce07f56dd819b6a3b618a518384547350a4582828020f5b45752c1dbb88d5f36c5b5bb831129352489bba8f5c19f89d38c99585da9253f01311ea63d3232";
 };
 "latex-via-exemplos" = {
   stripPrefix = 0;
-  sha512.run = "a50e5374f7bfd7e5ab3738992cc09418827d861b158f2f225988e4ad70f16953eb4652354836e6df22be0a60f447e481d578ea51ef42ad1a2e17c751787e5836";
-  sha512.doc = "5dbcb402c736f66a0aabce22c49fa706647bd58a95ea105f671e02c6022e3a907f51015cb99986d421872d0b1c88026365a2b9462db41ca515aaec5fc38c3ff7";
-  version = "0.5.2";
+  sha512.run = "a56c986dd52cde8d03689c74453b2491d2ea2d2d187ef559facdf9b5ee4e00f5c28cd0934c9bfc0a9955a33cd2b221fba334bfc80af7207638c90ecd72404bd0";
+  sha512.doc = "9db3b7cb038014f4bb01ab13cb091a5d01b1ddfd2c9a6edf176ca0eeac7e15a69f466d8c54bc9c3d3d463cc683eff943bfb60d157121aa83b794f49a43c8b1b5";
+  version = "0.5.5";
 };
 "latex-web-companion" = {
   stripPrefix = 0;
-  sha512.run = "6090a7be3a38be64aa634edb76287d6e716e37e5e94d7a3543be5e5551cfc95a5a938763604e3f73dec9aa09cbc4835d9efca9f73a31b2345e0a9e42e9d2cf2d";
-  sha512.doc = "f5d1e3e96707ce946446408642b7d2f873804c7e7432f7f38206776bef0d084dccaa7c25354d70990a83112e20c1234d3db060b896f68245c8917430f190ca81";
+  sha512.run = "5f45c7f74a0e97b938009ada69146875e141edd556165b62185553b0ce5f590d5ca6f93a875dae1c546ebc788156d5cfc69c46535000adfe6933abe79a2fb06d";
+  sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
   stripPrefix = 0;
-  sha512.run = "7a8721d6ca098311bff80cb8b5525ae36787da6d8b280602e7b5c410f39d5bfbe35285cbc4f58089b09095938e29b3349281da83014ed51c5d2896d8b15120ba";
-  sha512.doc = "5a1cd9ab81704d626b4b84612caee9ae33a6b5e12102501ea83fc40887b1d32ff35006b1af40447525cfb6577fa91fb9c3c03a5e6c1dda2b265259aa8185d2f4";
+  sha512.run = "dabdf3a20bcc6740b7feea1c444b2423dc54a97d0118411d44acfaca31259782eb49bf68b144ab553a9f865ec47557bcd47503b1f1dcbb69ae3302d94bdce715";
+  sha512.doc = "0a3cd8f22e15709b056d6ace9fe0c8d348ac8bc808fe8cc98498b3d14747eba9f6e9838375b0ab8226694ac8dd45027c62ffc1949c3e1a42f9f182f346df0123";
 };
 "latex2e-help-texinfo-fr" = {
   stripPrefix = 0;
-  sha512.run = "930efa9fcf16e342fe1ffbe31dcf79e51c2119235d689ab5511bb496ac8850f3d53fb77d3b72d67757e01c5d8dd037d8858f4824821187706f43933c7cceb33c";
-  sha512.doc = "32e5bf2fae86f1ebd5a621bdf6527f7ccd8f26771d87fcce5baa6e2a71c021a522d80c4e53af00ace55ea46a1c596d3722abcfe919cfc0e944668b39574fcb8b";
+  sha512.run = "6023d1aaf419519fb35f916be296e9681dd2e2912b35d92da5b59d5ab279154eb71813f49b159c01bad045246a293c8e6552d2a469cb69916d169ac1b60d9daa";
+  sha512.doc = "bb1ad23b5a46e00193b4e807aecd0a439d1d5f7c15736e748b002168441b5c7fccbcd8f7f6361a1c5fa3175344c9aa1c0ec77e20be450e653a0354a87643b9eb";
 };
 "latex2e-help-texinfo-spanish" = {
   stripPrefix = 0;
-  sha512.run = "4bdff69e2833ab408500a47f39671c4b54759b297414bf69ef1bea96b53059f506c048d6845be11549e70cbf3d7e88639ee536e87bbf3634e38d9315b7f816a5";
-  sha512.doc = "5a5e29cc9e6a796ad712ae8e1b53948ef8053654681a407f38e346e594e74c0d25e9c5eaec1238ba1654a08540870e4eccc1aa1051f356a5e995d4df0e691633";
+  sha512.run = "65faa42d1ee01399e1f8c34cdcd1a5d1ce6841f144e7b582aa4c3586ad1426d879c60427944a9524f16d48c8340028f1929dddc04f9ca4f8e634ffe29eeebf72";
+  sha512.doc = "b6f612ef87c52c9b67c65ed79f8b2e4b7e089baff3da617951288b57124d63f53acd4f48edebbcd7f27855b3bfff14dd00aa5a2c277b4f89b8f49426abb49c6b";
 };
 "latex2man" = {
-  sha512.run = "e5e35e6b70350fcee72ebc652785538b138642aebab4865803ebc0f6c6191a69474c24decca03aaa6ee77607b81318b007047f14f7e5d5106a09f910054f5f62";
-  sha512.doc = "2ae78dc26ae3b26bd2de010995d45d51da130fc865585726669ff9be465d20dab8336bec3813a2101ee56983423f6019c43c215160ac595c4504e4ee51d38dc8";
+  sha512.run = "9ce1870958d7de7625fe73dfb735488d2512b048c8c06fed3f87255db0914080675017d24c88a97ec71ddb9cfe6f5769ea378f099d8787e447837a1ff5167436";
+  sha512.doc = "214685e6982c7a9c694d74a73d37c58f3947d7304637d2ed44fc616cece6026e5d02763f26e280ab21212d18a962c31b4ac5315fa840f10bf1efcfb782f4dd2a";
   hasRunfiles = true;
   version = "1.29";
 };
 "latex2nemeth" = {
-  sha512.run = "0ed818c581d66ab8f6bede58793931b2216270a6873092e869f6ddb7e2a206d48fb7e49d16919116eba625f9d1379a6aab7ff586d1d3027f636d35ca33a83df0";
-  sha512.doc = "8679a82ad00d5778e571d1285ac8528e99cc5ba2ec19f816b297a548d98130d499c4cefe8ee0641bc80bcec09c99f194ee9fc1f27c696a4276729e9f8be144c6";
+  sha512.run = "ee82b11dfd3ede3b926a034ce8a7f46ae2bdd065f648fc0375a62392a8be605e391c64726eea03efc439b7a01fcd3cecfd70106335c72927e45c70ef0c8aa48f";
+  sha512.doc = "a674eac6b80811890433c613f7ec9c6fc4667791c5b4692606e88d3e38ee59a3b68951e5f19b26d2b9f9de3b79002d17f4c539fdcfce37b82c3dfea5cb811086";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "latex4musicians" = {
   stripPrefix = 0;
-  sha512.run = "f9b8b77759b0b17e8b741cabd42cd7fafa0920af6852f719366cc843ed3c880f604319d849a02102e87f422be7361017611369e553985df29e17050208d3a4ce";
-  sha512.doc = "9520da3070444aa5ac77c994f60921bdb7594bff75627d10c905a716a074b55966f88818c5c59ee40ff46210ce29a6b0b5ca446bf210b1f2e8eefcd7b004d79b";
+  sha512.run = "a37c75d55857e9680b8e4b0f59f1889f3b5198477212ea531aa6bbf9ea11dbae06fef7fdba9e706f016c6c0618eebe4ddb81ba73b48979683a22592a0adb119a";
+  sha512.doc = "738c2c467d9df87cb1eccf0442b5c94a97a3c4c2b329d78d80b05d2adf9e3be11aaf2fb407ebc29f07e6455e6533464d981ae65122b080aebabdfaa29cf71b61";
   version = "1.0.1";
 };
 "latex4wp" = {
   stripPrefix = 0;
-  sha512.run = "7f52a976846b6ea661156c95fdf833564d9f9aa08cbd4c167b7bb877add5804d8fca00aac0182a79621c49377b9f2ac274be9f2fec02dd1a20b9c389172c466b";
-  sha512.doc = "93122c154a9ad564713422f0b7c25c56a79c95cbf0f4a17e0253b5835f7358b34ec65eea862b734e4be3673c12893f168ade5a9f071feeaac5b11e540d09de31";
+  sha512.run = "64ce122ac380c4f2c06d3afe2cf1aa2af2dd6d29fc451ced9df05206c97dc0343e6867d770d9b4e1c0425ea41ef89cb2d0a003d43cddf82ea19a7b33d383b7ca";
+  sha512.doc = "e8f22deb966044c87e7414d828ae3d8bfabfda40bdebb4b26b712692020c785ad8688595cced27ea5993c8b8f34f7fbe0cc86180d2ff8bfcc44cc009fd52e936";
   version = "1.0.10";
 };
 "latex4wp-it" = {
   stripPrefix = 0;
-  sha512.run = "9a3a8ec4d886065a59a13a89e1cafe1ca6accbbfc934447f3ef7bbe29beb3e52b26c9b256a0333c90afba301f3f49b9b74c2ef063482c1db5b34630860506203";
-  sha512.doc = "2a94533bd833f1189531967500b5dcb51dffc4aeb48d366d2d661191dcfe6a2766b3d61f54f6dbeb0d6993e3b4121a529f42e26dd98eb75ab400076d5c1691af";
+  sha512.run = "691d8936d71ca825da3a5fb193f8f7067480981b1b9bc93100f54834a7f9500e66785a216110cb1eb5cdd41b538333b693dab8e0e855e546a3eab90c43c48630";
+  sha512.doc = "c0c527bc7e9e71038316be5c6a57f4200ed69e7ed6fa0f066923cb14d14e20e90213cf0b989d3ba746bdb3e2263cf1daba56db3073017a0d7582e40640d35fd3";
   version = "1.0.10";
 };
 "latexbangla" = {
   stripPrefix = 0;
-  sha512.run = "0b3ed739e59b63fffb074903c7857c526ceaffeae5786bfd5a398bd4aeb79bcdbd5741a3e81b604f16fb27c04fe501cf456ed8703cf27ff8f1aad7625affdce1";
-  sha512.doc = "1fd3ca636997ece57aebc7154a5513f714bb9c235b6d91df8367326b16c0e1e6948489aa4330f27e579c3c8350bf5e09419ffd7efbe57a9f940fd15bdebb4b35";
+  sha512.run = "97e4a88b3028f3836a82c80bee739393c0ebdd219ac3b78acfa00f84f5b5857334605ee4719c8dd40d1cfcb44a4f9f821d711401d091a3ab46204d2457559fd4";
+  sha512.doc = "dd88aa9630a08992348699e71c1e1ac7a697c0279a83daa333f0bd0c098d564b730f7bff829e7489000ce09331c9f13a804badd4bc253dc181b09646f8c0b991";
   hasRunfiles = true;
   version = "0.2";
 };
 "latexbug" = {
   stripPrefix = 0;
-  sha512.run = "b40969edeb96fdebf54fc6e6f1e071e05e5ed6675a7aabfb31cd50e549da15214a2e5f62106f8034343e08c87f17d299d8e07527038ef21e6c81fe7c7d8a5407";
-  sha512.doc = "f96cf8832157450da269996b10e3bd148015616b92e67d93e2ee392261340988cd2c0212924304b2d727d44a92fe6772c846ceab4974404014e0983b466f2a12";
-  sha512.source = "f4e72b08d0d9577334d8706009b8b8be0feaa5ea8d8c25e79d65a4b4734b18f3c675bbb845a131bc74601d5aaf3fa2e9aa5f8a7c9b80ae612a2db9bfb10b8a6e";
+  sha512.run = "ff27b7fdfb53b0c2b0ac4b5aa12d98e30c09bf50fbc7959930b35721924bf52c361581ddcdf8dbfb03571f676ae9f659de2bba137b937d37ec11a0da2bc721b2";
+  sha512.doc = "5e86be0719138bf111b6d655b2aed620be6a490f772906fa676038f2a5f13875d3ebffea2094f8c9001d2e70334002498d8eaf5ef96f14cf8458ea0b03bf8723";
+  sha512.source = "7c00729fb9c17f3437fa1839c0ac12b51407c4ccfe2566b0d0a19701cf124583750c00030f359b70cf0280eec29f55d03d0677628b2b149f37219e880d56dc94";
   hasRunfiles = true;
-  version = "1.0e";
+  version = "1.0g";
 };
 "latexcheat" = {
   stripPrefix = 0;
-  sha512.run = "fb278af88bb236be7859b031d91cd316c7bc65308b31cee00c7eea064aab08a0ba3eff396fcb6cc27b039bc13d73eae5ae1256c2f7e6aed976bf2f0a56d13721";
-  sha512.doc = "ff301a8a697a510a39238bf8614266b2bacf413f7b57f4be0268df65a3bc2381455440ba0542b76ec2df1f9ca5879c5bdc32359250787d7c89a623db7d5ea7e5";
+  sha512.run = "530041d286048809968d91b20fd40c5ec41eb440fec25bf08f92af0f0fd5e1481a1344ba3c659da4477de353d222f3cb160d75eea2241ccf19b05e63e059ed6f";
+  sha512.doc = "28abbdc3b53c245b0cfb6ab68549661a72d37df004a5c760f5021e91b1df892b02872c7e20f328c7dd4624edff96f3b1fadfb46cf35d080c6b7c5635dc36adfc";
   version = "1.13";
 };
 "latexcheat-de" = {
   stripPrefix = 0;
-  sha512.run = "4d23bda42cb40d3d172b3a76d314dc9d5b9bbc8a4a074ab75dfdf08744e25363d7edc37fa5207cbf17d4128607f512f7d894e78cf279a54e3d6bf00948d1ce96";
-  sha512.doc = "42caec3233e5266d7a8c9ee22c6d1c255d782f72089ab4e3b3d7bb41578e69a13d2f8e7db93efc01067b0836c2b9d5ee6a74531a2babc6492f2a070ea52014f2";
+  sha512.run = "84de8075c1ba86467c8b34ed614462953ca8b9a237bb84453b2f9a1482eebfdb628c3e460d38da126416cc111387d68d3f479c5806ecbf06d079e47c35b88ca6";
+  sha512.doc = "dda8002178b55e155f7ce1f49f57f928b6c5097007daf36aa473c1a2d07aef4c3ec5e1c238537c0531731af0cb0d51804b0c0310be63954f112f266e737c7d37";
 };
 "latexcheat-esmx" = {
   stripPrefix = 0;
-  sha512.run = "5c7d95217962b1cf10e60a891c16d8055746e2c35dfe101e5bda9bea38189ad32adf81064b128c13bd68b5ade0b66641e14d03a04e10640a8c7def1cdb8246cd";
-  sha512.doc = "c22a2b0fd91722ec5028c1e0d6fc881011fecef7b327311f2b25c9b89750b4a0750a93872392a1a79f7342e96360c6b98576ce86a7dca358ffa4c67e0bbc107f";
+  sha512.run = "ab9965189096647e8af9aa58a937fa15595bed32055b3819bfd12334cf60e01d18b12563de8169ea28e3c0a7768864e51631c29bbbe47d45e09ffb2b87c5d524";
+  sha512.doc = "a45f2db2445e2daec8b31e995669a189c1d201f457e06de7fc2a85ad85686b31fcf70040e7840e1168e29b2e5caf796c45b6ce934780fa5982d0750438263606";
   version = "2.00";
 };
 "latexcheat-ptbr" = {
   stripPrefix = 0;
-  sha512.run = "082f9f554f83c79d391611bcd2c6bc8f153cf80c5e0bf18dcf48391c4e99dd7f5d3f6da9de40cbc15966a86e176e68a5c619159481e598b2b779ac827b5f3b98";
-  sha512.doc = "33171a503dc6629d5a99c362c6e8c2861b295ef61ee481125b2d0214370702d6029d4545b098120a119c8d7cbd7cfce0f893b0739d3abd55489d38472fbb7a74";
+  sha512.run = "e50cd94941704f1a620a7411624ffd61d47aa4ef2944220ef0bfa9fbc428d8ea46be17bb3b18b30d645dcddf3c8091dafa9532f809dee7af230e2133c86b9bf5";
+  sha512.doc = "00369fce725567a85310afd3063a4a20e670d8a0c57ef7e4515579ee0f91157f44bac2471b076c2ba51253e2c172447cc4b915877d80b0c43874c4e125f5f9d4";
   version = "1.13";
 };
 "latexcolors" = {
   stripPrefix = 0;
-  sha512.run = "d11a5d0418281ffa79a1b86add4e85d27f5c6caadc84b4325ae473e37085fefedd957ff7930fe4f67c15c7bab4b899f9a8740f0f75b1783e9874018f4b60e27b";
-  sha512.doc = "4dda3a9afe94dcd1bd5a424780d172f5d86ad7c7cda207f6028e4dc328042628afc933d6da12d4edc0081b1054ebb83f3f92f6660ca08a076c641244fc688793";
-  sha512.source = "ba2df38a5b6ced8ffbef1132321fca71fb3c354606d013876fdffcf2a9d45ec09b1ae47bf1fe4e6bafe630ef01e853c08fd0bcac571cae91888ccc0c687d3684";
+  sha512.run = "b22521df5572411a33ba84b2d7560f0735a6f3a3bab0c6d7ca460e19333fba20ec8852becc618274ca7b7461fac1c42d0e6ce7fb9b7e4349c74bd05e8e1b5faf";
+  sha512.doc = "5f6f26c2ece42c07b2b2e634308a2a417e12a105d9856d630f483443825615d770ed35f7322f59904b1d8fea9425e0222fe9deff27451a5aec52fac39eb9369e";
+  sha512.source = "369c0cb2c019ef227c41d38a193f82ca1417158065cf6f0f913d9e4bb7030e6ff3b34fb49157d3e81b9917bd38db454194c3576009be76d9293b365e59619a59";
   hasRunfiles = true;
   version = "0.1a";
 };
 "latexconfig" = {
   stripPrefix = 0;
-  sha512.run = "c61085460eb52dad4b8e77b4cd1454eac2514da6747a4fd64ebb2493f27a47ddf3d1de1b28276d49f9936cb2876dabe836e6f7bf0a250cea9e484ea65fe83276";
+  sha512.run = "8251c3786d2dcda83fcd36a8f746e2601c72986e6c27396aa6707dcadd16c0bfbb65adb9c7f28035b019618b046c1b3f386beb206f877bad95ee4ff85cfd2cde";
   hasRunfiles = true;
 };
 "latexcourse-rug" = {
   stripPrefix = 0;
-  sha512.run = "1a4bf61ba19a937886114ba554b4e4f4579ad6a295fe1458a5a120602974ed59eefabb98d7da7c1f09e8f8fc608f2e99661c0eb0e1dd288378e103e045df8e6b";
-  sha512.doc = "6cd12d3b4af5013d2e7355712280f8ea8636ac75eb027a9c3bde239e81931f53ef9f383d7259cf5ed95bbd2ae758f0c16b1816e2f5e828999156cc70bef3df45";
+  sha512.run = "ab31ee52beb0fe100f4798e6e42673d5284f6f85ccdecf8875f4d058928cab7363507f8cafe6c3c6f437a682f3e0017923d138ff671eea118ca8d2339627fbe0";
+  sha512.doc = "aeaeeef2c43a5ddf782a91152c9e2e18f00d9b3e18b7023837920a53eb390652d7ea85afcae338519a00b84a972a723eedd7819e73944ef7015f8c028822fea9";
   version = "1.1";
 };
 "latexdemo" = {
   stripPrefix = 0;
-  sha512.run = "beaa1e9071d773e544091afec1529269182eb068ed4838d952206bcc359ad939a2f0c36b74e547c03c5431eec2ea25c69acce74123e862902a24f2d5cb9196ac";
-  sha512.doc = "0d519e727fc03243eefca1c8baba2afef159309a41c4bdf74dc25b4a71b8d5f0a74c98d475c8c3d2a55d4676a5af7f593d51777478d294b508f81266564ad4f1";
-  sha512.source = "b667237f534876c6587e2b3490b15e5d42f0ef4750391dc021a5522c4267046fa719ebc3bd7898d41ad04e88d9ca07f7b0f46baaa183d3bd6dd20a7cb4fa65b4";
+  sha512.run = "d8b6ceb9aed4b2edbb4fc9e939dbc2dc5b6989fd04703dce2e504135d2c1bda46c8dd78e995d41a7e8727563c72b4f77979a52513ab0d49d8c95f80246a94fa9";
+  sha512.doc = "34a0ed1b5e9ce5f2b71d67384427b4a7d69439ac4eb5113e1b8e270618164f883b05bf7cbdff9da57fe2bec7cf43bed844ec77b90da00efe30fe9061b3ca0339";
+  sha512.source = "7416fda5909c8488b2e7aa6fce9b1c0e747577e82a2fcb44df617c493e768b3d86310b1817ccfd96edd22aafdee45d32eba1495949c44aa9c1e252abece321be";
   hasRunfiles = true;
   version = "0.1";
 };
 "latexdiff" = {
-  sha512.run = "5b5e2673dab80735dc834ca5310897269d8fcf25d5eac85130a7f0e2b1f8685c9a091389f057f61e678162de8617b92dc410a8f3d0aeccc4fabadad4850a98b9";
-  sha512.doc = "5e037da262f095879e4cf4a6b6aca7d52a083989d712728f90aa7d5a987d3c34198e1aad23ce9ddaa1b79b1de1bd5ae128095def119890127f3cd5c8e121b8ac";
+  sha512.run = "64b3c9906ade859568f67b235192ff29b70cd4ba94006a86cd1f7872d88ec7cf274fe89a5d292737d86295d7f92ff9be7be46936192eef2e5f99aabd116e9479";
+  sha512.doc = "665d2029e8fa0eb6c1fbf3f9d99d6ae92e43e422bc59da6cc64b5119f3ffc46c6310acf8a95861ff3bc4d5ab6ac5fe78290c0454f9bcb4ffe2e815872f6b8c55";
   hasRunfiles = true;
   version = "1.3.0";
 };
 "latexfileinfo-pkgs" = {
   stripPrefix = 0;
-  sha512.run = "e32d60dad7f9c8df14996a4e954e0f614498147c2ff71748c8d866da86c91bacb7cc0be8e403bb1c44aafe731aa6b5080fd6aec3b09c86f8a85599a648162563";
-  sha512.doc = "c3e1bddb8ffdb73bc8676464b9faeb8154c2a5a7656b1b65f1d900193e49aeddfef75b9bd4350ecfa988d126e664525884182cb8d8f1c7d83a1d75967579b41e";
-  sha512.source = "eea2680b263c03ec2c8adcd1b8d4647abd722bd2454ba69ab587010d2eb3efbae8e2b1f1c938c92d47507159a0e0a01d7710d5c2fe1bd68859323954ad5ed7d9";
+  sha512.run = "b08fbfeb87299273a0e087e7cfe0e9df9bf50b95503a3110b9b329a9a41931f34f65661e219c6adf377e3448536d5aac8199799821f7057a67a4680a24f30ad0";
+  sha512.doc = "af5ff5d84fbbaf299be548d13163c8e5e83b73ce795bc1236a204f4025e34d9ef0c587702ea5d6b234791e16e7cd1930a63f3839c20caefad7610de125a583e6";
+  sha512.source = "b204065af499edadaf997f6a6cb1be474d02d03c1e37f94b33dc7d290f934c4a453fb648588482821f52f7b0b80f5edafa9a034f8eb2a9287ef06e753b8c1e96";
   hasRunfiles = true;
   version = "0.22";
 };
 "latexfileversion" = {
-  sha512.run = "932fae5a19526a73123918a23bdfd4246fced21be54e03289e5cf37e11a3ad172e9f689e0611ca9688b874afe70b7f8b0c0cba11803554b42819b114d4c7599f";
-  sha512.doc = "ddbe5ec7d1e523789ec912bd666813aeb90cbe920148fb992eecd086f672cd8f1f68df8054f14633e3b018a8c2305f23a4a0acb3e6492279edb655fa10f54e30";
+  sha512.run = "3a017b8a367864358370f0063957c301014df2aa039566ef33ae78dcf428235ccc2a88e19c917c940e186371e2c0b747887cb04e7cb78b9a04ac1720dbd94cf9";
+  sha512.doc = "b1df01f8bc7daed937cd20d1ab7cce443a3d1fbb58e04cb18f0c0b30ef0795c988cf51bf49ace2f960c173f6a95fe982ee9d29d7650dcde21784c788165094c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "latexgit" = {
   stripPrefix = 0;
-  sha512.run = "5e628b39cb067ca9680ad22f8da11884961514353e9cba722f09f77ba3ce8e642b3245577afe5735f15f8cc2e450b4016fb012ffb2e25987199ccf0afb1c1cda";
-  sha512.doc = "8bf98bba71a2b857ab5f054bc7c8d8645be0d8575c9ee6371f4019a7bf6b2355605e4a489d5f7172624bd6e0b1d5c685f4fdc3077b4d6be9f6597c349110637a";
-  sha512.source = "1c2792ebe3cedde0571dd5313dcb7f3a195a0c2cc46eede7234902a20716532c32f5e4b8a9eeb492b18e0da1b76e5e5a8d44775ccf7e04e3561c218b3ef2248d";
+  sha512.run = "5076ebf74361a6997536988c5204a72ffd761a40c33acac03bf2a104bfac3661c91b320f47bd264d607df7dceff41a18670e7c18cf19cbb27fba1d5f273c58ca";
+  sha512.doc = "dafc932c2d0184c848b7f7ca549a300f273fc7e358c6bfbc6b5698aaeded12071a722c856255889438e1dafd1c64d6c2adcd60766f8e1a1652a74591d5e74161";
+  sha512.source = "58097f88d70518c49bb0900c595eea40241a600745a8fb8a9c6f47a3deccc97aacb195305ec48fb54acbb95324b2ef27b35467bf90c27c88a960efd6d579a0ca";
   hasRunfiles = true;
 };
 "latexindent" = {
-  sha512.run = "6d5c6a82904d48e99a0ff3d72443faa67ec9868f665aea838b7f9fd4d789e16a38b113178a7b407cc70afa2701580e79cce40d04ee07c0daf0780e788dc82fbd";
-  sha512.doc = "7c35ff64c84bddfb8b82a27c4408c1ffe9c55141bab43a463b99045c1620c1c7aae668bf76a234d211cd05866f3d1e300b8849fc5132065911f2fc0d6b7daecc";
+  sha512.run = "0aa45877dfacb861ff325c13518abe9fb15b6a07a2c6ba93fa7d8edf982be40c26d46c439875488fa468490e5a74e87cb214dba05346a8946addaddddb44a3a2";
+  sha512.doc = "0257dec625380e5c31f982499738d67c0294acfb113f6c0bd6a81b6f725e400853405a60829290e3fa4626625a01df0e838d6d9c07fe4caf7a7949cd22ab690c";
   hasRunfiles = true;
-  version = "3.5.3";
+  version = "3.7.1";
 };
 "latexmk" = {
-  sha512.run = "0cbe09efe43146b373d305fe9a4429f3fb2ef22f2e88e2b84a11811e52b920829b1d274d9bee43a3ad458ad3c4c86575277372f50eb0273d4eb4964905062616";
-  sha512.doc = "c7f87604a7a9633fc21e0c14070c5ab18013d02c300c548c7c27332d412c7f6c4ca6bdfdace8ef0823beefd99dd47fa6599492cf13e14666083f6bb8c4cfc850";
-  sha512.source = "95ce66a8ce1448831b98543739c23a6ba77311173f4774f8af613a05f87b2dfc2839058ee87bd8dfe341615325ca8fa60fa4242954adf428430f31a31cbeacf3";
+  sha512.run = "a019682dd8fa0c9b818a107cc55266254cd097d92fe2b05cd241f9bd183a3d2fb59d49e9f80e030052766ea0834af5c47ac5e5f7cfd59be33c1e99b0914e8660";
+  sha512.doc = "9db1bd349d393718e5c635ab108f77edea8b49d113104289b49ac2a2e860238ff0b82aca4e1e01d79ac005464afc9d188a69d534517a5f19303d58b3f13fd70a";
+  sha512.source = "1b74bb039d88ba228b71c08f500196de0fd15cf787f0daa521db9121e8b57f5a8f398a9636328210d685c35f3b119a0bd0ac02f80610b72241b4d86b24532dd0";
   hasRunfiles = true;
-  version = "4.61";
+  version = "4.64a";
 };
 "latexmp" = {
   stripPrefix = 0;
-  sha512.run = "636f1518720ebf6e9bdf15e006bfe33863acddd4d856db0d2808520280a359f639cd6568da541fa7cf59bb345bb23e3852a59af3b85586c540341751b9f80e88";
-  sha512.doc = "f754a9e9e38e3138f28d90c9d6ae1b5eea68c3cf5dbbbf373dfd323064b27778603c6a59b6c73d7b81c42458b98595c7834538e467444949d14b93f3478b3c1b";
+  sha512.run = "e63d213969434907df862dba2684ea76f8603a8283764ff431edace0802a61cbf3eadea6a532a21cc83d722359ac39680e716a24859b85f526dcfd809ca319d9";
+  sha512.doc = "7668afd5cc1dd365811f8e4290392037adcf5f3bb220e062588a446827f1d39510137185699d4b667f2b452809704d3c08caa889bb52cecafd0e190b0e7c49a5";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "latexpand" = {
-  sha512.run = "696220656b5d12da38d0f6dcdd3275dc1427af62c4a468d6c1b0d97250e46aa864cac173b28536fbe4c38bd1f3c53fd670311ad5a88488c4fb168b6fb42c94d7";
-  sha512.doc = "5f39fa27b75454a1c65b6a4d4c427a61b730c2f6f9d03554746770310c58629ee7e6611bcdb7cf9705f01265365463e5a976415850d4fc20b6bb09f73e7329c7";
+  sha512.run = "9248c63fa16b9f9ccfb0243bdc6d56bb80b9887e26d8f1cae53092ecef94f046f554d8c5b9ed6cacf7202dd5be212472f8bddf9eb740f4ce54e521c9baaf75dd";
+  sha512.doc = "faf4b269446a008ba77d37d8f51ab123171a3cc56d59dc6fae9c5274833e97276c24392064f6f95e8e8eb5b88717d1c4433a915208cd81788364d382aae200c5";
   hasRunfiles = true;
   version = "1.5";
 };
 "lato" = {
   stripPrefix = 0;
-  sha512.run = "7ced63aa65bcc3744826ce1a75248a5563ff0b54a76fd5f6edb6e5ac77ad0070fe17517b484eb8facc5236aa44672942581eade88c2a63b8c19a0e8621be0a59";
-  sha512.doc = "06516da2c15aa92cf714e18cb73a517bef4a12c59a96511292acfcfff14225a320f12be4e86fa7bcd662bcf48cc1a965dbf837d0d67fd5af914a18991d27136d";
+  sha512.run = "1243f2c4fdea9ac510cc99bf4afae173378b47caaadcca88251b53badc5f63bc465e19247ab10605436ca07d96ba4966460f35d8336462950253c4eaebd80bb7";
+  sha512.doc = "28053a4561422f721c6cb400be57a0aa18d18173dd5c9b46b806dbd4c8decc5eb65aa5dea509b42909791bfed7a2a8772d3ba9917d3bb1f6fff742caaa5fdbac";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.3";
 };
 "layaureo" = {
   stripPrefix = 0;
-  sha512.run = "d7c6d900c179f47e1adae907e993bdf8a802041d23d4ac6e950d686169ce7b98d3bf4a893a9a4f112fd4599997d3fd9101e59a9fda56e313ebe3438d73602f9a";
-  sha512.doc = "0d3e3ee1bde647ab7622bce9c0468ed5e7196a5a4aa593634b3feed91344907eec8abec69eef77c48bd46b8a6585fca036d03ed0d9f6654b16b9195dce06dfa9";
-  sha512.source = "8ce52616c9b60525121f9ecdc2502ef730ff284d7f027191c2a3d60131d5345de89a0e194f0ea9dc421afebd74a2f28662615344e7e040a67fef7eb695f35e16";
+  sha512.run = "849b0e0fbd15b45cb31ed4856b0eaa190c26437a1965da2c860af62b65cbb000b590320611e96c5a6c4cc63c029c31fb352ec44d96e0704eb52c70ee460abcd3";
+  sha512.doc = "b4333e1361b352689dfd67e13a694a304449eac61ef8189957356bd94e5745f4c15fa38bc21219c8a21805dbecd44a51e719bbcd884b850ba1276759bdebeb94";
+  sha512.source = "054df6aade854320987e605aad0a641778336ef918ef086dd097db8d1a2fc8d623f0335aa4ffb98942e157438ba06b6e75411b48db541779fc2a6e08e5b1c594";
   hasRunfiles = true;
   version = "0.2";
 };
 "layouts" = {
   stripPrefix = 0;
-  sha512.run = "afd1a5bc597fc55a98084d6f20962295518c80f5a56b0894a3a675feb27797eb49ec90ddc276a829d9dbc9f6d99b0883d5f0e7d06c647b0d2b7b9726bf0a71da";
-  sha512.doc = "393a7436084f4ace080d22f1f4913a7b30a3cc19e9a05b04a66b59cd257e199e466f4dfc271ca2f9ebfb4a4db6ede039fa965fd2e25763e7a3bf055163dc3944";
-  sha512.source = "acf390e822ba0cd22e82e1b1280305b4e93ac674a9a1ffceda02ed0e469f2ecbabac607a845fb1ac2185ab1acc123b5fcca6ab1b0356c75a462f4b18fc96c093";
+  sha512.run = "9db14862ac1bea22096130ddac071a9b058e4cc1309917d2f8e8c536f280d2f4efc9a8dad9a5dbec0824b94f92c290e82820ec1628f0e4b72aa8fa617b72d981";
+  sha512.doc = "aa6639c5ca0029efda9af523a0a075ef2b60ae9e031bd68232ee03792bb2f7452e2201e7223735e83b7979f2c057674fcedde4ed416254ab4b5b8a6cd9bb002e";
+  sha512.source = "1abb95aa76cb3dc55d7426b8f98923662b48fa91ae8e5e2c3c01fb14dc28c8ceae90c01c9a22b1f59103e56d1818675d6da6223be6771083562ebc50ceff07b6";
   hasRunfiles = true;
   version = "2.6d";
 };
 "lazylist" = {
   stripPrefix = 0;
-  sha512.run = "29f76af5cec8e17ca65a6c35293e77a5f7dd8f060675c4ac2b17e5ad96964809c128ad1bf48888080ddc2fec48d6d8523038aff418adb68da9b681f8e8a315a7";
-  sha512.doc = "278faed3cb463977f078f531ea700702c69d41ab70178c8d934139d2854e54785db4d0d96cc019ecbc4e7346bc6d1ec15f87164aadfbcdae80d4b1ac5bdf5d12";
+  sha512.run = "5ceccebce9cf3ff0574c471141f94b919d14a7faf1b5c7b5e09eb079aee11cb95bdfa7d8b26fb83e99875818d842cbd64733ab7cf7b7024f04f661f732a3fb04";
+  sha512.doc = "1ecf491370fd7ba0fcd3ef1ce11df768509c32bc9bf14978e3d6f36e39094570144b897337bbc481bfeb8b74354b36f66d561a33e255ba50aae0a5c42f002e7e";
   hasRunfiles = true;
   version = "1.0a";
 };
 "lccaps" = {
   stripPrefix = 0;
-  sha512.run = "2c320bdddb495aa3210df01fc19a7107b62638b84758d4dbd20ed094ae0600a4bf5fd187a8d751a0e6815351b72d707ff229b9790babc5ce46965a1bbeed6900";
-  sha512.doc = "3ac1c1cda03e2fda71fbc53dfb466c284a42904bed46789d2d16aa8c4fe40ab6986ed033f8fe09a7ebc931671eb942350ab7bd3716e0c8578f7f078216803d43";
-  sha512.source = "82764e566b98020f41d43c9f14a24db099943add92d39e25530ec6a5d3c709c32c51ee9bf49fde8b2d9f21bf414f7eefc78b0da687f9c803cda79c1b6b72ec0d";
+  sha512.run = "98d57c77a3ca19a067c04c9cef06d632e56f42daaa70ec729a7cbf3ff68ef3e7ab95e1d0d25cf853d85dd1916668dd5601ba6feb889d1eda344b3ebcb31da333";
+  sha512.doc = "ce14177476624831de64a12ef858516a2df28a3e194748a1c759d7a41743a93e03a7d96bff3acd85f9db0f5d4c96a53aff7b73077e131bc6fa807c8b36844bef";
+  sha512.source = "cb0f4f8400542d9d15e55dd8d9b55ecc1aad60dfda5de9ab342e8e02d075123e9b32b1c19dbed700ad8626d754a11be6e694a86b6eef757db3a6f47f9f5a22d8";
   hasRunfiles = true;
   version = "1.0";
 };
 "lcd" = {
   stripPrefix = 0;
-  sha512.run = "425ca583451db97a9bd8f6b2f592e8d00ba42d05e0d4bc2e046225abf0e8ce95568d369f52810728580d79697210a980fd9305ceeedfddfd1911a576ba8a9bfb";
-  sha512.doc = "5cec71471d88414a6c4a93afaf427ccadcde4b7697433bbe1ef81481fcf6c6c352c199ef2a743bac4603ead0cc3d41ad0a2f0241da594b910486bdbbcff907a5";
-  sha512.source = "27d88b6890705c3f3e3f8439594eb95a1456ff34a820ba830f21d865b73cbc8bd01b031de3fb00dab4d1670590664a707c4a7692664224764663afebec0e0843";
+  sha512.run = "829c0fbed639619707023c1df1fa511d584e4805aa4f26b0ba5e5c5dd85d927901f4ad949e4a171d9765995c9ccfd34e5d45aa44dfef2508d5ec84c27712e05a";
+  sha512.doc = "385df3ec85fdbaa579b15f0ef0fa2347e15cb796a84265b1cc7a9e2bc520c0c98d0703615ed28c68ce5ab7cbca6f2699502ec26a31297c14b0039dd4b584fd86";
+  sha512.source = "1d788d589c959240c92775455ee3272b8014a9491f2299c4d6f4d9aff66681100a6352bfbb644e0c4cb770e27152bb5b3fdf0f347aff489c172189c542a02e58";
   hasRunfiles = true;
   version = "0.3";
 };
 "lcdftypetools" = {
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "21afe7cbd70858d22f6e1da50857b8f5c67f806d2719fce2e1e71aa5e75feb51385e1c51ceabda01ac3aff55d081d54fcf4d796a42bd1206f0e111f7a19251c6";
-  sha512.doc = "dde3a638877c8329a9ff3cf092d4692ac19e2f07c81bcc5ed05fd9ec60e3464742ee7143b040d3c6737e8c116bea697483a49dc68ff04f177b745503f11b15c6";
+  sha512.run = "90e2fd4cfdd5b7dcdcd3eb395630e534220ad406135acd251d9c2dd35d7078bf0d781ea9d7019a38f698fa045d6f03738ae25bff80df12218f8d64a88079835c";
+  sha512.doc = "2093330ede2753b383d57454c9fade7b89915985be4168677081ad2841ec1735c9d5ebefaeb3d53f49721d81f39d55ea01a42a0188ff79a986fed7530f3220e9";
 };
 "lcg" = {
   stripPrefix = 0;
-  sha512.run = "89fdefb7473a17a9478e380e22ce6ca53d6366e6908e57d5fdac6b1e6921b56f8cd1c5036842b92ed12a8a6485d801d1444c78bc9ca4e00f0e00e504c8927ef2";
-  sha512.doc = "26c28718f1e0891a9bc8204d932796f8e988595428f792a56b2d0710513c3c37a897fcd8dc1b7a600bd4b5a3fc95a7b90863b9b697465dbfad76ed138644b659";
-  sha512.source = "49b9721ae1e229c9fb99cb2213c12ab481188a4b20a3a7d310af13d2f8ff4010c952eed14d8ae0f69227c48ab0b585b520d46bd0888da97d90662b7aacce955b";
+  sha512.run = "6ca6f347b6ca4104ec376554ff7ba5d19002b2b4174fa491f3fec87d6c75c3ed11c1d13b9e7d30e6c086b2a12dc3013f21ee10b482c95b177f0eaff02d953fee";
+  sha512.doc = "5674612693481265f72420ae10914329029f9af2f526e6b59ba2614d4d2994a0033cb3393d2751064987698f819cca8e0fa3783555db3fa6cc5849f337b1cfd5";
+  sha512.source = "b26dc9e706b14c304a282d2b5abc2d0fdb81799238c3951badb6152f8c83f6a2ace579ea0c2fb782bdfe0d02448cf716e77c3114ff0be594b12bcabbe138b17a";
   hasRunfiles = true;
   version = "1.3";
 };
 "lcyw" = {
   stripPrefix = 0;
-  sha512.run = "06d7593d801f0bf7e7677e759325e3c3deaa2731c62c836740e2b227ad5fb1dab47911f4514b6c4f77cd5666102700b823d56660cd7887d3f4165233ce5a3873";
-  sha512.doc = "aeed5aebb5209094957d580f6b50f48fe1657700e87e514d649a494bd3c72fa81f82b133888588c2992adf3adebbd60e330e12566cb1bbb83b897ade82443012";
-  sha512.source = "3608788b437f93648a5fe35efec5b0cac97a59695d3865e877bff9a5b922fe79cfd60a14f2befeb1a45b94720e63e8af6de39ca3a5222a1f7793ee94e2910876";
+  sha512.run = "324a9eb8f1a68124888ad7d4f35dd0446c917e643e2cdcfa041ca26b719ccdc541b9b89857aa05dea2d599912c506561c762d288ccc86d637fd927cc70bf910d";
+  sha512.doc = "c063b6b5d23bd0a7197f5bd3121c93237c24f0a77fbc72cb370a7cd535282151731ef03098c36d8152707c50808c1b996fd1adaf16185bd3d0e3589e85b67981";
+  sha512.source = "5303052e625fa1e07a3e54a682a11469f0b14697fad5658f2eb6d0266dfa25e6f66bd752265a3ca99dab138200711b48cadb29d8b1a1a878a59f5c5e112aa860";
   hasRunfiles = true;
   version = "1.1";
 };
 "leading" = {
   stripPrefix = 0;
-  sha512.run = "41cdc23bc78d019ec78c16dd1bf78e68ebb0cd2d59275c3f5604b8ddc93bec863ada14678f74f85a5232cc3a3ccd693498795f24a84c5d9c14414c72e9ac9bbd";
-  sha512.doc = "5c968b53cabeb8388d914d7d7e5e7839ee4436687d4e01fc3af93c66087d650afaf61f037a466a6c622b6b5aff0f7addd04740e52335508dc361f0fc9eefb330";
-  sha512.source = "4b07e326d00c8bc67bdef641ac52943fa7c3df5d8e96f8e1f524822dfc83afb946bd7d59a88e921ec2cd7cdc2b0bb253b85fe75babf771a2838c618f27c07b76";
+  sha512.run = "c326950e6c4b07782148ee4c9ac5b22f7e42512e0bc6e5e1f75be6ed757ca90ebf2bb6b30b91ceaac32c761d595ba5799f0f40ca15954f150d481ea366f1c72d";
+  sha512.doc = "3ede6910ccb0a30c3ae9c78b86cf00cd7e2c5d8905b648861d2113d0af6225b2ffdc30509a72a5f69dd9e1164525c3225cd4ecaa04471ddf5c346a862fe097e4";
+  sha512.source = "b42b230efc2508f4b3901de791424251c6e0ff003bb342fa11ea282f46b2dfd5c68a63c95fbb9aee146839944586218a3cec0ef182575a9760d3ed3f5924d78f";
   hasRunfiles = true;
   version = "0.3";
 };
 "leadsheets" = {
   stripPrefix = 0;
-  sha512.run = "fab88dec28299b87a46d7cdac74ce21d897b91bdbfd7cf755a8e7df7a703bda0c804067b574ec1692f028ed2b35f4be3fd6bb6fe4ae02eecb7297b20e2b3ba65";
-  sha512.doc = "3c1530c52c140b5384a454756db69987ad25d336b69d7f2a58e38106fe16d11f919131c9ce99a107766dc6756942bbf35b3b3f16a4719e97dfd659f96fecc820";
+  sha512.run = "e7a84348b6347962fad95171059e968f35e7601da51ae6fa278add1ed4262bd7ab84bddad9b48780e7481056bece9c311ed1cc25e77c57f9d9e0649abc9197e5";
+  sha512.doc = "dea48a9b053aa67f6d9e3dcd3560ceccd104d743a5797320e76d43cdb8709afe7236f7ac8ef23dc9175268fe57c97898c92d0dc329a4e3151b017544fa537521";
   hasRunfiles = true;
-  version = "0.5b";
+  version = "0.6";
 };
 "leaflet" = {
   stripPrefix = 0;
-  sha512.run = "ec5fbc63796f12c9769055dcabcaa27f83e79296c59628ce127fad9610dcf3385ff5491eb61ddce2ade5e1a179f285bf6de70756e8711752f1ab1e0528eaaeb8";
-  sha512.doc = "340ae2a34093a8881af2f5c5dfd457035c801d823d58b21a6c29029dd662f0a3ba7c949cdb6d7d6983b05bcf25d375de086584f08ba9df85a25b1ed894d33172";
-  sha512.source = "8613594c43cccdf38b1111e8604b909d23a19117e3b83dc7a5e46c71df019ae5bea939248e1bf12e5bcc5e5c7c1525a1aad76787b42754be6cef9d8486fd0bc5";
+  sha512.run = "b819cae65ac9f38d7170f4aec4f94adfc547afdeadc345091fad170def744247ed46d653975e493aa64a28117e89a5414463f693a4b2f7e28b9bf998b8859915";
+  sha512.doc = "d2355c9b93ae490f4087bca09ed3acc815abb714fa7508b64155d8b5994c967b7296b79f8b3d68cd59d082d7d3d7c618c0d4d0fa50df23724ed50718f0433f8d";
+  sha512.source = "38cdcd9b452afc6ff98e946d162119615e44f372322664894a479130035a2a05520b7b1e7f616f17b04914c5caac6910ff18fd71c06a31dae9d4e044c6106627";
   hasRunfiles = true;
   version = "1.1b";
 };
 "lecturer" = {
   stripPrefix = 0;
-  sha512.run = "83e7f939ac36a64cae61bc6ddd80adf80b61b17cef34641728a77f5c5915125e457deba21232fdb712d07c1f2d2ea4ba65ecb427829f8d907620070f72a4aff6";
-  sha512.doc = "da11916f3fe603cb276466e9dd732912a3c831c693d73ef46ed623ed45c2b1843275c95ac1a7fe83c95f922867e4859ef9769b0acf2f2465c6cc2934a2494cc3";
+  sha512.run = "e0c217ed089dccb7cb526e62456bf72d186bf8cdc69b2014bd4210b6f1225277d1afb514f381e4581727900c6ebf34780bb4df01c3682580cea0418fa9caa1db";
+  sha512.doc = "97892442ebe9263cbdc8e35ecbc2f3acebdaa886e5fe814bcc0ada98b0cecd9e140a0d103adc9eb0aab1e5e48e9d7f4ab42e786d52f8fcc96d03db17c51fc17b";
   hasRunfiles = true;
 };
 "lectures" = {
   stripPrefix = 0;
-  sha512.run = "34dca68a138f361d7b4c00f2179ed2e0cdf7c34c284e5c465ed174a2b0e2417d2c13a4a152548959a99b68623bf964fc2b72426e3507d35c452a50fed7d02a54";
-  sha512.doc = "a5137ef993a80d4f8ad8a99ea967e7755cda4df5d0c3ee0c4fef272a15edbb28ee6bc33d77d35b80e1263e411f2aa545c823a119d6e5495a6f613d822761156d";
+  sha512.run = "54e2b55fb43bf548a0d20dd6c98b3478cac25bff27c013353c1e0b693990bd3afde432d07ec4b0f48054f5e923c70bf5aa60ca5f5d79abbf12d36ff7949948e1";
+  sha512.doc = "45788814da746bcc2c00f3c33541fbc4d0114aa03676971b038ec38686d833e698cc1e255aafcd06d6d5029f835e93674f0dc544a8ef267703ecbcbc96da64a3";
   hasRunfiles = true;
   version = "1.0.2";
 };
 "ledmac" = {
   stripPrefix = 0;
-  sha512.run = "65e45edcf5604e11637f03d55bd43acbf18e64d744bf0e5d4488c46acad1b8068cea8ab7bd68700fe0668c1dd28cf4177c0d61a76f7cd6098df8fc2eb1abec4b";
-  sha512.doc = "a69b57d1c69ef55d6d09802cad31f847b0056592f953d07b9d2db7375fcf19d21de36bf445dcbef00d9790caad5a0c994619e38c79693d2122051dc95b5593c0";
-  sha512.source = "abc52058cecd0b472d0caf9ecc1aef9f836e7ebd0af7c2261b646c51183231a3b7b02e7f977e79bff5748e125219fa5a47a36ab4e006dc555c95993ffa58832d";
+  sha512.run = "b465117d5634dc4eeaefbc2c12a4d0fb892f4a27ed66057938701fe51e4dedfb5b7f28d796145d89a59b2667cf61c7175803f72e5970cf81244329130d173136";
+  sha512.doc = "7e7fa49106457f13aed11bcf80a1e38f000f5161e9a67bdbb174371db63a3953109f26da3cef8781d2c13abb4b86d5cb0c2b1b41e6f2cd3584512bed1a67cf6a";
+  sha512.source = "918f3009f11e3fa2b5531c5cf8ffe9d835e331793abe1241f01f01b14d990ffd1f3aac6ec153b17f77099f38c284965209cff8f9105c340bfdadc85f78fd5d5c";
   hasRunfiles = true;
   version = "0.19.4";
 };
 "leftidx" = {
   stripPrefix = 0;
-  sha512.run = "62ce66f61829e230f46043dd54e2a5a3e87a5ce9f8faea9322ec7075754542370395d42796a609f456d22e222e679d24215cfe13cb99bf9a6abd305c3b519780";
-  sha512.doc = "5f92c6b8a7236406870edaa356ba0f47a32ab2c1b97d7fd71db11fc9d30cb87d56f2cffdfe87f2a151d4472a2ffe2c7227babf389d7a4fe9f61bcb54767db7bb";
-  sha512.source = "357f89ac6c87dbc22023e97ed4ea61c30f8bc477f9f351055656db77d02d5d6da88e2fc2881e981c57b477cc81553e8f6a2978360bc7d4b73d2680633675c4d8";
+  sha512.run = "a01d085af4ac4048b5659e7f2f1692dd787b7c4cc9a0c06acf9852ad9d5aaa9790bdad6db7a76ec2f1a268af520ac35975a7fc55ef0d6373f244c85b8b6e116c";
+  sha512.doc = "1e372c7d307b4bae8fc5673c9654785db1fc7c510e188e7e0945e01dd502580479b7910e19132c7b8b169acf7d9de84504de2aa9fb580c9a526a5700114f009e";
+  sha512.source = "3339968b569bf6fba6d7332399d0727148add95c1c0dc2ae06626269c156a4e365dbbf672b652d3c5d097d0570b0955e6cb34255e3f8383f05ea52fa2c12e375";
   hasRunfiles = true;
 };
 "leipzig" = {
   stripPrefix = 0;
-  sha512.run = "01c4af894b45cc257dcd378ac6397c1dc39e9e11830cf43bed2a0309ae7e903379749100ed23206fdc69729720d211222990d50907a4372ffec243967010dd23";
-  sha512.doc = "53b006d654a65b344bd4a0895ad8b7f9b1d3d2a1d4090af5f60b3c3145346f3ea67462c7ff268015f1812915c65404807a66ac764f2cbf3444a184190bf9ef36";
-  sha512.source = "a55034b92b4344565e48a93576d81cdbd2beae9b46fc5064dfe4fd15ef045c9c22a88a0d73ea3d26b9c98bde8bf87ba1694cb5f71418fa4ca91ecf26275e0429";
+  sha512.run = "b5bf2bf26963f161fbd5c95259404def07a14c35dc40c9fe5c8d1c2e06f9a3bf5f1ba22e8a96c965159577d6219f376c8f3f50865a753019148becfa2defac28";
+  sha512.doc = "7c8063c1a5834dbb8ca87692b226968f98961c76eb25d4a435928253250c2aba2a204bc3c24883a1a932a726e5ec430944813d5cb78de40c7954b66a2ddc9f52";
+  sha512.source = "3a6a90f56a0bc2f7412a2481acb651289fad3caa4a69d65438dcb5e6e48e3e98118f9b15218569674fb6c5600f6a626dac3234ad6d3725afbb05f0bb69414b3e";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.2";
 };
 "lengthconvert" = {
   stripPrefix = 0;
-  sha512.run = "298ba87fb340501f45631cda04d4ca623b8ee6db47c57431e4b202f1b26c35c52af22059786685cbf766cf72512cd63c1ea172a86842c7c87db4c3e8977c11a5";
-  sha512.doc = "f8f7a2729925cc43c3bb02ddaec1ea9bcb62ec7a12a1d40c9ff59d48bc4d85071b9d6a085e6a5f0a8eec37426a12887be031ab244177b85f78ac5d3f4ad828ee";
-  sha512.source = "0b7e75e53795317ea35d0d5aef36f860404c88148ada824f14061e9c70c6cf1dfc3d57366ae86c194b20c99b9dcf7101fb00203f5a206da42ceeffdbe8e2287b";
+  sha512.run = "71441058a60d5c642fc7f162952f8e7e696f25ed40e56d5b61177efe6e0f4bb3f55a8ab616e52f2555836d5205f1c09cc75307ca3d0f4fa964347d731c6924e1";
+  sha512.doc = "756564bef540ac96195b9846d79cfdc8a553c25e83313c3cd22b7926010e65033e0eee56899a0ec1deb92eb34a1c7c74ea541e4881962d6bbf34a16ab5462b49";
+  sha512.source = "fd9f190b1b388e17fa0bc9d8307bf1dd654184c3da7ee69534b7fab2d686b5dc096fa3656d0620ccfdc1da40f581ab1bd163f82d2f0071062fd48468200f39a2";
   hasRunfiles = true;
   version = "1.0a";
 };
 "lettre" = {
   stripPrefix = 0;
-  sha512.run = "ab91841ac2a8f724b6d99e71c0bb14642015be8237b7316530b111194b1d681edb65250649234d646aeaa020b1fbe576056c6440f22ac86855f17a0d0dcfaf64";
-  sha512.doc = "065a4226ac3d295ba1acbe8c36e874a38ae8f9ebcc35941f4ad186c0c313c4f25ebe1da0b5f143c19a7fc0db9cee404cac2e80d96faddc395678893240836128";
+  sha512.run = "7e50bf7d6109fcf0e128c35ebaa034c3301668f6e3bd8536b4a37c7e721592e28561911f922cfdf740d0c397a8375113dce0b7a00388a11bc4196b4b33fc04dd";
+  sha512.doc = "308122fdd634c278f6e05e85a3a052e4255f06339db0f744fdd4859f6bc2983b7150c8fbb5d85fa71c39bf71ca6aec9d6c3d27707da0f95252beb2fb09dfafc7";
   hasRunfiles = true;
   version = "3.000";
 };
 "lettrine" = {
   stripPrefix = 0;
-  sha512.run = "6fd9c70932a561968266d0bbf7897938b05ad6a3a8a71eaea99806667d59a359dbe160d0a9ce0cd763700108615afabbeaddbe7263944282eeba256cdc1e413d";
-  sha512.doc = "e074a17f198523b6311282c4a49ec966536094764c1cbf858fcd7d27ac1bce6164e095f25fa142ba4e951e42a4c0d4035d33e47a14934d4205c8a23be1e5bea0";
-  sha512.source = "df2b7bfa8c56b4bd3ddb5260f8a7aca206b89998a5ec03a573abde8a614e3790ff4e02fbd8ea4294b35ce31869f0694b9e66f6e4d85dad236b222e0dc56e38a4";
+  sha512.run = "6d52341ea517e94128da35dfcfec9344e08a23fd933ef18e1830ce014e6906bd248be4161439cb4d48e1bee64d3b9896cb866a78233c86ce72f87ac5a788e98e";
+  sha512.doc = "4f12fa28940188c95a3d707a97b18c7b30803d188bf7c5c46dd74a13589ca15609f47bffc309474c43966c3c2ba0fc6df09db2d85af1385b82ffd0a10e148c59";
+  sha512.source = "d77bc694777fe902889aa15ff12396dbc388c73fd89c815a17bd4557a340deb2f1547b357bf270c4cedf7f97edb4f33faffcb65efde9e36978ad5b6c81b76356";
   hasRunfiles = true;
-  version = "2.21";
+  version = "2.22";
 };
 "levy" = {
   stripPrefix = 0;
-  sha512.run = "a5bb7cb28f47789cf2226ce2fca931e3c321006a4de85999c9728b80189d40baaf308c9d08d1b6d34f93c3e1195f1d4c466a0a20e4a20fa37e93741d32193817";
-  sha512.doc = "bb2139366326e8af4a12b05a56c6e51841437e26cf9320f4202d7c25bef4bd0a92da1cedddd9204833de2f2e18d1f3e2a69da0480dcb1e417ffa7902cdd9feb2";
+  sha512.run = "a71294df1b2bdb1402892ebc0c82dd60275cf41f6844cdd284e1ba73c8515e98258118c5a1e5158fb6d09acdc53427eb4e3f62f24591fd2eafc90d0bb69b71ea";
+  sha512.doc = "e69a1e2e421100a50416f86bda40702aa9a4d5c5b0b8c783e328e56e1ce587f832cad984fee2cad259603e893413155bc4539e853e1df0d95c89e9167c67b2e1";
   hasRunfiles = true;
 };
 "lewis" = {
   stripPrefix = 0;
-  sha512.run = "5db517ada9c6f82c3c3fb87177aac8bd5f81bad8b4defa524b4a90f5a029cabea9892230ed43b05de0364483215a41f1941bbd55eba660b0e30200e443d6ee70";
-  sha512.doc = "d9c46eeb1510c78037e435995a97e047f482b230066f32dfcb3de00468c8fb008614cb79ab730f081f4d06b7828e61ff8b2fd92f1a136ee75b9e7fa6ee12c45b";
+  sha512.run = "7dbe24061df0d0bb4762e7d308c895c99d8f9a9105137bce8c4e589c7fdc80f989aa8c3ebbe40708a8b6fa2a2df5542ce25fb16f528344ca46d50c47724e006a";
+  sha512.doc = "b267e3c79dfacdd7ed8c931a0e5954c9fd2ea0cfc12beceef3b40bbbed30bbb421d29afd263a25a5b0b5b77a6bc74ddf38e609262485eecae065d65e23200bff";
   hasRunfiles = true;
   version = "0.1";
 };
 "lexikon" = {
   stripPrefix = 0;
-  sha512.run = "7b961acfc7efcd079fadb1c1346993b8df00dbb7b6e3dec427c39e0edf5fe7c4406cd945ed5f4be5fe624446c7fa2a654b2569064294bc6369abc8f3e3bc8b84";
-  sha512.doc = "3d38a9c2b52872be2b4ac432c6dfc4a9a16ac8e45875c78da79972c0bf0177c9419aaf28999e016c9ee73fb003fc16b0194472e0bca608335ae0c9afdeb186d0";
+  sha512.run = "7c0642f9e727d34175898138d27a838f0432a68659acd7986acb0b74183f28467351c169c52ab057daf46546d8ef9f9bdf30dcb1846b458b6b718ae38633b275";
+  sha512.doc = "4f1329d49d92d93743127e4f3ad9401e07529d31d2d68af86373f08b56ae69c22c70b89151461548aefb7fc1f7eca66cc1a4ac73407d82b65bd007f3372243cf";
   hasRunfiles = true;
   version = "1.0c";
 };
 "lexref" = {
   stripPrefix = 0;
-  sha512.run = "cdb84262dafc2cb7389c2e14d22f3fec2b01aaf50c2558b5d7ac7b0d669682e22263b080402548f4d590c1f9b1ca0fc25f37e1b63afd95fbd7d4fd51377f6381";
-  sha512.doc = "bc99ae9c5f2fb643698e7d10220648e49b9175e4852e8405c622c9b7a5557b9e283916354109f9de789f4136c81acc09a4262016e644c49a1c301392a3e121cc";
+  sha512.run = "f9bf7792ac09a6b5a69ae642e0becbcb1ed0c2eea3254b31da62bb9b7e3e161c24109e0bcacc8b89e3d03426710378f04e13a05be467115eaea2be028f8e5812";
+  sha512.doc = "6a348acfd0e0701954195210bc717666308743f5f282b9efb7a253ab860a0372ed383cc2c8811527eeb2ed72c46be95cfb9e133d156fe8b906b67ed5140437af";
   hasRunfiles = true;
   version = "1.1a";
 };
 "lfb" = {
   stripPrefix = 0;
-  sha512.run = "1dafc6843bac872c9004f9d4aca4a0bf1246f023714e8414e40bcac98f000d1aa3cf06b2135ae03246f82967d59d089f09a9dcfb9bb2b40d1a49fba6040e2000";
-  sha512.doc = "2fff337f7b0db8b0ecc9f6ce0759b78b167659ad53e1daba78d86948e542d3ebece985ea35c9075a4ef58ed82e864ca8de316bc71a816d64174938dabbcd09cd";
+  sha512.run = "5b1386321f8c24673531b48d996a20cea9ed527ae60e608f63a790a2cbbea573d01e0351c1ef695b11f14d31d5c482ffa02b337ea04e649b7b758eef713f3bf6";
+  sha512.doc = "59eef59a1be002d28ce802617ee638b6c0e74efb391a502fa9593bf19e54f563f819f45442714b46a2e97f49bd561d2a2df631e53ad3847b48a881c8762d2d9d";
   hasRunfiles = true;
   version = "1.0";
 };
 "lgreek" = {
   stripPrefix = 0;
-  sha512.run = "b549da22d5b6e59c99c989155903c20a3c3121b8217c8c39febb61df4481d5d1d751c134f25f80958f38d8de79dafecbb4f7b2b8316ed2e6650ee256cc3e6f18";
-  sha512.doc = "89beee9af80b1cf584519ec49f3cdf1f1be6a3316281a73847b40165ef7658b9c4ad0dc1a78ed8c3800503aa90e924055247e059dfd3c8dd0b96816d9ca4f2f7";
+  sha512.run = "f0b5cc9b7267aa07dc0b0f8c6d23a164bc239591fd13b5d77c5c840d33e131546c63c63a3bbbee2851000bda2e8593e7617f8a7ae381e7cd0561302a667acac1";
+  sha512.doc = "915df985f4766f492a70a35342e086567d17c155ea0dfce5514c6edebaf1dacb78998dc4bf5cc44415fef580a7779083bc2261a22dfd668e8f2023f1f15bff35";
   hasRunfiles = true;
 };
 "lh" = {
   stripPrefix = 0;
   deps."ec" = tl."ec";
-  sha512.run = "dd30f3fc1ad7fb479a53dfd98d50562f47c9db7f8846b10e38f0f80e5ddeb46cc0d544761833126254b3f4f595e0731fd69a8bf4bca08523991476dbdafcf970";
-  sha512.doc = "484e5edb67cea104ded9d244f9b3bd4afb6cb8028fcedec2eb37070f916043afa4b847830a443c8bd2f399b2b2c8d369d13cb82545679741100936c49dc9ace8";
-  sha512.source = "4013ee8ea1d43820a0c8abfee4b680dbdd15ccb9a27fcb1236c12773188a83fe1a58bb837349d69689c1dc8cb6feb781b3ecfac9b7a31d61a7dd2ebc0a1d97e9";
+  sha512.run = "265aeba5ee99cbec2eca77a273a9e4857d78280e0ff17089a358e7f85d0595025e259b2edd471ce5287479531fe37cfeeaeba405ac9cabc7ac9616242815b6cf";
+  sha512.doc = "33f1cd39b2e68caa750ca5867bebbbc43c9948a7606f6fe44ba3bd8be84661fb562b5472ec57ccc3f6c18ef2823188c2f81ca4444b562f935e6f041d8ec0f39d";
+  sha512.source = "a81d3d7295101718dc4e66c6daafca8c480b281d7219956b0007adb4fd7e0f35959277931254fc778bf69c581b7d15ccf445f5037b589cee937211c39f59529e";
   hasRunfiles = true;
   version = "3.5g";
 };
 "lhcyr" = {
   stripPrefix = 0;
-  sha512.run = "888771a6b161d79aee90373fc39ad541260d121513e81801142c66ca1f2085a739fd1b243e45adc11b5d33a72534cdfad5d9ee87f15d432a732063c3befab487";
-  sha512.source = "3b9db27f86d31800bb837ddac0cc1fb3270e4d2e751e5a96ec8e26817aa3a7a3832f2833665bb9e0256da5494f5dd04e9660fc2d2d8c5dfc06d1c06ca8c1efce";
+  sha512.run = "55cf81c051e8f23fe4f085990bc72a5b1dfc276e3ae1721680ad033deae1e3eafb1b9dcff3380ee20b72623b1ab8f117aca66f61441387d914dc29dc91c78448";
+  sha512.source = "18fc370261acff25634107705a36d06ec6367da95526a79fdd78c887234a2f2a6a17147eb317e97effa2ae8fe8e21e8df71cff3da5572055356386d26d2b06d8";
   hasRunfiles = true;
 };
 "lhelp" = {
   stripPrefix = 0;
-  sha512.run = "d0eaf745f3488d62ea5be89aa899fcf65b8f82e610e4335a766fded0f0c8ea0b947bbefaacd9b0223b5c251d55e6a096845578659271be31e0e27d692fd9c6d4";
-  sha512.doc = "d0523bb786fb1b877410fd17be4106133e1fcb1d98050b3e0a800d3fd8c7ff12e23ff8e0e953f1610e54d03cafea68457d647ffe9c266359894f568ca1c7f7a1";
-  sha512.source = "2fef4ea70694858c5d4f347e3b5f389133237e16ed6f04fbb60a57d99cce4e3fcd5be681b2e875389aa42adf496297090fee7e2ee87e1269642640d07302be19";
+  sha512.run = "3a5bb1d95c300e9546b67c48cc2c3e1a5c3089c4430d76172a8d7f3cdc59fe03de1fafc6a1babeacc9259444e09e85e02a64f3b3f8ddfe3883511482b9ff0985";
+  sha512.doc = "2411bd37dba9c4afe1ac4251c9897c99e5934938bd802dbe89993d5b6ec0d19e1cba8b143ee5febd9ad73f0ef823eb79f34587e6885250a2bce8eebbdbf06fd6";
+  sha512.source = "42e419f41c8d8c00a4d27b4bd4499097b7c4c2b8b2e75c68fedd224796dcc9b9dd09054f90cc525286ea6b72a579120c3fc027239bd0f0630ec471bc870ec02b";
   hasRunfiles = true;
   version = "2.0";
 };
 "libertine" = {
   stripPrefix = 0;
-  sha512.run = "9e2aa4193445fc7c5450bbd91313524b8803c8973e6022440deb7d22edeaf999d50f264b76e8d856c6e1884d22a65c94c03461da5d5c7a3798af53a5d3b8fb0e";
-  sha512.doc = "1328fbfe302e865f7484fd918c50eba5652368dee489a28b3feebf93b2cd6bbd855d24f4328ed6bc363819c106e27cf1185568b6b5b4dd9347956a981c41cc9c";
+  sha512.run = "22c376288f7feeca3201a0eb8150571e733acedeff62feaa1573a90d22c11b5cd1db34e5911bac9f6b86728ff47ab3f9ab94114fb829a83c77eb702ea7f453aa";
+  sha512.doc = "b65834e2903e8c11b1bda92a2d9f21e764db4828f5b63df7b14f28cf2ee791cd3000728858b262a2bc7536f9d536c4470089c7bfa8b0d5a961ba81775544f8bd";
   hasRunfiles = true;
   version = "5.3.0";
 };
 "libertinegc" = {
   stripPrefix = 0;
-  sha512.run = "40e7c0bb1d5f53954744b063b8449ad79e06397e390d949d6d9b724bb25606e6556b8054f8e94b387aa2345bcdffd64b59dd09a8a2d82d7a8b3b98f4e16eb1b0";
-  sha512.doc = "ec84115defbef11550e0267bf55e17916e8209273fd5d0c6be02d0b40eaf3e47b80d00f0d10a028f6346c1a7ca3294f04d92e5a38667170c8faf6576d204117a";
+  sha512.run = "0af71c5bd17a2c89d85c2df056e76e4f8ff98b24de40dd306a9c4207c15dbe9dfd08864736a3a45f1c82f51717396ea843082f6798b89f7e9ea8c316453a707f";
+  sha512.doc = "010db594b034a5e401fd17a7772dd3dbf95c37d533fad97f7b1568336beca31523384da1eab42e74b2e8bf294b25a8d19df7469eddd65cc1bb61abd5dbe79d03";
   hasRunfiles = true;
   version = "1.01";
 };
 "libertinus" = {
   stripPrefix = 0;
-  sha512.run = "dee8a34bfc07912eefe57c5f44332fe956325e06ed47afc3f42685da29e4c97ac49c73d171fd93506f8a354f2bc73824d8c2f400d25ebc29d908c431cbea5144";
-  sha512.doc = "fc9153febb8b82bb860299272b438ae6ee5f14af25568f7a9c4794a29d3fe3c4d032debb63e55d6e076dfc0d53f4a264e441803595c952ca3ec777fd78b684d1";
+  sha512.run = "ac413716b5316b11d09c30613461ebe432502d4f6b776aa3931a6e8e15ec1afe56d60632a5d9f941ce4acdb89e45914f2b072c95d8160fa1132819b8a0c67bc2";
+  sha512.doc = "4a01523a5d8211138e873e15c9ab7c7b1f62900d64c7c75c08daae3114cea4fea5ae3a18d81b3210be78866887ec1cb9d38fe0d4b7e9c7e498f75d65f3eef5dd";
   hasRunfiles = true;
   version = "0.01";
 };
 "libertinus-fonts" = {
   stripPrefix = 0;
-  sha512.run = "45c06cbd8e2f092813be5f9733c4747353d0ee02b19d4a0b35e5e1f0256e33834723ca18875b5a0f3f986b6fc132b25106264d6f80c6e60e39fafa913f13733a";
-  sha512.doc = "6e6aaa477d314fc367964f3d7d9eac89064f7041d6de9db00aa7408bcd70305f26705f6b5c8d44d8c48a1153cbe636474020e39f1b444b00bb5b0843a5807587";
+  sha512.run = "f30ece5291ceab44ec15c8eb6f20593e78ff2b31b27f49d9472f22ca63746099cfb9493dd9522ce3ff3b712eb3bf22d981318e985461fa53c01f399ecbfdc788";
+  sha512.doc = "8bd8dbc35aebe0596173b93ae56f5547b3637f9973802ebe215216c485731721bb400b7bc8c404644a401062eb7efaac612f03ad431257a75cb36c59eb83c4b8";
   hasRunfiles = true;
-  version = "6.6";
+  version = "6.9";
 };
 "libertinus-otf" = {
   stripPrefix = 0;
-  sha512.run = "b05ed04910ec86d9a9772910b2d40a57a6adf1f4cd691826a078ddd7788181ba62eb0fc1c23aa1a40c422af9e6bbfe0a4f23897d12c6dac43c8b436ecf1dae9a";
-  sha512.doc = "65661a311c28b38906b6f0824cc813161166c96b61ebc58957117a389cb456759fe54c663c19d37de477152ecd71cb50854b298ab418b74c6559b0946dbe3d6b";
+  sha512.run = "bcff14ba57c0c47b6b9c01290f47fd0d014d8c18913d1722fef2384df6b0c0e57f28900a9f53f62ec91da9aae7d3d40730ad318426eeba61a85c1c2b321856b2";
+  sha512.doc = "1a4939881e1684c940f5b8bc45d6f23d99e5c627205c16f09fab00b00bf37ec315104e1432003a83bf4406e3dcffe703d524f98f1168eb284fea8de327aa18d0";
   hasRunfiles = true;
-  version = "0.13a";
+  version = "0.20";
 };
 "libertinus-type1" = {
   stripPrefix = 0;
-  sha512.run = "289ed7bd7941707c20731a1936b799c4487ea399b0aa4f760cdc6bf1e67c24bbf4228b646bb6294f15c3f1d97a117812dab8ec3cfcf8134bac9fe2fb6252b23a";
-  sha512.doc = "ece66b06ae38c78dcec9f673dde0265c748d4f6a32b13bf1a62b4ae73e3cbe9cb01d313f8e284e8803bc6788ae47d47f05563c4a7a88ecbf7a686f572d5f9b32";
+  sha512.run = "ef51e05eda0197dfdf1094212ff3b8b25934d3a8b1825b145d17183ebdf96da1ceed2b6eee367e170d698c88342f2483285ea9c6f4733bdbed90a751426f5265";
+  sha512.doc = "8c7ce0de040a0012a3a15080817e5df153e30c82d3be504df7dde98fe50082307ff5cdafc35640de56eede72fc1daf55c66c8dff0ed182b1a1e4f89920475fbf";
   hasRunfiles = true;
 };
 "libertinust1math" = {
   stripPrefix = 0;
-  sha512.run = "67ee7e1893ba677fe356ebb29e944f696c40a7e193dd69190012331420e541d5cbff76348ffe23329b6063f38f3a70e150b020d1d37d800fb4dac31b71b78058";
-  sha512.doc = "b8b9b117c6680f24f9e6e5b7dff466820b71a35ee8ed72a4765434d10b091404426b37abef5f1389f3aa10e41da483784ba220ae7cf2855fb2b14a76f3d60b14";
+  sha512.run = "e1495d0bd0e0082b54748cc6536a2ba0c0664da049f3ea99cf3df3cf60066fef11854738fe89f477bea879db9dc49199fcd2e8c3c4676cd3bf135122e011bd10";
+  sha512.doc = "8816d8592f613f9776d57bf1c71a0b4018a056647be658268f8d13135deb2903b7b31e4be11098b6aedeca852bbb889b23110f76c98bbee7cfd26a2c0ad29359";
   hasRunfiles = true;
   version = "1.1.9";
 };
 "libgreek" = {
   stripPrefix = 0;
-  sha512.run = "8a28488f95ba9e527c4597c306d07d904255644d17aa6ea27ba6dff41ba75f83751dd7715f6bdda076bcb1223ab781551a8b1cca14f235dc47efede5104a6df4";
-  sha512.doc = "f911a73807e47445d2e2b3a69a86e507dd9cc1f7066ad97aad6b10a763316ecbccd21d2320defcdf1cc6c3526ac29070786c92e4def880a55bb1aef3c3e5c380";
-  sha512.source = "97a0bba573ceda152867feb66bd1e155cee0e169251b055bc043b165e2f13ba719797d20f76916fccf8fe2475638dcd089530bd14204a604a0a9dd55cfcdafcb";
+  sha512.run = "0547ebdd180554fd00a7ad96932816e13744886457c84960b8abba06125f68ec9391ffb03c7bb7ad039a2654a1b73c2c378b8eee2130107a02e25881581c8139";
+  sha512.doc = "105ad6a6d557213c6918b2160dfc70449d496155e3a0fe1e683b2186b8d10d3067a85b05e3ee26f01ccdb6f70c2f864d09439eb4b8347dc3217482e17600f79d";
+  sha512.source = "41e1629949d8fbe9cbef5a153bd9ffe2ed354789a4c80d518e5ef7bb4bb9f5152c024f190a4ad8d22eb58a69852d3fa63d7670aa1fa78001cac5d46c3891e025";
   hasRunfiles = true;
   version = "1.0";
 };
 "librarian" = {
   stripPrefix = 0;
-  sha512.run = "93bee0564437b85eaa0129baac0bc9cc8e372bc9bcd516a59bc8cb811417e3bde58410b2de28defcd8a9898aa7a301a65e15d6d1549be764708f2040f5197004";
-  sha512.doc = "e10d41fd7dd6152e9a8e5d25422dca7b3b787a1d0bd9d1c17ad7e47650706639c05de5106be42468cf9c94c657731efbd57b55288cb75769633e6ae026456231";
+  sha512.run = "2a01755bec49fa8c78680b0599b58649b803694f339383ad168bdc06554dabeab3047d1b17d63f7487860a5d0102dd8f68a78d5ad5ba94a2f8b29db7329e1ebb";
+  sha512.doc = "6d95e43b1f9965fe016bd9fc7ba3f9df56716d8f6c89948417643bffc4b9e89f8a5e6cb045e873daff819a16cc10cd61e74e73e98119a076580967187338be37";
   hasRunfiles = true;
   version = "1.0";
 };
 "librebaskerville" = {
   stripPrefix = 0;
-  sha512.run = "43d6270943eb0f88fdd4f033eb9a3be7092d123e6467aa39a259820df931f529ee1a2b3faac420ea3ef2a61ad982c4a45e349d57ac9aee9873b8cc3bf7017f0a";
-  sha512.doc = "73c9e6b1f6cdbc0de8cc5f2bb91e98aeefd4915d1c72815843ef77d568c68ab8b4d0b12e6ce6ad7e46b2cec6a2d2c82ed5e74bc63beada3488faeedc698a6766";
+  sha512.run = "03f47456269d8fba252415fd2d13faef8efdd3895405dd0385eeb2bd44a9ffdcbf410c5cc0f63a2f9df349b940408a1bbe492bb8c8c71e756ab184b6ff75743c";
+  sha512.doc = "c6fde0f97c5f5ce27172fb3d9b41499c45679fe65ad980916b0d4af5e6bc9a0c91eeb33b2a30967267887197628218772761e5a909703d1807d2b4d8f34fd4f6";
   hasRunfiles = true;
 };
 "librebodoni" = {
   stripPrefix = 0;
-  sha512.run = "d11dda0a5866751272be5f96a6ff3a946cf0b766bd1dcb8e447062c8d79cf64ead0ba25bb1e2d8928d5d7f935e5b6566f7b09a25a688b9a98393528a2c16d9c9";
-  sha512.doc = "75fdab1f2c972ebe17c12b5f637cbf4ca1c0bd502092a995270c45b6fcaa768e0cb0ed3c82ddf5926beda637cfb3d5a55afe8b45435357b96bcb8ffc32390572";
+  sha512.run = "eebacf9b045b46df1a8c806deebbd94742e2c1615e45da85946c83cbb82a3a2ff278a6a0bdf47059c5713ed1c2dfce8988ff82c4682aeeadc05772c49426372f";
+  sha512.doc = "5cad86257fd423e1f7551a014f888c28d4b61a9fea14aabb0128458fa17ad81372668f247d9e7a81ab0801d9ece0a0529a304d16ae2f06dae5598048bef4d036";
   hasRunfiles = true;
 };
 "librecaslon" = {
   stripPrefix = 0;
-  sha512.run = "9148c0d56c472dce6d28924b3f7ccf66d3758d421a9232758786ff37627b2891c3539fee48c6e453dc7c6f9dd1018b5db319155f9cee85f6944617549fb7d0b6";
-  sha512.doc = "d8d586fba45bb5752ad3416f29e964df80cb3f5e61132f6a6006ecceba6e1483b8672617a6b7659ece2e438c5aaa5b2f9668c3b549a9a539228431fd8fb6e331";
+  sha512.run = "7f3de2e6478399b1f48bb0359c90e76de85bb764788fbbab561c4d2efb3f90171a1cd06a2b68eed444f8f70ce317b62e979d79d50b2ea47d4e0845a968238524";
+  sha512.doc = "ddb0f78d298566dee2703838a75f88011a24ffc40c13dd943ea05b28ef4e43d39f9a653b66617368e5c515240fc5b74e8c563d4de7b620db98c00d94fb91f615";
+  hasRunfiles = true;
+};
+"librefranklin" = {
+  stripPrefix = 0;
+  sha512.run = "565a2a3d05a9f22f5ed1ffdc5d91f6793584317e34b999291210bc87bf7c0b001a7a01458fe95bc69d793bc4fc001e07339df4a46e3ca14311d0fc49ff95805e";
+  sha512.doc = "12575264f327a724e157c925e5b66054f7982eb0bd498c1ee50e5eaf0b37e04f8eb497eb9f3ae22ac6c537dcbbbd40133bff80e79709720674b6af3b6fd146aa";
   hasRunfiles = true;
 };
 "libris" = {
   stripPrefix = 0;
-  sha512.run = "4800226965f7876d460dfc2b54eb94be7f8a0f785e8ac09c2fd37b92dab4aa1f6824887d34b3bea3b1050ab0ee7f4eeda43518a5de4de7736c4ea3f6f4a9a833";
-  sha512.doc = "33b8383999393f68cc0a68ccfcff3f58f1c1ab5bcaf5045e3b6b51235fbba02eb941cbecc713606ade8fc5dd0fb616bd47891cd1c9980bcf73b64abc6554d524";
-  sha512.source = "1cd2d076295b1df4523ebf0b809fd3ddb8535567564647942c128bc620f4d71a9d8f2b7109fa06e176156a050bc7f606f81fc1362cc0a50f03bc325bfbac1d1c";
+  sha512.run = "1a754d896846d0db358cf4f878928dcb511d76a7de6e7dfabee71970908e3ed7caab98f854695318ead334e052282b690712069597f42505b00c41e328ad141d";
+  sha512.doc = "04378b8461d6ea0284f038974fed6ae6fc48fc362f63dfb8b8d57a81a721da7bf17ca3aeabb198c373a68a4c8e5516b66f12c240e081dabcf1b9c79fd2d2b388";
+  sha512.source = "8ccb8a6beb30c508d582dc905136cc8b1b053a8d71a7701bdeccb0ff1eecfa69e32d7167b871d4e38eb0c98ef49c8ee9a00a9ea3bbc30e51c8a81d903ac147ff";
   hasRunfiles = true;
   version = "1.007";
 };
 "lilyglyphs" = {
-  sha512.run = "708d545b10251fd31c89ca3903e226dcc63c78ac77a8d036b3475ed1d5d396f3087b8dd2ec0aafebac65223ae4569d1c66171fcebdff5e06f37fffb3f45eac30";
-  sha512.doc = "455e55a342445cd98616033098c37031c60429df822e89b344db80fab3e7b30b4518cbfef539b7594a29347c6998794696c9011a2a413a112a369be422f002a2";
-  sha512.source = "99675f5eec7e580af74fda6e646a1b6acc2541825e9fbbc83cad40f7737b5c35cf399290e35f622424d6e38a3bf3999ae4c62cb1c188c501bd52b7ab5899287c";
+  sha512.run = "8d0d8b994628731e23b1a579a141cee66043838bf254306af91f9edfe2848379492baddddd1018b7a8b7c5fc7de33f4895884412b21d1b6825856f19b7da4a57";
+  sha512.doc = "8c834cb3ca5bff9538218112523537417bc41b05e34f6f6a1670c3f6eb573cc223ec8be121c7df79ebc746afe427520eef6d1ab0f4e569339b542ee67a6549fa";
+  sha512.source = "810c33637a1a8484e28b4a3b60c4a5ec281928d049024c2e24aa0200738a9d07eb9d63f2d5f2263c90376ab071dd8b4d8ed40db6d5ebefd8f49ac2aadee869df";
   hasRunfiles = true;
   version = "0.2.3";
 };
 "limap" = {
   stripPrefix = 0;
-  sha512.run = "56202d76d91cb7da45cf5a94805f222b601e23ed907f6c6611ad9ea06c3da553e8ffb9dd342ad4c3c44acaa9f683c08b082c40cd78faf8208c3b9328c74c4acc";
-  sha512.doc = "55d48fa928eedebc30ed267232011829504ec2657676115521106e161b5efcb10b02572d040db316f73ed62cf78eb8d9486032e5d85e185e28294c476207da0a";
-  sha512.source = "a190500623b9c819f6678540979d67b18e803d8d2be39e94e3d4019dbff87901efbe31789fda153241445dcb88aa08de6f01748deab194eef94f7e8708e650b5";
+  sha512.run = "eae51f72a65d407b091244ed926ec98a7bf02ed8c360fcea2d614011555195992d315bb22b3697c8220f8e91f34a1c2f88092f34697dc9ac42f757e066198650";
+  sha512.doc = "748504c008704d2aa1c763920c03c72372c89368e245fbf4172b442b6e9efe11b3754f37c37a864ab19301c8822aa31f0d25f80edbe26405c043aab8a0382739";
+  sha512.source = "2fd49d1313293fdda8726c84438a742095ef9a917369d8ac62d619507f540b4a9ced794472441f8d48edd5a5cc575ac2ac8ff43b3a50ccff70af0416808dd611";
   hasRunfiles = true;
   version = "2.2";
 };
 "limecv" = {
   stripPrefix = 0;
-  sha512.run = "9649b976ed0bc8cee8f04d3f2bd51fb2a934bf07900c6c62ada42eaefff8a77a99557c78e3dfa7cc452d3208e15a3e6ed83671c36cc37ad2c61bfa4873b50ed5";
-  sha512.doc = "b93f3141f0347fb7f07b2329f5989363ff966e3788b7ed984e7af5c2d78dd64e7494b558bde2a8fb0e77bba8db82ea1e8a51bb66fc3b89863c1dbf8f19a7be1a";
-  sha512.source = "9459e5c05342a0df657e2ad6427c17b9290e7c419deefdedb83ef4579fc7e65b532e9d5010b492d3afeb1567c628096a52aba5840d1f660f99c5d499cad400b3";
+  sha512.run = "385f144eb64f9ad6ba13f42e75ae9ce5701265c3bb2641523bbeaaed086781e92f7cc03f25a576dea97fe533bb08adf8c24672e6237363d37f7ea598138fb40d";
+  sha512.doc = "c375f4e700e19fac6334df88100776b93df315000efa11189567d3ae0e6d542c3acf3d21dc29b541f7067d8cfb32fd74197e02569fe5275eb0277fc645e182e9";
+  sha512.source = "22953f4f1dca7a88f1f6aa359056d88944cf86010683b3b5cd1b9e0053b5501c4e98cce2abd66081f5053d75707a43749e78523b640097b9cc219b945665b481";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "linearA" = {
   stripPrefix = 0;
-  sha512.run = "056bb723ed97108e9fe4674cf0aedda641b2f2c3d425b7292ce3486b8ef110782638e64c6f342f2b84bb381cd8de9cbf4e3029954043814ec2fe48ed19cb1023";
-  sha512.doc = "6d2ff9a44691e02b1fb70738926e082708afd0e5584e83a702352bac3c59b852503bb0d79b3818ea94a0d9f62dccfee16eb9a1a1b32c3558297589e88a91bc92";
-  sha512.source = "5df96146fd5735a8772453435153679d4ea64a971839c9163d570935968d4ffd5d8ec6c59be82045e12c2843dbb74bdcf605b10bd4ac72ccfa910665d80dd608";
+  sha512.run = "5fc18101f389b2576b8e035e2f3bc79a37c11cdd64783df288f7776d1dc99ebc5c56a61d727de2dc57a9af4a4d0634b5ec6564513aea369fb1c8e4ce4eb407b5";
+  sha512.doc = "ca6749644b81bd4e6407acf0ea99f2de57a408b8fd332725dc8319888ae05e8e27cec2c3201c49e51f2cab22221ebabd8f980c627c7ce9f836bff2cb0a2cd575";
+  sha512.source = "ffbf77f9c3f97acc3bed0445dc3d7c92b9d4cd095e117a2f9ff1ba54cc1c3f96c734c1d22951fd520a194ca3f385504db06821a0797a4394079fb221d650fb7e";
   hasRunfiles = true;
 };
 "linegoal" = {
   stripPrefix = 0;
-  sha512.run = "4bbc5b5a4352bfb81336af91f9d77b6e16eddb8b73ae70dce0a6a2a5b622e27a277338403aa630337df3bc32e4333b7333a32ed4d989f9d6b4d4caae6a611d9f";
-  sha512.doc = "cce3c4504802a438788858cbba2d29152f8f511ac8fc04eb9ab0d019e1c8670a9a184452fc50f708227188234662225cd30acd2cc209e9ac30e66f0fde40cc42";
-  sha512.source = "481f5265e1fd7e5107ec530ebeff768ffedbfa9c3a92ce4ee24ac7d4b64a55376c61eb4f4432e158285667e3b0c3839bb06b7f0e089259f09e13886582dc2d21";
+  sha512.run = "87a062513ff7674f315472cc46e13fbce99057c3b7083a2b9c93b92f09d538af29f5d1e3664dd5273080b9037ac232dc0d7491753b83136d2d3558ada1b81976";
+  sha512.doc = "9c61ec4fa6bc63a57f7b272c7dfc55035e8e4f14225bbd2763157915fd351a2bb4f179150801f06682fd9bd59f756edbb127e7bd68592ffee5c1cfbac91b10a6";
+  sha512.source = "69133c573e53608e6b341abd7e745ba6b532eba05bb9a2ff2105bb9da69e31bf590fdc3f06241e5b667ec7f0c9458a908f5ad72304c7a5c9e412c0057611c5cc";
   hasRunfiles = true;
   version = "2.9";
 };
 "lineno" = {
   stripPrefix = 0;
-  sha512.run = "dd66ea16c7878fb34d3b7f43fbdc126bef0f15e09388655409d41488126ccfcaecd0c34269116d83c39df787c13754cbb48b1e4a3241c28985bd5e3a3df0a3b8";
-  sha512.doc = "7a0a5c86fee3e4ca4020fb5e3271978468fcc81a0d6d076dfc73d83f9837ca1115f47ef2620e3a5a3b967395ab8e97a02dd9b76bf82744d380ba9bc34133635f";
-  sha512.source = "9833dfa17d1cd995314a38f7f1a85f6fbb190a0e1c10c163dc33ec1a370c4c14dfa134ff35a920b04d84bdce09ce39667fa49bfb0afedcbfec1d0a26e6b34f7f";
+  sha512.run = "c98bb4c84d6473c3038a359872442ff8387ad8f111ce1d82021728d9bb8e29ca08cc65d5705261bb347a2da2fc27594cbcdc8accbd59aa03c91f0c25312578fb";
+  sha512.doc = "da4fc0ca69d434c6d97cb87390247b3efd3463f5dcfa7e828d2bc840d2636036c097d6d54bb2e89b5d9b5f2a95a41db89af415d08ceacddbc4642883ebc134dc";
+  sha512.source = "9598996c2796de011a31a8b8ebd38fa343ce856fc6d291426074da40bc557359e9ff40039cc48faaf6b4a3d039ae091bb7d7dfea530e449a0be3a34dba1c997d";
   hasRunfiles = true;
   version = "4.41";
 };
 "ling-macros" = {
   stripPrefix = 0;
-  sha512.run = "fe018bff08137d844802ca0c99ffe3a0e044e927be497fa707d2cfc36a868f5fc803320787744827729765ff6e792e14c62a14b863412588e6158e53f671ef9d";
-  sha512.doc = "00e8f896b8796dc89031aaff043007e7276aeebe624f77b006c266a4965ae06bb03682f182a34ec97b536621f5b605c79085f9780d50eb3d12062f90f0322489";
+  sha512.run = "686dbb33df2670af909a80863943a8870ecef128679ab679f3d90d1747042b752c9aea15660c962b0f02418233d4d152e64357d5b57884a2fc2371acb3d90a52";
+  sha512.doc = "fe424a7db4be743168c4b1016fc25c95d33cf9d66767b39db0e79a5ba1bb667c76b9b5f10b23a08449362a3fef281d60f0b53e2b0f196846efe9f4765f3f08c6";
   hasRunfiles = true;
 };
 "linguex" = {
   stripPrefix = 0;
-  sha512.run = "d679785e47cbb0c7741621759757ece79ecabe096310ed0f52800a5dab0fcbdaefa405a84ef15bba3c1f852740bdc2ce66e49117507c315e942c12fa61dc57b1";
-  sha512.doc = "e1248ddd9152ccd6572bed6246dc3e65df3c479f09aa7168890a4dfda62c6a9f8b0693181eb7e1679adf7fe30830febcf77fe21e10998f8d68c954aebd9220fb";
+  sha512.run = "36fab316a894029feba86bf771d4e600b3e7f5d766deb9d844605979b066483500c8fa0a425718d22e9a2bc14d74aada16ca8deb7ee744a81e18fee8c77a7b50";
+  sha512.doc = "7a5d84d5425031d341deea8f37f1d8a9f6eaee820ef66661e8e38eafad2b20a5e9b04b81b1a0db0b11ab70fb0adc9c81cef886978626008eba6aa3c32bc0c848";
   hasRunfiles = true;
   version = "4.3";
 };
+"linguisticspro" = {
+  stripPrefix = 0;
+  sha512.run = "74f27695393e3b9489d085f6a358c05481c37eab37985530cc91a12d81430141e57226f08174079eb4034887ef439a27498c6f224c01169c74e04ce71bd4a680";
+  sha512.doc = "4073f3eff8e46433d6fa58f9cd271180ee8e2861229459fd8066a35212d562b6625a9acc267c68f584f82a7d235ebeb361a41a971a8097548eb926004418ece5";
+  hasRunfiles = true;
+};
 "linop" = {
   stripPrefix = 0;
-  sha512.run = "3a59b63004eb332ee10c322272807cfc41ac31af0e83fac4578de33547ad9b1e1084bf139ace14c52e8430cd2c681ad090455a4e03ec92622852b64334bcd50d";
-  sha512.doc = "f846adf12bbe9ce5f95e739fe4f7b7dfd7c14dd05991cc3d3a39da8970e93016c6bca54795bdc4486c8acb30ff41f6c118a4cb93fbaadee0642e881232c2f69f";
+  sha512.run = "ba0c5e053399c44203d6eff42252854a16ccbf12132ee6e26fa577587554234b36ed31a63f1a6c40059e0aab8d9367a5b6aa6f34d552d64866b46e68478c36b4";
+  sha512.doc = "e63f09e370a53dadc92591d105c677f2a5eea4cbcbc4e3133448df64b10abf2eae1d76cdeed5e288f610be13eb4baf8f248a6e9df92ab79066078ee165b9fdc8";
   hasRunfiles = true;
   version = "0.1";
 };
 "lion-msc" = {
   stripPrefix = 0;
-  sha512.run = "4843cc01315871b787ce279dd31210301b81269f110ad308f3af6fe98fccdbaef51e45fd2a30b3f5039fa33bc92f6e2c52785383304372d3ecc1e73e680835ee";
-  sha512.doc = "e369bbb870e4c5ea5ebe0479e93e970481fe0e2d30cef389aa687836ce732731ab42a94ec2ce9648325041546f91265d2f6ac70404b1120f78f6f04223dd6fa3";
+  sha512.run = "93a6800c371a2444c34de2888d09076cd41b9cb773b39af1c6772928087f4c0438e85a58267e9a0afd309722b5eb16907a553c23d2cba008a65b6e2f3b3edda0";
+  sha512.doc = "d3df6b66fe429e565b9f336b2d864458de759a907fe1c0ea88e002738fa7d7122a3dae0951f596c56192ec5b44023eb604eed7cce357521e8295431675bf2e67";
   hasRunfiles = true;
-  version = "0.27";
+  version = "0.28";
 };
 "lipsum" = {
   stripPrefix = 0;
-  sha512.run = "8ce5767e0dba53c01c062e021712ffde50d1449a24c1f2c7645969f549ecb992ea48e81135d94bc0642825931f918d264f804ec1c92b19e9572dba7b76d1f53f";
-  sha512.doc = "caec67a64cd245cbcc625d05c9b354c9a0e41c4968f6af60f7d8bdb3ecc4c5ea10fb3df325429d2d9a841c4b2abc1143d206fedadee94542a4cd281ca784f7a2";
-  sha512.source = "a2c4a613fcf8cb0657d54b40cc37c05e64276dada49fa31ea6daaf007f2922130148fe679470053959d6beb3dd6bc6527c8ef2efcef9fcc5a031b9656b85a0be";
+  sha512.run = "f5d2454f160162fd1272f5a43e021e1050947b527614c6450a87e1ba8aaa8151dad281cd962142d5ad39cec9f44ac7b313fdcc44da94db0256ab9a2e14b75b0e";
+  sha512.doc = "fae8e8002b33c26ab34c53d09e1bbb76f46164e2fa8a59517dad19e81c1b84505170e675cc2d9072e30d5e5314f7ea7b72d61e273de9ca9f898d97ec2143e3fa";
+  sha512.source = "1ac058c3c83d14701b54238aa78aac52c1495038985e30584e948842d5a6486436c733df790fb56b405e99033496921d9401e6d73ee485685e46586a01edba00";
   hasRunfiles = true;
   version = "2.2";
 };
 "lisp-on-tex" = {
   stripPrefix = 0;
-  sha512.run = "25095131e83db6ca19f3d5303940e1f2ba27eda008e7d7bffd337da6d4d45ac4ab41233607488635ac007c07211157b35b15f3c34973139ec6f0a0d5e916540c";
-  sha512.doc = "c559cd27838dae13246151891d67c5df984d2d58ba8c575e390caf29157de889884cba86df1fa65636925870e3305c2454fd596c34a96a5551355096a9d9a9b9";
+  sha512.run = "67817d9894ac5bc8d456ce2b114eba81b0c444bf53422c4acb5066b42cd5cd55d73c46fb2b443db9fe3b13bebb58d6fd7f2bb31686dc4ac2295447285295c602";
+  sha512.doc = "fb3a8ef4ada38d910b3055f408059daf700946c84b17873846175e6cd3075ad7f3889d2af154adc3a7898ac33646251bdbe0d8cda17ccf354dee526a96476432";
   hasRunfiles = true;
   version = "2.0";
 };
 "listbib" = {
-  sha512.run = "4fab2e4abc99307598e482823e02a3961e694faebb8c5275557c9030dc40dc8f1d52d5da6859466139fd2194e4272b1b93782562034aaaf909fd1f6a205dfd1e";
-  sha512.doc = "46b2503dcf8615eb1f8f93ba6633658227a370fc8946fc4361c08ffeba5dc03eef6361df28ea996b53d59708a123b1f7bd5502f5acde813805b1d2ed35f60c92";
-  sha512.source = "efb6cb3f27d90e64c29f0dd8da57d75985990eea0071dd3f73b5f952d820379efb9286f981d4b1d7c2276b9dd2690c125cdbade04091f8a9233f0e21afb72199";
+  sha512.run = "e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8";
+  sha512.doc = "0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3";
+  sha512.source = "441b13ec75d91c68b8e7253a5dc9a6e515c5bb0df81a4784dd414b1956be6f2c9189051ae9090a04bd4d11919945a38ad6563f41c27d1b8d03ad283f71c9a19d";
   hasRunfiles = true;
   version = "2.2";
 };
 "listing" = {
   stripPrefix = 0;
-  sha512.run = "52b2c88af72a800d79f78fe805cfbd0c12e0ec3410a25e56d97d1164090f6afa13cf57cbbe0f062994f79dbcc924c2b5441fcee3fc238ec0c3025db70bfa0695";
-  sha512.doc = "aa3fd47301a3055b5d12af8d4b8dba1adee33d4d06f1eaa4243a3253bbecb54a607b30654a0e053cc402e9b8d0b25ae211c8ccc0cb5988da28b6ed46db570a06";
+  sha512.run = "154a9eb9da19d4a1d9f6ed421bc13f1f83279cd456b95ab8b7d84f9c48d6aae5548b7357e46041580d4b457758aa090e6352aca9d9e20f1739dc589d4fa24bdd";
+  sha512.doc = "11ef594d55ee823dab2a88ad5882e1ea89d7741f1038d3782ac43fa43cce948c1ed72096ddd11d1efbcc3b43ac9bc4dd23713f725aa71807ea174548d9a5c968";
   hasRunfiles = true;
   version = "1.2";
 };
 "listings" = {
   stripPrefix = 0;
-  sha512.run = "d9ccd62c1c55d4de26db7e2411aa8095223f73ebfcb9e5b177b0a6df53d79a651c8cae82a0b0a24726d3a3f9e55454d2344c651524511934207334fdc2db5b58";
-  sha512.doc = "d25ab881310c3d6ddc60bb9e9cb1d9a3cb49a84de011a8e6c08641002f27a6f40bc821fa1ee32dab339ba2f26b937a0e0d076069045ebfe98641b379fe5e063b";
-  sha512.source = "b7d872104ca0195f77c6d06ef7baa221feca5a9a0b1d2ef70b67212398a48c67284cb0aad4d0d5243f7463c009cd5e54d54653e2c33e5acf7f820c0122694be0";
+  sha512.run = "ca15ff0ea1958ccb4d7e464245f7a214a509341517b7bc71823823f5673bca3d7ce27b6b7236f195078c7f9e7e3812a5bfbcc1c0b59196d06bf28cbd4ca63acd";
+  sha512.doc = "38e7e013f56787a025425342858e2f1933f0f6295876fd9c2d01df568d76b51aa17e479fab968a9cb950fd77cb0810faf4b31b267ad23c32ad26f6e85ec32d0e";
+  sha512.source = "50d5bc041b885ae0e35934adfb3a76b048d8c7a200081eedcff4984b433e498444f4230baa63e86669d526fbccb15a232b8b2faf2f9787fb63eabc3da14ca28a";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8c";
 };
 "listings-ext" = {
-  sha512.run = "99e2cb51f1eda7d031be3eb39a1aae3295da0d5532691d3b1031111610fd06ca134d271b5fadc065991fb5f427f33486a67bc1a9dc69421a4ba0ca6162cc25d6";
-  sha512.doc = "d26afc5303dea720645bd0296158d24fa5ef2d733bc52d31a4c8c57a87febc7d60f3556a30d7df6406537bec8d7b94c37c572291bffcca84263a7a89ed2e7f96";
-  sha512.source = "d1a6f2f5a4047bd3ed0ee3d6f5de2d1094babed732d4469ae2ea37b8893c14f84fb98239c8e568a762bc7bb62046d2a9ed3f4d90b22877f2c6deafd1595ef1e3";
+  sha512.run = "c68752d0e7a1ffb7d08f153bf337849164d0287f20ff8f092635ad7083b2e5a6c487bcd9dff913dd029f4ea92750768d23583eed53a0c2d3bf012e4db059708c";
+  sha512.doc = "82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5";
+  sha512.source = "fab34f07d6384a5474f3ac30e2e00a75398418668134ac1041cabded6209c9521244e1637e4037e7346bc70b3247ebcd90526d5e34fc3c4e388fa978382bf228";
   hasRunfiles = true;
   version = "67";
 };
 "listlbls" = {
   stripPrefix = 0;
-  sha512.run = "e8d3aac3466572225183bd285cd927ade4c0a398949b4d0ee26c8647af60cf8da4d05092387974a1c4c9bbd46b921e8a8628ca38555bbae25cfaa59fc35276f8";
-  sha512.doc = "cc53d332a3b727d634ab94d4bd8a23d5800258fc390b3753107e305c6d1a2152ddb114ad9c1da063ad7ddb2194de7fb4276f0f9a7c66dfb4a34f276502380378";
-  sha512.source = "471edd300bedbf573451e53cab697d3737dcef4f2006df53baf845410479d5ab692f3ac36242fdc277113b54b7c004fb3681827233436fb2e5d79c79b3590966";
+  sha512.run = "b5c2e7e168b07aa288c911dbf5c1fa8b56d2a73d38babf0140b77bbf783334f2da42b2bfa8d951e166f7184345cea26a908d12ff4a07ef89b85a7d7772d645e1";
+  sha512.doc = "225837c7a5c80b5a01739c20011f4b4c76b0cdeaf26e3f8f44fcafee3e439a104c6eb1a47660a788b96a3cd63f3e19d1384ecada059380773850c7a4109d3269";
+  sha512.source = "3b35fa88f640d4f2a13f0cc888a7ab7bb09052ab080454d398f0edc27caa11728152e24bf5184d54aeb1bc86e599aa8a4bbfff6a6efd790e11277f99da2f27e6";
   hasRunfiles = true;
   version = "1.03";
 };
 "listliketab" = {
   stripPrefix = 0;
-  sha512.run = "2a98c8a6f6ecfbf2650524ad72509d8a47d741da58b967014927b00c3e8af92546b4dda05452e38e4d7c8f5c0b29ab56cfac665fdd140bb9e4fc7e335f28037a";
-  sha512.doc = "3fe42c67ee16b94d55fd28b189312ab63614768a023d14fccf55507de494e7b7fec440469e434711daa7894abefc3abcb3ffda4c8ea45b266612304a7a759bf7";
-  sha512.source = "e5f3dcf631a5d9392b6428d0c4bf30bb0dc6f0a34824144b7bf4d80be589106034d9935007a7c46abdff129e31dcd06355147c23ebeabe90b39c2320319e4e29";
+  sha512.run = "0aead2b70e314639aeb98c199d051fb0701570df0263f452bb2e65408678d437c7eb071c41d8674971e42a0961da30754696a58eaaa41dc32d33ded58a833153";
+  sha512.doc = "70ceddb9c59981319ec33fba05c663ecaf549b5dab56f29fa07f9c314d97d999c762ee1efff0d20b5e35b39e89b031458fdde4c5c708e0a1c2dbfdf17d710c2e";
+  sha512.source = "68b75e9dcce30acb59d928f4ff95732cd7e37061d31625f8c1835ef6b8da85ef39f4d8ee86b50e299e71cace2ca5307c25641042f325a93a93bd04bf804ec5b4";
   hasRunfiles = true;
 };
 "listofitems" = {
   stripPrefix = 0;
-  sha512.run = "b82286f0adfd4f6be0ff4e4974dc1054a1d9924b743b07e6c44453f1cc25cbc41e54eaeed6a10236706ac2f5578dfcd89e56a8eb86087bca81def600ce6560b4";
-  sha512.doc = "889924a2b94396853003ba1d1f55352b1fd62a1f28c77d75fe79008bd0c4cca819dbc8291848e7102ea715b6c58239308eaf83212e9f5c955e1a973819e8c2d1";
+  sha512.run = "9cdbbac3442d2b6cf45659a77dbbf7c1db2252af3c656d277f8c9c1f8cfd98879efb7e6a9957481cd6e892d8f3df1c8ef46c7992b45c6c461dfe936018600917";
+  sha512.doc = "e7c3df40b9657dab386eaf54f08018e3d390a1de96a47c5c4f63759c11aa38b243301287940131297ad107e4a63fddad5bd9ca5982b211febda7bf5a6a8d40de";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.63";
 };
 "listofsymbols" = {
   stripPrefix = 0;
-  sha512.run = "a9327c900fc4f3e6a8c219211e4136aab4d12b2ace952106e33b94c10e2892fbd3c42c522cc89cd6d0ba70930651607c724ce06167563f6c957bc3cdc82a6dd6";
-  sha512.doc = "b722083baac81005e655a86e888e16ce75036d1ff3681410a59c689bd02d7029a051333431a04709c4792961e53a9b439c4c269047ef55ad6b7c980d25b28758";
-  sha512.source = "907a60ac1b12c1c76527e9b0fc1f67f493ddfa9ebf357c53ebbda5d7edbe68291c1c602d4348c79deac8ccea51096fcf4da66e792d6f0cd3e38f98837c249257";
+  sha512.run = "dd32fbcd59fa9ec599b0a06672d2e810b5b8172a96a4170cad03a93be3da21a02a036967d0e7e3a617bad6535aca2b1a34a114c383b5ed1aca22bc45239266d2";
+  sha512.doc = "ff8bb87ee326f0b0df175eb41d634d67cf2f1ecb76f1f8dacf2e19d061e54c4f5cf8e01c7e8c41087ca6b69a04f5a3184ee8ee39f00758d3df2f24a4b2e372d3";
+  sha512.source = "b232671411ada9bee8e9408ac9f7bb94e57010a39d916beb78d3f04dd1826203b37f8b8d4f040cce5bf0cc6b7ca97eab97d6f764ffe370b09c361a44af530837";
   hasRunfiles = true;
   version = "0.2";
 };
 "lithuanian" = {
   stripPrefix = 0;
-  sha512.run = "94f3bac72d845496934cd474f9ec51b9dab541d9efd2a6e55972568055b93a57a63104af8fb5e1fe7283f08d99184599e3eb80637a8b441eca7677b38ebc4208";
-  sha512.doc = "22e16063cbe9f59e7e0435d827f14423426dd464f51886eed3a0383113881d7e8492e838c51d373ecde2c4d99a9352c6d4141c80292127703b29c8d848254c45";
+  sha512.run = "228fa0f588bb0293778a71a910401575e20aaa8a184d54d51dcf1bebc8bb6b0c0ea81cb1d3e0f2d36b6a0abf830dbd328caa6053fca7f40a83bb292f76b83918";
+  sha512.doc = "e4b01bf2174854d95f348caeb5e5b88ec436420178eb06a78cb9157bad23bcd34584e9bde451e3963f4de59e66162820f9487ca4d166b2bd898b2cef17e63ee4";
   hasRunfiles = true;
 };
 "liturg" = {
   stripPrefix = 0;
-  sha512.run = "a850a6c4cd8bd3181d9d35144871a413aac9a8660fbf9837c701eda9a0bbadb8d6c82803c912fbbe2df4b2d109f74cb02dbd64d7c0b84802e8e3ebfefe8053ab";
-  sha512.doc = "b22d9d4647c54377fddcffcfc5d38152407ef58eecf509dcebe1672c8a75369a46211792cf7a56726595d29d38c93139472d8b23ab607524083329c12ab6206b";
-  sha512.source = "8460c6edf94920b6f505d678ca5f33540076866adb1872c4ebb196c4ef4f0870116c435d3fd044c50355abf9eb586009e64b7fae5f0317fa6857ed7e85f06837";
+  sha512.run = "e97da4e9046fbd60ac2b22bc3753db7a75b5b6aeeb6c37293c5dd1e4e8fffd18b32818b9038b816a405033ff74d9c19ec2443b0169721656af687f1c5d62cf9d";
+  sha512.doc = "6b342e85917d5a70dc32461de01ae3c6ac66ca247b4ba3d812b7645f1cd1d961c914e584cabf743bb03ea74cac144ec05b03cc09d0c23cf7bbf4b8ce7d01937c";
+  sha512.source = "07bfbe684ae7584cac1dceb3d9012607ee24639a0e4e858d2f570f4aa3c21280bb6116123910a111c729dab794e568c05f8778d3b71612ebc288b0c268eab920";
   hasRunfiles = true;
   version = "1.0";
 };
 "lkproof" = {
   stripPrefix = 0;
-  sha512.run = "d5be4d8dd3893da6961f3b516846b5abd2258527dbdea6120a4ccc9a4fd07129f76af83ff01ffcfe6a1931e47842be63ce9708e1fceb37f370ae1f20ff3e5adc";
-  sha512.doc = "920a09606270004c8eda9173859cc4b14002379fb97fd902c4e7a23923ec94aa56a98c0320eeb8006cfe12e1ed97ae96cf229dd34f36aef7e0773d69680af4ad";
+  sha512.run = "58c211cf1ed20b36e69ceffc8568fc1cbdb51cb812af79d16a64cbe8a8e7e672a2d49e672501b2cb23ef72c4a04c59017e17e538061159c8b9e797624f8334ca";
+  sha512.doc = "01c3f1b50147c73294dabf83d79811862d4742f5a76f69ff6f6a1d5a2b0a8462e3728ba6e4d6fea57d3703c638f6cf04568948d45d4ec8d1dfe59571ff2933b6";
   hasRunfiles = true;
   version = "3.1";
 };
 "llncsconf" = {
   stripPrefix = 0;
-  sha512.run = "30daf8c816267a6b5f6b887ccc6d16890b0eeb45c3892bc3babdedd9502ffeaa18174f7c9f7436d481b382c5120b4c6110de10e9adc508efc8e4407c10deaeec";
-  sha512.doc = "636199aca8bfc969f953ddcec2b4dae899006e9dd158ce9b15bcaad0aa805bf298b00d854866483c83e2314a2cc95cbd5bd96595e3712440928215077a606793";
+  sha512.run = "9df2b2ab5fa1434263f4df8a4f5c5329d38bff47a3f9178b2b220b50d34e410ce2904df5177076131ecff1a5a20cdb9cfd6cf84d986210df1ede7ee61f73b255";
+  sha512.doc = "a0a9ee4372d9afc48fcaa16959a9c54a3d10216d6196be963f9b35c66f13c970a4cb4a01996cb2397a10a6ea36c445a75541f7bdb9608c759e611faffce56574";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "lm" = {
   stripPrefix = 0;
-  sha512.run = "5bc73dbcda5aef36ecc9e49268a45aea4ff8a29b59a8e2e426ae560a033af7aac44d6d761eb7a9657577c1796dc1a8ce12d1c58369d5addd826f6721d5c8b756";
-  sha512.doc = "cdb3bf69658b36ec8a0fbc4a984970ffdc4ef4e773d9ae972708ba5ec33a7e785b0a3c11cbc6ba908e5e9a8daee15674730a9ca3970ef86f127cb70c8c59e579";
-  sha512.source = "f4ff434a5ed5b53462d5caa4347a842703a59669213784a46e0ecd2fb7808a7bbb2bad33b78999bcb18fc1968e022872e7958bfd0b57bd305f29d1ff8d25d418";
+  sha512.run = "f94af6c169ee05d3a2dceb00794feffb7808a4bedc05da7655ea74fbbf675047661f49f4f2542373e5fef60fc0f91ea9931b25bb10c1449f593b84ebf65cd154";
+  sha512.doc = "baa33984a243c1000fbccb73f853dfab7c935e2da5f68294cff38db950d85f09ae9ab63f01178028c5f77d00c03b919487e73eca78dbcca60b9ade73a0773b18";
+  sha512.source = "954d7cf62a32a4cff318c9e51f0f9d5e4b2de358e7f8830b1dd6e4515806b9e446d6f1f0b074bc8a7a8cb20ab5f8dbe715bb0ca8b77c4c8265d868d821335c72";
   hasRunfiles = true;
   version = "2.004";
 };
 "lm-math" = {
   stripPrefix = 0;
-  sha512.run = "6b0d6d989536a32bd9625abec0852eb6a1ebedd19000c571c6399764bb1bb5e454f8486539fafb20db63b7a4dc064b559a9b3094bfc5d14456358344bf186c83";
-  sha512.doc = "972df7f9e1af3c24e0fa2a8ca1d602ec76ee4ebf1ca29ebe8f94941953116808e90ba71eab1fe16ffc920659010ab3402699289235de5ddefd3e25138658255d";
+  sha512.run = "f2424f917e13aa9805f6738ceed376d6063713dd4c58a5953b5456da4ba81eaba3f0f97963ecf36ead4f68b1311c4c9e30f064002ab8bbf0f5ed3a67db3ead4a";
+  sha512.doc = "262a99ab29fd22976334eabaed77d3326e87b63014d9e640ef8ea31b14382b273a6435f3059aa235c50f9f829ec28adf754763e17a945265495e9a54e7ee53fa";
   hasRunfiles = true;
   version = "1.959";
 };
 "lmake" = {
   stripPrefix = 0;
-  sha512.run = "8daadcf6840d457b1d7c94a1b3886248adcebaa1306535ffb70ab7e50c5cc99e07704acc77d062ef39d06cb6644e585c9a168d36105bbc9bcf1fb290282b05b5";
-  sha512.doc = "550a71e09af936e86d334c30bd26896ef478d4d86063e9d2163a9628f33eb2e6b2b65011b673582279a3f1298ad4c6e7144af8f32bbc8e8cfe9547705fc8e7a1";
-  sha512.source = "55e6e5c1ddc61f9b91c1b6c0792bcf1a4b0040cf938a0ee5dfdd42768b48576e38f1cb9016ecbcb225aaab1a9fab45e085ffc9fdc540bb62e9de004892d9b7a2";
+  sha512.run = "3613e9d53808b2d1e326175c28acb672c1f244b2e00ea1d544e1e05c73e2a93e49b5e8b187a8a73e87ffbb00c22235781983a2c0a733a6ae5598db12c278a763";
+  sha512.doc = "08fa487d9151ea6a49a73044d1f6b41ed0c636a69e04a2c9f04bce996f915e9d267383a6fc374f3292c01244981fdebf6d9fc462ee0fc151ded2601e4554593b";
+  sha512.source = "d18894108d2b4b5d46d4e212648b6c7d76894faf4dd45555371d17df5f6d186d4d2b5c8878e745520441eba2459c5fce320bef28e23bb59c09f01fee44a6041e";
   hasRunfiles = true;
   version = "1.0";
 };
 "lni" = {
   stripPrefix = 0;
-  sha512.run = "76b26d64f58a31e2a1ca208a0cb4fc0c6b3a3ac0143e4d5f2d950e304f7e27d8dfe1aa281c4a013d9b056f06cb81189372d53b6cf1c6b926c16510cf19e60779";
-  sha512.doc = "94fa6da8ecc68adada56a2f86785d5e111135770c556991496ecc85d23c6dcf831f9c1cbc19752d5535cd1c3d075c86fd1b8854142b7902cccf51f6463548abd";
-  sha512.source = "ee62aed7fe29f07666b024483fe6dff4d3447c9d0a4ccd907c003940fc7b4dff5ae30fe15ea45bf64875e9dda1dfd7994ad0e2a2cc9bd5baa3bf1f17030fd513";
+  sha512.run = "8648f9a39d982e99f19af652e39ad1feb98c01ee2a06b3912dc609213673bbd685e11969507842caea4657d8ec0a33f7b3a9ceb0a4cbfd4a9c4939ac1d30e42a";
+  sha512.doc = "7ee44a6ba2782b28a81c8d907ed11a07079b4e8eed3fc1d8adff80274df471637dc69e15e6012d9147116c76d2faf9beca10b22a554a03ae6985c9f68791f104";
+  sha512.source = "ee33399c5fe757c19b4e297b184887aaf44fd011b78b2ba84b906955c2da3ff3e76c6400a9f21967ffaef8806f12a3ea3c82a4a20d24c737e0c3dc514ec5a0a0";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "lobster2" = {
   stripPrefix = 0;
-  sha512.run = "01ddcddf240936b55c4ee58e52f345f27d4450ff16369fc3fc73752a8e74ba0fd32fd052673913f2e3bdd839f26e1d128407624e14f4874c1d2378ef8f07364e";
-  sha512.doc = "9b0ac88ac19259b9ccfeb50e17edf5c5205e955380080e90fa4e66d6a6739afce2a8e65f8b236fcb211e9cc437060af5ed58f5360f5d38738f863b24eda83cb1";
+  sha512.run = "97692ee9293dd7fce8a3ca01f29a11daca837baef5d55b2c85339e1b2656430d009b5beccf7f04c5eaaf9b1643624fa259e353bf7f8afd6ad78df00999c252ba";
+  sha512.doc = "4efa18df18dc64cdc88d52b3b4bd9936f021a039e62eeeb2b028461328f2c3fc5b0bb0b661bcb3d2db155c48c270dcf1c2dcc2fa4951666597277e8ab1195494";
   hasRunfiles = true;
 };
 "locality" = {
   stripPrefix = 0;
-  sha512.run = "48d854b76a985a4ad6586325a26bdac9d1b39b1f89026e7371d275613a5154ee07819bb3c586ebbff6e7fc40af6c5a258d269bec3052f0065f4e7f1f6635ffb8";
-  sha512.doc = "0a3a2e538a4a60927a33fa92feda6ae923a8a125bfd874f7a51249b6a3887668d84307db1e65899fcd88924ce7652fac5894f6ed12aed3369983d51c648199df";
-  sha512.source = "34cfc3772c3f3ee6b38b7612f283d9d3386e87f2d20161120e5ec68d2ac8182a6aa7193b845b4ccff7471103cceff5918074309f17820d561673fe26c50f5829";
+  sha512.run = "c7fde4ad74b339d340a046a4f59ff73da45942631c6b68275d365c18ee80b213d18b84540b8ee535f012aa18ef559e88b1df3fcff4560d241ee1147695824a2e";
+  sha512.doc = "5b7fde689fc764dc75930522416cfeb51ec30eec64080b289c085be4b00a0da1c5d6d79d2734502ca8a329bc2935216a8b298495e0ad1ac8331c6d3a5718bb5f";
+  sha512.source = "bb1e55107d9b16460b8990f35461bbe775c674ecb2dabb78d19514e365cc97f0b03ad5884b310edc60f2fea9366ee2633ddf4280165cab562038e024ea9267fd";
   hasRunfiles = true;
   version = "0.2";
 };
 "localloc" = {
   stripPrefix = 0;
-  sha512.run = "a0e16a441a1842331d8ff4778904b68dcb5c7650e605fcc12e2205b780fdd9b42cfaf4b0d2c528b3d747f75e57886ddc2f5481d8de6d4a493c18b18481302b93";
-  sha512.doc = "e3e47a9beb602fb94a1ba7279d4f9e04b4dc12a4112b520d5f5dca52cfa3b56cdf0494f0251dbf5991eabde2705436d6284e28c1b101a8abbe461816cb73676f";
-  sha512.source = "7dacc5d6ee2eca888bc99466575cbc6865bc4083565b65dcfa8ebccb0ba46b23600ba56fd058603d8ff47aa6a6b6372f240c089b2035611f36dab34ba1d725ea";
+  sha512.run = "ff1e797efe69f372e61272d187e758e303e505128549e02d8fe45c621a28e55337d13b0fdbf6065ef97d4f8c51018ead4e97c1c4b2d9a76f9a6d299136f510eb";
+  sha512.doc = "13e03c65221c892acf80a51bedd6a18232e9e9adc7ba92f34399e678a2d88d7050b94f8047087c891075c2098bc759c79f1276ab2ee8cfe08dd7723f2ede6f74";
+  sha512.source = "04da29e24ad627fff42fc88a5fcc480ba42eec235ab2e283a89efcdc87082bed4b4b988dffb5ea2456212cdfebe9f66937c54ca799a3253c76884e86b13f2d0f";
   hasRunfiles = true;
 };
 "logbox" = {
   stripPrefix = 0;
-  sha512.run = "ea4fb3891441a49694d998e69f1fdcca64e795335cc6d18215c65f282049897f0bb7a41768d5e1f01df6516b2dbf69e67e1898b272a47c760bdd9ba5c1ef0b03";
-  sha512.doc = "b87519598311f255a691fa89bb1e4c98a07c18afd8f28f5732ef581ce19cd2c5dfaaf1984e187b8514d784ca1e55cb03d09f8744e23b7e4aa3c0d6afab9ccfb2";
-  sha512.source = "c568a8a760444c999c02bba8d8dd791f22807a465365198b550a4f643c578d85b0676557af022d470b46ef063193d1c3f66a200d5dec46901e44eda6168656a3";
+  sha512.run = "0c6f9d401c81344465d6eaa6eb6e655443c4af1622bfb6751db508638e2625aba7b5e77780fbb6453eee40b8a7ddba84d70ceca8882049779db61f83e7a15aee";
+  sha512.doc = "21f379c88638ee8499e7e47abb0850822a08d520aabb352e0f85ed0c38950aa71b4f9b3d430c31193de5640a915d0c84dc28fba71443d3f2e461a2dac53e2b9a";
+  sha512.source = "3123ed1fef39d4a252159c65e0cf938933f2ab4c693d8f7364f20e60accb20e32fcd9da8828019a8cefae1fb874605ffbcf88dd7123fff91871858cb5694a985";
   hasRunfiles = true;
   version = "1.0";
 };
 "logical-markup-utils" = {
   stripPrefix = 0;
-  sha512.run = "95213312bc9348b673420c3177bfa03b1c2c94f5a369ac5ec5fdf64d22eea20ee31f86258f79248a85253ae89cd6b8f7a5afd0a629c6e36d9cac47d12cdcc2ed";
-  sha512.doc = "6f1adc74f9ea04bd8f3a78f62f1d126da4c43ec9965d94d2047b777bdc5d03162589df8f2891ecb4c4540bbef46308f0f6015e19c28feb81b6406e5fc9a2ce09";
+  sha512.run = "87f7fc345935804705ab25ab010376fb72bc4722c75bb115b0c9dd0e0a51fc8bdd6dd4051b76dd083ec07d80b8c59c5d18423da55e0430db7a9f94ad0bd45906";
+  sha512.doc = "80c44068a6e474071e40a0bf3dc67f0201b21eb84a041fad8423c59c9e34ce138833c54ead638979357dc3026eea55da034daa05e71a56ecabe701ebf53faf24";
   hasRunfiles = true;
 };
 "logicproof" = {
   stripPrefix = 0;
-  sha512.run = "ed17364fcb71402d6a56190b20115bc2335d303d52ac9f971fc85768c5b6d492d15ec3a7fb7dbc1f637c8d58e981e527a0d7dcfd19f915435be9d21dfa6bf942";
-  sha512.doc = "732fc80c0281eb26bda98120f5bf383ca2a000cf0b84e1f8d9977e50d0f437893778445f915991867d9f2ea6cbc9b9953bf8e1607d3fb5dfa97b53d562f6113f";
-  sha512.source = "02e84b4f79ec6ccbd73f2a838cfb0c0b7b013d6f57f5f75fdb582356a7095684483cf27f863250f41ac167cc3b2596068021f7bea28ed6c036a90f114f716fbd";
+  sha512.run = "d5b15ee5f35a9ef94618f8b092e97ccc4f1959a617c2e604b99ba56eef14c4a1a078d66f2c77d02239289e30878293ea6c9ff4134bd003331fc41fd3db19cec5";
+  sha512.doc = "bf8a33c5db05a30cb4f520fa2f73f572a90c3803c4b6dc1709f9e2c80f67e32e7665ce898852dedcd3daa8974bf909034d06f805ce473318f0f512645ceaf9da";
+  sha512.source = "4cde464059a65161c6ab069ef0c8905e4e6cefb7ebfd8c7c3b2af909209af4a911dd1bb0daee5b27868305660601187fe7a105660b395de98ae3d30864f012ea";
   hasRunfiles = true;
 };
 "logicpuzzle" = {
   stripPrefix = 0;
-  sha512.run = "bb851ad8f7812b08bbdb7764dfd4eaccca439c1fff83c6672ee08c89e1eebde2d249757f5e8408ea6253a893b0470b80b89a0369ef64119ed2a8d9f070e11274";
-  sha512.doc = "86783bfa1706624eaac232afa00636f971d653968c9005fdf8d9f1ade9728154f19024633901ca6823175c8f6e130c117b82297f405649a19cb99a1e138a6b1c";
+  sha512.run = "2c642c7aa6d6f12e51228432f8bd9fab906ff4dd3354a49f636582a065bff0f534222161ce11306ff6bf3e354a9ca6f6394cf9826b321ac94e9ef5ee8c0621ff";
+  sha512.doc = "872a72ed13f7dcb43df3bd2f2b7bd504e3e430030115faadf0a130d2fd94331a335c4853e37c78e4b8aa7c59a44bfd87ad2a484b1b836c2a7526b97ef26ddd56";
   hasRunfiles = true;
   version = "2.5";
 };
+"logix" = {
+  stripPrefix = 0;
+  sha512.run = "19aa0ab48dce9b395436486fc731ec9ac1a153bd965aa6cb0835954acf54b2d2e32faef22c4130e167957ccfbed59fb3a83ded4d2b180966cd383e27d6a65f92";
+  sha512.doc = "f2408fc3d3a99c97e3be5090a54472f568cda97425d106bd14610d687f7bf5bf4297c3870c69a4f6b94004ad0e439e57055c2a6af5e18d39861640d0725405ea";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "logpap" = {
   stripPrefix = 0;
-  sha512.run = "d2e9939d2d2b4f1fe1ef369d794b3037e76ba7681195afc2e05c133866bbcf3aeca19fe8a4de603fa8b6a3090c8d036a28502b722120d0a0334533a58ea883e6";
-  sha512.doc = "cdfe0fa0ad0d7e13c1d931b15bae8cacba9a0d25310536b621092475d67c24f8ec1c570cd738cd3686423f02c9f535156f0d232446bbd67417e899d0976c8926";
-  sha512.source = "19a098596c4cbb5566be76a6f2fd6c95838f50bfa6ce182e086fcf118836836ffb1ffbbd5fe9ab849eef20ed2984bb2be422949f3df2c4e2cd532b1e6ca78447";
+  sha512.run = "159876dc23e96f65fbb29278e30baa497489331fcf52ebda2adcb19098c2519044ce54ee590c3d91f80bf27b6df0a49aff455da54748c3e04c7e81c2be108e4b";
+  sha512.doc = "f85a52b9d95247ce5eb537cc677aff184a434a41fa9c3433955b43eec3e3cf2deaa701718fe77dd3b3cfad5811c5275a097d980e157130705ad5cd3f14276dff";
+  sha512.source = "c6c2127c2789c2717072d8d08043ac73a86248d71dd542d38dcedb3a36947f7ceb99f0246787e279b22fa03dea554a6afde6438ffda3fda6143027a7e6f1d78a";
   hasRunfiles = true;
   version = "0.6";
 };
 "logreq" = {
   stripPrefix = 0;
-  sha512.run = "58a34917926aa3812b4749a5e539cbd41cf53111fbfa01bc0295dfa70e1a68a27d6fb38b3709442ddd7baf6d77d20bf15036ba22b117abc4dbf3b037c58ef627";
-  sha512.doc = "d554c411596c0cd66ebf4ecae5c56136aaacac0460dfe83cc7ff377ba5494ade31a887555533ac90269d56cd2e16ecdd8a4eaff89172f53c99e8b2ff62aadf73";
+  sha512.run = "4c9e5f42869e690768515d49f62aa5ef7ff2d9de2f42bd1b574f95b7903958a0506d334300f89b38955fce0c47bc65e4c3e17cfd04c5b6df95406e6b78ecaa2e";
+  sha512.doc = "5addb710e2948e67f6369763a74d31bd3cb20d847df6cccef739fad3b34abea8663d00e7304cf47309baa74086a5cfd581bf46610ed3d7123ff74c426fec0131";
   hasRunfiles = true;
   version = "1.0";
 };
 "lollipop" = {
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  sha512.run = "9d388b2970c9a393cd21bfedc68f0a250dad62cf4f728ebc0313d25b1a461025661efc2744f0e85920ba674596f98c9a0af987839b31a1b23f2a797be887ad7b";
-  sha512.doc = "551c2557d686fe656158f2bb754fbee843ff251c95e0e8ba6b43139d81702d335897ed32c28143c910addc87f3b9e30acb8f563753084faf3d9cd657a6867157";
+  sha512.run = "81557b83acfa4ad42dfa6fb1a65ea42bc33885da444ee23bc3c67a899df7b3ac2c19a1607305b5ec10b503980365c5d29ac3598339fc186a05417ea5bca60a78";
+  sha512.doc = "206dee2be733e3ac04b5b259862b60fb3641fc44ea182da601ca54a010ff8e42f254dd01c03be7bcdd2a6258110c567a596ee82b4eb74d04ca8ed70e50cd6a86";
   hasRunfiles = true;
   version = "1.07";
 };
 "longdivision" = {
   stripPrefix = 0;
-  sha512.run = "e5b8086954318877b30f32054e42aa9361224307e51587afd760ff4435236d636a3248b0b8cc53ef106bcfae35f9d8ee948b9b97b92a9beb069b5bf71e788f65";
-  sha512.doc = "2ab1fa5483eca5da8bc1077d25f892691b282ff6369e6a32a0a74fac52765f99bafd1a1447f9c1da0971e6a87cf29b85bbfdd4acfd07f2767a85b304147dbc39";
+  sha512.run = "64669ae90bcf3c98d4e58e9ff016bd03e151f57a83c6a98e71eff714017c4e9bab95694d33fef3edde79001f0f90a54e4f64514488b00d1e373122914064d8b1";
+  sha512.doc = "679f3766529588f5319f511178ab84e636d9e888a3f2cffdb6d94384042bcc7deca14821fb5010e7bec65614bab9adf336346bdcc38bc8908a29a6e9266cdaf6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1.0";
 };
 "longfbox" = {
   stripPrefix = 0;
-  sha512.run = "9c8ea6cbd1781da1c66888e140853013a9561010d1b35d66def2715773d0bd4d655384b0c257a7c231c5da919d5a68e2a24ff435495bbf876baac4b5c167650e";
-  sha512.doc = "d16a5f3ae1dc654ec04c24734eed5f2fc856d2d9303034c495a85d98ae56253af19c0f630e46dc1b1311703bc72c12cef81ed70c7349058e33f5f7d2cde7006c";
+  sha512.run = "43164941fd7ad91fa304aee01c3d34ec1faf8672549ae3b2711bdd4c91ae57ecbdcd8b29080d6c96cc64a73f7d7fd74c8621a70604a29dc1474f3c922c34a4c7";
+  sha512.doc = "fb319a679631e56122535b99a187d3c2ad5400d4a1f00275b73420c43f98e8b421a4b86f77b868c68edb39870132117de3310a00bde82f6387559c6adf34a8a7";
   hasRunfiles = true;
   version = "1.0";
 };
 "longfigure" = {
   stripPrefix = 0;
-  sha512.run = "e38e10c7250523bc0707e3361337b65989a26f7f6bf4d90956105a525d9fbaa010310dabf9867252a5de787e9edf447c46ca62e91256dfd0c4e4a16268a658a7";
-  sha512.doc = "ae8b67cb06b1945f9bd9a7195297e5673a4ae06fc174d46d5a8ad78c32e0d92dc38cef116d3721a2e9c0fb551ab8804b5f1d4279677634111e2eb4a884d46e29";
-  sha512.source = "603be3e5d39781642264ff56f6935b81b604ef2696d747bf6ff3b98ca7b9cdacf3b70705395a1442effc839c4291ff6c66c8a2fede0f3819d73184515b922491";
+  sha512.run = "984f10c8a2196b490dbffb015f2aa6449e8db6475c2f02dd71c92d5a3f6cb5dccb98a4c4f923f6efd3bbb1056aa8e64f324e3d8a051c11879677addaed8d3f06";
+  sha512.doc = "1f949e3ada113710f40b6d2960bb01ffffd3f9d26a65fd0482644da2a20c5375454c430e1c7d3b74cf872cbe486ccab9a4e71567592da5d39ad9e72102c382db";
+  sha512.source = "03d73c0d0c30d0c69f1fb878dcf843b26480c5005d88034e6f09fce485db3cf249240f2e39f591acd13556cf06677bd567857ceaaf96ec9cd0178f8216323be8";
   hasRunfiles = true;
   version = "1.0";
 };
 "longnamefilelist" = {
   stripPrefix = 0;
-  sha512.run = "dc29ed649305de90006c904136029876299bb1e666841493aa0ec8d9416d6f7faba64a3de124418b9597752280cea4dbde89572f8407c54a6f3c0290fb9d172a";
-  sha512.doc = "faee6701f47a99c56f75dd3f25c350333cf038f1a0e026aa1c31b579d7ba631ac0715cf28bfd8b2ef442ca515898439a434c6f8a929325ffa2e2a43ab8c6c7d2";
-  sha512.source = "7a67ba29a40af37039eb1e443a38e00d69ad47044721a6386502433a19f00924e27ba813313c694f6b54a1f369cfcfd18b1852e52e57f5761efa0699f4e20e93";
+  sha512.run = "1d16ee9c76784c5124de3abe62b6e916d0f65e979a18a721ef688a960e5d20382dc976de0b68d95c47e9651ad71a67ca97a828f1bdfba8e4a77ac084d7561386";
+  sha512.doc = "d909908d763342790b8ab56d333e60d7047894472f3922a2554581a5455539845af72d3867d0a55f5a27e982aa8128ae1a948f40e106fa127f2d01156b55ccf6";
+  sha512.source = "af1383755b422a3bdbf7af7437b732a39aaf666c7244e75d498b1252d3644e58a18115a744c4b4c7fe1433f415b40886868faeb064b13647452d444f64fd6f9b";
   hasRunfiles = true;
   version = "0.2";
 };
 "loops" = {
   stripPrefix = 0;
-  sha512.run = "6502eb7ab20604cf277783a0435e7a2a41faa3c8bed6f6c79b30c78b88d4b1dfec33336e0cdc85186af7fb9a64750ad3fd261c438f3c852a44470a16318e7b30";
-  sha512.doc = "28e7841c79b59c9376269369a45adf02a6798ddc8b3b69b001e285bf7af65e98b66680903d137af061a8faa7e1dc25740b19af0257d5e418daa715db3f177fd1";
+  sha512.run = "60ee6999e43ba9082c5a283dac5a930c9075b24f6bc7cd3f719b0336b01dfcb17fb2d5e3c82b9f1636c9bb3e6c923607a3d9237d08fbaf17bbfc1196d0a75281";
+  sha512.doc = "9d70b3ae88d64bf2710157db88113224a95947aa03f11a2eb659c61109a451e2a93b2aa5ffd6ce9cf2f1b5fc8e0ef815850a0a9f27c7ec5ddbfbff1fe98ecaa4";
   hasRunfiles = true;
   version = "1.3";
 };
 "lpform" = {
   stripPrefix = 0;
-  sha512.run = "0f8c3e7f5e585a2ee6d08f397b486aaeed2a9d0af22d3d5391a529a6a87a828ff713b0e3dda1b9eeaa838235e55437ab8660502d57fa2626b8045dc9e918f22a";
-  sha512.doc = "f80b14818c5f7a0fc6cfbcc8208490c41089c0c32bafd7ed8d3b68a81d3372d739d818dcf5085e861a14a8f6bc3ea28851960452d1d24cbcc45eace6dfcc75bc";
+  sha512.run = "91d5748629ad72ca421834ffc61c13f71240bbcaedf9f0e4279bc6aa0bbdc817f093c24cf5a9c50d5a4a132208969bd356642fc5704ebd5c4ef2b7eef23f27ac";
+  sha512.doc = "92ddf3b473e13fe8b77ad955d55acbe7a6da34381bfaac78184342a900f2c9bb1e0981d5ebdb440cf0f44affe2eb0dd862f9b51d2a40c9abd90f1dbe81584c9d";
   hasRunfiles = true;
 };
 "lpic" = {
   stripPrefix = 0;
-  sha512.run = "d2427aed695fe956fe90c485233bcd1189603e5f522bcf76d8fd9bd6021ca02779f23cc1c8da70628e50537bf1c2789bec5d77d0dd2b615008f8f5bbb16c17fb";
-  sha512.doc = "85800646bb25f9f33a706bac57716531779e8f5478d28b536a818da52b600e45ebabe9a74c05cc5fb460ad247a10f77589de0377ea588f5643f4ac20543d87d6";
+  sha512.run = "d918fdc8744a9f5e0d24f6ba4f19bbc4cbd9a5ba4b3c559ab1321c36a9e3599ccf6ee849bd7f2ef6c3156cec6e526a44d27bc033b7dc5b217e289fdbff0bf149";
+  sha512.doc = "307109b75129099c191a65a7632ad0cbc903cb2b621b199dcceb7cab5ab5ddeff7ee504d7da3afd653e1aac04236efb6a3c1225f9e533a777295052bcc28d2ba";
   hasRunfiles = true;
   version = "0.8";
 };
 "lplfitch" = {
   stripPrefix = 0;
-  sha512.run = "1cab8b037e4ccd1f88f41d8e3e5eb6226b164fae639e36144a9a0fb6af2cbe3bea17da3a8f3faca1b98f4974e03e20ee3725f3af261375742ff892f82289e2e7";
-  sha512.doc = "be7d76e744b8709e9bfca3cbe777d097c8992837b4fdb9644a5fb200e0a64afbce2620bf4d68afe266daebae3f5bbe4bd9fdc509845be670b2b514df1e89966e";
-  sha512.source = "db4f1b0ca58ada86db43f3980f19f7d97f636bf6510676cc93011d561550bb51b475b5bf3ee47df05138cbfdafd19b07b0d6d27403b02feb7f2935cd549b1308";
+  sha512.run = "189b9d6000d4b762a3c64652bb05f9465d5c789b7e2413e8f0ca281a8d4729a3044aa955ad7eb82c7b8513bd547bb76c2ad2b609e902b07f8f4f018698e17071";
+  sha512.doc = "a690ee2c1f9cf5eb36693a4a9385c047a31d29387930211bf6384d7cbedb3d1f1696c0c04269b02ef29b13ebccc69bbc329772f3fee209a1b1d51768484f9a50";
+  sha512.source = "b06b45d992045111d1a8aed78267519f8b959415b00b94f75602b35cb7d37c47092e726db881d9094e82d3e25492513db66b210603730f8119d10e60819ec89e";
   hasRunfiles = true;
   version = "0.9";
 };
 "lps" = {
   stripPrefix = 0;
-  sha512.run = "34dfe55cf5a772a2d0c6019f4d8fa4036e5ceb75af1129a6c2142995a450acb42679916fd46667ae4ce33134231eceb8a29dcc20c420a963652d57f581b4b1a6";
-  sha512.doc = "b74a9055eb66c93a1231dc757c5c5e918623ab4ff329d0ca3782e19cf7b430e970dc23101feab0293fdc9a23b970e5a238ef780eb85210403a431497fea4bc9c";
-  sha512.source = "81c74b776b4fe73c79d77995e8e68cd2743a335c049809088396f452b441a04a06512b2afab7e0faba2347732423ad00be2dd33f99c2062d7b64be00e881906b";
+  sha512.run = "8bc59b5d8874fca88bfe62822f2050f5dee0461523d853a1c92a051e854ddd6a8b2ce235a674bda383f26ad01d6e18a83cac87db2ea73b4af7e22e74ff823d0e";
+  sha512.doc = "a8ad542b5d2c28a9a02b5e4d4a43a13e2f3469512cf7264eb7ed78e2c5a29228531de3be7e84e557e3cc8a9ad60e59ca426da3d5e034dae6b40088ee99d2fd94";
+  sha512.source = "d1ae82c4a55280183a85fb3eec77306990f694f85c5d6b543b4ce4bbaf87a01b7fae2d6892bbf23587738079be503ac94b6a68b372ca1948863ceab826975a85";
   hasRunfiles = true;
   version = "0.7";
 };
 "lroundrect" = {
   stripPrefix = 0;
-  sha512.run = "50caff961bfa572ae9ea36ce5c5afba0259b579eeed5308e8261b040d4897a45fb1a1f62dbfdfdb85c8cc2a5cd1314b18b26b3af1ad1fac5a7b327dc792be4d2";
-  sha512.doc = "11ac802287cca62b5e247641edbb5745624371cf64d217cc19fbaa052886bf2c5a97ef89084ed09399b59450bd0166bc38ca5837e79d3e32f5a7b1802dbf999a";
-  sha512.source = "f3a639815cc18f096daff9e982264d023ac4a2c46f7efdefcff01a88c721b8764772cddb96115fdb7ed20253af15574ede670a8e6f22e1175cb7d74611ad9fa3";
+  sha512.run = "6e4968db6d4593fb0ad66c58b7977b77cfc5ad29a8ae8648bfa0f7844d71a809e0b381acfa4563cb1795177374963ddc10e8fad8a62c1523ea82288c7bd02087";
+  sha512.doc = "12e6bccf3875f4045558df6e274a13f60fb7845a998de2e8a722168cbef2d9003224f02e379bcf0752770542aed15ec1d1e680a54e347763b554535ffc2e1042";
+  sha512.source = "cf39670d2c17420b2283be3264b163f7d4df70288b6c974674cb0ca4d52e3d7f99766f9f0c5b8636348aaad2ca851d1c4b3d530a2a85567a1bec2804ac5d70a4";
   hasRunfiles = true;
   version = "1.0";
 };
 "lsc" = {
   stripPrefix = 0;
-  sha512.run = "134bc263794be8b2a40db93708a6c74a58c25920994d406bdd81d2a9b8d900a75a9d26683c34782535ae9047153b969dc7c4ec7c4a7466925901afd1440e3164";
-  sha512.doc = "f7f132878cc277c6cf1556fc06971b6e312d40f2cf135a5f2b4d25a7afe074ea1f5b372e29eb4576208ba196faf27b00524345b5821190d5b844bb8e9f834949";
+  sha512.run = "f61d81a49c25972e03120cbf6557d356d6df6937af6e0443e47305312485217b6bb5c0818adf248fb860ec5d42c07fc22fdc0c54f9dd1f3bdcb12486350316da";
+  sha512.doc = "5d0550421ee0657c378cc1ad8159e16e43644f533e3d8a013d917c494bbb8d11cba79b99fcaa7bdcf8ef5f5deb88d144ed64d75a5682fe4c4187c60c634297f5";
   hasRunfiles = true;
 };
 "lshort-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "feb356faa485a690aa54ff3541c1419bc6b7aab289c375d6023500bb964642ca9b783e24668d7b1f3379478798edda7e34ab3cc116c4b1f8305df8c163032f1c";
-  sha512.doc = "8b0cbf5cf602f9adb28a5a4ef2ba9b7b8e17ec295e2f4ed07c7cf5b154aa8443131f1f2e642ebe24519f824215c5e5f40f2b737c619ef1d43c10ac92bb5a6736";
+  sha512.run = "b528c16903ca8ed5ce69f5e2397dff8f05b13016384bc1304980cad71d86bbb55004d41db92dc29dd412a12b9a0a1b1ea99afcbea621a25bb20da4639d008776";
+  sha512.doc = "7cd22cad45d7ef2972679cf2a3653c3bbcb1d9bcfe94a65fb9dac23760de05b659470ca45cf8be13513924fa1cbb98599a304a51bc18f8f4d6631f082e662bc4";
 };
 "lshort-chinese" = {
   stripPrefix = 0;
-  sha512.run = "6cae8434df31fb2f9cd0dc22f1b7f5081ea09a723290249101ec11c4d55a0aaf2edf4ca65844a0ff454548741a8890b4d5aaed6d8032476a8213f49746f0c55c";
-  sha512.doc = "0a7efa433acf59b693635a0b5b84a882147859df2681fe94f786bb248fc0db01370fa741aeb1fae50069f12bf61e1f2ec7a2645106e810c7120e348b6b684504";
-  version = "6.0";
+  sha512.run = "29c47ba7c96ea569e85df3b94962bb60e9d81259c9a30e04ff2d51bf667bab0fdbebb658f432907f4cc813bdf0f14acc0cb28b24e35f98a9e4278e1c591e6b4f";
+  sha512.doc = "5365dc7936d87d7af00909d9f3f3cbf4f0423777862407cb264a6a2d73ab9ab90586f7396ef606baf94ac95257742fba43aa1a4b48f59f01cf33bc15ae62b572";
+  version = "6.01";
 };
 "lshort-czech" = {
   stripPrefix = 0;
-  sha512.run = "cdc1edabc81f9153b469596db1039d664f4129cbdf07e30973097dac4d6fd84441b4015e2595b0df68130d3581a3b591f807348833b2a2a0e7e48a1318b38dac";
-  sha512.doc = "1fffd62d69fd1ed1a04cee19c5527896e2b992ead63fba3dd24231b897c5dfbb095ade4cbba96f6a8e8cb4c295f9413726bbacebce84c7d3d7967a25be6d74d2";
+  sha512.run = "feeb9c7244f686767c5f72ab3da8aa2bca69af7e6446e1bd8eb4dd858ef92e4a4eb6f42cf8d429127a20e84cac894732f0e05a360b47af02f67340b09311e495";
+  sha512.doc = "03295ea4bed83fb67a370ae547945335f51f6441ef913aba0ac3364f258153c6f5013d57e6579f3be6a9746a22cc4f34762871569d9d68c0b0d2acf40127fd80";
   version = "4.27";
 };
 "lshort-dutch" = {
   stripPrefix = 0;
-  sha512.run = "0a24122f4ec08cdd9d93d70956f43ca1f9d51c6b21c5048eb8a10f1d906ca1704190f7827342fdc2bc70e87492e3ce137340594d48fa92095c1a55e35dd4cc24";
-  sha512.doc = "eb6dbf050ac838896dcdb69c2a9e0708b3f3845324e429a81b824415e0b0b374c039b6a4796ffb01b956af5ee060cf6043f5bb82797a40cfda90b763ff334272";
+  sha512.run = "c8635db5888817d392706b8b65aa5158a4973cf236dad7fe31a9545857daab15a6c1f2f82ab06e71e50a4af94824b17ac89c394a759721e192966a1f78433d47";
+  sha512.doc = "29fc8b6a2645f241e8af437de3a295be8d56a088bd7c7666c35b14f104f242e68ecef2757d62a393400d9f337eb685e48ebac06769259c723d634312a7288ab9";
   version = "1.3";
 };
 "lshort-english" = {
   stripPrefix = 0;
-  sha512.run = "5c63912111f97e4ef3ad844b5aebbbfc87e06bea0678581d2d347950a28adf28ce93126953083921d562a608e711c082cdf94ee2b90b64a02e9071facc6ca980";
-  sha512.doc = "d6c1c2ea3ce26c4918ae97312aebceebb898a37b7dbdece04d021ef31d0b47daff82f516b6920642acade1088b4d144d551c4d1d91221e02e063202566f3f46e";
+  sha512.run = "88214b8addd6169f3bb1168e2b3eaaf9786e0c20e9261ed403f8ee6c95a22252426438b75d0ef74770ec26cce1da012ce0d908df03fcf1aa0458294e8e6bb603";
+  sha512.doc = "14a1bd61570b2445bc8f38595260aa791760a0bce82419acfcce0109698b5600b727c78233edf3cce25b1e2b17dad97cbd8829b072fa7b33d71a3949fc74f303";
   version = "6.2";
 };
 "lshort-estonian" = {
   stripPrefix = 0;
-  sha512.run = "c2a80570ceed404aaa393b0810ced1ff86e03dfba94e37b8fe7463c885e3587471dffa5f9df55a3fd18192024c64769202c5d2bd4b768849e89fb3246ee04797";
-  sha512.doc = "b6f62aa6897d2413b62d47197af2270188705602821076b072c5f8a3dfbe94b3a39423b7251373f3bc822b622a386b32ef9605649070e77e0614d54964ab5151";
+  sha512.run = "6bd3c07c1e5f9d543b0f67a5585cc33252567cc346a8d7feca050baf8ab437be97e73d2c4b4b159102e9c4772f8cce2abcbc25486d73e976b83a3d2f4b9e9487";
+  sha512.doc = "e16397fac3e6cefa699b412ada1851c7792520da8af1230274fa1a337b890629b68f71d94b3894044f28e687c6aa60d766377e12232d0e522e82e18dc97428e3";
   version = "5.05";
 };
 "lshort-finnish" = {
   stripPrefix = 0;
-  sha512.run = "fe17b0781f17089d3a02754bcfe0fd07cc27edb9236761f75748110cea98e3360f243ec789a12307597ded80ca94403781582e598009239bde7ccbd3e3c20ea8";
-  sha512.doc = "4a4f2cc42bc3cfdb7318e20e16304e3f79a082ce58d703b3cf69359b339f9c4e393d62b3d0f87c8b43e9058439963d8031bf5b50acaa6ccbbf8681dd72a9f75f";
+  sha512.run = "997db393d16942e78e4f52eef886ac7b14cba7ec3fd0c88f8c2cc74fb6b35f3802c58c51ac0112cc2b086f9c3b965b5f8d508ea81a36edb7da1ce84ef83cd203";
+  sha512.doc = "71c2e5c4d49a779f529a527cda5fcc6e55cfa0149fc2d9272ae7e69aecf2a8a361b057bcfdf5deaa7791073bc6252c3101f5ce0b8d231c779e99c34910a3343f";
 };
 "lshort-french" = {
   stripPrefix = 0;
-  sha512.run = "426e30c7d83ed107f5f7821754bea4604b21305f53de6bd11ae24e94ded4921ef80dff7ae6ce1a133e093e0a6c47484090867086765b3f02cab59fdc77503256";
-  sha512.doc = "14d7bbb0906448253fda58ba54dbdc09caa582def3b629e42f8deebf3fe240c029e324b0d9daf407fd4ec4c39850132e5276f5acdeb8d4cfa08c8dd7d786fe6d";
+  sha512.run = "1b2ab00e9e69eb058afd96c1ed099b8c783bb97bb52411cc907afcc82d43167ad6e2023a95671e90d059ee43ae335dae3401cc0d1b53c19c186992756aad5060";
+  sha512.doc = "2974f067584486528adf42a13cad28afd205f2f52680e89e8de33c4c0debdccb2d0d9d8259d6e2adaa5f86af0b9451232450d40ffacd9f63c43af2519cd8a06a";
   version = "5.01fr-0";
 };
 "lshort-german" = {
   stripPrefix = 0;
-  sha512.run = "427d12c0184d0ad90e4408e81358448ce0919cde5b0058a3472043b7990ab602102c127ebe43fc3cfada5c0a63e0ae05d5499ca4f37885e09437f124984ed518";
-  sha512.doc = "017a232c60b72daa02ddd4fdc38ffe0ba25532a5fe7825145ed02f0c8162a1c8b2e5366d915179293503626caeeb84362394483e5b634d14b72454a42f52024e";
+  sha512.run = "92795389c811be26f98af6df5bde8c521ceecef1861facab67622811a9d6859ac83daa78f0f37257588318a87214f1ece3f0ada40790661d09938914b0cea437";
+  sha512.doc = "11a2745ff16418ad28dbe1cf4b88225a86899c30d102ea8fa6f3775aabab102772173335cd4985b8fa9b53e324e060ee11d8d31ededf0f6b7f5020443c835331";
   version = "3.0c";
 };
 "lshort-italian" = {
   stripPrefix = 0;
-  sha512.run = "69183fb3f161c9b964208c2a7c434430ea051d18eb04c585f90295043709d391b6aa6e93e4c5e3f4c76c441dce78b1128ebd808af115ec1d3febf0f63c22f26f";
-  sha512.doc = "353a087a86018147ad47258384a84dcad217333c3e3df1c9401284948ae9aa63179a2a2c0b68e47d88bf5407624bf15c8b05b913165db7635fec7fff27df916f";
+  sha512.run = "b92c1566d1a7c9a079d3d770e9d5bc8e33e61da53100c3cb4617e37765076accd16b89210da12ff954e25a97c55d8a2168f81789ab31c05f66bcd6a19168f719";
+  sha512.doc = "2f46613ff2ebaad079a8f2bea6756932aa9dd0840977dcbb8ee195072c1d8c590549e362dc979e9bd373a46ec44d21303aab72f351d799d2a7a3f5b6883e2c06";
 };
 "lshort-japanese" = {
   stripPrefix = 0;
-  sha512.run = "27c64952e4d1f9c90875dd3d3343df93a6e68a3c87d4c970aa8a357d972222d2c00f8bd7c229a0be0ddf487aa94e74b313381e1caff2d6fb86240f3c39c7212e";
-  sha512.doc = "c101d56f2f127163c9183c57d2c1a3aa7469a1a8567dc538df8550ec66aa0ac4b489deb40188c3266a2f591d38be0f4d3ef784811ace91ebe5f7d5acea938453";
+  sha512.run = "25de64f37ca5811ce39c8efc3e895c1deea317c8dd02ac3e091a41ff11ab7a4730a0e476d323d8375c41fd60401cf441c2c15d614a090092d66413701500d43c";
+  sha512.doc = "83292d42fa21614a055420eeb372ae5cf21a9a15b999e0b39f1063f63ee7fe53f77ce771a8aa649e860827214138fbd435161cb3dc4b3fdf2b75775979d904cd";
 };
 "lshort-korean" = {
   stripPrefix = 0;
-  sha512.run = "3040afe9879dab6322683645343f4a0e2066cf756e6d0881a3d36f0ae65b2e56985fb964f6f8874a642dea4f57dd1a70f8032f8c4dcfcadf0652ace943e066eb";
-  sha512.doc = "1b1ff951c2131090aecc26603ac7bb30f90c4542a4bb4402f0fd08698239090cd5045b7572847aae18cb9bd6c47a0ddf720af9d795108b60e9203a23f6a4ae28";
-  version = "4.17";
+  sha512.run = "3353534a09681a9f1187156bb6cd9a3b4586b135328a7ce606a0e3ef15844d57ac76b5b55ee7cd42b1dfe3d67f784d4f0682c3ad0af0468ec2433452127b52ff";
+  sha512.doc = "046095e09db9664f68b985882ac92da51895342c79a34f8045853df40d868a2d60c1189b93e47843ffe6fd4ecaa5e7144eeb68bb2954190a9d6bd99e9bd50de4";
 };
 "lshort-mongol" = {
   stripPrefix = 0;
-  sha512.run = "df7d79307a1878641c0ef95ee30852a748aced24cc99612bfe40c83c893dc5808890915917fdeee3c44f407d467bda936f4d819fd67d1cab97be36e4194694b4";
-  sha512.doc = "576e1ab332f66eb8261b51669f09da98fa543766818b26df6476bbaccf3a24164d11cd85e03233f51377186c80bf28360854de9d68d17dbc26db3bc6a1b85793";
+  sha512.run = "464b6638ca4bf859ff178238625ecdb7016598fc98c476d3e4b2a24e2f34e6096edef5864ab325ab4df21bcf309a8467deda80b385b624685b38b538a0d40b8d";
+  sha512.doc = "cb60632992b187e5cc80973b9e9848675b464b075b13356db171c1a7613c94dd9bf8ea53df47e0c36c910772316f4c43857c8e638819d8ece7c1ce1790fc9d29";
   version = "4.26";
 };
 "lshort-persian" = {
   stripPrefix = 0;
-  sha512.run = "20370bbc67384133a41755a1ee91306170c9b5b7131af042eb088f2cf41413f618470f0baf3a9e5036089faeeadb6c35285a8d2cf0374483c0db4d0137f73e0f";
-  sha512.doc = "21577f3ec0ea5196a8b7719d26a6d8a89e04192529bde730304aae0d24f558a34a64bcf96ac1f6055f7db69a9c62702559fc893e884eaee601d219fc9dd5b0ec";
+  sha512.run = "6430462b11786fe3703e78efc9f1486da78db15601ae31e72a95d516d10a098c8b4c5dc9079490e652c57369698d3b4fe4d75b32c44ddd2a470aa5cbc79ab492";
+  sha512.doc = "9e7c43f3df8299db4bfad3c0b270c5b54a1448370e6782d095dd9a9b82ccc186aae98da86b2efe71c34031a5f4a07f54f4640de6d8b6fad913252979d440ccd1";
   version = "5.01";
 };
 "lshort-polish" = {
   stripPrefix = 0;
-  sha512.run = "6ad3d6a8b22c00c3609dcb2dd0029a7da70f0bf5c78930a6f0370fdcc026898d3b3aa93ba6f391af51c8c428a07a2f45e75d6d3a05032d2d3d62ec55e6a812b7";
-  sha512.doc = "b0deb0f9fe5d1db6eb6d4a1599b612d7df05d595e44946bfcfafa951f77c7231d00e0415dd3de5dcdc20e1f3b9c2181245be233a67328457a7db23a186556f2d";
+  sha512.run = "13c52981d80ae9f9da34dbd14abedc166bb0abfe3dd31ba11f684b5912869be62e61a28d57d93dd81fe46f4d694429b3406bef774fa8b18b9918989fb839bf31";
+  sha512.doc = "a284230f6599cef5fadacad2a3cac07f829cc8ba35a64b798fc76839b57a8867f745ecebf75d41a0c3bce05b3b868451ee141c65fe0dd8365d1807a38b8dc237";
 };
 "lshort-portuguese" = {
   stripPrefix = 0;
-  sha512.run = "42f40e4c0de0f1243d6a5926adde4eeff6e909f239c430c2d1a69a8ac911943248ad0e2c62cd03eb4f6e4d9cdc7569ead5a4a52ca449e1717e0fb2d4456b3111";
-  sha512.doc = "ab305db94730f95770b975c9f9c8f7dfc09080ca9bab06e9e159d8d012038e874e43ad79c92716cbdacc6bed7949f47268e233e26b3c38920bfd944c520fa12e";
+  sha512.run = "2c2d56eb0313dff9c2c102ef9d80d8e6029e35ab1ed8df5442c68b80fe4d746b3fb36b91b40cd831127e3004e1015ef61bb4b1c655d4e521f699ffc301f6d98c";
+  sha512.doc = "d9519e2dc7632c1d933c62696aec95402ba0cce9fe6ab74758073f23ff474cede7af24d97c9a480e734f801547c062956cd4541dd61064d004f00410de88bc15";
   version = "5.01.0";
 };
 "lshort-russian" = {
   stripPrefix = 0;
-  sha512.run = "a7dd5c673c83499d569202f136cb768e3d0222ab6fd68c21faf602803123c30545530d5ad9d9bd75415f06d6c78247056de086339d528679719c144fec832b7a";
-  sha512.doc = "c72729aa6600b58e71fddf3f11fc28db46a0ae330ab180234b40e8d096bb206ca2d1b226754126a64b876676d3992342e6f0be8f5d75b41b20cdabf93f704909";
+  sha512.run = "71e40e2502db0706d5ea1776c49888a05229771eefea3d17b8260d489099249c59ff3b94f53eed14fb7b53806e1c29f99386cb4118bc28e2bacc3dc3875eaec4";
+  sha512.doc = "65183cee479c3f3afc909616f39c6e8a51c4032ed67563709713d8c1d9a6d2f681914c2ace4bacc88cbf37a4bab4fb400b2ec108b257b4e3e67c0f0611de6eb3";
 };
 "lshort-slovak" = {
   stripPrefix = 0;
-  sha512.run = "08f3193ba3cfbbd8c04bd4077f53ed56b8d7add2efe9ae5daaad916f36f23a66e1d4cc1d4016d5211d1b8028db06235582be442c8ab5384f3e37ace5f1a2430d";
-  sha512.doc = "ceb72821d0c8d3c34ba723533ffd9c00ad926bba968ba10bff45dc336ce878c55cb5ae7ee38236ec839ffa64b32f1f429831f2ae6c4e29c8ba307e48db2e6e80";
+  sha512.run = "bf3821d0846701c2e45d89578625f517567d401d613f5aa7aaa4cdfdf8c4c4f87abec22d6fccac21b274afdba9c29c21a6918fabef77f4cca506071341b7cdbe";
+  sha512.doc = "8ee79c17e5ccc9dbb9f833b4f8927b22e7ce368f49f4d016fb936d2a5ec964791d9473b679a037d704efb269dc6caa1344168927a90a8e859527c64b0410996b";
 };
 "lshort-slovenian" = {
   stripPrefix = 0;
-  sha512.run = "057a284e7cc1f55a4d04bf2f50ab28b854937d5b09ee2831be52d6d30e0e7759c69bad9a9ba1e91db6d6a33e93bc9bb1cdfa9dba698abbb77ec018df505cb55f";
-  sha512.doc = "a616266f37952d1cc8f8372411398b00bcea232925eb702cc1469b43ba2d0f25bc20e3130f195efa0cfe8fccae5992ecc2ab680c8a10611d09d580f10a1013d4";
+  sha512.run = "933781a7b3b3481ad955aa346fd1011f9e6f8b27cdb4461f081a31331e8dd5fdcde72851b44aebfd9707a422c133099790d1f304c9f24f35d9fe2e12927061e8";
+  sha512.doc = "21a7611b67d9baa0065df15e86b38872f057bd4b3ed2a337e19f52a5ec49b409f4b1297d7d0ec951f40d0b1b4cd18cba1f1ae33228142ac27178520579659065";
   version = "4.20";
 };
 "lshort-spanish" = {
   stripPrefix = 0;
-  sha512.run = "1475d70a9e615b9d64cfc8ce6e1302f3fb11110a927ffa52ff1d4e461af4b7e0af620a21eb486544bb709921c7f69e146ed8bd38a85760df22703e701336460a";
-  sha512.doc = "c76c4bb717d3d19cfd759042ce69a9fcca3f7ed8bdf224f3ede6babaa12e6d766855af9a5199e180538d9edea44adc3647bb6e5e6c552d1c537e9ced66174eaa";
+  sha512.run = "127fc2d598f16d38b075b4a9668ded064537f7056aae34bdde22f89aa8d301d77cca818976e22aa036f47867929d30cc47e02ed3f724ea26279ecba723e5baf4";
+  sha512.doc = "f968352fe1e32a918c1d5ebfce16d3975c436539349af22b32bfae1ab06061ac2b2b85feaed3e8a28da89956f4d5948e7d1a6426766144b0c0ebec72ecfe99cb";
   version = "0.5";
 };
 "lshort-thai" = {
   stripPrefix = 0;
-  sha512.run = "f46476d48ad6d1410584f5a4fba1e95560077774b9a314c87bc890d87d71c2ea35fa76b876aab56d9f4ae8ec7197a85affada59a60da977f90ffd168dc4a83b9";
-  sha512.doc = "05f657fda3dfc0bb25394b6464e00a5dc50e5d71c9d2c4beb02951ede1b95966edcbef26960f4120f484659fb0afbeb37ab75533406174abe00feee738a7b7a3";
+  sha512.run = "924081bb5ec18ffa92e92f71a5eb6da893ffe0b7460f757360e3bfdf15c08d4cbcad79b4d45cff702915b98ecea16212c4d5ab237c11410376677de527af71aa";
+  sha512.doc = "a9522c99f62a8f51eb751d220495526f40cc7581b8d0fb120d6e9510b1af68e2c97158ec54fb220dbab4fc8d0070c93027741b549d01cfc3892bf373e3320f4f";
   version = "1.32";
 };
 "lshort-turkish" = {
   stripPrefix = 0;
-  sha512.run = "5379e397748fde4cecdb4bbdd691b2e84be7c02168e0c061f48e7a93ecb0d22860de7ce11bea905de37bc1f2d738c3bd074daca72fe5354db1a61913f7c04caa";
-  sha512.doc = "32dda88db535c658512923ae650b837507534625403d927e92bc45bb8f55d0bc7a3585f87ff0798101f05fc82460754e0ebf22419ecc2e262b2d82bdf4273bac";
+  sha512.run = "769036083d282ab95c5f1fed08d669dd4fb1d2dd7937e5a4e2fad54e20cf56ce3d5100b7aa612cc59dca50b6ff67fbbd5bbe05c085b6121654f873fcb991609c";
+  sha512.doc = "3aad40a5de5eee9e59064b15fe3e9c6a2585146fc21fdaf4683bfcba6786366c4ff1b3c38b6932426f53a6a9211809d4173f688f0878cbf2011d8982e3732834";
   version = "4.20";
 };
 "lshort-ukr" = {
   stripPrefix = 0;
-  sha512.run = "af36c0986487f1d3a6d8a6f3635db83754252b64bca1ccd7b96f0610afb375772a753af726a8e455514b82dbb9f539c8f7ef5beff3ce6c54957cdd3b1acd6432";
-  sha512.doc = "a8f7d18f672b1268403c9d38d3ade10492d6b8812b037f0e568c44f32e30ac5ed270ba44a7d87676bfe474d14e1c0a363fff0e5ad03f76814818e570df12a19d";
+  sha512.run = "18754d10f48df3ff86d644b772daf7f6530c4e03f0bd3373ccb12df2181aac26b4b5cef6bb673674b576a07fad2f3a13a5fde954a389090622f4d6f5ba9a4bac";
+  sha512.doc = "03b8947d0e1d6e9d331c6ce6d60ae485bfab1b73ed936086a21f26b3d87116de99e535cd42f16561d3b839c84cbd343f8fa3167b1c478d6f8d0df3964d800e56";
   version = "4.00";
 };
 "lshort-vietnamese" = {
   stripPrefix = 0;
-  sha512.run = "483521a1885f5ba39a2c3f1a1b972c2286a3d39ba999ba934116f41b6a9c2674cbba98d05ad5a1288fbccac72ce4b55767e372e31ecd47dfd65891373fd2335f";
-  sha512.doc = "367895d346df9e7bc74cc6c6bf734889143b9a439c4d02ad2812408a951d8a276a5758707216a201c14b620aa47fbdf2441346936484a03e8559a749c9e20eb4";
+  sha512.run = "ab9369125fa7283dc2a2b58999f57db3e5767e1e6810000fb71f2f0abdb693a60c2133703cf3427d35732769e393cf389733694aaa6d9e41f9ecf28073d06112";
+  sha512.doc = "ba2fc0eeb69f845ca306c7a03c7f7a46cacd3304c420c048284d248202a12f34b176d91244ca25892a64f6ab734e852ea83ad888684cdafb644da7d665a02b2e";
   version = "4.00";
 };
 "lstaddons" = {
   stripPrefix = 0;
-  sha512.run = "20ebc73c2627de5b41c1906e5656dabea141c07391f4b85a4c825b7752b9a424af30aeb9b33de89e68889bf158b1361880d293034e179d6ab391e6b47a8e6bab";
-  sha512.doc = "2edc6cbf09676690b722c1c15d73386a68bc60516bc1f54e0b9ceede4e1c67396128c38214e6180ad37f28d6fa5a05553901628467348128ba655af26b2be89f";
-  sha512.source = "686e41bedbdfb06af24c382f3a1009879159d0b32c5d2f6f2ae2600034573eb11b04e150b4d3cbb43db94ac7c804df28ef5ca6981e04f8763ec178aebbcef15b";
+  sha512.run = "8b2b14b28bcc4a3b4f26d2f48bbb59c111d4fd33d5479c20f7e03ac838c6b6631b99b1a5211b383e58dec74d70d9130af2a38e3b85407c4376f81e1b52c212b5";
+  sha512.doc = "82bb6745b9f2342628bc83f356313c0de52148eef25ed3ade22f899693abe190de1a09347ebd2d03b06a5976d8c6f42994e2495eb7c4e513ddfa8244ca258cfd";
+  sha512.source = "048555cb2355366b87d527a39ab64ca91226d366d52e2352c1f4d503daced739508e217893dd0d0b405e99b5927efdda0f68c780215c392494dcde20b30a88d9";
   hasRunfiles = true;
   version = "0.1";
 };
 "lstbayes" = {
   stripPrefix = 0;
-  sha512.run = "a18f1940a7d904116f51b0afc09228907927f933a8c18a6885ecdbec7f513a64dfca66a62c04517bdf37d3f4cf3a58df5c72fa2c14fd893a796bccc30a99a33c";
-  sha512.doc = "eed7a36914f03cab4fdcbf9b2090932d331b9f414efe87e4eef00b851013b06757bf12e1d13ee7850d5584d89d0fd39aa2f360adfa208bc6833b199076b743c2";
-  sha512.source = "2897cf1d1adc6bc8958696737f70b35ba2e26122c114a3231afb49a5db0b973bb607f26d4f6f12f5fda8c53656998da5d3e71d85f3c978637e9253e2be8b63a4";
+  sha512.run = "8089546f54a849fdd2b8cd1bb2430927a03249f1acb72bd9d37e9ce42770be2413c6ba8186a45eda8f52a3ba2f34e01e6073ed7acce5883d9407e4ccd86cc12e";
+  sha512.doc = "9e256d20493164eb1ed01bb6f7dc7f555d9617492fe14688c0852b85e27c1f8f7f1978b1352ea3294bea41f77ce505c6a5bf2910514240e62ce19c47c8da0ee6";
+  sha512.source = "9378291c820b65d1f1f126a47d6db40ad757009d71327f84e5b78fc4309d77272231cc892fb6881426130d6571b0e7caca7ee910117a9e2660cef42f6f0d7827";
   hasRunfiles = true;
 };
 "lstfiracode" = {
   stripPrefix = 0;
-  sha512.run = "712842cce963eccf4e1dbc843dde7a7194181d57a150c79cebd8975e500a916787f2654475177b54a3679034b3f041aa62851031a02e55f77499cbaa6539d471";
-  sha512.doc = "1a377754512e8bc785bc14d349d32c602311f8e79ebf06e894d429252e239fdd6c59a15d217ac21b2b4947453338b0322e53ec21a0d5b0d345e690194d3e11ea";
+  sha512.run = "d2752c177194f4926191245f6397ca1ad613e66708e245b29ed6719bfb7438cbbde8dc69a639bdaf7a4447d7737909a5dfdb465a0f0b446c0d30900b7d279c6c";
+  sha512.doc = "ab396312abc4174267184dc2d5f4dd61e4510d3b70bcf1b6b84685cbe2e5941d6325d4abeb1d08f85cef62adc953d4a59ebc5d99fe9d7c643f7d25c3d36bfde7";
   hasRunfiles = true;
   version = "0.1c";
 };
 "lt3graph" = {
   stripPrefix = 0;
-  sha512.run = "2731b8f21a5a69978cbcf7bfe12481c79d6029b9e7d19ea582965bbdf70fff2b42f40c579c5007d090647a15ffd6e88365e5da81a3dce2c8326173df20c06f8c";
-  sha512.doc = "9de47e35ecaabc789494ffc802bb95d6275d9c7af335ca149fc458bdb28b11f096de22e173b3c62ccfb42ec80ba4c8a2a59a925d85697491903dc8f4aca1d7bd";
+  sha512.run = "9a3137a56952d18f41337f3ea1412180d6a0d7732178fe4855d23647d01648ddefd57859f786534c5bf39cb622da11e113a028135429ca38e6ea3bcfde41b5ca";
+  sha512.doc = "efa314f54f3d7444931f4b7410c406fc89c35fc318882683cc97cd479faae00d3aeb58be06c9b174e59bbcc2bae57ff712983ba0c216a270441490866646fcfa";
   hasRunfiles = true;
   version = "0.1.9";
 };
 "ltablex" = {
   stripPrefix = 0;
-  sha512.run = "127f4cd2d9dc424dd4e2b7a0f60f1292baf81e53c3e17281851003500dc3959f714c714dc548bdb7a68bda2b3d480a7edd78f041c1ec574b1f3f5d697309dbef";
-  sha512.doc = "85cf455e32e95a6fe6d9a01c78997369f5e5479ff3b372ec80b91cb2da084ab4eca5c87b1e9ee6ddc98a4fff281aa5de0daff09922013197397b78844e8c5f1b";
+  sha512.run = "5a64bd2904338fc45d6150c6be6497d56cf2e190c41018527a59ef075db41f94378f8981d4b92e211f60f2d641408144c546f2de0bbe4a8e94b0a3cadf4311a8";
+  sha512.doc = "c3ab3559880077f63523c84cfc5cf363cf9f1d2c4d8aa9cb173b4a2dd07e5afbbdc9b1ea1b29cb50b64c68d65f4470dd9c1656703e0a1ac8955b72b87e33e804";
   hasRunfiles = true;
   version = "1.1";
 };
 "ltabptch" = {
   stripPrefix = 0;
-  sha512.run = "dd89ace56e0dfa1f6737713fe8820c99f43c791f08c0dd28132090585e5946b65577ebbbfc5c3c40f1121624bc77d3a96f853679051e63f2aede466b727d73d7";
-  sha512.doc = "60ad97cd519cf0cfb83b3d295470ca06adcb5f4e2140751890d92760f0986e16d95fbc02d26307471c154f7170fca12ca217ded1ce8f2c34e2376d0b2a2991c5";
+  sha512.run = "15c839c34935ee27b0b741325a13cbe6ec2f918b007ddd691029ce341173d12ca0e5cdef3a0111c3148257babf686815c5f81c92b6019cbbb022608535f17283";
+  sha512.doc = "d85ff06112e540d5bd3cac2bc6100d7d922e44d3388d247e521119ee4145716ef52889515b640e85c8a21405a35fbf63b168af09253e772e826572b0560305ac";
   hasRunfiles = true;
   version = "1.74d";
 };
 "ltb2bib" = {
   stripPrefix = 0;
-  sha512.run = "d4cefdf14b511260929fdda1672d548b54e0be3453273408fe7626b712a9cd1a2a287729e45ea8dd629e77fd7ebd87c615240913c1c6d8a5e63552560381c87f";
-  sha512.doc = "cd88ef0ddfc92cd9416d8529ba055e18bfb522089a22c3d7b4640520daae9a76dd51df5f6f22502a1a5b036cdcd85b70da1f6b7f3cdadf09abaed0ed6e03e122";
-  sha512.source = "eefade64111d57126de5910ede7e1511cfb8c5c8bf9d30473b6605e6fbb303dcec35b009252ad65a521d506625a891ef47d69474867606b9b1095b0c611d6e93";
+  sha512.run = "42e634e7c3018b87825e2bae40513eeb757520e1dba1b1b20244bee2d0fadc4663cbfa0dfdf74fa71f7821f47c41bb7c873a64cc68e153f9b7207f6a8bf3f8a9";
+  sha512.doc = "c26b018043c14022acc64bfaff6377988b5e40d09ac10916479079550bdbcfa5219df13988327679e7647c4a679490645376ed23be0601dc4df0528d45725325";
+  sha512.source = "0ed23f0084e3afbf51cb6a5c6079db62fd8dca9ef12a159b4be1d68ede6b632155ebc0ee9d6fc91cf93d2cddb5463b5d52b14cb72e7c1d61b975c891f710af3f";
   hasRunfiles = true;
   version = "0.01";
 };
 "ltxdockit" = {
   stripPrefix = 0;
-  sha512.run = "ff556fc044826c6b1838f94058bd7ea290ee0c670aab58995543d3a7b12236603ccda4b00fd2448289da0fcc7fd26e39cd1d5af0aaa44d32f0c85c94858d14d7";
-  sha512.doc = "f55221b3b8437231371d159e7fe26926202fb323df17243259982403cb9664895b14ff3637c5c4fee477f9a843662d5d9062e2e730548d2f376d7248303603c0";
+  sha512.run = "1144bd68bec92b4ac9ec8763e2e7df7c6018cd8b88c7ed2f02e7597c3bc13608a562551d80fab2a41b8aa9881848fa1b3501da7ae9c39edaae3720875ff65bd8";
+  sha512.doc = "a47852f464e8c31d9a2926e55d62c090292337acad6398568c7082012899045ce32163b798b25ac090e7fbd6ebec95f17a83ee1fdfe5f1f33d0b423dbeed94a1";
   hasRunfiles = true;
   version = "1.2d";
 };
 "ltxfileinfo" = {
-  sha512.run = "d3e308718cd73b58f73b4ffd0e2588e4b3ad130fa7dbe1047697e3b7c8c06f6d30ca0346e88b2daf122c6f198787812303cb2172aa3c6beb9f53ff4c7004277f";
-  sha512.doc = "3ffcd73b9ff61e2e63504bf7081cd4dd55cc903e4bb33654c8c69e7bebdb5958164f8c680676fc3a44b0f309c4640b2bdbddcc6f64f4aab0913d43ca63114e60";
+  sha512.run = "ca078af6b822747e9b337eb5694c1b019444e55f5f9f9dbdf59fa1a65c9445b19a62b0d610514c9231365017d3ea95ad9288a37b62b400c12df74c0c7f774a44";
+  sha512.doc = "0020ffc5874e0545c7ae4d1f6f9c0d5d598786444f4e98369e0c5fc872c5d63f235222594a9b0f5d2def5c3dcafc5ad660a4fd5a9e4551dd7717bc6ac06189d5";
   hasRunfiles = true;
   version = "2.04";
 };
 "ltxguidex" = {
   stripPrefix = 0;
-  sha512.run = "8facb71e45bcc2e9d9eee0b04fbc0f92c3cc4fdac407143ea1aaf1e64bc47c20f98d694b8db504b5344b072caed978f3133c7ba60220e01a7f495f404892635f";
-  sha512.doc = "4c8a0f9906de1b84a2c363b9d35dc386cf5811fb2ae44abfba15b4498b3565f2df6ae22d77ee478d720c77331f407cb120b5e106d951fc74950a0c8eec153e9d";
+  sha512.run = "bb808c7fc1d3fdc7a4d065822a5ff67113bd9fa47a60762b5674040c52149cad14ecd2d0612216b15bcb9684e65e9b51312f83f14030e66de37ee30dabbad434";
+  sha512.doc = "534e51a54903e1bbc783b5120015178c48a1a9ff3b06b2121bc9f79c95b7fdc1bc64c374af27a357a44c67df45bb70699d788c150c625d7d949acdce5b109a3a";
   hasRunfiles = true;
-  version = "0.1.0";
+  version = "0.2.0";
 };
 "ltximg" = {
-  sha512.run = "e900ba5934129db488239a3430b563b54f13d0d33dc4d01976f272efac432f9912aeea94eeaaba9bef0d67f20802674e7765e377ac031783150f02c58d21f707";
-  sha512.doc = "bc7d176e11a306394a8d3837a77c47024bbc3207c8d52b3d381714368cf040099ec587bfac7212205311dc3196e3b3c5c94fb1870698411f0378eea2bab05659";
-  sha512.source = "534c9e2790d05993c07e2cc7f2bd1d5ee0a8c4630c50d413419033a39f8a2e6a2bf410aff717e5fa84197a0e49e39a0bc51fd5da0a0e8c61a276bf3bca457458";
+  sha512.run = "28486dc83e37120eb5c8e0218541f17f6d9f631087b56890cb0bb9a10e3599d4afb31e997f736ce99476491ffae01ed9ae3b4194205e366dd0a2ea09dc2dd565";
+  sha512.doc = "c8d688e451537c6b08556f3d021cd552ba491f0b031c253e0f914945604b492c4d2cb2b7423ad2f95cdd4ed180c8b0bee1501e28f7fc0b20a551b735a47a2094";
+  sha512.source = "ffaa0f7f2d7a6bdffa12aa333a50e3729853f61684ad85a06e6583fde646e968e9ae3ba12a98655f3cd230c9cdd7618715bfb6b268928a06b3361e8194bdb1d0";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.7";
 };
 "ltxindex" = {
   stripPrefix = 0;
-  sha512.run = "0f67f4a6f7894add145d8d464e3d90d194f30e2bd0e6ef5e12240a7e9b978f8162f7571dc09f10f4da0983ce6a32a5cefa816b67e01e149ba158d2f52138135d";
-  sha512.doc = "4b2fa5c3a6dfebf86d71a93e5fd8165265c28f8577b227c540fcc6c8f9175510aac55197ffad3925a4d62b80977ae896cecbb26972d817e95091c37ed6b3c89f";
-  sha512.source = "766b399267bb7070de121f64b3439d77d4b6f3b883c949482ae6685bc4c52e4a7e99888bcf5da40f41df81b1539148a67b117a4145b2eaada240fb7e4ad23a5d";
+  sha512.run = "ff757a44f29820ab29946f66766b11a928db11b90269781b8039428aab4bf0b243b317176aebc92cfe95bf2e390be125012daa72ac4b8bfaab81477ed8129ba7";
+  sha512.doc = "119f18b8337b365e09b5d6a22ab447bcd0d4d516514c7bc6622d8b1f30aec5746f45d81cfbc07a81aed9de7f47627797b9c7cac3015092f7ca72acd79d5263ec";
+  sha512.source = "efadcca7c0224c4bb3814588947f7dc507140dc3624c5cdb3c7a788afa763c1cae5f607bcd4a67872dad97e725afe7e9f99f3a694c8398aebfaacc31f2b737ae";
   hasRunfiles = true;
   version = "0.1c";
 };
 "ltxkeys" = {
   stripPrefix = 0;
-  sha512.run = "91a8e6860a5a6f31c35679e21817cdd35ed93e359528a4459181fe98cc46475cb08e72877d6701ea6aeac9635cf85998529a39d456927146dbd633f5d2b5dbd6";
-  sha512.doc = "9c9b0b071a47187d8236b8b2ebe4e79d60b29650b8d9b9508f8f7b845a387b38a01deb43a1571aa91923d185bc90d8e6135a8e07f5ddf489437da525c52813a7";
+  sha512.run = "f99008a8d6d18697d095721dfd741ed2dc48f6edad09b15d39ce2c37f05e6f9c9d613a4ca7ba7fce8755f9dc5659e21f7e7961a7e38dbe17b7114c2337103d8f";
+  sha512.doc = "ab28eae4955de3e5a23be1d718fd1e23384ec0e4a8c4b86348bd83ff501ec2e51a3981c60babd478bca0c115ba524367f77f3cabd3f733b82a9fe4cc5fc06878";
   hasRunfiles = true;
   version = "0.0.3c";
 };
 "ltxmisc" = {
   stripPrefix = 0;
-  sha512.run = "d7b93ae125998ac4448b698ba142a930cde58424379ccd3752de1261b61536b2e87d15dfd159eac6e62d7cc8611806a8bd5d7e9565252a9d18d0eb2bf5183134";
+  sha512.run = "3433a283f52c41f198b944eaf58a961751e7fd3c0991960a2516fd72af61671e776f48c6a5e241e379b54a08af6fba732ab1c35e42b8c93a62937b5a38cdb767";
   hasRunfiles = true;
 };
 "ltxnew" = {
   stripPrefix = 0;
-  sha512.run = "76d29be39f2c198ab87145db85c0b889b191a890da404fb5d6fb587ea982aafe00915f18b1b3c3dc188e3114c29f79e3a3d622febd53d96e8c3585690b0e0590";
-  sha512.doc = "4f400f321e0b44be3a994ebba08bfb71e03d445b0beb02a0cf430bde084e18886a93d4a9ba98569a5f388c90e4d9afc2c38e82a88d5f2549b7f034a8f37b1ceb";
-  sha512.source = "89988f5bf63d211c849c9021121bbe869d6b00b30d84dd1470f77698f81f67ac1adadbf2cffa67a24482d1b259226caff97186d02f27f83f76dac3d0be41ecae";
+  sha512.run = "7dda3fd3638ddf528adda0430cbd32cd8fe410a743b7af5bf76e651ee98b10f2481723665a19fda2f2b468ca5c4a838144cbd6e9c457f50362f7b0e83106de26";
+  sha512.doc = "91e07169ac377570382b9bc7044c0d66b61268fca38e2fcff4d7075322dbed0d3151976848c93b5d0a2088676e67f3a79d2a555829f170ca61a37b7c40fbdf66";
+  sha512.source = "0718785df4355f264738d8929128e4024eae629dcc1fc51e0d408ace6be8688b9281bc0e352e401a6fba71b0a3f376610fdbea7520443233d088e93740e0dbc7";
   hasRunfiles = true;
   version = "1.3";
 };
 "ltxtools" = {
   stripPrefix = 0;
-  sha512.run = "d38437071541d91c7a621be3c4f421f95a8f974f7878f280d4032e776d8e96491946d4e5fac95dd2900763e30039097cfdee2eb9522905749323e4e5f7b3a4b3";
-  sha512.doc = "8e8dcc1332c865cf79282f9e96d799357cf399c106ce89a42180bb62c12320ccc065e0743e2201aa06da2739e608428738c5affd3292e080eda89a6bde8a8b08";
+  sha512.run = "aed74d79bd9da7f7303cd14db5c2a74aab51de03e87a84986b294019a971eb68a445cace8af2394631fc4ec6963ad32347c47a80612f70a7427adeb689d3cf36";
+  sha512.doc = "e0a8b28f512a15fec379aeb3350c0611a77652531a66ee5a39010400fe5d1416c40bf6bd89d4e967851b09ad5d11b1d83ead675a0a722255a0e941980d74d1d5";
   hasRunfiles = true;
   version = "0.0.1a";
 };
 "lua-alt-getopt" = {
   stripPrefix = 0;
-  sha512.run = "85c5f1ba68f9fc874b025a7ebd63501419b1df332fbe456e49560effbe4f386abc641481a91a35e66617f7e7357f45a5d605876efa0e3fd680d4a4699c0e7cf1";
-  sha512.doc = "311a04ef22af0e2bcab6166ff3d257f76e7c39244cbe81742009a97466e5230d69a574e98976db5ac585baf3e3d13c0e6b2cfdebb119e6db2acc6e8aba0169b3";
+  sha512.run = "94d186ff2dbaae126995eb2ee71e52145e88b32ed1fa765a6011c0d3935f19dcf41692e47699abd176f680ba8ebed58142cdad7be19526f7b8c249dac43bf3d4";
+  sha512.doc = "b7cbb2dff24692038f38e6185fbd6471a6979dfd8b659fbd972c810cb701aca59aeaa4d30c510333003819ff08921f3d57b9c43a7044827a35472ee54e3990fd";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "lua-check-hyphen" = {
   stripPrefix = 0;
-  sha512.run = "461c69113030a4aa7b2db1916d6072cf3d8cf264e03e6f103bb748d98c4953d74e325aab1f4e6a260b53a5591d8c3cc667ada416705d6a2d7d9fbf0c46503dd2";
-  sha512.doc = "10acf29ef3e6991b6559ee5081cc7e566ebc8b83c9cbc26a5c81993e21f9a56545558a082f07e616bf440af99b18e5ce921732d6b4150d1d16548901172261da";
+  sha512.run = "89cd0a13578d386bbf584f3c74c6c3ee1a45a7c0bf40480e5396f86b2af29b26abe3ab8aac69be0f1fe23cceb6da33237ea38384854fdfc7be6939832a8cad08";
+  sha512.doc = "cd756e0356b36ccd26d1d78c67026f5a27272ac383bdfc6f44ddb630f58d067c05fb9152f1ed9793d71a63af6607107b8d4b5af311563e2c3d966079b2d3e0c1";
   hasRunfiles = true;
   version = "0.7a";
 };
 "lua-visual-debug" = {
   stripPrefix = 0;
-  sha512.run = "857ea90f77e0ad26e5729276978dbf246abb9134f09cbaf09e299863d19c0d295cff2ae626f5d6ad2901526be3c241fa2486122e71c64b447e9dbecc5f4bdffa";
-  sha512.doc = "ddaad24ac9119f51e4522311426408d7cd5c514aee506de8665a814302e6114b03bc1ca268a4391d600fd860c3dd5f11a648cd338adfec31fdbce51a0d16a20d";
+  sha512.run = "2b809e240570105b46f361ffcc031719f4afcdba45d14b4e51d4cbca10a7d189b385c00c9b277180bed4ceae45b8ad58e2145ac6f8de5d0568ff5f86b67c2cc5";
+  sha512.doc = "814f650ce8505338b41a91e1e7e55872f1f35252ed5f1c3c74f73379b4c60c62e40d48a2cc5eab62b4a726db29fce70761ad7a2a0a17b7d5019859fcd72098f5";
   hasRunfiles = true;
   version = "0.7";
 };
 "lua2dox" = {
-  sha512.run = "7f94a474c26a50b50eb9d26082a174f526272fbe39d8a2d4e2afedfac7cfdf1adadbc2fa69d029ae92463fdb9db86f36bbd5d54538f14df933c697c8a85fbf4c";
-  sha512.doc = "e1be1ffaeca1cd4830c2ee0636aaa4d596ef2cf63fcc54a84a3db7f36d53af01b571c15f26650d4ca35b523957b281818b94f4a8a36ab5e89f7afc49f4480512";
+  sha512.run = "24b6cf17ee55a9699077aac82263e442f1ba3e7843742baf425a4d4c514cb2f4b1ea8a4af9165997559560f2ed060ef818d3a57f71a79d6238ed29ccd263d787";
+  sha512.doc = "96746e4d0401cb0bb9cfdf7a44d2935d4e257dafb0f5099faf647aec0b385745518f160bfad8ae54a1ec018e0afcf4a7dc998cf9b7f310e0ba867bd2e6213960";
   hasRunfiles = true;
   version = "0.2";
 };
 "luabibentry" = {
   stripPrefix = 0;
-  sha512.run = "a8e2c7f08f11f0cdd12ead37f559e6bdbeffbf9e639c40e7d0b3218d730a2624711d06b5f0afa1f1f24fe23ad62bf7564a207fcf76333ecdcd6aeb26786f8f2a";
-  sha512.doc = "51e0c28cebed656d3d6d6b7128dff4d03526d097aba2d0ea1b835add42a81124b0983b25a7386b436f6900197c25814d1be2d278198e0c01b38f7bf44a3dbfbf";
-  sha512.source = "4b17fd5d9768e93bf59fdbaa61f857511606379a0e1c38ecaaa494871ea14f2e0b614cef12cc9672d3e81e38275332b2fc437999b8d06d1e5c01f23efa0164b1";
+  sha512.run = "00349f5a6f5ecd5478bb718bcfc419953db4f90c9b2a70aab2e2bbce4395d189066b39cca743e5b790f588a3f2a17047a6e233258c4ef389ad6fc5338184af69";
+  sha512.doc = "9ec19b99275e3117f07e445e2c039bd504537fd470f62fb7f7f7fc428842ba86ebdbf0bd6a6be7a3b1b99100d209c6c47a9795c776287206afe331601222acad";
+  sha512.source = "628ff69779b5eba6056bb49b3bdb4017a10c3c4afd710319de9ac3168ffa44782969ed67399f8c1a945cbf77f1bc44ea33b0776a9f1f14aa2e5e29afb8cea544";
   hasRunfiles = true;
   version = "0.1a";
 };
 "luabidi" = {
   stripPrefix = 0;
-  sha512.run = "ce7cd6fb13d00d23a6e9616b11c4b787cb6dabe03b715a5f98c78659eb2ab18259a562d484c28e97f228b0a8e6b63a80f07e6e770705d40d3689604368ca1336";
-  sha512.doc = "8d52481c91e5f4528a2b6696e31d4295a32a83dc6ae17f7ee2bb942d804263bbcc3480117e23758c3086b99b971d10d0733266ca6446e6fc3eb31d50e6dd40e3";
+  sha512.run = "080e97a588793eba6ca8b63ba25a7046006f4a788136d933f21009e0541c5e92e995bdb9970a5c4a921ae0654a1a29573a922ee5e0a3ac58fb30cd178f7ec736";
+  sha512.doc = "20667a11108b51603ff5866c85e023176d27bd2201c8e4736b6cd2cb895fd30f205bdef0077dff65d0d8a97192f74be6f6ac4a0ecf3948c51196071bc3be59e8";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4";
 };
 "luacode" = {
   stripPrefix = 0;
-  sha512.run = "2e135a1af37d2f239a972ed407415b49c39d2930c29f02f17283452d2683ce33fa695d3709137be6fe952c3dda6bde0ff3ee5007b2b6aca90f686effcbebe206";
-  sha512.doc = "3cc13b412ec06725e4e624f6a033d431793da1c04e3cae3166ea495ccba903a52d224d518d039787adbf71f4e6190c1edec2134ee895d7f98423b656257eaf4a";
-  sha512.source = "5bc71c17e2a85fcba64b1b768464ad58bb253f826323ae2f95d0bd1e7650fe45f8fc9f13f9b4849ef172ad3caba0f2e83c934a6b8a0ce2bc3987fdb188c22cca";
+  sha512.run = "b107c9cf774608782c1ba1ce3ebea8d330ff9762046eaa9b9de112b704df1d0da1bd7e33b15e9d847f232b7594d53fb2678cdb78b23d87aaac73cc2517ac8e1e";
+  sha512.doc = "622a2417490fb818d5021bb519ea7ac8d886df5002534c4d269268ca4d2119ccc15b029111edb42d04a546e7a46a60bc8eaa6a0a108e9231cc49fc2141ed8ec7";
+  sha512.source = "fe53aa46157e24f7f637584faa0c18de62ce3857d9841598f51e09a03354e9cd44bb8fc150e91d5b9ad6d1ca150a065fb1507847cc385ca67bf67679669d7ef0";
   hasRunfiles = true;
   version = "1.2a";
 };
 "luahyphenrules" = {
   stripPrefix = 0;
-  sha512.run = "2cf947482acb36ed99138de97304c4dc9ac929f6bf6bd0f32319d35ad2741ef03dd93da804ec331a6d3a1011cac4a105003a8028eaf1c041a7fc520ba27ceb3f";
-  sha512.doc = "f181a3c3147ece62ef0088ac815079ff2a2648a89969f3c2555b150d387a35d7d5b42a78a95a0efd90c4d6c6ab0b4427bae24d320b1435ce3a74a715cd79b716";
+  sha512.run = "f1486d23a51111023fca3771ae530ca058c582640ddfc17281a66ec055b05aaf24021c724566f5e9c9a5bd674eb8724964fae78762dab30182d8a95333293efd";
+  sha512.doc = "152f690268e3b1c6073b36a66965c84b6bc6f45050b2887b7a2ed67be9497ea7b1708cfa1335fcf296d6a2feb11924120336cd89ff3017cb7e77808e9927e9c6";
   hasRunfiles = true;
   version = "1.0";
 };
+"luaimageembed" = {
+  stripPrefix = 0;
+  sha512.run = "c0ba8a3164f1a87cd12a5699e9caa23ff7a85debed9881798502436bbb594d48a2e15a135e3a18efb9f3d825af98303a46495148142c810e4601641fdf925654";
+  sha512.doc = "188049c30c2c845d18e1a20af3d5ee009eab6064321b1f09aee4b77c3111317755e698e28876561440695c910cbfea6f67e41a5195a5f7b50d45831d7b78d76b";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "luaindex" = {
   stripPrefix = 0;
-  sha512.run = "60c0ccd42590fc29d2ea99a70ce1ace05ccea8608edc48a65732d3062554d3d8ca866c7aab30e14752a312243bc131b9e06f045b68c8a3d631428a432af8abcd";
-  sha512.doc = "af008a80e9906a5e3a6532f201066b3d57cfc9436eea8844d3f5a2f6d15dbaa100f99bec9f09528eeaf1ed29944a4de96cc9346d8bef772963de13861c0eb9f0";
-  sha512.source = "5733006ee58becd0e14351b9b67d0b32b6f332d5b86ba6b7c51d1f1bb360f1377aa9545c7918d53802606700ebe93eea2e581913feaee700b84eafde33952bb8";
+  sha512.run = "baafe2dbcfcc07293ec04f775becef7b59a2349ed5c98333c5a4e680fb3f8561f8749a6abadc6901cfbeae1b6e9a47cca05e8ae76064372585b7d7f4978dc844";
+  sha512.doc = "c90deae24da8584170bc2247d5f6ee22ba522c21d3d0e05a6ec2b9594645a022eed1fcf12c3ffbaa03ce0d92a16f75550dc7e0694920ef58b17bdacae02d6fc7";
+  sha512.source = "aa97d6618e7af11a7d5aaee332736aa60a8ba5a2cf796296368736c7d12b1e6eeccbd5c807cc2129fd3e4310617dd92e14aeac053753fe7267899b9b3459d8db";
   hasRunfiles = true;
   version = "0.1b";
 };
 "luainputenc" = {
   stripPrefix = 0;
-  sha512.run = "a626c9f0c1ea5037758886399183773e3b746d3fbcfcb886c7c875eff69d6c25c449ff363342fe526785fa246139a25401feea8a5d2018dcb610f44132abf6d0";
-  sha512.doc = "959d2ca40ba73c3c42d8ee3b37c05b05accb1f9bc1430e09c93c1f3077664d8b6d2fdf24d40e153c314437b0ce161a24d75609e199c917f4ad90b5a1c8357cb6";
-  sha512.source = "fbf4557582a25ae71c510db06d14cc131a7db99369bbac19ce68eede61aef6f41a1add200dc4660b2bc2b48e2eb64c1b861b1b6dce9b4f7683ffa54cfd011004";
+  sha512.run = "bc3f05260800cc537436377c1f9fbcfc6a1a60a7fd892af23ab323171208b083c08c8bb2a5d299e4ce09468f66197d43f68717a57e649c50caf74b736cdb06db";
+  sha512.doc = "7c6093b3fa622007aa7e6cc852076090e1bcc64e9b890d1ff0cf6ae552a21e930e791d32cdc2238a0f60c605c92a2192dad7e9d423a2d6e013582926957da58f";
+  sha512.source = "a9ae3dcacf7ed85f5ff63e32c9fd66ad6860e149c3d2737bcfad870137b242797b8a3f62e90f290931e6884c74f70a0716c72f2e5414cb8406e5ec0141f13831";
   hasRunfiles = true;
   version = "0.973";
 };
 "luaintro" = {
   stripPrefix = 0;
-  sha512.run = "61494892635c6ccc928de914280a826582e26254e82b75e4713c6d7f209f58a4259c980715b09dd3ce1287822b5f34e2229db12e92abf4bd38befab565da1877";
-  sha512.doc = "fd566b874716888c0135cc7464382cfea65be4539e029d36c1020536046f94160d6637a86ed44e31e7e8da6c60eee092138e4d8567aa613eebfd8c37c6927f6e";
+  sha512.run = "2585639b6a7b93019f8fe4dd353332dabbbfb5663b84b1c92df397e940392a1b3bb2ddcec203bbb1b0f4244ac26b62f9745fdf50cb7512f96e5c12af8c08335b";
+  sha512.doc = "47de79cdc637810757b7879956cf758a77cde95e77060ce74829b438d13b58e23cbc8e9b328d0850b44fd8de8da90fa9fda206ff0e206918f1bccdf5d71d2c38";
   version = "0.03";
 };
 "lualatex-doc" = {
   stripPrefix = 0;
-  sha512.run = "076b23f336857c0c60baf7390314241abfc76ef244e77cddd4e8702e049863ce08b2464767a7ceaa1343b7dfac906222d9d4099baa42c4339e126b9357a988f4";
-  sha512.doc = "cccde093698749307035cf673477b8ca9d052c0d11af2a4396c07dd5fb135d278febbee35ee6e2294c49d0e123589ffd8dc6e5d5fe38c23dcc2cc850f43b1128";
-  sha512.source = "5ea811c91d4de834cefcec7fedaa5bc33173e8bfc060d4fa74c21119e556244e3be7d8e71ea120559fb508078f8e843fbdf3a72f06e2b5c0e8d01c0bc44cbca4";
+  sha512.run = "a1d98422b13a26aa844213df2929629889ed6bfe3fa16c27f6376f00f038a50dd32c5128a27ecdd872d3fce8372fb93ec603c0c92edb8692325f1e76fca685d1";
+  sha512.doc = "0756a0183d0b7b302f24cd16a8957915a69a3db3fe4a8a4fc301e246a0563f9fe81ce2af667b7bcfa45717b605be163cc5fd4c170d8584028f2ee7b2120390c6";
+  sha512.source = "a18a7644b50ad608dbb2bbfc15f2672fe7b9a48505c3224dcb46aa97b2d57b5a007c928dd5b76518c8963970bb1b8b56bed8e5c374ba5cb18a9521528dfdd58f";
 };
 "lualatex-doc-de" = {
   stripPrefix = 0;
-  sha512.run = "3bdaf2d088999417a1d8d6f9890a80e385eaa5ceb856c3f931f1f88fc1a6492630ce9112e5fa0afa8931ef761caa1259fe5d74f289e10a96f6de1a4bb4773fa1";
-  sha512.doc = "7b6e1d872bec18a0309e34d9096f7b1e364c9b5f4960bc69513a454395d2b25f7d271de8f213aff30141e29d3f0294e06ff7100364f1e57fa46b02c4c5bb1988";
+  sha512.run = "c1bf1c7f367e5d15cb1a5ba0878a4f02dfe25772bed22b48f7376e8448569247233ee41ee8b58c156494d9cf0c0956dc23f4576f053cc349896247de0a96444b";
+  sha512.doc = "b615887d8b543af1c125b6e9fb9c533f52816f8087075a8bd4e6ef752ff48f51169f5945ccb067228612cbdeb10dbeb298a090bdb93d201b9629b128b0c5a466";
   version = "1.0";
 };
 "lualatex-math" = {
   stripPrefix = 0;
-  sha512.run = "8e1ff82ba4e00262bb60925252825408081fb0aa6a5c303aa5f751ae6da95e444ae57410f47cfdd57cb0688811e3bf8ee5e3bc5011c0daca7a3b6c3d09e7592f";
-  sha512.doc = "68c283f8c147fd159edbb8d9229972a409677e5b41d39396dcb9b91a6f77585584213850802f25a3bc4ff7e2f48874fee47cecbb6dd978b1c303bffdd3ebb3a4";
-  sha512.source = "c4fd5c9f6fc4571cae97d4a02ce7d5946d1dbcca005d0a9a897394aaa5a5bca570be8372fba5908842f5969795692b156ad5effaed71b8eb996add88cb40dd06";
+  sha512.run = "931421eb1cfa64bb14050efc449e9d600ebbecfd524bea0162c1e20100345a85eee0d45764c8e1ada7429fd59ea6124b757f9361eb4183b2a295b87c62cbab7b";
+  sha512.doc = "33da41b1515fc58b68fd8354304ae454b0abdd5f41475260b762012216595025a28db60f2997e5d36553ce551f13450024e9c017b9971219667aac57df84a2ce";
+  sha512.source = "1b05c3b7c1ca0d8e34f2f0a4f70c8b27996db61313117b63232a8b0164ff981fa59d932aed6ef8ba41f2b82c35a11d90525a246f12dfc935c8a87380525a1a13";
   hasRunfiles = true;
   version = "1.8";
 };
 "lualatex-truncate" = {
   stripPrefix = 0;
-  sha512.run = "a1a5f1f657b9157ee9e6011aabe632a8cebfe9ed53d3a36f4155b6c474232ffda5acc6ce1c6aeb8916322e958a171c156520ad564e41c005c4abf83e4610eda4";
-  sha512.doc = "568ab68bf891e4c0d7d3a67554a51404bc3a26f8c8f9211049b1d2902ac77950728e9a24b557a5a35d4157835fec2f79ab459bcd179c41af8cd53214b9206435";
-  sha512.source = "259058ce56ddb534e758b6bedc400a9fc18b72c83785621006424cb3cbfca1ad10421dab0a9f7dfab4f083ee1c605b9ed454adab8322fd6fff5b40823b465073";
+  sha512.run = "f4de38427798b565aacdb127152cd7ac8a42b441c555f742f5bf90480f7cdf8e182745a5882a9c8e0645c529d27647a056f26b7493dadb13216972794e617341";
+  sha512.doc = "704b34da4b8ab787c53f2af21fd17a29d6c8e1d42024de2ff0e65d434a502b47022fa2a506e149b67ee5cb542f2f4835babda315b1dded598f63dca353aa78b1";
+  sha512.source = "bffd59b8b5a7d02f40f4ff2f4d028aa98ae26b3d9d9cb432f531211fbcf65d18814653fed07b68e4d34f65d514f7aacfe6bd5aea956a12f7fac2e088841ca02d";
   hasRunfiles = true;
   version = "1.1";
 };
 "lualibs" = {
   stripPrefix = 0;
-  sha512.run = "a83a831e872de9b75065c9801959af2304fbf902af5be2de8de7e1e0da4ce52517c1e8a0de7bb482f3a9e51dd83e741f6f95fa097b6b9cf0fb8c451347776306";
-  sha512.doc = "df1112a8061d515c3c77392fb0611f4cb19bc97cb3fa6d9b8db3ad73f2280c545948f6a5f6a647a713e04c9f9f830531fe3001637dcf49e8bf4f50d51677b4df";
-  sha512.source = "8808d7ab00d7f19dd143657d38edeb0114880185f33449f0d59eac30d720cf0bdd66ab01dc0f6de02e257bd8d91af3b6cd75dda7cdfe11e9e110779b29f60c6e";
+  sha512.run = "7f0f9109835f61ae2d55dfc4f1cb4759f2c9e7f54987ace4199acf4b435c4222ac497256beaed06002e3be645fcc149f70a49507190615e54a0ee4e0e4caebf6";
+  sha512.doc = "3ee3797410c8524575f51feb669f079de3014d0fb6a18d3883a3ff1d2442b7c29989d71f80764c0991625b2ff2fe1ee23522cb28b1c5d7e7f56b702f315bc56a";
+  sha512.source = "554fb8b6b069982947964cc3807f2161c76373162944c06d839cfb0bb50220f6f3a8388cd4f0c56c3bca900228fd7c49b0548df6b754df2e8a66b4461bc4383f";
   hasRunfiles = true;
-  version = "2.64";
+  version = "2.67";
 };
 "luamesh" = {
   stripPrefix = 0;
-  sha512.run = "a827a23b9e7c0ad1b4b0eb8c17ec362715e6b07aa79dfcb81bbb61fdcdd3f8f2b14f7313c2b9ca359e3a9409555ae412d40d2f7d25db371a76478a7adf703608";
-  sha512.doc = "0b2c928dc0b2b0e465fc2a0b073928ff3603e50bca3e49753056fa95785f572c7e010a16e431c25e696a1e00e16b18ff79925f9d661badee831136ee7db7b252";
+  sha512.run = "f9ae2e27725aa78c7a6c7d049d0c25f4a4fef260dd2a813a9cd6a4f49f5ef1a786540c77c88c0778c5ebda5f188ca8b62be8335d5bcf0ee1a5f22df193875cc3";
+  sha512.doc = "f25df210662af9d91229a99228a7f15bfc58510adfa2f5a91c586b4ec30b2482ed044b30db40cff0a5c70dfc70ab560367efa96bc077bf412d536e15f1e32e0f";
   hasRunfiles = true;
   version = "0.51";
 };
 "luamplib" = {
   stripPrefix = 0;
-  sha512.run = "80680492bddf0a8297ed119f76fc0315b1b5d3a8bf8b5bd12fc7f9b1aafa16ab7cedf1caf6d8a8ad467e6be1ef1afe325facc537eccccdefbb0c5dc03571055a";
-  sha512.doc = "faeaaf9877e41c8ad398130359aedc96764c7085132f6af7318b7dbbd14b215dba7ed8b6df1b39e33b14e04d9ff30f9ffb6eb7483424b29e84d2966c94626a6e";
-  sha512.source = "85f6d6e21ce3135a955811f07b2d5cea48aea99da45ac1be805816ccc15ac420deb671505f9bc3f36b974e58f3507a4857068f07521c42218a2f5aad4296dcf5";
+  sha512.run = "35aa418e3c49e4d6943b2f4a118e1aaddc54a4337be32da676fd8bf37b8d47b78a63d707eadc7c00a9b90648c07ce1e26b21523c7167cc4f69b9a25608d3143a";
+  sha512.doc = "e994c52b44da2df051e66c2cd66ab88f8f705905b25472906d558395b1c673da797598cf0be44127f10d448cb36a0f0747e3ca594f632d7bc6e40f916889ab0f";
+  sha512.source = "9150ff583540bc6511874994b708a313295d01fc319accbfbac9e8b4176f9d146caa5ef3bc567e733e8938a88284fa273b38940615ee9fc00d04b7dd39e700c5";
   hasRunfiles = true;
-  version = "2.12.5";
+  version = "2.20.2";
 };
 "luaotfload" = {
   deps."lualibs" = tl."lualibs";
-  sha512.run = "26a6977a00e1f238fffca8f3d3dd21fcc0c984bd20a00dca9ec27b7793f1c6182ae1d6ed09dedd0ca2d7517fef6f8b77575c8ce13b54260aa372491efa8b2046";
-  sha512.doc = "51230702c0306031e8663007c173ec1203e428fa3ea40690462c76c2d75c0c2a5294d3554d4c4d2972f41fd13972f476b614110c8b5dac2044829524b997ee41";
-  sha512.source = "e3edd2f88315cf19d85c34afc7fd821c27288a6854aeda6eba3e494cba3630c46e372d71578ef4900e7b005985c4209d624329e5a6a39bc507d3ff82c56bbda2";
+  sha512.run = "b0934de001e68e95f1e79979e11d85a2268f67957b31b4f9d0aa5d069e5bacaa5c238c892a75146906f5aaf41a7fd4675f05c3170f3cc1ce4c96e25ff5233169";
+  sha512.doc = "eada60cbb87c0bd80b2b54e4bdc650614ce8841d8b8dfbfb4019f7abb74bc364d456424fe211a2fe9264d307d74a4b181200621c40884b5156edb81d60276ae5";
+  sha512.source = "feceb81fd2d1f1dd866b3c583d35d92bb721cd26109d3cc9339fc4bf37b250489d8e3619312ace75a19d83f4659c7fd2ce6c957a1b96e646d419535e8b85bcd4";
   hasRunfiles = true;
-  version = "2.96";
+  version = "3.00";
 };
 "luapackageloader" = {
   stripPrefix = 0;
-  sha512.run = "b55830386d6855d54480a937cd70b46b2421d41e67f08e2ff7f0ff9dd3c98d609c1a2a61d4531a187d542e567f3b6304162ecf3efcb4b6b51d6fa63441ce6d96";
-  sha512.doc = "f32580f23a3beb4b4b182982eca8f7080a2767cf7b4d8a6e0cbfe8989f01174a70a1395e218cd2c7fa9f30aa82391a84010f656d2e3683a8e55ef49b0ca35a54";
+  sha512.run = "a89cbcb445b1a73d0fe1c5e241745d1572df9713bd867076c1390a302860891b5f08eb0aa3000d064df0a5cdc6135eeed53f5ef6f2801da17c84fc343005010f";
+  sha512.doc = "5e1de43c58d0bfd6b8bcd9c068d3b1084df398ca843ec341b29e55c646bba6a18fa9075a9f6cac737f0698f6bcf9626948e9be2c28f6210156d71ca00e1ef916";
   hasRunfiles = true;
   version = "0.1";
 };
 "luarandom" = {
   stripPrefix = 0;
-  sha512.run = "0a93578703a9c837b27c876443bf131abaa7cc73acdd602051c12392832b17e0bda7b46e98a0efdca0a10c3fcaf5c7dede4fb507b5ddcc4e3a8e6f115b11c94a";
-  sha512.doc = "a0c7d42cc1fa8163702abdf9e512c636d3cf70dbd4e4f08aa617ddaf1ff0302f6ac90a3a3c1adb4687d69523285aafa2568abb9263fb07811a50d6e831bfa2fa";
+  sha512.run = "54019dd968b2cf3b6ab9a3777e609789c04a0d369b1ae938df152ded3bf54607140fe6265b81ca2a75f458e9b8144000f0bf2e9d77fb00aa923f7ce9569c423f";
+  sha512.doc = "f7fa30cd6668674cfee8116bdacd3c457fe6e1a3ef4a1c0da603db2fbaae77d187bfc5b4867aea0410a906238769d7138672b89b51eccc9fc4d110a079784092";
   hasRunfiles = true;
   version = "0.01";
 };
 "luasseq" = {
   stripPrefix = 0;
-  sha512.run = "84ba5270c97196ba72a9686d3d9279f4beb87c8949f0bc450f55d2fea878655823236c8799f4e1a4a7525079a332b1d6ee76e580134fadc3b04e6d7ef5b4d38b";
-  sha512.doc = "ec45faa8ad8886aac9e694a46a6f3b0c6cc48c3373a5d6e5bf1191c4787842aa62f007a0c356ac216a376edce0801b133f861f1e47a56d5e7895317e6359a642";
-  sha512.source = "42c3aea7f27478fdd75135f549e00e29a0894125cb8473030eab381cdc16ef61f5d20c8bd00c5ffc72a9d19b568e36f57249a198b0b47808d1f30ce3301b8a1f";
+  sha512.run = "400e95fd898152e8d8e989084ca9cd115516850edb6e8d102eddaaf278f29213c8a4828dde01ca202db68d6cd2b2685bda71f63ad7a92eb586a4c303d2e9d02b";
+  sha512.doc = "7ac8f5df74cede5734c9c47048cbb3b079155910a89ebf0c7adb169b4b61751f6255b2c07614d44a55e8dad43bb35693bf224d0f750bff28987c7c5f1a8a5bc4";
+  sha512.source = "4946e994a3ce2712e6da73a9969cbf2634726191845332e4464ce8d446c09235e94798c878e9e060e3a7b3bc3a27c37a299b9d30f1da6368b67875b551ee9d0d";
   hasRunfiles = true;
 };
 "luatex" = {
@@ -17644,809 +18100,824 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "7020e62de81e6cb12ed68999942d256c20ec3ad78bd7a9826f29804aff08a9dd7a097f5c4a470e1722ff79479dd253d98f2ff5bba1af4449bd3095e2bbca88cb";
-  sha512.doc = "f99337e9cfd089fddf8600d5f4a4a22c0cdb03aa6a7f08466811c23cf5798c06a80319ec5fed97d19a620a09b0db9b170eb121c10c40772ff308e54f80ec0745";
+  sha512.run = "0b9bdf74c170f6cd902386cf18b96f3cb78b853eacccc3a7c75f4135be0efbab47e36a717307600509b78c9fc4f58b8e62f1cdce52007fdd5e9a47dd2f57d666";
+  sha512.doc = "eb387b69cef102386bae65239835f0616cd676bb0dd6b91aac6ab0766cb106fae2e102de8682abcbf42d0937eb78173381fd12ddf3d27a34fc6d200f33e52b5a";
   hasRunfiles = true;
 };
 "luatex85" = {
   stripPrefix = 0;
-  sha512.run = "5366f13010df9a7ea224d825252a126a9dd560af373f9359dbc87d3398c50ed040852e43c5953bfc767f4a49accaaa8333a42b8a3d661e7df69e3a9fc2f13e79";
-  sha512.doc = "6353689e7f50779d2969082d11ed33649ec8ae2d75dce18b7016b40df33bee21e0a261eaa25c719d06f5ccab2f1b3fab97b924b2cd939a7dd79568db2ea0c331";
-  sha512.source = "6de2565880374c7b7a3534652c5203e0b61e6a8b1ae865f9e2dc636f31864f069f5d9bf280ddb36064834b5ccb6cbabcf6fa7511206d6d50f197a7af09ad9bdb";
+  sha512.run = "fbc1306d40e1c329a106d7ec4ef79ebb99b2869ce72c45212b87fa03f66a18b1636324dafc739a33500be77bee2c71ebeff02c97c42f85716f5bded4dcebc021";
+  sha512.doc = "4bf353f60c305ea76e66848920e521dec0c66c80f71ebdfb0593acfc9e2914eac272eba3d69f63f43fe8be903cfbb2da7edd82cbc3d38a897934d91f1ac276b7";
+  sha512.source = "40f2732ba0eea372d084c7a9096e12de76a6f7c4ee2c8c9c042ae51696ca46fb527aa73dfb37b7c6a1a75f9753ed32b28fb9d3f2474cfd54528336b4a3cc95e6";
   hasRunfiles = true;
   version = "1.4";
 };
 "luatexbase" = {
   stripPrefix = 0;
-  sha512.run = "e0de4aac88b8558ce85f27cd4a659b0373f0e122a5ced943c83140f722b6415437ec39a9a809402d31802340de7dd22669cf03236b8ef18ff343adbdc615ef95";
-  sha512.doc = "cb2d91f48716999a3facef7b3cb162b50ba217b640f2954783acdd6ebe3f739c6f776353b4e4440f0a4f84efc9b457e0d35190be421733cfdbbf0cad2835eafb";
-  sha512.source = "deb8fbe9b572898613d77d581a9cd0a2e6c88480dd55169ec8a04995b06c81f90f2bae8811b4fd05c484bf9009a831044b0c460a9a40223be9cb6fef3939f19a";
+  sha512.run = "5a369840242a429cc7b827126120f38656684d554e06882af8174c009272f0de88a11effa881fca338cb3e7f32aa80fc16acf24d3fc10fac2c2391ce2f2f6972";
+  sha512.doc = "4e7a3e00d5063996058bd85bdc11f3469bb90f16bdc5c6ecf1077189718950053d660a86988f1bf4f203bc8f91da0e9f79d76a327e0d2fc38dfbd1aafab20028";
+  sha512.source = "bf461aac2cea7282fa4be8beae1254fdd2260b34205b012bb2ab1780af387a6855634c87005ce58b5031c863b857f56f88f436f262f192ff6c3a16bea5acc919";
   hasRunfiles = true;
   version = "1.3";
 };
 "luatexja" = {
   stripPrefix = 0;
-  sha512.run = "46049db35561dee30ad93789475238f1311bba86ad187e3e8d3ad36c0da7268a64b51ac98afda7d9595a2869ed475c4a749ff6e7eaf65eef83e9ebfb08c324bb";
-  sha512.doc = "cbadfa2e02c355725b4b31da07041d86fda583ebb392f245bc19d278abb9be825664ce569904ae0f9920dc822dbe74fb05a8873a0b377bcc9ea21bcc03d08865";
-  sha512.source = "7a610ea86bf8f4992e4eba031d82dd613d0c8858247fe5f727f2b9969d66e456b5ea091937e5940b537107631607cd08307efc23c2956fedcbaf4467b6c466f7";
+  sha512.run = "06ce71869965eeced3d97c5771e13a650b5d306d06c54c500e0222a9ed031b74d1db63e29791c4e10dc1873577e250e9197b2c9c945753b18da029b1f1eea06f";
+  sha512.doc = "32a21dcc470c38732e8851421f094ae7a24eefbfbb984630e2a5e392295ae557e1a28f5582805a4c5a4a41dbef1351227799a116743d179819c8560b846b6f4b";
+  sha512.source = "f01a6331deb8cddfb60069ddced04a1f621cfe72f2c083a4ba2de3fbdeed9197237dc976286e2ad3127f7d519969a8d60345b71d1aab40d4c0d5b54d70c4f9ba";
   hasRunfiles = true;
-  version = "20190225.0";
+  version = "20190926.0";
 };
 "luatexko" = {
   stripPrefix = 0;
-  sha512.run = "9093f37a7205511597588afdcf568f695d7e33e154d81823c9f3a3023f2e2d35e86f5b7b1f105ac2e0979e6f5406638093a35ba814a46f3f97f5db71ae789025";
-  sha512.doc = "8a8b64f61ecdb4ca362cb9736a5cd7d1b63f60b4696185db4ca8c504888c2908b97795445a48ab7ccaa520930e61ae08fd6dd3d474afde50eb7a4c3921589d3b";
+  sha512.run = "ad454d899cc34304231476cc5742ebff3a16565737a2e447b25afd97b07b1108ff4da6bf369b2aabfb038a472bb7eb706425a8501141e1dbc7427d2384fdf565";
+  sha512.doc = "42f54deadca1308c413be4ef2ab65c52b5739b1526bf9f436b3576089bd2a72a1e6461c8b30ea2da12a58c5160ea0b82304668f7897d11d7fa06dc00df4e3b60";
   hasRunfiles = true;
-  version = "1.22";
+  version = "2.4";
 };
 "luatextra" = {
   stripPrefix = 0;
-  sha512.run = "1eff6622beac9c02553dc50a8f408b1e9f345418bacd644f5ea3015285de817303550b4dfa63e302360de307ce23adff029cbd5e52b69fdecdf08b4ceffa81f7";
-  sha512.doc = "62e14aa6b6f907314573169c673b81f7ea9ccf3c6db8f3de42bdce181205625dffcec4794b3f4ccb0e28832148f9e63032d67577ab156a44fb6fceab346ac0e4";
-  sha512.source = "26e291db8699108bb8b44dfc7bafe82f36af4cbc9ce3e9ab5d6723bb5cde7dc0eb8abdabb2a442dc065c8e6620818247b67d37a54e1a0d85958ccd1d58262e62";
+  sha512.run = "03c95a5e42d8fc0ed88704799a36624ebb48b9c7606acbc09de29e5da845ede3f239a6dda43cbfb4377971cecb55b1f5280cf0ea1aae5057f3ab8df2e0870745";
+  sha512.doc = "f1c0d31fbd66f4e78eb638a9bb336f49de3d19b29bf276fb6fd0d976ba2f33599c1536ec82f7887af1c1ee359b48b1048d400b7faf0cd8016b914f4c5318c849";
+  sha512.source = "2050bf6c907f6f4e210b400cc93b1786a7ea8407eb64e90054b2ac8408d31689fdb1ffcf4859f1bf6c24c298e5d07fcbd201574b9b397de192609dda504502e0";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "luatodonotes" = {
   stripPrefix = 0;
-  sha512.run = "a4c766c5ed8e4e04d50cac3f462620f8963fd94da2ddeac691f79f5e38ae1c6d50dbe39e661bb9f44bc676a76cd0cd6d2dde25405616b078912142b2f6add3a4";
-  sha512.doc = "87f98a59a3864d91ba45afe9d987714a1acfa6d0a0989384da27e3eb02fd5d34d0ca2dded6c52e44d8da2d6a651e23ee84f4b292fb35af87fc1db7618bf22659";
-  sha512.source = "c4fb233f61ea70b108aa8b3b3e38787a6c6e1ca0a5c64a3f58f7c39403d26cb1495425b961184bb8647e43242539ad01adb9d2bc886740767cecad31437a8b0d";
+  sha512.run = "df5879d73d416054a5146919a59c2bcc7564f6895cd32b3a93e287c62f406f7d53dca0f6dc3da1e1380027e8403aebea75076dc50517dc697b8f9fb2279cab47";
+  sha512.doc = "bf2f0e49cd323e7439c1ce98c76deb0384c9b9a540764eccf3322da50ae939e855e5a002b41fd00e280aaf8d135959ec87b05830e9634e8d1bc701df97568852";
+  sha512.source = "6c7c1a9669405da4e07dc218ac84c23018923314dc3fc77a89a2755ab458fca7a3a35b6fd17dfbd4e7bd5deaab63bcb09af8e81d83680246eff43bf7a2b177c9";
   hasRunfiles = true;
   version = "0.4";
 };
 "luavlna" = {
   stripPrefix = 0;
-  sha512.run = "64b518d2d08214c8df8857d9644dace1bd14b83d49ee7adaba18f762f19f3afc249b5aa5e63cb675af14f293869aec0d81615c5016e43ef7f33e84ed9b06265d";
-  sha512.doc = "446f464fc30aa995fb7e5f85e1b8ec46b5fe43667723df707680610993143fed67320b1670bdcb0aa2dc6238b6d24b950ad87674d715482d3bb112b411526d48";
+  sha512.run = "532172433fe45c3b6a81d7b788f6202f46ba0685da373698629c11177d298ea81a30d967310b52c9055fe2dce6589e2ea67f08be9d1d3da5dc1488542feedaf9";
+  sha512.doc = "6e6c7b0d9701804b557605156b391815497bc7b78d7d3aeba172ad89e3f83d4cba7462e3f045d390d4f7a458f9b344083caaa27821a774f68b8e9cde476e9bda";
   hasRunfiles = true;
-  version = "0.1b";
+  version = "0.1c";
 };
 "luaxml" = {
   stripPrefix = 0;
-  sha512.run = "f958a56c1dd52cf1747486b136428ec2d42cc6fe316e680b340962225e121bdf512d51a797789407bb3b7c8c19ddd13066f2c3b8eb92af58734f4700c6d7f16c";
-  sha512.doc = "59df8cdcaa6b5689c5053047b72bc3a26d3491b3eff963ca9a19e660bbe43e33155159006e4b2759f42bd842d184afbc34af55d1b98fb94e525f6bab20052fc9";
+  sha512.run = "95279ba444644ff60cd0aa812690a5f60aacb4c921b9e3fe1b714f8574b0b01692cf8042fdf34a044e162b7e231bb31989e256c4a4696f1e3358df8088114707";
+  sha512.doc = "b5a7fd96f95350b8b7c781d1154ca2a46cb22b0413165f599e5d5614b411a1f1e5ba236862270855bc613e3d9d4503d9f9460fadd7694f719f8bac6d354fc8b3";
   hasRunfiles = true;
-  version = "0.1h";
+  version = "0.1l";
 };
 "lwarp" = {
-  sha512.run = "286c2a5e5fa688c776e06ace104e58d9a12c741eecf3baf67bb720e8697c94863c70b3a1738cb8e0b3d061bf432d697953c8cd8fb5df0852ee7fff211d05e40f";
-  sha512.doc = "f66735ad2b54790f7faaac5df5348a390f5a0160fe2885808b122a4403009d510262978f93ae2f43680d98faae49d01208d57fa7140296c6ec61bc2d9d64f61d";
-  sha512.source = "1f1051504e4d95e433e57fd0ca2a456f0e4101e6334a5b24b986eaf86cc3ee8b52dcf1b42c293726428415db4492c4ebee4bb2f7eaeadb24d6e4b82193eda656";
+  sha512.run = "9251bf5d255bbeaddff8b3f1d6d32949fa9278158bc7326675b7c39d450e58853bcf673b52b1d86d41ded9892ab76c9955e3b48889b37fb4e847d57b020f858d";
+  sha512.doc = "eac134b818d05ce5396f0598d1b985953b23474aecdeb91901144d2dff5f2a940b53216494fca762dd955e36112cb5678688d0129c2fc81cb4dfb37247e7ced9";
+  sha512.source = "dbcc6a85e375f40081669eac063a01d5847753382e56ff137cc84c9b3701dc64cd19148baabbf7d7cf751b892f33e6c9f4022ac2817891c112ecb4261894ad51";
   hasRunfiles = true;
-  version = "0.67";
+  version = "0.76";
 };
 "lxfonts" = {
   stripPrefix = 0;
-  sha512.run = "abeb6b0e1556ab0ac94f48bd19d8f12a48240edef851976a09c6335e766220c0456155bdf58eff704cc6f5aca07669c7f1b9b3e9a926f339d739c9dd3feb5e56";
-  sha512.doc = "4f58b879b603700da8c317e28ceea11646e5dcf9a2fa3ab3604e3077526d58734fb3233aa68846d2e2a3be523bc9affefb5478535a2643b39896c65d31a100af";
-  sha512.source = "8071d70c2f06ad68090853e9de0c700922e8f551819247db974038580447f813e93a1f9ac932e208d66f1720c00cb884b9e52af761fbaee2ff819c2288ff71f1";
+  sha512.run = "aa732f403af1adc898e6ac462412a59e4d2c8821ef47807ec5d8c1ce565a73299d472377117bca3fb30add468b546280b1603feff95d35090b338f87b279bdf4";
+  sha512.doc = "fed48ea91eb5ad414463d3b929dd4deb5cf433be63aa2753acc251aa1e8b85f0db7307a0ea96ea0bf9c4d9b14d0b90d26cde703bed2761a4a1b789ab3d117eba";
+  sha512.source = "18da6f216135745887160dcc1df6ed72eb0e49f60a445e45326c84bed8fd98cd66316e21a6e0e7528d551917092f9715641fc68e02371b609690e00403ca5d96";
   hasRunfiles = true;
   version = "2.0b";
 };
 "ly1" = {
   stripPrefix = 0;
-  sha512.run = "a744e7d5d5670dbc7317412684f41d57c584cf70b5b4356993bfdec8c7f5e3cc7581fe0a1432c3e8d3126c2f3d95caa8684eaf60be5e5f32f14d28febffb2fcf";
-  sha512.doc = "402f3e5c01e9ea95c5db8dce4d05c49b384e9b6f871ff4bd63cb31e7a02e75f8781d64596167d9b19086609941f50b0895d42f34f262f7f5fbfd993a947d4345";
+  sha512.run = "8b170d04aef1c95b345440b60e5aca56442374d897e4a64ea4fefff4506e133d4c06350b5ea86a81eb9a015a1fe32b2bd8c433401a9bf6433e279cc700d0b8ae";
+  sha512.doc = "c1bbaff6124984b0c582cb86e3e8f729e2b2c256808dc621de2c12da94c7b67c673c70fbd3d17c723292a90c60638e32fd79ece9915648347a7469caea040d7b";
   hasRunfiles = true;
 };
 "lyluatex" = {
   stripPrefix = 0;
-  sha512.run = "ad51a904a5050ef92df17d9220a5e453e251cad0facff2531cd6b9b5df47b0f39a6acb2762cff75e4a27c0db14099119603c03e760713cf0de88c263a2ee5ed7";
-  sha512.doc = "0641a8dbb8678add9c21f5ae9e94c897cda0ed63ea54fa199d8d41e308e63ec2fd360606089e263f827a5926475d2cad358baef3383edd5804e5712e3c628479";
+  sha512.run = "8ef105cf148927c99a20e792fb2259320d0e28f4140621561c9314afeb51f71a15013841e1497d0246df8305688e7211974bfe6a618b188d813481c9526f44ff";
+  sha512.doc = "d8768ee9ae861477a13dd837629d870d34b0d1fc0b1f0709a90255f1ce230ceb3ebb782c9a6272f72e32c3371b2a1d16577033c53e2d6d1b1cd09adb19b62e41";
   hasRunfiles = true;
-  version = "1.0b";
+  version = "1.0f";
 };
 "m-tx" = {
-  sha512.run = "bba58990336b30a823c100892fc6ab602fccf3999d0566ca75ffe921390855cc7100dc7a24c5ae51ad7de0826fca2880c097db69128891fa5a7c342ba05aa315";
-  sha512.doc = "7c48f7b8d95af70b4ce033527ab7817333df67816247c39ad198c9fa7539d91f6a43e91320fed1a746040b7d8ef431ec49db9bde7fbcf34db109c8a79521e562";
+  sha512.run = "055839d04921e71aa0a83309485ba2506feaf2d3bcb919073cb011bdff8ba1f623c2c7af6fc4008badf8faad17e41dc4aa55f9aa47b0065af65fd2fb5dd6ae89";
+  sha512.doc = "c1470ffebb9b86958bdb68cf50e1fe18847e11cf1c28feca36ba0de68ce0fa72daa80c1df9312319d9cb5a42bfb250e7aa3a1e2ec8e093780b170b4d6d1b619c";
   hasRunfiles = true;
   version = "0.63c";
 };
 "macros2e" = {
   stripPrefix = 0;
-  sha512.run = "2839f7638b935e0832edc459f6bd61500b76c4969b9c7d45431f578b351d3375768a2c733066801143035d89284d7ff808f415067a92f4932bcd3128a59c8954";
-  sha512.doc = "a1c2c1d491f263456de3f312729218ef4485f61f84fa216f1ac3a0b3e5e9a90dd4e728c1b031a27d90364beff4f9acf6a37e55f5ef04fd746804ac4a7f9b1304";
+  sha512.run = "5bb8ea01d851272306a4d9aa1897d879eef53a1f7262c83a8cec81a7e00334a495eb89926683d42af29f38aadfd1461893ad7bd72cae3993f1ea63a7475dcded";
+  sha512.doc = "0a089e411cce517581166b359ff092b7c98d09502afc83a4935269ed2520ffbb044921e5432238e999cfe85c72371bf8a45bedc07c6ecccc14cba2f4e7b6b6c7";
   hasRunfiles = true;
   version = "0.4a";
 };
 "macroswap" = {
   stripPrefix = 0;
-  sha512.run = "39059c91b813b434cb13386cb40eb67cb045178008bb2460405f12eff6229ca7c9937605ea2ace4b4dd405b48254319ae3f072a28d277ce112d80aca3a392027";
-  sha512.doc = "47cf23120b9a25a8cee5f4a89ce3e3e2cea07a3db390fedd51ee0288e50b55224b6e664908eac84dc50f2157c5b51f7694dd7f1345fa9392c324fd89c9e9326f";
-  sha512.source = "799545bbf299a75c9f66e00525ce96a9177cf9fe916f95082dfa516925de635894ba33e00ebf3e239be46e91573b066b41370884bb3608ca460099f2657ee22d";
+  sha512.run = "39af1bcf247986c1f7559e1523d1d33680270602bda1d904404db0700452d203f950eadb2d9808a1cd3098bccf070218bd791fdbe5be4a3b0f539f013ef226a6";
+  sha512.doc = "4e46c824a6a5909fca7d8a4628c87cc7a372ae5eab0d2f5110dc1f205e072e53a817043cbead53dde55e71c7c1c0e23695ba963c27e46bc70e2f84d430b656d7";
+  sha512.source = "43ac07d97c89b821f89f7308acc21521d025bad0dcc82f281e011254b163a54cc457db5bc0dc74419cc5bdfc4297e18cc886bbb1b22715dcb7d41e6bcc0c2374";
   hasRunfiles = true;
   version = "1.1";
 };
 "mafr" = {
   stripPrefix = 0;
-  sha512.run = "cd38708b8ac98fa1d95d77c7b107a213d07cd778212c9e9ea5cf0b3d758d6079b69637ef2ed4fcc0c5da58b3a75d76fe6c68ae874a07b17aad9f8414b2bf9ab1";
-  sha512.doc = "168a80bfaaee9ff30c8bd3511a862d0e0cc0b12d873a7b412cadc375c04580f39781e48c138df062e5d66a0953ae81e9e78ecc5ae493f6a8543e4a72d57e277e";
+  sha512.run = "802d108e7deaaa1a42b7f1eca5059f9547f0f4edb2eb5f8f3f0b68d03c05662f37d2bf7b25844dcec6b89d6d1f0babe93614cbc87fe1e2ca0ac2153602c0cad7";
+  sha512.doc = "5e3a0c42944944fc467e09751c1881dfd16ee526c78e509acbad394725703771893770d11e5aa16b09b6b5d1059331b72ce0f1e85c6ec61677d101276398624c";
   hasRunfiles = true;
   version = "1.0";
 };
 "magaz" = {
   stripPrefix = 0;
-  sha512.run = "02837fa79e1ac2edfc20dd0cfd4d215d0f38b9dcc4d3a234d3fbf67d418614b696e1a08e547cbd901efe949711d61fb01cb22b5253945d9dd7c5d3b050ddfeee";
-  sha512.doc = "cff62121a4918f8ced43f519dc301b6a5c521763ede7f616d8eb6bf09a603b411e4f3783086e6810fd9feb92cc438974bb28b0f5bc673bc79ea685eca0776e3d";
+  sha512.run = "5c35baa39a8b26911b2c2dd875576a0f875f5edc37fb497dbd403720855861219fdced11ee3fbbdee8e63f0817b6c2ee6a20e6ec3bcc9a5183465c22caf7735d";
+  sha512.doc = "78c9163951f269a489f6e8a48cce7d9ca46aa5c7f2f2567f8e50627ddc32920a8a5b54bf141ae881c2863de6bad4f7a954588fef9469291f18e65b7fadbf051b";
   hasRunfiles = true;
   version = "0.4";
 };
 "mailing" = {
   stripPrefix = 0;
-  sha512.run = "1a3f6e06eaecaff632a3111fa3baa0eb5cfa6083904b67f9249be9b8a139ff6f5656c4e5dc996c69df651d7b8866ca5e5937eda8eea7177b12dfc67ed6a80b9a";
-  sha512.doc = "d92f6627ad7288a711e69e56162e12952b16fcc9d8184d2cb7118114eab6002b2db8454a464b3e1b4a59f8a27d53224a5091186f98c2dc699e2f7be8f804af72";
-  sha512.source = "47cfa6d0280cad84b5afc86091924b52d431853ab6e67febb18c9ebc4d6d5ff87c41df015170bfe26acb27a40989627b02b24ad8166c38da21e347c353a555c7";
+  sha512.run = "33fca4d77b34e3390de647e7e39d6240344f2a90c6067275bdb0e7dd1a3deaf5d5cdaa84dc4a49a0c817bc6923eb593602653b0d0ae4b794510a272b78498be9";
+  sha512.doc = "2fd2d4dd5c1896d0849294a1911ae3682b7331cfa574bd46aa047f118fdcb09b4da3e29f6d5412d23ea49f776cd042694508e8b5492ec53cb44a6acafec110c5";
+  sha512.source = "5adf58b4bc60e939906b8ae587829937afffc54af81623e640a513ed8522984c2308d3af1631857f4469a5774a844e3655bc3a9ca8ee09445b545d10dbcfea5c";
   hasRunfiles = true;
 };
 "mailmerge" = {
   stripPrefix = 0;
-  sha512.run = "9ce0a1bcd0e0b14112b2840bdc6850069ef0c98f45e2142842516bcb075a182064f6ec4efa07ab5576ac47b03dec3cb13d1cf30558030949621909d44e36042a";
-  sha512.doc = "8b07be8de89a9046687021e5a60e4d60120d22999d3238022f4cd6521ad5792ed7a25a0c39204b43894753a2fa0c621adf3fcd4fdcdc9675c4bc858e7385e6e9";
-  sha512.source = "2fd8ba294c2b23c952a499ad33dd6a6ac76097fcfd60a5a473b29d91d0f098cea26caa9ada49dac83cdce1cf1745f7c20d79a8b59b5f387421d5d153403219c1";
+  sha512.run = "1930b0c554dfa36514d0c0b33749d506d6e5acfcf65e3c1dde3ed75a7c45bafb74db8d83f1b286c1a623acb32b2047dcab566ad85e3676c67c0ce1f7722d24f4";
+  sha512.doc = "3e8aa80211af8f59289b87dece6cc2a1c5eccf02805e3e7927c78cdac66cdb6afaacb07b1114f8c67105289e4d4f7188043cc28f00365c1f5c3f353a53f14922";
+  sha512.source = "d894133e294ea440e1916a04f28a738930ea0ae80ad96e148434c84a02a388735d00778ff4850306ba7336c915a9b2992f41c496149447e6189db82c59a66138";
   hasRunfiles = true;
   version = "1.0";
 };
 "make4ht" = {
-  sha512.run = "53e5dbacc1cd83b88724d084b78a2547e012d3a56235153dae35138e0a37267748646214379050923d33ba2adf8b6a2436ca8d333d8eceff4e143f2f9e55a1c8";
-  sha512.doc = "33bc85db63c069455861212c8e004cffdfafb99850c09daba82a1606864ffff8df2e80f9b7429b60db0005af10a02fae2746338d8d3b0cdc87418c4559eda1df";
+  sha512.run = "ba85b1b4055d997677f5a158513eeca0390e9e07b872250970908151f33f7203a4d0938aaf4dc56c33e36f57b99f797b3a28f999add39d931bf4e78b907ceff3";
+  sha512.doc = "45637b363c64d0ad91e164d8c8a254506f98c8105d226ef9ce1912c2c4ee50057233f17035e8a5ab995c49875e638bbd14e1a13949867329a3e3cae65b844c55";
   hasRunfiles = true;
-  version = "0.2e";
+  version = "0.2g";
 };
 "makebarcode" = {
   stripPrefix = 0;
-  sha512.run = "cd03fb999898e2c34f68c177151573fe3cd84af4a6f63d4e49eb84f7a719dc4d47ef492a74a5c9f95b7ad323efd7de4b5793d635f3fd4807dec3bc078ac318dd";
-  sha512.doc = "c8f8e2239b24714dba4b6237ab1e1936f8d05c2829c7d5a10735837f2eec3d3573b5d435bc6f54cfbb42eb3800de4b5c5a3ada2efbca951d5539ed5d7347cf68";
+  sha512.run = "a19268b5e63e577b4df9255e4c0eac640c73ac9e08f6d4b4baaff7920f714b7dd961f8143587b59478df2d854dc2f363312833c7636d08c2aab644a25b54bb40";
+  sha512.doc = "ecd0121f679d7e4ffb162c151dc4b60acc78f9297d3bf0003882b914f0b1a10a52b43e844c5bb085d73ac08f9f0aa2e768ec4fe7374067ae2fcf304e842a29e3";
   hasRunfiles = true;
   version = "1.0";
 };
 "makebase" = {
   stripPrefix = 0;
-  sha512.run = "8b66b365ac438f21b0293a5254bc29ada3a8b63dc0cc97e0e44e66a9346a8e75fdf38fc17c762d1432e83a10f9aefafbddaa272f1824bacaffb24bb4e18ca46c";
-  sha512.doc = "aa958571714d79a478f8ae077649eeed9b9d4e678ac3749e4ba2bbaf1366316af314bc9f4f5751714c9c7e6f843d962f35737c4134094ea65368863e3c67ef40";
-  sha512.source = "423877eced8c97c1115a0a8b2f0924111dcb01de3157fa7b606c92c28c5a862dea18feefc049e8d49243d05a7817478263f23122dc66fe2c0ec07d975eb82f8f";
+  sha512.run = "cf36d0bad24180f48a7cddae8fa19c6260ceb5076b21f05e48360a30ec259b342e6a17f1c5d299ce5fe02a8dc5ed7934dd55c5529118bb24dd13cd36242b0d6a";
+  sha512.doc = "2f7eabf88fe3777ebb1455caed5a339c3b56e0e7a97d34aac0b4c461e7ccf6450de936678ce00e64e39f308167ec55a6b3ec42f7428a7a9c87d2607570e1576b";
+  sha512.source = "734e05be1aa54da7bf484fb9211b1f5d6d076c9a87c3287ebd1fe0fa965f542e4e8e14a6df767ccaa23063fc263e66d52b42df54fe3c3142bcf0b3d7f7fd8de0";
   hasRunfiles = true;
   version = "0.2";
 };
 "makebox" = {
   stripPrefix = 0;
-  sha512.run = "e5f36d8eec92d974aff44689361bcd61ffddc9b3de97f79de457049eac9f20557a81ae76773ccd747ddd1e5273008a53f7f4f315dde377409cfefd7db921d085";
-  sha512.doc = "675d283b75016bf8ccf3a341e468ea2c97d07fddd2aefc228363e7785641015ed7546388d6ba1f9f76fe45391c9b0634e7f6c1583bde7169dece5485a7dcbb53";
-  sha512.source = "21aefe5e849c5801e1ec3713bf1c568555e910bc22d7bcca4a7ef4ced82a3258c7568cb22b20c087816e17fe33ca896d3fe0bdc339e933822dd0b247a80a370a";
+  sha512.run = "918052ed5c358e12ac7ca7c93f25a43fcfa8f7ba261fdf652d7ccbbcc27e3e0f822813d8297d3b75450c443687bd97e93416624b51da61572557d6a337638bc7";
+  sha512.doc = "807d495fdef601fff666acb79c7f3fa43d1aeebf8aed77bebc02f90dca4fb9c36ae1bc911a9af1009538f3d3e2c4c7f9ceb0111d091dd4c1691a1520e089a697";
+  sha512.source = "04ab9a02882a505f4393288ae8e5d6be374bdd6aa8a4472da1fb7e2c9e3b4bfc58132921a3287a4c8fe4d8d3fb91ddc33496a088431862407988ade1f716ee85";
   hasRunfiles = true;
   version = "0.1";
 };
 "makecell" = {
   stripPrefix = 0;
-  sha512.run = "c1859d1f0f93a52632e7c8fddeded1f9cf71684bd4aa6d3c2469a1e42ace260a4b35aa6a382d9ba8c22aced107d7ff21f566f1929f0643a96e7c6bddb35df5d7";
-  sha512.doc = "68bab63d7ae25b48f8a1405b975d183b1569390ee2b764e73e133464e02a0b482cc65a747b1a648043fe02d94e26568d5c86789c6dd3d91d2a954bb9abc0ac0c";
-  sha512.source = "66590735e5c96e54a2a984a5473c8afd088b6c52ab405b622797a780332e3c5b78ccebde73f0828656882219e8a5694ec80796e5f962e42858231af6d0918972";
+  sha512.run = "ba32b6a68b0a4cd6df36d460832e5cd9664a9c305c24dbca93a4fce69e97b6db3d86e3f219a0511c7d70378ddd9424d3685d60cabbc8554077c6bfbd8847789b";
+  sha512.doc = "7c762852f1c7b4609fa823117e765d2b42ad857e2ffa1ca84aa3df74497c88dfc0a2cf05747f11f14453873ee70c4b0f2f890112c567d04ad0d61ada37e14335";
+  sha512.source = "bb2d33b674b612e67bbbc1bf04a68f3804fc37b9e22e19c9af05746efa869ef52db48c5828724b88de130b15120e9ae003f49ea6389f7add98c712550af87d4e";
   hasRunfiles = true;
   version = "0.1e";
 };
 "makecirc" = {
   stripPrefix = 0;
-  sha512.run = "1be011dd44cc281763a4243ac8770cb24d5a8dcfe3b7a4c5a1a21678140ac279e0afd8a7448b5c9a4466f1c03d9fbad1a4e7a722e8ca553b30f95c291cb67b89";
-  sha512.doc = "e0ee3b6a430492a23ab857c77af8f96dc969af562d62590f7b34014ee2632e657d4a1cb26152e019d3d31cf35df3aa0c906cddee284e88bf4ade10b0097c4af8";
+  sha512.run = "9bba91e5139b90201e232aa3fa21254c5bf8d989aedaec8310209ae6b772d24d7b8c3be379909f04c2c7ff079cca10f43a1f74091a77bb1b8ca637a0743a2ef2";
+  sha512.doc = "25190b3a5d911de1d02fa596f604527006f3adf7512afae397e5ba15ab62d6471ab834f92437d35a9f37ed83c8b84990d79ef0fd9ce2b0edfffdfaa2ec97a345";
   hasRunfiles = true;
 };
 "makecmds" = {
   stripPrefix = 0;
-  sha512.run = "7a742680ba9b4f3fa0e079b32781610e93765e631ec7f92e2e495e8d35c20fe8375533164aeff411587eb915a703150d4a5d6bc767348e49ad9129dd70b9a599";
-  sha512.doc = "0e5aa35987bc7be7f4cd54d14be5dc960e5d0d5a0a5be103e7fcd0712749020955b6c9e178e5673abff01cc26f7f87fc426e921e87cfccb5beb1c62a447f7f3b";
-  sha512.source = "ed945ae385baa825f773d690099c9f7ad9c66bfb046267a0587e8992b545c4c5eb97b6816731bfc8db578ee4d9570862ca089d67546fd044a93c96404d49f0dd";
+  sha512.run = "fb63fdc9cc0aaa531b25417f0c23348971c306b1a93d99e7efdbbfd7c3907b50f28c67f36a88bb2a94154bcbde937e63246ece577ee2440ad4f5c2935eb25b99";
+  sha512.doc = "f69dbf682df7e3089727570417be3624b496b5ad7db627b344d32b106606cab5299dd23497e137770fdfb9f940503a65e1074e06dd67e0561b36729ab6c3d428";
+  sha512.source = "380eca4f5fed0ae72cded8f6d3a201cacb05a57851c4c207f086dd17762689cd53a6b27daa23d8043c311adc9baed32808d2c7eb1855892f8113ec7f13c02946";
   hasRunfiles = true;
 };
 "makecookbook" = {
   stripPrefix = 0;
-  sha512.run = "5f0ee480c7d9f5e2dff889559c89976ac27cb4c803d61f13fa88cad5c415a36628bb8c2cfb911d43d921fa849a769d51c5a43e37c6fdda8442279fa849534e75";
-  sha512.doc = "b7100378ffdff32786a1ac05875af770f378e37a801d8a2a4c14a0d942c472d16676ca8d5265e0986acfdc3e66f7513860135e03ccd85df6f28323d61f8ed14f";
+  sha512.run = "a4fdb7a7553a08b51d15c038187ef621ca6852c20a033b1751c544634c3092f93c3db5c1f4d744732ff6696509d8fa406251e9d14e619397ca4202b55c1b9c64";
+  sha512.doc = "84c97dd438e3d3abedce031da5841f789f3b8c28672c9e3b6c53929e2e781a9d51adaec6d883d0008b42f1eae2ed5bbf992ec229bb8b2f7f510346d10dbc31fb";
   version = "0.85";
 };
 "makedtx" = {
-  sha512.run = "dd5e0a4545bc603998beef532f3accaed479fc06fc92a73de183d6803a9b4b7b54dea901964124607a4ba14559fc41e0a7b218c7b1796194d004334fa4d32544";
-  sha512.doc = "279a128c92a8342c5b3f1091f6ec927fb1df8e977db847df9c390218f617df3b99aa0b91e3bf3749ee4d95c1fed6025dcfb4a1e6bac6b950cb337725732e77a3";
-  sha512.source = "b1e5292d447a049f43e6a0cfa748adc369d5ec9a407c650848806865be46491425a36f201ba89f62d2e5fd0bb6efd1f6ce7251f3dd1c06f8ac8e6e46e4933997";
+  sha512.run = "e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d";
+  sha512.doc = "913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef";
+  sha512.source = "84e12e7798c37a598a2d37fa7faa206ffb6f5c1f9c21af7130a9f05bebf9857f2a4fb7988be55a9936199694a0d74595ff75a1261187d81fd06beda5e0628931";
   hasRunfiles = true;
   version = "1.2";
 };
 "makeglos" = {
   stripPrefix = 0;
-  sha512.run = "03ee1fc998e0a06669aae05636edb45c972bdbddc96c2ddb36d7361bed2d562e79ef42cb7b3bb98bf96e0b5b88a176be936248c9d48afe3692679cf3d652496f";
-  sha512.doc = "2bcaeee0f98dcd49a58230eea62490428efd05b9a65aae19deffd3adcde2ba59c7f64feb6f34ae6b9f783dfdee39e1234704294768d14ab6d67834f373ff65e6";
+  sha512.run = "477523d4663e1e4a1fd6bb830e4574d6d116180b06a3199d6ba27f7cf704a1906a2812496e9a7ba8063690a2095fbd5022a5eb8c2448b1e0341c8a961cf05794";
+  sha512.doc = "c580a23d65422d8405ce011fb6b088f53836811e3da517423f6d0dce098ffbd64c0648318eb9fb74ab637e1796d19247ee87ca8a25c7d306e3dc35a5d6d79f99";
   hasRunfiles = true;
 };
 "makeindex" = {
-  sha512.run = "2c0afe8d9e5d03187ae8ee6b0b023f727577b84d369d31dd5e1a1980a059f75866b752aae8c5067ca968c2c6c6b5a6fb9f11010c8c8ba9f2aac9191a6647c5d7";
-  sha512.doc = "7feb700df902f8c5d66eb491121218fdb9eb04077a7c208706af3281a81c53ace56cac1080627ff10db939a66a7077dbd637b61642ba5e7256adbbb5b0ea2826";
+  sha512.run = "6ddccdfd89e0f362b312c981da16e7e2771035ad03135f7c49998ec7d2b4f7990cc8d3094d2a703277aa1be1d43b332906169d1a6699eee8730a5d6451d9a2e6";
+  sha512.doc = "6decf2c8d770fe0cb18c87929f877afac8f2e5baf64cc85c82e575fa0722ed9dc89fb49f08aedff17f26101dc3e7ae42ca6d4a1f2864ec2906c46a960efaf90b";
   hasRunfiles = true;
 };
 "makeplot" = {
   stripPrefix = 0;
-  sha512.run = "c8fdbc19ccf1f7f87db631519c07085d680ac52d71ef96a1eae8a5cf5251d346bcac1c5c229066e45f6b4f8750b6d3debf5b5452b34f0a93f62175c6c6001e57";
-  sha512.doc = "a74e513029f0d00cbbfa71f8db3df5201a9adf4a87362b00c191c71bbbc6edd04ade1681ed42d3705c77adb5694d2fed1a1104cd2506ae5ea5595e1b5472169c";
-  sha512.source = "3b385e376b6148119ce2131effb4cb845faa45f4ea4a68a6456e6efda566e3ef2727a634381b34455d9d121a9e7089746746891ed95f6c6cf45d2f22007fd6fd";
+  sha512.run = "366e9ec4ce551e17ae6e77f068b0d2fb46582c033eb27781cd620a87731eba744212db8dde9ce8e50318f280dfe31e61a344ab4232c3bf26040dd7a2290d4fef";
+  sha512.doc = "9aa863af450a66201e7cb3d3a58d9248430aa26cca9b50de4c71c350314ac9c0f6fe54e5eb1b37917a75030a60ca18102933f154bdeb7831ca02bdaa65b3a6bf";
+  sha512.source = "b4f0e0de72c005124b7e83f214111931ca2ba03ae5f1270b5d10ff790c6fd84cb02950aed7377deae2c432de55b7822ddc68b9911b608b0460c7800f375fcecb";
   hasRunfiles = true;
   version = "1.0.6";
 };
 "maker" = {
   stripPrefix = 0;
-  sha512.run = "6050c2179ab041e05f5c14f24a9814cb74ab41327d844ba455465c8463d0134361dc21723d9abc40935ecfa47c12110897f726b4735ae5f475de3254bc280e35";
-  sha512.doc = "9d2de06644c8da3e8d71948e11f18a618352d1684726895ca51eb982f0f85f462dadeb5f22248beb84934e7517ff950caa634e3f4144ce8ba16044104c5d75b8";
+  sha512.run = "d8cefc4d4389e4024c448400f02bc0ef0a21146c1d079f804f5e102ee3f2977be7fdd2c1011672b70192af48693ab1fcc38bc1d6f7711fce217792e82f0e5e54";
+  sha512.doc = "fb7f68b4c48de87e6c1e380525a998bd1cf7578c2e4a51551b5ab4909481e66faf38f0a74083f25954b5d05e9eda12e56734351fab063f80955abf24eadc0e21";
   hasRunfiles = true;
   version = "1.0";
 };
 "makeshape" = {
   stripPrefix = 0;
-  sha512.run = "3c5611f80c0af1d782c010f0d0d53e27e4fdfb2a95816153c0866623b4b76dad28cdd5c72bc1a73e4b036e24daad95790039042b11269b04bc297f7ae5b995af";
-  sha512.doc = "db60a0e947317139d67974084603db04ce3bc56b048cf93f0ee7ae83bb23b7b09f03323adcad6b5e7ad80707f61f8a90736c39d6356add6c230ace39a5fd7abb";
-  sha512.source = "e540ee1c963f59211617a18e378dd6165d0d22e99d7017bd52008f400261d14f728eedebb666d5dac0e63275fe79de6a27099417a2ac3f3ff61351311d9b1c2f";
+  sha512.run = "b13358696b16b41a69e5a207fcfb717b417ec191ae9f6ad4408422b1ce99c3785a3328cf9bd2e87ade3ede4998ba76ddb2f640e06ef5ce88172942e4d0cf2bfe";
+  sha512.doc = "a249c636b414203e75225af611173add2e90af306d4a78c7d865fdd0e76b23637fb3b8eb41f127905bbd0065cc7b941d3d26e3ee73b9aad56e05ed0a44f67d57";
+  sha512.source = "43886cdf9c2da20943bcf0403e05fe19c035cd3d49af9afa52212c376a2ecae9ad963a24c257b70e3dcee448f42ee1464e63dcb0c5addd7018234658867d3179";
   hasRunfiles = true;
   version = "2.1";
 };
 "mandi" = {
   stripPrefix = 0;
-  sha512.run = "55f74010b4083a073f7fa4c1bd3232a2e448613b30b96ef0159944cf51080156f7e7ed3b41e373d635539affe989270473898228e6abbe2caec5a8fef39b5e95";
-  sha512.doc = "a319ede2ae07d84374bc3eba3bfb50b6c685dab904372d01970bf1dbd70ac72280781b7e86c4a5d636167a9d0056518980051bc7cbdc6d8210b4bb7834182384";
-  sha512.source = "68955c709b01d4152b164fd1b41ce897a8102db1526ad7e48ec6d3886b3ec152e6df94bf6ddb7e7b345fa6453bfb1d3e5fbf55727c522e80e57d629a4167cc7f";
+  sha512.run = "a22c6cd667b7a256cdb0d1f975d214890811ad047d3eddc96e1289fd22a8ce9035183c5c1f6a876d7bab85bf8bba9626d36c2edbc8abbd060c0ebafca6b84932";
+  sha512.doc = "60cc9d6215525424b3e05af173a533d3781d1eed50d1e89e3d31f80274ab2b91033d45254eb419ec9a9a4e7553f50ac9c737ac82daea8dfbf29ba077d69ce5b2";
+  sha512.source = "2b05284ec86ac90ae6e136c96b2eeb0215ce3cb7d9b9f85aa14f047c596e7b47c8c618ec5d4ee0a99d624b737fbc8a3f026895bc9a8b2d465fb3dd7fa2ea806e";
   hasRunfiles = true;
   version = "2.7.5";
 };
 "manfnt" = {
   stripPrefix = 0;
-  sha512.run = "49a8d481de2a4522ad6ef7b6d876a113f620223da72f52bef37ef30bbada2cdfe0c440324ffbd024cb78540a4f75f8b1b50de7e5a715c314c3256a864e2ae9a6";
-  sha512.source = "7f03244e1d6f17a4414d2291762de433e1b424ecac0f197c48215bd778b343cfa507b3807fcc02b84b330cef423f3a27599acb82b87863182dd0653ec3878f7e";
+  sha512.run = "6d4282db5f5baf92e6dfcde9b8a1e78027a5d6bef4e27b8ff35741fd8bcb35ca0a0d4e3db996ffc9a2e50868b1f849f961a4d0179aee0f580b33d79972656d4c";
+  sha512.source = "1f8b2acaf18fd350ee0359acb4771245eb3d5d750f92a637745ca01f4100be9526ea323ced82c6a6ff71eb6b9dfdefa2c44b21f5ff9c15f3f2fc68536f5f8ad3";
   hasRunfiles = true;
 };
 "manfnt-font" = {
   stripPrefix = 0;
-  sha512.run = "4351ea888c31fb5f2164815cdd9c1900cf73afad6a9260a5395e61a67cc5d0b489bc0385b443c5e6526029bac6bb971a466668cf5bbf01b326e69f5cddc6ce1f";
+  sha512.run = "fe7ddf667368990f988005a44013aab80af9c097f4f824f717d84fddfd61dfc658f507d5b1bf8f7c076be1bd5a4363f117b388ecd39b0ce2b0ee5fc8aa83fd4c";
   hasRunfiles = true;
 };
 "manuscript" = {
   stripPrefix = 0;
-  sha512.run = "6838f47dbd0e8d3b17fdea938ab47e0a4d2e1660c52750ab80071947cdf64c016db4646621791fc73344ba357452f6de74d80111794fbeec4989d9429120014b";
-  sha512.doc = "97637dd380978648da6913990a3cbd0a1f3b791e114b0ae18ac20e4779adbd3a347d02ad3f64560472ffec51864848c76fbf00d45af1af8a84356eaaed227430";
-  sha512.source = "3a706157ee20f3be6a33df93a0caee2573b6ec1196e2278f2fe4b009f987efc44dfe43fd83893d2940dbbadec1e8b0ce6944ec48ccb260d04312dfbdcd84343d";
+  sha512.run = "24e4c800ba6f5089ae76b6d444c81689fa696cd2fd9e62281171d771f8f9f065320b53b058cc6adf836f36d378f6f7fece98e8c09e2b655ecaa8884067bd696a";
+  sha512.doc = "baaa102f870cc307fe96b583f74c19c7ef2c7649f01fe7985c3dcd331539bc9d839f6e34aa238354b6932d14638b77e83b7bf8e62296c36fc2dba18f776271a6";
+  sha512.source = "0cc418f2b5538035123d81f6702031d97bf99fa6733d491b306981ae698f3cad9bd121a20410329b8428b5c14749e825052544cdc52b9c8457d7e302dfc64888";
   hasRunfiles = true;
   version = "1.7";
 };
 "manyind" = {
   stripPrefix = 0;
-  sha512.run = "3f3f7f2b13c303c1ade2014b2fff5ffb3a5058cdd1e32b9b438d343910d6d3a34812f5df79ce3d24576956c57e21182d2ab4060ca1787ab26de7673ece5e9b47";
-  sha512.doc = "594fbf1b55b5d97ace75d90121beff917ddd6948de3837756197143d07621526f8cd6340f60328b890fdee51bb9311bc4ceee42065be77630f74a0d43c5cef72";
+  sha512.run = "e08291b4cb0d2c18e6b97cf6a287d7cf5b49eb312138910185845b6c0a075981a15548de2dded6f597605aef885e736c17b5306328574473aa56f8f11b6b8288";
+  sha512.doc = "e8d9c687c1b3525c5e4d218a380781f1b2e7d512b053a583b00c97f0b7eefa1202dea310454065194039841bf8763acc2b0c4712ca8d5e9d31b57cf03c50b928";
+  hasRunfiles = true;
+};
+"marcellus" = {
+  stripPrefix = 0;
+  sha512.run = "dbb5f27d0bdcc0ac304a45b06afb800c002b299cb70f86fefcc25f9aee288c2cf4eb8bbbc37eb97d380bf1d1e2371fa77c196e87fbb92c22d2cb248243dc35d0";
+  sha512.doc = "a9c4fd90385e9ab3b39e4744084d2730dabb4091b09270855ca0d1bbd21b3f0518300a4f2ae0243121f5174f3a491a460ed6c5d617298bf4392a23368cd57f8f";
   hasRunfiles = true;
 };
 "margbib" = {
   stripPrefix = 0;
-  sha512.run = "da375b010abe4dcce77234ae0bb046ad1adc98bb5b12591cff61d91da45e97645aa553a0068103bd90024b76ffc0c637861a102b080681c390532854cf6edb17";
-  sha512.doc = "72099ac09b34593127c65d29ba27f1018503211e72241aa975c7fcbf9660e22ab09346a8a93164f28f331896f54a743353874606c983c73abae60f0f0ef9b16f";
-  sha512.source = "e0c9427ec0472e868d2901828e81561becdd35263e47685fa64e372c2a1ed2c1947a5dde55856bba72eaf0e6b436b8de9edbba0bcde439b071733f4f5f329582";
+  sha512.run = "7f734e46e72badf838397305ca926f4589b9aba7a0e91e21313f6a733f7cd09db959f30e3694490633713b1a77c8d11a521b2892722496fb162d7c25c7b8641a";
+  sha512.doc = "c4f93e442d1337cb5a1825b4f7e6fe5ae0a759c32837a896852ec5592b3c31a9c473789db35c147b67360ed662b1e9ae42a59fed446dde234b174f65e358662c";
+  sha512.source = "7a9aecd832d34d1225606a905558f5ae33befaaf20f8fa1e6e5263850d2c72273be5a4a05e96d15225b7a2853212e3de28455c856c17e42838406862cadcc344";
   hasRunfiles = true;
   version = "1.0c";
 };
 "marginfit" = {
   stripPrefix = 0;
-  sha512.run = "a4f9a5830c02b9fa06523d16718dec7b029cb0dd8556a161cc8f38b06d4053d2c86cf0b856d8bc231ff3f4bf01fb4d6578ef245c8d9ab43d721ac4ab380d2852";
-  sha512.doc = "909fb267b5eb4239ad7cf13d59d7df929a7a6687d351a0af647d0c63ec9f80500f7c034f138c4263cecea102b1f55d9b11dbbeeb4fc9ac7c877c9b167c7a1905";
-  sha512.source = "7df7f150048c92cc63c0415615d32e53a11dbb26761f8c809558aabfa9df1dfd71f31e851c884b9b34ed82818a5b7a5527397c59d7c7d5acbefded7b998b1b88";
+  sha512.run = "dafe223cc6120beac7ce419c5f5eb72ece9be2a21992e829a8015f7e05ca22c40d5196d26d21d8febf3459bfa58c7defc797ce7bd4ee1e3dda28761594240b3e";
+  sha512.doc = "fba2ff6febb4acd0dad443221c6146fc2b3818c4948827b827fe2ff2df82f4e2843520f1f4cd41fd64900012d64d973d9b649e65b1c5ee4e74757344ab423dc0";
+  sha512.source = "89892d83570cad7c46b5fafcf8a7d87b660d898afde97c2fed03f82d3cbdcea9bd11baecd19d3aa958305cac0d9f7163e00fe262a0738e7f89b62f7d1bdf0df8";
   hasRunfiles = true;
   version = "1.1";
 };
 "marginfix" = {
   stripPrefix = 0;
-  sha512.run = "4ed5aab04ed97f8919e29445daa7654edbcc6f74775c814e1b85926914f25e2d11b8f15cc7ca4b0f40720c753435088e03edf42bff4cd08af413ac0eeb6261bd";
-  sha512.doc = "2c327e9a43db7d58eed91fd62780aa58db60492dc7294b7536de5de294cc38225eab38f0815e4f5faa0ce1f7a3ef6e1e37feddb8ebe8d8c3d725c09baa2496b5";
-  sha512.source = "d2af0e1ff0bdfe5211c0cbf481e7dcba42c35b5d33255b996f79545fe46cca040c95e8e11a80682b52474b09214ab7fdccf688e730b6e44ecbf195c6db415952";
+  sha512.run = "9b9649077a93599c653d0e2d46e6814eb378ee8d2b531e2b810fcf0a6b698899bd13041d3b7f4aca5039bced2eff4789ad21587ccc596f70a6105c2efc89ba59";
+  sha512.doc = "fe547fa6bef7d2417447e4261fed0b43d2f88c944c499a55c5959a2e7d9e169e80a06c9e191edd76f1ce7ab4da9834b8b216f0881d93095e9c41ba5b7741d845";
+  sha512.source = "fe914d9e7094f64f3d94969691e02950fc10a69c7237d5ea42158a1ffbc983cce768873ea734d1def8562ab70294af0f13bb1b9cd80a2b1526394f2e151c3b31";
   hasRunfiles = true;
   version = "1.1";
 };
 "marginnote" = {
   stripPrefix = 0;
-  sha512.run = "57f84fcb7859ed9107fbe14e8f09c2923b6fce844165a67ece9058cdba4bc7750e878ab8434b667be086436dc5179056b3a88c15cbcfb3e404446e8a92230fca";
-  sha512.doc = "c4e7f12bda9f7f55e6456bcfa46ebd5cc27d8004d4a5c739a315f1fe66bb22ce61863c7f57b9ed5535c1520d19e052d0490df35c172fb01059e5070831e88779";
-  sha512.source = "86b722ade866dd80db34b46e7f812676c321a0332c551eaa3745dcfdba4522dc7253f3e990efb4f757baca5977c8a983103dacd6e0fa0edd519717e18b4b6bee";
+  sha512.run = "db05524c613df90a75c6545dbd19bccb955d0b3c2c0312686e21ed42e4802d47105726b0e092d178bf484f1585331bf71c604c2d9f039065872e218357d0d07e";
+  sha512.doc = "a9d6a3d7f8de332a5f77d086d552caaf91e5ab4a71288548d6d7ac3318cde208d948a668ac554d2a8f510f984dc9943bcfd0e07a70a2ee00c9bdadd3e148f550";
+  sha512.source = "fccae0e44e24059f6ff2cb61b2d52d69ece44287b4183733b37b157ff700f6f251d86d4344c3a10c1417155d6e16ff4105a77ce01a2468e5ba160ca79e25b064";
   hasRunfiles = true;
   version = "1.4b";
 };
 "markdown" = {
   stripPrefix = 0;
-  sha512.run = "1ce30ddfef3438ccf9924a1ca59c13c8abfc5af022136d643671b28d3a5bc63852407f40bbe2b12fc458d8249fa675988b3486556e008405279bc56c8754cb48";
-  sha512.doc = "2168faf3139a2ce02fecda923df9a023ef8fcd6b65c8145b0e9a2cf7d3279874f0eb7cd07399a7e567e0e560a1c120fd6964def34d120bb20b13a249f78a0501";
-  sha512.source = "33bbde0a376bc7ce214cac8003ffacb21666a9ab96b60decf763dca338b4d4f130779432cdcc820bd4d084ad6d016d14a1decce5f3ccb46997f600283aa9600f";
+  sha512.run = "c17f37998b3623bdd94f074d4f47fc871e8cbf3ffe961d1933ed2113eb90219cd74105d5e35675597376b64a854e89eef07c629335079a9b131f827c6839713b";
+  sha512.doc = "34562bf94ae2a4c9dc415b8c4213b6f81d1fab8e92d1b6da057997c6e32fee652fbe7245bc2c7b9bc188bcd9d0b64c7a01eb1795874df473833730a551980cd6";
+  sha512.source = "b90130e216957b4612283e3316192d3e0118740a9d43cb205bc429e008832054a23818eff2bcd3b23f12a3f27fe3a72f08e361b15c84cd6efd13173909c61ad6";
   hasRunfiles = true;
-  version = "2.5.6";
+  version = "2.8.1";
 };
 "marvosym" = {
   stripPrefix = 0;
-  sha512.run = "f441f0d1736234def9e75fd4039a5537f2b34907e147e0c03a57d213273e0b70b5adf5cf2a511bce0390246d1c1dcb8c8d10899e8d55dd3be14e0a5cd802063a";
-  sha512.doc = "86e7e38fe479d29908cc008cdae174df0453e83062c5974f6b7be91d351bb626e712263e6e3eae300fc581780c794084e60b3872eaa5967833a6de73e8879a50";
-  sha512.source = "e5e17b45ad2c8914c9eef3dda317afeee3a0c34d55089107dc2bdbd2cea12e46f8216a41b5d031d60b5ea160ebd42c05992792aa1d44d43d571c6aeebc231eca";
+  sha512.run = "64093dc5de012c6a50762ef34001ff2305e6b59b667ac7b1ef72cc53f8b0ed3852b4d307a8d421ece996e78f2e32c8871038b6b66659b0866dbdc536445dc7a3";
+  sha512.doc = "d6f72ee7ed64404acce5c37c216a7e23193f2053c18910d80fc6d5fde73ba86c07045102488f17f4cbeb9e1d148567973713bb4d9ce2cdd3cb166936ba5623e1";
+  sha512.source = "c28a69567c593160c7d04b4fc0fe7f0106db12ab588d3f02139e55ad99a1b4e33f1bba92f5af103b6f2a7e720d243b919d1f39f28031ad95dde3ae7e723f6e36";
   hasRunfiles = true;
   version = "2.2a";
 };
 "matc3" = {
   stripPrefix = 0;
-  sha512.run = "130475e90890456495fbe46597c85a9664268352b80a4175ca5cc9b5cf76b47620a8009c9b0ddc8515266884f1d3454d3e56bd2756fc4f25837e737690080007";
-  sha512.doc = "afbe2428ecc96f0c94cb095c9fddf062cea92637fbf5ef4403ff1bcf10f22ff95670fd2d62159aad76961a9bcd7922906379994d6a072e8d103828b6cd366726";
-  sha512.source = "d63fb503fcbd71f9b21dce4daedf3431a9475402df1633e651f9dfb8375f68e643dc740bd993ca5352536c1926d4530feb8b5d2e36a33f5456edd7fbb8619834";
+  sha512.run = "19996040ec55b000d84637070a21fa9fc216eb3cf8ec75f7c408925e0d7a716a7dca0eff4887778f666be3e857b589cd033c53d3859f84226416ad069720f7be";
+  sha512.doc = "68f65e9171eb03fed79dc9bffadb725dc7324fd9696ff9f6f0a13233327f47474477180c6e17b5bbb9ee2ee02996ebd6213b43eeb7e9b7eb7dca2caac2db470d";
+  sha512.source = "efc84a936de1ab0905e94937d00c3ab2f371412975786c3816cb3b8fdf98482943c1f18a08422ea95d7a7bda6607ffd1dcb6b5c28101c7f5348260a088cf1233";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "matc3mem" = {
   stripPrefix = 0;
-  sha512.run = "bb3efb5226c01103ec38a0f51b63f7ffa8361dd5973d60473b4f44c02b594c304e265e72c82451442b88309f6420292c2bd2e393a61793a7d258181c6b579117";
-  sha512.doc = "6a029bc798b4aba05a68d0c83766c39cbf659a0802d6d4a9b9e6b56f7f33940248fd74f7e57785bc1b551a45f3ea5bd48c8d5012cb903d6858c9c3bf72156c4e";
-  sha512.source = "4df6c1c4b68124db862b9a106f1b754bc0200011807fc728b725c2b3e2a9e44b7d9664abd33c6cfbf0dbef3bf6bedba3bfad8ea48d634a0f9310caf9fae66264";
+  sha512.run = "e0736f75126aca9506e1cfcbd321645e731e2dec7f3ae2c045201dd8c729044689e358724b77ef9d99aaf3ff742802857d488e3f2f78e781b64af711c7fdce12";
+  sha512.doc = "2038d84ab20c6763163769b62a35fa4e95dbd3e76b0e2cf1c4a25694488ddb5b9be8b40f81a1702600d918618455bcae46d22fa101a1a95978b996714de41dfe";
+  sha512.source = "cd8ad4afa288ca175c06df2de15cb7ae048f3b69ff6b96225f134c022efaaa5223fdba1b2b80f75ad3ab6e3ac79d38b41794cdbfecce1ac6ffd2ed47cfb69649";
   hasRunfiles = true;
   version = "1.1";
 };
 "match_parens" = {
-  sha512.run = "08f8397acbd565922be2ba794de458fb5d559f447fb3a23037287b0c8de26230f844b172880bc986a1badc1d09ce35d18db4319cc900ba891c90866743225d6c";
-  sha512.doc = "ede20fccd5fa4e4c92a5c85f7ef471fc765ec106b0518eb77c4545f774358ae4debab7c1039dee9d5fa9f83b747d021b16c43b77977725e4a9bf0e47a2c76c75";
+  sha512.run = "1e03e279e977af436a8f5d5c3d30f046f46f1a31a0fd3de6d8ab458a64f0634b5f3ef8a338954971a898a1c68128f60c6eabd7ca231df9f3ca8ed12e55967dad";
+  sha512.doc = "60428bc16f65fe820e267852c9d85a5f862c6800ac9c2aae0915a48819da381b2a311fdd3d08096d4aab7311ef86c1c89fabff3d88caf419dacbef515f4dd39a";
   hasRunfiles = true;
   version = "1.43";
 };
 "math-e" = {
   stripPrefix = 0;
-  sha512.run = "5bb1a7a78071b31e60c22b2031f63d3d73f138020d37ce525621209cae573f3a4ce166c3af1e6b1899c22c86021509ef5440313d2a948fd5450432784fd69757";
-  sha512.doc = "58b71a9cbbe850ed954e6f07e424879a253886f8c4abb5302ce67191bb71a75ffa8a1a8c679555648b218bdeac2e1f2ebd868a879dab30c14b1798d9cebe6fa6";
+  sha512.run = "c51c61baf8a8189fc2facc065d2f80c75026f5dcca8ee79c6d72ae9d71f0dd7fcafd7a230041db55c07e065838e865a56129c79b502c5f65e41ecc7b03e1e5f8";
+  sha512.doc = "8f2356c61cf47332ad4b62f2065ba7f16173aae618e0d387c6b5f9f97a47c6b3fa14deba24e93ab7b359571ce732023e9b062342da0effc16aa6ad13fca71c5f";
 };
 "math-into-latex-4" = {
   stripPrefix = 0;
-  sha512.run = "70f4e0fd7e79a60c0476604aaadf74741b97dabc84b43b1ec3b521b5bf4da667439efd2000667f8a59a4d5baeba58f7f4ad89ea9d04faea452e410c8d587e798";
-  sha512.doc = "99b5983faf30fd630f676ece01f5aec34ce8833f0dedcc0b501f2466a765ec4f1056c59a6562d76f408fdd6ac1b8d46a7e0b24ce43e7bd04ef385462cbee62d5";
+  sha512.run = "d5739155ac3cd6a02f356bbb600f7f76022faa4a5c004a93531678ead3c2f0a9f8e1419044883306ce453ac96ab8726ee45d8e49c86b0fca6a9232010a8927e3";
+  sha512.doc = "5fee7c89fc9f273817b23fa25260733ee0552df7bed0333bbe604c17bdecfc28d7e386478f7b42d3c2aef89f80ce7a1d35215fdc386ea47e4db3a334bc6a9597";
 };
 "mathabx" = {
   stripPrefix = 0;
-  sha512.run = "37e05615e9fbd9f61fa0aba00b3fac6c6ca2f47e11e5404f00a971aca9abd0cebbff1295bfc20df3252bc8d964e35cd93e71b6929998583f39fa3781311c05df";
-  sha512.doc = "f85da311735fd80ac66ed2fc41c1d2875f1be65021e275d63d2e2e581d7e4a619d8b360209e2245308e8630e12d2528d21fb9896cfc965854fe76cb32e6c02dd";
+  sha512.run = "400bb43207c43192321cfe1b658c85a07410778e7694ab1604b992025d69300bb2d4c2cb7866a255dc4988c843dd3b92c33e527c12f087bb560cba4520115643";
+  sha512.doc = "e1f9f96794f6d20dd75bd7ceabd40993e56d5315848bbea8a6812a16f74c0fb92ddc6356c71aaa1367c47b1dc26a3711793ec88cf0b90d391f8157fe20f77196";
   hasRunfiles = true;
 };
 "mathabx-type1" = {
   stripPrefix = 0;
   deps."mathabx" = tl."mathabx";
-  sha512.run = "e49ba939d3205af0d4e3de21416f7ee6a0b110f5a5dfe1e4d3bf690fef7b63dca43a708470dae966c4be03d83fca96a2120ade873cfe1cc02a7d65baabac546b";
-  sha512.doc = "1044780bc705b332ab13deb125a430802292bbd48c5755ab34123d828f3665f444f0f56262228b92b73759688f6b4abe2ae71fa9bec170b84dc2c1a0eaa683ca";
+  sha512.run = "ae2272ac7d79a3bb1a655000a2d5fa1c3d948363763abe194cbac4084d5ef60492648977660c3d9dfbc2c70bea3c207d031d2147097fb1d7af503aa80f257d1c";
+  sha512.doc = "2504e85d659cba06fa25ae4e154309a6d3dcba2ac8bae0d4066b6637f19081987b0bc774902365e5b723f4b6c35cad07709e316ec1893a018baabc699d755e8b";
   hasRunfiles = true;
 };
-"mathalfa" = {
+"mathalpha" = {
   stripPrefix = 0;
-  sha512.run = "4225b0a6e71e8e36c60cfdf27378616f69a2cd5a078156c8a9c58ea2f959c24ff82b99038e6d9834746a6d2a5fb8feeac4a24d8e9d375274a5b5dd4b3e8c5f34";
-  sha512.doc = "7131b455af595807bcefb5e409b3e123a6e0dc56df65624b65358a8f8368086b22c02569036f6c26838fabd6a18d900b701f643b4b2e7c94bc9411ac412210ff";
+  sha512.run = "c6b653e5a0b7788ac36ea9ef6ce07dd4fd19a75a82c4115cac5921849477839387b0cccac469dd74b9f4221315ca741c49304eb76213ecacb97dc7e218ac4cc9";
+  sha512.doc = "5a1d993f73d3684ccd8a855cf8e016d35aa29c34fecea0f01f147a0cb108b355108faf43734c83bdb74f59287a7963b4b418894e0a5c0ec4ffd884f3f4ef1d0e";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.13";
 };
 "mathastext" = {
   stripPrefix = 0;
-  sha512.run = "f8f5fddde33008b488c788d0b6de69f6745c6e979cc94324c35e93d8f64478e7bd131f4274ba8b293d32b5dc46929451d3f04bd866df392eb759a03df2c8a505";
-  sha512.doc = "f60a91d7352e569190deffe4d08576e2d4a6f09f5ec0c69d444325277b64d93bc108c130beb675a0c3a2a1ff762b221d4e1a54b1f2633b765130c92b7d3eaa87";
-  sha512.source = "47ba8441be03cbd737140630d86b32442e2005aa381373639b37172736883be26dc43cd8fb61c4cdff2db03f4d3f267fc4136b8d9ad610e57ac0bb670c8d4eea";
+  sha512.run = "62834a7164b376228307ed63b763d395c074e3d861ebddead63ead1665b2b41177a7dd8db58ff8fe3eb56b4aa1cdc7a6b3a2ca75fc07860cec3cd8aef561e4cb";
+  sha512.doc = "5ea37b70e074b5e233b6ceb077f3ea95107615dfa54b0f3f1ebf3b44fdb744f4006e5bd9ffcef180830df5080c777d82edecb26ab430cc73aa08acd7cc8a5fa4";
+  sha512.source = "6cb645e4567b812740adea4efb097104d8e55542e317e97496a02813f309ef1204255bf0dca66d7123566739e99dcac706a67dc13a683a48c2cd6c9e88f26c83";
   hasRunfiles = true;
-  version = "1.3t";
+  version = "1.3v";
+};
+"mathcommand" = {
+  stripPrefix = 0;
+  sha512.run = "5258a3e438899835e65e092edc5b4e0bcdaa209aa5cdb26ef5d8208a673181a3d8a24ebd0eed311aa04ed79330891a828df0ebe47d02435c40328333f5b7faa4";
+  sha512.doc = "bb0c76f4349785aa196c7ed9156ca92e3f05aada3b6a6c42005d8cd8c58a3987eca54c396c89f03bd005e7eaf21b08734e8a4d4ac95f08ddba286ee615a92e4c";
+  sha512.source = "5f89ec740025fcc2fbbe5c7ce01fa3c3929390b4df8bc433457ab2e002480fa3d8511539c451783deb6d0fac230768ab08d5280fd1252d33845a19d583274688";
+  hasRunfiles = true;
+  version = "1.02";
 };
 "mathcomp" = {
   stripPrefix = 0;
-  sha512.run = "b9cbf0ffcb39ccfd7e54e3903e36f5d1ccdd86e2ce83477ff7f8aa0258015bd3c9ed013b23192c7014b92dddb93f5a2340e7bd71dc99fd7fdda47ac27a50d35e";
-  sha512.doc = "1bba8b39dc3f5276b2ff68071a53ce990ed3eb6652ef5e75773dc49aa73b701bb5ffbfc221cf9b9aa00030c1a8096c7bcff3ebf4dde18bc858fb215d06629137";
-  sha512.source = "df312759db12a10b31f790ee195bfa677b67640c57ec12bc754c42d98bf98abf5ed0007c305a60d8284dc7ee63c7cafbc00dc14aba9002992d95137a39e117fa";
+  sha512.run = "7dca82aff58606afd315bc18c6908946193be75f04ec456e2cede8184867543437007b27f04f4363a026a0db83da3fdf963afecab7330e9419b1ac5376efcdd8";
+  sha512.doc = "6135b3d06908c5c359cc432a7406f146ea6b0bb614ba0b983738230ca2073f4348a6ff139bdc4b43325a8b67ef59a6db8e60ecefd88af5c8ff0eddceb0f279fe";
+  sha512.source = "3578e5e31ac3cfda23381e348dfa9e4da6993a9cefaa73b3746be0f2719d04dd37d04e75925414f4f0083b0971222da5eced4bd582e405031f29899faacecf57";
   hasRunfiles = true;
   version = "0.1f";
 };
 "mathdesign" = {
   stripPrefix = 0;
-  sha512.run = "3307b0e16436b98816c7979443c2c31db615126e16c28fd20e19e8520f65bfb0989ac59db08bca29a605cee211532da1d712122f3ef83efbf4c9f8733cc72d67";
-  sha512.doc = "543c36087d9545f1228985f754b255a5c08650a9690b2e7340e7aaf8ef19f03ade44c0de49ae456541664341d34316021d0980e3788b05baafa4088391858f8e";
+  sha512.run = "cc8a1c58348f8f81417178434c9bc3d9edea79dc5d300753f41870734f8fca8f43325d56f73e3113aee8e9f38be1fbc6abd3cefe4458af1e1e22900ce889c315";
+  sha512.doc = "f6c0a3595beb7b25ab5ef2c8a08b3e0be90cdbfa20c946b7b3f5cfd29f5c9a38963262818990ef78be02d95c2d2a5991581be77834048fab4eb0e4c0252e6871";
   hasRunfiles = true;
   version = "2.31";
 };
 "mathdots" = {
   stripPrefix = 0;
-  sha512.run = "4372f11c8ba5e29caaab78cfd37c129267c2704b6de9e5dad13cc1ebf184760602eb2292955c46269ffb3fb13b4c48969e019460fc1916fa83d01644b9c93e3e";
-  sha512.doc = "f30d66cc9ab8b87429639fa382608dff41c11094be52afaa16a8534f3f2e91bc12dac9f6e0bc0def89088dc9491e47f9ae5871fbbeaa5217bd4c6586fc059615";
-  sha512.source = "897726dda3d395d175c684d8e032abf8f563c1ef2d0f64596c1ab82035011630fc734bffc5bb197a0b9a92e2fac08f9adc09cb588dd990f40ec7deec3c5ab9b6";
+  sha512.run = "1235583223f831852458d53e1e8cb767495987829d4930387f4dccf7ab060b9f0af8722d6c1aaa820c1a371f8ce1c0222633e6feb064e0344e639eedbaa4129d";
+  sha512.doc = "b1ce238b3abb3397b0085983e752dbb9eb9d9c1026046726360498d089304f7f4deecd656dceee27b63934092568f0ca46620231f03e0952c43f28ae73e97dc0";
+  sha512.source = "dd590187fadbf0eb788eade245d4198a4c1075433db1a0df00ce2d5cf2b6f332e09ce995292d21ad46f13ba68284808cfea6c7818a47bf99a61ae44e5381fe55";
   hasRunfiles = true;
   version = "0.9";
 };
 "mathexam" = {
   stripPrefix = 0;
-  sha512.run = "8ce36f0b68ed9e2a706db6da73eb3f3ca52cf71b4523004fcdbc1b176abac8b079f4863b6f771b99e956244dbd73e03b23f2a7526d990e33d04a544c4cc35c6c";
-  sha512.doc = "a260f0fa247d8a5f9c0ee185dfb129f2265811d77037b29982e08eed5a515bee4003d09dbd291c21c613123473eb8254bcafdea696c7a67235da0a25d18f9272";
-  sha512.source = "91d18d28d4cef28fd71cec51fe8ee8e3fbd19712a6fb4e3898a1803554ca837a9af1e9c8fcf36a961f40db6f40c61d0fbf98e7d2733522d5db7fa403739afb66";
+  sha512.run = "30fc0cc9c44f2b7a64860a7d8eeecd25eec7e888f4ebdafade236edebecbd79f5d832566d151243430a60c5995807ea77d34e19cfd5e0d8cb037ca67d3e933bc";
+  sha512.doc = "6af2944d12d09f1ab593a7002b9de71d14c5436885b79e5e495dc0ba1fdf9dc6b9080bd009bafff988b019ec3e75da934a7c8c043870fdd52a9a46b36c9d646d";
+  sha512.source = "f2324e1f9e0fe8f259b6e1d2a1370ddfec87091c82650432e24b08c598fd6ce57334b88ab53a6049f416ff14c3ccfc7c250029767eccf05456d6c233e665f6a7";
   hasRunfiles = true;
   version = "1.00";
 };
 "mathfam256" = {
   stripPrefix = 0;
-  sha512.run = "c28458427f4ef2006bb8efee489ffb6cd40f44fafa98f341c243e3675b3af564067c8e6b11385bdaeb77b72b9a6cd4e78edc8f3e3afa12cbcf91d510c5544fdc";
-  sha512.doc = "dc651242f471a2cd0937632d27095c11ad237a48d175f740cfcfdcdb3cb4818ac65328e214314cd778b85075ca42e5c32435c71fafe7f0a173be20bee92cf1f3";
+  sha512.run = "4e13b7f48c9e99f3f8af8a57f22636590376c7bbded8afb08c93524cb53dfd28e04ad1035a3052a2837ca5d0781c1eab5fc4ac8fb569cde558ec7823ab4ca4e6";
+  sha512.doc = "d49315d18922c3f600a0cec9596fc972324419317a717a987188135e1cbf35976dc54a028c7cf98a8425dfd44f8a45c40cbf46411847b3e31e71beba63f041fa";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "mathfixs" = {
   stripPrefix = 0;
-  sha512.run = "531e9c268c0cd02395eab1d2c6707d02dca1fcde14aedafd28e9ceadb14bafb47d2945375937e9d37811d4906f473b770057bf4922a6a0fd97bcc27ea3ed0945";
-  sha512.doc = "b104cc5f66827356ef5b4538cfe2b0fec0e6b2e815bac5101a05dd697839b57a011581672e9e669a8ee2b45abd722b7de2ed324595bac9b1179a466e1530dd0f";
-  sha512.source = "d09cd16f17e47b1655982834f1fb1e09ddef6cc64f662db2fea319ce4666c9afd50ac93c9022ce0dbce9ceee317f506222e7125c5bb0fe348d3c062b75bc64db";
+  sha512.run = "513e5dd9eb58ca5b1eb8daec663c48577fa2102ade0234412dbb22b6d756ad37009c689746c57c6624c731df64fa8d58eabfecbd4cdc31c576eb0ecd1e232fdf";
+  sha512.doc = "c9ad8dda9ffaa77ba727f536016ba1dcbfb91c4d7ab98b1e4b72156591e8ff0359f623475324e57c6b22f509cdfe7e30ba67c3fb22f9dd152e59f1557c96a6a6";
+  sha512.source = "f08a26458ed871a11a44a1e957a1e9140b3e95c98ba1bd958cb9d63cbe483ee94e91217a5a7e54745b2cf245ee7f898fb64238941d1a8fce04699a3b8a06b7e3";
   hasRunfiles = true;
   version = "1.01";
 };
 "mathfont" = {
   stripPrefix = 0;
-  sha512.run = "bbfa9d7d58d02b3be95fbe71ae08660e03cae15cfba66aede65240ba092b13b23cd3125c423429ba11d1daa4d80dba063573a8c1a580511faf014ad51607ba0a";
-  sha512.doc = "58b1af9f811f7d32f46d4d89d525d2f9c5221601ceae530626f5a90db3a69fe0ab4f3db411bd674087258948839f70e129682dedd66b52f3f7176160dd7f4c61";
-  sha512.source = "2d4d8d60872827ef35cbda5630f728db8a78e3ea0c0ee14e94d98d129f29d75f85e4cf8e9109600e3726197b8f619e51826eabd87ee9d679263d55d566976015";
+  sha512.run = "bf99697b79edd78de3390556b030125cc325da1d3dbf28684f9a3324a2de614d1582a8306797e8cebd6be6000a3be64f178e6cf67a68a3c68f0f74757a652fa3";
+  sha512.doc = "4caef345e33342b06807d38097b4d3bd8a51f9f3278d069ce73c35b10dd72ca9e48f485a4870de4e2b3d827d1a433b4549a562c6eb9be68b2823bbd557f98fda";
+  sha512.source = "c9c569ec7b1e740212969fecce09008455fa6f72b28f00cbe62bc5c2087600f6c368ca4b49c312a553f16c5f9f416a17752a70c3e00885441807278c81195429";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "mathpartir" = {
   stripPrefix = 0;
-  sha512.run = "57a990700d21297b35122d99bfeec9949c66fa1250ac7eb2265808ee2a03480ad6452fb40a5db1accd2629325c2d83b8985b16b4bac46a5a332f81ed1dfa2600";
-  sha512.doc = "2e7e06b3037cf2ac3792cfeb25b0ea685843279f0f3f5c6e6e18e398d755e13b6b0402871f30d1776513f41c863f13bcb7c541076b7ee872c289c1af1a0cb30b";
-  sha512.source = "e7b9f5e7ca3b9de90938a4e662bf98abd54bac5c42c08b4ca380e0c3e65894cc3498249ff89b8e99e46fc4a3eec89e169559817e1e48be1d8010a29082daf43d";
+  sha512.run = "8e1c99db2d64e9c815bf8b6784d1c717969a5ecc96281df2f815ba7c0d779b53484c61ca233468de793be94cf636373f4fc0e3413c0ce32d4715db30cafe5471";
+  sha512.doc = "fca6b3e2650ada022617af137dc86858c83c51c55fcadf2ff21832a1fcd9fc44f371f89e8943c5e1d117a09893c3587f15a3e8021b11f7472dd3c9d37383f8a0";
+  sha512.source = "f5c5b328745494965d1907f6dc187859a5f9bda5a8beda164e7317dc1b8a6e886073f9d2e9b564c6aa56d55e7cb7191afeea38edc059b2dd55066e68ff826dd8";
   hasRunfiles = true;
   version = "1.3.2";
 };
 "mathpazo" = {
   stripPrefix = 0;
-  sha512.run = "2dcf90536c3aed72179436ece3328f5155dc8bdfc49e01bb68feb67467603607b5232085cf622d71bef836392645b4f8fbfbbc10c8d7d9b28801038f3960ccc5";
-  sha512.doc = "1cfa151841063c1a8eb5be6b3c1ecb8f4ce6d32e54b7a6e5c252de471ad486a46b6dd33e86569f460c95b13a340b25592c4425c008cfc0bbc877d46c4c47bf6e";
-  sha512.source = "f696489ab4e1780f3a538fef0ed1bd16c6b3064a6cf54ad51fdf3d77602a5026f7f6568ff280281ea904435df3292ac251d7eb55e9b7bb76e2199f80e71e5cac";
+  sha512.run = "e81a55353385ff86614cbfca0826298c6b5ae269e3d17ad8c9eb391ac37b25c95c059e916dadb67ac7432bab96be5d8a496880d24e56327129f6274c4950bb28";
+  sha512.doc = "0f325490cd35d94b202deaa7a27f4e4685ae15760dc06813d67ba7f156cf62ef56510c2e07fd8759a6c27d3d947d608bd72819fc36aa83674ca97af4641bc368";
+  sha512.source = "65d2a446e86431d805db9e7384f18c1f73fc8a5e7ef4bd55dd2bb30493345434f9b5b190b650e0af6ac170372a410f149d3b538e57b7b2189bb029a07e144745";
   hasRunfiles = true;
   version = "1.003";
 };
 "mathpunctspace" = {
   stripPrefix = 0;
-  sha512.run = "73ab1f4578d23e993251c930e8e246c87192ad6c0246a16d77fc9064fc5927da3aa49e18b7707ab8d101d6c0a5afbf5f8aa42b90e2c53455aa7ac2f5628873c3";
-  sha512.doc = "9911b18ac61e83786646975449c43a16d19c85f7733f5f9d6d65a5efdd934990d40b44f691886c513a36acca35e11d0b03104372663813768c7ba0f8188c8f44";
+  sha512.run = "81d1fa6ce0e96190516f2440517d554e259013869065a4242c55bcc06f2d9eab1f8102464da71fe72dd0d231248b637d54733b2a11b832d2153f151dc5513339";
+  sha512.doc = "ce318466af0c6690a905c92e9f24f9a7c2891c4afac7c51eead8ebf211bf13e2c20d368782ed41f20a2bb2d6f3a6cd6bf44eb6a0c848ff8006564ec98aeae2d7";
   hasRunfiles = true;
   version = "1.1";
 };
 "maths-symbols" = {
   stripPrefix = 0;
-  sha512.run = "e74c95739d206a47d3ae838d1a8c2b852868a578c9c073807af74deb110fa4df083f1ec2a75e759bed3c4629602adbc877a6cf5ff60b2089f2e66cd8196408eb";
-  sha512.doc = "c17822fc318a46438692b49e4aa40464be6b1163dc9c9402a4548a4348a6d3a6fb120c8c148274498d6278f4bb2fdd20cdad9e84701aa343cc3aa2099256a61b";
+  sha512.run = "f2028a2b8dad52aee2db1fcf679647192cb926e13cca831a419d876783e492dbc590e4745302addae7d3f01eabf7eaa1fd7cc6f757eff2ab9d9b5c39a1b0b785";
+  sha512.doc = "b60a66b3cc67e4dde62b0fc0552233ab59b1981ab92cedbe4c0de31a4c9e9d3207cf54ec5d2361f81937867d81bd345e77c4ab3e36fcd8588851765ec3267864";
   version = "3.4";
 };
 "mathspec" = {
   stripPrefix = 0;
-  sha512.run = "2d40ad9cc6194e42c2e6c76d63fd079bbfae3a7eddf97cf5119161731517d1de68e8eb5811674ccc40d10a226993c0e58d8f9d264ed5874795e2409e8faa1902";
-  sha512.doc = "db64160206a4c172894251a1e99b06f5aa897afd0afb6c521af0834839e7546dc6d8e2325346c663c1a8620104f3d5694f06322ebc2f37822e7061d866ca136a";
+  sha512.run = "7e9838ad2f212354b103b9beb61d60f124d2f47e52a04e2fad61de01e2e8220ca5f19f5b2188cbfefb379f94dc4b76573355dbde563f887beec29c57b3648ae9";
+  sha512.doc = "d22c19bd2114bc48f438d820177006170d52d1a261f3cfe69452148f4e11a0ddeb1bb25e1c1fa22ef8d2284c7f34f7ef41bcf9d8e90a89705b3a7515a679a922";
   hasRunfiles = true;
   version = "0.2b";
 };
 "mathspic" = {
-  sha512.run = "134b5aae7b3b3a41cb34cf8fc615fd6ccb965716323b4157c989a29ab3809d75e4bb8a9ba7b25305614e3b73fa3e93b29789fe5a2fe72ddff026c6c1cef112d2";
-  sha512.doc = "3e92570e8383aa7a186be1f2d7ea3de771ae9ab8135677a8537e901f2b26317f4ad3d93919f761e3bb2040d97368c4f0d4bfcca965414b2793d067c78587273c";
+  sha512.run = "e556960f07a003e877ce678110e724ef94d34aabc0ae52c59ec2ae487fc7d3e5de169844baaefd61e467e98a7a9718d94d881c3f0d43855e133040bdbddb6a62";
+  sha512.doc = "1702071f4c26097e241ba161258a51461405954105c8a7f2d92a552d6397ef69af029652ba5528df999c569fae32955d1b194b0f7c4475b3fc870656b473386a";
   hasRunfiles = true;
   version = "1.13";
 };
 "mathtools" = {
   stripPrefix = 0;
-  sha512.run = "1d431b36f98584251376e8d6fc237d6a342627e0c80ff2f17aff45fe8762419f7145a719fe4bec7e29f7bb93881e8d748799aa5ac1042e9c83819cb6e2c001d7";
-  sha512.doc = "c53a7de8f1ac1de94d2d368d5d6551f55ce5376a36a3aaa3c44da2e5edf12dcfb1ad664db25f6e9f430adb2b67f71972d5cab3d00e90f84fe8bf6ef5e25c5a04";
-  sha512.source = "b53aa643406e54162e4e0355fba89ca55738223fdd85d1acb9d6ded116e4f7916e29d7ffaca59d69eb72a9e795c42982e5aeb396be863a4abe0c936955f32099";
+  sha512.run = "b3b13f14a37ec2e664ebacb0d30b220cf9d0ba8ba06e456c7f53d9d75e8018fdd685d0c078ae784c8bd13d5bb92c2a9868cbc028a925278391849de799092521";
+  sha512.doc = "f30811f20820e24e541bd0a19763ca713dd085b0f55d98a5d6b75116c18b80b9aae2240e6a9bfdcac0674244dcef72a439dd4287928fbf25a04ad44dd9fc11a0";
+  sha512.source = "e97678109b7655b1c2b4346bf1622a12cda4271ecb7bd010e36b158497c0506f6182c0fd7c5bd9e150e0a3e6211df8ce9e06c3c0343348b4f2508d9db88a93dd";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.22";
 };
 "matlab-prettifier" = {
   stripPrefix = 0;
-  sha512.run = "2d0053ff3b63087c21b42e6d35d226604f5d582900d5293a090151a4df46cdb8c5775b1e7879c04dcd00fd91fccd9bbd06def15053a9c5ec8d269a702ff8e815";
-  sha512.doc = "18d58e8a6903336eaae24ca8e0af21fd0fa3651aec4c9a6d03ae486a81e938fee749675ff0186dc570e2c47780ad7bfa3b194b75a5a87b83f0dd800857ed4f27";
-  sha512.source = "62ab422b9b374a433cb5e40db9e195e94e67682a74fbaabe43f8339d030763a93d07696c6ce0d092d1867f8ea318b9da19976663a41020b7ce2cf47f9395fe21";
+  sha512.run = "840d860303925d148c10a980218018ed14e2d0ba2b1638f8328308a0400e8862ced7cd28822fd81c3c3533d2ef4cd37e1c4009065b1300011898fefb407ac202";
+  sha512.doc = "22b783fbe09f661d1e5034cb623fab29e54df35b4f0379579f430b17a80236a843c15201b6583bf58f22ae39dba34d7f5a4f8482b1c6d185822940c67ac06942";
+  sha512.source = "25daf7d57d376a2a218a48c275b07459b512bb0e6ab95e78969883a3ca26f010c2e3204c0fe9af0922a50b48aa0f87c6b47973cc7adf9678d351faf9e263a9d3";
   hasRunfiles = true;
   version = "0.3";
 };
-"mattens" = {
+"matrix-skeleton" = {
   stripPrefix = 0;
-  sha512.run = "f8d373790a24a2cd7170e54f2d2429658425c32d4516019d18fea01fd35fb28a85c8cb63b4adf473bf60042b0b2cccab844f0b52604d01fe4d0a3269f6751644";
-  sha512.doc = "7bec3ee9e8fabd9f144ecd4e7549566fb7a86a43860753ef21ab523bb5dea86a074ea19738241eb9ad786587a9aec1ac9e65ac32676042d1484a7c55a75b9b7a";
-  sha512.source = "4e62726b6d0022c6cb67583ba2bc979251adf451fff426017e24896d21793954c9d7becf06a7dfa81cc7e10d16e14a753f70117fa7d3b8232611cd6ecd526781";
+  sha512.run = "2adfc8591ebb043b9b962167c4cc393d5c5e8ab2587c88407530fa8695210800b2a2ad0944d43b12c9cbf2e1018645d3c32fbffa4dc480d287a034b2387bbb68";
+  sha512.doc = "768d78c3b5752f04f1ba4c45b0151659ffe5de91d976abb7b6a374b18d148890a7edf743215f263c6cee08506ee10725b8a1bee786977f998a546dadda1494e5";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.0";
 };
-"maybemath" = {
+"mattens" = {
   stripPrefix = 0;
-  sha512.run = "86f55d180f5c831ed19d1ef68afa79fed8f3c7ad1f88cefb45faa0723a2868f916b65057137715b07e741437fcd38aeb8aef58481531c005bc830239cd068bd5";
-  sha512.doc = "ebd6ae72ed2cd6a5b35126fa32f5061715e12e4a8af6ea9c3faf77d739bb78dc50dc5ae860a268d7af82890c674c2041e532babe4e9d8be9a877fc06650b49c8";
+  sha512.run = "9ae7b4d3e3386a5c9b94a30eafc02d00c9a6376ed356755ba283f7b9b43fc27d3b9dc2994d808360b77d23f39014e230434f404bcf6dc20bc974d9efae97a3dc";
+  sha512.doc = "d67ce30be2e20c5182460b8e567d955c41b364383acd350cba1c07b52576d78016a865148ed871ce7ef3f937eb045201e64e5d5f52fd5b173fe93cf84def2119";
+  sha512.source = "d199c5fe62172d98e7184a2689c3415944128251b75ee45e0629da5200cbb7b954cef1243a165ce2713582afcdac30dcd9f1445ffcaa18a69ece0aa79391d852";
   hasRunfiles = true;
+  version = "1.3";
 };
-"mbenotes" = {
+"maybemath" = {
   stripPrefix = 0;
-  sha512.run = "83a61c5293bf286081fa3312436728159747dec58fd8b260490b97d1b153f3b1b0a7798b45e969021f7987f333b2cf330ee18beb48afc4e2f517235f8585087d";
-  sha512.doc = "a0b64a0812baa38e41afb34c101df834aad0d68f8c984ee43e244f48daa876ba3989bece4c5852c9b4aa4ae5bf6a3bc2e8d6dc47564712ae1f37139bd69aadfb";
+  sha512.run = "32520ff01d76e11bd70694a07b86272425680ca8bf21b6da9412c133836f9ecbc9a9537377ee67cf9292e33dedaa1d33e906b4f681b89f075d1fcbbbbdc989dd";
+  sha512.doc = "b0f978f89ebb7f681e7b045d03a9a6e7e9083d7c468c91d52ef417c85d707243fa0ef253b3e2d1f1737a9c7235fefae06c4a8fe2975cf2c13f7f09ada7752f26";
   hasRunfiles = true;
-  version = "2";
 };
 "mcaption" = {
   stripPrefix = 0;
-  sha512.run = "d88202208a5dff6dcc049e3a16dac37a89eee7303108bb5a15a22da3a52056ddbcbcad4aa87fcdc5f5d556ac8ba876783c4e379967ccb805d73f61c2ab131cad";
-  sha512.doc = "f33f6aafe75fe982a130a07996f9b421565ab0a27363a03b748f5cb3316c0b5d571dfaae15c245d3f1c46df05aec84df7aaf2c247713a34fa9d02fc991ad13d5";
-  sha512.source = "c60d859c23d6e932786c1596515541aaf8854a1ccd8c1dc657d03db228d8f92b784320f078f07b34b6deb572c55e810075de9d9a8eea3ab217791b014e2d6874";
+  sha512.run = "c3e1c2948e2687bf720dc05dfa1ed6140a1ea55de3cad7ebcfe518d720ed96793b6bde32fb0882cae773f986b11150482fdfb382391650a8c513131b7041555a";
+  sha512.doc = "e803f5731e6ac1c299bc3a42666acb81a75a3f110be729639357a15633e0e7b8ad0a244820b96ae9f8b435d9d1fea54a0b7f14c5db02799b3a632b2f0c5cb4b9";
+  sha512.source = "e859c83efb88fa03790b2ddbe18cea57ee489dd59679559f8d7f3b93a0804d93478412414e131f39bece090ed5b3433e2784facbff9b3ad705a81d1adc542e77";
   hasRunfiles = true;
   version = "3.0";
 };
 "mceinleger" = {
   stripPrefix = 0;
-  sha512.run = "7e0bdf0daaa7c22f63193f6d1acd59a510c6c1a8b2da338761a54a6d1859232e8889d77c38b90f8452da6990a4a37a98385d77623eb2b23ad8ea694e66f82122";
-  sha512.doc = "e2fe65efa4610348d9389277d9b4e4df099fe36d9d6c874757b7e59d623047cf3c13c31f8a1c590cae0e1c45a0cfea2c2c9a9dfea034da4257a6a8ff2fdd4e3d";
+  sha512.run = "0792d7a5289965b2379001a54177e1aed4a3356d8611e52ef77f5097bed1918dac324bdf5c618ca76d2925d11539b623cd9d4016ff0f4d1f9283137816ec145d";
+  sha512.doc = "2dab78fd096927e3958d7270ddf15de9350ec30d1d000e7cf92be3b249ccf70e6faa1dce482a07995e65b4a4549693ce3b34d1a63bcc403ebe81f3d1887ecf90";
   hasRunfiles = true;
 };
 "mcexam" = {
   stripPrefix = 0;
-  sha512.run = "4fc675725a4bb015e0bb524aaf3310a5a39d4735cec7922c12564ac4f5e9f1dc787a0eadee0e27dc33e2bda5b57c499204686d4d9a5754b965967f9c5edf5dbe";
-  sha512.doc = "27330a36dedc9e1c89a7eb5b4b91dca3a5da289852ba6337c9699630b91ad51817e79d246f70c9b769496075241c18f0bb3f2555ea9e590b11b651f9e1fb3062";
+  sha512.run = "37637616c9ccbe4e20ebae6b479e076fe87b6bd5f3bbf9124c79b93cef6e992d82bbb4fcfbbec3e4a7dcc187d66742c410c4a6280328c80765495685b4fa2cac";
+  sha512.doc = "5d1eddfdca3ebb7fbe28d93ed6e7332147857d7523d3b64e908aa56ef71d9bb2546d05c150737a3401b5ac7f76110a421513db2d8fba906173afbde9e012f7f8";
   hasRunfiles = true;
   version = "0.4";
 };
 "mcf2graph" = {
   stripPrefix = 0;
-  sha512.run = "795adeb6885411b4da79450ea8109c3e39fa86ac81761392a5b9af888ddb0e71383444f73fd74971ed25dec9d2c940886e9bd1fdf2def37c40827a0297413c48";
-  sha512.doc = "ff7847b10054987d2b272ff8450493d08b4e01fdc23577bfce24f1f620cb2be0227b4f1ca8c7e3ef1ae6f68ea3c4ebfe85f6e56d22dc8fe3a99d005be89dc168";
+  sha512.run = "39091f364cbbcea1fedaf04ade0ae9ea01025c188eed41dbc0babe4fbc68a76b8bb367614c6515cfc0b311b93771040d78dd15bb871459bc93acea067e6f04eb";
+  sha512.doc = "5bf78d5b708c93b23307d9c10394a74ddfb8e2926184db5fe7c7709cd3c140980f9c391b534597448b0b5003d2ab24b3ac0fb308d0bdfedcf207e40380c495bd";
   hasRunfiles = true;
-  version = "4.36";
+  version = "4.45";
 };
 "mcite" = {
   stripPrefix = 0;
-  sha512.run = "56c63daeb94f8ad8fba69f7e3d48657ef7160f877b7bec7b4d7dc19a12b76570ca799e4e2f6d4540f53f94700c9277374ea6f09fdd1b9d3f4f4eda079ba574dd";
-  sha512.doc = "872406dcd9496451473f39449cf0cdeb7bc45c54b97ed3f5111b3cd3187b2aaa211a3cd4c0446e5a8047427137c9f5519fe9fa68794a782cdc6200227e3f9878";
-  sha512.source = "ce398af083fe07435225d5578f540a22667b126c7b2e8603ed61d33cc39ae6c761ec1695e31dabdea072c2d9862e8cbe640a0cae967a2b3979c18c423aeb48de";
+  sha512.run = "71276681ec29d3d77450a8c343d64a1ea734bb48de0d693a4e9ca795e4a4c9a3d5f4103b5641c8684d49b5c95f56bfd08bd12e1d7e37d06f9170008b51804897";
+  sha512.doc = "8c5ae4b1beb334ecba3294108345bd616746ee651f03d39a7bd5f5cac97f671a861fb046e29ae7565863aecf4b043ebe25bf9a4180889c39e48735251e430004";
+  sha512.source = "9f6e6edf49906bf3300123f8fe265ac8f8580c6838d59f7147e9337e67bff71325ee41a3993b3d1cdc9c036b5d519834261fb0a2a9cfe4d3afdbe070b454af8f";
   hasRunfiles = true;
   version = "1.6";
 };
 "mciteplus" = {
   stripPrefix = 0;
-  sha512.run = "2b3e4cb5da38b6d4c1ddd3568a14ba9a8fa8162c678f8b8306d341ba48944587dfe10ab334ff1128e413b21eb07a857a6cfdab76eb78754c6b794b4ccd65a9c5";
-  sha512.doc = "ca686398828f7fa2c957104aee0e4bce6a6e94f25f115be4bc2f76f451bed7e0f135f0b8259f3bb40193f5f4be37e3d200d299cbb1cb9618274f2570bcdf0022";
+  sha512.run = "5be1980964ea8342321964f0db1c750c33fee9f21724608a260ebed22500d1fcfb0fcb7e588a0dd030a6c534b0da904b8bfc3eb0da7b2df34c0b3f2b1b8fb637";
+  sha512.doc = "5e720fc2b32ca00d71ade77fd0a47c6ef44d9b7692a8160ddc55a5f60495a40272a7a0c6c2f5bed923ea10703654f155701d4571d72805c1ef900780a209a0a4";
   hasRunfiles = true;
   version = "1.2";
 };
 "mcmthesis" = {
   stripPrefix = 0;
-  sha512.run = "1972d82f5dd868217d848dbea024c5eef0efa381b585b85249c8d5fa303396d876a4a40d9e79bb571dfe134f00fd4bbf28d658cb62744d0357e5506384305f4c";
-  sha512.doc = "0bd13fa3b6e1d4d7c61e611f276fd0a02267f4eae0b002b57d31b9e0a9b12aa47140ea1edad527dcbb0bc1aaa2ae24e582436df38fe9f0f78f04fc31651af181";
-  sha512.source = "8dcf5948b442c9646e162d1746a55367bed3eae24cbf2a6f03af2ff375a48a25847b52e414b2f4a7103e1dd538fa5479ad16eace87eb64ebc86eeff70b0ea4ca";
+  sha512.run = "1b74cb3339eae2ea8fbfccdd993b69177f901166015fd10a422471bfd84495774309a7bed56a36a5ff56d3ca119954353f844ec01bd64ae5dc64e7586b1de17d";
+  sha512.doc = "5944885065187151f4336d34cc94328f264ea35fde8cce35a0da4a13f52d1261a3bd32885f21ca442694cc98219d2c4a63708f31c918c4768f6e8e8f4bd54f52";
+  sha512.source = "9ca1ba748ca82968a940326ad695ad631f9a4e081a635b845b6ca94467a52a4e63fc67074414a214adfe0f7c14f91e07339b32bff28b5e770b6ae7bdd5ab3b9e";
   hasRunfiles = true;
   version = "6.2.2";
 };
 "mdframed" = {
   stripPrefix = 0;
-  sha512.run = "52c61dd7dbc5bdc201d4bb0aaa254814526322aec3d05d9cd621dcec038cc69924c29c72a7bc5e08a6fc96dd122b4fbc3fd3de9f08f40223fd9b2c290f4fa499";
-  sha512.doc = "2f5a22a1e10f5fb34dea34bc2c4a4ac36ae825049574475c7fd4995ad065f4eadda02600b6f0cb5080a122f40e27c605df919a4eb12fef175b4ee757c6cd4971";
-  sha512.source = "1ee1e03bd09d4c533b5676803fd5fe19e7a10225a7c0f49551f6ddda27687b4952c4a1f32681237cd9c318f357a9640af20558c849b314b2cc5d6a5b09d59b9e";
+  sha512.run = "0cff0945adc04102e0b0a154cac1f78e9ea903b29e3f880156b888abeb4ca23565d39a7b66d8097c35534baebdf6af152c5b3830d08e1287e8e8d18e8f6344d0";
+  sha512.doc = "06822404872899d6f509fa94f69cdcb81dd69866fbc5a82fd54ca361aaf27133140290cec2d08800dbb39c896ebb7cc19dc4cce38d2a0e45de9c658bbadf3352";
+  sha512.source = "04fa6379f9840676b4fbc31029f091d9112524f8450747ce31687c9ba77a02e41c25ff51676424e97b788c48bf0bbab690459b6b84e128514cda8efd459255d4";
   hasRunfiles = true;
   version = "1.9b";
 };
 "mdputu" = {
   stripPrefix = 0;
-  sha512.run = "bfbbc306385d62d5ec04abf72f7e2f15f0acbef91f102e8beafba687ea7a5f1448e167106f2bbc048d072bae744960ecfa05f46250d8527afc58865b1604a6e8";
-  sha512.doc = "490647b290fab553101311d314d21367432c729ce492e1a87623668760d9f909eb9a8382b5ef996770f19170d187d8bbdd87f6d4e5753bc251d1e62314008ee4";
+  sha512.run = "2720c63845939d2befea3af157eae95d2550a216cd22634ab0a923a06d50b48e7133e914d210c5d3aaae6fd620312d23d2e55a015c2a24ee1881bc7ed4868778";
+  sha512.doc = "8c8097552ffa1f11944203e818742bec244abc5a7708207cbb69c46ffc64acaac28ca390c1ee256cd1cf2af093e39189cc9bcf655e948062cd217b58acee7628";
   hasRunfiles = true;
   version = "1.2";
 };
 "mdsymbol" = {
   stripPrefix = 0;
-  sha512.run = "25fce53590b50242f7e4c2d61e3a0b2222579c0e1dfc2a8d34c12b72e7786f44e6616c90810e50cfc7acffb1005181a13e4af09a912fddcaacea6db8576bf639";
-  sha512.doc = "21b9acacbff32e82d625926ca35290f490e710efa784f3999d1b2fd8e32826ed13724ce4d57f0bf18015d61c956112752df45966eb3cde980e6380aa06c52a44";
-  sha512.source = "995b6a4d55cb403e2be8fbfb8da0f50710a00e6f5e52b55f29d3b0cee9ada99a1c41fbea2b1bba5478801d7b11e86de7024bfa42a6cbe63dd6fbed15519cf9f8";
+  sha512.run = "49b52141928fedfdf5fdd63251de182761825a6cdcbf423bff562a863df159ac0d1c001239f777e7aef68ddce23c52407758c70f7da42f066775e204ac8c841d";
+  sha512.doc = "ea4ddd0fd65204ec0ed980108d86e97be267ba46c1cf45711c36721bfab9302766ec1d0849b38de75003af564a797f8566def377d8d947d464367bfa40b91399";
+  sha512.source = "0b649eba13871f6da834bbfb2c6523db6d50bd6a491b042a19f0e061ce9794d2ca03c39d277669b6698b48806fd0b705f322a69743c4fc50233559fd10406280";
   hasRunfiles = true;
   version = "0.5";
 };
 "mdwtools" = {
   stripPrefix = 0;
-  sha512.run = "3be60ae87b535713cc8099707b70206ce5792fb9474d26f29850c0df8311efe688ab422eede6bcf9bc747c0c9ac91bbef367da17e09bf5b0ba6898a47e750c67";
-  sha512.doc = "6d55ed569a180949dc8994df6e0df7a193eb355abc55b19ced1b672efcd6b47aaef9d0c5534f4ad900169954ed92ebab8fd70f3a93f35f828a54538a93c5b145";
-  sha512.source = "e465e4c98f4f4047db581399bfc678b4baa7b00ff7eddced5749e3d44b192a35267ffe6eebf5143814cd820eb3d5fccd9e5ec7e9a25af0f46abe3cbb1b41fce6";
+  sha512.run = "bd78773e42fe20cce637a8fbc7c0e3f4f37ed50810190ffcc035a20c83508b6b7de7f7432b7bba8fbd039ba62f43a5b5e1f4839acb3fe62b425b650f23ff71bd";
+  sha512.doc = "06c8619d8bcce2c5cf9f5fce65318521bbb0c2ce53acd6b1793d0fe19a8f7a32c36ff68f355b6809491cec365d09f5f14b0589ddcbea6c5b48900d11fda4867f";
+  sha512.source = "b3e6ba09116dd83187a55f205527c318d9afb4742404bc21b12e0be3b754140ecba82642154d92947cbc0706f0f9d3e6d876bc27108f13373d3c9d6ede4d7f5c";
   hasRunfiles = true;
   version = "1.05.4";
 };
 "media9" = {
   stripPrefix = 0;
-  sha512.run = "259e4c4327b21dd4b69d7fdbf3a589ba2eacf4cf3f096e3c7180ff372153a16d2c28e38e008f4a13d32d87bfaf271e4ee3784bb5a57e7ca35d3452861f0aeddc";
-  sha512.doc = "dae2f50d8cfac14342265f26cfc5a12eaa63746454495ac46dadbdcdcf2c41a8ea4e9191a66a10ced5099bdebd6c61be010632d3c0b91f7216423212ded3b1f2";
-  sha512.source = "5b4b4132790488bf377c067e16750f2bf8ddd477f98b26bfc9e6ae0383b2e3c748d71f800d2fdd61f6b27e9fac5cf7cce62e7c555aa153f19d3c3055ebecf9ae";
+  sha512.run = "dc3f33ef201fa910251d84c82b00efe206138bbb110a06752c0a5b44e98207500788f5494c7abbbc83236f39bcd131ea7434bbb5c72653e6c43ff8d6733f3535";
+  sha512.doc = "1f25b870fe8e00ead3d3703be49b8e3593b497764edd9681a7c065bbc5cc091b8b97830c76c4c54a4f206bc1c4d2942318f06734ef169ad54160ef983a19618d";
+  sha512.source = "a84780ee19bb49d3e3c34e8765be950388fe211d16d70633fdc0735dcd55d2b8df92cea4cc51ae73185844084a083299363694a73e399141403f52420ffd0b18";
   hasRunfiles = true;
-  version = "0.95";
+  version = "1.03";
 };
 "medstarbeamer" = {
   stripPrefix = 0;
-  sha512.run = "6d94c9471d2bcb08b0630c247d5255445df3b94979c88c72250a383d92fcdf5de6c36eac55bac34d9488d44a3a47558ec987b0af0d7b32411ba575ae28968273";
-  sha512.doc = "8f26397fcd6ed26e681fc0787f14fad51a6b96ec48984018cc38911eef932b3a1814758272393c93a1d0f4335123ac2ec29f7edc35b36d3d85fce5c2daadeb52";
+  sha512.run = "731eb6f78875aa38a90a228626d7cb5b7129c60085418d7ddadff056c9b82f8db95ee17f20ec8cd4611aa90bec391868f6b0b16fa0eae518358a869b576c150b";
+  sha512.doc = "1605cf9ac4eba56059b6e90e6a6e7f3cba9a924df1cf3dcfed300e218bbb71d79bd69b47a5e376da209490a8869061d6de8415e1670b4ac5b0fa977f74d7c035";
   hasRunfiles = true;
 };
 "meetingmins" = {
   stripPrefix = 0;
-  sha512.run = "ca91bc85239c271a73d071106ff95f94a7a6fc4ba3306393c02bb8782c10ee61b22e60533c882fd9c759be17d8a7565125f5fc60e733dc1e843f50e45ceee8d6";
-  sha512.doc = "fdc9714b2c09effd70c899a5348269aeb9c2edceec717377a83bd0e56a54d55a10c60f4b20906c62105df5e112f905e8d8c92a57484d869c237a2787688dcd93";
-  sha512.source = "9f8c0ead8c7426c7c23de2e0258397a72ce80860fd5bb295ee1533607e210d73dab9324d498e870c080645689095311b75bac1b8f4eefd30863cd87e42e7dceb";
+  sha512.run = "315897eff4ae50257057f8191ff92535b669fb174a2eca5c368a9a4b9f75cd71ad745f3feff1c6863705b3e9e4a954afa449cf56f86bf60c389250842aef5215";
+  sha512.doc = "6afbfe02ee39e26e2f38ce462affa66e7e0acf5f26534ff9ace0b26b4e63514a3b1702e34bf478988a50c55fbb09b7d9421a8e79da6a6c46de88c6a958afa874";
+  sha512.source = "3f4a274000889e9160943ca0b7a7af30bdbf7aa9a33c8cccd0e938ad3ab94ad8f24a6685bc99596a1046a22d32855061a7c511046dd6c306353c4f5979e1f230";
   hasRunfiles = true;
   version = "1.6";
 };
 "memdesign" = {
   stripPrefix = 0;
-  sha512.run = "d04b53273c3795d0baa9fc0292de33df0e20da23fd9eadb4598e1df08a2f988574be760b0278103115a88019e1dcc14df3fe9a3ca034227a7fc2898386b52873";
-  sha512.doc = "fccb5a30feed4b1626a9be4940f6f2b15173b5d6dbfb563764a9677a03a4d25dc3cd1730b82a99f6d0a236eabb9b3f703211e6c188f75478a42ba46fb8d6e691";
+  sha512.run = "42949db3193952d1ae75855110ed40a1ff467b3cef0bb6d43195bac960a0873a47fad002695ad1376da2d4a1df5e1e05f89289102780d27b173da2e852b53cdc";
+  sha512.doc = "f4dfa00676379ce33857cc0fdeae867d1ae5c99e6767884a029285a94d2197926a68cd85c574bd876a2eeb85f0453520ef5efcb7f2a71a77c725f8066e7adf8d";
 };
 "memexsupp" = {
   stripPrefix = 0;
-  sha512.run = "0721c35d3d8624389fd93e92424adbc1edcdd45cd2a542729a0f286dc0b41c67482ea26065c124aebc87c1264e363f9d75a3294609abc0c17303527b4bc48bc5";
-  sha512.doc = "7ac0f61c1f0bd90e0a974e4ba3233db9aa7a4dc3b2a77c2e18c9c2f534f9e3d748fd7aec30b8fc96b60e6ca46827c56ce78d91dbe691c70caa02d784f93be5e9";
+  sha512.run = "74931ebb1a146edadcde19d8c404ff8df750c4eb8f2f59fa83e6da9f8dc6567005d51f58e4b7bd2cdfa6b960adb072e9fee7b1842142076df88887c3c2b41051";
+  sha512.doc = "645bb189fca1c74e249745ad42c470dcd5d9fa4412a6dfefbcb6377555047bdbcf005f1c07977762e0026e8a4f8ea49e6965a7d50b0d5d5e7efd0228ac2141a0";
   hasRunfiles = true;
   version = "0.1";
 };
 "memoir" = {
   stripPrefix = 0;
-  sha512.run = "7688f2d67160801f7d24dc78455a32fa7a9a74f80245bae77f60e6d67bff6e79da0d633fc076640174b0f493147d10fefc74143cc0c6a55af2083d7803c33516";
-  sha512.doc = "d40dc3468d334ab7619eb1be0212601a830f9371dc8d69ca30f46a21426368b95515fc1698acd308598b1ba7d1c4d7c98c58b05202ffb3f08b23f263ba625c6c";
-  sha512.source = "2b258eae108eda38adaaf4fccd6e8ddcd764deb24325869b8e525e79cab0fe6479becf05b18e4020da0ef600ddb08da30cba624dbc2573f0ef0ced150330cca8";
+  sha512.run = "b20d8d7f3e4a65d033f97ccace40b4e0f7ecb6ee143b6f0ecc7de46de7610305d04247ea4bba6b415940ca75ffe468793233df5965a5e366668fcb0a4ea2fbf6";
+  sha512.doc = "16ff13049125d9e3e9d1a735ed2a0c89c169769b543048b9443b5d03192897296727e878a9612a63683eb71fca9535eb0f737be6a2e764e9413c9b723d783b5b";
+  sha512.source = "e1586285097ba0adda9cc667afdc4ca143b967b5756ec3b661b2def79a3b13efc418a6204e3400b5bc799051ed62dca940c683de5d64563cc5839dc171b794a3";
   hasRunfiles = true;
   version = "3.7h";
 };
 "memory" = {
   stripPrefix = 0;
-  sha512.run = "68a65db37e578a3f4f9c52f0329f23c7562a4095b6cea93a8f20c51af92d960a5634e7891ccd9eccfa303d8a2a9f16a62618eea33d389e0cefc1e90e1acfb8e2";
-  sha512.doc = "1dc997363d0702444ccc0f50e77189af8ef461bb5a4198a91ddd13ec7c66d5bd4ffd1888c844dacbcb8c364130b685a15cda472dee0e50b9af75102202c9ee7b";
-  sha512.source = "9059227e17871ce2376659b0b7f0ed295ff9ae9a6d3a771c6e9898e8dad40bb60b6846ab3688ea42a0c5ab6c4d1dc5eb1a426cf2bcad56a3fd78132f7fb23d77";
+  sha512.run = "9b760613dc36895edf50a592aa5ef994a30117cc9da6ea256835cd3ad9ed62ab8d8c39de95bda5058d1bd3f06451d1c79d78d52ff6d068c28d75410c5ad98516";
+  sha512.doc = "479428f1af468d909fa291388cde319aff1ac9ef6d7c0168577c5f6978c0fa7e6b23f8f81dedaf746b7e394c92d51d5799bd17aa3488207be494621b77220cd3";
+  sha512.source = "731d4e4c874a58c2c1ddf6a394dd9eb67e557608b0d2a736cb500e4e299be2a726d4312d2eb4a05008684cf5fe14d458a7c020bd31fe134f8208d9fb618b312b";
   hasRunfiles = true;
   version = "1.2";
 };
 "memorygraphs" = {
   stripPrefix = 0;
-  sha512.run = "386ffc29d6030fc9074a2ef84566884fd808ddcffa65d6e201d4be211880b204239428accb6da4e9c0a4272168d34944c431e36b1c988be516db6ae41764e5a2";
-  sha512.doc = "c7a3f8b85e425cf589b1543b25b5d485257eec42135d6beb851bfedf8d5367c5b3920acf6b2683f513a27465df85c94b1fef11754f1002b28784f6f38e4b0ddb";
+  sha512.run = "e35c7e727cf5d6e496c9c0e52252b5169670006b9bc9e96b1c95584085d57a3f25cb9464bb55fc4138640ebb6fdb079908cc49c0f1bfff130a509b6866d3eec1";
+  sha512.doc = "1c04e25d1c16348e594191c17f9f104e9388bb608b10783927ab3412f2f316138d6b41242046f12853b37560873bb61e0a0ec3f884cf8fc26ae2ba5809b094c0";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "mendex-doc" = {
   stripPrefix = 0;
-  sha512.run = "2fc6a76cb570ab2d101ca2f94ec66c24a7a43b4ee3cb88fddf35479a40a0454aa42f1523723418f931dea29140a06d8f1b884664b4cd897ba570f66583a4b4fa";
-  sha512.doc = "c07ba31bef9f3e19b7e74343e8afa93fc86cdbbec0ac516506f0d755e43fa1ad8c03d22f08221814674441a34940a4c8adfe02422dbb367f949c97aabdf79686";
+  sha512.run = "2a4b24f7340194fa80160681fb038369e45c1e6783765860d3f57be944c4b79533febc82cdbc65f89b9ad99308cb4ecae4baad37205d0f375f244e5211a87df6";
+  sha512.doc = "e8c8e773169a262e9f19bb9ab704c05968440aa0ea5928e329c79851e9e23fec5f78a108188fd2512becf7d78ea1e9f388ffa80b0795bbb4ff8cb81893b4e869";
+  sha512.source = "b526ed09c503619dc128721e9ae439b89b5b143ae18d388fa387cb7407533e47f0bcaecb6967380f3ebc067f9e310f596f0302fca5438212734730d3ca7931cf";
 };
 "mensa-tex" = {
   stripPrefix = 0;
-  sha512.run = "2555ad3735cbde99945a4836257f0a00d24042df33855f54c978490dbc4d60e7847d0f049120c8be038d7b3eb82c1f7c231ab11e9e78b7edea478cc1238cbc72";
-  sha512.doc = "6d8a28586b50486c6e0627ca0a08b2263164e429b6acfd56ddace0706ebd6f1b631eb2633d85cd0fd49e234a65d8fdcb34225335ac97dd9528cddb8878fd06ea";
+  sha512.run = "c453044a7f744cf89605996d0b913c56208f10c46e26e0ba37a85bb1d63ed08426a18d87cc7841aabcf44231c71dc33a5c858de482c6d48759893066168d5fc8";
+  sha512.doc = "8297e3f69517f3bace8f509dfb42616e223073f5d428c2269d9dbeeb53579f105fb65755b22ab552e5635f1267e437c4aaeda284a8325b2d95717cf7adc2de01";
   hasRunfiles = true;
 };
 "mentis" = {
   stripPrefix = 0;
-  sha512.run = "0e553bcd4a2a46ab7c75f01948d137ec13dfbb4b4aa9e2825292ad4075a093a81bd92a2ea6fa48a7d9c7fb9e9f11a820a3213a63ce70fa12fa0ae8491cdf20b4";
-  sha512.doc = "f5e6dc8af56d7d31c757c9da79716e862047d8ea9cf19fa43a153a97a37bc835e8f5edd1f62c8ae3871026c9e55db221df574e1857f6e50d84c050d9560d6da4";
-  sha512.source = "6f319e1b35abbe62baa2e8c67491df37e452074d88f99ea5824bbf9527618e0bb0993991112addad33c8edb96cb4f770e26f5b9ce5ca33f85d4c4ae5ff7582c0";
+  sha512.run = "ee03fae28adbf147945a88548e8223bfe8c8ce220a61726bc6738f34cc90ec776aa468a1cf7fc862d1f7f091cf87964cf665839922819130f3575d56301a5d26";
+  sha512.doc = "2e869d1368b807a70f3de5550d2c79f229dbeb8d888a927005fcc43c70644da0ccd36eb2464fa6437c9947c78d59e77c4013824b1e8d5a4bb517b80f1cfb5a8e";
+  sha512.source = "10858cb9cb2db0f7db31d371e42436ca001ef20fede5f6b34dca61fa48248383e32547576a2dd3a4a98acddfcaf9e1d3fec89183c48ae76d5b3b677fabda7549";
   hasRunfiles = true;
   version = "1.5";
 };
 "menu" = {
   stripPrefix = 0;
-  sha512.run = "c3b4fe9603bce6d5d591c7410c5a75eca4fa50dc94094b153ee2ccb9178b9a69aa57df587282ce94d59006e26d1d10316df70771be454d70204a9bdbf4b01578";
-  sha512.doc = "7ce4393b23d24b46101a289b9cd97753a0e8a5e859243c075dc0d7c72acf9c9b12a1a40f4868823cec960b59eae4c1094780a03c7d7d9825a5ade44333e20b74";
-  sha512.source = "dc9405634cee54b7eb5ed1494083685e06369e8d96e53bf1160c1f8975198557b8a2603e0f45d2c43ad39774d394889522e166b4696f926d2dec1c7b0d84e91e";
+  sha512.run = "2b2560a1df5091d19ff37bcbac1465fbfc54a848e4d19782602d656bf42abe47bd2bb1946f87a127c70725cf508ff9712337f3a8719d1fc0bcd4dab4473c7bc4";
+  sha512.doc = "ce8ddeed4e1bd859865f548d8ffc6978a620d9003f908d360e656085f6010a0f179218cc8b2bda4f754685369b53ad59245fef8d8f8a766b241f092162bb76b5";
+  sha512.source = "6c96cb64584802af2248bf43ccb7cc5215d8a2d2c13f1d6cf8567934938979095bbd51760bad7892a6d894a9651304dc9f5e4ed038f68ba0af087567de0777ad";
   hasRunfiles = true;
   version = "0.994";
 };
 "menukeys" = {
   stripPrefix = 0;
-  sha512.run = "c35c3bf59fc1a1f89b4457e9196bd12bf918727e707ec86cea1bd574b0e43587ab43725ab1819e64eff5228553bc252b11e53a1658cc14f4c05b7dd5d05ead72";
-  sha512.doc = "2deb55916ca0403be7038fb5bb3d564cf33a26f6e867e52652524cb7f04b2df7b6d1d8a02cb8889cf3753b89e2d3437fbc842af594a5932b9494134aeba8b1f6";
-  sha512.source = "afbdf9b30062d2d20b766b42597be80cae80daf9f8fffdc70ac47feb5ea6af266eb9e77397006fb580e87739070b76ee09d373e9f757523f8badeb1832605072";
+  sha512.run = "690a07e343a3358179b271fb51b33f6b9dd952fead758405bdbdea9afc8d410d1bc72a15557d90d0699f26dcf7e51a6df3aec1ddb7ca752f5088de46dd5b7711";
+  sha512.doc = "4b962d91d637a69f7443fb6ac4a94fe63901a7fe7a2d880eed320314ac6114c341add9e589547649331f123d9bd3af7830c19f83389581a936c67fd0dfc4424f";
+  sha512.source = "35b57df92bf1eeb8ecec107c913ee8be0c84d27c2f98e7f2c7ee42b182905d3da1ac0e0969056d4d5db849c47d6953a8d2c6555259dc37fbcc432df4dd0e3808";
   hasRunfiles = true;
   version = "1.5";
 };
 "merriweather" = {
   stripPrefix = 0;
-  sha512.run = "2b1fdad9a066711a038865dae15036f709b5b9e08b9ef077e140d7b608c0075e3c5a07f59a367f7a3c87b42074e7160637a235fffc27e2a57ac9d350183f6ef3";
-  sha512.doc = "f1c2f6c2edc1618b8d0e86f3e404c5783f3021438724e4011fac5af7a0290bc326b791589505ba7a88f8f592e215f36d34142559575f8b940af1ec63995d70ab";
+  sha512.run = "58f56dded4abe3724411d3c46e338fd5f7fc2c8ef9788939077981503383783b005a7e691478621437b158738129a7dcedaae45b397e1605805beff04437ebbb";
+  sha512.doc = "54d8337ab007790d300ec6c9d8c0f24964693863bad3057d1f473225187b7c6b7315c3425fcffff3134cf8fd96d65d6d4311a9f4c6019011fc8c2e11f8ceec76";
   hasRunfiles = true;
 };
 "metafont" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "46ab9e77136fe7680143d20296b0a3f80188f3bf3f03d5642c32edcc6b286b3161e282f281e386977db4ef228035fa8f73beb7f7344cbe51edbf0be6afba5def";
-  sha512.doc = "1124acbe6c8b85728e70a67c65fca671a855aa3c3bee4e37d64c180b06be582e6fba7eee3c1c2c3263f71159144b514c5e5166f18e5228b0084a7417807f7936";
+  sha512.run = "7a1a5d0090a538bda4abe8f994a6891f46a8c276f45f26b0be0901102fdb55103a86848a153d3b0a980d08321471cea3f4249595aa4dc6398875d1d14cef8e96";
+  sha512.doc = "119568cd01c06d8772495ff725f3056d648b844b58591216e8f35caf0f80b5d5908ef796c725eb7d917b04ca734fbff1ec0a4ad1e554ecb6a5d243a829644beb";
   hasRunfiles = true;
   version = "2.7182818";
 };
 "metafont-beginners" = {
   stripPrefix = 0;
-  sha512.run = "3e8f0d1331679de6f178376ff3fb282d59a54d2cb9b64778a0e0708bbf6d2dad859c6c543f7b2dc7d971a92c3c6012f9c07244bda8f5965d2f380a8eb2cba90a";
-  sha512.doc = "cf6fd311d6e7114c3848f722043ee53df3a39296901b028775dac52cac56de2683a736b0c3f6fb24150a4efb1effadc79b3621d27ea11c57983a3e02bcbb3a8e";
+  sha512.run = "39352d8b181f3010fd4dbfbfad18a8cd3f68f0c38bdb89996ea4c77a649acbbd15e9a7fa318193db08733b3722a07a8ebfb17a6430bcc9af8101dc444608d75b";
+  sha512.doc = "4fb7148b0668845447fd38411df0288972312a56897b1d5bce69a7e57ae632aacd12c273a911045204705a5534ac1d1c290af08a7057bd62184a59eb7146feb6";
 };
 "metago" = {
   stripPrefix = 0;
-  sha512.run = "04f6d94dc0109d70ff13b7e1d2a485071aa3c33d5875eed14e3c6aedd42dc9e14913c764935c37c09ede377f7b766654fc8c1a9465c98551d6a47017bdd0f9b0";
-  sha512.doc = "aa6e6378b89c8f0c13e8adcb2fa915cda391831531ca86f99cb684617a4abc8365454c4a0bc47018fb528291f6c8fea5aab8e942db76abda04e34aace8b60655";
+  sha512.run = "e7b3661d99ea50f7b20fe3af370e59e960fc0599409b5c11bfc9618c12c38e44b89e4e81d69ae7ba5e2565e46078ee52ed0bef46aa619408b386bb73926caeb7";
+  sha512.doc = "8396725c0afc87c63d16256d5ab0d575a19f05d78ed245099a60785f0810a012e8c0026cf13d03781d09d7c0007bb9ed9b87072ed732ba706c893e5465461052";
   hasRunfiles = true;
   version = "0.9";
 };
 "metalogo" = {
   stripPrefix = 0;
-  sha512.run = "c5f4aac2b65663f2062484523fba524e1436f3b4db244e30bfbf9bab47750f32b7c180158f6b9d8f7f5c5185ab199be827a5fed4830dcbd9f7ab6e18d8cf12f1";
-  sha512.doc = "a2ac81231535af36d216254cfd1270ed5dfa99e2c081f2813b48dc907e28d98f8c4a4f22e1e5464bc81083d9d8969db0722a58bd7f53aa719918c3b2beb77dfd";
-  sha512.source = "d26b1e43cc5d2b1947c5c44b2b6d8808bea1d24cb78e60fe28fc0af61ade02f166311001634596cb3eecfc6b3351f3822a970baf5ede0f0650341edd0c0352a6";
+  sha512.run = "20d5a9b8454166535aa3aa80da7d2931937fc6a4d730c1ab70c856311c223d466e9fce2ed6e3b2fbf4b4fc75778d7d4c2649111df5f92dd58b6fc42b3ec72696";
+  sha512.doc = "48318b396e4e227dc1b80e21474a296ba4dfd37e81b95f9669dd8c96ca7318abd8a1e21ceb95e0ca7832ed64a85ede985fae7e2e52b3aa742c64b86e54fc563c";
+  sha512.source = "bf240b77ef00d5351218674baf851b0eabcb22257fd6ce9dbd6b66afec5323a730df7b27d522f5130830ecf92af377edb3ec7906be206e760971dbe8f6266942";
   hasRunfiles = true;
   version = "0.12";
 };
 "metalogox" = {
   stripPrefix = 0;
-  sha512.run = "2e2b6d5235f58f5fe69056cd256a7011e3742ca11a2f6b76019dde3a018aedf19182f528286f085361823cd8a03fa6e9e5d7d2837d3f3e907a4b23f6654644ea";
-  sha512.doc = "aff947b2b6792c7e85ee5270da615543fcadaf759e55027f5f3504eeef8a1074761ab4f1647363126941795c87276c077943b0714c428c143a0b2d399cb2be9d";
-  sha512.source = "253dafc97a46b284b6a0e7627f8e1fcf73fbb0200afe0e10dcb87056362e10d1f308ac9931074f7222a1e5fb1881be1b47228019c305a0727d5bb7a5796d03ab";
+  sha512.run = "d2f6bb89071ae56b0083e5b38a629e6089d5d2c73fc9206181b2aa3071e0a4a350a3f5266997063a011d41e4d369745ec5f246d8f3b723c00c8dfa84452e7cea";
+  sha512.doc = "d55aa00226b6c7773cb275d33ed698e2617b82af5a2b060b58af7468e8be2d9c65bb8b052b66c28a94551fd51867a34e2c6b9d0147161e3df9cd05a03567a59f";
+  sha512.source = "b6354ba439f3514a491c271294436f01aac26f77225455d1fb1a91d55a5353d63f2de6d3814bec21c0f043c95186411353c87992387f2e174d9cb03057ef0560";
   hasRunfiles = true;
   version = "1.00";
 };
 "metaobj" = {
   stripPrefix = 0;
-  sha512.run = "9798325379f5fa26d333eeafa7b1452eb1b7c1c14990a05db57df71df859deb9e40d8e843554a7ad4b4f4fbab867be6bef28bd6ac669eaddff5e8ef91e29da6e";
-  sha512.doc = "f7cc7bfbbf6969b1c4827ad2d42d64ebb2033c242821ec839dc568d283fd246500c53549c58cdf05e1f785712f4fbd8c8b075ec42b84a5c83b9006b32cfacf14";
+  sha512.run = "cf587c174e44da9496ece876bfcb8330bc52173cc3bd6d1b1351efc75a7c333ed8c7cbd41c079d492947a1ee43d8043fabebc80b4c7a5d348eb054e82c704e3b";
+  sha512.doc = "0bfe1fa6a4b3a8923cfbe9bdc4fa1b27567df66365db447346fdcc739675d1d815515e09fbe96f44369643c38e6a8007a0f8d089ed8504020fe0a0e2a795ea9a";
   hasRunfiles = true;
   version = "0.93";
 };
 "metaplot" = {
   stripPrefix = 0;
-  sha512.run = "4707c640fe04df1a5ada23ded8edc6ff20fd056094f98b273227b62aae4d360b53f04113c4468644bb1abd0f7e975b3950ccc4075d5010b9f3dbc8afb5d40315";
-  sha512.doc = "aa0252bc713ec8f428ede4e6602d040f066729c1ef42713d95c881bd13f82667325afef312eb057f9f8c9d3635a40c38072c18fde3cc190722ac4324a2595de6";
+  sha512.run = "eb083316720a5d7379c0ef7c1afa0e82ea5df63a3a98200b7041637a6fa47aa33dc20a265e05bdbc63abfc375e6b59fa199d4091875c057a044821c557963dab";
+  sha512.doc = "1732b5a572a3d4c0a646308d3c102be29de845030a624763dd6075a44a739a29e65fd9f224229eed6dbe8dfc6b590a3df1cc07c184881dcd2f3dc5b0642a48dd";
   hasRunfiles = true;
   version = "0.91";
 };
 "metapost" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "8a532d1931e2d1f870918cd604f336ed5fac19da33168a4e275b05e8e97903c3eccdae461a5b575153c5cbb5c7f762244b2cb2d36b472ad7ec8c525203d7495f";
-  sha512.doc = "a7b4de8eda053258e08ba79cea286f8838638f21e30fc0b6f02cf3172987f3a292033b48bb1c64da25e3b88e35f99534e9755f92e656925e5118c2723da416ee";
+  sha512.run = "a22902373feb03ba91fedd50274fc110bfbc5d53a016d18a5ffea87946db7f534f0d68c50aa28292ce0a8ecec4808541fcbb4ba94ca3a1db52232c59883bac65";
+  sha512.doc = "ad46b27fdafccf2b6699dd64aca10a7f94916719d13a10bea0c3359577cbaf66324084777400c7c8ea531d911f0529bf7be1f95cb80d187d9b1a2b97a5077853";
   hasRunfiles = true;
 };
 "metapost-colorbrewer" = {
   stripPrefix = 0;
-  sha512.run = "62f6fd9aa382613145ff74e00712cbb0b2b7c6668721eeb02b7e1cbba6e2c4fe56993a50cf0def4756d5ca6fab3ad980ca43f86b0ea3ca5b3d3d403ca2d5e97b";
-  sha512.doc = "86c04f326d87a469e4cd3028344626eabf71319592e5412a16a14177efbe75dcc66da7ae77eb36dd5f9982fcb0fd5119e98e5ae90753f1a06f09501261a6181d";
+  sha512.run = "e59dd121f9a176e628697e31b720507723867a0b7b68b73531aa825bb02b07d04ff705bdfbeb369fe3a2d304f4c6c5aad3f823aaa4c82257540f1459cf099cb1";
+  sha512.doc = "59f17d78ef78a142bde5783996f149b3a7c740c2b3ec6f90133115ebddcf6c460dada543482f5379872054a74eb772bab8afd96fa48b2484f7932a478b8bde2d";
   hasRunfiles = true;
 };
 "metapost-examples" = {
   stripPrefix = 0;
-  sha512.run = "8edc3fd25c5911a5e752640137c881f42ff4cf10ab005e51520033e5b7e1467758f02a4b8e4ee9c533d32f83516e1b4d7a75f574d21c2dbdbcdba509de1168ff";
-  sha512.doc = "c6327735520b9421abe26629bccd83d1b034afb4841954e090df8f33a24a27589ee82a57b4353830216c01ccce8d71c6fa2789fb38402cff4a4e02a0a8a9884f";
+  sha512.run = "95942b1b110e65274839ba01c16fed3e63a0ac99aa564d7a000bc9d9a0f5625ddc1dca13e786d0721bf93e76410722d4d76c86a05297bc39cd9af6dc91c2e6f8";
+  sha512.doc = "2a3aec80b511864878e07ff973e17ed4fe1aec692c7e6983b57dde586aa19500cdd373687b0e081dc80c8584f116f0fa3de7ed4f09ba232eee8adce5e998c954";
 };
 "metatex" = {
   stripPrefix = 0;
-  sha512.run = "251dfa4a2cbfe7841ffc0e38a2b9d2f795bf29d21d1c6b3ef647a55574852eb486b95a371a359e644a91c3dcc4de0e98337fa6f13af8af54406ec399511c6f7f";
-  sha512.doc = "c0360784e8eea3d0d975ae3fe5092efeff5b5d44bb80cb76bf9a9a4aca19e00b8e0574d79e2fe223fa591e6f26e4570a6f15459c857bcc3ac11445064ea89b03";
+  sha512.run = "8d438cf0f3bd375c169681b242b7f00dca96cd3bcfb167c6aa664e27dba59eefb53a6d28ef537802d584b17bc578b1d63ca25799146ee6d986bc647ae1b0af2d";
+  sha512.doc = "3c2918a3bbb30b4abe2395baf32ed2fd5fb1ce3541f86250f0c4037aeb127fe7e90cfced87144d564813a437b39b184503ea9a2c0c61b979907db74d91860677";
   hasRunfiles = true;
   version = "1.1";
 };
 "metatype1" = {
   stripPrefix = 0;
-  sha512.run = "c5c76791ae50cda15e03aaec81f496b533a950492321f79cd86e9277d1e94ae6ecce90ed1709ebb8957173021e71e9b25a20b26c2976b231622f76d00f5d339e";
-  sha512.source = "ceeb7f5bb1b3a4b6ba1b6a04ba0ad4c84ddfe222ec037964671baedceaa5777e31f08fd3451fb954a3d6e2d2f03b02f907102b58eabe785e6846015acb01b5b7";
+  sha512.run = "1dc34e3f826ebf09c6f3baf358aa0e5ee4ecbe86e2f82a7da12c706f443f5eba7fd8582bf46612b2fa3588515dac34c49d47cfa2b9c3ae905cc51dbe7779eb28";
+  sha512.source = "26f891bb5a62da78763df29f1d9caf26588c6dff57e063eb445ae23a5dfd7108956068de991bbb514ee394c49d4ad119d4a0fdb5398aad48d9be223b8f13d388";
   version = "0.56";
 };
 "metauml" = {
   stripPrefix = 0;
-  sha512.run = "75528abc449c57072ccc81dafb0d7d045d185fb7c589425e9f878543779c92ce9d054e8392ea8b601b38c70ede5d949679bebe6a768e37f27ef6ebd926dd3681";
-  sha512.doc = "ef9f08074cc33a40a9a241d94c9bf9fe219342e1c3b3b4aad35ce87b8b6fd23f76da9cb58256bd7eaafee8e33746a04ce5fb7348e4302dc4507288a6f71af8c5";
+  sha512.run = "96773f0d0e2788d13738930fa1aa727c7ca2edee020f3848326d7be3533c177ac977564aed533c59695b1e6c4c65e191784cbc3e7e70becdd651cd702b462ef5";
+  sha512.doc = "6c649c32111a6350d36c69405fc272a917144be429bd84c0f118a74e1232c06744e66fb6647c5a742f58c6c78b46830a1484bbed3a9a962380ece6b16c555169";
   hasRunfiles = true;
   version = "0.2.6";
 };
 "method" = {
   stripPrefix = 0;
-  sha512.run = "269bcbaffda5fdb12b2aeba150acd7b62c961aca528ae87bb0207a1bd887edefe4d29122fef3db87453bdd5b3c2a9e063fb53991499b2e5f199c1530a7d56d32";
-  sha512.doc = "8649910b86dcea1424f687e952661da4faf086ebf451bf1b5c9b409d54c26a040a11bd90025e27f4f6c28c13e71f772ec89ffb863b5aa3dbffcdc833f58ee324";
-  sha512.source = "30f9bb31384a9e5939ab3990eea086acba20d247e17684dfd58075673fdcb6659b8516bcab5170c6671cb45c69283a9289288aa61b1cbf0b73bf4f237eae0ed8";
+  sha512.run = "9b71ed52073f831431ef6a3a81afe7efac97a6dd39d772b8f48cfa639dfec01411a5654830fcbaef6a3bef7aeb718bbbc38cbd18c592a080e67175dabc7e9919";
+  sha512.doc = "2a211d1325322bfaf57c81a534f29fde51ef2e0dad8d7697c3af9fe10745c5f6245bb689b65d54c39a66b34ccec69d055f201aba34b2a4957ce2fea0827eab45";
+  sha512.source = "ba90537e63493073509e9407aeecb28797370d75aada1835d5fbbbf991ea9b933226950765b61ab831a708d5fddc10c2fccd624d2872148bb77759a3595cd275";
   hasRunfiles = true;
   version = "2.0b";
 };
 "metre" = {
   stripPrefix = 0;
-  sha512.run = "cec7a41408a788ee7aa3c81c3c1ca200f5c0247b58c301346dcdb8ea36984925eebdb90d74b8934f201f73da84ebc01b0696484933da5ae88ae50f88df0dd111";
-  sha512.doc = "598b7f9164f710f401424dc5e1dcf348bccefce8c433518645dcf01cf043cb2c869de88ee1a9c5a86afcbf18bdc283cb9ed8a168034263569290b66ac0677100";
-  sha512.source = "94e12ebf022a6d8a863ece139482210ea38483104887accf7d3a02fa201b4b575f3bd6fc9df1d096ae170fdfd0395098700392b6883a9fb9d87788d08a105a37";
+  sha512.run = "29d99fe061c828b4eef12047215451eaf6d603106b0ebb0b7c83c8f8b5ffd360160e29a0c86bc0cd329e6f694efae695ef03282885e872cf26c8177f951b705b";
+  sha512.doc = "73ca10e1d2b32d4f7b37de6c409b68dc38b3dd165f47f52714c3a17e7a5dc6c1562928e7a7f8c5a3ed9aadfe1324e451baf6cda5dce69043fef3811cb6ff8cf7";
+  sha512.source = "d11bfb161dd68208b4f4e29b67131618a02cb60f4e87c3f2809759ab42c44603e790876ea84c6c9f4f053c3cac1bf189344110ff5b4acdc97d7ddfe4c466c977";
   hasRunfiles = true;
   version = "1.0";
 };
 "metrix" = {
   stripPrefix = 0;
-  sha512.run = "329c293873badb614f53dc7a6ae410c9efcfc755627aa25df7143c69326d2b659de969041a076b4626a7cf3b7e0133fe97af79bbf6355af009a8165f2df1a8fe";
-  sha512.doc = "26786534759fae6e44302dada94b13f5778f2076e7fb475c590853a33c731a095bb5d49de6865ea54d36d07f768d99a8e5fb2689b00cd9a1259f73604b231100";
-  sha512.source = "2259286aca488723bd44397a078989baa15cba633e62156ef8c14ede21d9192f1c354e5f7f2a9694407710616ff98daf17a4a8e84992087954385df0291ba696";
+  sha512.run = "00cbb4d0cd9417c57ae2cf701f0a485d296e17b95eb56a7a3b0acf328c4eadf3d8ddb7d4c3442ea26ef019dd4a6b5c95af9f718cd4e31b5e5d29301ce8e82edc";
+  sha512.doc = "e5f8654272e8a85366c226113d3815ffb1e539237bdace71da55e30864f8c746162ce1b3f3023e3e62616b286145157816aedc871c6c42dcd3d4b76092d8ea46";
+  sha512.source = "51a355ceccac5ff53cc98baf6d8fb3c36949f620a51191899d272ecca9671819c740703af1c47856b4c171757de68df839959388c2d87b2f43f54aaaf219b7a2";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "mex" = {
   deps."pl" = tl."pl";
@@ -18459,288 +18930,304 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."enctex" = tl."enctex";
   deps."utf8mex" = tl."utf8mex";
-  sha512.run = "7e0fc7d9577412e69adc243d1286d830fb0182348434d51dc61534d2d262e9389ee56309278e1d4f96915dec05b15c0dff6b021706c8ad8c1546707053c53c14";
-  sha512.doc = "61f921bbca7b5074f5fd32658016779a347881dd91b2e278c1e0f838de9d2e4944dd3675f839cfefebf3f0b76f91c4c17153afc8c64ca739a1496675ba5d8d2d";
-  sha512.source = "5486bf0a72cfb08b5b71b87308775d65df1cde56776ad254abd9a2f42e41b070dfc0460a607138c994e2c5b70e73339a9ffd95b422e0f5c69a9fdfc3d737d316";
+  sha512.run = "192ff9559722639d535d91d58d161594506374548a4414ff1508750e35b0b3e755e0c6c87559899e216901d62bc88cb28dfbe0725ca5a51325135f4251e1f110";
+  sha512.doc = "0409918335f2b6fbaba3bab7027d91b2959c13927445bf64aab60a14b033c1e50d27c19878a65a56e8245ac025a881300e0f5e47ab0662e70e5872109097077b";
+  sha512.source = "3d8246a6e7f3723904711f765f42282cdca89c88d62aea2d37a259900a645c094d6b1cf8185533341c82d14ed7c44e4b1b573e6524d5b4fccc74cc9d2cbdf1bf";
   hasRunfiles = true;
   version = "1.05";
 };
 "mf2pt1" = {
-  sha512.run = "c1865afab20a1fdf52fff4703f13de9df20a349e5ede70b8b7fb45a0a3680c7acdd024cd81d23d30baf5be8ee4e7a4e4f2d2b8a9543670f85ab9d4b7568f5acd";
-  sha512.doc = "68e4c8e5105503cedc918c4a221c36e8018378cae92f0ff62f372790385d700ed7abe617b4d8976471ad30720b59597856f6552ad2aee74e6790c4a332ca481f";
+  sha512.run = "87a90bdf45883da1291d8ef5a21e6f7fa51480f9933b92ad4a87384037de991ce36b47c238f822d466238f4bca6aa41a123c76a34f9f6efc2e43a2104f85182e";
+  sha512.doc = "8e672808d60133e8a06bfd7350b1f9f5a4b1e706e565382b015f8eb9dbdb6da246b12815388f445fec87e63305381717d817c1eaae7762fd7b8043c89e1f2401";
   hasRunfiles = true;
   version = "2.5a";
 };
 "mfirstuc" = {
   stripPrefix = 0;
-  sha512.run = "905fd873b7e130270da05265ca59092a6cbdf1ea8c3ddd444b1622251629781858eae18abe6a5abf4f793d0d8d60d941cab03964258bd3a5d6e94c0fe4d736c4";
-  sha512.doc = "41f1e68878866fa567acb407b71f49336ed50b05bb6260b3169c35c32e94844e6d3739d34451b9be8b1207e90591eb02c6c2679ec9aa43e262df26589d4c9c39";
-  sha512.source = "cc0aad40077ea9a88c7a78aed63433879b7d472f37658efcfff3c17f0f2d0f1e250808843a5bc08b50442a1f361741e2f8cd79bd1cc526a3e56079188d8031c8";
+  sha512.run = "de7ca64b5a32f697ec1efb477c2230ac418799e72f298ee6ac80409952affb35ef6152fb366e822ba1b01e39afe4483d5437c4e9aa22130a90bef79f87ab77a5";
+  sha512.doc = "1a2705a13325a97199095fbdb900b94e94f308311d7609ddfbb75efb7afeb1a2634a0f543da517a03d68e974d2b917f94a1b6a7b3d31965d7087ac585b6b0df5";
+  sha512.source = "021d1e945d7033ed18d3df4a3a0756c9048e7a576bd5d64f1fa2f963292a9aadf0c5bea95b29e3468117ea4f02e4b83785517516d87a31bd85bfb6fa0133e734";
   hasRunfiles = true;
   version = "2.06";
 };
 "mflogo" = {
   stripPrefix = 0;
-  sha512.run = "1c8418186762593c91bbdec30b9f5b8705e4cf4dfbdd01c7f0e20d70b9c6717bc099eb6add34679c8a9e44c72dd15b7319fed4031deabcf2c3716fd242cd7c87";
-  sha512.doc = "0d94bad751d9c78cf5cbabee8b29a6f43bc96f4ecea82d47ff2f1392b923b1ca2fd0a55cabed63e2cc3e8ac1d6e76fd2d992335c849b699819bd4a395db6e107";
-  sha512.source = "d685801dbe3720b8e497d2d20c6a3a87448d3df571f6769cb58552bb983a41458de3631b845a0560630605d22407bb44a932c8ff4b75a2bdcb7596e121570b63";
+  sha512.run = "a1c5168e37fd9cbe5fc2714ee43143f36cec662441a7a9d33085652a5d6f769838d351faf416df6fda78529b5f8712f1a056afa47577fe925dcca5249f1fda38";
+  sha512.doc = "6d1dabc636d22c824838a82da83a4676b20bb8a55dd1ab5628d00b4543096f91d234a51a312eb83544891910d923650f09e8911ec9db668f411735de6ef5bf3f";
+  sha512.source = "7078092cdbcba668ebb440ca6214eb155221427ceaf4d1f574d1055d2f1f52d288cfc0f1d2212f2a62903e447c4aeb378fade068ab901833ab9c251b1890e15a";
   hasRunfiles = true;
   version = "2.0";
 };
 "mflogo-font" = {
   stripPrefix = 0;
-  sha512.run = "ed66d934054c3b7262951fe261b8f0189668e1b5a38a3c85190d761322cd54201b627d255211cf09e14b8b3951d92bc1869013ca4269402ebda63f50db7644c7";
-  sha512.doc = "26aa14f700be84e211a06f11a3b6b8f213163e57146f0199798f92c969134c808d50ff00ab9bf4108be2feaa6ab6ed7ed61866e521d40a8ac7b8e4ee5000dc8f";
+  sha512.run = "8be2b2456a14bc9a8a741a11b033a844bf529b511eb1173887eefab646922a37b82b5847cf94331ad34ad19bf6c75629687a7e490dc57e7ab7be473f751945b3";
+  sha512.doc = "aec625435ec638a6c36b7303d9fa81681f355460392f42d78cd820d98f7b6489b978980ada6962db5c1143057133d32fc7f314dbd60f606db4b69209de5626d2";
   hasRunfiles = true;
   version = "1.002";
 };
 "mflua" = {
   deps."metafont" = tl."metafont";
   deps."luatex" = tl."luatex";
-  sha512.run = "663280aaf9bf9e1a935a3ecbaa7e37bab4135bb59fd0043fd421c6483aaf3849c4591b66f0e4f1ad4e1fa15212854c950726e71ac5fbca6435d588f94bd08d0c";
+  sha512.run = "a12e8a56228f0e3c49ef08a47c989135028ce6a99db714eee1304feaa31ae10ca5f030291ac56e9a344b54626247a521a909a18a35038333dbdce6553019e31f";
   hasRunfiles = true;
 };
 "mfnfss" = {
   stripPrefix = 0;
-  sha512.run = "cbe438e051415adcba7c17aa2ab75267b64cb5c9e7af0a25c1d87c228e9e1ff2e8f302a57acf1c1ce4b18d31aa589079a731bfc09f8d46d81cc1cb030b9496b1";
-  sha512.doc = "75700dff90fbe52e3ce98a063ae1000da099e7a7acce29da30880b8b92e6b4b82271e2686e85bfd8d36dbf99718735b36abcb04eb50d7bbc94eb3bbaa576359a";
-  sha512.source = "efc94553641acc572b9f7f6d5ce77ec65971144cb0f05dff4cac3337e3bd8f2d23fcf18e0921a1b801ce5b854b1e79665b9124876e27ae7d1ed2c7fa77bb9cd0";
+  sha512.run = "33206fb4cb7ce8f18050d713be415abb95323599270b2b91c886e2ac3f24a58786a480e5d4d1ad6ad2083456231eacf94dc769b26e6cae7288e996c6e14bea29";
+  sha512.doc = "f8421e58ede77c8817679fcdcb43fecfc519427b3cb93ed2594fef5c8ac8124e0563a2182803a2a6bc417982df298abc7fe092f1cae5ed7583e2fa6fe94c8345";
+  sha512.source = "2bd5aee80abf38884cc4a3ad6d6226243a6ffe0d2e879101aee56168a10cd0c7293eec7ccf53c7a7e8087ca94398e3f4ef38d71ccbbfe48677ffee3f8b813bc9";
   hasRunfiles = true;
 };
 "mfpic" = {
   stripPrefix = 0;
-  sha512.run = "d3d13e105d5bfcff4960d8ba677923d1affd911c096ac786e5cd0860c2be7ec5b92c3b5c6def1f3e99d3b3f0de74710dbaca954a3f8d4052f2c7c42b9933078a";
-  sha512.doc = "0e5c81431f6881e78c34165eff73eefd7c8bc7a221bcb9b7727971f5ce1aee7260fd448070797eaf6831d4690c83e1f55ef4d4c214d408eb71af24eacaa877df";
-  sha512.source = "50035d8887f7084eafd0c70c18e5bdf8ca7652d2e59ad41b63e6dbf469ea2005abcbb12c475983dddc95065eb5b5ef29f11f3703d8ac622bd75c9a913d4c503b";
+  sha512.run = "361983a020165d094bcd0fc9616be74bd2b5c72542b1e1b257b5ec42ac6be1175caf59c79e156da2bf6fecfe3746b4e33a4a8fc978eb124939ce0ffd2c383081";
+  sha512.doc = "97ec26cc1ed8e181c7d69af264204772c9075e3650044b58cad938fd6918f9cbf5c849699e31846f437e41410492b67668a7ec33e848cf6b5fb9c2d52d7a7947";
+  sha512.source = "609b960a70d47edbb814c981c5cb03b91fd19e905f8caed599be2488e0ed9ef0bfe01af79353015e0d6dd2fcda6810bde10ec4d8e993356bb7371ed2805988c8";
   hasRunfiles = true;
   version = "1.10";
 };
 "mfpic4ode" = {
   stripPrefix = 0;
-  sha512.run = "de430b6ac60c0d106cb23e331352ca8f5f550c4f5ecef19a972c8ae03b7f8b614c9dbfa1dcbd8d0921c8c92de545ffa62305cb84014bc7a09f7a139515fddbba";
-  sha512.doc = "9517a39fcf7abad9fc95b83db90702930b8b6a4159af1dd916af4aae88e1bd6a507c1975476778c3f97fa844b4fde3b924378e3942e041ed500e0fe9de62bc0f";
-  sha512.source = "b41d79fca5279456ab01ddf4f7f7cf498b27d69f53aeff0afc221d39ba800a56e5f6112c023ea2b3a8a40140eb39dc6c751ea1599fb583cc863b78c0288bf4c6";
+  sha512.run = "4f3a314afb6b1f8c4fb07421244f2a05747f5d24194659053c561ba24ed90f325e82ab9d97981af6455081580f75e9e8f75d11f06aef9e1c027ed0f9bf17696b";
+  sha512.doc = "9d5f38873cd94fc3248b619f68e04bdb1824eb1249cf02e555a60c3e84dcab78d3e04f9451e1803943e898ed7f55e33615f673da8c58569219650976c25f0ae4";
+  sha512.source = "b5de6dee490578bc460f76ccb606b5d62d4f6f2c43e2f9967085f1a323ba287cfc596da70905a40e1ac602074323940a9e42ba8096a9a35190ca280217b2e10e";
   hasRunfiles = true;
   version = "0.4";
 };
 "mftinc" = {
   stripPrefix = 0;
-  sha512.run = "adbcb0871e679f3909ac59615b4e4ec85702a0ca39668fccc7b1cd44c4fbe1351d8b9eedfc384d1020e2fad0431bfef40bf194836674f22fb7b9d33d827b1914";
-  sha512.doc = "0381e1912d6322a6b1f7e7253e932976d57d17f9bab83a4835fe05bd01a422e87405e9e23ac9e65719f6e2fe424b8c0eb71cc92960853b887bbfeae20f993110";
-  sha512.source = "6d64da073e5e795fbf0ce8bc72e75a69a60c58b02b07d27e6ab3f858566f9ac104c92de493b500c80781a9c2baed14cae5c79b3ebc6b84cc104b5907e7f3111b";
+  sha512.run = "64fa5f38398a626d5a351be7ad866c75feb4549f836932dc936cb99f921e7b8abe5b3d6fc1e1e6c427344606ee5dacaf067d8678e7b199fa1ff8d5c94cbffa49";
+  sha512.doc = "0846744cfd86bbcd8b6ad90d58bfe5788a79f43d05f3cf6f438fdef50cc4872ad8ec4d32005ced9ea9c424f3e86a799d79b0baf2a9544a3018531a99cd81fd5e";
+  sha512.source = "50ca90a2f48970b3cca5552a361337ed138b4a9e31bca2766eb429cdceac2a09adc1cafa6c444c514fabe71c38ed82a63b847e1da014f2c131a15c362efaf09f";
   hasRunfiles = true;
   version = "1.0a";
 };
 "mfware" = {
-  sha512.run = "6b0bf98a6b6420259a4456237ca3a02c4b0586e051555ae27f27afdd1e21da1e54b9f46034cecb920423a54af9c46e02234a517175933d1806bc105ab15d35ca";
-  sha512.doc = "7447a7719590d9a6cd39f846ce29d22e768b0b7c0272ed9cc349ba41ea8c0d31d78ddfb04808383e7e810644a0b00dbfa308401f0142ae1e36a792380961bb3e";
+  sha512.run = "9379a31291d572743dd3d8f82e32e7057d686ef12d321e1f4c179df1d9d64116a61c7741b2be5b08a0f396e69b6c567e40cfb66141dae7a95ae3910366214a37";
+  sha512.doc = "f22a628dfe7d1566efa13502f38ac399e17bd90fd274a0fe4fba98de25bd24b6a3526bc0124e24277979ca42af8c01898f71e9bd9e1027a899b12c74c6ac205e";
   hasRunfiles = true;
 };
 "mgltex" = {
   stripPrefix = 0;
-  sha512.run = "784c0c8530899a8c3d66273951fdda53707439d737bea9d33858f4fad93d889efb2873660ca279530b5a3d938b908fcb82f3561200ae389862c565c7b66b7e76";
-  sha512.doc = "95ee395d285ede2e3bd706c792ff6584fe590559f87e26706711362e56abe3c02403ae15b0c055235acea7d6d59f5508a04419db88e523308b416e015c7b0b54";
-  sha512.source = "d403cbeba95f3c7020822edc5f7effdb38fbe14a8379dc305ef7afc2ff2ea09ecea031ec4c93453ee7666e704b978a640fc70a7b597bccf0930a681d9c822316";
+  sha512.run = "f9d98f3e964ecefaf420ecdbdf7187300613bd22df092714ba5b5e945b47c2b24b95dbdb22abb92725a7fdc1ca1fcc88cd14cef1cd1f241c02ce26328951d751";
+  sha512.doc = "3a987e0ac6ad678887e9a2aabb18d772a3bbe4d1d10d53184887f95191961b692d231c1a7942c3383a5468098432807030a0d3877c5f3b0e271d8b7efb1366df";
+  sha512.source = "3467c64e09fd1d988619e93df1e2313639d2b8c95faac62db5d17d615d56e868c06be917624957efd7528b50cd16cdabeea1cf0647c347061632c57fe99543b9";
   hasRunfiles = true;
   version = "4.2";
 };
 "mhchem" = {
   stripPrefix = 0;
   deps."chemgreek" = tl."chemgreek";
-  sha512.run = "a514d4049567d1763da4b1e8865609b0ef4d8ffbfe74a4db58d60e48b9968b615f259c8524639ffe5cc74aacf4db9ed3ef5d04d28a42df381a16fa0914efc1a3";
-  sha512.doc = "61eb4735097b7cbdbf18b5276e4ef47628c557802b71198a9bd8a7e5f953b6c684e8c6f0cb2e2ee68c05143ace40c509d2292ba8e0d20091cf60b956552f52af";
+  sha512.run = "c6ab7b1a02d2b4c510e487d86857ca82b2d9e9b46a786b6067b91a097246ccd40e24aee09b2140ac2b5446f7b12d85614b31ce75d45641d923bbd77411696781";
+  sha512.doc = "832897ccbc039a46d0c5e0c3c8dca172ac54451b8d22a5d275acd6fdd30f6119ed13345b0b473c44edff3c8cde47480e6fb3424b795db55957d40bed08a1def1";
   hasRunfiles = true;
 };
 "mhequ" = {
   stripPrefix = 0;
-  sha512.run = "8c368f2ad6209c2cf503a38e43d008db46a674af539f4de9c85f25ab5334dfc98c97b5013a1b1713e4cc6461be1b2943275945a01f95e29aa13dc62a77a19c99";
-  sha512.doc = "cc34cd1b641f0e010f13f51484d4110c277674a327dbe55be69b454a9288c82da6f832b24a21708980a32e544ba69f30e31a2ed061f66fada0b16da346a8bced";
+  sha512.run = "90f7dabe6486f6566ad6f835838ddf58a6568364ca2b5a82ea9cb96f283c5025c1f93fb50bac98405e8200de32b2c27e592e401a44fab691331fe4f77d27a202";
+  sha512.doc = "0d7a258a96604328231c1784f218ef3351f9ef02a0a9a9da42db36c89324ab5f74559f3ea91c12553ec5a39d14b3a5f282f61ab9e001994e22e266ce394df26c";
   hasRunfiles = true;
   version = "1.7";
 };
 "mi-solns" = {
   stripPrefix = 0;
-  sha512.run = "e7a3ee305e55e72a63b1599ae48996721cf336647c65e3e05473544800ce9871c789185ef91a2f18e29da802a03c5b5126792cc67e1a576831e80a361fee3f2f";
-  sha512.doc = "b3088c5e1e621569a08b0f2bb56c09438afe6be6baf50048d7fb1f953cd0115af938ea197b76a80212f1d88db6effb632c444fe2f4bbf5b66fbe69b25aa102f3";
-  sha512.source = "90ce027ee97e8727ea2a05f7304a05e11fa27f73f6566c0c010033f9a20ea6be492feeee45ee91a7b8f9fa89fb2958a89d56793a8c16b902e94d26a3c6d16bf5";
+  sha512.run = "ac5beb872c78675bc9df379f8a2afe533647a1c39781c57fed2cec6e610cafbbb45a4fdcbd9826cb123a584e121ff752633d6c990109bb1f619b1d9fac6906de";
+  sha512.doc = "cfd36e0a1476e0d148fb36f350ec236d57beb2c0b27f08eb56f69683790b16425a6f95b4f93a010fe0d450863fb34a7eb31b1c8e40fbe5319df128439dfa5372";
+  sha512.source = "cf41fb6338270f2fbf56b33b9d0b3b6904f06a84b99dc8fc0613e10644b3f198b22634cd82b78bd50b236415ec6b8d46c9d0d99728480782459f514d2086426c";
   hasRunfiles = true;
   version = "0.6";
 };
 "miama" = {
   stripPrefix = 0;
-  sha512.run = "de3e66a7bb4a374189c09d098f35e1ae33bec7824680605f2de4eaa0bd55748696afa2c30f9088d9167485887a2c6f63234c070d5bdf404dd4d46aeddf23ebde";
-  sha512.doc = "3cf4edb7eb1049dbc5943b0b88d45909be779301503587b49837d3344e20cfd7695ba604f481b679d937c4290c288f925d4b6bb68e9a2d809be72a71405d8c71";
-  sha512.source = "65911e34d6bdcf158296ab8de6afb27959f3e4379fc7416e228d5ed851bd51a4f6149875b51d2995383f592f968520bcce07bbd4ff324e531da31c135dc64d90";
+  sha512.run = "f7a23b5d536b8fcdbab50eb86727a3e2b88c079f3e0a137220459522e4c939910f9a06ca55e944c1e9cc65301836aacd45aaaf8048d35397b3919220afe8ec95";
+  sha512.doc = "415233ee772f2c1758f1a980c5a7d320735125819c5c7ccdf2d4a21a2c02ca20dd741d64fd3b3fa5dfd8e0f0b69e8b669a319745f30b179ec345ec4ef014bca4";
+  sha512.source = "29d11b1a7e711a5c5d1deb35a7009a4532adcb640af64d23f9adf60eca35bbc3a4bafaf66c536a2c18b30d8944de810cfb1021039b0c73449d0ba799b55e3623";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "microtype" = {
   stripPrefix = 0;
-  sha512.run = "ec4aa5f4982e1b5cfea99a9ae0f3e74cdb7d814d885d5eb8f65100fd5c7019e576821b327aefbcaaeb54f7889e521ee0afc627153b3f7b213917e0cf647c154c";
-  sha512.doc = "0469b0a305da06a0da149417e908804b0aeebf00d0ba2f9630b149068983aa6d36502439ae90095c8607a04cc55542224b375a2c9058bdd330f61a7cd3080c3b";
-  sha512.source = "a382de33e87b6b8de9b99edffc5fa9073517e1570eadc3061ffcc2abc7c9e8ec1424544ad1663be96d0f489b7cee7a92b43d1fc6ab7c300153d084661796a113";
+  sha512.run = "fc9b36ea89ff8b064a415c84d692ee6cf2a928d650bff56bea9d34e3bc5bae84e080b3a34c147f9bb1b6f16d2ebdb7c32198a592ca2470afe4b181dfb3e58144";
+  sha512.doc = "ab9092d0b91881d78fdf9007b23f9c147fa944bef745329cc2a099a1e4dbcc9aa5836cd79cef3dedd2e458e2c9f4e83599b20436bd3d50e5420c84929f660930";
+  sha512.source = "d79f9aa79e3b4ebb38dd6b72dadcc6e00d722010d973d2bd6177350f4bc58d6f2e490be1c1eb7233df1d2d6a0a10d70dc76e08aa59bc7109099e2c0d2c2864ac";
   hasRunfiles = true;
-  version = "2.7a";
+  version = "2.7c";
 };
 "microtype-de" = {
   stripPrefix = 0;
-  sha512.run = "1af4dccc8bd6edefba7bd66d7adef9a27bd341b3c4f0155a33b35135c39bd819a62a121c05b4edeacf2a35daca0a60a6e1fc5f8f0062ea1f89def220b24ca03d";
-  sha512.doc = "c0d43291d38e01ac163af05c9ca57da3196d7cb93e9c494ce816c1359b1d073ef30fec7735df22d869afb3f92a52f452c777e0ef97526204aa4e6cd0de14e333";
+  sha512.run = "bd9b7ad26bf0d4125d1631a377328d934e6fb8b619e7040f6644a6df70bd43cfb8a93e8ce6b49afb90d824b73302d063bb23e67fa172d635e952b035510dd6f5";
+  sha512.doc = "1024c46f6b7dfdf4aae45090533087d1cb495d737856fdbd9691e7cbf489c19ce229d35ad55237e30998f154c9ef524c78068d338c236634df8922d50ae4fc17";
   version = "2.4";
 };
 "midnight" = {
   stripPrefix = 0;
-  sha512.run = "232fcc0ecf25e6c80704a486d98b17c1a8750fbeadddb393eddabbdb7c46f2926cff65d4db3e39065a1c8caeff64b775a40017d51d3a01fa44ba727f82494624";
-  sha512.doc = "385763510c1cd1e276910306ee3b427a66c5a1a3735b655091ff9b6ae7be89daa66b442bbd21fd806a426802683369c081883d96e3da77e0a4402def5fce107e";
+  sha512.run = "8f8bf1d8d3c5c12147dd61a4d65d311552877a9f5eb7ebcce71602dc69ed5459187134d3a1e346a15255f2c4ba57f054c3d020817df0d5d89c7fc2f216b19cc3";
+  sha512.doc = "0c594cac3c7e8d3064145f1b2b088d74a5445b7a7506fc2629b3df6f63419b025779e348116f7dbc859d7c406d87e5b5988d529e5da61d01b0759b0f0fec2382";
   hasRunfiles = true;
 };
 "midpage" = {
   stripPrefix = 0;
-  sha512.run = "8b4cac90dd0bbe21c3d48276fa93d62ff2dba0c471999b7180e314c28eeca1ae48cfde4d7f98d48ec353340d9598a31e52f9d62429444a861f1ab395f008b7df";
-  sha512.doc = "ee51c5d7a8d69ae1a680eac984ac7885b2735cef4039c140bd39c84cfcb5b58a139ca54c7d8c669a1338fa9d4a21723fb03f031ff987ac5e8fefed829183b8e1";
+  sha512.run = "9a13760b776cdce28cf3eb1e28e957265d7d4e83b23234f1590285bc83409f1d5b09040fc6cacd3b9f7a5ec2f61a4e5431fea92a5fcf20032c7bb919ed59612b";
+  sha512.doc = "25f41bb8cb12c6d310da66d36032eb4933248f0c84a67216cd0981fda7e61343c0dee03e96f522bddf969e925e6cf495754e52e863672f1cab4e94ae3b0400cd";
   hasRunfiles = true;
   version = "1.1a";
 };
 "miller" = {
   stripPrefix = 0;
-  sha512.run = "1de8a349f509aaf16a74495a8629bd9a7c4f592387cf0d0928f12ca5c46f9772c819e062dc47aa0039bbb6b94285c2fde107a3a6dc3b16c48c38b9d8e4ea8290";
-  sha512.doc = "e8c633b8e058c281ed6060e876d98ec7057ffde804516d5e8e0e773f49a742363c1ce5eeb51f9359ee54da3fc90938f745c8624b26f713ffb42e2300fece571a";
-  sha512.source = "e926b6f20dae412bad08c0c82feeafc8915cf1b6101b77b29bed0bd4b6cb95f4a6a4dd07856756436857695707d87b317859ccb0be5621b4b954133afdda50a2";
+  sha512.run = "a1415d82a2a81c3dccdea1b59c4c0e8d2cb3902dbc6816cf7615fa3e571de26168a6a066f52bad94c38595102afcd1447721095bd084befc20b3fb3ad420e129";
+  sha512.doc = "3f888fed2b909c269ead9e5191a788828048a21103c881a9b769fb0e8a3c0f3e6c41467827143f6b79a45d2497e3ac21d5c6da8727be3c987ab8a1fdbcec59ca";
+  sha512.source = "06e15ff6c146685a8b4d13c5d4e23de4ea343afe684924694f86104f362df7dfaa975b25e850b685e05efeeddf2ed079038cafff8a495116f27dd756e4dceab3";
   hasRunfiles = true;
   version = "1.2";
 };
 "milog" = {
   stripPrefix = 0;
-  sha512.run = "294c434d7f4a0a4c94a2796a1f1520ad436144041a9180ad145b0aa406bca9ebc24ef545b71bdde69bd0c7dfb5f1d4c9efd4d0813ef1d1a15cfda5d05c91c165";
-  sha512.doc = "a93fbb41d37cfc4cfd016c00a2c88497da57d55be73d442c7c30f5e3bd3cb5bf68ca89027a03c889e212b4f396768b0f8bec43fe2b574daabbe576766810a68c";
+  sha512.run = "126942c7be2217843d5dd0a6a927d1a47537ced3b1a083caa54b4905625b57238cc0a3a8d1652da076144b8c2469f418077eb4051527e5d351c2d95f3d3a5f79";
+  sha512.doc = "251b73ab0f52ff2672733c3855289e012965151e07ff447da373bea083b1ff6bfeff38adef72419f03ca153545fdb90bb18f3aa254fa7b59d3c5c061ec5d15ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "milsymb" = {
   stripPrefix = 0;
-  sha512.run = "db2c38e789edffbebe5ad9729021b6f4663902e002786863aa5c4dfba1900d864494677c69d66e9abb009eff1719da3d029c807b2073a009d3962483f3431cba";
-  sha512.doc = "957dee2080cc2d45d5985a21d253ca8236ae289bde8cab3ef02d9baadf9ca48e2e1d5002605d96bc81ec8799e2f7cb9f3cdcfe7ea76e1fc5ab046857188513d7";
+  sha512.run = "45e601def6cd11cd58f0d30e39f243a48be800861b0c1c787c393f39d5620e53ff43759e31e87e20aee80dabfb96da5bd5f2349b83fe2c4f0b82455e461986ee";
+  sha512.doc = "12550ee788252597671d8f19f5fdf412999ec80d3319dfc92f48be5800dc9882b57a98ef898c79d5e22f333528a0db248edb7798ec28a9e41c9d2542dbe1cc62";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.01";
 };
 "minibox" = {
   stripPrefix = 0;
-  sha512.run = "924b155ad60c556841075a17df246588ae523cd691fb4570f822f7f885f717c2e7dc998788083c9a19a078c7f054f7370c71c615310edb42749ecbbefe8742fa";
-  sha512.doc = "d238fda7c71e8addb74658b65e8fa519d28f2a812f99903ef06ded1642281f76f40248b5520717808dd34a3c3794cb7f4e903bb4b0171cac6c603bf66a81c6f7";
-  sha512.source = "4ce46abed9f9e1ad4ecb4d8781e32d748b308cebde1cbbb369a86a6e7803325b39ae355c3048f0679851c75dcbf86b26a1bc5671a7721f3d593ad0149ec31404";
+  sha512.run = "18d409728f57cc2e423b5c74ad7ff4a9e93f2405497a96024769fb01f7604e019d914365f82fa5908bb679ce4a48cab64fd4435b531ef72235067481b8dbc96b";
+  sha512.doc = "0404b375fb0ef258d0e5acb8e7a78a60a55d08ce7339b9b63b1711dcc6d40b6f302b0f35f7d1fc8bfbf431b66bb5aaa2c94e92ee8e788a5f2156031425c0c4a3";
+  sha512.source = "6aafb14003afb2ee18390391e15fb00f73a16f568158d72fea348e7052bf1ec5f25cd446569bb3c6dd815577fca7b2522d4474681b560ee3ea65b6053509df92";
   hasRunfiles = true;
   version = "0.2a";
 };
 "minidocument" = {
   stripPrefix = 0;
-  sha512.run = "5ecf897d89dbc0e66ead1514edffc851c5838021ffac5eaed9566fafb221b458fc03532ad1d128abc14de1d1cd503f067cc217f4bcb09d38c86e459951a36cdf";
-  sha512.doc = "9013993b16c687e845c6f146ec37507385c2eb42978e02db7caeb10f878e424d8c606c81ff00b2ccd47d37665a67a9cf9e9ece237300122c194c0e4482e1e5f7";
-  sha512.source = "f4d9e6fb84ca33e8bc8a91474334824671b6f0f072fe49d0da45cbdc1f34ff7dff74622bac42725c9733ff7bc4bb2c97ff1b45bbcf216e98cade86953b766ca4";
+  sha512.run = "33a7938dc25833faef05245d00219ad4d94902d1b5a8f63de8c08448da1f4ddd8e305cd261a3051df919b097f0b3b82081b57fa420e773dc89a1c8cb801ba463";
+  sha512.doc = "03ac398f6f8e79003b155434992a53b1485032ef779e5fa05a43adf7528fec1966ba94731ab2fc11cdfadce51bfca6ca9d1a88f882ca87f08d8e4077896af4c3";
+  sha512.source = "556f1c482366f1bf2bd6e2f4e92f0fb811d97e91e057994605a2794f9441f2df35bcd2e2dc4d6218e980e921b7d7a03e5ea2613b6d27d8258985521ecde2dbf0";
   hasRunfiles = true;
   version = "1.0";
 };
 "minifp" = {
   stripPrefix = 0;
-  sha512.run = "77dbdbdb2bdc3da49d43c9c1bca96245633dd0764faf7bf9276769adac234e3eed2b318f24470d755d2f56c635959c36370dcd9514b0258fa6c316ae8e6e5a50";
-  sha512.doc = "825b8b2038041f139067026c09c6ee4968a6011c287fefabe01f7cf574795ecb5dddd076e6f44e0dc0ae489111748953d8441185643c7573729a67c5a49c9962";
-  sha512.source = "f5d63a1214d2175430d866abbd5f9863472306e9accdf4d819731c59ad11b85c9ccce6a288265025a07037e4a1fa0ea05f8077a9e8f476b5d1eaa712c4c627a8";
+  sha512.run = "412bbd3466eee82a99b43d6f4a5998a0a22b20c2d51621368ecba1084010a5333bda9e221b07dcfc6ddea8810edd0dcf60c2be6f926ca0da33071e6a812108d9";
+  sha512.doc = "56e1b71f8289c126df12091cf155c8c05f05a391abd40ff6ce0b84bb7620630a80747e23c25bbb4276aa5d110314076f61da72683b6846a44a53ad3515b91670";
+  sha512.source = "32cd837a6c750ae92f9662db289a5479a102d09058bb4c85605820d6ced83f237d684fb07c9ba59f76062d6d383d1b45485ac2f2ec4e5bd43f780254facac1e5";
   hasRunfiles = true;
   version = "0.96";
 };
 "minipage-marginpar" = {
   stripPrefix = 0;
-  sha512.run = "54b8a8a4f6eb26a3519759cfdc24944cef1e3b794232ea22119893b275a1f72be6e16519421319ea50de08de254d2fbf8f9e5826c8f2d1a43185644a63e4e775";
-  sha512.doc = "93d6c156136c827aa0d5a9efbf124c2869284214962d5ddca7fe04cb13fefb5cbe882c2c44eb0ac7776684b16535cc51283dc6aa5de664ef7c77806c821eb2f9";
-  sha512.source = "61a673e790966e6d465295d1e7173bd68f37fb18f6ce0e5d365510723079401f4354f52575864057694651fcfae4bb573a37ff4262f898d6d2de3cf4a08038ea";
+  sha512.run = "acf33aac7dea3c20986a9ed1f76efbb470d9fa1cbd31f29ed4fddd0e16835ace1946278fcfd04ea179122e603f63b269872953e40f8a64843ae8e60ded769356";
+  sha512.doc = "20d503697a246b8b56a71cf324e4daaec436b62e9c3b9556095670c2b461d273e8b77e24da3cada37106c350304827a37bd6f658727373e384f11fe064e07992";
+  sha512.source = "1050833e51b5a00963b616b496d9b18e49cc8ded901ccdffbaf949eac12fe8d31219c650936c083767e39a39dcd08686ef049ce11abbaad5daa998f4e9c1b7c6";
   hasRunfiles = true;
   version = "0.2";
 };
 "miniplot" = {
   stripPrefix = 0;
-  sha512.run = "ecd9cc1bd9a1ac439c2e705e24cc4066a08a24adb92df83057c44feb3f3dbfe951a32e28a50ff60f37dbb27700a37ffdd77f288cd201a1ad9f8fb65c5475ca0e";
-  sha512.doc = "9c907949f394f35ced7ff99f85343188b04eb09a69f6b9a3d2374f5e4d81496eec28d642cd49bc71c73fbde4d80587fa4b7de2f08a3d3be39acd64659502453e";
+  sha512.run = "2c5d08c2476871dd182bb320c50ec96f202ef65a417e65d1de8aec391fb60dc66c1e9e4642ad2207f7f4bfdd12e83bfe2cf75e9fa4f0fff0f4ee72769f7ca84f";
+  sha512.doc = "6ae8000b3d0ef50e37dfbda399396a42bd348d6ed9ee485ff01ded9d850693f43b0c1945dfde93d9ea0f17494ac2e03391824f2f0c0eff67355c3d3f3ad6cccf";
   hasRunfiles = true;
 };
 "minitoc" = {
   stripPrefix = 0;
-  sha512.run = "a7f98ce1e0d7d830be5f07717878fdd982d8127989261d28b7ede836d25245c4255f9f8f13058466fb589923e303c5b1516fd017f1702998886e0e1eb547190f";
-  sha512.doc = "17763cc33ac714a7cc1e5c1eac55693d6487b754be1d79e6310a9a0d7e2cf25f079d728658a68f4a574db7badc9470359433331dbe739bc04d51adcb7a9e7ba3";
+  sha512.run = "c5af65f4c1d7c19ac5bca84a6a8b465a6d00805164e0224ad3adfa473dbff8604d1ec39958568b3ab611364bf09aa671d277a7458595eac130b121b0972ee32c";
+  sha512.doc = "c193a77791f3304b09ae58faf19490bd68bf129c8ec435c378d3ebce6ecb47c284ab1e1412d10e43dd2e4d5ef60a9fc26088d8c35054f6099fa2675076adb6ce";
   hasRunfiles = true;
   version = "62";
 };
 "minorrevision" = {
   stripPrefix = 0;
-  sha512.run = "4c601f1f5eeb8680afd55ef77f7e5f01e3c744038bbc9a38737f7fe3116d241db9c263074cfce00279b270f5064aa9441a8538ac67dd27401c92eaf90ddd9032";
-  sha512.doc = "3fdb619aec7a32f1f8acf2d6a1158282cb3414c395cf744ba42755f59ce294dc7c241bc0784423c6e910925cd5c1c93c8a3f9b6f04cc349020643a0496f1d1d3";
+  sha512.run = "d76224254aa18dd80f9bab56f055fde5bb7ee6b5c3dd88e6ce19667c939fb2dbd1e5cb987522a3f1c50082f46ee20cf918f1e01fb00f588ce11d30d300fcf574";
+  sha512.doc = "ab1484f7ec214d43b95a8bd5cd78ee28bf0055d99d8c63c424c5c1db1c77b41a8631ea35bef745ab0399dd1c8dd9c9ab66b60033bb151f46afb023b6b5e1ab44";
   hasRunfiles = true;
   version = "1.1";
 };
 "minted" = {
   stripPrefix = 0;
-  sha512.run = "272dc1ef723c28eb2f73ee66a8ccf7b92e8b3b705952dd7b3a72615a63e33a3874d67301084606b4a8749d0d4b153dd21026a42a82bc7fa6adc58479203f5918";
-  sha512.doc = "b5d9de3ed42e2aa5ee8b8f6025db7d0acbf50f3bd487c1ae0b6240a03e5b6855f9e9a048b4d85328fc264ca333aec30c9b604c2d263717a26a157e1de058183c";
-  sha512.source = "24e73622b1baaed440442556165c3c3e3918ce797b48f400dcffd98f9d21334fb0784863a30207c28a887e714c71328b73720e62f55b9d37071bedc05274bd43";
+  sha512.run = "5923b5e87e8bb2cf148a480035b906aab4b03b903308e8e9609f98376f82e23fedd529abca37bb4e9211719160abd9d4488f5c73a0283f67c7f11ee3e1f1d5fb";
+  sha512.doc = "0187a04f9e42c1bf3e5d961c28b977e527dfc1b57c0f823eda047d5e6c888f3f8da1fed691c8e3128d09b3740deb1b324baa607b9abc20a4fe47ea0a29915e90";
+  sha512.source = "1595aac2da1fc9c7b9e50c92fd12eda866fc35e884e335b1f4883188a4b0f9603a39cffa252cc1bb11ffd4a67e16a80b05c5ecf2cd7440c50f0605e5fc44e302";
   hasRunfiles = true;
   version = "2.5";
 };
 "mintspirit" = {
   stripPrefix = 0;
-  sha512.run = "28281b474cca00d698964d9d84f772b7e6a7f162f2c258ac2284be13b78150f66dd039087229d20be7ff78185ce54b66f0c0c9378c01a049403b48f169116033";
-  sha512.doc = "709dca3ac467e4cc74f5ed1f28db6c49776b9bc889e7bbc86a030e18347202d0decf4d84579fa080909721c3f14acf7abdd0fbef1422d7e59992e03707e7d6dd";
+  sha512.run = "0155fde1eddb9558959c260334ab1d5489ca5415b1f7afb687308feb67f6951932bdfcc2e59e6cd3a4b34449f129dc1eb53730b75d60347bf7e2647a18cbadb1";
+  sha512.doc = "54211f0e40fcd0e3c248be16b647462cbe3e3953fbc6ab050634e6a9455b5d52157b77a49fa96c707e3a65c088a92e7e24e86359cfdfa141d48a0ba5b2bfb682";
   hasRunfiles = true;
 };
 "minutes" = {
   stripPrefix = 0;
-  sha512.run = "043659eb44a51f324e5a0aed9ccae1ca91ad1786f63f7a03e40736ac7b1d6face292d605e7452b6bb01a3c5373ebf2b3828730b40dbe3c636845e16b488b833a";
-  sha512.doc = "f9d7aa496009d83f82d7d09a1812cf68ad90521213006c23de9d6e1614ae5bd5523e9944ba75c6c42129573cf64bcdc8b914d782d81228f3537b7f2279e5899e";
-  sha512.source = "a5a879f1ee1638bf637d003dc8531cf9aa21a37766a3a1e70d0a227ce6fac1a108ca0df134be6e44443f9d482245c7cf058c2343be8d7d197b814d0a3dd1f78d";
+  sha512.run = "3abd6c4963ceec3cf073048c21d2abc236d58f522000195fd459c554c10d2af9afaf772b0fd1545fdf72decbc7e1c62a0bb12d7bc1dfd9d5b025f5131ca5f145";
+  sha512.doc = "a069ea537eb1fc572c842a26dd406b1ef2f1343ef6066d266642dfe37515a3679c3a9e64eb37e1e992fc40281d855b817edf9116aae3922abc60e3c01106e3da";
+  sha512.source = "09b6260de696981f020835c61e20f23bfb81404df44af477f62341b9b07c65a1be58098d33dc876d6f07f3a5aaf6df25c8e3e7707c0f238ae76094ff0bfe5a2e";
   hasRunfiles = true;
   version = "1.8f";
 };
+"mismath" = {
+  stripPrefix = 0;
+  sha512.run = "6993d47e645b2cf4ce2bf735e12b639ef9cc3e91bb48be0b693534b23ae6b1b90b9abef56d3781e4d87aaedccbfa2200f963379842635d43de6d3ca76c0c7b92";
+  sha512.doc = "0e2fd30b52ba2ebb77ecb4d3c90218fb097b65356a5a7a05897d29394ffb59649d9ab24f1140b416eff8a64cf0ec16d326f312d55488be8fcbe9eb591b598a3b";
+  sha512.source = "a568817f4112ebabae20e73b8166085064a6b336ed242af132f96313eccbb878de8bb18f08ac8be2012dea6cc63af856d80afe5593f336090059dbfe869acf39";
+  hasRunfiles = true;
+  version = "1.6";
+};
 "missaali" = {
   stripPrefix = 0;
-  sha512.run = "da21a26c726423dcc0f7ded9871429b74db5748809820e91e349175a6104f128cf77b3e2039db1e44bf5629dae1018188b4e050da9c11bd03b19858eb3904b72";
-  sha512.doc = "411da5ab29814802cf7b37f62d3ed4251e24da395dbe441d9df55a68621aceb03af8f49296331235a7ac01624e0ed3cc73b36c56cb02db9678570f8c44820884";
+  sha512.run = "d16285296232f45ba3eef2e427ecac59b248f9788abd5b2e9b9007f2013bcc52ceb482063290e3ebe6ea625adefdd05b5948546e0a4c17377a6e4de30ecca041";
+  sha512.doc = "c786638ba6c5d03395e8efdcc1295ec7b7470daa058b7bdaff4452e4524cc2467606bd7eea5591826c8aa50ed22baecd18319dfdb28bcaed6d2afce176e984a1";
   hasRunfiles = true;
   version = "1.004";
 };
 "mkgrkindex" = {
-  sha512.run = "a8ae7c100099a0680b1559e8b29e6b9c7231cad69c498cc3e3a46a84dfd1a4af9eb14da881545a95ef5894d202e0992d92a12ed64b8deefc97b30854cc398af5";
-  sha512.doc = "0dd37369cd881bf3ddbfdf5c415047e54b6977077f759687236f2bc77fc4706e9b587265c64d8bfe9dffc340d343ff782cc63954986344744d0b1380485a3de8";
+  sha512.run = "bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192";
+  sha512.doc = "5a5b14d4282e97420f796456155a71c23a44d4197d4d92bfea1f0f20e95b42e506c7be3f2b0aba37508415341e999522bd823c649cc6259a6e26d42399c6b8cf";
   hasRunfiles = true;
   version = "2.0";
 };
 "mkjobtexmf" = {
-  sha512.run = "10219cbdcdceca2b8ad52330a3471938ee180b334f6101f88d440336d15aabc60f87ed46c2958633df033a90b50ee73e3d122d8a03c3d5a7b98ee84500e402a9";
-  sha512.doc = "4afad2e4d7b841a6d2a7a21f429ae157e48aad10ef33ea74dff4ae7ad1570db0e02f96fab8d28d5fd0350cfa1c6360ccc00a9cabdb7d0273c6d949efbeee9db6";
-  sha512.source = "c20096c77641c56d583c9c4c4820cde6ab48c19543b98fe06edc8048d65cd3dd4f90d745eb1618eb9b18aa5d03f7f9e0fa55bd6ecb15f0fc4c98a79293156185";
+  sha512.run = "c0dffdb276141b78bd2c47e6d2bfddcd13c1800d3a0806a05ca1fba72a91621364b827801430bc757601e07f2a5130366ade49d7ac1df27901fbec29827739c3";
+  sha512.doc = "3ef5c333cedd5104b63c1457fff2eee40aea7d1f1b187d34ce4cfccd5b6bd38809b7686dc7b41a147fbee2ae0e951470f3ae574bd3c10a5f9b6fb76b686ce4f5";
+  sha512.source = "7f9de9bafb890d12ef2f07d3b8596dc31c4bb97079f826c9efd4f318383f64d8250099a937d8d692fecf703e626b42f942962f4d906e705cf4b0155e354bff0f";
   hasRunfiles = true;
   version = "0.8";
 };
 "mkpattern" = {
   stripPrefix = 0;
-  sha512.run = "7e5efd2ed7f6bd93ec83021c42396c14b2de2b6c0cd9f3bb5ece4ae51d6f1c45e54f90dc755be92d309e27884134214a50884237e53ee86c5bc76013588aba04";
-  sha512.doc = "a19a1856e9dfb225fcb607257f6e54d5ccf5d746d7f6b715bd1b3b86c9684a03b1fec182eba43097f7343adb34531f0be63909623c6f2de192d7ca3e528e5cd2";
+  sha512.run = "0395c9258e6c4a8459e69ff2fbdfe511b0c6863e02333d9481a8a1e82362cf9e1be7e89e7447bda497e7ed2bc18e1986e0a5461e9f49c63ff869f39a4da4f007";
+  sha512.doc = "8232866143444fab1ed1f15255dc5f8c1c5050812e2882d2e20636bfd300216815a53aa03cd4f69ed7f45aab255a8efae9bfdc10df6b7a246d36d4db075204ef";
   hasRunfiles = true;
   version = "1.2";
 };
 "mkpic" = {
-  sha512.run = "7294d20fc13153d183d711fdda3efc7d4e3fc8e351c041109f32e6130aa33f30eed6bf39f6042b22e78a3cde375fb6e8ff8de09979fa8e52e83cd652289bc85f";
-  sha512.doc = "e07e6c22292ccf08bcc047eef1d306f37ac4471106b5da74b75155ec81462ce25c58fb8524701150b0a1e06c6f61db11455f59ad60c8499cf8a4206d86afcd92";
+  sha512.run = "7814f14293e10a23bc9348dcaea9af326ab4dd93cc55865320706984e50883742381b5df3e77774e7a63fbba7ebcbe0fae7268a3d1a34ebb2d8a0303f5b53034";
+  sha512.doc = "bfaf4232fc39c13fefd86c21b2f9f76cd93761c58e39c1420c601627e95adf9e6c5c06db73a0afda6621acef374089dd93afbd2a3bd761cf5aa8db29883375e2";
   hasRunfiles = true;
   version = "1.02";
 };
 "mla-paper" = {
   stripPrefix = 0;
-  sha512.run = "c929251ad5f93a8d0ccb35ac3dc11604e1498ed1e339027cb020c70087dd0799eaf4d2ebdc9cad64f9aa68d82742aff4b670234db3fc86b039b5ab1d9dd74f06";
-  sha512.doc = "358c508833804c87e338cc2fb30889e018505e7e747f7b5c60dbe5444f6c0cf8d62ef366c0bd3eda0216cc32594891bcafef07b3bc4e45cd51471171f3620ce9";
+  sha512.run = "01e6bcd07d5dc7ead0ddb4f5d8ad537738bf0b863d2b43f04f0136a33627941b377e53d29808cd284dee3601bc7839c3f0697178ca586578207f9efb60a6f70c";
+  sha512.doc = "1367bb1bc5dd62faa89294141b74c7d2c9f5fd0acbfc37285421f9ff514ab67201de9c6a9070c5aeec396f0923afc8e10c5ec307fe89ad016ac167f33247154e";
   hasRunfiles = true;
 };
+"mlacls" = {
+  stripPrefix = 0;
+  sha512.run = "14397d8a4afa0cb4aad0749dd4d4e32c6384d8cc40d302504783ddf86756c65abef878fc7bfcffc150fd5b73c701c6d79a8f5a5a085a7bac00645bfa1b997c30";
+  sha512.doc = "fb0c75e2f3a8f9f543af670309ec035e3f539cd642a8d829b88a733c5fc7656b86947c6b56d36dd8b17942f72b4023fd20b21a0415aeacde878b95e6675132dd";
+  sha512.source = "4f087636bef5761a97ed2a4c48f207b92e290683d92975a014670194c0e81d598aa2282e266dae2a329d7a47ec777b06754864ba32bda2eddad77635445d922b";
+  hasRunfiles = true;
+  version = "0.6";
+};
 "mlist" = {
   stripPrefix = 0;
-  sha512.run = "6830a8034b0eb1f8ccc00a30e5ff4bffba0f62510ac8211fae8a2de0d40b7c28dd890cf8a4bf61da83a48fc97e827702e6e9ad1b0d0753eb891af4e84b0dfca6";
-  sha512.doc = "c2f5a6d696ec9acb3567c3fe8e7b6cb4e4090a4cc74558e61f67e168aa446a1064f0ffffc277c3e56520b42117e3bbdf63c0644e3cb055596b018b793187ac91";
-  sha512.source = "7672e0c592e65acabd2a14dbc44f66339ac62880315d9a2d7b4386ef7a6079bc0360be75a4224eb3e19d9b2314928245addf4ced415fd470a796f1e779a6c09f";
+  sha512.run = "23466ef3b73d8476c69632fe0c701f3ec675250b534fb4451cb0dcaf93c30a649ca07bb58cfbac89054cc31cc1219daaa1e7f746e6689927573175d42f78bfc0";
+  sha512.doc = "771f51f52e47aceb7da064a0bf8ba4b19f0255fbd14d3b6d301457ad0dea80836f3e4c449611f5574c12e87185ab5ac9668404c5f1f97100971293425c7ecd13";
+  sha512.source = "6112422b62304d0dafb8e4fa43239dd0899327dc952db6d1179af684049b46482a30675b8c44be534213d9b2fd9ff6bab267997bb0b08102e35e1ebdeca9956b";
   hasRunfiles = true;
   version = "0.6a";
 };
@@ -18754,1935 +19241,1957 @@ tl: { # no indentation
   deps."latex-fonts" = tl."latex-fonts";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "3c04b6601e0e18daefcdb52080e72f8aa623380a3dc093487ae3fc21bcc5a4987110e36315bacbf4e6383d32577201c06d6b2d45f6582da5fa0332a4e2d3d38c";
-  sha512.doc = "0e72ab2877b4239bbda86008238c914090f051cec6631a4af94621e12ef2865201cd1bfcf915e70e6949897c63da4a501f57b5b8e46edb0d3d59b14943a6648f";
+  sha512.run = "61f3712c0422eca9663cba6159a98ee20fc902e8c2afcebe700239958a97f948e8d02af04a5aec779751cd13f9d000128b4d6acb4b6d00f95164775693bd7f37";
+  sha512.doc = "4a4f957ea1d27c25a4a5ca5a3aaaa7be0d65513741112512dcf65c4326c81ee090f371a6f8787629a8a7075344d8f8150da006004945a5075bfaee095e1ecb95";
   hasRunfiles = true;
   version = "2.2";
 };
 "mmap" = {
   stripPrefix = 0;
-  sha512.run = "8ba688e31dceb7d22213eca41ad50b11be4d2c8d177c29ffe8908947c621c5ec99b0c9102e34d3584059225a2b0af4c60306df9741108ab484c1f7c621c2fc3f";
-  sha512.doc = "712d5efb341d3bd3dcb3bbdd988cb7f58a4c638605925db500d781e2c7d2ed8c7f35084c31eb4758d895703479bba56c772ab6fe56458c206044dbf48648e949";
+  sha512.run = "a2427b9863ef37385507783dba7bdfd65bf022d1c7322e7560b78222c3d4e0ddfccfc70aa927196e64ca1a520e985eea8cb78a4129a39e73a8410bc210b801bb";
+  sha512.doc = "95a71c9a9b9cd46c1723c986ba41c29a7204fada2cd7bdd14ebfe5e0c4e1b06106f9c13469edd9caf0b94615bfbea9cc8a1f56a4f83cec37de481b39d2b4bd91";
   hasRunfiles = true;
   version = "1.03";
 };
 "mnotes" = {
   stripPrefix = 0;
-  sha512.run = "a44cf6586951f9f32f975869880c694a0218c6477a573b109b9f9e2f9001313cfb04a4301748d02aff56197c93faabb5db4a39fabdff980b4509ffef9964c3a9";
-  sha512.doc = "b0d8ef4c7481549aaf461b55ea8e0d8c1f82cf2aa42ea1b0b889e63f3c786615818768eb52b664e3e0dc71627199f077c8297498e6471af641ca287007761669";
-  sha512.source = "cd09675b23bd12489bbc35f6b7c6f0c36562860f0020de7d9dc265fc52aa4c9daeceebd2b5298df855970aebcc0475a63ec221b7bea602f7989109e42bf7461d";
+  sha512.run = "f95e4cbe33ec00e62aab2b3b9cdddaeceb762ccc34b736b8e2c0d658b3e871134d0a0b8805470f8c4e148057c513dad9cbbf6c1d5076843b2b2fdce03c84dd09";
+  sha512.doc = "58c3d8def0ee368f1cb87567aab160b4af10de7137de1901f4c6428531f1d080146ee5cb7f0be73a09216d0aa5580bf4baa8cbcca4c7801a322731f88cadf2ec";
+  sha512.source = "4c0a9077711c44601ab9933cfd46b1ed8c5bb1866fb40ac0707100ed9173bdc67d59f7aab91972e6150ed65e385583dfd9851479c8f0cd651f61a6ab6fe39946";
   hasRunfiles = true;
   version = "0.8";
 };
 "mnras" = {
   stripPrefix = 0;
-  sha512.run = "23bf39cb10bbc815acc3163fcc12548c6aa62e70bb2f513e09b9a43f040a769d5a1e3efdbc22beca5ff7de78199e960fe5b7d793b5da95d43f5a1934ce88e7de";
-  sha512.doc = "6a650500cbb8b6eb270378489379f1838095b9381d0363ef9e868f7af8c6e167e33d63e9027f2f65595a6102e347405954df1b3ade037ec4524b946e35046126";
+  sha512.run = "8c8c49846a2bac72383b0481b0da0cbfeb67bcb0787815d3509e4b55bf5afda5f3aa74f44d03267891b42b609b1a10b1e1577a02e9a3e4c8d9cd5ec57585e9bf";
+  sha512.doc = "e90ce259881ebc34dce52eeef5b6eeefe1659a3e8b4ff5a749604d5f3061d38e1cb749d8dadce757a173c1174fdbc9bb3b272ff1bc344a55ec2dbe946e90cdb2";
   hasRunfiles = true;
   version = "3.0";
 };
 "mnsymbol" = {
   stripPrefix = 0;
-  sha512.run = "59743d33ba889498dd316220884314a1a8a15ecd761f591fdd1df2f79bfd44fd557609efde7a50f23bfd502225688480d8a7ca5ffee53735f3efd28318bbf674";
-  sha512.doc = "53fd0db2dc9817e8c5804c15fead5b2d3b935f1339096c13ea626133bbdb0b6a388110b60082d17864f6a82808831fb6f1e0387b6959d65b7ebf3592137ae410";
-  sha512.source = "7c427aeb3ddbb2f916b7f8356c298d32df0b945fd9ee5fb00b51ac95528ca78b8e41d6c0a00a633afd88d94e6d0dd1ecef0267dda67154a313632a451bf6f608";
+  sha512.run = "68df6dcaca1d2f3b743c62e205a22427152ec6ac1deaa126e7511842ad7817ba4a7a232b72b45c6dae88d930837f46597c5f89e50b1057ba313a590157342ff5";
+  sha512.doc = "bf06a1534665ad50d33073e5d7332337c05f5d5315ba41af399f73f98d54b22a0610c65fa0e96b311925f40bebc1458fd0f0fa9c5fb41330f6d0b9b49aa12aba";
+  sha512.source = "1d622e81bfa0c2e61ab64f058a356e66c98f75a2511728bc49c6cb3d998caf132def2f092db7ff18b4283829e7c118368fb09a39ba2e9c05b0a0be5e4cada210";
   hasRunfiles = true;
   version = "1.4";
 };
 "modeles-factures-belges-assocs" = {
   stripPrefix = 0;
-  sha512.run = "02e958b183640a852ee11b588c97c60d2470e5ae247e3ecf0f87e45889b9f439775f33c402be9eda9398642cfa8826475db480500b865f546dd22806fc5b4ce7";
-  sha512.doc = "ba726c8f31a7aaed42161893da27987497e9c581b76e9b3318a162492b064e5add380433843da268dd3da6e027b6e02fec9f059bd34755acc6361196ba78adc5";
+  sha512.run = "870cd893fbb3bd36d9af8a35487fb47f9afeee75c6093fe3fe9167c4db4f0365499e0fd87b4b3debb0212076d1248902014fa374df3fca79108965bf0c3bb07b";
+  sha512.doc = "f879904a96322990beafd7e444040b11fb9d69e93d73df5e5a159d70fd8e033d9a137e1bb4c54e4bbc4f8e5b04151336bed77aab0b46fcbeb531b346855df920";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "moderncv" = {
   stripPrefix = 0;
-  sha512.run = "2e96c327cf107d3494b2f76ee1fec3f9e5571579b29864210d6084f53cea96177bf6f452314ee201a8e3f62f4975c79189571b41dad2fa382d92876109bcea5a";
-  sha512.doc = "23a3fb70ceba7628aa57f0e45a0fa3b7a40a9e9b265733b98ea5ca2c8365cd7feb690bd596f15d64a8c9b198b04c6ec034ce9e46f35c621de981eadf847dc485";
+  sha512.run = "0d175791a9d10d0fa9fbe2702d663ff94d06f5486aff2b8563f9dab1f18305be0e29cdd050cc6e8206c07adefd0811a614589f7afd1af4fe37687c7eff229b43";
+  sha512.doc = "3dcad35776d47e27e6013545d28e2f6891eb538775d30966ac89aee8a8d4111d86acb2dc51e546070c818731ef6a7d753a55939e80c2cb5346c5b127e7e63b77";
   hasRunfiles = true;
   version = "2.0.0";
 };
 "modernposter" = {
   stripPrefix = 0;
-  sha512.run = "2606c452964677548a8935271f2fa483f592210635ae5fee851a8ddb3aa5428324a5262e6af7f64f3bdbae6e1288d12a19b5b67d8f3eec865d6a9a1d9a8c4883";
-  sha512.doc = "9575341774c05f15bc106c8b26943b8780f7221c4c766502f95c351de04a7ceddafb25c99a4fbe520f0cecc7c4d3b39e648259751db53c89e3dcd0842cbb6d3f";
+  sha512.run = "d631f058a0a17a841d4026c43fd086cbefd50d0ece85563ee81e34440650bdd7d3db6dd6f49d5e74278872961300bbd443b896586f5c7ea00a9ff816ef20b7a9";
+  sha512.doc = "385c8b97c57053d861d72b4f10134cbf2d943e4bcedb55ec42bff51000843db3fe30737f7ada3ce569c1d96584ec0df80afadc39be98c16950828647165f6801";
   hasRunfiles = true;
   version = "1.03.1";
 };
 "moderntimeline" = {
   stripPrefix = 0;
-  sha512.run = "dfc86b92f8ed9eff0c8e298316ac74bf120a983b4f2542caa2f76cd0e8c1e8929cb36421f6556827cdc8ccbc14cc61177cb5e585decf31c258367368f0745631";
-  sha512.doc = "eb62a7aeb0667d100f447ad9c6ae4bc8440f07804098a2afd7ae8cf89a5824769d2a0b3231cc13b7efe2bb56cc7feac9bc18958cc0596ce429c5ba7cc8478211";
-  sha512.source = "b14e7b05835e3f414c0691dc13fdf5ff2599abef3f0bde6f497f5002211039b69fa7c5b69833b0c98ac93125a93111e9641e334aed3a12f2f6773a4fde0be980";
+  sha512.run = "a38ab33c0ad2384699954688bed05d9ece3ba54107c962dd5e76fcb586699887ad5553dd12f801553ffab5e7a459cda9a9178c0d37d6eae3796766fed428058f";
+  sha512.doc = "dd5f43c4287f5a5a23366c3cb982afdbf3385da2c19967e3a77ab42476536d2ba44887fe5fa657f18285448b0d7d3ef99b6f7003328924967529478e174625d7";
+  sha512.source = "4a794bd422b800ad7cfc41c47838798b6e1f3eeb9f7de10c4c6f99d4f2127b8f22e0d31875bd82595e6a99d5995648a70bb006c41dbc70c50379e8d37570222f";
   hasRunfiles = true;
-  version = "0.9";
+  version = "0.10";
 };
 "modiagram" = {
   stripPrefix = 0;
-  sha512.run = "ceb959fb011e8d3c87eeaf4d01c6a216f524a47b24c4504db0137cda4355c67f11fd72ec3a5f94335867307e0298745ebb203fc28d116319b6de21edf36a8257";
-  sha512.doc = "5d053069b720d41608098ca05b42eb2c58429ab29c8d1e5d8d8d894eaac0f0ebd51aefbf45e2086f453b79080750514e108b05f2d3d949b139d1eac17d27bde8";
+  sha512.run = "7a84caae8d6811bed003266283674bf364d18b9d3cb01a440bfca97ee66124b991b4a3dfc9edd07059f02e047892d8cabff81bb0066d449171b669cc872be2fb";
+  sha512.doc = "cf1ffc9c60773c8860cc4c0021e6af82a719aa02d1ae7c56dc332d1e2fb6bfccab85c09473ad8f62a7219703d792cd4bd9db311834a35a186accd4857661ec37";
   hasRunfiles = true;
   version = "0.2g";
 };
 "modref" = {
   stripPrefix = 0;
-  sha512.run = "cdfaad53fb89fb53e2d0bbbdb3d4f8cfd84f3d4bdd97a337c1b3480647dbbe43ed78b9a7a646257d6ffd422629d3f1a87dee997eb09ff46229c2da6c6cfb349b";
-  sha512.doc = "d1d9b3ddfa84b26b2953fbd2443b0cdb9e9ddbc473fd4aa602cfaa3809c3f11b9aec33e88c1604e7309c26eff1a28a758020aa6729fa0285de8aced5485b1257";
-  sha512.source = "1f9b8e5d9142737f6322d3d23f9568cc04ce7cd241c0532011c5ca059a4ca68b5a0db19244c175943bc9d876a81215c2e9f52f50d111a7663c44ec20dc4aa975";
+  sha512.run = "ef5d822fedbd5026903fb7d2630a837a3a1b0222150ee1a9f72a54e13d626a0387abd1fc20b18a257714c63cb65868ac885f8340d35c5453b42323da3b9b0782";
+  sha512.doc = "f7539376630672b6fc67821045eb8c891b4781d233e1b914f8fc5c255fdcc57ecb6e5ef4d36ae72ceac185e8d2e4aee42741538f27fb3ab1f5160855cfbc8def";
+  sha512.source = "370a7287ed60084ce3d92ef722bb1b1c5f49faf6563a154dc2fa2442a60eb2ab06ea1c82d63e5c887b8aea859f9e647a5d80455f9cc87746d2c9be25f4920b47";
   hasRunfiles = true;
   version = "1.0";
 };
 "modroman" = {
   stripPrefix = 0;
-  sha512.run = "df2a7728ff59f548733fcf9221e86e9120a0cf3d84d71bc887caf8ccd914ef4d2fe45a14c705edf9369210997723e95b409beb714b0cd0cfe04bfaf26eacb1ff";
-  sha512.doc = "86cb5f47daf5e1fc3ecc77ad5a052edfba30d1d3b7e37e0d8720870e2e8e4448ce94bd2887e4e7a7925c030c5f70663505246504e14358dacddabb5f94e63901";
-  sha512.source = "119addc4ea61473b60f54d6e5946914dc0c9041a1040a5a5ef2d31389964525e1d1eaf66b0076cad30dd6e571c8495415d5368eff82845aba43fd3d21ce1b4e6";
+  sha512.run = "3314a474cdb88e517fd16943b8f1f1da252608bc5505bd91581e87bca19ea317718d36694abc670d471d0028dcb5fe502a3be1b1294604cecf619de235fe63c8";
+  sha512.doc = "5c6ad1cdad66a5a7285b7c51074f724670880d4417df45cae51e5b3b35bf5cf99f374f7abca73c7ae68d12f626e4b9bf0dddd6b2bc94250c4e6146598d4c5ac6";
+  sha512.source = "21e8a2bf6f1d58800452dee77d7a7dc89bd8c952ced6f485b42a2e0b6300df9c823c23f4ab3327d9a367ef8e8d6ba1bae27d3c9bcf875270053c7fa65bcf9f70";
   hasRunfiles = true;
   version = "1";
 };
 "modular" = {
   stripPrefix = 0;
-  sha512.run = "9cf7e1f3f40902a747d9cf1922f6c495c06594544030818471399131818b92019e3461694ea4d3e7dec0cdd9c416048bc50b2810e3262119cd9f055f29a98ecd";
-  sha512.doc = "f61f9825b056ad277dbaf02f1460f4e6df5b85ea3c26482db0a9540cd0e457e9b3007da31e5ecacbe07c260886d99c9b74875f315027e24cb158a8a4f43ebc1d";
+  sha512.run = "13d80f572497551551151c35ac32c09cec70cd40c6d99d36c22ed84bcef509cbfafd511a8e2e284cd06ab1a57f4be7fe556d7e390f9d30135bd20cd49acf362a";
+  sha512.doc = "7d7201db0a2791700748d440fdc5cca9d8d274ceeacddb3715d99b68b4c04f52949e8b9897377168463059deec86177470a997bfea7a32a2765afda713aed499";
   hasRunfiles = true;
 };
 "modulus" = {
   stripPrefix = 0;
-  sha512.run = "8b218f1395461af4f2f10a92a08b085b6989cac6a601289c1e513273fb13844fa2b3fd53afd73763eaa4638af287ab342d01d573fc8df02776fbd6e46a1b06f9";
-  sha512.doc = "a6e64d463aef61a854ac08d71da9b71f993ad53d1ae65130f2d909d35217663188830ae5f3fa023ac0242be3bab64acc8dca5e7b4905fac622ada355785bdb79";
-  sha512.source = "c47204ecba59067869eba2953d2b96a49c2853069c77ea0dcfff8ba56196f4a4570d122fc89d22b8f22da87605357b686ce0d14b6f2aa214ccce37808f2993db";
+  sha512.run = "e5dde62c2e0730befb63612bfd6ea3626463db85b74291df5937d8f7e1995f6b63c8bc6d7e08536ae761457ab1e9a0ddeccf11afa4108910561075dcc03201f6";
+  sha512.doc = "965d03005ef257526ffa6667d889a4b238ca5314f4fe8714bc8219ace1e909eb5765da6c0dc94e9b312635e0f9ca096f1d14364effb0045ed467da7c1d735474";
+  sha512.source = "0f33d1d241e0155eae39875b0ce72019740771c2e36b337255a0865cabeae78c93e24d7f7eddbe7cba9ce312090b251b26a632c260e097a2619d35b47fb050bb";
   hasRunfiles = true;
   version = "1.0";
 };
 "mongolian-babel" = {
   stripPrefix = 0;
-  sha512.run = "47ee6171ad7c77e75cb72814dc207a37118b7ede9ae07f49b3195063df282c38531970f294755e738cdcf7e0bd24e6f0b8917a54031bca9378050cfc1832c62c";
-  sha512.doc = "0d850947c85a023374bd4a404a681975259473a0e414fa8057868aa759e23581a2b2feaadbc27d0f8a4b7acba7c44fee0c95bb3ce7b45aad21dd8ee69ea27eb8";
-  sha512.source = "aef1f22c944cee374f8394127bf6912f3b490b8c368fa400ad8c6be7809ac6d66d975b3e70399a310b54e580e8865c5dc722ac5f54fdc424ca04ce4df13dd7fb";
+  sha512.run = "a4e7abdc0b5817d88ad442e693fefe79df224a74f37d09b630fd7ded16e1335f563ca00a26aee8ba4b46b7516c0fa2f5dc9d37ec00455b11223e46a6e289cc01";
+  sha512.doc = "d0aa4f4a7f1b22d3d3a6a96b85d4d72acb71ee6b1374b70008b966ca2401b7b9434bca675601cc1cdf2f013520eb82c2cb193634b3ac9f9b9d40a201d10dbd58";
+  sha512.source = "07e75b2c9bb6c7596d698e0f31d8194ab5cc4e06f5ca472cc706214c342960378376406bdc0eef0940ac0179e989a92af496069ffb25ed75f5b3a0d5fe639517";
   hasRunfiles = true;
   version = "1.2";
 };
 "monofill" = {
   stripPrefix = 0;
-  sha512.run = "a2f8ad3ddf134b934c7095d6a97d840ca17c62e5726c9982ead20586986d8000d8aaaa5a07459af3fe9a243fddfd2818079715da616ab6e4d682fa23673a113b";
-  sha512.doc = "ddd1a1fc6fff098cd9327a037bbe32f5755141dab82f097537e17abf00e73485466feff0eab1ce1c6bc407cb234d18161711206dc1e08b28fe1bac3c07d3d717";
-  sha512.source = "2e9068bfa3c95c90cb83477f2d834e513ea4e2c85328dca0916cada22cf5295a6a7c2fea37aabd4109813b7976640114e8624731a1d89a833f820d2687b4c9c7";
+  sha512.run = "6b9a45c32bd44aa01119c7bd8304ba8e5953422c14bfeaacad20f012188f9204c19f432719c74d9481a00611a18d4ef1ba2c1dc858b83b8a25205d40568e5fa3";
+  sha512.doc = "edb00621e74238c09d0ca0c04e5c57589012ef2272f0b470345845ddedd647c73fffc0fcaf4741726214b2419e9581127375ba2b36948ec73f4caef561c3e57c";
+  sha512.source = "fba90d74e9b12086fb4dd431eba4bb3349a83a2b839db1f1a1f7f076e3568cdada03de56570bd38e937eb51a76990ab39778a1832ad233067025ae24877b279d";
   hasRunfiles = true;
   version = "0.2";
 };
 "montex" = {
   stripPrefix = 0;
   deps."cbfonts" = tl."cbfonts";
-  sha512.run = "8b045195f3ffcd23e87ec68bb32bcf7dabaea924c2b02cc5854161047449cc344c5a5b26bbbfa54d1ca43d1aeb438339f123c8dc5cd29566d0134de0fba637f2";
-  sha512.doc = "7cd9792d75eadc63a00cd6424dc31e24b7a79b8d5eff28d8ccb8c22d829c930a9624043895885c7f8f046e719d6ff53fe436ea19414b561fa344db28c29cbca6";
+  sha512.run = "9676cef9e0fbe7a0196b1ea0fb3ea4f0399a3ee8ed76ef06e824848a57922dc4f7cc1f50a1fcea47fc265465407653447ab80e80dbac3c4bc00488d0929f87bc";
+  sha512.doc = "1965f31e28a9f54d86a495b4b8cea50dc59f409d066918dedf77f86448b60ea547565dcf2069ee0e0a646d53f34d244868600951c4b1a4d4e099fe50e3c2b477";
   hasRunfiles = true;
   version = "IVu.04.092";
 };
 "montserrat" = {
   stripPrefix = 0;
-  sha512.run = "b9d68d28b298464a2b8815cb93cdf6b1f729927a198d793c07251a31b463dbe95d16056192b3dc16e9256458c7e0a7889c95e1dc994c668d09b2efc2677225e2";
-  sha512.doc = "d3f42720603eda54039d3d8501e31e41b8598e5427c568eb597b7a607b82ac0ec9ed8f6099b030edaf82780dcf4301b92e37b221f731f548ca2cdfd1715438d2";
+  sha512.run = "10f6a7bbf0d3ae2ba7d859d6e180e38c01708439cf27c89f7998aed93eecf85096f368094ddaecef304e00a62bfc76d8106842bcfebdb94b2a5c8ed27c51825a";
+  sha512.doc = "63db767833f42d6340955aa67e0cc48fd0edf9e47ae129cd4fe39caea13f6613142a0042d97e366eef09b935fba2b3c27dd473d2cf7549d235fd6ebf27e4c1e6";
   hasRunfiles = true;
   version = "1.01";
 };
 "moodle" = {
   stripPrefix = 0;
-  sha512.run = "34d28fba1f52fbf4bf1d2407933da7160da4c153f944da8e3e1a0542187bf78ab3c8f743272bc83772aba09b2ae6aaf5356f0926e4bed8f2e3c92fe84b985071";
-  sha512.doc = "03122f73ed4d31b16a8d514368343c6066523b9e88a55d7c628ac2d86ab5961f3214c4c98f786e43ab8bd6f131395e61335dcf03a97a9e887afc3a05c2b29d8d";
-  sha512.source = "e34ac82c7d21cc7b956df9cd60a9be134f8629481ae9cd34f956a788eaea9f7f5f9430b677f3c2f2f47d24c6c396169c2da11f04ec4537195a7abd79a905fd2d";
+  sha512.run = "839db4d5082703e0b6d5516b6ec3c18b4fa4b449e732904569e839028bc3f7e27def83c56eb9929f65b0527cec9b180fd743aa3d0df2194aa6372922582173ce";
+  sha512.doc = "9448341e5c33054a39f6990b4f7942f45fbbd884cd5691fa8c0b82fa1b3f9cfc887a02edadcb0df0a7a62c53c9f4b20496db5e6e9ecca4bd6ce8bddf2749a71d";
+  sha512.source = "332251d2357ce64268a1bddf7e77f28f7cf4be10846da84c1512bb39eb804e671f38aea4843af0f1357307869794029c259a52f6ab62d96736fb691436d841c4";
   hasRunfiles = true;
   version = "0.5";
 };
 "moreenum" = {
   stripPrefix = 0;
-  sha512.run = "aed29236fe5a5e8ca34b91f64759a67b5250cdf9ff16d7d63b6da4f2299ee7f324c960ea4240a0c1d75c1187c17c7eda1bddf64d4e0a9e0cff725be10fd4c8af";
-  sha512.doc = "f2a74fef3144ff0498f9c5961b2dd9100e19fa655527f87df08c905f0be407dab1fd8f67b0254041214921794b47a8ecd6eed027deb3fcce4a21ab8bc59e4210";
+  sha512.run = "069ef44faaa8847a07ad00dae31c1b63278d59a560ed90823100cd601850a798f574d8210c07854a8b1a90165efb3bba852e100e53aee496f78395e3d6defade";
+  sha512.doc = "987a1dd96669b9202846fc604fbcfb935b68c79d13bbe4599f32fab9e869ca5b60f3b4bdfcf78d3b3f5102db9ab16955ec13958c4cf3df7ec64649268c226d1c";
   hasRunfiles = true;
   version = "1.03";
 };
 "morefloats" = {
   stripPrefix = 0;
-  sha512.run = "b352cf85e7aed763c1c212a7f4471d13d995ff685b9374c78cbca961e8b2cab306a874f926dfeea41dc51fac818cc23177d48537ba82f35fb6bcbaa217149715";
-  sha512.doc = "6d12d1fade3c748a1d278556ca7491cd63623a47412edc1d6f24df0b45595e8e2ccb87656e02965565d361c6e9200c60e0d3bfc5bcc2b0ad8f9b5b20abee9661";
-  sha512.source = "c271c486073794f7d6e10e7ce7574b6bf5bef57a128aa804e036a34dce3d70e036d1dd41788c552c44f8a0c78312376428ab371c07c56d36872f70819e5a0f4a";
+  sha512.run = "28fd471aa854852cc2a48597dda19cadda3c92c589d0419b8d36e044f9c04e406037f162e1d02c1f4b20a6288efe4a689fe4e03aafbfc6b06cf14019f7e880f0";
+  sha512.doc = "f542aecb6d3868559cee66a7c153dc80cb6aacebae40c0cd0dd120c4230cd358b4d2787286cb3e7bdfb5565949861a35af65ca616369585b8f28462a2b1dbcf6";
+  sha512.source = "7f527c20294826a6d7e1c3ff390ca02f521e9b6824db41d078b4132201d1d7575cb43eebda9e66e8226ba2a641db692ae2d1f1ccac5c4f027851b75100e261db";
   hasRunfiles = true;
   version = "1.0h";
 };
 "morehype" = {
   stripPrefix = 0;
-  sha512.run = "ee56a9dc4e310aa38dfc8a51820eeea9c08164d40d8464fe66682b7274646e80fd95da0e5a7cb1edcc56e365ec38914b5dfa80944c0ac193891b5a67f0b682de";
-  sha512.doc = "3ed9324e177db4be4f5fb84df7df17aab0e5b28e478288303716746ff3eadfc08891fc5a9108719830ad82be35662948218a1b10aa8f062c0d791ca3db6332a6";
-  sha512.source = "b31b2606055b05f2d6e3de22a88a0068b354622c160754e125f47f13d1c3aba667618d1c356a64a795db75ac2a760590d464b64b50086a3589a23e325da30d98";
+  sha512.run = "698ec10d9e70dc1b89ed5094369359fdeffb663ca95513b7207aed065515a66dd2c82b4e43d14fe271c9851e72a44e9c2f6e3baa177ed9430f89e88bdd692172";
+  sha512.doc = "2600045257c75dd15320a2f188f5b043358bfdb21ce4a19af2d1a696141a2f553da42c13143d14c8ba136fb1ef7a560684ac47c5274738c747f729a00b02a099";
+  sha512.source = "f710fd59d5c99d7df8b84a365a8f8c110ac7086699f36d1851eb7fdd27ed43212c403c14d9f9105c78402b278d66fa77ca2f50a0253073f55842a60fb19b4c1f";
   hasRunfiles = true;
   version = "r0.83";
 };
 "moresize" = {
   stripPrefix = 0;
-  sha512.run = "f8bbf3bb070e8a8ea62f6297625918a4ef7eb4448f510aef7c467e856bbfbb010d0ecf433073e327eb72c15e6b3e0078c9e5e35b61d9a8de03fe49c117c064bd";
-  sha512.doc = "d61edbcf14210c746f82f37e8131320252ce3597f92f55f2eb900ed800946880564372e482a9b88a04614ca2fb8534bfb09b711a70c743d68287bc7135dea9c5";
-  sha512.source = "b53fc89ec96d1cfbd275250f79785cebeb73e03416db1a08438ff2035c44e23faa07b497f0b7d6c6a1b118a0eeb1837bbfa83e81ce7c5951f8af48b0b1c65021";
+  sha512.run = "92f67234dd9c0429798f9e8001a2d4b7004e11f2fa90130b738670e6228f45ebca3ba26ed98616e3af5c86148992f9915e3e6a1cfeb4c875fbd20fd818743525";
+  sha512.doc = "3c1ed984163e2adbdaa7e94439e160327515f1c6999e40114819d8e5250e090c932909217d37d1d07fcb108c56ec50f294324c32523995f68f57fd918983a412";
+  sha512.source = "701a2ba72c22bed8397350f92023b0b1d1587b837c4fd247dabe5860cc32e58499e8803a0286aa9f9e3831faff8b9ce0e74ac1a0f82d798a2f7f461b015b5809";
   hasRunfiles = true;
   version = "1.9";
 };
 "moreverb" = {
   stripPrefix = 0;
-  sha512.run = "085ca5765f86334a421127e1061b77a67abe1651451ffb581c53cb7fbdb1df944b00456b0cf572d79900c43e7fc99fd35913604b1f3cc9d2c0ac12957b472df9";
-  sha512.doc = "df8b481563a1654d0ff00c8d22137232c61500deee22ae1fb312bc5eb44d1308ddf2ccbc793285169ab7fe506b34b62cc8dff521f6ae7819195f7f86a5b81fa6";
-  sha512.source = "471acf53bcc5ace750c68f59af79aab1b6e6aa02f66f0a0f3aa69504422cd4a9573a89315d384800a2c3e2888449dfb0fe1e40ca145e00e9683c1729bc646890";
+  sha512.run = "673b7ab5951e418fe10622fb1a4b4a420c4c436684afbb1474c58b7aa7b235f7063555a220133257b351b5847be5e880714e44ca49bd9198a4306c0e821dcdde";
+  sha512.doc = "27e4f361f5d7193c97629debec048168045bc38e353f677829677cb5ce5c0a9ad8f5b2576bd9f870da8dfbf16d745e489ba79e3dfe6aa1da8a9cab1ad72ace06";
+  sha512.source = "55ec67b5b9616459a776b0ca386be19cb6ae57fa2a7bde1f6a1896233f4f303277474d629c884e40bcd8d076522ab4e41fbe8850304dbd33469a1f21750c81ef";
   hasRunfiles = true;
   version = "2.3a";
 };
 "morewrites" = {
   stripPrefix = 0;
-  sha512.run = "33c04f2dd3be73fda9689707e895a34221f7a11e70d0de5c18a1cfce79b3cadb8c673cf0f7393919b33591bf65e510fadf6f10f914afaea99959ade55d3cc86a";
-  sha512.doc = "84aef41f7e414c3ad6e99aa4eb7216815dbf418a622aeaa1819cf7ebdbc1ed9bafa49c6c092f75254dc6690887513e26e8ea9ffe8f844770c83310e4190aaea6";
-  sha512.source = "a28c90c929bfbb038bdbfbea7a4e700e8eb168fab79edd78ff049034c60450170cb780ff3648eea392e374ca4592ff3f938e2940f550f13b88597b577883ccb2";
+  sha512.run = "fb1f515fa834c422f628464467411a51c8c9a99f353ab297ca0ac0b63d65a7f2e05ec3e6a649fa35260a6bedb91dedda594654e83e94a28baa62764a38d9ca8c";
+  sha512.doc = "9f4bad59ec0f024d24956481d2f70baa56748c9deb000979490c001cd671dd07fc3712eca1917713775d6b879169050786b22a76e2ce1d8d57a99cd76487d167";
+  sha512.source = "21a6606687ac53e218408cc5790c1b93c9db3cef7b1f17fbfe574ee2f1a1c48e5c21a00d7b4f44f6fc1b98bd77af032be97c1cf48571bc439ee20fa6367d3bf1";
   hasRunfiles = true;
 };
 "morisawa" = {
   stripPrefix = 0;
-  sha512.run = "d694955be45673b952ffbe50cc711d9d93d8143c58f44b760733a502abdbc863b1a04159da9aae9feb2c40848bd69587069aa2f46b3497a9ab5e7ded6bb51ee7";
-  sha512.doc = "a54a78d7c64dee995ef05d37dfbb90877d7248c6256eb4ed944d417eba0213cf51cd10e69ed656d90b3edc81a6cbc817de81c254facca646a1ae9ae9ded54b2d";
-  sha512.source = "d3fbe35585895127cd4e335f7d9b597bc2c77a10725ddcbead32baab93a31a1f705fb4330595b0baff5d9c0276fa5866a9455a0ed5637af975fded90ca7be89b";
+  sha512.run = "7f149fab67905d6b21670becb1c3e3afbc8fb4c45fa3c376960e5a87d7fe17abe091af63930a8385b5bcb63e550fc0b9bb16d522f50f90b911b09599dc5ccafa";
+  sha512.doc = "7af68b3a8233cec22efb49e8131c65e33db4076ed4f254f2d62f629c03d0122e8dddc3ba68d283affb5ca663d3b1f744780dc98c14eadfa1a69028df281e5bb2";
+  sha512.source = "7e3821bc1f5dad076307ebf00cacb68cdeb9e18a060c9c024c0fea85c558f7373f214f16952fa643f8b832376101ec8c8bb839a902e6e8213912a4cbc10862ad";
   hasRunfiles = true;
 };
 "movie15" = {
   stripPrefix = 0;
-  sha512.run = "58348557bcd037e0e0d645e9d7f1268620960857374c3ddec6211708f9ed01fbcb856da15b09c35105a61740adca269a9ba40d8b96e4216c0d7b54a0fd1f3978";
-  sha512.doc = "a37a02d7a18cc5f25aecbb15b2b3056c6d6aea33d57d70294a624070f020262f3d8c4e74db1dc933c7c63b73959b261e6c2a42e01754b90e3f02233a2ac9e789";
+  sha512.run = "a45726b24f76683c44b0f006d720695c14ef51a260fa00f3223a075e48173638dbc9d9d361fb4e1f8f567cbe80f65d990aae485b669901a50d5b18750640b103";
+  sha512.doc = "4df2fec7f0abac6ef4d948285b3156bb9489a3b7b18939fa109abcd9c537e383d505e308516e1bc852aa5c5bdd6b8825e8f7e887c9787d7c2d337124942cc9e5";
   hasRunfiles = true;
 };
 "mp3d" = {
   stripPrefix = 0;
-  sha512.run = "aea4ce09e6290a2dc8c0f113156f2f45b020759ef6782869081a2ff60cd40f205e09b1b6187d8e54adae4bb936216b94f6491c02e4a1039ff0909794590de36d";
-  sha512.doc = "dccbced8d142239a8302a24451826fded826ccd3a0228f7a1e2aee7b03c45c301dc644d376511fca4fa1cfdeccca76e1092f2836e8c9c0ab882416bda377cbc1";
+  sha512.run = "e5899aace25cef3a690150cf09e76bddc008f426800588ef7d21361229b0040dff74af7b43d563b05d8c3d16166e34b5a21e8e25ae3e97ca80e5ffe5c4925392";
+  sha512.doc = "2b64199f50ae5b0e6528bf041ac2422574f9adf467183f3ee3d58ebd91317ce25937699be29d0a5954565a4fd326719f11bc04a35cb4938489696ae479d5d7f5";
   hasRunfiles = true;
   version = "1.34";
 };
 "mparhack" = {
   stripPrefix = 0;
-  sha512.run = "b6aa2a43966fe6203f571160004be3dae60abd6787545cfc0ed61227a3ab845ebbdac5139f417defb7857d0352e25e473a8374c2d919798e438785dff3c71601";
-  sha512.doc = "3ba53ee761fe9f1be08ee0ca91950d7494e356149cc1c083d3faacacad71af484bd09f067bb0d53056453369c121c0953b05e4cd4868e2b836a9d882ff0c1472";
-  sha512.source = "68e2a8a8a424f4a09b468a3826f658370032d26cea6d5588f787d01c1a61c0632ef0a7ba252248962d85f610a620ba25718fea326f9726f9183528862f610d98";
+  sha512.run = "9f050b6ee0aabefe384f4b78678620b8a15a49f0582cf22caf0e5fc2b1b975eb0bfffbfe91165a121aad6d358044f97be410250597fd31b462630aa1e32ae96a";
+  sha512.doc = "0f28a6dce33e14636bf5515bc1395a80f9ced23553698d9db766e023715554fd87df292836c669b8492844c559eefaca4c4598fbee94db425c419dea16e90ca3";
+  sha512.source = "6c90b951bb47450ce9892a84e72c37083438682edb36393895d25d4499f8d5c071c969f830cccc229851a39811fd04593c6b7425a2b0ddcb134b73f7faa2a722";
   hasRunfiles = true;
   version = "1.4";
 };
 "mparrows" = {
   stripPrefix = 0;
-  sha512.run = "939d331a3385b951a337c23c95b462da54590f61d871d3ab6dc618f3ffcc650e8af739aa396b0cf40d9431e0825ed3407eca405906da3c50c7a8dc84f44f1fde";
-  sha512.doc = "1b946c5b10aacc8664d9e8f167385f462c1a43d400e65ece8a57a52480ffcf172fabc8da8ac3376fd40412eac9a34d6f6a0184405d2a70ae89f3a44d5349ec76";
+  sha512.run = "58e4a909374486cd2d4313d62a49e4e30a5e85f8ef2cc0d9a7e734b546ad8b36e3bbfb96f3eecaa9c10b8d7b3b1557aa9e0b5dae5b4547d42cabc64d2f2949d3";
+  sha512.doc = "d1ca204228c1bc76d4f15257687a865c650fa83742dd126b3d7cd5e93e725b2da31eedfbca9a86e93eaa08df487b0432cc41f0d4fd2f99951f874691acf47016";
   hasRunfiles = true;
   version = "0.1";
 };
 "mpattern" = {
   stripPrefix = 0;
-  sha512.run = "6cd202f5ab5f5da84ebcb2bf04f9fc196f21e9a447d312fe2cd181a0e3fb256f1ea6109a7b0a6e35ad58596a5220b807484cb73eb18d8b9265171817ca7c1457";
-  sha512.doc = "4c735bac2c430d63d961c2e9b6370b74719735fe2106ccc52d9874efb414b66bd5c3aa7593ef131889a6cfbbcff6c0221c8460e8d89581b4a184d74538745076";
+  sha512.run = "1efc3f1f1c93456a3038ae5037ad5dcc4b177c57852f7db475a7ce6d2002559b370ba22dcc6d312c68ba75c03523cdf0df8546fff8dab032832d3ff3148b5d65";
+  sha512.doc = "4ec7cadd89449ca049fdd723de9e29f20199a630fc28585a4802e3ce3666783822e4f0769907cafbfb0fe097b1da4a08d3e5e5f4038ecebbe9fe3543dd3413d6";
   hasRunfiles = true;
 };
 "mpcolornames" = {
   stripPrefix = 0;
-  sha512.run = "eba0a6fcad7dede3a040e7cbd63c3eee3dd980a66f76f54353183d06dff4fd56c06eb219d42bc806ea5c0624447b8a3f29452c25be5af2d8a0fa8ea1257db9ff";
-  sha512.doc = "a34c39c5a0d967987a7f932174a583aa2564f0b86f42c64fba45bd09c4f8a9acd1f5446783a862f9b0fc16cf246e4a72f8b739b03745ce8f257aa855683c0af9";
-  sha512.source = "fad89f7e49d9349b94bce228d82802137ce4defd4c87c0d73cd9bc6be9ad44ab34165c0f3c611aaaa03347753b0b05bf3292ea85ca5df9128ece6562c89499a3";
+  sha512.run = "9808706010059e8d2683f88a47535b8039049681e5a9fdc013cc384bcacb1910cc7ab2f7614d35ed964c28507bf5fc062fe4db852afa45f9d9383c367838eeba";
+  sha512.doc = "bfb9ce4c85de655b890948897deba96a5ff60cb7518b3e198cd0b088b63670531f29bd84dbde4837298a24f36dac0652f2d2d3491dbcd7ac8f9e57de6500c6dd";
+  sha512.source = "ec29085382f6464b10323680488140b483aa09c9df050806a154fce60bf92feb7d4e04de444d0fb4b1623c6ea3506ba619bf0fb2477f048fd4c5f2f0be9f272c";
   hasRunfiles = true;
   version = "0.20";
 };
 "mpgraphics" = {
   stripPrefix = 0;
-  sha512.run = "32c102e3d8fec947210609f45bd84b22942c17c61cc29faddad24caab660ada928ea18e06028608f474c55f03af36836984821b341cecab3973c8421d6b824de";
-  sha512.doc = "2734d766809a8fc741373c578e0f9dfd15c0c9f5e0ac55b6a5211b1b44a9363f691723e9b9ab8a887e95ff0fd73aac5072ffbf91b9873f2a1cb2a20feb98aec9";
-  sha512.source = "09561eccc248288efbedb4e29a19ac5eddc7e0ccaf14242c6b8fa97749c0bd6c99f0db9bbe030b5a3ff0f2bcfd092ebcbe599db6df8e0b67dd65e75c1ab5021a";
+  sha512.run = "5d711f7a981f701e11874916fe8d22fa237404dc119fc2d5c8f8e9b3eaf8feb59a63023ec30f0c67d304839e4971288a669d70a697260af35e401edf00673adb";
+  sha512.doc = "954c8e3a8a0deafea163c9bea9da6bd1c27fcc9b5270408fdd29f0051ece1f4138a0af99808cf85279823cb48475b8e21b3a450f021d678fc5b2fbdf28e55320";
+  sha512.source = "30e7324760efabffddf6920362ba213eb05fce2658d9a442677a2f8f322695d5a361b1d183c4f775b289ac116d586e2466be46d4ea1798cde251132b95a98bdd";
   hasRunfiles = true;
   version = "0.3";
 };
 "mpman-ru" = {
   stripPrefix = 0;
-  sha512.run = "c94124d69f09e0a3b07317f8d426a46532fe1fd15d807c68e4f6955fb7a6848fab81ae3dc8f44118a69f8be866dc0e411d5530b4c479c430189ba39a9aa8c7e9";
-  sha512.doc = "1bc1ae9c56662088f81fa54b101cb4cba68e03116c44754d58ed24d2481b6e312da30a547f471a988c82272fc3e314e5f1c3592103c11b4f16479fc95ee5ee54";
+  sha512.run = "e234fc25e9d8e5aa89a59e21186a16de3c695ce45c9ee8d132546381cb18e9be681bd4ee9c70bb10b4769ada5e5874b500d2a3cd7d264d89610dcda35fcba9a1";
+  sha512.doc = "57f2449eaed3651b808095348f056fdfa90b00979ba2e21fad120efe096dca9a9e48474e9dbb539f347ffe20ccd5582f4815ff4552c54e9ea5f9df391dd75edb";
   version = "1.004";
 };
 "mpostinl" = {
   stripPrefix = 0;
-  sha512.run = "044ae741c4667a815366bd2b6149356af758a876a65a738f90cb6cf84c570367fa469bdc19bd6c02a2eba672e5c8f7c904fbf371a54700d6c2faeb8778937445";
-  sha512.doc = "5574a88b0498679134c643fabe84d067874d75be6fe5acdcc55931810d9592bcb6ea2866461c6ea0b2b3b946fc1398dfe5d01a4aead385f59e1f6f2d1a3ee907";
-  sha512.source = "70c181d6cd077501c0d672e749049c80cda886bb5dd6d4e617f90bbbe41cb73eefa3f3b1b0a81e43600513d1d1c645d2fb50ca48d387b46b96282db88ed1fd94";
+  sha512.run = "0749fdf4c54efe9b8c9ed9f735a851a0c0b08a9092679bbb80eb32a80ed6e7284094a043e27721dacf8112b6898a8c5f47bf0b0dea4af9082a40bead0599ee76";
+  sha512.doc = "ad639ec50e5b71a1ef02bcc04cb1c0b195e9ed2cdef9ff8e145d17cfb34dd853d96449620f5d0eba614154cdf6291902316f4fdfbd179a112cebbe2a059acc70";
+  sha512.source = "44ff22f1fb0496422dd760b786174e520643ae9c2b8d3b922a08f9e065708fb4c292169e58cd328381c29672d0526c13506429c55eb57100e96f876324e6fbb6";
   hasRunfiles = true;
   version = "1.5";
 };
 "mptopdf" = {
   deps."plain" = tl."plain";
-  sha512.run = "d9f43241070b10241db18e1c513208b708330445edd052967e8a445378507b94859052b20d44436aa7919cc3d991cba101dc9a3092a11f722990dd8c0c3c08e6";
-  sha512.doc = "0778bc8bc04f233674266cb6da1db8a788b666994e2c91b72198a4b8ce721008f72e14928bff3a62127d1f0d98f76b94b522e2654287b87b3a4f6d08963b1eed";
+  sha512.run = "3960623583dec782191299a72261e41d85a636d6d630cbde0b0c85c5ff84263699e31bc4ebef674dd516cdbf9089988b5ccb8afa8fe5bf9134cec927d8078c22";
+  sha512.doc = "a80bf1cb2fd0f7197162d0b3cdd2e7dcc084f3745e92273df8e45a989e42bbcd5522b9cf5aeaaba597c29b285181e48e08767b63ae484193c67d42b47479c6a6";
   hasRunfiles = true;
 };
 "mptrees" = {
   stripPrefix = 0;
-  sha512.run = "ba988e8130c79a6a23ca3a6686a0a254b7dc12be92a6ab8ad2ff7a8ea425b9c0cfb0ac21233e593d33c3bc0c6ba41a649498fda823d6fc2fc64df600e82dc733";
-  sha512.doc = "26605a6065f437719c3451bdd992891f0dddff9595f1aa06d1595ed63d1a7022875ebfd801cd2fede62aee75f9f7800849eb59b03391d0e14033a4b3f78f201f";
+  sha512.run = "c495bed58639226b0552dff1d2e7c5e97a60ad4fb20cef65cfd873feaeffef4e0b7672a33d310576c042a94d6d27141056e8a56c0bd5d648841b860a3c1919de";
+  sha512.doc = "38935dd6694e4c731e6ea8e8a1575ac5985a24ad5d1e05d5766168d3b6f82be6e3bde8c57601565be67ebd0d1232191779f973adf5bcb7851154aab3bd6472a6";
   hasRunfiles = true;
   version = "17.06";
 };
 "ms" = {
   stripPrefix = 0;
-  sha512.run = "e2b1340bb001b21a5fff4b5397be3992c3f021cf328dd8efaf02a5f3a2c9b1980235e4a70405629d41dbee519cf0b980bfa878c185217d2069b957b235264aaf";
-  sha512.doc = "ca356c3d4ea2ddc9ab501a2b292c25191a1e0179ff91733d2bd8f2bd9dca9673098487e36b9b849a9f70266ea2c724b3859ba89522cc3904699e69aa8a8334ac";
-  sha512.source = "c74cc8ca98b198f2baf76c85f8a8ac7aa607f55215d98874067661e0c624e4d72f7170944b48d721fb59fde9b17e4897a445f44d5b23d84869d7dc56c6174eac";
+  sha512.run = "883832298e0135980808249f5af0b28e3dad7941f401e3ac031cd558b9c6b895bde1f5dc459de9f4c5f6ae41d6a6aac08137be09f9a91b26761399868ac7457a";
+  sha512.doc = "adc189823e89d6cd90369497dc4468b72a36af808eb2c8d6738b3a00082335f139ecc54ad6b601a027b6961890b5bb6975e46d1de26a1e0ac7dfc9e8766fa6f1";
+  sha512.source = "41bdc589f6553ca981a7f0e7340f4e1163396a12acb1b7210fb5e9efc83924961d0e04f8ae1aa10b0db3266f63d4cdfa4f52d59f7624c321dfe0bda53ec6776e";
   hasRunfiles = true;
 };
 "msc" = {
   stripPrefix = 0;
-  sha512.run = "560f60beea10d71a0f9d1915baa58a893fd2e14104accc72bf513b1d269a618ee1553be0714c8b6380c0065191fe45f3a529897f1cdc7f5390116d3ad8c0e8ce";
-  sha512.doc = "e5c0fd8ab06b4c7848f080369a384e8bcf9c117dc21907b15c77d356a7df98092bb491e03d9809414395cf27d6275e534bef40aab8d5b5bdf177104b8658fa7c";
+  sha512.run = "cfd66ed08d144698d11905ddf987f44782752e412d5ecb0a85fc27e569cedd4918ac05f19d986e0fa6e17065bf871e805094251eebd5d27653047d436541600d";
+  sha512.doc = "9485a70d19aa2754ae4e12e4311d4a03367c57a7bbba69cfc50a38aa50d6d9160aeb812c4a63b23f7da0e726b07cf836ac9df7b66b4c847b9cad0e7d66aff23b";
   hasRunfiles = true;
   version = "1.16";
 };
 "msg" = {
   stripPrefix = 0;
-  sha512.run = "1e3d09ad4a124f97b2da99d115140f48fbe16e7b4ad95839ecbb9574e69214523e2d26c7dfafb64c4018a090804bb2d31beb23a68625cc4efaf46b4a928dc0a4";
-  sha512.doc = "db579ebddf23d7239f5648b0e19b50dc6d3500579f2ee3d6691432c501d227d0c27cfbba9af351e3e8ea02fc52d5c9ac5baefc9c6ffb750b5ef182213be74830";
-  sha512.source = "62675d16a4b803fbf7e017e9a28101fc585e8f0164d1d3bc384f12d744dc22235f89e0bc7ee6a0e1ae18b5fe6c36cd9cc3d66c4c6e4f94f7fe79cb4e7680c401";
+  sha512.run = "9419f306ccde237320abe22fe192a2473785244fd337063332a242e029b8650404df7f7d150b196d3bccb0e10e58e25e2b8aefb15627e89eda8636ddc50599e1";
+  sha512.doc = "85db0022daca5aeeb50e2eded6214a3b144012bfd0bd433b4f9474307c2a37e57c7a311385b8de4efcdc4e462f39c53f6a5fcfac2eae7263e2d1583b0ba584df";
+  sha512.source = "988d410412b2e7b3617678d0cdb2e8059f7261d48b942eff588c472ccb29e022a3e10ae2302268789331c20705ce062f0930ef53bb785245923ba199ed71b15f";
   hasRunfiles = true;
   version = "0.51";
 };
 "mslapa" = {
   stripPrefix = 0;
-  sha512.run = "86e5864b0f027e604bef759d2923d9fc07ea4f195ac2af439728c684716e615733580aaa66159790e8bb904fd4ce93a552942db889e402e99af1990c006a7f21";
-  sha512.doc = "e22dd5dd4fc53c0289d506cabafe48c6bd119fcefe361bbc99f2e118895c6cc3513ec6f1ca9a9c9a1b38bd6b2cf7e9327ef705f45490c5852c2decba3e0f05c7";
+  sha512.run = "76910e823a3d1114a2f7497c49d7a9edeabdfc3642309604654f244b060c4ef456aa170f677dfaa719d36416eaa41b68ab28c5cbf869f611a33155250bb44423";
+  sha512.doc = "af01997554d68c0c779950e3be4c92fe7ab0616eb2c5ab55c5131f17ef22eb6e7066c4190607b77c9cc44aa50c15a472ea27733add54fe82b7801c7724f1663c";
   hasRunfiles = true;
 };
 "msu-thesis" = {
   stripPrefix = 0;
-  sha512.run = "43c2849964441b17d8ceb333ae04e302d354259bb3585b0711d4d6f8a9bd42022e246dc182f5b1a1e7d886a0f720e27d93dd275d1f7ed85be58271b7b41bcb20";
-  sha512.doc = "511db06331d063f712a6efa265a4d4a5f0da13d858b4f9486af2764f91ee1d6231fe0c4b82892dda764ecc79cd2a7b504fc406c91878c78c9b3272556c44a612";
+  sha512.run = "e05cdf909d11616692cb175b117a134f1eeae10cd9c62058847cca383b86eb99de675f4e534c3b9d378dbebef10312b773f111de46becf8e4f3c840faaf5555c";
+  sha512.doc = "1b3c8266ff9dbd2c757365d30772057433e1ddcb04c83a9f98e55c9c4707a380e5d289496887da9adb922f96e7f4c64b9d3828e2a758aa38fba31e59c39c7d1c";
   hasRunfiles = true;
   version = "2.8";
 };
 "mtgreek" = {
   stripPrefix = 0;
-  sha512.run = "d378190e882a69454da3a34fe221a890f78694f65a4e921140ecb1466fb0c2df7523c34cc1e7d52fe8ed7b17caf5ac815eefb459d07dcc4ca96f68e8640c4ca5";
-  sha512.doc = "a0737813965472df1811ff0b0416e80b54b212a86713d5bb864f178789d6948903c3bae380db70bfa9bcc11ff49c8027519310d3bfbbbbe548075f6eeeda4756";
-  sha512.source = "4582921ddd20a0c1254f3600a919a68f83fe71032d03447c7db729a1577a426560fa92e6fb4a043003a4f477f9ad408566fc75560b05bf7e3ee024124c9e20a7";
+  sha512.run = "fbc20f61e1d4e9d3ebf4a92216c7c007f2aec2b2cac0aca6e08f0e1ea5f6f405a32d947efcea0057a025a138afc85e0d1486191ee82fa9a0e9f2f6e2542a9e11";
+  sha512.doc = "49631058e9bfc59dd38a7e0e2134f6d9ddf68779a6f8087a056a89fef975154510496415b782102dfeae6b5563527fb6178ce301b004fe33a4dfa8dbeb4474ac";
+  sha512.source = "d69c6248a4d8fbb9a64cd539e7f66db5373f9551d27c98b755377594f9b1680a323719599f5963972d169399a0686b5e6f500148cc54881d23d8adb3b91bf4f9";
   hasRunfiles = true;
   version = "1.1+";
 };
 "mucproc" = {
   stripPrefix = 0;
-  sha512.run = "d4dd4dba61ecf366c27c4dbe0ceb569381c6b07d6cf990b852164addfee557ba5ae59d019c8a8066343074dfe364e4bf005ee28722d5564019e5ecb7df0a0f68";
-  sha512.doc = "1d6b3378686b58023dc8ea39ff3ace838232fc1168e4c093b77cf9611c359ccc11b41623f629780aacedc87b544b640f79769d925a1fe41810da480ff6fbb578";
-  sha512.source = "62df473565c6d8c7cdbb2ea70bdb8a4d3adc662ae711f86f8fabed78b2b9b88fee4e6a52e92d5b2259a37d0408364711b14f48b53136f525e07f9f7526edb698";
+  sha512.run = "02ee23aa25152e80e8dc2c57f14b99c70ff57c38175498c179e505a76d967f826acf076cae2085d305cde93964f03134fc6d1027e0669acdbaba5ed5ff6efa8e";
+  sha512.doc = "01d154fab3c0ad8db790b5a22fcc4cae7a5beea1a2850f5e9d6fb1fcdc6c1071c2dc294568451f40db5455826f78ae910be9572de5a4a7d870e3a18a74fc0082";
+  sha512.source = "f1ce5b80ed1c79cdb5939fda97b18bd263b313496a98cd7940e990ff719dff9e633d636505c0d538f37ff26a81c33d6f625f51a479e5ed6f949f7b3ebd845917";
   hasRunfiles = true;
   version = "1.02";
 };
 "mugsthesis" = {
   stripPrefix = 0;
-  sha512.run = "c2e1dcdc949b301e1b93c033d2003760c1f56b5efb0d328f84c8068cd42bebcbd7252eb01e324fcb226b5a7c78cc86fd5bca940119a736aabfc92105a8f650e5";
-  sha512.doc = "0d1d9e7d47e5edc8059dc0875be4e9d135558fd1d38c99cacae8fcd6e68300623437dc6f145d47cea9b968a6c870ff6ab21b9de6fb4d8bcec2b41a9de384b44e";
-  sha512.source = "858407db029efef3cae9f935a13fbc229b60184dd864eb4aac4710ad1dae1c0131a4533d6dfe8caee659b624da05d1b2ee27aade516adcd5dd199c48a222a9c4";
+  sha512.run = "26a40992f66bead658130b6a649e7da550c85a92dbf9bf5778d4987e06f3a5f7d168eeb77dab3e81c5f328d252be345265c2326760d861fff35fb4ffd1e3a4b0";
+  sha512.doc = "2f9d069468c3ea0b420465200abafade7ec7c52cb22bee74865da5fb06064eeae47709a1ff60868bfbf675a4397d828e02581defd338ef3e79e179c0ae7cf7ef";
+  sha512.source = "bbbd79aef8db604e5349cfcac7fceed96d8b2570cbdb455b36f96d99e52660562b6d84bdb5a9e1a4c9ff32c9199867f491e91f96758635ca800ad5b69039b120";
   hasRunfiles = true;
 };
 "multenum" = {
   stripPrefix = 0;
-  sha512.run = "901002dd98b40aff63e303a226938659b83f8fd3c2418c0cc4768b2de5afd7a3f7e46ed1f321ed81f76de23b9057e3dac3ecd0c8372a530bc13b6d143f62f1d9";
-  sha512.doc = "c7fe53790702297911e9ff87a301675281fc32c8697d0dee63379063f02f6c17b0abc82d11fe8fb2fd008e378329c5a5ecb9551bce46d83f2af7038dea77d9a2";
+  sha512.run = "e73e2d3fe45f562398de752520628032fea310e5345a247472a2807618b72467b245995f32f21474dcb5702106bf32d6394508a96c4aeae4dbeaf6fdda7bdf4e";
+  sha512.doc = "889ffbce149b1f0a98e22a1ebcafc60e29858d08b57e2e567956830c679515759a6c8209901641e3d77ded31238e8fe93f7e4cdff95d1be925e3972c9005f4a7";
   hasRunfiles = true;
 };
 "multiaudience" = {
   stripPrefix = 0;
-  sha512.run = "78a2a051ef7f7ca8b0bbe173e88bc4b64b5b623580b316bf31586f4e67d074cd644573ed18bf6a540bcd897828494cdbabacbabeb42ae9ce328ea9913bec0bd8";
-  sha512.doc = "43ec5920965e2da300e218a0ae99c708a661e9cab2324db5cbdb5602ea1f20bc48aa49c3a2ef71ef4dcc4d10141233ad07e31f35f394245b6bb8e97ddc0d083a";
-  sha512.source = "2de57ec7301c11d0cac77045d619f79cbbfd9f0898cc3fe526842b2bd8b2c66d52a8e17654c1e428918c02421a16e66f218579d8f5ca94401a1e71ff27e9ffb8";
+  sha512.run = "58610f5b5138f7713fcd3e21fac721d0cc0a796e928bd5bd89e5981e08a0d4d6888f6f4f2dc2c6b9afecfbf0366462109be7a497ff6017e3b76ba83b361fe2f1";
+  sha512.doc = "5db8176fc1c40091db428b73bbb8bb3eb2e7b14b8c8a681e7d5dcf04d990873fbe456d389e468456650faae3939e38d1217057485d60750cb29aef89e8e15b69";
+  sha512.source = "acb69d29f8f12a205b4560700330d0a94593595056784275a79531351c674ecb560cb453956a5eb088f09a666ba4c72a2bc64a79b954d13263559093d06d33a7";
   hasRunfiles = true;
   version = "1.03";
 };
 "multibbl" = {
   stripPrefix = 0;
-  sha512.run = "243ac801f32cfbb7236a7d84c56bdbfcd906fb938d73c2e7cabb0df02352f9d5e82a89a48a8b0184e6a8eef7b754f17cc25e24407a017c70fca9fbf436238ee4";
-  sha512.doc = "dd5c18fdf75cca6edaf3a306b34ba504b645e2060d43781417ed54e65be5b2b27ad20023c11683dc758e4f62fab7e859e2479aa0b165a411197e9520d1749940";
-  sha512.source = "f89177795d5062e9beafe541f75d56bde9c4a66a6a82a999dfd06cc524d68c1df4eb73203df48cacc05c4d3ef979bb300443af1042ce9ac0f399d3db800bb170";
+  sha512.run = "419f7bcf8f2226cf8c60119e30da278bf6138f4e1903dc322da33ca2b22120e50b205dc0bb01b46cab0c93fdaacc37b823a812121a731fdea4cf03354d1b0690";
+  sha512.doc = "68a3f99cbde27d15fa8b56730f4e9f7587bcecfc9a6ebe19a7811a29278cbe21f214465942bd4ee6cc28833b9614dfef14714dceddcdb041d5676ee7ead810bb";
+  sha512.source = "be2bb39e0267d6a008dd3dab1d1fbfc22e38017656f6fd717e35d3252def115d451a1eddadc6fbb3787bee901b43b09327ebb0f676ee452db71196cd2299778c";
   hasRunfiles = true;
   version = "1.1";
 };
 "multibib" = {
   stripPrefix = 0;
-  sha512.run = "878c79df4e21eda2876a1c33191eadc742aea5d0005c97b374415df0b4de494a1920c1d13ab87ab75f8846f953c8553fbd69fce9235a19c51502c67a98651a53";
-  sha512.doc = "6449f236bbc8daf6b7d607a30d69daa93bde20ed5e383bd97f980cff9e8b2f1a8f3df33a3614c33e51d2da84f2a51bdb9e4b76ad5b2281002f938669d01b806b";
-  sha512.source = "de017fb36f8a838c5848d06ea53c9ef44e599f74547607e69d03c7c862179c3c6630da0523dc163ff3bbd444422dc6c5635195710348f7bb0b2f0a8f11009055";
+  sha512.run = "82cd48cf9097b36664d4dcfb5d73dbd6e961c2f0a8bf7816d1bc59a33cb6d2c65e0f63a9d1d596dc9faa4339536746089e34bd1b510e1b2c0ea272df5840e396";
+  sha512.doc = "1d4536094c09755fc91b2657cc0eb0b0b2fd8d1c5ca37bf2f046b62a4b0be6f83a93debac8be3c5481651dc75cac2066962556370bd84face6b03aaba24bbcc6";
+  sha512.source = "c7777e3c32833538893ae463d8396f894b390f642fa697b8ba237cd7183e2bc7cb86a9773530962f41372e4ec016eb96c7a060dc63081b2faf29248a65f14a1f";
   hasRunfiles = true;
   version = "1.4";
 };
 "multibibliography" = {
-  sha512.run = "9986d47132abafa57620c8b667d7868bb8fcb9cf00f21df786bf40bba81fac51380e94bc0bd371659cf7fb1eb23a057d72a2e8fcee100edc850f2c9447ad4c7f";
-  sha512.doc = "987531138a45f5a8f5790fd3ee023ffbbe17353011270119d2b696e02b79eb9328070fae7fe054842610b21a116faa7f872f079b5ec4bd6646ff4482644f6f02";
-  sha512.source = "8a6260c775e8c5f264724e9a523e9dcff36f8e9d2f870d93c26f71580125584116400ce1a0be27fefbcd9fac22b38e464f35ecfbf5ffc4f49f2c7c8080f43551";
+  sha512.run = "faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965";
+  sha512.doc = "3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512";
+  sha512.source = "544b3778bd0a51e99e89e18e606d37551576d655a01b46523786d6f910cf84b3886a8b29c72b9e0c25b3ae629045470b24e2741d7894f867437ca069cd692cb4";
   hasRunfiles = true;
   version = "1.03";
 };
 "multicap" = {
   stripPrefix = 0;
-  sha512.run = "a5e4e2fe7a0975b2a971a9893f5fc4091afa3b4acfec2bdb3929e2c9d676002c23d55aa7db1dc4d60c0d3d3355d433bf5cc2d5ce84fb5747aa52fe8b20a82b7e";
-  sha512.doc = "6b0232a5a23b101989323f6ff551a02365c97b63894f5d71d4c182352ed09f7ed0384af7b78116e8a6bfaf8cd06341c0b4a31d3bba4bf8ad6397554d6eb9bb09";
-  sha512.source = "c76cf367cbbad4330a1276e1e0d3ccf64dc136d6119246af1ecab217c02d987918d9452a38278c7550269f88203c56ade2405ac53595a01646a75a242507fbd5";
+  sha512.run = "5e4a4eebd7560d4aebdaf7035b9bc14116a32cb2e043aa93afb9f95eaf271fdd75fe7d2b6296d36327d7aa5b14b52046b0c941ae949584ad27a2b89ebe54b6de";
+  sha512.doc = "644f46fa6431f0f7bbbdfed8a346887d107c8ff7c8d5b2c826b16994faa48d83ca59cd139c16fa144122e0425e6a2c592762b86568f17fb914dd943cdb7eb808";
+  sha512.source = "95df0571a8741db7d0b4d3ab0fd0d1469c531a00e3cf524977fe2cec57c3cb9ce9cf3c3136b42a8d0fb8f9dea2e8f4cc6f07fa48490167094e04c0e688d45527";
   hasRunfiles = true;
 };
 "multicolrule" = {
   stripPrefix = 0;
-  sha512.run = "1b7430d9b119e5697477f7a39b545e64aa366e35f90476c15fa900232856b6b12a43ff2eeadcb5aaf5dbb40caf698e3e534c1ee3b49a6fa17afeca0b0009ca4e";
-  sha512.doc = "26178594d1416fbbea1b3540fdbb2d1b916468a1a2c9c7879091b8f27794a567d63bbf1401d94368bff793ce725311337b236e353abb2c232b8efc6c02bb70ad";
-  sha512.source = "5df619991f1be4df2a58d4b138831b4c4796bbcafbae8e04abe1e074b3c06ae186955d18516736d83da8d41580aef32354ed65f4298c700f7ebdc7c65d2bc4d3";
+  sha512.run = "591a7aeb5a918fcfb847cbd7f91cf389b6131472e62dea411b04e9ecd0c4eb1e203a31bacc69721f444c6eabdd44462e84cd263629ed4d6566840da2921c843d";
+  sha512.doc = "ade3f0e13f39a4173d6402ee2521232ff42ebfd8ca55d491f27c1dd35caeb06d92d7f53c1f897d71752a9013f1383eb9cd6b6f250c9ca535a31c21f751db4abc";
+  sha512.source = "e1b2fc58fbb95f6d12b20f02a503a62cf49f4fe1c888dd7185cb7bbf1f5a7644af1f14a380a44e25ef33d87387e152eceba602897b60f8b0d79112cfea4b2492";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "multidef" = {
   stripPrefix = 0;
-  sha512.run = "426c6b820b417fc9d7faac43e9e6202ae8d77f867cd362125f2ea0d0101911942b89e544f37cfe5ad1b2e85422aa6d3cea26158465c47e463010ed295950cfa1";
-  sha512.doc = "a3afa448de003acb5a354e396e32077a4b0fc422d027d595eb2de0a363b076c80c74c5221a105e6001d4a700539ac25e57cd2c1ce778eefc0a7763471f1b604c";
-  sha512.source = "1631c9acfd024417194ee2638b0013d459b6b8239557f94fed1c85a245259d893be7d493138d66d7793fde132da9376ec947c9d51e876be387c321a77eac087f";
+  sha512.run = "2d15975c8a191cc08925cc8cd74b982af909a7488a68e4b6f5eb4c2ba0dc94dbcb40c4347c5c4774fda24f98efff52131f6a243e1e6bdcb4dde7e683e408d6a9";
+  sha512.doc = "50b26f8fcfde20dd04f3e3701d611631c8914e9488a3f87d25e0c60803090133f9abe889b449c67a09ccd5053c67c4a3ea699d52d44480051391edaaa7ff9ef7";
+  sha512.source = "4f506eef5dc2bbb8c740d3b25c00e21a56ccb02410adc85788f2cf2ec7da81531ec5843d0a29931ab1aea0b4e8280eeb235b6a97505fb777068d902199cfd084";
   hasRunfiles = true;
   version = "1.10";
 };
 "multido" = {
   stripPrefix = 0;
-  sha512.run = "1e542899bd24ecc7478349347b8b7b07e146e1c2c9c1f68c3eaaa87fe4d6073032c45acd0a269db5559f3faf4f9118025023497d6eb00c48926721ba50aa6396";
-  sha512.doc = "2657a5ca63b5292ca030e2488ea8b16b052bcf5d339777455a19b102c54320c3ae576558f6ca708ec8beaac0d9901a13c9d85296f971168fd94e0bd50f4bc42c";
-  sha512.source = "55182bce95cfbca99940760c3f7a51a220b57dcac7650396ca559200be67ab4c50fdf781e767f5074d1e1688079dc3faf7f93a9c4480a07c8d035a373f4be94d";
+  sha512.run = "5c861bddcb8b2bdb654dc4438621834a68b2bca102799317c9a220f9bc9bc4c9d70775375302a85736f8706bb7fbfc1a4c24fae2f850237e8f54ad521b1cef83";
+  sha512.doc = "8cef36438fbe57c54f625b178331f7a6ca19854abcddb475283fc0cb4a362764c443de05989245e962dba9e2e4f17734533502fbd4b2ef4fc8e8c36b96bc68ab";
+  sha512.source = "3f3f6f5813ab1da542ebc9c4837da72339804866875bf225292d8a36ebf54b33f12d3e84de9d0b5027d3e8889e10180649a19e25c7ec6bb532296e9e204e25e5";
   hasRunfiles = true;
   version = "1.42";
 };
 "multienv" = {
   stripPrefix = 0;
-  sha512.run = "d336c3c03c288578c6e0c8d9b5915b418e3258c679673b1c2d2b68f04206074d8c175d85e862ffa56ba4932c48757ffe51acaeda30e48103191ce39856d7c354";
-  sha512.doc = "080371cd37f08bc4296b216e21e7a7c23476bf1450adf93a339048e3504dbf609512fc366dc712a11e7700623315896cd1f85f27b41ee52a0502915c02641773";
-  sha512.source = "45c3e472942eaf4bddda93de0463d2c19cf9573599b84f05df3c41906046ac933a6e219e542d644f178269ec60f0abaad6c2a9eaedd86753765f4c018f59ddfa";
+  sha512.run = "b387532d90db9f46cb18518b27eb8853dd52366434c69693fd08d36942564c43a45605694a55783fe244690f4cb64b94f3082235e465336cb7536543b00b6f20";
+  sha512.doc = "1ad0cbfb0c6029b77f2dfd71100ac43cf3c7512df88837c6da5c26fa9a520f4dacd970e331083a56ddf3d9cd19fd9934e863e4bea9e62c7a0b1cdd1ac6eb2a15";
+  sha512.source = "5d22dae7cf44eef6e63cbda2e9421903f56a939c0393d3b91e9d009b29cf0b748215b455dd9143cd7e13b2ad81c08d7dbe447268d7d01ba495bbb307cfc8999d";
   hasRunfiles = true;
   version = "1.0";
 };
 "multiexpand" = {
   stripPrefix = 0;
-  sha512.run = "71f976579e2f2d71554574d8f670ea348d7f721d132f4ff56bdc0e0f534a74b79cefef3aeb8e44e87bd2ec348f5cb570698d63f2a865fa9f116108c4e05293b7";
-  sha512.doc = "a15d1370ccbe4a98fbe2ad8955b919a5f52109942506457190b739e45b7e1c7161b69fdbd6816b83756074694bdaba64a60ada1b07a4c7b9e9ba028a59ada4f1";
-  sha512.source = "406eaf42e10e9f5d2ab48a308374ad7d10c5421b3876b94a65058b07bcae2c99b03859e11042e8bda90a92be6655b99f5d91901ae06a88a9d34a1d25ad962590";
+  sha512.run = "63f512ca5b9649c86a6936cc2407737e41afd6c6a3b4810fe81155a5b4127aecc538303e26b91f53decee900fba7946e90a46a545b3c9caafb3e0863940e0009";
+  sha512.doc = "6b8a727aae2d314877df551ca5804e84be0bc530b4f09d8bfe6a9c1a4c1eb98647257beeb1813a183f0aa5422b0041443e817ce11b6db70e4129e3edc664e788";
+  sha512.source = "197ad74e02212405fee0c79ea03021172e7ac5a99222e0c0d300da6a141bc694a2957c544bd357fb67fcac24acbbb4059041bd37f607b29f5f763b59b70613f9";
   hasRunfiles = true;
   version = "1.5";
 };
 "multilang" = {
   stripPrefix = 0;
-  sha512.run = "10d11f612e2b94027b1af38986efd73688892c630ea15c3acfc64efce836f5dc4b4294fb61c989f8039c5e1c70fd25cae54ab3db39d668956b74d639fb0cef39";
-  sha512.doc = "db25d878a93b565a5797ef65b2a6cc926727f755be11f9020541788f351d5c014ab154d41b94a92a317f21f7db738729c7d6fbef300d9d24eb63dbfe7b5bfcd0";
-  sha512.source = "dc3daa24eaeed0149a17d01971e3a1ced2118e22e31b9fc8309e9a9ded79c36f283e92718908b8140174b1bab78bef77ceff73a4018f8f233b63ca175dac7d79";
+  sha512.run = "57f9829b100068a84feb8a09a94066b93ec5fe70daf831ea99604089a4fc2f67af76f79505a2eab6dbc8f2b025feed6d908a1f24630e27e0f7606c4a3ebb71ca";
+  sha512.doc = "e611f2195fc4f7083d6343eb3554a2e786fd6522383456544e45346481cd57d54b0899cdc6ffd9edc4b75567b1e092ecc597bff660d849e0ce2b3e2d1bd55507";
+  sha512.source = "1e52e9c740d0eae4f89eb4a65e1d12b3d5f159cd6c938f729bdd019ccb8bcf98300a544fa7131fe214cde9b7b58f9b64a771a49513f45943c681893fbfc78b6e";
   hasRunfiles = true;
   version = "0.9b";
 };
 "multiobjective" = {
   stripPrefix = 0;
-  sha512.run = "85e7a2643958df70518fcebc4f6d3b9f5d9877115ec270d60561fac46b74db5e2a682362577be7ac3396102f7d30a34d9fb9ab925d70da505cdccab72d00a33c";
-  sha512.doc = "749d1fb9cc479c9446abc5484ecc402cd0061966d29a5febd7db8bed9d5b3312d12a24501a5d9d0f2a8de8690ea3123a881bb0eb02f4fa91c50389dcb2e12794";
-  sha512.source = "899b8e2a6c1bdc53aa3fe65648eb9be7e2f0c44263f2f8d9f330178c902ca6a8d743ba716df6077326019dfe5de74083f9679b743864036388e9260d19e1b304";
+  sha512.run = "80b0f340f19dff329cd9f0fc32cbb9a8cf690243aa925d6687b9da345984f9eba9c0db7b62fedd2a54f077d841b9cbe91e47c98140f1cfeebdb16fc05408898d";
+  sha512.doc = "3a7c68054a85bbad36b6516c52ea74c35ce11c5ffd6f3d1f235ecc2ea55209343a4ff609857877094fb7f8861e8b7c54c8c979d06cc3b3583fb64e997372ae9c";
+  sha512.source = "99b9d17438d9f3f8a6ac40d0e705371d255af957fa5dc78dd6d98c89b515cb5af7377b5ac11558c84c7908b7efc7faadc9be83b86c2a255ba8c4033a69be3f4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "multirow" = {
   stripPrefix = 0;
-  sha512.run = "e8c1261b1ff4b69ca3087dbe6f64a11cfd69c366fbb81ad16744b3290f05e0c67189d0be61dfdfcd8536362ff4f5ed82f1a3d89a3fdedf199743be1f383d7ca9";
-  sha512.doc = "6c54881acd21ad8948f6199736ac459c2292612bfd6f88ec6cd0290cdddbfea9a4c1577a0b16cb396b71b530817a0f205f24103e61bb90d7863473973fd9bbf8";
-  sha512.source = "739b041d1ede3d8380ff7761914ef49effc01877d2d82fbce25aa2b42ecba5f24ed4ea6365a86c266b0987eafc0a6dc2ae815064a4adca365616c4c8df240cf4";
+  sha512.run = "61a072b45e6caac673ae4e5df536f12ba0bcefb3457099a0a03c73f5177bf94b1f0da056f622d3963e07dd82fc1f18eaf892f2205ad34e221963a07a9458cccb";
+  sha512.doc = "ae7b86866d6271f99bbda77e1df62276383b3759f59c30c86eaee3a5e14e0633dee081bcbb39fc9e52a5f4afe43ab0357aaeb11d81560a7c1c671d8773de742f";
+  sha512.source = "fa10c678e843835d7d6ca2081ecbaf3a5347eee25da109e0db85be9422c2d0e8d2844e7e66784761f0877ed52f860bf1242aa05ab3015e6698891f3629fdc377";
   hasRunfiles = true;
-  version = "2.4";
+  version = "2.5";
 };
 "munich" = {
   stripPrefix = 0;
-  sha512.run = "7a7f12331ec00a0ad2735f55261269fbadefea5cd627eb2916a79eb39d8710bfdf20f72da6f909ae2018021bff0c50b6852ac298d281a2ec012f1be25961acaf";
-  sha512.doc = "9ca7e2f17f8f04846209f3578c115b25a4340f322ee66191032a534d454b187f352765a816c5238047fadaa795af34f6b5b191836c166616fd61317ab937ee16";
+  sha512.run = "d8d2de2245f24c6993fcd178e2a21891e66b5b99039e8969639d2a9cba15abc6c3c50374db61c8082695a969a69ddce902ff8b5fb8104fe66ba1384ef99b93f2";
+  sha512.doc = "ed2dc99df090a012f1b1b922659eebe4c2d8523127e17341b9c4b66413acfc89f8b64ed639c8fd40ace0f4fddc8662f42630411c67026311a26fed436a363b78";
   hasRunfiles = true;
 };
 "musicography" = {
   stripPrefix = 0;
-  sha512.run = "43cef788e788b8545fcbc261e9cfed0c74f987a816a7ad518e2ca1522265ec6ca1369b988013bb7b3ed81c87d2f49f59267c60a950a1aaa969beee294496e664";
-  sha512.doc = "8fc80e058605ff2437ce640e5c5609d122e9e3599cd2e0d3139f622a12fa799f0276194738bcc0a738b3ce55aa40d39d5a15fd614f23476e9c151c6eb5e0b974";
+  sha512.run = "6c1bab036f58b9f1ab39a29e4c2344361e772e44992da5c9b345d3d2b97e4b5b5a5f237494f228bd1ef812f1ac5d5e00432133c64d8a71cfeed9e526360f2310";
+  sha512.doc = "a9497d4dab85061ef8fb5698bfb7e3a1356d141a4c1736359f124842e09d87871ceb3035e6683c2f2dcccc39accceed4fd2b76a6cd2850958e3cd3740f04affc";
   hasRunfiles = true;
 };
 "musikui" = {
   stripPrefix = 0;
-  sha512.run = "8c15c00c614b478ab557c1054e49c41fd46360ef5615e438020e2437f52bcaaa56e4cebf4209740c7d8e0ad482718390f811d0b82a36858da3d6b34ed0475da7";
-  sha512.doc = "946ee66c7f6fd4adf7485eade66c7161473b60915314550ba24485acff590a289c2dfe70122f5c8f4eb5481329312687e44c9b6c85ce50f1af658d21dedfa39e";
+  sha512.run = "602132bc51f1ed20f045bf0c822f201f7bbf3386f9181599894e66cb3c59f4ed15364013a5e30bfc59b22ab3fe4931872b779d1e7f34b8dbcd1eabe058b1f5e3";
+  sha512.doc = "29cc8526543698f218e8c9c20b424fb2b05d3ee0a67c70a2afadd33dc49f0030ceb440b349898b8bd66a53a5682aa8289d081e4502fa5ccdfe481b4e2430de03";
   hasRunfiles = true;
   version = "1";
 };
 "musixguit" = {
   stripPrefix = 0;
-  sha512.run = "2039f6c6034b34fa3b4553cd592cfd41fa4c9b18d5cf4c017c4ce1373130bf709bc8eeaf89feadd83afef23ba97b91e8ae02ad0264f47bf31d6d47b2b80a74e6";
-  sha512.doc = "f0fca030e5320f68cad7db832b70414c0a7ca8c60ee392a00961d72980e653d6fde7e3025a099cd09418b539abaf76fab48b98eda031ca110128f485dd8cf169";
+  sha512.run = "6262e1b447f517680ddfd9e5e076ea384dfa7fc8d219e7a2613a80ba66a0f0435d9dc31502f6abbfc150fa1e2de001afbdec25dd5778e3ffe559ea389d57208a";
+  sha512.doc = "8a6c9a42383d6b35c1300b958a7629306a6883bec1bd68751165eb3514f8f069c9995247142bad459e06fa42378a9ddd23093cb749bb2ccd58743312f83425dd";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "musixtex" = {
-  sha512.run = "e183ead0bf93e7d456033afff2deba0e7cac2adc13f6706f79541c7406a5c83fe185887b73f2664e965f3a3e53ed445003759dbe874447c2daa46aded9b17c5a";
-  sha512.doc = "c0e0c682cbf3bfd1b270e6675d04da916669840b5bc1a93311a94fa8dbf5c71c30a0fcdb46bbe098140e1a6d29f82cdc160e9e15b09384cc422d65a26e18bd36";
-  sha512.source = "329c0d1fce5506c8a12ad0c28ce658411321d99bec8e9b88275cf807ab8404cefe812bcd5c4700fbc15dceb29e0efa24419b9acef7407fbb8bcef935c8af8c1f";
+  sha512.run = "2793fe7e110e97df26dc0a681b24cd738eadbc6bf322b438141b66718b561af3d1c7cb029e465827151be5242d620a3182aa304467f3e8e7c58f457310881c0f";
+  sha512.doc = "29e7bbfda630825726d716ec45e4112b7d35e180a5d9294a5d1f7a1c8a8c544a8f9020021d17a1db74068ec23ed0c744593f74426fe465182d139d3e9e70e829";
+  sha512.source = "62a04ce4d437ada5b2a267b648844cc6702194979530f985bd7fb96b2242d9e92d9fd6367917352aa7f9a699f520569acd2fbfc4d6d56f2f33e9f6173f311909";
   hasRunfiles = true;
   version = "1.29";
 };
 "musixtex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "0553b418e045e55e66d10ea57d73a5a201da170fc368ad24ec37f00f40956e97f59c25ffa30c0673374d164369ebad4a5fa51779786cab8ca6324062ae34977f";
-  sha512.doc = "9642814f4637075bf824857cc08c2af5cd5767555cb2f8823f3eb97507aaf1048395e90dc5ead6ebb0df06015b233e9a9e1b9bebdcfff7fa6e2e9691ee36fb89";
+  sha512.run = "9cb72eba919842dcd8f892562a9f6f2c4638a46b4152509ffce1666e3e4243a2686b4feff3d9d68ac3c70c755606cda7b8659ceb1d8347b49bdfc4c0c7f35eda";
+  sha512.doc = "6fbc429483bbb7e1382d72622168d692dc5686ee21b9172ddd3a14df04397cdb9a3b45bae57b2ba2851aff401a5819d81894354e2e942d41812ebede75c45164";
   hasRunfiles = true;
 };
 "musixtnt" = {
   deps."musixtex" = tl."musixtex";
-  sha512.run = "309beff8e7edb74f88f40c918af32c9c609d08743eddd4993cd45b5b94bd02530964949e328dad533bf9dc5f80f0c445febcb3ca3bcfd88508d4d789c4f2f540";
-  sha512.doc = "e5543d8ab2fc39813fe2d8a38cb331cc2c0a2e3f99db4d2a256874f10305db16e6e9e94e05be68407af71c7161e7bc45cbed810488e09f7c026e351402e8375b";
+  sha512.run = "eab6332d626f199e46dcd03ea546abbc4446b41c4b0354c066790ebfde154c6fa90f861dcff77206318b58a31565d884576899629520e78b3285bac673d1f4bf";
+  sha512.doc = "2da473ad2425064747187da005e01d6844731c536b75095828a85d358ffb1344331ef483c0cebe79b346b4fa96a358a1e416cce7d7cfcce6b1242cf3c0a3645e";
   hasRunfiles = true;
 };
 "musuos" = {
   stripPrefix = 0;
-  sha512.run = "b51081d6eef7c85218b6d7d605e6ba3bb1c9dbacda36984ce1f1ef4e4d21c32e20a4c6073a0683ec7dd25fee6c77895ca9a0c018a6c23c64830fd1584df063da";
-  sha512.doc = "3b28e3e9c5157ea8c88a2a4ddfdbce3de0e38c62dbddfffccdca28f4f5c8f95ca9da60ed6df7a9eadc619013cb62f00f90991386873b50f4dc20fe4072caf619";
-  sha512.source = "7b8fef58c14e0d3203cd31b08b885c325ae4156760ecdc3b0b9f311ce0a5fe9743605486355bb18462c0d3c08dc11ddc07ebc7ff798da04ecaf2f689c259597a";
+  sha512.run = "3ad7bc18f20b0df70f6c92f7816d4e5bc90070a392788d93caffaba39f25e516a1ca4a6ef5438dbe55b514822d2882e7dfb809eaa4fb1380475fd624ec3efb9f";
+  sha512.doc = "a2bc27d789cbd6833961d41ee6d697004fa7539810aafa8749af918572dbd20e2f267bb7435c068fd604540d0a75d1a558fea38a8cc7748c9dcf087c17469a61";
+  sha512.source = "55cbd375a48388b310c52e26b02b6dcd56f7d50761addaf275de656a2668bbb0c436c742649cfa07355e626c3ee01572960fc0177ce4226f764db2b5c3e04598";
   hasRunfiles = true;
   version = "1.1d";
 };
 "muthesis" = {
   stripPrefix = 0;
-  sha512.run = "aa3dbf0dff8af9f206b181058ffb7fa244e5e6be23bf1db7fd18134e164b0056daf2901bfd9a9a9485578cbd57e19114b531a6c3f179b1ee6ed15ed153d4b8a5";
-  sha512.doc = "b76250df53cc206a34a10d215e012d17a2d369465080f17d500d9060851f3a777154cbddc4f6504cdae823c8b74bb31e7a100a3544c6ebe2703be738a623c082";
+  sha512.run = "66345512d1713dcd352feeb46d8ad9c609d4c9364a37b47b5fc0207800f6576831e15d7be59ce13f560ebedaeac9a595f2bd7045b621fbdc8e20a3b3c553524d";
+  sha512.doc = "5ed08b459ffdc954f5857be1a1970e9a23d2cfc23cbb04e820b82368b1febb9bf04811e53ce6fd05cc12da302d182179d29b278fb99157e801afd05db15cbaa1";
   hasRunfiles = true;
 };
 "mversion" = {
   stripPrefix = 0;
-  sha512.run = "5e9a47c85953e41f46b981ce3c5c302835e3784abb2e25560c8603b62f7a6cd61e0cd5254311029ea25bb5ef10e5c7f2ad32b055f68a9889778a2db27a07d8d9";
-  sha512.doc = "06b7407e26463547d761ccea1844579cc81a07783c80169505218d335b3ebca05e0fbbbd2c6ee295a9a7d1f60b5a156d4e83a1edeb31bfdccf916ae4d11453df";
-  sha512.source = "1d1e025996b904d89d3b38544a7a6058c68f26200f846341de7277af11577fb54d26ea8a3ed2459fd6acf77fc2a33cbc8cdadf9729a77653f54188a29cfc1fce";
+  sha512.run = "3031b6aa9408bfb0994ff23c36f6b3f770aa8beac0e94bfe1361dc2ec6ac47859a996ddea9f5283833e5711d0308ebfe5aae91bc0ab564c6e83056d7394f14f5";
+  sha512.doc = "bf7639f024b214c2b8b73cbe4f87848f390d106f46afff6f6a1257d80b37a6b7b02d8d9224580d945b93b3f86a43495d00c5c07d22e8428703036dc43273ad41";
+  sha512.source = "22ea633c451f88302061c2d3427ed52e561bf31bde30456e632f3abbca918a329c40e239ecf0a2f2b219a23da063101ebc9a23ea5fa355e479ee28a9404d50b7";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "mwcls" = {
   stripPrefix = 0;
-  sha512.run = "57122db964d70bff7d7c8474947bdb0e73034daeb75cea397ac5ba1d4d5fc1a238130ee8b5e002fae07c26a4db849911805f5ea463e72ddcdf30232c15d918a4";
-  sha512.doc = "2672c2802df4318910861f29d2e640c6f726d14ce87bfae26dbc136537bd394a31d0e43983fae2b5ba319d48a3f944903a7cfc66fa4129052c7f1ebc394078bf";
-  sha512.source = "8c8af115ad893d9fa59f4787398846a7f764e9f81ed096852e6030450146e1d74ce7cb47979fb26f27f4734ac721f4986835ebc954777887a2496486188955df";
+  sha512.run = "045fbe4985684ff7bad3a7c493fa0b37e412e698ee5eaf31b4ccdf3e185433d185faeb78bbbae7e11b84354e4dcbc24c8f2cf549a64b81ed0b6adfceb4bc8d8a";
+  sha512.doc = "17b548e9db8a842c16367cd27b3f5639fdaf418f1967155a72c90e3e91d47a121c87dcf2bf0c6eb9042005d54e04ee40b367e0d81c7e2ff57de04da617f8b1b2";
+  sha512.source = "aff2829633113538493a5634fa11d11a65d643e65afe74255ab31141ddd5fb39f6da59764507af10314b1d458c5c75b1f970b808b1e90c53d211cb4bc11f3b55";
   hasRunfiles = true;
   version = "0.75";
 };
 "mwe" = {
   stripPrefix = 0;
-  sha512.run = "dab346ea9eb4ee71860b9141ecfea892cc17817f932463e3c8b48e3065edd21e3909df59a473d9068a509a0f5a3142af9dea6a3fefd0d107f7a40a3773787283";
-  sha512.doc = "a48c3460aee8d779aeab04ea3ac2aeabeed68e7719ee1178c917f1d872eca0fdcfe2b557f85e0ac2de6213a67265e778e5190c20e908cca2447b84ffef097eab";
-  sha512.source = "ba11ae8aaf8f4567f7242288aa9339e8a60ee6ebce3dc2a9cdfd59fe69b7ad5d04dbcbd377943cbd6a88d95b6d31115b99f14a3a97f7b06696ff30a7f0f11870";
+  sha512.run = "fab45c12e55ddd3b748ac6a07041c64efd1b344cd8375d870ab3ddda155d9c43adb1fbed21c82237732c8d15ad68201ade3eeb54714e4737a79ee3fe22db48bd";
+  sha512.doc = "361130c8fd556a564975ed94286645e1b2ebb399a4895b59244bbe941cbac20d0e4271cd74cd122595faad4f2ff1db24ad522c04bbded59df2ccfdbbfdb19c7e";
+  sha512.source = "3511bbe2629f5a69023836495e768ba9fb218d23f05f2587c39298c007017b272bece226dcfdd9f9b6625891d6d4be5622c4dff35ed413c797adbe1db1c60c00";
   hasRunfiles = true;
   version = "0.5";
 };
 "mweights" = {
   stripPrefix = 0;
-  sha512.run = "6beb616d6a41096ae176bd8353776c7d4254e3aed2c304c80f38f75ebe6a5b9f60d6ad970243f8d00483af4141ec94eeb688dee53715438d4b39b75e35c0c849";
-  sha512.doc = "8ecdfd8030061d5998a178d0b5b070bfe90dac6deba9b967f08fa5ff943d3bdb2b9475b8641009a73676e61527a8c021be99ff7e038c6c66611b123aca0caf7f";
+  sha512.run = "944c84225a923fb3a1b72f8f44872fbf9f1207194924c9fba8c9c45a2de304748f9630a6267868eaabb5feba4b268a702568ed81cea6cc587319a1cecb94de0d";
+  sha512.doc = "613f3a22759878a34e659a9606b289cd9969280a3de4e8a7614d277aee66aeefb44776f555efd0d2e11d61f70342f747301002bf9b84b888f01216c439cb5a5f";
   hasRunfiles = true;
 };
 "mxedruli" = {
   stripPrefix = 0;
-  sha512.run = "9134add39bf358e36d872bb1f134b1111a84b8f770decf600bcc19b1263f4bb3f86b6571a42e2091f31bfbc41e94cbce75efe7bb1a4ffb4d5e98603f347b80b3";
-  sha512.doc = "73d9ea8e98df8e1c7be73e6f86248b46d45d25bf7c0e0682a75b0f01ad0d55f5c2c288ea86b2dccfb12178d90c0c60bfded02e8888b155e852022d1f295fd3d0";
+  sha512.run = "f721b48b71ae2eb74104e23989cae84d3316b322ebff4703d9bddf74e0ddacf742e279813977bf29883fd17f01049112169d02aa3e4a9be887c049f8484ca0fe";
+  sha512.doc = "ea9de17ac138af2fdfbd624e0c516faa2eca674ae1c423cc7f972f87c1bfbd37812e199f68b463c07213fa263636490b7207baf68506514f73fdef1d6c041a49";
   hasRunfiles = true;
   version = "3.3c";
 };
 "mychemistry" = {
   stripPrefix = 0;
-  sha512.run = "891a6dfa2071ef7b500844558728ebb5664c19f3ce4e2d004747f8bcf1e96356c8856506736ed48bc5b7e8179700544a760e9afb83694bc72d6ed47144e328ce";
-  sha512.doc = "4c07fe3db837be7a687d472e404276a5fc437d07a19f54ce9f19871c12c768e6791ecb98fa2dc2a0673595a0c9276b774fb9dcac2830c70ffa4e73842d22fa27";
+  sha512.run = "bf8fbe30dd3d1637db289bb92f6339545f4d52b3876e5a81e5153b4ac72be0b54af48f46fa7d1dbd5a129bc83223c53163a760e6cec0bc61101496b25b677f68";
+  sha512.doc = "7f9a9d6c6e0f66805dc37120a4c76787e60452067d9f379cadaf4993a76d7363553699eba7af1b9e507bab4e68e66791a5c93d940e6079521de5d1b7a83e5a58";
   hasRunfiles = true;
   version = "1.99b";
 };
 "mycv" = {
   stripPrefix = 0;
-  sha512.run = "16844ba3c43f97baca58d2c170e8215ba6d800bc9e76f2642a0cb41db42c3423f8dfaf2bed7220e0f28610a502c2ff1fab70ab72e8d0ec1dae5fc1f56c681ee7";
-  sha512.doc = "1bf6a8d67e7905fff5b587025d746e143343fb030df021ae9f793772f0f21f3757a31c1a116df8e2de995a5cfd4bac55a785b5b461a9d59bc644462a765b1e49";
-  sha512.source = "131407ced4762412c369c8d17586846198aa1ca3bd3184a9b2842fd67769ffeedb1a5a8f30fd7e6bcdbd06cd318ccbb7018d6474c498eca063e499012940b733";
+  sha512.run = "72e74c30c994441aac708e719e894d01bc3d1a6570863a589dbacae8e3c69f70d192abf7473b58a026b2859f7f10dfd1e56827cc759898248e3cfc9d36f37583";
+  sha512.doc = "892d0c10fb8a2dd9a65bb6fa4dd48fc3ea49803a7e633cd390427bfbcc8f16f6d213f9ef511c7202521b518db4c94bfdad5197c30b2c8786bbbb6c6f188293a7";
+  sha512.source = "56901df8931579aae3cc8f51e7c6c6542cca3b1b231512e6cc27b88104c39dea50026f0cf21b2b4251f4e1ddfe4119de7ddbde6f50bde743296bb84195fb5f05";
   hasRunfiles = true;
   version = "1.5.6";
 };
 "mylatexformat" = {
   stripPrefix = 0;
-  sha512.run = "6e98404607a9974b838611d5a5a431edbbece0c4ac11a2457aaf62302376d2efbfb245cbec9fcd55c15f8ee42997c627da38534c3c59e89d255b06db4cdc2aa5";
-  sha512.doc = "ba5c00513dc4d3571d48f5925f3e6fa11630c037d859b432e1240ab1480f219d68b18a8f63a68234f458a437017a6d56f0339ab8ac1e729ee8a2416b52403279";
-  sha512.source = "d4f7708682fe8bdf8a433bf0ca59c3a5fb76bc14415d3ebae8ebc9298676ae2f73804812912115f266b03b85e388d1ed7f969dd2895f06bee3e4e4d5fff3897a";
+  sha512.run = "476e2c739c9a99a53a9f6bb7eb32e6122c149fe224497cd8e777af0ebd139ffadfa792090d8673ff96b4e17466e918f9af4ecb7a12c608d4c33d4e17f2b26f0a";
+  sha512.doc = "c0754ef147a457e7c91b16a50dab2220fbf2f5385e126e796b1c65025f0fd998371b4e58d96ae72b8c6eb21b2030906729270c88c0914b1748714455e78d1bbb";
+  sha512.source = "4f172517cd3e0bec77bc9003201a4488acfedcbddbca217ecac4878d3df9ab86719c5d9fc645671bbf3a5d5b66a1c4e80f9acc01ef27c82a3eaf13aeed45f857";
   hasRunfiles = true;
   version = "3.4";
 };
 "mynsfc" = {
   stripPrefix = 0;
-  sha512.run = "49ab7c16e8eadeb5e328ccb5a34c6fb76f030ac6419fe0c855b44231dc91e4b00f4914de4dbf5f6e332e73eb63199df0871c1d282353b818668bf92148504c8b";
-  sha512.doc = "8c026b4961c17fb9d998c11e88ebde83cb7ce6ab1f433ec70acd29d085b26da76027895a1fff4acc883161d4a235bc4bc6a1ed7383a7bc907e9d0a6166023646";
-  sha512.source = "6a95b7401c8e8c855dd2a5521ddf73b88faa4de41a13eff3e226d4cca4b50ec5e42df9aecbeff3eb4be38d291396e0a6452eb38bd1b112935bd9248fe58f244e";
+  sha512.run = "fbf6a66d9e4f7863b380f6cea43c58bcfb54e458d56fe2867b3e1354cb2489d4a0576e6c392e4825023db33465176161e226d954bc12080722317e92edfb3d0b";
+  sha512.doc = "11b2d4647cac4aa2280aeac24abca47b9d92680845eba5a99fdf05fbcd4590760927495ef87b04900084ec64652a8b2e28263d4d1a26765cd3e027393f2d7417";
+  sha512.source = "4ca3be26449fb263e32a0302f5b85194e29b1c4e55012881a60f84a81a3498d82447934e60df522aa1b3e20ffc746bc78cba535e7208f88ddc46aa9831ffaf81";
   hasRunfiles = true;
   version = "1.01";
 };
 "na-box" = {
   stripPrefix = 0;
-  sha512.run = "1fe42f30774e8ee7aa4d5651e3ee804fd2ea8bc24190c61ed18d873e565b8277018da3c954586bfd7a61477703ec36015ae78d0a3e06488ffe28ef684488fcf1";
-  sha512.doc = "d1f04e01986d70c4a95aec18d5a1deb47e055d3c1b4875ca0c11ddb65c5a0d6882017c86e592db08d4119f7ed43e2ed10c0bf2d3788778ec66f5a15ea55bd37e";
+  sha512.run = "8b0659454d8324ca51c9e97f7957a3c14230dca0b4b8e047b961bad1b81d2a8b0220cf275bf84e9aae6a3d601fe93df3de94f603a198f6bea716064ae8675d0f";
+  sha512.doc = "2c78a71155eab3cfdf551830051dd360f6e9fc8085ebe364c13a79a1ebda0693d633e7ba08e31c356e46140c33bf3b190365cb88d944d2b3e8c0799ff68cdc8f";
   hasRunfiles = true;
   version = "1.0";
 };
 "na-position" = {
   stripPrefix = 0;
-  sha512.run = "bca96e4189aedfa1b626d8d891b48d4924cd34399a516980fc0d92840f3402ffbe09bdce5f7517e76f94021d382ef18792d3d9c5c04302f95bfc6f51a1b5bf80";
-  sha512.doc = "929db0310f829cd9b7e3ba11637e5baa6998d617e5c1ee749b1e215b9c8beb0697f20eda3719a93c2febbb7c0e42e4b7b7f887209cb854cd9dbe18debd2aca11";
+  sha512.run = "1f5d742e5fcfce8495f2c772ae166775151b555b1e4922615e5f62ce161a167969c8d6043d542018debc69ef75f472995f498ef9f3b1f094b97d5b986285b1be";
+  sha512.doc = "569a4c0a03c224195752a072581e4c8a2ec428fc4644ba66c43c94e322ac495137f52b3b1cd5cf40741c83937ce056e610a2fb4f4b02f3f8a73d43fcb3fdb4d9";
   hasRunfiles = true;
   version = "1.1";
 };
 "nag" = {
   stripPrefix = 0;
-  sha512.run = "6957f91612817783f035befa6a569376d1bc81ee4c14bcda6a94559df9d721e50a396bdaa7a71ca4eb491604e88f44405d3a4c18401f42b09a991e24f18b456d";
-  sha512.doc = "a8914ffb5a5e6c17d1293130bae26a08a8c232802bef52e04275662642e6f67e6ceea0c46e0a1f8c572d654ed23e5ad3b1dd380214135628103f221568bd4b03";
-  sha512.source = "e35d0b9bf5efec4cf11001b243f22c4dcc69e991f0f96f70aadb5a975acbf087389776a233a0725e46aec0f1f55fcac196d9d53588aefec5a7635c8a82c4a514";
+  sha512.run = "a2d239ed1e12fd1b082c8df5531c9b83cf55c39b13781aa01848f3fd06136a9522598abf9e63580a93fb12ad7c392061b14d5e96b4d4f4dcf8180180280224a0";
+  sha512.doc = "9a4859b67182b40428f720e2e955b591fd3fdf30acbe7c3214548766312833b3ebd5a046d1ca2e2b824e3bad95bde635a1cd112e8023395333cdcdb9cdf55ba9";
+  sha512.source = "969b7e463e6e8eca51af114ba51d538d0a1f7b9ed3cb5dfecab92ec7eb913a872b740b2f434e854a7c11b31c7b3364120379a5732220833235912e73ee202878";
   hasRunfiles = true;
   version = "0.7";
 };
 "nameauth" = {
   stripPrefix = 0;
-  sha512.run = "0915123ec207725310d958de1abc03815cdf51c68c95617bd610f53c41023c2fad4f61551e63348898e0d22b4f6c7018ba6f5298eaec25a649fb547adef3f41c";
-  sha512.doc = "5e904aa6d2f36426a52fc5315a5c81b8a4270ca515f9f9fe9eb4ac508aa77699423994b58c21ae7f444a20ef0e3d9a20fa4406180ad349042dbe753b3f14f4b6";
-  sha512.source = "d2a2c5a4ae07539679641694db1f2341e49e99d0895d9984aafe2f05993a4d25c44607b1600a6194778f575333c52698ad199d1596d298cab5ef69a05e995a97";
+  sha512.run = "e393937e84856a21433266f18f78d739036df951f68d21ff17c607206abcf6b77f32253be2e7a771f10f1f789df47fe6bd45f629417eff94b91ff9b4f7179f74";
+  sha512.doc = "b586f85eb88204670384a0c7559219704f92c9f03922f98ca01ae2a8206ba3afbd920f94374f3c62ea3923129708a2edd74bc9b79be0d09ed1c29491811cc2d1";
+  sha512.source = "781de5fa5d74cf295718a0225e5faa87c3f65aa7f42def1610eb43ea86371ee3dff406f7b7fb7ff5a1dcfba84671847ac975bd55b14ec15875712405d912bd9f";
   hasRunfiles = true;
   version = "3.2";
 };
 "namespc" = {
   stripPrefix = 0;
-  sha512.run = "7b80d2fe35c29e1c293e7954b0254188cb44aa1a9ed4b13b8bd58299777f61fa5391f4e314907b9059dfe6c9b17fd9e499d493743d5ecad0fd49bb9f09b10880";
-  sha512.doc = "2b9f10c6c4b52889a4b61f6b5d0753ccdfedbbba80a664069acd0bf461068eee737a00a85a12a2ff06984ed020ba5e0565df88a50ac764e2e0155896d3cc8087";
-  sha512.source = "bc3baf55f86bf4abbb1ed3f04f09dcfc12fef4e562736b5e667197c02854aac1d34a1b2dd2ddac19432468f106aa75c155d48b9c96076b6a8e68d49e01a64875";
+  sha512.run = "71ec09a2aee5f299e9620b9b90558bca11415cdbf4304d0e5777896f85cf4e30cc39508fd69ff831a86707e230cfca1773fd9a8bc50c37f310f8bfeff629d2d6";
+  sha512.doc = "4bd240f3ce155ea517fc267af1925f2e84f7af694a1ee4a068a2679d97cb6f97fd77f8812017e05f33c935bb54a34459a9deeaaf43cdb4ed69d792676316734f";
+  sha512.source = "33579dd40ba708e2e8a727f923f727f893f2f8e9562d369b1e025b50300250010d2829217a7aa72c1ee5781f3ed501e60b010cfc3cf3211b4bed1168494fa4ab";
   hasRunfiles = true;
 };
+"nanicolle" = {
+  stripPrefix = 0;
+  sha512.run = "3e495d68e20596ada67e55fa7d7273aa0bb19ac8ea41abcede5ee66da6870d3a1703c464c6a7e911b0a202c6062bf1afd7700755fcca0abbc80d0e0c8afd5fee";
+  sha512.doc = "007352388b415e597da827b25c2b8773e64fddd1b2910639139add09e07076a0f94b0a70422f1ccce0c00b7b7ed5f6534a8467e5257dc4670819dfb5d9f61fda";
+  hasRunfiles = true;
+  version = "2.01";
+};
 "nanumtype1" = {
   stripPrefix = 0;
-  sha512.run = "398b8cf3d14c8a15b1568f095233594c96fa1b4e15605b1bedae93f442886279e63923047d5481458bd567babfa92ad3b53a2039523a13ce87ab029782e6ffa3";
-  sha512.doc = "61e36e9a299cab348b9c806bdc1992710d251034bdf112528492279075b0dc862cb4deee35b97aeb637fe0adb5c82473b5f61290aec7a21d5f8f36b66f6588a6";
+  sha512.run = "fc775dae204d8f1ca7e05005ccba0bd568f00819519d34b2282028d7f2b89b9c1f9a091ed192def7281de97ea97c75b9327727489e8ff88585bb97cf5e8b8f10";
+  sha512.doc = "ff0bd0bcc32eb8166e7bff9d440692a3c21c5cc7fd7b8139b472fbc2e079cba0591d162e2a81090919990dba31d1e04b57d50c35ac1d0670ef9102c64abc88ad";
   hasRunfiles = true;
   version = "3.0";
 };
 "nar" = {
   stripPrefix = 0;
-  sha512.run = "21aeb077ae2f4beb784bad979b7ea27069548d0e968894b190ebf23c333180da56bfafb2b9c7e46b0ac135316e0c04d187c58331f546765c599aaed42f1d260c";
+  sha512.run = "212f1a002743ba14eac41de05a88325533db8b25d9f12b141064b9aa98f78dd5c28caa7cdaa4419829e6180e56ff93e42b069cdebb52fb8ef40c9652b8a23c79";
   hasRunfiles = true;
   version = "3.19";
 };
 "natbib" = {
   stripPrefix = 0;
-  sha512.run = "f6963760f4b2b025c36a4dc89aefae1d4ea50f56a5da51b22a37004d585fca5d2184ab917373dda9770877fa0a06b83f62ada1564dceb141bd414f2d0abcf43a";
-  sha512.doc = "c98df2529a88f3277f9245ef8666dc415927053f172d3988480d32314e717dcb32516aaace87a9e6213824d4de14054f81f87b7117d9c91f1aaa7a2d9c74341d";
-  sha512.source = "484408436bc66654c81d5471048bc55987201ae84c9d453541a5d0ee4b6e00071d14712f3a8d89c0b9348e76e41140557ab0c70442d6840db00594c32ad3eb56";
+  sha512.run = "7e78ab76bd86a864eeccef86a64fb28b6b063d5a12210da80f0c5a5608df429fc2939580b88263dc50fd68d841580a12358617e20a0048ccbc9e148ba04d5f26";
+  sha512.doc = "afe78103a6ba2d58c6f6ba6927101cb481abb1b028c4cc09dca59296d30978c636e837c248eb4f8fa44aa8fa7f6db1e1b6855afac9d99b0cfa030dbad6e59edc";
+  sha512.source = "ac850d6b92e7cf538f564d052593319ec1b1366d74dbf86e55f0c59ab3a01ad79b780378e816289aedf9b645774cbde56b7d186abafa8d1ddaa6c32d676141eb";
   hasRunfiles = true;
   version = "8.31b";
 };
 "natded" = {
   stripPrefix = 0;
-  sha512.run = "75150292f9d002a14495b55a6e1b33dca5e20db60b7557bd1286251615f396c2ed1cbc25682afe47568b3d7b47c247c3ec4b2086bfddd1a9ef459996d50db0b4";
-  sha512.doc = "c4bd2f734e281901e4ef0a6685d3f4a13f432ef208acbfee2909b3aa0ca25b9e013920389732c6e5df407912890dd9f49755ea0be06374d806dbdb5bef8d4ead";
+  sha512.run = "85568d2bd3b729cda5e4512a2e3309353e7abdcd6a02ee3f86e07bf65cd74ca9581d7b2746d582b704a116313b77cc5ea94f19fe0d233a3b41c4ae88a8704f12";
+  sha512.doc = "5cc23aaaf6006c1f77d676ad1f20d3a62d9ac8d8be6f41e68085844f6060d570baa04000bf3108c975add502c7ad62086509464753474a74c43d045122b28294";
   hasRunfiles = true;
   version = "0.1";
 };
 "nath" = {
   stripPrefix = 0;
-  sha512.run = "fed2ec738a13b18779566ce59fbf7bc1dfca12e9da7f5056053309cec3bfdb412f3a6d2938c1a43436f36b6976465e3d0d662c89a98169364bd803316ae882f1";
-  sha512.doc = "a223fd508230d1bd656e2393d50c7d6bffa81fc9a0bb2d98ddaf72ad7f8d5395a25f0dc83105e1beb044ff78b48a5ea098b88d1f8ae3c5b32221d2804360c0de";
+  sha512.run = "2eed9bc55d9d994df8710703c5acee9fb07d8c9732288740cc3c20740bd8db1e3d22617886818ceffb0346110dcd0dbfafaf192878500b2865523d00c6e02bf0";
+  sha512.doc = "ea75b3f282f81963484b2f6b29513a99f3153f222931dfa811deca40cc79a814a225a0a79e67237f53e3aabd33f7749095d3c7fb8f374ec802ee054ebca291d4";
   hasRunfiles = true;
 };
 "nature" = {
   stripPrefix = 0;
-  sha512.run = "4cb8deeca6070d5b2b4b1fdf6769cd59384bff0a8be4e901f516b3882a629202424cd7aaa28c25fb92ee69ddf3718475fd5c7518d9c6797edeba7537ec4f4124";
-  sha512.doc = "727943ddc96986222843ae5135679b4f790e27b6e75d6fbb23724732a5b83a34aa8c75fa9123974f9c777c9e0a4728c28557e02ec0d3f34d24ad0dabd82ec01c";
+  sha512.run = "78b6e945642bf2073e49acb318a0ff78c1ad24d38c28133b08d5e2881e6e5ee2dd6e8634b467047145dd72d08bfefefc631fd81c7e0facb590be2f9f4798ff6d";
+  sha512.doc = "cac72025fbb65e32fff8dbe3a457e28b2953ce2a14b9359b93724073d1c56761524f2e3200f80aabfea1aa0747fb010bb78586978856c89348fcb255630e5d9a";
   hasRunfiles = true;
   version = "1.0";
 };
 "navigator" = {
   stripPrefix = 0;
-  sha512.run = "db78b3bb973c11b66da55709010e4185fc1222cfba604d9f546130f8b1d0f908896d0114186a96c96fd73ae1660c0d1aafcb65434256e7d1d4b18297f88ef12c";
-  sha512.doc = "f04d3bf6c4eebe7bdb2187a0fa8dd96acaa3083e2ed00a90246a2bf93ee2c0afe65c07c4a106e57c98201e724e22e4a990fd039d0bbf575332dcf772df54806d";
+  sha512.run = "868f3c08b71f670010fdad0320e4792929d31c2be1b29fbb38da518288596dc299b58635ebc8e7551b9191954b76280e87c47b1eb3c4987fbae3afcd133a5c2d";
+  sha512.doc = "56605790284309e8b6432152bdd6765172e9e7c9c6ca88b07ce5b4b19ac792df21879999a47663dbffe7b3dfcf6da0de3e8f8399cc65fc96dc2e8e3a57350f47";
   hasRunfiles = true;
   version = "1.1";
 };
 "navydocs" = {
   stripPrefix = 0;
-  sha512.run = "32c697a6ee3fdc77c669f7fa8da5f55a5158dad8932130183988abbe6fe84e842895de2d36ccf3768572663212c3216cd1664db4889982e8d0a9748b28096b6e";
-  sha512.doc = "dad7821a7e1ff2dca76470c535334be8c4bc8f2b9271f3c4113630fc97954fb7e1cd85b688f9588230edc9b53119c2e04d1ef30422635a38b4f6f031be0f0b6c";
-  sha512.source = "25127ad0d659e92c1b3ee051b601a4aca0dfe26fccb6013cf35ff38b052380386e395bed500b36556b7356286ec6312a9720e385610a6282e19a3564394a735e";
+  sha512.run = "b1a5afb90babbdf8fbba1915b88cdbf30a0244d8363c25dd9ce33bb153f9e8e0437146d9883016a40b1cf55c1dc02a06a7d2b72947326f5dc13998beaabff923";
+  sha512.doc = "2122252986f1fc852a121e09ac4f6a6a6c23f9227e374809f2968e729602f6d870bd9293fe1d456c4cc04aa48ee01361d37695c7290bb047f2c8f9a41981d3d0";
+  sha512.source = "aedc1a3bde2379780b1042f9fb103081acde19e4f76f5608d0382756b8f9bf0d4743aa3aa66556bfc9240d2044336a609f3b1efbf0b4780af87b66109293b225";
   hasRunfiles = true;
   version = "1.1";
 };
 "ncclatex" = {
   stripPrefix = 0;
-  sha512.run = "5968654afb4f740dbc3d22bfe83c455200a8fe34a17eed375119ca8acf5d7d990f6689b1bb5ea1cde70adbb0a5b13525ebef2061fe6eb20a964a480edbf1f641";
-  sha512.doc = "a65c5f3f1c270f38f6b29ddd7b5764b1ecac96804640b336231677d01f7a00f844ad19f6ad971f4a14150a34229098a51a98ce0a0c63cc9198c3dec483f1ba81";
+  sha512.run = "88ec3d2c350521fdb978734d32bb7eb9bacee0ecb95ae051d7bb039cb86e6dd1eba3b4ae93881ef8fa2623e99f6dba9b126373f181c4668176eaaafa94aa992e";
+  sha512.doc = "e9c08ac08ee2316b07610bde89aee98289b937e8dbfdc86b392cae02037632d6d303c799f74f381f89a6bd4f4397a8c4d78025a88b8fa4ebbce4be663167f2ce";
   hasRunfiles = true;
   version = "1.5";
 };
 "ncctools" = {
   stripPrefix = 0;
-  sha512.run = "b7860f8185c045eeb12fb25b2f3d71d4a795318f239e0d5563370ea55e6b74d3f7fe9b66397f329d572de7c33582a0528cf9b934fc30d90b5a30f85d7a928aa1";
-  sha512.doc = "9352102166682f1ea8d7eab9b9d38e1b243a89bf0eb12c9bb0d5b07d535a97c8b763c8e064f8af2aec96b2b9bcc017cdf0c964fc1a3538efb8ba4fc2ff87aaa5";
-  sha512.source = "2bf1a0bf50d2e449a09ea0814205ea779d2cc1af2a15c4b1326686e383beee80c8d723ae974db1588ba596b2dce5b35bd5bb17c0844b4a0d81629800f691c9d9";
+  sha512.run = "f7ec6f6c51d2a4f071b85cf28299a4a11eeabaf225c85cd0144bb0971ec3da44ee9aeac7cdd7501d258b7e8cf25b3e3484cd60dbadf0ff3ee05767c713c12dfa";
+  sha512.doc = "a594e74455024dff7d38a8a750ee02637341f84d342a83409ad0e20a1b0f292c370e16c1b267c2d6a58975f45a6b4c1092c8518653994392cf4dc08fe8553644";
+  sha512.source = "9fd3fccd2383ba6dd9f32766fbabb5a2c108c335eee1b5fd6dd11d93d5d6944bed22877b640ea676bf9721a69e34f0500a3bee131a4bc65feafc348207d131b5";
   hasRunfiles = true;
-  version = "3.5.2";
+  version = "3.5.3";
 };
 "ncntrsbk" = {
   stripPrefix = 0;
-  sha512.run = "58adffff045364afc9d9c04b5bfbbd5b16df8df002648057ef026971e7f33c3aa34293335bc1ab10f6e1190b5e38bdbeb6a4db52f5df9f55a0bcf20ac7b08b3d";
+  sha512.run = "e023d0a407f666de1415728a90014041feb5d04ceb1007e8fc293452ecef1b9bdbd014adedb9e25993e57c0196632b1413ec19893f4c37c26a8e8e42a20a9de9";
   hasRunfiles = true;
 };
 "nddiss" = {
   stripPrefix = 0;
-  sha512.run = "6509a5a7bab6f1698d1cd870f02fbe541479b7f631689ad21969008df3e6357542b2bd087c94fa3b7f471713fb361c54cb3b18c2b9ce81b9a8af9f280acbe594";
-  sha512.doc = "8c4471d989d15ba37fea0b92abf25a15202eaee7dad715bb4afd219a8def23d887b618ba9fe7cc0887ad99b4df5068f5f22d13f468f13fa209f5bd902eb8e770";
-  sha512.source = "255ba4a75d31a578b7e1912c27be056e796b7c37692cf3ee71a6e4482a001b7299b3885a4997dea73e6f6cec1fec9ce9c4f36a270baa51ae1bb78f5c17f4edef";
+  sha512.run = "62f951bce52bab564ab2671bd5d019ff9f6f5ad1d8a18ae9f8b574226aa83e4d3a9c6c931f4830f71c43499f68b8b06e539d55a027e712ce4cd2c03e349d3fd1";
+  sha512.doc = "bd92c614f160c50a22ff83d296f0e511909906459cfcb7100c615170ee9fadbd38ba032bf95f7b25a083cae33c80ede96964d3b81e23c481fe5a836d91967ad1";
+  sha512.source = "498e13f4e4bbf8e2133870854f75feb5617a517b55593ab90c203ba860f95599ac5b010bee58d4f35706a6e17bdba54c66e02e04281bb548e62b335c576a6357";
   hasRunfiles = true;
   version = "3.2017.2";
 };
 "ndsu-thesis" = {
   stripPrefix = 0;
-  sha512.run = "2b119038c570eb666ce5040d3b507233d8d4b102f19c6e79df4afc3e703ca006ea537705da840810c430d88fa1bf31967348202c4b2447aa5a9f1866720a12c8";
-  sha512.doc = "3a700a9719b740360c229598d873b0b453406c360984272f4de16f1b9422333db20962c6e19f9d6d0adf37fd70488544106526f944fa7ac415f3e2482699140d";
+  sha512.run = "d79b603726abaa506ec0cd59c30e4c341839c1dd6f7b7aaeb536385d22d69a37d764499aba390fe7e1efc6a6e25ae6dbb7e92bf659a771b6f4d6ae3b5a2c98d9";
+  sha512.doc = "8e93554ef50d43562d1c42fff3da81b77b4ae444d644e5b1a818571e80cef88a2006f1b1c61c320e467724df7847be50f4f3ec1663bd767261720cc1a80419ba";
   hasRunfiles = true;
 };
 "needspace" = {
   stripPrefix = 0;
-  sha512.run = "92a40bc763d8908426255ef02829477b3a11cfca058ce1849f04e71af206e4747ca26144dd15bf2004380e524785a690e4003f9f01c9c0248b54696b9c7f2588";
-  sha512.doc = "559cbec49d49cc2ebb3f2cd8346bfc80675e3d55e91037c3abe12886f04dc1bc6f8733c91dd28fecec2119b3d6bca70695c9ba37e68afa91a270866f5765d30c";
-  sha512.source = "82c99a02400cb05f3e2f92ba58fb23fd36febb03bd68b859d88d7e36f76b8cd9e510834d92d72ad52fd740ad6c1ffa8bad71dff41dc7794704d4eec01374479e";
+  sha512.run = "663b2ffe30b1d9a588183916ccb0e3fecf3098d3e67f2a40fc49e1db1e5c1a892bfb56eb177bccd923415dfe51d4a225e2017be3b2f3f7185071836cb2e04391";
+  sha512.doc = "3af05a6704a8d3c9539cab0871f9f9c8b7a241549c1b3127dfce2a0eaf77b87d54fdafff4b2749eb4614ad9aba45bd2e3d695a92243ea30472e62f7945eff004";
+  sha512.source = "a629e9b798ab772feed1e66b773fbc141b0b2c2cb6c336acf61e8e3884246da1b36f90260fd47121e53e552f6569528e81ee788b6d1779c9e87eb54517a2d787";
   hasRunfiles = true;
   version = "1.3d";
 };
 "nestquot" = {
   stripPrefix = 0;
-  sha512.run = "115478855b7164ad723afb9ad905b74ff26eae8e8eefccf345a1a774ebb1c200cd6386896606a344ecd4a7178a0a8c5b1e45d592b3a18615cae94e06800a4d3f";
+  sha512.run = "cc75905a3423deb02f226340eeb6a5f97d9d83470f156bc75cdf39569da845279fe8d4a3907fdf269bac75e7afae02faa04dea367cf0326720301ba3f1c31395";
   hasRunfiles = true;
 };
 "neuralnetwork" = {
   stripPrefix = 0;
-  sha512.run = "6b14a5930a3e0a608602587d0f4a357da87cf9b4abfda04f7c916725d069ddb67b0495890decc366edbb271c4e8cb2760741446ed09060d540162401e3c7ac4b";
-  sha512.doc = "bbbb2f0cb508f6c9daf2f19d857447518a4bed1f547d6e12f5c7efd6a92cfd9065419140668df0817571fc9f03ff512dc94b76158781fa83748d16c0b94c83cc";
+  sha512.run = "ba66b86e10f4425c063c76ffcc97759863677a673960255d5c335d215ff8c0eeb4d0f12fdac584ae1fdcec00ab04705cad716ff9290f6b1ca9c8635841f580ff";
+  sha512.doc = "fc2cda90284e4360c9dd9c03611f582c7c4569331a3bf04d51152408ff8533dcc1f398f641ece389e63f9b7dd12ae471c3f6b5d8fbdea5d206afb1ab15df4852";
   hasRunfiles = true;
   version = "1.0";
 };
 "nevelok" = {
   stripPrefix = 0;
-  sha512.run = "b2a04fee4e10efe9d23392156922f34558a6f1c28900c8fe292793a82aadb09334142d124c334ff0a493d8f917197587c27215a4d0628659f18b132d20b46022";
-  sha512.doc = "c92b44f736be87dc1e0fed530e67d437bf0a389198fe566eb43126a6baa2b6520aec66e803c765e64c1c6dab99a7af1e037ede4bef9ce1ea1d9df0249fc4cea0";
-  sha512.source = "43c8c92daa96bc1942adbb02164badab69c05f19a52c7e292adb46a501626cc1c55a4ce4db66e4c964cf664e7ea76fa48be5b3356c9989466504761c4f1be5f3";
+  sha512.run = "01d207fe9d77df0a225cd5fe718f118bc755c1e23c9dcb2bc4e0b4c2983205469baeeefcc195b150cc54f4540ea71d96cfc393fe61a32f7e85d5c9b5944c5938";
+  sha512.doc = "653fea96310508e8a30c76821d1cd83dbf579052fecbb8c859d40cb39926d24ae0141b4788901b34b4839615b33d5995eed2b6a27f6abcae981b9d47b6ebeb34";
+  sha512.source = "455ceb971d4617b096bb2d1c42fdb487208e8c6ccb3fa94869df08c9e89516e0f5c9e5513b0573d17929bc3284fa41ec19ef092ac7c7c99ca8a7f9e63a1559c0";
   hasRunfiles = true;
   version = "1.03";
 };
 "newcommand" = {
   stripPrefix = 0;
-  sha512.run = "a3073abb1742218a971acb1e87979f9d7b34a0328a539ceda5c4ea13b83adfceeadd79028cca77a86229710fb6475db984f0b325d6cfc5744ec54a9cf74f3ee0";
-  sha512.doc = "5f461359b43cc2d20724df697125be712fccfed8162cf28f467d40b8838e8b34365039d31e311427d565120ab025536dc9ee7691aa84146ca62f6151edb036ac";
+  sha512.run = "e4716ec35793f0ed4140ed3bb221bbaedaf121b2529dbde5114a575bfb8aa32a8fc56e79e43068adf560423aaf68c5f09dd5d6b624e37005bbaa4def2b280060";
+  sha512.doc = "84f71adb1cdf4213f34e30a2737f41c93fd0e8ac4970b2adb832570c98c5f3876502556392fa077a8cb647a552a8e914b2a30e4e38a039c355802e2c85c5f3e1";
   version = "2.0";
 };
 "newenviron" = {
   stripPrefix = 0;
-  sha512.run = "19fe6f74363a353252edcef9894ac93f37f03dd507d5a113a5c9411c3a333fe6dabe2a94d0cfe9e11949b959d65996f6ab22ee5ab0518ceb2962987630e7d3c8";
-  sha512.doc = "ccc086951b0ca4821d47e58b4397a1413e83359cd4df29ff37f8dddb172b6a60b45c3e6846a4348e337a463d656bebc72c947945ede385c88783cd994fd5b3be";
+  sha512.run = "4ddcc24de158fb1a5b585c65adf769c3f92c4598355306e08257f4ef62718c6ca7f2dea80d742759601b37133a951d031445a39ed5d8062496459cc2f98a71b4";
+  sha512.doc = "cadfcd8ecc9c0904bc9a45542a24c1b6907dabacc94f45a1ed1b885557304a27e7e836b55cbebcc6130da0bffeff7c56fd89f0b7a16430dacccd670c8c6ddc7b";
   hasRunfiles = true;
   version = "1.0";
 };
 "newfile" = {
   stripPrefix = 0;
-  sha512.run = "ea4deee4e8012836afe4edf6862f165f3cb294fa1e9aa9ef4a269d93e62073c47caa31e2ef9ca00402de2570fe0923b8faf1ce2387ec33a81e86c477ecc1463a";
-  sha512.doc = "2cb3c7c931939299d6f42e2c2a7b96bc30aba12eea3704fe0bf79d9fede643275624a4ada4f1b9870125dc8eb943a0a5ba94faef54b3f54371a3058898a62dfc";
-  sha512.source = "df89b5b48a04c46a326e892464cca3d7dbbd5df9137c6b48111d2574adc7f678d741fb13eef71f0f6de08766e5574799cb0f9b52dd2e166130206b6bbbd7bd90";
+  sha512.run = "b949934073af1aaaada73c93e493fd39ca01ad625d72bcfa5df915b2c2f759a39d77b7c2a0a952711c8c3e0af5e6cca59eb7f333fcd27e7232c3780ad5400ec8";
+  sha512.doc = "c2c0e825ae7fee4fa551e831c822190f7682392d47bd8bffa3ee947900d6eaf00a363edd204f7404c834ade0bd5a05e9bb0a8284f8c660eeddf7f75179c0060f";
+  sha512.source = "9cc5d4e1ac98c2884af3a2e5d11e9cf573660679658450d0705d6d0c4004a8994c3b471078db8a6a95527f5aa84b3a7ea18a1c00b7cdcd9169fa1cb870a277f3";
   hasRunfiles = true;
   version = "1.0c";
 };
 "newlfm" = {
   stripPrefix = 0;
-  sha512.run = "17a76c4846a855861719232700f5a009ace80a92732da459547f792873f512dd664a8ca8e795e9a0aa8104dbe80a9d6f379bf2541d0a5f56732f85a0fc28b87a";
-  sha512.doc = "86f3c197c410de4439cfba37bb9e62a519d58a438c804eb8d2b2714762df491a1934dd90c1a3e752a9fbce633adb5f23ae75b7209864a221af4032dbd6b0555d";
-  sha512.source = "56b5bef7787e953df41d73851bd5cf747f151b4c027a9bb9b3489d0a7a4ca8875754980329bea5a7783a056da5ee2223dce75e403783e529ae174f07a1d3c7df";
+  sha512.run = "72f7b087ba1002541e3d26d5b41b58380443e30061b92885bbd3bcc017b17cbad9227c14074a53706b98c785117c7b07c6d49639c84c617782066491dc0cabf5";
+  sha512.doc = "8391122e13223055582bfe0f9e6d62315c9a48588848ab02cebd5b2d7045be5f1d476145e8ca29392820d4ee018b9f84380408331b3ea56e7e99071024a8c369";
+  sha512.source = "fa807aaba787c52d3e769e240a04f5fa23e469908d2eb5a60967e2b08cfb7a694612e85514a56c3138925ce2f3c480bd5b6d0f701031d8ee8e646c3017cd0022";
   hasRunfiles = true;
   version = "9.4";
 };
 "newpx" = {
   stripPrefix = 0;
-  sha512.run = "e1d60f4176798a4efb0bb6a810913a6fc6e23a72abbd83a6915beed7474cfcd7d18b1bfb3545c961041ccf9c853121ad932a792c5bc8869c7e73f6189be8f37d";
-  sha512.doc = "d19376765521920885593cba5a0ac4fcfbb3ddb84415ecdbff23625f7058723b1f6155a348a4e44810600c4a5ddd05a3caf5a5755cfa6dd267cf0ad0439fc7bc";
+  sha512.run = "bd5b9831b0c42c3d3558081085ad469637390d8410dc65ef622bb6cc01583b8b1d7da3b2a6c4c0a1409e1aa15334ac3f33aabd5666dd986c9168203204c143fc";
+  sha512.doc = "4a9a94af1171047411df91dc6a105f4fad7431259fd3035f61fa34b5611999486ccd031b1964b367d75a36bb77a92e7a368681fd2e6df3d9160b22194e90e1ce";
   hasRunfiles = true;
-  version = "1.33";
+  version = "1.403";
 };
 "newsletr" = {
   stripPrefix = 0;
-  sha512.run = "911147a1ed8d7235d6ef8143067ec36b20e007d217080eef750125a6d7ce0322d1c1a09e3b89e0635a780390f0fd39a720c904d51da18da8914adf4ed6c64311";
-  sha512.doc = "b1d62301281bcd752f7f90be2c8874e024cc85bfcc29cf071a542c09b57bdca863dce06a3dfcdd01bf941e42b9c0e0851a104780754c3cd67fa0feec95ebeacf";
+  sha512.run = "e2f1995420ed7b94b980fd794df5dca89e89dd96daefa43559d568881ffd17668717de1baaff18bf27e8519663203e0ea7fef214b8f7541bde81d436a3a5c378";
+  sha512.doc = "aff23fd9e3397c52a1566930d6da6184786f07adc64c63e5d9e0062451014d261db8dab06e9d393cb66b3b56a51b57f494f01c9ab27b05bbe2a226cd4623d590";
   hasRunfiles = true;
 };
 "newspaper" = {
   stripPrefix = 0;
-  sha512.run = "9f3ef522c55c2623279801dbb5fa92e41ba45b1b74ffba1d2571a82b5a6173cfabe35b13deac3c1d9a49614802797a3c54c12bfc4abf06c1fd2b647f80b33653";
-  sha512.doc = "95f37bea9eafcfe37c102483e1b8d7d5284316b9d5ceeb5a6185af89d505dd7dd68107a4e90839a10a9d64a9c2e9123654ac003272a69e2c4e488eb753b0b020";
-  sha512.source = "b3c904af397bd8241feab3e8eb04170ae225891f005d3bd87adc2a5bf9d01c6a01decbc3ceb67933aa4ea3dece25a1cb0880e5102cb737760f3102fb7f89d105";
+  sha512.run = "227fd249bba9deea4f191c59060c49d2d1cb8e367bb3007d3b123c17dd4328206962946ce3f637c8e6ae079a9c95244ce9027b0c9f83e0901801dde066a0405a";
+  sha512.doc = "b08d57346ba93e37e93f3c6e2487d56a0ac67eac0e4d9db564d221319e6403a1055729a2a1e43db4e161877b7300aa90e1853d75843c95295481d7cfaa3f6c1f";
+  sha512.source = "172e832bd15e8aecf6f80f8cb768d2d7b3721975638007ce631b78cf5f6dab27ef24ff63f5693f5c46cc430bfecae577beefe4fd2f6fef22d6f5fdf9ff20dfe7";
   hasRunfiles = true;
   version = "1.0";
 };
 "newtx" = {
   stripPrefix = 0;
   deps."kastrup" = tl."kastrup";
-  sha512.run = "3939fad3b083885fabea65732b8da5dac0595ae0c125fb6a30934be403d30f835a0cb5b1371714842927bcf31d22162ec2e260645f2694c76630f08e04762dfb";
-  sha512.doc = "e0f19a948e33a95fb6938fd70efb6b26e422f8fdf22f035fbe2b25a44858f155481109d6e3207133040db0fe807070cf6cb31419dc0763397dd282c685a665dd";
+  sha512.run = "c765cd858ec698cec72819e61f04fc75a53aacbc2459af20ff1c0724093a41b0c1dca17168ad46d118adac6f0290757c1ca4fc996fa9bc2a42bb5a83bbd4e10e";
+  sha512.doc = "494520dd7654e414d430b77acba7fd444ff429800e0a98bb2e4af1ae2f4472ac12d6b959575f5c9e821185cbbfe8703f1f4d8097ff890056cea185d304491422";
   hasRunfiles = true;
-  version = "1.554";
+  version = "1.604";
 };
 "newtxsf" = {
   stripPrefix = 0;
-  sha512.run = "e28a38e32511d1a44f95bb577470379c8f74ee227901419275a3039e855f4fba3918905ce30ffe93b5eda6000d486932f43fd4b869af8191c3f7d9dac51d8e6c";
-  sha512.doc = "716d413cbd4571e2db0af0455eb2a0e38b798418631be9651b94687ed0afcae9ecd093f738b99d53d0cab5ad4b5c215f544f630e5a56de56134c8f7c57fa8007";
+  sha512.run = "ce1497bcc316b555b47dcab2bf68888fb580e0f1252fa1e1f73f2b3cfad2b9754ea4963ef0c39b967ac374323b6f75cdf28d0d25f93212b09a1e66bf90976c51";
+  sha512.doc = "426c11211d3f66c8d87b1b2522ed8bd9b2ed0e4e006dac4c0751d0b479100e2cc1aa60ab2c32b8e6362b767300f568ed295bcabf4a86c51f2ada7ea868483066";
   hasRunfiles = true;
   version = "1.051";
 };
 "newtxtt" = {
   stripPrefix = 0;
-  sha512.run = "9e3b978a977044ffa33a025bcbfe6351295efe3ef875d7f93b1aa34b430c931c21a91503513b4c08b880e6af88a744fa20e75813fa4fa637458d6699c166f7a4";
-  sha512.doc = "50f4064c2e0067893e487a811f5c093772616281fc8e163a6079296c251ac42d4e307a16797e6dd58a9b66999ca201fb29c3d2b5dea3d6e917f1bc58d3375f58";
+  sha512.run = "95c25791796b56eb6e54be98c522861d3704e76c3d2a88c871fb88c9dfca616867a8cb839d8ba9f5b42e03eddf6d27f37cf91bfbdaae5aa13c4ce9fa681be9c9";
+  sha512.doc = "c4f9e344d0060b569e7503d12b1021bfd68bc58842778d2d9c4014b9f70c10a9a23ebca6495f2acac358a4d6d5710e8db48dcf445b3be5d278cc9818a57bb999";
   hasRunfiles = true;
   version = "1.055";
 };
 "newunicodechar" = {
   stripPrefix = 0;
-  sha512.run = "2f235e5a9fc85969b509285e81a40b87ad1fa0fb0b03a65e2a695fc673a3cb0bc12e3f3bb17f5c3082c39332264ee38fad065254f4fb5417de62ea0f9e38dfaa";
-  sha512.doc = "75e0e692b0e6787a3614f559281067795ee3ab6cb7f75b6a001d3f1982d52a15124ba3658e78d390665d8bc3240d153dd6766c1aa8922f19abd315b26e7db93a";
-  sha512.source = "fd9a3e7342b82a9b7d99bd512e0696e92fa6f9bb61c74d841c7306449f5ada5f4f7d8969cdb058f2a7c6f05ab5434ff30923af4706c330c40f54d30d6ee28a1b";
+  sha512.run = "8e1748abc585f51033a857db126c4b18f0c42e015d7193f8bc7b69493fb13a218db38da97f3a6733df01dbc247093beb544651a050c5a690f3cd5479c4ad9e6a";
+  sha512.doc = "9ec3bdc81587e8b2553dd4ff45ca4ba0bb504ded0726aa44d1e88423cdf425124334d04ebfbdbbe57b576b0fa52cfe1771c97308f146ea19d89d41eb4475eb9e";
+  sha512.source = "0464584e516c8f5d9c7ab4db114fbe3ea9e07d33c1544109ebd0d3b25e4e3ddac222dd69b6a8222e290ae2b6a7d7166a76b54ff9fbe7ffd5225368986e2af6d4";
   hasRunfiles = true;
   version = "1.2";
 };
 "newvbtm" = {
   stripPrefix = 0;
-  sha512.run = "b9ea7ab694c347f8d7abf010a0e987f951df5a751904780750f8f52ad58fd30757056100b7687144eafa4ad10b59e1e19c5cb803ffcfda5d4d4b3ca98b836418";
-  sha512.doc = "b109ecf9dde74023f3fe675ec3bc92a8e05dcecf91db8d6d221c773c1e3d73c002588d95e982722b4e063ef29f841c5d4ad44c661bd2df447ee62ffbd04e0f14";
-  sha512.source = "2757b352d3c7e907c2450800c89ce2cfcba2e4dcbff863eb59998f34e4338a7613e20f30ed5922532062fd8c0f3d879eed9801c6b6eff6a88557b92a6859bc25";
+  sha512.run = "029829b1da07d7e2fcc5950c32021707058f3d7228f6ff82404aeb962663277ed107934f04a93e7f43bd7b67f7034821437f3a8116f21028b7c9a154449ea53e";
+  sha512.doc = "dda7ae47bb076f03cba83438c573405f1c67e5407d83fa0894e9575952c284010b62f62720022ffb7a8e723e829610d1e8ff6a8b5098c92207e8ab8755dcb409";
+  sha512.source = "8d58e55977d708c8e3fd9ea6394494f68ccb21712703b2302355234d12355c23de97cb392d7ceda95bc078ddb2cbdd2030461b5b4069805d4ba01b5e3a8b8f59";
   hasRunfiles = true;
   version = "1.1";
 };
 "newverbs" = {
   stripPrefix = 0;
-  sha512.run = "00e959968ff1179560727cce60694d9caaf52aa707e2363974036c6743e786161bc0d60ad3ffddf3b0d71b0cab7f418f5c580585e30bcda4edf6bbbeddb36af9";
-  sha512.doc = "3a53fd7f38f7e228acf25bee3335060a44d70ad7781768a2b3d76ce6fee02e4bf00a4281ad578bc12e4c98240e0a8eea33e1db59e85cf7633338f1fa7941824b";
-  sha512.source = "4b279fcc44af41ffb817a0a42d43dd92c191444bd6ae2ff99c302d4bffe29f6f86572b9a0c9a00b9f0a905e4653271c7a9f039b6a0e4634a1c2c0faf89924c39";
+  sha512.run = "1a076aadfcc8b82d3b003c0f7bdcf17e3c66aff17c7d1c3946fda3d67d44e6885f35f84033cbc1cd8dc3b0c3d90aaf63ace3152fb7619fcafa9d1899c45140d5";
+  sha512.doc = "0c29b76949918fa03f4e4b506f35ad9d0cff6036702330d4e7771325869b7f5effd4f562dd2416d7c15d704fac60efa525f187ebee67a29d728a0d2490d2d266";
+  sha512.source = "d5869de6c0ba7dae4ce3ef4573efb43eea0e769974519085b26a519174c3c64481775385b0c51365464526d304424f9ba86949c22e42af1a914e9ce62c1bcf2b";
   hasRunfiles = true;
-  version = "1.3a";
+  version = "1.4";
 };
 "nextpage" = {
   stripPrefix = 0;
-  sha512.run = "7d0209ba89f277593c9abd58fcecf0fac8face75e84891f86738297c4b546c0df5dcc74f986e51b6f801b05db441e927647794893dae801210b099e94226ff0d";
+  sha512.run = "fca0aec60c5c7277dcadb0f86d757617484d700575fae13df8b386775e153ea89c52935ffdb2448c52e351593b396fdf3394f5b97e23a0d2d40dac339e584f59";
   hasRunfiles = true;
   version = "1.1a";
 };
 "nfssext-cfr" = {
   stripPrefix = 0;
-  sha512.run = "f02f616f2be081b5622bfbaf05a55b1980bfe6a86d3ff6ccc5f754010057758798c9a32e47644f95179d5870be51ca30b2ff6cb82b05d95a8fb251e6d3fa3e4c";
-  sha512.doc = "23ae8b56b7f963275f32ba43f587a47b1908119392b32d044f8a833bc18c63018a4c20c4b73781a2f071dc7480d837c5ce18f5208c6e7777eb7ab6ba65af6b02";
+  sha512.run = "5083d4ff4168b857a7391855ce02ea354cb17a26242a3e3b2693d6bbb35f722f750299669a37afbb99a52180433d697fbf65a6fb6afd6bd58d4b16c63e5b0d67";
+  sha512.doc = "28b2aff47d74de3a42c441dafc156297904b5db20d267f1af07d1e3210e7f9959474b3cec387be7d9b20dc04560b4100a0d9da6979ab8ad2a7cd1e4518cec278";
   hasRunfiles = true;
 };
 "nicefilelist" = {
   stripPrefix = 0;
-  sha512.run = "591ba654814056c213afaebfd8a235b6ceeda97c7d225aa3a4e2661aecffea1cb1777dfbc2f94e688edfd2055c529f9bd4f13960526c438511b6cd13d8fa03da";
-  sha512.doc = "16db26610924583864ca58a856b1f1013fd7856843c8dcd5b22b98aa02374f03449444af44326ce4ea20dc2c32f974d3fe97024a09135879514792167b422b18";
-  sha512.source = "f27a53057ef8f03da3f325016f54402b07e0debfaa26559398d9dfd5a2a42377309d985b4eb505ab85e0930a7b8cef867cd153f7c2c8043b5246cc846a6bc7c9";
+  sha512.run = "4e3e1b651a5f3828c1806ee199ddff3a022f27381da241f2d9400cc3943d9aa29e0dd56bd10d7fab60da1901f221cb54c74823b35f163ace0efbd3217b767ca3";
+  sha512.doc = "5c909c6dce453a7a73abd63896c0916db3f609b7d4283b70af33bfc31ec44e7aa5b3dc2e8d1ef6fb3d33605d23e079db4e7cadf4fa13197823ca3c177b82f527";
+  sha512.source = "b7915ca4c8a24ae84b1caea7bbdd395f5c12305a81f193f35ab4bfe91a12a21417e41b5d46b6ca72c69357782a1e6e4a8366e0bad85a9c453759ea6bd1ee4874";
   hasRunfiles = true;
   version = "0.7a";
 };
 "niceframe" = {
   stripPrefix = 0;
-  sha512.run = "2ab84908702edc7aa4dea2e1fad6688bb6c56b7c4aa8cb4b3d1c3fcd78f9193db6bceefc465958d24d7e0fb90da882c30cb75e24fd02bf9ebdfb3b097fa70658";
-  sha512.doc = "3719b30bc9208377f504dbc38ceb4cacef517649d31f7903a0d8e7e493da8fa5f46e73249e08668aed1467c39c7016bd7b37311ed8e6d04aa97fbe9c1ff6a73b";
-  sha512.source = "b0f4c0734218ae78ee8031371c1865026230a4054735e306b624ab434d81dd459ff844d9afd8e822af8b749d2036c04c05801f0d6b387abd17c1b59d986a9f98";
+  sha512.run = "539d4a6f3a192188064fafd94366ad2f8a9146175d9e04b08cd83d1386bccc730a0e3be4a9fd45e4f47152f10710191b063138ba504fca95e4226fc179f70a29";
+  sha512.doc = "aaf777520d300b5e8c9a17c2dfb5b12406f5e6926b17c4244feaa8d6c5bc28d87277f23fd814304a7efb91dab8a42e1ed88f6568b96f13f30c831e81201ff4f7";
+  sha512.source = "fb0106ee32e36d34767c6200be1d2415e11c275e5540dbd54777a6876474424f1c82ba52bcc0fd76da9ecf3b37671d37c762834b3e6ef714028c1917dee45235";
   hasRunfiles = true;
   version = "1.1c";
 };
 "niceframe-type1" = {
   stripPrefix = 0;
-  sha512.run = "bb660a9b735a4878e294edb66c87a39e47e52ed66717335285434fcc3f256298377b69b172ed81c3acba6bad8aff30f987021e08bd1583fa706c443540d6bf12";
-  sha512.doc = "548896af3b9ba4e5a64d301e8dc2823b32cb74ec7411cf6b897d12222c0f1be9499416ab12558e2be61dbd67fe9a3c897b318912291651f968e3f8d484ffbf85";
+  sha512.run = "c99757f9907622958267f042f0ee0aec8dc6317839fba05309116f9151e476e37f24dde00e6de59fb0204beb9383eae039c0fabb089d6349d6f6031e8df196f0";
+  sha512.doc = "5ab28cf7091ba993d7b4ac9f5caf2d563c60e63a3ce8975bae105f460e2dadbc963efd17b7ec5ddeeb8a35bea1b05a007590d3f6f9d5cf5dba0495e5b0ee8ad8";
   hasRunfiles = true;
 };
 "nicematrix" = {
   stripPrefix = 0;
-  sha512.run = "244a245bef80184ec0a348a25875cd774fb78aa484eeb35bd689ac72ba6f22097f48b9b2cb9b926cfa7646d5b7b3759c862f397d91bfaf254e9320ec67c9379c";
-  sha512.doc = "9a1dddd5ffab7eb662714faf323057ee602919c7161c332b258466fceccef8d5d51a76bb8badcf97aa53c0b83ea35807721d8ab587eeab216cdf2c2a1e3a646c";
-  sha512.source = "f444bdb2157a59dbf5e1e902f55173a3b7f720c991789c3803229f83f1f1f4363b34a3305ffe106154dcab42dcd6f1f688cd70a3573b051143b39c58fc3c34dc";
+  sha512.run = "03b9289b7d8edb6a042fb4f9facd7b933d882ad1b88a8f70da8772e1d40628a59b331638a1cc149f2fc946dc252b7878b5950cd92b9944e34adebf6e2d1f3b87";
+  sha512.doc = "71089524b9cf67d7ba7156e3f7d1bef56ce699e2b39f8879731d692f2f9352f772d04714d7f7f2826d1db6a0f1ca0860bc490644f0df82e8e52ba0d5d85d9992";
+  sha512.source = "7f71495b48f8563ab8adeaf021dd998847001f5c05c9d643619fb370126bf31a1ed269b53c7be670549c94d13d32ceb9a5aebe65bafaa6815d696cbe2f7afc6b";
   hasRunfiles = true;
-  version = "2.1.4";
+  version = "3.5";
 };
 "nicetext" = {
   stripPrefix = 0;
-  sha512.run = "83b062e1d59f7642ee9300adbde202902a6ba3c4aab3efb4a249249df9c05e85d89676ec92c36ab2e1014baff6e913dec11b194c465a669388864372559845f5";
-  sha512.doc = "d170337978b4d42e2b785f20c404574bbfce5ea29acc79e02cd33d43c77319ee7275a96320c06e4e57c92829251a7b72d826192f7a25daf98bfb757c211cc551";
-  sha512.source = "888818ccb11dc75d59a10d54934110f510f26ca2b2009319bbc726f655d95509c8583128e3a57c881b7ef35637e0ab266ec37107eb8188a0371978622b7b58f3";
+  sha512.run = "04a555a82287a39249cf6b0e18d890329098a1d0d6957fe9a1c535024b63a5f50b6487dc1fe4fd69d87908abd385b0366474ebe3af0b31f41f6a35c519a6ba9c";
+  sha512.doc = "96cd1694ae0cb116bb4620f7cdc1f9e24385886c78cf87466cd329c5ca0d78111005ff89e9be50f07078eaedb69c4f3d495b1fc5063a1a69e483b86a6c8534b1";
+  sha512.source = "d7c556fb2fc34e7eca9038667842825053ac03478e32a6a58cdda2209b33ece494071e47d54bb24f7c085f90b45375bb5db7781db642bd9f8cf661853d077f60";
   hasRunfiles = true;
   version = "r0.67";
 };
 "nidanfloat" = {
   stripPrefix = 0;
-  sha512.run = "ee424937c5e6433f9f103c4fb86e0a25d085b1e28233a955a689b23456fcfe16a1a6a691d5bfdf3f45e94e4f81fc217f75da5cb6fdaeb9de6c24475c03c0676e";
-  sha512.doc = "97b370fde5e113be6e25bd69ec4b8b03696ba472e2c2fdff34e09ef84c2722cd2d93cff12eb5b2931405ddfaf705b4059dfefb0c0709611f75f2c841ec08ca65";
-  sha512.source = "cdffb19e02eca970460e1265ad818a5e1909c882437c88ee6bba9f6186c83ab7eb0b2f70eaf85955d0f78fe07daa013bec72b95f43b71d5cdce602f32cf94075";
+  sha512.run = "42ef65277deaf474a619e5ffd570309db8c8349f32e9bcfdf216251e81136a3da87a745b3dcea5212f636396179210c6acaa96a957ffd9588d1f414d6a59bded";
+  sha512.doc = "2be76c8e243de71698ae5264a8e3af4da8dcfcd130b0554d1547a0a238e55ee71ec57d8757648b162a6ebd17ce1047206979cf139003a02921a4308a852f0030";
+  sha512.source = "8a778b33036445dbe375af746244433470e5d10a963ebbfbc397c0376d5c4f7c23cdbc2ff3ff6455e274e83b465a64d8bac5023e8537d5b949fff038098d862e";
   hasRunfiles = true;
 };
 "nih" = {
   stripPrefix = 0;
-  sha512.run = "60a1de7afb1e359e34a56d959d0672b4c6bd891b27052e0d3699ba2ce84036c286a392a0c4831582e72d3986fe550e6625851d50921eb65c31f268c72fed46e3";
-  sha512.doc = "17096627b5be33717431c839950ba0184f6a38fa654d1552c9df1adc93c9f785fcbdd22a518d9e14bfabcc51436b1451a5a2582df61d51cd1169d286e72b2107";
+  sha512.run = "5f016d57b1b55c698a902c7a85a652fdcd40062b409a14e38c1356b9030129b46631929e49c6fa70db7ed499043a75060c97919f15876ac7a647d31c2f0bf729";
+  sha512.doc = "1c209615f0745ed0ae4d2f4c55cf9447ec4711e9345ca3db778fbf45ccca76792039e6a7e51f2e7286034ae229b5c696ba7deee5bb8c224dbf95a4cccca650f2";
   hasRunfiles = true;
 };
 "nihbiosketch" = {
   stripPrefix = 0;
-  sha512.run = "4042d98133d4740b057f44d08d1079d247311a8bcc9f4d92b6b4d016f77daee668ade8918e2087f40c098738fd78b5eda10acb78b5f41e27d8b92be8736cc7dd";
-  sha512.doc = "4c114e60d85b75b11982cac780a7a24ad17bbb0040783728888251f56e2e674517c0e327aa9d52912cf65a3d03ba15cb5f4b36485b04d2c1a7dbec5ced467f82";
+  sha512.run = "fed3f5fc0886ad44c9f442cb0e4d3289d9027375e3b0563be9fdccf2a963cea09a0b16db2ef51a57e652f27a5dc5c20a36e9d284162433b958cd4fcc905989c6";
+  sha512.doc = "707adc7971861a35b352aba04521caa61ea3d84e15cf698f847be43e9a22e6157ba133f9d787c8c65610706481880571e82a1037082d00efaf08a5812f612e94";
   hasRunfiles = true;
 };
 "nimbus15" = {
   stripPrefix = 0;
-  sha512.run = "15fb112f6bb913235901a1a02ee396e00b9cc17252a0429a6762d90732712d06ef12a9f1bd03be85eb51c969af2bc9e6b42a2fa7fb621db038c6855e2a22b048";
-  sha512.doc = "c864b005f6214006cb67e0051cc9eddc5fc43bb6795b29ec0fd1214a2c86d0459a377388cc56e3f68d63fad54d773daf67d93531a243f287b6706a36c0e3eb74";
+  sha512.run = "914621d7bc2d7f17f5536f7298885d720b348f15ee45a56493b6e227b8845136ae9394b93a20b8cd48c8333131bad21b4be473d61f57d5dd449dd416c3536c42";
+  sha512.doc = "4721c451b5f1a108ec86e9db369f34015e501aac3185f2dcdf34151a422ba94276d51ef09d1aecc86616ef7a72fb911c5634247c36e7fec79b60203a5e42e7aa";
   hasRunfiles = true;
   version = "1.011";
 };
 "njurepo" = {
   stripPrefix = 0;
-  sha512.run = "10c2eed695c79d914ad1bc630d402e4a6eb9da43e9c38e22ab7447e12b3a1aac5fdd2cdaf02728d9cb1ef3ef80b67497e4d418821d726981a52398f66f02a852";
-  sha512.doc = "aeb27c87fa25a10a033b76260752924f61cf4c4601cd12c14f22029279bc043ce3d35385f73839312fd2ef562cdec4b8d98e2a168b3b76c2b8aaf6d98483a3a6";
-  sha512.source = "459724c5a01255f678ec695bb18b1b84e2641df7b16ee5b9f560bd8db7b9378666bcf92eead8d722ea589ccb7fc70877e79cc40f7f2b5f703a403ec83deaf49b";
+  sha512.run = "a62efcf4630d7c26bbedb19e0c4405e730733b71361cbec9abed7a06a377c230bee561d8b48427104bef8dbd4e0bd56b0eaf9f0f7bbcdc8b289c726cd7b6cef7";
+  sha512.doc = "61f32efbea3b94749fa0cfc3ef2a3b3a34ccfb4ed3b6b09afa74e4f6dbd2540c1a263c81ca6406288f015303250f51acab0b6a4a4d51c95a2f9bbf1f3360f8e9";
+  sha512.source = "6a790ae4e533c8e040ede3355967ee030e136d42afbe222a8fc4b7c3810817901aaca1625199d88443c8dd64d3d6b52ef9364d706fd1cfd5a6dd8a7916890df8";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.1.2";
 };
 "nkarta" = {
   stripPrefix = 0;
-  sha512.run = "de9569637ae849c272367dfb80c80cf3d0943401b9c010c6beebca8f8139560b799c77b4e73177437ec4d8fc25fe34cee904be765440010811e5a3c1be42acad";
-  sha512.doc = "61415d43578d178a708baf382758901c883c0f945a60ecfbd90e88af9bcbb87a6ca505016f3a3e9ea828a9884e8bc21ab4a01093806bde7ee2d7f3b79646c42f";
-  sha512.source = "5004d60e871be3c7888881d953e01aebf18c1087c602d1db2a99076b75c5bdc61726674db0adc7d28df62e1c634f0dc05721e30300c36d75879ef32bfbd757ac";
+  sha512.run = "60537472bed0bd22d64789008ff8bbbab92ffcde68cbd74eb0b6d9910705f9f476e8f2c4dafa0020a24b0ff2e27c42a39de1791f2c91040af07dd429e0fa28ad";
+  sha512.doc = "b3cb0205fdc567fbed23f797031e7336fb231c11490f463ee3bb3887e5d8ad1aba90bed1b14178b1d9ba15d76ba02ba93598362b9655eea78bf086c7df6c8b61";
+  sha512.source = "f96b85f2a779ae64c9c2a056e16d2d8473844b45c0d906f97a3b62f6f517ea614600312d44151d9b9b676f3ec7360638c72fd43c7a35e183bad0d4602dd84aee";
   hasRunfiles = true;
   version = "0.2";
 };
 "nlctdoc" = {
   stripPrefix = 0;
-  sha512.run = "0388fff1fd8167935f21b062e6aeb1e97497213fd0a81e891b92e8c30f2daf05661e42c3532bc4d61816c15dc1e645209ab3c629912fdf2f6d2e85cf8b53b058";
-  sha512.doc = "ca10cf38f1bc0bad96b8280139b60049e2857b330e71de43afd1a456a89eac67b5345e38316e7f6d95b2c443acfda34ff21280462b4b19d38e6bbaeebb7bacc9";
+  sha512.run = "a13148e7c821353e23d9f378313023aa9140e48108ee7af258a5fd7bca9b42e620ce8eca00c3f6c9a27d78a7a2085fc86f5a2b73456d093b1aea2ff8a2f54159";
+  sha512.doc = "573ad374a072c3fd99c72a719f05dc37ef0b53742e78b1c3512ec8c495adba78183fcd3cbfe9ab809ad603dbf63d7dc26d7212a44272cf9a1114d0d954bc746c";
   hasRunfiles = true;
   version = "1.06";
 };
 "nmbib" = {
   stripPrefix = 0;
-  sha512.run = "6faae2866e409fc7422fd787446a816e8d5efb1690a36a5f2c9c1b061c806e9e4ec42524f38a0039911f13c76c128887a13c58aacbee9fda794d8f05e6e3b275";
-  sha512.doc = "e5c0ab9dedf49127ad55c08a8607a28d18a60add040c4e09e8f06dad0f35f805f64cd2041658b92b9e74641f844755d585402b9eb209de8bea923bd0d8af466d";
-  sha512.source = "77e6d9da9765ccef6e383e25d03695925b9df2dced01633f368de3d3608c89bc52d015fb2e806104f240ab0400dd1a5eff6a3b0c84b1a59e8f90ab1331c0b078";
+  sha512.run = "c915b266e2a7644a88de6476bd4cf81943f7da31472f1b8eb889e048df8acc4afc36e247b8fc63bfdeb8c0384d87fc59f43d87f3ff09822d076c62a0edd1c110";
+  sha512.doc = "0014c7fdade3685ce03bf9fcc2725b430f6272025809e224b88361960cb47e5b533d88d60f0ce55e011dbb943c8fc025340fadc506eedf10189724ae79dd2bda";
+  sha512.source = "52297a890da760e2c945522094f128612ceb521500c81ce54da2f481581000bf42302665585fa056b31ff0f096a3a170ce56013e0979ae2043a94b68e7d32a5a";
   hasRunfiles = true;
   version = "1.04";
 };
 "noconflict" = {
   stripPrefix = 0;
-  sha512.run = "b4c99ae23fd8be538a08f86609c302a3ec117ac15041dde939750e4795fe6e4775a98d42af925377337f44ac351af5f82d56da2cbe1b2df6f4a75fe59bf3ea26";
-  sha512.doc = "8916c5e8d1fb18e0b7162041a27843a0603c6f02c771ca1e79c4931b12dd3c35cbacb072096452a4fac957848b16c1964e32eea796e2476beb8413585d16d72f";
+  sha512.run = "660ea2bc008866130d0955eabecf0afa1e21ce38fcaa0ff0d4364ebc32ea8af6a2ba57c80b340f824b14f0488d2b40e5c7ddcf663e37d6170a7ac0aa740ca260";
+  sha512.doc = "b403c57b0d794bd95416ae09ed3fbc0c4a164689f9885dbb15e8a4c25ff8751376e6e61b622c9a94feacc4dfb905a7926500368bf51e5e568efa31e1dc5c785f";
   hasRunfiles = true;
   version = "1.0";
 };
 "nodetree" = {
   stripPrefix = 0;
-  sha512.run = "5db2ec9d7e9abf425613fd305828c745d8f9947d12063a1209c15b82cc4bcdb3969c5a4e8ec39091bbc9b154e29971ae84eb3de971f883bcf32cee5fba3975ce";
-  sha512.doc = "404470cb8bddf82ab245a6b31e12a0c9b7bd0d80e0c2f7b479b1f06ebd9f7be52adcb52660e8f68a13ffbcefddbdd280cec44e3163351d1b7d3be507fd339abd";
-  sha512.source = "8a8c54af6ff57d314ac31f9e3d7145d799dc977df681d2a293bbb018054cd1e165215e16e4296e100732e4462d944e4bc9a7222d5e56cc0664731e6169b40b21";
+  sha512.run = "bc333202800520cf68e2aae42e849fdbbe8b2a1936245f35805adb3ba6795d724b8c6c5bf3973d760d5bb1327324c43721bef909d3440a3e7b8c559dc57aa61e";
+  sha512.doc = "d81032f9f78e49d49a6e88c4017a6f95ca8e3ced2a24210716d456ff4ea1461933540d0b553eb66e6b74c8c94e3f93328b9ab0cef2ea91c2ac37a1ab4a28ed39";
+  sha512.source = "a702d084e98c3a79df85baf0155d33b7187b31ab4d0c32af4cf3e1147ea5abcb6a989a5f09983d1e2446c11f9f99fb6a66f9c714553157e4acfc39003e770f2b";
   hasRunfiles = true;
   version = "1.2";
 };
 "noindentafter" = {
   stripPrefix = 0;
-  sha512.run = "a549b3ec893a48be88fdf854549cea49bd680bc7399d687434d0440336b6a34b526d551520dcf6a6eb31ccee20cfc9a2c82aec9046f37347fd5b7162217b3af8";
-  sha512.doc = "bc4d77c42c4373708f5e96b5d3f4d243a618cee9ae3c7ff7060de7f3b85b4da14b9cb0ed5fd0bd02304b5852fb173409ea7dbeaf9e41fc42a89c4bcbcee5734b";
+  sha512.run = "6037e5b7b36742c2956f39020f7e9bd2072b17ab313f5d7d86e8b0c348b89ef1392571b8cba22190221a14c6f1e44a0156ddafce8f5e2bbf5362e443f590b2d8";
+  sha512.doc = "1cc385e0bed9559d66c13967a5ffe83f1d01ad2005e4c7ca92243ca246da4f5f5e9abfde9b244ac54d73de4f874b800dc6620f7c93f6fb03a6d0ac8b2593fc96";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "noitcrul" = {
   stripPrefix = 0;
-  sha512.run = "c0801d938deaee7ab9da9ff27bddd0ae701e013aaf01bb5dd4096243172c0fe8db64028fe2c939ff0dd7b9f8b469342a4e37f6ec9e22634930901b127b4f9aec";
-  sha512.doc = "28332688444c498cd07f5c996ec1e273b5c0d45aeb8d5b7923501d415882ac0750e47fa55e7da94b66c0c03c82fcc3f741ca550b74534e26eb2181bc0c87a9b4";
-  sha512.source = "a695fce128a95573eb23ca4e9a50780d4f150940c0e726584e604802840555315dfc9f528340e0977e2e943a929e9082060c5c6f9dfd3f6476ce0779bf4389df";
+  sha512.run = "1629f5c0f832927093283cd5cb534cfb7ee35bd74f306fdf6cc18cfca3c72d5c1501139c180b7cf3fe71ef7131dd6a42465ee666c7bbb5c83a86f2a69a5a3c8a";
+  sha512.doc = "c9c3adf9742b329ddbfdcfc41126c22039e89642f0c0d93ad064ff2160f7708b62ab28994a81860aa08d83f11a111bc11a2a54bbab88bf3713f3f6ee4aa2e641";
+  sha512.source = "5be6bf65ca4dc0c5819a1bc870f704b595b25e5ed6900beb8a53fa8167680929a7fe038e80fef120e77d5b8731c13f92f7907469ce7aa4825ee4e207c09268a3";
   hasRunfiles = true;
   version = "0.2";
 };
 "nolbreaks" = {
   stripPrefix = 0;
-  sha512.run = "424452fb97c94e0b5405bbfd83cdec23734c26bcb2b3b0a9f22c143fe5ee6b16de3a1667f6f9b1c73bf379a63e670745bd6685404dd94d384d60e6c060dcff1c";
-  sha512.doc = "4536167e8d2ef0ac0544afd710afb4fe2388ad74f819bf9c4dab99d2d34a59afdc6acbb235b467a5b7ca36c22bea0e3c673e786c44afd112123e952657b4644b";
+  sha512.run = "4057a988b0357e2256eea6ae47c560d8535528e63b93d648c45d65ac44c4894104015e3411b7046606b9a68afc44033d037229d684f0c5427d9dd2ff5b272279";
+  sha512.doc = "8cd5d7336097abd2d873af36b2ba6ebc8cd1c405c9a715c67e6c04d02dbdea067c0b7a8603418005ce223e0f1bff161a3dcb669da7c07c30b2ccdccc7f953fa0";
   hasRunfiles = true;
   version = "1.2";
 };
 "nomencl" = {
   stripPrefix = 0;
-  sha512.run = "5df2ec52c326a2a96960d675075e072db16ff4fa8842472c2d1d5ca2293f669e5f4fc230aa0d21b7608130cba1a105dd4db6467f572c856d96e75a57455978c9";
-  sha512.doc = "b9699eb31a4c07b2c4bb4e80496225fe36f72668fda07e5f27fa0f36126d87ff17a6e6c8263e3c9e59340ae4275fc0ff17e2725493a9ae1237e70975669a7939";
-  sha512.source = "597f93ed3a7b46a2708ce32aaed045ebaa9bb8efbff8b63b7f11a0b2b3c9e9409abbf323519964bd9f59481d4cc15d7058ff919a2b1b305683daced7e9c6a5ea";
+  sha512.run = "00f02434a164b721d996032ee97e3d6594b3e1119128cae47ef759a935fd454ae477648d1c1e506673a139c52dd8e8ef74b349748759b109588eca353d390604";
+  sha512.doc = "b7a2659e324207e37c38d37cf372c237cc94a3f8902bf9d907ed2a45ecfa94d463b550a4c3339dc75825a36b1e89e9cac771cfb2ae6bdfe3ad157aa235f488d2";
+  sha512.source = "ccc6093b379548c03a070b6443f308f757ea425148ab32dabafc3c271937f5d090918ad6f3c9f013bbbc6534c12dc9ffd7e8786f22999a8640650386b8ca3e30";
   hasRunfiles = true;
-  version = "5.1";
+  version = "5.2";
 };
 "nomentbl" = {
   stripPrefix = 0;
-  sha512.run = "411d0891dd1ae12b931a4718dddf85a26cddb72db1ff315dec2488296caf65a0e02eb0862b15b86f6567827ba93f776ed11fc0955b3c4c78315cd47ca29b89b9";
-  sha512.doc = "9a42e48440b39ecfc62c283ab1a34ce27d7df7b992fb3fdb836120ea6bacd7b6f440c5414e1c228d589aabbdf9c2280bf08843e6e719f83df5ec4ebdc5927b81";
-  sha512.source = "207a040bfe6b84a67da2b6c2f3c5521d7e47ecb92909f863036e746f833b7c00f546a388aa9a20f10de8acc8a7ceacb3d386d450f00f12ddbb2dbecc0d066419";
+  sha512.run = "195cd134db2faf9c7405d040d0d3b4a71ec39ac201fad47c855d34d8f734d069c03424ddec6b1af978e7b244b3907f846fbd80fff6063e7b25df3de508fc51ed";
+  sha512.doc = "4ea606a78da4c0c4f5c35b38b9a430de8dcea49c8662081a85f3aa575523c40f5951bd54e2c8acb368b52f75a3214c0a4b0d178dc262a64b8f6485852c4458ba";
+  sha512.source = "5cf26c7871ccb841bb8350d594ed9333d7b46c7d2e3db70080ce743fdfd7c7fbfa3c8f7f976bf8f37decc653e54954a5e0a90385fb99ac3428a8dea4a5311719";
   hasRunfiles = true;
   version = "0.4";
 };
 "nonfloat" = {
   stripPrefix = 0;
-  sha512.run = "237bdd74d04577e5d99afe44c3ea33e1055050fcdefa24cbaf0d858402cdddb14140587cded9096cf16d61e121e3b99d1d36b9aa171b2b34bfb8800cd0bcac5a";
-  sha512.doc = "4b5f2284c3d89d5a092d88c3ca52ffc0419b53077cd9d327905ee87d7f71e43699c21008cb06dbf6730c5e2cae2b5d41021783dcf604443982f54e1ef7e23696";
-  sha512.source = "9cfda7e1e3ac23db49326024606f68e15bada6801e9a478b1dc759bc3b1f334c071c1bb3720cde9ad9f4445eba6f3d344e357d732cf898295cbba90cd2e39b8d";
+  sha512.run = "39f8f0a4d9ef1cf8f1dc02c63612980f25cee80cb545bf405d9d2a080256ba6799ff3030c98c26e6f2aaa10ac71015e58e4233bf84703b290220b12db45c70c0";
+  sha512.doc = "2d090fa397a385cb32c26957b5c4c05ba8443fb1bb7ce7e3eda777ddc2d3af11ec3ae6297bf014f40e71d4668044ab729a6dedd74e8802ce9089b59d57663374";
+  sha512.source = "be5e0b078adb8c530d8255bcc72daf50ad8cbb48343fa76f132e1b75fd64d033c7caf287b6901f1bc49422956f6901dec0f7e7b7639dd71c10c1a76ec958aaf6";
   hasRunfiles = true;
   version = "1.0";
 };
 "nonumonpart" = {
   stripPrefix = 0;
-  sha512.run = "17cdb1528c93fe52946b17fe971e372d9287ab1b8639f2d9ad1bd7cd560cc4e66c0fda6364660b657ab56d440a3bc3b10cdc7103457b15fd3c111ead28d07744";
-  sha512.doc = "cf3d1f1e4b70f5f63d47525f3e90b5dd00ba6eb43799f6e9dc8c441dbbf2f507936a94e6d5973deb45c4ef746c38cb34dcf7e18127f56d78fe35699f1b3b3aa8";
-  sha512.source = "b1f20d56a585235f61f556b8c596c058f8c50f65c3877b3f267ea21baeed356e0056b6a2f1aae832a1d3ed8479d49a68fb7ab50f29e6ac9085ea920b64498f15";
+  sha512.run = "e97fcc36af3e86c1a432d0e425dd86308429e764c976a2f7f8106c3433ae5a148bf3abc45706bcc3090089911e2dfe175156eccaba7d97f544154ad0b288e58b";
+  sha512.doc = "0cd6b115638c3151e5983845dd2964ed90f24bd35a06e904a005755696d6faccd90bbf88c7bbb5a0282ffcd266cb55e9eb1d058fd78432ba062fb4fd723348f3";
+  sha512.source = "46130f9c35465685dc690096405791f82d70e73091f6654b5bbdaebc71b5fa3703a013461aedbe2cfe59975dd6233668f0c204e817ed65fc83c30be59be52505";
   hasRunfiles = true;
   version = "1";
 };
 "nopageno" = {
   stripPrefix = 0;
-  sha512.run = "317fce6e4275b2738f20b0b91eb684eea4662e089aaacea6692b1a31a4ea4a447c1849da9e815aa121761d635d9d8d59186c73bb9237b307ef834330ecfbbd54";
-  sha512.doc = "7d16f0a2aba099d77f150211e975e8dff74fe0ab73fc5e0af72d3150efa6b1efe54010ebbfdbb5c5a27d912f55d5de7aaeea1c672022eb7f9e2e2013ff9911a0";
+  sha512.run = "0e152caa8b8df06444f50e2f9ca93f18088a0c58e2d5936f612a770b90cdb8f4bb0142064f56573d8569eee274adbc2703037ce4d7477c24d23c7c8de8748a62";
+  sha512.doc = "5988c42840efc02f816ca0f9ff7ad2d731c66563c0c4de21b857de975bbec08962cef4ed1dad096abc39ecd8489d3a34a66809e98f49b0a280c186d03e6540a2";
   hasRunfiles = true;
 };
 "norasi-c90" = {
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "d2c29b4f2aa0d56fa56dd780cc745c9e109ff28328f05d008d417e4217b927cafe4a4b2099cfdbb1d45997aa9e87e1a5d6b18f8e2e3837506011b3d48ce54813";
-  sha512.source = "532e2e6feb80091ce403f9f85b96d00df968512443d9f1fc3a0d22eecd8fc5b752bef4a7f40cc74f846709074251f09e2f9f775a4db2ca87cd722eb86984a11c";
+  sha512.run = "d52fb16ee07ef72f6484b784346933a23b5a3357aa2f00ee212bb1decbfd3299153e88cd4bc352cfc2e888dbf37ea86a2bd6442b6393634c5f144f4accab55a5";
+  sha512.source = "0170578bca4c4e4a7307fc125a6d845881fe32e2d361c73369ac1bb1b7d510bca8eddae831fc8421b3e30ce996f2eda4d7b2e449873ae6226a7806ed2bbd4047";
   hasRunfiles = true;
 };
 "normalcolor" = {
   stripPrefix = 0;
-  sha512.run = "a2ace6258e0cb734c7abd427839203a085ed637ca771ee993483e1b026e23141d79f4c995ae051edc504363dae1c7f53f498aa89618a5f97495092da0af0c1e5";
-  sha512.doc = "96bd2a1cd23068d2ca62447c161e4a7cc350a2e8faea0d5a9fb13efc2816d8c85fe2b0bee9dbeb21716f073d1c0ef23809214455f7478fd86e10650317ec0d0e";
-  sha512.source = "9e85012f56f8a53127e73f1f30931a59188d0c43d4de0db2ab63fff4471df9f03d378434b8d4fe4f7c65b042dd050bf9514d6f04d193d66390feaa177e89edf6";
+  sha512.run = "013354a5f7514f6267d57d098ca93eb48970df0ce1cb2db0c60ecf664cbcea177b934ab8f252cfb9dd4c0979417937462ef55e51502bca7f32a7de1a0e820e32";
+  sha512.doc = "ca7a9c008f72aa1287092f881f9ffcbe58ed45bfc97ec3231fbeceeb007f6248629d9cf49598afe604ac8cc30a4e8117f54fe517fcbf52548add2f6ac6fdb662";
+  sha512.source = "ac6fcbd939d13714f21106c6b0786a9ede4ae6a3023348678ce22bca59343d7379fce9ef12bde91fd05b4912c70c8b4eb64b95f2869f4a30c03c4443640b9d80";
   hasRunfiles = true;
   version = "r11";
 };
 "nostarch" = {
   stripPrefix = 0;
-  sha512.run = "244c5aba3f91e83d9d7a982fb96f3a11b27216979bd9b49ad733cee5b4550ac62727756e3d369fc8bc4026352a0e54b5dca503401c6aebe2829ae3dd6e08fb41";
-  sha512.doc = "851cb664be49637bc6acc1e2da600400f1f964c96fb7950b7a453dc61f4f628955cb1b0f43ec789db8251c73fdbfbb6a2cc888e94624fb064ce573e70faca589";
-  sha512.source = "3fe849fdf4173aa0871420979e5396f3f4f9c93a0f1447fa1e39a4f34922ffc9dffc78609e62167131b662210391a53e496d4ed8cb32bb44ab212ff3e54f57da";
+  sha512.run = "45992ab970abe997f3b01c9dae5e15303db81878b085f45fea4ba07209160ff0307550e9ecca9b67e0d01712831b6541def54382170d43db4dd547f2969f9fb9";
+  sha512.doc = "94efe6a2b41a47b559b4b7c9e04dda1f32d0c6f5da79b51d994fda1af58b4e1cc7e808f9465f7874be6b67231383c38543fb3e98706c32da32d73a4ae07da9fe";
+  sha512.source = "1d46d17f9f43981c89bffdc5e2167342e6168423068b4d02c180fa18fc4243ece749ebab18c5b47be0184e76034378a7ee6ea09aca3c782184f389c6639df38f";
   hasRunfiles = true;
   version = "1.3";
 };
 "notes" = {
   stripPrefix = 0;
-  sha512.run = "a8eea01979d388564835ce9c265d61d785e539dd2612e8a3dbdeff52836dc324fc29db13fec618e35f89a25ad04dc7bab97468b9535a2854a87c48e1e7d6f9a9";
-  sha512.doc = "1de3d25aaf4a1fb773d9bfdf480a8586f8dd49106e3df9ace57c6d3dc879ab32515a3670e6a8ea1e3588977a4e5e22aa2acc95b39b09327e1d7abe90ffa066d6";
-  sha512.source = "68a6cfaafe40f53366c887d7cb39a8d1cbf9a0664935e2b9467e654c28699490fe4275c35a967e435c33219e2c3e77b06e943cd4da2d539cafa1110c0e41a060";
+  sha512.run = "7b569f27ec34c103c5808036a6ffd7f97f9171287883f38c048b8eabbd979559fbf15b20c7002dc9b8b0577889482c4347e4986e076079809a4a5656aed46101";
+  sha512.doc = "4e66790b76290925f49ab7f56175e2d41a20e715c43518edbae39e444d02b945ec05ca918574f52fbb6ca10fbbb060242c688fb9344094df2e025de83272322b";
+  sha512.source = "f5405540929d6d99471bac43d89b01ed7ba59bdb8f1e7d978dc9a43a563e6b16c9cc4645d291054308f06b3d4df10547e09a72081c210063d37810da511dcac1";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "notes2bib" = {
   stripPrefix = 0;
-  sha512.run = "855c9c6a2afd28804134f01bca1a8fadc092847ce6246d7e0339137de28a3a5e2d737a68b2526f347dd7497296b61d2ca4cbc9e31d5e7cc0c363eecb80d66309";
-  sha512.doc = "1d5fbf181b40198652fc8aadf8ed06985b237ec9f95b2dfea4de71fb694dd374f075650086e034c36cfe583805556b97474cd510bfa2c2a1f882d3c4e4a49080";
-  sha512.source = "acdcb37079189e9f4e552aa767a7d35d0df4f46fc61d1e319032f704a1358ce3ea2fd8ca2351c1f98b2e626db9436748da4c94df80e9eadcf02661fd683d9626";
+  sha512.run = "019645974d270df27f5c5bf22570e26b5bfa5c076739824eff60a40d1c246010fe0e599eb2fb282cc08aa2161ec7ee753b734548ca04370d9bf923f357ced1f0";
+  sha512.doc = "f4b97327b98e86c64620e975130a7fe790489d16135667c95ec7a368591084c381362e1447dfd1b3afb4f57ed2657a43f8623942f6618d839cb9b1c0995234e3";
+  sha512.source = "04cd8f2ac89b8f4fdb20a445cd98ac382a082114eca90306eb0cdb793fe088ef1d1ba9e35dd9c9b2c98238cee6ed9519144c012973d7c2e1928c11f7350091fd";
   hasRunfiles = true;
-  version = "2.0k";
+  version = "2.0m";
 };
 "notespages" = {
   stripPrefix = 0;
-  sha512.run = "474998103d9b17ac13c87da52bfb641658cab8e26207b518e545e7d8add0afd4381026f2dde544f78a29c63462037579f65d2d027b76318847a66c347e992de3";
-  sha512.doc = "e3c1b41e6203aca20c7977e9328f5b3fc6eb5cfa7fca781a0a3cceef7f7fb83071cde927c09ebdf53f8daca99bcb079efd9a4f5922390d9f246d54ea8d314b3a";
-  sha512.source = "28e6c3396773676a77b753a3adc5c3fae957a57a6c667f7cb956d6d51ff004b626b5aaa9c3b86476e2a9e644e023e84362380e37ba80b8d702331a692c2939df";
+  sha512.run = "f5f6960bfade079642a4b4f221a7b762cfb5276a74b20bb3eada51706cd2e3496f91ca23e35cb39f221c57da19012597eabc8d3aa63c58e0749c8a01b6a28ab4";
+  sha512.doc = "8af2f746d4484a2e06bd0f7f766c49cc9b0b790da2cf0faf1c83d959f2e2f60fcdcb7cdb6f1ffed89c2b03846215b589de332dc20935d0c0add4e3dc025c42cb";
+  sha512.source = "96b547ad56fc2e503c2cf9b6089dd74e2902831d99fc8899b57affdcc1c1d23463dbc7472878cf30ee26078c30cac9bdc20975925de01a86982af19b6a3113fa";
   hasRunfiles = true;
   version = "0.8.1";
 };
 "notestex" = {
   stripPrefix = 0;
-  sha512.run = "d022f1f4b0d17a07215e6f7ba74c47f21dd62896bd5b27f03d133a4aed0916ec4235c6e73da1bf8497f5e6dd5981b5dc412c8336f8e1708a8d7cc44ce2874887";
-  sha512.doc = "61f5596392bcaf9e3edd6d1ff372945426dc062859a0191b8559d7e15ddfb34a7b313aab40033775853cdf3d89f9c88e294566d7c4a262c9473e92e4494c1aaf";
+  sha512.run = "64f9704fd3646cdcfdc03f6a3e03f9fb37859b9f11463fa77e1d3d076115297fac9c0b8d6875c8b6b7f3d37127a400e6205239957526018d9ad5cdf36a984269";
+  sha512.doc = "c47bd3a4153467a63ac2e2b149f498f9458132e841cd70da9871f10674e77d928f7f88e58855c139dacdc225d286615caf0297077b843750e6940482398f02a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "notex-bst" = {
   stripPrefix = 0;
-  sha512.run = "9f2de0714079d9af3fe9dbd05e926256f74e950d4300f466bb51dd6ca449e1556047e3f211025508ac3f49c9b5f9607a4d55a09db031e22710466275f130974c";
+  sha512.run = "68627ca4a07ed0228b9b9ea4b70cdea5196e907f71f343310259d19464d503e76e2ea8fb5f59f01337916ee1f2ef398bdb1d3e4d97f0d49eac660fdce20590ff";
   hasRunfiles = true;
 };
 "noto" = {
   stripPrefix = 0;
-  sha512.run = "391cb4ba97fc69c0147de3e7915bea0070e0401b7b73349aed4a831329c5a96ba147328bbb679383ad37863d2b5c0901d7106582ee96368bac3962a233e64d6a";
-  sha512.doc = "cbfb0fb6623d7cbb2b3680bc04e46e2052588fbd9874fce392a88d3f394cfd1d14138393148845b2b93db99b3f93b1bb743232c5da66731915a6b06838b68149";
+  sha512.run = "1b8835500a17a6607c35b5f2f6861e41ac250a042fba48e61604a967473dcad417350fe87ab350a72b9d8a49f8bd0fa65da6c955e98137c8b9015d3446806e9f";
+  sha512.doc = "6e5e003cb67a87355723f4460822a2f5e853d9ce3c3dad0887400d80c06e739bd4c98f268ad49530d0b3f55eaf031de50d38749aa457f2e4ab3c95a3b0b8a978";
   hasRunfiles = true;
 };
 "notoccite" = {
   stripPrefix = 0;
-  sha512.run = "9552e9a92c4f3aa447aaeec36046906d275aa18209d0180c3b6a0fa9561487df60d9381905c3ff63d3c0d2ef4bfbe1947ef58cb7bc924751cf9b3387064a1759";
-  sha512.doc = "d0c78c3b14eaad84cfd5b04e1d80d6255fb53e20811c7bd437ed057f053f257cba14d363b57b8f3fc04f774e4411a38589606d2cc0ae2593326f1bbcef7a19d5";
+  sha512.run = "b63b890933b27717625383488d2cbeb1501ace58b83e5af66a35ba440816527dc879df444af78090294df6d4d412d21fddbab43068a6d677b22d750ddb4105e6";
+  sha512.doc = "83b3d2c7b97bb88af13d888d04f08ebb7e79661b4924ed6e328f26b9d19e4c6eea6719b49e6f227dc37c96201a901fe57da3745dfa7151bec27c7e8bfb81b236";
   hasRunfiles = true;
 };
 "novel" = {
   stripPrefix = 0;
-  sha512.run = "e8fbb2ccc6066474b40e3b7b820726dab29378248d7b8178c4823f42446e5218bb02cbcef20571f00b91995b7e9bc2c59e39dcd71f3c9b588805054d8c4d3723";
-  sha512.doc = "506e870d2e2e78bce56a0533f9cde244fb53c82cb3933044a176f8c2ad98a4fd48838fa99741e017b63b90a52bb5c43b48d16c46f591a45106343a14a51f39e4";
+  sha512.run = "ab6fd183a8f1fefa9d7e56fd234cf577bfbfbf6635d8e8fb6665e05b5d2f98dacf285731b32df64abc3d314865409003d89a935e2af2cce8990e0cc3c4510998";
+  sha512.doc = "3e1bf9313cf7e52f1d08f94b24be24153f4f2b68c19517e5be81c2bd224033fbfff5a17857866ad274cc54a96c0bb9f9da6536af5213bd561ea48b7ebb4e7cdb";
   hasRunfiles = true;
   version = "1.52";
 };
 "nowidow" = {
   stripPrefix = 0;
-  sha512.run = "da8c9dd2b2a64fe7643d8502c49c76ffb441488023f6e896fc92c89e784a1f2eeef9d0ab2bdaaae14fc5d7dad8bee7cb663b15c2382dd09cb3a1a493946e1453";
-  sha512.doc = "6e01c5f7bae98bb808d1ccef3b93e644c4d41cd211bd30aaccf30e59e133f7e16459b94b0bc5fbee1d7901ea20993dd6374224148aa1ad937a95f636e0565fc5";
-  sha512.source = "cdd9dea11d8cc2d56acd5d091bff85b33faeb9b986b5fb07c2aaa811b1f5200dafc5171cc1a4e9e94029fc272e7fdd40c41c977be8153c8ad20f1251360fe866";
+  sha512.run = "2dff380964c5c487a015073ade0cef996f5786b204657ec5c8948748f485c03b457f6d8caa5bce8148cdbba2623489a01b5370bcd38eb73469d07da4afb8a216";
+  sha512.doc = "b11e2051543215f3f19c4d1e3398564093202be07771b7b3711e9ba5359e750bd8f73118b099f82fc3bb1e9a5f202027b168c371ca6587703d82f853ced4d538";
+  sha512.source = "862f3fcfb0a165473657d8e8616fa200a017c410e162bc8ce95376028fa4f2c0959e7d116152e73ba6c6cf4d39ad34d1c57f2320dc20f637e1d3a0e2cb2ec7b6";
   hasRunfiles = true;
   version = "1.0";
 };
 "nox" = {
   stripPrefix = 0;
-  sha512.run = "6e81968905e530750ffe8f84f410c1e72c0dc324b69acda11553244b2ac0acbfebe0026ff8014f7bf294535deb6527ef8912334c63b849928003607b28dc10e6";
-  sha512.doc = "562edd79b914378e450dd3b19426255f544539dba806b8643cdd44b168b9f40ab1dbef41191c3c964eff6ddc49283650bb8fcfbb2cc8af42dcfbf7b1f66e6d9c";
+  sha512.run = "0061e0bc12a06b79c4339684d0598587f3aaf1c2aeacc7aa32118d7b91d3937ffe0ca50b55f5ba9d1b7a4a1c511811191160c58bc51b68dfdfa2b0cee900b409";
+  sha512.doc = "2383ebed9a9c6f65d6271317b46147915afdfd6caf39893e4cfe470e302f9ed6f30ca9f725bc2bec296cc88027462765b4ca5731cd5ccf98fa5c8156b1d88987";
   hasRunfiles = true;
   version = "1.0";
 };
 "npp-for-context" = {
   stripPrefix = 0;
-  sha512.run = "59d6f20cb9e2357fcfe7acd498f02b75124f87483d6c4cb3dc5b5dc19eb0bf9cb4af60c79bb63f8eaa1d9673089af5227367e023e67c37cfe20fbecce30999cd";
-  sha512.doc = "f5b3532864c00c5cdadb423f99cd32e4f86a6c4bdf4cd8eb87ec3abbfdf3aeafadf8bbb4b8fa0f2c70902d7f7dd8444ad58993f3c3ced00e1ab55cd85a7caa8f";
+  sha512.run = "6d5da8b6e2f2bb6b514d43e8b72157a81285b6c15cbe74891a94f21a09a313813ebcf9e3a0a12847875f13d5599436ada4e5febb694c0a480931dd62a23035c6";
+  sha512.doc = "b3bddb0b9254ef9755628097ccb24ccbe86c25d3cba7a120c5d55da98a19061b716df1590a39323f57a8a698c5aafb5ecbe8b27d6505f2ba4acdf1ccdbcf82cd";
   version = "0.98";
 };
 "nrc" = {
   stripPrefix = 0;
-  sha512.run = "fe5644c3162f00fd8b6a45ce22609730007620633411e9108580e20d2e45dc1f50066946fc27b780689b85bc14e7a410720e744dabd6dbc7fdf4e4ad399730a7";
-  sha512.doc = "961db00f3a5163197b2527c2e9358521c3212586c93ca234fb0e205f726648d6cd3acb205cae566711e86876ebc44abdf9b6f3bcef147d6a4229daeb659542eb";
-  sha512.source = "d9387a9d8941427a0e8ba625f60a17e200a4995e43f38c4213868e43e7334e996f1e4db9f440dbb2f42a31024a247939f46dedd8804cdc2cb81ab1ab5b10e98f";
+  sha512.run = "2d93fc25d0305b8bee0e5e9ae61bba492bc265e023980a411ffa521f15746c6d73940e352c886ed5dbe08502f472a63559191aea44c3801518bca8b28d0b753a";
+  sha512.doc = "35f86598105db616ea379175f3a098cf7c94f4a0a8836302de664c7bb65bbb5f72f41c5c9dc58bf336781a23553ec49e0a5c4d7d0be12b1cff68108aba77e88d";
+  sha512.source = "3404facf13d3ddaaf4a9aa295cd7c0777308502075d1ba70bfd6be6e8158eea6ff4b88db2414f8ea5e758ebdf52dcd5f44b6bb55e903c0e11dc6260b02a1779d";
   hasRunfiles = true;
   version = "2.01a";
 };
 "ntgclass" = {
   stripPrefix = 0;
-  sha512.run = "ecbe7de30c75e442a3da6f76a1a82727b84125b0f7bc25c397f4bd6f553eacca5cced79eb9764f6221b458621e1a927f3f1cbaeb6049724438e91b07c3eb2d04";
-  sha512.doc = "860fda66e52bdfc03d7c4e3d996402295ebc4dd98b05925afe5735e4f5161b64c34b33a85ef3df95ee76d5784667179f0b336c1d92d484e4201815921ff87b73";
-  sha512.source = "51c4e7f37f5d399d90565c88b60c2eaf8b202de5ffb347ef0bba4c0da0d7dbb5945962493d727d239c691a32099345f14e80fd10f539282e964476973a8ca8fa";
+  sha512.run = "a801b4653b65eb27764a37330bd01b690c6eaf6cf569d18df01019af61b9a32efdfe3d1140ce6101f58a06294bdbe07a4c30110abaa9932df693d594d3a17135";
+  sha512.doc = "bf6d05d54c425b716b6a3c9a4f2e899d37bb7233b5386700e27e365f236ccb38b025722b7148529923bb94a4e88222a4c34855ab5c7490104a8d02f759acf3fc";
+  sha512.source = "1462eb56cddc974bc562c258eaeb6e031f89c3d0e0983c7810e276f500513bca0819f6ebbeb65182dfddc1dd495242ea260d945845e3b2c5e72ebcf15b8b13cf";
   hasRunfiles = true;
   version = "2.1a";
 };
 "ntheorem" = {
   stripPrefix = 0;
-  sha512.run = "90d18d32a585aab43b27c38d0dfb1bb2357419940fb854c6d6cdd83e183f59d8f4bd478908417f63acffbc3ccf8ea5e1acf35f1a8a5799ad4f4479268093ed61";
-  sha512.doc = "d65ddf7e3b9d926e1177ba27f569b50d886b19733fde1636e4f86d24da6f40fcf1cb572da9bec4ead8a0e94eb8cbcb5ffbd61d441f954d1342906240673a0ea3";
-  sha512.source = "153b635fff805f5beeeaa6c95ec4c2a6ba08e9f73f98efd4873aa361618cd915f2ab969c7118119bd30a0f57e3dc35acf10ef80beb24d5c2fe0fc7eb503783da";
+  sha512.run = "aabab9d6f1a5d9e9bd2ee2ec4b9ca8200098a8f3dc786b9c06d4b0e00431dd66f32a254d452bce7e1bb595454e178dcdd71d724b8d835b6f1c9ad9de41107295";
+  sha512.doc = "fdea81cedc9ceca6ee29ee006867a05f018f210db2cb59c763adc4bc15db65a7e96ffc93bcd576a4c1a50e7e55d4b199132371686538216eba6fed65dce77ba1";
+  sha512.source = "bb0eb98e3344c4be782d113a0e5f1c91d615a5530e1c0a786938b1cf608fe8828d59d365c0d1011e62517f0f76139ea13bad1857f2e1315a2b919af1de3335d2";
   hasRunfiles = true;
   version = "1.33";
 };
 "ntheorem-vn" = {
   stripPrefix = 0;
-  sha512.run = "7e4344498126dceffe76867c879b81ac601fd74e8d766c18523a1d587a26d95b84e81d8368c2aa28b8148cf0253a0bd0dc2e07331ff66aaeb1629a330e00d251";
-  sha512.doc = "ecfd39bbde5e010f71b9686e6678bbc5e27cbe75207121014cda0de9918d29d6cdf2d606d2e065c8001841d617c1e44765ee1d7135d991099f99781be6d37eac";
+  sha512.run = "90460e92cb52bbf8ac9b56bb950d36551b40ba260a9745e8f4d339bbca855286f8682c1a5bd7dd4ecb53e85448f96d558e6c35ffb42d8b862d4680930f3a64ab";
+  sha512.doc = "e097290ec9f9696aaabaef4dce11bec4337050848ee547535c30a9ecdf12a1e0be014f905b235fa1d851ad2c20426cd4a9a442a19475063dd4fa73945c3e1780";
   version = "1.203";
 };
 "nuc" = {
   stripPrefix = 0;
-  sha512.run = "34e4e1f97be707af2e13c0286ba31c864c6c861f253e0961d0e338b3e1d004fa8e5f5fcfb4db438538de14191f77224c3ecdb464f9b9b699f46a7a894a5d4ae0";
-  sha512.doc = "903d54c51ab36b805a191c8655a8255f0cc7302202ec8d363f025609ce763939ace5ccde475a6b42ef68e2a5a03a244f8a1439ef98148d43d0340c5dcd86e9a7";
+  sha512.run = "d540e5dc8a3edb41994ef4ed8af6a51fea544ac929ef059fc50cd561891e02e9ee9b55a62782757101cfc5eface3a170bd585c144e7c8e79e191299527f979c6";
+  sha512.doc = "ac118243f5fa4c7a4000344dfd5793dfbacc4d7a16a7031fca6305578e06bdd627473eb065a13c4d9cc5d9ef3c1712202c2d65a913c75043e36221fc7df25ac1";
   hasRunfiles = true;
   version = "0.1";
 };
 "nucleardata" = {
   stripPrefix = 0;
-  sha512.run = "b68559323f45aad9c4a07794a8195b5b1e6f3a5ea0f54f82b7d5d743bf4fb2396c0472731f84d1ec524e38cc99ef5afa6949127340a554d80a36b00d7cae5e3d";
-  sha512.doc = "5ef98fdbac5be3052aeba824c80b94eeb651bf514bf77b82d54096a3ede9b7fd7f62cc7dda543ca5da2eff53a5cc6586b2c64d3881dacbde233382addb1f05a4";
-  sha512.source = "d74f0625fa3a8ac897c23c116a8ba99b84776d8e2a224b94fa01764c3d97d75b2b2693a138b6d21a8d728243325511c9b79a8fb77390677536e7c73f256f6b3c";
+  sha512.run = "68f9d542701bb9d2db956e70784dfce8a14058b5cab5c8316f9d76d59d20de4bc7fa05f22cfe318312b9ecd823a0d0b5cd084b809bcd615217f14e9e0ba76de8";
+  sha512.doc = "3d03a8b301c91fcc3e8221f913574b4542e0aa645d83e443d117ad0d69b7198c4780207f0a5e36f7e24f538a249097e1ac4d828e192f6dd22684e905ce9f1cb6";
+  sha512.source = "cf26f591795ce6db64ee7548c0384764c42f2eda260b5e5c1d56f7f08c54e13fef84616ea0a3bf9a9bfbf95ca139adf675eaae3047c80faf49e14d6330cb25c9";
   hasRunfiles = true;
   version = "1.1";
 };
 "numberedblock" = {
   stripPrefix = 0;
-  sha512.run = "4d18af64342aa06630d772ba702ea13cb96778321b87d3d1025d8770f40c609c5577e858474a4fc4feb4c0d7a6a026319a02d68a6a99194c4aff539579613993";
-  sha512.doc = "50427c74920c3d9f409705d92d913ef1931b3648510d93b5cf70fac250894bcddcbe67671dd5eb19b1372a536c964e2c1f145672db2091e4132d5fb210d454b8";
+  sha512.run = "d45a69881dee3aa3b6de69587b8c59d889fcae528c3c66f10cc14d653dbf7281e9ef4045dd2595d1a5c7305686bb0d12696bc00b672c5907dc58481a4e00d70e";
+  sha512.doc = "99443d809e77b32fafaf59b3faecbd121f038e3ce8e054304e8fdae6b145a0d19a67b5e7d003db72f06528d975c3e543a2fb9bbfbae9f48be460b1a344a0d2c8";
   hasRunfiles = true;
   version = "1.10";
 };
+"numberpt" = {
+  stripPrefix = 0;
+  sha512.run = "c23fc54514b98cbc31e095f6b1ff37d37eef75146a3eb14e230ee75b71f6d506f148de643ec5e890a565b544b6d05436d47033f0c00ecdccdab697336b61dbf9";
+  sha512.doc = "8b3723dbcbfa0163d7113c96ebcdc5a2262c169a94b733dc4af3bc263b119addf58042817dc8437ea5583ed93be1f3d5485ed76c2d704b20d303b5efa8bf41cf";
+  sha512.source = "967569a1ca42c00cac46f77cf2dbe61d1aebbb89d3754d69ff3beb848d174fbf544374723d33a8c4ec8b98b2c4d93f32dfd1570112a149afad934eb07bff4ef1";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "numericplots" = {
   stripPrefix = 0;
-  sha512.run = "f724c8b35002ea5c3cac7520f6ddc6100f22762a46f1b5fc5b9e5597db8902ab7e3417974112d43f4ad4aad20da9486c996c4032f8c709ce44b8526ce66a004c";
-  sha512.doc = "7395e92722414a00175c442abb9fc74c3a5f6dcea06d4011e3c95a3b8749c152e70a9346f49ce3aa1696270af376987b4ccb63722ff0edb6c6e8ff0573327610";
+  sha512.run = "6b51a7c68357dced9627d3c618a167d689b573ea44c2f36de5417735f39f5b3d1034558cf188bad2da5eb25f81a2bdee3df6059b8c14879770c3b300422cf016";
+  sha512.doc = "1c9f9856ec2f8cfef61829256f1076099e6bcb79cb45e8155116d6c24feaa52f481c739593c6cc51df803fa76e8ec38b8d276e796660327a2bd1d86957896332";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "numname" = {
   stripPrefix = 0;
-  sha512.run = "cee042c1508d651445f7d64bfb46a58a6c9d984c6c12dad80750b462723eabf764515437da1c677e4f6082926b906445861ac50d069a66a02874b93655e99f7f";
-  sha512.doc = "91e93657532ddc88c0f2a9251b6053f96b1e567acd57cab9c1d523b1c5409aa86763052993290ce2e7c17697f32039f91f796ee1008961a44a2a760682745a6b";
+  sha512.run = "b2859430992fa6ee99f4d96f58cabe26b0f216d5e3b512c69b4db74738d933ea8d54503a61257d304201ac3fbc2ba49e908eeca5953ccc0f0023cbbe8b3df76c";
+  sha512.doc = "41aaa9057415ad83177f416e43fde4c8c81e335b2f3c025cbc53ffe1d9d61fc05dfe33221c16f1d652837e4ab5a797f60391fb4c319339517090ad0e2ffe66bb";
   hasRunfiles = true;
 };
 "numnameru" = {
   stripPrefix = 0;
-  sha512.run = "b474b7990598bb5bddaad3534450bc2001c23cd47f0c152a2fa720c184256c4309096be5a87e08756fd1455413d81d27bbe2d75b7573d234f593d7ff747923a1";
-  sha512.doc = "23c616efcd9f1d261e50fb738d839c640ddd680ea50c9784850aec7406a0543ee33ad02b5ac4a325a859c050ff1bcc4a96b69777769796b537e09d158b10ed71";
+  sha512.run = "c6f92a720fc5baf6f55c3bc18e22113de0f7cad8a051c2019360f5f3c64eaa450bb12d6c361c52a5a802f558ff8d2cbfaa35897682d6ad218e9adbbc788f3c57";
+  sha512.doc = "5e67f1908356e1f21e672e63a8873e46ebb36af39e55a64c174c3bc5c49057c6d19ac36523c34a7f1c1fc53346f6ddde8fd239ca88b5790ebba1eb8b7dbeb0ed";
   hasRunfiles = true;
 };
 "numprint" = {
   stripPrefix = 0;
-  sha512.run = "842ff2ecda1735e850fcefbd13b0aa676d11aa6ad698dfafb7c53f1fcb388d79b0d5db508b9321a3ad8612bba5f0b37e08c53a40e03558d9205b136fdf5b4279";
-  sha512.doc = "6efc0037de519c330ee049080bfe0941bd76f27b6cdd3cb9509a781f919b322b602998fb7ff01a58a7125d3cc1107536953eece9e143a3dafd2fb2eeda725bc3";
-  sha512.source = "7e72a20bb07348c80ae6ea2aaccb6196a6751bcb61a98f54ebf9c595f6565e0b240e198936dfa665e287f0d1bf9d110ae671d7888737ca4e7aa05174c56d5e56";
+  sha512.run = "cdebfa502a461292b02186b146ad8086f46447b5d8a0292fd7943d93a39796eff1710563866506679e903b7a4d415af9a8d863fa81a62395c7bdeec2cd68e66f";
+  sha512.doc = "b821566e6fc532425c8f1b901b5613c763eb392461644850428707105626b6eb1a53784d6a693e7f9fe2aa612b72b4d5a38ddf65f22a0d022981771b2b303d04";
+  sha512.source = "d4af01527564c9818840a87d9c876ec8d8cf6e7712913ea3deae4012fd0d4f0dae19e4016fc205814620d1cf97f3c12b98f1003fc6fc81857101d2ecd90fbe83";
   hasRunfiles = true;
   version = "1.39";
 };
 "numspell" = {
   stripPrefix = 0;
-  sha512.run = "e96de6205405139ccdc1462a165d4dfa7226ad5fd3b319dd63f5acca0f3b9d6b1bd658935d181ce817b2a8ce40656a31c51dbd0f1eca256dac0545090d4d7d79";
-  sha512.doc = "b762d5cc76a4d5f932943713bccafdfd969bf8899e4543bcca2d28a8e90fcce897fbb6674e4c0a3c924d582fa2c441595976467a69ddbc12aa624269e5cc0856";
+  sha512.run = "bf6d58521c82638b9f9e93fd5314db075fddd4cb249d7e8fe8b605581ed19414d259eef98a4f205d497fe4b9c552427ac202c0c0b5810e81ce1bf7ea903ec3ae";
+  sha512.doc = "6f3f26985e8c656fd68fa716fcd3ffbdc890da7cd0797934351b4d128444eeff4b2f2adb05210fe45fdd627c0da22716153aa8ebaf4b5d7644235ed8b6c2b507";
   hasRunfiles = true;
   version = "1.2";
 };
 "nwejm" = {
   stripPrefix = 0;
-  sha512.run = "2ed126a29ab038121173071ef7bce7b77fb36ecb9e319eb2d8f6a30c91b32728af27e844fb2a0c5a96ae0f556a852ea85ecf3be0ef533bc6a1b45c543e2ae944";
-  sha512.doc = "b4ce3ff44cbf513a759b0d95e4b226206189bd2d09d583e12e0f16017f3f3b51e79b040c8b14b6bff11312af872dea645fbf2dadc24b03e458b74421b98cc6dc";
-  sha512.source = "cb8f90d0085ed77e9077a3735dd2bed05247ebbdcaad54ef45fe0d5bcbe4c354bb2dc24baf10c605f1991fbbea31d774590806a4020e049b6156cb3aea49b160";
+  sha512.run = "3f5ba2d0971207cc76735268242e4cbaeb2ef956e5157b5c52fbfa061d4467061dc351f4dc9109d45bb155e3d7c098673f212e521a5efc55a3985cf8426da923";
+  sha512.doc = "7399a838fc6cb2a5c4a403c6f46bbeb373b9deb8435cdab0a892fce147dd365598a993cfbce3b9884cb4d2549fc1b3dd330a256c351b7df2a44aafdcda5f4545";
+  sha512.source = "cdadfdae87ccd8be021ef9c73b75d284c6bc34d98acccfe8faa16539e1eda6901a0f334fe2604273fe91d2b3860ea97a9266eaff6918fefd69b2b386dc993222";
   hasRunfiles = true;
-  version = "0.98e";
+  version = "0.98f";
 };
 "oberdiek" = {
   stripPrefix = 0;
-  sha512.run = "c1a54805a5f25290110d6074af3c4de6a7261809f11dda3a1605220c159e7461fcffe1d2870706468207a158c73e9ddbb50827a07f81cdeb2f732fd0a935abb2";
-  sha512.doc = "38f6e3d490b7694024e5d07615a4313d19e91dca57216575fba3311dd2750d0b1a033d8ec83ab5fe64db6d3854e3d1e47c5984f9aac4cebd0e743c6916ad725a";
-  sha512.source = "52e0b8fa9bf7cbc0de3f4e759eed162b376b7ff723fb2fd213888aa7b270b672cffa2f5745e260e8172d095d81b917ceede7a6a10c568c6c3e2bd04efb55f449";
+  sha512.run = "23385d64830348aed9697ab655600da776a5fbe8ad05c7d23bc2a8d3e51701efecabd27a7125fa49d2e65f2aeabb7935d21094cfed02912a2101687ca17875ca";
+  sha512.doc = "b8faa965ad60b2ebcef9f2d64bff6832734b476d8184267122798c51f8461c94c433908a10caba176a4e18ef72d2d01ecda148fc3e6a90f4cf3b9cc72ab13126";
+  sha512.source = "1f7449eeb46abfe1871d0fbf9a72c15ffb9b9861504c8cadd3606006f45a85870d18e617d4d53722d002340db80257594844a69a82024e0557604e45965750be";
   hasRunfiles = true;
 };
 "objectz" = {
   stripPrefix = 0;
-  sha512.run = "c99ad2bd028fc099125dcf2c37c33f2af6565288a8d72d2f5f8edfae2987bd7e1a3cccc4c0b2ccf530b686dfa782ad9dae24557f418a9b7a74497919ae87491a";
-  sha512.doc = "e4e9911bcc9971ddbcf60db29f612fba32fb21142c7d2f72e8efbe659300e2296f28d31fd4e3a4137aa2037d0b5f97e9baf0133bd92a4ac557647637de761515";
-  sha512.source = "dae33847ec4c7a3936cc66cd0ee90901b8f2694daa61f036fe00155bb78cec3873f6ea08210f557907725d3505c631324681645bdc6c723f23e69da03f2c9762";
+  sha512.run = "e98bb9208838b8e55d9fe793af3eb6439aff2809067878051a9849cf483a42e612ca7c9a43a86520e582161b1a9f575e4e7a5f4bf7bbcabbbbdb314595c58fd7";
+  sha512.doc = "afcb2681f0983c345ddcf4cd484d337461a53af27f6d5467b12a5368f6ce3974b9d54cdd77365995e7268895f4f0edbb814a4f4e61e4cee947f6ea49c8381d85";
+  sha512.source = "c2bd789d5acb1174aeb50cd3eace6ab67d0074adcdb8c00d6ec0581be096a931a5f9a666630e96abd30dda31a418eb7b9e6e0f06c3d93eecbc7a287c4a7e61b3";
   hasRunfiles = true;
 };
 "obnov" = {
   stripPrefix = 0;
-  sha512.run = "bba8d75d8b7d2e5b38c3f0d7f7b96700bcc614d298ed9eef879782f7f910ce304e95f238c20e3e2d796f24baebf18167eb5d2df9155eb05fd6ea66233003e50a";
-  sha512.doc = "c49e87f54d995c5669cb30294450366c9dbc8637528cc97a823f762755c318bbcb2a4873a982a760ea78c79aaa5b88ea7a9705d28f342e9f4d06e635ce6d4bc7";
+  sha512.run = "8adb7a1e6183576b4ed9d709b2f64cc778217602c807fce0daaa62b59786d5629fded5e7ad4824cdee90ad5333b9fff4fd47d462e38005fcd1026af8838f04ed";
+  sha512.doc = "6fca30705b614ede4e055a39b92deac91daa6e9ca0922725f29c801e58b4a1ddc7176148b03de147aa906289962a3ff45a743828c0636d7f8fa3279b88e5103a";
   hasRunfiles = true;
   version = "0.11";
 };
 "ocg-p" = {
   stripPrefix = 0;
-  sha512.run = "6506d4574cc8501dfb245f97455db807cb4a12767f81bf245ee424851c99a142f254d005f3e20ec68ba38473d3ec2bc97b2638d41746ae00f0b38cdc450d65d6";
-  sha512.doc = "9a33dce50c5847bcefd3fe5aa11ad77c12ee9d7da6d8dc21100e27347fe72045b27e928e9c266a19cb922659af6d90c87445034888f813b565fa08eb743e3162";
+  sha512.run = "23b0b4377ec615d8d334d09018629f524a775311c3d227b350e7dfe95c6154795d1d3e44e7e1e405d45b623ecc614892d0996631615efae2ad6f040c1c4d8dd0";
+  sha512.doc = "c51169bf3398b17f3dfd2e0aa0efb574cedf40c4739f1b4693f9282042fe9f024dd48675bdf5ec04895c49e0583ac436bfb36e12ac51ce89bc23ac587b3f92f7";
   hasRunfiles = true;
   version = "0.4";
 };
 "ocgx" = {
   stripPrefix = 0;
-  sha512.run = "d39cea85bf48f8a8168d9ff2baa469a52bf5e023cb265dcaf5e42fb6b75e8e6be5a27e6c071833a4bf148fa1582565df4c29300b00ae67d294de648201303bc3";
-  sha512.doc = "98392e220d146bde4d35636ad5f05514cf2c6e9ff55b803fde3acba259c6f9322e600ff5cc88d58a71e13a5b6ca46a049e92501ad20719002361eed50583763b";
-  sha512.source = "2263a05007116711328a81e026c22315b9c05b34b7b2253be0b2d3af4d49e7f6bd80e6abadfe961d171326f5758ad5578fcb2caeafa8dee936c8e4d8af60b780";
+  sha512.run = "5e8e27f2ad058f30431a78d006869d4448fcb722c6b86a306505afc54a4e39e9136980affad1267da479bb175b8608d093ea531f85302e1c4f450ee93451ac33";
+  sha512.doc = "62dd19282c5ff9b030b1caa8a779590f46aae1bafeb4ecb90195e2e0469669c21e130408fdcf855a0a0859100d04cd7b3494ce60bc21e32ea5c3c6fc162ea69e";
+  sha512.source = "3abfd38cb39915bb6a1a5610c5d760174cf0caa7de99b8f975f8084f01579a2211c45ceb0912b84f9ab09d26ad091801869c11f393d1b59eacbb133dbd6b1603";
   hasRunfiles = true;
   version = "0.5";
 };
 "ocgx2" = {
   stripPrefix = 0;
-  sha512.run = "9aa474cb0b11ea88aec9bfa8f6f3f4f3156a2fecd64e3fafd90006edf8629ddf411c7c5e4a4a6cae63e805f2b2d91d050f11e8638da830449b747869e6ded2a7";
-  sha512.doc = "921489000e09deea03520c0e1db25ed5ec69bf333b682134d8a2bb50ccefc9c2e022f90b53cd80275f7b4a3fe7f8a5bae08ead6db0d1e2d0fec5004a01a03fbd";
+  sha512.run = "5d53ea7247d7ab98a415818a33fb80b4d5c3de01ddfcde361f0529d2f8adb71a09d4c1d007c9a2ddb30fc5441c68b4e8498981a54571c8d2ac617c46418e37f7";
+  sha512.doc = "f38f087a90d4cffa2569bd5186a708b41d0a01034b288c272c41c1e1755bacdf2f119721456e643a099c408a1aacb8e327f19b99c96cb74d53e6057e87e49079";
   hasRunfiles = true;
-  version = "0.40";
+  version = "0.46";
 };
 "ocherokee" = {
   stripPrefix = 0;
-  sha512.run = "f19c0978d54757b6673a8e9348dd1133d138ddd0734ec86c237b97644606015eabea03bcc52df42388273dddd9d2d261a6b14c780454c9f76f6884f2cf6a80bc";
-  sha512.doc = "cdbf85af5fdda57ad25ee1ad20d8ead0fc15c25644c1db51555b8cf646037e71e313ff468710d1add6aa043e9d4f0853106b0b995d22aa261c409fbfc25c77b7";
+  sha512.run = "9638c408e96fa861d395881d1bac87b55048a25de61561823242d78f836522205c9621f5a01bbb5ad1c8390230dac727b4fae333c22966a04ff5df1f923b5909";
+  sha512.doc = "40bb5e47b2ac627007d349c0b043f299f09321aa0d6fc11ad9f345576fd7a902be4d012d56ceede9e66c8a5972828e7b5a5646c101c08fd28fa3ab1c935f8256";
   hasRunfiles = true;
 };
 "ocr-b" = {
   stripPrefix = 0;
-  sha512.run = "1c7903717108b83f461ec67ed247ca60c02481c5d9c01ddd5be3dd8e8000f14c5fd01c9632641ab821438dca9c690367e36685e1c7161ae43a661c81eb6f80ca";
-  sha512.doc = "ba962f0df9f179940ee1dc9b2e4bc0587527734ed614fefa9493a384812002365b41dd1765fbe5357521e4de958a6c6b153c3c43bd093d38434bf21b294771b5";
+  sha512.run = "30b658802a2a30776cef18c2ea0f1a71044b5b7819c75ec58df9acc04134cf1aaf85b97f93231d439d79c47f66d7bc57b43494aca073871ec3479ae70178fc58";
+  sha512.doc = "6d162b10b558a9db8269b2535ac9df4f76973c54d7e23dea20efb29974b839278888fceab2da85f945da483415bbbafc614c8ae4c1cea6d262d6a46dea5b69a2";
   hasRunfiles = true;
 };
 "ocr-b-outline" = {
   stripPrefix = 0;
-  sha512.run = "727e4550ad8a4d2d8886ac99d7ad58690e39e80512c64fee4e01f780a20eac6e5e32e0faa1b7d56b5556f1287b78736e4653c44f6911c559ad6436f2ca63cc9e";
-  sha512.doc = "2d18b50f25d79b5bf07d5c760cb9cc7445554fd06e12de2844efb6c6a360333bbd9daa1529725c5cba71ebae8cf3dabb22db14917d8344d63a30b7f5cdd40b45";
-  sha512.source = "7b817e4b93e25845f3953ea2bfe608d052595339ab9cdf85f62dabf750a8c997a1e9ce7ce726bdefb64229d609b2dfc5e1929624fc644b2e65554aa13dc2f8f8";
+  sha512.run = "ac15acebab9c9f81f0e7786cb3222b336aae3fa4a379592d5fa231e145cfcab536e28c9078ac617bf9b8b672f6dd24b30caa998242ba1e3f4633873ae8d54609";
+  sha512.doc = "7bafe00b9c5d846f21cac682d9577ffe696eb54a55f4bee9314646451fec37d883eca7531f594a7994fa8038f7bb5c78a55dd8a8264255a6e60ff90929596d00";
+  sha512.source = "b2fa5f4561a4fe61c216e800fcb47bf99a09a62d41d62e30669753139484b58b137649248ec152f7631461c54ab4e51873f3c7a42d43ccf2db86d3cd21d3493f";
   hasRunfiles = true;
 };
 "ocr-latex" = {
   stripPrefix = 0;
-  sha512.run = "e4e6e65eada08b3feefcfab0e5b0d7e5ae901525442adb2c6212b1f96bbc4861eb5b2b6baefe4b67e88d9d77e12679cbf6517bc65c64a9d1ff943c09922341f2";
-  sha512.doc = "814f8c65d532c24c87abc5b034b3e6d857cc372a665d61721278aaa900a3a96d7dc84262d021d8daf5c713b5e8a0893ed3826914ff9046dc5655009ae21f2d71";
+  sha512.run = "d6a4377f66293f8f7ad8b7f8fe3a3a3dd294a302dabb33e193921882d6681fc1c5537b8de2bb188396139bbdd33f14d4f1c20f6edf44ce680df837b250ee83b4";
+  sha512.doc = "d0de99d5cf93517f5be8627d649a1d8018766cbba44c40cfbe0f93a3b69c1a5f10b4057dd79194d148030948509a26ef45ea83208c2922cc64b10473d663d591";
   hasRunfiles = true;
 };
 "octave" = {
   stripPrefix = 0;
-  sha512.run = "f25eddf66336137957478ed6687cbb85bf8de083e549ad3f0db0ac512b241fa7482f1dc411b116ec60b8cd1789544ee7abadc8f8b8f37559ee2e6740754e4b2a";
-  sha512.doc = "1d49da5cf5c6f0b8957f15ff8f24570f04f69a05fdcb6b4f6356198aa6337bcbc8abc6f566631ae9470c231acce11d1dbf4cb81e8c57f3c8600b87a5f0c77610";
+  sha512.run = "f7063b207152ebdbd29da1e93db1b65796dabcc1eee1fcf36a470c6074b7abf239c87f5e4e765f08ec70d8ff7f2ebc8fa29a5590fa9a9d6740a5e74c0e3d719a";
+  sha512.doc = "0fc6b228fff15a4dc90973339f2b155ede7051ce69066e24d7dcdb9c9d5ee162c8d684298c8ef7fae64274dfc4f101dbca8fc38ca68200c36cf901153fc461f9";
   hasRunfiles = true;
 };
 "octavo" = {
   stripPrefix = 0;
-  sha512.run = "b2b33aff9c3b8f02cfbfad6e60b3c524d1ea8fdaf97a7c4ae0f6cf0d52fa54ead00288675f3694391aaca02c90dd2bcecba4240a1878dcff4be739c515486439";
-  sha512.doc = "413cc3a0a88835f4136d9834e1545f674169ba684201f6a43549feb1d5b7970445d41c9efd07939aae72ba139c7791f75bd406394b6233f4c35966eb5432da07";
-  sha512.source = "7e17c81344cd0d619b4101db168794bbd468b0224ad07302334a9e9df3eb16cb214cc9bd9df5c408d7d5122d6e6abdb2c71d04a4396c7f645bea2d396780f4d7";
+  sha512.run = "06de0f1e69c4bd8bf0a65e08515994a10ae8df83e6e8981daf70b6eeb424fd59b58808249782d76b9373d9982aee50e7c12c17e090e3697533b87d35480f94a2";
+  sha512.doc = "daa628a0c047ece5aaf15425c0123128a771a17f08fe9212856e2d63b40340dbd7a50a4ed1e19b04198637e11b530239f4280b810ee3813fc6275b78d37bd8a6";
+  sha512.source = "3632856effd0e32e8595bca0f2a1ea569261cd0d273fa200d9cd9c70908a96da613f06eb315389fe9b8e6fcdcd9db233ca8c148120625f6813848a930fdeea67";
   hasRunfiles = true;
   version = "1.2";
 };
 "odsfile" = {
   stripPrefix = 0;
-  sha512.run = "e8f2e4ae565f5800dddf048f8cdee5d7c007b0b442758936ec37f62f0b531db8bdd00e502a5040cdbd56e6a3b928c5aaa7337422a6d7d54aec7ceaa5036a0f62";
-  sha512.doc = "f58037561f782430061fe5a440f06f74b0354ad0931bc32108bf43a26fa44324077fb84e8068f8623e611c1af8139737aa4ee42b779aefdb046ff88b5de6ec85";
+  sha512.run = "c739d1d20c26fde107649ae8aa5a3f767f59d6db3acd063264be6ffd0dcf43d2a1c87eaf9449d1e1f71a7c10cb24cbc55849255cf95fb72983e476e0cb2a8ee0";
+  sha512.doc = "9be750187f9b4476748bb1bc7440dd68437ba8d11e8198af8a1d532b09c37696aa9341dbd91198922ef2ea0a2991d44a946fe080f68fd1d6bfcf563cac50a29b";
   hasRunfiles = true;
   version = "0.6";
 };
 "ofs" = {
   stripPrefix = 0;
-  sha512.run = "f95d10f0cc61e13f2f60112a1660987ce3264090d0205dc55393f6a0204f6fe30f5a32ba16317ffacabf0d87cebdbf41cde1fd642f9e51d4f413ce1211699d5f";
-  sha512.doc = "a43dc7e1a8253c1fec3516eed30a512292c9351fe456247cd163c47ffb28a0a5965d25ae2622b6c44c6c13d4810a93d605df496567511294340dc039cdded409";
+  sha512.run = "347dc05e8742fa09679e3f16465077b0bbf5e34a4be5a5c2e1da094ad22c0e69ff9f4abb4aacb9be2c698b27da7e169adb0c1840da3e56b277514a9f9631dd02";
+  sha512.doc = "13f7fd3ab4cb31ae521827b703cf4c3a0c796b6a33f46b2a24a2a8c488e92d6039a9b136440b00b6a0aba14a2dbad832b777cd5a3aa120ccfc4888ee147954e7";
   hasRunfiles = true;
 };
 "ogham" = {
   stripPrefix = 0;
-  sha512.run = "66033bb98497948c0a5c41c2973082faf9ed55061883daaa504f380edd486fb876c7d8c93489731b9f39aef00a27c9d8ba94bcb66b04d103eb7d6b3d4905eda0";
-  sha512.doc = "5f666b255eb40a80bce743f00eb627151ee51bab9e7b282a8e496ce3f9ddbd8b61c026c0662005d517610d545680f9c92665a6a52fab18c01bd36a8a7883039a";
+  sha512.run = "fe651bcbdb0e8f9ded07fdc412f1273cc8d473894f06af69ae65ac4c6895daba3f61571eac9a49d16de043ae6ed6e03ea386f11dd6b395347d98784bece4c8b1";
+  sha512.doc = "6d406cd0a2ba68946be8d2eb148a6c9286a164ae701f66802ecabe6661807ea54eba175617e00920d37a88dee376c1bfcecef6184320ef1790716d53e5a07871";
   hasRunfiles = true;
 };
 "oinuit" = {
   stripPrefix = 0;
-  sha512.run = "d3e38d11d3b36649f70b49c5f9ad9725300657fcb9dda849f34fdcf846f51893a484f0f4097e6c6729ce7637da94f2e483894c4075a18b86a6b877eb140e7131";
-  sha512.doc = "78a2f77dca0f277109e8f000caef96ad06d2e115d44ccf0a9ed12508dc1cdfbe8d18eb4b70748075cc2f43ca62dbf562115941265a2c3f48dc882d157ff418ef";
-  sha512.source = "0c2529f9db37899ebaf7a26300d1f2968e7baf2da546163a715ac873d3bedf301330467d54ffc696e57ee153c1543df3dfdff5941280b94c0d6bbcb9521c9d6d";
+  sha512.run = "4d6b72ce539766a3453f7edb24c243a2a495f3916ee9fd650917c510a0e8fe36e12399843c1de3dc0b0de704bf5362ea20e9bd0d6c3100e659c5641395d658dc";
+  sha512.doc = "dfb7275002731695086aa8733a543ca1eaa207bc57cd0b324666940ab932cd9301cb1c0b0bbfa4df36278ac8e289ac1be78a2e0a58ec656c470ff4b841a70803";
+  sha512.source = "0d81c9803b9b45b20c096ab00d0c0e5ca26e71d5af463e511660c5bbd28b5b962afe243f21418883575b5d40f503bada65b5c34ba48486aa74a6f9ddcbd48680";
   hasRunfiles = true;
 };
 "old-arrows" = {
   stripPrefix = 0;
-  sha512.run = "a4d3b87c61130122050b4ab4c1f82f52b56ae1d3d5dd776a7bcb0087c09a5c5f49ec65c088fd5f6a180671d41e20786deddcba3e988711f019210c36748e0325";
-  sha512.doc = "1a812614d55fe5e809fc1c375f0b72c2494daa21098ef4e5737c5a4aaf1e8e78e81528992ad42012b5bfdd594c1b4ee7bfec53b00695426db28d9f776ea0755d";
+  sha512.run = "2b67317d41349c6d601d8ddcba6ba58cf503756f5bb2f4343c1447cbe4e24c8949a4de58e7cf3863a730bfa809dd09f5f1ce9944e3dc5d4de104e4817d6add17";
+  sha512.doc = "d142a95119386f85d1e6ff0f6a24bcf09b9bf7ec83a581ca43be67376cd4a44453d090e4eedf97bcba1026827eff29f97add3a6ed676833b02b718da4811a3ef";
   hasRunfiles = true;
   version = "2.0";
 };
 "oldlatin" = {
   stripPrefix = 0;
-  sha512.run = "2f151b634a91aab7d9ef59cc6eb5c79ba89e136c99e70ea467275784b6800c432e7a3fd3a1bea3d941cfbb7adc905b3357c04e97caa250871f65d0f484a3fc49";
-  sha512.doc = "a457c079c6f4edfba26b65990b1d00c25d1b8526f808857270ebf47748c03f026bc6b8560853ce18e8bdd1f994b10b225d1ec4891d1d2b3686049b71d6f2634a";
+  sha512.run = "02ba84762eccf816178cc652d7f8d8f7d962db7d5386de4a8274dbc9524fd7a212116de0d7a53886bd5b431ddb8a5cd8ffca7defe3174cbb50f417172d2963f2";
+  sha512.doc = "1ed3c1640420272b33178c62aaf4c0d538f5f1ffc5350c377788210128c74eef4e6023fa20b3d9f214f518079e8a8c3753c74d30084f5a71a994dd4b5534635e";
   hasRunfiles = true;
   version = "1.00";
 };
 "oldstandard" = {
   stripPrefix = 0;
-  sha512.run = "97ac11efb16137815f3e36e2d2a30f61ba3b7c249dbb424f259199abb87d2b1301fac15a22ebf10afe8ad455927676721114030a549a0f7839809b357740fccb";
-  sha512.doc = "1dbb21b3ce9dfc2acefa5e249735c27df3e3715ca53b9fcd311b8fd13415f3898f966f00976ee956ec071b45c8ba4b6113ca8903a57501e61c54ad6d459e4a66";
+  sha512.run = "b441e51ef7ebbdd9868e4161f554d6ddffeee852b7cce7f5ab754bd1d0d27fe7279c19b3ae12ae345211f5db6fbd78dda2c4519d50fe72146fe57b9477bb7f31";
+  sha512.doc = "7f7f421f3bf3764dae54289a2c81c0f0b1aa0611a203e3110d9f62bf9f162ba2ad5271ab9374d326be9aae1ea4c36b7205ea776c6bbf9d2aa5eaf392caee1c81";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4a";
 };
 "oldstyle" = {
   stripPrefix = 0;
-  sha512.run = "08c61323fe1e30d0926408928fa0159f569db2b3383ee8f86803c3b9369abf4fd3227f161f45431c206aba9e1e4c39023d05f0f207825ac63c07c6680a811ce5";
-  sha512.doc = "6bf5ccaf8c1e8888e5e78d90b264b69790b6384a8a5c23f1776e32bc76fcbd10eb389149af2c3cc3bbe88497eb0a0b49e68a04e1b212ab17aec5873130de8081";
-  sha512.source = "a24679cc6c7fde3c5136416e75fe6aa0195f94796eee46e77029a6a0137f354886191e7b310f2b1bb4450ce41607ef6ac6a840a32232dc6685d6e0a4cdbc96c7";
+  sha512.run = "968ff7b641f6ae6e8aaf43d1ae9617710b0bfed9894dad135cfd11050eef1c35c48d589d58d3a94e34f93c22d85c58b047ce8d0bbf0ae5c2e645de72e327f9cb";
+  sha512.doc = "79e2c2d155bab57456cf7d2ec08930d54e538a830c1e7fb12c0731b246b917840d0ba06d31939ca97e7a20e53a061caa5a5a3beb139fc1a05f32dd9497a37ca7";
+  sha512.source = "a9200c32d19045cd56121a64727c1465ef16f48269e4b9bc6957106451694707fc0fc3db253e0db425fa8396b32560b5922f8556fafdeb68ad129d90f027d944";
   hasRunfiles = true;
   version = "0.2";
 };
 "olsak-misc" = {
   stripPrefix = 0;
-  sha512.run = "f6f73e43e5bf53629b11f2186a5f946334f15c548950ccf6da2216f3e61ac02cd891f2a9c63d16c25e18f64359b787f9be95b4e5ac209235106cd4082a1a177e";
-  sha512.doc = "57c3e7874f83c156cf62e7b5ae6c768658d1c987fb8f6b0cd00ae65945608a0cb5d58405d65d963ed5b62f8550a3b2c26253ce44ca1e0e0aac279092ffed4a9f";
+  sha512.run = "17f360186b44fbeca93ebbe6bb99c51b1815bf376272de824e8a62474e59a1cecc09757639d0542270aa1f1c84ad8042f5859032a141f353b112ffeb8f5ba866";
+  sha512.doc = "da6afafbde8ece27fc082b15ad29fdf53ae08ec8674f138f1a45afd39a1cc0a906287390986406b4c5aaabc009aee1843560f078fcac1aad2d7739ecf3e16a68";
   hasRunfiles = true;
+  version = "May_2019";
 };
 "omega" = {
   stripPrefix = 0;
-  sha512.run = "1711da48c07c8be1712b76e1530ea626dffdd0fd116f752bfc1c3379152cbc86ef95604fff29e30e15a4db9e9430a1a713f8f211ae6b262a4b1db99db8bca599";
-  sha512.doc = "92367c352f3668edf963afbaa51c91caa0c2d662844b30a660a9a07802e33c127ea5755f63eab1a174e76a9d02986c91d93185c7a2f9c118f021aca85794e8ee";
+  sha512.run = "bd07f654ad56219136e2f9e7612b87892bf8c6d0c8f2e41434a7fabb8b159bc43f79444301383adf560f1985f64e639dd496dad6d3ea97ccbd85fcee4d7a36e0";
+  sha512.doc = "31eb2aa643ec37d68d902f4de7be391e7da3af61bde93e78beb1e6df1c6367fcfe00f88e29c8cc878b9cd40f2e3a45f9e46bf24ca3a5608aeae09be491130fef";
   hasRunfiles = true;
 };
 "omegaware" = {
-  sha512.run = "d68d683178942100d89a88fd79d84fd2b7809a0f1573517648cd212442bb0c810bd09fe346685a1d3cc38fdf0ac28156fd9e6b54c409a6508f8567d7c41de356";
-  sha512.doc = "37417c48bd0c4e6b0d0365c1fa6cb9302838e4222a230cc1ba44801ea9b6155af96c092ea7142eab8ff7148b4447c905c286bed29a7715bcf72230109b6d7cbd";
+  sha512.run = "da2ea42b840a49e8213bc4b1cbf30d042ec718a916fbc58a6a5db4bb352cba8a669a788530e54bc50c4918a5f106dea69f791c6f30adfb570fec8f8ae80096a0";
+  sha512.doc = "5eef2e7061a6b44086cb8c9a2e4230db2abbf7b1d9cea678264900f9b2c8da056dda07db004b26031ec6d79192b11ce0cb139a3080dd84421bd527cb92f144a3";
 };
 "onedown" = {
   stripPrefix = 0;
-  sha512.run = "43f96f612884ecf891df3137e47450f92bc4890eb7dd3328f178f9b924907d092b9f5395ba162a757d7da7ae84c9f756d543c4e3c2af3d31fdec4508a7177617";
-  sha512.doc = "17f41005dbfacfc6b5d7e9503e68b17634e877ad58252a40fda7e88adeed5d4b22ab45e681d1d0c4d73532e1a4b7fde6dc6e89e58d58861ba9c4e7b7e70445b0";
-  sha512.source = "95363bd68f18b9f65398861b3eb414a18e724becbbb68afb9619798b42747a907bda9591f67b96109af976abab097666586d996cfacfa77d28b98d9af3ec274c";
+  sha512.run = "e19fb9cccc481df8609b32fe79de5fcf5f963c0908e9ef7316b9d363d66f1e39bc3fcf85df9ca3f280d948b8ed6d59bcd646a1a11647c366a96764f4271153a4";
+  sha512.doc = "89c1065b82d603f3ad337519fc92866686457463152f06fd1c9e2aacc43a6d49cf28c9c2bed11af67d623ec945dfd59269baa5b63a5f3c15bdba682c0fa12894";
+  sha512.source = "6ef509399c88093917715fc32b725d3ee671be045a8ef70ae13a89345a9efd0bdf53698a2b86abbedacc1a4d21e141a363b31b53f70bd9a9c26e11333b698922";
   hasRunfiles = true;
   version = "1.3";
 };
 "onlyamsmath" = {
   stripPrefix = 0;
-  sha512.run = "07d896306fbef347f06ea7ed622e30bf09972a70c6f5cdae677e6a28bfaa2df823280012f341138879c9bbd41a1e5521ffa4609cf4e005b5be664ddd9a0f0a54";
-  sha512.doc = "3716ecd026995672972eac111c8d06f4a112289485fffeafd16861be5c18f9e93546640b91b5cbbd801d4c4182e3ea91c57e4846765c8688d2c6b600e00bfeed";
-  sha512.source = "2ae0ccf3535fa969c8f461cc348faaff044dd4ceb60098a3631893f009c755edec4f03dffc1ab8a563ced02bb07dd4dca02f1cb305486142cbd881d8464e4ea6";
+  sha512.run = "5452647ee6eb939c292457ee26cb3639560eb55893e44ebbbeaf27ef1c2ed30346d91d733422e65f6780af7c434cf02ac740d722612f888fca8dc45538d81303";
+  sha512.doc = "154273f8589b0d8bfa0ed46cfb297d44000eaa750e8d34b1a7aad9f7b26cb19423d7f7ba362e3739cb7d22b2aa077fa44e59d9c46a52db5a82a57659e86a6dcf";
+  sha512.source = "2a3568cde9264ed3f074ad47fb5afa22f4c4835c7e0eb53699f691bf4c52b829c31724e56b9bbc84bffab76d425d9fb72b2bbb49ce14ff7cff0d57f538218783";
   hasRunfiles = true;
   version = "0.20";
 };
 "onrannual" = {
   stripPrefix = 0;
-  sha512.run = "78af270d055b4fa4d79d6d72cd03bc51cd5b79fe7bc376216eadc8f4c1329822c422119c3f68a9afe0d620092caebe772e33524f7b5409a7b0c93aee93420fa6";
-  sha512.doc = "dd4023ef0e08deae6ff2ebc4fd7dcc23c941030fb1cb3972cba3289c655513d5c7541fa2fd863c2ab682870ba5a37029145695a7a8cc80932dac094a21344d36";
+  sha512.run = "0c9f717c54d70ad24a1d3b08a6bd44a4e96e932af4d78ba2895f40e16ae5e5b841cd421b71ff3e90490c13e0843d48b8a28efd49b33ee3f74ef9b6476c88f8ae";
+  sha512.doc = "4a4f46965a0de8ca99585d4af31aa2f0f94e51328c8cf1ed29768bb9e2f8cb7e14d63315a008a1d0446d7496ce4f8abb224946277ddf47223808f8f2277cfb64";
   hasRunfiles = true;
   version = "1.1";
 };
 "opcit" = {
   stripPrefix = 0;
-  sha512.run = "79f0fdf4555eb10203e81337dca0a9219076ed287ce1cbec87d147881a1dc9183124c132b7c66da23a356498461a27e9d6b7f469b1c5cd7e79b5f8e3233d4239";
-  sha512.doc = "0d84bbeb4d74c8ee0f850baacfa93b6db9fb00137d75cc617e9361469a78bb85499b044bdede6f52dfce535dbe3d34101fc1fa03656e72e9c680a09205cc467a";
-  sha512.source = "191ce4c6c5a129a089c530fedf520c9ccfc2086e64fc26500220ef647a8e38fdb888fc50c54855a869581c6b884bb0bd63f7ce474b8a2953de264a75dbb48787";
+  sha512.run = "4514d83e3554810da7fec3cc165c89a87a4aef04866755a5b42861b484ffea81bfff694609d18fb5e3bbdacc3723cbed96305ba0c09bc48af92456cef3b7b5a5";
+  sha512.doc = "6c4e48aa8ea0dd464d7d2902513b1640437518661e9d7237b958b95ad091053b41c6c5ed4407f9c9d87ff5f0ce0b2bda3a99947d3bb0cf70352d5737419e22aa";
+  sha512.source = "031596b3dceeda2782e355e3b19c23a1a31f71295d9ac763055a2ba07eb550a501c9672cbd63929984a3c65108e6084ff6a46fb03e885510e9d696df220b1e70";
   hasRunfiles = true;
   version = "1.1";
 };
 "opensans" = {
   stripPrefix = 0;
-  sha512.run = "1b62a2523cc8eb8a046e9bc4c0f96cfb45cbe469780d81a727a6ce9ebbe94d4a17289f66b3ab834c7d0a4b61948505454e26351cb11302840bd81048c2af9294";
-  sha512.doc = "5b05aa4a166fb7f33cf92c25c05408f62b84a85f0823ca38a0253bb5d4eb61c93b0e6a6b4aa64f5d2465b6232fabac9c14bddf4dad037e42b7dddb69ca4206c1";
-  sha512.source = "130a595916b3cd512cd4a2bf257bef3e21c89449e5ce86a9116d5a3c55d07e8bb47d3115e717a7fd336f23b80b0677fd518a5a82bbbbf012aeb3d7b81c85cad1";
+  sha512.run = "892cf5c5f2ce29049a8a836a94e64981bb51a9a7b18bd3d003cf9f3a233c0da0fa219fb24ce5ac07e7cfc2b94862bf1f201f62a91995ea7f45e3a9a657a875ab";
+  sha512.doc = "e8c005fe3c22ca88ffa9f313bd1735dc879167abb17e9c3ba1ad60d609fd95c61377fffbcac15cb5fe2f3e855765b0981c7a602235c3ba5eaceb759f3c92236c";
   hasRunfiles = true;
-  version = "1.2";
+  version = "2.2";
 };
 "oplotsymbl" = {
   stripPrefix = 0;
-  sha512.run = "b1febef8e492029d9843fbd81447f6fa2aacdcc22afe411f832e690915a92348c769df53c567905d2b1798e55afa859991c15df5aeea228ea51f9849ef739318";
-  sha512.doc = "37aa4e068487443db6af8e935f93fb7c25157785a77eb87e93fc5c06d0be9858caba2fd02b2ba912eb5e20e342b5c5802e05916aa89d7ea787ecb721da488755";
+  sha512.run = "bb894b28fd62f95807bf00856aa2250bbe58b0c1def385d6528b50ba925410ff177ebef97279338bff7ab70db012ba916edad067584989f86797b1fbd7e21863";
+  sha512.doc = "cd4ceb0b923da7c0f56817602eca672442d03f628440c8beb82c953cf73a9d1bf8e24939a3ba4c813c99b7a2aa98adede0c98b4678b06fffd3f0bdfe8fae52ad";
   hasRunfiles = true;
   version = "1.4";
 };
 "opteng" = {
   stripPrefix = 0;
-  sha512.run = "93dd8d0bf33a27914b7f76211ca11eeb09a859b6ae195e0079d9dbac4f34c69636854464e1e50b3e9853a99a37f1fd635f8f8148bfd4a00a49a043db5fb30898";
-  sha512.doc = "73f9e12e7e5e8c3b2535cfba4787a4e106d2649b9a488fbf0cc6146e0a48ac4c8cb806f3fa399ea0282b0cbcd9b78471eb8662747317158512306572bc912b48";
+  sha512.run = "1af8edfbde5ac2abae770765a437bb42d5852877438d283d8021493c621e94d09bd62d9012556024ddecbeaddd838b37ae9abd0486d73e2698956ef49ab585e9";
+  sha512.doc = "b1dc3f9f107e1e8313bfa25b843a4959522eec2e6bc886e8b6271c2175258d7108c824bcbed8d243f0e51b70851e68246fd572bcf6afa6aecdeb86a946bc247e";
   hasRunfiles = true;
   version = "1.0";
 };
 "optidef" = {
   stripPrefix = 0;
-  sha512.run = "78d9ded8b8227a86cc6d6ac22debb0f3f75391653f865f569275855cb92a169752a4e1154ac4731c3a605cba88ed575e3e2a2f0b373281cfcca45f507f8b9be1";
-  sha512.doc = "9e7765ab552a0a25b018116a5a13381d3c35054d35e8cd7a2c631d690fb9b6466c33a0ab2104ee683623919e47122c021fd093cf2875057fe270559425449783";
+  sha512.run = "dfd704e585df8d01b279e67ea3a2baba6e86ddb9f38bc9747e370580a5f218e7ae4446d2429fc6bffc605ef0ea56c8077a8f41f3ca6a8e857df29d0e3f328143";
+  sha512.doc = "3b80346a15a6e1d7209c3584d4fc9de944c55867ee7f21b018300b87615c0ff4fbe290a8683088c0e81f0eb20cf514f13fba0eb141808d8e5f5986c75bc9546d";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "optional" = {
   stripPrefix = 0;
-  sha512.run = "c12af52748c71ce9b729a0b894e68dcf38392e97053e213b294963cbefefc40efd8f198192abe81320b4ffebba7328b3959a152120c2e7f66c96aa72e06bed4b";
-  sha512.doc = "c465ca8b3178320ddef5a7447cd3ef7a6b2bea266af17bdaa6dbb9a2baf556d25a6d4c3c763a3329cafea8490d546c41b512b64a1b775396301d7999d8904312";
+  sha512.run = "3f6d031b4bf863a339a80c3a05b101393f88dcefb67c61a67e01d9647e74def1fbf30f3d018158a83c8a171b875959bf57d7a3e90dc724c32868f9aafcd5cabd";
+  sha512.doc = "d975e4f1b31e2335e55a41b317096be36161fc36fd589255a461772eb701376ce3fe714d727c4de9663ed8e4300bf0b570855b6b3ccb6b55fccd56206ac69692";
   hasRunfiles = true;
   version = "2.2b";
 };
 "options" = {
   stripPrefix = 0;
-  sha512.run = "887139672439c9ea71bf7481a099267cba0cbe8d9b964dd9682f74a567b5b07bb5f02937373a2515bfeaf4b7ca3faf780ed71edce7e168beb0e5b3a69a1f0375";
-  sha512.doc = "62b0b68ce34d53e2f3e0de36f1ce8f246ea04e6a39e43d1e876a16574646dc8f4d943b2fcb93197fed3d634715e116da002fa3615cd248ed15ce4e649a9de709";
+  sha512.run = "3cdcd07f3c279a601da49a843169f0cb44aea573ac6c1c67a347712e5a087df4b21c6481168407ac6383e8fd5cdc511ea29fd7ec944edd2d514ac88b560633a3";
+  sha512.doc = "f23bc3575d6c93d056c752c63bb39e3ef9c92de1a90177e204e4d6a1fd90ce8c9afb36e727ac8ce827a59dad96a3b236e5c3c09af081160113cee1b529bc1973";
   hasRunfiles = true;
   version = "1.0";
 };
 "ordinalpt" = {
   stripPrefix = 0;
-  sha512.run = "dd252717ef554d70ecf8201e2c86d87f9ead6e1cd09d0976335884b62ceb8bcfe846bd89354e5e3ce44c47f68bdf549ed36cd392491c4a44829095f14dcb89fc";
-  sha512.doc = "fca9a8ba4f74b6e4ed51ad0217e74bd376c80b9bab22cb2b237af37c8cabfc2f06e3def10925eda270b3c304d55ec6acc474299528245869f85dbfbaba95562c";
-  sha512.source = "a4d5bb167721aa257aca01ecb12ffd7a185bf47f20a31623c7c8d1fdf58bc337c0a11914cda0637bf2a5ad86c345f365c8287af8809c53e6916683bc1541b197";
+  sha512.run = "c494aee642949d56d8fe4aa28c18e38faf5f66ca8d9f1990419b7197ba6d8547004bb11c3d7b1d63cfcb7414b5c618af81425e4fd61fcf114dc36f9b7fcfb039";
+  sha512.doc = "dbcad860dd1fcff2e44f568caac9d3d60f4e9ac2312c672b9e9b46f9b31a2498a7e92bd646df8c622b024aefa8f2ecdc9c24e3f95f72f30f1e9b213d6bc4a53b";
+  sha512.source = "c4264de0f61c1d2abb6785f2a19e76578a154bcdb5314a3016c3a8bf700725294847a482f33095bf7173885e765db2afb4a3a34de3fdeb1d0c2a213c1e60b614";
   hasRunfiles = true;
   version = "2.1";
 };
 "orkhun" = {
   stripPrefix = 0;
-  sha512.run = "5684739fb813473de67eb62252392662f76e975e7a37893424467a8c614d477cc83cf0243ec0aca00384373a5c7986a39dfe53e985196c8394f22e18e9d2d4b0";
-  sha512.doc = "48afb9d4a5b9f3ce6190a69ad56a36a4d1d63822e6e25d8454479c51b4b9072f4eb6315906274e570547f9b44d98ccd0aa4ec9860e6e838bbbeef33be3dd607b";
+  sha512.run = "c1e52283e54e4de7caccfe605438e2775ebacc9c3fd21c143e29d7966c591ccc3fba77019e4f9ed9850762a0c80475edb6c9142d7ac2e3ba54007f3dac8b056f";
+  sha512.doc = "ad0c15ca89057f2ff7d43a1bb8ea4513973978e1316e661a0e32ad8fb8005257a634954e85990958ba22360d29eea2d6ea9d87049435416616349874617d9dd0";
   hasRunfiles = true;
 };
 "oscola" = {
   stripPrefix = 0;
-  sha512.run = "2a86c611f76f162f4bc5f254ed79f52d660d5651fd63f266d6b9dbba77e0f5939ed383630168d3184ab3a07f41202d9e5c05858ea3a4bc95071daac8eb3cf612";
-  sha512.doc = "fb4780d8fa4e2705c877d8fbbf536db6fa5533468e7fb7ce26fffa3abdbe686bd35413ed1ebd3b58ecd04ffef59d10f99e267d1614f73ac7676ecad097a4aaec";
+  sha512.run = "849e2daf4a7a48c6a2371b01392726c28d55d4da7ab7fdecdba545d9a9f8a7c2b026e856cdb3ff1104c1872584d6f180d5ee3e272c8b2adc3325a846a8c0478f";
+  sha512.doc = "3d38a95beb8d399e33d6c9e1674410f14d7941fcd83524b658373d06c897e8bc5474eaf32063077b4a9ee9e5db4055bdf908ab8574b74e44b04dc1977714c1e7";
   hasRunfiles = true;
   version = "1.6";
 };
 "ot-tableau" = {
   stripPrefix = 0;
-  sha512.run = "6d21f86375067958db161820283913bc77afc050087a90c08e32d35af989ff874659887814bc7a4775241a1180f3f01c1a767d280c86d0746605339c6c1cf7a1";
-  sha512.doc = "18f4085c3884fdd71e5e4cb9296ee70281ce82f7b6c61b20a9c392cda07a307d173e2a4a9f25330a6e19df478ecae647e8aaa48c0f648a603b3cd6afe19b4dcf";
+  sha512.run = "f3240c0688276ab6537201b20d6eee422a795d5d994c6bc8eab3f275a037e7adcec7e54c9500a3a5a6d2fe237b44b0b350a7ce6f72c7012bb48a69c9c43f2fca";
+  sha512.doc = "396256f0ce1bda04fe1c84cb45928d82651b4f6363928e33bf092737ee6ab224f473567aa5432fa00a8e4cfd9b5a3f7e7ad8448090afaaaf89f97b33ff695876";
   hasRunfiles = true;
 };
 "othello" = {
   stripPrefix = 0;
-  sha512.run = "f84716121c8b75e32348e958bee7e976854d9d01f8e53f56db015879db731c6400f1389f12686780ba69b69bbfdaeac3ab8322d5761dcf69efff29af61c82280";
-  sha512.doc = "84bbbfd5f6a7c983bb1e175bbeacfbe00cf879d4a6fcdf57ae4cd49477e9a14eb5e648acd53b24b0d36253569f60048143531b35daf47cc7558eb37565425859";
+  sha512.run = "cddd446d5b63ed22ebc4e561e43fa8b4b1ab2cdb1ecc45ab98e60d6799646845a9d432aa45248e7cf70bfc4aea10cd42960a8846479df46a7cd701f792b4ca74";
+  sha512.doc = "8ba85bf32ff739e4588512c2b33bf242b00e3f38a7ddb1b3f5582cd19b925e1adf52b4243857f1ef4b9d8198e8dc80a9aff8a63a7b3ff926978dc7e5c81262de";
   hasRunfiles = true;
 };
 "othelloboard" = {
   stripPrefix = 0;
-  sha512.run = "0ceceed906f5638bbc016a374a8c1ab0c094e06e0074dcaa235db4e6bc2b6c83777d8b9240c5224867a7a915e6449cb9af214448ec118d2f9e7c68f2604bc7be";
-  sha512.doc = "544638f7881e1a92d2cba2520de7852812bf214c88260033759ea73699aa9d81e1052333f1a7354f21e641ebf0f7b8fca8bce7b310a51a9ca6f4a15109e61676";
+  sha512.run = "c975c73b8737f008b7f31af86e6c8a89de3f907c6fe782f075b04819bd936da3853a8ecf15935c04970777a4873b5baa38f9c675cc8943190df84ddc511dedba";
+  sha512.doc = "af025805142a845bde22a5fe095fb96cd533d69c50bfcea8716dd7d61fc95c41727c16127c2f2b60c5bf2b55870d698db54d307c2b025aff3e251419ed58a3ce";
   hasRunfiles = true;
   version = "1.2";
 };
 "otibet" = {
   stripPrefix = 0;
-  sha512.run = "376fb6680994ce60be4bc5b58dc8c24daa2389048f194aa6bc378aca32fc881ed7e2a8e365a669f32660406e06476f857b8ce2933fec5e9cd4aaf33eedcc0508";
-  sha512.doc = "656a5755f1e96f25f88c8150d13acd057370664f9dc2953b53a8ef8c87b884dac8330556798d3d28999ca28be99678c471348431ccc83d5615a0de9d9923841c";
-  sha512.source = "bbafe03ff70738cb17a8815b88b11f94afeaf5cc5f57877eddd1f22cfeaa482a4a8ceb25c36db693bdc0568f2f249aac918ffcd539ebba6856185c4fd6b6d40a";
+  sha512.run = "8fdc06f22bc9d25b61cb7b3b151919b7d2d6cf3d78f3cfe5a11284d9246acb858410ccab56996cd521eb98518be9c232a4c8e0f8ebbe52d7e93c510e3a0ac070";
+  sha512.doc = "96f9d64c8f668f67afe20dad97d1cd3cfec19df3300204831fbfe0d245c1e15d8d0cea48bb94fb002cfa18db45d3ade730848908b0d77b867fff7557b0fb826f";
+  sha512.source = "4b51b49e3d3a802a3a19aea604a63f1e9503f7d9d86c81200dc5e2f2051b06e184add9292321f4895905a07595de6771eeda2463ae0c1b096a98f2d2fd210721";
   hasRunfiles = true;
 };
 "oubraces" = {
   stripPrefix = 0;
-  sha512.run = "dc33263b8d035441a9f3b9d08c10bb167c5e8b9b7553d2068fd493a711540bdfcc2ac953d8017e6162e673f024dd6be1bff1ea2db88309ff1be9876b29cc558e";
-  sha512.doc = "847728d7cb359803af815c8a8461e861c71d2e845ad486f824349270f7f0221f2541b1a4b671fc6774ae1b5d87cb355ca534ab31adc4783430734195d97a00aa";
+  sha512.run = "8a0a6e0648cc3dd9a342a960dec6512fc9153a083c8fc74eb08c4e0f46d091e5f2c71bdb69bae80fc13a857175ec6bab4b18cc81a0963d794028f4faedd0def3";
+  sha512.doc = "c97f91df77f64d824605c56669136585b94d95031ed5a4a67f3404c54b2c96f32bafaecc06d114755d0e65c3fcd0379d63f28f94aa32ccb8d23730f5f3eaf63c";
   hasRunfiles = true;
 };
 "outline" = {
   stripPrefix = 0;
-  sha512.run = "7f3ae266dbe61bba4d3f7ac5f21663f37d273f5f5089992511f3108cdaed5358341e3bc1c8ccec51ae86baede1be2ed112057979d1418f0489e153ed2eeac0d5";
-  sha512.doc = "b7014e0b5f8b33ccbb70a1c2b9aa8d0232c9979082df2c1c62d22cbec39f1244272a4cd89dcb207c1333f541cbd851554c6acb9f50092909872e70578461bf7e";
+  sha512.run = "ccfb49c4e035f0d246f00aae56efa9d6570ad3997c44e2bf70588ce67a0bc3fb7bccff19b65629fb27158b0156a9802d97ea1f8edf6f4494f644f40df5d97118";
+  sha512.doc = "301ad12a8f964a7dab05b208649c74ad39a64264f113963ebf36dbf83c90ed8ed042d8cc15f626f6081bd41f51d66dec592eaadabec32c65a0d67d15e8ead37a";
   hasRunfiles = true;
 };
 "outliner" = {
   stripPrefix = 0;
-  sha512.run = "dd87866e40c815ce3ce89aead11276d117b1dc65b6e6a75155941ad89aa1e090bb8131a437d71319b16cdebef1a029b3e8a8e6ed45b01e0a93af0dd44276cba2";
-  sha512.doc = "80f0d4e8263ac8bb4aac9d7d5f4d9f2456701f4fe19146b34e62a89a6c749d9b1cac097930b30bcaf15cc07a8669dcf18ee32a116e5a4c766c834be24ab84442";
+  sha512.run = "9251cb4154042c7620f545b2fb305cb996af9ff51c44259287a1f5ec490cd83bfb82321c4d8512ca2d22e5d2a7409ac5dad9f7a7d51f38a76bfe77faf2ca4af2";
+  sha512.doc = "024095493b4b7301597798285afbdaca9fad291dffec9707b82da9f23b1ee0585345e4f201d6b322a1a65ceb6f703ab5430d14973c3fb25970b04d2785ebb9d2";
   hasRunfiles = true;
   version = "0.94";
 };
 "outlines" = {
   stripPrefix = 0;
-  sha512.run = "178d5dcce66f3bced5b770918b57a3e55906a6216343c5065d2b4a9ae36967b587a9ecfd255d5610d2c867c7fb36aa40d0ac4d545e833a52407f0bc977d3e851";
-  sha512.doc = "e0268327e65fb469ecc2ce2531303a30e5d7c896356dc3ac235190d16c2ff8d8c689b15563c69d7e62f64f8c4bda35840040c550c89e25131dd701ef84761d19";
+  sha512.run = "1611e4ba3b8fe21db83a542da9d7e0c3431330bc24e3733d28c8c5b3172ce3e4b46ff5b7dda41f95b4edb6502236f6d558608487ac47f8726420a2afafed75db";
+  sha512.doc = "bdc507a3f3cb966d03df37d9385145811c5750bce6341935231ae987b0a30dd65424a1bbb772920586721e25711caa429cd6d8b8149088f753f36b9dd69ddaac";
   hasRunfiles = true;
   version = "1.1";
 };
 "outlining" = {
   stripPrefix = 0;
-  sha512.run = "7a04d8df8da076f8932923f6cfdf879912965f96520cb3a6163366daaddf41c3016f41dbb3df3e26d7e7994617792450609bbd0de5e2f83745486130efc0eeab";
-  sha512.doc = "7202dd35c580446fde04610fa3136b8092c07a6034abf5b507fe89dfc11bf445173a80bee609ed93fad4244f49e1627fc8526fbe72d2e68b3b3b9c7ae25bc4f2";
-  sha512.source = "b1cc9f821b61116be76ed2b901162bd244ef586a60cd9f0024d2e0c6696577bfcd1f8b887fc3115fc24e941f244f3deb7c2cc637915a82106d23d115b8a6fe73";
+  sha512.run = "0d2b7dbe710d1ccd54a70cfbf6464a3ee5ad0fab8ccfa61306d5d5d83252c0f3b64f1caba6b5e8e75f7e6237fdfc675981acb67fbb730282978071e76e92ee40";
+  sha512.doc = "c083046671d159fc118f25e56ba34d04f8011e0c49169920fe679ffcb78d93e52a6f8bb5bcfb34c47f0b23f73579519c431976229ef143a31ab059cde6dd64ce";
+  sha512.source = "8a2f640df3572a5cb8336342b49035ad97513ac97eb87483a73c0d41ef4b98e2ec39b994f9a7005c7c6cdc2564aa55fdd8cc0e34bd79b189882df34ab10e6cb0";
   hasRunfiles = true;
   version = "0.1";
 };
 "overlays" = {
   stripPrefix = 0;
-  sha512.run = "e59cc05e4e81e1e9e7c1194ce71b174f33f3692252714e71cc4722ff70ca07009bfab8e466cc1f7ab11bc68f5908b00978a49bfa2cc9fc4c9faafe257200b0ad";
-  sha512.doc = "0e580e5a4ab2b588c196a53f571bc2b237b44b8162cf8fc5c037851d3edaaf6d361f8fc3cc8a6bdecc940febabf5118fc07794e64eda737ae83c5c329242a08c";
+  sha512.run = "6ee154baa88428dfa149de77fa12e9d37ba6e5dda7c54f5e7f28b9d274be7457ae9a71484f3cc588a0797d4209bdef37a15de9e3175f0708711a54a845274084";
+  sha512.doc = "3e9962fb56116a4cfbaf0e54e95a3129aa2414be617a12cda9b0d6199afa24021ab9fb1f8d5ddbad8edd7af915c1b80ee42504ab7873385a391916c96fefd6c8";
   hasRunfiles = true;
   version = "2.10";
 };
 "overlock" = {
   stripPrefix = 0;
-  sha512.run = "723ef923ed702b19aefde4cbe4787945d5c4f6d8c1261e27ae02bcb12bde34a5ffdfbf83cb516ebfab8801e909d66644c1abdb89e503ed2dbb76469b08bf5898";
-  sha512.doc = "114b60b115738389824839322fbbe5947977953475a5d7e56d99c48a32b81d091e00363c522e61ee7f90a2186328b0c2789396d2ce9ce67a86f503ecec054e87";
+  sha512.run = "449caa738b2af059871e8142b6257a65bcf02001461c64deb4e785cf1cec6406ad3d13f9b39bb0c06fde690369cf44c64f9dbc869a3269eaa1161fd840334eb3";
+  sha512.doc = "5083d926ee34f7df8ac55111fe503d31589ff319725aba1a726500c3ad935974a29c68d677035a9b82beb249295513d4e3f70310cf078d376f084e354de81d94";
   hasRunfiles = true;
 };
 "overpic" = {
   stripPrefix = 0;
-  sha512.run = "b7e0d89f8bb244f6a33cd27df558c9cebbea776cc05bdca0b5f7a5451e983ea1599ade14c1f2b95cf447e566f22fd8af7ea0038b22d121f3b209014b3b449a18";
-  sha512.doc = "575d157308c38e661c715f09c107eee4bb55dda9ffe2657e947871f4d67ea9e2e0fecf9edb6ff584548e601c65cc26f5ac09d1c02d41ab229d93a90a1c530de9";
-  sha512.source = "ca0b0f5373b103b8573fe0a672e78c330817605c6c8348596b2502f7eb0af9947b5507cd819d4cb4fa5fba493d8d0f30af78b08254858baed86aa6c019e47444";
+  sha512.run = "2f5d8f46c4997a5eca5f82901727dc1ed790a6a2d55cd7aac45605d444191dd022c22bb7e120fd45f318fc0949dcde07e154c81f4e0c0bc3b9720cc99024dddf";
+  sha512.doc = "a4b721ebdfd6fc38559407c902599be2599c4887a28fabb976ba0525ab8d6e17ab9fd5470b11f1b70618365182012152f5bfd0d9308395db98f868addc8cee73";
+  sha512.source = "58ba7aaa6fab2bdcd55fa3cfffc0c18ffc029bf1fd0caa122f61fa6a67ff9e9dae0be3db916705fdd60dec84f7a14f89583d0400dfcd979df59cc463357fbabd";
   hasRunfiles = true;
   version = "1.2";
 };
 "pacioli" = {
   stripPrefix = 0;
-  sha512.run = "d42c90b9ed9f68b73b1e1fe5c8604b9be082be2220fb5eb4f636173204b6797bd7791dd3f327f41ea2f513edfbac0c5a5804c67855a6e3a0a8f54644563196de";
-  sha512.doc = "4dd6617a5f5bf44b53d9407e80d5e2410dff648331e4f8cd71c547727a6c2b5cb0f3eb7050d0900bd9206808bca6f41ffea3e9a3604986ed0e6dd5d32832c913";
-  sha512.source = "08c8c71e93d7f635970547d60cfa0bbb177bff4fd67267f3012555436b2085e417d0b26d51e819849c4626e77f6d3ee703132ff9f4e5c72c0c436f168d8c2eec";
+  sha512.run = "a82b391630b5f572d8ded331ae98f480fb0cf7f3eaefdcab3100bc839e2b026f012320e334e82d04e01a27657f36927a4d1570086899ad637f8c47ddd0f22b2f";
+  sha512.doc = "fa911ec25c0d6cfa62a2d5396aedf893b9078604611ae5d34b06f24740f65fd62895e4d53a10931071d19ddd24244e3c7ee9893f4eff03efd0920fd1c1626610";
+  sha512.source = "d9347b85cd548f5861b83ef2f213760805c3cb76fe0313f02935bf28baae72caf2d548459aed2acb7ad5061e49c6e6694e46e88bccc1164e83f63a6f97045d04";
   hasRunfiles = true;
 };
 "padauk" = {
   stripPrefix = 0;
-  sha512.run = "1142a3a3c8683556e74220b69b0528b9fee1f74588fed4ca794a596970126fd575f32a42aff9b0989157d1210e80eee7ae82e2ad4ab727ff68685ee2bd173506";
-  sha512.doc = "af85be786daefa82f7f2f795bb00499a05512287f65f9ee0336061d3bd7e72f9c86046e3b58f5a3717968519e2bd65c08b958dc985c25d0be8b6cde9dd9185a3";
+  sha512.run = "fec57c3e7bd299671ae8d6489723a4d33c54b11223f5f37f3f3b3cc148fcbb6d9a9aa46587ab83e414221cde3a7d0e4493877d90e9536952d9069a4cec7c758f";
+  sha512.doc = "ffa9d45c971b7fe4fbc55644be4093268f842e13a2ffb1713be401cc88934dae86f012741951f30580a94a57f35b85cac9525869e0abca5601278d48a19782c0";
   hasRunfiles = true;
   version = "3.002";
 };
 "padcount" = {
   stripPrefix = 0;
-  sha512.run = "77883d6d0cf6e9e54ec5dc16458d0ae665386d4ebcdb0dc029c202c83e2bc31cec11f3ff358ce08dafa9ddbf8d3681fbfdf40decd0cfdfcc55dac7d392bd9250";
-  sha512.doc = "2590f6afe5c359f6d434249fd601517c0cceb8f665af5dbc89f81e92eb9e8c2448f310cee5f3a3422bc9ae20c87e472751706b45471d77ec9c07f01376da816b";
-  sha512.source = "94bc1655e13518a4e29a6f6fd0541d5e33eac99e416264499cda52a42838b5037209eed20eeeb112721861491f85aaa5d8a9dab8da81df71c04b764372f7feb2";
+  sha512.run = "9378dbaa1d3a569a3cb4bd70fa1b5a6dcdb0fe089d3a2c3eecef4cfdb776607f42b7fb018461c00781f8b022dd962e790146297f5df29889db13794e25c1cbb0";
+  sha512.doc = "68ffec3a80473b3b2899ae262fcbca47198c61bf1363b9c167986cc95214c778fdd49ed65e8fda8f15d48d3d9941ac54c6660f28729dda176123fa1b3f7e8631";
+  sha512.source = "088fd314ec5717f6b40f66762af47a32eb01f40259948945b48bfde12923474cbf0a7aa8389b4ea83127915782bffab4d9cc0be40d2f7d752dca734b0fc0b62e";
   hasRunfiles = true;
   version = "1.0";
 };
 "pagecolor" = {
   stripPrefix = 0;
-  sha512.run = "93ea68718432049e5b9970e2883220f08a87f30a0deecd2d58e96a62bd693972c5c450d1a01f3fd53b8fc973096ba4334b75e3342a191e3494c2af8652cf8556";
-  sha512.doc = "951ce5f1b43f3512b30f313cafb3be67bc2e36e439297c84c530120506f8f95bfd1e5a9982ccef324661922dbef91abf118cc552b6f5c5f6c897a98a7dd89a33";
-  sha512.source = "1cb18e84e30a1e2ec398f9db4c71fe41ebb4d3738ba5bc1d109a2f14cc5cb925b35cb2a6d9740516ca86c4d019c682260987974b573efd4f18034c8b17e671f1";
+  sha512.run = "6df1ddc270fa99a658d2ffe94b29e31e54e665b3c3c41c8c1f992adb8453f5bb6b59356c2ef049ac4679f4e996a6888911e5c8c5d92500df0a3f53d5a11f5fb1";
+  sha512.doc = "c63adfeddcd00a7d738fd74c047b034d4a88264185d519d4891a429b82c62f20dc28196e1657e1c7c1dd3fa8a570d5a66e6af3aed5c78ca851ec40153f2396e3";
+  sha512.source = "2cb9a6c424ec6b1a649a592a51d4c06f67685042da8cba22ac088ca962ecbd2b93806a962409ea94f28e9183cebc02d7e2b9ee298d645a330fab8722534ecebc";
   hasRunfiles = true;
   version = "1.0i";
 };
 "pagecont" = {
   stripPrefix = 0;
-  sha512.run = "153954c9ba1bfbd3e4b18d47672b8a5f4f8ec800f21110e55b1086473553e465297247671d82ef842428467a2012697df41ca21bd8359b04c1113107d12001c5";
-  sha512.doc = "b3ab5839801365dd0003693278bd4ce50eaae890dfd5655143b0c3dea0da9fe5ce566005c936342a0e98936e0f53b44412b7cbf0fd49ae74253c0fa2ff6d328b";
-  sha512.source = "11f57e1d645461bbe372c228962574448cf57a49702018a2111dc957e92f70ea64b29dfe62450a720d1938abe0c8e3bfefd96beb6f8c5f6412c61175cc1e09d1";
+  sha512.run = "53b0f558c6198181349a66b39f0b54108a931279766882bfb713390e79ad0f62218ed841416e143c6909161ffec548592ffccb337505eba61f643a05d49f1fa6";
+  sha512.doc = "634110b7cde040e5ae7be237abd6817055f7886d9fed5ce1a00b5ea93e9bc885f0c15398c280abe8472e27ce89aade2a827e66fc041081c8d31cdaf7755119bc";
+  sha512.source = "86417ff0f398efbf5b6abf2272df933734724a7d94f93d0a94704c393e195ca0a5828698d4d91527fe1bb0d70a26af49998513f0e9d80e1b8966239555a3dfab";
   hasRunfiles = true;
   version = "1.0";
 };
 "pagenote" = {
   stripPrefix = 0;
-  sha512.run = "4ff0fd54fb8a9b3f9de71449ff9c5d48285d325b4c127aef38ca6a37e1383f2023ce2f1ec5210c25f4443ef798b3731b8732238a3d16e9988511d0230c4eab5c";
-  sha512.doc = "80f1182ae1c79deb3f9fa28935c3cf0030be7771e20ef65b983ce3ee20e1c81f89c95fb5708a42bc33d56ebc49c4a96e8c95cff1f0f322218e07b4efb9dd6191";
-  sha512.source = "6636ab8fda25a359585a1d49035a34be035e413700abb498fc4330f6e182ab478aaba4fbfde2c412ecea443ba48b7781b6f186dbaef92a5c17d48ab1f570de2f";
+  sha512.run = "f1db9829d909add12458cd17771136ef642b5655b03779c8b2fa46cf25afcb8843d91de331737f8f6537e7afc5f2dfd275926e6f4502c8022b0472d61b433b1e";
+  sha512.doc = "b57cbcef6a6ecec75b351f6a3dc09f0422873155a8f90819dc4dd2caf60cd562a21de7ce62b241259c2f0dc3889c0deceb25c00f7f3d8764a90f5861c8e8c1ee";
+  sha512.source = "3a7f4cdfa5839de85f476c3f059847ba05f7e5eb10ef4f5d951ac4e07a33091c4ccda5570dea1bf47fbc7f15272ca411afd68197fba56c9ec133d163671483db";
   hasRunfiles = true;
   version = "1.1a";
 };
 "pagerange" = {
   stripPrefix = 0;
-  sha512.run = "83041f3fa88171b7485758b188dc14ca7f4161805f28f1a7d25d3bc76b066968bd7f6f061450e99c0081893b27d6b1945268d6d32ef61964aa6019f908c928e8";
-  sha512.doc = "522796a683b81739d40c90dd5bd158eae54fa6787030e95dd0440e556c0a21cae92824c0f6cc8bc3dd952d97703584cf7038db5a5f3e526e977309590c0e79ac";
+  sha512.run = "9216d443f44deba5cfc4ce04174031cae55f2adffa0f3400bf3f315c3b9003d1ee015fb6df69cb2cba23eb117f2ed191b7033ad46a51bc718260a44778783c47";
+  sha512.doc = "862ed02746c6d91a2b8d9e19bb2e943e251dd18f0d94562bce9cc9e8ad603f7554e77ccfa2485b9a4eb7a2d6d5185756985f104d870e95823a4b33072f24bc9b";
   hasRunfiles = true;
   version = "0.5";
 };
 "pageslts" = {
   stripPrefix = 0;
-  sha512.run = "3ad576144e0fdab56625e0779f6af430432b073a8b0d619f9ab5c589d0d6023130d7f9eafa5f891445d669cae745b9f7bd8ad464d43264344383968f5a5c7a67";
-  sha512.doc = "8419817dc48b4c623c36dd82ffd88366f79ca04fc25a47f359bea3274de576187eb1a9c8c3466697f3eff549eb6bdf73ee12160d07158cad2d5a7ab195b3d85c";
-  sha512.source = "d1220ab0ac9bdb8b53d120fe164e25d89af8edbbc22fbf4b4bf6c4f1cf0e8567c220dfceca9286b75cc0c5606e13caf945112b9d8ecea1637a0a79c59b3556db";
+  sha512.run = "7db146bce45ee5ceeec5904e8f3ed6efe0010885b657b0f74546644c3ce2a018deafa95a11390da3d8a62eef16508b82c3efa9d02ac1662cbed18e905cf869b5";
+  sha512.doc = "58fe6250af4ecdd6d62c231778c89e0b049995feface3af66dc73b920f4dcdca8838d3274a7648caf2b38746fbdaaddd1b4f87577c77dabad2096e9c8b681619";
+  sha512.source = "99db221ae4c7795ca4093b7708aac14fededf3c55aaf314433602906d8b0f3d9c074fc0b8cc6807474e81e510f35bca486db3aa525e95a5486c7ff379cdd5e18";
   hasRunfiles = true;
   version = "1.2f";
 };
 "palatino" = {
   stripPrefix = 0;
-  sha512.run = "7f7e758a1bbcfca2232530e93f26bdd8795ea2eb98f48da983901c648e5e6b40bd61750d50d77c110a422e76c340ecbe8f0c3ca690a19a1adb7ae47f23aefb0c";
+  sha512.run = "f21fdeb0423853294f52427bbe1477bbfd49b1a6255bed5f561dfa2156cf8309b2f71d2c09ad74bd64bc1fd69fc73816e3d84e72d975db5925d4c3c4db6fe8ca";
   hasRunfiles = true;
 };
 "paper" = {
   stripPrefix = 0;
-  sha512.run = "7efc69558af8fe524865898d30dec4a0dd45e3d678ce29d21a26f918cde39aa25599d895b9957786748772e759c00173174a8ea6f333a0a2dd578de8c75b8a12";
-  sha512.doc = "3eb4227d0c6a27cfeebdc771ab4bc15f25df40fb27f5d94a697394a92acdbe756a56cb75bca67782c99c3a5bbfba844884ec558d29adb2844212ba0334d912d4";
-  sha512.source = "ce33a55ebed8f2fd9aae3897869457bba49a52dc17bcb84d2e560774a32c810770ce46790c442d76d4cefe28265778dcf4d9970a572af2c4cd2db207ba8c8300";
+  sha512.run = "484964a6da8fffb001e29b471f7c9fa52d2f1aecf66da8f9365376b987c79e8e39cdede0f0d61977381aea78f9e6429216c0cc2eaa67a831e4f1ace29e2c9503";
+  sha512.doc = "2fd771d5f1035cb48c0a4de89f1174a988b3b8254caf535ca75633efe2ddc0483d095a720a9dae93aa7e832b0d4e63bc49cbdcd801e4190209f56bb0632c5aa6";
+  sha512.source = "74ad404eaa44a523f97d245d6ccada1546d9c991bfc64186ab1ee7f6efdecddf87897d7e64136c0285e4d6541f1bf164173efb020adc113893d8e9309a687967";
   hasRunfiles = true;
   version = "1.0l";
 };
 "papercdcase" = {
   stripPrefix = 0;
-  sha512.run = "05e2078524367deeaa765c2294b6d0fc1889455b0fb2911089d7cca4c6a5ed551b889f6500083e2005b72a1a9ae794c8a73f9e5573ab77897e0a743dab3aa7a9";
-  sha512.doc = "298f0372d315f2bfa4cc8bfd900eb8a718bc44b56f453e354a6afd4fcf06260e2168df212ab164c3aadce31cabaa281e61df1d5bb0e6acdd5664a733ef9e66cb";
-  sha512.source = "dea0003413c6dabe674371e9bd0ddbce43e88eba030693aec967ea211f051f20f54aae43751a604e353adfc81d9e03eda3b5112c5ab09c978a2d3462fefaa24d";
+  sha512.run = "8f2c923e72c7f16b394222ad86bc3f07304e6c39965473482c708b15574b0475af6eb6aaa085b94be6b0ddcce3324cd5639a8317caad55844998868ff18f0e73";
+  sha512.doc = "01d43ccf0be5caa114f1b406e5cd4c1f8f44f06ea92e6d3fc999a5bc71e911d6c99dbcb8a1b9c49105b978d0d36e6ad2642f73446e3ba6a55edb11f82f40638a";
+  sha512.source = "7bce5742cc7504e789011ec877fc2a934300b0edfa2e6b8f89d625184e5dd0c8cc6116aae7701c313e133d8669522c1414a2a16d11e7e6eec0d1c7112fc44d56";
   hasRunfiles = true;
 };
 "papermas" = {
   stripPrefix = 0;
-  sha512.run = "85733a4e9ad956259ea00b50d1b27c66501803478a6b37a82a5449dd68224c33c7cb1ff143e55aee7b5f8069582d306803f4a0a42d0287dfc0bd32496b774a79";
-  sha512.doc = "8923bbbb395c375065029578682584ae1573b8c249b99528a8ab83fde4b0a8d317ce74a9f3d44c8cfefccf2d2f01b2280dbbbdad3bcb257b825a190136e9ff20";
-  sha512.source = "6df197a0c4c8b9c469e3ab7c16a055258be199e469440f8db45801c6ce723302234abd414101b282b9fb4dd0a05d16c210fe22427bd0b316c8400270c2cd513a";
+  sha512.run = "b5ef2975638a8eb48e7aa9fee72024eaf5695ee3133a35a4326461de03e04b750ac90e0874de232176435e0855807aaa074e6555f3368fee55fcaf61e6abb552";
+  sha512.doc = "2d0a43fd05efe6c96a7852f35c560b77b9461e005432f972a9896184831fb81f72946956f3aefd115ca0f5fbbf684ab615d50a7ab98a5e09a190b72a08e56793";
+  sha512.source = "2db3f6acb382f73ac6d220a4ec378026673ab16d54cb02a93926d30eeb8d5377d5329869cdfb3563915bb93253d64a3741a3498e197958e93929e8651f33cb02";
   hasRunfiles = true;
   version = "1.0h";
 };
 "papertex" = {
   stripPrefix = 0;
-  sha512.run = "3cc499ae8d67854ed619d76b1d2701d07f70543a94c18e66ff93e69898696051d864c674ef450de66c0a716619248161bb8cf2fee232bc218f327472265b398c";
-  sha512.doc = "4e93f60f8005b0d0c03ed1ef4d40e07f9662286316c7b0b38eceda102d7e396747abcd1b27bcbadffb1cee303d36b34c0069dab74b83de63f4b1387735a73f9c";
-  sha512.source = "f3ad76541cdac95264a537af4879952a7b7d95e07292f9207073005dc642c58be91ae310938b9978e880e63dd3448027ece5365c98dc955fa3ce32ebd665777f";
+  sha512.run = "489718b18bff9055917d9aa1329c34218282c2dec743c4a136625b6c39dc5102bc85d7da6dfb5e2b6a0f4bfe5a8fe27341ba9c7cd205cb8435ed3bc81a7a5c1c";
+  sha512.doc = "aa36046e89f7e4486020a62dc8cb10f0a680247a3148149831153400a4ee935d3120525de3fbf29eac5c6cd58b655c1a2dcc2c4a8baf7d849a40f842d3b895fa";
+  sha512.source = "9afa6d8e8d23108266bae48e78caedc5bb20c06eb15e3de8969a2e8bfaea880901a184fa8f2409e6d7ec0a4341105151049e1763fa4f4cdce8150e6bb3a52174";
   hasRunfiles = true;
   version = "1.2b";
 };
 "paracol" = {
   stripPrefix = 0;
-  sha512.run = "6df651cb57d2697e663905db7e2020b4a74dfe45391ae65d591357d933c5738282b420ef9c44e3ecd5d9f40bcedb8ec46c873dd29f2c5a6a55fb72e460bfbe7d";
-  sha512.doc = "b0f70b56c33f858d74e28e51556e3199cbc263e51878fab985ff2017ddd021020698b7b44cbb6fda41c5ed7b78860522fd5449a832bd1c4795e0fce6d0692294";
-  sha512.source = "1bd37f18e25ac7f3a22efead63e7e82cca81bb486dc9e9321b68bf975f406312e1c3c8295ba6381f3cf40c76216356106faaac2af5d84fb9bb7e585a3ebc2f6d";
+  sha512.run = "ff7f60734dcf6d1db89a0b80747b31eb95bb28ac90ea5d83546feb08389fe890c6e3b4c44995b115d3e9d446823e81e27bf08337ae2d236a5a89c2c79258f741";
+  sha512.doc = "a5711614d817193cf34cce405fc57f00dc17f3757b8c945dd174ba03453943c22e9c66b19a0f83444abd61f486e5df10246556e59d281f10f95452ad1931fb49";
+  sha512.source = "cfa0bb83368dc27a7d71fb5e8772aa1c0ab69f597b2b00630fa1a95cf448684e6b59d46bd6dbe011953c51c0195b5cd0981a2df8d7d5fb951aecdee0a9ed0576";
   hasRunfiles = true;
   version = "1.35";
 };
 "parades" = {
   stripPrefix = 0;
-  sha512.run = "0af806fefbba77812705d7e758106ea1909900a4471e218b3c4d9f5be18ac54612d3a5a0fefd08b962d6e2b48f566b567e1d0011764f96254959972635f086ce";
-  sha512.doc = "4697556f4e1ffdce59916b4e7f98094da139f8522c318c8ddf84aa363700f6a1b0250ca1baee612f7422749066feb23b11c331845b3613ed6fd5a3debc652efb";
+  sha512.run = "6eda005756083b1ca0c1ee09efe44830874d8090c25aaddb8d6631284a057130d2f03ca7f88b460fbeb7bea90ad31da8242028a70b07f6a66bfb978cd7390e26";
+  sha512.doc = "eca6b66f0bb424730177498fd6310718a78ffdd031961f8de877bd6f9d027430143c19310b158abf26f92b4280016cdac696f423b493aa49d60b06cefc546688";
   hasRunfiles = true;
 };
 "paralist" = {
   stripPrefix = 0;
-  sha512.run = "0b226bc481b4eeb744945df6b7f8df710ab81e639d8632db189ba40acd7d6f8f131566cc71dfea03fbfb312a361d66898d2e4e2318ca979a2b71457bebe05b6d";
-  sha512.doc = "16233ca09205b5cf8e801e7593101bff1602b8d9120bed552dec7cd3f9cf4a478bf6121e6c1033b5842199d2b5df4d99af144e715ab25c7a2e7590446491595c";
-  sha512.source = "8b26bddf66e2b470fab9953d25d1b33b98300ba814e18b4f1706718b762e6cf1f9d5858e174cdd8524290608e2afb69e94ffee152d88ed6b4a31f69467d344a4";
+  sha512.run = "e05bbd65ae7146515dd5dcc6ad7e40fc8437fae29ee26861aa9c2b4b6da0015fc00974f0a2328a72e6487660794a822bb64b35ea3282eac980c3e7fd23f4b899";
+  sha512.doc = "5f103c629d1c0bb94aaf6c86f7baefe3e99a854e764306cd21e256011ae5ed95601416e33677f73f6471bf4ce2a375b6dc98b8aaf35b8dab1c41ca91b7ec3ec5";
+  sha512.source = "1cb11b8e7792df9be259e1a5ef3b2efdc85b5454265deb66e2a527c4696d7e9297e2022d5191b1d666996f1be1f638517ce4441d0bb696f6b33ae490f4138e78";
   hasRunfiles = true;
   version = "2.7";
 };
 "parallel" = {
   stripPrefix = 0;
-  sha512.run = "d073d7560fa4a039f3ae9d3eaec48d0c42967de940096d9ec9bf0921eaa823697cfc97d0e465670cd73560ca61e9500a333b544ce6b76b1f8fa3a61b7bd56ca4";
-  sha512.doc = "38a4ee6195c2eeb68ce7af4d5fb6826f6ad4df76c67933e9b4331cc0b10e10804ffa92d3aa4efa91eeb329024695bafa0db764b18dca5ee978cb0182b5651fde";
-  sha512.source = "79a641bed3aaad40dae7f668603ca115f43364a34a5f18e381883b9eba6761386df42feba6aa235952f4d02ddbd85fd6d5dbb65fed7f93a39e6009a8d1c31d89";
+  sha512.run = "975bb869ea0df9236f0e86cbfe880e9bd59ab2d6aeb98f0a399f5bfc7e4367b3f14eb64e707e4e7ba8bd3e0ee641765b9ddfd79ee1abac61f96414f215fa5cbf";
+  sha512.doc = "ab4c283176cf1fd3d524151cc647c1da360a1772e57b282a91007edb1269d6bade379775d0efe6731fee18b3f3bc02292057d67795475a291a4dadc748d5b185";
+  sha512.source = "6dde2ae1a2ee65decf5c1ba547d2683948d58a7955b75e5a3bd74d0b6705e7c6a75f2fe4dbed01562211b670d455a0360d0fff3ac0f24e3e77b4bb01a65577b5";
   hasRunfiles = true;
 };
 "paratype" = {
   stripPrefix = 0;
-  sha512.run = "b403eb2f8c452b23669a5df55e76e9d97d392bdf6e68558367209ebce689072ca4e281b0e5504dd89a6fd4915f8f719c16c32966d8ee7c98e7949f2da511c429";
-  sha512.doc = "c293fac434e03b8949c7e012fb4363e23eae07be903c578c55f2d74753e90eccf6b430d43aa9528239432efdee24d2d9cd058e8b8a87ad412140016bd6831cb8";
+  sha512.run = "f7c3089b516e40d9d5534a1d25ba104623f37c3d2b77b6545b07034114644025873c0317f4a0bd5b54c6471853f5e4c7847176b42a6bdae29a6efea555fd7ae7";
+  sha512.doc = "5d11fcd66eb57909bdc56416f53c060cd248731cea02bbeee232d10cbcd2e10753a66ad7347212337b6b110e94a82970f98b1486ce21a6ce61fffa50135a6b6f";
   hasRunfiles = true;
 };
 "paresse" = {
   stripPrefix = 0;
-  sha512.run = "98eedc0ea29400064c64f2edaadc7ec4397714b060f6b76df5757e912b2b09d943d13cb8bf6e68bf4c9808f4a7178fc21eb02c705b55ba8ec2ae575025cf5b7b";
-  sha512.doc = "2e7d35e42718cea78f2cfb4df49949e4dd245c5f7e9f33588cf153945b32903d449256b8581fe24aa47b20256399163c07d82c164dfc6ee0b1f71d8fcf4891b5";
-  sha512.source = "3612ee0b98bd3917742113b0ae5161d81b6c65abd2d048c6f81f82acc819fbbc2019dbeaebc79d7f2008372a5e1e47f114f580de2579331899816a308b25cf9a";
+  sha512.run = "92c265c8f34f24ea37a478926c127b203b9ddd143015875869745ea1633cc1458cfbbf4129f24ff141e91724f9bbeb1384912ee753ab7a26336c8470897430c3";
+  sha512.doc = "ac71db33fbc694555438441de4d03d5277c598f12a7a59f8d0b4df05c39bb29571691c3165dfe121deebaa4bfb90fa5e7b1a2460d8731bbaa71502ee79b37a00";
+  sha512.source = "4c442470bc63c0cf2df221e02c890aeb1375c51e02753618ba51f13f20e054769e700b6d226c8d2690f8b49d86bc0e0306418ed741c44c4bc7127986b6941935";
   hasRunfiles = true;
   version = "4.1";
 };
 "parnotes" = {
   stripPrefix = 0;
-  sha512.run = "4eabe02ee44557ba34a7eb95922cd17cecfecc48c5c128d4fea8789b94b6a60484a354a0fc3e80cab1365e274bdc8921ff048e9c72a3396aec0c21ac35ba7611";
-  sha512.doc = "4b3d162ef6b88016e88b4cf3bd9792ad25351ca702f21d0f3d0a2b6a3f0dbcd34da419535b907dada09c176e6a6b52285fb945069e1a082a76151bb7f3397efd";
+  sha512.run = "798ac362fa4b67dacfe9b744163555d3c25c9e4487c5d2e2fa47be12d8d4b41bf89cb24a04f6434c804e9ca1f45e6d1f22ec234ac04596d5e1905589cf1eb558";
+  sha512.doc = "e9728eb1025e80f41ca07632cc2625ee670a61ebe06d003585645e6aed183087df460a1dea4f3a8b17013af6fb3e974a95b33d848d2502435a37b1aa881ce833";
   hasRunfiles = true;
-  version = "3";
+  version = "3b";
 };
 "parrun" = {
   stripPrefix = 0;
-  sha512.run = "d4b36b25584227fb9ab5e93c4efa1514f135e38ef19971e57a9a9e204edd6f247dbdeca8d7cb737b92ec1ac5979e70e4f167d64621b15b347fd3a5a99f6ea5b4";
-  sha512.doc = "39c408fd55e14df2c2c04566092ea60ea61870adf2e36ed7002fa0d443f45af4a15a87fe6bcd664e411c9e8ca2f10c3005265f2e04fc3528a4a7c3f0e7a8bfbf";
-  sha512.source = "de94e739fccf651d9a833f5dbbc1c15cab862f1fb462872df0d8f7992f1e57fba003f48392c813ec08a9e79afeee143f343bb8306366496b26c731180ac9b293";
+  sha512.run = "1a09e6dbde9c24d88e21fffe24ead7ee7567a2c7bccd2ef33e49eb1bc8eff2befb3828a87616872f63d1d8eeba21814cefc8bbe756b17f887558449aaccb1668";
+  sha512.doc = "cf284387780c9b2f4a79ebdd781388525aeb2a03ad9d85048061a6c43728bb6f2f4fc840ebb499a44a3fdf612ff4a20f36c17a377f959be813b4ee4d12288fb7";
+  sha512.source = "9a4fb32c53f5bd2f6f79992b4ce076ab211c24e2c0f4ca2665c903b2e3d5268b5615bb5e9c8107d1d44df6a9e50a9f942f61cbb1fd05a388738449e4b312f306";
   hasRunfiles = true;
 };
 "parselines" = {
   stripPrefix = 0;
-  sha512.run = "4b70d4211abf690b2d6203a0de3ce65af87b50074c01b9d6da27c52b40a78e2780fdbf79c9e85e3126c428a94cd6af871774b1c2cee237b45b1a138e7ce259fb";
-  sha512.doc = "c4b6adea89a41ba3507d949179919b13f19ddcd617c32d64105d524946fc946dbdfd792c7f0409af2ccaf0577be84d45e0dd0a0ffab6271117a6ecf40cff85a6";
-  sha512.source = "296ede2e3ee96c8537c4546d9b0937f056878e5cd28c06731f7fe6a4c32d9f91f1b09d574fa8a07b9daab429712f7650d2b146a9e3fca79a081a1fe187e82adf";
+  sha512.run = "81d18bfa1f70157ca04383a2f6e4cf228f23d878a9e157e79ea0bbbb743090046f5058ff0731ac42f881f5cef13063fa0ff2fa9b80992b334e02dd7f2a1a33d2";
+  sha512.doc = "b6dfad3ceac162f9c122c2b18fa168469cb6c4befce1c4b2c8f003507ff4b2aed30e6728bf29f04545a080efada1fd98a9c8c064f4ac1eea521fb486624e60b2";
+  sha512.source = "454fd4c9032ff1075237294f346d55fdd0926c316813c3eaa487e1649db569455f89a364b9688d024567a15edfd16c397bb1ab76652b46112791874bae5db36f";
   hasRunfiles = true;
   version = "1.4";
 };
 "parskip" = {
   stripPrefix = 0;
-  sha512.run = "3dc9c970ec69ae3868a0cec841a84a8a0116f1a7f327ac256bbb5c519a24bdbab5594a7b4c21052c405a2958bf189156ba034a70017e012ab69ea8592fe80731";
-  sha512.doc = "f5bc216eea48e94d993ce55b6692a2235c39a3f495867f36a0afbfecee847297ce847e38f292aeb052b8002a6641c07d6e81b9e3beda3fd5643c8bcb2febc5d6";
-  sha512.source = "3c349f0883096fa94414daf1bebf2b3d9c6bd0d30946314730cabcec60208d1480ae8bdbf143f26a78c6c5efa1948ccb0f1a58521d80bad70295dcffc0bd5386";
+  sha512.run = "7a157e443317d05b31cdbb34a07e69b9496116d52aedbd021c710751fcf1f5db4565803e26a824166d283e043ba52a865638e739a6e81dd48623cd7230e86731";
+  sha512.doc = "fc4484eb846ea726e69e890f5ef3e0f64479739aae3929f663935a6b26597fa706a34e1e2eb86284c79dce2bbc7a9c13f2d7e8285d7bb9a0148eab1a150aa584";
+  sha512.source = "41c3dbec891e1b6589f9d8cc2f54622df45cc56fa5d8ccce6e7b57c974ce6499477ce589b43dfd2b572cc636cbd850ff25e944e285faa0ea5d16487f5a7f3a8f";
   hasRunfiles = true;
   version = "2.0c";
 };
 "pas-cours" = {
   stripPrefix = 0;
-  sha512.run = "76f3ab7bdd0cc863aa950eafae07ee0182b383430cad2eb2e6f275d62e2ddc018eb7336f59c5828d4ce89029a43a4b14a69b80f3b1fe98341fb021e69ca17c98";
-  sha512.doc = "22961bf957b57a81569679aa0bcd98f1cb3534a38505aa6653cf653bbf5a10c666d046e3dad530937ce26913f7c9ac96b930ecd13270fc92938c379a78fc44a0";
+  sha512.run = "0110f82a7e0fe6219b44f645bcb01a5ff97a8a6800c06cb9b6bf10cb15a5a4749d82728622e23e11f272bd2250f3e1757edffe3c9d27f808a3e2bed5f4439166";
+  sha512.doc = "ff7dd904160a21ad3d84a71f75f6b25fdfa3aa0687128f2f2eda19b2d590a91d0db1e654dd7d1fd7be9bd643e008db1f0c30b2d46ee6e3b02d0d71bda2b964cf";
   hasRunfiles = true;
   version = "1.6";
 };
 "pas-crosswords" = {
   stripPrefix = 0;
-  sha512.run = "a2e148da7428d54ab30d31f4493f92da5b3410faccb2ed15dee0b51eb9b54aada3d3207af7c3e1fae2a86d1b9f61fcbf5e0e2a3befa57c21d425dcfd44960f1a";
-  sha512.doc = "8f82a6537ac822751546ce457b692baf793c8bd83a53d07bada35411d429961e79eca2ff2f4827a67796d3881a892dbcdb34db54481e8ff0e521b36df86aacb4";
+  sha512.run = "cc93ed7340380b2072ac7df4c0d343e43e1a3ae4252c42d9914edcb33232597a5c86d22cce3dc02218e6e725191f056ef9fb342e88d1a60dcadd8d011723b649";
+  sha512.doc = "65baac7fa63a01c70293baa26d99d21dc999f959074a3d2668cf6661d3db059b47d2f577f8c9f5d7ac6014e601f50e547283c55541c492b3c2df4e5f01b65be5";
   hasRunfiles = true;
   version = "1.03";
 };
 "pas-cv" = {
   stripPrefix = 0;
-  sha512.run = "e47e1d20ccb6063a3895a26938fc38387f4a1c6ac8c2271116b4dca3f77361c6bbf806cbc9fee0a4ce749354ee4969feacf5cc535ea743d63aa71e410415a160";
-  sha512.doc = "a90fa6e1cac23aa4b4f0e5de8c1ca7da6c220be16ad430edb592cca25579481cfb71a3c5d9a4d8623a7a69aa17d63f5645fa5d64f20d6d87068c8e1c93e8d684";
+  sha512.run = "4dc3203c5888aeb3c613ddc16446d7ced1dbb8ee1c0f0d983fa010eaf81d5a0a7a9364381be04e10bb15a9f258d4ae086fdbc650ab8ca627b07cc286be1ce1ec";
+  sha512.doc = "93460e4435546cdb2df20e4e1fd555a726e909e411d42068b6f16f8bce2fa90144e1db95cad4cb94430f65b9614d766be00fa8c3e781a1de733b189a0b4585e3";
   hasRunfiles = true;
   version = "2.01";
 };
 "pas-tableur" = {
   stripPrefix = 0;
-  sha512.run = "e17fa2b2e079ab2dbaaeb85210a85dc1daf89f9b2c7f345891f1ea2e7ab712ac012f82361864e553146443588e85f5cf1b8b24e10c151833c24d1e174c2cb00d";
-  sha512.doc = "ac402d7413c83a58ae997d8da8c8b4c9b1a24bb36576b9bb69fb6e28fcc05d3c4b05f7e90960629da8ea2f1ce2db396a3c6917e9b6272ffccfa0b26c60d38483";
+  sha512.run = "61fc474406d55ce0fa4b2edfb41f4ac9b2585e448c2b2b76452a29f2a03eec9ea1658cca2fec4fd0f1b8576919698a6d3ceeed650b773783af47685f33c969fa";
+  sha512.doc = "a498726006eb5b3c7352a776c47e215fedfa7005d529fbdf071946ec736818e6836591670c7342e84d2886718d2faeb44824256f2aca744bf97d157e00f71174";
   hasRunfiles = true;
   version = "2.01";
 };
 "passivetex" = {
   stripPrefix = 0;
-  sha512.run = "5f6bdad6aa87aa92ecdcee9e6cd09f4af84b7c9505e3cc4b6349c8c9b027ad9008509c93ff5e41937d599e1f9f7a3d6a88d59519fbe5c1c29270f943e512868b";
+  sha512.run = "dec61bb52bc1bf8588474e6d8971ca16f691d13b9c1be1f131cf0a720a205df1a95830f2f172df2efc30799d4aff9af064f9d851d9c705235aaf96e4b50decdd";
   hasRunfiles = true;
 };
 "patch" = {
   stripPrefix = 0;
-  sha512.run = "b6023a153af8906f6103d989c6b7481fcaa997ce25ba4a6a19009d4cf8ef91309d7d03729a175fdd6a93c62d94d6f8ad1041185b07191fdaefd1115cd4454f64";
-  sha512.source = "a3655e8b940611baa1f3ed56ed0c1f6cb1e3dd9d8fc4d2df16784f1d3badc7a258257c4a6293eca5aa4feb64d805489e78f91324ef19066f77904e9588158d12";
+  sha512.run = "0ddcaa07696216f9fdea55471e1265fcaa71dd8ba2b8a50690dd519ad8b9442015502ec59b8f9f05c79f5031be3de2956cd71af58153dea8e1917f33c246fa63";
+  sha512.source = "ada97aba615160b3c30c9cdccf3360f3692612bc702247ae3fa44f7821aefa2ee60c89ab79417b0ff658335768512a0d8d9b5b17df619c57d169f6487d39e5bf";
 };
 "patchcmd" = {
   stripPrefix = 0;
-  sha512.run = "953612c41419929c690bff3fd9b2ecb29dfdb6c3a537937e972ba46bf80dbaffc835ee70196f407cdb346495d211c41c1fe21fba340c19f60ddc56a083abdf2f";
-  sha512.doc = "47e83a15b358daf3cb2d4a87644f63b12f984d221c3b23dae51568b711a9eff68b29796c5551840c81e6d2a16fd77ed19fa050fb2498f1aa152c8b1ad673db5c";
-  sha512.source = "307af547aa0f003d5aa7f8b518875b93a9d00bb2e6745c639762895ce1985829a083aa265ad261f98b477a288fb29267b02d295f4b87bbaff9cdade5dd9de951";
+  sha512.run = "a98085cb274c189644fa1307cf4ab5949a9eda76936fd6b74a7ba366b04d58b2a213c1a5ede53f644bdb76d44eeccd919176fb1934b8eda55489fee16f0c349b";
+  sha512.doc = "3c65e6b1fe2b25efb45853deb5b3111dbfa03de7c0b154fcd86719a81bbf725e1872a6e6b5a9955e63f410ff3c05bce5de336f4ab1e612ea0d82b8d44d5fe960";
+  sha512.source = "d3effea39c2dd33c9b40dd12304973d2d96457bea7b7f233f196c2ad0ca9819e57b38ab7b44e9532350b6c1cb519b184882ea924dc198dbaadf185ac177bea63";
   hasRunfiles = true;
   version = "1.05";
 };
 "patgen" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "f214b762c18ba6ccfedd0df11bf3cf47477bdaa23b1c701e4d1ecf98c4bd642b563d7066b7463237492c1b8ffad1130abbcbecc1b020901ab49572007d199c31";
-  sha512.doc = "108534d334d4f1de613abd901d7f11196c83dce58c57f74977889efe656064c563785eafd315f3f63dc2d1cfdc14a4c3d12994dcdc95d098bbf203a472b174ed";
+  sha512.run = "524ea5aa09feba7ef5efd47e35d8d94703be4e191bb081d0b13007e853e88729c6029451e58a7237ad5ddf524c4d0798421316c38d1d9374ed7cd05f2744f761";
+  sha512.doc = "136e6c23505593788da8343f4dffccee77ffcf9fa63382871507db47c3ff23d6c25d0cefc985f67e4ee137840aa3af8f1738a5b2dac5272e568e73b18b71a5e2";
   version = "2.3";
 };
 "patgen2-tutorial" = {
   stripPrefix = 0;
-  sha512.run = "3ade1b053670c62388bd5605601eacc0fce4cfd37284b3205b163c9b47f1b2adcb5745b1d5f348bdd7e15c8b20f22664b5daab4c99091833907f0b80a90a1a66";
-  sha512.doc = "32d8aeabf00a08e952e2896bd64c7e80de6c2ef41b3bc863c8d66c24048e3e1ae4aab6c994119a60152f8481c8c6cd828ad447be8e637637d1167631e746b8ed";
+  sha512.run = "4a157b6351e15274fc2972e80cfca740b4abdce0fc643a499fad8588af71441887974ac258627b9ef215ff9be8e33bb045f134554a6c0382b74f6af3275ab04b";
+  sha512.doc = "4c375722cc01baaca61acb9d93baae99f7776483a6492d19b7cfbb13038a40ec3c76bc8580cc455e9233e89d0c29194f8c41e51078d3996a3e72431d9113a64c";
 };
 "path" = {
   stripPrefix = 0;
-  sha512.run = "b0c01b50519d260d940689cd147c7ae4a501f611f0e76ee8b25a82d3b84d98567ab742b40da5366b2d0800e6a96f0fa2e5de47aebe61823a878a9f9a2a2c2abd";
-  sha512.doc = "ca21c8feea7a95c71664922e149d8a3a6606db1a9eebae517be1ed393cbc8dd3c613e71df53b8998011bbffe6dc8c5e1bba3258bf101e35471ef822230ab77ce";
+  sha512.run = "6a1fad600e4683476206385504ab5fb916caecc1101ac903d23042c25e055c6d4a73b85a57a3293929b1effd7d4af6db26c36ff994d76efd1c4f81073cee785a";
+  sha512.doc = "e52367b81b9042af70e940aab99fa13140c31d58768ce94fb86df74ec9b52fb365168e7e325d8b2e304094e5a35fbd9fd687305062b5b606bb9e5748f143ac2f";
   hasRunfiles = true;
   version = "3.05";
 };
 "pauldoc" = {
   stripPrefix = 0;
-  sha512.run = "3ea0729b9b74369b1e960a8ece1af9a108c2d9351a3d6361da5d67810e7aaa68a74170fc552c649331db4c3055bc8439006de910925f0f837aa0525500b6ee7d";
-  sha512.doc = "9a8d4ffe1e796045e3704f49d628059746e77ba218f1f5170fbaa431b69f744131f18de1f83793d6f3ece2d79fc04844c9fa04ec832122dd696dffa86e5d8607";
-  sha512.source = "e2364405e3fb03dabe0720e731918784b7d05f739ba17d2f69b8cfcc0f19e22dd22822ed7a35f6689b6d83ea9ef9feaf4e5f8e3b3d00aed3b1a64912ca1de2b0";
+  sha512.run = "36e67d812dd0218d013808879eec1150d6029e13519b0796f061a850d2dca99b8c07a2ec2fe9c49004b0f9947db10ac8d02d47a858b8b27852744cea58779d13";
+  sha512.doc = "178950b84cc4d5e1d78001aa75fd8cd5f0b3ca8e800b15fa1b65e19968a4642fc8ab2a3c2a95ab661155437790f100d48730d40a701dfba3a21981e93e35ba6d";
+  sha512.source = "7b35faaaa89048952de36bb0b340dcc367610d87ab104cca82ea8e38493babab9fea26d30cf4eabe7d6bf64552cedaddc57f49c129076a1311c2e50f9a991add";
   hasRunfiles = true;
   version = "0.5";
 };
 "pawpict" = {
   stripPrefix = 0;
-  sha512.run = "2a054f3ecb6b64792cdd31fa7093039614b28f36e1919b493549efc89868ee17095e7ab77bdb5e4608e46821e358e372e00b763eaceef841045cfd457b91a3fa";
-  sha512.doc = "03b523aa178f9a7a80932d1547224eac5ba5ffa0ffd9eb8ec21afe5f764fac869a8c70e3df75ea650c717dfef1216a2f371f727229038155bd07d4375bc1aaf5";
-  sha512.source = "18a2de29b6b472700a3e3e5ad735ea036ca63546accb483f6c85da949b2041c5baa1c72642de93a13ce80bc2a8d97a4a2fad5d6a4c0bee904f6a9a149b600608";
+  sha512.run = "426fe59ed20c41d3b11c87814b5f3737271d20bfb2cbc45142a36a42cb5aecc1555ea69a8ba1a1cac7bab323d8c9f23720601934f183d197b25e84d2037f057b";
+  sha512.doc = "5f8fb39ccf22aea8c40e3fb5d2babd757447e089da79a9df35336c56049872f45bb04fb76ad08d8d8a8404523666841fc757e7ebbb5201a156274ec2c29958b5";
+  sha512.source = "29f272c3d643ce366b3f82b3a5a913534e9b1833677540834bc48cecd946be0b5cf9d4de9e22012452a33c448589506d865db4ad589425634d80fef1562ecba4";
   hasRunfiles = true;
   version = "1.0";
 };
 "pax" = {
-  sha512.run = "094f27135ce5203193a2310f8af1203f0c7c00b40b20810f770087b949e4afcaab82e6e20a9e17074d0f34527b8db1c6722b7ed998341e29cb3ac597e43f21e4";
-  sha512.doc = "3fdb6dde8e6a46d728af62b76fc7c7f2b00e5245cf32a3eebb7c24d0dd031c37fe78495c9266968e54fa6c68966c866bf4acd00dc8e18912d1b774422699e9ef";
-  sha512.source = "8d9fad9bd2ebac748423da3058e2bd84b30b52c190b97bda0194cdc3aa9ed80e4f3eee5d983bed81ab9314a7c791e907484ba643876ac5f281faa640f16a9546";
+  sha512.run = "3fa85993a3cee32753a6b965a2e7a97cccda36f2c32941e8650026d90a8a69c93ba1f762f802f15999b3c32e327e1a98d970217613a660cc5fac68cf3afabd6a";
+  sha512.doc = "e4a2c6b4220bb498bbc1f74ab8fdfcb65d261ef944a43a86f9007bfd0073c9c6aca08fb136c8b1516d78fd3a37bb00388afc95874778fe453e75f0ea615ef1bb";
+  sha512.source = "ad5e65d29d540d3736bf7045c0c392d79d2ba9c9a194a7d04df3c76729105b95c609167900e9b4533d0ea353312c452de0cb02f303b0d5e777c0eddaac0c18dc";
   hasRunfiles = true;
   version = "0.1l";
 };
 "pb-diagram" = {
   stripPrefix = 0;
-  sha512.run = "d3eaf1f72a2a677f1db557fedd48a3e3d80c98c0a00b055d6445b986aaca228237739f3f4386712e3f26b581924322571ec23495961fde6e2fffe6a23ffb90c4";
-  sha512.doc = "c73baa74719bd3a95061c614505e0e60e443e6e4a2690ed2cd69d20062f0decdb15730336ed4f7f9aa03cdea39b436dc85585c36b95e44f861927a3abeb029a4";
+  sha512.run = "6e2e18f93d5575e3f9db1147a9e255d2ab8a3918e25f53315f91ec395962a3c65d7321c1d162ab7510f16b25e4bdc5c8e4688e56820759baef06dcb08833a0d4";
+  sha512.doc = "4b12c7f67411ed86eff674665f61b6b2e34694c937222c7adceaab453d78a6a1f23c58d3abd7ed2320ccf05c40e6b38ff2280bd498e7b71e857bd6fc86de3067";
   hasRunfiles = true;
   version = "5.0";
 };
 "pbibtex-base" = {
   stripPrefix = 0;
-  sha512.run = "3a1aeeecd8e8481449ee074e0993d5d1c29d2b6bfe25d6d333a99af402b18d4ecce59c6fcc773a3e6b086d8ac1b55a57f34d59047e92a80facb6efd38b6c8e1e";
-  sha512.doc = "6698b31cc6ad8fcf9abcc9bae2ee81b59f3d32d4a3b5f6bbe45f00033b61c708cc6de75a349164101ef718a716bd4c016a7dddebd788127a4ace2877dcf95554";
+  sha512.run = "4c807466ddae93f7b12a62fb32b4a8a8dcdf16eb8935548aaeeccaa90de15484e396f307f229cab8a2980212aa7627e80047502a067847114ca7ff6a9ae22c3b";
+  sha512.doc = "a87c2feac2b0a115ccec0ced7ed9b5215c8b7501020a4ca14fea9a5062bc0994fa31c892c1a738c582118b73ff4df5aba371abaef76d3c15a00d5268bef85031";
   hasRunfiles = true;
 };
 "pbox" = {
   stripPrefix = 0;
-  sha512.run = "4c0d4a7994d80f3d24aaa5accce99886e84855c9c4ef16b954290eb2c4212cca68644207b9f179043c9ca0491f2484094509164c53d5b58a78eca7b234e8ed48";
-  sha512.doc = "8e7da6e1b1474b142d785f0dba59c6124cdac51aa613302812ebfe79eb466b02324fcbf74e589b9b2a4d740438eb5be32aadea925af3979c72d0cef387f39a25";
-  sha512.source = "16d754bc533f0ea28c8d87c28a4a6c3d5af181e2107d934f44f6a70d9a74d92930d8e43b2ff6f462371ee49bad09a1b5d843a5da320c12b0eae13cfbeccd9404";
+  sha512.run = "cf2ea3781aac3d0b8619c46513bf9894c4b4efd8ba89eefe2e5fbe4e8f82fedd3b17f64467598080a577c65cc21713671c68763ff2600ce24fb6f6ddfae83a3e";
+  sha512.doc = "1955a1cd5336a7d71483f49bbc8c65426485fd38447282262b58b4633398cda0753c5574455421b19d92d5c88c599f9c227b54a7c340a35daf233a4f48a1c276";
+  sha512.source = "67cf5bae9494a81b97738ca8ed5877c009d631cb8ac681915559bc4919f536c657fe4e3ade36b8e4a0ee3b614ca4a23bde8a9cae19f3a9aca12cb2e3926160b1";
   hasRunfiles = true;
   version = "1.2";
 };
 "pbsheet" = {
   stripPrefix = 0;
-  sha512.run = "ffd66e88d2e6af69be0125f66cbe425cdd403ff4c1c330c93a06ad0c389b05cc5b17c8a8e58943e9fc881f25904da64a9c5dadca19968226e8e3457c3380b954";
-  sha512.doc = "522ebc8b15942d74949c2210ffc591306d215e6d2656653b4ed9a3fa38546f211624f4ea6d52ab5b69ff4a9c2a7162e7a2eb65d58e23eeb84103b5283bd490c2";
-  sha512.source = "59d8d0fc13302ed682f9d0ea3b4b28662d79cedee2522a5c110cfe95d72acc9afb235762a568e0124ecb9260eabb973575b5cc0beaafdb13a17305c6a330eefd";
+  sha512.run = "4fee9d64b1988f9981a056adc10de3be6940cb2cc7e23d9bc4effa8647e27601e5b74d2c15289ed5cc96c3f42d4f2569d897be111e2dff064a4c5d40445c760c";
+  sha512.doc = "d929cb815e8204268f17d9e71f53550b7647d39fd50782c1e6bb848a6a8840ef8389d2f3359bef554450179bd9a638ea80a1c7ec018c7275165622f1ba645a95";
+  sha512.source = "7790c2a14e44ff68071c4b3f0017c5b83a2fcd50a110d05b55297f07b4b313ebe8d5ab3b4d071bab5b575ded1323bb26b828aabc7cd20522a4298827d1686c12";
   hasRunfiles = true;
   version = "0.1";
 };
 "pdf-trans" = {
   stripPrefix = 0;
-  sha512.run = "57157e8267ac09e3fbc2b9287165f298823898ed3656c4cbd91390555270289113c9d1dbdfc17db9fba77e2e3768c74e6011ac21a0d195620a1d5e50f23e6c41";
-  sha512.doc = "ff09b34edf898063ef5aa9c4f72b546f3e84639b69a34f2994ff0a22632c221f5dbb2c130b31efa19ab23a4549a1078c42702b76208251eb67bcd7bf1d4a6211";
+  sha512.run = "8e3d1526b0373113064e4812003b84fd78dec65ce4946ef991f09efcb6ffab8e89a9a655c8a0582e1f4452feb526c077ec9cff30b1ad7f3c59f07bc715e643e6";
+  sha512.doc = "a275e35947c38b93f5ade7a812d7938d342b25460e2a29e16a1431c7fff5939826ffe0bab30aeaf504a57ded91925e85853f93611702ee6dfec713031edf9306";
   hasRunfiles = true;
   version = "2.4";
 };
 "pdf14" = {
   stripPrefix = 0;
-  sha512.run = "4fdf40a81588dc5ab4e3e0d083611fc25db01a10194b69cb7233a1c2ed30dc7d69893f04fb14b6e0c6da04be2f13d9f4c3211ecb4551503447b93d3c3655cc2e";
-  sha512.doc = "94f5cac8ab22255afc1d12d20611e574c8d305486a45290a5331fe00c49d46363a2676f0cdc3e3275ede5c86453072d457d8e32bde22ed537d27ee0d26d45ce7";
-  sha512.source = "f1733d1b8b34392640bcba5afcb83ee236cb0621247d61e2f7e86a963726d8c66a2d6bea5c884f9b3dd9379c30dfb0acdaa7d22456a0608ef66f44444238e973";
+  sha512.run = "6291a2cbe2fea33d2a948a8ce58415de875cb09df1eaeb674f2a8fd3e3eb9fd5897d73e2ff613cb71562299ac22b07566b3c8730c807928e5a12f3e572f99622";
+  sha512.doc = "1b848dc73554175d33b7501fe83f1689e5181bddc6f59db00829ea39ac6aa7f91ca4f936f93a66411ebb257fd77132c6a4fd3371c8c28f0258cdcca31b8f0b38";
+  sha512.source = "81e13e0e9d0b6c4c0d6a764c94c6958a437a2e2fa186532607058c09f1c3ca2a6187a778ced20e67b7d70079395be11de7e2237548b12843f4f5ff80cb82c732";
   hasRunfiles = true;
   version = "0.1";
 };
+"pdfarticle" = {
+  stripPrefix = 0;
+  sha512.run = "50cabf25f9da7b9adee489fd0a01fd9e5da2115d1dd09111507143a99a605cbc7e2de5a40a0e963b68942a601b7f0b753fdaf9cc1eadcdfb1261730fff5b4875";
+  sha512.doc = "d77754cf21565337f6db1b984dd3812798833f61fa263e39f9a929b25391a3b31a55df97a7f0db4fd379e4bf3855c51b61a719c30187865f67d7d37444e17de3";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "pdfbook2" = {
-  sha512.run = "792394ced9d0b195a05d8462b59abded5c341aa1bebd76d197dfa2387624469c06c4dd0002a7414682e01969e4568a48e5fcb08d57d763748d4aee8d40758687";
-  sha512.doc = "951e7fe656db899c801fe24e3dcd3f0c4d64188b0299c94afad3e8d7b4a57dddd921485ce3d9fde0e78a134ef726d1c6fd05aa38b36205ef37b37f2ec1c9505d";
+  sha512.run = "f4d30e19b55b709c91eb64f9075b0e2e1d85591af295ea3ff64965073ab730603e660935e627e28a3878b700d417402d8de17fe6776022533f59f500a78a5255";
+  sha512.doc = "8958c4abe38a3a3b6623e3fe1861be908faffe935a433831cc1c87c463e0a72ba33ee89def4a1329350431e313e032ab35438be9f033e0a81711ce018a970b4e";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "pdfcomment" = {
   stripPrefix = 0;
-  sha512.run = "b20e6c48b8b7fc95cd6516333ed29ff2d6ac170e74f768f424e7d7de7b110d6c890ff7014428845502c71b2ca9af35c17659c6c0d8f647b136d41751ee908c5a";
-  sha512.doc = "9613c272b370030cb80d650a7155fede7cdef72212e8757070a305f1cb94510832a603d783233f27573f074aada3c162beccaec97266c344042d04efc026665d";
+  sha512.run = "82e1f9e9dc35f652d1ad348c6f2e03c1472c36c113cb17080061f66777d129f55f56a29c2a94292974ed759d12727d93e1724a8b529ed0b4c8c3e53511ab1934";
+  sha512.doc = "a7b6f568daa2d2c01574f56641326c1cf46c692d247fb8a8fd7485d6e804241a43691ac42923df35dac4453a23a5433fe1d7a063a88f4675a00780e89675a169";
   hasRunfiles = true;
   version = "2.4a";
 };
 "pdfcprot" = {
   stripPrefix = 0;
-  sha512.run = "29776d792396bcc1b1e8d742957f2eb16cde308d77487894929c202cdb0973cb2df2a0e5e6afc7ce29720fd8b9118cd0c54af8b3d062669b64dae6d14bed4357";
-  sha512.doc = "c1b3d85d24b42b864e7bf70c272829d521f03d670fa086d9e9e44a8a0d8e06d6577c8ea6aee2a09486f072082e50d98e15d12904bc76a2a42397b8f75043ab66";
-  sha512.source = "5397826472a8e6af9aa8d6ed5f6dab976778d0232f882076a5034d46ee096e147ad562ea7de461486484abd47334f50f9427595109c10564d47bb4a3bbc52305";
+  sha512.run = "d046543b42966f8a566be0c89d78ca26b26d4095d99d5b16045283f0eb52a90a92122c1e87a2842d12d7ef2f865fbeaa69315a51bb922f713d33b9ef2e270fac";
+  sha512.doc = "ef19fdf93050dfe35df88163453067e589307b2173481d4f3b6943411bbaabda94b472622b93485637de5c2f885f9153d5078f5d3bccafb52bb28d3e25f39ca6";
+  sha512.source = "fbbfba0b35c70cc847a6ccbef17a1f506d26070d616254cd415eb6cdcf1b74c5a09baee420012fd88c11e4b4f8f45c5b7d4e2f5767e9621974a8d941a460360b";
   hasRunfiles = true;
   version = "1.7a";
 };
 "pdfcrop" = {
-  sha512.run = "6e273965655e7ab8cee0f9ae8ff489b7e7b782f7a3bbe89f8a245bd1e00a46f6752cac43aa8e3e4c0cfaf21642b7a1b1fd447e25cf5adbc6f2d14651814eb326";
-  sha512.doc = "71683887bd5fc1557fc53b42f4b34c691064d3321c91ccb7831edb5d00e7415b66e41144b8d887fca04dbb3acc785fe7ed5932e047e352b57a24a37cddc7f531";
+  sha512.run = "eba7fd5c529e1b3a29d00ee679c24748050f1a6005391de4bdb6e6fd537cd447b01e6569e0eaa87251d49e14f548dfc80d5e33f037862a4e978905af37e9e186";
+  sha512.doc = "5deb207030892f9e351d511bba20e65e957b5db17df6af60022c3f069cba127be6e9bdc1e94600b6f36af8f35697b041ac5aa529ef7997f57264b1dcbf76ce2e";
   hasRunfiles = true;
   version = "1.37";
 };
 "pdfjam" = {
-  sha512.run = "0f38852f4539efdb1831a1f53e4937497e2b95b2cce845c3b4af1b303610a66177d8a977b57a04ce50b639d06c1f805cc354d840190638965f002f5581512983";
-  sha512.doc = "d7cb3243bfa9f5f013330b466adbe6b48ce755e8dd210b86aa5d83ecabccfeb92ebfb9361dcb6499c81acab263e8c8f644ef5a77e300b688030ca361719e98e4";
+  sha512.run = "16cb97f7af45b0df2d8190eb8127e6e8837bc3971765f449c038a3afeb053c68fb127f087efbd2735b8958b529eaf3adca62df07a7deed5a90cf78947e9e817b";
+  sha512.doc = "5814b6464efd3ec226fb2feefd07d7c7f0ed3aeeaa341c25bebb5e998b438eb7b86d9234982ab1f9ec8b99cbad6fbe3f2eb85239b37070f9ca557e698deaf96d";
   hasRunfiles = true;
   version = "2.02";
 };
 "pdflatexpicscale" = {
-  sha512.run = "7745915f0e27647d65cc2c3613a9b696d80179a2ab0d802038f7fa3a9b35c530ad061c3b95eba04a20312d38e5b98357bea40f9d5336fcf68d14111d675bf40d";
-  sha512.doc = "32cc6ee92dbb2d7cac71cafd31e17b393f4ad0f766a217669653f7e4bf216f133e19d5a0bc75b4b80229bae986340bbfa21e230f921050b15e0a528d58dcce7f";
+  sha512.run = "d36dcc4d70156d52bcaf668d620c8eee5db8914473f943412ea5ad5c8bde673a6715fd5a69d13e502a5d4fe0b1e0e55099432c4e0e5e02bd5f6155ca5804c3f3";
+  sha512.doc = "64440f794e88c08bfeeac75d6d4174eccb800125c8d57e3b0be3ac6883c04790d422cb05cbed6be7335ab2e4d2e6bb2c8c0137c04160db126674960ddb7603e1";
   hasRunfiles = true;
   version = "0.32";
 };
 "pdfmarginpar" = {
   stripPrefix = 0;
-  sha512.run = "d12750d76770dd8767236f50ddb44d38a36190fffc25b00ceaadf822e0b2aac18225eb05bbea976044b93dd15da8033bab8933a26e87d880d45590d72e769e1f";
-  sha512.doc = "f7409a193b11bbc36b50cbbf1ca83820f71e86d1906ac0fa168c3cd13574e621396f613b8f12d085607a2b4c92877c443009f009864b918e202d2a2ac3cc219d";
+  sha512.run = "1cfb39ec9982fce753e3c0040123fc0faf39d94a41cac95dd0d189f2f5dd21f0a03c2f7e26de999097905b2bb32ec8d73e6dfa808c8ed2a49610da436639767c";
+  sha512.doc = "24f2fe0616b0e6872da321bc7878f423df54057c9ed7b62eac4e3de36df4ba9a5f0c4481392902130038c8f2da098d2fc48be34056a03d6e764a01b66c2649db";
   hasRunfiles = true;
   version = "0.92";
 };
 "pdfoverlay" = {
   stripPrefix = 0;
-  sha512.run = "b4e173531c6b1515f81f71fad9385948edf3ec0e75ff0fa367005ca30f4d9d7585c9d93a3111fbcf91323f956ca94732a78a78321ade5af2442bf43f863fb9e2";
-  sha512.doc = "3d0c67b8f9d4ffedc975db19a2a91acef387657dc6f6b5200f44436fef1310a9f04790764629ebfd6be87aeb761f85f48e380dab3634dcba8b12acdf2a560df3";
-  sha512.source = "1181e4c7e91634ec6a86d104f8376449346a9bc1b0923e5e04a629cdc2203b8ec02cca91664642ab6ae6d5527e6329ffcdd6892297c548d45ea60b9cb6b91060";
+  sha512.run = "ddb976f8aac4a3efb3c392e0900ddced76fac3a14cc8935142a5ceb344b9eece59eb6697323ff21241b327c0b6af6028024dfcf88a69dcf092f2d3f359d9b4c7";
+  sha512.doc = "fbf34d577158ff042d7571f657ad8b145378c9387319b157270f56f5eef7d5e0bf860bb4eae3329628b9515d0641474af5911fa34ac4545519c16769f81f3a23";
+  sha512.source = "0bc7aa88e7536517303d4fb8ba4f03f3f9b99d56425f368bbf1bc65227ad1245b1d6e146a5daf3cb61efac2bba3cc61675804ce4a4fc1a6f66b9f8efca708b65";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfpagediff" = {
   stripPrefix = 0;
-  sha512.run = "70f9565b908591199fcf1e060192391ab89656274fc336166ccf2c69ea98183e883deef9335ca5989482bf312d3aaac210705e64eeb79207df4523c10a864e71";
-  sha512.doc = "a3ff81695029fba4c52630875c310b93166e43878e403f1717218bff0c896af81e3a9a0bde792867f1f467b8d3ac32963f241bf2ab1fd2a54243ae086aef4cc3";
+  sha512.run = "ce28e8160b14d0833b57445392237dceab536108a9d96942dcc0adf5305c149ba08269d697ab8508d8ba05dbc59dd972dd242cf7c4cd12e3d3e857eb885e5277";
+  sha512.doc = "dbdfc61b7f7bcafa597e439085f9624a48b734b2adbf53dd58ba6186b3597180b7ad3fc757acbd07c6466276a9e865bc154245e84d28b1e291004cdde64f55ea";
   hasRunfiles = true;
   version = "1.4";
 };
 "pdfpages" = {
   stripPrefix = 0;
   deps."eso-pic" = tl."eso-pic";
-  sha512.run = "1b4e4394c19d8046c457c6a7a8fb973ecbc05cef3a60f697d6e478de5127ee60b6d83cef8a581038fbdb5d6d11d71917ddc3bfa5102ef31487bee3bcef818b05";
-  sha512.doc = "8820087411ba55efd4bc09610fed21891f3d197a9595077419e5136d032498669bdc03822119f8cd40e7b3aa0be37f683e3fd88650924ad04235aa0d96a3ea51";
-  sha512.source = "98ced144ac5e8dc18a240c6a54d70d97a8ee3c0e6571135bd4af5078447bdd1c4b37f4ab44798f441c80733f613e375658e9e7fe515316bda7d7ddc76f824a60";
+  sha512.run = "91e72e7247d026ddd7c598a5ee3d79bbde2dde920567cfe6d60601111d21e1663ada42c39fb951135b76f65e4186de53c0e1ca5c8846649c3a8abdacd5ab9643";
+  sha512.doc = "a04d593ee79a71d79409b475c169741bfb7a5ce2e3a1b1382dc20a8faf424324c5563161a13893ef4ff4da7b9b5513d63464fe3726169845bb402169b2523e3d";
+  sha512.source = "0e7d01cb7bf81f110ea073caf547ce75cf92236a5df45425fb6dcb11baebaaaa6f8582f432bc0c5d574ece69f03f9898d6d0d4894225444f240688b301ce3730";
   hasRunfiles = true;
-  version = "0.5l";
+  version = "0.5n";
 };
 "pdfpc-movie" = {
   stripPrefix = 0;
-  sha512.run = "cdd91d0bff1ab7e81066e1061b60b2976e83107e6ee3e8ee1edd40fc4185fa7693ec3f8f9c33f04433cef165727c08091a426f32ab4967433d0e0696f7dbaa06";
-  sha512.doc = "6232db67dd66475d02361496ae068bda39eaebe64966a425ee61fcba270fd88448982ab0ab00018aacb6259486d506c0810a6c2980552ef7eaa997d33d0ac4e8";
-  sha512.source = "b2d18bd631684f8dd4d4b839c6a7e61d52c8e9e50d7771d8e7e9000d39300fb5c3cf13df18a65e44c3337322ce544c7eda704b205d0caa08749450f4014f3f08";
+  sha512.run = "131ebad8b05395d0ca812fe50a103847393e4b00bc5574109ae3644b6500c58b86c48e33aab548c2404bd08ec6b893b9461d76f957111c7e653fec8473b8e63a";
+  sha512.doc = "fef635a0d0a48a6cb35fe8c3e0b17342b84bbeacd1604e01e9fa1217ee92aef4fd073c1db5aa72161082c6dbb273f1a2fc55a2bb057cf3fd12796de8844df614";
+  sha512.source = "e4080ab714b791e2204b8215b70a0b979b9810c5c69c69234f6aefd4b02bf182245b0e599040f56b4814c6486ae6b7f715d3bb597c03475c38f4d5bc624777fe";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfprivacy" = {
   stripPrefix = 0;
-  sha512.run = "cb33b9d2cad1d84418475ad030eb1b2844242afe62aaa2cb4c573853c6996d08cf61e64a90578cd91a3ff2b1d84839c1b94e312cf273c889d3edf0642b9128ee";
-  sha512.doc = "beff7ec0d8d54f4d9b32fde2af94ef22243e0083913ea7f7f88b0701e7dddc197e66b5fb48ed870e17e34e740a2958d1f38021cfdc3a222d90c4e52d1f1e9024";
-  sha512.source = "0bc784af40058e0c51cc598b3f176128a273446e20e021cb2a8292759979ce340e2a1c50ba1645509e1ff9cf08b5b370479be8d3d2abea892aa63e62cd489174";
+  sha512.run = "8ec360bcfa5056b240091f1b2b5e6562656b15379bcf74b161899ddce41cb70d08cfdfb73b9497efd48e192fde11bfb4ffc59ed99059e1b6f6619e34b7f39bcd";
+  sha512.doc = "81e2d8a0e5f5889efbf96eae5e879378fd0b4cdfa9db66283e34836b767d27d216e35822f9225eadd8816e46c503443055dc822f221b35134ecf95fa2e0d22ab";
+  sha512.source = "7c31f0fc5836adffb8bb9417fa90c5acdd1cfab2f653d79c00cf5c4552435ecbf915cdc53ff4cbed796013c0c737c25fe779e9410ccf646090d5071139df5069";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfreview" = {
   stripPrefix = 0;
-  sha512.run = "3ac7f8c7b2bbe2df8d20cf0aa3e262e876ca41948a134b00a4ddae4232c24a711bbb27fe9b25fb0aa811ae6e06797a88b4eba422fd21c91c0336042230d2c820";
-  sha512.doc = "9c88f7a034311b67ef04d3cda38ec39b75fcf4def5b3551903384730f436ca8cd33b70240cb9a3cfbeaa0b270cc31f6ecfa1cb9909e61e686c5c59a9a4afb17c";
+  sha512.run = "1cb41c081230f601eb627d81118a3832597e97c2e0565f48f584e8f4b6d039ce903cdca54fea4591a5c9707d5145ff45470858dd2e39d3b18a2e964cb380301f";
+  sha512.doc = "72f7a2083c7bfae24d3a4cae397925f9d02555587c59cfea8d78b8fcc0de5db24367968fd27799f4148865ca7c2a4c2dacd11269d1d71c36f039fdc913a532e2";
   hasRunfiles = true;
   version = "1.2";
 };
 "pdfscreen" = {
   stripPrefix = 0;
-  sha512.run = "922128818d0929cfe4e114313b7d427ae46bff282d6dcdf20446b0917bf6de43d391a8d3aed49f34275040b45ef790a63281c911a766ebf7be81c43c34a1749f";
-  sha512.doc = "b8a0738c6e70258954145a58b5d3443188c9b4f4b02da5551c9edea7f37e4984b1d268dd5b9912c09e9d1a637a26ef38b9b2777358832bf8c9f23d0f917e2217";
+  sha512.run = "e8a3fecc3aedfb87156c1dfeff4673650a8dfd31109e3d76e7f51dd99b1610aee086a2fd183d48cfe1403dadbc6a8ba84fcfab5ea832b43b8a5128bd07612112";
+  sha512.doc = "8f4b1f6876b0adfcefb4a9b1ea5f9c8ffae0fb4ffc245fd75f631b172dc592dc82ffaf68b37e9c1907db5275f317b444966a466ab6c8e7b20b80535842230794";
   hasRunfiles = true;
   version = "1.5";
 };
 "pdfslide" = {
   stripPrefix = 0;
-  sha512.run = "569db4128c23ac61106c0358b666e9bf239a2eee109d694e376144d17ffafe4cf679e4450e20261d4c15d8998f13b525ef14737858211954d135e00fe0dcf1a9";
-  sha512.doc = "8a28b9c0595edec37a352789368b10e15999faeeb526bfc0587500cf9756c18d60117c5962aaf684b88b6705f1c7c7f8daa0f6ae35288dfdb495e757c5c2f692";
+  sha512.run = "bdb1d91b587375a0d72e317e4a762b9cef984dfa36d94fd7bd13a3e22941f0f1f4c981138b805613f7a62f4d09c7c781fa9e4e5d4b5019a749a8f8a700bf5540";
+  sha512.doc = "92008d1e461e5309649ec5160b7dd3796455f04e923f4e5c8593a3a4cc76f704639206c48a4af13bfa9fa3fd735b03ad419f07d1222a45d093a6824aafcb8df1";
   hasRunfiles = true;
 };
 "pdfsync" = {
   stripPrefix = 0;
-  sha512.run = "7132b4b1845abdaaf0040fb4f07fdb3650608023bd869393ac28b4e25cf31ad993ebedf3fffdf9fe3757d9ecd22109c90ac87334eec2944d0fd26f978b65ece9";
-  sha512.doc = "f1a7e4035edaf56122b1308be77cce7d92116599bc778032be742233469df5c32f7da7dc12bdb623002e2a7101f04befe8fb7a59d21b27565e8fc6f26256a0fc";
+  sha512.run = "0a7f183fd83f52016d499f8aefface745fee8351bafb4abb467166553d742f91ead7377fc3ce8111bc57253431aedf70f4b540975a1c139017f7d02ccebb6ca4";
+  sha512.doc = "7e103ba84fd41acbed007f4acceb0188372a4984977a3fbee3bf4484612c6e0621a934709982407bd1d59a69167c1d2f5ebd4b94f73bc502baa8a4830fe3f983";
   hasRunfiles = true;
 };
 "pdftex" = {
@@ -20694,542 +21203,549 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "d1e6308a390920bc01a27fefc1a111212e3b060430f9916f4e2d0411c6f870170041929254ced6afa3baab685fe76a05a5ebddfa8190d97bbda8b38780221917";
-  sha512.doc = "4637fd65c892364be86ef52af2d1efd1f95bcf6ff0a07690b59f74c83f9a3b8006a75b892693b25b14448cd4c39740d3782831dca4d52b0939ce588585af6331";
+  sha512.run = "47b862d6ca260ee389a308a2027259c48d3b6a478c718684c7554aeb2f193142f348a668fb426d49790cc4046659ce42fc0bce099ea4c65863daa129de4fffb7";
+  sha512.doc = "bb9a4ab19719fdf345146877fa91d3bae835e02b35b1dec6b288b85ea96f0492682bd4b627bf044fbc49824b6b7059a4daedf0c99055ab1ceb21cbbd86154762";
   hasRunfiles = true;
 };
 "pdftex-quiet" = {
-  sha512.run = "a8b87c77278239d2ffd178722a9d8939329e7ca9eb0b0529ef67c86144b6d4e2ae280e9dece57058c5e94fd115e34387dca8f65209861c158a529f1c082a270f";
-  sha512.doc = "c9ae6b2cdf08e675116e391f5a80286a4380cc63256444ac20438e769a5106780b9bfcd0a2a6884ef5a3fe7be9ce0f04e18f6d8e768940b137ffc90e01e75508";
+  sha512.run = "7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104";
+  sha512.doc = "e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "pdftools" = {
-  sha512.run = "f87afdaa518e4c2fb918fcedc24d75d625386741c148aa89097006048dd57368cedbb76e72f82cb76cacc732f6639a60cc8bfa0d6dcfb96a3c70a2a5838eb5fb";
-  sha512.doc = "4304a2fe4367aeadfa1d057fa813863edac0858a74dc05f57c2c2110633611b5f4a6dfa84e6304eb9a943380e77175a14d38e3b3c0cd9f33fe161f3ba5ba981b";
+  sha512.run = "ba9ae7b0bbe512465357405e87f3d523235c2398d4a94e8d0c8191e37db06bfabd6676f3fb9f603397e5682f9dd4f9b1b4cad03fce89448a9f0b254f8a7f2b46";
+  sha512.doc = "3f95883d9405bcec282468f42f8718bf9c510d98c41510aa643ce0b70eb7557f67b75def0dc0e1f862f79d586f0f49959b4c826f8c468ca9460fdd69d3d4ceb5";
   hasRunfiles = true;
   version = "0.86";
 };
 "pdftricks" = {
   stripPrefix = 0;
-  sha512.run = "6cd07126e942e53fc84d079b36e6078516977792b6b04d3e6ece0996ce591ab88346f59b6e1ba1f0cb7674f41db637b80ce9a19b643a2d7d57cd48c1f630d3fd";
-  sha512.doc = "8a9989732bc55f169d67ec1a4d9273a63174a3e24ed286b8c048717731c02063430220f7c5fa27d848efae2cfa96eebb2ed289a041e17e998ccff701d6487155";
+  sha512.run = "f7c0a71e44d0d388ab952ff820e5af63fe0f94acb2feb3415a2d1b3cffd94efc7e8bd17efbb7b608d082ab1b7d7ba1b780c63088df54a8db241c9b3d133eab1e";
+  sha512.doc = "0e3ec1f3b7d7c9bda1e08060f0ee0615244863e513a25370b598f22bef00e6ece79592a105eb13cc913c169b1994c8a38fd60be0566e1c52e1ce2f97dc1e5995";
   hasRunfiles = true;
   version = "1.16";
 };
 "pdftricks2" = {
   stripPrefix = 0;
-  sha512.run = "0557236e2abf369844f2cbd14c12f3647b4258e53b66c643c243e59f19490ad24c519b413060cac9fb32d0a2098eb60d461491af952066cdb51d681077a36f56";
-  sha512.doc = "759ee31dcf880689d39b37fadc3105398193526a91849c1283ac64ff95870e07e2d97506fab2fdb7e1defa2d1040d29d126ce778d4d918532842d09ae32bb4f5";
+  sha512.run = "e50406cd680e1d5cfabcfd8000b743fde61dcff7e3c686b06f58fd1fd36e414d53140b5d244ef65931aeec67dbf458e5e2d43266f26ee9de301babbc0f88853d";
+  sha512.doc = "4a22c280a28e4a45f068d52f4d75f19b5ccfec30609d7c8d143cccc67d16fc04cd1ae63e7d6a5a659a0805ed85d96d57ff5fba4b246f67029457088e7696ad23";
   hasRunfiles = true;
   version = "1.01";
 };
 "pdfwin" = {
   stripPrefix = 0;
-  sha512.run = "a1fe7c369818312c0c6c96e30686f79b1fc399c2c5bf1141db5218254fe25d96f77d7c01ecb87d5259d2382644f08b21046d1a7465cf01d1a254b7240aad844f";
-  sha512.doc = "34b5486cbdf80358dbeaedfdeb1dd99d7b1ab78b5e24faa5b93ec625a65a131d709b239f002257f5e095bffe6a00e4ff5d5aaca26f8d3e24938767759ae0d6ad";
+  sha512.run = "7f1fafb7396eadc81ae39727f35b1f49ee0fecf7ca1950d8fd5b80c46d24811cfa779a6d53b10c007a7916e14584de5e88f2bb5b1f3ef8fad739dde63e56bc0d";
+  sha512.doc = "d352311a94d9f673ea8c6460f6771747b0523e2c354e5c7114cc58d7e0e92210f4eedb70a728d423de387a2ed2a3460f1acbcaef38579a26d2225f713e606407";
   hasRunfiles = true;
 };
 "pdfx" = {
   stripPrefix = 0;
-  sha512.run = "46ebac76e5d756fbe6af1973c5a5d7f3a19bc987e6151455af9dd0e70d339a6955c24eb4dface3ff223577a2f6e2f4bc805c1e1e88e42b9fc5ccc9a723922714";
-  sha512.doc = "df5d5a6d61014dd466ad3e88ea6d384f94deacb079e8efa43172d4ce309a950fcfed4bc0ffcf07d0688f9e0ed50bb3cabfcf45388dd97f5dbb7f5601728850d9";
-  sha512.source = "321d9d9f6bb7a88c1dfa5f5fb0334d552d4c085c778160f0e914b8e9b927856ec8f273a0a14c2fd03749ff3f88f72ca3a90b505a65b9481319ad0afd037e3bdb";
+  sha512.run = "c1e1be225efd5bd66873663ccb134521b40253875248096a66a8499609e62e481fa64e563afd75952b2dc0041fa1fce594f4047c3c91fe6b9443493ce8899ae7";
+  sha512.doc = "22b7e52295ab8da136e584f545001d0db480cefb06b7d595133ff3508c9ee3e7b7d8c8a93c41ebf24a9e313b4e40fdf355a88ef0a65b629c3b27f5f4bcec906a";
+  sha512.source = "31c9d2e7fb89f9405f26a18dce6a5066958867ca03ee793e46f9676022ecda77074eef23fb4a238af5b077d642107c372e268ce5b4e7c0358d7ca8c0ed6daddb";
   hasRunfiles = true;
-  version = "1.6.1";
+  version = "1.6.3";
 };
 "pdfxup" = {
-  sha512.run = "c6909b34d1f7ced60a5a5f540ca6898bf159744c5ef2a60fbf428f4f0e784f73e12ff6bfe85367fda2ac6a5be616eac54be467ef0c283fc879e8846c73b66353";
-  sha512.doc = "f48822d648866b249f5917889157ded2b21b3adb0a4777b680603757920e4abcd8fe6b6e4cc6d978a14bd4a1cd5417fbbe2352d2f374d5d19d3f8a9768362343";
+  sha512.run = "4086f58241799139e980c97c1aae786566bb7801932334d78e89dfc5f8e718b6b9fd3eada32ae006b9aeb74d8b2644071a1b1e60db7dda3b4b4942947d727fca";
+  sha512.doc = "3888fce668affc7efa7e9d88c890f72c94b49dd88ea3c05af956943dc015e89ad930e2de3a67e023c7e1be2cd1c7911e5df29dbc273e3c2b219eb5377c165956";
   hasRunfiles = true;
   version = "1.30";
 };
 "pecha" = {
   stripPrefix = 0;
-  sha512.run = "daa2e215a94f648e717796c2bb8e576445c7764e774454c6f6daee098a7a8802f728e13281d6894c0f7ab8f08097fab05f28d668e1f6a7118419780aa7531b3a";
-  sha512.doc = "458db6d1200d61afc16550a8613f234e6d2ed4936cf9e963a6254e9ae814f19e66f8ae73552df520fa6e953142e075291934fa62698129ec0b4bf49af215b46d";
+  sha512.run = "12092c82c52e34259fb0894b8375c45fd94b9aead121085736a0f7bac90b7e156906a22d233c596c79880aa0b858f7213f37b2059cecbb4627ce2e4163f22335";
+  sha512.doc = "3d0d9184aa0009ab67f299a87b3840513229a93ec08e33208fc7b3c1a69fe043b02844ccf7569d14c5d5cdf0546224b320970caa080458c92cc299853b021c98";
   hasRunfiles = true;
   version = "0.1";
 };
 "pedigree-perl" = {
-  sha512.run = "146d596df52a0df51c618308f692e6ba2e1d79f0fb8c49dc5e0e0164b4baca15164772f558d00f40ea34a9934ac21f6fabb3a9c275f2d4e008e655d6a4ac1177";
-  sha512.doc = "beb28e19bd824667d29e0a94c302994d1e9b21b69e9d4ce6027aa3c486408cbbb9769603003b7948839f95961353a1ba406ffefc2db90cc3bcc9a0e6754a43cd";
+  sha512.run = "9adc918e1156b2a14bc144b96b5d3fe2b1272a5c9924e30c67236c564c1a065f06ea075249df21f19ce13b9cc03a885402e120d6b8f40f912d8c6ef4b98fc1f3";
+  sha512.doc = "1e645090b3cb78b95bfed3398923c6e4cd39637238e7849bb1d05623307f82115fca87ceb6bac2aa89beb68371d7acd438099675ca33295839e413905b4ae150";
   hasRunfiles = true;
   version = "1.0";
 };
 "penrose" = {
   stripPrefix = 0;
-  sha512.run = "6b25de13f9a14d9bc3526eeae019394f6f049bea0f9d8dfd6072e39d2814370235b8896d4c94c8bc44c93f8abb398015af6280ffe4e6ee9849f9b81cc8c43924";
-  sha512.doc = "f82e19e28f8efc0be7d716f2cb5e8808b3dcafc4029da4159c57088a985c6b5f7cb433c515e4dd55bb9203bdb625761af81cd9bceab9545f3273dbc8ee3959cf";
-  sha512.source = "cb3fb7406e4acce0b558c6a39cbef9c3e93e20596e79434f81372ab9d471dee849635d7296553831249d1024e030e748c42c34bf7843c3a5e8a2d90247368581";
+  sha512.run = "2d61b2b6a46cab4a0cdb5d306eaebebb85af41ef75baef395dceb253ac68966fdccdf2317c6d26c24fa359e299f13823e4f69c40959cb2e88045b65ecc1148a9";
+  sha512.doc = "58bd3b307c33494f61a28c897ac25a6587ab550d4e1ccbd5f05d101eba6466fb3981410084f34d7fa16570b3af6ed1e56cb5d9cca18429fd23d3371601daff42";
+  sha512.source = "43be9c9925c707c96292d0f7d6d7fb9f745582cd0d39e8a0323d3de766e56d9dc4964800568bfd6bef83231a91ce4ee17274491bee931b2214e5f4aefbc18b0c";
   hasRunfiles = true;
   version = "1.0";
 };
 "perception" = {
   stripPrefix = 0;
-  sha512.run = "966ef8516cee0251065ab015c0bcfb9cc0fab5ca0764cef0a73f2acca831b995136adb77e23474607dbc6daf057b7ff97098dd62212bc2330389b3c4f97cfdf8";
-  sha512.doc = "fb2fde5bb8ee4ec47219aaf1ce7743be1b22587da007af6d12a742fb9fe816a2774e296f8bf853ec9257536caa126d250c147ee5c2533dedfb661975b33125ac";
+  sha512.run = "669bf4b618c4120d6cd7b574352c38d0fb3ab7bd949e26ea239f4ceb0fccbe102dcc6644ad2cee9eb79385f590918a12bb2c065f80b54e8343223056df448060";
+  sha512.doc = "35428e19d9e2429691948331ef574168a3eb5dd3e09f4286c66003ced8c0a65da9853de4dd57a1920e2f2315b8543f9ec9e096bbd26123554455dd8c23b33f55";
   hasRunfiles = true;
 };
 "perfectcut" = {
   stripPrefix = 0;
-  sha512.run = "369e739e46c167f02cce7206e1da7e33888da4efc2817253998392bc03c8eb59ea5e2468d7c13ca176bdce34128bdd31bd336505cda81894171965af80e6bdbc";
-  sha512.doc = "ad37367c16caf593b41747a1e2cb50fd5cb091fda638917e1faf1050844c35d4c1134cdca52ef29605ec9f3c8aaeffe3d1bac6d4b9713171c90fcb95b1d33115";
+  sha512.run = "3537b9010fe1719e6f27c800d6b81f01007d0c223a11eebf53daea4c67dab02ce94def02591b4663a7dfbec3eb9ebc4e7d9aac3db92707904068bd53d8567367";
+  sha512.doc = "41ac483d2c8662a29f85936445ced063f0325045513a1b703828f8af8b2f544a3054d9a65bf66669025396da698b8e14533f405ed24f37738236b65d17a9439c";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "perltex" = {
-  sha512.run = "3b468f68e62b9c6e8741e8616ce786499924e18c1eb91ebcf7b452de00b0dd439414ea18a51268a04d15fd9ff9910ee61a81d45e6df72d1ef09186737203c5f8";
-  sha512.doc = "843ffc1c8bd416efc30ab6d3ae23f0cc47acafbc69005b2a56f7caabf8b874c66b0019ad3e3893e02d8832f95ce8af4c23e390992241ee4b85c14fdd662996dd";
-  sha512.source = "04cd318d0ae246caa81b482a2eea14c101055cb7b9dc95cd56edac478fb2d751e6fc03245037cff943a509802b9fa6bb31c58eee6b3ad45fc81e5fa0b308e394";
+  sha512.run = "af7cd6b065f2405a514d20cb386b34399742a42286002ab3e0f795b64dcb434ae97470ce9cbf25cb27a9b124ebe56844b47c7cf89e1f83a4bd35f1bfcc98163a";
+  sha512.doc = "d39c93f4bf3da08266bb0f10b06582db2bf96bee73faafdb191af3770c7c24abde407774f21d3c97b1f2453a8a9bd24576acaf0606796d7439334b8b1e42ac7d";
+  sha512.source = "99a8e27c23a7056496c56e734fefa1e921a002d7b86c153b3a209f7c3d7c415dac05e77b0ce5bc8685bd622243d6ed53be4a7f570a3ed487c3d55baa5b5af06e";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "permute" = {
   stripPrefix = 0;
-  sha512.run = "beb6fafc97af2e621ffd3280b0436602af5f47d1e18089a1bce8f5adcddf6efc6a5593b5807ba894aa0e12e63d89b1797483f7e0eff6d1d565314f923d83022f";
-  sha512.doc = "133b3a072ab9c3af8528caa24e712756adbfaa04446fdc2082ade1fc373e86d9e32218a5566505ca0a3618b1941883d159b3d99bffcdccb26b7dc042e64be19d";
-  sha512.source = "a2fd3c5bfa7a01db448c9fb6d454bc0c79b7fd337d3d941d69569f146c68a3aafa0913bf18d1824c953c19dc63f22f022dc840cb46f4751a7ea4ff7b636cf068";
+  sha512.run = "2b1ea22ff45718a12f5a031a60a2780a43b324afb3a7c4b3bf2e1a9808f5eb789938f0e084214912a50dc1a8ebe76c58cc39dccd5a411ce001fafc8fa5c41ea4";
+  sha512.doc = "f0f9f8d4e7e9b7cf5794529bd5febb0bd58f1ba0e95a72d688280ac3e6837cf39bdfb62ac29584fbf8cb37e1dafdcb971b9333a0306fa867fa4a1a256dd5a4e3";
+  sha512.source = "4273fc09b30de6ea203e13b09822a07b222de8d1abc143e67c0c465bd8c31ca4648b83a7fbd895a8865b7793462bd020642d383e761c926504a6d40e785c0108";
   hasRunfiles = true;
 };
 "persian-bib" = {
   stripPrefix = 0;
-  sha512.run = "79c40df3289a698af69e25cebfc4ed688d1bb38659f0db986ce6b4dac52591d513c74d6656f31ffcd3a29673bb2f3dc47ff2907026227c811335804c7278c814";
-  sha512.doc = "5d8c2d1ba8436df5f5df467040ca254346186b6960d66a5f89e45562e375c492690a5bbbe0fc4bf44d17db3312eef013d9c43582c2ce22803af405f7a2c591fe";
+  sha512.run = "e6650399eb5129dd0ad08c3ff93843da47287ce641a65826545b10a9213437da56467eabd8c37f1a7fc17086af968043586c53bdbc7485e9a4453b3f5b23bf83";
+  sha512.doc = "a18f3652bfa8cccd8d574e475859bde8d41de04d3093f05222dfe5687460b8eb29a1e9bc258cb73cca69dad52f567572a654f46414a0d513ec27e462f4787f35";
   hasRunfiles = true;
   version = "0.9";
 };
 "petiteannonce" = {
   stripPrefix = 0;
-  sha512.run = "45bc1b0cabe2051e50934d50618dee8765659a1ea26c2164b66d6dfc3905145df0609fa386d787cbdacf7d75fca89713a8ebec976aa4690d6ce65a5c7739c6a3";
-  sha512.doc = "02cbbb4781d84170d4ac1166ed3c4d15db8bf8b372db581c15c9e40c7b5a4a63c1d16d8ada7a67450e19af5b62bbd7128df15273c50975770234323df6685124";
+  sha512.run = "8ff32eaddcc84973851b93f0c1c1b250b596a080669ef60ea2c115098c4984d426e37240ae8781fa3b95ce494e9fecccdd259fd25b47402498028f2b8e5f9fe3";
+  sha512.doc = "d171f31889fbf07b727c78a99bc91a2e6a8231faa25944a600ddb17ba32273ffa40a39a56e6e9b2c35ebfd0bb396ee699ebd9ab179577ab07e63feb8686d4af5";
   hasRunfiles = true;
   version = "1.0001";
 };
 "petri-nets" = {
-  sha512.run = "cd6d799680cdb7063fe05f7cdeddf749a3c2dfdf3827193d8d3111a2e728a247a953c036c6dd9f8bd1c13c2be1fadb96fac73b99b47cb2cc61c8e8f0ad51d843";
-  sha512.doc = "fe466eb157aa99311d79c59f72b675b8106f88999cada692e908859ed8f2de13eaa87876dcfd327c2a7988039ce2494156b7bafd889835d2d3cc0e1cdaf533c8";
+  sha512.run = "0807444f934acf16b052dc499a097a2a645d037622a71430cd82fcef85d11bc652341ce6396a27d717effd08bde8ba3224c5235351fa9146000c01abd522f644";
+  sha512.doc = "cf03048e2bccded143fb493b100fd19103ab90f40713441c5380446702d6c57ac3820f2892a3dfdb80880952e09de78e69b309783767a3e157f76b81c9360535";
   hasRunfiles = true;
 };
 "pfarrei" = {
-  sha512.run = "c83d4d1423e03ec068a57881d5f4154485337b9e51ca2253d05877d732542b06805d210d66750587d6fc9789d829f638bc7d3f20264d2b75083903622a3144c7";
-  sha512.doc = "d1dcccd68eab493dd610fc1c0ba7bc106c4f1b176c01b67ab3ec05a803f674741bb2a04102ec42a1b7c4a3b14bbbe2bb55ea8d61cafb47c2515fe74026085ba4";
-  sha512.source = "5def1546e4cdf6bf81fc32ea263b9e7ca19bf5778f939ddd58ab0a6bccf2c665814fe2be191feec062147f9b5570717f04685aea912972a9a51380b9fc3c0502";
+  sha512.run = "f6046dc96672b60ed272dd6fe23a4a51032f039d3aeaff3f8b5e2407c99fe1f43c568a03564a7c20212a97bbfa4ecbd0dcb7f5f44593e1485c8e5d9197467a6c";
+  sha512.doc = "d50ff4603d51eb72d1d12e7f5b1440fa3d7abb1ab74fdf441d7e4a474df91247a1ccad504a14438bc0c3c6354c8f8674f180b5d9d826ff09a8749db3cf0d08c4";
+  sha512.source = "1e4008782161066066fc4cb1b029a36f6a18eb0d5d52f11a2a70d04d4778de6ed1a80ea1fef5d8cc86c2e13b8cbcb1cf8ce43e58ff4431b16ca23c3fdafb9884";
   hasRunfiles = true;
   version = "r36";
 };
 "pgf" = {
   stripPrefix = 0;
   deps."ms" = tl."ms";
-  sha512.run = "0ea78ace970c779e17c1f27c68bceb604c8356ad77ac3df57cd3dca47e2db729811994bf314b6b0229f239bd7da8e3c8da237f1fca280a33c5a3bf92b23ab0ce";
-  sha512.doc = "a962d3ce98cd5c7707b46f7b819acb5720133dbc82df2db2f01078f64851174750b60a483d81e14e3ccc15b06f3ac8eb469ebc52c45f62cc8c46135ae4943f22";
-  sha512.source = "bdd373923503605db28d610eefb35f9146dbe5b0bc1237054b6ca5576a2d378250f792151376bf2358ff4978b5f99921e4eaedfcf66025306496fdc58f23a614";
+  sha512.run = "104bb34bcfd38f3dc40a161a2150e4eb1bb5745ac4b98836ff94260699bb9acbe1d9a7120217aedca4674be64fb6e1cc0c8f70912d2630562d3e1ea7e87f5851";
+  sha512.doc = "0dd8602f32ce5516435f468e586dbe2c918c6a5f6a6bda1fb10a1ce897243e228d61bea0cc60e211a6155d8cdeab48c650f88763568932d12df0c7cb1d60b348";
+  sha512.source = "384342fb40e08fdf9cd5ab1036dbe91281b2119249c85d6266bcd39f361fda01b06caf6ce1b0d21fcb8d1ea18912ca2731234cc236b9f141653c7f4aa0a16c79";
   hasRunfiles = true;
-  version = "3.1.1";
+  version = "3.1.4b";
 };
 "pgf-blur" = {
   stripPrefix = 0;
-  sha512.run = "77bb0b5f6a176826abb39ed891e879c8ad80f2e8f1fa6b965b65fbcc22796227bd1520d1d80712034333d8de1e3eb6154fd1523bbbc575b6074e2d05c655cdd2";
-  sha512.doc = "c203cd71f7dc4672c1b5781161df4abebc6c6217d2a1f863ea8ac5024dfee0a4ee6cd4104aa4000f835317499fe9e887d066a3047f6e133106b08c251810a008";
-  sha512.source = "4a89acd4916d1d24b52b2a7c53c936941d1a8c0413a311f717b1bcfe1631ae801b1440a38008cf8ff8070f805b5c4fc3f714855f33377515114705955746c967";
+  sha512.run = "a341495270be35f6824a10edff85edccdfe4d9a0f3cb0ba50ede1b8f5970dbe93b0d5567f113b5c2dfe0661f7201fff710cfae0d9f3f1420245520486775e399";
+  sha512.doc = "4cd2faa5160e0286f8b23f518c857b957e9873c0f8f1ec54f8156acfa1e15f7e8c22e6b4691d07ea929b6cc3c76847413fcb9223852bf26efb1c6455909e1816";
+  sha512.source = "b254cf39510bc1604af7f238a00d9ea9ae615a1a99da8714c11079553fcae3e26dc8534e6fc7797dcb1fc02dd68a6b236e05bfb4b58bfeef8f1cc8195e4c5c05";
   hasRunfiles = true;
   version = "1.02";
 };
 "pgf-cmykshadings" = {
   stripPrefix = 0;
-  sha512.run = "d8f23c4388a5d73f6da83f5f2aa5e0f3f11cc0c462b32937412173d323031f631fe6b59f2b5b28763e778adfbf7a22025f70e91bd8d5bfa4f66bf356e83560c1";
-  sha512.doc = "599bdbe30b0851305e62a76ec0e3ac4fcc66cbdd0bbac885070b907ef8cc8fdc537b94ff6764af46f5319d6889860950ce7a2eeb2c06771ced10a94a04f5835c";
-  sha512.source = "d29fe4ebbf8a9349c4fc5a76a768fc523ae55dc3da9e7d11fb4a9fc4361a990a1f2ee28c4a6d69300651691942e6fd16bd971835bf9d059df59e458184b596ad";
+  sha512.run = "58a1c73f4ad2f0a64538683be8227b429fbe24d4a91c39949e37caa356a30ff1e70b6e00647b8a87eff26bcf99a99d65b0ac8c8710a6a85d89942a247bf3af26";
+  sha512.doc = "107029c601a5e889b6156c417a45013ecf47f7e2db4c35ca276467922e8c41ed8a23a118c5949095bc421fa15e41cccf9f6e57d2052434c44d81781532db73bc";
+  sha512.source = "c11c49bb5635a619ec9421013416f3ab18b2f4caecf2cc70bc393e858f95bece057279af6cce8c0664474e3d258c60e259c30ddd7415172ccb95a369a1565f0d";
   hasRunfiles = true;
   version = "1.1a";
 };
 "pgf-soroban" = {
   stripPrefix = 0;
-  sha512.run = "bb2958d282b6e16da09ca1590e6a2086b7c4e4713a4c2b810b354b9e2fb7554693e1b4d97ce8ce83aaf0b26eb7738cc39d0c09228558c3263d69d04b91176c94";
-  sha512.doc = "1a776e8f2158fb0a20abbc919ecb6d2d3d8c22c3964cae982477e9e7543c8a6230b89ce75fa9b59d5a14765216d8135b03b25772c8dd68d322c5949d336fe37d";
+  sha512.run = "e0f85a77e9d81bf01f5516c3b3baa52a9b7f1b0faaa6f0aab1cae2182732eaf04ea2edb6b0f9091272849f1d7ccb3797cb2641090b926db7f3d0483d08569845";
+  sha512.doc = "3f4c021cfb99a27778c250f9ac13e2abe48127731b54d0fca9e8e588f44ebf797e034a56d3ca19bc847bca173dfb03ef9a70e0fee71649188a8427d6eabceb80";
   hasRunfiles = true;
   version = "1.1";
 };
 "pgf-spectra" = {
   stripPrefix = 0;
-  sha512.run = "af5276df229fb1e003bb8d88b7548675ecf963d9925be6647cbce932267cc6e5813a52464475f826c710081a0d6cb2e01258ed6f0ec6eed99f55685be95f087f";
-  sha512.doc = "0aea4d8100d8effeccb483bf8d61160e22ad812c54ea02ebcf6307bec5a5e4bc55ae072666c2b06a2bffdcea0d984ff664ad59ad85561567eab1f0dba38c9440";
+  sha512.run = "868fbaa9606718d30a18b710f2295f6e17f31f8a30b724802c765cce872b3b6623539217912bd20998f43777d0a10a036dba01aa65f66f0f89816872ebebe5a0";
+  sha512.doc = "28c0aa31dce7627d9c9db7ebd0f9d8efd6e01b5c6cda5b417fb24c569df5c097745b95e94d0ca328ae25649505fae154976e393d60abf39ad775ab7e73b12af7";
   hasRunfiles = true;
   version = "1.0";
 };
 "pgf-umlcd" = {
   stripPrefix = 0;
-  sha512.run = "c1d7e22910a8e455c10f86a2902fbf4ab017fc5d47d590c93d261daae859ea9983917dfe829f5d9403a83f482e37c35f7120981e623bc328b40545ccb6b0e4b3";
-  sha512.doc = "45739d53cd816c7ffd9a8f737e6a49ec6565168badeedd16bcaf4306d832cdf9e87560c50a3ba242d791109ded3891e227d05dbacd0d7a964d17237c65cb5448";
+  sha512.run = "323572892f452d609286e507032c03d7301b5822dbce0ce3bf3a588a75a307dee0981f2c6c49cf17017c967bfff0d23bac24d7bc06b66475b8a9cfab9ae906a1";
+  sha512.doc = "18a494bc6e6c016b3da4d5d51c2cc529ad515b69c6a150623ffa6dec4cc92474766dfc50cbd9c894f491f594ba5f2af4b1796d3a92da21b99272bba9a65bc92d";
   hasRunfiles = true;
   version = "0.2.1.1";
 };
 "pgf-umlsd" = {
   stripPrefix = 0;
-  sha512.run = "e504bd7d0f5424d352d8a08e55a726208352123cf43a010a3b7e63090ddbb8080b0d35b5a83212699617a79edad208b8e0d7c96fddbce9e026d047205b35076a";
-  sha512.doc = "ebbc578e29ddae47dfa7ad838526f8245f4b1f44b7b4e1d35601742ff183f95deccbb9e4277a01d284e7e77356319b477158ad9f974264e0d1b6235ab41c4b6d";
+  sha512.run = "e32c27e2c779ba362435fd0901703dade14836347afd99b7f8e55dd91d5724ba69fd517c39bf52d95189351376ad505a56634c0a751bc68df36dea952e30e7a3";
+  sha512.doc = "de4b7c62d79400f107d94fe3101fbbf87ee6bb2cdbb04aa6c1d5eddc9271fc4090b39a79dfc18c45d9f73371f6de09707c342e2cd5ee6dece663ee4494d53ddc";
   hasRunfiles = true;
   version = "0.7";
 };
 "pgfgantt" = {
   stripPrefix = 0;
-  sha512.run = "ddf43ee604b0552b70ddd0c7a9f5f8b3f276583286d535e08586f57bf789fa1c8926509382069c96309b608296a0ca45609ccf9a45a974630dd0b91f86d289f6";
-  sha512.doc = "95e793e22e692590b84f346bbf65a4bfe7b8ffcaf8d0e35d5e5913bcc049cf0ae18f590124b9d1ec4fc82ec46e8dfc8d70d0c12f7e28ba726c5a7c69f437e758";
-  sha512.source = "8dba3c1de8397d3716aeea44462998824231c6c44d3c0f540baca31cc4bc5a15e77383786dfeea169ac7e3ef386637ed952a0d944b4ad8e2c70a283b55e17273";
+  sha512.run = "f4553f0ec519e5a8d5e2ad994f7271cc26d5fc80b20299f1aa816a5c21f159ac809a7a0bfe354cac99dad75c2e0bd8d1803277e069a26c105fb4ee83140274d8";
+  sha512.doc = "e6ab311ace663099eb878807036c3bda80298e9b591dccdaeccdbd65a46993d2b013353721d54f3833114fb1436296e079e9165b5071acb7d722238a1e6b52bd";
+  sha512.source = "e376f0c89d67a698fc9109e974e39b94fdaa661006422ef6b228e1d0f4c273a8f6cde95ee86c788d7051acdb75e693dea704d3d36e2de42ef53c2db320a7b9d6";
   hasRunfiles = true;
   version = "5.0";
 };
 "pgfkeyx" = {
   stripPrefix = 0;
-  sha512.run = "6febdb706acf607f621f756ba3206320e246b8187df50657131b17390195aa60187430fd56c17380276ea4cd560e49784c5750ef8ac6e005b856ddcac04526d8";
-  sha512.doc = "7878683f748b83ed9fef9a6b96071a2892aaa784221df9e25cbebe3dad8f5f09a87538b946d1587a1fd1effd841975648d98a4f9c559945c066657bcd8b6a878";
+  sha512.run = "c2adb44ef34930aef1d78aed2025a2dc17c69ed641b59af29bcb93c9c9532785090f30834d52c415116ab4a9477d83e5a46d1509e6bd41f47fd4e37cc8ff2933";
+  sha512.doc = "2a596ee81d2af4992dc23d6f28f788ef1d3e9a528992f01b7113de726898ae3007b685c4c447d2fcad640403d1bdd8a0eb07299ac9ea81f41c4158eb21b8e9e2";
   hasRunfiles = true;
   version = "0.0.1";
 };
 "pgfmolbio" = {
   stripPrefix = 0;
-  sha512.run = "529c7be36a2e19eb7508c52f380d1bdcede68248c525cb2fa39e69488da9d655799de878fe274f434d69b3f22aef31f24b89a60d4f688821af9b7722758b1f0a";
-  sha512.doc = "320f98e7bba6989e020ca829ca08f747e65098cdf12a8efb7f1cf58b74c279b5e5366a6df3d1fcc2fb6999d4af1754ea4d78db313c0af2b179a627d89b88e970";
-  sha512.source = "6c6338f15ef9532f4ba865c0a4ad01f5859a3ba3569b1223becc73a2980414b663bf52cf339b44fc6ece6e3b91c545d019de47b970ba78e79f9b7a3180932e03";
+  sha512.run = "bdbd89379ed7310b78a3847c43022f6cd65f5fccfabfc4723551f5ef4f4cad3e3dcf596ff65cb4c5ba4a354f9bd59fa4aa39147782a0ed369a7dfcb68ef7f9cc";
+  sha512.doc = "a9dbe657b4037477adcf3ead4ad4ca5b703ee8c53739da9de0bed8e02c8e14961a963e9a4a5a86b3f53348da9eab5cdbada1b5ddd073bc18c82177abc92023f2";
+  sha512.source = "1552182819893f7538ee5b38816d339639ff6e6ed3e092a67dde1dfa2a73eb7bca1490909fa34d4999399a8328b2ec8885ad86e76438e4f177dd81e2e6accdd0";
   hasRunfiles = true;
   version = "0.21";
 };
+"pgfmorepages" = {
+  stripPrefix = 0;
+  sha512.run = "6e40413358c57b2f16153c12a9f227563f107bbb966c795bd2d1d0dc7444b2acf7ad72631f23903941516bea803e4c539399884fb4e479abb61b4dc9a5bde428";
+  sha512.doc = "b8e0949fc1aeec50514fffa3fdd88ee96017207a39f1d8c15b326604192eb2277ae6749c5faa8f531bbb0e3ad3d0e25d3c0478583538b2a8ffbba5e3f780c9ed";
+  hasRunfiles = true;
+  version = "1.00";
+};
 "pgfopts" = {
   stripPrefix = 0;
-  sha512.run = "f74fd91b76111b057f4898b5eb78bcec75d0bda6a80d0dfbb8cb7e2fd7df877c4c97be5c225f37e87e0507e73c20eff38e973a84a76ff2aa1d17a6cc25d47eba";
-  sha512.doc = "a47caf0c1bffe1676f2c61f75bdb56997d7eb8d0fe1b96f9d9dbc584fab2e6d7e0b8b47824e8af9dd6994389ce11928a962ace12666b239d8905a9c4c5994cad";
-  sha512.source = "1176e01e2a052f8f58d967c3f233cf3cdc34c8ed79f389c43cdada25d7b547e81fb83b1f97cd22b0e62c599523713c0e2dada1ba01bbef880a6cb15f1d02f032";
+  sha512.run = "39b29273305a894c37bbb8f2edc899eb69cabed78623ec5ac66d6a75fd7d6b344c1fe4813f56383acd1c51acdd099fcaf3e97af294c5fd63ffe47e25e9cb9caa";
+  sha512.doc = "8c5df446fe33e40503caeb8740becb28b3328490fb6aac2cf858645a5d896681d6448e5160cd32e7220c164838fb65dcfd85a22a6c6b9205511f6055f23dcabf";
+  sha512.source = "ba4043a5ecaf21c1afc3328160c6832b67103a9b9c278665f0ebd91f21d842f85eb70e7a2d7385d66f9910006205d59042aafc994a2eb62762f3dfb5917c10f6";
   hasRunfiles = true;
   version = "2.1a";
 };
 "pgfornament" = {
   stripPrefix = 0;
-  sha512.run = "f56e5fd96ec4fff738c5d6371ea27dd32584b504fc1c977be9205d0a606f39e9d5807968e89007ad7c74492b6e87a5d5293fe8c8186ce1b40ecda09573991506";
-  sha512.doc = "99405ee3cc1e63a7acc29db2d6de13ac960827a7fc3ad1bd93554c54f32da431bf1795f0b86b3aeca9df46ac813506d2b34239a15b6d0ece09f96013e7971f93";
+  sha512.run = "bf930b8abf986df03e46e8c228e82c4015dd3f671688deabe3756815d86c2ce21d0738e4172874d233c3c7c28792ea7081a32011a3db64d93dc4a8b4c9f56162";
+  sha512.doc = "6909f93df3cd162f36817ae99c7f7da532b9a44b6621d303ec4f4828c22d99d25d4e4c1ddc17f81ce2b070ac8fa40bedf5790a097d3d5ebc095abb88a92fe037";
   hasRunfiles = true;
   version = "0.21";
 };
 "pgfornament-han" = {
   stripPrefix = 0;
-  sha512.run = "23730bfb4485a80c5f21048ac267d2f310f7fa24923f91e7bd947593ad2c16c36ceede7c19e37c50826f6de22c3960a9adbcb52b2e7ee161e909a7bdcad0cf22";
-  sha512.doc = "2609718f0a2a83bce393980cbc0ca3eb14ddbb587a1f6f7ebf7da5fe3f73331564173a83be4ad4a153b159eeb4ef171532805352aead85ef72d069d4c2c383aa";
+  sha512.run = "a53e1595e0ac579cef90379a85465fc3c247b803dea104ce7111de68c6c7ca114c6364ca50cdeda051e2353b85e91b39118c31c3d8e464943b8ac7f07d3e660b";
+  sha512.doc = "d2f429a40d6e1ad24b098039cd212f7667442eaf47b307eaf81585f9443028d03bf612d5f080acc5fa20a153283d49eb8a9550f01596c8d6a38bb9eea4399b31";
   hasRunfiles = true;
 };
 "pgfplots" = {
   stripPrefix = 0;
-  sha512.run = "58a9095d8cc670dd937d36b22bc0a2320ec216e05e6d3deb562d17fc8cef9489f223a02778064f7a56fb32c7fa7e03e2fa0b46f7bb493055cbc196c91c9778e9";
-  sha512.doc = "3174e7df66a6ce9f10e4705dde9523cef3dd64d509e07766dd131b01974bb39660810a6dd05810a3613de60b4c3fb8575770c249c479c65d38ee01257f6da958";
-  sha512.source = "63ce714276c6f54093b912c33285db3d2449dabd7a3127ef292ffac235a82d266ba3077e65e0ee76fec055b2413733ec55f836f60962c8fcb265fe6140b70359";
+  sha512.run = "6a56f591562baac1b6256eb5c888c4cbfdca5762d4141ef4773ceca06ffbaccf3e0d12c35818b9447a1c782113c3c2a622dee0ee74e9a5b97634af0603c8c095";
+  sha512.doc = "1167fe761139de816533728f8b774f802190a1d58df979d192d3fd92427dc32d12ae0c176315de8c878d7f1e4ed58d8e7c40c5b794f8b75e813692c156dcba7b";
+  sha512.source = "ec594de33aab4206bf4c38808fca697f144337031677ae056fc05ab910e6886389cd9f283a299071dc488b41e60c03d27108661ed2d5f1c124f57a87e28f3999";
   hasRunfiles = true;
   version = "1.16";
 };
 "phaistos" = {
   stripPrefix = 0;
-  sha512.run = "4e237e9d608a425d647b71df70202a30d3bb8173faf09f308a992d79b9236eabc9284438a3abcd227abbc7614d0e0b4fbef787c3f352a1501e5758dc43d7fdd8";
-  sha512.doc = "da845e4f297ef77b42adb8114cee1f692c4e9096b432df4bb4aa799ca3f2de7271ddd2678dfd47883653133203e0e689c08d8c831ff7aa1e1f47da36ecbae6a0";
-  sha512.source = "81686af9bc6a8d6e45cea26fe6fa2c86fe9d93ecfcd34a1145d1488037e2838af14dd7e71a63f8630d6e8b321c300f4a175fa943a8cebcd996e02be042e3c6dd";
+  sha512.run = "d5cb8a051e1e80629385bff368896c47bdfccfcf38a24a723ddc5f9056a59c57703986799253812c9a4651f4e16dc55cee0876ddd0552900f978dab0381c9aac";
+  sha512.doc = "96eb22628467289f72aaa0d4983e494c75b3a2315d8b9d2921f8ab29d93fffae4f459ef852529dfa4ff48a65e25d652662c54d84db54e0118b1c021bbe39eafa";
+  sha512.source = "5ba2b04fe4e3aef136de2dc40568ecb81f437561ee8e6c320927bb816819889666f57ad07c3b8bf6eb7f6eb84b69147f9233449a26529b61712d158abf889f91";
   hasRunfiles = true;
   version = "1.0";
 };
 "phffullpagefigure" = {
   stripPrefix = 0;
-  sha512.run = "eda9d318d498adaac64f0beb513a4e163dac0af0d68df04069e966abf5c78e35c419f99860b885c79d57a5f13bde07780c9ec6f315bb30848ce972a0c8c82a0b";
-  sha512.doc = "65c0233cc9144db078cfca998cd961bd3da882a82a0b0d2399b925fc92e45efda2408ed8388f760759dd108a92b877c13320272644fdcaab50782cd111d93d54";
-  sha512.source = "043abf71b2f8d54d8edb41c7d195a799677c807dba6ee406fd27dff356e3235132d02d083df58e9e82be0b0562c3b9aa8b6901984af9a6284fafd6537134137f";
+  sha512.run = "4d443d5ce4dfd4805eaea4ecfe11bc94b9e92bc4d68f8fdd001a72ef09f519f11e20517d01722f5c7f79eeb9b92d0a6099d620e5c54dc0845b7ed5cc762c260d";
+  sha512.doc = "837b57707c0d37d20b02ed83ca32768c4b2718958ba3124650604f4de0bb11528c2d5fed95f942545db400eca0517ef59fb168408ea9960f0a894a777e9f2681";
+  sha512.source = "f0abc0f77efc7460907cd18282ccdf2ad15687b3d891a72e8fe756c16d1d715cd6f7eaabe09898c2bd88ebe54d16b86115c06b4d56fe1f2f4b8e3e952292a107";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfnote" = {
   stripPrefix = 0;
-  sha512.run = "da1ab71ce832e6f27bdb0f40628fced6b10e6815b039d55cf6813f6afb1fd864e3559cfc2306d5273311cfb79fb068366335621e8bf2558cea07bf3737916a3f";
-  sha512.doc = "d096651879a7e0b7da3a38130fb8478e03a80a0ede7a7099a1c8cab7a7a2defc268e604c745f11f8124ccf1d71ffcf76b2139a387f226d8fba162767cfba1f7c";
-  sha512.source = "b2002efc4d534347cdf276ac5e0894209a65a76d23a77b99c747c36d35661e0e2a0efed130b024fcf84e8f564c91896101582bc952aa64a3d880ef194df4057c";
+  sha512.run = "d542b73d1a25d0d141a37e3bf0a3d4753829efbcfed9745ea299a90026325f82624bb5d4a5075892af758d4a4613e1560824871e6bb784a8ce0030a7fb3f4836";
+  sha512.doc = "a62dc8166944e953b8efa49c7ab78b98744cb9948523f4decffee6a553a8e432ce2d9774575bbedce59e5dbd01e9bcc01d82962a19d3878a11367127a7927287";
+  sha512.source = "4f83603d837978304673550f1dba78a1aad030392323de2ae6bb0295ecf7fc5f8bd211a14f831b7f3710b13e999e73e3a8b224a5ac44ce67b2ea3faae5fc83c9";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfparen" = {
   stripPrefix = 0;
-  sha512.run = "5f909ad07a60e5219c6e6a4a39d65bcd693f0ef89154d866b35139355d67678bfea130e86e9bae36560586760c8681cc194301e8ad823c20ff170f23c799f57b";
-  sha512.doc = "08ab8a17987cae72c7cd0c734b6c0e60dd3c61bf9a2b719abcc47bf55704c7896f07d8703606b34a93d8e693911991dab52e2848e313a173e462706601ab09e9";
-  sha512.source = "2bc6b68daae6b9f9099588f921fb64f4611b7c2e24811f408374da3ed3fb03ed6477a6582f98caf4a44bc4bbf579f18c5062479c351c1bc08fdccc12e49126a7";
+  sha512.run = "c184623f226f9bc9926eef0b5e23443bec20e66c6641196bc90daf27a648d9f0db70ad176488fe061d44746b6cf46a3217eeb42f6a95f2e37c20d641ba2838c6";
+  sha512.doc = "5c34575950ee1a9616408f293319eb0634795e07173677cae112466a298dbfa5cc18fbead8e92e459718df91326d27cc7baf0414a1f1e8613a5c115c070b5016";
+  sha512.source = "ca94f1756265e0f92e8808b7dac74eb57f62eedcdefbaf6e4059c8a7ffa51819da979a70203b11250d329ec9000b454067c101b25753673add4b35c40fe1e882";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfqit" = {
   stripPrefix = 0;
-  sha512.run = "bf83e4d7fc558c68b4163bc6bae78149786a2cfd0a6c627ef3252a7d06919e8080a20480a0f85266b9a29f1f83336c17a1e20c4ba0e7c0d5dc15886772f04d4a";
-  sha512.doc = "b5f64d4999133086642bd5f433212976d8dc715f9f751d850760539ddfff6cb82b4916b190678a2a76ad95c3504058e0aaf029a0c1df88a76db5901f583d18fe";
-  sha512.source = "b72e6662ded062cd35e341740224ca2d2cef70565fa000bd6873e9cbe0e5fc40451d62d7abcbb72e7931ac47ae36c80bfd10439544e529735f01ebbd87c5d3d0";
+  sha512.run = "250626ed9e7e33abf0d19c32213236b02849db849f080bee0ddc19370acb7e2e66c838dc1149f8c1194d2534c1e073fc2971fe3687174978bdabc90efc4b7752";
+  sha512.doc = "0acdb07c2484e2e5694690536eca084ffebee0f549ead32b3557e368ed85d7a7785c297cc639cee2cf4b41f64f7c2df806b6b27d4ae89769b0b8d99d2127f885";
+  sha512.source = "f189ad485482da9e1802b1b2c96120a244a14f7e7e39a1759d7484ad236945f98b8330464223ad63127d9960eb4f10f04145f5eefef25f02775c009184ca4b9d";
   hasRunfiles = true;
   version = "2.0";
 };
 "phfquotetext" = {
   stripPrefix = 0;
-  sha512.run = "a4b9326348c808cddf69fea5aee35152c06cbc2d181a77552db15b572909af60ceaaf1a9343ff60a81e48f13cb41c8380437c16e27ccc6d6d84b7267c77125bb";
-  sha512.doc = "51eebd07efdf558a48875b42186489f8c220622f91fd86049b3d8cbd13eee9936c096d0065f9d3d071e5ef0f0b259a15b18bed8c19a300a2b4326f4462163923";
-  sha512.source = "ecbc1a070fa5db8b20e8ddb7d96b2dea032763b18d60a0613effb6b30069946649bdb424c22bba84da9af1f68cd52e9000573c13e7547d8d74bd6779bab0f3a6";
+  sha512.run = "809820fd3108cb5b33c5f3129fb3ae8251476161aca5936b966219a49a29204107375a33e6bfc452d2aef8b0cefb30f8ab0e53984f39d5c3228ded25ca19c37e";
+  sha512.doc = "501d652782670318fdb45368e01dbf76de7cb46f0f1584bc7dbf1242a71a42e7bc870c5cbf7dcb33d41463c550a0803226860a0aa64e75952f717436e8f6501a";
+  sha512.source = "fa812150acf519ca0995afeb9b3dde9c1929b945bb964612319f7065c6c303641e2a245397e7271eb777af9f6cfd310ca1ec7f9974c0bf9c329a0f006df2b9dc";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfsvnwatermark" = {
   stripPrefix = 0;
-  sha512.run = "ccbb4fa15d35414e0c5124e32ee5455a959361e167890990e8154ec212d0c42a29ac1c2ee5d4e27c948ff34fb4828968735fd2a840acfb6eb646e0c45f3b3a1f";
-  sha512.doc = "53a11353a095ae9c5af998bf3dcebe74a7db2edcb4d03bdbaebcfbbfe40bd1388d34919a58160cd263d8b83d532fe9746551cef43b7d471c49e46b2603ce1b98";
-  sha512.source = "24873c4064ddb1991e44e1d1132eec2ab4b2a82670f25f6e5d6147bb7ef29f982b31364dbafd1f4f1ca15721fbea7a40edda6a1c86aae5f032c25244f5c8534a";
+  sha512.run = "38dae3ef3fe183bf5149b91050afd5bc9c934d01332b021ce87e9ea412008bc22d42d25a389e82b02ccc4cc4820a10d821c228c02c4f08fdca89ebde69c6e2d0";
+  sha512.doc = "7f35bcb41618c7e14e7e9f8fb289231a8032f7f1cd2e6333982a346c5f8dd24e5733f70c03ddd183d170361b2b3af4115f6fa9b788c4dd2a020020ba525aff18";
+  sha512.source = "6c5e113bb45ce6b11768c711bb59743b75bf4b95e9d84c045b59f502f181e80a67be56b3b5153364c29ca5c36f6adb73dac4a5d3051a8dc3ea275a43277732ec";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfthm" = {
   stripPrefix = 0;
-  sha512.run = "5614d4d6fe7e6b737c81c4405d224797c2321f15302c18b2af781055d6c8cf8aa653c379ca106f30df83eea4ebe40c6ca3f85a522384cefca1b1de4c685a9c9b";
-  sha512.doc = "28536bc2e6801c43f17458460cb0e52d35a4bf5a5d3bcc1141b8deef6de88a2a3c6398783af1fe182e122b48d03e119426947f3a454be28cb599bd2c597e22c9";
-  sha512.source = "f6d611276b1ccdc4a48f74c238ce6c5d759e8778bad1e686c19baa989adf53e33fa82537a3145ecbef969aa488b21973847e723c2f8dcf541a17e7d1a7885142";
+  sha512.run = "c6aeab1fef49a56a7ab080945199a4f68186b53bd7fd00e4c3d3babcd3f63f998748635edded858d5904b8dc7604007753bec12fdc8ff6a7656cf1ef26c0ca9e";
+  sha512.doc = "c2439e7a3e7f1b0730b8fc48f933b9754777e7750a58ee6a5985ac458689c2df96d9e74d09c5ade2b0b8dac49e0be43ca60a0769dedc662e151e1dac5bb18cf0";
+  sha512.source = "b189f0320e5b8d1ecbb1bb34972b845d776190ada4ab76e44ade41e21d8f7eb0bfb6bd55a4352aad4d0c2455730b7803384eece70d2030faf9279aef0f70f540";
   hasRunfiles = true;
   version = "1.0";
 };
 "philex" = {
   stripPrefix = 0;
-  sha512.run = "edf7f546d0681b28c504cfd0b86989ff88c7aa3d027905ad30e4965c47c8b9ac9d6a84030a61efc56cced60795a3faf5497e9811a12f34d80daa09bf352fcdb4";
-  sha512.doc = "92914dea3723d566f5a54b047ccaed17193e02e07b2f8c522753a11c3963601efc8a55b9cb114dd192a6b992c4f854eca10e9aabd534735b5780f79c15d8f23a";
+  sha512.run = "0b6ce5d281836926d6807dda7a8a4eace43a25160b8bdfaaded7ef9838f933db7a7bd4859019555002b662ca01800e64c4f6228427b4f40c9a79e71759aca6e0";
+  sha512.doc = "ec8eafe3e1b5e7cdeeb2554c3e34036c808f33b4f4bd2e5fb8b2e10e4366f51db02b2bf3dd52e46c92d600cc092f30c4db6cb6f69cc66cafde5c11a53a883839";
   hasRunfiles = true;
   version = "1.3";
 };
 "philokalia" = {
   stripPrefix = 0;
-  sha512.run = "e39110fcdb8ff5a2b6cd185d512b1bf036098685be84517ea2cfb2c8a529428163b3ad30952b41c2271f153f078dc452088cf9bd12180ce19b157a75739b59d0";
-  sha512.doc = "be664f8be0a2031a49aedb25f05288aaff7ad47276c9e2d8fe349c422a58c97c08e8fbd8528e444102a10d96b49ede58510f52337b764a3b1254a63d60c6008d";
-  sha512.source = "19b098ab92fb41e560ddabc26a662a9785d13a786e51bad2a9fff02eefc91580c0618432a085763eae6964f6058bf2ab88b1e7012ee73c0d6e290118024aff14";
+  sha512.run = "6a7b76995074ec233d4922de96f727ed031b21abbaf1a423bded6bcd964e8e503d7d3d84d8d4eb1ca42ebd99e1af50a244238f668db245ff4810176abefb0976";
+  sha512.doc = "8cefb15592711d19d3fbe5fbbe6efb219ce081dac6d8bfb12ebc57ac807a30aefbaa37f371e70b7141876333ef408ae5fde177add749faf2302b2d7f60a1bf00";
+  sha512.source = "975d97494ed2fceefd6d7fae5cd7916689087d5f51136398b19d233e88335c373bbd572aeca930e3be212ae30b7d8b34e0070650aac5a9c391793fd6a5c1e394";
   hasRunfiles = true;
   version = "1.2";
 };
 "philosophersimprint" = {
   stripPrefix = 0;
-  sha512.run = "b9e5b828fe4e4b91a11c51e9ef1e499d672b10b3175e41ab10dccd3d5315a500c9fc75466f792f2f83920b2dd5ea316a4568ba69bc67a15cffa8852654df5d88";
-  sha512.doc = "b47ac4c8cd2b912667983b74beb0c6aa23904f9d5c775746d29f987d5c41d925e6360ec37f17727b746e24322c0cb225a3b646661f291fbe44ce8eefc651a201";
-  sha512.source = "7f2d980fb8aea8f1b8ff4a08fcd831775fceb4772507f8cd11714bd6505f87c73e89bc5955a3e2ae2a4312dfda1c80a369041d93f9c9ed89308b98e2d46b96ca";
+  sha512.run = "05f9639dbc34d0fd653f2609c581df2e50825cd61af7eaca55f03fddee2b0bf1c0c6bb3258fe10265cdadf0d8371d351aa143327a07f3739defb4ca3ca9b4f16";
+  sha512.doc = "45bf6648cf92ee58d35847845094614884ad300d5ae745a57bc036d72bf7a1cf8dc7596daab8c606266c717b0114727072298f91b61e92c40dd180bfeb678a3b";
+  sha512.source = "9522941d5b9fdeb2eec1f3f91bdb6649da45ba930ccf11599e532352170279f67e40779b9af5d46a4dece5b14ca2ef421280ea31eec24b686db6a9a4f2709a93";
   hasRunfiles = true;
   version = "1.4";
 };
 "phonenumbers" = {
   stripPrefix = 0;
-  sha512.run = "1f66ae909cc77ccdc3a01c07f4e019fecee7631db24010dfb635b54bc8676c84deaea1568232232b898f219f94a3a75e263dab7828a89ba30f68f3f3a3b55d98";
-  sha512.doc = "da4ec2c324e8c46cce9f3f2f1778c03c441956cbddc6bd05be56931153e255bf628c9719b384b381ff9d3988d26a0e1712a016c203fdf398da635faf5bb5096d";
+  sha512.run = "79f875543181adada6e60d57adbc225efef89440666aa179ce69eef0118c528bb603436cb7df5dba95c75f60bd57bbe321f169358e247842a42cafee14cffef9";
+  sha512.doc = "85a496e3ff30df0bb1a852e1e21cf0fd8434124f3ec1b460fbd3c0da05573a1ac85136d3caec4f4d59993d47ad82fc0f123afcbf272982bd614dd2e1f318394f";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "phonetic" = {
   stripPrefix = 0;
-  sha512.run = "fab8ac4463c53a15d0769245040bebc754dbb2b4ed282db8426b28737abc9ac5bd5bcb3180114fa7e9d2f0fa3e9ef403805c9ba099a967aa177d63ef89a11aee";
-  sha512.doc = "933f25da20e6e4c75bcc86fb16bcf89c408efe213aaa6a5402480d06375dbad80289d29559a09542adafd71b403a74b1fb03a439e836a070dc8174d13ec0853e";
+  sha512.run = "fbd137931a2571d542b8cb66f8b613a57925277112c2160e21298791a65d91f4d1a6d3d8be5d6faba9abe033ded174d9d301f6ff1784dda3c1a9530f5f7a0a40";
+  sha512.doc = "710233d18f904db9eb8c235070681b9789177b375b538c743424252e6434dfc3a16fb4c6c1e19617d939a31eb75b4823bdf30e633bc240b7b24650cb411f94e6";
   hasRunfiles = true;
 };
 "phonrule" = {
   stripPrefix = 0;
-  sha512.run = "28279e5d7ae76be648db4544f7d172aec1c13cac1e004b21768f8dfd84679304663a8973b47e9a9876e05938827a690a0a449b043ee31c69f4a3f0e5c0d9b1c3";
-  sha512.doc = "ba2a9d7416762265fe8bfa15a125436fe93330f0c8d8fda7da2fa4d4dc3bea11a52ccaffc0a18072a7330ff51f36d050feda661c95799d89719d1b1ba34d62bb";
+  sha512.run = "0465e183077f7daa57d2bbc5f1a76afa72770718d2dc969ebc3078b213738f5ae3919f3ebbee04ae54ff7b8ad6e35630fb22293b5cdac31ee5bf31680433ad15";
+  sha512.doc = "80ea19243537e769c49a3411e036c5811b19586fda3878894126a151af4ddff46a554db7bc07f488f692fe9efd0934149c8c94cde75b92c880bfcc28218ae5a1";
   hasRunfiles = true;
   version = "1.3.2";
 };
 "photo" = {
   stripPrefix = 0;
-  sha512.run = "fe3a9a5917ad689b4e1ba3da9ae3637d3301204949eb676f4cd8bc75ef823a5b2279cbeb88c1c90c404f9e535c504f78f88807a863e1502c3f0a31d448a98fae";
-  sha512.doc = "c0b75b2be340fc19b4e750fabd7d83f411473d185524c8bc23e738422731e2c089a08dfe2d8f30606f5b5057ba8b949dea02a74de3525a69999fb133b56705bc";
-  sha512.source = "661c507e2324d07c078f263da723ee63e6a8a41c3d5df532c4e2612bffe9c84b14605be05d0614c6fa3341dce142567c5aa07174b5d5b8cbad4f3e98efa1767c";
+  sha512.run = "11727df46b85be20802588a6c5743a9ae70a89ea73b5f16b8a4a3d3f1d3a9ab3194f56f0ef9d79947b14fe3f6b3e05cbd291dad8346cdb128b4d1c8c22d50bf5";
+  sha512.doc = "037466dff8edee9f6218b1fddfe579b2f82491746e22886ea5f8496b5f564084d81e35ed549ddfc42855c850913cf8c587806d71b7a531ec3ea3056962c54e48";
+  sha512.source = "644303a7eda6cbe50db8cf871ffd642dde5115d4f1a72edde65e9218337faaa63ffebc94bca96da28a4a2d7568ae0ea124f1aa12fe5402cfc1c57619e86746ab";
   hasRunfiles = true;
 };
 "physics" = {
   stripPrefix = 0;
-  sha512.run = "f3b8c13b0887f065e7045d7f6cb6c9fef46a662640e64875fcec1a89c11908b64f12beb14de5320a9fed1e9b8a8a1b1735941cfac54de4786d22395e86ad8119";
-  sha512.doc = "d71a48281649a1815a9ad2918041e9ee3776fdb5e07c76abfb0604ebaa035f53879d777b5e6561e918edc8913651bdb3ac71c7b53801ce74dda8d489d0a7062e";
+  sha512.run = "e394a7f8eda4583cf196dccbd9d52122d0ee630a411630f11d432018c5e9696a9b3feacfa2f881d82090df165a73ee0fa610ad86422123a9e1502ccf4b695be0";
+  sha512.doc = "40a85407502116954024d51361dcbfdf36cac07aae382ada1f96d413f9b838ea5a11d7014722b5641a75b6c9bb8a5c6c134c8c0d424788f47f45fc80b277b3ca";
   hasRunfiles = true;
   version = "1.3";
 };
 "piano" = {
   stripPrefix = 0;
-  sha512.run = "65bec55df8c552217119c9c67355c6fa309a8f6a9ae13035099891aab991e9918ac076b09558df9dcad33b89c5f838078c2fcc0899765c0c13b17775c7fff2d8";
-  sha512.doc = "dd10f520f6faa69c875f80c9d6bea8fff2f32c97e949e813af5c2afae6a4aa651630e34c25c436dcfe8b59dcd14d4ecdf8a03abdab681295087d5b7fefd5df84";
+  sha512.run = "49c3b29f48211ac6ca04ef8f9df74cd3f4673a84e9d84c2a9b06bbc958abd640116673abd751be40adb470907bcf65a42756c22996f0adc4e2c0dbf3d6afeca4";
+  sha512.doc = "50609a17b51de85d5f9df4da91c0c1c421a86ff222d08268fd0145e248eea740c68445724fee425a2adbdab85e0cf5b4a9bb4ee5cf3bfcb4a3d5cf4f1868df47";
   hasRunfiles = true;
   version = "1.0";
 };
 "picinpar" = {
   stripPrefix = 0;
-  sha512.run = "605a2b152b178ac3021fd31186dbb231385cfefc2d1eccf0ca79af445397aecf408e810a700bc538514733168e3251a9e84f0e43f6cedb9f829c20977cbb1959";
-  sha512.doc = "db69e3005d4d0405b92b2456fa3f0b131abe25dc7e9e89437d31b222919b2d5ae6dc1545405b657643fbcdf08d9899f9ae30e0d6171657184a8e7f23c2d0514c";
+  sha512.run = "9706ae1d10df99327d4778ec538ffc9aec465a04382b0732005d25660f452dda539b736be50a271c9be623a823be113696471da6c2d482dbf8a269af7c1143c2";
+  sha512.doc = "73b28f87550924b208b48ca9a066861e02b1a8360151ad89609e6d8c36a772192f174befd87fb02b65e92370fec332fca5d67a2e84e97c7549b86825384dcf34";
   hasRunfiles = true;
   version = "1.2a";
 };
 "pict2e" = {
   stripPrefix = 0;
-  sha512.run = "d15febe4c834a4f11565a8ca32c39456f1f5255a72ec7c10e570be5f9f474f75bcd1de061e2cb0f12372f2aee6fac3f7e289a6474b3bad8aceedaf4f2e3cbd95";
-  sha512.doc = "6653e9e1decbdda3a025aa20ecf1065f1429adec3fb583cdf420af2971872bd05150f2638712ca5f9cced7fbce3cbc75469e625be4424b48a088348cc0b7e9d0";
-  sha512.source = "062bc6d02eed679f8384fe1a04ce7fb05b0bfdaff24848abd3275f94a4e6df57eb9ee6bbb615c240a49584f62c6246343cb5efbf2c09e24ef3a84d9686e3d7dc";
+  sha512.run = "9f8fc3acbfb19b9e45579c2e2b0013dc84b9c670404e71f94b70c1e8a91569731a3b6b44e17e3d80bce5a099c3f16d6d74b7788daedeb48262971ad001d38472";
+  sha512.doc = "43297b99d4032a53b8dc36ae64a42ba12d5b800a352514e9678b0fccbe5798eb8c780b5b950f72f322eb12b9b23266d57df6d74409ad17d413d08028b033c6ce";
+  sha512.source = "847e0796c5dbe144ef13c196a3f472622db7bfe5a83f6457188739b82ecee0113ed704846019bf18e514c0914561dce35419287803552f98775f59a7c293a382";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "0.3c";
 };
 "pictex" = {
   stripPrefix = 0;
-  sha512.run = "22c9827f170cdb4f7c4235fc214dcec69b952d759d4f9ed8b5a8afa22123dbfa9945cfd1eba367ec3063fba705b7c0cd7ad5efdf793fa48744fa37947c3d1dd7";
-  sha512.doc = "2f3deb63cae8aaab6ece148fe95dfd9bb984b3b4b7376437cc0c88bf211b091aaa48e80d39ea02ea0c68aabf1dc673b803a23b29f6eaa5977c01509d4e10c400";
+  sha512.run = "ed91f0518668007aab7b9222dd08c7f489caaf084ef915f88d435128012b2b4eb9ba610168154f07bd0d084a34909cefb1dc0c1cfb2186982b4f08f9f6412f7a";
+  sha512.doc = "61ed0f632d7f12fca4631b13714994b2cee8e05176262dd8cab672d4f8f7e65a36e0d927e3b803991818d9d2976d5794d48a46ebbbaf8bc8aad99aadec7d3fcb";
   hasRunfiles = true;
   version = "1.1";
 };
 "pictex2" = {
   stripPrefix = 0;
-  sha512.run = "78f31ffbe24a1c91f6b03053f5a89d56bd8f20cdf67f13494a03b848d50e7dc6c3c175bf1df74ad59921e2b77159d8bd2f8c07257284f386462835ebad0efe6b";
+  sha512.run = "26b608cc8409c62f4c0130cc032f2ca5929886fafb9d22d93aa23af5a6dee62bbde83926bccbcb4fbd3d86a43810d751eb43a2a94be9528e1639c59fb61e5446";
   hasRunfiles = true;
 };
 "pictexsum" = {
   stripPrefix = 0;
-  sha512.run = "482fc6f1a7729623a50b4f524486c2da53ad4ab10e075336f92c9256471a96369b77fb62d5218e341207dce5aa8b0557192623db09f45a8dcb6537c916d7c792";
-  sha512.doc = "1bd9c7e7d7314631d962cf746334483527630f526076e07052e13bc1d1cf6f0b9b831e09788f19b834e408bbc1afa43215b684bd8e91a2a10e15cf976829a932";
+  sha512.run = "a24861e4b6184084fffa783918db485e5c7cacf7a6528681e7d8d4212287f1f6687604bd4f347e9e34ab7d29867dec2b30c9871a13b9bedae31b5dbb82ba1ed2";
+  sha512.doc = "148b7c29cb8189174442b95cd39b0d5fdf9f937a7a44a17314b93cce555cf3db459e21ae2c4eb9098c15551bd7aada2804855d68f9408fdbe974f6c12dd724a2";
 };
 "piechartmp" = {
   stripPrefix = 0;
-  sha512.run = "cb132337d5ad7a15873cce6b416e3bf4b097c58bc1d16962b6b858ee6094524f3076e24430e7ad7f50feb12f07011dfff9dbc2cbdd06cf454fa72ae7d7a11315";
-  sha512.doc = "3f28c9ea54d17bcee60853da3f1e2bcd623142d2c56d7d1eb48e726adcf232cf8be0c732e36f261cdfb35687c05f3260d1d11df493072ea801a94daf1c627adc";
+  sha512.run = "e4ef7bdc43280c4311a6e8abf2719815196fb0ed0a8450501061e0b3b0bb44cd60947d6d623ff753c5ad1384d98219df695865e6459eef02b2b96f00906d023a";
+  sha512.doc = "f74c3c34d37eabc3b5e857a90e8da2c6ffaa3b4a6974c6b1127f898fb727ff18f0f399e9c4ccde8d4d198bece0ea83fbbac37a1ba1d381576166b5a2742113c5";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "piff" = {
   stripPrefix = 0;
-  sha512.run = "ca03fd39036c86626a3b3c36f3b017d81ef93a90807e9e24a5c7df96f53e0e4f74fc499daca51bd3fba1e37ccfec4094fccf7c9ce20d17fd33a89c5f8a62dd59";
-  sha512.doc = "0e0a69603bd80092c4e17cd9ba15dde276c68f255b5c1ef4d1dabbcdf0b4212cc85d36383ccf605b4b18e1906a208babd11db36e249795b4b9492cc51612d551";
+  sha512.run = "79b804dfdbb12b8d2e854341062f2a149f9b0e061385a30650c39b877cce72d1af4ad1644d73fb3ca733a171aa61d1b533295818dc10a92eacbce2ca60722de7";
+  sha512.doc = "ef9d14cf4a38315e4d523082db9baf8d0f89e5963001d12ba7ffe260ca2255a6aa99dc38392a6ceb0fe24e6abb8c77b9343f29300ff5c814c01adfff3321923c";
   hasRunfiles = true;
 };
 "pigpen" = {
   stripPrefix = 0;
-  sha512.run = "6dac4af49e6b77d7757af9bd7fccd892409cb7bd09623d30039c8c62e3894830c3119a05ac3d26a1b3b23f0f9985b1a8c92d4dfba7c585dd53d6b90713aa82c1";
-  sha512.doc = "d1f7cee73bb9a07b5cb3fbcc9f8baf33725fb26e51a72a71776851db6a2c01b2a9b0f491575a023899aeb58ae47e84c2d1c8fac94bf4be69fb95d965eda25196";
+  sha512.run = "107700bb0c2afd35755589551ca6bbd9a95ee6bec39e51868ea1b5fde4855a0ea2eb92b50105eb6a3490f82ed6f55c33cac25bbd58eeecb57fb80380095b7285";
+  sha512.doc = "48c6c4c26e7518f06233ce0da8898c1c722829adfad042c12b8820bb1bde43f25410c41f76c51f4d01035c9d654bf3ae8fc7bb44a4d2c23c52f3336ec7e7d128";
   hasRunfiles = true;
   version = "0.2";
 };
 "pinlabel" = {
   stripPrefix = 0;
-  sha512.run = "507d3449a9e977e6f308e391a1306a1156671da5a29f433bae55c1f099b22f1eb2a6b41af8985131349295b0a74a7cc2b76e83326f3f2e77ae283e09cd4bcb40";
-  sha512.doc = "59bc4d2ff33ec77afd20022a6c6a1f2db0c31b9af3147ce1fc7ee236a808843bca0378f4396df2a94db4a637cd91ea9fd07b021591f3ffc52a90f22a1009c98d";
+  sha512.run = "56ed76be6c634b3c1fd3f83e12304d0d0e078e027754ac7619d680d2072ac7b67c527a4d23dda8feb6496e3808b3414bec65a48d4750d44405fa4574f122880c";
+  sha512.doc = "c56fad48b7cad065196cecdb64e501555d2a8f3ca098f001123215f8e21968cdec2da28f2a68f7e07ee9b1c2d961a82590aa136b15bdc87e9176462cd706b0a2";
   hasRunfiles = true;
   version = "1.2";
 };
 "pitex" = {
   stripPrefix = 0;
-  sha512.run = "7b950db7ecb87af1ed0626d0d06ca6c955afbfc8b1bb2b478d9a991498d243ba74d8e10115a443a981b3e0bb97795412f0a047986f64cd5a7dc7fbefbb5a622b";
-  sha512.doc = "65eb709e3894bef7b99b457941a2fd837817cd82ee623cb416b7cf7b02dd826e7c3bf5c6afd6ce8f713ffe72c6a521adffbcc3bd0a18d8315a9ba56179bf8a80";
+  sha512.run = "dcc4280ef914ba66210ce471dc276042070b3246bc95ecb93b3d8af55393f49921a1d5e6851223299831344503dfc77fc2893f4cf1b78351dad40058979c20aa";
+  sha512.doc = "c3765f6acd4a147ffd2c216b1cda58e5e6ac8dc1202b444fe80d0dd69449b01df3eb17069842ef745e76e88371bf71c178d06c5ad2bc85e3427726bb30b74002";
   hasRunfiles = true;
 };
 "pittetd" = {
   stripPrefix = 0;
-  sha512.run = "e3b9edb291323f8eb3b49f9e4c0f839f2f4e77a85358017ac68c78c6c1a88921bc48053e16c4da1c5ce3668ae8ca00736f4ff1ee019197dec5456343949a5e2c";
-  sha512.doc = "177c565aa8c415cabfe6f91154032cbb0d67135e9f6ae7b71579eb89e1acbee9da30ae2085f511994018d04b93fc31cd4d4b865c15fb7d4c32326909f487bd5e";
-  sha512.source = "2a7fd63f232f04329627c69d1a739ab3c81ae9217043c6d0837addaf48d8f1f229c6f649cfba7ba7e30eb8fd4b57408b97ea7c1f1881213ba348bfe8f491ac48";
+  sha512.run = "5bd78a90b4c7b9cfa8fbfad66e0de79d09762e06d3bb35a7aaa13ef8ba73aacaceafd8d5b5468de8fb59c6f4c76d364af145e101543c7ef2089dc9fe00e5e9db";
+  sha512.doc = "e72d325fbfd3159699621fd703fd539259d1b13ae69d00e771291e156e3ce6cc15a0d7e4d2e74a3ad3492c39c67adfdca5491b68dd6e8ac78ac1213400f091fe";
+  sha512.source = "fc1afca13fa1d4b6b0f77dcf693939be3d6423ebf15dc6354b955e1a02ea5655933470de740d0d626d718bd48b5f4dd1ed92263d8524d0ba38b2e4c328bbc135";
   hasRunfiles = true;
   version = "1.618";
 };
 "pixelart" = {
   stripPrefix = 0;
-  sha512.run = "014244e9e5a85b6629f397a86c3f709956182d96e0141044f4436576b7ae5f89bfca619201ad82880cb7351f785021fa21aab6222f84c93302acdfff00689369";
-  sha512.doc = "f48c8b96c544b02fd0a183794658c2a4a0bb15919e367d46770e81b51e2c5674d291467ebca27502cb3e89c901ccd6a1c4e9f5d387a6a12da3e7e08aee1b2fab";
-  sha512.source = "b1502155ab651560acf1bb0ce03046ecc88490b1a67efe801f570faca4ee785978e771b82579a6c40085fb05a5df41d010b63ccb47d27811cd12ac34ed526e99";
+  sha512.run = "9f9839c0d286262560f24c7bb83603c227addb9d5e969aae8d0d943cf305c25b06f74b3a2a3fcac9e6ab5f2473ea0e11b94283b71ee3794bad21c22212d05e28";
+  sha512.doc = "8ac425c6345b95739a4864f89c967170ec121e0bdcc4b1c3aec9b60430ae7c240073439270db1311f9383c139bbc485aa2a39248c4ac5f788b8ce37345e6c65c";
+  sha512.source = "7e8962f9b1989fe23c62dac7003e0e1bb5ef1ccade7b2e07f761f3cd6c44ebda85758fd2a2b438ce725179772d8520ebaa2037920844000714229b53d6d99ccf";
   hasRunfiles = true;
   version = "0.2.0";
 };
 "pkfix" = {
-  sha512.run = "53163cd13b4e2466474ff01e92d0b97fab73a30756f06db65c4dc50f7a9e8a2af0bf771b575ed7e65404620b34c26d2833ee0897f82d75728bc74f35d0154dc5";
-  sha512.doc = "ef411ae7d4533ceac526fd02dd775296ed00c664fa733459b89de8abc1e0259f45c30b667e7723b5141ae28d5d7541bbd0054100c2e51b41a01de589de58e8f6";
+  sha512.run = "b4d374e5b771e131075ec59ef6713c6433cc3cefb6331a933e791c3774a9d54d6c8427d70a4aadb2c6326c3733abdb562ca103f0b6a9dbcafd87856d20b18a24";
+  sha512.doc = "c6819c63aa4cf7df5879a796e08299f2fa132e1244648d17a7fb0b3c28204b0641e56fe4661887c257ca4f5998786c31b1cae2aa64e3163340f08d02fda4c8d4";
   hasRunfiles = true;
   version = "1.7";
 };
 "pkfix-helper" = {
-  sha512.run = "673856c42400e15ba230d627a8b21e07e8c8a61f62c5d90f6b2387ede1bba1c8931dd1084f7fbcd17651ad988360b68b532fb8be2451f11176c95c3e74f7b9dc";
-  sha512.doc = "886ced25440d938e756cccfabaa8f42747c4c19cda31fed6be422bddd2d5d228442ddcc8c7e0ecbcba9efd8e8d780afccd5790dd593d9671a515e8bc42c40701";
+  sha512.run = "4828927668f21f465ab672b92e6e3934e81e60bd9b3bc1f28a65b2c4dd26d2ce244258ac1b7d8846c0bfbb653a2fe009875ddfcc0383b34249e775f675497478";
+  sha512.doc = "146bc49beeb779c4815737cffe1bad30c28e7e44409a3e7036ab82c58f6f1b7e0ea3498f1a19cfd312390bcbc31c72d9f61a92501d87690a61cdc7c66c2fd2ae";
   hasRunfiles = true;
   version = "1.4";
 };
 "pkgloader" = {
   stripPrefix = 0;
-  sha512.run = "6087da3f84553e9ca85460a55ab207749e81e78fd65ebdadc5273b0817bc24b089d469e6cbd783caf970e3235441ec9a8ab3250b2b0d6fe25c8d85e6885ee4e9";
-  sha512.doc = "b957abd848419537609365534d4794028f7af791aeeedced5b26e97b56809f58793cd45e1497d0c727c8020e169e619bc88f300700b3d521779e22060e797651";
+  sha512.run = "2b9af06a79f484ce948b98d8ac09f3327a64e2299770ae6746d9762fc6b339d68aa3ad2abc5e67dc385bf4675cf406f170ef706fc101e87f6b58c839b6d3a3e2";
+  sha512.doc = "231038d0af3e7293cec5b5e3a9835b1ddfcb60d5c8006009998e5a04638e0ff818ed36abcb2326a56149af0884297059577a3437e9bb144264cf42feed055cb6";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "pkuthss" = {
   stripPrefix = 0;
-  sha512.run = "2525c72b11d760dbd4075aade89e7d1ce842df72f27364ce9f60b9f245d8c4a7492867d98428aaeba775ecb1a3d599941cc5570c2cd46a5f90babeadb371b4a3";
-  sha512.doc = "842a895d4dbff3c657862a6df742ef335a0e84798585807e4de0d73c7ae0ea951013f92687ce04a68bead9c2536164112bf064535ef778a1f24b3a5c58d781ef";
+  sha512.run = "3714a72dce39b7f72c4bdd8355d077822a41c332682e4e6b09bc81f16a61cf5017315428e942e26a36f8bff79a818b9e35b0674e01412f7c29f1bc94258d4636";
+  sha512.doc = "7077cebfe115ef19f1d0b1a333babe00f75b47c878d5c316bce75a80b75a53ee19814baa506b7587d18216d928a25f2e8722f244ac2ef5d32d7a7375d76be0e8";
   hasRunfiles = true;
   version = "1.8.0";
 };
 "pl" = {
   stripPrefix = 0;
-  sha512.run = "4a15992ab0c6c1352e6047582b5ff86469bfbd7f02995be4ebfe49275d39acf80b1e409836d8a5e6fbeef8ce8f5371825091a9da6c98b2468dd98c133f2eca40";
-  sha512.doc = "d1a1a06e2c9d229c8cd7476322a498e0bf2903e24cdbb35951a92935d706a799043061d0e26425b1ef9e90b3b04237f4d9dc6c979d8908605b74dfbe95e27aa7";
+  sha512.run = "8647d7f075ff8c4559c1549b0e1075790b3fc2890b55f2d8612ea71b385b9a90b25a1827fd99b823ed945c801e1dd1773b28be3fd9b8e9744048fc370178e599";
+  sha512.doc = "f9e53f7d006b671d788ee888432e62a98704ac5ec964ff6b65704a2ac9afd056f1de366c4ae60460de3c112fd9267e8ac8605543ab7d8cef345d4603c93070d6";
   hasRunfiles = true;
   version = "1.09";
 };
 "placeat" = {
   stripPrefix = 0;
-  sha512.run = "5bc3ebafc77719bdc477a1848cfad1288820c592944fccca284d3cb1b671fcda59b229ab93447a3ec3c40e2e99b6b7ec612943c48917e5c3628cdbfef8647168";
-  sha512.doc = "c12a7202c55f4bca9c05ef7c74e315b6f71d270eddbd39cd9d50ff882e0a4a12001e81aa8fed37bfe4c4300d8f7a0525efe49e11beaff604db5ef6a6d949b05d";
-  sha512.source = "4990186a44675eb67dd27e6b1deeaa73e3e948071e550a236342ed709ebb3acb31409266fb3d1e85566e3f8b59fe3ba44cdd21fd23ea958e1f1836e89b0466b1";
+  sha512.run = "476dac5b149811659c663751478f9f224e209dd63954cb88baadcc94c70a4861673512e01c4a5f30097d242f56f1a6edbf4fc225f8b561e49a4e60b02020488e";
+  sha512.doc = "0fc82d9b448c85eb3d77a7943b9243720f41894f062d9723b3dd56f2d3e9cd8fcb87a3d57f387f1c87b3ea132fee2e0e08962d9044aa7c756f0db979f4c06a3c";
+  sha512.source = "c24fb52958d4bf39ea7925b1b68f2b2a5eea95c4c7bad8193d272111d6cc896b89e1b7ffd923a0e6fd9fd231dba3d1038a8730ae58b4ba059738da646e6b7bed";
   hasRunfiles = true;
   version = "0.1d1";
 };
 "placeins" = {
   stripPrefix = 0;
-  sha512.run = "7187d061286fc3b454aaca5456f1920b349878d8070afd03b3078167c369133ce5e114dcc42490196ae98d00ec6d081417f82bc25b5d6a2068d2532195b32262";
-  sha512.doc = "3f3a25b748cf80d9b5b35bb5af300389fb9aac1b8f64352aff854a5537a9168433434bb52b8567a2acd13ebc89f5a500d2428de974b234e37b417d5093bc6cc1";
+  sha512.run = "618eb33f1fce0b089fe111b083b0153c146e0d8abbcfc235a86dc6a698a2fad080f8ac38e04037e06b0e1e2782291ca6d01ae69922d181b26b4c809d6aba262a";
+  sha512.doc = "2ac2312083ae8abd3fe3f85da7dc65032a4c6bed4d1778c058120b48292f459d1b77d40e4eb6f0afaf88a5160d4fb0eb7f353ba1d93b7ec672f054e58de4d6f5";
   hasRunfiles = true;
   version = "2.2";
 };
 "placeins-plain" = {
   stripPrefix = 0;
-  sha512.run = "0e525e725a599af304cba87b9ed9dba588937935427c6666de2cab47c0c114d5b46fff0b7cc0512bd32e6d4bf032a20da1d945665b2ad27cdb1d7c1ef7122af4";
+  sha512.run = "ba143fda432b8ff9f96d48218ea3b3d29308db3a403c64af5f4a89b8305ff835481d9e0e77bff92530207359115f6a44b006cc58bce99c0f7d3924d1134ef60b";
   hasRunfiles = true;
   version = "2.0";
 };
 "plain" = {
   stripPrefix = 0;
-  sha512.run = "bb95609bc13886773500fa0338f277625ee72b81e71aa7def3e3ccd97b8b9aed58fe0949d3843fecc96b531a1ac42f33aecad8df8bfecf46dc7b24ae46b5444b";
+  sha512.run = "66f585e1fb6b95913ce71406e840bb15953b2ddebc3ce0344eed791e496ea75b93c4969abc363016b71dcaf65c0c676064ec778bcccbb2490031959ef3276bf2";
   hasRunfiles = true;
   version = "3.141592653";
 };
 "plain-doc" = {
   stripPrefix = 0;
-  sha512.run = "e551b1ae0a4e0ec1abc1207610bee6de222abe866f71967606b6c556d42211d82bd5736741bc1349d83f99a159847a59c6101aa3a67c57a780a6bf1907bc479e";
-  sha512.doc = "04d35d5790ab5ae4bb0d6b6f73cd9a5e412ab0c02829573d3848435189bf86f14badefcbfbe7f6405523a9a80e15ce1681b3b066372fe5c811cee18141f9cfb2";
+  sha512.run = "bae58c957de52e1a45f91d8ea49579ea9c5b50b641331ae8d27146b6bbda1cf93e09abe58a011164ef99e5513cc32d346da7d693e975271e1892674aa5799406";
+  sha512.doc = "03f17a65680e4fedd76abf2ec46dbac4b7871c3106c74d3d7c7f200bd6124146b2f78848a3761eaf63b2c909eb5925b78441d73a48a4437ef496b8643777d847";
 };
 "plainpkg" = {
   stripPrefix = 0;
-  sha512.run = "7072cd339b5cc620bacc3e91b2d8774eb1a1ccec56b1bb0d3d7b18b00ca0eed6d96d0723aeb927451550ec1f093fd4b2ee74fba5eb2518849b285fc603e8ed25";
-  sha512.doc = "bbbb8c0fe4670bb574a4dfbcce5c818b81e7ee2f28255525532ee5a23a8604d80373c9c12b92e5a1d639aa3dcaa42a2975efcc5ac61bd8e45fc35eed8088977c";
-  sha512.source = "da4589649cc674dee1c3605daa30849cb2de4fc6ac2446e68feac6fb7c659b23b0be32a5a84d38dd401af2f002c69be4bf0e89fbee1a1e3614f10b0b3e71b2b0";
+  sha512.run = "aa1158f3958013b133dd3f9308063543268181296274a40e2ca606c8e684105e89b79cd9bb45d225e14865ca0e998e0412e8edf8057445bde549f249a6d69b2e";
+  sha512.doc = "684b4f193f29336d5bd2c494c0c447cf0ac28090a156ae286437033e14507607582b3b9b40bc7b82fd92661a4bdd75f953e7c0b675f46418bb585b6a9492eaa1";
+  sha512.source = "44138ffb31ad8f78b0ab917302f48f0bbea871ef390c52b211ac25dd9c16f0687f02348c96682d89c9fdb5586b157c9d6d4ab3f404f40ab173835997ffe7c237";
   hasRunfiles = true;
   version = "0.4a";
 };
 "plantslabels" = {
   stripPrefix = 0;
-  sha512.run = "c1df3bed9b03f0290d41ef4ea46071e8baaf3eba3aa8980821e0a6ae3534540c150f2cfc31c0f77f554b4e2491878705b3747d175a7b1bc4940638833d18ae7a";
-  sha512.doc = "ef94665515ef37a85752647d3e743d1fb42715a476fca68d64c37a7dfa23b61354d2abdf0d29e8fdaf9b2426377ef707c87152bbdfbc3c2daa31b56e689029a8";
+  sha512.run = "7e1724b32035ee32325c491bce57ead23f40ad7377b4c1d5572499fef920b874bd57298e654429203cbea726b8d645a0899807547db80825be163538c1d91537";
+  sha512.doc = "999f132df73c15a7b3501487f350e48777543745c5cddbbaf314bcb62eca9b3ba41b51324b61d04e9f1d9cef4b9b8ab851d3528f8893bb21e612a7f50511da65";
   hasRunfiles = true;
   version = "1.0";
 };
 "plantuml" = {
   stripPrefix = 0;
-  sha512.run = "21aec60872faa4b920aa192738e732b148864fca0638bd4a602dcfc8ec46678b2be5f732406545db7fdba7772decc9f0abb0b0c5ca47959fde555cde2fde3b7e";
-  sha512.doc = "8bf931f9ba79dd2a55f78f01101de7e9cff3d9e71e716067d6274fd2b6e5b5e83259c99823b2855efa5f7b67bb0c4adb15872766693aa5ae68c6625d976e19f3";
+  sha512.run = "a7eaf9dfd05377787a9bf18855506506a8252f0a8c44aef2d452834ea1f7091ecca66dceb6124e44ef117294d526838944884ee815a8dbf48ef4558da1284eb6";
+  sha512.doc = "ad2dc0f8696e15a55dca16c3a45a6376cd423c31722376b30fde2ba2443a4b768d02f745838ee4c83a1a228b6cb492367127799d9483a800f2da03ebd0eea214";
   hasRunfiles = true;
-  version = "0.2.3";
+  version = "0.3.0";
 };
 "plari" = {
   stripPrefix = 0;
-  sha512.run = "68d06d8a5e6d9332bcc752bbecae9f0d250fbbe20ee8aca9bde4866195866fe992cb38018e685956aeedb237da25c06d38bc5a98bec2987554f1534a3a3ac5c3";
-  sha512.doc = "86b3b1747fc6740542ddeda397b257c0a4489cae1d12048b880f57e1cf1cb56ada1cbb7fb7342cf283d6401faf9c319b4de7aaffe26b574a0f780cded3510c6b";
-  sha512.source = "6f9776d8b13afe27f8804ec4841db1c166eadfc108d557d0433832215c6ecaa8698adf2b75e8a8d5cb973cee8152d3845be8edfc8f05b9b20650356c69a13a3f";
+  sha512.run = "86e91b884be131df6b4da6441a9fbeb872e0f345eed49005ef74d58eb3ef8a2724da98cc810a51b58d45047d77545ac6b9512612b5946ba29d443dd14bbdb263";
+  sha512.doc = "befa46f8ef7c4c89e18339ececbd53341aa50d6bfc8927001d17395cba42db0f0ca3414619c746c78e4f5f4f9cb1f6db813defc7b89299f5b29e9c0866852c82";
+  sha512.source = "e03c7b5fe7406c447509d4ae841c13c579c608564f45b83e1fddb066248b53e46f83a2760d745db1a5acae08dff493686d667f0328c9c3d467df6a92d8304a5a";
   hasRunfiles = true;
 };
 "plates" = {
   stripPrefix = 0;
-  sha512.run = "89926561c815eac2d14917a1656867cac4231a4721aee1e851149b6536feda8c32bd59d12d8ad5a91280681b7d5de08e9538c55835edc93130ca7af451b1ecb4";
-  sha512.doc = "8ac48e03510312f54bac0a6bfb0845240726714400c90f7bff378e121c889c07eadc0b0fc830fa1fcd8decd9989a8655fdc43f533b24af0fe74bc7f231362deb";
+  sha512.run = "f662191f6a053585bbcf5a71635b6f63ee5d713086bd24f3c879f73868b5ab42b6434860b68408fcade7b7ba448845d1dd6a5be12b10bc25be8032b9dcef9615";
+  sha512.doc = "12779b285951d5e3d7a0f9d3ded736d5368291b678fd884262908897c4e32bd5fdbdd6bb4eeea59bf922555d5dc8daf6b0e06a174fba2605d4357dcf1f09c6d9";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -21238,149 +21754,157 @@ tl: { # no indentation
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."ptex-fonts" = tl."ptex-fonts";
-  sha512.run = "3e558826789881c701791006308d399e409b890f2084916658dee28bb52847945bc93248882ade6dfea2a1011c3ae0d162e9d4c085816380606eb38000636a72";
-  sha512.doc = "efc784d1c5bab12d02011a883b7bc07f2a42467f9a2b5af0b7f835967821d19814bfc1be0fd053f43b9c343a13438f0984a3aa1d6064d059fcdf2ade6d8f68f8";
-  sha512.source = "ab54d3975dfb89e6fb85503c11e04d825c27d8e5d21d5a7db390d0483322a85d47e100b9e488ab0311caf1a77f5b9df9566c79ff5156c507b518cbc3213071dc";
+  deps."latex" = tl."latex";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "dc0704d481a209545852edd6e4381d3d1bbd35173a3e67010f396093725d7e379aff68507898246ae0741658ca957665c9bcf5a6163648542a3585e8e8752240";
+  sha512.doc = "b762310465dd6cf147d5f5342115a57124cbbfc708e1a48caf8ac57996a5213499f9154c0c392f63766848f677f617d3014a7aca404ae5481c3fa0206b87ab39";
+  sha512.source = "cc1c90a007cda5d8fa5ddbf42230a23ab3249c71d70467b94aeaabbe5e42ca80e370fd2abe350ff494f8b17edd13c47d8e8ade18b47a46ad34c578a8baf06a6c";
   hasRunfiles = true;
 };
 "platex-tools" = {
   stripPrefix = 0;
-  sha512.run = "36e2c28554224f3deeadb1b9608697acc992f822baac3b599c287cf27215c1625c387686302f323fd6f875becee28f6f8afdd0890626de0f288d8f06c6aae3c9";
-  sha512.doc = "a15b693c3a402fee563bee960a048a1cf943573dade44e545bd8c3d87ff60dff549939433bf092f34dd7fca59c8d9eb5f7cb78af27b376a28e4f1b7b1fdfc6c8";
+  sha512.run = "bd1b61377f9793cce68a18c43c43316aed3f6382d031e7948e5ab6726b9be18d5b819ab3fb4800dd9fd1932af433352c7285eb9498925f54b66e0f87b0d293f1";
+  sha512.doc = "a58c732af05538e8450b9a329754d576cd0c606a676d2451212d928d39e841bcf702cb5e096405c455f98cf012bf4f75d39295d7ac5efc1c6d3647a16345434b";
   hasRunfiles = true;
 };
 "platexcheat" = {
   stripPrefix = 0;
-  sha512.run = "e4431b4f1b99a81a96275b386bf51a3fe03171e35df143693f844de2b0497c27816156b3d98092b1edac2fdacc2441a478e7bbaa2facf03a500f752744150c54";
-  sha512.doc = "7481dc286602ab44b74eaf6e783151b50a21ef5872d8e13e95dd05b233eacc56aaeef7167eeac2bb05136acbaae09dda02d1b45cf6ba79fe500c79e6b38f9ecc";
+  sha512.run = "1409c7311eaa82811236d869b04e9f55fa2a96804faacef4820072a4813055e70ecce0e8c155ec19016f1ed4e57bebe0b362c5457d1258f317a40fc475d42aff";
+  sha512.doc = "bfe47b947a915099de15e5519a3aff201b327c31d29c1966d4fd3e9b73581792d918b461ed1944aaf5e8a5eb7956c38579a3fd972f189b1e3abb903c7c904cbe";
   version = "3.1";
 };
 "plautopatch" = {
   stripPrefix = 0;
-  sha512.run = "29eef428d0b30f524a23ed715cddb025b17621bf166611920135dd98a367fedeabd10595d37f6c8f5a214cebb96d79bafce2ad95bad23104cf076e06ffcbf049";
-  sha512.doc = "8a0100e0abf282606bf7eac5a17c7a175395f64d2a5ab0fab4845d578c5543385df909e15fc7793cd9700fd4ab43162b815b3859706c7a7e3a5522c60eb9ba8e";
+  sha512.run = "f7c02f596e58710b401ea7e9b071ac7786dd640f4512111522414f90d93600854fcaf31df49af6aca605ce1c4ebce62373226d2f511c9584ac665d6b20e37d72";
+  sha512.doc = "291d4c18d6b08eba869b32e058eed9de075dc35082496cc5bb552a905bd9f9a08ce7e7108320d0b2af953a351899bc0576f7d05dc2a0b87409a72fbf6c08224d";
+  sha512.source = "13c1c1aac3f0aa30f6f0b102ef0cfc478436eae8889de147dc7ef5e6ea4e7a555fc15d97600defee6b8fd8ee40a2a1d01603e591b0e4a3132cc3eee6dffbfde4";
   hasRunfiles = true;
-  version = "0.9b";
+  version = "0.9d";
 };
 "play" = {
   stripPrefix = 0;
-  sha512.run = "228b3ef2d72ee0174937d397e4da21c55d9404862f6549bb7e9e129f7fcf5ad2816ffc8612cfd03d7cb9846ed3fb239d162c68dd92bb27542eb7e606b9f43582";
-  sha512.doc = "0f5adc57d3f1e4bbc2b6ffdc78415085d5cfaeb4750489e3a0ca2dcc1558a0496223ee5610282652444b9f8f418f95863f6acfdb49e28ecd7b63b6412c823e37";
-  sha512.source = "7441585f8c75d9496fdc4084c24b38ae01e36f24617347b22e256c7914ac753d1703041b5da81caf92b4246f948bfb70d7c03d950259e6dd0e577163c7b4b413";
+  sha512.run = "040468367a783e7bc49dd4b51e22a72c41ff2985a52e2551b3be6780767e17c8d11178f097cc66f5683033eb03cc2ebc2c08c1f4477daa7b8f9e22d8a40dd385";
+  sha512.doc = "97c882b12ab350c5b0fe066e04ea7c2c136b1dc7ca29e51d8f89ed695769c9ef1ed255c3c109ff71838bde91d25167a398230cd25809f1374ca306fbd9ae68fa";
+  sha512.source = "3bf9b5449611ce72af26a68c99a7ea813c7eebce59336d5c7bf65da1a870e6c26238f803ba8e07ee2a084826e6bee7ec819a919e7abbbbf11946f611cab17a03";
   hasRunfiles = true;
 };
 "playfair" = {
   stripPrefix = 0;
-  sha512.run = "d88f5f8695dd49637d0ac044f006a6ac9b3e7f6c7251f247231918b1696891686bdf01ec09683f29ddcca282a8a4008792dad80034dc01cad17aef33df541c59";
-  sha512.doc = "b0ed617eef20b55ca9ab8e1393cace2fefa3048a0669dc9169b19026555510412f310250484b5e02ab48bff6a9f2df8724105f2e238a4a7a8a58180f75fedb8a";
+  sha512.run = "cfd2c243878c3d2bad12bd6e284078b76097a43cb01e9c35bbc4af753502bebd49e73ca49dd91575196cd27d2e391511bfd4a268cdde20aa948f835d877a16c5";
+  sha512.doc = "9b60309afe7472f848be4b85dbeb4a5dbc422a0b0ac480a2f97c73a7525c9f20289133dc33e6e49a029d9e277536df5dd1bfefb57d65341a5d2061b3877e898f";
   hasRunfiles = true;
 };
 "plex" = {
   stripPrefix = 0;
-  sha512.run = "01122034e2490c385e86dd9c7773d620ae2fd9d45fd28157c21a1bc4a1103f7f8b2946f6dffbd5060b4b396171d0c365c84777f65271f891ed124aa3db4b7ffa";
-  sha512.doc = "841f4160b9e7662fbe9205f4689a9a64f2358a01923ee00bc1754ba0a9bf62757c0c8923cb6cd38fc22dbbab6e4105223296dcce33d74aecfb2b4214ce1ec412";
+  sha512.run = "e1fc413e26383514c6811ef3eff0263169cfc12881bfa8f2f9e1e60326156bd255bdb63438d0820c6cdf5a4c026afc9f6397598f1c59ebbbdcf3c64223fdf2aa";
+  sha512.doc = "f1132741d9d0d4961296f36cc17d56f7e32fc4a7d539593fc09a83460b5baa9f76a08b957bbd6dece4b29980420cfab73e05a65a2c4dbbc60308db582ebd2c8a";
   hasRunfiles = true;
 };
 "plex-otf" = {
   stripPrefix = 0;
-  sha512.run = "6c74a6cd3473e490b37fd694fd8b5b3d0a5ab2cdb834529045023f1340c19a45f2fdfdc79c074d3b81e7b8f6eb0b4d77a92305fbd0b16478d1cfce30ba71aa67";
-  sha512.doc = "0ee702e79a835ae5b9096929c648ce621e914e07f8537a394d20f3221af5b1c12b0d5b78312ff8d4ea2c034fa63ff9652e465ad0b4b8950d93238d6d512a992a";
+  sha512.run = "07e49e5dcbef60efd3e3050259f10b75bfbb83128412a1e60a31c2f17983ec73d055e5f6e117ec2673f9f0e5db716471fefb312be50cc4475761aa6ad895e9da";
+  sha512.doc = "4af950e1a3a384a1c738c6fa1bad629010ee2718840094500976b6883c2e3120cd070631463f90610c60877c0dea771c9c7e4f8f8c091aaf1f29b15b8400de96";
   hasRunfiles = true;
   version = "0.07a";
 };
 "plipsum" = {
   stripPrefix = 0;
-  sha512.run = "2291f4350a614227fd709f5276019e45a5e626248874c3d67060d98070dbe531e065c6f3eb7254b34b023169bbcd12ab77dc7cd5b667bc32f28614aca4f774d0";
-  sha512.doc = "a3d5160d775343d91adf981329b2e7242c3e4faefd60f8a40432dc7c6e5a83a519ad4f8e53e10672d8cf076ba17e2323504f84f34f76c91cf937dc385b63bb25";
+  sha512.run = "203b9cf56acbc53b2a3c195ba0a27728c93db91bd4be48441e61967fd0488cbc4ef96485ff0b567be64ddba798bb44308cb7cfabd2a2ac89d294203d93ff4d29";
+  sha512.doc = "6d5c77102abf42304f8480f74a073ba25b8cf317c3a6cf4c22af6035b17b07ac213866a10ead2a53d033b214e4a6d6e642d043d847e61fb165aa8a02ef90f7b3";
   hasRunfiles = true;
   version = "4.3";
 };
 "plnfss" = {
   stripPrefix = 0;
-  sha512.run = "82bea391e7b2e8e0b169e26b70122ca27b552ae19575653e25c82dab287f724321f227c60b6f2bc9e81b3da065d0915ab4e52beb30ef5db8cb091f0337f59021";
-  sha512.doc = "afa54f8b4c0b96ed99d77c86305a380e5b0f2332f6dfce8599828c35988de7d2adf650b8ed5ed37d2f6e88a43ca4d58f6fdbab6f3ba47353a0bb901976887af2";
+  sha512.run = "0ae352953c5981b791379d9da9b61ad8837c22053f3371f351152078f4dce6b12615ed771987115cc094613ddeb0c275568e1d7404f321516418d218d9c68473";
+  sha512.doc = "9569a4f77dead68ad8c76794f03e6ffe147e1801324291fc13487b05051fcb7f307971e65edf66024c169411cee9b2940eb4daac4d073773e67f2f303b364870";
   hasRunfiles = true;
   version = "1.1";
 };
 "plstmary" = {
   stripPrefix = 0;
-  sha512.run = "fd91a187e70b5d00143e8cf6867a990311777b8f6c88b5612dfde3922a56de69fb44c8b371fabdf768b358c7fe5d444b52ef7f5513390a6e85cfb2425ff8d23c";
-  sha512.doc = "e679bd26b1180bde93fa54ed5a01e04428211f40f9bdaa8bceb3c050c8a1894c04388b6d6bd2fb7c6aca75ccbea127cd9818f9f16bdd8703cfb3305aa657c96f";
+  sha512.run = "72d54627fd8a10215ae9fe417423c46240997f865da8b4f4b976290ded7fbb0360477db27f140bed0ceb4dfc57c42a23fe5ce780ec5eeebb9b3e30b372adfe9e";
+  sha512.doc = "6e5c425b7d484bbe187eef030fbc9d6a0ad50d6d8e22c5f08d3762cf8082b434de8a4c5d13251d90a016715c9a85aa82dd2637abb6e17a6973a08514baeef7fd";
   hasRunfiles = true;
   version = "0.5c";
 };
 "plweb" = {
   stripPrefix = 0;
-  sha512.run = "5bf5cfd6e4a03314d7a1a9b176747fb20566adb7a6eb8a1125af508e6a911d16af76de888ed046bab9fab2ef8815c515a2ed4b0d72be61a3ad71ed7667b446d2";
-  sha512.doc = "aedd2c57a896769c1e67145ddba29a4d44bdece00cc545ae55c8ce8ae32d448c3135348d80e1ecfe9c599c742de6be70cd9804c935698aaf90772263c6c4e554";
-  sha512.source = "174c2320c0d86c141d70ff7d3e97cfa270390b0c116d722287ae1800e54c32d76d3f60a6a3e3a32896504b61df15020c60de873d31dd5bf5f905e934e2ef75d4";
+  sha512.run = "1899a3498d10950f67d24d2d7bf0488cd8867bd862960fa892581137bb1fb3426dea9e193f8993ffa93df11684dbd1f25bc79a98489317998936ab4186e9a22d";
+  sha512.doc = "9a510c4fd534c9451863a47fb8fa3911cf5199b295b1e3e2739cfc37ca0351d28fa1876e5456cf05ac7cc05f9f60761578ba6d77841ca575908cf4f0c9f0e3bd";
+  sha512.source = "09039cddf52bb2080fa6f9dad964f267e43d04504dde81e010727f4957a4de0225b0e23c1cd9ce7222ee1ddbf0d6f1ed1405d0405cb849adda77d99086402d1f";
   hasRunfiles = true;
   version = "3.0";
 };
 "pm-isomath" = {
   stripPrefix = 0;
-  sha512.run = "02f2748914dd727beb091e6ef10f59cae9140b1523bce24cb6eeadfbe1eecbb3345d898f91eabc4e0b909cbd25eeafae51d42196b71044d9ee53d98003981ac8";
-  sha512.doc = "1fde2a86cfc4b3138cb097f89e9aab0b6e42677006a4b78c911635ec705976247e627f2b8efda22075041c632dc9ab5ab5579ba659645d0fd3df5f26544f9a02";
-  sha512.source = "30062167acdff154f5e347523ee80305e920c8ceb0c15d381f09e0a52f49ab31a92a9bec07dc6c0bdbb7532ea14e9e362ad722f233cbc217591289bf052857dd";
+  sha512.run = "2ca05438d8a9e4b2a9d1e4a9232071d34a915d9f93cdd865191e350b128b9ddbc9f0af67d76eb49ec2b6f2a1485a5a792850f0abbe59de0ba4f50c0c10b89a0a";
+  sha512.doc = "76876cffd5c59b2ca74901c5c83e364c0c7982b947efd869f82ba801298f5b57d84f292015c8da28a3e49aada42eeea9c35d11660c3b61abd0ccfe31708e8d9c";
+  sha512.source = "55976f387b8a2ae1caae8d340abb37ad1187efd4017a29243c474e8d9804ed0bf83a7206992dc2428a229a0bba1cda60b2b5e72235a79cbdff6e47361e03f814";
   hasRunfiles = true;
   version = "1.0.04";
 };
 "pmgraph" = {
   stripPrefix = 0;
-  sha512.run = "d3c3cdacbc2439962b6084af553772c28d1ac1f4a0542944b20f7767dbb2599962710dc4c0a1573649b9c7d6134c922f11a995042f72e7252ffc644fc6c4b0b6";
-  sha512.doc = "50aab458e70ce9b2809c1d50c5c5ff0a52388afc0559af24c570ff962e92851dd7ab24fa053b186f2e49c65b659a1daaa1508ec82aa5900eef3e5244fa05277a";
+  sha512.run = "b6e9f00789ad102b6cdcfb0fe48e5ca4f6976a7c207088c0c3e8b0c2d4fa376bbb932500d42133571a6e18747615c77eb6df2b4872ba86f853e3069ef198a671";
+  sha512.doc = "35f45f43c95264d4dbac5d12a71270fd15280f9008d204e12ab0a3bc6a62939e6de87233c94eeb7cf9627464d5f383c3d8c2cdeaed6eed9473a3e5fe380cc5e7";
   hasRunfiles = true;
   version = "1.0";
 };
 "pmx" = {
-  sha512.run = "f1f7f1396e4dc6920103d37951a2768853307631de9ada442b75689754c7e79c30bb807a5d5c23243385e72902fe4d3163896e710f0eefe631169a1b6cee7ab3";
-  sha512.doc = "7c9422b842129e8b227585a530ef6c833f4148f93290362bcae29fb827ed2ebbf0406cc28a68a7f47960e8a6964449f7d0a792ce37f00ee32cf8933b6d29c799";
+  sha512.run = "d8c20ad86fa90531b0bfb1e7af06492e31a4b3a46331fd36d60bf46275103672b61a419eb671a3c89f098e0c74a580df313d75001e52b27b148bf322c7df1593";
+  sha512.doc = "37405b45aabf5bb6027b7849bc23f263f2ab9ffec515c3d7a2073bd7030580898b1c2171c760a9da40dcf0cd4cde890e235dde572b22e69e6a273b7bec4ebeb3";
   hasRunfiles = true;
   version = "2.84";
 };
 "pmxchords" = {
-  sha512.run = "89e1c6be41bf1c04e1d956b3365ed3ceaeba7424c51c426763a32566b909e23a985d2bf82043ffa9a3ba702a0d99225f7e578128d5f3d3b1ba2a60d41b8c5480";
-  sha512.doc = "88bbe4169b8b07bd17694508f1f9f25de2da546da49bc726fa557111f1f93b96672f83dd07646ccff2b8dffd6fdbca5d8c379d298c0b929a66c8bed64e205d6c";
+  sha512.run = "0a8f4a88834eb22d3f11ca567f37189af7834370530c6dbca4d83482e94cfb48b128bc1290e7f3ee718bffb4df445a300ddf5081805f88002f53bcf8b434bb3c";
+  sha512.doc = "d4075306620fa1ce037a37b9d2646d197348f6482e1286ff6fd99641a8b441b3d830a1420dbf6c025b8d11af78363b717a1acc7ea6b9e2954aa4f11ef04452ad";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "pnas2009" = {
   stripPrefix = 0;
-  sha512.run = "c95b172714cbf182194f908e245acf5469b2fbb71e078da8dc1130b349b3bd95283c94a7efcc80ec01867f6e022928baae1d59cac8fa037fd3cbb68d71c6360f";
+  sha512.run = "5e20303db90b2db63a3d6026db582026df8b9e910942303c952753d5dc27928ec70a8dc21edaf44cd57e04d25e93a87a5f28caa769a0425b47c78ea9d56ffa86";
   hasRunfiles = true;
   version = "1.0";
 };
 "poemscol" = {
   stripPrefix = 0;
-  sha512.run = "faae854ed0fc326679f39af10a438a609661002dce566b35d0429072fe44c153e3f43e576fddd4a0ffc542f111a7f487aeb95a0d27787d61533f4182ddb0d5e7";
-  sha512.doc = "b55908de68f3dd87b47610f4ba90ee6179b88ea70028c56aa0d3dd3d6cfaff581cf10a04890dba96a44f61251e8f1ff7acd165456d0623745de32cee8b83f7ed";
-  sha512.source = "aaec63569e24c71d70d59883e48a97d6d2f35b4ebb7886eb27dffefa59cccb02ad37dda6c816a00aba71e7e7957a3d65ec92b3c7177572270a85d39a85b6eef3";
+  sha512.run = "59906e64751670ce1a00ac953db24a890b0c3388fc306c5520d62a728497203c1516106210b56b26f22ebf6e78e33a3f01bb7d897ad356f2364ac85c17819a82";
+  sha512.doc = "8631041e8c3188dce9a0982b7e69e6efdf7949fbd600c5869ee84467b06b80754c86e1b54476843002a12be4a52c9f88c82441cebfb86d4eceb12605391d3477";
+  sha512.source = "6717c08c6d728f7aed959cb2ab1ded7d050241f61d878889dd838c85c4090aba602dd8b85e5c8b8f01fbf23aac7ab1562d9d33e31eccfbd508277507f5ab24ba";
   hasRunfiles = true;
-  version = "2.97";
+  version = "3.14";
 };
 "poetry" = {
   stripPrefix = 0;
-  sha512.run = "2899747c31f18a48315be99aa25646d66fc4f20842b69f412bd87456863f14f0fe1c34e6d73518b58f49d8045d7e23005d15d93ff128d05b4b788b381dc4a951";
-  sha512.doc = "69768b386e076a6c6b73f69afba04c16b7bb4754b5f8fd4627f4f97617b658bf4df902c340801b92d713574e970374d36b787eb7f5871df3b0644817080068bd";
-  sha512.source = "7766860c71ee6c831163a22a1c51676eaa7f3725a6c8856fd97da7a8750f78f9fde98c8c98c3f8258e21dee479d92d9c846750f6071d4113191e303a020a573a";
+  sha512.run = "72e1de3a851aa2f23bdc34d4f85674ae6479affda0f6f1e9e1b500b202fd9cef823a04d12a7ef2f9fc195f867c7344f88f6990b97cb95e53d9fcf5f32d8568b2";
+  sha512.doc = "8a5a23ad316171ba1f00abbf905eb767676de2777f49c33692087356462067fc9be82e50b26dfdd7492e75d9b4bf444368dc98205a294903902f7a2f5c96a90d";
+  sha512.source = "afeb5b72d5064418d0e2c87bc13516267be905d10949b42660cf8d5a589287209162e41c52b9214492bc4678886fe6b4ce79e5a2da3924609ae5aa2ffdbd93d6";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.0";
 };
 "poetrytex" = {
   stripPrefix = 0;
-  sha512.run = "dcfadbf6d9effc05dea645bd50b65260b0d1740c248697267c45361ed1b5e8523d950eb475749d90762ed45f160047d1de69df167298493eefebbb9ef879cb86";
-  sha512.doc = "080681ff9704ac024d06c054ac4a9dfb1ce146bb26a876c3d8d993e025d8f6dd7aef8d6838077894fe5d3cdba342d895ebc00091a3e1360c343a92d9b446644b";
-  sha512.source = "ccfe6a93b0110dd8787c61dc6b33ad3877b116d1f71b4fb0e828c8cf153fe26b5f8b145b5b553f281aac253707d13fcd7aa6a724373bc5f63f0e9ed030a3eb85";
+  sha512.run = "9de77dc676f78ce6e18ae62f621126ffc2d78ceb9cb5612f8c129f0c0d123043c554a8996a68d2bf6c730a157f5cdda4101f8446e0e773671258ffb55d6fe93d";
+  sha512.doc = "e9bc2551a92df86e5b76448b2de7af423b8f96ea6a62b1e243f76588478172a7ffe035ed904fb8eb3c5be031e1451c997a68de3187933c3a7273510710577f25";
+  sha512.source = "4dbeac34f7a74a3a3610f8fa3d3b614ba9ed95384863d2edc40c4685bf7d514803a6d50ff8f27459a7ed993de97f835663ee84247fb0942ba9ff43779e2faeb4";
   hasRunfiles = true;
   version = "3.0.1";
 };
+"poiretone" = {
+  stripPrefix = 0;
+  sha512.run = "b270f09c59711712e27b3a0a73ca6109fd0e2580184fc5df02fe55140eb7db7b4e72e190309d12486d49593053ec50048c89c6203512cb451baf5aa2caa77c7e";
+  sha512.doc = "c9bb0616d8ce72c114178b4e0ca26bebcfb797af701555d53b3a1bceefd556eee2bf91fcde891b9b2a7b8650bccc9fd559b8630904e678adb4d2caa912da003d";
+  hasRunfiles = true;
+};
 "polexpr" = {
   stripPrefix = 0;
-  sha512.run = "cddee931089672025bc28ec79b2d3919bbed0f5c707d0142022b3e0a774a741a4a9bd2198abcb7da6e8a0cd410f5bdaa041d2b6ff05bfaeb9dceeb508e8a76d3";
-  sha512.doc = "c4a4ee72ec76481ad990280c86d68ff15a0e3dca4ad9893594be41f3967b1b5d5278e4850e3e2417029c1992701fbb1732e1e6fd3db8a83183aff763078415d3";
+  sha512.run = "93cbffd695c765a14cbec16010d3804a1733377628b5b552cb0b110b629d415a07e993e73ce0ba4ed7df217d16a6eb3c0f3a00616d11b10d003a0cd8239467dd";
+  sha512.doc = "1d8f3bb80a538411abc72a30657f1f32b60164c807579ef4b346484f12d8797dcb4ad90472c872bdeeb450b44e32d08bcb06dca5334f4b54c528794b94be4376";
   hasRunfiles = true;
   version = "0.7.4";
 };
@@ -21388,16 +21912,16 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."pl" = tl."pl";
   deps."hyphen-polish" = tl."hyphen-polish";
-  sha512.run = "dff00e12389d30a68e43289ed928212609e5f94d1f3529556bc891b6ddcf0d0c41d0ab8b320b6340575a568787e29d5c48e93319a7aa85612a8d84ab059888f0";
-  sha512.doc = "aeafd5e2f737d683dd5e2847bf755a8f1c7979a485952cfd06aaa7a01edcd4856e17cebb4726c874be4100f6d3a7bc0cf174013832f923df3bd3a045ba779a91";
-  sha512.source = "68dc18c14ba9b397480d540732b5f7c5a200ba8588580830d63af210a5ec1a42cb4ab51a980005a4985078cd3a9c7972f0237dc1985d27ee493217d53520fe36";
+  sha512.run = "8d4c05dae9e5cf8ab36bdba5be8b0748d5d283a6a77c7fa18821ab3a20fe5935f302a8ce9b1a1314ef128a20c1011018ba7bd04d34466d017e16fd9bd087e108";
+  sha512.doc = "a619719518e3d9814907d33756c4a3f2494c3a94b0a717e6f848e31177622bad6ba2cf595a23ff2efb65ea04b70b267aa87cd87caa56c91bab7b36bef82cd2dd";
+  sha512.source = "fe630f5992e79ad211ac4537cb1fc8b40154c2b43f34fb15594e662909077eb0a58f2be41aa05ad647a45d2d00c8af82ecce2afc5eec46c941d1060f2728a4be";
   hasRunfiles = true;
   version = "1.3.4";
 };
 "poltawski" = {
   stripPrefix = 0;
-  sha512.run = "4a52ab208c714d4e276a6a6e8129c1495c68e457f9b04945f1d46cb6ada21ad212fadfb1af0df0fe00d00e9b6b6130684b9d85338f22d77fe4d761655d096504";
-  sha512.doc = "bf14d55e9d636c63f3d25f5ee44e11067d79c02a4d3a58dddb5bb30e6539e33f9c5c24c25fb5460d8fbdd6f5ecbaf6a805863fe651ac79811b1f951a0c845ff6";
+  sha512.run = "bbdf230da2f81b48951eb90016745d68b73890f8c34ed2d336212ba33c7662a5bee1ba005d6e44c4370c81d22928e1013fb39e45db2de16fd05543310bb07d17";
+  sha512.doc = "1ebe7bbd99a3316b6c4fd702770c6f14a32de653909099a86433bd847a63b2eb231cba4f74dfaf1155c54a9393ae1bdf25710fdfc25199d09b75a265392ba51b";
   hasRunfiles = true;
   version = "1.101";
 };
@@ -21408,1111 +21932,1146 @@ tl: { # no indentation
   deps."ifluatex" = tl."ifluatex";
   deps."makecmds" = tl."makecmds";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "3f1dd6edb94323727be205c8ca8f664729ea828407df893906659d9a63135ec851f207bbf81acf3e0040002b9240b5902dc16e1bf81f5e5b5d0e4f7d079bd30c";
-  sha512.doc = "068ff54633cf31fce29f3e9a07968755daa1159e3836b22a6f1db3f3cbc17f4c168560db6e2c09a9d4b9e278835efd0b8153bfc0702bbce594165abbd64216a7";
-  sha512.source = "1804ea7050f9d57e37db7ce713fb28fe800f9953bf0582dd5a5bde4d416fc842cc3e8495c0fe21a5414e3daa8f8625a594c0d11d950b3896d0e982d546c758f4";
+  sha512.run = "2ccb7747c5c0becc77181c75bad4c035dd3a3a2f5a5d8cce03874c99b82d2594e2a80bd6d7799f3882b988705eb61ecbae4e8eccd9c415ccf4af6ff0e2e581a4";
+  sha512.doc = "21e73e878cc9bad95e3d7d842e89fb610bf2076e9f68a5b8f693a7112c30172dac72b75728cd079443118f598d4d775d96ead8953d0d765d5527d678750188b0";
+  sha512.source = "923333748435523d21f20351f4bbb46dd0a35a9abe1fe1db8faa09c53f7d7b9210627b2e7ead2b822815813f2569594c0652f672f1248f931b05814b86437188";
   hasRunfiles = true;
-  version = "1.43";
+  version = "1.44";
 };
 "polynom" = {
   stripPrefix = 0;
-  sha512.run = "d07713955f7b5b4602d5616ddc95fb6270b0755a9537387866014664e295583dc4b456869fd2c90d1ddbfee4251223fd708b53d9f38ba6791fa70620bef2551e";
-  sha512.doc = "847c5ddb883e8092870b022b76f41a7a75e50ea15b2d878ad2925cc7fb0a50408c7dbfbb6b765ee7d3cbe5b110b33e5719b201c5bdf72993738bafcd0af7c85b";
-  sha512.source = "aac2f7436ccd629ea2608424e82dd1a03e44129c5b993e6ef26cf026ec9795fefde717a0fb5ea6a1698b67f6b4b8641b4a79195d7722add9349ac4409fb0da77";
+  sha512.run = "bbff103f5828757f9c58c768ba46dcd9197629273b12d997e80e299dc1cf6a34e851fa4ebe088d131781eb6efc1fbd39cab602ba23b791c68fdb0e12f69440aa";
+  sha512.doc = "b0fdee90082414d88469ba5067f1c16279ddfc8c13627098bb3c2adfaded3c355cbb161193160fc5b9682d45a10216c56fe2613855528f9f4965479c681e6355";
+  sha512.source = "cf9dc9f13290bfd84e2956630eed115a132bcedfd34e6da076b2fa0fd4840fc5fabaf995b44f2a8f3c3d9ba9de851683a306271b272a83331a92fac367d82a57";
   hasRunfiles = true;
   version = "0.19";
 };
 "polynomial" = {
   stripPrefix = 0;
-  sha512.run = "653ac7cdfea2412499706a2556906508a0e6d26ca431516e8ecba67f5f3396d7b15bf8313f135e2f73f5de3f8c54be632e87823f60ed7e04de3abb25b525356b";
-  sha512.doc = "77b7816bf8d5974ef0b6ab3d9bef30ffc958771b0c3197f602f8b1de48d6dc76907f67c59150ca5b724dcc5ef7f650982562beb57d165f2000f4d4fdb53af545";
-  sha512.source = "10025ae5cbaf4a9b767c96323b64d44a5067b0c23a36b79da647faf5c4d8b8510e1c953eec18d33cddba4740c4e96e31293b292dc94ab1116135471458fdc579";
+  sha512.run = "46324509f078d9e83f4d94893454061636fd1148d5a2e9b59af640f617d82ba1d7397c7f7bb68ac99a83945354c875d3f29853e5ba38da59a2812f5f45ccacb1";
+  sha512.doc = "b570f3abf21a480e0bce2c08e44d97b488e9a0758d712cfde3ccbc45348eb95486c121662e296049220dd2802edb387651e839c2a819058111a2839049fc5964";
+  sha512.source = "db4c1d698b2a096ce6c848922beb747f70a874914d4ad1a468080c55ac0afbd89330c0665006f787c32c6c444ab601c64e7173ce9a5bd9241c1ba71582c0ea0f";
   hasRunfiles = true;
   version = "1.0";
 };
 "polytable" = {
   stripPrefix = 0;
-  sha512.run = "fd1291468c06109503436664173a4372e7f1c2a581f68066e9756c1ac9d6f671dafb3983eae4ae42658a63d6c5261fc554514d8c0db5cce50d1c4aeef8247cc8";
-  sha512.doc = "b2a05c14c3f55689500ccce9b1e8d254cbae25e20a362c863566a6987f7a954b88b57ba6701cbd76300d84cd581935153182ae31a0ca345f26c047a99f9e1b49";
-  sha512.source = "0ea0fea2f609d08f57246bdbc26ca4df0a67242d2c1ed05db9018b242fed30a0f375adc87f44d4cb3c38a011508869116de4d175c496a51ff87be0a40e236ca5";
+  sha512.run = "a83f8df3e09fd112a6f83a48f803847cbe112f2d18db803226e04efb6fabca1a8e5cd03d2ad1a3a30eb07d3590701b71b24f03b1e38d49f41493ddfc67576dbf";
+  sha512.doc = "7e53e2956145c29d7b9775ad8fd757b5dec4d2651683f0a48507094b86a5b6d42f1b659ffc72cacfc0cd528a6baad03cc19aabd8c0d1afdf57bcf365a5fca1ce";
+  sha512.source = "673f5f8cb4840074c2d33de2e53134a6e8288af411b6e61c1268dc11f5051c6cb65b8746fc2e2e959dd5ae2d3bc36a58770217c159c611ead0019c84918a03bf";
   hasRunfiles = true;
   version = "0.8.2";
 };
 "poormanlog" = {
   stripPrefix = 0;
-  sha512.run = "21a584716873f5171306c91b2f9c982c74858291b85d7645c37962973e96452d4976c55193300d1ccf66031c4f8c9434eb17815232872da6bd00a5fedc9acd28";
-  sha512.doc = "5048b64247bbf086c81ccabf1b84fb54df7f8b743e59254ecd37b9e4962f67d318a0a6368ff47ed3c3365bd2260a3b13dba33ca0875037606fd30917a78c0dbc";
+  sha512.run = "39524ae2c1cfec8aeb09afa4c195dc2d4cd9445483dac4a99a6669e66fd0b236b99831b9212931930b7f821891f421fa85c363015996c2b5be35be8a82ff993a";
+  sha512.doc = "3d624c5f870f4fdd8fd3df91ca6f80471223f00ce7407eaae6d0e98ba2da26f497bc149cc1beeedf5afbd0353e3f7fc9667ba3e4336262d3e7a9877981866a20";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "postage" = {
   stripPrefix = 0;
-  sha512.run = "45b6a61eadc67bae26ffd26de8536f4461c71c4c5ca07c1f00949e6a689f2e40a88dd6670cb1691155df9eddb66e9a5ca78941a8533368437d678269a032d432";
-  sha512.doc = "04db9507f7bd413b260df785cfca4f5fc75916ad8b39ebd51a2b31351388deae4cd24ef97b1d14575a65436b82f138cf7023e742c08083d589852e5082c34c49";
-  sha512.source = "20c9169c42a81ad0118b2aa0e3dbfdda07bfee854429063aab29ab461c302c3b991f70591f72f2c7a10b7db37e3af1b43e64b605ac195e81ed8f71c35ced0844";
+  sha512.run = "97315373848a24fb0c49e184cb5e4980e6c124d60bd9141f7ecb5ecea9e81097e4005ee29fc45d828a206ccf8a23a936bbc27cbc59fcc7b6dc4b75cbe4f9105d";
+  sha512.doc = "102b88d87ba4b371b16e1d1362f1ca42fb9feaab3f1df4d56176d353e90d68bbac535522e7acbd741be78f64624223a55a6f3802e8a190814ff9a71abefdb2bd";
+  sha512.source = "390567f792284e372089e8c8141daf42d44eda52a14118c60ef23911e405dbc7481453cadc1de9c097056f181909004a7a489c0040dd733d8c036bfa2022b3ce";
   hasRunfiles = true;
   version = "1.0";
 };
 "postcards" = {
   stripPrefix = 0;
-  sha512.run = "9bd942b43e0c6c22d8a5f9ba080e95388f5b062e4aff85ecc4545aad9cb9a66068161915841f185f5c48ef391a09181a3ecbde5254d30cb37464501de9ae8c09";
-  sha512.doc = "3322dc7f5111ab1d6bb3ddd2fa4e6ef3161be32d0cd7285dbe375db5624f15e62ed27a9d7791171549470a6e34bf29808ce569e9ab86e7bc244b3f8d16c8399f";
+  sha512.run = "0e358697b47ee74afb9fb6bd339ea4a76457c78a76a37de6039ac44cd9ce1fc28a3866c42d988ccebf025d0e08c4c092a2b647cce4841662242f740f12297338";
+  sha512.doc = "936c1f923bea76aa323d2c8ce9949cea3364eeb1a145e735ff5bdf609de4c54cc78125392e9e3cc914180815bb9dd5bae63e50c0000b2143fe7de94c199bc50e";
   hasRunfiles = true;
 };
 "poster-mac" = {
   stripPrefix = 0;
-  sha512.run = "12c8401999860083fef5bf571917938afae6217e24550c8547ac73859f53e07906851f578482c99d54344110408b18741d3304a2c9af779b300bebf6d3f1c115";
-  sha512.doc = "6fa16888d98ff48907724aa41d147491139cc02bde63416fddac149183c34b21f94fb51561c308df0cf545630968500da131cacc58411c8632ecc761fd730911";
+  sha512.run = "f685c2c6d7d2795cf80702c0f8b4da6661a6d076dfbefeeeb071f21ffebd4420c7777681e550ed8ce05726a4392f526da42cecd6e3f26b5dc8ba775494589297";
+  sha512.doc = "d06f06a4432638ce7780923818cbe638edbb21f836566fb984353aff0bbfbe0905adfa39cc69fc59c87c9e6f7f2c3c268b7f2ef9a55a0f0a2bf0b5212d9e2124";
   hasRunfiles = true;
   version = "1.1";
 };
 "powerdot" = {
   stripPrefix = 0;
-  sha512.run = "b6b77008d9800f96b4187da8ddd2a2bd55307fc2549d7a53ca4bc8999a2b9ecc26321490890302b618f7f1ec8536ab96aa88955d9c9e888d4f38601374760c5f";
-  sha512.doc = "e02df77a2ecd36ca0359c1d480357fea3e385c2fe69f922466edf47f309952748f5813578e36e972c521445ee94a49ff97ab699d4a374ce3fcb5b8ba2942604d";
-  sha512.source = "04a24fd806b382b3b9f6a38855b715ed8676871917c8d383483cc05ba1f335a2280eff12ae69f5825edceb02c8563b77ccf83616d4725f1798faf6361ad8ba7b";
+  sha512.run = "20888eecfbf1e390ff32e7cea503c1c9bcb5910044fc4f41238b63039b56da82993fb38c4f24fbcc43c8a4b451b59e1010fb81bca048d5ded1cd6455f7568bc2";
+  sha512.doc = "ba3051425104a49dc2d553d93220b569dfdf548090a90348ddc0286a36cb9f00e7956c617a133a0ef69bcf69cb5325b4f12007f6ce56868b6336d422183777a4";
+  sha512.source = "573248dc8e8e0a248c652baa3a57ca411302b40005a4e095d594f01cfc3a51789ae3a0c90b48d125f863e09a7672020a4fc7e51e45a1a75d8434c30fa41979c2";
   hasRunfiles = true;
   version = "1.5c";
 };
 "powerdot-FUBerlin" = {
   stripPrefix = 0;
-  sha512.run = "c38415f65f1157a9e2aa7059117ef50b1acb8e130e4ddb3d7dd24f54deaa8575524ed2d5c18c0157ec4271d8fe9da04bdd0293f5b0761c395e79df12abb4c190";
-  sha512.doc = "730a3061a8e4d12af40cd9ae143a511982ef6ad079194934ac9e9c751113319ba099e4f6421be1c4118c6f31cc71b5fd95c55d2fb17c2b8271da22fe30822912";
+  sha512.run = "607e182a393baf3701b944459e9cdd59451c402722226aff8f09e89702e46723be269b21b3eff35c8f71adc4624b00f083bd4aa0ebde66d49a32bf7de1eeaa48";
+  sha512.doc = "d822434b9e03f500779ad0b035100d01cbb197a68e931d17871bbe00ef3defbe594796be28c375502129424ef1309eb49e5f9f6cf1fa5ba8b4b8719a2825a011";
   hasRunfiles = true;
   version = "0.01";
 };
 "powerdot-tuliplab" = {
   stripPrefix = 0;
-  sha512.run = "82edf9a39917fa90786ce9e2b22b19a6857b447e670f991059f75afb9ecd745455f0db81f019c5d24fe23be9ae8f3954b732210fa25240fcf309ffb6a53e9bcd";
-  sha512.doc = "39af648e2baa3a88040a2fd297f63a14e61753422b46ddb2520af6d0cbdbb926ddc7162d05ad95c3132d322b472b2e45d279a9d7c5a282439e458fbfca2999ef";
+  sha512.run = "91a8008d0675ea36676682d741ffad1e2f842ae37b47da628bade8391b2c775d7a756d31d5169e087ca0c4c0b0e958a2bb34d5143f905439e9572a6e72c4dbf2";
+  sha512.doc = "5805d79f125ad94bc0818f52d31e14d786f4f032e03a89a0ec8ae69433d56654b6acc864563e3273664576a59880bf86de81756f76cf9b920a21ca8331ce117c";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "ppr-prv" = {
   stripPrefix = 0;
-  sha512.run = "a80d160493a0cd52bc8613980c275d35ea18c01b3cdf7ac08d39403cf1b09c0d167f76de79325499b19709f3b6c4674a8a1fd6c2ffc58995fef00b704ffce7c6";
-  sha512.doc = "8cb08bf776ba207c23dc1a8f670a1799d1301acfb9298ee8eb066cff8a3575fbd11b913922f8135d78560e5762cad04990279ebb38b25ffc693de82540f9a85a";
-  sha512.source = "6507fdac525b8c70a44497e9312acf7b41d8760ea37e4b1c6fc3ec14f7e1f54bb6536c10f386b54b8aa0d09a16ba20b24f097eb50def59f6e53441cf30c48da7";
+  sha512.run = "4bbd2404d9cb4bee9de81d463a6f4966e28409b07aa744e155f398f07e513dac4ad262fb3ac81717dafc9dd9abaed2789c08d0cbf0ce29137739886b2ad1dc74";
+  sha512.doc = "b8228988551d32a5d5b3ddfc59dde6af1f48aece8f5c0f8889fbe479db6c962d77b687fb5593079796393a255350dfc90965fac07e241d4f0a48027927065e67";
+  sha512.source = "cccb93596677625d323b0ceb6743fab15c4300f3baf09846054aae249608f61ab2a0a5bcfd9a7baa2b3a9ec86b2fb90aaee284608bb908229a918436c9acd772";
   hasRunfiles = true;
   version = "0.13c";
 };
 "pracjourn" = {
   stripPrefix = 0;
-  sha512.run = "5061643b8c882e470be43072320f452a29be68ce4317bd899a403890a7d7e54d6bc73b305d50a707b326bf97512b200d023b0678d319ea4975665b85f37b26a9";
-  sha512.doc = "403b5d66d6ae91a6b94662b14a3dee192df880afb8f9534b92939d673c8edde2852ab9454dad1c00e56c17bfa6180b7fab0d9ba0e0664360f5b9d5322e44ea87";
-  sha512.source = "d3ec2231ccbe0a261e96605fc615b17e6f858a85af3bcdb3c4981942f8f48965fc3ea58b806491306890836c87b3036cde5bf48a9be6bda507bbfd2fc2cd3894";
+  sha512.run = "40e7ea03f0b244810952cf93cdc7799e0e130a7b11d384893b88e420ce6adb4b5606462ab6f2dbb2e134770eaf32540b9feb59393dea72a70f4d881f6f6fa43b";
+  sha512.doc = "8e9b171919bd6412a3adb75abf1124beaf0fd562cca49076c1729814c7907b5b3f9b240fdb68d91055225e9b366749c2be6a2e421f52142d0a138e377a442046";
+  sha512.source = "a0f40eb8b245c3f6ca2c6e84f4b13d80b2c9d5f67a70c74fc14928fb3b4eba3659bdcca9852d0bcce18088f707955e8f0ef77e71879bd720c9dd8d59ef9713ce";
   hasRunfiles = true;
   version = "0.4n";
 };
+"practicalreports" = {
+  stripPrefix = 0;
+  sha512.run = "71b180b863f5405c145fde98bcae5942ed186de52654dabda4ef1a859ea292e6c2e6f1a29fa4c4320f2f9a442699844d4268fddf0200281c0f1a7477b49d9f5b";
+  sha512.doc = "48159a00f0c64c6a05e56d9c01b1e7c1fcc8342df3f762775c33377d45b0621e0e933db3097a5d489ddefeed1e0c155893e99ebf98c98fdd11df9b33e05e113c";
+  hasRunfiles = true;
+  version = "2.0.3";
+};
 "preprint" = {
   stripPrefix = 0;
-  sha512.run = "88d6c3d1ed37351a766b5c9fc75f0be5d1cdad17003fc91a1dfb82248b990c1976f97dcfa118acfec7d18fe3024f3b842468f5dc7062ed1262ee83b616a55404";
-  sha512.doc = "b4eb4af6c1f256e3d83ca7b094c5ff45958d681a2279eca71f8f059b16ad18285bf2bb8f6db5f37f73154493ae4e859aac670b00f46dc7768519db1d9ed0d4a7";
-  sha512.source = "54a27ffca2afb7d325ff0f88e8a8b6b18dba6fc811d204ff8b50f3943c0be4fd753d3ee10595e42a2d022763b4a622c3d58ff91b7f6fea528dd44eebb38e92cc";
+  sha512.run = "66ef40f1f9bc1ef3348923e781ad92dd0174b9c45e16c97662f30971a449dd74580391e1f23fed031a41995e65ff90a6785328de0372cea53e3ce946da469d60";
+  sha512.doc = "b5e5fa40832249c5a0faa24c26e8b3a2a73036ef007dd3a61adb6a7989926c80e018fba52a66078c3d7b39e76901cc041ebcb9985ff29b53ade2c057abaf1376";
+  sha512.source = "a7fe23d21dfee4071285ac0ca77a0b8936e8c149b804e9fc19e42cb5fa5eeac23ef3ed59e0433a965ec6203a1b031d2a76975248e624a6452e8fe6ea016be1c9";
   hasRunfiles = true;
   version = "2011";
 };
 "prerex" = {
   stripPrefix = 0;
-  sha512.run = "274e5a291ed5623357b53bd414c96cfaf5863b19d17eb5ebf3752079eae917ac0c9833e480b07993b871315afb009f8971e24576d63a1f0d01707fcd20eace43";
-  sha512.doc = "edc266fb3ebd1747063d0efd90782356f8e9c9b968c93b8afa72e4a54bc2978d520b4d9eeaa72096cd27501302f946a07566a0663fa4fdb6be1968f29ce4e43a";
+  sha512.run = "1df2081c0f10d4514ff324d83fe9949b6cdb9cbfb209b06e5fdbd8ad90991cdccb02143add807b971065b63c1cb865815ac620db6a4df0600bea22e6d57fb734";
+  sha512.doc = "d94e663d94b9b05acf7ff38285dfa3927764d286fe6f8a386f33d8055a5a5b58ad09f61578009b6b93c3aed684c7492b1407a626113f8eb4f8d0171cc1f45930";
   hasRunfiles = true;
   version = "a";
 };
 "present" = {
   stripPrefix = 0;
-  sha512.run = "4e24953d9c2f063f83604dc8a7e4bb00d83127ff6d2a53498cddf97e545c6e9e4665fcf995950e40ec7ec93e4eba403c5d3db06772d0dac86bc698c88b7d3efb";
-  sha512.doc = "70a3b295510dafe99f84375b10f023e3c67e0e1fbfd89968f177024bfd6854fec11e1d1de57b1d69ce466bef6dab0c0e071a1a6cb4385b7410fabf887e802132";
+  sha512.run = "b22c0bb6803ebed5cd26aca4a9b55f2c7b506cc7e8910346a07437d60007310a3d2e3549040ffb2616df7f173279342f2334100aab14b589d0cc9e710ea89369";
+  sha512.doc = "e43a5de9c4bcf9281416963a898e350ba0a0b2d1cad92cbc97d99e2ee9d25f8407a09f024ec5d03a43fd3eee58e1c40bf99ebfff13913bbf85465588b4cf9710";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "presentations" = {
   stripPrefix = 0;
-  sha512.run = "ebd8bdc79a5514fabc270929f40d1b24e1d29c1b117aff4e841ea919bb88b1864944aa75f0cf0cd51d2bd57547a8be8ed4d00ebe5ff6afa2468dabcce82787a6";
-  sha512.doc = "25ea07f2f0373d0acc997d10bd375dddf52b8a53874932839322f988a7b176be35750e203bf120b94c2bb4e030d936cad963eeb85003cd6b94364833d0969dcd";
+  sha512.run = "b93bd6875538fb61fbbc737625da2d89fd7cef0f6b59999f78176f953d6eeecc2d44cc242bc89f85e293265b26a36eda55ab3fe6804a8e8cee2144694eb1a2fc";
+  sha512.doc = "7767c2b3fdb77078729f25ceec85906722d6e2abb6ea45fe9e03e7c0653edffdf1326a055175f309d3afa1f1a30f64c708cf0c6c2c273accf777abec088336fc";
 };
 "presentations-en" = {
   stripPrefix = 0;
-  sha512.run = "c848d4f9b7fe47072711912db45848cce8c46ed80e2e2b079f10083a874d53ce29508320baf536588c16396d47a2b85035d586da845d8d6d59a82d73b2f57b28";
-  sha512.doc = "d843eb2d3f858f9083fcd40c2192bcec66e7ac9e8df06d17d027c4dfd095c263ff98081c0c11cce1c750f553878bd1cd215a2862309d85eb50abcba0d3e138df";
+  sha512.run = "47c4c3e2b1dea3473daf00f1577a2cdbfff2a3a64d5f39507a9486fd2e77dbcd8ea1e3bdf4069aeee620a62047b1890eecd588b50bad2f1c33b739f7721b205b";
+  sha512.doc = "f9d3b24aabc47cfaa0487d683708fed12489e1aca7e7107ba9bf058864f0dc5967fc7a84eab59888567bd47b06ce96a75dd50a132e6e929d206e30c30585d346";
 };
 "pressrelease" = {
   stripPrefix = 0;
-  sha512.run = "0020913ae0ba3d9b4198788cf6804585248724d3151a7c807900b7e3867c5f91d615478f5e93e45f6c2819de67743b1fbef3fc9d42d51c4c149d9c0a7830137a";
-  sha512.doc = "bad421819d5a157092804a63098069941123fc9c4da644809b6f6ebbe2e37fd2836482b90d587473fe445a2326a00ee59acc15bbdd92bf76f3cc600c9392a3eb";
-  sha512.source = "daf5b5e17e9594f03b60f5e8154a7928a06a2f8de7a0062393ff0ff3c754bfa70632341ae9a97532ea2a93f098682147367647da4b943e0eb531fb6cc5e9132a";
+  sha512.run = "0f983d4f836c03ede4ed6bd8c2c41dc69ad75a28d9006ff7ab534c6e483e84e2151bfd93fefa43ca327fbeec14787b43205457a9cf1e733f8a4c3a7c561498fc";
+  sha512.doc = "f107b506ba50ba8ed1b655f13049210ec4b90620348ac708afbba4d992470dd5aa8eabe84e2c0b926a55afce49e0a2cee28ecb3877550fe81099f7e5b40e9f40";
+  sha512.source = "57e94723413ce6fbb1405dacce4af0ab9f7b5e5fc9d091fcf3054fe9505cfda885ebf00b3242ad341325d982d223438e1a2b6cd1f9286cbf5621feb5ae9b1a2f";
   hasRunfiles = true;
   version = "1.0";
 };
 "prettyref" = {
   stripPrefix = 0;
-  sha512.run = "ccc12f37ed459fe134b53ca243f4a565af8170c5e1257850a80be2508ee5dc6e1a2150a9b6d3afbe5fc3701edf58fa66e7ec9859e391df73af3119c8d703beca";
-  sha512.doc = "953fd3948c394b2427706ba94bde64ceadaaf6b4d3d8c88049819b6ae83d165410d2880de00b7ff449bc41dc517a7465b2758a29414fb7c8897c1a36a9f923c0";
-  sha512.source = "1daa21d67b00f996f06601724f2a489e2ecec4d014a5d761e7c75c0cd3674bf37c10549ca7003a567adb7eace85d16edf2a942a4fe723eada592a55ee909a76d";
+  sha512.run = "06e3ee942b9a30ff866abf8f6a46b6960321c0aaf2516ce48f587a55ffcb66f158887cbb9a476bc6323e90edd22766fec19d0cfcc2be8805eedd175fdf08ef42";
+  sha512.doc = "abcd8cb7e7ab78511d953d95699060581844dda67b3489317057782d97388f7cba990735b395e9563e15fd1fee137a86e8198d2d545f437a2d105bfd3e95bc12";
+  sha512.source = "d4793c0cec0e56a74d05c08547b68a83e5af33464b3c29a50189696c4d000ffff370422192a289a734e42cb4ef6bf2b95866523f3d6257961608e95f13dfb87e";
   hasRunfiles = true;
   version = "3.0";
 };
 "preview" = {
   stripPrefix = 0;
-  sha512.run = "038eb9bf96b81158a0b25eaa8e6a4451c5d7c33dfacf7cfa0359caf4989df730220ba703f260cbbaef255d051d6baf20acee411dbc106dd3a082744a02d0b0d6";
-  sha512.doc = "e65e61f36bd4c008f8dc383f70b1112061426ba1edd112f4953ba0a63a4012b4328510c8e35a00a38ad62552ebf18b39239233b86ff49b22f58a48bf753f4ba3";
-  sha512.source = "358ce920b6d885840590ed289723c6b920fafb3d3d14b0509d43d2026d6d8708d7dc22f1475b922b78513646b016adc63f36a279cb5d513184794118d9b1978a";
+  sha512.run = "3884a0b8c8f09d046c7f39df28b7dcce43a95820636f39f628b499b2d06ab44eef647f74c6eaaf23692ff48d3bf5580ba97daa1e2021985c7d0f05f7206782f2";
+  sha512.doc = "d1d78634eb2289292948197bf3399b6afd2ccf5d59abe47ba489e11c0ca911c9820e7e06e9b84920ee0c323e83b32c0be53bfc8d09261ffc45ee728642e640b9";
+  sha512.source = "169f2fa0b59d1312a3cb42268612194455568cb8429b0c03b658a106dc0968fedd88f9ffe82fa984a02950640f1d0c6cba20e51674e747a3699488034dd7e0d1";
   hasRunfiles = true;
   version = "11.91";
 };
 "prftree" = {
   stripPrefix = 0;
-  sha512.run = "9fdd1591b2d1ab0ad4702f5d2217ad51096e7c95f660d56a02c04882aab8b0a864cd0c2dbea9fab0f50258f705b286a71e0430a9436c348e1bff0e2dd6d42a7b";
-  sha512.doc = "86df839834280a9f526b2ac45482e9d194447d523819e6f6349b94ea38f78e1533107a8b106ae216660d766d6463c863b646dae3541fefe697aa569f2a09b13b";
+  sha512.run = "c0e5f5134606c514b13e5fc3bc58a583f13ce844bc1e8fbbac7aa09d8a59652c50edaa986c5004619219fe4c72cb963fd89dff5119b3eb0f02fa74cdc1ad1374";
+  sha512.doc = "d81403af762fc0d3ee9d7b53f9f0400dba5a50f8bd2feab92186db85c18011aa3170b9173530cea5e6e2aa7bd2f475e3b3016e5ab79e990c6abca3d5239fb6b0";
   hasRunfiles = true;
   version = "1.5";
 };
 "printlen" = {
   stripPrefix = 0;
-  sha512.run = "56abf08156ae04c1ef527faaf2d5cd7713b4979bea39dbb8b607b9ec05c18fc8897c26f0816dd492c413e1d72aa1718088dee66e14e3db311c43ac91d6aa306d";
-  sha512.doc = "66dea77153addbd834bc1220b76b96e82a40f4abde9962235b09a022b96c3e5cdc9c4ef72c387c1cff4a32408d95df7488600630c917c4091de57326f4d2c175";
+  sha512.run = "bbb48c169f31a1f93024195056c323ce67afa1fcc00f309ef1b820dd40e0b86ca98d05f6cd4af66379682813a3807f24295a803fdc91d8b9f19972e1520d5eaf";
+  sha512.doc = "25d00eec6c6bd069675cf7d980886b12444e41d18a83ed8e650923d839da8dca21dff65b110105458767b95c50b52a0143b2f7d88b6567ab3aa9953f4ec32a88";
   hasRunfiles = true;
   version = "1.1a";
 };
 "proba" = {
   stripPrefix = 0;
-  sha512.run = "882095ab9e4ff706ce70b16bba633863042711ea03db2febcf4c471d88bec9723bff5931b093ae5c76f4a58f0e4bdedbcd3b372bb2b5f90142b37a9eb8284c9f";
-  sha512.doc = "b2a09ca0012c3ff9ffbfa0add8761c021478cb090d11be27ecdd1e8cfe311cf5681140bbf0d76d57ee5519faa08f350ec132713fa7332f04bfa88d0669a8ae9d";
-  sha512.source = "db46940f6a419abeb721fa94d462db21c2b14c4e83a40a0991701b3975b165bd46a88822d72eb5c7c79e0df3024fb3f779c2a314bbbabc0d05b497031b6d5a8d";
+  sha512.run = "33ef76474e7183c32b5f982347ed414ae7616484ff5a5d8564574220d3757688a3a47aad000c5b0a66a39dbbef20c789dd1445d872b025c274585248176c86e7";
+  sha512.doc = "960887501b74d2c5e8a00c09464ff17dc9c733dd663fb35c32b34bd8b79b2a813536b6c0f9c5df4340dbd3adf1f30f569aac678e90d5f328e1c33130767fdf21";
+  sha512.source = "d1305e797d8884f264a20df021b6b0619cee1df1aba8943f5533c2cd839e093420e43ebd1aa46282457a650569a883f4f11a9319f6b6612dbec5b99d29f37087";
   hasRunfiles = true;
 };
 "probsoln" = {
   stripPrefix = 0;
-  sha512.run = "1f9abb8cb5154d127c149ac142b8c8b50f9f8c087db9dae33c7406daa69ec8e4de065781d81b3c6d30e7e0209c58bcfb754acd20e3194211736474e98de60546";
-  sha512.doc = "ead68e1e551d79c3d29f7941277a1fc5502721c90809643fe09f546c4372189b1007f1a157f9fa5a7887141d92c0a3126fc428b8bfb3e1acba29a106bbb1070b";
-  sha512.source = "e5dc5738c96068df0448f0c784f31d75a654f10c20c4980eb6e287c2f614f67955b9cae6a9bec83910a6212cf061df3400e476ede5df3b070548b92f45f564d2";
+  sha512.run = "f0c63a327569410af7eefa9f87fed56a6a2db78b05133c417afd245958a7f10dac965270fe00e7fe5de6ddfcc4a1cec446df819728e76ad347c7664fcfe849ec";
+  sha512.doc = "c79babc397260f03e2ad66556230966d1af97bbd5703c25cd09ff3aaad48b49d464672c501df047cf5226370b80588705c59212e75d0d1970337fd446d86e70e";
+  sha512.source = "53ce8efe56938c3e16da53bb1255d86b1ae9cc546cbf4983156c098ac07f1e7c16a998a7dc53fd445efa9f42a6b82889e50c188aa57a72aa9186177fbd744f5d";
   hasRunfiles = true;
   version = "3.05";
 };
 "procIAGssymp" = {
   stripPrefix = 0;
-  sha512.run = "d4808df6738a10f8b256104b5f699b90db06503f29d1594ec1a5a2b0531197ac8abb8e0e5231d8534a9d15b65136c1b2040513acb5b783142c0182a4e2aaf468";
-  sha512.doc = "da11845ab6998b20f46fb306ef8bee9f7bb4bbcf6f1ac893630ff8f9ef32de082d776453832c9e66c14a7b71fe72882f9a6003ac1cfbbd20ae81f9d60923855a";
+  sha512.run = "66bd3472ef8d8d26f2eee0368615fb0a326ebd64dca3a0afe9a236880eacfd723caf6f65cfd07ad2a6f5f3db9dea6da75f33de9d026a48a8304c096c60d7e458";
+  sha512.doc = "253adc51e38015c55af91bddc0b7ac6031d482d0cfa869cee556ca82464932a4922d0223a4a156e148dd89e369e2960156b411bb2601583d07a99790518c4823";
   hasRunfiles = true;
 };
 "prodint" = {
   stripPrefix = 0;
-  sha512.run = "02649833a5723497ac7f3c5a56df7e1c692051172815b64b4d1e92d8911389e0d339e987c7c524f7856dfe635f98090e82b3195ca9668f0f62cc1e31f444bddb";
-  sha512.doc = "b54990e30f5bcb3674bdec7b5e0fbdbf5b68335d35dd11fe3760000b84680e5f7977c46e3e165e46af7f98659c9431ce8de9764895d79d6772a450b092e4928a";
+  sha512.run = "ab2b0ababfad124b38b018c7313df0114c36fed0dbbaa42de04295b09142740ef43f34c4c6ad926c97c1ce28521c1d87274486588609197c2178b631b4ee6876";
+  sha512.doc = "addad035cb9e7b88d9da2bf161723db51897342872dd6c671695bb7bb0a6a4c7bac872ce40f31b22f5fdd84cc03994562a6f78f14d9203977d5b7c8d17130db8";
   hasRunfiles = true;
 };
 "productbox" = {
   stripPrefix = 0;
-  sha512.run = "c4765778df2c13a691af32a7fcce9e1268756aeb790c8de3545a29cb5ac660b1f73a0f8e92b6274da813036e26c6e834e3444899edd481fd04ee81eba1d7b13a";
-  sha512.doc = "18d949da3725aa060db34ee56c5d32616ea627d8ae7b9a78b29c69578153091ebb3fc1c213e39609f40d88475185ef2d62a3412e0680153b6d7daf4c8529a16e";
-  sha512.source = "6b978baa0444f4a4a5c6fd388ca4bc3c1e3c2c99c41ad7e0c2f1f939b8c5c9db6046d23ab3f863048af2a000487d79bda94c960f5a05cb81575d27f949a384ab";
+  sha512.run = "9b243f6558dd449ddb9d9190ea53a71ed5b28d25f5fddc64eddb194144aa688e8d8e946c53f115d40813d0933b77d5d2c78023f24a1887d8eeb70e6c1ad0bc1d";
+  sha512.doc = "73f8e1afbbfd9d4047120280e746ae1349225dfa84b98b288e23f477d2eb83310271610d6f4e40cdeb0d124788a97c1f8aaeb182a03cf2b1311e286f7299aa45";
+  sha512.source = "064e591694d0c7f6c9c981ef4038175cdb1fc9a120daaf954051dc05bb6b602bc7fdbf961a25d5cc490380028564316adf5714a151e4606aca31d1f4bca09a54";
   hasRunfiles = true;
   version = "1.1";
 };
 "program" = {
   stripPrefix = 0;
-  sha512.run = "5acc5fc93e4056782d45dc42c2253775313f0ba4649924af6677db4ac53058cebf91ec6c52474a57b98ddb6cca07c80eb1b9a1670d1b0bba10cf1500493dff3a";
-  sha512.doc = "e3d4e63d97c48091e5cb4f0b2b8784e379ce159e6358a70143dd64f6c82056a2cfa014bd00dad74db530261f01a3a1e7140dcdd104c7f9bf5990a9c6fa116aef";
+  sha512.run = "a9ef7d68ad86b42657681e2b798899b5c7c472c5e272a9098a1424a35a109dc4a946be54c4007db73edb861cb475f293e404cee9fa0dca8cdf086eb6c4790319";
+  sha512.doc = "4213b5bc9cd6b2604bf1c667dd123729c0674d1c74338ebeb86b1551af14be3e24c4e94b4e5cc2c06a25ebf934d56eb6d3b5ce80e452798ea02fbb0ac6533580";
   hasRunfiles = true;
   version = "3.3.14";
 };
 "progress" = {
   stripPrefix = 0;
-  sha512.run = "8b921b8696d10bdc2e6ac11c30f2fe6c99c9154266798dcfc771852c275a1c5d12d75fc84c489a658f420ec2d098bb4e362ea6a7381b7d6e0db12f42a59c6065";
-  sha512.doc = "cdf5416846311cef8777e4cd27f3b2682d52cb44e20241c3344b5490b744b71a7024893f57b74041245026ce542cb81daf4154174fa909f131f8ef2ceec0d8f1";
+  sha512.run = "df21ec7e4adc36a420959550376fff5b8a55fb7dccc064476b2306226c1776fb2075994d9ae63bd5bde0b68571671bacadf9285f53bc9e639c2afd59e5b6814e";
+  sha512.doc = "e88280bb1a93d34dd5597627d763d1b2a21a56990ede2e029246dac84f3bb22e05a08a9a94c0790a9c8a87698684816ace02149562785cf36f2b6af82f89c130";
   hasRunfiles = true;
   version = "1.10";
 };
 "progressbar" = {
   stripPrefix = 0;
-  sha512.run = "cd4f907bc0c463d0096d0daf192047e5df8ddfa8784c2aa1a11c17ef5408d06a1da51057915461791501ae6456a99ffe3a5cb183262411aa443d316bb2f7382d";
-  sha512.doc = "bc4ad3a8eae43d3cc6c2c7194d51227878a7da647ce26056380ed845029c609203f4dd89e99deb3b6f5e545f5c672bdca711bf5fd7d08497d69bfca5bf5603a4";
+  sha512.run = "d12161aa891ea45cec2a4511c48a1c338de5acd512e426a24988b79b7d9d1734479a1cd93e3e8ee11da67858d97260b71ca35a3a7a3dbbcd2bae746221a7bafa";
+  sha512.doc = "a60ee29da0517d6769e09f12af7b600284f32478aef1d28cdf167610c45bd87f841500c2bf718ff9b6678a171f3138f4a7a6ac45bd41500510f509e8e7067efd";
   hasRunfiles = true;
   version = "1.0b-4";
 };
+"proof-at-the-end" = {
+  stripPrefix = 0;
+  sha512.run = "1e5647e1421742e9f0198c5ff8ae5ac315eccef96d0a7c9c5f1dabef167fca5ac9221cdf60d99dafbdfd60f6960a897ebb2d2c4370edcc0d0a36942c0041a777";
+  sha512.doc = "9100916a9ebf426502d7c25e5f848fd4eeb19050faa01b0a4a795b838d4084849b42a1f6a187dc8218aeffb6df0cbe592b512e1c613a1045e467198119b33555";
+  sha512.source = "ea0b286182db09ab249a704ef25abc8bd951b51e8671ddb2a8110997b9db4ed353c059f44170e8a5bd76878ae97d34b460701994849425c1f40925d663d0ac6f";
+  hasRunfiles = true;
+};
 "proofread" = {
   stripPrefix = 0;
-  sha512.run = "f61a9098f16faafae4ad258f48dbd6a5a440a51b552d8e76df30f37f93c1120f6f78f04743253f4434188b615c37a7f413affee104889d943ad1d84814a27e5f";
-  sha512.doc = "e11a34099718ea93293dcb1a3e1785ae61104862f42c90e5d3cf2c4293413d6d76ae16704ec3bf2077b740f10d86ea1016a0272bee57cc1ba105344cf221514d";
-  sha512.source = "e59deeb8fc52c9d84d2fcf34c3bec889f5b0f7a94979b64c35d126db34ec2ee1a117cb3ef26096acfea926290c22ec3f5eff78b47929cddaaf5eb1ae068ea28c";
+  sha512.run = "ef0d35bb06d1bf31cdea9aec2f342eef4b8cf053863a26f5c223c1966f6715a547fb61b2f92d4ac273c3309fcfe219f9a78bdf8c9b3ec3886bb96dabd7935033";
+  sha512.doc = "6b1ba0b1e009e2f7b337aebcc5c54882f2ef3f2089261d3b9355cb0adfec8aa3c7f207636955979cc0a74554e5878423a23982340bd26ed3c2a634f821497565";
+  sha512.source = "9a434d59a1540e1dee97e9baf1cda034f768a7a24e1deca7e0f454f7d7918cbd7645e19454fa7683c3754f80e1c9da54b3b2ade2dd58f4c332d2422fe1690935";
   hasRunfiles = true;
-  version = "1.03";
+  version = "1.04";
 };
 "prooftrees" = {
   stripPrefix = 0;
-  sha512.run = "f679b3114b1c7ec161b505dd0e7300ddbc2e86fca133e1f5cb09da697805829f89a5a2811f1166d16babe99cd886614342bf37f583ceb9df94a0136649e20911";
-  sha512.doc = "06cd87fece212c0e03e717c33ce54375043f4a649c2970bb73f3dfe0cec5c8940c16d362be403bccb8b230e4665c3d361acc053452dc26b8bc85a502c61b527a";
+  sha512.run = "f455c85a30ca4882829e0d2b74f202b129333962843a799c575f080de9b67c1c543db10f012198655760bbe894eae2149eeba1322de3392bac0eaa9a89fe00df";
+  sha512.doc = "ff1ec0f5f9112e7fd09fee4e3ffba06bd281c4578a055e831c64a8edbec234bd69c6e920745fe6e4fbcbb12b27189465d4fc41c9dae4f1ff80d5096ef9dc3cee";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.7_svn_8641";
 };
 "properties" = {
   stripPrefix = 0;
-  sha512.run = "75e3258e627cde703950dddcfa869264f2e664ffaf2428a73fc68e41e84c15e5b6c0f704e2e052ea7838273318abe89a2a9a219ce039bb7305010a5c7e83b5ef";
-  sha512.doc = "89b3ed30f47ed09e8b503086e0c517feef1753f728c3946828348da0a452e5386fa148de26c7a94556ee5dea28d389ad1cd1cc8b26fc1f24e2f826abbff9dd53";
+  sha512.run = "3bde5cf132c9013bcbb0eef439e61725ea41a09720f98bb53f8bbf39d56d6cde34ed1613b001a86b40221a36233b1d5c226819c94b41d49211065e1477a0bd42";
+  sha512.doc = "eff6b91e8fdd7b0a6b0526c7dd2243e32586a5ce12071130f388a911fa34cbac4681d4118b601b9eb979a272bf89b82f00f8ba509fa996521e8a2861f8e84a80";
   hasRunfiles = true;
   version = "0.2";
 };
 "proposal" = {
   stripPrefix = 0;
-  sha512.run = "394661a9b8d2f150d676558d868e2c2158a87d62d5d5f59c0283b5780caeab1516fffce859e710b3c40eed9d4b35629da783d39da2eded6b764f0f62d16e6870";
-  sha512.doc = "871c9b8035ff56a01cb4e80093ab5fa02af4e04f3b1fa97f701fcf00f33dd1368504d6054c424a928af932cab74236ed6532e88d1d27b4d9693dbf8b6522bae2";
-  sha512.source = "531dc70cc53a793d9d7087508e23b5e899b6cb027c86cf2f8d526b00cf04189f3edcca72e7ec5ffed61c3405b8051ec35456408a348c277f3312ec3950141c27";
+  sha512.run = "d9a352995030efd57ecd46028147a6326ede0695545194a01846d4a3e2d29096ace9e6f69900766906f3ecfa05ce566ebd1c2c5f76a3b2b2646c1e0f865093ba";
+  sha512.doc = "53c1d47f2f42c9ceed73f350c2aff9b229d6dc8dfde9e3fb8109971905c5d6430ca52d72551d540f5a1727a767d6cf485d8bca2489f301edfbf964490ecfb5a2";
+  sha512.source = "39ec30b5c0d94a2beb6d83d796ed13ca95b5e0045edc8e7828f5528e44e9f24350fceef93ec2c3bf9cdbf3766d7ddb0b72d6e10a909a6fc92e393681d425d8b4";
   hasRunfiles = true;
 };
 "prosper" = {
   stripPrefix = 0;
-  sha512.run = "fced977fd39f6750f9d17a13c5edaa032f15be04de94a6378eeb8e4a2eff4f3ccd03985b9c07a2f588a12a43a60985570610784ff7eda75ee248020e756083d2";
-  sha512.doc = "6dbf3366874665613e438d9ad81fe5d24ec8b986bf4bd4fec38f673bd5885d0fad53af40dc445905121ec3cf7b2a2299416a20b12305cd2d619fb9de93a13275";
+  sha512.run = "bf2285803a71b00c67a9e64ca5e51bdd880856338b0bf3e95bfb2ff2e78d5cdd0617424ed95918b5982d5befa71476b89567b2107eb0c206f9a9f53966a983b6";
+  sha512.doc = "21593ccdc8231e37f0b2938d3978205ab3ed61f74a6e8a4b1dd2cf82da552bd920a7711c025964fdab5661207cbea1aee04244c93552e20d10df338c7dc5c138";
   hasRunfiles = true;
   version = "1.0h";
 };
 "protex" = {
   stripPrefix = 0;
-  sha512.run = "c7850b01775a50dda0e93d3ba19a7f461b17f1ced967da4e4482030ec9461ad0eee4220041952c40136a6930fae0cca717898e78f757da66aca29606ce088233";
-  sha512.doc = "5888666f82e95199b935b5d8a7161eb5433666dc5fb6a1d669ceac1aa79fc2b31ab9ce6c90a0c61a23b0319647476f7817f954f3fb92dd1f4e53fd524c90fce9";
+  sha512.run = "be8ea34f282fdd739f72f9b33375bec3be5055bc953c7a441d769ac1e7568af9327ae6030f67a805188dbd485ee8223936921590ec86269e371da6d3ee353afe";
+  sha512.doc = "95746823c32526fb5e2c9968749a7da2149d23c2ec9f1ced2a655a4fe54ad272bb414abd0be0d78775b0ac95e6440d9b6ead609de7615dcceb0186e4683e4138";
   hasRunfiles = true;
 };
 "protocol" = {
   stripPrefix = 0;
-  sha512.run = "e16bf8329f7c09da3dae6b1119093b163185168936723c6560b6e9d1fe2ae58e5cc9149149e736769fba3a7c28b1e661271c1e81e7ea25470044985cbeb750f8";
-  sha512.doc = "2f145527564fb5b1edc199aa9345b7eaccdc1b3b72f8bf940cda535ee29ef5a2bfe172fba37d0342b4eb7afd02dcfbfd6147226590c16cfcce77623e6997af93";
-  sha512.source = "6dd473af233bd504da81dc345f9848d46188f80f61cfe75cfb6854bbb17f68c60ca1e98107b492e2438e5ef591ce86c5beb37441952b35333005b6e84fcb9ab9";
+  sha512.run = "e9555a25b0051592bd700df5b7335ad07eff024efd1efc4ef620fe7ad37866aa1edc8f354a7c772b3a298935bcffa9b5b2b49c2b0a14c868ae744cb9165bfd19";
+  sha512.doc = "f047068c0b9176087cd56530c9b73d30bbffb0d4b958cefae39f1f3bc924fbe705e81b5c867735715566b674379d1731e1d58b123dbbda3686a2b84f42674338";
+  sha512.source = "f41e90e822d9cffd941a9be8b918f5817c5757c2911a3c2162899d9e074390fc4500d8617e385f5edada4c2accf5a08421cab6192505721deefb4b1ceba136e5";
   hasRunfiles = true;
   version = "1.13";
 };
+"prtec" = {
+  stripPrefix = 0;
+  sha512.run = "06e946526f194e36b55c91c46615c74a255411ff3de2fba005a672741830a5bfc162be122a7f03d00374917ab70dd789549a2976280db8c8106999ab7e0854e4";
+  sha512.doc = "fb299846eca43fb054ff441c2eed6f87382cbb58419947092d04bfa99102e3db7a8395c9b974395b579f6b5700f55c2c730c162bcd19e5246fbc64b80acf5681";
+  hasRunfiles = true;
+  version = "1.06";
+};
 "przechlewski-book" = {
   stripPrefix = 0;
-  sha512.run = "7b11a0cb74b74ae8e821f3dd202e9528add14ecadab5029118bad30c9e29ae4a9714c142a4838e9cf03ceb1dfbd192f935b7a06da7855f16e0546988bb810c33";
-  sha512.doc = "aaee8478e0091e2a18fd402e9ad366d8caf416e73146cb2a9cf9b330ec879eee1e56ee17eb67803049a555279dad6aa7432c4c927cbd8593df2fe5fccbea64de";
+  sha512.run = "18b9546576957553b477a1c5a90e6780770f18d6aced92b17017c44770b6bfa9c3cf928500a9e56c6c67f45d375bc12ad8ebc97eb1589f3cf7b5b3ed2f7b55c6";
+  sha512.doc = "0441621561c2c4208d083f84eaf47573de94248cc1aaf027061de636c1a65f35a307260eaf390257bd02acac34b42963f96030ee27c83650deb11234edec89bf";
   hasRunfiles = true;
 };
 "ps2pk" = {
-  sha512.run = "b58f41f01b0932e9e80ef479fac89796361b0d60945f80da3678006bc64817298da9789ed71a52ff1579b06d8bd2ee80280e0910c1713f4949e96e756f3c0dd6";
-  sha512.doc = "a800f9a4957d0a6e38bc199bbd9c65cdd169f7b993ccf41a1a5381b0ce877c5785861aa14865241c2ce2cd22288248875a3e71d33065cec6226d428f68f93ba1";
+  sha512.run = "cdaf699808804ddbc6e7a4c58db7332e6bcb2402aab67ab617c031ab6b3ef40ecb7211b446788aa0f1eb7a69a32d2e7802ef03e9adfa062cbbde002a909f8dd9";
+  sha512.doc = "58bc80926df5d9a75f8994f147d4d7472ee495ad0ecd22bfce2b7e79665108bd44f1b25eac6c26a047b9e572a259f10148abf35f2dd6410346d951cef222628c";
 };
 "psbao" = {
   stripPrefix = 0;
-  sha512.run = "7e0de245e003433ed71dd132e7349db761bda6d9cf607c78ddeef2889e099a514c9e6c00ec326eb239d6ff32da2ff9c24aa74b8ff1bfa7be3069665328bb0ed0";
-  sha512.doc = "f892a7facb1e21f5bb518a1d31a9dfd62d69d036a6406f2de98242353a7eda9594338d7c810c373396a67c893999134034b828e72f1366c118ac6f232337968c";
+  sha512.run = "cec6c6079d7a8757c9c01315f3b035fce1eba2dda487e3a9da21a2bcfe6c7f7fe5f82171ac5b850fb7f673b56258f7b39c2e0b74c421e324475b02ec13671b32";
+  sha512.doc = "1a9d1a0250bfd82d76ff1a3feed17c016f46e5ef199038bb569708989f7a243682a9584c1d293807cce09394a70a25a2f8b31189d81aae89336306f3f146dc9e";
   hasRunfiles = true;
   version = "0.17";
 };
+"pseudo" = {
+  stripPrefix = 0;
+  sha512.run = "3c91de9ec74af642bdff675435184ed058296d1238d4985bb22cfda82fc76e80ba6dd6fc0ba4b9f14e7899f34d0ff4fcb6fd68777c18beaddb2bb0ff9eba9661";
+  sha512.doc = "3e370ea32243a085a9d65966d464932223549080c2efcc297fe9f503cf72a7c6cc8b732f0d0b694f49484a0b7eb77a1c08b3ebe7aed3f977f63aaecca2189bd3";
+  hasRunfiles = true;
+  version = "1.1.2";
+};
 "pseudocode" = {
   stripPrefix = 0;
-  sha512.run = "b79efca82be2326275def77c65dbb25321291329731d234a7565393bc9eeeb7d36f7046509d93bfabc9ad3bdaec00dc91031a0e47b2527711a1b917cdb716b2f";
-  sha512.doc = "ea08e955bed276121aa5c691c2a2e17d863c6c2eeb3ce53da40d41755a8334bd7cb9f4c28563a5baa67c797fca75f3cbc4871952c5570d2274e62175fb252bd7";
+  sha512.run = "28acc4dc69e5f4e181230f06dda363618146d30a3f7c6be0d11b258980bfed5636606dd808c1deaa627d04c526496152fdb2ddf56866b63a4c4313de423493a5";
+  sha512.doc = "b11d8ae45d5a4564dbaa2669db7b5cd4f9b87bc9efda3da47ce652245b140cec1b2c569f38fd1ae175215ff422cd2df3919bf27126c9d9d661dc4a147963bcb0";
   hasRunfiles = true;
 };
 "psfrag" = {
   stripPrefix = 0;
-  sha512.run = "217ecc12adbb6ab64b3eaa04fdd97b6e1c77b76df5d8aa2986ab27086c18f6f895775402aca8cc7194a057f3b119a27599daeeb1e9698e114bf261a328c74126";
-  sha512.doc = "2b19f6c8d9882bb32daf5c87d15c379feab49ef63c91369720b1498ebee3d2255871ea796090c51b080b107ad6f670e9d804a8a85df7d6a3e877a8e758441a76";
-  sha512.source = "211307e26454e3ac89c6734fbfbea2ec72b5f0425f503f8379b783145c571f32a339359e854376e1e6b2d2760a065812c7ba4f80f36ef0adc2326a2520536391";
+  sha512.run = "71bf5c02e7a8a17eaa891f15c88777dcbbfc3ecf8b4a72dea49683f061bc86427ab813dbac5f5b8ab4742edcb92cd32d510675a80b0b3cdff2dc2cf127ee89fa";
+  sha512.doc = "072210deb2635a2032f6ac2d100ef72aa4471f69dec03fbb25fbb0d78b89aa2df0972b244d4335e8ed16e1a5f0cb8e04d22ad44dd5740fda59f9a4e5300befaa";
+  sha512.source = "fd02b807b47f3818545e48825ddb11d188e9e3fa384b0f3412bb09051daedf73c2587a74d70aeda472047c1eac039252a25cacbf74a3c8df76be13a2644372de";
   hasRunfiles = true;
   version = "3.04";
 };
 "psfrag-italian" = {
   stripPrefix = 0;
-  sha512.run = "23f04240c6c24362bb3029627dbad44735d59d32ea919795d5598a03c40dd5ca1368fa9aed4c7a988def43c0c62f4641fb368e5ba9214bacec04b1f4c101a396";
-  sha512.doc = "883fbe21a71b27a4bfbd7272fd78ef6d5d7d5f4aaa1e57c3657f149e65c0536281c594e7c649c0fd28ba857a9911846dabf2ec92b19cee0b93e10646a9288b2b";
+  sha512.run = "4d26f0191ffbbe7fa6a9aae1ece6e72739925b59a1a1db5ad3cbe8f2b3ece92ec8265f008e91fcabfe2e04863300db833eff3104486e9c33985ce5c7f8dd7543";
+  sha512.doc = "7a513ff265d259adfbaee9ffb47856602004f19679dad1316f04d36848f2e22bff8c3164ba9b045e7a4a57df76c2ad17b071a9cac68d4b92cff57a29f1e99f55";
 };
 "psfragx" = {
   stripPrefix = 0;
-  sha512.run = "a3c8cd69b7d635d2f0de4a2f5b8bc495b3bdb52cbe02610b28f5a71563e0442c95703713737c953dd86dbe5c8e88bc3dc4c323051dd637a4a848b082b92d2aec";
-  sha512.doc = "589f991cd3c1c33cd8dfe1d3e8b484de83618370a56f93274ca8bc48d166da8e3ff32b571df6d5d7e4d9c7c195859741cef58577eafd3a2fe3c16a762281422d";
-  sha512.source = "434c16781289782ff557ada687f7f2d5145c162c11d61efdfafe04810af221e3fb903660bf56598861af011035cfffa7450e82a9945155592c239b4f24eefd50";
+  sha512.run = "b02063b8c1df58133b951eb10763d3b9099376a473dc980fef801ab565326ac1c5539be3ee94ee5c79837c1e6265cf41d6554f66e8900df2663d5d7e727e0df6";
+  sha512.doc = "863df965aa6abb99c115b06ed7d1b1660345e9bca0d0f5d62b6a7ffb55391688a92114edae7bd28ef8b715515c8bcf3c5b4fb4970cc1b6bd9cc068b09595cb10";
+  sha512.source = "f38ac5c21c7f366e952e71199321865a70376d1dfbcbed2ac993fa01f412f185a09725b9e6b1808167a5cf55d253b461a43a2f126cedd7d469645b7740702938";
   hasRunfiles = true;
   version = "1.1";
 };
 "psgo" = {
   stripPrefix = 0;
-  sha512.run = "77e580b06210b97106b43a788b36b25bf9c00b27c2739a0159c98d8b4c0dd3bcf548d0dcecd0bd8e544cef1be8116186c556d9a869bac750b4f74cccf23815c4";
-  sha512.doc = "6ed2ab159e15ca3cb29c6f3e2e751d1d41b15c910d81c3a16a799d4f2f9a713d47117b928d5209b079532306f2535d461c6a9cb19664b5c9934d47170ddd8800";
+  sha512.run = "75791ac8c340cd72139c50b2e2a05f6001edf2b79bbb9fcb4c9118f2acbc67643469c8f6da34122bf001e85af60b5b0050bf3c7b5bcce7c393e7930e3cfe7eaf";
+  sha512.doc = "9d061c884f76eb87e86cb441ebb693a9c64daca024c35dd631d660f3d1f8b1541c40e285d5f4115b36e2b02b7640ea7be70f4527e7ae92c6d6173625b215b7cc";
   hasRunfiles = true;
   version = "0.17";
 };
 "psizzl" = {
   stripPrefix = 0;
-  sha512.run = "ed6e5187756adfd51bad01bec2c589b26a055e03696fdfd863289e6f63dc4e2f92c509301d9ec5c80f8557f3f4f1effcfb6b60425c77c4de101ac93a46faf6c0";
-  sha512.doc = "42342c21803a0341d97dec8d1ace37bbe2388979b2c08518d9161fcb4dc9396bf43ec1c063e7173eb0b76f2d6ec3102c5b07529c0b75846c23a268897646290d";
-  sha512.source = "33a1da7fb8f7a726aeedb1e19c85d50562649ea232e520285b875a1b291d2594f4bd77a6ea51c473db8c22a82f3864cbc1ba041c3a62c28f5f6b949f2700ee02";
+  sha512.run = "adcd254a9991839c623b3f75098276dc26df935db1528d39f8588681b87237febe81f8289aab747486df92bc9af2103638734fc22c43ace8cdea1733d2a66360";
+  sha512.doc = "e9d65b3b0c364fcc7632ab83974d8685568d4135cbd8568cbf69e9162dbb80283724ada72891a72dce2fabe35d846c6f09b05f1123f8fe72ae749215170ee996";
+  sha512.source = "fabcb5343912bf005f5ad73b2ff9444172ad6f36fe42ec492903ed6d19d3c2b67775790b15cb37a688d9c0b8d78145963f8594b67e91d07284adb5d26cd2ea52";
   hasRunfiles = true;
   version = "0.35";
 };
 "pslatex" = {
   stripPrefix = 0;
-  sha512.run = "173ba887f379e2a0966531812e47074caa36f80e8011ed79f8bdbdb5e8fdf2e63761a8d9ab26592213d18c7f97e86f489c25b0d0ec523851bab15999d95c5f3d";
-  sha512.source = "b816114a455848329b7a96afeeb47a6b7cca9b5ca186bd96b2875a50b5db4503eb8ea0cf7f970480a37cfc020bc779ed9e294aba4ce716b42d53343134e42fc4";
+  sha512.run = "4e6c2163fe9d8573012cde55d7a9686d45276617d6368a2191b2ca5ecd9e2e88f9ea07d638c726cfb43f0fddb5d8c8b1b8ca1eb58177517b6704776f792630db";
+  sha512.source = "27e8f6f5c30338cccfded6805b713b74b6139841ad81a10a4a06ff5acd5a189733e2d6fdc80c2483c5fc8beececfb91a0a9d03202bc44fea753ee6bfda9fe649";
   hasRunfiles = true;
 };
 "psnfss" = {
   stripPrefix = 0;
   deps."graphics" = tl."graphics";
-  sha512.run = "2551573cb39bcf09c394d25e63cdd4ca89958c9109117e16d8c354631d0309f177f5a52d8cebf5bc22d022441212825f70a849b60337e4290fa440526667d503";
-  sha512.doc = "d7e3606176ab1f18a388b3e58a4ef56076caa243391175f2337f18deb2e6cfc2b90bad8ca085802468bcaa2fed624bf70cc1e30aa13d7df11c453f8c6261bcc4";
-  sha512.source = "b44bc333700d91673e69830be9d3ae07f6d27ff2cb61464d94982029ab755553bb2065a26dac3c344aacc1ab8caaf420b9b8eb157ad96354a844bce734a2c351";
+  sha512.run = "d565256578225edc29fce8f9c8236542379a1918590035faa8d8b946c37fb9fd17414e5a05ad2bb0bf1ba683a5fb29ccf29c108a3fc678e184a1eb7326165bf5";
+  sha512.doc = "5a3441930471577bce029ddbf820a2aece01bf3bb88fca22fcc7c724030bb958731d0452af34e5dc9a2bef99e136ef24228094c71d35bd684220fd0d68f74f59";
+  sha512.source = "030108d03f62b74f1e0274168452f5b05201337e947303ee78567452b1ab38daff5be326b8d1c986add7252d2842b034577577e23ae6bec67a02c0f0339428c7";
   hasRunfiles = true;
   version = "9.2a";
 };
 "pspicture" = {
   stripPrefix = 0;
-  sha512.run = "2f13b2ce8eab934634dbe3f4414127e6fb8e651262eec011dd6e5679e402912816b9b9dd47baf82b9fcbb96afb35d2de6e59809d0f84a44b7a1d179bcc0fbdbe";
-  sha512.doc = "56fe13db8d57f87f7168fd06c7dad3039bf8e368076a03fa5a5f494174110325532d7169e25792f87c039597c84fd8dc06f056af9e499d21145869526e1331ac";
-  sha512.source = "4edbf3ed5df16af062fe8456a2923d4c11d1d6bb928418eb5be096ea6f9b10d446351269c1cdad5a5f72955b0d14f23ea2256d05e124500db9a61e5f35ab2811";
+  sha512.run = "139d160fa67dbb7cc932fc75dba80dd46a55a1dd5973b27a6a5dd38a6035cb367441b178acaf3c11859ad60103283774ee5e2623a083a0336d5c2ff74a7b82fd";
+  sha512.doc = "a743397a0d48c587b60db5f1dcf9e1c22f67ba15dbbce241a2584c95456b3546aebdfaebec9fcfb3dedcac65f7f053ec52cb479d726e5e3fbfe042efcf1ad702";
+  sha512.source = "af1deb00966a7d4d1d68e156dd5fbc60e95f60a65a942f1bda1acbd579b932e0c81875386bd3eb1945fab211cc9ad5607c3e21e5d240048d775c28574cb754ba";
   hasRunfiles = true;
 };
 "pst-2dplot" = {
   stripPrefix = 0;
-  sha512.run = "ea68b25142d68d4fd5934c8d960ffa9a94d5fa63deaf30e692fa40c3f7e61da1665daeb3250a0ed2126eaa2dfb7cf8dadae3d9012699a36184cbe760b5327e54";
-  sha512.doc = "4506d5757f78419d0b955545d848ad6d7605d39460a525597469b02f0ab73cc6ce9f5af0b5c2bdc5ee1ecf881450a5235ed72ee889301d8ac9b9f34afc2c5c6d";
+  sha512.run = "3109c2709323906ec39bd1be6e7c9151b7b07f9d2dafd5f7af61d3facd3e37ae35bd8bd923968102fc702f35fa4a903e9a50d3a7a85a1c088017aababd16d969";
+  sha512.doc = "f46a0c8c94900d180fac92e7b393672d010388fe80867f01125cdc7c486eff97ee36cab1aeeeb224b9ab80739c2ddd9e89b84926948acaa8b2b0ae08457ac0ef";
   hasRunfiles = true;
   version = "1.5";
 };
 "pst-3d" = {
   stripPrefix = 0;
-  sha512.run = "9cc5d12378b9f80273211c3a0c895d403aeec062ad48eff43dac1153e5bde2b81ab5daeca835075e170ee73d2d5ca70b1d9b00bd0429cb48fdba6c2c2b61e0f8";
-  sha512.doc = "dea7b6cea86e57b2c50c0c93076d05d44267bccbe708926bf078810b40456e0505ecafba3207055a63355646183f28ddb388dae480d337c91dcc2de99be5fb44";
-  sha512.source = "6f70001c4cff90093752aaec192cf466724b99f6f044d5f782645a4079dd94ef62a6a4ff00b7668c896ecdc17fca5320444de2c3a9e093b1cc250ef35be8cf5d";
+  sha512.run = "dfd8a2b79d308cf4ae3bdcd438b967446f8601509fd4afb3f090d946df0cc2d66e9b7071ce33e51ad4cd53b7e62dbc02d861d46a302bfe2c901d1d8c82ab0649";
+  sha512.doc = "e8355b936fbc1685edf205e88f2793ab298aac4e4c06de10dddbe1587b5401ba8cc4d2a01dbad3ad56da5eddb27bd6049a41e6da8c139727d36fcc94d93ac554";
+  sha512.source = "fc50cff8bb86571d3827a03f3c64cb62a9fdab25e2595ccf9465e4ad39539ebc0a55da92519ef203da65da3a44e01ee28b39ef27a5af24d26463b215f96be313";
   hasRunfiles = true;
   version = "1.10";
 };
 "pst-3dplot" = {
   stripPrefix = 0;
-  sha512.run = "ab8c3df60ef81c759c37eeeb90808fadff827e569924d8aa118b0b17f46b3b4f500ec13eb2fb92dd1cb8b175e3a839cdec2c932090a2c9bc52d1b31b47507dfc";
-  sha512.doc = "5741690243bc2b1ec3275d26566aa8005e0d5eb448f64ca4d5fbd89ddd25f60b17f31fe37405352d01748b7659b96d01e1fe1ab45af87666034b5129ed1e293d";
+  sha512.run = "a509af726d13fbf9dd0f3b1181a1dc53a31fe007187ad345c8e3c6c65d52d09f6de422a723b472e3b8e5f1aba1563dea06b79e82a7940e018cdb9eaa30a40632";
+  sha512.doc = "2f261cb9d32dfbb85b626238e25d8c9198ad50df008b54f800d3d5b404ea5734da8636c05c33ec30311c60f6e41ece1071a04af7affc61badc3aad64a5b9b194";
   hasRunfiles = true;
   version = "2.04";
 };
 "pst-abspos" = {
   stripPrefix = 0;
-  sha512.run = "4aa582a5f56b69891c63cd6d10afefadabc0f8a1de3376750568e7bf691d800056b5914e4c8384226419c3ad6cb0edd6a489a7793b51a15afa6f87d19429d077";
-  sha512.doc = "3fc8f7fd19994a662d63ceee5214645d15665e2cc4df950ee2e4f99069571d3b3ff7b893fe8336acc44e56e9aecb1d6cdef7fe4bc2a203140f36a6725c164c59";
-  sha512.source = "ed254d0178d908fd609c3f2d4abe912ef086c995629c23026224e824346e9f6518b8fe5497c03212dd3962dbbe07cc7fe6e63811cd50d4607a5048d7340e05a9";
+  sha512.run = "b56bed1fedb14fe7cc455fe4e87ec51085e8e09132ff5dbe52083701cdd0d63f2e6dac2ab55838fbefd8e7de9666d0239e9fba712573a51dce2804d31ab140c6";
+  sha512.doc = "77754a1c27c083f60c2836483a60bfb6b4c826783d5acd16b1eaa9b7fe7aba8820886442ed28a5b334929a3f21f0f1b4487c7403f8dbfc3ad3cfc08407e35229";
+  sha512.source = "faf4f7e2b94bd66d19be75c307c8a6b20a2c779a8e6783096b41e7b4da66ab07f7ecbaaedfa668c09089bea9c2c79af4cbc12aeafe949cb729c589989206cd0c";
   hasRunfiles = true;
   version = "0.2";
 };
 "pst-am" = {
   stripPrefix = 0;
-  sha512.run = "0219995fc5c17c68dccf7401b929f4a6e144fa63442dcd14e1566bcc79afaa8069a06c25128137f0e69d4b7395a16d79b4eb74bb1096aa027d13945be47a7705";
-  sha512.doc = "46107a5e065f055889875d9ece2f2db4e2aa7ae3e46d9208781712940ad6ede66ae19f29894fbe8685adb33aa43e9d76a6b0ec9257b66e4ec9125a8a02e29c85";
-  sha512.source = "fef9d47668478f36f06db399fdfa645810a21bd669a74171c8a54c506e76a54707aa18ea406daaa99ad51c170d4956502aba7fe5e2bcd7a7d39fe70582bb4163";
+  sha512.run = "a5f466dacd393ed7243fa2cb43aed0a5bb8469a51aa82fac4b53c47a474a1d9758db4d7a001cee49716714049499339567cb62a66f2731ffc7646fecc15c7784";
+  sha512.doc = "edea0ddc3f5472a86706d1823fe78459d2908724daf2b9bfe44b41e749f2b41483000602817a45a5e41869f86d4034ea52640bdffa334af54e4964510768152e";
+  sha512.source = "fca7f1f7769f839632eec75b3baa864b60f9ab3c1ff9cc08437fad4086cf9a063f283568163d1ebe3e5a2c87b06bbae1b11e5be07a8eca5030cccfc68392b40f";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-antiprism" = {
   stripPrefix = 0;
-  sha512.run = "5e28cde1a8da51c60d8d5f9a0813444ea70447e5212aa08c6217fb24879b5764409d091f572051977f55db6a7594db915f8ab9d793daf87e11baa8f6b474068c";
-  sha512.doc = "3358635f2a847e5609e62520cbd4b05ee2db1417bc699249b12f7e65ff2d8b1c81a6aab278e05d61f7ebcbeb5892ec083b11a63637a8173ac2a7ff119f77bfce";
+  sha512.run = "dc93e3a8a040a2712f701c2fa89924c45749824d20ad814a9f04aa423e15caed3a457b762dc7d30cf5c9e3afea378efc303851af919831c0969cde50b9adea57";
+  sha512.doc = "df528e5693cbbdca80a88d02e2b8487b70c188109825da66c9d9042056c6ba62e361fcba2ac747d69a08a4c8d78f27534640ce55c583289c3f12c2eb4c57d861";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-arrow" = {
   stripPrefix = 0;
-  sha512.run = "2cdfde85bacfa13b9bd5085b9c7330ea7e0d5bed2751b06dfbf2990e8821e6a32c8b64d9e10dfb295d811234c605ad3c9b23309af292594c6507f6a482921d8b";
-  sha512.doc = "662d7eb5a5575e838a22318e4f0031e2a30cb1e6c2b47062140ac4de2e090bcddaafdd04aa9a21733e3f8ffe0b13fa974a24136ec3389625e1574a27f10c66de";
+  sha512.run = "3400d901f40b9dc3434f107dda5480e0f8e37548b2ea0bfad5a38ff90e1d99aafd43d44d6cb6c0594b0574f781d94ad57e53074d28b10251f6ab8100f2814354";
+  sha512.doc = "bf97ebd12c09ba4ec3dfad4107141054abc9f04b1e1408017ec038b656bc04ccf09894c5f15a8a0344f358f2e43acdcb7509cc7e0ce686303a62bf175de7a3c7";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-asr" = {
   stripPrefix = 0;
-  sha512.run = "94a7d57ef346248b92e8f6e48e7083fac675deb981abac78b704ea63261e32204413136545296a20b2e8fab573c360f8fdceb7cf8c6b9ff0508c39970d8d7934";
-  sha512.doc = "f707146e0ea626d79d776535c1f3aa3286773a1cda7033949f30dd18d85e016a61a9996bad6e7763c5324d2bb952af294382c5d0139c22e34682d7ccee887d51";
+  sha512.run = "c5ae73e1553b564a90d2c77fa434c360fe2858657fb5ff4c6ce1cbb46838fea9c0dd7a8d92e2048a8ed0d748839518b461b0727db3b7937c4e39edf85277e081";
+  sha512.doc = "560ea68a6f02dc3b79c64554652a9efd52c7fb00d07e7ffbc9b92ffab251854e07e87642028b94fc42bf7d01fedd82bfd50913f9c42d1c37d76c1eaba761ed00";
   hasRunfiles = true;
   version = "1.3";
 };
 "pst-bar" = {
   stripPrefix = 0;
-  sha512.run = "85bb44d82111741ad59f061f8085acf7ab24d0aa6a6f95a3f1c764bf395a9d3aeb25619af6b48ffc32b5e5368348e19e6ede4022eb006c201bbe4af9aa13a57e";
-  sha512.doc = "0b255b52fe7f35ff63856e34e4b0cdcbec03f8c553516a0d1560fa1f3abf4ca0ea2ddaebb78f75b861a92feab82217d41530c593591545d076b3d703c44461b5";
-  sha512.source = "b48dc8d785253d26dc465310c287db8ef17ece5793eb654dd263f636a4d5c3d7051d1b09f0c88288fcb3f392d8bf2ec6207faaf8579cbaab110b3c22584a794e";
+  sha512.run = "14c500c89dcce23c52f4551658496f55ac712c76bf9ab2e8878463a7dc7bb2bb3be10f94679cd2a5b720739e89cefed98237d18f65d0b9ca26ae91ac64525a25";
+  sha512.doc = "e17655c65e96e2d777484ef8db7304562310af8585c21f8cb6c64921c9aa08ad4b5ff8f61924c87112323c2bb509b5ad7e3b2176b750bd1b0f3df837033f380a";
+  sha512.source = "4900e4c4ee079574348403f6a39c22f49e92e9ebfd5f8748543fafacf290d7283d34af7baa0a4ec754222cd9d89ae7c663fa57c97a0bb126a2dd76c16d46ee79";
   hasRunfiles = true;
   version = "0.92";
 };
 "pst-barcode" = {
   stripPrefix = 0;
-  sha512.run = "182804ed04fc0e40310211c9621e4c234fe726154601a9eaab91677cb230ebbd900d99ae977f363a5af8786c6321822d36f0faf352d20380436df68b23817eb0";
-  sha512.doc = "2a069ced6ace70004b89f18abba69612d6859dbf6772f8bc55e5fa3844477eb9a0aff5095bd45500433865e74675f690a067a4e79e37737f9ab4f7893316cdd2";
+  sha512.run = "6c4799d7410da7f13225acd9cb5628d65bdbbb525e2bcb114d7f660d4c752122f8e9028763d3ecbca04c3c9da36b7910d64c981e8593b2c5df6b4cb372103785";
+  sha512.doc = "918891da185bcbd26051a4715cf585fd8539e6ac534ada4a2524bfabec328f87cc998cbd65b7fae8a2fbe4de029403811214c0196e59125a77f8af715b3ed3f0";
   hasRunfiles = true;
   version = "0.18";
 };
 "pst-bezier" = {
   stripPrefix = 0;
-  sha512.run = "84e88caf6f1762334320bab9be0eeca0bc7e83dbaeea137a86d75eea9539924ffc55409d73608ed4d2385158301b96799f178005429e99693e4a3357476e577f";
-  sha512.doc = "1f8a9866660eae8da6815506173ea5d6d0f14d2db7c8df7365210e6064b9c6b9b92142688f398541315be495dcc0d695937b735543dd6f777c1a7ea5bf6eda44";
+  sha512.run = "e2277175eb2087e13ee0a1100d602730514e1e5bb023d4db7163ba4113f69c9fedf74ff50369298ed970b89425b824cb8619e2cac4be463589edbfd747ccc6c5";
+  sha512.doc = "5126769fb89900916a52135af0ba459651083b01db466471cc984b6dc837686cd780bda7c3295b6afe9a7bc85180b3acd95c015084d49f46049adb2fd84b5748";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-blur" = {
   stripPrefix = 0;
-  sha512.run = "c25dca70edbae0e003c70694759d34cd352c9a05d810a900a8bd0b09a2a3a75c6e68cdfb29ac9999cbb580ca70eb9d2716469ba40528269ab7a0ad19e0107c17";
-  sha512.doc = "12e58de82be7a64624fd38064424ebd972854b39eeed7217e528fa593af9bd76d3eb7f10806558501af5accd58989459e3e04c8ad843c5595c6b2f19c3bb97e7";
-  sha512.source = "246a92a533e00bab1d98ec854a2aef3d699b8b0d26f55d6e9dd17040ecf5c4aa3a912651b1bb223fb3012fffd8fdc24ef4892d185e39365de733ffa6c50a9ff9";
+  sha512.run = "5726819bfa08fbf6e9b5a2c6f93008e468b759a825fef04739a47e756d4b12a99aef604d64618081b1788b5fed9247c75dd3580a899771b148306880341f0444";
+  sha512.doc = "5e483141d8f5ad03421d9c7c5feef8baaa3b522385d307022dd617af0889bf57d1cf603a1d519a5d17d8dc918441ca3310d766e4dddb7ed6b8155985186b5e7f";
+  sha512.source = "2e7038a248c307c50d29a6171d1b52bc8d6fed76885ebc24480a3f679918fbdbf1e538f783d0f9e3792a3530e51e60da4873c5da0878e66672dbe13fc9b950d6";
   hasRunfiles = true;
   version = "2.0";
 };
 "pst-bspline" = {
   stripPrefix = 0;
-  sha512.run = "bc9eedaebd0ae3b9bd65abd83a57e385549d521c27fa682448b7c139ad40f71761db6d226788076c747894e9d1aea965f030e6eed750fa1a6ae0a47687eb88e1";
-  sha512.doc = "b14cf6943f11d36e8f3aa57edb1c0cf84846cc1762114b629b53b887e713f5d15a39bf827a1da071b91bdca41b8ce95d9541b58374511d277ced00679faff1f2";
+  sha512.run = "1f39a02cb0d56b4fcb8ed3a3768b59a9d14ac14769783dfde7108d86a8c6d68d79342df501c60efcfb8aca4c7f97fffecfe4cd0ea0f4fb76e528f696180b6dfc";
+  sha512.doc = "1f2b8c3f5d85db4215cb11fcd663c33fc1e34e764432a2285f879ec8bf7acb9d09368c6a9910618ee99c3305d701aff5e5d401c227d0c1db9028be3690b5216c";
   hasRunfiles = true;
   version = "1.62";
 };
 "pst-calculate" = {
   stripPrefix = 0;
-  sha512.run = "fb7c405dca223e1f4b42dc487ca524333ac0a25328f59e8f8b91f5e32a4876982eb3a8ee42cc166e17ed618bd42f75afba203cb62515178469ae504799ba80bb";
-  sha512.doc = "a82a11c0c75987134b391d289aa091f2fdab427e0edd369156767890b18394e56d4c49c06c94a96c9113b9e10fa97e1214c0ad91f43052277b9a8ccd3b4f062c";
+  sha512.run = "b40a89c1e0152459e9dde468379b1a848955d40b9d9e05223544347d6057affac092a503e6307904e485a81de781eb9455abd948bef7f343359d44abf37f93ea";
+  sha512.doc = "d6e936e7bc53ae3296812b1d33ecf6ae890599cbb9fa6afac719d8ebcca4516772ff6c18f27e8d825ab959d430cbfe8876b2bb97e480bf6464690b28cedfc2bb";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-calendar" = {
   stripPrefix = 0;
-  sha512.run = "2e7e8c3d0079ef9abd4f6cda62c56175747afadb5d9695e9d40a33a5a9d4f8359fa6cd6246f20f2c0611220920a14fba6c28fc9e96b5019342d13b37847ecf8a";
-  sha512.doc = "f2729fac75d7c6009f315ad812b6a68a0f0e0db53d6d1183a1d520f400c34e9b33270b78f0679cafd850fc8ad73675dcddbe3c6aa1203f83ee3c9661e5981270";
+  sha512.run = "541e353dcb33239f2230cd220bf7918051cbeb3bf8386bb9da045199a80decd68760a34f0461bb7e644f0d1545f2712969c79584a813551ee433d3a2bec888d9";
+  sha512.doc = "02be7b99bf8fafb00994327e737a5a050601dd141ff4e3482b42dc3c98c9ecd1c62ee64488146e3a7e1017a965ff1cd41b7487acdae65f5c09e259753c2d2ac2";
   hasRunfiles = true;
   version = "0.47";
 };
 "pst-cie" = {
   stripPrefix = 0;
-  sha512.run = "4cacfea8c976c70f36b9a40717638d0aa277b44fb964c61843523dff595c68e323f0478431320898998d63fcb90e170d1727d8090ce385729f92d1bf38097a71";
-  sha512.doc = "90afd1c243ef688911df27d0a13ae67e1e5a125054e482e7977070af7b2b39d8ee2eb1c7bdafe456c53354c30c37dd63cc61cd0f67a98febc48e0ae7122da4c5";
+  sha512.run = "4967785a229c9cd316b36357fc94df53e7ebfb216ba5bb222d208a767828aac22184914e2e3744e2726738920dec05f3ed7ab9ce1e30321017f43fa8f52cdce8";
+  sha512.doc = "f2554d76fc89d58e4ff61ac5e5635b93775f731e33e384a3113ebcca53c26ae0e4609d1fdfc5f093abb8945bc3f02a77041bce072c29340ff9623a580e0ce352";
   hasRunfiles = true;
   version = "1.06a";
 };
 "pst-circ" = {
   stripPrefix = 0;
-  sha512.run = "9b14f9adda46a7c7117d50592d6c4362dc755ae404690d3c12def325daf4deca12db410eb3c03bad8440be424df471556a648b31c8a9d78be8617c4b2afab79b";
-  sha512.doc = "64a053ff43ee252f10255f8006fe9014c5c376fbd7b065114d8db59b6ceaa41134da2a68f2b602311511672a990ba5a8be560d3915580adeea1497f6672fe295";
+  sha512.run = "608ed7ffdea15309a69d89c6a6107b9b71838e789f14ca78f92922cbb3d5e5929f61e0510b40e5531900099f805ae1d4acb2018984aedde05352c8f210573a77";
+  sha512.doc = "575ab4e17abb1433659b60dc87920fe284a12d5cdc98dcd091df372437f165033872c7a7b3f27e17bb27f5a51c2dd4e5a98925e06e54353a8e51b77958b63afa";
   hasRunfiles = true;
   version = "2.16";
 };
 "pst-coil" = {
   stripPrefix = 0;
-  sha512.run = "81a4e606881acf352ff9741409c5b9228415c747ad1d837c0160f5ef0ad4decb6f98870a57041b820e77b199a652e43eb5fbfe14d21e8f186ccf5303c135ad40";
-  sha512.doc = "aebd14a47f29c22a2ca6d098cb8ea8539f6b8ba9d59967978afca7f2770cd3df057991aa6d7c7156b00dfad6f722f434bcb7c19e353ad319d1556eb158a86034";
+  sha512.run = "efa265a09857efe93dd3d6aa7f63cbdca456982ccbb4c882dac7c1aff43a6f524e546640d5e293b55e59bd6af582e6d91b503cd7875f8c5ab48491b5b8996e4a";
+  sha512.doc = "e31a5c795f9cf1e21364f63d582465825f46d37c3c849e328dcb19c2a2d7d1336c425a027c02db7c1d0d00da74cb2250feda8f2f70d538561aa93a22bcec5498";
   hasRunfiles = true;
   version = "1.07";
 };
 "pst-contourplot" = {
   stripPrefix = 0;
-  sha512.run = "c37264ebb4e293892c1a3d6f7a4e403aebd1148780be190793dd1db410551aeee8476395cc8cdfd9c1eb9d7b505238910dab897ae48e90ea7f56fcbf8046503e";
-  sha512.doc = "c2e73f5e6b618c904cadd530d94d92f1978b614e3eef816e33b7a3e87aa4a138dad3f9a646b7241f6de33e56c357b1a286e2ea5008083c82560808a25a0343a6";
+  sha512.run = "9930e77c3ac5adcd9e3f14c4785a52a79fe5068b5ee239d1c9f052181657d2c5f16b082a8900b9571094ec83b7326be28a567dd39876332e5f68aa6b1c1b7083";
+  sha512.doc = "1a52121a22c829c9c5423810f529cbc4cf3e49a805ec4fae123dd795dfc8fc87bebb13653a9d173ca962bba716c8428effa4410e48085af4bb208331e4e89bce";
   hasRunfiles = true;
   version = "0.6";
 };
 "pst-cox" = {
   stripPrefix = 0;
-  sha512.run = "ffc30a3f1add73a11ace889387719bdc67ddf175bfc43f5b051d6cc828aabb0c1847413cb24b44322baf61c5a7ec7ae9a8b5131bae68f3da2336c9dad80ef6fd";
-  sha512.doc = "986a68093b5bae0741d9876699aa0510f591a42e3c2d8e7e7e12330240e051f431cf5e223a08b87bbb1545da5c768a366feea4736e59a25dcaa69433a9604da4";
+  sha512.run = "b7e0e787e5a6d825383a5c06d7aba34e5d7cb12258925b7f0384ec069e873a6652e421f963147648903f6bf063d9592089adee5b043f24dac10e30dc344f0608";
+  sha512.doc = "1de830f83253ef11f092c9ec0e698ff36971c7b6d4237c8eb9f6712bde051b9302d657faa21bf56d34287c838453c611ef1a7c70c09e55ea647bad48ca216e1e";
   hasRunfiles = true;
   version = "0.98_Beta";
 };
 "pst-dart" = {
   stripPrefix = 0;
-  sha512.run = "69ab56bf69a215734eea9fa2bfc8e5d0aeddd3ecf5b6fae3a2d850063e50e919de1205dd73ec7559662b1e3f4bfc98c826e1bc4f651e5d9ab74f75256d4b25df";
-  sha512.doc = "461208919a4b4927f33f31dcbae2f02a7d977ebf343142a2d097aebae78a5b9806ae2f460dedd539c0a3f6f3c9ab07b618ff3e0fb3f99c17ac62a989754d9eda";
+  sha512.run = "f5d41ddf7c5934a00fe8bbbc6dfa468d26e8ac0c06975301f17f31f168c6bf7499dac210f08f815cd01c05eb4a9a376d5c49cd96195a9df56bd3f1156d9ac6b7";
+  sha512.doc = "668648d06ab3047e45737908bca5f901b4815f7b7b6745e9bd5387b6867b1fe6dafec3633295e8c164e26cbf06dab2240516a71e3b766a52b9e1ac0e64d1d93c";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-dbicons" = {
   stripPrefix = 0;
-  sha512.run = "abfc48deacca65ea697b4d389d79d44bedfd0fcadd416d392f73b2cfd052bb85f23c17e4fcfa032a39759f3089f48bc05c35b20091ceaf58c176ca6e67d9c03f";
-  sha512.doc = "552fdbecee8f97361728fb539395e0f101bab8e1f246d79689f30bf3ba7953683569c9b85926e9401ef502e412f7a0bcf7bdd1b6147f6f386c9ba0dde6c61a5a";
-  sha512.source = "a4a555b8a956283d2a80d44a0aee459048bdc6cbafd5a66afc0065b75c6a3934a5fadfd4ecaa6a30750d7d5c23f6a9b591e216f6afaaa960059fdffa49ec0d00";
+  sha512.run = "a09ba8f72ecc1b58298b436c47d3922b494337179bdf789468aa3a2236a5e2bd0f9ddd9b491c1a2eb181d08090cc1c6d8c4a0e9e56cb8619a65ce168d7efd355";
+  sha512.doc = "fc0a74b0ca228ff598f3f88840ad1b87654cd7205afb757e6eb6d98abb0cd56cea0ac3ad7b3464a9a5b09d3d4f3a8489228b19c78edc8ceeb8b10f5d40e18540";
+  sha512.source = "ad710329d577b7da464028bc0abe684d987a601b6ea68cbbbeafbc6135c3ade2ab124026ba0e1d714984251f800028ffd018863c9bb51aa8fae4b5b7ebff02f9";
   hasRunfiles = true;
   version = "0.16";
 };
 "pst-diffraction" = {
   stripPrefix = 0;
-  sha512.run = "26c6aec3b71a766a3ab0876d400af2cf1bc8689d44603023426059176f27fe5b323f2edf95a8ca42a941a982b19c7cfd5df5913b98adbae18563d4d576ad35aa";
-  sha512.doc = "c9d3c3311768c2cd6f0d166feca47070675b4f68eadcf7350138979e3e22d07d2d014afc62d64a5273a6d5f83259688a578cc021e03948eca9af6e324e544e4e";
-  sha512.source = "8ff615fd64d8eb59d98aeba6b49acb3aa42402ee658a6590d15003b4ff9947b58d4ea3214dba91808a6e88a15d1f11244deda453740710029c72ffa13a10c652";
+  sha512.run = "222e2361650aad3b59f99fffd56aabe3e53a5eddcbb643fb6f970ff9ac52bbebc4274dd02e051f9b24f069e355a081feaf20e735c385d80e3e58d3c72f1bf90a";
+  sha512.doc = "efecfa760a636a90026bb8dc2c6677bf1f5d8f37fa9103d37f598bde413a136928717cd7bf62bdd7581ae4ce21d34b49a2a9e4dab7397cedf7dbc04884012160";
+  sha512.source = "f71361329e52730f68aa34811cb04b4abd05a5bfb484fa1a264fa17e7609963c09bfc6242b6e777ffa8ca86cf4e5b2cba2a1af2a89611d8d0f9f0dc942abe862";
   hasRunfiles = true;
   version = "2.03";
 };
 "pst-electricfield" = {
   stripPrefix = 0;
-  sha512.run = "eb2d5ada4d909dcae9399800bf5e89382129bfbf2b7cbaf64c12264b7c5096300fafd2b938a6aaf4b727c4166eb54b2afad414ca5dc5189ced6c2505de2832bc";
-  sha512.doc = "a16aeb2c4d76ebc75184f0751faa1053b0507f522ab3a4d20379fc42ee3fb130b36df4c3581313c6dff500fd501a30134ab999b986596992cd5fe7a3f1a16cdd";
-  sha512.source = "ffcb1b62c1fc0b34d1c62ab6cff7106b17e683f992310d65a21832cae6e2f5762233be21157d6574ecc29c1f2304c6fb58a1c4a286a10e248acf6716e8b54d74";
+  sha512.run = "db9f7474d8290640d960f411574b6dad9f9b705eaf68644e001ebfc5050328673f0c1c31f925c6a2cd2279b9bb7ff89cf8d21e71a99e4b937137af404d046df0";
+  sha512.doc = "9d89a2818a56bed9e3cda9069f91cb49beb0182e0b24474051bb28c4299439a7b5477d09fa1caf23b855226d4d4441e48c9fba4a4dd1cd5eaf044a608876e5ae";
+  sha512.source = "89d6b2314db2840f70d99f2f0e66a875b47cc2e653bbd28c80a71eaf6f7d269e647e84b5bbf5ab7349d8a45412b824f9ae7d0c4ce9c4703f82258418b82e8867";
   hasRunfiles = true;
   version = "0.14";
 };
 "pst-eps" = {
   stripPrefix = 0;
-  sha512.run = "fcceaf962e941e48af3841c56a4adce304446862165a53bbe6fd96c3aba261782ab624d8e550a35490f978ddc6774e8e79f7e0a8cedfa1c715822d79f76d96e5";
-  sha512.doc = "c24c600211d92d5fe4e72fe2e78a4dec32bd78bbe1c5416f2cdd6007ec7587bb8a73a0d469794521c8482042b07edf2324aeb09a5305d5dce7226d0005b4717e";
-  sha512.source = "7b42483777531c4419456e7080571c9735bf0eb995a32c06dc5c57ffd83c94fe916103a6588f2cbe21605a1dde80777d4fc387ab2d10dc9417a602099ea5f516";
+  sha512.run = "90be1124bd22958b0a9cbb45a3b76513e514131c416c98d7f70ca101e7841980c33bd8380e888054cedb873143aad168b0dc25918d9e241f763b9be3ea1a76d6";
+  sha512.doc = "70542680c550bc11bef851cfcd12010e17f35dd75adfa390ffadc7b920c2b357594ca514fcdeaafcf1bfcf1b9e622b23c680adbc64ae4787fa96ff94f9a62add";
+  sha512.source = "97e2adee4ce93de77d4d46946795565dfa0e0da188fd686bf96917b1220661510c1777fb7d025ac6dfca816bb8575487d45b180e4e35cade21353dcf4a8e5540";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-eucl" = {
   stripPrefix = 0;
-  sha512.run = "69886eebec603f438edd5594fae54c461e7fd30ea20676aae7804da2718aaca42304fba9a3abf9e0bcb4504d9953563cb5da0f4d6f59c6847ca710960d0356e7";
-  sha512.doc = "8584cb2cd48e2896daf8c4988dd0f5ccb8ef0179210fafbff1acd2a23dcaec6a0c310b8f6eede094e86e42f5ac2f119b012fb35c89ebfb4b8d068dcceba27eb3";
+  sha512.run = "bee0b8065dc04c5deb47f10b0bcbc627317f2458e7bd9ce28e44ed023853b69ee87a2d8fd5784d172e9edd641fafd1b85a42862c83efd88140ddb5c51f89f6b8";
+  sha512.doc = "0bdd883d52b6f639fb7dea4e7b5e1f65287bbcca2031e351c4723b875114d2aaeee537c0e62cce3bb1658777ba9793f5409957e2d7e0e0748b2900a8fc0eafee";
   hasRunfiles = true;
-  version = "1.64";
+  version = "1.65";
 };
 "pst-eucl-translation-bg" = {
   stripPrefix = 0;
-  sha512.run = "7bcbb61eb01e5e0fdc6773452623f858b9d03a55395831e549cfd55cc8155fb3498c12dd8030b6fc40135acf02efac2e91e5da9927bef1aa78166ad3eca03376";
-  sha512.doc = "51459bfaa61df2906e296c6c81255692f2c046bd361b3c4261f71641e79dc7110c1d3e3aef740ebcf6e6ebab1cb53ec9302f4550412e890baa0df77546c97f99";
+  sha512.run = "ba2a7a76db77f4db3a548654e53d587b8f5b3dab9fef56b1f8c2640bcace64237e0bea5129025a07a490a2660ccd019fc5e83e3db504c6cd30b12b19df755f8d";
+  sha512.doc = "9f6d0153e79a205d0fce5b289fa43317ded0b70abc06139a503b98199584e8cb12b083c8235b6b53ff2a80cf249a4a43cefd3e0b39a9a406c62c1e684bcb35eb";
   version = "1.3.2";
 };
 "pst-exa" = {
   stripPrefix = 0;
-  sha512.run = "b7e2de8382e07f54921dfa3aaa34615038d5fbe1020e2f582709dedd524f79fd40ecb1f6ffa3a97b2636e749db3b4f2f951731c77d074ee46dda3e8a1cb684f6";
-  sha512.doc = "bfcdd25430e62fffbb395f3e9522761a59a91f9fea4fe1dfe971252f2ac802736df1bd7aa5ac940dbdf4cf8a74304e344c2a262c708cbc5881e25593ef60c313";
+  sha512.run = "af3bf68bf2401e0bd7023762748180bbedae1a34fa749b02cccd6b498f1f7ed0ca0e929e1b290f9b4f56b7f30718cc602d54b348e23f73c4cfb4d72ea22ffa4c";
+  sha512.doc = "9f0310ad130ad4693575e33bb2f2deb795a8eb4cc6b3f5fa946095d979ad8a1a348feca0ee5421b4831fd16a1de23608013b69d027b0dd37f782113e7de868bf";
   hasRunfiles = true;
   version = "0.06";
 };
 "pst-feyn" = {
   stripPrefix = 0;
-  sha512.run = "fff40591bc9256cf853bc772a3d45b4abb7038813d738ac8ccc6d67f018790366b3d6d6fd4311f82cbfe733de6f610ecc93916b8f1ce48bcdf2945cb279f788b";
-  sha512.doc = "27da51f77682b12f425e6a5c229f739f3483d4d9a02bf17fbf64167309d9daf8821a5c80493d87cbb76ba1f92072738fe3b8ccd1471e05790fbb56b8301d5b07";
+  sha512.run = "c1ac123bac3f92fd92321387be28f519963ab196fde7ead8ed6b4c93ff9fe5cdf07bfee65bef67b9cd70d020adfa99c72592df9be376d69c5dadcb8bd0d6963b";
+  sha512.doc = "e30fc57ace8fb4f0c36fd1a07415e894abe6840592a9a62b9e45c0663281a79532387f5d37136e9cb5e7b27f4c0d7722e6d1a9779e1a57a2fddbd8d0324d1424";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-fill" = {
   stripPrefix = 0;
-  sha512.run = "7d82ee4e591dbbb15fbfabf2f25b86158145d6ff5e6dda65776d9ee2e4614d09cdcc503bf68ed4ea5709baf8e3e4d03a0ba05fea688e7e8637cdd805b8921c03";
-  sha512.doc = "68ef3850dfa068c2cc53bb11a3be1a298a501cb33cc53eda0835b1433bfc5af2afb8c19fb222b7ba7aec8c7dc1155c9be56c1b6b8bb9ca70f7fd6a379d6e4972";
-  sha512.source = "5e869b17a9c21fbecdb9ea803bed0026ab4c6da24ce080ca8d5593f7327d999e38890de5d328ef54ff36e0fd238dd40846dc658da70dfafbad334e7c1c55b02e";
+  sha512.run = "69401352ca7e08d6d61ce7ae89f1201f186cec6221ac3b9c2cec61c6033df03b8151ee278ab2edab6a661c49f0867d7f9e764bf45e9dbf32feed655e12239688";
+  sha512.doc = "061dcab012577f3d6e30008c15127f2f70469340598c781a436c0c8b1831d36dfce86a8cd0b802a6f174d3510ee2ed1d9269b4c894793f10d79eaf8b6d0c1ec8";
+  sha512.source = "35540e2a923b28393b68da71fc2c15166ec6e57ebed065dee8e8c9acdd7f10eb5327224e7422851b5a32d895eca29f19755bfda2cf1e0fb569deb473921c6d63";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-fit" = {
   stripPrefix = 0;
-  sha512.run = "27195184d8bfd666a666f67eee106111e2fde12a04bda2b8b828a3eaf83b49d2334392f7c11817b55ffb8b200d21d8e89e66af35fa3477a2eed33e4fd5b3c86f";
-  sha512.doc = "ac52c0c9ad19431c6dca5b5153194868f0047f6205f3aab38da7ebe63a58b788b13b667ff41a7a03160d7613718660c7b46abca4369f753611ebeadd36ce04f5";
+  sha512.run = "ede8c3503963f44d65caf46975cebdad296576742a771243914b49c6d802deb2f24e816dde7fd9a4bea7fa0c39965693575676ebeb648da099d88ee50bdacb8b";
+  sha512.doc = "c8619c7c98cd42884637de98c88d916e18db273371fd64090d5e9789570153b2508f0adb90fbec9c5184f6ef1ab24559b04daccf8dae7c5f65453044b9bfb73e";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-fr3d" = {
   stripPrefix = 0;
-  sha512.run = "a6f8d5410ea78535f7a881e7bf109fa4145ffecd4c65a28014d4913d0d3b4e84950bb3b024ce799acc60956183c6a80b4baa1744a3f3fcf48d0c74b625fd0dff";
-  sha512.doc = "9b31e1828927bf7668ef5aa1a8b064cdb37c51714ecf90d06862d6df62db158df1e3076d178e5a5017a93690814ff0c6ef2457dc449b9fe0bc0e4498a1c9372f";
-  sha512.source = "26155f39d5787feddd1d3fa9febdaeebcc7f0f42bcb8f268e1485a20ed9973d6cc470fc0538c0b720a3e541ebb616bf7f993a8d816c7bd65c1a80b29dc8de6d3";
+  sha512.run = "ccd418ac7ac5ee1885cd2b7008e867c08cc0fc13fa97e264377446d301cef1caa82b8552731a4c7d3131f0e2ddaa0267276d5b1726998a0be2f149ac67bbffcd";
+  sha512.doc = "48c559c27999b06d63ab5c33c9779d0902e05c80c51ba9225f0def724e02892557deda44add976bd5fb73403bbc2615854ef9ea398b830357f0fa5be12702e74";
+  sha512.source = "7fde5941ebf78da6f5142d07963aba36f2c298e46c2125f5ec210830f5f3694b3b1a8bd4b342b6065fdefcce1e5807321f379d030b0950d3ca5dcad30ed2ae3e";
   hasRunfiles = true;
   version = "1.10";
 };
 "pst-fractal" = {
   stripPrefix = 0;
-  sha512.run = "0db9659c2a8cf1ef0f113ff9577923d86b3711620846550f3a2819d7ceeef2a5f0f4a1fe76b1f425bd4e4dea96ba665afaa3fda2c0feb87134cfc6f017d97f2c";
-  sha512.doc = "00612e62ec68cf89d92af2d8277a25be45b294f02b9d96155b2cb5cd50664e1c941ff6c6cbc9d1128b337d89255a314507b8df5b97f94f4384873ad1b27d8f30";
+  sha512.run = "96f38a81d57046ebb50e90cd7c06191483eefa8234ea73f706e6086a3f0723b3ecaeb0157b31c1364717c5f0643ead9fe94f9cf8fac8a8b27e0a3b81d3dee048";
+  sha512.doc = "4c3793e65415b2fc394fc46c23d6a912c9288e77fa2f08e5d7a97de6beabfe2efd323f13b0f2bedd1bc52bfade476abc0f8edae38108de6419e6d4b3c854f82b";
   hasRunfiles = true;
   version = "0.10";
 };
 "pst-fun" = {
   stripPrefix = 0;
-  sha512.run = "91c1720b0434495ab9296f2a3a791940d216f32868e31c44078cedce9a0f40e9070ea6df12ac1113f3d3da1fad9ae72ecc59ab933b1a86716d9f38d61a35d7d2";
-  sha512.doc = "f0edef7308ec757a5d6328a2383d4181b1f6907a99235f976bb55edab52f104bc03cc06cb6b62cd20949c659769bf6955818981e4adc9e17705057841824488f";
-  sha512.source = "4672fd4508d4cbffb9499eb6c2d93d5fe1902713dfd8a9346875226daffb406dbbaac84b21d530b0e3f3f9982927a9830944cdb1e48dd12dc6133e98f5ec09d7";
+  sha512.run = "68d0c52bb40354a72b2eb14d2c10a18266badedd452a57e4c2a9aaad343b94f5c13f89853962e85c94ebed9274e87c44cc4ac1fd0203ec54097f71e5c4a15fdb";
+  sha512.doc = "b4f498e3f9d97be8fb8918abe5139d431656b52ac592ce9f3155c6dc7afcea17e51996dbb275968950dfae179b336ef923b2d88efb4b77506c64b5c775920d38";
+  sha512.source = "4cdd6ea161216ee5d8be410b96749ae52d212e75691de0a9012ee6f0b5044d14c5be4e8615a6bc3b3b22f8a8fa99a75977fb264730ae64218b20898444793dd7";
   hasRunfiles = true;
   version = "0.04";
 };
 "pst-func" = {
   stripPrefix = 0;
-  sha512.run = "5ad830af1b124a97f2b1289a6e3fa2dc04e2c0e0c0602735d3f44c17dbc3b86f96877ffd97daf610b6eca0ecf3d40b52b9bc1f592960736bbd797040f09e0ef9";
-  sha512.doc = "ef0b61076aefd0e583b8e7d63767f12fbde0368f402d3bcec49842414c94e924995d0efc8864bc91547a7a128b4e9c91ad3dd18bd94b973ac1ddaf69070230f4";
+  sha512.run = "77349856b50aedfb4ebe05b2e3747b2bf98715201930ac374783172f0688c723405c069436459598744c681a5d8f42aa7d14bfe41adadcff69b6bf0e45d2df94";
+  sha512.doc = "91acb2009228f42b79a85a4d343f484066ee9b930ab6e7acde69d796bd54185ad8d979b3fcfd72127203e91afddf3720a627895567e769378fdf0069f9cb8f87";
   hasRunfiles = true;
-  version = "0.92";
+  version = "0.93";
 };
 "pst-gantt" = {
   stripPrefix = 0;
-  sha512.run = "5d30ab27593046a69cb1e9a9ff7d342c53e69da72622a54f37ccd495fb86896315a0bed6bff12c0ff7db98625a340cfc95574b63f94b2b7a2209209133f12b27";
-  sha512.doc = "69a613540ab07a96910e610ec6d6841d5b6452d7fe70759adc0b7d849b662b969cdc1bb9c4ccfa4b6ed7033b5280f89537bfa2d6f101cbc6c47157c4dc94746e";
+  sha512.run = "61b59f922129de60bf954145a0c83a5bb4c0232270b8213b45856a69ca56f32a9525d70ba86e51f95fa1c8836d4922a0dec971dea16f13f0c2f83c80fbfefc56";
+  sha512.doc = "950a55218077d7203988c42c83445bfb10f53c7292cb85bb4178ab20b9f1404ab4a864266e52c3af074c45cc27b6777dae71af41caf270143160d3d59e222731";
   hasRunfiles = true;
   version = "0.22a";
 };
 "pst-geo" = {
   stripPrefix = 0;
-  sha512.run = "da0dc94471243cb61da452e136597038b46652a9efd7505dac8ff9e9495f4865e7a5219e49bdc7d66ef8d6848c76fa104958462ec486b2bf3df2f1b467763750";
-  sha512.doc = "3cc41a99d8afb27a953f5073efd5ab73f6fc0dba3d4f2bb878a3d1af7abf5de6a64710b23986b932d7edf37ed9ef9eb55e2c9808c053d931be5b5a02a88352e2";
+  sha512.run = "2b559409de635cd04e9b128bf44ef5f92ee765d4ccaf2132e3014d9a75ee61867de1724de2c36752bcc600014767f058c3799a5387aa4029268d5fa9dff4e0e9";
+  sha512.doc = "762140a38d7f39875d2d4d25aff57187d32daf017d5be19f7fde14c482d9128c4b2e911f67446cd47a28cd655ebcffe485dc4b6326d41bf3b0693072647cac0e";
   hasRunfiles = true;
   version = "0.06";
 };
 "pst-geometrictools" = {
   stripPrefix = 0;
-  sha512.run = "65000848ae7496342db63523041937294c7c8710aa6639dfdd6bd989410f533d11cdaa6d23796efc8a1c2b706bc45576ba1a66512b7bc51584c341b41bf60ceb";
-  sha512.doc = "4ca6832eaf6345354693b99e3366c5ac0c91c2f7fa8ca2160ce5133e260d92139de22726ef151ec37c04bcb3220059d1fc1b92d19ec53fcb36fc28983b0f657f";
+  sha512.run = "1949864f97f21c6cd2a0e706028d5a0ecb4102c0afc5874b78c2bf883aa6698551214ac232f406bad9955e0f0a78f059118a4d950bc4b69bd30ecf9b6fc38606";
+  sha512.doc = "adf2ae63d32d2cecf77c2aa950c8b827b51d0ae923dfbed7c851f0f0e7d6018216d92cf524b2cb4002c4040dbb579cff552a37cd5ef57cd2d0579b01128a3be6";
   hasRunfiles = true;
   version = "1.1";
 };
 "pst-ghsb" = {
   stripPrefix = 0;
-  sha512.run = "1806c8fff1653b8b7e838940d01bba3a0dcec14ead19941be6141e16ee42a92dfea8a0f7238550e6fd5b4856ec0d149bd4cc820145609a75b09586d5d00b1b01";
-  sha512.doc = "7374481f7484b257738f0be0723bf378ea3e6dbbc2d999f0786379fd77f3e11247b03ab723c216cb1a37b4b61abc93de3dd946bba058ba2d4f9a37e931a43094";
+  sha512.run = "3bb85212ac247b5d6ddabf8d98f7ff5621b78ae2b83b08c00ce7c2831f6f6ec4d621a4e5f2ad00e2b5d8883f95aed579f0d17a5525c9df5ef9939528ec736325";
+  sha512.doc = "cfe4f9f8b24fbdbf22280b098c32c1b9b368fd6f74cd20c1ee7b241bf3a9afba822fda33b9c9365cb9c20c76ca658123039eb27828361d74e4a31fc8e170a6bf";
   hasRunfiles = true;
 };
 "pst-gr3d" = {
   stripPrefix = 0;
-  sha512.run = "f4fc3a9f42441ecb872605877564251d59c191d455e8207ddbc541f992687dfc622095fa248b18b477aa218c3d71b416cb0c832c7930f006b8e4e0a104616c01";
-  sha512.doc = "9c2c30653ea53758e12938432569f08a41670d1c8957d6963742676e21832561f29e439f07ebd6ba194915ac5463c89791320c9bb3ac609b6843ec17aa70a6f3";
-  sha512.source = "4f657820d3e8b0a7a9d8bf89120bd2e9b6f33c776a7c6eab19eac2bcccd440941b4c479beec06cac182b43d9614f8ffe516f11c0438eac86a37d63bf1e4bdea3";
+  sha512.run = "85cbaa41c3cce49aeda36ef55a89122370fc23dc91c5e5e63790aff2b8b748eb6a13a9a921836b2a471ab2deb9577ecf59be0bc6dfa4d2f1ddcf17bc33ca4264";
+  sha512.doc = "bd9026c7730dce9c09a092cc420fa7ca8d7c85db4a1f9a665a64f933595b43397027904c08311ab2301305f79a426a1b726b8df2c237c8a545726fadf9b8ed30";
+  sha512.source = "ce6786ec803ceeb33fd42d2d786d119ec2f604c1d4b4f7a51c6e9ce9e4171f01fff33b66b234a5af854e5bee24f23bb50abb898ab89c568150a50ffd8ff7d582";
   hasRunfiles = true;
   version = "1.34";
 };
 "pst-grad" = {
   stripPrefix = 0;
-  sha512.run = "50e1a82b66cc322e686037c12f59da8f57ec0145a9e65684bc7745fb57d03711d5cce2ef255a4e6f9ab7248a64e34e881b33c5eafb3691ad84334a7e0029db47";
-  sha512.doc = "eb1f56084e64f638366aa165bddec413ff33cc95cfe8a79e840a5132a9a40c6fc277f394b9e6506a47aae8589902cf01ab703eb76be8f4c88f7cbed87aee0a74";
+  sha512.run = "f98fe4e4996e20947d90ef24d6825d72a8ceb6bbd586b0de9b90d5d73208816395e5b195dcda2816c8e709fa4c408f3b814c02911488c83a207039d28654b9e3";
+  sha512.doc = "11f4a4de67f92bb2ba77457b5940e2b848985de111e3307215981e6d39617b8590316de5cb6e5002748d9e951be405e3f938d1708c28a7970be53808688c10ef";
   hasRunfiles = true;
   version = "1.06";
 };
 "pst-graphicx" = {
   stripPrefix = 0;
-  sha512.run = "dbe716edb3f590baca6be3599d6e5a56495f5dcf6edba295629fe51aba3ba482bebcba68628faef5f183c59dc250496ba24f121b21fac703e4d2137432299b5a";
-  sha512.doc = "3391357d54faa7b45e23094ffb1363ff8e8e80202a94dffa7d207a7d86825f9fb1990a90c47301ac8aa814c4c15455a0629cc08356a58297da78ed4d773106a7";
+  sha512.run = "0d3f2d072a7bbb58ff555add4df7347a4dcba929bfba49d25dbf6b95956462a3fda07818135fe40f737151f323a27225983f656389f9a91a8295145ebf2877a1";
+  sha512.doc = "8deba57cafa74987ff7dd22b52db699fef2067dfb62e8e2c7e8e17b662f1d7644278272ee97209b3c109345ae8c295e125d1b195ff68cdfa8362eb3b7ad1bc84";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-infixplot" = {
   stripPrefix = 0;
-  sha512.run = "bfe9576b59f09b273f1540da1aa1a2c29ae36f05d3140e1e4f7e7e606175bf8c29ebf799f900f1fc5f19ffa53ba6d9797dfd0f5a3a586acba99b5ff0b4dcc2cc";
-  sha512.doc = "0df4c60d60fc99fe329b6dd05abd86f9ad9c33feb7f7595f43c610a826eeecc040b554705d914f1e176df5f4cf172f745e34a2f03550998039c9293422aa7981";
+  sha512.run = "a8e69a4bc20752d5f6d455f34fc4810e569a5f444de257c1b50c76d567a23d868b0e19c9f4656370a12d3a53ef35ad43e7dcc946782c19ef76091634bc2440a0";
+  sha512.doc = "0b6958f851af834917ab04f39bf60d50e26eb61ea52c9dee91274714ec0a87519323b1f9ef7d665f0a6d05cc97e6f8b1bf51617f2c57a5d80ebb96ba1aa94306";
   hasRunfiles = true;
   version = "0.11";
 };
 "pst-intersect" = {
   stripPrefix = 0;
-  sha512.run = "0c960d5aa888c197e962211bbeb2a4de7a241b4407751670cbbb64ac198b9b3acdb6e6d75b87819dcca01322a33def3b0570c2cc0ab2fc55cb5d10e0be3a36b6";
-  sha512.doc = "ffba933e0b3992eb3e680c3a316260bc3f706916ccbb27c51c8593c295c11dbe6deee19a4eb1357ac8c1e9587c624bb6fe2d4737a29dfee61a71d85e6c00ac41";
-  sha512.source = "f7f91edb39817a714c32d6baf8ee056eff0fba34f58739d27a2ca495dc7b534a5d5e3ce81b1f5afd3705a4954afc73dbe6193ba2ae953f64efb82214ad12c0dd";
+  sha512.run = "847a2532362e570d3e14ac4aadedf0cf1ac0f2da1991837abcb6cbfa607357d8a451d852bec9be50ea8b2995716613475c4c1ea1c3766169902eb82e70aaba0c";
+  sha512.doc = "e8775b9d8adbab9e7ce63d595cb70747dc3d850c4b43095e1a35f6be8093b61ec92457c7fcf6565484e62b1aa7bec82700d8ccb2dc8dca0089e56bc8be5e762a";
+  sha512.source = "87bbc6bb4d4b43d6c1e93e89d7d96c5f9941187181eb93814110e3930255d6ac6c95d81a53a6ed440f6bd4fd8c38725e4cf5763467722465cf941c4cc16b5841";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-jtree" = {
   stripPrefix = 0;
-  sha512.run = "f70a8f837acf2ac132516de3ea6ee84c86852c430dd0ce1425751389590b3e154f024668b62b149998b818ce517be0d5647b054444101df0b66dbc6e1e4ddd11";
-  sha512.doc = "9c49176534e5d4b77e47ba452389e1f378470a703851a2125983a56afa2d84bb64bf90c34ca80c1dce817a3b622b5a60f099addd9458101b9566d5ffe73c022a";
+  sha512.run = "9947e00e7fdac25f25f1f828ff5b9a3b962b1d033c57232d2d47736ee7a675ee48367aa934153ec17ae3f2eaa763044dc067d83b2248c5f42a93eb5d9a79e292";
+  sha512.doc = "4d0a2432e9880a71f1d7b6a9965dfacbebeb44ea2586fd428fa58f634d7670d763e9ac293aeec6adda6cdef98736a7b5d341ec41d89bf3999c4cfee9066001ae";
   hasRunfiles = true;
   version = "2.6";
 };
 "pst-knot" = {
   stripPrefix = 0;
-  sha512.run = "a29cce0c9656747faeaa01d9e85403c0759618c69fae83a562f537537458b9c0ba0f8bf6e515e43cbf859b56cd6e3feaf1f6cce72b868a387a275e5c85931a8b";
-  sha512.doc = "71084fb78959f3f83e4dd4b3925118c2c1ca22b4a79a3d1edb44ddcfcd39ce75091054e072e96565e0ae2cc10bf2d58cf01d5f966344e5c84b9ffb04bda531fc";
+  sha512.run = "f481b82e5d21dd86eef3cf64ecedc45420b33e43619574f072a050fd70a6446ef8d527607ed5a929443ff6976cc94a03817837c8776bb2ee9794fec80a4c0751";
+  sha512.doc = "a8a82ce955b707c6ecb319783cdc4fc8406411dc8d711321919413d84ca42197828e69ae2b6b368a4b5b326650caf5393cb2214a7cd8b7bc0cff742b9b0d977c";
   hasRunfiles = true;
   version = "0.2";
 };
 "pst-labo" = {
   stripPrefix = 0;
-  sha512.run = "0c98cdef5deb3d02d48666ce2e86c728fb428fe667fe24980e8006091c1e40da2a11b921105fdb896ce8e7c02e01cf7d7b571bf4c00d72d97cb21dbef1e88b24";
-  sha512.doc = "c120ddc3a909de7b6bcdca7a985388d6a9bd6cf7818d63e5b91163b44c5052053202abe0bb81d673f10bf0bd53f61ee9e0f89f8aa7cbad1dc7172fdcd566f248";
+  sha512.run = "a8bc971be59f1072657d9cf9d26056ba800023858df1d060ccc7e31d2c533337520e9583de00085842dfafe84a590e0c90706ac00bc98da282a5454fac76aade";
+  sha512.doc = "1b35f244a45fd18eeba484f925292358b5582f0ba18a9c6622afc67ed287e74d0c1c876ff78c19de0e9b53f55c86f30f47a6d179e0142e79aad5c5799e497ba5";
   hasRunfiles = true;
   version = "2.04";
 };
 "pst-layout" = {
   stripPrefix = 0;
-  sha512.run = "de6f24e890d87af52734aa2ab51f9fb93c350982596c1192b6c9907b28d5c7d8099320bcaa9ec8d6c272ac93a268fbaaa587395cdd5acf8321d3b488ece7e155";
-  sha512.doc = "102e315ca001897b14aa629549c4ff6e67202c93501c22250360ba24e0bf7460c95f2e80846129419643a3f22c6f8dca77317556a073a0e623bf4ad8c7672921";
+  sha512.run = "6d4c06efe0d0095ba52eeee25ffdaf44f836e1e41840d8098e25c6fd3b5ee79d28663ef7f02ddd7d1ba21228bf4f9bd5a66548e3aef642a49cc9aab5b4b24fba";
+  sha512.doc = "fa32cd065979fcaf2105372155ae8debb399a0f930d6b85e7ca4a69d8b76bc0d7fb717ebdc8fa4c9794ea03268c2079b93e0bd6453155bf5925defb75cf05e08";
   hasRunfiles = true;
   version = ".95";
 };
 "pst-lens" = {
   stripPrefix = 0;
-  sha512.run = "0d0b241c6126e4acc51052e83d4f945aea5fefc37985f9d71c794916e09de09a1b6c287ca212abe2682438042526ed9c28c3a67ad5e4ee5ea3ba5cd6f8c3e4f7";
-  sha512.doc = "2a95118ef33bb3487dae96f08926f3ca35a9a23ade7ff2a2d917639b229400b75bccac318710fae8dc61d5cad0098258bb1d0357c67d847129632c03b5f8be98";
-  sha512.source = "5cff0f11ba55910dae063ae7bf1ef41f038e900b08b0dd406633369cba8b5741a05f4afed3dac7d371ed9609557c5b0c244cb3040154e6bcfccc7b3d32a14370";
+  sha512.run = "406bc53d476d47d464f7fb318e75a5aeac85cf4239ab916e91728f5d8c0c05a9fd4c4fbc24b4b058f1c15d1ee4c6a0d45511b8cf6b288bf10163523b2bed0f37";
+  sha512.doc = "8d29f5014e0bae5d1fb22483ca3231e3631c76820be080b3a588660f868ece861c2d816291656a45c8a33356b992cd6e2396e9d73f4ab316b877b2ed8b778f7e";
+  sha512.source = "7546475681934697c5fbe287d9d0c81c4532cfb07537ce0184addac26a3c29e4a37da5e12d9ac3e64f83436c07ccd9ca360ca276f77cefbb9c23c740b15bab65";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-light3d" = {
   stripPrefix = 0;
-  sha512.run = "7130e4626b7b793fa85a8eec4d97f4977317fbe4610cbb793003001000481d243fc304a7a0e7daf9559547b8a5a5707fa6c9c2db022346e3cf7a701ad080b9ee";
-  sha512.doc = "e848dad90b266538c9ad71c5d3a9cc892479b947120e3c35469b6ce3e22bbd4594ab544b5fc9c13f38559d1643d8f0d2cbf7f01e6f08f6d56dac7aceee875a64";
-  sha512.source = "74551e7099a63417322fa903ae0b5c69aa0d26ea97a188cf3fb7c2495d478c306ab6ee86ee4fa32046a5db3515974474039040ca20bc64f6b41ce22a82927bec";
+  sha512.run = "2bcfd2835e20302ec865667a44af8dec63c6c006c8a3e39b048464e129ef04300d0d7c2e23f324a8acee0e1ae1439e75ce642f7b76a8f1958d600546ac7c220c";
+  sha512.doc = "166f47222230e24530508e3ca66c881dcc844cb8cb35b92fdbeab164b964ebf2928df3068d79467fc8a9a8a4db81d2be48350036169605365bda116cbd86d095";
+  sha512.source = "8edab208ea567672bbfa0252fb4180abd8134702058223f04ab23c3ac92dca98f4946ffc31620b9d65376ae41c819038403ad3bd7c9162cabf8efcf7d4d57362";
   hasRunfiles = true;
   version = "0.12";
 };
 "pst-lsystem" = {
   stripPrefix = 0;
-  sha512.run = "0fcddc3bd6bbbc635f899e6dc5f04eb60305e17668779ed172516ae4cdc978f5e04f8b88af553352cb57ae7000a0e10159c71087a66bbc8218b3efba123fc656";
-  sha512.doc = "d31093ef025c7fc090fb87727b792911c28ce55f4af79353a755ebeac85467a5d89c556fd6213ec96788971c36e25bd49b96c9c8a9457177383137f750b868a3";
+  sha512.run = "0da3611c401895f508b6963c46f781863ab6b42ced2addf3413b74ff1c14daf42cdfb5c166072e18427871ed6d06c5cfe3b185f0af30cb25db2f346828ee1682";
+  sha512.doc = "0b277cd979f4a12abb57b8e6d2562b156bba74e0ca46da10da17a6bc505c6747592b5f19c5a3e9b72f99bffabcb45298663c6dca33c875c923408646c4c5f6d8";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-magneticfield" = {
   stripPrefix = 0;
-  sha512.run = "e1077abca13696b627b4c4d86518b09672024dd85467cf4233b95e61a2b9e2a612c7d388d8c8929771f8b12c7784cb57d69ea01ed3e25b00e140083b97207a06";
-  sha512.doc = "6b45a4d3be7b7c32ebd6a8fd222e3d8f4753fcf8678016a02445d395d1dd2384453d3e0f73884fe322870040383e35dbdb7cc44b825bad96cffeb252b9d2a0aa";
+  sha512.run = "cc2a45978e49d93e677f4b028afeaaf89a0ec5748f545cb575fcd339cf92e1b08d870be79d80a5cf464b29b4e51d5ac5196bfe0665408da1108abf4da4f57222";
+  sha512.doc = "cb757378708fea31eb6e644eedb62a23de45c756d0d4fbd902d40a4fd9bb8189ec1a513e5d12748ee2264bc6a35eec67a7bebb8d59128a367025a6dbc6f5551a";
   hasRunfiles = true;
   version = "1.16";
 };
 "pst-marble" = {
   stripPrefix = 0;
-  sha512.run = "ef79e078a60bce9df89eecf3fed49cfac79414434eb8f464424b9e2a34948a9c07339dbb9b5fbf5a4da7ed6181e6e3131fa0d3a34cb835bd356abba5745c478f";
-  sha512.doc = "1f62d1a211dd035cb9988c67c9ffcd523a7f9883ff211ab4ee73d78f811b2bb220061aeed1b5e1a445af346b241fe1a28b966dc298e0bb2a5fc5dedbb2855548";
+  sha512.run = "e16ea0ed61c6548d43746f251bf8581a00863370b73d46077e5510fd167d63a539ab4543f0ad7db704571b5274cc5756fb713e5182c8abea404708215a98849b";
+  sha512.doc = "5684abd4913353b7a4953ed1b5878183f1c10dcc1bdecea6f3e9e6adef7c73c7f16cdade2b5e18f4a645c203dfb15a3917740a7638c410002eab892bc5ca6acd";
   hasRunfiles = true;
-  version = "1.3a";
+  version = "1.6";
 };
 "pst-math" = {
   stripPrefix = 0;
-  sha512.run = "591a228bb7e3b9704ab79dfe10e9ead94abadf0e50e8934d6da4cbac1332e4bf3aa56e66dd0e81d001f3b888b537a1ee3376183b714172e46dc386c6e35bcba4";
-  sha512.doc = "016060452bd9456f848f268a660a6aa8e577491371bac42ad352399a8d637e7d2222e33ae6131335da7c21e7f7ce1d9c8ffe392cc03061300eb7923380e5f0d1";
+  sha512.run = "4cc671ab7b7cfac83cab929d2a0cfba81f7bb6b92d89460195fbea2875511f9ac51c1f64cfa527903f2c081201f195512443c358691930cfe8c57059e907df53";
+  sha512.doc = "76c4425e84bd67e989fa8c533dab1660c03aebb8c21dc335d26d99ce4b628aad3ff4d9769c7e1f501b4ad05b7762142910bb34a97cb92ff98a1cb637a50ebc46";
   hasRunfiles = true;
   version = "0.65";
 };
 "pst-mirror" = {
   stripPrefix = 0;
-  sha512.run = "6bf53ddbdcb2aa1a90c065fd102033d9293fdd7f8d413fb711f8e8bfc006251f5f374dfa58bdb9d33ce702c6b9a57a4b7f1e3090309ac50ca081114ed090d6a5";
-  sha512.doc = "8b2488c5c4dbe89c5dfb7b4d7a73199ac9e61db99507aad52497b4bf19e2c5b3045fdc48ce4eb9ea1897644fbab26adfb4eeb9de510a6f312e36252a440fa9e6";
+  sha512.run = "edb6796eb96047fe09833056c409527df06d63dd69e9c2b600c1301b43b6e5c858d1061e9a138c89ab47657682f9ee67995a02abfab5251356e2eb8de68f5316";
+  sha512.doc = "a9e22f2e00f67f12c69df3a6dd4377d25b8c130c4afa8c995c8961ba426f69f0c286460925c7c782a30b2a23ca5f2d4a46a5dbfaf72955952f561df2545c38b8";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-moire" = {
   stripPrefix = 0;
-  sha512.run = "16b00737839b6c82002d825feedb0192cd826c08301151e50ee39c7f38bc0757d80522ba34901ef5dbc1ec99e8563e807305d29e544d60bf18c89d64f1104c10";
-  sha512.doc = "c9ff3584cafdcf1e5b140e2db287013accddd9be0bab5ab4803b0053744082fc4423f19b5836b39031b5cb5f0a41fa85f7ddc626abd2b726f19f6598974b63de";
+  sha512.run = "7ae5693ca401b037482c4b8d7173a03b677ee1a8dc62ceccb710264b196a20240f310c26cbf9924dc2b4a9fa2869257843cfe4c87c26616a0f790ab444130a13";
+  sha512.doc = "442f2477e9eaf122249b3a06fd2755afc9e701fe4333102274de3635eee398231d422b8077764465fa42041acc6289d00b4254505b591f055c6dddd41516d0e2";
   hasRunfiles = true;
   version = "2.1";
 };
 "pst-node" = {
   stripPrefix = 0;
-  sha512.run = "9ebf3355f23fa67f2469441f77c7a58b8c15a7eb04e20de80f1a921daa2e67fb176e341d068ad3dfbfbf17e015c75f9b9e315601208e17df92ae3051eaa21bd8";
-  sha512.doc = "45eb2db40396e1dbc3c42939270071ee6091fed63f9b2f8b30da076b8feb8bfc6deeab30d5e1325a9fcc358fb28e7fc6e207e28b55a3da6244120d0973f8a288";
+  sha512.run = "b4feb98035acf2fff9cab8c21c7e408fdf20dd6f12ea5209719eac9d77db51cd907e345daba876ab0b7312bc9dc4a51be17097d3fb02f0a181c006c4385b2096";
+  sha512.doc = "2e47bab65f6077f796bf4d50cd4f5911eed2eea658701c46e47d65543697c68209aa307a5f620fedadee8ff2ba28f6ccf92dd9402bc3264616cdd3291b8673a2";
   hasRunfiles = true;
-  version = "1.41";
+  version = "1.42";
 };
 "pst-ob3d" = {
   stripPrefix = 0;
-  sha512.run = "23930d438d23141591cf02c45b22396935cd1b54f8a75bbfd8729136ae8f57951d84527d0dc4dfd701dca7ce9812643640c0c0afaa7048733d2d46564720d617";
-  sha512.doc = "8b916b99f8610121fac8dfd4413dec2c96b7be6cfb676b7a57547c66ef8dee4917a5642418f77bb47174be9ba2fa26328b80d09af5da726430197b96c4f215fb";
-  sha512.source = "a6a0c47dc4938d1a461952cbe0559d25895e04c90915b6b13e8c3133b160c913d7601b397e2d4e1fcbb376b2c119bb7cebcc2ebd3890cfb81e8bdc9b9ca4a4c5";
+  sha512.run = "1b4eb87fd2c9c63edd4d7388b32c5e6a8f4d6ecc87b9c1129540398c607bdcd258b4f182710ff12d6a7a5e8b8f34c6686203d5c0ff9a60a1a6e462ccb3b382d6";
+  sha512.doc = "f934cc75f6d2e6f80bddeda8d2226e6ba0aa6749adef4f08b83036a67f1b8406d1fff61a01862eecf48ec6e3ce76af2ff7967db67a294956fce50d3c7497bf00";
+  sha512.source = "4dc8b724abb5a48518edb8f0d39152fe99fb2ec78c59fb8729f151865b9fe50105cf4c3027361d4e6a75cceba99a7e399d7e522aba70f27d4e4816037e87e509";
   hasRunfiles = true;
   version = "0.21";
 };
 "pst-ode" = {
   stripPrefix = 0;
-  sha512.run = "746c5be1c6bc928222c2e97851ce43cfc7420587adc0590836a696ca0f08baaaca53319a3aeb4a836eaf430c1e90bfd04f9318137f2ad9a071050d25ee9a51df";
-  sha512.doc = "5a0beea3a720b1e3401ad90f8a33b0720ce162876e377f827a4eb70e882c616fe01b7bb5c31bb8080aaf42edca5a5db1ce5f22e3bc7705f5a6d63ecf74e12ff2";
+  sha512.run = "eb00fab8b3932a868526aad8c1623ac7939d45a26b83374779f4eb3d25807ff58a5a75ce31adb84af650939d7e6957336f44d8f7a15de33262ee7b69c70fb002";
+  sha512.doc = "5da26468c9426f614080513d9dd031bab06fdba87a899be28e09a21c7de75b50c4dbf00ebb569bfa63293bb7881fbdaef76f6bddac5a7e8084796fbec2e7ddf4";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.13";
 };
 "pst-optexp" = {
   stripPrefix = 0;
-  sha512.run = "98016815e185ee2ededb6abdd70f476a268bfcaba98208b7037f013d6a28a2fe18179a8d461910a50dcdac7a2d13df72b78d4f39e884b751962c53774a42d283";
-  sha512.doc = "1aab4ee03b8c109c0fa92b4fb9b5391576fc91ca3e12e02b76f3762035abbc80bb0044d572532ff1f4b7a1f3325de330d6066d8fb1ae8d3d6c2b9fc46475832d";
-  sha512.source = "c7e7d135d47f880950b2b8dc802bad8b7b8908ddc858f0158621d0b8c654453519aa0c7deef75afac5a8f53746784a37c27aa1b2e72aad099ae93b4929f23e10";
+  sha512.run = "7d171906d8fc840c8003e82b3ac175360dab625172b389c6205371bb432e280195c2daf53671d8ff2ab43d24233ab2c8bd3002b8d4489c7395533148bb40e939";
+  sha512.doc = "f9c5f7bb43f9171b53a10941db9baf3f7e7b8e50620679f176a14b0b384a8a79118361e0e7afc2a8c44a2e9916313da6321cc5a08ceff5adfa4a678e35fdce46";
+  sha512.source = "ae5d01a591bdfb8128957bc992c07c7e609c4a2e2b8a1c43e30960f85774d5fd56702eec761430f26c3ead975144bf196c397233decff205071afe60be0b948b";
   hasRunfiles = true;
   version = "5.2";
 };
 "pst-optic" = {
   stripPrefix = 0;
-  sha512.run = "557d2a0db4731adeea0395f68a65989f5edd558f8b0ba00e1d7a43774e3c6e128f80df5977a4419f4362a96594933bda7f81b3a275653d3984dfdd25df5008a1";
-  sha512.doc = "3ae2d15d4d0daaa350014923fa1c273e18c9454996220dc022e3770312f364ad64e822114e93a805b134f2ed1e6a970c058a53edbec640b3e06b933b41d32f27";
+  sha512.run = "c9e0231301824a612c755adbf2789f9cc428bbc6133a5669d173ff1426663f704aa978c506add7e4a0c786b51ed61df355f59e7b6392f355ac6913c6f9336f46";
+  sha512.doc = "cba9465a3e81060bae7ab4b8d7c8a1ef804415a3f85c0a89c98d57c6a3e8ff2c58a40b91e9c6281ac520be5b03f13d1890d8cce063a892a84d6eee5f6beeb625";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-osci" = {
   stripPrefix = 0;
-  sha512.run = "6f3188639903d41ae04591886a5554706df11e5fd3fbe9a9907ac22182a2fe8bcf2303d652ccfeb19bb310af66075c4a5d94c47290ef9ca74eb80dd6209ad010";
-  sha512.doc = "55704231e3d99f1d41e89296023945d57d9a06d2d7a81242910c7fbf5426d44c471baa929308146a80ed824146fecdcfcadbc5ca31130d89565eaca1fbd2b69e";
+  sha512.run = "d36d987ca50c50c0840660070dd7eefd4ff49f4e86b1a6f33bb9e549a1468f4992a7eff6de56307e5d5bf4e8063534cf4f658df8e98571a1d86fde3555a67e08";
+  sha512.doc = "80d99115c7c3fdcafef8f4be99b3066799cb40571e219158abb48de0ba405a0c977d0158c20e2b550895d1e63580bc7366338fbbbe7add2c3a89abf618583ecc";
   hasRunfiles = true;
   version = "2.82";
 };
 "pst-ovl" = {
   stripPrefix = 0;
-  sha512.run = "6b1ab074412f058d0918174b94f746b01591843a19632b0ef0de3a3b4c990441474fe95a29e774c93d32b7229dab78fad1c81783026f839466c9c1d74be49bb6";
-  sha512.doc = "a5816b91e3e0e094e734eaa3d972d8ea5967580cb3849bed6178dd892b0dd12a896f9147cafa6c1c477f94239df1af81b55ace9b193980e49028cc7161ed7e64";
+  sha512.run = "2777d0d3011ba4ba911dbed78bb3ab29eb54bf392a9aaf73707f17e5fd9ccded0198d0b42bbdbc6879b2f07ba84ccf9d121748e3f0d3f931a8fb6b6e2a904b8a";
+  sha512.doc = "9b7057b4316adf9f0fa30561c658f309cfc1be757c0eebfb63bb5cb94dc9b8b6cff502f056f9e1d64b207cdd154c0ec64b13c51639ae46377c4d58d51aa00725";
   hasRunfiles = true;
   version = "0.07a";
 };
 "pst-pad" = {
   stripPrefix = 0;
-  sha512.run = "81670343167d716927954061016cad8e239c9fd3cec313fc5238da30cd3f93a9495d662afae7df6aead69853dad0942477adaec2e6ed9c6737a1eadaeb32893f";
-  sha512.doc = "572d5d79d08602a9e085e8c796fa332101a683b7328757d77e3ca56c949015e025068d372349ed07a884042f75c2183d8186317600996a5224ab360b6ab6cccc";
-  sha512.source = "98841a9942326e96898b7fc0c318d83b12aec22aa345852c5f978f80368a109563246e173c8ba1252d5a0861c197fff1693b6cdfbbdcad7ca52adac1dc592b5a";
+  sha512.run = "cf519f69dfd1003ab17a4a67f309336442bf35497cd0102e346ab8537865540c314666fbf01cf6e3e106ce922fd8922ac4bbb5b20ee90a7ce24a7a98ee974006";
+  sha512.doc = "0a2206d3ef84dce88d3e0ea7899fb623d12f7f6a820298b031ff76044eb9ec49bb09f70f6ee0b00018fcc02f6260d67ee58c8a06a48ddbfd2e5b17f52d374830";
+  sha512.source = "ffd5ef230c25a731e5127cda390b60fdc275d53a833f8fd02ef8fda7b959d7ef5e2074637af603f1e510cd558cb3de22245bc34f91bb7114269425d3b4db211f";
   hasRunfiles = true;
   version = "0.3b";
 };
 "pst-pdf" = {
-  sha512.run = "c9a079b3f0b01daae0cf2fa554fb939ffcd585e83acf22eb04c259de986aab0cd4a17f88f96696d742eea0c84c65c3e32ee5c9f4aba4f22908f83c81e2b1cc3a";
-  sha512.doc = "1fd832b8f27eba2cf3cb8af6709b9171f7da25a6ea6df22dd65727df8b28ed073d3d57baa88d6b585514b3c617a405f73234114fd66b07e35b8322cf03a89d7f";
-  sha512.source = "5e54c108e6181c5ee92dbd35f220607aa98b596fe35811d5d88fe0cabc68fcca217e6d6b2e2586defd07d116400823bf0804474b70c2270560c5396a5e39f7c2";
+  sha512.run = "537812f3811e9a62a2c9667438ea380c3219b1cd8a96ae2225e0ded063f1f1ad572a699d4f9d5d11f2c667fc560d94f17b275293198c5eb4035dcc3d3cb92242";
+  sha512.doc = "bd6e6b3c7ee31cafb5c6f6064abb6b6f4a197c10f4ea184fe028fab874a1a5b6bbf39719a1a620fcc9fec23e52ea15c6abfd4b66f79c788755f1ba8eb65ef778";
+  sha512.source = "ac181daad359ca790224fd0bc2eb560ca59312ec6330ff64c8e9af3cf58aef1f6c2ccc3310ffa9bcd2ccf36657d0675b8c926c859ecb6cbb3f5382257ab6ec85";
   hasRunfiles = true;
   version = "1.2d";
 };
 "pst-pdgr" = {
   stripPrefix = 0;
-  sha512.run = "d59221926220e46ba52d1156497afb7690184dd9cfa09e9f2cd62902d67743d9ff6ec976f50fccc50090eb96dfa5e4233e8baaa67b2176b202216d0e921af3dc";
-  sha512.doc = "0d7ca6afd872e04aba4049ce242e2bde6e34ffd5bc71c4fd6dc683f2e8210f372ddb817758e6cddc001930450f3ac80f9af7db0d6839d95ec1c56d2a67987bd7";
-  sha512.source = "4b5c15f28e408c1e7ce80608b3838d42f1b3c12f8c1c1b6865f9053c299441f146a90830e5602aed290d0c15b2ea4e86fda76a74cdbfeab493ad9c7ff8594d52";
+  sha512.run = "c42b723e2739eb3a70f7a984d45b6b738a1dab1f4f3bb7311850c344be736fbc97ababb6f744539deddc7d1cbde47830e81d1bfd42f705a7287b1fb970664823";
+  sha512.doc = "006395a2e1caebf8c86f4eb41eeb03a35d47b82e65e18ce4045eb22f93bc78a38f7611a1328216712d29be852fa3431876254f3b41b8b7a2a7c453f32a8e1bf7";
+  sha512.source = "e576ffab3eb1b0094bf7514ea996146c1d73abc5f68a47f3cdccf5e7fe7eec133a21511e9d1107ef20541750b12766899bd3c925e09be931b1e0e2a1cee376d9";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-perspective" = {
   stripPrefix = 0;
-  sha512.run = "6787f0d3a5c27d4590967bfa3b185248b78d2956926d1e1a747036de73a4ead131f27f6367ceb31254ae094cfcff4eb365c3771b79d5aa5f121ee3ec0d24a299";
-  sha512.doc = "75589c263d16543ac02259af53c47f1fe1ed51eeec0ff1ad8fd713727d8d317b900f58b7835cecc750eda7edac9b8568932dfae7477ad8f735b502d905fa1b21";
+  sha512.run = "b1c6c1313e0f87d7c4dbc7122d09777f14f02ad0908c6151fb5da905d908a9ca2d905c5a9e3fb1e54deb0b7b91dda1488de0b96ff40683488947985d68e2d331";
+  sha512.doc = "df82bc95d3720f7da3c23736d83fbaeae5132f7b84aea9f2fd8ddf925f919e5d56f6701bf5b541446c024e8d2f6a5875d562d96cdb1564dae92d6ade759671cc";
   hasRunfiles = true;
   version = "1.05";
 };
 "pst-platon" = {
   stripPrefix = 0;
-  sha512.run = "655cf06fb8edae714903cae3f8eb250e3fce466b98ecc6ddc4635c0f420923385e8a94750b84f906606b6ab5a43984bc0618faeedb3aa8cd121a764668a825f6";
-  sha512.doc = "46297eafbdcc006f514fc435c883658baf9a67217fd995d9c70dd1e116d538f0a46d895cd95734bc24fe1c01ac392cc5e134617134b52c6a11ff4919681a97ee";
-  sha512.source = "e453ab72984f6e47995d5ee1d058ffe7bfd10747ef46df1830094179f1cf0624ad3e45406006e467eb351ec0469d6de578c2a0074f40169ae07c36d0bf039914";
+  sha512.run = "8eade14982b0ffa2c5e7d5c68a91d4159ee6f3317b20836c3f470ed68940a522459bdce54b1e1dd4068173e50b0c611531d1210b1651d805602f952a1696626c";
+  sha512.doc = "7c252b535853c4941fc4cdbe504a3c20ece2c04dd15e2bc5ea0c88928b5fdd7063035c329dccb7ed04d71606e70f632fc1d66847dd35ea46a4626c04070974be";
+  sha512.source = "092665b806f358201f0dc1b0010796c2090b84cf31d1f0e9e33d2ce370049f0e7f65ebac23cf9841f770df8c61c22bdea60e583474694311c7e3fb4fd71ced6f";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-plot" = {
   stripPrefix = 0;
-  sha512.run = "ff00ab5b21fe44fbe08447ba9861fb9f9754ae8132856e2e9bd15b2d4b464db8fd88c262f658b337ee181f9b3e7b64ad5bdf8950ea940ba5eb928d03a0ecad07";
-  sha512.doc = "6ac79e74d9a14544439993d3268d7959eb6ae55a90d8b3b91066d3be0c424d373edddccbe444e9cf261171fd6a57a0139f3bc6a6495a0fd4f196dd8f95e47e29";
+  sha512.run = "58b2d0bec5abad6a4f1c2467badd6ca7cccbfdbbdd0a838493aceeb37f478f4500fc95463176fcc97e34111249512d50215a319b01a847d863d54bcfcf5e73a7";
+  sha512.doc = "748945b66f21c63a160b793720ba5bd9243c73602e68e43ff72a5f52ccb4004de186e648ad0e5b5e883c3772197eb2a36ca0cab046f8313a7ed8ecad522fd761";
   hasRunfiles = true;
-  version = "1.91";
+  version = "1.92";
 };
 "pst-poker" = {
   stripPrefix = 0;
-  sha512.run = "893265f9a0dea9a4a473de5480be0592b6acd528fa2ce605e7a21051305b934188e49fe16cb6c71484e73e256035a28c6fa4fc90884686580a9bd398282e3f5d";
-  sha512.doc = "6adbb5f467e5bb98ecd708c85f4a2d3f20d385d0ec0795a823b326c2dc33f1a74b1ff388f22f77a4b426f22404dd7a0f5fbf6b6258075816b6422cc4adc45da7";
+  sha512.run = "df340b3087babccfdd371446582dd33a744af8d16a6c53939cbe0e2366c11d51de3ebe095e130dddfbcb8d062c71134679fdea8d8821818e61e4f18b1e63159b";
+  sha512.doc = "06eaab1e95de879d3de35017a3a185525375afd360ad6890b279950eda7d35599cbebd6580a31e7f0180c74266ac02d00ede982ef776eb4645b0da8966fd7708";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-poly" = {
   stripPrefix = 0;
-  sha512.run = "7f2dd39967b550dd4b5394b27a5a85919a04b71564178464dabada5ca9ccf9d4f04b88349f0a1f2af98df20f12a0f3c57571fa087cfd440989ceeaaa025621bd";
-  sha512.doc = "059a35c1d279453f9d9127ea9fde4c88ef744f4f87975c51084e12f73c5a376af33e097bf11d68f9827295d195174cb43cff55995954e8989b81486f13edb880";
+  sha512.run = "badd0fcc2b439ba270d5375703f91df9009fb7eae920915eab8757185da0c6665c34d530d9b4d8bf469767dd79ee834ded104a0fd98243a1e8a17cda47be0f79";
+  sha512.doc = "0facae2d565a22853a6e455534065f5954571311898e0850fcee7b18909f1cd0fe06b116138faedda6767d8514d44f7d843c13985f8723ccb8ec03a81bbaa46a";
   hasRunfiles = true;
   version = "1.63";
 };
 "pst-pulley" = {
   stripPrefix = 0;
-  sha512.run = "35c4a8f47c5053c93717f972dd0ef321fe6b37f84b8b6fb67141f3362e93aa87b7ca4cbb288781498da8a2b5f518ca61a45935ec1c9ae8417f90c96e7aec1361";
-  sha512.doc = "38890ad43db8dd161383d3c926d60b6ee393a4813a88c765463e1dc07232355193f36eba861d35d356b858ba18a43e63516d9a738d4452f7f8e0a2908ff81f6f";
+  sha512.run = "4253283884b3cc36801dd7d462655d3cccbdaa70af0219765a3225c8b928e49cf0964d4db4728ef01e06ed33865facc46bd767f4d1cdbddfbaf0213e4ead012e";
+  sha512.doc = "28a4654d2219e056ab1a53bc0fbb60feb919b3dc26b1e542b561cdb6d3f0b1abd050afdaa99a9ba5b374462cc451c1681622f6c6c3f6aef26738a36a845648a2";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-qtree" = {
   stripPrefix = 0;
-  sha512.run = "5982a5e5c1b2e380747d73768ac65dbf3ad89d7ef5e68533ebc6f953da76d730eeb6067869035e668b9fa2b35f20a5328b3f2d79fc920f17f47fba3a2dd37a9e";
-  sha512.doc = "d4d165b271578cbf36acd936752ac8c8502a28c035aef83f429b17b77735124861c7356d41f497741764699523b078cc1015a7a4d53cba2f905b5522ee985edd";
+  sha512.run = "5bbb7fdd477850e4e6c2bc395665c50668a427cbe176122d160fdfc2aa2f322ed83ec43929dd185fa1dec439bec3f5de719aa8d640d0bc498aa7ac9f9089cd5b";
+  sha512.doc = "4a0bba9fa7072e5860403c3b22a23947045106fd4b89781af848d17afbc5ac456c77617979ebcb80afe07620ab8b990e868c688301c4637804d32790fa4bd7f4";
   hasRunfiles = true;
 };
 "pst-rputover" = {
   stripPrefix = 0;
-  sha512.run = "ce8c5cdaefbf9c36079c8f572059ba5e997a46fb653bb7463f4044bc7ca7e5b14a3c17f21abac64dd638a76ee9fcbfd5cd27f804a7366ff73054f9f139752b95";
-  sha512.doc = "a95a3780518286d8926d86b7bf1d07006705191e7393f268b09c5c36e9388ca88f1cdabb2559228a1e8f0371a8c1ff3745c89fa1ff6efeab19a8dfbbc3dd55ad";
+  sha512.run = "3bd94d3a37fc8bbabba547a0072618c6e2bd2f6052f95cd4dd8cb973f64c4e97d0c7ef72fbe425df032aacbb8cb109b0eb06ee304b725ddcda6489da2c893934";
+  sha512.doc = "16bc8c2500c19cdaeb701da98e4de0ffdc13116a0ed5802beae395e9664ee16acc6341db7d2c3ea7b2a16b0afac35503cd5a53e1ce1fbd67598be4c890b317d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-rubans" = {
   stripPrefix = 0;
-  sha512.run = "178d33d30fec6ddc19e0e82a7ff123a76750113e5c0ab3cd813ebd0768c454cd11042b82c9a597da5cbf7cb912398c0e6755624c7adda72327dec1815a524fb7";
-  sha512.doc = "62f90f38b6ec29f4db2174da6514e472ca8fa5e6c0f27e2713ec6327a21c69e98a0d965b48219de27a15e8adc9a0a8fe334647a40d969ad057b20aab8b6a2a12";
-  sha512.source = "4a665e659ce748716093b2b7a13adf4a1cf0b4f40a876480206d3b444607150de3d7f75fded868bb29c9f7b44a32037cb1d51765d50011401063eac403759f6b";
+  sha512.run = "360f1a04170358b976bc8b6d4d4ee138398f6b018b5611811fc41d90475c474e89fed214708d11b47bdb58cfcf983b37c3338c4d5b13b13825f3388d1562372b";
+  sha512.doc = "086f80c0b99a0043769b159b6f52de125f01e6c3b00189b0924c62961b934121b09a2f1634fdeef737b2fc468c392051f8b117e1de5d7e6d223e79ff443c2cae";
+  sha512.source = "f62e689c044a0600f4e303251329033e705f3d08b025214af34cc85488f347324d552594a321f88ecf91845b5db5011875436ba9fdb819dbe038dbbe012c4676";
   hasRunfiles = true;
   version = "1.2";
 };
 "pst-shell" = {
   stripPrefix = 0;
-  sha512.run = "4c4dfa130a66a4ef97f427b803f9dfddabbd91fbf053d3ab6fb731a104b7eaba26df4696b8c4b325c87a34181f014af8987ce19560e140131fe4912a81541be6";
-  sha512.doc = "cfa47d2a93091ffbef791a3a3184ebcd507d90e84b057283c766b0d506b9383f07363bf0403d601c7ee90c3e59a402a999aad4341a9b28634a3708f94b74e547";
-  sha512.source = "fca5297656172e7ece0d9c3e5b8d6c50eff07e13e3deb0e9bb1b04a2017c3a0cff26fa62d38ac3f33ed3829df787828829c9e542e8c4c96c2468955b750d32af";
+  sha512.run = "d91fc81c2140e0ff4aae4e190b4816887f0c068df42022b6b6545adec400920a69e81bca1373efae4249a95cfb1b7f6b712497d72510aec79954feb7a1ec07d2";
+  sha512.doc = "a788f994d6003ca6a650cbe042b57a712fb91da2146b21fe3023b464487e5a56699a2aeea56be77aa26919f6c1fcaca6d49bd3ea33ccd2fd7a06e5f95a917803";
+  sha512.source = "0a5173dcb9d58eca24cae2c385db9f0225bd5feca124a3f86e3f4991a689c6bf897b48ee2c756746e337a7aa6ec7758b3d54c90f7895b841fd88c3c74eb6bdbb";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-sigsys" = {
   stripPrefix = 0;
-  sha512.run = "fe02df794ab22277261ffe4dd98c4dc039a2ad07b550dc1cbe586db337f44492d80f146decd102422e55124ffe38a06ff084a4d4ebe54828df1c60ad20db4292";
-  sha512.doc = "8b864efae0b9d711fe889e64821605d3a90ba5b98ce742cf40bc6ae9cf942cee19fcb155a1e45903f14bff4d969c33097fd289283d58c5f5379f9fa7155ef2e5";
+  sha512.run = "db3d3dd31c4166a132a174cc9b2a86fb226496c663c1ba95b36f6590e18799c5eb4e8587ccc3db5de0d3833729ffa90080cf037519b2a7ba24c70fe381aedad9";
+  sha512.doc = "ae2869eaa649898daf057875d28fef1be5f20caf0b7385ba7723e9be51e534cc69b953bba8ad4fa6d04a0d67f85659c82ec08043ba760279a6759c20a2c27d0f";
   hasRunfiles = true;
   version = "1.4";
 };
 "pst-slpe" = {
   stripPrefix = 0;
-  sha512.run = "a7c95aa3e0b3df061146e335b00d7fc129da3af3e616caa21c9f7434d527f668d03d72323cb66b3e2cf78e7af967d022572818de7c511c9e728d1fca190b70e7";
-  sha512.doc = "b9aa1a8388bcb915f1c072073329a3b8014195f05e76cc366a542b428e7d361596870d9c562d7973402c4f3e710ea67aaff1a4cda618c9d6db312fe358a9a0b3";
-  sha512.source = "de0a4d9815f5bcf3865fdf71f23204cdda35ed7086572380a5174fb8d355c8b2aa37e2ae7ff42f90a50878ebc24541e3323026e6dfd0182807f38be14bec878d";
+  sha512.run = "43905d7525acca6d10261e169a1c1ec1ee0cf0d4b7fcd05643dea3f705331588d774649ad5ca560111269025e92a1e91796693c5246e4d2b2816dd33d4eed87b";
+  sha512.doc = "377a89c5dcc49e587e3e2d2e1221c289da9dc6b3cc0565bd182d0ec356835309c12eecf68680ac4083c906701365de0068608ee1e49ea9fb95c866a188931a67";
+  sha512.source = "f8579912fb5477394f8eb150de776b9a15dad8f67b821a073748910388e06c70b23163fdabe260d55216add2924879f5380915c5d3ebbb21f0da3c65c6f82f73";
   hasRunfiles = true;
   version = "1.31";
 };
 "pst-solarsystem" = {
   stripPrefix = 0;
-  sha512.run = "81c0530f53de54f2918dea06f1249d37e05d28846ef42fbee30e04269ba6dfb9b1e1208615fc1bffa6d1398af75128aa23edda6cd1b0c3fd7be19c109003ffb4";
-  sha512.doc = "fac0b481c81e2a7c460e840ef4b77eb31956ab80b879ba137bd3ad9d82a0be061c674e130616c59b31e4915e01359c3213b9f58445218cb11f1b765e85d1ed53";
+  sha512.run = "48c38ec076b20b28aef50c207a77069cf5053a209f4ddcb3adb5a8e01f2b6510abb388075c7e5c90b6b48ecdf6f92764836dd58fb51181e28afbbe6d47600abd";
+  sha512.doc = "581e73c180e455adb09453c7f535de5a3f540c3d8046ea0a1667f9f13390cf63297b9073ef66d93f4c6b2aadffad3de24000a49cbbbe374bb7af75402fb6bef1";
   hasRunfiles = true;
   version = "0.13";
 };
 "pst-solides3d" = {
   stripPrefix = 0;
-  sha512.run = "3acddf74e0c32528885c95ed1f3bb2ec1d8bb853d98a2be264d4377e7e5aae464c1e0281d6f9ac4c422564893f7a0be29557ac5f7fb0ab69620b470ca2be8c8a";
-  sha512.doc = "4ad946a196a48c6fa320dd5d4997cde075eb332ad0d7a7b51619e63a894274213f0f520bf9144d2df7e87659c7588c66384387278b1e3fe45464175974c9c0d3";
+  sha512.run = "7e725978c030da337d882e05069b749a4398b1a1c479a50db34fc63801cb77b78630e2d1dfd0c3a39aeab3e931236dad91b6c722c4d6e06dcfd867f007ce99f6";
+  sha512.doc = "a00138b042c58700438cfb3f094f836b029d31ee3de40ed290d3f5475a31cb3fc949c13402c35d088dd1cacf13c66bcee934a0ad59e97ceee5ce9db1f99e7c4d";
   hasRunfiles = true;
   version = "4.34a";
 };
 "pst-soroban" = {
   stripPrefix = 0;
-  sha512.run = "d68e1edb82bc68fef190b4db7fe0d97424bb5efbf6cfbdff287cf4c7eece44965ecab28817cf497f53545451e04951c3719d5758a54bdf3a8968187c2a55d8ea";
-  sha512.doc = "8055b92dc7bf073cf453eac72d2a90bfeb018a882da9cf145c949d1eaea24147b49d3b402443ee635f05166e9eca70ff550e38ba7e95e22a7c5852288f549765";
-  sha512.source = "c76f32794867ce9cb1067198bde8072628d106a9f86ec2cf4c4f4409fc407391ac63e4e9d3106b51195e9cb9650688986edd8a443faab8457790b7066112f2f1";
+  sha512.run = "c21d3f0e19c4cfcf79563e23e760178de6e39f1f42147f534946fef315c0514968548b30d24eb345f4f2c5cb7807fef4f0d45d8e345e9523806ce1e054d8cf11";
+  sha512.doc = "b7c1422ac43df949426581f7dbe749300093ce2d20145df768e21e893b9d2c419ffa8ab16c60fa509f09317bee4c7f80bed4920b92a5f9f2e9289eb93cec5eec";
+  sha512.source = "49fb276ae7277b1508ecdcc3132d103e26204f314f8779a556335e1875dd5c3c6768b6b152264ba5643d2c39eb275f7ef193ecb6a292135abba2d60be508d654";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-spectra" = {
   stripPrefix = 0;
-  sha512.run = "e13ed3972b579274aaee6b4f9b7de5f296a96c4438050e83f683c5154b9b2577feb86d222063a9315c1d1e600679ec97994f3f74e4fc48d1bbe48e315bb5de50";
-  sha512.doc = "5f55b77868ebe979c1290f360e0c6e4402a8bfb73014106e8d5764d037e028ac4a3846a8833cfbb40712cc7ca7451e74ffef4369d42a24681c9ccb50932207ca";
+  sha512.run = "325e4f07e9c2788d571c6105e1fdc3a097881d1b472b038c365c65a84a4e69e15866750720b2c86f5b20e00fc3a054f619e79b6564fc3712194a1a5d05edf248";
+  sha512.doc = "f3655f399c4986b122253c4849bcb15d0ea4d2390b0ec3b8328d8255e5e2d44481198d63c6ad9dc10365095414267285ff02a944c1bf5bfd8c458d1a7cd5a0c5";
   hasRunfiles = true;
   version = "0.91";
 };
 "pst-spinner" = {
   stripPrefix = 0;
-  sha512.run = "1a344d248b4f3e0e394c149159f47a271df7a8f3b168477909b87080557fa6ce7a0760843f8579c3a18a04d32fea4a92b1cd8f20f87ae01680779aff67d7c82e";
-  sha512.doc = "841e76e46dac07678d571b6c5126c7d9e8919eedd1b8719739d83f2db6f206eca7694813f5394beba71dea3699fbeb213c9357bcaf5fb8680e6b5d0502b82a84";
+  sha512.run = "7014c371182a354d11bc76c60bab01321d60af9559098a353c3e7a5a88d2e251f9362a24872b60d2214450ad3d423f3868d219bf109f0524a6431db17ce1c881";
+  sha512.doc = "90ac8da08b1be6dbf3bf126ed49279fd0f593a586a3bb7e58b89f9b9da361637ab4c9aa133ee2f798b7d49c420a4765cf2fd9936410d37ac955d661196f1dffe";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-spirograph" = {
   stripPrefix = 0;
-  sha512.run = "8ae7896243a520926d13c57a23a599f489807fa8cb3163a07c853985add1b89516eed28f258e2d0abc3fb4ec5c3a1341e2698046fce1b8bcbed0fa1e85c1a758";
-  sha512.doc = "eaa5cba617352902de3a19a736d55333d520d8758ff8df86793960376c2c229e3354510462ae0683713d7fd9405fa1ec71c8d688c022f2017d900717c6097178";
+  sha512.run = "701964d1fad3d757fab421a9458c5983e11628d965ddabc2dfaec0259b829ed96f699a2361043c1f08024538b10d9b0ad36e921b704543288da5c5d5cb6e58fa";
+  sha512.doc = "2b3a0bafb00c64d1ce883995f983b626390ad73492bb96ace3d2cc5df05e91bfb6f74d96269644b99f56ba0a670a94dbedab663c3dc3bff3e099d141185ae331";
   hasRunfiles = true;
   version = "0.41";
 };
 "pst-stru" = {
   stripPrefix = 0;
-  sha512.run = "aa0e2ebb7f54b3dc6c1c6f53e4f74baa52963ec2f26bfab78c41178b7a6dfd656596bb2ccf11cf2f8a38b3b553d9a9675c1ec1db4db82f3f07daa4267dd20004";
-  sha512.doc = "0a1aae1e801b841929fdc514d98e2a244cd0ff92b63069b3e297c1e4c879f51a72d0e694eba5b83f767b3be204f1042ba5f064900ecb055c5f6d53b0795bc529";
+  sha512.run = "bc0961c1f9afb68f66c4af9aa9d37cd8cc7c6047f55920d12cfb14a18b2c2288c8468c8d9f0e21eb7e395eaa884f0216b37a6fa947fb2c5ef51d57996ba8bb5f";
+  sha512.doc = "b9352eb01e9d80049a474e0b5a513bb8835be16af4226b4f4269d9a94d64b81a842e640ab316f066595b0b6053080042deac4b0cce1bbc602ea0e029f7809cd3";
   hasRunfiles = true;
   version = "0.13";
 };
 "pst-support" = {
   stripPrefix = 0;
-  sha512.run = "47b25cd0fd2662e7a6c5317ad060cc31fde5645326f8273e25f7fece1c6df5562c934f6f2ec10e3a3a695f3b0358706793c02f1e1a58ba461b7b6df31b495aa1";
-  sha512.doc = "15682b391f3eb970f6fe23390cbfe2c72f975b1e7dcc8a5d200784131d90bbc5839c14f36d059023c772c8d62aba336e4459e5b1c82a968ae3cdc032a8be93f2";
+  sha512.run = "05ddd6f09d603a2a6887f03aa3da0374ad061e2ab52ad25f0036192179f985f3695b0248c602607172c94c55cd9d2bb453e8f145d73f133bf79a881ccb1daacc";
+  sha512.doc = "ab2adb2c06d4f7f4b4a4fbfec59e1fc8d6b9f4ccff5aacc29f0a1524759fc1f0792640e8cc301e614477ad45261bbedb3ede93de2463e0a655aeff846561c185";
 };
 "pst-text" = {
   stripPrefix = 0;
-  sha512.run = "550e9aea735fc096beae11fcff3ab49a65e0eb40dd3f1dc79e36e5d0d124447bd49f79095e53681f4f504eeea07f7477b07637a307853ed9414984a1022df663";
-  sha512.doc = "e6aa52974e814d295437159075742f1f4a64fde16c816a9455a4c968b8529f5879bcb3c06707222eb695ca5a82dad1df72bcb96a3249a8982ad58ae579af0bcc";
+  sha512.run = "6cf40d3dffb7803959a187f6a19b137b824d46ea73bd31430e983abec0b828d49c6d404287382242ad224e2f51feae74b3bee374443e9f421ae70d1ea2c0c3b6";
+  sha512.doc = "87f213f037227c05ceefbcee7ab8a316b88ee6f9ddc366c40cfa7676a714ec6802f3781db8357224769216241feb9171668184534572ebe5c5776c1553c1b62d";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-thick" = {
   stripPrefix = 0;
-  sha512.run = "ebe6b2ef7c537501314a1afa1ffd9d5bff65a8cedadf1f6239b408e19d976b1f8acef0971ee9cba967e807601bce41354f69118f6899207eb051a321aaaa8de6";
-  sha512.doc = "13fe9352c9297628cc6e7e90c828bfe4b1c1aca4d65af4b944d332d74d29625590d22466d31ba7d7f3e7fb6eadcd56a58f819ceb316161eeef5edb045a86c0f4";
-  sha512.source = "01d4b55db39de424fa050874132d45181c9c0039c46abdffef1eeabf290ffdc875ba0bb31e5b029cac2bff081d22e96b0d5cbffdf956feca2c3c2605d17e0b37";
+  sha512.run = "5eab2dfdad0c9fad21cbb7d4484f9701bd48b225e881e0c86a2418afa143582aef160bbf4cc9f5a773aea97d2c12c7f614f41fd87f0ff2952c27ddac91f75905";
+  sha512.doc = "5d75bab3e4b5c18a14e7348dd97a3f7e0895a2b44111a72d87ff8ce7c7c0499062f61b4ff38b2d36b0632719fd58a33c91f077edc269d74fa58281a83752e9d7";
+  sha512.source = "c3cbd54dab4d8e71a2d6e9f94cffb1dc0576344032d3af01c21a4ef0f493c5b886fe6f99e7361f4ca0c9b2e01e68e61e0f8e74b5f511cd1680b20eb01a068030";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-tools" = {
   stripPrefix = 0;
-  sha512.run = "d367cacb564d056c57af71f07467737bac73a1f0e41b443a9a76eea5d2cc34d15e91a47cce8cb53a68159f87677707929cb862fdef06cd7354a4dd253154e41c";
-  sha512.doc = "4e976c9101a25f6c20a5a60b4df88bb5104c124501cd7188df1159f405b06fb638259738c3ed4ff75e0aa11dbbc67743459ddfc1bb496998796918084b833582";
+  sha512.run = "9803ddb2afe664c53c1bede5d3444dbb4adaebe07c3a3d5b06cf7e0775593c13e6af5803584fb8b9afb12768fdb382b8603b0024fae40bbecabbfa720d87c4ee";
+  sha512.doc = "48b440cd10fce6da42173d90e2e7ca1454cfb6ddf556836ecfba98729de441f6521e7fed0b95bd20a570c06c3b1baaee285b52ed121d4c16679ca6530b8b5ae7";
   hasRunfiles = true;
   version = "0.09b";
 };
 "pst-tree" = {
   stripPrefix = 0;
-  sha512.run = "7ac131959b9879902cec299e5afb22fb7c52e5b0ed15056b13ec6f34eaa71449306f1f1ac3d4b6552d491b8e02e57cf1e09d3d204ee38fbfdf6aab709d6b4b8f";
-  sha512.doc = "2b951ec9ddee3211d447334e39112e3f689269925a9932eb3fb9c53d4d7c185c34186edd440081296b53377382fab77d77ea5d012ccdf8701285ef555061edb6";
+  sha512.run = "1148e0e571d68d8c95c0049313b244a6d6d77bf24a453121fd462a11e51d51aa21cd7eb66e9bb7c936fa90bc888912385814ce347cf911563206f520d2bb1850";
+  sha512.doc = "d68059216626bbd3a33ec6bed2e6d2f0f78db2da3ae56cf947367608033a156126685bb0d162f95fbe7150c950c3d5d20de01fd0ab9b6bf77bcb2cba31bfebdd";
   hasRunfiles = true;
   version = "1.13";
 };
+"pst-turtle" = {
+  stripPrefix = 0;
+  sha512.run = "df30018ed03f10edbb9e215879f041ed6eb0db48cf0e7e2b5128cd3339d1005ef074aa0631c84bcfd2c8f9c1a1a69a26cac36248f3971a3b3302e2f763af750d";
+  sha512.doc = "22c14f1eca2aa764bfc250d8140f0a24f3dab1cb8e755180167ddcd1ac9224aca07fb41408823b8933b73293204053f7f139513781ff37a67ca9e0ee7bec4fbb";
+  hasRunfiles = true;
+  version = "0.02";
+};
 "pst-tvz" = {
   stripPrefix = 0;
-  sha512.run = "89b36072de1e3063a056247b07c297b1f2250743ccacf55d9773affe12ebfa7d22012a391522d032410de14f0f074f8adf297e10698aea96ee05cd4f1b9e02c1";
-  sha512.doc = "25fc9a6f9fbc9b0985107579c49db136e9313356de6bb4daa8c1435a714e0bdcfaf378a322bce2387e05178bccc6d44ee6a2d852e1960857d69bc9eb79a03e5a";
-  sha512.source = "203544563dda7f06ac3ebc609749a1d9b01e75563253a87304b3c6a8e9e21faed815d65e159b9b8ea6e1ec9e67ecb2f7fc53830c0999778b1e94781b18556790";
+  sha512.run = "79e206f5e4154a797cf168b1b490cac8e1ddf98a79de6ddbd9dc98cf53eae01301c034643f6660708b58e890ca94b7235e5b0f48e53136f32c12c0adf5749179";
+  sha512.doc = "ffbba30214dce83e7f00aa7c6e126919cafe341dc727736e27a5af8ae212dc66dafa49afba553079d6857258ca72577950c06ba2deb21ca3c1b13231d1909935";
+  sha512.source = "ea0d7dc35ccef586bbe4dc225886755b28524b4db4ebcede6fd41c51bcc0fc8e7fca1f7a326d12524dae478b5a9228cae413b80e7a2830f0cd729e7efa8bab4c";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-uml" = {
   stripPrefix = 0;
   deps."multido" = tl."multido";
-  sha512.run = "102c88719a8ef77fab8290f68577164ff2fedcce78473d5ef2188f177ac6cbd7091bb12d547a567fc7d8a6617aa3b327a274128aea910bb56519519b657f2c87";
-  sha512.doc = "6f728dd59f32b13075b124cd3f0331b37ee3ffa76e188acf47bd16500983f2dd87f7fea5c55ccaed45c8c9840e3cf7de43ff53ab3593c65987e781de7740c8ec";
-  sha512.source = "d75abf7a1ca4ff8e5c3fe84e455ffdd7f22f0782ce2d0ffbb986021427678cd42af0c31b011ac0e8c10b263d4f0b100d193e1d65f42b0d80dbf487511b5003ef";
+  sha512.run = "e4ff8ea9b7fb9f530e33280de3e9eb20d653c0c062fa80611a544daf74da0b1dd2481b43d8f5258f9ebc1d1bf95b393b32c7152ab8464a9e980cefa105c45ceb";
+  sha512.doc = "d8aa92785c241b6346762d98349d8464ce604afceb8774ef160e8c24e0a40d3fd8dba7cac3f78cbf38cbf6cfebb79939ad3c76e6b4014c1028859aba38123efe";
+  sha512.source = "8b7e551154c1b1966046268ed3353b6c78c3a66bfa20f44c7fba3b58f661f2585b71d49d2dd673368f732b2f9446dc7783bad4ae5248169a79721d330a49514c";
   hasRunfiles = true;
   version = "0.83";
 };
 "pst-vectorian" = {
   stripPrefix = 0;
-  sha512.run = "05b447c1a67f906645945e77960303a72ba413bf2a0fb9c6b84d67f694f3aa73fd03b1dd2ce298dfe5eb8ee6b1bf8e76425dbe97772ee0539a37258f2611ac11";
-  sha512.doc = "d4711ac4696a4e4c05e54ac3fff7788ce67ee55469ec4b8fd375cb9cae40781a4f445c469bb519894006cf1698faab914929dc292bd5ca1b578e8ff1585fe422";
+  sha512.run = "3ea49c1da6238c095dc2ee095b21dc95fca19c89b0ae473e73f9ea67ca9377cc8e696362f2cf859d87ad69350c7b94a1049823fc0b5329e36e8e31291cdcfef1";
+  sha512.doc = "787b3b16dd0a73d96d16a8f32e26cc40f84706fd8abf48df23eb94a5dd9dedc0f9c9b7d8512894910ac96c8ec5e879a5f0d24f6f19e2d9f231ad66060e07565c";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-vehicle" = {
   stripPrefix = 0;
-  sha512.run = "688fc3744f1d830b5ef2e99a9b8ee56c0f4dea7476cd16fbb77fd4d3fc13586151eabb7318ecb3410f4d46bf6b9bb51b233b0ce0c5a08b6ea74fd91cef938368";
-  sha512.doc = "df1baa44326be9c17a2964868e12a6a24f89278a33b90d6f599d9b0cb8733c5ce463496bd52744524d55e74706d958bfa47ddc25efc9b2681a53d0af728b3713";
+  sha512.run = "4e5a5dc0227641a8b8f96913cfd513279c91f841fa1dd5960015ad79d5877a86cafcf87db38bd692611d5afd73a8a91505822d83433299db4efa9e4975a8da42";
+  sha512.doc = "1183b285d9438c7360f2cef9c40d86424ed2891d36a4aee6281e57b84773dd6b2366ca6c2bcff200911e583bd11f2f5aa9615b45656a240b28b1809acacf4145";
   hasRunfiles = true;
   version = "1.2";
 };
 "pst-venn" = {
   stripPrefix = 0;
-  sha512.run = "c6827eca25a6f4f35ffdfd77de31285da72ca0bca4e1650927d1361fc7e75efd16b1be46f23ada2ba0f2de2ca8c4b7d31d92a0019d583a3ed190f176e5209f8d";
-  sha512.doc = "e4b7126c430f695d3baaefba58bec48b6bcbf9f7361be41e76df14f7fdc028618b20d175e6c8ebfa900654c3e0191c5e1b930e20e410280479fe11d7e83408ab";
+  sha512.run = "63baf8075ef294bc3a909b3160fa7868a7f179c832d680728fe463f8b1c058411a1393614ade666824fa3233d6617b1dd4e0c50c299a620bc459104515c85727";
+  sha512.doc = "e332f8ed24744c03c32bfd139a38dabfca1c6eaf9c5c4624d1579c16feda26e42e81b39dafc98527e8bdaacc2e3ff2d246c6f4b88d89bebfaadd57454e08af7e";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-vowel" = {
   stripPrefix = 0;
-  sha512.run = "fd15b9f89ce2e3aecc639c42f02ca1a59eb40373e6ffc9290dd95d02a1f7874719dc9ff86b22a877528f56ccb938c308bf8c6da10fccc4d88798a67a143cd4ac";
-  sha512.doc = "de5c08694571bed38acd6034a9ff805a52df78dd9ed586882d9bf8a34ae30676618efdd5f9ef99b27d20790f3903c8a22e6538caba9dee43002f912e0e300a0a";
+  sha512.run = "6ee1dd91b42e319e3a88966fe4cb7327211e5859ae9bc9e262afbfe1fb7f143386ecb70a71d6b24cb0c794cb0943a6cbab4eb40ac683c55a7ef1fbafc118e132";
+  sha512.doc = "4fd8ba42b0d4ed821abe52e5848af0d19fcf12c2b9660f09a502561fcfbeffbe38bdf2a0540ee79b99f50cb3c783ab4b5d003a59cf84b3066c364daa7dca0eea";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-vue3d" = {
   stripPrefix = 0;
-  sha512.run = "374f22476cbb9a2d276d0dc98986ed6fd404800ba1110ddfeca210b7f60437583aeadf7eb34dbece440ced0102a6431b189bdf07aa9e4ec2e717f109f33e1064";
-  sha512.doc = "54c5ff0153086a59a56ba03b86cdc2e51175b5d1d76285462d0a0dc3dc396187c91e24808d15bc60e9e1740d35484faec37802433feebc8af07c959c4e7bb2f2";
-  sha512.source = "52685797af67ffee756fd3506e5627760a4a78634f44d127a0faac573fb5889eb0c2f7ceba57d1582720aa832f1bc449b222c6736763a54d5079c22174acacfe";
+  sha512.run = "d2e5829b3c241f33a69b1c59b5aa360f73948a6dff70d39ed41b82c67abc2b469860e0bd91ff131dba6392cdb3eb9d78638928052175e65ad7aa94fc3a8d05df";
+  sha512.doc = "70d297642f7f36539cb21c12b46e2d5e4a6db244f203aa1b009c500876d2def37224579cd8ad54e5b5004f26c41203a0cb2d0a321d38b15051605c2f9432bcc8";
+  sha512.source = "660753b080958b11891954b27b39dcf06ee44db1a582376824c517d41996e3721c21066e430b633c7ed56b053b9f4c91dd3e1c968c3209b0426e840653c23563";
   hasRunfiles = true;
   version = "1.24";
 };
 "pst2pdf" = {
-  sha512.run = "dfaacc3b072e53735c78ed7aa5bf9dc78368baea19c54de847b5668e1b7b967e349d8ac40d7f134e2bdd9c66950b50462eca34c9d43ea1183d957c1a393a0ffd";
-  sha512.doc = "74f3670b2f27e6a79d79226d45d1b3d2242abe359da623043e2f91734e1260bc0e1036841881891b45044bdc46edad052f8a3f1bd9630c3fd3fe92628df114be";
+  sha512.run = "ece2fc7c670d6c6895d364cf316facc5898c83569640f0c261ee89dbe3b302e5c6190e95c6eb08b132d213cbaddefbb1e589f1e6979a9540454ef442ec94bfad";
+  sha512.doc = "79cd5a76de8c3cd53b96adb498ed30afb5a8f9b8cf35009fd4e1c487b7d381dad81f46d03e85b1896ca712b02cf31732a7b9b84d4e7f75b0a7d7b6e0032ad559";
   hasRunfiles = true;
   version = "0.18";
 };
 "pstool" = {
   stripPrefix = 0;
-  sha512.run = "5352cbc1617b0fae85018f93fd31f51fb59d83ab1d12d95284575c23d170d91d4d2ac3eb32e968e6160e1c4df4c172a1752f9c1b30dfa2b5006f2bfafcd079a5";
-  sha512.doc = "debba5d6ca4042ec3bddc25473b22d5db4d71f0f66ef9317e7c0b015e98ac7b373e580d14111545f71f14c50beeb020e4a353b7d9957ad0e3cc7aa63ca7bba2e";
+  sha512.run = "a97af35dfce4a137af97071b49e58c31739e6f271afc62a455db473e573148d25fc27937ce680c6f400a200151ffd73867d5dd8781b12a63c68b7bf256cff5d1";
+  sha512.doc = "613cc4899b1d76e0686cd269568cfc0dda437cec0e50571086b3d44659dc4b3e3d567dec88b5420e4c802d676f21c2428b3930fb6bb3f7d7faa14c029d35d43e";
   hasRunfiles = true;
   version = "1.5e";
 };
 "pstools" = {
-  sha512.run = "cdd956d75184be4dce6bdb053054ad8d24488701e61a65c1fab90b2497d57d3c523475ab460bdfe1b40491f3a0106ece5e845cccbda2356553de4bf4b428ad5f";
-  sha512.doc = "256d3082de17444776b236f0f42441b98547349e351ff8c8f6ef1119e289f643124581fce091f666c5f321ecaffe7cbd807a50864c4d931d5df3dc30a4b31bb5";
+  sha512.run = "bb0046118a269ca8781bc5dd539e1dbb7b068bcda185d8d52f9ccc441ae07c96197078b204054fec079fce0d707e86a5b094db07dcf8c894e1b56fdee2db28ba";
+  sha512.doc = "ba3cb98dad993b56c7013d24fb515489dd5168c66c8e818b3c87922e812509903085ab9fc4f36b9df36b0371a7533822e840552d0a16feaae158d5e6f228370d";
   hasRunfiles = true;
   version = "1.68";
 };
 "pstricks" = {
   stripPrefix = 0;
-  sha512.run = "972288edb9c19d573ea3c88ee7dacfb153aab4b6c22ce9e5e57e0d6e45d35fe65766a252026a7eae53be20ce97deaf5845c478e0dd293bf9061eee21911a54fc";
-  sha512.doc = "8460d6109acac2d7de20efba60a377e14ff826eaf30b0a56e5756586a773ef5b054e6171c57592d5e42d005f872929e94dd3d04737a5e9c5ad8a5aad311f5e7e";
+  sha512.run = "4c674666903d17749de9a99204e59ceeadee66d3fff38cc0913efac0ca34fb0269c7e5e836543d28e998277537fbca4fe64889cb71fda2dfb258a5aee37f3260";
+  sha512.doc = "8fae1af33f0d89b9da2d3bef0703e884ee0c0adfa187434e58a83fb84a999d783cf2e6483d4c67b247a34c5c3f87eb184f11fd34ac1ea6e266ed29d3552a625f";
   hasRunfiles = true;
-  version = "2.96";
+  version = "2.97";
 };
 "pstricks-add" = {
   stripPrefix = 0;
-  sha512.run = "dd01e092d4fe47d33072911a3bd3a6535de4f36bf372325dd7732f4272eb0e6eb496e9a4a415f08a309cc4f7cd13d38f45cea68e859a47bdf182411f4e19d131";
-  sha512.doc = "e81b4638bf010d289d9766df8677a20a56133dfbdcf1c13cc02956dbe0bae08fa11df42b9b1220a08c6af388d1335ab01ea5405cc8b3b929efd60c3f1ccabab2";
+  sha512.run = "5302a1cc7e16baf545b545822a2717e3f37c5ed993273038f14a0950d5fd83b4f0bdb951f22f5673bb1ead60e3e86d2ef9880eea404e4af52d4fb5969d89024a";
+  sha512.doc = "7950a3756ac016fc7d759dd1d466673a6df6b0ea5163a6e6bb1c71cdc3314b5c557304828efd4b81109f2238c5c096bafffdb044ab3f6bef88c7bdf630069fb3";
   hasRunfiles = true;
   version = "3.87";
 };
 "pstricks_calcnotes" = {
   stripPrefix = 0;
-  sha512.run = "0ca1dbce039dd8f41796a1747fcb9b04cc90a7cc3669c1db28e61fd9d36c151a7202f2e5dfaf163ed2f0014ccde0c0dbb3f74b9083dd547982f37ce557f40efa";
-  sha512.doc = "6ed44605777c6baa8cc5f016adbaa1be200ce1dd272fc074d54f452f6459210f43e91390067e55d7ff1a36cc22b241ccd315d88ca73c0f326b892aa8eaf53443";
+  sha512.run = "1b17e544484b71f3c29e5c3e1bed6021658ce7b9a256c21c004113b722a85be7ea6861753230910771b7c900184ca8cce146408301e75de79e0c2bf8939c49a6";
+  sha512.doc = "bab8492549fd268f856e11f5f6db4e1ca878c67634387e7295bc163cd17080ee6b685893ddc85a882bd895adf3689639bfa7fc7d0da5e9916ef305c18d94ad65";
   version = "1.2";
 };
 "pstring" = {
   stripPrefix = 0;
-  sha512.run = "11d48ef84929ee9a1bd1cd6c58767d4b0604d3bd63ddda40ad76af41866bbe081584f386b580ca36aa8b6f2f093c9520c607264f2bcdbe50ca7c6530784ca065";
-  sha512.doc = "1461feadf5bfbafbf2d59d0626a8de242fd685c75ead6c507e04fe0a4458a511ac945ed6f57f358e6d078585a96cb7582020705a761e0113dd5968033fa369e1";
+  sha512.run = "d77c937467a9cd16f24fb1374a0d797db04bc301fa8a677712e09d83b58df6fd12aad8857dd83f4d5278d799a0d1d52ef12106e8106921d1ec1453ff6692605f";
+  sha512.doc = "51c316c27c3d4083696dd9ee86e378c83ed09c75c632a7f0a580bd84d0033c7776008056a4b26d7835a4974b879c0f2b0389ae83c70cbd6ab093bc8b2add9ed4";
   hasRunfiles = true;
 };
 "psutils" = {
-  sha512.run = "6614cc1d2d4fc0356f85fde6c6fc796fea9e9f715e29c0b0302e134816376b6bb33a03371db138f18cb7588f5b3444cd52a5211e992ad20991132334e6e43820";
-  sha512.doc = "6017a48df0c8d4ed28a3602da01ee72082f31d4ebed5046e13d25ffe3bcf6d52511504347dc0213a79dbf9af48905928ce44fc578be6f4d397642805fc2b730a";
+  sha512.run = "1e0afa3066bd867425f8b34857e222268cab1e3048edd40d276f01f3c9cc1d5c31bfd1dd960702987c7182ce2e5512e314eaa87ad25da5696de24b3232f9a8c2";
+  sha512.doc = "5ba2329750889a16ea2f5c2feb79235251d1db841ca264075751bb183ddb81b960632ed956e623446143e907deec4b695634a48644d3169a5a7bbdf9c0f176b6";
   hasRunfiles = true;
   version = "p17";
 };
@@ -22524,1069 +23083,1122 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
   deps."etex" = tl."etex";
-  sha512.run = "a92b705872a30edde499a055d2414226c61d75da067434d2c32b0ee3f75a26a94ab39a86f9eec9e19f1c8bd127b8d0d67b941dd80f2649a549ead0429a8c3445";
-  sha512.doc = "2cad6cb1dd693db4c4bbd0884c25b7801ce85041efb487e342fc564628e79403106e373428a6e7b6420f4a638e6be4e7418be9d452af7bfcc51bbe53b8616cff";
+  sha512.run = "7e03619011e2095fe76674e39f6220d938a9673a34bf6cf35cf262a60d8eb140a5f978f8f04b6031a1fdb56e81edbc6c4ace82cea9fbbae2e9839b0b8d0e0612";
+  sha512.doc = "e09ce7a08be8a176e591cd69b1bdce5bf37d59537109ca820e9f4e60bdcb4cec32a58cee75ee36c61ab7a512eb2475df7f2afd570eeca53c33b2be94ac2ec88c";
 };
 "ptex-base" = {
   stripPrefix = 0;
-  sha512.run = "6a9decc4358d1941c8de10655352cf53f3bdc7c1253205c801dd946ba50211fa92bf32ef554198b531301db9330a714d8a54200d33d0b8e2c76331dc1e1c473e";
-  sha512.doc = "92cb2f517c5f866aa2b07b0a58f0b0c4546067224f72c7f376c675d712f1b22abeffc0d3243de40f52f7bb7b2e890797ad8c2d1274e995e250f5f8fc80f185fd";
+  sha512.run = "616ce41d8fe02c6d38dc638d6557ab29580cc57e52977b27d319ddca63844f91d7b0f0373c57bb039a3f70b6ff462eac179d9e816933b2954f2af1b00c3fa0d1";
+  sha512.doc = "e4aee26d3ac73efb1e0a2b4579e7e8cb1ae46925908ad407d8772eefd310fb5ac969c5c53303eb7e5ba6d0cc115f487fa600b5b6446ebaa52f9015ece56cc19c";
+  sha512.source = "0f5a2eb6e73c1d454efb9e7a0949d0baf49ead997bbba4ca01b3f6ad894b050394430c194fab002bd41bc7017e578818677bf0eb577bf34c7bcc47bd243159d1";
   hasRunfiles = true;
 };
 "ptex-fontmaps" = {
   deps."arphic-ttf" = tl."arphic-ttf";
   deps."baekmuk" = tl."baekmuk";
   deps."ipaex" = tl."ipaex";
-  sha512.run = "59c8daf96779a67951b96a2b583bb406f6a59a75651bb3387465b006715b1b45e393501d198f547b40f7efaeb2a1d81e20ce7bf046b4a1b6060dd5645174d2c3";
-  sha512.doc = "008b78438dc7825aa7f06dcd307587ec4b08fec8e042f9a64fd3244e4d1c218e093c6002234a04cb2e14730530dddfc65169a3bab38285f13076548062fbd8bb";
-  sha512.source = "74bb5d0906fc953c8a35ba0d69a0273f5332769e95e5de9d8c94d919d96d480059aca23886941f224f87b7519bae1513bbf0d6e19d6469bc607bb223658777d9";
+  sha512.run = "8951d9e1bc4b2f2e4ac7bc5cb3b56ddd3924684c65edb35ff680e72ede7aa3f15b92a1cad39d8e6652cf76abaa51e72115aface47068031c6b24fc82c5e6531c";
+  sha512.doc = "c5e0f4b4ac9c657b83c27ced5bf3d4eccf993db6518fbb750e8a0b91752b40193a947a3ac2c53a82270be2f8ea736711b5a60e59f29c424bb3ca612038be8972";
+  sha512.source = "10b3aa3fabaae3f7307861401b7b47e14b62a5f075fbf79dcec44e99ceaccd2e208b09aa9733e850d01938332c31ad399540b5d98a38ffe29261aaf794dd66ee";
   hasRunfiles = true;
-  version = "20180328.0";
+  version = "20190506.0";
 };
 "ptex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "808304e70950f7d81ba229bc11b661566b87f80d066a9501c4821d94c36f6ec136fdad1566002377c531ed16b9d0f4f29c9cd6d0526924fa758b78ae14e55514";
-  sha512.doc = "67404208897589f1ffafc254c7d0fd8ed1ff88aeeca896bf8a8fd91e0a4836f46925894090a3bb023171c66538c57de062f687559763ef12ca555b776c23f2d8";
+  sha512.run = "54ebb6d2923ff6b277b4376041b90a0fa6a164281cb18820f175d5aa87f9e996c1adff16e9e5eb5bb90d52c135d581eb1d5ddc476ecb2446fd27d0cecd75bb30";
+  sha512.doc = "dd3c4d3510ec1de8a5174bd10a7ff7bb173b25354b28f0b8411fe23b41fee8523fe1993c30e55cb7c3eddd90bd17db5299cb8f4ca170e4d97869388d3fbd8137";
   hasRunfiles = true;
 };
 "ptex-manual" = {
   stripPrefix = 0;
-  sha512.run = "fa56d771f5d40843cc20322c1679c0f401a09c51e26ba4b5571a7e05667b06d26ee2eb0becd16d88c0203a512df0e1483c8ec58e9ea78300f29b038c19d20787";
-  sha512.doc = "2ff76894442afb534f069f0bde840daaf6de07fa52e3a5ece0ad95d9c48f8f5fa70d717e969cdafe8beaeb7d0c9280973bb531fe004673357448c445173903dd";
+  sha512.run = "a09a78d9c412cf812ddcb8c553650ed474516a97c7818fce68bb2222047d116cc4eae184b551f89b45eae49d0d91e902fae1025a353520dd56cb8280cdeda316";
+  sha512.doc = "539133b6f91ee252f62862760c502425b0387815c091d0a0e425bcfeda4939d44b83661b6e94de13086d7a5bb83c332b4ad998d5c23377f72d6a57f88e018488";
+  sha512.source = "259963273db22746370d950e307e7cc965963a4e059d129a4bc81136069ae4137b1e2c70a621d694fa2665a05da7c937e33922983bbd6d8c6c9e8e691f7ab2c1";
 };
 "ptex2pdf" = {
-  sha512.run = "623e07cfed7a8f19c0daaf188e0c553471d9fc0e9966d174ce2dda3fa68b16814c065e3a448d0f231c271d016d08b6fcd2ea2015568fc1b0e63caa0b59630571";
-  sha512.doc = "90d004f4c9f9aa87a4f8de678272f16f51139fd151b43dcb8e90560cb9d2069c599c4aa6ff8ab5875686d4e56555788aa1678a43885c40c17ae761c144a409e1";
+  sha512.run = "2528b9b182dccd3bb79fee2ce030874554d2ae674d78e481580bbbf03e38d12e1d7ee35b1e7d5fe887ea285851751bcbc2bf3d5cb462430b842ded4fb3a7b0bc";
+  sha512.doc = "ba07bede383c322ab541cda888c620d1ce7313dc65807e0d1728d53bb1ee8ad46a15a5fa1b88c93d796cce2eb6b8c4b534fa8d5c9089e83d0a721a3b222c0727";
   hasRunfiles = true;
   version = "20181212.0";
 };
 "ptext" = {
   stripPrefix = 0;
-  sha512.run = "31dc96e30a545401759d80cee607f3dccbba5026f98199b44a80e9ac757f9fa57784d1fd06e4a7b2290bc19229d417264f8af920cbf7041ec4d9d2d70879222b";
-  sha512.doc = "b018919fd86a0529716c6a18e13404932a2e3a6133888912aa90b44cd6b9d82624d74baf02007404eba9003eef5a2fd6ba2646825ad52cc13a0f06b1a82f6ec7";
+  sha512.run = "ceb8844ff23034bf730823349e6251ef0c7f208ef74c3ed61fa212af89a3208e8f9f1b74b7877698d4459047b64376faea647a919b340d306d54de43ee9617a2";
+  sha512.doc = "31ec6dea18c99aac831f4f180ccce47781ce98b2a8859bb62019cdffd690a8b803cba66728d1a9805a8a39de9ef43e357be8fb6a16e0602cf67f7f9dc6cb317e";
   hasRunfiles = true;
   version = "1.1";
 };
+"ptolemaicastronomy" = {
+  stripPrefix = 0;
+  sha512.run = "58202171aa08b297e2999554d8b6ee43d4c5772e2f28fcf73c11a00ff8476dcdebfaa5352c7d248720feab2ba642947f07362cd9124dbed27e22086123da3de6";
+  sha512.doc = "04997eb4bfd5c5e7789b5db02e9c27a9eb4d65e685be1428c5b81199957dff5aca626a76c719d871217ccaa2a6e6eef6c17ed94f4ea161f581b77a22306d61f3";
+  sha512.source = "2a2d250d5deff043970037268b6f7400e073da58b1e6fce0d2a6e2b0c77a567dc683f616fd7ba67b659bec3f137349b37c84b808364bf5359392026730af3aae";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "ptptex" = {
   stripPrefix = 0;
-  sha512.run = "a9cf4e9e4346f335f7ad7631a24383b6fb04c66931fd6deb9bc064df88a3d5d15eef2b7a4121cafef13e71279244f37af532b884f6cff8b6f0aaf069b2facb7b";
-  sha512.doc = "625734bfe9d2c01a3d35dc5aa97a173ec15d07a8cb531ff3d5aad0ea59b6b5e16be12ae286065bd5862ede51daae3f7f123376a19b29869096be363287067b40";
+  sha512.run = "a2c31b2e039c198d3c3c84cb58cc0b9326bcf11b4c361c1d5c9b8f5aa4943f14b30e722bc2425a38b69935f4c88c67439747ffd65e0a194f2e5dd54a6448bbde";
+  sha512.doc = "0e754625fb8507591f21b860901de1b06bcb31f5c0b2fd7df1fa5257c7c611bae4f575f7387362bdd21d826a329a8af3ba00fd30c3bc9d91be7dea5d66e2fdae";
   hasRunfiles = true;
   version = "0.91";
 };
 "punk" = {
   stripPrefix = 0;
-  sha512.run = "2219acd9b314ec049b7ceb8ee3a4dd9d3fabd433872966e6a480a2695eaf578ab76cfe1b32c8072c443e48b1bc2a913c91fff3fbf9574398eff132912a673047";
-  sha512.doc = "cf4219ab67d554ba2fae0137bf96e4479fecf775e8ef641a8edbc9b8f60d9e5589bacb14c69e1ed4449addd132a78035b51698701a5de77723ecaf2bb2f8cded";
+  sha512.run = "a442a536dbdaff9dfa9d1cdfe1a084d0f4e4e28174a424cf59a1da94013e115b9fc6294ea3362c85cb770028c62b21f7f7fa9817dbd68787498199ce585589dc";
+  sha512.doc = "33842d1fb46a78654d7351ccf88b40b87e6e03d83598f661ac21ee99d45156dd8b37a652c5c8e55506f95fc57b83e7f62f6c90c3fea5443dc5bb6590302b3e7d";
   hasRunfiles = true;
 };
 "punk-latex" = {
   stripPrefix = 0;
-  sha512.run = "e89c0aa6b8568194ae3ce57112fdb10da55bafd19f3f487ce7d75f2339e6f3762da623432be7a9564a3da070a5dfedf827244c19b4a6730eced736400d5591bb";
-  sha512.doc = "186c5a0dcf975929af7649696a0c55c8ab1535f4398ce232b67ef750241d834ec8ddf09176bd94ce80fd7acbbd4257022e4128633f5249a946564dbdd8c99124";
+  sha512.run = "e44098c082465aa620d436a41306c9a1f36075c2612aa045e7c958151fc62e9a740584d9a9dd94b0c5631c00d406762a8e35f672931cccd3c09fe95850f3a2ba";
+  sha512.doc = "36a3341d2dca08941a923a1f407b422e96438e79ba5e3911a89f13d48317ec5aa0f5afccc7539b0882996fb872b38bc3653f1e5b088805e5ef7c9d96a4546d01";
   hasRunfiles = true;
   version = "1.1";
 };
 "punknova" = {
   stripPrefix = 0;
-  sha512.run = "1de1e904525e9df9a2b169f932b400576ae3216c950caab4e8ce99ead768ae97b8231d749f14beae7bcc6cb277caaa16e05476d9a659bcfe5bd08104b7b2a8fd";
-  sha512.doc = "5c3f09f51fdb66860873214b73fd1756054b959f3453faaba2e3e860377d572dd70277e91560a8c404202220f25d005cf748cb5c9acac0cb11c05398d4d5e0bc";
+  sha512.run = "bcb37b02258ba406e8ef3965619c99193c08a4e1d11f771b3c6b06716eac16134be81585220a581176d9e8b4d7f488730ada3b5963238ff982be400cbb41d888";
+  sha512.doc = "64df58c8996563a447ed7a012c6dd8f5248c8a7db06089d776e8ce64d516b4a0c4bf9042f587c996c7ab61582bba919551d352c9ca75f8696bcac5ad0e34866c";
   hasRunfiles = true;
   version = "1.003";
 };
 "purifyeps" = {
-  sha512.run = "ce4966735dc455a626cd28d6bddc86e88995d5af54a4d0a0bc80c842458f09d2a25ef67aab073ecf680c88dc0c6112c5260761eddab25e3994f79b6266da2954";
-  sha512.doc = "921175e2d72126df4966f28555180f70ddd23c9ee8363a3c44fd8707a82380b60c7ac49a39f069e1931e3b92f60e9ef301fae3a6d7232691a1d48f77e2d93571";
+  sha512.run = "79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a";
+  sha512.doc = "3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d";
   hasRunfiles = true;
   version = "1.1";
 };
 "pxbase" = {
   stripPrefix = 0;
-  sha512.run = "3ab554ce7c338ebb1e032f988fe55473b0e8a28d60bbb7ed3048e15714c315ff8e9c48ea0d1d7762a9be5352c039438420999f0f2baa5fb09ec52438ece682fe";
-  sha512.doc = "1972944b6170c05ccb5c64802e01029ad8f92285adb2ece244a8efb24b00ba5f75e7fb563e4843aa6e1694b41ef89a67eb586ad3c9b241b82c5c60e135f5efec";
+  sha512.run = "e567378515039b55eab0a12ca645ba5ff17c2dbaf56309c3273beb0d05c7e6e2dcf3d7d22091907df5636451df8e91d09673607918dd9ac091908cb6ef1e4de1";
+  sha512.doc = "d6d87123dce0a2afe3380cf32fffc8954e30d22e9822d0ff89500bea6a455c70a6699576265cebad29ba33c0fa5e7b63a40f26f7579d1fe9dc0cbcb528c45d00";
   hasRunfiles = true;
   version = "1.1b";
 };
 "pxchfon" = {
   stripPrefix = 0;
-  sha512.run = "4464dc60089f5ce98627ae991784c6f19de67f114619ffceb060a0f78893ee50d3337a034c3eb01d311c4c8bef069c7b313676c83c9dda8d05eb0a45aa1e55d8";
-  sha512.doc = "24d86b7d34fd0e2b64c6c408edec35e6cb57d664b102f9ab0bd02ad24432aa77a4939d3edd2442c3210b9cc8b2c8daa5ad728574b2826b787601d2b1cbfc8e18";
+  sha512.run = "f7cbd2c1685fe042abacc13e649a187401c53eb42dc66bed1c0f7e56524ef9cfe6b25235f9379e3e8dd948bb6fcb21ab297fdc3a2b94b27e0ead8aca041c3e73";
+  sha512.doc = "88be1f7eea3298906fe1c439c1342690feae9300107d8c2b1467301f06686fa70f128112b3449b5045bdc131d30608d9f386556916cd0f87b49e6f715546ff74";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.6";
 };
 "pxcjkcat" = {
   stripPrefix = 0;
-  sha512.run = "b824772c0436ae61aaf76ab6294c49576d4c193ceb1d79b01284e21b797d3c3d1134ff9066d49f3c493d5ee9e904ecaf39c3e9720958d2d4584d4d8de06bd02a";
-  sha512.doc = "443596f53087216b11bee4f778fc3ad54b0bd0c495c1298d74b66d1df60cab3f487c5e6927b3155d764b8bfafca954ef07006ce87b8158bf4f92dc74faac534f";
+  sha512.run = "59923115da33e18e2b29a10f664063755b42937ce601ed46103ec8edf16944056180a1aacdb296aceb5206d3dd453c0eec6f84f5b689ad68736c88479f928214";
+  sha512.doc = "3c822359a68800a29fbc7ceda3293b6be902d9bc61f277003e6e20404c32e9bb6b34638a4bc11aeb943c4bdf6e361386972251b9b015fbe68ead824e5fdc67d6";
   hasRunfiles = true;
   version = "1.1";
 };
 "pxfonts" = {
   stripPrefix = 0;
-  sha512.run = "e16b21e28872f9a2efc57d7bd10a9fa3ab0d73d87da5120166f474690cfc99e94d261a211813179c9d198c078732e920c2a8482dfd0cde7cf2bbc374ea5a1db6";
-  sha512.doc = "ff10b970e3e43ddd79c081bec3fecb9a4ff2fcd6947f583efcd23ef33d3b4058d37873d8aa51c330a0fca6c5fec7560d3e0246c253f7a59134fc64f730198fd2";
+  sha512.run = "3b50d3f04c00cd080495c71d9387fe9c810ade7d83ead1178d661a618374a3a67c0fc70ae2a809d2b91db4afaf352b1596a588f6998a4eda220a6f181390b6d1";
+  sha512.doc = "71898d307cabff64078bbb98bee9417c79504fd56f1cfc1427b9e4ccc9448b5e2e8436fa085a63d6fa6601e591673ef52eb2225ddfad5e34943456a2239206a5";
   hasRunfiles = true;
 };
 "pxgreeks" = {
   stripPrefix = 0;
-  sha512.run = "b459b51fc1df28132e6e1e0fc7d30620f8b15144aea0e7a91b59ccd25e31a3dd23c3c51fb86f254fbd2edaf4271638522dbc481f5b08af1d9dfac2267dc8ad10";
-  sha512.doc = "aa8a3646f6fcd58c27293787c067c115cee6aca342579ea21a3c6f9eb69a59eca1aa584e910d072863eea3885d03b6d96597d855f7aafc7022f094819b663e63";
-  sha512.source = "dd268d1d6b727121bec99b6c540d100637876ddf7b8f7b0033859bf25657bad9b4e52a9954bfc341f29094040e0a8b193f3d76dea44c0f869faec0311ce7a8d3";
+  sha512.run = "d3f8ff3c975643d74dd92e749397d01f8d3fd0087a838271a491791fa4bb2d65c852ff5989f79952d40547a601c97fe0274ab4407a8e73aa047221934b9b2e9d";
+  sha512.doc = "22239223646ea121422016119b6d0edce32d002bf361d096c173857b36ce324ebe2e4107bc0eae650b50d0e94775c84f480768246ee65f975ad5a24af0335158";
+  sha512.source = "9924c5b5a60d381efc41f77f9b5224a12a158fd7de6551a17b1d32eebb6ca6e80a7686648a81774398c4e25fef759612c652fff983a635f4cf56c5bbfb52858d";
   hasRunfiles = true;
   version = "1.0";
 };
 "pxjahyper" = {
   stripPrefix = 0;
-  sha512.run = "e675fb944be6a01354f76dd5836b6e9156c11cb0a45546c0c95f41d58aaaad6eec49d093d269cc5e00f3c114c68cc35db240adfb338720b6f230a839ff1aef92";
-  sha512.doc = "6bda2b9ecdd7a686c80a173d041cd13709c68b70588bc429d1f792bf82b0f65787f079d03892fac45c19bfa444c23f095600247700b0c328e2390a9920f6b06a";
+  sha512.run = "048978c0e09715f491f440a15cc08b9984a85f01dee160bf4dde530fde21b7c8a4d04f0a06c5ba0493aaf7f63e5e246813620e452d2464480ba60bafb4e740cf";
+  sha512.doc = "624c4d0fe038f6a13fa6814df000d52497810c3e74c8208a687571f524f1b8b878e36a01e8686f3fd8ec90177ef82829a2fa75ba70519ca435a97b42d1587340";
   hasRunfiles = true;
-  version = "0.3d";
+  version = "0.3e";
 };
 "pxjodel" = {
   stripPrefix = 0;
-  sha512.run = "3980b3ddfdb375cd59eec1cf7d51b2aff1efe36dc8ab1eecbbb4b2b93a8fa460c417ac97c39ed626d2c89ad785bb95e4a9409344db881dfc954a8b6a09fb1a30";
-  sha512.doc = "4facfbf02ea17b2aee4d82638c5fbcd82bd812dbe60dcacc958d6f02a04ca16861abbed7fdca068b31aa16ea120bb30dea05170cc7159e72145abb6bb32ab186";
+  sha512.run = "a8b4cab3c5951fa07659f323804e7037919d4a8b46f73fe14d3ff920c54a17dd41fe813a7991102cda4743b51152226e60974da1619cf4108f5dc77d63349d20";
+  sha512.doc = "424713f3f6cfd46f75b05ae6f8f0ef59e4435f970a1bc40333e80a5ab1ba94a79a333314f683e377232f929bfbe8c99d5c2c59393d1c9db6990e2343778f2c09";
   hasRunfiles = true;
   version = "0.2a";
 };
 "pxpgfmark" = {
   stripPrefix = 0;
-  sha512.run = "5dd4abfd1db7ad53146dcc5a63960c106557f04333eb0d4aaecfd08e9016b544228a0464c43d9447176b4569e8faaa9df5117c68cf37e0f6774d308de0f2e1e9";
-  sha512.doc = "c24ce9a435799f1aad579417ec62027dfd5043e557f5912c9e8c5b86b39cd4a640a9499d6918d9cda36a8e35579b8faaad90161bdf87fe8404c5fb61f14c19ef";
+  sha512.run = "eb341eaebbe2fca860c2592c0d24f6b5c4ef0f1e6b2bd731d48c1994ded7afa01bd5cb365d3f30147f68855777defc3384038aa652240178fc948b5225cb4c08";
+  sha512.doc = "8a80eade76fa7b5e5b919136e499eddb5ff534042fc56eb8223e80124bde97a39a65d31370037cf425042a1ae516e5888c8751388899ae65a8b561f091693c97";
   hasRunfiles = true;
   version = "0.2";
 };
 "pxrubrica" = {
   stripPrefix = 0;
-  sha512.run = "99aab9f5c901a15ba94af980b616103ceb4d23088cbcbe80735be8801da5e8cb66a4680b5bd9a651b549d0265940253744af7b2606b8e77ae22646fb8fee60dc";
-  sha512.doc = "3fa05873688cba369f39db11a609975297b1da088f3abfe7d33184e9e1eeb13d5490c3c6294d7c6ac6a3da4970a8f99fc25bed71d75f13e7c529241773379d61";
-  sha512.source = "bccb7d1e6cec7afea3a3c348fbd07d705b391f387205c7548a320846867572d5a3c8d1f6c14888109a74b449a12929d22f40b18917e06659833c1cf56fff90d9";
+  sha512.run = "42de048a96a4d552726de6abea4e8903f7c952c02259001d66655f449bc4edc7bb25b351be594bca205177f31f09525c9b986629c6a964e8a2b50c66aa01e1e5";
+  sha512.doc = "92c0b794ea85b1b685bd94fde0c7b7b009ec4069f99705e9fb3dd93ad67564952925bcb4d6442a669f965700e658eb0c15194ffa55da86bfb1867b0d8b7bf5c4";
+  sha512.source = "17ff7e06e0ba752044f7c65925c3a0156a566b03504a4cf0f55296d8deb316eda79ae015963e1011b20c51712d206c921baf3a39c3f63d05eb1420915d4546c6";
   hasRunfiles = true;
   version = "1.3c";
 };
 "pxtatescale" = {
   stripPrefix = 0;
-  sha512.run = "7d734827e5e98f42c21dad2686c7a6d48a4e335120687c6df92ed88744d2bde2aa0f35658adefe25245b62ae2058994fcb49dddfb3c46a2714417bce1a4ee660";
-  sha512.doc = "4837faf2ca0c535d53af120a0ee2ec06bb32f0bad27be6fbf01a197f0e7cb0a9db5c5e9ab92e7d8539a69495a89ead283d8ea837cf2b84a8c1eda4b79933cf84";
+  sha512.run = "922aabc7fdd35d1b1a6199be0986ad6d42ffc0db138066a7b1607ec521cf22571abc752ce225c9d99e2e9f8685149a5b91c35d6914fbccdb293a2476797dbdc9";
+  sha512.doc = "be6998e53e5d8d92138e440de1c75e83671ea88316fb9b4dde0188dab198dc65301b4cd4f53368c277b782edf82f17ef89903eddfa6656669a5329a029907249";
   hasRunfiles = true;
   version = "0.4";
 };
 "pxtxalfa" = {
   stripPrefix = 0;
-  sha512.run = "f74376f0d8a327bd1723372d84789687f2bbd133c00626fd7343c3f30de53cb7f0c197ccc7f04b75420cd3a973f5255aa01f25e9cf65e4ec0772247b49f45f26";
-  sha512.doc = "b5a50bee699de3af9ccd149b60aace90df8111795a455ab5e1667a5d502359bdf6624c0954ff7b772e0887f17fd342118ebaa8e9bbcb436c56dc8248441c5ece";
+  sha512.run = "ac1972a7dd5445bafca244e04663e09c4e939eedf31e8038e2ea41d255bdf6a4721bc53a443f6663f989b21494c61b3dae9ddc9940e283cdb49723e6fabbea69";
+  sha512.doc = "55d06ddcb52e79ea590b24e8aa53a41dc18162ef9a8871ea69eafe53c6d0f5ecd5b548f97864c0253f543ca9f4eda17c665f1a6de1115cd8052670c934fbe52d";
   hasRunfiles = true;
   version = "1";
 };
 "pxufont" = {
   stripPrefix = 0;
-  sha512.run = "8fc676ca8979d395444d15749cb8c7a1abfe618df9b2ec4b2248dd62141840561135091a0cda3e67fb3a9f6eb50d55554a3bd17852f3c609bb78effbc8786ded";
-  sha512.doc = "ecf10540a1df8881134b4c114d6c2dd1e622d4f3fe7a79ceee665d388dbd39652876157269f36adc58e59cbe89f19572273a2cc0b3f42c61c0694063dcf44899";
+  sha512.run = "c364d150c3607a8f918301846ff919bc3a7a240b23da1a67faaeeac5d1000c7f59dd4ec7da829c4d4793e6b5c9aa11f94314c149bbd277d5a3d7df111f2839fe";
+  sha512.doc = "e1938ee53f1b7572ce85b354eb6bf9477c63adab65c7c3b3b486c7ca6365865845eaf4dc4670cde741475623e3654479e817075832b3a2d7bab14c75f360183a";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.5";
 };
 "pygmentex" = {
-  sha512.run = "fb83b4b6e96d07a8f41c1810159083d64781fdb34f19949f4ba5405d7b8e5a928b17a9fb52c1c629d532b1ffc81aa9fa3fc9b8059689687448a2853fd5b94966";
-  sha512.doc = "5a4a08b47f0e802fd9a3a99e952b9d62c1b6b65f4bc07422a884db65303029508fa3054a12a9331d607c1035ab1dbf2e80ec9ced33742d151639ec5fbdf0da9f";
+  sha512.run = "d6e6327d0bce32aafb4be5a30eae63ab0418506367a4a18305f2fa45156b27911bf2cb945289323839c82bfacd6d8d3a588a302bff1cfc29911cf7d761d83cc9";
+  sha512.doc = "effc3db243edd25d4aecf7c2de6eeeaa18ff085f6304bc390ee0276c07d7672d17202d8832a012e9fedcf3bbd16771aaf78a4262366744f5a27266693fb0e87d";
   hasRunfiles = true;
   version = "0.8";
 };
 "python" = {
   stripPrefix = 0;
-  sha512.run = "0bbd828caf38c67454952d05fe3d613c006896aef1fe436d8a6ab80069660e2f7e678777f600780f60e6bf950128f6757ec01d59a0c0d9fc153c0e05b7accc2a";
-  sha512.doc = "4e2eb72f86eed1843fb5413c6b296403da131b68779b2bf5b029347445e12087ec6b2dc5c2738f8b49746515ce8913e38c392924f875e1d1fdd86473a8fe29e7";
+  sha512.run = "85c300c969fccdff036e2da59ada1040bee6f25c6a8ec3c173ce44084fb9fd812aab79b8fdc0b9fbe2ffbf9485abca57fc5d82caf4ac5a3ff922501b46dec164";
+  sha512.doc = "8f88b9bc84a71c430486e2e3d2b33a4436cb1ac1257b9ea5629708438b8ac7488839d52fc138e4959575fe13388aa475770a62ca070b4746de8b78c53d5119a1";
   hasRunfiles = true;
   version = "0.21";
 };
 "pythonhighlight" = {
   stripPrefix = 0;
-  sha512.run = "bd85d164572dc18ae0294a1d3c052b5c4a106269b276f0c36090f3517d3923754021a94f4b20185c311344ecf447b50e17f236c481ac4fc7861f0d8345ab2612";
-  sha512.doc = "47253c708ed0c2e799f641855d1fa8de95b5d98097a124afee60ff69ff376c21f25318baf23ae2e070c9b37ac62e70ff2d95690fe2b49c8380ab998a062b4013";
+  sha512.run = "1018d4383ba04f92d383d2c4f51d30f091528f7a89ff23614e0ebc9e488ef3cc8167de12a42e6a6465c2b3937d849bd5eecc94cab0a9b8003569b06ae2c91632";
+  sha512.doc = "31297eb541060d760fd61ebe169b840cf182f8f857986aba5a2a578373037d3c99ee12ec9c707ab1f9d29564925821665997ea45f728273007f61a5f0bea5180";
   hasRunfiles = true;
 };
 "pythontex" = {
-  sha512.run = "b4443098c8c4c1fb18fa260a719f8b2b4d18f82b59c6ed5d2ec3c5cc253cf692242fa2c50cb660e187768e920b672861ea79cebd05e5d61128f88bbb9a267d97";
-  sha512.doc = "0208ceac9ea6764cedf25fda70d9f723568852d70baa7e93993179a3e784c66e58cd6e4b504fec568012ef92184abafbcd4437ba996387f869ab1f8c0f9aaeea";
-  sha512.source = "c384e808ba35da665d6b184a05b9130921f9004d5928d81d9aa254d5e5e840a8a8e6ce79da08aa96cf087be625942df6bbec7dcbb0dcbea4e72b0bc55612c55a";
+  sha512.run = "27a3196f89ae04eb992817800f30dd26b275b65a2f9272907a2cc6a66708ee00290c3e0083bb537f0ee0152c93aee50728ea1ddab672aa08dfcef5f089bcf2b9";
+  sha512.doc = "cdc5046cef480514417874ef5343a39f9e1c377d0e1f00e9df4ca8746670f2b222636afd58a06ef63086c3479b4d516f9d14074aabc1fa7876b2fb4f6599bef4";
+  sha512.source = "9acadbf5a18d56d24bd1300ff4b713325c43f163d2ac27e190461fbb74bbe023e31b2a3cb0bf3c6ead42c1275bfcbcbc8cc87914f623537e05773e9e641b7b03";
   hasRunfiles = true;
-  version = "0.16";
+  version = "0.17";
 };
 "qcircuit" = {
   stripPrefix = 0;
-  sha512.run = "ba0805d50d970da6bd4db8cd930533104d670fac94ca33e5f37dbe1770b8282e1715ed836e555629ab227002890a2726999bc58e8e80452fe2d074aca95175f6";
-  sha512.doc = "8a40c56ff87e61a975364f0213be6c6d106763a20eba511271e49c8c182c5bd0be403aed72562ca586844c9790312c25008266662c81194b24ece8ac924f29df";
+  sha512.run = "72dc726d377bfa13b30d5440f65e3f451a717c32785c9338bc95107a3fd29326d5011ea31a6805fd751e276279b8bb577f2b4a488ad0f380ffad84fbe46e272e";
+  sha512.doc = "cb4d00d575ed8f859722b97af7f15323af85e69b7276947c05770a6c745dbf0e4b3aa1546b3cc82d9555a5ce839b142ea8edd3da166d2c109bf6b829b2ebb74f";
   hasRunfiles = true;
   version = "2.6.0";
 };
 "qcm" = {
   stripPrefix = 0;
-  sha512.run = "0e5b2701110cb451a1980eb59a57d807d9bd7052e6a1797fbe011b0f40dd3a84abe3e380d2cb91ddd36954ab5a2d9653bfabcc7a588d7a229a3c76c67e3a3f8b";
-  sha512.doc = "7d95b71cbb106e227cb0033a37308f7d5a2d7037a2501eee040313a716722b0d0c477104e9ce98a5d952a23f1398a38d4fae96fd58fa78973c6893d7da5ff91c";
-  sha512.source = "68785ee7a7d209e762533e7fe8fb7d91321679d27bd48378d342ef6f44fe62e11f61143e50d31bac48e270f9049554aa483a7607cccb09be6c24933c88fd876f";
+  sha512.run = "9fc1ac5b0b6fb819022f9e2ef625a73ed884ecd2c45b7c58283388ea0263d9f9c9045e14d9ee37e8a3c0036171284f30f7db5f99bacd01d4c65e1819bec6ab95";
+  sha512.doc = "d7935c763e9e5245eb68d915b39a2f91d785a1590a7cd807e0923d7d5763ef8216069bf1119f15f91521fd83786c86de7b227e90b6407d6799a6104fe466fd4a";
+  sha512.source = "7efcc841f6c990e7fb1979bfeed28289ff0290b9ab2d54248628a3e52f0eb3c35b9a3b8f91a4b06231577a957d1009522d4c9843c103720f590cfb617289fd23";
   hasRunfiles = true;
   version = "2.1";
 };
 "qobitree" = {
   stripPrefix = 0;
-  sha512.run = "efa2be846c8dc1cd79ef144a59c6ad25cbd337bc42e9a5e8877f3598c95f7f285bbe5c819f8da243b0b01a4931c8bf0a6bb02b4cb6ea9a38cb21ce39257073fc";
-  sha512.doc = "6e34b9946a497cb33cf1c18b7badb187c759ada6085148397612f4c915d03ec80633828fdae6bf9e3288be23bc91ad929b0e4a2a36b36fe98e60a4d7680236ef";
+  sha512.run = "cd229c1611f269f904d73d276b8b36fb60a373130a3b5bf78508daf85d5ce50cdc4841a25e30c5a0925344eefd93f638e635be2878478f575f32fc458fa9a0dd";
+  sha512.doc = "b3b587bbe835456cb6298804cac2a8d61c85d4bad6550cd355e6a9ba155e7b691c5b2f5f919ded355b21dde9c4009ee30466bcfc5cb6d81e0af0fdeb97aa3b64";
   hasRunfiles = true;
 };
 "qpxqtx" = {
   stripPrefix = 0;
-  sha512.run = "edc644ac92bffc6e5a04ec76c9c94ceab2047993132881384f3b35043002bb50e8113b7a5b9e4fafd6051e9b04d07324c963eaf256f7f348daef5d984464d34e";
-  sha512.doc = "b2ddf16e535eda7a1907fd08e21fb938481fd9f3235b4d687f93f7b37403f6ab24243ef215e6b71a9eefbf0438472881a8a787003fd1c047850d8399c623cfb1";
+  sha512.run = "7387592a338e7ba10942e4ed96364e36ca325040bff02cd69bf0f98d471775d38bd63e54bad494f64874e2fd0462762595c5796d7453aa6909fccc2d9d6bd27c";
+  sha512.doc = "6b6fc20f5ec1269d318813b1ad34020e2b5341ed8891c11d2eda6b84884b3782e992dd9dde16d14b2030f2b57e1146fb6da6e761a35b12a3d88e8d865285668d";
   hasRunfiles = true;
 };
 "qrcode" = {
   stripPrefix = 0;
-  sha512.run = "b342fda7ccc47fad65884a76fee47bfc614a00144d8dccadaaffc2c58a084c540e41db531a374f9ffa28e6ee1d76841f9f9e5c2dcbfb926c6b13df45d5475c06";
-  sha512.doc = "6852b006df162ca82fa6ba27fabc86a10986132a50dcd573719bbaa361f45accd76def08087007035a5f06668c1c206828255d4c581720a17a1892731c24079a";
-  sha512.source = "ce732484458441e63be40785fb3062054b36e974ad106fa43331389d1018eec5f3d4c5e69ebba3f6fd6405943997243a35342257fa971f4d38f2d146b1ce3342";
+  sha512.run = "65ecc00d46d06f8a36cb1f170c12692cf7ef8c0cf9e68bbdc6a7da6b0a7f5fcda6a2e065b8a474609556518ab07c2d12f19a9fdaa0b6339aba94cf35184e26f9";
+  sha512.doc = "406d1cf238b397412a57ed695a39af0ef32de007b94e8650cf591c63882d05d7df18061fbd2b350347c052091202a38de1ceef19f61fa58de38c2e73de6b01b2";
+  sha512.source = "3e344af4bcd4e0d2b49638c33177f600f1e3ff24416ad503f55b3376fe7323ab381c7ee695351923cfc06b54c9ba8b3d1f4705f5377164f2b43ee04ccc565955";
   hasRunfiles = true;
   version = "1.51";
 };
 "qsharp" = {
   stripPrefix = 0;
-  sha512.run = "3eaefb8921cb4b0524e5f8b8c31cb74b70ae44c1ea41ed3a433f5a3d036e01bcedcc53f16000a4c7d10156a2d93d55505fb3bed80c47718de6761249302dfe8b";
-  sha512.doc = "90491665c4955fe10c3c28fb8d04ab30b77e2a63a1fa9d7f813a7941f4cb5336103f35464dca0c103176c8d14ad65f4896bbe74c836d548e00bb1be6f10518b1";
-  sha512.source = "9c5616dcd6dccd9043991ab6f136e8acdc0591272713703a8f9d056f7e4c8085d1519c66c3ae5da956c503f87b4453d1a8faa7b020b060ca4d09cf1761b6278e";
+  sha512.run = "29aa0808112111d088f8795ec87ca3df6f2e10f0a8e91347ddc7101733aadc72ba90356f7e4b39fce6484e04975d3e151205a5d5272789ecd414cd0a6afc243b";
+  sha512.doc = "69d74a3ed755d16957a2a844ae624a15e18813fdf02595c2e4ae2dc0cf13b20a1db1c4f49c20db3e4d3343c586411a88c7ecfe6367c4c1efea1a8cb2730cf8f3";
+  sha512.source = "d8ad97902be6b5f29db2cdd7d27049407ebffe5efc8bf0f0ac64e64ed2e3df8f4fe86b8e023ae7dde4368740fdebf22ff6420a32854d5745e8fb147005788226";
   hasRunfiles = true;
   version = "0.3.1901.1401";
 };
 "qstest" = {
   stripPrefix = 0;
-  sha512.run = "10b01530aa055e55a8d884896add9b102789890cf8b56ba2244435946ede647e5adfcc499c47c811c95673a8ec2c37325a466b59f0ada884a314bc16e61c8ee6";
-  sha512.doc = "24e635c00efa5cde6de4e70eea7efdcde0fbb0e85a970221e8eed829adbc15b22bb71c0fd22b0f28b7fe4dc2003885de2c2da356c0b6c1bc168629647ef99264";
-  sha512.source = "56a3f783c9882ff46c051689191e3f86f035d782694bae801b3981c46051b0b0a6fcc70f37e54672d51bf441163aff7ae3f70cbec68c985fb21af0794c94a145";
+  sha512.run = "1461a7e5a88a75d1976b8bf0b6b9a685c7e68bd5983ea1549b277627e20b8e7d0b890536c8e8357e168914220c168cc2be2e9a688b512e16d613107c50622f79";
+  sha512.doc = "a2e138b5de9012b637cc98b18e5aa64b2c9384f03beceda724c86f1e81e03b6da6b19de27fe15724463edc61520d035495f2f039a2d541b4761c44c55473d1c9";
+  sha512.source = "1ff5ae66e8620b298f4cb5ca4d53e420ed0e89e476edae48f1f37fb1785e8bf4693da410cf2149d690734ad11fcd669152ffa7a560bde94e923e772560f8ca19";
   hasRunfiles = true;
 };
 "qsymbols" = {
   stripPrefix = 0;
-  sha512.run = "e9c0b7b6507ad4b62644d1892e6d7d270cfe2f9e3a73282c074ea1fc39b6243ba8791c5f693f72cbf082242886969c036f491b55c6e55d3222cd15d2e7f473f2";
-  sha512.doc = "908ab875ae142842667e6a0975951b0c4d86279438f4c398da7e24046a9a5a16f7fb911e97832c22639032b1b8e0907f9ad9a57b7f210b03bf4997758cd23f0a";
-  sha512.source = "2750aec632bf1306ee88880ce388c5dd471269ef9c9e284b61a450220c0093787df0b28a024615b4ae2308f46a320b80ff8ab82f5dd2cff90289598cb1dbeb37";
+  sha512.run = "b910db8e0e33bbc111a95db914958a3261fa89061677d999876b026d25609326b83444a7c6b77ee4a39d60eaedff448ec662dddf9511e99c826a3bddbf0b2861";
+  sha512.doc = "c633094c09c291666f1953d8d8d8570d71b773e70f90c805cb01981117ea4212ce8cbd4ffabd9ca5aaee07637d19c6e627856115b3943f9d5c414034eee500ea";
+  sha512.source = "5c88d0d929f6491b6b9df65ac3ce2be28ee5461d5cae5bc2ecaba64a9012ce4d84cf3f63bec19971ca2e8ec37fa869b8707c8d6ebb9e80f8302cc04127873962";
   hasRunfiles = true;
 };
 "qtree" = {
   stripPrefix = 0;
-  sha512.run = "be7d3dd2eba1c32b3bb5bbe429df9140f1f6b314679b40aaef602d67fcf150b4d7b671de409ad464f2e5d50231f2e2229b3517d2ee84eb5d4bfaddbd754a552a";
-  sha512.doc = "044398c3ae5ff47867d57270a7760f79e22a5d312786dab75ed1161758dd8028128ae24d6c23836b528d7e4058359471fed22b99456c1eb0dc206c7473543f77";
+  sha512.run = "9f381007c2526f51483d7c190cd7cf86cb399e95475841900ffa8f522d3da71f4f451b42562783d756e252e513ca1f9e9e8586517057a8f6b881cbbecb5c3987";
+  sha512.doc = "c16142acf0c3f9e4f347c9ceff7a6c29557c0c2c4d2232ce9df146279b3cd4e1019e703479f426709a3feeb6ac46fb91f7dcee8cad35b19c83c9893661322f96";
   hasRunfiles = true;
   version = "3.1b";
 };
 "quantikz" = {
   stripPrefix = 0;
-  sha512.run = "9acc8df3caf17bb628082dfdc6fa7f584466b0adf62adfbb247cb6f3985b3a987cfdc89e31aef614b6e1d7d964c073c0b1db5998183d3ed1e167eb95a8ce2b5d";
-  sha512.doc = "c603fddb437cf560fa66b41c42cf3bf56cc9b613d584238b1bcbf7f6a538e6d4c3e1a0174cdbc740dbe4db76fb0c780e349455b5504d8b97033bfef80c0bcdbb";
+  sha512.run = "0d6946eeee69573a3c014a16c985da8ed193be32511723dd6302978851d9ac729aa7248be6cb152bb519b36e1b04bdc741b440d9746fc8106d326af67d8d10e2";
+  sha512.doc = "8dad4e65191d092b497216ed8d57249cb6edfcd54481bac8b1ca8af9734608b9f4f54e260be6ffc3df93353f81eb839db6c68e874a24f62acbb4613370578efa";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "0.9.5";
+};
+"quantumarticle" = {
+  stripPrefix = 0;
+  sha512.run = "71568c84798b4ca114ccaa98475d84efb0e0332c12617bfdc72694aadbb3f6e30b9ff5a762baec0781420b02069a0a5874367e5d52089d6bfcda5d2af789cd69";
+  sha512.doc = "99930e86922c19d13f534f5d04a0f29cb4ffaea04e8062bb018c6a848dd7674becf8a515f43413f3edf48c5c485d4d680b371c857b24dcae6307ddb329307dfe";
+  hasRunfiles = true;
+  version = "5.0";
 };
 "quattrocento" = {
   stripPrefix = 0;
-  sha512.run = "c9a76d02efe1cad1c2928c5f17adbc95dda098c9fcfb7ea44e2e6c2c8c8ac109b82caa2abc7e0371f798f1893139a671e113a18fb23faf5a346babd5a73dddc7";
-  sha512.doc = "907619be37c23e69ac6f5944e5f777b148d5afaeb8aabd92743d513125fe3b01926a131ea4eaf64f306baae5fab73d4a5b78f8b8909127ba4df2d0321b5f4334";
+  sha512.run = "04184f6e4eeb1dedfc165778d2886e5194e48adb5a17bdbd91c1cd408f42287b501a35047c761dfe6114eac1cd9cc68ec204f73e7c7946c7cb44b9b915bf1347";
+  sha512.doc = "ec4fe49f7b5bee5ac61d39568a900783a21e67d36e77e0af6e974f7dad27821a01cda8ea244f40b02de7cf4d427bb8e7d5fd3db6bcb163f84310083dfef68278";
   hasRunfiles = true;
 };
 "quicktype" = {
   stripPrefix = 0;
-  sha512.run = "997554cc6a031d46ff989b5e81dcb01e871dd468c48834d111583a6a1a4cc9a091e548de0c1c8f5cb473ca695e3b5688b45649fafff212a2a9632fa7101e716c";
-  sha512.doc = "484dab33e3ec0bf31e6037cfea69ce607de1da70f321a14fa06e48df94f75bd7dd06456e15cde967be084372b298f665eaee954e30d051c3fb344f2fd96a1817";
+  sha512.run = "4950c1c7a4536cb64d70fe8c08a69fd9336825973a7c8a669ba48bd66476888775d1ad288d34d4b83a9d674624960e3d17de1c972f52bd7f329eff971ec0f185";
+  sha512.doc = "6e43ad0d932eb2237106fd991dcd25e5bd536cb64db5988c958b138af294fbc777dc6ce2c2b791e3875a2bdeaf5a10be7d15585b44e7487017925e0068e898f6";
   hasRunfiles = true;
   version = "0.1";
 };
+"quiz2socrative" = {
+  stripPrefix = 0;
+  sha512.run = "f4fba8eb850a90288a9b3e7f4571f5df560e09e7cba608f7bf2bb3090db5a2c6bc7fc7240ef2e3cef9d37fe1a0105e74c4c63c39a7c1793a1fedc6f86772eac5";
+  sha512.doc = "a51cc19b7d13c0bd4f1ed07c6292940176104b5fb381dece7709a5bc1332edb4606cdd4a66ee5a4e4886754c4d274aeab40666eb45328dcc6c465a29a1c4ae29";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "quotchap" = {
   stripPrefix = 0;
-  sha512.run = "b2532032191bc114e3db752535e8b35869a3a8304f11037b1de40f38ff5a63bc3ca9a888eded1e4ac50b63716f475a34a2f8cf1be8439ae5b7233aa4905cb10f";
-  sha512.doc = "6ed31487396b75903ee28c2d1834d6aa8befcc8d878389772f8df315bb9c5189a44b46df405601752e8f66d52b410bccf607b96e2e4210474e6d1d8ca03876cd";
-  sha512.source = "8b01ef71228a1337471de0462145b55811f9cefb68c929a7ae9752ad70464d180ccedcd37ffd1073ad57fce8cdf7b99264e77099af9c87f4b852a3e27263a8a2";
+  sha512.run = "df77f5d148beb1b70d0d2683c1be2a1b556ff1fdd90e109a29fb222b5eadb5008dcd1bee4e36cbeabf484fe90cfbc7bd07f87d40a70cc0675fe18b9019ed712c";
+  sha512.doc = "b705fe959bdc23b5633f850831fe7b8a5261e55cc7cf71e75f4b626cd6a35201f0dbcbcdefe1994c5b4eeeb6d914cb07a5f335a165835b26a45d256772613403";
+  sha512.source = "d1aceae7227bd9080cbbd015fd2e3954e12330bd33ae06a6b98c9c63717a30796034d8bfc5dc1cd30ad07b2e55425ab2cd71e9145100dff87d98a11b11a84ce3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "quoting" = {
   stripPrefix = 0;
-  sha512.run = "d8a9964310912db2f70f41cf8d99c398f9f6f356eaf53fe14cb097d00f021e730e15070cb155b2b441cea7ec06c41718155b07bad5a1348643d4962c7225307f";
-  sha512.doc = "3220a564bdff7624699979fe45e53ac89095cefff59c93493eb058c9f569fee15deca97a2b5a5738b297eb021ceac930a344c7552b493794996b8772599071c6";
-  sha512.source = "5448ed23d320208ef287c3279b26af88b9940030bec068c1dd42f99691b765bd526ac56df9dfa983dc41e7252281fd15f164bfc6b251606be8918bd5f3bad397";
+  sha512.run = "44a9c726a5a9158fcd13fd93785101d2a9a940f34da3d52efd5be1a0467cd76aeaf4706b945a8de0b4e0b4a90740567cfad87f08aaa92e7d4eeae8eb9f7bbc73";
+  sha512.doc = "b3990965effff7529a7c18cdd3a08af337be3766ffe535feaf54db504a47b0f054af41511a635c3e70c34d3025df419af702d319240ee673f7462d2cf4ccbbc2";
+  sha512.source = "a50186cf1b8b0f55ffe4b2e8447b1232c14c6b36aaa4635bba464de1648ed01adbfa13d8a184bdda8398573b2b9132948577e47e252bcb1014761f4318a76ede";
   hasRunfiles = true;
   version = "0.1c";
 };
 "quotmark" = {
   stripPrefix = 0;
-  sha512.run = "bc5a3a19c8ad82e5bc367b409d26daef55de532bf8a16ebd8cda5e6e187311946721acef96fed125ce4b16f01ab893843495b2eb712192b494e9ff470217c130";
-  sha512.doc = "4c22177a0687b90c6097c3af93ba20ea2cea44ecdd441b2fa2a285d9b7626f659540079b5d17f44ab620317f7d3f597db18fd8528c7573d37c68ad5cde2e8861";
-  sha512.source = "b989487e0263f6c2633577bd80a6fc31b4564ee14ffc25e1b0bf2be845c0d113bb4cbd892e4f507404cf19f3c7155f0e07ef5c873ca2385f590a2a75fb0418c6";
+  sha512.run = "9f21ef20aa9354b1347f00a52df65ea691fe4a00b05b794815279c070d05544611ccd8773cb7c9f8146a3a135f3100a06aaec48acacba255bae9a0654a2a9b53";
+  sha512.doc = "6507fcf8639e780ab844700f6356abd8eb69df6158ee638d8471a112159f95a3df8f358fa40479eefad0cf09c34fc37d9292904ae159f2a79fea5acb93f6e542";
+  sha512.source = "bbc423a9d6f6fca00c5c8dd9ed5dc084d094898ad5b27397147c8dae1f3bcb8a09f137f1c2c7066fb92d1cab1f5d16681612a528fc28ec4e7901b660f6c8eee8";
   hasRunfiles = true;
   version = "1.0";
 };
 "quran" = {
   stripPrefix = 0;
-  sha512.run = "050a90e9a19aa373d80b7a1aa98d198a1b614145b8c07b4e4a6a97bd2ac795d3de9af227ca6319225da8599b0f64cfaa4be3179ebdc6704c983b66bc3becc485";
-  sha512.doc = "db733dd1481cdfd7fd153ce461baca54ababec1bfe0934b16ca34d5978af77bd7a1085ebb68cb1c2b2e95ab8027b88e4d99cc79adde5f9439a1c7b9e0da7be96";
+  sha512.run = "0b6488c5791f3afe774d0cec602e0da69fc9d5c5a83ee0f660d87e7f58e43f78c5e25cc7c7da446c0bff1e69a1857e9bfb920d03efc8492f5a2e226a2caa6dad";
+  sha512.doc = "15d704615b7b08a570ede940ecd5dd73a75fa1ee07631b7b9354fada53ca42c87129b63a3c7825a17f37579b099131666cf2d20e81b9c09030eb7bdd8b069ec7";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.51";
 };
 "quran-de" = {
   stripPrefix = 0;
-  sha512.run = "ea76516df3c8ded8147d26c89d3f964c39e5d4aa3b74ccc71ec883fc426f8a07ba0d1c74b2619e388ab21767ee6b3b03c8d205cc8148ed4af8e21248b2a3c9b9";
-  sha512.doc = "40370ccf8d3716119e39abf331803e262e4ed62d0ff2afc157709fb66325f0b166b10014ccb1a86b70acbbd9d20eacf0e5e386fb0181d6373eec19c138202dd9";
+  sha512.run = "bcd27ad64c01fae92d91155c918e4880837f657cfe5dd849a8bc137830a8b2bd6eb9942c1764e60f65bde41ce2e4397d755ce621ab83c5c56d181b60042a503d";
+  sha512.doc = "baf460bbda2bc6890585dd21d0f86208501ddfa4443ba0d4552e1748ad44ba578fe78e79928a0c2556eca543089c2802616b9a4f9637c64ace7d01ef30168e39";
   hasRunfiles = true;
-  version = "0.14";
+  version = "0.141";
+};
+"quran-ur" = {
+  stripPrefix = 0;
+  sha512.run = "0a6f214eac72a453050de2e2bac8574bbf746c3abeb528ed08c816633f2ea216a9e08f9be517c4bfa2a43924f5ac1921291c7f598297ac23848568f6ce85ad47";
+  sha512.doc = "9bfbc6ee1896e1586150fd67443626b6808e9d15efa5552e5ad238c3d704868121ab93355a0b170f7bd958992b42b1553006bc2e28ad01bb555735da70ed1fe9";
+  version = "0.1";
 };
 "r_und_s" = {
   stripPrefix = 0;
-  sha512.run = "ee6335d6e04765ee6a4c85c1e71047e6c0eb74461dc896945f26f79c2b38c86e9daf13ce8eadb0226404c566f6f5148964e098c7a698b9ceeac315d30b941748";
-  sha512.doc = "45fbae3dd1d572c9bec44827743996325471bc07702399f7a59412fe9f197d66f2c008dca78c20dead3fcea599c31ab892bfd8ac57241945ed5d0cd3c9d226c2";
+  sha512.run = "86b219305e4e085af2a22d34bc586253b5674abb18e257fa96bab1d45695f841020c0004f1da51fcfca0fd0b325e4043f2e368740841a5a2e8db774711ac6348";
+  sha512.doc = "26e227f106bb9303c4823f0230b689d6ed883580051e1bd5ec2e16ad796a3e33df2caa389c309b21b010bb43b07e5ec1027d6c046af55193deb0e4d975288846";
   hasRunfiles = true;
   version = "1.3i";
 };
+"ragged2e" = {
+  stripPrefix = 0;
+  sha512.run = "fb74ab5a4aef68ead15246701eb7ddaa07cb0efa66f309fe1dae067cb7e8fe38df9ab9d47338342895fccdea30fdb189e1868e3338cf84f61cc787a704697b22";
+  sha512.doc = "f15fac0d6949fdac80ea27077720d72ffd7ff2ae695d4716875280d045b25c485016d8e72528957c10f93588d5942f440e67d79f1544d91c3eaa912c2f0e8067";
+  sha512.source = "f64a195e25aef5c691e1a925d9b2739a7dbb7bff3b8a100ce8f0c477ef222b01c52dec53b5c7a80f34be3f425f58ee6d88693b7a42c188569c08a4e0f5230abb";
+  hasRunfiles = true;
+  version = "2.2";
+};
 "raleway" = {
   stripPrefix = 0;
-  sha512.run = "78b68b8aa3863ffeee5b3147d947fbdf6e4f18f1d89cb2bf39a3fc8d2b0272914e9aac57c9bf43547868e2d7479d6d07bd4f3bd1dea9cf426b7bb187aa34713b";
-  sha512.doc = "9721ef21f576496b5f035058974d86190e6a1518a1eeb3b2a4b7728b900a2394f8c876498e7a14693f5c535b4259560b2e7e93b29b0731ec0da3e7a29df1aa1c";
+  sha512.run = "8ce708ec993b1405dc04ddd96b6d39da324799f404e2798448c12cd03749f11685f840ba4f986b1b0f7696f9141923f3b91f5318de634979720af5af5b07781c";
+  sha512.doc = "eae288de26c57ac27172e83bc6985b0edf80ac88538561468924c34656f31507e008097a1e8452ce47729ab501493733a1c022440c31c34cd99f8211383e889c";
   hasRunfiles = true;
   version = "1.4";
 };
 "ran_toks" = {
   stripPrefix = 0;
-  sha512.run = "9b8664d43b9f5030289ac44097d48a7d453144ca000d38563d6c8eabd1fe5a9c2f7c8ca5591dbb6af2b92748b56e8338d7205873e19f7be763f667abb102dee8";
-  sha512.doc = "122cc456142f2080532f20e96fa39c37038b887b27af86c5c4df17567f74db29eef474e1dc9645bf8fcfe02c72d210da8d8eef2edbf957806abb84a80b69bbc0";
-  sha512.source = "018ee528f96e42592895a7be6ce5ca5ff9191f23a7b3b670ef1f7cb2d2054cd8681399f3ec90018af039010901ca66007bc52378bd7caf4b582f25d512c10753";
+  sha512.run = "145ef7d6307f0b949fa488d2510223bd055419b5677745aaf04f322a817562320829f931136b9f651e501726202a00da68d9b5bc13f4346c9de9361611d427e1";
+  sha512.doc = "a8e8b19485b3609cc8df896cc8eed9af31177866648d94f10c20b2be1c8ad23c48ba2d8e9004168cd6a67646b68aca48abe78dfdc668216904bd0f4f982b27f9";
+  sha512.source = "83a0c7f284b019b2c4ae6469f48b275c35e31d4f4cd2c61eef5d906f5bb41c46ba73fec3c4c34fe3ae745f5bf1156ed77021556c2e9ff4cf03dab3752bfe3c34";
   hasRunfiles = true;
   version = "1.1";
 };
 "randbild" = {
   stripPrefix = 0;
-  sha512.run = "35b93bcf5a91815ecc73b3b34020d4bcebfcac5e9904be1c72d8e0f7b272721de6e7cc9e38153d4cb05ffd1bc1f01f9c6073afd2fcdc44152b03233430d0ca09";
-  sha512.doc = "d5db0b4ef488cd1e11794538c078d8c455e958c77fd554f81a688b9150071837b76ddeb2c2c246466c0037f6da62f41838d78c4fc731085dd076a8d67cd8510c";
-  sha512.source = "f6370a88d849a78072396a9eee13098034b6db59f03343315e9de46ce0c19c786670b8cf52103b6f74b4e144e9f1561b8d24dae47942d31d9517e6bfffab8317";
+  sha512.run = "b4fac4fe105366ae1047a1d4225bfbe8ecfe6e05c29e955bc91d591f25ad6a8ba0e2b81848f27af96a1509a278864393c8874b14f30e64c8d5b69b9db811ec41";
+  sha512.doc = "fd8f83db389fa62ae8dd63a2c3bc8e4feb9beb6c56d7579fbd9e9065c399a73ad19563f22cdbe1dec78bd1c33056ed1cd4d9a534105b34a2ceae0cd8592326df";
+  sha512.source = "6180472c45b6eb362076c50a6a813d5521fac11d92881639cfa3c7444fa456dbc7b453e4f94de147a635ce017bb21e30087ec7e6c39ead8778bbe9debb68a68b";
   hasRunfiles = true;
   version = "0.2";
 };
 "randomlist" = {
   stripPrefix = 0;
-  sha512.run = "fb5c57de13932682098d15072d40370efc68ac33f3a0de45c4a275a912222e3ac29aa34ae93e9bce92aa425285f86a0966e74f5974a36da18a2891a7defa20c5";
-  sha512.doc = "9f4b9529407181edcd86e20bfb390f333640cf36a1bdffeb598aacc8efa0ea2fd67c6b98dd238b537889c8e9d6e9fc20db94db89db1c23c94bea7f2001537c1c";
-  sha512.source = "ccb17f684fea37bef5316e5ee538f1dd82b73b7db600d0380505f5948082e8a8dc8bb4a340a54bd61e5359c87b1c9ef4671310fad53e9b766a36bf64bc8bc63d";
+  sha512.run = "895eb116868ced533e23d398d0f17bda2f55a2cea52ec46bcfca4004b9411fade8817af4fc9d3d91b2ab2959ea24027266d8fcac0c77a64d2a4b88fbed5d56a4";
+  sha512.doc = "4c0ebff9275bbd1c8550902735b4ef0d04dbd688bb1abdf124560defd2e5d0cc23171e8034fc67b5379d0ec30395b4433ababf3c3a244cbb5ca5f15005057f58";
+  sha512.source = "3ccb29c8a6b815484929b7bf0e142090bca848d3f5562533380b71e1be3c9fff2d7ed00f39fa68a745442ad45e1b07e4ed38ef2db55a2bf341e6adb0ce51c373";
   hasRunfiles = true;
   version = "1.3";
 };
 "randomwalk" = {
   stripPrefix = 0;
-  sha512.run = "842a5f1568848c4d906af21d8de0dad61e04392d9d9118eea74d22cc95218ce5730962ab4ff14b178a0da7a5d8eacf14c97309d0b8ebed460276e226b8fc8c0c";
-  sha512.doc = "e4925130ffbe4893a78f65e82853c18a54509a562122cccde2f2fe49d040d2d231ee3134b72d07bb0f46bc1e83605e8718899ae3abd9bcd155d76985b526d423";
-  sha512.source = "bad8a557c80e4e8aeac22bf9fa27401cecdfd49993d8b190d11c76cfa2d9e63b196663f13278b3c67dd44ab2ba386f3ec11f50259b204cc404c1bb5ba19fd925";
+  sha512.run = "3a1f08f41864cc3b855fc4a9f8aba298d92505231c728381f5c5aa29f21c73d6e10834ad589c114ae26ba97d092b33e9c83a30518a7f289aa0ec96c933471afd";
+  sha512.doc = "00c23d42132d4a47973871bb9a2054385681898d6cd7e0a7a47337808187855812d98535428f6e37a3eb2da13680ac4128fce38db670a87a66483f6ece044c8a";
+  sha512.source = "55bcb9c1acabef60ee605d9dbc0cf9d601a31528dcf444f2caf2f8b91867538549bd304b3a73b3bbefdc9e7ec82791264f054386c46b4fe67d20e8ff6a44ca8d";
   hasRunfiles = true;
   version = "0.6";
 };
 "randtext" = {
   stripPrefix = 0;
-  sha512.run = "e20b4e2ebd41d7815bbd5de915ae13ad09c5e98c2f62914ed77590a66cb9ebf12a56c994d8d1f0d3dc84d06d37eede85413437b38cdbc93bf702ce82b1378a17";
-  sha512.doc = "c96f7f804b6e24d759b30cd754326b80a5439d4d514f28e0e17884faea6568019d1bc12a987ff7c460151d92afda55ea6fa6b6ab9d7e5a49146de218c59f6ece";
+  sha512.run = "6cd20551f4b48d30d4c830da395873bd20e11b930336f4fac0f0ccf09c9a956d18107c45aa2b1ecea51d1fc4b0c0fabf06d436e247aac6ff58548cbfd31d35b2";
+  sha512.doc = "3bec31ca40816e7e86642e080021ab5faabb19656a15463f712e111485f1de00d698816e84b1ed7b63ea9380970d4e80b04aa0cf79442c7d1d77d5fa3f4d072a";
   hasRunfiles = true;
 };
 "rank-2-roots" = {
   stripPrefix = 0;
-  sha512.run = "48d263a5da2aa8ddc52e1d235994495eb09ab9ab150d48e0e05e9ec916bff47472412ac5fc8050ac3290dfc1bebd90b61ab96f2e51acff53fea07943c6d3d015";
-  sha512.doc = "11b37192c9c79ed43a6533add3fc8152af7f3838c7ed00c62c0848caec8394a3116fbb5e3f775c61c860cb35f4a8878f030d8707a6d21b1fefe8c4deaad2fe3f";
+  sha512.run = "43d76c8461a724c48e5e510701032c01a5bfa645734402b0fa0d0766f2d0cb7520f2e3d29d6c3abfe44ec369988445aab9216135f70c43a18fdec152cb4ae92b";
+  sha512.doc = "f9e58f16b30b075b19929a9ad1ac0c47e53b2aea038e34db69dde6d64e1cf3281fda597499dd07aea03b3bb325c06a1c7abbfdca42a80f03fa2a3d272bf52e5b";
   hasRunfiles = true;
   version = "1.0";
 };
 "rccol" = {
   stripPrefix = 0;
-  sha512.run = "e858afb44964dbc47db564cab2d464af7af496c2ad74d13dc14e243a178582df610951b6c1c4e2fcd3b4ec74c20ece276293b3d5e934b938fc952341d4f8731f";
-  sha512.doc = "8887d4bb4782c8c0b14752ac1f394705d33e0ddf8241a6efc616121788a45070c954bcee363e659bf2a6ab250076eb22aea8f718791825066e2cb120607e3bcd";
-  sha512.source = "e52754768a2bf3b321fdb9cecbb83bf43bae2bf4ef1c99a5e21a97c825d8c11e59b7df8d7d74ec4837deda3fd152c5176572ea619eab855310bf9d6c12347491";
+  sha512.run = "0a712f0918b4c0e4cf8cc2a0d442a681c6cd4d00b50478751512ed4588f070566f005717196f694c8d07e79f8ab6a49be6ddbda8db71af65e30cfbbceeab6d2e";
+  sha512.doc = "56c43ee9f49764ce50da6b1b4fd736cfff16a1cf3907fc7189807e5c946f1c25c593ddc1aa22c2ce2e0799f7057efe2df35bfb9aef0fa1c31724110a352fe4cd";
+  sha512.source = "bc0f7ee1a6fec9adf6d8ae77fb174fb0334030fcc504af46bb2cb88516c05b4b9539748b381a029b657f22d7ce6313b0f19471ef85b1064139e6cb7862c726e9";
   hasRunfiles = true;
   version = "1.2c";
 };
 "rcs" = {
   stripPrefix = 0;
-  sha512.run = "c2be931adfc353eb3b1919344771d106f2b3dbfde6b623960f94ee6e7d627c0cc88b301ad124bf93a9d491f1bd7183d7eabf76296b9c90343e15cc7fb3720414";
-  sha512.doc = "8bb2df33e83f64986285f6e1eb3785454288628d1870a49451cf4cae1564443cc8a5a36cac033641ae761f3aa707e924f944248e2eb9e3317b7fd6058d3af02b";
-  sha512.source = "289b084f0027cd3e7b251b3bb3ec28c165058df1d4efd2e214146767dc746cb8cc7cedb10af7dfd7bd9b23225ab540de62887b2f6fd99fe36b8d65a4e7e94655";
+  sha512.run = "4a9d7cbc5c16163a5866bcc3c9fae95d8fc42b27d0d8dd8ceaf32e2b568bf9ac6b710a4124cbd255f1f2d18fbcf66ae020cca58ce6d16c6c5eb6e0a85e288419";
+  sha512.doc = "71430d5e481dac53c3b1d5f86ec589fd855c244c6717f31c16e2fe00507850779fed3ef43db2deb546ec5b99ffe775a10711f1fd59c022f4223a8d3327424cdf";
+  sha512.source = "3c2db69ab4106eac241e9126407e90d8b20cf3e186d50cabcb35041a68c1b670eb3bf9b571d00a52c8e4cd410cdd7cfb38e6bb4558560d46420d1074312910fa";
   hasRunfiles = true;
 };
 "rcs-multi" = {
   stripPrefix = 0;
-  sha512.run = "1541b3231f8ea0b863ab851a11bd3414f73467dae8a6c84d7e0566e0395041b40085af736055ff914686b324b6e8ce23bd702204a73cb57fc0cb5001f99a5491";
-  sha512.doc = "3778d46a2aae8e8f20c77c779aeb72da3275103fc4d9784b054deee2199eded98c1faf8724365cbbdff00720a9f141d8b9f9e43f6aaa2b5e4ef5f097522ad2a6";
-  sha512.source = "76095c85d3c57a6a237756fc490bf7b07c8fb39fcb674ae67208a9161401df1778d6e119832eeb2a511205b65adebe0e017c0ac5afb0ee088cbfe407ffddcfbf";
+  sha512.run = "156e3f47b8f4eae8cb959bd561cca2c592a43483cdb99fd04a88593ab5fd585a814b0e3416a835ce8d249969eafe119cd80c9c5364f40a9e595aff2c5f2e6f65";
+  sha512.doc = "2eafcfc5c0297c021ea7f35abfac9526c4a40cd46efb88ee6f41a5c0f5d68586263d3140db73c1f9026cc0fc856a888369b21f5d85679f5eb60dccbe111938d3";
+  sha512.source = "6fda675809ee257aa7f96a3ddcca5e3ec8577bc337c3f303ee6658bebace26ba271a367b116abc32fcb2633bb5c57a442b2e12fc2bf67b8326ffaa46f08f6ed4";
   hasRunfiles = true;
   version = "0.1a";
 };
 "rcsinfo" = {
   stripPrefix = 0;
-  sha512.run = "0c66f0c9cc46d08893c63c50d82d7645d5d5e892f46521c4e53c1493ecd9daa4c34ca1fd50d04ae57bdf4401ccb8475fe84cec7f362c8dada4c265f8312e9c3b";
-  sha512.doc = "400cc662c09eb1a4e77d2b6533bc0fd8b9597ee55061f9e7dd2e2c800478f9d7d8bb2f95a1ebfd02848dc5da21ff5261b209b49be9863afa7bc26bdf9e372e77";
-  sha512.source = "906705e03e80ef4c375d7e547770af010bfbeedefa87dcf4303f79271c0788ce134996a4dc31e199947e8d23fef3f9376c93529f1d497163569955a2713ccc05";
+  sha512.run = "6070a3f0b434b5339e527161b7c1e18dd21b23a9b57817a2699bc13369bf35110868e38d3e487b7b0b58ddb12699599a6e8ac4314b150ff2c8049ade5124f786";
+  sha512.doc = "c7d149405b9824f7fb9a453386477ee3ebb7e265b29a004eeab687695667a9e8ddd7ca91ffdb4fe7f60716e6c1f2b39004aae82777c58cb60532bb2ace2bc846";
+  sha512.source = "bb38328d3124adb4ca1734912bd0fb15040e7d390d886d3817ed547d08e4f6e5a134db6e4279ab2cf0a5b8d0216afaea475c3dceed7381bbc84adbd63bbf3b82";
   hasRunfiles = true;
   version = "1.11";
 };
 "readarray" = {
   stripPrefix = 0;
-  sha512.run = "8b0dafa35cce273abce6435b2a81a642a9fa86859f8a0d920be5a85fa038b2f2ecc35109d5fd13b93f521bc9923d3cb0bf9380c49d7ffd01e2d72ae4a67203ea";
-  sha512.doc = "6f5d8550530f132a7447e8cf6fa3c18441cd3b7d3f737bd2fb8ab1253b042f60a93d527889bdc53f17313e41ab6bce2ed10eb6c0b46f569407eb45b0abc5870f";
+  sha512.run = "34a1a576a560ec5a66fd8b358e9f594e1971124023e9f88e67e5dbf7ff775e3950071c5f4daa004f8e59549f245934e4dd8a82e4a2928bcb1e9fff99f2b3bdd9";
+  sha512.doc = "61bf2960c1a0058a5a64a679b4c17ac0e754f09f2ca1847fcee4cb0b0b9a0dd07e252a534768fcf3b098217afc4c52a8f65120dcf43e69f0907fff9b8638af99";
   hasRunfiles = true;
   version = "2.0";
 };
 "realboxes" = {
   stripPrefix = 0;
-  sha512.run = "f2a35b1bd3f4d46d4fb87257f656c05e9820942fd92d4b2e6ba5a028e22960da21a7ea07020a2e2088303ecef1fdff87d5dfd0385b35a31d367ec41dd426eb20";
-  sha512.doc = "23d68c9bed442ea79675adb535727f4181d0c91971b4cb0ecc635cc15f1b791326f83861c9df60c6190ecaf16643f29c9f7892996d11f8c1f60bf0df4bd3f96a";
-  sha512.source = "053a25cafcad302b10ad8b50b4d7e1730fd8399d27b897d6044ec63cbea198b75a57732d1ce7ba49ac66d13644caff3f0119152ec7f8390bebe5c42fdeaf1454";
+  sha512.run = "944de8b761acc0949ba14c0d506287b64a1cf8efe20fd26dc74930e589f4d0651ffc3f1c4959111091f90d0f869ba18cc9456a5c58dee0a1b4b8ae7c1c6c02a9";
+  sha512.doc = "cd194a9fd0836c8cefc57c26394f7e7f684974c374f787f3ac6d82daba3ac1e9f17aaeae06f26fb9851255bf53bab6290124a1878289651dedec824238e8193e";
+  sha512.source = "4ea18fd3ad7988447d1c2ad993d76dd1f2c4802356885636e80e5157a3892ecc235d9fce90093044dc9415056a986ccd5fe2f8eabdb86bee3eeb27eae5509be8";
   hasRunfiles = true;
   version = "0.2";
 };
 "realhats" = {
   stripPrefix = 0;
-  sha512.run = "7bef7e077a785409fc3bce337742cc5b035cb487814663373eb4c92161f764fc2a426cc787ef556f1d1c17ac4ec60cb02f91ac73cab6eb16e268d9e7a2a6d6f8";
-  sha512.doc = "fdadc30c6132a1add160d3c0565c2086e74a3abcef818d497eb4e61b82fa58b4f9e8bb58df7fe859fa45fa98c8a22dbc133c24a2a75bb64c1dc5b04f1a3a51cd";
-  sha512.source = "b724b68434a99269ef503fc941d39e16fdb42eaeeb4278be0b0fcf972303941a242f67a5b74a3b524aa417a9c17299e3f2a76a1cd19c27bc0cfb6376b4d91404";
+  sha512.run = "1340264b7e44e98c356c2c4b71c5b8ddf6488b221858c1a5668bc55fdef5f976eca954cd62d51bcb097f2a58f719c6f96f6a9cc4791283328ab969813186afa8";
+  sha512.doc = "faf01cf9153647bed3ccd282aa4f8370e763bceb2bd43c547d3ed2b1de77fe2e64c4d720cefbb9bee78416521661eb17eeb496b4548bb7b88c5a45d084765e30";
+  sha512.source = "354c3d88971a7d516ef9d0cbf37c40a28e02fb97e99c59590ab7ce12cf8b70a930ee486fc9fa9c94ce9cc52d2ace8a7a183d22b5ba15bb91dae042253462f86a";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "realscripts" = {
   stripPrefix = 0;
-  sha512.run = "3ded8c5bbe0d623832a1f4a20663661c6f444dc1f17e4cae9927a8c01b1a840bb69d239cd69297b81c9021ed2452509d0c8629b0e52d1e7656a83b957ab9ef21";
-  sha512.doc = "e14cfc14f0a244f1eeb43cad84e0eff427251f5519e946f52830f73c94801b35ac852b680830ed28ca486487e77e9ab5748c9e660678da9f42b3a6a99181c46d";
-  sha512.source = "182989ec74ca611c0d093fbb297553994416d8a879a16bd056e1cbadd62340c6e07a473662f5e0ea9560718f66ec45e32d2d1d3bdd08aec3de27f7c8c8ff6255";
+  sha512.run = "20301b045034aee5650a976de1341cb0d1629d6d622e75fd3c52aad8f1cd6377d3e1095e75ff0552b9cba887f332205f861c24c4fa453bb9f957f1dfb2aa2968";
+  sha512.doc = "5bfa7a13e824a6d7ade0f81fec6f0c9164035c8a5b512d5a49eb4b47b0b47ec514aa430a34e6cbad463674a180a3119305b5a6525cad824b8f21d4b15b03350d";
+  sha512.source = "71a4e590c2e3b7d6755bb2a65890e75ad2d380f26649600dd4e222ce9045d4a7bac371d37fcde0afd51a09c213f5234ab2e268c45438b49d846f1de12fe21293";
   hasRunfiles = true;
   version = "0.3d";
 };
 "rec-thy" = {
   stripPrefix = 0;
-  sha512.run = "0a96b2456e07a9bd34d176088bfd0abef95d2c395e5a1d95f0b5c36751715bec7fb462661bdfda70b526d5b798a9393b91212ad9476f47f20edd1c4ae94157f4";
-  sha512.doc = "4b59155d2665a5d0188af2a303d83086e550162d8807ffcb10b860039b78827d03ba75e94daffa8ab6feda1da29dd2ecf6b8dcc3dffd17c8a51e4501bb37fd7b";
+  sha512.run = "cd3d8c9f6b08e4471fb377586ab928c7173e72162269eeb9856d4fd50a2c89a1e1509bd36356ed0d37d89eeecb22391ca17bc5a214813acd3496d4c669f261cc";
+  sha512.doc = "257746313876d190f62d50dfea03a614c5b6732d79b7f43b7d6c41be54c8827f82c996570c50907641536e1e5ffe172d495e1f3db94d8d1e13fa5f630225337d";
   hasRunfiles = true;
   version = "3.01";
 };
 "recipe" = {
   stripPrefix = 0;
-  sha512.run = "f5854d1f7eae2f2f2268105d6c86aba95524534c3e428b4791afab4cca54e6d5da1b23897084e2fb271ce5fd568ab556a5644d6adaba859a8acf6d4be845261f";
-  sha512.doc = "d42469b59c462a002c9c88c8ba7b5d236ca3a3061806d76fbe38851964ffec61635727b8f8a5b77eef21fd5016dbd54a52b7b8c3417ad2983da867590778b525";
+  sha512.run = "bd6046896b15d362fbe91e92485cabb1100485b5c91d4ac0214aab12e0debdc900d8693e1ca345da0152cfcd400a2f4e7603fc3e8476681127e64313e2f9b954";
+  sha512.doc = "b21b70e757a0d842adfd70f0bad21f46fe9b3242bacf4861de183b833edc950eb2cc06f0d3569a48c8e028283b1526741a309abd8fa9501f9541256bbb357ddb";
   hasRunfiles = true;
   version = "0.9";
 };
 "recipebook" = {
   stripPrefix = 0;
-  sha512.run = "3b1b0070f8f2cf2c6fde5831175c331ef28297d03bc207ed8c4fe105b488c1f3a05c6d3def0d70aad6ccd30f6e84a475af403a7b9d01cc186cb6ca7c61989b2a";
-  sha512.doc = "470637daf760f47889e973c514f45ba7d27f0f3d29686493d2170903804dfcf5a59fdd85bee378f0289534753f59eb4ae1e6c1f32b54f85cb924fcce63452040";
+  sha512.run = "c030f81bac27221f24b275d689fc7cf80bd6d97ccfecb0c5d51876ae825871854d7729e123caef3735a7b2a5608f070ce170709c8a1723b5c740f05371c82154";
+  sha512.doc = "0c9d803360e1ef65b38f5b66c6d3eba6e9c38c371a430e2cca371594935fda16a051d6d1ee33e787114747b9efc36475c6c92b2c8b199aa1a5b48e214f7a4643";
   hasRunfiles = true;
 };
 "recipecard" = {
   stripPrefix = 0;
-  sha512.run = "a1e28222c48d249a601573dacca48bbe6bb61557ee8fb895a98ec539c2b584d17ea7c3348c7ba5593a3433f8bdc0bb700859c616b94bbe9c9b82412adeba5ecb";
-  sha512.doc = "196ee125fe019952ac8b98a24a65aae9fa45e19a0a3b8dea37e89eeb22053d3a8deff30799ec9df2858ecc2c5897dd267ab1b14068fca236e23e3a2c4e387da1";
-  sha512.source = "1b4506eb2048bd09b05a7ef152739a59e85fb38fd266b1cc53d019c8554a09a245b435ab91c721570e78de8c74a1d9d4bc71ea29c109a6f88685fcd6a35a631c";
+  sha512.run = "62778e7429aaa8e4bed6546c748a7e135c9edc4909508723e7931284c619d502e9efb0e6fa54c8c1d242858355c6d95bdc87959400c18a5648ef105035ace26f";
+  sha512.doc = "0e62ac28631ee072c9b0b5dfe9995744c381f17b14da5e9c8f4159fb274cf2a7662f0eed8f728ec5990a6a957de051304601acde2d171e696e79284ab2faeff3";
+  sha512.source = "d08838184d5d21107ee796835c95dd446242ea3433819229ab918a30e73a3e042e6f4cc8f75c144ced7a16391841177409567bdf3116632b0915ebe47378943d";
   hasRunfiles = true;
   version = "2.0";
 };
 "rectopma" = {
   stripPrefix = 0;
-  sha512.run = "cae353c842be434fb7af2e9d01bf444b446783a18c992cb056132a07d029511715bba574ccab469fd834848849fa63df72ac976ea913222eaf31046edc345d92";
-  sha512.doc = "f04b4386f0f5a1741471eb9a252d1b55b9175bfaa304b21c66aff7d609a50773b6fbbaf713541a9037ae2b84cf5c216907349f88907d349df473437dbdfcac06";
+  sha512.run = "17a297d7862eeb8c48788e40fd761fd42b37fa7b49b7447e00e828f1a7e0f2e411eee357507d79bfe0441c7feada9e06fb18ee5ce0af87e7aeec7ae618e22d83";
+  sha512.doc = "27ae9a381a685373a980e13b9b5c3f6057f98224a7c9659edc0c056a6292e7289ed9772f3a503e8de3ea93b796f271dafeba57f6e240caaf738003e1ab848e46";
   hasRunfiles = true;
 };
 "recycle" = {
   stripPrefix = 0;
-  sha512.run = "48f9f3df5b04f7d7fe17c29607d736297a39efaf4ea0e9d500b45b3989b951ef9df970ef26c199d309e07641dafcc4cb1afddd37dc843150322f9f541a1b9b6f";
-  sha512.doc = "4a2599801072ac8682d2e2c1563621db5c0c1598365fea57e10b0dfed6339ca49c49f44c4dfe25558afcafac75c02284bbf99a5ba08e3db16b1fa7e40b342b74";
+  sha512.run = "3bc28ed41a8205534d34593429429768bdfa64e61cc212017ba4be32f7a985e8d65ab296137cffbb7ad5be4dec90bbfd30d675ab314bb79ec0ea10b277c33d66";
+  sha512.doc = "3bbe68b48915c6fa662fb72072eb9e130613587e86d3d4172766c8fe690a995d23d252cbda9a226a7716c9da8741b3ed0e18eae1cab2f547d08265ee493a64dc";
   hasRunfiles = true;
 };
 "refcheck" = {
   stripPrefix = 0;
-  sha512.run = "271b1ae64a55d1d5aac19a715780c85427063fe958a206dd8510417e4f38d06a5c8f9596e99f0b29ccbce0789d7a69b8070e7eb9f0b1caf8802f6f0ac2f4fc30";
-  sha512.doc = "6f6e844bb8dc40e2b2ed45e439399fc0208dd9c2e8b76e91c23c3945b1163c12d1c4f81885aa00470778400ac0ac088552a803fcd2d7ce160624e17d1041148a";
+  sha512.run = "46dde83ed04d4586eb6a2af393ab925aa7238a30c23f49ea33f0da331e2a5071447c5df22b31c2cd9b10bd37458794fe15e53e0e79f002bbcf95b0471d6a7d02";
+  sha512.doc = "a87b6ab25848571770bc8a7ac1f47e139c7a2abebf36b9c72b65bc66e02c14b23f7b0d2246c7160b7669460f52afd29063449c6659336f01f3e99df53cbb4428";
   hasRunfiles = true;
   version = "1.9.1";
 };
 "refenums" = {
   stripPrefix = 0;
-  sha512.run = "e0316c337a7f7ceac42a0127cdc8988cdc4a3e3eda697f8595564dc44e909e90cdcfe963b0af64be0def5c8711882489e779729d286930a350a2df7962bad0a0";
-  sha512.doc = "42fbf9dc873fe4c9ba26df085a2ddc7ee0ad9daaee9ed477b3d81f2f6ddcdfeb5e38be0e16f4badb09fb4cbd0d5fe26f57426c5730a3a6ce4abb43b9f92eecaf";
+  sha512.run = "7113ba67dcaf3ca2a070e42b4fa9660889bdf7803401cc0f8c3f9f62c59e467d9f637c526712bf9aa9fc7ac3df3c550a41f419de9cff375e24e68d102207e8af";
+  sha512.doc = "3511419e6507d2c5a7b48679e9220e63643b38f803e8a5d7046a55ea6b6f4827fdfabb74336fe61ba35628868a7f042ad472567e73351d13ab9568c508468a97";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "reflectgraphics" = {
   stripPrefix = 0;
-  sha512.run = "dd16175f0b8fd9c8e5c685f604d88bbb691566f605f580f6da24a0a28582e778de6466c2b796c0e268b86a804f6b1a35eb99538facf58d2556ac41693b27ff2e";
-  sha512.doc = "9295a8254ec7cfc25d2f634e332bd13f771928d87190e9a1849f1567bdfa60ed578d3cd663d25e4b6ace9f5ed44de854fc90ae3c20fd746dcc278724d7c2cf98";
-  sha512.source = "0d0663f57910f746dab93bd690d36bdf9268e49a83656cf55d0aa228fbae9ba3485ce1d3a97e2ad1305bc6f0d2f7503aa05d5000b7c59820997250c28e821264";
+  sha512.run = "ad670c699d958eaf103db1ae65d79bad78dbb0677c7464144739fd67b63dc5acd3c298f81c81f258de477fe9f2d4a4177de887ce1c031ac9c701662167c1a5d6";
+  sha512.doc = "78717728d537cf0dacaee67151cd7f19fef6fa031a856ac49a58bb576337690df4323c80e1ff0f318a4eda3689fbdbc2aa5a3bbcef69b957fc4615ff825e1e0a";
+  sha512.source = "f228c9e8dedcd7d261269c896b0ef1ebeb7efc18a0137fcd64765ec92b957eb634d8e0e2d4f6aceebf1760e65936c6bb1a7b706c852e6c220282448830b7f672";
   hasRunfiles = true;
   version = "0.2c";
 };
 "refman" = {
   stripPrefix = 0;
-  sha512.run = "da577aa3bebfaeb4d29690026aec5da1095ab4eb79411f403a538c7f9b2635effee7996335091e986d0a427cd44f6998cced1f6127521ecd3de14db29cfef60b";
-  sha512.doc = "e502af19b2802b452262cf571f190ed3dab5f03dc28b9172514fabf87f5aa5bcadb34b4bed8f87edde52e336f8fdbb054cd2a714caac8059138d98945adde280";
-  sha512.source = "4fe4d09fb37764a7c407ac03f10e5e6a50ac919c61c4a600e473b364edd486cbed61096d32757b296e5dfb20a21002bc840f61450d23f24ad62b67dcff98b1cc";
+  sha512.run = "45f51a654703a7e749e7dbb08fd0ccedc86b5f264ce08b504ed11827799202583f81a4f3fe32dae0794e20cefe2e6bbd0ff8563955c3a85eac2642c307aaf332";
+  sha512.doc = "560d70322bcedfd0ca6a10c161d3930d389e77fef25ed568f5a68ec87eaa63efd4f7dd2363bab283af00a49719c3c8ba38e8a35ca011ea349dd854a0698ec79f";
+  sha512.source = "722e2493c24738bf767b271183eb1422ab103b84dec17d28f615a52d9b35e1671d3745fc5a6fc97b2a9d7934f314fbc7dba9734af8e0c802cc6760940112230c";
   hasRunfiles = true;
   version = "2.0e";
 };
 "refstyle" = {
   stripPrefix = 0;
-  sha512.run = "5bb4d79fe30672f95ea084db1632975a676674e4f984afd6b4caf2bc6cba9f1c2f75b49e1b5c6050e80891cfcf9113e7d7f0e37a632fff79537dd3f392216b3f";
-  sha512.doc = "2f05d938e046e8681f6f50a96f4a8e45798425edd3bceda57cb848265a0f7808d8df1a7c753a1629e0c8086ffda01da9e7cc30f708d75411831f928eb8addd1d";
-  sha512.source = "5363ef536d1b3f34fbe4bb59d36c85dab8af7624cd14fec6ee0a94dd9f1fe786c3826265230b9b1c9a8f407cd3fad32284a3caf04c9fbf6381e4e7d7c5128abd";
+  sha512.run = "15ab0ac1b41608ed2453bf1de27515aaeabd0b06a3e44fa3ced6b67f5e79cf237e92112848622303df2e174ae1e60b77ff31583837f3b12a447f8c4509891cbc";
+  sha512.doc = "9edca88347914ef7810c3b1639cb85f598963404620a99f81f5bd56d45b684e55bf179ba46a5a49953a88151251ec084fe6126fa3ce83d2635450bad25e07059";
+  sha512.source = "9052f56bd87d9ecfb2bd09a3de7f1740837d1e0fea17eb2ff11c1bddc11ad2cdf3d9287167df61f0ebf1eeb4bdf7eed3b5a19b748ee8e560a7695e0418291a6f";
   hasRunfiles = true;
   version = "0.5";
 };
 "regcount" = {
   stripPrefix = 0;
-  sha512.run = "4d21ec19807c682d235cd1375ed98651f050b6feb969945efa5d5ef3f869259e735e21e7ec3ce358703564863f266fb428b2fc046d6b8658068c4190d5c9336f";
-  sha512.doc = "03a7a0d3627d4ca7cd47f175333e42f37ffb520b9757f8a522e11b640b8329d65f1a979041228010c0e51b8c3640b4b3f1a164ff4e2eefaa3ed6040381f30693";
-  sha512.source = "4ffd91a882ba6b24024f8a9504eb2928d1fdcadda6c56fa3c88b5c22a8b377831667192dcc347624ede01e0df2def6f7b48ef2a7272a5b3d2f26627bd07d06e5";
+  sha512.run = "6481e37b45ec26aa270637b465d9fabef010c6717c0a402f0bc2afaf5dfcd877e46fd8699ff8fa39d80218e6f319e09acec1417a47fedefe6da5d90a81b2928d";
+  sha512.doc = "19215d4d4e22777b236f4226d82cebb1d0f8ced841cb33a4b275f0cb558c3addd4a1fd76d3aae9cac5e275695e197574145649be5f767372bd1bff13ec76cbb7";
+  sha512.source = "4b152aa79080914fa59e2b8a3103fea930ad3a0ab8959c570eba06ba36596d82ba58d03a4404cac9b2ebe3d073ca0eaff856a892b3d1e84d183a9ed60f32e42a";
   hasRunfiles = true;
   version = "1.0";
 };
 "regexpatch" = {
   stripPrefix = 0;
-  sha512.run = "abdabd6c881546cc7015df2d5709bbfdd55f26368b3f661e1452be406b74c925a7bac9b71e583a4a58106b984f9a8bb42fe727efb009df10067a09f192ccc1c1";
-  sha512.doc = "ad121e01efeea9252c3f8454cec40960518f1be072c70e912525061a5e55ae6e58eb35af697fa205d2374ddda7d46e9dbaeea4c1bf7065b1afba19d4c4804e98";
-  sha512.source = "41da5b3100efce4544618b9e716b402d33d24a832c29dee214feb59d6b7498edb70fd2812a947b1afcf4ab9f9c6a6d3f72f71018f95777810e64ab0cf2fedc6c";
+  sha512.run = "ef1f12a2480834e447110945e685cea36a5e72abb462106bdc42b086cbbf0d0f9857429d1c5ec243eaba74ee39ce8af29a758f8741a6a7dae05f376786971ea4";
+  sha512.doc = "6c6ee8769f2a602c4afa9e043daeb5151db1d5aa92732201f0d3c36d07cc754a9dcc09a15fb2cfe69527aa80633b26cc522bff0b696d774db933b6dd0c916369";
+  sha512.source = "596024cf733d8a0e51d632ed2b1c9d7ef7594636a46be04b80dcb6fcb6b5b4cb45c8e0fcaf8b6ad5c1dbffb2206eec8ef6c2eb20a2af59258edb72983169ecfd";
   hasRunfiles = true;
   version = "0.2d";
 };
 "register" = {
   stripPrefix = 0;
-  sha512.run = "672fcab03a060e247e63a1c50af48abf7bb4a2b9d061d1ee4c08a48bcc15cdbf1c7779485ee6de662a5d8a42846d8d8dba81683e4c9f3f6e3ab7715cdb05170b";
-  sha512.doc = "956a0d1ff73f5a116c8927e87a07a9d8cb988185ed83b1884527beffd6a92a622d314bc4fb2fba7f3490da5b817e85099f2c11b0ffeba266c1d097006f3924db";
-  sha512.source = "a60f469079a2e45e19bd0e421efa692d4de08aff6c9f4c7b1582aff71a9b3591addaf7a65e6d456cf83b3d95f8be38dceb13b055e5ce40cd1f4c333cdf16fcee";
+  sha512.run = "049cdd2039a37857bde1ef3f7296da1b6e95a62f366e43b508db8ef70e6afca7a763632078a5379c620692febd49df3afe4049d8c97971fdddd37afd8e357515";
+  sha512.doc = "fe09f70f908d9b96ad961bbb6c44731572eec871f3adde68dd5b0a094ce932ed15e8bca7982997f17e771d202d9bee6d397f1c4c6823022faf53baa47e40dcb0";
+  sha512.source = "631a77363ec20f7cf849fbf17604870bf7868ac3d4a89768b7ae72abef34f2862502ab51bcce7b164fa497f5922a29755ac4e1a2d3ee2d7471a28be9bfdad89a";
   hasRunfiles = true;
   version = "1.9";
 };
 "regstats" = {
   stripPrefix = 0;
-  sha512.run = "95dcf3868924ad3a0cb7b6213ca258a000826e111ee0410d6afc443ce7bc8f3cbea085d6d54c1dc8a497262dc629a2e12c585096563654103322bf22ce525b89";
-  sha512.doc = "0e39c513491cfd0e0f07d4846fcb89fe015d202bb6d24ec6dc9a2969c415faa86e0c790438f9e84b5e9aae5c8208d665db7d21a997c91428311515d3652fa2f1";
-  sha512.source = "850c538dd71fb9cabfc5f7d9e1575038dd0bb4827bf046789c43156aa10a0a2c3dd0017ef8919709c9c088bcc3a6e834733ec338de95e7d08bef0e4c90036222";
+  sha512.run = "95e68cf4ea4cbb34801a7412ef1ce87fd75d017681e43ccb86e56ff47494aaf95e3cdccb4f0c2ea6a276d99960df881857d9a138368fa6cd37d7f38554ad84dc";
+  sha512.doc = "1883f17190f3b24414dc8ef7f874cb50d682b5dcdf45f8bf95fd15b3347996de37a7839b727da4cdc9e39869ee1def31ed1b2be02e48bc68a81c0d2f8aef8be2";
+  sha512.source = "4e7392bd85860ae971fcd06025f5753d7f2c815cb216d6a53eba1504c4f9de7fee9826807149826ee69c6776f17a0f0f537ffe7ad1be04597ce221d5cd8f7ff4";
   hasRunfiles = true;
   version = "1.0h";
 };
 "reledmac" = {
   stripPrefix = 0;
-  sha512.run = "f733676bcbc1b86fa406d83f4d4f67cafaf2043dc53e6c9b6c705dbc89cbfd615273e9e7204d2c3f10e0190a5300670d06012c572a36cc52297d90cd79e291f2";
-  sha512.doc = "4b30656ae6ca930e23ac8ecb0618fe2b33e6f1cfa81315a6aca46ad7cf2ff774550f9c549d8e9cc533df5145ee7f1c0a9506e7311beab624c24fff70e6b30736";
-  sha512.source = "a32c2a4ab34f44af0ab45da934ade8824f64ed1c89b3868de517dc39f6bee983239c8162b74db5c7088df582a6c7b8706b79fa58666b9b2be6e5c88174db56fa";
+  sha512.run = "0407a52e981e13a710bf898ada7a0217e76b87f922326c61cb914f3e309ebfb064417315cee2c66bcbdc17c13812871f42454edf64de63e39456a61108ae4c3e";
+  sha512.doc = "3dbdfac8f7dd936b7685003246106c80d02655ea76a08b4a3acb8acebc9b7ef9bb70d28544fc74456e057276139b7f9e19e291f7d8d73d76a4880b981f8dd890";
+  sha512.source = "eb9b558d7182c4c41bd74e00c6648ba593bd7887ef25878b24f7108111d7f28ecbf81589d1f2539393bba6e9ef9c8878bdee7da29c51a1d86bd3db29ff4200a6";
   hasRunfiles = true;
-  version = "2.31.0";
+  version = "2.32.1";
 };
 "relenc" = {
   stripPrefix = 0;
-  sha512.run = "f03aa519f1752ecb45c1c0e0dabd575195e527ef7744a2d2512e3f7ee2f21594e0e2515a0a79fcfe98d3acbf34563665e70dd21925255096351016914e40bda6";
-  sha512.doc = "2d57f5e3420eb78c188243e571656a91bbb628bbf3298527975952f6dc930adc571a7712d3392905f3b28d664e07194e00e0f4f7d1176e83e52d624cf0fa2d8f";
-  sha512.source = "72aff8b877014e0321f9e242cd13829ea95a27e33ce75d5d00868cf65bca3d9f0f745f449d5e7a5b7d7e07a1073ae20c94f59bb038a50e43a1b13fcba694ea31";
+  sha512.run = "d638db869698a6b564f1482c3ffbda561bac0da00e008b5b3ddcbe267587813042bd3d578ea871f5ef48a27309baf8e290413b65f99daa26ba7a8b2a1dc62050";
+  sha512.doc = "b5e81a7edf8e7d0c3be9ea46ffb2a43af5d58153ee91d656faba600d4082a8982706744ba1991c82ce8c119fd12fcc0eaee30353135338154b0445e48f33472f";
+  sha512.source = "ef1a5c1034dfac3ed942354fad6a9e4cca44a33d2252120fe824bb41280453a6c8e00c259331e4159206f60e5043664bb4008e758d8b81dff06c7d68c3382e6a";
   hasRunfiles = true;
 };
 "relsize" = {
   stripPrefix = 0;
-  sha512.run = "86ee036834c90d8ef64f8be67059cc80cc053f90d1356e13a597422c07bbf40e81e0cc8ea0166034a2aa0fb81fd0fa82d431372bb0552c0491a56fd8e119c7e9";
-  sha512.doc = "b5ea1ab1cd882e649e91ef3172d2121f3b5252b63fb1ce79cecebbffe2600de63cca07d0aaff72c5c0f63720483e22d241bac94e7740e1924e64de02d8dd17c7";
+  sha512.run = "90a4829b63d86214c44cadab6b9c9c114d6abfbd72dd4cd8bddb18add9b7fede2867f39d57b03ac9e7762950db71664767554b515b5409cc873d8b31aebb2c1c";
+  sha512.doc = "45b6e38a14c31d7387a99d78c395fd0cdab5ee8bbbe72f840d511d14f6af73f749649b48977e8a995c2ee375358677b31a97646c8162c5fe2ee6c286a05a20b8";
   hasRunfiles = true;
   version = "4.1";
 };
 "reotex" = {
   stripPrefix = 0;
-  sha512.run = "b08f2a86ed6f3377c099c605469ff5e6fc5f9033bfe599da755de27fa7d0daa58ab4067a84705b080f4d7410f2871da2c4e2a8ef5b1e2258ebf74917d0b5572d";
-  sha512.doc = "2d71592807ac5985bedc8f9a731bbf13f572376cd64cf5733d3b6acaafb3020c34f5137030d3374d4f353cba259f6794f3ddf70100a00f0907f9d568d9ef6ff5";
+  sha512.run = "e97663d414291b3d0a009143ea370676bdc69b1897492ef86bd2092e47fcead566151f175676b4a19e196054ecd4a41706a74e9d4e6ba353d9e346786d04a2d9";
+  sha512.doc = "fbdfd00526129921896db36234343d991bba29b68adfdd06d9fce262a58b2cc544dbe49d28cb9722eff1fd03ba3a765e38368baeddff18e36bde436c56ce538d";
   hasRunfiles = true;
   version = "1.1";
 };
 "repeatindex" = {
   stripPrefix = 0;
-  sha512.run = "a9e66561c2293b4ebbb41139c31ab27733bb9d2e89839a14545185973f7c19f34120eb0c046edd3716e24bc676e4bff0418b6ff6141373339510814c82ff3b05";
-  sha512.doc = "1def6a75ee033441b3cf93841cfc98bd68f15f40da246404d56fa934453bcbb8479927d5e2e624a0c1acffb8927603bb88c47a06825807b17f9ea285bdec802f";
+  sha512.run = "f700f201ff05d25fafde3eafd63ddb5aeba81dfe8be0dc4522a08459f35b3ab78cd06d215477ef5bd59c1dd6d1a05361ddfdc21159f3b6347f5a8271c4193192";
+  sha512.doc = "031a5113799f662b88b2275f2f82467e2fd84ae58d18f4cb69e090aad7f2c8cb44eefc4c43f3fcda9e92de0c0027fd4ecaf9f152d33b73ebb69f06e6b4c8c1ae";
   hasRunfiles = true;
   version = "0.01";
 };
 "repere" = {
   stripPrefix = 0;
-  sha512.run = "e3ce2652e341725ed471dcb6ec77a3e52beb9890f91d6278429f06482f9feb74bbc0bc4eff9c7d406177fdf6908809578ea1a26ad60919b1faed35b0565605d5";
-  sha512.doc = "e9060efc93dfdbd1053f11fe982f204ae3fa248c8b627c86f9793e640fcba27ddd6352ac4b932f0194878c269b6d9afeb841d4a33737d091921843d854d3bf8b";
+  sha512.run = "4bcfbea44ee34209ce95d6a64de3973eed864ac0e2453ab0afd8e1e05faa2d97fd8d90e90f4d2e1c8f1eb337321cba8c10b03975e1cd75aa32ec5c7373d54316";
+  sha512.doc = "8a68f168573fa33ea635578aeeeb51060c3eae9f09ddd7dae1d49aca6de2a8eab7c857336eee1c17e2d4e1a7bb5f2440cd1901bf9aa61961966f727827cab38f";
   hasRunfiles = true;
-  version = "17.11.2";
+  version = "19.06";
 };
 "repltext" = {
   stripPrefix = 0;
-  sha512.run = "141472cbfd051a8214297eb33923ec8fddad751d41caec16089e5455c69c8e77e2bc33186f82f69315aa1e5e18a4e01658065d429b4324af4f70e036c8d5bd23";
-  sha512.doc = "375a170885bb43f79e5f86017b4ddc415c975cba2d0c58bb12affbf7a06330d274104196743b72a0f7c46d2d3632507b984785e2e00453dc5104f8ca93d963fb";
-  sha512.source = "e8662123b7ced46ff9b79fa0eb21fc0372967c4b871bb50a5c61a6a64fe6333cfdd0ab0f3c1bd3bfdbaaeaa8d08526295dd8310306e9b9ae2d85973fdc6b2136";
+  sha512.run = "32d4e90befc06db973de384855c174ea0ed9ae938a9ea280118d82387fbcbdeeab8fd1143a96c9afb2b904766e5fc43c0d4eec93d763b3e0e730ac06f6883c9b";
+  sha512.doc = "ead39615e96c4247be7072dc4fd715288ee1c8cddeb4cf88c5ea79a6659808936fa6eaba3dced3efeb6802e58bef4632604e92d1f00c29b8f0bb3a241d56559f";
+  sha512.source = "f01bb1d0ac9a4ae0303770faf083c447d3d800b43848d11560f67ed43c50f09e742e27683e911395b9ee7d29bf962f4b3b6791d3d25fac630d57c967bd14db4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "resphilosophica" = {
   stripPrefix = 0;
-  sha512.run = "4338f4155c8fd6dd98d62b8361ef8a6d2b01e5761f6461a6cc6e024a572d1c0a406ba2854e7eb45f7b30f0040fe8f31e6106bdd12ff31b9654b53736b1ae02e2";
-  sha512.doc = "aca4925004da2f1dc3470e646dc5cdb6513217a05d61618a1c2b6fee1a9a05ffac2831319739afbea9d3b01fbe1d3f21c9e575ebf0af98292ffdaff6f4b1fa61";
-  sha512.source = "f9558cb0f4fc7c647ddae6e480e6e40c4af0406cbd137a11a10036f10e9aa08b03a4920b3ce5d41183405dcf2e798b63bffff40da36bc7aea407ab1bdce6382e";
+  sha512.run = "0ed9a50305132206585f322ba68fb514e0a4d566fc703a617cc6eda1de23b53820ee45231167f8b81aac826de732763e3c141a9ab65d13fac5d76e92d2101cde";
+  sha512.doc = "30739549cd7295186c10a54232e4ed57d6c2a589acf6f27ee758a40880e7a4178375835662b88bd78bd50ed0f695c71650003ae5ea78c63f5dcbefa15c5dd770";
+  sha512.source = "cfbaa18ff43da9287755c0cb3f218a57f034862ff9a63b3b77bc51e8171afc7c4042ee567230e7d1c263d7f993976bf4c2f3bfc055f0dd759b034d6d42d6df78";
   hasRunfiles = true;
-  version = "1.33";
+  version = "1.35";
 };
 "resumecls" = {
   stripPrefix = 0;
-  sha512.run = "1d6bc53eb0915b7be73ec9b02e4a7bcfa4368c662595fcbec203a2ca2b6ef5a4a486bcddcf55057b5a7483fa2003c3110c5c9263ca1ea5cc344a0fa490124b27";
-  sha512.doc = "123308938dd4d2d7fc4f1d6597adaa6d0024588f0f277b5d6430ff3c7abb2fb81327a5b70cafb061c1bfd7b830034a8aa12e07a0de3b0f1205fb7b83a44f4811";
-  sha512.source = "e1489dbb558433d7d5f0e69c69067df4304b1daee5c81dcd68ef6f9bdaf3f0f68976639a51c5473a162434f818bb6b5761038df75d1d740f07b6824166cc2b7d";
+  sha512.run = "b7709500024b7badee75ef912158b368e9e3d01a6051b75ab0fbc4e5c90c6bee36226096a29891a32e1ef6dcb87a10e23b4fa1531c34caa48443c22726b07c81";
+  sha512.doc = "a99f08f236cbcb321a106acc6b768aaa0aa10a7d101dc635dbadd161e1681531950cbc161553cda82f2edcf0cf94af7b89f5d53d504c049181c3f63a0d0ce527";
+  sha512.source = "071e7d3d835313f0ca38d90f632d8c83583fd552de2b612cabe0f4c6bec097c944a1cb18f316d74cabf6ec0a0d4d3e890f2adb1904ca01af939cb97470430a77";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "resumemac" = {
   stripPrefix = 0;
-  sha512.run = "9be9b7ecac2537e49c8513df20555d6f5c2f077d33486fa6b82a8b2b1f2b31d9e9b9a310542444218d288d95a9a34a9b2d8299f8477e049de5c71169223f3b2d";
-  sha512.doc = "6f185446f9b9edb7e8e07ea37e33ced0e1f443c0556c21d25c9eb49f62055cfe126440ccb8417490336752bb59aaafd563b7f6143572c833a46442f24e1912ae";
+  sha512.run = "f944441058cbe8468ed6646dcb10e09cbac78d5c7408c2a81f2531491739034e47da9fe8f45583008892740a57a2d36bbd1417f05f8d998bd79f886bfbad87bc";
+  sha512.doc = "5b89a7684cbe4da1c653d4a6253f82304b7b3634a9dc973e5f7da41967bdb034597e64a4fd82a922fac5ca62ee40e2ce35be6234deceb25000ff9103859e165b";
   hasRunfiles = true;
 };
 "returntogrid" = {
   stripPrefix = 0;
-  sha512.run = "849dabf59a1e027cd0adc4a67476ac33d836897bb7a28b0174db76431caf7d738aea6917052f3350a62e55186169ead1aff553742fe59969c207b2591fa96ae0";
-  sha512.doc = "921406ec234440af7609afdaf32e8ba0f62be9df1a14649e294ff1b2f2a0f01db091686e7f081bc705cde54277ca22af8cc0230a9d57df3fef6f7c46f9ae2ee0";
+  sha512.run = "751eddac662b8ca6d61edde7a25b11c357c497743aa0edff92be2a672fa13e4a92e6aaf40a8ed69853db642d656c3f54ad0af6cb35c94fe59cd540fa19f7b964";
+  sha512.doc = "6f5eb1997e25ceaa7a8956ced78c584058cb8f9fc112f98c350ff996826188f9b7748b7bedc6c19ec0912894500a4743dc7542532317016ef3d295563c450889";
   hasRunfiles = true;
   version = "0.2";
 };
 "reverxii" = {
   stripPrefix = 0;
-  sha512.run = "6f665c581ffce69f049a41aefd4f201d589a661bf869edbf796229c7df86a94799e9db3d8c392976022276d272857fba8ad42e1c7f06c4a45375d986aacdd5b6";
-  sha512.doc = "0b82d8e6a4ca1c76283e76f23102dbbc4b4eaff876705bddf22bfeab4614ed4f36c1781b5960114e81248c7f4abe10e0b08bfc637dc5ab5acc3b76b3359231a7";
+  sha512.run = "fa6efb9655cda15356163a93ca89f2b6a114ea5bdc151774bc99910fabd3306781319f92a5b5728f29df136c73f994f49011e31ea9c1c01b4ef2fed10af10a93";
+  sha512.doc = "ff6b03b426de5508eb31fa5b2fe615fd5b7f0a6721e949bb48e1954c28cb547faa079461c0b1f885163bcba40c7f7d2a3fdc7dfb3946c08c308f5c37d33605a2";
 };
 "revquantum" = {
   stripPrefix = 0;
-  sha512.run = "66a2a46daf5481cdd87e40064a04842cd891f5aff16b7fa8d170a62712880ceca8b01c2cfc649933ffb3d25f1de49fffd9de5545901a5ad89c64ff91bdfabd90";
-  sha512.doc = "eeb197d2172bf70dd8afa13d6192d39c222a4e37f190b2434e21cf4116ae713f6b71a423e3358bed2b7e4d9adeac3a28246263ae26dda6a773ca6603a27fdeb0";
-  sha512.source = "f448867460bee1a27f9445bd278ab4692499f8e44c1bfc949ee1387dcd6a30239c97745ecb8866016657feb6653904a32c1428305b29c45e827450d305c70ae4";
+  sha512.run = "0e69ce3a2a4a1c289d494e081cd28e9c14c84a45717880e92292cc94803783a350bbe33426c4f5e7ebf64e5b28876e656ab2f1ce681b86c27c7a3c6700563a41";
+  sha512.doc = "16b8ff06bbc2155a853a26a0b622e3f89bb7d35439945948128fb37d342d293951526d415a3da9a01381f841dd61287317e52dddda8e8fa6e0eaa5d6a0006dc2";
+  sha512.source = "47e7a900aaa9198875acb1a0727bd30b64c0d41e9c33cd6240c29b8d67b17960f1ff05f717701385f627e6827881d365c01ed68b1adea8bd3e1b5423700f9bc6";
   hasRunfiles = true;
   version = "0.11";
 };
 "revtex" = {
   stripPrefix = 0;
-  sha512.run = "28932080c93b53763a1d33090a084fb392d4d8bf519995f1d02fbbc93038290d4c24f7820a652d2fd7bd59e13a5d84bd346667e212eb8b56e2751f7ffbfa8ddd";
-  sha512.doc = "e843590507b385167a67dc95969bfb54626ac024589ea0c92aeda1079034e8173953ebf1b35b01ac44bf6cc852b38710a277b3c5bd368977c797c5c627910c88";
-  sha512.source = "ec51491023f49e14f6a0b1e634c21d458226624ffdb6c8b63fc550fc30deb19c1b47080f252b229012214ecc404b5652b5aecfa797f2eab12676d24a67616be4";
+  sha512.run = "c3303edee2d0d7f160381ce91c4018023d70fca88c215d5ed9d46abcdb71eb79ec5a06a899575748dd9d2572323cf80f0ddde75b9c7ab72deca5fb9bf396e0dc";
+  sha512.doc = "ebf8f55ef5775b38cde9199e6c604e71400608e6a06bc59482fd017be8d5be68ed08e21ee87a11eaaf59e09af0f89fd7be1f6334fb67e3ca1914ef2c5e382e8d";
+  sha512.source = "544482b0bb2b9a0f8d0d520cd22c3030bd2efaa88bea1e4f2ff032dd3fccb440766503c7d1a2b467c5de1386509e319235794659683c2248987b743c5d53f3ac";
   hasRunfiles = true;
   version = "4.2c";
 };
 "revtex4" = {
   stripPrefix = 0;
-  sha512.run = "8cac2a271af2d1fce6b7494fa18aa9e85daf49ddf6fb5f19683cd6cbda856dd46cc7f4d798fc192953462aa3be0e7b04774c8216e6926e001569286eb39edc77";
-  sha512.doc = "75e7494c11ca25c2cbb2b4925a7eeb88113139857c353bea1413e0b2ccc9f05d949c892b4ae27750433aef5fb789a0e07520260afc4baf10a430051a0cc878eb";
-  sha512.source = "aecf26db235637ae637522e68994e58af0e337d547e7b9395dd56980e27c792fe4a1317d1a487af10be5e622e09b1ccc14436943eb1baafda44a1b1262bcbd94";
+  sha512.run = "7b4902efc551bb4224304adc3553a229393bcfbbf8c052b6e3d4e0f800ac3bb2f2f838f3e77144aa1693fd09f06c7a05c22d7ab0de9de382c53829891fb0f44d";
+  sha512.doc = "d0757cce30acb2703a78310d1a9d27c7d28f5c697c3e70e5df9b2cc63ea122604b618615fa07da586cf8f78ec04b5eb9fb129a59a9504c6cec5acc07d05cf1ec";
+  sha512.source = "ac0cef14df3a8398ea96a0fa3d947f550305a45928ed539a6760e5d8812f8a4c69f94352c36bf86584ede364220fc1129ffd54281fc98c62f01fe51d23448fd5";
   hasRunfiles = true;
   version = "4.0";
 };
 "rgltxdoc" = {
   stripPrefix = 0;
-  sha512.run = "636211302ead3799afc0657b22d2db0a00f210aef4203b918a5958ca17e056ae3c35728087ef58eadcf19b538d632d569fb22e283b821dd3e350f31452f68287";
-  sha512.doc = "677e9da2a1848a7278ca898767e34aeb52781b7cddb8d1d15de95c24564369df5a96ab95833611007cf22b97834079193bbc21390371b8e1daf1df145f2db68f";
-  sha512.source = "f38f600150f33a091ad6724e2d0c1e8e9c330d9bad0bff6ff628800da0432fcdc9e6480ee47d2f6baf3bea2a8206f54afc146885843b59886a4ac3d9edd7f28c";
+  sha512.run = "dce35e42e8a81cef5f31db1beddcae93b7c02a8baf3563e21a95d5f3a13daca83368c432702e7836dc9ed8cac2e55e0276062a643ced3b41ac85db9280e74d99";
+  sha512.doc = "c194c7464e2e3689309aa54a4a26d5bdc30f0b865448b1b3e51b8cc7288a91ae2d40914de3064d766e7142c0c319ad389a166711cef2d9758ff2309b7a86fb36";
+  sha512.source = "8df979de9f4ac297ee94d7fc3758e9c7e2430ee8ed6206012a55f15a57c4c683c65dc186b835fd7a1864a5437c41875b0aea136b00d5808f5c4d10641824a7c7";
   hasRunfiles = true;
-  version = "1";
+  version = "1.2";
 };
 "ribbonproofs" = {
   stripPrefix = 0;
-  sha512.run = "051362589f58d6c6c7d9b763ad0ca281cad41c445f127be0622f6c125d541f6572892641a9e6bc22c52e81b645e79960987a5eeaba31399e304f9a3f9004b4c4";
-  sha512.doc = "3c1b00a1d64260978c3e6a25a45e1c90435955e2f0924e3c2d5c244303a6776d605f030d8e9a7953358e466482b356d270eb00fbf393ac9abadf88c8999536dd";
+  sha512.run = "88d1ea87819bef7f8e70e0df273315981c28ffdbc00247431afb8b92959aa2e0a3e489b01f7571d30ffaf3606d240f25bee6487fc704f39417146a93403bcb3b";
+  sha512.doc = "d0efb33c19d632253384182b562cf0e0aa10be81ce2336992c83ca7d25abce37c44b152cc8e928cdac90709cb99a4a5caf3ce8a631b13762aee7b39ad92da3a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "rjlparshap" = {
   stripPrefix = 0;
-  sha512.run = "d07a0ffe9f6620994142d7d12e64bb30e1b439bb3da2b2af07829523fabae1ff7b8260f6cb6e34896af91abc9d9a5a5d797d50541736707bdbe0e2ec1258b30b";
-  sha512.doc = "4e51465a60181745a38abfae79158fcdf38b77cb10318fea1223129e2a7625366cf0556cf57ed81d337fe540281df2e68b6c7534bc65e9336f9942e9d59e157e";
-  sha512.source = "5d9892ca17bd10515ce33f58877e6469a1b09cb567e7d06cda9507601e90d1c4afcc26d8823e63e5be52d3b00f695b6f78fc102c213990322d4ec68e2f5377e6";
+  sha512.run = "9a7f5f821635f110d9bad0015d9fdf489f836cc6ec0c101f63a3bf5bf9235d7446dad98db1325b0720bab85d68432f4cbdbc6dfc78456329a8c48b47d9212abb";
+  sha512.doc = "73987b63cd565766586dff08144bb9cfab13b7251053d5f008ccb7dd3091ec9d3bbe8ed92fd8e7dddce93afd13a649e68826468b87947a036a054fea76225921";
+  sha512.source = "37af8ef7c124fc331a4156b177578aed29b99777a0270ef819b896e5f6dac9b694c3a05ea439cdc21533a405bd052e071036682b0846905c09ce95c32a986dff";
   hasRunfiles = true;
   version = "1.0";
 };
 "rlepsf" = {
   stripPrefix = 0;
-  sha512.run = "1caad08d95b81c2445f75e37ee939faac5a251a82b42d4303d5d70db14f77d114075279602a0fbe1565fc228895ee166951f0e5adc27b6a88f5e098e64be0525";
-  sha512.doc = "ca7e0a9179e7d6a97d107aa2e163c6f906cd74be722ddbb4e4aaa39b133188377847891ef970274cd752cc3d1375c4463527ec662d62ca90004c0a376755a37a";
+  sha512.run = "198037c1fd20eaa28b727054607241b7ada10c9dbf4d48cd36f295a8b51a7d4f94859d2349d3d4e831a74e0da025ccaaf91fb53a3074a704f7a3216bb7df0cf1";
+  sha512.doc = "fc06c857011fe01b07180c9530a334e021f5b9c034c65e15959e173a409670947c7aa406bf751d64d5d77d462139f4835824aa53203381d27d4ecb0e51463e7f";
   hasRunfiles = true;
 };
 "rmathbr" = {
   stripPrefix = 0;
-  sha512.run = "da4c62b69306375ca0f2ccbe8ad6573f716354408379cb4bde44f2c1aee7bc94bf47c1d18c78b7d2a78d670efe78aee43f985a5635a142af7e92bda42b27cc3a";
-  sha512.doc = "99100dbc2c3798b4a6227b7e43664ed954de22c56f3105db164bf4f6605aeeb54b2de63417c6dcd0b16136dc0235fd56ec68f848f4cfd3cba36f1cea55c1305e";
-  sha512.source = "32da36a82ab818e5c3a44e8e53430d7ba02069abd03a259948c83dd45c4d16e32b0229237000348635b523a602dc573216994f24df243e44170e3d3a7cbbac6f";
+  sha512.run = "71ad547496a4159f2ac609bd695bd3a38879dad118cc18bc58d8fc4c5a8da3d77abc609a0638584495dbb77bdf2078a30ac82f2534bfdf5b620d056b20aa7a8b";
+  sha512.doc = "ab1b89d94e5fe92023ccfad1264aa38dac9be485d2717b4afb82a441e6bd8eb5813892c20c33a65741f62e6a8c4bbd3e3c778fe86f7d0da72080d51476f49a38";
+  sha512.source = "255ef1cae8a42e34e11e1cc4b8599afe1f166208bef00372d89ab34baa55d3fcba298e01bc2d639568135c66e77e7fe62e558a6e3ba38485dde387ad76e0da4c";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "rmpage" = {
   stripPrefix = 0;
-  sha512.run = "3b8b56e8fd576ddc240ee8a4000524ac8831fc009b4c5d86da8a31669e1b9c38217a641f228f98fad93f91b436deb370efe02b652911bd1c27876a9a1defe5af";
-  sha512.doc = "6543fd6e9d1113764d0c90692fe3c62c052bab5a97e44220471e675733edde1f0232622ef89d6a12f0671caa042bd3e6243e0e7e232e1cbd029a736297ce7b96";
+  sha512.run = "d1627cfdf5ad3f23d03d4d06a4fa039e2ec7ca924245bbda7333b90a7cab8d1e22937cf23968eda45a2c3ff60dcae8a99e2223f9e235485a30ae68c4db7f901e";
+  sha512.doc = "25fdd83906edeb10e5493bdb00d05469dbf323bb7bd3df587a5f6dec5af17ca844f27cff4eaca3eaa6b75928cde8a633f59b2029b60f03220d847222f589ddef";
   hasRunfiles = true;
   version = "0.92";
 };
 "roboto" = {
   stripPrefix = 0;
-  sha512.run = "cecbc5c38b92a3b4671376d8df2fcfca2305ea795461bb9d9ae9d84577d4cdd3d7094cf57f6cb69ae97c2749f5e31139a8fb6a85812d2462aac3646cfaf06883";
-  sha512.doc = "796c93c2c4adb904b292c939f173c821eec44a199cd8f55462c26c8a7aca02712c11a079a64750b89c03d9ae6db55dd99176f372658d2f98bf32d9ed7d4b0de1";
+  sha512.run = "1ee9e9e27e7ef6eb62d01849a9454a77830827b472cc492169660a02ec2e23fa88466462b3b4b568add687cad8c5cd0db59e71496d897cc9ad64a0167b0b6fd6";
+  sha512.doc = "45e5dff1445759080e9d62c8298fc333614fb2b0b6d8717bb05f522f1ce9593758832f27a99f0b778dd8da3c77c6c0367ca401f1976c91fe9afbfbafebd7459b";
   hasRunfiles = true;
 };
 "robustcommand" = {
   stripPrefix = 0;
-  sha512.run = "5ec54f58bff4f0a1a8bed4e3780bdd3d4c3b6c6e43f932463d69b49326769f7968a246d28a39541e9c0abb577e6a5c39bbe08684e636954207535bc445ca960d";
-  sha512.doc = "e3a16925b40835e4e1f86fe51ea7e4096b75ec9a4d01b48efa2cce2d5b2c4173151cf906979e973b5e52a8b9acdb2de923f9e3e798099ddae478635a765a0661";
-  sha512.source = "781737e3fc7f7d51fafe873dde914b9497add072445fbde5a6e0292f5faaa1b556ff845ca9da3b65f75fc64294059bd6e64fa4f0ac5306800f84a5095aa30900";
+  sha512.run = "806f997cf6c0eceec0c8d9b8f8207014c4ab9243f8007fc688674af2fd778455a787b9cf998262fb7d0a92ba8e2ffb597d61950c22a6122ad957a62ea54d9a42";
+  sha512.doc = "4d5c8a994edf816d39af12d7881793f0fda0223a3545559255674fa5a08f2d0fc9ad8ea2779b3c8bfe476966045f996b8b8f5da6fdd028188d28ae724c24a222";
+  sha512.source = "3dfb71a6a73f2ed968777eb1074d65773aaee7c1218b18fddd78e74a86f27d9cbf5fce79c41503c34e497b12543ec2e0c16d9f35d39b893e208a236fd66f4f50";
   hasRunfiles = true;
   version = "0.1";
 };
 "robustindex" = {
   stripPrefix = 0;
-  sha512.run = "a670936b0d7cad71144ebf2a7d763948decea5be4b03ec0042569e85348615b886a89ea795f14652e2378c9120b2524ee06e2cc0f0217b0f388b8004905c5ee0";
-  sha512.doc = "97846bbb5b2a50b317d1b359a0af27563d3b6ffd5b4d5a2d168a46832e5d88f1df16586629a731c34ab445c0b6302c71869b0bad818d8c64e47dd6540651007a";
+  sha512.run = "3aeac1a43261302532d7b5ee309d6cd94f54a2b17954c023bc6a94fa89c51291f3c4fd3276b03aa3ec65f4e21556d302c81aec107fac5dcb477941cb474dbbf3";
+  sha512.doc = "aab461e990176e1d0cb82573edcfe11a4bf668b2d09edff05f673fa20d24ec76464495bebc64086fe3bb4411d5ec9590f43cd57949bedaa3366f6c7313359f56";
   hasRunfiles = true;
 };
 "roex" = {
   stripPrefix = 0;
-  sha512.run = "6e95cc394d00a01bce5d7daa18a138ba4c25263365b3c072046e697e4a486091e27ea53fd0ce35619c96b6cd238f119aee534e5297e62164115dad6d95bee6c0";
-  sha512.source = "4b78a2ffa9e820d61217578726e88f1b386dfb8c373398784611b81d2f7b12590fd0b9b0c8b8a4e950593e2121013ee6ea0d13e8a774aa77603ef7ced0f7ae19";
+  sha512.run = "7df2224f9970b72cfa1474898c057799fe42d717876eed864f35aab113d01dfb483edb71f7f4a0a98b6762bbc309ce6fb51e41dc222a6f19be2025f6448fb1cd";
+  sha512.source = "d89d02dd79142344334678f2d8ec4f34eb825532e8be9260cd08a43b28e1aa94ff5655c1c1eadb2f9a365e51693f6195a4851e1420072c867d8b2c0f1cbcbbb4";
   hasRunfiles = true;
 };
 "romanbar" = {
   stripPrefix = 0;
-  sha512.run = "3f6f65b167fa3cf3014e35cfbdc2cf70d32f57d0ef0165b482358786229404d4a1d32422acb66b47aa2c9d7b452e34a0c36374e498a837bad9e4710a615be27c";
-  sha512.doc = "e8d6073154a1e8ad7a91c86775df596fd515ea5a93b78088c911cb93d303ef698db81508b0665dd4a01bd4598ef6ba46218ca3e27fbf25d2b7aeafe6e3fdb6dc";
-  sha512.source = "d642e141d2db2790fa604be55dea4ee97ee542a953aed7974be71223954242c554f71e5a41e0f23595cc521dca98693b4e4350e51fe48fef40b2114d2170289d";
+  sha512.run = "205ed0508765e58397953f28e6a1172d8684f8063fbaaf4d741f4f092e1f652879b414a3225c87bac01e4d41f01c2b0a44632e0cb3088c5c174fdbe42cf25272";
+  sha512.doc = "a5fc8c5d6e6a584de4394c59f9bacddc23fbec8d4639a0476cc0814404f1413774fa2d6bae3d8438cad2eeaacb56405680c0c6bcc152a5e4155ecb73de72f07b";
+  sha512.source = "9a96ef043dc3542251fab1dc299742b5c322518c61de8d365c290926f2365e5bd6b80a57fcaee19a30ad504ab51b2dcf71170303ab92eac97fe3db4a76dce08c";
   hasRunfiles = true;
   version = "1.0f";
 };
 "romanbarpagenumber" = {
   stripPrefix = 0;
-  sha512.run = "61ea143ef45b04bcfc489cd985ebce6defe3afc906cec0126269145fd9a0dc206fcc32da4e500cd7ae967040b56d9d7d8967c99eaee8261431c8c376a094f249";
-  sha512.doc = "36d53fe286904c144e8a14769d652fb1b2ddbf7d749d7aba49038b88f5487d9e1187de01370dce923f9341e8d92bbb4f5f49fe72e66456afac6b96ee6ca26a99";
-  sha512.source = "8b89749c065932c7af509b94baecb863ef2233f370ae512ee4b13323c9fbe2ece81da7dfd4c67012c826128f34a3c8ca41e19a67954b8f4d48eb65157ae322a8";
+  sha512.run = "7c8fbfcd5e9ec9e306e7ac836fb4c82db3bc42179bf77502b5299c17c4d3ad515b9397016d600011eb24c5d9f2eda23a485634c5aca3a765653cce32d7bf82c5";
+  sha512.doc = "a46bbeef023b74c576da84f9791d4d6d47a08091b43c6bf6936c4e17ff54ab2bf5b517cbf1d07e59c077e0981ac989570265df1fde7237ff24727e33d6f1b71c";
+  sha512.source = "953af4fff1fe7e6b3e4bfb7447a0da7207f93d7377ce365bfdf563c9dead97860826c8f5b8dc491164437523e27a040fee5b95b58f09f248166268197233f89c";
   hasRunfiles = true;
   version = "1.0";
 };
 "romande" = {
   stripPrefix = 0;
-  sha512.run = "91d82e42852e49f15da793732ebb892a1e9b340b9edf7d522a9e54e08138801be2c22e0464d66e1978bc03df6b8e5f102ec5449eea747dda13e7d397e1e655bd";
-  sha512.doc = "ff1ffaf46fc6822b2ae9c051bd21f96b44c38f73fa50123cb691c1a7304be885c378f4fb7649ab4b5b19f913255200c71575e8a9337018095b087b2c090ade9d";
-  sha512.source = "a73375a467747c5382872e4f1d8f0fa4d82233b17e8fbb7e3b94008e41b33aa07a084681d89e726229b1986dca0617caa24a6ee6ae72f3460d2e4869fc981bca";
+  sha512.run = "874883eb3592852dd6dfe2dc675a768bed8db80c0c617cad7c28bbefb2ca111adb410a584f75fad935bfec330765650ea9d0f73c8c5a9fe567526b5fb46ff17e";
+  sha512.doc = "708ffe5a4dccf8241eaee7d22787e0e30bbd10faa1cfd538836da676cbd4f67b16a80772f8a4cea08f59af6d41a697426c4a4254c481d13ac3a10157b2a679e0";
+  sha512.source = "040b154c19ee55910b05d0bfe355bbf000403fcc5c536a081e4569390c599123d64000680cb847ad710204d1c33d7ceb0ab7ea049847ff4ad0762fd9c0acfeeb";
   hasRunfiles = true;
   version = "1.008-v7-sc";
 };
 "romanneg" = {
   stripPrefix = 0;
-  sha512.run = "3c0bdbaec93e6040b9ba0c43c2c772d624a8fa1610c1242e2f6771326088c2c538c3f4628514919a6841d4ce4b20a18857caf1639a84c2e3ac99bba4c2b9e356";
-  sha512.doc = "745e21333be41a715121cca5fdc9581681994d9bdd2ab68d2baf524df95e146737a0ffad1bf284e7e9300af0ed0af29090a2be1ece1beb8b40165132024da9d5";
+  sha512.run = "4195303ca32b46d722bb148ce4079bbea7cec08fc74a7b0cb6232dcce517b7b5a10753be22fbaab62ec11d894955e1368f3a6dc2a2474cf9b9450e035bb73c11";
+  sha512.doc = "cd583b94911ed57e6c61689d437fb4a55a868813fad5791dfa7231b4cbd8b7d22cf4e6f3fe90e2cd36eb08202f4058abf93b5df2d74e1841070378dc9c31db64";
   hasRunfiles = true;
 };
 "romannum" = {
   stripPrefix = 0;
-  sha512.run = "9c2dbde6b5cbff0805b06c55a99c708461b584bb0ebab49ce6e4a89f972afd30e7895239e9e6a10ba572a3f5a696612e5568af0c63760646dd9c2e3e06b9ceaa";
-  sha512.doc = "ea2a9bc6aeb1b6ddb4fdbf246b1143bd85821b91ccd68a9cc81290c68e5063e06d1bf3a2a8ef882c5d2b50bb1373ad4dad870864ea3dd9893ff50fef0add21a9";
-  sha512.source = "7509cf4c2c9446ac30d6da498b14cc8aa7084cc3b6eb82013b8cb9db2830359fbbb45e81363c8fd0d5b8ff1e8458d6295baf7309b5f3e286325d048f1c173016";
+  sha512.run = "06fb28ffcf6c8212ba3bea5e3fd93fe4a5394ce1cd3977556bdebb982888c2c0f7e45dc751f94b1ecf921c701fe6783166e73a595d5da55e874359b7a4065182";
+  sha512.doc = "60caceb87b6d866c905685cd180f0deb73f400b33007e0589e1aa5a0b42ed948d88c672a620ebdd4d78bbf92aa81c1094e4d4d6afcb981747e65596711e112be";
+  sha512.source = "dd1a19bdb63aad8f3c3458bc000933b9c0d04a3b331c37d84a9e7de4a7027b6cbed113038129a789f43d1049dd72acc432e6cebbce365277026d5e6b5cde328b";
   hasRunfiles = true;
   version = "1.0b";
 };
 "rosario" = {
   stripPrefix = 0;
-  sha512.run = "cce759aa57f8cdfb9923223601816007087f3f88448b6efee80d083cef8d0abbe74677d5d5cd82efc56b3c2a1cb508ce43b86dbdd4e3c4667d9ec2450ae20468";
-  sha512.doc = "0e0a57f188625276a8594df6cf06c97c2f730c381b0524a11bb98b02cec3da15f4ac36ea2f30401bacdd520d4d32f22ed46de973cdc35e234c0af94760b47fff";
-  sha512.source = "792b46f42c0b432c678c8d8113ef453a957cbffed6a8516b90733ea7cafb322c4a1772c8742808bacb4eef1e5bed741bfbd779382a0bf0b04718bfe676ccf0e1";
+  sha512.run = "e1e200c49ba98fb1d2bd5cd927ff209a1f72b9681b1cf3b49baa263985790f7d4854ac1cd9fedd464e2076488b3042456c7fede5648dd8ef23d1ba6701705437";
+  sha512.doc = "1e5a12a62b7e62587b452d0f8926757b987e83a2980698deb94c6955cff1e45ef634ec8ac1c1051f6567db8a3de9fe8d4df23a5f80317ddfd2ba863ef15935c1";
+  sha512.source = "4c7613a697439feba9e52ebe40dcbf738370f3ad5278ef0232f0e0e13ba9ac2c46d60233c8159c626b97b53af5238f75c096106b0b8529423d5fa3feaaf57a87";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.1";
 };
 "rotfloat" = {
   stripPrefix = 0;
-  sha512.run = "8a80713d45e0b6cb20a087a78c8441f5e3831751e9253e4680a44468e467d502d69fe67d8fd05f8583d032d647ce02f5ceba1917f3ad174febef9bf8f1d98a37";
-  sha512.doc = "7a9766badffdeb1e84954534cf21c3877c6e2294fe16e69902fd9c7e2405546956fc68c332fe2f18c319a415236f29834fd6157ed3951a50856d42055c54259e";
-  sha512.source = "177b636e2ab53bb5e6359e4c91ec2f45f487e7d5456b812410ea56942292ee74b137715f87ff3bc817f17aeb29a6ae0fa89691962c2cb563f2c08e2534e2826f";
+  sha512.run = "2976812ba6d6bdb304d56c9f10f08c02aa8acceeeef6eb05ccd0ac7b3e3b86984794017627d8f939994ea0228bef5e9d6cab0b08843e87a840ee5c2390dd0bb7";
+  sha512.doc = "020e080e047f20db45bf83ff32c267f5a10b7790adb64495d09ebb3795a55d953154b8afedcfa0214a77f11c35287b18949b8f1fb89b6ee51aac12a04832e922";
+  sha512.source = "b3b986dc11e30b68f75bfa371c85eded713f759f6fa0229857cc05172edd70caafd9124098813cdafd1f060fe57a6667326ee84445fade50bb6acf9d1cb6a95f";
   hasRunfiles = true;
   version = "1.2";
 };
 "rotpages" = {
   stripPrefix = 0;
-  sha512.run = "a6f51d55d743d2015375640fffc81f81d080f2d3ca9d27ed93eeae395be0e908c526e1c2eec26e9a71a5dac665e7c78b71d1ac1d1006dab5e5953b2c91a04ba6";
-  sha512.doc = "1cea6f0e5c2334de7d480ebd5ae7ae2308de96a327ed8e06027a32a15bbd2fe7ddad40f51b47a466941def26c572fe1f23d4240beda3215fd9e87010560e1122";
+  sha512.run = "a206e4147a68ad0ae750e18ee6a360d6ed2ac91785b75f8fecda4b63db695a36a9602da8dbec1310feed4072f952dc49f4d2c5d2817fe74477759aa55246177f";
+  sha512.doc = "2723d32029abfc773de8f26a1f08cb3535c5878f63effcb94fcc6a2f98f1a0f9ff3c53df8a4d9c1ce1f99b52b9fd7b2f5c919dd9cc915ea8266835aa85ddbda2";
   hasRunfiles = true;
   version = "3.0";
 };
 "roundbox" = {
   stripPrefix = 0;
-  sha512.run = "75983b28b41aee6dabb35cd2012ee39e3fbb93fd26b87f3606197a230598495f76d37599907c5fa8e486241dcb0e6de853020a3a08605c1cc51f44f7d4aa2c78";
-  sha512.doc = "03a79367e18e95eda32fecf44892113426fb30b53d4deb95b4b631615992b5da24c4f9ed74ba15013971434bbd41a545a5fdf30b46cc2a34587e61fa7f136afd";
+  sha512.run = "078938229ca1ccba4c26f97eae59376afcee469629a7e8704d6e376d5bb256e8991ee1cff17f24e362772b78ed800b57bc6018b10e897daa73c142fafa1f62c7";
+  sha512.doc = "cf0f56e42a82d6ab36fe6af2ba690024cb555192780c04ef1a01e71fd6cdfb803b0129aa95e304de4fc8c1e2d1015b14dbb6631d9773bdf463fa52c22209501f";
   hasRunfiles = true;
   version = "0.2";
 };
 "roundrect" = {
   stripPrefix = 0;
-  sha512.run = "86ad2797ebff2f9725ee933f77768d925c37a302d6a2ad0dc728365f033aefda041e3ec67216a6cc30986c74077cb42a62a54de120eb6910b2647067dd8e6ba4";
-  sha512.doc = "c9b5e55d11f6004e203c46423fb264c270fc35471e5ecb303f1f815c3217c0f029e053912ededc6a0bf5749465bd6472c015be109b1abbe0d2f79c9c7e61702f";
-  sha512.source = "b001e7865c3ebdc698bb87bc72ab7968af8e61a6a7e6eb89f85ecc2f147fadb9284168e05817fa096da863adfb5d26603718088157df9195427d72e9c21bf6f6";
+  sha512.run = "01cdc4c8443c50a91dd408c52122e8ae65257344176227a508cb082f92d61bc02756d47e27f75d7862d3c87c26add2003604956ad00b448f63b4f6417c520ba6";
+  sha512.doc = "35289692327bdc68acbd442588fbd37185f9e00e3e4ca78fe500474c53ef96542042cebd18cba7720bdca0b72f19384fd3b8afcf45447644bb3c560a1385595f";
+  sha512.source = "9866ae92b2c5f8c446ebca5c7afcdf3e8b52f12504b7d74c5ac4faa570a98ab6775c3ba5ad99d4300c1f9b7f92ffa423d5c73991ad47951a4e2bee3eb3bfe473";
   hasRunfiles = true;
   version = "2.2";
 };
 "rrgtrees" = {
   stripPrefix = 0;
-  sha512.run = "1f3663231040a2b3a60abb9468bc397893e96434b7a1c6b8ae589010e5eabb263e5d8961dab24910a4479b00466988c2e3c8896b9b1d6598fe4246405d31d80a";
-  sha512.doc = "95846504f8a443c393d295bb2056320bd3294133e4aa1ae6df4af8a3218bebdb495697eb7ae29d41d36ada7c646efbb3cff50ec0cb81782206f8c7c9a344ec34";
-  sha512.source = "a96289cd36a8202f76bf05309844619299ffff3df7bd27d703456e38c173fb9a1599e20efc294418e71651835cd23e3c4f264b30ce354a3ee9ab44ae1d1f8dcf";
+  sha512.run = "cf80b48866e36b983527f0646c94fc9776ea799ac475a2c5879a4dcb3b3b0d052e061f871b6eb0a8c0fb1153c0a9f6f0ccfcfb1c6b8f3ff4839c3d454ea3e62c";
+  sha512.doc = "71992711c27e741403c5f7cc268e8597e2ea17abe42d953bf0c3caf255c0a8673f6210bb808fc70b741c694778f7cc7a45435afe39939b1377951e8e2343d73e";
+  sha512.source = "8ef5cf9dd617b1f37c57cb70e2aa7b3706d171eaca5e5498fbb3f653f409667a058254fd618681dc2af701d1d9e544d97ebb65c24081ecf1e40cd81f442183af";
   hasRunfiles = true;
   version = "1.1";
 };
 "rsc" = {
   stripPrefix = 0;
-  sha512.run = "1f9b9dadab1dc937738c0767423ec55a8d0ee85c0c0a9098d5f94960eb2c5302a88d3479e4fd2fef8df9d2d8927b9c2247de59f0c63651d7971368d35f0bde83";
-  sha512.doc = "75dac5282b82ecc9d192e7b9a88f3d281aae2dcefb9a156c0084a3ab199a80ec5c545fedd26c67cc10b11505887d93b83bd57b526c6ac7e89764dc0109376fda";
-  sha512.source = "fd1de8d282631019709044adeb620a632922deb6511f44bac1bc44a52bb7ab1d722bf1c9f4d2ccaa9c339c2f87325e6b2c951c9dce65d7716988e9408df53a50";
+  sha512.run = "abd1d24110722545b93cc16ff35b70c87f467193a33e8da2a04eaff354d89782911e42a46da5d380b9406f923c6fc48d38950d7346cfc799abc0660efa23db8b";
+  sha512.doc = "8569a90d7f5c532e366901d8bd2bab3d5a32d5b6d1c4cedcf179d1ae96a6c34ef5d294392f93fed589a55baf3ffddee2cd35a67c2aa8fc7e0477b47ce92eb411";
+  sha512.source = "b3f097f76dcd1288a70d7aec88d7ae9fc58bb4b3f3a2589944c379aba887b3e7e6c2fd6b74b2a70de58e8cb078edc0d6ac0b1997078d0c322aca9928ba033202";
   hasRunfiles = true;
   version = "3.1f";
 };
 "rsfs" = {
   stripPrefix = 0;
-  sha512.run = "80a3424b8e94a95b4487cacb0bac953bbecd423667a94730e536be773cfe080a79008c1355ab1f4605f37686fba8d93cb6bdef021cc0884bd2add695fe0fcc8d";
-  sha512.doc = "82ca4f8cdcd5afddd80cfe8f7b05b23e003b2c6249a637fa9f9378eddda9d54ceb2263f1192ada379d84b485f1ca0ba2f969c64f105bcdc415341def8d6a4796";
+  sha512.run = "f5d52f49ead227b058841bb88571ae0d6fb40b95dd652536887acf13c0a5dc5b61e3813faaef2effc26539125c2776e113937a1612e7bc7146e7d5517b02aeb6";
+  sha512.doc = "2d23715b38d90c686d7edae77f2a774041d3b679035e0399b7b6089f9b17db3ea4c6c3cdd655bb6e5f3a3cae782e30984c1fe89f5f263a0cd86b441c5376848a";
   hasRunfiles = true;
 };
 "rsfso" = {
   stripPrefix = 0;
-  sha512.run = "ce036562c7cc85a028426f7169281362b7ccd0ffe8fc772f0aebeb4841b5b0aaa39aef1e6fb4a0a2f403077f9643ace3f22991c30a8ceba51c367bc50d045e41";
-  sha512.doc = "2df69dcdfe794d0f10feeb413ea857c62570c2e16e97955cb1c86dc8dc076e19346718c5d291db6cae4e3850a31141dca9710a6e2f4d91d6e36cbd3e29e454bc";
+  sha512.run = "ce6e600f2fd5ce1aba31092c43401feeadc7927d22ab630f0fb28f421bdea858fb9e382f4d0e36036f6f4ecbd1232265216c29b2edcd44583df6fb3340ce468d";
+  sha512.doc = "ff045c68d70079df6d2b21368fe599beb9ac1ba0e339a8c448bd75565774c237520f79fd0e3d119209765eef29f5891dabf689c7756791a91bb7c7ea1d3dcf3e";
   hasRunfiles = true;
   version = "1.02";
 };
 "rterface" = {
   stripPrefix = 0;
-  sha512.run = "73cd997d2d54ca16f3eb8b8a6fdad4c5fee1e23f3b2bf62fe98307d79c7e431ec3ef82e4d588be7ffd3d3d3c04e829d0f37a9489b8adea5a6e2be3abc0e7b0dc";
-  sha512.doc = "dbde5ebc327e62962da253ee9fab772b52739eb4772a2f849676600762bc39976e580d923afe671869e0fb9c80a7f0c400ffb835ba2f021254939521b124aaa2";
+  sha512.run = "3c3cd754ab17d03d50c35ec9824b76b9d4528276fe2b5a882d35df5537ca12f83956b2c596a269f9961f243bbd5e8c394c6f1bd508d07cecae50fa47bf05fd86";
+  sha512.doc = "c8c38026ce2bf2a996ba40062fe3bce797b381633e4aac50ec438bc9fb567f73ad1c4e764af3cdc816e62713d4f1dd8bf2ab1814b50d086811359e999103c7bf";
   hasRunfiles = true;
 };
 "rtkinenc" = {
   stripPrefix = 0;
-  sha512.run = "287985d5ff2308014772aed6fdc4052e43218e5a7a60e054d471aa9f86e5579295e0cfea4f68efa3654b0b53f449405fb4d33135fffbe2b8cede1a3117fb5510";
-  sha512.doc = "1e0439e39861ac9babe709608cd224bb5a4e8ccc1ce5e788d9923aed2df5c085e2446f620b06eff6f00b31c2eaa3e0246a3ca09d634d1b83d0e7e4136b43c546";
-  sha512.source = "58a09ab1236bf5f781f8b2aada6acbfa5a889508994a2a054c950b56f880b75717e89aed550bb11e028d23c215cd5375f145779adde5a487f41c27e421d5aff2";
+  sha512.run = "a1f31a946838123b65124fc7220e77283cf89105ae439f1e851abfc3c30b6a6b7c83bebf676fe47de1dfa9668cfd22c638567ef9a097aa97dacef1f0e3ba1eb7";
+  sha512.doc = "f3e7b1e7c95af7bf89b58ac949ab5b3fc12d991a436e28196f748ae033c46446a0cb885943777f44af1fe5ad4aa579e0fc43676c44812b01cc64d85e4ae15e4d";
+  sha512.source = "9078c15d4c1531b9ca0b0ea6a2561815538de45dc33a9f8cd8f886cb7ced93a9fdf8296f409516480fb58861b599692982b503bd49568548b4d34743c44ca037";
   hasRunfiles = true;
   version = "1.0";
 };
 "rtklage" = {
   stripPrefix = 0;
-  sha512.run = "e2c8f07aff7d72ddf0492b70fc2c3cabe948e67df374870f6696cdd9ac3ee6e0dff1acea8872befc92905ec68f2a0e1b0bee964c76ecd6289ad06cbeb0ffb4dd";
-  sha512.doc = "8d5658e36382ad40f589b713f4abcb1f4ca97c7da4b154952c73fb34cdf8ad9291581f3baba9ab0e05d06437468c75860bf2331e18703111470f2043b3057854";
+  sha512.run = "6e39e34a7c293f503949da66f1d5ebc65ae0388dc56e87992e9fc4daff1a250196afe68150be14ee2ec3242393ce9e5ea7b681cba31b7ed1c2d58526f6506554";
+  sha512.doc = "550c21bcd8af04041f1fac11f2be3ae2a1f01265ad6bf31243569820c7b8d83f32ccd0cdbcc4d5a7a5905ae9aa0512a449a1b2d6923affceb344152e6c12d72d";
   hasRunfiles = true;
 };
 "rubik" = {
-  sha512.run = "1908d95ff36962c91c62fc57e74c6c9b1cbfe751cf6355e90940fa294c5977998410c7eb50eed01e5a258f059e444436a9a0ed69ee8f27d13316f932b1c4b077";
-  sha512.doc = "0d9210dcd1276ae0393c63bcf2cd06e1b7b3e2a9d1845651a776f032b467f5619b1cd8fedbc0cfc5a3640d3d4e2b1d1906d509a44950130114ead64011cde2c2";
-  sha512.source = "b09668cae1a54aca218c5eec593e9072e9be33fb0e14a4198d429408732cc8c898544782f0a28a8ffd3f6972e37b2e0114432ac28ba22f6afbee9d8deb06ba20";
+  sha512.run = "67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c";
+  sha512.doc = "33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51";
+  sha512.source = "3159acbc71a007877c046f6c075bf271e031feb00cda04c1818e4490396c3fb0651f160c7a98d8d3391efccae6a5b1dfde2155c6bde1c463e1c7416107b4ab90";
   hasRunfiles = true;
   version = "5.0";
 };
 "ruhyphen" = {
   stripPrefix = 0;
-  sha512.run = "dc4a222a945f30d24a4bc54ac1c4ca1056479772bca6ea45cd5dba03287cd815d25fb01d347ce664d3e7930ef5ea83eeadf72df9c3103ff7fb4a237b3b36babb";
-  sha512.source = "7cc7b27c924e19683450a77cb9f543ea5f91393fbb72e1454a70690599011cbf3d0cf2bff644806942f874363974e2d1ac36bb18471e3a503ef7dd6e70a89b82";
+  sha512.run = "d681972cad53b86167f4800f78b5d25de305d2f3f604e6b41b481c432bb9f09a964720fed5b5052cb8a30148da1bdc76306d8edb2139018d83c331d3439de958";
+  sha512.source = "df587bb8c81e73f70a93146d6c3a50c2a66b16084e8eab0b01e0aefb3ce073c6b6e812cfd8c5a1520f98ca58e2e2e0634877ca2987742eccc4d7340a7d62e23b";
   hasRunfiles = true;
   version = "1.6";
 };
+"rulerbox" = {
+  stripPrefix = 0;
+  sha512.run = "197588dd36056d6b6e9f7772205cc44e81734cf63dfc83a7c987209df0c2b47f91f460d322df05f123768f3d10d9af8bcdda6619da394fdaf3367be88821a135";
+  sha512.doc = "b4de5828d5602845217726ded4d56ce6f4008a599bb1ddba89745ab39bfc2ba9ed3fcd1f636cff4743252a975a18ba07925f1e78f81fc8cc2ded80a7cf8b74b2";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "rulercompass" = {
   stripPrefix = 0;
-  sha512.run = "47922197800bdd5a78f72879333cb3982a2dc31ab0319a1a0b5810399cbd3a19fd6fd0482e84fde45d444ecb8df2115759fd79b0c8d5098b3993a80d2e48945e";
-  sha512.doc = "d3db2233666ef0b682c988395f5cc2ed600815d583fbd01a92db7d8480232843d506b62b6d80a0dc99aed5f8f97288a2423977fd7bbbcd03e96a54a948c3fb18";
-  sha512.source = "7b502b26d45f6dae54813672cc8ee79736af9559566b48e2314a12f87708f704467dd26c56ed3f0f11829c884e7ce3f176ba771acff872ff4f9588c6d68279b2";
+  sha512.run = "8f2e8d9a4d61c3c79e3ef29ae554db2696b9c374fe10f59fe2a4baea33c679a0678a95c30ea1d4310662bb5af6a1b02d88db7bb43610545b1ffb39fba19b5001";
+  sha512.doc = "6077a3c137269e5be37b62879c394d800f4bc80cacd1d9600b2aa81503958e2fa29f0364db58c1418bc206db916f84f46cbcf70d0f30a9276a6e78d154150425";
+  sha512.source = "75765738f4d3b635468d8e1ebda805e0fc6e2bd3eccfbcc1594fcce89908834572aeec85fea189368d02d05ba1fff6d0e2bb454ad25bce2b92a45cffd74a979c";
   hasRunfiles = true;
   version = "1";
 };
 "russ" = {
   stripPrefix = 0;
-  sha512.run = "d24a7a9742f19812b44dae7be99e4156113491da8939f050ac8e01e491916d9a17eb2832d9e521d44d1d4304f8f85de9cf9c5bc3129a64036a67159109f5c048";
-  sha512.doc = "abe5a7c33f01a7df0c014be91426c8338814f28296041783d8c5c90a495943106c70dd1b9829a42c5f3cd824516aa2e4484993078c61cc9edd2ed4f494085f36";
+  sha512.run = "11bceea67aae767037d728ab7892eedab312e9477f1f9f7501f9702fca4ceea4e21bd575b1589fb545abdbdc5f5f5315243f77adb4c9b9a2507fb255481c5541";
+  sha512.doc = "876cba326071d0f347d9a1a4c1eca692ca743729b9604a51bb5b53de96da6006ff24168040e77df60b1999cb22901b7318669c32378a869081956dde40974802";
   hasRunfiles = true;
 };
 "rutitlepage" = {
   stripPrefix = 0;
-  sha512.run = "d7db38f13fff90757af8fbd4e488e864577235e8137a321465dcee610bc8b23f40303fc4c7c11d90a2c6841b104f52cb48a0233860f02fb9b485c4d301d45b67";
-  sha512.doc = "3bc04fe1a49fc6b76196972514e3a165b23bb23e10ce6444546aee190971a1bc220ccfe951fb0c50d8881293cc1d08555dc7d8d2f0288060af11c7d973aad17e";
-  sha512.source = "9c2e47fc93cb4b53b6e58a59856d4937093e58c5aec90ffaf58c62ce20447dc3a3444aed61f481dff9455182f62c53b700634f53c3ee74cba5ab85669acf551d";
+  sha512.run = "e071bf5dfcb8572dac3287394be5052ca04c6ec90182e306f020ad02c8f4db134c92b41f064423c1063fe5c1c465cf952a8d0d8fec4e917aba82f76850cf38c9";
+  sha512.doc = "e6884d2eaa6e5fc9448c033f1a48ee218f171d5fc16e7a977db89f7807c0bb6d1bb4c212ee489bd882d87149003d9aea2da3170045e165150bb8f7578b719107";
+  sha512.source = "bff9526027292b6484d9a5ebe66d57400eace4fb94f39c97569aeda1c1dcb32e30ace085b07bfdac096ca0dcd587bd7ab8509190dfe9dcd08e4fa7d737fed66f";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.3";
 };
 "rviewport" = {
   stripPrefix = 0;
-  sha512.run = "4bd5f79960c9efb05d32aecb825e69d82d6cbb558cee89e6b6f38d8836771e2076a47c4047187bf6a2fd86e06e27da46693c65412dbb70d0d2d756abf31280fc";
-  sha512.doc = "189705f93ea310d6d65f8bbb78376c6a9de6db4f45d57ec5f83794b2efdd6959601c7423f427febe95fc6b0008d0cb66a9ec25b775090b62753ab4d2accd41c7";
-  sha512.source = "c80eb46f40c06f577b46101b27cb5e20f0d360ec4e6ce633d3139ab49616f163ddd464731f66946db23639508ff13f0c7d208038abb9f0c03ccb8b9bde18d268";
+  sha512.run = "eb4bd4e75f021db40119cb4d4334611fa80d26885dd4229ace652bf8dbd7b4647a6dc4f45c8be78ad8db0cf1001b7117ce3c38de2483f0dd96da05473543ac10";
+  sha512.doc = "10f94dd8b29d354eda99e8c0f15b53baef80714f7212714a94070061e403d45fc5a97d25174f268a14b0f4c924af9b25c81131929c08be1ed9a4e62204f17c22";
+  sha512.source = "25e91e8c4f52b1752b32293828d174fcf3cbf6491f38dc2c58be23ef7f2a84570c96606472ed89ed837951bd2ab9bd1e48d4a126beef160c14899b0e70240eb7";
   hasRunfiles = true;
   version = "1.0";
 };
 "rvwrite" = {
   stripPrefix = 0;
-  sha512.run = "eac51d04fb6bd7b43dd2d241502e4ad3132a3b4cc3da918533174919563965defd1bd0b3e0c08015094dbe116084391f607b9687056b7f3e69c86cac9094fd70";
-  sha512.doc = "dd0b12298c17d32923864c8659fbf748e19a233322847e0d1311c6e02bd7f99b140537881731f3fe4ba2bb7a5c719f9de661b97937753b3199b4cf740065cdd0";
+  sha512.run = "c187dcb7e1c72b727cfd0827a55d721c6a094679c1dae27438ed030209042b49c646af20e158900543369ca8ceee9896a9f36de76607f8514004df80e3be15fb";
+  sha512.doc = "545e5b96a2bb3646a7b4a6eb31d5192ef85dee9ac0b6859f6b414f26c5235651294f486bd132af112a2c6021d6843e6ffef8a8f79b7389b974227bc1eee16230";
   hasRunfiles = true;
   version = "1.2";
 };
 "ryersonsgsthesis" = {
   stripPrefix = 0;
-  sha512.run = "edca2bedcb0255b414f53a2496d8e4eafe1ad903127e8faeabd455cc55d5047ad3e06275f4ddfe2f8aa80fa14d4cc2f8b88c5a91650d16b95e6425fa83167460";
-  sha512.doc = "9d580910750e8a483a57514741a8f02d84ef1d018015bf2710336bd3aaa5e8bb98dfb027cde1861e7b2166570c405512955aefd498deab9bf4612e9cf6f749ca";
+  sha512.run = "0846fb24c6b96cc30edf46d1311809e1170d3feb13b3c26be4dd330ef8dd856771f257ca197f562ed409815f0edb7e8ea744a38b9098b86a325eda9cd4ad360f";
+  sha512.doc = "b0d57ce3dcab586fdc2e15f6c2291560c43dd772b693ec11e0678e083a1475c21b55601878cf938e666d0f8a5464ffb0b79281b62f4859200fc6cd67b33b8779";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "ryethesis" = {
   stripPrefix = 0;
-  sha512.run = "abc4293012110d50f4cf6330d3e3f48bbd9ec72a233f0df765fc260de1ee6d00485e0444dd4f518e1c53907e2ad8d3ed90b5927ee7611ebe2a76a08b25530ee0";
-  sha512.doc = "c01347d51fec0f22ef54e64a396ca9849abac9b1ce66d73ef44d26cd4357049f588694c84850397cf0841c9dbcf10f03068d79c052d4a4a5d3dab0de5237bdbd";
-  sha512.source = "f86a9bbc76acd8e09622c9b416b16a82d58334ef69eb182b06224b7e89f3aea085a7bd3e7c0ad0787e235647cfa50c2ccff691c6c18b0647df4de3a8fb266441";
+  sha512.run = "63988ab74eda81270f0e470f3b1d1c772b17668fd9c6526fd8d53f588da8e52d3690b4c3ee898f2b460f83ac44ab4c528a0c6c48abf1a1cbe21427fb4e678a1a";
+  sha512.doc = "03ef086a51a97ed93038338b99a516ba2898a0097326f4cff3c650c7035acc4bba7ee2fd6458c579a9f1af4ff31334dd22cc23b7004d08e58a259306ee1fbd8e";
+  sha512.source = "0754857b37c510f7cc581201c516d3ca1f6e9ed9bcc0825968efbe728a281e2ec73f58f7415efdb07bcdaa66fbbab3178793907b3da17511e69044bbdb2d8aed";
   hasRunfiles = true;
   version = "1.36";
 };
 "sa-tikz" = {
   stripPrefix = 0;
-  sha512.run = "5969d262e733bca6a0b3067b30149240a5e327d1b51f092c92a26e2ebfec13e0c25cfb3ac71069e119d6dccf9b0e9a4ac381101e78ce60119785c12bf12fd336";
-  sha512.doc = "6ccc4679dc2baaac02252e3591333185d1e01ba95eb2398c377aadbbf4ba9e229ef3ba831682fc16cb997854cbf8405f906157ec9b6a5ba71e5ed7781f0c4232";
+  sha512.run = "e30f8b6dd6f082bd127077fc5040ffef53e2c2fe43afd023bf0fa9dd8094769e2d40734dcf412d477989b746e1e5141cc42cc082e9f5b26e5986cc91f8336ec1";
+  sha512.doc = "d6586a6196fa9ec8c70ff6410873604d987394ff09e93462548baa202f22bda479fb4f76f66fb710b8daeb7b34e455225c997f07cc9360a09c5cbc4c45697a5e";
   hasRunfiles = true;
   version = "0.7a";
 };
 "sageep" = {
   stripPrefix = 0;
-  sha512.run = "4a5472d1cbedbbed23c656a0959bfdb08c8a1be62812ea5390d80d37fb906e0ea8d8205479d6ab7c9bf9f61d72eb7a69a89defd47aa28c0c8fd4de3d4738018f";
-  sha512.doc = "8c2d45bf6191ac38708e4a79aecc19d53fdb2c2f60e48d8852fd1706a5ed12ebfd3820f7b32ced41d2b8111bca42000a5f04291886414e83931275c5af3aeb07";
-  sha512.source = "99fade228079afb6b90ce76e6a460c060b82fa6fde8c61a110dfe3210ba6c0cf213279ce88699e670fa0cf50f29ab7a1c448c708e22d11bb6829e0ce63d6cc42";
+  sha512.run = "d8e107109129636cf68d88c96a36de87b95dcfc4e154dae51a1145d7a0c58a17ca12e95b1b2fa1312c6c50c5cc02be35b23168d8eca69a7643695c38c5d0bcd6";
+  sha512.doc = "7f92c14d432ca5960669a8faace80ff6d4e97d9a021281c847b7f19942f4c1a06da3657e8992998e91bd1d69398b3fe379da690f81be28cb4ddc3980262c56b5";
+  sha512.source = "25f06543efc104bdcfcd81fbae6182498f23a7d1d958671cac945f5442a59a71033bf3fd174bd41c438c7a6a066d41b1e4a375b559b14bff6e705ad2ca894b05";
   hasRunfiles = true;
   version = "1.0";
 };
 "sanitize-umlaut" = {
   stripPrefix = 0;
-  sha512.run = "41401c7537570e8e8ddbcbe6b6f1737d7e971ec1929c2eaf710cbe9ec18fee2566d2b69967c9da6c6bf0626b0721b08dd9f5a14698eb64aef7eeece32119aedb";
-  sha512.doc = "4dcbd3ccb3523a856568245c4da6138a6931c09f9ccd4bceb8da6dd4b92e138e10d895941c2401cbfe98d9213cac263f9ab7f4d8b7da95cacfd988d82cb94216";
+  sha512.run = "c6c3efc6577ef83da2a4ce3465955f19063e2fee725bd1109f5f48c14cb34da7a633b37297788e5f1445f98d8614e474835df43feb4de6288104a81a4909be8a";
+  sha512.doc = "adb489023414b980a224f9416ad420f68918ea60b8d2d0cb8f059c0c20063fdc7bc5eae724d2013037eda052e66200115518445d5bb17140389349bab70a2d4a";
   hasRunfiles = true;
   version = "1.00";
 };
 "sanskrit" = {
   stripPrefix = 0;
-  sha512.run = "7b9c1f557cfce651e360b7097f1a9208fb4481591969135309fad0742b0ebeea35642f6be70055fe657e28dc1ec0781926a86863b6c69c251c44877e3a3ac33f";
-  sha512.doc = "b646c2ae67f3f6dff7fe2361ced54e65d3d5f29b44b6fdd6b68e3a5171116d6d9998ea4203fa994109f30b36840613d0aee54ee48d09ad451b6c9f911619ded3";
-  sha512.source = "2112d903318a21e6adf0cf2b7f9e1b7a06e279372989347d38f06eb4b25fd37961d94837d005f6ff911d1789befdd12cf743c6d0bcfe70ad5d5a786cd6e762ff";
+  sha512.run = "0dbfc19e366fc2e69c3700e0c532c280f1e444d0d6b44b37fd1565a64b0f883901c209fb1cab7c6a35cc9ffc23d32b5cd78ad2ee3e52d7cccf41a80a8fdd6c57";
+  sha512.doc = "a5cb05e7fa966cb09d84d0dae14eec25354156f8acb5811f4867b3724fbed62df94305ea9062772879c5cfadffde8265e7c9de062bfdf6756cf2843053caf9fd";
+  sha512.source = "b2644a58e3a64122b5b5765547959d888837b3353b70b5bfc7a98a17f380de4f6e2fafbdc20c0458860baf28fc373ddf9c173737d8c776867bfe7c3bc68ef40a";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "sanskrit-t1" = {
   stripPrefix = 0;
-  sha512.run = "4eabf0b929ad30a65a8e1540af6f063c1ee1c2cf1be78a8fdb3514ec9aa5ac5a2a7c63793c75288b2c70ba5e4d2e7d1b3a44a9603467f2a9fb29604cbb9a2e0d";
-  sha512.doc = "6ab8af3dc7ec384dd5d9d2a027dcde17ccd25a9bf09f3fb2477c27e11a1ef405e36c58365941776741e5f73a79882773d4d9654dec0bfdc698175d7689425897";
+  sha512.run = "8db4a734c40bcbefca8d1ac4e82b01b890bda547d3aa68e8f3a93a06d75335cd41a6c594563d0c7ec9a18a08868ff7b5e8a04b11a64110f80ded65cf5d809bf0";
+  sha512.doc = "68259865bdde464c565c50497257c0f45f6cc1fcd01533087afabae35ed6d2d53e2160c9c3f867c254e301058e599bbcbf1c3fcaadb7ee7ab25c364642084073";
   hasRunfiles = true;
 };
 "sansmath" = {
   stripPrefix = 0;
-  sha512.run = "75241f4993bad1e6df2ad25aedbf264ef7021289cf2db10842ad4583bf7983a184c670e9ec7673ba1a92ebba1714ae50e4bf38433c5bb546d8596c6a04585482";
-  sha512.doc = "5a24f5b9c0cc6b0ed6fc80894c8089e4882071faacde63207f6cff816f4ba26d13c3ecc1b44811376c2958e3a80011c5ce72f1d3da1eb8e69d456674425ea1d9";
+  sha512.run = "075b9a32512f191767bfc739b833497eed371c2078fc8511ba507b19e2744675bfb3caeda40da484ae559aaff44aa4f6b2f7f5baaeb0c30076654593216fa5e4";
+  sha512.doc = "7923dcfcf20c945dc61af747000694c59c61982417307356ef2ee335f7a3eac7e44974a334072125ed4a3ec3b29caf342f15dfda1fdbc348a5e2cfb8a4dc2469";
   hasRunfiles = true;
   version = "1.1";
 };
 "sansmathaccent" = {
   stripPrefix = 0;
-  sha512.run = "cadaa7f9fee0b146a7914c42656dec17372798bc8df78b9df57b1990eb67469204d5e6206fda60637cbeb7b6ca1d626f6767779f733dc502d581f6d684684627";
-  sha512.doc = "df44db3488e5c14c849a07d9f61dcb2cc5b78bda89be2ec4082ba08c088b7a4e97b91f39cc00bc1fc2c2a29c64f1e0996ba52b9ba580e2c8865f4220ef184590";
+  sha512.run = "cbd8d7cdae74d34afc00da3e300cfe6e40b2217b6060732df0ff76a6484ab8dfc8c8921e3552a4cb06a1acd05de07d490a956464df3de97bc987a8a11cca32f0";
+  sha512.doc = "38cee91050b9b38cd5ad84b755782177854f9208e73205d51cc419feab34461a37a557660920412b936c8e7a9f9e1554574a1bd61a36c000f2422c709043666f";
   hasRunfiles = true;
 };
 "sansmathfonts" = {
   stripPrefix = 0;
-  sha512.run = "e9edfca88abd3e71590d6e47b7a26ce94f438da72eb6f2f0c944d6e898e1e1813846a414d1e59a1593b1604207868f8eaadac9105b982feb5ebccbc74e475661";
-  sha512.doc = "21d595585240d18095632fa3b2adaf7878d7912259d633ac1b5dcc8f754ceb0453150266e386d53b60d13f84dcf2ac49a881bb7e288f3bb68db41b9f6b293783";
+  sha512.run = "71d70b034c7e0da6f8e1876c40ce2821e05cc814e5d8e1194f5a76c4b490d8d191bf6b3c9bb7fe880d0273ec8e1f3211bd335b526b154116d7ccdcdf0b61d0d5";
+  sha512.doc = "e61cc601588681dc29113391426cb345c207eefb04562ea6eb8369cdb8ec4844b0bab586ed91bb2a1506c49c5a60661748de95cf792b07fd52ba23cbe58d254d";
   hasRunfiles = true;
 };
 "sapthesis" = {
   stripPrefix = 0;
-  sha512.run = "058a6dce540acd4201b84e61e7ae6db8066bf25c2fcec082b4bb3e7776514f4dd02207ee70b1ae9b8182caf45bbc4c273b94f97be81fedf8224e5ce0b3fd5d72";
-  sha512.doc = "fb7eae2616f424de6fe82a29a90dd5b0f57f652b8533e7a047c97b2bb8fec901951a95c8c0c44d735440f11d2fec4723a1a1d8a0665647888f94efd33140a784";
+  sha512.run = "92253d6532c6740ae1bd25fdc76b566ea2d488f31e6a24f90e3b55ddc15d471b6c4ce5c4e7ef29c9a416d9810af49b04ab51530e9594c39beb19fffdc066a917";
+  sha512.doc = "a1d8c40975283a7301c1a842355149f4ae291fd7fd72cc5a44a292f96558b79bae734ec12a78b429c333aadd6f433e9603f7cc75a71eba84d42294461e87767f";
   hasRunfiles = true;
   version = "4.1";
 };
 "sasnrdisplay" = {
   stripPrefix = 0;
-  sha512.run = "8104c28cdb6c2e22dc5fb84712f7d44b4c42c9fee4b7e37fdb128fd079c0b83a82ed18bdac324036ee99de9e1ebd8fca9829c62643823fbcd296eff572366156";
-  sha512.doc = "e7b6c2ffe355cb162bcc44a31d271d8a2e3ac81f8a7e5e5777cfe405098df8b9d556b21cb7eba86bd85527d24047eeb1d934c10602070c7ea4b8f9444cbd1f4b";
+  sha512.run = "58cac1a9ca8311c570f8261014a4cbc52b2b1386196d9c12de1f7f7ac780a163626a21081005bd4a02f70f95ad0e3873e844b8520104939e8b1116b674104ad9";
+  sha512.doc = "5d6024b9bf8fe91cef2e0427f33d9fa8b5fff78e2721afc4884ee83a4ea302a5c7b3bfd38ad8be05ebf5b021885d13938bf9424369a44f5701b29ffb6c015d77";
   hasRunfiles = true;
   version = "0.95";
 };
 "sauerj" = {
   stripPrefix = 0;
-  sha512.run = "e0fe7c3a1fc3eb4b96af67371169b455552897f5f93953cfc3a7f356a1b6eb6a9394b2d4b7234e4e25580e0a34ad52db687319708888de0a11a705de7f38828a";
-  sha512.doc = "1a666e49382e40b439cbae90d2b4afef3123edea913a11cdbb3a82e2f0bb6b19692f821a218e8226d24f9dd4625ba84bcd8a74055b320faa43aedf07d4079920";
-  sha512.source = "4e06b0925f955570d9589ecf47f5ea8db8711af58f4c44aeea59f0ac5c1f336468f0e2b27e8ac70cdb4e9df89382f79adddc5520a5c7114551520489888377f8";
+  sha512.run = "a4fe5bad7f3d5c895d6166846100cabb1b59e5f37c06d21e451acbaeed0847ab93d9995e70209ab18cc55bf8c78a6c83cbbdd49a45a4cfe511cdad41baf3ddfb";
+  sha512.doc = "3ec0f5c2132a809b4f2f945255f0806508a3dfa3733119368ba59e4dcf5304ac9876ea5f05912faf926db651d1aaf4a3a1c40744fe7d3a077d8bd9dde2676754";
+  sha512.source = "05d2adc3b802e3c338dd92818cf7ce4d3bd6964dba8522bf4628bfc2d13939bde47cd0892b4fb629270d5e9104b9577fe6e3ba6eb71ca60a07f5e6441b0f572b";
   hasRunfiles = true;
 };
 "sauter" = {
   stripPrefix = 0;
-  sha512.run = "11fd6758cf403f9a377872bf4f1803700522c1e28aecb8c764a119302942b481536bfa62a39b1287bedca6c3c37f6983b5fbf92c4f8e0f4f5a2c9cb5600a91c8";
+  sha512.run = "17fc32a3dae358be5215301abe13d9e865ff9f52f58cdc849d5fc80aeb1a79723d0a39282383086282fbddcaeda0fe586cd3043edd582e0addc0b223bc3ee756";
   hasRunfiles = true;
   version = "2.4";
 };
 "sauterfonts" = {
   stripPrefix = 0;
-  sha512.run = "6397472d26f02696160839e2be99c21b0814a3f9c60f70c92931d467f0929e00b7a7235fec811c2c2c36ca7879c98561ccb9b6aa757e9fc3f13e04300e28106c";
-  sha512.doc = "a92202d225901f73846c76b6d9b0f3b0caffe75c76a41fa8c9a55aedd20922c4899c83271e03f8df1b3d7a515ee935e3d8ffab2644acdfdc50d25ab8b30d9ccf";
-  sha512.source = "f40879625b69f97b241eb257eedacb99d45f44560b4dfc809c5964867023e1144702c1250ff69dc214845fc7288d10944f262ba03da7dfa9a1fce5c820a6b878";
+  sha512.run = "4d7e491a7a6a22fd6ad8f407cbc8c041434466850e2e5efd46897843281cb71e046fc6cb849cb091cbf05191c45c52a6cb3e0d806eccb9133fddda9c8f305969";
+  sha512.doc = "16647b89752d1871c798f80be91bacf375ae9a4d5199ef7417edb4ff019d7aae548fbbbbde47f84cd5c7c36ec4988ad1df82735f4aeaeb40180b07a86dceb5a7";
+  sha512.source = "d8379fb3c2dfc5dcd9fc5c22101855a27ef5de3ac377f1e6a56bfd397888c5f7f94dd37c24c6625a9dc40f15160721c468b5a5bbe8a35f98f983755889e250d8";
   hasRunfiles = true;
 };
 "savefnmark" = {
   stripPrefix = 0;
-  sha512.run = "492925eee8ada9b988828e67a243d7544a4c22ae7c5e8b9d9b96b484a19856d35402775da44b4a83ce3e464b43019a4b2133c971ad94e1678c7424f4ddd04061";
-  sha512.doc = "575120cddf8f8428e5c20f2260913f0181aacec90d1d092e1cb2a311e0d3f01fdb26ba1dfa76470c2f0794785ae7683f478456d23663a8511472098c4339e7a1";
-  sha512.source = "2f5accfb941f0a8da11baa92b9059ed5091079d59638361dad35411dd2b6b38cc1be81a1e66bd532bbc06799f89354e83fdc5fabcb7a96eb761ddbb1b9779f4a";
+  sha512.run = "2d39c1246bc9c5c28222a6ce96b93bc0c1e93c3155f68f44843b5560b548191ad3b608f24b5c444b834fc441238a0d2174a9a8ec006f01b160f77159decfeeb0";
+  sha512.doc = "9ca251e6d17373e5d6f308d2e75896aaa3e44d0f5883be65f7629f922f0eda296c963530e8fc1c80073e0706c2c72f97d062cd731481654c0564cdb695eaa86a";
+  sha512.source = "984807d4efb4b24445dec6742e0328274527ef3c7ddb3df57a5d941531d1e634b5d672c9a510b62f7053d69c10668c311457b3a1065e1775f964e9a74ad027a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "savesym" = {
   stripPrefix = 0;
-  sha512.run = "c29910b17ee44e4fd9e32f035910eedc47739c6c34e5f728611e59df88eccdc36d954347610991f6e7ec67bc25d5cce1d457a9db866b30eb8d1b98f19e424776";
+  sha512.run = "212ea18ebb424f9b64ca9c75a783dee9ceebac09adcd6ff6c721d90796bf4121aa8710935529451e6f9a4de9c3cb5910b6c07d6fd6b7093c4b9904348f43a1fb";
   hasRunfiles = true;
   version = "1.2";
 };
 "savetrees" = {
   stripPrefix = 0;
-  sha512.run = "693e8df1c97fb4828af52f8fd3c83b69185f6b199be87beb2457487e31e730ab1cff0e69399afa39a23a7ffa51e9317352f0a7c2ed217e4528212678be23f01b";
-  sha512.doc = "ca32a928e785d44d908f85f49d6dd90651a30694c1c8c8d46c4fde17f30c6af441dcc1ba6da68287857a1676c596fe702ad1dbae324ec66d5a220710cde3718d";
-  sha512.source = "741eaaa7cc70c8cc988325d3d9b9311aa1594b14b15d290418b37c033e85fbbed080e0cc25f31d9f630a85f55cff0a1098ef8a0797cef696b4621a3c7fa416ba";
+  sha512.run = "f31ac72f12ecbe2ab05bde14de907707988d6b9ba20414543b9176b71d2a0d5358a34348177857c56b961301678b612ee6f767d1b9cb671b9bab344bb8230e6d";
+  sha512.doc = "3e5cfb62d4020d32d9bab01b3df2ea1cb485240aea5eda3541d29cbe38487ed8b242a1eb2b9d15d08bd742390a8d8a25b584e110145dab330580e69e2287f181";
+  sha512.source = "2dcc671cae73824a2e4cf10682f0ad7d6236f5e856267663f14864804587e1394fe12de5e3e54e5a64abb798c16014fab07a462584eac3a561f971496c58b5b0";
   hasRunfiles = true;
   version = "2.4";
 };
 "scale" = {
   stripPrefix = 0;
-  sha512.run = "211c349477562ab0d309ea5e908dcea127f67cf1da6f2516e159bf6ef273b7cf5be90a4411ba91f1fa3e9af9c6a439bad04f74e0b2b4426e5f661014d1c001d3";
-  sha512.doc = "4957c6b4de940a1798bf924a2e46c1ef707490e257057ee446397bf178543a85a8102010720d008b9ee7dac54423966a4c57d0f7b0b021556dd720c697cbb1ac";
-  sha512.source = "294f74c3bbf64b109a528edef99d6318b2a04182c2266e5077dfc8b1e058cade296be1737f955ee880a8576c382c39cb63ba1fe75f214e36aa9ffc727dd7a6de";
+  sha512.run = "2d090a08c8f7d5d9b332f390b29b16e911f339071579cc09b954b2978df4b410ff3c47afd6b8bea0ce7eabac551b94f8630fdb7aaa4ef39f793748925157a19d";
+  sha512.doc = "aa41f6de8baee992b123ed40086dd5d0aff63c187858502c66056a52f3b8bfb12a5b7dd15ae9279a224e9d67d717f3927e97f5879ab09ded9e0960a3eb910a90";
+  sha512.source = "387efffefb6774f50165a0c3242005a52418c5c9ac3ff6d1b87f696eef7af8a57a19a4efe6066e7939fcd76ff8ff9ce3ab4941d30d36c6bf30beeea1a95d4eac";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "scalebar" = {
   stripPrefix = 0;
-  sha512.run = "f10c30f4f5eea08a15c5c55a27403fa5650891dbf4a9fa5aeb85cb16efd14cb3610581e08a85c3b4e01082226a65cbbf218c63151fda33b3648ab9ef753cecc8";
-  sha512.doc = "b60ef1af676c7fe79f40184afc0df38278b8dd32c7ee94ec3b4132a6cea30f36bcc0212678bed75096e8131374e11fe738abb3a27da3f0bf39381ffaf2e3db96";
-  sha512.source = "d5cf25ab4a4938394f7e96b92b538ecb0325761f036a14dc17f72b773351f84980af7048241e24148bf71ac86bfefb63fa810d3af561954e4d3a8eb73d14e36b";
+  sha512.run = "1e367f025943a56b6592238e2961f967beb1d5ff5b68ee83565b3926a392214557237e482ba0b174ddb2e6861e4690e636edef1a5fe0473c465a0deaa1e1bd0a";
+  sha512.doc = "cada3793771a28c3ce30439c782d245b6b21cfa426d2268e7e072a8559a81692b6c4e9e26a8bd452fe5882f39e55fd061a1af4e9be362bdcdb1f6ff6bba781e2";
+  sha512.source = "f6f3e8d007ab3efd6bf1d45b9e3af1fa846637a8b66226f9ae24d64b3be9938b547bc3879a33f44d465f8f62494d1f55141c713b18161ec4006ed76eaa52169e";
   hasRunfiles = true;
   version = "1.0";
 };
 "scalerel" = {
   stripPrefix = 0;
-  sha512.run = "cdc00004572d8c23035f5d797d24fb4a41f61a07172a8d3792450f18e6af26269f6af2282f9366ce92e7bf1ddf2461957ca31b804841050fc36c1daccfaa234a";
-  sha512.doc = "314ef43e527a4c07f7f7b99dedcbadd8a74a3a27b5acfe3b92e11969fe664e8cce15b6029a3e418c1ed7413e2055bf36383f43a51500dacf416a615ce7b02801";
+  sha512.run = "0b0a996bbed0fc185714f84e32c76e5a9277137d3d8dcc6b12b516afa97f3c80b2684c3c22af8717bb3e6acca267a3862c1244df7cb71eca61b10074fe1c3a89";
+  sha512.doc = "1533997bed3ce5499a1285a6db03be20f28fe70b1ebbac5d117e692c53068ecbe7f8082cd5f93c753bbfc1eb4fb3b78372c7b14f5e2c636398f37dbc17972d97";
   hasRunfiles = true;
   version = "1.8";
 };
 "scanpages" = {
   stripPrefix = 0;
-  sha512.run = "18b4d359d71f3b18c6b1d063370a2a7b5e1e5951aee27638f68c9b96b07783f3e5be4b962d4fe026dfc8d57fc9a23f2b9e8bf220d76d268fad7c6e07454359ee";
-  sha512.doc = "30be0196aec9bf14d6d7977415f7c7e73eba7f877c814af43a020f93a1f1f00a9cbcc44a5deab5629148c37e6fef8b604b5ac3726ab8edf6781b6a27ebeeceb6";
+  sha512.run = "e13f7849b2b1cbe9fc60fc2e3d3bb7f2879644c282e8664a5ec46b3143f4ac7fbd21f2976183ad410bf778a181d5063b23832734f0ff43a617c9020b16587fb6";
+  sha512.doc = "34eb2549a4d809602cf69eb562fd3c03c8d3fc4063820ce41b52d733228a6a83ace819e5bb82e77cd3be3cb8093e7997377fadeded652d20509eecde458d9b78";
   hasRunfiles = true;
   version = "1.05a";
 };
+"schedule" = {
+  stripPrefix = 0;
+  sha512.run = "c7d58c5e4ecdef504e1d32934ccf2c71cd36b073af4031ee83b0d0a3b3393a40acc26dd4e057f426561903d0d08297bb2a9849cad2cc5a11b02e15a3983f0e1b";
+  sha512.doc = "ca5f9e2b27f0b01531e82e64e99f816aaa52f5f340bc2fdefac367918d50c564cd178709428554a908951c117dbcf3d24753f84d864fcdc546129c3de25d7e77";
+  sha512.source = "e910feb417f9d1606b323a995026f3d3275523b4fcc53dd94d44c10b375ba13d322f32191dfec36b9606174240ec77de1b024c1f8ac14b94224d34e2aa0cdabc";
+  hasRunfiles = true;
+  version = "1.20";
+};
 "schemabloc" = {
   stripPrefix = 0;
-  sha512.run = "80b87938a744fe627a3ec13606384ba367c280bb085804c322358c1d05e88596e7f43cf578da9a2e91a8e7c93f5860805cf74713c0e54c7b505f2a43d704d8e1";
-  sha512.doc = "da50742f32b64b79f55f4a6289313510c90c8b9cb41f427f44e144a80b1776856642e9ea4405688c89107e7bd77cc0b624bcedfb06e80f9b1659aae5b7ca0567";
+  sha512.run = "5b875455f8a567a97c5594f1366fff624228ec2af396bf8cee73f32835d9896c41986b3540f215cca570f21d1531d248e315da5336c0323fb57c3f796ee2df65";
+  sha512.doc = "27b0f1f5db78caacec8140b4f13a786ac50ba2cb393aeed153138b0ea8ee6caab640c2dafb14cc3fc01b3c7a511d4642f7fea65e2ccfe295a16cb7e125a47cf0";
   hasRunfiles = true;
   version = "1.5";
 };
 "schemata" = {
   stripPrefix = 0;
-  sha512.run = "4cc9e75717c80c2162d34c44634fba069ba20789e820d3fd2204d469f212e826dc242ed659e09fc65f674d2378f4fa8984fe36d040e8391cb8c80c670992bf55";
-  sha512.doc = "bb9a15e9f40de6824168dc96d355ba84d378f93e12793091af6e5592add42a9c2325ff0514bc6fa879623a1f7e5457fb79892a33764fba17b9c12389806ded3d";
-  sha512.source = "2ee502a7d909d0793e739b467237ad7d9f5c23361fed459e74c3ff09ad9d784d7b52bf13025772f1fcc680c84dd82e07a43016be523495ec08d1345ce5967861";
+  sha512.run = "41ddeda2f81711f50238403fbd496f35f0b5548c52a4865dfd9f1ebd7d708db2d1780b1bebd0d1e1c993c140a760d4802770066b21b1bf4e98c09bb606dce2ba";
+  sha512.doc = "51afe69e7356110ae73b2dc7d4cd84556ac245bc57ab2c4e05f8753345fd0628085b61c78e31fd25ab22e1a2e3255c560193fdc9e16729e7ca2dd7c48bba0684";
+  sha512.source = "93c841a49e482861247b6a1baa79f7cfd3956e702b37ad17328c928600224aecb486df1ee012a89d00907efd6e60ea51f5c6aa704b876eba1311e96f7529aaf0";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -23594,7 +24206,7 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."collection-latex" = tl."collection-latex";
-  sha512.run = "2250810241ac6f92713342a7b4dd3cf1deade2ad6ef65552eb9b987f340d952589fb941270c881eb07c2e97a861db47f57e16777ebf81142155f3dfd4dd6d5be";
+  sha512.run = "ab27a01ab3859bfc1718808ec931e24e58c1146c5e803d616ae0e1e2c2c563fb28bb8480f91e12db9e71d7c1ddfbdc3b73357fe212fcecf7e377aba4365aa27d";
 };
 "scheme-context" = {
   stripPrefix = 0;
@@ -23612,13 +24224,14 @@ tl: { # no indentation
   deps."pxfonts" = tl."pxfonts";
   deps."txfonts" = tl."txfonts";
   deps."ccicons" = tl."ccicons";
+  deps."dejavu" = tl."dejavu";
   deps."eulervm" = tl."eulervm";
   deps."manfnt-font" = tl."manfnt-font";
   deps."marvosym" = tl."marvosym";
   deps."mflogo-font" = tl."mflogo-font";
   deps."wasy" = tl."wasy";
   deps."ly1" = tl."ly1";
-  sha512.run = "e575255e24c9be8241f9202b013b5ff6aa0cd055b9e6b1454ff0eba4145a2a234ee974be899edee595c2cf6f7adb8911346f208a290eeef47edfba2d1bef0cdb";
+  sha512.run = "214ab897d6ecac52278e3c63e988b0bd0ce146f07e9c58076e2c65bf6a7bb1a34d66341dc88b572d4549182a9a0b9daa51e91ad782ab41f7eeb7a6c2dc8786f3";
 };
 "scheme-full" = {
   stripPrefix = 0;
@@ -23662,11 +24275,10 @@ tl: { # no indentation
   deps."collection-publishers" = tl."collection-publishers";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "79d8fc33e595506fb4a3df54fce72022281c8b7f2fd2e002bca6e1369bcfc12f9b98a872f64170d7f7d5c482361e4f00c0394b26de4b9804715b674ed309aae3";
+  sha512.run = "c5aa68661ccb1ef57e039e923397466c46349a4b52e1a282d5fa0bc466de382c3d121f69954a28c6345e0f02386eedd915c5abd8f0f0e86ec295e30b325ba9b7";
 };
 "scheme-gust" = {
   stripPrefix = 0;
-  deps."FAQ-en" = tl."FAQ-en";
   deps."Type1fonts" = tl."Type1fonts";
   deps."amslatex-primer" = tl."amslatex-primer";
   deps."amstex" = tl."amstex";
@@ -23700,14 +24312,14 @@ tl: { # no indentation
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "4c962883f5a5d723a0aed753580741c2841828a9662641893dccfcc70fab1d90d7988975de9a8c3061825fbe44977607b374d25bd4c57fd27566c16f65aa8b12";
+  sha512.run = "88e35f41d2984e4ec6672650df5708e553f830ef5c16042613bc412aa2a62a4af6f46f80825dab6e50fbc73811c2059955ae0de88f989b170681c7499944ead2";
 };
 "scheme-infraonly" = {
   stripPrefix = 0;
   deps."kpathsea" = tl."kpathsea";
   deps."hyphen-base" = tl."hyphen-base";
   deps."tetex" = tl."tetex";
-  sha512.run = "3aa8d9b098cb6a84e6c864589387a19032c6badd2eb1fa1920ab3477d2d5ac8179e1cc38cda032bb183dc3a284c7afd23d825e337e375c54777de32437439cba";
+  sha512.run = "f95c49da292bc4eb602fa20bb8bcdd148eeb883db9673665b3cc23f010ce31cd09c51af9b5df81ba0e79ab59a0b5f28c2f854ac6dcde4e0f7c983b71885bc1e5";
 };
 "scheme-medium" = {
   stripPrefix = 0;
@@ -23733,12 +24345,12 @@ tl: { # no indentation
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "6b4c722f7257406a16daae92e65ab28dd36849af72f67bf837332a94ea871b1e015e4f580f8e614a491c079f93b2c37f3954c6a746eede60de6a66dcd6e1ec70";
+  sha512.run = "cc9bd942db4afd9d1d15ccf20e2d404ca61d640f6c04058a876cce0dd09e1fcb581e8abd7b61ee55c2ac8d583c508e9f0461ce199aa7b38bdb64856afb8241d2";
 };
 "scheme-minimal" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
-  sha512.run = "a63f63a14bf5b3e12dfb49ece263f8fd797b71d0c88dca2df00cb988bf32cc662978d0abfd669cc616a3216ec021b38d62de39902d853de27087219faa5aa66b";
+  sha512.run = "8ae04d142c738142753b4601cc327721cb59689948c2c953f79ff1c4364aa6a449e3862d206223ef1ac1efc3fdfdb1f542c32c8049327662d4ddbe77fe7edbce";
 };
 "scheme-small" = {
   stripPrefix = 0;
@@ -23790,11 +24402,10 @@ tl: { # no indentation
   deps."hyphen-spanish" = tl."hyphen-spanish";
   deps."babel-swedish" = tl."babel-swedish";
   deps."hyphen-swedish" = tl."hyphen-swedish";
-  sha512.run = "7dc94de0576778302e7446bf35117833d5a8cd99654fc18f7f7fb241eea269a317d28fdda9044bd72e5defd0b619864b19b8115034af0fcbf1c4f3a3672fd80d";
+  sha512.run = "9d6d9bdd5bb55deed726997629d69927f8da7c8eacae1b87c94c94f73ae90d68024fef2e29aa7d652d3e9b4062801213f35e91ba999380bf3ba11bcac6280581";
 };
 "scheme-tetex" = {
   stripPrefix = 0;
-  deps."FAQ-en" = tl."FAQ-en";
   deps."SIunits" = tl."SIunits";
   deps."acronym" = tl."acronym";
   deps."amslatex-primer" = tl."amslatex-primer";
@@ -23855,1906 +24466,1965 @@ tl: { # no indentation
   deps."collection-pictures" = tl."collection-pictures";
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-pstricks" = tl."collection-pstricks";
-  sha512.run = "3d81ac3f87da79f5d8811a678ef944db5e0332b50487146310dea22adde338d824564c987f5f931ada8f3e7754028f2d320c5639c61fb194fe5b8fae6497f439";
+  sha512.run = "bfea4a64f5197305d18b4c066698cc19f49cbdbad180d2e3e5a3f3efce228868b184fd72d5be842235282ad1d85cb8b77c59735ca22f9c8714fb75f5f0b8c3a0";
 };
 "schule" = {
   stripPrefix = 0;
-  sha512.run = "fa7bd660a2b3bbbd35d00eb93dca6830ae9aa5abe8e3a1a2ba358ef296e17d8d6d99cde09258b78fd870b77f9967b372e5a5d9b4719e20daa778cc1b18149840";
-  sha512.doc = "0c01fd17b4be2a227c5c8fa98857b11083a91fea5ea8a76c6e1b7f361d4df678783948409e444684683a82ef939d7fad80eb6bf1830da3a093176ea2bbcbfbb6";
+  sha512.run = "8f59d31e7bebb741a7c23c2559f0e90979df2d7ed1482d3dc09a1f5fd95ba7ee358e3acfd5bcfe0a708d36cecd4e36b226db4addcb007168789311758a444bc9";
+  sha512.doc = "dbc4cb7922524e2a73c56861ebac5487b508016107bc7c2a104d93edafa816f27f84a142bd0d228aed008f85ba7aab53b694771a001657ac068db169b87b72b1";
   hasRunfiles = true;
   version = "0.8.1";
 };
 "schulschriften" = {
   stripPrefix = 0;
-  sha512.run = "48383258904947223f8079e39810a6ca0a53df7de8b48c551edaec9a4190b6bc4c4e294ecd619e464b0f95adac4c6e4964d8fb3ce80cc3f6edb04905b1b1aa14";
-  sha512.doc = "3b98b93ddffab0865bd068bf3391686ab7327d9498ccc379a0591324be268cef6af05c815eee32c696c24df342abcaaf4fcdcff68e165992ff33e091bffad64c";
+  sha512.run = "baedf984b1d1cfeae56af4b9530b81d90653eee334a90f2a9a83a871240592ed6267668b6974033cedfc1e73166232201eaae8e4876d38b9fd94919e8262336a";
+  sha512.doc = "b43f16b38c0417b074b7f45bd42290f3434275c23c6031f293101d907c2004805168d86137190300daa1ca62dd1b25cd2f795e712868b36e454cda134f680bbb";
   hasRunfiles = true;
   version = "4";
 };
 "schwalbe-chess" = {
   stripPrefix = 0;
-  sha512.run = "24195c280733daea15f268908dd576d9ef3bfaf437e517ff0f972e192b726ef2589a4f5d387ae52268f7412c350030fbfc9c55b6b4680d1ba43ffb61a926ca8f";
-  sha512.doc = "f19a0e129ad0a338f8e5600797cc89e15a79b999ddc8136200fae35ffbdcd06e0e2a2e606343865575c0d11701a3924d70a24082774cb87ab3de1a14fbce0c19";
-  sha512.source = "8cdd31adaa6023153b0c89ea5920f4c061500ce59335bb72823d651e18f8811927e4c1af259b4099f147533b9686ba9eb9347174ac3d413540134e9fc1d5b3c0";
+  sha512.run = "aa32ef2ad2e939250a91d9c8a8278f640f6d3ab935dbaaf0684f299331d336b287e7a6b6330f0e232407ab4af6371d2feb2666a92ed5d962be8bc1e07b4cc811";
+  sha512.doc = "ef7d55e273b0b61c94e2df009976f636dc67939555c67a3a79f0df4e76a5d1f8db8474506e16041492ea6e4588972a375972bcccfbeccf943dac664efd48291a";
+  sha512.source = "03c43c6667646c44f40b553d8af01a3c463142ec442a1979552186f34973b4e0e4058407e159b89969d3b5bd1179bf98f4dad2257bd9343b5c8d40da53547174";
   hasRunfiles = true;
   version = "2.3";
 };
 "scientific-thesis-cover" = {
   stripPrefix = 0;
-  sha512.run = "6d0704de435fe5a3df678551ef66b7b808dcb48863b4fa3a43bc433f20ce12b790e7a41f42ec505f41374f2da3c64f9fe3fea113869e997419fc667cc52d2d56";
-  sha512.doc = "30d7f539bd6b7a42d2a6300dbf2fddef2f4f4929d9ebbb0bd77ce7c4b137a44d5cc55e0b6fdfb9424d9379b2191ddb089ba2dde93e14815d216aed94d3a18d7d";
-  sha512.source = "a7b7e08990c6f8cc87ac4cd8ba43d858652d96a842087493890bd4ea46a20e54ebd6435995d6ae28d4aeef9806995bf22e3435418c4f58d4ed1f6bd165949c9d";
+  sha512.run = "2427c534ad767f1e8f319aa24744346d4a0a39f73d93c779dc89d3cd0abfd683d7a33c81026c4a5823ad686084f026193c917ff173d639dfac2c99350a819c59";
+  sha512.doc = "31bc280c96b87b079a7dfb6a0c2ff1a03f80c5a047bc2c11b9fb192c50b8e51a65cb3fd5c043c37124afe2383a611f38accd91d6202416451b3eb34bfe855077";
+  sha512.source = "ac14306fa7591f6fa684dd8fb6d7c7335b6ce5c8e3099d80286f05a9f378b4d430b1210fec9c071aa8a4e430ff6cae9ea712ea504cc575e89b02751c02e60bd6";
   hasRunfiles = true;
   version = "4.0.2";
 };
 "sciposter" = {
   stripPrefix = 0;
-  sha512.run = "f8b052b8a894ffdbd2c1934eb9742bb7a06b1d49e9bc42254fb69f7fa5564d97b636ee4cfb260ecf1f88f19b09f62394e283407a0aa10b47fa969af1490cfe30";
-  sha512.doc = "2e539b0e604fc209be6ac60b136ed8dfe00fe3090bde1786e0eda8445c32d9c55617fb84b30dbf47779203eeda7c27e04bdd15bb4cc662c373df6048fb24b39a";
+  sha512.run = "1a4292c9fb6dd8a8780968c69ee70a88dd5d1c5d81df9a32e22e08c9115528d8af634a1681fb1672664d57f80ab333a1b811a9c0e17597afdc358988e14fae93";
+  sha512.doc = "6ea102c2318e30080224684693806e16008f946a01fe9e1d232a871f231100d1491324a3ab0260746a61a10125afff6b20072c1a49c8da279a4c0b477361e46b";
   hasRunfiles = true;
   version = "1.18";
 };
 "sclang-prettifier" = {
   stripPrefix = 0;
-  sha512.run = "8e7bdebc613de7734485c01547dae096d65f534e13a8e1f4a08e7e6594b2f4d67d2c82e5a0a477134886b54c2503afbcc3c30ff70cadf41698d57a5662f17ec9";
-  sha512.doc = "ddaf681e4e7d6c0d073f122e50c311b5422f0192e141bd7ce68db0af0f87bb14466fb8b6e51186a51979984120a7ea9e18996d7cda4857b000b56f08bd411c4d";
-  sha512.source = "870f468cdcba45d0ad83b08317e6aff8cd164bcbc2f0add0795624c63f6bcde7846efa0ff3bea78008ae3eb6285bb9e2278b080b0b8d2f0b1684ef246e7d97cc";
+  sha512.run = "77f8909b870fbaa4f1a0414f75f08ac602051d26c0c935be8661be8820a0b77734b614b9f5c8333b1f1fd12f57a6ee3c4c403f151bc60300e454673a2a4235c2";
+  sha512.doc = "7680fa17762f17d2d7f3c9d3062bd194394bbbfbee36e4704e8b95b2be568cab51fd1dac9d90c6034919b3ec61f75f0f7689478c16f53ac7b4ee820768eaffa8";
+  sha512.source = "8a9188cccf4eece9844156747bdf8414bd42227cdb64ae79ce2e95c729ebed16c9af14abb943cb1caaaebb693bde4d39e39d1302afc0595444d16b3bafa98131";
   hasRunfiles = true;
   version = "0.1";
 };
+"scontents" = {
+  stripPrefix = 0;
+  sha512.run = "87e9eca9f88ba6090728df86005f9a9fd1cd82156b9a126ddd6f4f9002ef978aaa846139106ce5df567cf69ebe69f05a104fe4b9c31619e0776510c43778e97f";
+  sha512.doc = "0c1195c5a24aaa7ceb52f53ef8cad4e496a765c7328b0f70ecf8ce1caf9d28b71634f4900ef83c02bb31212704a26afa5bc247b79e4290fdb64f3d89b4b43c29";
+  sha512.source = "555bb82c5173ea46ecde8b4b8f58ab523cd30ff7ed8a4b37ed70f1113d2c00f6cba30d9904a384f3508ad7cfb45b32b3d6bac2c645c0f960b8f2ade65afff971";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "scratch" = {
   stripPrefix = 0;
-  sha512.run = "fe38eccd1fd70738ac243533855f601fb2787c4d30c3ff20bffdfb3ca2ce5c8166188900634c5118caf28a25f01e96233cd89ee795aa7bb7e6bbc7593cf0d73e";
-  sha512.doc = "1aa382e68e11b2465b860ea200423f292d49ab56c6ecdf6018110fbc8a46be79bb0f2137be3cd83eb1aa5815cf79544db1f1b4843e4c95bc61939f3efc84b6bf";
+  sha512.run = "fcee832dbad22e76387bbd10f7ea8e3127a6fac45ea1b42feb183506cd5c89c258cafb052d75e4d14b431a57e638fc84fc751bbb8fa700420197a0d2e33ead48";
+  sha512.doc = "af7057f28ac0539a555db5774d3d29e01ba10fa78744712a5d76f95229c45022f682c321a551cb5070ab3e370b2d9e861c0b04b73365e828fe665b3f8aeb7730";
   hasRunfiles = true;
   version = "0.41";
 };
 "scratch3" = {
   stripPrefix = 0;
-  sha512.run = "3d29c86b7d248fbe02649dd02dc65e855fc7717ae60dc2588a9860cdc2f388b178de0203702ddbd3f5be8e2c6070bc415407d042c38a416325057b3584c6dd6e";
-  sha512.doc = "b1be6f6cd3d5a0a150a60fb2af8e1b2a7485a7f532af7781f30b9566cd284cd2bfc265aad7be34e00f9468560c902497fbb960f163c528338f14f0b2f9faeb52";
+  sha512.run = "042ac97a5240c259f00f8bbe4c25b0886636b49e8218ec810306cda99525552bc4bd6f4a7392db19d45805c50866c7f4cfb299e63b8296d44409f12db3e3383f";
+  sha512.doc = "ea7c2ac340fb69bf779af2948e684ccb73f0234ed55fe2d8260fe8b3eb94c7c0ef085db83f94f81fc19705b2d61c1697ad9ad1dd39d8aac343d16ebdb8e20ece";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.14";
 };
 "scratchx" = {
   stripPrefix = 0;
-  sha512.run = "279d630387571db5e8e2c7660d1a59d6090225d27bb195e78393b45e8876fa8a1e890287c5459a72de75f66d4f56bccec0b5b6b532d45b88603c511428b41e20";
-  sha512.doc = "8fe347f23dff202b436c2f55e65c420063809cc9d640b83ac690c0ea836f4087803a253d26a37e2f4e78d051bf7da57180bf9fa924bd0acbb6d5b0a2cc2f0f50";
+  sha512.run = "793c4e96cedd97ca37b7906b6a9e78bb06f39572ddfb57d8e4b54dd9b2846b31bbdd835fe1a93517d1430448571a30d26fa8ad7cad0aa3fab6ca526bacb605b6";
+  sha512.doc = "c87994e90a748fa8afba91b443850a2d9f555ff4ac6b264107b42981e078b6966e8cbffd75f071f3f69a78c9b9aa10db65c3e855a4920f3b732446df01da7d6c";
   hasRunfiles = true;
   version = "1.1";
 };
 "screenplay" = {
   stripPrefix = 0;
-  sha512.run = "8c0baa21ea50e77709b8e78fe853b4a2593c014bd409ae7c71cb918e3831baf16c0483ec589cdbd9a7d68fde8ffceda8dc99d02e86b7d51e8e639de358f3b6a3";
-  sha512.doc = "6817a43c3ffcaf748d2aab07dcd7cd703ef35d425b8369d7b5923b74f1075ab57c278fe9d59a2370ea229f31e88813dc6bb5cf9004c42d5a475da02d70eaa0dc";
-  sha512.source = "da26ff7428b3ceaba37f5f0d8651e72f3d2bf86776a6ad20b5317fecbd10944732a06c4f8dff2a9fd2d9943552d6d26ccaca19771a7a866338549382bfaf299b";
+  sha512.run = "d14dd76c4b1abd9ff7adbef7e4c3bc1f732156dc2d989787bed7382e0288c44dcde18ce05143e6af03ebe83c753bd2b6682cb4f56c73934ca4209a114eb9e3ef";
+  sha512.doc = "ed723ffc17a98c8d4a8c960f56a3550ea74db84fdd06d26b08b5c46b12310fdb9b7b7719ffa25e8ddd21f17642f5f64f1c96327066a131c468cee8ff185cb199";
+  sha512.source = "f6ada6c467c3a9d11096928dc31c7f71131f0b40146a697bda2a3e194c86070a776323c76c8b6da0edd247f8fcd1a65c286801a7353bb53bc6aa364bb7a75944";
   hasRunfiles = true;
   version = "1.6";
 };
 "screenplay-pkg" = {
   stripPrefix = 0;
-  sha512.run = "534726f9dd1c393ab897011a0d37f509e07a90933bc5fc5e80abd31cdd3f439d6679302f1e458528301088a1cedce09c15eeb6fe1bb7f1b0c5daad9e5bb78b6b";
-  sha512.doc = "bff468dc22f74a7cca86e3ebee672835062bb682fcc91170e3bf3d359c908e111bc1e393f0f0c134aa2aee620227ecb00e5869d1ecc2494f55410cfb879c3340";
+  sha512.run = "974795ca0b4a286077e38f4b3b120cf9fe243d450b87b8397adec2c5425b865cdfbe70b86b815d513edb6ae7051d9ad3003fcd6a15b5b02b624dcd4ee0534164";
+  sha512.doc = "9aa4407d1b317442dd76f762af5b673460bbbcec89e47835521688085183e00ba9dbb70dc9e86a95235bd9a32da701c846ceb2985dc70894ca8abe334428a532";
   hasRunfiles = true;
   version = "1.1";
 };
 "scrjrnl" = {
   stripPrefix = 0;
-  sha512.run = "ba9db8280b2f80de2708e51a4d302b36d292d76a1de72d9021cd559ee60cd2ba4504d4a388611c074261736bf4a16fd6bad3824b74a521d753f7f92a4e3e27f8";
-  sha512.doc = "84f6fc697d5bc7ee87fa8410b11334a2ecc122363afac29a57a25e896b3a718ae0e1b9fe89213797a7f1f0d4eedd3cff9e3da56ce110b472e967e3bb3f5724ca";
-  sha512.source = "3d6ecc90397349865dec4c8a541d6a259d70e8f85855c164a7a4bca91bfc3ba6e7d15fcc88a2482e34845adeec15239f3bc8d8249b4854cb09a075b74a27c1b1";
+  sha512.run = "39198edddb3a3ce24bdc0d9cc6f5d7ff204b142c200a9ce36060bb016f1e1e1750b83210a91f1eec90a205c5a4923704bdc0e44876c462eb768355407597a05c";
+  sha512.doc = "bf6dc1704ce60f9323b68d39502fe95d4eaf8409bf65c278e64deb1ff80aaa84f16e294ab08629466b6f8c0ca02ec03142abdf3fe0a43f862352d0ec55dd410a";
+  sha512.source = "05b0a8e50efd2f21699c3bd476cd308e02267a6dc2a9cd480e0f7b2e6d9633c830927c54eaf75e4d329a8f6a8d3993782ecfe2add7b450016f7e7bc92aea1b2e";
   hasRunfiles = true;
   version = "0.1";
 };
 "scrlttr2copy" = {
   stripPrefix = 0;
-  sha512.run = "0be35ffa4b9b3a7b603be134bd131964950476e90842e4f6f9db9fb68255e3eaa8c6c47d9387b3c713357e72c927171a2f4f34f0c5b4ec38ed5faa3a28781415";
-  sha512.doc = "3f41cf1545e3cfbd383a98dc51feec57580065751f1ce9aee8d9db65e754bba4870bc486bfed9883f81fb7a47cb2aa49c5140e2841865b3fbfb525cee11eea19";
+  sha512.run = "7aa7ac841d667e627056ed0ef3e55368f580e9d8a35a35239780b12d0a18534086844009ba1dc40a1b6ef29ad64d06e1e2e8ffef216e89c15e684975acd87192";
+  sha512.doc = "08e87246b20cc0ea9ed30cd74993aa2af520d8b01878e1f54c802b5beef4347c087ec36f32220581eefe933a524c813ec30b3235989453ff8b7be93ac35b725d";
   hasRunfiles = true;
   version = "0.1d";
 };
 "scsnowman" = {
   stripPrefix = 0;
-  sha512.run = "c0fb2971442ea60f5a631a54021551408293d29f7aa6e3ae4d15d9312922a690be40c33b4fb3bb04d1600b7677bf0d7d970a3a0aa4bb2e25cdbbd6c136286b1c";
-  sha512.doc = "153f8b9578969b7c2622d0c18deb5561ec0facf2df175a2ad0a2460e1e5d37258a46d234c520a62cb15e49298f5eacab256a2c3f8656856e321250619718ed05";
+  sha512.run = "87f207b478799ed88deaed71b60bced2158d6bf4406e6cbbd533f9110004cb8ceec71ded31d3706d8033bc53b1f0f31cb25877af9c58d27a5f350ab79572328b";
+  sha512.doc = "5050ca6200a7531bfbc31dfd9f06d4b6503e832fc09a7132ec76a5ebc09bb0fe4743ef09740ff9646d4fe93a31ee9fcdef6091fc5c50e379c86d529d5df51f25";
   hasRunfiles = true;
   version = "1.2d";
 };
 "sdrt" = {
   stripPrefix = 0;
-  sha512.run = "04e621c8e8bb5325de61e285597ab7c7eb9daa62071c54aaf830d7c8ace87b67768692759aa0c7d89bf1aa51d8e9724c32c67bc3fe00f4c413709c3caa2f13df";
-  sha512.doc = "877ab7829be2c25a53352c2ab0d6367639d95e9bf8d5d82cbafbbfd46e02809441dd83c369b59d8a355f2692b7af35b3dde25e5c4902608c779b9f62517b47af";
+  sha512.run = "6faa9948e5bb4369fefad7d2b1a5f2bf39baf8b98e8ad3b8f61ade2001b431894ddfbd61e2f1ec73ed767b102f79f8357d965a5c3805c082d8d88bda29e10c6b";
+  sha512.doc = "570795dd0c4fe0450e628f61e43d05f3e969488890eab2ee1364712e812d839c7b3185c7ddbd27c44c486e234afe36aceb4824e828cb0c9253e8e5479b0b6c15";
   hasRunfiles = true;
   version = "1.0";
 };
 "sduthesis" = {
   stripPrefix = 0;
-  sha512.run = "380db9bc40c80157ab4bf11151e9c02e1b1f18a6d3472ff95df350e5c9d191cd79b74a7578939fb2f23b86cbc1e814f9ddbad8f51bef8acc72fc53dfe016df27";
-  sha512.doc = "87761b59474d2ede65d360fa2448b04c6aa6ad09d3325522441ce5efaa81a7bbef8b0a0d86d61d6fdd044c442f5ab69db53b6bdf15f98d7b5be4baac5735eaeb";
-  sha512.source = "f7fea0894cf355b288f76c744509861deecef316e3609de3f9f711f75070ea0b8e4b96e47e56b224f3fe63a4ed7462bd5f809b0c8be9d2cc1087d14c769d4a08";
+  sha512.run = "10f1c0a749b9b30dda0e1c7dce4ef2fdd29220b4d77d03b8e71d8c3a460a73c98f8d16e27e6bbab07a66bf7a23cc9d3bf2b12db523232df1142a8563e0068ed8";
+  sha512.doc = "afa02606e7df5655ef46b59e92dc54bec9e8f05deb1d9ecd8a0546ee068f2595620cc8dd39d04ea8db53ac7f2e9983ff01ac2646b6946fd3619db64a0bdad332";
+  sha512.source = "2c4dddfd7a6fa27ebb4e48e61f8d2887e116eab174e13d9b41efc9b7a3c2f5d5770f000b4acc4275fa82d54ad5ef2129bf614478d11b24a359a38a03d38caa76";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "secdot" = {
   stripPrefix = 0;
-  sha512.run = "e2ec06c1627c012fcc48ebea55c7d0364c1a11d1e5aff9b01e9de51ef9334a0097cecca73a90bf5e40520c39bb5f8a68adb015b1b794be8c09ca21803d5bc851";
-  sha512.doc = "f85845d0745038418cff01e6c9fd2370275b37c5306bf2e57bba824815082c87e407ea092b522abb467162e389ac7e77226b1dc71133e9dfbbf830a3446139f5";
+  sha512.run = "7fb101dcd377cb5e3d1dca352d266af419c6fd83e4f2d1701a3d598e69e8e7f70afc9791a76337f4833da612cf07989ef244af1b24eb62ee59dd5f76225aa037";
+  sha512.doc = "7ca1b4102c6f92bfc6dd0571c489852dc5c1df4a58530aea490098192ee256a4df7e0bbee20adff78c2b35dfe39b8cd3f821c5e45dc6d78ab4865b6f08ad8488";
   hasRunfiles = true;
   version = "1.0";
 };
 "section" = {
   stripPrefix = 0;
-  sha512.run = "1ef93a2a5b37b673f128cf1d0ef1ec07ef92fb612a6a03a5ab6cba33542ea86087773780dfd0ecec2873cfc0c26e3ac7e074083731253cc7183523401d07640b";
-  sha512.doc = "92f42f9f73e261dbad1c7276002ff55fa6c33b3538255ea6083cbecfbabaaffecf27d0f9d87b35fdbf97cd49e663ae52ab42380fc358ceffb2c40b6678f9d164";
+  sha512.run = "8b3eaecd49f8b7046bc35df079541121d76757bc2a1b6a6ffa24357a20e9ec4bf5a7b65fae1673401ebf363e46ecffe3c64a2de9aac104594b2b111cd10426f2";
+  sha512.doc = "91defb5391b9e607cfaf74ac3abe53127ddec379d7a7c052f5c8f776bcef1728010a94ef7b590ddac8df140ee11fff4fd843bdbe1a13efd322a9a939ea2df39b";
   hasRunfiles = true;
 };
 "sectionbox" = {
   stripPrefix = 0;
-  sha512.run = "9f212c2771464064809aee7d7a57b1f92c09e062bdeca803329b06a951cd5bdad2d774ccd82616dd35a2febaef303cd4dbc7309852f6c77d9af7b6779c2e0bbe";
-  sha512.doc = "16cdc44c2f8fffa500e698f9d28fbb623a47800976188e6e2a0e265261c6466cb23021d77b1c738fdac28e9be7417090f210ec0339c1d66f5a5adaee72556d48";
+  sha512.run = "d1a4da6a59c0411baaa785c58350c1d5be9c1081e0344d8a61fc009f49a1b751a09f358ba1baa3b645de4eff7d69e3781d8b44d90738105c0f56723da36efdb3";
+  sha512.doc = "80ae58336eabd8169781c3c30b42b2583f78ffa4093a7d3f9d9e9c6e31a3fb8f457fd42d56f2ff75b2ff3c38b537642dd6f254e54b3112538657a37b3b4e0410";
   hasRunfiles = true;
   version = "1.01";
 };
 "sectionbreak" = {
   stripPrefix = 0;
-  sha512.run = "6bd3dfeae0144ee3cfaf775c6847aec0882ac62bf57df7a6684d3aac9bafba844fd3ae4fecc826c86bfb110dfea2e061d84cb22369fe6a18864db97abd69cdb6";
-  sha512.doc = "9d25f1700d55950fe2c36ceb6551a8364206f2788e2a406c76f0fab06214bcfc9cd9d54f29ffe49185e64574ae44da01c40f55974c7e41b3c26f8f516db009ff";
+  sha512.run = "4b2c26642ba346acce5aff9678bf94f76d85005464f80eaae862a522bcbfa34c1671af79671982a91208ef104a21a532d851dcc785b5c40de4fe462d12488832";
+  sha512.doc = "a98eede394708bf612f593e00c58b5500a35b5173381c1f149d0be29b49fe95f5162602177b7d4f23c5b5312d7cdf47ea6ced8bc285853d2b7d77926a6ca66b0";
   hasRunfiles = true;
-  version = "0.1c";
+  version = "0.1d";
 };
 "sectsty" = {
   stripPrefix = 0;
-  sha512.run = "1b442df1be18f55a417a30a7fde6266ed93d305694778e0fefd85cc83f17839ca72155839b696c0c0b63ea59de6f35cec46c76c709d142ee3296b1ee5a86f4b2";
-  sha512.doc = "c0a3e87c7aa57797d07024b58845d1214fa04bde59eb14e27424761b2dcc616af9836d1bd7b291d00d2324812d21b8881aa0e223b050214eeed42fe24fdd657c";
-  sha512.source = "9dcfb02dab0cce980c3c19bb9c8978b80fe5fa5c0fd8468a5a2a9b103c91d6b489ff76d84defe990c521212c30f754cc6e31fac21dde67078a95c6600a9ac3c9";
+  sha512.run = "7e164b14f29a385f8a97e09ad124c347a154e316ac2eb41e0bf9f161d44f2782995fe271b5472ef90dfa4ffdd5495de81090b44f5777243ea76c9f75fcbde2b4";
+  sha512.doc = "69d7fc032c06d015d7a6e6d2273c5240b146062565882fca0ddf5b7b795b788207bc9b478366a0a40e4acf223b07482f5cf41a65dd9b37047bcbf12566f6a826";
+  sha512.source = "fc79d4c7c437d9c5ff7d8dc62439242cb772f250527ca099cd1180e58742a9ff42e7c63776c24fa5563c95b5d2bccd97df0e1c086869bbcf5ff2ed8ff5297bf4";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "seealso" = {
   stripPrefix = 0;
-  sha512.run = "1a8eb14820aff134ec4acb3ff4ff3c60061b4ee24868841935374ef17d32cc0ee506a801df3f5cc9717644ba390fc26ac553eb8090b4e2e62865427cbf2a26cd";
-  sha512.doc = "411c4a85e94f0d1531f483de7b815fea9ca86f3c95d6f6f66f3b0f12a78b4cc9003f623478b2509c8c100c77dc20455af3f571bcca18f203cbc66e4310407f24";
-  sha512.source = "9d379f6b22a9e374df999dff56de2161bcfdf21b68ef508af37f8b7cd2e521f5cc656cbb6d652e1038d32691600e8a6896c76c4df2f7ae7c7ee88c8b6bac4d84";
+  sha512.run = "4d52687aa57245d3be55bf486b100d61fe2e2d979447c2f123f566c3aeb13657e531ace55fe5d00eab57cebe89cfd3729a71dc7177831b5192b8c0fde452d7df";
+  sha512.doc = "6baba95b6b08ef95f2966d227161ea39a4084b46371967057266ddae155b115fbe4fcf148e1afc4629e33f54d0329ebb6169f1be4fdcb801d869b212d056cc61";
+  sha512.source = "981ed17cba32b2bdc4848c099038193dba2b39d04210cbb2851400044654234c75c160f9c775af2fad6b76b80c85c782fe6ea75a61728ab67193dcf414b0b4d8";
   hasRunfiles = true;
   version = "1.2";
 };
 "seetexk" = {
-  sha512.run = "756fa2ffc5fcfde85619d7a2ad063c67016e161cd576d95d207a8411c18b6c7226e4a1bb4a3ade01920e6a2f2541c353f3fa3d2cac14c63ab1c01788b839d170";
-  sha512.doc = "43864bfd3ebd8e9cddb1fac976a131c5c3dd6ea223b8d94176549419d6bdf3f106aee41e2cf3234a22384fc0be52cd6741a75f044ec2f1eeddec26f087a664bb";
+  sha512.run = "b3dea76f239ec78da4eb15d4bea4dd1171c3193e9d9e82a1ecc5d5ed747e421a7a3dc96e422839772d2f825e862b8a71befbacb7cd816405d707f654c7e5a32c";
+  sha512.doc = "39504cee7a077e16d10b2d4d1f393b1b90e7c21c7452f761dde1117f4b8668962b1baeac4b834b71b481fd170059e4e60f2d529e523e40503d26704ff15a7dcf";
 };
 "selectp" = {
   stripPrefix = 0;
-  sha512.run = "412e476d7c51affd75e01fd7c96f726e607e813287f71d54924fb39b039082d289053cf6a3954c282ece141d0be802a27622578fed91495aadae4d870a400d81";
-  sha512.doc = "2586950165e4f7abdc6e8403a8b39e304682cdbcbe2c016efef7cfe494a9fb6feeee8039805af0be33ff23d97f43cc5359bbcf3105401c2086f85b9238b36cfb";
+  sha512.run = "1674c9c9d7afbc851f8c4fad1b46a1ec18161eb48375d892c947416ee97791addf92f75a69090c95a0f08bbaac1a7a745af93a7bcf91e2e0f8117ed3f3106dc9";
+  sha512.doc = "7c99f0400841cb1d88af4c239f43eaec7c0b2358c2e581866d4361cd86b9eff413bc9e07d8df630ddff8d4f37193896bd430f4c357d9cc04591295f18ebd09aa";
   hasRunfiles = true;
   version = "1.0";
 };
 "selnolig" = {
   stripPrefix = 0;
-  sha512.run = "c267f6c6b3095566d444c99adebfb4da58a39fe5870ebf63f5f717ea71f3285e363ae995cb474023764c19bf7fb02b676ffffe956a5e3151b9f7314ff335f159";
-  sha512.doc = "0a91e2b1b91b33a6a363c7633ad8371ddeab0f16bdabfd895105d7a08a67a7cd8d3b6fd01fd3e2a053d5ca2051160b14d5fedbb0864fee7e532833d9ae5cd040";
+  sha512.run = "8b01d1b6f4e6f83efbfc603be7c510d3c8435559b1272f3e8beae7d0de04ac889e04d539c689abfbfb8af5ff2d04c38459320fec333a122c3b60a1a79a0b115a";
+  sha512.doc = "afc1a84aa85f3da5e5d121de0ee37f5347527985b3a9ae75abf0e51edc1d5371e831b5ffc7218d9863b8ff717554c6f469adec908f02f5d9be3bd4f6e45fc1ac";
   hasRunfiles = true;
   version = "0.302";
 };
 "semantic" = {
   stripPrefix = 0;
-  sha512.run = "4d5ce32ffba5d0733dcf65495b131b5b3eb5f4ca3f58a5deca6345382db422e1411c48b86578cc2ecc48b38a007e781c11ceccfdb1b6523bbebc04bb32556b71";
-  sha512.doc = "8e381764fcb23c40db87146990bb81499c5a6ce7d825aab6c93acfb4fc2b54e33639469777a47917d4a877b435721197ec1da14bea1d2e55d425685370f0544a";
-  sha512.source = "5fecb6ab18b77722a7f48b1b720fa9cd1aa995394262cf891e4bed160bd4f7b61db8777a4523c85d59dc609d5c2a2b7b2c4ce1655affb3e162325def3238e669";
+  sha512.run = "d49c22d4982a33177fdd73c5ff15a68e663c3ff1ec9a45a40e5a8364371a25b536dd6c1dd963296ae998760178833b5f2c357119f41e7bb5a72061f0f9ad23fa";
+  sha512.doc = "21e9a7efd9fd6dc28be30f284285cc8c13b266eb03c9212b30f97b761c1383e1fb84a18e92437d331d3963068a68c61276cc1fd3446807bedc954a490fc490aa";
+  sha512.source = "4d513b6c9b320b9ddd8ec92fd8eae079134d351170122833e99557fdec7510938d8ef856c52e0a862a8cb8cdffa3894c160dfe085452e0cffc49db4d3fac6a79";
   hasRunfiles = true;
   version = "2.0";
 };
 "semantic-markup" = {
   stripPrefix = 0;
-  sha512.run = "41b176ec09469f8786062a13975680af0d7b66d6becc42840aa5e387af126e29174dd1ce3b555d4412aab87d884393bdc13e7151c6342cc4adffe8f7a26bd767";
-  sha512.doc = "24a68d36e6b1c6f7e873adb8483b055585fe37b2d970039ba8749ba0e2c782060325d6ffce0c2d5ef1d022c02222b7b4ba82ad12bbbe657eb28118270e1c77d8";
+  sha512.run = "e0e519f87b17fc26a3a30662e9ad5ee6637c2bc054c9d718925cb5b68e6855c1510ef75e8df28d09b676ab40e348b15b85057c6f64d5f5a7f526f84791e5c67e";
+  sha512.doc = "28c2448170a73203261c1762eab7b2aa176c7c798b2320592f6fb4863be2a3845c10df86479ae984d7279882e080addf0476cceb3507b8daa17c94606aeb93b2";
   hasRunfiles = true;
 };
 "semaphor" = {
   stripPrefix = 0;
-  sha512.run = "bd62567ad08af5b706ffd10273b6b05fb2446ee6afb00d804cfaaf0ebf0420470e9c4691afcb3e6eb08ab6e7a70f0c19ee7ec6559a07f63de7efdbeaf93dedab";
-  sha512.doc = "064f4e779538736806d2cf2b2096f065df7fca9bdfca1f5c782fb830220d84daaa752d15dfd7a56d891978f61a65389536feb5077927990aa477b8aeef614b95";
+  sha512.run = "b8741be1544d8ab488632e05464cf607069f0d09df7a727bc05d06175dc16bff461d551e7130e01edbb53863d56fbf4cd0cc9085c51186e19e5f2fae986b400b";
+  sha512.doc = "ef0c85ca5e86a17d59c03255d679d54cc8fb36eec02c8546f29e1c514408559788d1dbe3ac7565224b320b71e9ad77979b1092fb0f098a1c48c3a7093b72b172";
   hasRunfiles = true;
 };
 "seminar" = {
   stripPrefix = 0;
-  sha512.run = "b9325d50f47a2c8bcf875da1a3728d53e82fa7a354d6dcbc1282b45b52c311a303fffaac7a08c6726a610559ac6a736a0029379a3b361030e68dd746934114f9";
-  sha512.doc = "72a328122a0f599c875c0c7f6d6501f1a87ae612baea93c3ab6ccaa768efbe2051a5d3a818da3747dbe45fbce8af1add47ca778b9f0b7c69f8e36beb21fe7e45";
+  sha512.run = "63173000935f741b7d1e7dab2fa0091bcb758ba36dfca0b6c745ae165f6b5f3aeea7972319078f175e231d3e0ebd3454d2241a2bc4f0f36ee51bac7bb7287a56";
+  sha512.doc = "0bc4ea04a561c8a8c17f4f6ea493fa98e12e93cefd58b0aeeb0b09823f2b97028d945f1c9199fd1a5ab10e0b695079a8d97608474a4d04640496737640a9993c";
   hasRunfiles = true;
   version = "1.62";
 };
 "semioneside" = {
   stripPrefix = 0;
-  sha512.run = "5381ad475db4d8f052f355cf77284488f56b0bdb12229cbb9629ae9ef5dcb1d6617bb89b3e1f4eed1a1d77467a0522de9e3601885174445ab97e2e3827627b03";
-  sha512.doc = "076832a74ae8d80c3b66809f5231bc3692b3f48e9500991ba309cf9a477e1127521543513bffad7f24d1ff0b3b2fbb52ddb433c1b66a5932fbd29b9d429be9e2";
-  sha512.source = "bace41deafd8599d41daff4ce60fd01901331ff5c1b369f5ba57529789e24cebfbdaf142697d6a6dde629f63b5c76d4f30b6c47784a5c23546f56d36010d7eb2";
+  sha512.run = "cb3f20a7f766681f9b7748ea3a816fcd477e6685a159b071502716c708e0e1d5a2a33a5b210cd1e2a684a288d07079870ad243218dd74e80853a227fd445c884";
+  sha512.doc = "8d6b1ada214f99028ea9843b4d5a85a8a974a9ab52e8a7d9338d25341282d6f1c8ca4e7a24271ec20bc4be781f418f2ffb558ef4fe6e6f42d165bb24650b54da";
+  sha512.source = "1b8d0d90db12b52add0f7dae10cb16bac8a9260e0a6783762908a07a014dca294ea6c631ceac3a5d063705cf39fd1a57ce6b99f72c5da4d57d4a30cdafd25767";
   hasRunfiles = true;
   version = "0.41";
 };
 "semproc" = {
   stripPrefix = 0;
-  sha512.run = "b2cf54ad6628f84a177fd9e77c00c90b154b5c2f3b842bc4dd51ce586dca0799ac6f82af1945576219bcae6beb8f412aa4110b3479752ebd3bc860fda53b3aa6";
-  sha512.doc = "7f1dc62a21ca9e0fedc708c48381161e0b213df9473235501ca233bb33a588adc18461cbddf908e3bebf9ac25ae2f65b8cc41a00c4e168a82541e1356560e5fc";
-  sha512.source = "7b9ffd8366b07e54f6d15610aecbc9dd6177a3306572183e155ddbbbd327bfdc4c5bb2293c818e0a29ce8700d3479511f81926e5dcbb8fcdf5f0f7505ff131a2";
+  sha512.run = "ac78e19197af3c72863ee4ca94842d596189d37c2d559ac1254f70fda1011943ddd7ce17b48f183b839a6610f8d7dbded2a0f2a18453823a0c0044a70841dcf2";
+  sha512.doc = "2c7e2a40348b098037001928d6f21f5a66c23967dc63296ce26736b006a46f9d9536fae9480c1f0d0db72ed59973a6140471bb110702fd5cb997fafe03133dee";
+  sha512.source = "7faf073ad7da9627b59509f41056df76658875d04651321389b3ae789e2d704691e494726635161eeab97786b8c8d6cd322e3ba83b3e1a779ff3d10a752fb51f";
   hasRunfiles = true;
   version = "0.1";
 };
 "sepfootnotes" = {
   stripPrefix = 0;
-  sha512.run = "ddce5beb341eb7e2b2391b752d9e00355255e2d14985c88d6e60f7aeb4da3e18f93d3eef4d97ddb9ee9ed5bbdfda6e2097c5ec43bfaa6ae0f1b8633dc2fd3fbe";
-  sha512.doc = "9ebb95905dfeb04a7c6313ecde83b5870330b48f0cbad152d770194c65fe8aadffb3e69a29cc665011a1dc9fb64dee1893872ab1d59181f6872b838e3c082d0d";
+  sha512.run = "a7333a9779ebca371aeef0a1348968d8b4649ca037e88f6e8a6f5224d13265202c8de8d2ce5dd89de170ddc348cfb04f5df92e249c122a608efa8fbab4daba98";
+  sha512.doc = "eb7d70eaec4bf58c85964f7a3692da09894c898f712a119fc0ffa42429be2e53b96ed6f569fcd37aff170d2b953543992bcc693e264ee1ec542c435be2723414";
   hasRunfiles = true;
   version = "0.3c";
 };
 "sepnum" = {
   stripPrefix = 0;
-  sha512.run = "87d34c3d24aa96655bfab3f80c6da8a0cb95c011496f180f214560b34776722f8e01f6dc73afc65c09eabb26407c6e84416878606f1adcaca0b6b6c599b09648";
-  sha512.doc = "6c0393c241710a190dfa518778ce9d278c6be661c04ee81e4fc40383836d12426052aae3e438c2d8373dc94932eb1fdc20b9610ed274fccce6461191fbc674bc";
+  sha512.run = "4ba90558d397f0c047ffeb01620d2d5ed4bc38431ddbd75d9a381fac58360d78270b8f22e761693a8a39176d1ab92c9da3b6bf92aaaa90b8ee20490f5b70f50d";
+  sha512.doc = "080b081b101ea57480e4c958e997f5b10d22c5de56a60c1f415248ba0564046560650ae589b29c73d185fa88334a26ca3412e996fcc1214ef0b9d20e71bf18fa";
   hasRunfiles = true;
   version = "2.0";
 };
 "seqsplit" = {
   stripPrefix = 0;
-  sha512.run = "603c8b359f845e97203815adb4f9dad0ef134312b20cb868bb1551ae1519bdf061ecc40b59a482c578aac649886039906eecfc9c607a9c2d9f7e1dd6772b3638";
-  sha512.doc = "0c166c5b8cdfc4738415db14762a9d7b9f56445cd1f7fb8d3bb99ab94adf4b45efb85ce1fd534b70cb31da25da76634a59351854e755d49aaec6a2ccf235b0e7";
-  sha512.source = "00d88636c50351328748b444d8118728b8ea800e84c8f419294d1851fbfbf4e3c599a884d124472b09ef366283b604213e1e82205f36dde7ae50990468d46b81";
+  sha512.run = "02413d104e12aad40f093731e2d28d0354216d3d57e6f811609f398b8122bdbf906f78cef38f355562efb4e7df6dca314f8548d8d8c03a2a9404addc42f0e1f3";
+  sha512.doc = "0c49425b619ac62da4eb2392c51cb7726d9bab008910a88ec36b866717c8ac341be0903e3014ed36a30ac701fafc453a0e319470f2f65eb6775d6ff52b9f07e9";
+  sha512.source = "7349cf842e7142c5c13e46d16acc35535cf34be8a4985f9a581a4338ca54beffbd80fe2820123652f3ffc868bcfe1c995200ab918c99b19d6c2ee339b61354e3";
   hasRunfiles = true;
   version = "0.1";
 };
 "serbian-apostrophe" = {
   stripPrefix = 0;
-  sha512.run = "2323b648ac08df85d09f7b4394d071f2b4e629a158f7b34eeb88ec16537d296ae36a2d49ff41e846d08ce279f0d897ebc34d63bfa17f822cd7e8e876580a19d0";
-  sha512.doc = "ba92dc6aff7caafcbd7e26c46c6a0cb1e9cbdf567c26bff5f5d30d66281829dfd2c185c9b1fad959daa520b51f003c0cd42e7adf2f8019cbce133aebf62f1e7e";
+  sha512.run = "4e3998b6c3f5578929204c0b5f131b0ad4526057b50811253b6a90367327c63af5bec386aef54ae6c80be7a1ecdcc6875bbdca532fab864e61837cf16855750f";
+  sha512.doc = "38c8ac74b304ac992bad807f2727a3e75a727a77c5bfe5042e24a39ad305162e828ca0333963a3f91c5f26ca0324e7feea97dc6ab84c1cfdb6c26b05ed5f4fd5";
   hasRunfiles = true;
 };
 "serbian-date-lat" = {
   stripPrefix = 0;
-  sha512.run = "338ecdf2e6ca397d977445b9d6581eaab0453c099708354d7e952dd3784ef9f352d8b1c4a96cd3ce0edf20c230545bc1540a7b81af7f584bfe359deb46bb64d1";
-  sha512.doc = "7c1b8a3a697f8cc566c6966b6c9799f150cabaf182099812258966e74deb63fbf42f47c935f4f5505e8a42dcec116484fed6ca75dd4ba41020d1a59f1d817a1d";
+  sha512.run = "420b77a36a08e75f8020edffed704ff0398115a6bfe694fa46957ad8b35c58435ecde4c16176a72bbcbcd16139502f8fb679399852bfc9000df6d5f305fbb04e";
+  sha512.doc = "5c10fe13a4e1d6117ebfe8d737d50047dc97483c7a0cc287a9e79d367af50ec1cbdc0800161919b92c6d82774c9e756970db71344259028c254fbf2c1fe86219";
   hasRunfiles = true;
 };
 "serbian-def-cyr" = {
   stripPrefix = 0;
-  sha512.run = "b96c00a437670e723a68c699b37702dc1ab9ba5916d6340414b7bd9a5a93e596051237a7011a9435e5dc3a314d535b9ac184d5808fc035c45f75bf274219a2fd";
-  sha512.doc = "683f096dd9e24d5db4e9faa05b93947f04934426100d4577216d2bb4bffec108819bc00c1c4d382aabf58d04ddc6e97e0f02c3fda537f22d9d4a2d28838aac96";
+  sha512.run = "6cbd1da1160519914db1a2269a54f1f81442d84750b15179e4a0f4e5373512c959542a789ef39a2803b68030bd6a8001fde777e907e85852703ff696ec9e5113";
+  sha512.doc = "0f2a2fb44eaef8e0eb01e12260fa310d661501c3e1dacde2882199ce4bd5323c837704fd50e8db5b4ba567a38038b37be28fd834874262de2e3ad36b65816498";
   hasRunfiles = true;
 };
 "serbian-lig" = {
   stripPrefix = 0;
-  sha512.run = "05b100b9cdb3c14096a0b930ba11ad99ca4fd02a7ef3215d6826a86f179a9fbc58e6e966c30526fe792e84e376a48707c7fadea7a9886555a2bdc89ce12c511e";
-  sha512.doc = "a4da11e0bcaf274b8cd905bce97473e397b543559a504dcc5e65688f512ec6e0ac6fc2b55ad4383501334bb7a42eec5cd835642751ded1613f99f8e958da0c3c";
+  sha512.run = "cc8961bd7d6b0fd9226b663a6913e2312ba61b9dec8479fe4fb573b4dbbd7a74b82415fe1c83baa30c33f1bfaf672f02342997d45cd52096ed840544704fd062";
+  sha512.doc = "696c8d37d417b797beec4c4cbb5d7997c20391e98a875c59a1c803263e2ad64d6fcd2e4541a50364fce0176a472b201b99ceba0539cfa156814ea6e8cfa660e1";
   hasRunfiles = true;
 };
 "sesamanuel" = {
   stripPrefix = 0;
-  sha512.run = "052cdaef9049fa42b1e9cce03c9e9d11e62899466e127e60dd982ccf757d5c83fbec30ee3fe1b8c67e1af326668c2b6b4ae21dd96e58502e997186e62178665c";
-  sha512.doc = "d44a4a9e10c5d73c55b55326d15e4495d002d4b9676ef00322ec8b49c8437be55bfe9448d792511d7a0ef54596b530d917219011dabb3c03505298c6ec6cd6d1";
-  sha512.source = "980516e9ab47b15a5ffc4d9a06105d427cd0ca24b7b724c7289ba1c8709d04da2352b36c77463e98f4bf3762e6a231c39c508d485df1354b3d85b5de1bc1baa0";
+  sha512.run = "bb7b38ff9e6494fb3150602008a66df5fd8c35dcb52a2da196cd177bcffeb40e284fa493b296f01f22864a5bf25d89fb4c079ff4d9fffacdf37dfc9de9256518";
+  sha512.doc = "cd144c93693367bdda658fb1ecd424715849fa57f0aded627125db2703947c8b5886df9ec08595592b6900327b42e8cff00f0c69967075321bd7cd1064054f3b";
+  sha512.source = "4a5dd4a8da6a8719f47d4b4bfb5e3a6c0e1498369fbcf7f9fd48304906bbff383793329959b69f13a75bcf3d01b888325c23079b4503aa779f464c2864560416";
   hasRunfiles = true;
   version = "0.6";
 };
 "sesstime" = {
   stripPrefix = 0;
-  sha512.run = "ad32ad520e08b5cd452dac3c222be2d042077195850ca80281d77ec674d70b81537df0ee96db2f4d97ab5c5726e4d6325ad044ab235e10cdb271c8027647e960";
-  sha512.doc = "7362458cb09bf3a3d0924ea9ee42e0ec13f971626aec7c6f0c9f5c81e9a2f4143e0a02d41b15ba1fc6009540e1e3ccbb2e612616e3f0beaf59ae61e25ac73f26";
-  sha512.source = "3782b66932289b05581d1edf2f3851e8fc671ead21e2e992172300d246e923b8b0109d04d9e9188103934b8beaee25a27260c2f9ccd33a3e64fede95dc23991c";
+  sha512.run = "5c5ab4808645230c6563a08b8243f27fad02a76fa56296f4c7e1b17d2140ad0c9ab0b6ed02e27240f596113019afbed52dc5a9f5efd874ba7783c921b81416c9";
+  sha512.doc = "93b986ea6853761fae06b297b951a7a46ffee403a4fc980aa1afb7cc42c15fe753797eecbacacbfb49b0119ac9e24dc105975acf72852eb0265dc4586f397bc2";
+  sha512.source = "8f3200ab63d77bf24aa9b2cd51ac460f086cb82599e9099b41614f039cf569f4fba23f2dcd59174623037046bacfd5a11ff59f140b09f373edb6346292db7910";
   hasRunfiles = true;
   version = "1.12";
 };
 "setdeck" = {
   stripPrefix = 0;
-  sha512.run = "717be42652f38081fd416d3e762165539d3aa353813168b16c82f3a6c763ade9cff0e4b134af181959c52fc7e96b5729b603208ffdd87ea4ff646079e62a09b4";
-  sha512.doc = "566deeb35a67c0f5e6bf83f3ae8b13f1864084fda65e2a2bc51852d533e29cf75199db48b9515bf0a3c411ea36062c0b7aea3c173be2654a9d396e7efcea73eb";
+  sha512.run = "817474bc928883f4bbe97391a477bf492a4e339879fc85d7aec3ca932f9b46c310f8fec5b732deb2196c705c2bd3a22721376ea8289a1bbdc12555447f12f757";
+  sha512.doc = "c27f7ab563f35293ee6019560f643d562ff2bf06747402930c767031a8dccffac0ebae9cd16b9e3009b5883f594c541ccf4c38883aa89f4256f7db83e378e1e9";
   hasRunfiles = true;
   version = "0.1";
 };
 "setspace" = {
   stripPrefix = 0;
-  sha512.run = "4ed61dac3ecb6b5aad341c96b7e81fe8e1bc14ba3d6802245f711eaf0744fcb157c411adbb85e51fea5924f22c634c9b9b72c8eb11a45cddf8bcdbc9085a1765";
-  sha512.doc = "c4fcae8d7a113edc980135b4c72bcdf1c5ef082055180f78fe2ddf0d4f90a127344e22abd0f97762e724b35945a60edc804520ce15c6ab24861272688b23b1bd";
+  sha512.run = "d7e7f2ea7ea8ad3c0b2437a04a965a25b37d96fcc03e92a524f823e80316569db67ca4b1d9313c27e487d4914f4a7e1b4d088ba8fb6c1cb27040552cbb4c8697";
+  sha512.doc = "6af94bda31c7276e7872286a1199363dc1de52c04f8cc8eb5825abda675657454f1349b619309014e934a9e5d3b80dd8d4b7a590c05d6ca2993ad3d8ceabd7fe";
   hasRunfiles = true;
   version = "6.7a";
 };
 "seuthesis" = {
   stripPrefix = 0;
-  sha512.run = "57f55c62874f21cd88adc9b6e36807363041d24719d4c96d184619967f0420a086eb279deb9bb1951f2f3e5e9e752f1a15f5fffcb765160c51cdc831d5618df3";
-  sha512.doc = "cbfc5d9e2fd0215c3f677eb75151b060e4b3260635d1d40b5df61cffa8c79a3041cb74cdf67c34cdc297ae444d415b175ab3f81021769282022c42fc57653f48";
-  sha512.source = "f999b79f7dbe8fe0bec8dfea96a97bd6d664780c48a92d5960259c340f037890a99d4636eab177c07969ec86656206233d963c984cf64798cacaa69302f54ef6";
+  sha512.run = "a36006ff6a093cd589a0e328c60e7e78afc160ab45746e562a43a8944b2ab331643261f56890497b70449f76be43c0b226642cc5570dccfe0d6240181b20bcb3";
+  sha512.doc = "5bbc5770bc42c62da7ca569b10558dc02bbe7fda2a463a3a2a78bc76fda3f1d0e7023c311f62a91bef73ae3c4026561403284404acc6bc72cb2e308ad4092ab8";
+  sha512.source = "a442b5ca4e1e8a4a3f8d331e5575066a8c63d1521d1f774fa7d386a8e42b09a2c4727fae1f0a51a31c6a98c173113349738caac8991d50e4459082a874fed1ad";
   hasRunfiles = true;
   version = "2.1.2";
 };
 "seuthesix" = {
   stripPrefix = 0;
-  sha512.run = "74a7a44b3303a76b039cb5f0234031fe5175c20bee1302b21cef5072b8bb4d354f125889a8d6f50b61e7159dede445a1dbdcce70d1e4e6021756fdf446fb3b0a";
-  sha512.doc = "05131bff927db97ae55a8d7d6d0d91e1190df27cbb85c1783bdd4bdbfd34d6b931eb80415db75773044c37a728ebda7bb525cdb4ea8e6757b0842b515a155dfe";
-  sha512.source = "451cc46e9932d904124b6c7ea72e27a99b2d1bccb638db16d7173bd016a833fb47977bc34fec7b6e26e91de8c4ca2c8d4cc1805f0d555442c38302a935c5487a";
+  sha512.run = "8f2aa388faf3fc41cdda54ac44631dc2f0737b727f3af27c41bc268223d2f3f6353dc24f067ec487fe5f3ced5c7837ee6f60d46de3950a3a3c9573df77cc725a";
+  sha512.doc = "1d54dacc742d558af5fb006cb4f26e073bbf6a3a572b7e81fbacf691995a4a96c72251225fb7cff598c930a4c9984d0d01d080c797f202f7e30aced20b8b3e5b";
+  sha512.source = "fbc848315e2b76ac915aa6abc0a9e7bf2f63c4af716ccf65c9af3ae05e049952703c1f86db97a5825b92f43dc2d1163e6544c30fcfce4b672272b4ba9057c171";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "sexam" = {
   stripPrefix = 0;
-  sha512.run = "17387e89e1f26075af386a0909ff5613b50eb12a22471bff8af85f1d6a8c37525e9855b5a9c2009cc7cc06cd670e17e2cec18bac1cc571e152aab89b6e170f96";
-  sha512.doc = "f6d50295dd8c9aa53e98e99eb4e43f7044a275102e0ead5b03668202c3c0d0598b524657f8a14ab7a0ee2aeb147b92af703ddad4b478a5c294e654daa87aa320";
+  sha512.run = "60fc18bf706b787b9bc59d1ff12e62fc3b69f5c6815a629f6743c8ff3fbbb2948c145278805888b235756beac5dde5613c10fe4ce20bb6536b4a3d77a2713569";
+  sha512.doc = "0d2d5e2e5214622ea6b398c0b0f7a297a3f247ef3df0ed696c6faed94527b2edb6564c917d182177f8f3b44d7cd0e14ef4ac186c89113ad74e3ea70475ce1179";
   hasRunfiles = true;
   version = "1";
 };
 "sf298" = {
   stripPrefix = 0;
-  sha512.run = "97ead6cec5d4d15ed7a5d387f1b657403f9ffd90f0738343644d00281c9872accee2a6b6964a5e984b39a157f9d94d029ac8f63db896012abf75f28671eb4a66";
-  sha512.doc = "7844d103a9411cc177ee38b9048919462da0ee51687dc87a8cc6adbbe8ad5f4986ce246d85832df8bc76941104cebe04944c8c862a0e29b4cf7fa24bcb1806f9";
-  sha512.source = "d4e20855cf541dd12d4077ed0234ccb2caa485d926f1cb5352782f37a48a2d463ba127e23c133b0963a72d2e6391140f23c757d560b781b026f314dc6a14322e";
+  sha512.run = "c9a262481a01019010a645c321c675bc93e3e0c6627b693bce53a808bc9366d7915c19f97871786001fbf61b589f2cef274aba005681f9b32094644568d0f2ec";
+  sha512.doc = "03b1d51626e6ec0b076f4c2fb5b34daf490a671df69edef7235a6c8c77b2475e79604c7d49aed3c7d756c9fb781a7398a27596ab9b183b942119ee86385ec612";
+  sha512.source = "af4d0437e6c79c7bf0975f8e14bd8f19675223849b04b9e7b1d526ccc70a8a4a6d6773f86f9ddbcb98329368eff8c7f41cab4f2468f0100b8f5f840288184826";
   hasRunfiles = true;
   version = "1.3";
 };
 "sffms" = {
   stripPrefix = 0;
-  sha512.run = "88ac4187402827c4f696223a0dd9603a16614f737ff4096f1c493a15d7c7ef30637b8d4d260f204bbf6825ed582d67629cd65f58678e787536e1d6bef15304b7";
-  sha512.doc = "a7104b18fa293873b90b0626da71c6ba6ebc92a95b7ab63ccedb7cb27c482031f747f63b0ab1e7d474749519da0fd5a7e226d4978d05c6778d8800755169da82";
-  sha512.source = "d251add649866b18798231577d071bbfb788e11ea5596102b5f7a18d4a5be86e1452f4841e665fe76f3dbe36784919cad7e648d031b21c25c9b669038160b640";
+  sha512.run = "ea7fbce545b9e9dc8b804e293239fdd491bf1293875fa841afc5a33ddcac7acddf243194e36f8958df4d23c71ad9b83348fda57dc261f211b49fc137b66ff6b2";
+  sha512.doc = "e1702249f2516dde93887403833f9261f73e90ce04bb97d4052de1a28b9f5bcd5729d1d9a68759ea92271b46cbbebed39565e8c30248af4c894c347e4b9b75a9";
+  sha512.source = "50fec199dddd2509682af8910db1cecaba7359be24a1666e156715e4613571c6f48c27eb813efaab2d6a4fd01e0e9d110021a42afca501a75a2ee02f7c80499e";
   hasRunfiles = true;
   version = "2.0";
 };
 "sfg" = {
   stripPrefix = 0;
-  sha512.run = "16c49fd1f1ad63719f5494d01f1dcf4f0b04827bce963b39e056daa235afc83ed9ffafc8629301cbc38ba028d19e61cb9f2eddfbb85558605c879d7355a79f33";
-  sha512.doc = "3436ff0aee6f506a21b0ccd63795cec73e8387d671d4efaef3638a685cb4ca493ebe32df7c0a5750bbb70fb93c35dbf5aa2b704c233dc09ab99db027347a0be0";
+  sha512.run = "d90305b5fbac3e06bc3195b802b4ef78f7c6cfb4f0592dfd300839dd608150e1ad08fc7479fe6d8df4f2429ad6b7f81692d9723dde198991fc9626565cb38578";
+  sha512.doc = "26c17b606f0cfb4e199755f7f16eec16cbe379a786a88bec2d77d983d17107d86bf8da23474bc3450f8467d18028f2f41a314c83565916cf3ac3e97c5c079267";
   hasRunfiles = true;
   version = "0.91";
 };
 "sfmath" = {
   stripPrefix = 0;
-  sha512.run = "757e6deeb1d60dd9a548ce424dfa659a6ffc27e8a3f518452358f077582ca4cd889d05268ea7e8ba0a2fef15556cff2ffe796e707e86c6b570ddc7b131e3be2c";
+  sha512.run = "7ba73610785c9270e8741ba0137701677575e38cac79976d89e2f5768804ff52117c5fcbaab9b260be522f174458a18d2d70d82c2da201e7fd6a91fe4bbdf6fb";
   hasRunfiles = true;
   version = "0.8";
 };
 "sgame" = {
   stripPrefix = 0;
-  sha512.run = "42e19fae6e5e550a68861280edd7eae538b624324579ed0bf764db0c871ff2182ade6b69640a34088f1b2f5b74861cf5ce8968e9e98d99386aa5f01a1a4604d1";
-  sha512.doc = "80bdd390c12bf3ba4716b8b7e80493b7ce902063eb9cc06094fda5c2eed60cce656c2c24e1faec119f5932fc3b3ab9e1ac506c30444d218165979374d81a2145";
+  sha512.run = "60e1c4d7f68bd6d39e081d49bfa1ecfa7dc56b940172719b4d6d0f2e87456c4b511ac29bb1884f7c290e7b226eb6ecae8f2ce4de3f7f5fbbd21934c440395ab7";
+  sha512.doc = "29f4ee374c7b9d07274fb6f622c0769ff6977ce522ae25fa24571c0b7e60f1e120e4e26d37c6c340372fc0a2dde71a25121fa9538a35aa100e21637d5c79c874";
   hasRunfiles = true;
   version = "2.15";
 };
 "shade" = {
   stripPrefix = 0;
-  sha512.run = "16d77085d03efc99f152db725a4896493e348d8603ae326d8342e04e679eebe3f9466b7f436eadfcc2f78c5b34f1088cdb92b30df69341fc288b9df5ce3647e4";
-  sha512.doc = "a284bfbf5cf6372ac7c5836ae28166cbed272929ff5d37db6fd8c7199a2f18cc3ae1ba2a9c7c286b479d9fec80f16bb75b4cf5359d9c30011bfbb947d1e1b3c0";
+  sha512.run = "968be382e1f82029e7e06f5ed34473fc20fd38dc758b97fec6dbf015ca13c3604dd6b7638dcad2f80be474ad001c47ec86e75e8d9947bde26053873376e9e068";
+  sha512.doc = "0c9ec337ed4c9bba949e6b449368868856d652b2f5ac7c70dd08a9daaf8a3ed3be4008a91c003c731c97f7e4132f571c44ea9d4a4529f7b0ac9be11a673310ff";
   hasRunfiles = true;
   version = "1";
 };
 "shadethm" = {
   stripPrefix = 0;
-  sha512.run = "235d50a3ac8fcd8ff1f5978ade55bc6697936a3bc0e98298203e9b5df94118070156278363ec5df8690dddaad2a27135b9ce241abaa931f64793073b9debb0d6";
-  sha512.doc = "4626666e5abb2aee3b09c4d2308fb4cba20e295857ba5bb6dc576f5f097550c7866b383b9817c64f602055fe66780d03519aff2e46502befceebefdb5caa8939";
+  sha512.run = "e86b448ac347677f4439e3fdf8d7d3448dee3d29529e72fd1c11e9b98af71dba6101ab3b3a4a988b6daeef4c1f96ba092426b109220d70289f43f12bd010f735";
+  sha512.doc = "b99b7c5eae48fa6a1af0fe25e71d7dcf65433e7ae0b2f712fbe7ff3569a66c10fde956287df9dd0bdf0c2b21610b295517a2065d9cba81a3d305e843e81d415f";
   hasRunfiles = true;
 };
 "shadow" = {
   stripPrefix = 0;
-  sha512.run = "7d97a26b754fb42ff6b998b4e43668ba597422f985c62bde0ffe722e80c6a7e79305bf23b326fd679f85409060cc435274af47de21ec972f01b538212fdce913";
-  sha512.doc = "36ab18dc4d6ddb84b2c95c33220e8a13dda5b5a92794519ce33087c9ef64ba272a0e9979efd8dee721ad43967d58247886e10602eb150862f972ffe3688421c5";
+  sha512.run = "885bca1090b93545f59b387e952998f65dee0931fb5b680d06667c3bb8172e2aad37e840942b9495134b421bb40b871633eb5de941b3a257618751e789128ca6";
+  sha512.doc = "402e64195e247cd2c5106e3bd621705b80c006b2f6cf0b1da14ea459acb7dd97e2ebeda87ec118be3e73bf76edebe3067330498a2875c52c4248add70d7a0a25";
   hasRunfiles = true;
 };
 "shadowtext" = {
   stripPrefix = 0;
-  sha512.run = "d0dd624c34bcec0486eb64a7447046a58d16ea2d7e36b951434dfcedb65fef540b75d9964ed021cd13d48c289df3c8584a0aa3f05490d330065110034e0c63af";
-  sha512.doc = "dec73f61f6280c68e7f98170334aa68d6876b79d22f62f05414c82d070f7768d89c9a04fcd1d9debbdb871e0f312134806a3d40cc168ac6a71a36ea7871e1c55";
+  sha512.run = "59ab708b0f8987838cafe864cdcd68aad5aceb7cb4b3ab2b479ec4fbd15e268ba4fdd1b0143b7c247cc186a825d99ad810839221a391eafd5146f0a46865e23d";
+  sha512.doc = "a89bd6ab160e364af06e26d9bbb88988c286befb5dfe4e4bdfc7c511811ef4a1ef630708d4a7ff32cb0ab6831dbee54d49a84376ee9366bd422d5689d86db404";
   hasRunfiles = true;
   version = "0.3";
 };
 "shapepar" = {
   stripPrefix = 0;
-  sha512.run = "07e743c4d21dcc9b386f5c85f17edbc52019417b1e05fd979e86bd25239b0949b289832a62128e5369f94ba9fee94b95d26b32e51de352e9b1880be704fe79e5";
-  sha512.doc = "3572ef902cf3ff8146d44d1e490c5691ea3b8ab42972f7f4a80418dd2f940085a9c676f27f55371ad63ca126f32d73b5924ce5ae203ff4371f8b1a30d407b991";
+  sha512.run = "407fb09d162a3f361c7182f23b010d25bf5d0d4d645780c1c9679be422a50f7181a8184ea391505d258afda822059f0d7d60ad24321adffa05f37d56d0376605";
+  sha512.doc = "4db069b9e52935f0ef1463e40999b7f7893ae12b68f6bb07a105f83199b839e6ca3366b7367f6b38f79c4febfbf3a8c1f88115244f59a306870fa4617ade478a";
   hasRunfiles = true;
   version = "2.2";
 };
 "shapes" = {
   stripPrefix = 0;
-  sha512.run = "91187dde3b19117f2386e062d10743adbe892074737fe379e6a76a40f652fa97867af042e209c8c3e6c5ee1f5acb081affe22cd1cb34d3ba49cb1f7dd34c4a2e";
-  sha512.doc = "7b0ef9f2eb4735e2b146301ff51a7b4ea82b886796edd619ddd2f14ecdc9e3c2dcb27289f0d1a5193a3253bc7a44d4895979573e95200fe1c6993e969180bced";
-  sha512.source = "c5be53f9fb534e32d8c3bcdb84aa1e54b597e51bb588374737c3fd25118363ce188407ec25b3db5762d9c48f251cd1244373520becbbc6f1d06d6c5cb399e7ce";
+  sha512.run = "4e082b6b61ae9f2d02c6bdf7fe5beeb6b6384b2718c1644b945b175bc17c951ec7890fe7e81eb59faea4ae86da93eaf51467450cd61d223e734408e624bd8abb";
+  sha512.doc = "2c295a28748f8df117a5abf16a758b079d7481f579e1bb571fc758bae505860e1a1b82f9615259b14359eb4ea8f43be82de6ae6d761225ea76bc0da167b6786c";
+  sha512.source = "58ccff2be6db013bb66e606ebec52b0f86b4ab3e2066d9191f18da0534d2187fe6a3944cf179b6b807025182cbd40be8c24f190c5938bf4e4264ba492a845be1";
   hasRunfiles = true;
   version = "1.1";
 };
 "shdoc" = {
   stripPrefix = 0;
-  sha512.run = "83e9ab3198e54d882b924c89b8c133d5da6ec448f3027b09d3e1f5b24d7ceb0a96fe264150829cc467cb5b21627c378249d7306e435def6a700933680cf86347";
-  sha512.doc = "bd57b6a6cf1e4aedeb917c72a4ee7dacae7ea8182dc0f72630bf0c96076df06eaad84f3b30f7b01adfdb18a9bbabbb49e2d2164b285623cfe04fecda4c0c0087";
-  sha512.source = "fd526bb1626ed22a8ea7d8c8fd6eb8022deaa48c430aae28092bb83d58aeb22bfec95c3cffabfa65572e78f38a9b2bcb79731f1e9c872da9cf6c262db039154b";
+  sha512.run = "e72e5d88966ab88ce2ea331f2989a949f3da30cb1066a0501fe8770f077f8aaf15803d9337ab266374364fdb7b35507c6d3cd181e1fb472f6d39b6ef94c08c1f";
+  sha512.doc = "38c3a7302edd2e38e3196b4d3935bc001f83fc71ed50ca8c3563ccf82e9e0729c65baf0b95db0ac637cd037cd572ba557586bc85230ff6014f63a8fe0602d9d1";
+  sha512.source = "8de0b05b8cfaf13d3f3c1192c718f5663bc5d1e5d9f67395956bc18d8f97c6acd0811660c02c3dd087f617098d0ec810a69dc31a20e157fde69431eaae4047c4";
   hasRunfiles = true;
   version = "2.1b";
 };
 "shipunov" = {
   stripPrefix = 0;
-  sha512.run = "b33640df5bc341acc86d462665697fb24d2b21db0223006f4603380d28d84c5e757e79a7338e87b5b5aca650341bde6d3827677dad527ebdbce144a099b58ead";
-  sha512.doc = "ccedb4bbc836a4a5fc8b5d71e8f9bb97646537a8bc7b85e5f151df4540cddae09435c7a624d6522415b1288553a1a721e95f09358d65f1a11d11735588454ea7";
+  sha512.run = "e31326135e93eaddf9f07eb0a746c83b9b6b7a7569daccc2b4ae0439664ce4a9cb2edaedc0e3ff727a4896fea43411c9cef0f3fb8455b1616de04e03b54b257a";
+  sha512.doc = "3c04f8dec84f3ad87572f6c180ec783f9a879b887b4c7f860097ac03b297dd7c4a4385cb402ea0b7f09176d711050ca7813e51607cf7bba871e191ec35d9af88";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "shobhika" = {
   stripPrefix = 0;
-  sha512.run = "8474bae56ed71a3186386f142087ac67972a3c8958f51f87a57444542805d209a2db0c67964ee2a297c3a168784264121ea287ee19938c9018a3d70e0729e004";
-  sha512.doc = "2878d20b7eca86771c9d8cc0b9b2ca80de03ed738c229a1b072b58593a3a3cde425133eede94aba9c54fcaae98487b97582e5a8397234fc00f2d08f6c55219ad";
+  sha512.run = "86050c89e5939b8ffc2148f9269a48dc66f8adf396cb883a7018a1a8f123cb602f216f652f56715bebbdb7b0577a8d0cc799c847898543a4cbd22e478524b127";
+  sha512.doc = "f5d9d05f54876bab260043e698fd746c95b59b04ea5b2df7244b11af30bb78e5cbb6e3511bb75d775e1bc649082575192ccbcb68fcd32b9816879b5cbf3277ba";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.05";
 };
 "short-math-guide" = {
   stripPrefix = 0;
-  sha512.run = "4f3bf4d4542bc5a64fc7496ad0da907ebde07b1bd8e50139c4c4598f0c6f074d7d7ccaecc2925a222d3537db2d0a5c24712e2334abebebb74da73e1944278c31";
-  sha512.doc = "3f6e1ea3be9616efd1b7a09969c688d63f6cf48cad89b6b088380eec2d91329a285f5538ee57285a378dabc37552d5467dc7e9fe90c914bad462906c04e407e8";
+  sha512.run = "6e2c131cb3a2ce85a6718a8dab1cc52fa5dab7a3db34575dcfb0a33e6a3f3ba6025eccb82a2e07a198243bd24c5070a931e591003a768c4a057f70659e442155";
+  sha512.doc = "0feaf4b3cafbac8fc78855250dc39858b0b8326b803c851efd831f36476dac2f1ce86083c11476e36ac88b44a2a8d25094f9203c774044306536fcb2b261a184";
   version = "2.0";
 };
 "shorttoc" = {
   stripPrefix = 0;
-  sha512.run = "890b52d8c23bcfe70b27f60e607e25ac6036992b29e1602289d361b30f7307cbc16571b300463d09bc40475bf0e0432539d23ef3c63263502895b78130795c57";
-  sha512.doc = "0e38cfe8a8ff980db6f6373b476657795d75d49918ee73794e3df477f980d9133db7c592ba212d3c5869d3d42fa37e1c82e099c76dd29b54c63a367e56a654ef";
-  sha512.source = "7619eb121e45e995d86941d809a26066bf8b687d4fcc80d9768e12e2980bf8b3c8849c0255c4811b05c2adbaf43aaeef188686cb122643fbba265be5d8b34c1d";
+  sha512.run = "6e78bca7425e0b23d7520af19494d9de303b86fae7a013ef85b2d512ee86be1f478ede2293650b435ab579811e444b570995e2ae8720afc60b42c0c26d7489a6";
+  sha512.doc = "03090924cdde619877b271fbd70761035b5da1f2278a3642b471a86e83559da316558a752d85716242001f40ca403a985d036750218e78d873a4920905c5a652";
+  sha512.source = "2841e846e2e691864e3412c52c3cb2130462b2b94f01ab9ccfba7cad05392db2b63ce3cd3ce60896a7861969ea20fdd3b1918a69e122316149af3fddf1b9c492";
   hasRunfiles = true;
   version = "1.3";
 };
 "show2e" = {
   stripPrefix = 0;
-  sha512.run = "4b1e825730f7fef5d0c0374433a1d99847ff91d14e828900c6354ce29b9869e3a46522453960b0277f939b2b1778c85eed7cb67f94b604f8e251bb5b06a1cd54";
-  sha512.doc = "0d172c8cff006fb510fd3b7520acfae4ba1f46a29daa8bbb9fb1369f8279ea9e241825ecc37e5c079ee47ea6e28f7bd44d6fd4514b50a1f9c7e0b457d486d827";
-  sha512.source = "a0e19c439ceec3b45b4916eb05a292c0ed2fcb1fe82d9b845a8796442a6f9ec73c0c0b06ab074d78ae32a6621847977ee03623695bec5dec2718ca369f65a1f2";
+  sha512.run = "702d0913a299b68bedec15c697868a70f058957dbd3a2dd2c503bc21c8a250dc7601e6348080bb394a38108bcd2f5ee67796a888183aa181c9f88a72e7666580";
+  sha512.doc = "a427f7126ded4251c255fcaf2c381f7c00d0d0e55253804cbe631ac59be1bd51e7ba2ee51110af86bcee27d73698bb7baa323fef8e23a41000928b242b0be282";
+  sha512.source = "3a6bb6fbc35b5f6b1cae00d5c63c16ea13af270cbf90f57761f71076b26130272924154b8b0aac60cda41d27b75db4f1edfc82101f38b29e9641a4e02cb6c2a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "showcharinbox" = {
   stripPrefix = 0;
-  sha512.run = "7c5d2cc85fce3b9011dba8f02751c37f292b630064706762a3cb70a784bd2a561d1227365f48bd551ea68de8dfea895348f11598954b76a50a4f361c7e975cbc";
-  sha512.doc = "42587d7a15eaffc197a1ad4232f950f4e192b7197269608a45aaa712b275449a6c5ac120713ae06a95cd14886bceb86426a5da3eb952da774bd3526be16025f5";
-  sha512.source = "882e6248dd3ba8fa4018543c4e8b3aaa0cbb7c5f2514e3435efaba30cd777bfd95b8de662c9fc2595e793d477c52db5e1e367c83d5c1f69eb93490c8eaf05fc3";
+  sha512.run = "9cb18e80701d22e167b026767068e0fc0a7b6c4cdbc9014991f10ecd76d37614983591c931972584c50e0d6e35abee70ae3079f7dd8c855d33d1e4ea06693d25";
+  sha512.doc = "47dc7121ed852931bdc5bc38b7fb4dfda6616b8b0ce649d90da71c7a4cb6084ddd69e07596dd4179b5654fa9a54fcedef6949ac4778b449ad14740058e237dad";
+  sha512.source = "0c3ee2d6c00183936b57ba8e44d274baae8d90b8c089f6b5f3384c5928c703f22c87ac2781a8399189e028d6503c3e154499e85ac6b1ae69c7cb27eb29ee11a3";
   hasRunfiles = true;
   version = "0.1";
 };
 "showdim" = {
   stripPrefix = 0;
-  sha512.run = "b8377b3c4eb81919bc1d874db969e61c7982a032792011470b374ddbb9b0742dba8a0c8576ff5bb44eab2686816b7dd0e8f2b999974aba96cf59d68ceab5ccbc";
-  sha512.doc = "9cf6001463ed491581502b4e8833bf5769c7295bfe9a5be7f1a29f8b913dbc117ee29e4c1af526f364b47b8515ed6ceb51aad50264720f520c2c488692daaea2";
+  sha512.run = "07c409f3d30def6894a787d9c2f7366abf6ee4248386e9d5b2e4f7858d692c7cd3e72871ff02c73a39a190ac36ccbaf5fe16e8e1b7b328be80a9ba041d12feb7";
+  sha512.doc = "ba76568009149bec7484b4dbe7bede8e516a2c2ad20c77c70f0357e865c66751aa4f3d8c92c59effa1ac12e03b3b8c500c65708547ddf52458b0ce90def8fc98";
   hasRunfiles = true;
   version = "1.2";
 };
 "showexpl" = {
   stripPrefix = 0;
-  sha512.run = "a435ee94b57c1d4df1b2549b2e5ba7257682e2fc4a170f11b610ee920f7aab3411cf3d08bd6faf9c73a3eff5f23a5ad778ca30d7a52debe64d32c05760845a71";
-  sha512.doc = "5a096b71aa2d0a93ac0d8ec38de8ab09b783e4a40a5d01c422c04583ad7197c5393b7b80b5180390881dd5801378aba57022291c8be43bffe684ac6d51828bfc";
-  sha512.source = "7c682d4779e47be78aa3b04f8af5b5dcc966edefcb27026c62d803b3640b360340b6ee51fb50dd137ff7026c8c9b1cb8f215f601b66f2eb2c09cf8339926e4c7";
+  sha512.run = "b937f9824793206b0fa55eb77f6c2688364d712fef66c63244a776c95e733d2b0e4535a2d63b23ad446e50fa52804bd99305ff20bce6d74e880d3fdfec432924";
+  sha512.doc = "90fbef0962c609d4a50aac3840c703c6d421553425dc0d41a62883e012e4e2a8627a2f98f499b8fe984bfa57b597ee65e274d6e5bb9f30aba96b8b1bcafe0211";
+  sha512.source = "afac56c2591c97fdb6b48ceba1acc2b4947a0d0778f3fcd1db966d3782a89388d09599077c1684c4de69cb61ee5d1018fe085ff7b57a6a8426b1936454066228";
   hasRunfiles = true;
   version = "0.3o";
 };
 "showhyphens" = {
   stripPrefix = 0;
-  sha512.run = "92c4a37d024538a07e0794284e893ac7561aebcd4bc51ab9a6c8700a134d364b5d68addd2d24790f88b2a633a510f968823d1fcd4f020fced7c3e362c0c47450";
-  sha512.doc = "1de4be082ca15852cfc814baa7bad2298f2911ec958066f2d2031e03388830b0f2cf0829c12404e13770beed51affda78642b9f8e92fc69fe8585b118e5326fe";
+  sha512.run = "e3dc83cf25d0006e4ed0b2181a7cfaa81a2c7d6a7152d9202b2d9ccc876a773045abcb055709a33d69f1efd80c11edd642364e13fde7991730755d944c35afe4";
+  sha512.doc = "2e87bf2fb7eb014d28e44634fa8c307bcbfa4e774c1b279a5242b3c99e569dc1eb64d5f0ba30958d0ca84c5c2bd770ce3de81af98981a3e01a2c5bc8575c9e02";
   hasRunfiles = true;
   version = "0.5c";
 };
 "showlabels" = {
   stripPrefix = 0;
-  sha512.run = "93b3f2a23108470c1e62b83b7ecc911f34052a9e3411b8658eda63205e0e28fd903308e42bc5b7e4f7541cf442b03908dfb04ec74422c9149338acbbc16046c3";
-  sha512.doc = "0d76c6e1d27fabbd2c19a1e723e447513b598facc097b1158e7d6a876dcee79000dc45dc0d0b11b2e22ddd3943ddad7aecdddc55d9db178d714f9bb146a5579d";
-  sha512.source = "03dc851be8d1c27d9ee2e504da1d5cebf7070b1be6654bbdc43566e7811e8928b3165ef097e33ddc65ad6d2e2734d85428e6a8f250c307dc979299767026f1e5";
+  sha512.run = "4d805bcd319df51219c956fce18fffe3b91aad3f468f54f5b6fd9ca15f8c24df10e1092252ba6870fd406c024deb054c60d7f64dfef7194c45b92a8a78a9da1d";
+  sha512.doc = "0a8cf29e85526e92df738364607e31927223458a969c117d40a0e9cf3470e5c4050107b9fe915ad2a23720a2dd4f5faa1d43d9737b9b7a6f6105de3a36e9888b";
+  sha512.source = "eb0dd894327bd6f4591a3a57c52af10e73ae07f7d933ff3310012d46b09d1572adac0eb6a8a22ff03ced5f7832a017b58ef809d5fd914103fb569b42cfb2abfa";
   hasRunfiles = true;
   version = "1.8";
 };
 "showtags" = {
   stripPrefix = 0;
-  sha512.run = "cedbe096b08498693c2cfa7f04d41d997e5ebe850e3e771a423d9e96df53be5b1e6ff1b2479edb25f24aa8ff644b38eadd420c983c26517e4c0e06d3dc3be321";
-  sha512.doc = "559a346ff2ac77e894a56fe86253dad2f86fafa9d9400be0644d5bfce914c1a6c58dd246496fda0b7d85b93291ae77f9db80c2215c8a46339560288ea9672005";
+  sha512.run = "b70dc03f22838dab65631d39d8690897d4a5c71b5451775e85cdc3ff600d63afc29bd28e49aa64a5a2467143f4a84d62f5a2a9af4a8365e0a867d6a46e9de93b";
+  sha512.doc = "3e1efebe8edd469e66b18aea9d9a3614b753a43ac61f5a31b57fccc1b45047aaaee8f80d156932671f9ae7457fc627732f1f72c65fca42946280c1182d8960de";
   hasRunfiles = true;
   version = "1.05";
 };
 "shuffle" = {
   stripPrefix = 0;
-  sha512.run = "6c37e073b086b1a2fd1a6e7aab6cebe0775784d9fdc3096724990eee5b554b05fd72ac3fe103f4ddf8cad107d1751d89bfc149561acaa2b73f3647645e5fce0b";
-  sha512.doc = "593d4baa3780e8fb9aab3fecd78e9a58bd4c695b011bb7182f72c845aaac8d4f40c78ecab95074a0e19eb50e6bd0b843c8e09e74dc3246acb04c9a8f6e84755b";
-  sha512.source = "69cd7ca67b00cea1f3c4c74840f8645edc061fc55d3910cc9722cb012b8bf88a1c99e0c95ebf62c6e388d7a41a57b4bdfa3f57f20657d45c84c7799ff73b4834";
+  sha512.run = "62b456ae961d34908fc25cc085bfa04d39e70f2641d65dc8e0eda419ec96a328798cc258162ebe065285f3ee1088e6076525ccbd8c0f7c0800024f371bdee65d";
+  sha512.doc = "1b6427fa0cf98651a219f1cf6f15a400c09ea924bf0dcea7d48ce0665a5f1828ad64513f87089ea48d02d489d8020c90c661bac60c069601be437c77364813d4";
+  sha512.source = "250729a95e91eef9c1f9b5364aa3b0a1f03a75805845c773f82b26c3782764d6f866f33391aed2f0cbb167d016b06593c015e6fb2aa9b7ababf33f215fb92647";
   hasRunfiles = true;
   version = "1.0";
 };
 "sidecap" = {
   stripPrefix = 0;
-  sha512.run = "a777eb8c63e131e7683d7b98ead417cb98fa8fdfad33de43f49eac034a1ba483a2783ba608b29e80b216ce4fb506c606c759219e9945504266aa43c8084706be";
-  sha512.doc = "f23ed0a2e953fe51ea32019b4c616cdaa4cbefcfb54f68692f2ef12a4cabc581ab470891888c14a41ad6170e0641247ba35fc902d40e967784cf64d243772daf";
-  sha512.source = "2067f4bd8de366e2033bf101932d0170e1b31e2455980777f4fd1fdc659467f39f1194f6b78c99bd04ae942a22af3f2664aa9cfc9db0a85bf4d47015a8ae6024";
+  sha512.run = "c0b775c16ea9acc7de952c6d08d49f57ac4517d5a78e822255176ee1f570c17d584b34821a255ec10e7fbb9334fc7904147bc4d613ad4db9553a3917f737b924";
+  sha512.doc = "5bee3d448386a2bd508dcae495c6fb83806542680db7c5fe8cf35ea09a955df01e5c01fa64c28b64f0bb9a3dc0411fc68a835e1b0ae9d46c1387f544538d26de";
+  sha512.source = "b69fcf81ba9d05c20c64b7d71369ff25a0cc8185c914935cc986635ccf1ca9ce709cbe2f12f5e671a5b946f121950b3f6c6edb9d28e736959c5ccdf7fdbea405";
   hasRunfiles = true;
   version = "1.6f";
 };
 "sidenotes" = {
   stripPrefix = 0;
-  sha512.run = "4dfc504d10ebc71a302564ec7d12849216563e4a3bb4efa553ccf1973601ff4d5fd09b4b8b9cc832a040f984d5c3935f9ed7dca11692732612df2b3b0fd43e66";
-  sha512.doc = "91df7e6bbaaf71bcf4c57ee217c9dd550a03e5cc03c4db7faa9be395a1a92926791604d7b4268dd8cf872c935bf7b7fa3106b149fd028b674d53057947c7f7e1";
-  sha512.source = "069084b708ef02cb2b9ebc6b47236d394298a6fe2b3c5a81a7d748593b541f37cf5f55e6b9428cc25b43201d844908cf5bc89cfc378b38fad5bff758662d04b4";
+  sha512.run = "4e8fc132974ce90f3e08bb3b2770c88faba2dfd7a9f63bbf0b6b900811fbdbb2c625015e8f181968918a5965a32da8ffccf2e5798f44ad4327a6bbbda785c708";
+  sha512.doc = "944b4d77b6923328732038d273aa74b14689e5177b4d609c81735e189556cea7f66ce81c89c41e5ca0d6b9871e412e21d836024a5290f31a3fc419b7af4bb34e";
+  sha512.source = "e18b26b37882cb7b5ab6fd1f994b2a0bd38e9872ba3795c4a5b8269f1b0099e199407200b84bcc6c51eb0f882993a835aa94cc1cc409c5020dd5387280203d35";
   hasRunfiles = true;
   version = "1.00";
 };
 "sides" = {
   stripPrefix = 0;
-  sha512.run = "1b0c13e382579d1bac38e788c859c89189def12190b05debbfc42d63d821607f091cb98a197f85a92e860f61baeaa3a93e979557a0183cef0423e336e17a6da7";
-  sha512.doc = "a72e906f0844989b3207aaa439926584ebdf32dd0f7f6e01be7375b45e4752b8b2991b9cbed0bff9a08fec78af3522399a99cb79cc8bb6479cd562fef87b1d79";
+  sha512.run = "739e26e0c0b77d75e91f2a3a18996aa55ee1163a2bee6d489db4ba3b0864b51572c55ec53441946f16cb87694425d09e613abd2223fba2941fea4be137341b10";
+  sha512.doc = "653a8472a278bb1d33d9f86559398b62e32b521c6ce8dd977dbbc4f44183e37b95378ea4b29356948735c42925f9ed25153cc6a9009341ff01d80befe2bcddb3";
   hasRunfiles = true;
 };
 "signchart" = {
   stripPrefix = 0;
-  sha512.run = "0e8faf5ff68ca32cb21c611b19f90234ebdefd01958be303c8dbc8c46b6de572f82e96a05ec51c2da65f1b265226a5bdd2521a695ca698f17f92aec6fabd7f83";
-  sha512.doc = "991eb2ca4b93545d4e6ec7aec4db2d48f4ad5dc3ea292d254e83a6063ec2be276c6a0a9c0ab1e4b59572974d37758534f15a4a90d0e57b2576f9a51fd3662484";
-  sha512.source = "8400cd907f04a4e2a9f176d9e1a571475458cf88ab9204076b1c15430a5d2117c41fdad82ea2c7f6b6eea29c6c4b169253b9d56a4f520d3e11a6fa093eebbf1e";
+  sha512.run = "d379bb1a9fecc06f4e48419d0f4f49e50b6b276e15e64992ee7e154154eefc24e71c060066de3bf9e97da6c8e62b78208f3a01918150cd2ef51231b5abaee44e";
+  sha512.doc = "7b140f890f3342ba6b2d25385dcae6925d8e445a862af703578f455b73c69cb71f4b9b5a933ac8b1a16178874f71c80d124c352b5aff4d7bf3dad6f1aa5a3874";
+  sha512.source = "c2f141c1e0a279d5a76cddf97d5dcf24e35cb219d0a0114d5d2f91a6b24bde3b900b168225cc6afa4c623c9011bd373388799a0448ff588ffefadf7109a24af6";
   hasRunfiles = true;
   version = "1.01";
 };
 "silence" = {
   stripPrefix = 0;
-  sha512.run = "b7961132e8683f10eb2abae6cee49794a53cedbf6a878a972cffc21aae509e2bcfbda61b450c4f4dd2a06450a976d0b27100433f784d837483b2762c8fb3f063";
-  sha512.doc = "674a0b23bdaa086eb28a15168dba87979c6082bce2522046cfece3b9b7a8e532069e1ad0d5c2c05b5a8326b920920cde0c850fbbd2ec20b2ae5cad4efbd1b9c6";
-  sha512.source = "e2783b26b534cf2dfb7eaae95fc3507ca9e2f25a0cb0fa2b771f522f65dc082fca7b0516ed74ed61ec54d28cbe4143b35bba4714978540aba0d862d72b0d08e5";
+  sha512.run = "95f4f095e0f70dcd11482be4f6d52c5ea7a06ad820c08386ad956b9bb9ad593410e59fe9bb5904c3242594d466c495e7793718d4cb707ed3edd1d17ac3c1c1a8";
+  sha512.doc = "988df943eaf9337145d081de38ac22389bbffd3e94408b1cbb5de7605cccb47e2fa837813d4647c339d978b5b9b3e82e6d9859b840e89c09c95dd9572db0601b";
+  sha512.source = "7a628ca9efcc34863f064783a1e65e7bfee2a735a2457413d5b938e50b823fdfc6137f56041885e2c4910119ac756a5d6eecff91d9e99eb2bb85d2cd73f273b3";
   hasRunfiles = true;
   version = "1.5b";
 };
 "simple-resume-cv" = {
   stripPrefix = 0;
-  sha512.run = "2345755a42b940f9c697100ff83672f673fa324adbd572884cf816c128d324db0480674ef04e27b1133be07c0ed49a8a1e154bbe01935291c00d1f508b630883";
-  sha512.doc = "10fc221f97110e11039e439b9b071c9ef5e988bdb7e3ba88ebc2a5ecc5e551028ea6698f14332660758c7bf1571fc4a2c42f03a524b27ccbcb729106bcf522a2";
+  sha512.run = "996341ce711f6f9a68ccd7e0b315da98eed8f4737d44b8dbd9881c2a76c8ef2d04b1c956333b0e33997d57e0b62bcb2485029283bb4f4711c2f8e38c177755d7";
+  sha512.doc = "a380b2a498bde69cef1ba2401e16886d35edb40e3338963bcbd6e862da3e54f547e7900a18f668515b3ff178462a4ea0d41bc228b6b6e7ea8b0693e295231e92";
   hasRunfiles = true;
 };
 "simple-thesis-dissertation" = {
   stripPrefix = 0;
-  sha512.run = "4ba32961d1ff123d87224af6a3ba015541f76f7f536093b61fbfec366b79e90443ba113fa824625a54556f77f8aa4c34eb6f79401af491408ee24ca0063b68e6";
-  sha512.doc = "93b9b2c61b47286e2880e2f9bba4845f21fa65b0955cf4b427b624e6d4e89dd1aedf625f2cb44bdd71e3132388b14d3bc6136fd1a6efebd5e44261f8ced5773d";
+  sha512.run = "201826e649acbc8dde933da3d141408ef3e4f3bc5daffbd520a19885af612f17de2618fe7e8c78a419b6e5e4eeeaa36a2fcb3db6f610df2189e01e0b4a66e9e3";
+  sha512.doc = "8dd82147b1096f728fd52a56c39309d0f421abdd972a1297b88b516e0a5ecf8387a3accc508047bcd3996ab81d778dbdd221934e2bb4c96e1ef2a59cd0fc6995";
   hasRunfiles = true;
 };
 "simplecd" = {
   stripPrefix = 0;
-  sha512.run = "485cdb853f05f0cf4a61c505e93e30b15e5223b26648db2c9c42a2506bca8cdbb619502c7a7ccff467bf6caf3880889bc6e95ea5a079ca2fb4f7b232ca16c567";
-  sha512.doc = "ccedc1ac3f8a491b7161e4e174ac96efce06296c25ea114a01a8f3772308daaa70ae43dfed5a84d5625a504b1ff5cc206cc001395e09967cd6c242256c52e72e";
-  sha512.source = "12b998c2f470908ff3007bcfbf179f0be57edc50c177ef8563463299bb5a73d4fe672c47a38f1083f2702b67e6703e8d5f4fbe7bc3d022aa03ce6efe4537237a";
+  sha512.run = "5fe4024ce7991242fd60b8a87c88605f68ef9595895857b56981b35dabe96c97f9af684fc5ca9c3089ba96791e076512ccd549ce70071d215eaed4e731145b30";
+  sha512.doc = "5cd208f8869dc989542bf028c216fbddec5bfb285ffc18c25cfea928035946e903cc2b61de630125d8e8deea772f7f20cab552505538eaa5d3aecaef8192abec";
+  sha512.source = "9b26b5fb78bfeb1115af219615c7bcf2ee85c5878ff18807444642e103abccda517c3d701bdfd655f5f9e3d1dc0374c316db96d5d7b0ab9addad74b8d7ecb5f3";
   hasRunfiles = true;
   version = "1.4";
 };
 "simplecv" = {
   stripPrefix = 0;
-  sha512.run = "bee78f50077e4b307270f7f276180ad6ddacf15ff76edbdb236821a2f58dae058c30968071ea7b15f4e15612173641b6f4176d67dd734cba89e788ad35f3fa88";
-  sha512.doc = "f38cfbdbfd20634ee364118a29ccebf1324ef0746de87c2528f7ae72ba44a25f3c2629a626202aa689c88ebf036ec184a85621e43a4de4a4fb4f8e59746c6107";
-  sha512.source = "adb3a428ceb3c0239d09c8d2fb0652284218d0ceddde00547dc9c93a112c522448c4a7a85d5d247e1a8a4e67972dd40c19c0575fb853c33272d79d022e83ad60";
+  sha512.run = "c67e9200925ac86386efaab35a8edbf20f0fda700c00c3b0350eadbe62f39fc02f502493a73acc768a4727ad1162561d7baf38193d57d1fefb4c8083ebe38c35";
+  sha512.doc = "dbf087e0659f11b4dc0cf40a6826cc45f48b8155d9148262877a0d51f5766888780698d792f055666766f029ac6f5384b41c0fc41e1c84548582e665eccc0f20";
+  sha512.source = "cc8f96dbb9c99cf9567171e65276d18bc8faf4fa9980ca1fb60fb5fe1ab250d462c22af29105501d72ac7ff0421104be78f097bf6afe8b88dfe48932ac19fd70";
   hasRunfiles = true;
   version = "1.6a";
 };
 "simpleinvoice" = {
   stripPrefix = 0;
-  sha512.run = "fc05387beb66a10323158a2007033cbb10b0639c68c3d9d72f0cbce1cc8782e04511dc76c97a840bd36eb779b8c3fcc414465990ab970444652300fd5ee2a733";
-  sha512.doc = "26e3a4a0bdcaa69304a4b63ba1a59473ad57bb21b9dea49c946b9e1124f7bc03109893e15f1c808a9784f74caa026e317c8369ae1031981a695029f069ddcd22";
+  sha512.run = "8d3d905dd9dc418503bde7cd51c90ff6fc6f688502ff871040f9eb6bf96b6c1ef999d3dd98b16c8739ce9518a22a8e99a23b5cc66c437504b3837c30ea19cca1";
+  sha512.doc = "81e5ff2bf76f2b35549feb9b6336bd04b9273d4e6b951ee327101d4e5a5d3c429276735238b63c3b2ee03466b477ca2d7990a68615c1d0eee4f12a37d6b65472";
   hasRunfiles = true;
 };
 "simplekv" = {
   stripPrefix = 0;
-  sha512.run = "3d4200cc9892c90c74651a3da4fd2b485bc336892501422eca71d584f6f48f58be996732676db1e9bf998cde36b1b35155635ec2f3249f6718610f3b5041c9a5";
-  sha512.doc = "2cae56baed8025a4d3a542b210331780894423cf38a35b7fcf7d4c0cdc97a0ed11377139ba92d35331150877479045e33eca77be5f7e9ff2d9f71e706ea5942b";
+  sha512.run = "a67e5e977a4a14b32f3dcf08ffdf4b481a3926e9a5a7259b19aff07c4e311b223edacfd5bef8f9ecac4742dc94e7c65400cb9d883677f96d3d7d1d6256efe5be";
+  sha512.doc = "6a0e0a7200bbfad56ad6729cb375fd11e105cfc89ba93fe592d14755a88d819b69dc3a383f9fe3c59f8a9076450ca5fd75085101d7ceff4a62e2d738b0907f15";
   hasRunfiles = true;
   version = "0.1";
 };
+"simpleoptics" = {
+  stripPrefix = 0;
+  sha512.run = "85da18717b1907dd50fec7ecab0f90cc0f26ada24965611ed9f2a3114b46e58affba11d8f71173e4c2858054670814a67061587408a02343df355db18f3c74a7";
+  sha512.doc = "b1ce0a90eef3755141db1f533da69959f8e356fd1a8028765833fe613e6427101a1d71776ad01108fe0dddb83bd786977e644124806eeeb036e5c011986664f6";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "simpler-wick" = {
   stripPrefix = 0;
-  sha512.run = "5ae2b0ff7c404b71ba6ce68fecd428732d7821c3bf2bee3fcb006cfd4bde646abc71fa677b4820f1075edca9bb6aaac03908745e8156e73204773be0bda7f7cc";
-  sha512.doc = "8436fe02465c860b33cc5d6d99fcd5584466b93ad719248b2b752d89994050c3a503b0fe0e6474c71e7257d84699159bdcf7c2e538fb13b74aa138122bbf3d5c";
+  sha512.run = "2bead248c2380e19fb19012ba2cf7a41fdd113f48a372011c27ebac0820236500c5e49e5235e2c52fcc5a0f9c79f61cbf76a5d6de86322bc40382f5499216783";
+  sha512.doc = "d8a45e06707d3e6c39e36d83020f0a2d4654cab508d91e47022320e67454d08958cfd6d3872c5ae40539f29b03080915e136746452afb9f2e74fe8be2ec20bc1";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "simplewick" = {
   stripPrefix = 0;
-  sha512.run = "c1679462c301b98b91176a2488f2093e7a6287c7beff71db6c8ca2987917bb5dda2a346309addae980e924c02a8579ea692f66c813fd0b9780950f577a266599";
-  sha512.doc = "9267de9557edfe5c85322ad326d870f4ff6658020f5d5856114d250acb30682efd642f9620a40e1a21b173a838bd33d5f4324c3e97b2c5893d2b8a42856b0680";
-  sha512.source = "79791479433c4e23c962982a9c7ca7a9ee861d0cdc400221eac89aee10bfb94f441d45047671a4c8626567d0b42055229ebe6be65e1ae7f53790f5807494577f";
+  sha512.run = "86aab23f8d19e9fa5a6251f8f725ada87b66a71a3024253d8b56f3edcc20f26695b2194b710f691ff9ed0713c993a8652447674ec84d4084c3354791244a6f10";
+  sha512.doc = "bf0c3b8724ed8cc41635f45001fa04f655a7b37792c5b0e632578b066649c3bde1f894c3ab739ea2bb49f6e4f65e63fd7cd7d515ea15b53ab5894778a7918d13";
+  sha512.source = "45d26e7044fe0928eb8e572f0333bee64c008c2e4d1536a0145939ce0f3392961e72bd7fc70c35b2607b2a241249d13e44e433b373b57898193185a808f128d4";
   hasRunfiles = true;
   version = "1.2a";
 };
 "simplified-latex" = {
   stripPrefix = 0;
-  sha512.run = "0a923443dea8c6aa4a84f5251a699fa15b0c2bb504abbd6a30b88533b7f3e3f8c116b312f4e7fa9f842327e4afa8bae1493ca8e5c47a91b8e0afe7fdacfe8877";
-  sha512.doc = "cadac28791129332f0650fedbeb32adb608ef91505d5904a990721f40e8fa6f3ab6bd9d513481ed2adedd245af48bf3d16f2cad1a85bd7180b53de60fbc6d182";
+  sha512.run = "31313aede3900675d183bfcff0045df5fa7719b982df1822823c15d645c7ef64c0b46e0f1690d98d30b2a6057e082684f23cb61a490fb2217887d0f20231ce73";
+  sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
 };
 "simurgh" = {
   stripPrefix = 0;
-  sha512.run = "1354d65bbe08af6757bccac6c390cc0f900116eab201bfd818e5deb837b99dc52eaf32203f64466596e1ff489f987d407cc3b1b4351da51359d1bad169c82440";
-  sha512.doc = "6b7d053346c75d832aa388fab859193ab16de5cf3fa0434a715e8f74a82c935cec9236e082ef2769d159158b89f19eafb4397e33b2da2b40fcb2d699a7b90232";
+  sha512.run = "11b77f831aff6796e41ccf2024496ae1c9d4b9b5f4c029daf33e0eb4b4fd3d1e5c78137b945e3c9fe7a16380365fb88165a46e614dc3078657ce025a55f90d44";
+  sha512.doc = "30ddd7a9bbf3f568ad4876336228842651d8f95eb5f21df81ac524b99a7a695e68e0469f79867668dc3b9913cf223b72a22f6a0d0c818233c081ba90ac67de1a";
   hasRunfiles = true;
   version = "0.01b";
 };
 "sitem" = {
   stripPrefix = 0;
-  sha512.run = "92d4b491831182a05412160edb32d78c41cf50b83f2335b6dadb4bc8871ff9ec9783204f438c1af104fb403b12142632ab34c522e425238f375b6d635b820ad5";
-  sha512.doc = "b276d43061a695fc164cd664d460eee714d3ade2ac7fdf129bb46a5f78c28005143658bb92a06f37f927224aa5246ec31a543577da76d391906ad1f7bf6a43a0";
-  sha512.source = "4a5c026ade5676dd7090c775554bbe6d561dc029cc34eeb2889aaa5ca7398932ffe8bac5ec560e35cb7f8f4689dd258fe781ff41e97646c7da231ff32c9c0321";
+  sha512.run = "64a34fcf0769ed4ab4b201facc056b890a89009e1847e9ca65fb405e1c1144225e8fff59c1a906341521bba5d39e3338900a9a35aff5bb716a5aff5e6aa4d49a";
+  sha512.doc = "af74d7b4f4dfce45e543494344fa32f4f4d55435034cc1b23b24b333f89d54d0b8c9d0a1247561bb7182d3841fb04b7b3531be847a6fed3db212497ef2ccec3c";
+  sha512.source = "9aa058eac9367ea31804b5c2983873f16d1c74f598fb0967f43257a963a38aeb7d578ddd596dbee87d942d87ece9188c6fe0f5e8734751325121195d9d348769";
   hasRunfiles = true;
   version = "1.0";
 };
 "siunitx" = {
   stripPrefix = 0;
-  sha512.run = "7dfb0a614d2962cb2c82f04fb531cbdf7f91bf8dc0e011a53bfdfd6d6c9191ed5c8b1e822e0dc458bdfe951d6612d321d6e9819b58183f66690bbb39d274eb68";
-  sha512.doc = "4628e80afab9f0c8c5fd7d884f6d007d4e9a5a57c8cab90b823c450a2df8c3df83fd96e08823effe37051b28d3a8f6bef9cc74887cff3c1cc7309b234e6d3ce1";
-  sha512.source = "6dee92822781f6575a40c0ca9717153976f2913e6d5d5af50a91c7d719ee1f0efe42f472c68f35f78400384a2f936342bd54f9be4e2aa4e261310c0dda0f0292";
+  sha512.run = "6f1fc4ad2face3958cc6bb1a829ff99e8a0dffcafc88142207ee699f2b182a7b55c52fae4eff108daaf8e3603e309eed280de95588132d1ccce726eccf0a0cad";
+  sha512.doc = "99c0e95e386a898647124dc38d20b36546d402c0d3c76983de401f336c73e9b02936ae2401225bfba2f17823a734e1f51d0684ee61a9b404743de95c8ed89723";
+  sha512.source = "4cab6d4c7958021f2ee6a0f3306b542678b4f80b408a7b5fce7fd25772fa5ad5ee5620288ffaef02f3e143c1130ada1aaa3206dc15161eeff186092f6b8e23aa";
   hasRunfiles = true;
-  version = "2.7s";
+  version = "2.7t";
 };
 "skak" = {
   stripPrefix = 0;
-  sha512.run = "853779e87f148998b7ce83a75651dccf2e59072612e4653543f4cbfa58c9a826bd8733e7b29971a8e5f19891fe4963e85e85a223e61c26f8ea68c37c484d4e36";
-  sha512.doc = "17ed00f9438f7313bef29835c0d46d4dd11282e83dbe5d526052f14f0c7134cb186ef3fa04a14513395a0a4369baf98c555559e181218e858508ddbf94c6383a";
+  sha512.run = "7bf473f1f35fa05c1cc7cccec212b035619382ce850c287a6b0734cd52182046df35133bd919a335532db9fd5327d2038ce1c3e98342055d93a5dc3b16028697";
+  sha512.doc = "443d98538fb732bfe9f3df26e05e46be54641006df255d3084697301cfa93f48cb8d307a9a5b58f25742b96065658f446b52968c3bd8ce14fdc864f32cb920e4";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "skaknew" = {
   stripPrefix = 0;
-  sha512.run = "3fecd59c3c2128830d428fbc2fdd2664fd654ad19d1f2c9658f80757b35d099f8283dd251a0b8245889e1b2cc6694b71f7c103a4ef9e228f3931f1ada75e2229";
-  sha512.doc = "fdb5135a8d33c833d3125b29a4c7c8f85ff308c2b11f787c6a70e9a7d22beae063f69ff6c85d23132a88970385eee6abb9e3f7d89c70f89d0b7004b150d82364";
+  sha512.run = "879107f0bb96441082ccc4afb560e4fd0f625e7fb7cab84ebbd642af1ef180bc27540eb9ff26c689039dd6abb11e9b88bcea30d5b1e75b40f0e3499c981ae6e2";
+  sha512.doc = "8c26115910f2e9a9ae28e1b6c0933db3308c9f59eb151bb37b23de3f0f790b9726aef895def0826e00928b75753d925c5c9db0a6b91ebf7035fad5a4e473a315";
   hasRunfiles = true;
 };
 "skb" = {
   stripPrefix = 0;
-  sha512.run = "609b1e74e65ff83778ced419ec80daa93ed78b708da989523bfa3b2346d5ede42f4ec353d8e390bdd691ee078f9fc55391dc825e280a860ef8d1bfa798590c17";
-  sha512.doc = "cfd2bb648f3326d610c5c8903402cccd76fce3b9d28f2314161bebca7624f171da64badbee203d284a73a15ea81c20091a229a0698f3d524635f1a09c086013b";
-  sha512.source = "1a71439072698ead9ee821081de1a0a2bc6c974ce514514473df544419739095e363b2587f3b7e333539b5f39e6069f990fe3233cb9fc182e8e884144432be34";
+  sha512.run = "5c2e0e7310898e258505cf438ad91650fbcef6b720e9d05b9ddd241ceca3eea0ccc3a71b6ac38acee58d8e205b8352ad7abbdc277596ac74f6a5cf0ca805a0d7";
+  sha512.doc = "29aa9629f84a481cee1871b92b49e1a34683092759864f1e612ef4f7b3862a9ddf567b2d20fae3f99d5946de43055de2dae8ad326000e344383c854eb9ff4f20";
+  sha512.source = "fd0f3a1d4cf3fa189ef0fc8bbbb35586a39aabbc733fba3aa9d3fc48d920c416316a4a19d88583ea42b1a4c38baf4ec75cf0eec78b68a5434f3ac4578d56ea9f";
   hasRunfiles = true;
   version = "0.52";
 };
 "skdoc" = {
   stripPrefix = 0;
-  sha512.run = "a89565128ff1185e4cdc336217ddf27b2af60aec9cf90930a7f3f6a24421d383cbfd223ebe45701db72a25bc4033418d1c633736fd72b80e61eefe828007eac8";
-  sha512.doc = "4c5ccc21af86f5371a09009ab9afa9eb2b9cef825ecd6f50648e92c63223b97815d0dd55eaa3880987a47fe2591487324ebe922285cea60301ddaba9a6ecbee2";
-  sha512.source = "ee7fd15beb5a97a7c731ea3d55d088551062eef306dff09410bc45cbc9e3dd95e0f10a788bc57e560a008460bba5e1ae065281136879c5e905c192a344ade80a";
+  sha512.run = "3f4bf340f6076f00101cc8be20d284d487672d544f0c17efe41cc1b6f469df90022455f23b790a8289151cbcc81cc3f1e846eb242321221ca290d97ead9ff2a8";
+  sha512.doc = "b3a4972162cf366c5db5820b0075871f651c817a36c915841717d4856b5078a9de45b7043ac1cac0bb8e4b9f02cfd0a89fdb53b0723475950c182bfe3ea6bff9";
+  sha512.source = "cb4f18a74cbd84e1d75f7c024746d161ef62c79a2be62fd72d33a8a2ec3c8a8594f8ded5721a390fa29b8b31f1b6e77bad65c96c82ffb2299c58a4446204de81";
   hasRunfiles = true;
-  version = "1.5a";
+  version = "1.5b";
 };
 "skeycommand" = {
   stripPrefix = 0;
-  sha512.run = "c99f23a066955148d6212a2418de29bbec7b300b16b2da58d581328f8bef884b8fb1ee87a076b3f1dad6d04e6c523a4ed37a75a58ac0cf656b485b80462e10ca";
-  sha512.doc = "45208bfbe41325b2120a071d32a70bab5ca993e0e9ca0b006d7e3a78513dc5fe0cbae232fc56f6a80f864794dab1ae82b64ade55a2bd4eced37c763ed1685e3f";
+  sha512.run = "0aabcf0a47ffbdaa2f88bfb970f844df36cfa30f2e5ff02cbd9dba2179fd871c2ae1f979a99e70f3f7f2ab2589b7ecbaa6f999352559100bfaefcbe7f6ec16a8";
+  sha512.doc = "26f7e544e9b1b75fe7131d409c3083c39914424c66051e46535de5415383d82e48a3e2c1d35e34e5bac624a034f2e14623c8cd5b6844707b09fd531daaf7c544";
   hasRunfiles = true;
   version = "0.4";
 };
 "skeyval" = {
   stripPrefix = 0;
-  sha512.run = "0636c805d4297d07a7247625abfb3a4e56b3b5422357ffea960f376617d49a442e51d6184b46417851a3f57750297fcfd90f46d41aa166e8febd62648c6feaa5";
-  sha512.doc = "dfc0edb8eb6f9ee857a66bcbef70c7c3e8c0af5eb5a840b323088e316edfeb75ea803480a816156ada444648c935eb6d09958e9db3882fae056e1185f1058ee4";
+  sha512.run = "151a705f5e62dc80e8a470a7ce39cf197933452a35b296e70790d7ec0f6667f24acbc0c643db6c402ca1e9b9735f34be388efca5a5e5951725e8f00bb8d2833f";
+  sha512.doc = "97bf20706cd14e0b479221c6ed96e56754aca13d7b72f1d7bedec6117d159caca2a4e9a931d3d8311f593a538985d8e4e5bb9d5a76a653d72aa8d094a66e9e92";
   hasRunfiles = true;
   version = "1.3";
 };
 "skmath" = {
   stripPrefix = 0;
-  sha512.run = "44e378e472183c2f4cd9943ae2fd4bf6e7e426ceb447eec3fcbaae89f86a52bedbb8875d64fad4770fb4c770e4b9f23cc4c543d8c03ca61ce9bb0fa175e0266f";
-  sha512.doc = "f8a9c8c1b1a7c7b0ea16a3d013de24525181bfd1bfc7f1415207d628845310a928bddaaf13bd8a7b2ae9bc831085598fa65866c75770ccb02b533d7bcd2b8bf2";
-  sha512.source = "fcaf31bae9e974588c930cd191fcaaedde706504242b5a30faaeecfbf65de1c63aa07bc077ee522db6221f591cb56671569bd4fb7103b2e5a63436e782c6d020";
+  sha512.run = "6cbc67d9a6fb9cb6a3d8da38ff83bbb6dbd28c5e3e81a07a1b7292472d9064f321206ebd4ac1917d80f138f9b9cf91c008b8e3eac27ef0a77ff2073cab08eab1";
+  sha512.doc = "ce579b82a84f81169bf1a6cc37fff0c2e7c4e1570d0cbe2eb143dc8ac6dc082fa3cdaecae5a31791aa590c89fb74a58a4451811ec66d38eaa146520ff16e7471";
+  sha512.source = "d5101fecf8963f78b9e202c9d537723dbea069558cb764fc66344862cbcedfd81ecd3d923ee2f8b1167a65f8325e2f1fd66f16089a92ab419a580ca7313fa484";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.5a";
 };
 "skrapport" = {
   stripPrefix = 0;
-  sha512.run = "50e4a6933e2a1f4fb03dc529d4021346e0226d0432d96a4cd6dfff9727ac3bdf2bedea4514f8682cf621696d53f9948724828e7eb452e28125920bab0b2ab095";
-  sha512.doc = "835504b66eff2e8130fa541bffca922a337a80d057c50bda37e0e3ec6f0c12319e01a682b4f098684b898c810c68f2cdc7f45ca492bea6c35a6e1f9d82478434";
-  sha512.source = "b52afc45ba957c66017f241c2c73af0869172dcb8e81946690a184c6bf568093d76d5fce5da29c592c6a96201d12b6243b8c63413410591a6f85284978ca3f8c";
+  sha512.run = "60ee0f76dbf9e1539c08a97cf25cf14d2fbf02527facc3764c57cf0812a67d740d5c3148a4a7e76a6880717166c935b34bcf38de0b4f7d02df9c1ab50046a2ed";
+  sha512.doc = "986bb0ce679b69bd9a0958b6d4d1a3fac49ac6a5e31bafa5d556ac28c2bc3d0d8c892e998791e74172ec86c5899acba2cbd193dfc685e7dcb0b5d47b4c2e3576";
+  sha512.source = "b2f63eda57ec7ecbac63c6f0b2dcc2175bde5618db88cd6270a27466178c39209418a94470d6f78b8ea22c5e6ce8d3dfc178f52cba943f9ccc98fea447ade818";
   hasRunfiles = true;
-  version = "0.12i";
+  version = "0.12k";
 };
 "skull" = {
   stripPrefix = 0;
-  sha512.run = "f1a347d05166df10bd4bfc3295ead834bebee50a2351a860cb664020dae73316dac8b249619804f77fa02675e6e124258ca2669103fdcdf3f498ad87bb1d7b5c";
-  sha512.source = "002d7c12e21ad67b33ed8d91621f679fd081e2b79e7aa403690d989375125b21a01c0fa1bfb6b2dd46a36295f598235f87fc309aea5ff19c3fcb723e01b8c896";
+  sha512.run = "261ba31f30fa26e25f82dfe60ff7600c71db51f1dee68a5c094fa8a746995ee9031e41c0f24a4e83aec52c603cbea71a0773cae63481f167b81abdfb0ac3f782";
+  sha512.source = "3967550eb9af93aaa3fb9c623437e2c6ceb90f52f20533832aae3be91c719a774e3fe6a51f4d1543d6547479a2efa6c1965f0870174cfcd5c93cef0c20aecddc";
   hasRunfiles = true;
   version = "0.1";
 };
 "slantsc" = {
   stripPrefix = 0;
-  sha512.run = "5ffb339e971c1dcc16027b01e50e44798eef93fb510ea4f598099deba7d8e711dd12d8324a95e9629da008cb8eaddcf5e7a7e633915f51b58c19d24fda289212";
-  sha512.doc = "1acdf8b580d92224289af661989e523bcb1839777e8071b018b5a8a6bbe7b8339275506984ae505637c254dac81f8d397c92098b54f787d7c187497c25b1f11b";
-  sha512.source = "7e1c5541ae6ccd907b470307d024fa98a67ee65c8b5a723c55ea4ab49e456511cf23d55390e33edb38dc44ed2407ab9593163cd69e627379c1b85bf0cd79b43b";
+  sha512.run = "45d92cb8f2a5aeaecc9945ce2778f2fa330b703ea0efb2deb4407ac17d30ad3a3e1ae7966474af28a7816dee18254422fe7c72c50f11f47cd52a54522f05fec3";
+  sha512.doc = "8f856a45e3088d2047157bc87d60a16b6c6e481334f4ee81a23e4cb8ecf53d1113849877ffb24ee4516dfba228c10c9974b0b0a148020d64e3069ed7a2d12750";
+  sha512.source = "7e2af37c07b8ccae052c84ade3ad49fb4d93fb5fd97a5387b1ea8af523167f21d48e3961df58c7a93dfbd07f09ed1140839e48a57b3149dfa713e5945081f200";
   hasRunfiles = true;
   version = "2.11";
 };
 "slideshow" = {
   stripPrefix = 0;
-  sha512.run = "c44a782de77d5b16c0d4c696fe5541a9073e59c1a91a97ffc409d2c4ac15fa8e1da3fa56f8a79225c2427223860bc23e160e6d291d8cc6d0e4fdcbfc96ac0e54";
-  sha512.doc = "c8351470d808cb11be9ddc8de32ae446a0375c5981902a3c6b4fce16b0b10c74103f10fe0d6d191f6770ec3a62783076cde3f516709bad6ea0fac226ab0b022c";
+  sha512.run = "f7bd44c9720512297f15ff6cee1c49ca52c29fc206f739e6aa447e778fed00a64e282aeab9d42b215cac69a64ab39f3919433bd0640d30d55ac540e2dde07967";
+  sha512.doc = "d271c1f9e7b9c45694463982da8c9542fea326d7e191a705e92f5b423e054c3f926768d2209844ddabbe75eb610d4a5cb05ffd53098cdca9e35328c865027eff";
   hasRunfiles = true;
   version = "1.0";
 };
 "smalltableof" = {
   stripPrefix = 0;
-  sha512.run = "c1ddd107d59ec950011b48cff38880b1353869d247701d76a8e3c0ffc28f50d31c982cbe8f28388378be7e7e40868347f20c5f31ee2763df16b6d24c9e5b447e";
-  sha512.doc = "10f787377bb431a48e4a03d6bbf8affed7c4954546a751dbe16c88ee3dd0cd47570a4cd7ee6406c355fbb54cdab51f95fb87d96e10b162e272701a7d8ad6e507";
+  sha512.run = "50a4878bddc55e1b05ede3e770aad31f6c56b81f9e6d0a536ece25729e3c5a9a1720068534f26a9c224c101f0e0d833478f1a5c3b12759d7c3ffce027bbd5edd";
+  sha512.doc = "ca62aa29f6ad62f149dd9c5077ee2b14ed69d8a750f33d3de274ae275e5d1528482e58140a78b0917cf02a879206194e24a6beecd33060544abb50dd6fc564a6";
   hasRunfiles = true;
 };
 "smartdiagram" = {
   stripPrefix = 0;
-  sha512.run = "c07e40ce025cc05c1cbd1da0f736773ef446c193d8efb9f9437d63e8ac15e5ff4e598b06564c2e9ef410bbde20bcfe1a2d971523601f844a46654f2dd6dc930b";
-  sha512.doc = "f102af261f8ed7803da69ebc9498377a86c3e087db12d815e485706b5b221d9a8fa77434cea09f386ed181d10f8e210c32278def786ab35c60fbff7cb6702ee8";
-  sha512.source = "dd405b652293c7f87b3b3341b1183d6e69286a924ed250a5353f28deaa45f486b9b906da22b60b7797b434a15a168f24006eadd893f118d4a556c07e57b1b211";
+  sha512.run = "322589506d1cdaa30dd9f97b419347fba0d617a3ad35fd15fe91611b10382c595598ce1111a287f5b1aef617595cba77b53490da7744b23942f072f522a68ef1";
+  sha512.doc = "1cc7abaed3dcdb11fca675bea8e458f1879bda4ac72278566a9247ec2cb0016f10467e3120e9ef688c5674af05559bff39862d4b3292596f0dafd5e13672a14f";
+  sha512.source = "a1141f82e32b444951bac9fa0fd119e59cc2389577cd05cc19702582c64972602215648e727ccb338565edafb0116f6c50a033d9c3ce8664e97f392148f888d1";
   hasRunfiles = true;
   version = "0.3b";
 };
 "smartref" = {
   stripPrefix = 0;
-  sha512.run = "148c6b62c7e3e8f1b5690e38ab1733dd5e94a370dfa8a9ff0d2529d723e1be76e20729ef0eca3a11099adb4d0830f6d4576eaf26a50240d922fd55b3651cac5d";
-  sha512.doc = "cfc6b9ed3b35af9f4dc1dfc71d1b892f59695247bcb7d47fa9d4762ff7847bb0b4af8207056ed0e7060df28d83ab40efe881bf05fa9cdcee963459a1198a23dd";
+  sha512.run = "149dd95ca0677a4e273df64a589d1424b8dd89983adf3a3ef81f8236d1b594d35b851b4255fd9f0d05b4feb82db59d816408e3ca59f2b86b73a5724a8e937367";
+  sha512.doc = "07eaecd9e924e5912e8e3a3ba6479412282e1408cbb59699b9e83006768c4042b173d38da2e8dd2c707b392cb48d99e4be25985023db4de80d69450fe95a338b";
   hasRunfiles = true;
   version = "1.9";
 };
 "smartunits" = {
   stripPrefix = 0;
-  sha512.run = "b70c3637265196c56b07f8ac5a21d4c71c47d82b8def59deae453ce49bc9b29337e36df0d8d20ef560154a4917253b4655f7e0cdcc7de9fcb39666839a3ab4d6";
-  sha512.doc = "7ba15efbae145968ffba425954d0c55d3ed3f74ee30919d1034a79d591f9aa7654dd63650ece2cca61f8ead1267509b82994ca371e904dded867d7d846186d6e";
+  sha512.run = "d4c23a39d79cb5c0ba700da40b916ac6072e612d0e5b8ea1c189100cfe56fe77c9d1ff742d92fc44450255048d96f2e1dc2b5f0e098e56aad5efcdd423fec608";
+  sha512.doc = "e85b83a090b3e352a0faa61ee0f3dfc84d3f2fad8f1ef503aef7bf571e706575b19c1da394b09e69968b10fff2542b5b749a895eb17e84ce1293273532d2e241";
   hasRunfiles = true;
   version = "1.2";
 };
 "snapshot" = {
   stripPrefix = 0;
-  sha512.run = "28e9d5785aafce74422734a62fe2f807b585125caac5a7a86f70cbd19122daf3d44f4bf046ac4b5c4edb5bd1b7bf042232aed0a0ad34425e13eb3845c93dad48";
-  sha512.doc = "76b46eadb5f81970514253fb650a1c3450c8e57d684c733dfb2dfec01dba743e0ce31e65a72e31af16c8dd7db0927a3e9af98390e191a1bdab08f13cfa94cfae";
-  sha512.source = "7f31d845b33295bdb50e44754b9b085cfce8f7aeb26b50814dae5c3fa71605a175eed9d507d6c19d3577cb3c362b50936fe3299f499a62c91faac0123ed30740";
+  sha512.run = "b153eb4fe8e5ed8cc4d135edc3dcbeacba094dc73587a2b15255f725cd03ebeb450c562ff94e9d87927a6d04d95ddd66e30dd84c0fa664a1e120a190667a72ad";
+  sha512.doc = "14f92e7c36443785174f515c2fffa62f0bf253b4bef560de68cc9cf446fdf7c447e5552a1995dae0f26499e045c8e7baa991255f81b2b43c7bc27158083a8994";
+  sha512.source = "cb5b7313e16fa96f9e864210f5314be7153c10f19bbd509d11dc0a5afae3b0b1c6681453526fec4b7d4079bae0749b69dd5e227f01fd22590f2c2fd230ca4f30";
   hasRunfiles = true;
-  version = "1.14";
+  version = "2.13";
 };
 "snotez" = {
   stripPrefix = 0;
-  sha512.run = "37610541fa0db43bfc86a13ff501c89773ed1db3f419623f811f517c640ad3a6bea3a908f64c509d780ffc45840c79c056257a6626b476e7735644a1d1d38f80";
-  sha512.doc = "096add2f0af76dbc1b7953984e4cf27d404540f47d5e65a35147173385a5d47f108bf417a3573ea649219d37e8ee6b256d53fec8875bf3a9ed89a19cb8d7eb4b";
+  sha512.run = "e1e6ecfd64a317745fba39643c70ef5a71719e3c4ed3644569ab7a4a549a44eb58d1fd1d77608fd455282124d0e7372a364f95f7b67de192b1cfca1a9644086a";
+  sha512.doc = "6ab47280669285be6cd72e2027b939ab2c2e2df7c910b5775dcf02b570ba558a3c89832a45d65cf1a8a649dad67606a2d2fe3d4e477de67098dce497f0c2beec";
   hasRunfiles = true;
   version = "0.3";
 };
 "songbook" = {
   stripPrefix = 0;
-  sha512.run = "3461bd028cec5861f2ac19b613c4ed98c12533498e750daa8a9365c392f796362e55b91f8932876cc137394668894823286945a07896acb6a8eb29fcc8b20ab7";
-  sha512.doc = "1face74895aeb5f9a8f63aa3ef6848372825f48efec33af3209245f267716a03a9818eb30e5f270eeaadae7bab1c5c02377ea9b5b731d4827e465dd06cc063d2";
-  sha512.source = "23e6e07ad9b4a0859a2e9439f90231f29ab834da1f46a24ddae9be5e631754e352651fe66c03093eba28856f8ed7ad9aedaa7cbb8c1f26e0a02c83a7afef714d";
+  sha512.run = "06f81b35318ee9844565f622b5ecfb0f323373f14acfed3fdd042a244537c313fcc974c8cc556011baed16c5a7f90b8163342d36e360749db240e6eb639351b0";
+  sha512.doc = "a8d98e2d3b90ebfc4e8df53ebaf92f2d0deb95034bf234dfeaef1d38213af9a36e38d48599e6e78a7e87fb966de87db821f4de7a6fd50f57c1afb515050bb510";
+  sha512.source = "57fed8f034e860787cd72b2acece0a491832acc526964c75060258db6bd46d77a551b967af41bfeae47d83ab97e4d6c2799c0f4ade405a43812126acc1b3d390";
   hasRunfiles = true;
   version = "4.5";
 };
 "songs" = {
   stripPrefix = 0;
-  sha512.run = "d7f37654f8324abbabbc82ebc70a430957cc1a8af09f7f0e41110d4809e8c39252b8eac2e0de521519701c8735d73e6059b3c63b61645fce98309827b6fc1a13";
-  sha512.doc = "a114618be50d3babde08944f40ded36d536d6c5bf7292ae07ffbe57c5c43074520560aec60fb54373a275feed7f3ae5a4690fd6abf39a4c7f853bec56884036f";
-  sha512.source = "21dd9813c2cb873c2071e3107d1bea21a0a21209f1b4a3c5aa614d8c1da43f17197aa25dee83b65446ddf95a71816b2d94b6d72ab774bc51206c3bbcf06b4f04";
+  sha512.run = "dd1309fda1a7bff1236707cb45047dd5adc582d3e3f509f211af7a30c0469cde704773af48fed379a29307201d9781150487821219f76d45d556f1d27e420c08";
+  sha512.doc = "72c374aab68334b050a5d801299179c8484b6fa46db8c8e20b9fceef3cb9a8c0c1dc51de93f34115d4e34767233179c5872054cd03ea3e622abb63a49ad81f24";
+  sha512.source = "016d389033589ab9334180edf70321858ba3b6000d8f560a18631e13ef28130f4b39aed81f7ddf0a178540a463789955d14620b37b7979ac0ea6abeec77d29bd";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "sort-by-letters" = {
   stripPrefix = 0;
-  sha512.run = "a90f03d2347daf4e2af7e9b4bf2c6d24e3602252a2e1bec01b7eefbfeca94664073d2eb5d6910d527161736fbe8cb1a15fa571293f0da531c76b7635ca4a3037";
-  sha512.doc = "4d1d4323bbf5a6b8247a3906a79f419976e949531e2ff4fa527c48eacce289b5ce8c0387f589f46c4ad0c007b13bf40c2ca5d35b01547036c37b1a36352bf201";
+  sha512.run = "41e7db4a4c5242493aeb099ca103f4540e038b1e91ec0296629f4dab1ad013f98b26b664c7d661dd2f53c1e5c749509763c46f51bb823225a104c125a9f75f4d";
+  sha512.doc = "e2b6c68a42b9364d44dfa06ea93d8c8ea2444d97a3cf3c111065b720d3706b36315a7c8650877f1d6a2a72c1aa42268af4f17fc4632032e1e3c0a2d0fa08e577";
   hasRunfiles = true;
 };
 "soton" = {
   stripPrefix = 0;
-  sha512.run = "a50899eb0c2c0becac5199d43678caf40998f8c0aa94b42de4c6b07fefac7ce5237f64914ce93a76d68be918d2ebf503ce11bae78e95bed8ab65237431e4eeb1";
-  sha512.doc = "ca43e56168be89ebb655182aef8bc52c8322ca29b89c442bf682047a1cbb8ded6b639f8fe9a5c1e6363d96842ad78f4d4625dc05ad19c4177e7ded58bda67557";
+  sha512.run = "59e9e0bd127e44e1a80ff7dccf1fecb18b34a54c379a46632b13f82d80648229daa54c4655575c52ee718b02277c4e2b264451f8d3fe58abd60e593d0826c97b";
+  sha512.doc = "de9b03e8626535d2633af3884e373d8b25fe6d203af75382cf329aeb7b79c745f94c6d08d49a69b42172f4bad3cab2048fadcc4ad826a1c1126425a40289ecdc";
   hasRunfiles = true;
   version = "0.1";
 };
 "soul" = {
   stripPrefix = 0;
-  sha512.run = "7da58625623b2a7b2b077ce0480ab3769dc269c79eadcaf6b7273db67455ac7232ecb9d3e1a10cce9f77d9c1309e098ecda392eca8b203e724c6302632291d88";
-  sha512.doc = "c8fcb1573266487644f1c9471ca5e298a8bc20cbef916040f81f1209b8053f74fa439dc59f1ff11b734d9ccfef0d98124de6bda759a07894175c38785bc29f0e";
-  sha512.source = "fbe23d5959efdb15eb7fc9be141f0ad7423b653d0e2c87a2e60480256990899f4fd8a592665c2f937a2f59566a7c6e079cbbe168047050b062d3ac8dccaec73b";
+  sha512.run = "7a4ee70527282c50f28bc535ca34476538158b6fae6e37008cf5f04cf3caf5cc01ccb859967192da1b159b1026afa3eddede2cd86c3d63f469e6e2f6254a80f0";
+  sha512.doc = "9b8831cf9c013fcca715a8a7100b76f2de364f55e8203899779ba18868e637cbb0d00d982098a3e42191dc63ac41afc65d2547b9976c64110e7b83f5f8d0108b";
+  sha512.source = "0b3fceb0238709d4241a5615055c61ced473fbb74ff75d66c70a221bd0ec8b84769674a3dd57b93765812daed14a21fc002de022400fc73858c103a5dd9f29dc";
   hasRunfiles = true;
   version = "2.4";
 };
+"soulpos" = {
+  stripPrefix = 0;
+  sha512.run = "2f0a15e324013f2be4a8728fe9ed629b20b26a66fe2cb0d2347e12013684a64f908f9f1161c8f4c64928ac23a9fccdcbe5b8dbe85b0a406c5c7f7979223301ab";
+  sha512.doc = "9baf5e905e0bfbe0ddc956e419093518a3dc4a602d3e51bd6f9f0085a7ed92fc1efb194ed645c189e4beaf5b9a7900aa74625fdcc2ea314b274dea648b32ecd1";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "soup" = {
   stripPrefix = 0;
-  sha512.run = "0e0197339cfdce41b0701fca5f7934fc0f1457aa4737b922a0d0bbefd3fae5647c79442c93630adef450dbfe430ae187a13af181f7ddf3df8ac84aa2776ef533";
-  sha512.doc = "a8abcd649a352e826cd66f5804dbf7e114693f3242453ca23bd6ff0328d8ce6b87e3e904587a5fe399baf03b99914cdad22abbd87d68814130cc7b58ab0e61b3";
-  sha512.source = "9762ffe1e5c3199c0fb18c99e9df495b2f6f3ed8610db2a124d7f108bb2cab4a648849a4ef0f48ac73975f138c9d318e42c06bd059a958c28b53113179f4b1bf";
+  sha512.run = "478c8cba8623b184db1c9237b7a805219bf1ffb7ef45280fecf7cd75a1720ca0ea2e1e1ad73465ee20dbc2bbaf14667d4707524edbc073dd4fbd0537dbeca8c2";
+  sha512.doc = "318cb98167123bf8d9a5f80db8e31a31f6f61536e938da3b68efc0dfec6722bc898d8295d32896c24d2842b262f22f70e08014c07755b6728dbb2040f64aef5e";
+  sha512.source = "41d74f1e6812f4b56b44e3a80abb398baf9eef5c6a361de98a1237fc6931952460450f3780f682d35bf9bc718d2902c9d82ce15994144b2a133dcda46b531774";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.0.2";
 };
 "sourcecodepro" = {
   stripPrefix = 0;
-  sha512.run = "b9c4272ff1534c0f2de213c5230e0d78caf860113a5a4c280ca9f4a6f589ea572311cdc57402910172473059b4c46738dd801efd08ece47d709523d75b0a12c4";
-  sha512.doc = "afc9f3ec69c49a000b625c0b4221e62abce3032d3dc1f73bacd4e3789e80f342b52400a226079e4ebd4f824a2de1537cec85a8113759f708cfa99438facabd8c";
+  sha512.run = "45c41d470f0e84cc35d4c06cacc1beebd7891e98326a0e0f6462c7dc0fdf1eb9f4e0da59ced33e47c2c93c9662eec31efb8cebcab471350eb2c1c198873268e0";
+  sha512.doc = "7f8ca211769e3b626ba98f8d7265b7e383630c2d22496f03f79bca629f164374de9bb8601e903fc094c1264fa8b4ab4bef1db3b9deafef65ab41c56c27e8d8cc";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "sourcesanspro" = {
   stripPrefix = 0;
-  sha512.run = "139be9e91dad1d8599656a586a1670f059452424892a6962a3ae66c2e3113e7952d1bfc402c1273c219ea3ed204bd944dde324205f98b075ea9047fb2d97a908";
-  sha512.doc = "b76815953ceafd9c851a85c0f773a4efc6fb8b06395237608328381443a3628866c80cb46de351dd837ffe640c47cb34cfed19f3ed963bf2ac533bda9cbce9de";
+  sha512.run = "23b6a26836ec517e833c1ec4155b5da60bfd03ba093fadcbcd418658d3d36a8cc41914349cd117bf2c5eec4121bcd7e29d6c50ca8ce4e4728b729fcbf089d3ab";
+  sha512.doc = "963cf63732836329490ea1521ae0fd09e55591859ea4430799f32606c3710e44b7e203dabb4385821830043c12e6f19795951f3e4aff7abd173d8ba5d4d788ee";
   hasRunfiles = true;
   version = "2.6";
 };
 "sourceserifpro" = {
   stripPrefix = 0;
-  sha512.run = "71632ea780d5afbe61aa24e23a762329e207c2129783d2a8294a2a0f251a83e44239d1a01af5697b0499cb29f9f62c0d0eb6809a009c20fd4e3f8ea71bb9b859";
-  sha512.doc = "7791267cd5ba021f715ab2c544fd6bf7e8563a02d7cf5fc341e9cd4516ac9c10eab03435c3820a10449e0eb4fcfcb53d9df2bfa9f4fa74efda3cb64698816c82";
+  sha512.run = "fbfd4b6bd8f75079272feee5f01c0c4b47aecfe89e382cd8f288453dffd6152bf7bab3ffbaf4d90c544f01a5943d280df061b757169f3dd27970cccdeb1f79f2";
+  sha512.doc = "530b5ee29c8cad79ab359fc8fe225c18fe15483bb787f24c91a523ae8ddeca47aad5bf16c6ffea2465fc90182d5de65e08a1bea2f9015e710a03aed846510676";
   hasRunfiles = true;
   version = "1.4";
 };
+"spacingtricks" = {
+  stripPrefix = 0;
+  sha512.run = "6dddc3f6b839c16902a590184955cb1f220fc5d1d2c2accaf4bebb70ceba0f446ffb5cee8c8649261d22df79e556016361550570b04f22c3d61644db2d188034";
+  sha512.doc = "bd416ed7ba7dd3023be779ce3d67d1534fbcecf49c36c5b97ab29006f182e77f2882b0c0646da559b6132a40d97723414912bdb920804c5c1bf40facdb0a8c52";
+  sha512.source = "5ab93bfc21fc3bd52cd5721c4c7160ed200f39bd8546a6ad84779a1af0d09b3cde0202dbe1230e2f16918ea43708109dc556f363ced43c7b0072671d8d494197";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "spalign" = {
   stripPrefix = 0;
-  sha512.run = "37872b82939414f552247dca785e2a46b1b2fc44508f0c877d648ee99aebb7d6cf0e5db2c5b3905cf79093d79d11edca4454d4ad336999a9d059e5972b31250c";
-  sha512.doc = "b0e000756cc6a55fa00698bee6136aac33b5e8bc8a633e3363c14cc4041697b62004e5bfe9f6551770f51c00a701b8deacb03bac1b9fb90544e7937b92e411c2";
-  sha512.source = "4d1c42f8e0051d090bcff560a92b30e8420e9eb7cd875d8a25e8009c5c62421e7698e75c518e8f2dd08937bb56f1ebb5604a7955eb34efa4c57c6b51c40a42c6";
+  sha512.run = "6e00399e0940778a6ed8326abce14f15836bcb69f8e7c67d06cdf8567330ce0482a213c7b65c2662e0fddc47ce7b684a640e133017eca314b59eefc278eb6425";
+  sha512.doc = "534f2c39076a6ff243a8e4cffe353a569b493b90fc1bdcc3db43229dda3955f013de15ce1db7beb38bc9b8d972c7430a24d64c263041c82e84c799f446faab0a";
+  sha512.source = "3a12b34469bbefd61112b7338c8b5d440de46837632a695b52ae18e4f297d6ac0cde7ae71db7bb0a7bd3db0aeaa83e78f33a60e4dd496cf9c0ccda1a297b4ae9";
   hasRunfiles = true;
 };
 "spanish-mx" = {
   stripPrefix = 0;
-  sha512.run = "0179d053b4b2605db0ba9c92de0e84afe075efe6b050cdd24879d4ad5f9c7e64dc513649a6a7cfcfef7dfbe9c38a6a569cab1dc4ca3880fbb297a3bd81b20afe";
-  sha512.doc = "01dc04e3fe236f465f93901e8877b937a650e84efad69ff675dabff50b5d9e81febefc81bc125341319b95f2086e74fefb9ac8d8d8c36f3b291ea9f9cf4a7151";
+  sha512.run = "cb638093e1a50de3fd67720ae21e11285337910f98da86db79613f73878084b93fc8afd998b4422b673e3daceaa2ba7aa76b02efc98003e741b74449d4c94af2";
+  sha512.doc = "0b257bd5ce8a7332fe6cf1f5772a464ffdc525e80794dc89600e9ad279beb1f39523fabfcd2723123a458787d7bfd32ecbe0b2962b4abfc3627275862e05b97f";
   hasRunfiles = true;
   version = "1.1a";
 };
 "spark-otf" = {
   stripPrefix = 0;
-  sha512.run = "a5eb69b505bd4e72b3c4f9d68df21d95d98ff50df5fc93e977c0c2660e6c6a2ecf4de4b673fed9cdd60b334188118e0d4d766ec6fc3fa5aa16fe4057deee8842";
-  sha512.doc = "52e2840f3f4955e32c7da9e6cc32d7c041e5f2d3b9542094e24e8c438e5b6772077678474e677a2ca5493a7e22b62cbc97106d4d8e2bd7839643da46241499b4";
+  sha512.run = "863587da0d6a03267dd36437b112be4a1391537d7186db0f9acae2d5c3721b2a303d7b2ca86d47a619b9265930fb4795f87522498cd34c80d057ef56d1b8daa2";
+  sha512.doc = "2b3a9fab8e29c1fd9bf1b3a3f729d4d728fd22d6dba86aa746febac2eafe59df1afe65f557c9e3c816983eeeab8d798bb4f54712be8f5590706bcc49a2e50199";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "sparklines" = {
   stripPrefix = 0;
-  sha512.run = "6d4c5514e408c3de22fc0cf8d6268e3f9e275bd141ba05896397e3828e78ddd142477649acc69a72a203200d9c1afe72b51cb60afd3980b8010e999083fa5559";
-  sha512.doc = "66d8d47fa2923097ffbe3422d87e98d89e055b785daae4ffcac2dba14eb4e7d94cc1364bb8c60be32864026c3630aad0b776303a781c7b6b5d05604016429736";
+  sha512.run = "5dc74f46a819a6539034d570d4bc11403cb9f4617e2e6e373cced6cf335630e4e5a3d919041ac67a8b114b2d53c56871239b67a6acd6bc47f8c6130171d84824";
+  sha512.doc = "4db42aec14145d4b73fce7940563f6771c3d994955006cceac7c93c9d5d5e2200fddf6d83d15e4dde0385f982c0ee85fc844914d80aa249c3ac2e86a49369b38";
   hasRunfiles = true;
   version = "1.7";
 };
 "spath3" = {
   stripPrefix = 0;
-  sha512.run = "19304b215360ba77720ac29ff9dd6e59db44a3451c90a60fe51467b549c989f2f2cfd5061817f06acb837fcf80562869455679e55075d23abd6fd4038d997c7a";
-  sha512.doc = "30ec6a87446f26e46338413a366610259b05b52395eea95bae7a2ff6431c54e29caff994c0fb9d44e528ae750543242b59596126c55807f341b221bed2cded14";
-  sha512.source = "2117a387bcbe333ec003550fcef78baad96a6c172bb69383c607eae0dab3f144a6b98eb03aa263b4d6c0bafbf56e8320b1f77ec01f94aa5ffb8965ea4a5ab91c";
+  sha512.run = "44417164e54d212ab18925af95cf4105d102ba07ea37e3275a59906637dca173db5de5e58ed3759ec61a2be96d4d44dcf3b2f7c811021acc2d0c0c6ad28ec64e";
+  sha512.doc = "04ab2a7ef15dee7fdd418bc74f699c6afd21cbd912ed8d12760d0be5b5e4fa17f66b23e8e9c83ff8ee1a2459d95da483dc9e1978236c32d6c40d429c9582cc37";
+  sha512.source = "8345ef716d56e7ace4bb952dab9c60adfdba028bd57a26c5e541e762745a6495ebb1e55aba6a78e5882e73be72dc30e7bd1eecb290b44948a9c627a80465d05a";
   hasRunfiles = true;
   version = "1.2";
 };
 "spectralsequences" = {
   stripPrefix = 0;
-  sha512.run = "fc610b2d2c5f942e58446762237d755840e78f3b10142f35b0bd7f0542e8a7a838791e413cd6e5b0f2fe8c5bcc66495d20a12ebc116b2c4a85249bd943b4c539";
-  sha512.doc = "aa1d65618c30239ce0c0b8d3d008375dda9d12b35300f76d56110d63e209ba80760756a7d0701fd52e8426d5fe3e5a729e0cfa33b9984eb2525c3e99bd7ceb30";
+  sha512.run = "71677e3cba37f228acc096ae916793cf214f90d30809019efc67ba0793b5176da1a3fe8fab592ca80a077164948c4be777237f71e895515e519f399534cc0cd6";
+  sha512.doc = "80eda3718c3cb2daf9f3a96a6def78011be1d7882eb50db692c2d34332a5aa79a44e0201445f67d1623bcfc3618f79f6d158a98a91572796674071143f017789";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "spelling" = {
   stripPrefix = 0;
-  sha512.run = "7b1329685e8b9f6af5ff42d364d538fc73fa86cc3999dd78ab14779a9b7ab799dcbd648ac6c9be37b58209738f6bc511afc9dc2638d4cd837bd70d5d6bb159b6";
-  sha512.doc = "9154c23cfe92fe0c084feae557e552c9bb4ac0e25bb6f3988ebaf63f99a9ef8a976d96a9fbd7e1332de9e5df4d9274e560bff801070a3bac2c827509f393ae2c";
+  sha512.run = "ec32c627f52e1cc08f893aff21d43519ac30169772e82793525cfd61c302883c9c0c8444f2d51cd03a94f55e1ad589afac1a404a47b87ebbe7855acde887e511";
+  sha512.doc = "a51b8fb45701d318dd9b9736830b83ac34c84b781d61a3a247263167d527aad7cdb6e1917ce260d09e0304fba38bb2e2a25288f75aa2335bef479918036e1221";
   hasRunfiles = true;
   version = "0.41";
 };
 "sphack" = {
   stripPrefix = 0;
-  sha512.run = "b062159c503351e404c86e8a5155c2ac918e65ad27d32f016c6c14af729d7a67ed58dda64337b9f0b0709e141d5fc8f789e915ee676878b4eb8c2d19acd1e4b6";
-  sha512.doc = "00b56adbcbb1f2fad92c77fd6bea562c70980cc0981f3365ae14682af504f8ff31b9b3b13db41612cf31d9ca959df89fdde00e64d15be33ac996a3c51f8aa08f";
+  sha512.run = "b2cd588384770e0d95bf6e5c6b67df0ba8160e0a01e3f64932d67debcf9fa836212aafc78c79b8d28aae8124a25aff73f4846db514dbfc0a65a519eba75fc52a";
+  sha512.doc = "6b490ee2e736a6bf1ddf32d5db605ab5fe77f079d585c2e377bda73a688a7de575b99d56c6626d9888c395f6a4d181cd0b42e77dd5673c8456bb0e029510b8d9";
   hasRunfiles = true;
 };
 "sphdthesis" = {
   stripPrefix = 0;
-  sha512.run = "843b61f56e2229bf429f9645329021962759827cd93341edccfb4c1970bd6ee772107224c3ea5448b01f48830eeb4e9d67d9d73cc6a68fd551db713245ce1ea7";
-  sha512.doc = "2cc14b042f0bea47bafd4b1e2b7c25c8cff3795e91558a10e5e4bdc5f1f64887560413d83365a2ada788a3b898d3a5f8714747a4266211aa01e73098d27e25ed";
+  sha512.run = "44c467fc1de689bc198acfa224aa1109c47bcdfce8b161673752f73d59877465b0c4b87f1fcd4a8f589a78fb05ef5efd42edaff2fbfe7910a1ab7b409d9a7e5f";
+  sha512.doc = "cfcd8c02c68a990cda426d737914d195c78d98e0b8c9765128aa8319d47d27163e7d072ea50d312a394b85e8ac1e580dcbd204fcf6b670b4dc519d1f09ce8d72";
   hasRunfiles = true;
   version = "1.0";
 };
 "spie" = {
   stripPrefix = 0;
-  sha512.run = "6bf648d460a1556552ac1ae8704db867c1f11baa97759b65c1d70e9411eb0c97c11e7b82a1ee8384d649fdfe8e98f7d584af4586cc9b23439e3c21a2237b1c7f";
-  sha512.doc = "b05e8119c5212978112a66072a8ee1d9c91c31771e89a93fd78e207db1986fa21d54e0e422672a713cc2ddc7fab181855dbfb841e39b15266ae3bf3d79bebd52";
+  sha512.run = "282ee645ea5022fc0e325bf211b358236f07c6509883a254fa4e1ca0728fd73a4be8889e4919eb5e0ea9c203300359808b4d141d71d0c158a71a3d10d982264f";
+  sha512.doc = "1242f49f1499b798977eace516487543c23dca36471b1e49a2b1377a84083f40a3d5a2e316624f8ac458b61c2cfa406fc3580209c9629739dabaa2fa35e6b806";
   hasRunfiles = true;
   version = "3.25";
 };
 "splines" = {
   stripPrefix = 0;
-  sha512.run = "a03bbdd3236b8a73488299bc42d6e593a9c71013c9fa01b39e9c4ab039407982bf0456ad0066cf924cc33f0751b90b57140e656096ca51dda6993a9559f45d6d";
-  sha512.doc = "2c53654ac9a240bb3b1ac04fc74af67fff799056cdd9289ba57ff5b41359ef33648873695e9140f0535f1693f0fc79b94ebc9c2778a3cb083e64118bab5d3e64";
-  sha512.source = "ea2340950586e2c9dde051aeda1a6660799e581fbd10e54117e26da4856655503a0d5ce97d7cd057cbe4c7162b037907c4adaf7550ce58c53ab2d43a05e3c03c";
+  sha512.run = "f040046978cf51bbaf3347406e224fe60a85f449c1fac1703e7a2d936140b099c14ffd488ebe4c3d932b35a8380f943250734a054ea5165ed26b2be712ad577c";
+  sha512.doc = "08532f43fb7aac979e78d30f27f36047d7b70733ef6bdd65d26a40e6818f2b73852d4a6ac5eeae8cd29fc86e1630d2ba068b9707666f66a13e2090a6da81ac25";
+  sha512.source = "dd23ff4702f70ca2f29950e2e1c915dc96f9b0951b6f00ff94371ff80fe60f20d8de517a9d9157db9518cb51f96f1f52b8cd7f080af7760c926c5d29649844e0";
   hasRunfiles = true;
   version = "0.2";
 };
 "splitbib" = {
   stripPrefix = 0;
-  sha512.run = "7ba5746c0be7f159a41b41b917b40a7dcc57a0e4fc673ffd5d69df9f18ef990b6b1e44b802557012eb285155cf956409a18fa0b8a61eada892fc1e57cfc13871";
-  sha512.doc = "de42e83296f488e984ff0b5e840ea840a8c2310662c142378078070cb869634bb563d00770bbd98c23ec98afc808ea70759167a897fc2971d42244dd06a0fa15";
-  sha512.source = "da32e3df407f4326ffcc9ce0947eeb28be2aa5da87032538c2de75351300f846fa81d18cc47bfc845740ca7ebc82afba18116add1b8d8b90b3ec29b260f1906e";
+  sha512.run = "2936732fdcebff683e240e139ba6e1e4268dc72e427bd30af0590cc3dd7dcc8dd49eaf6f007e549efc5c429fbcea2b37f9e68040d1ffb023162c571341abdb40";
+  sha512.doc = "df266ae77aaccf91b08931c57b01a9eefffe6a469c4cc549ce41640dc9c9041676539e1302aecfed88d19baef277f507ede8ba6f794dae6ea4745b1338459d14";
+  sha512.source = "72a8da016f943df7f5e2d7cb05cd1a64e222ec0c3be784ac21e6aa5f571c9e76cc3e8a5716444aa1033d5127af8d82df5cd632a884fe17f08c55e08d38956e3c";
   hasRunfiles = true;
   version = "1.17";
 };
 "splitindex" = {
-  sha512.run = "9ad1b7fac522860c5dc313f4866d5d1b6a0537eec8116bea455a351d5c79f31779034f788fe3df34ecd669eeadf14299a78f7d3413b2fae72a7b02d3a4163d83";
-  sha512.doc = "a984763cbaa641c437fcfd14e57abbfd2c2e0539caf789f5c009fdd4fe6d3af899d031d9f36b88d3dbca365b358ad131bb21cceaeb1d0961e76a0311768b08c1";
-  sha512.source = "bab345d51cdf6029c9a04f66de22b9aa5f567e273e7159df4b0bd5da7f295d3aa7ba69c0c2119be85ccdcdf3bfc7a39d88ece9b3cd39f7ac07c645f1b4e8ff05";
+  sha512.run = "858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737";
+  sha512.doc = "c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a";
+  sha512.source = "8aa928bdf6f2e8fb6274c1fe8d0b4567d03a1c6ffbd078726bf6a36ff1bdab981d5150cf0250602a64d2a0a9be92695fdd399c04d041b7a9579a7d3a71910151";
   hasRunfiles = true;
   version = "1.2c";
 };
 "spot" = {
   stripPrefix = 0;
-  sha512.run = "6fdd7c2d745c06f06a39459c97fffa6b3f3638c739908cb89c742091c28136f00bb9b093d7fc6eee58fa8c4dc7a1cace6fb593adc4e80aea5f3740701600b326";
-  sha512.doc = "53eb67c1d1b65a08ba66ea4ecde5123bbd6365f5a51e7cf651870c192b79b92a2b86dab59e7874fe845ecd054eac921c500a67764d909ba281a577ad3c0dce19";
-  sha512.source = "8d06f19b777972d101461d01e4511f8b75d483901fc780ed572d94b8d2ec572806719101c7d30379e6fd5ef5cf973d85fa496a68dd08981bbe5bce1b57313aa2";
+  sha512.run = "95a7bf0a9e04e7157fe27499a7a2d2bf3e8d86f284e9c2d150c40b5efc1786d4820af20ccde7f5b649a775d7a13d25a78347138a200335fc0b9e4165dd3e1f0e";
+  sha512.doc = "26ee8b13622a46078e8199c818dc353801af36afdbf67707a6942202fa458e7cbe9a000a4ea022d0dc4ec6ddb3a63c6adadf240cf207778765e47b2db636ea5b";
+  sha512.source = "96438aef76ade4df7f4f49d819f96792a28dcf3a0f5e50498f854c047a7754accd31d679d034886eafbfd32c0d4eb941e8a888a1ea94fb332b8b48912d0f673f";
   hasRunfiles = true;
   version = "1.1";
 };
 "spotcolor" = {
   stripPrefix = 0;
-  sha512.run = "2f236d19de158e2aba063b5e26192fa0a2d3c3edef0395ebe40cf00d7794747c0fde05b863eaca87f37e5c746a6e19c7f664844ebf3b8664f169a16b9aa76905";
-  sha512.doc = "7d6cdde2ebfdbf56ce3251d1c4b05c5e3b1bc9e93fc11c66885d1a4e1300442e97e32e105b641342727a4b643526645bf71807fcca7029ad426eb6adeef5c781";
+  sha512.run = "6748982e7007323414dd8ca5f1ede105bb2bfd0b0f8d2f83c8731926628c094c8c08f0cf4ddadbaa209e182f8af83ed6fb761142ecbb97371752473b33c44ffa";
+  sha512.doc = "4055f42161bd45dee74974358eabda875e9a3d62690fec0486748cd7fe974af133c24e56bcfd240c6928334fd9c7e1e6a6935c45b974760b41f7ce080d44f568";
   hasRunfiles = true;
   version = "1.2";
 };
 "spreadtab" = {
   stripPrefix = 0;
-  sha512.run = "04d670f16644d6f01094f3382e703a469e113ed1c50d1cacd3bac8b57e2736960da9b7e9228d171fbb44d0f38cca0d64fb3db54d2f9b41fff74201b321bdf1d9";
-  sha512.doc = "639e08e674c4c82d4143184ed07c32501fbd10508d5c9b6d84278d549d966396214fa243961543d60eaee15856882fcf726a8e7fe0119f860acd20787d274b02";
+  sha512.run = "e662188fc94f3f31031238a9b20ce617b01adb65dfcb5ba00cc0f90555a151957747e9b24803436d0815528d945e3a65684ebffc04dc5de2552989c81bc80846";
+  sha512.doc = "e7e1184c6d5013a5f991325e1f47b509b90f32022530281263bd5b1c0d9c9082a872f9b6ece3198ccdca555e1187546762c8fb4fcec9a75f72894f6fb49825c4";
   hasRunfiles = true;
-  version = "0.4d";
+  version = "0.5";
 };
 "spverbatim" = {
   stripPrefix = 0;
-  sha512.run = "0de6b8f887bc5047a2c886d964016fb3f2e9b47fb3043be2515384663c2af0ef0a129ea6a09f5c47bb2ed0b102d8758f33273a451642b7e57c9fa1eaae2f4511";
-  sha512.doc = "3a67db65e548ae9a540cd80461ba3525a3a8c133ba079108f3551d94dc85f9bb7ea9b58e6db8dc73025e998d9bad5e1782073b113d45d235d6f3d0393f31ff3c";
-  sha512.source = "7482bbd365a43b9e7329888d996c5dc3820b885de4d5fed1cea000bbc5421f16f5f174f73f71a6f1bed3fc21f0e1f1f6080b9ac290d84dfbef52bda6b6e17fa8";
+  sha512.run = "0b26e941f77264ae2db7cdcf2c4459c26601f6079e0bad24a3ea0edbd22157c324bbf50426a794655dc1aee710092cd9b662bb401838186e42657fcef5c1121f";
+  sha512.doc = "245825f18ae835b984eb6474b927a579f80b6c6feefbfe02a53f8b7ea5a48023e1bdb43b39f090afe4ae42937d053cbebfec6ff97d7732d754287401a95fc641";
+  sha512.source = "23f8eb04b0debee1c9babc4ee6720740a4e64a28969365c27c96113cd777e0565b19d8f6db233470cc600733b1831463881d86eaf4b4119cf60bd3fbbf3d0597";
   hasRunfiles = true;
   version = "1.0";
 };
 "sr-vorl" = {
   stripPrefix = 0;
-  sha512.run = "46b860301861c347c08e3ae49e20b1c45a4eb7d3e2afdfa425f9a9e43393409a346a6f9105151f1ba6c2fdb073a50b57b6a455648af50a1c19f26794b6a38132";
-  sha512.doc = "24a0d001b8c48dfbf6d9830e84a48ae9372b83ce4b87eecb550d222a9188605233676a8ba377c4d9449d5edecee0764faf236c1d96c11bbc58b23913be3ea328";
-  sha512.source = "5edee30cc48c9b55fb8f388fdfa0da24c16844ff0cf19675da615df7087dccd61f625c5f03100c0032c8cfc0441d740edd30858e6e935c266cd79e702ac0eb85";
+  sha512.run = "135186b501bcf2a9b338ff13e330401ae3ca39db4225f639549cc929991d2177804b44ddbaec805ec1cd56982b140cec4625e7564fad7f4de89d2c2e06ad60d8";
+  sha512.doc = "a65dc0b7a12b5435d753aeeaca7643747c94463835cf1706e042710272cc0eef66d4f5f827c99034f9126bcbbf7e41293196f9ee29ed3f9961b9af27e2879747";
+  sha512.source = "f41d126426035fa0d1cf6564d9eb4966618a1c8f805bca3097a5f7e72c62a12c9d8e39b6830f9b1e356940b67bd99803e869d849949854a1a17da4c7ba971195";
   hasRunfiles = true;
   version = "1.1";
 };
 "srbook-mem" = {
   stripPrefix = 0;
-  sha512.run = "42031993e075c8c20f30db2d4e166f000cda651227e8c6f4d54546de5209fc6cf2cb39c5484d925ac7e04de6f1bacdb5e2859219a8ac5f24f173e5d349f91910";
-  sha512.doc = "846600cd654e5ad43027cc264a94cfc9af790e9ad3d23157d098d1494e3579bd11b5faa7d6b745220aa57ba28e712281332b7eafa41ee6c193abb5af23297cba";
+  sha512.run = "5cae41da74957078b2b0ed38c9fa4186006f24abca804b879641b4bff5324950b1a59296c5733fcadd2ef05661ff1dba8cd7d9a2c5f9e2a5c6bc1e6d993ff218";
+  sha512.doc = "5e06fb85b3398cc65372fc0c82eaae3d807c6c908eedbfa8f4ea593ea6213790c3fe9c5142990a9b7d4c267ed01cd61aef4fb950a0c2b51424b0ef5e1f2aa520";
   hasRunfiles = true;
 };
 "srcltx" = {
   stripPrefix = 0;
-  sha512.run = "90e9b71af3780ecf95d40bf1634c0eca151f56b3f6e34e8025d85f325052028a4002ded679c42532f48d501144c207c64bb96ce1d8018f5748eab4d882b433a0";
-  sha512.doc = "2497eea30903463d4fb66e1d48df88ae87b87c0571c77e1894b3a09b1aab37ec97de5b5ce4ed49ef5ace354aed6e9d3b2842e7f2bfbd1dababc89b43acb81a1e";
-  sha512.source = "43662e9a7db4a19367b613814eb9fd4dc5d8d7d09f27f2afd7e9079eac7422d882d4fab0005eea4fa3d22ed49d93b713d86aa3c393b20a61fdbecd7f127e05ce";
+  sha512.run = "2edad3f8b56fafc034d94a3e3240190a8f4f1a1054c9b81d6dd9fa5426abaec0b29118f7bbec909ffc3534693b8941fd4e44b6670d7dbcb852fa3a056ba63fad";
+  sha512.doc = "1f8428bccf142790a3221d470fb66dcfba40552da0d8aeb9cab62732c5a5ee0af3a565774e29822ebcf0c1e4d7a2bfffc61a0944b762ffbb7ff4e8901a61ab48";
+  sha512.source = "497aa5f6bd5dcbb354a4abf74bf8276898148f42083a0657ac9dfeb4374038b4f8003b3ace3b4d65b2a08334c1cccafda371e8546def7e44f823212c257d42a3";
   hasRunfiles = true;
   version = "1.6";
 };
 "srcredact" = {
-  sha512.run = "3b8ffb1a36605aa054f4b3b07ad8f149813b5adf67562dcc0015c1f45b38fd0cfd561b2930b7cd89db40aef124ed77aa4ad3350fb3cd366adab0d3bde3ec65ce";
-  sha512.doc = "df2d83fc9849079a98f6062411d7ef7e500bc7dcba494ee8175377ac7f018c32bf53f69534578a8c0329f924026cd18986da23a8f35540494f4fc863c6c9e7ea";
+  sha512.run = "9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d";
+  sha512.doc = "dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc";
   hasRunfiles = true;
   version = "1.0";
 };
 "srdp-mathematik" = {
   stripPrefix = 0;
-  sha512.run = "8dfd235aa0d39682b931df7793b638e8ed55189f4f36c167413c23a834d6596009f1d51d125f7f643380d991f4ec2631d2514fae0829bd373527f8cfba67a70b";
-  sha512.doc = "9f731479019b187c3e47f0730a5e52ece78d1e5532120f9f668f2caead56e6a83665f11d8b9c8b86c3eadf03a5117b16484b748b20ecb50520e27e8c52e8991b";
+  sha512.run = "289d92617e5657326f93d5668563cd1067bb67c8e47b3b1b5bd318c4dbda8b4328d3605bcf194ee31cc779d684af8b7abb837b6a4f675406434b23f5081d1cf2";
+  sha512.doc = "fe10c56c4674982df74e82c5390699e4fd70271429e79b95be9d56cdca574af4d940b654e92953739b62f21a38ceb8f52d6830ed3f5ddd02d9dd7ce0916c9001";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "sseq" = {
   stripPrefix = 0;
-  sha512.run = "2926bc833f76f998eff7c9eadcdbad2a439917873e007bea681a420656e7b716f806e409d9febc1326ea88438f471b7033a5cc73fb587f1598dfbbf958250d13";
-  sha512.doc = "7da492657d846acb4276f0546316038b99c723fbe66c529fb9b4d88435433361f8ef5335510c131c316a414cb2d11a96555ef021ad88f092146f8186379d45cb";
-  sha512.source = "c13a7298890ccecf743712b2bbd2acd360c38ad2cbd3e1ce134a06a429400a24fa2bdd1d01605202ae87668f8589f8ca9c614bec50ac82136d45ba11cb638300";
+  sha512.run = "25d3d2af859d8ce83f7449470be02bc4bc77b8ac49c4e10f49fdca51b0a85488f01cbf5f826b07fba12806c932125a35197be2c7bcc330f9b6f51a331fbc77c6";
+  sha512.doc = "3b5516fa412aa19fe8f3d23706b3046b6af698e8307db32cb895fb13eb876032c5c3fc908a69f0e18efc2ac5802a95957246d58248dd05e1fe25409d46a8bd20";
+  sha512.source = "b86247430a144ef73ce271b904096368291a6581de3e1c7627d38751c102256e77d82963d86956d9a9dc8e2fa16aa6b8b0a15dd02b4468cda88f70b19e856711";
   hasRunfiles = true;
   version = "2.01";
 };
 "sslides" = {
   stripPrefix = 0;
-  sha512.run = "487339e103574180b68847a0d584eee06e59c93c01783c6c66f5885856ccb2df49e0808b8f165097ea30fd85b382801c4c8b347dc7d075d2e94bc7e9f4ba8f2b";
-  sha512.doc = "5ff112e47d866bbd816772242170225037e273304ea340e730613cd5a11d3ccfa4bd81e22cd95ee61cc2c494fe651b22992b55b5605eda9a3dd1809c9ae49c4b";
+  sha512.run = "5809b9968b16d35d5f76f185687c683512883942f8ff3537a7dafef3a76e5fb017a4bed36dfd102fb5edb93648148861c78f6f7e93aaea8c5cbc8113c05278a7";
+  sha512.doc = "4a0fde19b43390f80d6d671933ba51b0be854d774d6f35f3e8fb33653ef7784df85871dc4fdec03f2c734e819af6c1098e8be152e0bd42740ec2f4ae53c38f4a";
   hasRunfiles = true;
 };
 "stack" = {
   stripPrefix = 0;
-  sha512.run = "a67616c4cc3a4624f054de844cc3d34f2fc762e0bcb3a899f16d928c712904a67e2cebbafc70cd13b4cf1d43864f8a60b110c9b75d7ad5a2f9b4f89fc9f4a819";
-  sha512.source = "07d3f857a5078ef7670c02fcf2ed75b689a8363839224516f990c135ddda992cbc9ed46fe842fbcbdf3f1977a0bc54cebc690bc97cd8a89f62da2c286049b474";
+  sha512.run = "897ca71e1a8531485d9807743e4549a994f5e6e22dbb9a958466d4bfc7fb1b4579af0d7ef701146b8142c394fcbfca70bfdf28779530e487a0ec868c77985c23";
+  sha512.source = "d10c0b9555df5643d266cfcbc51970cb7d606c80053225e4c3891b49f59fd9831c89f8be97d41e3e70b8855defb2af709190631e71a470a061959486162d5ed1";
   hasRunfiles = true;
   version = "1.00";
 };
 "stackengine" = {
   stripPrefix = 0;
-  sha512.run = "a97438b6eeda42feefdf024b50e0aa1bd62509a81ba8e789b365f95e82e323e9e1302c442cad8f85befbc228aa5546f74c68b741f16599f463a476515f211ec8";
-  sha512.doc = "bca4e157b28f17566d7bcc14113aa007ebb589c0feaaaadf2247e1ed6778233c997b4d565de410866e0ea8f72d281fb92f46c812f19d314563f32fcbdbbd6cdb";
+  sha512.run = "a030fa3c9bf8153c4ab387b7906788640f4b8d36f3f1a67392db5e2d5f62cd9e421231a92611555df2011b03318b06023194a7bcaea6ad1108de945bdff787cb";
+  sha512.doc = "e395c609c2160160c0892c5af1d197943ac6cce21c59ab489239b41877bd97fc70b75f1313118f3202b5d53ffe5f2537f5f084490dc70eb1e2f56dcb8bd208f0";
   hasRunfiles = true;
   version = "4.01";
 };
 "stage" = {
   stripPrefix = 0;
-  sha512.run = "81184ec086db9723ed26877effa199f7829c31b226398a4744ddaa023729c941d31e551b45ef8092dce019c2fad6ef28a1020b677cfcb52f581c37e329b05887";
-  sha512.doc = "acaf16f0f5b6d08cfde1c893e81ad74089bda1bdbab975c520b321dbe8c255c1594fc980155fc55ab603a5c543ac571c1a9dc7e18454c8de54b08555b1cd187d";
+  sha512.run = "60ca903a632f328bff8595d3dd076495409ae27045dbcab56493d05496c885de101cb3d6c77745291c661847bac2da5e41dc22f6e08f52c36957c997f1a90fc0";
+  sha512.doc = "96c32c5f5c272a521fa0efd94571fcdced21fcf582e7d94f503a46559a2f32a341e98f7c6b6f681c0b9918a63cf7a6bf6f90f628f87add2f7b60404e3d451d3d";
   hasRunfiles = true;
   version = "1.00";
 };
 "standalone" = {
   stripPrefix = 0;
-  sha512.run = "599fc0934d53eab3cb97bfed16317ebdd6f31b70e0016c3ce8c413752290319940a8793b0458abd58a2a2151f8f7156628b0a083f42a1fde73e0e7c666abbfcb";
-  sha512.doc = "d7b86ac37855a9f2471ded0bd3cd370d4e7e247b0bf8a5ff63aa44e6ff8648fc1a696e813e25871ca5e02cb364f4abeced6bfc40d2f1679e0d5a894ace0872b6";
-  sha512.source = "41a27055bf76047d986e44e8b9b582e217c3f347d3a1dccd8c20eb61abd423bfb234d1f5f8c2a1d907975b01cad37f850917de33cd4013ac36f610ff1c94b52c";
+  sha512.run = "48fdadf3c9e7b899ad75953baeaa9f47384d1bcea0ae08c94ee51b4f2fabfe2fa244a0b9a77f11fd038aa106551c4cb9e0ceb06292ab1ff7bf6802a65ad677fe";
+  sha512.doc = "a5cb35587d86034c38584218b78fe4142563306a8d918d676cce0a970f593cece78bfb755d42b9fda3c0286bdd4a0bac231f8b750ed61acf6199eda6d51a3dcc";
+  sha512.source = "642474f0eed4ac5d3831c0764de9c2c61210cb93bb6bab5c77f65ca13ea54d2eeab038a2c9f52ce077be5749f4d93fae5ef5df561a1e33601bac00345797d3c6";
   hasRunfiles = true;
   version = "1.3a";
 };
 "stanli" = {
   stripPrefix = 0;
-  sha512.run = "1aeb9ba661234bd6b51465535733a37431f26a755c1671390bdb686ffe86a0e09f70e7ba46cc2147c41028b40c23d4a79550579de6054ee76147f6244a0668a3";
-  sha512.doc = "730f204c533c9ddd5b2ad1df32d46017e276cd3fe29d7361476d6a722c325d952ace1d14a210adbc33b1584c2765c5f429cd5eed66afc9f024ff4a7f334f4eb8";
+  sha512.run = "8026823a73d9c061eb01e2b92363b52314c4de4d48bc8557bf33b89cb5381ca4886dcfc0f429f5be9268f3f1e64297ad974485edfa6af025e7744474a2ecd565";
+  sha512.doc = "f97363b3d9aa6f0701c3ca89e7c3b2391327ee431fb71b5be599805a4063baf1f5517868fc3602de8d97aace79d6dc1d58fcceb789ae55b85a7c0824429f3ebb";
   hasRunfiles = true;
   version = "3.0";
 };
 "starfont" = {
   stripPrefix = 0;
-  sha512.run = "979b32c84862e7f4c3c57ec23222589cd21d3ca7bba00c45e268977f20a4b7ffe6eb66fa44ef05172c47de7ef846ede91015d1cde43ee867c38c0aa19bf74ff4";
-  sha512.doc = "425d8bd16db28f54260579b9b8704c6a6417a52bba4d348f29f0cab001201c2944941e38ad079fc30b77584c1fb49cacb384e5ca7eafd5db69c7b2dd176c0028";
+  sha512.run = "1f45f97813f5e51b45e1cbd3246b877aad823895a4b087294d0754c560db5796d8b4f9d09972b5c90c4c569db82a2d70bd1c39a9dfe6e1fcc4e0deeceb44f876";
+  sha512.doc = "def94e1e2995e20e282d9319f763ddbc5e152a48c18ba98ef4d168e69a9a6deb5d7d87923a3259553f990f2da73c78929858852c6165acf7a94a6010382f786b";
   hasRunfiles = true;
   version = "1.2";
 };
 "startex" = {
   stripPrefix = 0;
-  sha512.run = "5df9424c8b3735efc287f4eee8ded1c79cf5121a1fe834494d0437f7dc9c04136d3d4e6c9d7bc1e66be973a8e1f4d1c9c1aab958551fcd20f578d263885794ac";
-  sha512.doc = "5ebd38171140df4d97331f3bc987b6edd8a5b32235ec573755651cb8514a06f6f97ef1772bcc8043a80d84ee51cb669d571a1a31815569c46960acae3cce6427";
-  sha512.source = "55df72d72aa4ed3973b00106dfb89cec16705209c37342f9a14875d01b3341209414cad3a1fc1b8c6573360ca668f0c36e7dd71663a07dba2521a81b4f667e60";
+  sha512.run = "840a60057867ea8439c0497eb22dbd8ca8c8a2375887d74ea383a8a356d5de34a389db3df5f4c41082683d1108a0f88cb31c25e4c3a56a27e45b8ff5b62da4b5";
+  sha512.doc = "d2076580253889e51a07ebd094daeb10a9ebbf2d9154d288460a84d7b2a581b849d1433a442d8eb911a9d2110e87ae4eb0628567b50eac95cf9c6866d3c34b3f";
+  sha512.source = "af1bdf22db048334823bdd18fd87fd8729c0bb4cb729ee53271f7e0b9ec4cea243840657e1a8ebba61728755d022d37495ef40f9962ce8e203d402b71d2d45cd";
   hasRunfiles = true;
   version = "1.04";
 };
 "statex" = {
   stripPrefix = 0;
-  sha512.run = "df5b8537898b92ba263b01612bda4ab28283810e2b13f75ba708834bffe2ecdd96c9c4ab35c215904bae3d6a3f22734471524cb06cfadf5110a21b16e6e16c83";
-  sha512.doc = "c9284b1edc4e94c660fac6dd112a1a2996da0024e3a1c71a20b01d507296ca0f5a103e6076fe1674c16e324fef6e7ec6a7cc33bf65127066d449ffa0bc95ded2";
+  sha512.run = "66fb0e346ddd4902ac98a90fb7d0b0193d8c8166aa30774dca1f5b6007a3e19c3b98e25bbc88abc379e199720b6c9a2c73caabbc515db2a54b2a8b437c5b270a";
+  sha512.doc = "9851bb7e2e9af03affa1f4b5750817543be9e985e02d06ca4908ee1ebcf0eea2b8d75a25cefdde3492efc52d86be5bde6fc2f6a99f935c183cf3fc9041ee0e25";
   hasRunfiles = true;
   version = "1.6";
 };
 "statex2" = {
   stripPrefix = 0;
-  sha512.run = "d2bf5b1da4b5df042c81d5b6dfb0a37f37d62ee7feefc4ffb17326d01e4965b892ad71a39a8a0b5a3f1de33147c86b0a85895ee0dff47030171c811443885e19";
-  sha512.doc = "c5434dfc272a656020e2849e9ed3fda12121ca1c4c9a928ad6e77795e19b313a9ff77fff2f1f2056a1d3035103d1dc8d8dbbece97b63c34fa82314e2cfdbafa1";
+  sha512.run = "dc823a25cdc70bac79c69e721feba69883a99e9e0a5b211398ff0682af4fe4bb1c4a7feeaecfc7c12d2df876b8aab6be0cb8868df8b8eaaa10850042615226a7";
+  sha512.doc = "6f0b45577bd4383359dbeb592c3f9e3c1a66d1b2540cf6027ffaa20f8f644316cf2feb0e585f42801b43b529632efdea52fc2c83f2a6d9347cd443da27259646";
   hasRunfiles = true;
   version = "2.1";
 };
 "statistics" = {
   stripPrefix = 0;
-  sha512.run = "e5fe49a729fbaea2a85e394e58e78459d4238e45c74f56d277694a8c0dc4b9b088b814072c2e12cfe6d8248a4b4a89dbc072bf7e121b57776445a170be26171c";
-  sha512.doc = "a918e8c1962a20ed79e6c285820f9007a5873215f6408fe4aa482bec837f52af4fbc2b55266ab78c036b6da5dd5c656963870f366674e9a920e4126acb9bd459";
-  sha512.source = "e735fc3fcb4db1a25396d65b68014b38488cb9f5bb2ecb30c751c96d4e376249ac29d990c79465cab0c5a0f199ae22e13c53ea1b2ba40802874380a4fafee779";
+  sha512.run = "b0f2c288a57cc64c72bd2b862cd6c40b62e7404c4733b25af64b43d008b277417bc72a4398734e5620e6d2b9f97b401c1d54ee69b0a1ad5947ecba798ecfe0b2";
+  sha512.doc = "9d3f7b94c6d144b89c1c947645e4e071933b402e350ef6405d533bdb0a6aed650b215a135976410fbd3a68ceb0fdaf6c877f2d7435680f8c70f3a2209c0808bc";
+  sha512.source = "a0ea1a189cda9472bf87996d4c191ab84ea824f3034a66d8e23982a1824aa78221fa368b3c8bd696ce58b65280599617c5ccfe4ef97fab8227148e90cc7f3e4e";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.2";
 };
 "statistik" = {
   stripPrefix = 0;
-  sha512.run = "fb20d3b876618ccd5dc7cea70c4ad9fd80b9587c9fe916492268ae1ce8f539a07aa88bcd6367e7f396529555b8d121618a2287892471dcee4a2f825fe6e4dba3";
-  sha512.doc = "694df9bf436b53a0909da133ea581f10e64e441b00419c7b428848a52ecf8cedb878f6003527f74e95d33cd3b8f64d1008ad041843dcd1761fcfc557998bd62c";
-  sha512.source = "8f9e4dc7285cc86ffb6c570231861984906470e9297f6193594fbeebacb88a8ca97a05f9b8b955ae1ecfc8408dc08426adc16fcd85e4ffc5c12f6bc62f7c1303";
+  sha512.run = "2d2455227b5db15235763c4fa677b549380d66f2485d1d53c2c607f96bb4b4a176ae9868419351f691f3efc3117e6e54be3317040f2a6f8d1d105cb86709f86a";
+  sha512.doc = "88b28820b5d2a4a304c26658e27da7d673bf430a6be3ddf46f5eb3103abb7e8d20b03e30b65b88583960f9cf3dbebb9088330621b99e1eb9f2f28c0684638240";
+  sha512.source = "d37bf82f0830e14c500af27146a1ae1a80bf4aee3bb272429c7c2351366e2fdb51b7ba16ab6459b7cbb8abe2d37870b7bcb3fa43582e588c7cbbb889ac1e3859";
   hasRunfiles = true;
   version = "0.03";
 };
 "statmath" = {
   stripPrefix = 0;
-  sha512.run = "11b5155a0aa5c6b516290cfef8d5bf86fa00da0fde18e774bed73ae4f66ae3ba6844fb31a2d3a8da6687c17115328e900878f1fd1feaeea1b31f50036a8fe9f9";
-  sha512.doc = "28420eafcac045d3ee0f2ef666ff43775eac020d50c490130aa2f85017781850e3066e41272ed7fd938baa6c7a7856fe352bf8df33b0fc9751f8fca6c20d0332";
-  sha512.source = "923135c2e7f3839ccb6c5ea4641054fab1f64084e2389a962dbc08117dafb89b96edb355940548ea8a6846d3d9797bd97917832bafb95f745cb021bb04b3ae73";
+  sha512.run = "128532a808c4f8cae9ad03d19d9f70673427f9335d298d4840776ecf59a78b0051de64093f00510ef34c61d3e2ab900d4494f800eff8183a4c8451bf90a1424f";
+  sha512.doc = "14754afa159041c359c85d31d8cf3483789b02a7057f59f6772455ff7dfbaaf81e793db3bbdb8d1a67e25de7a00f32c22089e2cc908cb1c2e0abf6a17eceb7fc";
+  sha512.source = "67329fcd533335927638057bdafd76c3db6e49abbc23c63027623397ab35450ba811acf61c5b3ef299077cc92a14df3f0d66076a8f8a2d009ef9e4828ebb533e";
   hasRunfiles = true;
   version = "0.1";
 };
 "staves" = {
   stripPrefix = 0;
-  sha512.run = "15fc1c5170a6ec70bf2740e5b2b8580ed726f4a616830fc73a919c8a1fec6e3fd39788612ee37c9c20e3e67ced2824c6d0e93768b2dc54bd96259c4c3c9ce48b";
-  sha512.doc = "2bc0cb7294239ccdd14fc5f45fb0139269484623bccf4690d576de42965fabe872fce41a4de1af5d9ed7a534bc520aecc8f97835050b045a424f8cac5ebe0605";
-  sha512.source = "ee7a6d62ae35c5f2a1934c28eb0c999073e0fe3d697cc9fe900dea9244179276df7d3eaacd537771cb1c46ec38bf32cd1e4b21fa25bc64d2969f8c5eb36c6ed1";
+  sha512.run = "f6a1aea97a3293ffb514ccc526faa71ea5ea3ab32990da8725cc3ff998d15a2909001976d9705ba13110fbde869001bec2f286e58c05f1fe31f345ecd5882482";
+  sha512.doc = "b839484325cc6d06a407ea685dd705b3616d1e87f22d4a625c20dbc507647b602417a085328f9ba886766ee0fca2516da397c742198569477bc1009271a4db23";
+  sha512.source = "9dbe40efcd1699cc9267b739bc1b182fc0e5dc23ae52d19ea89c1742b815e4ea9b7612e4fb80aeb83f3d9206ab408cb0ca3fcb99c85883fb86f89f3ac26f0b5d";
   hasRunfiles = true;
 };
 "stdclsdv" = {
   stripPrefix = 0;
-  sha512.run = "36b8a1e8ac6571778c942d8e11e6eb481a4e498606099c1c4bd54b57ff8a20a0b3d2366ecde89d3dd627b208b9c57d2951125c0ad0372552d42077a7614348e1";
-  sha512.doc = "600ec2df2bc645370ecf32cb6ee76dec222c522eac2b52928141c64ed47df75bf66634816bd7e9f4faac09d9a53b1a45d6c4cc99e421b2e4ead360b691ebf3bf";
-  sha512.source = "f24deb8c4aed887af5baf1cb155f475b4947f2fa5ac7bf5cdd89cf0ea315eb901fa534bc71a36bf200dd814bd2b9ce9b149e8c52f47d48002931b5f1e3e3e00f";
+  sha512.run = "88d8abc04d10f029a9ce0fe9025497afe3eba3dcc300631fd37baa8174bdec8dff44fbde07599ac8dd6635be27294c359c77178690a4e6c97f41d15f9d2abbd4";
+  sha512.doc = "8321d823ffa159071f66d87d38fa38ba3af03f6c69999a041d765f0fda8549547da4b8eae86efce82109679284dd912f2c5494b5ef6e76c73c467cf4eb87aa2b";
+  sha512.source = "4a9987bcbb557b7923c6c2a5c58dd117fd7b56f58b3df55154514075b68bc59a8928fdfe275dbf328ab2bd5b6608b193ad5ff07b95e7bfd2d79eb632837e5469";
   hasRunfiles = true;
   version = "1.1a";
 };
 "stdpage" = {
   stripPrefix = 0;
-  sha512.run = "ebd8e13b5b75c14b6ee15d4b7c3702177b6f37125036636c47a1675ad5850740b8f536c7eadc3df000e63bf114a58dcb42cbd8de6139c8786a6b0c601faff572";
-  sha512.doc = "be07352e61f37a0d28fdd8e7edc390ec161bbc2208f4be7268225ac6662dd0edb118fa121a0fa1d999e8aaa3e44ff78549c8d5269b655e55d75784478fc5ea7f";
-  sha512.source = "0a64a702cb074bcc5f331573d6becae1a092d5348df408146f333140f132756972404980eae549f117f6da73c4aed5ad19df502a8dc133e5106f87c8ca86601f";
+  sha512.run = "a3835f211b744dd88e0238a01f0a5f960305f7eb92bbd9e3437474971173e66c84cbee1d5ab3f1aa1097a262a258b79085fd0d86884bcf3acc4017e7885968cc";
+  sha512.doc = "77510670a49db00b185e6b502d07bd85f9ca18bedeed86277c7d51abb582f40c793c665f2ab87435e90380f7f6f740b64c937d2171531a419ccc59bed197b90f";
+  sha512.source = "2973110831807b73409be0082c5aa281b176dbe7174b736cb9703b0c75ee918d1135fdf0513bca5dc48bb996d0067c9201702b76212eb632073f9b0a17b00d55";
   hasRunfiles = true;
   version = "0.6";
 };
 "stealcaps" = {
   stripPrefix = 0;
-  sha512.run = "c1e61b161a18c7194fa824ca13d645546a8847e9a3e5f6661f96b188bab52aec001ddd1659e02b90e7052b4a1586a0fb0a67d7c0a303df5b025389958c36c4f3";
-  sha512.doc = "60cedced7bbc7ff53f7bd1b07fcb521ae311f9aabce00e14eafab0439163b1b11ac292704d03f4433eb7365181d6ccd10f5de6423f4adcfb277457f8899e71f8";
-  sha512.source = "33c1a228c67c060276e3d7d62b369556567d4365d0730a816ee99c3e59894eceb200279a464e5ce1fa7f248dd336a85d6ee7a94be15804d45d2415092ee708bc";
+  sha512.run = "83296141df9f56d0e38d04bcc948cb4a9b5e308f5a71ef3080b4b53392792d42c142a2cc5b69140233d6f00bcf7804dd1c9dff686df3debbca857d765d7639b7";
+  sha512.doc = "3dd77d36d16fbfaf10993bf36c1a286506b6f80b795c721ce15b7854453af0b6041c586bbb653e7707eb057664885a9027135d199a9df7b748d23c6106175477";
+  sha512.source = "8afa57a79a3bb38a04ebb681df5c7976e9ea275e379c00308b6672459ac61ebfe745f16d334beb4d3627438487446f638bd00788d60fd68b22f0026a7a87d4d8";
   hasRunfiles = true;
   version = "1.0";
 };
 "steinmetz" = {
   stripPrefix = 0;
-  sha512.run = "793fb6f3c11647fa3ec40154bae40dc6d479f11f5a3897866957ce60465ef2a3cdd9c22132ba0bb03b110355ca8cd668c74ff2de214792903bccc523e6ef7575";
-  sha512.doc = "0f14d677a5597c392cff9617ac6fc7560660b10ea47d1b1e184ea04d01ffa3cdf70472c066872bad221c7eade131f7a56e0f75dacd3f16720775898aba56cfb4";
-  sha512.source = "3007d5343758686145cc3c960234c1f9f553d76488e804d393bf56fd22694056c6b814fc80eaf292e2c85f52247a0c935a2eb16aba9ff5f6e81aacc72ea04417";
+  sha512.run = "8ff095645447f9349d2b35ab5ccde72109eddcd85ad3c9de262833320ffcbe94c2fb08df5323c69fc64cdf173ee7193ce2ce887f1c033997455a33f290cf1884";
+  sha512.doc = "e409db74c366c5f49011a6e21355150e3e97d16c1e3a7fcbf06cc8aa0db2c01288dfc60b3c79e539936077e452c40dd601490be8976c57d01f9a5a88a3798093";
+  sha512.source = "c18fde06e32eb4155921bdd7e4dca7ca108139859545c638f562f82deb6feec904a53870c929482504ddf28858ce5ad3c5abf4148b3bfec0193f260af432ebe9";
   hasRunfiles = true;
   version = "1.0";
 };
 "stellenbosch" = {
   stripPrefix = 0;
-  sha512.run = "b50034113084955cc712f03306ed369b1a6ba6bfe0072b9a754b77c923d7ee903cb09d1315391aaa15d7c98a32040ef0c1eebfa955ff677d5ee238a34561e15e";
-  sha512.doc = "5b5d27765cdcfc171ae9308be017af84c86133fdb00c349421be359da40fc3f4c8f03ac7e1a97894a2ac633239870e6fc546d3dc9b47d6fc7a8c09e308f48393";
-  sha512.source = "6df35b6c53d012a47684ad044fe0bbbccd472f37b557164f4a09d391d3f130b74b3a1f1c2856257a90e7ebe31b148ab7e8691bbadc499eb8474b0bf271cb4f73";
+  sha512.run = "44b6b8149d4a5aa34ce4bc2e9e66b9bd3a1381b17ffea213b5d0f3afe5b71a62a3b85b4feb6caee4711119fbe27d46b3fcbad2a892e662ee9aac184336677d0a";
+  sha512.doc = "6af215b7af75e04bf24ecf9f83c6e4b5a12013a84435e65872d4d84dadfc2231d341153b05f069d9ca927370a686b6642f4654c9924521f5d93d0d1772f48059";
+  sha512.source = "a4df0b0c1adc1477be9a8a0d2ee3c03c152e3a2a9c9bff5337accace9562a0b117f2ddd09ecf29bfef99ab3bf0a4a394f8780ef57fb693d98fc269cad2f940d0";
   hasRunfiles = true;
   version = "11a";
 };
+"step" = {
+  stripPrefix = 0;
+  sha512.run = "3135dee51564248f0ea3d5c67c46d23151a187ce923fe5c83de2ee6072b62fa4314cf70ecdafe9b4ddb9a44787aca1e9bf2dc79bf38ca6c837ea5593672aa364";
+  sha512.doc = "9e693e25525deb2506ae9143beee56c0a8cce7d5852620b6f1daf5851662c36af52d4d3c38f9c004bc5944621f3113f179f80ff1aa83e9647fb4b079acdffe13";
+  hasRunfiles = true;
+  version = "2.0.1";
+};
 "stex" = {
   stripPrefix = 0;
-  sha512.run = "70f85f98b3427daa82583ee11b637d239b63595e3fa393f679f888c72be2b738eb8084fd7968935bf60ec135eac1bc6fec2047b7ecb193337a1052f991e10f61";
-  sha512.doc = "cb3e15ccbb8ce24be0d8621df709de14b8812342714fd36c16b7105289b61bd6c48c0a69865f5a9ebbc832272eb9d70429f04cd2618a82e79520877935e181ce";
-  sha512.source = "84699ffafd2a7b842afd664c21aafb4b75d91ebb8edf252e5810fb25aa48918866587ff5b1b955070df96e90e24cc5f990d52b0920037d7cd74594222d722dc3";
+  sha512.run = "43d9cb084f47b1fc2bfab9eb11ec9253fda495f29640d333c00de5d7a5681bf37e0331002938e141679b0ab10345e23d5cbff19cb33fbfa01d25be62295b18dc";
+  sha512.doc = "3e936e5905f5dac9a16030af94037398c60b6b79feeb6180af4b7542eb8293a681a213115dd082d9e2df8264771d6d92544e6ec514cf40cf4a136cf74a0a6e51";
+  sha512.source = "5cf2ccb75d699f86a095481c4fdefe0d2a981340d3df72c09ddfc4acd3798a35546674eca62c8aea07431b50edd643c514af901d86513a3e5d0d3af9588f24ed";
   hasRunfiles = true;
 };
 "stickstoo" = {
   stripPrefix = 0;
-  sha512.run = "8649809e4e3039f8111eba390e4b372a5d19b3dc68ea2da7d030165cac764e7652b5509fb12c4d52e163704a257800efd5d265b08f11c14834876d5e80c3b109";
-  sha512.doc = "c9dd9db2ef724552ce4ad442a431c9fe40e622f383234740a6ac56ea54d347b45a23eefbcf3a993687b9d6c0ff6d74948af7ddfc8cf8879b7be0ec6d78277d29";
+  sha512.run = "858647a31ecf1b3a186c020f43e8f3e7bba930f296f01b0893730f486270c8c4af83c26235484abcdffbb996fc4a3cb5c64363c7613269568ff9ec6acd70758c";
+  sha512.doc = "dc1835c8806014872212c9812e1112b1765a5407530c2da786efa15ba08d11d390c4c64c97e3d5c6db451bbbf876d053e6b8baac2ed65f8acb65a5a80f531031";
   hasRunfiles = true;
-  version = "1.031";
+  version = "1.033";
 };
 "stix" = {
   stripPrefix = 0;
-  sha512.run = "526f96636d7458e1d90502a36811f6f5edcb47c35edc95b5bbfaeb8c4a2379ed5f5e5e6df07b633cd8c107c5bd295c4747d9aa1a47209e135bf83e53e3d4b398";
-  sha512.doc = "3072cdce210346c3a40b6eb0bee16b91c490e60eb718d99cf6d846bb9ccf175645023d8c3c2d95ca097b70b8eea807b33e479770f1ef16d5e2fe1781fb236f8a";
-  sha512.source = "45e8000e5ecc051af6fd9dcffd2e63c104116a595088834229c07f4f270e087f8bee732213da8caf1cb1eb0dc43170511c44100d1a74e2b4707d071245c51894";
+  sha512.run = "1d4af4d903ce164b95321dbdc45ee17dff776cbecfb29ef74d7c192909da2eacf7ca7c143ee655d842999d347af8e63df683e4a216569c5954e48be54ad55fbc";
+  sha512.doc = "fd69dc299f88faced8b7166025616de35f935d0726671fb19b94fce9acf6dbf6c9f041f0e4ecd3ddd3aaa8716b77939225301cc79bb0131f77bcff1429066e9b";
+  sha512.source = "1f04ed2c60d8b94eb63e173157a896b14d70b7a0dabdffc1036c7eca0afc4c6257d8b0af24d83264ace3601704109587f0008c3f452232c57410834e6f12d1ed";
   hasRunfiles = true;
   version = "1.1.3";
 };
 "stix2-otf" = {
   stripPrefix = 0;
-  sha512.run = "e43ed32e2dfece68e6e38cd542a664ab7054500b5de56b2c86bdd4f31a9620facb39798322af97b7dfcb37f84662606ee97b34506c107136755bc0495991218b";
-  sha512.doc = "4723db0b72d7b6104adada756c25f0dc63642b6f292c10e54d9e9740d046850946baa66a06662b009471717f7252fa591422b4bb425a6fe94daa0c966f8ef339";
+  sha512.run = "103ecade85ae44948216c901c487b77c29acaec1813d995f79d50497c9b273f312a46709202ff1e450ed45866a306343aaa34c912e556da1496062beadb6bfa7";
+  sha512.doc = "678e183fdfef3a98a2778d7d694cb72682a2b1f44aa3595bc778b0b481f0fbbd60d3c05cc57f64edd78d656cda447b4a27505a71d942c6e63b7d35f31302445b";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.0.1";
 };
 "stix2-type1" = {
   stripPrefix = 0;
-  sha512.run = "55159de5e5294ae87cb217a51815333ebb16e48d8798e1488eadbc281dc155b37fc4cc917e54fb6d408e4c326717fef4ab8d0e6a607526b3850d54c9f439f492";
-  sha512.doc = "11d3d9e1e8aaf6cc3e6ff3d026add3fe3480a8582d0b4954d75bcf6ef6781f4710e5dfa2ef7984a870ac947644d941c449daac7977a340b19f7aa9ed155ca9d8";
-  sha512.source = "1a5662960c36cbbc3cd8a0fe06c32de4eb49b3e7c2f9922e03648b0a27640b643f5732a970c8f6e46066334fa54f6b66f68ecf7d8d2ac4f911715a9d3abf53cf";
+  sha512.run = "7358467241a5eec7e62271395554de3a5e0aaafb926c2ecf5dbb2eec8d03b3bf054ec1366490950ca7f5e69e415816e82af3257c4ac87eb7e6a88fba1d35d4af";
+  sha512.doc = "775626a232affb47e39da154da8a4d41f602fe235dfcf840966d5d60a102ae9a6f27b3ad05f3ab63c4a34746866ad076ba83ed9c2ec88f78039b56363e98756a";
+  sha512.source = "83d2c6307bb0f41248d15a9bd18305f9acb7c651839abfdabceba23ab2d22c6ae3162eea803addfda2df05724445ba1a65b73a00dfe3df894783628bab23b170";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.0.0a";
 };
 "stmaryrd" = {
   stripPrefix = 0;
-  sha512.run = "3c0d67aefa6e10fb2875a690fab469a44fda3f245d4d2c9a0d1d0063984759cdac111b8d87982fd3d8b24ea82fb26600bbd2ec7ff18835606df3290ea7e5e886";
-  sha512.doc = "1b4904a3d623a66bf0b81e33a491fc53b2d89e3c48910adce996961375e5775010bda5900421a7dca1d3df26bab965d04b05eb6ea040e3d314f9fce6d1a9c218";
-  sha512.source = "5e623029e0e79897892b8d4bf9bfc37b16157908e624e80e9a1962b8ef848e74f9e916342dfa0822fdf3b5516cab86f19ea49b73404a0cc55b684d80af786718";
+  sha512.run = "8abe58b84fff2f4fd6846b6c267f3b245fb1dfc2f38d0db54ce7cd9d456abd07627247613073f09dcf7e11e3e9c5940d8ff657327232ce638abc6babcc5b3d77";
+  sha512.doc = "caf883d1c5021b52d6471c4c2145e708ac3c05c8944eaae621a3ea7b602b683ba2ef2bc0052f9caf67adc1415e7db02b5b55d3642ed82727a926ec193dd984f4";
+  sha512.source = "ebefe2836daed0dd4db99517af0f40c73f0a7b19453d5415c80ae6cf723f4ec4e4ae6f9700a21722b4c0d9b8507c58a596697017893716111b46222f54676aa2";
   hasRunfiles = true;
 };
 "storebox" = {
   stripPrefix = 0;
-  sha512.run = "5fbda79d0adf0a1dfeb8d99af26efceb647fac8d07555989b4cedb286fee61492a2c517833f39a746adebe32ab38529f26ee6a34eb91efefbdce7d302e364194";
-  sha512.doc = "15a6d1da8aa7d310f2e424ec55dfb4e200b1503951a00f04e8d09750c97ff90909b7aa253ca62c6fef124377ea9b4127dd4a0b963ce4a5abf78afecaefadbce0";
-  sha512.source = "61ba29c2b787d41b6b400b173ebe100111f55c1a88aaa1ea56407f0796d83a01a68ba23958d8b8d24466123f5d6f7532ea6a9b4efa32ebeebeb495274347d1d3";
+  sha512.run = "365da48946b94161fe78447b402dfda931f7635b7a8a12fe6a4368c3b579c140b6c6037e6b04e192aaac1d768200af2fefc53659e52b813ac6956b9e82c8076c";
+  sha512.doc = "89867e995ec04c8411e6ebb9919e8b94bc12674fd7e659ad6f42b17988748c98a4756268782a9fb5f46095ed2b83a877c3969f0ca8433e5f8c37dc7551c7825e";
+  sha512.source = "248077174224766d5b35b47b319b9eb9afc3a5fcb0d1190474ffc3233c02dc7265c078b08ac57a325990678ab0eb58b818fef34cb932a229da1e43247c6f2578";
   hasRunfiles = true;
   version = "1.3a";
 };
 "storecmd" = {
   stripPrefix = 0;
-  sha512.run = "882af655e2305834a5d79ef4a3d9e257969822940786e38afbeaab083bd87b61e167ce1ed6048cc75801d57d12e0e351f75ebee9be0d4dfe5112f6215e746d1f";
-  sha512.doc = "b328e72eb75471e98941033a83085d2c2b4beb78fdb78112dfe6f4b9b282d7bcea5e473bb73db8c80b76b5fa08e14e7d23f62777393c8fb211b23abb6b953bcf";
+  sha512.run = "1987e3cffafe007d9f3cb9e0d53fcc648eca40140f5188dcb0202a0916296651c1ab02fc589339fc51999b56bfa4a06b29701aa598ec03f51d7b1ee66ecfde7f";
+  sha512.doc = "feacd83403672380cc2cfe90ada2704f98bef63e905740f8f8d50767f86ddf95478efc38fb38fccadad172f27db56045f50a6af4a487f0c5cd2b6ebb5e7666f7";
   hasRunfiles = true;
   version = "0.0.2";
 };
 "stringstrings" = {
   stripPrefix = 0;
-  sha512.run = "044a42e677d9bd425ed350f40a3fb1d419004c42dda56a152c13765530d49aa34d7cc80d1f2c7c6703338ebe2e0a526d3c043832436f3259b4a28bb6bcd8c068";
-  sha512.doc = "2d63d1a5064b7979da09623f30ccc414539b00a788baf1f107fd6ec8bc7104e5ee3fbb38f19ac0aad6c518b03b5f6d4e9dd4097214ed51ab7da5ea4b8374b8db";
-  sha512.source = "bd70fc77d5b2e64456463bdf89418456345fc0c20f5e1e85950c4d42f8c14886715d47686cce6816b011b48562be94aa9615fc9984c7eb8720aa4d1e6888760b";
+  sha512.run = "8ed9dc3bbc869f06126280a4dfab23da73b57a9c5c1058dd9764e2bece26840ad37637d4e83aa84e6d9a17d92095803788697b8d325bca7fd57c7135ade7cbf1";
+  sha512.doc = "fd794606d8eb3a9ab27957268aae1b35b89c1bfc1b3d5602290797a6eda8551e14471d35fd85cc6d0561a1e74523a36450c958a0cf5881d42742eabf085bc794";
+  sha512.source = "79d8d86c7c3695b8d821bd1bf5400b5195c753877f8aa6c24094acc87d91ba8b58b086b760e87acc6e1d4b7e3898c7530f40567f626cb3b002ee7064c636359a";
   hasRunfiles = true;
   version = "1.23";
 };
 "structmech" = {
   stripPrefix = 0;
-  sha512.run = "a759dadfdda5854c37ac7c3273af3cd83057ae2150b750747071c535a572ed605276cd1d9995aa23b8412f8fb51249ef7a50f63784cd3381afcb864f479de5cb";
-  sha512.doc = "9279f28424459bc687a2a5492924d529c7067240264bd8fc0844ceee2592369a6c0c099c2608eec7045cf27d0aa1ccd17083b0d03a7bb7709c55ebe0c3d62f63";
+  sha512.run = "4efa9a978eb0bb92dec5588107588346ba1a22a34e12bf43b811176d42871f415ec58adfa50a4a4bb9b72ef482395c374b9e7b979f1b779e672422bac2c91c6a";
+  sha512.doc = "4eb7e209e5034c6809f8e746f63b1a5f3ed62c85cede4fc989ad6d89a9710bd15ee3e5622181ea9a450ea2b8430ae2c51ccc845851cd9fffa582e3b91b656457";
   version = "1.0";
 };
 "struktex" = {
   stripPrefix = 0;
-  sha512.run = "2c2a038d7525884f095df0ef177a26d0ae99549e4b61deb7fe6c125bd1d9db623f4d15863ae46334285ef0a3b54b865d30ed7e2fcf81bd74d3adc56515c2765b";
-  sha512.doc = "fd021b26565b651493941e75ce4ddddec23af39a8e12a8b04938453f0d6b9836fa9c1e9ef3888a5e1f69b94e8dbea6924e3ac896ded22873b50458f76be128aa";
-  sha512.source = "ac7a8b9b260d6089b9bc437b4c10601d9646afb8771aeea2f1d949d6ba9cc0cbab5f9cbb811aec7dc65b386fae90dfee2f9824b83b6aa7956041e320568093fe";
+  sha512.run = "3d81817eac5cc8b8bd468537406db6a26fecdaad1db269c2ceed582cae84fc2b549eaf527d4c356be7d4f2f16f9db4746251e9b69db0f0fc3cc8acd9f39d1f50";
+  sha512.doc = "261a9f7ef5036bc8eebb87ba503b604b158647e82e88844758be506ac5d389103661f681689a836c0048529446bad0d6537a6fc6ba273dd2ed29abee40336360";
+  sha512.source = "98b06394519aafc81a565c7b12fb1ad86856ca447cb5ccae14aacc95bded9663a72bea301e7f5998eb9cc2a6358c978881736e564c3672eef456c6c44efcce0c";
   hasRunfiles = true;
   version = "2.3c-0-g7d3fc5b";
 };
 "sttools" = {
   stripPrefix = 0;
-  sha512.run = "304e8bf849c234766c8fc200c6027a8ebed023c11a77c1091c5e8ecaa7ad8f5f9b22d126d84ccb814d440c9c737d1483225e68d7a1436ece4dc344202c55867d";
-  sha512.doc = "648bbfbc3606212c22f28d135a9ac1770c6a6aaf241273b4db7648ceb923eedf829fda455733666798fe2c51b91ca3988f758ae00520b823d8280ca5e8cfe022";
-  sha512.source = "9a87c6db7af113bf68419cca8cd27d8c1de0991cba96b2d27fe8fbd37018c8b4a094018165446dce575c95ec29cf85c8eec97492298403b8bce3f184236ec443";
+  sha512.run = "acc5c6b470d1e5fd96eaebf3792b3c2402a8fe4a07409328878313cfbaa1e0febc758ae75c6d736e9320f6a332c67f7d6898c761b9c5e30f6658e9049df889b3";
+  sha512.doc = "15292806d0f8f4a0364076fa225b7d914a4ae88935e08f87a46978f5a561405f6fe4dc2d471c974c85b369e57bcdc00a5a4759d66d296610713d858dcdd4da34";
+  sha512.source = "b22286c3e7b1bc31247fd52e0c64a5f3dddf35e69c2af8e2a617530a24f82e9504f9f0db82d3cd1c57bae61aba526d941636aa32f498ccb3b06983e6e5f511fe";
   hasRunfiles = true;
   version = "2.0";
 };
 "stubs" = {
   stripPrefix = 0;
-  sha512.run = "3282529ac0a07cef0088ecc46dd74a5dd4ea50fa2664131bc4368ac0b59aba515eeff04310e7f4c0d656f9e30ea0f4e13f6f637f51b9f8ff16167d2996d135a7";
-  sha512.doc = "0f9fb5849a4c2e44e712ca2ad5d4834b902c1c1fa610bb26f7f8bfe98c09fa5dda4b2786ad79225a697299542c59d5ea49e323b93c6145d6acc7ae379896675e";
+  sha512.run = "13d9fbb0eb8fed9b92f1307db189e9f65df92470d0ed21a0c84dea2f53ebd1b4d665919372476b737184df4f9faab0a982e681a0f9cb5a99e40b5f80194d448e";
+  sha512.doc = "a427047460a92a436b21c23c112bc4ed8608a9916b613530e5ee5cc56bc833a18c6336943ccba475b7854269680eb7d685bdf2f0641478e46cc4e8fd9a6e8260";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "studenthandouts" = {
   stripPrefix = 0;
-  sha512.run = "6a0c05d2e87f023d213ceae35c0e2202a08b032567831cad828e51cc28a7125a771810ad5996a710440785d6a8776ad4290071b114ae23d03b7c0d9633bf0b4f";
-  sha512.doc = "5d2c842443f43c8452a789398cc526aff5b22ead9b4940000afd64f1b2f27a1db46b8d47cb2e0867df501c63f968654c3fcb324f0e882b358e7e5344ebbb45ec";
+  sha512.run = "2a7d8cab28b58a26633fec5845498a2987763f61b896fb747d97521b569786f114d80979956a9b9c2b94b61f01677101248a1a4c1735415703398b57306b6c15";
+  sha512.doc = "10e3ff558cd5c544d82a61bc67be8b7ed0c9ec9b01550bd3d1c9d3265d1de7153832983593c0be6f5a990d33063b065b397e4ab6b7ed12b0ea79e9e49e0a68f6";
   hasRunfiles = true;
   version = "1.0";
 };
 "sty2dtx" = {
-  sha512.run = "a85b16ea69c410dc44a167b15a0b362d8f8137c278e4c62b18009395347594c956517c3ca578dbeedeb8564c79cec82b4056dd64bd4a212bd9edbaa1d444f6f4";
-  sha512.doc = "aa2b3e7ede27a3793edac52a9468639b152dc3a309730611f3c3aab3997d14f9f7f980a077c96fc610b8eb514f99e900017791e4bc68c59d7d14db2f0bffce91";
+  sha512.run = "05e17abf8322e70f275308e983a244e178883aa36571640d513962e813a2bfeb88264c0ae9ccab956f9bd016923d1727c14a7a26bb58b257c7d05600a540da1c";
+  sha512.doc = "1abba13831a0cd4b93f9665f242b96d32e764c39ccdb917f655922fe2a4b00385d6a78c77c151e212082eace3b9c9447705681416b5cb2eed9f794d7eb30c905";
   hasRunfiles = true;
   version = "2.3";
 };
 "suanpan" = {
   stripPrefix = 0;
-  sha512.run = "8199a96b44988f1307f43e5bceff313a2ff595aac1b473853a9856be579824a111c50ff9f88cc90f81063759ea65a016a9f08d53d07e8396aa319ec98c1fcd4c";
-  sha512.doc = "6b85bed44ed5ef4760f046a3f012b978cfa2e304190de327691b4eb5fd41207cd2af3ec8dd94c50ace73784a5f2df1c5b0401b6c09c7b06afff79f21e9e86dbf";
+  sha512.run = "a9fd27694ea7491321580ee325f8b151bbcfcf6da14ecce85b6d4e68b09cdf125c810a5170aacc966835fad8f2aaefd78916920cc3e896cad7738d026450ed83";
+  sha512.doc = "667d3c5590468170acfded106a2a468d9abe7b4b34a9b56d153d401a60e8f24bce99a4f6c5f2761572a42b85c7faae5741ee5b6f22c3f1004e6d6685463b9350";
   hasRunfiles = true;
 };
 "subdepth" = {
   stripPrefix = 0;
-  sha512.run = "a4f464acc985e1f3f98daa1c049ec0d5538b2fbcbee3263201114a4ed9a37f44ffc36f4208eb4950bbfa4c8fea21b572c107abff82ab56a4f3b8e4716bc592b6";
-  sha512.doc = "579bb024c0a764d7af182c736cac453ea5d828309497fe3a1306e9ba98c25eeba90f6f838cd1b9654ebc9bad38104878147c3ec5f01b501fc500c606c822a63c";
-  sha512.source = "5ceeae5a954ed5208f6e7967de7338351a45b983a94023af9c4045f4fe80d24cdcc3a79617e141f063e51893f6b653a7d0d4a1d3d95bfd20be96bc6e81663793";
+  sha512.run = "7328742873abc42d2b9916161ca43e339e03ac1fd34479e93d9eccc98a065e95cffbc920395dd6f90d90989d29840cbdf2ca87dd1d0b293dfae66abbdc6e2d3a";
+  sha512.doc = "6bda8b822a4f1ac2a181ce34f739449bfb976a4450a54589e0cb4a64a0f1ff358a469fc88a37639104f731671ec474088968ab3dc95552a2d92a073d91857668";
+  sha512.source = "6a63a2d62dbc47d41e78004792e5c9e6ae7b2f3c435e95bc9969bbce109293a8257d4913a5b1959d95163c9aaae557daad53e950c5313faafbd8fb8d0de2c367";
+  hasRunfiles = true;
+  version = "0.1";
+};
+"subdocs" = {
+  stripPrefix = 0;
+  sha512.run = "a38c6e9bad66582914ad4acdae213e37c2bd5658d5e16482a1700f5869762b489f85b61fdb70c04578319f2772c974267b7c9a4e302c34df87f3a01128caf949";
+  sha512.doc = "46bde174536e96bb78ba40990ae3b4b8cc1fe2ef26803b193afe2fccfc05bdb6644a548a712522596786847a8fe6071a52599a17ea52134bbed2e5495bbc401e";
   hasRunfiles = true;
   version = "0.1";
 };
 "subeqn" = {
   stripPrefix = 0;
-  sha512.run = "6810e482077f3f5e18c84ba554280ace286d254219e0e85ef0255a33d48fd931fef7edd3e5e9ad6dc893645900dbf0771a6fe6c54eb40a7da7020f5a655ce091";
-  sha512.doc = "2dab3daba553c8b5f5ad7560439c5e07ef376a5266e0b1e903eac5c2513fa3e267dde73599d739d9a095d2fa5426bcf8868c774c1aaf20d1bbda0da23cf64f07";
-  sha512.source = "d418d7d86a9501822d54c1765fb11c90b2e59c7cea1a44de18bcd079b501653b58dc10d43c7b75709fc664c8ed824fba004919ee1d15d4be2465f13b4feb2682";
+  sha512.run = "7d04ceeb8f75cae074f9bff3e8d0aac4b529d199343c59fae7715d1023aebc3cbf2b45614e0d5ef0a95ff9bca4ff9e8318c4ddd86ceaec42d271f8c0f71282cb";
+  sha512.doc = "09f902bf3b4c8e2e1f9d805102c170b2bf2f4de067cdd590b22fde6b58f4e3042d0b14d362e0af587f9fff9e2c8789bb8af4b329bbfd721ca7dce8af01612c50";
+  sha512.source = "f1f7229f058a7dd80a67f18692fad36601015ad6bd7994775b573193d74c0ff7f175397ad446384cb74b3797f9f17605ce2d381327249ab9e36ae0aab756d09d";
   hasRunfiles = true;
   version = "2.0b";
 };
 "subeqnarray" = {
   stripPrefix = 0;
-  sha512.run = "f68acb4fb6888c503c2c98221b9e6eb74c2a437a7b2e91b871f300990ecad4ba38d541650615991660b02d3cdbe4480049e824cb8a17ee8f7862140f5c009eca";
-  sha512.doc = "79a311f2bcc3c707084eee67e0f4b4282682809e0321fbb9b8948ab97d2a93448f631b1b7dd3a85bb4d7843439d34d000c933460fa2e76c7f434472c4a7dcb04";
-  sha512.source = "fbc81e56d0c9fc61be00e1dcc0605e0ef34c7b3486ecf147823c4a7e43c62ea3a639851eaef31e5d5e2de6835761587c83467d7a3910fa749b7b0f45b110f763";
+  sha512.run = "846d822661b903328ee7b199df6bd7fe5b606c13a185cbb6e6fcccf3b009f2b94396bfc3f9e4b8eb5052688536867dee06c6b9571e051d477415e1ac999fc162";
+  sha512.doc = "9f47b8fb760b51a87ce5f9728e9ff76dbbc10ae009e04c9bc0c91133941e5b528e09e5034156b1dc5ff9a0c74446b548bb69c389486e68a4b8a79a7c9ed1a7f7";
+  sha512.source = "f41086ca65c7821167acada640a11768da429158b4da7caa398db254be156dfb291281b1e2f4f4f58f04c0c8041c45efd2072ddc40db8673808b83b3ca09a93f";
   hasRunfiles = true;
   version = "2.1c";
 };
 "subfig" = {
   stripPrefix = 0;
-  sha512.run = "ad38fe7784dbbd52270a44ecf7495bbf42f2e93a8e6a73189bd9c49c3c4220266e1f71c3ae62603ec1d7a216c1011e204abc2ffc1640c903c98a91d6eddf4c4f";
-  sha512.doc = "7662ef8853fbfa06a32da6755516f1cc45f5e55171c497d10cee7e3d7531d956724ff212decaedf4f45da488282e59182a30a5c5923a85a4e58514bfc2561e1f";
-  sha512.source = "48edaba19b095684c6798454d853fc786e48b134dff7641dba5fb68336918992c911ec33de02d5da805d0a525842d0fa95ac5ce296ffe1000cac0e8af921cda5";
+  sha512.run = "ec7ae149b99fecae3b4ee7cf600811dcec9bc44eac762b5480c6df48b725db3c08a87922edb7a524d7d2b748bf7d25482e155fd40080cea9ac62f2575bf61d15";
+  sha512.doc = "8cb67139bc1063fc4d5482b51f1c3ad690c85d4f7e022a99059a7b20176bbdc97a44af23756fa220b3f7f7afdf039c4a7b672700012e96b98ee25ebb9e5c99b5";
+  sha512.source = "44e7113550dcac4b14ddab03ad5ba4bc86cb3a4dcb14a31f73e5caf0b02f9f3bd56fd9d18ddae002a981e9680bc6fae5850ed07ee94e60d858647136cf9243eb";
   hasRunfiles = true;
   version = "1.3";
 };
 "subfigmat" = {
   stripPrefix = 0;
-  sha512.run = "4bf27196b198a7b8074e5b6dd3f771c80ac31c7c71eadbbfac58abb5450240976ca7f98f6852d3a1b416144ad4e73cf7a377914ea83ba624dcbc30c0c2d849e4";
-  sha512.doc = "17398fb604d3d45d0f93bb392c78b2cb0d7bb08d0a23d5cfeda5f5a7116ae8825beb1d3548dda66f40fdabd70cf5690a97a40966cc600db551774b7b7178dca4";
+  sha512.run = "d607d2e79b3b0d6e99c8577daa577aa25a0a7d9aecc00c8b7026ef3a923b0e2815837d257599dcfdb1e5320305f492bf17845f5c6cd487b476e789c5140e01c3";
+  sha512.doc = "6cfbc274a466796ed0478e9c43cf68d51bbf5379691ea6848968c48cabcfd54525075727463905e48b64946df9822cd10903c562a2f7d546b3d2cd2e9ef11db4";
   hasRunfiles = true;
   version = "1.0";
 };
 "subfigure" = {
   stripPrefix = 0;
-  sha512.run = "e536798e5cb322a80c861485e3c0ee0b4322042cb6c806dd68b57037c4b23c6737a18bd8b3792c8a76ada7fc393077895cb497f2a1003c451049e74dbb3924eb";
-  sha512.doc = "c5f8a3c23d1c4e7dd9d84bbe6b2304f310779f7e856a42e7322f74398a961dceeb87037a6f83aeede53bfd4e6c7d9dda043e810f3bc4b26da85c32754f0f05fb";
-  sha512.source = "1d81d4b508fda79b95cc22755b7d2a0e45fdba5fe4596a93789b21ff0fca2d1751b0314548e1c6c019eeb65a036128f6d3532ceefe671938507766b816f44642";
+  sha512.run = "d4ca2ef4c52c84ddda85ee95328c9d3e97ef601db4f08ea508bc53393e3b2722224273ac63f749d6a922c7b42787e932d7f60ed3ceb03667fcf8fc591d4ac97f";
+  sha512.doc = "46c2950db73fb557e81887f605b866827b6ae7e027a684f0d24cb3f9d5962a3d83aad97b84e61617381af8d0949057df17ef45d629e992e51c80bce3474cc742";
+  sha512.source = "1295290b8c5cc814f6cbadc2be418413d35a0a1cfd313a69b05fc8e5e47ecf5da0cbba73b81f499f0085a55b7e783b9bd82b29ce1072792fa34e422596a117c7";
   hasRunfiles = true;
   version = "2.1.5";
 };
 "subfiles" = {
   stripPrefix = 0;
-  sha512.run = "bce3972400535736b306fe1d87e10b79dfe26675ad18ef272a91d1046e91302bebc1413bffe11785780eb7379a0daaf4d12cd64954d803a6c1c220a213a334cf";
-  sha512.doc = "73a923c6bdd7901b1d77b64c33905f78613cf9c32dd85b2639db6ae6d43d4918405ff27e02eb36ea26443055aa31beb3075f2ae27e891110229dce2f59baee9c";
-  sha512.source = "5f01c63aa2112a2b94cbffe8452976126f0a44cec0523dca39ad022515f06a35e95b1e43bf61c30a974ac50d3252e46b2db1bdc4ab9cc1729c11375e95cb015f";
+  sha512.run = "9a71fe71fe0acd6f9df8b94b29b59416953e353857989d45ad974e6cc5f013319252f1f02f4feaf4bc788013ae3acc5082361da0eead42da1e51b344c6388727";
+  sha512.doc = "4c7470b61c49bf20292806f41ba21b824091a9c46bc3befb46dce259e706ba3523d1d41dfd45dc1a4406fc993a974c1e3f13eb6f7bd849dc24c21668acda20ea";
+  sha512.source = "ef5bd2853db5150d6c7890fa96f7eb59d35577457cd9c8214aef6e0afade618d8af17b9b8a9640a8d556835aa8e7cbfa6d20e735c440d90ee03266dd2c42186e";
   hasRunfiles = true;
   version = "1.2";
 };
 "subfloat" = {
   stripPrefix = 0;
-  sha512.run = "60a9c3ec854c48d929e36d207f06846fc6057ae1fd33ae4a131d3b77d21f7c60f4bedf51763753ace394018960d2ab2eeb35911857a6e297d3a8c67c514ec461";
-  sha512.doc = "bd9a58fd90ad37ae9cd4deb6e2cef80bc5e2c047501e27214663c8fa6ebab530c74d4a2ecb73ef9b72bb67ef4598c54a23804f8121570bc131ce1f1cb914a67d";
-  sha512.source = "935f88144a69247bbc6ac4e21f5ed6c9b372ec420efabce8f3216bf87178114b07d1de536a7ba19242db647f35ca7a7ee0505688e22dbdfa121d3149506e6cea";
+  sha512.run = "d5bd48fe7634ef6deec540595fd23aea21d95d7c68d053bc65eeebc950e35064add73e5b81e92d3a3d4a4dc938448d9c9a27bd0f1a625e4a9f425d4e2d55f237";
+  sha512.doc = "400b9b272e51cd9fa7370f1cf7cb354dc1235fc41d57fb07061dd08b44e06cfc17d38c1be3fd5bafb5ed6bd0404660c46c9bbbfd2fb852297f283be85424c088";
+  sha512.source = "e72b55996a07665b1deb038c5924e7a71c7b7aea761a1420d4c38d64c1ee98b8663b4a996ae39a869cb12b6ef99efd09c989f937bee18f05a1eba57856dc686f";
   hasRunfiles = true;
   version = "2.14";
 };
 "substances" = {
   stripPrefix = 0;
-  sha512.run = "e11ba3bdb0c79253c62b7d5efe90d445ff4c47486cc0077f0d4fee3dc62c708f596fb2110ff266c04aae3b04ff5c35f40a08b6b5a43a03b990d05cd6d3e19682";
-  sha512.doc = "456a7c0b4d4be1c2cc44e6387d431bf31d53e983b232e3fa60973f035e80816fa74b96521670479872c854fc0b16b222bb8965480d0205bec02c2f6ff4e8d350";
+  sha512.run = "c7e3d72a506242b79e99c531bc550c81081d59c5a850af52ca3b86054a5eae42f9f1ac5c7808f54c404bee829f4cafaa1807c46ac7b994cd0f88ade1aec94c5a";
+  sha512.doc = "b2900ddbd6f8618522db171c5fb8b35ce5e5ab6b51fde609a18e6b5656437709772dba683767ad23ce955463a869c483e5e3fe81e1f9b5f7523f4f0cdb87a4d9";
   hasRunfiles = true;
   version = "0.2a";
 };
 "substitutefont" = {
   stripPrefix = 0;
-  sha512.run = "5f3eb640783115e28fe644362f6b4028388d8dad242dbdb43c0ce7e4ce6921527070d571f2972fe1ea2175b7786f213c6ef749496f19f2c27c9e8dae79eaf4c0";
-  sha512.doc = "479050e2a2860109d0e1b2aeea673a43e8e2fa6277aa91eb23c656ece50ec052b45f9bc3adf7d931fe67e9e5e85a956b40a9317d02c6d953f3d0220789526b53";
+  sha512.run = "d060c12b1283ebcf314d6f9f6efd2ed94151ae7030a3d6e424478b2e2cd05753260837f1b9c5003735e27a7eba0313f29263e9a8a8892264bec131bbe07ef9d1";
+  sha512.doc = "ce241b95d029651d2de4464880f7f59e4909939697537cf5257bc2e132a476147263c8e9253ddd1fd35fd62dba73cf4d0d06d41bde26b11776b83c456adb0fb4";
   hasRunfiles = true;
   version = "0.1.4";
 };
 "substr" = {
   stripPrefix = 0;
-  sha512.run = "2ebeff35f974e032dc20f07c61d4c3dbaffb61909884dca791520f9b204e12fc5d7a16bb96c8ca76832e48de31c25ab02fb8aaa2ad6de3b58aed89647bba4a43";
-  sha512.doc = "d005ecb9f9c90f178f68f2de2394ef4f1265abb831c4b679a9ddd03d9792b814c1c383beaecf3bfb76e4f85e73916bc386fcbe4e7d73917751a9b1a975265ab9";
+  sha512.run = "979aaff088f7bd521e2af3f008fd6fb9dc908ec7c9f3963ab7b6338ece92b2a7eebbf9b4974ab87f73cc71ecf7ba92c25d22be8d1fdd297d066da72f61ad1d4f";
+  sha512.doc = "97adaaa986a8540364cd6901448eb47bfbe9d53842f412100696621c55d2209807d0d527c8126d9df7b5b38b0ba2f0598e79a467934d9069fe96a2d9125b701f";
   hasRunfiles = true;
   version = "1.2";
 };
 "subsupscripts" = {
   stripPrefix = 0;
-  sha512.run = "3abe5681a0aa05cd9872f564b1b97da28382f60002464ec9c7d167ba9289bc09ee6a74096c687bbc4b0f51004ee3fe51c5cc7a2e23f7a5bc3737fc8e8f39c75f";
-  sha512.doc = "1cad042a0c5ca08fd17e9f9318e26ac0f8847310df8e14f0f4195df8d39146763714073efd51e1dda3b7ff44ce12f2d9f76eb6e62e01a93af5cad1f9b60d9bd9";
+  sha512.run = "a1578fb66e6068955c4aa69b8ccb951e79fe55616ceaac8d5f01b62d8c6e862d816e0e1ff6c387bad8b8416a3993699872b0ee3df4f432a733ded0eaa60424fe";
+  sha512.doc = "b1424b69633b1c09fde52a38c2e50b6c744671292875688b295586bfcd340283c03a122c83298e8be9bf714201db35f0000c41720a6db49cc09591ae69a3d176";
   hasRunfiles = true;
   version = "1.0";
 };
+"subtext" = {
+  stripPrefix = 0;
+  sha512.run = "0ab32328d346bddddd37094ec086727222bd386bd24c1aa164aaa0cba85d60cf6be2aa26d64bd0bcf63f49b0188e79a7212e8b98d2d7400f828ccf10f60272f3";
+  sha512.doc = "cd3fdf312f2bd7d30c3aee67309220e8e75d20ea69ffcb17106812f0423791dbeb26a8ddd3621cd48e6b3cab5c910083f49aa18b439d9f8114c08002cdf8826b";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "sudoku" = {
   stripPrefix = 0;
-  sha512.run = "e59789ad8af410520ce0817144c477d8dc64ccffd76c27feb9474e3d9a5a3ec83474543a9dd3a61c684cb8982e0e71349d07c18836e5756d4e04d797fb6a093f";
-  sha512.doc = "983f6f7ba74963abed5f95a1ff8632b6ce4b4cbe636228c729856babba4882da0140d0c895c990598d837ed653c46dbe88378cc45d17631e6e175b0c287096b1";
-  sha512.source = "cce32bcdde07c820584a4ccc8b67965f4c7b46ee602d96219b599910c8ba71b02c5497d82f9b011768d7970abb994524ce8f004bbe462d0751ea4b8f9a1ff784";
+  sha512.run = "a5a9ed2ec9a5eb2cfe973094c6bfca609923ee14ec51916051985bcb2533d1f6670776877252f50a2f16fb54e3318adb15fde907182da215d1db81327fee313b";
+  sha512.doc = "7e1fc099e6f84e0e22f6e479bfc611ebb8668fd1391c07f877abf4455579248b99108c9b6224da3a0abec4e0853ac8ba8f817e80832629a1d3b624b16394c29f";
+  sha512.source = "05e89ce1f640ed336d8d7447681517b6fb827fed72e8245998c0b11f7f767b8f20e9688f3740223213fed0e860c9304748a11fe94b1a8244697c79a0db54d441";
   hasRunfiles = true;
   version = "1.0";
 };
 "sudokubundle" = {
   stripPrefix = 0;
-  sha512.run = "a8de67fda97042211f758c32179feeaa4258e098f316f5655a616c3992148b27683139fc59b34693859a87272214c125509ec5c693ff7ba3a02b4ea132ab0f91";
-  sha512.doc = "64d28b4daecd5b0e85da96a0bf7d6dade26a74cfe13b68069af80cd9ff5279610650954e683691cf3ee2992b4a8812a6d9f1699beaec957b5a9f4f7e6932fcbe";
-  sha512.source = "0403491075ee3975af6b61347cce331a44cfa93a25de3a96607e0d7904b79703b3d01e7d0972e31bbb5573dc5ee246ab7e918ea02f53b5c68b2fd75e1aa62c06";
+  sha512.run = "da5c7954dda7fb8076d9b2fbd8a379e416a162ce0039a0566799bba0ddea975f3b951b7615cf50819440b46c419277a080b6e1c3c514e73483b4f81420a4b6d4";
+  sha512.doc = "6878ae9a2734e5efb51f04fe24cc30546a2c812ccfd5ae62cbbbc94496a081b03f7d2bfcfa6c7edd610cd6eccd741c3dcc3441a6d437eea5f310865dd13d30f9";
+  sha512.source = "00b0b27e9b97dcca17113d8f314480b2617d18603bf022631f6553f2b8a7c4e7d30e1718cfe4ce1ede7996d7ebe7905d25480c6516df4b3df65403346c050beb";
   hasRunfiles = true;
   version = "1.0a";
 };
 "suftesi" = {
   stripPrefix = 0;
-  sha512.run = "78a653c14c9de227fd627951145f1cf4bbaf81d2b668d4a2281da3cc78fa632f76a47cafba333ac80ee0420bdfc743f0a1f0eae4eabbe50b5afba2e7d52403cc";
-  sha512.doc = "2b65779f4bd02869dfe29703472fcd236d088fe4487624586a0696ed465427adf874853261e9f52519c62f7bc15312b4fe544abc36c18459a558254ca87c8ca1";
-  sha512.source = "975e2a2616bb8e20f23adb703a0f9aaf575185d79fd9c84a104af37305ef1757309a5a440e828e131964ffc2dc372b0d86aae33d2f723e015366638f152b2544";
+  sha512.run = "b5c845b35d39c689f0dc63cda289a2b3cb28199c843d46bed2bb0549477a5756b31afd99dcb7de9a0a3d86e93264f8ab3755ccc27c63937ebebd4283b22491e1";
+  sha512.doc = "995905861f47c1069085cdd7e52fbd85045d1b8a1800522e78fa2300a2923029a9ff11aaac7b557ec30217f5d99c9d873dd49cbb694355cbf601911cd775b343";
+  sha512.source = "e743364722e6f87aa375f19b5234708adfe83a4788cffa35ef94da0a3bd5933f78899d815fb75496136b28e61f337f6eb5c7be562898d7129ac5fe5fea140f6a";
   hasRunfiles = true;
   version = "2.9.1";
 };
 "sugconf" = {
   stripPrefix = 0;
-  sha512.run = "f3df85e2d7443eaefc6e2ee21c5861554ffdde29fb308388e1ac7d04081700d0f60b6492d636f84485740489c98e0bfcce7057fce95f0ed60e63dd4a591718fc";
-  sha512.doc = "cf4a58ca823c64106adcfd418e21306811f27991a0d09f0d2074ec55595fe2e04e4f490b041d0862b33a8a22e7cf3e93cd49de500b4aa870925aeb4d4340a8a7";
+  sha512.run = "413a4e36d4e4623898ffef9109b7bf26b6c8769e05d9d631898420a62d0766dbc8597083c6fe27393c8769f8a55d683cf52e3c650b9ed521268064bf510e76aa";
+  sha512.doc = "9d4b4544d559fed2806783fd8cbc23485e4a4d14afa6702a90845786449b8fea920277c4c7d1bd4f5fa89ceefec34bd50e617a0ffd3bbee30711fa5e63a2414c";
   hasRunfiles = true;
 };
 "superiors" = {
   stripPrefix = 0;
-  sha512.run = "3cd1612b070800212183f13751e5900e9c9c14ab58e8c604e28fcf31f17648140f751757fde69e6693e44001956b191fe1f8b0f3250a435f1ff061b3abc9f842";
-  sha512.doc = "f2a8504178a6cdd0f4b4d82a01969d3f04f303f34a287d4a1906eb09ced08461280658665dc303ef3686e33457678289c11b85081e124649fdf9ee3e484bf8df";
+  sha512.run = "783d14d75daa63d108fcf870004a46680c643699ccc7256906a06fc7ca4482ebcee14f120209bd488d5c2890a3c8c33d132a0eb23d4b93d04deb05eca6bd0970";
+  sha512.doc = "f96d441d9dbd470023c1ecfe3912336f696dea7dcaf7b3c052aabf9c702869cd0ea27a28ffbd34294149c98d5bc23fe004871faafdfc1eb72fcc4fe2e2591d82";
   hasRunfiles = true;
-  version = "1.05";
+  version = "1.06";
 };
 "supertabular" = {
   stripPrefix = 0;
-  sha512.run = "91719d2afa4187e5bcdfc16326d4d496ef631b2dafbc2c780e338f2dde2508db38e1626d363cf7f19f93dd707804472aa6e60bec4450498f30713aa7264200f2";
-  sha512.doc = "a9101fbabf683f09bb434fd5b5ddf10b5801355da16698e0d7e3fcd78c8f12645c016ed91b26a35d451a8f1cdc015e30193402ff2b946065354821ffee6735d2";
-  sha512.source = "2c3540457b4d30ec30304dfc0661eb4319497d01934c96d885e19f1176996e2ccbff3dba873e98fe29496fb95b51f6ed16dcd2907a41e419bf6490a390b2f9f3";
+  sha512.run = "2501d5ccc7c4209cb2df6bb1f68ded224fd65fedc03d53b6854b5cb7824e5652cff18c8251f768e0ac1878beaa6c430231344d81fdc5dd375878ab2b62158d93";
+  sha512.doc = "7934c89c7bec6acc26a96662fbbcd0ef86ec9583d86b9c5de41e9d5385b72f8fcfdd04615c667f7e60632836e35d1ec0954f9d083a09a9b41d1aa903bb20475f";
+  sha512.source = "aa38f07fb900f0649db23d42556ff8d73ee3d84f995af367dec74fe275da32a167cf23bdb7a9e20eda9bd7b8e59c2c21d468ad47c4215b9b64894aaf0b0a896e";
   hasRunfiles = true;
   version = "4.1e";
 };
 "susy" = {
   stripPrefix = 0;
-  sha512.run = "dbea3a827d0d8a1d451dfb86883de88e66d36edcd6c5f5f281780f45622bf9215d49ac8242cb26d132c91f7120df1b0c1f19b24bed9389a687486d1aa3ad423e";
-  sha512.doc = "45c6049bf2cb3457aa8a1b4390d78e660c56c330cf4b393922c0ccc405803d5e1c9a6be1f80c562949e67f3dcbed6eb7384d12e5a6d7feeb6ade4d181e6716b1";
+  sha512.run = "406a172dfb787c833d8d71e74cde627fad5dc168a1be7a71c4d0006e2f0a6625738ec11f99c9215af6973b101e17abe8eb8355206bdaa18ab3fa6328d7ea42bd";
+  sha512.doc = "f802ccdadb5ac2bd96ff27396b020798ac023889f751bc3a286392f62341ee6ac50486899f4e633b90b85320f1bbb679dfba98aa3746d01f0220f07cf65549f6";
   hasRunfiles = true;
 };
 "svg" = {
   stripPrefix = 0;
-  sha512.run = "0e7a1eec29d630d9c6feab8ed793f741828e8941cbc5b3701bddfae3a51ff02237b437b226f2bed9a7507db4541d4cd5cecb03799cbd23ee6ab3eb649f8ef623";
-  sha512.doc = "d482e369a5cb3f8946e5199ae22e735f767adbdcda3531cd48ad114008bd9b88ff068a7ab65e21c199bcb7ad281a7b6f9e348608869d25d57331a6504a0bf080";
-  sha512.source = "f317ba7aeebd7554f05b9e2719a442f851e94f7cc8f6010baf3f0823f26980bc63bac9604f3b82c4f4ef1e5a235674c2f027915cfaef6abaa76488c6608ae5b9";
+  sha512.run = "10edc900be609c7fd4f21b0d4aa70e06edc6bab8ac417635ffa6d8d6b06b64e9802f8f510ad3f288d4351983f4756f013e007d309843a271f88f8f4cbde8e05b";
+  sha512.doc = "53c9d4efe37b1281a143e0f65cad3a559f9e5ad0e92a92d91da3301501a09f4e24f6a3efe6ffb919718cccf5419c66896e5bb50f8e64abf90ac0c5ced0b16df6";
+  sha512.source = "9ebbc53e9edf019322f37e7b95f87bbdd37785c33785840dc66a706c38180a9646048a62e4a5aad9f7aaca9ea175256ee5a304062aefcf4d566a46599b61767f";
   hasRunfiles = true;
-  version = "2.02b";
+  version = "2.02c";
 };
 "svg-inkscape" = {
   stripPrefix = 0;
-  sha512.run = "3aed995c7ccb8b53d509106edb59a2d46f8b4ad1cd54d7e08447c1f0aae8a0c2791940a5d2cb9a253ed9afa01dbffc2a21b992d06940488a3f39dde5e091d280";
-  sha512.doc = "8bc7b3b68f6630a979a93a2066a98febae945dcc8c9f4400091753bcbdf699aaadd15cf1acee50f7f21f284f62ab49a7834381feca43a23b2a67cc2baa508efd";
+  sha512.run = "e1708206e6fe85271e729ee8c9bf952f45af662a54ad2e816b449fed263fefd8527529ea777b85a50f736d0ec7875afcb3059ed2ac81afd45c54ccdc687c3979";
+  sha512.doc = "609d1a7d2256461a749c3a74ac5dffdb7efec999faa15315872f4e61884933cf47c380bfd8eba53de491494cb498a45ba263dc889fa0fd337c48f82842fa6bdd";
 };
 "svgcolor" = {
   stripPrefix = 0;
-  sha512.run = "69715744abc5f4665fd6150b1ea2b1d766b8fbbf212cccbcd697ebd1cf4fe97575bff008338c9b5f6bbc309130bd3d5b6393f760929c081ca3a03bc716968453";
-  sha512.doc = "cdf9e76951cc6f2ba3551df21ea70a5675b83da99176722b96b81c72239d525035fa5dd3646decd72ff33bed63066adf96a3399c892e1599b9f3356f92145af8";
+  sha512.run = "617a880e8e94e781819a8ab3a169325e667a18afd83a10f070a56dd9f1813153d8f52cbc3322c264ee249c0e70080421a9e1debf844ecbc7ea6c2368a6ac67e2";
+  sha512.doc = "02a28da03f72cd85f30f73282558bd3aa05a82318cc90f56af6ff8ae29e1f205d3c05553598b88ea13206b4d54f64ca36d5a6a8d6f8913e08c185c7bce6011ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "svn" = {
   stripPrefix = 0;
-  sha512.run = "5c6daf41bdb04b3420cd108f1f4660330ef5d6e7a79cbcd2e9fca96740bf3f61c6cecdbc93072181d79c20ba4ef0413d831383e94b1845c19e11ee77ace39d82";
-  sha512.doc = "ffd72cd7d402683d8d59c95997620f3571800f4bebd0ec8792ea0d8975f1295451cb18929fb1972a449ce7bff8efd12575f345ee3909d3eb5a67a1146aa1da5e";
-  sha512.source = "b0536c1e973a1e67e5a2df5dd462e651c4cdcdccba25a21743b9884a5d18616de88f969918cecc8b23571ef3de11b45b3781e97f6e9158a791537ce78a5efe93";
+  sha512.run = "a64768b2c5931ba6b9e0b910d7bdc1473a7dbc01a70e41fbda46b4064ca1c41592f3d704496199e41ff27ac4d0ccfad56d9d89e536176010e35c1c8f56312454";
+  sha512.doc = "123ce3eda16e4a1c44a85c6d2ef2bf4e5f6b9e9d939cf66eee52ad1326f06b35c457f4df054956dc16c169031909f2ea93aca380d2ba080f6049795a841dc34e";
+  sha512.source = "0033fe1be2ede6984cbc0397c20187cc03520b5d893f7ae239bb688354d7198c4e96cfed09dcdffe7160769f6dafc9995d77f8f0f9def753048d4ecb8231ee69";
   hasRunfiles = true;
   version = "43";
 };
 "svn-multi" = {
-  sha512.run = "f3a0f3bbc627ffda1456ea6afa6345940fbb0d3310309debfeeaee06f65320e1050e9133bcf15c104111c85913638b44b1e023fb24491c6731045cdfa7543049";
-  sha512.doc = "3f053a4ce166b1e2d72c9841985269bafbefe9492049f98e8f625302ca2d8f7a7d824efcbc5e3ec8b31375a72c00ff86f7b634836bd996881cf14cbc6d97246b";
-  sha512.source = "43187f8f229e97159a45a8fee8bab3bb8ad31dc7aa129e9ba5be20c94600d29e62334f10b2ae36c90042e2ae5e040e868312484641d52f4b73bf2427d8bb360f";
+  sha512.run = "f1367560fd6eb6247097d5e5901a56a01a90941f584797f6a5e3388cd9ebb5e33ae98a8cba69cccb4b42feb01a29d8507de8e814be8ca2516ba24ce6a0d929e5";
+  sha512.doc = "8e54c597bec50dc541abe4e1be7ceeca9575c5e9f3e201bc66eaeab11ea529cfe3724389aa2d4938f6272c93213dd20a7ea89cc9c954f882ce916c6d610bafb1";
+  sha512.source = "f90315214155802235b1137276d615bac052adb9295dba04443976fd7147898616e2ff8e32bc1c3f6cceaaf59480c9acafa73cc53ad50da2bd07d20dd68e2fa7";
   hasRunfiles = true;
   version = "2.4d";
 };
 "svn-prov" = {
   stripPrefix = 0;
-  sha512.run = "65500d9f2163c31886b0da87e4b696a3ff0f7c6324dd3b55365fb3decaf3c6b26f09ebeea7fcc89c9712d943b1155954a018c24fc557cfe2f639086a9cb5bc16";
-  sha512.doc = "5467790439685fb92f653328016725488dc7ed4eb722d1eca7dd88973a08a51bb1d631ab24f99a70a13e63844e08106b60de955bfc90c512192aefa5e75c9cfc";
-  sha512.source = "6d4686b3d026dfe0e9bf2c779871e5ac5e3eb499d6b18a56948d26af19d2587eb87890dd7abdea459093fb4610316d2a569d9bd8f8afdfbb2f3a7ff002925e9d";
+  sha512.run = "24325a3de52afb9328a4b608710b94839c77ac65b13f08219f4efa24680ceabc410135de3c468c89d5d283a8986f2a9e337ef2285241ce776d0270622e0e77d9";
+  sha512.doc = "b6de41de4535833025f2899ae28530f4198717bfdcf06b090d054c20bced3a524ae9627b1909eb7afc6ff4e09d5525203b869c09d23facbb86e207ab2193b57a";
+  sha512.source = "c7586e4592f9518d2a03218c9afe614422bc8021a192279d7be1b090bd09bc51191d8c0a2e760514206c53cecf5a7b89c617a4c209cdb878874a0e3396659a3c";
   hasRunfiles = true;
   version = "3.1862";
 };
 "svninfo" = {
   stripPrefix = 0;
-  sha512.run = "c82013869a45e7168dc48e6fabaa343c4600a1156eedb651e382c77bd65dcbbdbc0c47222884bf6e6a1c4a7f014e89c1528ff0dbafcabac17269c81b95a82247";
-  sha512.doc = "6862165228b6b1e1136e826a23096e03ebd285e2e885721bc9da07403edb41572512e3c2a2147cbda828185cbe1275cec3d809738f7c6b7fd81cdc12bd5e51db";
-  sha512.source = "0460910f68d83793b8e277c9ce88da585ca28b3e1ad10fdb11d39dc7ee53126aeca44636a95616f3e342458c273cd4fb66483f50f2f31ac0dde87ce180ac924f";
+  sha512.run = "efb2b358bbf5a05b17a591114d0f45a38ff42837751d00b88183265d9bf595ba39377fc53dfe69ca01ae8c1776e6d4ded9c0f636e0e697b946f1d193b39c1537";
+  sha512.doc = "f8f20578da98d54181475d23be625a80c35af5e464fdcfca80643f8701a029bfdf03cfb13ec42be34312eafc372e42e5bbb4260aaa5066fe004b2fd6fcb2acc7";
+  sha512.source = "7ce865a81c8fcd47ff2cf00b5304e40ca0d534ee63b23cf24eb716926f3258a8081ec6aa9bf160a3fce741f1dab6c62e069ada8f5298f9a354d92c34ab36058b";
   hasRunfiles = true;
   version = "0.7.4";
 };
 "svrsymbols" = {
   stripPrefix = 0;
-  sha512.run = "cfed8d86151f38444df9c6c9d6a189b93e34c2ec95029ea39b1abb1fe92850b6754c9c22018f37f7e7d258df2dda325bfa3624de612612fe044c07243d4acb72";
-  sha512.doc = "4f38961b9024fd89134e9484064fa563c06d8d721f2ed7063ab5080c1f9927feecf47017f4d63fcccdff05cc4f740392050c94ad8e12e94cd8fd5f1e27351c81";
-  sha512.source = "c43efd6be9500d55e066d3f3b3cc6153086d8370b0f5e60ee7b6752f83b07dde5214a040254d675f629e29805ae03b57658c30cb1485b5dd02875bb582172f0e";
+  sha512.run = "1fadd5259d527daf316502aae6072865b9c6e2efc1ab92f4bc0c3d1070ca4dd863b8f7366c9e6909b7885858c1745cd723003a9f4bd28e8208889da2c21f18d3";
+  sha512.doc = "6ff7b9c1efa4b59c453b42fd37dc66e3c79912ff0bf9765b2745fd0cd946a4cfc4a063fc943d1b5919368f8a5809eef5cb7f3a4bf3b6cbdf8200f42180d21f92";
+  sha512.source = "916ca0f14ff1b9ae99fc609c41fa655eef39bb053ad39274dbe43167dbeed06ebbb9990cde6c040fcbf9b432b4ff89651195df094aa9c35bc172e7932917148d";
   hasRunfiles = true;
   version = "2.0b";
 };
 "swebib" = {
   stripPrefix = 0;
-  sha512.run = "3796cf2148aa57c841c36b1d655d4b0fdadc713ad8c65b4eb131cd571dad29b52aa115c343eb73405fbb16f1a8d6e8eb652aff6e34b05d0c9c95700e112d115e";
-  sha512.doc = "5b4b5877ba30f9642feaa105e466aadbccbb2dfc1ecc691ddcc7c700109dc0caa93d977f373f1b3428145ee7f02fefdb8c3ad3b37f671d36e1ef4becf820d036";
+  sha512.run = "c34174a73f2264bd0963bc6932f6ce840a84d3c48ec9aeae9f7f92ce25ce5f55dc2e4c05d1eaee54c18b4c0ef9adcf494310cdf0a3e1d73031910b75a6db30c8";
+  sha512.doc = "a3db201554a0b828cfc72d47a22b777fd7b44b25c361a4d8f032cc62658780628e83f6eabfbf342b867fda335c1ddc228347f5fc66651193c8229e0bc6e46f67";
   hasRunfiles = true;
 };
 "swimgraf" = {
   stripPrefix = 0;
-  sha512.run = "0793102bb0c04fe27aaad2e882b04f80b1e496dd747708d9dc7baeb037d94abbcc3c908d1719bb9d372a8c5932b836c5ddd66153378907afc43e3ec477aa9e62";
-  sha512.doc = "25b5a0292187102f74d821f8eea3d34d643756f90cad9256e008d07a7bada86926eab8dfe667c29ff970bd64edb177ce8540ddc2cb29f29bd31117bd04bd53f5";
+  sha512.run = "d4bd2097892db6467ae1c80032e4ff5f39e3da81f45ecf472d350297687609ff37b8498de9e44405ad9c7dd7b483599c844672233d289c6cc4ed1e2b9e2bb842";
+  sha512.doc = "2394080a393e2a0cc8e8299dc4debbcc7548186a714454c87662c22a371308c7e8e6705c9dcbf6eca632f2f80788a733f9d5a9f3fddb2f46167fd50654c5bcdc";
   hasRunfiles = true;
 };
 "syllogism" = {
   stripPrefix = 0;
-  sha512.run = "a822ee5507f7b3fa41a4f338de2668afb094640a62f972296b5bef295e74d68118d75933245e22ff4aea5625b314bce18a57da31c5bd6a04050c1c25da668d94";
-  sha512.doc = "cab0677870328ff02b552a7dc7eb401aaac32a3dd927d72285ec1a884b720a8de1e009e4bc0454df0bd264f54b95ea45fa888d1a64339537ea8c31335f92c3f0";
+  sha512.run = "6f74e300794afa114da0f498bf70a389500bd2346bd0bd3d9ecf0f30d6167bfc9ea094024039775c649f5feeaa4b62384072ff26fc0c0fb426634912f440999a";
+  sha512.doc = "1d2f3cfb453a4964b0e64a486a7c466731fec93e3a4210b216ebe9bc311923f055bbb903c26b5177c34a16a343e5f4e1a0643c7f6bf635dc0762182185f6e362";
   hasRunfiles = true;
   version = "1.2";
 };
 "symbol" = {
   stripPrefix = 0;
-  sha512.run = "6998e58f859b94825bdcf1c783eaee7935cdf5dd94b83a45e3c3de6d56317d674fbc53b370b3695f0729dbd869dc8ae00c51bcc63fdece7386c87bbd2581adb8";
+  sha512.run = "d942031f4a865c9db3f1deb68e9468132e811c88a4de67661a25431506a8ea41b2a9cd36ae0855208802d5b7cd4495b3cc27e9e18996dbf96f2529fecf4683e0";
   hasRunfiles = true;
 };
 "sympytexpackage" = {
   stripPrefix = 0;
-  sha512.run = "b4c8f87f57aed463e8c518846dba32a189de8b75c3992e257ae4e3aea92e703b9d175a10503a1588ac58f0e0d5740247768f84eba3ac9c34983e6ed019baa698";
-  sha512.doc = "ae20ee5f1712b46ff2072aa6b3f139179bdde10199afd1ebe44aa0600948dff7c6e174be00f7a51a6711dfdc23831618f3b61f0f434aee348bff22266a106881";
-  sha512.source = "675a253288308b51c54042747984eda3115384ac997173dd910bd515f2f62f1dddb2fe3e9bd83af8332eea8bfe3d2a3e27f5691f3f8ed5eff7fb32fd93c3f37e";
+  sha512.run = "14813cf24b562ed135e6d5a0078306f0687cd464915ecc17e61df0bb5d9900d7110e8338c469d4d55664b2fecd1eeb6bb4f359b11fb2a07bad72a442b7698842";
+  sha512.doc = "c4e7e386852b3acd071d1addea10435985e7722dfffd4933ac2c3821b5a75e8c9500f5c42bb6b3e2315bd06b8d3e2ad12423c2c43547bb51b2f59bd982d7dfd3";
+  sha512.source = "7dfa3975f5c042f7196ef6a76e31b79caeca4101026afc53aed719239e7ce701a7917e733bb77297b569333adccab6b5bc7149befdd6eed4f09d46ea38684579";
   hasRunfiles = true;
   version = "0.3";
 };
 "synctex" = {
-  sha512.run = "e3589ecd11871d949c3526eebb150e4d7e812aebcc9ab4a3476083418b138003ef4cb2486148fde55fb2fae194244c3ba37d9b6d85f48ed8c71ef778fa30744f";
-  sha512.doc = "10c3e6b125bde957321a18810c7163f98fafbca7b4715fa777e8381a16eda20000be671c67e71f6aeb18c24d804fe6fa4b905ba7ac9f7ae5c168f1db4f605af1";
+  sha512.run = "9fb5f8c3729115a91a51efb3645f39809b07ef9eb842d2ded1d64cdfe558c0bfec6234827dd87b38c40bb167225a88c6ff09e3d7bd49b50db7561981105bd6a2";
+  sha512.doc = "3a61c57a78772d6f8441db824f489c7dbd5b547760b43dce500ba9ec07780a839d0c6db7f90921846985ce4400bccbec2435e6d4d8bc2952fe1dcbeb9a23c91f";
 };
 "synproof" = {
   stripPrefix = 0;
-  sha512.run = "202425dd18fdcd5f3f128c54c101e48fc2319c65aa8604a35daf9548d886c866359c561d1bf22fdcb2bf3d5dc8613e2ad47713a80bd68b064f7a1ca4ac62e9ea";
-  sha512.doc = "0a0625620f1f2f9ec34039c1bb02e89ffd8eb145f70131f6398162968948c3cd78932a6f647fe42cf94bd06fd803b9ffd55627ffcdb3b736785102978c474d91";
+  sha512.run = "934235e8eb4ca51a906ca287c5524cc3b0b69c649b47a9fa0fc2c9fd664199eb6fce835d435e97e0b24bd0662ee68b8db471e3546c4bdb402bfcc19b1fd02c50";
+  sha512.doc = "9a12fab29c7c0118bd97a7af1585ae97c5086e7a1e9529624b7fa43a723151e00537b9488a42628d7f6e93b87d092fe0dd18476c7d232e3ee74597186a92585b";
   hasRunfiles = true;
   version = "1.0";
 };
 "syntax" = {
   stripPrefix = 0;
-  sha512.run = "e6d02e538cc8ba623fc56bcc86cc77f430cda6e2b8956ae8d6f600f41553591874b5d2dc1429c7a077e23c5f58f9e877056e818da4dbf55b99e39a0120344eaf";
-  sha512.doc = "a7238f8a7e673bb5beee6bddd92eda4a7fc052f82d85ce6aef3158accade9511e6253555c0a7f6520d5fde8d164bbcf2c078142510ec5c341a0a70cf93d66335";
+  sha512.run = "be1e049a98cd7e45cec9675e707575107af9c613028012b8fbfa658c6c9cbbac5782d3a7111f37edc719fb90e7c168c9a98a3d30a4c997b6ac4ed0691fc7fdc3";
+  sha512.doc = "7d0754c08081abc9867d0d40fc910ae5f8b34518004bf698dddc184f0b514d75a7feb3085870cf8322b3d6f3bc4c32ab50acdaeb56b574bf41604a18c23a6656";
   hasRunfiles = true;
 };
 "syntrace" = {
   stripPrefix = 0;
-  sha512.run = "e0f6885186bec22d6a0f36c308d9ed4a948584439c3ffe2e2c05bf15624d6480169c932290aed6346c0538495371c5e074fa17e2e05d4a8dbaadf97e90cd7438";
-  sha512.doc = "3732c1b976690dc617cc548de59ff8d4fb19968dbaa705cbc04867e551a562dec6dc7ca710dd933c349ec73627e00e4c80e92d93a115a44dfbcee177409c921a";
-  sha512.source = "73df8375cb1669790fd5eee086f7722ec9d9ec55893923f18c76c5ee8cb97e206cefee1a722119a9c148b148e3ca9d095f717f2c290f7c5889648a921e2285fb";
+  sha512.run = "613c70859eb0c710c43fa4a62fe8b8d38a407ffe94c532d80927d00fd47c17b6570040f5d9ace5035f4dc53deef97419f52ecdf021ab11d5629445153b85ebd2";
+  sha512.doc = "0349aba5e1455a6676cda43c7981677cfadf77b9898a79d90104808e77cd351f219392a91f83b670f7f1801babf53854f8719c32b8da112fde849b7b120e2327";
+  sha512.source = "a6b5e08c1eae9b6c631f2d2316bf0d2afba452be7f8aed0d6f9724dedc7d50785ef09e1f29986d2cf869988e3b5c59332cd2b44d185b298e59333131413314f3";
   hasRunfiles = true;
   version = "1.1";
 };
 "synttree" = {
   stripPrefix = 0;
-  sha512.run = "3ad716f31a28a16de8661db756ea51c6f13a487f39db9023bc5f7327f60fda82a8a7179755bd0019d3c4c720bbd96b08e01947c4d2af6e82ec328e6d1b680b5c";
-  sha512.doc = "855d8b19dff9473d97a03e05d1e32acc59be52eae0dfd39ffb7f2f1a418e3dbdb0339b530081151645dd0183f80ee8b9f681f1f005a6fe833aabb523b1e52f09";
-  sha512.source = "c0c1b82eacb338a1ee74cea3a374153f9d8f0515c8f5590f5d957bbb4d7551fa111894c255f2dfadd05e2f09f203681af69ee8b3b79731a700d1b9359e7caec0";
+  sha512.run = "3fa23536373a41957d985e5a0aac744473459d195c1e7e00e60f2b4aeab15d8f150bc76fab05068d5ae4994ce52ba4dc35380ab042cc9917a23962b2f0a7094a";
+  sha512.doc = "164c74dfacdb0cafab112d270b15ad0b7c58be0e8d65c5ce08f80182971b63026584c5c071988d9b7053f99b9d81c893f8b103a3145f1128ffad880259a16264";
+  sha512.source = "3fcb8ccf6da19cb01f6a80f97bf98a84c86ca7d06a95b193cbb4b33968c80cd842554ab8d5a9127af0434b9abc83f2cbff428bf1bb976fba01e56d5770f6e20d";
   hasRunfiles = true;
   version = "1.4.2";
 };
 "systeme" = {
   stripPrefix = 0;
-  sha512.run = "631ab57065b95c7e229af4b10439165f7ff8a70ea2fc22d4650e27a2ef3d81be8dce546865b2aae983797a05630ca97b0892c46065e5a8ed5b143ddbf76f739b";
-  sha512.doc = "1a4b052f1233578388cb005518e611de9eb3299b909ea1f6c88b0b4cd8db6bc697d7514e7489cad71d9f75f10336c1dcbd763d53f3e6d5164b9f6d55306958a9";
+  sha512.run = "a71c84f41447a568cc56b2afe139dc7df23660c329e82c1a0d40e3bcf41ae775b2847f9d391bb591420cc546a36d0a69571a829822932892af1dcedc29e54e38";
+  sha512.doc = "4cf7120bd6291edbb101ef1fcdaaeced3a6c771052d8f176b6c11365e1d48699978bc0593354ad9b132e05fc6f14f4074ccd7326492391c49c34a8273f4389c7";
   hasRunfiles = true;
   version = "0.32";
 };
 "t-angles" = {
   stripPrefix = 0;
-  sha512.run = "50014d35220b1c25ea177d30b98e915ed84c1aa4f475c1e00ad3d77990b81d860cc141fa56243564586827aa1180b97bb28ae10a3c472a7790e482dffa4bf66e";
-  sha512.doc = "be8ef0f7459421c7931e91888b66a7adb0dac43bb0432f907a56142a05c25ade7dc784ef09035807bdd1e4341cba6bec76090fcd284aab137e57c4ec1c0e81d5";
+  sha512.run = "dae9953288c0067e233ca26d2d5e7ea32207790eb16bcff2f0f56180dd9a65e70c234de48652d053a858ec92940c3c5fea10c699c697b65a249a8c84fa050b71";
+  sha512.doc = "32dc9adfda93bee5e61eb062e6970f6e093a09016a6ddf32f82d110b7717916fcc92f961c8be682958d1f3f345e02ad49cde4a85ad4a0d0add08a0bc80109d8f";
   hasRunfiles = true;
 };
 "t1utils" = {
-  sha512.run = "04d425c03cbb846204677454496c791ec00d94889f4e88003afe1ee2e96839650117e126a4973f0ab4978ea7a13b64c3f57c804280fc40c8adbef737fcf0d533";
-  sha512.doc = "bd9745a99f697f4f5d108ca7ec16051819c7a006a9e5cd154d7c1a926e7fbaf4e38afeff75b425d532d5bf2a1dff12e68b2216805f6d6e25597a2e3b4a0c0d2e";
+  sha512.run = "93248c576de8f3a4bce051cc18af8327e5d0f1fc2a5a91bce99663a2fb0ffd718e5a472c5bfbae7c2cb9435ed795ae3abe8b44ffcd0c6de29be02ab9d1b6721c";
+  sha512.doc = "839bb491b146fbb5bf9b0dc638a9a853dd025fd211754579ec5fef18175df835ed412aa957b4483064ef25ad4f6afa7c928e8f902f677a3afc7f26480b70d4ed";
 };
 "t2" = {
   stripPrefix = 0;
-  sha512.run = "2032ceca317de568c8d53182bcf803025301d5312adb5bdc19ed63d4ce404c4ce0673fb281bf3129024cc2c6211be4762e50bdb4f6d6e180d2afc41a62562ceb";
-  sha512.doc = "c94c4bf034a3851f9a6e8d7addaa5b71927df3e66c249d35dbb071e10109ca3c7497ff12845e882b994f345e0cbd5f1e7ed3fb39368e0f3201768a89fab7c105";
+  sha512.run = "9a47581909735a9ba582b71a132c925beab45cbfeb0201c93d138c35670fdf65580e6dc20d9498458e01eba7088c81d67cce329465e4763235e3f3404959c5c6";
+  sha512.doc = "8c30658eab02eb576963a6a2f722b143444abf5d286473f165b6cab84c75ef703462a1841121a5d12cf822b150ce8c23a96256754a2d662fbe6c451a058333ef";
   hasRunfiles = true;
 };
 "tabfigures" = {
   stripPrefix = 0;
-  sha512.run = "2d2e8c1cd4ca07528aded326b154b8cf8ad019d475b1b7703cc27dd5bffc91c651c8633b35ae1ff25136a11b0959a503ce6be94453afc73d1323b8bc074f5f43";
-  sha512.doc = "c2e2efb2320ca28b2ecb1d95e67ab5bcd2f144ef040a79b4d65c64174e33d636e7d5de950a7346b63e67fe3f935d93499a207a96e1ba65053bd7c2a9cf912529";
-  sha512.source = "66fe82da3161b2f6a8e710e4fde9355c26aa2e07e4bc4c725a9bdc42327c910c306055d4db18bfdaac150a9440003251d861e4e3bfb0003c89193f4379daee74";
+  sha512.run = "d2a1fe985a74427888995437beaafa62b5def851d6f2a7788ead9cddbfcefd7206366a6711f29e85d2705c0d787bfc88accc56c93b827fa372ebd9cfc562f2c6";
+  sha512.doc = "5b2c7c5bd350c3dba68117151f3cfd6eac8f0e7ed602b44406ff9d15a79dd7de7e0ec303b1163e3c882412c86adc48afac6c9653cf1fbff86e7cf6a7ce852c94";
+  sha512.source = "78602de26e50e0d9ee43b8289a96a3639904bdf79983d4633d6c11af1c8215d1e77649f640ecc6b3f37cce30e6cc6b4c204e2cec58a3454c8b8486104eb17922";
   hasRunfiles = true;
   version = "1.1";
 };
 "table-fct" = {
   stripPrefix = 0;
-  sha512.run = "cbf1751be66d15b9ca61849b50a91418759d60f9c92e644b553a534c80a0db01b6f1447f104c64d934538f92f585d7bb25f22dec0b70f6c184ef584c329e6482";
-  sha512.doc = "bec99642880dc33b78ae7f611bcabd0e5abe0cb8f512abfea470ab6dd631134d76f579075eb9feee02b69dd70ff61c6835e47c671872e0fa881e59e7aa126abb";
+  sha512.run = "a6300b1989f536fecb27d300bc0b27afd93f7f72b894fdb87bae5b0756ab241985ee2e5b4c0b68d1b2cc5611aafdb62b300fe40e2a08df5f6b11774f13309756";
+  sha512.doc = "a9108cee93e6c7250643636619f923659d468a2148f5b04168fb08738d85e794c1050fef8152fb95d114551f6967c955f3d6f548e1ede37711b98b1362e9910a";
   hasRunfiles = true;
   version = "1.1";
 };
 "tableaux" = {
   stripPrefix = 0;
-  sha512.run = "55efbcd334234afd711a6a7ee187de0680f0fab2e6c07ed4e255d9fb1f1ab97c33bc33f1a77d8ab53a34dcf024e24ca546b4f8c0c033da4f0e1c64aad4acd982";
-  sha512.doc = "89831cfb672b897f2a15d5c19d24286c65818444e58a60370cc84e3b0a387de93e0db69acec8e28fe864887f28ada88ed7bb280c464b194ac09544e2aaf105c1";
+  sha512.run = "1846fe9da749b92700be07c094556fd296d47123df3a5d6823570056e6ce2ca8ef365b70f6ab2a8577602d1be338867fd2610403f89729dd51632d404951f84f";
+  sha512.doc = "cfa58a8e76dd61659f6c13ea6b3f97ae484715b735028c513576312dfa7dfe92c8c15a0858077e3ff2399807274dd5a836182ea65b948a976f6384bd8d1b19d6";
   hasRunfiles = true;
 };
 "tablefootnote" = {
   stripPrefix = 0;
-  sha512.run = "6d037e4e5844629f05375d1cb54348685fdbf9cc9f8e6ff8a2193f7b9bf9b831025952ad1964073e297177a3dfee4d5b4dee9ef8f33664bcac2cecd0fcde31e8";
-  sha512.doc = "0f260f1b0d060d54d64d66c6f08ca84ad8e21d56570eaa2062f35f5e7e6343336bb926f013f3010953ca17f8ffeace2744cc02350fe273d3ec104155ec61e570";
-  sha512.source = "20dc30dd6db6624e183996908cd65ebf6fa812b4c544f45d5d30515d44d6dd4ec37321fb91c203b2a4073338bebfc47be761c07ce2271e618909de36f656c2cd";
+  sha512.run = "90812cecdbb464592b17b8faf4d81b221844a354b0a3d3ea30cb72d0b56c4ff7eee701caf113e13586315ce846d30de6ce8d5028966f2c310527e34e8ec90464";
+  sha512.doc = "712c1ab696f5924058f4ea6ce12e3ff14fcbf79a78328259c4b9acfdaad33e9e4dddf36dbb322598f09a8fa3ca75d68b474fe1a4bcd4d25752704e0c4e6ba5d7";
+  sha512.source = "70456471a5997592668198463d1e44af464e9c24619c09d186c952c5afe2bc5171d5c29442820b267d1782a966fbe63997694427f1c870d14ec6194ac99ded52";
   hasRunfiles = true;
   version = "1.1c";
 };
 "tableof" = {
   stripPrefix = 0;
-  sha512.run = "925febf5d7d62e3f89fdc23170ef5127f654faab5b70074421ae2650dcb556691650ad9fba8a6871f68b01c48a578548f0bfbb3508a16c51b9e2739535ea5a10";
-  sha512.doc = "693417c2abfb4109aae47d071f0240d444587831cfd9770e367cfb0c380c9d34d994565ff895cdc622a6e8c076ee53b516f48accee656372e8a4af4ffa666d52";
-  sha512.source = "ca404b51ffa0dd0bc7363439288a425d7ece4e7846442dfc37bfd7a1a9c1dd4b03b28ec33b1abcd0d2e20d0271dd09ffd0f6d9a6659bcef93f3c3cb92f692782";
+  sha512.run = "3eb5dd3a3399825a85280c79c9f013dc9615a534e475d64777ec84924c9257aa930b7fe677a85c32b158b4099d5b61f306ea54f610fa1c9db42764fbf5b683da";
+  sha512.doc = "609011dc53d37fbad2abf84531ab99d8f60b636222debdf0466b33ed85964326b688a7e5d957500a970e1e974d5fbcf1dfc198e146360b6d43b58f6f3d67c845";
+  sha512.source = "b55b6834b7dcc3ba83f3e8620ffa9ee66b0a6962a4c1b95d7b74ac164300334db89f432af7407268d00190e79333fb3e305074feaf116344957a5a986c842d17";
   hasRunfiles = true;
   version = "1.4b";
 };
 "tablestyles" = {
   stripPrefix = 0;
-  sha512.run = "d0047d9c7e22330914ff254e2c8e57f8e925db9260edfe2c917b95964f95c5b6fe59e7e1e7952bc1fc6efa811c838a32077cc9eed4f06b1b589e8641e6608a3e";
-  sha512.doc = "6b64370b1620af723ca2e8c6d1c12373a70e4577bf327c97c9e3e03f339431fda997dc85d6ffa20c1628c91af2ba82ed5bc5a366043cb7ca01259250b3089e35";
-  sha512.source = "dffc2adf1caa1854f078f8667b2cb9342fa87a42b3dc9e8c1f9c1c25b91ec86a040b40f7d285c6b13e5c3a5049f3c4895d605f506e9a28972893bf94b6cf45e0";
+  sha512.run = "429d9e66e9dcc06814e75b08d1fcc9630de6cc614337c73fdc06588479e47e7df72dfab33a91fb7cb230f9e1ed0bade3d8e56fa423c1f2fcf0bac6f246620069";
+  sha512.doc = "43c5dedd804a0aec1b7ad289d8113bca94d6fac7e9b5b8628880e2d7d7e4f0e29cde12864747cfcdf24ceeee0e143652c2acb2b448bfce0630b6915e2bed237c";
+  sha512.source = "26b5e4b276a202ba2b351287ce310b52a256659c55f88f68259ec358636c117d36dd8834542d385450c531d4db1d5e42e053a11e2a9c21c43fc72ce38c453072";
   hasRunfiles = true;
   version = "0.1";
 };
 "tablists" = {
   stripPrefix = 0;
-  sha512.run = "04ecf1b7a20ceff9e0baea59673750d9c60e3bc1f3bb2470578ae9565073b2f2fa39d3ebcfe32e3cd758b9bc8dcbd6a959efc0af2ad6601d74d9ce9fc91bbf09";
-  sha512.doc = "3c5f37e8d1bbda4de834911250e80b4fc86d56e7a4b94ea5c3b82b8ee63f3eafff03c8e74f9598dd3f7d4d73504b5d1d12cff0576cbd6fa827c9002f2b4d3f83";
-  sha512.source = "19e3412e7878d622cc9e082bafbf859d7da5335c02bccb83b77ed32f365bd9a0bbf2407351f12f2b31f7e08134bd78ceb641e04b6aef991cfc4a1308140ac075";
+  sha512.run = "ed0ebef871c7bdffe93e2cc38b823dd13376c53e4388daa8aa1198cb213010594c9bfe468ec0e42901df2dbd1b938e7f037cf49ef2cf6d9ff3bc53502b220a14";
+  sha512.doc = "afcfa520702fd873b4deb7c4acfbd4290262a0df133c87f01698d20b8d17fd5b5932384124f49fb4d90155da284b873bb3ee1a2281955449f8ca2f278c38d39f";
+  sha512.source = "34ff94c3adfff4188daf4ff906721833dd925c84f107867d7931fe66c58ea8a8438737065f64a9aaf57acb0eeac9e17e8388dee7a0af93476f5add226d4481e7";
   hasRunfiles = true;
   version = "0.0e";
 };
 "tablor" = {
   stripPrefix = 0;
-  sha512.run = "e2ef85bfd0eb76932c7d83c9c43b8852d8786926ca1a40dbd7de789ea71c8a49d7b393d3ee5d5bed432020863babfacd4d871f36fef37ce672047880dd64e3ba";
-  sha512.doc = "f76fb5e27137ec09899d8fb690c2dbeb953bd6316337d42ce3fae165b556ea48097c65f427c249319fed99c8a58c4b81d4b722ba709327cb9bd68d07aa7e1691";
+  sha512.run = "64169a74a787f8877d41d5e32c42e5659950854a1e20cc05103b3ed58c54fb800a9af0701a40a6c5b75553b86d675fbda51948106cac464785c3d46aac77c979";
+  sha512.doc = "77a6d1b47337f015dbfd39074e1dae417c3bea3c9635955c6518d691ff336854cdd7587af54640282b45f5bf3885044d3b6789a0a73f39a726aeaf0afd27c883";
   hasRunfiles = true;
   version = "4.07-g";
 };
 "tabls" = {
   stripPrefix = 0;
-  sha512.run = "f6c6c50355b44d70fb3138943ddfbb7b02aa1ac2b59f68c2537c687945b8ea1644fd2ddafa9c38123979ba04dc8f4e1217f264017c465b8d2c709a31fd19b585";
-  sha512.doc = "5989172b6d597baae856ae9d2b71e6808fb45e662d960e7b00712d13bc11c06bdf993771a67e3850b8d9561d1c3dd92e0754cb954b1fab79dc2f9647ea0d4fb7";
+  sha512.run = "1a341985ae61f047694470d19d4e192b4f4e01c0bb595d91b1f80080eed3077be4e40b431cc05b1bb482f18c30bf36e6076542f2cf37a49dd6b065b0fe044bca";
+  sha512.doc = "f458058964660b2b1ff2a61ff8ff2ffcfe7ab103e9714cb1e7c307a8bd39c5a1a6990683c4ed7aa401cbe9b9dcc083dfbadd80a5aa00bcd64c0fb72638cf71f2";
   hasRunfiles = true;
   version = "3.5";
 };
 "tablvar" = {
   stripPrefix = 0;
-  sha512.run = "5e8796bbc910ca161381b8d39fd5af50369b52008c4df88ff157f6c19d6b85b621980e40354ebfa6d9d6fa2a24f2554ffc9d2bceca3e89f3a9aceb84a4197aed";
-  sha512.doc = "3be94ee93f195de4a2c35801ad184343fb23f75e31de12723d0aaa7967a8f597208eeb2137e67acf512af939e08103def5f3cabe458dd4d3b4cbf7754c800300";
-  sha512.source = "a9d9f4acec8f81b893768f48d2032513713b7acc03dca240fdb345678c7e70b1701c768f7f99d26b8cc4dc198a4c5b56c1122fa115a2d34359c16388b43b2696";
+  sha512.run = "c0401c0ce273b59da6877f231b06f3e4da572a6531fb6c587e29a00bb0f53edcabc725453c2ad1dbe6ba0458721a7e4b04182fcaaeed46208a760a5dff9651d9";
+  sha512.doc = "3bb104a3f50375d2e96f908126268bd3bcb3e371fdd339ed7bdad9dbbf714480b89a4a11625a2b537e09f214eccdabf6c0faee84dec4591f0627783481eff20a";
+  sha512.source = "cfa218cf1dee3830f72af6996b1a5666d65a8729f65a8a652744bed84204122a65d514f539c2d50537c3529fdb9555ad5c5a2698f4459e11976e4b9640c8cfa9";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.2";
 };
 "tabriz-thesis" = {
   stripPrefix = 0;
-  sha512.run = "a5fd495a1008d0b1b318bfe1f9a420695e06339d7eca3d76ad083751d78718147a4f1470815da1465a6220370a60a008f7cffd7b82ceadf4e1f588f87c6b009d";
-  sha512.doc = "26a1ca0ce4654e2dba8369b400c3002473477076cb81577a62ff22f6e1aa47f98e785613ad797cec24cf54b78e14e1a48851ad467b2643b485bf1ba37503c5aa";
+  sha512.run = "b1e93632159fa6b5ce46a13b6d2bbd3115a09fd7c6908a8465934e37feb0633eea827fa1ba8521d91a0d30492135a428463f6aa99cca0c6fe7db640d1310c6ae";
+  sha512.doc = "e56f4a93c7cdc68c227791a21fbb06e44193e9681e677f383d19994c714bdb8d0487f9550c0c94a78890f54c7342aa777349770b4ad04b58e191fa62b31a3462";
   hasRunfiles = true;
   version = "1.1";
 };
 "tabstackengine" = {
   stripPrefix = 0;
-  sha512.run = "98ca69e3e633204b594d13225f5ed453d60ec04e604e28c7cf563a7b5f7c3f397559778981f526bb4fdf69b8869f130544dc651b3dbb92056e94ea293ade3c72";
-  sha512.doc = "06226c144f39e6913cc28ce02d046b64596809341930a29dcf202e702bb18af1da60088a896e1b6b1591e767c995121de25c8ae5004bfa3bac4f26e233cbc550";
+  sha512.run = "2f6245d65a7d711d598b894c8acfd8d2a032ae210eabfa219934e8fa086bbe3edef81e73092234e5528f9f62a6856546aaec7eafe5572eded155ca8fa5fc3999";
+  sha512.doc = "6ce0b2ec254e44bca6f6cb746d4e3762735e9bb85e561df7628d3a2e2e35ddaac1635c825f27900d06badeb310535e73c84495e24748c1181825fd61fb03105d";
   hasRunfiles = true;
   version = "2.10";
 };
 "tabto-generic" = {
   stripPrefix = 0;
-  sha512.run = "f32a0f66ae9cc6b9e7cf4974cf12c17a4fee4acb346a5817c2c86b6d263e28d9bd74f7179852859004db9c273e31e56ed28ca0e322172f5435b2630796c7d495";
+  sha512.run = "5b3bd8081ec6800c96ce4b4cbdd8091578ad1df2b625fb2792202a6c31f3f126d612f99f04802d82d490cb529e03e63f98b01c7842ec0df69b48c2fc289108fa";
   hasRunfiles = true;
 };
 "tabto-ltx" = {
   stripPrefix = 0;
-  sha512.run = "80ca23ddeb6ad982b420e0565fe5bbc87ced89dd49dd0786c7f62fcb76955d8a66abbff8b366d8b31f0da72e228b39418518d73d3b2a37bbd8c1f6b444213e5d";
-  sha512.doc = "9ceba79c6aeec575ff547ffc20a5c7ead1eb42f7f6a8ef0a45458c327130370041fd1d212c89c19e2c91f97486a4feb183c07eb581c0d4a9340bfae7099200fe";
+  sha512.run = "3679dfd17ada1f2959def0c8eb9d434b84e5bec7245d7e5059e1d1b975248ef54ee04b6178cedaa8228805892f323aeb33d57bcfd4c37bdfb7d57f43a516da23";
+  sha512.doc = "bf428fe02b3e1779a5ae685690527102f3d728095f55c3af0c54cc42d6c33430a52a0a27f57003cfe30eca3bfadc36343784ec93224c12ae612d2e24b4ec5e0b";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "tabu" = {
   stripPrefix = 0;
-  sha512.run = "bf557df30521d99abe4ce5c86e5487ff32f682ab7d94aecba88172012c7875942c977218317a4fc738f4edb119487bd6785f2348f771b8c98421c6494ba2eb5f";
-  sha512.doc = "c95b8520cdbb3f87eebeecd7491a26915d579fa685e0e70205a569d70cf8eeaf9d56cdcb2c6d8ffddb0224c7c2cbe61cab24cb344c83111be8d9180dd262904a";
-  sha512.source = "d29493142280a89b44e400b642759556a2448d953d74cca74a8fa98b109f989d32217cf7ccc790792cbc92b55100186c1784a80e97e7f7fa4d0476558d5d1bcb";
+  sha512.run = "b5ee526ac9f68edba34784ed646557b8b1b28a0192c5acefa81dab5a637050798c4a7410589ff98549b2a29e30686c518d2f319144c7e4fb2ab1464d56d2fac6";
+  sha512.doc = "b7cb976e6908f219d50bb3e30dc7874b3c9843c8c36bc59cfb909fd54472c4767e914889cb4f50b4ad426176764a09633254e05d271daaaefe0b0beef80161e9";
+  sha512.source = "0684c272a9dabb794a0dbb3900006abe2b0997b6e3335668d058bd9195a6661ee523bb7324ec2e98a7cbfa88416310ec2427c1abcf01986ad1e07a1008bd506b";
   hasRunfiles = true;
   version = "2.9";
 };
 "tabularborder" = {
   stripPrefix = 0;
-  sha512.run = "acf9259f50b71b5460fec19855127879fa766d54477cb3619950f46cb63bbf6df2c3214afc838fc7797c803e62791f1864466fd0353729b8daa18fc4e77c742c";
-  sha512.doc = "62559cc216df428c5025fe4627c16990f7b6199efb9e985f66d923657ddc849df37f071caed17ed6de39d66d4a71c7aabf33a6c014b2dd96ef28e68b6d379298";
-  sha512.source = "15c1b1314148dc2f2491f3b4734fe23313ee32a3febaac448c963a0d7675fbb91fd5d906166bf98068fe7150bb91ad672df1e5003c4129b791925e2134075a43";
+  sha512.run = "a30f668ea84238df674c079fea6b05878776b26b4f6465385e26b01b16181825a8cc20767fa45eda8e7870d272875bc9664aed145885dd655d15258aa072ebb7";
+  sha512.doc = "f0376dfe99c68523332be0e83c0a186d7e3051862fac22785b4ba1273673fb9b1776654a127ba1c617af67063763e5837723ca2f23b3f7dd012628bd40ad0604";
+  sha512.source = "862ea87bf23f2e4f42bc15fb82d9e417b4e51d7fbd555383cb985892b9b40734b38dc4f0dfb09790040c64791beb2cb2c6bbd2df9373c75438929be011748978";
   hasRunfiles = true;
   version = "1.0a";
 };
 "tabularcalc" = {
   stripPrefix = 0;
-  sha512.run = "ee80d798afbeb134fe11c7babe72e191b968632cc34bcbd68744b915cc396b399df68b98e1b2af7ad65edf9e5e4648de8db4b2e639587a723ab4826a0e790d18";
-  sha512.doc = "57e3ffc73a27a03eff36a4538f919c15d1bd07e13e32e33a3dce11239dafeceb3248d3b444070db9fef8bfb3ebf3deaa199faffcf9ba416719ae862b8e99e6da";
+  sha512.run = "7535398538d6802c4e70858028ce6e7414aa8a88336e71f90f7f909d015bf896eeb5e6652cc5bc5a2bb384bc25d280d8cd6506f7ba05823c20dda04fb3adf0ba";
+  sha512.doc = "7e35cad1507cfb62117aaddae77c3faa5d19c4e320193afa0054415e84d49833ba64afdf743b6241d611dbb4d45c6a532779293924f20b6c748659a361d6f30d";
   hasRunfiles = true;
   version = "0.2";
 };
 "tabularew" = {
   stripPrefix = 0;
-  sha512.run = "52689086e54ccefc5045145b17d588f4d2267a1745c2facb381655e5bebafb71349b303eb83b268c4b2c1b588095d3f430479d94bf13836b3e05f844c915dae9";
-  sha512.doc = "d7ed67db1c83cb116dd4250bef56faa46eb2225500aa24952a810ce157966fa50e42c216467fc824b0dd767e034f45224bcf2c496a21f1b273fb9a3453e40c6a";
-  sha512.source = "63a4f20d6d07114d840208489520e30b296e0bc2107e9d0cc3f3f78bb9aec7d2888c3ec73a63ffebb4867a662f88dcfcf9c96e176794ce360e2bf3104bdbf814";
+  sha512.run = "512851ce7641e0904dd25ab8a5cd5ac0dd281154067e09c4389fa3d6f330d30099dc60b252de4ebee52a2cf28d6b7d10bcf63fe4ab1472238db35754adc1dba6";
+  sha512.doc = "4b5b8aca9d9be8cc6618d9393278f8da2069341a982cf6cda9e561b64bc158e5c08cf9257b592f82134cd74ce0b69682e15339d9068d9fedcdb26626dc2b8a7b";
+  sha512.source = "9779876bfc65936043b0b4918784888acc68a8e8aec3b5eab6eea5cba3fea10ff0f696d1c38f68b37227cc086ca519630a96b945b33e3c1b853ee8ad95ec08bb";
   hasRunfiles = true;
   version = "0.1";
 };
 "tabulars-e" = {
   stripPrefix = 0;
-  sha512.run = "592d1c6a7ccdd67c17fa3942a4ae87403122ac79ff5a7c94ea9736300c3f7228a4c87d5d04d5e8fc672635292ccddd255eaaaa40f77546e7cb8b417fa6da5723";
-  sha512.doc = "f2192781f5ba66ff0ce6994c5525df5bd4c2fb80778dca7cbc7f05174b9b2e509257b2bc676a568c1cc957d17360f8c0faf30d9a615c4c7c2aada88b3418b34e";
+  sha512.run = "c755ffcbcb5636b641a5b31a7fa2b2d97ce2e3e0f14fd08c23e0b234abadfe584bdd6e2628fffb614c249ffd17e46d56790fedd929a5af55ec92869ec302e6a8";
+  sha512.doc = "2a29bd4c343c172f37874423a754b03888838db7ba4237992ea38167b82fbf7169dbe3056b269d487e398208d165d4fe2bbcb5413c138cc6129fb926f9ee7701";
   version = "1.0";
 };
 "tabulary" = {
   stripPrefix = 0;
-  sha512.run = "5345e1dc066d4207073843ddd27970572322cdd4b5ae316b23129a94bae0bf9b16a38a9bb5392a3fb502e2d84c38d0010ef0ceae51f02f1ad4f38a0a96b83a37";
-  sha512.doc = "e19e40ff6809cb4ca9883a25c621d28aa79aee0a72cf76204b5c876f419661fd8e0252191752c77154fb0d51517fc090aa0d5993dd672f673d65aa82b7f584af";
-  sha512.source = "686f417d6b18cab2e9d4a47cd4a4ba8effea290fb320deaa2faf470e177e1d986a38711cad58e4bf1b53730af6551d414dbd7f912cc705b46d86f0a663d9adaa";
+  sha512.run = "2c873a3840d8bf06a095ff3106b317ae6acfb8498d47b0229a37e247e0e0a9df80300759d65d13ebc9defb15d1cde0aa1e956d2f88bebab3311af459be47df0a";
+  sha512.doc = "b619c6b3dce1421ad4f06ab5e6f0ecaa6dc4f55076b66303a4e5409b42a4a9e34d218251177234dc0f3dac13046638a75623db0094978badc4db93083660f5e9";
+  sha512.source = "aa075526ddc2f793676ff45e9d37f02251660cec33b3f4a74da23e725181e48b2103fef16adcd6d622ea2c422a5fda1d46cd9fa1c35bbd72f06f77d05f3b4c58";
   hasRunfiles = true;
   version = "0.10";
 };
 "tabvar" = {
   stripPrefix = 0;
-  sha512.run = "1a03c599c1406bbe902036a440f9948c56202e07df19ccb23e8807906f6423533bbc97bc28a93e95af6c17e536cfcf506b1157b8bc873f518c3eb9b2e693a56d";
-  sha512.doc = "59a7da9e80d4b9a668156b0897fa86ac73fc8571567256f2aa4e5810d360b2aae888240aea3df67e763bd2f3ef5fb46db2248a9eda6ee9d3dc8263cea6174b70";
-  sha512.source = "b84a80efe8c97b1922d91647aef914c486715f44a7cea37b46c8da25ff375de071fc8931e69662475e3c5467485040b590bcb5f5b3672cadac07c5fe8e9a9a4c";
+  sha512.run = "c03d57d066a5955ffe24900f97de82f9bd96d8ebc20ff7b9c11c1e5a858d8f4a50b171f687e041d629a7dbf43da708bd03aa0405419c9879b9a5bddf23021cb7";
+  sha512.doc = "700e42e3e8d37e1b4e11af90f8f76bc2c3234984aa39b229138b5bd86418797bb8102b4624a43d3ca1738a7f848f1e09164c077d7224819250c7e034c10b4103";
+  sha512.source = "2f20de4b18e444112088d089c92675f3f5ed4f93c1e630b708e3e88a777aa38e2c84d98ec0605a7e446cfc7a99c346190b559e72f4735c7d776151e76a38a987";
   hasRunfiles = true;
   version = "1.7";
 };
 "tagging" = {
   stripPrefix = 0;
-  sha512.run = "083f70027958b18827c4d16f08ab46f3753a88b4ccdb3a628d11e695db6aaebb347921889bcbff15b86ca1d4c08d81b8e8f2e50b924a63b2b1e0c1db743ae1e4";
-  sha512.doc = "c7eb46db4e68659747df33c18789c09c227f6f1eadf02988a3bc204a8fcaa616c023910446b8e3ca525b12fbe379eee0c0412b2429540fc27e6571307050ceef";
+  sha512.run = "8947ad0dc443891e0b5a395a27d2857acb5879821443ff64cb0b15b99eea7a69401ba165b26565bac1b0036032d49241504ea2e008106a85cdd896aa28abd9e4";
+  sha512.doc = "06d470576136a96edb69bf595e55f16416da552a5f4a84980ff5393689cb58246d4fbe62b979c22b85c5abc58b926d9be63cd0ec734b43c653a0d0a5c4b04d8a";
   hasRunfiles = true;
+  version = "1.1.0.1";
 };
 "tagpair" = {
   stripPrefix = 0;
-  sha512.run = "403c13872b22b9fdcc26975d475583e53153831c00d345077c0af570323d93ce93d14caa555dc05b66cd517d4789d015a36af2f8a05bd6d2dd28bc0602950b4f";
-  sha512.doc = "90b68e522b5e4c5856f13d4863a7cecaa1b62a882c367c9e56543023812b9ded93a3ad323a80aee54f8e56fe708008039e0d1350c37dfa4d385373ed187e4912";
+  sha512.run = "146c2e957965fb7ad9976a4b3b6c40d28b8d0cdaf0c8b9627f51dd55ba88b32ad7490bf000bb853a416b5dcc091243b9d6e92999431327a05879adcf89809d7f";
+  sha512.doc = "af9dcc1c1dd0a5e44d3f436569cf5d36f8154b70219340dd914feb3d8c036164f1bd70eeb6819bb51a06c0f5c5dcab1b3ede8be4b4d22b2536529474d0d841ab";
   hasRunfiles = true;
   version = "1.1";
 };
 "tagpdf" = {
   stripPrefix = 0;
-  sha512.run = "31b5070964ea3276ce4bac0581fa33ab3b26a62b6537b6bef87ccd7aa0d554f487ed730a0c20221ec76ebf379a1a0242417ec63e89d3d2e51feeec0d857b086d";
-  sha512.doc = "d99db9b8ef7b73424b5c57800b9aad15db22d89ab501b7c98016a35e03370c1e30e27ab8ca64ea23247129324af8215e5504898ad2f386d08acd39297f5a7e9b";
+  sha512.run = "4cdddad7f59d6d9365078817b99faf9b815baf55e2c7fa736a431d6aa11ea4ae2a6d8d825f5ea7c6b5e9d5b01d5420afddee9063273f2b7a92bc0af01d20fd6c";
+  sha512.doc = "46ba8484bd25977fe93c1e9cbb0a078aa917060536ab5d5349eb7f5aaba5c59e2e9da4faa7e16d1c45f0e88bc896e70bcbadb32c4f679bc05931bc39cdf3d2a0";
   hasRunfiles = true;
-  version = "0.50";
+  version = "0.61";
 };
 "talk" = {
   stripPrefix = 0;
-  sha512.run = "acf8a5e1bb26e13df7d347715d16ee690f82e7bc417f53a7dc214879f76611cfca179733f6592060e9a584e1edb0faaf0e9817eb64b6ca4ee33b572bba588701";
-  sha512.doc = "a0f81717590b0b158d0ee2ab290c09eec2b382cddfa4918d05db3ac5c3472a2e982ad6a7341f2721e1cea814e79ad692397fbf150fc2498b1786bff3ff1fc1e4";
-  sha512.source = "06b43ff502ff9ac46919a6c47c3124bba48ea87c0cec34bce614a9a5192370165b8eed871cbfe950eafb1db9182fd74ccdbc0b0aa9b64ffc49fbd3a97a8d4994";
+  sha512.run = "371c640254994616744b2bd0c9b4040415392bb2a3adfbe5f4656faaea5bf3e7d2d4ab35373a65a857fd57112f7fc628321492d5bf7c5b052e0026c277663d7d";
+  sha512.doc = "d6a641789923559a94b0077d718e56258804caa1dec0c9ea0f9d010e92ffc361884664ac22b07b95d20f464d18ac76301a718430d8f1ee30172489cae3b844ae";
+  sha512.source = "10661b5ee41914bdc60b5ab38c887087d6529b976a3acdbf95bf80160c6e432fe6f8a4d6030711f5672f8aea564fd23ada09f92b0e3a2a05ede903026d24bb36";
   hasRunfiles = true;
   version = "1.1";
 };
 "tamefloats" = {
   stripPrefix = 0;
-  sha512.run = "4ce45373f444ef2403203217ce09c9af667dc0fa7f068200c3fe99256dbae78c6b3779d3828b15dedec183dbd12d8e9c477e64c830177672a3bec20b6ba78988";
-  sha512.doc = "e3a23fee0e3004217dbe8524a03f9469f00456037d438481c4d93835a51d9c22356aa1065e20e83b1e6ed89db66b0a573d2ee43bb4af52a3797a5ff1257a1cdb";
+  sha512.run = "bd45962a9caa5b098b6a6a5c0bd3fb964e13cf2744a5fc960a97910183799d532aba24d5f4774ac29eef14bf1439e285010b2e22641167c826d5a36262fc39ef";
+  sha512.doc = "2b9d013fcb93682e9be0fb1758fc871b4784eef72a0892383a35073aa177ac29acfda5e54b6a919379b43a3dd0fb0b22dd44476857665efb59b2e9cf27bb679a";
   hasRunfiles = true;
   version = "0.42";
 };
 "tamethebeast" = {
   stripPrefix = 0;
-  sha512.run = "be43165091d0e484b7aa7304513da25491c6627563695c8d003bc01cfc09eca54b8bf08f8f0280749502fa867d011053a281de4a10c3bd762a1f5415f7209fb4";
-  sha512.doc = "9d17a3df04e5bb3e26ddb7b95288eb1a88eee63af5b8fc017dcfd108e958badfb364b185b5ba410df3de6e59688ecc9579e35d5024379048e5ab0f91d35af9c7";
+  sha512.run = "75a71590f1d905bd2a78b508d66936975eeacbfa32e850f599e94efa92da2b043edb8b0899b7027268fa131d94283c13432d4c4126afb79d1615bd538af52436";
+  sha512.doc = "0df79f434714deefd60b9b9d32dfbd47ac7e560c26ec0d02465538eefbc779f0252aef235ae2e0a2d2d634d618bb52c73b31c229b5245866239776c742ebe69a";
   version = "1.4";
 };
 "tap" = {
   stripPrefix = 0;
-  sha512.run = "5bb1ba3d04663122ea5037fc676483f905eb862291f229c2cb0ed5878bfd8d86c15a11d10352363e3dd819a99e54117f1aa1049faa288bcaf723b8ec9720ef4d";
-  sha512.doc = "e3ed4826e2315b400fd135a48bf05baa35cc1f068d5e09acf77d63b18fdd6a97ef8f5c3aceb181f1c61c06860201db464a98f97bd126866eb75055c82a8a4c67";
+  sha512.run = "07ca34ae47976c65deba5443052001406390befb6dc675af7651141505f088e2f67f39648f14a94f70788eda79221efb05c2246d1991811e697e88c7408f6cf6";
+  sha512.doc = "a61b861cdac25c0d8c7d48f67abb9eed88458d0d55e8afb706adabfbed0d1e7c7159fcf000b8012885f82f849ee965bf6a2607f1b67f2d9191f59f8538147230";
   hasRunfiles = true;
   version = "0.77";
 };
 "tapir" = {
   stripPrefix = 0;
-  sha512.run = "a8b778e9814b0322332c60573a1a546c643a8988650eecccb0327d26578bddc3fc4ec8221ac3af54dd335ff609b36a4fe477626b439723ac65544bfb02c31346";
-  sha512.doc = "578d666f2807ef5c11dfe7ed9abeb5378e95ff4681444f498049d4a5b5684fd343c0dbef9b3c4744fe75d0bbd0dc27149a09dc991e4c1cf472452bb7a8a89e62";
+  sha512.run = "f3d93c9ad813008fa72cbe317d244bca9a70855c20f327d22d1720b79d70019af0f5d8aef237fc78a598a545f44a4612f1e5a7622b34247044ab230bd42eed5d";
+  sha512.doc = "a32573ba9df3d0b30e796f7bdd03e63ba8a96559380895b8db2d33fd9812c8b781b75d19a12a24405c52df13acd9a5f2e925da64b019e92a124d143345bb5bb9";
   hasRunfiles = true;
   version = "0.2";
 };
 "tasks" = {
   stripPrefix = 0;
-  sha512.run = "6ed559483c1d25b63cdd350e4a1a98497f49abccb4a3c7862c886d9d5ba7e8d73116d387489aeb6383a74e8fb1becca0b68aa5808244fb15858464947f128978";
-  sha512.doc = "fef69a0a376c158ab2c850ea5592b215290644f05096a0ff0a3bea0a399e66a33f3fca4a931f20b06dc1c374ac39614ac2a3558633856f8506649f82166808f2";
+  sha512.run = "ac28ccf9510ccbe47160a0f06763c9d565d139e3105191a94571213daabdfa618a150bff70499f03b3eea87f213a071c77ea9c9842b6169ae1f06e2c5c308d7b";
+  sha512.doc = "92d0c6bab4d69902a25956e9ede9e75be10bbcd3318346b9708e63dbd18ed127393fdd47f90b801029169041b3d4dbd1ee08619587e78035750aaf9e59f8740d";
   hasRunfiles = true;
-  version = "0.12";
+  version = "1.0c";
 };
 "tcldoc" = {
   stripPrefix = 0;
-  sha512.run = "53751250905ac768ce3192dba721bdb4115dd8b5f4f6f2f69301a5e704e5e78777adc7b7300c3af6360c2ea9f392ceb0bbe7e06fe499c09f706c1df1a6b01a4b";
-  sha512.doc = "81a936616fe5e42efdd68fdb5c63de88ea54377b13d0dce82d98df0f7bbc6e8b7bfbb01930cf789ff2b1aa70b62c63bb9e9578dece6df701c17fac75b7d20b26";
-  sha512.source = "88157b3d5983c97799a68144cedc65d23258b6b0f457501fd2e3175df7293204c7b7bc180b9d48f04361fab0732b3f39e58bc1eed5fd36494da1cc870f44ef1a";
+  sha512.run = "82348df3f6dcedc17a3cd50f709d01b1f2b0e4be9345e63d40ee6ad2aff908f97c7d19d586431e3fe8399a8d076505ceaadb5afe0116093240a6e59a335934c9";
+  sha512.doc = "61f24f628c2b62c02e08e1a2a3a2fd917d057baaf977e7837b1f62e4331e370b83f8a0b00e679c86ddb1893d21af13211185502ed7bb19699d4f33356d3a3a0d";
+  sha512.source = "44a8d3661061ab7dd828fe1cfa8342384e2cd20f5338d54fb0a79516a2cf686a3a6d2a1648d18a4d0c1395a60fe8f8a7b5af0d0c2edc38385852117f408f9e26";
   hasRunfiles = true;
   version = "2.40";
 };
 "tcolorbox" = {
   stripPrefix = 0;
-  sha512.run = "893addebf4a542444fae2b046e398fb98a81e0b8a51d29d6e1015008c29d93478245e0e418cb5c67d521735d6216849852e2b72714ae99e8f6faa685acb9cd05";
-  sha512.doc = "88f6aa63aa757571a166ef21c07c17fec56307f86fd087ea66a682aa533c6953ebcf4c3915689f0e38ddbc56509daad3279dfbb740b064ad45995ee8a5cc12fb";
+  sha512.run = "b9b4faf76047b32b6b6ee14907e76f168289f9080b02a189a4ca879be830e2c2700052b4d9c18506e2c57a995c7996e8f6cdb75fd1df8765f7b99a33880f4078";
+  sha512.doc = "0dcaa95629203401d3b3fd8365c6c5ee3bb24a9d1e79c94cef0d00c3b3e05b0cbeb7e4db3498614e4705057ce4bf2c66e8ce75f9680e4f81d0cc349a39671379";
   hasRunfiles = true;
-  version = "4.15";
+  version = "4.21";
 };
 "tdclock" = {
   stripPrefix = 0;
-  sha512.run = "4383fe7d88a4314c90a28198b2aa67fd39d91d071e431f600f32ebf6ac0988a7ebe4840704e3d864698f7549ff9b8059e206b59f81db470d3860bde4287538a0";
-  sha512.doc = "9e6a7f13dbcd80f56757ac0cb5fdf91d2a12de8f2229307cdd3264b104e91a67731467df78fb0c80a0d42b1b64215ae25ea11d8517199049298e6dd065fcd68d";
+  sha512.run = "29e2e50d9fa432b08ea730b8a12228cd2bd3eefe61946e576a262bab06a966c0b28c13d48b1074a838a1a567f9797a943282d17e936db146f15e7631261761fe";
+  sha512.doc = "139c82690e2c9b695a10a6f3e6f94a54c3ae4d4a929ddc18763e248114926554206fb4c007ed758695476de3750ffc1dce3db75efdf2598434f27abd1ac84baa";
   hasRunfiles = true;
   version = "2.5";
 };
 "tds" = {
   stripPrefix = 0;
-  sha512.run = "75544c9fbd65ca504910001385d3750da00e5a743272df69248730b3ce9ee2c08737a1ae89ba0fa06d876953855c33c5c1b64e83b16eddba51dc9fbea3b6264e";
-  sha512.doc = "3cd80448d5c81b778cc32a55d5ad9c247343a0881b128e71eef200c957577571bce231aec9fc8cbb531292a47eaa0dca9ba2508ef51a84ce8f6b88ca68a808b8";
+  sha512.run = "20b739d69ba9804c12761c0eb76c0b7961657d2ba2fb00db9d083022279cca2b2b176fc7aaba11fceb77da4b7a23ba53c80e98a492fb4929adb545d56f5e8958";
+  sha512.doc = "ab08ea4220a30ac896add47e5422dbf2ff3eb65c3c89e90c87983c5dff75dfae6fc4d6f8cda58f2da51dae505f537ea07cee0e2378da845c20e790f8a1724f7c";
   version = "1.1";
 };
 "tdsfrmath" = {
   stripPrefix = 0;
-  sha512.run = "ece5a92f6a9f24ed4db593dd0dd985ed61fb1ee8720798ab13bc338d4e9c2412073ff0a86336aea430450f1ef756d929a496691c4eb5b7b6b6f280892af4951c";
-  sha512.doc = "8e8ac549c10c02a4427b8d2d653c7dd1f0b92b8da8ee5ba25ed8425e34dd961efdaed1586e7447cfd320dddf32ee188bead185a0818d09e91a4a691876afc249";
-  sha512.source = "e68e4a44ea863a6bcac61e355425339324a4a438a6661270c21558e429c877403db4dbd77636b26e79206bfc137e87c7f31c52782333e443ec1ee5dd9835f2c2";
+  sha512.run = "f2c7a19dc327230f46320c695eaf40e9ff17088a709e38ec7f8de23f5c0cbeb18f606bd41625a1229734dacc80edba9d052c21620f7cdf213f60e915b6128010";
+  sha512.doc = "9b0e747f90b75f372f04eddfb1c17dc73c3ef6a95d576077790b23bb496cee07afd3af5d1a53581872255c4e71b933949beae909591d0e1c407d9efc3f1d227d";
+  sha512.source = "f44f98be464973ef3596d6e0d77e508280b597e4010b2c94620aad0ff950c8328ba1d4bbcf22e0f71f091c311d9b99dd979c73c182debeedd90ab14bea9e1d7a";
   hasRunfiles = true;
   version = "1.3";
 };
 "technics" = {
   stripPrefix = 0;
-  sha512.run = "7df4b987c271ab67d34f8ac88e5ad91ee289d1fbe10dcb2ff56ad04c44492562f264eea5c815457964870cac169529fffdb4d78ae5afca239331a811be366017";
-  sha512.doc = "db719c659d2d248b6d09a15c232be6a834c754e0b2755de7a2bc99e9c5ddc7f3e2384a3947801679758c00eebd59ed7d801e1f38a0db4d54f1db675d2c191a27";
+  sha512.run = "8eb9eab801bd83fbf0d9365c36a202f909cbcd49b8da6887f3e26aa3fcd047b8085e0b405f0f5fa7f2b5ea0ef21a9956114ecaa7934e1b46b1abe55583d5e759";
+  sha512.doc = "2158bee41c25a1fbbf8c963e3364cf7d08e160aa895f54c77ceeaab7da6963232af61b4c7349d1be7f0aa84097bc7c00cac7748bdb8ba523a899b9e7cf6ed11d";
   hasRunfiles = true;
   version = "1.0";
 };
 "technion-thesis-template" = {
   stripPrefix = 0;
-  sha512.run = "31fc90b345545eaebb8818aebbe4a2c92dbb4a51dc8745eaf8e269ac54b955013b74051ea23cf812747997a0090907a6cb6e039879b2e0c5464ff24fa4786d0d";
-  sha512.doc = "694531d650568684c9afff4b190e4648d9503d85d7614a4dbd250931423bfa32415c57f3ce2dc68150dfa4b7fe102fc281e1e29e4959e141a63089383c8a2392";
+  sha512.run = "5e9c6bd47744601258bef52102acdfc744e0dd1219a7236a5710d6dd98ba5ebf1061bd6070c5d02707a7c8b895e362db51f48ee081126bcd9a99e523c6b9e5c0";
+  sha512.doc = "bcc290eae933b00cb32af0da6d31c6190f3b38d02a599fec7f8cbfcdb6f8737380d4c440911b08de5d768d9925526a63521c97c20a8c075ce8e9500dd3a62c24";
   hasRunfiles = true;
   version = "1.0";
 };
 "ted" = {
   stripPrefix = 0;
-  sha512.run = "c8e2eb0ba79726aef057650367d3c1adddc1dfe59bd2e9958f923a7f2695878b38aacba6c0e39ef86584cd0abdefb3321063a87fa5f8b6f8feef4d056b1f940d";
-  sha512.doc = "4c80f58d75d7abe4d732a22c4adb426d2461997feb38f47b7905685b7b0f92daa1bb03982d6af946b97a390deb7e39eaceb58aeff27a718d9041c90152565fa8";
-  sha512.source = "55029484afb41a808e8a672cd43365ec2a3c7af0d1a9e3025a26fc467649fb463371718fedd2d14d3bfa2e7f8c1ce470564375efd71ac0215f092d751ecb5dfb";
+  sha512.run = "42b0fcded19e05d5cf316fdfc0f1f6474816b656a57bfb5214a76f47e644bc16a42bfa95a21b80251723e2c30651a284d873d898e84c277922120a9169d274df";
+  sha512.doc = "a36387e2520d7afadeb270f7393ef45ac1b26673840d541a50ecf864304d529b24be7d107070c96cfa123801284ffc53c9daa60753640fcd2ad6367f88887069";
+  sha512.source = "b134ab90045781a2a686206d4de20ebf63ffd678d47d81815365f67eecce60984d7e17e3b9098e42f06876b1f711609bfa4133efb4b74705f25ba0e4323984bf";
   hasRunfiles = true;
   version = "1.06";
 };
 "templates-fenn" = {
   stripPrefix = 0;
-  sha512.run = "24d40fcd1217a74da85df92ae8c27fda4ec29405992e7a13f66f9d8cbf999557c52bd010acfd613a82592ac28fefc0a517453887affdc311e35f3ca3f413f7f8";
-  sha512.doc = "da8310f1be225c9603c807f4d6263cc6de4dc79e05e00cb2e146bed3f57b0570214f0ce72bbe84e2d9d46d4d21d8576549eb81022a9289f64c2e4450ff37c099";
+  sha512.run = "cc61496f15f9c4060c8d42de23e3bf6f6d2be02d3a8b4fb761f2fda4a9c3565d74bf1f107dd9371e096bef79ddbdef56d2e696cd84cb4fe39a41986b8ffbbc78";
+  sha512.doc = "2a96b0963b2d09edd3f6a6866ae298001e6ccd4e96b98a9002df6e6718284a786b63761441c287ddd63dd5eba636fcb8ce9769d498962ffe2565e771902755e1";
 };
 "templates-sommer" = {
   stripPrefix = 0;
-  sha512.run = "a40dc96748bbe50e6046cd00eaf67dc34f47b2a2de39d8f3a5045f1ad899170e9232363e9d8e90c2e0cf2096e29effb9aa510ef6f4ca631a7ef145b56bc09826";
-  sha512.doc = "b9e2fa6a1ad4b8988a02f063a58b389c049b5bf9b2b32f1900d429e67ffd88ea45237f43583ce18f05aca132acd68974b7e1e5404d378816c93c24b9209a554b";
+  sha512.run = "55b47c4718786fd4910d099878d5808288e83714567adbdbceea32a76e92f7e36c3f850d8597b297445a6ff428d1d0dbaf9209a387485eca0fb1a85f4909ed59";
+  sha512.doc = "543b5cce4842dc6b084d90f9bf4e3c19c18a690ebe85379d9d93a5998fed06272bcac4cb3ae44f965614962827b9926fec3439322e38a720c134133a88cd94f0";
 };
 "templatetools" = {
   stripPrefix = 0;
-  sha512.run = "399140e2e225c974e8a2f5f4169facccffead1dff484652cf1de6e0b481526cc502d2d7a36b4d1f8ff565d866346811825cff2d8060ac5c8815dc60f6b30fdfc";
-  sha512.doc = "097e8fd5d08c84f1d8e683232b8c083f02c9ba66f5baab1807c70829690e8ce05be43bf5c723b5b5419ca208308ee2f37fa01e23a17bf2414d524ed42746c2c7";
-  sha512.source = "b99fa77794b3709f0dd3a2c7f39079865554f3af01cc54af12523ac91a63e38ea383f23fa231e2e8a9288212e722d7bd50a43198ce18da601339eaea3abb0071";
+  sha512.run = "16abbf8e5c8972961d112cba712f927be24fca191467677bf27d76ba30c2eba8cd237842b003b9cf45247a122294d517b14a4bf5b4938eedaf3055ffdd22c05a";
+  sha512.doc = "54d696f510cc75384703f750a8c532eb2a0d46e02821fd9126daac52ed1b39859882d475758cc1ff7fd6257211e49ee0fc5c06dbb2e13e83d4584523064cf19f";
+  sha512.source = "685e379f557b683adcf198fb0a6f962b1da431e004470d5fc53c8815f4e7048e73d6851ae1792d78fa322f8efc5375d40c8f3c79404a8feb4a229df2fadf154f";
   hasRunfiles = true;
 };
 "tempora" = {
   stripPrefix = 0;
-  sha512.run = "75e234971017b2e8158fbc30eecbe3e5c796248d0625f4b8495c6f851cbc75cf5f9c86da43a0481e0ab8c918e294d6a5f13e0a940f437e3be4e29a82eabd023f";
-  sha512.doc = "fa7b419fb6ed7ce4f6ac4b75e588075da284d48e32b7d3526f4aee92334c08c58263852e8592bfaa92aa176aec9633f94de52e0581b48ed2b063585f0b24c663";
+  sha512.run = "0e1cc1a13f7937e5497f454b15ca66e0975b784b80223a902bf12a9587abdfdb56116b100e04306b1999e053b7c3716b32e1183dd7e6624162611f3b70388df6";
+  sha512.doc = "18259e25b2c9f2a9cfbce9a9303d8827af069bbe2a7ade5c14518ce2c19dc973a86fadaa99b2abc8bc65644ee5371c745abba03cca76a685382b7d8b6d20bc6e";
   hasRunfiles = true;
   version = "1.05";
 };
 "tengwarscript" = {
   stripPrefix = 0;
-  sha512.run = "364873e692abbc5cc85c1eb8b998f5a307215f1817fedc54776a9aca8a65f605641a8f72e0779c1d4cdb4621a5ab23e41b0b3de4b1cf0f49b2c5808486f9b54c";
-  sha512.doc = "031cc72cfbb6ed967aa5fcd2c3d8d056f2030815266b09f618e6254c8b7877139f2e6120c5ef5a32f21d6dff167c2ae9dded76d3da9fd1f8e0cf02f4388e0eee";
-  sha512.source = "ed1de75913c023457e99d2f5b7a6b905643c23fcd82b21bfc64dd2852121baa6f3c7aa7546a2c291cd7a68ffe33e586250124ceef01f1b6c7b4056b011a5b238";
+  sha512.run = "c6a29d928b1f25dc4b8893f9fc803f3a5deef9e8e9aa4803153fbae5cdd7170eea819eafba8a165203e48c8b2f443c55ce682df9f7e968ab621f2cf7eb082108";
+  sha512.doc = "35825a4c1cac91c088daea643e8a8901f0c3ea15c44e8a9328883c22c1fddab95fb32a65372af3979698f81e68d77b34764a1c5748460a28396480075cb594d1";
+  sha512.source = "4afbd079f20f9989a817acf49b46409bfab6ba0b328249eedf428a5a11e127fedc6c763c87db08b8b7c453562400878ea0c54d6d66c6bb7d407aa498a78dda38";
   hasRunfiles = true;
   version = "1.3.1";
 };
+"tensind" = {
+  stripPrefix = 0;
+  sha512.run = "fc20b6f6b705218b82b5788582d8b017be783e42c87b3f35e7aa99a8215ab0168b7da899c73ef1ebc282bedd5c715e69ed9e1c19b94d9b6369ba8e9986b5c5d6";
+  sha512.doc = "12e443e2ffe876732759ddf91c8948e9cfcebc3c1c96949c51f090e15dadfbcaf801e488c8d043855b576404207612ae91d982279cf0b29bd73d4a5d1528bb6c";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "tensor" = {
   stripPrefix = 0;
-  sha512.run = "267fcd783e7d19ecc950285a83d818b5e94fdc54272b8f9bf7009aa5f4e8c34eaf2e8574509705d2a4521b7fd48a3cbb655bfa2a063f98cf6239c29b0351168a";
-  sha512.doc = "1118c86d3c018c49ddb142fdeff1e5c6c7e1fe433ec825aa1ff60681bbb44ac5383f6062de553c46fc6811bbe2e507ee8bce7501150387e2749878d736e1b6ca";
-  sha512.source = "fc0c7adf408273a937c7432b091a894048568625066bf86a3241246f2b84f527668af7013ae480c9cb7f51661e273df6d3715679a8ae1b1c89e3ee68708aadcd";
+  sha512.run = "8f048f9c72eb693bf9e75e6ebda2901eb6b6add654b1f89651d54eb9416559c2455436f5e825160bfce220c790e00aa3a6f95a4557b3fdc880bade768dd36c05";
+  sha512.doc = "d9ec6b7b49d028a5a405f16c8cdb54873d92d3a0968b7df38aad44da607c8ea8cdcac45cce63b0bd2258a2a89787e2388b2375189636b93bf643055c0b9f86fd";
+  sha512.source = "fb246320405988579412cb8afc3f0f0951bd6ca09974c3f38c83979ff195e16e43c1852bca5097e8e4b07039230d3c019117234d4bb77eb75e70bedbc796ab3a";
   hasRunfiles = true;
   version = "2.1";
 };
 "termcal" = {
   stripPrefix = 0;
-  sha512.run = "f29057cbe0cd157addcbc74cdc69ac4a9963ed1afb272047d4e61b9bff081efc487e323842103c392b0d652a97d25e184ab8cdc86665a82df92ca3d56f526001";
-  sha512.doc = "581450891e4dd6a437371b7f7194e7777f11cb068e8dcb73d7aef8a8fcab33f3aaebd9c14f670bf25a96b771e28d660457a23cd3b6d20db5a264818f925f2991";
-  sha512.source = "e2e5ee5e68871022793d312bed33dd7e61063ad3f40fd0be449a5631b51f8309e5231595c13b6fb8ea4b656961d3785d56da40f3bce21315eb50378cfbeb4566";
+  sha512.run = "f28ee31f06cf2b3119df8010aa6a8312d5365452e19c3a278db7bee3bdeafe9ae0d3b07decdf1a104d8eb763abc5e02ff0e6c7030dce924596ac89d8e9508e13";
+  sha512.doc = "44f54dedd59afad78eea60ccfd43805dca1a4dc87a3d827e0fda26db15505dec18d91cf0629ec937dcf3eb14d1244f80559a0fa1ef09b30288bf687099fcec1f";
+  sha512.source = "0dd39a06088a0bd2bbcc3a9d6715816368deb07c55c85897f7c49d23553ff941f5f68d7b0ebf8fc54c4fd4d2bb8a510cec3ac9d9b509f27aeee29696c75a7ef2";
   hasRunfiles = true;
   version = "1.8";
 };
 "termcal-de" = {
   stripPrefix = 0;
-  sha512.run = "740632c1f203fc0e5e04b1a2e012b981548c4ec662a42a4fd42256e440fd3998d86a9308cdc4fbda237793098ecea938c95cbb2b8b7767450eec630b4875914c";
-  sha512.doc = "530e9dc48e6d06c4345413d23f4795b0ad8065b28845cd53497b5721e29a6dd742c5037c485a9945594c372abb89758829ce4c981984a64e8e8316163c8fcd7e";
-  sha512.source = "32045f41386c60667749b9d239bf0f7ecbbe97249047d27fe05bda79458b235bf0102728888806475c11f8087982ef033c8076a91ff68771fc238afe1a2de1f6";
+  sha512.run = "9d4d0be3e26dc69fa3986fbe41099330e97cdd4d3aa0b12a180657577ef839878aea9e546a5651cdd0ea45e7af3968c5b83b509ad5bb3ef210d42af5c00fd91b";
+  sha512.doc = "48f0ec01526f75e9e2b8369f8b30bbd8e4f093cc91fd5b485a36e225de35fa0afc750508b6533f2ec82ef123805788e40e98d5459dc85a73bef675162e682fa7";
+  sha512.source = "51d257533f7897d6b605a2ac26f323e3c241cb6920b329387f1be3bfc8444e98570f2dc4f86e78e81f5838204a90a7f79074989737005f035e076c41be74f4a3";
   hasRunfiles = true;
   version = "2.0";
 };
 "termlist" = {
   stripPrefix = 0;
-  sha512.run = "ea51a316860811527c62231dbd902155fc292eb8c0c42c5b3d5234519defbdcf250c32b4d3f996f2378eb2277ba828e6e6495b605c8f5ec0f3cc812a1143393f";
-  sha512.doc = "98980b2d20d2ebee5dad51cf0cef00d1ed1ccbca553627499c4246f30dcd5293a855880fd8f90684ab403fa87dae87dcabefc7d33a7e08f5c7e6857192fc5c3a";
-  sha512.source = "ed63e68899dd1c0fa064d95f6c7fdc6a15519e0c608018252a9778717b706d9706cf280935b20e94be75feb28c9e86a4514452d74874cded3de85f22ac26cb0b";
+  sha512.run = "799d5fbfb9b055e8674a244ecaac65c2f0412a4c173e6608fff946544142d851d8dbba02505fa8be21bc37b15acc2ba99a6f0dc77a13dd241fedea1c1b38dec9";
+  sha512.doc = "14add37c32500f246eea2a3219b58a232c9a8f41cf3cf5a0d1d2aaf4cba4d700c1ba5379b037fe10cfc06385ff0a7d0925b46beeef15dff2502142e56f37e597";
+  sha512.source = "2d6a14828ca29c08d0b08f33749deaafef88ec73bdd72450468b5332e95c83ccc5d29d0a154a6cc49a04ca0a9e5a17d0f28f25139d928b87cb14a2059d51d848";
   hasRunfiles = true;
   version = "1.1";
 };
 "termmenu" = {
   stripPrefix = 0;
-  sha512.run = "1c31e2831c535b6be4ba8675c709d4b25187efd7aeafae0cb7eae7309654d401e7c94be2b9472ab06314f6ba59dc39e300ecd117d058073d8c1375907b081c32";
-  sha512.doc = "d073848edcf16a653cba92f9211a06af22dbe0a62929b824ee0ed811e363fdd795a8051666b4ae1b2ceb36f4ae62426199fdcd6dbf416f606f3094dd05a1ff04";
-  sha512.source = "bc7e838d7a225cea41a5769e8cc94a64250015d520505a6e469182185517638f13dbc94a6b0d8d23e79e79123f0a4c930844649a2a7db5ff51fa85acf9cc1797";
+  sha512.run = "5c3d4ac4a2bab5e18453b9de0b372b364981444df3550c3a195a8fee841a6d76e73835096ff1b71a37f5e5acf0fd2777dbc8846be9345f99b004adb560ced517";
+  sha512.doc = "029f4ae3b57e0b226883e66030db2d3c41cffc0a4dbd4f8b3662562fd566d8a09b7aa0c83d98f7fb0cdfbd1226c5dde9c93211565292f037e5b5554e9a5d02b4";
+  sha512.source = "56c1396e90a4c1db5dd28ae96c6f3ebe0310c163d7fdb2cb4e3ade78b522b349fba0bd43556165c282bedcab167241033b065feaac4c4a5e3dc2d8a8a55dca61";
   hasRunfiles = true;
 };
 "testhyphens" = {
   stripPrefix = 0;
-  sha512.run = "3c2e1b5c860be5e1e99ef0a6641c5d698342257fb18e4cc64f6ff089ce6b2f627b658063d1db3926e79acee62d9b2bb9327570b3deaf575b425a8be6f296c073";
-  sha512.doc = "85d506e15b78ddaa0dc74177caef04684cf8d21bb9c64826b5629d178eb4f72910f6d15d1740c41ee6b4df32c3e840be59c1211681dde5f5c1c7b2fc90a9595c";
-  sha512.source = "9f95e744ad3c9ed200ed0f401d9a76b5e63b9294afa2e281b2c0e0619302d082f51be8bbc41a12248b148062a56afc71433ff5d7f2e5278356e9c403616834af";
+  sha512.run = "c16a9299721c571ce9bdc91e4ed4cc54c973b43fed5189d2f377b2a9143d94d3eeba6bd6b728e3df92a5436b3e2c5e07a21d4a6af0210bf87784d40d96caa42c";
+  sha512.doc = "44cc1d9afa4e12ef2dc1f7be2d7718fa33b80e5ee16c7396053690bfea6246f444b50cb044d314ec677436a3559ff1ba9fa227acb446db37bacaa2829c309b2b";
+  sha512.source = "2f84528ee4ca5d8434b0042f7b24908ff97c45f27580a5b59bfe226b195c295d4fa546fe240acb981db6deba970e2b020d38c00e6bbf5a0cc1b3caf2b3cbd506";
   hasRunfiles = true;
   version = "0.7";
 };
 "testidx" = {
   stripPrefix = 0;
-  sha512.run = "161ca87c3d01c270b2d7862c9a20ca8356f1c57147ebc532a9904389ff6d32932d8eb86598d9221fd986d2cc2a55f7ff6d5bd15806e82206ea110073e76500c8";
-  sha512.doc = "6e2089df5001c16695f9f104a0c6a21e7e18ea511cf47e39c63f75070525fa90a990047c5164f5e0965b29a3cc1889c63032d54adba498ea01a6ed83a788a2fa";
-  sha512.source = "8c2bc960da06ae8f327009172a04909e29d91977ab9f76b2920f820625f0e96773f27fbbce837d9fa3f28a42e2d1f7cae0b80cc18853c6215242a828747e8c89";
+  sha512.run = "003179c0efebe0bb84cf1ddc80db6d905af6cbbbf59753b4102e5f7a760b5e7c90057976e2d0aac138b001e2a211da8758f8e2285866ac34c8287e1d3b82d1e4";
+  sha512.doc = "deab83c1eb6f77b379b38bc81e680e18b9fb02a4b147363e05646849af1fe402249c50a8eb41e6ecf60fb1cc505cd82593ae90c356cd4bf43fa5685cf5162f44";
+  sha512.source = "de09a92aefaff5ad23898b7b5c4ef447280c3664eb468c433161cc82bb040f2c3fb265ec976f4d985914804a96422748b2dc20863805e066cfefb976110a1a6b";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "tetex" = {
-  sha512.run = "2919abd5bf5ce2af2f7ee36f8eaf6846809e746c2adfa56f5318ca9be735e67c7a9561d4455176d9e69d74e1666be2d5cf3f6d32a8223c4792879cf3825bf2c9";
-  sha512.doc = "cd39ffffea5120e3cda02e05f8b9f0767c7f4f85d427a98406b81b0da21a996160bc77b8081ede2bf604f4e9b92b86aef402f5ef49b6b3953903a253107f40d4";
+  sha512.run = "9459cfb644aca74ed5666350a94c1412a485c4099b524fa4708c18951abd0d6d4bd24a8a57b8a05010a7f0ff80565a5c17ba10bd94f722a694ca199827cf6fc9";
+  sha512.doc = "9e8b9386b27ded2c7c99cb036f5841df79aaaba44f9fb7a2c4623b7f733fef1278a4c347b7a2e01735c1eea66f21db0b60496eba1a9c1598d36e454d013be045";
   hasRunfiles = true;
   version = "3.0";
 };
 "tetragonos" = {
   stripPrefix = 0;
-  sha512.run = "77fb18a7d948917e11686eb8da84cb67cd3111f17b58036750cd3526b0a9ee4a0fc787ae19ebf8dd27c6859a8e2c7e19e255a583f1beed9fc9288cbdf6b589f6";
-  sha512.doc = "0e2421b35ecab54814e7c80d089d4cebcbe8049b1ee89285193c9d8030e4d83812536e02ab70c9c41999082544798b7f7217687e2fa3165de8444bf5091e4c12";
+  sha512.run = "dbb37eec17d41633d951b3202289289bffd9bf9a8f509cfbb7f98baab9b7e684e7d7fbfb5f50ce41251d09d9f0ea81fd9e68fa91984e788e5e43f8e398463fff";
+  sha512.doc = "f55cba055574e78934b8766f02de08f417f625042627c2c1e64cb7fe39ecb1e3553d5b862afe521f4d65805713c856ab000e3db3b7fc906266886f2ebec490a6";
   hasRunfiles = true;
   version = "1";
 };
 "teubner" = {
   stripPrefix = 0;
-  sha512.run = "0e54c15878dca0d3637f7fd8d33cdcc0badd7bf4ddf2b7a7d6d93d63c21033a34d28db850facf47e6a78e3d42806cac90fef699db6439a9356311a236150a880";
-  sha512.doc = "3253ebcea092b12c4c608ad28dd1f1610545d56714f4245b2a9401710374026ffdcb9922c53b2be18564bf0dc0588c616630ffe23fb7c50b9eb09d8d797adf1b";
-  sha512.source = "28534eddff0e94c7296b6bada763ee7addf3a2edcd4218dc9735af328ef572109c40cc7c1bbc3174d9ce884d230405f89fcb1df8df0706e22d288d6389981375";
+  sha512.run = "196c611d9a1f8231541a345a71bb45279715a748a8ef624865c076a8f346f8ac9a7be636feed01130d98445f8fa032ea8f22ff4f4194ae45efa0073231d5cc41";
+  sha512.doc = "3714dd9003e03f0758031dce6dbd5a3840b2d9fee53382fdc66e99d4baaba153694c88fa5afc8e2ffd4af64e210a7e65e2a663baaeed7d96c0800a3fb08cc983";
+  sha512.source = "667dc5669ddda08eb3f100a501d3d5f3822c8bf1f58d51356fbd51bba3a98b53c47df32243e5733e8da4d136074b8e4c29caed91cb6c5d349079ed1387f3de82";
   hasRunfiles = true;
   version = "4.8";
 };
@@ -25764,310 +26434,322 @@ tl: { # no indentation
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
-  sha512.run = "e93cb703b1dd10686dff459b507e15d178f42ef039593d072513b5fbb05bd5df94f2cfb0a0f2f489b84877048d8abe12ef7918c0b4cad7993cb5d67825cf1017";
-  sha512.doc = "0d3426c18101a8f54725ad9b86602f6570035bcd985b2a3ac1b43bccff3f41c4f59a5504ee9e00bda89cbfcf5caf67ae093cd6577e851ee8026f6070ec28f45b";
+  sha512.run = "26b0f40fa859af1c76df5adae0d249255cf39c867051eabd703d1d4f56e37fa5c7a7506769b99470c1dd29f716926bbbffa6d9ce888b95f7c17b0765f1716d42";
+  sha512.doc = "a911ebce516a15f736e210d67c42f5237243c5509d74d8725ab0aa36bcc1c4898a25ce3519a756e3b8b654c68e10887698da3c5bc466d36b27ce2bffae876eb0";
   version = "3.14159265";
 };
 "tex-ewd" = {
   stripPrefix = 0;
-  sha512.run = "d738b2a8913ca87151b90ca547dd4a35e0ab10f51a35d158e9d2e1a299fa72c3c6633bf3d2a3262ae936596b81ace4a70380abd9613485cb30d6a714bc2e2d15";
-  sha512.doc = "d89a1b3ba7c4c062c9281d13e6e41cc7b3b9f3435eed506e25bfd9642b1e73bfe999440d5fbcb47955d3d797ed1ec72b28f67267a7e6fe0ac5f49ced3099b277";
+  sha512.run = "9850acafe002f1b6b147d00aee55e4cd9c1813edbea0f570282119fd8b2f134d3a48c113cc9957c69905c4e88a06097c45829026342d7ec88838870eedd7fc44";
+  sha512.doc = "05f6414dd2309401d1800e2b053d7907703e144f829c2e7623a7c98c1313da50c0a659c25fa0d9a0fcb8b50891c575b47d8fb8a90b925e105ed9a6f8c45b8667";
   hasRunfiles = true;
 };
 "tex-font-errors-cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "6d5d54f0120cf9a9ab0655cb1715001624c3cae16c3840cc2cde2237f0c53a874f393ef63830b28f4cfa55117b566ecae6ff4415ccc82f95d89dbc46eb91a32c";
-  sha512.doc = "19b0e37025058ea8cf555506575c5f9d96dd6cb0592aea8e8a35644c2a1f53cc97d5d38fabe02cffde815fa437b33b49315b4f5822a44c45b59d2c6c8acd93c2";
+  sha512.run = "403b4faae7b16b1eea5a4d2a7d77bcd8a6e7a7b5be54299b79635280be8f82f59d281380754a0bd1b9e53ff4fb534fb3bca0cf8bbe1cf0ee88ee4d925fba103d";
+  sha512.doc = "adc72626fcb4c5a9285ad4a7cfd1c6b984f1aa26c7732f35cdc241f7b00d623f6b646e878317f30d10b9f47f4eee33e923538be58f3c15bee668f4fe652f0170";
   version = "0.1";
 };
 "tex-gyre" = {
   stripPrefix = 0;
-  sha512.run = "95000cd55940e8f2582925400eb1fb9ed8a59c71ed80a00b6d33e173c707fb9ff7597d451f3d1865e0a74084b07937df391af35d364cb2eab1135b9879cd45cb";
-  sha512.doc = "fb04ddc1a6cd0318261cb8ab9a1636ec9bb031d16261aaa69c4a3a75076333806b243e183bdaaf25321dec445e7d2c08052b77d939166d8430ad0689ecc62d16";
-  sha512.source = "8f6bf4d10a59e35a2f5d7fcb05a4806c24deb1fff295324fe3665d92d73869e97a86fec7958212cf968f2611c64a65329387a30c77ad968af5ffe0b1aabcc5fd";
+  sha512.run = "7e8ab25cd563e2be7f333f5f4232a7d64e9cd8ef2b5b898ad5e33af96d455f3bb0214184650dde76770cb95f3bfc6b10f35286e0263e52a6f43affa289920327";
+  sha512.doc = "ebfea3bfa958175078b78ee0f2ea36a4de289b967f8fc900268dce7b3d356d2faae9d9a1123c48a06e3ec78b05863626fa97cb3e249d1b87c036fe00c194ceec";
+  sha512.source = "68a06261fed419e106e8f6958a38bb0f5b78c3ee10b8b68365b3bf9925360cf726c4715954590f0b0b86faadfe636f50bce0ebf4b3b00162ffb4df54a2adc803";
   hasRunfiles = true;
   version = "2.501";
 };
 "tex-gyre-math" = {
   stripPrefix = 0;
-  sha512.run = "5dcdc0f54a15e58e1d96c06b5f1d21f1c965acf0adf75d77251485cdaddf627a468ccd4dbf6ef3d7e7fafcf14f5934d89091910e69019ff121cb65705ee7ed3d";
-  sha512.doc = "de482203ba164b466cf14aebc63e35866897e28d503469d1dc485565b49c519336fbd2e0a518a341c1acb0024f776b678303ecae3198b87b704b0f117fd962e3";
-  sha512.source = "495c16c9924327895a122840872bef55e13178ef14506083922f12f07582b6ca171880389ae9cd367528cd9f2d6e0fe580c893b9c288ee70913cdfac318468b1";
+  sha512.run = "a50a9eaa30cfd7754ae702a3bd6fced2d07fac858215b913945665940c71a0aafd2b59a0d0baa0fb9d5090773ef69a86864cc11126a5e30adc3d0e94cdbd2594";
+  sha512.doc = "cd346226dc36bb4fb5324a43dfab7790cd80ec6bba992849dfcca74ea6fe8d85fe7e0ac66408a41ac1ef644e6b32c9b06d337c4f394fbfd8fba4153fbc1abfe9";
+  sha512.source = "3c58821e5307257578ec149317cb621331aafa00bfa465eeb055f1f93691ce57a489a32a7eea068b12b70228433031de33c0ffe36b0e8e10b368e0ef5e33fe24";
   hasRunfiles = true;
 };
 "tex-ini-files" = {
   stripPrefix = 0;
-  sha512.run = "e14801a4b274049097ddccc7f25b24e31d11b4d17c894027ff5fd9b680b2d8b8c153ab4c617e59ac581a3e2836da72b63b6ef14d7a0452fd25bcc5718b1c98cc";
-  sha512.doc = "2cf0815a1db1b2d531b0cb897929ea8ea75dc443430719657152beb2ddebc1916bc4045ee1cbe268773c766d0c0d8f1ed4f9bbadc14e8254178a7a76cd0e7525";
+  sha512.run = "c053ad3aaa49224f26999112b3f5f28eb6ba34cd130cb54ab5ce67971632d41a8470c361e4471f9d75831d230737a0197186b05c25a9b401286bb4d5525b12a2";
+  sha512.doc = "c44315e35793a1e77b621af53061c25605fbc5ffce2f07fe52bc5e58f4db0e9252cdb1935c14d8dc632bf1b84c18f3ec18506c5415831ad230c7a314f4f7b670";
   hasRunfiles = true;
 };
 "tex-label" = {
   stripPrefix = 0;
-  sha512.run = "f21905ceacf5d038bf52d82a46fa83f6ec4ad62e508d97cf8487f47983d68a114e9d34ff2709a12f081e5fd12984af0f05aff6ba3292591d122c060ca172db76";
-  sha512.doc = "1ab97b181e9382a0f40ce94a392b069d5f207faf8f4b0e56307f5b02181df0892d7d01b31d3ba18ceba5f0c3ca588714148d4349b94ec959836442205b14130a";
-  sha512.source = "006272a6940209ec6c27c5de951c9772fea455c68515dae75b725e7687e61d6fa818d7a29850ddc5bcf5bab21d899c3d58007980e2665735a1e508fe980c45b1";
+  sha512.run = "513310d4dc5240d0b290d0acc941455ba64e069d19c223670d05a632033aba8de367d5dce6acf073af4df476876d3ee414dcf9f1f579738bf9bdfe6738c19d36";
+  sha512.doc = "bc705cf6812515923d60cf44b75830bd3ea78f078c9ef88ded3e94f060155e1fbf5dc1485cbaa8530e1f10b41b421e70bcec6c61066ee98b498aba7ea8799dc4";
+  sha512.source = "07c29de4e85fc21404dad1da3a01a5037b641526110fe5410899c60aeae6a92836de322895afc83824df60f431955a4da959c4d4c21cf17dc32929f445cc1ed8";
   hasRunfiles = true;
 };
 "tex-locale" = {
   stripPrefix = 0;
-  sha512.run = "fe601c14782a5e46c08eec42ead82e5e9760f0b140d30815b5846af9ee3b4e72fa9adcd32de010bd69be3e1fcd575754ec1ead5e83e7dd5c1d9115bd499f7862";
-  sha512.doc = "fabd2260bb5fe9bdeb8380d57e2892f98022ba7a197ae56ec451931f0587b48959e5cbf4bacee370eedfbfda0544ac1d5679a02de15df5675f85aa493cd22b30";
-  sha512.source = "be20db7ced672207ec44a7e7ba656ca07b4ada187fc387c46def0544ff2b0f1395ff1d179c75fb18e8960a693c7fa611e40f50cc5f58bc32a70b190467eb1e08";
+  sha512.run = "0e3aca622bb6fb49a06a3aea1d997414add9272dd39c10c3a1d80956dece59882993b24366a1126acab80f8a7c8328a30756f727210f829f5eb838ac0b9cb1a6";
+  sha512.doc = "d3898da3687603b1f1f3f2f5b203d01c985ab0c3e39eeb05dc7c855c14fad8b73649777e4a0b7844c242bc8946cab80b585987eda37a1c10e3ba75c6955fee23";
+  sha512.source = "b24a01b9845f79a86c12911e71ef179a4dd8f5a8284d067b760a8ac3cb906cbf2465ae3617e0196d9163348f3a865fea4e5869adac9921088b13d738803f87f4";
   hasRunfiles = true;
   version = "1.0";
 };
 "tex-overview" = {
   stripPrefix = 0;
-  sha512.run = "86a509e2a488324d8e465e3d60a4aa14138358583558a9b6ceb5b84cb6046656c19f0c06e2ef2ac4537a87c39d6471676ecb1e6be75819527b087168342e5320";
-  sha512.doc = "88a56c1ffdf50a2e1f8a3a97b9ae109ab73124475a369939f85ce04bff847b59b7be81e6dbf942a516c6035b6cb5ce3f952d982dc30c47af1ac9f49f15d63c15";
+  sha512.run = "1217aeba55d723dad2843509ad3adf205090298f2362ba4ce23d73ec581e439c344f055281a95f82bd8cec298c77da012cf892e60369562238bba7f8b8d258a1";
+  sha512.doc = "0cd9941afc0e50d3d936f5ba1f9d2c7f16244899982ff7eaa44bb019653b5e4e142edc1ee608ca1664636c77178dd8a02f4625a2216a019e770651a718f0a27b";
   version = "0.2";
 };
 "tex-ps" = {
   stripPrefix = 0;
-  sha512.run = "b810f42bf06fb92eacea23e5d29f9efb1feefce7d33ece253596ab29e8892b6630246380f5ae366efd2a5bf2f906715fb9ff6e77b49ac1636673f7d6fb3666d0";
-  sha512.doc = "2c4b19d791afffa03e7ca0dda2ab69e792e858d9532480c1ece0abd82eb9cee3a40dbd22b370a549d6212fd461263a5e8bc21d6a89506a447c52a437a6d04f71";
+  sha512.run = "cc616b501be7c0724646d5e0f326a5729df8f4cb0c4070f92bdd3b5b370e496efd6208b3ec8b2387713810b9764c75525689f434b7f482a83fb0b8e9b0383cb6";
+  sha512.doc = "2f82f63954c1407c2caa9c39a538ed1cffeabfde8ac0506906f0f28430d12e18d858040ee66f2326cad3fa758c23d1ed490b70c5d18eb68b699b7ddd0afd15d1";
   hasRunfiles = true;
 };
 "tex-refs" = {
   stripPrefix = 0;
-  sha512.run = "d47adfec47f3002be574a1efd0836aef6d6164f16643db16dd729c70c327ef553e487a3e2448b20ab618b8f899fd45998c6a4f824736f4d98f94ae77e76bc269";
-  sha512.doc = "9ce7ccacf64d8c51bdb5e8683cedf15357db21fd62c72c2e5e9f56e1a489e4c07eedc8888388e65dea2a0eee06028f9c4bdb2a0b1bbdeecfcff1e04c2964aa29";
+  sha512.run = "12ce34f2173ddb5be885b174a6be708fb47822cdd34e05ffcf6f17cb28ccfc32528206c9e73373a6f68a5f3987cb9e244c5093539f14db3a4eab0daf8ff7fbaf";
+  sha512.doc = "318f2872f308b2f22d96af2a553d9e13b60e1f6ffc1cbdf44e123fb2ca82423ff8bb7aba524f0e8570b8086ef85833cb11070d7848b3212b87ae0046405c1a5a";
   version = "0.4.8";
 };
 "tex-virtual-academy-pl" = {
   stripPrefix = 0;
-  sha512.run = "5778b8952522cce7680b351c4140b5a784d48dc8d3630daad73b6f6b6514a439dec75817f7d9e25bf383521984c8e87291fd6ae3431bdbe23bec2b5e591f2c94";
-  sha512.doc = "6985e54837c1a71232d50b58aff5704b850cdd5943bbebbc1fb1e594ed25245cde35733fbeb5a30db3e696d9ddcf379bcd16588bb9e0131b7aea2d3f3665cd42";
+  sha512.run = "b9358f50caf39d274c1684d4514fef0439e015588431883955f7aec63d35f7176ed61671f72cda7ae28125b2a977f25ae66b028b21017f106d8f78bbfc7df109";
+  sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
 };
 "tex4ebook" = {
-  sha512.run = "e3970563fff843703ef169c1377bd7221036c070fbd047e01db4436ef37eb05c106ee43092686b8164de64f3d49d159c9bcf18378d486a6a7f5c0e2489d77d31";
-  sha512.doc = "d8b58eb6afa06ada65e0cf8e92ad7307818721989262bdf6adac5b2afaa4e3a0c87744c1ba049d8d5e56e708276cc64270a357e4152b4894dc1fadcad17aba06";
+  sha512.run = "946317be3532db3e60b1fcf2c027f616c00526da55562ab3b682c01306277059edaf14138902d1e21eab53cfb9bf293c636598cffddb9f1980b287b2fba081d9";
+  sha512.doc = "586d3ce7642a0f06e358e0cb3d3dc577396a638d7e7c9f333a118716bf4dee8c18991d1736ac7169ba32c22b9aa10b887a8ae77ae5a4f40c800f2f1aca958abd";
   hasRunfiles = true;
-  version = "0.2b";
+  version = "0.2c";
 };
 "tex4ht" = {
-  sha512.run = "42135a68ccb4d0407afd7dbb93c9336450b8157e81f8c88a786695ed86df1a68e6c1e15f2ad29b5550f57ed2c9085cbf7ef7c40ea8719ab858cb72bf168b4d98";
-  sha512.doc = "734f10950486beb731fd43ce8f8d1af2a9e54fd9ef6afe9e7940c85ce31462e18a161b01eb407cf92ec06164fb04f0bd180c3b9a78695060fa3cc563ba3e1639";
+  sha512.run = "a5a8834a3effa629a93ae35a06d28201f472f32a3ac79c7c3e6df6f475a57a854a8186fe201ac8d0476b854f864276578d5709216db3dde8bedddd1a12a85e2f";
+  sha512.doc = "e6364e7f86cbed62bf887396c42ae9e25ddd027f928782a02b4dd3881123aa1869e16a7526662e4adb1fdd0aeca7de9990ab229b56ee38415c10cd6b2a696680";
   hasRunfiles = true;
 };
 "texapi" = {
   stripPrefix = 0;
-  sha512.run = "d3c9e991e2dda17f778fae71ec74420ef989375e01fae5199544338feb57b9e29c4dc02a75ef61844989d6d629101d892ee05a8cef41c4620f1f2b9689e83787";
-  sha512.doc = "d238b88bfc10688647475994837d49143f25c48c761941c147dab6ac998a5f5d8c3e7e5c82d1a7ef549f7c1cbd65a0d504c3d5b2dd6d4a83a07c940f979f9104";
+  sha512.run = "ca4622f53eab49612b80781bf58130d419a89791f507164e34dc8123772d041d50790f63018a87bbe3e8ebecdbe49925fccdc35f4d90f5d87312a36ce1ee482d";
+  sha512.doc = "2740b51e345092c14bf86a42d8b94a5595248851c606b6274369abab75b708bbd17a67a544b1b3a0bdae18f779e042a53bc2dc04edbfea912ed60078cedde16e";
   hasRunfiles = true;
   version = "1.04";
 };
 "texbytopic" = {
   stripPrefix = 0;
-  sha512.run = "17af30045a7c078120432fc44ed3d805d5c2aff9a96b2f08b3ba208e65242156448bac0a4020979ed8a75ff2c7b850172362217e406eac3dd7536602b6ab6eb6";
-  sha512.doc = "074242caf91df4219883a041103857ac35ecf4ea1dccc780cdb5641d8d2770049f4399d026ea32cc12e47563f52fc9bdafbda7a919a53db7db0f93f07989d035";
+  sha512.run = "d6d7373a50b85b4dcf30f9d6cd1f3ec3a4cbbe72f53158387b99ab5cae5372d1c7a7954d03a0ee06b9af6df9784cd9a06f73658a6286a737674f5046883a9ab6";
+  sha512.doc = "29b3ea490b6c67a4c1d6dd2b744978536e3b847beda3a901873db7723c7c21ae4063b800d30d2d009e77a0e6fb199a3fb0d16d1f7f8d9a09722cfd7702c73c67";
 };
 "texcount" = {
-  sha512.run = "f833ff147e3d5ced498461cbda52fb0b05c2fa0f9a95e5c42fdd228fd8cbda0b10687ff645e4fd3394c27d453abc663af0abcc55e3b740a962cc45ccede44967";
-  sha512.doc = "ff842c4d37b8e1ee59525866102a74fc7f780ffebdb59842cd822feed1fdbd16ba45157e48f2833e045759bd32e3fd178359f1184e1b9345d6b19157dbf0ad45";
+  sha512.run = "82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f";
+  sha512.doc = "5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94";
   hasRunfiles = true;
   version = "3.1.1";
 };
 "texdate" = {
   stripPrefix = 0;
-  sha512.run = "97576682b766a0540a412d4a01efaad36c1d79b1829b5b50648cba91477a109bb46ef1638b284151804e107858c772d06065ed66963893f054abb61274902a85";
-  sha512.doc = "23b09ed4cd6881f984200feeaa5a48c425424bccef739eb0a572881946b1914df082a9bc73c2f232e8cdf4ab15bff6dbbc7a376fe246989eb628e60b1dee4d7e";
-  sha512.source = "ead9b7b1a141fd48dfd62ec6fbef41cb5008713a42b4ad1f55cb0f3f9de34d96c361004d11fc282e3785c547c3ec7d7241c258ee61532702b90db0224af0b1a7";
+  sha512.run = "c6f34d5ab0c54f799669c4c44e8c6e00381796ca76b9d2e8352a749effe65b9ffd6ebd139998ab9267d1e54da6471f5f38cc6931f7ff046882261cd5e5440bc7";
+  sha512.doc = "2338dd99b32a1b2e04326e888b718f595a26848bbef17206f92a0a0f26556edddc3e0a06327d86e72fcb3e55270bcdff846cab3bfc37cbd61115b601164fc10e";
+  sha512.source = "30a5c6401d66e7fc2cf0300341c7007881945fdfb267ce4c1f9930f6cb84d04d7895df613215be27da15e307baff361cba6bd4b530ac78f352b74aa81bb94356";
   hasRunfiles = true;
   version = "2.0";
 };
 "texdef" = {
-  sha512.run = "2f30d8375dbfa150901c8c1c392e444cf2ab5c42b98602b67ffd8267507ad8a1b5e4a811d7b6dae2a28416b17cb289268e91d53a9fd613be8ea37b240b0656ac";
-  sha512.doc = "53f4932f85d39fe17ed098450019ceac132df0247723788670d203283f0c640a76ebd86967f0bf9794c9b6fcd899762f10aae099077ed82a79009e97c9381b4e";
-  sha512.source = "26ee8402681131f5291db0b3a04bb592ffe940e22df4a67d2e2ea479debdb80bae49067f5c3ea1ce3975ae3986a72edf171cd68b345c4efd86d70230461d8ba7";
+  sha512.run = "7c5defeb9cf9d5fbe92f8433265543e6d7024e9f7fdc768582ec51a5880745c54cf8576f1b7455e32d51429e2faf122c0775ead117be97510f4b2d8123b04d71";
+  sha512.doc = "a4727d57bb5b56106a9baf4aabbabd16cc8a8ac08358c28263abe9c40b76a6d692d0e819c23c7b8e946e97fd3f7574a498a6f43207c04e7544a0383b3681f54e";
+  sha512.source = "4b57478b06d4cd67ae6b8d2afb059eb52e03e31c4c4066108d471134865a64f3eb3dc99f8bc4330625eaa8e7c660f445365c6bbe510f36d5770b406df99d6c8c";
   hasRunfiles = true;
   version = "1.8a";
 };
 "texdiff" = {
-  sha512.run = "2e5bc09c33a372b070d1e94355c76f803e2cb3f8c801fed5efdbb2990d8880def13dc842210c4d38cd866928e03d499baf4d304567313b4f1f82d12d48768d0a";
-  sha512.doc = "bfa104979d94d7cf7353fb75ac2b537a7a6b45762f29c8348c94d17c881289d9c8f45d04a53dd7263046cd7f6d38a8d3f90ab4c7f1a75233a3fa95bdb36d2128";
+  sha512.run = "26fa84b3090d641efb186947ce4d1d89c30a2c224cfc8fa759da3ba7ec9cc113c0ed4afc1c3d0fa5f9d0a88af4f9b3001d57651df6b5be6e0234fb78ec4f252a";
+  sha512.doc = "d458fa8db6433b4c7fbd23a16f9be53c2c822e396e7f50844cfa6acdd2a08acf8efdd0bd946c8fdc09ca8aa28d1eb25708d3719184634abced92ea5c94d9a948";
   hasRunfiles = true;
   version = "0.4";
 };
 "texdirflatten" = {
-  sha512.run = "9764553a672d37e345c0eaac39c84479e46350f39f995e301cee7fe7396c4dcf55a2f51120a9d94a2087cbf7dfc448658eaf7d9690c89c97c23cb60ac12246de";
-  sha512.doc = "5c584b58fd02be2c6adef72d6b846bd193b4aaf02a21e5b1f6b80a6a93af49a9d4a12569d2aa4d9b3060290c51bd3d1e581310f9601668d27ba193d37b508b11";
+  sha512.run = "e4f03e9a434e1ab8ea1b69ca0ed2dffe1f8cdb2c853a733e275bee74ed4b17b84b72cd8cc7d1820f595e1c2282a38b9bfc7f7b7a9e003fdace6488390a1b97ba";
+  sha512.doc = "972fc69b705b2f6289358199cedc91ec386da9212048f7f7a84e43eeadc943f7f42ade8d7faa9f58d1685d2bb10408e274b2461032927042371feb86b4ef6b43";
   hasRunfiles = true;
   version = "1.3";
 };
 "texdoc" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "c8e25291eb8928534f6d79f13bc35d6be7b207a27083d2d2bae4bb31f6a79cc8941f45f057472cf7c4298602452cee9b6f3f0264849d4daf6accffd73ed2edd7";
-  sha512.doc = "4b105ba04ff13596c7bb321377301024aa6d6c4bb7246ff21b6741e42484e47fa5378aec7a1d090041cf5c067a7ee73358eeb2be86d9c14989cb550fddce3775";
+  sha512.run = "2c12bf48d03d456e95d6bc31ad6d46f77c0dfebde73fd8a87e2128c7267327377b8d8d7d9b04ecf7295eaad16eccf1df5bab6f9050df7113c62bfbbffc0d00be";
+  sha512.doc = "133abc048e8cbfa84bd2788fe0942bc48d4d2844bec525c010a3590afa62b22ca77518ebbfd26e78c825152ec0eea0a8e1513d15931332656b8fec702b0b7479";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "texdoctk" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "2200e4d874e5b48d75339395330c06e4193181dad19e7f4bd27fe2970baaac680c19682b8512596883e1f71510f872b6c699bbfc036ecd04fef5ddc281b1a164";
-  sha512.doc = "c580b2c1b3fc055f2acb3907064feea91132310fa343bb6597102e1d4d22b0a3cb3b5fae23c83214edb532d10d68873d48902df98633b2d31ead9f001a5eb0fb";
+  sha512.run = "d6799beb8f8615c82dc8f66971bcfcb62e763672d707a284d2293164861cd861b47a691fadbda9dca736ce820e4c90adcf1358b04f4db38121459415101efbce";
+  sha512.doc = "f8f08bbc68488fd75a2291ea1556a8c1166357ba225ac0b0205f2b9e8ee1b23957f41c1a577540028b74f12647578c6fcc2219a07afb6d3a1f63affbfe383c19";
   hasRunfiles = true;
   version = "0.6.0";
 };
 "texdraw" = {
   stripPrefix = 0;
-  sha512.run = "5a8ac698fe8470d85de66f2ea010c335cddd80ff7a87c5a91731a1abb15c42aa135f9af248bd454a1094a4bf03343fd508aad8b9e21fb58c65f71fa603493759";
-  sha512.doc = "ab77322e2c8b581c9d375aaf38b0269ada7fa72b32d4ebd1b38966cbabae772b49bcaa5e5a33cb080d9519af9bf65fcc4f401ecf6b3f16ae9f33940bb2ebcee7";
+  sha512.run = "30cc546b259f93bec3f5d3efea5e73cdf7e34f9f76cac8946d82fff3123abb6f5bc7c70c48987bab24e154c56f6145fef0680b416e7cf2aaa79f5aa673600f59";
+  sha512.doc = "28a7028a28749e2d7c8b5176dd473b749230750fe1ead78a731c9f4a40db299c4bd034be18e0587ab1dd79b6b0802abff19d12fdf44dab5e1a64e26d48185771";
   hasRunfiles = true;
+  version = "v2r3";
 };
 "texfot" = {
-  sha512.run = "97e64c6891b399bf5c5e0f02e2f9d9b43021860d2cfcd3c5d75818954d95d0301483389fbc56a5f1e0acc2d64552c43b5d0f1828d2c3c1d86ef55887a6057930";
-  sha512.doc = "e025fb17b263f3b88195100aa31f4b5baf817d62aa6c0e2d08301822a9b89f92f5a571f2cb55db1d67c77a252dfa68fd35c97db3be97f740d04c37602d5cae9b";
+  sha512.run = "0b9376db4c9006121907650bac3a13f8e81ca7bfe48cbab132cf635c72003de9aacf39f77e7e96abc3f7aa781f91cd9876a0fbcbe933d01e807597a581efaccf";
+  sha512.doc = "fba2be7e6b23503b98ab499fe4799a1344ab0e9d4c806c451b38945cca58cbe15505b360fdf2d83906d6457fa94123c2b704d4c1da8e0dc435ada46af673d134";
   hasRunfiles = true;
-  version = "1.37";
+  version = "1.38";
 };
 "texilikechaps" = {
   stripPrefix = 0;
-  sha512.run = "65f9d3d047f311318f67f5aef968f0200a464770f099c698634bf243122182161138fe0db25efc0834e4adae05f469bbbe9f9d26d48d949a4fe94f6f174a7d4b";
+  sha512.run = "b65e737c138a176e6674612dda6b066a9953d8b737fe2e947eb10c058d6b67eb27f154a3ca4f346481f4dc077fddc2c95cc302762a9e9eaa2f0f1d23160bd4be";
   hasRunfiles = true;
   version = "1.0a";
 };
 "texilikecover" = {
   stripPrefix = 0;
-  sha512.run = "c4f4717a9d2aa0e4e677a859acca1762e7f9c93885a9852a2f27cc1e3f92df37331d7b0eeac7872c848a19c4e6412c186371d57ceb1e4936585afcfe76cd8089";
+  sha512.run = "fc73ce5601a10d638ea78fe815978d395001a73be75084539498644ac7f3fea0f3a57e95bd80e5f38659891adfd9c817e6068acfe04972a836938d733e0d4382";
   hasRunfiles = true;
   version = "0.1";
 };
 "texinfo" = {
   stripPrefix = 0;
-  sha512.run = "7c3d517df29ea472e8ce627bec761568538a356f2c1e3b558604bb6f4e38aa53e0090ef4dd4cfe3442f1e54901d77d09515156922c99f678d617198822bd23d3";
+  sha512.run = "24addde29f46c3af209543f168cc3c6ae6ca90a504738eda37bcd22d2d10041daaa8373d600f70afa39d0746596d2554ed132521e0cf32004a1b800832f03b3d";
   hasRunfiles = true;
   version = "5.1";
 };
 "texlive-common" = {
   stripPrefix = 0;
-  sha512.run = "55daf13056d3f75047fecea3ad0cba05bbfa342d54d8914ca6df7494e14e297d9380c22d6aafbbe76d86a79edd4b20aef55ff38fd2f4c6d64a6277bf90729825";
-  sha512.doc = "fa44cd5aba2db8502f41b2ac1c061bc235a9edc14aed22a3d789c5e6c78bf736069d67dd6eda4dddabeefa78010c844c197bfdfa3e76e18b874ec1c63712cd5b";
+  sha512.run = "a2d1330cf12d9c7d78350384e69163f3c97c2d7ffe923a0819f487cf5b1f610b50ed2835f658f4a6c6e7df6b9d95bebed24073cb03f4213bd1a430e48716a702";
+  sha512.doc = "9fa949114a490a7cfcd7c0083ea7fe797bafe4ae4b61f1b689e9950afafe8a8367f87a5e371aea6b669c90b3a6b31df00a0700e3bc0a96fd2b71c373f2a24a6a";
 };
 "texlive-cz" = {
   stripPrefix = 0;
-  sha512.run = "104a8357b0b372d5488995ca8b9baf4ff08b5fca34d65871c28b13f1a670b91e0e508daba78238c1422c58660146822575d9011328c92dc66f238684793e0560";
-  sha512.doc = "103599893c3a77fe569a866bb31a96e9160afc123200979cd6b587239685f891219bb53ed36e9a3a44d8003cc803215e503d6cc312198180ad59cc3473e7de26";
+  sha512.run = "2c65a9915e58f81a298389fda9dbfe5c6d0a0fbb91db2da4d970f084f568da8dbd20e61576c2af05c74c4c2876835f8159d6dc3a250038dd64b433e4cc305a37";
+  sha512.doc = "8527c18ca429a877e747f66d68e3c6ff1992c42af0ce8e65d15a89743b689062e5d825578fb5896d5fb978251726cb2623d49207cb8126258bb6f419b36d09ec";
 };
 "texlive-de" = {
   stripPrefix = 0;
-  sha512.run = "08c67c0c348eadff200e98606f4c0b67c7e9f763e84cf12117e938fc1310e37a8a55177948771ad9e4156955dd0dda479addbb3caf1a067c0e5aa1ef7e815a3b";
-  sha512.doc = "a575f65e317d8d5bab4591dde8cf2958c821f3786352b09c5dd4c5b6f6069ebcdcb005405aeff2e13a38afa5bf32f00bfb60159f215048734c5871cf6bd0d06d";
+  sha512.run = "89b6004f34abdd998257c723613ac09a1ff761bc2eb1dd441b21c6e25958874bc388e0fb4256410661f53d2145f3ccabeadc9ec1341af834b719913dbc6b59a0";
+  sha512.doc = "c13300d4bfa0a9d97c5b01b82634c854dbf9c4239d9ad320470c8d16eff439b1996ff0d51a72baa5c3080ea027105521bd165198c8fe58f06fe785d130603916";
 };
 "texlive-docindex" = {
-  sha512.run = "bff973bf850ec4113d9ff803eec8d33f6c8639e5138d53e0ec1f7a4532711e56edcddee28a2dd799d36b548d494c3ce356ab40ed37d34d5d9353fe8d4ed91548";
-  sha512.doc = "a50fdeec5df2c08dc37c8acdf523a81a1885152d57194d1dcb3c189678894bb7c5c25d461b359cb916d99a5356650d1d37efbbf0024e57578190642e70171f70";
+  sha512.run = "91e32845cbe87135d4fe6faa66f6cf58c4867131aa6bc73812f9093af4d31997dbc29fa81a1a2bf21d0a90bd1657ea33c5de9c755452ecc83544f34149f0ba5d";
+  sha512.doc = "f5f9c49dee61ebbb87e14caec5a7be65d821912d7179021d10c24afddc5ae61d13c5efcb6dc9c1491443ad4e6fbe173ac037283eb0f77497d2cf24541e2a72d4";
   hasRunfiles = true;
 };
 "texlive-en" = {
   stripPrefix = 0;
-  sha512.run = "dbbf5d8fc537755a353f0b4c65b868f8bc175068105dc0ea87d4056c27a9c6272f00814ecb235729fcde22290a08505f4167ba446a7506815f7b69cea3617adf";
-  sha512.doc = "44fb2b2fd811ffbced1638c7b16d4803fc39ee68a3727fe726c34d9d7bc8f9e8b96421e592962a29dc205ce3c7c9e759779b2c1bb254b74fb83ce161cde266d5";
+  sha512.run = "bf6130a940b5f328a0316322c2df85b60b7214ecbbd3b936f8ccff816cf2ace8853222c55efdb48ccdf48a55dbc64558a1a91ef88b83ff5f8425515125c486eb";
+  sha512.doc = "92ac46d9286520f1b6e5d927f976659771bd42cbefab7284fbb8c3b2ac5622c9af7e7c151163b30d95b16eee63027cbe36e758a1cd454055c63f5992357e6bcd";
 };
 "texlive-es" = {
   stripPrefix = 0;
-  sha512.run = "f5e9404c19b4227c10a07ed9b35e202b41c038b17ca8b324d74fb279a95ce334e8271f233ee3333ab51e5b04da4d137469e4f061164f8ac10b843a158e38e656";
-  sha512.doc = "6fcda16d26282f387913f0b34b0daf6d4d068f4e15b34cc9fa6cbeab1a6f3af45cf900225fb4eafbb70943e8b76dcd000ad0bc27719e0e127f6ce73f629bea4e";
+  sha512.run = "ecd29f0b62735145f57e48c74c07f1b7188a3e4aea26d82dad7e136e2276e2697381bae0afacd7b2083d796c213e72141893fc186b84e9b6caf4ed19513d9a29";
+  sha512.doc = "32c4b3fad90a989e2b94f4fe63b8869721c36aa90df3a815177dbae38c8fc90bc420f197810266ee1350e2580428b8444ef73c5436041eab8bb46704bccc4fba";
 };
 "texlive-fr" = {
   stripPrefix = 0;
-  sha512.run = "38f11216a59192ef1d8f8b992f1d16939db9e1323f191d44d060e0919293f7ded441922d78b032b244fc30d37af9c2727c3b408fcc9ab61ede66cd9a7f7aeba2";
-  sha512.doc = "e103e036edf8ad2438fc5c0e9e069c8d1d398f0cb2d997eddc80cb7fda301291b5e797d2e59122cf6f1797130e20bad2c06fb74fdbb4da9a7bc86ef84e2d2f7e";
+  sha512.run = "fa1830c0a7337f5629eff5f380f877307304f1986a3d9f63c43b0ef88960354c2737278e0e123523eb0d2c2957ec41ace896cefd096f4b2982b7086daf7f3ebb";
+  sha512.doc = "bee228b706954bcdc1ea424d0227890bda2115abf47b73687a0f486b7daf68476bfd7a649f457b22b62e55936b1a113a685451095d1f23268e0d094dec902b7a";
 };
 "texlive-it" = {
   stripPrefix = 0;
-  sha512.run = "043e2d7d8026c6a3fa896819a4ca10925e1fcf8e9d64351661cada51e33662384b71bf8fa0981faf5ef060c62a08c993ff71168c8769545a37e83462f768c5cf";
-  sha512.doc = "70aceeecba1037edf17ea81c2a0b1cb5cdc36519b16bd68c981e9578e3ecc5c732548a8479684d9c95ce2665f8b837a390e8b673b0773240ffc3f449cf2ea3cf";
+  sha512.run = "be04ef3a7fabeeb9d6a05210e5939d61e0a364cbe97e461476db186c71ecfa2754af159ced3fad5fddff081e6bf5541bf60ed053cb8cb0e2de8813944e775009";
+  sha512.doc = "a3381b82bfa78453c6014849e8ea8dc2ee881088450824e62bc056f0303227fb7eb5276f594436c6ac113292ee52672dd3e7b9e6007bdc22dc331b63330fca81";
+};
+"texlive-ja" = {
+  stripPrefix = 0;
+  sha512.run = "279c986e659a0ff33b4522057c90312f2376552b22bd3229cfeed2e87a0644410ad798a8bbda079253df16a3156e3dae9c20abc6132e49023e17e9e234820043";
+  sha512.doc = "fd26ed74bb6a85f9aaa1907d89b3c2e6624325e36652a3e3c7a540181efa36f2b44322aac55190085c47d48176b0d04e6c58ef9fb633057954eaa6fd408998f9";
 };
 "texlive-msg-translations" = {
-  sha512.run = "68715d6feb3f76c473cbcec846f3bb8b8913c1eb70af06bd1ab50dd696e4e51274cea7361ab52635a2e75685b1e2f9ca6544e206739e60b46357e24567303bd3";
+  sha512.run = "aaa3c148d05c6172163ccf2a6b6ef114cb31196bfd00ca7370cdf75fd71620aee5b0efc9fe2ffb625fa2f8fadd624cdfc3f38c4f97db1c07a41a1a4eab50ae0e";
   hasRunfiles = true;
 };
 "texlive-pl" = {
   stripPrefix = 0;
-  sha512.run = "6be6da6a9e86eb07c4fe363ca677c5ac935dd7d5d4ea31e20947f2bcb0d5e13bed4fbf81c180a94a155d3ff93221cf7c4ca618e8c9055564603d5bef6d8c38b8";
-  sha512.doc = "c1205fc00e493df442a0fc65805f45a791f2dfa9465cb27886b87c67aba55f5fcf8dc05e5cfc148658b79cfc6cfa3e22beb00d7037bee57dfdbe0edf41d3fc7b";
+  sha512.run = "57dc3f82b08ddb2a9f6e168ba7cee0870e558d796bd6acb8669207cc14aa327a531f6731d312fabd1761444f9d49da4f2b8a1424c603735468e76ae868813208";
+  sha512.doc = "1e00df1860220e5627a913f2504e125165ec2743f5b461497e77636e46b069ba2e790de2c01317f7698212d2862e0aaf5cdbed40eaca40618d97e56436b93adc";
 };
 "texlive-ru" = {
   stripPrefix = 0;
-  sha512.run = "fd8aabbee8f59061cf276239acc408845412558da75f516a82bc4fd87c3d8c84fb20555a46cb9a2cb9a39c1d5f630a38f92e0bc8183a43d595cdf30f04b1e306";
-  sha512.doc = "6c32216a52415b04c61ae276f9c15253929b10ee50cd024f0f6d3bf0a78c7c8c1787bdbba1ed4372f28207c7d5204085172a70ba4a20f595b19ed9bf6715f89d";
+  sha512.run = "53b6b2cdfc0357f7614cdb9ac5f4f26dd51288acf093e3bf644b0b259c61b9765775bd90956b645e2a915cd64b4d4470679e3725dc8f1dd044f2280e04677c5d";
+  sha512.doc = "b5d982cfe9cbb9022b0d35cf583a90148c0add4f898dc86f732f305cd9adf704902851366722d2624f0ceac66d00aab177663160d5ef624331f83d6a717c3505";
 };
 "texlive-scripts" = {
-  sha512.run = "2a32fe8d1fb2680ba61fea3fbdcb95421523ceb5713294027ab69a18c296b72af20c31432f20e82bee151fd96af5cf15386c8b282d94d8973d53ee2dc87410a1";
-  sha512.doc = "636c3cdfe92780933122b94ee6f2af0e6a27300e71066bdef9643d66197f674aded56b1230d414f2f04af42722565fab34c2f85f46ea4c17df2cb255549edd1d";
+  sha512.run = "a73dbbd393f2824c5d892249da25437fbec34cd099c3fcae02aea9c0486a5e1fe4ad110467a9424adf77ac34713464a44d668e169e055db999202916970f904a";
+  sha512.doc = "94c227164679b44fac0e50490ca344cfb2301f0092c7ed928cbd2578650cdfcea4910f4c45a3812c7ad75565ef8f3e0330eb94d3e8fd90e6f818c5862976c8a0";
   hasRunfiles = true;
 };
 "texlive-sr" = {
   stripPrefix = 0;
-  sha512.run = "7785cf3aac02cf569bf342b019f9bba148fcef2fe837956d93d77cc38adf02922f85c3e76c7d0c954ebee5ade933843658684ade551a62d6a6fa36884405d0fa";
-  sha512.doc = "5fe8aa79b0181ea0e0de598f98f69306dedf8737302077c752ec142d066e35b904fd8958317f0c936ffac0300fe73ff54c24559520e4ea8d360a55acd8ed49d0";
+  sha512.run = "65cbac03143ec8b2881ba02b2827867848ba7b034745e2c3e5e793cb5a950c897d2903c1865cd42fbbfa65cea79cfa4b819be781027691be1467375598a6388d";
+  sha512.doc = "fdff59485fde0a134c78c506969b8c29bf82d30b3d2fa9b8137ee7efed7786e8aec9c79f5a1e000ce04ebd5bbe805885f8952234427a411021b9ef3988b11234";
 };
 "texlive-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "7f17a792a6ba347e97877d57117433ab69ef7d8252042e1c0f894373187b9fcc978c016e551225e4046689b7d755e06d28c1c5920cfc954b800ad6530d720669";
-  sha512.doc = "c63a383818c6e42e1137096cd69af387f1ef9e189b8c76be2b22a39e5b079c952a0efedad30c30ab191e6e4201be580d0c71655d631765a1e62e4dd371298d9a";
+  sha512.run = "86d70c96c3fd13095d664a9f719613dfcc6295803f9058341fd915d6cac240ca11d64e939395dcfc0ff84eff1bcdc2425971ee0c90f7fc45cc86be737e30b772";
+  sha512.doc = "9567c16b972e2bae6f02356203cf68cf4390434e3da4f8a1cdfe8b902483fa33289c761bb00de345ff038e98054fef5994a980daaf0bb75aabf62be2bc1bdf75";
 };
 "texliveonfly" = {
-  sha512.run = "f6fed46b75f50ef4dd37a1cc586d3ecabce9cc51c82a5e3389215aaa54af7f03d86f749ab2f069eb86ad848785e645664df6a6e6f10ae964ac0cd7596c94732f";
-  sha512.doc = "04697cccced8dbda7e2c41ce0f735d5d68698fd854174c98f331deb4f55bc6371b39d818aff3e57fa89bacbaf090169d23791596f8c92ecbabdc6463d0f8f89a";
+  sha512.run = "e02a1214775f209c0698e62fb7f0ae91c9ad14024c076dd6a5ca73fad4c92ebbf9bbb0f281869cb0c073538c66edae2af23245f1bd0e1f939c80841269625af6";
+  sha512.doc = "f89f82a59f726b226101275b1aeaec00b99ea1302ee5ff8c021e4696b4abad39d1a95b544a4bc45483440591e1266cfba4d5c3c3bbc769f193671a46aa7458b2";
   hasRunfiles = true;
 };
 "texloganalyser" = {
-  sha512.run = "2bce24fc94e41f9db5ecbd640a0159ddc1d4db9900b2054afb89c5a008b02069af4d0c0ddee73282322ddd15bc092fb56e008e81859274f9a406e95c1963bbf7";
-  sha512.doc = "4e81dd980482b69bec05025293cbe05326f621cf319e3734f16a22ff74049a336b4a366f58dc0713c521473a011b468a28ac5b585d1d31b1d6370ce55ea71c97";
+  sha512.run = "cbc18031b9b9ecfb6088b82b99eb72ad70fce92e4b103230a06ffeda0a50871715405a0aad18a7495ba1b80f16913cbadc4b8d1a7d2ebaa77d5cbd00e1682c93";
+  sha512.doc = "1cccf82314d9afc841044aabbb5f06933f6bbdfcdb46c22909ce18c2736d40c532944405232633f61893f0f56de24233d520edd64d4cc89baeca5c01ffd0f9ea";
   hasRunfiles = true;
   version = "0.9";
 };
 "texlogos" = {
   stripPrefix = 0;
-  sha512.run = "a62c4d988b6038bf0ecb2571e93304ad6c5b963da6b588d2f0354a9bb4140757a1f1e01a976befa8ec02a0aa3e2c0445fc504483992e7b9bd549c584941f8679";
+  sha512.run = "d3b5f5ea0dd90e925bffc1ac0f790848d1c2abe50003e2591c8efb219b4a205d48e4420d2000b3de15b1ff9d4d0bd9e083ba1694d4ee34febd68f8db0df16ea2";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "texmate" = {
   stripPrefix = 0;
-  sha512.run = "79d3ddf850f906fc36db4701a3faf0ea8d9605581c98d23b60356598642142f5c9b036ae8f9792d1cdfcc7dafc618022b90a82f912fedd3093ac14c9551acfa0";
-  sha512.doc = "7af4892eb28a2d874d032155169ab088cacfe8186dbabba5a8baf7a1ebde08135111f9aeb89fa50e64d6ff5e00dd43631529ebd80f3e883d20e48bab613a63eb";
-  sha512.source = "1a57c6634b621b12a8d957ae4bbf636fd23fec03bc1158c10c097ff8a417e9d6c3efa2a53a7901f063d464f9064360af6d310cffc9d4c75921aa37f35ce946d7";
+  sha512.run = "52c35f096426385f229b7ddb66c8ec2a20539bbad6296f2bdd230c2da79edf5668fdde0fc7ebac7099a414b622b31309fa7f610564c8212602f71dca7193c597";
+  sha512.doc = "dc1ca347bfb0ba8c54403e643b4052604f98b39ced23d092808cb221e930384f49d1c34794a933b0a05c7691ef04158688653ce69eb8a4b72e9172b4254954ee";
+  sha512.source = "b75362c3b748021934052ef38b9f95ad7047804d5100b2a00bd8f9e396103d2d641f1fc5a3c636cb42ed66fa88488f6c69d3b188e3a55f715df2d19c05331889";
   hasRunfiles = true;
   version = "2";
 };
 "texments" = {
   stripPrefix = 0;
-  sha512.run = "dd1084b0af3393ddd14b21dbb62b7fdf7a99b88d84dc44eeb994dae525a34c453411d4cb8d04c2e6f418116573bc468c7e62d44c5673f91be11bf46cb30fb7e9";
-  sha512.doc = "83f3665182fc628e74a2184b01c4d8c8b99bae05aee9f6f8771d0cdb7bbd02743b0ad4aaf7384e46b8a2d2c420b4731dedf56692ad711687047cb8e9403ca7c5";
-  sha512.source = "020210a06e09f93dd45aed1abcd7cc3925e757c0c7e1dfaacd0435c02a7ba6adcd5c53830f51d1d99bb1f098063c88e607dd773d5f4bdf154e86c9ccf6d65f35";
+  sha512.run = "6b0bc365ff7ba6a8118a4e83350e73d5c4dc40e6c30a0ed3267f0f20178a08264866bd016aa3a9da72d4f27a20bf7e8f658417561468294745b78911ff46fd4a";
+  sha512.doc = "67b7843546704e9b48f6ffe75a33ab68a5d8ededf3cd45ca329c6ca5ffcc783f4ecb9a663fc4eb94fb554e3c43e753512f82dc8f2f7924c1bf4bb8942aabf749";
+  sha512.source = "92d2216144fcbcc96907fd09ece64428684476ab8e9f3a0c60e898f9f4cf7e0627fb145adbd8186d56a6d5a21563c41d62871e860ad51d9b74e5a0f6441a44de";
   hasRunfiles = true;
   version = "0.2.0";
 };
+"texonly" = {
+  stripPrefix = 0;
+  sha512.run = "a51d7288abaa3bd03e8f3816eaf2d7f8931340e95e3897ea4a63ae3d251277a78e71ae66b617da6cc81a8100c9ffe64a1c9142369c67d58daf200ab2ed7c9682";
+  sha512.doc = "5f03987ce079f21801f08a7e325a36c6f1065f5cc32ff2dbec7989bdd3a6b3c54ade8f96a71e19553972d3c36454a08b007adf3287a7be7972a8b3ce6961778a";
+  version = "2";
+};
 "texosquery" = {
-  sha512.run = "ebf04d38a7bc12eb867eae8b224ace7a59091982c7b396cb651fb4a4cfd563556c6542be7bc25d3512c3017b4a609091d7a09c5a10772e92322bf6ee2772c040";
-  sha512.doc = "f4e3a5ead3fddd68884ab6aec9772e19162ee99edad92cef14e3830eeb595ee19eb98f72744adb2fa5abd7df8ac1a90d3973d287185a17683405a03c619716b3";
-  sha512.source = "01abf4fecad864b11a948b87733b73083b543a3d9a316cfa2a3ae246b3093023e51679e5cabf23c2cbe2f41083c06f1a44e32af4b56a997548fd19d58a38992e";
+  sha512.run = "bfe5cbc793a81a9ce3c98ddc94fd217c3b235614394d2f329db4f98ae29ded1757bba5d98997118a2c78cfdf6d774146a7ac6a716b2bce91c876b0387e1aeba2";
+  sha512.doc = "2b7cf8dad61829b96a2f17f1063baabd21087ea2526c8d8a6408b4c2e63c8f44be3f318be6d1e198661efe683afbff7055c678e7229a13d3b01e200565caea9d";
+  sha512.source = "c834540e5448887bb0d80dac77770c7f89b8017743bbe4691e46aa5c95c3f59f2bdfde93e0dd72aa8dd94295b1dbcfdd374a8892d4c622c41df7c4a37a68a701";
   hasRunfiles = true;
   version = "1.6";
 };
 "texpower" = {
   stripPrefix = 0;
   deps."tpslifonts" = tl."tpslifonts";
-  sha512.run = "4bea2fcdf79eff9642f7831cafdb66be35a26545f168d62b8e30177cbd347b7227a8aaf3102c30bfc39aa8a1659cf425fbc15a44e98e03eb60d15c8dba01cc60";
-  sha512.doc = "e5ba632d530a279132508fa8a2b9fa3d2a24e745bfa0a7746d9bdfede5eababe445873e99075c56be516d26eb3dacd924be8f937e4d08ac1ad68fe05da61ac95";
-  sha512.source = "839f24656f40d6ca64a4c62b36f6790150c2f4c50c60e001e63be9d836b944a1731c7c63fc1234abc37cb8de66237051e5f194a360edc7c3cd0c7efdccae535f";
+  sha512.run = "7e2efadabaf173fd30c592cbcd2338563b8690048ccaffd86efb079a04b7b95c8ab113b99205cbb2912eae3a709a110d7b152270422cf2cbfd2ab85d42f12d69";
+  sha512.doc = "e61965b5e31b487daba383a4e6ebc0dba85475f8cade2faae6adb8576ec7ec544b518a6e0e105aa185ff82fd6aba7a9ea4abda2a9446d52f5b3acdb42580e315";
+  sha512.source = "3add8eeda886ce6422d3b7ea53a55dc69bb2f5c2e64cdede105a7b4756b008807bef6245ddc2596b45809311874e566263c51e98ec6751b4db9d3c5c5f58efd3";
   hasRunfiles = true;
   version = "0.2";
 };
 "texproposal" = {
   stripPrefix = 0;
-  sha512.run = "6a301a43f1aa418d73d12b81e094fcf68ca2c04c8d60beddfb6e2f9a97950f5dfffafe4f050887b20cdbffe42ef91d291fffacc00e003de3b96a6bde2f82d727";
-  sha512.doc = "01b71d1beeb2395e219121a50f11024ea32fdd15dd9ac3ec050c33ddccb7224d2daa6634243c664d4483f9abc3d1330115290f7c315c32f9ef6c2fa41060e3b4";
+  sha512.run = "19265b32271b8603d8baf8b16f043c3228606230c1151a33e243e493b6306faa839860f2b07ec9d5d43c57f49e984134e760342bc6302186924e5c95cc1f3380";
+  sha512.doc = "70c04643ced459099ae095c88c0316e96c75e99bba0877198c7800d3b5cc9ac872f74b36adfb03dde968150abb3cb99131fb52ecaff56dfbf1aa85379718a74f";
   version = "1.4";
 };
 "texshade" = {
   stripPrefix = 0;
-  sha512.run = "5ed597c10da75fc0bb690da213e9cec7d927c13171b0667c845e022fed4925ddc2a98f581e5bdcd1c520e6800e978f99063f456d891509f68f601b095fa44db1";
-  sha512.doc = "7c2def29a5122e4cba42ca92f10c75e43fa84ad8712991a4217f5146d8eba4c066c7aa80ea3b6ec7f4e82f50cb43d3b91f56fcde786d9425687bcfe7e62f51f8";
-  sha512.source = "8bfcc1f7c7f41d6079c528f5531eaaf3c5e9225c911b1f9cbcba1d9038b73aaf5e43ca3e1c7e376bf153bea3435b82dadd204c15d0e7df4470b9d883fba15690";
+  sha512.run = "785bba8f83063d37f2473759eb1ada73b31098ba757ce65ca1b7ac811581a64c706f2916eaa1237f6c6ee39dfa3514616d5b8789b9b8e2418c02ddd88e77e428";
+  sha512.doc = "e08cefab84354056854fa00b15efe8ba99e2e8f4ae6721afd03ecee5fad7b227674ca456de11b0607b1b34a2378ce41e11c517b0b0a544c12278bc3b9f0c4de4";
+  sha512.source = "3ade54e59a3342a60ae75a3b4b1068d646bab1d9dc58b29cfb3ea55471038061af7a2581b5a125b14d767ca659a336ac09dd2ec8360c3e54889a69529d62335e";
   hasRunfiles = true;
   version = "1.25";
 };
@@ -26077,1060 +26759,1117 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "1faf7ba5456cdd835c691f43cc1c0865ce29997ab0c7a1623fcaebb2f48379395de26f140fbeb0b3aa6df4290cabf7bb5146768e56b813ab1223fdc088295341";
-  sha512.doc = "b402ea628dc62c57f06a0e611b048498dccca8c011b1493847241671ac838c9c2a67a860ede1d5b104b49d2b4de04264bcb896b0b0ac086bb4d35d3d2798cb4f";
+  sha512.run = "7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e";
+  sha512.doc = "2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90";
   hasRunfiles = true;
   version = "2.18";
 };
 "textcase" = {
   stripPrefix = 0;
-  sha512.run = "5ec9ec35ea83926236be5ab9862ec7491a4a1580292a8ae5139433d6e376a1adf8587e88f50fd9aa480fb3fd3421c96794682434862e819183aa7af4b7115815";
-  sha512.doc = "259f131d6b62031cbed1ade3a8cda72a269870d69aa537af7845db8b3ab50f8889d7fcddce8bb0724e20822d6af9a3434e10d7e95b931992cf122da968cfd30e";
-  sha512.source = "5e97220cf3cd999ed4fa80f0b910679c2bdbbb6896ef71968857131b055d64b9b1a789e0f5fed9d689d5694203859456d211920d0c2e9407e74309783b65f155";
+  sha512.run = "9cb8145b46343c34c4ac7c7ec64dc6d69f08e329cfae2c1ac41902a74e92cee715b5b171bbf26b92efc0a8a4500d11d317d8c927ffee623450b39e4ee6555483";
+  sha512.doc = "737c03d99e03a188c80aa8478abb64f05e6a3241185d03746682bf3c5e2e48ed8181e46d1b10c9170b98882bafcfe61e37a0409d42d2506125e9515bc44f0e2c";
+  sha512.source = "2f68a69bb41a0af207522cf554fdbc8858a675b8f9c97e72836bf62d69640aa55aafdc70b8f014ee3bfd526f155695722d4191b70b570b309bc789622b19b53a";
   hasRunfiles = true;
+  version = "1.00";
 };
 "textfit" = {
   stripPrefix = 0;
-  sha512.run = "3cd63466f501ac558fd99afb57d6288c1e1da39a4b5b774111f6b2ff9388db8acb2937fa397d69c674a17ae798a8ddd1310ad79a83dbece81e158be642306625";
-  sha512.doc = "53736d3a5423c29696e60a672e3dbe413aaacc5454e59d04f51608dee17a9788e7efcac1980008be2d4ad0b4611ccacae797de2b83d7592eb31c9b9ea45bcf8e";
-  sha512.source = "95689bdc578151afac702575a4a094fde4df8bbb95181a8e511e3dc537ed227b56c59016f52d1f7d1a6fc652bb33285e5ec7091e3be1d4028831538b25c54564";
+  sha512.run = "96638c0bd5cb14b629f03e4b6a3266160c75bcf05d871ce3d4262ac1c070d9efc0532411f5d8774f97362b148ef6cd1c5dd5253e72e3aebb542fdf14aa6d78fb";
+  sha512.doc = "b88df8c99662a182483fc6d12d33d0bac5f6a32c84be700146d048b799045800cbb69b21599e5debac122995800b0e48fd82395c498a58df503395fcedc92228";
+  sha512.source = "cde6e37b48b1aa49811fd5ec29cf094c7b49d690fb4d884edc358bd3a8a5bf58a815e539eb5e56a95616f54b0737dde09e312c0d2baf37498ead691d4fe1dd72";
   hasRunfiles = true;
   version = "5";
 };
 "textglos" = {
   stripPrefix = 0;
-  sha512.run = "ffc6e2543773e9b9945d3fecb11712253fd86b8215e3776ce1dd164839c82bc06d8e81f1b0d0f6864b702b8fa85e98630410c45d3f057d303ef4a913c012c586";
-  sha512.doc = "c6150d76f0740f519cf53614a8597cb25c79d7bd6ef2e43245f86e15d98cf7bc2383942e0345c7fc8ecd387f9644e5afd10c0af81c4b1f19448b9a22a23e1a7c";
-  sha512.source = "15abccad544236343a1278bc7f0f043a2ddd61ba7af19cee241eab1082e3f52b67aaaf6eae67f86cc0f497e2fd3c21d383902303a8bb8c109c246d0575f1a463";
+  sha512.run = "1652260a3e946a8847ceb7f937893bad27a24737d9b3573466f7369ce9cdbf900af0ef6c7f0bf3033200664da736e8232c3fbf6db61bb7d51acec1010d13a3e0";
+  sha512.doc = "922ce1569fce889bc4608e9a5da4a45b7c3d2e80303ac36167efe6767c266844664de00384447e288da70383fe91261e5914394a6fdf8644349f785600271e5e";
+  sha512.source = "0dc80a20fcb8926b9bf586808bff2403452e43471983d0bf49bebd310d2bf78cb1e61cd4674f7bfcf86d94ee083d2c8e0099554858549dc5c6703d0f4ca57dbb";
   hasRunfiles = true;
   version = "1.0";
 };
 "textgreek" = {
   stripPrefix = 0;
   deps."greek-fontenc" = tl."greek-fontenc";
-  sha512.run = "eb664894acb657e3b5fd058469fe4f6f9e733667ce80507bd80e72caa70f10dbf28f434e51047319eb50ebb031ef9eed836075cabe42b20db5c4676e676b804f";
-  sha512.doc = "2b7975bdc071bdab4329005816dea5c92a297c0fc0f3d3693b8ec33f527299209c5e858e723b20d34b538cd17f5772ab03b9869babff669769433637c43c44d7";
-  sha512.source = "4afd3a08ddc1cae4e9506ff9733e8012eaea995f6321d5cd85f1631dcd9592bc6f1727ad9696e5ca760f6e62317854febbb7d82b9fedfaab7feeefd8fa91df04";
+  sha512.run = "2370f666c2cef43a579e32a755675431717ccfb4bad6f30261a6c67e0617816ffc272c25e0d076d91c4047c41926c92ae375507f36f2fab01673bd7e708f5188";
+  sha512.doc = "9107ca31b645977d56a3b1e37f7b12f0302b1b2531bd2a21883f7931831e70c4383beae77469aab4663253da3109cdd9c53589cbab95f7f0126389d12509127f";
+  sha512.source = "367b63cd318c1e69944444f4cab82af7a7b1dde667d6469ade4c6433960b21a6f8922280d5a46e96fc88ddf4c2d5d3f3a440b55045a67512459208ae181bda96";
   hasRunfiles = true;
   version = "0.7";
 };
 "textmerg" = {
   stripPrefix = 0;
-  sha512.run = "4ddd8874a19695480cbcfa99317de08bb7fdbea60d45afd2a47df97fa565f9e5cfbe186f8b24c0ebd6e22c01310ec259d9422ec09bd74f7364c6d31bab056b0f";
-  sha512.doc = "32409007cf543cbfe3a2196989f84e00e04192e0fe5f2a3945789f0845a626f766b81d5c5ebb13845bc791f40308e552daa1477f964c2a6adda29204e9b8ab9b";
-  sha512.source = "6b0ac3859f10f2396fa217dcdb9635e63f459b12ea4b0b77ab3b8cfdcc426cf2b65e9286a2313ea7bf42b5385c10fc5d430ecdef8d7361f7753ee3d48a8cd345";
+  sha512.run = "5ef9048849bd2515c1af0ff41d0b5189715b375464c15d4708e0152d99f01839c462a0c9d0a9a12f401375d38e2c53a0f0c314e6905e1bfb3171296448bab649";
+  sha512.doc = "05a087347db5dce688065f56c106d022f3ac30d27ee5d2f420e7658c5b81df66549cda86193f3ce4fb2cbeaad37abe7eb32b984d00d4f25dd0ad51433f8d7a01";
+  sha512.source = "bec01fd7721b5fcc61ac934ebffc3936492817662f4445f082601fe4b7aad576448d33b7ec16ce400c8185704e60238c56bb9e8e31c3b445503673145c0cfadd";
   hasRunfiles = true;
   version = "2.01";
 };
 "textopo" = {
   stripPrefix = 0;
-  sha512.run = "47115de58ce7b2653373255843f88a6f8d347ff56d8d9bf24495e68ffb80527edda29458d22ba71929ddbfae7e42b2d2f31015f045f937e0ee2c71d7fb0867c6";
-  sha512.doc = "04b33ee10a76b72709df57496e45f783647d608eafdd5b99e0c2ac7094bf1ee50c800be5d50fe5cb55b7c1c0d066b213e8acf2753ec54606d189fc88e2cc76b1";
-  sha512.source = "9c87b66a122812d93e5d290d7b9d028d3f1c72d287b3c3761f2903739f0e06d6866a96933b3fdeb4c739cab2a62970f3fb3c53c5e15112f1563845a56e0c3028";
+  sha512.run = "89a415b1040ff44f62c452e61abf9a5760929953ff0a4740080f79e8343b2b4f4eef9340e5a83fded39a000947dbe7f2916fb18624c4512c5ab58171708de268";
+  sha512.doc = "80bd54a9843fae371884b87710094f72926d5ad8a7e40308e9aa753b01533d3e649ff94831ea75aed264b5f9f5df482e157a1563dc85ab2976cbf9260425c5ce";
+  sha512.source = "d426490fee0b747726dfd7df1f6f72677c9aee3d8ba56ec04dd55037aef563297d16d08a821c2e9a1493c5c29ad6b52c5af23b6bb1f4adec754bf530beb81571";
   hasRunfiles = true;
   version = "1.5";
 };
 "textpath" = {
   stripPrefix = 0;
-  sha512.run = "350f2d2fdfc7d95b4ae68023f0d7d000ec837a25e47fd174834e4b20547240bcdf7f5b3b53d09a5630256f621a34ea8d70c8d5c41b3f0bce8bf6df7a91ed0b58";
-  sha512.doc = "4dcf46d11efcbc85c4384714ae5d98ac9a8237844c3abec8028c9896d7507fb5b6f2b1e962201f36dc9c7c0e75f52000555db5c5a7c66585ca1c658d05007daa";
+  sha512.run = "7780972480a1355a05cbcca3c46f3e5284b120a93ed2265f0fcceb6965f55ed793756cf96df63aa8da589dd12fe1b8127bd470077b9f9dda758238ced566b3e6";
+  sha512.doc = "5507082be0235ec2253ddc0b03e239607b9d140952799684e5193e4d3d584846d33a59aa9b1630d058f17cacf7cedd2fe0a180b40207ea8f10947b534784fc02";
   hasRunfiles = true;
   version = "1.6";
 };
 "textpos" = {
   stripPrefix = 0;
-  sha512.run = "7dca90546726fd4d6b035b904dac12ee6c61cdb8cc49e0780ed817d20ee4e8f097f46124efea43b89449f0f4a2c738c17b4e52ee9216b27a71a198975851f94c";
-  sha512.doc = "37227ba44c32949ec75a2b85df5b73f5419c3d24123c83293f78abb566e077618ed9e9d8eeb137bb9b164aadcc5bd9001928f0455e41e07ccd0419ab9931e3a7";
-  sha512.source = "34a8a1d6058ba3578ad83f06ee8508df64a3fbd6c4827f52871a11e46b83bded6660150fbed71fc554f1f81dd7d1197dcb4f0f966e63ab46ce9e25c47700110c";
+  sha512.run = "430c373d2c228615ecc9c46c10a99ce5394ff0497e9a375eec3c4e409452e006979501f7d18c5f603055c9ddb57b7c0687cf0a9273761d23aec75ed64c032200";
+  sha512.doc = "5fdd14982f8b783f6b42197fb483eebb62f40c7e6f80648cfe7b7a356ae3fd243b4133a050cd84d2c8893460c15e717a21a70a5e1e0e31d52275f4a206956eb9";
+  sha512.source = "c4afcb5134b7618a9397f40e6e633d126f2803e15783b9ce6a26c82fb21d0ad226d65fa9e90e60ca5a1ccbaaa3a436712ee15d8fd13a6acc5cae7af8150da6cc";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9.1";
 };
 "textualicomma" = {
   stripPrefix = 0;
-  sha512.run = "10ba2294c9121a73dd8f62a211db3b96493c7f789ae82c763f8637b0a23d971b3a62725bab868dbf2df68cd619af128213b6688972e8845cc6356b0a786bff88";
-  sha512.doc = "e13e1a6f6079f3751670681d9c352cc97097c5634ff47f7ed11706118371bee2d65a5ce91af2d4f6a6f77765555f28413df3ddfda5293ffcbb60c8063fd9ba11";
-  sha512.source = "105883f7e1e676434e73b191a96f21135db761a6358195aaa669f2de0318d21dca7190e35b2184177d02b8328e21a5b478752a4a0b3a56df4b2433217e33db6f";
+  sha512.run = "044ef3451267bcb74d3e4162d19915b1b7f2fac337af6faae7d3dcd630bc9be8484fa155a3579ad5245ce1f07578d8faada2e6a67830edb09b332714a95f2e9e";
+  sha512.doc = "6e6c380eb0169878a34d3d40fea47bc57885c7ea378ffd2d2a7e9bf26826dd922f67a02e74d6c78801cecb87b18de3ab52b7600623de39c53954ed568c57eadf";
+  sha512.source = "69f6594a039c9b367e48430927298768f816ba31a7bcc41036111963c5e9059dfbde6b771ab7dcbfddb6e40dc49b2daa1d1ae04625a31ae44b8ba340c42d3f58";
   hasRunfiles = true;
   version = "1.1";
 };
 "texvc" = {
   stripPrefix = 0;
-  sha512.run = "1fb18df5dbbbf0c25cba9f97787becaba920914fcbb310016526ba9ab43fce418e6c0285d427fd63d1d119ad13ac82378e7fffc0e9c1fd6136017812c89f1b18";
-  sha512.doc = "232d199a9d929094ec8d1b165955cbd03b3ec5c0040cf0fc36635df6c2b5b8a37b4ece399e4d1b2f0f8fe9252eb8ec6b10986aee32c382321f2400a57b29abdc";
-  sha512.source = "290ffd35f50dcc61042d0b3d6617d8f6078f47fe5fda395505660307127bd87174a71f730adcc3f7d13b1fda9f09d8574a3bfa4bd5b07d8c99e4fdca88146144";
+  sha512.run = "cc149d490180e58e9796ae0bc962e51794400384671eee53c932acef88512a129dc3d87ea4378247813acbd3ead010014ab71bd1717b6edb0bef4b7856be8aeb";
+  sha512.doc = "e8639a2ffdd2d40b27545c3f4265e473bfbd81a028632a082199fb0dba7ea0b0468bdae488a9eeea63578bdd610f7e16d4f4da846f9316dabf5645af95fc8cab";
+  sha512.source = "4bbcf12af602c328084e76e339d9ca33c205f08faf489be3008fa5fe0b424631e940baee1da9144fafac42e09fd2d27a7726c16e159cfe24c70d32ae1014d198";
   hasRunfiles = true;
   version = "1.1";
 };
 "texware" = {
-  sha512.run = "aecff277f4341122dffaad2b6e6389434fa0db4c686fc89a398a506e495076b355cd0554b92d78ec257b4a5feab103369cf9b399873b98b724188804d3a878c7";
-  sha512.doc = "05a67ac4f25b162da981b92b2d2dafdfc96ad39303b4e84912f49c2bb11e3c3cbb724da6592b37d2288e6e7f02e19797b467596bdcff846f424358e7002735ed";
+  sha512.run = "cc66e87d459fb04070b0c43c16f3412ea22e3cf8a2748efb8a87fb0417bf0b9caa32a38147a9dd068d7ad0d25e320dc78ac54d9004cf5adef337ed0a90e52923";
+  sha512.doc = "a8ef6e6a062140ca6ab3311b7e57f452bbbb0eddebe36d02cd8122141320814508438d764a97d351febf9f65a5539b03774f611e9bfdcb5abdc5fa989fc5a848";
 };
 "texworks" = {
-  sha512.run = "18a589e7ff9987f222ede07e4c3d747fea0cbcd509fdcf8696fdafa271d869f13a4ea90fcda20e068cad9d010fa8a8dea5dc8cfb69c55d8cd33eb08fcf5bf9a9";
-  sha512.doc = "df97738ae0cea3c9b25c7ed4379808d0752ef46bbd9eab5d32ccfbd0961d2daf67928dde2e5df5796b2f8cd1556fd701408f0776fc59964ee0bdce81e3f6e594";
+  sha512.run = "06184922ee1dfb3fd6029d10d3bffa984aa7e1970d7439075678490f604d3d357e2b5b8d3cee4c941b5f43308006c53a816d015a61f0e9fa81a24d21593ff43b";
+  sha512.doc = "35bb50b86efa5f8842778f47b9f2c6863f6475f396e72d0cd34e6d6fcc4c2f103622904ebb27baa59f9ada014197e47bfb6537a391705c894ed669a7a92271f1";
 };
 "tfrupee" = {
   stripPrefix = 0;
-  sha512.run = "f6fd843816df2b0820e39e5cc01fa4f09e12d353aeadb477eba7fe82e15801544e1aa3625372ead78ae45a3d5d0747e822b703c0e815c0d5a8b9d1ab37f3794a";
-  sha512.doc = "1862a0b0962c9fdd3eb0293d3ff3cba0823403a074864e8a06e60b8cfe23379a24fc780af336941732e3a6856a5cbf7469ae12921a5d31b5ff07b2cd1060407b";
-  sha512.source = "3cf23d79378ae86742fab85b3db70d3d0c2393dce033f70a6b7dfb04d66c47e91ebb87ccf8eb5cba6cd36338ba2a379396957586aebffadb673676fc38dc20ab";
+  sha512.run = "ee935ea5c6563fd8da4f403a1c3583b289b64e212aed4b9e3703ec345dc47c5521d291e1ae0a10c9aec2ebfed407fbf14e804bf51ae4c4a1e03046fc7cd0ad5c";
+  sha512.doc = "19da18d665a8369e58a26d4e979d5fd6c8b3187dfba97a281008627aeb8c5ee824dc2ad3f5c94c3b35c67fe28a646f44aa5f532912de5f5640b0a7d56afec2f8";
+  sha512.source = "30133dbf65f1a33f79ad8b2c8ee84ff376b39d12cf0d48c4e72e86b393e0d55f5768c7af5f5f3f6ff1d78fe2c7d4f2b09d2980107dd5aa1d94fb5ea27545ee9d";
   hasRunfiles = true;
   version = "1.02";
 };
 "thaienum" = {
   stripPrefix = 0;
-  sha512.run = "481e1af7bd2c0562fd5ddde7e07ed7cc2d9ed9461fea82b07ff23c8a3c47a1467bf1bbc1055dbbb9df947058c81665c83f1134c7e31c4ac969f44fe61836283c";
-  sha512.doc = "08ebf7db58932b45ca0c6e08ea15d7e137b198b2fc73487b246a356a152a233706eda2bf30de2e259b4913a415d77fa18b814b661c20d63bb6de086d014b8f1a";
+  sha512.run = "25f6bd1e6e9586b261721b66b6b193c07f60dc074f7b7b1911b0a8ba4f33815c86945bcb3946ffe153f70f0dbaeec4dca8e5574f8369c754a6151fc271029f3b";
+  sha512.doc = "246dbb624a2e2e30bd5468c2596e7b3f7183c7dd9d03eda42fbed88fe51f16b53801ed39f85590d2739a93d48bc413fce5c52685d5425615f650b19f56013261";
   hasRunfiles = true;
   version = "0.2";
 };
 "thaispec" = {
   stripPrefix = 0;
-  sha512.run = "34fcd008ac15de5618212fe7164625230f4e83d446bda96a3dd527d2c98b3d99e6c40a8f9be52701b915c8ed2dfc91ced98db44c757e1edc1adafb398082ad3c";
-  sha512.doc = "ca3956f697758c424901e1353cd77164917c9937b68efce27710307ee14b1101e365d76f5fa9e5aaaa92c4bed0674a6e04a3cd98491347c3003d18bb9463b6aa";
-  sha512.source = "bbd1e78b91ef861c086e7d94d2cc75e2a44c9dd5ad6e4ad093a74e86cb6956405963a11b6861385e8959738c99672b4231493280a13e27f1dc4181ec9c59827d";
+  sha512.run = "16a7b186e026474f659ceade9d18f339fd597857897354c40208efaaa5caeb29be4c4c8b68aed2edc8ca8b4b6ef5e66ab511ebc943928b6ea51fe796e9956df0";
+  sha512.doc = "e3bedf4c192c9505fe8569195e3be10643d236d826eac14878e46b62133a09029ad5625f988e6b22009cfdc3a26550f155b8d09eb8476e84ca561bb6f470bfeb";
+  sha512.source = "5e5e404acaf32626a7d06342326733145d331a1259c25e956bfb469be6e4f528184247d32726c378fa11908e0f69e006e2251d20879b86b714f0c24a54f53617";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "thalie" = {
   stripPrefix = 0;
-  sha512.run = "67c40e53841602b52b10984594b26d915a30ad0b91f9c4d764b5fbe280b29f3a9ce75ed6f939d54a155e0e4152046b51dc5fe2d4946b236e7a130eb2ae34c7a0";
-  sha512.doc = "16ca6831450eb7550d035ef96235291afe6de49310a04860adb745cb8c0f8d7c99105d9d29dd473e4a0615ca713337339c0d03fe12eba1218d2895f0535eb11e";
-  sha512.source = "b932126a772d6b271824574773017e91fddbdcd4da3aed4269d2d5f969222d1eeb60a865ae91305b311dc508a8a5d470ea7f65b15447db0eae121a1d1e13220f";
+  sha512.run = "193f59cc9fcad15ca4fd52e011152a08066329ed496ad55d4245f232a701692b8c3a33f24d457358d696ec540041beb90ef37696a77b1685f22f15031665585f";
+  sha512.doc = "104972514a171a25557b5a0ba6501be9556f77eb7fdedc60843797ba7fc53873b75cbf4e470dfb76866e6042f77c5c39ae86367a119f64b34a18183eb0ef1be8";
+  sha512.source = "31b0a6d7452e3b5b8affa9e4e89146c90b7e9f2af60eb7f741d4bc5722147c0ca2a902fb61b23d9a47c3bc32e2e5b38a170f3a194049cd8a1009a7d4cc199995";
+  hasRunfiles = true;
+  version = "0.10b";
+};
+"theanodidot" = {
+  stripPrefix = 0;
+  sha512.run = "f89e4fc9a726b87568eb5771e0f3a4c29f23198eece256fffd85aa3f7d8f359fc9446e24cb5945b3297d373a84ec11e6b0322e378fa6bb979bdf980e91e5ce82";
+  sha512.doc = "82ced7608403dadc3d5be699acec21bdd7b9fd44c68db769f6060beb26b7a448bde9ec43060e95ee6699735c4c347ade0b2a1267f944c2b168363172c3c0b979";
+  hasRunfiles = true;
+};
+"theanomodern" = {
+  stripPrefix = 0;
+  sha512.run = "cee56b45fe0b06c36fc4a11dda204117d20a5ade50b5d706aec08c4bc66ac9d801cb3c885b8f18b54db7a0152c3924cb844a0101c71a11c81d6ccd32d18518da";
+  sha512.doc = "d7c6258b4e025111f8c8e29332b8325128fcbe095d9e8e3975227c86e171cd12a73319cfd341030f06f901d005815bba3c7643063a257dea006a159ccace5355";
+  hasRunfiles = true;
+};
+"theanooldstyle" = {
+  stripPrefix = 0;
+  sha512.run = "41763eb636491cbd5d7f712b91d3ab6189a87d6fca61efb0b552f5c57eaf25a830763ef83d9b093b2eb5a31f45f91ecb8eef870a7aec0e0084dd685a55088498";
+  sha512.doc = "3e9dfe575f249cacc577763f7b7aa2bc128659bdd19b0ab97b7c9a43a6b5938d7067e657c9a469d4b163faa75f1373a21f5e0825e345d342af037713d595713b";
   hasRunfiles = true;
-  version = "0.10a";
 };
 "theatre" = {
   stripPrefix = 0;
-  sha512.run = "045a349ddfc96298bf3bd6992cf3fe7f90d8b4c2891feb7cc2d129e99aff3c4c74c7502239e64c31b1d6171622af53ff20698b8e2f7ac90bfe2778237b638d76";
-  sha512.doc = "f47cac1051546b9e64a8009f8bf17ddec6ed572314e08cc3a79de46ce1d941b4917b0e51ba9a2507c8679a00c6b8627a4f224c7ad6b60fafbf24349fe68f393f";
+  sha512.run = "d450ef176d5543581316ff36590eba2ed829a3f2b8a019fa8ca379af0ae2aa4df4e4e3068b52ed91edec4df33d08aa78b1f5f21d0fdf33d0aa718704e3de2851";
+  sha512.doc = "cb4920d5acfe0e1288c7d459d15b06b9ced1130b56ea92c9ed49376743cee7e3fbb694362bac51f2660269992d64717effc5d8e9f52a21337fe7eed51a4622f6";
   version = "0.1";
 };
 "theoremref" = {
   stripPrefix = 0;
-  sha512.run = "8e9c76c0ad9b7905c16d68bf2299b57c665d5f44c8e42437b06dcfceedbb49702b5dda06af6cdaa70efb3aa10003fb60a5d5690891204d04b82989ef7e3345c1";
-  sha512.doc = "0498164f333ae9f3bcfdbd53bfde87989cf0a4dfa138c5d14135771112db49a7e103d6503dc7fe713f322f6afacb06a566c0f9bb6c7824783d4486754825b1a6";
+  sha512.run = "ec3f8bea432fc0a72d008884e8879bf22db5c2be3694d298828a493e1b4cde2dd591f35887e4aba646f44db47a75f87a08ec7e269cec77be66cb45798137c85a";
+  sha512.doc = "ec478b840b200dd0e731545f039c8ac01d9f088b7644350cc3366aece722b924187ca0701ad15be3a428131bc3025d1af9bb0440e8a487e0272c8d7997924200";
   hasRunfiles = true;
 };
 "thesis-ekf" = {
   stripPrefix = 0;
-  sha512.run = "9abd7913d609c14a512af56fd461620bf46ebc5569438a0fa03ec45cf8e1cb3b0b4b7c3db3d2aef950d1482f38b7ffcd18cf40e9959475e7b9093cdc78a1f6a2";
-  sha512.doc = "0871bc16cedaf61b54609f002a956b474ed35a895d396c9df8d2f9359d71fd6942f99e86848c228b059d5849743df1c51291f7f483fb516c3819306d2849ff9a";
-  sha512.source = "accab347b5add0f7659d9558144bdfe77277861045f62d64040c89b071106770cd44c07004f0ba08c2fdb4a0f10cc9d06f66e4b45ed43b7deafeb7a8bd4d59de";
+  sha512.run = "ee4e7a6e73e113334cd6ef392e2530803ace4873eb3c477df1b9de898dffcfbc73a20e466f9137ffb295b247df5ae2c5ab147ae274ef81224a2d1e6d4ec873f1";
+  sha512.doc = "36bbf561af8e75cc4c890b0856a1272be7f24fb24943706d94a3b4b4aceefd5b21f0857665ce800649e425c7e446f89952bb6b3d3b7a25b2dbc6810160d25dc6";
+  sha512.source = "9c1edc9bcf27f0e4186c7a57aac14cfc34b0f1f17c554b93ff6cb0f86e0eeb41af81d6fe105a32d33730ba881952e1fa9f72d2cfd8b8689d4a9a2e8f62edeb41";
   hasRunfiles = true;
-  version = "2.3";
+  version = "3.1";
 };
 "thesis-gwu" = {
   stripPrefix = 0;
-  sha512.run = "1a34a930eca927bd89a4b4630ace4e54eb7b3139031020d43f1a9da156476274dcc046f547a071d95bc8fd433e8a41328002882b55cb7b12193a3b5051be3c52";
-  sha512.doc = "88a167cfeaf3fd6a507bff7f4e8bd742a4359a0c4714c4a3f256537671144a5331df5f4204c91da15e96e6e1438effd2f61eaa68f7519e27ed6ef96793c344f5";
+  sha512.run = "f5f54b6ba4d95422d3b5e219a8319375f543939b0a4fff260616048faee47203497cff1eadf8603f03ad54f7f93bfd524fc3f2efa108bcf36c34a38f468b85cf";
+  sha512.doc = "88928ac624aa85413652ae32170854cce4c0519858b5e35752fa06bc4e7130ac031eade4127704edadf69a1fc5fa0e3357af1a0350af83decde430e606c0ff4b";
   hasRunfiles = true;
   version = "1.6.1";
 };
 "thesis-qom" = {
   stripPrefix = 0;
-  sha512.run = "bc4cc73e77441f51b838daf16b7fcd0812df14973554cc09ce44292d3a6fc0e540dc359c8dc382872a10f46f75f5a0f2530012a783ab32d44fd7dd0e46fd72cf";
-  sha512.doc = "9511bfd670fe4ea859f4952aa38ca4a132ea682b0f4feffb14bc076c99fa02cb7bc261c64081fb0a70b94055196bc8b969ed7cd713319870ea3435d569c44029";
+  sha512.run = "5afaa0d05b88dbe2d3e5dc2450d1d01b57a24f54be4437c2e9c71afa6c8b1f10144c674de2d8062c6d4a5b7a5140b1fac6ba82bb68c03ecb6560d8afd1384cae";
+  sha512.doc = "7bfe521b8f1df650304080e50805f48437e9b22b5b06f3f2fc309bc770ea0370d0e5acf2977c4332e0ca3d7b664c2dc8161f31f057a910069ba1cb585225145d";
   hasRunfiles = true;
   version = "0.42";
 };
 "thesis-titlepage-fhac" = {
   stripPrefix = 0;
-  sha512.run = "138ef0423e7dacb4724a65bfdafe7f3aa7e3ae9a7c5d128a71caba0debb9042b3506f2a507c883daae29fbf10ee34f9fa15f0d0f8cd589005a9c911026f839f5";
-  sha512.doc = "b04d42101e06bc4adab81b65a852be9ef058d1081cf1dc8ba9aeaa974e3a79bccf456bf061d29fe560455c82483bcaeb94bacc9a8995c14ac3ee7bbe7d6b972a";
-  sha512.source = "b7121d93bcfd89716bc9e78de7e5e441501b3a1e97bd8333d35420fa139a8213fd70dfed2a5d9c08021398df3142f2d22774d2b3cfdd0498cd6a10efe9d897dc";
+  sha512.run = "62cdba17287f90580fe6273d1ca9143c9fac01d7da214a20413995b925c6eced385b3a5c172e8bedb4f17396ed7e9b78e789ca475c5efe542283d9b421bd6ffb";
+  sha512.doc = "13378f3ef37bd1033d009d03772244e048ff2a16b95ca8a0f14feeda8c44b29036276c41aae812cf1c28ac5684edad56b000f8a45576bd0065fb844f5b6dd189";
+  sha512.source = "34b0f176df84b1b1d1f3e47c7c01d640b0e74e30a86488e07e9e67c61c80a96cb1b9ec835266dbee3e45a952f406ade5af5173e7df33f1d12d1b1f5d0611ac75";
   hasRunfiles = true;
   version = "0.1";
 };
 "thinsp" = {
   stripPrefix = 0;
-  sha512.run = "9c5a3f68bdae70fc961842630dc4334ebd449b338848b6eb759c65f63e56d284df325dd18d1e7d06a466db622b31df35eeca3332681df9822931b812b4d556c6";
-  sha512.doc = "a1e469bdbf2a1cbcaa557e262e63926f03b54721abf0c9336b060a77fb052e6f13a16b845dce7ad868f20a0099275c6ba21c2c05442a6befa425ec11f982ec0a";
+  sha512.run = "ddc80b4de32524ce76fe34e8f88d01e2db18a8bbf60a718454a0303aea8082fc2e495c89c2ad0a7459ed3151e890e30a1263267f249581e24bac87113a5fd266";
+  sha512.doc = "b5b50522a4a7b5f7772118d95fdf42e2f570ac35c49a8690560df27df0754a170acddd782b516fa185c0f6ef2abb3ff8a9f366370c2ad46e2e4d32dba21e634b";
   hasRunfiles = true;
   version = "0.2";
 };
 "thmbox" = {
   stripPrefix = 0;
-  sha512.run = "b0896b1799a836f471fd929575befd9b18e8189d05723f2c0bb14f32627a64d36d7dcf306b9458fd450d0401d844e60802a5c731339c0786f539d5c32dcbe61b";
-  sha512.doc = "5a2498515e34eddd4c14fdceb9b294c739e5cad4aabaddd181268a8c2ae0b6d5952804ea50ed514e471ea510c487c2461c7c9eea767fa0e5a66b52fc8b00f6e1";
-  sha512.source = "fb3b8a61066bfa8c2674bf1d95e9d5b0f9b2de7ec63a96342a55a8dd8d574e6d02c2e9dadab695781849dd254305aa12555bce9274e4089e764355b645a40e08";
+  sha512.run = "83ceeb0cf84ff75afb734f41be5a5309692c6804a5a20627c54cc8760f8ac5e205cf1a24097c8b8624823668796092d620f5ffbc488f63b87e7cbf9365279aac";
+  sha512.doc = "ad8e0710a15781eb3164527dd16ecc2050d3cd3317c386841ad8612a9ebc6055a1501272e3b01bcbc6a7f1ffa80455bf2ccdc0cc9ff4428c9688e9f6404a16ff";
+  sha512.source = "1b559b9286a97c3157d568982513541028d96cfd5d67ac541909586251ac3729574c23a05ebdfc42ab06a92ab2ea0cef878b1f42983d06fd48f825962de57cb6";
   hasRunfiles = true;
 };
 "thmtools" = {
   stripPrefix = 0;
-  sha512.run = "f34ed2b9b8e70119e344bc34c685b635e6727ba5e6d2351c2f92c61d9cac5d66cdf5257ffcbf79ab115808ab2de08d4f1a98892cf1203bdf3590b0e0dfd3f3f4";
-  sha512.doc = "e903159432323f55f6aba35e8ce68108e15199c742444459d514fac88602805329d744722c851bf2dacbf248eff515d9516bddaa26f89e5ad4e6ae360ba02864";
-  sha512.source = "ba7a852a01eff6b860d05558e25c305ccc161fb0cfa27c597a23e7bbd4d72fc8370744477321a07c4b8f197912dc77e3c566a2529412371882b920ccc0ef39e3";
+  sha512.run = "dff9b009caf0735effdd5c8da157f74a3c83914eb3a858a7f530d9d882abf4673706a96a68870664c9da2c9ce34c017cb0a0b2d96a6f9aed070dcb18c7d814f1";
+  sha512.doc = "c5b370bfd673458321bc1d95f2a4a70a2c15cf2eb0b0d830aadaccc0efc77aa60c0d897b56f65bdf292ff0f3a1c136002b65d4ec7cbc54703058938f34e7af73";
+  sha512.source = "740afaad4b634e0296fd77ada2b583b544e02942839f16e9d12bc4757c384d52c56992dbc2afb6b8c133745727be1bfea94ba321459b1b105528a35fc93d744d";
   hasRunfiles = true;
-  version = "66";
+  version = "67";
 };
 "threadcol" = {
   stripPrefix = 0;
-  sha512.run = "5f6dc2490af25491ec6b1db606bdee77ea6353e7026b91613b06b64f275073c583f44e8bf4ae5e3ce72fa7e7c0946991fb7d9068fe8eaa0daec78edca96750c6";
-  sha512.doc = "0f777c3bf18c4d739d54bbf177a7006b132a3a598c67c17da90fb06b3ffd67fb60f2a55cfb39da420053a331ff6037bfdf157e579293ca9b6d3fdb4ecddbad9a";
-  sha512.source = "153ec08ecff4e4a91e81464c54dcd61a90488af658b6a919bc4af6b57fd4b39e3b01cd9c70e8e3340e3966a63d0df3d67fccdc9c3b7e332784ece3d5614a699c";
+  sha512.run = "e75f887dc04aa55834c285d5e36babfd0844b79b9d1cc5cfb2eb6412bde9f42b651bfdca9f6819b27f6615aff6f96031135f1a6af3b59503fda34e7566cdb01a";
+  sha512.doc = "626ac69b0a26fdbed51876782a9ac2e3b0ab9b32bf3b2f32ce19cce080b5cda40a62160f453199a76b58903d762cc8085a8541fa2de3adc5fea6266592c06bdc";
+  sha512.source = "df757dcfd1eec3e8da04939ef69d04ffa59767544a1d5349eb538e111843f4c6dd4374e15bc6e586edac629f61d6979688c229381ad3cd4ad61dc2d48afa7c10";
   hasRunfiles = true;
   version = "1.0";
 };
 "threeddice" = {
   stripPrefix = 0;
-  sha512.run = "d929d3f1eda2d07ef12f9cf87913b3b7b4fd225d2a395a0012a454b820bf05359d19b4fdad49159e009ea12a767439c8a356cac934cf36f1c8dd0487622e02c1";
-  sha512.doc = "ed566010d1d3af636a9683b0d2c4b7208c1f1f5ff92216c7bd1b0d64ee463aee717e7151d900783415451a0687eaa67fc09a27bb879091ad55859a0a045f3c73";
+  sha512.run = "66e6a27aa277b45b44c156d408c764da5bee6dc540f2058a783f02bbe806c95052267a5ed79ea49b5dc356d0f03747e9b186542640b34753a693ecffa158a6a4";
+  sha512.doc = "c750497229b8bd41eca05b221ed2ca2ca49db8cbbff03bfce2712869d352ae0385e4c10e9730e0b2f8286db9af1e1b87f10d599788a3dfe8d41c28efb8b0e4a6";
   hasRunfiles = true;
   version = "1.0";
 };
 "threeparttable" = {
   stripPrefix = 0;
-  sha512.run = "484848a373608647e087db87aa37d8ce5ead9144999391795c54fa8a19c240b4ac88ab5e8c8481283877b18eb90218781e71b60f494d89c31823693509f5aff1";
-  sha512.doc = "cef636eab22846d7c323f1ee4f317a25b4eda3eab14f3bd9db80966f31ffbf4ddaec0e74a28e4fe5aa9a6c1f92e82a826f48ce11630dda5474a1bc8bd3200fac";
+  sha512.run = "f947dd01e56f6f3db8a4ed0b8f3ec564a38486fcb27f30bb3bacdf31af8360590e7e3886cc00cfbab813213974f4b335ff06ceb521d25519e8b95e345a002692";
+  sha512.doc = "6b5eb1d6ceea740ec54ba935c45f03c2e6328140e86122a38b90d84e375382adfcfe14e2e9f56384f825c913140f01a1eb6266d2d46f6b813a34b4da652ee31d";
   hasRunfiles = true;
 };
 "threeparttablex" = {
   stripPrefix = 0;
-  sha512.run = "398ffa1436ae8d74c27e6fba8c7e423a6c29518de2f860e32148e8a4c3185e043c85b03efa03c9df7be8d8a1a020f8f09c0aa81b87ac6237a993330cc0e2499e";
-  sha512.doc = "21a2834f7f9cfc0b57100533473a143910376436077a8d0513e5f626f5c13d20e2ccc0a99e7a3a9868cf3451cd253b3c370a4fa44eea16224540738bb715ca64";
+  sha512.run = "9dd33dcb7f9eebb9396a6a05ac20e9bb221260cd80f355b23f60a0466c64847ebacd8b0d19c75b3d9cecd9c522a8633468e7cc86121f7626141c066e12f977d6";
+  sha512.doc = "3dceb0aecfa2ef09bc20250cd38dd698e35b2cd2a33fb446e78a39fa654899c4f6658a18b95b39a5bff2279a0cbeeda71bcedcdb7fa91d148290302b73e7a64c";
   hasRunfiles = true;
   version = "0.3";
 };
+"thuaslogos" = {
+  stripPrefix = 0;
+  sha512.run = "584d8f130844ac834be8f061bd8078afcd8eae2e4d22e33d8a61dea8ea637476532181cdc7df9f1710ba5d8dd022a64dcb561f21334b830387e9a063ddbbe426";
+  sha512.doc = "5a2298e713e4a0711b01fe7fceae12bf20d6a0fcf91cfda63313e74709586532bc407c07be1807eee5405a6b6de74fe976b2ac56fdebbc344d59255080d80224";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "thucoursework" = {
   stripPrefix = 0;
-  sha512.run = "f05755c11d40ed861c175da688985c04d6c7a192bc2f562e93ae1aade737a72c43fa88c14a54acf6cfae4e31133378483fe1fc68c329bd9ecba3e6259bdfd91f";
-  sha512.doc = "8049cb66f918c7dd207f71ea7235390bf7874c3942c7ebacd528f167439030c6edda6e13e7aa44a35631f4d755ad86465fe867215cd0f5c50c0b19ba4b89cbea";
-  sha512.source = "e6a4aa4b1f83facf54e0272e7e62196fba486eabf1080b51df53e1bc80aba81f2a77139f8abf4a58e478fce0c845e21a6b123750f7d426677f9102d48d0a49c6";
+  sha512.run = "28786a2d16bef84f87bd87b57977a9d9cbf8b2f172928ccf56224205ec54945fc12ebe563d73df1d3501e987f8aa6af9038e28127d7d381b31be276f6e2546f6";
+  sha512.doc = "a4e7cdf992721820376ef2b967aeed1821edb6e4763251b627c61a0a85328de8d3d3ff78c7a39f43dd57f3c2ccf54fabf274a074e529ee9f82770766e87cd263";
+  sha512.source = "82615d29bafe844d4c27f75d477b2f731f090fa8080fd36f727c9f17dfbadcfd0bcee2ca7d1ebaae0b75ba61d18828298d5ce64c046f8a6a2a283a2f24658c0f";
   hasRunfiles = true;
   version = "2.5";
 };
 "thumb" = {
   stripPrefix = 0;
-  sha512.run = "3a8152471f19b39ceccd92317aabe11abede9a4f15c4c2ee483ec3d4d945686c1c827540086fbaf77a68a8c55d6f356d460b69f3ce99957de7896afbd252bc6f";
-  sha512.doc = "c40a0010a02de1a9b690d0bcbbeefa6f4801b00a0bc20eecca4526249e194bb5e31a057b16fadaa68924219361ef95d7cace97e53f4328890eed40bd40fe790e";
-  sha512.source = "a7c4a998f2a31d08e502bf8a260cc78b234ebc415531fd5028fc8985da78fa16b036279edccf49dcd79e3dc08cb485d9c7a2e64c30b61898a019bd3d08eaa308";
+  sha512.run = "30290cc3b8cc48de6c601fcb3d066f0533bb3f09f053d7912db7a127d8327c4aac0a96499b7eaed36b8caf4dcdda5c8f34a5430d69e1fac70510f426c92ab9f4";
+  sha512.doc = "29abd2e57cf17edbfeea06c041666ba29e436defff1600df7222dca6160e7be740b64647d7a44a10f6f803011a1754abd693048ca36c4c372ee0da52df2562dc";
+  sha512.source = "1712eaf8ef694998eab8cd0b95c6e8affc2a967c81cef6d6bbe8d985137662631254318ad2dad9a021a70ab849986e727699715b27fca1a5952df111474f92e8";
   hasRunfiles = true;
   version = "1.0";
 };
 "thumbpdf" = {
-  sha512.run = "65a4b13fe25ea01779ff26589fa6d0537d2cced3e622ee1959b3dc8e87c7222f4d33b03be491eb258431730530594288554ebf2306d3b7b2648dd5f5085c13eb";
-  sha512.doc = "660541e0e6cea66d84b2b0fcea682eb395af5c15a9ed243bf8d2394830b779dc5bfe96430f3eaa6bf327cfa1b37448f3f8d138c07c29ea24da48e1e2c5bad6ef";
+  sha512.run = "f3eaaa9ad4287d58ab89b98e1889f99dbabd82153f99921a9249b2cfb741c0cc45bfdd1903590c66bf0b63c77490017c36f552e34d7d15290cbc5904e57a3bc8";
+  sha512.doc = "fa2a7cbf80f7b76e63aff8ce5584e698e9f88a0d5a902895afa22a100202fb30bc857f5a1b88e190ff2dbf5ca9cf2338f6ca96a7b80a6d3e6e549040fc3ece7d";
   hasRunfiles = true;
   version = "3.17";
 };
 "thumbs" = {
   stripPrefix = 0;
-  sha512.run = "1f210b14daab6b432571a4a4fe93c630e946f45beb9b3c2fbd96cd8f654db88280dae4c758669c9ea9e5899780754f6cf9802534d59bdfce2e76e780858e0fb7";
-  sha512.doc = "8de2e31205c5497552ecca79a27b6372a722d1e3678520378f58cf048a2f1829e2b35fdbe176be543de78ba94520ab5c8e6165a9b5829158ed77d8782e92f86e";
-  sha512.source = "7c78f71fb46f7e67b80a3711427c3f291d362da786b0e5583e2e2109ccaf1d7cf10d6cb64ad39b3d5a7ea65235e40e808dc8e82d1cf7860b7ab114e3c915f4c1";
+  sha512.run = "58e489402fc44cbaece118203bbe7011494b7ef16ffa0e5d60be2daaec0c4ef2d048a71f0d9373a1683aa780fd20e3d64330e199596effc7cf2fcdac34f1faf1";
+  sha512.doc = "4c58ff61d64b841b3a3bc018f94c193730129edf45c87fcb9c85685f748ca3db1f7d51969dd25882848cec906485f739f8f07c8bb2f8bded580b59ea93032a14";
+  sha512.source = "26458ebc431f64a324c39ec370f2b0714a56563decc944c64156f0a6a3e22664e89239bbbfa7710d9b46706657b48470ffd1da7a1801aaca2732b30e01935fe4";
   hasRunfiles = true;
   version = "1.0q";
 };
 "thumby" = {
   stripPrefix = 0;
-  sha512.run = "518e2e6a13d3ecf22af5436498938605d247e13a591ef06f81dd970346245c42593172d05e19a73e3928087fd8dfb9f6daf866ac735528afab1e59a31c1f81b6";
-  sha512.doc = "8682faa744b12afd6ba55197c6f03b5417763237b47a78a4805ce1613a2252c070857f292016df26ea8ee219dfb4e5110ab2ac7273cb86396839b53ef5e0d7cc";
+  sha512.run = "485bb2670133c3c83f0f7aaa685defc6d36f5d24173652d869f526770e1f55c55a31f3a3180f115aef45fb824d9032ee915b91c1c59b9b33794c95c92f03c3e6";
+  sha512.doc = "bac645197085968fe8a7bd41f4a9ec3c6e51e17e6750b87ca1a458acc9f6a4f244d1f3b36b9c622c98492b90abddf9a4df1636b1874c02820dcdb6340bad0910";
   hasRunfiles = true;
   version = "0.1";
 };
 "thuthesis" = {
   stripPrefix = 0;
-  sha512.run = "f532a48e24e05af7e5275317caa86e0068cb472d70bd57c8c608b7fe2f72ff41fe660b4ef0fbc8bfc5624caa87b843cf5ccdace493f4b268baceaa3924d04d12";
-  sha512.doc = "669bdda35639db48a5f905b6de3885019960065aae230402127015d729456a1afa418c04ad3f149b106d4397073a7890a36d11b614d95231d594cdf309d7336b";
-  sha512.source = "9ba973f157089153da08c1c857b73261cd3ebdee2add3476717a3d0ac4efa99fe7f10be5fcd94903e7e306a384d111fdf6440500addf26586b216a2dbebca82e";
+  sha512.run = "c13d916b927b5caadd0b6d7d9b9abe05cb6ccff2eebff4cad0034589ec63eddeb8a7bb19f8280e7f52b7fe4ef651df29fe20f82c0e2b34e3c8c259cb5654ac5f";
+  sha512.doc = "db975be86cdfa84682ca866141e2673bee2cc9650c598057b9ab6e65251a07dbd4f760b9a80104df82661822b2319a1fca9589f568405543fdf5c207fa3560c3";
+  sha512.source = "74c47a6ed23839ede380bcadc4aaa24a526f62b46a92456e0f2c22e125dcfdb1006a0e4d9070247bb65b5096dd573988de9c4c1e6f12cca4cd8f9d553ad137d1";
   hasRunfiles = true;
-  version = "5.4.5";
+  version = "5.5.2";
 };
 "ticket" = {
   stripPrefix = 0;
-  sha512.run = "a9ad6a0aaafff536722e48807d9c7eeba9c51595901c7707881099833688bfed0e7bb9083751668c28fd73014504725edaf23ffac24b3b9fcd617fa77621497a";
-  sha512.doc = "0e0a21a1645002ac14abbd8d3c1715ea33631127be6f26bdcf84833ed1822677d467d5baa9abcae870586c2e1ced36db495227e4b4abeb62eb6d22660ed47293";
+  sha512.run = "cefb3e06df2953063e9d12f19f03e973212e784cebfd2d6628d2e9ddb443159b285b34f12238f6b77813cc48e86aae7018cb5bccc4fd158f4d891f05fc51dab5";
+  sha512.doc = "fde4b06ad09837d1d6b6efb275800e32f617619f9c18d2dda5924b094f860492053c4ee361a2fded1c9f4509ba5e615601b183191c0cf064af24cc59cfb23748";
   hasRunfiles = true;
   version = "0.4d";
 };
 "ticollege" = {
   stripPrefix = 0;
-  sha512.run = "309b415f46bc8e57e6a8a35c687ffba4ac1a7ee51b310e98e68c67065781742988263d82184f23d7dd9c566d4e540e273aeb7dbc59dd2675c0c54a637ba9dcdf";
-  sha512.doc = "a654a545c2a1efacc5a9bcce01394f9d3a9587ba78fe3f054b46a0e8cb9ef4225802fa89ee572196d0607a2369ee5b597aec09a01350d9a73be94d9c9d5b8e72";
+  sha512.run = "92bebbf5a5e7ccf7be09c205d9007a780422c625d9a308eeeae50b2ec4ba3cc6755a37fd8a49e24b7a381894cc3791fbf50f54348c3ac584a2c0d9a693f93a56";
+  sha512.doc = "f0049064eab926eefcf77fe5aa0606202cbce79ed7f0e0f1bafb171ad82b72daf09fe2c0cdf79720834d6349d9190f1d3069f155df922ceb469ad3453a6389b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "tie" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "9916097a030d75cba4162ef3dce197ca56effccc4f7c9950d28444bcd327eddd343ce3fcd1dd38617c3f4ba6988678d5874599673ee328e9dc5d460110ffcdfe";
-  sha512.doc = "aa7433f73867d6c643a0930e37f7c903721dcbfd9ca06e350770734546097ab0496573604977a3ce62517ff4c1f068eaeb1bfa0e93f639a8bee42d90a8f6e26f";
+  sha512.run = "970a855d2d025b3ac30a4e1631986568459bae84727b661ffc8e0982656bc66eb940b59e2b9c3ee6430e3abd5f7d8b0ce4ff828127bd2f9420e0139f1860527b";
+  sha512.doc = "24f07d9954fe0385abec8487d4c488df551453e13e8f638e32899722d62dc91b23df9d4494f9bc13662d57fed6e8dfd4d71835ef79832b59f075f9023797e858";
   version = "2.4";
 };
 "tikz-3dplot" = {
   stripPrefix = 0;
-  sha512.run = "20c7cda2cae8229c672e4a3626e20c88084990331e837360c2f9a2f996d4c1f45df6ac12583e7cd9741e16064f0fbc94bca06a2965cbcb5a47a465a8793d5d4e";
-  sha512.doc = "b5d5b886c9e4a07f4b3ac40cd7b3f4512840975a9ef88d73d6db19897893f85b2125fef1237e0b60109945a0008a5b2b0a504c67707be211257bdf583f85c440";
+  sha512.run = "6d4aac2eaeebbe2a4827a5a40e8571c48ff4f5cc854daf130ec7f20f8fa06135bae1486a42b223410be848b72be2c19d6e2ed798694ef5dcdb5861846bd9c072";
+  sha512.doc = "0fd9bde0f12ddf5a4bf6e2e1df66a9aafa42e81cd945b41e09e8d289c57b04faddd303a415c36239e6686be90f06e8a7cc794ea50d17ec54f1e25703314257da";
   hasRunfiles = true;
 };
 "tikz-bayesnet" = {
   stripPrefix = 0;
-  sha512.run = "71da2af20e64c14285287e4959d2814f317cee1a82b204c6c773bac13872c8710111afb2b02be6dcf0cfb73b5e3a13d6835650c0a6eebbf452348e8012311b21";
-  sha512.doc = "295f166c1dd496a81e32e59665c2faaee7e3b158b6f0a42b49c842e501a8f9384cc0c8c77f4d3d7eb3a824c36a51acb18a8a156402e69016c91cebb1009488a4";
+  sha512.run = "b3c535af8afe86e311e4c7371addfa484403a0a9571a17d1cb8d39dd7242aa4798476352bb04a6bb214086f1ed4985595c502723444a032f9bde04423c26bea8";
+  sha512.doc = "2bdd764163c606579e68099873844fdef6b9a36495f4117b99ca483bbe43334965a177f398da60e82c11035b5c7b9e0513ae56e6868d6238cc0c798f47ab37e7";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-cd" = {
   stripPrefix = 0;
-  sha512.run = "4215f42b0763ca959349183ccc2096c1c2d7e0d6f5f633424cb4aec087f07dd5cddb159e5925b22f319354eb92e54c00c1b12ef492d5c0b5dfc84db20559c88f";
-  sha512.doc = "340c918009b6525d77243635f7d8f5d7e1ec5c16a3a58d1a569df27f7aa7ea2c6152180d00e4b3765fd60a76d330a33891b43a1fb175419c67c6836d37428d73";
+  sha512.run = "3fbfa7731eeb6d2b9cbe67cbc4d5470e235f6f990b76b3c82961df172fbba9a8f62ec6055743098cbdb2d3d8aaa3b94f5d4dd8f735624c7d9562de6aa72fdda3";
+  sha512.doc = "63be72c0d55112e8328d40ae4fbd1e3c92133615e28f032f9f5efcf2432b6cc440b3c4de4ba46f3eb9e65725caf7de3623a8b49f3b9a87ef780dbeacc536df46";
   hasRunfiles = true;
   version = "0.9f";
 };
 "tikz-dependency" = {
   stripPrefix = 0;
-  sha512.run = "7aa21563507db06cbb0dbdce4f54fce991faf12049a9a89498adca2f1a3339f9df0094a4c9372c930309859bb1ea82fd29b90e06490a27fa4b03e06fee56216f";
-  sha512.doc = "18692a4f0ae6a552b3d5a991d8c5950bfcd3f2396bcf20247f964736ff4a172d4590c7eabd4636ec7bac8bd2868ce29f39b74a6d239a650564abf2e57923ea20";
+  sha512.run = "e6f04805d8c36c6bf81deb68ffa2c43fed7a7ce21541d6b02828574b579cf41d5b57fd53d12f18e82b66c3f96e7c6962555dede9072e243693f6f6767146ad57";
+  sha512.doc = "ebb3821e66d238967aadcb06d801a0d18a90610eba37d1763c44452f7bf8fdf0c1cd30d52a72f0120a45429c303739fa239ad05b92ae067b99771d9bf4f568ca";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-dimline" = {
   stripPrefix = 0;
-  sha512.run = "15a9227ff8fd1613a7d9996d4b648748228d6b5a79f4253ea8003c7bfa2ca29e7e78fae9504daa777d3aacfd3c04044612e0438ea15267e18926401897337f4a";
-  sha512.doc = "14e5ea2ca9dedcb70a141b4e4d67ca6f84b7ebaaf2a660f444d08be58edaa91743d5c2113f8ab454c345805b8810498ae43ebcda57a764516c85785fcdabfd0c";
+  sha512.run = "c7a3b158a8acd100192b7dc936f2e452513125389f72c12f0c3818bb4e771abf0748338f13603765904adf1d808fc2b263d0f798999c52638e610d24addcc641";
+  sha512.doc = "62edb9667ae4405c798a00c1d079ea9ed5bbdddd76e4a730aaf7405d175afa146fcb7bf43a551001eeff1f683ce3b47a0a79fab66b7410be59f18f4f6e409ef4";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikz-feynhand" = {
   stripPrefix = 0;
-  sha512.run = "f61cdf7e85274354bb8dcc254d725f253b5b692b5ffb0ae98ce46577400f99f272c533bb9bafd81cd5c6f7f303e8797ef5169dacf967a2020b144373fccf8b00";
-  sha512.doc = "27ecf9bdad89dcd319ae1df2dc6919d1a10d1d1ec0556666f16e71e39355e17aa21ebe75575592f1dd08d327a34b36e20475537bc2afb7bb53959895d6720e7d";
+  sha512.run = "5dcaa2f5c846957f3583ac5bfba14c668cc855c6dd930eb5851c19d448efdd207ff34599b09379354d0c772cb1890fac375d75d61524e64148602f4b5dde4355";
+  sha512.doc = "b0cf316dafb9494fc21d5657e1e3c1b4780b7c30e2fe93235d6d8538979471c31989e4203575dc66204fdb1cb11386d290feba3070e43a273b62ec59a73047d9";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.0";
 };
 "tikz-feynman" = {
   stripPrefix = 0;
-  sha512.run = "64b388ec8468c2854d03ea4203d18557446c892b06076a26db173604697f3ad7b95238ab8d89e652887ae6c5dca40d145980638308e01883a6fc1619d3fc97e4";
-  sha512.doc = "da15dfb8f7e5477df6032d10c0d10ba07a06943e6599c6f800ce92f589c5715920faf2c3d5899c9c13496f5aab12705002204879994a11f526042dfd0487ae75";
+  sha512.run = "1a1ebc5d2f2eca4e5dd16ce744774add9b8f5b4c3124dee46f0366f43a59b188b0873939d2b68ff0d679f3e52f1a6bc387ab81c363912024efd0eb4110e2ba27";
+  sha512.doc = "b3e90aa1d8476aed01faef977b75f4e3450cab121d457eca0bb254075c1e2ed58fe15196ab0d923906dcf6af4f78bc76d6053343f6444c8294bf7d5bbceb3cd1";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "tikz-imagelabels" = {
   stripPrefix = 0;
-  sha512.run = "d718a1eca8a6a015618051618bf56116c995dc180f319af2432cc138116a0c2e7225baeddc45f623d04b20c8106d3e08853f74002e63942fa0b85abe4f1de636";
-  sha512.doc = "b79d397f7315e06a2b3c24bc2b01e0d8735e4452256b44fa788e01c452d9b7905f985ac4c4bdcbbc4d4b55c9415af3f09fd2c6d661ac284418afa7c0be72cf42";
-  sha512.source = "f5d6a749621334e217cd9a3db3f7d3bc190822d581df18f4ea5f715528e74519042a835d84e579c9f65487b7c750fce1c6ea76e60c076c7c3a9591dad504991c";
+  sha512.run = "b74cf7113b288af9e98ceb801eb4d72e4785ce30390718c4c0eeabae20c49ca8eba91342b89dda525f06b9f436a427277c4ae8415748f1487cdb073088ed26c8";
+  sha512.doc = "843f943c4a0e12d1260ee17f9f908adee568100b1e415df3f1b383fd83d70065c57a21290b89923d7ee84819356a366a467e42fed61370b214621a9ee58ee97f";
+  sha512.source = "2c6d1c0b599488bea8d53c136d81881d8cf15497e295b6e0701bc8570f2e868bdb1e0149f25943102cf6e9babfd53ad8401328224bc16a305f46748857c79572";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "tikz-inet" = {
   stripPrefix = 0;
-  sha512.run = "cb9148816eaf21e3e9690ca5875a3a6cb7d0b5056b889acb2d9b4e3a8430009976187e19daf8615dbd440853b29c6a411f4dd32ba6113108979b8c5c75851789";
-  sha512.doc = "9ad3e4227c4a8b5857320ee8f7d74b5f7231b3a562c430050ca52927c9a92209194436d742c3c5ed53cc173af813159feef9b750090253cb03c041647e154764";
+  sha512.run = "0c4ecd55d10893ac8bca7b8ac38f2366f30cd989c5d6ab4dd501047f01c0285f8e4b78309dfce06525bf525cff77e2edd56429aa166f24b9a7e07586e3befe96";
+  sha512.doc = "e61f0a7879dd0ec016b6c85d66e6ace6b953adc2b9abd87306dc4d071d82f44984e6e25530db3fc658650f5ca74e5c237aa64d18e60a3c5c8c7f57c6f42103e0";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-kalender" = {
   stripPrefix = 0;
-  sha512.run = "26ed711d9a64893039d08dd10638439e25676c811d08a3c5a12b794a6a5c563dc79ef56c1d6352fbdf4980a1725804de76dc58e59b2349dddfe88b5a48d38c81";
-  sha512.doc = "18f42507603151e2854c03911b03bafab90ccadd75a31b6c60a464357ff89cf74113fa23407e56726f5e405354f4f4173c613d626ba0128bc4849a0feae43ea4";
+  sha512.run = "1b104896f1eda97270afce51ea05a5653d810c5362df86865e1b51149533ed9d1d2293d945e2917b502c94ff89a38aa98b50fb3014f769257deccc498bcad70d";
+  sha512.doc = "0698a9fcacf2a28f9e38fa2adac429a09e439808b017105b29ca68af5325f4caca552b88a11c71924e964914e8e362b26573b1dffb7c07bafeb901bfa04254c2";
   hasRunfiles = true;
-  version = "0.4d";
+  version = "0.4e";
 };
 "tikz-karnaugh" = {
   stripPrefix = 0;
-  sha512.run = "e61e20154dcc35aa7b13bff85a04ac8ebd35036975ccd8be7a32f1bf511c93d8ee5ae3aecf02fdafdf820fb95856d55a5d68f55b4d96d2c40926387307b7d9b3";
-  sha512.doc = "f231e288a12c2d26c01127b4a4bd37019b3395221bb5ef777bbbc3f3f8e55c7ca410c41b4d068031dbd1f6ec9080af27c601ba68c02ae23d506e340fd6326e47";
+  sha512.run = "aef1c5e3fe96191d0dbe55ea9f2307b05c328b92621e9dcebf4f8fb862ae501bc6dabd4f96915a800532723b447632e21110cbfb9483bd73dcef928b102bfec3";
+  sha512.doc = "b17971734dac21649b75c140dc1dca832de35460ba5de9e83f8907ed075fbd0fc2872edd39da7aaa5631b126ca0d59d1ad440e4fb2e68ad277d7ea4bb8975440";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-ladder" = {
   stripPrefix = 0;
-  sha512.run = "a93bfef42663121671d00e38e6cc25914c3e0a639ccdfde7954158bebcb0fa89d80634de2443597c86a93998c9a5b7f3992b6f77e7a94fa4d40e1e1f5ce1eb52";
-  sha512.doc = "3b64a2daefe80d550eb9f7058480224e10200429eb1e2398a05e627cf4dee0a53feb026fa5156b8cf892b42b8d73821669e8a744a0801b0235b31535b7bec139";
+  sha512.run = "b01bd48b4e8dbf5e3549bd24949b81b3731b32d715dcf3d3141e2e2eca5a98c1f5e5369c10cfdc62791280aa3349cb5409f582d71701ff03dced0688cad1847c";
+  sha512.doc = "9133c29850f486ea62be8ef9b61bf67907e88c9557fbac132ad04501616efee97725fc58585fce64c59707b4828a4953d926860af7c99fde9e3e73a479b28d0c";
   hasRunfiles = true;
   version = "1.1";
 };
 "tikz-layers" = {
   stripPrefix = 0;
-  sha512.run = "8f6f4b000f21b44b28b76be464d6870c2f1a126ca94fa0468f19889b4fc71bce513b02925b70b79f58ddd9c474ba0d7190acd510fd9f0934bb3e56c971bdf478";
-  sha512.doc = "cb390870f37c8397fc30e66b8be8b22c35653fde216f25354fc7651c1740c7e0b950427af2fd38e2a45dc129c3975a540886374987390ba0c7d3ec2d3c048c3c";
+  sha512.run = "900f3cba19f723cd75f59f2d3380ac96c6bcd53f4d80ce27b2d393d4728f37b9d9d2bae414f20d38e4b3b93769374281d4e741ac2480986b1662696e08a9a207";
+  sha512.doc = "617f1a53fa77f4a766157e72013227e992589b0030ac90ddd181643b1ef212f7e83b8f84f2520d64acf53f2cc76e3333e7ba56b78984b28c3320e2977a87cd56";
   hasRunfiles = true;
   version = "0.9";
 };
 "tikz-nef" = {
   stripPrefix = 0;
-  sha512.run = "9f53ae8076f72ffdaafb812e1da6ef06ecb212b1795892673301d881ec4f05b4608fe17e30a18875886c12c002802ed49c26d36a1f282dcd6859e3bc9ac0e632";
-  sha512.doc = "7acc3e48cc8cb83530c022beb1dd27753c1344eb5f58a8386b6a90cf12b9313f03a3ad152fd479394a6598de690c9aff173359e04afdf9c04d794a78b904b24a";
+  sha512.run = "e0bfbce75ff6c9ea02a42576a767e1a06b589797995e29e9c2ddd8640916496bb50126da69fd859d9fe6c89a447c342fc15d66ba620f084980740c6e7238c780";
+  sha512.doc = "724dc025c4e67817940f9c4269290dbd1a77208ebb8bb489f4807fea30594eba77c9896e3bc814825307f2012112576cd268633e99b53ead7b60d3689e155c09";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-network" = {
   stripPrefix = 0;
-  sha512.run = "bf8dc0cf66e2a3a0317265d7ae5b79bcc417aac278753b6c935831904bab9cd5ae1c65b3fa1a776caa5a798b1e038d21c6c4e00ca78a26e591047290f3f4717c";
-  sha512.doc = "79031df0589f4d900a044b617a6aa251fb0e137cf379a6530c0061955ecddc081a1fda8997359d36f0036395db070d34909d6b728eb216057bfe81e236ed5083";
+  sha512.run = "e8100d04b9ef3336a514d18f43ffa6af5d4c2a2ce28663c9f4b40272f5619dbe11dc32f8d7399b7b730f8a90c5aab5fe18cc839d6736d7be6c8e37289e2dd30a";
+  sha512.doc = "26cfe73177bbe885cbb224fcd9b4f136a224947a4d9000e24c7f4fd1c44194ab8d2e11dbfac558c68ce36a30c7a7b82f335e3275db22e599dfcddd48d91ab08c";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tikz-opm" = {
   stripPrefix = 0;
-  sha512.run = "00bc73b32a3a7029e1c75ebf329aa1b95a89e43099e63f046945c7840bbdf10b4dfe39fc2fa0412a2a5f5a7d2d14b0022934a5e4d25f118e3effd565ce8a8ed4";
-  sha512.doc = "e885b98a8295bc73cadd0f9db6cdb79e6bf725990831d2f7f9bed3ab0d72a8e1746a949c25bae90f3111b80be19db177867b17396703309dc542eee5d5627dc4";
+  sha512.run = "eeb000cf28e2ff79106edd734ab71b9ec4ecb0db043a8b03764a98a33d3ef570711974bb13b58453362dd045b1019bfb4a1c1a856b74590110f7d8af308a3f01";
+  sha512.doc = "a2ed9a4b52d34dece5b0007b9dc46cf8da8cee0a9288b8db79f38068db5227e35ef9e3fe1f93a4c53e994c06c2d5cf21257bcde24b02f1553cb21d9f7585751d";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "tikz-optics" = {
   stripPrefix = 0;
-  sha512.run = "662ac765e5f18b1d3a63be91cf9fe03df838a50a8a618caba7fa922dbf461774572d3c3ad055cb7a856c698450ab33d51d08a5d1ed5e03c97a09cad92476dd74";
-  sha512.doc = "70a1908f94e51eb0e5d681047386f7c1f9f24e9537f6e2407bbf039244e15e06ea5559ea9cb4579e6b017fc22aced906f72dd672f98fe4a6f8ccddc5d3c86037";
+  sha512.run = "703bf6777a78abfc72ff87d16a45c1599d9d68586b38fdb2aa4b2e180ce9cbd808a399a61f6ed381a3b04e83877dc2095c4701d10973f8632a0a32356d71f83c";
+  sha512.doc = "0a9f4d246869cfa0a8e7d252f78261a7877f4366fe1fa5c9db9dcb9a8dc36021818042d4ba79eb711e73a7ac32c0dd601ff892f97243fd5cdad373ee3ee02611";
   hasRunfiles = true;
   version = "0.2.3";
 };
 "tikz-page" = {
   stripPrefix = 0;
-  sha512.run = "f1b4af96e033ec2c5a927160cb44d88b47bb1f4ce4fbda953e6a0c17877f8b1a5ea43b593197b241d4d5fe675e176faa2408ffd39e986b542ed5801a024819ac";
-  sha512.doc = "3bd8489c3eb5b801054d55af24c35be4aaea73a4844f8215b27018d492e647a4e2ef3c1b009e22c06cc8a2db15f74f57dd1711860cebdb3b3d228d6907f009a1";
-  sha512.source = "61fe91386e466c394fc66905f26d861886a5db4adc370b25830338fca780112c69d683ba26f1ab860bf6e1714749a52ad69ecae42c2d26cd8f22b2a07d7b62b2";
+  sha512.run = "be0e43fc329a014b11fce907c6b073f5f4be64b4da4b184705aff2c08d82c1e644056491d01d59ef0ef8a22b4b4c3f22b9012953e00802a9b697a10f0a2f4920";
+  sha512.doc = "896da337485c89508e7cb2adf377090b768beded3360a730a5a9c2400db73866b01e0091aaaaf8ce25b7444bf5c5a243f5eeff444d4588a4f8f8b5ac8aa9cdc9";
+  sha512.source = "34741f8aec629a8d7929372f1fc5b51ffcef4d95fb95c039c9ba96e4fe05db366c09c88b6987b57ae0573ed067947e2a375f0bea96a74653133abba850453593";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikz-palattice" = {
   stripPrefix = 0;
-  sha512.run = "7c4cc55bdd6f825767642c5cf1b0e525673501352556127645bd0995400adcf920cf70240759d8a54a97a0b1672852262f2f02893b790e9a50ea52130d902a2b";
-  sha512.doc = "417702f0aef6ecea84563bbc61bd79fb9bb1414d99e64ca875a4cba2b7592cb94acddc25f20df51d057f03fcebfa909454434d68e8fea6402885aad71eb278ae";
+  sha512.run = "6654ca0888b9a4ac7106d5d275a347e38de7dfc342d7c6228670e51a0285937015a39fd34e83e42a5ab8c2f4341e7f233535308bb2cd65a55227dba2d67ad79b";
+  sha512.doc = "8fd0a5a2ca4371e021ccceef41115b6520df6437198fdcba7fc37aa600821a95e91696fabb19cb0277639ff7664574cc56a62e1edcc96e58f26dd65ef5c82fa2";
   hasRunfiles = true;
   version = "2.3";
 };
 "tikz-qtree" = {
   stripPrefix = 0;
-  sha512.run = "24fa04e4fbd8f729fa90fbcdbae2051a2fef615671a1661791ab791ec16ea5d55ac23c03df031d03f56e4925ed417b585165bb1605b608b6379bca5a50d2d276";
-  sha512.doc = "c8260b1cd8f11217dbf495b9479518df657f7f52b948e4498b71fb31628ba98832f450d7b6ffaa965087940fc4795b932274b35c142d01591ab243b64d03dce4";
+  sha512.run = "5b00d147eef48e874d2d5c9b171e93703c728cb56f3882af4e63a41b36ebdadbd5bcae332bcfc8e091b16ee14a3a3e16c594b0f0879bdedeaacde1c1700c542d";
+  sha512.doc = "0e2a19415d00cc6c94961dc2e8292038078334cbedeff63d889a3d843d9ca3e89533870cabe2068f5631b3f48fc456cac36b1720df175c20a9f6c986c388f799";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-relay" = {
   stripPrefix = 0;
-  sha512.run = "884e8168d988ade3a040b87ebfa405bec5acb0f64466aabdc1da24e159a54db74898426df8b99e8e4529744acbdeadb0ab044fdb5b09b0bb88e6392a427959d6";
-  sha512.doc = "c446e3be63e5831619b859ea9d161a13edb633de0e698f9f799147aca0fa854488da86d548fa5065c45312217b01aa92f863fd8d6e8128649bdb25ecf6264fd1";
+  sha512.run = "ff171ed2c1b494ecbf012f1401fd0f2d0fc56a388383e482cf50ca7f591af93b2e6da74c237ac4a17fa214a489650670ef8560d826c7674086dbde6d541ffce4";
+  sha512.doc = "1e81af1e171e7bf353617b1fee7f456b1e263ad911a842c154ec813c38fbab694f46b134c213810ca8de106854cc05d40bf8dbb1376c055d4d92c4f87e4e779d";
+  hasRunfiles = true;
   version = "1.2";
 };
 "tikz-sfc" = {
   stripPrefix = 0;
-  sha512.run = "7bf5df58a491bfdb3bd1d1849a33c15a02a3195175fb22286091b4dc57891bb8317f88deb4c0dcee8cf79c0deeb07d83c1af57960edbe703598a740f737fd099";
-  sha512.doc = "580cc1a3ed90ad16fdf9500bc8bb91179525a8c9f0570a44a0c1c7aa73bba8a749f7afd7f3b5d6f93fef573bfaa989449dd72ef89f0854dc14068a24c8f198a7";
+  sha512.run = "f31541b2333c5d8343143aad3a260e528523f78636cd772deae6e0eba81957ceeeb41491279dad621e4476bd9f5125ad994814cb2ab691e5039b54f9fffc7cc8";
+  sha512.doc = "caaa3c08f358b7f920322c553ff77e1f42414f16c67d2dd77bde8992e545366224cd7070e833268437332c080d6c65ab244678a3e9d5888fa97d21aafaa2d2b4";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "tikz-timing" = {
   stripPrefix = 0;
   deps."svn-prov" = tl."svn-prov";
-  sha512.run = "74986c39200857ed680fe9223d7c35fbb1ed4e890c9d3def0576201c717b53974954d3983c074f99ebac425da40a909f202eab3175d79d2b96d9d11a473af7c6";
-  sha512.doc = "0ed1dcdecbbcc83bf78e7aeaa528e93e772b0f999de59f3b1e0a17b661128745a4010074ea2cc18b9c53a72a6a67668baec55c91fba41f70341af17d79725e10";
-  sha512.source = "2bd27be6383b20223f7c4934b65c27dbb6dbe4c509831f286526f87fff6a81c34faec1e2cd95bdab49826c38489a7d21880f508aaedb6f22d742f5db2d3f132f";
+  sha512.run = "f5f771d0fecb0615770d978d1ee5a8a5ebeae4c1d78d9f0ea33099a5c8d89cb7523c70dc38d3a0a6970e997fb5d7b9eb30e54bab4b865cbd8a53519d3bf529a5";
+  sha512.doc = "e0d03fa23c84c8241a8b29a6a7242cb54bc6cab8a25ecdea64dcdca70606ac086de9f021045ddd103b35209af05b5e0342808a97b007c639afc40159de211ce9";
+  sha512.source = "20a12782a5fed931f92198f02408ffe39a973eda5cf95904b3b33f5fa5b7a338b419da5e985c76c57610eb82c6b428f02c2fd28f24ef381708af46974bfa0920";
   hasRunfiles = true;
   version = "0.7f";
 };
 "tikz-truchet" = {
   stripPrefix = 0;
-  sha512.run = "f77e0d9ea26c018b245341b188d2dd74a0cfbb0fffea18d53f72d17e559345d8f1edcdec0321bb251c40e13d7bd547a4d9fbdf7d36caf7544f85354c2b342c9e";
-  sha512.doc = "471b5e5c25b6a0ccd322e580f4cc9720908265662f94cfa10c2ecd0948c141c3f692418a5915ef34199b04b1b2c6a9c5befc4abfc5e8f6da7632b7bd564b3fd8";
-  sha512.source = "491ae27c7ebca7f15d29c29742845039cb04f5a3b0217612fc10be2f3ed97968acf873232da42ee654382a5c44dc238596ae409c688e69eca2668c277c84a5bf";
+  sha512.run = "74cc5a05cd9558c68cbb7987671fe1e02a9a076049aad96d4c95d7471ff04e48f03c500f58b85bd8eead46e1af592a54ffe1ef0b0ea0644f4479a332a63dec4a";
+  sha512.doc = "7fb291a9d7309c722fe31cbcea7a4004d44552f547e4d71fdcd667efb4aba41b6bf0be0cb941dd16e425eedc668dc6de3d2e55f964146a62b861296b0ed18579";
+  sha512.source = "88a3d1ca19871e0329e40165b35ec90ce65b1565d42b4a678bfe611311a0cde68a6a8c67ff3ebdf78a1bafed1fec875a4f221efc6934724a265a3402d4970832";
   hasRunfiles = true;
 };
 "tikzcodeblocks" = {
   stripPrefix = 0;
-  sha512.run = "c95b1f21ed2f7c4c7a260794025128878e7d08c720a28d68053c4dee9b1e09e79c93ac1a2f8931e1ff988f127b4bd5e594407d819a6ea08229c6b94ff3b7658d";
-  sha512.doc = "0c6e96db23af4a4699afe71ea4fbc77481ae6a8dab7cbc0b1e64e9d2fd82213743376fae03c5eefa09b6ac9c1953c39e65f91c5581c4fa039a212a5e56850034";
+  sha512.run = "709d531084b03a8bd1b645699de70a24ccd6c57050bd5d7b9697c778ea702e846adfe288983970a745b8745eeffe6acda3d0024fac65ec4e99475c736c5fc2e8";
+  sha512.doc = "26ac33c604e51ed31a5b36c174350b1860b8b01169470cc1b50ce49808f7c8d84886110299bea82e72b3a5f0c18ac0f897d879aaabad1a4712dd94af47b3b10c";
   hasRunfiles = true;
   version = "0.12";
 };
 "tikzducks" = {
   stripPrefix = 0;
-  sha512.run = "b34143fe866933c56ac5f1d45fe7cb5dca62cc27e99b98d61b79a6cf00398ea7687e30d586118b76e375b9cf35c8ed0eb2f177249b78ca5f4b35932c719d7c29";
-  sha512.doc = "8ab3179a3251fffc8063ab6e8df8aef13f611ee0bafdcd44e44aba0ce7b393fcc10e1ba067bb32678e379e37266fbc55200b19b68b8924abdce4192ae65b53bf";
+  sha512.run = "a4787c51f622a45befe7a01e0d30dd7b6f7f408fc9f64bd53fbfbbef721a0adfbf80253a395670e13c6eed43593facb704894d8652d65853d1082c0fecde8498";
+  sha512.doc = "55f442ca85b45e3ab1852e2dca324bb580e35a648a4eeb7a693c4497ac358e6be94e5c90062f6216f5feddaa900376f96bf00b222574a5f45b176e2a80b38449";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tikzinclude" = {
   stripPrefix = 0;
-  sha512.run = "ae1d739dd05a9f24354890fcc15d51c268c6a9f96bc7f5e36a6e2a6b9f1625b2cacd3e4f54d6dd9a49cee29e6e18ea82086769424e9dbf9183b96230393fd21b";
-  sha512.doc = "8d1051d37a68f1cc26d84cb1e8b10a2b516ae2ccf94bea416f3e613ef9bad5ec6389144803601637ec9fe301bd8ff9ca821b59f0ff5a0a73f5e82b55b82f50f9";
-  sha512.source = "11dcbb9238fc487efc4d751661820d5be7ca2a98b39c0e1eb6b2aac8e5ecbddb945a8cf6a3076ed5308c57a75ab7cf2fe8813e2256c76f3c2b637c5b2213d36d";
+  sha512.run = "1559c739ee5ce26c531ed1c989a2d986ee6da05880e6dcb8f14018c71c638028517d1c2374cb452421c92f5d430d4560ae4463732926c56ff33407941e70ffc3";
+  sha512.doc = "9cf9e6f5e45f9dba8843684cce3ff395f18c485e30ad0d0566e947dfa69704cd99600f8673203ae212a1aaf77908715c2e5ddbaae0de3732b98564725297112d";
+  sha512.source = "3c7b7da5f7fb09fb52a4517846d3cb380482a03a2506c0f2f04f4d71bb42c7ce6cbe4087fe772b45808ad497fc7ba353c9ab193e61c328d57a5dd58b607ad4e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzlings" = {
   stripPrefix = 0;
-  sha512.run = "6f1c87c03fbf69661f4629f4b08e07a1304127ed86a7743ab74e93babe8c264194397358463fc0ff53a7fd72ecacad5b32eb9c5b1b6d7a3f877c2e8b744c1e2b";
-  sha512.doc = "418414744f18b277f521cbb3faf70c4337464912a5c680b5ffaeafaf0626189cdf68a8b4ee149c2285cbdda345deb66de8a83270946dad32e56ff16fe87b8252";
+  sha512.run = "0c7c5af85cbdc6b5146e67083a8ab5485c3d0aab78d677ad8ef53f6419530e96385542d1317da04bf783a4c94b61152ebb8fd037ad8bd0ee472531476646177c";
+  sha512.doc = "2b60d87c6925d1465588f244fdb3bee6912ebe02d89bed593caad9a8b8710b0d18a9aaef903395af9fa85207f0278054fb6a8d94b6572acdc60b30e7f8d9c6c2";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "tikzmark" = {
   stripPrefix = 0;
-  sha512.run = "6236705424fcd846a4ccabd49b72d1e3750c358446b231537394bf2cf0cead1282dd8e73e19fe7b67205c1eefa805f77f0712f3d6bd13f267dce3cd4076064f2";
-  sha512.doc = "1b113f9be1c125135bcb52a4b44164622042ee74d93a38a8bb8b98927383f2e27b61eba0cf56321794a37d65f9ac7f1e7c94df2a1cbe213ad23c05228b128cad";
-  sha512.source = "edf260319e73c6d25f1c2b649dc76279ab3404a3ee2dfa36b6d2f39486db6e1f6c5063ddee8f6fa3b90b8a77c8d00ceff83441abb919ac03236830c03ffc1a03";
+  sha512.run = "4f1040ee866eba68c6bf622d694cbbf417455691a08bb91169cf7a3a3a6e63d7136e1b976ee2e8e89361d5fd8871afab2dbeb7d26e04f4b51992f6e71854bba1";
+  sha512.doc = "6575708cf87fc25c080001b6836df3dfa33474b594970a4dd4f2e772a9e3ed8dd6c3ed4f2ecb7866415606c983dfe36184f8ac9fbfb60852f5feae3dc90b98bc";
+  sha512.source = "1e9aab19f1d7ce4923b2092cf69e0841e0bc99f68ef983887ad499045a47c071457da72a878f2db49655ee31f18e433c8f98d58869f122fc5c8867757d36d670";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.8";
 };
 "tikzmarmots" = {
   stripPrefix = 0;
-  sha512.run = "716176f069a440d5cb71d8c41d881f98e2386726609c808e1a3cc2af5c7ee31e6ee0e663a4c0627bea365697f3080180a87a67acb793a9513dddd43fc9381dfc";
-  sha512.doc = "634ae787b0fecb2e27089ab98d0b00f8408f05ebe21de61d291db6364db9b30c9e25779a928ee9cde60981e691d4cec7f1f1635e690893a9d1f346f137c9f296";
+  sha512.run = "d390b922ccb3cec5b215a97586578462f83774b3dd5d3dd461f47833f1ddaf705773e4a60acf385747df6b55d6d20c495f4ffa7f1c3f2e6d480d66ab5c5b04f6";
+  sha512.doc = "4836d1d7c55ae98b26aa4968c5717457c8e2cb64d3e21f2b7298d3990ef612fb9087e64074945e24999fc302ae012e47c95a00c07e23286aae5ea7cb63fa254e";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzorbital" = {
   stripPrefix = 0;
-  sha512.run = "6a90bfd545f3701d2bf3459244c94aec9e2db9ef1a9142dc2b15e5cc12e6b4bccde72e57fe93c93d95ad305d8fc62bcf77a5914dd9c1aa3d1f658d7936ce20ee";
-  sha512.doc = "24fe8fda7492ab6f0cd0732d7a6f01a8ed1a3f144199ddcb0a4d8fa3a764272d4f7aa3f615f099c10f7f935a8dc95ccf57dc25bcc201f099b79564147f03ec4a";
+  sha512.run = "cc0be76e583d67759d53ab89f777f137e7038eb8344e841a3a1c6e5327129063f2cdcb67c586546f8bec94e8e83d944ae864f291b5b7d384610f93c0ce604aea";
+  sha512.doc = "676980e8772650f77ed37d545cbd4ac22af170e1a4541acbd0739f3b5c0aff91f3d48cd3b3fa3c562510c1c624f46de2218fe33a9e53532ca88ccbb929e3495b";
   hasRunfiles = true;
 };
 "tikzpagenodes" = {
   stripPrefix = 0;
-  sha512.run = "39092afd4a64f83423e7c1a40919cb6cd8caa6c2f4ce6f5976433bc711aa6f35fffcfdeb0fc2a4b1796f52bdbace4df2da390ef605299194ce45a6c1e2ef19ac";
-  sha512.doc = "e142d8d546ead9be8ba8d9e997b8e7b79fc0d17f7f6f9fcc6052d3f9fd8bbf5f48617e00070fbc2a7f2eb963be03c335331bee7adc89767158d1d8443cfcb90e";
-  sha512.source = "a8cbc21203fd53c60d449ca86882e56777a956e1ace5bc260bb222f94902638e296d63cee925ae436032091e186ef17817c4027ce89d619196723f9bc47db414";
+  sha512.run = "4f0d6a4270bf90aa1fa5c5a018fb8a2703a6884215672cfcdb908f7c6d4e9b3610a9f6fb6c26b7b302daaf509d635d26443c6e8944bc1f8704f94a527090319e";
+  sha512.doc = "14ad07e01c014d000a2bdd483a2dadba652cd78b42faf0ea5f9ba829ba484239361d73233443303be121dd5122b7e5e209867145b10e7607b5c6e5d13e2fb428";
+  sha512.source = "bfde76eecef7173d34cddab9ac517a4d1440aa2888007cdc62acef2dcd84e26345f86a757e1c1b6af6211c2e33e0ac656501d76e980a90fdfa970843eb7c0eb3";
   hasRunfiles = true;
   version = "1.1";
 };
 "tikzpeople" = {
   stripPrefix = 0;
-  sha512.run = "d2cca717823257a6ea8e493fb818922e179c078ee383d432f8f2a1f77d45b4ac186b4f6cbb574917fa90b9fe2c6ae663a5e69fc7442161a703cb3f6bba53cd7c";
-  sha512.doc = "c372d252e82bbf5f1d519dde1d02bb3bf9f2d67e49ca7b9131e86efe1fd71e4905d325822f07f0118e2020e209841ada8cee543c41c3ae46b0a0f5a662b5e5bd";
+  sha512.run = "9a7cdc232e91fc0d6e5fcc67ea8c39dd2a4b482ccb6ccfd82332151117ef5121ef49bebcd2e0266492c88b57c146eaa578d2136a23f8781f3fc5f5d07f527db7";
+  sha512.doc = "f561978adbe443659ec0890a8a38e9c9506f311d49d11fe952eacf579db0619946f86c0c6929a215fe7a98f5f02a782d1bc528359f195e09e1f388460dc0d55c";
   hasRunfiles = true;
   version = "0.4";
 };
 "tikzpfeile" = {
   stripPrefix = 0;
-  sha512.run = "8d8b7a10e0215fe06a00d6da312d1f235c63f7235ffaa730b4bded9da97f59c3bee771fcf2d21b7c8a2e356c2e4cfedab6b3ec68d46c30a05163389d62860a7b";
-  sha512.doc = "577c51ee3c6c7c9588ac90511999450bfbc93df95f0c82c58fc6d012c757ffa2aa455c1aa3979f716df2ed1b74211da3d31fe1e149cf0be5d855e6f6272a6c05";
-  sha512.source = "d9df867e705a13405e2547463f29503a5f3cb48ceb28a1410abb472e8cf9a215f4e3e66212e020adbead8cccd5e58c291ed4fdb6b3e088856e6a57a83c52cd98";
+  sha512.run = "9da38e2e02c651e2f89a0e9ea917fc5147626026acc7302b7e32aa2cbee072f91311fbab73e44852a2c237290de76e560f2b45e88639936b542e6986d90a9b4d";
+  sha512.doc = "a66c6ca303ab6afcea5d94b02936335d28077697d81632199de2678528100c3b5a754aa281fa83d93819a53eb2fc945ae899e254b6d6ccd926f8fbbd86d5ac2e";
+  sha512.source = "0a2e2d5ec964bbe5e6230c609d1997fac779f1edb087fdf130b93ce3ae76fbc0b90f5af9076de3f969a8d69e4054571f63dea947113f7447b7fb1f526849929f";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzposter" = {
   stripPrefix = 0;
-  sha512.run = "7d046aba011aea541db634d1cf528e104b20cd57db2073d7b5237331ee4974e3e8e9264a23433a9b869740fceae94241f04f94a68edb07afc995e32c4d24a68a";
-  sha512.doc = "fbd2e1083fa01c04091881cf4962056703535b1dc61f18f7b8752f6e28819fd834cff3505492e9f338a965fb4f78dd66b03b3bc6dbcfb533428ec031bb2e8821";
-  sha512.source = "99b88881af12efa789cc8cc1868346df17100cc3ab33049327dbc996727a5ade97baef541537834333b3e39741d04fab2743e4bfa7b08b138c888403c272b3ed";
+  sha512.run = "75fd7b71632c663329843a48bed32b2fd04cbac02d24271ff1a49bf03e2905ab8f94b5876ee68876bc6017455cc3272750e85eea6061dea57f47fe96ec9e1045";
+  sha512.doc = "1bfdf7bc2aa38e876378a1dfac751a57ac93dcb0fc5abeff700107c8ef11423751dc69bd7502c9b2ad2641f7f760eb697a248833b6914111dcd86d7f8a32e9bd";
+  sha512.source = "3d78ed0799114da415a112f6cfe73b84a242389d475e223db53a4c9b25d9d5c4ad3285910a3b24eb9fece2195dbbae72e18d57cc83f057fad6062bd5fd5325cb";
   hasRunfiles = true;
   version = "2.0";
 };
 "tikzscale" = {
   stripPrefix = 0;
-  sha512.run = "9cc57d98900a248a2bd9ec9c3ea7fc9d18aa535f89fc3f34e8f7d5b65b833d2f98995aa9e5bb580d4393c69b5211d48a7b121f17d9b9e45ac4a9a2b3305d5141";
-  sha512.doc = "f7359692fed4520eee57fa62563732ccd5c9717f53a48de940891092282cd436002236f42380657a143db5cce9d7925f4aa7b97cbf6497951b61eb1229b83c59";
-  sha512.source = "573bbec5737a29c486094a413f5a6777c9ddad258d10b955889485e7a521dfc15b1b196cbd96d2ad5ecc4b98e38858a976091324522e70bccbba5060025101d2";
+  sha512.run = "73aa62d84417deec8085c3f46b1ababb756e32ae55c4af97def15816606df2b3df4a7735ab434d489d24dabf26806428d945ff3fced3c5eb7c19b36996f2f58b";
+  sha512.doc = "d2ac9080a08d7d7e37ea2d1f801c4091cddf9540eb7c2cc2c0753ab0c07c2f0e7392742bc2e93274775c890184c126aa490c78fedf8827a6c787b951abcb6bf5";
+  sha512.source = "e073c55b8101eca9f401dc58046cbae260cd9513945e9c7a2fadd0ef86886607d1f92b83a11258be94e0bca08dea87ee878af031c6b42e343b716a1c6af42a2b";
   hasRunfiles = true;
   version = "0.2.6";
 };
 "tikzsymbols" = {
   stripPrefix = 0;
-  sha512.run = "ef8a3d26ceee10c8336a3afb01891cc6d81d3235b1da1e871b7f1bae95d04aadc33f9a454357aed4e08d46962cdd997de651831dbb361bf3a085bbde4c066510";
-  sha512.doc = "7832876964c239957be72fd6651218a9e3726d130a7e4a1b86787f215ba698094daafefca1aaaef6a5c0614cf34c44c98fba9c3e3ecdad8845bdc699705cfa3e";
-  sha512.source = "d186ee531a8c0635fbde6a13b71dd514ac3ec1b66e1b684df380ab38281eb64b4c3a641395dc2acfdc4386ef63639cf7eca42b86e0511e7ee1c45ab42d9d95be";
+  sha512.run = "6061fad290f71257b2496faabc1a11721518274964a18dc1d31d1e530de029c7418668444f868e6b660eea5d85bc440dbb7796fbf6cf181ec190ff34019b5aae";
+  sha512.doc = "b688b3d4e2ec3352000b7bd8842736bbf52b10b5215725fba7970e048e4e823c0d522d753adf8c65be3ab6d1c091ab9b01b68922ba2796c012c4d948e3958f77";
+  sha512.source = "c7a3d6290a1eb7da4fff7f7f9fb2ef4a8c128c742023da966444be2b662bd98a20e7d3d82ac77637caa0067c2b5ec5ddd84ca224bf793e5b65eb637e8ebbc814";
   hasRunfiles = true;
   version = "4.10c";
 };
 "timbreicmc" = {
   stripPrefix = 0;
-  sha512.run = "ce725c593955fe84690296b58f64cd5241b5124f7e07e38c10dc9b2fa688bdaf4262fef3770e9a508ab6ef8838a33683239f8206b615f86dc319b84611b38c88";
-  sha512.doc = "e0de39f76ce3fd947e345df0afec214fac6d49e08d493996ec93e0bf01dd5f4c51e686825021939f12d9d86e8a5b8606eb5807f9247a14cb81fd6ae4fbe1b144";
-  sha512.source = "ac02c4016a302747728e39a1c729f4b418e15262e02c175a3cc0d29345cd8dee85e41fcb2a7e05f3883bf244d9377b3bbb2c0b22cc73fce15cc64a4d83bf402c";
+  sha512.run = "01e0e06769810e07389006e9443a836de76e95fea6133e7aab1f47cc554c3912a8aeb43bbf33d06cf9f3a8550a9eb9ec23830ab96ebbb84629ec957d7050e9a9";
+  sha512.doc = "ebe4cf57814e6699127a30031c801efe583505098c707a97bece8dff93ff0cd4939cf047802ed38e645c339592e1a062c512dcb5d027192122e4c98ce41d1eac";
+  sha512.source = "eae8ea0badfc036dd6c5908c95bda4e829bebc90e4d50cbf766937701a6f631ec9f39269d09889c5c2bf15a3dd24ddd8062829e5bf735c291e4338085749607f";
   hasRunfiles = true;
   version = "2.0";
 };
 "times" = {
   stripPrefix = 0;
-  sha512.run = "92e9920308e630e387441f88e4fbeb0706a07cc84ab218dd3888ff9bb8924b923ee1e4e1c48108c6a37ae67fd8ac08ef92ca354330e079d033750c624a302b45";
+  sha512.run = "252c933fb17ce2533f6e0f2b13a478d62223a596ee257937558c61e224c30753c157c92ed9d5ce3ced5ade0f5eb00ec15368fc75c10a182011312d6a0668911d";
   hasRunfiles = true;
 };
 "timetable" = {
   stripPrefix = 0;
-  sha512.run = "1b3dfd57513b6ec8f1dba13e419bade0fff7e7c83e665e84a2be738c70c3d3c92fcf8682a1f4521a4615959bea2e2524843b661d3c4bfd3f27383cfded37ad4c";
+  sha512.run = "caee17cfe1a4bae7bae4479066e2f869e6ccee34d28a8952bed7a1409bd9ecb27adfd005f0e824d8ddacbd0e65762da79f9ea5b04d0332d643749ef36b908946";
   hasRunfiles = true;
 };
 "timing-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "b032b77ec9b3e878a0b862bf28eee2205ad2ee08a74205e9c52f671eee9ddebd0c8244794306d6374a692e6f4f2ad05e9ca89557229c34015869eeca60e971d1";
-  sha512.doc = "f123ab7adb5052da373a5615e2139d2068b488c8496e891b432ff43c3cf249e3d77d9b8d339a2aeb1dc47c899d1764c9c1bb8deaba2ae22d3a4795342567eb94";
+  sha512.run = "0c07a24aea43b0092610cda5878a7e2be95777f199c9983e0aad42d83c1a6bd96dd4ca4caddef6b61165d62e924033eb01524fc925fdc8a4fd4baf44f568eec6";
+  sha512.doc = "1882008e990cd6cfea47b35bd70a50f22972dab0470ada417edf1aa236d2619d57bd3b1d4a149ecc08c1a196c36c9dbf97328f58ea4aa25acb0a6addfcfe8651";
   hasRunfiles = true;
 };
 "tinos" = {
   stripPrefix = 0;
-  sha512.run = "a34cc0040576e2455dd20cce2e552304a77e12c44aae3c7cc1e0277094cdbb93b4017d44b57360eb172caa6667dee4b550c258153a4cc8e472b464c252ebb674";
-  sha512.doc = "d34fd4fc47420d9bbc2fd7b6e79c986a21db3687b9c6b3ef0cd504ddfa57231941b7d030cd447e43a6520475c243793b80bc741c3df546404e3c34fb6ed84bb4";
+  sha512.run = "e8e8648d656cee747cae8eb5665fb8e1d327c9578b79a65b6d50cc1bbb428ed8ea81bd2332fb91af797383264d2fd9af9354be5a02a4721bbb7350051bcb2783";
+  sha512.doc = "5c826e5a78001821396c0dce64c6becf9469c5b648d716ddbe899460242b67790f75d1a8a27973f450f1d7d7dba6ea672af5bca488209614fa72a7ff1a7aefb0";
   hasRunfiles = true;
 };
 "tipa" = {
   stripPrefix = 0;
-  sha512.run = "03b02e4d6ec957a0261007eecbd8740bc7098d34510d4bc28a991002f865d3f709e7230a439f3537cd264272cdce0bf17fee4e119e05dd961e234ad6f35360bc";
-  sha512.doc = "a1e7b303deef85a73e3f260e8abe9728bc7187188009f0a531f92260b7002724eca1562b4073764085547645fcf01e6fdbafc1fc4b222065fc32ae8fbab5f5a7";
+  sha512.run = "7919b8f5a416cab24c02675ee0a24c60f64e9dfb3bbacb416eb74e29badf6b4dfd8a0528cc8b38dab6395b8c74ec5c808ad84d3a8d4ae5e8212691bed9066129";
+  sha512.doc = "213c4eb24943e655c03087dbc5a51eb3cfeff09ece1d31fd11f1734ab3b219db94cc8b5f4735f3d6381b79a5d6ee2cfe727acd17f823b21163e910c09f48e413";
   hasRunfiles = true;
   version = "1.3";
 };
 "tipa-de" = {
   stripPrefix = 0;
-  sha512.run = "9902f170f026090feadbb4221162b26198eaec7cdfbba3556b92399d6a24da28d55a7d70bfe29acd3bbf0578c8e3a3926d4b5e0b10a5c07648ce7c1abcf7806d";
-  sha512.doc = "3416e7504b35434726242ff057d0812ad9226ef366439917f2580cdd4589a458d4e02aa4f51cc977a72824314db3fce29f283204b7c9d37f41609840a65ba432";
+  sha512.run = "45ce2504e63e517e76ebbd7b6bfc7b6a4b3a10d72747714c731b6af0b1a9de4d025bce996594449ea61e983097748389a6d878936078fb676ddd4d6f1f267425";
+  sha512.doc = "c69333d9a7d335fb217dacb00610b9f0e5eaaf78e535d69998fc600fe53f0ba61c7e3cc1e82d75f52b435cd6945044560b2d275476e96d84d611ab4978c02e3f";
   version = "1.3";
 };
 "tipfr" = {
   stripPrefix = 0;
-  sha512.run = "1a271dc707ef49310c64f7533bf0430d2caf14fdc1f2566d4b4dd8454e9aa850c790fb42f9e537589d91aa741ecb753f83423f36f0d5f760e0c27e0048923bdd";
-  sha512.doc = "e59fccbbea15795960f5c79e00e9a359d1b7a302205b7415cd4b03c2eb0039c975e9eae0b7beeeb9e45c9470fef13204c6379f48be99c00fed7bfa900a2416ea";
+  sha512.run = "c8a8efbca7e1785dd81fd4695ed7e0c5dbe713d0a5632078bdba2f7df8e9358bc246d8f9d972ad3035106a7ef687f9229ed31bb630009eaec3b63170cf8933bb";
+  sha512.doc = "bb739994051c5738ec0cacf1111d104b225593cbac1ee829057dce42017990483630cc062131ccd7d766d7400a252b1ff84744f91b77d0ca5a1f9ee195a28d5f";
   hasRunfiles = true;
   version = "1.5";
 };
 "titlecaps" = {
   stripPrefix = 0;
-  sha512.run = "5b97360a1b2280d85f315857eb72954dbb91cb7ce4490840741d2f8270561c88faa688dd777318f6caf6ce644fbfa11024aa950dcb14b39e5d96dff33d022e29";
-  sha512.doc = "08b0e76c39625ccbed4bef4bb51e6a2544cadeb41518a676ba9a48077ea747534cc96d567f3fe15b8cd889ff035f5464934454223474c51a8967605e50d53a9f";
+  sha512.run = "683240554b79bbf4f7e4f31653c5c633e93c74d71dd26232587de4d0d8ea012d350d0d43d508e9e9d8be4369d4ea9df996283c818583e573d4bc5fc379e4da4c";
+  sha512.doc = "7025b5f9d53b65e228520a5e79fcbbf928ddc2f0fe071016a8c3726dca3e9b428b80749bce53438eb7a882a4660c2a10a4ee85e24ae5a26522b78d6a1dde4584";
   hasRunfiles = true;
   version = "1.2";
 };
 "titlefoot" = {
   stripPrefix = 0;
-  sha512.run = "ea72c965f14a46ec4a49839026c7e5d27c24a2e3fb411e8fcf4e3cc281025b2ddacdef3a8ca73cb748c5aefa82b43eed884aa4e870994215eb8b4f0a3dd93cf1";
+  sha512.run = "aee68d15213c20d9ba0ef6e3a95f111804e4438d2c80a6cd83ae67725c3174db7f38b0d4280b26f7119e9e1c6477a0aa04d3ee5877e15b05ff2742d94a720c5b";
   hasRunfiles = true;
 };
 "titlepages" = {
   stripPrefix = 0;
-  sha512.run = "3a2893109a4acf5dab02d7efaea7ab5e077c47675de5944dcd15bac716206bd0abba849d302a8db5b11ea7f40796d31d0152e7e4788d52aa70036bedbf11e2a3";
-  sha512.doc = "30ba4ce9ad0253ad5f5d9812d08838aaf5d8ca0776375bae9d6b4c5e625482bee21576ccfe36822ef6d34b1d352e573fa0551f2aae9a4d821fc706c31c02e359";
+  sha512.run = "affb8e221dd2ba1ad6e18d08dcbf3176bf65ae3006a732a7d2bf954fbfe90215175cd3de0dbb7546906b7d65eecb9aff06fabce86c46e88e5027851e11e52260";
+  sha512.doc = "703f376c6bb2480f7a326f31ec277716073ddf67834930401c17627dba41c5321a0115e01ec73160917c68fb7ba4e0042e8ac40d968eef89f52b5dd27c2e0495";
 };
 "titlepic" = {
   stripPrefix = 0;
-  sha512.run = "0519ecc0324de8489ba623be429f19abef15bfd34bc387cabcb2f5d19cac0621ac17bbb1ed838852d5567d383a49fdd88008ca8303d88517637456115b692bdd";
-  sha512.doc = "bf8e1861c7f49a714b1ea72f03ac6178652e92047d58ccd4c49ef48cce39e3664a4dd6d92830f3c2f4d49e55eefe2d07971a95dd7f54df17171ad584db5d912d";
+  sha512.run = "753ff5c116f102ebd9fe59ea0ad1e80a7fd102f55588f9454fb3ef43fd5478add2d39984638e112dfcc5421f5f79b4c34c8c15d47845273744b6960946ad1805";
+  sha512.doc = "6faaeeb6c7212e35c22321e279c08ac8a985ebb8ec66054b49456ee5a9491b88e48edcb20920d61a052b2df9617ddee7e40bb0e868fe082ce5889e63c193b641";
   hasRunfiles = true;
   version = "1.2";
 };
 "titleref" = {
   stripPrefix = 0;
-  sha512.run = "f7c34a1c3f416f4d2b7d1d739c82d218924d6c43307ba605da4adaa735048a6095b25dc719268b82e88fe03716c449d0d867ed626f4c59d1915f9a129bfd149c";
-  sha512.doc = "bc67f48f4477e397e0231c3f83cfcda4e467e5cdb5089f0d004b099ad1e884335ae184858be0fd8761c6022333cedd9ea5bad178eb51fef4ec59bc590db0aaea";
+  sha512.run = "73905fbe96bc095f602339e0c943048d775bf2a89ef9de3b7149dae7b76aef04e5c77803555450d931f3a4dfef16f5e72597a4d06052d4a852623516edd978f5";
+  sha512.doc = "70db133fb8a5fa38a6f0f82912d19afe84e0f68820fe62b3835a6d237582a32fe6c2ba5ad05e46f39540d52d0aafa5a88325e1050e6102164a5753fd9c68d6ad";
   hasRunfiles = true;
   version = "3.1";
 };
 "titlesec" = {
   stripPrefix = 0;
-  sha512.run = "64ca860a2d1d9f8a7bf5b8a53e505a6b1d1c279ff07ef532ecbbe78d20d5c56abfd14622e6f3e72e27f72c5fe5279492cad6b6b42ee0ef0fe60157488ad48e52";
-  sha512.doc = "8851d819bfd4e30474c71e836989b6a8c1355c143abad0af686815874a8f851e8353f631f9bf3033b9c726697309c53b9d3f82d354c84e26cdf8ccf1222dcf21";
+  sha512.run = "bd1538a4596c55a6e0a542df5587f4466795a59ac55472340bcfc400670b79a04f0b141ad5705c826789ce0094fa4b106b5917f4232167a66047d8e6edd4998c";
+  sha512.doc = "34623133da534fa15d491f3ecfeb6ee6736a580c12577d7ef313efb341c97ffe1cfac49f4c94b90f8f519847bb7b0d37b003ee485c240d1dfab3b68426563dcc";
   hasRunfiles = true;
-  version = "2.10.2";
+  version = "2.13";
 };
 "titling" = {
   stripPrefix = 0;
-  sha512.run = "56c1395fb3d47346c9b5bf2fe838d0e35903b71471c86d78292d706235fcd42c6f1aa9719e3be899d1fc1befc0fdcd918979a0f8d7f790ca45196542bef22859";
-  sha512.doc = "bd44edc1a228c2bdda3ef555b71b52a31d15f4f297bee17483b483fe273e91563d70c8411b1aba68be3b81fb14615148ad9efa9bb29d85d918f4cf7987736e0f";
-  sha512.source = "631dd4fc22bf06d007ae35d09d6603c93d8812db4a4b77fb53b605cb8b5fc122f1b44e4325d456f0959d2f006ff85fc8d388c1a64d191639ab8ad09cfab579ee";
+  sha512.run = "2a321a17b1ff74f57e7bf3f9d72d1b66a0623ed286c8aa75df6d55f1e62b214954ff38456f27f172789bc4cb500688656ab156609933faef67e62954d05d0ce2";
+  sha512.doc = "e69af16331da73c2a61b063ca4dc4c5f70f7958c366b06e96745a2bc92397f89210ebfe598f445ff33ce7705d0f0b56fc3a46f93bcc89145d50b92d56820f61b";
+  sha512.source = "1b32988678f184fb335c70ee59d47cc3e20a7ee0f1606495d77880aa915677ed4a885557a406cfc5f5a67878cdd0675ecad503a6457056d901b96124f7eb171a";
   hasRunfiles = true;
   version = "2.1d";
 };
 "tkz-base" = {
   stripPrefix = 0;
-  sha512.run = "16167331561e1f1e308d4d725337b12094d2179c81304d750c1a359e6186310b8609fc914d8b8fd370666295a37c1150f843e4e51d25eb97340c1f9a2be321bd";
-  sha512.doc = "38bda87d4681a8c5b37e4872c4828a4b49a4092be103a567f41ffffa49933434d90c0c6b03bcd57caa86400e9d56d6c90d988aae4df5f97f76dc28fe45ee1224";
+  sha512.run = "3d187ef9abac64179de9d1c5992fb0b493eddd54e14b83b57adba977fea69598480f56546e685d212093f21d3ce7c9dcc0cef41f426975c2d51fd0188c53ad7b";
+  sha512.doc = "8ae2af7426f66ac769e13399a6bbcb86ed785dc45ad4b89c325fb1a3f5b512b24cb574162f6b1324b3b5d877e4acb0c00d07858a7ee46c8ea2b9bf64e4c5a087";
   hasRunfiles = true;
   version = "1.16d";
 };
 "tkz-berge" = {
   stripPrefix = 0;
-  sha512.run = "8b2f66a0f9388240219e9f5f06e1eaa65ddd5157a8e9d5f5c0528f4b9e9f4b45c65839df5c4cdb79dfc9f8d6803c3ed0b394ab4cc4bae59f209ee863311cf587";
-  sha512.doc = "7e926653afe5642e36da17312e366dc38aa75a6a55d6b9ba82b490f63a7b3da3a1c092c0b1a5925971bf7be18f7ff88ef0a41219d7c8ea8b77858b4996bff750";
+  sha512.run = "f56372592ff8a7ddc3f9d778631c4ef5e06cd6e0995b35d2c16d24b046540765a41df701d830720c95cde77cc1757af99a3f51471d4b83d5311fd5695865f299";
+  sha512.doc = "b5514c49defbcc5d934266df428ad96a158803edcfd9ba23fb32080cc383ffcc32ea51a26094684094740df3a28e3137e0a26dec8792bbd60b454269312de596";
   hasRunfiles = true;
   version = "1.00c";
 };
 "tkz-doc" = {
   stripPrefix = 0;
-  sha512.run = "849b9c74e0e1913c62239682212b7f53b4ac1deefde3a287798d70055c4302e0bae313a1e2201985d4eb224e4daa4e89fcc699efd64c440ec21e888ac927a454";
-  sha512.doc = "68fda066dfde0a6b4787f2acb5e5ffce779369669662b48286535ac3ad32279abc319b36dc525f255061f839ef0ee1961fc9f820a7b40cda07fe10750c366b31";
+  sha512.run = "8ca4da6f1b627c7e6604e8eb55fec2a20198e23240cdb043f83d7f8b28ff1687f71e63fb6a500018d7b5a17add28531c45abe79398880bfbcf5395f5baf7639c";
+  sha512.doc = "e35ae8c425fb20a4f54ab5a81b0b013d107c86a37113b92b4db9fd90de338ec746899e2e554a5c568def0439ff484520bbb7e3bdffdea0728c0bc38d0d574c18";
   hasRunfiles = true;
   version = "1.1d";
 };
 "tkz-euclide" = {
   stripPrefix = 0;
-  sha512.run = "cb555fbc171220c6ca8181cc11fa41924b45f1c07b38bd23236ad1d4db5ba07b814cc8c98d8efad99521634dc3ebb42ede2f85d3e678624eb0a388ab65d9ebe7";
-  sha512.doc = "69092084aeb2c14a18a6f03020aaaebd7ea24b251ae225109586020e42366636082d68f1159a8517cf7df3e86ba16e884c508c73a6b6490f14b91cc43ff1b433";
+  sha512.run = "59ec42eeb1bbdafd1b4c8cc386260d6db02d799e21a4d4a4e43e44edd3adce0b6ee67902b8e9c713738b3371cad22cf69f90f61e0ea55d9815f689afc2c5cac8";
+  sha512.doc = "44dd15fa046d3efb34de0050589ed1358e3b8db121aa64ac07a40ee83364fc8df5af30126ba58bd9fda22bb4dfde7b55170d5949b8cbee41f69de1a7a4e7d515";
   hasRunfiles = true;
   version = "1.16c";
 };
 "tkz-fct" = {
   stripPrefix = 0;
-  sha512.run = "2e8f6671918358dbe6a44add04248a5986ec7b5cf03e4d0264f2631557eb0734830bf76d7ac0335fb5b7a71ab794081fcb7dae2b237e60c61590812e67b9b2d1";
-  sha512.doc = "0fb0cfb7e63be1619e589fab20e1923c24adfb413d7cf3a25ab3e052b8e98fd06aaaf024d1dfdd284fdf1495e0fafcf82b793e8bff6107ab7ad9e85300f6a900";
+  sha512.run = "baacde6c1153323e051b859477f888c66e707472db9e8377df2a3cca31de863a2c9357f10a199f1c3e494f85f412709be91fb8f4814b3ffe2c32dec5ea5d2c7f";
+  sha512.doc = "6bd18423f7169cf75247f77ad28b5b8a4ae5408dc417c4fb08985a559f2309f6dd34253a15cdd3bbb68f3f64c2d6b9bfadb3fc346c7e5a413673e83529b730ab";
   hasRunfiles = true;
   version = "1.16c";
 };
 "tkz-graph" = {
   stripPrefix = 0;
-  sha512.run = "1a4cd3fbc72f8dd7f944722d0b327670ee18925d7a265dcd2bf7f88bb18c7877d3b37bc0353a8abe42dd90cdf3a72253703e8bcf8bc9f223532c3bef2ebe235e";
-  sha512.doc = "19fad3938da48f06b293de400c7a14bbb53a7984aaee226a28c62e5a463bf949213b68f1dffa536cb8ef1f98cab96e2f740f7e71c7add8df670ad384c76e720b";
+  sha512.run = "9a933a9925dfe8782abaa6c983881a10d20542be294f15904d1645f5481309ed00d42d3b4eb38498dd4eab84774b685455235f89462de0af443b617bd4566927";
+  sha512.doc = "ec22ca39b559b4d6f6192272470cfc748c466b5efe9f5ca00fdcf263cc172dcab5e34b059c328097479e1c03e038e71e4658fc22518cda545f9febaba2f43310";
   hasRunfiles = true;
   version = "1.00_d";
 };
 "tkz-kiviat" = {
   stripPrefix = 0;
-  sha512.run = "953e5e4526a04e6b1d71e4d8da01ab88d4cd5e90d29f012b8f1cbd807ba061d40dbabe7c6851b81bd06c589880c07f4dffe630804c0ce1853a2aba25c1ab4a30";
-  sha512.doc = "70176fff8dba7a4b752562fabcb2bbdec06dd1a7bc934e985a1d1ac364ebb0c92def5721e4d7ec7df731696efec5ecbde44b04999d13f79a896cf14f8319293b";
+  sha512.run = "d1b6b4c1ecfe29397c2a63c808cc24119688782326bff3615c3e84dc22ae1bd6bdffc57761af31ef21bf3f3378806dfd087fdd24d5dbac49ec890df54ea3bcf8";
+  sha512.doc = "5ab29135b2903988727129f37496ae27a5ead3800edbe47728d7d5171d210ef7e11bf47d3a4fdd27c0c03f6e09aad8b9697acadbb959f549f5c290e66c1cab45";
   hasRunfiles = true;
   version = "0.1b";
 };
 "tkz-linknodes" = {
   stripPrefix = 0;
-  sha512.run = "4d3152fc2eee2d7500d79769226dbd0055dff6da3813859034dc70ab8ffdc370cf46f801fbdd99dd585c93056dbb99349b427161600e0875981c2736a7a0d8e8";
-  sha512.doc = "fc73c35c15a25e9cacfd7f780fd97d3664464d7eb1dae7d63cf1342e52c9a5a52c1fce886f80f65654e807158af509a64330f4a021074c8cf325c2de66381612";
+  sha512.run = "b41f40a2c27b9384c3edef8217c1224293b8a2901a0f3752c3267d911a7788e27138464b2f11634f67bca00dbfe2ed71a87fb9b3dd4dbc5f62765a022c51bcbe";
+  sha512.doc = "d4fc88cf1dcc49b6bf2292c6892c5094bc4eb6f17535dd1ac51783b9abb7312279cadc5e06e624720be756f5a0907551f4411f246cbeb6dcbb1365b891e70840";
   hasRunfiles = true;
   version = "1.1d";
 };
 "tkz-orm" = {
   stripPrefix = 0;
-  sha512.run = "da26599afc19eea1138709b88257f3bcc8689e653e69411d70ca35f99545ae4fbaa041bf4f9fc0bb726350fff9dc8209fe8828f15a65c57c0d9493b61560a73f";
-  sha512.doc = "4f210d43a5e35fbfdd5c5b1bb6d6588a2c662c1d90ee2ebb8a4b9b854534785d37a82c123c5b1ec9b7b390da5244c9929b93dde18c89ff3a539d6818f35219b2";
+  sha512.run = "a90dda0186a3e3309eaabe444a7404fe2cafa1caa737f7d5ec9779eafd76f0795890f36bc4f0c5302dcff30231ccc3a8306fe318f10695e8caf00cbf61fc6e04";
+  sha512.doc = "a1686b02d79cf0af41f99faa2ac06e2a3d864b078231f4c9c165261557df0fe8f26db8159dce2a90be6206750d6fc8f3013421cb0171c1ff1f11624e634f910d";
   hasRunfiles = true;
   version = "0.1.4";
 };
 "tkz-tab" = {
   stripPrefix = 0;
-  sha512.run = "f1b45dee761158482f634d29c0d920eddf35709d9ccf857be0aefbb7d2b8387ce1421ad53680696a8d69732f4ff87427ddab2ca99f82134d0df4ddd4a9493d17";
-  sha512.doc = "b2fcee6b91e360fda7f3dc1b4a27e7a7cd318cb95b610235d1bc3c71292dc52a0079918846f671313bf5f15567cc2e5c32184d4c1a82b531cb588f8a62b4da16";
+  sha512.run = "c4290e2633a44122789abb3dd054cf61a1bdcece6274a43d9ce6ae403b73f0c0a32b4c1e6470278c46468d53149540f3884c6b2186b51008b0beeecc8a84b1c9";
+  sha512.doc = "08d79e8c0aeef5323112182ae60c25a8ea6547aa5ec75f37b8c5e6e15a894d1a70efbd99421140156de844d35483803c21bba0ea0ee88ca36aea55e303095d14";
   hasRunfiles = true;
   version = "1.4e";
 };
 "tlc-article" = {
   stripPrefix = 0;
-  sha512.run = "99f352e53a1f475b88e4d25e68ca166a09f3474662de6f296739ad755e36adbe5b65f1e4b4402a54f4f9ffe157983a439e2876409cff629e2aa6bf48bae977a4";
-  sha512.doc = "e7a3a8b029e9bfa0de36bce89de432231e4136d749a5418d967574bcedcd0ebba74f1eb7fb7d6f83202365936878c937b704f89ebf8852eee7bb561e9f30f3b6";
+  sha512.run = "80b2c0d5418e8061d07d502399895a8334003bf5ed574de8f4af0c422ff0d3a660a511b5064b48e65064a91ea0cd057c134f9651e001eb7d5fa9d981366374db";
+  sha512.doc = "96535abc8bf54c62e22d4e47178c1cbbb1ca96bfca16df4cab37b182d50e872c57a2e6ebe65727121fd2682776905c962551639d9435e86ab3fbb5d3e05fb72f";
   hasRunfiles = true;
-  version = "1.0.10";
+  version = "1.0.17";
 };
 "tlc2" = {
   stripPrefix = 0;
-  sha512.run = "460b1f5825b677e0b684f2c804501815eb3b4ba437e6e3abc4d59e6deff9647f5ef1f30d42b0f5d1e32eaabec8901ce4e46f2aebacb2c2ca0a3b310c99fafac5";
-  sha512.doc = "14f74ca9def0a417be1e35cbc4e2b27ecd708d8ba91a4cc7cf6bad6553a894c3848c965e3f978aa69b6446d408362c0c19e34b8ca55dcb89ffb7fc52126115f5";
+  sha512.run = "3ac7d28285b15d7e97839619a449c870b3f96e1c557470ba4bf680016c9834af9f09715e09525b00aa2b951bbe20e5d3b1d0a5e5f957de99c13fdb39f4267e3d";
+  sha512.doc = "79eead14f268eab643f676c36b20ba89828928fb3b418956277304ac6cf7145d53b4f97c30605690cddce8660361614b58ac65e8454b7740dde17ff82a053818";
 };
 "tlcockpit" = {
-  sha512.run = "e5ac318dd65a706070c8ce3226afaeec9e11831ea7b58a2eaba2640e038a600ba446aa85a57cf8a65bc3de82868fe0c8e82ac35e1780a44005dd889c5ac5b06e";
-  sha512.doc = "ba92d2f908dcd94d5508fbbfc7ec49d03e35e6d367173b48c3f4a5f9a3542eb14fc2c06453218155cda624fe7e82ec9d540a3ff6525ec474a252e86518da81ee";
-  sha512.source = "fa14f05e845018bd1ddf2f733f75186a8be57e95fbd2663aa896beb3f0459857db3e7ad609a7592f61ecbdebc3b8507402695f3ed3eaac4236746964c69b8421";
+  sha512.run = "ae7d33579b16748a75ea5c94c328bebf01074428db854e823f38fba8632a70f8a00f91d06df04e4d074e3414f5adf706b1945e0ec565f588177a2b1608a47a24";
+  sha512.doc = "ea727e465bd123458dd490fd2e0c66dbea47720eee9f3a3cdf3faca0b09e4696f8cd0c334645f306a901433de94f99a7b43c52691888702f36d369d1548aa464";
+  sha512.source = "2c965f95c45dcf0cdde077940e371c995ec1f29f01cc479fd0b5cfe3121641a1fd4e35e2ed01705461213b8669ac7b9d3ef3f6895cd1c878c1309bd8f1ec256d";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tlshell" = {
-  sha512.run = "15513b0001a7f99cc96181325c040798f511ecaffe98377671f3202861f618a1ef2e2cd189df645776fc54bc03d7f6cc4ee9f39fe3199b3d16369e22d681436f";
-  sha512.doc = "4affb570b78b2b240fe1c8b545799d0baa5191293e21af60161ab7c761ff293e28008b0c31031937f7b872ebca8fde76de1adea1c9f43247c89e818b012c3b59";
+  sha512.run = "6a04842543dabc9027ac7865be7874f3b7fed25b0cb9ca2827f36d3559b92ca250389a329787366f24c44c7917dc87250468222eb2094ce7dd37d844debcc7e1";
+  sha512.doc = "947b95c7f03e7b8f9b63c8eb76a6690a720edf6fa23164b5024b2aaa6ecbbf7e2d88b7afa2e56993808a66d5b18b8313f742ef2faa82c694a8f6b950484fd6f6";
   hasRunfiles = true;
 };
 "tocbibind" = {
   stripPrefix = 0;
-  sha512.run = "f606c82a7cfd97f75a928ab97f8eb516a613a7afa96a67df2aaf56c5473b769287670f899aa8ae8f7fd88ffea9fe3be2d7972b41df5bb7029f3d64cab58c835d";
-  sha512.doc = "2aff69ded6528a291fcac06f36f268203ab2cb623f0d564ba22ce2622c7fecc9453e61ed097e3a1886a3e49d8ed98d15f57c74c5a54da0afbae845f7cb495ccd";
-  sha512.source = "9e663c34537c35d1b6d8fdbd36a1b6f107d0ac2d5a276f7dfb6c02b58a5eed3441862b1c1831c60e04c121459e175d1c2bc301d041bdada24e0b0af5474f4f17";
+  sha512.run = "f373d6c98730e60d06790d1a219df26e60bbddd2aaffc3aefc5877ae6b2c10c1a08e21dfef82cc591e1c6f7c014e0843ae30be948b7eb55321dc94cfb7b16aa9";
+  sha512.doc = "1521eaf8a15038a2a0b6136e444ac38d6033071b305f6de6db6a5f8ae34625a5b8bf654d7a97b5ebdfcf4efeae58c41a7c9c17005552314928e315295766c441";
+  sha512.source = "fa8375bce4af25fec4743d0c0002f90dbad7240f7959ad843365b72502c8c2d2cc9047b21e01d68a6fc525fca132b3a4842481f808999cac40221af32ea7e487";
   hasRunfiles = true;
   version = "1.5k";
 };
 "tocdata" = {
   stripPrefix = 0;
-  sha512.run = "d5f7fa2e1f5888314a19d4b9ad6f00345ecb951d482eac4498a13f366a6874a2267363f396709fa5e81edc34286f9f2a1813938d777fd88a70a1ed9f416da988";
-  sha512.doc = "acf3f3a8c77c20a660e2c9873eb0bcfab391a72721873e3ff93225e8f4f8d421fd3e342ae6c19274eb9b69df688018a90fc3b907bb20244cb79d4473253b56d8";
-  sha512.source = "dad4931d5bfdd7bb7d03775e6b24ff40ccbbb550e839ce64c1e010681aae47cf9739841d9a0abde746d9547807a4daf2eccaff126425516a209dfb5c9c309483";
+  sha512.run = "81c64d55b33ac9c22abcbdd3ab683248c3ea12e21866de0f2d36c44434729cc8a32526e0f28bc0e945edfca5eca74dec78acf9c8e8439d1e7a3d28cc13c5a260";
+  sha512.doc = "4616b125dbeb9458811ec7ecdf13a1f3750c5bad9670bb3f556b62ec084f1af17cc2b91a8e821fcda48b660ef0a14911a86be367297bbcc13d1c5c8cfb4a09da";
+  sha512.source = "d1d6adea1bee82b6b66d098edae5e29c714797fa52c0c7017919c7765111fc185d30fa3d3495e81611642ad51d9bc4eea2706ccb0bee2ce6fb7ebbb8a71b087b";
   hasRunfiles = true;
-  version = "1.00";
+  version = "2.03";
 };
 "tocloft" = {
   stripPrefix = 0;
-  sha512.run = "62c87a4a96a6f89a1ed2ec3084fef17a80e0bdf02339b83f1e050bb9ef62a88cc1a714a89e9b59b9acd16dba0d6dd529f5def0069c1fdfc4d7ac4b31e72f60a9";
-  sha512.doc = "5b091e46e8fba109af22fbe81b778f116d8d0810193f9f68d1469bd178844a7f2cec8421f0fc7173fded8daba83470e292319c834e0e1cc04174aa47d17dba3a";
-  sha512.source = "c7da1c52ac5dcf2256af7f1454e1d77339707a3847547cb9d46b6404e849ec033d7eb2a6c00570043531187c4870210c586933964b63909f0b9bcb152b92c1bb";
+  sha512.run = "4630cda5785a75929f6b060a6d9a51168eb8a00476ce2ac4f070de8424df00cca1f7f2fb0d708ccb22b3516f0617977dffdb012b5d360c694c1a98f9495042f3";
+  sha512.doc = "4c85d817ed65a7dc96ed5298793836725637f934aaab95ee11bbc6d3c9a3e0b60af8e792bb99fb172c40c83d59f3b06752b1db1fe1c2ee2757c3c3733c6b7f94";
+  sha512.source = "6328bc6635a6e25d3c4408c255252daa8f60c64bf9add32e17b8c50813c8b1149414ace626c9ac1691f90a3e6f4b5d4c29723b5f92960cee884b56365baaa7c2";
   hasRunfiles = true;
   version = "2.3i";
 };
 "tocvsec2" = {
   stripPrefix = 0;
-  sha512.run = "fa0aee2a131fa32c0535d8f44629fdf9969dc564ded49415c32c94f8101693842cd88e821d4201954432d5c707b5e8dcc4a78d35f9143b0977251acfb4c847d8";
-  sha512.doc = "6065cadf125241e4cf4bc58b5e665fd4f522491ff2bc2cf130c8805c0448f3daa6d7c1f95136d169c2a5dc5219ccbd53a40463f1f77cf36eab46f42fa3dc2b69";
-  sha512.source = "c8dd21085e66f7d07ded0fa25291a8d23ae8a5694c679f7126d9c43c61e92719eb1d67f6d9890cfab5be083a75b33aa21de9a9be85948e813b50951733111dcc";
+  sha512.run = "685ff581b0cba155a763ba951b4f5b1e12a44741dc5245967cc2d2effad12127828e4d2f3adabb9fe3d126ffa1f76d43dc196b89faa39745ce85a7f96fb44017";
+  sha512.doc = "9247adf45a6a8f18e03d7b93ea8de8decdd9f1ba15eed7ee28c356679a6f62bd8607b9c519448bae2234cec15b76a5155ad7efe99ceb9382022988a29c2ee85c";
+  sha512.source = "c6af924f3d8e52028c7bfe7e27bab1420dec1fe6f3e948b09a131c65a37ec8e9baa594d725a4eca7b3dd10ed19ceb5f54f1ccae49706e9816c7e4e1d9f1212c0";
   hasRunfiles = true;
   version = "1.3a";
 };
 "todo" = {
   stripPrefix = 0;
-  sha512.run = "d5a2db825f80a53a5d0a0910b29c5174df73e16c68726e0c0893b42592b7ab89872fe6709d98365289a62af05a02b7664037345ee676e44d838c7382208f2bf6";
-  sha512.doc = "d17281c6b463f0704dfc2cdd481732594c96c245aa780dddbc58d99e4fbc06bbb6b879443f92e4c34ef8de5f8ae4fec9fab442207f05a87058fa98762d58b4cd";
-  sha512.source = "beff3e2bf9b5dc04fe015db3af8b6d0080500b905210dbaf69cfebc6c630239eecbef3e498116e1194864bf27cd6572a21cf50b7735f56a6c004a5449b969c08";
+  sha512.run = "e3cd06aa47c36344602a0dccfb48e43c0639cadcb91aa9e787d552c6d3ecca95da3b0f3af8d0f479caad41f657bbcc30016dfd3f80f42285fe8ab02e0a904601";
+  sha512.doc = "c747b4cdcbe8533338a9120b06120b0daa68940ace4cf44d87882d5b5a5a42e2c062c667d2e3fbf8979e1385cd55dfd8747f4fcb044a4112f4b2a79588d0463e";
+  sha512.source = "7f70973e13cba6c532d45af7f5c21264adfb75542a7a68e9bf23508955a553efee723edfe098c4a87015c463c99d4063a9bce6888e7bc9018999ab4721a524ce";
   hasRunfiles = true;
   version = "2.142";
 };
 "todonotes" = {
   stripPrefix = 0;
-  sha512.run = "fa838358aa75383249d78f2f65042e720e3763aaecfdedaa4bc291ec7112001c8c82bdf2e2205f01128360250423a728cf5a85096e966f14bbb8dc81a5509d01";
-  sha512.doc = "5cb06c2dbccb2445dfa8b04fd116a5032dd5751c645f737f404c7468c700ba364304f5b363c43061f1fc35ac3a3774c0b5b1fe93c9e09918f003bc299da29628";
-  sha512.source = "d1fa6681ccba5cd2349d512111609c3bb561abd6abb8527d602025538fcfdec226a0276bd9e53a0f215595d4b4b1f4dfdd691c76c2dd6f1bb1d69a95d898cd8e";
+  sha512.run = "708012c523b8609da3f394cf2def8b07c642fd6d0eeddbcea3e6c6825b7a8b865446b2599e7f1d4d06d00ecd1097bb713fc495d6bc25e6165e265901056d71d0";
+  sha512.doc = "e8cda7e59c10af8c1b93bcd800f94b36ab3202a996edc417634676a36d0b37668f7fec6aeef54166b603d7652b2f129e141e0cdfd974712e886d6fb70212ca08";
+  sha512.source = "3b1c9037e8b96d3848ce4aad8a256327be081fd215379d14ad45e0eb633abb6406062d218fac90200c5bb9adfa964045ea5ff2b6f1307a485249a6635ec8587f";
   hasRunfiles = true;
   version = "1.1.2";
 };
+"tokcycle" = {
+  stripPrefix = 0;
+  sha512.run = "005911920c9452d6bd264f8ce807c9d5ac4a5ae5472d906a994e0bc5f7a39607cf9133d83b7ffe3216b30ecf6398cc6f416ecce8136a73f26617b8013a27e8ee";
+  sha512.doc = "31b18e642fe8e7653ca1f1c8505d6e2c387d51b1d1866f8179f30255b5814584117b07a58820e0f3eb7bf9d678d71d758505546097df2127cc67653b6a8a8b72";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "tokenizer" = {
   stripPrefix = 0;
-  sha512.run = "e28c24f6b13b3d8941bab47605da41fe794fd8ab1e107f287eabe2258ce034bce1aba90e5b056ef1a0841bb785015b529ace02260558998d4158971e901888ed";
-  sha512.doc = "22127d17f364aaa8156e3abd034ad5e0f8bd3e5228c649263ae2e6d6ffb0e0bb6c07be2fd6735de48913bb3db661318bb19edb9d037d8a0fb038610bff7b1a7d";
+  sha512.run = "5174ea1b9c6c02fb8245db5315ccc7b65239d1343f719ee23428bd530dfd70edf26822bde25d672603d268a63360ba31b4a9fdcddf426b82eef440cd7f449d8e";
+  sha512.doc = "4e978a368cd7e97a1300addb739b457cbf4810ecb2d4e1161d931373d858573d8fe1688629cd7d23a44a4d5403e5d8d9dc92869be9809bddc9110c55879c940e";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "toolbox" = {
   stripPrefix = 0;
-  sha512.run = "6ed0d262bf3990726ee2ffe1bfddc915c7492de4f60d87406a2f135d2f59411a795f3c70b9b3b0d3ea70ba0e1c1c57d49494ac98293858514aba73a9eb73aa06";
-  sha512.doc = "f35361a96520440322f1645cbbbae8e0a9dae1d72b7e52793deb2d4793cf4e3967d1e766896dd1bbe15a0c1bc3dc291c91a6e287b5b4c4def4c4f6bfccc059b2";
-  sha512.source = "a2e22945a07807561d7de1a7cccfc2dc7faf91df430145e71f4a4c43e7fabac5587de6d71271b23140308835f73d736224964eba6fa9f08defcd9d05d4a5626d";
+  sha512.run = "af5320de678474075998f9497be0b766e826b0105b344939a66c5c1377e7c345623e2de18b73cb43f93c8edc241fca7a99fff1ca4b6bd3dfba52bf2ff476f18f";
+  sha512.doc = "ee800bb98c9577b12bf20a0b19ce27d9c6900f66e0920c922626599986b887e34513cca8474456aab7ae59aa5d5fae3c7c323ca4cc21372979ab3d545921ed34";
+  sha512.source = "201c3153ceb48cc4f7a3b24babd95e78939f03a7d2f3992a73113d904c90e5c957135a0efab98cb2ed01f742c39cf84c4a12efb8bf9f9bb9a082d56f62c98255";
   hasRunfiles = true;
   version = "5.1";
 };
 "tools" = {
   stripPrefix = 0;
-  sha512.run = "b5675534e28ba207ebc6312dbb04433b963ed7b4cfc2602521681d0ee1b1bb9b917be681bc23f1f8d7da0f98e7291d7a382f19aef039b5239f60bb72f67f45e3";
-  sha512.doc = "68fb71e0df5da2bbd3cd24bf189ba57a51a212956620f150511d90029e47147a8003eff23e7a7e2983fd2bb129c7315df67dbb25632bbea3f00cb0685379b346";
-  sha512.source = "4479d327a9d5e17e2d201c3a7932b944f0f192fe8d69ba326f6eabfd5e3cc6a150c271b118b107e5727db862e62e137aadfabe6c6a36f9ec9dc4ea71729a6c3f";
+  sha512.run = "fdb0242e5168d0291c9d135961447385f7b70a2ac367b9f5e503ec2d945ac60ad86f66020da1bea88a86465b148e73451f4e19d4ab478144b3ed1323c6b97a14";
+  sha512.doc = "b4c3f4e869195beff26ed22189fcff0c4633cd8de604f59fcc6090edc16e135e26844997559c19dfdf28f35360366466f556a3122ec02ab2d9dce8a29adc05ae";
+  sha512.source = "f8186ea654a5e0b9521d3969a062d8df6a414294babf4d4891116077fa177847428f2d133a9aa7a85e2d1b2d1dfc6018b79035637c0541a60a54c592024cb740";
   hasRunfiles = true;
 };
 "topfloat" = {
   stripPrefix = 0;
-  sha512.run = "ffe30c3803c551cb07426db90b46584be05e2e8cefd5dc48e1e49f7c1b464d06c8397684528d8ab868ae2c5885677d2329f39eea340ae280c2321d23f706438a";
-  sha512.doc = "5d8fd706a20e64299c4326a14f4c0764b8db742ff972efe518140915d43bf2be77137e52f35f137f1e529aa9ff4ee2f19a0a9494d5e3f105dced6847567b3b33";
+  sha512.run = "a4e4031292203a04a1df1dc5e6bd4f6b89c8806599d995707fa0dfc238bcb3dd1ecf185665db33a406302567607da5640f385f12cffb46f482993850b78155a0";
+  sha512.doc = "6c37c3b9ad32a121eb03f23049e11fe52b7cf6d49353e94a18eb39aaed3c049bee86ef6c6984440c9700546f20023f7a71975591c1f3750d31e176e8ba4f4c47";
   hasRunfiles = true;
 };
 "topiclongtable" = {
   stripPrefix = 0;
-  sha512.run = "c7b55b7f4d249415c8972a4899c0a348e91db98c9a22afb8e180fed2ca316e36126a66f93c6b639c64fe7e0e92fe3654ffc33f0ada3391eefe4181a09d428977";
-  sha512.doc = "b61c268999867f712b8488cb8e62b1582678f4f17118a7f219d9409ab29b402ee468e102dfc9d72fcdefc0d3209895f9144fa84bb14146f4b313a18675c29f7c";
+  sha512.run = "ed6bed14ed748cc3957746f65319c827f94745c6c99c896048362944f4ea96e54cdbc732d2f9324f472872a4111aa18c44ad17f035c5cc5beafcf1ca900b2ef8";
+  sha512.doc = "f227c659e27d138d848b78fa43fe26792affa4181984de42eb17bf636d9777185fc0838fc617f4aac8142f3a611e65f01547e48a2a18e2ddad1d3363cdd0034c";
   hasRunfiles = true;
-  version = "1.2.1";
+  version = "1.3.1";
 };
 "topletter" = {
   stripPrefix = 0;
-  sha512.run = "0239579cfe921d4eb6cba678c404edc37eff6184ae73e7fb7bcda91fa7da3a953230ed163a42555a6b559b184ff92fefdbc7395c71c0b8de3f800c5d9048aca1";
-  sha512.doc = "f87ad9f13808ec750f6a21592cc51ab9c41e8dcb6f0a0ad489dc7bf0addfd6a554387841af936c41796862ed80220e8ec5330fffdcd7e475aa726dd136f8b007";
-  sha512.source = "89811b2091a107e1520c51e55ba1e51e9f6dcd6fe95e9014bc06fad4e47fddc5f15fdbcfc53ea707eb432e4560438172c4416a977556e2d3853fbaec6a44a32a";
+  sha512.run = "1c583621d738ff203ef755c4ab6d4ad520fe25204c882b3b5b1dc719590cc4ae117502008f0b2ef67486f33127e6eab92a2177aed42a8e011c9309632ce1fda1";
+  sha512.doc = "2fcaee9c15adec307e5cbbc4e71dadd2bfe2158f51d5bb842ea6faf1e10487f5881d171e29a48ac7c6c6ce52bae7bffee91772dd046311959167b11ddac8328c";
+  sha512.source = "b22e020b8fc477da1316c9f36818d9508f45bd3259e03e2cb096aef984cf655b1171069135001301f9be631c7bfb99e63ed7dc95af968be0700c8027b6484f45";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "toptesi" = {
   stripPrefix = 0;
-  sha512.run = "2d1d11714cdf7e23374f0c4778da8135f3b0c67bc8f9e7bf7dc93db55feb2241813aa99f09091f5e043747ce4d3d7dd7cbc286610cb5d0e1f920a39f97fce0e8";
-  sha512.doc = "d855c16a97cf5e62779b00e83270e846d166cda40a210b012f602e1d480d01f02e2dcdfcf7ad27a81e4789b6208b9279e9f4ca929b3c2d4f56f2be2afa869867";
-  sha512.source = "c4e3e0bd43cfadf1a1fe848ae0205e6aa7903a03dbc07e555653e8b9477307757759ad44156e0b9d668531c1105b290509d0e119146c784ac98ee8ecc05b5dce";
+  sha512.run = "13176c395de6e5e6e52e21cc298ed5aabf0a68d42d90119bb1bbf9b85f99c26faa3e78f64f99ab9717d506950d22338b9df2094db0f503f50871e09d2b45a085";
+  sha512.doc = "ca06bdd003084fa8bc11680f5d13ae6f0b333e81ac1ea57ef37959cb5c54933621c00f86ab2fe990b327198f28218eb60b1595fa50511c48625e35a9fa5c92e5";
+  sha512.source = "51445c7c0c8213f3df42abe6b60f740ccf30952e22e1a9f1f0e852f98c56ef1f34060fd8ca3a64bb8cdd512d10a3da8912a1db00b3d0b0c5fe78d30e42258d81";
   hasRunfiles = true;
-  version = "6.2.09";
+  version = "6.3.06";
 };
 "totcount" = {
   stripPrefix = 0;
-  sha512.run = "78a7ad616add4cf64e45c20ad79461864820a45670aaa963b08e8945147199aab369e4e62606790709b61c97dbd420edda489f9655f8f927fa71c2c8d0de4ed5";
-  sha512.doc = "5e76edf6efbdaa0d5bfd30ceb4a32a2589107aa9226b51e3e1ea0a90fd1ec35604d8537e15c9f25b64e2811da925076169c2f2dda0ad943e44037363e8b1728a";
-  sha512.source = "c9a5c9db495f96bb4141eb9814d62222cc2e1a1d4c5665e289caf810e2aaf72e32af6024275dd1c7a8ed54601bb667b84f0b81253e34f8752505b6e65d553b19";
+  sha512.run = "03ece717c7db3820cf41192e3bad2711e159fcb8a5a5a185e1c55335364917a515d9dd691cf1890421a8c62c9e55bdc49cb13718f7d98d9df34a2470cfff0daf";
+  sha512.doc = "46ef8cd2317108d0896b32ba9104c69fb34a6d13d1e123d6b8f1648bfdfffa6bb21f17207433dd763451b1f6c104ae3532e7aac43ef2ba73281842f0a3bcd05e";
+  sha512.source = "1820b0b44434650c072a67a4c6144beb7a34129415a4ae298b9c97efd7e81d3396ddb6e4a03081a19962001c8c01a4cdda563c20ba19bda1411e4832d5e7fd14";
   hasRunfiles = true;
   version = "1.2";
 };
 "totpages" = {
   stripPrefix = 0;
-  sha512.run = "1e11a89f261a839ca347ff035101c6226f717adcb40e5b0d7e6f95c91df3142dd53231f65a699bc958eb6ec02bbf73883a326909425d8b35a50eee1786856274";
-  sha512.doc = "fbab7138ad40d46c6800b55d485cd82201ede2f64d46aa223f5dcc9b5b145542096b76b3872dea01e7fa5828e74e6f2473b9cb43662fb467c8bb97c191d039a1";
-  sha512.source = "a6c4ac683ff4d5dc2b9ef9aa2eaf9f95ce5a68f9bff18ac8b8e06cb071ba49bdc8d537396be664a91ea8fe24baee5efadc83f9d5553a517afd9c00014f36cdad";
+  sha512.run = "8dbfcf7728690d6c2a20f661daf62e80c00d3f08fd00aee7a07cbddd31f6adf8f38e32623b2963748367ea08dd3c95919ab576b22d70214a2f5f4f07c40374f1";
+  sha512.doc = "58cb9d30644402a68462e0b00b6175ec4a002135eae0bb16ad2cb5b919d1dd6b93583074a0723e1c55946e7d94dab506b8527a67d7d7b39be20608207bae5626";
+  sha512.source = "2ac7e8e8f7b79721fdbc6cfcf9d5d81d80b64f60a535435ec13335e1b6059c01001003ab87d9ab8fff4323575a0fbaf6e8a3569670eeb5411be495d9fd712a1a";
   hasRunfiles = true;
   version = "2.00";
 };
 "tpic2pdftex" = {
-  sha512.run = "00882413d47ebfabde2ba7da4a2b878c40c5ab3d74d1dcb5924f7cc098112dfe4e77ef31f4b59240f7b6fa913124fbb9a89337663fc2cfe538b63d103cc411ba";
-  sha512.doc = "238a9fb1251e29eef20ca51c162b7bd48aa0c2051d1734074f97dec496f6d91eed7d1822096f09a5b51e83ad6d060e87726e0a5e852ae1a8abd4be5cdd076c74";
+  sha512.run = "3a0bfba17911731b52960646914da0050a6928b2b433c84140ccbe63835d816f018cea4b16a8513b447c7490fcfd610cbf7a48c8cb0d5dc67ee925c238361b14";
+  sha512.doc = "b2734d86215332e7898e611ee12880c559b095468881c9ec1f15696a182afaa2f056c46ebdcf4cd69427e9716ed70b1cf50f72384d9f698e644e8b2fe9d3a1a6";
 };
 "tpslifonts" = {
   stripPrefix = 0;
-  sha512.run = "a3d1f622fa81fda8d7d697397114e1aa67165a672eccbfcf50658b63df2dd1675e001a13a9511f45aaa3ed1dc87115ab8d2b69ea89e6c4c839433ce7d9fccefb";
-  sha512.doc = "c2780e9e734dbd461de9e3181f919c31624bd5867c17a9d8163582f22f86913cf0bf700f355e74128198d7502782cc4d89d4fa0b950f0768571546dd6848c011";
-  sha512.source = "ef2b7897f7665bb635b35b321f5c14c557b02948ef278a14d8a7875b425ebf7ab4c55404d5057b08a10a38590bc242da021ad350a99ecfecd6728e25207514b2";
+  sha512.run = "0394101636f394f04c38b6677f921136f74e3c8abccff199d4c972ede085c3915e2fe9bbc5b239044dd8f24b405cfc34b5c736a7cd03b749b6aeaf7feb15f5e4";
+  sha512.doc = "e5be9024a02669212044844ad0e99b72faae15c62fb0c9065c8a5e3beb852968cf4cd4744d01890534df5a540bd1066749d999e919afd7d791b4e9ca7dd3c26c";
+  sha512.source = "d55ebdf58c24f9d68f7a69fab79b8486c46d4d23714d9e1d2365320457ca60275449492482d5d28c4c8a2c884074bbe74874f509c60d66f49b6deb2a06925c9d";
   hasRunfiles = true;
   version = "0.6";
 };
 "tqft" = {
   stripPrefix = 0;
-  sha512.run = "445370c1f8a0dd49bb5eb394f8029a31fb8b6c0ddc8ae21b0b83b13d81ba001dba3fbd55c3c5259dd6987e60785366deba7df07c1a5468a0b01e66847bf79f97";
-  sha512.doc = "a33a84481ffe1f3e7e7b844cc5be4dd983fbaddfbf19537a612a17fbb09ba0f1a8e1ec394d6a274481198235e53cfb04189324ead2a638ffc1fb8bd5b7875e47";
-  sha512.source = "aea5f99d5baac95c19045dfd093509e71947dbcf7273542f5439d56ae79519bbc64fd4c08aaea34495839b7acb5e7b6d144d742b752dc90addac729fe2f84366";
+  sha512.run = "0bd44773d17cdaac4e3490dbca1fe038bb18e50d057d6adee53b32d6127ec844e3ae9b8f0f671969c8a00e0df01eca9fd93f27e85fc1ebcf03966e6c82b53f8f";
+  sha512.doc = "0b6c66aefec59955214299a99eaf4949900fb294e7f1eb904efdfc0de3aa85c5fa38961073ba3f7a3c60f26688c28e6f1bb5ea2c32751062fb3231edc4607f0f";
+  sha512.source = "afea6aaf0250f9c9307479d587e844b3f391e387a4d2b6bf83b1eb2e63459d132cf0da38160bbcbeba0eaf1fc8401c9c21dec9dbc8a5e54aebeb1bd25a357445";
   hasRunfiles = true;
   version = "2.1";
 };
 "tracklang" = {
   stripPrefix = 0;
-  sha512.run = "aa692bbdbbbe66bceb62ac818f9b8be09804f2be6f31ba8f7a1530b747603869a4f5c488461f0954cf8aef6794a20bc8c89bbc298aea95c906802f5c68e0b535";
-  sha512.doc = "a24b7bcfd2e07b9b63c3f3f04665ecff87260bf5b5523e8a99c4ef631b373948b801f0dcc86d6f8c6d5f4e0bac11ab375c0ad236b6de9c900020e4938a7aeba0";
-  sha512.source = "e093e3be0ea26a110e5105f405b312a3c61c73e9af50514aaa90c3ed7d6f0420810925091d9c19749e7176991e74345451e4ef64bd65bcb62437c6454e9cc4e3";
+  sha512.run = "f5865a057b92eaee1f00e30d6a9246e85e3b684169472cbc78cfd3b0730b0ca9c7720f8d8516bd5bee07962e76dd59bc407bcef8b655f03addcf7e60808dfba2";
+  sha512.doc = "4199a53e4b8c56bcc17329fd82ea2f11b37e593c5b99aa3200b58748fdd7d575f9800b251a53ac535a8384ad74a33e29ac857f468e668784982ae61e6c6694fe";
+  sha512.source = "28efc751163250433d269817c2961d7364b872a562a5e3a2baefee76d339012c29620d01731ffa2c770b90a22b2e6c8ca29d2044a2d7c6771b7f857ec7f0e773";
   hasRunfiles = true;
-  version = "1.3.5";
+  version = "1.3.8";
 };
 "trajan" = {
   stripPrefix = 0;
-  sha512.run = "28260362cebdfdf0c2e0d0c4176fed65135443e0ae490c3c94c59676a031cfbd5af41c5ad9129df8f8c556b82fdbd14c24a0b5fb5063ebef6719c41253a0cdb7";
-  sha512.doc = "43b32d39d21024f4bc41d30a145490abb99bdcb963f1455b4b07881116e82db193be1f4a41d12766a572fde46f1d30984a16e6f5dc54293c27d0b6c12e6de285";
-  sha512.source = "03ae3729ceac2e2ac188ec792e1175f8fd8876f202f5762811da476843a22e01ba4184784f55e948d36c9cbcddaa30d5bc1c092ffe80b795b3ca7491fbae32b8";
+  sha512.run = "66fe869b94f489a3240078fa28da32fab71767d93befefca62fda3a39ae53ab975b13b7ddf84e490658e915c100f16225ea0ed8e7787b099bf4cb067a9fd4e09";
+  sha512.doc = "c6b6137d1952660b99bf077eae0ddc0f40b4ea9ff6308e4f461fd0e34c7b4b35b4ad79f3e42e4d0077c9d2947db642d0add032f2413d580748ba786a8abbf029";
+  sha512.source = "36b85f870cd9b006f89df594193877a2188635be840636ae9300f511e5ab2a1ea60eac7f927ccb3e9832ab01972bf585460b47cf7ef30f36a6049ab0ce0fd95b";
   hasRunfiles = true;
   version = "1.1";
 };
 "tram" = {
   stripPrefix = 0;
-  sha512.run = "be6b1e93aaa16766b242c86722039a41b8ca9bd9be3dbc2581ae73d330fb945e95f332bcf413fedb4f190db35e69ee57e705169526247e241f55c48bbd69468a";
-  sha512.doc = "21a4b7407a7b8dcee62b42037e441165b1829b0bc8057dd277c14f69f1cd58a8df333834e2f617c53e2b5889db613b65d032788d65c37306f60396d6f211fad7";
+  sha512.run = "4592a288c08f5bf6b41fdffee8129e08fec7397edb2b351617fe79571d2905be61cb776f87a5b152c4b62acefdf21ee2f0b293f210ce52f449d3b9e41833b2d5";
+  sha512.doc = "bfc46f516c2f81530ed7e648ef6774443502b580cf580b5fd5ea9f7be0311b33fb14156aca3f36bb4d74cc165dd33d0b8ef3ebbab5624f38239c281c7d7bda09";
   hasRunfiles = true;
   version = "0.2";
 };
 "translation-array-fr" = {
   stripPrefix = 0;
-  sha512.run = "3546f0cebc2befd5651e94adcf345aa621118755b7da66cda985a8d9b5613f078a4e0ff3a1e22880462855dbbfda1a66b7e9d6e9b21ea5599d00900e9c843545";
-  sha512.doc = "f79c133af7dfb61fc5c4006359132696ca54bf6fd91e5765c7aba5acb3d2809e0723268e85667bf9899c1c09f615ee632c7054d36015b1c7b9a2692d548c6f1d";
+  sha512.run = "d32d6b397916bf631d65171f4f7de4bdb6049eec5414d1a9adbbe88d147ce2e4930a4f17b70c5c12b7ef9c3300d9eb099d63fb14ccd5478c6bfcd0557074b343";
+  sha512.doc = "7d9b2e43f4fde3e6a3b7436a55b2095fbc4ffa31223019c1cbfdf3d623c48be406858cdb96c8693e10fd0023050ddfbb09b463a9a3804879945ac0d6aa616be4";
 };
 "translation-arsclassica-de" = {
   stripPrefix = 0;
-  sha512.run = "50ccb423c0c911d35b3da600bd0b5960126594d9ab1092767a9f5d35b79fd27ecac24f191d4ddcb0c71cb177a77a476af38b5695cb4c250938fd8aea572c2322";
-  sha512.doc = "da156d6300b3961eaf7a1e6ddc67908b0fadb3aeae0b7f5be1e4b96bf1de6c3268b07cad1da04340fabd1c8e6a49849b77c49f81a7b8058ca16309bffe5fb5e1";
+  sha512.run = "76ced8c2c93e35d6bee10f34a7de5709b8027f9d498f8fcd21ba776850c65e1e20eaf20528414b7d9da1891a2db7132b6e3b703c4f8d91f4ff0c69eb9159c996";
+  sha512.doc = "58773adb7493e6ef31d8fd3854a51cd37921dd331f56f1d9eab5283c121fa8c3316ffc41242356a87af04bb6da68761ea15829e5e8555d2e6cdbb68833c8d313";
 };
 "translation-biblatex-de" = {
   stripPrefix = 0;
-  sha512.run = "98a1275744715cf411a84ce28fbc6204a8e4ebcc8d6c1ebeec4ba3a6289fc1efb9245a73d950ec47727e87b2eba68a0031b7a94196f6cd0cde1fafea9c236cc1";
-  sha512.doc = "19802b1149a57554e7ebd0f7553eb4fbe1dfd0910ce5f2cb98fea461b71028f4bead4e4b23f546cbc312b7d593b4cda9827674b4c12977e6a2e4d34e648511a4";
+  sha512.run = "3968a37e0add02d6e31ad49b3a263ec35651c960d7132d1ecfa418888a51444430e8d6ffe4a92fd35ab3904ce6a7aa686085b412117cb282b7e2867a701625c0";
+  sha512.doc = "8f945fd3a4a63ef8e0e6e979bd530f1d13d11eca7490697d0c94dbd43ab7e6608e3801539ccaa47c48c81c52e27a14587f4a48887ceff524a6e188cd80b551a4";
   version = "3.0";
 };
 "translation-chemsym-de" = {
   stripPrefix = 0;
-  sha512.run = "2ef2e1ef5cdba05893e0996d058d5bfd9938b2d2519c8bf8f7b5202034603b0511f0b8ab37728d441cd3e6a6bcee296fe0d88f6464ea593389d048f81a5ea2eb";
-  sha512.doc = "bd243e07ec07d1b5b6e00876196392e7a6ecb93011f0525a7593e656b88a13a7a6a60f4ce25a779e8cb8fa629d78c201fcfe9b38d874f64d8a3757cfa49e97d3";
+  sha512.run = "e23821fc1bbdee758e534bb52c4e0f348d6be3396ca2d8e3c11c9425132fc9c28f2bf6c98cb1beee9b23716cc1a75704561d9d8f16d2f4e94851fc2f88e0895a";
+  sha512.doc = "efe9f711c42925fd035339c25284e09ca7a99c246bf70ef2c15c4f1149accf5bab09e396b94d6d59d4e8c303bfdb3f40570912713dcbd33e7ae360a6b21c36de";
 };
 "translation-dcolumn-fr" = {
   stripPrefix = 0;
-  sha512.run = "97ab66da2c021b5acbd454f15a05bae28975c7befea15ffe358065419f007b63196e0c4e8879ba9917e945b68f6c119326a804af91cf34c6851d163fae823e31";
-  sha512.doc = "8c30033d032dd57f1ca5e8d84fd0294be65c1ff43514279f114c0ffcf14e051a299df569b722021f14c9fa575935b6b226ce3e322a76ca3f48577332fdf00e32";
+  sha512.run = "8d2288707f13896dbb578b538b535efffc89991d56586f27a35b284b5be7c553df97a72ac163a625238e281bfe97bb79fa716855dc8e93f25f0a8af69674eb45";
+  sha512.doc = "95d1633884f7237bf2a7abf8a43127ac1954fb5d0e308d676a7f4c3255d709496a382f01a8af6c28f793bcd1863e98f8ed1441e7cc288d3b8de3176631cdca1d";
 };
 "translation-ecv-de" = {
   stripPrefix = 0;
-  sha512.run = "6ad6423a72c851c381b96cdf81bf521451685c12d807a9ce76900971326e1cb99b846de571ec966d14bc945cb7161a3d90359f80cfe16e16c5ba347c93d8bcd5";
-  sha512.doc = "0b204bb6d006f7a17a0f6e6b496c6c423720a99b4f15c1acd8bc01aa8c41ce2526afe4af3efe93fa08addf6969ab0ac53300d14a3e8afbca9cd40fd1d002595e";
+  sha512.run = "33998fcadaf7b42874968348ef4e3232652ea401410eea6a8011db146a4989afb102a2bba247df53b875bc02b1ea8f21ec5c68783ae43f36a3f175e77dde6453";
+  sha512.doc = "a86784aaeaa786251f35ddf273050e9c981a68d060ba1a2f186379e04f89edc696090b44b402996c4f2422d1cbfd7fd68136c29fc7c74a2fd32d6d230eb2e489";
 };
 "translation-enumitem-de" = {
   stripPrefix = 0;
-  sha512.run = "a68c379a8462b1faacbbb29ecb94f0fdb2e9b8a339a8385a96770050374952029b704f52e74317ab3e3fcc6758b3eb2742f2e55dc045505da512acf71fd4d32a";
-  sha512.doc = "3282422d1370a0c13400c01ce227d5bb04b1c9e0953886de62dbaf06034e1288c0566205a557afc79f7790d550787488343d3cd0039b6526edc72ae0b7332502";
+  sha512.run = "7018a95d7b68b6b736472d6f43d356d25d2a73df4a5dbc080485f3b4e747d122889788b3d1a75ec4c479a84a4453128104f01b2e1788e9dc50d09bda0eb53cfe";
+  sha512.doc = "bee33ecf7a3045c382242f4b6ec9599f32fb254053a6417ceb514f3aad64b2bf51c50f660b562a2a3f0207f7bdc4676527627f432b1556362e3a9f5e9eda8694";
 };
 "translation-europecv-de" = {
   stripPrefix = 0;
-  sha512.run = "9339f5f61c2a4cdf4e784299833fedea3fe98cf965ee3c998c0e4d92070abe45258df0a4a86530f77c6402694d5b6bc6cc743edd9183365317aa0ad22f25f955";
-  sha512.doc = "7616f897bb053c1eae82d6600c936e86fa81b91feeafcaa5bc2399508dbe4f475b28bdf39640d94c43004b50e6d604ef98eacddcd19a6ad3df9331e072ed5a8e";
+  sha512.run = "6102a92b45fb7c19d2190bf4289e8b6b24ded67d0255ce2f483627bbdbee00c42c044be03bc10c9d0e23c2b911e781d21a7e6562e80988620a6da60562d98bf4";
+  sha512.doc = "f50e761fc7925f0cf404788ad2ad70586536e1676bc7a026be5a81136a1323f011a281160a344c455346553e90cb632133668c2483200a05ecf961e46e50bfb3";
 };
 "translation-filecontents-de" = {
   stripPrefix = 0;
-  sha512.run = "40ee281979ad588e61d1d496b50be41326447794dae101cf0e4f9367ce67c73e7a84093944240941e6731321a1e3b6817c6ff67f85772ff1353dc3e6f9084cd3";
-  sha512.doc = "f723b4d3b343c30fc67815288b9cf5a19adc9b32237be6afa3d573a123adab851a8d999040fc1ec5167ba14f60d343cab3519d46dbbbed9d576ba3f46f5e6e6c";
+  sha512.run = "78dd9ee41d9b06438e01ec12f716929c4cf0fbf6ff209f45fadce9fad4bac0d1b31732b3f66896bf7526dac7532504e0913dbb69c3c7e13830e81297b2761935";
+  sha512.doc = "17ed1c39c549b43c31c13dfd6ffbd968ecbdd3e64b00cbc66b0a8914726f4baa7faf98edf30c23ed81850cee98a732bbdd70ef667973163ccee0b35c160fdc64";
 };
 "translation-moreverb-de" = {
   stripPrefix = 0;
-  sha512.run = "78788cdaa5435afc4b2c6d307cd40c2fbd74a56ddfb0a68ab48810f07e330d5280c454c425512362c4a5d2b9254884becda05636f842c355f4dc57543d0d49c2";
-  sha512.doc = "ec6396776e6d1a86ff4750642a4c00dacbb3ee5bc9d46cfaf70f82237f636e422e74a410711deffdb9708e050c86feb148052c9979a0ad5b780e7d3e08c67304";
+  sha512.run = "6b11a1b522c728722d4d5d5b38dd453ec017dc053d360180b943778923ca9a23b3ebb92516c1a6880e507f5e8b6d8d87878c92762637acc5ac93f42ad790446e";
+  sha512.doc = "955070d4e92e38712a5df837fd0df716d1a597780a4b06046d5aac5164efc0fec1121c51ea09c3ef1a090d51732f57308f4db386440118548e2167f3cafe16ce";
 };
 "translation-natbib-fr" = {
   stripPrefix = 0;
-  sha512.run = "803db1ac9b90f0937eec87d94c500dd7377216b5a80382ff8e8568b0f619b15adfec29738c447630197b208ef04ec2a0775243543b7d5102477f249ee80c78ce";
-  sha512.doc = "698f4d3ec1637d4135de74607d275416298392961766221f010c98dbd82ebe8725878a278362bcdce886b5600e9767a0f39ec29a7f0de418a5277b8104b30842";
+  sha512.run = "ff34cb7cece157b933117ba0e9aadb0e9caa759a406fabf7b0ebb89e5b03ee6db7aa493551816e9061ff91a460e46a58f1402b086d37c48863b4e093d19326a8";
+  sha512.doc = "971570414f9705cc4026a21a557b2f1dfe8fc010feca4f1ada946d11aa30169746c2017fb3882e65e68520539974eaf2361ebab7bcd292eed177fa7f6eb7337c";
 };
 "translation-tabbing-fr" = {
   stripPrefix = 0;
-  sha512.run = "0c4ee0e86394d9f22662683db6fcf1bcf1c0ef2c3f6be2870871aa91fb795ae589107ea46ad2514c5d7b015981faa7814decb364fd1fcd8a15a1cdd4355a75b7";
-  sha512.doc = "5f10a26d798a9c5638cefc6681074b4ef7be9d1a7691d8e2204786689805b1b1ba9a8dc6802d9018264adedade04136e986a5832fef6d63531f1535fed6fb70d";
+  sha512.run = "76f1c6318cd964b94d5a1d836b1a40fc58de49566cdc30b1ea60fc29fbcc8c6b01a477f4739a5fd9bb24998325dbf42817ad016fff27207e710bfc4b51b29985";
+  sha512.doc = "ae2f1aa60162512287f15c770a465c2e39abe1fa5d1223d96c524dc81bf065d62f307893d22dfc06fc50da8d63d817ed60c8f07fd4fede984b6febe9c8b7b710";
 };
 "translations" = {
   stripPrefix = 0;
-  sha512.run = "b7dcd71962eac0a2eb646f3d97901c7601097fca2fca997e46227dba77b4c491603dde0afdc09c503c307958e7ce0264c60dbffdc4b520301159e4cebf096a68";
-  sha512.doc = "762f90b5aa4602839370c6cae33a71e0a43875b3768d65b235591eeb9e065d84c5ad28911bfa60130d891e1dd5898ac3ff7cc002260a258338bc817939724f04";
+  sha512.run = "24686eda26044a45f42b4d821528af58b58710c31ba3a03e33e38de018cc8fc5c5d3f31f000ae69a1ba269e371c245b0c501718d45c803c3dfc8ba0f64dc99c7";
+  sha512.doc = "683b3e6180801d96a457180649cca7ab79e6d965e1de95cab3bf2579ae4e8b34e30ba032e1fb2719a1a2826845d55d8a963ec813c8b2f6620e60bc986b3811a2";
   hasRunfiles = true;
   version = "1.7a";
 };
 "translator" = {
   stripPrefix = 0;
-  sha512.run = "13f8950f3a0780e84aafa9eff5370cd854aa4b284ee2e7b9d9fb219aa9fc0880216d0cc936005db6ae59b20a791ad6fb830af5d8237e720000bf4857227145d1";
-  sha512.doc = "ae5735b346790432969bf9938c84493cdf5f7c12505773278f02052ff65c4151883d06744a50f2e80107019ff10e67b50d25170dbf7f5f6d334c21c90ca617f1";
+  sha512.run = "6105a57724bb880dd4b2166c052aa58abac70fe9cda70db2941195cbb0fd2fd874c8ca1f1b658bcd52f3f00ade88683d2f0f86baca8ed68702caa18c5e2d5e57";
+  sha512.doc = "64547f60b7d6b99ad04fec07d9047282444f5c407accf49955002e74bec2b00b34ec8ea639eeeb9036f90a27460f926c0e400b3f27cf1e31b8d9b343370759b6";
   hasRunfiles = true;
-  version = "1.12";
+  version = "1.12a";
 };
 "tree-dvips" = {
   stripPrefix = 0;
-  sha512.run = "9af2c24dcabad33122503db3a4a32230a7c939d8ce50a0a6e2691e77f2c7365bd9138bd0878da5a1de5d4d988581afaea4b3e08b14d1bb9e875f827b64686d70";
-  sha512.doc = "70f62250f620000e77a003444ef0f19d92861beafd8047581efdcd86feb6d69f21f3b65c5ccfc513a9c8fcd8d9ef6b3e0241591eeabfd76ea90cb482155642ca";
+  sha512.run = "6153417c5d2677a56adf031c5f2f27e4c2bf204c0acef1cc5cd49355370aa336814bad7d2be00e95d22bcf73b9b69105a255d15f29ed650511c0eccc3c9bda07";
+  sha512.doc = "8c507ec7719b92f2cf82527c7799b073ff2679cf820528b489eb7d8c83d28d098033760cf092bceb9ee7e28fec15eb580122c080b982dbb12e0e65176121e84c";
   hasRunfiles = true;
   version = ".91";
 };
 "treetex" = {
   stripPrefix = 0;
-  sha512.run = "94853e7bae28d6aacdb312a11eb8c4f1a45c564518d86bbac1e1a7829a2600e07324b513f48666f8e3460baa667eb7acb3311a940f42d9540f3c561b5e87afb9";
-  sha512.doc = "962cbce5cd193c465218189ca628ce768b6e37bb446188c9e1d15f7ab57af944e00caf09957bcfb8a305818720c61879c6b0e0d831d3b32345973cf6756ff1ac";
+  sha512.run = "49202a38697bd9bd3bc6fcbf30d28047b8ddc4d737bfa68cfdb83197b484352997a33f55e195211eff1d548f95e2072f07ed18f1d7c6772a03c66a13051d1709";
+  sha512.doc = "fb9e09bc2f6e45b854824c9c757733c2c17b4d48edc955ea48bea3ab3fb5dd914eb6427c8ae4f74ebc62b4715bada84c8f3fca0ee7d01f8d3c2526339a844681";
   hasRunfiles = true;
 };
 "trfsigns" = {
   stripPrefix = 0;
-  sha512.run = "01e57d02b49f75bf4bcea4894e4f2aadc9400dd1b96b9c6bfa6fca454f676eb59930412776c7f6b4cfe50127622e2063ba5d64919b55dd49f94bbc93e7bccedd";
-  sha512.doc = "b8b454c07cf532d957c24434d6b7c3b7dd8a222d7f118671ff2446c1ecb419f61f3a2f4f9f7a7b89e0a775de9946cf2e908292ebc5a8ceb5d485ddeb8ee64c76";
-  sha512.source = "3514a610c6f19daa68fae04c9ca4b29423c3d3fb5561b9e2a917e7a8d4a56582ba6cc40df902c43bd4f08b15db11a8eca62cdeebf75b44278c0439e698bcc326";
+  sha512.run = "3607b6371c2dbbd93524f0811dbf14cd93cb2556fc217899ef3a273c27158771f743bafff0fc90a582d65da431efd7ccc1f07bf92a6600a7bc301b5b6a308325";
+  sha512.doc = "9bac4f4deafd62a8b113107ce47bb5ea3afe05078a3c5083b1ed790ed690bc3d73066e0abadc5cb1a3d45246f759941d6e2389105632bb6592c32a08e7b7671b";
+  sha512.source = "71aaa336a9f66af6f682cadc72b2ae100c606be7d95d76c2631dbb03ff617718c1c322288c769bb1b9b19116a29baa208fa085e2868e67ce3f7a5552d823e6e0";
   hasRunfiles = true;
   version = "1.01";
 };
 "trigonometry" = {
   stripPrefix = 0;
-  sha512.run = "e033fc8a8764b18205c3609a395a9ade6d34f45d2b16d1af65248c39f056b655a57edc4beaaaf1d4113d5519318e9d362ad461e9ab37410bac6386432764e97d";
-  sha512.doc = "bdd9ca71433ac8cb159a3b1458961daa9f04391507d2ad77b54fe9b743e8f851d66309508cacca82df614fb6f2da1b2359e9701f2ffa25b413616b840cbc95c4";
+  sha512.run = "366a5e96499bd96d2eee38b78305d9fd7368d0b70f91acecd5a5337675002808a5695a525d011a1ab7b31ff34cc14c469970a3fe55c694f003d0ba7002795297";
+  sha512.doc = "a9bd77bda2cca604a69ca1b60deeb8da3128c625b87d64ccf39aaae853a645e736b5350d3d575302ec2a35e9736e4133cd4ffd223b9bff6191b6fed9549a8092";
   hasRunfiles = true;
 };
 "trimspaces" = {
   stripPrefix = 0;
-  sha512.run = "02fe89c73fac17de6f206722bb9de4f8628e88f4de0bdc692eea5dbed7ed7fac82fb423fa636f0a93339b424a08fd3e4c288ed0cbfe24959ce0d0cfff3eab78c";
-  sha512.doc = "0bf4ed6d199526d32dc79d1a79a2b4990c2896eaa994e9c4ccc6f948807ef75afa4b40a892b171def91b787368c69747e181e5d34ba2498cb4d4af21c3696e49";
-  sha512.source = "cf1de6864db32a06cf71e1f4aa834608fffb6b553e152c63c072793b570dd5fca53531f35ad3f7b0714a76c480b898fbec3f2c70ec9a097b775ff9197f535716";
+  sha512.run = "09bfe50d1b14502311aea7a20df80e70c1907b1c8443aba9453aa0a3eb76cbd34728734b81df63bd5895a4a5a55ddfe6d0feedf7d5d28d6b5922a374bc550c9e";
+  sha512.doc = "8e26064de0c14d6caa1d6cf625cbd2d598102056136dfa20d0a7ffb178c26829db0206d87893937b63f83171744a29bea3567e16e2a7a0d454734a0b72837277";
+  sha512.source = "a34429fb9b8514d25ac523f0e3bfdc880b84951ff228ede3016e2d29c001b7f8058755870fc3c63e6041ef4768290177dabc6d520157082fb077497017065b65";
   hasRunfiles = true;
   version = "1.1";
 };
 "trivfloat" = {
   stripPrefix = 0;
-  sha512.run = "5d152dc9ef9dfa1bebaab6a92a6df61d580749f9eabda0e963915011920ac1d53dbcc6ff99ade67263ae07ebd330a04f0bf940e6ee64a26c4c844e4d97033d9a";
-  sha512.doc = "eb1ff7b87390ae439d1064e467e042bfca2a8b287dfa28db93250ea6af6c3cb797f7f8a203f4035e92b2305bc71b9ef6e1ca440625ce283c2f8d11c134b44baa";
-  sha512.source = "ac7c4d6bb3fa0d11561e530227fb872b532c48978788402eec0f231e14053a0486e532296e2bcddb5f65b0a33b04cf7b9a644898695ede8dcd2c064e3ab95a45";
+  sha512.run = "25e07373c53a6d4c92a5f2f19fa0d70c86202435863b8b3cd036f2d12f74a477a33cca6508794f67256a877117bea821a11b9bff235e1a894c90b71810bbcca4";
+  sha512.doc = "eb9fce19c495eedd728e87bf47f5d925a685a8b9e81e8de0e6c317f74af6c82352f403486f5a904849ed418722d830ae294a89eaa57bbff59eee8a03cf9b8af8";
+  sha512.source = "9537944503c1606151207e75dd7a2bad64b34f82bb23d83e0eb93292ea9ad9edd0bd72a126de588125b6b425669f657506ca602796b6e2dd2997052b70f60dc5";
   hasRunfiles = true;
   version = "1.3b";
 };
 "trsym" = {
   stripPrefix = 0;
-  sha512.run = "fcc854e3368ea4610a4c45086ae97e95b37a047d5c9ceade2df60cf01496baddd34deae651229a71128d175c4ba66c2d59c2d5cf53d60452a34f41f55d1c2a47";
-  sha512.doc = "f537426a53f9558a3b0eedd028b97cb3f3fa854aa1180259592111630f18c5b92697d5348b2f91cbc8411c02e5b50e91c9a63e804d9beee33f9a1f543f075e8a";
-  sha512.source = "c37404c9c4b7897a07d2a86f6d99788784bd380b40f9c78a525efaf8926b90ebf02fd104025f91ece3079212590bb3f22e442a0f8c04e5e73ee64b70b7a17246";
+  sha512.run = "e571d1c0c042e2fe75b992c6e0e9e07b04f0368f1e74a51ba91c34a642be148fb817027931ec35831672970725377038b5cc80d34bdb716d936f4aa59075d83a";
+  sha512.doc = "d6cd64c1c4bbc927f4154c2281ef4c13ab145b750d92561235364a35082e497afc5d8aa5806452757b499b827305a0a183723deb38272ba43bcc38eedc367731";
+  sha512.source = "bd9c99b4c5ac266696ab4c3557028d1776a1852000db2e8c1b5a4c2f78e58f25df379a71794faf49e2c0d2ca14116796d8f6d617f4bcbaed7f05a75ec06fd5a5";
   hasRunfiles = true;
   version = "1.0";
 };
 "truncate" = {
   stripPrefix = 0;
-  sha512.run = "e29f5387851e2fe04b3a06e10affc9448c60ecd803359c64af6327bdfc07ed1d57c4f0e8506826998493473abd60ccf01f7d7d64c91e328e1e64cfc9dbcf29da";
-  sha512.doc = "be4dbb367fc308c4052015ff94b54777dbbf0a73281bfe488665081777d0e91077fc845802f5c1b5e83c04dd361550d1c4eab34d5de493a576a4acea5b565d65";
+  sha512.run = "b676d65803577b4bce5f6240a0d05a306199f24c2b14402954f4430f07fed9a8af574c4cf9cdc233824bb1a285eee0c531aa40ae31c782a43afd678d6e44f27a";
+  sha512.doc = "78e9a96fc2e635237cae9ab4d7ac30cfee8582dde13331800ac9079d1e0726c597accb598b5e679b6643d27b2a53fb367e740b76d59e9a5d27226a4c829e8518";
   hasRunfiles = true;
   version = "3.6";
 };
 "tsemlines" = {
   stripPrefix = 0;
-  sha512.run = "4d5c9964c84d2c7b2c2da3c342500f40c80213adf8f766b037bc57d4e7df3d210fa55e415c316b48faa93b21a08c386c98afd9a481b7a668e9a6a8430349fde4";
+  sha512.run = "d4b6a929a403ed7fea409aa618e7ca021c2c7138a6b11c980430ba18f952ffba44df951dbc7b7f3a5ffcdace3b5f3a455eedc2a50b6e0e003ae3e17e8e7f9969";
   hasRunfiles = true;
   version = "1.0";
 };
 "ttfutils" = {
-  sha512.run = "2a47d9087190a92e55840aeb4131227a1fcfcc25fde0ddc31ccb955a8dd8bc56177a4b010ab40d9f36264db4017e6110df65f1824c1a9bfce84c3bd3dc7e9d0a";
-  sha512.doc = "2ec4d42316941ef63ca005b04c00813a1d4897f8119695136b3c9dd32b1dc83b64066b48cef88aea0ebbfe08510eb0421df7bd02661f305182d16dc3a9d2e04b";
+  sha512.run = "cb133e9067cc3b2d99dc2910d3722fd87d53bf38e664fdc80cbdd7ff1787047f0e71bbc60018802cae34cc5d6eeaeaddd0cac6ae23f980d0eb7316f6c342ce38";
+  sha512.doc = "27f3dc442a1892a903d5ebab16c82b0221efddd0def20b817ad1b33975d960219424ec1e6a408dc774e377aee99e905f6a850ce4a30ad1ed302acf442f09461d";
   hasRunfiles = true;
 };
 "tucv" = {
   stripPrefix = 0;
-  sha512.run = "0dc5943490a200aebfb115214f93e64570aafe60d4dc539468175e04c3a6b6c1645ec2a8f1047413d0fc6454098bf24480c20aafe83074640345e79a5e49b3d4";
-  sha512.doc = "2900dcadac28e3feae91df4bfad0732f4c20fc57df45c1a913bcb56b497be5747106089ec2a0888160876d349cbdfc746b076218287e1fe2eefa48ef21ed41d5";
-  sha512.source = "6891d4dcf126e1bc90d9868e26aba8f3aab2492004df916d5acc141693000a0f5dbbff9a19fc64f6befa820a45f689ffd2df3311ae67cf1e390c451b5c2f6b32";
+  sha512.run = "957485431ecbdd31f180b36e7519c4bee8379f477b765ff5cebe57ffa3c95caa5556ed057943eb052d61e720074dc78035fe05b0023115caceb05bd2c3757183";
+  sha512.doc = "750f739c7cc244ce52b4838009666c9b6196cee234e9bbf0028e3316c75a435b5038269e93f42d99116b9db3d93dc4710c03705b924d62f09a217f2acfe36303";
+  sha512.source = "f754ab6d751eb5df0477802ab0a4d514aa0825e824531e76904ab474ed5423cbcaf773e37ce80e94c32236bee061f92c0782749c9196c3cc7fcb9249a57ea32a";
   hasRunfiles = true;
   version = "1.0";
 };
+"tuda-ci" = {
+  stripPrefix = 0;
+  sha512.run = "cb06d36d7918544ee277a04c132eaeae67b4a305651f19b35e6bcfc6be4984af74dec0877610b4bf5337d162943a931ce2afe73baa9c2d739a5457718aa88b25";
+  sha512.doc = "d21cd3cc76bd297ac029629e8541281b213428975388e97e1c0b807bed52d6200e398ae52233379955040f63a3b01e56a86d3c8603273dc2426d2a517a0a86bb";
+  hasRunfiles = true;
+  version = "1.11";
+};
 "tudscr" = {
   stripPrefix = 0;
-  sha512.run = "73cf72438d00c255fad2979190160e99c8c39d35c4abdb7c06a5c89999798a50064bf51a98a6a1af9172937d57a9901f8adbdc7aad573c0111cb4d5f32199bd3";
-  sha512.doc = "14669dcd4214f1d082e85d024101de50959cc955f76b54fd29eb6c8d687d509ec3bf7d23b8e774623ad8badd40986f4be33f17fc7126f3224ac660c5efcc3711";
-  sha512.source = "68c9377615e7154b579105a1f41095a80edf9233be42286117877208f0002d70061789132ff3c4fb5283ac42f4174beafcba9a3481e81b0e46d8a75866d58443";
+  deps."koma-script" = tl."koma-script";
+  deps."opensans" = tl."opensans";
+  deps."iwona" = tl."iwona";
+  deps."mweights" = tl."mweights";
+  deps."mathastext" = tl."mathastext";
+  deps."greek-inputenc" = tl."greek-inputenc";
+  deps."cbfonts" = tl."cbfonts";
+  deps."cbfonts-fd" = tl."cbfonts-fd";
+  deps."geometry" = tl."geometry";
+  deps."graphics" = tl."graphics";
+  deps."xcolor" = tl."xcolor";
+  deps."etoolbox" = tl."etoolbox";
+  deps."xpatch" = tl."xpatch";
+  deps."trimspaces" = tl."trimspaces";
+  deps."environ" = tl."environ";
+  deps."oberdiek" = tl."oberdiek";
+  sha512.run = "02e53aa101f34734dd483ae9d5d82e4b62a3ce04898db4e17e79787c1908277645f673d10793c11093a9cab8f4540671f6c0d8bd466d9a00d4f9c18922ae7ac2";
+  sha512.doc = "5ba9010fbd54a607ec7a94765c28d1ba79f99a2113628143f673e0e7b2c3c55b60828c2019d288e143bd0f97df3a2e62a31b34f000048d37115d224c97860e6f";
+  sha512.source = "ff791b97aa0e7d58c6abf126550b29b1ff9521dab9d4c8c845049e5622fdd189805a5a382a82a87ddf97c295a1f16480468e11e0c931c246b56ca42fcdfd1a44";
   hasRunfiles = true;
-  version = "2.05m";
+  version = "2.06d";
 };
 "tufte-latex" = {
   stripPrefix = 0;
@@ -27140,586 +27879,619 @@ tl: { # no indentation
   deps."paralist" = tl."paralist";
   deps."sauerj" = tl."sauerj";
   deps."placeins" = tl."placeins";
-  sha512.run = "dfb5608993c7513bb3e57ce87611a5667800c61c2b111dd7eed5774e70d8e3e588f6c69c661ccf6245b28c6f0e0dc9cff0c381eb26b95638afdf8adb72569dd3";
-  sha512.doc = "2f1b694fd9322dd4896b9d1b0898ecfeaa3a28422041f1b13c1ee0fd3dc1ded8a8b6bb2bb1f0c6098cd2836e07109844b554c009315f3100f131f09bde80dc3a";
+  sha512.run = "6dd01a5a6faf37439ca9aab23534f99050b84bfac16df48545417ee03e72700344c25b2de3262e8e28406da705d50296473a815fa14b701c609b3715f01405d1";
+  sha512.doc = "11ac57e79a05db644235b6db851473c75d1538a1261d7022a63d9ab0cc54486cc13b7cc95c44d16912952e46bc9264c1bfb831a728b51a03495d01f1963410d3";
   hasRunfiles = true;
   version = "3.5.2";
 };
 "tugboat" = {
   stripPrefix = 0;
-  sha512.run = "40e7cd20fac54cd1b2cb980654992f28bf3500dc196f4a9a854dbee8b9358af6d4ce3e3d8a6cc2c8cba22cf9c2e7278ef6bfc0284366f6d1290680075fa20352";
-  sha512.doc = "42f1e5fd7d5d8c73b8a4cb8f06bb58e71a45d2f4e73735ef85fb40ee99c6d6abeafbdbf5512bad3d150f139f5913b752c0c0ec3a778bf7955408579c15694c84";
-  sha512.source = "fa3ec3788622083d2fb8ef12f316bde48bf6deb1d17e9cfc74262913ad3a47f57624d0cb8cc3ed39b53d8827c038c398d9bc92d446801d392ac3ae119af6fced";
+  sha512.run = "56a495c6239ed1a8ef1844bd90f9bcb97e2c97664877f343d198f9d9192d33e866b87334b961583d765d9b78633a5b5415933c000270d23be34f637612cfd1eb";
+  sha512.doc = "9fbe0a3438a81acc63424007bea1f2e8ff7f6a29e16bf1642963763aaba763f64bc26863ffbe9cc9318836df2e9191c5d8bcef821f573447a262f2b49896edfe";
+  sha512.source = "76152f1a32da57ed51d97a8f6189b5a72ae0ffbf18934506034ac84014bb0a4bd790aed1919454e87838e3a68f88d38f191dbce995372741a47bed65449dc90b";
   hasRunfiles = true;
   version = "2.21";
 };
 "tugboat-plain" = {
   stripPrefix = 0;
-  sha512.run = "a60d048cb5b6968daf2b142625d4d38573ec9041ba477f32b70be2039c0c7f3729e1249fbd41ffabd0353144c8b5b2e8a2bc56e269075455110053ce1c42a03f";
-  sha512.doc = "500afd871567a128f4b493f5756acf3dba7c7e62363f192c5506fbf66c75063c8f49361777d7a013b7921d7abd2efe1c0c8fcd7398f7c8b39b4e0c059ca060d3";
+  sha512.run = "a2541eae8834f9a78fadaf4123aa1dbfed2215d3697299e17fcb0c9635091be57b5171514d771c2e14ee7c94ee2ab18e0907a1b3b3cc5bd60b3a3c74e305f45a";
+  sha512.doc = "747ac188b7d738ae33808da86716712f80f98ec2f69b60bc45514cead00d837fde1dcc99c65804e61c9e35e94e9276f314617f885dd081fe6fce75f7a2baaf9e";
   hasRunfiles = true;
-  version = "1.24";
+  version = "1.25";
 };
 "tui" = {
   stripPrefix = 0;
-  sha512.run = "c39044ec235178420bb43fb860a38a843f8582523b31961eb5994c5ddb04f6f4266bc2e9d62aa2ea8e7254d7af283718fc19d27167a4af42697be160ebb602ea";
-  sha512.doc = "df4c75617c4d46c571309fb9d0a60908ae2e15ca761c9f45ddce050cf8dba239048b4268dc43a83e5bae5a2313bad78c3b912c5cf32eaea580423823bb6ba0ef";
+  sha512.run = "59e8af51c39984a42247435ad893c3b8e37eb9dc53634e0a5f30733ee0c973690b66d805079a0f5cf61762abe7fceb1f2dc91691df9be26f72a1a8edd2524ba3";
+  sha512.doc = "b48d9811ac6414d96a7b5059b33c174464f262c721159552e48e6f5bcf5b969ae91bbac61aff6077304907d3d2bd8eb73774628458a7e740ea49fe433b9bbbc2";
   hasRunfiles = true;
   version = "1.9";
 };
 "turabian" = {
   stripPrefix = 0;
-  sha512.run = "94e16f44ac5d554ca6bfbd6294b5b36d5dfbb282ab67444d53acca4da4cbacd619138ede47921a6582a03a57b5db9d36e546efde92b2e8ed9f67dfb1a8dbc9ff";
-  sha512.doc = "20ee8c74e4e758882df22501717ab38c33be5d9c5e5eaf0d54904cf6bdb0387524c17d10b47ec50da97afb4d94e76b77eb281569b8a0f53d93062ae1f210313a";
+  sha512.run = "fe4ec8291e8b1dfc6130bdc862384b8e7c6ea2d4db6baaf92e0b7b053ab8ed328ec452e0c1efc4da2eecc3f8b6c86e77cfd2100ea66e4f59276fb64683d55a92";
+  sha512.doc = "3b4900c67c65ee1b20dedb2ffbc844ff22dc519dde0121b375dd13bcd80a0f2fdf5cef8c4e43a395ebe8fb4c82d463f18ca30ec65fe2be398c181af78ec0a0f7";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "turabian-formatting" = {
   stripPrefix = 0;
-  sha512.run = "8fafd77c2572a787542f37f59a87c958031b95f7bcf6e48630465b97e6d92b82d16524633295561422d99c52f3ec3c42b46ccc1155f00a2a5d54c3b908d5d229";
-  sha512.doc = "abf60bc3ccb3a2855aebc8ed03ac3b7177e31f271206a9775b4d353484bf36696a78aade3b3230d8999627f1126a14b544a38d16a8b7651f6ef0669b912c632a";
+  sha512.run = "7a6027cb84a6f2e2990d171aeb1e4cf528038f2dfa4f8bcd59f4775aecefd1a9e3d3dc36e9a7fa1904a9e42da1cea8b7843482ff8dbf00fef6666588f7b7c31d";
+  sha512.doc = "38d89482b53a8daec33e19fa9f6c782e42b61586ba96e7cdc91bfc839dc734352dd5abf9d3146c4eeadca5921d7a85189481393f0691ea5a9917547e1e7a1f3a";
   hasRunfiles = true;
 };
 "turkmen" = {
   stripPrefix = 0;
-  sha512.run = "38a4a7ab8823461364310a1e542673be715d81e89d1345954250b39be0fd7b97d8e95f08e20a2a491636cf305d024c29138cd89b671711a583f116811c3c2ca3";
-  sha512.doc = "2c7c024773519d83f15d01bc54d3b29b5eb903ef01cb5ecdc439cf92a63071cd27b81c16c83c2c410c72f6b22b57735aa14e54dbc42276417b70eaf4ebcd1d8b";
-  sha512.source = "7c638d830f2e5fd87a0cfb7e64bfe34eb9de16d9147540cf94d902d1552ec169276f836bac295c483f85746560f0f551f40d05ba6787a1506a723e7ff72f9055";
+  sha512.run = "437ff775642326f25f260280ca8d846e546f0f4b3c3082eb1ebaadcfc6ca5196967f82a00237367754b3ff307f983a828dba5c8117539d65634379567062a377";
+  sha512.doc = "39014c9049322a1966951a242152b8774b2bc914bd620b6eba8c97e8ec457a1ed3547f2c211b3bba333cab21bac98882dbc9a1e9028443e7365780cf4d78b577";
+  sha512.source = "1d69e90b8aa74db44b7b89c8a3346ffbfca2b8514205a04610b5049e50e61b19ef063d9b3e9c99bf4c141d52bb03d600ad5ce1a13494b06fb7d13d12f47b860a";
   hasRunfiles = true;
   version = "0.2";
 };
 "turnstile" = {
   stripPrefix = 0;
-  sha512.run = "6973830ac1bd7b0654a92933dc1578954ad7f2d76c7587968fe4cfb6ec769831249c20bf582d10a928ec909099bd895329a4f2dd20bf299b0d9f0a279efd3f08";
-  sha512.doc = "938f5a87f0e7907b766bf48a26b26c783305c0ad838447812f675957f83305d82ceb94f7ded0e6b3b37358ba3310a3d0d149cbe999d9ee73144ba45c89de4929";
-  sha512.source = "f70dcafbb77be7eea077f63eda48b3af740da3aa9a03c86e3a10c2369a26b132c2d82fe95893722460beb93003b216d5a938fdffa75ddaceb22f3a5f8a7718c0";
+  sha512.run = "083050bb9f34b576cc1033a0b754a2e888883d98d41aa08c1694f78cb5e372748cfc1d62af94732334ce05e91933e95796498fc120d6584f554260fef4d87811";
+  sha512.doc = "6f51d17752aab1c33442a92d3d926b1802c1274b3799f33f65bcd417d268ce851be76d36b13fbe0fa3599399f10df9e8bec7bfb6ffa929f667b9e7ee3e9eb323";
+  sha512.source = "edab29b25bcad5c2f65980b5539d60b3f8d6481205c89a1fe386f4e1b15e5988c3e592816aae2ded548e624e1cd55fa987eadd2c727d2f261128172bee6b369a";
   hasRunfiles = true;
   version = "1.0";
 };
 "turnthepage" = {
   stripPrefix = 0;
-  sha512.run = "88db62484bfed423fbd463860d86d252e43a8f60711d21b752b2561e0f11ab2e944f7ab7917f8e1b34d8ef38b834f937b66902160380fcc819020d78cb018eff";
-  sha512.doc = "55ccc9aec58822730f71f5ba1fe56e100ec2ff86a591b6e190dc116026a48a840fc3da6cd8b298ebb90b675b9b37c6d4fba876f5ed75a9f36be65afba1bf0a2a";
+  sha512.run = "446b0516264eac6b880048e16cf4ad7bb529718c726233fc645b8c32d625f3f6b505b72beef81994b61ddc77ec8ecfece907347be4f9e18a79fa36c2aef91b5d";
+  sha512.doc = "4af8dc61e53df587f19b61f6260e7a7820a8334f2841a63f2ecc05b7197eb69596dc36163b39cdaff9258651241a334b6e3a814699065c8ce4f861fba6110f83";
   hasRunfiles = true;
   version = "1.3a";
 };
 "twoinone" = {
   stripPrefix = 0;
-  sha512.run = "4f1bbebc544f7662e0314e4f82f97ba4a3110d01c9362944147a2401c0c4b8d21ef89717230165d0ea1ec9ca85cda1f48c2809657c15c4bcafcc66738f9563a5";
-  sha512.doc = "38d1b831fae92c352ce1eebcc24c7e3825c479749648c296415efffbdf372b864a352a1186c44e416be56403b45ca3407cdb37602986d3d734ed5d28018ed3dd";
+  sha512.run = "ffb9610d416a15f664bfc34772651af63f76843127290bd64462991b3b892a8bbe9b5a8251e278ce757883226bc07f89f54cf94be08d6bdbe6f68c5841e3a282";
+  sha512.doc = "5b79b0b235fda5e32680884702a16fe033f3a617daa765a72233d22df5e217f6d2a617a2d067f6a230985e5144e6e6d733ef6e7060f267c6d22bf5de39361d41";
   hasRunfiles = true;
 };
 "twoup" = {
   stripPrefix = 0;
-  sha512.run = "b9b9bed377ee07e9f0b4475b7c85a6b75cb6e886b65b274def8a4de5787b5519e24f42cc85c8b2e6ca961c787a03286bafcb57fb9552f9e7d4952a1d6cc41fc4";
-  sha512.doc = "1d4bf19cc6fadc1044acbbe016ae65f5cf5118eaad04123504b177d46ebee56cdcfc7691971eb4a24f61a8b94e355775b6e6e0fd8bce3023b1c91f3c51c3faf2";
-  sha512.source = "7319eeaa766a8f381920819edba99fcc2bd085f88250526ecdb6b39bc18ce3cedda2e103f2a71c449f5d1cb27f5d2d1c2852ebf2f2452eb98ea57a5dcd100e04";
+  sha512.run = "b3734b3818498a7038d544304d27376ff481b81fbd776cc44b9d246c3e69560364a784d897755cb69f9608c51135a1fdbb8ed370d624db64dd7b5f18a48bf754";
+  sha512.doc = "2bd34ca3274a229949c322a543c2e1fcffac7383edab2cbb7f0c74dd43d3b9531f9ade43f6d0126f5fd43371093f92170f69fdcbc4f69ba7fdca1d1fad167c36";
+  sha512.source = "d121f96d050e4dac6b2b52ff99b9b1ac5d5dc5e815c670f6458cdf8989a7be5e5a2ffcf4bb25d3f1ab6d5c02d1c67c15382ea266d0ef2e1f6e86e404fa1dff20";
   hasRunfiles = true;
   version = "1.3";
 };
 "txfonts" = {
   stripPrefix = 0;
-  sha512.run = "8c890f04c7c47d479d35407e0d2f4c2e4c3be435d98d1ea6e5d6cfbaadcbc1e626ebe78e5e1ce12799d16cbf76a86c5fbf41c529b358a65f4439dc2aeb5c60fa";
-  sha512.doc = "b4671941f2942ff2a929a48e45d040e9b6e22591d4582a52f9fed425e87549916a9d4747a22d46b657d4ead7612d81a6101a853cac70646c39d38ce68b9483df";
+  sha512.run = "2e6a195791067ec85f4eeaea5970467c97915dfa48f59d17b5a73c90ba221de1b41ed35502c6714335cd190af05ccaefc6cd5855c5f35f49bd8e15a2b4ca0726";
+  sha512.doc = "f19a988305799931023026f714b63ee539ebaddcd39e9be1f1bf765cc4cc89428b626ff4d6bfc91ea2f324f08cf09b618b6a0f8db6b01dc9d8685618daa1e2d1";
   hasRunfiles = true;
 };
 "txfontsb" = {
   stripPrefix = 0;
-  sha512.run = "42ebcc0137a987c9d1cdb6b801bcd02a4e201ba8b53d144dd275111b27c1db9613dbad6d8d7fa52c94b140c0bc90a57936eadef1e9adbf96a8473ee1066d0957";
-  sha512.doc = "dcec58f168748b5081bc95ffcc85f23e18c123fce0133f390b76c8c8a1b7fbf9359a8066851befb72e2945851e28e9bcd1062f12ef708925d1971a47e61e4c5b";
-  sha512.source = "10a5caf9f961f834fb61ec2e806cd06ef8e0204da3b5befa599b59d8cce275690933322a55ac0eb1feecc7ad0c451c58ba5120b38f5a4bb679986c2ee931986e";
+  sha512.run = "bcad7b4043aab05469166bc747a14746d8deaa3bf0d354c5b7bb706a86c4b95bea9943ef4529289f82ca939cffe377dc4f5cc89e95fc4bb4da797b61cc9b6c63";
+  sha512.doc = "f6af38502971c30cc2e082b0eb64ee86d494b77937e13b70dad24c77c90bc076b2b983028636bcdfb51ae5efb7d901cd082ca5d3cc6b7360d299611718d6eb31";
+  sha512.source = "61da236fc5cc33b520c4d7a68beca24dd4799bbed7675d44a3daa8bb4a815a3f3944d73eaaa157536a60c6d67d68dd9a214f083b1dd2bc768f14611b6ddd8aeb";
   hasRunfiles = true;
   version = "1.1";
 };
 "txgreeks" = {
   stripPrefix = 0;
-  sha512.run = "09ff7391f6986c014503a5e5de37c3b3dcc62d087ce08d9b9546e6637f7d23ba218b8cde9fd724c5e94a8e2e8a8a9fe405f44bbd2cb8f73a32156511c1eb158e";
-  sha512.doc = "3867db9b02d342fc4938a52813bd39ede470155f63d0ccaeaa2f0d03a34e3ee7e80d9ce3ac1e676225f51813015122914c700f7fcc714fbc8aad4f347dd62685";
-  sha512.source = "f269dd78bb738cade5f592a7888c6a1b53c261a0185c256e6ab6f144bee60a2eff2e70e272d6e4f96b190c59cc5b498e4d3fb5e3377e1004c675174d89761add";
+  sha512.run = "05b24a0c9705589d2e04933a5e29b8a49de155ad0e9a4caa0c36785f7feafe475275b76c58aa50d9318df26342b800382d3c9e8164bd95fdf400f730191282f0";
+  sha512.doc = "b671e433740ddc414e0a881d1f91a1311ab0957038ebeba23fe99d623a62e0499825548dd591d0adc67d32a5d7331cdcdc76be6ba87f77265bcf48758626919f";
+  sha512.source = "09ffe315c18dfe3ce065a6a48dd17f1340c2381df2585a973b666d2a93f1560be11fec50c44e178a154bc39416437772ef1059c539e5934ca6b02866a087eecb";
   hasRunfiles = true;
   version = "1.0";
 };
 "txuprcal" = {
   stripPrefix = 0;
-  sha512.run = "e0bd84918e1e7a7f768421cf4c3908093b84e7f26c1cfb0d22c384251e7899949acae75a8ffd7992c384acf88bdae34d1c76c12be00bbf4b150e6f545735910d";
-  sha512.doc = "a987944053baceeb32748b0d729166ea5e932f2707f8ba0b143d3689a75745780f4d5e2528ee962ced97d48883daf69a3ec524509cf58b5740ca3f56c2bdea7d";
+  sha512.run = "f6840ff0846b52130b65c81513d4bf358dfea413ac6d7f324eab592b96d5277d7036e5d991dbfc1ecf6376fd35baaf0351818eed69a21b6ba88e25f878a41ef1";
+  sha512.doc = "f5bd216c689b0368bbbfe29f7fbd57bb7c02344d8696af488fdd7f1078fc5ad9ac7ad5565f1408b7b7d19224093d1418c1e3d8920b8cb0cece770811576c894a";
   hasRunfiles = true;
   version = "1.00";
 };
 "type1cm" = {
   stripPrefix = 0;
-  sha512.run = "9b4623d1d87f75de97c30904b24c558eb15d3dc704a83af319bc80b7f660bfb421f2295abdf389a660229a23b3ceeb8376c87057124579e5136900a334a6bbc5";
-  sha512.doc = "6bfb713c0003bbd6ee5bbbbfe8c1ccc2e0835b88a041ece6170f0ccc742232d467be232884c6b9a5279765bdcbe900a68b56a6819685ed5694c19f9bcf6dc2a2";
-  sha512.source = "bc6ff709e7f5fa7efc9f6da4b80b8531910ced07cfbba0d2a42e732eaa20763547224f101fe0e426ed77539ca6b3cf23440c5194308996291da3affb5090329b";
+  sha512.run = "85a72c942e61dc0c0fd3fd7646d264ee692ecaf4e2badab4f68dbcc380a1c88a78d4ce066e23a08d1cfb29ed3af0115b08ea05a0e078283513eb14f9c6031863";
+  sha512.doc = "6cd4061eced23057d860143dd7121b1e0ca1a17de1c2f08334c678c9623c0066ee77c1ab5036953ce390be7356d3fc0d155a5de1f0aa977e1e95296fe71d5199";
+  sha512.source = "6a66a866c6edbe8c914bd3b0a7568c0e23914253fcb70fd849326e42b2c32860c97756fb94f5879dead5bc3f057cba64f639038b5a125f607c3f21abe4807bf7";
   hasRunfiles = true;
 };
 "typed-checklist" = {
   stripPrefix = 0;
-  sha512.run = "a3d4463739efb1b37f1ab3c10c192bdd749e45d9a7a0c5db6d8d719cd451fd03e569a0626210ae631050e45c56ba4d677099d9377b8a53ed4c35e0e3eaf95302";
-  sha512.doc = "26928f16a9a8a5803360001a43c19bb5d86a882e9f231c83c93975ef9fa72485281685c9d09fd0b7c87511e1dda89eb6e59ea68840b2d4be1760d2cbbc715fe6";
-  sha512.source = "2b1cdfe90970c95214994bfa5e38fb211865290eb1580b39554a94e7ddc4a9df22053b5f83728cda1be3e6562a4a15c08d5b325f6045387e4888fd10c976c040";
+  sha512.run = "3ebcc55c6e6e5abe50b1040be5d53f662c632a8b53f2d1914dee66ff0ec812d61057113f8af5062171a3bc9f7a67de0b3b5768eb701534d386d0db6fdfea0ed2";
+  sha512.doc = "87943514c64b12bc85711086f17bf06794e110f36b67232659f6746f39d4e671a7b618d45c21c7d034e5aef3f3374c959445e235329fd16d370410fc5f9621ec";
+  sha512.source = "bb0775fdb62b386d8b712a955849462c2c3c812469921a00a00d2fee20590a15f300f622bea0d86d6db7b2788c45bca4eeec443cb3c08b97c35e5f51e497fe81";
   hasRunfiles = true;
   version = "2.0";
 };
 "typeface" = {
   stripPrefix = 0;
-  sha512.run = "555c7f1a1e8fda81b7a1765bc4b32319be31cadaadc7b1c268af6a3e4d60de2035517a669aed43a9400d81be8b4b5c12a43c923c5a48641f512c79db74f59fd1";
-  sha512.doc = "f33add74aaa83391fbe59890ddaa0083b2bea861e44f5b67e536abfb17aab40ee4897bbe0d4dfca55ace433017be134c9fdd028a3337f5d4cfe9a42c49ba7623";
-  sha512.source = "84b926fafbfa104fc29b09e85519a07dff8a772f5b569dc2d76dd6bbdeb0ad845ffddd10e3c89ae9ed72ff7af261f5b2b6abeee71119b60008883223affb675b";
+  sha512.run = "68a71a590aaf3c6defc28a52b47f38bd1d24ec034df904d7baf4e22f1d390ebbabe744855bda70e72986450b402f03295f772a9576a2bffcab5638f3f77718db";
+  sha512.doc = "548caa57dcde46484ae947f46abbd8cfae54c0325b42cc32c23c092e23f7cfe6589b6ddcee1eef09ece3c5ce0328fa561c52234899d9544fdb86440c91c63ce9";
+  sha512.source = "3c0a366505b9631e4240bc6a54619c8f526b18ddada30f2a88f8adb29916d0be755bc0643fcb40dc4d1a0bc371596774d029ab4c42d473ec09c36fb48e99cd12";
   hasRunfiles = true;
   version = "0.1";
 };
 "typehtml" = {
   stripPrefix = 0;
-  sha512.run = "98146acc3acb9416994a9243a9dcbe8fd968beb1a2199fcb3a1343174b11ffaa478d89d9547529e783a1ebe663605c1b44e8ec6ce0bfa4271dfece4922931156";
-  sha512.doc = "0c11e58e8770783eb324e8f1db33867e0b767fef9d8518568b4de6fbd570a228b0846c205911e7e5ff77e0a53cabb2b640baa41852c1e479fc0f09a491168928";
-  sha512.source = "bd55dfeec26836a2a89e3949764ccab5ac3a55b1fbf048ec431c03761ae8574d37cf54ca506bedd97857eb703c9a0151bf265001cedebc0c376743522234c810";
+  sha512.run = "9a158c2fd4c16a5dda1f8828ba32e082f5839fb841a8479563828b0085db4fbe28cb91674c6f22ab4965f8bf6f6cdc0f5b3113743113ca0188ff8bb851845ae3";
+  sha512.doc = "0001ed86af90c4fba458d299a2651a200ece010ec76bd8e934afcbacb7d7684fcd6c9514d280bac886a41eb38b4630fa52b1ea18da70ef9c29bc04618e392673";
+  sha512.source = "729bb6acd2e6ec28bb18972cc58b7ef8efae136bea2d96a38cedb4b0d40b02e00e2b21143706325bcf9add879e8adcc6b0194b6cbef3803c5566e7f6f0e63ca7";
   hasRunfiles = true;
 };
 "typeoutfileinfo" = {
-  sha512.run = "6ec7f66900e58f700343b16cdb458fa7e1985554521e58cd6030c90d0f1acb65a04aa85d652c0462393dfe91c3b46376c822048193a2eefc185839aa644a3674";
-  sha512.doc = "308511eb35047697a60a153bb0b8fdf1f73f805a7c9686146e0279dbb44500bb12becdeb8cc0a10137fabe87a83a3457746a63aa02110342fe9b8e0a433c2c42";
+  sha512.run = "b30d2618c8cdbf69fcb8a5444922185a52b934448b5d28ba143948cf80ed17cb402d73d1162194df3d2992a52ca9e6faca79000644eef968c4eba892c415b6bd";
+  sha512.doc = "143c4ad9cb3890b6350069d5d045f74c0bb0cfbe50e7d051c50c82011b56e651d483c1422d7d553a8d1d1784ae726a1ca1aead023fc3ccb1da4f0d59d47f7920";
   hasRunfiles = true;
   version = "0.31";
 };
 "typewriter" = {
   stripPrefix = 0;
-  sha512.run = "b378d6f4c342fe5eaee25778fd040003c9fbf2c6d63f9e5d17aa5bbc067488b67175af4e20de8fa7f87fe009d43b3b95f768907a207b74250552be6396e4984a";
-  sha512.doc = "0c1f8af962e9a351b20b1000f170394ae7f310a8219be8381744c2ceaa171f926ac96bffbf5b781308925b21c264551c2eba1fd5735b5d85011468120d5d38e7";
+  sha512.run = "f8b9edca6a860f0acf0d676fff381276594f7c13fb13da2e54caf5513a8a65fde378b4c16dc621d89d25d7492318b006d7c5d863c1f96a0a246064c0dad1f2d8";
+  sha512.doc = "12376247fd8500e7c147609bf47acab379e36126976ea9f2dc0a352b8b0d779b1cd43bd1394f3961b1a7fa894a8b6448b0369f612d8bbf8d1bec3175e850f89c";
   hasRunfiles = true;
   version = "1.1";
 };
 "typicons" = {
   stripPrefix = 0;
-  sha512.run = "a66d03244fbf2a5f2b6c90411d9ec750295071adb137ab549af6932f104911b096fddf6a515ebef4a02ef6b6c3d1ac683415289717f5e6f8d661890f503a49e5";
-  sha512.doc = "46125880cee45f6614aa052e63d9f5178114c41257fb1d6fdf0a68fa4eec6712036f13d5ceb3f5ef22fd8fa76168bc103ab7b138e7e3911d4e6408bc4244400d";
+  sha512.run = "38b0afff6e88635a2a27502f1abc279fd70e49f36d56bb44114895614cf80184ebf8b627bcd576d128b3557de08b3791c5c2e48f2adac9766f9a809ff0db3cba";
+  sha512.doc = "36b9517833fa6c430671fdaf0ad0775813c22ea3b3f56fad96410dd90e052b76d81f0ecd411ec19b567cd664b7ca44b9268d05ce59fb9bea0429c8f91c3a4a55";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "typoaid" = {
   stripPrefix = 0;
-  sha512.run = "da7c5a7e42a225d5d8a86e08294fd74a1a4066123894174d5c187ccf3d70a205762cbca39354ab5fb954faf4df713c00ab5ac64ea654708f0aede15ab01b5ebb";
-  sha512.doc = "f5bc487393ce1f65e4741b1f803312b47c456ea1b00909641eea1ac2bc9b54d029466106487d396d0164521ef2416a2505ea8526841526f0d87348ef748a4c6d";
+  sha512.run = "56553f1ea620566efdcd5dbe3710627d4c1b0be0ee294d256cec8cd633a4b24048012c108eac867427ddda28614eadd73172fcd2c57ac702d5f5e5c4a40769bc";
+  sha512.doc = "fd4809e02b1167e16bdb75cce5837f6202cfb44e7a0204900f6eb70173aac984eb35b14f00a9d43d4a61a4fb3a00298eafcbf71de15c7531f043e64cef418d8f";
   hasRunfiles = true;
   version = "0.4.7";
 };
 "typogrid" = {
   stripPrefix = 0;
-  sha512.run = "359814d4a759597fa6775e4a62fed6b1fc49edcd95c4fe7ff5abab7137e19c2f0c0c7279430f84cf41433396c128c13ba7d0052ea652f6ebbb2ba767a62e6025";
-  sha512.doc = "5a5f821c21226695649510aa7b1b6e7ace9a564a2137a8f4d7fe3fb552c00c2fcfb6647c204603d24774bfec5f5e48484104e88318bb54372f8f5723a418a454";
-  sha512.source = "ea89fbfe0d8655c0ad755a6531aac405e1b6dd312788bbdfa2cc81b518d84992d9b737f2ab8714fdf6d67f16d8f0980ab5e7e6a05927bd874654673e27e6d426";
+  sha512.run = "4ef0239ae626245b25e43819bc05da7d22d89d1e33b94402f8bf2b24e2518bfa7ce6626d0c9deffba5d461dd65db0160bd9134b78cd9ba930d0e6315cd761b9c";
+  sha512.doc = "d228343668d98616c6cab8a1c4b0cea313b4a7d2f25699a0f54f64b660b10869d2669d98f7f5b992ddff5a3202139ef1e278ebd40b3dd76466c6154a59804c90";
+  sha512.source = "23aa23ca0ca597a03ffbcd0ea79c1341d52aecd41d363e6daeea8b35c74d59a4edcb6a0f2dd7fc05e0a1018ce375f77ef7c831cf093292dd3785f486b2397388";
   hasRunfiles = true;
   version = "0.21";
 };
 "uaclasses" = {
   stripPrefix = 0;
-  sha512.run = "6c34f5a9c36018ce1930433d1775e5df98110f3d973ce0ce193cae82b4f0f73f6d242893227461848450174656a0650ab48b781118b407f50aaba7c44cce7689";
-  sha512.doc = "b1e1f5a568adbbcb4185ba76d6b581e067cb6a682057e797b0c92630f03c551367e1afcb184033d719b47fc0db191a09ff04756ae00324711e6828aa232e8802";
-  sha512.source = "f66764e73857b70400c571f0940286eee955ad8878cd195528ee86785a6f33a280560282cbe7a6fe25a2aec7bdeb44e539b15893606eeaab87fee710f016cfa2";
+  sha512.run = "4341612f18d6f5f4352ec0bf0018fe3115be73f479479586a81d7f994ec23adea7c38fd773022b4d81a126e43bcbfe5f97f4c36d61bad73509f2c1b97882c00f";
+  sha512.doc = "63beb08274ed7db9a2d77761277d65f89988812765a2484d7db54a8419cf67dad3fbf76b46bdafd8bd7cf17a1d540deb83c00c7b6df01f6f023bbb5f098c2ab1";
+  sha512.source = "ffc4902edf6b4007c3685a58d3e5a20a02a6ca3072466b7415cb4fa98de236e52c6a391c5e5cf30aabf37c7374cf00aaf2c7d6c845a3a61e2f9c0b0505e215bd";
   hasRunfiles = true;
 };
 "uafthesis" = {
   stripPrefix = 0;
-  sha512.run = "bedf63580d6b2fdd2132654a89c3e1b57e129699842d09a459602e24d29159213b15669e972ac2766513ce401a17e11a8b8c551a61c03efa768032ea7ca5cc2c";
-  sha512.doc = "78bd664866d4cdb9b7ddfafd52713aef46cca6e19a999c9acc0f4ad06eda05b253452927af64041888bb492be30a1410de04d1acbbd077c20bf1f3419c6a72ff";
+  sha512.run = "3f8146ae2cddcc8f136c7dad5cd926919d4d81a2b43038fcce55620c6c240326123b6f48c32504b44cbbd9b62aa3a61cd80f5b85c9890ecddef9d96342cc0eb7";
+  sha512.doc = "bb1e0fddf66350187d8507b34811c0c1ea84fbf0c6cd3e9eeaec8ef6c7111fa2ad1eb4d805df01fa6bed58030056ddf0b2b4305ad821e696fa6de977cff46c98";
   hasRunfiles = true;
   version = "12.12";
 };
 "uantwerpendocs" = {
   stripPrefix = 0;
-  sha512.run = "0142986495ec211b979a4fa938fe5898e1a0a5a97de0a8c68f8580407472f5c056cb6e28f32b79f0eed0458c2c1463553140619192aa35c6d3e013d191813e00";
-  sha512.doc = "61d65f45f77ee1a0fb8d97c2fdf53fa22eeb6c2df54bc646d83656ec23bcec4ac8fae3d9aab71efc1e5762467288bcba148dcd8c562cb665bb5040f1ff17b1cd";
-  sha512.source = "f9fe6dff44918b3127e1a6e16c2b496afedecb9daead5a80a29e0219ae0fab9ee35fe10fa47c0b588d2433326e94e5aebd094a168e9980eb4eb2f21d9d006e60";
+  sha512.run = "93c494ac45f8713cdff15e03b5f17388041ecf569eea304966da980d413d542d72af79ce86a57686e790ac527c5c6e562a93b9612c03438aa7ea1acb3fe7af92";
+  sha512.doc = "94a6b8beddfa2b625fce0f75cbab43ae4fafa7cd7c5dd0568cbe46cc1a7b0218c74c5575d116c8e085bc0fddb62db0596635d549251a760ef93d93b662d40982";
+  sha512.source = "76725a1498c86eaf6e585a1269b737601136337770f304d598762aa7f354a478b70849b1a98ba8bdae71c81fbf0db372c275f95396463316dbb5a9631b068b20";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4";
 };
 "uassign" = {
   stripPrefix = 0;
-  sha512.run = "b71a22632a1d53d6aa9e3e9dbbbe0d6795b329c831f44a2a0f702eb6aa785f73f75410e14260b2e5c965794c8f16d2421595a8249b3c04a3392e8172c65d0635";
-  sha512.doc = "c07a5b2e4c604d68a7f306c10233168982cb7c450be7fa8c1ae7d49d4ef627cbb48699d5693cf47c39a539214d548d06c7338ef3c8a3dd875620d7440460b972";
+  sha512.run = "3e61f381e23c30670fe78c4a54d99970bd05883e6fa03040e7123fb0936aabf51341d64aeff92109fdc33b7b97f40aa0cd81fd6624d9449584aef1fa3061070b";
+  sha512.doc = "e6569cdac6854bc1856d6a4604589619ecbf317442018790eabc3332723dc167a879e7ca6be0da8c281847e757ddada005daaa3b8712f7697ea4052b9c9f7cf9";
   hasRunfiles = true;
   version = "1.01";
 };
+"ucalgmthesis" = {
+  stripPrefix = 0;
+  sha512.run = "7f2d9b167b5268eb3f163ed71a12e3a979e2062469401a07b148c9d24f3080f050cb31df84adbd7de20675ec0275405f77923331862de78883faf86664445241";
+  sha512.doc = "f0a3a599e904525877c6737262de78b66d4144d49a5fbe3ac79db3a82481d168607f48af9974019d6bc773465714a5043bd95fb45161d833d2903de708375a03";
+  hasRunfiles = true;
+};
 "ucbthesis" = {
   stripPrefix = 0;
-  sha512.run = "1a069b62104af94a97cd723141c641b9aabc6172f026367270ad6c5ac576dfec1976ca9eba80c2ef42590702d41cd82258c8562d9c7ce4c2f4d86262e1f996a1";
-  sha512.doc = "784b117bac86296079e813b51baa86f76bffbc136e467b986e206b73547668a0df891d31fb0086872befddc0486c083fac4627b61e1140caba15c763c7afe8f4";
+  sha512.run = "b1a4258afddfb1283c3fa4f8e126dc63f1ac948ebee2d2fab3738e2f5228b0bda85e71ab3cc3ccfab0b8ae66b84547c5070e111e8c1516b54bcef721f935e63c";
+  sha512.doc = "aa443fe9530f08dde9b0531e075052868524c7ff6052e8e93e384ee3c01a354fd1752664b602ff6c98ab5250d05eca910773236d55270c09a567c9b238fbcd7a";
   hasRunfiles = true;
-  version = "3.5";
+  version = "3.6";
 };
 "ucdavisthesis" = {
   stripPrefix = 0;
-  sha512.run = "a218ab7b0f85fac3b8c59f20a2fba3d620e3332b35073fd7112e47b23a9f8a79990dc98adda24422ca51c0cb1b9d07353738cd7014d52963e67122549c815cc1";
-  sha512.doc = "41f92ea37c1989e7138670d749a2e15c3b5eae1bab907248597d45473b1e57a782cba66a29bb891ee742210fbbaaf9008bab394b494618bc1c8005e09256dda7";
-  sha512.source = "57dc07ecb16e323a45b599177df13ff9441635761a2dd5fd0f647044acb2405facd0dcca753359f04b4f29a91298456a8fcdcce983f5b791641a3f3d52091396";
+  sha512.run = "ce8191ad81027361c23175194bf23284bc2e43407f0047586a4a89a2c51f9823356e2e571639a1f76f6a1f2b43c08eeb134d874c03f559897b0cf50aecfc94a9";
+  sha512.doc = "26ecd36ab09467341868d0ad7d71f39728f23688053ad4b8a89339238da5c96fcfe504d8e6403663eb6441a14333163f8998e00428609b161c3e9665a4ef0bf5";
+  sha512.source = "759eab6cc5b63ac159e481bd012ce5da4d6ba35f459928d4e578b96bac60485df32771660b4f8fce08e73303e517c37aee1a5503a96c810506bb854cf7bb050e";
   hasRunfiles = true;
   version = "1.3";
 };
 "ucharcat" = {
   stripPrefix = 0;
-  sha512.run = "28832a734e22f55263670383d9b01ddb8762d154296f4f04176ef67904de459b78ea4d02f6979a9d1dcb72d63cb902655d0cd10262ea552629c4c8c15ae85bf9";
-  sha512.doc = "798be5f16941f103cf5c8460eafb0617b63a646e110f4b87684e5544840926fbfb7faa456362f0339e5210e7155558a006fc6d6f4a35c5b2533ca68282550392";
-  sha512.source = "2cb7815be55a08cadfcde6cf0d2be5dd5d94c3fa85ab6c0cd45d565ceae951f5ee87ee74b1023d86466404066fdc6db58010d6daa82ca65ed003a9674a21db2f";
+  sha512.run = "333e8f92394d89bdc3492606e467d4b664c5d87eb464e1c16ff293e3f87931c3c70308aeb523fb40f2e76e5d0aa2c1635402f40fc36ecfbb7ced98d232b8bcb5";
+  sha512.doc = "b4615cefd26201509c908c2719519f927d61ad96367a612d654917819b2ac973fff85d081dad6e1d092e634388b16e83e440d3cbad4fc7c16f638f5e2853bb7f";
+  sha512.source = "6ac34b38f4e0908d841ded4981d649c9202bd3bc277843e6e82bce629a245cea9c6ef1336d575d77139584f3940181c5e6f0abadf4ff71c42a97ccc33be59d9d";
   hasRunfiles = true;
   version = "0.03";
 };
 "ucharclasses" = {
   stripPrefix = 0;
-  sha512.run = "c644db7fa3ae006ac8ccf347d90d399ff0508edbfe1441ec6923cc7242e36c7ed22b0cb26c6ce7f38f4e40a0d8f38fb808dcb15322840682ea80dfbcf324c9ef";
-  sha512.doc = "837248e7218c73fadd76333c8a19cf03af0f6d16262433f00cc1eaca557f8aee2df57e64b2430a23fa89ef09c8655fa17e88442a413496c1c2a3071f08202c5a";
+  sha512.run = "1c90d8c0f27919e8b3e8bb057a43bb1878b1bf35840d13b6304edb24df56086081883731c35d1d58638374bc2835ac3f111a23981459357b1d1883168a4dd833";
+  sha512.doc = "21453f2a5fd247f05033b929200bed163391c718ac0562953a732718b8851546b1e2b8c1fc35c1412def0ac368c47ef1c06d9d8f4bb724be6863c2568662d10c";
   hasRunfiles = true;
   version = "2.3.0";
 };
 "ucs" = {
   stripPrefix = 0;
-  sha512.run = "c0dd75d44aa94349d82128a03b97ce1b0598b1bb0840ae3cbd18e542ec9479981c7cf7941ae8b78107302904859618d523c5a1d36794fd4301b38657d342254d";
-  sha512.doc = "d283f7ae94465e9ed2a1a19052b569b72589ddf16bdc5220b3ddaeda2979a996079546f25d8a60b8ea81bb48e988cd877e7ad90fbcb7f0efd3f552ec8d5925a8";
+  sha512.run = "f3a7120c45b722746b0f3c90a189ebf42daccaf659385c16507e5fbfb0a2922b7fbc3b3e34f53fc61ce6cf0883c9c182ee47c95b3596fbf9029db6fdafc6ddcb";
+  sha512.doc = "b1c57fc95a282e546fae1fb8267c450412ff92b5bb0510c335cfa7d8ace9691c4f6c47fdc0a87d6752052abca1325a86a44b777cefd65363bf4d9c95265de888";
   hasRunfiles = true;
   version = "2.2";
 };
 "ucsmonograph" = {
   stripPrefix = 0;
-  sha512.run = "fd53e5090ecaa87b37907fdf6247153960c3ac07b141a63d0f9566aa5972b25c1e6ba7906ddd8431baad4e712457a6344230a96a57e7430ffcde46035f4ec586";
-  sha512.doc = "012b00aa412ea001c1152f18ac0cd1ed6ceb8fb93eb4ec90ceed72157c3a301ff23101cc8fbf23f1cd534b902f977d8ac6d64252471f746b0a36019d62cd2946";
-  sha512.source = "8615571e5a947f2dcae47cf1568787e0b73958ae0b77262214baea7387107ee7b61561036e6d74d2196df9cf9129e151ade6a14a23ee6bc8463e49e6e9c32eca";
+  sha512.run = "e7d128e550f797aa566e1364102c5625ceb268f7e3d8ac78f03734d5721e92628ddb22942afb4355ba6dbf68cade8b129148a41ba777f925a4c51743db12bdff";
+  sha512.doc = "500317f88c5162f201b22d0d511fadd2e2a024c72fb7ad30c15d6f251a6c350bee724f62701341d78dd4ac2d718b231994a98319fbbd8b79caa639272e2627dc";
+  sha512.source = "c802f694093eb71d8cce30ac2ff2672ac07ed40196575f89d192864d5fbae7e5bc5e0910042798cf4ddae7481e812c62b50c5ebf245c59dda1d3f9b992cf1497";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "ucthesis" = {
   stripPrefix = 0;
-  sha512.run = "eb1e5be6f1791df1ab905d34c93d2019ef75148bf7519e0797fa4486072c7772d2ad5ad4807d602d9e7512d1ae95f5365b8d6eb28c011293daf9a427b151ee70";
-  sha512.doc = "ced7b7cc77c991afa70b09d0d6adac043dd1294fda60b1185a680740ac3bb96ec8af78bd9340663363b1c40388f6713d835b8b46dcff76fd7620c848875a5927";
+  sha512.run = "5409e366c69372dd3a93b3755d185e0b96edf71c7a8de4d6cc3d41850e5b9915d2bbe68d3265b5facd52e7d8c00159031737dbcc26302a1a6a89425ac47f443c";
+  sha512.doc = "7f7ec44a55e2d712af2204d883a7136b44192a402daff4376cd6cb217419179d2b46bc083688d9be9ad85d2b3daeb00305f2253196784ffc9d72c039f0aca5af";
   hasRunfiles = true;
   version = "3.2";
 };
 "udesoftec" = {
   stripPrefix = 0;
-  sha512.run = "a82778c8e50b42614820bffc5c2f92b62abcfba7425e6f51d75de131352cb0045534c167bda6bf9e04d8bb42c9e601132315331000fe348e6d10bbd607f39347";
-  sha512.doc = "1b74a9e27ee46fbd081b2ececd90039ce62957a04c9fc3a0b86ebb48c9f3732188c1dcc02bc89fb38fe2c0530ef508b6de70c97428e6aa7a7d237865f35b244c";
-  sha512.source = "c2a524dd996851d187604109100a1c5adca2d5d82e317c0cd2b9fa419db90b96128d06ca19001da09ba63e0c7d1e6255a3cd718a39d4564707d26563d1bf7467";
+  sha512.run = "668c96da10c6fa73d9739e00e0144d20fcfe1677417f648c205fa0fd49eae7ce9d5460e30f2002c39791a41e7db19d8ac004b4bb0d4c44c230ae1ab1ba884719";
+  sha512.doc = "fe902d88de4e7e98a5416bfcd67529d860ee85733ad9f76e8ad2112fb2ec071c2fb26d786e88abf8fe8c8f7d7e199a4f0c15f728aa1c117bfff7e32941e677d7";
+  sha512.source = "a964bb8d9dc2e10155b73121c062cb101108c94def892aeacf166bd739c64cebbf5132e2b94c5cb8f4e377b94005fb8f90b5a2a4bae4f9c5dee5a6551e821f9d";
   hasRunfiles = true;
   version = "1.6.2";
 };
 "uebungsblatt" = {
   stripPrefix = 0;
-  sha512.run = "e6e7a28d6f692c90c226eea2de00b349e0f5e0b405306a99cd85735acc791458cbed66d6ff31da2013bbfe19adeaba2af63ebfc0026e5a5025717c0f9b1f27f2";
-  sha512.doc = "f7c2a45f56a417f3387bc4fe812c704cb32610d0c287fd76eeb617334baff97fa985ea51714d634eb6ad5642b0f75e2bc48d35ce370dd3d26b5c962974af2ebf";
+  sha512.run = "e9ce935da13de8106d63f233349bd29e954538ad17de7505be14a4b5a2efa1e1aabd3ef46871e98d2f5d4730bcf6c49998187924328eed19a35a95bffdcb8d70";
+  sha512.doc = "2853eae6fdddf889b305166c6c09351e8e7d7fb087c68a5ab9f4a7a282118200a5120c215708e7d2b9d4487457aa6330d11ec7f7a8e0139719b67217732f2633";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "uestcthesis" = {
   stripPrefix = 0;
-  sha512.run = "d6721c39b39bfef99b99d634b45e7fb23b4a4522438372a9e4015999f964409e97a862f0c6401611eac667ea303077d38f852a45f12f93e55c516f7a77698f00";
-  sha512.doc = "21d033621b80c33c9a926204423c3cc4fb8e7952103916ab59d59fdc8d2b41fe7571a7f91c3023bb28d8315349f198d16d2014c38d3384e99024f29df4639798";
+  sha512.run = "aaeb270174e260230d527379ef0a7581ec9f78387aae8505ed5e88a04586dfbb1d90cb923181f34e92d5100bcece0da66e17452218f0c83bbb12b38cc517f3b5";
+  sha512.doc = "e68e86bb446c1e79111948b004ece03e2110166d01966d562b1bac6c932385aeaa682f04262eccd822e01b93c66c77be53c947c1dbdbf5ce129a74efdacf5df6";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "uhc" = {
   stripPrefix = 0;
-  sha512.run = "c5b941f31dfe935b50d35f0c64adfcf4c0d008dc3c16a91a6b293e104086cb9711b8cb74465caf6b20918b64231c0a6abd6a778f7d35c31dceee2157a8268542";
-  sha512.doc = "7d1fb63d72d7c3741af17fd79749cdcc8742a86db94686b8b83371b43b175dc03c800135dc36d97aaac18e42695caba47f1bbf35ecb81981394d0350db94f709";
+  sha512.run = "b5e722e7a72d2efcd89c969c10291779a2885603817374e4318f59b4042b8890df967503016d08a91e30ba8cbbc6f1838843644f06cf44766a7096efdd3bf905";
+  sha512.doc = "c37c5041d155f9a175a6761154211a683405d094850cc829a6b942afcb93af987b4049e663d260ae2b066827007d8c6576fdcd5d14d3ff599f031b13c00e162f";
   hasRunfiles = true;
 };
 "uhhassignment" = {
   stripPrefix = 0;
-  sha512.run = "6b93f31b91044ed2f1456b530b791155c6c9e9383bd4d69bc42d37af69d944964e7fb6cdce7aeae9bb71fa5be8315ce3f224e2d506dc52fa83403671bd25ea23";
-  sha512.doc = "c8ebc4b6955f5e9f61ac78a6a47d89ba6b3a8aca7d15c1f86c37944e9288c17a07d228f37a0a12b0cce5a937ef0350ab0641f629972b4592f2a829ef090346cb";
-  sha512.source = "9c322f8e0508e067a22ae20d60042fa903f7db0393426375ad5440782d6b3fd4c4e392369815946306e6c16217792040d9c4e5623b8e6ff4bc404c666249996b";
+  sha512.run = "a394f6f161cb72ba42eccdaf26f08b12048cee56207f754dac157a2eede1b0867fa0d5916a37d5e3dffbf10237178f156fd3cb33c88be6a926208ca8dcdd0508";
+  sha512.doc = "21054dc051229a338d2aa954cbf80893e156236329206ff3cb63f47dceda4c35c6fbf6c2d9492551b7609aa88dec74c507094e2d96f2f96432436e74e80a9c38";
+  sha512.source = "0bd0fcb18d334c471fa7d4259cb7c511dc7917344ffcd724ea8bdf859272cc164649f01eb4e553deb5b44f91dfcaa1640b18ccbb5b10c1b0d3a7b585afa323ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "uhrzeit" = {
   stripPrefix = 0;
-  sha512.run = "17a8892efa35b456cabb8926cfa899294bf76d8f93b7afbd9e5fb835bbae200934a3267022a9d4fb2a4152318ede995304a0f97667b8eca6ee71fae85d84caf2";
-  sha512.doc = "5f706747bdda480856f7a4c86563ffbbbaea928cd703ebd227794a7f3ff2684491e4709f48319fa9e0d2379d181d84c267f7a7219ea13653ae1e5fe227ac5814";
+  sha512.run = "7b5c732258e25ecc2d429b09349b94cc4f24de77e8db40add018f42bf7658868e9c3730f0fed86312ea96625556fe02a276535eb14416d06fa5fd2cc1eff30c6";
+  sha512.doc = "76c7bdb6c74ac05fd9b51366b68b0dae8180da51f506ba1793765d25de29582c8eba51826d6d6c6d3c3c1793f10fda3f6bb75c82d8d454fb19e1339eb98a9eb2";
   hasRunfiles = true;
   version = "0.2c";
 };
 "uiucredborder" = {
   stripPrefix = 0;
-  sha512.run = "7ea242fe600ae4e0410147a574ace47403c0f00910afd75752f3cf65ee478617f553f3d5d0d9577540ae7794507d3b2548f1d00b43052879e1d6fd45345511ef";
-  sha512.doc = "b663bd149b9a163fec6246e17d989cc7235921897ef8b87aa93061812e9c2bca1191767a21404ca22f8b5b458771d0e0702368e579e566b672015bd3bce83dc2";
-  sha512.source = "18c1faac754a27e8d37e8065a56967cd9aa34edb0b8e22e96e503df330748ddac767a340f9a23be8887eedefff623c95e644d0d2088b795cac7ccc4b6d615642";
+  sha512.run = "4a398e734fe551f1636a63ab3ac8b851ff1e445c8b15b6e48017ed7a81edbcf042750919db790d7e2e9d6b08132ec5a3c04195854315ba1c1c8e8712996dcb25";
+  sha512.doc = "6e1c91389897853bada4b52c8350dfbbc321395cf1ff7991d7f29d5e64119c86c4e07fdad889f2a4a149e0e2db1a1e5cd9a44cf6f905d5030afa25cfb14d1323";
+  sha512.source = "74256e3917f7d28adbcd5d08e4dad126dcc93019c852ff6307417b2e150cdefa986affb61d7b174bf510e5f75563bfde01fba9b4c588db3d41c2fca82e0c882b";
   hasRunfiles = true;
   version = "1.00";
 };
 "uiucthesis" = {
   stripPrefix = 0;
-  sha512.run = "8a30b902f1ed56795d501a28a985dd7ab243222560392df3207e04369b60638ca94a067b9c8c4bcd80db85dbe9e9a39c403c13b739fbbae21c5b3f631ec11847";
-  sha512.doc = "78adc6173546fecd946c5c4b633ea6d3a6c966c7f669adcad427a6d12085733cd7d3dbb4ea3f158ea02a135451119ec64333f41c27b3aad60ee485dc0aedb659";
-  sha512.source = "3bbe1a519eaa81b36ff85713f712a3e63d2c387edb1e0520caca35c47e322b4c5f137a2e408f7316d8a598143b2e2d211e4babe77b9a4e42dc47bb5e02e084d0";
+  sha512.run = "565b499bcef08716d627e206a53f2f344a10a0e219876eaf4bd82a63accb2eb43c14c8c8b25236d336022900e9a7d5299b5a34d5e40eba0be6d7dc8ee4431490";
+  sha512.doc = "798e7428988a622562b94bfd4ae389dcbba3524fda0d427aa4fbdaff0f1a437babb4e68b58350a3229fa078bf11e17af9f5eff61a5c9153960a941783cca623e";
+  sha512.source = "3d1eb025e066a311e4ae28292b00e697cf4de63b1038944b41edfbdacbdfd246d5a49bd63f561c5d0d4bfadad8d2a4325a8784245c09308ef5d2380054b966ad";
   hasRunfiles = true;
   version = "2.25";
 };
 "ukrhyph" = {
   stripPrefix = 0;
-  sha512.run = "6fb3cdd284fbbe6042eb6e73e40aca4fa5abc28ba639cb1f1c1871f5031f8a7a876a73500da865a29ba996193abfd501f3b70b58480050500610277e5d217dee";
-  sha512.doc = "be92315332fe79f7f368454941aed5cbab40b5e45de75d45cefab796ee8e66d6a0fe7579d4d69c589aada5dffcb85ec71bc4ea81af647bc726469e8d94ea5e1e";
+  sha512.run = "043338c4e92d84bc2b7bd63610656b53b39bac225c5610089c0c8b58ce9bbe3f414129a6b043a5307ebb7b59cc062ade7bd803fb6949d06a0d0c87e2dd4a0bd3";
+  sha512.doc = "a283d11ed922181d4f29f521e3019fbca2b1bba1aacb312e22dd8e69d05d7dafbabc5c23b63707f265bcd215d8f517f58ab2ffee2b87d9bc1a968d00e9542840";
   hasRunfiles = true;
 };
 "ulem" = {
   stripPrefix = 0;
-  sha512.run = "651a4ef2a5459d0df8a769b8d13009e9d6f842cab2c0b4ab727afa3781fbdf1b8b8d5d449209c542b60407ebd51d9ffe8e6441a5928fe16ff26311a36dd91770";
-  sha512.doc = "6ae65864db274f4570a08faee23c178b0197df9889f8f93a52664714bf39259f62ea3b9b4db9d1fc5562dc0001ed9afe9ea40ef773a8d874b74ebf6982cacb6e";
+  sha512.run = "f20ce5e900bfd20da9fe240214ae63ccb51fb6d0ee6f5a4081439f524889a480cfced5f261a10bcad8c7f28c31b7e1933254b3ab30c5de04d54ff80e49952342";
+  sha512.doc = "e73214c64517ecc2a30283b0e0e87f913bd768c2ab9dc0eef68e8c1534c3ac877ca8b96e6326205e7cb34eca072e5b2351542d0b9fb02b24f1604782efc5a7bf";
   hasRunfiles = true;
 };
 "ulqda" = {
-  sha512.run = "35ecffe16e2809e7ecdedd65d8f1debc20b9028dbb6b21ccc2a9845f48389f9308b4ef4905a18b605b8692e00df80a2c6825a69d187e8600bf8b5cdabaf2d6ed";
-  sha512.doc = "983f62f0a6788ca090cc0d5b29ae85da62d8c63abfa374cf7a3a847ec722ccd7abb479088d72934db25a0406478203de603e7f5a5e26ca55c802d6d7b2da0c61";
-  sha512.source = "96db76666987c7037b6fb97e1646caa3e1b7b9b10f922b7573e572d5cfac1be18010fb35ce61f51fc9c37e28ecad8011757c1b3bc9840c3d86a8798071effbe0";
+  sha512.run = "228132cc464dfe171426fffec6103f0dd5eac61c112b03d64d98bc89a0af0ddb7f52f27f9bb5461c8be6f752ae30ef3d4c6b987e580d834eb7524d5c27d956cf";
+  sha512.doc = "182dbcb73a25e05035f878696887ea219569a1a7ef44281bee14b4498b37e92346e0e97d187a5f3dbcd8d9783f260080ff10f58dfe41e69caec4888d901b9128";
+  sha512.source = "352f1a739cb9c74c0dae529ff330f3269e763242af4dd1bc0aca963b3af03f02f5becad436cc3a93aa105359a1bf2f229b3cdb7175d539d58df67563b490de8f";
   hasRunfiles = true;
   version = "1.1";
 };
 "ulthese" = {
   stripPrefix = 0;
-  sha512.run = "026daebc8038c5f9445ad9a153a8211622e6010ef46dc71ba84e9cee0754ec0a16f3d6ef00f9601a2fa1722d5868d5f8a71e66f99744c2e5960eae4bc6c6ce3f";
-  sha512.doc = "d038d7da2b8f899d09e2b5d4b453ef07ab78899bd165be3e8c68bcc12cd86c92565dbb0f64ef7bf5409177ffd8e9c1febe3ca277a4ee64644e65a9f9f9397648";
-  sha512.source = "673be665a6fb9a8aecbb3ae975671a21acb7fc8595bbdeae9f9c53835f50343fcbc785b4a58e0b3fff5a76654110dfd7bb9dd3e9b796ead59aadb5d9a25fa4e6";
+  sha512.run = "d9b1228e4fe2f425a6c0b31695283a07092d4fe5bed1eeb2ba63eeba702fb07235faa9f5b3b443a8373b719d0e82dd03f5e3e691911c7a0922e1ae335ff10227";
+  sha512.doc = "1f93ca717472f2f894bdb413fbda7d3b40bb86742f470c1049a18dc141717475475e2ebba46923108db30f8a15d04da649c3d8840a3579b016c72334895080aa";
+  sha512.source = "c9212c8cbeeadc87fdb1e5573d48eee6997e2827b53f6a1cabc33f358f47b5589dcb785fd6597adfcfa55cd3d8c0e370f84733acb183ab95a136dcab8ff1032b";
   hasRunfiles = true;
-  version = "5.1";
+  version = "5.2";
 };
 "umbclegislation" = {
   stripPrefix = 0;
-  sha512.run = "f6418e7108d549aeab5da21181d6c3ea379b881ff7d3967b4845d0aae799d6e69a523b38b11527779c028410df6cd943bba38acb81c1e5b2312b72efea888a12";
-  sha512.doc = "8b3d6e3b89c820100751e232b15d27b163a5668b88be3150edbcf2714ee582b94be4d0aa1368fe7684c257aacd9e63d90e82b240fd817a1bbf7b5c068110496b";
+  sha512.run = "ea6a55698b51da3939a1bfc10963dd74d9e772ebd18ad9018f649077224f7ee30ca20f051a68c9bd8d8bac94baf1d0d28ab2f864419c61385ebf9bc82aacb7f0";
+  sha512.doc = "d4d5f318baa1f1ecd446bb864d0670ed2dcd7208429bfd2ce587810b27dde22f49a6f7c072aad8f6515e721a98ea0ec356ee36eb970cdee385910a291d964394";
   hasRunfiles = true;
   version = "2016-6-8";
 };
 "umich-thesis" = {
   stripPrefix = 0;
-  sha512.run = "e4356533a2d03441fb04e2618989e9d4ae2b8378f342cdb86be03b5763bd1f97ae1c2aa0355cc68f1bcc9416ceb1e0d3532b32dba67b5b4a0cd6de3795a5919d";
-  sha512.doc = "2b378c4573edb1bd818af2dfd47392095a3f0dcc0e7ecebdec9e0a57ecdcc88739cc741daaa6f5fec3e66a172a7534f1a2081eb3bd72463e86db3093518f6b7f";
+  sha512.run = "52bb76c9d9e3bb742c2049495a74d026a1803396bc5064a10f4da2e80390ae6c9c9c74326b14966e989c9edd1e29b797b89413ed6e87e90527ae470a8b731889";
+  sha512.doc = "db85abee0ad37ce814c645c072399a6ab7e3307c623bd402a1b9ee8b69a1c2a8aa782b5007a433ebe9eaba984432223bd78f247fdcd0c6f50edeccc87b874173";
   hasRunfiles = true;
   version = "1.20";
 };
 "uml" = {
   stripPrefix = 0;
-  sha512.run = "d2f49e8645f924330acd33682dbf1f46d1d5550c9a2ddf82c8112b498609ef2611f4bc540efebe70b12012204d217b9f0faa25073fc2a2765fa68f47de54bd9e";
-  sha512.doc = "503705409c253113fef9304d53a34696ce299206a7a5e22ca2562e6e7ab527ddf3576d73b460daa44df21ff9798809187f238f72e0685c3dbf40086fb450971b";
-  sha512.source = "033dc7209335b1f98564240eeecf22607fc81a521d7b061b43968d7e35bcdc0daca0e3d68abae23fe36dd629d149ddd58e864edfa78edd87b72dc714478c65fa";
+  sha512.run = "b20da85c7166f8aec4309af3ab0b1319f37ada1513ff502555794b1721ac8c3f551afcdf49a58bf5c3c5e666e48962075f7711a45de003245584541175a6a470";
+  sha512.doc = "d81393e3b6d9efc0177478e562dc0a22323e3e5913d7592cdb6ec595d525238e154d2a599380521652eda4fe75b12006cfdc907715b0a9d461f8df60ed27986b";
+  sha512.source = "afc5aa7db53b82f6063abca35d8cde75659682525d939e2f55c375b89fa4cc196bca8852c91d12f7daae939c053f4c9ecf99b326361f051847e660af5afe3ef7";
   hasRunfiles = true;
   version = "0.11";
 };
 "umlaute" = {
   stripPrefix = 0;
-  sha512.run = "18adab55047a35e4abab1dab9c033ce9a021c622d43c87d10fb373234de68c1f6ec4d8925dd39915259381fcbd0771ab777b6de50ab96f128e505382994b451d";
-  sha512.doc = "884183a077a52153c35f5b225944a520de58e7baf65543a3b3176092172b113628d68008d5a3d9cb1a0ea59dc5f18d89713004a1d9d048fe131fc85e84327d94";
-  sha512.source = "9be7d5dff5a87c83add3258223f1dc46578e3cae4cbd65b4378d96d31a513a2c92615c64d9097137918c6d3320414edf46e7bdc0de34dabe3e7e50194135c60a";
+  sha512.run = "35188d3930b11c0d1b52a5032bcf9cea21a22ce8ca2930f69ad4ab54bcdf56b73858168cc62581aac1173452dd0f7d0da3de8ac21b0ca2255ef324ff63c89091";
+  sha512.doc = "89f28b3b90f63ea4f367019f0b65aa1f8e9489ff0d897af6ea29b7455948e3e75ef003a5a2d5b4a88e00a5e415d409a577c03b63a330f93ed6804c99f951c68e";
+  sha512.source = "494ee6d1432d783f9586c80cee044e2857d4d24358c7dcb7d3043945bb3f5331b8eee78a13ee759ed6260518dcdebab33d78bab4cec5d384c4773b502c96fb0b";
   hasRunfiles = true;
   version = "2.1";
 };
 "umoline" = {
   stripPrefix = 0;
-  sha512.run = "b3a504e9381d1f8692b3981736fb7b12aec5d597021bde6b57ca5dbd080ada6422f4236620ae37542e794cdb8c04ad03ec53791d3bb1e47b21f2b000f9ec7ea2";
-  sha512.doc = "0a5337740bac6212046d4625e0e31a61af4850212b6c28273f232ec5d39a879e39bb38cfbb4a074f6f83556bdab076cb1b052841d2fbc5b0415ed6dec7f3545d";
-  sha512.source = "11604e8db93761c78c77185d2f9fd2da1f396b8bcb83526f0d35a3cf434e4408ca1983945b18abe6ba3066a1d87a81026df4b0c3ee9eef59c1ccd3acf1909900";
+  sha512.run = "db3b8216d50288ec096f3dea9db24dfbad76848d9b8ccdc5d1310f4b8bb1b37ef10fed74ee5e6e0b70cc3e0aaa73aea87354ad731e4057c888031eb4e1940539";
+  sha512.doc = "64d559300349fd75af4bd98f0841aee5c5d622791cdd03373ea1e7840989b5175e300663023d0f08636b86337f66c6668871387a51a9a28e079111087265bb98";
+  sha512.source = "13f53876f0b1c5921b480ad9d2c63ef3abf1e175006145f200f61f515e778161ba631c6da9ca4c4d928f94220e0964b64130638d7dd7195160b54f39e4bf868d";
   hasRunfiles = true;
 };
 "umthesis" = {
   stripPrefix = 0;
-  sha512.run = "d9b8ee84f99be8b59c7bbe3c6f70df3dc05ec418e1c88661f3b2d2f11968e1718b0b028ee8d91b6b8ca3d9aec67bf5ed6452646667396a24a7e8f2e733b78dab";
-  sha512.doc = "608ff5e0aa17204f64be63991469a9583cedfecf37e0c59029d03808769225aec2919d58d3bdf5ccf0a44b878f12d5b30ead9943012078aae29503e243e7d20a";
+  sha512.run = "b2fb90713da6547b9d4cbea4f972144f70d7f1875e325225f0dfb90df1a04b4693c5a3dc651f0066ef7ba6456c7732aeb5272ccfd5e8edc24281c1b1bc9e4e32";
+  sha512.doc = "fb43c7ab262d2a1eb70b80bf4ad66ae9e022c847451009372e1ee1fcc5250e93b0a4a2195f4208799ae78cbcb5fc24d48de0b2355884721918ae5d4c827c3507";
   hasRunfiles = true;
   version = "0.2";
 };
 "umtypewriter" = {
   stripPrefix = 0;
-  sha512.run = "ee7094c6b9ee2d512f93c67e972c924cc3d689bd234fa9af8624a504286858834bbe0d0a182631f9a78c1c9fd603b90408c2caad50bed349b57d3993e0566847";
+  sha512.run = "44dc925eccfa4010566bc751bf202fbea6b369beb57c6851bffce2dab757bbcf415d601de44f97e929e046cdba1720ecd7bb6ca12c992674d33b43b9e0ce77ff";
   hasRunfiles = true;
   version = "001.002";
 };
+"unam-thesis" = {
+  stripPrefix = 0;
+  sha512.run = "aaa8c4029cfb130798c5e9401fde5dbc7943d7cb89c9a620e050e619ccc1950593b1d10bf6300958aede043ed0e4fbef371d0c40f055b259284f008463a64c40";
+  sha512.doc = "ba6897f0b31953cc60bb49430de1b77d10d7656363d596d4160f96189c70417227193ac7d3809e1bd7518b89a871f5bf4b18004ff8185b2a03e0226536dc6a3a";
+  hasRunfiles = true;
+  version = "0.5";
+};
 "unamth-template" = {
   stripPrefix = 0;
-  sha512.run = "63e0abcb8693574cdd84b05b8b3db5d27ee0ee7629af3728025d5c5fe2a934242cb47cd4fc1bc3d31260cc3ce2308b411a1a32286260c36175c06c52e98133be";
-  sha512.doc = "59d3f7caff2930178ae87843246b6422b2c7c33276b892cb5aeef638c56a189eb4a3c6ae61dfe8f59871a55dc0b0b965e6cf9b97401149de9f08517b7b334f33";
+  sha512.run = "b8d1d3bf42c11c967d9e3889e52e2c9a45aa3e0bf4ac6b6e5a72d69e1bccc2b254954a6828a66ec794dc7126f54d26ba48e3c11efb913d04e50f4867d348d3b1";
+  sha512.doc = "eed527d21e7d8669e0a02fd5e880e9172dcc2ca8a1e499b079d1d8f3935b7e84a4c84763b0204bb3b90a9df493bbbba6ee90fefcde6b4975c1360ae119264f61";
   version = "2.0";
 };
 "unamthesis" = {
   stripPrefix = 0;
-  sha512.run = "03f178f402d9c8d08756f45bbe683a971e60ea40458979d5aabdd3ce9b3251f4500fd042ae1a085ca3303ee9c8c71932629d8c728db9d64abf29cce265c01bc5";
-  sha512.doc = "b17e9b318ec316a9b5bf90f1980e184de2e864172279e102be069342d77a08970b756b7ea69015feab068d84fa6b086e245b7463572c86bd59c5ed4c6bd046d7";
+  sha512.run = "f48e7aab2c445c5e257bb39ea4dd880cf9334a5b1dcbf429e8d4420edbdc4621aa59548f31770d67698bfb4e59e239dbcddc959c1b010e012ad16971ee7956f0";
+  sha512.doc = "240a697f242b880fd2436bbaa3752aae57ef3fd2e9ee63da173c78582c4bcbb1eb19e02a96607991d1d6a40157d52f00dadcd4956af230d429ad5223161a018d";
   hasRunfiles = true;
   version = "2.1";
 };
 "undergradmath" = {
   stripPrefix = 0;
-  sha512.run = "80c57244bae43b1290a63b4e078d707547693d5352d054ed38ec6b5e496722b77b28968904a06023e6d8f004787790fc2c3365cb9559611f9fcfc26b99d20a8b";
-  sha512.doc = "a162d6a95b80ba3e7bcdba37242439ce400a481b1fab4683d4821cf30b18c4a4fd264c3762b9cc09f9dca408c4bad2cd648f386ba5cacfd9ff8ff6622b6f380b";
+  sha512.run = "1fa7b30670ff888b7b848b756b960690489aa7ea12e5cc5cc97b56061cc91c2fc4bb2ab0a3a2eaf13177baf760edf8bd7f222dbe02cc16ad7b53f57b4b4340fc";
+  sha512.doc = "5dfa5955c7e9ed8fe89f6ccfb4517e699861b95619fc2013631d457938d64bd56bf34718c29b154a46b8519ec61bb102963668b13bb414a3a7ab35b748a981c7";
 };
 "underlin" = {
   stripPrefix = 0;
-  sha512.run = "5086622372147fbc0a2a1ba9276b35c1941e927820f0d3cb933976fee364df12eca03504c987ef476fbd19833f4ae851e1ace2e3b816d6180adaec88beb76282";
-  sha512.doc = "d5630c930399ecc85671eacd9db0af181b7d428930105234aa8543e5de45f4437db77c0066cf3911f865d53bbc3ee368e39f8e3b7a8dfddc2f8d042bf6443540";
-  sha512.source = "1d41281fe52a1b154bf3c6a7e4fc0e32bce1bb10c583f045e292d297c6c6fd7cc5e5eed291488aa13e51e769e5faf6fef632d0213238c93df9ff53d43cf9fb3c";
+  sha512.run = "b3afaf4c51b3da2d082e2cc742deaabe70cfbea7425e0c57f0d1d6696cd7d8f993707a219556a5c5bca925ea63373e3f0a716a82ead647e09ef2f716535886d2";
+  sha512.doc = "d296a04d3a24b463de3e4fe99c96a2fd8afa7c4ed2fa17d1218ac9e4c17455b4752176be60743211d59657045c709c8b4bd66febf10c81a41879e8c7a67e9958";
+  sha512.source = "8c534008a2cb0710b95333869536bdef5e3910e4a7c29ad2daabacd94bc5a34ea15dd3bd8439e7ebede0985831662d86f68815bb13b3fc36c82d83c51b16cb5d";
   hasRunfiles = true;
   version = "1.01";
 };
 "underoverlap" = {
   stripPrefix = 0;
-  sha512.run = "45b17cfaae8c14d7751f286f617aaf07867f2cc8dc7a2189470cae24e95e9bbfa91cfd7763763293efca0386a5b897e7a8f51aa891519fa19419fa8899c91150";
-  sha512.doc = "4a85d844b4bbdc28bc2064c9a809d6a9f4fed20edb883cdaf5fe0024c08f6a4e970915ebfafb50cf1376d83129bdfe4873e773119220d47b618208f415305022";
+  sha512.run = "3f94b5d33cfaa7f48441ba656e9498ea17ee5ca404e39486004e43bed71bab5f2140b391191e4d6f9575ca23e09b83bce343433c02cc394844270e563aab70c3";
+  sha512.doc = "5214981a15d7f15cd361f007505a4a0060a2952d75ea28f4eaef01c19a5b79736512a2b0a8c5e6ece2d08c364780256963276a9bc9ea980e13ba292e3d0b8bc2";
   hasRunfiles = true;
   version = "0.0.1-r1";
 };
 "underscore" = {
   stripPrefix = 0;
-  sha512.run = "e8d870367653f156f53708e91f5022787bfcfbd9c4e0e9be600c4e4dd620489b1dbeec6b1ea7bb0f39ebd8b72b69d99b419850963b5861dfa0d9edb040ec58a3";
-  sha512.doc = "4e5f69e81d4eaca8bcfaedb1af0f5c7e312f335af73cc61344f0ebeb169c3b39164a9da7bfd4790c28ee0234412d8a57d70ec85cf77702cab062a7a66d31d9e5";
+  sha512.run = "4fdc57d0a36aa5646c6b960b7579a8111441659469df32beaae06f54e6e835456810b1d9b5d36036510befd5e80b5b481b9179a6b24364bf8f858ebc97039ab2";
+  sha512.doc = "e1f0730b39a5d25cc52160e090b797ed73a5becc16b6813cd0c2f4bf78696b23aec5c82367c347d0e734f3b92761ad2090e517bb6dd2a40879639f62149fdba6";
   hasRunfiles = true;
 };
 "undolabl" = {
   stripPrefix = 0;
-  sha512.run = "6ad5aa73c7a36627deaf75c675268e170261960e64ce8d2971153f949177a9d1a0e0de16eed1e7eaac8ec024a0efa6d2b97b98bb67f629c9e79a4f13ece25d9b";
-  sha512.doc = "4b738a4b18fd78af720da1cfc4754c494b976e929e53a35893f6448e439acac14eba2ac211e0d3e18a32c515357e5b1141689e70074057186481b2a9dc5a0e08";
-  sha512.source = "1484b8639b88b8a0a4eced95673b404be69fe1f850dcbcf15478833fff68f3c8bc55f76ebe4f33bcaa591fb7e01234b17eb4a46d907f00f7075ac1bd15265464";
+  sha512.run = "b753a9d8a4809118a76b9651c5c7994aebe5c95019b408c59b356135ab34fe4e463099280ea43fc4e47692e32af9570be929999a661fe80ce993f25b85547e10";
+  sha512.doc = "d7aa3497adacd6a5e10dfc9ac19762ba3fdabc74eb1d50c22dcd05e8d4a02d0723efe3c7e297050ab607525ad3611cddf87cc50d640394c4489d765fffbbe8b8";
+  sha512.source = "dbbfbc331830b1d006d746a7ad0a7578ebeb805f7c8b1fc54cc5a502c878fc8b026ff781e05b5510b2331be529eabbd6b0308811b5471f9e4571cf1172a011b8";
   hasRunfiles = true;
   version = "1.0l";
 };
 "unfonts-core" = {
   stripPrefix = 0;
-  sha512.run = "2ff8b289bbd29ccc489d27aafd514f9429513480412ff37f4aafedc9aa4a1b8ae504e1361cf327a0dd8169de317fe7818d6a87a0eb8c9fd60cc7ea47fe8f33fb";
-  sha512.doc = "7af620dd6cff6a285e24e3dafa54815ba47085384fd17423c2946b002dc395e267d1c470b4a47f3385b5c69bb9e0d30ad7c512db1a1ca55763118dfe6d2b7219";
+  sha512.run = "5b405d4d77d15392ce5c90e9b50b6ab68309fdff67313af2749ff0865f46ba02a40e4850a690f69834f0b6a7c7e7ac33d3d422a9b241586433718f82de31bc30";
+  sha512.doc = "aabc766497c311a943f0a269d5822a44ab6baab6c8a82fddecf0b53010d794173d417f46fa6c073d2db453540a76866dd2265daea5879ec8c0ffdcd936d29a41";
   hasRunfiles = true;
 };
 "unfonts-extra" = {
   stripPrefix = 0;
-  sha512.run = "641b46ebc11b092c0bb36be41e1ae7c95ccc9f9dea3825b1ce4e66a7a516ec001fce30c1913b42e62bad81b1edc3e7bc504e5c341b0ec7f02c3f00addd5c9e30";
-  sha512.doc = "bb174edc90a71e6e13264b7ea27b319942df9fbd2401c43f933df0c78a0dfd1c7786b95bc88b0f4cb0a4b817d80599d7c323f34e3ca3215b4a2419aecfb01938";
+  sha512.run = "ba57b43a7df5d1f9565a08e0a0588d9a3ac9702041763ee663dc8c906279f32c363a88e1c1be098e0d4e9b26550121e686cbb6fc6b0256bb91535a4a1b12a083";
+  sha512.doc = "5fdc1ebd1d939ba99d4bb11c2d89128a97adaa4a0696abbc7517ab55ce39b87e7e7801e7a30b93c1f95e92bacd7d862144191f0ef542561816f6d1b84e9a7131";
   hasRunfiles = true;
 };
 "uni-wtal-ger" = {
   stripPrefix = 0;
-  sha512.run = "ad6c326a82f559d943c4b96c58791791c195cd695ad620848d221729b0b236d00050895952dcbda9a52557fe1ac3fb4c346f619986c3d509fffa7d7aed275aa6";
-  sha512.doc = "45893052f93f113353e1d4d4b8ea658f58dbb8ffda9633c87cf8de1b13a756013f61e5ffb55c2e8a5e8048c30221c873d8c05f30ab2a8e94d93b0beebbec001a";
+  sha512.run = "d1b6186d50733f87576ef6509f7eebaa17651039d882f78abbfa8ae23ddf7b896a90065fd5ff83a2e216485c22e865057f715784fab37ad9440616297d67a26d";
+  sha512.doc = "ffee19f2d4ac337f7615b99946287eb902d2841b48f9d5c49d51604b45b7eaa126538732d64b319a8ba320f1dcb9b62b45cf608dbb0059f37975a1220022c333";
   hasRunfiles = true;
   version = "0.2";
 };
 "uni-wtal-lin" = {
   stripPrefix = 0;
-  sha512.run = "ad19fe37f8e798488e57e07685832dcdca32f2cbf7b3a02ae4b9431bbdaef1355962d5fdc7ebf18547851523670f46a5a001c125ea0d1495bd64b62daf38e282";
-  sha512.doc = "8e4b5fe0f0c461ae349fd7fd448faabaf803902c19dbf36b5d8947e7cf01be6e8fc47bc58d673c11e5d6232bfca8d5127ab16284a5bf62b5f64c8508423173c2";
+  sha512.run = "803107d89b4ce6fe120bb528c684a65db3a9c70433abfd6bcebe2a5d05e6c7680256a407ef5f0515a56915c5c1e0637a183cc866631558e32afd96a0e45139ce";
+  sha512.doc = "e88b2c8364eeebf3768d0d562447d29233280daf685d56fe791d25b352cc64c4c95be3bec198aa6e5502287a654f3088e643a3a58edf7e55d0d899eed5b704c6";
   hasRunfiles = true;
   version = "0.2";
 };
+"unicode-alphabets" = {
+  stripPrefix = 0;
+  sha512.run = "281c7fc8b290aeb264bfad6e69a7e6b00636a58b15a29129c7c7003292d4b13570964600e8040ccecc1272747b9b84d36f8d5210c231a108fe22f9c79882800f";
+  sha512.doc = "f8297f2386bea8975ebb27a73044ed464077dcd7620bf7adfe70a3d07e8814c8da28af12d05a7192e883b9d2f179be3a928bccd77e557a4deec9c545f2f035d3";
+  hasRunfiles = true;
+};
 "unicode-bidi" = {
   stripPrefix = 0;
-  sha512.run = "7eaf7b2ba19a7bccfd820337dc2591b7fb394a4feaeab4d40feb58a5ae24f37e964b7c127ce05d3e4a677d11d581c2ea13d736f44b4d020b84eb78a387e3810e";
-  sha512.doc = "c3cc3c16dbbd9ba78f1068d9f577ff3ec4cde162c88e622f35c8d91691c89ee1ce156fda722bc1955d8cabfa8c8ab3ef53af4ce5b126f817ae94dfdd0f30ca3b";
+  sha512.run = "35e32b9959e698ab0d32ef578376fdeaac54c1acb9abc584e742a7caafbb2cf82364d58d73ad07de4cd273a5c9c60e4468df74fc4c21fb6552ddb5be725e384d";
+  sha512.doc = "44b76c810988c541c5dc6cc85a56fb81e8c2aa97afb84192477e57f59423e508e34aaa0542009ceb5ddbf74c95cd662697544af1cdda1d0c114bb3f0507493d5";
   hasRunfiles = true;
   version = "0.01";
 };
 "unicode-data" = {
   stripPrefix = 0;
-  sha512.run = "a0594897023fb617b702716ed8cded7df5a5074f73390fb6b7a0f76998c831335a7356b68fbea2a9f49121e286c9aa5d0a562459ed08136d6fded7ad96157b04";
-  sha512.doc = "5336adefb7d0909d4131331cfa1370ee44155a762d6ebd58c05c7d0b5116903eb65f5a6db1dbb3a90dac916f680c9abd5e0143aad761a465ebc5251f18d904a6";
+  sha512.run = "7fefa735e9ab3499e6764b755a634d0161b776a8f5fea07a2da7df0506247eb6f15034c193affe83ee065894eac33d037b13af8a8f72e0675c4b377f1c919d60";
+  sha512.doc = "2442fd1bfc6add0c9dcefedb33a14fb7ed0d132efedc1f82cba3f367c2a759779e5585ebc8e76a96eec7bf57a3083676d704402444e10b03d060c5ee6edd235b";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.10";
 };
 "unicode-math" = {
   stripPrefix = 0;
   deps."fontspec" = tl."fontspec";
-  sha512.run = "44b7cfbd16ec69415f84f839202c89624b974cbc162c8a99cca19be833a08d41c1d3c79b76488ff148a4a503bfa74e6b18dc97cedb7b67e844952724d097744e";
-  sha512.doc = "cf26e0cfc4f80d861328d843e9d804e770c232dfd7209c3e7135b3bdc4382607099acfc4aa8fe73c0fd2fec66980b9295b889c68a435c755237c9d1db64bc7a0";
-  sha512.source = "23dfd76eb77dc273d61356a5140e19d819f5a11009ce3a59288e44f5509fd6981c53d824913821efdd813ca370a1f669bb4e38ce217fe2da84d4fe47523af12b";
+  sha512.run = "f1698aeb2dada60c9ae2aae4e7471277cf8d34746ae0d215c26cf7c2d6683c9c3b43bb416cdf8359706c76bbcd0543bbd918aebf34e09284f0cdb8831cba41bb";
+  sha512.doc = "b9be53c40781bee98b58e97b92b01423310e991839c03a67e75c650ceda56a643de702b8fafb0097ac246c44a343f4fc8aced0fa8ab0742fc2c3f7fdd8e9ab1d";
+  sha512.source = "432cd02c01ac814b0989b0b845a059ffe2ddc8568a5e3f77ef672d01fdb4ba599c5d1fe0c15c6a32fb4dec6ae1b66603c006c86ab5813a8202323a02f16aae0d";
   hasRunfiles = true;
-  version = "0.8n";
+  version = "0.8p";
+};
+"unifith" = {
+  stripPrefix = 0;
+  sha512.run = "bf288fc67865b2440b7b62633a04779e0172ed139e6ca4f1f88b21ffc84147663c143867d204b54d49f0d0f4d1aa0f3ef689dbc36881198398512aeb735c717d";
+  sha512.doc = "f185887da8604b1e24d9dcd7581b071e65dbdce6e61ecb435e99c19fe969a5912974af8430eeb22e090a8d2e1100a3457ece22cedc84aa10d589957e0cfd61cb";
+  hasRunfiles = true;
+  version = "1.2";
 };
 "unisugar" = {
   stripPrefix = 0;
-  sha512.run = "4b05bacc34745c56160713370e907c15e09c5f2a16d64465fe91993586d680c4d451c2d4f199907a017c63f339fe2d50f8a6d90825284c16f8423efdd3ea3ae1";
-  sha512.doc = "1205afb4e84072c918d22c05b32e8d48963c08db7eac6f71268622d2d1c4d4a8430fb2cd0775e9182366fee88c93b1e9f633522110186fe064301863f105fd07";
+  sha512.run = "01dbe995d32b49121e28163c11f89e51d4c692ab864b3dbe6305a0e4364c025b13751c137df52d24160acc9a8080fbee56fc7a5af522405c3d0564486c151260";
+  sha512.doc = "8e6fdec36271f3561c768acf095b6fc353da07864829322dd0b52b1784d74793828951e006f8c56a9c38849b28ce186682d906bd7bc906739b22782db2102021";
   hasRunfiles = true;
   version = "0.92";
 };
 "unitn-bimrep" = {
   stripPrefix = 0;
-  sha512.run = "f224bcd89abb7e22a263a91f1dbf3a7a23fd1f852a5f8fe68693557bcdc513daefcbce3880a951e12fb777a159be6adf5913d05b783eb6ac282868ed282e3419";
-  sha512.doc = "bfc5d6361d427eadbb346b6f75189ad2c3ad64dd78fc5e333127c7b6b6706c80780cd05a0ec64e5687e5f1cab0f7ec2ae449235369b8e71e4ae37065270f03b6";
+  sha512.run = "595883fa58169e9cd7a860933f19847895ca02d3a684b71536dfcdff54c5fe6410e6cf6fab8ae9574cb9a9180ce24f3ddf41f817ceeab85d0c65684cdc9b3909";
+  sha512.doc = "3049a0bfcbae6666f309979e2c2b8d52647d3c445992201afbbfa28684b83adb2a1ad5f227360c49826ba2de2cfebbc87195801c38413f5eb26bcd793b77ca61";
   hasRunfiles = true;
 };
 "units" = {
   stripPrefix = 0;
-  sha512.run = "28f2a463964c2e2c11f4c80a76f30fd2e499fd85ca15d9d05f367fe11faf41d578953a72a09a1c07d4cd810873acb06c98df736f770e4f2a9993d9177ee3dbd9";
-  sha512.doc = "96cab20caf466acf264009962380470a04622737ae8d869659a2d29a99aeed685d7e226a6602b268d6a822c82cfda482a662b0d6f75a16d2767030ed2626a4ec";
-  sha512.source = "ecf8b2678e3639cbc043490c13c4c538071225af2fd2a80ed4b6827608f597e0eafefabd9a520dfcc3fd1b744c3a28ac7abc3764cea77ba1f5ca4b0962849f2a";
+  sha512.run = "a1c3266bd95d8668d67e7dc451258f7a3a0362e4435ab70a574be5f7ac44bb5fbb7b30ded852602c73f227f57e8f7bf61af148070b9eae6103a982f726869a2f";
+  sha512.doc = "e8a1d929e9817539a5fef6cd89c8d4daf60cc0495fc7698e4708eefbf60fd36daf88ee5cb668e9f1d53978d53253bb52ef6b3e6d1a313708022e5218c99e89d2";
+  sha512.source = "a6aff8a5917b48ce17a62de74bf327e0bc2b4a8cfc8a77fde67cfa710d8715b0d8dda54837b3f895cd769649444691df5fafd9e486bb37f4e9af110584f676da";
   hasRunfiles = true;
   version = "0.9b";
 };
 "unitsdef" = {
   stripPrefix = 0;
-  sha512.run = "3a8c36e547e4e0b52927b73cbba04b8bff5b36f6a5b83e2278c6be0ffeafedb5b5ee636c4a9aace4aab571e46e914fbfae67a9332f39795c1c7ba8452a87f8f4";
-  sha512.doc = "f3b37b47bc2549397b1677bb45f74db110968788ef6dd907e88648c35578f2d75f74ed69e6313460ebede5f684fde1b37cf0e38f01831587783bb3a663ea1622";
-  sha512.source = "04308644c930404deda79d1c325e1fe312c47cef447d90dc3dedf06f22dc90732ff66997e1e37c4877c7d0b95a6500e7ba2d2fab1bb0752e5d3a8dcf45b60c5f";
+  sha512.run = "048b2d4f3b160a359a8db5a66b9bc3bf68545384c39c7c4964521aa2067a35e4524734e082d5bedeaf3ff52b6a5043717ca6f510cce0d041b0968968ffd232b5";
+  sha512.doc = "c1e6de470c8b290c66f71020794fa5a855a0c9b22d90f629c8ec0f6ab110ff780c0f39291f0309348711cc2acb60cf52f38538da8894803cfee54f9fd6fdc9c6";
+  sha512.source = "9ab403624c578eb8f33801309e8c7ab0bb0b53f5bd0de0ad912a5ed6955a5d3ea0d44bb43b61fbfe5cc60a667cd908f85061c92fd397931a2a4780d0af58646b";
   hasRunfiles = true;
   version = "0.2";
 };
 "universa" = {
   stripPrefix = 0;
-  sha512.run = "95eebe4e3ca3e3af35fafee7f28de98ccf2563168880181f9575e2278d36b5adf19afb354cca515cc614c27fad0593571b2552687cd6a2fcee2bc3d51df570ad";
-  sha512.doc = "0c63f6bc9661743f13ed20e091f25c71facf04d73dcedc703ff0c56ef5922c8e3a5788596143822fd0dc2bda021198f7c924949098bd0bfb9b55118bb421af33";
-  sha512.source = "0ef329aa2d1921002e1d0b98a08fe966fba0679eb7481fa74485d7746ad4319a78e63eece6694c13047b6355e3aff865881edab7f9519153465fd18311b15f6e";
+  sha512.run = "f21f9bbc0c4e730cd1b115a5dbab22df9519d4a364045e292eae6b73741dabe0117c53759b7db7696c88241800970801335f7537e19d448fda6f72569c4eba50";
+  sha512.doc = "3d5ae6da093d5671b369f7db4920baab6fea25e58e11926e2fffaedf1b0699885005f3d0158eb2a6afea9ac4f08ec63c577e99da7cbb75e33727f9a97c8157cd";
+  sha512.source = "2040de94a8a45c28a6c8c50d16a5d72297c1c8680f778a3fcf341cc35622c46219945f89d6b5ddffdcbc32be29b93505624fa450ae202f3ec53d61befb0d248d";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "universalis" = {
   stripPrefix = 0;
-  sha512.run = "7c2486109b3668f40cc8ad4c6fc6108371cffc75b8a483ce393bbf174fe5a49f42fd2c0e22cf2b01e916a5cf5f41f3b45f32776514eec9e6d2f46236e1bb6fd2";
-  sha512.doc = "3ee5d3b4c3601aca78af820621695c64ef17518cbc44c934a1aaca098617d30df8e35132287066f514d870f3c7932febe63872f226d191c1f6505fbdb31b182f";
+  sha512.run = "fcf890f52623fbded89b6dc5e6a8ed425354437430f66a70515ef7cfc126e6af20331f557630205189c7aa676532795d77415f2b4099b1fa46f460dd1b0f2011";
+  sha512.doc = "4cee70c65d7f83a5d280550934c47acc59cffad87d78364ef84d397914127f43fc74b469469371652a83625d0fbe97c2a50fad76f559f39924b1995bf6a09baf";
   hasRunfiles = true;
 };
 "univie-ling" = {
   stripPrefix = 0;
-  sha512.run = "2e4a02680f4258356917d03e5b889cd57ebf1755cdf028f3207256919a00aa28b25abe9c1922d77f826599909d124917be65809b64e88b87529d4eebba9bcf7e";
-  sha512.doc = "f766e4b737829f84428b70da76bb228d49d4b7c5c90d8c22991f4fbecc6384f9c6566a235e8732d128baf73423b69e478d17dbb91054b2309e3def04fcde5b41";
+  sha512.run = "33cb5fbb0b8cf2a5a49bfab100c584155a965bd1304a8f16e78ea3c5e5007e43580f3839367cfed28e6f20e8e6f653e1fb9c7aa357e31e41e8f688d74a9f8800";
+  sha512.doc = "52889934cb166ecfc6d5dc4433a9e1c4df927007584b6513d5a254734fd9b82c77af4fa535ddad34494fb207a41167080828500cce02b34f2f88787b8ec783d5";
   hasRunfiles = true;
   version = "1.9";
 };
+"unizgklasa" = {
+  stripPrefix = 0;
+  sha512.run = "ac96ff7105cc0a6eefa7a797b325c6e3cd7a0e59d31a6ead1f715d37d326450fbb3d39d6bc5228df5861c5633ab8be027f7652426c10e0ab23a2c9ab68bcfd98";
+  sha512.doc = "00e373b284ea78d596519d982efe8d4c8f59f8abbec67c314bf361b1744d35fe2846615b8cb7d38e1516503c6ed49f9ea38718c31a760f3d19ed4a7686e8bebf";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "unravel" = {
   stripPrefix = 0;
-  sha512.run = "edab4b8291df2b5b811569ad7f489848f9242902c7be3fdc22c799d85e2484f75c0c77707f4b48aa0454066ef284258d59ef2cf524c76c01009e130c27deb036";
-  sha512.doc = "b53a20d3d1b9437b74d40d803b99a185902ed41a1eafc169be3089bc061c2d38ac4140dbfa3d41834e2dac2a918a281d1a30dc3fcc61d3d904107f9895c33a2c";
-  sha512.source = "1cb5f8c98c286ddd6cc1f8c5d4683ef7845ee106ee4554650d82a44f4f7974acc4c35a8327a247c8ec85047f2cc99f01e3409d3fc3172962e7654f23c8006e3f";
+  sha512.run = "862cdfee766dcf3be322423c7f3388b5bac739879f0910d7a3a5118a7813b86dea9e5c866c3bc33648e376ff223be55c18fcf56247e3082c199b5bd589cff49f";
+  sha512.doc = "5da7cdfb916e986ad783e43c79a57713c2d713061866a19fd975c157d8cd328b80a5620fa583b7964dbe37b8ac74d9c0921c15cef57e76266f52c62412a8befb";
+  sha512.source = "0f9791862c2b1e8ae4c9d293bde5a48fbcb49e5634f75c9bdff4d3ebd51f9e7b8f820b9c5f860f16bd15a6de0b04e112d96fee75313fd3316aa19a01803456a3";
   hasRunfiles = true;
-  version = "0.2f";
+  version = "0.2g";
 };
 "unswcover" = {
   stripPrefix = 0;
-  sha512.run = "f11892e323581f99921d0af0f70ee0087f7fda5d236c0f48b74eafef1bdf24beff32d109cebbfe71c849427ac06c376cdc4ad54b271f7463810c1cea6ded55df";
-  sha512.doc = "bb927b45d50cfe7b89fe483647d33a80ac720882fd171feccaf5f49ea2fa92479746b25a1caae6d7722403717c1677fd401610e2b59519b738854d986d1818e9";
+  sha512.run = "e51938d3e31bb75abf7b8af27a7cfc47efde49b1e569c2d9b5d170bd4e7a29479571717d9932de22907e2f23093e977959112d4c1c42687fbaecddd6fe1b990f";
+  sha512.doc = "ea443054c6c89bac4ead8218e12a4a8020fbcea1204eb12f237f0a58f4f303797b27bb45585b78167d0a43a6758d257da0b140deb563de7cdc9497b8df56f329";
   hasRunfiles = true;
   version = "1.0";
 };
 "uothesis" = {
   stripPrefix = 0;
-  sha512.run = "a5b2ffbef8aa8998144247e45613018fb7ec64a0f82a8f7d906f65b8e03c807ee8ee093a81b485d0e4e65b89289fa151bf9ef5a50dafd2a0621c85cfe8a3c81c";
-  sha512.doc = "b18be526270ea1bcff8605c6ab848dc23839b383bcbb1d6970c21c3c8116270b83408989abfefd0fdcf53c9156ead435da8407eeb06e55fbeb7e14fbb125e11c";
-  sha512.source = "1370b4afdc919d78616108bfe3b43467355a96fa9cda9d9f947644524eb91f62e4813ed1223e5d1bd22057cb2ac7ada0b689cce3f4f8a232d2d08844d774949b";
+  sha512.run = "8549715b39426264ae94d5618f13837bf20e48a350cfccc5642ff5e246ad84e04050e2def0780e8f3da69647d86b6795a009215da1277f43ab9a8a3b5acb798a";
+  sha512.doc = "16af5c258ae738401885a1451675ace657e169deb37670336ab87ac39d30128c98bff91b5f9f6f2de9961d981b2719f94472692c5456913bada6e7ec6bbb60c6";
+  sha512.source = "3b6a5f3ccc28877e4e48000ec88c480b70f5f454c481f970e6ba409fe71e19cee64293cdbc9fe46c8d0a498401fb2f46f2bd6c1662c3bf19a2c24e1c10c3895a";
   hasRunfiles = true;
   version = "2.5.6";
 };
 "uowthesis" = {
   stripPrefix = 0;
-  sha512.run = "f358fa5fda9f1a4b9c922a41688c28ad59725dbe842b44b6b3f4ffb95d2e8a722fbd231623b38d3bbf3db83f0aceea8f52d252f7ca1b36d5c8dc4876db97103f";
-  sha512.doc = "5a9df90acd930c299a8657d17d3e5ce48f56b6b0d5c14aa133013b0942b94a096478017fde294ef33cabd8d248f07af633f5776518c0545ae85e86ac16e0096f";
+  sha512.run = "060684c777f377fcc98b371123cfcd9717a113deb0f7fbd99cdf6cec65e66b77fc44d50a3475c8b1e8071eec80c2e6b1c20437a4432d6d5fba208fe3f06fe127";
+  sha512.doc = "00386265fd93cc89146fba04eff87b55fc250e3429ca5d769f006ee1e8c581fdd96702830a90ca4eeedd35e0d90305b5ce19dea6f16ef5600479d1fc1ab2e35b";
   hasRunfiles = true;
   version = "1.0a";
 };
 "uowthesistitlepage" = {
   stripPrefix = 0;
-  sha512.run = "e44a61225ca9341a5301fc7173752f7aec582c5bc4e43bea785a57ebb76127d1df0a4039b3ab88851d5f977b5faf1f6314483998d8147d46358692ab58dd9b7f";
-  sha512.doc = "f2469ea483fecce0130ac9eb00d6432f0929e9bba29bb6409629e61b529ce850aa2277f55b4d10404d273a7bfed71868cd8cfcbcef6c2058611dae4750613c2c";
+  sha512.run = "28f5d3f8bba3c0f3ee1cd7ada8bfdeb815ec607565e7385fe8483d66aef9b9e3c39cbb9796f84c58e8a6b4772989c2aed3c5407d64aa740eed2cedfd26d60e8a";
+  sha512.doc = "beda6c309230f20abe8ec32e41258a42806534bb181e4cd070c7c9362a677280a0133b4ce83fc7475aa785a778480134125a162ae7d96d791eeaa1a9af621dd2";
   hasRunfiles = true;
   version = "3.0.1";
 };
 "upca" = {
   stripPrefix = 0;
-  sha512.run = "61afe08dad74b10a805dde5831f741135e9ac64f061748e4b3d5fe030eb81bdd37cb82b31c65ace6c98ec94f399935eb9de48a0af950357e078aeab8a89c8018";
-  sha512.doc = "3924171febea1a2d9255f0b93a2fdb1ca826e5662f4f8134d8351465b097649b3b295e0d1f1227b7c90ccf1a7e8a16c3dc97ae03475e4d9a0c5fab51b74de687";
+  sha512.run = "3423a3a7d42273bfb28642d250d5000fd55d5cfe2dfb5ba0c2f875ced6c6df344866a5512a624dedb12d6bb9357f02a831297f4aba463dbd5e69e5e8dd9941dd";
+  sha512.doc = "f19dd751bffb9ee92ee80f74f692ac410781e87817ee841c01f37bac87fc770b9fc97d488ffbe97490206899653d329034d82cf649de0ee52cfa4643f956d7de";
   hasRunfiles = true;
 };
 "updmap-map" = {
   stripPrefix = 0;
-  sha512.run = "8660ec764ed100c71b09cb6471fa8e13e75ff5f9591a57dcb3725cfc8234e7b141d386629504cc824bc0b2281f2431173215a318ae50503047c7bebc05af1ab6";
+  sha512.run = "a7b7ae8316e0e7e12965fe2d4bf87aa2cc6ffa5d6596b833999173e26e6030f322d1f5d24f09141401330b22037b64eba260169b3c1081277e6fc1a54c028a6c";
   hasRunfiles = true;
 };
 "uplatex" = {
@@ -27727,34 +28499,35 @@ tl: { # no indentation
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."uptex-fonts" = tl."uptex-fonts";
   deps."platex" = tl."platex";
-  sha512.run = "ecf81affc20c8f9cbca446595ba6844c3f2ea51b63d5c1ac8022d4475708e5df0bee8caf82aa4feb18d56322b61d867a9769dc9156ea8ef07e8f2e0bc6ebe5a8";
-  sha512.doc = "df03c6a6ddb6dda097c168c719c46e4220e287d95f7f06ada4ff10935ea1864400e0b4bf2b356a1090b8b5c4273d45bb189ed5d8b3bff9bfcac537753b8502ed";
-  sha512.source = "82ad357abc71b8a33c918e9f920741ea7f8ca5d06a13eab6b7b786bdb2efad8757e76ce12b5701be1a99440e3f1b2ca262c29841577fb5202cc2cf937af3a703";
+  deps."latex" = tl."latex";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "c4838a2c99df646961f6be9e8ba051a97d5943f1f3ba25aeaf668c5924d3923c888d02a1b7ca4317d58777cb5cd17b6598e060583021e0a27f8a06ae586bd0ef";
+  sha512.doc = "c50305ae9898889f877de69cdfeb79eb08bdfe806976c21053094c1b7b0203ad83356b8f130c68ff68c649496c3685ffd35952f2e10dd6eaa30de41094d68193";
+  sha512.source = "0e5f6088d7bdfad79a26d5a99025b0fedd0a85bd461f24c2708dcacc7cf49578c42bef30f3682fc1db05d3e3c09dc572d5119f024c6e48d174372bdf3e49ef8a";
   hasRunfiles = true;
 };
 "upmethodology" = {
   stripPrefix = 0;
-  sha512.run = "dddecba9f1ce6bbb3b74519c790ca269d63d0a801feb0135836c0462bc74e63bf82d8e60f24c95709211f43e62df224c22d846436974afa790298bd2dcfa6f75";
-  sha512.doc = "3409b4192bdcc27d9ae0c69163037980fe2615448805e921900751e8ac66f93bf46fc1a4c5a347796d8c993fbed199fb9b0a4b2f7cf2e76c4b24375b965ba64c";
+  sha512.run = "ceb42b6b890c434de27445c564999e5a5c8ecd962061658f27cfbc59aaf405fd33b2a44474fb52b927e9e8721315dd87f907a084647433b251bd17a5ea79148e";
+  sha512.doc = "a75984bf9de36b382e29d818736963df4a19f341240f227dacb1496f034484cb3340600e3d77ab82435781ce2d3fdf1703d8322a7a9c4607e98fa41790be3f60";
   hasRunfiles = true;
-  version = "20171210";
+  version = "20190928";
 };
 "uppunctlm" = {
   stripPrefix = 0;
-  sha512.run = "a0d57274c66c5f8ac2aa200956d6143d129ee48daca1203f37186d61f0b1d6b2417ed86cfe70216e558b17322abfb95d135f9fe2bbe6b9a683c9bc5cd4dee084";
-  sha512.doc = "b0f29edae73cd64eb50b06de6136583f2e028e06b89fe9ea3c01c7a0cb6154885f8904fc733ff8c6a36577f1d2dbcec953ec0defe4b9937836c389b5fa02a935";
+  sha512.run = "522b68bd32887ba14ecd927c49c5fd57a84a1c0f9b8a0bfad65a4d377b68a7bd449754dd411a72fd83e5736e32e2c47cb1f54155f72395c465e4e09ad1d09dea";
+  sha512.doc = "d0f67dba683a40a6392121cd53b58df6d7ec6ffd8bf52df60f53537fc1b389de178dfceb1e772dfc9e292cc543448dac3a85cc6b712283b384ccfec4655c988e";
   hasRunfiles = true;
   version = "0.1";
 };
 "upquote" = {
   stripPrefix = 0;
-  sha512.run = "b66a26aed2933068525f7822f407ee31909805a80283bab6143b83a5260f75b04f74d27081782d81a6a05d8e2857d0219bc5ec0c64298d3171138904bb7f4e1a";
-  sha512.doc = "e8912c7dd11a0825eb2466f857f4b310472e6dbacc223f93738af04e2882f59e1c9a92cb110a2ff557fbc978b273afad5aba4154a1c750c70dcbb0078711d528";
-  sha512.source = "cc74cd741ea9e280fc08c10eedbee67d0a293c16c9693411afa5bc080c55b6e25d1d2fb528aa95a09b1b7f044c182dadb795f3bee0adecb3a257dc4665ef1e56";
+  sha512.run = "06360c313124487f291a8daf7399a3139cec8c0a05be12724cedb3d60393ecb07aa31e34f9b74a83048f5752a8d826505f91f2c85d34348264975b48a1813fab";
+  sha512.doc = "4b92923e8af2dcd65e82269994c766b88c6f78f6e7b8d10b9f44889832150711acb0cbaf467d595d6745863f385569f7eeccb4ce69df8361e56910969532e314";
+  sha512.source = "dcb227a6ebb481e9c4abb9f9ddacafda03ae4a445768a3a242c6dc3bc79f83e9e5f185db4d353916b4d50f5aefa9884bc52fbced79894e1c00cd7f40f0940884";
   hasRunfiles = true;
   version = "1.3";
 };
@@ -27767,760 +28540,782 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."etex" = tl."etex";
   deps."ptex-base" = tl."ptex-base";
-  sha512.run = "c0395e78834da8d5e883d84815b735b438a430a44882b080defb3dc97a511fd11d9cf3c9c4ff2f5943a3251ddd28e4372889b18b0caec101ac7e27ad404d1982";
-  sha512.doc = "c6a798c02058c41de3d0e583497812ec4459a86b31283281856c6a3e387f70cf08c0e6f4c38367960a46f700b2cfa0b2bebdb22cea1302ca5ae2b310b56806df";
+  sha512.run = "0e2f30249de81eb8040e74f0f99c781fdb8a93c9f507fb58329f226c8347cb8b9d3ca140eb1bce6ba8a82fef977e2a6a68c30bdb79ae44e2ffa6128899e669ad";
+  sha512.doc = "8d962e3bcda4d49fe6aadf89d0dcdaa9541fe01e50fc16cf9ebe3066b7df9f7bb2db85c3c6fef228125c8817a7ceaf2a2774313e75e98bd1b0aa429ed0f4558e";
   version = "1.20";
 };
 "uptex-base" = {
   stripPrefix = 0;
-  sha512.run = "f575e7fe0211d217c0515470f963c518f9890a816a368124b8d114557ea21b1cc1c140a802ba3f85859362d7d3e56f1d900c684484a20a92c28899c0fb80fe99";
-  sha512.doc = "4da8ac32b16a53414de217b138b9707998d8c322e2510516e42dcdf10e0ba64d38749c24b664f09bd14479c5879c65cce5376b986368995327ad735ba98f3a5e";
-  sha512.source = "2925664b22356902ecf6c00c327118c77f49847a44f4da75c14861687903eaa22f88d81917b39b9fd8a18b5f54438cd64ead8bb32230fe1536da14795234351b";
+  sha512.run = "532360808157041a67221f12f78fea1197ebf083f3f90896b539fd7ae9501bdf696edadc6c61edfc1e5d1079a480ec7776a814dd8adb08fae194728c7f61e978";
+  sha512.doc = "dc1470c66f000bf80851dd317b7eb26dc12c567bef647e2fd91bbe3f4bc7c29695b7c327781a23e79ea86a8bcac2db8e328bcfea2031caafb9f63d85209bae2b";
+  sha512.source = "f8917edd4200248b167bad8366c9b51e247591379c4d069d292cce513708ef7b1412dd66bf9fa6156b703adbfee7c941c6f2637c834cfef18fa9adf9991ec3ae";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "2d5e9e619c9ff3dd1fe4fe5c10d3ea465b693c48815ddeba854b0bae254cd2a678f4be1cec4539855457d7e2313f225e791e7504b48f01ba9724d2db0726dd66";
-  sha512.doc = "c09fc5de551081ecfb953f02c22835c072374f5ffd7ccb57cd64a49e000db3f7d5edf150ec786d5f28f57e069250867ff17f9b15ec727db5199d352a3cbe7e33";
+  sha512.run = "41fbb7b4a3e193744e36cdd1ab23145709b2ef94de30a18dda322f1e0539106f62be95b1a763750e72c81a7fe42053326c56efe0486254ba486c731b65bf47e2";
+  sha512.doc = "9b8004ecb67cea126f0299d3eca749d5f011b0b3c50d23fba9a3adb4b9e5ab6d5e0a24494b9420e3a315639eecbe86a9c740b0772a694f2b36ee6f8b7e316c3a";
   hasRunfiles = true;
 };
 "upzhkinsoku" = {
   stripPrefix = 0;
-  sha512.run = "c4da9bd204eb0ee7f75ad2ea419f92d19b834a71e81d7af5b4aebc6643d6d9a505a6b97b51a933e3ca31fb5e8c0f0722ff60ee5912095eea4c2308d16332c2df";
-  sha512.doc = "15aa74ab601072c0c76982ca580ce3446a608d0d74072bc5e4ff9377a5b3e76ce769901df8ce0d7260554000a1270b21d443335a2dfa48d49e0ca13c7c9c0f4b";
+  sha512.run = "03dcf2b73ca644f8e9e2589082d49a4d502adb51944fcd9ee5cf737ae782611b35ef2eda4242b7eec2b8033014ddbbbea3abb52b1bfe90be9cc1634345223d53";
+  sha512.doc = "d4c038d864b40603281f3186e21110ec96530e84a9ff88be4241cad165d09cd091b28bd768ca8ca0a28575dd850bb68ff88ab553cf9caaee6edd8d311c6fc9e2";
   hasRunfiles = true;
   version = "0.5";
 };
 "urcls" = {
   stripPrefix = 0;
-  sha512.run = "0ff035ce3b511ea9fcd5baf4a4bf07fa9bc5a1adf947d4a95662e1aae35d72401e254f5ffb2f33e2e1ce0173312d0853f3c44853a5c42841e0657f0c12f017a3";
-  sha512.doc = "09509b95a4593034b7ad7c0db647a59636cc4221c2aa24e41b28262832918bf892b44e9e68039bec703e55123144e39d688d395cd3fee83d073e7c9f66751c0e";
+  sha512.run = "5b8c80a756e45e5b847c3b970005b866f6c498eff7646155c73a9b86585dffd73e8dc66d91583dd691c910caccab60ee22a1e9dbe3aa450290fb17f019477172";
+  sha512.doc = "40b8e4ea2abcc82acb843c692d90e964932f1ad7d0e818d54eeec77340f49686aafcf2fcf3f8f4d942f7cd967754ab24ee2075c6906862266f5af56251063fee";
   hasRunfiles = true;
   version = "2.1";
 };
 "uri" = {
   stripPrefix = 0;
-  sha512.run = "856227922f43877b41df0d2f2891544398c83bf16574e8c38e982a87720532e1e9a6ea7a88ec47f5d4965c46630285e27c99bac0d6b0c1a7993ab230dc1abdfc";
-  sha512.doc = "a00d2ad7fc909c66b202252b6031e2f478e99cd7e5ce92ba7975e408d25a948a699880690f4455152a159b7ba452656aa3127c9c140fa9a68bcac7ef4a1919ec";
-  sha512.source = "84bd8dc361189d537f6ffc0dfd984746d0aa2bd3306c60ef031802208387c70b627e1b0a6954f4e7d7bfab640d841a70774c1e69c0273af96c805cfe4e388cd3";
+  sha512.run = "402974f30df5a00118d4bd2e978f342cdcdb22119059dbd0c1b2111fd1ce94ab8a29ceff88672c80d18a669d5440bd48dfcd23fa07844f492e5f7e0eda1671a6";
+  sha512.doc = "b2cc8cbcbc81f0c3db349952546e60c152044aae264d4b30aadb6b90b7aa5b304c89203b6219bb5161807bf1e4649235d2f98a60339a0cb93a588852a1755e00";
+  sha512.source = "0206e0d2907f3976fd605d78284a44c909ff23f16ce9b2490556136099e56a374bd410e1c9bd5687bb791334612af1cc5a62a8b53f8c7876bf02d921c9868a68";
   hasRunfiles = true;
   version = "2.0b";
 };
 "url" = {
   stripPrefix = 0;
-  sha512.run = "71d250915fb64e6b2486edbcec98040b510668d05678d2486acf35108e86b58f4079d154b4713d9f313cfe874507abf684cce3d3b744df43fe96df56a12ae498";
-  sha512.doc = "fc8794ac8a58dfa17b2e54782edd90a8698d2a87db3b0fede21dd476693ebda20d7478687ca0a72d1c5beb8a9d6ecce961521305d0eb4ff26f78ab3e53ec79f2";
+  sha512.run = "164fb94cb128e997031bfdf8c602892d78813694f39f4b95bfead8a5b7e3cd9a0d9596dbe697e012bdf84b89c2551c2f2f1c7f99d4543e357edfaf2076b9cfba";
+  sha512.doc = "65596e0ce813233491959ef161be8570450c6c71c787b3253d0bce503558e63902137a6d337ad1e7cd2499feacbba4a93b7b75559750d05d7898ff2527f1240c";
   hasRunfiles = true;
   version = "3.4";
 };
 "urlbst" = {
-  sha512.run = "9a15845881da342ad2c950c1a7973af53edac11fc6812e59c5d8de7e59271b4c1775a9c073edd7c34d4171fff454d025f44d114089be6022c1128ca093aeebee";
-  sha512.doc = "430f93a3b21bc318bfda14b45d4dc3ef53a4e1ce345c7d86d4ae05592afb9f0a2c8a9b7e23b00f0426059846ab6e2c9d6d43d9d124285ac097e0e29ef8cb47a6";
-  sha512.source = "ab695136d3c112887b6752f5852a4c8cc5d5c713f356a68e362500bec9e1842716a9f27252165bc91114ba534e4e4e8b25382903cb39135b3c42269da535f920";
+  sha512.run = "31ab9071a50258b405e2850c6fceb4d30b3f71b731c06d4fbf6b5de25d7d23509a374e6c89dd58dab869e6aa987a234c21a0c6c6a8f2780826c5acc46f784eaa";
+  sha512.doc = "0dd2c6cfda184d77866503bd94e79b7c99d20f4b9627e01946887aee80318adb26528f352fcb0db764e37d7b2292a78f0d80bcb51ca7cd95593a879063154315";
+  sha512.source = "96d336764d7892af97b7fbbed48a121b8e058efb56364398f50d24bd598ee387b0544712bf95886641077c22d3542ba2facfa125a89e8072c0a65737ac18cd97";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "urwchancal" = {
   stripPrefix = 0;
-  sha512.run = "5c69d8d55736ff21fe445e6f4dd257ca60607be5c7103c2b588167f09481f1aae8603a7e3f946371c5ac007558234c92bfa3e30ab1d476abba1681e5ae6d537b";
-  sha512.doc = "c186da4fc4f6d7e4c0162f7b22053da4ee05aa3c45e3d96be379f703b03b0d20ca609a73616cafa329a5fec4d458c9f5638dbca42dbf54deb5046524dd0bcddf";
+  sha512.run = "beb82950bda88e7170c7ad753e93859f96190f30e89fbfbe1cdbe37930b07740f70da40124639c6ab14be93fe79c5e87b35296b68c702888d3e9e25100e86a9c";
+  sha512.doc = "8f218f76d45a2f3ea9be173ba1c6efcb8a7cff26a43149b7e0ef4fc535a4638cffe69358d8ccac44a3306044720958ea9189996e88a38d560d264f5fba6863ba";
   hasRunfiles = true;
   version = "1";
 };
 "usebib" = {
   stripPrefix = 0;
-  sha512.run = "906022395242210eb8cb9966e979120c14b22073337f6f9926b78955635f60e86ccbc5a97e8de519cbfa6eb9e4d39e21b326ef3435e9c0cc4d550544562cd423";
-  sha512.doc = "a8f26c88ac142cda34e9cfdc0b7492a4432c432743e92685764958a4f02d9e1cbec7ea901ab572873df791e40319638814c05951a3d72886f8611ee22ace39e4";
-  sha512.source = "97cd15038f55d589930860fb5d9d866aa9357425555c5ff8d91c1f81b867ee565d236bf08fd4715e145645a92715df232c04beb6bfe29e6bc1b45613d05c73d5";
+  sha512.run = "94e0ded0c7e7ac10f2d8ff9324afcfdd2dad8247cf31cd6b404d9c2b12e223e6f435ec9d3dfad0ab510b943050444f5206788540a948e44f44c5d011596cd34d";
+  sha512.doc = "3b489185729ac7d93ebbfd632b77eeb865b39043b2b68d920a6ef561ac55701a44d362b84c1fb83a2f59770442a655b779c6e49287c9d2859c44140e61c543e6";
+  sha512.source = "a0c64ad5a7479da4906b848a31ceb02b047a98e8e2c505ee748f2eed4ba27dc8b6d89d8ee3a171566417315cc2b83810f514f1a0c11f1bd4a28b57cca03676df";
   hasRunfiles = true;
   version = "1.0a";
 };
 "ushort" = {
   stripPrefix = 0;
-  sha512.run = "8689be17fd5b62df28668c76616ac622f6f6fe4a7739c8fbea3cb12d137d59ce4c608997c056dc80a15009270d30b92386922228f5e80b50aaa1205f7db7797c";
-  sha512.doc = "24977660595c9fd0a293ff76ba3cc3800806dd99320c47e27328b66fc4fac50222107b0f969c67aa1dee626f02dfed54dcc12e15362f94169e8faecf9061f73e";
-  sha512.source = "fd3b2dfbc4a4a8403fec9fcdd452eb395285d7aab49ec5522335d60d393a425fbff99d7da4d3e4a4ed5d17e9b796fb56c072790ce1340a15ed955f4f200156b8";
+  sha512.run = "2ece6efb162a13c37413e4fe2eed33ab7982d681fcd9435ce53248dc4c573cd90ac51293424385aac29b84159b34fb3f7fde2bc8d39eacc71f0ecc91c8db7af8";
+  sha512.doc = "d262bb270e41cb7d9378d42ec075a81158d401b737acc7788722ea7e99d896de1eb98c04a65e733d6e83f6229a9703f72bfd0a11e36e52d4799e82e19c102d5b";
+  sha512.source = "a26cdd79055b74cf30202c162fb38243571ce2bac990ea44a0eecaff407951aebd5ff4619cafa6190ef8ba6101d86a800262ad1b09972dbf7b207398b82da672";
   hasRunfiles = true;
   version = "2.2";
 };
 "uspace" = {
   stripPrefix = 0;
-  sha512.run = "09163467113ad6ee5dfb7ef1353ac6405009a2bfead7994e0d30499e764902962141eab6c6e320b86008e1dac0828a50896a96b069c160569b37d47639826c92";
-  sha512.doc = "4b20fda9c074196e2bb998dcd6e107004b6d86394872665b62b09f37c853c1554428198d0c26d7d8989a25e0e9e9970a5f6abc7f6132c8682c84608806c39df3";
+  sha512.run = "57a271421c15eefd41517881e951c8a55096e6bc7b769beba123813e19682407b24dcde898bc8df75700f33316a5281fedf5c24a3ffd7a97eea2bcf5f658e7e9";
+  sha512.doc = "c4b3c401cdedde7e67a2b4fca44f53c67c578fec287e22f0c1b67252b6fa4c0ed4d3a8ab1328162e7bea015536f1a1e4539fb104c8c889bb4e1549f7bf748e13";
   hasRunfiles = true;
   version = "0.04";
 };
 "uspatent" = {
   stripPrefix = 0;
-  sha512.run = "3374a588041b3c310b1309ef8f7898898c45ee36e87605b45fbb4b36d1393ce31f6035100461766d233cb17dd9cb15be08f9336ae03d0b9baa630d2e3b5f4379";
-  sha512.doc = "0ade06caabd9b2f0ac391c2e6e094fbb75b3e13f7a2b587d3cd473fc05d8c3cc2f22cc27bb6b6591e36f97f9e464f68106b0727fd0156820df4e4071f5ac1d37";
+  sha512.run = "fbcce7a06cc018dfba47aa7e9d572003136d5b179e957f10e2bb42b2635ef4cdd40bbef19e8f827963d048eadb23a1aeedcebc87cf128f5b28cb1ab281408b90";
+  sha512.doc = "e0eafb5fadeab38da049d0d5cbadc8fa3dc3c335afe4fd5289fe30de38f0898cdd9dee091b703f6a853eba56b32b161abfe56b3185c71512c9374585e6d9784d";
   hasRunfiles = true;
   version = "1.0";
 };
 "ut-thesis" = {
   stripPrefix = 0;
-  sha512.run = "2b328115998db9ad4c0beb4f0d54a0f7bc8af87326c092e3cd23bdc46fb91d014adab14e2309fb7fd367d400ae71e34e9d7061cf8feac263f6318a40d1fea387";
-  sha512.doc = "1c385988647f9f1597a6b4a2485f2eb9145f7d4219c0d957286cce13848130e014541cdaa1c7e30fbc861f719fb8b79b38ac46cc66c14327faeb23b1bb1187b7";
+  sha512.run = "06a8933b03e02bd092a09843686d518ab58a47a4821bcafbe9568eebbe6d4e72e7815752016200ba5d68ab193408847c9f0a784bae9a65af4d1ad06b501c03f1";
+  sha512.doc = "13dcfbd7dfe45a4d1fa0e2ad8a06bda30cf5a76c993e6a6614d4fcf18964f5d44072c9c75acb6739b8df977590fd2c55aa193a2c88665e38a4e54e4411ca85b6";
   hasRunfiles = true;
   version = "2.1";
 };
 "utexasthesis" = {
   stripPrefix = 0;
-  sha512.run = "cf5e3567d87e405736e81c3d92c456524a87a3a76dc806c8029bd4f618941e64e9982120e7dff08eef8bf9f8d9a651340ae8b3ece64f271823a40951eae848b5";
-  sha512.doc = "a29e296dcc1d50d5689f592af75ae8af05c160f0e4fdfdce8275f99d648c8fdd4b3a7d023ce9e1b70f50ceda59ad1620af470f82c0e1c197df320598d3edaf77";
+  sha512.run = "829826bbc06bbd9b8ffe585705856bbe4bc99973bad7bedd489ff23fad9cc19c4f33beb88756644d76945126983586fdf78eabb305e353cb8bde8341a3d20fc4";
+  sha512.doc = "65e3100a6acd2a02df2e95834e5e99d718cd0b73e20ef6da839cbc9831918f63a2f5b38ad888a5068b1fd87ad71ac480754d5e6b459465cbb6238d4a3b3c09b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "utf8mex" = {
   stripPrefix = 0;
-  sha512.run = "e762f0e7f6185a2f0f9d17e9ea308a0cfec4aedd5ced7cb0fb1ecc6f5b0307e238d985a765e561c86e279c71bcc484d2b0840b0ba211287971d1f2f205babd8d";
-  sha512.doc = "aca9b55ca76c8902b6acbc3c33d1448c0ce249580dc359b80ea0769bf447805a785b822291cb0398846d3053330f8ed6cad70a32f23cdd99819a03af7f6b3482";
+  sha512.run = "0cd4c549c7b00939dec5055705658f76f6ebbe5de70e082652b761673ba5a249924fb862a319512a9a124b9cdaae8906c74439bba97be8825d4d1ffc70642c8f";
+  sha512.doc = "cd438089d90faa0e9144d23adb78ce91d85b80ce084cb92511cc23882c675cb654cb704aebeb623bb29c70b764c8a0ab19915607664895c457c583f376c1088e";
   hasRunfiles = true;
 };
 "utopia" = {
   stripPrefix = 0;
-  sha512.run = "7c6763817db49e2b3c07353e215e6a8c262812adfcad42665831442de2840347827441ff00dd3f0d993d5ab95d5657ebf399d1bdfe6cc3b4a6605222558f0338";
-  sha512.doc = "ac0768fe9028432d8eb1af3dccd6347af36c0ee7386697c0b8444a0251615a29ba81cd4149d0a7b2e649d76c77e1e5c6a6f001b9f33e59cfd88554d3b7c37954";
+  sha512.run = "5f58ac6dacaddf4110b2ac2f77fc0da90d5cfdff26d888b26af06cd6dd8f483c7a6a12e0aab3f50d4188aab9ab649d993ad89e74898d54c14b3de4948451279b";
+  sha512.doc = "ba60eaf55cc08378560048ebc6f735e743449a18d2822e6027a86e595a9634461713ceb37d15b9f0c8239f1935f910bbdbd9a0d0d6fa1683174739f91c16a504";
   hasRunfiles = true;
 };
 "uwmslide" = {
   stripPrefix = 0;
-  sha512.run = "2d966b9cf1523d1c712403d05bdbd97ce943bdbee1657950e3f57624cb1d80aeb317ab8006c32cb09fd1331b89199570fdcc75b9fa6719f53ece2daf483011bb";
-  sha512.doc = "0a6919e511ea031c324067612fa141af12f715bed0ccb8cd3f9941843599d5763b744f5826107494b7d7b4236d50da1b9bdbdb87b5e21429cfea327a8351f5e0";
+  sha512.run = "a4ee1019a36a66abb6614dcf6ffdd9706b705bd18a19d34fcedba441c355ce3a7573ea0ee53686b325c6d6b485fef99dd1254118d1cdd1603e1597b0fa17b751";
+  sha512.doc = "7560c214913e9dc61d01ba8528e1bc147a4f261995294c8c938ffd853a9b6a174c1d1d47e49fa20351ea45d61dca03ef7f0ff085e8725820c24d2895a0d17530";
   hasRunfiles = true;
 };
 "uwthesis" = {
   stripPrefix = 0;
-  sha512.run = "d0900f3afb0789308a70240019464f62c807b1ec74801b1fff05975522b1455a6705a7489535c0c217235eabac236c8da765b9b850b9d92ce6071feb0d1a18d1";
-  sha512.doc = "4eef580f9cb4213d44d7b574369268772456aebbcb34d8d386249e0677990066f688a6940b67eb1f9229bed8588e6476fb4d8d81b448ae3d7528ea04ec6e3ea2";
+  sha512.run = "07bb8a3ab65110aef8de3b606ca53060dc8f29c76de55a5a84e87d43fe0e09dd16b48ec09b9a451f2285c06450ad059c4c3f9b8d48a21572a1bffbe2ee512a6c";
+  sha512.doc = "278a7ce5f0bab547de0c8dd4a26dc270500baf8abfca1ff1a8e76283fffff4a73835fbb1daea2f6864cb9dca3e0fff297887ab10305c6a87ea1d7384d964a9d5";
   hasRunfiles = true;
   version = "6.13";
 };
 "vak" = {
   stripPrefix = 0;
-  sha512.run = "66abd86448520ee3e957ca7f9495fd748f8cc55ae5af675c328796bb8ae349a00b7b399c1c0c2bca1b14a57082adb5b974265f3482b5e6cedc9b24354b7c870f";
-  sha512.doc = "64c9e5e3629b8e617dd1975fb6ba77561717a4487159230279b9528b6b4a3b15731773b744373569548826fa1705107cf32bd025377a9b318af6dd9b33071d8c";
+  sha512.run = "b7606cf33b8e9d14f4ca4cced0620810eecc469faba959728d3b4d7f8d87023d600fb33f1739ce0e7d14d4a54936fbc682a54d8ad8c6b514a1f2baed2c79b2f1";
+  sha512.doc = "1e6f148de79c2ecb5fcd03ff1509c3a509ee40795af0e7f7a95fdc64c403f2de7f9d9ca37716b6488cd496e2be0565749222ae95f8b97e5cf7e05b3877bb6d62";
   hasRunfiles = true;
 };
 "vancouver" = {
   stripPrefix = 0;
-  sha512.run = "685e492a3e5dc160370db6be6c46a472b058fe744492fd0acb09afad678fcf7a8af09034c1b69e3ad0ab7be49168af4306552a406afeac7413d66fdfa98c2852";
-  sha512.doc = "79fdadc7f603014535db26f593dc53537f976860e2f0290a238af1bb2c7fcfe33433d30d58cf2f256d013260e457a9244875665532faf6bbe777cff7c458151d";
+  sha512.run = "8fc852e2137af0b1e0664ecdaf115a6c4c631faf840b5564b9dca2f8c457f8fe33bd7edd92ff4590c05ab13c23a9b1771b7e688ee6f6d700a9feb01f9a921170";
+  sha512.doc = "50ec342e62a14f417b8a0d4085ca46aa701a9e2ae5630daa2159ddd6532a0c3d5769a0cd351c932bc54395f159d560a259e3996f4f157e42d0dfa41aeca6dc80";
   hasRunfiles = true;
 };
 "variablelm" = {
   stripPrefix = 0;
-  sha512.run = "945dae157738645f77da150864b184d0b4e8a0f5266acd212e49b48504473306fa37e94390baa2696d006af50dd07f7c3c3781b2b6300160d6b813856d1f808e";
-  sha512.doc = "eff4f9f383e86a5074010fae059f8c23852b0570a87bf523d5e805676184b2ce901bba1fd9d03e8c277f419102045a5ddf8bd8c84dcdfa976c1b9a1817324f44";
+  sha512.run = "e58a1c5a77861ed3a84f2fb372d6c3560129b656257e23a935fa9d7ce18c83b59f9863e29ff35c45c6ab800cd09aa2fe7bcb1fd01edbbe2e75112809c17faa9e";
+  sha512.doc = "58611f636d5aea5ee2935c75206e0d051345d7138d04668ec7875b3ee0493e39bba54b1941aaedf33abfeb7636602fa6ac7fe7e750837b425678eae97b7495fa";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "variations" = {
   stripPrefix = 0;
-  sha512.run = "68d7d22926a18fecc3e3f34be2da97d6cebf7c66c793b76544b3536439066a01483e96fa4161e8c2b2875387896a68399d4249004c8bab77f41fdd0fb9e00d8e";
-  sha512.doc = "4dc8c58f167833b087af5d5407fdccea6afe3b633e37a5addddadcf9ed0ff2d96b80457b5693dcac8120fc2e8a092312137fe090dc4717d90bf267fd80c75d86";
+  sha512.run = "71252475aec013adf9bf41460753a648420ea70fb093cadc667500a6884adcf0c6661a2d81053a733844a3f8595ccffb5ac5f7680689575d8485c47a1cc1e469";
+  sha512.doc = "75d6d8afd13f6751bad23d0adc58355d75e355554dd95971dc16ac148150990e1362ec211a3f3e6fd832ce231dbd08e50ed9d44856c763e47ddb5374b1b182ff";
   hasRunfiles = true;
   version = "0.3";
 };
 "varindex" = {
   stripPrefix = 0;
-  sha512.run = "97f1b43a8eefa934e15ac372635813d4855e408edd8444a9e36ea5a4a792690073306cfcde3e04129df3f117e21307f3fb5a1e45915cb7d33b17eaa045da852e";
-  sha512.doc = "7538b1029cb1404502ceda4bbd178b13d28433286365d53a9043572e42bc12958329bdf18a5601086bce02e7217f1f562443c9ff8d1e92ad3aa0afe6f99f95c8";
-  sha512.source = "900d8368e1a23b5ea815e02931d3ae50c89fc39a51d793ef67eacd674e8a0226495aa35abf66502bdc7bb1d4c4c52c4cff459949b07a7b9d06c72b338129546c";
+  sha512.run = "fb7216b4cb06126970148788859d9c12a0626d25321cc591b2db5d7018ab2a76f5c6505d9cd47da6a3babc765dcedb6653a3ead2eea67f688cd883fe81d9f42a";
+  sha512.doc = "30b9f50b7357f12774f78f0792ee0321b5ba84d2c3dff96f5f98d87cf0bb811a2fee74b2bc691fef07a80eb65e13e42b657b74efb0ee334b4f04da7bfdd0b75e";
+  sha512.source = "19571ec2000fb99ac8e1b188e2f6965748c78476bb3fb2d38c2f668b02d268817c6f2670b9bd51df48c2db8fca1e6f62ac738f378a6832368c74de297f19b679";
   hasRunfiles = true;
   version = "2.3";
 };
 "varisize" = {
   stripPrefix = 0;
-  sha512.run = "78c39f244ef4259027add7db35ad8f94505f6d8bdb4eb0a358dd727f56eecddcd3840d01152cee3c91ca425ebd2e23838691c9aabf291af5fbdd1a7d6997b486";
-  sha512.doc = "565042ecba184ff876287655f954fc0e2d9b62b7f3158aad1dcad9337ff00c0c333eadf0def88b49cf9661744b8920b55c6aece47c25c2ab40a39ad4775662c9";
+  sha512.run = "c1a900aa29601e9bcc5d1047ea5bca0bd3c079d05e8c42c8e3f85521cd8a1989425650d0e84ab0acf2a38e468bc4823e149cf1e799da8eea1d6af4554cbc0c94";
+  sha512.doc = "f575e4faff4a80f72108ef5b97abb0bda08573669bb8b28592fa607538c632d3b59626282a0ff8d7805e6b66121b2c231618901a9dd71f0242e1a0875a3e2068";
   hasRunfiles = true;
 };
 "varsfromjobname" = {
   stripPrefix = 0;
-  sha512.run = "6741e090323f24e053bbbad85e67c1c3539ea1333efbebda780fac975b17ace14d51cb6a14dc58db961179aee0d84c083940fbb66dbad67e371c0237c8e8d147";
-  sha512.doc = "9cb2eef233536b0e4958f86a3ea039b9282f057b732d436da5c987a282b95c40bfbf21fda0f44aaaa9b20da7fd895478782823b6f101871a3c4178c02b3890c5";
+  sha512.run = "0d5fb07c93fdd08570ef1dfa120870f4619b124cde769f48b4107c41827dd65c023840e1344aa283d0b21bfb0af2346135577510119579c531731f132bbfee1a";
+  sha512.doc = "57e3111b8426ace2a838a128dae49a6ffadc6892e4b85cfc83eae3b9422dc4188e505fcb2a281ff38cbeb18e385ba1da398111c5f00683568999004ffd5eaea7";
   hasRunfiles = true;
   version = "1.0";
 };
 "varwidth" = {
   stripPrefix = 0;
-  sha512.run = "d60737f34d84f150cdbdc5a55687d20c1f45775372d42ca853561daa6e95b8d5a731923a4af3a95493598ab0215789ad9c415e95f79074c13121aea325ae4dd5";
-  sha512.doc = "c05e9bcc9ef11fe2691e37a852cdbcbd7569e41937dc7ea673eb0df2ed43eff98b7abba45cfda2b41f27696d316a40b57f3e0dbded07a3e64cf3e262fe7c74b8";
+  sha512.run = "d44fcd1912f1751ab18f5d7d00ed47f42bed3ad2863b35781a83df9c881943c3e1916d003361b6e64640326541f43a37abdb0a3cdfe07e4d0cf7980dfc5fe1bb";
+  sha512.doc = "ba0c0d562a7c9db36637bb18fa6f0d01661b229c66b8f0d2bd7cbafe286b81485e84bcccd06c4d47561db8895cf8933ff11d08a8de0b01405d6c7dde443e86e6";
   hasRunfiles = true;
   version = "0.92";
 };
 "vaucanson-g" = {
   stripPrefix = 0;
-  sha512.run = "ae94a1617e57ecf5c5a88cc24ad27798f476f8e53d81032835b91951cfc8d22aa88fc0c08cefc4b14441aa9a25e57f3a5f1f842f10c6ff229c1eb71782c481ca";
-  sha512.doc = "a38cea5234e1def6c1f32c8825c321cb8ea48743e2363f3d6dfbff8bbfea68f9b8567d1456afcc3fbb12525db37573980d60b3c3fc7be6b4069a6819a2722edd";
+  sha512.run = "e4bf83ea01ff4162f95dd595b93635ed988ae081d0c65ada59ae64c6c64c730dbb92ae049d22dcc20d6204c5a7cbca5cd643be6c572e51a3aa17df88c6f1f700";
+  sha512.doc = "520aabba38562e208b464fc0d4e9f9a138c238abb94b43e89864e4ac21acfd35e5d6e224e855ab4baf9feb1df736b7e937508f6245e5f873c5c8f8a75947e014";
   hasRunfiles = true;
   version = "0.4";
 };
 "vdmlisting" = {
   stripPrefix = 0;
-  sha512.run = "e55c00ef9e7ae7199aeb4bff6611afbef1290fbd427db4dc1ba72426440ef97b5f18113b7cff02d95af267f7ee723fd6af8460c8fc02f8142db894667e36d921";
-  sha512.doc = "a3a23f8f6bb1156f4ba8222189efe3db6ef97aef7e86bc41ed050eb69032e97cf88a06ff6a28c9038d16b904670b61d598274e010e9ad9ca5bd1d5a3b1787c33";
+  sha512.run = "58cab8cd7d23326b39e76a91db1bdb0b0cc9e1e6bf457d151af39a4c94886f623b8178de835e673118d5b797510d6f2fe5f97f6c0c8b5bcf679b9158ded3c941";
+  sha512.doc = "a71b798d364f429c4894db38863301c1601ba7f2bbb2cf8e4394b48c5b7e3541cefcf915ca52860c0c55744ac2aa8fad82ea66142ed2fbfa81c05da211f04f74";
   hasRunfiles = true;
   version = "1.0";
 };
 "velthuis" = {
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "d85b017b5e2e0061669f7d9542529c794fb35991596e03da301cbe919c5c3e44ecf82407041560648a345422c437bfbec9cc2eae86ea4352f0d2408e4e26f7e5";
-  sha512.doc = "ca70ae67cf10b9064d2d8d1bcd4215fd94271b41683912c688722857c4941e51244d9a7df2ad8c7b7bfa90ea9e3679ad677793ed05bffa23fdc29a5572aa2211";
+  sha512.run = "9c4a81758b71d4ee815bfbb1d0336d50d6da4b71e5d7aab6d5797a259b165b2d9559afb30484f9c3582002d7d9c536f5479828490504e74ddd56719403757255";
+  sha512.doc = "d4d2f9692b173350419bff2f3e9ba2528ff21b467e93e63b991dda294bd562d4b0b25b5187d8348963d114bb4d28925ee74b20222e0946400cdd4a0b2b6194fe";
   hasRunfiles = true;
-  version = "2.17";
+  version = "2.17.1";
 };
 "venn" = {
   stripPrefix = 0;
-  sha512.run = "0a4eb406026419d367b2a0c2eb487b869c24ca3871746d9f1b2dda1c2295c80fea721e97f79b2ee66634247f66d0fbbccd1fe6aa4ff3da2e07fb05223acae721";
-  sha512.doc = "d55d2bf1ea7d15534dd533a820ff1851a9cad0ffdb279a1cfaa5e8038476458ace981be1a24f6826b37f876bc48b8b182b74bef1752089445a9bdaef15eac90e";
+  sha512.run = "617ba85e996943d62a33acb2535e23700fffc63331741065faee558bebde608232a31bd73aa79ad707b107a9adda8b454f9b81dee184a64d94f32c44d76180c0";
+  sha512.doc = "0b1940cdc2bcbb7e2f103497622c4d5971abf4f6f4885f60b35a360cd655c34cd789ecbfbef9d35c61611ef22198200b11008f4f59588a5cd111870b77ba19d5";
   hasRunfiles = true;
 };
 "venndiagram" = {
   stripPrefix = 0;
-  sha512.run = "6cd24d8b144cd7a38434be0ab515b0fe2d36cad3e07b3dc357362e9b2870da135d3d7259d3dc275fc4ae3b7e4f093bcad90db6737b27c3ef72ef25f2a7ff1976";
-  sha512.doc = "e1a034ba7171aa94c5fe51aab4b799501989563144ff9f8053e8a690dada38d86df2539afc97c0ba4fb89fa6eacb80c9bf50e2436d3bfa567590aaa1af4d1e19";
-  sha512.source = "76e7ee055e2e51473ff3c94976fc3f7b02c2b39528eda46c4f6017776b0ebc665a91bc945e52f82ecc2adaeb3eede22f86a8a2aab9fde9a32ba8a20c80b08c9c";
+  sha512.run = "cf57b84165067234f5be58b2300eebb77339c33b883895e47cffdbc7c4acb6d013db7ace1eb47ef491e21526cea8b3ab993fac836498bfa16a5cea700caedd5b";
+  sha512.doc = "966f7eea0d4c40004b9710c53fdd6838b757a2c8ed47b4098ca2d47834ba52575ac7c062497f1a6d26dadfcf0d7f95f2213d34bc638262520aade0e78beac827";
+  sha512.source = "16bfa22856952e9c0595532432eb774a2ef44f52950002db670e5f3e22af02981305ed5eda1265b6d1a97f43d9a6292311bad5268a562aff6ab00f4a14a058f7";
   hasRunfiles = true;
   version = "1.2";
 };
 "venturisadf" = {
   stripPrefix = 0;
-  sha512.run = "041f6c01a01ac10cad0c015c6630826316e85cad3351bd4530cf36f123a14c55620c3eb345237a06109d827047cd5a07e4ec4a1d85ccf5028a4890145f84820b";
-  sha512.doc = "eafad77636b169442e6af82f584fbb594425ba1122b4b31e76bec69f030f1478e2a6aa6d39f69b0a75c777a6fc42c8855e9781006f3ee7601d19c5cdaa5756f3";
-  sha512.source = "25d2450bb022e5b6344743b020c73877a99df02f29ba7ab17243568c5afd6c93240d3ee81b155a317c0a2cf614945f2f9a3414027869d98505519eaf0587841a";
+  sha512.run = "0f6b7369c1d589f9725897182f854f008b73dbda47078285635e87d480011bea0610da81512416b0963aa55487d646cd2a957002552ef2b8609d4536c0dd96bf";
+  sha512.doc = "b46066744794a8ae1443b18bf1f6ce3d586c8ee8fa5c3273db608751979089b2407a6feab421a3c3c738a682e83e2f44bc5ac86eef1d51fa914ed0f0df985bcb";
+  sha512.source = "2deac2b1cd151e41ea604d99209174b28de33d9f9358353b7d8b120c8e3cf45552947497e6d54cdf4024f5a071c39246221fd25cbca09cee7984755036993a40";
   hasRunfiles = true;
   version = "1.005";
 };
 "verbasef" = {
   stripPrefix = 0;
-  sha512.run = "21f7a77c7f15f72503b9876a5ebc356bafd47797f9472ace5e8b438dad8d02ed491a0f3b0f0dd24521ce3f39edc3002192c93ff5ff60042790cad77e71755c4c";
-  sha512.doc = "7a290e13fbb737f8b4729871afbaecce97695007c43b351161695bc061ac855639ab8016f28c8fc85c033ddde40de49e9f1e8cd3efc85ca96a5d54226c45204f";
+  sha512.run = "483a75883ea602f674abec796199c5206420079c6ad5e4c3ac22bd836e7ce02f686cc8b9b749f806fe8e44bce8bd35fc6b17865fc076c72f2223143ee0e8a123";
+  sha512.doc = "c88b1275eb4e3b87172e6cd157ad868b7b230d96d00ca0dc550757fdb89648a40b1090b771dcd0776b6f86a9194c553f265d990220348e5bbf9c7aa792f42914";
   hasRunfiles = true;
   version = "1.1";
 };
 "verbatimbox" = {
   stripPrefix = 0;
-  sha512.run = "0b0d4d840f4716460f7dccb52b7f2d38b91874f883b190052abbf4516d145ee79b0b58d9ab0cd00449721e53d3324515e35a6c03eb016c1484a94bda9eb1ef23";
-  sha512.doc = "f4133ed395e39c869730533dbff9a02fc626b53a368169001d4cfae1ec5170ca076cb2768694fbdc072fe9f3c76b9e77d595aaa0288dbf968acfd8086fdd95d0";
+  sha512.run = "dc686ec1e86c877a6f1467f4935f2337aedfaec32bdf867985ef05405569572c72d3593e75580c72a7bb3ee698798813094eabf738b3157194517839fbe47de5";
+  sha512.doc = "9f8fa05294b68fb0994f01e36b468d341b76aa97bde983c7eab781c92c8bfd898033235a328a1fa858dee457f515d6640f780b330600418f2a7eb0fb45f0ef3f";
   hasRunfiles = true;
   version = "3.13";
 };
 "verbatimcopy" = {
   stripPrefix = 0;
-  sha512.run = "0220d9b4e19ce7a91bbf0daa8aafc22f77359d97c9373b9c9089cd21012a8e1b6cf90f330ffcc9178b2c5f18e3016556ff8841c81a917d0d9238b9cd62031efb";
-  sha512.doc = "5d9c8cba0ee55a8389e69da62ca15436a9b6efc79984d123e024e445286f8b56c46bacd5aa25aca09feaaff3b8cb7e192c3993f9165653493410c5399fdf93f8";
+  sha512.run = "e415f9d74f35e28c73bec5442124b7c426aff8de013aa8a2af9c234ae3ea20c131d5ad21803c92eaaf6d0aef6584b7f9b83218f9665a959ec0d6ba3ef606b081";
+  sha512.doc = "0281da688f11d2a2fefc053d8f7866878b337ee85114c551176d6c329009f8c1a8479ccb29f202106f745ba215728e7f08509898182521bcac433699e22843a0";
   hasRunfiles = true;
   version = "0.06";
 };
 "verbdef" = {
   stripPrefix = 0;
-  sha512.run = "ed881cad5125ab7ccd8e5a0eeeacb3b9bf91e9985081f4b2f74abb34a6b4eca96e63dd06a85f60de53e2e2cb8832fdc3e899df2742dac79761e0397848f169bc";
-  sha512.doc = "5fd36263d670abcfc45d60d6318301b1e731bdab1517274340551387298330e031afcef856bb6cf07de07e002cb4028dd57010305729be072d09c5aff72d9609";
+  sha512.run = "f6bcac8b35bfe707d4e39cf625987ddee6197977894e9f8ded9e3a715e0968d2d1fab07c57edf1d38150ae0c9cfc937230c9fccec431e73ae235a4cd44ed8609";
+  sha512.doc = "e64d4bf3018de72a131e7688ebbfcbaa59914c0542d2c632a91097a77f404307f9bdfc613638badb3ccca3854313f17a7a5bfb6426f467bcc98ed235af6ba49c";
   hasRunfiles = true;
   version = "0.2";
 };
 "verbments" = {
   stripPrefix = 0;
-  sha512.run = "7a2933844f0ea399c3e55f4e32c62b7681ff72ced34102903b4d54b016830e4c6a8e55c4e3d46b113b859d47c8b2af2da2d77b1916ab801d987cbaee6b1db537";
-  sha512.doc = "3663ce117db9f34e9b4217e3a8b184feea47e9d64be6201ccbc81f5a1d4bf851b9f5767bae5d207a884556dfe09e472ea2ce11682feb2c46a10e542c71b56ef5";
+  sha512.run = "7b5780efe1b6e4cc62909df5d5cd4a03be3dc83717f20738a83f37f539103ad12e382c0a3891b8e81b44086f92b7277b17e88c4e7d81123c04941c38114f23c8";
+  sha512.doc = "744471659373efbe040bd0698a9b33a0942d5df33312ad3cdd0f02c0e16fd2c67ea44c4ab13ce83ddca6a5e8ca68c8c8bc40c1a64470a9716511e2275683b004";
   hasRunfiles = true;
   version = "1.2";
 };
 "verse" = {
   stripPrefix = 0;
-  sha512.run = "2aa188b13b48aa3855174db7899622906cd13087382cf157f38934fcc8152e0bda0c58be0e457e9effb0bf920bff5c4c819f549d7d6518027862ab9ecde2f336";
-  sha512.doc = "107704fee4d4438d08e3a682c2954ca3fba3b6bfbfa716d7d0890f0867ae658b51067a5cd1704110e0db80258553d5282845233788ac00a5445973759bf2a600";
-  sha512.source = "5bae294cb546024d60aa1b47638a70e8d95a5f7e89bc8f57e78510205a3aed5f4d1416ffe82326f94ceb4d017e1ef7b8a40b08f0f03db8bb9c2c0b4090c0ebd6";
+  sha512.run = "3f9878dea106ec87f2b64960c5824fda6eb9f700b753a530cec7e1b8519dc9a817cf7ea74c13eb806497740501122790fb29f6e3cc383a8a89ad10e756b7a00a";
+  sha512.doc = "6f255167db9ebb84cf86a14e6999410efb22d087d97b82837c3ebc5bf69f0990e77ae0325618ba3ea02c116741422a531f646929eab2b5810b9f3978be6651f2";
+  sha512.source = "ce1f07f40bd329383d8a0fc97038ee975d61b58eb0ff60f8a1894a6028b2afb9db58b7db599d252cb88fbc040d9938b7b934b6e8ad683e7f4de2be9a15b37820";
   hasRunfiles = true;
   version = "2.4b";
 };
 "version" = {
   stripPrefix = 0;
-  sha512.run = "70885ddcebb3fb2efd0a5a642f48044c2c28a642cb19d37189198cbbfbe59e15c7eb98fee3180e755d3e469435063185886f01f829439ad34969dfe21847e274";
-  sha512.doc = "be2f5723626602b4a97c88d109651cbcbff21c0e8231b005131d764ae4368177fe42bd61f8bc8f38e8de09ab1f5becb74c550b29b183cf2e6e4ab10c199f988e";
+  sha512.run = "9b57997e63fab25d916630bb086b7d4372e094e64175caa761c20c3c2d426a58fdc42ef661bbc1ec47f2a8d9c617b7e4dc405499c01b84eb53ca0d10f6c9108d";
+  sha512.doc = "9bada1489523eccc809d4b9654411addf31f2d63efc1f1f9d68b81e2bb3d9365e2709f55a77c53c3d2231b8da89114bd5a4217c8d18553234a980d379b1a0084";
   hasRunfiles = true;
   version = "2.0";
 };
 "versions" = {
   stripPrefix = 0;
-  sha512.run = "a2a7840109bb19ccaadb18480ed69eead3a6a763408cd0d8cdbd915aeca929508fc9094fdcaae799db05e45138c1a04959155940101ba953a4e2ade33b71318e";
-  sha512.doc = "40cd08fc92d339d792a7d816b4011d78192625825f42b8de599a7ccd3da703875bdf48e3a11a7574388cffd2386dd35606f3285f93c20abd91b95d916fed0ce6";
+  sha512.run = "4a6474f6a014789daae358c5b73a85bcb0894eb67d09a530f3bdd8e4571552d0a3e1983b5ba40d33122caad8bd457f255b7f1bb34e9797c5137ccf461707dbbc";
+  sha512.doc = "ffebda27a9000a0c8bd8462b750e34331968aa1abd5c7039e198950eac6dc02796da6a02a258bcfcd84ca12b3d5f6d0ab11587bb5d6fa9b3121297aec2179ccb";
   hasRunfiles = true;
   version = "0.55";
 };
 "versonotes" = {
   stripPrefix = 0;
-  sha512.run = "efeea0bc043f397f11e80775016d4aab33e23e317fe0312547b98e45e07458f01e683a8a0e9b5f965e204d5dfd5699163a9fc7df35a6e2d67b06b7d143383683";
-  sha512.doc = "d859bf6b5dd2abd0f0e9513b82f17b5627e23a6aa3cd3282fd23073d13ca972182a46e4b60e246b928463119f85eb1a3e0d67efa09a135384900e341efc0c048";
-  sha512.source = "321de2b5e0e04ea19cc47546e3e8c0b2426dc67ca9bbf29d84e3d7e6195bf339dab80299f863bdf57d36e2fb5b345a43b86907c211ff70b4201a1be13aa3b26c";
+  sha512.run = "3b1a33af069abaf1bca5d70c64f3f9034efd10c2104814c3db5360377cf67dde56794f950b1a96a5fd44c0fa3460922887ce97fa1a3eea31b54ce1f16c88977b";
+  sha512.doc = "1f27cadfa8160bc5ebfe6cf93aa617b7a1a751d98d7e7dac052cfc50a450d57967104fcab00d89feb08d0e0cc62551738eee5e17e8f65889e9f32d4e6d2d220e";
+  sha512.source = "e2f738d24b1a1fb8f16bd61ce86f21ee8896fa7236c61fcf8949ad411daf675f9128c4d48cb4a13df7cbd9066769a10e1f6ab6d17b2dd4f0d9188c9c21a33e70";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "vertbars" = {
   stripPrefix = 0;
-  sha512.run = "95bad5de003bf42af1e8f5ce7cd71e1730a070e19a52e2546f17db4ec5cf486db28f137c141250a3af092255c96675b015aabbfaf38e0067cfe4489283bc6227";
-  sha512.doc = "69d2dbe3711d23d5dd2c42b5342d24e707e05235d3e1e1b828494813159494c3e44a3b592f3f4cfda2067fc5044ffe2612fbbb285cce572187992c3c3c123263";
+  sha512.run = "3c3c905c6bcb013a36bc2eede14d84315f49075ab5f63376e9a440e4e7fb281ee5086b5bf1953782641284027dd8e7058e0accdafdc9295a19ebfc0088d8f7e1";
+  sha512.doc = "de6df3133c801e941cbb00c552cb2cdb1d556f099c402a0a66f460d5c7c1c6e28ec7d983563f20a609a5b5266420dcf8c204d1b6bc685031cc41fe2770a5ea13";
   hasRunfiles = true;
   version = "1.0c";
 };
 "vgrid" = {
   stripPrefix = 0;
-  sha512.run = "5a427518a114754c53500974f0c7a71df2f80b6ec8ead5a108d1c8267b460e0199124f50429c60e7bce2d883860abc04b47d51a0972cd0daa80c9dde084431ce";
-  sha512.doc = "bd72f8a4806d53f5d3477636631ab92fb4526adb35cc56bdb6fb5df0713885bb38adee1b5d0210d17630019b64e2ee727c1f09666d392940a7bf15e1545d0843";
-  sha512.source = "e0dda066c4ef7f75df635c36b01c1f7f45712390a9a91c78c25f22d072b978dd0c435fc9443e132f0b8c3a2905106a414c161f01de8cc06e437781c81f575199";
+  sha512.run = "ee46d8ae234af6f0b3bc8689cceab7d5ce8e7229b132c396a000cca15cde0ee422f91b2d4fc485c743e3a896bbab5ec90b24ea5d398bf63342751bf75143330a";
+  sha512.doc = "92e5498cea29d5fc1b373619e97c6692fef3f63002757a954649c0c4f9ef7b6594d61cce017bee709f0f1898777f962c25053b64da8079c8c9c9893f821a9aa6";
+  sha512.source = "5589904860a74979a070224b252be9b302e0f7128946624fb671e8618a2afc55c526631217348eaf84d7c0f827dfef7aac7a13a953e1ff82a61211eb2e070e36";
   hasRunfiles = true;
   version = "0.1";
 };
 "vhistory" = {
   stripPrefix = 0;
-  sha512.run = "690ef235478d4b0ceef6f8eee7655742e215d863775bdc6971c4f72314d7866f2a060e10bd33b2e53ae0ee079654aec82ca091d13eea0bea1e1457fd65762492";
-  sha512.doc = "54b5da2db5bc04fd1c31ddb62688ec140594462d3240c63462c2a9425f6526ed70a38b886ecfef4e2023859fbf28ea33db2ab521b090d3aead44e325d8f1967d";
+  sha512.run = "f1747b1c112c69cdc506234c571335647b365eb92a4054c70cb08752dc1da92ac4e84d533083cdee76f6398f5f1bf04b20b94cf38ddf13947d4086c5599529fc";
+  sha512.doc = "60a8100cc10df177b04eba8751208c515eee9601806324184f737491707e1e4d453a92b0d12a16d6cc1af319a55c79afc8922d1378f8714990c97b5779540763";
   hasRunfiles = true;
   version = "1.6.1";
 };
 "visualfaq" = {
   stripPrefix = 0;
-  sha512.run = "d5f4a79fa63a64f151227364d1e8a9af8c276d9b308c0bd7d61af6f48efc5adbf63196c6f67560b7ed520cf83c541ba95543f765b1a5fd61af648c7a0878ba14";
-  sha512.doc = "83f1e6e679b695b5b853630cc826b5b2a18310445e6b15a7e4b39237a3cc57b8c01f34f6b975b97403231d5ac76aa3813eb7dcecc6392503dd48188ff45abf23";
+  sha512.run = "6b88343feaf39cd314e9453452da245054d3192f02ba0b2eb6e55a9bbca434e9b74cb16ad0902a6f5352d9ef945a4176e2e1998a7f0bd1cd75d2a3da7f4a203a";
+  sha512.doc = "eea0f022741d52ebb3613e977948c0428ddbe5b7d41faa659e888b48b7bb4e655a0e693d1dfd92d40a52a67e6df9ad386ac64d2ffee7c2732feb2077d4b24f77";
 };
 "visualpstricks" = {
   stripPrefix = 0;
-  sha512.run = "e201f8418dc127782c642aa1f7f6611ce3e5a639a0e575307313e635a75964fc5a2314918e20575a4de451497ade109b4d9c80c0d097496bb9bad4fadd48432b";
-  sha512.doc = "fb2fe87967ce1de498a30c0e7bfcc6d3e5feb812ad57b8c77b83491974000fec287b07b0e797ca8189d30804df04dea958800c44b5fda3dcd7d9fd85bf493a15";
+  sha512.run = "fa501a3ed6506fe52d3d31515f453db5378c7d01415ed05c0870ea15051d34dc5a564ab8ef2ef4608f616b657ecf29f5b18a8920bdf1606f78928fc505cfb0d1";
+  sha512.doc = "3d2dfea937b2b99e148fb0220067b9a777126854d82cd1e591f84a1d13e1090755660509814e4690dad20d2568286ce05653d3b5c7c6653df61d27229c9cd5e2";
   version = "2.3";
 };
 "visualtikz" = {
   stripPrefix = 0;
-  sha512.run = "857d09b891d0cc36e56e39a6e935662592e04afec64e282ff62052a3da6ca1341bdb1af004ed9fe3da235db825b22afe4aa5ddc280f5bf52c28565586c208199";
-  sha512.doc = "2f0138f92a0fc96df1b044829f88b242aab6f63f5b58b49d716c5caff6f7b5bb2332ba5c569af86839620cc198cf11a14748e12f7ab66378b5d5f898430f475a";
+  sha512.run = "fc5cb3e2d30bca419304b5f76bb75f9da0e22b6624c7ca658492e2758adf0dfcc24552648c983b0afd390bf7814ca30fd7d2a8b3037b6ea3fd95b2f608b36b19";
+  sha512.doc = "556f4b852058c46a7d2a34db4898bd82429835ed4c5fc1eaf1c8bac9deba407c8a11fdd3eab3753b0f53fd0ba43a316c3b292cebe40c086862c6d94f8be0cc85";
   version = "0.65";
 };
 "vlna" = {
-  sha512.run = "5597afdddf004e2c9b0d7cc4afddcf4aa71f72c3b7766b685109af91fc1bbf06a5267a8b1f150946466ecbf587f030be245902f3554c858ba4fc78d7abe0d768";
-  sha512.doc = "b3671d9bf704ff7722d9824bd0760db8f99a2ba12387f1fbad3062681d3753aa51ed505f55732876f353dba629d1759fc25284fa7324c2a386cdab8eb8b6492b";
+  sha512.run = "320aa1e734120d4434ff05b2560c8d131daeb3a04d8f2ecd4e47e89cbe05e72ad459698cee63c05fe1c7278335774a8e2e4ab6dcf07ce1ac7cc15dc119c6cba0";
+  sha512.doc = "e9b2676f12fba6415749cf72aa0d8c34c328941f722e2a11d2372220dc615acc0b5ffaaff57abb24a8dd0747894990bce912bf8f423519aaf8390b6f03061835";
 };
 "vmargin" = {
   stripPrefix = 0;
-  sha512.run = "502f074a833b3b8aab18318ed3b8c806b1c0d943000e8126063ec7046d7e01cbbe675232eb1be7a1915e9d8639690fa4c0591b21e3382b8f2f9d664952999830";
-  sha512.doc = "cbc916d8c21daa87f0f3e10ad84db552e0650edb072cc8beffd545372c48562c52d8c529180482c85dfd33b131794fc8a0797936225ddcacf319d539302d95a2";
-  sha512.source = "6b23a64f009054ced47c7d7b3ba60fb34bd2cbdb13e4fd80c1593ec4638f1ee0ce2f42e7918ed9a6475f93f1c30572dfed0b9d3dff7ce17c356d828e4724b867";
+  sha512.run = "dc0cdd4696a44bb6bd189dcf73c69f1b2c8790b9936b1c6f35013d9342a97d36a4bfd8eab82f3e2e97f1cc952459cd9a1909915348b25f01df446c5ffc452e71";
+  sha512.doc = "ca8ebc274efacbe192b73c9551294bfae60b0cf7ebaac8425cf1b88e10ecda7f3230c336883afc438349f1ea47d66d369b52bb415c482803fb742b16cb483348";
+  sha512.source = "0ad7482be9aef59f55b1a489327c03e9d9560f10c984a0f244aa836ef12086dca2d834c033a36bc95233d6de9b801ac483d2dbf472f33e9478c5182d06a86cb6";
   hasRunfiles = true;
   version = "2.5";
 };
 "vntex" = {
   stripPrefix = 0;
-  sha512.run = "91461215b7a75913ac1c0d421dfade77baab1012fe2110facf1feaeba0262977f864af423d17dd2f7e5c711121456ee387be97aa13c5d45f65248f8db95236da";
-  sha512.doc = "7805f8c11add784272c435acdef550ea53e448914e305acdf8f4c3b4bc3379d842e9f1d23d2ff01d938820f1dd137935de866f83c296d671ebe4cc278e90529f";
-  sha512.source = "74fa9818520a60467623dafb3de8b41ce77d15804462b1a1bc49f391cae87a22a743515e3a5fe2328b3677de053626a74484f13cf8d5466c05d221c761708f66";
+  sha512.run = "f39c04998d0685125d494c1a314f4cddb9e2924af4eb4bd8488be237125d818199640041a9c23d6b8839b9da1861e0b621f71488b316b65903c5f3a0366adec0";
+  sha512.doc = "506c719a29a64611cc7ba228f1e13da9abface3168aa0122ec64dffa423a7c38b6f3a4fed43b787eb60b82bb8fec71a96e4432a9b0c05702a804a31997ccd49c";
+  sha512.source = "93f6fb8e9d49e8a7219a584aacc5f957da0ec2f7e29cf0c5dc37dd5b063cedf4eb2c56662b28c588083b1c158504da5da9cff4250498fa6ab8bdbec9e3eac875";
   hasRunfiles = true;
   version = "3.2";
 };
 "vocaltract" = {
   stripPrefix = 0;
-  sha512.run = "dba51704cd5536910d6f405a7b5e5bb9307bf56408443dd16528f10488979fe589dd947fe2b5a81a635cbf4b7472fab319f77d6b3f7b9488dc5a609e5d869a09";
-  sha512.doc = "99abc17150cf7255b8df0df6217652b71f46fd58ef8ac0e3750ca265e76a0651bc1769ba9c417758579dc2705e6fad3354a59d667fa9c3903b397b9aeea20aea";
+  sha512.run = "7daa3923a6b9d84a1fae2c9bd63404c2fb4dfe3866f897895deb9ab85f33649427b38ce5e34552bbbbd8704da1fac55822a747747a0c522728e605638831df8c";
+  sha512.doc = "36aa01a5be9da9a23e3a4de63fb14a39beda4a42cd2615f75f942abff677e71f2a4f640773d27556ef246a99004c3a1aa68caac9435957152cfda96707d79787";
   hasRunfiles = true;
   version = "1";
 };
 "volumes" = {
   stripPrefix = 0;
-  sha512.run = "aba3f48dba00f9d59100cf31136618e73b2f47e04024a911de23de6b88dbdd4fc26aa424e38116961a2928c30896faa6d1a4c34fac5b61212545fe7498f6c333";
-  sha512.doc = "e404bc057717244ecbc425b627b2a619d475be3d68d265d0334bc924882367a24cbb1fea286e9c0120a7f126e1a144f1bec96a3ac2942cb56ae6355f9467affd";
-  sha512.source = "a1c5a90cc9918765a29caed7a65af1edaf8202de1a4d53af6a909d16bee655c703305a780e359bccef5dca308f3e11b045fca08b514d9a60cc64351b574f3c73";
+  sha512.run = "e54add2c60c5446329fe6f944c99132e0f99e89dd8fc9ff459e0ee106a5241e4df4d864b43269fc14a08ddda92f4e41607eaa20ba50d4a566be7468d0dd66b2c";
+  sha512.doc = "4471a360d04cc1ed9c90ecb53bfc422fdae30571a25fc4811813f30ed5308f4d20309a1fdba808d1eb20e84b97318708f57d08722344afd755aa06588acbd024";
+  sha512.source = "0f47cc01b4631430cc4b73c7348bcb9d500d0c5c9960a15e9fb29e1c805ff0be4f0108c6bf795156ab7f939fb355f800da916f913a4a441e65bdcefdb05c0499";
   hasRunfiles = true;
   version = "1.0";
 };
 "voss-mathcol" = {
   stripPrefix = 0;
-  sha512.run = "6bd093cf627af99ba67ccf2e814f331c82fb9febe5a2e21c413b07e4f9bc34bfb8d574e196b9df5ec7b54fa25003f995c7bf638396c198852bb4ac9f571b8c22";
-  sha512.doc = "a8fc6741f39b5610630826ae5e84110e1138ba3aea6ee8c7c2b666d913d229cbb88740f8a6cb6760b422acb6afa234bfc695be804aaa03c88b1033b9574a5500";
+  sha512.run = "cec0ea20b409192c618278001045352ca6c4c11c8eda59633a9bb65ebb7a89c8c1db4046936a7f0096f52efca8a251501fccf7890288ed830f13e0b24b1bb017";
+  sha512.doc = "5d91b23d9eb45998282731620097f214b274ee744972b3d7fbeda1be2268799572f36b5f4c8b707f48e8ec2d825438bcdcee7f1376531f366af8949a862ff379";
   version = "0.1";
 };
 "vpe" = {
-  sha512.run = "dc1f5ae9a5d7df20bde4ebceb0fba865137da5ed2bfdcb6da59c9da56f3b71e93097b22c4b87641202dc15a873f081d7b2e8183606af1a2ae1419c26e9c7029a";
-  sha512.doc = "d8ccaa23c9cb3705c25976b53425788346e85c382d3dec6b0a7cc00a589d8ec3a8c4fe7ddf6999f6b4c250191131f4bb4e7b064e7e51de113b3af6f5d46e2794";
+  sha512.run = "5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5";
+  sha512.doc = "3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037";
   hasRunfiles = true;
   version = "0.2";
 };
 "vruler" = {
   stripPrefix = 0;
-  sha512.run = "aaea39da4b29dafeb5e906ca3fe220c17477862b61a0b58fa9067a55081305d4591a469cb0d414a4a842fdaa41eeadf050111b0859982d3cd9f1f9df95559735";
-  sha512.doc = "1dc79d73a3f3eee3b000547058b90be63cd14b184f242e4bc9548b98a750389b7379c6d000020b65732dedec2eb082df685f38497cced192c0779f9b538b5cd4";
+  sha512.run = "39582bec5217d65179b4293a18697cae20b35a0ec5416497691d16dbb919d78d4463ae15f2f05d308f45c65481f611a3f699cce9f5a3c311b84bde08fdd5f234";
+  sha512.doc = "dad09087e028977501fe143ae050c57938500b8aa98bddc1afefb298444d17c37cdc5b9db2e9d01df5e9f6a47679e0659b21a2844d268f8b324a24bbf22d9492";
   hasRunfiles = true;
   version = "2.3";
 };
+"vtable" = {
+  stripPrefix = 0;
+  sha512.run = "ed8dee287daa32719b6650f43b963fa66cc55572526162978fc5245d3c253f027548ef5f1cbb38423c30e6cbe93b3418c373615ab92532be40d947c979f14b47";
+  sha512.doc = "12626485ed74fdaee2aff65e97f59d14fad8f856bc2a84dda96010985b039d48850a07ef08525d74b155a699d44b1e173923e0f67716f47e392fa7558760076a";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "vwcol" = {
   stripPrefix = 0;
-  sha512.run = "24e4bb08f550976d926ec61b978dafa4074df60ebd93b28962cdf7173c7c3c352e1616655610d205b4f90cb33475a0efb801e5135c6ea4f4e9b573ee42eae229";
-  sha512.doc = "e40bb3ec002898ea27c8dbbd433ddd734d69a1ad367668682477fd4df3764d278699f17a0fba209ea455095196d3a89035f15a26567c77aab73209b8f666b8cb";
-  sha512.source = "36a5eda8e631acc2b601768f9bf0872696af9131ce5de9240bb5554ea30ee9a49115ada4c323e47c8c5090013c5a47a2c8aa2f018de5a3720e31abb1c04e928d";
+  sha512.run = "3963b738e1214f7a495daff6476102e6b25e86034c552b5f4e4314af55e4af073ed94a72e969dfd1fba16baa0264577234917f7dfd074dc85f9c56c5f2409903";
+  sha512.doc = "a4d55b62caf4968d3e8329fd06f8857f646c5a867fbab23ea9bd7fb57c5b88b5f3a918642bc608eb1ccd936dc2e36edc50a5662667b8bb35cc59ba1739b2e7bd";
+  sha512.source = "8a605a7250f939789fd863abf6fa2b5da37b8f723460ef2e56ed93dc826363ec1bad03f5bd2af266ede11ccda04546e6174c0dd79282ba41ad6c3d9923ccd51c";
   hasRunfiles = true;
   version = "0.2";
 };
 "wadalab" = {
   stripPrefix = 0;
-  sha512.run = "4c4c83919e8904384a64cf06b37cd0da7207972d5f04e7d01a24aa913cfc3179464444c7a4cfeae9afe2f39c2ad2719890a9d3bbad7477ea83d6323d3cbcf089";
-  sha512.doc = "309dcec0da56034e69c5ce2d46211e1eadc78ecec5f8c14272346e6772bef0e5ec1b1e9bd6b4ee16c94c9b7d4e2ec9d9c836597c98d5572f722c9d0ff0b3aead";
+  sha512.run = "2d603ccfa92e8ef9abe91f5afaf490c7c8476061679f7a54c22879bb90b4d874f9e0e533e25aafb94fee2ff512f689ec96d25ed7ed42d0ae90c5e05985daadeb";
+  sha512.doc = "f9c35379b396dfb563c66a05d200c405f03de96e22ec94de3a9f0c99ada057db21d31b43d59391bc0175479b5f150435f8e704fa40f6b58f2c116bbda3ec4603";
   hasRunfiles = true;
 };
 "wallcalendar" = {
   stripPrefix = 0;
-  sha512.run = "eda4a231bfe61e75fff31c733a1512e6ed932b11e43d341ae826cdaa913b10093e0550141de3bd629cc8924e1b71546a112b71e15027f8580964c1b28a41de3f";
-  sha512.doc = "ddd9defa6b22324b448c19e512b5f21fad30db7ebc8da14bdb4423844c5cc0c3f4e5e346ae8fd70092e9cbe62ee6aecb19740f9eebbc9def84348677185b7b58";
+  sha512.run = "43a682e78a3a80784180dfd84627e5584af9199bef965bb5551b203df7f939512d4307c450ed1ee55caab611154c1511fc339831da2907527c06ab738350e05a";
+  sha512.doc = "e4816b91f08a26e99b03892b3d70f4d81110e476461dec505225335d46955f9f3790d883faf19afa4d7a31ff05afac4fea870e37299f45827c5a8155d4bbaf4c";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "wallpaper" = {
   stripPrefix = 0;
-  sha512.run = "2f06153c57b31a72236dcef69cff1e10d85f2dcbfbfac3b6a5ed8b0c8e003294fc04120ac30b8c827d94816017e1fa042206a1932746ee33b1a30b24ebe2c28d";
-  sha512.doc = "c27022dff148948218133b27eea53e6620a05d2459b28b561b4047a6d125a159e38f524565c9c0d70b42af9cb0536d685855265f7f83e7c0620fd0b4b2ee5064";
+  sha512.run = "45647b8f8ebab9706437be2ce63f3506638fcc794839ff366210db4c35a3e16b2a39127fcacd0d97df356180770b6808e80e63ea1a50e69fc591cc0992e1787b";
+  sha512.doc = "46b890e0ea7bbfb3c3421f79338f5140a105bb90cbe712477e2dc956f834682f6d137e39492437d8f206fefaf07086cab7f3cdd6c27dc7136df54c5ba850b4a3";
   hasRunfiles = true;
   version = "1.10";
 };
 "warning" = {
   stripPrefix = 0;
-  sha512.run = "c22639947fa19f6a40e184a8656f9982627306bc7352728934a187b817e58b154e3516e035cb36b3940caf50269869d771d00efddae225c5130a0af1375670ea";
-  sha512.doc = "9ecb806c26eb861bfd93f0c8a411534469b747c4a0b44ddaad17313bd2995eef24b627deb32b39a882e89757dc62ca348898c1796fac1b4f92ba819ef3bda000";
+  sha512.run = "de3d9ef9a6dda4022fa8f04a0be509d3e9e583a539a3590cd30527f108ff739e0c1dbf8c5945e0a72902b14c2616e26d41a05f23957e9466c788fd228ac6b082";
+  sha512.doc = "04c8ecdd39f2e0b3aec8cf6d9235acc7e10c8e182bbb2a7b30a46cf9ce7c08fb0fea21956356b3dad500a5a58c7a2b63e9471b2e8fe626b17492f721f527ce72";
   hasRunfiles = true;
   version = "0.01";
 };
 "warpcol" = {
   stripPrefix = 0;
-  sha512.run = "a20c55e054a221a528c716ab9646835b84963474509b366b85577fe97f93920f462c0b6b9b795cd7f979ca8493cef5b306346d2076c29d3c9cb41f646c1ca96e";
-  sha512.doc = "4ae9e56b62742baf75502133e3b90a24599015d21a3d880ee33c42a831aa33d93ac0526a2cbb92d06a8102e3c9861bcb094bc0cd7e77e1d2dc15eee25d4d6dbe";
-  sha512.source = "69890754e3f2a4d38200c534e8dc04418eb9c4ed25af4199c931433a51b6439e57bff7b1759c5794ca0fb494f3eef1af4cc83b9d957c582b67261a3a91fc9606";
+  sha512.run = "66fd9e243339e0841576e1a1a3de05f2e69a24a7e1dd31eb38d848d06c9183f691229d8e89878b661c7f6524bd9ebd1380fcd4c9b175feb8490cd4476ac81303";
+  sha512.doc = "e88082379e90edf1517579009881204bcb70df888593d7535e2b1e5b673cf116a456967b0ca5ce372efef9dc0818b9d0dc252be79819f6b346ad8619d70551f3";
+  sha512.source = "843965fdddfffe6bec9567e140b9c6db66f60d1eb90ff5830b08b17499f21782ae1842989d479e50c293a8e1d7e2a9ab886622b8375384e1238871d6872e9e52";
   hasRunfiles = true;
   version = "1.0c";
 };
 "was" = {
   stripPrefix = 0;
-  sha512.run = "f24fba8cb51ad5a2562dfec2338c7c3e21a9d368138ac3bbeb8663850a1efd2808860cc57a6ab2fcf25cccbdf6b7b98facf09d67a633622a6c8e2f1cafc6ff95";
-  sha512.doc = "0786e5ac4f7f023ddc9e6d431dadb513f227382185c73c69446781c53f4d5db9fd3df58da6d1ba9cb56ce5d948e3c317450cc196bb5161ae10608cf4959551c6";
-  sha512.source = "af8e9d2ccac305b627a0d5d4c083a222efe233abf59af1a1f61e81fe09c4c2235b3ea181c64d222300eddd5d07139a3c91430b1187b237e5716d2836cfbcedc0";
+  sha512.run = "e3dec504da2dd28534872b4363695d797a874a0af5c2a77e6559a2765f6150cc50614b8905c90faa6fb9fd54d9634a9ddff148564904b1454f21d3fbd21918dd";
+  sha512.doc = "24cc3a8931fe48134810ffe626789139a821585f0d359a177c56ae5a442482fb9d36f344061128ac185469b97c4c3f440ad02ebc7135366253cd9bbcf99895bc";
+  sha512.source = "507ed77f8a5a119c16fcb9478a559f516a2e612893941f8854e4945968ef5b44ccab641f1737c745b33209828a4541e3615dd46f304b5e2f5b29c5282eeeccef";
   hasRunfiles = true;
 };
 "wasy" = {
   stripPrefix = 0;
-  sha512.run = "20086528deacd51fc9409cfbb1b331ed5d2a8f811acc078c01d50e5e218506f8390992f2e99a584a7ebbe3b3bc791440d16d7a88f26080a8b03f9b18fdcca673";
-  sha512.doc = "0d06b09042f0d39813cde309ba95cc4da9c838f0ada85e4d3e782c6453082f8958819f11a8c2fa9096acdec1a33fbda385ae2c4e261da1380699d2da07a303db";
+  sha512.run = "ba62a952ec1beb086cfdad1701780669e253d66163c6dc62d247182920d5fddacd062f3c7f0cec97ff8c3d0572fddef09f0fa30e82db9f6d58ddfedb37a6b0d3";
+  sha512.doc = "1b8f655b1c9a150e6f0d7fbc91dfb7c9158154709b226f04b4a456e1f3961bc65521b70844e736f68be9c66f2b852687f0d50352a6254343c5557177450d3e0c";
   hasRunfiles = true;
 };
 "wasy2-ps" = {
   stripPrefix = 0;
   deps."wasy" = tl."wasy";
-  sha512.run = "a550a9e398861ce2d7af32d891cec739915e07d60bd278ea436fb5594b41dc767f3f4460160d0510ee8e95fc5621fe7def019dc8bf3b078d1fad0da5430ce67c";
-  sha512.doc = "a8037485d4ea22271d0b493b9cb5a1ff8b57453f2dad20d8effd4842d9bc0f242c426180f7fed615cfa85ac89aabdd081f5ccd6b43ca9c01c5671434d2da3169";
+  sha512.run = "9ef8a52b1a92c162d567999ccaa2e77ca09f190dfb1a25c0073c5a66f97131b7b7ff4c562b473814f2359374e23b0191d1d1d5f45627e3896e75fa3aad19d3bc";
+  sha512.doc = "681f579b96bf6e5cf7f4e0fecf9e259aa60db57879820cc779f46f2065c0177ad0871bb8f0bf1f9409b0eb553611a54af9c9ce9b547ca9be1545022188bf74d5";
   hasRunfiles = true;
 };
 "wasysym" = {
   stripPrefix = 0;
-  sha512.run = "e2daf57770c64066669617e9d695314ab99b2aa150ae6c2a606aefcd0ab7e3101d4bd9b0c91d7dbd9b9300a4fc28f42d430cfcd0dd343fa4f1adf06aabe8db16";
-  sha512.doc = "cdd4453082336fc18a6cdd15759817e4210436bef7fc27ff6f1edfc6c149fb0c5bfb35d2708c547dc9633492cc21b600ebf5d0b807f37e236a7d58beb0b28684";
-  sha512.source = "fa69d3431491f87e81fc345216c631bd4d50acf17af90c2122f2adff19a7c8b8761b9423fdc23c62920b23842c3bb52ab9c8fdc5d0662e62718622f33cc051b1";
+  sha512.run = "9098cb0665f5ebd360a92f44aceb1b8c27c58b174c83a1b60ea837e605428ed2fda95a2b7836f69fbb06380fadc1a210a93ef519acb4bd4d393260472725240e";
+  sha512.doc = "7e7b46e8ff31a827c836d6bc6f8ac49474f23286470018276ebac18c386c4041f817fd9893a1a1f97d1fe1be3100c5f904987ece98b34c5816e347e4f9a1f300";
+  sha512.source = "4049e94ec5ae362178dbefae2f6a1e4718b5cee3fecf3d80b148682f64d2a830c47ca4a3b42c0f423f6f221d8f88fd9a8a2ff009e499a442207c0fdb7434a352";
   hasRunfiles = true;
   version = "2.0";
 };
 "web" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "1aef5727386f9fe6da990ebd9d2abb3f15d5230c671d4346ac5b3b38782c4f00746a02b40e78c97fe0928556a8af1e737ccddbb9d17b811ca9acc5ad2309c0a6";
-  sha512.doc = "7c9beb38e6b200e729d245a24ec3806182d435565390fe616bb81628ca5d0a9b5abef3a6509e6634fb50a4d3f7d1153497382637ed005ff015406dbcacdab8cc";
+  sha512.run = "0d2d771e8452d67278adec061e1df8cfc06f3af729ea5ae7849acd5fe1b628167b18d86b1037484dbb6b20d5f703bba7ba9fb255788becc53ce22fd87f39ca7b";
+  sha512.doc = "5647beef7b99a3a552b8f55d12ef669481e8ba3e01beefb014fb8e3cae6e8f419862131379b506ab8197e1717d563c34fa81d69db3c6db8107e6167447d87322";
   version = "4.5";
 };
 "webguide" = {
   stripPrefix = 0;
-  sha512.run = "01f868905c228df2dfc883f4432b51edad6bd47df5cc244fc97c6476c04eb3863b11f062c6690f41df89c5fa9465070c999be245b94c4f33f5296032f3018ac6";
-  sha512.doc = "701297d37a915e3a780a98d81a3c74362399a9030c3c22956796547cea6858ea8ee5b91cff0bc82c3d5ab3d42016cca997dbf26d7fd45ab8ef194011583c64a9";
+  sha512.run = "0c99e86fcba92d067ddd658893b58463390764b215515068e025563b66f445b23ae11482345bf305106afc1284ffaf32b23a28c8e0f81319002dd6332c8a3848";
+  sha512.doc = "933ceaf7bb2400fff1bfc5ec26f60d750e0995680579fe487536ddcf8eca670e2b6d3fb6150b4ad659c6fa594b9db540523a878c74e9aba9be7710b5380e55af";
+};
+"webquiz" = {
+  sha512.run = "725ff4b81203704a5cbf066c48d25a959031f89eed094da4d6a9b07ad059d977b2026b5e6a1e704999cf3b1b8eeaefcb5713f099f016f9cf17206ec1c1183dac";
+  sha512.doc = "6b25d04e4cff7db299c4f13ceb55525fa3a4ff2d094960fbe8171b3822ce2917d6d868e62ed3a1d2083d78b2ddb839ec211b5ba00a6fd894c29ab2d3a6ca7cb8";
+  hasRunfiles = true;
+  version = "5.2";
 };
 "widetable" = {
   stripPrefix = 0;
-  sha512.run = "76cc3228be0a4236e64a57474f206b49ef35a61c1395f24d0b930c7dd368ba8cd418bd49a2baeb5456432e3e73ff9a98e2c2caa33d757124478408ed66f0ee18";
-  sha512.doc = "62f732cf3a143d0fe8766ccb63ae5c4399004c8a6143598e95cb5bcfd08a5757bb28d7c9586c9905d92b2cba16c180b8aeef954c6b05c853b53cc356a0c303b1";
-  sha512.source = "1094e5ff11ca96077a339e9f0dc5f24abd40771803841fae2f0300573ad0402c52435bcb8c114553ff1eacf045999998b117b05cb0d231114fcd7ec08eda5e33";
+  sha512.run = "61aed9af524ce3e19f01676ee0a483737bb4ccdbad8e6465bfa8dc671c24bf07fb7bf88911b344a572bb91e4803ff932297d69e29768f4059cab63522ab0c3be";
+  sha512.doc = "9e24ce0131bbdec42bd92d54784e10f680fb352fdae3516e4419b8b4b1d0e1524d2309765c2c40c0d88829c5847de5a85bd98fc42def5f710f23ba471f2f83ea";
+  sha512.source = "c3de6c0bed48aead332639564f83b98adc4e9f23da15442655d4e09766f3587967c5a7292edca3cf0f4d29cef3cc8daf939f5ec53427ecc171c9b33520a3aeac";
   hasRunfiles = true;
-  version = "1.5";
+  version = "2.0";
 };
 "widows-and-orphans" = {
   stripPrefix = 0;
-  sha512.run = "c744144ce3aedae6760f8a4fd7c74effa78dd75978f9ac59a55565fd8645bf4a3ead037c02179a5b506bc7999c8253d1357239ddf891c7c539d80eb753b0016b";
-  sha512.doc = "4edf317ffc75fc7ca28ba413ebb7c8a7a10131960b032a6f88726a13b5fbeea687992cd556cf9b4114738d60bdbffda842dcfbeab3a4e07e51dcff01f9df6e27";
-  sha512.source = "ef611a12e348505bde99a839e73853d7493dbfd5622ba0825581be5effb83bea686df2939f36b2f28073796fee65fc1e9c2004b24aaaac577c86d3f2405c1099";
+  sha512.run = "45c17dcbf2db08ca84b870c375bbd4e6caf9bbdcb7285c67082a72fb32822164d75520cdfd325b7f285a2936e8c0caf54480695d807fa6005d265d05fb4a51ad";
+  sha512.doc = "d798cfcede09337b299442babd4f77d1035a9e2d356db24bd9537c903b58e82cf191b273297658704847332e0198d8f64bf89aaced529df344a7483307b0bd55";
+  sha512.source = "0583468d3e4712eb666364ce2d3ef487c5c39797ec13408193c3976cd003098931427e30d0458d11186a7e3d11b377b59f8de97983d7c358ab8f27397b409426";
   hasRunfiles = true;
   version = "1.0b";
 };
 "williams" = {
   stripPrefix = 0;
-  sha512.run = "276150360782a32f03e6ff0932223be61773269a49e2ab922932e2eea0a0ef7aae1f398484efd09bacb0faad68af98b583cb40da23a4dd8a83e6a26ffa07e091";
-  sha512.doc = "70839ef82e14ef6feca7c34f9947e8eebefd8aa3659887cf0b4f1f83cb63b0f9577a0ff064e4cf54a7340e70ef1ade4f755f65338b00c3bd6f0316183a80587a";
+  sha512.run = "44ef966e5d8535aa7bb32109b20f47c774995e6368a92e20a68d25c1694ad86b7007bc90877d276c2f15b8aa3c3d11f7fe6aa117c35265b5988205df869af11b";
+  sha512.doc = "c559e587868698c1a635db13b6db265234b3b475937fa1759f9e7e3a8d0644a43543005e9607b5a965bbdc304863d6c7cae6e5cb8345b546dc34afd8c7e2de43";
   hasRunfiles = true;
 };
 "windycity" = {
   stripPrefix = 0;
-  sha512.run = "4d616726ead33f20967f403735218c09854843ad2dea2a079c96e16d37dbd4c01189cec9fc667c50a44676bc77ab7a012f298788e027cf5b2414143fa84f2016";
-  sha512.doc = "543b3a8524d7a69df818344d4f2a370f20c4d1f24d88b2fb42025e6ac3d0265110f235678e4be2bdab7c97f215f876a619158bbdfd4aab4503c96f9ee3d077b7";
+  sha512.run = "f52a60a78ec5855c1d0e34c2a01772de28e0d2c3dc553e12cb99baaa4ad97a7d6f6ef59fcfb429bfea00339e390d600d8b7e640b92aae8af19204d2567aa8b4a";
+  sha512.doc = "8b0decbdcbfc0d0f0204e35a629904a48f44a5daf6b1b54f8e11dc601a103e97078bf7bf15eec028c14cc3c426782d7fda1a1bdd5d7725364959dd9d3d5dba2b";
   hasRunfiles = true;
 };
 "withargs" = {
   stripPrefix = 0;
-  sha512.run = "62f77511c3bdf60f29f5ef3f0002cb80b9153cce5fe2ede9f97e41848ad21fb1c554c6c7ae1271221b925bed3346cc8fd3e40631a5f336914fd7feee89b84bc6";
-  sha512.doc = "95f6ffadb75e3d3a0d497064f24010aae69041ddc23e12fbef82a0108aa9a37a9363fd89ce927b47fdf494f373239dd87336739026cf6a81a912d0704131b9aa";
+  sha512.run = "6d30bb4adc63ebb1441c9547439757feb93a276fa53b7c203d688954e526602d5fd0916b37ee94cba8fb96db8935c02705ec12fdf2b22b48ce01dbd21f208d43";
+  sha512.doc = "d046bdb103f4fab24f41a730cbe585d9d8bcdf2c47f60bd545619c83a8c200ac82b4a7422423cbec8b0473a86a3f92fa6e91a7a769a580e127857cc647d864b6";
   hasRunfiles = true;
   version = "0.2.0";
 };
 "witharrows" = {
   stripPrefix = 0;
-  sha512.run = "cded44da6d0f924f8301c319471665bd4357a1da2d5ecba1b219167a519feea195a81f27b22029db160888f0df9b34f8c66a12ce4dc80303b62c0068892db4fb";
-  sha512.doc = "561d27da242a89cd8d1261d0a5b4304c741acda2e1a6f01f3691b159f7a9649eb169d0404fdb6be98d43fb309cd9dada573d8cb16c82904e1dd33dd3ee694822";
-  sha512.source = "dfc84052623445830aa1524bf25bf61c6e0960b86dab1f66736b10e60467b1cd9c7097775f7fba06c01936966a4716b7e305f194a1646ec1e8a8d648892316e4";
+  sha512.run = "46c4b5f26c3d8ac3e44380b4d70e6364cda313f63c4ff51078abbc09086fc04f0eca21bc2240dcb0f0de88a3f7156c31864673b11954039a758d3daf02cadec9";
+  sha512.doc = "b8692bc22aa753a964380bcbaa61f10daf85cbc7215ee878c2616116711ec8c28d7bb361d12fbb40dc2d177242875135b914f298b966221de1a75dd6ce2068c5";
+  sha512.source = "dfb46c1bac752aa91bea49d8029aa5abc0f5f9c6815f7eaf0e1b70cd992d7dc3c8d182c258e5a8fc6da470326ad760ce0331b83e70f6c066f8ad76b0642834e4";
   hasRunfiles = true;
-  version = "1.15";
+  version = "2.0";
 };
 "wnri" = {
   stripPrefix = 0;
-  sha512.run = "783f1a2cd770049866d73316f6119159a4bdeb9e2074288a7bf25c2dd070d46ac18cf1bd549a20fe575cbe40eca1c1f9caf0b0da6ca76afcb866c942fe980ee1";
-  sha512.doc = "8ea47a7ee52485f605472b229e75cac805e73da735fb5f59fb2b2fc1d45088d3ad38ca616f5ccc29926cd3baf7ba2e11ade0a852bd9510234dcba746e51e51b4";
+  sha512.run = "6ad06e6a867b323c382b85fa1effe16280566b1b61dd37be0bd7e9384d145fff2b1b4ff8117aa49749db1f15495e835e3367b0b7191cf9444e36fed662ffd0ed";
+  sha512.doc = "c3d6ff664edd89fa711e9573b138b29b113b588ddef9ad4a258e1f28c4ca2aad1f05741a402c1c1972bbc317e0cb989ce7a51e52d59b42629343d9a5780b64d0";
   hasRunfiles = true;
 };
 "wnri-latex" = {
   stripPrefix = 0;
-  sha512.run = "8acfd65b6938f5e3441c6f013c91d75c03247c6d995dacbaf39ab48b8386e5d8a63b5ddc3876fbb394c1da31804344923321565d8d40a69d4a4616f3522c0899";
-  sha512.doc = "7d367f5f7f7387999f5f447cf617722e3a8fef2939b4d5d9abcef2e92878728188ec65327d7fbe5723b96b9649f95ed552d462927a751ae57bce791c5521b9f4";
-  sha512.source = "d694ace4457c5c25f5332f87c7c969ac7d717b06c365e250c199eeb398861e592da241612f89f4ca026856d7fb8bdb2b20f05855a58fcd59fcf19983091a90cd";
+  sha512.run = "1dcecf9ac38a9099625ed6be3955af8b063ee5b5b8d0d3e3ab8c94a8215b72b86a0b5dbe930eb69680917bd3d6652b3f4f08bb377197ab6f3d2fccf2b96aa59e";
+  sha512.doc = "924266d547910d25ed5355ec2ef697d271dd992aeb6767d5bcb703d4d07cd34b6844e9a821ed93f5a04237aba1c185fb68926967e78043f390785b619c2389d2";
+  sha512.source = "e3c5cfaae7b14a28489344392d66a1e2570c900ffd571c54b4f2d13b16d6dabb5cf58cad9259f8b662a218567982d1ac51ef8b2a757902c36540200fd984a497";
   hasRunfiles = true;
   version = "1.0b";
 };
 "wordcount" = {
-  sha512.run = "898fd8c647eb5fe5fdf189708f84fba6d5b709315c8f41c6a259a6551a560511e3d9322f6b06e3cb8f7a737b14be7bb95faa9601dd54476a97d415c74d605cf6";
-  sha512.doc = "1a79bc6af253b5ab2646498b475a0e33c34396c95f7674cc448db9d81a8156f5f0971ed5a179b926eba043108a9cd18fef8bc6f69e47afe48f923b37faa099d7";
+  sha512.run = "3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a";
+  sha512.doc = "a86b034ebff42c89f07015b01f86756a83ff2c69ed911ecde185ff719b09e3db47f284fe778c9dfd16442d1513edc9ddbb4944cc242328c17bd3fc18a0aa098f";
   hasRunfiles = true;
   version = "1.7";
 };
 "wordlike" = {
   stripPrefix = 0;
-  sha512.run = "4547ae4289891121d1c4c16e00af403c4823da16adca9e1095d198ce0a0b9678338475044470a7bba74c98b4c6072434c2242d10b7c3d8fa6f7a7750b33e944d";
-  sha512.doc = "3ec5bb5ecaffe02ad931aa3a3d932629f7c36383624e10185e7e3c53887a0ab05b8e623054386b42e71927dde8168fe11236cb4c5b6361cd1d4049fdd1f52090";
-  sha512.source = "39a07851739d4c9183860c2c74110eec3caee1a908a26970dfce935f29397ff116f734b1a2dde4eb26170af3a0734e34a8ec6c64ea9b0be38742991408cdb673";
+  sha512.run = "d600073b2373119973ca47564938db5824181d6b74409ef7f4a2b19d53b83b97ccf8edf5d77dd831c0d52a4379f5928ad7a0391d90a2f19fe4d3ef681133078b";
+  sha512.doc = "10bbfa76beb0718dff8d4175712567e34e77aaefbce9fbc350d5bca43d8d5e87fe1cdcce5c558946c2b04beede8628b7535abc451f7d904ac283929ae39c6460";
+  sha512.source = "23e7f66f064e7e8bbf94d58118c0c8891a316fc2e2fdf37156b078242fb33343a38d19f03dd605035ce874de1d05d9e405c612e32c407e061f54386cfef791ac";
   hasRunfiles = true;
   version = "1.2b";
 };
 "worksheet" = {
   stripPrefix = 0;
-  sha512.run = "e5a663f5469a03a528077df7cc02887c1411dce9ae6c3f8373f0e7e2627857d59bd79216d77d0e258d04a0fcfa158bb5ce9ee41786a4a3a0d1cfb9c61f57013c";
-  sha512.doc = "1225a2331432b64b9d25c265ce06ea8b2e7ccf8dc70e2f9880dd3d9eb0bdcffa77888deeaf6d807ddbbed71cff366a26da7f5e5b017f22c900d937f53602333f";
+  sha512.run = "439c430189e74e8c476a068fe449034fa1c8f4e8770ee454b92b8645ee865b103a02b0eecb45a925a8021fa7c64d98240e5f1f980913515df49d8415bbeb2c2d";
+  sha512.doc = "56d502e993eb77f7dd4b2a659a8646823cf033a3e246e90b0c6e4e9d2a7cb31922dee26c942404b13d18e7abaa79714b4394b589376d67e8fc1556a098ec7960";
   hasRunfiles = true;
   version = "1.1";
 };
 "wrapfig" = {
   stripPrefix = 0;
-  sha512.run = "bc470ae1e609612d7138a9317a27cd181f0f61850b730687c17f9379bf6081da8b775f9940766f7c4bf5d188de5e4c69ca4cc908fa8846498635c00fbc3aa427";
-  sha512.doc = "c839b746a0ba3f7efca07b7cb49cc643a8f55c9150b02dfcc0f3ed6c8138f4dcf7ca5fcd98c600501647434afed7f2a3f9976c984e58c993fe8c335d2be62142";
+  sha512.run = "ea9d0693a43f985b9ab13a51e0af82b866adc8500dfb9f42e8b20ce8facd07d0534749bda61d13bc86b921300336c9f7e6099f252c4c65370a2e2cb4423589ae";
+  sha512.doc = "9ba4292d2641a31f3719ca66e3d80ca70638f9c943bfad9e9e08543f57a53eccc1292930e95d6a3677d0696e0deb1d1ca698b83eb7285baae275b70ac808be33";
   hasRunfiles = true;
   version = "3.6";
 };
 "wsemclassic" = {
   stripPrefix = 0;
-  sha512.run = "3a9aa02c2c18415ee5f5b90aa59f1c283f2c41d6041d6ee6403fce57e3bae76de9e8fd6c3862981d9f591c6fce50a7350c6ba5b30218e7054f7fdaf44095f80e";
-  sha512.doc = "422dd9b1b543592b65d0a883c7ed900b0cde12a117189ae9bcf3ac537e43a8c28b6afdaae28a7d8a1ef5bf8c34a6f2c5d0e449f1d6656b785ecf804345c16efb";
-  sha512.source = "e9f139aeb2b898a93f6fbc28e6b90b7038f764ebf56698d6482fb755513a0d523a1ccef3cb7313a9ada0e5fe222675cd9b580800f7b8ad40cdf2410baeff1abf";
+  sha512.run = "064c1ec12a33dbb6c5a2c08c98c21d5684d8be6edb807987e69a47002d52bda4634a8e0d8016d01aaec6b0bcb9851de61d2a1723f70ea7da2dd4000d2340033d";
+  sha512.doc = "d86741a35d1873a17839e880b2e1c0915cf7b64bd52e5836f9967159479611482c2b2c67388066b9f171574109a5fa0a5b9555ccf4e629d4b26434a31cd754da";
+  sha512.source = "cbf8ef51ab7782a2b52d238ee2f517a541ef1a0196ff72f08cd722c3335a80a2520fbd359cf865302229cf146b16931d4b163571e908360adc8139c2ade5f2b3";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "wsuipa" = {
   stripPrefix = 0;
-  sha512.run = "8c3559bf1fad59d42669f2b82d987f7035036978d94ceba2e931d51f4abd8f9835c85a8be36184c5a77ee1aa32fd0068a7c36e1ce9a88a9b8d52015e47e31745";
-  sha512.doc = "11cedab5f6a3953686f9237c2b8026650c5ff39341e59a1634e56fe10ac8b84cf6c16066c4cd859f01669385e38320ec158214579522d089a75544027121cf2d";
+  sha512.run = "7488fab88bb273463ffa45819fb486aa3c95d7202d8ffe2a8aa8f2a1b00555e70bbc5a008a72cb60ddc1759dbca60bed05d2a21b4308e75490e965e71a84ee7f";
+  sha512.doc = "b24aa32e2e7b466d7afc827aed570deb70b41163cbe6ce975d8df77e9dcc92b453e5f0d5f0edd5a2f05c006939003849b7b44c2e3f8a86ffd61a51ff307466e5";
   hasRunfiles = true;
 };
 "wtref" = {
   stripPrefix = 0;
-  sha512.run = "7b3f7aaaf73b6efb18ea232ae766dcb7db9fe89f8fe070d13376836d018a9fefe4ec1587c87fdd9888783ff8ab5178333e8b21c8d812ed2192470d4ee18f1e8f";
-  sha512.doc = "6e9cf169f752a71c647042762e3a3bfb0bc693b2d740331700d52f2ffeef0a0b04a9f9f1e2d39bb2a6a69fe54702a51302ac84ef0b41286410037dbda01c8079";
+  sha512.run = "bae4e9c07d17e94a661a7a168fb5777d95f7b65644308197633069ec23d0b9e10e93cd0c1e892db9d85ae54f50fa787c60d04266eee512f45c5ecb3ec68f039a";
+  sha512.doc = "5d7f2338beb7cf22ba62c2fcabec2b37900fb208726a59c25fe6b12c8605d15210a8cac8da454c8ad09090ddbeb01987aef53086cdb26628b72f32752cca1d87";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "xargs" = {
   stripPrefix = 0;
-  sha512.run = "cf18d00693709fa78ca5e64458eb177d6eee678229e9b6892228f98578f4a050d3c1cbf9115b6bd8de7088fd8a737cb0412943f63a6e4307481f57e9df293061";
-  sha512.doc = "e01dba16f0a7d575810a0e53ce371127f77f11a6db9705b735fafb2e372a51e03d1faa323c1f2bc6c0a73ab0749315197c18e9a66104ec702932e0a398637574";
-  sha512.source = "f04cc16636c9ba9a7ec1d8df066b8d27b27c1a9b5d36c7c15df2699e62a6714e057b6496054f66c1319b260f59d70d4562b35765e814957f0516984e569da4b0";
+  sha512.run = "43b9cc5246123ef3c424614415e04db9e7a578eef348c3d580626918a4c31ac99714cf501dd54d305ed6ab9ad7e0533bf5b39250c43ad682032dd676a12173d2";
+  sha512.doc = "387a051eb8581b51d2042bcfae2ff9af99659d664c328c6b30b3789c75fb73687c32e2037df7a345335966671a3e3267ff4b9e0eead0e5b759bd305850ef22b6";
+  sha512.source = "e4717f476260648eb66fefeeb125606c16d302bbad32c55730a0102da355d0c828b106b25391f69bb34627f56cd7659dc185bbcd36ba7f5a8f0b77a0786a7957";
   hasRunfiles = true;
   version = "1.1";
 };
 "xassoccnt" = {
   stripPrefix = 0;
-  sha512.run = "8cfbc915608dbe086fc8da62483da0f7b31b8f10bbef113b03ae13036a2233e1e4e4d5872a67662ea72de2faefbb0a7993ad69419d46a01a7ae6c4f1025238cf";
-  sha512.doc = "bb96e00b2ff53fd9a1ae6fe54c501bf3f214d701d55b29047d1ef1316d104ef1f388365913a885a8d8dde89a2fc4b003e081e8d4f2dca0e19298e0be7e3434ed";
+  sha512.run = "ba903cce2a9438c51e40d529e6b6c6993f4a2422aef2688cb9d875cc408e4423ff135afe3758bef6605eb26e1f2bf4921b652131e65bf068fcce54be3f765455";
+  sha512.doc = "5a1805d9cd838aa7369fe4ca2d10c8f46b8bf913c14d8ce8dc546d80598f455696f83825c3a1691fb5a3ad36fd68c2bcb62b6a682ba374e54071aeb3f33c7a87";
   hasRunfiles = true;
   version = "1.7";
 };
 "xbmks" = {
   stripPrefix = 0;
-  sha512.run = "37396d791674227c4e930cd83e4967ee94d0ba9d49fabb7ff1022970ced0e3fffacf621bbaf56cc78fdf9cb6001fba045ae91c2f1c50920e14a385879fa07b19";
-  sha512.doc = "07907497b197aa07ea5b0e2022ffa48a8e0fb124871e91fb873f3e6a133baf83fd220443dd6f2b29954a0bf3349d60e7f7c18c1803ef9de59e1e61678cabe579";
-  sha512.source = "43f221fd963ce8047c7aff6dc97c8a3392e2c2dd0bbd80a3225a084cd03aa8c1139f4714c3ffa06981bdf7aab89f849252ea0753dfe7d49a2ad5c4273eae0cec";
+  sha512.run = "c54e66e79cfb39276ab85c2e431326e071cb920483c00bfaa4dec7a431ea5c563ecf2ca6c5bbe0581f90054b75cc6f0a94d4e401863bc27790e4238a8792e1af";
+  sha512.doc = "95df04009084b9e4cffbc76b3ab6066e57ce6fbe5fcd1bf7f72970d98c0d5337523cd9a361e213365bed5addc8eefc6c01093e75b6010384d870dbb63cd05441";
+  sha512.source = "7d5ff7b0e4807fcb2544051caacdbb477fae6a46d2d9adb0af2843f8ca995f3b14d0890035d64b846c8895b1ff33702d8712a7b984ea911b93b5e4cfd5cf0823";
   hasRunfiles = true;
 };
 "xcharter" = {
   stripPrefix = 0;
-  sha512.run = "445e507b6c669a6e4e7c2eee0e903cfe8379c794ad1ee4a283cd782ea9cf7f377debd3b1d1d992df1084d745caff5c1ef59697edcfd12fec9a4bf56f8360792c";
-  sha512.doc = "27d65f05cb05fe90fc6157469d626c2790fa68d33e876676429ae08c2f5ce80092d8958c556a17dfd831be28d916607d431b5a79b2626324a58bb3aff2fd2f53";
+  sha512.run = "a6fb6ecb8e423bbd0673b285ccbf274bc727a6b37a4263c53cfa5b79e3cadba5db21b3d7d0c056f7dd9ea66688035d2885e1eb04cf9889f7884358790c631ff1";
+  sha512.doc = "8f287c75e83afcd2cc12098b7bfa3421436b95b77497ecfba9b8a102ad66c089180adb363aed1a72a76a629573c4b351d355a6022f42f49df7ec00ddf6044195";
   hasRunfiles = true;
-  version = "1.116";
+  version = "1.201";
 };
 "xcite" = {
   stripPrefix = 0;
-  sha512.run = "4cdc39cfc0e11ca50a468a3de488b4c3484b864d9721a9f179aeea18bc3f2c98b115c579630edcaeec7077991ae3976c8c3da4d810cc2e5293329f8140450a81";
-  sha512.doc = "a136d9f9aff2f605c398b6cf5ecbfffa95e4439184da6a074f21ebd1f0aeefb6a178150492ad4c174278f20006b33c2bcb0a0d15594b1a5c6a607e1d882d1c88";
-  sha512.source = "5e5990b30d3536b60a3d23b04e292cdc612bc8acf5f93693d05020272f1d13844d7c9d7f5854637ed039ce183860140f78bbd1b0c3e3795d9fb8dec52323e68f";
+  sha512.run = "f49a3b76fac8d4631cca607c354eef956e77c3cbe4e95a9104118072c5e320983bec9412dcd2400c3034a7e4fa8e463cfa53ef1de1a7c39f0d857a242671c0b5";
+  sha512.doc = "f53c69274392c42c661efa04319999aa43ad7e81f515ac6184325672f4d00d5bf8113aa68f36d4d4c24d9dad393c91c8a6dfe94b95c8edc449642db8cc43f7eb";
+  sha512.source = "6db0c3ab886a2f90dd12e75dc8ad00391e09e8815dbd291b34d1fe9144677ef7b8c4c6bdc964ade6c12bb0dfcc53e2c56fa722ef30c3aa2a303e391e26ce57db";
   hasRunfiles = true;
   version = "1.0";
 };
 "xcjk2uni" = {
   stripPrefix = 0;
-  sha512.run = "d979e307e504a56c2be3012726e2b77c3280d0074dafc4e61897160ea363b3da12899db9cdf423c33e48e0aa524f03fda9ecbc5205ac39d530de4e60bb5d5992";
-  sha512.doc = "0ed71b9cee37f5e8bc8e85c0dfabb1346107e46ca8d24016eab49893f8b2400a5b699c39685c889c94dabae38008224559acf5264d58f3a541b189e18372159a";
-  sha512.source = "e52f4b681809e3947d04b184606179025c8d3a0f53ba88a7bdb81d8ab12c27be20276a4c71e58556e1dd5d7e840e6bb1a08efc01b479f39c89d18a77e05c5a97";
+  sha512.run = "c1174c6abe555eee84d753f76608fb3fc3234c43c5666def063983653908a03b8eab3787dc9e061c0f6bf3bfae7bcda9a31ded49b039580fccb254ed33571e72";
+  sha512.doc = "30f81325aefa49fd44031ddda4e1ff30c40ccc08645671e1439df38cc4efb2a5cf4d9d50e98e970e96e3b18046e16834710d6be8fd9e5fa18cf5271bd5ae339e";
+  sha512.source = "fa719c1936e76ac3d0bb7f212a53c64962ea2c7e00546c603da218fabea566c11591af056276f6edcc68e2cb0b13ded72cf37535c4a8fc5ce53243743d6f8e0a";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "xcntperchap" = {
   stripPrefix = 0;
-  sha512.run = "4efa9ff805e4ebc03e3260ca768a665f8746d47745b88adb27a5b846d616fbf5bddb58e19742d78f48d882adfc6adae41133abf9edc6917931817bf42157559f";
-  sha512.doc = "5207a6ee25adbcad7650c15a259d10823ba611a891865a3ec7d0c064debf303b7cd279bbfed9d182e521b2941ac6af9d22648f1a7c69c504a495f1acbb207459";
+  sha512.run = "dd87c239759d04adc359a6f1dcaefd090b7cc0afaeeefd9ef71530e5933f8b174d53c8110163822150bbb722b5ed8f47eb279f2224b02aedec6137ef7edf97c5";
+  sha512.doc = "5f7554ebf4ef3d878c8a31872e6d67b6716ea7d6e5e1b38915f4b4d7c2edbc4fb1aa31d557e74cbbe792134e77a6c9cb4dd24ab0daf765659e399cc84e70d7c9";
   hasRunfiles = true;
   version = "0.5";
 };
 "xcolor" = {
   stripPrefix = 0;
-  sha512.run = "329c9baf359638e43a649c2c77449292ca6aa0440991f650e811ee6896a24b4a95769d3963ffcccb6bb11fb7b07f465eb40014b3e19394d1d97d312289d0922f";
-  sha512.doc = "fa45209e8b3eddd8ef2c053a3e6c59a05376c00b21a3e0f6d39a5f5e024db024196682d25a4e43b37a70b28f61a9bf99ba15e6cf12edbd69baaf46ac50d43299";
-  sha512.source = "0067aed0426cd3bfe37a7adc130c3927f4dee8055f24d34165af7b75a1595372385d91dc109d42a262df5876d5ac52288c5c4a0cf650b2657df260f668abe816";
+  sha512.run = "9fba18460e4488cf2836082952ffff6e5e481b964570ee515f503aed3c8790778e054919e4e24070ff6cf608e21c1356859341eae5704558b1293b01ba8c0925";
+  sha512.doc = "65f15207df8a112a4bccbac1c5259053364b52da3f0d2fdf566e1e734f61e0649ae6cc674c96f775d8c668cc6238dad2993f06b81153d38713ebf96e747e0353";
+  sha512.source = "236eb7d2f94c297e743c2b0508e55910b00495915b7910dba7e0bc107f2ee37b24e3975242bb11c2c64a99f2abc5a55bd799277b9fbcd98058ee8add005d2be7";
   hasRunfiles = true;
   version = "2.12";
 };
 "xcolor-material" = {
   stripPrefix = 0;
-  sha512.run = "fb3478ce75b3673d39e61010334da9a389d50561cfb274cbb6d06edee825d23daee4d8223dd3bdcb36ebd7f6892b39af68c575c4519e0e6129c106d1b54e73b3";
-  sha512.doc = "923420250cebec3139f95fabcce09620b25b653e3b1bfa5579196c2b067df04a3ea220eaa84677ccc3615a778678d458adb5bdb9954b3eb4ef264d2d32d03d4f";
-  sha512.source = "6f14d559ee3645820888aa664ac2e3f4bee1d0843da4fbd61c9216293ee008335e267d458f788f983ea7f7604b068c2cac18ffe91519cfc825af17c8179ef8ed";
+  sha512.run = "7f1484435458dafa2a04eeb4b5b1b89ffee9ec8c91f1d724449457b719f92db009efd6b6a580a2b0ccb8ebc66c0d1889f3ffa05104c0fba5cc9c7ee90985d2d3";
+  sha512.doc = "388f9b604291436ded0510437be93c1fdf120a91fc3ddbabb870840f2caa9e81313035ff6c9d0c00de259fa024f83399a4004e7ba512a5c3bc7920a08ff58819";
+  sha512.source = "118b21c883848b5bd6d558b5c22146fad54df5e107d0525e48df42c0bbe90b210c7ea3340fcf30b5782d251ee1caefa2aedb8a130cd01a84f4e9022a40ca6a8f";
   hasRunfiles = true;
   version = "0.1";
 };
 "xcolor-solarized" = {
   stripPrefix = 0;
-  sha512.run = "b5b93f98086aa50e2a0ec237b1910c4905fb589a7ba961ccaea6e5fe580e75cc06bae63d10ebf8e882a74bb673dc701f01253ad87706454591958ee6ab394416";
-  sha512.doc = "d106e7d163db052c5a4c3d1ceb78d408410c1528912a590e9ed4c09b0f24e0845402117a34c7fd3e3df6dff73617e524f6f17ba021aef8080036d8da20a03c14";
-  sha512.source = "566feea117d9c01025a2e1b7fdee544f662da7b6f805de233ea167fadf4f56ae273eb2db78e941f2f4a210fbac8cfee4e4e350897503484d4ff426fe0fb69ffc";
+  sha512.run = "be443123bb994c40fde0c1783c9863a2ce8b75a8e3e3d311cc34596e72f2830dc92feee9fe87638adee2e942d540424bc389460e12aa0e33fe4014b28a1d46f7";
+  sha512.doc = "a448de4d83ff30c2112c90fdf80f530b8e1ee46d6b3f574ad0933cbd415debd1f94cb1c55d6de5679d5502cf8e0e28b71cdbca803f0569422e79bf0ced384f45";
+  sha512.source = "c7f4bac922f84d2e6323f93cbbaa8ec61aa8f532383469edeb8712d4aa557a25509c4c85d160a30715af9a4077d17e6149b737c499dabb22af8a9cc398f4ec9b";
   hasRunfiles = true;
   version = "0.4";
 };
 "xcomment" = {
   stripPrefix = 0;
-  sha512.run = "8867f647e4456e28edde05baf8aaaefc56336026d6411af061b053b1b370e047173e34dead98364240b07eec2c30f5a060823bc790f33ec468b0d5599ebcb883";
-  sha512.doc = "6881b16ac0151914fa7d82409bc4f55e95e3bf93eb71523267d03713fe33b8d1870f3b0f199008db6f17297b87a912ded730f89e99671d403733e84d154aae87";
+  sha512.run = "ad19a29caaaa4da90c740a18f3b3bf63666303f8047210197e17c270082d483e33085c9249d7143ba65f343f6bf3b52c6974021f954831c5196708824e21b843";
+  sha512.doc = "d3b4d70cd88923e25595acf726afa6eea2efff4550455ed2eff48411621f212059ffedc3a82e4ac15359420a00c69b55e3625d11f8e8d4111eeb87cc3a6e8cfe";
   hasRunfiles = true;
   version = "1.3";
 };
 "xcookybooky" = {
   stripPrefix = 0;
-  sha512.run = "75f3287628f1bb47f8355c3dc52dfc7ecd82bface859837d88065334f4d5a4db1c472c68543d388684b6ad957db2c6bce2ed5511293be59c7d8a73f146c26eab";
-  sha512.doc = "c75b8792d3716c75080e2f6597d4e6cf18e77988cca5519794660fd398b04cd44fd0cedac75320c0507b435ae2d3f162cfd38ae41079e310e3a013071c1f4d26";
-  sha512.source = "47aad6f64e15e4ae7b359e8cee15389b568745bee532c97a23c245eabd1cc631702960a642f2839883b59050110365b0cadbe43822909a11830503f8f2f49544";
+  sha512.run = "3f74d540c4da5ab4f6f1b6c78f3a35172fb4f2d94b7c720fe3fd1d31e1c53db6659371da6d48adf755675af831d252178b96ba57a1f0c0319459f4a564897b49";
+  sha512.doc = "29d1620c7ea3d13e4fdf97454bf824fab8de6acd96661554a1f37717e4fa0dcf6df20cec580b6b25101b75d2d22080962713d05347eba4974c5cbdbca6129ec6";
+  sha512.source = "0a0d8eb171bc551831f65511f74b9db402587b6bdb47dfcd3d9e31403eaf530e954c5ce0510f9fa4e850b3036bc6807339aefca9567b9fff7152c72c8332d640";
   hasRunfiles = true;
   version = "1.5";
 };
+"xcpdftips" = {
+  stripPrefix = 0;
+  sha512.run = "ccf564a59d658a4f6747a3df866d0b0a0d6dae489215b5784fbc0619a2f3f222ef348c5fb96faf192d9db7e5c63d44c5f94549cb809e89dabd06bb43d745df1d";
+  sha512.doc = "5d483b7bce276815fbb3602d4082ff9c939ae414cb2e2b03f75307c71b2b19a6adba23f609836c78859df5823f4aaad175e01b9f223326176b62a4ac9060cf02";
+  sha512.source = "d386d33f5437cd31bb8dae0ea51a22fc90353f7866544694e3c41bd2f9cb70fd734a92bd50864a0b20443bfe40f6f54cc404e503da395e928ae69fead87db771";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "xdoc" = {
   stripPrefix = 0;
-  sha512.run = "2397833bf12a53123453b96ce580bc4434eec98939b81660b020d7147aaad9b2890a0bf57749bbee601641b8fee12ccb3edb886a3b8ea39b18fa763b40f6ab9f";
-  sha512.doc = "fc9e2024ca811959e1a8f98b57e4f5a747114b92ed079fabecfb86860e2808f3ca4b7d33129c50b7fe1f230bb162069d7d2ee3a5ff798615f33c6a4f8016a417";
-  sha512.source = "da4949c2cc31092a1c6cd59ce6b0642801aae5a39c7d8a0faf9c5ff259e52cf7427a985d71725225af2fe653b7e617b103720e985311d2dde897adce0d0dfaee";
+  sha512.run = "8cee132082c70214560ca8377766f45e6f15da2af18e0e9d68205d094b2a6af4d50150bfa6d145f78d92bb95c8657ad9fab1cbb8e76b75859f44ac1039464cca";
+  sha512.doc = "cb7fc71f84f88a1035e91500e9b7ccf0c425733227e4106c7bd87eb30b25c8fdae6bce046f22e5a07ec919ee0527f264dcd826b7e6468eaf21a791e7dc0e7ab8";
+  sha512.source = "d82f9fe7cf0a2faaf0cc6a5f1f1d5916bc3eecef63e6e983f62c4b17d36b17f31251af6e704811af2094cc43fada5597b0ceb432a4b38c4b066ab041d7a5c578";
   hasRunfiles = true;
   version = "prot2.5";
 };
 "xduthesis" = {
   stripPrefix = 0;
-  sha512.run = "af0512163bc0dc196d8816245b9e77d4f9f5f84b324f457e1087467c22dfaf9c790f0e87995cad9546b950f31b2bdf690ccbe9070ac8619dfcb191d6076e2f6b";
-  sha512.doc = "9047ae71cc7edea927b46bf240909c93d6f268c568dad974e131a5c76b98b35eb45eb893358c0b94c6cf0ef5243e442ec1967352685e5c0c51d916a18cd9241b";
-  sha512.source = "8cb1c75b9e5b491fae309be42819dde6e072c459cc20dcabe734747f579bbd328d23a520953024435fae115c02f7d115747a625b8aa53527631c84e372449ae8";
+  sha512.run = "4a92d52c7ca60232849b02bd7d688f12230f858bb7559287610a4d33699158fcb3d5270a22b3abc99d89a684b81e2124602486c16f22fb434e98b54f715f592a";
+  sha512.doc = "44ec843c2a6b7827c783c076e8f02dfb697f1bf021b54be238049068f466d9969d2e0bb9efdba37623b44a564985af4256eed2b82ef35d8f7ec9798ce84abc0d";
+  sha512.source = "12a273267d7e4e82256f4aa76db77673eea0d1816691a179b8ac2af8732ef958a7142a95cd7ba8ee83cdbe2166975dfa12d3fff14607cb1fd27f48c989a5a7ba";
   hasRunfiles = true;
   version = "1.00";
 };
 "xdvi" = {
-  sha512.run = "c0c5598e3683dcf6e9eb435f7a9a6d3065c79738b697d67ddc42a8ceca56a72d94f98ff06415d5c044f971b3f4f9bc58006db0b90f67d2c6b0bb2cc3138f5f08";
-  sha512.doc = "c28f70bab7e44e3b20358beb24a420227e1cb90511619d45fd04db81a2e126452acbf2e75eeaf04bfb70c6aca8a51bc1f64594ae153124d394bd14074ea5c18f";
+  sha512.run = "9e05dcd35557d4655b8e78c8d8f64db1bd5fd37cea1dfaf163fc8ec2076d09c18f03c9fbf4314effa53048f660f86deb7adcde35b13aa7412d92f941ece0b550";
+  sha512.doc = "17ccc4f97a55f146d6aacd63e2ef3e2411aa221363f0490b484cdc88910ecd0d94bd016db18fdedc78eec4001658f25de736acbae20eaf8f95c9cd576861f015";
   hasRunfiles = true;
-  version = "22.87.03";
+  version = "22.87";
 };
 "xebaposter" = {
   stripPrefix = 0;
-  sha512.run = "75c400b4d66787272723e857046b2244990cbf3153d0a38d181dbf4b7f2600a9a4983ed67b813685967d7a7a0f665160ba5ed77468bbefee56a1af95e0eb32c6";
-  sha512.doc = "728715baeed069a5ba01dd837fea5a405db1904981e63d269fd824cca12b294de8865692a2dbe2e88caece8fc3739bb7db6c6326e5f1bf8a3cae6a585bc3e854";
+  sha512.run = "cc264905da875732a3bad46daa31a1f5595e3676ff4d5570554caea40dfd383eac8e9a05121e2211294749770e50fb4d80ca6e735421eb7ca295a10bc666ec3e";
+  sha512.doc = "9bf0315e6fa502e0de606bb16c6575997314619f10a8aba312d8062be5f1edf4ba037eff7c23948ba7800bc2abf2fa300b8609287558a0ad6c59d63095b20045";
   hasRunfiles = true;
   version = "2.51";
 };
 "xechangebar" = {
   stripPrefix = 0;
-  sha512.run = "a908453c719734e633fca6a9c7b40d8b42c1aa62428d18eb48e5cedb92bc46bbaaf717f126f35299a23a32f551ddb9058bdbbf910451abfaa465bb4ae4081665";
-  sha512.doc = "30aef39d5bdf36f98cfbecad45d604c46cbbacbfd16565805257da8a1031c65e8f29069f449bdfe9758d2ab17d4cb0d495d19c37a2e02557808718087e64f6ea";
+  sha512.run = "0521eabe4444865747291d13a8664431b64e67969276191f1389bc0c7bd7198625a352ac391cc06e926cd90535b47b8edd8ffac6f3967ade0cbfe7022409519a";
+  sha512.doc = "f2452e8d2281f4d92da80917d6883bd91318f8e4459189fdfd8e6a79269d4d2c1b16122bb42237598fec3b8d44b9cc313a4b7858895db8dc0fbc5157825f2046";
   hasRunfiles = true;
   version = "1.0";
 };
 "xecjk" = {
   stripPrefix = 0;
-  sha512.run = "ae78f7c8652f159a8ae46e4d49f4163021e7d3f19490eaf72c42d3d148e228d3ac36fbfc475d6893ca8586cc802be8a2cbc6a1597b1f92971e277aa9c9c5d5ac";
-  sha512.doc = "e4a0fc598e0afad77e54e0f621291287006381a58ef6e7d5f7f42bc3c4def72de277107dce7ac5277b8ebf3a51cfb3a023670fa36fc3849033aad10dd28d6c54";
-  sha512.source = "7ab0c4cc0247c76ed195434cb84ff7d00a713976dfd688f169b3de705c36d63daea5edd1a2b06019dcdd7f88e1569c4e0a3936e8e32043718d9332eff86b1649";
+  sha512.run = "cc7e1c47396c7b506d3f49969512bf3ec76ad330147d57c99467e57d5402bc56ceec4d5b56a4892bb6d93f27360851e84f4efa52f4b8b1b069d912d4a585b2d5";
+  sha512.doc = "a72c22f9d40ff9265f23c06d5f30cb8204b0cab5391ed9469be67adf8450a40ab52a9b65bf89dbfcca34e40d17bdadac2beee6aacb1452855044a990a1d8f472";
+  sha512.source = "684f3d76f5418ba4b840f87dfe06f365a90c5c4f141a981c0ede8e6badf98e8ee03a826bf0b41ab1df1aac6094f953696415ae51d1956ea09a59343f0f469b76";
   hasRunfiles = true;
-  version = "3.7.1";
+  version = "3.7.4";
 };
 "xecolor" = {
   stripPrefix = 0;
-  sha512.run = "a11229e257150b331438619404ae148c21ca45d54aac5720b1235eb9ca6b78660ae246ad5dafb32a92f19be69c67a0638c40fd3736e76e350d88a1e74bbebbb4";
-  sha512.doc = "3e06d4c8451620c39783475c4bdc674fcfa28c5bc7000126dc2b1c97cc3295d3bd661b7ced95c74c61950eb51acec10d7ce153d9af33fcaa654bd8fcf624e88d";
+  sha512.run = "0ab23e651b36f06256fab5acb14effc93296948aecf7c7f11c81f4db89a58bfd8e038dd857a1da3a86ab573cf0ffb1d1bc188789e0d493ab0d0c1c9d96d593f3";
+  sha512.doc = "9441eff384f57e8714cc543ade380ecc321e6c0e7dd0ae69c71337458e2607a43f793b490bfa6752c1c70bdb17be92488b89ff848ab9a3a1700907c15ed857c2";
   hasRunfiles = true;
   version = "0.1";
 };
 "xecyr" = {
-  sha512.run = "f502f7375f5a6423af8820f6c0a5d9e85ce85b5508d30ab2f2442f7bb24d108ce0b190ce7f42b47eed699f3de5f2eb426ead338b674cccaee160547e8f441c0b";
-  sha512.doc = "4d5fdda631df9683103ce264cc064d6d4adabc7827dba4ece949a10bb2d50948a5495b46091935cdf941c177542a0f9397933e86c1f1eb97fb161d03dc48f057";
+  sha512.run = "b248cfde57f5f8023df47a7e6c6260e00820baeca261a52ddcefd6a17a2e9aff63a43fc870d8be747e491193800d87440ac1167afe06bf0b15238982f62bfb76";
+  sha512.doc = "13e5bd963aaeb286498aeb631c88c3b14ac29ac740284014f11b881503d17d99b29233c86853c7691aa9752557773a8f6ec5d410cccd2d6665dd5d800f1fe2b4";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "xeindex" = {
   stripPrefix = 0;
-  sha512.run = "09ebfd24e056025fd799c025005da2d5d932cc2f1fab48201da7c9446968654943339188c1af458ad33046fa9fa63ecf6d66f6798826557781b916ef05249041";
-  sha512.doc = "922a4893a5e70a10a62e5cf0419fbc1617227acc88aa0aa9c69e1c84dcd1c67c29fbe51349cd4f66ee2424837d8248be7401d01d295247c5324e971599d4ecd6";
+  sha512.run = "bc3f399973bd8be5b83ea6da2c39d80de8f39ac6cf2d82d689c81816cad334310081f44fb4e256e442fc47ed6640c2b8ebd185e431f0d0ddec5f75f7b535283f";
+  sha512.doc = "c84682c8034c5e182bcbb2ac0411f4ba5d8065a5db1f008c6f9e7a01b94b3563c44c03fc4c1cf48b3b09d19ba93f22778d8840741737bf1a344cb0c8f66ceb49";
   hasRunfiles = true;
   version = "0.3";
 };
 "xellipsis" = {
   stripPrefix = 0;
-  sha512.run = "61b15fc6274c833c5606932fc45715f89c8f9b2ec16c8b245952dda8d7531a5cde74dc676c6a32f188a7fa2ddc30fd0feccc51a7499fa87981a55c10fa924b2d";
-  sha512.doc = "272410d8b196c60551336cd5703775fe39225a9ff51d466e861f7f06fd0b6c0a0a0306afade0a72d3d4518ce8a1fbb389d05ab244ef8b7f12320e81497e3091e";
-  sha512.source = "8ebb3c94c0fdfac250557bc16b1787f01ac6daa4f30bbcb042358652fa4f70fcdeac61504d21cce92525d5242012f980bc097c0f14ffb50edff665b611300803";
+  sha512.run = "3bff74473b4e7fdc7a349fd54e7703b77282381d9ff5eac233d5eb7cefe98f4abc5ea4fd309b8693bd7245471c565545e0ab437a5f8e5cc1b89368c914078d54";
+  sha512.doc = "20d238f8281b93643af570c3dd09a9cdf9822af0da6a9d06b3b9d09196ac4c7fcff2efa3271f763caf42e54f9c72d2087c491cacc5ea4666cef1060c12ecab3a";
+  sha512.source = "ae58f20d0aaec99bb7e56a0a5b277210d5b9efb8e2677e9e22caa08ebe9576befe19e4b7409625aee00b30cdbe1d90ae61623e86d3fcd255df96dbb7c89291c3";
   hasRunfiles = true;
   version = "2.0";
 };
 "xepersian" = {
   stripPrefix = 0;
-  sha512.run = "c6ff3edba779b9f79a9eb902b58233ec135078a796c6174e7a9877cc3f2678ae74b045ebecc5fdf2d3d5986d6950203893695238a45fb258e8cfdb88b15589ab";
-  sha512.doc = "73128984cf0e543f16502524b1332a9d591caf3bd9cc09e56a2ed4e3f4fe7b1109c6331159a081dc80625228f4fcf74317a4bf25a7f59c3ddfe995546a5aa2f3";
-  sha512.source = "0f1d00bd1d1e6e562502050c6033ad7edd76ffc7005dc9d8972a16dae68a64807bf49e5c7c02b6a483aa0cf958ff23d481da421d1c077577105b4004ea9d785e";
+  sha512.run = "dbfc141ebfe828e6d2f331cb8841f712ac3577558c028df9af819a240791c35e157f9c03dfc3cf4a6b654411485ba14afee97a0d45d2393e5067b2fe3ae556f7";
+  sha512.doc = "ae6c252024b947c9d4cb1192ca61e55aac9bac10c0c737a29794cca2d291f90d6cc56c8e52bb338b2f6f0d27d2bb335adff38d0d792aab8a6d76e1ff11344611";
+  sha512.source = "6f1fe402b7af2531d6a04ad291752058391c3f437dc3c6bf2256ebbf570bce64e6c341b369ac6d5fe024d7eb28fb31592bc2571699c651e0096b3d70a13ee6b3";
   hasRunfiles = true;
-  version = "22.5";
+  version = "22.7";
 };
 "xesearch" = {
   stripPrefix = 0;
-  sha512.run = "5b75ebac31948dab9cb6df7df31cbd29fcb223e5c5d0be907a495aac7a43669d2f86e29b295f9f488edb074681fff404cec57b2ea6805c64786333ab65a7810d";
-  sha512.doc = "8e0a8e640d746c20bce0e1103d54af502ff51f29208e4975bc4d653dff9ad4f3623245d636551faa4a3346249a7094535ab8f6f3edbb1a5c5cb941bb534c33c4";
+  sha512.run = "4c204a8f92fe9af0ef1f0da99dfb12ac8f784800f7ef673a116a5f5167556fe49584b9457bebfd07aebace44951327f8a576cdbc8091a7aec776768384c62507";
+  sha512.doc = "981e6cc62a2f50815aeb875c46ab2ac83510ea535953629755700650831500410650b66ba070d8b5ddc494792e782fb75f266ffe0fb868318a4782b2f8d701f9";
   hasRunfiles = true;
+  version = "0.2";
 };
 "xespotcolor" = {
   stripPrefix = 0;
-  sha512.run = "f918440fe86ed958cc7657cf9cf774626bb1d3da91ccc10398514e94558315bd55fab349df4901f486651d82d9fc03b851ceabcea344cd2c480447d5c7c45a03";
-  sha512.doc = "5904aeeb570d9de8825ee10981c7db17c18c640c6ad8a69fa1961ddeed354762b5dcaeb9ad16e5741a4a45fc85e9679055f51321c316aa3b962a791f7c4db184";
-  sha512.source = "444cf69f33f04a23f0415afa7885778b06601373d96b3a8fce22988be08d3efd3a39ceb49ced3b2c81a61f4aa60621156406e11ad4751661a1e4ef20b38abc85";
+  sha512.run = "7f4a111897f53b003473a40db9e779ed22215eb61e7485a1596bc215e6057d065d158887e1c93dc4e81b04ef1f8815044ce61daf406b62bb77ed57df8f13a70e";
+  sha512.doc = "e1d2f3c52b95ef065e0d2ce93871278b8038b1bfe86700609e1197715dad91be572cf00a4391cdc4535672897d0ec52a09bdce2f24496538e512f760a7a622e7";
+  sha512.source = "5727e5cf3e31db12257498b2266d13a749965e0e177c011bc379a7ea29ec5951fd223befefbcf77ff1dadaf69e31f3f4543611be8f9ac90c7acaffb9070b0b2a";
   hasRunfiles = true;
   version = "2.0a";
 };
@@ -28536,170 +29331,171 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."babel" = tl."babel";
   deps."latex-fonts" = tl."latex-fonts";
-  sha512.run = "3d80cf2ec9e810bb9c6b76cfa5044e37571070652f2853d22f087a5ac3c8e099f33a7a27cf84bfa81195982f27c9a82de6ee2b95f2d08e45303229734f33cab9";
-  sha512.doc = "57296e3f527752322c846b964f98c9760a237997b665392ceb3b33807befe3f363f3ef89a6aa8badc673b85f67e170b383344afc65066224c4dc07a206ea7842";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "3f50f001bb1388e14112ead5c47f0e22a271e91a33e73c40f5f0fb43230494a7494d868094827d0c316e76c9cbd76c5b8b53b76ea267d24118c5146fab42f70a";
+  sha512.doc = "63b2f8b1c0cc906053098c2fd5f2dfbffaecb5cf1f37ed8334b30b2cd035ff5ef12d88cb46de2c0c5ac23becdac41319325e1d56507d21c9783736f3b0601f60";
   hasRunfiles = true;
 };
 "xetex-devanagari" = {
   stripPrefix = 0;
-  sha512.run = "c25ef95bfec0a9c6c394b37959f6192d15861b75ccc9b86af0041b213640e14395de8c0b4d87cb8e5221ef56d18b0f67eb7ac1b6ed1632658938bc96b4ee77da";
-  sha512.doc = "6e2d9af2a10ac03db7f9228d2a451a6087f6c5bd3ebe7034822b875caeece8e1dabc7db4a33d2d688607c131f106198da181eb202be755950e6bead50130416a";
+  sha512.run = "96eeb5289b4b0ce252eba1daf15fbccaf2cbb2d251a85818b6dd761048532f36355619e37f1f857caf4592cbf85d112d6d48d5944c455ef36da9913529a783fc";
+  sha512.doc = "0f360c3f43c6562520b8843269068fc46ecc405cd3a4d8faecddc4f606d69cedcab28950fc1d2e11699e297fe4d70c4c3d50765a2ec30541c237914accbc7129";
   hasRunfiles = true;
   version = "0.5";
 };
 "xetex-itrans" = {
   stripPrefix = 0;
-  sha512.run = "8ca2f503c48ff5730e8ad9249a10b1c608de5100a90cbec697092a1c99d2f0226e24c9e9620f341ccc33027146c1b1246ba240a734eeb09c287acfeee7fae4a5";
-  sha512.doc = "bef0166c038dff3a78c7462e95a469be9e872b029e4dead2996bfd275050fc229c16f3fbd107ce0aad0140caf533bac433b652e5920f037ce410afd8188beceb";
+  sha512.run = "7d083e176a2786689a325c511d4e50afda5ea8c644c8288ea050db79fd248085be500ddf7a0b8ca3cef6191651669f9c48f894d16ac571096cd1658d6e6bac60";
+  sha512.doc = "795a13fced2938c1679dcafd07e445ec62db6cb014259a15d1f8d1dd68ee4cdb98c20024b1601679da5f6e8d3a27b05a1285de967067abc1fd61ee6937540449";
   hasRunfiles = true;
   version = "4.2";
 };
 "xetex-pstricks" = {
   stripPrefix = 0;
-  sha512.run = "a4e01a4bd9db6f8782f136c6d7922872880dda72a9855669c2313b209eca7b02dcb353907c5ebe0624c5543fc31b7f57de7eb8486dc0f5152a8f3077b4532f08";
-  sha512.doc = "31382f44509d41c2916f03528fcb22582db583a9491e6d6c3aee6c72c08e27072e35ca06c00327a42604ac4f8e6d99e05b616e192907c2577b26fc3c968af51f";
+  sha512.run = "59186971a188f4541361df8fc492b3767069b3081f7052c88df5395539807970c709537b074790411dffbc871010cf4d3fbbdb6684c43007477c44be6259b64b";
+  sha512.doc = "cf71359ea6e56061848b085da9755fd3d96d2a9d30484b5d5028c7a3dfb52dfbe275c46f17016179a56f90db3b6df4453cbf3a990a709e59503fbf1a576eaf8d";
   hasRunfiles = true;
 };
 "xetex-tibetan" = {
   stripPrefix = 0;
-  sha512.run = "5d7dd16a6691a820475e3cd56d13f35d3de0a513396a96939aaaf6824a106cd1f52b91e49fdda14b1174a25eff59c6d362508d3cd444bdb5950af2a04f222958";
-  sha512.doc = "a185f02a82a11ad5bdfd9de7f8714f4a19cbe455844afde16e8daeeab8470977ee3759eb71ad8c4de7cc7c098b1a8ba5af6f4c69bafa178b650795edd7368fd0";
+  sha512.run = "de7d2f875416336f25e8a14f8c743aef87017cc0aeb30b5c6aa9e1bdf044d71d3c9e9a28d52ccbe7fbd2099ca9e47938310dc3311e46399027aa822b76ff90c9";
+  sha512.doc = "0bba33024862284354416e55f2f718f3f3220e4a853c68bd6386c013702aa07a3142864168f6d136bb351044dd9ae8b59754cc2a0181a358fe1baad49106d504";
   hasRunfiles = true;
   version = "0.1";
 };
 "xetexconfig" = {
   stripPrefix = 0;
-  sha512.run = "83e5b131704a05544330ea1806ea4269a500357838f88f99b6a71a65acc8714719550b5159f1e1fb8a114c37e038312ed21df18d74245b2c3e4f35a4f6dd2477";
+  sha512.run = "62b130d16ac01845df5acb1a10e487408208b0c4369d58892a83a42609b3dc92589195540154d1e07a9cb528e8e4ca65009dfef236efd53b9cfbce0a942c5b01";
   hasRunfiles = true;
 };
 "xetexfontinfo" = {
   stripPrefix = 0;
-  sha512.run = "30f2828c44acea2929482929ed765eca04f5025de00fb2d1ed4a7f909f974e5f077bbd6eddc932202514999ebf857e8a2b184b9b83c4964a06ec472496b180cb";
-  sha512.doc = "be5db6eb188d912e776aedc35078fb832c41de9a34093247693f199dc63c89b323705a66c0573a89e5218aa227edbc104301f15a636773fc10e701d40e27c6b1";
+  sha512.run = "8099f45c704ea74e5bbd90b1817c3ad06cffe3d6da0a997f8471e72cff364d346a3cc2e6f156b51bf7bc3ba149e5c755423418d58be89e1872f84db9c1eef039";
+  sha512.doc = "a5a9b085e5dac02d75b83c7063fe653724367ce203c20832e2ef6b11db10e31bcb90745a7b7d65427a33cb018d68afdd4acf9f92c907f91904188ad60f2e1460";
   hasRunfiles = true;
 };
 "xetexko" = {
   stripPrefix = 0;
-  sha512.run = "1455e0374a3fef0b226b4a3bc78a9d5d6ffad5e2894a6e0666a2f7727b59484d622cbd32731447975d18927b136accb6ef701080ee89473bb9c31834ae99c2a8";
-  sha512.doc = "a6022a7b410c99c8077118e8725295403e52a85ce73a7aa11d85b100605dc234dfc864c3f0330b3f65688229e8c99b7f85c09946bb15f6604c0776f12dd4f692";
+  sha512.run = "20c52e861ec9f38df4a7ca0402ca6817e80ee3788f40fdf9ac24c61aca3d38b02d6f6d3cca1c8c547088c1ba9a6b55b5b5a75be5dc98e707b33cb2ed900f968a";
+  sha512.doc = "820c0de971caf668a9fbe01613a0b82ae1620e3199593a29bf2e7992607a27052083b33c1359019c8f026b4295bebf01ddcf840ab8f4eb3ac5878bff97b8e578";
   hasRunfiles = true;
   version = "2.21";
 };
 "xetexref" = {
   stripPrefix = 0;
-  sha512.run = "9ca840c6927571301a438c6a368bd26b72c42b052e0d7a786d4c53dbeaf4b69d1082311cc5c1695e7836803f5019ca0b5c6da3e3bdb2ad5208faa1f65eec62ca";
-  sha512.doc = "0ffd398c4330b41d30e7e9278c1dfd9086bf12e132e9e03955958bcd1c514331e4792a1127c18fbcdfd70fc8c04ae9afebe024027a4efb9d2e22f4b9fda4c771";
+  sha512.run = "d7c7d2a404de1fd609f172dc0f8173cfb6a255a220700cb4d8659002e2793a01e43caa7bb483fa343a85a84ba545edd7e7c985b92045855285f1704eafb20df1";
+  sha512.doc = "818383480f2e20d7e00a8ad77423e9326cdd130ec1d1dba0dcb536fd13e7e287b4e8a67460eb510ed786b3d1e7f65f92c1627cdec94860ba0622ee2b92c91974";
 };
 "xevlna" = {
   stripPrefix = 0;
-  sha512.run = "3c7fdbf1d3cbd8307dadb6c777cf1c85463325d781005c098f8192e3163fe7f64548b5c4027e51534a4d4db05d58d46ba2e4c4e9a91f23144514db144a35a8a3";
-  sha512.doc = "22abee47faa73d45d4c491ced84352b756e1493a19099dcab08e10c39292ca044ae351d0c20db7c51fd7ac2e6af9bbb1ac76d304d1f5c87a09e2728dc62eabdd";
+  sha512.run = "69c80d5243a4af96f2dd8092926d2766bad5d6beaeff94d6aa2f184a68a45fa50bb3abb91a4652d8c5e5617073aee9caddeeb73fd5399965f477be7075b7ca01";
+  sha512.doc = "d0d033b646314eb250b245575ea2361b6c12f13eefab071c2b9f91524b08bfceb9fec197c3fa5f61e3ed19caaf4198e69ce1305bf1eb2daf1db6e30365eeac48";
   hasRunfiles = true;
   version = "1.1";
 };
 "xfakebold" = {
   stripPrefix = 0;
-  sha512.run = "5280f916a16e48fb85751eb3b074a2890790d23d775dc0c3276107bab9e2015027c2b9fb8d63e7f6570029ac3f7fc1c2f7da05bb0b32b9891ad68cb04e123ef3";
-  sha512.doc = "8eaac6452c8210076e9c4c5957b6d3f9ccea469d5e08f616c7bc9547d0ffb98fa9e724a1a99e15e78b230683b89b5132959156c80202d8adc43741179e632ab1";
+  sha512.run = "d25ed6743f9fa372d6403c39c7f8f0bbd772a3e915565f9b610d35053c2387338e19a7edf1f2e813cf808899cf59deeaa54e6ca9b4aacc767c28fff069993f16";
+  sha512.doc = "6cbf7313a17b16c2779b652a7a1a1891e801fface6da4d864aa2a1fd8303a80be493bdc6cea9cb753f8784359a7214b514335d70ada90e5563d8017371153dc1";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "xfor" = {
   stripPrefix = 0;
-  sha512.run = "83cce9cd64407a3c2d7a6a9828b49ead14f211a30a1a76174097761ae3352acfa65f4d08fe4c4c1b5cf70875c83b28a8a3b174cbd2e9f9f83b109cbdac23f61d";
-  sha512.doc = "28c8480e8ec4a8dd4704dc7cf08c18aa6802825c0ec99ad3d5f9e72f7016f8857b8d384ce129f97470259072da57b201e7ae079aad0c640d7a9b69041a48d922";
-  sha512.source = "e59c4e0097a3fad651117c7a7d18d71efe08d2136db3aa88b8275fca28666b7e2de77c93b1922da8ee505bef3906cd5be9da16a9effb6626a8439f4b16106aea";
+  sha512.run = "6e3ebe83dc39a87aa86d5f173f56893ab1678253dc18dedf16c5d4a2df864e21b9b6e84c6bda56e2c624106efb2f73c110964948e4d553848bbebae87f05bff8";
+  sha512.doc = "e75b3d57c09e1580282f4002b684645aa21aeed4f90626b7e439f30dd79edec9c6f23492eef83b67e9ccb885c001caca6201d43b5182632a5b38ba5f67488b52";
+  sha512.source = "508dd3c696da5287cee35fbeca12aa60667908f1f456a9d1333197e76b707902d281e83146b81e0a095c168054ec96013074f5b0bc236e35cb17732f4158e2ae";
   hasRunfiles = true;
   version = "1.05";
 };
 "xgreek" = {
   stripPrefix = 0;
-  sha512.run = "7d65570a4fdf1d26ae08ef1142fb0a1d5912e4c72db04784727ab292523bb1f5156186ab1993cd0f905b68c2ba9186e7bd634c0655d07169f34f4a2734e3acee";
-  sha512.doc = "05f2941ae636fbe90a5f76b56daaad04235ee4bf86d07f88ad1398f5571da2500ce0bc43fa97cec0a559198acb1e337702435fbe69b4975bc411ce6dfb4cfc8c";
-  sha512.source = "9b2f9873792d64bffad2de4236d6adf007a676d428186d55323eba8621b2bebdae7efd420cb20f8e998926cc894eeeeba41cc8050653fde68002edede21e2f9b";
+  sha512.run = "1f2dfaeb88040a1b58b60c0ccb84e7417d4211491d34c17c9302b7cf388775ed729f9135b76e43ea276a50a665efeaf19884535c187bc1c0cd931c2e79b8aa19";
+  sha512.doc = "8258ef4bca146a2ea8f42a235f151924156f116d2d3feb4d1974da1b1afd395858dd5d53d2343d748f0d60afffc8967e9f316026e07bdc2215d145334ec90e66";
+  sha512.source = "a982e91c9fd68b583ed3d28c841e91e45ba83a9b961cf710cea2a025c69f3e4c98124eb3d5ef45062347ae8b48c6ad54ef5c7631fffa1be5cb9705842ca23987";
   hasRunfiles = true;
   version = "3.0.1";
 };
 "xhfill" = {
   stripPrefix = 0;
-  sha512.run = "a77b74deab39670366a61c34d9c10adb6303a1f84802764c14d633a8deee6bfe09cc1fc5c04e50d46243ef07326bef76e767f3968df17eab70111f292a7b1cec";
-  sha512.doc = "f8cb4572154fc26d0c4e08dd9dd59055b1fc7937a1bb0622e1724a6e9bd6dd20a7fadff3477bd47a186b26ccf3886ee8d38af5e4c48af5d83a15066bbfee3769";
+  sha512.run = "cc0ea9e9d40a590444801359c455716856c807eb429aa01b460fd7566797490932bd3566a5c6f95bd6723e0b05bde1aa632b83383c8bcdeba8a455cb84ea9f1b";
+  sha512.doc = "027287d941c4576d7f55a3d618e13cde5348ac072f3e546dac6f8a8814efb982f9cd0c4162866403f946d07ecba0ea8cc15543cafbdf9008d60b78d0ea3d26fd";
   hasRunfiles = true;
   version = "1.01";
 };
 "xifthen" = {
   stripPrefix = 0;
-  sha512.run = "e66387225b3103fab548c875e35f631d7b06a2a9cad9e89f8c3cf5876036425b26e5427e0674e01e26691ea3207a1f835da88b22b063dba2a45d003845a03f24";
-  sha512.doc = "376e73b6b656f5d9665b1dc30d685a2d5b4bd7ebab7b546be56171bb11195a37adefbb1594837ed216df2e4d084e89fa2a32d5507ee80ddb5de430f383c414bf";
+  sha512.run = "21c5882ffbde05c50a6536fbf19f812a3ce6381f565227f61c8062281a2472a105bf6223cdc03adebf275fa23dbc1ebbb967349c715f20d1b516f100f820af3e";
+  sha512.doc = "52ffddbfb4d0d579849b7a89d30bebe9f1d511751c89012712a8ef73ae3f4eb8799ef9b3755dc957c47fd874f1ce76b3ed54591d59f7e4d9e1851c50aff3dd4b";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "xii" = {
   stripPrefix = 0;
-  sha512.run = "9d119e156c72756996a5a79c0839ea70d12ef7f9e161bd918bae8da51a64bc052f292a9c449b51cb3219536f695dcf3b65ca0c6abc192d59d19561569ed09117";
-  sha512.doc = "0acb0cedb2fc055085d482fd716526cd763c5117befd5865fa0be675d7457e19711016f4b4102370f40de1c46bb249afc41b0aed74156d4c05e503bc12aab598";
+  sha512.run = "a5355a456005e09eac4135735973a14a6add3a31639fcea441d8d6a7c06e7a7efbfc1470d485ab317fa193897abc2d9edeccadd19239944014b7fccecdda52a3";
+  sha512.doc = "c9b348da09c3a9c1522eb7713a17a58b3eabf4ff8ed52e8d14dc9eeff528ed93af505b5e3cb59c1af4c2ce999c6c1d98f66d026a6ab3d7a09778230286059d84";
 };
 "xii-lat" = {
   stripPrefix = 0;
-  sha512.run = "31d023dd7322dc0143775391ab2250e98ca543e48e77d410d5512c4761dea79c18f2f65f21dce06dc69d9e99186e2991114d554873085b98bce4cd411f292d63";
-  sha512.doc = "1749bf5354cb5583bd9cc75b5524df67f217c01cd12390c3f116096af8a9a9fd1b34e1794dcb581c3511408bea3778429bfc57e2385ac8a7471fc371c48877ea";
+  sha512.run = "e4538ac31b6508371ee156168d4da71644a65297b91be7f070291f35563a45a1ee5a528d25585bc23a4690e8fc5c6ad04bfc829de4e95f49468a5852fac9e822";
+  sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  sha512.run = "ce68b3a53374c9c22e11ea2a6e0756c3a4ac62025a0feda4ff7d50bb0457da34e0b7c9b3bcb44fb63345998bc93d3bb11f598c4dff631cf447715a3c4e424822";
-  sha512.doc = "f3168102188fd8b5efabf68d4b8f7cf3294f29b611b5b45fca3fc0ccdc0a1dce483007330aeb12ff8ed50d6d97ec053e677abdb3eb516970bf52b9d31a67fea2";
+  sha512.run = "7e05824e42feee686c76fe1c29b3019feccd83f7d69bbbcabc835bcb94e69838d0d94c8c50d4871264bd930d0a2fbaeb6b84a26e3031bf3cc8d551698be1bc55";
+  sha512.doc = "f26541bde9d1d3440cd9d72d1e24b1d81eac37832e41cd99643449222185e214453e11f5076ee6eb2ce5d87ddd96364767dd5299191147352b1be2497d158d3f";
   hasRunfiles = true;
-  version = "0.07";
+  version = "0.16";
 };
 "xindy" = {
-  sha512.run = "f8e1e5880db961daac6e0f97aeab3f3ee643a2c50ba27def1aa94fe4938c4408622acbc34313202ae37ec0c32acefdfb06c58d4da789e08375b5b3b92eae990a";
-  sha512.doc = "7600f602f77e527e20fa3eb000c581f4b055116ba7cfc1483180aee1113a77ebe274097d09298c3c677dd5aa556d8ab3f348bfa5edd204fd7db09c21cbee1bc5";
+  sha512.run = "b9127f03d8917543f0b1caaa24344aef0356818d7414e390ad45d5de3420271a81509ded3636c3475b577d6781be6e24c94f3d444f6190bed9039dd720274787";
+  sha512.doc = "9e6c10388a7a707695e2965c3e3b851f939a68997cf880560a4a05ca3a167febeee9f1a7803cff1927bf7aecf0d6baac65bc4827c367f9c2d086d17d5947d64c";
   hasRunfiles = true;
   version = "2.5.1";
 };
 "xint" = {
   stripPrefix = 0;
-  sha512.run = "79074e625e5b57daa000941a920acec424aed96bcb47e87188808b5c91eccb93320f28172c96caf1971aea59e942670467cc21fd99e49e1de7f96c66dab83940";
-  sha512.doc = "6c21fe7b66b38a8f2fd6479b27a9d4ce819ff013e3eae53a4b36e36e36c0b41bf5aecebeb762479447d022135a99708e02bbc90eeadbbd0f3ef4f728592111a6";
-  sha512.source = "bc6f9586e555e52eabed1e7d9f7e77dfaaa5ac7659c3b5bb464c886cd747fcad4cc94a7d24ac6b6aeb36e7ebba4a5005b021ab6b77f893e765ae115eb5fb60c9";
+  sha512.run = "ec3264d51164642c9054b98026b7da7e06b0a42dbca8736315535326e3d478ca8fa09eabb62c4ad7bf8be374897efd0331b2371df22260220b65929ee952f852";
+  sha512.doc = "30823666c424eb695dd1371d6f14e5c0ac84c0c1825939b8c1bcc0f32ce8329496276263358cad91f615a934f82f1fb30f4c04cbaffd107fd145b648dcc45b3b";
+  sha512.source = "f2c10492bb960b84c293a6970a8a8c6fd7699d73ec023b963aaea075b62e072377aaef5750c94b55ef747046a3f3683930607df2a334674a2063773141a1dc61";
   hasRunfiles = true;
-  version = "1.3d";
+  version = "1.3f";
 };
 "xits" = {
   stripPrefix = 0;
-  sha512.run = "e25c3e55978025b3f2426c51b9a656c584bb89362c514c936391215da7e87e44c6e979bcc393160bb21062487a348c616422be571349afe4f66b7fea23f8b058";
-  sha512.doc = "dbb1cdfd76e36758d3730a5753ce95ef0f2547ffb98cfeac211a857d8d0ac4a384b015d587eec080d520272863bdc05a8686214771eaeaa8a545f2df6ba56b1c";
+  sha512.run = "f78a9244a0dc31a9a69d920d6228b8dd3b398abd57fdac2e21de1154c93bdf7abaac806df1a76d2ff8994c9d52f17e5803bdea7c43f0e13480301ce136c2a0a9";
+  sha512.doc = "4a8fe4842cdf000083352423735d7f34b6231472dd42a3108c324775ec97fee3f5ef457625f44ea0445c9c34e6f903e2af96c7a33ff3787069d77a4ebe70e145";
   hasRunfiles = true;
-  version = "1.200.1";
+  version = "1.301";
 };
 "xkeyval" = {
   stripPrefix = 0;
-  sha512.run = "870a4e05d6ea23e68e148e23ce04edc9042d153d7a21567a2f1b83c303a0b9a180756622839538d39f38b5c00c78c7566a1b086d003176d6898988a024ea0b7f";
-  sha512.doc = "66671bdb1391c25f0628d71ab9e67ff0afb3a3df8802d12ef75d0d64cf541016847b496a6607f5d2e6851564fda8541f2dc71b35219a495d826934d56a550bc7";
-  sha512.source = "6bbb762cdb639cf2ada621a9a216031da7b41f023c474a453fc69a38a7a28aa1eb9cda0a5db480fec0347aab38b5b83c63ee7349ea14dbfac8672b1e8830ee4e";
+  sha512.run = "5d49a32326057d18ebb2bf25d29e06362c23d9a2f9df5058457fd84c9faebb545316c502a7baa19073abdd661e9497255cbcb938684dd006b0c10ba7c957c627";
+  sha512.doc = "a2c51df068c738d598c472143af901392d181db37bb416a2e406ad1d65c6679e428efc1281256edcbd04bf6a64ffd23dd568bed007ea278362ae7378f5371a03";
+  sha512.source = "6764eee7ff0c7649a4f6b809753134dd047ab6bfc3ba1bf16e5ae0fef2df0f3b40cd83b662cde002954ce705e8f8ee5950da36b38b2ee6533e6b089e3a32bf20";
   hasRunfiles = true;
   version = "2.7a";
 };
 "xlop" = {
   stripPrefix = 0;
-  sha512.run = "0893b45c73c9e7d5e5fa371218c83fad04dfde1d172e26b718d09400b7eb70027ba86b34d840f7007ad1a30a75b7b19af00ffc879904dd6de111c3f23ab695a9";
-  sha512.doc = "6b6dafa739ce5b7f15749372893373bb9e5cf3f6848f0158bf6255cb1a4ac6be11bea574af46b8e07c0afa3d96bf0957e242d5c0c52fa5324d78515db4d47ceb";
-  sha512.source = "4e767c58e878d5642896532313b4e6be598b983981cce52fc0ed5f12289f346030ff09e542d879e01fdcbd529aa449ca59d328c10830caace1e01eaf1019c01d";
+  sha512.run = "74f6ec3dfe32715ebe0bc0cbd3181dbc4e8384be19f2f7849333c21398fbb3a43d4e3385c8eb1dc81688bdde44072796cb1210402cdfa7522fd5a9052173004b";
+  sha512.doc = "792a49ef02b67b0db85c827c52ea644235bb2d8c8d8c8c9c4e5c36d1003ab643906e7bad13ddc505e884abecbba97d495ae8d93d4a958c5ff9ce10888c29ae6a";
+  sha512.source = "e9ffcbc786fb8a5f697f23d6e229afbc39dbd9e72bf5d6ec81c396d6b8f62208004475c712301b203e4baef70d1b45cf1a5a41d86997cbfd794a68c8b2020d00";
   hasRunfiles = true;
   version = "0.26";
 };
 "xltabular" = {
   stripPrefix = 0;
-  sha512.run = "38fd6c4aa54459b0baa754be524625bc7ebde3537637daf598938085f865175b737c79bdcff531c41b7487c23b5bea4db756df54f1b7090c104497cacedfa0ef";
-  sha512.doc = "4f46e56b384cc00fafa94d191b0c3296b5c2104086455400497b50c29632426997e3616a2b76cf446c4813d2449815aa20c9b3b8a1ddfa5e541ff7a33d4b1901";
+  sha512.run = "57f734e3715107169b53c017e9524c1cd4f29a120e6f6aab7e50e380216ca2f841fb0aa5e3d5fe016a061b87d64eae4714f35dcda8ccb4b2c73ec4d5727a877e";
+  sha512.doc = "fb9567b70272ea7f49d6923a19748a1cc53615f45b56b2b573304c6cfa334f0dcf6aa1fc89a3236d814693332fa3cc71798d548323ec2b1c2bf34071ebd7fd19";
   hasRunfiles = true;
   version = "0.2b";
 };
 "xltxtra" = {
   stripPrefix = 0;
   deps."metalogo" = tl."metalogo";
-  sha512.run = "c3626a23aa89a5f8c915deb8a5d9dffd2288d6a9a5fadf305c1749ef7daf5043407bb1967ae0d68b70e782a93a1d37342a7d6a28706873518303099758e58269";
-  sha512.doc = "946ca43fa17d7ccaba484bccbf4b8a8b6959c9db752d64d37af1dbe7e5ec5928ea22acf69f852d6ba10fdaa8dea582abe68b38b7047f432e06f86e943e64368f";
-  sha512.source = "627115948630eb7d15ae7b917f08ee538f75572d24f52af401190e80d4c175793bfa30f716cd85cdb1ef474107deda0844bb00330019f142e844bd7b604629e6";
+  sha512.run = "decef1877478b8acd8a7a10abca00773bbae707dc47921adbf9e077c67fe186e8a90e5c9f35e8e8c173d93cbe799ba994f53d60e05eff4dde09525375d4e6bf3";
+  sha512.doc = "2f2ded483dee14a97d0e5f673e38864bfef93c41e0c694cd5435d37417f145e472b13c5256a7bde48c8f4439077f4055676a295ab410a7d6ecd4598955c5ff50";
+  sha512.source = "50790bef953636876456586b3908b15f914803fd87ff8c3cf4be576bf9930c2f450c99b60d390508d35d534e5d9bff0cd1b02fbe31bb29444207fff3868ccb1d";
   hasRunfiles = true;
   version = "0.7";
 };
@@ -28715,431 +29511,446 @@ tl: { # no indentation
   deps."latex-fonts" = tl."latex-fonts";
   deps."latexconfig" = tl."latexconfig";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "ad9bfa7f05e61303525286de0a5530adef0c67ab6a6766aae52733627cb0f6dd873530175fd52b0c0ad9f951e4ce4ff8c4ca1ab8e61e836020cc9d2f7d440976";
-  sha512.doc = "bfe9d25f615402a8de874d3985c4cfc052e3efd5b43d43d755afe9d4610d6031a21dfcabb023e81909da05b133d76a58de2de3fabcb5db53b1ea7b66cd050907";
+  sha512.run = "ff49080eda4d8f0133fd1f0b2a9be88d3017dea9faf6e2b4397b82c38424289e81b23fee7b3489b43a3741eb3218afba2c76749a2aacbc163f6891e04975ba02";
+  sha512.doc = "7c80b6fed3eb28735f19071d7fe0a61672355f6a2d2111c9f8eb8766387762b6d2cb343a5e0b601b6adde1c362c7407c9d1206e4fcc4457d5f4ca66f52d4ba3f";
   hasRunfiles = true;
   version = "0.8";
 };
 "xmltexconfig" = {
   stripPrefix = 0;
-  sha512.run = "26a268cbea2f9a6b92fa764663b9abf7313cdc0e797429d9c982dbfc5ef8b26a0134ffbd630384339f88cb5da02cb02d31966de691ca36f2ea7e108ad137bc2d";
+  sha512.run = "2620dde42acffee6561f406527794cc62d87c1104135da846b7cd3c7f4109c4d1986d562ea612f2b5246e1863eff86795c4789075f8475d45de00763cfb539fc";
   hasRunfiles = true;
 };
 "xmpincl" = {
   stripPrefix = 0;
-  sha512.run = "295bba4dfb93f0487d7cd402447afe2f8582a09b21c95ea2fd7f76e77065821a1453f11b1d5ed6fdc809b292691623bf183a6b8a590b0436b350a168e93828cb";
-  sha512.doc = "c94c016350c3fd4e4c37d61f03ff5a9c2347f52c599dd20305934141e940ae3538b0a849cc3fb8583c67c0d0cb520a69ddfb6e62d8de8905ded1f045cca1b1c7";
-  sha512.source = "677ad2a928042a9082a4b80bbb75e1d60bcabf01635a05acf54d8bcd1fef2fc741627113afddbf7ac3d472a2eb3b1d0f334cde3047702fbe2cb67acff0382ea5";
+  sha512.run = "8d9a895a1efe8ce5eac190b8242c7f3e3bff7e433e1336aa7143894fbc5691c7b4fd791bae67fcefe97d16ff131b533f8b0c629580d7b5f9420e9216e932b860";
+  sha512.doc = "2757de1bfcbfe9df02d5e667564b1a69205ab86c31f7bcc8ec3f37db0fb1a1f4bb21d7360dbfd771aeafaffa4599becc801df81e339b6f49adafeb38bc1ff5af";
+  sha512.source = "92cdd556f60d8a4186f64800ef5c8a27e331e394ac0120d3e07065688d454ea821839eaaf167bb15980223552160e161cb3c559feffbc4d6657af1019f7c14a2";
   hasRunfiles = true;
   version = "2.2";
 };
 "xnewcommand" = {
   stripPrefix = 0;
-  sha512.run = "22dfc77201819efacf8ef0041a61ee7119468d1ce2c83b5733f16dcd6e2f8191012406941032307dbf4b245d94c2b9909a77ce9fe9be4abe2092e93eaac97cf5";
-  sha512.doc = "510ccde6b1993b5f7e7d5b9c539780a3a1a487de88793bedd0023215b6e7e2e40c29332efafa1e3510c0a0e8a54bebc1ba8482e0a65e411ca8831003d4bea4e1";
+  sha512.run = "3296d6f9b580699e86ee01da444ec9b3cf7b76775f05529cc9c4dd931da5f887c914665651214a8107be612b18cb286ec039ad9ab3de520bd17090b38265d5c9";
+  sha512.doc = "e03b7027a3956829823e92bd4d8a3000d8f79f26558875ea3837adc9ca4a17ce75d9d4e9136d7ebda7bdc8fbbf4a1b44fc6f71d1bfad710d2e22bba8fab24292";
   hasRunfiles = true;
   version = "1.2";
 };
 "xoptarg" = {
   stripPrefix = 0;
-  sha512.run = "af0ac82f29cdc92bfec80bb4ed298287ce2e8928cde4cbbfe1942f5e8a890d3c177b7d642ad9f662cb6e255cc939f86018149a9cfe18260b4e4a847181000c0d";
-  sha512.doc = "ecc52aeaf8b602b74d412196be984c0d0d50af7c0e728ddc1268c88217b444363f3bc664e8a9146eb92ce6fb381cc6393067f7a224805e860961d6d924c13dd8";
+  sha512.run = "3ee6285ecac00a20781ad530a7ca1ef35a94efdcc31d29084e167cde75c51b4bdd644bfb5d25390c3deef44fa7b09e479b6c616169ab0bee1e83d4e37338e00d";
+  sha512.doc = "1692c6700b978cd05cde7c0d45e970a4cc8f783d53cb1e2fc57639483e728ef5dcf29bc7563c9ce42eeaba72da93b36e366876494f3680f0fd5e8eada08694bb";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpatch" = {
   stripPrefix = 0;
-  sha512.run = "bdcb85949023725eca43a1c5216a5ce99f55840debecf1ed4e083ffb1373a5f3ec25658c1269243292c6845441fd7f9b3a5f66fb0ebe73278458e20d4dd0b3aa";
-  sha512.doc = "6864b64f2baafdb0076768b575c1e2ad38a3c8b344efca1ef83b1b0f2b276b37c712d6a90ae2ee16c64d014e85f540d1fc135e6e702fa7762ea83949db07905f";
-  sha512.source = "5040c7e7180ffab4d9eb5a8c261d87864456988c803c1b6c52972c88c4cb220f6bdcdb80a0c42c56f936c74f5e2ef94e557a0e12e9757f5188fc36654eec397f";
+  sha512.run = "8f74955f059b7cc27b01772893cb28c565df3773fe308d7862f7a41bc1930ebe8712468d8e32027d82b3b4f6c1a800b007ae202d8fe672d389f40f582ccb4e70";
+  sha512.doc = "49fb3a9aa844ffe4dfc2e2adcf3ef6135302678bc423c377e171cea4ac784d9e5045e4f080aeec622e2cb5db7f706b8b5592d65e1bab60af766aa7df586979f2";
+  sha512.source = "70bdfc42f330594ad9435acf846243880c3c34cceb57708b8e61fde89e07933f2b9bd131f0ab933d5c7b1076412e150e48357f88ff67441c1e0f4e1d294dca9d";
   hasRunfiles = true;
   version = "0.2";
 };
 "xpeek" = {
   stripPrefix = 0;
-  sha512.run = "606c9fda3f29869f330bc204410ab88bfe6db6d3327cf0a534f166a2f6bbce8383f48b3b3a210faba497355ae92eec9d28851ba70d76029300a5853bd00574e3";
-  sha512.doc = "4a0094650a5bb0e959fa3f070a698bdc4af5012daea622cf1d2c86702631a7f0d02a71e9393f552fcb55f8bad2bbc5d5add97bab5f5ea839702ba57812ce977e";
-  sha512.source = "968765fcbed214b179649672f302b93f5cd12f5818323bb6556801359907bcd054606640b815ca85b47d716377f74638db9eaccf5c49703c83865cb1e51001fe";
+  sha512.run = "dc1dd0534645be0754551b2d3bc146c7e7663f7cc9f2daf40b13a383e13883d25ba46f320317d4e9f251594dccf3a880f5e123683f302638eb3b37018b369ce4";
+  sha512.doc = "047080eda80f9134b98196bf8a06e446ef856028aaa0f936da16db7f63be144b404708045d2a49c5bdb70b7a6f0b6b505697e95a5ff8b98b5b4f1ee8b2949367";
+  sha512.source = "a7e8c3f165314ab79f8702b8ccc82200398e5d5798815c02a7ae3ea0d70dd521d534c50e93b822e41042eb6a0faea07d5f129f05f427e47c2abcaff3adbba459";
   hasRunfiles = true;
   version = "0.2";
 };
 "xpiano" = {
   stripPrefix = 0;
-  sha512.run = "cfefa5bf086110f80720a6884ed03e35dee223391b18563390a5844f3dd1bd38daadc7802fdca95affe54594137ac87dbba1eb8067dc7e1d522f5ebfe0f3bcdb";
-  sha512.doc = "72be73a4847da5721c2f3499655f3005e2ff2376c0515f39ee3bded42b11e85677ccb8544fcd4c482e52ada35d2b341d84934ab4393cda831546162aa2e990c1";
-  sha512.source = "fa7bd44ca647a96b9246468483440dba87e51bb2fb3cc86a984eeb768d407546934ea12f96bdcc4c782d76c260d94faa66e4b2fe8327d3837078c3168556bc62";
+  sha512.run = "3554bd514e1108649bc98d38dc84951edf17533758325d46726f55d9909d1a3747024aeff62842dc6eb1b5fc760c41a452e207b156bdee06468e9d7732e223b6";
+  sha512.doc = "257c484983eed03adc77b1776c9207ff89b4152b817aa09fb57cb41d8f6494af0db191c61b954a7f2a605cb8695fdd0562cbab1e0c48f85329c3ad61fef0e62d";
+  sha512.source = "b52814268736b61fe3f417f410e4b29f778b6492f838d16894d33db85645799d52d3d744f10b429e68e315a142964b2f5ff57f15e9c4ee7e93a58dbd4b0fa2e2";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpicture" = {
   stripPrefix = 0;
-  sha512.run = "93c8c9a572407f50a2a9067ba625bb1245b95ca3ab013f6f19e6ae51648fb0b62e0517e01f642acd0cbba147ff40f47438e1f90040595877824d037caec3847c";
-  sha512.doc = "05f796dd3924554457db2772e5b6612bd1f3ec35e66b28974d650edd0bd078c7d636df076b98f82f48f012ad6537f1320da4c144a0eb2bfa99825daa51decbce";
-  sha512.source = "029dc5c127f2249f4b262b753544bf91007de53ccb7a5136f0524bb6a8765224ed39fa4b7fc5bf097fa3848d1a3d632688f2c366b758c0b4f504d2beb40207a6";
+  sha512.run = "1915b8b9acb3db8d4f8ac4fbc0baab55d6b8352288852f20d066a3f0ce4f7dd0cd4d2d70ae2d2e29aadae0bdb272fcb237146379313b2900accaab2bc10ceb79";
+  sha512.doc = "dafacd0f38ca6a248f701cf48381ce0a3816a693150118ab6a7e18f818814a1b54435820dc8c11135146cfde3d40a08a0f2cd78bc54a9ddb450bb5c848b99e84";
+  sha512.source = "e49b8512ef83ec38f20dafa1e5f191cfd4c2bbcc62016f209be06f969cccdf3cec9545a24756710c767946f8c532074d53de8a6bacd6c565fdf49c579b0cb6c7";
   hasRunfiles = true;
   version = "1.2a";
 };
 "xpinyin" = {
   stripPrefix = 0;
-  sha512.run = "2b86ba27690c215f9bfe1b4c464e7fde3fbe4715f4e671bbd194f4f2fa223edaaa5e910ae624fd9bdce9bab347317238080b6e0c2e69e7c5fd8b5365d46beb19";
-  sha512.doc = "37276b25a2365c6ccd1178ffa3f4cfddfcebb9af67f83b10a1a501394718f6014afd896ae3ca928203e50413e5f02e63c511e7880e9420466b2ca86727cd2159";
-  sha512.source = "e472f33155a31c3a423afe0a88e9e688c66e5191e14d2111c612bf0713c28833f70b0ec40d437f9d13bb3e0bbdfc625afd536f8505ce52235bbabe518c867f00";
+  sha512.run = "7235eeaf6b0218d4ee87a07b8b16034cbd40ccdf77c96baba14d4ab8a6bd5de78c5f5ab68891a6a91fe4bd0a77de146c357f4e4af4ed443ca8a38526f4f53240";
+  sha512.doc = "b20233a1ff1f2f1f1474e5bcf81fab3747c26a3312d91297c73d1e57ebafd9459727c91da025b5cb4c1875ba5876873eb8099ad4012d85a972dc4fd1ea90e7e8";
+  sha512.source = "47dc1053cdbb87ed09e2bdd6c6fe447c011c1c2af4cfc8a1108431aefc3f5dca069a8bc60b0e97c0775a1ad1cfb54999a69ceee7f85fb493c2e8b0f6d634486e";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "xprintlen" = {
   stripPrefix = 0;
-  sha512.run = "f1bf6eb609e15cc02d382aabcd6c1acf7d9d2fe92777858a8727a9f55fc68717694846590d4f1b8d873b470c3933c6db7b36ec894ed1fcfdcf9cb24844a9d838";
-  sha512.doc = "d137770c9f83721d5d113b8f5bc5d91758ecbb1af2f11b18565130ff0fcbd3dc370b35facdd026af597e2181248292650febdbb2e80ecf59702c7f680c29ebbc";
+  sha512.run = "dc446adfe453430d5e2c9155acaad26e258a36319490a5158f0874292e9e68c1eb61ba57e361b5ff8bfff84c3b4a359709525f42599b95e9ba19ce9e28f88423";
+  sha512.doc = "5905ee8d3589b7d75388e6e2355639435f3a72fa99abc17118068069715ba7220fa3d69f58e046d7972814bfa3834222858bc8933562ac91f83ea250f0952d82";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpunctuate" = {
   stripPrefix = 0;
-  sha512.run = "96e227a1e184c2169e947af9ca4f7510640b3ab9f987f4f91ec3d15896bab29060087b355ac7cb3d7eb0c8773a0ba4f3119c80e70eb826e6a6b4ae1203b3b94e";
-  sha512.doc = "6906568c6c7600eeeeb99706e0735f5e8a5e8c469a0008a60981494f36f830bcdb9fc2a826f52421ea4f2b8842526a487e97b6741a3a9319e96a546320d83b17";
-  sha512.source = "51e4bba0ce5d5fd596be625120ba84a161c0488777001e2f4dc3ba4a296dfb944cd8e571001ed51e03e4f60c1bd38d5d03e3ae517b76d65d7f57bc3df0418604";
+  sha512.run = "4b69969632691a529ff0127f21a5974a509a29c047a33cdfc53d1bdef1aacee7d6ee8eeda5d185759b60b2e4dfcd0dc59948a8156767e2a7ced0256aac0697d4";
+  sha512.doc = "04a839972105943ad72b848adb44584b647a3e52842c0956489ce82496d005ce35f4b8c8e6be1337b5f65616036b58e9543e7f4796075f9828aa9220015e441f";
+  sha512.source = "02b04679b0d5ec75f2972f786293250e0115378fee96845249a221be1cbfdce9d03897f877b82950a5c80d117d4693aaa60c06d7effff9c50e63db8a6e1e49d6";
   hasRunfiles = true;
   version = "1.0";
 };
 "xq" = {
   stripPrefix = 0;
-  sha512.run = "bcaa78b9e4304d92cfdb38d956f6c43b2786afa4cd4f9a0a42ee1f01301470cf2bc2db226adea339d3207371de45a96cf501da3b81ff99d85f1625caac2ffc2b";
-  sha512.doc = "78b364c799692c6bed7a10cc53ad05ad2073b457664cd849090c998e53c5f09492595c641df83824c1e0630a678ba30eebd140bedfbf3a4c6e685dc2f9ee8b83";
+  sha512.run = "f1fc2f43099e022aaac631d4ccd1e5f5b9a9f23db6f1c6c3adf59d47dca57c25728f81ead0ab62d07b9bea6219e3121874c55973b54e826b1a70c5e4fd47c853";
+  sha512.doc = "cbef1b95b4db328cc29d5f4fef544459b893cea82838e9e1f2faba00dd8fc78bd12d36931dba4ebe76cbe985879c30b8606df1f2091fc8d2108311350b2ea339";
   hasRunfiles = true;
   version = "0.4";
 };
 "xsavebox" = {
   stripPrefix = 0;
-  sha512.run = "bf374d7f9ad1b305ebcc245a5dd9c628f2c94914a6d9b9344686eec0a682b57cb028d844fd00a77415a5949e6da89f672df8e841ad3539337d9c85ebd0f3657c";
-  sha512.doc = "d4fdcfadfb882c6382a74e1af0df86505e2ff39be2e0c64d3ec31f44e3c68f968d7c475cb6acfbbfcb35eac28661904f72b970795266ebb2f5039e66213c1c2e";
-  sha512.source = "649441960f2819110b543975cc80fdb0387466dc609b47a6c59a3262dd8808437bdf9c5ae6493ce77d29e22952270b188f51cfd5e7ad5caa184bdbe1a6c6328b";
+  sha512.run = "bd4ecfee707499f13bdeaf278c5ff67807087fdc8da3c38d135e7c0fe1a4b5482751ffece77c89c4efaf1371a08962f0d470df4998863dcf0c69219f7712adc3";
+  sha512.doc = "6e0db4e18ea4a4bf7b4fe7158b226e20c7e2f348f727f9918ba739d9fb5daf7489bdd78c237b44575123cfbcca46eb38de50c5e0f7a5c7c1d40db6cf1bc6fd4c";
+  sha512.source = "b842a4a5655c01b35557b99b136fbffb1f1ecf68157944c8b21e112aef0b59dd63db549fdde78d20dcd2b15b435c521a3a851d231795d4de02baab508744d825";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.14";
 };
 "xsim" = {
   stripPrefix = 0;
-  sha512.run = "1861dc96daf23b925ec9fc7a60123bbbb246c8ae30e312e28b0a49c23113cc6c9f7a4ddd81b0f3deea5c178de8900f55e84331cfefe87ecdea11d5899ecebc53";
-  sha512.doc = "93ebbe49300c57191a217d50df8a2efd41d5cc37d74ca728cb97e55cd24e86462f74619ab252b5829ae7b635ea5fd933ca5538ae591c3a445fc74ed6d79d4644";
+  sha512.run = "4cacf876c020262540a136554d065844a428ec754c03f2ca2784eb9e0b7815c3fef01d6ccee44e789a5115a1d563317cef3c3d80bd8b1306d9a441cf6b049581";
+  sha512.doc = "842a1fe4af1c6689be3f647d464a521a42277bac34829a483312e188656c6366493cc0e0fbb1769552a9cc8ea50ceb2c6f17adee97b264e67593ed4a71307f53";
   hasRunfiles = true;
-  version = "0.11";
+  version = "0.14";
 };
 "xskak" = {
   stripPrefix = 0;
-  sha512.run = "cc3faf88c971a023308fb4b1f23ba960e3af3e044b4ff3ac1522e4e31f8ef71932b5d9511e8ed1ab6efdfbe7bd1256a2e18baea321e89a6daf420676f425ee63";
-  sha512.doc = "bb342aaeea3950f032b3f81841a9c2174a11ad18f15a14659e40f7e0548b0c57e7efb50e7b58d224be7de4700807f5ead4524553f35615ddd7d333f92b7ea718";
-  sha512.source = "2f7d7a08e516e06c083b3ea8ae103de171701c74cda34d0fc9bb16904fb98f216a27073aa9dae7b490e6b2228d2f156bc1ed1ce3a7155acefb647ba8519716a1";
+  sha512.run = "202f61fffbf22346ff6ad6b2b8f411b2a8e4f58a9d53e5613810f2fe0b56b0c73867f0c1c293bb0c1f0edcd4ab73135ae33a953d3709d2d01060c1b638842dd4";
+  sha512.doc = "6256df468580dcee451e4a650ebab0323c92024e9bf872fd683af1f10c19221887b5bd1bed7540a517eb6716627e689759b7ceaaa2944869e18591fba5467114";
+  sha512.source = "11119e38b4f21663e36764d2b9e7da22d9493de7296590db4beefe185b2c9e89224806257d3880c78b07c3984478843b1886e37e5a33fc798920be221789de04";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "xstring" = {
   stripPrefix = 0;
-  sha512.run = "c97eb0b1f2027d07a5e78453340393ae4d8e164b02ed0f61c5dafd872a7ed86d15d31878662381eef6517c8c3a7c6ef9f7b49bb984f07fe56605fdbe8dc91056";
-  sha512.doc = "6c2ed600c6e5c734bb35b92e6ef3d6ec08919e439b9e601128555174254da1246f3d695c2d78d95aa811909859165768c49666dbbce5fd923645082719db2048";
+  sha512.run = "82254f103053d91eeea4c6230142de06138c392542cac63731c7b34fec5130984bbdebc29ac3b56998717dca11ad444c44f410215b6b89e6748029721a9daac6";
+  sha512.doc = "c0c17b82ad0d5aad95d312935e0214a7e5404a23b9a284a56ac92ec9ea936a9bfd3a68a5b01e29c131b7850a3fd3922ac87020166eaf0a7ed9d695dc80d0a931";
   hasRunfiles = true;
   version = "1.83";
 };
 "xtab" = {
   stripPrefix = 0;
-  sha512.run = "ca85c140e4c8a5ea4c6d7995ba3ab398eea8c9f9d24e0ec2d0e3a157e344ac2e64c8c9878a8498acfbb653b60bc912217257b8bd67325a1e5864c2f61fad61e9";
-  sha512.doc = "2f3d9d0e2f8ffc9dce82ce400d9556d10cea0cd1d5eb409f23c6e463ac377f0a17a4ed103e9a25606a32e07439a64635ccb7579dd5b2d4e5209051bb4054134c";
-  sha512.source = "2a9eef14c5595836b174fcdb944a434f4e1e6611bafe36f9e39f0f393e2d3a4bded7649799561ee5a31aaeaae21b6822fa3532839e456d885562d16464c88fe0";
+  sha512.run = "e308d3ae3ae32b945450b319834dfac19b6006cb0ede7f21a91999b840528927aaca7cdc330a02ebad874602d6d268fd1fe609dcb52bef2757b2e0417310e012";
+  sha512.doc = "10a158bf2d50fa89355654da36a179bbbc5d30ef3efa8a79537de66c50a892f540938cb364e45896dc079266d5e47bfc2c74b8cfe01ec1691cde34bc221e4ca2";
+  sha512.source = "0ae0bc4d96f8b7c4dd5bc62d56538ef5e8f5d8d8ecdb114759209dedc722a2aee1b646a27cff611bfd2ec9ac96f0633393cef9d3a13a6d54978740b28fcc09c6";
   hasRunfiles = true;
   version = "2.3f";
 };
 "xtuthesis" = {
   stripPrefix = 0;
-  sha512.run = "13a166e1a798d485eb40c99687e88baa7677fee87a1908c407226bdb217c949924ef477dc4cf6262d108748730f00b822da1e855f79119b8c09f792b3df9fd9a";
-  sha512.doc = "95584b648df62a481b6fb83594684a5c25634815774a953035c8af9a0ab82350718e08bb6b6d0cab05c521d3caafdd9e56dead1edcf43b03ede7ab67b7fcbf42";
+  sha512.run = "5d9081b8d197952aa5ff58b1cbd490bb529cbbc1b72956cca8dd28b1b6bc12c6248d3d04fd457349b30df7594aa1872ce9c8438feb67af1b93ff0fd33eefcb7d";
+  sha512.doc = "96e94598e3e397a9657a83496d940aa2525fdbe1ec2cf820b05e5493b1f3e1c45568e16b62c22d4ee25afe2bd0657848a433477e82cc8038895c2195139ca065";
   hasRunfiles = true;
   version = "1.0";
 };
 "xunicode" = {
   stripPrefix = 0;
   deps."tipa" = tl."tipa";
-  sha512.run = "48f64fa5f60271fae0c9b8c206338677e0bc82ae35e78e685d1f77a30604f09431a6c2afe50d8aafcef1741ecfe5446cb47851c6dd4cb11e986b60e640ea15e2";
-  sha512.doc = "7a1abf2dd807c92bb2a5354fc95d5db18a9da81ca007a285ae67f037970b718b8761a6c297bedd938ec63f2965a136076dc8b12faf6425752e321181ca4dc4b9";
+  sha512.run = "f49628013bc54e82bc38a2c749ddde9426c65716f04c5c8d8264398b9595e571d380e07c045db9e7ed5d6df7d0b7b1f8e81eaa28d6b67a6756d2c5023b731176";
+  sha512.doc = "fbd368180c97649944aa23fae4f50f8a8d1aaa776f643ba520f121b9aae196dca94c11906f9d5b2f961b6d494256329670af1f4563502b44a8fc9633e29373e0";
   hasRunfiles = true;
   version = "0.981";
 };
 "xurl" = {
   stripPrefix = 0;
-  sha512.run = "b2468b70d2b05d0352fa8e45e7debcd3a48c7d48acbf1f440e17872edce448b23ae8512f182fa15b314bb20e7930d5ac6e4869f56c53d3dbaf49e7259c5cf10d";
-  sha512.doc = "55d68a31ca318fd1def5060247a5807ce4b5dbdab19da1d0ad85988fe7c6328bee99b7a73a44b0a3c81cb107cc2abf3d40ccc2291f18778cb62749484ff4ebd7";
+  sha512.run = "aa1a45825336ed3d62aec9671c53269c3e7e506092fc62e79075ef5bfe483003c513e402e09595ecc9a2f77f637665bbeff89948b1b6c30bcde2022bb110b1f7";
+  sha512.doc = "e69e6008e98bd6de089745223e9ad9690ab29069ff5e6a7ada1bdadba24fac2e16d703ce7534c8403ba4c1a9f84fb53477a1eded5e9522f8f15f17dde463726a";
   hasRunfiles = true;
   version = "0.07";
 };
 "xwatermark" = {
   stripPrefix = 0;
-  sha512.run = "237d1c619948e93b7640a27d388111b3cb626e46e1c30224c9a08ae00179ddf4e9a36c1c9f4dc4bdab0d5ba0360ec0b849b96c8eda9f1d0bca63adaf6dba4e08";
-  sha512.doc = "c3afc4f4590e2d34fb1f8d6f6e2fe4542175566918b2113b92e12c35a3b2257194d465e4e9a3a2a67eee0d26f2d7a24da534db61e3dbc53d4f962e8dd8e353c6";
+  sha512.run = "705c9eeccda8b2475cee782f6bb167691e985324361e6dbf147ef9843489f572f2e0b9e47a9f2beb7fdce68ef12ba2bbcb2ccf23c39db489d7d4486f09ff5787";
+  sha512.doc = "70436c9927ed6c3c7604e1e70fa877b9be80287a18d9257abc85526fd756be5b0712b28b47b3271787f6ab062743964ca6eb5204005fec33c3a63d2dcab960ed";
   hasRunfiles = true;
   version = "1.5.2d";
 };
 "xyling" = {
   stripPrefix = 0;
-  sha512.run = "f088809c8a24b47273ca65190bebf554c9f2dd9a552fc0a8c80d102505acd2b963a9695c4eaccc5c1a840d246fe7764600ea85a51782198fb63dda2d9de34f12";
-  sha512.doc = "f74b23c8d4d4e1179b1d7db6fb07b8cbddb47cb528bd55af30c07f074240218135d05deaaf3379be8d61cb30a6aafdba8e756b73d5da450a15595a159f1a5010";
+  sha512.run = "5f78d2d61050d9ed84d56136fe59b4674f4e03a536015e3ebc3b9500dd8a08878164ce9fb1aa9ca9a1262a000149061f3fe22f10cfd68941316aa186b81fe923";
+  sha512.doc = "7b4ca312ea917329260eb0a19bd504ac2f3ddfb5f066806296b164fc541bfe26e6ed1c03ffac5b52af6b19fb4ba1e77b5228ac4b4db0c2ee8f2394fc0f888d09";
   hasRunfiles = true;
   version = "1.1";
 };
 "xymtex" = {
   stripPrefix = 0;
-  sha512.run = "75eb39c0a4f5d458d41f4577408abac1a286699aad1ed1baa6775b7ab91ffb1c64b50b475973436a0c08b410b594cafb1d0609a9c2cbbb31cb5b56764f2dcd62";
-  sha512.doc = "e48c57b22ee22baa32c5595010f095d35711c9bf0bd72933248d730204369e882df80a5cfabebbd19059f25c1ee3261228b293e8e8d693e4381b7a8d200bf78d";
-  sha512.source = "25342068d6c0bbb8971456388bfd89702586ebd6526015c835f5c76db7efc39e6418d40266ec78763d22d3ad4bfb4c7937ea1de95807266105036c092d57cc61";
+  sha512.run = "9f0f14d1a862622ad0ef695a58f7dab554daac8d5151193a70c94ea872d16fe8eb1a763d03b226b08583db484bf576f5a41d2070d5396ac323ed00ccb0daf5e1";
+  sha512.doc = "0e2eb5439f2e629da902e4c7d7ddd2d03bc4d654c4ee49e6b005450174acbd70760b52c9deb446ca60efe7c0389403584b86a6f9c9964cf24858b13cfccf7ed3";
+  sha512.source = "d805d6fcb72fb801001ad80fe43ee36126c0764f8baa96dff9fffcf7452bba8e5cf42cbca6a50b89f5925607c277b3fb7408f8f7e6ab087edbade0dac294252a";
   hasRunfiles = true;
   version = "5.06";
 };
 "xypic" = {
   stripPrefix = 0;
-  sha512.run = "279443d948442972a0687a57a17c336236f80629c733b4eb16a6c9e3f51507c63a92d7e91d01948ad3fd19ac62668f8552d4718cc56de182d67ccfff3643a057";
-  sha512.doc = "f5412a4855ae872c4db22f9d2d1caf45999d51ce34cc033fb15bc602d1854c792283fc968352d7ef71a7d374b1c4642e1683371b16f473f0c46cb9afab244b0d";
+  sha512.run = "5bf1323499bd801e2d5e9ca2eaaf3d7726ed6b8063dee18180eec775ea4d2f86cca8bcae262375455af64ae00951a41b34386fd90666a2a89114a2fcf23ccb7f";
+  sha512.doc = "cee264a3a8ee8f599b2310b4c9b722835a61fe8455c3f873ba91ad22ac7890cff8a1ef25f3d0b80aedd6420f31742f4e533fe20fc81dc83e4cc018684180c7ff";
   hasRunfiles = true;
   version = "3.8.9";
 };
 "xypic-tut-pt" = {
   stripPrefix = 0;
-  sha512.run = "7c95135ca19749bbdfc68a81a870fb9a385def4e634d334b486af94e65bf6a679f56c957cbf678cdb3c1cc2e40a69586325c4d4136f791ec90d728a48a85caf9";
-  sha512.doc = "076012386598121cf55b714ea791190d205880d090967bfe99cf99f46890411fb0b09626ece55838ffc3996c062e45beac179ae312798bc2c2423a4d57303502";
+  sha512.run = "291825c3461b397deb825266c7ee4316c5d04b8db1a29759378409de55c20d81552e31260468f4fa6a9a04f04705422714a8ec70a866c87fca2f4f1e189e0e4e";
+  sha512.doc = "e27dfa0b36341bcd02ba63a8b543f1a6c55c674745cc790543ea2cfded80e536e5901f184a3af62b92b4534c738a06bf4fd5cbd4dfb4da865d13991279309aac";
 };
 "xytree" = {
   stripPrefix = 0;
-  sha512.run = "cce2bbdb8d5277e0ebff99b2bbed60d0b2b8d6377f160f9441c611fcfc1cc730ed50a427e715b9af30cbcc638a285169d1aeb0738b99255ec36974eb1429bf6e";
-  sha512.doc = "531a441471dfe20645408c8899fb35188e41e1292bd2c149e2901d61749a8b878d399899b9f4c9b5392bf3db6d4de4ea4e73e136e9d110f5e52cb09900a07b40";
+  sha512.run = "fdabfc451679f7ef3752db2537a7dd51e9c0fd34337e429f24e44728ec1ee0a9b97fc2f176948440a5c1cda609182f60d4c564ddcd76c70e84410cc6a0b1f371";
+  sha512.doc = "0e2b08c8db25a5bd992c8aa843d8f6fb2e0efb3c11ea9dd0ac69106cd71f58996f73786513e0ff13bfb54932f468297edbb981e3efccfec2652f80bb02fc6ba7";
   hasRunfiles = true;
   version = "1.5";
 };
 "yafoot" = {
   stripPrefix = 0;
-  sha512.run = "d2905219906aab9a70ba0193c074bfeee15cc56188d8f5ebcdbf7ca249a6de3c2d3a1c166b456edc12d549c47d2b4fea70374b39cacc786e73e0eac54bc893c0";
-  sha512.doc = "e3eb43caf1dfc0c32d66c3225810ded3ec5ddef96f980f7d2a858d21d16ba17d3704f8db24171afbe05e7bca5fac04c60cc96ef4a0995a8655442f66a7c60357";
-  sha512.source = "333d929c54875c31874aeb9463b0f5532b66c129d7c4f3d21f554ef70fee136eab8216332117d7e5146374fd41536f4c5c5acf190d9e5ae013bde808a6bd56cc";
+  sha512.run = "75ab34d40fb051000783abf573f4507e3791ea5aa1cf4b8571ad16bc020f10d17a49220a2878e5a2791fb7f073613ed20d72cd5618feadf38e290ee4f047e615";
+  sha512.doc = "322e9cd25fd7686c4325d04bc7dfa00aee45fe993bdb730ca3669cf860b7cbae1dc76483fe3dec11e09ad848f166a01f43ad0885e0e9fe324ef28d28a7d2b4ad";
+  sha512.source = "5159db9c0f8e1f1ba4fd265c1188c47271b6da4290c33f65e8284b0c95d8144a3219951e13c1fb8e7fc172f2cd0094cc73d63fcd0cab67908f6542881930d772";
   hasRunfiles = true;
   version = "1.1";
 };
 "yagusylo" = {
   stripPrefix = 0;
-  sha512.run = "c892b8d8d65d27d24a5e2a83620ec680c7affaaf745516da9ea2c66d619ee3052e7822ee1fbd9decf12f070d2a9dd0eb7f0c098870ebb2d4f6de7d77a2c9664c";
-  sha512.doc = "45f157c6cddda3924048473fcf03b8c04828c125347ab8d0fc4489f9739843b00004dabc7777125425a5e828d003271adae323fda154d78ee5898036d415c210";
-  sha512.source = "59de94ecf829e0e05074d1698d9c161232723eaed000a6653811ad2610702eaacf65a0350645b1ea96657543a41e36d3b7bcabba1e7009f394624b84025f8649";
+  sha512.run = "f6f367155aa16ab0133957fea3c099d4e839f248a87ccca430e43c08257b2aed3a11c77ceaf8484097910bcee2dfadf260ab5047fa7f0244b43bcf332f367bf0";
+  sha512.doc = "0ba73f1c7c7d7d646312f8a3d35c0d063e792ebae45c3e869565f01ef65e14f31bee463a1ebb8ad60166d54cdc23a9d21684675a6ccb09b8da233badb0d0ad96";
+  sha512.source = "0bf71cf46e2cd66f9066dda7e7982f91e06803ad2c89358da94fc0ecd593ecfbed8b36ea9668f3e713987265fcdf03fdaae08ee9dcbf36ec1d22a91e3bfe84c1";
   hasRunfiles = true;
   version = "1.2";
 };
 "yaletter" = {
   stripPrefix = 0;
-  sha512.run = "1de125dceae7f40b392fc0302f20363f7f9fa71e4b421686157a3d590a98be6d28561f8481d9e3dd4cc09bd5f6ed3f86bfbc58fdd27482a130f4fb148ae7d7d2";
-  sha512.doc = "05830e1e7ff45db7e629d25462c3fe3a3840bd9cc01ea272f3ea5f75867f6193ea5404bdeb9a7afc345a85d091e4689bdb2759aa2e92a2bf8b39314956efe48c";
-  sha512.source = "213f827712d0ccfd3b45f518e850ec46eeca374034fe112522694ae8dbbaf4222243e457f930aae917c5d07d6338ed34d57c0e6e82dac72f291aaae89e3a58c1";
+  sha512.run = "28765f3b6296ea3b9daf671543b7b2cf371bf2aefb4f3eefe6e95d50ee9a11516a7ec14fec5d15305e8f52d0089072cf10ce9dd4cba30c8fb60fa75365ff0d22";
+  sha512.doc = "ed81b08b0306ceb519c9a652ef0d271bfa486897b05bc3a91a3840e36d348ea86bdd645ae236d3f34de78d038de988a023e542075f871aa6d8752d9606910dc6";
+  sha512.source = "a2e64356234f9bf9bed1a73d5ea362ee487fb3eab43dc89241bf21c7033119e030cf3db81321b1eba245b3330103bff6a7b9f345e6df27f47de35ab9df4a6ace";
   hasRunfiles = true;
   version = "1.1";
 };
 "yannisgr" = {
   stripPrefix = 0;
-  sha512.run = "9568f257477e633152a7e4ac180fab2cb88e800f32aa83990d8dee7c802c5c18f7e968c0a69c1ea12b8d6f571ce688aef8a9d23717c942cc7b47e6d9db4e62e5";
-  sha512.doc = "0eee79945fa7b22592c28618a996d1336840ac72fd51787ba93b40ca03b435c97b3ff150ede653f4069471b5f8c5d9891b3db931d95ea9a8562489f94a8401f3";
+  sha512.run = "509e69acdef68eadc65fef6980e9166c6327e8927fb9cdf6a7a33786a8668ac9b900954a4bb661f223967b26dd240d5ebd91683658b324be284e46876c39061d";
+  sha512.doc = "40ecdfe71670357e8ec84fd262015b5b5d0b8e486ab80c05d0863a335649501e9548d785cc2b2374f989b820dadd9a074cc229674dd1ae9a6252d4a0ebeb4191";
   hasRunfiles = true;
 };
 "yathesis" = {
   stripPrefix = 0;
-  sha512.run = "1461f610322417d6b9d81149857882116dd529a79c327731a0490d10180d26f6b4943dbd7ad8c038a124d4f4c0cc0b9f630a18386b25b1e637a53e858e4eb1e9";
-  sha512.doc = "3f48399e1b70b314f8b3eaf081a62beaf99abbba8663adca54602bbea4c9ec0a84ebad9f6d244c8e37da6cb7db911dbdba916140f0926b3b4025d2e624d6c4bc";
-  sha512.source = "0a469937e6402bca80c7f5cd812c23f225e802f84d9229ff7180dc6ad7118cf41f56e2e7bb0ba2aac611b34f7ba229501ab53e5198bc63300e8abea757b2c6fa";
+  sha512.run = "f1ce86e173825007f87c2e4c3020ac761e7689cc079993dc7fbcb89985cc8e2684eb5bee4dc7e0a7bf44df0a37fe1d8fb8193e7006b511c256dad2b1b1e1ca4b";
+  sha512.doc = "55f640414d27a1786edb8c1e4542bdabef94fe89e40c5eb06b56db97c6cd06f72f9386a4d27e674e956e7230015406a8f9df54f90e898ea8b7f174f5eeae6dd6";
+  sha512.source = "f3014c4a15010794a30c14a51f9fba4ef39a128e4dd566991b57bd66be3f877745e14c8b1f8e50942870dd3867c892a99d352a9c2d8b275fb299d8c58c511de6";
   hasRunfiles = true;
-  version = "0.99t";
+  version = "0.99u";
 };
 "yax" = {
   stripPrefix = 0;
-  sha512.run = "093f5c2fb8b68387079f4d6417af4657e40e7c59e225450897d678aee7a97c5db05f1889187d8678c796b03f9612ae4b3b1db15a7649f6ae0824bc82cf7d2864";
-  sha512.doc = "d3d21f054d03cd4d7eee01352b0e23a2755ddee77848f7468a62db4cda4581baa6b48aefe270eff20713c4181fef69d59d0e86a40bd52a794cdfc37ed15f1aa4";
+  sha512.run = "2fad927b46209e0705f96bcc5aafa9774d5a7cd7e4f984e48950525c282cc5e2273a21f5645bcdecff0a102a236f9f8470fffde829b44a886fe40f47699f94b2";
+  sha512.doc = "f648b61eebdeb9a1d0497cc22205361c5495139fbf835173e067773956793c28220a6a6b8d3f7ac7f275cbcbb77b06a1774e0f4519587fca390d0aabe34ccf80";
   hasRunfiles = true;
   version = "1.03";
 };
+"yazd-thesis" = {
+  stripPrefix = 0;
+  sha512.run = "9f8350ad1d606769e5c5825bfa92832775ca7a120287013119f01e3cdd54b052a9bf51cce2c7350e5f7241b4817a4b840590bade6c07646fc519be5ba2d9e11b";
+  sha512.doc = "315a82c7e548df4c971d9281f5da6e58a58282a3b05ab23eb41befe4cbe56b278d9a975c920d10cbd387f8809a2301ce800b9fc1c482dd6c3821040ac5911aa0";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "ycbook" = {
   stripPrefix = 0;
-  sha512.run = "4176b76bd032ae85a41507dba02d46a8da7a453ef8624d659ca43a8a15d6aef7626c74c74d7442cc2211e411fcd663682c7199f7486e12b434f61ed2023803c9";
-  sha512.doc = "2891b2941e5cf93aa8c08feff587b06b021a2ff6537cd3bfa4e5c19e4a01a38066e7d2d001b6bd467fc4816c72f002ea434592848ecb49f5d64afeb8af9bb2fc";
+  sha512.run = "8b98cd81e5f1252063da8dc297eb5580d06020a343638f7c8a1090a7f056a788eb4322e286f12d821be79fc7de94262a4ff15c14a1c787be0de89ddc87541452";
+  sha512.doc = "45ee725849230549b4b2f200e0b140c1fc99a60d91730a42d2e3df63e828eb6053845a2eb84ff25bf916341df46a3f3c01166848afb291d322dfb21426903644";
   hasRunfiles = true;
 };
 "ydoc" = {
   stripPrefix = 0;
-  sha512.run = "1799f5f254abaf212ffe1414bb7cca287b2d2ce67d244eb7291724a45664064b4e2cb8f6f7842da79e3e9b7348344df0bcb12639413f1e5dd837f4c7ceba4beb";
-  sha512.doc = "64493f010032f5766a368d5a5383a7a1125520df496c44ab2878f4c3b883c21067828c215e2c664ab7e84789d5cd2f77ad54b6aa6dbe7b629b9e4b020ec46924";
-  sha512.source = "03eb90e0801692c280c9a11cbb800f9ac5e2060bd1b6c54846d6a8d54b9a5931accf0b31c6ccbdaa11856b343187aa24be4df8f6db26097ed8cabeaba3eae818";
+  sha512.run = "4e4292e4e6e6b4f5db8ff0721eacb582960932f48a221835c3e07841168b1f81227fcaaa41ed619430c5455edaef38dc073a8cf6c584ac759e88b9f40710caa3";
+  sha512.doc = "c5257e669d802563c6ecec45a53645a69bc4c7980c95dc0a98164c950c1e5b12b5b4d012bd8a97164fa9b055eb84184c4df520b08949f68283d2ef2e33658838";
+  sha512.source = "a7bfd7160ce16a03505347e158b629c98519f2114f057529a52caf24f818d1553e76714936a9f92b0020b9d16826b5fd259a12d68fe63037cb04f89ef11657a4";
   hasRunfiles = true;
   version = "0.6alpha";
 };
 "yfonts" = {
   stripPrefix = 0;
-  sha512.run = "3255afcb65edec91b190c4e3e48f83ddd62f3f0fe180b5d752864dc75092d34073a907711092fccb3f5de6941207d2f733681400600196a0d37f282618230e3b";
-  sha512.doc = "eb52f8e4e23e5b5bae98c3a55cb6fc070161c72c49eb44d600f8e91e13c9c9ca0f583ea4cd7461527d4ba18ecc7de400cdc705b2416e45c4ee9dcf82033059a6";
-  sha512.source = "26c297fcae6d7aaec140d8d8668f8f8898e6946694a93dee00d1194fcb70a3cd7cf8a449029076b1e888704deb5d93e03fb7e152ea1e67034fe3142458796751";
+  sha512.run = "1caa22023c93ae1e6a2fd94676da61fd576890f991a79d6a9724a4e5f7e653a752c6af792a1b15d44aa956f5788aa995614a33c2d97e95865d6a364f833e539f";
+  sha512.doc = "54857e6693242080c5f410ded0bb16d3df65fee2834b2b5d1232dd063a70796905771059da07e7d92358fce9da992c3e605be345ae7c5d4012d37dc37a17dc82";
+  sha512.source = "c716a8ecca03f0dbaf07146021977fd802e2089c5b99fc7adaac1e581ecbfd4f4b1a15562a54eea7c783f5b8b6165b935e484e36a456ef81729751c777266815";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "yfonts-t1" = {
   stripPrefix = 0;
-  sha512.run = "51183e1ef759241e39aabe3ce1e4d9ffc42b3292f5c046be534b2f470191630faa488396eaf5981bf03e3ae970d5ef34dffc8194e30d155d86e38947fe1096ad";
-  sha512.doc = "892273edc0bbe58622e8073ac2cb4a92a33cac4aa6db339bace7f81f42fca04bf05b86aab4b138d16e7da3db42ced68c10459278cd192d7d0d47e1c73e66c8a0";
+  sha512.run = "ec4cfa0d4f08f506b3bf7a3acc8e303ba51c7761f32498f040e062264e595bebe64a4f5adc7d6ab5aa2180c55b817d0124d5b07b276cb39c775539113a08f490";
+  sha512.doc = "dd37c5163de0bdcce937a1866a48d9f924faff81da11e566e9525a6d5a81ae82419ee7eaebdff1cd8512957a878f849f43e9cd71dd39625e6dc0e2ba18f4ac9b";
   hasRunfiles = true;
   version = "1.0";
 };
 "yhmath" = {
   stripPrefix = 0;
-  sha512.run = "78f4e6876a5ffc21d6cd93f99bb3e41104f785067d39c1ced7e48a1ba3ea2cc41f9384f7510f5bb1c5144d07704b87445ca5e82dd348a0864036193afccf67ef";
-  sha512.doc = "3c6a90e1eb8dc52b2794621ef53c2f51fbd86a6d9340c4998763e8f65d9603d36ba959ab96fe20a39e67b478dc47f07f6fa68e035435d0fd9e9591d315359a1e";
-  sha512.source = "fb0fdfd54b7858d961b288c3f490c1dddc12b1dd2365a5e212a6e79e78a97569b080db9baad9a504df332fdcad0519715f70cecbbbbcb88965ad0115365be9c4";
+  sha512.run = "10b98d5af7f179643bc0cd0fbf63e4a088c07e64ca6ac5f20ef05f3a00226159354f212de85ade3c7d96b9fb67e46207fbf7bed9f47a542df8427ac5fe248653";
+  sha512.doc = "cae6f92dd19363251fddd7e6a2934e10e3b22840b5be4c9cc94c399637cfee241fcb34dfa22e93fbde3a599e14c82fb32a72c329c5de3af395ef2848ae7841ff";
+  sha512.source = "61154cd7ae0f43ccc31fdf1c2f2c7e5307bc886990c6a137089cf0d40e7634952026458e92b9c2ec5c7ccf8b6a2969f018c1653b9909d6e0ee848177accb4124";
   hasRunfiles = true;
   version = "1.5";
 };
 "yinit-otf" = {
   stripPrefix = 0;
-  sha512.run = "21cb91ff568075a8b8fe82ff71412c394af1b3310e25ca93d6040085000547e98e8fd2ffee60629b66a51805aa1b078d7ef6d9d9d2430900c034d8e5bfa7315b";
-  sha512.doc = "cac9586bddb6525fcaed08560d85bd7ff75226bbb7d328b0cdfea560ffece5f605513c4a134bb5bdf8557bc26aa03139b97b80937d88eac1cc88d5e2a472910c";
+  sha512.run = "5ec9f9408c3188b2bf985e9c3f1f9f6a345557d08a167a9d02c07fe41bbb981a8889f580d6e38a97798bb5e891d978eb4ee70b77a344c684051b5644654d1cd1";
+  sha512.doc = "6c73466c1e4ce1f7aec1b30980e5c44ca4917e161236fad7a0816bc93e921525b90f62abd8d41d3b767d8a6eda62a34534d7129d1fc490fda430345f8a2b3ce7";
   hasRunfiles = true;
   version = "1.0";
 };
 "york-thesis" = {
   stripPrefix = 0;
-  sha512.run = "411c372d39f07f11c7aed7a69a7691245067e331e2acfc759261a7a311ef459869d3d6fa469f632a0a6ae740d480c7412045cd07621384982fcfa8f40b37b4ab";
-  sha512.doc = "0af7779d4eb614c86ff8d9105badb64f941613fb1e7052be42ed59ab289770db2369bf1483a1d5df3490b746cc37d0993ac87a673c61be30e87c855b4f41d4eb";
-  sha512.source = "4b781126780d728fc04e3ba50d77b2357a8c9605b8133464c7bd21fb4dca6eb6dc2fe4377b77efa7940839079e3391e1ddcba2e668e7c2d98e08a8a4f9e643fc";
+  sha512.run = "5b5152cc315dc05164ba3502d6e7aff355d853e43a3836bda0a15a4af7a90ef9fef02c852125c7e1e4842c05d51f2be6441b5131400eb46bb6704b281711e18d";
+  sha512.doc = "e1ee454ad9996b61f1cac9bbeec30210359ecd8939bd9e0696e7cca7106733b13b8831946c47652186d4b80060f96c479b642274f5c90f8757953b1c3861f0bc";
+  sha512.source = "3096ee9334bab690b38ff943559a0a7b0c54f8b831e7d1320ae4581740c48dd05e09813e220ce1d28d4523fb456d7fd01920e89e7e0d66da00e9dce88bfadea7";
   hasRunfiles = true;
   version = "3.6";
 };
 "youngtab" = {
   stripPrefix = 0;
-  sha512.run = "a8bb1ac115714408677799d49b988d0883ece1f3b9c61e84df13e8f982a8183be14dcabe6c835999cee367a204d5f7e234a8cfac4078c355177c38bd1a05c827";
-  sha512.doc = "42725a42aa6f28caa2dbf30eec3807948caa1f6989c80573dd483c5ac0ff670ba546e5790860cfb57c64e9f9bdd117af62511cf20bcbbbf606c74ba33240c5a9";
-  sha512.source = "a65c1c3ca479ce4450e7edc5ce9c893b56628a5176b28a7f1191207de1a995ac058bacc58db48e139c29f941f8cc6a29f3f7c241d4e88dfd53830fcfea923de6";
+  sha512.run = "d394f53ea68d2874036faa0d00323a0c15e3144a2433e27db0a630f05a637bad37d297132a92c00bc5ba3fb8a8bc643bc8778787b8897ab03296eb62d33683b6";
+  sha512.doc = "38d42380d67372f2b84984cf41b0cd775c6b707405baffc5852cb147bba914899bcc09230e645e7779deb142358a4bf46f1efa0b47f159eeadc09d3e99f2728d";
+  sha512.source = "88d214c9cd6d87f6cd2c075ebb5554c55038f0eacbe047d7d90ab1a3fe695a9329c34149c2026fafed045e02449688e2fc3b0b5ecc24d0960640a3557a284739";
   hasRunfiles = true;
   version = "1.1";
 };
 "yplan" = {
-  sha512.run = "d075d36e7e0811960cfdc5b2d2d8bdfa77e5de0729ade23c0479fa28a9436b29d4733b90b8771a4c6c9ea95c49a1109f1ba05d3b60796ed8012ce707c5eaf19d";
-  sha512.doc = "51af550d04ec0bd0db422ac9eaf5e9370e118515a8944cbf67d81ac5da55f2b57e4f42f87f7b124cf35a76b80a9c604058f835ae5a8ef0c11e28327f2df3310b";
+  sha512.run = "4884ac99b0b56927fb86c6e06ae9d4accb7d8b441bb17df79753d8af9ee84b9440d66ad4fcf2107aa036eb2af89d5ad49d0a4c4cb91236c6475cf81bab85566a";
+  sha512.doc = "7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463";
   hasRunfiles = true;
 };
 "ytableau" = {
   stripPrefix = 0;
-  sha512.run = "3bb5a430587caa6ef20a9a0bff2cdc6a8c94d2b62d56f080f61cef88476e44dacd7765ed1bdec4be64c04f6f34e701281344b2f93c7172a0c0789a6b9aedd3cc";
-  sha512.doc = "3cb50fcfe26bfa93c59fa5fddc5ea34c0a777cd89914f17fa4d85de9e57b58784dfa990650ac053cd082ae5e82e74c32f9eaeddbc75cf4cbcf1d0d5258336d0f";
-  sha512.source = "9daff52c34e222509ff8cc65d2e63252aaf6b361d0add60858aa0c36f691d135e96bf73f2d4dc9c610ea9b25a01e6a9982dcb24619fa93926e762fc0460db28d";
+  sha512.run = "2d9528c47b516213d0d8ea6341edc1772aa4a88a7db60d4506cbef107be034bcb9036b18f61a12e042e95bd9d0aea51b0ee696565841d2efb12b442756c48a30";
+  sha512.doc = "47db377bfecce43d97e573360cfc65936664b5ea886b5bc0042b39e3a879becef0e9894c364a31cb4cda7420ba672c8f55e7936ae5b1d291259d8deb7a6d9f9d";
+  sha512.source = "02c2aff53daaec5161a9715de2e633d03dedc85664868d73c49dc0edc5c8b0bc696e3e8ab6d25f3420663fcff830581a7b2fdd0718a3c4928aa808ca3b1cbde3";
   hasRunfiles = true;
   version = "1.3";
 };
 "zapfchan" = {
   stripPrefix = 0;
-  sha512.run = "23cf9bb3768023b3652459a51c5e6aaaf5c57f16700d028ddbd6f0d54933c1ca3a0672465182713e8b154b6d8f695cd280be2ddfa8bf593be27830b1e993fb54";
+  sha512.run = "46a104a6e4d1cf681bf10bf22fa32510982939cf52dd255a7ec50e5a9f95acf72457195cee13499c6f517a7f2b03be8a285eb6730f659d59ee5aa42522ba34bb";
   hasRunfiles = true;
 };
 "zapfding" = {
   stripPrefix = 0;
-  sha512.run = "07084ef589a0e5778e674af7f0b23a4d3cd12b4f53c571d0aeb90bb8076635729b0ede6c58a3488b6a68ffa18962791178e91acf242c047cf8e244dd67afeb5d";
+  sha512.run = "e3e6e69b82858d8bd653bcb112ed81b8b5aacc0b915b5e4ed4288f5aef896211e75b85b1b647989e0ffa431ec204a9d8ad27b2e60bc2b28eea83eb3518945bf1";
   hasRunfiles = true;
 };
 "zebra-goodies" = {
   stripPrefix = 0;
-  sha512.run = "f469e0e90bfce97d20ecf17526a2d6bb86a6565bb92cab17326b93f7bde70212aee91d1fa1845e776427a5316ac68a8351212318f3318ab53afc75ee13d7e708";
-  sha512.doc = "04f087a4b519f16ed3ae98679d5252122b1756fb96cc640877b96576137f1ac5491bc3b345ea3be41f4226f4776499891ff99e24472cfbfda5a4aeaf7b0081f4";
+  sha512.run = "c6ba09e174207ed9f28053bd82ae46551910358e74ad7afd74b406a93d4720f5b11b1921497c3c464c80b55d8fd4e4adbfb115f3ed9a9bcdf68ebf96bda06434";
+  sha512.doc = "48652f89e032526de7c37ad57ff5719d75dd50e5a00ec48a4d94c314bb159d76061ce9c9cf8519bfc8d546e274f8ab1344751d798abac422562efe6026df1872";
+  sha512.source = "2f2cebe6593b55cdbe03bec6215f74a4520a3a0f5198316e749eafd9adab2f9b4a7fef99dcd831cccffb0d758e2755bf7a97c21df8b7f1b770b4e5359d69bc7e";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.8.0";
 };
 "zed-csp" = {
   stripPrefix = 0;
-  sha512.run = "3cf15991397b10698f6a13a7bfce959b40286d53b019e31f6932db1a886b01d7cbf6c3abe1737e111119b8cb46a36856725e76623784ed915a21008a55771ff2";
-  sha512.doc = "0f41bf535583c7c88a04174798ac24b141cfc123f149017377244a16b89a8604b3e86bf3ed98a72a2bf8c1b8d7ae80494695f9199fa6615352e258c0fb263d0d";
+  sha512.run = "2f41c5b28e602aa88146cbbc172eb2d6c6f21491e45622c4c1688b9a8acb5be304a8acde842bef84f7a238109ac9ebefa31844826387b266f14faa6a6943903a";
+  sha512.doc = "e5e657656e46023e32366ba415f46322f4c9b4fe0e69f03c88d4e5fcdd577e3436be6436424f502c3807278efe3a31ab7cba3020ef3c9e44874de3660dcccd2b";
   hasRunfiles = true;
 };
 "zhlineskip" = {
   stripPrefix = 0;
-  sha512.run = "5a3e715722fa2e97e9293cba1d0f55bf54301280bd817115ff1bd9e39b2f6b64b0f107c14db2c74d2eaf57877001ebee4916588d2e90136c9320b01f94e19ec6";
-  sha512.doc = "e4230a126ae245eb5a68808426fee1709c31430410e5d257ba23c7eb5de9a8f03c59b5cbbc3e17a7c967f1080fb88507a7d0b2a29ea3b8bbe569b620ff520065";
+  sha512.run = "c1e92d164d0b46ca1165775e5c17f72687cd83b6efbba95dd58fe55008877ab3f08bbaf90d36d491ec861705e9d15f74511c8a0f9cf66ef8bf5127d7aa2cf203";
+  sha512.doc = "794822b3b89aec655af2663f3dfbe848ccac9fea8369f446596562178e73c01ddadcf1ce46fd1811e4b72a25917c310bd42e45f9b16a3adb897304ae345d5415";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "1.0e";
 };
 "zhlipsum" = {
   stripPrefix = 0;
-  sha512.run = "961530218ab4a36fc13b2a1219c20b494984af9c7012ef41b03025cb3be0689cb15db1aa1f9eb4cb0aa403be5e43f1704d1adde5bb5fb7abadd878c7fbaafe0e";
-  sha512.doc = "f77575d5f9e0b0ce0316d1fb4d7b7c8d49f39afc47867fa40d9c4f1c16dcdb8737d85279a05d80028232a806c0b21d4bb4d790cf33ced432740e2dc688a1de16";
-  sha512.source = "5b037741195bb9475a2815dc2d7c5ac211a27f0ef3a4a1cb8802ca7db979068d4fd18fb49a2bcb67d60796d2828ad9da7c73855e63be3cecf45c6265eceba85e";
+  sha512.run = "64ccc1f0baf30980162ce259d897a9fc97c6771768fadc3958e398e38f96ac6ea115b126a1b106270a7a509358108ffe8b93cf52af87503c66b8a365585391f6";
+  sha512.doc = "06692d711ee3009bf11bc641569a9e3b0d6e339e0b7dca6e5e5d3a689b3fd24a5d4eaa45de7cd4ac2c0e3feea5c2612881dcc4bca88b12f554bc78fe96cb8220";
+  sha512.source = "32d12c4f3699275119f5dacbd7b6bbb559555ddceeccfcd908e0bb6f2db50b76cbe0323b7ce6e0474d369a1e343718cb0024cd0f87487e629dfc9f104c3e6950";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "zhmetrics" = {
   stripPrefix = 0;
-  sha512.run = "734ba26f0e6e8c899ea5aa714cd9931a1e8f643c23f0f4e3ab2638581e9ae2f77b016ca83bccf3bc52dedab0312a1221364200b21ae701de29a40348e5e7bd8d";
-  sha512.doc = "0d2b13ed70a0c2c13ca91b27c5e56e258a902b7845c5dd6ee1bc8489bd792be53ee88d9e728bb5c42ba0ebc9e5a0d982a9362e00a5cdc8ae7900b52e3514eb50";
-  sha512.source = "528612152fc7841353b3d40937f11a89c0393dd1d1b6d7d02c772f6a00e0d9704f1df132470366a238b58d2d6752e111eee7677a9cbcf35f5945d215a9a58497";
+  sha512.run = "abc0b873b5abb0b053fb59d8bb831a835f90cd8bfc2cde87d1031dba2e31db8721e3ea1037e7322b33ae5216dd65bd01008fb769eade0c9b4815e8ea7c55615c";
+  sha512.doc = "e77fd912d10d8ab535c366f8e5b99e996607788b9ede295a3d7739fc4c14e0679c66c36bdefe2ce5433967b28b2ab228c332d9b0a23a841d42d3fa56cd204040";
+  sha512.source = "d505658c340bc3824332ed473927bf971612204e69c56839d4e0bd0b6ad4b84a975fe32e863d12d2e0ecae580edd06c3ea0854b90cf762aa9ad6106d2f2afc1a";
   hasRunfiles = true;
   version = "r206";
 };
 "zhmetrics-uptex" = {
   stripPrefix = 0;
-  sha512.run = "dd8c62cb9c60dff6e9f2ae5a6d88797af8e4a855c7bbe1c081063582e2816cfec3991a75b27f28044a7fb82052a37272d5b69d47fa26b669499ddb2be9a20b1f";
-  sha512.doc = "11bbbef58e291bbda6b375ab59399a95c4f19f020be659e9f264f24737cb28f9f32a5c829bca4dcf78dedfa200523b439464eda1f11b8d887771714c71c2cf66";
+  sha512.run = "1e068a0b402a5c69b44a86d797cb24266b2883c698decd8b8464c99b131d292cc5ac44249ba8e89dc0a414d6f12d73d4c069ffc3081cfa4b9926ca412bfc3dd6";
+  sha512.doc = "f9ac2953877cd830e1cf3402f3f2bac1f8159d05a4a74e89047c494ae04dc8930f1c09701f83871b4361976572ae7d1c5fbdaf3af3d9e6db12347a207f1b82cb";
   hasRunfiles = true;
   version = "1.0";
 };
 "zhnumber" = {
   stripPrefix = 0;
-  sha512.run = "32420fa4d172a21f4356b9eb5e527fd682a06c15045bbded9bb5efe7a711df3d7c7f6d49833c701d4a3f6f5f19dec5f94e41be592ed930bdb349bbe3245f6215";
-  sha512.doc = "a26e510201781eaba0bad2e7da2050c85cfe3e53b1cb51788ebbc9b93259a222e66dabcb64b183a3193622d12ffa3f7cfca58dedf631b9e789b5cb50c3a9dae2";
-  sha512.source = "a166c409039690ade7cecf2203d9368375dcb94b5c7a80793acba73a828b21aafa1b02e8ed0ed63cce79f61e69bcee738115b52eae067f5b6979b8817bbd1612";
+  sha512.run = "f5e0783636ca643463811293816c95f2e20345fc6b08f2bd22143ead830b102b7d5acb6dd587975ecae205ce8b79d75cff62bab153a6ada689958835c77298c5";
+  sha512.doc = "d58579fcb6b5464db3d1ec20942b61516eb481df88fa23ef24f890a937fa72b62c6fef7fd2772172c4faf1a616805bfe32bdf39e17d854b907dc61ec9f6b6f4e";
+  sha512.source = "c3ac546227494e59e44324c1f637e280982ba1a27644add9d1c8248b2cee0299154adef6d673eba91ef39124db16dafe0d30dc0ec09bfe9b2dc9f28b6b10bf61";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "zhspacing" = {
   stripPrefix = 0;
-  sha512.run = "57147fc36a324d1b30507d3bb4905cefd1b409675342b9b4a307c2c0fbae145c728469ba5703298bf99073c09818c9d3afd19b5fa6c73f154a4b5e932268b720";
-  sha512.doc = "f1b285ea912cab8181bab4c0e423c138afbe9939e5a9c29097bd2a6b4da83e389962e9bee2b5ed4b0d0add231366605a481771902abcf93234efc4120440f228";
+  sha512.run = "52d1d3523ae4c0d2dba5258b06cf9920f8a9005df7e03fd1407dd8ae2e4dc90768aab10127319ef9025765820b3ebb8a946ea0373114c9148a303517b563bfe0";
+  sha512.doc = "7fd15e4f29671081670e881e9366ba627f5bed6d981fa0ef1c670d0744e1286c04e785e28b92279d66af851803d84949c2f463370f23c64987fea78531172128";
   hasRunfiles = true;
 };
 "ziffer" = {
   stripPrefix = 0;
-  sha512.run = "f241b7d3124bc0529c46033a390b3c561d07575bb1908d0614ac417c82d93e25501daf080324396f021562683624a261ce94731efebe5dab2bf7c1c66927fbcd";
-  sha512.doc = "3423fb0f85e8f99b9e543580d50fc49f3a8d73b9f6168d1f13512023f532b56e7edbf932831f9d3172cd7fa9c844f2751c544a741b359f26d658a69c7dab41e5";
+  sha512.run = "3d29074642d8a4c63046347a36f47548557de92a64ab4d6b7d1cad87f97a9e25a09fe84cf699a3bf2129c4de00dd3ef3593f85056e8f38a9a2d1ca27c549cf96";
+  sha512.doc = "8eb75b54a6711ba0d0ad30343f253eabf88b3752de3112b13b96e4182119ef5f789916c413a5ca35ba7bf6619eb25bf64e7717844e4b9a49d33781d91f5b14af";
   hasRunfiles = true;
   version = "2.1";
 };
 "zlmtt" = {
   stripPrefix = 0;
-  sha512.run = "2c1b06550725880daf93c06fac7c386c27627d4fdad391706725b2514a16be1037dbe86fc9f3f3083cdf1d47175fba297f18d1fd26fdb2f392aa7e45ae624e77";
-  sha512.doc = "f2fa605beb0a02aa2a55f19f7310ca295891b64e1ef2bba7311ba375191edbf915ad9b74747cc3661bc983af7c876e8a7f5997bcaed2be230cbd5d3e292cdfa7";
+  sha512.run = "b60e880508e08fc0a3f265b7d85c7ae8667c0a16264148a2944184a598f690f337149348157dc7b7b11f1cac59d44117425b50a26bbdaa0fbf1dcebb023093e6";
+  sha512.doc = "22e301f72e0b62078d7b6fe7d7740e0477d9b18beb59ab55b81dd65c50cb250ae711886f01944cdfd25f82d0dd2089c41e662cb2f16eaa0252d70c1006eed8d8";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
+};
+"zootaxa-bst" = {
+  stripPrefix = 0;
+  sha512.run = "80816556a2e23cfd8345b7d22224142a5448105ccc5c1143f33c4560a4e4ab432115c2fc47c5d4c6ba599031f4c36b481465a5fa7b32afde888beac69a6e6c62";
+  sha512.doc = "f843aa27ab0c2139e1051aefaa9b667f2de489cc13578200ce7db2bdfc2397888856c6cbe68b6fa201e0cb269bb95818cb31f1b03622c49ebdced23fa5960d65";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "zwgetfdate" = {
   stripPrefix = 0;
-  sha512.run = "82f490b04b42d371b1c48c6c0e326a96fe46b9a4c8e1ab981151a6809cbab09de7a7c9cd1cb5041ac6e513bca7d56cd602e1ab5c52c9a4077e3abba18d8fc378";
-  sha512.doc = "2a3c7b87f0aeb0c55fa0f716d469a57378e0f62751df18ee791cb6188b44f5faa0187c7b541586fe05d354befae85233b816e960ef72d8d8c02119962fd693f0";
+  sha512.run = "fe52555cc46a9e8340d8c9c37f88b372bf72efbd48a097b2d319592dc49a8cf55c87e80ea7d94ba6730742e9883215703749895008ba38838750efb9fb2334e9";
+  sha512.doc = "7ab61dc4252ef7f60d1d5be8d4415bcaeaed194384a1da14a3400617b36c6efae3679dbbd6c8d64b8cc9f9947babe88c064d637379f663408cbe63ca42334bfb";
   hasRunfiles = true;
 };
 "zwpagelayout" = {
   stripPrefix = 0;
-  sha512.run = "9e836b46dac6c9ba2436c2eff15107bb2dc801fe640465fde643b3ff09df58f30e724fe0bf702467850b20db14c72dcf6387ce60be872a15d17d06056f285713";
-  sha512.doc = "60869f08713337fef6519f8feea0641e6111ce1932edba1a678cc21803325cb826c172d3357ec5f1580dabe7e6c43455289835c463cf68e86e4c1a1b59c8ddc7";
+  sha512.run = "f050edb743cb045547080925153ac16317f7f78205eedbc37b9db39704b84db376c9362cefcd6711d8c98d46af4d2baa82fe4c3be581d1e9c33689b702679d14";
+  sha512.doc = "6f2a0c3e646f442e570ce576cf638a6a290b0bf0f120b19a27c1f190fb3d20d0d3dcd2a2e3490e9671846338b9d6890884f54296a31593993be9bfd06a7241fb";
   hasRunfiles = true;
   version = "1.4d";
 };
 "zxjafbfont" = {
   stripPrefix = 0;
-  sha512.run = "73a17776e44f63ceef2132ddda5411d5b3362e21e2e40d2629d44638abab4c0a63a04ac11e9ad815a5dddf88f37d592baac86939c8b9c21099a1909c6e1fc7cc";
-  sha512.doc = "e64220aeb4a648dcf8966f020f01761b133cfd13ca8792a97884a83b3976987907377017592e0b8841051d0ce2d7034ef45b7bf7126b27dc04473a6c92b59b02";
+  sha512.run = "357b100dac7061a5e6fe91e3a708f32e99a134158393581bc717ae3e90afa5dbbff7aa1bae8c092638bca2d5c3ab65d8a8cbc39c20c3ec1ff85c967fb3849513";
+  sha512.doc = "215079eeb772dc4ea55d5e00945a757c877acf9ea56aebe5a8969564a3836f54ca406d502d73e93d92b131600fc77bd2342d36fa78300adc0b4d1dd7f5d0f423";
   hasRunfiles = true;
   version = "0.2";
 };
 "zxjafont" = {
   stripPrefix = 0;
-  sha512.run = "fc34c9efdd78bce9698a5bf8b298f3d179aa9f083807bda63967d974cc7cac3c4aad51beeb969e324d305ca2e4fbaa61f3a659c75a4ed9a17d703c1bf6ba5c91";
-  sha512.doc = "755eb5876c626f3e26d80d8ab5fd8d45204b107d88f8405fa8101d5c82a6b66af7566d75bbc53972738b069bc8ca2bd72a1e45bf1edb01ce3c7de0706b3cbc6f";
+  sha512.run = "8d56b2f09b2f96a303a8338252a078c5856703d466ba23d2f8a96f93c002ea3f30c072398f47bf9c38aa94b08f93a9b3aef44799b61c117df9a9cbfadf60c2a9";
+  sha512.doc = "f6a332e3db7db28041cf0815122ec1134276b12c042fc2b1defb214ef6946598c9149e717309fde2c28b50cac545cbb2d0077890adffb8d3ec0371dfd876f66e";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "zxjatype" = {
   stripPrefix = 0;
-  sha512.run = "f841768bc993d83d6ba2a0d6a2893601647834613e401efee5aa3b445941951b8f4c787648b4acc67382b2b4fe950a47727f630413bf9259e8956b1a402769b2";
-  sha512.doc = "01446eb58a7f397f7d2ed2772f4d0cfbfcc6dce2a79b855dff7f80b5acf7fecd4ccde78916a9833f1878a9d8c0ec092e472ee0b51a28fc27c0a43f40d67cb733";
+  sha512.run = "fcc4c18b6a9ed31d4d32280aa088be06f6109deab53ce9e1820bc743151c1209e24d8c26bddaabd76f774be95de7599b087ef92415191fbf79a938169b9181fb";
+  sha512.doc = "e971a21c677f93e1caad2951fe05296f5ae253d6d31d32e160f8606492b7c21f9995e9a1ec3ac5581cf1fb52c4174acec35cdf871644bb74d5b50cef421d78cd";
   hasRunfiles = true;
   version = "0.6c";
 };
diff --git a/nixpkgs/pkgs/tools/typesetting/xml2rfc/default.nix b/nixpkgs/pkgs/tools/typesetting/xml2rfc/default.nix
deleted file mode 100644
index 7fe0396ae440..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/xml2rfc/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ python, stdenv }:
-
-with python.pkgs;
-
-buildPythonPackage rec {
-  pname = "xml2rfc";
-  version = "2.9.8";
-
-  buildInputs = [ intervaltree lxml requests pyflakes ];
-  propagatedBuildInputs = [ intervaltree lxml requests six ];
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b50ce2f98bc431cadbcef0523213497049b78c2829ee81c399976f1e4832afc6";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = "https://xml2rfc.tools.ietf.org/";
-    license = licenses.bsdOriginal;
-    description = "Xml2rfc generates RFCs and IETF drafts from document source in XML according to the dtd in RFC2629.";
-    maintainers = [ maintainers.yrashk ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/tools/video/bento4/default.nix b/nixpkgs/pkgs/tools/video/bento4/default.nix
index 5594143bfbce..4dea8dba6eda 100644
--- a/nixpkgs/pkgs/tools/video/bento4/default.nix
+++ b/nixpkgs/pkgs/tools/video/bento4/default.nix
@@ -3,13 +3,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "bento4";
-  version = "1.5.1-628";
+  version = "1.5.1-629";
 
   src = fetchFromGitHub {
     owner = "axiomatic-systems";
     repo = "Bento4";
     rev = "v${version}";
-    sha256 = "1fv0k7f3ifwa0c0x22wblm6i8x9zbc13pg047a9i74n456p0mzp3";
+    sha256 = "1614idy0r7qrkiaq4kz3gh1b1bpx592aqvi574kxnjrxc34kpmb3";
   };
 
   patches = [ ./libap4.patch ];
diff --git a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
index 31d26a6c72a3..3e72d8b8af59 100644
--- a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
+++ b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libdv libjpeg libpng ]
               ++ lib.optionals (!withMinimal) [ gtk2 libX11 SDL SDL_gfx ];
 
-  NIX_CFLAGS_COMPILE = lib.optional (!withMinimal) "-I${SDL.dev}/include/SDL";
+  NIX_CFLAGS_COMPILE = lib.optionalString (!withMinimal) "-I${SDL.dev}/include/SDL";
 
   postPatch = ''
     sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
diff --git a/nixpkgs/pkgs/tools/video/rav1e/default.nix b/nixpkgs/pkgs/tools/video/rav1e/default.nix
new file mode 100644
index 000000000000..b57fa540837e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/video/rav1e/default.nix
@@ -0,0 +1,45 @@
+{ rustPlatform, fetchFromGitHub, fetchurl, stdenv, lib, nasm }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rav1e";
+  version = "0.2.1";
+
+  src = stdenv.mkDerivation rec {
+    name = "${pname}-${version}-source";
+
+    src = fetchFromGitHub {
+      owner = "xiph";
+      repo = "rav1e";
+      rev = "v${version}";
+      sha256 = "1lv8g1vw11lanyx6lqr34hb6m4x1fvwb60kgg5nk8s8hgdr18i0y";
+    };
+    cargoLock = fetchurl {
+      url = "https://github.com/xiph/rav1e/releases/download/v${version}/Cargo.lock";
+      sha256 = "1d51wcm537pzfmq48vsv87dwf035yl03qkfc0372gchpv079561w";
+    };
+
+    installPhase = ''
+      mkdir -p $out
+      cp -R ./* $out/
+      cp ${cargoLock} $out/Cargo.lock
+    '';
+  };
+
+  cargoSha256 = "0frr4sx05pwvj9gmlvmis6lrnbwk3x579fv3kw38374jy33nrr6z";
+
+  nativeBuildInputs = [ nasm ];
+
+  meta = with lib; {
+    description = "The fastest and safest AV1 encoder";
+    longDescription = ''
+      rav1e is an AV1 video encoder. It is designed to eventually cover all use
+      cases, though in its current form it is most suitable for cases where
+      libaom (the reference encoder) is too slow.
+      Features: https://github.com/xiph/rav1e#features
+    '';
+    inherit (src.src.meta) homepage;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.primeos ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/video/vncrec/default.nix b/nixpkgs/pkgs/tools/video/vncrec/default.nix
index c09da3dd2316..857524661bfa 100644
--- a/nixpkgs/pkgs/tools/video/vncrec/default.nix
+++ b/nixpkgs/pkgs/tools/video/vncrec/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     "BINDIR=${placeholder "out"}/bin"
     "MANDIR=${placeholder "out"}/share/man"
   ];
-  installTargets = "install install.man";
+  installTargets = [ "install" "install.man" ];
 
   meta = {
     description = "VNC recorder";
diff --git a/nixpkgs/pkgs/tools/video/yamdi/default.nix b/nixpkgs/pkgs/tools/video/yamdi/default.nix
index 8fca318529ff..b9b16e4d8ece 100644
--- a/nixpkgs/pkgs/tools/video/yamdi/default.nix
+++ b/nixpkgs/pkgs/tools/video/yamdi/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "4a6630f27f6c22bcd95982bf3357747d19f40bd98297a569e9c77468b756f715";
   };
 
-  buildFlags = "CC=cc";
+  buildFlags = [ "CC=cc" ];
 
   installPhase = ''
     install -D {,$out/bin/}yamdi
diff --git a/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix b/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
index e7c391806aa9..a27e006053ff 100644
--- a/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
@@ -2,12 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ecs-cli";
-  version = "1.15.1";
+  version = "1.18.0";
 
-  src = fetchurl {
-    url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
-    sha256 = "0p0z12b6z00sxzjfsvb37czgczrsi61klr5azan0f8wf32x6wc28";
-  };
+  src =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      fetchurl {
+        url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
+        sha256 = "1w4n7rkcxpdzg7450s22a80a27g845n61k2bdfhq4c1md7604nyz";
+      }
+    else if stdenv.hostPlatform.system == "x86_64-darwin" then
+      fetchurl {
+        url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-darwin-amd64-v${version}";
+        sha256 = "011rw4rv2vz6xa4vqfjsf9j6m3rffclv9xh0dgf5ckd07m3fd3sm";
+      }
+    else throw "Architecture not supported";
 
   dontUnpack = true;
 
@@ -24,7 +32,6 @@ stdenv.mkDerivation rec {
     longDescription = "The Amazon Elastic Container Service (Amazon ECS) command line interface (CLI) provides high-level commands to simplify creating, updating, and monitoring clusters and tasks from a local development environment.";
     license = licenses.asl20;
     maintainers = with maintainers; [ Scriptkiddi ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
index e8e6a76a7a26..910f2822c6f3 100644
--- a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
@@ -2,19 +2,19 @@
 
 buildGoPackage rec {
   pname = "cri-tools";
-  version = "1.15.0";
+  version = "1.17.0";
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03fhddncwqrdyxz43m3bak9dlrsqzibqqja3p94nic4ydk2hry62";
+    sha256 = "0h9gry56graif761lmcy91q9fzwvmwb15wcx8245927yfg5j0zgh";
   };
 
   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/nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix b/nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix
new file mode 100644
index 000000000000..1605bcfa43b6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, lib, rpmextract, fetchurl, python2, tree }:
+
+stdenv.mkDerivation {
+  name = "ec2-utils";
+  version = "0.5.1";
+
+  # The url can be determined by booting an "Amazon Linux 2" and running:
+  # > yumdownloader --urls ec2-utils
+  src = fetchurl {
+    url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm";
+    sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53";
+  };
+
+  nativeBuildInputs = [ rpmextract ];
+
+  buildInputs = [ python2 ];
+
+  unpackPhase = ''
+    mkdir source
+    cd source
+    rpmextract "$src"
+  '';
+
+  installPhase = ''
+    mkdir $out
+
+    mv --target-directory $out \
+      etc sbin usr/bin usr/lib
+  '';
+
+  postFixup = ''
+    for i in $out/etc/udev/rules.d/*.rules; do
+      substituteInPlace "$i" \
+        --replace '/sbin' "$out/bin"
+    done
+
+    substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \
+      --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid"
+  '';
+
+  meta = {
+    description = "A set of tools for running in EC2";
+    homepage = "https://aws.amazon.com/amazon-linux-ami/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ thefloweringash ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/wayland/ydotool/default.nix b/nixpkgs/pkgs/tools/wayland/ydotool/default.nix
new file mode 100644
index 000000000000..d8b6ad4ff87c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/ydotool/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, boost, libevdevplus, libuinputplus }:
+
+stdenv.mkDerivation rec {
+  pname = "ydotool";
+  version = "0.1.8";
+
+  src = fetchFromGitHub {
+    owner = "ReimuNotMoe";
+    repo = "ydotool";
+    rev = "v${version}";
+    sha256 = "0mx3636p0f8pznmwm4rlbwq7wrmjb2ygkf8b3a6ps96a7j1fw39l";
+  };
+
+  # disable static linking
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace \
+      "-static" \
+      ""
+  '';
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+    boost libevdevplus libuinputplus
+  ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Generic Linux command-line automation tool";
+    license = licenses.mit;
+    maintainers = with maintainers; [ willibutz ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index dff904d819b1..01a7a7355297 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/pkgs/top-level/aliases.nix
@@ -40,6 +40,7 @@ mapAliases ({
   adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
   ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
+  alienfx = throw "alienfx has been removed."; # added 2019-12-08
   ammonite-repl = ammonite; # added 2017-05-02
   arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
@@ -47,7 +48,12 @@ 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
+  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
+  beegfs = throw "beegfs has been removed."; # added 2019-11-24
+  bluezFull = bluez; # Added 2019-12-03
   bridge_utils = bridge-utils;  # added 2015-02-20
+  bro = zeek; # added 2019-09-29
+  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
   bittorrentSync = throw "bittorrentSync has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync14 = throw "bittorrentSync14 has been deprecated by resilio-sync."; # added 2019-06-03
@@ -55,17 +61,23 @@ mapAliases ({
   buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
   bundler_HEAD = bundler; # added 2015-11-15
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
+  catfish = xfce.catfish; # added 2019-12-22
   checkbashism = checkbashisms; # added 2016-08-16
   cide = throw "deprecated in 2019-09-11: abandoned by upstream";
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   cifs_utils = cifs-utils; # added 2016-08
   ckb = ckb-next; # added 2018-10-21
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
   clawsMail = claws-mail; # added 2016-04-29
   clutter_gtk = clutter-gtk; # added 2018-02-25
   conkerorWrapper = conkeror; # added 2015-01
+  compton = picom; # added 2019-12-02
   compton-git = compton; # added 2019-05-20
   conntrack_tools = conntrack-tools; # added 2018-05
   cool-old-term = cool-retro-term; # added 2015-01-31
+  coprthr = throw "coprthr has been removed."; # added 2019-12-08
+  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
@@ -75,6 +87,7 @@ mapAliases ({
   dbus_daemon = dbus.daemon; # added 2018-04-25
   dbus_glib = dbus-glib; # added 2018-02-25
   dbus_libs = dbus; # added 2018-04-25
+  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
   dbus_tools = dbus.out; # added 2018-04-25
   deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
   deadpixi-sam = deadpixi-sam-unstable;
@@ -98,16 +111,25 @@ mapAliases ({
   evolution_data_server = evolution-data-server; # added 2018-02-25
   etcdctl = etcd; # added 2018-04-25
   exfat-utils = exfat;                  # 2015-09-11
+  facette = throw "facette has been removed."; # added 2020-01-06
   ffadoFull = ffado; # added 2018-05-01
   firefox-esr-wrapper = firefox-esr;  # 2016-01
   firefox-wrapper = firefox;          # 2016-01
   firefoxWrapper = firefox;           # 2015-09
+  firestr = throw "firestr has been removed."; # added 2019-12-08
   flameGraph = flamegraph; # added 2018-04-25
   font-awesome-ttf = font-awesome; # 2018-02-25
+  # 2019-10-31
+  fontconfig-ultimate = throw ''
+    fontconfig-ultimate has been removed. The repository has been archived upstream and activity has ceased for several years.
+    https://github.com/bohoomil/fontconfig-ultimate/issues/171.
+  '';
   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
@@ -115,6 +137,7 @@ mapAliases ({
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
   gnome-mpv = celluloid; # added 2019-08-22
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2019-12-10
   gmic_krita_qt = gmic-qt-krita; # added 2019-09-07
   gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
@@ -149,8 +172,10 @@ mapAliases ({
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
   gutenberg = zola;  # added 2018-11-17
+  hamster-time-traker = throw "hamster-time-tracker has been removed from nixpkgs, as it was unmaintained."; # added 2019-12-10
   heimdalFull = heimdal; # added 2018-05-01
   hepmc = hepmc2; # added 2019-08-05
+  hexen = throw "hexen (SDL port) has been removed: Abandoned by upstream."; # added 2019-12-11
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
@@ -160,6 +185,7 @@ mapAliases ({
   infiniband-diags = rdma-core; # added 2019-08-09
   inotifyTools = inotify-tools;
   jbuilder = dune; # added 2018-09-09
+  jikes = throw "deprecated in 2019-10-07: jikes was abandoned by upstream";
   joseki = apache-jena-fuseki; # added 2016-02-28
   json_glib = json-glib; # added 2018-02-25
   kdiff3-qt5 = kdiff3; # added 2017-02-18
@@ -168,7 +194,9 @@ mapAliases ({
   keepassx-reboot = keepassx-community; # added 2017-02-01
   keepassx2-http = keepassx-reboot; # added 2016-10-17
   keybase-go = keybase;  # added 2016-08-24
+  kicad-with-packages3d = kicad; # added 2019-11-25
   krename-qt5 = krename; # added 2017-02-18
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10
   kvm = qemu_kvm; # added 2018-04-25
   letsencrypt = certbot; # added 2016-05-16
   libaudit = audit; # added 2018-04-25
@@ -176,12 +204,16 @@ mapAliases ({
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
+  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   libcap_progs = libcap.out; # added 2016-04-29
   libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
   libdbusmenu-glib = libdbusmenu; # added 2018-05-01
   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
@@ -189,13 +221,15 @@ mapAliases ({
   libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # added 2018-03-14
   libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28
   liblapackWithoutAtlas = liblapack; # added 2018-11-05
-  libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient
   libqrencode = qrencode;  # added 2019-01-01
   librecad2 = librecad;  # backwards compatibility alias, added 2015-10
   libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
   libudev = udev; # added 2018-04-25
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # 2019-12-10
   links = links2; # added 2016-01-31
+  linux_rpi0 = linux_rpi1;
+  linuxPackages_rpi0 = linuxPackages_rpi1;
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
   lua5_1_sockets = lua51Packages.luasocket; # added 2017-05-02
@@ -205,6 +239,10 @@ mapAliases ({
   man_db = man-db; # added 2016-05
   manpages = man-pages; # added 2015-12-06
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
+  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
+  mess = mame; # added 2019-10-30
+  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  mirage = throw "mirage has been femoved from nixpkgs, as it's unmaintained"; # added 2019-12-10
   mysql-client = hiPrio mariadb.client;
   memtest86 = memtest86plus; # added 2019-05-08
   mesa_noglu = mesa; # added 2019-05-28
@@ -236,6 +274,7 @@ mapAliases ({
   networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25
   networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25
   networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25
+  nix-review = nixpkgs-review; # added 2019-12-22
   nfsUtils = nfs-utils;  # added 2014-12-06
   nginxUnstable = nginxMainline; # added 2018-04-25
   nilfs_utils = nilfs-utils; # added 2018-04-25
@@ -244,11 +283,13 @@ mapAliases ({
   nxproxy = nx-libs; # added 2019-02-15
   nylas-mail-bin = throw "deprecated in 2019-09-11: abandoned by upstream";
   opencascade_oce = opencascade; # added 2018-04-25
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
   opencl-icd = ocl-icd; # added 2017-01-20
   openexr_ctl = ctl; # added 2018-04-25
   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
@@ -269,6 +310,7 @@ mapAliases ({
   pltScheme = racket; # just to be sure
   plexpy = tautulli; # plexpy got renamed to tautulli, added 2019-02-22
   pmtools = acpica-tools; # added 2018-11-01
+  polarssl = mbedtls; # added 2018-04-25
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
   postgresql95 = postgresql_9_5;
   postgresql96 = postgresql_9_6;
@@ -286,23 +328,37 @@ mapAliases ({
   pg_hll = postgresqlPackages.pg_hll;
   pg_cron = postgresqlPackages.pg_cron;
   pg_topn = postgresqlPackages.pg_topn;
+  pinentry_curses = pinentry-curses; # added 2019-10-14
+  pinentry_emacs = pinentry-emacs; # added 2019-10-14
+  pinentry_gtk2 = pinentry-gtk2; # added 2019-10-14
+  pinentry_qt = pinentry-qt; # added 2019-10-14
+  pinentry_gnome = pinentry-gnome; # added 2019-10-14
   postgis = postgresqlPackages.postgis;
   # end
   ppl-address-book = throw "deprecated in 2019-05-02: abandoned by upstream.";
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
+  pygmentex = texlive.bin.pygmentex; # added 2019-12-15
   pyo3-pack = maturin;
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   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
   qtpfsgui = throw "Is now luminanceHDR"; # added 2019-06-26
+  rdf4store = throw "rdf4store has been removed from nixpkgs."; # added 2019-12-21
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rdmd = dtools;  # added 2017-08-19
   rhc = throw "deprecated in 2019-04-09: abandoned by upstream.";
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
+  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   ruby_2_0_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_1_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_2_9 = throw "deprecated 2018-0213: use ruby_2_2 instead";
@@ -317,6 +373,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
@@ -325,6 +383,8 @@ mapAliases ({
   sapic = throw "deprecated 2019-1-19: sapic is bundled with 'tamarin-prover' now";
   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
@@ -334,11 +394,15 @@ 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
+  net_snmp = net-snmp; # added 2019-12-21
   spaceOrbit = space-orbit; # addewd 2016-05-23
   speech_tools = speech-tools; # added 2018-04-25
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   spice_gtk = spice-gtk; # added 2018-02-25
   spice_protocol = spice-protocol; # added 2018-02-25
+  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_60 instead."; # added 2019-10-16
   sqlite3_analyzer = sqlite-analyzer; # added 2018-05-22
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
   squid4 = squid;  # added 2019-08-22
@@ -364,12 +428,14 @@ mapAliases ({
   terraform-provider-libvirt = terraform-providers.libvirt; # added 2018-09-28
   terraform-provider-nixos = terraform-providers.nixos; # added 2018-09-28
   tesseract_4 = tesseract4; # added 2018-12-19
+  testdisk-photorec = throw "This package was a duplicate, please use testdisk or testdisk-qt instead"; # added 2019-10-13
   tex-gyre-bonum-math = tex-gyre-math.bonum; # added 2018-04-03
   tex-gyre-pagella-math = tex-gyre-math.pagella; # added 2018-04-03
   tex-gyre-schola-math = tex-gyre-math.schola; # added 2018-04-03
   tex-gyre-termes-math = tex-gyre-math.termes; # added 2018-04-03
   tftp_hpa = tftp-hpa; # added 2015-04-03
   torbrowser = tor-browser-bundle-bin; # added 2017-04-05
+  transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned.";
   trang = jing-trang; # added 2018-04-25
   transmission_gtk = transmission-gtk; # added 2018-01-06
   transmission_remote_gtk = transmission-remote-gtk; # added 2018-01-06
@@ -379,18 +445,29 @@ mapAliases ({
   ultrastardx-beta = ultrastardx; # added 2017-08-12
   usb_modeswitch = usb-modeswitch; # added 2016-05-10
   usbguard-nox = usbguard; # added 2019-09-04
+  uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries";
   v4l_utils = v4l-utils; # added 2019-08-07
+  v8_3_16_14 = throw "removed 2019-11-01: no longer referenced by other packages";
+  valadoc = throw "deprecated 2019-10-10: valadoc was merged into vala 0.38";
   vimbWrapper = vimb; # added 2015-01
-  vimprobable2Wrapper = vimprobable2; # added 2015-01
+  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # added 2019-12-05
+  vimprobable2-unwrapped = vimprobable2; # added 2019-12-05
   virtviewer = virt-viewer; # added 2015-12-24
+  virtmanager = virt-manager; # added 2019-10-29
+  virtmanager-qt = virt-manager-qt; # added 2019-10-29
   vorbisTools = vorbis-tools; # added 2016-01-26
   webkit = webkitgtk; # added 2019-03-05
+  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
+  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
   weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
+  winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
   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
@@ -401,6 +478,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
@@ -439,8 +517,8 @@ mapAliases ({
   };
 
   # added 2019-08-01
-  mumble_git = pkgs.mumble_rc;
-  murmur_git = pkgs.murmur_rc;
+  mumble_git = pkgs.mumble;
+  murmur_git = pkgs.murmur;
 
   # added 2019-09-06
   zeroc_ice = pkgs.zeroc-ice;
@@ -449,4 +527,8 @@ mapAliases ({
   ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml;
   ocaml_4_02   = ocamlPackages_4_02.ocaml;
   ocaml_4_03   = ocamlPackages_4_03.ocaml;
-}))
+}) // {
+
+  # added 2019-10-28
+  gnatsd = nats-server;
+})
diff --git a/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index 754e3403f43d..06875d2fc56e 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -153,13 +153,15 @@ in
 
   castxml = callPackage ../development/tools/castxml { };
 
+  cereal = callPackage ../development/libraries/cereal { };
+
   clj-kondo = callPackage ../development/tools/clj-kondo { };
 
   cmark = callPackage ../development/libraries/cmark { };
 
   cm256cc = callPackage ../development/libraries/cm256cc {  };
 
-  conftest = callPackage ../development/tools/conftest {};
+  conftest = callPackage ../development/tools/conftest { };
 
   corgi = callPackage ../development/tools/corgi { };
 
@@ -213,8 +215,14 @@ in
 
   dotnet-sdk = callPackage ../development/compilers/dotnet/sdk { };
 
+  dumb-init = callPackage ../applications/virtualization/dumb-init {};
+
+  umoci = callPackage ../applications/virtualization/umoci {};
+
   dispad = callPackage ../tools/X11/dispad { };
 
+  dupeguru = callPackage ../applications/misc/dupeguru { };
+
   dump1090 = callPackage ../applications/radio/dump1090 { };
 
   ebook2cw = callPackage ../applications/radio/ebook2cw { };
@@ -244,8 +252,6 @@ in
     cacert = buildPackages.cacert;
   };
 
-  fetchgitPrivate = callPackage ../build-support/fetchgit/private.nix { };
-
   fetchgitLocal = callPackage ../build-support/fetchgitlocal { };
 
   fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {});
@@ -260,7 +266,11 @@ in
 
   packer = callPackage ../development/tools/packer { };
 
-  packr = callPackage ../development/libraries/packr { };
+  packr = callPackage ../development/libraries/packr {
+    # Version 2.6.0 fails to build with go 1.13 due to nested modules:
+    #   go: directory v2/packr2 is outside main module
+    buildGoModule = buildGo112Module;
+  };
 
   pet = callPackage ../development/tools/pet { };
 
@@ -283,8 +293,10 @@ in
   fetchhg = callPackage ../build-support/fetchhg { };
 
   # `fetchurl' downloads a file from the network.
-  fetchurl = makeOverridable (import ../build-support/fetchurl) {
-    inherit lib stdenvNoCC;
+  fetchurl = if stdenv.buildPlatform != stdenv.hostPlatform
+   then buildPackages.fetchurl # No need to do special overrides twice,
+   else makeOverridable (import ../build-support/fetchurl) {
+    inherit lib stdenvNoCC buildPackages;
     curl = buildPackages.curl.override (old: rec {
       # break dependency cycles
       fetchurl = stdenv.fetchurlBoot;
@@ -348,6 +360,8 @@ in
 
   fetchFromGitLab = callPackage ../build-support/fetchgitlab {};
 
+  fetchFromGitiles = callPackage ../build-support/fetchgitiles {};
+
   fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {};
 
   fetchNuGet = callPackage ../build-support/fetchnuget { };
@@ -446,7 +460,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;
@@ -470,6 +484,8 @@ in
 
   _1password = callPackage ../applications/misc/1password { };
 
+  _6tunnel = callPackage ../tools/networking/6tunnel { };
+
   _9pfs = callPackage ../tools/filesystems/9pfs { };
 
   a2ps = callPackage ../tools/text/a2ps { };
@@ -492,6 +508,8 @@ in
 
   acpica-tools = callPackage ../tools/system/acpica-tools { };
 
+  act = callPackage ../development/tools/misc/act {};
+
   actdiag = with python3.pkgs; toPythonApplication actdiag;
 
   actkbd = callPackage ../tools/system/actkbd { };
@@ -525,7 +543,7 @@ in
 
   amass = callPackage ../tools/networking/amass { };
 
-  afew = callPackage ../applications/networking/mailreaders/afew { pythonPackages = python3Packages; };
+  afew = callPackage ../applications/networking/mailreaders/afew { };
 
   afio = callPackage ../tools/archivers/afio { };
 
@@ -549,6 +567,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 { };
@@ -611,7 +631,9 @@ in
 
   arandr = callPackage ../tools/X11/arandr { };
 
-  inherit (callPackages ../servers/nosql/arangodb { }) arangodb_3_3 arangodb_3_4 arangodb_3_5;
+  inherit (callPackages ../servers/nosql/arangodb {
+    stdenv = gcc8Stdenv;
+  }) arangodb_3_3 arangodb_3_4 arangodb_3_5;
   arangodb = arangodb_3_4;
 
   arcanist = callPackage ../development/tools/misc/arcanist {};
@@ -652,10 +674,16 @@ 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 { };
+
   atomicparsley = callPackage ../tools/video/atomicparsley {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -684,15 +712,15 @@ in
 
   aws-rotate-key = callPackage ../tools/admin/aws-rotate-key { };
 
-  aws_shell = pythonPackages.callPackage ../tools/admin/aws_shell { };
+  aws_shell = callPackage ../tools/admin/aws_shell { };
 
-  aws-sam-cli = callPackage ../development/tools/aws-sam-cli { };
+  aws-sam-cli = callPackage ../development/tools/aws-sam-cli { python = python3; };
 
   aws-vault = callPackage ../tools/admin/aws-vault { };
 
   iamy = callPackage ../tools/admin/iamy { };
 
-  azure-cli = nodePackages_10_x.azure-cli;
+  azure-cli = callPackage ../tools/admin/azure-cli { python = python3; };
 
   azure-storage-azcopy = callPackage ../development/tools/azcopy { };
 
@@ -700,14 +728,20 @@ in
 
   awless = callPackage ../tools/virtualization/awless { };
 
+  berglas = callPackage ../tools/admin/berglas/default.nix { };
+
   brakeman = callPackage ../development/tools/analysis/brakeman { };
 
   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 { };
 
+  ec2-utils = callPackage ../tools/virtualization/ec2-utils { };
+
   altermime = callPackage ../tools/networking/altermime {};
 
   alttab = callPackage ../tools/X11/alttab { };
@@ -726,11 +760,6 @@ in
 
   apg = callPackage ../tools/security/apg { };
 
-  apt = callPackage ../tools/package-management/apt {
-    # include/c++/6.4.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
-    stdenv = gcc5Stdenv;
-  };
-
   apt-dater = callPackage ../tools/package-management/apt-dater { };
 
   autorevision = callPackage ../tools/misc/autorevision { };
@@ -741,7 +770,7 @@ in
 
   bitwarden = callPackage ../tools/security/bitwarden { };
 
-  bitwarden-cli = callPackage ../tools/security/bitwarden-cli { };
+  inherit (nodePackages) bitwarden-cli;
 
   bitwarden_rs = callPackage ../tools/security/bitwarden_rs {
     inherit (darwin.apple_sdk.frameworks) Security CoreServices;
@@ -755,6 +784,8 @@ in
 
   bonfire = callPackage ../tools/misc/bonfire { };
 
+  boulder = callPackage ../tools/admin/boulder { };
+
   buildbot = with python3Packages; toPythonApplication buildbot;
   buildbot-ui = with python3Packages; toPythonApplication buildbot-ui;
   buildbot-full = with python3Packages; toPythonApplication buildbot-full;
@@ -762,6 +793,8 @@ in
 
   bunny = callPackage ../tools/package-management/bunny { };
 
+  calls = callPackage ../applications/networking/calls { };
+
   certigo = callPackage ../tools/admin/certigo { };
 
   chezmoi = callPackage ../tools/misc/chezmoi { };
@@ -775,6 +808,10 @@ in
 
   cloud-sql-proxy = callPackage ../tools/misc/cloud-sql-proxy { };
 
+  cloudflare-wrangler = callPackage ../development/tools/cloudflare-wrangler { };
+
+  codeql = callPackage ../development/tools/analysis/codeql { };
+
   container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
 
   ccextractor = callPackage ../applications/video/ccextractor { };
@@ -787,6 +824,8 @@ in
 
   claws = callPackage ../tools/misc/claws { };
 
+  cloud-custodian = python3Packages.callPackage ../tools/networking/cloud-custodian  { };
+
   codespell = with python3Packages; toPythonApplication codespell;
 
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
@@ -811,7 +850,7 @@ in
 
   dgsh = callPackage ../shells/dgsh { };
 
-  dkimpy = with pythonPackages; toPythonApplication dkimpy;
+  dkimpy = with python3Packages; toPythonApplication dkimpy;
 
   dpt-rp1-py = callPackage ../tools/misc/dpt-rp1-py { };
 
@@ -821,6 +860,8 @@ in
 
   elvish = callPackage ../shells/elvish { };
 
+  emplace = callPackage ../tools/package-management/emplace { };
+
   encryptr = callPackage ../tools/security/encryptr {
     gconf = gnome2.GConf;
   };
@@ -829,6 +870,8 @@ in
 
   enpass = callPackage ../tools/security/enpass { };
 
+  essentia-extractor = callPackage ../tools/audio/essentia-extractor { };
+
   esh = callPackage ../tools/text/esh { };
 
   ezstream = callPackage ../tools/audio/ezstream { };
@@ -839,6 +882,8 @@ in
 
   genymotion = callPackage ../development/mobile/genymotion { };
 
+  gaia = callPackage ../development/libraries/gaia { };
+
   gamecube-tools = callPackage ../development/tools/gamecube-tools { };
 
   gams = callPackage ../tools/misc/gams (config.gams or {});
@@ -855,10 +900,12 @@ in
 
   github-commenter = callPackage ../development/tools/github-commenter { };
 
-  gitless = callPackage ../applications/version-management/gitless { };
+  gitless = callPackage ../applications/version-management/gitless { python = python3; };
 
   gitter = callPackage  ../applications/networking/instant-messengers/gitter { };
 
+  gjs = callPackage ../development/libraries/gjs { };
+
   glasgow = with python3Packages; toPythonApplication glasgow;
 
   gucci = callPackage ../tools/text/gucci { };
@@ -875,6 +922,8 @@ in
 
   glyr = callPackage ../tools/audio/glyr { };
 
+  hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
+
   httperf = callPackage ../tools/networking/httperf { };
 
   ili2c = callPackage ../tools/misc/ili2c { };
@@ -891,6 +940,10 @@ in
 
   pass = callPackage ../tools/security/pass { };
 
+  pass-wayland = callPackage ../tools/security/pass {
+    waylandSupport = true;
+  };
+
   passExtensions = recurseIntoAttrs pass.extensions;
 
   asc-key-to-qr-code-gif = callPackage ../tools/security/asc-key-to-qr-code-gif { };
@@ -923,6 +976,8 @@ in
 
   m-cli = callPackage ../os-specific/darwin/m-cli { };
 
+  pebble = callPackage ../tools/admin/pebble { };
+
   reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace {};
 
   skhd = callPackage ../os-specific/darwin/skhd {
@@ -969,12 +1024,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;
@@ -1015,6 +1064,8 @@ in
 
   awstats = callPackage ../tools/system/awstats { };
 
+  awsweeper = callPackage ../tools/admin/awsweeper { };
+
   axel = callPackage ../tools/networking/axel {
     libssl = openssl;
   };
@@ -1033,6 +1084,10 @@ in
 
   backblaze-b2 = python.pkgs.callPackage ../development/tools/backblaze-b2 { };
 
+  bandwhich = callPackage ../tools/networking/bandwhich {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   bar = callPackage ../tools/system/bar {};
 
   base16-shell-preview = callPackage ../misc/base16-shell-preview { };
@@ -1099,6 +1154,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 { };
@@ -1178,8 +1235,6 @@ in
 
   boot = callPackage ../development/tools/build-managers/boot { };
 
-  bootchart = callPackage ../tools/system/bootchart { };
-
   bowtie2 = callPackage ../applications/science/biology/bowtie2 { };
 
   boxfs = callPackage ../tools/filesystems/boxfs { };
@@ -1192,10 +1247,6 @@ in
 
   brltty = callPackage ../tools/misc/brltty { };
 
-  bro = callPackage ../applications/networking/ids/bro {
-    openssl = openssl_1_0_2;
-  };
-
   brook = callPackage ../tools/networking/brook { };
 
   broot = callPackage ../tools/misc/broot { };
@@ -1215,6 +1266,8 @@ in
     asciidoc = asciidoc-full;
   };
 
+  buildpack = callPackage ../development/tools/buildpack { };
+
   buildtorrent = callPackage ../tools/misc/buildtorrent { };
 
   bustle = haskellPackages.bustle;
@@ -1243,13 +1296,15 @@ in
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
+  bs-platform = (callPackage ../development/compilers/bs-platform {}).bs-platform-621;
+
   c3d = callPackage ../applications/graphics/c3d {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
   cue2pops = callPackage ../tools/cd-dvd/cue2pops { };
 
-  cabal2nix = haskell.lib.overrideCabal (haskell.lib.generateOptparseApplicativeCompletion "cabal2nix" haskellPackages.cabal2nix) (drv: {
+  cabal2nix = haskell.lib.overrideCabal (haskell.lib.generateOptparseApplicativeCompletion "cabal2nix" haskell.packages.ghc881.cabal2nix) (drv: {
     isLibrary = false;
     enableSharedExecutables = false;
     executableToolDepends = (drv.executableToolDepends or []) ++ [ makeWrapper ];
@@ -1272,6 +1327,7 @@ in
   });
 
   caddy = callPackage ../servers/caddy { };
+  caddy2 = callPackage ../servers/caddy/v2.nix { };
   traefik = callPackage ../servers/traefik { };
 
   calamares = libsForQt5.callPackage ../tools/misc/calamares {
@@ -1303,6 +1359,8 @@ in
 
   cardpeek = callPackage ../applications/misc/cardpeek { };
 
+  cawbird = callPackage ../applications/networking/cawbird { };
+
   cde = callPackage ../tools/package-management/cde { };
 
   cdemu-daemon = callPackage ../misc/emulators/cdemu/daemon.nix { };
@@ -1341,6 +1399,8 @@ in
 
   clac = callPackage ../tools/misc/clac {};
 
+  clash = callPackage ../tools/networking/clash { };
+
   clasp = callPackage ../tools/misc/clasp { };
 
   cli53 = callPackage ../tools/admin/cli53 { };
@@ -1369,7 +1429,11 @@ in
 
   compactor = callPackage ../applications/networking/compactor { };
 
-  consul = callPackage ../servers/consul { };
+  consul = callPackage ../servers/consul {
+    # Version 1.6.0 fails to build with go 1.13 due to broken dependency:
+    #   go/src/github.com/hashicorp/consul/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http_status.pb.go:11:2: code in directory /build/go/src/github.com/hashicorp/consul/vendor/github.com/envoyproxy/protoc-gen-validate/validate expects import "github.com/lyft/protoc-gen-validate/validate"
+    buildGoPackage = buildGo112Package;
+  };
 
   consul-alerts = callPackage ../servers/monitoring/consul-alerts { };
 
@@ -1377,8 +1441,6 @@ in
 
   copyright-update = callPackage ../tools/text/copyright-update { };
 
-  corebird = callPackage ../applications/networking/corebird { };
-
   inherit (callPackage ../tools/misc/coreboot-utils { })
     msrtool
     cbmem
@@ -1401,9 +1463,11 @@ in
 
   chntpw = callPackage ../tools/security/chntpw { };
 
+  clipman = callPackage ../tools/misc/clipman { };
+
   clipster = callPackage ../tools/misc/clipster { };
 
-  coprthr = callPackage ../development/libraries/coprthr { };
+  contrast = callPackage ../applications/accessibility/contrast { };
 
   cplex = callPackage ../applications/science/math/cplex (config.cplex or {});
 
@@ -1420,7 +1484,9 @@ in
 
   colorls = callPackage ../tools/system/colorls { };
 
-  coloursum = callPackage ../tools/text/coloursum { };
+  coloursum = callPackage ../tools/text/coloursum {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   compsize = callPackage ../os-specific/linux/compsize { };
 
@@ -1436,6 +1502,8 @@ in
 
   crip = callPackage ../applications/audio/crip { };
 
+  crosvm = callPackage ../applications/virtualization/crosvm { };
+
   crunch = callPackage ../tools/security/crunch { };
 
   crudini = callPackage ../tools/misc/crudini { };
@@ -1462,6 +1530,10 @@ in
 
   dateutils = callPackage ../tools/misc/dateutils { };
 
+  datovka = libsForQt5.callPackage ../applications/networking/datovka { };
+
+  dconf = callPackage ../development/libraries/dconf { };
+
   ddar = callPackage ../tools/backup/ddar { };
 
   ddate = callPackage ../tools/misc/ddate { };
@@ -1529,9 +1601,9 @@ in
 
   doitlive = callPackage ../tools/misc/doitlive { };
 
-  dosage = callPackage ../applications/graphics/dosage {
-    pythonPackages = python3Packages;
-  };
+  dokuwiki = callPackage ../servers/web-apps/dokuwiki { };
+
+  dosage = callPackage ../applications/graphics/dosage { };
 
   dozenal = callPackage ../applications/misc/dozenal { };
 
@@ -1549,10 +1621,19 @@ in
 
   dua = callPackage ../tools/misc/dua { };
 
-  inherit (ocamlPackages) dune;
+  inherit (ocamlPackages) dune dune_2;
 
   duperemove = callPackage ../tools/filesystems/duperemove { };
 
+  dvc = callPackage ../applications/version-management/dvc { };
+
+  dvc-with-remotes = callPackage ../applications/version-management/dvc {
+    enableGoogle = true;
+    enableAWS = true;
+    enableAzure = true;
+    enableSSH = true;
+  };
+
   dylibbundler = callPackage ../tools/misc/dylibbundler { };
 
   dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
@@ -1577,6 +1658,8 @@ in
 
   elm-github-install = callPackage ../tools/package-management/elm-github-install { };
 
+  elogind = callPackage ../applications/misc/elogind { };
+
   enca = callPackage ../tools/text/enca { };
 
   ent = callPackage ../tools/misc/ent { };
@@ -1617,6 +1700,8 @@ in
 
   fast-cli = nodePackages.fast-cli;
 
+  faudio = callPackage ../development/libraries/faudio { };
+
   fd = callPackage ../tools/misc/fd { };
 
   fdroidserver = python3Packages.callPackage ../development/tools/fdroidserver { };
@@ -1625,12 +1710,18 @@ in
     bison = bison2;
   };
 
+  fileshare = callPackage ../servers/fileshare {};
+
   fileshelter = callPackage ../servers/web-apps/fileshelter { };
 
   firecracker = callPackage ../applications/virtualization/firecracker { };
 
+  firectl = callPackage ../applications/virtualization/firectl { };
+
   firestarter = callPackage ../applications/misc/firestarter { };
 
+  fselect = callPackage ../tools/misc/fselect { };
+
   fsmon = callPackage ../tools/misc/fsmon { };
 
   fsql = callPackage ../tools/misc/fsql { };
@@ -1649,6 +1740,8 @@ in
 
   fzf = callPackage ../tools/misc/fzf { };
 
+  fzf-zsh = callPackage ../shells/zsh/fzf-zsh { };
+
   fzy = callPackage ../tools/misc/fzy { };
 
   g2o = callPackage ../development/libraries/g2o { };
@@ -1677,6 +1770,8 @@ in
 
   gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
 
+  gir-rs = callPackage ../development/tools/gir { };
+
   gist = callPackage ../tools/text/gist { };
 
   gixy = callPackage ../tools/admin/gixy { };
@@ -1709,6 +1804,8 @@ in
 
   gosu = callPackage ../tools/misc/gosu { };
 
+  gotify-cli = callPackage ../tools/misc/gotify-cli { };
+
   gping = callPackage ../tools/networking/gping { };
 
   greg = callPackage ../applications/audio/greg {
@@ -1755,15 +1852,19 @@ in
 
   icdiff = callPackage ../tools/text/icdiff {};
 
+  ifm = callPackage ../tools/graphics/ifm {};
+
   interlock = callPackage ../servers/interlock {};
 
-  jellyfin = callPackage ../servers/jellyfin { };
+  jellyfin = callPackage ../servers/jellyfin { ffmpeg = ffmpeg_4; };
+
+  jotta-cli = callPackage ../applications/misc/jotta-cli { };
 
   kapacitor = callPackage ../servers/monitoring/kapacitor { };
 
   kisslicer = callPackage ../tools/misc/kisslicer { };
 
-  klaus = with pythonPackages; toPythonApplication klaus;
+  klaus = with python3Packages; toPythonApplication klaus;
 
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
@@ -1799,7 +1900,7 @@ in
 
   marlin-calc = callPackage ../tools/misc/marlin-calc {};
 
-  mathics = pythonPackages.mathics;
+  mathics = with python2Packages; toPythonApplication mathics;
 
   masscan = callPackage ../tools/security/masscan {
     stdenv = gccStdenv;
@@ -1815,6 +1916,8 @@ in
 
   meson = callPackage ../development/tools/build-managers/meson { };
 
+  meson-tools = callPackage ../misc/meson-tools { };
+
   metabase = callPackage ../servers/metabase { };
 
   mididings = callPackage ../tools/audio/mididings { };
@@ -1851,6 +1954,8 @@ in
 
   nfdump = callPackage ../tools/networking/nfdump { };
 
+  nfstrace = callPackage ../tools/networking/nfstrace { };
+
   nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools;
 
   noteshrink = callPackage ../tools/misc/noteshrink { };
@@ -1871,10 +1976,16 @@ in
 
   onboard = callPackage ../applications/misc/onboard { };
 
+  onnxruntime = callPackage ../development/libraries/onnxruntime { };
+
   xkbd = callPackage ../applications/misc/xkbd { };
 
   optar = callPackage ../tools/graphics/optar {};
 
+  pastel = callPackage ../applications/misc/pastel {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   patdiff = callPackage ../tools/misc/patdiff { };
 
   pbpst = callPackage ../applications/misc/pbpst { };
@@ -1895,6 +2006,8 @@ in
 
   psstop = callPackage ../tools/system/psstop { };
 
+  precice = callPackage ../development/libraries/precice { };
+
   parallel-rust = callPackage ../tools/misc/parallel-rust { };
 
   pyCA = python3Packages.callPackage ../applications/video/pyca {};
@@ -1919,12 +2032,18 @@ in
 
   snipes = callPackage ../games/snipes { };
 
+  snippetpixie = callPackage ../tools/text/snippetpixie { };
+
   socklog = callPackage ../tools/system/socklog { };
 
   staccato = callPackage ../tools/text/staccato { };
 
   stagit = callPackage ../development/tools/stagit { };
 
+  step-ca = callPackage ../tools/security/step-ca { };
+
+  step-cli = callPackage ../tools/security/step-cli { };
+
   bash-supergenpass = callPackage ../tools/security/bash-supergenpass { };
 
   sweep-visualizer = callPackage ../tools/misc/sweep-visualizer { };
@@ -1939,6 +2058,8 @@ in
     rainloop-community
     rainloop-standard;
 
+  rav1e = callPackage ../tools/video/rav1e { };
+
   ring-daemon = callPackage ../applications/networking/instant-messengers/ring-daemon { };
 
   riot-desktop = callPackage ../applications/networking/instant-messengers/riot/riot-desktop.nix { };
@@ -1947,7 +2068,9 @@ in
     conf = config.riot-web.conf or null;
   };
 
-  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {};
+  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
+  };
 
   roundcube = callPackage ../servers/roundcube { };
 
@@ -1959,24 +2082,22 @@ in
 
   rsyslog = callPackage ../tools/system/rsyslog {
     hadoop = null; # Currently Broken
-    czmq = czmq3;
   };
 
   rsyslog-light = rsyslog.override {
     libkrb5 = null;
     systemd = null;
     jemalloc = null;
-    mysql = null;
+    libmysqlclient = null;
     postgresql = null;
     libdbi = null;
-    net_snmp = null;
+    net-snmp = null;
     libuuid = null;
     gnutls = null;
     libgcrypt = null;
     liblognorm = null;
     openssl = null;
     librelp = null;
-    libgt = null;
     libksi = null;
     liblogging = null;
     libnet = null;
@@ -2048,6 +2169,8 @@ in
     epubcheck = null;
   };
 
+  asciidoctorj = callPackage ../tools/typesetting/asciidoctorj { };
+
   asunder = callPackage ../applications/audio/asunder { };
 
   autossh = callPackage ../tools/networking/autossh { };
@@ -2072,8 +2195,6 @@ in
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
-  beegfs = callPackage ../os-specific/linux/beegfs { };
-
   beets = callPackage ../tools/audio/beets {
     pythonPackages = python3Packages;
   };
@@ -2131,6 +2252,8 @@ in
 
   atool = callPackage ../tools/archivers/atool { };
 
+  bash_unit = callPackage ../tools/misc/bash_unit { };
+
   bsc = callPackage ../tools/compression/bsc {
     inherit (llvmPackages) openmp;
   };
@@ -2171,6 +2294,12 @@ in
 
   cdrkit = callPackage ../tools/cd-dvd/cdrkit { };
 
+  cdrtools = callPackage ../tools/cd-dvd/cdrtools {
+    inherit (darwin.apple_sdk.frameworks) Carbon IOKit;
+  };
+
+  isomd5sum = callPackage ../tools/cd-dvd/isomd5sum { };
+
   mdf2iso = callPackage ../tools/cd-dvd/mdf2iso { };
 
   nrg2iso = callPackage ../tools/cd-dvd/nrg2iso { };
@@ -2219,7 +2348,13 @@ in
 
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
-  circleci-cli = callPackage ../development/tools/misc/circleci-cli { };
+  circleci-cli = callPackage ../development/tools/misc/circleci-cli {
+    # Version 0.1.5879 fails to build with go 1.13 due to:
+    #   build github.com/CircleCI-Public/circleci-cli: cannot load github.com/gobuffalo/packr/v2: github.com/gobuffalo/packr@v1.21.0: reading file:///nix/store/hh9hrfdg3gbqz37sa3hx44mkzkxpkkyw-circleci-cli-0.1.5879-go-modules/github.com/gobuffalo/packr/@v/v1.21.0.zip: Not Found
+    buildGoModule = buildGo112Module;
+  };
+
+  circus = callPackage ../tools/networking/circus { };
 
   # Cleanup before 20.03:
   citrix_receiver = throw "citrix_receiver has been discontinued by Citrix (https://docs.citrix.com/en-us/citrix-workspace-app.html). Please use citrix_workspace.";
@@ -2229,6 +2364,8 @@ in
   citrix_receiver_13_8_0  = citrix_receiver;
 
   citrix_workspace_unwrapped = callPackage ../applications/networking/remote/citrix-workspace { };
+  citrix_workspace_unwrapped_19_12_0 = citrix_workspace_unwrapped.override { version = "19.12.0"; };
+  citrix_workspace_unwrapped_19_10_0 = citrix_workspace_unwrapped.override { version = "19.10.0"; };
   citrix_workspace_unwrapped_19_8_0 = citrix_workspace_unwrapped.override { version = "19.8.0"; };
   citrix_workspace_unwrapped_19_6_0 = citrix_workspace_unwrapped.override { version = "19.6.0"; };
   citrix_workspace_unwrapped_19_3_0 = citrix_workspace_unwrapped.override { version = "19.3.0"; };
@@ -2236,6 +2373,12 @@ in
   citrix_workspace = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped;
   };
+  citrix_workspace_19_12_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
+    citrix_workspace = citrix_workspace_unwrapped_19_12_0;
+  };
+  citrix_workspace_19_10_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
+    citrix_workspace = citrix_workspace_unwrapped_19_10_0;
+  };
   citrix_workspace_19_8_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped_19_8_0;
   };
@@ -2252,10 +2395,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 { };
@@ -2315,6 +2454,10 @@ in
 
   anthy = callPackage ../tools/inputmethods/anthy { };
 
+  evdevremapkeys = callPackage ../tools/inputmethods/evdevremapkeys { };
+
+  gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { };
+
   libpinyin = callPackage ../development/libraries/libpinyin { };
 
   libskk = callPackage ../development/libraries/libskk {
@@ -2338,9 +2481,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 { };
 
@@ -2361,9 +2502,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;
@@ -2382,15 +2521,15 @@ 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 = {
     caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { };
   };
 
+  age = callPackage ../tools/security/age { };
+
   brotli = callPackage ../tools/compression/brotli { };
 
   biosdevname = callPackage ../tools/networking/biosdevname { };
@@ -2465,7 +2604,8 @@ in
 
   cron = callPackage ../tools/system/cron { };
 
-  inherit (callPackages ../development/compilers/cudatoolkit { })
+  cudaPackages = recurseIntoAttrs (callPackage ../development/compilers/cudatoolkit {});
+  inherit (cudaPackages)
     cudatoolkit_6
     cudatoolkit_6_5
     cudatoolkit_7
@@ -2476,11 +2616,13 @@ in
     cudatoolkit_9_1
     cudatoolkit_9_2
     cudatoolkit_10
-    cudatoolkit_10_0;
+    cudatoolkit_10_0
+    cudatoolkit_10_1;
 
-  cudatoolkit = cudatoolkit_9;
+  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
@@ -2490,9 +2632,10 @@ in
     cudnn_cudatoolkit_9_1
     cudnn_cudatoolkit_9_2
     cudnn_cudatoolkit_10
-    cudnn_cudatoolkit_10_0;
+    cudnn_cudatoolkit_10_0
+    cudnn_cudatoolkit_10_1;
 
-  cudnn = cudnn_cudatoolkit_9;
+  cudnn = cudnn_cudatoolkit_10;
 
   curlFull = curl.override {
     idnSupport = true;
@@ -2505,7 +2648,11 @@ in
 
   curl_unix_socket = callPackage ../tools/networking/curl-unix-socket { };
 
-  curlie = callPackage ../tools/networking/curlie { };
+  curlie = callPackage ../tools/networking/curlie {
+    # Version 1.2.0 fails to build with go 1.13 due to:
+    #    verifying golang.org/x/crypto@v0.0.0-20180524125353-159ae71589f3: golang.org/x/crypto@v0.0.0-20180524125353-159ae71589f3: Get https://sum.golang.org/lookup/golang.org/x/crypto@v0.0.0-20180524125353-159ae71589f3: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:49088->[::1]:53: read: connection refused
+    buildGoModule = buildGo112Module;
+  };
 
   cunit = callPackage ../tools/misc/cunit { };
   bcunit = callPackage ../tools/misc/bcunit { };
@@ -2604,6 +2751,8 @@ in
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
+  dnsproxy = callPackage ../tools/networking/dnsproxy { };
+
   dnsperf = callPackage ../tools/networking/dnsperf { };
 
   dnsrecon = callPackage ../tools/security/dnsrecon { };
@@ -2626,6 +2775,10 @@ in
     jdk = jdk8;
   };
 
+  diffr = callPackage ../tools/text/diffr {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   diffstat = callPackage ../tools/text/diffstat { };
 
   diffutils = callPackage ../tools/text/diffutils { };
@@ -2791,13 +2944,17 @@ in
 
   strawberry = libsForQt5.callPackage ../applications/audio/strawberry { };
 
-  tealdeer = callPackage ../tools/misc/tealdeer { };
+  tealdeer = callPackage ../tools/misc/tealdeer {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   teamocil = callPackage ../tools/misc/teamocil { };
 
   tsm-client = callPackage ../tools/backup/tsm-client { jdk8 = null; };
   tsm-client-withGui = callPackage ../tools/backup/tsm-client { };
 
+  trac = pythonPackages.callPackage ../tools/misc/trac { };
+
   tracker = callPackage ../development/libraries/tracker { };
 
   tracker-miners = callPackage ../development/libraries/tracker-miners { };
@@ -2810,20 +2967,29 @@ in
 
   uutils-coreutils = callPackage ../tools/misc/uutils-coreutils {
     inherit (pythonPackages) sphinx;
+    inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  volctl = callPackage ../tools/audio/volctl { };
+
   wallutils = callPackage ../tools/graphics/wallutils { };
 
   wev = callPackage ../tools/misc/wev { };
 
   wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
 
+  wob = callPackage ../tools/misc/wob { };
+
+  xob = callPackage ../tools/X11/xob { };
+
   z-lua = callPackage ../tools/misc/z-lua { };
 
   zabbix-cli = callPackage ../tools/misc/zabbix-cli { };
 
   zabbixctl = callPackage ../tools/misc/zabbixctl { };
 
+  zeek = callPackage ../applications/networking/ids/zeek { };
+
   zzuf = callPackage ../tools/security/zzuf { };
 
   ### DEVELOPMENT / EMSCRIPTEN
@@ -2853,8 +3019,9 @@ in
   evemu = callPackage ../tools/system/evemu { };
 
   # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
+  # When updating make sure to update all plugins or they will break!
   elk6Version = "6.8.3";
-  elk7Version = "7.3.1";
+  elk7Version = "7.5.1";
 
   elasticsearch6 = callPackage ../servers/search/elasticsearch/6.x.nix {
     utillinux = utillinuxMinimal;
@@ -2885,18 +3052,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 { };
 
@@ -2908,9 +3066,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;
@@ -2918,11 +3074,9 @@ in
 
   enscript = callPackage ../tools/text/enscript { };
 
-  entr = callPackage ../tools/misc/entr { };
+  ensemble-chorus = callPackage ../applications/audio/ensemble-chorus { stdenv = gcc8Stdenv; };
 
-  envoy = callPackage ../tools/networking/envoy {
-    bazel = bazel_0_4;
-  };
+  entr = callPackage ../tools/misc/entr { };
 
   eot_utilities = callPackage ../tools/misc/eot-utilities { };
 
@@ -2936,6 +3090,8 @@ in
     inherit (pythonPackages) buildPythonApplication pygtk numpy;
   };
 
+  etcher = callPackage ../tools/misc/etcher { };
+
   ethtool = callPackage ../tools/misc/ethtool { };
 
   ettercap = callPackage ../applications/networking/sniffers/ettercap {
@@ -2952,6 +3108,8 @@ in
 
   evtest-qt = libsForQt5.callPackage ../applications/misc/evtest-qt { };
 
+  eva = callPackage ../tools/misc/eva { };
+
   exa = callPackage ../tools/misc/exa { };
 
   exempi = callPackage ../development/libraries/exempi {
@@ -3038,9 +3196,7 @@ in
 
   fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { };
 
-  fcppt = callPackage ../development/libraries/fcppt {
-    stdenv = gcc8Stdenv;
-  };
+  fcppt = callPackage ../development/libraries/fcppt { };
 
   fcrackzip = callPackage ../tools/security/fcrackzip { };
 
@@ -3071,7 +3227,6 @@ in
   flatpak-builder = callPackage ../development/tools/flatpak-builder { };
 
   fltrdr = callPackage ../tools/misc/fltrdr {
-    stdenv = gcc8Stdenv;
     icu = icu63;
   };
 
@@ -3095,6 +3250,10 @@ in
 
   filet = callPackage ../applications/misc/filet { };
 
+  findomain = callPackage ../tools/networking/findomain {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   findutils = callPackage ../tools/misc/findutils { };
 
   finger_bsd = callPackage ../tools/networking/bsd-finger { };
@@ -3143,6 +3302,8 @@ in
 
   fbv = callPackage ../tools/graphics/fbv { };
 
+  fbvnc = callPackage ../tools/admin/fbvnc {};
+
   fim = callPackage ../tools/graphics/fim { };
 
   flac123 = callPackage ../applications/audio/flac123 { };
@@ -3159,6 +3320,7 @@ in
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    python = python3;
   });
   fontforge-gtk = fontforge.override {
     withSpiro = true;
@@ -3195,9 +3357,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 { };
 
@@ -3213,7 +3372,7 @@ in
 
   freetds = callPackage ../development/libraries/freetds { };
 
-  frescobaldi = callPackage ../misc/frescobaldi {};
+  frescobaldi = python3Packages.callPackage ../misc/frescobaldi {};
 
   frostwire = callPackage ../applications/networking/p2p/frostwire { };
   frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
@@ -3285,6 +3444,11 @@ in
     inherit (darwin) locale;
   };
 
+  gawk-with-extensions = callPackage ../tools/text/gawk/gawk-with-extensions.nix {
+    extensions = gawkextlib.full;
+  };
+  gawkextlib = callPackage ../tools/text/gawk/gawkextlib.nix {};
+
   gawkInteractive = appendToName "interactive"
     (gawk.override { interactive = true; });
 
@@ -3350,11 +3514,19 @@ in
 
   gifski = callPackage ../tools/graphics/gifski { };
 
+  git-backup = callPackage ../applications/version-management/git-backup {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   git-big-picture = callPackage ../applications/version-management/git-and-tools/git-big-picture { };
 
   git-crecord = callPackage ../applications/version-management/git-crecord { };
 
-  git-lfs = lowPrio (callPackage ../applications/version-management/git-lfs { });
+  git-lfs = lowPrio (callPackage ../applications/version-management/git-lfs {
+    # Version 2.8.0 fails with go1.13
+    #    go: github.com/alexbrainman/sspi@v0.0.0-20180125232955-4729b3d4d858: Get https://proxy.golang.org/github.com/alexbrainman/sspi/@v/v0.0.0-20180125232955-4729b3d4d858.mod: dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:32932->[::1]:53: read: connection refused
+    buildGoPackage = buildGo112Package;
+  });
 
   git-lfs1 = callPackage ../applications/version-management/git-lfs/1.nix { };
 
@@ -3364,7 +3536,9 @@ in
 
   git-sizer = callPackage ../applications/version-management/git-sizer { };
 
-  git-up = callPackage ../applications/version-management/git-up { };
+  git-up = callPackage ../applications/version-management/git-up {
+    pythonPackages = python3Packages;
+  };
 
   gitfs = callPackage ../tools/filesystems/gitfs { };
 
@@ -3415,10 +3589,6 @@ in
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome15 = callPackage ../applications/misc/gnome15 {
-    inherit (gnome2) gnome_python gnome_python_desktop;
-  };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
@@ -3426,7 +3596,7 @@ in
   gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
 
   gnome-photos = callPackage ../applications/graphics/gnome-photos {
-    gegl = gnome3.gegl_0_4;
+    gegl = gegl_0_4;
   };
 
   gnokii = callPackage ../tools/misc/gnokii { };
@@ -3451,13 +3621,17 @@ in
   gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { };
   gnupg1 = gnupg1compat;    # use config.packageOverrides if you prefer original gnupg1
   gnupg20 = callPackage ../tools/security/gnupg/20.nix {
-    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry;
+    guiSupport = stdenv.isDarwin;
+    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
   };
   gnupg22 = callPackage ../tools/security/gnupg/22.nix {
-    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry;
+    guiSupport = stdenv.isDarwin;
+    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
   };
   gnupg = gnupg22;
 
+  gnupg-pkcs11-scd = callPackage ../tools/security/gnupg-pkcs11-scd { };
+
   gnuplot = libsForQt5.callPackage ../tools/graphics/gnuplot { };
 
   gnuplot_qt = gnuplot.override { withQt = true; };
@@ -3497,8 +3671,8 @@ in
 
   google-authenticator = callPackage ../os-specific/linux/google-authenticator { };
 
-  google-cloud-sdk = python2.pkgs.google-cloud-sdk;
-  google-cloud-sdk-gce = python2.pkgs.google-cloud-sdk-gce;
+  google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { };
+  google-cloud-sdk-gce = google-cloud-sdk.override { with-gce = true; };
 
   google-fonts = callPackage ../data/fonts/google-fonts { };
 
@@ -3588,7 +3762,9 @@ in
 
   grpcurl = callPackage ../tools/networking/grpcurl { };
 
-  grpcui = callPackage ../tools/networking/grpcui { };
+  grpcui = callPackage ../tools/networking/grpcui {
+    buildGoModule = buildGo112Module;
+  };
 
   grub = pkgsi686Linux.callPackage ../tools/misc/grub ({
     stdenv = overrideCC stdenv buildPackages.pkgsi686Linux.gcc6;
@@ -3629,6 +3805,8 @@ in
 
   gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { };
 
+  gsmlib = callPackage ../development/libraries/gsmlib { };
+
   gssdp = callPackage ../development/libraries/gssdp { };
 
   gt5 = callPackage ../tools/system/gt5 { };
@@ -3694,6 +3872,8 @@ in
 
   pixz = callPackage ../tools/compression/pixz { };
 
+  plplot = callPackage ../development/libraries/plplot { };
+
   pxattr = callPackage ../tools/archivers/pxattr { };
 
   pxz = callPackage ../tools/compression/pxz { };
@@ -3729,13 +3909,15 @@ in
 
   hash-slinger = callPackage ../tools/security/hash-slinger { };
 
+  hasmail = callPackage ../applications/networking/mailreaders/hasmail { };
+
   hal-flash = callPackage ../os-specific/linux/hal-flash { };
 
   half = callPackage ../development/libraries/half { };
 
   halibut = callPackage ../tools/typesetting/halibut { };
 
-  halide = callPackage ../development/compilers/halide { llvmPackages=llvmPackages_6; };
+  halide = callPackage ../development/compilers/halide { };
 
   ham = pkgs.perlPackages.ham;
 
@@ -3754,7 +3936,6 @@ in
   };
 
   hdf5 = callPackage ../tools/misc/hdf5 {
-    stdenv = gcc7Stdenv;
     gfortran = null;
     szip = null;
     mpi = null;
@@ -3863,17 +4044,19 @@ in
 
   hwinfo = callPackage ../tools/system/hwinfo { };
 
-  hybridreverb2 = callPackage ../applications/audio/hybridreverb2 { };
+  hybridreverb2 = callPackage ../applications/audio/hybridreverb2 {
+    stdenv = gcc8Stdenv;
+  };
 
   hylafaxplus = callPackage ../servers/hylafaxplus { };
 
+  hyphen = callPackage ../development/libraries/hyphen { };
+
   i2c-tools = callPackage ../os-specific/linux/i2c-tools { };
 
   i2p = callPackage ../tools/networking/i2p {};
 
-  i2pd = callPackage ../tools/networking/i2pd {
-    boost = boost165;
-  };
+  i2pd = callPackage ../tools/networking/i2pd { };
 
   i-score = libsForQt5.callPackage ../applications/audio/i-score { };
 
@@ -3966,7 +4149,9 @@ in
 
   intecture-auth = callPackage ../tools/admin/intecture/auth.nix { };
 
-  intecture-cli = callPackage ../tools/admin/intecture/cli.nix { };
+  intecture-cli = callPackage ../tools/admin/intecture/cli.nix {
+    openssl = openssl_1_0_2;
+  };
 
   intel-media-sdk = callPackage ../development/libraries/intel-media-sdk { };
 
@@ -4019,6 +4204,8 @@ in
 
   netmask = callPackage ../tools/networking/netmask {};
 
+  ipscan = callPackage ../tools/security/ipscan { };
+
   ipv6calc = callPackage ../tools/networking/ipv6calc {};
 
   ipxe = callPackage ../tools/misc/ipxe { };
@@ -4096,13 +4283,15 @@ in
 
   jpeg-archive = callPackage ../applications/graphics/jpeg-archive { };
 
+  jpegexiforient = callPackage ../tools/graphics/jpegexiforient { };
+
   jpeginfo = callPackage ../applications/graphics/jpeginfo { };
 
   jpegoptim = callPackage ../applications/graphics/jpegoptim { };
 
   jpegrescan = callPackage ../applications/graphics/jpegrescan { };
 
-  jpylyzer = with pythonPackages; toPythonApplication jpylyzer;
+  jpylyzer = with python3Packages; toPythonApplication jpylyzer;
 
   jq = callPackage ../development/tools/jq { };
 
@@ -4116,6 +4305,8 @@ in
 
   jsduck = callPackage ../development/tools/jsduck { };
 
+  jtc = callPackage ../development/tools/jtc { };
+
   jumpapp = callPackage ../tools/X11/jumpapp {};
 
   jucipp = callPackage ../applications/editors/jucipp { };
@@ -4149,12 +4340,12 @@ 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 { };
 
+  keepkey_agent = with python3Packages; toPythonApplication keepkey_agent;
+
   kexpand = callPackage ../development/tools/kexpand { };
 
   keybase = callPackage ../tools/security/keybase {
@@ -4259,6 +4450,8 @@ in
 
   libsmi = callPackage ../development/libraries/libsmi { };
 
+  licensor = callPackage ../tools/misc/licensor { };
+
   lesspipe = callPackage ../tools/misc/lesspipe { };
 
   liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix {
@@ -4309,11 +4502,17 @@ in
 
   kzipmix = pkgsi686Linux.callPackage ../tools/compression/kzipmix { };
 
+  ma1sd = callPackage ../servers/ma1sd { };
+
   mailcatcher = callPackage ../development/web/mailcatcher { };
 
   makebootfat = callPackage ../tools/misc/makebootfat { };
 
-  matrix-synapse = callPackage ../servers/matrix-synapse { };
+  /* Python 3.8 is currently broken with matrix-synapse since `python38Packages.bleach` fails
+    (https://github.com/NixOS/nixpkgs/issues/76093) */
+  matrix-synapse = callPackage ../servers/matrix-synapse { /*python3 = python38;*/ };
+
+  matrix-appservice-slack = callPackage ../servers/matrix-synapse/matrix-appservice-slack {};
 
   mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { });
 
@@ -4325,6 +4524,11 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  mdcat = callPackage ../tools/text/mdcat {
+    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (pythonPackages) ansi2html;
+  };
+
   medfile = callPackage ../development/libraries/medfile { };
 
   memtester = callPackage ../tools/system/memtester { };
@@ -4415,8 +4619,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 { };
@@ -4434,18 +4636,22 @@ in
   nodejs-slim-10_x = callPackage ../development/web/nodejs/v10.nix {
     enableNpm = false;
   };
-  nodejs-11_x = callPackage ../development/web/nodejs/v11.nix { };
-  nodejs-slim-11_x = callPackage ../development/web/nodejs/v11.nix {
-    enableNpm = false;
-  };
   nodejs-12_x = callPackage ../development/web/nodejs/v12.nix { };
   nodejs-slim-12_x = callPackage ../development/web/nodejs/v12.nix {
     enableNpm = false;
   };
+  nodejs-13_x = callPackage ../development/web/nodejs/v13.nix { };
+  nodejs-slim-13_x = callPackage ../development/web/nodejs/v13.nix {
+    enableNpm = false;
+  };
 
   # Update this when adding the newest nodejs major version!
-  nodejs_latest = nodejs-12_x;
-  nodejs-slim_latest = nodejs-slim-12_x;
+  nodejs_latest = nodejs-13_x;
+  nodejs-slim_latest = nodejs-slim-13_x;
+
+  nodePackages_13_x = dontRecurseIntoAttrs (callPackage ../development/node-packages/default-v13.nix {
+    nodejs = pkgs.nodejs-13_x;
+  });
 
   nodePackages_12_x = dontRecurseIntoAttrs (callPackage ../development/node-packages/default-v12.nix {
     nodejs = pkgs.nodejs-12_x;
@@ -4461,9 +4667,7 @@ in
 
   file-rename = callPackage ../tools/filesystems/file-rename { };
 
-  kea = callPackage ../tools/networking/kea {
-    boost = boost165;
-  };
+  kea = callPackage ../tools/networking/kea { };
 
   ispell = callPackage ../tools/text/ispell {};
 
@@ -4491,6 +4695,8 @@ in
 
   lftp = callPackage ../tools/networking/lftp { };
 
+  libck = callPackage ../development/libraries/libck { };
+
   libconfig = callPackage ../development/libraries/libconfig { };
 
   libcmis = callPackage ../development/libraries/libcmis { };
@@ -4503,6 +4709,8 @@ in
 
   libevdev = callPackage ../development/libraries/libevdev { };
 
+  libevdevplus = callPackage ../development/libraries/libevdevplus { };
+
   libfann = callPackage ../development/libraries/libfann { };
 
   libfsm = callPackage ../development/libraries/libfsm { };
@@ -4517,6 +4725,8 @@ in
 
   libircclient = callPackage ../development/libraries/libircclient { };
 
+  libisds = callPackage ../development/libraries/libisds { };
+
   libite = callPackage ../development/libraries/libite { };
 
   liblangtag = callPackage ../development/libraries/liblangtag {
@@ -4529,6 +4739,8 @@ in
 
   libr3 = callPackage ../development/libraries/libr3 { };
 
+  libraspberrypi = callPackage ../development/libraries/libraspberrypi { };
+
   libsidplayfp = callPackage ../development/libraries/libsidplayfp { };
 
   libspf2 = callPackage ../development/libraries/libspf2 { };
@@ -4630,6 +4842,8 @@ in
 
   ltris = callPackage ../games/ltris { };
 
+  lv = callPackage ../tools/text/lv { };
+
   lxc = callPackage ../os-specific/linux/lxc { };
   lxcfs = callPackage ../os-specific/linux/lxcfs { };
   lxd = callPackage ../tools/admin/lxd { };
@@ -4849,6 +5063,8 @@ in
 
   mr = callPackage ../applications/version-management/mr { };
 
+  mrsh = callPackage ../shells/mrsh { };
+
   mrtg = callPackage ../tools/misc/mrtg { };
 
   mscgen = callPackage ../tools/graphics/mscgen { };
@@ -4869,6 +5085,8 @@ in
 
   mt-st = callPackage ../tools/backup/mt-st {};
 
+  multitime = callPackage ../tools/misc/multitime { };
+
   multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in {
     multitrandata = callPackage ../tools/text/multitran/data { };
 
@@ -4921,8 +5139,12 @@ in
 
   ndppd = callPackage ../applications/networking/ndppd { };
 
+  nebula = callPackage ../tools/networking/nebula { };
+
   nemiver = callPackage ../development/tools/nemiver { };
 
+  neo-cowsay = callPackage ../tools/misc/neo-cowsay { };
+
   neofetch = callPackage ../tools/misc/neofetch { };
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };
@@ -5020,7 +5242,9 @@ in
 
   noip = callPackage ../tools/networking/noip { };
 
-  nomad = callPackage ../applications/networking/cluster/nomad { };
+ nomad = callPackage ../applications/networking/cluster/nomad {
+    buildGoPackage = buildGo112Package;
+  };
 
   notable = callPackage ../applications/misc/notable { };
 
@@ -5052,7 +5276,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 {};
 
@@ -5082,6 +5306,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 { };
@@ -5171,6 +5398,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 { };
@@ -5258,13 +5490,15 @@ in
 
   update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
 
+  update-systemd-resolved = callPackage ../tools/networking/openvpn/update-systemd-resolved.nix { };
+
   opae = callPackage ../development/libraries/opae { };
 
   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;
@@ -5276,6 +5510,8 @@ in
 
   opn2bankeditor = callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
 
+  orangefs = callPackage ../tools/filesystems/orangefs { };
+
   os-prober = callPackage ../tools/misc/os-prober {};
 
   osl = callPackage ../development/compilers/osl { };
@@ -5290,6 +5526,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 { };
@@ -5325,8 +5563,6 @@ in
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  paper-gtk-theme = callPackage ../misc/themes/paper { };
-
   paperless = callPackage ../applications/office/paperless { };
 
   paperwork = callPackage ../applications/office/paperwork { };
@@ -5425,6 +5661,8 @@ in
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
 
+  pdfarranger = callPackage ../applications/misc/pdfarranger { };
+
   pdfread = callPackage ../tools/graphics/pdfread {
     inherit (pythonPackages) pillow;
   };
@@ -5445,6 +5683,8 @@ in
 
   peco = callPackage ../tools/text/peco { };
 
+  pg_flame = callPackage ../tools/misc/pg_flame { };
+
   pg_top = callPackage ../tools/misc/pg_top { };
 
   pgcenter = callPackage ../tools/misc/pgcenter { };
@@ -5456,40 +5696,23 @@ in
     ssh = openssh;
   };
 
+  pfetch = callPackage ../tools/misc/pfetch { };
+
   pfstools = callPackage ../tools/graphics/pfstools { };
 
   philter = callPackage ../tools/networking/philter { };
 
   phodav = callPackage ../tools/networking/phodav { };
 
-  pinentry = callPackage ../tools/security/pinentry {
+  pinentry = libsForQt5.callPackage ../tools/security/pinentry {
     libcap = if stdenv.isDarwin then null else libcap;
-    gcr = null;
-    qt4 = null;
-    qt5 = null;
   };
 
-  pinentry_ncurses = res.pinentry.override {
-    gtk2 = null;
-  };
-
-  pinentry_emacs = res.pinentry.override {
-    enableEmacs = true;
-  };
-
-  pinentry_gnome = res.pinentry.override {
-    inherit gcr;
-  };
-
-  pinentry_qt4 = res.pinentry.override {
-    gtk2 = null;
-    inherit qt4;
-  };
-
-  pinentry_qt5 = res.pinentry.override {
-    gtk2 = null;
-    inherit qt5;
-  };
+  pinentry-curses = (stdenv.lib.getOutput "curses" pinentry);
+  pinentry-emacs = (stdenv.lib.getOutput "emacs" pinentry);
+  pinentry-gtk2 = (stdenv.lib.getOutput "gtk2" pinentry);
+  pinentry-qt = (stdenv.lib.getOutput "qt" pinentry);
+  pinentry-gnome = (stdenv.lib.getOutput "gnome3" pinentry);
 
   pinentry_mac = callPackage ../tools/security/pinentry/mac.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -5526,6 +5749,8 @@ in
   plex = callPackage ../servers/plex { };
   plexRaw = callPackage ../servers/plex/raw.nix { };
 
+  tab = callPackage ../tools/text/tab { };
+
   tautulli = callPackage ../servers/tautulli { python = python2; };
 
   ploticus = callPackage ../tools/graphics/ploticus {
@@ -5560,6 +5785,8 @@ in
 
   podman = callPackage ../applications/virtualization/podman { };
 
+  podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {};
+
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
   poedit = callPackage ../tools/text/poedit { };
@@ -5568,6 +5795,8 @@ in
 
   polkit_gnome = callPackage ../tools/security/polkit-gnome { };
 
+  poly2tri-c = callPackage ../development/libraries/poly2tri-c { };
+
   polysh = callPackage ../tools/networking/polysh { };
 
   ponysay = callPackage ../tools/misc/ponysay { };
@@ -5582,6 +5811,8 @@ in
 
   ppl = callPackage ../development/libraries/ppl { };
 
+  pplatex = callPackage ../tools/typesetting/tex/pplatex { };
+
   ppp = callPackage ../tools/networking/ppp { };
 
   pptp = callPackage ../tools/networking/pptp {};
@@ -5606,7 +5837,8 @@ in
 
   prototypejs = callPackage ../development/libraries/prototypejs { };
 
-  proxmark3 = callPackage ../tools/security/proxmark3 { };
+  inherit (callPackages ../tools/security/proxmark3 { gcc-arm-embedded = gcc-arm-embedded-8; })
+    proxmark3 proxmark3-unstable;
 
   proxychains = callPackage ../tools/networking/proxychains { };
 
@@ -5620,6 +5852,8 @@ in
 
   pastebinit = callPackage ../tools/misc/pastebinit { };
 
+  pmacct = callPackage ../tools/networking/pmacct { };
+
   polygraph = callPackage ../tools/networking/polygraph { };
 
   progress = callPackage ../tools/misc/progress { };
@@ -5652,7 +5886,7 @@ in
 
   pwnat = callPackage ../tools/networking/pwnat { };
 
-  pwndbg = python3Packages.callPackage ../development/tools/misc/pwndbg { };
+  pwndbg = callPackage ../development/tools/misc/pwndbg { };
 
   pycangjie = pythonPackages.pycangjie;
 
@@ -5660,12 +5894,10 @@ in
 
   pydf = callPackage ../applications/misc/pydf { };
 
-  pygmentex = callPackage ../tools/typesetting/pygmentex { };
+  pympress = callPackage ../applications/office/pympress { };
 
   pythonIRClib = pythonPackages.pythonIRClib;
 
-  pythonSexy = pythonPackages.libsexy;
-
   pyditz = callPackage ../applications/misc/pyditz {
     pythonPackages = python27Packages;
   };
@@ -5707,7 +5939,9 @@ in
   qesteidutil = libsForQt5.callPackage ../tools/security/qesteidutil { } ;
   qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
 
-  qgrep = callPackage ../tools/text/qgrep {};
+  qgrep = callPackage ../tools/text/qgrep {
+    inherit (darwin.apple_sdk.frameworks) CoreServices CoreFoundation;
+  };
 
   qhull = callPackage ../development/libraries/qhull { };
 
@@ -5727,6 +5961,8 @@ in
 
   qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
 
+  quickjs = callPackage ../development/interpreters/quickjs { };
+
   quickserve = callPackage ../tools/networking/quickserve { };
 
   quicktun = callPackage ../tools/networking/quicktun { };
@@ -5769,6 +6005,8 @@ in
 
   rc = callPackage ../shells/rc { };
 
+  rdbtools = callPackage ../development/tools/rdbtools { python = python3; };
+
   rdma-core = callPackage ../os-specific/linux/rdma-core { };
 
   react-native-debugger = callPackage ../development/tools/react-native-debugger { };
@@ -5777,13 +6015,14 @@ in
 
   redir = callPackage ../tools/networking/redir { };
 
-  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_4; };
   # failed to build websocket-driver gem with ruby 2.6, so sticking to 2.5 for now
-  redmine_4 = callPackage ../applications/version-management/redmine/4.x { ruby = pkgs.ruby_2_5; };
+  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_5; };
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
-  retext = callPackage ../applications/editors/retext { };
+  reredirect = callPackage ../tools/misc/reredirect { };
+
+  retext = libsForQt5.callPackage ../applications/editors/retext { };
 
   richgo = callPackage ../development/tools/richgo {  };
 
@@ -5798,15 +6037,7 @@ in
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
 
-  recordmydesktop = callPackage ../applications/video/recordmydesktop { };
-
-  gtk-recordmydesktop = callPackage ../applications/video/recordmydesktop/gtk.nix {
-    jack2 = jack2Full;
-  };
-
-  qt-recordmydesktop = callPackage ../applications/video/recordmydesktop/qt.nix {
-    jack2 = jack2Full;
-  };
+  rx = callPackage ../applications/graphics/rx { };
 
   qt-box-editor = libsForQt5.callPackage ../applications/misc/qt-box-editor { };
 
@@ -5850,7 +6081,7 @@ in
 
   reptyr = callPackage ../os-specific/linux/reptyr {};
 
-  rescuetime = callPackage ../applications/misc/rescuetime { };
+  rescuetime = libsForQt5.callPackage ../applications/misc/rescuetime { };
 
   reuse = callPackage ../tools/package-management/reuse { };
 
@@ -5877,6 +6108,8 @@ in
 
   rng-tools = callPackage ../tools/security/rng-tools { };
 
+  rnnoise = callPackage ../development/libraries/rnnoise { };
+
   rnv = callPackage ../tools/text/xml/rnv { };
 
   rounded-mgenplus = callPackage ../data/fonts/rounded-mgenplus { };
@@ -5925,12 +6158,20 @@ in
 
   rubocop = callPackage ../development/tools/rubocop { };
 
-  runelite = callPackage ../games/runelite { };
+  runelite = callPackage ../games/runelite {
+    jre = openjdk11;
+  };
 
   runningx = callPackage ../tools/X11/runningx { };
 
+  rund = callPackage ../development/tools/rund { };
+
   runzip = callPackage ../tools/archivers/runzip { };
 
+  ruplacer = callPackage ../tools/text/ruplacer {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   rw = callPackage ../tools/misc/rw { };
 
   rxp = callPackage ../tools/text/xml/rxp { };
@@ -5957,8 +6198,6 @@ in
 
   s6-portable-utils = skawarePackages.s6-portable-utils;
 
-  sablotron = callPackage ../tools/text/xml/sablotron { };
-
   safecopy = callPackage ../tools/system/safecopy { };
 
   safe-rm = callPackage ../tools/system/safe-rm { };
@@ -6011,7 +6250,7 @@ in
     qtbase = qt4;
   };
 
-  scfbuild = python2.pkgs.callPackage ../tools/misc/scfbuild { };
+  scfbuild = python3.pkgs.callPackage ../tools/misc/scfbuild { };
 
   scriptaculous = callPackage ../development/libraries/scriptaculous { };
 
@@ -6063,6 +6302,8 @@ in
 
   shadowsocks-libev = callPackage ../tools/networking/shadowsocks-libev { };
 
+  go-shadowsocks2 = callPackage ../tools/networking/go-shadowsocks2 { };
+
   shabnam-fonts = callPackage ../data/fonts/shabnam-fonts { };
 
   shadowsocks-rust = callPackage ../tools/networking/shadowsocks-rust {
@@ -6077,6 +6318,8 @@ in
 
   shocco = callPackage ../tools/text/shocco { };
 
+  shorewall = callPackage ../tools/networking/shorewall { };
+
   shotwell = callPackage ../applications/graphics/shotwell { };
 
   shout = nodePackages.shout;
@@ -6171,6 +6414,8 @@ in
 
   smesh = callPackage ../development/libraries/smesh {};
 
+  smu = callPackage ../tools/text/smu { };
+
   smugline = python3Packages.smugline;
 
   snabb = callPackage ../tools/networking/snabb { } ;
@@ -6187,7 +6432,11 @@ in
 
   sshguard = callPackage ../tools/security/sshguard {};
 
-  suricata = callPackage ../applications/networking/ids/suricata { };
+  sshping = callPackage ../tools/networking/sshping {};
+
+  suricata = callPackage ../applications/networking/ids/suricata {
+    python = python3;
+  };
 
   softhsm = callPackage ../tools/security/softhsm {
     inherit (darwin) libobjc;
@@ -6216,6 +6465,8 @@ in
 
   stdman = callPackage ../data/documentation/stdman { };
 
+  stenc = callPackage ../tools/backup/stenc { };
+
   stm32loader = with python3Packages; toPythonApplication stm32loader;
 
   storebrowse = callPackage ../tools/system/storebrowse { };
@@ -6224,8 +6475,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 { };
@@ -6242,10 +6491,14 @@ 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 { };
 
+  srt-to-vtt-cl = callPackage ../tools/cd-dvd/srt-to-vtt-cl { };
+
   sourcehut = callPackage ../applications/version-management/sourcehut { };
 
   sshfs-fuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -6257,6 +6510,8 @@ in
 
   ssldump = callPackage ../tools/networking/ssldump { };
 
+  sslsplit = callPackage ../tools/networking/sslsplit { };
+
   sstp = callPackage ../tools/networking/sstp {};
 
   strip-nondeterminism = perlPackages.strip-nondeterminism;
@@ -6303,6 +6558,8 @@ in
 
   sslmate = callPackage ../development/tools/sslmate { };
 
+  sshoogr = callPackage ../tools/networking/sshoogr { };
+
   ssmtp = callPackage ../tools/networking/ssmtp { };
 
   ssocr = callPackage ../applications/misc/ssocr { };
@@ -6359,13 +6616,14 @@ in
 
   system-config-printer = callPackage ../tools/misc/system-config-printer {
     libxml2 = libxml2Python;
-    pythonPackages = python3Packages;
    };
 
   stricat = callPackage ../tools/security/stricat { };
 
   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 {};
@@ -6412,6 +6670,8 @@ in
 
   tcpreplay = callPackage ../tools/networking/tcpreplay { };
 
+  tdns-cli = callPackage ../tools/networking/tdns-cli { };
+
   ted = callPackage ../tools/typesetting/ted { };
 
   teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
@@ -6428,8 +6688,6 @@ in
 
   termplay = callPackage ../tools/misc/termplay { };
 
-  testdisk-photorec = callPackage ../tools/system/testdisk-photorec { };
-
   tewisay = callPackage ../tools/misc/tewisay { };
 
   texmacs = if stdenv.isDarwin
@@ -6462,6 +6720,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 { };
@@ -6486,6 +6746,8 @@ in
 
   tinyemu = callPackage ../applications/virtualization/tinyemu { };
 
+  tinyfecvpn = callPackage ../tools/networking/tinyfecvpn {};
+
   tinyprog = callPackage ../development/tools/misc/tinyprog { };
 
   tinyproxy = callPackage ../tools/networking/tinyproxy {};
@@ -6500,6 +6762,8 @@ in
 
   tmate = callPackage ../tools/misc/tmate { };
 
+  tmate-ssh-server = callPackage ../servers/tmate-ssh-server { };
+
   tmpwatch = callPackage ../tools/misc/tmpwatch  { };
 
   tmux = callPackage ../tools/misc/tmux { };
@@ -6510,6 +6774,8 @@ in
 
   tmuxinator = callPackage ../tools/misc/tmuxinator { };
 
+  tmux-xpanes = callPackage ../tools/misc/tmux-xpanes { };
+
   tmuxPlugins = recurseIntoAttrs (callPackage ../misc/tmux-plugins { });
 
   tmsu = callPackage ../tools/filesystems/tmsu { };
@@ -6520,6 +6786,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 {
@@ -6554,10 +6822,16 @@ in
 
   tpm-luks = callPackage ../tools/security/tpm-luks { };
 
+  tpm2-abrmd = callPackage ../tools/security/tpm2-abrmd { };
+
   tpm2-tools = callPackage ../tools/security/tpm2-tools { };
 
+  trezor-udev-rules = callPackage ../os-specific/linux/trezor-udev-rules {};
+
   trezord = callPackage ../servers/trezord { };
 
+  trezor_agent = with python3Packages; toPythonApplication trezor_agent;
+
   tthsum = callPackage ../applications/misc/tthsum { };
 
   chaps = callPackage ../tools/security/chaps { };
@@ -6578,21 +6852,23 @@ in
 
   translate-shell = callPackage ../applications/misc/translate-shell { };
 
-  transporter = callPackage ../applications/networking/transporter { };
-
   trash-cli = callPackage ../tools/misc/trash-cli { };
 
+  trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
   inherit (nodePackages) triton;
 
   triggerhappy = callPackage ../tools/inputmethods/triggerhappy {};
 
-  trilium = callPackage ../applications/office/trilium { };
+  inherit (callPackage ../applications/office/trilium {})
+    trilium-desktop
+    trilium-server
+    ;
+  trilium = trilium-desktop;
 
-  trousers = callPackage ../tools/security/trousers {
-    openssl = openssl_1_0_2;
-  };
+  trousers = callPackage ../tools/security/trousers { };
 
   trx = callPackage ../tools/audio/trx { };
 
@@ -6613,6 +6889,8 @@ in
 
   ttyrec = callPackage ../tools/misc/ttyrec { };
 
+  ttygif = callPackage ../tools/misc/ttygif { };
+
   ttylog = callPackage ../tools/misc/ttylog { };
 
   turses = callPackage ../applications/networking/instant-messengers/turses { };
@@ -6695,10 +6973,14 @@ in
 
   uwsgi = callPackage ../servers/uwsgi { };
 
+  v2ray = callPackage ../tools/networking/v2ray { };
+
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
   vampire = callPackage ../applications/science/logic/vampire {};
 
+  variety = callPackage ../applications/misc/variety {};
+
   vdmfec = callPackage ../applications/backup/vdmfec {};
 
   vk-messenger = callPackage ../applications/networking/instant-messengers/vk-messenger {};
@@ -6731,6 +7013,11 @@ in
 
   vifm = callPackage ../applications/misc/vifm { };
 
+  vifm-full = callPackage ../applications/misc/vifm {
+    mediaSupport = true;
+    inherit lib udisks2 python3;
+  };
+
   viking = callPackage ../applications/misc/viking {
     inherit (gnome2) scrollkeeper;
   };
@@ -6742,6 +7029,8 @@ in
   vimpager = callPackage ../tools/misc/vimpager { };
   vimpager-latest = callPackage ../tools/misc/vimpager/latest.nix { };
 
+  vimwiki-markdown = python3Packages.callPackage ../tools/misc/vimwiki-markdown { };
+
   visidata = (newScope python3Packages) ../applications/misc/visidata {
   };
 
@@ -6827,6 +7116,10 @@ in
   wasm-text-gen = nodePackages."@webassemblyjs/wasm-text-gen";
   wast-refmt = nodePackages."@webassemblyjs/wast-refmt";
 
+  wasm-bindgen-cli = callPackage ../development/tools/wasm-bindgen-cli {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   welkin = callPackage ../tools/graphics/welkin {};
 
   wf-recorder = callPackage ../applications/video/wf-recorder { };
@@ -6835,6 +7128,8 @@ in
 
   whois = callPackage ../tools/networking/whois { };
 
+  wifite2 = callPackage ../tools/networking/wifite2 { };
+
   wireguard-tools = callPackage ../tools/networking/wireguard-tools { };
 
   woff2 = callPackage ../development/web/woff2 { };
@@ -6845,6 +7140,9 @@ in
 
   wsmancli = callPackage ../tools/system/wsmancli {};
 
+  wstunnel = haskell.lib.justStaticExecutables
+    (haskellPackages.callPackage ../tools/networking/wstunnel {});
+
   wolfebin = callPackage ../tools/networking/wolfebin {
     python = python2;
   };
@@ -6855,7 +7153,9 @@ in
 
   xe = callPackage ../tools/system/xe { };
 
-  testdisk = callPackage ../tools/misc/testdisk { };
+  testdisk = libsForQt5.callPackage ../tools/system/testdisk { };
+
+  testdisk-qt = testdisk.override { enableQt = true; };
 
   textql = callPackage ../development/tools/textql { };
 
@@ -6928,7 +7228,10 @@ in
 
   unbound = callPackage ../tools/networking/unbound { };
 
-  units = callPackage ../tools/misc/units { };
+  units = callPackage ../tools/misc/units {
+    enableCurrenciesUpdater = true;
+    pythonPackages = python3Packages;
+  };
 
   unittest-cpp = callPackage ../development/libraries/unittest-cpp { };
 
@@ -6989,13 +7292,13 @@ in
   valum = callPackage ../development/web/valum { };
 
   inherit (callPackages ../servers/varnish { })
-    varnish4 varnish5 varnish6;
+    varnish60 varnish62 varnish63;
   inherit (callPackages ../servers/varnish/packages.nix { })
-    varnish4Packages
-    varnish5Packages
-    varnish6Packages;
+    varnish60Packages
+    varnish62Packages
+    varnish63Packages;
 
-  varnishPackages = varnish5Packages;
+  varnishPackages = varnish63Packages;
   varnish = varnishPackages.varnish;
 
   hitch = callPackage ../servers/hitch { };
@@ -7019,6 +7322,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 { };
@@ -7027,6 +7332,8 @@ in
 
   wdiff = callPackage ../tools/text/wdiff { };
 
+  wdisplays = callPackage ../tools/graphics/wdisplays { };
+
   webalizer = callPackage ../tools/networking/webalizer { };
 
   weighttp = callPackage ../tools/networking/weighttp { };
@@ -7136,6 +7443,10 @@ in
 
   xorriso = callPackage ../tools/cd-dvd/xorriso { };
 
+  xprite-editor = callPackage ../tools/misc/xprite-editor {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+  };
+
   xpf = callPackage ../tools/text/xml/xpf {
     libxml2 = libxml2Python;
   };
@@ -7174,6 +7485,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 { };
@@ -7182,6 +7498,8 @@ in
 
   yeshup = callPackage ../tools/system/yeshup { };
 
+  yggdrasil = callPackage ../tools/networking/yggdrasil { };
+
   # To expose more packages for Yi, override the extraPackages arg.
   yi = callPackage ../applications/editors/yi/wrapper.nix { };
 
@@ -7201,6 +7519,8 @@ in
 
   zerofree = callPackage ../tools/filesystems/zerofree { };
 
+  zfsbackup = callPackage ../tools/backup/zfsbackup { };
+
   zfstools = callPackage ../tools/filesystems/zfstools { };
 
   zile = callPackage ../applications/editors/zile { };
@@ -7225,6 +7545,8 @@ in
 
   zsh-git-prompt = callPackage ../shells/zsh/zsh-git-prompt { };
 
+  zsh-history = callPackage ../shells/zsh/zsh-history { };
+
   zsh-history-substring-search = callPackage ../shells/zsh/zsh-history-substring-search { };
 
   zsh-navigation-tools = callPackage ../tools/misc/zsh-navigation-tools { };
@@ -7233,8 +7555,12 @@ 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-powerlevel10k = callPackage ../shells/zsh/zsh-powerlevel10k { };
+
   zsh-powerlevel9k = callPackage ../shells/zsh/zsh-powerlevel9k { };
 
   zsh-command-time = callPackage ../shells/zsh/zsh-command-time { };
@@ -7423,6 +7749,14 @@ in
     inherit (darwin) cctools;
   };
 
+  chez-srfi = callPackage ../development/chez-modules/chez-srfi { };
+
+  chez-mit = callPackage ../development/chez-modules/chez-mit { };
+
+  chez-scmutils = callPackage ../development/chez-modules/chez-scmutils { };
+
+  chez-matchable = callPackage ../development/chez-modules/chez-matchable { };
+
   clang = llvmPackages.clang;
   clang-manpages = llvmPackages.clang-manpages;
 
@@ -7435,6 +7769,7 @@ in
   llvm-polly = llvmPackages_latest.llvm-polly;
   clang-polly = llvmPackages_latest.clang.override { cc = llvmPackages_latest.clang-polly-unwrapped; };
 
+  clang_9  = llvmPackages_9.clang;
   clang_8  = llvmPackages_8.clang;
   clang_7  = llvmPackages_7.clang;
   clang_6  = llvmPackages_6.clang;
@@ -7480,6 +7815,7 @@ in
     crystal_0_27
     crystal_0_29
     crystal_0_30
+    crystal_0_31
     crystal
     crystal2nix;
 
@@ -7491,7 +7827,7 @@ in
 
   dbmate = callPackage ../development/tools/database/dbmate { };
 
-  devpi-client = callPackage ../development/tools/devpi-client {};
+  devpi-client = python3Packages.callPackage ../development/tools/devpi-client {};
 
   devpi-server = callPackage ../development/tools/devpi-server {};
 
@@ -7524,8 +7860,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 = if stdenv.isDarwin then gcc7 else gcc8;
+  gccFun = callPackage (if stdenv.targetPlatform.isVc4 then ../development/compilers/gcc/6 else ../development/compilers/gcc/9);
+  gcc = if stdenv.targetPlatform.isVc4 then gcc6 else gcc9;
   gcc-unwrapped = gcc.cc;
 
   gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
@@ -7591,7 +7927,7 @@ in
     ../development/compilers/gcc/libstdc++-hook.sh;
 
   crossLibcStdenv = overrideCC stdenv
-    (if stdenv.targetPlatform.useLLVM or false
+    (if stdenv.hostPlatform.useLLVM or false
      then buildPackages.llvmPackages_8.lldClangNoLibc
      else buildPackages.gccCrossStageStatic);
 
@@ -7624,6 +7960,7 @@ in
       };
       bintools = binutils1;
       libc = libcCross1;
+      extraPackages = [];
   };
 
   gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
@@ -7633,6 +7970,7 @@ in
     profiledCompiler = with stdenv; (!isSunOS && !isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
     cloog = if !stdenv.isDarwin then cloog else null;
@@ -7646,6 +7984,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_11 else null;
 
@@ -7659,6 +7998,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
@@ -7670,6 +8010,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
@@ -7681,6 +8022,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7692,6 +8034,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7703,6 +8046,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7714,11 +8058,12 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = isl_0_17;
   }));
 
-  gfortran = gfortran7;
+  gfortran = gfortran9;
 
   gfortran48 = wrapCC (gcc48.cc.override {
     name = "gfortran";
@@ -7768,6 +8113,14 @@ in
     profiledCompiler = false;
   });
 
+  gfortran9 = wrapCC (gcc9.cc.override {
+    name = "gfortran";
+    langFortran = true;
+    langCC = false;
+    langC = false;
+    profiledCompiler = false;
+  });
+
   gcj = gcj6;
   gcj6 = wrapCC (gcc6.cc.override {
     name = "gcj";
@@ -7797,45 +8150,26 @@ in
 
   gcl_2_6_13_pre = callPackage ../development/compilers/gcl/2.6.13-pre.nix { };
 
-  gcc-arm-embedded-4_7 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.7-2013q3-20130916";
-    releaseType = "update";
-    sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-4_8 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.8-2014q1-20140314";
-    releaseType = "update";
-    sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-4_9 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.9-2015q1-20150306";
-    releaseType = "update";
-    sha256 = "c5e0025b065750bbd76b5357b4fc8606d88afbac9ff55b8a82927b4b96178154";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-5 = pkgs.pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    dirName = "5.0";
-    subdirName = "5-2016-q2-update";
-    version = "5.4-2016q2-20160622";
-    releaseType = "update";
-    sha256 = "1r0rqbnw7rf94f5bsa3gi8bick4xb7qnp1dkvdjfbvqjvysvc44r";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
   gcc-arm-embedded-6 = callPackage ../development/compilers/gcc-arm-embedded/6 {};
   gcc-arm-embedded-7 = callPackage ../development/compilers/gcc-arm-embedded/7 {};
   gcc-arm-embedded-8 = callPackage ../development/compilers/gcc-arm-embedded/8 {};
-  gcc-arm-embedded = gcc-arm-embedded-8;
+  gcc-arm-embedded-9 = callPackage ../development/compilers/gcc-arm-embedded/9 {};
+  gcc-arm-embedded = gcc-arm-embedded-9;
 
   gforth = callPackage ../development/compilers/gforth {};
 
+  gleam = callPackage ../development/compilers/gleam {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   gtk-server = callPackage ../development/interpreters/gtk-server {};
 
   # Haskell and GHC
 
   haskell = callPackage ./haskell-packages.nix { };
 
+  # Please update doc/languages-frameworks/haskell.section.md, “Our
+  # current default compiler is”, if you bump this:
   haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc865;
 
   inherit (haskellPackages) ghc;
@@ -7853,6 +8187,14 @@ in
   psc-package = haskell.lib.justStaticExecutables
     (haskellPackages.callPackage ../development/compilers/purescript/psc-package { });
 
+  purescript-psa = nodePackages.purescript-psa;
+
+  spago = callPackage ../development/tools/purescript/spago { };
+
+  pulp = nodePackages.pulp;
+
+  pscid = nodePackages.pscid;
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -7862,7 +8204,9 @@ in
       graphviz = graphviz-nox;
     });
 
-  inherit (ocaml-ng.ocamlPackages_4_05.haxe) haxe_3_2 haxe_3_4;
+  inherit (callPackage ../development/compilers/haxe {
+    ocamlPackages = ocaml-ng.ocamlPackages_4_05;
+  }) haxe_3_2 haxe_3_4;
   haxe = haxe_3_4;
   haxePackages = recurseIntoAttrs (callPackage ./haxe-packages.nix { });
   inherit (haxePackages) hxcpp;
@@ -7879,8 +8223,6 @@ in
 
   fstar = callPackage ../development/compilers/fstar { };
 
-  pyre = callPackage ../development/tools/pyre { };
-
   dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {});
 
   glslang = callPackage ../development/compilers/glslang {
@@ -7915,11 +8257,21 @@ in
       inherit (darwin.apple_sdk.frameworks) Security;
     };
 
-  go_1_12 = callPackage ../development/compilers/go/1.12.nix {
+  go_1_12 = callPackage ../development/compilers/go/1.12.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  };
+  } // lib.optionalAttrs stdenv.isAarch64 {
+    stdenv = gcc8Stdenv;
+    buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
+  });
+
+  go_1_13 = callPackage ../development/compilers/go/1.13.nix ({
+    inherit (darwin.apple_sdk.frameworks) Security Foundation;
+  } // lib.optionalAttrs stdenv.isAarch64 {
+    stdenv = gcc8Stdenv;
+    buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
+  });
 
-  go = go_1_12;
+  go = go_1_13;
 
   go-repo-root = callPackage ../development/tools/go-repo-root { };
 
@@ -7941,6 +8293,8 @@ in
 
   idris = idrisPackages.with-packages [ idrisPackages.base ] ;
 
+  intel-graphics-compiler = callPackage ../development/compilers/intel-graphics-compiler { };
+
   intercal = callPackage ../development/compilers/intercal { };
 
   irony-server = callPackage ../development/tools/irony-server {
@@ -8071,9 +8425,11 @@ in
         inherit installjdk pluginSupport;
       });
 
-  javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
+  jasmin = callPackage ../development/compilers/jasmin { };
+
+  java-service-wrapper = callPackage ../tools/system/java-service-wrapper { };
 
-  jikes = callPackage ../development/compilers/jikes { };
+  javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
 
   julia_07 = callPackage ../development/compilers/julia/0.7.nix {
     gmp = gmp6;
@@ -8116,6 +8472,7 @@ in
   lld_6 = llvmPackages_6.lld;
   lld_7 = llvmPackages_7.lld;
   lld_8 = llvmPackages_8.lld;
+  lld_9 = llvmPackages_9.lld;
 
   lldb = llvmPackages.lldb;
   lldb_4 = llvmPackages_4.lldb;
@@ -8123,10 +8480,12 @@ in
   lldb_6 = llvmPackages_6.lldb;
   lldb_7 = llvmPackages_7.lldb;
   lldb_8 = llvmPackages_8.lldb;
+  lldb_9 = llvmPackages_9.lldb;
 
   llvm = llvmPackages.llvm;
   llvm-manpages = llvmPackages.llvm-manpages;
 
+  llvm_9  = llvmPackages_9.llvm;
   llvm_8  = llvmPackages_8.llvm;
   llvm_7  = llvmPackages_7.llvm;
   llvm_6  = llvmPackages_6.llvm;
@@ -8139,7 +8498,7 @@ in
 
   llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 ({
     isl = isl_0_14;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8147,7 +8506,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_39.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_39.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8155,7 +8514,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_4.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_4.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8163,7 +8522,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_5.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_5.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
@@ -8171,7 +8530,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_6.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_6.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     # with gcc-7 on i686: undefined reference to `__divmoddi4'
     # Failing tests with gcc8.
     stdenv = overrideCC stdenv (if stdenv.hostPlatform.isi686 then gcc6 else gcc7);
@@ -8181,7 +8540,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_7.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
-  } // stdenv.lib.optionalAttrs (buildPackages.stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
@@ -8189,13 +8548,23 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_8.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_8.libraries;
-  } // stdenv.lib.optionalAttrs (buildPackages.stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
-  llvmPackages_latest = llvmPackages_8;
+  llvmPackages_9 = callPackage ../development/compilers/llvm/9 ({
+    inherit (stdenvAdapters) overrideCC;
+    buildLlvmTools = buildPackages.llvmPackages_9.tools;
+    targetLlvmLibraries = targetPackages.llvmPackages_9.libraries;
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+    stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
+  });
 
-  lorri = throw "lorri is not stable yet. Please go to https://github.com/target/lorri and follow the installation instructions there, for the time being.";
+  llvmPackages_latest = llvmPackages_9;
+
+  lorri = callPackage ../tools/misc/lorri {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
 
   manticore = callPackage ../development/compilers/manticore { };
 
@@ -8276,6 +8645,8 @@ in
 
   ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
 
+  ocaml-crunch = ocamlPackages.crunch.bin;
+
   ocamlformat = callPackage ../development/tools/ocaml/ocamlformat { };
 
   orc = callPackage ../development/compilers/orc { };
@@ -8315,17 +8686,27 @@ in
 
   qbe = callPackage ../development/compilers/qbe { };
 
+  rasm = callPackage ../development/compilers/rasm { };
+
   rgbds = callPackage ../development/compilers/rgbds { };
 
   rtags = callPackage ../development/tools/rtags {
     inherit (darwin) apple_sdk;
   };
 
-  rust = callPackage ../development/compilers/rust {
+  rust_1_40_0 = callPackage ../development/compilers/rust/1_40_0.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
-  rustPackages = rust.packages.stable;
-  inherit (rustPackages) cargo rustc rustPlatform;
+  rust_1_38_0 = callPackage ../development/compilers/rust/1_38_0.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
+  rust = rust_1_40_0;
+
+  rustPackages_1_40_0 = rust_1_40_0.packages.stable;
+  rustPackages_1_38_0 = rust_1_38_0.packages.stable;
+  rustPackages = rustPackages_1_40_0;
+
+  inherit (rustPackages) cargo clippy rustc rustPlatform;
   inherit (rust) makeRustPlatform;
 
   buildRustCrate = callPackage ../build-support/rust/build-rust-crate { };
@@ -8339,12 +8720,20 @@ in
 
   cargo-flamegraph = callPackage ../development/tools/cargo-flamegraph {
     inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (linuxPackages) perf;
   };
 
   carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix { };
 
   defaultCrateOverrides = callPackage ../build-support/rust/default-crate-overrides.nix { };
 
+  cargo-audit = callPackage ../tools/package-management/cargo-audit {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+  cargo-deb = callPackage ../tools/package-management/cargo-deb {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+  cargo-deps = callPackage ../tools/package-management/cargo-deps { };
   cargo-download = callPackage ../tools/package-management/cargo-download { };
   cargo-edit = callPackage ../tools/package-management/cargo-edit { };
   cargo-graph = callPackage ../tools/package-management/cargo-graph { };
@@ -8360,8 +8749,15 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
+  cargo-crev = callPackage ../development/tools/rust/cargo-crev {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
   cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
+  cargo-geiger = callPackage ../development/tools/rust/cargo-geiger {
+    inherit (darwin) libiconv;
+    inherit (darwin.apple_sdk.frameworks) Security CoreFoundation;
+  };
   cargo-inspect = callPackage ../development/tools/rust/cargo-inspect {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -8372,6 +8768,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-sweep = callPackage ../development/tools/rust/cargo-sweep { };
+  cargo-udeps = callPackage ../development/tools/rust/cargo-udeps {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
   cargo-watch = callPackage ../development/tools/rust/cargo-watch {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -8388,6 +8787,7 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   rustracerd = callPackage ../development/tools/rust/racerd {
+    inherit (rustPackages_1_38_0) rustPlatform;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   rust-bindgen = callPackage ../development/tools/rust/bindgen { };
@@ -8409,6 +8809,7 @@ in
   scala_2_13 = callPackage ../development/compilers/scala/2.13.nix { jre = jre8; };
   scala = scala_2_13;
 
+  metals = callPackage ../development/tools/metals { };
   scalafix = callPackage ../development/tools/scalafix { };
   scalafmt = callPackage ../development/tools/scalafmt { };
 
@@ -8423,14 +8824,14 @@ in
   shmig = callPackage ../development/tools/database/shmig { };
 
   smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
-  smlnj = if stdenv.isDarwin
-            then callPackage ../development/compilers/smlnj { }
-            else pkgsi686Linux.callPackage ../development/compilers/smlnj { };
+  smlnj = callPackage ../development/compilers/smlnj { };
 
   solc = callPackage ../development/compilers/solc { };
 
   souffle = callPackage ../development/compilers/souffle { };
 
+  spirv-llvm-translator = callPackage ../development/compilers/spirv-llvm-translator { };
+
   sqldeveloper = callPackage ../development/tools/database/sqldeveloper { };
 
   # sqldeveloper_18 needs JavaFX, which currently only is available inside the
@@ -8454,7 +8855,11 @@ in
 
   swift = callPackage ../development/compilers/swift { };
 
-  swiProlog = callPackage ../development/compilers/swi-prolog { };
+  swiProlog = callPackage ../development/compilers/swi-prolog {
+    openssl = openssl_1_0_2;
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+  swiPrologWithGui = swiProlog.override { withGui = true; };
 
   tbb = callPackage ../development/libraries/tbb { };
 
@@ -8475,6 +8880,11 @@ in
 
   tinycc = callPackage ../development/compilers/tinycc { };
 
+  tinygo = callPackage ../development/compilers/tinygo {
+    inherit (llvmPackages_9) llvm clang-unwrapped lld;
+    avrgcc = pkgsCross.avr.buildPackages.gcc;
+  };
+
   tinyscheme = callPackage ../development/interpreters/tinyscheme {
     stdenv = gccStdenv;
   };
@@ -8489,16 +8899,15 @@ in
 
   vlang = callPackage ../development/compilers/vlang { };
 
+  vala-lint = callPackage ../development/tools/vala-lint { };
+
   inherit (callPackage ../development/compilers/vala { })
     vala_0_36
-    vala_0_38
     vala_0_40
-    vala_0_42
     vala_0_44
+    vala_0_46
     vala;
 
-  valadoc = callPackage ../development/tools/valadoc { };
-
   wcc = callPackage ../development/compilers/wcc { };
 
   wla-dx = callPackage ../development/compilers/wla-dx { };
@@ -8511,6 +8920,7 @@ in
       # provide the default choice, avoiding infinite recursion.
       bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
     , libc ? bintools.libc
+    , extraPackages ? stdenv.lib.optional (cc.isGNU or false && stdenv.targetPlatform.isMinGW) threadsCross
     , ...
     } @ extraArgs:
       callPackage ../build-support/cc-wrapper (let self = {
@@ -8522,7 +8932,7 @@ in
     isGNU = cc.isGNU or false;
     isClang = cc.isClang or false;
 
-    inherit cc bintools libc;
+    inherit cc bintools libc extraPackages;
   } // extraArgs; in self);
 
   wrapCC = cc: wrapCCWith {
@@ -8553,6 +8963,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 { };
 
@@ -8575,6 +8987,8 @@ in
 
   clojure = callPackage ../development/interpreters/clojure { };
 
+  clojure-lsp = callPackage ../development/tools/misc/clojure-lsp { };
+
   clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
 
   dhall = callPackage ../development/interpreters/dhall { };
@@ -8604,9 +9018,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;
 
@@ -8776,6 +9190,10 @@ in
     php = php73;
   });
 
+  php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74;
+  });
+
   phpPackages-unit = php72Packages-unit;
 
   php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
@@ -8786,11 +9204,16 @@ in
     php = php73-unit;
   });
 
+  php74Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74-unit;
+  });
+
   inherit (callPackages ../development/interpreters/php {
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   })
-    php72
-    php73;
+    php74
+    php73
+    php72;
 
   php-embed = php73-embed;
 
@@ -8804,6 +9227,11 @@ in
     config.php.apxs2 = false;
   };
 
+  php74-embed = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+  };
+
   php-unit = php73-unit;
 
   php72-unit = php72.override {
@@ -8824,6 +9252,15 @@ in
     config.php.fpm = false;
   };
 
+  php74-unit = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+    config.php.systemd = false;
+    config.php.phpdbg = false;
+    config.php.cgi = false;
+    config.php.fpm = false;
+  };
+
   picoc = callPackage ../development/interpreters/picoc {};
 
   picolisp = callPackage ../development/interpreters/picolisp {};
@@ -8857,6 +9294,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;
@@ -8864,19 +9302,22 @@ 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);
   python35Packages = python35.pkgs;
   python36Packages = python36.pkgs;
   python37Packages = recurseIntoAttrs python37.pkgs;
-  python38Packages = python38.pkgs;
+  python38Packages = recurseIntoAttrs python38.pkgs;
+  python39Packages = python39.pkgs;
   pypyPackages = pypy.pkgs;
   pypy2Packages = pypy2.pkgs;
   pypy27Packages = pypy27.pkgs;
   pypy3Packages = pypy3.pkgs;
 
+  pythonManylinuxPackages = callPackage ./../development/interpreters/python/manylinux { };
+
   update-python-libraries = callPackage ../development/interpreters/python/update-python-libraries { };
 
   # Should eventually be moved inside Python interpreters.
@@ -8886,9 +9327,7 @@ in
 
   pythonDocs = recurseIntoAttrs (callPackage ../development/interpreters/python/cpython/docs {});
 
-  pypi2nix = callPackage ../development/tools/pypi2nix {
-    pythonPackages = python3Packages;
-  };
+  pypi2nix = callPackage ../development/tools/pypi2nix {};
 
   setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix {};
 
@@ -8900,8 +9339,15 @@ in
   svg2tikz = python27Packages.svg2tikz;
 
   pew = callPackage ../development/tools/pew {};
-  poetry = with python3Packages; toPythonApplication poetry;
-  pipenv = python3Packages.callPackage ../development/tools/pipenv {};
+
+  poetry = callPackage ../development/tools/poetry {
+    python = python3;
+  };
+  poetry2nix = callPackage ../development/tools/poetry2nix/poetry2nix {
+    inherit pkgs lib;
+  };
+
+  pipenv = callPackage ../development/tools/pipenv {};
 
   pipewire = callPackage ../development/libraries/pipewire {};
 
@@ -8962,7 +9408,23 @@ in
     ruby_2_3
     ruby_2_4
     ruby_2_5
-    ruby_2_6;
+    ruby_2_6
+    ruby_2_7;
+
+  rubyMinimal = ruby.override {
+    # gem support is minimal overhead
+    rubygemsSupport = true;
+    useRailsExpress = false;
+    zlibSupport = false;
+    opensslSupport = false;
+    gdbmSupport = false;
+    cursesSupport = false;
+    docSupport = false;
+    yamlSupport = false;
+    fiddleSupport = false;
+    # remove gcc from runtime closure
+    removeReferenceToCC = true;
+  };
 
   ruby = ruby_2_6;
 
@@ -8974,6 +9436,7 @@ in
   rubyPackages_2_4 = recurseIntoAttrs ruby_2_4.gems;
   rubyPackages_2_5 = recurseIntoAttrs ruby_2_5.gems;
   rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
+  rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
 
   ruby_1_9-gems = recurseIntoAttrs ruby_1_9.gems;
   ruby_2_0-gems = recurseIntoAttrs ruby_2_0.gems;
@@ -8992,16 +9455,14 @@ in
 
   self = pkgsi686Linux.callPackage ../development/interpreters/self { };
 
-  spark = spark_24;
-  spark_24 = callPackage ../applications/networking/cluster/spark { version = "2.4.3"; };
+  spark = callPackage ../applications/networking/cluster/spark { };
 
   spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
   spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
     inherit (darwin) libobjc;
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   }));
-  spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
   spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
   spidermonkey = spidermonkey_38;
 
@@ -9048,6 +9509,8 @@ in
     samples = true;
   };
 
+  h3 = callPackage ../development/misc/h3 { };
+
   amtk = callPackage ../development/libraries/amtk { };
 
   avrlibc      = callPackage ../development/misc/avr/libc {};
@@ -9111,6 +9574,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 { };
@@ -9142,6 +9608,8 @@ in
     alloy5
     alloy;
 
+  ameba = callPackage ../development/tools/ameba { };
+
   augeas = callPackage ../tools/system/augeas { };
 
   inherit (callPackage ../tools/admin/ansible { })
@@ -9164,7 +9632,7 @@ in
   apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
   ant = apacheAnt;
 
-  apacheKafka = apacheKafka_2_2;
+  apacheKafka = apacheKafka_2_3;
   apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; };
   apacheKafka_0_10 = callPackage ../servers/apache-kafka { majorVersion = "0.10"; };
   apacheKafka_0_11 = callPackage ../servers/apache-kafka { majorVersion = "0.11"; };
@@ -9173,9 +9641,12 @@ in
   apacheKafka_2_0 = callPackage ../servers/apache-kafka { majorVersion = "2.0"; };
   apacheKafka_2_1 = callPackage ../servers/apache-kafka { majorVersion = "2.1"; };
   apacheKafka_2_2 = callPackage ../servers/apache-kafka { majorVersion = "2.2"; };
+  apacheKafka_2_3 = callPackage ../servers/apache-kafka { majorVersion = "2.3"; };
 
   kt = callPackage ../tools/misc/kt {};
 
+  argbash = callPackage ../development/tools/misc/argbash {};
+
   arpa2cm = callPackage ../development/tools/build-managers/arpa2cm { };
 
   asn2quickder = python2Packages.callPackage ../development/tools/asn2quickder {};
@@ -9226,15 +9697,12 @@ in
 
   bam = callPackage ../development/tools/build-managers/bam {};
 
-  bazel_0_4 = callPackage ../development/tools/build-managers/bazel/0.4.nix {
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-  };
   bazel = callPackage ../development/tools/build-managers/bazel {
     inherit (darwin) cctools;
     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;
   };
 
@@ -9247,7 +9715,9 @@ in
 
   bazel-remote = callPackage ../development/tools/build-managers/bazel/bazel-remote { };
 
-  bazel-watcher = callPackage ../development/tools/bazel-watcher { };
+  bazel-watcher = callPackage ../development/tools/bazel-watcher {
+    go = go_1_12;
+  };
 
   bazelisk = callPackage ../development/tools/bazelisk { };
 
@@ -9297,6 +9767,8 @@ in
 
   bpftool = callPackage ../os-specific/linux/bpftool { };
 
+  bpm-tools = callPackage ../tools/audio/bpm-tools { };
+
   byacc = callPackage ../development/tools/parsing/byacc { };
 
   cadre = callPackage ../development/tools/cadre { };
@@ -9374,7 +9846,7 @@ in
 
   conan = callPackage ../development/tools/build-managers/conan { };
 
-  cookiecutter = pythonPackages.cookiecutter;
+  cookiecutter = with python3Packages; toPythonApplication cookiecutter;
 
   corundum = callPackage ../development/tools/corundum { };
 
@@ -9397,6 +9869,8 @@ in
   cmakeWithGui = cmakeCurses.override { withQt5 = true; };
   cmakeWithQt4Gui = cmakeCurses.override { useQt4 = true; };
 
+  cmake-format = python3Packages.callPackage ../development/tools/cmake-format { };
+
   # Does not actually depend on Qt 5
   inherit (kdeFrameworks) extra-cmake-modules kapidox kdoctools;
 
@@ -9485,6 +9959,8 @@ in
 
   lattice-diamond = callPackage ../development/tools/lattice-diamond { };
 
+  direvent = callPackage ../development/tools/misc/direvent { };
+
   distcc = callPackage ../development/tools/misc/distcc {
     libiberty_static = libiberty.override { staticBuild = true; };
   };
@@ -9523,6 +9999,8 @@ in
 
   doit = callPackage ../development/tools/build-managers/doit { };
 
+  dolt = callPackage ../servers/sql/dolt { };
+
   dot2tex = pythonPackages.dot2tex;
 
   doxygen = callPackage ../development/tools/documentation/doxygen {
@@ -9540,6 +10018,8 @@ in
 
   drush = callPackage ../development/tools/misc/drush { };
 
+  editorconfig-checker = callPackage ../development/tools/misc/editorconfig-checker { };
+
   editorconfig-core-c = callPackage ../development/tools/misc/editorconfig-core-c { };
 
   eggdbus = callPackage ../development/tools/misc/eggdbus { };
@@ -9587,6 +10067,8 @@ in
 
   frame = callPackage ../development/libraries/frame { };
 
+  frp = callPackage ../tools/networking/frp { };
+
   fsatrace = callPackage ../development/tools/misc/fsatrace { };
 
   fswatch = callPackage ../development/tools/misc/fswatch {
@@ -9595,7 +10077,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 { };
 
@@ -9626,6 +10108,8 @@ in
 
   gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {};
 
+  gnome-firmware-updater = callPackage ../applications/misc/gnome-firmware-updater {};
+
   gnome-hexgl = callPackage ../games/gnome-hexgl {};
 
   gnome-usage = callPackage ../applications/misc/gnome-usage {};
@@ -9652,6 +10136,8 @@ in
 
   gocd-server = callPackage ../development/tools/continuous-integration/gocd-server { };
 
+  gotify-server = callPackage ../servers/gotify { };
+
   gotty = callPackage ../servers/gotty { };
 
   gputils = callPackage ../development/tools/misc/gputils { };
@@ -9703,6 +10189,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 { };
@@ -9749,7 +10237,7 @@ in
 
   jenkins = callPackage ../development/tools/continuous-integration/jenkins { };
 
-  jenkins-job-builder = pythonPackages.jenkins-job-builder;
+  jenkins-job-builder = with python3Packages; toPythonApplication jenkins-job-builder;
 
   kafkacat = callPackage ../development/tools/kafkacat { };
 
@@ -9767,12 +10255,16 @@ in
 
   kind = callPackage ../development/tools/kind {  };
 
+  khronos-ocl-icd-loader = callPackage ../development/libraries/khronos-ocl-icd-loader {  };
+
   kube-aws = callPackage ../development/tools/kube-aws { };
 
   kubectx = callPackage ../development/tools/kubectx { };
 
   kube-prompt = callPackage ../development/tools/kube-prompt { };
 
+  kubeprompt = callPackage ../development/tools/kubeprompt { };
+
   kubicorn = callPackage ../development/tools/kubicorn {  };
 
   kustomize = callPackage ../development/tools/kustomize { };
@@ -9822,6 +10314,8 @@ in
   maven = maven3;
   maven3 = callPackage ../development/tools/build-managers/apache-maven { };
 
+  mavproxy = python3Packages.callPackage ../applications/science/robotics/mavproxy { };
+
   go-md2man = callPackage ../development/tools/misc/md2man {};
 
   mage = callPackage ../development/tools/build-managers/mage { };
@@ -9929,7 +10423,7 @@ in
 
   peg = callPackage ../development/tools/parsing/peg { };
 
-  pgcli = callPackage ../development/tools/database/pgcli {};
+  pgcli = pkgs.python3Packages.pgcli;
 
   phantomjs = callPackage ../development/tools/phantomjs { };
 
@@ -9967,12 +10461,12 @@ in
 
   procodile = callPackage ../tools/system/procodile { };
 
+  pry = callPackage ../development/tools/pry { };
+
   pup = callPackage ../development/tools/pup { };
 
   puppet-lint = callPackage ../development/tools/puppet/puppet-lint { };
 
-  pyflame = callPackage ../development/tools/profiling/pyflame { };
-
   pyrseas = callPackage ../development/tools/database/pyrseas { };
 
   qtcreator = libsForQt5.callPackage ../development/tools/qtcreator { };
@@ -10048,8 +10542,14 @@ in
 
   sbt-extras = callPackage ../development/tools/build-managers/sbt-extras { };
 
+  scc = callPackage ../development/tools/misc/scc { };
+
   scss-lint = callPackage ../development/tools/scss-lint { };
 
+  shadowenv = callPackage ../tools/misc/shadowenv {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   shake = haskell.lib.justStaticExecutables haskellPackages.shake;
 
   shallot = callPackage ../tools/misc/shallot { };
@@ -10079,7 +10579,11 @@ in
 
   smc = callPackage ../tools/misc/smc { };
 
-  snakemake = callPackage ../applications/science/misc/snakemake { python = python3Packages; };
+  snakemake = callPackage ../applications/science/misc/snakemake { };
+
+  snore = callPackage ../tools/misc/snore { };
+
+  snzip = callPackage ../tools/archivers/snzip { };
 
   snowman = qt5.callPackage ../development/tools/analysis/snowman { };
 
@@ -10110,6 +10614,8 @@ in
 
   sselp = callPackage ../tools/X11/sselp{ };
 
+  stm32cubemx = callPackage ../development/tools/misc/stm32cubemx { };
+
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
   strace = callPackage ../development/tools/misc/strace { };
@@ -10137,7 +10643,11 @@ in
 
   terracognita = callPackage ../development/tools/misc/terracognita { };
 
-  terraform-lsp = callPackage ../development/tools/misc/terraform-lsp { };
+  terraform-lsp = callPackage ../development/tools/misc/terraform-lsp {
+    # Version 0.0.5 fails to build with go 1.13 due to dependency:
+    #   build github.com/juliosueiras/terraform-lsp: cannot load github.com/googleapis/gax-go/v2: github.com/googleapis/gax-go@v2.0.0+incompatible: reading file:///nix/store/ihiyd3mqa5gvfm2k2716hpl16knak798-terraform-lsp-0.0.5-go-modules/github.com/googleapis/gax-go/@v/v2.0.0+incompatible.zip: Not Found
+    buildGoModule = buildGo112Module;
+  };
 
   texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { };
   texinfo4 = texinfo413;
@@ -10152,8 +10662,14 @@ in
 
   texi2mdoc = callPackage ../tools/misc/texi2mdoc { };
 
+  texlab = callPackage ../development/tools/misc/texlab {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   tflint = callPackage ../development/tools/analysis/tflint { };
 
+  tfsec = callPackage ../development/tools/analysis/tfsec { };
+
   todoist = callPackage ../applications/misc/todoist { };
 
   todolist = callPackage ../applications/misc/todolist { };
@@ -10207,9 +10723,7 @@ in
 
   vultr = callPackage ../development/tools/vultr { };
 
-  vulnix = callPackage ../tools/security/vulnix {
-    pythonPackages = python3Packages;
-  };
+  vulnix = callPackage ../tools/security/vulnix { };
 
   vtable-dumper = callPackage ../development/tools/misc/vtable-dumper { };
 
@@ -10328,9 +10842,13 @@ in
 
   armadillo = callPackage ../development/libraries/armadillo {};
 
-  arrow-cpp = callPackage ../development/libraries/arrow-cpp {
+  arrayfire = callPackage ../development/libraries/arrayfire {};
+
+  arrow-cpp = callPackage ../development/libraries/arrow-cpp ({
     gtest = gtest.override { static = true; };
-  };
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
+    stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4'
+  });
 
   assimp = callPackage ../development/libraries/assimp { };
 
@@ -10378,9 +10896,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 { };
 
@@ -10392,7 +10910,9 @@ in
     inherit (llvmPackages_6) llvm clang-unwrapped;
   };
 
-  belle-sip = callPackage ../development/libraries/belle-sip { };
+  belle-sip = callPackage ../development/libraries/belle-sip {
+    stdenv = gcc8Stdenv;
+  };
 
   libbfd = callPackage ../development/libraries/libbfd { };
 
@@ -10425,9 +10945,10 @@ in
   boost167 = callPackage ../development/libraries/boost/1.67.nix { };
   boost168 = callPackage ../development/libraries/boost/1.68.nix { };
   boost169 = callPackage ../development/libraries/boost/1.69.nix { };
-  boost16x = boost167;
+  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 { };
@@ -10437,6 +10958,8 @@ in
 
   box2d = callPackage ../development/libraries/box2d { };
 
+  boxfort = callPackage ../development/libraries/boxfort { };
+
   buddy = callPackage ../development/libraries/buddy { };
 
   bulletml = callPackage ../development/libraries/bulletml { };
@@ -10449,8 +10972,13 @@ in
 
   c-blosc = callPackage ../development/libraries/c-blosc { };
 
+  # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
   cachix = haskell.lib.justStaticExecutables haskellPackages.cachix;
 
+  niv = haskellPackages.niv.bin;
+
+  ormolu = haskellPackages.ormolu.bin;
+
   capnproto = callPackage ../development/libraries/capnproto { };
 
   captive-browser = callPackage ../applications/networking/browsers/captive-browser { };
@@ -10469,8 +10997,6 @@ in
 
   ccrtp = callPackage ../development/libraries/ccrtp { };
 
-  ccrtp_1_8 = callPackage ../development/libraries/ccrtp/1.8.nix { };
-
   cctz = callPackage ../development/libraries/cctz { };
 
   celt = callPackage ../development/libraries/celt {};
@@ -10485,7 +11011,10 @@ in
 
   caf = callPackage ../development/libraries/caf {};
 
-  cgal = callPackage ../development/libraries/CGAL {};
+  # CGAL 5 has API changes
+  cgal_4 = callPackage ../development/libraries/CGAL/4.nix {};
+  cgal_5 = callPackage ../development/libraries/CGAL {};
+  cgal = cgal_4;
 
   cgui = callPackage ../development/libraries/cgui {};
 
@@ -10505,6 +11034,8 @@ in
 
   clearsilver = callPackage ../development/libraries/clearsilver { };
 
+  clfft = callPackage ../development/libraries/clfft { };
+
   clipp  = callPackage ../development/libraries/clipp { };
 
   clipper = callPackage ../development/libraries/clipper { };
@@ -10544,10 +11075,6 @@ in
 
   cointop = callPackage ../applications/misc/cointop { };
 
-  commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
-
-  coredumper = callPackage ../development/libraries/coredumper { };
-
   ctl = callPackage ../development/libraries/ctl { };
 
   ctpp2 = callPackage ../development/libraries/ctpp2 { };
@@ -10577,6 +11104,8 @@ in
 
   cre2 = callPackage ../development/libraries/cre2 { };
 
+  criterion = callPackage ../development/libraries/criterion { };
+
   croaring = callPackage ../development/libraries/croaring { };
 
   cryptopp = callPackage ../development/libraries/crypto++ { };
@@ -10648,8 +11177,6 @@ in
     fltk = fltk13;
   };
 
-  dirac = callPackage ../development/libraries/dirac { };
-
   directfb = callPackage ../development/libraries/directfb { };
 
   discord-rpc = callPackage ../development/libraries/discord-rpc {
@@ -10680,7 +11207,9 @@ in
 
   easyloggingpp = callPackage ../development/libraries/easyloggingpp {};
 
-  eccodes = callPackage ../development/libraries/eccodes { };
+  eccodes = callPackage ../development/libraries/eccodes {
+    pythonPackages = python3Packages;
+  };
 
   eclib = callPackage ../development/libraries/eclib {};
 
@@ -10694,6 +11223,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 { };
@@ -10731,7 +11262,6 @@ in
     inherit (gst_all_1)
       gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
       gst-libav;
-    inherit (pythonPackages) gst-python;
   };
 
   fcgi = callPackage ../development/libraries/fcgi { };
@@ -10744,7 +11274,8 @@ in
     blas = if stdenv.isDarwin then blas else openblas;
   };
 
-  fflas-ffpack_1 = callPackage ../development/libraries/fflas-ffpack/1.nix {};
+  forge = callPackage ../development/libraries/forge { };
+
   linbox = callPackage ../development/libraries/linbox {
     # We need to use blas instead of openblas on darwin, see
     # https://github.com/NixOS/nixpkgs/pull/45013 and
@@ -10772,6 +11303,7 @@ in
     frei0r = if stdenv.isDarwin then null else frei0r;
     game-music-emu = if stdenv.isDarwin then null else game-music-emu;
     libjack2 = if stdenv.isDarwin then null else libjack2;
+    libvmaf = if stdenv.isDarwin then null else libvmaf;
     libmodplug = if stdenv.isDarwin then null else libmodplug;
     openal = if stdenv.isDarwin then null else openal;
     libmfx = if stdenv.isDarwin then null else intel-media-sdk;
@@ -10839,8 +11371,6 @@ in
 
   fontconfig-penultimate = callPackage ../data/fonts/fontconfig-penultimate {};
 
-  fontconfig-ultimate = callPackage ../development/libraries/fontconfig-ultimate {};
-
   folly = callPackage ../development/libraries/folly { };
 
   folks = callPackage ../development/libraries/folks { };
@@ -10899,7 +11429,7 @@ in
   };
 
   gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix {
-    gtk = res.gtk2;
+    inherit (darwin.apple_sdk.frameworks) OpenCL;
   };
 
   geoclue2 = callPackage ../development/libraries/geoclue {};
@@ -11007,6 +11537,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
@@ -11019,6 +11550,11 @@ in
 
   libcCross = assert stdenv.targetPlatform != stdenv.buildPlatform; libcCrossChooser stdenv.targetPlatform.libc;
 
+  threadsCross =
+    if stdenv.targetPlatform.isMinGW && !(stdenv.targetPlatform.useLLVM or false)
+    then targetPackages.windows.mcfgthreads or windows.mcfgthreads
+    else null;
+
   wasilibc = callPackage ../development/libraries/wasilibc {
     stdenv = crossLibcStdenv;
   };
@@ -11143,6 +11679,7 @@ in
 
   gnutls = callPackage ../development/libraries/gnutls/default.nix {
     inherit (darwin.apple_sdk.frameworks) Security;
+    utillinux = utillinuxMinimal; # break the cyclic dependency
   };
 
   gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix {
@@ -11195,6 +11732,8 @@ in
 
   glib-networking = callPackage ../development/libraries/glib-networking {};
 
+  glirc = haskell.lib.justStaticExecutables haskellPackages.glirc;
+
   gom = callPackage ../development/libraries/gom { };
 
   ace = callPackage ../development/libraries/ace { };
@@ -11209,7 +11748,9 @@ in
 
   cairomm = callPackage ../development/libraries/cairomm { };
 
-  pango = callPackage ../development/libraries/pango { };
+  pango = callPackage ../development/libraries/pango {
+    harfbuzz = harfbuzz.override { withCoreText = stdenv.isDarwin; };
+  };
 
   pangolin = callPackage ../development/libraries/pangolin {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
@@ -11219,8 +11760,6 @@ in
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   };
 
-  pangox_compat = callPackage ../development/libraries/pangox-compat { };
-
   gdata-sharp = callPackage ../development/libraries/gdata-sharp { };
 
   gdk-pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
@@ -11255,6 +11794,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
@@ -11297,6 +11842,8 @@ in
 
   gtkspellmm = callPackage ../development/libraries/gtkspellmm { };
 
+  gtk-layer-shell = callPackage ../development/libraries/gtk-layer-shell { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gumbo = callPackage ../development/libraries/gumbo { };
@@ -11377,27 +11924,27 @@ in
   icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
     nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
   } //
-    (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+    (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu59 = callPackage ../development/libraries/icu/59.nix ({
     nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu60 = callPackage ../development/libraries/icu/60.nix ({
     nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu63 = callPackage ../development/libraries/icu/63.nix ({
     nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu64 = callPackage ../development/libraries/icu/64.nix ({
     nativeBuildRoot = buildPackages.icu64.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
 
@@ -11460,9 +12007,11 @@ in
 
   isso = callPackage ../servers/isso { };
 
-  itk4 = callPackage ../development/libraries/itk/4.x.nix { };
+  itk4 = callPackage ../development/libraries/itk/4.x.nix { stdenv = gcc8Stdenv; };
 
-  itk = callPackage ../development/libraries/itk { };
+  itk = callPackage ../development/libraries/itk {
+    stdenv = gcc8Stdenv;
+  };
 
   jasper = callPackage ../development/libraries/jasper { };
 
@@ -11523,6 +12072,8 @@ in
     automake = automake111x;
   };
 
+  kf5gpgmepp = libsForQt5.callPackage ../development/libraries/kf5gpgmepp { };
+
   kinetic-cpp-client = callPackage ../development/libraries/kinetic-cpp-client {
     openssl = openssl_1_0_2;
   };
@@ -11582,6 +12133,8 @@ in
 
   libaal = callPackage ../development/libraries/libaal { };
 
+  libabigail = callPackage ../development/libraries/libabigail { };
+
   libaccounts-glib = callPackage ../development/libraries/libaccounts-glib { };
 
   libacr38u = callPackage ../tools/security/libacr38u { };
@@ -11633,7 +12186,7 @@ in
   libb2 = callPackage ../development/libraries/libb2 { };
 
   libbap = callPackage ../development/libraries/libbap {
-    inherit (ocamlPackages) bap ocaml findlib ctypes;
+    inherit (ocaml-ng.ocamlPackages_4_06) bap ocaml findlib ctypes;
   };
 
   libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
@@ -11666,11 +12219,11 @@ in
   libcanberra = callPackage ../development/libraries/libcanberra {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
-  libcanberra-gtk3 = pkgs.libcanberra.override {
-    gtk = gtk3.override { x11Support = true; };
+  libcanberra-gtk2 = pkgs.libcanberra.override {
+    gtk = gtk2-x11;
   };
-  libcanberra-gtk2 = pkgs.libcanberra-gtk3.override {
-    gtk = gtk2.override { gdktarget = "x11"; };
+  libcanberra-gtk3 = pkgs.libcanberra.override {
+    gtk = gtk3-x11;
   };
 
   libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true)
@@ -11679,7 +12232,10 @@ in
 
   libcbor = callPackage ../development/libraries/libcbor { };
 
-  libcec = callPackage ../development/libraries/libcec { };
+  libcec = callPackage ../development/libraries/libcec {
+    libraspberrypi = null;
+  };
+
   libcec_platform = callPackage ../development/libraries/libcec/platform.nix { };
 
   libcef = callPackage ../development/libraries/libcef { inherit (gnome2) GConf; };
@@ -11726,6 +12282,8 @@ in
 
   libclxclient = callPackage ../development/libraries/libclxclient  { };
 
+  libco-canonical = callPackage ../development/libraries/libco-canonical { };
+
   libconfuse = callPackage ../development/libraries/libconfuse { };
 
   libcangjie = callPackage ../development/libraries/libcangjie { };
@@ -11734,6 +12292,8 @@ in
 
   libcredis = callPackage ../development/libraries/libcredis { };
 
+  libctb = callPackage ../development/libraries/libctb { };
+
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
   libcouchbase = callPackage ../development/libraries/libcouchbase { };
@@ -11751,7 +12311,7 @@ in
   libdbi = callPackage ../development/libraries/libdbi { };
 
   libdbiDriversBase = libdbiDrivers.override {
-    mysql = null;
+    libmysqlclient = null;
     sqlite = null;
   };
 
@@ -11853,9 +12413,6 @@ in
   };
 
   libfprint = callPackage ../development/libraries/libfprint { };
-  libfprint-thinkpad = libfprint.override {
-    thinkpad = true;
-  };
 
   libfpx = callPackage ../development/libraries/libfpx { };
 
@@ -11894,8 +12451,16 @@ in
 
   libiio = callPackage ../development/libraries/libiio { };
 
+  libinjection = callPackage ../development/libraries/libinjection { };
+
+  libnats-c = callPackage ../development/libraries/libnats-c {
+    openssl = openssl_1_0_2;
+  };
+
   liburing = callPackage ../development/libraries/liburing { };
 
+  librseq = callPackage ../development/libraries/librseq { };
+
   libseccomp = callPackage ../development/libraries/libseccomp { };
 
   libsecret = callPackage ../development/libraries/libsecret { };
@@ -12016,10 +12581,6 @@ in
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
-  libindicate-gtk2 = libindicate.override { gtkVersion = "2"; };
-  libindicate-gtk3 = libindicate.override { gtkVersion = "3"; };
-  libindicate = callPackage ../development/libraries/libindicate { };
-
   libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
   libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
   libindicator = callPackage ../development/libraries/libindicator { };
@@ -12392,6 +12953,8 @@ in
 
   libsoup = callPackage ../development/libraries/libsoup { };
 
+  libspectrum = callPackage ../development/libraries/libspectrum { };
+
   libspiro = callPackage ../development/libraries/libspiro {};
 
   libssh = callPackage ../development/libraries/libssh { };
@@ -12463,15 +13026,16 @@ in
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
+  libuinputplus = callPackage ../development/libraries/libuinputplus { };
+
   libunistring = callPackage ../development/libraries/libunistring { };
 
   libupnp = callPackage ../development/libraries/pupnp { };
 
   libwhereami = callPackage ../development/libraries/libwhereami { };
 
-  giflib = giflib_5_1;
   giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
-  giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { };
+  giflib     = callPackage ../development/libraries/giflib { };
 
   libunarr = callPackage ../development/libraries/libunarr { };
 
@@ -12531,6 +13095,8 @@ in
 
   libvisual = callPackage ../development/libraries/libvisual { };
 
+  libvmaf = callPackage ../development/libraries/libvmaf { };
+
   libvncserver = callPackage ../development/libraries/libvncserver {};
 
   libviper = callPackage ../development/libraries/libviper { };
@@ -12574,9 +13140,13 @@ in
 
   libxmi = callPackage ../development/libraries/libxmi { };
 
-  libxml2 = callPackage ../development/libraries/libxml2 { };
+  libxml2 = callPackage ../development/libraries/libxml2 {
+    python = if stdenv.isDarwin then python2 else python3;
+  };
 
-  libxml2Python = pkgs.buildEnv { # slightly hacky
+  libxml2Python = let
+    libxml2 = python2Packages.libxml2;
+  in pkgs.buildEnv { # slightly hacky
     name = "libxml2+py-${res.libxml2.version}";
     paths = with libxml2; [ dev bin py ];
     inherit (libxml2) passthru;
@@ -12594,7 +13164,9 @@ in
 
   libxmp = callPackage ../development/libraries/libxmp { };
 
-  libxslt = callPackage ../development/libraries/libxslt { };
+  libxslt = callPackage ../development/libraries/libxslt {
+    python = if stdenv.isDarwin then python2 else python3;
+  };
 
   libixp_hg = callPackage ../development/libraries/libixp-hg { };
 
@@ -12665,6 +13237,8 @@ in
 
   lzo = callPackage ../development/libraries/lzo { };
 
+  opencl-clang = callPackage ../development/libraries/opencl-clang { };
+
   mapnik = callPackage ../development/libraries/mapnik { };
 
   marisa = callPackage ../development/libraries/marisa {};
@@ -12672,8 +13246,6 @@ in
   matio = callPackage ../development/libraries/matio { };
 
   mbedtls = callPackage ../development/libraries/mbedtls { };
-  mbedtls_1_3 = callPackage ../development/libraries/mbedtls/1.3.nix { };
-  polarssl = mbedtls; # TODO: add to aliases.nix
 
   mdds = callPackage ../development/libraries/mdds { };
 
@@ -12700,19 +13272,8 @@ 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 {
-    # 7 is the default, but only on Linux, so keep this for now
-    llvmPackages = llvmPackages_7;
+    llvmPackages = llvmPackages_9;
     inherit (darwin.apple_sdk.frameworks) OpenGL;
     inherit (darwin.apple_sdk.libs) Xplugin;
   };
@@ -12729,6 +13290,10 @@ in
 
   microsoft_gsl = callPackage ../development/libraries/microsoft_gsl { };
 
+  micronucleus = callPackage ../development/tools/misc/micronucleus { };
+
+  micropython = callPackage ../development/interpreters/micropython { };
+
   mimalloc = callPackage ../development/libraries/mimalloc { };
 
   minizip = callPackage ../development/libraries/minizip { };
@@ -12781,7 +13346,9 @@ in
 
   mumlib = callPackage ../development/libraries/mumlib { };
 
-  muparser = callPackage ../development/libraries/muparser { };
+  muparser = callPackage ../development/libraries/muparser {
+    inherit (darwin.stubs) setfile;
+  };
 
   mutest = callPackage ../development/libraries/mutest { };
 
@@ -12818,6 +13385,8 @@ in
     then null
     else callPackage ../development/libraries/ncurses { };
 
+  ndi = callPackage ../development/libraries/ndi { };
+
   neardal = callPackage ../development/libraries/neardal { };
 
   neon = callPackage ../development/libraries/neon { };
@@ -12958,11 +13527,6 @@ in
 
   ois = callPackage ../development/libraries/ois {};
 
-  opal = callPackage ../development/libraries/opal {
-    ffmpeg = ffmpeg_2;
-    stdenv = gcc6Stdenv;
-  };
-
   openh264 = callPackage ../development/libraries/openh264 { };
 
   openjpeg_1 = callPackage ../development/libraries/openjpeg/1.x.nix { };
@@ -12980,17 +13544,19 @@ in
   openvdb = callPackage ../development/libraries/openvdb {};
 
   inherit (callPackages ../development/libraries/libressl { })
-    libressl_2_8
     libressl_2_9
     libressl_3_0;
 
-  libressl = libressl_2_9;
+  libressl = libressl_3_0;
 
   boringssl = callPackage ../development/libraries/boringssl { };
 
   wolfssl = callPackage ../development/libraries/wolfssl { };
 
-  openssl = openssl_1_1;
+  openssl =
+    if stdenv.hostPlatform.isMinGW # Work around broken cross build
+    then openssl_1_0_2
+    else openssl_1_1;
 
   inherit (callPackages ../development/libraries/openssl { })
     openssl_1_0_2
@@ -12998,9 +13564,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 {};
 
@@ -13044,15 +13608,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;
@@ -13064,6 +13619,8 @@ in
 
   pkcs11helper = callPackage ../development/libraries/pkcs11helper { };
 
+  pkgdiff = callPackage ../tools/misc/pkgdiff { };
+
   plib = callPackage ../development/libraries/plib { };
 
   pocketsphinx = callPackage ../development/libraries/pocketsphinx { };
@@ -13123,6 +13680,8 @@ 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 { };
   protobuf3_7 = callPackage ../development/libraries/protobuf/3.7.nix { };
@@ -13132,6 +13691,8 @@ in
 
   protobufc = callPackage ../development/libraries/protobufc/1.3.nix { };
 
+  protolock = callPackage ../development/libraries/protolock { };
+
   protozero = callPackage ../development/libraries/protozero { };
 
   flatbuffers = callPackage ../development/libraries/flatbuffers { };
@@ -13139,18 +13700,15 @@ in
   gnupth = callPackage ../development/libraries/pth { };
   pth = if stdenv.hostPlatform.isMusl then npth else gnupth;
 
-  ptlib = callPackage ../development/libraries/ptlib {};
+  pstreams = callPackage ../development/libraries/pstreams {};
 
   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 {};
@@ -13182,7 +13740,7 @@ in
     cups = if stdenv.isLinux then cups else null;
 
     # XXX: mariadb doesn't built on fbsd as of nov 2015
-    mysql = if (!stdenv.isFreeBSD) then mysql else null;
+    libmysqlclient = if (!stdenv.isFreeBSD) then libmysqlclient else null;
 
     inherit (pkgs.darwin) libobjc;
     inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL Cocoa AGL;
@@ -13201,50 +13759,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 fetchFromGitHub makeSetupHook makeWrapper;
+      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;
     });
@@ -13252,8 +13777,8 @@ in
   libsForQt512 = recurseIntoAttrs (lib.makeScope qt512.newScope mkLibsForQt5);
 
   # TODO bump to 5.12 on darwin once it's not broken
-  qt5 = if stdenv.isDarwin then qt511 else qt512;
-  libsForQt5 = if stdenv.isDarwin then libsForQt511 else libsForQt512;
+  qt5 = qt512;
+  libsForQt5 = libsForQt512;
 
   qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };
 
@@ -13263,7 +13788,7 @@ in
 
     inherit (kdeFrameworks.override { libsForQt5 = self; })
       attica baloo bluez-qt kactivities kactivities-stats
-      karchive kauth kbookmarks kcmutils kcodecs kcompletion kconfig
+      karchive kauth kbookmarks kcmutils kcalendarcore kcodecs kcompletion kconfig
       kconfigwidgets kcoreaddons kcrash kdbusaddons kdeclarative kdelibs4support
       kdesignerplugin kdnssd kemoticons kfilemetadata kglobalaccel kguiaddons
       khtml ki18n kiconthemes kidletime kimageformats kio kitemmodels kitemviews
@@ -13330,13 +13855,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 { };
 
@@ -13408,6 +13929,8 @@ in
 
   rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {};
 
+  raft-canonical = callPackage ../development/libraries/raft-canonical { };
+
   range-v3 = callPackage ../development/libraries/range-v3 {};
 
   rabbitmq-java-client = callPackage ../development/libraries/rabbitmq-java-client {};
@@ -13473,6 +13996,8 @@ in
 
   qgnomeplatform =  libsForQt5.callPackage ../development/libraries/qgnomeplatform { };
 
+  randomx = callPackage ../development/libraries/randomx { };
+
   resolv_wrapper = callPackage ../development/libraries/resolv_wrapper { };
 
   rhino = callPackage ../development/libraries/java/rhino {
@@ -13527,6 +14052,8 @@ in
 
   SDL_net = callPackage ../development/libraries/SDL_net { };
 
+  SDL_Pango = callPackage ../development/libraries/SDL_Pango {};
+
   SDL_sound = callPackage ../development/libraries/SDL_sound { };
 
   SDL_stretch= callPackage ../development/libraries/SDL_stretch { };
@@ -13640,12 +14167,11 @@ in
 
   soapyhackrf = callPackage ../applications/radio/soapyhackrf { };
 
-  soapysdr = callPackage ../applications/radio/soapysdr { inherit (python3Packages) python numpy; };
+  soapysdr = callPackage ../applications/radio/soapysdr { };
 
   soapyremote = callPackage ../applications/radio/soapyremote { };
 
   soapysdr-with-plugins = callPackage ../applications/radio/soapysdr {
-    inherit (python3Packages) python numpy;
     extraPackages = [
       limesuite
       soapyairspy
@@ -13816,7 +14342,6 @@ in
   };
 
   taglib = callPackage ../development/libraries/taglib { };
-  taglib_1_9 = callPackage ../development/libraries/taglib/1.9.nix { };
 
   taglib_extras = callPackage ../development/libraries/taglib-extras { };
 
@@ -13925,9 +14450,7 @@ in
 
   uid_wrapper = callPackage ../development/libraries/uid_wrapper { };
 
-  umockdev = callPackage ../development/libraries/umockdev {
-    vala = vala_0_40;
-  };
+  umockdev = callPackage ../development/libraries/umockdev { };
 
   unconvert = callPackage ../development/tools/unconvert { };
 
@@ -13941,7 +14464,7 @@ in
 
   unixODBC = callPackage ../development/libraries/unixODBC { };
 
-  unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers {});
+  unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers { });
 
   ustr = callPackage ../development/libraries/ustr { };
 
@@ -13973,12 +14496,6 @@ in
     stdenv = gcc5Stdenv;
   };
 
-  v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix {
-    inherit (python2Packages) python gyp;
-    cctools = darwin.cctools;
-    stdenv = if stdenv.isDarwin then stdenv else gcc5Stdenv;
-  };
-
   v8_5_x = callPackage ../development/libraries/v8/5_x.nix ({
     inherit (python2Packages) python gyp;
     icu = icu58; # v8-5.4.232 fails against icu4c-59.1
@@ -14031,9 +14548,8 @@ in
 
   vte_290 = callPackage ../development/libraries/vte/2.90.nix { };
 
-  vte-ng = callPackage ../development/libraries/vte/ng.nix { };
-
   vtk = callPackage ../development/libraries/vtk {
+    stdenv = gcc8Stdenv;
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.libs) xpc;
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices DiskArbitration
@@ -14079,12 +14595,12 @@ 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 { };
 
-  wayland_1_9 = callPackage ../development/libraries/wayland/1.9.nix { };
-
   wayland-protocols = callPackage ../development/libraries/wayland/protocols.nix { };
 
   waylandpp = callPackage ../development/libraries/waylandpp { };
@@ -14094,20 +14610,7 @@ in
   webkitgtk = callPackage ../development/libraries/webkitgtk {
     harfbuzz = harfbuzzFull;
     inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
-    stdenv = gcc6Stdenv;
-  };
-
-  webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
-    harfbuzz = harfbuzzFull.override {
-      icu = icu58;
-    };
-    gst-plugins-base = gst_all_1.gst-plugins-base;
-    inherit (darwin) libobjc;
-  };
-
-  webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override {
-    withGtk2 = true;
-    enableIntrospection = false;
+    stdenv = clangStdenv; # TODO: https://github.com/NixOS/nixpkgs/issues/36947
   };
 
   websocketpp = callPackage ../development/libraries/websocket++ { };
@@ -14162,6 +14665,8 @@ in
 
   x265 = callPackage ../development/libraries/x265 { };
 
+  xandikos = callPackage ../servers/xandikos { };
+
   inherit (callPackages ../development/libraries/xapian { })
     xapian_1_4;
   xapian = xapian_1_4;
@@ -14223,6 +14728,8 @@ in
 
   yder = callPackage ../development/libraries/yder { };
 
+  ydotool = callPackage ../tools/wayland/ydotool { };
+
   yojimbo = callPackage ../development/libraries/yojimbo { };
 
   yubioath-desktop = libsForQt5.callPackage ../applications/misc/yubioath-desktop { };
@@ -14259,18 +14766,12 @@ in
 
   cppzmq = callPackage ../development/libraries/cppzmq {};
 
-  czmq3 = callPackage ../development/libraries/czmq/3.x.nix {};
-  czmq4 = callPackage ../development/libraries/czmq/4.x.nix {};
-  czmq = czmq4;
-
-  czmqpp = callPackage ../development/libraries/czmqpp {
-    czmq = czmq3;
-  };
+  czmq = callPackage ../development/libraries/czmq/default.nix {};
 
   zmqpp = callPackage ../development/libraries/zmqpp { };
 
   zig = callPackage ../development/compilers/zig {
-    llvmPackages = llvmPackages_8;
+    llvmPackages = llvmPackages_9;
   };
 
   zimlib = callPackage ../development/libraries/zimlib { };
@@ -14287,11 +14788,11 @@ in
     plugins = [];
   };
 
-  gsignondPlugins = {
+  gsignondPlugins = recurseIntoAttrs {
     sasl = callPackage ../development/libraries/gsignond/plugins/sasl.nix { };
     oauth = callPackage ../development/libraries/gsignond/plugins/oauth.nix { };
     lastfm = callPackage ../development/libraries/gsignond/plugins/lastfm.nix { };
-    mail = callPackages ../development/libraries/gsignond/plugins/mail.nix { };
+    mail = callPackage ../development/libraries/gsignond/plugins/mail.nix { };
   };
 
   ### DEVELOPMENT / LIBRARIES / AGDA
@@ -14396,14 +14897,21 @@ in
   buildGo112Package = callPackage ../development/go-packages/generic {
     go = buildPackages.go_1_12;
   };
+  buildGo113Package = callPackage ../development/go-packages/generic {
+    go = buildPackages.go_1_13;
+  };
 
-  buildGoPackage = buildGo112Package;
+  buildGoPackage = buildGo113Package;
 
   buildGo112Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_12;
   };
 
-  buildGoModule = buildGo112Module;
+  buildGo113Module = callPackage ../development/go-modules/generic {
+    go = buildPackages.go_1_13;
+  };
+
+  buildGoModule = buildGo113Module;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -14515,8 +15023,6 @@ in
     kerberos = libkrb5;
   };
 
-  rdf4store = callPackage ../servers/http/4store { };
-
   apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
   apacheHttpd = pkgs.apacheHttpd_2_4;
 
@@ -14525,6 +15031,16 @@ in
 
     mod_auth_mellon = callPackage ../servers/http/apache-modules/mod_auth_mellon { };
 
+    # Redwax collection
+    mod_ca = callPackage ../servers/http/apache-modules/mod_ca { };
+    mod_crl = callPackage ../servers/http/apache-modules/mod_crl { };
+    mod_csr = callPackage ../servers/http/apache-modules/mod_csr { };
+    mod_ocsp = callPackage ../servers/http/apache-modules/mod_ocsp{ };
+    mod_scep = callPackage ../servers/http/apache-modules/mod_scep { };
+    mod_pkcs12 = callPackage ../servers/http/apache-modules/mod_pkcs12 { };
+    mod_spkac= callPackage ../servers/http/apache-modules/mod_spkac { };
+    mod_timestamp = callPackage ../servers/http/apache-modules/mod_timestamp { };
+
     mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd { };
 
     mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
@@ -14535,6 +15051,8 @@ in
 
     mod_python = callPackage ../servers/http/apache-modules/mod_python { };
 
+    mod_tile = callPackage ../servers/http/apache-modules/mod_tile { };
+
     mod_wsgi  = self.mod_wsgi2;
     mod_wsgi2 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python2; ncurses = null; };
     mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python3; };
@@ -14635,6 +15153,10 @@ in
 
   dkimproxy = callPackage ../servers/mail/dkimproxy { };
 
+  do-agent = callPackage ../servers/monitoring/do-agent { };
+
+  dodgy = with python3Packages; toPythonApplication dodgy;
+
   dovecot = callPackage ../servers/mail/dovecot { };
   dovecot_pigeonhole = callPackage ../servers/mail/dovecot/plugins/pigeonhole { };
 
@@ -14667,8 +15189,6 @@ in
 
   exim = callPackage ../servers/mail/exim { };
 
-  facette = callPackage ../servers/monitoring/facette { };
-
   fcgiwrap = callPackage ../servers/fcgiwrap { };
 
   felix = callPackage ../servers/felix { };
@@ -14696,11 +15216,13 @@ in
 
   glabels = callPackage ../applications/graphics/glabels { };
 
-  gnatsd = callPackage ../servers/gnatsd { };
+  nats-server = callPackage ../servers/nats-server { };
 
   gofish = callPackage ../servers/gopher/gofish { };
 
-  grafana = callPackage ../servers/monitoring/grafana { };
+  grafana = callPackage ../servers/monitoring/grafana {
+    buildGoPackage = buildGo113Package;
+  };
 
   grafana-loki = callPackage ../servers/monitoring/loki { };
 
@@ -14786,8 +15308,17 @@ in
   mod_fastcgi = pkgs.apacheHttpdPackages.mod_fastcgi;
   mod_python = pkgs.apacheHttpdPackages.mod_python;
   mod_wsgi = pkgs.apacheHttpdPackages.mod_wsgi;
-
-  mpd = callPackage ../servers/mpd (config.mpd or {});
+  mod_ca = pkgs.apacheHttpdPackages.mod_ca;
+  mod_crl = pkgs.apacheHttpdPackages.mod_crl;
+  mod_csr = pkgs.apacheHttpdPackages.mod_csr;
+  mod_ocsp = pkgs.apacheHttpdPackages.mod_ocsp;
+  mod_scep = pkgs.apacheHttpdPackages.mod_scep;
+  mod_spkac = pkgs.apacheHttpdPackages.mod_spkac;
+  mod_pkcs12 = pkgs.apacheHttpdPackages.mod_pkcs12;
+  mod_timestamp = pkgs.apacheHttpdPackages.mod_timestamp;
+
+  inherit (callPackages ../servers/mpd { })
+    mpd mpd-small mpdWithFeatures;
 
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
@@ -14825,12 +15356,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 ];
@@ -14934,8 +15467,17 @@ in
 
   rpcbind = callPackage ../servers/rpcbind { };
 
-  mariadb = callPackage ../servers/sql/mariadb {
+  libmysqlclient = libmysqlclient_3_1;
+  libmysqlclient_3_1 = mariadb-connector-c_3_1;
+  mariadb-connector-c = mariadb-connector-c_3_1;
+  mariadb-connector-c_3_1 = callPackage ../servers/sql/mariadb/connector-c/3_1.nix { };
+
+  mariadb-galera = mariadb-galera_25;
+  mariadb-galera_25 = callPackage ../servers/sql/mariadb/galera/25.nix {
     asio = asio_1_10;
+  };
+
+  mariadb = callPackage ../servers/sql/mariadb {
     # As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4".
     # https://jira.mariadb.org/browse/MDEV-15034
     jemalloc = jemalloc450.override ({ disableInitExecTls = true; });
@@ -15010,11 +15552,13 @@ in
 
   checkSSLCert = callPackage ../servers/monitoring/nagios/plugins/check_ssl_cert.nix { };
 
+  pynagsystemd = callPackage ../servers/monitoring/nagios/plugins/pynagsystemd.nix { };
+
   neo4j = callPackage ../servers/nosql/neo4j { };
 
   check-esxi-hardware = callPackage ../servers/monitoring/plugins/esxi.nix {};
 
-  net_snmp = callPackage ../servers/monitoring/net-snmp { };
+  net-snmp = callPackage ../servers/monitoring/net-snmp { };
 
   newrelic-sysmond = callPackage ../servers/monitoring/newrelic-sysmond { };
 
@@ -15023,6 +15567,8 @@ in
   riemann = callPackage ../servers/monitoring/riemann { };
   riemann-dash = callPackage ../servers/monitoring/riemann-dash { };
 
+  unpfs = callPackage ../servers/unpfs {};
+
   oidentd = callPackage ../servers/identd/oidentd { };
 
   openfire = callPackage ../servers/xmpp/openfire { };
@@ -15059,6 +15605,7 @@ in
     postgresql_9_6
     postgresql_10
     postgresql_11
+    postgresql_12
   ;
   postgresql = postgresql_11.override { this = postgresql; };
   postgresqlPackages = recurseIntoAttrs postgresql.pkgs;
@@ -15086,7 +15633,9 @@ in
   prometheus-mesos-exporter = callPackage ../servers/monitoring/prometheus/mesos-exporter.nix { };
   prometheus-minio-exporter = callPackage ../servers/monitoring/prometheus/minio-exporter { };
   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 { };
@@ -15099,7 +15648,11 @@ in
   prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { };
   prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { };
   prometheus-unifi-exporter = callPackage ../servers/monitoring/prometheus/unifi-exporter { };
-  prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix { };
+  prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix {
+    # Version 1.5.1 fails to build with go 1.13 due to test failure
+    #  FAIL       github.com/jonnenauha/prometheus_varnish_exporter       0.041s
+    buildGoModule = buildGo112Module;
+  };
   prometheus-jmx-httpserver = callPackage ../servers/monitoring/prometheus/jmx-httpserver.nix {  };
   prometheus-wireguard-exporter = callPackage ../servers/monitoring/prometheus/wireguard-exporter.nix {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -15124,6 +15677,8 @@ in
     inherit (pythonPackages) buildPythonPackage qpid-python;
   };
 
+  qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
+
   quagga = callPackage ../servers/quagga { };
 
   rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
@@ -15143,7 +15698,11 @@ in
 
   redstore = callPackage ../servers/http/redstore { };
 
-  restic = callPackage ../tools/backup/restic { };
+  restic = callPackage ../tools/backup/restic {
+    # Version 0.9.5 fails to build with go 1.13 due to dependency:
+    #    go: bazil.org/fuse@v0.0.0-20180421153158-65cc252bf669: Get https://proxy.golang.org/bazil.org/fuse/@v/v0.0.0-20180421153158-65cc252bf669.mod: dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:56450->[::1]:53: read: connection refused
+    buildGoPackage = buildGo112Package;
+  };
 
   restic-rest-server = callPackage ../tools/backup/restic/rest-server.nix { };
 
@@ -15153,9 +15712,7 @@ in
     libtool = darwin.cctools;
   };
 
-  rippled = callPackage ../servers/rippled {
-    boost = boost167;
-  };
+  rippled = callPackage ../servers/rippled { };
 
   rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix {
     boost = boost167.override {
@@ -15175,8 +15732,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;
@@ -15184,17 +15739,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;
@@ -15243,8 +15787,6 @@ in
 
   sickrage = callPackage ../servers/sickbeard/sickrage.nix { };
 
-  sipcmd = callPackage ../applications/networking/sipcmd { };
-
   sipwitch = callPackage ../servers/sip/sipwitch { };
 
   slimserver = callPackage ../servers/slimserver { };
@@ -15253,6 +15795,8 @@ in
 
   spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
 
+  spring-boot = callPackage ../development/tools/spring-boot { };
+
   squid = callPackage ../servers/squid { };
 
   sslh = callPackage ../servers/sslh { };
@@ -15295,7 +15839,11 @@ in
 
   shaarli-material = callPackage ../servers/web-apps/shaarli/material-theme.nix { };
 
-  matomo = callPackage ../servers/web-apps/matomo { };
+  shiori = callPackage ../servers/web-apps/shiori { };
+
+  inherit (callPackages ../servers/web-apps/matomo {})
+    matomo
+    matomo-beta;
 
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
@@ -15377,11 +15925,11 @@ in
     server = server-pgsql;
   };
 
-  zabbix42 = zabbixFor "v42";
-  zabbix40 = zabbixFor "v40";
-  zabbix30 = zabbixFor "v30";
+  zabbix44 = recurseIntoAttrs (zabbixFor "v44");
+  zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
+  zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
 
-  zabbix = zabbix42;
+  zabbix = zabbix44;
 
   zipkin = callPackage ../servers/monitoring/zipkin { };
 
@@ -15403,7 +15951,7 @@ in
 
   alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { };
 
-  alienfx = callPackage ../os-specific/linux/alienfx { };
+  alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { };
 
   alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { };
 
@@ -15419,10 +15967,12 @@ in
 
   inherit (callPackage ../misc/arm-trusted-firmware {})
     buildArmTrustedFirmware
+    armTrustedFirmwareTools
     armTrustedFirmwareAllwinner
     armTrustedFirmwareQemu
     armTrustedFirmwareRK3328
     armTrustedFirmwareRK3399
+    armTrustedFirmwareS905
     ;
 
   microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { };
@@ -15447,6 +15997,8 @@ in
 
   bt-fw-converter = callPackage ../os-specific/linux/firmware/bt-fw-converter { };
 
+  brillo = callPackage ../os-specific/linux/brillo { };
+
   broadcom-bt-firmware = callPackage ../os-specific/linux/firmware/broadcom-bt-firmware { };
 
   batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { };
@@ -15462,12 +16014,6 @@ in
 
   bluez = bluez5;
 
-  bluezFull = bluez.override {
-    enableWiimote = true;
-    enableMidi = true;
-    enableSixaxis = true;
-  };
-
   inherit (python3Packages) bedup;
 
   bolt = callPackage ../os-specific/linux/bolt { };
@@ -15475,7 +16021,12 @@ in
   bridge-utils = callPackage ../os-specific/linux/bridge-utils { };
 
   busybox = callPackage ../os-specific/linux/busybox { };
-  busybox-sandbox-shell = callPackage ../os-specific/linux/busybox/sandbox-shell.nix { };
+  busybox-sandbox-shell = callPackage ../os-specific/linux/busybox/sandbox-shell.nix {
+    # musl roadmap has RISC-V support projected for 1.1.20
+    busybox = if !stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.libc != "bionic"
+              then pkgsStatic.busybox
+              else busybox;
+  };
 
   cachefilesd = callPackage ../os-specific/linux/cachefilesd { };
 
@@ -15489,7 +16040,9 @@ in
 
   cpustat = callPackage ../os-specific/linux/cpustat { };
 
-  cockroachdb = callPackage ../servers/sql/cockroachdb { };
+  cockroachdb = callPackage ../servers/sql/cockroachdb {
+    buildGoPackage = buildGo112Package;
+  };
 
   conky = callPackage ../os-specific/linux/conky ({
     lua = lua5_3_compat;
@@ -15500,6 +16053,8 @@ in
 
   coredns = callPackage ../servers/dns/coredns { };
 
+  corerad = callPackage ../tools/networking/corerad { };
+
   cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
 
   cpuset = callPackage ../os-specific/linux/cpuset { };
@@ -15613,6 +16168,8 @@ in
 
   hdparm = callPackage ../os-specific/linux/hdparm { };
 
+  health-check = callPackage ../os-specific/linux/health-check { };
+
   hibernate = callPackage ../os-specific/linux/hibernate { };
 
   hostapd = callPackage ../os-specific/linux/hostapd { };
@@ -15635,6 +16192,8 @@ in
 
   intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
 
+  intel-compute-runtime = callPackage ../os-specific/linux/intel-compute-runtime { };
+
   intel-ocl = callPackage ../os-specific/linux/intel-ocl { };
 
   iomelt = callPackage ../os-specific/linux/iomelt { };
@@ -15647,7 +16206,9 @@ in
 
   iputils = callPackage ../os-specific/linux/iputils { };
 
-  iptables = callPackage ../os-specific/linux/iptables { };
+  iptables = iptables-legacy;
+  iptables-legacy = callPackage ../os-specific/linux/iptables { };
+  iptables-nftables-compat = callPackage ../os-specific/linux/iptables { nftablesCompat = true; };
 
   iptstate = callPackage ../os-specific/linux/iptstate { } ;
 
@@ -15678,9 +16239,7 @@ in
 
   kmscube = callPackage ../os-specific/linux/kmscube { };
 
-  kmsxx = callPackage ../development/libraries/kmsxx {
-    stdenv = gcc6Stdenv;
-  };
+  kmsxx = callPackage ../development/libraries/kmsxx { };
 
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
@@ -15706,6 +16265,10 @@ in
 
   osxfuse = callPackage ../os-specific/darwin/osxfuse { };
 
+  osxsnarf = callPackage ../os-specific/darwin/osxsnarf { };
+
+  power-calibrate = callPackage ../os-specific/linux/power-calibrate { };
+
   powerstat = callPackage ../os-specific/linux/powerstat { };
 
   smemstat = callPackage ../os-specific/linux/smemstat { };
@@ -15730,6 +16293,7 @@ in
   linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp-94.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
       ]
@@ -15744,15 +16308,42 @@ in
     kernelPatches = linux_4_19.kernelPatches;
   };
 
-  linux_rpi = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+  linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+    kernelPatches = with kernelPatches; [
+      bridge_stp_helper
+      request_key_helper
+    ];
+    rpiVersion = 1;
+  };
+
+  linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+    kernelPatches = with kernelPatches; [
+      bridge_stp_helper
+      request_key_helper
+    ];
+    rpiVersion = 2;
+  };
+
+  linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+    kernelPatches = with kernelPatches; [
+      bridge_stp_helper
+      request_key_helper
+    ];
+    rpiVersion = 3;
+  };
+
+  linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
     kernelPatches = with kernelPatches; [
       bridge_stp_helper
+      request_key_helper
     ];
+    rpiVersion = 4;
   };
 
   linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper_updated
         kernelPatches.cpu-cgroup-v2."4.4"
         kernelPatches.modinst_arg_list_too_long
         # https://github.com/NixOS/nixpkgs/issues/42755
@@ -15766,6 +16357,7 @@ in
   linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper_updated
         kernelPatches.cpu-cgroup-v2."4.9"
         kernelPatches.modinst_arg_list_too_long
       ];
@@ -15774,43 +16366,51 @@ in
   linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
         # when adding a new linux version
         kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
-        kernelPatches.export_kernel_fpu_functions
+        kernelPatches.export_kernel_fpu_functions."4.14"
       ];
   };
 
   linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.modinst_arg_list_too_long
-        kernelPatches.export_kernel_fpu_functions
+        kernelPatches.export_kernel_fpu_functions."4.14"
       ];
   };
 
-  linux_5_2 = callPackage ../os-specific/linux/kernel/linux-5.2.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.modinst_arg_list_too_long
-        kernelPatches.export_kernel_fpu_functions
-      ];
+  linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix {
+    kernelPatches = [
+      kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
+      kernelPatches.export_kernel_fpu_functions."5.3"
+    ];
   };
 
-  linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix {
-    kernelPatches = [ kernelPatches.bridge_stp_helper ];
+  linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
+    kernelPatches = [
+      kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
+      kernelPatches.export_kernel_fpu_functions."5.3"
+    ];
   };
 
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
     ];
   };
 
   linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.modinst_arg_list_too_long
       ];
   };
@@ -15818,6 +16418,7 @@ in
   linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
       kernelPatches.modinst_arg_list_too_long
     ];
   };
@@ -15853,12 +16454,8 @@ 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 { };
 
-    blcr = if stdenv.lib.versionOlder "3.18" kernel.version then callPackage ../os-specific/linux/blcr { } else null;
-
     chipsec = callPackage ../tools/security/chipsec {
       inherit kernel;
       withDriver = true;
@@ -15868,14 +16465,20 @@ in
 
     cpupower = callPackage ../os-specific/linux/cpupower { };
 
+    ddcci-driver = callPackage ../os-specific/linux/ddcci { };
+
     deepin-anything = callPackage ../os-specific/linux/deepin-anything { };
 
+    digimend = callPackage ../os-specific/linux/digimend { };
+
     dpdk = callPackage ../os-specific/linux/dpdk { };
 
     exfat-nofuse = callPackage ../os-specific/linux/exfat { };
 
     evdi = callPackage ../os-specific/linux/evdi { };
 
+    fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { };
+
     hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { };
 
     e1000e = if stdenv.lib.versionOlder kernel.version "4.10" then  callPackage ../os-specific/linux/e1000e {} else null;
@@ -15963,6 +16566,8 @@ in
 
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
+    turbostat = callPackage ../os-specific/linux/turbostat { };
+
     usbip = callPackage ../os-specific/linux/usbip { };
 
     v86d = callPackage ../os-specific/linux/v86d { };
@@ -15977,7 +16582,7 @@ in
       virtualbox = pkgs.virtualboxHardened;
     };
 
-    wireguard = callPackage ../os-specific/linux/wireguard { };
+    wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
 
@@ -15996,18 +16601,21 @@ 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.
   linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp;
-  linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi;
+  linuxPackages_rpi1 = linuxPackagesFor pkgs.linux_rpi1;
+  linuxPackages_rpi2 = linuxPackagesFor pkgs.linux_rpi2;
+  linuxPackages_rpi3 = linuxPackagesFor pkgs.linux_rpi3;
+  linuxPackages_rpi4 = linuxPackagesFor pkgs.linux_rpi4;
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
-  linuxPackages_5_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_2);
   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
@@ -16081,17 +16689,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;
 
@@ -16103,9 +16720,13 @@ in
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
 
-  libselinux = callPackage ../os-specific/linux/libselinux { };
+  libselinux = callPackage ../os-specific/linux/libselinux {
+    python = python3;
+  };
 
-  libsemanage = callPackage ../os-specific/linux/libsemanage { };
+  libsemanage = callPackage ../os-specific/linux/libsemanage {
+    python = python3;
+  };
 
   libraw = callPackage ../development/libraries/libraw { };
 
@@ -16115,8 +16736,6 @@ in
 
   libsass = callPackage ../development/libraries/libsass { };
 
-  libsexy = callPackage ../development/libraries/libsexy { };
-
   libsepol = callPackage ../os-specific/linux/libsepol { };
 
   libsmbios = callPackage ../os-specific/linux/libsmbios { };
@@ -16174,6 +16793,10 @@ in
 
   musl = callPackage ../os-specific/linux/musl { };
 
+  nushell = callPackage ../shells/nushell {
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
+  };
+
   nettools = if stdenv.isLinux then callPackage ../os-specific/linux/net-tools { }
              else unixtools.nettools;
 
@@ -16254,7 +16877,11 @@ in
 
   gotests = callPackage ../development/tools/gotests { };
 
-  gotestsum = callPackage ../development/tools/gotestsum { };
+  gotestsum = callPackage ../development/tools/gotestsum {
+    # Version 0.3.5 fails to build with go 1.13:
+    #    build ./testjson/internal/badmain: cannot find module for path ./testjson/internal/badmain
+    buildGoModule = buildGo112Module;
+  };
 
   impl = callPackage ../development/tools/impl { };
 
@@ -16383,10 +17010,6 @@ in
 
   riscv-pk = callPackage ../misc/riscv-pk { };
 
-  riscv-pk-with-kernel = riscv-pk.override {
-    payload = "${linux_riscv}/vmlinux";
-  };
-
   roccat-tools = callPackage ../os-specific/linux/roccat-tools { };
 
   rtkit = callPackage ../os-specific/linux/rtkit { };
@@ -16483,6 +17106,8 @@ in
 
   tpacpi-bat = callPackage ../os-specific/linux/tpacpi-bat { };
 
+  trickster = callPackage ../servers/trickster/trickster.nix {};
+
   trinity = callPackage ../os-specific/linux/trinity { };
 
   tunctl = callPackage ../os-specific/linux/tunctl { };
@@ -16495,12 +17120,14 @@ in
     ubootTools
     ubootA20OlinuxinoLime
     ubootBananaPi
+    ubootBananaPim3
     ubootBananaPim64
     ubootBeagleboneBlack
     ubootClearfog
     ubootGuruplug
     ubootJetsonTK1
     ubootNovena
+    ubootOdroidC2
     ubootOdroidXU3
     ubootOrangePiPc
     ubootOrangePiZeroPlus2H5
@@ -16515,6 +17142,8 @@ in
     ubootRaspberryPi3_32bit
     ubootRaspberryPi3_64bit
     ubootRaspberryPiZero
+    ubootRock64
+    ubootRockPro64
     ubootSheevaplug
     ubootSopine
     ubootUtilite
@@ -16524,10 +17153,6 @@ in
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
-  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
-
-  ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix { };
-
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
   uclibcCross = callPackage ../os-specific/linux/uclibc {
@@ -16592,6 +17217,8 @@ in
 
   xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { };
 
+  xilinx-bootgen = callPackage ../tools/misc/xilinx-bootgen { };
+
   xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { };
 
   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
@@ -16606,12 +17233,22 @@ 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 { };
 
   andagii = callPackage ../data/fonts/andagii { };
@@ -16629,6 +17266,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 { };
@@ -16646,6 +17285,10 @@ in
   bgnet = callPackage ../data/documentation/bgnet { };
 
   bibata-cursors = callPackage ../data/icons/bibata-cursors { };
+  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 { };
 
@@ -16665,7 +17308,11 @@ in
 
   charis-sil = callPackage ../data/fonts/charis-sil { };
 
-  cherry = callPackage ../data/fonts/cherry { };
+  cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
+
+  cldr-emoji-annotation = callPackage ../data/misc/cldr-emoji-annotation { };
+
+  clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
 
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
 
@@ -16753,10 +17400,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 { };
@@ -16792,6 +17443,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;
@@ -16808,14 +17461,18 @@ 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 { };
 
+  gubbi-font = callPackage ../data/fonts/gubbi { };
+
   gyre-fonts = callPackage ../data/fonts/gyre {};
 
   hack-font = callPackage ../data/fonts/hack { };
@@ -16866,6 +17523,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 {};
@@ -16920,6 +17579,8 @@ in
   # lohit-fonts.kashmiri lohit-fonts.konkani lohit-fonts.maithili lohit-fonts.sindhi
   lohit-fonts = recurseIntoAttrs ( callPackages ../data/fonts/lohit-fonts { } );
 
+  lounge-gtk-theme = callPackage ../data/themes/lounge { };
+
   luculent = callPackage ../data/fonts/luculent { };
 
   maia-icon-theme = callPackage ../data/icons/maia-icon-theme { };
@@ -17005,24 +17666,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 { };
@@ -17055,6 +17728,8 @@ in
 
   polytopes_db = callPackage ../data/misc/polytopes_db { };
 
+  pop-gtk-theme = callPackage ../data/themes/pop-gtk { };
+
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
   powerline-fonts = callPackage ../data/fonts/powerline-fonts { };
@@ -17077,6 +17752,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 { };
@@ -17093,6 +17770,8 @@ in
 
   shades-of-gray-theme = callPackage ../data/themes/shades-of-gray { };
 
+  sweet = callPackage ../data/themes/sweet { };
+
   mime-types = callPackage ../data/misc/mime-types { };
 
   shared-mime-info = callPackage ../data/misc/shared-mime-info { };
@@ -17105,11 +17784,15 @@ 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 { };
 
-  starship = callPackage ../tools/misc/starship { };
+  starship = callPackage ../tools/misc/starship {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   stig = callPackage ../applications/networking/p2p/stig { };
 
@@ -17140,6 +17823,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 { };
@@ -17180,7 +17867,7 @@ in
   source-han-serif-simplified-chinese = sourceHanSerifPackages.simplified-chinese;
   source-han-serif-traditional-chinese = sourceHanSerifPackages.traditional-chinese;
 
-  spleen = callPackage ../data/fonts/spleen { };
+  spleen = callPackage ../data/fonts/spleen { inherit (xorg) mkfontdir; };
 
   stilo-themes = callPackage ../data/themes/stilo { };
 
@@ -17194,6 +17881,8 @@ in
     gtk = res.gtk2;
   };
 
+  theme-jade1 = callPackage ../data/themes/jade1 { };
+
   theme-obsidian2 = callPackage ../data/themes/obsidian2 { };
 
   themes = name: callPackage (../data/misc/themes + ("/" + name + ".nix")) {};
@@ -17216,6 +17905,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 { };
@@ -17240,12 +17931,20 @@ in
 
   uni-vga = callPackage ../data/fonts/uni-vga { };
 
+  unicode-character-database = callPackage ../data/misc/unicode-character-database { };
+
+  unicode-emoji = callPackage ../data/misc/unicode-emoji { };
+
+  unihan-database = callPackage ../data/misc/unihan-database { };
+
   unifont = callPackage ../data/fonts/unifont { };
 
   unifont_upper = callPackage ../data/fonts/unifont_upper { };
 
   unscii = callPackage ../data/fonts/unscii { };
 
+  uw-ttyp0 = callPackage ../data/fonts/uw-ttyp0 { inherit (xorg) fonttosfnt mkfontdir; };
+
   vanilla-dmz = callPackage ../data/icons/vanilla-dmz { };
 
   vdrsymbols = callPackage ../data/fonts/vdrsymbols { };
@@ -17262,6 +17961,8 @@ in
 
   wireless-regdb = callPackage ../data/misc/wireless-regdb { };
 
+  work-sans  = callPackage ../data/fonts/work-sans { };
+
   wqy_microhei = callPackage ../data/fonts/wqy-microhei { };
 
   wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { };
@@ -17335,6 +18036,8 @@ in
 
   airwave = callPackage ../applications/audio/airwave { };
 
+  akira-unstable = callPackage ../applications/graphics/akira { };
+
   alembic = callPackage ../development/libraries/alembic {};
 
   alchemy = callPackage ../applications/graphics/alchemy { };
@@ -17389,6 +18092,8 @@ in
 
   ario = callPackage ../applications/audio/ario { };
 
+  arion = callPackage ../applications/virtualization/arion { };
+
   arora = callPackage ../applications/networking/browsers/arora { };
 
   artha = callPackage ../applications/misc/artha { };
@@ -17485,8 +18190,6 @@ in
 
   batik = callPackage ../applications/graphics/batik { };
 
-  batti = callPackage ../applications/misc/batti { };
-
   baudline = callPackage ../applications/audio/baudline { };
 
 
@@ -17503,7 +18206,7 @@ in
 
   bevelbar = callPackage ../applications/window-managers/bevelbar { };
 
-  bibletime = callPackage ../applications/misc/bibletime { };
+  bibletime = libsForQt5.callPackage ../applications/misc/bibletime { };
 
   bino3d = libsForQt5.callPackage ../applications/video/bino3d {
     ffmpeg = ffmpeg_4;
@@ -17564,6 +18267,8 @@ in
                         libXi libXext libXfixes libXcomposite;
   };
 
+  blugon = callPackage ../applications/misc/blugon { };
+
   bombono = callPackage ../applications/video/bombono {};
 
   bomi = libsForQt5.callPackage ../applications/video/bomi {
@@ -17584,6 +18289,12 @@ in
 
   bs1770gain = callPackage ../applications/audio/bs1770gain { };
 
+  bsequencer = callPackage ../applications/audio/bsequencer { };
+
+  bslizr = callPackage ../applications/audio/bslizr { };
+
+  bshapr = callPackage ../applications/audio/bshapr { };
+
   bspwm = callPackage ../applications/window-managers/bspwm { };
 
   btops = callPackage ../applications/window-managers/btops { };
@@ -17611,7 +18322,11 @@ in
     poppler = poppler_0_61;
   };
 
-  perkeep = callPackage ../applications/misc/perkeep { };
+  perkeep = callPackage ../applications/misc/perkeep {
+    # Revision c9f78d02adf9740f3b8d403a1418554293cc9f41 fails to build with go 1.13 due to a dependency:
+    #   go: bazil.org/fuse@v0.0.0-20160811212531-371fbbdaa898: Get https://proxy.golang.org/bazil.org/fuse/@v/v0.0.0-20160811212531-371fbbdaa898.mod: dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:36526->[::1]:53: read: connection refused
+    buildGoPackage = buildGo112Package;
+  };
 
   canto-curses = callPackage ../applications/networking/feedreaders/canto-curses { };
 
@@ -17621,10 +18336,10 @@ in
 
   carla = qt5.callPackage ../applications/audio/carla { };
 
-  catfish = callPackage ../applications/search/catfish { };
-
   catimg = callPackage ../tools/misc/catimg { };
 
+  catt = python3Packages.callPackage ../applications/video/catt { };
+
   cava = callPackage ../applications/audio/cava { };
 
   cb2bib = libsForQt5.callPackage ../applications/office/cb2bib { };
@@ -17644,10 +18359,6 @@ in
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
 
-  cdrtools = callPackage ../applications/misc/cdrtools {
-    inherit (darwin.apple_sdk.frameworks) Carbon IOKit;
-  };
-
   centerim = callPackage ../applications/networking/instant-messengers/centerim { };
 
   cgit = callPackage ../applications/version-management/git-and-tools/cgit {
@@ -17656,9 +18367,7 @@ in
 
   cgminer = callPackage ../applications/misc/cgminer { };
 
-  chirp = callPackage ../applications/radio/chirp {
-    inherit (pythonPackages) pyserial pygtk;
-  };
+  chirp = callPackage ../applications/radio/chirp { };
 
   browsh = callPackage ../applications/networking/browsers/browsh { };
 
@@ -17678,6 +18387,8 @@ in
 
   cinelerra = callPackage ../applications/video/cinelerra { };
 
+  cipher = callPackage ../applications/misc/cipher { };
+
   claws-mail = callPackage ../applications/networking/mailreaders/claws-mail {
     inherit (xorg) libSM;
   };
@@ -17738,16 +18449,10 @@ in
     pygments = python27Packages.pygments;
   };
 
-  csound-qt = libsForQt59.callPackage ../applications/audio/csound/csound-qt {
+  csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt {
     python = python27;
   };
 
-  cinepaint = callPackage ../applications/graphics/cinepaint {
-    fltk = fltk13;
-    libpng = libpng12;
-    cmake = cmake_2_8;
-  };
-
   codeblocks = callPackage ../applications/editors/codeblocks { };
   codeblocksFull = codeblocks.override { contribPlugins = true; };
 
@@ -17764,6 +18469,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 {};
@@ -17840,8 +18547,6 @@ in
     inherit (pkgs.gnome2) libart_lgpl libgnomeui;
   };
 
-  diffuse = callPackage ../applications/version-management/diffuse { };
-
   direwolf = callPackage ../applications/misc/direwolf { };
 
   dirt = callPackage ../applications/audio/dirt {};
@@ -17898,6 +18603,8 @@ in
 
   docker-credential-gcr = callPackage ../tools/admin/docker-credential-gcr { };
 
+  docker-credential-helpers = callPackage ../tools/admin/docker-credential-helpers { };
+
   doodle = callPackage ../applications/search/doodle { };
 
   dr14_tmeter = callPackage ../applications/audio/dr14_tmeter { };
@@ -17991,6 +18698,7 @@ in
 
   emacs = emacs26;
   emacsPackages = emacs26Packages;
+  emacs-nox = emacs26-nox;
 
   emacs26 = callPackage ../applications/editors/emacs {
     # use override to enable additional features
@@ -18006,6 +18714,7 @@ in
 
   emacs26-nox = lowPrio (appendToName "nox" (emacs26.override {
     withX = false;
+    withNS = false;
     withGTK2 = false;
     withGTK3 = false;
   }));
@@ -18070,6 +18779,8 @@ in
 
   enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { };
 
+  envelope = callPackage ../applications/office/envelope { };
+
   eolie = callPackage ../applications/networking/browsers/eolie { };
 
   epdfview = callPackage ../applications/misc/epdfview { };
@@ -18082,10 +18793,12 @@ in
 
   epic5 = callPackage ../applications/networking/irc/epic5 { };
 
+  epr = callPackage ../applications/misc/epr { };
+
   eq10q = callPackage ../applications/audio/eq10q { };
 
   errbot = callPackage ../applications/networking/errbot {
-    pythonPackages = python3Packages;
+    python = python3;
   };
 
   espeak-classic = callPackage ../applications/audio/espeak { };
@@ -18128,6 +18841,8 @@ in
 
   keepass-keepassrpc = callPackage ../applications/misc/keepass-plugins/keepassrpc { };
 
+  keepass-otpkeyprov = callPackage ../applications/misc/keepass-plugins/otpkeyprov { };
+
   exrdisplay = callPackage ../applications/graphics/exrdisplay { };
 
   exrtools = callPackage ../applications/graphics/exrtools { };
@@ -18213,6 +18928,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 { };
@@ -18291,6 +19008,8 @@ in
 
   grepm = callPackage ../applications/search/grepm { };
 
+  grip-search = callPackage ../tools/text/grip-search { };
+
   grip = callPackage ../applications/misc/grip {
     inherit (gnome2) libgnome libgnomeui vte;
   };
@@ -18331,7 +19050,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 {};
@@ -18386,8 +19105,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";
   };
 
@@ -18400,8 +19118,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";
   };
 
@@ -18415,15 +19132,10 @@ 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";
   };
 
-  firestr = libsForQt5.callPackage ../applications/networking/p2p/firestr
-    { boost = boost155;
-    };
-
   flac = callPackage ../applications/audio/flac { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -18446,6 +19158,8 @@ in
 
   fomp = callPackage ../applications/audio/fomp { };
 
+  formatter = callPackage ../applications/misc/formatter { };
+
   fractal = callPackage ../applications/networking/instant-messengers/fractal { };
 
   freecad = qt5.callPackage ../applications/graphics/freecad { mpi = openmpi; };
@@ -18470,6 +19184,8 @@ in
 
   freerdpUnstable = freerdp;
 
+  friture = libsForQt5.callPackage ../applications/audio/friture { };
+
   fte = callPackage ../applications/editors/fte { };
 
   game-music-emu = callPackage ../applications/audio/game-music-emu { };
@@ -18526,9 +19242,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 { };
 
@@ -18556,7 +19270,7 @@ in
 
   moe =  callPackage ../applications/editors/moe { };
 
-  multibootusb = callPackage ../applications/misc/multibootusb {};
+  multibootusb = qt5.callPackage ../applications/misc/multibootusb {};
 
   praat = callPackage ../applications/audio/praat { };
 
@@ -18571,10 +19285,14 @@ in
 
   svox = callPackage ../applications/audio/svox { };
 
+  giada = callPackage ../applications/audio/giada {};
+
   gkrellm = callPackage ../applications/misc/gkrellm {
     inherit (darwin) IOKit;
   };
 
+  glow = callPackage ../applications/editors/glow { };
+
   glowing-bear = callPackage ../applications/networking/irc/glowing-bear { };
 
   gmtk = callPackage ../development/libraries/gmtk { };
@@ -18664,6 +19382,8 @@ in
 
   gpsprune = callPackage ../applications/misc/gpsprune { };
 
+  gpxlab = libsForQt5.callPackage ../applications/misc/gpxlab { };
+
   gpxsee = libsForQt5.callPackage ../applications/misc/gpxsee { };
 
   gspell = callPackage ../development/libraries/gspell { };
@@ -18680,22 +19400,26 @@ in
 
   gv = callPackage ../applications/misc/gv { };
 
+  gvisor = callPackage ../applications/virtualization/gvisor { };
+
+  gvisor-containerd-shim = callPackage ../applications/virtualization/gvisor/containerd-shim.nix { };
+
   guvcview = callPackage ../os-specific/linux/guvcview { };
 
   gxmessage = callPackage ../applications/misc/gxmessage { };
 
+  gxmatcheq-lv2 = callPackage ../applications/audio/gxmatcheq-lv2 { };
+
   gxplugins-lv2 = callPackage ../applications/audio/gxplugins-lv2 { };
 
   hackrf = callPackage ../applications/radio/hackrf { };
 
   hakuneko = callPackage ../tools/misc/hakuneko { };
 
-  hamster-time-tracker = callPackage ../applications/misc/hamster-time-tracker {
-    inherit (gnome2) gnome_python;
-  };
-
   hashit = callPackage ../tools/misc/hashit { };
 
+  heimer = libsForQt5.callPackage ../applications/misc/heimer { };
+
   hello = callPackage ../applications/misc/hello { };
   hello-unfree = callPackage ../applications/misc/hello-unfree { };
 
@@ -18709,6 +19433,8 @@ in
 
   hexcurse = callPackage ../applications/editors/hexcurse { };
 
+  hexdino = callPackage ../applications/editors/hexdino { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
@@ -18747,6 +19473,8 @@ in
 
   hydrogen = callPackage ../applications/audio/hydrogen { };
 
+  hydroxide = callPackage ../applications/networking/hydroxide { };
+
   hyper = callPackage ../applications/misc/hyper { };
 
   hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix {
@@ -18802,13 +19530,18 @@ in
 
   super-productivity = callPackage ../applications/networking/super-productivity { };
 
+  wlr-randr = callPackage ../tools/misc/wlr-randr { };
+
   wlroots = callPackage ../development/libraries/wlroots { };
 
-  sway = callPackage ../applications/window-managers/sway { };
+  sway-unwrapped = callPackage ../applications/window-managers/sway { };
+  sway = callPackage ../applications/window-managers/sway/wrapper.nix { };
   swaybg = callPackage ../applications/window-managers/sway/bg.nix { };
   swayidle = callPackage ../applications/window-managers/sway/idle.nix { };
   swaylock = callPackage ../applications/window-managers/sway/lock.nix { };
 
+  swaylock-fancy = callPackage ../applications/window-managers/sway/lock-fancy.nix { };
+
   waybar = callPackage ../applications/misc/waybar {
     pulseSupport = config.pulseaudio or false;
   };
@@ -18952,7 +19685,6 @@ in
 
   inkscape = callPackage ../applications/graphics/inkscape {
     lcms = lcms2;
-    poppler = poppler_0_61;
   };
 
   inspectrum = libsForQt5.callPackage ../applications/radio/inspectrum { };
@@ -19031,7 +19763,7 @@ in
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
     stdenv = gcc6Stdenv;
-    boost = boost166.override { enablePython = true; };
+    boost = boost155.override { enablePython = true; };
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -19091,8 +19823,6 @@ in
 
   keyfinder-cli = libsForQt5.callPackage ../applications/audio/keyfinder-cli { };
 
-  keymon = callPackage ../applications/video/key-mon { };
-
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
   khal = callPackage ../applications/misc/khal { };
@@ -19140,7 +19870,11 @@ in
 
   kubeval = callPackage ../applications/networking/cluster/kubeval { };
 
-  kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
+  kubernetes = callPackage ../applications/networking/cluster/kubernetes {
+    go = buildPackages.go_1_12;
+  };
+
+  kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
 
   kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
@@ -19223,13 +19957,15 @@ in
   libreoffice-fresh = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
     libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
+        variant = "fresh";
       });
   });
   libreoffice-fresh-unwrapped = libreoffice-fresh.libreoffice;
 
   libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
-    libreoffice = callPackage ../applications/office/libreoffice/still.nix
+    libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
+        variant = "still";
       });
   });
   libreoffice-still-unwrapped = libreoffice-still.libreoffice;
@@ -19238,9 +19974,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;
@@ -19270,13 +20004,11 @@ 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 { };
 
-  llpp = ocaml-ng.ocamlPackages_4_07.callPackage ../applications/misc/llpp { };
+  llpp = ocamlPackages.callPackage ../applications/misc/llpp { };
 
   lmms = libsForQt5.callPackage ../applications/audio/lmms {
     lame = null;
@@ -19286,6 +20018,8 @@ in
 
   loxodo = callPackage ../applications/misc/loxodo { };
 
+  lsd2dsl = libsForQt5.callPackage ../applications/misc/lsd2dsl { };
+
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
   lsp-plugins = callPackage ../applications/audio/lsp-plugins { };
@@ -19324,7 +20058,7 @@ in
   luppp = callPackage ../applications/audio/luppp { };
 
   lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris {
-    inherit (gnome3) gnome-desktop libgnome-keyring webkitgtk;
+    inherit (gnome3) gnome-desktop libgnome-keyring;
     wine = wineWowPackages.staging;
   };
   lutris = callPackage ../applications/misc/lutris/chrootenv.nix { };
@@ -19363,6 +20097,8 @@ in
 
   mako = callPackage ../applications/misc/mako { };
 
+  mandelbulber = libsForQt5.callPackage ../applications/graphics/mandelbulber { };
+
   mapmap = libsForQt5.callPackage ../applications/video/mapmap { };
 
   marathon = callPackage ../applications/networking/cluster/marathon { };
@@ -19372,10 +20108,21 @@ in
 
   marp = callPackage ../applications/office/marp { };
 
-  magnetico = callPackage ../applications/networking/p2p/magnetico { };
+  magnetico = callPackage ../applications/networking/p2p/magnetico {
+    # Version 2019-08-14 fails to build with go 1.13 due to missing go.sum
+    buildGoModule = buildGo112Module;
+  };
 
   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 { };
@@ -19386,9 +20133,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 { };
 
@@ -19396,23 +20141,22 @@ in
 
   meme = callPackage ../applications/graphics/meme { };
 
-  mcomix = callPackage ../applications/graphics/mcomix { };
-
   mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = pkgs.gnome2.GConf;
   };
 
   menumaker = callPackage ../applications/misc/menumaker { };
 
+  mercurial_4 = callPackage ../applications/version-management/mercurial/4.9.nix {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
   mercurial = callPackage ../applications/version-management/mercurial {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   };
 
   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 { };
 
@@ -19449,8 +20193,6 @@ in
 
   meh = callPackage ../applications/graphics/meh {};
 
-  mirage = callPackage ../applications/graphics/mirage { };
-
   mixxx = libsForQt5.callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
   };
@@ -19464,9 +20206,14 @@ in
   MMA = callPackage ../applications/audio/MMA { };
 
   mmex = callPackage ../applications/office/mmex {
-    wxGTK30 = wxGTK30.override { withWebKit  = true ; };
+    wxGTK30 = wxGTK30.override {
+      withWebKit = true;
+      withGtk2 = false;
+    };
   };
 
+  mmsd = callPackage ../tools/networking/mmsd { };
+
   moc = callPackage ../applications/audio/moc { };
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
@@ -19489,7 +20236,11 @@ in
     lua = lua5;
   };
 
-  inherit (ocaml-ng.ocamlPackages_4_01_0) monotoneViz;
+  monotoneViz = callPackage ../applications/version-management/monotone-viz {
+    ocamlPackages = ocaml-ng.ocamlPackages_4_01_0;
+  };
+
+  monitor = callPackage ../applications/system/monitor { };
 
   moolticute = libsForQt5.callPackage ../applications/misc/moolticute { };
 
@@ -19543,16 +20294,20 @@ in
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
 
-  mpc_cli = callPackage ../applications/audio/mpc { };
+  mpc_cli = callPackage ../applications/audio/mpc {
+    inherit (python3Packages) sphinx;
+  };
 
   clerk = callPackage ../applications/audio/clerk { };
 
-  nbstripout = callPackage ../applications/version-management/nbstripout { };
+  nbstripout = callPackage ../applications/version-management/nbstripout { python = python3; };
 
   ncmpc = callPackage ../applications/audio/ncmpc { };
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
+  rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
+
   ympd = callPackage ../applications/audio/ympd { };
 
   nload = callPackage ../applications/networking/nload { };
@@ -19595,19 +20350,26 @@ in
 
   mtpaint = callPackage ../applications/graphics/mtpaint { };
 
+  mu-repo = python3Packages.callPackage ../applications/misc/mu-repo { };
+
   mucommander = callPackage ../applications/misc/mucommander { };
 
   multimarkdown = callPackage ../tools/typesetting/multimarkdown { };
 
   multimon-ng = callPackage ../applications/radio/multimon-ng { };
 
-  inherit (callPackages ../applications/networking/mumble {
+  murmur = (callPackages ../applications/networking/mumble {
       avahi = avahi-compat;
-      jackSupport = config.mumble.jackSupport or false;
-      speechdSupport = config.mumble.speechdSupport or false;
       pulseSupport = config.pulseaudio or false;
       iceSupport = config.murmur.iceSupport or true;
-    }) mumble mumble_rc murmur murmur_rc;
+    }).murmur;
+
+  mumble = (callPackages ../applications/networking/mumble {
+      avahi = avahi-compat;
+      jackSupport = config.mumble.jackSupport or false;
+      speechdSupport = config.mumble.speechdSupport or false;
+      pulseSupport = config.pulseaudio or stdenv.isLinux;
+    }).mumble;
 
   mumble_overlay = callPackage ../applications/networking/mumble/overlay.nix {
     mumble_i686 = if stdenv.hostPlatform.system == "x86_64-linux"
@@ -19639,13 +20401,19 @@ in
 
   neocomp  = callPackage ../applications/window-managers/neocomp { };
 
+  netease-cloud-music = callPackage ../applications/audio/netease-cloud-music {};
+
   nicotine-plus = callPackage ../applications/networking/soulseek/nicotine-plus {
     geoip = geoipWithDatabase;
   };
 
   notion = callPackage ../applications/window-managers/notion { };
 
-  openshift = callPackage ../applications/networking/cluster/openshift { };
+  open-policy-agent = callPackage ../development/tools/open-policy-agent { };
+
+  openshift = callPackage ../applications/networking/cluster/openshift {
+    buildGoPackage = buildGo112Package;
+  };
 
   oroborus = callPackage ../applications/window-managers/oroborus {};
 
@@ -19657,6 +20425,8 @@ in
 
   partio = callPackage ../development/libraries/partio {};
 
+  pbis-open = callPackage ../tools/security/pbis { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   pcmanfm-qt = lxqt.pcmanfm-qt;
@@ -19696,8 +20466,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 { };
@@ -19708,7 +20476,9 @@ in
     libmlt = mlt;
   };
 
-  shogun = callPackage ../applications/science/machine-learning/shogun { };
+  shogun = callPackage ../applications/science/machine-learning/shogun {
+    stdenv = gcc8Stdenv;
+  };
 
   sky = callPackage ../applications/networking/instant-messengers/sky {};
 
@@ -19718,12 +20488,16 @@ in
 
   softmaker-office = callPackage ../applications/office/softmaker/softmaker_office.nix {};
 
+  spacegun = callPackage ../applications/networking/cluster/spacegun {};
+
   stride = callPackage ../applications/networking/instant-messengers/stride { };
 
   sudolikeaboss = callPackage ../tools/security/sudolikeaboss { };
 
   speedread = callPackage ../applications/misc/speedread { };
 
+  station = callPackage ../applications/networking/station { };
+
   synapse = callPackage ../applications/misc/synapse { };
 
   synapse-bt = callPackage ../applications/networking/p2p/synapse-bt {
@@ -19746,6 +20520,8 @@ in
 
   sidplayfp = callPackage ../applications/audio/sidplayfp { };
 
+  sndpeek = callPackage ../applications/audio/sndpeek { };
+
   sxhkd = callPackage ../applications/window-managers/sxhkd { };
 
   mpop = callPackage ../applications/networking/mpop {
@@ -19784,10 +20560,14 @@ in
 
   mypaint-brushes = callPackage ../development/libraries/mypaint-brushes { };
 
-  mythtv = libsForQt5.callPackage ../applications/video/mythtv { };
+  mythtv = libsForQt5.callPackage ../applications/video/mythtv {
+    libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
+  };
 
   micro = callPackage ../applications/editors/micro { };
 
+  mle = callPackage ../applications/editors/mle { };
+
   nano = callPackage ../applications/editors/nano { };
 
   nanoblogger = callPackage ../applications/misc/nanoblogger { };
@@ -19804,6 +20584,12 @@ in
 
   ncdc = callPackage ../applications/networking/p2p/ncdc { };
 
+  ncspot = callPackage ../applications/audio/ncspot {
+    withALSA = stdenv.isLinux;
+    withPulseAudio = config.pulseaudio or stdenv.isLinux;
+    withPortAudio = stdenv.isDarwin;
+  };
+
   ncview = callPackage ../tools/X11/ncview { } ;
 
   ne = callPackage ../applications/editors/ne { };
@@ -19843,12 +20629,14 @@ in
     inherit (gnome2) libglade;
   };
 
-  oblogout = callPackage ../tools/X11/oblogout { };
-
   obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { };
 
+  obs-wlrobs = callPackage ../applications/video/obs-studio/wlrobs.nix { };
+
+  obs-ndi = callPackage ../applications/video/obs-studio/obs-ndi.nix { };
+
   octoprint = callPackage ../applications/misc/octoprint { };
 
   octoprint-plugins = callPackage ../applications/misc/octoprint/plugins.nix { };
@@ -19875,9 +20663,7 @@ in
 
   openfx = callPackage ../development/libraries/openfx {};
 
-  openimageio = callPackage ../applications/graphics/openimageio {
-    stdenv = gcc6Stdenv;
-  };
+  openimageio = callPackage ../applications/graphics/openimageio { };
 
   openimageio2 = callPackage ../applications/graphics/openimageio/2.x.nix { };
 
@@ -19898,7 +20684,6 @@ in
 
   orca = python3Packages.callPackage ../applications/misc/orca {
     inherit (pkgs) pkgconfig;
-    inherit (gnome3) yelp-tools;
   };
 
   osm2xmap = callPackage ../applications/misc/osm2xmap {
@@ -19934,11 +20719,9 @@ 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;
+    # https://www.palemoon.org/sourcecode.shtml
+    stdenv = gcc7Stdenv;
   };
 
   pamix = callPackage ../applications/audio/pamix { };
@@ -20086,14 +20869,12 @@ 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 (callPackage ../applications/misc/plover { });
+  plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { });
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
-  pmenu = callPackage ../applications/misc/pmenu { };
-
   polar-bookshelf = callPackage ../applications/misc/polar-bookshelf { };
 
   poezio = python3Packages.poezio;
@@ -20134,9 +20915,9 @@ in
 
   ps2client = callPackage ../applications/networking/ps2client { };
 
-  psi = callPackage ../applications/networking/instant-messengers/psi { };
+  psi = libsForQt5.callPackage ../applications/networking/instant-messengers/psi { };
 
-  psi-plus = callPackage ../applications/networking/instant-messengers/psi-plus { };
+  psi-plus = libsForQt5.callPackage ../applications/networking/instant-messengers/psi-plus { };
 
   psol = callPackage ../development/libraries/psol { };
 
@@ -20160,6 +20941,9 @@ in
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { };
+  qbittorrent-nox = qbittorrent.override {
+    guiSupport = false;
+  };
 
   qcomicbook = libsForQt5.callPackage ../applications/graphics/qcomicbook { };
 
@@ -20176,6 +20960,8 @@ in
     python = python3;
   };
 
+  qemu-utils = callPackage ../applications/virtualization/qemu/utils.nix {};
+
   qgis-unwrapped = libsForQt5.callPackage ../applications/gis/qgis/unwrapped.nix {
       withGrass = false;
   };
@@ -20192,7 +20978,9 @@ in
 
   qmapshack = libsForQt5.callPackage ../applications/misc/qmapshack { };
 
-  qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { };
+  qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview {
+    boost = boost17x;
+  };
 
   qmetro = callPackage ../applications/misc/qmetro { };
 
@@ -20221,7 +21009,7 @@ in
 
   qsynth = libsForQt5.callPackage ../applications/audio/qsynth { };
 
-  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
+  qtbitcointrader = libsForQt5.callPackage ../applications/misc/qtbitcointrader { };
 
   qtchan = libsForQt5.callPackage ../applications/networking/browsers/qtchan { };
 
@@ -20235,9 +21023,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;
@@ -20305,6 +21091,8 @@ in
 
   railcar = callPackage ../applications/virtualization/railcar {};
 
+  raiseorlaunch = callPackage ../applications/misc/raiseorlaunch {};
+
   rapcad = libsForQt5.callPackage ../applications/graphics/rapcad { boost = boost159; };
 
   rapid-photo-downloader = libsForQt5.callPackage ../applications/graphics/rapid-photo-downloader { };
@@ -20403,6 +21191,11 @@ in
       urxvt_font_size
       urxvt_theme_switch
       urxvt_vtwheel
+      urxvt_bidi
+    ];
+    perlDeps = [
+      # This needs the perl module it self provides
+      urxvt_bidi
     ];
   };
 
@@ -20414,6 +21207,7 @@ in
   urxvt_font_size = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-font-size { };
   urxvt_theme_switch = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-theme-switch { };
   urxvt_vtwheel = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-vtwheel.nix { };
+  urxvt_bidi = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-bidi { };
 
   uade123 = callPackage ../applications/audio/uade123 {};
 
@@ -20447,10 +21241,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 { };
@@ -20465,6 +21255,8 @@ in
 
   shfmt = callPackage ../tools/text/shfmt { };
 
+  shotgun = callPackage ../tools/graphics/shotgun {};
+
   shutter = callPackage ../applications/graphics/shutter { };
 
   simple-scan = gnome3.simple-scan;
@@ -20499,10 +21291,18 @@ 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) AppKit Security;
+  };
+
   squishyball = callPackage ../applications/audio/squishyball {
     ncurses = ncurses5;
   };
@@ -20519,7 +21319,9 @@ in
 
   wavebox = callPackage ../applications/networking/instant-messengers/wavebox { };
 
-  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi { };
+  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi {
+    ruby = ruby_2_4;  # sonic-pi build breaks with ruby 2.5 and 2.6
+  };
 
   st = callPackage ../applications/misc/st {
     conf = config.st.conf or null;
@@ -20610,16 +21412,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 { };
@@ -20730,6 +21526,7 @@ in
 
   swift-im = libsForQt5.callPackage ../applications/networking/instant-messengers/swift-im {
     inherit (gnome2) GConf;
+    boost = boost168;
   };
 
   sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { };
@@ -20749,7 +21546,7 @@ in
   syncthing-tray = callPackage ../applications/misc/syncthing-tray { };
 
   syncthingtray = libsForQt5.callPackage ../applications/misc/syncthingtray { };
-  syncthingtray-minumal = libsForQt5.callPackage ../applications/misc/syncthingtray {
+  syncthingtray-minimal = libsForQt5.callPackage ../applications/misc/syncthingtray {
     webviewSupport = false;
     jsSupport = false;
     kioPluginSupport = false;
@@ -20778,12 +21575,18 @@ in
 
   tailor = callPackage ../applications/version-management/tailor {};
 
+  taizen = callPackage ../applications/misc/taizen {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   tangogps = callPackage ../applications/misc/tangogps {
     gconf = gnome2.GConf;
   };
 
   tambura = callPackage ../applications/audio/tambura { };
 
+  teams = callPackage ../applications/networking/instant-messengers/teams { };
+
   teamspeak_client = libsForQt512.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
@@ -20824,7 +21627,9 @@ in
 
   telepathy-idle = callPackage ../applications/networking/instant-messengers/telepathy/idle {};
 
-  tendermint = callPackage ../tools/networking/tendermint {};
+  tendermint = callPackage ../tools/networking/tendermint {
+    buildGoModule = buildGo112Module;
+  };
 
   termdown = (newScope pythonPackages) ../applications/misc/termdown { };
 
@@ -20853,14 +21658,17 @@ in
 
   tetraproc = callPackage ../applications/audio/tetraproc { };
 
+  tev = callPackage ../applications/graphics/tev { };
+
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
 
   thonny = callPackage ../applications/editors/thonny { };
 
   thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
     inherit (gnome2) libIDL;
+    inherit (rustPackages_1_38_0) cargo rustc;
     libpng = libpng_apng;
-    enableGTK3 = true;
+    gtk3Support = true;
   };
 
   thunderbolt = callPackage ../os-specific/linux/thunderbolt {};
@@ -20914,12 +21722,6 @@ in
 
   toggldesktop = libsForQt5.callPackage ../applications/misc/toggldesktop { };
 
-  tomahawk = callPackage ../applications/audio/tomahawk ({
-    taglib = taglib_1_9;
-    quazip = quazip_qt4;
-    boost = boost155;
-  } // (config.tomahawk or {}));
-
   topydo = callPackage ../applications/misc/topydo {};
 
   torchPackages = recurseIntoAttrs ( callPackage ../applications/science/machine-learning/torch {
@@ -20967,6 +21769,8 @@ in
 
   tdrop = callPackage ../applications/misc/tdrop { };
 
+  tre-command = callPackage ../tools/system/tre-command {};
+
   tree = callPackage ../tools/system/tree {};
 
   treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK31; };
@@ -20989,10 +21793,17 @@ in
 
   ulauncher = callPackage ../applications/misc/ulauncher { };
 
+  twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
+
+  ueberzug = with python3Packages; toPythonApplication ueberzug;
+
   umurmur = callPackage ../applications/networking/umurmur { };
 
   udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
 
+  uefitoolPackages = recurseIntoAttrs (callPackage ../tools/system/uefitool/variants.nix {});
+  uefitool = uefitoolPackages.new-engine;
+
   unigine-valley = callPackage ../applications/graphics/unigine-valley { };
 
   inherit (ocaml-ng.ocamlPackages_4_05) unison;
@@ -21011,10 +21822,6 @@ in
 
   uwimap = callPackage ../tools/networking/uwimap { };
 
-  uzbl = callPackage ../applications/networking/browsers/uzbl {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-
   utox = callPackage ../applications/networking/instant-messengers/utox { };
 
   valentina = libsForQt5.callPackage ../applications/misc/valentina { };
@@ -21026,7 +21833,7 @@ in
   vcv-rack = callPackage ../applications/audio/vcv-rack { };
 
   vdirsyncer = callPackage ../tools/misc/vdirsyncer {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
 
   vdirsyncerStable = callPackage ../tools/misc/vdirsyncer/stable.nix { };
@@ -21081,6 +21888,12 @@ in
 
   neovim-qt = libsForQt5.callPackage ../applications/editors/neovim/qt.nix { };
 
+  gnvim-unwrapped = callPackage ../applications/editors/neovim/gnvim {
+    gtk = pkgs.gtk3;
+  };
+
+  gnvim = callPackage ../applications/editors/neovim/gnvim/wrapper.nix { };
+
   neovim-remote = callPackage ../applications/editors/neovim/neovim-remote.nix { pythonPackages = python3Packages; };
 
   vis = callPackage ../applications/editors/vis {
@@ -21093,12 +21906,11 @@ in
 
   virt-what = callPackage ../applications/virtualization/virt-what { };
 
-  virtmanager = callPackage ../applications/virtualization/virt-manager {
-    dconf = gnome3.dconf;
+  virt-manager = callPackage ../applications/virtualization/virt-manager {
     system-libvirt = libvirt;
   };
 
-  virtmanager-qt = libsForQt5.callPackage ../applications/virtualization/virt-manager/qt.nix {
+  virt-manager-qt = libsForQt5.callPackage ../applications/virtualization/virt-manager/qt.nix {
     qtermwidget = lxqt.qtermwidget;
   };
 
@@ -21197,6 +22009,8 @@ in
 
   vym = qt5.callPackage ../applications/misc/vym { };
 
+  waon = callPackage ../applications/audio/waon { };
+
   w3m = callPackage ../applications/networking/browsers/w3m { };
 
   # Should always be the version with the most features
@@ -21232,6 +22046,8 @@ in
 
   wayv = callPackage ../tools/X11/wayv {};
 
+  webmacs = libsForQt5.callPackage ../applications/networking/browsers/webmacs {};
+
   webtorrent_desktop = callPackage ../applications/video/webtorrent_desktop {};
 
   wrapWeechat = callPackage ../applications/networking/irc/weechat/wrapper.nix { };
@@ -21271,8 +22087,6 @@ in
 
   wily = callPackage ../applications/editors/wily { };
 
-  winswitch = callPackage ../tools/X11/winswitch { };
-
   wings = callPackage ../applications/graphics/wings {
     erlang = erlangR21;
   };
@@ -21295,6 +22109,8 @@ in
 
   wmii_hg = callPackage ../applications/window-managers/wmii-hg { };
 
+  wofi = callPackage ../applications/misc/wofi { };
+
   wordnet = callPackage ../applications/misc/wordnet { };
 
   wordgrinder = callPackage ../applications/office/wordgrinder { };
@@ -21321,34 +22137,64 @@ in
     in with libretro;
       ([ ]
       ++ optional (cfg.enable4do or false) _4do
+      ++ optional (cfg.enableAtari800 or false) atari800
+      ++ optional (cfg.enableBeetleGBA or false) beetle-gba
+      ++ optional (cfg.enableBeetleLynx or false) beetle-lynx
+      ++ optional (cfg.enableBeetleNGP or false) beetle-ngp
       ++ optional (cfg.enableBeetlePCEFast or false) beetle-pce-fast
+      ++ optional (cfg.enableBeetlePCFX or false) beetle-pcfx
       ++ optional (cfg.enableBeetlePSX or false) beetle-psx
       ++ optional (cfg.enableBeetleSaturn or false) beetle-saturn
+      ++ optional (cfg.enableBeetleSNES or false) beetle-snes
+      ++ optional (cfg.enableBeetleSuperGrafx or false) beetle-supergrafx
+      ++ optional (cfg.enableBeetleWswan or false) beetle-wswan
+      ++ optional (cfg.enableBeetleVB or false) beetle-vb
+      ++ optional (cfg.enableBlueMSX or false) bluemsx
       ++ optional (cfg.enableBsnesMercury or false) bsnes-mercury
+      ++ optional (cfg.enableDOSBox or false) dosbox
       ++ optional (cfg.enableDesmume or false) desmume
+      ++ optional (cfg.enableDesmume2015 or false) desmume2015
       ++ optional (cfg.enableDolphin or false) dolphin
       ++ optional (cfg.enableFBA or false) fba
       ++ optional (cfg.enableFceumm or false) fceumm
+      ++ optional (cfg.enableFlycast or false) flycast
       ++ optional (cfg.enableGambatte or false) gambatte
       ++ optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx
+      ++ optional (cfg.enableGpsp or false) gpsp
+      ++ optional (cfg.enableHandy or false) handy
+      ++ optional (cfg.enableHatari or false) hatari
       ++ optional (cfg.enableHiganSFC or false) higan-sfc
       ++ optional (cfg.enableMAME or false) mame
+      ++ optional (cfg.enableMAME2000 or false) mame2000
+      ++ optional (cfg.enableMAME2003 or false) mame2003
+      ++ optional (cfg.enableMAME2003Plus or false) mame2003-plus
+      ++ optional (cfg.enableMAME2010 or false) mame2010
+      ++ optional (cfg.enableMAME2015 or false) mame2015
+      ++ optional (cfg.enableMAME2016 or false) mame2016
+      ++ optional (cfg.enableMesen or false) mesen
       ++ optional (cfg.enableMGBA or false) mgba
       ++ optional (cfg.enableMupen64Plus or false) mupen64plus
       ++ optional (cfg.enableNestopia or false) nestopia
+      ++ optional (cfg.enableO2EM or false) o2em
       ++ optional (cfg.enableParallelN64 or false) parallel-n64
+      ++ optional (cfg.enablePCSXRearmed or false) pcsx_rearmed
       ++ optional (cfg.enablePicodrive or false) picodrive
-      ++ optional (cfg.enablePrboom or false) prboom
+      ++ optional (cfg.enablePlay or false) play
       ++ optional (cfg.enablePPSSPP or false) ppsspp
+      ++ optional (cfg.enablePrboom or false) prboom
+      ++ optional (cfg.enableProSystem or false) prosystem
       ++ optional (cfg.enableQuickNES or false) quicknes
-      ++ optional (cfg.enableReicast or false) reicast
       ++ optional (cfg.enableScummVM or false) scummvm
       ++ optional (cfg.enableSnes9x or false) snes9x
-      ++ optional (cfg.enableSnes9xNext or false) snes9x-next
+      ++ optional (cfg.enableSnes9x2002 or false) snes9x2002
+      ++ optional (cfg.enableSnes9x2005 or false) snes9x2005
+      ++ optional (cfg.enableSnes9x2010 or false) snes9x2010
       ++ optional (cfg.enableStella or false) stella
       ++ optional (cfg.enableVbaNext or false) vba-next
       ++ optional (cfg.enableVbaM or false) vba-m
-
+      ++ optional (cfg.enableVecx or false) vecx
+      ++ optional (cfg.enableVirtualJaguar or false) virtualjaguar
+      ++ optional (cfg.enableYabause or false) yabause
       # added on 2017-02-25 due #23163
       ++ optional (cfg.enableMednafenPCEFast or false)
           (throw "nix config option enableMednafenPCEFast has been renamed to enableBeetlePCEFast")
@@ -21408,6 +22254,8 @@ in
 
   x11vnc = callPackage ../tools/X11/x11vnc { };
 
+  x11spice = callPackage ../tools/X11/x11spice { };
+
   x2goclient = libsForQt5.callPackage ../applications/networking/remote/x2goclient { };
 
   x2goserver = callPackage ../applications/networking/remote/x2goserver { };
@@ -21475,7 +22323,7 @@ in
 
   inherit (xorg) xcompmgr;
 
-  compton = callPackage ../applications/window-managers/compton {};
+  picom = callPackage ../applications/window-managers/picom {};
 
   xdaliclock = callPackage ../tools/misc/xdaliclock {};
 
@@ -21661,8 +22509,12 @@ in
 
   yed = callPackage ../applications/graphics/yed {};
 
+  yeetgif = callPackage ../applications/graphics/yeetgif { };
+
   inherit (gnome3) yelp;
 
+  yelp-tools = callPackage ../development/misc/yelp-tools { };
+
   yokadi = python3Packages.callPackage ../applications/misc/yokadi {};
 
   yoshimi = callPackage ../applications/audio/yoshimi { };
@@ -21716,7 +22568,7 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
-  zoom-us = libsForQt59.callPackage ../applications/networking/instant-messengers/zoom-us { };
+  zoom-us = libsForQt5.callPackage ../applications/networking/instant-messengers/zoom-us { };
 
   zotero = callPackage ../applications/office/zotero { };
 
@@ -21733,7 +22585,11 @@ in
   clightning = callPackage ../applications/blockchains/clightning.nix { };
 
   bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = true; };
-  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = false; };
+  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix {
+    boost = boost165;
+    mkDerivation = stdenv.mkDerivation;
+    withGui = false;
+  };
 
   bitcoin-unlimited  = libsForQt5.callPackage ../applications/blockchains/bitcoin-unlimited.nix {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
@@ -21773,7 +22629,7 @@ in
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
-  jormungandr = callPackage ../applications/blockchains/jormungandr { };
+  ledger_agent = with python3Packages; toPythonApplication ledger_agent;
 
   ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { };
 
@@ -21782,7 +22638,9 @@ in
   };
   litecoind = litecoin.override { withGui = false; };
 
-  lnd = callPackage ../applications/blockchains/lnd.nix { };
+  lnd = callPackage ../applications/blockchains/lnd.nix {
+    buildGoModule = buildGo112Module;
+  };
 
   monero = callPackage ../applications/blockchains/monero {
     inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
@@ -21801,7 +22659,7 @@ in
   namecoin  = callPackage ../applications/blockchains/namecoin.nix  { withGui = true; };
   namecoind = callPackage ../applications/blockchains/namecoin.nix { withGui = false; };
 
-  pivx = libsForQt59.callPackage ../applications/blockchains/pivx.nix { withGui = true; };
+  pivx = libsForQt5.callPackage ../applications/blockchains/pivx.nix { withGui = true; };
   pivxd = callPackage ../applications/blockchains/pivx.nix { withGui = false; };
 
   ethabi = callPackage ../applications/blockchains/ethabi.nix { };
@@ -21814,9 +22672,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 { };
@@ -21857,7 +22713,7 @@ in
 
   arena = callPackage ../games/arena {};
 
-  arx-libertatis = callPackage ../games/arx-libertatis {
+  arx-libertatis = libsForQt5.callPackage ../games/arx-libertatis {
     stdenv = gcc6Stdenv;
   };
 
@@ -21923,7 +22779,7 @@ in
 
   chessdb = callPackage ../games/chessdb { };
 
-  chessx = libsForQt59.callPackage ../games/chessx { };
+  chessx = libsForQt5.callPackage ../games/chessx { };
 
   chiaki = libsForQt5.callPackage ../games/chiaki { };
 
@@ -21931,7 +22787,9 @@ in
 
   crispyDoom = callPackage ../games/crispy-doom { };
 
-  cri-o = callPackage ../applications/virtualization/cri-o {};
+  cri-o = callPackage ../applications/virtualization/cri-o {
+    buildGoPackage = buildGo112Package;
+  };
 
   ckan = callPackage ../games/ckan { };
 
@@ -21945,12 +22803,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 { };
@@ -21978,14 +22836,15 @@ in
 
   digikam = libsForQt5.callPackage ../applications/graphics/digikam {
     inherit (plasma5) oxygen;
-    inherit (kdeApplications) akonadi-contacts kcalcore;
+    inherit (kdeApplications) akonadi-contacts;
+    inherit (kdeFrameworks) kcalendarcore;
     ffmpeg = ffmpeg_4;
     opencv3 = opencv3WithoutCuda;
   };
 
-  displaycal = (newScope pythonPackages) ../applications/graphics/displaycal {};
+  displaycal = callPackage ../applications/graphics/displaycal {};
 
-  drumkv1 = callPackage ../applications/audio/drumkv1 { };
+  drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
 
   duckmarines = callPackage ../games/duckmarines { love = love_0_10; };
 
@@ -22015,6 +22874,8 @@ in
 
   egoboo = callPackage ../games/egoboo { };
 
+  eidolon = callPackage ../games/eidolon { };
+
   EmptyEpsilon = callPackage ../games/empty-epsilon { };
 
   endgame-singularity = callPackage ../games/endgame-singularity { };
@@ -22083,6 +22944,8 @@ in
 
   frogatto = callPackage ../games/frogatto { };
 
+  frozen-bubble = callPackage ../games/frozen-bubble { };
+
   fsg = callPackage ../games/fsg {
     wxGTK = wxGTK28.override { unicode = false; };
   };
@@ -22131,12 +22994,16 @@ in
 
   gshogi = python3Packages.callPackage ../games/gshogi {};
 
+  qtads = qt5.callPackage ../games/qtads { };
+
   gtetrinet = callPackage ../games/gtetrinet {
     inherit (gnome2) GConf libgnome libgnomeui;
   };
 
   gtypist = callPackage ../games/gtypist { };
 
+  gweled = callPackage ../games/gweled {};
+
   gzdoom = callPackage ../games/gzdoom { };
 
   harmonist = callPackage ../games/harmonist { };
@@ -22147,8 +23014,6 @@ in
     inherit (haskellPackages) ghcWithPackages;
   };
 
-  hexen = callPackage ../games/hexen { };
-
   holdingnuts = callPackage ../games/holdingnuts { };
 
   hyperrogue = callPackage ../games/hyperrogue { };
@@ -22161,9 +23026,7 @@ in
 
   ideogram = callPackage ../applications/graphics/ideogram { };
 
-  instead = callPackage ../games/instead {
-    lua = lua5;
-  };
+  instead = callPackage ../games/instead { };
 
   instead-launcher = callPackage ../games/instead-launcher { };
 
@@ -22278,7 +23141,9 @@ in
 
   openra = openraPackages.engines.release;
 
-  openrw = callPackage ../games/openrw { };
+  openrw = callPackage ../games/openrw {
+    inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
+  };
 
   openspades = callPackage ../games/openspades {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -22294,6 +23159,10 @@ in
 
   openxcom = callPackage ../games/openxcom { };
 
+  openxray = callPackage ../games/openxray {
+    stdenv = gcc8Stdenv;
+  };
+
   orthorobot = callPackage ../games/orthorobot { };
 
   pacvim = callPackage ../games/pacvim { };
@@ -22320,7 +23189,7 @@ in
 
   privateer = callPackage ../games/privateer { };
 
-  pysolfc = callPackage ../games/pysolfc { };
+  pysolfc = python3Packages.callPackage ../games/pysolfc { };
 
   qweechat = callPackage ../applications/networking/irc/qweechat { };
 
@@ -22342,6 +23211,7 @@ in
   vkquake = callPackage ../games/quakespasm/vulkan.nix { };
 
   ioquake3 = callPackage ../games/quake3/ioquake { };
+  quake3e = callPackage ../games/quake3/quake3e { };
 
   quantumminigolf = callPackage ../games/quantumminigolf {};
 
@@ -22388,7 +23258,9 @@ in
 
   sauerbraten = callPackage ../games/sauerbraten {};
 
-  scaleway-cli = callPackage ../tools/admin/scaleway-cli { };
+  scaleway-cli = callPackage ../tools/admin/scaleway-cli {
+    buildGoPackage = buildGo112Package;
+  };
 
   scid = callPackage ../games/scid {
     tcl = tcl-8_5;
@@ -22412,12 +23284,12 @@ in
 
   scrolls = callPackage ../games/scrolls { };
 
-  sdlmame = callPackage ../games/sdlmame { };
-
   service-wrapper = callPackage ../os-specific/linux/service-wrapper { };
 
   sgtpuzzles = callPackage (callPackage ../games/sgt-puzzles) { };
 
+  shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { };
+
   sienna = callPackage ../games/sienna { love = love_0_10; };
 
   sil = callPackage ../games/sil { };
@@ -22477,6 +23349,8 @@ in
     ffmpeg = ffmpeg_2;
   };
 
+  streamlit = python3Packages.callPackage ../applications/science/machine-learning/streamlit { };
+
   stuntrally = callPackage ../games/stuntrally {
     ogre = ogre1_9;
     mygui = mygui.override {
@@ -22488,7 +23362,9 @@ in
 
   superTuxKart = callPackage ../games/super-tux-kart { };
 
-  synthv1 = callPackage ../applications/audio/synthv1 { };
+  synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { };
+
+  system-syzygy = callPackage ../games/system-syzygy { };
 
   t4kcommon = callPackage ../games/t4kcommon { };
 
@@ -22691,7 +23567,9 @@ in
 
   ### DESKTOP ENVIRONMENTS
 
-  clearlooks-phenix = callPackage ../misc/themes/clearlooks-phenix { };
+  cdesktopenv = callPackage ../desktops/cdesktopenv { };
+
+  cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
 
   deepin = recurseIntoAttrs (import ../desktops/deepin {
     inherit pkgs libsForQt5;
@@ -22714,11 +23592,12 @@ in
     clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
     dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
     dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
+    drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { };
     gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { };
     icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
     impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix { };
-    mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
-    nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
+    mpris-indicator-button = callPackage ../desktops/gnome-3/extensions/mpris-indicator-button { };
+    night-theme-switcher = callPackage ../desktops/gnome-3/extensions/night-theme-switcher { };
     no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { };
     pidgin-im-integration = callPackage ../desktops/gnome-3/extensions/pidgin-im-integration { };
     remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
@@ -22729,6 +23608,10 @@ in
     timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
     topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
     window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
+    workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { };
+
+    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 { };
@@ -22752,52 +23635,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-jade1 = callPackage ../misc/themes/jade1 { };
-
-  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 { };
 
@@ -22827,6 +23681,8 @@ in
 
   kwin-tiling = libsForQt5.callPackage ../desktops/plasma-5/kwin/scripts/tiling.nix { };
 
+  krohnkite = libsForQt5.callPackage ../desktops/plasma-5/kwin/scripts/krohnkite.nix { };
+
   ### SCIENCE
 
   ### SCIENCE/CHEMISTY
@@ -22879,7 +23735,9 @@ in
 
   alliance = callPackage ../applications/science/electronics/alliance { };
 
-  ants = callPackage ../applications/science/biology/ants { };
+  ants = callPackage ../applications/science/biology/ants {
+    stdenv = gcc8Stdenv;
+  };
 
   aragorn = callPackage ../applications/science/biology/aragorn { };
 
@@ -22887,12 +23745,18 @@ in
     stdenv = gcc49Stdenv;
   };
 
+  bayescan = callPackage ../applications/science/biology/bayescan { };
+
   bedtools = callPackage ../applications/science/biology/bedtools { };
 
   bcftools = callPackage ../applications/science/biology/bcftools { };
 
   bftools = callPackage ../applications/science/biology/bftools { };
 
+  blast = callPackage ../applications/science/biology/blast {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
+
   cd-hit = callPackage ../applications/science/biology/cd-hit { };
 
   cmtk = callPackage ../applications/science/biology/cmtk { };
@@ -22903,6 +23767,10 @@ in
 
   dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
 
+  deeptools = callPackage ../applications/science/biology/deeptools { python = python3; };
+
+  delly = callPackage ../applications/science/biology/delly { };
+
   diamond = callPackage ../applications/science/biology/diamond { };
 
   ecopcr = callPackage ../applications/science/biology/ecopcr { };
@@ -22933,8 +23801,18 @@ in
 
   kallisto = callPackage ../applications/science/biology/kallisto { };
 
+  kssd = callPackage ../applications/science/biology/kssd { };
+
+  last = callPackage ../applications/science/biology/last { };
+
+  macse = callPackage ../applications/science/biology/macse { };
+
   migrate = callPackage ../applications/science/biology/migrate { };
 
+  minia = callPackage ../applications/science/biology/minia {
+    boost = boost159;
+  };
+
   mirtk = callPackage ../development/libraries/science/biology/mirtk { };
 
   muscle = callPackage ../applications/science/biology/muscle { };
@@ -23017,8 +23895,16 @@ in
 
   seaview = callPackage ../applications/science/biology/seaview { };
 
+  SPAdes = callPackage ../applications/science/biology/spades { };
+
+  svaba = callPackage ../applications/science/biology/svaba { };
+
+  tebreak = callPackage ../applications/science/biology/tebreak { };
+
   trimal = callPackage ../applications/science/biology/trimal { };
 
+  truvari = callPackage ../applications/science/biology/truvari { };
+
   varscan = callPackage ../applications/science/biology/varscan { };
 
   hmmer = callPackage ../applications/science/biology/hmmer { };
@@ -23105,6 +23991,7 @@ in
   lie = callPackage ../applications/science/math/LiE { };
 
   magma = callPackage ../development/libraries/science/math/magma { };
+  clmagma = callPackage ../development/libraries/science/math/clmagma { };
 
   mathematica = callPackage ../applications/science/math/mathematica { };
   mathematica9 = callPackage ../applications/science/math/mathematica/9.nix { };
@@ -23199,6 +24086,8 @@ in
 
   aliza = callPackage ../applications/science/medicine/aliza { };
 
+  dcmtk = callPackage ../applications/science/medicine/dcmtk { };
+
   ### PHYSICS
 
   sacrifice = callPackage ../applications/science/physics/sacrifice {};
@@ -23242,6 +24131,7 @@ in
     coqPackages_8_8  coq_8_8
     coqPackages_8_9  coq_8_9
     coqPackages_8_10 coq_8_10
+    coqPackages_8_11 coq_8_11
     coqPackages      coq
   ;
 
@@ -23327,7 +24217,6 @@ in
   mcrl2 = callPackage ../applications/science/logic/mcrl2 { };
 
   minisat = callPackage ../applications/science/logic/minisat {};
-  minisatUnstable = callPackage ../applications/science/logic/minisat/unstable.nix {};
 
   monosat = callPackage ../applications/science/logic/monosat {};
 
@@ -23417,7 +24306,9 @@ in
   # Since version 8 Eagle requires an Autodesk account and a subscription
   # in contrast to single payment for the charged editions.
   # This is the last version with the old model.
-  eagle7 = callPackage ../applications/science/electronics/eagle/eagle7.nix { };
+  eagle7 = callPackage ../applications/science/electronics/eagle/eagle7.nix {
+    openssl = openssl_1_0_2;
+  };
 
   eagle = libsForQt5.callPackage ../applications/science/electronics/eagle/eagle.nix { };
 
@@ -23433,16 +24324,9 @@ in
 
   fped = callPackage ../applications/science/electronics/fped { };
 
-  kicad = callPackage ../applications/science/electronics/kicad {
-    wxGTK = wxGTK30;
-    boost = boost160;
-  };
-  kicad-with-packages3d = kicad.overrideAttrs (old: { modules = old.modules ++ [ old.passthru.packages3d ]; });
-
-  kicad-unstable = python.pkgs.callPackage ../applications/science/electronics/kicad/unstable.nix {
-    wxGTK = wxGTK30;
-    boost = boost160;
-  };
+  kicad = callPackage ../applications/science/electronics/kicad { };
+  kicad-small = kicad.override { pname = "kicad-small"; with3d = false; };
+  kicad-unstable = kicad.override { pname = "kicad-unstable"; debug = true; };
 
   librepcb = libsForQt5.callPackage ../applications/science/electronics/librepcb { };
 
@@ -23474,8 +24358,10 @@ in
   caffeine-ng = callPackage ../tools/X11/caffeine-ng {};
 
   cntk = callPackage ../applications/science/math/cntk {
+    stdenv = gcc7Stdenv;
     inherit (linuxPackages) nvidia_x11;
     opencv3 = opencv3WithoutCuda; # Used only for image loading.
+    cudaSupport = pkgs.config.cudaSupport or false;
   };
 
   ecm = callPackage ../applications/science/math/ecm { };
@@ -23581,13 +24467,13 @@ in
   ns-3 = callPackage ../development/libraries/science/networking/ns-3 { python = python3; };
 
   root = callPackage ../applications/science/misc/root {
+    python = python3;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
   };
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else gcc8Stdenv;
   });
 
   rink = callPackage ../applications/science/misc/rink { };
@@ -23623,6 +24509,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 { };
@@ -23678,6 +24566,8 @@ in
 
   ataripp = callPackage ../misc/emulators/atari++ { };
 
+  atlantis = callPackage ../applications/networking/cluster/atlantis { };
+
   auctex = callPackage ../tools/typesetting/tex/auctex { };
 
   areca = callPackage ../applications/backup/areca { };
@@ -23688,8 +24578,6 @@ in
 
   bees = callPackage ../tools/filesystems/bees { };
 
-  blackbird = callPackage ../misc/themes/blackbird { };
-
   bootil = callPackage ../development/libraries/bootil { };
 
   brgenml1lpr = pkgsi686Linux.callPackage ../misc/cups/drivers/brgenml1lpr {};
@@ -23728,8 +24616,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 { };
@@ -23788,18 +24674,12 @@ in
 
   dpkg = callPackage ../tools/package-management/dpkg { };
 
-  ekiga = callPackage ../applications/networking/instant-messengers/ekiga { };
-
   dumb = callPackage ../misc/dumb { };
 
-  emulationstation = callPackage ../misc/emulators/emulationstation {
-    stdenv = gcc5Stdenv;
-  };
+  emulationstation = callPackage ../misc/emulators/emulationstation { };
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
-  equilux-theme = callPackage ../misc/themes/equilux-theme { };
-
   flam3 = callPackage ../tools/graphics/flam3 { };
 
   glee = callPackage ../tools/graphics/glee { };
@@ -23842,6 +24722,8 @@ in
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
+  fuse-emulator = callPackage ../misc/emulators/fuse-emulator {};
+
   gajim = callPackage ../applications/networking/instant-messengers/gajim {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-libav gst-plugins-ugly;
   };
@@ -23859,13 +24741,13 @@ 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;
   };
 
+  gobuster = callPackage ../tools/security/gobuster { };
+
   guetzli = callPackage ../applications/graphics/guetzli { };
 
   gummi = callPackage ../applications/misc/gummi { };
@@ -23874,7 +24756,9 @@ in
 
   hatari = callPackage ../misc/emulators/hatari { };
 
-  helm = callPackage ../applications/audio/helm { };
+  helm = callPackage ../applications/audio/helm {
+    stdenv = gcc8Stdenv;
+  };
 
   helmfile = callPackage ../applications/networking/cluster/helmfile { };
 
@@ -23900,6 +24784,10 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  vector = callPackage ../tools/misc/vector {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   epkowa = callPackage ../misc/drivers/epkowa { };
 
   utsushi = callPackage ../misc/drivers/utsushi { };
@@ -23935,8 +24823,10 @@ in
     mkKops
     kops_1_12
     kops_1_13
+    kops_1_14
+    kops_1_15
     ;
-  kops = kops_1_13;
+  kops = kops_1_15;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -23958,11 +24848,9 @@ in
     icu = icu58;
   };
 
-  martyr = callPackage ../development/libraries/martyr { };
+  mame = libsForQt5.callPackage ../misc/emulators/mame { };
 
-  mess = callPackage ../misc/emulators/mess {
-    inherit (pkgs.gnome2) GConf;
-  };
+  martyr = callPackage ../development/libraries/martyr { };
 
   moltengamepad = callPackage ../misc/drivers/moltengamepad { };
 
@@ -24148,11 +25036,14 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  nix-linter = haskellPackages.callPackage ../development/tools/analysis/nix-linter { };
+
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
   nix-prefetch = callPackage ../tools/package-management/nix-prefetch { };
 
-  nix-prefetch-github = callPackage ../build-support/nix-prefetch-github {};
+  nix-prefetch-github = with python3Packages;
+    toPythonApplication nix-prefetch-github;
 
   inherit (callPackages ../tools/package-management/nix-prefetch-scripts { })
     nix-prefetch-bzr
@@ -24180,7 +25071,7 @@ in
     "Also see https://github.com/NixOS/nixpkgs/pull/44903"
   );
 
-  nix-review = callPackage ../tools/package-management/nix-review { };
+  nixpkgs-review = callPackage ../tools/package-management/nixpkgs-review { };
 
   nix-serve = callPackage ../tools/package-management/nix-serve { };
 
@@ -24219,7 +25110,7 @@ in
   mnemonicode = callPackage ../misc/mnemonicode { };
 
   mysql-workbench = callPackage ../applications/misc/mysql-workbench (let mysql = mysql57; in {
-    gdal = gdal.override {mysql = mysql // {lib = {dev = mysql;};};};
+    gdal = gdal.override {libmysqlclient = mysql // {lib = {dev = mysql;};};};
     mysql = mysql;
     pcre = pcre-cpp;
   });
@@ -24236,9 +25127,7 @@ in
 
   sndio = callPackage ../misc/sndio { };
 
-  # Oclgrind 18.3 does not work with newer LLVMs (but HEAD does, so
-  # fix this after next release).
-  oclgrind = callPackage ../development/tools/analysis/oclgrind { llvmPackages = llvmPackages_6; };
+  oclgrind = callPackage ../development/tools/analysis/oclgrind { };
 
   opkg = callPackage ../tools/package-management/opkg { };
 
@@ -24250,6 +25139,8 @@ in
     openssl = openssl_1_0_2;
   };
 
+  pgmodeler = libsForQt5.callPackage ../applications/misc/pgmodeler { };
+
   pgf = pgf2;
 
   # Keep the old PGF since some documents don't render properly with
@@ -24266,6 +25157,8 @@ in
 
   pjsip = callPackage ../applications/networking/pjsip { };
 
+  pounce = callPackage ../servers/pounce { };
+
   ppsspp = libsForQt5.callPackage ../misc/emulators/ppsspp { };
 
   pt = callPackage ../applications/misc/pt { };
@@ -24305,6 +25198,10 @@ in
 
   rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { };
 
+  pick-colour-picker = python3Packages.callPackage ../applications/graphics/pick-colour-picker {
+    inherit (pkgs) glib gtk3 gobject-introspection wrapGAppsHook;
+  };
+
   rpl = callPackage ../tools/text/rpl {
     pythonPackages = python3Packages;
   };
@@ -24386,17 +25283,13 @@ in
   sct = callPackage ../tools/X11/sct {};
 
   scylladb = callPackage ../servers/scylladb {
-   thrift = thrift-0_10;
-   };
+    thrift = thrift-0_10;
+  };
 
   seafile-shared = callPackage ../misc/seafile-shared { };
 
   serviio = callPackage ../servers/serviio {};
-  selinux-python = callPackage ../os-specific/linux/selinux-python {
-    # needs python3 bindings
-    libselinux = libselinux.override { python = python3; };
-    libsemanage = libsemanage.override { python = python3; };
-  };
+  selinux-python = callPackage ../os-specific/linux/selinux-python { };
 
   slock = callPackage ../misc/screensavers/slock {
     conf = config.slock.conf or null;
@@ -24426,7 +25319,11 @@ in
 
   jx = callPackage ../applications/networking/cluster/jx {};
 
-  prow = callPackage ../applications/networking/cluster/prow {};
+  prow = callPackage ../applications/networking/cluster/prow {
+    # Version 2019-08-14 fails to build with go 1.13 due to dependencies:
+    #   go: golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f used for two different module paths (github.com/golang/lint and golang.org/x/lint)
+    buildGoModule = buildGo112Module;
+  };
 
   inherit (callPackage ../applications/networking/cluster/terraform {})
     terraform_0_11
@@ -24440,7 +25337,9 @@ in
   terraform-full = terraform.full;
 
   terraform-providers = recurseIntoAttrs (
-    callPackage ../applications/networking/cluster/terraform-providers {}
+    callPackage ../applications/networking/cluster/terraform-providers {
+      inherit buildGo112Module;
+    }
   );
 
   terraform-docs = callPackage ../applications/networking/cluster/terraform-docs {};
@@ -24479,6 +25378,8 @@ in
 
   tup = callPackage ../development/tools/build-managers/tup { };
 
+  tusk = callPackage ../applications/office/tusk { };
+
   trufflehog = callPackage ../tools/security/trufflehog { };
 
   tvbrowser-bin = callPackage ../applications/misc/tvbrowser/bin.nix { };
@@ -24493,6 +25394,8 @@ in
     inherit (gnome2) GConf;
   };
 
+  unityhub = callPackage ../development/tools/unityhub { };
+
   urbit = callPackage ../misc/urbit { };
 
   utf8proc = callPackage ../development/libraries/utf8proc { };
@@ -24510,7 +25413,7 @@ in
   vazir-fonts = callPackage ../data/fonts/vazir-fonts { };
 
   vbam = callPackage ../misc/emulators/vbam {
-    ffmpeg = ffmpeg_2;
+    ffmpeg = ffmpeg_4;
   };
 
   vice = callPackage ../misc/emulators/vice {
@@ -24525,11 +25428,6 @@ in
     llvmPackages = llvmPackages_6;
   });
 
-  vimprobable2-unwrapped = callPackage ../applications/networking/browsers/vimprobable2 {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-  vimprobable2 = wrapFirefox vimprobable2-unwrapped { };
-
   vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { };
   vimb = wrapFirefox vimb-unwrapped { };
 
@@ -24546,6 +25444,8 @@ in
 
   vttest = callPackage ../tools/misc/vttest { };
 
+  wacomtablet = libsForQt5.callPackage ../tools/misc/wacomtablet { };
+
   wasm-pack = callPackage ../development/tools/wasm-pack {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -24654,11 +25554,7 @@ in
 
   xteddy = callPackage ../applications/misc/xteddy { };
 
-  xwiimote = callPackage ../misc/drivers/xwiimote {
-    bluez = pkgs.bluez5.override {
-      enableWiimote = true;
-    };
-  };
+  xwiimote = callPackage ../misc/drivers/xwiimote { };
 
   xzoom = callPackage ../tools/X11/xzoom {};
 
@@ -24849,7 +25745,7 @@ in
 
   diceware = callPackage ../tools/security/diceware { };
 
-  xml2rfc = callPackage ../tools/typesetting/xml2rfc { };
+  xml2rfc = with python3Packages; toPythonApplication xml2rfc;
 
   mmark = callPackage ../tools/typesetting/mmark { };
 
@@ -24908,6 +25804,8 @@ in
 
   wasmtime = callPackage ../development/interpreters/wasmtime {};
 
+  wfuzz = with python3Packages; toPythonApplication wfuzz;
+
   bemenu = callPackage ../applications/misc/bemenu { };
 
   dapper = callPackage ../development/tools/dapper { };
@@ -24922,6 +25820,8 @@ in
 
   kodelife = callPackage ../applications/graphics/kodelife {};
 
+  _3proxy = callPackage ../applications/networking/3proxy {};
+
   pigeon = callPackage ../development/tools/pigeon {};
 
   verifpal = callPackage ../tools/security/verifpal {};
@@ -24930,4 +25830,18 @@ in
 
   wifi-password = callPackage ../os-specific/darwin/wifi-password {};
 
+  qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen {};
+
+  coz = callPackage ../development/tools/analysis/coz {};
+
+  keycard-cli = callPackage ../tools/security/keycard-cli {};
+
+  sieveshell = with python3.pkgs; toPythonApplication managesieve;
+
+  gortr = callPackage ../servers/gortr {};
+
+  sentencepiece = callPackage ../development/libraries/sentencepiece {};
+
+  kcli = callPackage ../development/tools/kcli {};
+
 }
diff --git a/nixpkgs/pkgs/top-level/coq-packages.nix b/nixpkgs/pkgs/top-level/coq-packages.nix
index cc42ff161f96..3fa3d30aa94a 100644
--- a/nixpkgs/pkgs/top-level/coq-packages.nix
+++ b/nixpkgs/pkgs/top-level/coq-packages.nix
@@ -16,6 +16,7 @@ let
       category-theory = callPackage ../development/coq-modules/category-theory { };
       Cheerios = callPackage ../development/coq-modules/Cheerios {};
       CoLoR = callPackage ../development/coq-modules/CoLoR {};
+      coq-bits = callPackage ../development/coq-modules/coq-bits {};
       coq-elpi = callPackage ../development/coq-modules/coq-elpi {};
       coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
       coq-extensible-records = callPackage ../development/coq-modules/coq-extensible-records {};
@@ -127,7 +128,10 @@ in rec {
     version = "8.9.1";
   };
   coq_8_10 = callPackage ../applications/science/logic/coq {
-    version = "8.10+beta3";
+    version = "8.10.2";
+  };
+  coq_8_11 = callPackage ../applications/science/logic/coq {
+    version = "8.11+beta1";
   };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
@@ -136,6 +140,7 @@ in rec {
   coqPackages_8_8 = mkCoqPackages coq_8_8;
   coqPackages_8_9 = mkCoqPackages coq_8_9;
   coqPackages_8_10 = mkCoqPackages coq_8_10;
+  coqPackages_8_11 = mkCoqPackages coq_8_11;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
     coqPackages_8_9
   );
diff --git a/nixpkgs/pkgs/top-level/dotnet-packages.nix b/nixpkgs/pkgs/top-level/dotnet-packages.nix
index f06b4f1c2866..35cbcebb2422 100644
--- a/nixpkgs/pkgs/top-level/dotnet-packages.nix
+++ b/nixpkgs/pkgs/top-level/dotnet-packages.nix
@@ -527,6 +527,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
       license = stdenv.lib.licenses.asl20;
       maintainers = with stdenv.lib.maintainers; [ obadz ];
       platforms = with stdenv.lib.platforms; linux;
+      broken = true;
     };
   };
 
diff --git a/nixpkgs/pkgs/top-level/emacs-packages.nix b/nixpkgs/pkgs/top-level/emacs-packages.nix
index 0c85176acba2..1853c7eb8ac1 100644
--- a/nixpkgs/pkgs/top-level/emacs-packages.nix
+++ b/nixpkgs/pkgs/top-level/emacs-packages.nix
@@ -60,7 +60,7 @@ let
   };
 
   emacsWithPackages = import ../build-support/emacs/wrapper.nix {
-    inherit lib lndir makeWrapper stdenv runCommand;
+    inherit lib lndir makeWrapper runCommand;
   };
 
   mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
diff --git a/nixpkgs/pkgs/top-level/emscripten-packages.nix b/nixpkgs/pkgs/top-level/emscripten-packages.nix
index a36c89fac0ab..ceb2d5e16f70 100644
--- a/nixpkgs/pkgs/top-level/emscripten-packages.nix
+++ b/nixpkgs/pkgs/top-level/emscripten-packages.nix
@@ -81,7 +81,8 @@ rec {
     });            
   
   xmlmirror = pkgs.buildEmscriptenPackage rec {
-    name = "xmlmirror";
+    pname = "xmlmirror";
+    version = "unstable-2016-06-05";
 
     buildInputs = [ pkgconfig autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
     nativeBuildInputs = [ pkgconfig zlib ];
@@ -113,7 +114,7 @@ rec {
     
     installPhase = ''
       mkdir -p $out/share
-      mkdir -p $doc/share/${name}
+      mkdir -p $doc/share/${pname}
       
       cp Demo* $out/share
       cp -R codemirror-5.12 $out/share
@@ -124,7 +125,7 @@ rec {
       cp *.html $out/share
       cp *.json $out/share
       cp *.rng $out/share
-      cp README.md $doc/share/${name}
+      cp README.md $doc/share/${pname}
     '';
     checkPhase = ''
       
diff --git a/nixpkgs/pkgs/top-level/haskell-packages.nix b/nixpkgs/pkgs/top-level/haskell-packages.nix
index be7c0bc41718..c4c18b264f1d 100644
--- a/nixpkgs/pkgs/top-level/haskell-packages.nix
+++ b/nixpkgs/pkgs/top-level/haskell-packages.nix
@@ -7,7 +7,6 @@ let
     "ghc863Binary"
     "ghc844"
     "ghcjs"
-    "ghcjs84"
     "ghcjs86"
     "integer-simple"
   ];
@@ -63,6 +62,18 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_7;
       llvmPackages = pkgs.llvmPackages_7;
     };
+    ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix {
+      bootPkgs = packages.ghc863Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_7;
+      llvmPackages = pkgs.llvmPackages_7;
+    };
+    ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix {
+      bootPkgs = packages.ghc863Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_9;
+      llvmPackages = pkgs.llvmPackages_9;
+    };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs = packages.ghc863Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -70,12 +81,6 @@ in {
       llvmPackages = pkgs.llvmPackages_6;
     };
     ghcjs = compiler.ghcjs86;
-    ghcjs84 = callPackage ../development/compilers/ghcjs-ng {
-      bootPkgs = packages.ghc844;
-      ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.4/git.json;
-      stage0 = ../development/compilers/ghcjs-ng/8.4/stage0.nix;
-      ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.4/dep-overrides.nix {};
-    };
     ghcjs86 = callPackage ../development/compilers/ghcjs-ng {
       bootPkgs = packages.ghc865;
       ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.6/git.json;
@@ -127,18 +132,22 @@ in {
       ghc = bh.compiler.ghc881;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
     };
+    ghc882 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc882;
+      ghc = bh.compiler.ghc882;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
+    };
+    ghc8101 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8101;
+      ghc = bh.compiler.ghc8101;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
+    };
     ghcHEAD = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghcHEAD;
       ghc = bh.compiler.ghcHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
     };
     ghcjs = packages.ghcjs86;
-    ghcjs84 = callPackage ../development/haskell-modules rec {
-      buildHaskellPackages = ghc.bootPkgs;
-      ghc = bh.compiler.ghcjs84;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
-      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
-    };
     ghcjs86 = callPackage ../development/haskell-modules rec {
       buildHaskellPackages = ghc.bootPkgs;
       ghc = bh.compiler.ghcjs86;
diff --git a/nixpkgs/pkgs/top-level/lua-packages.nix b/nixpkgs/pkgs/top-level/lua-packages.nix
index c9e9305666e2..7f29d47a993c 100644
--- a/nixpkgs/pkgs/top-level/lua-packages.nix
+++ b/nixpkgs/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 { };
 
@@ -132,6 +132,39 @@ with self; {
     };
   };
 
+  pulseaudio = buildLuaPackage rec {
+    pname = "pulseaudio";
+    version = "0.2";
+    name = "pulseaudio-${version}";
+
+    src = fetchFromGitHub {
+      owner = "doronbehar";
+      repo = "lua-pulseaudio";
+      rev = "v${version}";
+      sha256 = "140y1m6k798c4w7xfl0zb0a4ffjz6i1722bgkdcdg8g76hr5r8ys";
+    };
+    disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
+    buildInputs = [ pkgs.libpulseaudio ];
+    propagatedBuildInputs = [ lua ];
+    nativeBuildInputs = [ pkgs.pulseaudio pkgconfig ];
+
+    makeFlags = [
+      "INST_LIBDIR=${placeholder "out"}/lib/lua/${lua.luaversion}"
+      "INST_LUADIR=${placeholder "out"}/share/lua/${lua.luaversion}"
+      "LUA_BINDIR=${placeholder "out"}/bin"
+    ];
+    preBuild = ''
+      mkdir -p ${placeholder "out"}/lib/lua/${lua.luaversion}
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = "https://github.com/doronbehar/lua-pulseaudio";
+      description = "Libpulse Lua bindings";
+      maintainers = with maintainers; [ doronbehar ];
+      license = licenses.lgpl21;
+    };
+  };
+
   vicious = toLuaModule(stdenv.mkDerivation rec {
     pname = "vicious";
     version = "2.3.1";
diff --git a/nixpkgs/pkgs/top-level/ocaml-packages.nix b/nixpkgs/pkgs/top-level/ocaml-packages.nix
index 23c0643f1c44..4a7743b10901 100644
--- a/nixpkgs/pkgs/top-level/ocaml-packages.nix
+++ b/nixpkgs/pkgs/top-level/ocaml-packages.nix
@@ -16,10 +16,20 @@ let
 
     buildDunePackage = callPackage ../build-support/ocaml/dune.nix {};
 
+    buildDune2Package = buildDunePackage.override { dune = dune_2; };
+
     alcotest = callPackage ../development/ocaml-modules/alcotest {};
 
+    alcotest-lwt = callPackage ../development/ocaml-modules/alcotest/lwt.nix {};
+
     angstrom = callPackage ../development/ocaml-modules/angstrom { };
 
+    angstrom-async = callPackage ../development/ocaml-modules/angstrom-async { };
+
+    angstrom-lwt-unix = callPackage ../development/ocaml-modules/angstrom-lwt-unix { };
+
+    angstrom-unix = callPackage ../development/ocaml-modules/angstrom-unix { };
+
     ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
 
     apron = callPackage ../development/ocaml-modules/apron { };
@@ -67,6 +77,8 @@ let
 
     bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
 
+    biocaml = callPackage ../development/ocaml-modules/biocaml { };
+
     bistro = callPackage ../development/ocaml-modules/bistro { };
 
     bitstring = callPackage ../development/ocaml-modules/bitstring { };
@@ -132,6 +144,8 @@ let
 
     cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
 
+    cfstream = callPackage ../development/ocaml-modules/cfstream { };
+
     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
 
     checkseum = callPackage ../development/ocaml-modules/checkseum { };
@@ -177,8 +191,12 @@ let
 
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
+    cpu = callPackage ../development/ocaml-modules/cpu { };
+
     cpuid = callPackage ../development/ocaml-modules/cpuid { };
 
+    crunch = callPackage ../development/tools/ocaml/crunch { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     cstruct =
@@ -211,11 +229,7 @@ let
 
     digestif =  callPackage ../development/ocaml-modules/digestif { };
 
-    doc-ock =  callPackage ../development/ocaml-modules/doc-ock { };
-
-    doc-ock-html =  callPackage ../development/ocaml-modules/doc-ock-html { };
-
-    doc-ock-xml =  callPackage ../development/ocaml-modules/doc-ock-xml { };
+    dispatch =  callPackage ../development/ocaml-modules/dispatch { };
 
     dolmen =  callPackage ../development/ocaml-modules/dolmen { };
 
@@ -225,20 +239,36 @@ let
 
     dtoa = callPackage ../development/ocaml-modules/dtoa { };
 
+    duff = callPackage ../development/ocaml-modules/duff { };
+
     dune = callPackage ../development/tools/ocaml/dune { };
 
+    dune_2 = callPackage ../development/tools/ocaml/dune/2.nix { };
+
+    dune-configurator = callPackage ../development/ocaml-modules/dune-configurator { buildDunePackage = buildDune2Package; };
+
+    dune-private-libs = callPackage ../development/ocaml-modules/dune-private-libs { buildDunePackage = buildDune2Package; };
+
     earley = callPackage ../development/ocaml-modules/earley { };
 
+    earlybird = callPackage ../development/ocaml-modules/earlybird { };
+
     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 { };
 
     elpi = callPackage ../development/ocaml-modules/elpi { };
 
+    encore = callPackage ../development/ocaml-modules/encore { };
+
     enumerate = callPackage ../development/ocaml-modules/enumerate { };
 
+    eqaf = callPackage ../development/ocaml-modules/eqaf { };
+
     erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
 
     erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
@@ -281,6 +311,10 @@ let
 
     gmap = callPackage ../development/ocaml-modules/gmap { };
 
+    gnuplot = callPackage ../development/ocaml-modules/gnuplot {
+      inherit (pkgs) gnuplot;
+    };
+
     herelib = callPackage ../development/ocaml-modules/herelib { };
 
     higlo = callPackage ../development/ocaml-modules/higlo { };
@@ -289,6 +323,8 @@ let
 
     imagelib = callPackage ../development/ocaml-modules/imagelib { };
 
+    imagelib-unix = callPackage ../development/ocaml-modules/imagelib/unix.nix { };
+
     inotify = callPackage ../development/ocaml-modules/inotify { };
 
     integers = callPackage ../development/ocaml-modules/integers { };
@@ -302,6 +338,8 @@ let
       then callPackage ../development/ocaml-modules/ipaddr { }
       else ipaddr_p4;
 
+    irmin_1 = callPackage ../development/ocaml-modules/irmin/1.4.nix { };
+
     iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
 
     iter = callPackage ../development/ocaml-modules/iter { };
@@ -316,7 +354,7 @@ let
 
     gg = callPackage ../development/ocaml-modules/gg { };
 
-    git = callPackage ../development/ocaml-modules/git { };
+    git = callPackage ../development/ocaml-modules/git { inherit (pkgs) git; };
 
     git-http = callPackage ../development/ocaml-modules/git-http { };
 
@@ -324,16 +362,46 @@ let
 
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    graphql = callPackage ../development/ocaml-modules/graphql { };
+
+    graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
+
+    graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
+
+    graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
+
     gtktop = callPackage ../development/ocaml-modules/gtktop { };
 
     hex = callPackage ../development/ocaml-modules/hex { };
 
     httpaf = callPackage ../development/ocaml-modules/httpaf { };
 
+    index = callPackage ../development/ocaml-modules/index { };
+
     inifiles = callPackage ../development/ocaml-modules/inifiles { };
 
     iri = callPackage ../development/ocaml-modules/iri { };
 
+    irmin = callPackage ../development/ocaml-modules/irmin { };
+
+    irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
+
+    irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { };
+
+    irmin-graphql = callPackage ../development/ocaml-modules/irmin/graphql.nix { };
+
+    irmin-http = callPackage ../development/ocaml-modules/irmin/http.nix { };
+
+    irmin-mem = callPackage ../development/ocaml-modules/irmin/mem.nix { };
+
+    irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { };
+
+    irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { };
+
+    irmin-unix = callPackage ../development/ocaml-modules/irmin/unix.nix { };
+
+    irmin-watcher = callPackage ../development/ocaml-modules/irmin-watcher { };
+
     jingoo = callPackage ../development/ocaml-modules/jingoo {
       pcre = ocaml_pcre;
     };
@@ -364,6 +432,10 @@ 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 { };
 
     lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
@@ -408,11 +480,9 @@ let
 
     lru = callPackage ../development/ocaml-modules/lru { };
 
-    lwt2 = callPackage ../development/ocaml-modules/lwt/legacy.nix { };
+    lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
 
-    lwt3 = if lib.versionOlder "4.02" ocaml.version
-      then callPackage ../development/ocaml-modules/lwt/3.x.nix { }
-      else throw "lwt3 is not available for OCaml ${ocaml.version}";
+    lwt2 = callPackage ../development/ocaml-modules/lwt/legacy.nix { };
 
     lwt4 = callPackage ../development/ocaml-modules/lwt/4.x.nix { };
 
@@ -436,6 +506,8 @@ let
       lwt = ocaml_lwt;
     };
 
+    macaddr = callPackage ../development/ocaml-modules/macaddr { };
+
     macaque = callPackage ../development/ocaml-modules/macaque { };
 
     magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
@@ -452,6 +524,14 @@ let
 
     merlin-extend = callPackage ../development/ocaml-modules/merlin-extend { };
 
+    metrics = callPackage ../development/ocaml-modules/metrics { };
+
+    metrics-lwt = callPackage ../development/ocaml-modules/metrics/lwt.nix { };
+
+    metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
+      inherit (pkgs) gnuplot;
+    };
+
     mezzo = callPackage ../development/compilers/mezzo { };
 
     minisat = callPackage ../development/ocaml-modules/minisat { };
@@ -519,6 +599,8 @@ let
 
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
 
+    ocaml-monadic = callPackage ../development/ocaml-modules/ocaml-monadic { };
+
     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
 
     ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
@@ -543,6 +625,8 @@ let
 
     ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
 
+    ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
+
     ocf = callPackage ../development/ocaml-modules/ocf { };
 
     ocp-build = callPackage ../development/tools/ocaml/ocp-build { };
@@ -591,10 +675,16 @@ 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 { };
 
+    phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
+
     piqi = callPackage ../development/ocaml-modules/piqi {
       base64 = base64_2;
     };
@@ -678,6 +768,8 @@ let
 
     pa_test = callPackage ../development/ocaml-modules/pa_test { };
 
+    parany = callPackage ../development/ocaml-modules/parany { };
+
     pipebang = callPackage ../development/ocaml-modules/pipebang { };
 
     pprint = callPackage ../development/ocaml-modules/pprint { };
@@ -745,6 +837,10 @@ 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 { };
 
     ssl = callPackage ../development/ocaml-modules/ssl { };
@@ -803,6 +899,8 @@ let
 
     wasm = callPackage ../development/ocaml-modules/wasm { };
 
+    webmachine = callPackage ../development/ocaml-modules/webmachine { };
+
     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
 
     x509 = callPackage ../development/ocaml-modules/x509 { };
@@ -813,6 +911,8 @@ let
 
     xtmpl = callPackage ../development/ocaml-modules/xtmpl { };
 
+    yaml = callPackage ../development/ocaml-modules/yaml { };
+
     yojson = callPackage ../development/ocaml-modules/yojson { };
 
     zarith = callPackage ../development/ocaml-modules/zarith { };
@@ -829,13 +929,15 @@ let
 
     # Jane Street
 
-    janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
+    janePackage =
+      if lib.versionOlder "4.07" ocaml.version
+      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
+      else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
 
     janeStreet =
     if lib.versionOlder "4.07" ocaml.version
     then import ../development/ocaml-modules/janestreet/0.12.nix {
-      janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {};
-      inherit ctypes num octavius ppxlib re;
+      inherit ctypes janePackage num octavius ppxlib re;
       inherit (pkgs) openssl;
     }
     else import ../development/ocaml-modules/janestreet {
@@ -1089,8 +1191,6 @@ let
 
     # Apps / from all-packages
 
-    haxe = callPackage ../development/compilers/haxe { };
-
     ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
 
     trv = callPackage ../development/tools/misc/trv { };
@@ -1099,11 +1199,6 @@ let
 
     google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
 
-
-    monotoneViz = callPackage ../applications/version-management/monotone-viz {
-      inherit (pkgs.gnome2) libgnomecanvas glib;
-    };
-
     unison = callPackage ../applications/networking/sync/unison {
       enableX11 = config.unison.enableX11 or true;
     };
@@ -1133,7 +1228,9 @@ in let inherit (pkgs) callPackage; in rec
 
   ocamlPackages_4_08 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.08.nix { });
 
-  ocamlPackages_latest = ocamlPackages_4_08;
+  ocamlPackages_4_09 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.09.nix { });
+
+  ocamlPackages_latest = ocamlPackages_4_09;
 
-  ocamlPackages = ocamlPackages_4_06;
+  ocamlPackages = ocamlPackages_4_07;
 }
diff --git a/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index df515ef5c879..1ece2cccfd98 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -5,9 +5,7 @@
    for each package in a separate file: the call to the function would
    be almost as much code as the function itself. */
 
-{ config, pkgs, fetchurl, fetchFromGitHub, fetchpatch
-, stdenv, gnused, perl, overrides, buildPerl, shortenPerlShebang
-}:
+{config, pkgs, fetchurl, fetchpatch, fetchFromGitHub, stdenv, perl, overrides, buildPerl, shortenPerlShebang}:
 
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.2 or above
 assert stdenv.lib.versionAtLeast perl.version "5.28.2";
@@ -89,11 +87,11 @@ let
 
   ack = buildPerlPackage {
     pname = "ack";
-    version = "3.0.2";
+    version = "3.2.0";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.0.2.tar.gz;
-      sha256 = "0a4mriclnmwvm8rn9crkfr00qjy6ffgf0b0bg0qz46drpnyv7d33";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.2.0.tar.gz;
+      sha256 = "00yvhkr974akdlhiyxkcz4rmfjyhvpikxf6k49b6q6iwa5a0j1ss";
     };
 
     outputs = ["out" "man"];
@@ -160,10 +158,10 @@ let
 
   AlienBuild = buildPerlPackage {
     pname = "Alien-Build";
-    version = "1.79";
+    version = "1.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.79.tar.gz;
-      sha256 = "18qlizxa67ldnxw91ks6qffhn5iia83ygcfv3c0db331f8nr68ki";
+      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 ];
@@ -211,6 +209,27 @@ let
      };
   };
 
+  AlienSDL = buildPerlModule {
+    pname = "Alien-SDL";
+    version = "1.446";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FR/FROGGS/Alien-SDL-1.446.tar.gz";
+      sha256 = "c9aa2c9dc3c63d89773c7d7203f2a46d1b924d0c72d9f801af147a3dc8bc512a";
+    };
+    patches = [ ../development/perl-modules/alien-sdl.patch ];
+
+    installPhase = "./Build install --prefix $out";
+
+    SDL_INST_DIR = pkgs.SDL.dev;
+    buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
+    propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
+
+    meta = {
+      description = "Get, Build and Use SDL libraries";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   AlienTidyp = buildPerlModule {
     pname = "Alien-Tidyp";
     version = "1.4.7";
@@ -237,10 +256,10 @@ let
 
   AnyEvent = buildPerlPackage {
     pname = "AnyEvent";
-    version = "7.16";
+    version = "7.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.16.tar.gz;
-      sha256 = "149fe8c3082dfb015fd15ad2b8fea5fb75e012238c790aa0398dcfaabfa0546c";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz;
+      sha256 = "50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985";
     };
     buildInputs = [ CanaryStability ];
     meta = {
@@ -328,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 ];
@@ -341,7 +360,7 @@ let
     doCheck = !stdenv.isLinux;
 
     meta = {
-      homepage = http://search.cpan.org/dist/Apache-AuthCookie/;
+      homepage = "https://github.com/mschout/apache-authcookie";
       description = "Perl Authentication and Authorization via cookies";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -349,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 ];
@@ -381,10 +400,10 @@ let
 
   ApacheTest = buildPerlPackage {
     pname = "Apache-Test";
-    version = "1.41";
+    version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.41.tar.gz;
-      sha256 = "065hka389fq8kq4623li519a6bqk84dmpiwg7c2ahmiisswn1krq";
+      url = mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.42.tar.gz;
+      sha256 = "1sxk7dmpg3ib1dkl58ddh7zffnv5danwba7qxp82k54agmyz1086";
     };
     doCheck = false;
     meta = {
@@ -406,14 +425,14 @@ let
 
   AppClusterSSH = buildPerlModule {
     pname = "App-ClusterSSH";
-    version = "4.13.2";
+    version = "4.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-v4.13.2.tar.gz;
-      sha256 = "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp";
+      url = mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.14.tar.gz;
+      sha256 = "020p28xl9507blvr8lr7hdxk1cl8jjkz5rkrkh7g538g52sa2cmi";
     };
-    propagatedBuildInputs = [ ExceptionClass Tk TryTiny X11ProtocolOther ];
-    buildInputs = [ CPANChanges FileSlurp FileWhich PerlTidy Readonly TestDifferences TestDistManifest TestPerlTidy TestPod TestPodCoverage TestTrap ];
-    preCheck = "rm t/perltidy.t t/manifest.t t/30cluster.t"; # do not run failing tests
+    propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
+    buildInputs = [ DataDump FileWhich Readonly TestDifferences TestTrap ];
+    preCheck = "rm t/30cluster.t"; # do not run failing tests
     postInstall = ''
       mkdir -p $out/etc/bash_completion.d
       mv $out/bin/clusterssh_bash_completion.dist \
@@ -426,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";
     };
   };
 
@@ -488,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 ];
@@ -573,10 +592,10 @@ let
 
   ArrayCompare = buildPerlModule {
     pname = "Array-Compare";
-    version = "3.0.2";
+    version = "3.0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.2.tar.gz;
-      sha256 = "0ci8pb6nh73rmmwd8fvg6n2064v8nbraqyg1axsncfi28nfz522s";
+      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.3.tar.gz;
+      sha256 = "13hn913cj7vswh5yy7gxpmhzrwmwknkc73qn7bhw0x7gx757rav2";
     };
 
     buildInputs = [ TestNoWarnings ];
@@ -655,24 +674,23 @@ let
 
   ArchiveTarWrapper = buildPerlPackage {
      pname = "Archive-Tar-Wrapper";
-     version = "0.36";
+     version = "0.37";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.36.tar.gz;
-       sha256 = "1s7i93qbimwygv07x5963vv90m09g2iiacnl3986smw4rpi5apwg";
+       url = mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.37.tar.gz;
+       sha256 = "0b1hi3zfnq487kfg514kr595j9w8x6wxddy3zlpqcxgiv90zlv3y";
      };
      propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
      meta = {
        description = "API wrapper around the 'tar' utility";
      };
-    buildInputs = [ Dumbbench ];
   };
 
   ArchiveZip = buildPerlPackage {
     pname = "Archive-Zip";
-    version = "1.64";
+    version = "1.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.64.tar.gz;
-      sha256 = "0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy";
+      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.67.tar.gz;
+      sha256 = "0x17b7s5c3bqy9gx7psdqxbzkilylnwwd3c3i68vynbn9hs788my";
     };
     buildInputs = [ TestMockModule ];
     meta = {
@@ -704,6 +722,7 @@ let
       url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz;
       sha256 = "f43a93bb02b41f7327d92f9e963b69505f67350a52e8f50796f98afc4fb3f177";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     propagatedBuildInputs = [ DataInteger DigestCRC ScalarString ];
     meta = {
       description = "DEC VMS password hashing";
@@ -744,6 +763,23 @@ let
     };
   };
 
+  AuthenOATH = buildPerlPackage {
+    pname = "Authen-OATH";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/Authen-OATH-2.0.1.tar.gz";
+      sha256 = "1a813dbdc05c3fbd9dd39dbcfd85e2cfb0ba3d0f652cf6b26ec83ab8146ddc77";
+    };
+    buildInputs = [ TestNeeds ];
+    propagatedBuildInputs = [ DigestHMAC Moo TypeTiny ];
+    meta = {
+      homepage = "https://github.com/oalders/authen-oath";
+      description = "OATH One Time Passwords";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   AuthenPassphrase = buildPerlModule {
     pname = "Authen-Passphrase";
     version = "0.008";
@@ -914,7 +950,20 @@ let
     };
   };
 
-  BerkeleyDB = callPackage ../development/perl-modules/BerkeleyDB { };
+  BerkeleyDB = buildPerlPackage {
+    pname = "BerkeleyDB";
+    version = "0.63";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.63.tar.gz;
+      sha256 = "1lh2a75cy85hqxlridk862nwzhrp762h74vy27hcbfgb4a6r62by";
+    };
+
+    preConfigure = ''
+      echo "LIB = ${pkgs.db.out}/lib" > config.in
+      echo "INCLUDE = ${pkgs.db.dev}/include" >> config.in
+    '';
+  };
 
   BHooksEndOfScope = buildPerlPackage {
     pname = "B-Hooks-EndOfScope";
@@ -1126,6 +1175,21 @@ let
     };
   };
 
+  CacheKyotoTycoon = buildPerlModule {
+    pname = "Cache-KyotoTycoon";
+    version = "0.16";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
+      sha256 = "0z4lnc3jfqx8rykm998q2jy5wkhb8p5pir80g9lqpi4lb0ilic6c";
+    };
+    propagatedBuildInputs = [ Furl URI ];
+    buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
+    meta = {
+      description = "KyotoTycoon client library";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CacheMemcached = buildPerlPackage {
     pname = "Cache-Memcached";
     version = "1.30";
@@ -1176,10 +1240,10 @@ let
 
   Cairo = buildPerlPackage {
     pname = "Cairo";
-    version = "1.106";
+    version = "1.107";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.106.tar.gz;
-      sha256 = "1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76";
+      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.107.tar.gz;
+      sha256 = "0sg1gf1f2pjq7pji0zsv4rbi3bzpsx82z98k7yqxafzrvlkf27ay";
     };
     buildInputs = [ pkgs.cairo ];
     meta = {
@@ -1192,10 +1256,10 @@ let
 
   CairoGObject = buildPerlPackage {
     pname = "Cairo-GObject";
-    version = "1.004";
+    version = "1.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.004.tar.gz;
-      sha256 = "1m896j0xdfhldsx8abf10cc16ll1fm9wbav42dpzal9fh07d9f9v";
+      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz;
+      sha256 = "0l2wcz77ndmbgvxx34gdm919a3dxh9fixqr47p50n78ysx2692cd";
     };
     buildInputs = [ pkgs.cairo ];
     meta = {
@@ -1289,10 +1353,10 @@ let
 
   CarpAssertMore = buildPerlPackage {
     pname = "Carp-Assert-More";
-    version = "1.18";
+    version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.18.tar.gz;
-      sha256 = "0k7lpyb7mwck9w7vlqd4w3vw5r0qxlhzw8x6himy6p9aijwrdh4g";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.20.tar.gz;
+      sha256 = "16jnhdjgfwymrc5fki4xlf1rlziszf9k6q0245g976124k708ac5";
     };
     propagatedBuildInputs = [ CarpAssert ];
     meta = {
@@ -1303,10 +1367,10 @@ let
 
   CarpClan = buildPerlPackage {
     pname = "Carp-Clan";
-    version = "6.07";
+    version = "6.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.07.tar.gz;
-      sha256 = "0gaa4ygd9q8lp2fn5d9s7miiwxz92a2lqs7j6smwmifq6w3mc20a";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz;
+      sha256 = "0237xx3rqa72sr4vdvws9r1m453h5f25bl85mdjmmk128kir4py7";
     };
     meta = {
       description = "Report errors from perspective of caller of a \"clan\" of modules";
@@ -1455,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 ];
     };
@@ -1513,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 ];
     };
@@ -1899,6 +1963,20 @@ let
     };
   };
 
+  CDB_File = buildPerlPackage {
+    pname = "CDB_File";
+    version = "0.99";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-0.99.tar.gz";
+      sha256 = "1c32b30131871e8a7b23f47d8f65d9cdeb87069fa4c221781a03416496f91f16";
+    };
+    meta = {
+      homepage = "https://github.com/toddr/CDB_File";
+      description = "Perl extension for access to cdb databases";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Catmandu = buildPerlModule {
     pname = "Catmandu";
     version = "1.2002";
@@ -2062,10 +2140,10 @@ let
 
   CGISimple = buildPerlModule {
     pname = "CGI-Simple";
-    version = "1.21";
+    version = "1.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.21.tar.gz;
-      sha256 = "1wzc2igs4khmj7zfahvs87c24p9ks8hnqhhsyviyiix53xx2y6sg";
+      url = mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.22.tar.gz;
+      sha256 = "13c7iwnnavky10ab87pi8jc1kqph03s0rhvj7myn7szhbfisc4gn";
     };
     propagatedBuildInputs = [ IOStringy ];
     meta = {
@@ -2122,6 +2200,21 @@ let
     };
   };
 
+  CLASS = buildPerlPackage {
+    pname = "CLASS";
+    version = "1.00";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/CLASS-1.00.tar.gz";
+      sha256 = "c5185620815701b3fec21314ccd8c5693e6bfd519431527da3370a8164220671";
+    };
+    meta = {
+      homepage = "https://metacpan.org/pod/CLASS";
+      description = "Alias for __PACKAGE__";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   ClassAccessor = buildPerlPackage {
     pname = "Class-Accessor";
     version = "0.51";
@@ -2378,14 +2471,14 @@ let
 
   ClassMethodModifiers = buildPerlPackage {
     pname = "Class-Method-Modifiers";
-    version = "2.12";
+    version = "2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.12.tar.gz;
-      sha256 = "1j3swa212wh14dq5r6zjarm2lzpx6mrdfplpjy65px8b09ri0k74";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.13.tar.gz;
+      sha256 = "0qzx83mgd71hlc2m1kpw15dqsjzjq7b2cj3sdgg45a0q23vhfn5b";
     };
-    buildInputs = [ TestFatal TestRequires ];
+    buildInputs = [ TestFatal TestNeeds ];
     meta = {
-      homepage = https://github.com/sartak/Class-Method-Modifiers/tree;
+      homepage = "https://github.com/moose/Class-Method-Modifiers";
       description = "Provides Moose-like method modifiers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -2676,10 +2769,10 @@ let
 
   CompressRawBzip2 = buildPerlPackage {
     pname = "Compress-Raw-Bzip2";
-    version = "2.086";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.086.tar.gz;
-      sha256 = "16gkm5m5hr8129h93r0liyyqffvh820wrlvxal8cn8bdcx59bls6";
+      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.
@@ -2693,7 +2786,31 @@ let
     };
   };
 
-  CompressRawZlib = callPackage ../development/perl-modules/Compress-Raw-Zlib { };
+  CompressRawZlib = buildPerlPackage {
+    pname = "Compress-Raw-Zlib";
+    version = "2.090";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.090.tar.gz;
+      sha256 = "0ndgkv7z4zi3ffail9abp02x62dx1j3pnxn3rjw91py7pjd4kj7j";
+    };
+
+    preConfigure = ''
+      cat > config.in <<EOF
+        BUILD_ZLIB   = False
+        INCLUDE      = ${pkgs.zlib.dev}/include
+        LIB          = ${pkgs.zlib.out}/lib
+        OLD_ZLIB     = False
+        GZIP_OS_CODE = AUTO_DETECT
+      EOF
+    '';
+
+    doCheck = !stdenv.isDarwin;
+
+    meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
 
   CompressUnLZMA = buildPerlPackage {
     pname = "Compress-unLZMA";
@@ -2882,10 +2999,10 @@ let
 
   ConfigSimple = buildPerlPackage {
     pname = "Config-Simple";
-    version = "4.59";
+    version = "4.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.59.tar.gz;
-      sha256 = "0m0hg29baarw5ds768q9r4rxb27im8kj4fazyf9gjqw4mmssjy6b";
+      url = mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz;
+      sha256 = "1d7dhvis1i03xlj8z3g5l8mz88kf7dn13zngbjhq94qgdxq9b6fx";
     };
     meta = {
       description = "Simple configuration file class";
@@ -2932,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 ];
@@ -2974,6 +3091,22 @@ let
     };
   };
 
+  ConvertBase32 = buildPerlPackage {
+    pname = "Convert-Base32";
+    version = "0.06";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/I/IK/IKEGAMI/Convert-Base32-0.06.tar.gz";
+      sha256 = "4ba82c167c41f455aa8284738727e4c94a2ebcb1c4ce797f6fda07245a642115";
+    };
+    buildInputs = [ TestException ];
+    meta = {
+      homepage = "https://metacpan.org/pod/Convert::Base32";
+      description = "Encoding and decoding of base32 strings";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   ConvertColor = buildPerlModule {
     pname = "Convert-Color";
     version = "0.11";
@@ -3101,10 +3234,10 @@ let
 
   CpanelJSONXS = buildPerlPackage {
     pname = "Cpanel-JSON-XS";
-    version = "4.12";
+    version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.12.tar.gz;
-      sha256 = "49417b118fb111607cc7d021443e5b32fd104c0bf59d1852c95923a4916ac658";
+      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";
@@ -3183,10 +3316,10 @@ let
 
   CPANPerlReleases = buildPerlPackage {
     pname = "CPAN-Perl-Releases";
-    version = "4.10";
+    version = "4.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.10.tar.gz;
-      sha256 = "1dgijw8rpvhy79ff8jbly5bwh7gdb7d6mn6vx5mm6krjfybdprrk";
+      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;
@@ -3287,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";
@@ -3295,6 +3441,7 @@ let
       sha256 = "3cc7126d5841107237a9be2dc5c7fbc167cf3c4b4ce34678a8448b850757014c";
     };
     propagatedBuildInputs = [ ClassMix ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
   };
 
   CryptIDEA = buildPerlPackage {
@@ -3308,10 +3455,10 @@ let
 
   CryptJWT = buildPerlPackage {
     pname = "Crypt-JWT";
-    version = "0.024";
+    version = "0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.024.tar.gz;
-      sha256 = "4fcb81992fa61c0dbeb7c3582e887a92746aca76a42609091d986350e91892c5";
+      url = mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.025.tar.gz;
+      sha256 = "2def87936645723de70fcc11cb380b1faddf9c5678832e4fc6116f267987087d";
     };
     propagatedBuildInputs = [ CryptX JSONMaybeXS ];
     meta = {
@@ -3384,6 +3531,7 @@ let
       sha256 = "93ebdfaaefcfe9ab683f0121c85f24475d8197f0bcec46018219e4111434dde3";
     };
     propagatedBuildInputs = [ DigestSHA1 ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
   };
 
   CryptRijndael = buildPerlPackage {
@@ -3404,6 +3552,23 @@ let
     };
   };
 
+  CryptScryptKDF = buildPerlModule {
+    pname = "Crypt-ScryptKDF";
+    version = "0.010";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-ScryptKDF-0.010.tar.gz";
+      sha256 = "7d16ee95cce3eb54c174673a7299f4c086fba3ac85f847d0e134feed5f776017";
+    };
+    propagatedBuildInputs = [ CryptOpenSSLRandom ];
+    perlPreHook = "export LD=$CC";
+    meta = {
+      description = "Scrypt password based key derivation function";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/DCIT/perl-Crypt-ScryptKDF";
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   CryptSmbHash = buildPerlPackage {
     pname = "Crypt-SmbHash";
     version = "0.12";
@@ -3478,6 +3643,40 @@ let
     buildInputs = [ CryptOpenSSLGuess ];
   };
 
+  CryptOpenSSLX509 = buildPerlPackage rec {
+    pname = "Crypt-OpenSSL-X509";
+    version = "1.813";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.813.tar.gz";
+      sha256 = "684bd888d2ed4c748f8f6dd8e87c14afa2974b12ee01faa082ad9cfa1e321e62";
+    };
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    meta = {
+      homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
+      description = "Perl extension to OpenSSL's X509 API";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  CryptPBKDF2 = buildPerlPackage {
+    pname = "Crypt-PBKDF2";
+    version = "0.161520";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AR/ARODLAND/Crypt-PBKDF2-0.161520.tar.gz";
+      sha256 = "97dfa79a309a086e184a4e61047f8a10ffb3db051025e7d222a25f19130ba417";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ DigestHMAC DigestSHA3 Moo TypeTiny namespaceautoclean strictures ];
+    meta = {
+      homepage = "https://metacpan.org/release/Crypt-PBKDF2";
+      description = "The PBKDF2 password hash algorithm";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   CryptEd25519 = buildPerlPackage {
     pname = "Crypt-Ed25519";
     version = "1.04";
@@ -3525,6 +3724,7 @@ let
       url = mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz;
       sha256 = "1myswrmh0sqp5xjpp03x45z8arfmgkjx0srl3r6kjsyzl1zrk9l8";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "XS based CSS minifier";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3576,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";
@@ -3617,12 +3817,12 @@ let
 
   DataCompare = buildPerlPackage {
     pname = "Data-Compare";
-    version = "1.25";
+    version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.25.tar.gz;
-      sha256 = "0wzasidg9yjcfsi2gdiaw6726ikqda7n24n0v2ngpaazakdkcjqx";
+      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz;
+      sha256 = "1gg8rqbv3x6a1lrpabv6vnlab53zxmpwz2ygad9fcx4gygqj12l1";
     };
-    propagatedBuildInputs = [ FileFindRule ];
+    propagatedBuildInputs = [ Clone FileFindRule ];
   };
 
   DataDump = buildPerlPackage {
@@ -3751,10 +3951,10 @@ let
 
   DataICal = buildPerlPackage {
     pname = "Data-ICal";
-    version = "0.22";
+    version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Data-ICal-0.22.tar.gz;
-      sha256 = "8ae9d20af244e5a6f606c7325e9d145dd0002676a178357af860a5e156925720";
+      url = mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.23.tar.gz;
+      sha256 = "937c23b30b07ff00243a739df1760b1992117a074ff31852ec33f9b009c556eb";
     };
     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
     propagatedBuildInputs = [ ClassReturnValue TextvFileasData ];
@@ -3787,6 +3987,22 @@ let
     };
   };
 
+  DataMessagePack = buildPerlPackage {
+    pname = "Data-MessagePack";
+    version = "1.00";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-MessagePack-1.00.tar.gz";
+      sha256 = "c9f0eeaf56ee4dfd509eccba2dd838921aebdf186ba60de166443ffc4b0ba1a2";
+    };
+    buildInputs = [ FileCopyRecursive TestRequires ];
+    meta = {
+      homepage = "https://github.com/msgpack/msgpack-perl";
+      description = "MessagePack serializing/deserializing";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DataOptList = buildPerlPackage {
     pname = "Data-OptList";
     version = "0.110";
@@ -3895,6 +4111,20 @@ let
     };
   };
 
+  DataSExpression = buildPerlPackage {
+    pname = "Data-SExpression";
+    version = "0.41";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-0.41.tar.gz";
+      sha256 = "8162426a4285a094385fdfaf6d09ced106d5af57553f953acb1d56867dd0149b";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ ClassAccessor ];
+    meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DataSpreadPagination = buildPerlPackage {
     pname = "Data-SpreadPagination";
     version = "0.1.2";
@@ -3964,6 +4194,7 @@ let
       sha256 = "1x662pqjg9p0wcigi7pwf969b2ymk66ncm2vd5dfm5i08pdkjpf3";
     };
     buildInputs = [ HashUtilFieldHashCompat ModuleBuildXSUtil ScopeGuard TestException ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "A selection of utilities for data and data types";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -4086,10 +4317,10 @@ let
 
   DateManip = buildPerlPackage {
     pname = "Date-Manip";
-    version = "6.77";
+    version = "6.78";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.77.tar.gz;
-      sha256 = "0sw36dc224km06jnzkyxgpi6l4cavdn8gfxd3zb11mnf0y12phsi";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.78.tar.gz;
+      sha256 = "1faxj6gafrqir9hvy9r8q57s93n57b412s04qycrks7r0520hdnb";
     };
     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
     patchPhase = ''
@@ -4099,7 +4330,7 @@ let
     meta = {
       description = "Date manipulation routines";
     };
-    buildInputs = [ FileFindRule TestInter TestPod TestPodCoverage ];
+    buildInputs = [ TestInter ];
   };
 
   DateSimple = buildPerlPackage {
@@ -4131,10 +4362,10 @@ let
 
   DateTimeCalendarJulian = buildPerlPackage {
     pname = "DateTime-Calendar-Julian";
-    version = "0.100";
+    version = "0.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.100.tar.gz;
-      sha256 = "0gbw7rh706qk5jlmmz3yzsm0ilzp39kyar28g4j6d57my8cwaipx";
+      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz;
+      sha256 = "0j95dhma66spjyb04zi6rwy7l33hibnrx02mn0znd9m89aiq52s6";
     };
     meta = {
       description = "Dates in the Julian calendar";
@@ -4197,10 +4428,10 @@ let
 
   DateTimeFormatFlexible = buildPerlPackage {
     pname = "DateTime-Format-Flexible";
-    version = "0.31";
+    version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.31.tar.gz;
-      sha256 = "0daf62fe4af0b336d45e367143a580b5a34912a679eef788d54c4d5ad685c2d1";
+      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.32.tar.gz;
+      sha256 = "50a7b9feb287bb14b27323a53c2324486181a3ab6cb3f4c7662d42be901ad8ee";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
     meta = {
@@ -4355,10 +4586,10 @@ let
 
   DateTimeLocale = buildPerlPackage {
     pname = "DateTime-Locale";
-    version = "1.24";
+    version = "1.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.24.tar.gz;
-      sha256 = "d03aaa33126a13b1fe6591b9838f0a07395f1fea12b6e304566d7e39a5e5fb82";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.25.tar.gz;
+      sha256 = "aa79746bd488b32aa4dbccccd05f1e5505642be013d8064a5d6f8a76a3c45d0b";
     };
     buildInputs = [ CPANMetaCheck FileShareDirInstall IPCSystemSimple TestFatal TestFileShareDir TestRequires TestWarnings ];
     propagatedBuildInputs = [ FileShareDir ParamsValidationCompiler Specio namespaceautoclean ];
@@ -4384,10 +4615,10 @@ let
 
   DateTimeTimeZone = buildPerlPackage {
     pname = "DateTime-TimeZone";
-    version = "2.36";
+    version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.36.tar.gz;
-      sha256 = "7e033a3cae17a62a0a4011b9e3dd900acf8b7614e05dc6595d1f55406ec6f6a7";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz;
+      sha256 = "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
@@ -4472,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 {
@@ -4505,10 +4736,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 = {
@@ -4534,10 +4765,10 @@ let
 
   DevelPPPort = buildPerlPackage {
     pname = "Devel-PPPort";
-    version = "3.52";
+    version = "3.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.52.tar.gz;
-      sha256 = "cf4963786ea6821fcb7fe8979229f1c1c69a624b1ef968a498460792e35ec390";
+      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.55.tar.gz;
+      sha256 = "bac0421ed1ba02f118f2bc1b1a760616847a0c60cb0184651f3f076f46d0946e";
     };
     meta = {
       description = "Perl/Pollution/Portability";
@@ -4558,28 +4789,178 @@ let
     };
   };
 
+  DeviceMAC = buildPerlPackage {
+    pname = "Device-MAC";
+    version = "1.00";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JA/JASONK/Device-MAC-1.00.tar.gz";
+      sha256 = "c42182a9a8489a314cbfe6e1c8452f32b3b626aa6c89fee1d8925e6dfb64fad5";
+    };
+    buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
+    propagatedBuildInputs = [ DeviceOUI Moose ];
+    meta = {
+      description = "Handle hardware MAC Addresses (EUI-48 and EUI-64)";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  DeviceOUI = buildPerlPackage {
+    pname = "Device-OUI";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JA/JASONK/Device-OUI-1.04.tar.gz";
+      sha256 = "4b367e61b1fadde77fb6fb729f3cd5acd1d46e71218d96f406bcba38d43b4bef";
+    };
+    buildInputs = [ TestException ];
+    patches = [ ../development/perl-modules/Device-OUI-1.04-hash.patch ];
+    propagatedBuildInputs = [ ClassAccessorGrouped LWP SubExporter ];
+    meta = {
+      description = "Resolve an Organizationally Unique Identifier";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
-    version = "1.45";
+    version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DI/DICHI/DBD-Mock/DBD-Mock-1.45.tar.gz;
-      sha256 = "40a80c37b31ef14536b58b4a8b483e65953b00b8fa7397817c7eb76d540bd00f";
+      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.52.tar.gz;
+      sha256 = "c33ac1118ff4e6a542e62e0fc56d9c0d4abecc442c7acb59c0975fc376812442";
     };
     propagatedBuildInputs = [ DBI ];
-    buildInputs = [ TestException ];
+    buildInputs = [ ModuleBuildTiny TestException ];
+  };
+
+  DBDSQLite = buildPerlPackage {
+    pname = "DBD-SQLite";
+    version = "1.64";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.64.tar.gz;
+      sha256 = "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl";
+    };
+
+    propagatedBuildInputs = [ DBI ];
+    buildInputs = [ pkgs.sqlite ];
+
+    patches = [
+      # Support building against our own sqlite.
+      ../development/perl-modules/DBD-SQLite/external-sqlite.patch
+    ];
+
+    makeMakerFlags = "SQLITE_INC=${pkgs.sqlite.dev}/include SQLITE_LIB=${pkgs.sqlite.out}/lib";
+
+    postInstall = ''
+      # Get rid of a pointless copy of the SQLite sources.
+      rm -rf $out/${perl.libPrefix}/*/*/auto/share
+    '';
+
+    preCheck = "rm t/65_db_config.t"; # do not run failing tests
+
+    meta = with stdenv.lib; {
+      description = "Self Contained SQLite RDBMS in a DBI Driver";
+      license = with licenses; [ artistic1 gpl1Plus ];
+      platforms = platforms.unix;
+    };
+  };
+
+  DBDmysql = buildPerlPackage {
+    pname = "DBD-mysql";
+    version = "4.050";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz;
+      sha256 = "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g";
+    };
+
+    buildInputs = [ pkgs.libmysqlclient DevelChecklib TestDeep TestDistManifest TestPod ];
+    propagatedBuildInputs = [ DBI ];
+
+    doCheck = false;
+
+  #  makeMakerFlags = "MYSQL_HOME=${mysql}";
   };
 
-  DBDSQLite = callPackage ../development/perl-modules/DBD-SQLite { };
+  DBDOracle = buildPerlPackage {
+    pname = "DBD-Oracle";
+    version = "1.80";
 
-  DBDmysql = callPackage ../development/perl-modules/DBD-mysql { };
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJEVANS/DBD-Oracle-1.80.tar.gz;
+      sha256 = "1rza36dywbsaync99ibscpqdp53m0yg2748bbib16gbf4cl2apph";
+    };
 
-  DBDOracle = callPackage ../development/perl-modules/DBD-Oracle { };
+    ORACLE_HOME = "${pkgs.oracle-instantclient.lib}/lib";
 
-  DBDPg = callPackage ../development/perl-modules/DBD-Pg { };
+    buildInputs = [ pkgs.oracle-instantclient TestNoWarnings ];
+    propagatedBuildInputs = [ DBI ];
 
-  DBDsybase = callPackage ../development/perl-modules/DBD-sybase { };
+    postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
+      install_name_tool -add_rpath "${pkgs.oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
+    '';
+  };
 
-  DBFile = callPackage ../development/perl-modules/DB_File { };
+  DBDPg = buildPerlPackage {
+    pname = "DBD-Pg";
+    version = "3.10.0";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.0.tar.gz;
+      sha256 = "102z22pfsbhi8gw6d9s7w2xnqi23yyjxp6v58cyqx0p2cf52c0z1";
+    };
+
+    buildInputs = [ pkgs.postgresql ];
+    propagatedBuildInputs = [ DBI ];
+
+    makeMakerFlags = "POSTGRES_HOME=${pkgs.postgresql}";
+
+    # tests freeze in a sandbox
+    doCheck = false;
+
+    meta = {
+      description = "DBI PostgreSQL interface";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.unix;
+    };
+  };
+
+  DBDsybase = buildPerlPackage {
+    pname = "DBD-Sybase";
+    version = "1.16";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz;
+      sha256 = "1k6n261nrrcll9wxn5xwi4ibpavqv1il96687k62mbpznzl2gx37";
+    };
+
+    SYBASE = pkgs.freetds;
+
+    buildInputs = [ pkgs.freetds ];
+    propagatedBuildInputs = [ DBI ];
+
+    doCheck = false;
+  };
+
+  DBFile = buildPerlPackage {
+    pname = "DB_File";
+    version = "1.852";
+
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.852.tar.gz;
+      sha256 = "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs";
+    };
+
+    preConfigure = ''
+      cat > config.in <<EOF
+      PREFIX = size_t
+      HASH = u_int32_t
+      LIB = ${pkgs.db.out}/lib
+      INCLUDE = ${pkgs.db.dev}/include
+      EOF
+    '';
+  };
 
   DBI = buildPerlPackage {
     pname = "DBI";
@@ -4627,12 +5008,29 @@ 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 ];
     };
   };
 
+  DBICxTestDatabase = buildPerlPackage {
+    pname = "DBICx-TestDatabase";
+    version = "0.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JR/JROCKWAY/DBICx-TestDatabase-0.05.tar.gz";
+      sha256 = "8e3bc2530b01216188c3aa65acdbd2f59c4e631f3ae085dfc439abd89f8f0acf";
+    };
+    buildInputs = [ DBIxClass TestSimple13 ];
+    propagatedBuildInputs = [ DBDSQLite SQLTranslator ];
+    meta = {
+      homepage = "https://metacpan.org/pod/DBICx::TestDatabase";
+      description = "Create a temporary database from a DBIx::Class::Schema";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DBIxClass = buildPerlPackage {
     pname = "DBIx-Class";
     version = "0.082841";
@@ -4641,9 +5039,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 ];
     };
@@ -4680,6 +5078,23 @@ let
     };
   };
 
+  DBIxClassDynamicDefault = buildPerlPackage {
+    pname = "DBIx-Class-DynamicDefault";
+    version = "0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSTROUT/DBIx-Class-DynamicDefault-0.04.tar.gz";
+      sha256 = "228f51ab224642584b4dc63db6de2667c5bfae2a894a9376b210a104806a5afb";
+    };
+    buildInputs = [ DBICxTestDatabase ];
+    propagatedBuildInputs = [ DBIxClass ];
+    meta = {
+      homepage = "https://metacpan.org/pod/DBIx::Class::DynamicDefault";
+      description = "Automatically set and update fields";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DBIxClassHTMLWidget = buildPerlPackage {
     pname = "DBIx-Class-HTMLWidget";
     version = "0.16";
@@ -4692,10 +5107,10 @@ let
 
   DBIxClassHelpers = buildPerlPackage {
     pname = "DBIx-Class-Helpers";
-    version = "2.033004";
+    version = "2.034001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.033004.tar.gz;
-      sha256 = "14bc7adda3b30867311717faa11a4534bceda3061229dc2533647c1906d8784c";
+      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 ];
@@ -4706,6 +5121,23 @@ let
     };
   };
 
+  DBIxClassInflateColumnSerializer = buildPerlPackage {
+    pname = "DBIx-Class-InflateColumn-Serializer";
+    version = "0.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MR/MRUIZ/DBIx-Class-InflateColumn-Serializer-0.09.tar.gz";
+      sha256 = "6262b4871db6a6c45a0cbe7cde8f1b890b22c291add4ecc40caaeeab5a3a6f50";
+    };
+    buildInputs = [ DBDSQLite TestException ];
+    propagatedBuildInputs = [ DBIxClass JSONMaybeXS YAML ];
+    meta = {
+      homepage = "https://metacpan.org/pod/DBIx::Class::InflateColumn::Serializer";
+      description = "Inflators to serialize data structures for DBIx::Class";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DBIxClassIntrospectableM2M = buildPerlPackage {
     pname = "DBIx-Class-IntrospectableM2M";
     version = "0.001002";
@@ -5057,6 +5489,21 @@ let
     };
   };
 
+  DigestSHA3 = buildPerlPackage {
+    pname = "Digest-SHA3";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSHELOR/Digest-SHA3-1.04.tar.gz";
+      sha256 = "4a68b67c5034f40fbb1344b304cd66caaa5e320eb523005201cc24f76d470c14";
+    };
+    meta = {
+      homepage = "https://metacpan.org/release/Digest-SHA3";
+      description = "Perl extension for SHA-3";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   DirManifest = buildPerlModule {
     pname = "Dir-Manifest";
     version = "0.2.0";
@@ -5654,9 +6101,13 @@ let
     };
     buildInputs = [ CaptureTiny ];
     propagatedBuildInputs = [ EmailAbstract EmailAddress MooXTypesMooseLike SubExporter Throwable TryTiny ];
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
     postPatch = ''
       patchShebangs --build util
     '';
+    preCheck = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang util/sendmail
+    '';
     meta = {
       homepage = https://github.com/rjbs/Email-Sender;
       description = "A library for sending email";
@@ -5836,21 +6287,35 @@ let
     };
   };
 
-  Error = buildPerlModule rec {
+  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";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Error-${version}.tar.gz";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17028.tar.gz;
       sha256 = "0q796nwwiarfc6pga97380c9z8xva5545632001qj75kb1g5rn1s";
     };
   };
 
   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 ];
@@ -5929,7 +6394,7 @@ let
     buildInputs = [ FennecLite TestException ];
     propagatedBuildInputs = [ MetaBuilder aliased ];
     meta = {
-      homepage = http://open-exodus.net/projects/Exporter-Declare;
+      homepage = "https://metacpan.org/release/Exporter-Declare";
       description = "Exporting done right";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5970,7 +6435,7 @@ let
     meta = {
       description = "Compile and link C code for Perl modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      homepage = "http://search.cpan.org/dist/ExtUtils-CBuilder";
+      homepage = "https://metacpan.org/release/ExtUtils-CBuilder";
     };
   };
 
@@ -6026,10 +6491,10 @@ let
 
   ExtUtilsCppGuess = buildPerlPackage {
     pname = "ExtUtils-CppGuess";
-    version = "0.19";
+    version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.19.tar.gz;
-      sha256 = "1lva59kq447wbpc5nnr0zvr6gczxrmi0r7l9r2kqx132nsx33ijc";
+      url = mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.20.tar.gz;
+      sha256 = "0q9ynigk600fv95xac6aslrg2k19m6qbzf5hqfsnall8113r3gqj";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
     propagatedBuildInputs = [ CaptureTiny ];
@@ -6104,10 +6569,10 @@ let
 
   ExtUtilsMakeMaker = buildPerlPackage {
     pname = "ExtUtils-MakeMaker";
-    version = "7.36";
+    version = "7.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.36.tar.gz;
-      sha256 = "06cef6429315cdc6afa9b2dc6fbdfa33538b6f68c827f441294621858e28c558";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.38.tar.gz;
+      sha256 = "897d64af242331ebb69090f68a2b610091e1996952d02096ce7942072a35e02c";
     };
     meta = {
       description = "Create a module Makefile";
@@ -6274,7 +6739,7 @@ let
       sha256 = "dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab";
     };
     meta = {
-      homepage = http://open-exodus.net/projects/Fennec-Lite;
+      homepage = "https://metacpan.org/release/Fennec-Lite";
       description = "Minimalist Fennec, the commonly used bits";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6396,10 +6861,10 @@ let
 
   FileFindObject = buildPerlModule {
     pname = "File-Find-Object";
-    version = "0.3.2";
+    version = "0.3.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-v0.3.2.tar.gz;
-      sha256 = "7c467b6b7752bff46b7b8b84c9aabeac45bbfdab1e2224108a2e2170adb9f2b7";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.4.tar.gz;
+      sha256 = "569fab52ab2bf9e0592d46575056c33c52aaba4ada3176f22f248e01d1273a79";
     };
     propagatedBuildInputs = [ ClassXSAccessor ];
     meta = {
@@ -6410,10 +6875,10 @@ let
 
   FileFindObjectRule = buildPerlModule {
     pname = "File-Find-Object-Rule";
-    version = "0.0310";
+    version = "0.0311";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0310.tar.gz;
-      sha256 = "f1f1820ff44042f6b30e4d6be1db860b9e743b1a9836070ea656ad9829e4eca5";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0311.tar.gz;
+      sha256 = "038a92e4380920448d5627ec98fc9990dbc3223eb93bb554c9b09eef4a735f3e";
     };
     propagatedBuildInputs = [ FileFindObject NumberCompare TextGlob ];
     # restore t/sample-data which is corrupted by patching shebangs
@@ -6528,6 +6993,7 @@ let
       sha256 = "a02fbf285406a8a4d9399284f032f2d55c56975154c2e1674bd109837b8096ec";
     };
     buildInputs = [ ExtUtilsCChecker ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "Modify attributes of symlinks without dereferencing them";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6603,10 +7069,10 @@ let
 
   FileNext = buildPerlPackage {
     pname = "File-Next";
-    version = "1.16";
+    version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.16.tar.gz;
-      sha256 = "0nfp84p63a5xm6iwlckh3f6cy9bdpjw5fazplskhnb8k5ifg4rb9";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz;
+      sha256 = "1vy2dqpc1nbjrnga08xr2hcxxfzifc5s2lfam5lf3djya0wwn07r";
     };
   };
 
@@ -6691,7 +7157,7 @@ let
     };
     propagatedBuildInputs = [ FileShareDir ];
     meta = {
-      homepage = https://github.com/ingydotnet/file-share-pm/tree;
+      homepage = "https://github.com/ingydotnet/file-share-pm";
       description = "Extend File::ShareDir to Local Libraries";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6768,10 +7234,10 @@ let
 
   FileSlurp = buildPerlPackage {
     pname = "File-Slurp";
-    version = "9999.27";
+    version = "9999.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.27.tar.gz;
-      sha256 = "1x233kj1qifvii7j8d4wzarwhj5z11vnpxsqvdm98dsccr7qi79s";
+      url = mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.28.tar.gz;
+      sha256 = "1vkwh880lbyr2qcrfka7yb3z4yz9id4va52gfjgdnyfb1c0wx1q5";
     };
     meta = {
       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
@@ -6885,7 +7351,7 @@ let
       sha256 = "b79dc2244b2d97b6f27167fc3b7799ef61a179040f3abd76ce1e0a3b0bc4e078";
     };
     meta = {
-      homepage = http://perl.wdlabs.com/File-Which;
+      homepage = "https://metacpan.org/release/File-Which";
       description = "Perl implementation of the which utility as an API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6933,6 +7399,19 @@ let
     buildInputs = [ TestPod ];
   };
 
+  FindLib = buildPerlPackage {
+    pname = "Find-Lib";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
+      sha256 = "0lg88v0sqfpq4d3jwvk6c9blqnpxbz8f4s22zr3b1qb160g94wqx";
+    };
+    meta = with stdenv.lib; {
+      description = "Helper to smartly find libs to use in the filesystem tree";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   FontAFM = buildPerlPackage {
     pname = "Font-AFM";
     version = "1.20";
@@ -6996,6 +7475,21 @@ let
     doCheck = false;
   };
 
+  Furl = buildPerlModule {
+    pname = "Furl";
+    version = "3.13";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
+      sha256 = "1wxa2v9yjzvnzp62p1jvcx8x61z5qvlvzyah853vvaywpjxwyyl8";
+    };
+    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 ];
+    };
+  };
+
   GamesSolitaireVerify = buildPerlModule {
     pname = "Games-Solitaire-Verify";
     version = "0.2202";
@@ -7110,10 +7604,10 @@ let
 
   GetoptLong = buildPerlPackage {
     pname = "Getopt-Long";
-    version = "2.50";
+    version = "2.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.50.tar.gz;
-      sha256 = "0rsb7ri8210xv09mnxykw5asbcqivd0v38x0z4jkis3k5gdim210";
+      url = mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.51.tar.gz;
+      sha256 = "0r659i6rkz8zkfgdccbn29zmd4bk9lcdc4y20ng6w2glqaa3pd10";
     };
   };
 
@@ -7175,10 +7669,10 @@ let
 
   GitRepository = buildPerlPackage {
     pname = "Git-Repository";
-    version = "1.323";
+    version = "1.324";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.323.tar.gz;
-      sha256 = "966575fcecc9f56ab8739ea451b3825e278bc9179d785a20a9ae52473f33683e";
+      url = mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.324.tar.gz;
+      sha256 = "814dfad104a9546349f9e0fd492c86137de827ebc284017a91a5267c120ad4f6";
     };
     buildInputs = [ TestRequiresGit ];
     propagatedBuildInputs = [ GitVersionCompare SystemCommand namespaceclean ];
@@ -7204,10 +7698,10 @@ let
 
   Glib = buildPerlPackage {
     pname = "Glib";
-    version = "1.329";
+    version = "1.3291";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Glib-1.329.tar.gz;
-      sha256 = "0d9ak0zknz81lv3cqkzr2mxdic6g5rrbb87skqc4jj48rz4f2k3v";
+      url = mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3291.tar.gz;
+      sha256 = "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr";
     };
     buildInputs = [ pkgs.glib ];
     doCheck = false; # tests failing with glib 2.60 https://rt.cpan.org/Public/Bug/Display.html?id=128165
@@ -7260,7 +7754,7 @@ let
     meta = {
       license = stdenv.lib.licenses.lgpl2Plus;
     };
-    propagatedBuildInputs = [ Gtk2 Pango ];
+    propagatedBuildInputs = [ Gtk2 ];
   };
 
   Gnome2VFS = buildPerlPackage {
@@ -7285,7 +7779,7 @@ let
       sha256 = "604a8ece88ac29f132d59b0caac27657ec31371c1606a4698a2160e88ac586e5";
     };
     buildInputs = [ pkgs.libwnck pkgs.glib pkgs.gtk2 ];
-    propagatedBuildInputs = [ Gtk2 Pango ];
+    propagatedBuildInputs = [ Gtk2 ];
     meta = {
       description = "Perl interface to the Window Navigator Construction Kit";
       license = stdenv.lib.licenses.lgpl21Plus;
@@ -7300,6 +7794,7 @@ let
       sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b";
     };
     buildInputs = [ pkgs.gnupg1orig ];
+    doCheck = !stdenv.isAarch64;
   };
 
   GnuPGInterface = buildPerlPackage {
@@ -7339,7 +7834,7 @@ let
       url = mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz;
       sha256 = "0c588c507eed5e62d12ed1cc1e491c6ff3a1f59c4fb3d435e14214b37ab39251";
     };
-    propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 Pango ];
+    propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 ];
     meta = {
       description = "Perl interface to the GooCanvas";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7451,18 +7946,21 @@ let
 
   Gtk2 = buildPerlPackage {
     pname = "Gtk2";
-    version = "1.24992";
+    version = "1.24993";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24992.tar.gz;
-      sha256 = "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2";
+      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz;
+      sha256 = "0ry9jfvfgdwzalxcvwsgr7plhk3agx7p40l0fqdf3vrf7ds47i29";
     };
-    buildInputs = [ pkgs.gtk2 Cairo ExtUtilsDepends ExtUtilsPkgConfig Glib Pango ];
-    doCheck = !stdenv.isDarwin;
+    buildInputs = [ pkgs.gtk2 ];
+    # https://rt.cpan.org/Public/Bug/Display.html?id=130742
+    # doCheck = !stdenv.isDarwin;
+    doCheck = false;
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
+    propagatedBuildInputs = [ Pango ];
   };
 
   Gtk2GladeXML = buildPerlPackage {
@@ -7472,7 +7970,7 @@ let
       url = mirror://cpan/authors/id/T/TS/TSCH/Gtk2-GladeXML-1.007.tar.gz;
       sha256 = "50240a2bddbda807c8f8070de941823b7bf3d288a13be6d0d6563320b42c445a";
     };
-    propagatedBuildInputs = [ pkgs.gnome2.libglade pkgs.gtk2 Gtk2 Pango ];
+    propagatedBuildInputs = [ pkgs.gnome2.libglade pkgs.gtk2 Gtk2 ];
     meta = {
       description = "Create user interfaces directly from Glade XML files";
       license = stdenv.lib.licenses.lgpl2Plus;
@@ -7486,7 +7984,7 @@ let
       url = mirror://cpan/authors/id/B/BO/BORUP/Gtk2-TrayIcon-0.06.tar.gz;
       sha256 = "cbb7632b75d7f41554dfe8ee9063dbfd1d8522291077c65d0d82e9ceb5e94ae2";
     };
-    propagatedBuildInputs = [ pkgs.gtk2 Gtk2 Pango ];
+    propagatedBuildInputs = [ pkgs.gtk2 Gtk2 ];
     meta = {
       license = stdenv.lib.licenses.gpl2;
     };
@@ -7517,7 +8015,7 @@ let
       sha256 = "087186c3693acf196451cf59cc8b7f5cf9a7b05abe20d32dcbcba0822953fb80";
     };
     buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
-    propagatedBuildInputs = [ Gtk2 Pango ];
+    propagatedBuildInputs = [ Gtk2 ];
     # Tests fail due to no display server:
     #   Gtk-WARNING **: cannot open display:  at /nix/store/HASH-perl-Gtk2-1.2498/lib/perl5/site_perl/5.22.2/x86_64-linux-thread-multi/Gtk2.pm line 126.
     #   t/animview.t ...........
@@ -7535,7 +8033,7 @@ let
       url = mirror://cpan/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz;
       sha256 = "ae8dfb0f6844ddaa2ce7b5b44553419490c8e83c24fd35c431406a58f6be0f4f";
     };
-    propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 Pango ];
+    propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 ];
     meta = {
       description = "Use single instance applications";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7544,10 +8042,10 @@ let
 
   Gtk3 = buildPerlPackage {
     pname = "Gtk3";
-    version = "0.035";
+    version = "0.036";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk3-0.035.tar.gz;
-      sha256 = "1zhr4ixjb93rjnxsbrjc3fg86qkx1fj4w21yg5q4swjvm6fxdfcg";
+      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk3-0.036.tar.gz;
+      sha256 = "1rxzhahrncv58z0n93bzlagxd8swqxiafq4qn4zv9i9jbfql8mwq";
     };
     propagatedBuildInputs = [ pkgs.gtk3 CairoGObject GlibObjectIntrospection ];
     meta = {
@@ -7595,46 +8093,7 @@ let
     buildInputs = [ TestSimple13 ];
   };
 
-  ham = buildPerlPackage {
-    pname = "ham-unstable";
-    version = "2019-01-22";
-
-    src = fetchFromGitHub {
-      owner = "kernkonzept";
-      repo = "ham";
-      rev = "37c2e4e8b8bd779ba0f8c48a3c6ba34bad860b92";
-      sha256 = "0h5r5256niskypl4g1j2573wqi0nn0mai5p04zsa06xrgyjqcy2j";
-    };
-
-    outputs = [ "out" ];
-
-    buildInputs = [ pkgs.makeWrapper ];
-    propagatedBuildInputs = [ pkgs.openssh GitRepository URI XMLMini ];
-
-    preConfigure = ''
-      patchShebangs .
-      touch Makefile.PL
-      rm -f Makefile
-    '';
-
-    installPhase = ''
-      mkdir -p $out/lib $out/bin
-      cp -r . $out/lib/ham
-
-      makeWrapper $out/lib/ham/ham $out/bin/ham --argv0 ham \
-        --prefix PATH : ${pkgs.openssh}/bin
-    '';
-
-    doCheck = false;
-
-    meta = {
-      description = "A tool to manage big projects consisting of multiple loosely-coupled git repositories";
-      homepage = https://github.com/kernkonzept/ham;
-      license = "unknown"; # should be gpl2, but not quite sure
-      maintainers = with stdenv.lib.maintainers; [ aw ];
-      platforms = stdenv.lib.platforms.unix;
-    };
-  };
+  ham = callPackage ../development/perl-modules/ham { };
 
   HashFlatten = buildPerlPackage {
     pname = "Hash-Flatten";
@@ -7737,10 +8196,10 @@ let
 
   HTMLClean = buildPerlPackage {
     pname = "HTML-Clean";
-    version = "0.8";
+    version = "1.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LI/LINDNER/HTML-Clean-0.8.tar.gz;
-      sha256 = "1h0dzxx034hpshxlpsxhxh051d1p79cjgp4q5kg68kgx7aian85c";
+      url = mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz;
+      sha256 = "01l7g2hr0kjbh1wk7cv03ijmpjlbm1vm661m99mkrz2ilyyllzd6";
     };
     meta = {
       description = "Cleans up HTML code for web browsers, not humans";
@@ -7766,6 +8225,7 @@ let
       sha256 = "b1cbac4157ad8dedac6914e1628855e05b8dc885a4007d2e4df8177c6a9b70fb";
     };
     buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       homepage = https://github.com/tokuhirom/HTML-Escape;
       description = "Extremely fast HTML escaping";
@@ -7787,10 +8247,10 @@ let
 
   HTMLForm = buildPerlPackage {
     pname = "HTML-Form";
-    version = "6.04";
+    version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTML-Form-6.04.tar.gz;
-      sha256 = "100090bdsr5kapv8h0wxzwlzfbfqn57rq9gzrvg9i6hvnsl5gmcw";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTML-Form-6.05.tar.gz;
+      sha256 = "14i4ldyvdvhdhvfhh9kiq6z853q2f84biq8vcpv1k5w2r80wdiin";
     };
     propagatedBuildInputs = [ HTMLParser HTTPMessage ];
     meta = {
@@ -7986,13 +8446,13 @@ let
 
   HTMLScrubber = buildPerlPackage {
     pname = "HTML-Scrubber";
-    version = "0.17";
+    version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.17.tar.gz;
-      sha256 = "06p7w4zd42b2yh541mlzyqj40lwmvvn3fyqi8big4mf34la7m2jm";
+      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz;
+      sha256 = "1c9b4r9x96a8fbz2zy52fxgq7djp9dq38hiyqra92psnz1w5aa5f";
     };
     propagatedBuildInputs = [ HTMLParser ];
-    buildInputs = [ PodCoverageTrustPod TestCPANMeta TestDifferences TestEOL TestKwalitee TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage ];
+    buildInputs = [ TestDifferences TestMemoryCycle ];
   };
 
   HTMLTableExtract = buildPerlPackage {
@@ -8119,12 +8579,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 = {
@@ -8151,23 +8627,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 ];
@@ -8198,6 +8675,7 @@ let
       url = mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz;
       sha256 = "1vs6sw431nnlnbdy6jii9vqlz30ndlfwdpdgm8a1m6fqngzhzq59";
     };
+    meta.broken = stdenv.isi686; # loadable library and perl binaries are mismatched (got handshake key 0x7d40080, needed 0x7dc0080)
   };
 
   HTTPHeadersFast = buildPerlModule {
@@ -8421,10 +8899,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 = {
@@ -8435,10 +8913,10 @@ let
 
   ImageSane = buildPerlPackage {
     pname = "Image-Sane";
-    version = "0.14";
+    version = "5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-0.14.tar.gz;
-      sha256 = "a4b027c9b7650291f1acb0eb93861a7fc45aef4e08f6726843f174fa113c8ba5";
+      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 ];
@@ -8537,7 +9015,7 @@ let
       sha256 = "0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl";
     };
     meta = {
-      homepage = https://github.com/ingydotnet/io-all-pm/tree;
+      homepage = "https://github.com/ingydotnet/io-all-pm";
       description = "IO::All of it to Graham and Damian!";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8557,10 +9035,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;
@@ -8571,10 +9049,10 @@ let
 
   IOCompress = buildPerlPackage {
     pname = "IO-Compress";
-    version = "2.086";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.086.tar.gz;
-      sha256 = "110a229aa02b701f9820f5e0c2e9c30db342ea241b2d01c03703ea4922b1ab53";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.090.tar.gz;
+      sha256 = "4c12e54a83f993372d43dd67389a1ca92b5c33c108c7f86768a4797cd994e987";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -8653,13 +9131,13 @@ let
   };
 
   IOPager = buildPerlPackage {
-    version = "0.40";
+    version = "1.01";
     pname = "IO-Pager";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-0.40.tgz;
-      sha256 = "1vzdypsr7vkj8nnda9ccrksci6pqj5awwmi89l7x3mbpq36gad87";
+      url = mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-1.01.tgz;
+      sha256 = "19fslzb11wn8s9hwnwpnwymnw040nmychza2dpbbcqpgnk4k5zpa";
     };
-    propagatedBuildInputs = [ pkgs.more FileWhich ]; # `more` used in tests
+    propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
   };
 
   IOPrompt = buildPerlModule {
@@ -8875,13 +9353,14 @@ let
     };
   };
 
+  # TODO: use CPAN version
   ImageExifTool = buildPerlPackage {
     pname = "Image-ExifTool";
-    version = "11.50";
+    version = "11.70";
 
     src = fetchurl {
-      url = "https://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-11.50.tar.gz";
-      sha256 = "0d8v48y94z8maxkmw1rv7v9m0jg2dc8xbp581njb6yhr7abwqdv3";
+      url = "https://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-11.70.tar.gz";
+      sha256 = "1z0s0zvga24m9dzp1lnrsvwv9qmvn21ifd9in520sd54ld774ifp";
     };
 
     nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
@@ -9000,6 +9479,7 @@ let
       url = mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz;
       sha256 = "1vlyhckpjbrg2v4dy9szsxxl0q44n0y1xl763mg2y2ym9g5144hm";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "XS based JavaScript minifier";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9104,6 +9584,23 @@ let
     };
   };
 
+  JSONValidator = buildPerlPackage {
+    pname = "JSON-Validator";
+    version = "3.16";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.16.tar.gz;
+      sha256 = "d20775cf5fb1a61a6054a5bd3ce45b5371ac8ed483efca3cb8dc8a09937efe4e";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ];
+    meta = {
+      homepage = "https://github.com/mojolicious/json-validator";
+      description = "Validate data against a JSON schema";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
  JSONWebToken = buildPerlModule {
     pname = "JSON-WebToken";
     version = "0.10";
@@ -9160,6 +9657,14 @@ let
       url = mirror://cpan/authors/id/I/IS/ISAAC/libapreq2-2.13.tar.gz;
       sha256 = "5731e6833b32d88e4a5c690e45ddf20fcf969ce3da666c5627d775e92da0cf6e";
     };
+    patches = [
+      (fetchpatch {
+        name = "CVE-2019-12412.patch";
+        url = "https://svn.apache.org/viewvc/httpd/apreq/trunk/library/parser_multipart.c?r1=1866760&r2=1866759&pathrev=1866760&view=patch";
+        sha256 = "08zaw5pb2i4w1y8crhxmlf0d8gzpvi9z49x4nwlkg4j87x7gjvaa";
+        stripLen = 2;
+      })
+    ];
     outputs = [ "out" ];
     buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
     propagatedBuildInputs = [ (pkgs.apacheHttpdPackages.mod_perl.override { inherit perl; }) ];
@@ -9485,6 +9990,7 @@ let
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ SubExporter ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "Linux specific special filehandles";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9572,10 +10078,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 ];
@@ -9596,16 +10102,16 @@ let
 
   LocaleCodes = buildPerlPackage {
     pname = "Locale-Codes";
-    version = "3.61";
+    version = "3.62";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.61.tar.gz;
-      sha256 = "9432c02674dd789da45fe5b778599b4c648f0a3433bf71cda203fc8a0cec501d";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.62.tar.gz;
+      sha256 = "11a6d343e9c321d8ee9eee4479954a4e9c1ff2145187e74fd64952092f9dfab7";
     };
     meta = {
       description = "A distribution of modules to handle locale codes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ FileFindRule TestInter TestPod TestPodCoverage ];
+    buildInputs = [ TestInter ];
   };
 
   LocaleGettext = buildPerlPackage {
@@ -9833,10 +10339,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 = {
@@ -9846,6 +10352,21 @@ let
     buildInputs = [ IPCRun3 TestFatal TestNeeds ];
   };
 
+  LogDispatchFileRotate = buildPerlPackage {
+    pname = "Log-Dispatch-FileRotate";
+    version = "1.36";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
+      sha256 = "0vlmi17p7fky3x58rs7r5mdxi6l5jla8zhlb55kvssxc1w5v2b27";
+    };
+    propagatedBuildInputs = [ DateManip LogDispatch ];
+    meta = {
+      description = "Log to Files that Archive/Rotate Themselves";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+    buildInputs = [ PathTiny TestWarn ];
+  };
+
   LogHandler = buildPerlModule {
     pname = "Log-Handler";
     version = "0.88";
@@ -9898,10 +10419,10 @@ let
 
   MCE = buildPerlPackage {
      pname = "MCE";
-     version = "1.843";
+     version = "1.862";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.843.tar.gz;
-       sha256 = "0x1s4xxxc9jj46h6i8mr8sczz0qavhal5639img1n8b96nsj6cf7";
+       url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.862.tar.gz;
+       sha256 = "1drk3vmpf1cjn85kddnrm9x8b2na6rlcwffiq9gv6355ijb89x0j";
      };
      meta = {
        description = "Many-Core Engine for Perl providing parallel processing capabilities";
@@ -9956,6 +10477,24 @@ let
     };
   };
 
+  LogJournald = buildPerlModule rec {
+    pname = "Log-Journald";
+    version = "0.30";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-${version}.tar.gz";
+      sha256 = "55992cf9a1e1fb833f428300525bfa7cf7ed46b83ec414f82a091789b37d08a3";
+    };
+    buildInputs = [ pkgs.pkgconfig pkgs.systemd ];
+    postPatch = ''
+      substituteInPlace Build.PL \
+        --replace "libsystemd-journal" "libsystemd"
+    '';
+    meta = {
+      description = "Send messages to a systemd journal";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LogLogLite = buildPerlPackage {
     pname = "Log-LogLite";
     version = "0.82";
@@ -9972,10 +10511,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)
@@ -10064,6 +10603,22 @@ let
      };
   };
 
+  LWPUserAgentDNSHosts = buildPerlModule {
+    pname = "LWP-UserAgent-DNS-Hosts";
+    version = "0.13";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.13.tar.gz;
+      sha256 = "0piwcsb0m1xpzxbakhr9zq45a9hq3rx7s55lrjg66nd4x5n7xs5y";
+    };
+    propagatedBuildInputs = [ LWP ScopeGuard ];
+    buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
+    };
+  };
+
   LWPUserAgentDetermined = buildPerlPackage {
     pname = "LWP-UserAgent-Determined";
     version = "1.07";
@@ -10144,11 +10699,11 @@ let
   };
 
   MailBox = buildPerlPackage {
-    version = "3.007";
+    version = "3.008";
     pname = "Mail-Box";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.007.tar.gz;
-      sha256 = "1rqn9d6sjinbnl8a9ia4rqfmp899ad89y9h9hpzvmr8jxni7i19s";
+      url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.008.tar.gz;
+      sha256 = "15yjq3ap1ch0k0pqa1zag50rqrjfqzf7cka1w41macxibna506mm";
     };
 
     doCheck = false;
@@ -10189,10 +10744,10 @@ let
 
   MailDKIM = buildPerlPackage rec {
     pname = "Mail-DKIM";
-    version = "0.56";
+    version = "0.58";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-${version}.tar.gz";
-      sha256 = "1cvbkcbz319yb61glvsymm1zddl2n2pphcw9rjpkzxdcilp0biz0";
+      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
@@ -10353,10 +10908,10 @@ let
 
   MathBigIntGMP = buildPerlPackage {
     pname = "Math-BigInt-GMP";
-    version = "1.6006";
+    version = "1.6007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz;
-      sha256 = "10dg3h5jgc30pb2800x8brz2ijicrpash0rwjahp82xnvysi1hhf";
+      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6007.tar.gz;
+      sha256 = "07y0akadx2nm1bsp17v12785s3ni1l5qyqkk4q3pxcyc41nmwwjx";
     };
     buildInputs = [ pkgs.gmp ];
     doCheck = false;
@@ -10448,6 +11003,7 @@ let
     meta = {
       description = "Manipulate 128 bits integers in Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      broken = stdenv.is32bit; # compiler doesn't support a 128-bit integer type
     };
   };
 
@@ -10466,13 +11022,13 @@ let
 
   MathPlanePath = buildPerlPackage {
     pname = "Math-PlanePath";
-    version = "126";
+    version = "127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-126.tar.gz;
-      sha256 = "014gr79gg992paas6v1glciyycqp2hg7pg4y03kgfbxz1slc6zhq";
+      url = mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-127.tar.gz;
+      sha256 = "1dzywpydigwyr38vz9f4yn7xkkk21vi6lyzjlyqv8iny0y0c7w20";
     };
     propagatedBuildInputs = [ MathLibm constant-defer ];
-    buildInputs = [ DataFloat MathBigIntLite ];
+    buildInputs = [ DataFloat MathBigIntLite NumberFraction ];
   };
 
   MathRandomISAAC = buildPerlPackage {
@@ -10677,6 +11233,7 @@ let
     };
   };
 
+  # TODO: use CPAN version
   MHonArc = buildPerlPackage rec {
     pname = "MHonArc";
     version = "2.6.19";
@@ -10690,7 +11247,7 @@ let
 
     outputs = [ "out" "dev" ]; # no "devdoc"
 
-    installTargets = "install";
+    installTargets = [ "install" ];
 
     meta = with stdenv.lib; {
       homepage = "https://www.mhonarc.org/";
@@ -10724,12 +11281,28 @@ let
     buildInputs = [ ProcWaitStat ];
   };
 
+  MIMEEncWords = buildPerlPackage {
+    pname = "MIME-EncWords";
+    version = "1.014.3";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-EncWords-1.014.3.tar.gz";
+      sha256 = "e9afb548611d4e7e6c50b7f06bbd2b1bb2808e37a810deefb537c67af5485238";
+    };
+    propagatedBuildInputs = [ MIMECharset ];
+    meta = {
+      homepage = "https://metacpan.org/pod/MIME::EncWords";
+      description = "Deal with RFC 2047 encoded words (improved)";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   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 = {
@@ -10939,10 +11512,10 @@ let
 
   ModuleCPANTSAnalyse = buildPerlPackage {
      pname = "Module-CPANTS-Analyse";
-     version = "1.00";
+     version = "1.01";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.00.tar.gz;
-       sha256 = "0r77g2h0d3p81scf294x5qkvi76hzwvbfji0m86abidjav5jk6a2";
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.01.tar.gz;
+       sha256 = "0jf83v9ylw7s9i2zv0l1v11gafp3k4389asc52r6s6q5s2j0p6dx";
      };
      propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff CPANDistnameInfo DataBinary FileFindObject PerlPrereqScannerNotQuiteLite SoftwareLicense ];
      buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings ];
@@ -11234,10 +11807,10 @@ let
 
   mod_perl2 = buildPerlPackage {
     pname = "mod_perl";
-    version = "2.0.10";
+    version = "2.0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.10.tar.gz;
-      sha256 = "0r1bhzwl5gr0202r6448943hjxsickzn55kdmb7dzad39vnq7kyi";
+      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.11.tar.gz;
+      sha256 = "0x3gq4nz96y202cymgrf56n8spm7bffkd1p74dh9q3zrrlc9wana";
     };
     makeMakerFlags = "MP_AP_DESTDIR=$out";
     buildInputs = [ pkgs.apacheHttpd ];
@@ -11250,10 +11823,10 @@ let
 
   Mojolicious = buildPerlPackage {
     pname = "Mojolicious";
-    version = "8.22";
+    version = "8.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.22.tar.gz;
-      sha256 = "0m28yb1pbnbgdq0z7ykb44j93c1vwjzv7msm6vs7msysyx84mqw6";
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.26.tar.gz;
+      sha256 = "17x3phc4ch85398kdybsz6cbraszby9dvlvcj6a6xscb20x35k4i";
     };
     meta = {
       homepage = https://mojolicious.org;
@@ -11263,12 +11836,44 @@ let
     };
   };
 
+  MojoliciousPluginMail = buildPerlModule {
+    pname = "Mojolicious-Plugin-Mail";
+    version = "1.5";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-Mail-1.5.tar.gz";
+      sha256 = "56f0d341ebc3a7acf3919f5add43e98216ea1285aa0d87e7fb00c02bb0eff146";
+    };
+    propagatedBuildInputs = [ MIMEEncWords MIMELite Mojolicious ];
+    meta = {
+      homepage = "https://github.com/sharifulin/Mojolicious-Plugin-Mail";
+      description = "Mojolicious Plugin for send mail";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  MojoliciousPluginOpenAPI = buildPerlPackage {
+    pname = "Mojolicious-Plugin-OpenAPI";
+    version = "2.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.18.tar.gz;
+      sha256 = "340afe815e6195bc0ed5abcf5bcd0fdedf0be62656cede1768cfd99b62633d23";
+    };
+    propagatedBuildInputs = [ JSONValidator ];
+    meta = {
+      homepage = "https://github.com/jhthorsen/mojolicious-plugin-openapi";
+      description = "OpenAPI / Swagger plugin for Mojolicious";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   MojoliciousPluginStatus = buildPerlPackage {
     pname = "Mojolicious-Plugin-Status";
-    version = "1.0";
+    version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.0.tar.gz;
-      sha256 = "14ypg679dk9yvgq67mp7lzs131cxhbgcmrpx5f4ddqcrs1bzq5rb";
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.01.tar.gz;
+      sha256 = "08hvwg395sibjjkwc9fg31ngpmzf7z0467p6b0il355xqbwjpdf6";
     };
     propagatedBuildInputs = [ BSDResource IPCShareLite Mojolicious Sereal ];
     meta = {
@@ -11279,6 +11884,55 @@ let
     };
   };
 
+  MojoRedis = buildPerlPackage {
+    pname = "Mojo-Redis";
+    version = "3.24";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-Redis-3.24.tar.gz";
+      sha256 = "ca9ca1026bf7d658f23860d54cbc79605e4e5a8b1cc8e7b053b36a218cef566b";
+    };
+    propagatedBuildInputs = [ Mojolicious ProtocolRedisFaster ];
+    meta = {
+      homepage = "https://github.com/jhthorsen/mojo-redis";
+      description = "Redis driver based on Mojo::IOLoop";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  MojoSQLite = buildPerlModule {
+    pname = "Mojo-SQLite";
+    version = "3.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.002.tar.gz;
+      sha256 = "d7c6588599cfe30b24b3953927f23cfe0f9f5d3e77eeab1562249b48c205b699";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ];
+    meta = {
+      homepage = "https://github.com/Grinnz/Mojo-SQLite";
+      description = "A tiny Mojolicious wrapper for SQLite";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  Mojomysql = buildPerlPackage rec {
+    pname = "Mojo-mysql";
+    version = "1.17";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-mysql-1.17.tar.gz";
+      sha256 = "93cd964760918a43124c3dc65d513372b6d1d00993427894e2f11a1f96662554";
+    };
+    propagatedBuildInputs = [ DBDmysql Mojolicious SQLAbstract ];
+    meta = {
+      homepage = "https://github.com/jhthorsen/mojo-mysql";
+      description = "Mojolicious and Async MySQL/MariaDB";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   MojoIOLoopForkCall = buildPerlModule {
     pname = "Mojo-IOLoop-ForkCall";
     version = "0.20";
@@ -11293,6 +11947,23 @@ let
     };
   };
 
+  MojoJWT = buildPerlModule {
+    pname = "Mojo-JWT";
+    version = "0.08";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-JWT-0.08.tar.gz";
+      sha256 = "c910229e1182266b6666a2d65deea381a04e48d3aa788c42461b3184006934de";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ Mojolicious ];
+    meta = {
+      homepage = "https://github.com/jberger/Mojo-JWT";
+      description = "JSON Web Token the Mojo way";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   MonitoringPlugin = buildPerlPackage {
     pname = "Monitoring-Plugin";
     version = "0.40";
@@ -11325,13 +11996,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 ];
@@ -11410,6 +12081,7 @@ let
      };
      propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
      buildInputs = [ Mo MooXCmd MooXLocaleTextDomainOO Moose TestTrap ];
+     preCheck = "rm t/16-namespace_clean.t"; # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942275
      meta = {
        description = "Explicit Options eXtension for Object Class";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -11576,10 +12248,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 ];
@@ -11616,6 +12288,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";
@@ -11819,7 +12506,7 @@ let
     buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
     meta = {
-      homepage = https://github.com/karenetheridge/moosex-lazyrequire;
+      homepage = "https://github.com/moose/MooseX-LazyRequire";
       description = "Required attributes which fail only when trying to use them";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11920,7 +12607,7 @@ let
     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/sartak/MooseX-Role-Parameterized/tree;
+      homepage = "https://github.com/moose/MooseX-Role-Parameterized";
       description = "Roles with composition parameters";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12203,10 +12890,10 @@ let
 
   Mouse = buildPerlModule {
     pname = "Mouse";
-    version = "2.5.6";
+    version = "2.5.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.6.tar.gz;
-      sha256 = "1j3048ip691j91rdig6wrlg6i4jdzhszxmz5pi2g7n355rl2w00l";
+      url = mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.9.tar.gz;
+      sha256 = "0wqcnm6xl7fv9r8izc9c43kr83qsr60i7y53hkickcqhxx38vmxr";
     };
     buildInputs = [ DevelPPPort ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny ];
     perlPreHook = "export LD=$CC";
@@ -12242,21 +12929,7 @@ let
     };
   };
 
-  MozillaLdap = buildPerlPackage rec {
-    pname = "Mozilla-Ldap";
-    version = "1.5.3";
-    USE_OPENLDAP = 1;
-    LDAPSDKDIR = pkgs.openldap.dev;
-    LDAPSDKLIBDIR = "${pkgs.openldap.out}/lib";
-    src = fetchurl {
-      url = "https://ftp.mozilla.org/pub/directory/perldap/releases/${version}/src/perl-mozldap-${version}.tar.gz";
-      sha256 = "0s0albdw0zvg3w37s7is7gddr4mqwicjxxsy400n1p96l7ipnw4x";
-    };
-    meta = {
-      description = "Mozilla's ldap client library";
-      license = with stdenv.lib.licenses; [ mpl20 lgpl21Plus gpl2Plus ];
-    };
-  };
+  MozillaLdap = callPackage ../development/perl-modules/Mozilla-LDAP { };
 
   MROCompat = buildPerlPackage {
     pname = "MRO-Compat";
@@ -12278,6 +12951,7 @@ let
       url = mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.03.tar.gz;
       sha256 = "0fjph2q3yp0aa87gckv3391s47m13wbyylj7jb7vqx7hv0pzj0jh";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     # Build.PL in this package uses which to find pkg-config -- make it use path instead
     patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Build.PL'';
     doCheck = false; # The main test performs network access
@@ -12310,14 +12984,30 @@ 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.28";
+    version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.28.tar.gz;
-      sha256 = "cd410a1681add521a28805da2e138d44f0d542407b50999252a147e553c26c39";
+      url = mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz;
+      sha256 = "45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804";
     };
-    buildInputs = [ TestRequires ];
+    buildInputs = [ TestNeeds ];
     propagatedBuildInputs = [ SubIdentify namespaceclean ];
     meta = {
       homepage = https://github.com/moose/namespace-autoclean;
@@ -12382,25 +13072,17 @@ let
 
   NetAmazonEC2 = buildPerlPackage {
     pname = "Net-Amazon-EC2";
-    version = "0.14-stanaka-bc66577e13";
-    src = fetchFromGitHub {
-      owner = "stanaka";
-      repo = "net-amazon-ec2";
-      rev = "bc66577e1312e828e252937d95f9f5f637af6a0b";
-      sha256 = "0x7kac27vp60a0qmvf6zpr2ds7245hncpn2y1qbacmdp092x212k";
+    version = "0.36";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz;
+      sha256 = "1wbjgmxjzr8mjpwj3mglan9hyh327cz27sfsir0w4rphwy93ca2f";
+    };
+    propagatedBuildInputs = [ LWPProtocolHttps Moose ParamsValidate XMLSimple ];
+    buildInputs = [ TestException ];
+    meta = {
+      description = "Perl interface to the Amazon Elastic Compute Cloud (EC2) environment.";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ pkgs.unzip ];
-    patches =
-      [ # In DescribeInstance requests, say "InstanceId.1" instead of
-        # "InstanceId", as required by the Amazon spec.  EC2 tolerates
-        # "InstanceId", but Nova doesn't.
-        ../development/perl-modules/net-amazon-ec2-nova-compat.patch
-        # Support DescribeInstancesV6.
-        ../development/perl-modules/net-amazon-ec2-ipv6.patch
-      ];
-    propagatedBuildInputs =
-      [ DigestHMAC LWP LWPProtocolHttps Moose URI ParamsValidate XMLSimple ];
-    doCheck = false; # wants to create actual EC2 instances (for $$$)
   };
 
   NetAmazonMechanicalTurk = buildPerlModule {
@@ -12524,8 +13206,8 @@ let
     pname = "Net-DNS";
     version = "1.21";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-${version}.tar.gz";
-      sha256 = "0yknrsh0wqr9s43c0wf3dyzrsi2r7k0v75hay74gqkq850xy3vyx";
+      url = mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz;
+      sha256 = "ddefe13b28084ffcc8f10a96b3c13c59449dbf6fc371c006d129630ea0ce767a";
     };
     propagatedBuildInputs = [ DigestHMAC ];
     makeMakerFlags = "--noonline-tests";
@@ -12601,6 +13283,7 @@ let
       sha256 = "1aiy7adirk3wpwlczd8sldi9k1dray0jrg1lbcrcw97zwcrkciam";
     };
     buildInputs = [ TestNoWarnings ];
+    perlPreHook = "export LD=$CC";
     meta = {
       description = "Internationalizing Domain Names in Applications (IDNA)";
     };
@@ -12971,6 +13654,20 @@ let
     };
   };
 
+  NumberFraction = buildPerlModule {
+    pname = "Number-Fraction";
+    version = "2.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-2.01.tar.gz;
+      sha256 = "1ysv5md4dmz95zc0gy8ivb21nhqxyv8vrc5lr2sgshsjrdqsi185";
+    };
+    propagatedBuildInputs = [ Moose ];
+    meta = {
+      description = "Perl extension to model fractions";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   NumberMisc = buildPerlModule {
      pname = "Number-Misc";
      version = "1.2";
@@ -13087,8 +13784,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 ];
 
@@ -13281,6 +13978,7 @@ let
       url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz;
       sha256 = "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
   };
 
   ParamsUtil = buildPerlPackage {
@@ -13429,10 +14127,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 = {
@@ -13561,10 +14259,10 @@ let
 
   PDFAPI2 = buildPerlPackage {
     pname = "PDF-API2";
-    version = "2.034";
+    version = "2.036";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.034.tar.gz;
-      sha256 = "8aa98818fb6e4bebd6f9096e222989dcdd5fd4c5fa2ad1c7f0149053fc68f1cc";
+      url = mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.036.tar.gz;
+      sha256 = "070444e9fef8beb6f115994a6ac89533fe8ba02d5e240a35bb07adcbcb511774";
     };
     buildInputs = [ TestException TestMemoryCycle ];
     propagatedBuildInputs = [ FontTTF ];
@@ -13589,24 +14287,7 @@ let
     };
   };
 
-  PerconaToolkit = buildPerlPackage {
-    pname = "Percona-Toolkit";
-    version = "3.0.12";
-    src = fetchFromGitHub {
-      owner = "percona";
-      repo = "percona-toolkit";
-      rev = "3.0.12";
-      sha256 = "0xk4h4dzl80kf97lbx0nznx9ajrb6kkg7k3iwca3rj6f3rqggv9y";
-    };
-    outputs = [ "out" ];
-    buildInputs = [ DBDmysql DBI IOSocketSSL TermReadKey ];
-    meta = {
-      description = ''Collection of advanced command-line tools to perform a variety of MySQL and system tasks.'';
-      homepage = http://www.percona.com/software/percona-toolkit;
-      license = with stdenv.lib.licenses; [ gpl2 ];
-      maintainers = with maintainers; [ izorkin ];
-    };
-  };
+  PerconaToolkit = callPackage ../development/perl-modules/Percona-Toolkit { };
 
   Perl5lib = buildPerlPackage {
     pname = "perl5lib";
@@ -13646,6 +14327,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";
@@ -13743,10 +14435,10 @@ let
 
   PerlTidy = buildPerlPackage {
     pname = "Perl-Tidy";
-    version = "20190601";
+    version = "20190915";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20190601.tar.gz;
-      sha256 = "8f3d704b4eff457bf5bb70f9adf570690b2252dec31f75e8cb743392f1be338f";
+      url = mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20190915.tar.gz;
+      sha256 = "c236dfacbba115cfc3f2868006c8601e021fe97c13cd2170a49bf8d404cc701b";
     };
     meta = {
       description = "Indent and reformat perl scripts";
@@ -13978,39 +14670,7 @@ let
     };
   };
 
-  Po4a = buildPerlPackage rec {
-    pname = "po4a";
-    version = "0.55";
-    src = fetchurl {
-      url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
-      sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
-    };
-    nativeBuildInputs = [ pkgs.docbook_xsl pkgs.docbook_xsl_ns ModuleBuild ];
-    propagatedBuildInputs = [ TextWrapI18N LocaleGettext TermReadKey SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
-    buildInputs = [ pkgs.gettext pkgs.libxslt pkgs.glibcLocales pkgs.docbook_xml_dtd_412 pkgs.docbook_sgml_dtd_41 pkgs.texlive.combined.scheme-basic pkgs.opensp ];
-    LC_ALL = "en_US.UTF-8";
-    SGML_CATALOG_FILES = "${pkgs.docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
-    preConfigure = ''
-      touch Makefile.PL
-      export PERL_MB_OPT="--install_base=$out --prefix=$out"
-    '';
-    buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
-    checkPhase = ''
-      export SGML_CATALOG_FILES=${pkgs.docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
-      ./Build test
-    '';
-    installPhase = ''
-      ./Build install
-      for f in $out/bin/*; do
-        substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
-      done
-    '';
-    meta = {
-      homepage = "https://po4a.org/";
-      description = "Tools for helping translation of documentation";
-      license = stdenv.lib.licenses.gpl2;
-    };
-  };
+  Po4a = callPackage ../development/perl-modules/Po4a { };
 
   POE = buildPerlPackage {
     pname = "POE";
@@ -14087,10 +14747,10 @@ let
 
   PPIxQuoteLike = buildPerlModule {
     pname = "PPIx-QuoteLike";
-    version = "0.007";
+    version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.007.tar.gz;
-      sha256 = "040ma7763isxn9axsf9s8g00hm3ld6dajwp3nhq0nn4mz8cfaa3w";
+      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.008.tar.gz;
+      sha256 = "0dzlcddvfzn7s8z1jj12ghsbzf9wm5dq84361v4vx5p6j8zhsaz4";
     };
     propagatedBuildInputs = [ PPI ];
     meta = {
@@ -14101,10 +14761,10 @@ let
 
   PPIxRegexp = buildPerlModule {
     pname = "PPIx-Regexp";
-    version = "0.065";
+    version = "0.067";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.065.tar.gz;
-      sha256 = "eb4a56858c077d9e6a859c4f29d7659ed40ea588d21cfe7193dd91143a8e843e";
+      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.067.tar.gz;
+      sha256 = "1aa8dee5bdefdfdbfedd3d829932cedc57502552572739766148c6ac6cc6c3f0";
     };
     propagatedBuildInputs = [ ListMoreUtils PPI ];
     meta = {
@@ -14130,10 +14790,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 = {
     };
@@ -14211,6 +14871,37 @@ let
     propagatedBuildInputs = [ IPCSignal ];
   };
 
+  ProtocolRedis = buildPerlPackage {
+    pname = "Protocol-Redis";
+    version = "1.0010";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0010.tar.gz";
+      sha256 = "e787236e46b1f0738a98113ea0dfbee4c695723bb37dce8d6936fd9a519e5343";
+    };
+    meta = {
+      homepage = "https://github.com/und3f/protocol-redis";
+      description = "Redis protocol parser/encoder with asynchronous capabilities";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  ProtocolRedisFaster = buildPerlPackage {
+    pname = "Protocol-Redis-Faster";
+    version = "0.003";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-0.003.tar.gz";
+      sha256 = "6b9afb3de94ec1ccd7db4f9e6a2eaba254a57790301c17bcb13bb3edfe1850b7";
+    };
+    propagatedBuildInputs = [ ProtocolRedis ];
+    meta = {
+      homepage = "https://github.com/Grinnz/Protocol-Redis-Faster";
+      description = "Optimized pure-perl Redis protocol parser/encoder";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   ProtocolWebSocket = buildPerlModule {
     pname = "Protocol-WebSocket";
     version = "0.26";
@@ -14223,11 +14914,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 ];
   };
@@ -14292,10 +14983,10 @@ let
 
   PerlPrereqScannerNotQuiteLite = buildPerlPackage {
     pname = "Perl-PrereqScanner-NotQuiteLite";
-    version = "0.9906";
+    version = "0.9908";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9906.tar.gz;
-      sha256 = "19b59zf69ayabkacifz36b5z3kfh4kbv5kn1a1habk46f6v7g9pj";
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9908.tar.gz;
+      sha256 = "1akcmk74j8j01594ax4fq38bf6f03mbma96blzhcyzndfvqbxksf";
     };
     propagatedBuildInputs = [ DataDump ModuleCPANfile ModuleFind RegexpTrie ];
     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings TestUseAllModules ];
@@ -14525,10 +15216,10 @@ let
 
   PodMarkdown = buildPerlPackage {
     pname = "Pod-Markdown";
-    version = "3.101";
+    version = "3.200";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.101.tar.gz;
-      sha256 = "0h7hx4k1c3k00cfnlf226bkxnxaz01705m10vxm9cxh52xn6pzz8";
+      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.200.tar.gz;
+      sha256 = "16dffpqwrdhi2s90ff2sgncrpnzqp81ydhl5pd78m725j60p2286";
     };
     buildInputs = [ TestDifferences ];
     meta = {
@@ -14536,6 +15227,7 @@ let
       description = "Convert POD to Markdown";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ URI ];
   };
 
   PodMarkdownGithub = buildPerlPackage {
@@ -14555,10 +15247,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";
     };
   };
 
@@ -14829,7 +15521,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 ];
     };
@@ -14898,10 +15590,10 @@ let
 
   RoleTiny = buildPerlPackage {
     pname = "Role-Tiny";
-    version = "2.000007";
+    version = "2.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Role-Tiny-2.000007.tar.gz;
-      sha256 = "33af02d79d5e9ae76172fd1b2a80230bd8cfde146e1b9327a094a6dfdec6fb56";
+      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";
@@ -14909,6 +15601,20 @@ let
     };
   };
 
+  RPCEPCService = buildPerlModule {
+    pname = "RPC-EPC-Service";
+    version = "0.0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KI/KIWANAMI/RPC-EPC-Service-v0.0.11.tar.gz";
+      sha256 = "975f4134365258fb47fa921919053513adb9101f2bd420fcefe345f209128be3";
+    };
+    propagatedBuildInputs = [ AnyEvent DataSExpression ];
+    meta = {
+      description = "An Asynchronous Remote Procedure Stack";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   RSSParserLite = buildPerlPackage {
     pname = "RSS-Parser-Lite";
     version = "0.12";
@@ -14950,10 +15656,10 @@ let
 
   ScalarListUtils = buildPerlPackage {
     pname = "Scalar-List-Utils";
-    version = "1.50";
+    version = "1.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.50.tar.gz;
-      sha256 = "06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675";
+      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";
@@ -15006,11 +15712,29 @@ let
     };
   };
 
-  SearchXapian = buildPerlPackage {
+  SDL = buildPerlModule {
+    pname = "SDL";
+    version = "2.548";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FR/FROGGS/SDL-2.548.tar.gz";
+      sha256 = "252a192bfa9c2070a4883707d139c3a45d9c4518ccd66a1e699b5b7959bd4fb5";
+    };
+    perlPreHook = "export LD=$CC";
+    preCheck = "rm t/core_audiospec.t";
+    buildInputs = [ AlienSDL CaptureTiny TestDeep TestDifferences TestException TestMost TestWarn ]
+      ++ (with pkgs; [ SDL SDL_gfx SDL_mixer SDL_image SDL_ttf SDL_Pango SDL_net ] );
+    propagatedBuildInputs = [ FileShareDir TieSimple ];
+    meta = {
+      description = "SDL bindings to Perl";
+      license = stdenv.lib.licenses.lgpl21Plus;
+    };
+  };
+
+  SearchXapian = buildPerlPackage rec {
     pname = "Search-Xapian";
     version = "1.2.25.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-1.2.25.2.tar.gz;
+      url = "mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-${version}.tar.gz";
       sha256 = "0hpa8gi38j0ibq8af6dy69lm1bl5jnq76nsa69dbrzbr88l5m594";
     };
     patches = [
@@ -15093,10 +15817,10 @@ let
 
   ServerStarter = buildPerlModule {
     pname = "Server-Starter";
-    version = "0.34";
+    version = "0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.34.tar.gz;
-      sha256 = "96a20d4a1f341655bd1b26df5795d57c5d7498d9bcf8ca9d0d6e2ed743608f78";
+      url = mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz;
+      sha256 = "676dc0d6cff4648538332c63c32fb88ad09ed868213ea9e62e3f19fad41b9c40";
     };
     buildInputs = [ TestRequires TestSharedFork TestTCP ];
     meta = {
@@ -15106,6 +15830,21 @@ let
     };
   };
 
+  SessionToken = buildPerlPackage rec {
+    pname = "Session-Token";
+    version = "1.503";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FR/FRACTAL/Session-Token-1.503.tar.gz";
+      sha256 = "32c3df96ef455c71870363acd950ddc4fbc848c594f4bc55b21b44cf979f79a1";
+    };
+    meta = {
+      homepage = "https://github.com/hoytech/Session-Token";
+      description = "Secure, efficient, simple random session token generation";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   SetInfinite = buildPerlPackage {
     pname = "Set-Infinite";
     version = "0.65";
@@ -15156,6 +15895,21 @@ let
     };
   };
 
+  SmartComments = buildPerlPackage rec {
+    pname = "Smart-Comments";
+    version = "1.06";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Smart-Comments-1.06.tar.gz";
+      sha256 = "dcf8a312134a7c6b82926a0115d93b692472a662d28cdc3a9bdf28984ada9ee3";
+    };
+    meta = {
+      homepage = "https://github.com/neilb/Smart-Comments";
+      description = "Comments that do more than just sit there";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   SGMLSpm = buildPerlModule {
     pname = "SGMLSpm";
     version = "1.1";
@@ -15292,10 +16046,10 @@ let
 
   Specio = buildPerlPackage {
      pname = "Specio";
-     version = "0.43";
+     version = "0.44";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.43.tar.gz;
-       sha256 = "07gsm4fssn9v27bnlgcxa7igb7ggrxwgpdqbbryi4134gfzxxl1w";
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.44.tar.gz;
+       sha256 = "0vvdgcqkw4kxg9mxm683ykbyykkig1b6j7sfpkgx1cvp8my1fi5m";
      };
      propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
      buildInputs = [ TestFatal TestNeeds ];
@@ -15452,6 +16206,7 @@ let
     };
     buildInputs = [ LWP TestSharedFork TestTCP ];
     propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ];
+    doCheck = !stdenv.isDarwin;
     meta = {
       description = "A simple, high-performance PSGI/Plack HTTP server";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15594,10 +16349,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";
     };
   };
 
@@ -15702,6 +16457,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 ];
@@ -15771,37 +16527,7 @@ let
     buildInputs = [ TestToolbox ];
   };
 
-  strip-nondeterminism = buildPerlPackage rec {
-    pname = "strip-nondeterminism";
-    version = "1.0.0";
-
-    outputs = [ "out" "dev" ]; # no "devdoc"
-
-    src = pkgs.fetchFromGitLab {
-      owner = "reproducible-builds";
-      repo = "strip-nondeterminism";
-      domain = "salsa.debian.org";
-      rev = version;
-      sha256 = "1pwar1fyadqxmvb7x4zyw2iawbi5lsfjcg0ps9n9rdjb6an7vv64";
-    };
-
-    # stray test failure
-    doCheck = false;
-
-    buildInputs = [ ArchiveZip ArchiveCpio pkgs.file ];
-
-    perlPostHook = ''
-      # we don’t need the debhelper script
-      rm $out/bin/dh_strip_nondeterminism
-      rm $out/share/man/man1/dh_strip_nondeterminism.1.gz
-    '';
-
-    meta = with stdenv.lib; {
-      description = "A Perl module for stripping bits of non-deterministic information";
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ pSub ];
-    };
-  };
+  strip-nondeterminism = callPackage ../development/perl-modules/strip-nondeterminism { };
 
   StructDumb = buildPerlModule {
     pname = "Struct-Dumb";
@@ -15918,10 +16644,10 @@ let
 
   SubName = buildPerlPackage {
     pname = "Sub-Name";
-    version = "0.21";
+    version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.21.tar.gz;
-      sha256 = "bd32e9dee07047c10ae474c9f17d458b6e9885a6db69474c7a494ccc34c27117";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.26.tar.gz;
+      sha256 = "2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105";
     };
     buildInputs = [ BC DevelCheckBin ];
     meta = {
@@ -15943,10 +16669,10 @@ let
 
   SubQuote = buildPerlPackage {
     pname = "Sub-Quote";
-    version = "2.006003";
+    version = "2.006006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006003.tar.gz;
-      sha256 = "be1f3a6f773f351f203cdc8f614803ac492b77d15fd68d5b1f0cd3884be18176";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006006.tar.gz;
+      sha256 = "6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d";
     };
     buildInputs = [ TestFatal ];
     meta = {
@@ -16093,7 +16819,20 @@ 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;
   };
 
   SysHostnameLong = buildPerlPackage {
@@ -16122,10 +16861,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";
@@ -16157,6 +16896,7 @@ let
     };
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
   };
 
   TAPParserSourceHandlerpgTAP = buildPerlModule {
@@ -16539,10 +17279,10 @@ let
 
   TermTable = buildPerlPackage {
     pname = "Term-Table";
-    version = "0.013";
+    version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.013.tar.gz;
-      sha256 = "ffeb36dcb25c575b9f63657d1591a14af22cd10ba23cc76de9d976b426f4fc40";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz;
+      sha256 = "d8a18b2801f91f0e5d747147ce786964a76f91d18568652908a3dc06a9b948d5";
     };
     propagatedBuildInputs = [ Importer ];
     meta = {
@@ -16602,12 +17342,12 @@ let
 
   Test2PluginNoWarnings = buildPerlPackage {
      pname = "Test2-Plugin-NoWarnings";
-     version = "0.07";
+     version = "0.08";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.07.tar.gz;
-       sha256 = "1sxqcbklmpxpkysq3wbivs77n3c8mvasvfa38dzmyqz04ifaf7gz";
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.08.tar.gz;
+       sha256 = "122rcksn4qg0f99ap9ppmkvk0fvxcqa9jlqmq7wlk3q0ajylr4cy";
      };
-     buildInputs = [ CaptureTiny IPCRun3 Test2Suite ];
+     buildInputs = [ IPCRun3 Test2Suite ];
      meta = {
        description = "Fail if tests warn";
        license = with stdenv.lib.licenses; [ artistic2 ];
@@ -16616,10 +17356,10 @@ let
 
   Test2Suite = buildPerlPackage {
     pname = "Test2-Suite";
-    version = "0.000122";
+    version = "0.000127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000122.tar.gz;
-      sha256 = "83828cf440ce2a7bfc2fe48f535931e44328e39810370b04c9e947db888a7442";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000127.tar.gz;
+      sha256 = "09443e7c99f9bef2c3f5999b919800db7d265b2c55f177726d3e5a61d8dbe690";
     };
     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
     meta = {
@@ -16797,10 +17537,10 @@ let
 
   TestCompile = buildPerlModule {
     pname = "Test-Compile";
-    version = "2.2.2";
+    version = "2.3.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.2.2.tar.gz;
-      sha256 = "7853b44a9819eb3e6003260eedf904a1ad80035ea5254296ce014f96084b65d4";
+      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz;
+      sha256 = "1174cff010011ae43e6462755ccd8a6cf0372ca506705c60586f7b1748ff4ddf";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
     meta = {
@@ -16941,6 +17681,22 @@ let
     };
   };
 
+  TestFakeHTTPD = buildPerlModule {
+    pname = "Test-Fake-HTTPD";
+    version = "0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.08.tar.gz;
+      sha256 = "1jkflkcjzrdvnlxff1xqfhfdcpsmvvjqzayl7hk3whavsxdrf9yh";
+    };
+    propagatedBuildInputs = [ HTTPDaemon Plack ];
+    buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "a fake HTTP server";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/Test-Fake-HTTPD";
+    };
+  };
+
   TestFatal = buildPerlPackage {
     pname = "Test-Fatal";
     version = "0.014";
@@ -17216,10 +17972,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 ];
@@ -17242,12 +17998,12 @@ let
 
   TestMockObject = buildPerlPackage {
     pname = "Test-MockObject";
-    version = "1.20180705";
+    version = "1.20191002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20180705.tar.gz;
-      sha256 = "4516058d5d511155c1c462dab4027d762d6a474b99f73bf7da20b5ffbd024518";
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20191002.tar.gz;
+      sha256 = "c76a4ccff1994a7668b4403df6c36d2539611076dac0afbc361c1e71a4191998";
     };
-    buildInputs = [ CGI TestException TestWarn ];
+    buildInputs = [ TestException TestWarn ];
     propagatedBuildInputs = [ UNIVERSALcan UNIVERSALisa ];
     meta = {
       description = "Perl extension for emulating troublesome interfaces";
@@ -17685,10 +18441,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 ];
@@ -17713,10 +18469,10 @@ let
 
   TestSimple13 = buildPerlPackage {
     pname = "Test-Simple";
-    version = "1.302164";
+    version = "1.302169";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302164.tar.gz;
-      sha256 = "50277b613f09cd52eb87b02c69ce0517b80080be8a8d80e1eda609479b0d6615";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302169.tar.gz;
+      sha256 = "411704776f0f787b1c2e4fb0e612162650a80b0dc0a719d84abc1070025ac723";
     };
     meta = {
       description = "Basic utilities for writing tests";
@@ -17792,10 +18548,10 @@ let
 
   TestTCP = buildPerlPackage {
     pname = "Test-TCP";
-    version = "2.19";
+    version = "2.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-TCP-2.19.tar.gz;
-      sha256 = "14ahzklq3xgmwj58p9vdcfgpggrmh3nigq5mzqk4wakbb6fjs0fx";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz;
+      sha256 = "0mvv9rqwrwlcfh8qrs0s47p85rhlnw15d4gbpyi802bddp0c6lry";
     };
     meta = {
       description = "Testing TCP program";
@@ -17806,10 +18562,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";
@@ -17832,10 +18588,10 @@ let
 
   TestTrailingSpace = buildPerlModule {
     pname = "Test-TrailingSpace";
-    version = "0.0301";
+    version = "0.0302";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0301.tar.gz;
-      sha256 = "a28875747adb7a0e7d1ae8a4ffe71869e7ceb3a85d0cb30172959dada7de5970";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0302.tar.gz;
+      sha256 = "c48a6377d84576512b47652798d9d4bb4467adacf0e6afc3df1f880f2c03b612";
     };
     propagatedBuildInputs = [ FileFindObjectRule ];
     meta = {
@@ -17873,12 +18629,12 @@ let
 
   TestWarnings = buildPerlPackage {
     pname = "Test-Warnings";
-    version = "0.026";
+    version = "0.027";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.026.tar.gz;
-      sha256 = "ae2b68b1b5616704598ce07f5118efe42dc4605834453b7b2be14e26f9cc9a08";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.027.tar.gz;
+      sha256 = "118dd9f48408557555f0af5478e0e873f9df0952cf5911f697a4ce5165880864";
     };
-    buildInputs = [ CPANMetaCheck ];
+    buildInputs = [ CPANMetaCheck PadWalker ];
     meta = {
       homepage = https://github.com/karenetheridge/Test-Warnings;
       description = "Test for warnings and the lack of them";
@@ -18004,10 +18760,10 @@ let
 
   TextAutoformat = buildPerlPackage {
     pname = "Text-Autoformat";
-    version = "1.74";
+    version = "1.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.74.tar.gz;
-      sha256 = "07eb3c2b3515897340ca6e9377495bbe2e05ec80d7f3f146adab8e534a818d5e";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz;
+      sha256 = "9dd4f4ce3daec4b4dbf5b59dac4568a8946aed12c28b4e5988c8e8c602c6b771";
     };
     propagatedBuildInputs = [ TextReform ];
     meta = {
@@ -18102,10 +18858,10 @@ let
 
   TextCSV_XS = buildPerlPackage {
     pname = "Text-CSV_XS";
-    version = "1.39";
+    version = "1.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.39.tgz;
-      sha256 = "aa4e424eaf68bea0d0e8c16b961c942b64926e6183ce1dbbc6c799eafb0a9ebd";
+      url = mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.40.tgz;
+      sha256 = "6a448ae1f66768fa5dec1cd2fb246bcaaa3f3ea22d555d1fee8d091833073675";
     };
     meta = {
       description = "Comma-Separated Values manipulation routines";
@@ -18135,7 +18891,7 @@ let
       sha256 = "bb8a3b8ff515c85101baf553a769337f944a05cde81f111ae78aff416bf4ae2b";
     };
     meta = {
-      homepage = https://www.shlomifish.org/open-source/projects/Text-Format/;
+      homepage = "https://metacpan.org/release/Text-Format";
       description = "Format text";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ bcdarwin ];
@@ -18277,6 +19033,20 @@ let
     };
   };
 
+  TextPatch = buildPerlPackage {
+    pname = "Text-Patch";
+    version = "1.8";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CA/CADE/Text-Patch-1.8.tar.gz";
+      sha256 = "eaf18e61ba6a3e143846a7cc66f08ce58a0c4fbda92acb31aede25cb3b5c3dcc";
+    };
+    propagatedBuildInputs = [ TextDiff ];
+    meta = {
+      description = "Patches text with given patch";
+      license = stdenv.lib.licenses.gpl2;
+    };
+  };
+
   TextPDF = buildPerlPackage {
     pname = "Text-PDF";
     version = "0.31";
@@ -18405,10 +19175,10 @@ let
 
   TextTemplate = buildPerlPackage {
     pname = "Text-Template";
-    version = "1.56";
+    version = "1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.56.tar.gz;
-      sha256 = "09aaa095c562d22824daf849378a58632446093f397d8c7acb37c25a7f37e646";
+      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.58.tar.gz;
+      sha256 = "0c465757782c4bfb9b17335307a8286771fd36ea04d259bc454ac63355f2a287";
     };
     buildInputs = [ TestMoreUTF8 TestWarnings ];
   };
@@ -18459,12 +19229,12 @@ let
     };
   };
 
-  TextTrim = buildPerlModule {
+  TextTrim = buildPerlPackage {
     pname = "Text-Trim";
-    version = "1.02";
+    version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTLAW/Text-Trim-1.02.tar.gz;
-      sha256 = "1bnwjl5n04w8nnrzrm75ljn4pijqbijr9csfkjcs79h4gwn9lwqw";
+      url = mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.03.tar.gz;
+      sha256 = "0ks9afvx9c1b6px98wwzhbyhd2y6hdg7884814fc9pnx8qfzrz50";
     };
     meta = {
       description = "Remove leading and/or trailing whitespace from strings";
@@ -18480,7 +19250,7 @@ let
       sha256 = "0avk50kia78kxryh2whmaj5l18q2wvmkdyqyjsf6kwr4kgy6x3i7";
     };
     # https://rt.cpan.org/Public/Bug/Display.html?id=124815
-    NIX_CFLAGS_COMPILE = [ "-DHAS_VPRINTF" ];
+    NIX_CFLAGS_COMPILE = "-DHAS_VPRINTF";
   };
 
   TextUnidecode = buildPerlPackage {
@@ -18500,7 +19270,7 @@ let
       sha256 = "ef371b1769cd8d36d2d657e8321723d94c8f8d89e7fd7437c6648c5dc6711b7a";
     };
     meta = {
-      homepage = https://github.com/2shortplanks/Test-utf8/tree;
+      homepage = "https://github.com/2shortplanks/Test-utf8";
       description = "Handy utf8 tests";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18732,6 +19502,19 @@ let
     };
   };
 
+  TieSimple = buildPerlPackage {
+    pname = "Tie-Simple";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HA/HANENKAMP/Tie-Simple-1.04.tar.gz";
+      sha256 = "29e9e2133951046c78f205f1b3e8df62c90e114f0e08fa06b817766a0f808b12";
+    };
+    meta = {
+      description = "Variable ties made much easier: much, much, much easier..";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TieSub = buildPerlPackage {
      pname = "Tie-Sub";
      version = "1.001";
@@ -18763,6 +19546,8 @@ let
       url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz;
       sha256 = "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm";
     };
+    # https://rt.cpan.org/Public/Bug/Display.html?id=124509
+    patches = [ ../development/perl-modules/timedate-2020.patch ];
   };
 
   TimeDuration = buildPerlPackage {
@@ -18844,6 +19629,41 @@ let
     };
   };
 
+  Tirex = buildPerlPackage rec {
+    pname = "Tirex";
+    version = "0.6.1";
+
+    src = fetchFromGitHub {
+      owner  = "openstreetmap";
+      repo   = "tirex";
+      rev    = "v${version}";
+      sha256 = "0dskf50qm6yh3rx6j2nqydr1if71x6ik85hxsa2r9qgldcby2rgh";
+    };
+
+    buildInputs = [
+      GD
+      IPCShareLite
+      JSON
+      LWP
+      pkgs.cairo
+      pkgs.mapnik
+      pkgs.zlib
+    ];
+
+    installPhase = ''
+      make install DESTDIR=$out INSTALLOPTS=""
+      mv $out/$out/lib $out/$out/share $out
+      rmdir $out/$out $out/nix/store $out/nix
+    '';
+
+    meta = {
+      description = "Tools for running a map tile server";
+      homepage = https://github.com/openstreetmap/tirex;
+      maintainers = with maintainers; [ jglukasik ];
+      license = with stdenv.lib.licenses; [ gpl2 ];
+    };
+  };
+
   Tk = buildPerlPackage {
     pname = "Tk";
     version = "804.034";
@@ -18943,16 +19763,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 {
@@ -19015,6 +19836,7 @@ let
       url = mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz;
       sha256 = "418a212808f9d0b8bb330ac905096d2dd364976753d4c71534dab9836a63194d";
     };
+    perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "Unicode case-folding for case-insensitive lookups";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -19205,7 +20027,7 @@ let
     };
     propagatedBuildInputs = [ URI ];
     meta = {
-      homepage = http://perl.wdlabs.com/URI-ws/;
+      homepage = "https://metacpan.org/release/URI-ws";
       description = "WebSocket support for URI package";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19303,7 +20125,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;
     };
@@ -19325,6 +20147,7 @@ let
       '';
     NIX_CFLAGS_COMPILE = "-DCURL_STRICTER";
     doCheck = false; # performs network access
+    meta.broken = stdenv.lib.versionAtLeast (stdenv.lib.getVersion pkgs.curl) "7.66"; # broken since "curl: 7.65.3 -> 7.66.0"
   };
 
   WWWFormUrlEncoded = buildPerlModule {
@@ -19343,15 +20166,15 @@ let
 
   WWWMechanize = buildPerlPackage {
     pname = "WWW-Mechanize";
-    version = "1.91";
+    version = "1.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.91.tar.gz;
-      sha256 = "0cb14m1vhaf0mgn2fqwi5hm72xhfi77hpq2g57swgy0w83x7m27b";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz;
+      sha256 = "1w121x0xsn1bm699ncanyxqv3njqam3zzjkq8p54bqmzpikn5crs";
     };
     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
     doCheck = false;
     meta = {
-      homepage = https://github.com/bestpractical/www-mechanize;
+      homepage = "https://github.com/libwww-perl/WWW-Mechanize";
       description = "Handy web browsing in a Perl object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19386,35 +20209,7 @@ let
     };
   };
 
-  WWWYoutubeViewer = buildPerlPackage rec {
-    pname = "WWW-YoutubeViewer";
-    version = "3.3.0";
-
-    src = fetchFromGitHub {
-      owner  = "trizen";
-      repo   = "youtube-viewer";
-      rev    = version;
-      sha256 = "15xyrwv08fw8jmpydwzks26ipxnzliwddgyjcfqiaj0p7lwlhmx1";
-    };
-
-    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
-    propagatedBuildInputs = [
-      LWP
-      LWPProtocolHttps
-      DataDump
-      JSON
-    ];
-    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-      shortenPerlShebang $out/bin/youtube-viewer
-    '';
-
-    meta = {
-      description = "A lightweight application for searching and streaming videos from YouTube";
-      homepage = https://github.com/trizen/youtube-viewer;
-      maintainers = with maintainers; [ woffs ];
-      license = with stdenv.lib.licenses; [ artistic2 ];
-    };
-  };
+  WWWYoutubeViewer = callPackage ../development/perl-modules/WWW-YoutubeViewer { };
 
   Want = buildPerlPackage {
     pname = "Want";
@@ -19440,10 +20235,10 @@ let
 
   Workflow = buildPerlModule {
     pname = "Workflow";
-    version = "1.46";
+    version = "1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.46.tar.gz;
-      sha256 = "10zxp39yp11ry5j1c1krhx7s57rb2r8m48jf66k8f4jzm6f0w7pf";
+      url = mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.48.tar.gz;
+      sha256 = "0bz6gil9mygh5ikh8mf86ids9xb1dbgx9hqc1g68qn9ffsyb012f";
     };
     buildInputs = [ DBDMock ListMoreUtils PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
     propagatedBuildInputs = [ ClassAccessor ClassFactory ClassObservable DBI DataUUID DateTimeFormatStrptime FileSlurp LogDispatch LogLog4perl XMLSimple ];
@@ -19544,7 +20339,7 @@ let
     AUTOMATED_TESTING = false;
     buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException XSObjectMagic ];
     propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple ];
-    NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ];
+    NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm";
     doCheck = false; # requires an X server
     meta = {
       description = "XCB bindings for X";
@@ -19772,10 +20567,10 @@ let
 
   XMLRSS = buildPerlModule {
     pname = "XML-RSS";
-    version = "1.60";
+    version = "1.61";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.60.tar.gz;
-      sha256 = "4b3359878bb1a2bc06dae7ed17b00143a2b89c814b8b12f6e2780f35b1528677";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.61.tar.gz;
+      sha256 = "fa6fe7ce5d31800a2bd414ef39da48c7f2b26b073a3c1f0d677bda26e840c90d";
     };
     propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
     meta = {
@@ -19820,6 +20615,8 @@ let
        sha256 = "0gy8h2bvvvlxychwsb99ikdh5cqpk6sqc073jk2b4zffs09n40ac";
      };
      propagatedBuildInputs = [ XMLParser XMLSAX ];
+     # Avoid creating perllocal.pod, which contains a timestamp
+     installTargets = [ "pure_install" ];
      meta = {
        description = "SAX Driver for Expat";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -19947,7 +20744,7 @@ let
     buildInputs = [ TestBase TestDeep TestYAML ];
 
     meta = {
-      homepage = https://github.com/ingydotnet/yaml-pm/tree;
+      homepage = "https://github.com/ingydotnet/yaml-pm";
       description = "YAML Ain't Markup Language (tm)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19977,19 +20774,19 @@ let
 
   YAMLLibYAML = buildPerlPackage {
     pname = "YAML-LibYAML";
-    version = "0.79";
+    version = "0.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.79.tar.gz;
-      sha256 = "0wwmk3f2q0qv229sjjl3vbypppa9wmaiqh2b0qlai33m476vl1c4";
+      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.80.tar.gz;
+      sha256 = "1nhn4w52kpq757rxl052f61h36rdzsy416k740m3fy5ih7axhq4x";
     };
   };
 
   WebServiceLinode = buildPerlModule {
     pname = "WebService-Linode";
-    version = "0.28";
+    version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.28.tar.gz;
-      sha256 = "66a315016999c0d2043caae86e664dad10c6613708f33a2f56aae8030326c509";
+      url = mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz;
+      sha256 = "103aab245304f08e9e87ac7bc884ddb44a630de6bac077dc921f716d71154922";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
diff --git a/nixpkgs/pkgs/top-level/php-packages.nix b/nixpkgs/pkgs/top-level/php-packages.nix
index fc6d76743385..6adc4c837d59 100644
--- a/nixpkgs/pkgs/top-level/php-packages.nix
+++ b/nixpkgs/pkgs/top-level/php-packages.nix
@@ -14,12 +14,13 @@ let
     });
 
   isPhp73 = pkgs.lib.versionAtLeast php.version "7.3";
+  isPhp74 = pkgs.lib.versionAtLeast php.version "7.4";
 
   apcu = buildPecl {
-    version = "5.1.17";
+    version = "5.1.18";
     pname = "apcu";
 
-    sha256 = "14y7alvj5q17q1b544bxidavkn6i40cjbq2nv1m0k70ai5vv84bb";
+    sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl";
 
     buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
     doCheck = true;
@@ -39,10 +40,10 @@ let
   };
 
   ast = buildPecl {
-    version = "1.0.3";
+    version = "1.0.5";
     pname = "ast";
 
-    sha256 = "1sk9bkyw3ck9jgvlazxx8zl2nv6lc0gq66v1rfcby9v0zyydb7xr";
+    sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp";
   };
 
   box = mkDerivation rec {
@@ -73,12 +74,12 @@ let
   };
 
   composer = mkDerivation rec {
-    version = "1.9.0";
+    version = "1.9.1";
     pname = "composer";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "0x88bin1c749ajymz2cqjx8660a3wxvndpv4xr6w3pib16fzdpy9";
+      sha256 = "04a1fqxhxrckgxw9xbx7mplkzw808k2dz4jqsxq2dy7w6y80n88z";
     };
 
     dontUnpack = true;
@@ -140,6 +141,8 @@ let
              AC_MSG_WARN([Cannot find igbinary.h])
       '')
     ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   event = buildPecl {
@@ -196,14 +199,35 @@ let
     sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz";
   };
 
+  maxminddb = buildPecl rec {
+    pname = "maxminddb";
+    version = "1.5.0";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "maxmind";
+      repo = "MaxMind-DB-Reader-php";
+      rev = "v${version}";
+      sha256 = "1ilgpx36rgihjr8s4bvkbms5hl6xy7mymna3ym2bl4lb15vkr0sm";
+    };
+
+    buildInputs = [ pkgs.libmaxminddb ];
+    sourceRoot = "source/ext";
+
+    meta = with pkgs.lib; {
+      description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader";
+      license = with licenses; [ asl20 ];
+      maintainers = with maintainers; [ ajs124 das_j ];
+    };
+  };
+
   memcached = buildPecl rec {
-    version = "3.1.3";
+    version = "3.1.5";
     pname = "memcached";
 
     src = fetchgit {
       url = "https://github.com/php-memcached-dev/php-memcached";
       rev = "v${version}";
-      sha256 = "1w9g8k7bmq3nbzskskpsr5632gh9q75nqy7nkjdzgs17klq9khjk";
+      sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380";
     };
 
     configureFlags = [
@@ -217,9 +241,9 @@ let
 
   mongodb = buildPecl {
     pname = "mongodb";
-    version = "1.5.5";
+    version = "1.6.1";
 
-    sha256 = "0gpywk3wkimjrva1p95a7abvl3s8yccalf6yimn3nbkpvn2kknm6";
+    sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m";
 
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = with pkgs; [
@@ -245,11 +269,22 @@ let
     '';
   };
 
+  pcov = buildPecl {
+    version = "1.0.6";
+    pname = "pcov";
+
+    sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1";
+
+    buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
+  };
+
   pcs = buildPecl {
     version = "1.3.3";
     pname = "pcs";
 
     sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
+
+    meta.broken = isPhp74; # Build error
   };
 
   pdo_sqlsrv = buildPecl {
@@ -259,15 +294,17 @@ let
     sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   php-cs-fixer = mkDerivation rec {
-    version = "2.15.1";
+    version = "2.16.1";
     pname = "php-cs-fixer";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "0qbqdki6vj8bgj5m2k4mi0qgj17r6s2v2q7yc30hhgvksf7vamlc";
+      sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68";
     };
 
     phases = [ "installPhase" ];
@@ -338,12 +375,12 @@ let
   };
 
   phpcbf = mkDerivation rec {
-    version = "3.4.2";
+    version = "3.5.3";
     pname = "phpcbf";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
-      sha256 = "08s47r8i5dyjivk1q3nhrz40n6fx3zghrn5irsxfnx5nj9pb7ffp";
+      sha256 = "1mrsf9p6p64pyqyylnlxb2b7cirdfccch83g7yhfnka3znffq86v";
     };
 
     phases = [ "installPhase" ];
@@ -365,12 +402,12 @@ let
   };
 
   phpcs = mkDerivation rec {
-    version = "3.4.2";
+    version = "3.5.3";
     pname = "phpcs";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
-      sha256 = "0hk9w5kn72z9xhswfmxilb2wk96vy07z4a1pwrpspjlr23aajrk9";
+      sha256 = "0y4nhsifj4pdmf5g1nnm4951yjgiqswyz7wmjxx6kqiqc7chlkml";
     };
 
     phases = [ "installPhase" ];
@@ -392,12 +429,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.15";
+    version = "0.12.3";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "1fa3bq5k548jpyph2rxkgnarblyy5f1m55awjcps8mjqbw9r6439";
+      sha256 = "08ya50qf75nq8ypyhb0vsqnj166kc27rc8iasxr3y7kssbfd95ai";
     };
 
     phases = [ "installPhase" ];
@@ -420,7 +457,7 @@ let
         actual line.
       '';
       license = licenses.mit;
-      homepage = https://github.com/phpstan/phpstan;
+      homepage = "https://github.com/phpstan/phpstan";
       maintainers = with maintainers; [ etu ];
     };
   };
@@ -470,10 +507,10 @@ let
   };
 
   protobuf = buildPecl {
-    version = "3.9.0";
+    version = "3.11.2";
     pname = "protobuf";
 
-    sha256 = "1pyfxrfdbzzg5al4byyazdrvy7yad13zwq7papbb2d8gkvc3f3kh";
+    sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz";
 
     buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ];
 
@@ -486,13 +523,39 @@ let
     };
   };
 
+  psalm = mkDerivation rec {
+    version = "3.7.2";
+    pname = "psalm";
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
+      sha256 = "0mcxlckycvpxxc6h0x0kdidbq2l4m3xws1v3kdf797js234x0vjx";
+    };
+
+    phases = [ "installPhase" ];
+    nativeBuildInputs = [ pkgs.makeWrapper ];
+
+    installPhase = ''
+      mkdir -p $out/bin
+      install -D $src $out/libexec/psalm/psalm.phar
+      makeWrapper ${php}/bin/php $out/bin/psalm \
+        --add-flags "$out/libexec/psalm/psalm.phar"
+    '';
+
+    meta = with pkgs.lib; {
+      description = "A static analysis tool for finding errors in PHP applications";
+      license = licenses.mit;
+      homepage = https://github.com/vimeo/psalm;
+    };
+  };
+
   psysh = mkDerivation rec {
-    version = "0.9.9";
+    version = "0.9.12";
     pname = "psysh";
 
     src = pkgs.fetchurl {
       url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
-      sha256 = "0knbib0afwq2z5fc639ns43x8pi3kmp85y13bkcl00dhvf46yinw";
+      sha256 = "0bzmc94li481xk81gv460ipq9zl03skbnq8m3rnw34i2c04hxczc";
     };
 
     phases = [ "installPhase" ];
@@ -544,10 +607,10 @@ let
   };
 
   redis = buildPecl {
-    version = "5.0.2";
+    version = "5.1.1";
     pname = "redis";
 
-    sha256 = "0b5pw17lzqknhijfymksvf8fm1zilppr97ypb31n599jw3mxf62f";
+    sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732";
   };
 
   sqlsrv = buildPecl {
@@ -557,6 +620,8 @@ let
     sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   v8 = buildPecl {
@@ -582,10 +647,10 @@ let
   };
 
   xdebug = buildPecl {
-    version = "2.7.1";
+    version = "2.8.1";
     pname = "xdebug";
 
-    sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
+    sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3";
 
     doCheck = true;
     checkTarget = "test";
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index c23a062e8a2e..2745f41811da 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/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 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;
@@ -108,7 +108,7 @@ in {
   inherit buildSetupcfg;
 
   inherit (callPackage ../development/interpreters/python/hooks { })
-    flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook wheelUnpackHook;
+    eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook wheelUnpackHook;
 
   # helpers
 
@@ -163,8 +163,16 @@ in {
 
   aioamqp = callPackage ../development/python-modules/aioamqp { };
 
+  aioredis = callPackage ../development/python-modules/aioredis { };
+
+  aiorun = callPackage ../development/python-modules/aiorun { };
+
   ansicolor = callPackage ../development/python-modules/ansicolor { };
 
+  ansiwrap =  callPackage ../development/python-modules/ansiwrap { };
+
+  ansi2html = callPackage ../development/python-modules/ansi2html { };
+
   anytree = callPackage ../development/python-modules/anytree {
     inherit (pkgs) graphviz;
   };
@@ -173,8 +181,14 @@ in {
 
   apprise = callPackage ../development/python-modules/apprise { };
 
+  arrayqueues = callPackage ../development/python-modules/arrayqueues { };
+
+  aresponses = callPackage ../development/python-modules/aresponses { };
+
   argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
 
+  arviz = callPackage ../development/python-modules/arviz { };
+
   asana = callPackage ../development/python-modules/asana { };
 
   asdf = callPackage ../development/python-modules/asdf { };
@@ -219,6 +233,7 @@ in {
   automat = callPackage ../development/python-modules/automat { };
 
   awkward = callPackage ../development/python-modules/awkward { };
+  awkward1 = callPackage ../development/python-modules/awkward1 { };
 
   aws-sam-translator = callPackage ../development/python-modules/aws-sam-translator { };
 
@@ -228,6 +243,8 @@ in {
 
   atomman = callPackage ../development/python-modules/atomman { };
 
+  authlib = callPackage ../development/python-modules/authlib { };
+
   # packages defined elsewhere
 
   amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { };
@@ -243,10 +260,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 { };
@@ -255,6 +268,8 @@ in {
 
   azure-batch = callPackage ../development/python-modules/azure-batch { };
 
+  azure-core = callPackage ../development/python-modules/azure-core { };
+
   azure-cosmosdb-nspkg = callPackage ../development/python-modules/azure-cosmosdb-nspkg { };
 
   azure-cosmosdb-table = callPackage ../development/python-modules/azure-cosmosdb-table { };
@@ -263,10 +278,20 @@ 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-identity = callPackage ../development/python-modules/azure-identity { };
+
   azure-keyvault = callPackage ../development/python-modules/azure-keyvault { };
 
+  azure-keyvault-keys = callPackage ../development/python-modules/azure-keyvault-keys { };
+
+  azure-keyvault-nspkg = callPackage ../development/python-modules/azure-keyvault-nspkg { };
+
+  azure-keyvault-secrets = callPackage ../development/python-modules/azure-keyvault-secrets { };
+
   azure-loganalytics = callPackage ../development/python-modules/azure-loganalytics { };
 
   azure-servicebus = callPackage ../development/python-modules/azure-servicebus { };
@@ -293,6 +318,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 { };
@@ -303,6 +332,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 { };
@@ -315,6 +346,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 { };
@@ -333,6 +366,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 { };
@@ -341,6 +376,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 { };
@@ -349,12 +388,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 { };
@@ -369,6 +412,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 { };
@@ -377,6 +422,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 { };
@@ -395,6 +442,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 { };
@@ -403,6 +452,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 { };
@@ -411,18 +462,22 @@ 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 {};
 
   bap = callPackage ../development/python-modules/bap {
-    bap = pkgs.ocamlPackages.bap;
+    bap = pkgs.ocaml-ng.ocamlPackages_4_06.bap;
   };
 
   baselines = callPackage ../development/python-modules/baselines { };
 
   bash_kernel = callPackage ../development/python-modules/bash_kernel { };
 
+  bashlex = callPackage ../development/python-modules/bashlex { };
+
   bayespy = callPackage ../development/python-modules/bayespy { };
 
   beanstalkc = callPackage ../development/python-modules/beanstalkc { };
@@ -453,7 +508,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 { };
 
@@ -461,12 +516,18 @@ 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 { };
 
   chalice = callPackage ../development/python-modules/chalice { };
 
+  channels-redis = callPackage ../development/python-modules/channels-redis { };
+
   cleo = callPackage ../development/python-modules/cleo { };
 
   clikit = callPackage ../development/python-modules/clikit { };
@@ -481,12 +542,20 @@ in {
 
   cnvkit = callPackage ../development/python-modules/cnvkit { };
 
+  cocotb = callPackage ../development/python-modules/cocotb { };
+
+  compiledb = callPackage ../development/python-modules/compiledb { };
+
   connexion = callPackage ../development/python-modules/connexion { };
 
+  coordinates = callPackage ../development/python-modules/coordinates { };
+
   cozy = callPackage ../development/python-modules/cozy { };
 
   codespell = callPackage ../development/python-modules/codespell { };
 
+  crc32c = callPackage ../development/python-modules/crc32c { };
+
   curio = callPackage ../development/python-modules/curio { };
 
   dendropy = callPackage ../development/python-modules/dendropy { };
@@ -499,6 +568,8 @@ in {
     inherit (pkgs.llvmPackages) openmp libcxx libcxxabi;
   };
 
+  databases = callPackage ../development/python-modules/databases { };
+
   datamodeldict = callPackage ../development/python-modules/datamodeldict { };
 
   datasette = callPackage ../development/python-modules/datasette { };
@@ -511,6 +582,8 @@ in {
 
   deap = callPackage ../development/python-modules/deap { };
 
+  deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { };
+
   dkimpy = callPackage ../development/python-modules/dkimpy { };
 
   dictionaries = callPackage ../development/python-modules/dictionaries { };
@@ -563,6 +636,10 @@ in {
 
   diff-match-patch = callPackage ../development/python-modules/diff-match-patch { };
 
+  entrance = callPackage ../development/python-modules/entrance { routerFeatures = false; };
+
+  entrance-with-router-features = callPackage ../development/python-modules/entrance { routerFeatures = true; };
+
   eradicate = callPackage ../development/python-modules/eradicate {  };
 
   face = callPackage ../development/python-modules/face { };
@@ -631,7 +708,10 @@ in {
     inherit (pkgs) graphviz;
   };
 
-  gsd = callPackage ../development/python-modules/gsd { };
+  gsd = if isPy27 then
+      callPackage ../development/python-modules/gsd/1.7.nix { }
+    else
+      callPackage ../development/python-modules/gsd { };
 
   gssapi = callPackage ../development/python-modules/gssapi {
     inherit (pkgs) darwin krb5Full;
@@ -641,6 +721,8 @@ in {
 
   gumath = callPackage ../development/python-modules/gumath { };
 
+  h3 = callPackage ../development/python-modules/h3 { inherit (pkgs) h3; };
+
   h5py = callPackage ../development/python-modules/h5py {
     hdf5 = pkgs.hdf5;
   };
@@ -657,12 +739,12 @@ in {
 
   helper = callPackage ../development/python-modules/helper { };
 
-  histbook = callPackage ../development/python-modules/histbook { };
-
   hdmedians = callPackage ../development/python-modules/hdmedians { };
 
   hocr-tools = callPackage ../development/python-modules/hocr-tools { };
 
+  holidays = callPackage ../development/python-modules/holidays { };
+
   holoviews = callPackage ../development/python-modules/holoviews { };
 
   hoomd-blue = toPythonModule (callPackage ../development/python-modules/hoomd-blue {
@@ -679,6 +761,8 @@ in {
 
   i3ipc = callPackage ../development/python-modules/i3ipc { };
 
+  ihatemoney = callPackage ../development/python-modules/ihatemoney { };
+
   imutils = callPackage ../development/python-modules/imutils { };
 
   inotify-simple = callPackage ../development/python-modules/inotify-simple { };
@@ -689,12 +773,20 @@ in {
 
   inquirer = callPackage ../development/python-modules/inquirer { };
 
+  itanium_demangler = callPackage ../development/python-modules/itanium_demangler { };
+
+  janus = callPackage ../development/python-modules/janus { };
+
   jira = callPackage ../development/python-modules/jira { };
 
+  junitparser = callPackage ../development/python-modules/junitparser { };
+
   jwcrypto = callPackage ../development/python-modules/jwcrypto { };
 
   kconfiglib = callPackage ../development/python-modules/kconfiglib { };
 
+  labelbox = callPackage ../development/python-modules/labelbox { };
+
   lammps-cython = callPackage ../development/python-modules/lammps-cython {
     mpi = pkgs.openmpi;
   };
@@ -731,6 +823,8 @@ in {
 
   manhole = callPackage ../development/python-modules/manhole { };
 
+  mapbox = callPackage ../development/python-modules/mapbox { };
+
   markerlib = callPackage ../development/python-modules/markerlib { };
 
   matchpy = callPackage ../development/python-modules/matchpy { };
@@ -741,21 +835,32 @@ 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 { };
 
   mpi4py = callPackage ../development/python-modules/mpi4py {
     mpi = pkgs.openmpi;
   };
 
-  msrestazure = callPackage ../development/python-modules/msrestazure { };
+  msal = callPackage ../development/python-modules/msal { };
+
+  msal-extensions = callPackage ../development/python-modules/msal-extensions { };
+
   msrest = callPackage ../development/python-modules/msrest { };
 
+  msrestazure = callPackage ../development/python-modules/msrestazure { };
+
   multiset = callPackage ../development/python-modules/multiset { };
 
   mwclient = callPackage ../development/python-modules/mwclient { };
 
   mwoauth = callPackage ../development/python-modules/mwoauth { };
 
+  nagiosplugin = callPackage ../development/python-modules/nagiosplugin { };
+
   nanomsg-python = callPackage ../development/python-modules/nanomsg-python { inherit (pkgs) nanomsg; };
 
   nbsmoke = callPackage ../development/python-modules/nbsmoke { };
@@ -776,6 +881,8 @@ in {
     inherit python;
   };
 
+  nix-prefetch-github = callPackage ../development/python-modules/nix-prefetch-github { };
+
   nixpart = callPackage ../tools/filesystems/nixpart { };
 
   # This is used for NixOps to make sure we won't break it with the next major
@@ -811,12 +918,18 @@ 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 { };
 
   pathlib = callPackage ../development/python-modules/pathlib { };
 
   pc-ble-driver-py = toPythonModule (callPackage ../development/python-modules/pc-ble-driver-py { });
 
+  pcpp = callPackage ../development/python-modules/pcpp { };
+
   pdf2image = callPackage ../development/python-modules/pdf2image { };
 
   pdfminer = callPackage ../development/python-modules/pdfminer_six { };
@@ -827,16 +940,22 @@ in {
 
   pyperf = callPackage ../development/python-modules/pyperf { };
 
+  pefile = callPackage ../development/python-modules/pefile { };
+
   perfplot = callPackage ../development/python-modules/perfplot { };
 
   phonopy = callPackage ../development/python-modules/phonopy { };
 
+  phik = callPackage ../development/python-modules/phik {};
+
   piccata = callPackage ../development/python-modules/piccata {};
 
   pims = callPackage ../development/python-modules/pims { };
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  polyline = callPackage ../development/python-modules/polyline { };
+
   postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { });
 
   pplpy = callPackage ../development/python-modules/pplpy { };
@@ -855,6 +974,8 @@ in {
 
   pymysql = callPackage ../development/python-modules/pymysql { };
 
+  pymupdf = callPackage ../development/python-modules/pymupdf { };
+
   Pmw = callPackage ../development/python-modules/Pmw { };
 
   py_stringmatching = callPackage ../development/python-modules/py_stringmatching { };
@@ -881,10 +1002,12 @@ in {
 
   pybind11 = callPackage ../development/python-modules/pybind11 { };
 
+  py3buddy = toPythonModule (callPackage ../development/python-modules/py3buddy { });
+
   pybullet = callPackage ../development/python-modules/pybullet { };
 
   pycairo = callPackage ../development/python-modules/pycairo {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
   pycategories = callPackage ../development/python-modules/pycategories { };
@@ -903,6 +1026,8 @@ in {
 
   PyChromecast = callPackage ../development/python-modules/pychromecast { };
 
+  pycm = callPackage ../development/python-modules/pycm { };
+
   py-cpuinfo = callPackage ../development/python-modules/py-cpuinfo { };
 
   py-lru-cache = callPackage ../development/python-modules/py-lru-cache { };
@@ -911,10 +1036,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 {}));
@@ -944,7 +1075,7 @@ in {
   };
 
   pygobject3 = callPackage ../development/python-modules/pygobject/3.nix {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
   pygtail = callPackage ../development/python-modules/pygtail { };
@@ -964,11 +1095,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;
   };
@@ -983,6 +1109,8 @@ in {
 
   pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { };
 
+  pymavlink = callPackage ../development/python-modules/pymavlink { };
+
   pymsgbox = callPackage ../development/python-modules/pymsgbox { };
 
   pynisher = callPackage ../development/python-modules/pynisher { };
@@ -1018,7 +1146,11 @@ in {
 
   pyschedule = callPackage ../development/python-modules/pyschedule { };
 
-  pyside = callPackage ../development/python-modules/pyside { };
+  pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
+
+  pyside = callPackage ../development/python-modules/pyside {
+    inherit (pkgs) mesa;
+  };
 
   pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix {
     inherit (pkgs) libxml2 libxslt; # Do not need the Python bindings.
@@ -1044,6 +1176,8 @@ in {
     slurm = pkgs.slurm;
   };
 
+  pysmb = callPackage ../development/python-modules/pysmb { };
+
   pysmf = callPackage ../development/python-modules/pysmf { };
 
   pyspinel = callPackage ../development/python-modules/pyspinel {};
@@ -1054,6 +1188,10 @@ in {
 
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
+  pytest-bdd = callPackage ../development/python-modules/pytest-bdd { };
+
+  pytest-black = callPackage ../development/python-modules/pytest-black { };
+
   pytest-click = callPackage ../development/python-modules/pytest-click { };
 
   pytest-check = callPackage ../development/python-modules/pytest-check { };
@@ -1068,12 +1206,18 @@ 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 { };
 
   python-dbusmock = callPackage ../development/python-modules/python-dbusmock { };
@@ -1100,6 +1244,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 { };
@@ -1142,6 +1288,8 @@ in {
 
   pyvcd = callPackage ../development/python-modules/pyvcd { };
 
+  pyvcf = callPackage ../development/python-modules/pyvcf { };
+
   pyvoro = callPackage ../development/python-modules/pyvoro { };
 
   relatorio = callPackage ../development/python-modules/relatorio { };
@@ -1170,6 +1318,14 @@ in {
 
   selectors2 = callPackage ../development/python-modules/selectors2 { };
 
+  sacremoses = callPackage ../development/python-modules/sacremoses { };
+
+  sentencepiece = callPackage ../development/python-modules/sentencepiece {
+    inherit (pkgs) sentencepiece pkgconfig;
+  };
+
+  transformers = callPackage ../development/python-modules/transformers { };
+
   sentinel = callPackage ../development/python-modules/sentinel { };
 
   sentry-sdk = callPackage ../development/python-modules/sentry-sdk {};
@@ -1204,12 +1360,24 @@ in {
 
   snapcast = callPackage ../development/python-modules/snapcast { };
 
+  soapysdr = toPythonModule (pkgs.soapysdr.override {
+    python = self.python;
+    usePython = true;
+  });
+
+  soapysdr-with-plugins = toPythonModule (pkgs.soapysdr-with-plugins.override {
+    python = self.python;
+    usePython = true;
+  });
+
   sparse = callPackage ../development/python-modules/sparse { };
 
   spglib = callPackage ../development/python-modules/spglib { };
 
   sshpubkeys = callPackage ../development/python-modules/sshpubkeys { };
 
+  sshtunnel = callPackage ../development/python-modules/sshtunnel { };
+
   sslib = callPackage ../development/python-modules/sslib { };
 
   statistics = callPackage ../development/python-modules/statistics { };
@@ -1218,16 +1386,26 @@ in {
 
   stumpy = callPackage ../development/python-modules/stumpy { };
 
+  stups-cli-support = callPackage ../development/python-modules/stups-cli-support { };
+
+  stups-tokens = callPackage ../development/python-modules/stups-tokens { };
+
+  stups-zign = callPackage ../development/python-modules/stups-zign { };
+
   sumo = callPackage ../development/python-modules/sumo { };
 
   supervise_api = callPackage ../development/python-modules/supervise_api { };
 
-  tables = callPackage ../development/python-modules/tables {
+  tables = if isPy3k then callPackage ../development/python-modules/tables {
+    hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
+  } else callPackage ../development/python-modules/tables/3.5.nix {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
   tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { };
 
+  tesserocr = callPackage ../development/python-modules/tesserocr { };
+
   trueskill = callPackage ../development/python-modules/trueskill { };
 
   trustme = callPackage ../development/python-modules/trustme {};
@@ -1323,16 +1501,22 @@ in {
 
   aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
 
+  aiomysql = callPackage ../development/python-modules/aiomysql { };
+
   aioprocessing = callPackage ../development/python-modules/aioprocessing { };
 
   aioresponses = callPackage ../development/python-modules/aioresponses { };
 
+  aiosqlite = callPackage ../development/python-modules/aiosqlite { };
+
   aiorpcx = callPackage ../development/python-modules/aiorpcx { };
 
   aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
 
   aiounifi = callPackage ../development/python-modules/aiounifi { };
 
+  aiounittest = callPackage ../development/python-modules/aiounittest { };
+
   aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
 
   ajpy = callPackage ../development/python-modules/ajpy { };
@@ -1377,12 +1561,16 @@ in {
 
   amqplib = callPackage ../development/python-modules/amqplib {};
 
-  antlr4-python2-runtime = callPackage ../development/python-modules/antlr4-python2-runtime {};
+  antlr4-python2-runtime = callPackage ../development/python-modules/antlr4-python2-runtime { antlr4 = pkgs.antlr4; };
 
-  antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime {};
+  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
@@ -1418,6 +1606,8 @@ in {
 
   argcomplete = callPackage ../development/python-modules/argcomplete { };
 
+  area = callPackage ../development/python-modules/area { };
+
   arxiv2bib = callPackage ../development/python-modules/arxiv2bib { };
 
   chai = callPackage ../development/python-modules/chai { };
@@ -1504,6 +1694,8 @@ in {
 
   babelfish = callPackage ../development/python-modules/babelfish {};
 
+  bandit = callPackage ../development/python-modules/bandit {};
+
   basiciw = callPackage ../development/python-modules/basiciw {
     inherit (pkgs) gcc wirelesstools;
   };
@@ -1567,6 +1759,10 @@ in {
 
   bumps = callPackage ../development/python-modules/bumps {};
 
+  bx-python = callPackage ../development/python-modules/bx-python {
+    inherit (pkgs) zlib;
+  };
+
   cached-property = callPackage ../development/python-modules/cached-property { };
 
   caffe = toPythonModule (pkgs.caffe.override {
@@ -1598,8 +1794,6 @@ in {
 
   cmarkgfm = callPackage ../development/python-modules/cmarkgfm { };
 
-  circus = callPackage ../development/python-modules/circus {};
-
   colorcet = callPackage ../development/python-modules/colorcet { };
 
   coloredlogs = callPackage ../development/python-modules/coloredlogs { };
@@ -1608,10 +1802,16 @@ in {
 
   colorlog = callPackage ../development/python-modules/colorlog { };
 
+  colorspacious = callPackage ../development/python-modules/colorspacious { };
+
   colour = callPackage ../development/python-modules/colour {};
 
+  colormath = callPackage ../development/python-modules/colormath {};
+
   configshell = callPackage ../development/python-modules/configshell { };
 
+  consonance = callPackage ../development/python-modules/consonance { };
+
   constantly = callPackage ../development/python-modules/constantly { };
 
   cornice = callPackage ../development/python-modules/cornice { };
@@ -1620,6 +1820,10 @@ in {
 
   crc16 = callPackage ../development/python-modules/crc16 { };
 
+  crccheck = callPackage ../development/python-modules/crccheck { };
+
+  croniter = callPackage ../development/python-modules/croniter { };
+
   csscompressor = callPackage ../development/python-modules/csscompressor {};
 
   csvs-to-sqlite = callPackage ../development/python-modules/csvs-to-sqlite { };
@@ -1656,8 +1860,15 @@ in {
 
   defusedxml = callPackage ../development/python-modules/defusedxml {};
 
+  dodgy = callPackage ../development/python-modules/dodgy { };
+
   dugong = callPackage ../development/python-modules/dugong {};
 
+  easysnmp = callPackage ../development/python-modules/easysnmp {
+    openssl = pkgs.openssl;
+    net-snmp = pkgs.net-snmp;
+  };
+
   iowait = callPackage ../development/python-modules/iowait {};
 
   responses = callPackage ../development/python-modules/responses {};
@@ -1666,6 +1877,8 @@ in {
 
   proboscis = callPackage ../development/python-modules/proboscis {};
 
+  poster3 = callPackage ../development/python-modules/poster3 { };
+
   py4j = callPackage ../development/python-modules/py4j { };
 
   pyechonest = callPackage ../development/python-modules/pyechonest { };
@@ -1690,6 +1903,8 @@ in {
     inherit (pkgs) pkgconfig;
   };
 
+  HTSeq = callPackage ../development/python-modules/HTSeq { };
+
   httpserver = callPackage ../development/python-modules/httpserver {};
 
   bleach = callPackage ../development/python-modules/bleach { };
@@ -1766,6 +1981,8 @@ in {
 
   cartopy = callPackage ../development/python-modules/cartopy {};
 
+  casbin = callPackage ../development/python-modules/casbin { };
+
   case = callPackage ../development/python-modules/case {};
 
   cbor = callPackage ../development/python-modules/cbor {};
@@ -1786,12 +2003,14 @@ in {
 
   cerberus = callPackage ../development/python-modules/cerberus { };
 
-  cerberus11 = callPackage ../development/python-modules/cerberus11 { };
-
   certifi = callPackage ../development/python-modules/certifi { };
 
+  certipy = callPackage ../development/python-modules/certipy {};
+
   characteristic = callPackage ../development/python-modules/characteristic { };
 
+  chart-studio = callPackage ../development/python-modules/chart-studio { };
+
   cheetah = callPackage ../development/python-modules/cheetah { };
 
   cherrypy = if isPy3k then
@@ -1900,6 +2119,8 @@ in {
 
   envs = callPackage ../development/python-modules/envs { };
 
+  etelemetry = callPackage ../development/python-modules/etelemetry { };
+
   eth-hash = callPackage ../development/python-modules/eth-hash { };
 
   eth-typing = callPackage ../development/python-modules/eth-typing { };
@@ -1908,6 +2129,10 @@ in {
 
   impacket = callPackage ../development/python-modules/impacket { };
 
+  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 { };
@@ -1937,6 +2162,8 @@ in {
     pythonPackages = self;
   });
 
+  opentracing = callPackage ../development/python-modules/opentracing { };
+
   openidc-client = callPackage ../development/python-modules/openidc-client {};
 
   optuna = callPackage ../development/python-modules/optuna { };
@@ -1991,6 +2218,8 @@ in {
 
   pyjet = callPackage ../development/python-modules/pyjet {};
 
+  pyjks = callPackage ../development/python-modules/pyjks {};
+
   PyLD = callPackage ../development/python-modules/PyLD { };
 
   python-jose = callPackage ../development/python-modules/python-jose {};
@@ -2147,6 +2376,10 @@ in {
 
   zict = callPackage ../development/python-modules/zict { };
 
+  zigpy = callPackage ../development/python-modules/zigpy { };
+
+  zigpy-deconz = callPackage ../development/python-modules/zigpy-deconz { };
+
   digital-ocean = callPackage ../development/python-modules/digitalocean { };
 
   leather = callPackage ../development/python-modules/leather { };
@@ -2185,8 +2418,6 @@ in {
 
   howdoi = callPackage ../development/python-modules/howdoi {};
 
-  neurotools = callPackage ../development/python-modules/neurotools {};
-
   jdatetime = callPackage ../development/python-modules/jdatetime {};
 
   daphne = callPackage ../development/python-modules/daphne { };
@@ -2280,8 +2511,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 { };
@@ -2330,6 +2559,8 @@ in {
 
   filetype = callPackage ../development/python-modules/filetype { };
 
+  flammkuchen = callPackage ../development/python-modules/flammkuchen { };
+
   flexmock = callPackage ../development/python-modules/flexmock { };
 
   flit = callPackage ../development/python-modules/flit { };
@@ -2364,6 +2595,12 @@ in {
 
   fx2 = callPackage ../development/python-modules/fx2 { };
 
+  # gaia isn't supported with python3 and it's not available from pypi
+  gaia = disabledIf (isPyPy || isPy3k) (toPythonModule (pkgs.gaia.override {
+    pythonPackages = self;
+    pythonSupport = true;
+  }));
+
   gateone = callPackage ../development/python-modules/gateone { };
 
   GeoIP = callPackage ../development/python-modules/GeoIP { };
@@ -2382,6 +2619,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 { };
@@ -2394,9 +2633,6 @@ in {
 
   python-gitlab = callPackage ../development/python-modules/python-gitlab { };
 
-  google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { };
-  google-cloud-sdk-gce = callPackage ../tools/admin/google-cloud-sdk { with-gce=true; };
-
   google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };
 
   google-music = callPackage ../development/python-modules/google-music { };
@@ -2415,7 +2651,7 @@ in {
   grip = callPackage ../development/python-modules/grip { };
 
   gst-python = callPackage ../development/python-modules/gst-python {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
     gst-plugins-base = pkgs.gst_all_1.gst-plugins-base;
   };
 
@@ -2429,6 +2665,8 @@ in {
   then callPackage ../development/python-modules/gurobipy/linux.nix {}
   else throw "gurobipy not yet supported on ${stdenv.hostPlatform.system}";
 
+  hass-nabucasa = callPackage ../development/python-modules/hass-nabucasa { };
+
   hbmqtt = callPackage ../development/python-modules/hbmqtt { };
 
   hiro = callPackage ../development/python-modules/hiro {};
@@ -2445,10 +2683,14 @@ in {
 
   hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
 
+  hstspreload = callPackage ../development/python-modules/hstspreload { };
+
   htmlmin = callPackage ../development/python-modules/htmlmin {};
 
   httpauth = callPackage ../development/python-modules/httpauth { };
 
+  httpx = callPackage ../development/python-modules/httpx { };
+
   idna-ssl = callPackage ../development/python-modules/idna-ssl { };
 
   identify = callPackage ../development/python-modules/identify { };
@@ -2485,6 +2727,8 @@ in {
 
   iniparse = callPackage ../development/python-modules/iniparse { };
 
+  intreehooks = callPackage ../development/python-modules/intreehooks { };
+
   i3-py = callPackage ../development/python-modules/i3-py { };
 
   JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi {};
@@ -2523,9 +2767,22 @@ in {
 
   latexcodec = callPackage ../development/python-modules/latexcodec {};
 
-  libsexy = callPackage ../development/python-modules/libsexy {
-    inherit (pkgs) libsexy pkgconfig;
-  };
+  libselinux = pipe pkgs.libselinux [
+    toPythonModule
+
+    (p: p.overrideAttrs (super: {
+      meta = super.meta // {
+        outputsToInstall = [ "py" ];
+      };
+    }))
+
+    (p: p.override {
+      enablePython = true;
+      inherit python;
+    })
+
+    (p: p.py)
+  ];
 
   libsoundtouch = callPackage ../development/python-modules/libsoundtouch { };
 
@@ -2539,6 +2796,8 @@ in {
 
   lightning = callPackage ../development/python-modules/lightning { };
 
+  lightparam = callPackage ../development/python-modules/lightparam { };
+
   jupyter = callPackage ../development/python-modules/jupyter { };
 
   jupyter_console = if pythonOlder "3.5" then
@@ -2572,6 +2831,8 @@ in {
 
   python-mapnik = callPackage ../development/python-modules/python-mapnik { };
 
+  measurement = callPackage ../development/python-modules/measurement {};
+
   midiutil = callPackage ../development/python-modules/midiutil {};
 
   misaka = callPackage ../development/python-modules/misaka {};
@@ -2586,6 +2847,8 @@ in {
 
   mwlib-rl = callPackage ../development/python-modules/mwlib-rl { };
 
+  myfitnesspal = callPackage ../development/python-modules/myfitnesspal { };
+
   natsort = callPackage ../development/python-modules/natsort { };
 
   naturalsort = callPackage ../development/python-modules/naturalsort { };
@@ -2615,6 +2878,10 @@ in {
 
   oset = callPackage ../development/python-modules/oset { };
 
+  oscrypto = callPackage ../development/python-modules/oscrypto { };
+
+  oyaml = callPackage ../development/python-modules/oyaml { };
+
   pamela = callPackage ../development/python-modules/pamela { };
 
   paperspace = callPackage ../development/python-modules/paperspace { };
@@ -2721,9 +2988,11 @@ in {
   python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { };
 
   pythonix = callPackage ../development/python-modules/pythonix {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
+  python-lzf = callPackage ../development/python-modules/python-lzf { };
+
   pyramid = callPackage ../development/python-modules/pyramid { };
 
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
@@ -2750,6 +3019,10 @@ in {
 
   python-ctags3 = callPackage ../development/python-modules/python-ctags3 { };
 
+  python-lzo = callPackage ../development/python-modules/python-lzo {
+    inherit (pkgs) lzo;
+  };
+
   junos-eznc = callPackage ../development/python-modules/junos-eznc {};
 
   raven = callPackage ../development/python-modules/raven { };
@@ -2894,10 +3167,14 @@ in {
 
   django_appconf = callPackage ../development/python-modules/django_appconf { };
 
+  django-auth-ldap = callPackage ../development/python-modules/django-auth-ldap { };
+
   django_colorful = callPackage ../development/python-modules/django_colorful { };
 
   django-cache-url = callPackage ../development/python-modules/django-cache-url { };
 
+  django-cleanup = callPackage ../development/python-modules/django-cleanup { };
+
   django-configurations = callPackage ../development/python-modules/django-configurations { };
 
   django_compressor = callPackage ../development/python-modules/django_compressor { };
@@ -2912,12 +3189,16 @@ in {
 
   django-discover-runner = callPackage ../development/python-modules/django-discover-runner { };
 
+  django-dynamic-preferences = callPackage ../development/python-modules/django-dynamic-preferences { };
+
   django_environ = callPackage ../development/python-modules/django_environ { };
 
   django_evolution = callPackage ../development/python-modules/django_evolution { };
 
   django_extensions = callPackage ../development/python-modules/django-extensions { };
 
+  django-filter = callPackage ../development/python-modules/django-filter { };
+
   django-gravatar2 = callPackage ../development/python-modules/django-gravatar2 { };
 
   django_guardian = callPackage ../development/python-modules/django_guardian { };
@@ -2930,20 +3211,32 @@ in {
 
   django-mailman3 = callPackage ../development/python-modules/django-mailman3 { };
 
+  django-oauth-toolkit = callPackage ../development/python-modules/django-oauth-toolkit { };
+
   django-pglocks = callPackage ../development/python-modules/django-pglocks { };
 
   django-picklefield = callPackage ../development/python-modules/django-picklefield { };
 
   django_polymorphic = callPackage ../development/python-modules/django-polymorphic { };
 
+  django-postgresql-netfields = callPackage ../development/python-modules/django-postgresql-netfields { };
+
+  django-ranged-response = callPackage ../development/python-modules/django-ranged-response { };
+
   django-rest-auth = callPackage ../development/python-modules/django-rest-auth { };
 
   django-sampledatahelper = callPackage ../development/python-modules/django-sampledatahelper { };
 
+  django-simple-captcha = callPackage ../development/python-modules/django-simple-captcha { };
+
   django-sites = callPackage ../development/python-modules/django-sites { };
 
   django-sr = callPackage ../development/python-modules/django-sr { };
 
+  django-storages = callPackage ../development/python-modules/django-storages { };
+
+  django-versatileimagefield = callPackage ../development/python-modules/django-versatileimagefield  { };
+
   django-webpack-loader = callPackage ../development/python-modules/django-webpack-loader { };
 
   django_tagging = callPackage ../development/python-modules/django_tagging { };
@@ -3087,6 +3380,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 { };
@@ -3095,6 +3392,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 { };
@@ -3107,6 +3408,8 @@ in {
 
   flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
+  flask-httpauth = callPackage ../development/python-modules/flask-httpauth { };
+
   flask-jwt-extended = callPackage ../development/python-modules/flask-jwt-extended { };
 
   flask-limiter = callPackage ../development/python-modules/flask-limiter { };
@@ -3121,6 +3424,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 { };
@@ -3141,14 +3448,18 @@ in {
 
   flask-swagger = callPackage ../development/python-modules/flask-swagger { };
 
+  flask-swagger-ui = callPackage ../development/python-modules/flask-swagger-ui { };
+
   flask_testing = callPackage ../development/python-modules/flask-testing { };
 
   flask_wtf = callPackage ../development/python-modules/flask-wtf { };
 
   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;
+    inherit (pkgs) pkg-config;
   };
 
   grappelli_safe = callPackage ../development/python-modules/grappelli_safe { };
@@ -3163,7 +3474,10 @@ in {
 
   pyro-ppl = callPackage ../development/python-modules/pyro-ppl {};
 
-  opt-einsum = callPackage ../development/python-modules/opt-einsum {};
+  opt-einsum = if isPy27 then
+      callPackage ../development/python-modules/opt-einsum/2.nix {}
+    else
+      callPackage ../development/python-modules/opt-einsum {};
 
   pytorchWithCuda = self.pytorch.override {
     cudaSupport = true;
@@ -3173,6 +3487,8 @@ in {
     cudaSupport = false;
   };
 
+  pythondialog = callPackage ../development/python-modules/pythondialog { };
+
   python2-pythondialog = callPackage ../development/python-modules/python2-pythondialog { };
 
   pyRFC3339 = callPackage ../development/python-modules/pyrfc3339 { };
@@ -3267,7 +3583,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 {
@@ -3403,6 +3719,8 @@ in {
 
   hetzner = callPackage ../development/python-modules/hetzner { };
 
+  hiredis = callPackage ../development/python-modules/hiredis { };
+
   homeassistant-pyozw = callPackage ../development/python-modules/homeassistant-pyozw { };
 
   htmllaundry = callPackage ../development/python-modules/htmllaundry { };
@@ -3437,6 +3755,8 @@ in {
 
   icalendar = callPackage ../development/python-modules/icalendar { };
 
+  ics = callPackage ../development/python-modules/ics { };
+
   ifaddr = callPackage ../development/python-modules/ifaddr { };
 
   imageio = callPackage ../development/python-modules/imageio { };
@@ -3468,8 +3788,10 @@ in {
 
   ipyparallel = callPackage ../development/python-modules/ipyparallel { };
 
-  ipython = if pythonOlder "3.5" then
+  ipython = if isPy27 then
       callPackage ../development/python-modules/ipython/5.nix { }
+    else if isPy35 then
+      callPackage ../development/python-modules/ipython/7.9.nix { }
     else
       callPackage ../development/python-modules/ipython { };
 
@@ -3543,7 +3865,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; };
 
@@ -3633,10 +3958,9 @@ in {
   libplist = disabledIf isPy3k
     (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py;
 
-  libxml2 = toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py;
+  libxml2 = (toPythonModule (pkgs.libxml2.override{pythonSupport=true; inherit python;})).py;
 
-  libxslt = disabledIf isPy3k
-    (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
+  libxslt = (toPythonModule (pkgs.libxslt.override{pythonSupport=true; inherit python; inherit (self) libxml2;})).py;
 
   limits = callPackage ../development/python-modules/limits { };
 
@@ -3664,7 +3988,7 @@ in {
 
   logilab-constraint = callPackage ../development/python-modules/logilab/constraint.nix {};
 
-  lxml = callPackage ../development/python-modules/lxml {inherit (pkgs) libxml2 libxslt;};
+  lxml = callPackage ../development/python-modules/lxml {inherit (pkgs) libxml2 libxslt zlib;};
 
   lxc = callPackage ../development/python-modules/lxc { };
 
@@ -3672,6 +3996,8 @@ in {
 
   python_magic = callPackage ../development/python-modules/python-magic { };
 
+  m3u8 = callPackage ../development/python-modules/m3u8 { };
+
   magic = callPackage ../development/python-modules/magic { };
 
   m2crypto = callPackage ../development/python-modules/m2crypto { };
@@ -3710,6 +4036,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 { };
@@ -3735,7 +4063,10 @@ in {
 
   matrix-client = callPackage ../development/python-modules/matrix-client { };
 
-  mautrix-appservice = callPackage ../development/python-modules/mautrix-appservice { };
+  matrix-nio = callPackage ../development/python-modules/matrix-nio { };
+
+  mautrix = callPackage ../development/python-modules/mautrix { };
+  mautrix-appservice = self.mautrix; # alias 2019-12-28
 
   maya = callPackage ../development/python-modules/maya { };
 
@@ -3755,6 +4086,18 @@ in {
 
   memory_profiler = callPackage ../development/python-modules/memory_profiler { };
 
+  mesa = callPackage ../development/python-modules/mesa { };
+
+  meson = disabledIf (pythonOlder "3.5") (toPythonModule ((pkgs.meson.override {
+    python3Packages = self;
+  }).overrideAttrs(oldAttrs: {
+     # We do not want the setup hook in Python packages
+     # because the build is performed differently.
+    setupHook = null;
+  })));
+
+  mesonpep517 = callPackage ../development/python-modules/mesonpep517 { };
+
   metaphone = callPackage ../development/python-modules/metaphone { };
 
   mezzanine = callPackage ../development/python-modules/mezzanine { };
@@ -3807,6 +4150,8 @@ in {
 
   moderngl = callPackage ../development/python-modules/moderngl { };
 
+  moderngl-window = callPackage ../development/python-modules/moderngl_window { };
+
   modestmaps = callPackage ../development/python-modules/modestmaps { };
 
   # Needed here because moinmoin is loaded as a Python library.
@@ -3834,13 +4179,6 @@ in {
 
   msgpack-numpy = callPackage ../development/python-modules/msgpack-numpy {};
 
-  msgpack-python = self.msgpack.overridePythonAttrs {
-    pname = "msgpack-python";
-    postPatch = ''
-      substituteInPlace setup.py --replace "TRANSITIONAL = False" "TRANSITIONAL = True"
-    '';
-  };
-
   msrplib = callPackage ../development/python-modules/msrplib { };
 
   multipledispatch = callPackage ../development/python-modules/multipledispatch { };
@@ -3863,12 +4201,14 @@ in {
 
   mypy = callPackage ../development/python-modules/mypy { };
 
-  mypy_extensions = callPackage ../development/python-modules/mypy/extensions.nix { };
+  mypy-extensions = callPackage ../development/python-modules/mypy/extensions.nix { };
 
   mypy-protobuf = callPackage ../development/python-modules/mypy-protobuf { };
 
   neuronpy = callPackage ../development/python-modules/neuronpy { };
 
+  persisting-theory = callPackage ../development/python-modules/persisting-theory { };
+
   pint = callPackage ../development/python-modules/pint { };
 
   pygal = callPackage ../development/python-modules/pygal { };
@@ -3891,6 +4231,8 @@ in {
 
   pymysqlsa = callPackage ../development/python-modules/pymysqlsa { };
 
+  merkletools = callPackage ../development/python-modules/merkletools { };
+
   monosat = disabledIf (!isPy3k) (pkgs.monosat.python { inherit buildPythonPackage; inherit (self) cython; });
 
   monotonic = callPackage ../development/python-modules/monotonic { };
@@ -3903,12 +4245,16 @@ in {
 
   nameparser = callPackage ../development/python-modules/nameparser { };
 
+  names = callPackage ../development/python-modules/names { };
+
   nbconvert = callPackage ../development/python-modules/nbconvert { };
 
   nbformat = callPackage ../development/python-modules/nbformat { };
 
   nbmerge = callPackage ../development/python-modules/nbmerge { };
 
+  nbdime = callPackage ../development/python-modules/nbdime { };
+
   nbxmpp = callPackage ../development/python-modules/nbxmpp { };
 
   sleekxmpp = callPackage ../development/python-modules/sleekxmpp { };
@@ -3927,6 +4273,8 @@ in {
 
   nibabel = callPackage ../development/python-modules/nibabel {};
 
+  nidaqmx = callPackage ../development/python-modules/nidaqmx { };
+
   nilearn = callPackage ../development/python-modules/nilearn {};
 
   nimfa = callPackage ../development/python-modules/nimfa {};
@@ -3969,7 +4317,10 @@ in {
 
   nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
 
-  notebook = callPackage ../development/python-modules/notebook { };
+  notebook = if isPy3k then callPackage ../development/python-modules/notebook { }
+  else callPackage ../development/python-modules/notebook/2.nix { };
+
+  notedown = callPackage ../development/python-modules/notedown { };
 
   notify = callPackage ../development/python-modules/notify { };
 
@@ -3985,7 +4336,9 @@ in {
 
   numba = callPackage ../development/python-modules/numba { };
 
-  numcodecs = callPackage ../development/python-modules/numcodecs { };
+  numcodecs = callPackage ../development/python-modules/numcodecs {
+    inherit (pkgs) gcc8;
+  };
 
   numexpr = callPackage ../development/python-modules/numexpr { };
 
@@ -4038,7 +4391,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 { };
 
@@ -4048,6 +4404,8 @@ in {
 
   orderedset = callPackage ../development/python-modules/orderedset { };
 
+  python-multipart = callPackage ../development/python-modules/python-multipart { };
+
   python-otr = callPackage ../development/python-modules/python-otr { };
 
   plone-testing = callPackage ../development/python-modules/plone-testing { };
@@ -4062,7 +4420,19 @@ in {
 
   rfc3986 = callPackage ../development/python-modules/rfc3986 { };
 
-  cachetools = callPackage ../development/python-modules/cachetools {};
+  cachetools = let
+    cachetools' = callPackage ../development/python-modules/cachetools {};
+    cachetools_2 = cachetools'.overridePythonAttrs(oldAttrs: rec {
+      version = "3.1.1";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "16m69l6n6y1r1y7cklm92rr7v69ldig2n3lbl3j323w5jz7d78lf";
+      };
+
+    });
+  in if isPy3k then cachetools' else cachetools_2;
+
+  cma = callPackage ../development/python-modules/cma { };
 
   cmd2 = callPackage ../development/python-modules/cmd2 {};
 
@@ -4096,8 +4466,12 @@ in {
 
   fasteners = callPackage ../development/python-modules/fasteners { };
 
+  aiocontextvars = callPackage ../development/python-modules/aiocontextvars { };
+
   aioeventlet = callPackage ../development/python-modules/aioeventlet { };
 
+  aiokafka = callPackage ../development/python-modules/aiokafka { };
+
   olefile = callPackage ../development/python-modules/olefile { };
 
   requests-mock = callPackage ../development/python-modules/requests-mock { };
@@ -4194,6 +4568,8 @@ in {
 
   periodictable = callPackage ../development/python-modules/periodictable { };
 
+  pgcli = callPackage ../development/tools/database/pgcli {};
+
   pg8000 = callPackage ../development/python-modules/pg8000 { };
   pg8000_1_12 = callPackage ../development/python-modules/pg8000/1_12.nix { };
 
@@ -4230,15 +4606,22 @@ in {
 
   kmapper = callPackage ../development/python-modules/kmapper { };
 
-  kmsxx = (callPackage ../development/libraries/kmsxx {
+  kmsxx = toPythonModule ((callPackage ../development/libraries/kmsxx {
     inherit (pkgs.kmsxx) stdenv;
     inherit (pkgs) pkgconfig;
+    withPython = true;
   }).overrideAttrs (oldAttrs: {
     name = "${python.libPrefix}-${pkgs.kmsxx.name}";
-  });
+  }));
 
   precis-i18n = callPackage ../development/python-modules/precis-i18n { };
 
+  prox-tv = callPackage ../development/python-modules/prox-tv {
+    # We need to use blas instead of openblas on darwin,
+    # see https://github.com/NixOS/nixpkgs/pull/45013.
+    useOpenblas = ! stdenv.isDarwin;
+  };
+
   pvlib = callPackage ../development/python-modules/pvlib { };
 
   pybase64 = callPackage ../development/python-modules/pybase64 { };
@@ -4284,7 +4667,10 @@ in {
 
   ppft = callPackage ../development/python-modules/ppft { };
 
-  praw = callPackage ../development/python-modules/praw { };
+  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 { };
 
@@ -4344,6 +4730,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 { };
@@ -4354,8 +4742,14 @@ 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 { };
+
+  py2bit = callPackage ../development/python-modules/py2bit { };
+
   pyblock = callPackage ../development/python-modules/pyblock { };
 
   pyblosxom = callPackage ../development/python-modules/pyblosxom { };
@@ -4421,6 +4815,8 @@ in {
   pylint = if isPy3k then callPackage ../development/python-modules/pylint { }
            else callPackage ../development/python-modules/pylint/1.9.nix { };
 
+  pylint-plugin-utils = callPackage ../development/python-modules/pylint-plugin-utils { };
+
   pyomo = callPackage ../development/python-modules/pyomo { };
 
   pyopencl = callPackage ../development/python-modules/pyopencl { };
@@ -4431,6 +4827,8 @@ in {
 
   pyqrcode = callPackage ../development/python-modules/pyqrcode { };
 
+  pyrabbit2 = callPackage ../development/python-modules/pyrabbit2 { };
+
   pyrr = callPackage ../development/python-modules/pyrr { };
 
   pysha3 = callPackage ../development/python-modules/pysha3 { };
@@ -4469,6 +4867,8 @@ in {
 
   pykickstart = callPackage ../development/python-modules/pykickstart { };
 
+  pymemoize = callPackage ../development/python-modules/pymemoize { };
+
   pyobjc = if stdenv.isDarwin
     then callPackage ../development/python-modules/pyobjc {}
     else throw "pyobjc can only be built on Mac OS";
@@ -4561,6 +4961,8 @@ in {
 
   pyhocon = callPackage ../development/python-modules/pyhocon { };
 
+  pyjson5 = callPackage ../development/python-modules/pyjson5 {};
+
   pymaging = callPackage ../development/python-modules/pymaging { };
 
   pymaging_png = callPackage ../development/python-modules/pymaging_png { };
@@ -4583,6 +4985,8 @@ in {
 
   pyserial = callPackage ../development/python-modules/pyserial {};
 
+  pyserial-asyncio = callPackage ../development/python-modules/pyserial-asyncio { };
+
   pysonos = callPackage ../development/python-modules/pysonos {};
 
   pymongo = callPackage ../development/python-modules/pymongo {};
@@ -4619,11 +5023,18 @@ in {
 
   pywal = callPackage ../development/python-modules/pywal { };
 
-  pywebkitgtk = callPackage ../development/python-modules/pywebkitgtk { };
-
   pywinrm = callPackage ../development/python-modules/pywinrm { };
 
-  pyxattr = callPackage ../development/python-modules/pyxattr { };
+  pyxattr = let
+    pyxattr' = callPackage ../development/python-modules/pyxattr { };
+    pyxattr_2 = pyxattr'.overridePythonAttrs(oldAttrs: rec {
+      version = "0.6.1";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "b525843f6b51036198b3b87c4773a5093d6dec57d60c18a1f269dd7059aa16e3";
+      };
+    });
+  in if isPy3k then pyxattr' else pyxattr_2;
 
   pyamg = callPackage ../development/python-modules/pyamg { };
 
@@ -4685,6 +5096,10 @@ in {
 
   qdarkstyle = callPackage ../development/python-modules/qdarkstyle { };
 
+  qds_sdk = callPackage ../development/python-modules/qds_sdk { };
+
+  qimage2ndarray = callPackage ../development/python-modules/qimage2ndarray { };
+
   quamash = callPackage ../development/python-modules/quamash { };
 
   quandl = callPackage ../development/python-modules/quandl { };
@@ -4724,6 +5139,8 @@ in {
 
   repocheck = callPackage ../development/python-modules/repocheck { };
 
+  restrictedpython = callPackage ../development/python-modules/restrictedpython { };
+
   restview = callPackage ../development/python-modules/restview { };
 
   readme = callPackage ../development/python-modules/readme { };
@@ -4744,7 +5161,11 @@ in {
 
   geoalchemy2 = callPackage ../development/python-modules/geoalchemy2 { };
 
-  geopy = callPackage ../development/python-modules/geopy { };
+  geographiclib = callPackage ../development/python-modules/geographiclib { };
+
+  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 { };
 
@@ -4758,6 +5179,10 @@ in {
 
   readthedocs-sphinx-ext = callPackage ../development/python-modules/readthedocs-sphinx-ext { };
 
+  requests-http-signature = callPackage ../development/python-modules/requests-http-signature { };
+
+  requirements-detector = callPackage ../development/python-modules/requirements-detector { };
+
   resampy = callPackage ../development/python-modules/resampy { };
 
   restructuredtext_lint = callPackage ../development/python-modules/restructuredtext_lint { };
@@ -4790,10 +5215,6 @@ in {
 
   Pyro4 = callPackage ../development/python-modules/pyro4 { };
 
-  root_numpy = callPackage ../development/python-modules/root_numpy { };
-
-  rootpy = callPackage ../development/python-modules/rootpy { };
-
   rope = callPackage ../development/python-modules/rope { };
 
   ropper = callPackage ../development/python-modules/ropper { };
@@ -4806,7 +5227,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 {};
 
@@ -4820,6 +5243,8 @@ in {
 
   typesentry = callPackage ../development/python-modules/typesentry { };
 
+  typesystem = callPackage ../development/python-modules/typesystem { };
+
   s3transfer = callPackage ../development/python-modules/s3transfer { };
 
   seqdiag = callPackage ../development/python-modules/seqdiag { };
@@ -4886,6 +5311,8 @@ in {
 
   shippai = callPackage ../development/python-modules/shippai {};
 
+  shutilwhich = callPackage ../development/python-modules/shutilwhich { };
+
   simanneal = callPackage ../development/python-modules/simanneal { };
 
   simplegeneric = callPackage ../development/python-modules/simplegeneric { };
@@ -4904,8 +5331,14 @@ in {
 
   slimit = callPackage ../development/python-modules/slimit { };
 
+  snowflake-connector-python = callPackage ../development/python-modules/snowflake-connector-python { };
+
+  snowflake-sqlalchemy = callPackage ../development/python-modules/snowflake-sqlalchemy { };
+
   snowballstemmer = callPackage ../development/python-modules/snowballstemmer { };
 
+  snitun = callPackage ../development/python-modules/snitun { };
+
   snscrape = callPackage ../development/python-modules/snscrape { };
 
   snug = callPackage ../development/python-modules/snug { };
@@ -4922,9 +5355,13 @@ in {
 
   spark_parser = callPackage ../development/python-modules/spark_parser { };
 
-  sphinx = callPackage ../development/python-modules/sphinx { };
+  sphinx = if isPy3k then
+    callPackage ../development/python-modules/sphinx { }
+  else
+    callPackage ../development/python-modules/sphinx/2.nix { };
 
-  sphinx_1_7_9 = (callPackage ../development/python-modules/sphinx { })
+  # Only exists for a Haskell package.
+  sphinx_1_7_9 = (callPackage ../development/python-modules/sphinx/2.nix { })
     .overridePythonAttrs (oldAttrs: rec {
       version = "1.7.9";
       src = oldAttrs.src.override {
@@ -4945,6 +5382,18 @@ in {
 
   sphinx-testing = callPackage ../development/python-modules/sphinx-testing { };
 
+  sphinxcontrib-applehelp = callPackage ../development/python-modules/sphinxcontrib-applehelp {};
+
+  sphinxcontrib-devhelp = callPackage ../development/python-modules/sphinxcontrib-devhelp {};
+
+  sphinxcontrib-htmlhelp = callPackage ../development/python-modules/sphinxcontrib-htmlhelp {};
+
+  sphinxcontrib-jsmath = callPackage ../development/python-modules/sphinxcontrib-jsmath {};
+
+  sphinxcontrib-qthelp = callPackage ../development/python-modules/sphinxcontrib-qthelp {};
+
+  sphinxcontrib-serializinghtml = callPackage ../development/python-modules/sphinxcontrib-serializinghtml {};
+
   sphinxcontrib-bibtex = callPackage ../development/python-modules/sphinxcontrib-bibtex {};
 
   sphinx-navtree = callPackage ../development/python-modules/sphinx-navtree {};
@@ -4957,6 +5406,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 { };
@@ -4973,6 +5424,8 @@ in {
 
   structlog = callPackage ../development/python-modules/structlog { };
 
+  stytra = callPackage ../development/python-modules/stytra { };
+
   sybil = callPackage ../development/python-modules/sybil { };
 
   # legacy alias
@@ -4986,6 +5439,12 @@ in {
 
   tadasets = callPackage ../development/python-modules/tadasets { };
 
+  tasklib = callPackage ../development/python-modules/tasklib { };
+
+  tatsu = callPackage ../development/python-modules/tatsu { };
+
+  tbm-utils = callPackage ../development/python-modules/tbm-utils { };
+
   tempita = callPackage ../development/python-modules/tempita { };
 
   terminado = callPackage ../development/python-modules/terminado { };
@@ -5004,8 +5463,18 @@ in {
 
   texttable = callPackage ../development/python-modules/texttable { };
 
+  textwrap3 =  callPackage ../development/python-modules/textwrap3 { };
+
+  tiledb = callPackage ../development/python-modules/tiledb {
+    inherit (pkgs) tiledb;
+  };
+
+  timezonefinder = callPackage ../development/python-modules/timezonefinder { };
+
   tiros = callPackage ../development/python-modules/tiros { };
 
+  tinydb = callPackage ../development/python-modules/tinydb { };
+
   tifffile = callPackage ../development/python-modules/tifffile { };
 
   tmdb3 = callPackage ../development/python-modules/tmdb3 { };
@@ -5042,6 +5511,10 @@ in {
 
   uarray = callPackage ../development/python-modules/uarray { };
 
+  ueberzug = callPackage ../development/python-modules/ueberzug {
+    inherit (pkgs.xorg) libX11 libXext;
+  };
+
   ukpostcodeparser = callPackage ../development/python-modules/ukpostcodeparser { };
 
   umap-learn = callPackage ../development/python-modules/umap-learn { };
@@ -5082,6 +5555,10 @@ 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 { };
 
   webassets = callPackage ../development/python-modules/webassets { };
@@ -5132,6 +5609,11 @@ in {
 
   xapian = callPackage ../development/python-modules/xapian { xapian = pkgs.xapian; };
 
+  xapp = callPackage ../development/python-modules/xapp {
+    inherit (pkgs) gtk3 gobject-introspection polkit;
+    inherit (pkgs.cinnamon) xapps;
+  };
+
   xlwt = callPackage ../development/python-modules/xlwt { };
 
   xxhash = callPackage ../development/python-modules/xxhash { };
@@ -5179,6 +5661,8 @@ in {
 
   ruamel_yaml = callPackage ../development/python-modules/ruamel_yaml { };
 
+  ruamel_yaml_clib = callPackage ../development/python-modules/ruamel_yaml_clib { };
+
   ruffus = callPackage ../development/python-modules/ruffus { };
 
   runsnakerun = callPackage ../development/python-modules/runsnakerun { };
@@ -5296,6 +5780,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 { };
@@ -5344,6 +5830,10 @@ in {
 
   sphinxcontrib-spelling = callPackage ../development/python-modules/sphinxcontrib-spelling { };
 
+  sphinxcontrib-tikz = callPackage ../development/python-modules/sphinxcontrib-tikz {
+    texLive = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-small standalone pgfplots; };
+  };
+
   sphinx_pypi_upload = callPackage ../development/python-modules/sphinx_pypi_upload { };
 
   Pweave = callPackage ../development/python-modules/pweave { };
@@ -5420,10 +5910,14 @@ in {
 
   twitter-common-options = callPackage ../development/python-modules/twitter-common-options { };
 
+  python-twitter = callPackage ../development/python-modules/python-twitter { };
+
   umalqurra = callPackage ../development/python-modules/umalqurra { };
 
   unicodecsv = callPackage ../development/python-modules/unicodecsv { };
 
+  unicode-slugify = callPackage ../development/python-modules/unicode-slugify { };
+
   unidiff = callPackage ../development/python-modules/unidiff { };
 
   units = callPackage ../development/python-modules/units { };
@@ -5484,6 +5978,8 @@ in {
 
   zfec = callPackage ../development/python-modules/zfec { };
 
+  zha-quirks = callPackage ../development/python-modules/zha-quirks { };
+
   zipp = callPackage ../development/python-modules/zipp { };
 
   zope_broken = callPackage ../development/python-modules/zope_broken { };
@@ -5545,6 +6041,8 @@ in {
 
   python-libarchive = callPackage ../development/python-modules/python-libarchive { };
 
+  python-logstash = callPackage ../development/python-modules/python-logstash { };
+
   libarchive-c = callPackage ../development/python-modules/libarchive-c {
     inherit (pkgs) libarchive;
   };
@@ -5659,6 +6157,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 { };
@@ -5709,13 +6209,16 @@ in {
 
   termcolor = callPackage ../development/python-modules/termcolor { };
 
-  html2text = callPackage ../development/python-modules/html2text { };
+  html2text = if isPy3k then callPackage ../development/python-modules/html2text { }
+                        else callPackage ../development/python-modules/html2text/2018.nix { };
 
   pychart = callPackage ../development/python-modules/pychart {};
 
   parsimonious = callPackage ../development/python-modules/parsimonious { };
 
-  networkx = callPackage ../development/python-modules/networkx { };
+  networkx = if isPy3k then callPackage ../development/python-modules/networkx { }
+    else
+      callPackage ../development/python-modules/networkx/2.2.nix { };
 
   ofxclient = callPackage ../development/python-modules/ofxclient {};
 
@@ -5725,8 +6228,12 @@ in {
 
   ofxtools = callPackage ../development/python-modules/ofxtools { };
 
+  orm = callPackage ../development/python-modules/orm { };
+
   basemap = callPackage ../development/python-modules/basemap { };
 
+  dict2xml = callPackage ../development/python-modules/dict2xml { };
+
   dicttoxml = callPackage ../development/python-modules/dicttoxml { };
 
   markdown2 = callPackage ../development/python-modules/markdown2 { };
@@ -5765,6 +6272,8 @@ in {
 
   pyregion = callPackage ../development/python-modules/pyregion {};
 
+  python-nomad = callPackage ../development/python-modules/python-nomad { };
+
   python-u2flib-host = callPackage ../development/python-modules/python-u2flib-host { };
 
   python-xmp-toolkit = callPackage ../development/python-modules/python-xmp-toolkit { };
@@ -5803,6 +6312,8 @@ in {
 
   xlsx2csv = callPackage ../development/python-modules/xlsx2csv { };
 
+  xmodem = callPackage ../development/python-modules/xmodem {};
+
   xmpppy = callPackage ../development/python-modules/xmpppy {};
 
   xstatic = callPackage ../development/python-modules/xstatic {};
@@ -5827,12 +6338,18 @@ in {
     inherit (pkgs) udev libusb1;
   };
 
+  ckcc-protocol = callPackage ../development/python-modules/ckcc-protocol { };
+
   mnemonic = callPackage ../development/python-modules/mnemonic { };
 
   keepkey = callPackage ../development/python-modules/keepkey { };
 
+  keepkey_agent = callPackage ../development/python-modules/keepkey_agent { };
+
   libagent = callPackage ../development/python-modules/libagent { };
 
+  ledger_agent = callPackage ../development/python-modules/ledger_agent { };
+
   ledgerblue = callPackage ../development/python-modules/ledgerblue { };
 
   ecpy = callPackage ../development/python-modules/ecpy { };
@@ -5861,6 +6378,8 @@ in {
 
   pandocfilters = callPackage ../development/python-modules/pandocfilters { };
 
+  pandoc-attributes = callPackage ../development/python-modules/pandoc-attributes { };
+
   htmltreediff = callPackage ../development/python-modules/htmltreediff { };
 
   repeated_test = callPackage ../development/python-modules/repeated_test { };
@@ -5905,9 +6424,10 @@ in {
     cudnn = pkgs.cudnn_cudatoolkit_10;
     nccl = pkgs.nccl_cudatoolkit_10;
     openssl = pkgs.openssl_1_0_2;
+    inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
   };
 
-  tensorflow = if stdenv.isDarwin then self.tensorflow-bin else self.tensorflow-build;
+  tensorflow = self.tensorflow-build;
 
   tensorflowWithoutCuda = self.tensorflow.override {
     cudaSupport = false;
@@ -5965,6 +6485,10 @@ in {
 
   jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };
 
+  javaobj-py3 = callPackage ../development/python-modules/javaobj-py3 { };
+
+  javaproperties = callPackage ../development/python-modules/javaproperties { };
+
   tempora= callPackage ../development/python-modules/tempora { };
 
   hypchat = callPackage ../development/python-modules/hypchat { };
@@ -6008,6 +6532,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 { };
@@ -6018,6 +6544,8 @@ in {
 
   yarl = callPackage ../development/python-modules/yarl { };
 
+  solo-python = disabledIf (! pythonAtLeast "3.6") (callPackage ../development/python-modules/solo-python { });
+
   suseapi = callPackage ../development/python-modules/suseapi { };
 
   typed-ast = callPackage ../development/python-modules/typed-ast { };
@@ -6030,12 +6558,16 @@ in {
 
   twilio = callPackage ../development/python-modules/twilio { };
 
+  twofish = callPackage ../development/python-modules/twofish { };
+
   uranium = callPackage ../development/python-modules/uranium { };
 
   uuid = callPackage ../development/python-modules/uuid { };
 
   versioneer = callPackage ../development/python-modules/versioneer { };
 
+  viewstate = callPackage ../development/python-modules/viewstate { };
+
   vine = callPackage ../development/python-modules/vine { };
 
   visitor = callPackage ../development/python-modules/visitor { };
@@ -6083,6 +6615,8 @@ in {
 
   diskcache = callPackage ../development/python-modules/diskcache { };
 
+  dissononce = callPackage ../development/python-modules/dissononce { };
+
   distro = callPackage ../development/python-modules/distro { };
 
   bz2file =  callPackage ../development/python-modules/bz2file { };
@@ -6123,6 +6657,10 @@ in {
 
   pysensors = callPackage ../development/python-modules/pysensors { };
 
+  python-toolbox = callPackage ../development/python-modules/python-toolbox { };
+
+  pysnooper = callPackage ../development/python-modules/pysnooper { };
+
   sseclient = callPackage ../development/python-modules/sseclient { };
 
   warrant = callPackage ../development/python-modules/warrant { };
@@ -6141,6 +6679,8 @@ in {
 
   pyhamcrest = callPackage ../development/python-modules/pyhamcrest { };
 
+  pyhaversion = callPackage ../development/python-modules/pyhaversion { };
+
   parse = callPackage ../development/python-modules/parse { };
 
   parse-type = callPackage ../development/python-modules/parse-type { };
@@ -6164,6 +6704,8 @@ in {
 
   python-docx = callPackage ../development/python-modules/python-docx { };
 
+  python-doi = callPackage ../development/python-modules/python-doi { };
+
   aiohue = callPackage ../development/python-modules/aiohue { };
 
   PyMVGLive = callPackage ../development/python-modules/pymvglive { };
@@ -6273,11 +6815,20 @@ in {
 
   webrtcvad = callPackage ../development/python-modules/webrtcvad { };
 
+  wfuzz = callPackage ../development/python-modules/wfuzz { };
+
   wget = callPackage ../development/python-modules/wget { };
 
   runway-python = callPackage ../development/python-modules/runway-python { };
 
   pyprof2calltree = callPackage ../development/python-modules/pyprof2calltree { };
+
+  hcloud = callPackage ../development/python-modules/hcloud { };
+
+  managesieve = callPackage ../development/python-modules/managesieve { };
+
+  pony = callPackage ../development/python-modules/pony { };
+
 });
 
 in fix' (extends overrides packages)
diff --git a/nixpkgs/pkgs/top-level/release-cross.nix b/nixpkgs/pkgs/top-level/release-cross.nix
index bc822b466c90..5e392ff1b88e 100644
--- a/nixpkgs/pkgs/top-level/release-cross.nix
+++ b/nixpkgs/pkgs/top-level/release-cross.nix
@@ -135,6 +135,11 @@ in
   /* Linux on the fuloong */
   fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
 
+  /* Javacript */
+  ghcjs = mapTestOnCross lib.systems.examples.ghcjs {
+    haskell.packages.ghcjs.hello = nativePlatforms;
+  };
+
   /* Linux on Raspberrypi */
   rpi = mapTestOnCross lib.systems.examples.raspberryPi rpiCommon;
   rpi-musl = mapTestOnCross lib.systems.examples.muslpi rpiCommon;
@@ -143,9 +148,8 @@ in
 
   x86_64-musl = mapTestOnCross lib.systems.examples.musl64 linuxCommon;
 
-  /* Linux on Aarch64 */
-  android64 = mapTestOnCross lib.systems.examples.aarch64-android-prebuilt (linuxCommon // {
-  });
+  android64 = mapTestOnCross lib.systems.examples.aarch64-android-prebuilt linuxCommon;
+  android32 = mapTestOnCross lib.systems.examples.armv7a-android-prebuilt linuxCommon;
 
   wasi32 = mapTestOnCross lib.systems.examples.wasi32 wasiCommon;
 
diff --git a/nixpkgs/pkgs/top-level/release.nix b/nixpkgs/pkgs/top-level/release.nix
index f832268899d0..7060fea588a5 100644
--- a/nixpkgs/pkgs/top-level/release.nix
+++ b/nixpkgs/pkgs/top-level/release.nix
@@ -46,7 +46,7 @@ let
               jobs.go.x86_64-darwin
               jobs.mariadb.x86_64-darwin
               jobs.nix.x86_64-darwin
-              jobs.nox.x86_64-darwin
+              jobs.nixpkgs-review.x86_64-darwin
               jobs.nix-info.x86_64-darwin
               jobs.nix-info-tested.x86_64-darwin
               jobs.openssh.x86_64-darwin
@@ -60,6 +60,7 @@ let
               jobs.stack.x86_64-darwin
               jobs.stdenv.x86_64-darwin
               jobs.vim.x86_64-darwin
+              jobs.cachix.x86_64-darwin
 
               # UI apps
               # jobs.firefox-unwrapped.x86_64-darwin
@@ -97,14 +98,15 @@ let
               jobs.pandoc.x86_64-linux
               jobs.python.x86_64-linux
               jobs.python3.x86_64-linux
-              # Needed by travis-ci to test PRs
-              jobs.nox.x86_64-linux
+              # Needed by contributors to test PRs (by inclusion of the PR template)
+              jobs.nixpkgs-review.x86_64-linux
               # Needed for support
               jobs.nix-info.x86_64-linux
               jobs.nix-info-tested.x86_64-linux
               # Ensure that X11/GTK are in order.
               jobs.thunderbird.x86_64-linux
               jobs.unar.x86_64-linux
+              jobs.cachix.x86_64-linux
 
               /*
               jobs.tests.cc-wrapper.x86_64-linux
@@ -134,7 +136,7 @@ let
               jobs.stdenv.x86_64-darwin
               jobs.python.x86_64-darwin
               jobs.python3.x86_64-darwin
-              jobs.nox.x86_64-darwin
+              jobs.nixpkgs-review.x86_64-darwin
               jobs.nix-info.x86_64-darwin
               jobs.nix-info-tested.x86_64-darwin
               jobs.git.x86_64-darwin
diff --git a/nixpkgs/pkgs/top-level/ruby-packages.nix b/nixpkgs/pkgs/top-level/ruby-packages.nix
index 2e751242a7c3..1ae91b57f6c1 100644
--- a/nixpkgs/pkgs/top-level/ruby-packages.nix
+++ b/nixpkgs/pkgs/top-level/ruby-packages.nix
@@ -2466,17 +2466,6 @@
     };
     version = "1.8.0";
   };
-  therubyracer = {
-    dependencies = ["libv8" "ref"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g95bzs2axjglyjyj6xvsywqgr80bnzlkw7mddxx1fdrak5wni2q";
-      type = "gem";
-    };
-    version = "0.12.3";
-  };
   thor = {
     groups = ["default"];
     platforms = [];
diff --git a/nixpkgs/pkgs/top-level/stage.nix b/nixpkgs/pkgs/top-level/stage.nix
index 4fe067694dcd..9e07d2bf0614 100644
--- a/nixpkgs/pkgs/top-level/stage.nix
+++ b/nixpkgs/pkgs/top-level/stage.nix
@@ -71,7 +71,7 @@ let
 
   trivialBuilders = self: super:
     import ../build-support/trivial-builders.nix {
-      inherit lib; inherit (self) stdenv stdenvNoCC; inherit (self.xorg) lndir;
+      inherit lib; inherit (self) stdenv stdenvNoCC; inherit (self.pkgsBuildHost.xorg) lndir;
       inherit (self) runtimeShell;
     };
 
diff --git a/nixpkgs/pkgs/top-level/static.nix b/nixpkgs/pkgs/top-level/static.nix
index bc6c3525f77e..40673426136a 100644
--- a/nixpkgs/pkgs/top-level/static.nix
+++ b/nixpkgs/pkgs/top-level/static.nix
@@ -52,6 +52,39 @@ self: super: let
     });
   };
 
+  removeUnknownConfigureFlags = f: with self.lib;
+    remove "--disable-shared"
+    (remove "--enable-static" f);
+
+  ocamlFixPackage = b:
+    b.overrideAttrs (o: {
+      configurePlatforms = [ ];
+      configureFlags = removeUnknownConfigureFlags (o.configureFlags or [ ]);
+      buildInputs = o.buildInputs ++ o.nativeBuildInputs or [ ];
+      propagatedNativeBuildInputs = o.propagatedBuildInputs or [ ];
+    });
+
+  ocamlStaticAdapter = _: super:
+    self.lib.mapAttrs
+      (_: p: if p ? overrideAttrs then ocamlFixPackage p else p)
+      super
+    // {
+      lablgtk = null; # Currently xlibs cause infinite recursion
+      ocaml = ((super.ocaml.override { useX11 = false; }).overrideAttrs (o: {
+        configurePlatforms = [ ];
+        dontUpdateAutotoolsGnuConfigScripts = true;
+      })).overrideDerivation (o: {
+        preConfigure = ''
+          configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
+        '';
+        configureFlags = (removeUnknownConfigureFlags o.configureFlags) ++ [
+          "--no-shared-libs"
+          "-host ${o.stdenv.hostPlatform.config}"
+          "-target ${o.stdenv.targetPlatform.config}"
+        ];
+      });
+    };
+
 in {
   stdenv = foldl (flip id) super.stdenv staticAdapters;
   gcc49Stdenv = foldl (flip id) super.gcc49Stdenv staticAdapters;
@@ -69,6 +102,10 @@ in {
       haskellStaticAdapter;
   };
 
+  nghttp2 = super.nghttp2.override {
+    enableApp = false;
+  };
+
   ncurses = super.ncurses.override {
     enableStatic = true;
   };
@@ -81,6 +118,7 @@ in {
   zlib = super.zlib.override {
     static = true;
     shared = false;
+    splitStaticOutput = false;
 
     # Don’t use new stdenv zlib because
     # it doesn’t like the --disable-shared flag
@@ -95,6 +133,9 @@ in {
   libiberty = super.libiberty.override {
     staticBuild = true;
   };
+  libpfm = super.libpfm.override {
+    enableShared = false;
+  };
   ipmitool = super.ipmitool.override {
     static = true;
   };
@@ -102,6 +143,9 @@ in {
     static = true;
     shared = false;
   };
+  fmt = super.fmt.override {
+    enableShared = false;
+  };
   gifsicle = super.gifsicle.override {
     static = true;
   };
@@ -111,21 +155,51 @@ in {
   optipng = super.optipng.override {
     static = true;
   };
-  openblas = super.openblas.override { enableStatic = true; };
-  openssl = super.openssl.override {
+  openblas = super.openblas.override {
+    enableStatic = true;
+    enableShared = false;
+  };
+  mkl = super.mkl.override { enableStatic = true; };
+  nix = super.nix.override { withAWS = false; };
+  # openssl 1.1 doesn't compile
+  openssl = super.openssl_1_0_2.override {
     static = true;
 
     # Don’t use new stdenv for openssl because it doesn’t like the
     # --disable-shared flag
     stdenv = super.stdenv;
   };
+  arrow-cpp = super.arrow-cpp.override {
+    enableShared = false;
+    python = { pkgs = { python = null; numpy = null; }; };
+  };
   boost = super.boost.override {
     enableStatic = true;
     enableShared = false;
+
+    # Don’t use new stdenv for boost because it doesn’t like the
+    # --disable-shared flag
+    stdenv = super.stdenv;
+  };
+  thrift = super.thrift.override {
+    static = true;
+    twisted = null;
+  };
+  double-conversion = super.double-conversion.override {
+    static = true;
   };
   gmp = super.gmp.override {
     withStatic = true;
   };
+  gflags = super.gflags.override {
+    enableShared = false;
+  };
+  glog = super.glog.override {
+    static = true;
+  };
+  gtest = super.gtest.override {
+    static = true;
+  };
   cdo = super.cdo.override {
     enable_all_static = true;
   };
@@ -144,10 +218,19 @@ in {
     # it doesn’t like the --disable-shared flag
     stdenv = super.stdenv;
   };
+  woff2 = super.woff2.override {
+    static = true;
+  };
+  snappy = super.snappy.override {
+    static = true;
+  };
   lz4 = super.lz4.override {
     enableShared = false;
     enableStatic = true;
   };
+  libressl = super.libressl.override {
+    buildShared = false;
+  };
 
   darwin = super.darwin // {
     libiconv = super.darwin.libiconv.override {
@@ -156,6 +239,27 @@ in {
     };
   };
 
+  kmod = super.kmod.override {
+    withStatic = true;
+  };
+
+  curl = super.curl.override {
+    # a very sad story: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039
+    gssSupport = false;
+  };
+
+  e2fsprogs = super.e2fsprogs.override {
+    shared = false;
+  };
+
+  brotli = super.brotli.override {
+    staticOnly = true;
+  };
+
+  zstd = super.zstd.override {
+    enableShared = false;
+  };
+
   llvmPackages_8 = super.llvmPackages_8 // {
     libraries = super.llvmPackages_8.libraries // rec {
       libcxxabi = super.llvmPackages_8.libraries.libcxxabi.override {
@@ -171,5 +275,9 @@ in {
     };
   };
 
+  ocaml-ng = self.lib.mapAttrs (_: set:
+    if set ? overrideScope' then set.overrideScope' ocamlStaticAdapter else set
+  ) super.ocaml-ng;
+
   python27 = super.python27.override { static = true; };
 }
diff --git a/nixpkgs/pkgs/top-level/wine-packages.nix b/nixpkgs/pkgs/top-level/wine-packages.nix
index 2c47a362c9a1..88ea6a00f8c1 100644
--- a/nixpkgs/pkgs/top-level/wine-packages.nix
+++ b/nixpkgs/pkgs/top-level/wine-packages.nix
@@ -44,6 +44,8 @@ rec {
     gsmSupport = true;
     gphoto2Support = true;
     ldapSupport = true;
+    faudioSupport = true;
+    vkd3dSupport = true;
   };
 
   stable = base.override { wineRelease = "stable"; };